diff --git a/docs/website/CNAME b/docs/CNAME similarity index 100% rename from docs/website/CNAME rename to docs/CNAME diff --git a/docs/website/_config.yml b/docs/_config.yml similarity index 100% rename from docs/website/_config.yml rename to docs/_config.yml diff --git a/docs/website/_site/images/GitHub_Logo.png b/docs/images/GitHub_Logo.png similarity index 100% rename from docs/website/_site/images/GitHub_Logo.png rename to docs/images/GitHub_Logo.png diff --git a/docs/website/_site/images/autokeras_logo.png b/docs/images/autokeras_logo.png similarity index 100% rename from docs/website/_site/images/autokeras_logo.png rename to docs/images/autokeras_logo.png diff --git a/docs/website/_site/images/automl_logos.png b/docs/images/automl_logos.png similarity index 100% rename from docs/website/_site/images/automl_logos.png rename to docs/images/automl_logos.png diff --git a/docs/website/_site/images/bball_favicon.png b/docs/images/bball_favicon.png similarity index 100% rename from docs/website/_site/images/bball_favicon.png rename to docs/images/bball_favicon.png diff --git a/docs/website/_site/images/bet_decisions.png b/docs/images/bet_decisions.png similarity index 100% rename from docs/website/_site/images/bet_decisions.png rename to docs/images/bet_decisions.png diff --git a/docs/website/_site/images/cls_model_accuracy.png b/docs/images/cls_model_accuracy.png similarity index 100% rename from docs/website/_site/images/cls_model_accuracy.png rename to docs/images/cls_model_accuracy.png diff --git a/docs/website/_site/images/custom_model_overview.png b/docs/images/custom_model_overview.png similarity index 100% rename from docs/website/_site/images/custom_model_overview.png rename to docs/images/custom_model_overview.png diff --git a/docs/website/_site/images/custom_model_requirements.png b/docs/images/custom_model_requirements.png similarity index 100% rename from docs/website/_site/images/custom_model_requirements.png rename to docs/images/custom_model_requirements.png diff --git a/docs/website/_site/images/daily_update_data_flow_diagram.png b/docs/images/daily_update_data_flow_diagram.png similarity index 100% rename from docs/website/_site/images/daily_update_data_flow_diagram.png rename to docs/images/daily_update_data_flow_diagram.png diff --git a/docs/website/_site/images/dashboard.png b/docs/images/dashboard.png similarity index 100% rename from docs/website/_site/images/dashboard.png rename to docs/images/dashboard.png diff --git a/docs/website/_site/images/data_engineering_flowchart_1.png b/docs/images/data_engineering_flowchart_1.png similarity index 100% rename from docs/website/_site/images/data_engineering_flowchart_1.png rename to docs/images/data_engineering_flowchart_1.png diff --git a/docs/website/_site/images/data_engineering_flowchart_2.png b/docs/images/data_engineering_flowchart_2.png similarity index 100% rename from docs/website/_site/images/data_engineering_flowchart_2.png rename to docs/images/data_engineering_flowchart_2.png diff --git a/docs/website/_site/images/github-mark.png b/docs/images/github-mark.png similarity index 100% rename from docs/website/_site/images/github-mark.png rename to docs/images/github-mark.png diff --git a/docs/website/_site/images/nba_header.png b/docs/images/nba_header.png similarity index 100% rename from docs/website/_site/images/nba_header.png rename to docs/images/nba_header.png diff --git a/docs/website/_site/images/vegas_miss_abs.png b/docs/images/vegas_miss_abs.png similarity index 100% rename from docs/website/_site/images/vegas_miss_abs.png rename to docs/images/vegas_miss_abs.png diff --git a/docs/website/_site/images/vegas_miss_by_week.png b/docs/images/vegas_miss_by_week.png similarity index 100% rename from docs/website/_site/images/vegas_miss_by_week.png rename to docs/images/vegas_miss_by_week.png diff --git a/docs/website/_site/images/vegas_miss_statistics.png b/docs/images/vegas_miss_statistics.png similarity index 100% rename from docs/website/_site/images/vegas_miss_statistics.png rename to docs/images/vegas_miss_statistics.png diff --git a/docs/website/_site/images/web_app.png b/docs/images/web_app.png similarity index 100% rename from docs/website/_site/images/web_app.png rename to docs/images/web_app.png diff --git a/docs/website/_site/index.html b/docs/index.html similarity index 100% rename from docs/website/_site/index.html rename to docs/index.html diff --git a/docs/website/_site/style.css b/docs/style.css similarity index 100% rename from docs/website/_site/style.css rename to docs/style.css diff --git a/docs/website/.bundle/config b/docs/website/.bundle/config deleted file mode 100644 index 2369228..0000000 --- a/docs/website/.bundle/config +++ /dev/null @@ -1,2 +0,0 @@ ---- -BUNDLE_PATH: "vendor/bundle" diff --git a/docs/website/Gemfile b/docs/website/Gemfile deleted file mode 100644 index d74d7c0..0000000 --- a/docs/website/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' -gem 'github-pages', group: :jekyll_plugins -gem 'webrick', '~> 1.7' diff --git a/docs/website/Gemfile.lock b/docs/website/Gemfile.lock deleted file mode 100644 index 025e7af..0000000 --- a/docs/website/Gemfile.lock +++ /dev/null @@ -1,272 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (7.1.1) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.5) - public_suffix (>= 2.0.2, < 6.0) - base64 (0.1.1) - bigdecimal (3.1.4) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) - colorator (1.1.0) - commonmarker (0.23.10) - concurrent-ruby (1.2.2) - connection_pool (2.4.1) - dnsruby (1.70.0) - simpleidn (~> 0.2.1) - drb (2.1.1) - ruby2_keywords - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - ethon (0.16.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - execjs (2.9.1) - faraday (2.7.11) - base64 - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - ffi (1.16.3) - forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (228) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.3) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.4.0) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.15.1) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) - jekyll-include-cache (= 0.2.1) - jekyll-mentions (= 1.6.0) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.16.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.3) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.8.0) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.2.0) - jekyll-theme-cayman (= 0.2.0) - jekyll-theme-dinky (= 0.2.0) - jekyll-theme-hacker (= 0.2.0) - jekyll-theme-leap-day (= 0.2.0) - jekyll-theme-merlot (= 0.2.0) - jekyll-theme-midnight (= 0.2.0) - jekyll-theme-minimal (= 0.2.0) - jekyll-theme-modernist (= 0.2.0) - jekyll-theme-primer (= 0.6.0) - jekyll-theme-slate (= 0.2.0) - jekyll-theme-tactile (= 0.2.0) - jekyll-theme-time-machine (= 0.2.0) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.12.0) - kramdown (= 2.3.2) - kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.4) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) - rouge (= 3.26.0) - terminal-table (~> 1.4) - github-pages-health-check (1.17.9) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (>= 3.0, < 5.0) - typhoeus (~> 1.3) - html-pipeline (2.14.3) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.8.0) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - jekyll (3.9.3) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (>= 0.7, < 2) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (>= 1.7, < 4) - safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.4.0) - commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.4.0) - commonmarker (~> 0.23.7) - jekyll (~> 3.9.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 5.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.15.1) - jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.13.0) - jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - jekyll-include-cache (0.2.1) - jekyll (>= 3.7, < 5.0) - jekyll-mentions (1.6.0) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.16.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.3) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) - rubyzip (>= 1.3.0, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.8.0) - jekyll (>= 3.8, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.6.0) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - jemoji (0.12.0) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) - kramdown (2.3.2) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.4) - listen (3.8.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.20.0) - mutex_m (0.1.2) - nokogiri (1.15.4-x86_64-linux) - racc (~> 1.4) - octokit (4.25.1) - faraday (>= 1, < 3) - sawyer (~> 0.9) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.7) - racc (1.7.3) - rb-fsevent (0.11.2) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.6) - rouge (3.26.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) - safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.9.2) - addressable (>= 2.3.5) - faraday (>= 0.17.3, < 3) - simpleidn (0.2.1) - unf (~> 0.1.4) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (1.8.0) - webrick (1.8.1) - -PLATFORMS - x86_64-linux - -DEPENDENCIES - github-pages - webrick (~> 1.7) - -BUNDLED WITH - 2.2.22 diff --git a/docs/website/_site/assets/css/style.css b/docs/website/_site/assets/css/style.css deleted file mode 100644 index bc2033b..0000000 --- a/docs/website/_site/assets/css/style.css +++ /dev/null @@ -1,2883 +0,0 @@ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */ -/** 1. Change the default font family in all browsers (opinionated). 2. Prevent adjustments of font size after orientation changes in IE and iOS. */ -html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } - -/** Remove the margin in all browsers (opinionated). */ -body { margin: 0; } - -/* HTML5 display definitions ========================================================================== */ -/** Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. 2. Add the correct display in IE. */ -article, aside, details, figcaption, figure, footer, header, main, menu, nav, section { /* 1 */ display: block; } - -summary { display: list-item; } - -/** Add the correct display in IE 9-. */ -audio, canvas, progress, video { display: inline-block; } - -/** Add the correct display in iOS 4-7. */ -audio:not([controls]) { display: none; height: 0; } - -/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */ -progress { vertical-align: baseline; } - -/** Add the correct display in IE 10-. 1. Add the correct display in IE. */ -template, [hidden] { display: none !important; } - -/* Links ========================================================================== */ -/** Remove the gray background on active links in IE 10. */ -a { background-color: transparent; /* 1 */ } - -/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */ -a:active, a:hover { outline-width: 0; } - -/* Text-level semantics ========================================================================== */ -/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ -abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } - -/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */ -b, strong { font-weight: inherit; } - -/** Add the correct font weight in Chrome, Edge, and Safari. */ -b, strong { font-weight: bolder; } - -/** Add the correct font style in Android 4.3-. */ -dfn { font-style: italic; } - -/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */ -h1 { font-size: 2em; margin: 0.67em 0; } - -/** Add the correct background and color in IE 9-. */ -mark { background-color: #ff0; color: #000; } - -/** Add the correct font size in all browsers. */ -small { font-size: 80%; } - -/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */ -sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } - -sub { bottom: -0.25em; } - -sup { top: -0.5em; } - -/* Embedded content ========================================================================== */ -/** Remove the border on images inside links in IE 10-. */ -img { border-style: none; } - -/** Hide the overflow in IE. */ -svg:not(:root) { overflow: hidden; } - -/* Grouping content ========================================================================== */ -/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */ -code, kbd, pre, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } - -/** Add the correct margin in IE 8. */ -figure { margin: 1em 40px; } - -/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */ -hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } - -/* Forms ========================================================================== */ -/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */ -button, input, select, textarea { font: inherit; /* 1 */ margin: 0; /* 2 */ } - -/** Restore the font weight unset by the previous rule. */ -optgroup { font-weight: bold; } - -/** Show the overflow in IE. 1. Show the overflow in Edge. */ -button, input { /* 1 */ overflow: visible; } - -/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */ -button, select { /* 1 */ text-transform: none; } - -/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */ -button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ } - -/** Remove the inner border and padding in Firefox. */ -button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } - -/** Restore the focus styles unset by the previous rule. */ -button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } - -/** Change the border, margin, and padding in all browsers (opinionated). */ -fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } - -/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */ -legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } - -/** Remove the default vertical scrollbar in IE. */ -textarea { overflow: auto; } - -/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */ -[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } - -/** Correct the cursor style of increment and decrement buttons in Chrome. */ -[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } - -/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */ -[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } - -/** Remove the inner padding and cancel buttons in Chrome and Safari on OS X. */ -[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } - -/** Correct the text style of placeholders in Chrome, Edge, and Safari. */ -::-webkit-input-placeholder { color: inherit; opacity: 0.54; } - -/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */ -::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } - -* { box-sizing: border-box; } - -input, select, textarea, button { font-family: inherit; font-size: inherit; line-height: inherit; } - -body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 14px; line-height: 1.5; color: #24292e; background-color: #fff; } - -a { color: #0366d6; text-decoration: none; } -a:hover { text-decoration: underline; } - -b, strong { font-weight: 600; } - -hr, .rule { height: 0; margin: 15px 0; overflow: hidden; background: transparent; border: 0; border-bottom: 1px solid #dfe2e5; } -hr::before, .rule::before { display: table; content: ""; } -hr::after, .rule::after { display: table; clear: both; content: ""; } - -table { border-spacing: 0; border-collapse: collapse; } - -td, th { padding: 0; } - -button { cursor: pointer; border-radius: 0; } - -[hidden][hidden] { display: none !important; } - -details summary { cursor: pointer; } -details:not([open]) > *:not(summary) { display: none !important; } - -h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; } - -h1 { font-size: 32px; font-weight: 600; } - -h2 { font-size: 24px; font-weight: 600; } - -h3 { font-size: 20px; font-weight: 600; } - -h4 { font-size: 16px; font-weight: 600; } - -h5 { font-size: 14px; font-weight: 600; } - -h6 { font-size: 12px; font-weight: 600; } - -p { margin-top: 0; margin-bottom: 10px; } - -small { font-size: 90%; } - -blockquote { margin: 0; } - -ul, ol { padding-left: 0; margin-top: 0; margin-bottom: 0; } - -ol ol, ul ol { list-style-type: lower-roman; } - -ul ul ol, ul ol ol, ol ul ol, ol ol ol { list-style-type: lower-alpha; } - -dd { margin-left: 0; } - -tt, code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; } - -pre { margin-top: 0; margin-bottom: 0; font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; } - -.octicon { vertical-align: text-bottom; } - -/* Fade in an element */ -.anim-fade-in { animation-name: fade-in; animation-duration: 1s; animation-timing-function: ease-in-out; } -.anim-fade-in.fast { animation-duration: 300ms; } - -@keyframes fade-in { 0% { opacity: 0; } - 100% { opacity: 1; } } -/* Fade out an element */ -.anim-fade-out { animation-name: fade-out; animation-duration: 1s; animation-timing-function: ease-out; } -.anim-fade-out.fast { animation-duration: 0.3s; } - -@keyframes fade-out { 0% { opacity: 1; } - 100% { opacity: 0; } } -/* Fade in and slide up an element */ -.anim-fade-up { opacity: 0; animation-name: fade-up; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-out; animation-delay: 1s; } - -@keyframes fade-up { 0% { opacity: 0.8; transform: translateY(100%); } - 100% { opacity: 1; transform: translateY(0); } } -/* Fade an element out and slide down */ -.anim-fade-down { animation-name: fade-down; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-in; } - -@keyframes fade-down { 0% { opacity: 1; transform: translateY(0); } - 100% { opacity: 0.5; transform: translateY(100%); } } -/* Grow an element width from 0 to 100% */ -.anim-grow-x { width: 0%; animation-name: grow-x; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease; animation-delay: 0.5s; } - -@keyframes grow-x { to { width: 100%; } } -/* Shrink an element from 100% to 0% */ -.anim-shrink-x { animation-name: shrink-x; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-in-out; animation-delay: 0.5s; } - -@keyframes shrink-x { to { width: 0%; } } -/* Fade in an element and scale it fast */ -.anim-scale-in { animation-name: scale-in; animation-duration: 0.15s; animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); } - -@keyframes scale-in { 0% { opacity: 0; transform: scale(0.5); } - 100% { opacity: 1; transform: scale(1); } } -/* Pulse an element's opacity */ -.anim-pulse { animation-name: pulse; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: infinite; } - -@keyframes pulse { 0% { opacity: 0.3; } - 10% { opacity: 1; } - 100% { opacity: 0.3; } } -/* Pulse in an element */ -.anim-pulse-in { animation-name: pulse-in; animation-duration: 0.5s; } - -@keyframes pulse-in { 0% { transform: scale3d(1, 1, 1); } - 50% { transform: scale3d(1.1, 1.1, 1.1); } - 100% { transform: scale3d(1, 1, 1); } } -/* Increase scale of an element on hover */ -.hover-grow { transition: transform 0.3s; backface-visibility: hidden; } -.hover-grow:hover { transform: scale(1.025); } - -/* Add a gray border on all sides */ -.border { border: 1px #e1e4e8 solid !important; } - -/* Add a gray border to the left and right */ -.border-y { border-top: 1px #e1e4e8 solid !important; border-bottom: 1px #e1e4e8 solid !important; } - -/* Remove borders from all sides */ -.border-0 { border: 0 !important; } - -.border-dashed { border-style: dashed !important; } - -/* Use with .border to turn the border blue */ -.border-blue { border-color: #0366d6 !important; } - -/* Use with .border to turn the border blue-light */ -.border-blue-light { border-color: #c8e1ff !important; } - -/* Use with .border to turn the border green */ -.border-green { border-color: #34d058 !important; } - -/* Use with .border to turn the border green light */ -.border-green-light { border-color: #a2cbac !important; } - -/* Use with .border to turn the border red */ -.border-red { border-color: #d73a49 !important; } - -/* Use with .border to turn the border red-light */ -.border-red-light { border-color: #cea0a5 !important; } - -/* Use with .border to turn the border purple */ -.border-purple { border-color: #6f42c1 !important; } - -/* Use with .border to turn the border yellow */ -.border-yellow { border-color: #d9d0a5 !important; } - -/* Use with .border to turn the border gray-light */ -.border-gray-light { border-color: #eaecef !important; } - -/* Use with .border to turn the border gray-dark */ -.border-gray-dark { border-color: #d1d5da !important; } - -/* Use with .border to turn the border rgba black 0.15 */ -.border-black-fade { border-color: rgba(27, 31, 35, 0.15) !important; } - -/* Add a gray border */ -/* Add a gray border to the top */ -.border-top { border-top: 1px #e1e4e8 solid !important; } - -/* Add a gray border to the right */ -.border-right { border-right: 1px #e1e4e8 solid !important; } - -/* Add a gray border to the bottom */ -.border-bottom { border-bottom: 1px #e1e4e8 solid !important; } - -/* Add a gray border to the left */ -.border-left { border-left: 1px #e1e4e8 solid !important; } - -/* Remove the top border */ -.border-top-0 { border-top: 0 !important; } - -/* Remove the right border */ -.border-right-0 { border-right: 0 !important; } - -/* Remove the bottom border */ -.border-bottom-0 { border-bottom: 0 !important; } - -/* Remove the left border */ -.border-left-0 { border-left: 0 !important; } - -/* Remove the border-radius */ -.rounded-0 { border-radius: 0 !important; } - -/* Add a border-radius to all corners */ -.rounded-1 { border-radius: 3px !important; } - -/* Add a 2x border-radius to all corners */ -.rounded-2 { border-radius: 6px !important; } - -.rounded-top-0 { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; } - -.rounded-top-1 { border-top-left-radius: 3px !important; border-top-right-radius: 3px !important; } - -.rounded-top-2 { border-top-left-radius: 6px !important; border-top-right-radius: 6px !important; } - -.rounded-right-0 { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } - -.rounded-right-1 { border-top-right-radius: 3px !important; border-bottom-right-radius: 3px !important; } - -.rounded-right-2 { border-top-right-radius: 6px !important; border-bottom-right-radius: 6px !important; } - -.rounded-bottom-0 { border-bottom-right-radius: 0 !important; border-bottom-left-radius: 0 !important; } - -.rounded-bottom-1 { border-bottom-right-radius: 3px !important; border-bottom-left-radius: 3px !important; } - -.rounded-bottom-2 { border-bottom-right-radius: 6px !important; border-bottom-left-radius: 6px !important; } - -.rounded-left-0 { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } - -.rounded-left-1 { border-bottom-left-radius: 3px !important; border-top-left-radius: 3px !important; } - -.rounded-left-2 { border-bottom-left-radius: 6px !important; border-top-left-radius: 6px !important; } - -@media (min-width: 544px) { /* Add a gray border */ - /* Add a gray border to the top */ - .border-sm-top { border-top: 1px #e1e4e8 solid !important; } - /* Add a gray border to the right */ - .border-sm-right { border-right: 1px #e1e4e8 solid !important; } - /* Add a gray border to the bottom */ - .border-sm-bottom { border-bottom: 1px #e1e4e8 solid !important; } - /* Add a gray border to the left */ - .border-sm-left { border-left: 1px #e1e4e8 solid !important; } - /* Remove the top border */ - .border-sm-top-0 { border-top: 0 !important; } - /* Remove the right border */ - .border-sm-right-0 { border-right: 0 !important; } - /* Remove the bottom border */ - .border-sm-bottom-0 { border-bottom: 0 !important; } - /* Remove the left border */ - .border-sm-left-0 { border-left: 0 !important; } - /* Remove the border-radius */ - .rounded-sm-0 { border-radius: 0 !important; } - /* Add a border-radius to all corners */ - .rounded-sm-1 { border-radius: 3px !important; } - /* Add a 2x border-radius to all corners */ - .rounded-sm-2 { border-radius: 6px !important; } - .rounded-sm-top-0 { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; } - .rounded-sm-top-1 { border-top-left-radius: 3px !important; border-top-right-radius: 3px !important; } - .rounded-sm-top-2 { border-top-left-radius: 6px !important; border-top-right-radius: 6px !important; } - .rounded-sm-right-0 { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } - .rounded-sm-right-1 { border-top-right-radius: 3px !important; border-bottom-right-radius: 3px !important; } - .rounded-sm-right-2 { border-top-right-radius: 6px !important; border-bottom-right-radius: 6px !important; } - .rounded-sm-bottom-0 { border-bottom-right-radius: 0 !important; border-bottom-left-radius: 0 !important; } - .rounded-sm-bottom-1 { border-bottom-right-radius: 3px !important; border-bottom-left-radius: 3px !important; } - .rounded-sm-bottom-2 { border-bottom-right-radius: 6px !important; border-bottom-left-radius: 6px !important; } - .rounded-sm-left-0 { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } - .rounded-sm-left-1 { border-bottom-left-radius: 3px !important; border-top-left-radius: 3px !important; } - .rounded-sm-left-2 { border-bottom-left-radius: 6px !important; border-top-left-radius: 6px !important; } } -@media (min-width: 768px) { /* Add a gray border */ - /* Add a gray border to the top */ - .border-md-top { border-top: 1px #e1e4e8 solid !important; } - /* Add a gray border to the right */ - .border-md-right { border-right: 1px #e1e4e8 solid !important; } - /* Add a gray border to the bottom */ - .border-md-bottom { border-bottom: 1px #e1e4e8 solid !important; } - /* Add a gray border to the left */ - .border-md-left { border-left: 1px #e1e4e8 solid !important; } - /* Remove the top border */ - .border-md-top-0 { border-top: 0 !important; } - /* Remove the right border */ - .border-md-right-0 { border-right: 0 !important; } - /* Remove the bottom border */ - .border-md-bottom-0 { border-bottom: 0 !important; } - /* Remove the left border */ - .border-md-left-0 { border-left: 0 !important; } - /* Remove the border-radius */ - .rounded-md-0 { border-radius: 0 !important; } - /* Add a border-radius to all corners */ - .rounded-md-1 { border-radius: 3px !important; } - /* Add a 2x border-radius to all corners */ - .rounded-md-2 { border-radius: 6px !important; } - .rounded-md-top-0 { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; } - .rounded-md-top-1 { border-top-left-radius: 3px !important; border-top-right-radius: 3px !important; } - .rounded-md-top-2 { border-top-left-radius: 6px !important; border-top-right-radius: 6px !important; } - .rounded-md-right-0 { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } - .rounded-md-right-1 { border-top-right-radius: 3px !important; border-bottom-right-radius: 3px !important; } - .rounded-md-right-2 { border-top-right-radius: 6px !important; border-bottom-right-radius: 6px !important; } - .rounded-md-bottom-0 { border-bottom-right-radius: 0 !important; border-bottom-left-radius: 0 !important; } - .rounded-md-bottom-1 { border-bottom-right-radius: 3px !important; border-bottom-left-radius: 3px !important; } - .rounded-md-bottom-2 { border-bottom-right-radius: 6px !important; border-bottom-left-radius: 6px !important; } - .rounded-md-left-0 { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } - .rounded-md-left-1 { border-bottom-left-radius: 3px !important; border-top-left-radius: 3px !important; } - .rounded-md-left-2 { border-bottom-left-radius: 6px !important; border-top-left-radius: 6px !important; } } -@media (min-width: 1012px) { /* Add a gray border */ - /* Add a gray border to the top */ - .border-lg-top { border-top: 1px #e1e4e8 solid !important; } - /* Add a gray border to the right */ - .border-lg-right { border-right: 1px #e1e4e8 solid !important; } - /* Add a gray border to the bottom */ - .border-lg-bottom { border-bottom: 1px #e1e4e8 solid !important; } - /* Add a gray border to the left */ - .border-lg-left { border-left: 1px #e1e4e8 solid !important; } - /* Remove the top border */ - .border-lg-top-0 { border-top: 0 !important; } - /* Remove the right border */ - .border-lg-right-0 { border-right: 0 !important; } - /* Remove the bottom border */ - .border-lg-bottom-0 { border-bottom: 0 !important; } - /* Remove the left border */ - .border-lg-left-0 { border-left: 0 !important; } - /* Remove the border-radius */ - .rounded-lg-0 { border-radius: 0 !important; } - /* Add a border-radius to all corners */ - .rounded-lg-1 { border-radius: 3px !important; } - /* Add a 2x border-radius to all corners */ - .rounded-lg-2 { border-radius: 6px !important; } - .rounded-lg-top-0 { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; } - .rounded-lg-top-1 { border-top-left-radius: 3px !important; border-top-right-radius: 3px !important; } - .rounded-lg-top-2 { border-top-left-radius: 6px !important; border-top-right-radius: 6px !important; } - .rounded-lg-right-0 { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } - .rounded-lg-right-1 { border-top-right-radius: 3px !important; border-bottom-right-radius: 3px !important; } - .rounded-lg-right-2 { border-top-right-radius: 6px !important; border-bottom-right-radius: 6px !important; } - .rounded-lg-bottom-0 { border-bottom-right-radius: 0 !important; border-bottom-left-radius: 0 !important; } - .rounded-lg-bottom-1 { border-bottom-right-radius: 3px !important; border-bottom-left-radius: 3px !important; } - .rounded-lg-bottom-2 { border-bottom-right-radius: 6px !important; border-bottom-left-radius: 6px !important; } - .rounded-lg-left-0 { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } - .rounded-lg-left-1 { border-bottom-left-radius: 3px !important; border-top-left-radius: 3px !important; } - .rounded-lg-left-2 { border-bottom-left-radius: 6px !important; border-top-left-radius: 6px !important; } } -@media (min-width: 1280px) { /* Add a gray border */ - /* Add a gray border to the top */ - .border-xl-top { border-top: 1px #e1e4e8 solid !important; } - /* Add a gray border to the right */ - .border-xl-right { border-right: 1px #e1e4e8 solid !important; } - /* Add a gray border to the bottom */ - .border-xl-bottom { border-bottom: 1px #e1e4e8 solid !important; } - /* Add a gray border to the left */ - .border-xl-left { border-left: 1px #e1e4e8 solid !important; } - /* Remove the top border */ - .border-xl-top-0 { border-top: 0 !important; } - /* Remove the right border */ - .border-xl-right-0 { border-right: 0 !important; } - /* Remove the bottom border */ - .border-xl-bottom-0 { border-bottom: 0 !important; } - /* Remove the left border */ - .border-xl-left-0 { border-left: 0 !important; } - /* Remove the border-radius */ - .rounded-xl-0 { border-radius: 0 !important; } - /* Add a border-radius to all corners */ - .rounded-xl-1 { border-radius: 3px !important; } - /* Add a 2x border-radius to all corners */ - .rounded-xl-2 { border-radius: 6px !important; } - .rounded-xl-top-0 { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; } - .rounded-xl-top-1 { border-top-left-radius: 3px !important; border-top-right-radius: 3px !important; } - .rounded-xl-top-2 { border-top-left-radius: 6px !important; border-top-right-radius: 6px !important; } - .rounded-xl-right-0 { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } - .rounded-xl-right-1 { border-top-right-radius: 3px !important; border-bottom-right-radius: 3px !important; } - .rounded-xl-right-2 { border-top-right-radius: 6px !important; border-bottom-right-radius: 6px !important; } - .rounded-xl-bottom-0 { border-bottom-right-radius: 0 !important; border-bottom-left-radius: 0 !important; } - .rounded-xl-bottom-1 { border-bottom-right-radius: 3px !important; border-bottom-left-radius: 3px !important; } - .rounded-xl-bottom-2 { border-bottom-right-radius: 6px !important; border-bottom-left-radius: 6px !important; } - .rounded-xl-left-0 { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } - .rounded-xl-left-1 { border-bottom-left-radius: 3px !important; border-top-left-radius: 3px !important; } - .rounded-xl-left-2 { border-bottom-left-radius: 6px !important; border-top-left-radius: 6px !important; } } -/* Add a 50% border-radius to make something into a circle */ -.circle { border-radius: 50% !important; } - -.box-shadow { box-shadow: 0 1px 1px rgba(27, 31, 35, 0.1) !important; } - -.box-shadow-medium { box-shadow: 0 1px 5px rgba(27, 31, 35, 0.15) !important; } - -.box-shadow-large { box-shadow: 0 1px 15px rgba(27, 31, 35, 0.15) !important; } - -.box-shadow-extra-large { box-shadow: 0 10px 50px rgba(27, 31, 35, 0.07) !important; } - -.box-shadow-none { box-shadow: none !important; } - -/* Set the background to $bg-white */ -.bg-white { background-color: #fff !important; } - -/* Set the background to $bg-blue */ -.bg-blue { background-color: #0366d6 !important; } - -/* Set the background to $bg-blue-light */ -.bg-blue-light { background-color: #f1f8ff !important; } - -/* Set the background to $bg-gray-dark */ -.bg-gray-dark { background-color: #24292e !important; } - -/* Set the background to $bg-gray */ -.bg-gray { background-color: #f6f8fa !important; } - -/* Set the background to $bg-gray-light */ -.bg-gray-light { background-color: #fafbfc !important; } - -/* Set the background to $bg-green */ -.bg-green { background-color: #28a745 !important; } - -/* Set the background to $bg-green-light */ -.bg-green-light { background-color: #dcffe4 !important; } - -/* Set the background to $bg-red */ -.bg-red { background-color: #d73a49 !important; } - -/* Set the background to $bg-red-light */ -.bg-red-light { background-color: #ffdce0 !important; } - -/* Set the background to $bg-yellow */ -.bg-yellow { background-color: #ffd33d !important; } - -/* Set the background to $bg-yellow-light */ -.bg-yellow-light { background-color: #fff5b1 !important; } - -/* Set the background to $bg-purple */ -.bg-purple { background-color: #6f42c1 !important; } - -/* Set the background to $bg-purple-light */ -.bg-purple-light { background-color: #f5f0ff !important; } - -.bg-shade-gradient { background-image: linear-gradient(180deg, rgba(27, 31, 35, 0.065), rgba(27, 31, 35, 0)) !important; background-repeat: no-repeat !important; background-size: 100% 200px !important; } - -/* Set the text color to $text-blue */ -.text-blue { color: #0366d6 !important; } - -/* Set the text color to $text-red */ -.text-red { color: #cb2431 !important; } - -/* Set the text color to $text-gray-light */ -.text-gray-light { color: #6a737d !important; } - -/* Set the text color to $text-gray */ -.text-gray { color: #586069 !important; } - -/* Set the text color to $text-gray-dark */ -.text-gray-dark { color: #24292e !important; } - -/* Set the text color to $text-green */ -.text-green { color: #28a745 !important; } - -/* Set the text color to $text-orange */ -.text-orange { color: #a04100 !important; } - -/* Set the text color to $text-orange-light */ -.text-orange-light { color: #e36209 !important; } - -/* Set the text color to $text-purple */ -.text-purple { color: #6f42c1 !important; } - -/* Set the text color to $text-white */ -.text-white { color: #fff !important; } - -/* Set the text color to inherit */ -.text-inherit { color: inherit !important; } - -.text-pending { color: #b08800 !important; } - -.bg-pending { color: #dbab09 !important; } - -.link-gray { color: #586069 !important; } -.link-gray:hover { color: #0366d6 !important; } - -.link-gray-dark { color: #24292e !important; } -.link-gray-dark:hover { color: #0366d6 !important; } - -/* Set the link color to $text-blue on hover Useful when you want only part of a link to turn blue on hover */ -.link-hover-blue:hover { color: #0366d6 !important; } - -/* Make a link $text-gray, then $text-blue on hover and removes the underline */ -.muted-link { color: #586069 !important; } -.muted-link:hover { color: #0366d6 !important; text-decoration: none; } - -.details-overlay[open] > summary::before { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 80; display: block; cursor: default; content: " "; background: transparent; } - -.details-overlay-dark[open] > summary::before { z-index: 99; background: rgba(27, 31, 35, 0.5); } - -.flex-row { flex-direction: row !important; } - -.flex-row-reverse { flex-direction: row-reverse !important; } - -.flex-column { flex-direction: column !important; } - -.flex-wrap { flex-wrap: wrap !important; } - -.flex-nowrap { flex-wrap: nowrap !important; } - -.flex-justify-start { justify-content: flex-start !important; } - -.flex-justify-end { justify-content: flex-end !important; } - -.flex-justify-center { justify-content: center !important; } - -.flex-justify-between { justify-content: space-between !important; } - -.flex-justify-around { justify-content: space-around !important; } - -.flex-items-start { align-items: flex-start !important; } - -.flex-items-end { align-items: flex-end !important; } - -.flex-items-center { align-items: center !important; } - -.flex-items-baseline { align-items: baseline !important; } - -.flex-items-stretch { align-items: stretch !important; } - -.flex-content-start { align-content: flex-start !important; } - -.flex-content-end { align-content: flex-end !important; } - -.flex-content-center { align-content: center !important; } - -.flex-content-between { align-content: space-between !important; } - -.flex-content-around { align-content: space-around !important; } - -.flex-content-stretch { align-content: stretch !important; } - -.flex-auto { flex: 1 1 auto !important; } - -.flex-shrink-0 { flex-shrink: 0 !important; } - -.flex-self-auto { align-self: auto !important; } - -.flex-self-start { align-self: flex-start !important; } - -.flex-self-end { align-self: flex-end !important; } - -.flex-self-center { align-self: center !important; } - -.flex-self-baseline { align-self: baseline !important; } - -.flex-self-stretch { align-self: stretch !important; } - -.flex-item-equal { flex-grow: 1; flex-basis: 0; } - -@media (min-width: 544px) { .flex-sm-row { flex-direction: row !important; } - .flex-sm-row-reverse { flex-direction: row-reverse !important; } - .flex-sm-column { flex-direction: column !important; } - .flex-sm-wrap { flex-wrap: wrap !important; } - .flex-sm-nowrap { flex-wrap: nowrap !important; } - .flex-sm-justify-start { justify-content: flex-start !important; } - .flex-sm-justify-end { justify-content: flex-end !important; } - .flex-sm-justify-center { justify-content: center !important; } - .flex-sm-justify-between { justify-content: space-between !important; } - .flex-sm-justify-around { justify-content: space-around !important; } - .flex-sm-items-start { align-items: flex-start !important; } - .flex-sm-items-end { align-items: flex-end !important; } - .flex-sm-items-center { align-items: center !important; } - .flex-sm-items-baseline { align-items: baseline !important; } - .flex-sm-items-stretch { align-items: stretch !important; } - .flex-sm-content-start { align-content: flex-start !important; } - .flex-sm-content-end { align-content: flex-end !important; } - .flex-sm-content-center { align-content: center !important; } - .flex-sm-content-between { align-content: space-between !important; } - .flex-sm-content-around { align-content: space-around !important; } - .flex-sm-content-stretch { align-content: stretch !important; } - .flex-sm-auto { flex: 1 1 auto !important; } - .flex-sm-shrink-0 { flex-shrink: 0 !important; } - .flex-sm-self-auto { align-self: auto !important; } - .flex-sm-self-start { align-self: flex-start !important; } - .flex-sm-self-end { align-self: flex-end !important; } - .flex-sm-self-center { align-self: center !important; } - .flex-sm-self-baseline { align-self: baseline !important; } - .flex-sm-self-stretch { align-self: stretch !important; } - .flex-sm-item-equal { flex-grow: 1; flex-basis: 0; } } -@media (min-width: 768px) { .flex-md-row { flex-direction: row !important; } - .flex-md-row-reverse { flex-direction: row-reverse !important; } - .flex-md-column { flex-direction: column !important; } - .flex-md-wrap { flex-wrap: wrap !important; } - .flex-md-nowrap { flex-wrap: nowrap !important; } - .flex-md-justify-start { justify-content: flex-start !important; } - .flex-md-justify-end { justify-content: flex-end !important; } - .flex-md-justify-center { justify-content: center !important; } - .flex-md-justify-between { justify-content: space-between !important; } - .flex-md-justify-around { justify-content: space-around !important; } - .flex-md-items-start { align-items: flex-start !important; } - .flex-md-items-end { align-items: flex-end !important; } - .flex-md-items-center { align-items: center !important; } - .flex-md-items-baseline { align-items: baseline !important; } - .flex-md-items-stretch { align-items: stretch !important; } - .flex-md-content-start { align-content: flex-start !important; } - .flex-md-content-end { align-content: flex-end !important; } - .flex-md-content-center { align-content: center !important; } - .flex-md-content-between { align-content: space-between !important; } - .flex-md-content-around { align-content: space-around !important; } - .flex-md-content-stretch { align-content: stretch !important; } - .flex-md-auto { flex: 1 1 auto !important; } - .flex-md-shrink-0 { flex-shrink: 0 !important; } - .flex-md-self-auto { align-self: auto !important; } - .flex-md-self-start { align-self: flex-start !important; } - .flex-md-self-end { align-self: flex-end !important; } - .flex-md-self-center { align-self: center !important; } - .flex-md-self-baseline { align-self: baseline !important; } - .flex-md-self-stretch { align-self: stretch !important; } - .flex-md-item-equal { flex-grow: 1; flex-basis: 0; } } -@media (min-width: 1012px) { .flex-lg-row { flex-direction: row !important; } - .flex-lg-row-reverse { flex-direction: row-reverse !important; } - .flex-lg-column { flex-direction: column !important; } - .flex-lg-wrap { flex-wrap: wrap !important; } - .flex-lg-nowrap { flex-wrap: nowrap !important; } - .flex-lg-justify-start { justify-content: flex-start !important; } - .flex-lg-justify-end { justify-content: flex-end !important; } - .flex-lg-justify-center { justify-content: center !important; } - .flex-lg-justify-between { justify-content: space-between !important; } - .flex-lg-justify-around { justify-content: space-around !important; } - .flex-lg-items-start { align-items: flex-start !important; } - .flex-lg-items-end { align-items: flex-end !important; } - .flex-lg-items-center { align-items: center !important; } - .flex-lg-items-baseline { align-items: baseline !important; } - .flex-lg-items-stretch { align-items: stretch !important; } - .flex-lg-content-start { align-content: flex-start !important; } - .flex-lg-content-end { align-content: flex-end !important; } - .flex-lg-content-center { align-content: center !important; } - .flex-lg-content-between { align-content: space-between !important; } - .flex-lg-content-around { align-content: space-around !important; } - .flex-lg-content-stretch { align-content: stretch !important; } - .flex-lg-auto { flex: 1 1 auto !important; } - .flex-lg-shrink-0 { flex-shrink: 0 !important; } - .flex-lg-self-auto { align-self: auto !important; } - .flex-lg-self-start { align-self: flex-start !important; } - .flex-lg-self-end { align-self: flex-end !important; } - .flex-lg-self-center { align-self: center !important; } - .flex-lg-self-baseline { align-self: baseline !important; } - .flex-lg-self-stretch { align-self: stretch !important; } - .flex-lg-item-equal { flex-grow: 1; flex-basis: 0; } } -@media (min-width: 1280px) { .flex-xl-row { flex-direction: row !important; } - .flex-xl-row-reverse { flex-direction: row-reverse !important; } - .flex-xl-column { flex-direction: column !important; } - .flex-xl-wrap { flex-wrap: wrap !important; } - .flex-xl-nowrap { flex-wrap: nowrap !important; } - .flex-xl-justify-start { justify-content: flex-start !important; } - .flex-xl-justify-end { justify-content: flex-end !important; } - .flex-xl-justify-center { justify-content: center !important; } - .flex-xl-justify-between { justify-content: space-between !important; } - .flex-xl-justify-around { justify-content: space-around !important; } - .flex-xl-items-start { align-items: flex-start !important; } - .flex-xl-items-end { align-items: flex-end !important; } - .flex-xl-items-center { align-items: center !important; } - .flex-xl-items-baseline { align-items: baseline !important; } - .flex-xl-items-stretch { align-items: stretch !important; } - .flex-xl-content-start { align-content: flex-start !important; } - .flex-xl-content-end { align-content: flex-end !important; } - .flex-xl-content-center { align-content: center !important; } - .flex-xl-content-between { align-content: space-between !important; } - .flex-xl-content-around { align-content: space-around !important; } - .flex-xl-content-stretch { align-content: stretch !important; } - .flex-xl-auto { flex: 1 1 auto !important; } - .flex-xl-shrink-0 { flex-shrink: 0 !important; } - .flex-xl-self-auto { align-self: auto !important; } - .flex-xl-self-start { align-self: flex-start !important; } - .flex-xl-self-end { align-self: flex-end !important; } - .flex-xl-self-center { align-self: center !important; } - .flex-xl-self-baseline { align-self: baseline !important; } - .flex-xl-self-stretch { align-self: stretch !important; } - .flex-xl-item-equal { flex-grow: 1; flex-basis: 0; } } -/* Set position to static */ -.position-static { position: static !important; } - -/* Set position to relative */ -.position-relative { position: relative !important; } - -/* Set position to absolute */ -.position-absolute { position: absolute !important; } - -/* Set position to fixed */ -.position-fixed { position: fixed !important; } - -/* Set top 0 */ -.top-0 { top: 0 !important; } - -/* Set right 0 */ -.right-0 { right: 0 !important; } - -/* Set bottom 0 */ -.bottom-0 { bottom: 0 !important; } - -/* Set left 0 */ -.left-0 { left: 0 !important; } - -/* Vertical align middle */ -.v-align-middle { vertical-align: middle !important; } - -/* Vertical align top */ -.v-align-top { vertical-align: top !important; } - -/* Vertical align bottom */ -.v-align-bottom { vertical-align: bottom !important; } - -/* Vertical align to the top of the text */ -.v-align-text-top { vertical-align: text-top !important; } - -/* Vertical align to the bottom of the text */ -.v-align-text-bottom { vertical-align: text-bottom !important; } - -/* Vertical align to the parent's baseline */ -.v-align-baseline { vertical-align: baseline !important; } - -/* Set the overflow hidden */ -.overflow-hidden { overflow: hidden !important; } - -/* Set the overflow scroll */ -.overflow-scroll { overflow: scroll !important; } - -/* Set the overflow auto */ -.overflow-auto { overflow: auto !important; } - -/* Clear floats around the element */ -.clearfix::before { display: table; content: ""; } -.clearfix::after { display: table; clear: both; content: ""; } - -/* Float to the left */ -.float-left { float: left !important; } - -/* Float to the right */ -.float-right { float: right !important; } - -/* No float */ -.float-none { float: none !important; } - -@media (min-width: 544px) { /* Float to the left */ - .float-sm-left { float: left !important; } - /* Float to the right */ - .float-sm-right { float: right !important; } - /* No float */ - .float-sm-none { float: none !important; } } -@media (min-width: 768px) { /* Float to the left */ - .float-md-left { float: left !important; } - /* Float to the right */ - .float-md-right { float: right !important; } - /* No float */ - .float-md-none { float: none !important; } } -@media (min-width: 1012px) { /* Float to the left */ - .float-lg-left { float: left !important; } - /* Float to the right */ - .float-lg-right { float: right !important; } - /* No float */ - .float-lg-none { float: none !important; } } -@media (min-width: 1280px) { /* Float to the left */ - .float-xl-left { float: left !important; } - /* Float to the right */ - .float-xl-right { float: right !important; } - /* No float */ - .float-xl-none { float: none !important; } } -/* Max width 100% */ -.width-fit { max-width: 100% !important; } - -/* Set the width to 100% */ -.width-full { width: 100% !important; } - -/* Max height 100% */ -.height-fit { max-height: 100% !important; } - -/* Set the height to 100% */ -.height-full { height: 100% !important; } - -/* Remove min-width from element */ -.min-width-0 { min-width: 0 !important; } - -/* Set the direction to rtl */ -.direction-rtl { direction: rtl !important; } - -/* Set the direction to ltr */ -.direction-ltr { direction: ltr !important; } - -@media (min-width: 544px) { /* Set the direction to rtl */ - .direction-sm-rtl { direction: rtl !important; } - /* Set the direction to ltr */ - .direction-sm-ltr { direction: ltr !important; } } -@media (min-width: 768px) { /* Set the direction to rtl */ - .direction-md-rtl { direction: rtl !important; } - /* Set the direction to ltr */ - .direction-md-ltr { direction: ltr !important; } } -@media (min-width: 1012px) { /* Set the direction to rtl */ - .direction-lg-rtl { direction: rtl !important; } - /* Set the direction to ltr */ - .direction-lg-ltr { direction: ltr !important; } } -@media (min-width: 1280px) { /* Set the direction to rtl */ - .direction-xl-rtl { direction: rtl !important; } - /* Set the direction to ltr */ - .direction-xl-ltr { direction: ltr !important; } } -/* Set a $size margin to all sides at $breakpoint */ -.m-0 { margin: 0 !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-0 { margin-top: 0 !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-0 { margin-right: 0 !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-0 { margin-bottom: 0 !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-0 { margin-left: 0 !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-0 { margin-right: 0 !important; margin-left: 0 !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - -/* Set a $size margin to all sides at $breakpoint */ -.m-1 { margin: 4px !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-1 { margin-top: 4px !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-1 { margin-right: 4px !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-1 { margin-bottom: 4px !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-1 { margin-left: 4px !important; } - -/* Set a negative $size margin on top at $breakpoint */ -.mt-n1 { margin-top: -4px !important; } - -/* Set a negative $size margin on the right at $breakpoint */ -.mr-n1 { margin-right: -4px !important; } - -/* Set a negative $size margin on the bottom at $breakpoint */ -.mb-n1 { margin-bottom: -4px !important; } - -/* Set a negative $size margin on the left at $breakpoint */ -.ml-n1 { margin-left: -4px !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-1 { margin-right: 4px !important; margin-left: 4px !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-1 { margin-top: 4px !important; margin-bottom: 4px !important; } - -/* Set a $size margin to all sides at $breakpoint */ -.m-2 { margin: 8px !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-2 { margin-top: 8px !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-2 { margin-right: 8px !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-2 { margin-bottom: 8px !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-2 { margin-left: 8px !important; } - -/* Set a negative $size margin on top at $breakpoint */ -.mt-n2 { margin-top: -8px !important; } - -/* Set a negative $size margin on the right at $breakpoint */ -.mr-n2 { margin-right: -8px !important; } - -/* Set a negative $size margin on the bottom at $breakpoint */ -.mb-n2 { margin-bottom: -8px !important; } - -/* Set a negative $size margin on the left at $breakpoint */ -.ml-n2 { margin-left: -8px !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-2 { margin-right: 8px !important; margin-left: 8px !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-2 { margin-top: 8px !important; margin-bottom: 8px !important; } - -/* Set a $size margin to all sides at $breakpoint */ -.m-3 { margin: 16px !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-3 { margin-top: 16px !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-3 { margin-right: 16px !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-3 { margin-bottom: 16px !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-3 { margin-left: 16px !important; } - -/* Set a negative $size margin on top at $breakpoint */ -.mt-n3 { margin-top: -16px !important; } - -/* Set a negative $size margin on the right at $breakpoint */ -.mr-n3 { margin-right: -16px !important; } - -/* Set a negative $size margin on the bottom at $breakpoint */ -.mb-n3 { margin-bottom: -16px !important; } - -/* Set a negative $size margin on the left at $breakpoint */ -.ml-n3 { margin-left: -16px !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-3 { margin-right: 16px !important; margin-left: 16px !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-3 { margin-top: 16px !important; margin-bottom: 16px !important; } - -/* Set a $size margin to all sides at $breakpoint */ -.m-4 { margin: 24px !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-4 { margin-top: 24px !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-4 { margin-right: 24px !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-4 { margin-bottom: 24px !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-4 { margin-left: 24px !important; } - -/* Set a negative $size margin on top at $breakpoint */ -.mt-n4 { margin-top: -24px !important; } - -/* Set a negative $size margin on the right at $breakpoint */ -.mr-n4 { margin-right: -24px !important; } - -/* Set a negative $size margin on the bottom at $breakpoint */ -.mb-n4 { margin-bottom: -24px !important; } - -/* Set a negative $size margin on the left at $breakpoint */ -.ml-n4 { margin-left: -24px !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-4 { margin-right: 24px !important; margin-left: 24px !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-4 { margin-top: 24px !important; margin-bottom: 24px !important; } - -/* Set a $size margin to all sides at $breakpoint */ -.m-5 { margin: 32px !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-5 { margin-top: 32px !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-5 { margin-right: 32px !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-5 { margin-bottom: 32px !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-5 { margin-left: 32px !important; } - -/* Set a negative $size margin on top at $breakpoint */ -.mt-n5 { margin-top: -32px !important; } - -/* Set a negative $size margin on the right at $breakpoint */ -.mr-n5 { margin-right: -32px !important; } - -/* Set a negative $size margin on the bottom at $breakpoint */ -.mb-n5 { margin-bottom: -32px !important; } - -/* Set a negative $size margin on the left at $breakpoint */ -.ml-n5 { margin-left: -32px !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-5 { margin-right: 32px !important; margin-left: 32px !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-5 { margin-top: 32px !important; margin-bottom: 32px !important; } - -/* Set a $size margin to all sides at $breakpoint */ -.m-6 { margin: 40px !important; } - -/* Set a $size margin on the top at $breakpoint */ -.mt-6 { margin-top: 40px !important; } - -/* Set a $size margin on the right at $breakpoint */ -.mr-6 { margin-right: 40px !important; } - -/* Set a $size margin on the bottom at $breakpoint */ -.mb-6 { margin-bottom: 40px !important; } - -/* Set a $size margin on the left at $breakpoint */ -.ml-6 { margin-left: 40px !important; } - -/* Set a negative $size margin on top at $breakpoint */ -.mt-n6 { margin-top: -40px !important; } - -/* Set a negative $size margin on the right at $breakpoint */ -.mr-n6 { margin-right: -40px !important; } - -/* Set a negative $size margin on the bottom at $breakpoint */ -.mb-n6 { margin-bottom: -40px !important; } - -/* Set a negative $size margin on the left at $breakpoint */ -.ml-n6 { margin-left: -40px !important; } - -/* Set a $size margin on the left & right at $breakpoint */ -.mx-6 { margin-right: 40px !important; margin-left: 40px !important; } - -/* Set a $size margin on the top & bottom at $breakpoint */ -.my-6 { margin-top: 40px !important; margin-bottom: 40px !important; } - -/* responsive horizontal auto margins */ -.mx-auto { margin-right: auto !important; margin-left: auto !important; } - -@media (min-width: 544px) { /* Set a $size margin to all sides at $breakpoint */ - .m-sm-0 { margin: 0 !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-0 { margin-top: 0 !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-0 { margin-right: 0 !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-0 { margin-bottom: 0 !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-0 { margin-left: 0 !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-sm-1 { margin: 4px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-1 { margin-top: 4px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-1 { margin-right: 4px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-1 { margin-bottom: 4px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-1 { margin-left: 4px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-sm-n1 { margin-top: -4px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-sm-n1 { margin-right: -4px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-sm-n1 { margin-bottom: -4px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-sm-n1 { margin-left: -4px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-1 { margin-right: 4px !important; margin-left: 4px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-1 { margin-top: 4px !important; margin-bottom: 4px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-sm-2 { margin: 8px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-2 { margin-top: 8px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-2 { margin-right: 8px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-2 { margin-bottom: 8px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-2 { margin-left: 8px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-sm-n2 { margin-top: -8px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-sm-n2 { margin-right: -8px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-sm-n2 { margin-bottom: -8px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-sm-n2 { margin-left: -8px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-2 { margin-right: 8px !important; margin-left: 8px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-2 { margin-top: 8px !important; margin-bottom: 8px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-sm-3 { margin: 16px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-3 { margin-top: 16px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-3 { margin-right: 16px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-3 { margin-bottom: 16px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-3 { margin-left: 16px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-sm-n3 { margin-top: -16px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-sm-n3 { margin-right: -16px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-sm-n3 { margin-bottom: -16px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-sm-n3 { margin-left: -16px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-3 { margin-right: 16px !important; margin-left: 16px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-3 { margin-top: 16px !important; margin-bottom: 16px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-sm-4 { margin: 24px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-4 { margin-top: 24px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-4 { margin-right: 24px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-4 { margin-bottom: 24px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-4 { margin-left: 24px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-sm-n4 { margin-top: -24px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-sm-n4 { margin-right: -24px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-sm-n4 { margin-bottom: -24px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-sm-n4 { margin-left: -24px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-4 { margin-right: 24px !important; margin-left: 24px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-4 { margin-top: 24px !important; margin-bottom: 24px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-sm-5 { margin: 32px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-5 { margin-top: 32px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-5 { margin-right: 32px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-5 { margin-bottom: 32px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-5 { margin-left: 32px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-sm-n5 { margin-top: -32px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-sm-n5 { margin-right: -32px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-sm-n5 { margin-bottom: -32px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-sm-n5 { margin-left: -32px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-5 { margin-right: 32px !important; margin-left: 32px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-5 { margin-top: 32px !important; margin-bottom: 32px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-sm-6 { margin: 40px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-sm-6 { margin-top: 40px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-sm-6 { margin-right: 40px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-sm-6 { margin-bottom: 40px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-sm-6 { margin-left: 40px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-sm-n6 { margin-top: -40px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-sm-n6 { margin-right: -40px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-sm-n6 { margin-bottom: -40px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-sm-n6 { margin-left: -40px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-sm-6 { margin-right: 40px !important; margin-left: 40px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-sm-6 { margin-top: 40px !important; margin-bottom: 40px !important; } - /* responsive horizontal auto margins */ - .mx-sm-auto { margin-right: auto !important; margin-left: auto !important; } } -@media (min-width: 768px) { /* Set a $size margin to all sides at $breakpoint */ - .m-md-0 { margin: 0 !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-0 { margin-top: 0 !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-0 { margin-right: 0 !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-0 { margin-bottom: 0 !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-0 { margin-left: 0 !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-md-1 { margin: 4px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-1 { margin-top: 4px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-1 { margin-right: 4px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-1 { margin-bottom: 4px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-1 { margin-left: 4px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-md-n1 { margin-top: -4px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-md-n1 { margin-right: -4px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-md-n1 { margin-bottom: -4px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-md-n1 { margin-left: -4px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-1 { margin-right: 4px !important; margin-left: 4px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-1 { margin-top: 4px !important; margin-bottom: 4px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-md-2 { margin: 8px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-2 { margin-top: 8px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-2 { margin-right: 8px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-2 { margin-bottom: 8px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-2 { margin-left: 8px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-md-n2 { margin-top: -8px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-md-n2 { margin-right: -8px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-md-n2 { margin-bottom: -8px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-md-n2 { margin-left: -8px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-2 { margin-right: 8px !important; margin-left: 8px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-2 { margin-top: 8px !important; margin-bottom: 8px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-md-3 { margin: 16px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-3 { margin-top: 16px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-3 { margin-right: 16px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-3 { margin-bottom: 16px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-3 { margin-left: 16px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-md-n3 { margin-top: -16px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-md-n3 { margin-right: -16px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-md-n3 { margin-bottom: -16px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-md-n3 { margin-left: -16px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-3 { margin-right: 16px !important; margin-left: 16px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-3 { margin-top: 16px !important; margin-bottom: 16px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-md-4 { margin: 24px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-4 { margin-top: 24px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-4 { margin-right: 24px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-4 { margin-bottom: 24px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-4 { margin-left: 24px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-md-n4 { margin-top: -24px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-md-n4 { margin-right: -24px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-md-n4 { margin-bottom: -24px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-md-n4 { margin-left: -24px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-4 { margin-right: 24px !important; margin-left: 24px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-4 { margin-top: 24px !important; margin-bottom: 24px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-md-5 { margin: 32px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-5 { margin-top: 32px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-5 { margin-right: 32px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-5 { margin-bottom: 32px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-5 { margin-left: 32px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-md-n5 { margin-top: -32px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-md-n5 { margin-right: -32px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-md-n5 { margin-bottom: -32px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-md-n5 { margin-left: -32px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-5 { margin-right: 32px !important; margin-left: 32px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-5 { margin-top: 32px !important; margin-bottom: 32px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-md-6 { margin: 40px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-md-6 { margin-top: 40px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-md-6 { margin-right: 40px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-md-6 { margin-bottom: 40px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-md-6 { margin-left: 40px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-md-n6 { margin-top: -40px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-md-n6 { margin-right: -40px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-md-n6 { margin-bottom: -40px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-md-n6 { margin-left: -40px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-md-6 { margin-right: 40px !important; margin-left: 40px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-md-6 { margin-top: 40px !important; margin-bottom: 40px !important; } - /* responsive horizontal auto margins */ - .mx-md-auto { margin-right: auto !important; margin-left: auto !important; } } -@media (min-width: 1012px) { /* Set a $size margin to all sides at $breakpoint */ - .m-lg-0 { margin: 0 !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-0 { margin-top: 0 !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-0 { margin-right: 0 !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-0 { margin-bottom: 0 !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-0 { margin-left: 0 !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-lg-1 { margin: 4px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-1 { margin-top: 4px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-1 { margin-right: 4px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-1 { margin-bottom: 4px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-1 { margin-left: 4px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-lg-n1 { margin-top: -4px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-lg-n1 { margin-right: -4px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-lg-n1 { margin-bottom: -4px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-lg-n1 { margin-left: -4px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-1 { margin-right: 4px !important; margin-left: 4px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-1 { margin-top: 4px !important; margin-bottom: 4px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-lg-2 { margin: 8px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-2 { margin-top: 8px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-2 { margin-right: 8px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-2 { margin-bottom: 8px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-2 { margin-left: 8px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-lg-n2 { margin-top: -8px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-lg-n2 { margin-right: -8px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-lg-n2 { margin-bottom: -8px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-lg-n2 { margin-left: -8px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-2 { margin-right: 8px !important; margin-left: 8px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-2 { margin-top: 8px !important; margin-bottom: 8px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-lg-3 { margin: 16px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-3 { margin-top: 16px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-3 { margin-right: 16px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-3 { margin-bottom: 16px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-3 { margin-left: 16px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-lg-n3 { margin-top: -16px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-lg-n3 { margin-right: -16px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-lg-n3 { margin-bottom: -16px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-lg-n3 { margin-left: -16px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-3 { margin-right: 16px !important; margin-left: 16px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-3 { margin-top: 16px !important; margin-bottom: 16px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-lg-4 { margin: 24px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-4 { margin-top: 24px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-4 { margin-right: 24px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-4 { margin-bottom: 24px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-4 { margin-left: 24px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-lg-n4 { margin-top: -24px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-lg-n4 { margin-right: -24px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-lg-n4 { margin-bottom: -24px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-lg-n4 { margin-left: -24px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-4 { margin-right: 24px !important; margin-left: 24px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-4 { margin-top: 24px !important; margin-bottom: 24px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-lg-5 { margin: 32px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-5 { margin-top: 32px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-5 { margin-right: 32px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-5 { margin-bottom: 32px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-5 { margin-left: 32px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-lg-n5 { margin-top: -32px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-lg-n5 { margin-right: -32px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-lg-n5 { margin-bottom: -32px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-lg-n5 { margin-left: -32px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-5 { margin-right: 32px !important; margin-left: 32px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-5 { margin-top: 32px !important; margin-bottom: 32px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-lg-6 { margin: 40px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-lg-6 { margin-top: 40px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-lg-6 { margin-right: 40px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-lg-6 { margin-bottom: 40px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-lg-6 { margin-left: 40px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-lg-n6 { margin-top: -40px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-lg-n6 { margin-right: -40px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-lg-n6 { margin-bottom: -40px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-lg-n6 { margin-left: -40px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-lg-6 { margin-right: 40px !important; margin-left: 40px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-lg-6 { margin-top: 40px !important; margin-bottom: 40px !important; } - /* responsive horizontal auto margins */ - .mx-lg-auto { margin-right: auto !important; margin-left: auto !important; } } -@media (min-width: 1280px) { /* Set a $size margin to all sides at $breakpoint */ - .m-xl-0 { margin: 0 !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-0 { margin-top: 0 !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-0 { margin-right: 0 !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-0 { margin-bottom: 0 !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-0 { margin-left: 0 !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-xl-1 { margin: 4px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-1 { margin-top: 4px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-1 { margin-right: 4px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-1 { margin-bottom: 4px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-1 { margin-left: 4px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-xl-n1 { margin-top: -4px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-xl-n1 { margin-right: -4px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-xl-n1 { margin-bottom: -4px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-xl-n1 { margin-left: -4px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-1 { margin-right: 4px !important; margin-left: 4px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-1 { margin-top: 4px !important; margin-bottom: 4px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-xl-2 { margin: 8px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-2 { margin-top: 8px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-2 { margin-right: 8px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-2 { margin-bottom: 8px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-2 { margin-left: 8px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-xl-n2 { margin-top: -8px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-xl-n2 { margin-right: -8px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-xl-n2 { margin-bottom: -8px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-xl-n2 { margin-left: -8px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-2 { margin-right: 8px !important; margin-left: 8px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-2 { margin-top: 8px !important; margin-bottom: 8px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-xl-3 { margin: 16px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-3 { margin-top: 16px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-3 { margin-right: 16px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-3 { margin-bottom: 16px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-3 { margin-left: 16px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-xl-n3 { margin-top: -16px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-xl-n3 { margin-right: -16px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-xl-n3 { margin-bottom: -16px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-xl-n3 { margin-left: -16px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-3 { margin-right: 16px !important; margin-left: 16px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-3 { margin-top: 16px !important; margin-bottom: 16px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-xl-4 { margin: 24px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-4 { margin-top: 24px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-4 { margin-right: 24px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-4 { margin-bottom: 24px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-4 { margin-left: 24px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-xl-n4 { margin-top: -24px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-xl-n4 { margin-right: -24px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-xl-n4 { margin-bottom: -24px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-xl-n4 { margin-left: -24px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-4 { margin-right: 24px !important; margin-left: 24px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-4 { margin-top: 24px !important; margin-bottom: 24px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-xl-5 { margin: 32px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-5 { margin-top: 32px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-5 { margin-right: 32px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-5 { margin-bottom: 32px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-5 { margin-left: 32px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-xl-n5 { margin-top: -32px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-xl-n5 { margin-right: -32px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-xl-n5 { margin-bottom: -32px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-xl-n5 { margin-left: -32px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-5 { margin-right: 32px !important; margin-left: 32px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-5 { margin-top: 32px !important; margin-bottom: 32px !important; } - /* Set a $size margin to all sides at $breakpoint */ - .m-xl-6 { margin: 40px !important; } - /* Set a $size margin on the top at $breakpoint */ - .mt-xl-6 { margin-top: 40px !important; } - /* Set a $size margin on the right at $breakpoint */ - .mr-xl-6 { margin-right: 40px !important; } - /* Set a $size margin on the bottom at $breakpoint */ - .mb-xl-6 { margin-bottom: 40px !important; } - /* Set a $size margin on the left at $breakpoint */ - .ml-xl-6 { margin-left: 40px !important; } - /* Set a negative $size margin on top at $breakpoint */ - .mt-xl-n6 { margin-top: -40px !important; } - /* Set a negative $size margin on the right at $breakpoint */ - .mr-xl-n6 { margin-right: -40px !important; } - /* Set a negative $size margin on the bottom at $breakpoint */ - .mb-xl-n6 { margin-bottom: -40px !important; } - /* Set a negative $size margin on the left at $breakpoint */ - .ml-xl-n6 { margin-left: -40px !important; } - /* Set a $size margin on the left & right at $breakpoint */ - .mx-xl-6 { margin-right: 40px !important; margin-left: 40px !important; } - /* Set a $size margin on the top & bottom at $breakpoint */ - .my-xl-6 { margin-top: 40px !important; margin-bottom: 40px !important; } - /* responsive horizontal auto margins */ - .mx-xl-auto { margin-right: auto !important; margin-left: auto !important; } } -/* Set a $size padding to all sides at $breakpoint */ -.p-0 { padding: 0 !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-0 { padding-top: 0 !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-0 { padding-right: 0 !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-0 { padding-bottom: 0 !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-0 { padding-left: 0 !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-0 { padding-right: 0 !important; padding-left: 0 !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - -/* Set a $size padding to all sides at $breakpoint */ -.p-1 { padding: 4px !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-1 { padding-top: 4px !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-1 { padding-right: 4px !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-1 { padding-bottom: 4px !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-1 { padding-left: 4px !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-1 { padding-right: 4px !important; padding-left: 4px !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-1 { padding-top: 4px !important; padding-bottom: 4px !important; } - -/* Set a $size padding to all sides at $breakpoint */ -.p-2 { padding: 8px !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-2 { padding-top: 8px !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-2 { padding-right: 8px !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-2 { padding-bottom: 8px !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-2 { padding-left: 8px !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-2 { padding-right: 8px !important; padding-left: 8px !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-2 { padding-top: 8px !important; padding-bottom: 8px !important; } - -/* Set a $size padding to all sides at $breakpoint */ -.p-3 { padding: 16px !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-3 { padding-top: 16px !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-3 { padding-right: 16px !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-3 { padding-bottom: 16px !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-3 { padding-left: 16px !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-3 { padding-right: 16px !important; padding-left: 16px !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-3 { padding-top: 16px !important; padding-bottom: 16px !important; } - -/* Set a $size padding to all sides at $breakpoint */ -.p-4 { padding: 24px !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-4 { padding-top: 24px !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-4 { padding-right: 24px !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-4 { padding-bottom: 24px !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-4 { padding-left: 24px !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-4 { padding-right: 24px !important; padding-left: 24px !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-4 { padding-top: 24px !important; padding-bottom: 24px !important; } - -/* Set a $size padding to all sides at $breakpoint */ -.p-5 { padding: 32px !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-5 { padding-top: 32px !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-5 { padding-right: 32px !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-5 { padding-bottom: 32px !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-5 { padding-left: 32px !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-5 { padding-right: 32px !important; padding-left: 32px !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-5 { padding-top: 32px !important; padding-bottom: 32px !important; } - -/* Set a $size padding to all sides at $breakpoint */ -.p-6 { padding: 40px !important; } - -/* Set a $size padding to the top at $breakpoint */ -.pt-6 { padding-top: 40px !important; } - -/* Set a $size padding to the right at $breakpoint */ -.pr-6 { padding-right: 40px !important; } - -/* Set a $size padding to the bottom at $breakpoint */ -.pb-6 { padding-bottom: 40px !important; } - -/* Set a $size padding to the left at $breakpoint */ -.pl-6 { padding-left: 40px !important; } - -/* Set a $size padding to the left & right at $breakpoint */ -.px-6 { padding-right: 40px !important; padding-left: 40px !important; } - -/* Set a $size padding to the top & bottom at $breakpoint */ -.py-6 { padding-top: 40px !important; padding-bottom: 40px !important; } - -@media (min-width: 544px) { /* Set a $size padding to all sides at $breakpoint */ - .p-sm-0 { padding: 0 !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-0 { padding-top: 0 !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-0 { padding-right: 0 !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-0 { padding-bottom: 0 !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-0 { padding-left: 0 !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-sm-1 { padding: 4px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-1 { padding-top: 4px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-1 { padding-right: 4px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-1 { padding-bottom: 4px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-1 { padding-left: 4px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-1 { padding-right: 4px !important; padding-left: 4px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-1 { padding-top: 4px !important; padding-bottom: 4px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-sm-2 { padding: 8px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-2 { padding-top: 8px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-2 { padding-right: 8px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-2 { padding-bottom: 8px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-2 { padding-left: 8px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-2 { padding-right: 8px !important; padding-left: 8px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-2 { padding-top: 8px !important; padding-bottom: 8px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-sm-3 { padding: 16px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-3 { padding-top: 16px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-3 { padding-right: 16px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-3 { padding-bottom: 16px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-3 { padding-left: 16px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-3 { padding-right: 16px !important; padding-left: 16px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-3 { padding-top: 16px !important; padding-bottom: 16px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-sm-4 { padding: 24px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-4 { padding-top: 24px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-4 { padding-right: 24px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-4 { padding-bottom: 24px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-4 { padding-left: 24px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-4 { padding-right: 24px !important; padding-left: 24px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-4 { padding-top: 24px !important; padding-bottom: 24px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-sm-5 { padding: 32px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-5 { padding-top: 32px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-5 { padding-right: 32px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-5 { padding-bottom: 32px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-5 { padding-left: 32px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-5 { padding-right: 32px !important; padding-left: 32px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-5 { padding-top: 32px !important; padding-bottom: 32px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-sm-6 { padding: 40px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-sm-6 { padding-top: 40px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-sm-6 { padding-right: 40px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-sm-6 { padding-bottom: 40px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-sm-6 { padding-left: 40px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-sm-6 { padding-right: 40px !important; padding-left: 40px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-sm-6 { padding-top: 40px !important; padding-bottom: 40px !important; } } -@media (min-width: 768px) { /* Set a $size padding to all sides at $breakpoint */ - .p-md-0 { padding: 0 !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-0 { padding-top: 0 !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-0 { padding-right: 0 !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-0 { padding-bottom: 0 !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-0 { padding-left: 0 !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-md-1 { padding: 4px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-1 { padding-top: 4px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-1 { padding-right: 4px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-1 { padding-bottom: 4px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-1 { padding-left: 4px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-1 { padding-right: 4px !important; padding-left: 4px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-1 { padding-top: 4px !important; padding-bottom: 4px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-md-2 { padding: 8px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-2 { padding-top: 8px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-2 { padding-right: 8px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-2 { padding-bottom: 8px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-2 { padding-left: 8px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-2 { padding-right: 8px !important; padding-left: 8px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-2 { padding-top: 8px !important; padding-bottom: 8px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-md-3 { padding: 16px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-3 { padding-top: 16px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-3 { padding-right: 16px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-3 { padding-bottom: 16px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-3 { padding-left: 16px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-3 { padding-right: 16px !important; padding-left: 16px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-3 { padding-top: 16px !important; padding-bottom: 16px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-md-4 { padding: 24px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-4 { padding-top: 24px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-4 { padding-right: 24px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-4 { padding-bottom: 24px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-4 { padding-left: 24px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-4 { padding-right: 24px !important; padding-left: 24px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-4 { padding-top: 24px !important; padding-bottom: 24px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-md-5 { padding: 32px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-5 { padding-top: 32px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-5 { padding-right: 32px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-5 { padding-bottom: 32px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-5 { padding-left: 32px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-5 { padding-right: 32px !important; padding-left: 32px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-5 { padding-top: 32px !important; padding-bottom: 32px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-md-6 { padding: 40px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-md-6 { padding-top: 40px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-md-6 { padding-right: 40px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-md-6 { padding-bottom: 40px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-md-6 { padding-left: 40px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-md-6 { padding-right: 40px !important; padding-left: 40px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-md-6 { padding-top: 40px !important; padding-bottom: 40px !important; } } -@media (min-width: 1012px) { /* Set a $size padding to all sides at $breakpoint */ - .p-lg-0 { padding: 0 !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-0 { padding-top: 0 !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-0 { padding-right: 0 !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-0 { padding-bottom: 0 !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-0 { padding-left: 0 !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-lg-1 { padding: 4px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-1 { padding-top: 4px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-1 { padding-right: 4px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-1 { padding-bottom: 4px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-1 { padding-left: 4px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-1 { padding-right: 4px !important; padding-left: 4px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-1 { padding-top: 4px !important; padding-bottom: 4px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-lg-2 { padding: 8px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-2 { padding-top: 8px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-2 { padding-right: 8px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-2 { padding-bottom: 8px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-2 { padding-left: 8px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-2 { padding-right: 8px !important; padding-left: 8px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-2 { padding-top: 8px !important; padding-bottom: 8px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-lg-3 { padding: 16px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-3 { padding-top: 16px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-3 { padding-right: 16px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-3 { padding-bottom: 16px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-3 { padding-left: 16px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-3 { padding-right: 16px !important; padding-left: 16px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-3 { padding-top: 16px !important; padding-bottom: 16px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-lg-4 { padding: 24px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-4 { padding-top: 24px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-4 { padding-right: 24px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-4 { padding-bottom: 24px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-4 { padding-left: 24px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-4 { padding-right: 24px !important; padding-left: 24px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-4 { padding-top: 24px !important; padding-bottom: 24px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-lg-5 { padding: 32px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-5 { padding-top: 32px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-5 { padding-right: 32px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-5 { padding-bottom: 32px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-5 { padding-left: 32px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-5 { padding-right: 32px !important; padding-left: 32px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-5 { padding-top: 32px !important; padding-bottom: 32px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-lg-6 { padding: 40px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-lg-6 { padding-top: 40px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-lg-6 { padding-right: 40px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-lg-6 { padding-bottom: 40px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-lg-6 { padding-left: 40px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-lg-6 { padding-right: 40px !important; padding-left: 40px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-lg-6 { padding-top: 40px !important; padding-bottom: 40px !important; } } -@media (min-width: 1280px) { /* Set a $size padding to all sides at $breakpoint */ - .p-xl-0 { padding: 0 !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-0 { padding-top: 0 !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-0 { padding-right: 0 !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-0 { padding-bottom: 0 !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-0 { padding-left: 0 !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-xl-1 { padding: 4px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-1 { padding-top: 4px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-1 { padding-right: 4px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-1 { padding-bottom: 4px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-1 { padding-left: 4px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-1 { padding-right: 4px !important; padding-left: 4px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-1 { padding-top: 4px !important; padding-bottom: 4px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-xl-2 { padding: 8px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-2 { padding-top: 8px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-2 { padding-right: 8px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-2 { padding-bottom: 8px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-2 { padding-left: 8px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-2 { padding-right: 8px !important; padding-left: 8px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-2 { padding-top: 8px !important; padding-bottom: 8px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-xl-3 { padding: 16px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-3 { padding-top: 16px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-3 { padding-right: 16px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-3 { padding-bottom: 16px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-3 { padding-left: 16px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-3 { padding-right: 16px !important; padding-left: 16px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-3 { padding-top: 16px !important; padding-bottom: 16px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-xl-4 { padding: 24px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-4 { padding-top: 24px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-4 { padding-right: 24px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-4 { padding-bottom: 24px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-4 { padding-left: 24px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-4 { padding-right: 24px !important; padding-left: 24px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-4 { padding-top: 24px !important; padding-bottom: 24px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-xl-5 { padding: 32px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-5 { padding-top: 32px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-5 { padding-right: 32px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-5 { padding-bottom: 32px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-5 { padding-left: 32px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-5 { padding-right: 32px !important; padding-left: 32px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-5 { padding-top: 32px !important; padding-bottom: 32px !important; } - /* Set a $size padding to all sides at $breakpoint */ - .p-xl-6 { padding: 40px !important; } - /* Set a $size padding to the top at $breakpoint */ - .pt-xl-6 { padding-top: 40px !important; } - /* Set a $size padding to the right at $breakpoint */ - .pr-xl-6 { padding-right: 40px !important; } - /* Set a $size padding to the bottom at $breakpoint */ - .pb-xl-6 { padding-bottom: 40px !important; } - /* Set a $size padding to the left at $breakpoint */ - .pl-xl-6 { padding-left: 40px !important; } - /* Set a $size padding to the left & right at $breakpoint */ - .px-xl-6 { padding-right: 40px !important; padding-left: 40px !important; } - /* Set a $size padding to the top & bottom at $breakpoint */ - .py-xl-6 { padding-top: 40px !important; padding-bottom: 40px !important; } } -.p-responsive { padding-right: 16px !important; padding-left: 16px !important; } -@media (min-width: 544px) { .p-responsive { padding-right: 40px !important; padding-left: 40px !important; } } -@media (min-width: 1012px) { .p-responsive { padding-right: 16px !important; padding-left: 16px !important; } } - -/* Set the font size to 26px */ -.h1 { font-size: 26px !important; } -@media (min-width: 768px) { .h1 { font-size: 32px !important; } } - -/* Set the font size to 22px */ -.h2 { font-size: 22px !important; } -@media (min-width: 768px) { .h2 { font-size: 24px !important; } } - -/* Set the font size to 18px */ -.h3 { font-size: 18px !important; } -@media (min-width: 768px) { .h3 { font-size: 20px !important; } } - -/* Set the font size to 16px */ -.h4 { font-size: 16px !important; } - -/* Set the font size to 14px */ -.h5 { font-size: 14px !important; } - -/* Set the font size to 12px */ -.h6 { font-size: 12px !important; } - -.h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 600 !important; } - -/* Set the font size to 26px */ -.f1 { font-size: 26px !important; } -@media (min-width: 768px) { .f1 { font-size: 32px !important; } } - -/* Set the font size to 22px */ -.f2 { font-size: 22px !important; } -@media (min-width: 768px) { .f2 { font-size: 24px !important; } } - -/* Set the font size to 18px */ -.f3 { font-size: 18px !important; } -@media (min-width: 768px) { .f3 { font-size: 20px !important; } } - -/* Set the font size to 16px */ -.f4 { font-size: 16px !important; } -@media (min-width: 768px) { .f4 { font-size: 16px !important; } } - -/* Set the font size to 14px */ -.f5 { font-size: 14px !important; } - -/* Set the font size to 12px */ -.f6 { font-size: 12px !important; } - -/* Set the font size to 40px and weight to light */ -.f00-light { font-size: 40px !important; font-weight: 300 !important; } -@media (min-width: 768px) { .f00-light { font-size: 48px !important; } } - -/* Set the font size to 32px and weight to light */ -.f0-light { font-size: 32px !important; font-weight: 300 !important; } -@media (min-width: 768px) { .f0-light { font-size: 40px !important; } } - -/* Set the font size to 26px and weight to light */ -.f1-light { font-size: 26px !important; font-weight: 300 !important; } -@media (min-width: 768px) { .f1-light { font-size: 32px !important; } } - -/* Set the font size to 22px and weight to light */ -.f2-light { font-size: 22px !important; font-weight: 300 !important; } -@media (min-width: 768px) { .f2-light { font-size: 24px !important; } } - -/* Set the font size to 18px and weight to light */ -.f3-light { font-size: 18px !important; font-weight: 300 !important; } -@media (min-width: 768px) { .f3-light { font-size: 20px !important; } } - -/* Set the font size to ${#h6-size} */ -.text-small { font-size: 12px !important; } - -/* Large leading paragraphs */ -.lead { margin-bottom: 30px; font-size: 20px; font-weight: 300; color: #586069; } - -/* Set the line height to ultra condensed */ -.lh-condensed-ultra { line-height: 1 !important; } - -/* Set the line height to condensed */ -.lh-condensed { line-height: 1.25 !important; } - -/* Set the line height to default */ -.lh-default { line-height: 1.5 !important; } - -/* Set the line height to zero */ -.lh-0 { line-height: 0 !important; } - -/* Text align to the right */ -.text-right { text-align: right !important; } - -/* Text align to the left */ -.text-left { text-align: left !important; } - -/* Text align to the center */ -.text-center { text-align: center !important; } - -@media (min-width: 544px) { /* Text align to the right */ - .text-sm-right { text-align: right !important; } - /* Text align to the left */ - .text-sm-left { text-align: left !important; } - /* Text align to the center */ - .text-sm-center { text-align: center !important; } } -@media (min-width: 768px) { /* Text align to the right */ - .text-md-right { text-align: right !important; } - /* Text align to the left */ - .text-md-left { text-align: left !important; } - /* Text align to the center */ - .text-md-center { text-align: center !important; } } -@media (min-width: 1012px) { /* Text align to the right */ - .text-lg-right { text-align: right !important; } - /* Text align to the left */ - .text-lg-left { text-align: left !important; } - /* Text align to the center */ - .text-lg-center { text-align: center !important; } } -@media (min-width: 1280px) { /* Text align to the right */ - .text-xl-right { text-align: right !important; } - /* Text align to the left */ - .text-xl-left { text-align: left !important; } - /* Text align to the center */ - .text-xl-center { text-align: center !important; } } -/* Set the font weight to normal */ -.text-normal { font-weight: 400 !important; } - -/* Set the font weight to bold */ -.text-bold { font-weight: 600 !important; } - -/* Set the font to italic */ -.text-italic { font-style: italic !important; } - -/* Make text uppercase */ -.text-uppercase { text-transform: uppercase !important; } - -/* Underline text */ -.text-underline { text-decoration: underline !important; } - -/* Don't underline text */ -.no-underline { text-decoration: none !important; } - -/* Don't wrap white space */ -.no-wrap { white-space: nowrap !important; } - -/* Normal white space */ -.ws-normal { white-space: normal !important; } - -/* Allow long lines with no spaces to line break */ -.wb-break-all { word-break: break-all !important; } - -.text-emphasized { font-weight: 600; color: #24292e; } - -.list-style-none { list-style: none !important; } - -/* Add a dark text shadow */ -.text-shadow-dark { text-shadow: 0 1px 1px rgba(27, 31, 35, 0.25), 0 1px 25px rgba(27, 31, 35, 0.75); } - -/* Add a light text shadow */ -.text-shadow-light { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } - -/* Set to monospace font */ -.text-mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; } - -/* Disallow user from selecting text */ -.user-select-none { user-select: none !important; } - -.d-block { display: block !important; } - -.d-flex { display: flex !important; } - -.d-inline { display: inline !important; } - -.d-inline-block { display: inline-block !important; } - -.d-inline-flex { display: inline-flex !important; } - -.d-none { display: none !important; } - -.d-table { display: table !important; } - -.d-table-cell { display: table-cell !important; } - -@media (min-width: 544px) { .d-sm-block { display: block !important; } - .d-sm-flex { display: flex !important; } - .d-sm-inline { display: inline !important; } - .d-sm-inline-block { display: inline-block !important; } - .d-sm-inline-flex { display: inline-flex !important; } - .d-sm-none { display: none !important; } - .d-sm-table { display: table !important; } - .d-sm-table-cell { display: table-cell !important; } } -@media (min-width: 768px) { .d-md-block { display: block !important; } - .d-md-flex { display: flex !important; } - .d-md-inline { display: inline !important; } - .d-md-inline-block { display: inline-block !important; } - .d-md-inline-flex { display: inline-flex !important; } - .d-md-none { display: none !important; } - .d-md-table { display: table !important; } - .d-md-table-cell { display: table-cell !important; } } -@media (min-width: 1012px) { .d-lg-block { display: block !important; } - .d-lg-flex { display: flex !important; } - .d-lg-inline { display: inline !important; } - .d-lg-inline-block { display: inline-block !important; } - .d-lg-inline-flex { display: inline-flex !important; } - .d-lg-none { display: none !important; } - .d-lg-table { display: table !important; } - .d-lg-table-cell { display: table-cell !important; } } -@media (min-width: 1280px) { .d-xl-block { display: block !important; } - .d-xl-flex { display: flex !important; } - .d-xl-inline { display: inline !important; } - .d-xl-inline-block { display: inline-block !important; } - .d-xl-inline-flex { display: inline-flex !important; } - .d-xl-none { display: none !important; } - .d-xl-table { display: table !important; } - .d-xl-table-cell { display: table-cell !important; } } -.v-hidden { visibility: hidden !important; } - -.v-visible { visibility: visible !important; } - -@media (max-width: 544px) { .hide-sm { display: none !important; } } -@media (min-width: 544px) and (max-width: 768px) { .hide-md { display: none !important; } } -@media (min-width: 768px) and (max-width: 1012px) { .hide-lg { display: none !important; } } -@media (min-width: 1012px) { .hide-xl { display: none !important; } } -/* Set the table-layout to fixed */ -.table-fixed { table-layout: fixed !important; } - -.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); word-wrap: normal; border: 0; } - -.show-on-focus { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); } -.show-on-focus:focus { z-index: 20; width: auto; height: auto; clip: auto; } - -.container { width: 980px; margin-right: auto; margin-left: auto; } -.container::before { display: table; content: ""; } -.container::after { display: table; clear: both; content: ""; } - -.container-md { max-width: 768px; margin-right: auto; margin-left: auto; } - -.container-lg { max-width: 1012px; margin-right: auto; margin-left: auto; } - -.container-xl { max-width: 1280px; margin-right: auto; margin-left: auto; } - -.columns { margin-right: -10px; margin-left: -10px; } -.columns::before { display: table; content: ""; } -.columns::after { display: table; clear: both; content: ""; } - -.column { float: left; padding-right: 10px; padding-left: 10px; } - -.one-third { width: 33.333333%; } - -.two-thirds { width: 66.666667%; } - -.one-fourth { width: 25%; } - -.one-half { width: 50%; } - -.three-fourths { width: 75%; } - -.one-fifth { width: 20%; } - -.four-fifths { width: 80%; } - -.centered { display: block; float: none; margin-right: auto; margin-left: auto; } - -.col-1 { width: 8.3333333333%; } - -.col-2 { width: 16.6666666667%; } - -.col-3 { width: 25%; } - -.col-4 { width: 33.3333333333%; } - -.col-5 { width: 41.6666666667%; } - -.col-6 { width: 50%; } - -.col-7 { width: 58.3333333333%; } - -.col-8 { width: 66.6666666667%; } - -.col-9 { width: 75%; } - -.col-10 { width: 83.3333333333%; } - -.col-11 { width: 91.6666666667%; } - -.col-12 { width: 100%; } - -@media (min-width: 544px) { .col-sm-1 { width: 8.3333333333%; } - .col-sm-2 { width: 16.6666666667%; } - .col-sm-3 { width: 25%; } - .col-sm-4 { width: 33.3333333333%; } - .col-sm-5 { width: 41.6666666667%; } - .col-sm-6 { width: 50%; } - .col-sm-7 { width: 58.3333333333%; } - .col-sm-8 { width: 66.6666666667%; } - .col-sm-9 { width: 75%; } - .col-sm-10 { width: 83.3333333333%; } - .col-sm-11 { width: 91.6666666667%; } - .col-sm-12 { width: 100%; } } -@media (min-width: 768px) { .col-md-1 { width: 8.3333333333%; } - .col-md-2 { width: 16.6666666667%; } - .col-md-3 { width: 25%; } - .col-md-4 { width: 33.3333333333%; } - .col-md-5 { width: 41.6666666667%; } - .col-md-6 { width: 50%; } - .col-md-7 { width: 58.3333333333%; } - .col-md-8 { width: 66.6666666667%; } - .col-md-9 { width: 75%; } - .col-md-10 { width: 83.3333333333%; } - .col-md-11 { width: 91.6666666667%; } - .col-md-12 { width: 100%; } } -@media (min-width: 1012px) { .col-lg-1 { width: 8.3333333333%; } - .col-lg-2 { width: 16.6666666667%; } - .col-lg-3 { width: 25%; } - .col-lg-4 { width: 33.3333333333%; } - .col-lg-5 { width: 41.6666666667%; } - .col-lg-6 { width: 50%; } - .col-lg-7 { width: 58.3333333333%; } - .col-lg-8 { width: 66.6666666667%; } - .col-lg-9 { width: 75%; } - .col-lg-10 { width: 83.3333333333%; } - .col-lg-11 { width: 91.6666666667%; } - .col-lg-12 { width: 100%; } } -@media (min-width: 1280px) { .col-xl-1 { width: 8.3333333333%; } - .col-xl-2 { width: 16.6666666667%; } - .col-xl-3 { width: 25%; } - .col-xl-4 { width: 33.3333333333%; } - .col-xl-5 { width: 41.6666666667%; } - .col-xl-6 { width: 50%; } - .col-xl-7 { width: 58.3333333333%; } - .col-xl-8 { width: 66.6666666667%; } - .col-xl-9 { width: 75%; } - .col-xl-10 { width: 83.3333333333%; } - .col-xl-11 { width: 91.6666666667%; } - .col-xl-12 { width: 100%; } } -.gutter { margin-right: -16px; margin-left: -16px; } -.gutter > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; } - -.gutter-condensed { margin-right: -8px; margin-left: -8px; } -.gutter-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; } - -.gutter-spacious { margin-right: -24px; margin-left: -24px; } -.gutter-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } - -@media (min-width: 544px) { .gutter-sm { margin-right: -16px; margin-left: -16px; } - .gutter-sm > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; } - .gutter-sm-condensed { margin-right: -8px; margin-left: -8px; } - .gutter-sm-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; } - .gutter-sm-spacious { margin-right: -24px; margin-left: -24px; } - .gutter-sm-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } } -@media (min-width: 768px) { .gutter-md { margin-right: -16px; margin-left: -16px; } - .gutter-md > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; } - .gutter-md-condensed { margin-right: -8px; margin-left: -8px; } - .gutter-md-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; } - .gutter-md-spacious { margin-right: -24px; margin-left: -24px; } - .gutter-md-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } } -@media (min-width: 1012px) { .gutter-lg { margin-right: -16px; margin-left: -16px; } - .gutter-lg > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; } - .gutter-lg-condensed { margin-right: -8px; margin-left: -8px; } - .gutter-lg-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; } - .gutter-lg-spacious { margin-right: -24px; margin-left: -24px; } - .gutter-lg-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } } -@media (min-width: 1280px) { .gutter-xl { margin-right: -16px; margin-left: -16px; } - .gutter-xl > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; } - .gutter-xl-condensed { margin-right: -8px; margin-left: -8px; } - .gutter-xl-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; } - .gutter-xl-spacious { margin-right: -24px; margin-left: -24px; } - .gutter-xl-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } } -.offset-1 { margin-left: 8.3333333333% !important; } - -.offset-2 { margin-left: 16.6666666667% !important; } - -.offset-3 { margin-left: 25% !important; } - -.offset-4 { margin-left: 33.3333333333% !important; } - -.offset-5 { margin-left: 41.6666666667% !important; } - -.offset-6 { margin-left: 50% !important; } - -.offset-7 { margin-left: 58.3333333333% !important; } - -.offset-8 { margin-left: 66.6666666667% !important; } - -.offset-9 { margin-left: 75% !important; } - -.offset-10 { margin-left: 83.3333333333% !important; } - -.offset-11 { margin-left: 91.6666666667% !important; } - -@media (min-width: 544px) { .offset-sm-1 { margin-left: 8.3333333333% !important; } - .offset-sm-2 { margin-left: 16.6666666667% !important; } - .offset-sm-3 { margin-left: 25% !important; } - .offset-sm-4 { margin-left: 33.3333333333% !important; } - .offset-sm-5 { margin-left: 41.6666666667% !important; } - .offset-sm-6 { margin-left: 50% !important; } - .offset-sm-7 { margin-left: 58.3333333333% !important; } - .offset-sm-8 { margin-left: 66.6666666667% !important; } - .offset-sm-9 { margin-left: 75% !important; } - .offset-sm-10 { margin-left: 83.3333333333% !important; } - .offset-sm-11 { margin-left: 91.6666666667% !important; } } -@media (min-width: 768px) { .offset-md-1 { margin-left: 8.3333333333% !important; } - .offset-md-2 { margin-left: 16.6666666667% !important; } - .offset-md-3 { margin-left: 25% !important; } - .offset-md-4 { margin-left: 33.3333333333% !important; } - .offset-md-5 { margin-left: 41.6666666667% !important; } - .offset-md-6 { margin-left: 50% !important; } - .offset-md-7 { margin-left: 58.3333333333% !important; } - .offset-md-8 { margin-left: 66.6666666667% !important; } - .offset-md-9 { margin-left: 75% !important; } - .offset-md-10 { margin-left: 83.3333333333% !important; } - .offset-md-11 { margin-left: 91.6666666667% !important; } } -@media (min-width: 1012px) { .offset-lg-1 { margin-left: 8.3333333333% !important; } - .offset-lg-2 { margin-left: 16.6666666667% !important; } - .offset-lg-3 { margin-left: 25% !important; } - .offset-lg-4 { margin-left: 33.3333333333% !important; } - .offset-lg-5 { margin-left: 41.6666666667% !important; } - .offset-lg-6 { margin-left: 50% !important; } - .offset-lg-7 { margin-left: 58.3333333333% !important; } - .offset-lg-8 { margin-left: 66.6666666667% !important; } - .offset-lg-9 { margin-left: 75% !important; } - .offset-lg-10 { margin-left: 83.3333333333% !important; } - .offset-lg-11 { margin-left: 91.6666666667% !important; } } -@media (min-width: 1280px) { .offset-xl-1 { margin-left: 8.3333333333% !important; } - .offset-xl-2 { margin-left: 16.6666666667% !important; } - .offset-xl-3 { margin-left: 25% !important; } - .offset-xl-4 { margin-left: 33.3333333333% !important; } - .offset-xl-5 { margin-left: 41.6666666667% !important; } - .offset-xl-6 { margin-left: 50% !important; } - .offset-xl-7 { margin-left: 58.3333333333% !important; } - .offset-xl-8 { margin-left: 66.6666666667% !important; } - .offset-xl-9 { margin-left: 75% !important; } - .offset-xl-10 { margin-left: 83.3333333333% !important; } - .offset-xl-11 { margin-left: 91.6666666667% !important; } } -.markdown-body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; line-height: 1.5; word-wrap: break-word; } -.markdown-body::before { display: table; content: ""; } -.markdown-body::after { display: table; clear: both; content: ""; } -.markdown-body > *:first-child { margin-top: 0 !important; } -.markdown-body > *:last-child { margin-bottom: 0 !important; } -.markdown-body a:not([href]) { color: inherit; text-decoration: none; } -.markdown-body .absent { color: #cb2431; } -.markdown-body .anchor { float: left; padding-right: 4px; margin-left: -20px; line-height: 1; } -.markdown-body .anchor:focus { outline: none; } -.markdown-body p, .markdown-body blockquote, .markdown-body ul, .markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre { margin-top: 0; margin-bottom: 16px; } -.markdown-body hr { height: 0.25em; padding: 0; margin: 24px 0; background-color: #e1e4e8; border: 0; } -.markdown-body blockquote { padding: 0 1em; color: #6a737d; border-left: 0.25em solid #dfe2e5; } -.markdown-body blockquote > :first-child { margin-top: 0; } -.markdown-body blockquote > :last-child { margin-bottom: 0; } -.markdown-body kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: #444d56; vertical-align: middle; background-color: #fafbfc; border: solid 1px #c6cbd1; border-bottom-color: #959da5; border-radius: 3px; box-shadow: inset 0 -1px 0 #959da5; } - -.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; } -.markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #1b1f23; vertical-align: middle; visibility: hidden; } -.markdown-body h1:hover .anchor, .markdown-body h2:hover .anchor, .markdown-body h3:hover .anchor, .markdown-body h4:hover .anchor, .markdown-body h5:hover .anchor, .markdown-body h6:hover .anchor { text-decoration: none; } -.markdown-body h1:hover .anchor .octicon-link, .markdown-body h2:hover .anchor .octicon-link, .markdown-body h3:hover .anchor .octicon-link, .markdown-body h4:hover .anchor .octicon-link, .markdown-body h5:hover .anchor .octicon-link, .markdown-body h6:hover .anchor .octicon-link { visibility: visible; } -.markdown-body h1 tt, .markdown-body h1 code, .markdown-body h2 tt, .markdown-body h2 code, .markdown-body h3 tt, .markdown-body h3 code, .markdown-body h4 tt, .markdown-body h4 code, .markdown-body h5 tt, .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code { font-size: inherit; } -.markdown-body h1 { padding-bottom: 0.3em; font-size: 2em; border-bottom: 1px solid #eaecef; } -.markdown-body h2 { padding-bottom: 0.3em; font-size: 1.5em; border-bottom: 1px solid #eaecef; } -.markdown-body h3 { font-size: 1.25em; } -.markdown-body h4 { font-size: 1em; } -.markdown-body h5 { font-size: 0.875em; } -.markdown-body h6 { font-size: 0.85em; color: #6a737d; } - -.markdown-body ul, .markdown-body ol { padding-left: 2em; } -.markdown-body ul.no-list, .markdown-body ol.no-list { padding: 0; list-style-type: none; } -.markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul { margin-top: 0; margin-bottom: 0; } -.markdown-body li { word-wrap: break-all; } -.markdown-body li > p { margin-top: 16px; } -.markdown-body li + li { margin-top: 0.25em; } -.markdown-body dl { padding: 0; } -.markdown-body dl dt { padding: 0; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: 600; } -.markdown-body dl dd { padding: 0 16px; margin-bottom: 16px; } - -.markdown-body table { display: block; width: 100%; overflow: auto; } -.markdown-body table th { font-weight: 600; } -.markdown-body table th, .markdown-body table td { padding: 6px 13px; border: 1px solid #dfe2e5; } -.markdown-body table tr { background-color: #fff; border-top: 1px solid #c6cbd1; } -.markdown-body table tr:nth-child(2n) { background-color: #f6f8fa; } -.markdown-body table img { background-color: transparent; } - -.markdown-body img { max-width: 100%; box-sizing: content-box; background-color: #fff; } -.markdown-body img[align=right] { padding-left: 20px; } -.markdown-body img[align=left] { padding-right: 20px; } -.markdown-body .emoji { max-width: none; vertical-align: text-top; background-color: transparent; } -.markdown-body span.frame { display: block; overflow: hidden; } -.markdown-body span.frame > span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0 0; overflow: hidden; border: 1px solid #dfe2e5; } -.markdown-body span.frame span img { display: block; float: left; } -.markdown-body span.frame span span { display: block; padding: 5px 0 0; clear: both; color: #24292e; } -.markdown-body span.align-center { display: block; overflow: hidden; clear: both; } -.markdown-body span.align-center > span { display: block; margin: 13px auto 0; overflow: hidden; text-align: center; } -.markdown-body span.align-center span img { margin: 0 auto; text-align: center; } -.markdown-body span.align-right { display: block; overflow: hidden; clear: both; } -.markdown-body span.align-right > span { display: block; margin: 13px 0 0; overflow: hidden; text-align: right; } -.markdown-body span.align-right span img { margin: 0; text-align: right; } -.markdown-body span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; } -.markdown-body span.float-left span { margin: 13px 0 0; } -.markdown-body span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; } -.markdown-body span.float-right > span { display: block; margin: 13px auto 0; overflow: hidden; text-align: right; } - -.markdown-body code, .markdown-body tt { padding: 0.2em 0.4em; margin: 0; font-size: 85%; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; } -.markdown-body code br, .markdown-body tt br { display: none; } -.markdown-body del code { text-decoration: inherit; } -.markdown-body pre { word-wrap: normal; } -.markdown-body pre > code { padding: 0; margin: 0; font-size: 100%; word-break: normal; white-space: pre; background: transparent; border: 0; } -.markdown-body .highlight { margin-bottom: 16px; } -.markdown-body .highlight pre { margin-bottom: 0; word-break: normal; } -.markdown-body .highlight pre, .markdown-body pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: #f6f8fa; border-radius: 3px; } -.markdown-body pre code, .markdown-body pre tt { display: inline; max-width: auto; padding: 0; margin: 0; overflow: visible; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; } - -.markdown-body .csv-data td, .markdown-body .csv-data th { padding: 5px; overflow: hidden; font-size: 12px; line-height: 1; text-align: left; white-space: nowrap; } -.markdown-body .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; background: #fff; border: 0; } -.markdown-body .csv-data tr { border-top: 0; } -.markdown-body .csv-data th { font-weight: 600; background: #f6f8fa; border-top: 0; } - -.highlight table td { padding: 5px; } - -.highlight table pre { margin: 0; } - -.highlight .cm { color: #999988; font-style: italic; } - -.highlight .cp { color: #999999; font-weight: bold; } - -.highlight .c1 { color: #999988; font-style: italic; } - -.highlight .cs { color: #999999; font-weight: bold; font-style: italic; } - -.highlight .c, .highlight .cd { color: #999988; font-style: italic; } - -.highlight .err { color: #a61717; background-color: #e3d2d2; } - -.highlight .gd { color: #000000; background-color: #ffdddd; } - -.highlight .ge { color: #000000; font-style: italic; } - -.highlight .gr { color: #aa0000; } - -.highlight .gh { color: #999999; } - -.highlight .gi { color: #000000; background-color: #ddffdd; } - -.highlight .go { color: #888888; } - -.highlight .gp { color: #555555; } - -.highlight .gs { font-weight: bold; } - -.highlight .gu { color: #aaaaaa; } - -.highlight .gt { color: #aa0000; } - -.highlight .kc { color: #000000; font-weight: bold; } - -.highlight .kd { color: #000000; font-weight: bold; } - -.highlight .kn { color: #000000; font-weight: bold; } - -.highlight .kp { color: #000000; font-weight: bold; } - -.highlight .kr { color: #000000; font-weight: bold; } - -.highlight .kt { color: #445588; font-weight: bold; } - -.highlight .k, .highlight .kv { color: #000000; font-weight: bold; } - -.highlight .mf { color: #009999; } - -.highlight .mh { color: #009999; } - -.highlight .il { color: #009999; } - -.highlight .mi { color: #009999; } - -.highlight .mo { color: #009999; } - -.highlight .m, .highlight .mb, .highlight .mx { color: #009999; } - -.highlight .sb { color: #d14; } - -.highlight .sc { color: #d14; } - -.highlight .sd { color: #d14; } - -.highlight .s2 { color: #d14; } - -.highlight .se { color: #d14; } - -.highlight .sh { color: #d14; } - -.highlight .si { color: #d14; } - -.highlight .sx { color: #d14; } - -.highlight .sr { color: #009926; } - -.highlight .s1 { color: #d14; } - -.highlight .ss { color: #990073; } - -.highlight .s { color: #d14; } - -.highlight .na { color: #008080; } - -.highlight .bp { color: #999999; } - -.highlight .nb { color: #0086B3; } - -.highlight .nc { color: #445588; font-weight: bold; } - -.highlight .no { color: #008080; } - -.highlight .nd { color: #3c5d5d; font-weight: bold; } - -.highlight .ni { color: #800080; } - -.highlight .ne { color: #990000; font-weight: bold; } - -.highlight .nf { color: #990000; font-weight: bold; } - -.highlight .nl { color: #990000; font-weight: bold; } - -.highlight .nn { color: #555555; } - -.highlight .nt { color: #000080; } - -.highlight .vc { color: #008080; } - -.highlight .vg { color: #008080; } - -.highlight .vi { color: #008080; } - -.highlight .nv { color: #008080; } - -.highlight .ow { color: #000000; font-weight: bold; } - -.highlight .o { color: #000000; font-weight: bold; } - -.highlight .w { color: #bbbbbb; } - -.highlight { background-color: #f8f8f8; } diff --git a/docs/website/images/GitHub_Logo.png b/docs/website/images/GitHub_Logo.png deleted file mode 100644 index 4372f52..0000000 Binary files a/docs/website/images/GitHub_Logo.png and /dev/null differ diff --git a/docs/website/images/autokeras_logo.png b/docs/website/images/autokeras_logo.png deleted file mode 100644 index 3916b8b..0000000 Binary files a/docs/website/images/autokeras_logo.png and /dev/null differ diff --git a/docs/website/images/automl_logos.png b/docs/website/images/automl_logos.png deleted file mode 100644 index abd9fba..0000000 Binary files a/docs/website/images/automl_logos.png and /dev/null differ diff --git a/docs/website/images/bball_favicon.png b/docs/website/images/bball_favicon.png deleted file mode 100644 index 937a99c..0000000 Binary files a/docs/website/images/bball_favicon.png and /dev/null differ diff --git a/docs/website/images/bet_decisions.png b/docs/website/images/bet_decisions.png deleted file mode 100644 index 7aa911e..0000000 Binary files a/docs/website/images/bet_decisions.png and /dev/null differ diff --git a/docs/website/images/cls_model_accuracy.png b/docs/website/images/cls_model_accuracy.png deleted file mode 100644 index 07d6da2..0000000 Binary files a/docs/website/images/cls_model_accuracy.png and /dev/null differ diff --git a/docs/website/images/custom_model_overview.png b/docs/website/images/custom_model_overview.png deleted file mode 100644 index 704429f..0000000 Binary files a/docs/website/images/custom_model_overview.png and /dev/null differ diff --git a/docs/website/images/custom_model_requirements.png b/docs/website/images/custom_model_requirements.png deleted file mode 100644 index 0965016..0000000 Binary files a/docs/website/images/custom_model_requirements.png and /dev/null differ diff --git a/docs/website/images/daily_update_data_flow_diagram.png b/docs/website/images/daily_update_data_flow_diagram.png deleted file mode 100644 index 14fd93b..0000000 Binary files a/docs/website/images/daily_update_data_flow_diagram.png and /dev/null differ diff --git a/docs/website/images/dashboard.png b/docs/website/images/dashboard.png deleted file mode 100644 index 0dfad33..0000000 Binary files a/docs/website/images/dashboard.png and /dev/null differ diff --git a/docs/website/images/data_engineering_flowchart_1.png b/docs/website/images/data_engineering_flowchart_1.png deleted file mode 100644 index b3ab18a..0000000 Binary files a/docs/website/images/data_engineering_flowchart_1.png and /dev/null differ diff --git a/docs/website/images/data_engineering_flowchart_2.png b/docs/website/images/data_engineering_flowchart_2.png deleted file mode 100644 index 58bc362..0000000 Binary files a/docs/website/images/data_engineering_flowchart_2.png and /dev/null differ diff --git a/docs/website/images/github-mark.png b/docs/website/images/github-mark.png deleted file mode 100644 index 6cb3b70..0000000 Binary files a/docs/website/images/github-mark.png and /dev/null differ diff --git a/docs/website/images/nba_header.png b/docs/website/images/nba_header.png deleted file mode 100644 index c021c95..0000000 Binary files a/docs/website/images/nba_header.png and /dev/null differ diff --git a/docs/website/images/vegas_miss_abs.png b/docs/website/images/vegas_miss_abs.png deleted file mode 100644 index 14385f6..0000000 Binary files a/docs/website/images/vegas_miss_abs.png and /dev/null differ diff --git a/docs/website/images/vegas_miss_by_week.png b/docs/website/images/vegas_miss_by_week.png deleted file mode 100644 index 2856707..0000000 Binary files a/docs/website/images/vegas_miss_by_week.png and /dev/null differ diff --git a/docs/website/images/vegas_miss_statistics.png b/docs/website/images/vegas_miss_statistics.png deleted file mode 100644 index e6af3a9..0000000 Binary files a/docs/website/images/vegas_miss_statistics.png and /dev/null differ diff --git a/docs/website/images/web_app.png b/docs/website/images/web_app.png deleted file mode 100644 index 830bc9b..0000000 Binary files a/docs/website/images/web_app.png and /dev/null differ diff --git a/docs/website/index.html b/docs/website/index.html deleted file mode 100644 index a1fd322..0000000 --- a/docs/website/index.html +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - NBA Betting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- Header Image -
- - -
-

Table of Contents

- -
- - - - -
-

Introduction

- -

Project Goal

-

Create a Comprehensive and Profitable System for Predicting the - Outcomes of NBA Games. -

- -

Comprehensive Approach

-

Under the 'comprehensive' aspect, the project will explore and test all plausible prediction methods, - ensuring an evolving scope and prioritization based on the utility of the results. This creates a - potentially never-ending project scope, focusing on the most impactful methods first.

- -

Profitability Focus

-

The 'profitable' aspect aims to transcend theoretical exercises, focusing on generating direct financial - gains or actionable insights for profitable betting decisions. However, consistent success in - outperforming betting markets presents challenges, including the potential erosion of profitability if - widely accessible. Therefore, while aiming for profitability, the project will be strategically managed - to balance public access and financial viability.

- -

Broad Definition of Outcomes

-

Initially, the project will focus on predicting the final score margins. In its long-term vision, it will - expand to cover other betting domains like over/under and player props, embracing a broad definition of - 'outcomes'.

- -

This project is not just an analysis or a static model, but a continuously evolving resource aimed at - setting new standards in predictive analytics for NBA games.

- -

Motivation

-

NBA betting uniquely aligns with my interests, knowledge, skills, and goals, making it an exciting and - beneficial project for me - a fortunate convergence of passions!

- - - -

Plan

-

How do we predict the outcome of an NBA game? What are the inputs, and how do they interplay to yield - accurate predictions? From a data science viewpoint, the challenge lies in identifying the optimal - feature set and designing an effective model architecture.

- -

Given the structured nature of sports and the abundant public data, the approach to this problem can vary - significantly. The vast amount of data available for a single NBA game outstrips what is typically found - in fields like finance, manufacturing, or IoT in terms of both breadth and depth. This abundance is both - a blessing and a challenge: the options are plentiful, but selecting the right ones and managing them - effectively is crucial.

- -

Below is the current framework for organizing this project. It outlines the proposed methodology, data - sources, and model structure. This framework is open to evolution, and I welcome suggestions for - refinement or alternative approaches.

- -

How to predict an NBA game result?

-

Organizing and conceptualizing approaches to NBA game predictions involves multiple layers, each - influenced by data sources and model architectures. We've divided this complex question into four - distinct levels. Each level can function independently for predictions or be aggregated as part of a - higher-level framework.

- -

Join the discussion on our approach: GitHub Discussion - - Frameworks

- -
    -
  1. Player Prediction Framework: This level focuses on individual player performance, - aiming to quantify a player's quality. A simple example is estimating a team's score by summing up - the players' average points per game.
  2. - -
  3. Player Interaction and Synergy Framework: This framework centers on how players - perform in various combinations on the court. It explores questions like how certain player pairings - or lineup compositions affect overall team performance, highlighting the idea that the whole can be - greater than the sum of its parts.
  4. - -
  5. Team Prediction Framework: This is the conventional level for predicting game - outcomes, asking how one team compares to another. It's also the level at which betting lines are - typically set, like "GSW -8 vs SAC +8" or "PHX -210 vs DAL +240".
  6. - -
  7. Game Prediction Framework: This comprehensive level includes all factors that could - impact game results: game location, referee decisions, schedule effects (back-to-back games, travel, - rest days), organizational incentives (tanking, playoff seeding), coaching styles, etc. It also - encompasses more ephemeral data like betting trends, line movements, and player availability - (injuries, rest days).
  8. -
- -

Data Point Examples

-

Deciding which data points to pursue is a complex yet crucial part of this project. The challenge lies in - identifying the most relevant and impactful types of data from a plethora of available sources. This - includes determining the optimal format and granularity of the data, whether it be raw data, traditional - stats, advanced metrics, or even public perception and power rankings.

- -

Initially, the project aimed to collect a broad array of data categories, but it quickly became evident - that each data point carries its own set of challenges, especially in terms of acquisition and - management. Consequently, a more strategic approach is needed, focusing on the most beneficial data in - terms of time and resources.

- -

Data acquisition has been the most time-consuming phase so far, further complicated by the time series - nature of sports data. Predictive metrics vary in their utility based on the timeframe considered - be - it team history, season-to-date stats, recent performance, or data from the last game. Additionally, - machine learning and deep learning models require point-in-time data, which poses its own set of - challenges in terms of availability and structuring.

- -

Join the discussion and share your insights on data points: GitHub - Discussion - Data Points

- -

Below are examples of the types of data points being considered, showcasing the breadth and depth of the - information landscape we're navigating.

- -
- - - - - - - - - - - - - - - - - - - -
Raw DataTraditional StatisticsAdvanced StatisticsSubjectiveOther
-
    -
  • Play by Play Logs
  • -
  • Game Video
  • -
  • Camera Tracking
  • -
-
-
    -
  • Box Scores
  • -
  • Points, Rebounds, Assists
  • -
  • Win Loss Records
  • - -
-
-
    -
  • EPM
  • -
  • PER
  • -
  • RAPTOR
  • -
-
-
    -
  • Power Rankings
  • -
  • NBA2k Ratings
  • -
  • Social Media Sentiment
  • -
-
-
    -
  • Schedule Effects
  • -
  • Injuries
  • -
  • Referees
  • -
-
-
-
- - -
-

Current Goal: Focusing on Point Spread and Team Prediction

-

The overarching objective of this project is to develop a sophisticated system to tackle the challenging - goal of predicting NBA game outcomes. Initially, the focus is narrowed down to predicting the point - spread using the team prediction framework. This approach aligns with the most common method in betting - markets and offers a tangible starting point.

- -

The aim is to surpass the accuracy of betting lines set by Vegas, which predict the game winner and - margin. While these lines are a strong benchmark, there's an average discrepancy of over 9 points per - game compared to actual results, highlighting a significant room for improvement. The graph below - illustrates the evolution of this average discrepancy over time.

- - Vegas Miss - -

However, before delving into the methodology, it's important to acknowledge a unique challenge in this - endeavor. Vegas, with its extensive resources and data, sets a high bar for predictive accuracy. - Simultaneously, the public availability of Vegas lines offers a valuable data source for modeling. This - dual nature creates a tight performance range, making it a delicate balance to measure real progress and - achieve tangible improvements.

-
- - -
-

Project Structure: Data Science Workflow and Infrastructure

-

The project's architecture is built around a relational database, integrated with a series of data - processing and model training steps. The core database, currently hosted on Amazon RDS, utilizes - PostgreSQL, but the system is designed to be adaptable to other platforms. The daily workflow involves - updating the database with the latest data, followed by data processing, feature engineering, model - training, and ultimately, using the model for predictions to inform betting strategies. This entire - process is encapsulated within a web application and dashboard, providing a comprehensive and - user-friendly interface. Below is a flowchart that outlines this data science workflow.

- - Data Flow Diagram -
- - - -
-

Data Sourcing and Storage: Building the Foundation

-

The data sourcing and storage phase is arguably the most challenging and time-intensive aspect of this - project. The data needed falls into three primary categories:

-
    -
  1. Game Data: This includes fundamental details like dates, times, teams, and scores - of the games.
  2. -
  3. Betting Market Data: Crucial for the betting aspect, this includes various betting - lines and odds.
  4. -
  5. Feature Data: Comprising the data points used for making predictions, this is the - backbone of our modeling.
  6. -
-

While acquiring current data is relatively straightforward, the real challenge lies in sourcing - historical data for training and testing machine learning and deep learning models.

-

Initially, the approach involved using web scraping tools like Scrapy to gather data at minimal costs. - However, this method proved to be laborious and fraught with complexities. To streamline the process, - the project will transition to using paid data services, allowing a sharper focus on modeling and - prediction. Below is a flowchart detailing the data sourcing and storage process, along with links to - the current and future data sources and the relevant project code.

- - Data Sourcing and Storage - - -
- - - -
-

Data Prep and Feature Engineering: The Core of Predictive - Analytics

- - ETL - -

This section delves into the critical steps of data preparation and feature engineering, which form the - backbone of our predictive modeling. The main steps include:

-
    -
  1. Loading Data: Retrieval of data from games and raw features tables.
  2. -
  3. Initial Feature Engineering: Adjusting raw metrics before merging, like - transforming points per game into relative league averages and rankings.
  4. -
  5. Merging Data: Combining games and feature data into a single record for each game, - with a unique game_id as the primary key.
  6. -
  7. Post-Merge Feature Engineering: Creating game-level features after merging, such as - differences in team statistics or rest days.
  8. -
  9. Saving Records: Storing each game's data as a record in the all_features_json - table, which includes a game_id and a JSON object with all features for that game. This table is - pivotal for model training and testing.
  10. -
- -

Important considerations in this phase:

- - -

src/etl - - Repository link for Data Prep and Feature Engineering code.

-
- - - -
-

Exploratory Data Analysis

- -

Vegas Miss Analysis

-

An in-depth analysis of the Vegas miss data revealed a consistent average miss amount across various - categorizations. This uniformity, while somewhat unexpected, underlines the robustness of the Vegas - lines. A hypothesis about higher miss amounts early in the season due to data scarcity and uncertain - team dynamics was explored. While the first month showed the highest average miss, the difference was - not markedly significant. Weekly analysis further indicates that the miss average fluctuates randomly - around the overall mean.

- Vegas Miss Statistics - Vegas Miss by Week - -

Feature Importance

-

In addressing the challenge of selecting from a vast array of potential features for the modeling - process, methods such as correlation, mutual information, and feature importance ranking were employed. - However, no single feature emerged as a standout predictor. This result may reflect the inherent - complexity of accurately predicting game outcomes against Vegas lines. A significant ongoing aspect of - this project is identifying the most effective feature set for prediction accuracy.

- - -
- - - -
-

ML/DL Modeling: Exploring Automated and Custom Approaches

- -

This project's modeling stage is divided into two distinct approaches. The first involves leveraging - AutoML to explore a range of possibilities in the basic tabular format of the problem. The second - approach focuses on developing a custom model architecture, tailored specifically to the nuances of this - challenge.

- -

AutoML

- - AutoML Logos - - Classification Model Accuracy - -

As indicated by the results, consistently outperforming the Vegas lines remains a challenge. This is not - unexpected, given the complexity of the task and the additional hurdle of overcoming the vig (the - bookmaker's charge). While a fully successful model has yet to be realized, the AutoML process has - proven to be an enlightening and potentially valuable first step in many ML/DL projects.

- - -
- - -
-

Custom Model Architecture

-

The journey towards a custom model architecture initially centered around a traditional data science - approach – combining various features from different sources. While this approach aligns with - conventional methods and may still hold potential, it faces several challenges, including complex data - collection and potentially mirroring the algorithms used by line setters. To move beyond these - limitations and add an element of innovation, I am exploring a second approach, which includes the - following key requirements:

- Custom Model Requirements - - - - - -

Overview - Coming Soon!

- Custom Model Overview -
- -
- - -
-

Bet Decisions

- -

This crucial segment of the project involves the strategic application of model predictions in real-world - betting scenarios. The process begins with the integration of predictive outputs from our models with - supplementary data that was not directly factored into the model. This additional data can include current - trends, team news, player conditions, and other relevant information that might influence game outcomes. The - aim is to enhance the predictive power of our models by combining their statistical insights with real-time - contextual data.

- -

Once the comprehensive decision-making dataset is assembled, it feeds into a sophisticated bet and bankroll - management system. This system is designed to optimize bet recommendations based on a balance of risk and - reward, considering factors like betting odds, potential returns, and the overall health of the betting - bankroll. The ultimate goal is to provide well-informed, data-driven betting recommendations that maximize - profitability while mitigating risk.

- - Bet Decisions - - -
- - - -
-

Web App and Dashboard

- -

The project includes a user-friendly web application and a companion dashboard, designed to facilitate the - monitoring and analysis of betting performance. The web app provides real-time and recent game data along - with prediction information, while the dashboard offers comprehensive metrics on both suggested and actual - bets (for logged-in users). Although previously hosted on AWS, the operation costs and maintenance - requirements have led to a shift in strategy, prioritizing a more sustainable approach for this side - project. Below are screenshots showcasing the web app and dashboard interfaces.

- -
-
-
- Home Page -
-
-
-
- Dashboard -
-
-
- - -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/website/style.css b/docs/website/style.css deleted file mode 100644 index f081b87..0000000 --- a/docs/website/style.css +++ /dev/null @@ -1,42 +0,0 @@ -/* Custom styles for GitHub branding within the header */ -.github-branding { - text-decoration: none; - /* Removes the underline from all anchor tags within */ - display: flex; - /* Aligns the items next to each other */ - align-items: center; - /* Aligns items vertically */ -} - -/* Custom styles for individual GitHub logos */ -.github-name-logo, -.github-icon-logo { - height: 2em; - /* Ensures both logos have the same height */ - margin: 0 5px; - /* Adds spacing around the logos */ -} - -html { - scroll-padding-top: 70px; - /* The value should be the height of your navbar or greater */ -} - -/* Default styles for smaller screens */ -.custom-image { - max-width: 100%; -} - -/* Adjust the size for larger screens (e.g., screens with a width of 1200px or more) and center horizontally */ -@media (min-width: 1200px) { - .custom-image { - max-width: 80%; - /* Adjust the percentage as needed */ - display: block; - /* Ensures it's centered within its parent container */ - margin: 0 auto; - /* Centers horizontally */ - margin-top: 1em; - margin-bottom: 1em; - } -} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/commonmarker b/docs/website/vendor/bundle/ruby/3.0.0/bin/commonmarker deleted file mode 100755 index 00993f0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/commonmarker +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'commonmarker' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('commonmarker', 'commonmarker', version) -else -gem "commonmarker", version -load Gem.bin_path("commonmarker", "commonmarker", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/gemoji b/docs/website/vendor/bundle/ruby/3.0.0/bin/gemoji deleted file mode 100755 index d6c2ad7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/gemoji +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'gemoji' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('gemoji', 'gemoji', version) -else -gem "gemoji", version -load Gem.bin_path("gemoji", "gemoji", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/github-pages b/docs/website/vendor/bundle/ruby/3.0.0/bin/github-pages deleted file mode 100755 index 1406898..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/github-pages +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'github-pages' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('github-pages', 'github-pages', version) -else -gem "github-pages", version -load Gem.bin_path("github-pages", "github-pages", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/jekyll b/docs/website/vendor/bundle/ruby/3.0.0/bin/jekyll deleted file mode 100755 index ff46a5b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/jekyll +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'jekyll' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('jekyll', 'jekyll', version) -else -gem "jekyll", version -load Gem.bin_path("jekyll", "jekyll", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/kramdown b/docs/website/vendor/bundle/ruby/3.0.0/bin/kramdown deleted file mode 100755 index 4c14dca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/kramdown +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'kramdown' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('kramdown', 'kramdown', version) -else -gem "kramdown", version -load Gem.bin_path("kramdown", "kramdown", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/listen b/docs/website/vendor/bundle/ruby/3.0.0/bin/listen deleted file mode 100755 index 934c469..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/listen +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'listen' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('listen', 'listen', version) -else -gem "listen", version -load Gem.bin_path("listen", "listen", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/nokogiri b/docs/website/vendor/bundle/ruby/3.0.0/bin/nokogiri deleted file mode 100755 index 2c0482c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/nokogiri +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'nokogiri' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('nokogiri', 'nokogiri', version) -else -gem "nokogiri", version -load Gem.bin_path("nokogiri", "nokogiri", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/racc b/docs/website/vendor/bundle/ruby/3.0.0/bin/racc deleted file mode 100755 index 4fb50db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/racc +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'racc' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('racc', 'racc', version) -else -gem "racc", version -load Gem.bin_path("racc", "racc", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/rougify b/docs/website/vendor/bundle/ruby/3.0.0/bin/rougify deleted file mode 100755 index f0ee54c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/rougify +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'rouge' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('rouge', 'rougify', version) -else -gem "rouge", version -load Gem.bin_path("rouge", "rougify", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/safe_yaml b/docs/website/vendor/bundle/ruby/3.0.0/bin/safe_yaml deleted file mode 100755 index 1be9bea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/safe_yaml +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'safe_yaml' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('safe_yaml', 'safe_yaml', version) -else -gem "safe_yaml", version -load Gem.bin_path("safe_yaml", "safe_yaml", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/sass b/docs/website/vendor/bundle/ruby/3.0.0/bin/sass deleted file mode 100755 index 1e5eae9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/sass +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'sass' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('sass', 'sass', version) -else -gem "sass", version -load Gem.bin_path("sass", "sass", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/sass-convert b/docs/website/vendor/bundle/ruby/3.0.0/bin/sass-convert deleted file mode 100755 index cf53b69..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/sass-convert +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'sass' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('sass', 'sass-convert', version) -else -gem "sass", version -load Gem.bin_path("sass", "sass-convert", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/bin/scss b/docs/website/vendor/bundle/ruby/3.0.0/bin/scss deleted file mode 100755 index 034880c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/bin/scss +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby3.0 -# -# This file was generated by RubyGems. -# -# The application 'sass' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'rubygems' - -Gem.use_gemdeps - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('sass', 'scss', version) -else -gem "sass", version -load Gem.bin_path("sass", "scss", version) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/activesupport-7.1.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/activesupport-7.1.1.gem deleted file mode 100644 index 8abea39..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/activesupport-7.1.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/addressable-2.8.5.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/addressable-2.8.5.gem deleted file mode 100644 index e58bb94..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/addressable-2.8.5.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/base64-0.1.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/base64-0.1.1.gem deleted file mode 100644 index bf37e82..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/base64-0.1.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/bigdecimal-3.1.4.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/bigdecimal-3.1.4.gem deleted file mode 100644 index e326615..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/bigdecimal-3.1.4.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/coffee-script-2.4.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/coffee-script-2.4.1.gem deleted file mode 100644 index 7e4066d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/coffee-script-2.4.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/coffee-script-source-1.11.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/coffee-script-source-1.11.1.gem deleted file mode 100644 index 30d8fd7..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/coffee-script-source-1.11.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/colorator-1.1.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/colorator-1.1.0.gem deleted file mode 100644 index d5616ad..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/colorator-1.1.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/commonmarker-0.23.10.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/commonmarker-0.23.10.gem deleted file mode 100644 index bc25526..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/commonmarker-0.23.10.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/concurrent-ruby-1.2.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/concurrent-ruby-1.2.2.gem deleted file mode 100644 index 8caccaf..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/concurrent-ruby-1.2.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/connection_pool-2.4.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/connection_pool-2.4.1.gem deleted file mode 100644 index 093ee0e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/connection_pool-2.4.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/dnsruby-1.70.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/dnsruby-1.70.0.gem deleted file mode 100644 index 17c9368..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/dnsruby-1.70.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/drb-2.1.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/drb-2.1.1.gem deleted file mode 100644 index 493cb9a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/drb-2.1.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/em-websocket-0.5.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/em-websocket-0.5.3.gem deleted file mode 100644 index e5a3da1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/em-websocket-0.5.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/ethon-0.16.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/ethon-0.16.0.gem deleted file mode 100644 index 2af3d14..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/ethon-0.16.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/eventmachine-1.2.7.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/eventmachine-1.2.7.gem deleted file mode 100644 index 708d366..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/eventmachine-1.2.7.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/execjs-2.9.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/execjs-2.9.1.gem deleted file mode 100644 index c979b1a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/execjs-2.9.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/faraday-2.7.11.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/faraday-2.7.11.gem deleted file mode 100644 index 2b9a69c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/faraday-2.7.11.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/faraday-net_http-3.0.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/faraday-net_http-3.0.2.gem deleted file mode 100644 index f6b5175..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/faraday-net_http-3.0.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/ffi-1.16.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/ffi-1.16.3.gem deleted file mode 100644 index fbca948..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/ffi-1.16.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/forwardable-extended-2.6.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/forwardable-extended-2.6.0.gem deleted file mode 100644 index 370222f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/forwardable-extended-2.6.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/gemoji-3.0.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/gemoji-3.0.1.gem deleted file mode 100644 index 5cb301b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/gemoji-3.0.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/github-pages-228.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/github-pages-228.gem deleted file mode 100644 index 667e6e7..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/github-pages-228.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/github-pages-health-check-1.17.9.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/github-pages-health-check-1.17.9.gem deleted file mode 100644 index 4fc475d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/github-pages-health-check-1.17.9.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/html-pipeline-2.14.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/html-pipeline-2.14.3.gem deleted file mode 100644 index c71e420..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/html-pipeline-2.14.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/http_parser.rb-0.8.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/http_parser.rb-0.8.0.gem deleted file mode 100644 index b7e137f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/http_parser.rb-0.8.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/i18n-1.14.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/i18n-1.14.1.gem deleted file mode 100644 index 27d6d5d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/i18n-1.14.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-3.9.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-3.9.3.gem deleted file mode 100644 index afe09ce..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-3.9.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-avatar-0.7.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-avatar-0.7.0.gem deleted file mode 100644 index cfdc8c9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-avatar-0.7.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-coffeescript-1.1.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-coffeescript-1.1.1.gem deleted file mode 100644 index 2069e16..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-coffeescript-1.1.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-commonmark-1.4.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-commonmark-1.4.0.gem deleted file mode 100644 index 2d7ab5f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-commonmark-1.4.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-commonmark-ghpages-0.4.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-commonmark-ghpages-0.4.0.gem deleted file mode 100644 index b9a564e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-commonmark-ghpages-0.4.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-default-layout-0.1.4.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-default-layout-0.1.4.gem deleted file mode 100644 index e52d200..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-default-layout-0.1.4.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-feed-0.15.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-feed-0.15.1.gem deleted file mode 100644 index 7cb3a58..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-feed-0.15.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-gist-1.5.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-gist-1.5.0.gem deleted file mode 100644 index a202a00..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-gist-1.5.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-github-metadata-2.13.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-github-metadata-2.13.0.gem deleted file mode 100644 index 5704ac1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-github-metadata-2.13.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-include-cache-0.2.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-include-cache-0.2.1.gem deleted file mode 100644 index dcd6f8a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-include-cache-0.2.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-mentions-1.6.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-mentions-1.6.0.gem deleted file mode 100644 index 5b8c36c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-mentions-1.6.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-optional-front-matter-0.3.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-optional-front-matter-0.3.2.gem deleted file mode 100644 index 8b27c4b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-optional-front-matter-0.3.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-paginate-1.1.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-paginate-1.1.0.gem deleted file mode 100644 index 9c7111c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-paginate-1.1.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-readme-index-0.3.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-readme-index-0.3.0.gem deleted file mode 100644 index 0a9ece5..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-readme-index-0.3.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-redirect-from-0.16.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-redirect-from-0.16.0.gem deleted file mode 100644 index 30cd94d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-redirect-from-0.16.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-relative-links-0.6.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-relative-links-0.6.1.gem deleted file mode 100644 index d4aaa7f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-relative-links-0.6.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-remote-theme-0.4.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-remote-theme-0.4.3.gem deleted file mode 100644 index 342e42c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-remote-theme-0.4.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-sass-converter-1.5.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-sass-converter-1.5.2.gem deleted file mode 100644 index 7f0d488..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-sass-converter-1.5.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-seo-tag-2.8.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-seo-tag-2.8.0.gem deleted file mode 100644 index 4ad1e11..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-seo-tag-2.8.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-sitemap-1.4.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-sitemap-1.4.0.gem deleted file mode 100644 index aa185d2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-sitemap-1.4.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-swiss-1.0.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-swiss-1.0.0.gem deleted file mode 100644 index 82a2239..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-swiss-1.0.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-architect-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-architect-0.2.0.gem deleted file mode 100644 index 071df6d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-architect-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-cayman-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-cayman-0.2.0.gem deleted file mode 100644 index dbb76fa..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-cayman-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-dinky-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-dinky-0.2.0.gem deleted file mode 100644 index b406e9e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-dinky-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-hacker-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-hacker-0.2.0.gem deleted file mode 100644 index 7e8159f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-hacker-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-leap-day-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-leap-day-0.2.0.gem deleted file mode 100644 index d70c966..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-leap-day-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-merlot-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-merlot-0.2.0.gem deleted file mode 100644 index bd45354..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-merlot-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-midnight-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-midnight-0.2.0.gem deleted file mode 100644 index c47835a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-midnight-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-minimal-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-minimal-0.2.0.gem deleted file mode 100644 index bfd8ab9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-minimal-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-modernist-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-modernist-0.2.0.gem deleted file mode 100644 index 4f61e6f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-modernist-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-primer-0.6.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-primer-0.6.0.gem deleted file mode 100644 index 2d0cd22..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-primer-0.6.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-slate-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-slate-0.2.0.gem deleted file mode 100644 index a30d4d8..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-slate-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-tactile-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-tactile-0.2.0.gem deleted file mode 100644 index 6e7b9ca..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-tactile-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-time-machine-0.2.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-time-machine-0.2.0.gem deleted file mode 100644 index 6d595b4..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-theme-time-machine-0.2.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-titles-from-headings-0.5.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-titles-from-headings-0.5.3.gem deleted file mode 100644 index a0c9298..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-titles-from-headings-0.5.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-watch-2.2.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-watch-2.2.1.gem deleted file mode 100644 index 0defcd7..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jekyll-watch-2.2.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/jemoji-0.12.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/jemoji-0.12.0.gem deleted file mode 100644 index 84838f0..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/jemoji-0.12.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/kramdown-2.3.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/kramdown-2.3.2.gem deleted file mode 100644 index 1fabd52..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/kramdown-2.3.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/kramdown-parser-gfm-1.1.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/kramdown-parser-gfm-1.1.0.gem deleted file mode 100644 index f087be5..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/kramdown-parser-gfm-1.1.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/liquid-4.0.4.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/liquid-4.0.4.gem deleted file mode 100644 index fb32676..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/liquid-4.0.4.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/listen-3.8.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/listen-3.8.0.gem deleted file mode 100644 index 8837e95..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/listen-3.8.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/mercenary-0.3.6.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/mercenary-0.3.6.gem deleted file mode 100644 index e5333e0..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/mercenary-0.3.6.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/minima-2.5.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/minima-2.5.1.gem deleted file mode 100644 index 20026a2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/minima-2.5.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/minitest-5.20.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/minitest-5.20.0.gem deleted file mode 100644 index 89bd30e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/minitest-5.20.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/mutex_m-0.1.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/mutex_m-0.1.2.gem deleted file mode 100644 index bb9a0a6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/mutex_m-0.1.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/nokogiri-1.15.4-x86_64-linux.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/nokogiri-1.15.4-x86_64-linux.gem deleted file mode 100644 index 299efee..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/nokogiri-1.15.4-x86_64-linux.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/octokit-4.25.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/octokit-4.25.1.gem deleted file mode 100644 index 6f25e59..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/octokit-4.25.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/pathutil-0.16.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/pathutil-0.16.2.gem deleted file mode 100644 index 9dd34cc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/pathutil-0.16.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/public_suffix-4.0.7.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/public_suffix-4.0.7.gem deleted file mode 100644 index 18c4dfa..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/public_suffix-4.0.7.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/racc-1.7.3.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/racc-1.7.3.gem deleted file mode 100644 index 077ab2e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/racc-1.7.3.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/rb-fsevent-0.11.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/rb-fsevent-0.11.2.gem deleted file mode 100644 index e645266..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/rb-fsevent-0.11.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/rb-inotify-0.10.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/rb-inotify-0.10.1.gem deleted file mode 100644 index 276590b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/rb-inotify-0.10.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/rexml-3.2.6.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/rexml-3.2.6.gem deleted file mode 100644 index 71a4946..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/rexml-3.2.6.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/rouge-3.26.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/rouge-3.26.0.gem deleted file mode 100644 index 8c6bf81..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/rouge-3.26.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/ruby2_keywords-0.0.5.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/ruby2_keywords-0.0.5.gem deleted file mode 100644 index d311c5d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/ruby2_keywords-0.0.5.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/rubyzip-2.3.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/rubyzip-2.3.2.gem deleted file mode 100644 index 36fdea6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/rubyzip-2.3.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/safe_yaml-1.0.5.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/safe_yaml-1.0.5.gem deleted file mode 100644 index b539b54..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/safe_yaml-1.0.5.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/sass-3.7.4.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/sass-3.7.4.gem deleted file mode 100644 index b48c3b8..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/sass-3.7.4.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/sass-listen-4.0.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/sass-listen-4.0.0.gem deleted file mode 100644 index 9464653..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/sass-listen-4.0.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/sawyer-0.9.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/sawyer-0.9.2.gem deleted file mode 100644 index 5213eb8..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/sawyer-0.9.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/simpleidn-0.2.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/simpleidn-0.2.1.gem deleted file mode 100644 index fda2b0e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/simpleidn-0.2.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/terminal-table-1.8.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/terminal-table-1.8.0.gem deleted file mode 100644 index ac0a89c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/terminal-table-1.8.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/typhoeus-1.4.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/typhoeus-1.4.0.gem deleted file mode 100644 index b71baf3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/typhoeus-1.4.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/tzinfo-2.0.6.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/tzinfo-2.0.6.gem deleted file mode 100644 index 2c16da8..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/tzinfo-2.0.6.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/unf-0.1.4.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/unf-0.1.4.gem deleted file mode 100644 index 01f1852..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/unf-0.1.4.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/unf_ext-0.0.8.2.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/unf_ext-0.0.8.2.gem deleted file mode 100644 index f9a66cc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/unf_ext-0.0.8.2.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/unicode-display_width-1.8.0.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/unicode-display_width-1.8.0.gem deleted file mode 100644 index 75166d4..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/unicode-display_width-1.8.0.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/cache/webrick-1.8.1.gem b/docs/website/vendor/bundle/ruby/3.0.0/cache/webrick-1.8.1.gem deleted file mode 100644 index ac0894b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/cache/webrick-1.8.1.gem and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/bigdecimal-3.1.4/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/bigdecimal-3.1.4/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/bigdecimal-3.1.4/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/bigdecimal-3.1.4/gem_make.out deleted file mode 100644 index 62e9483..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/bigdecimal-3.1.4/gem_make.out +++ /dev/null @@ -1,45 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-t2m122.rb extconf.rb -checking for __builtin_clz()... yes -checking for __builtin_clzl()... yes -checking for __builtin_clzll()... yes -checking for float.h... yes -checking for math.h... yes -checking for stdbool.h... yes -checking for stdlib.h... yes -checking for x86intrin.h... yes -checking for _lzcnt_u32() in x86intrin.h... no -checking for _lzcnt_u64() in x86intrin.h... no -checking for intrin.h... no -checking for __lzcnt() in intrin.h... no -checking for __lzcnt64() in intrin.h... no -checking for _BitScanReverse() in intrin.h... no -checking for _BitScanReverse64() in intrin.h... no -checking for labs() in stdlib.h... yes -checking for llabs() in stdlib.h... yes -checking for finite() in math.h... yes -checking for isfinite() in math.h... no -checking for ruby/atomic.h... yes -checking for ruby/internal/has/builtin.h... yes -checking for ruby/internal/static_assert.h... yes -checking for rb_rational_num() in ruby.h... yes -checking for rb_rational_den() in ruby.h... yes -checking for rb_complex_real() in ruby.h... yes -checking for rb_complex_imag() in ruby.h... yes -checking for rb_opts_exception_p() in ruby.h... yes -checking for rb_category_warn() in ruby.h... yes -checking for RB_WARN_CATEGORY_DEPRECATED in ruby.h... yes -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal -make DESTDIR\= -compiling bigdecimal.c -compiling missing.c -linking shared-object bigdecimal.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal -make DESTDIR\= install -/usr/bin/install -c -m 0755 bigdecimal.so ./.gem.20231104-11184-20hl4x diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/commonmarker-0.23.10/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/commonmarker-0.23.10/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/commonmarker-0.23.10/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/commonmarker-0.23.10/gem_make.out deleted file mode 100644 index 0e3ecf2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/commonmarker-0.23.10/gem_make.out +++ /dev/null @@ -1,62 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-q9erce.rb extconf.rb -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker -make DESTDIR\= -compiling arena.c -compiling autolink.c -compiling blocks.c -compiling buffer.c -compiling cmark.c -compiling cmark_ctype.c -compiling commonmark.c -compiling commonmarker.c -In file included from houdini.h:9, - from commonmarker.c:3: -config.h:8: warning: "HAVE_STDBOOL_H" redefined - 8 | #define HAVE_STDBOOL_H - | -In file included from /usr/include/ruby-3.0.0/ruby/internal/config.h:23, - from /usr/include/ruby-3.0.0/ruby/ruby.h:15, - from /usr/include/ruby-3.0.0/ruby.h:38, - from commonmarker.h:9, - from commonmarker.c:1: -/usr/include/x86_64-linux-gnu/ruby-3.0.0/ruby/config.h:38: note: this is the location of the previous definition - 38 | #define HAVE_STDBOOL_H 1 - | -compiling core-extensions.c -compiling ext_scanners.c -compiling footnotes.c -compiling houdini_href_e.c -compiling houdini_html_e.c -compiling houdini_html_u.c -compiling html.c -compiling inlines.c -compiling iterator.c -compiling latex.c -compiling linked_list.c -compiling man.c -compiling map.c -compiling node.c -compiling plaintext.c -compiling plugin.c -compiling references.c -compiling registry.c -compiling render.c -compiling scanners.c -compiling strikethrough.c -compiling syntax_extension.c -compiling table.c -compiling tagfilter.c -compiling tasklist.c -compiling utf8.c -compiling xml.c -linking shared-object commonmarker/commonmarker.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker -make DESTDIR\= install -/usr/bin/install -c -m 0755 commonmarker.so ./.gem.20231104-11184-9modoq/commonmarker diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/eventmachine-1.2.7/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/eventmachine-1.2.7/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/eventmachine-1.2.7/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/eventmachine-1.2.7/gem_make.out deleted file mode 100644 index 43a4d78..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/eventmachine-1.2.7/gem_make.out +++ /dev/null @@ -1,16 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-1uuut9.rb extconf.rb -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader -make DESTDIR\= -compiling mapper.cpp -compiling rubymain.cpp -linking shared-object fastfilereaderext.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader -make DESTDIR\= install -/usr/bin/install -c -m 0755 fastfilereaderext.so ./.gem.20231104-11184-z4vrd2 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/ffi-1.16.3/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/ffi-1.16.3/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/ffi-1.16.3/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/ffi-1.16.3/gem_make.out deleted file mode 100644 index 72661b9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/ffi-1.16.3/gem_make.out +++ /dev/null @@ -1,164 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-ny2tm4.rb extconf.rb -checking for ffi.h... no -checking for ffi.h in /usr/local/include,/usr/include/ffi,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ffi... no -checking for whether -Wl,--exclude-libs,ALL is accepted as LDFLAGS... yes -checking for rb_gc_mark_movable()... yes -checking for whether -pthread is accepted as LDFLAGS... yes -creating extconf.h -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c -make DESTDIR\= -Configuring libffi -make -C "/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu" -make[1]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make all-recursive -make[2]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -Making all in include -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include' -make[3]: Nothing to be done for 'all'. -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include' -Making all in testsuite -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite' -make[3]: Nothing to be done for 'all'. -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite' -Making all in man -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man' -make[3]: Nothing to be done for 'all'. -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man' -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/prep_cif.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c -fPIC -DPIC -o src/prep_cif.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/types.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c -fPIC -DPIC -o src/types.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/raw_api.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c -fPIC -DPIC -o src/raw_api.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/java_raw_api.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c -fPIC -DPIC -o src/java_raw_api.o -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c: In function 'ffi_java_raw_call': -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:317:3: warning: 'ffi_java_raw_to_ptrarray' is deprecated [-Wdeprecated-declarations] - 317 | ffi_java_raw_to_ptrarray (cif, raw, avalue); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:76:1: note: declared here - 76 | ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c: In function 'ffi_java_translate_args': -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:328:3: warning: 'ffi_java_raw_size' is deprecated [-Wdeprecated-declarations] - 328 | ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif)); - | ^~~~~~~~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:45:1: note: declared here - 45 | ffi_java_raw_size (ffi_cif *cif) - | ^~~~~~~~~~~~~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:331:3: warning: 'ffi_java_ptrarray_to_raw' is deprecated [-Wdeprecated-declarations] - 331 | ffi_java_ptrarray_to_raw (cif, avalue, raw); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:157:1: note: declared here - 157 | ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c: In function 'ffi_prep_java_raw_closure': -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:369:3: warning: 'ffi_prep_java_raw_closure_loc' is deprecated [-Wdeprecated-declarations] - 369 | return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl); - | ^~~~~~ -/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c:337:1: note: declared here - 337 | ffi_prep_java_raw_closure_loc (ffi_java_raw_closure* cl, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/closures.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c -fPIC -DPIC -o src/closures.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/tramp.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c -fPIC -DPIC -o src/tramp.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/x86/ffi64.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c -fPIC -DPIC -o src/x86/ffi64.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -c -o src/x86/unix64.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S -fPIC -DPIC -o src/x86/unix64.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c -o src/x86/ffiw64.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -Wall -fexceptions -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c -fPIC -DPIC -o src/x86/ffiw64.o -/bin/bash ./libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -c -o src/x86/win64.lo /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S -libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -I. -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -Iinclude -I/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src -c /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S -fPIC -DPIC -o src/x86/win64.o -/bin/bash ./libtool --tag=CC --mode=link x86_64-linux-gnu-gcc -Wall -fexceptions -o libffi_convenience.la src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/tramp.lo src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -libtool: link: rm -fr .libs/libffi_convenience.a(D) -libtool: link: x86_64-linux-gnu-ar cr .libs/libffi_convenience.a src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/tramp.o src/x86/ffi64.o src/x86/unix64.o src/x86/ffiw64.o src/x86/win64.o -libtool: link: x86_64-linux-gnu-ranlib .libs/libffi_convenience.a -libtool: link: ( cd ".libs" && rm -f "libffi_convenience.la" && ln -s "../libffi_convenience.la" "libffi_convenience.la" ) -/bin/bash ./libtool --tag=CC --mode=link x86_64-linux-gnu-gcc -Wall -fexceptions -no-undefined -version-info `grep -v '^#' /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-version` -o libffi.la -rpath /usr/local/lib/../lib src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/tramp.lo src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -libtool: link: x86_64-linux-gnu-ar cr .libs/libffi.a src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/tramp.o src/x86/ffi64.o src/x86/unix64.o src/x86/ffiw64.o src/x86/win64.o -libtool: link: x86_64-linux-gnu-ranlib .libs/libffi.a -libtool: link: ( cd ".libs" && rm -f "libffi.la" && ln -s "../libffi.la" "libffi.la" ) -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make[2]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make[1]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -compiling AbstractMemory.c -compiling ArrayType.c -compiling Buffer.c -compiling Call.c -compiling ClosurePool.c -compiling DynamicLibrary.c -compiling Function.c -compiling FunctionInfo.c -compiling LastError.c -compiling LongDouble.c -compiling MappedType.c -compiling MemoryPointer.c -compiling MethodHandle.c -compiling Platform.c -compiling Pointer.c -compiling Struct.c -compiling StructByValue.c -compiling StructLayout.c -compiling Thread.c -compiling Type.c -compiling Types.c -compiling Variadic.c -compiling ffi.c -linking shared-object ffi_c.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c -make DESTDIR\= install -make -C "/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu" -make[1]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make all-recursive -make[2]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -Making all in include -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include' -make[3]: Nothing to be done for 'all'. -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include' -Making all in testsuite -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite' -make[3]: Nothing to be done for 'all'. -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite' -Making all in man -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man' -make[3]: Nothing to be done for 'all'. -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man' -make[3]: Entering directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make[3]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make[2]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -make[1]: Leaving directory '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -compiling AbstractMemory.c -compiling ArrayType.c -compiling Buffer.c -compiling Call.c -compiling ClosurePool.c -compiling DynamicLibrary.c -compiling Function.c -compiling FunctionInfo.c -compiling LastError.c -compiling LongDouble.c -compiling MappedType.c -compiling MemoryPointer.c -compiling MethodHandle.c -compiling Platform.c -compiling Pointer.c -compiling Struct.c -compiling StructByValue.c -compiling StructLayout.c -compiling Thread.c -compiling Type.c -compiling Types.c -compiling Variadic.c -compiling ffi.c -linking shared-object ffi_c.so -/usr/bin/install -c -m 0755 ffi_c.so ./.gem.20231104-11184-t9w364 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/http_parser.rb-0.8.0/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/http_parser.rb-0.8.0/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/http_parser.rb-0.8.0/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/http_parser.rb-0.8.0/gem_make.out deleted file mode 100644 index 1fb5d34..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/http_parser.rb-0.8.0/gem_make.out +++ /dev/null @@ -1,16 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-iyxx32.rb extconf.rb -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser -make DESTDIR\= -compiling ruby_http_parser.c -compiling ryah_http_parser.c -linking shared-object ruby_http_parser.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser -make DESTDIR\= install -/usr/bin/install -c -m 0755 ruby_http_parser.so ./.gem.20231104-11184-sg38jp diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.7.3/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.7.3/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.7.3/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.7.3/gem_make.out deleted file mode 100644 index 649e12a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.7.3/gem_make.out +++ /dev/null @@ -1,15 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-1u1xq3.rb extconf.rb -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse -make DESTDIR\= -compiling cparse.c -linking shared-object racc/cparse.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse -make DESTDIR\= install -/usr/bin/install -c -m 0755 cparse.so ./.gem.20231104-11184-ar0bhs/racc diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/unf_ext-0.0.8.2/gem.build_complete b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/unf_ext-0.0.8.2/gem.build_complete deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/unf_ext-0.0.8.2/gem_make.out b/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/unf_ext-0.0.8.2/gem_make.out deleted file mode 100644 index b9c8c6f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/unf_ext-0.0.8.2/gem_make.out +++ /dev/null @@ -1,16 +0,0 @@ -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext -/usr/bin/ruby3.0 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20231104-11184-m85os1.rb extconf.rb -checking for -lstdc++... yes -creating Makefile - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext -make DESTDIR\= clean - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext -make DESTDIR\= -compiling unf.cc -linking shared-object unf_ext.so - -current directory: /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext -make DESTDIR\= install -/usr/bin/install -c -m 0755 unf_ext.so ./.gem.20231104-11184-8kff1q diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/CHANGELOG.md deleted file mode 100644 index 8d611b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/CHANGELOG.md +++ /dev/null @@ -1,1095 +0,0 @@ -## Rails 7.1.1 (October 11, 2023) ## - -* Add support for keyword arguments when delegating calls to custom loggers from `ActiveSupport::BroadcastLogger`. - - *Edouard Chin* - -* `NumberHelper`: handle objects responding `to_d`. - - *fatkodima* - -* Fix RedisCacheStore to properly set the TTL when incrementing or decrementing. - - This bug was only impacting Redis server older than 7.0. - - *Thomas Countz* - -* Fix MemoryStore to prevent race conditions when incrementing or decrementing. - - *Pierre Jambet* - - -## Rails 7.1.0 (October 05, 2023) ## - -* No changes. - - -## Rails 7.1.0.rc2 (October 01, 2023) ## - -* Fix `AS::MessagePack` with `ENV["RAILS_MAX_THREADS"]`. - - *Jonathan Hefner* - - -## Rails 7.1.0.rc1 (September 27, 2023) ## - -* Add a new public API for broadcasting logs - - This feature existed for a while but was until now a private API. - Broadcasting log allows to send log message to difference sinks (STDOUT, a file ...) and - is used by default in the development environment to write logs both on STDOUT and in the - "development.log" file. - - Basic usage: - - ```ruby - stdout_logger = Logger.new(STDOUT) - file_logger = Logger.new("development.log") - broadcast = ActiveSupport::BroadcastLogger.new(stdout_logger, file_logger) - - broadcast.info("Hello!") # The "Hello!" message is written on STDOUT and in the log file. - ``` - - Adding other sink(s) to the broadcast: - - ```ruby - broadcast = ActiveSupport::BroadcastLogger.new - broadcast.broadcast_to(Logger.new(STDERR)) - ``` - - Remove a sink from the broadcast: - - ```ruby - stdout_logger = Logger.new(STDOUT) - broadcast = ActiveSupport::BroadcastLogger.new(stdout_logger) - - broadcast.stop_broadcasting_to(stdout_logger) - ``` - - *Edouard Chin* - -* Fix Range#overlap? not taking empty ranges into account on Ruby < 3.3 - - *Nobuyoshi Nakada*, *Shouichi Kamiya*, *Hartley McGuire* - -* Use Ruby 3.3 Range#overlap? if available - - *Yasuo Honda* - - -## Rails 7.1.0.beta1 (September 13, 2023) ## - -* Add `bigdecimal` as Active Support dependency that is a bundled gem candidate for Ruby 3.4. - - `bigdecimal` 3.1.4 or higher version will be installed. - Ruby 2.7 and 3.0 users who want `bigdecimal` version 2.0.0 or 3.0.0 behavior as a default gem, - pin the `bigdecimal` version in your application Gemfile. - - *Koichi ITO* - -* Add `drb`, `mutex_m` and `base64` that are bundled gem candidates for Ruby 3.4 - - *Yasuo Honda* - -* When using cache format version >= 7.1 or a custom serializer, expired and - version-mismatched cache entries can now be detected without deserializing - their values. - - *Jonathan Hefner* - -* Make all cache stores return a boolean for `#delete` - - Previously the `RedisCacheStore#delete` would return `1` if the entry - exists and `0` otherwise. Now it returns true if the entry exists and false - otherwise, just like the other stores. - - The `FileStore` would return `nil` if the entry doesn't exists and returns - `false` now as well. - - *Petrik de Heus* - -* Active Support cache stores now support replacing the default compressor via - a `:compressor` option. The specified compressor must respond to `deflate` - and `inflate`. For example: - - ```ruby - module MyCompressor - def self.deflate(string) - # compression logic... - end - - def self.inflate(compressed) - # decompression logic... - end - end - - config.cache_store = :redis_cache_store, { compressor: MyCompressor } - ``` - - *Jonathan Hefner* - -* Active Support cache stores now support a `:serializer` option. Similar to - the `:coder` option, serializers must respond to `dump` and `load`. However, - serializers are only responsible for serializing a cached value, whereas - coders are responsible for serializing the entire `ActiveSupport::Cache::Entry` - instance. Additionally, the output from serializers can be automatically - compressed, whereas coders are responsible for their own compression. - - Specifying a serializer instead of a coder also enables performance - optimizations, including the bare string optimization introduced by cache - format version 7.1. - - The `:serializer` and `:coder` options are mutually exclusive. Specifying - both will raise an `ArgumentError`. - - *Jonathan Hefner* - -* Fix `ActiveSupport::Inflector.humanize(nil)` raising ``NoMethodError: undefined method `end_with?' for nil:NilClass``. - - *James Robinson* - -* Don't show secrets for `ActiveSupport::KeyGenerator#inspect`. - - Before: - - ```ruby - ActiveSupport::KeyGenerator.new(secret).inspect - "#" - ``` - - After: - - ```ruby - ActiveSupport::KeyGenerator::Aes256Gcm(secret).inspect - "#" - ``` - - *Petrik de Heus* - -* Improve error message when EventedFileUpdateChecker is used without a - compatible version of the Listen gem - - *Hartley McGuire* - -* Add `:report` behavior for Deprecation - - Setting `config.active_support.deprecation = :report` uses the error - reporter to report deprecation warnings to `ActiveSupport::ErrorReporter`. - - Deprecations are reported as handled errors, with a severity of `:warning`. - - Useful to report deprecations happening in production to your bug tracker. - - *Étienne Barrié* - -* Rename `Range#overlaps?` to `#overlap?` and add alias for backwards compatibility - - *Christian Schmidt* - -* Fix `EncryptedConfiguration` returning incorrect values for some `Hash` - methods - - *Hartley McGuire* - -* Don't show secrets for `MessageEncryptor#inspect`. - - Before: - - ```ruby - ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm").inspect - "#" - ``` - - After: - - ```ruby - ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm").inspect - "#" - ``` - - *Petrik de Heus* - -* Don't show contents for `EncryptedConfiguration#inspect`. - - Before: - ```ruby - Rails.application.credentials.inspect - "#\"something secret\"} ... @key_file_contents=\"915e4ea054e011022398dc242\" ...>" - ``` - - After: - ```ruby - Rails.application.credentials.inspect - "#" - ``` - - *Petrik de Heus* - -* `ERB::Util.html_escape_once` always returns an `html_safe` string. - - This method previously maintained the `html_safe?` property of a string on the return - value. Because this string has been escaped, however, not marking it as `html_safe` causes - entities to be double-escaped. - - As an example, take this view snippet: - - ```html -

<%= html_escape_once("this & that & the other") %>

- ``` - - Before this change, that would be double-escaped and render as: - - ```html -

this &amp; that &amp; the other

- ``` - - After this change, it renders correctly as: - - ```html -

this & that & the other

- ``` - - Fixes #48256 - - *Mike Dalessio* - -* Deprecate `SafeBuffer#clone_empty`. - - This method has not been used internally since Rails 4.2.0. - - *Mike Dalessio* - -* `MessageEncryptor`, `MessageVerifier`, and `config.active_support.message_serializer` - now accept `:message_pack` and `:message_pack_allow_marshal` as serializers. - These serializers require the [`msgpack` gem](https://rubygems.org/gems/msgpack) - (>= 1.7.0). - - The Message Pack format can provide improved performance and smaller payload - sizes. It also supports round-tripping some Ruby types that are not supported - by JSON. For example: - - ```ruby - verifier = ActiveSupport::MessageVerifier.new("secret") - data = [{ a: 1 }, { b: 2 }.with_indifferent_access, 1.to_d, Time.at(0, 123)] - message = verifier.generate(data) - - # BEFORE with config.active_support.message_serializer = :json - verifier.verified(message) - # => [{"a"=>1}, {"b"=>2}, "1.0", "1969-12-31T18:00:00.000-06:00"] - verifier.verified(message).map(&:class) - # => [Hash, Hash, String, String] - - # AFTER with config.active_support.message_serializer = :message_pack - verifier.verified(message) - # => [{:a=>1}, {"b"=>2}, 0.1e1, 1969-12-31 18:00:00.000123 -0600] - verifier.verified(message).map(&:class) - # => [Hash, ActiveSupport::HashWithIndifferentAccess, BigDecimal, Time] - ``` - - The `:message_pack` serializer can fall back to deserializing with - `ActiveSupport::JSON` when necessary, and the `:message_pack_allow_marshal` - serializer can fall back to deserializing with `Marshal` as well as - `ActiveSupport::JSON`. Additionally, the `:marshal`, `:json`, and - `:json_allow_marshal` serializers can now fall back to deserializing with - `ActiveSupport::MessagePack` when necessary. These behaviors ensure old - messages can still be read so that migration is easier. - - *Jonathan Hefner* - -* A new `7.1` cache format is available which includes an optimization for - bare string values such as view fragments. - - The `7.1` cache format is used by default for new apps, and existing apps - can enable the format by setting `config.load_defaults 7.1` or by setting - `config.active_support.cache_format_version = 7.1` in `config/application.rb` - or a `config/environments/*.rb` file. - - Cache entries written using the `6.1` or `7.0` cache formats can be read - when using the `7.1` format. To perform a rolling deploy of a Rails 7.1 - upgrade, wherein servers that have not yet been upgraded must be able to - read caches from upgraded servers, leave the cache format unchanged on the - first deploy, then enable the `7.1` cache format on a subsequent deploy. - - *Jonathan Hefner* - -* Active Support cache stores can now use a preconfigured serializer based on - `ActiveSupport::MessagePack` via the `:serializer` option: - - ```ruby - config.cache_store = :redis_cache_store, { serializer: :message_pack } - ``` - - The `:message_pack` serializer can reduce cache entry sizes and improve - performance, but requires the [`msgpack` gem](https://rubygems.org/gems/msgpack) - (>= 1.7.0). - - The `:message_pack` serializer can read cache entries written by the default - serializer, and the default serializer can now read entries written by the - `:message_pack` serializer. These behaviors make it easy to migrate between - serializer without invalidating the entire cache. - - *Jonathan Hefner* - -* `Object#deep_dup` no longer duplicate named classes and modules. - - Before: - - ```ruby - hash = { class: Object, module: Kernel } - hash.deep_dup # => {:class=>#, :module=>#} - ``` - - After: - - ```ruby - hash = { class: Object, module: Kernel } - hash.deep_dup # => {:class=>Object, :module=>Kernel} - ``` - - *Jean Boussier* - -* Consistently raise an `ArgumentError` if the `ActiveSupport::Cache` key is blank. - - *Joshua Young* - -* Deprecate usage of the singleton `ActiveSupport::Deprecation`. - - All usage of `ActiveSupport::Deprecation` as a singleton is deprecated, the most common one being - `ActiveSupport::Deprecation.warn`. Gem authors should now create their own deprecator (`ActiveSupport::Deprecation` - object), and use it to emit deprecation warnings. - - Calling any of the following without specifying a deprecator argument is also deprecated: - * Module.deprecate - * deprecate_constant - * DeprecatedObjectProxy - * DeprecatedInstanceVariableProxy - * DeprecatedConstantProxy - * deprecation-related test assertions - - Use of `ActiveSupport::Deprecation.silence` and configuration methods like `behavior=`, `disallowed_behavior=`, - `disallowed_warnings=` should now be aimed at the [application's deprecators](https://api.rubyonrails.org/classes/Rails/Application.html#method-i-deprecators). - - ```ruby - Rails.application.deprecators.silence do - # code that emits deprecation warnings - end - ``` - - If your gem has a Railtie or Engine, it's encouraged to add your deprecator to the application's deprecators, that - way the deprecation related configuration options will apply to it as well, e.g. - `config.active_support.report_deprecations` set to `false` in the production environment will also disable your - deprecator. - - ```ruby - initializer "my_gem.deprecator" do |app| - app.deprecators[:my_gem] = MyGem.deprecator - end - ``` - - *Étienne Barrié* - -* Add `Object#with` to set and restore public attributes around a block - - ```ruby - client.timeout # => 5 - client.with(timeout: 1) do - client.timeout # => 1 - end - client.timeout # => 5 - ``` - - *Jean Boussier* - -* Remove deprecated support to generate incorrect RFC 4122 UUIDs when providing a namespace ID that is not one of the - constants defined on `Digest::UUID`. - - *Rafael Mendonça França* - -* Deprecate `config.active_support.use_rfc4122_namespaced_uuids`. - - *Rafael Mendonça França* - -* Remove implicit conversion of objects into `String` by `ActiveSupport::SafeBuffer`. - - *Rafael Mendonça França* - -* Remove deprecated `active_support/core_ext/range/include_time_with_zone` file. - - *Rafael Mendonça França* - -* Deprecate `config.active_support.remove_deprecated_time_with_zone_name`. - - *Rafael Mendonça França* - -* Remove deprecated override of `ActiveSupport::TimeWithZone.name`. - - *Rafael Mendonça França* - -* Deprecate `config.active_support.disable_to_s_conversion`. - - *Rafael Mendonça França* - -* Remove deprecated option to passing a format to `#to_s` in `Array`, `Range`, `Date`, `DateTime`, `Time`, - `BigDecimal`, `Float` and, `Integer`. - - *Rafael Mendonça França* - -* Remove deprecated `ActiveSupport::PerThreadRegistry`. - - *Rafael Mendonça França* - -* Remove deprecated override of `Enumerable#sum`. - - *Rafael Mendonça França* - -* Deprecated initializing a `ActiveSupport::Cache::MemCacheStore` with an instance of `Dalli::Client`. - - Deprecate the undocumented option of providing an already-initialized instance of `Dalli::Client` to `ActiveSupport::Cache::MemCacheStore`. Such clients could be configured with unrecognized options, which could lead to unexpected behavior. Instead, provide addresses as documented. - - *aledustet* - -* Stub `Time.new()` in `TimeHelpers#travel_to` - - ```ruby - travel_to Time.new(2004, 11, 24) do - # Inside the `travel_to` block `Time.new` is stubbed - assert_equal 2004, Time.new.year - end - ``` - - *fatkodima* - -* Raise `ActiveSupport::MessageEncryptor::InvalidMessage` from - `ActiveSupport::MessageEncryptor#decrypt_and_verify` regardless of cipher. - Previously, when a `MessageEncryptor` was using a non-AEAD cipher such as - AES-256-CBC, a corrupt or tampered message would raise - `ActiveSupport::MessageVerifier::InvalidSignature`. Now, all ciphers raise - the same error: - - ```ruby - encryptor = ActiveSupport::MessageEncryptor.new("x" * 32, cipher: "aes-256-gcm") - message = encryptor.encrypt_and_sign("message") - encryptor.decrypt_and_verify(message.next) - # => raises ActiveSupport::MessageEncryptor::InvalidMessage - - encryptor = ActiveSupport::MessageEncryptor.new("x" * 32, cipher: "aes-256-cbc") - message = encryptor.encrypt_and_sign("message") - encryptor.decrypt_and_verify(message.next) - # BEFORE: - # => raises ActiveSupport::MessageVerifier::InvalidSignature - # AFTER: - # => raises ActiveSupport::MessageEncryptor::InvalidMessage - ``` - - *Jonathan Hefner* - -* Support `nil` original values when using `ActiveSupport::MessageVerifier#verify`. - Previously, `MessageVerifier#verify` did not work with `nil` original - values, though both `MessageVerifier#verified` and - `MessageEncryptor#decrypt_and_verify` do: - - ```ruby - encryptor = ActiveSupport::MessageEncryptor.new(secret) - message = encryptor.encrypt_and_sign(nil) - - encryptor.decrypt_and_verify(message) - # => nil - - verifier = ActiveSupport::MessageVerifier.new(secret) - message = verifier.generate(nil) - - verifier.verified(message) - # => nil - - verifier.verify(message) - # BEFORE: - # => raises ActiveSupport::MessageVerifier::InvalidSignature - # AFTER: - # => nil - ``` - - *Jonathan Hefner* - -* Maintain `html_safe?` on html_safe strings when sliced with `slice`, `slice!`, or `chr` method. - - Previously, `html_safe?` was only maintained when the html_safe strings were sliced - with `[]` method. Now, `slice`, `slice!`, and `chr` methods will maintain `html_safe?` like `[]` method. - - ```ruby - string = "
test
".html_safe - string.slice(0, 1).html_safe? # => true - string.slice!(0, 1).html_safe? # => true - # maintain html_safe? after the slice! - string.html_safe? # => true - string.chr.html_safe? # => true - ``` - - *Michael Go* - -* Add `Object#in?` support for open ranges. - - ```ruby - assert Date.today.in?(..Date.tomorrow) - assert_not Date.today.in?(Date.tomorrow..) - ``` - - *Ignacio Galindo* - -* `config.i18n.raise_on_missing_translations = true` now raises on any missing translation. - - Previously it would only raise when called in a view or controller. Now it will raise - anytime `I18n.t` is provided an unrecognised key. - - If you do not want this behaviour, you can customise the i18n exception handler. See the - upgrading guide or i18n guide for more information. - - *Alex Ghiculescu* - -* `ActiveSupport::CurrentAttributes` now raises if a restricted attribute name is used. - - Attributes such as `set` and `reset` cannot be used as they clash with the - `CurrentAttributes` public API. - - *Alex Ghiculescu* - -* `HashWithIndifferentAccess#transform_keys` now takes a Hash argument, just - as Ruby's `Hash#transform_keys` does. - - *Akira Matsuda* - -* `delegate` now defines method with proper arity when delegating to a Class. - With this change, it defines faster method (3.5x faster with no argument). - However, in order to gain this benefit, the delegation target method has to - be defined before declaring the delegation. - - ```ruby - # This defines 3.5 times faster method than before - class C - def self.x() end - delegate :x, to: :class - end - - class C - # This works but silently falls back to old behavior because - # `delegate` cannot find the definition of `x` - delegate :x, to: :class - def self.x() end - end - ``` - - *Akira Matsuda* - -* `assert_difference` message now includes what changed. - - This makes it easier to debug non-obvious failures. - - Before: - - ``` - "User.count" didn't change by 32. - Expected: 1611 - Actual: 1579 - ``` - - After: - - ``` - "User.count" didn't change by 32, but by 0. - Expected: 1611 - Actual: 1579 - ``` - - *Alex Ghiculescu* - -* Add ability to match exception messages to `assert_raises` assertion - - Instead of this - ```ruby - error = assert_raises(ArgumentError) do - perform_service(param: 'exception') - end - assert_match(/incorrect param/i, error.message) - ``` - - you can now write this - ```ruby - assert_raises(ArgumentError, match: /incorrect param/i) do - perform_service(param: 'exception') - end - ``` - - *fatkodima* - -* Add `Rails.env.local?` shorthand for `Rails.env.development? || Rails.env.test?`. - - *DHH* - -* `ActiveSupport::Testing::TimeHelpers` now accepts named `with_usec` argument - to `freeze_time`, `travel`, and `travel_to` methods. Passing true prevents - truncating the destination time with `change(usec: 0)`. - - *KevSlashNull*, and *serprex* - -* `ActiveSupport::CurrentAttributes.resets` now accepts a method name - - The block API is still the recommended approach, but now both APIs are supported: - - ```ruby - class Current < ActiveSupport::CurrentAttributes - resets { Time.zone = nil } - resets :clear_time_zone - end - ``` - - *Alex Ghiculescu* - -* Ensure `ActiveSupport::Testing::Isolation::Forking` closes pipes - - Previously, `Forking.run_in_isolation` opened two ends of a pipe. The fork - process closed the read end, wrote to it, and then terminated (which - presumably closed the file descriptors on its end). The parent process - closed the write end, read from it, and returned, never closing the read - end. - - This resulted in an accumulation of open file descriptors, which could - cause errors if the limit is reached. - - *Sam Bostock* - -* Fix `Time#change` and `Time#advance` for times around the end of Daylight - Saving Time. - - Previously, when `Time#change` or `Time#advance` constructed a time inside - the final stretch of Daylight Saving Time (DST), the non-DST offset would - always be chosen for local times: - - ```ruby - # DST ended just before 2021-11-07 2:00:00 AM in US/Eastern. - ENV["TZ"] = "US/Eastern" - - time = Time.local(2021, 11, 07, 00, 59, 59) + 1 - # => 2021-11-07 01:00:00 -0400 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0500 - time.advance(seconds: 0) - # => 2021-11-07 01:00:00 -0500 - - time = Time.local(2021, 11, 06, 01, 00, 00) - # => 2021-11-06 01:00:00 -0400 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0500 - time.advance(days: 1) - # => 2021-11-07 01:00:00 -0500 - ``` - - And the DST offset would always be chosen for times with a `TimeZone` - object: - - ```ruby - Time.zone = "US/Eastern" - - time = Time.new(2021, 11, 07, 02, 00, 00, Time.zone) - 3600 - # => 2021-11-07 01:00:00 -0500 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0400 - time.advance(seconds: 0) - # => 2021-11-07 01:00:00 -0400 - - time = Time.new(2021, 11, 8, 01, 00, 00, Time.zone) - # => 2021-11-08 01:00:00 -0500 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0400 - time.advance(days: -1) - # => 2021-11-07 01:00:00 -0400 - ``` - - Now, `Time#change` and `Time#advance` will choose the offset that matches - the original time's offset when possible: - - ```ruby - ENV["TZ"] = "US/Eastern" - - time = Time.local(2021, 11, 07, 00, 59, 59) + 1 - # => 2021-11-07 01:00:00 -0400 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0400 - time.advance(seconds: 0) - # => 2021-11-07 01:00:00 -0400 - - time = Time.local(2021, 11, 06, 01, 00, 00) - # => 2021-11-06 01:00:00 -0400 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0400 - time.advance(days: 1) - # => 2021-11-07 01:00:00 -0400 - - Time.zone = "US/Eastern" - - time = Time.new(2021, 11, 07, 02, 00, 00, Time.zone) - 3600 - # => 2021-11-07 01:00:00 -0500 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0500 - time.advance(seconds: 0) - # => 2021-11-07 01:00:00 -0500 - - time = Time.new(2021, 11, 8, 01, 00, 00, Time.zone) - # => 2021-11-08 01:00:00 -0500 - time.change(day: 07) - # => 2021-11-07 01:00:00 -0500 - time.advance(days: -1) - # => 2021-11-07 01:00:00 -0500 - ``` - - *Kevin Hall*, *Takayoshi Nishida*, and *Jonathan Hefner* - -* Fix MemoryStore to preserve entries TTL when incrementing or decrementing - - This is to be more consistent with how MemCachedStore and RedisCacheStore behaves. - - *Jean Boussier* - -* `Rails.error.handle` and `Rails.error.record` filter now by multiple error classes. - - ```ruby - Rails.error.handle(IOError, ArgumentError) do - 1 + '1' # raises TypeError - end - 1 + 1 # TypeErrors are not IOErrors or ArgumentError, so this will *not* be handled - ``` - - *Martin Spickermann* - -* `Class#subclasses` and `Class#descendants` now automatically filter reloaded classes. - - Previously they could return old implementations of reloadable classes that have been - dereferenced but not yet garbage collected. - - They now automatically filter such classes like `DescendantTracker#subclasses` and - `DescendantTracker#descendants`. - - *Jean Boussier* - -* `Rails.error.report` now marks errors as reported to avoid reporting them twice. - - In some cases, users might want to report errors explicitly with some extra context - before letting it bubble up. - - This also allows to safely catch and report errors outside of the execution context. - - *Jean Boussier* - -* Add `assert_error_reported` and `assert_no_error_reported` - - Allows to easily asserts an error happened but was handled - - ```ruby - report = assert_error_reported(IOError) do - # ... - end - assert_equal "Oops", report.error.message - assert_equal "admin", report.context[:section] - assert_equal :warning, report.severity - assert_predicate report, :handled? - ``` - - *Jean Boussier* - -* `ActiveSupport::Deprecation` behavior callbacks can now receive the - deprecator instance as an argument. This makes it easier for such callbacks - to change their behavior based on the deprecator's state. For example, - based on the deprecator's `debug` flag. - - 3-arity and splat-args callbacks such as the following will now be passed - the deprecator instance as their third argument: - - * `->(message, callstack, deprecator) { ... }` - * `->(*args) { ... }` - * `->(message, *other_args) { ... }` - - 2-arity and 4-arity callbacks such as the following will continue to behave - the same as before: - - * `->(message, callstack) { ... }` - * `->(message, callstack, deprecation_horizon, gem_name) { ... }` - * `->(message, callstack, *deprecation_details) { ... }` - - *Jonathan Hefner* - -* `ActiveSupport::Deprecation#disallowed_warnings` now affects the instance on - which it is configured. - - This means that individual `ActiveSupport::Deprecation` instances can be - configured with their own disallowed warnings, and the global - `ActiveSupport::Deprecation.disallowed_warnings` now only affects the global - `ActiveSupport::Deprecation.warn`. - - **Before** - - ```ruby - ActiveSupport::Deprecation.disallowed_warnings = ["foo"] - deprecator = ActiveSupport::Deprecation.new("2.0", "MyCoolGem") - deprecator.disallowed_warnings = ["bar"] - - ActiveSupport::Deprecation.warn("foo") # => raise ActiveSupport::DeprecationException - ActiveSupport::Deprecation.warn("bar") # => print "DEPRECATION WARNING: bar" - deprecator.warn("foo") # => raise ActiveSupport::DeprecationException - deprecator.warn("bar") # => print "DEPRECATION WARNING: bar" - ``` - - **After** - - ```ruby - ActiveSupport::Deprecation.disallowed_warnings = ["foo"] - deprecator = ActiveSupport::Deprecation.new("2.0", "MyCoolGem") - deprecator.disallowed_warnings = ["bar"] - - ActiveSupport::Deprecation.warn("foo") # => raise ActiveSupport::DeprecationException - ActiveSupport::Deprecation.warn("bar") # => print "DEPRECATION WARNING: bar" - deprecator.warn("foo") # => print "DEPRECATION WARNING: foo" - deprecator.warn("bar") # => raise ActiveSupport::DeprecationException - ``` - - Note that global `ActiveSupport::Deprecation` methods such as `ActiveSupport::Deprecation.warn` - and `ActiveSupport::Deprecation.disallowed_warnings` have been deprecated. - - *Jonathan Hefner* - -* Add italic and underline support to `ActiveSupport::LogSubscriber#color` - - Previously, only bold text was supported via a positional argument. - This allows for bold, italic, and underline options to be specified - for colored logs. - - ```ruby - info color("Hello world!", :red, bold: true, underline: true) - ``` - - *Gannon McGibbon* - -* Add `String#downcase_first` method. - - This method is the corollary of `String#upcase_first`. - - *Mark Schneider* - -* `thread_mattr_accessor` will call `.dup.freeze` on non-frozen default values. - - This provides a basic level of protection against different threads trying - to mutate a shared default object. - - *Jonathan Hefner* - -* Add `raise_on_invalid_cache_expiration_time` config to `ActiveSupport::Cache::Store` - - Specifies if an `ArgumentError` should be raised if `Rails.cache` `fetch` or - `write` are given an invalid `expires_at` or `expires_in` time. - - Options are `true`, and `false`. If `false`, the exception will be reported - as `handled` and logged instead. Defaults to `true` if `config.load_defaults >= 7.1`. - - *Trevor Turk* - -* `ActiveSupport::Cache::Store#fetch` now passes an options accessor to the block. - - It makes possible to override cache options: - - Rails.cache.fetch("3rd-party-token") do |name, options| - token = fetch_token_from_remote - # set cache's TTL to match token's TTL - options.expires_in = token.expires_in - token - end - - *Andrii Gladkyi*, *Jean Boussier* - -* `default` option of `thread_mattr_accessor` now applies through inheritance and - also across new threads. - - Previously, the `default` value provided was set only at the moment of defining - the attribute writer, which would cause the attribute to be uninitialized in - descendants and in other threads. - - Fixes #43312. - - *Thierry Deo* - -* Redis cache store is now compatible with redis-rb 5.0. - - *Jean Boussier* - -* Add `skip_nil:` support to `ActiveSupport::Cache::Store#fetch_multi`. - - *Daniel Alfaro* - -* Add `quarter` method to date/time - - *Matt Swanson* - -* Fix `NoMethodError` on custom `ActiveSupport::Deprecation` behavior. - - `ActiveSupport::Deprecation.behavior=` was supposed to accept any object - that responds to `call`, but in fact its internal implementation assumed that - this object could respond to `arity`, so it was restricted to only `Proc` objects. - - This change removes this `arity` restriction of custom behaviors. - - *Ryo Nakamura* - -* Support `:url_safe` option for `MessageEncryptor`. - - The `MessageEncryptor` constructor now accepts a `:url_safe` option, similar - to the `MessageVerifier` constructor. When enabled, this option ensures - that messages use a URL-safe encoding. - - *Jonathan Hefner* - -* Add `url_safe` option to `ActiveSupport::MessageVerifier` initializer - - `ActiveSupport::MessageVerifier.new` now takes optional `url_safe` argument. - It can generate URL-safe strings by passing `url_safe: true`. - - ```ruby - verifier = ActiveSupport::MessageVerifier.new(url_safe: true) - message = verifier.generate(data) # => URL-safe string - ``` - - This option is `false` by default to be backwards compatible. - - *Shouichi Kamiya* - -* Enable connection pooling by default for `MemCacheStore` and `RedisCacheStore`. - - If you want to disable connection pooling, set `:pool` option to `false` when configuring the cache store: - - ```ruby - config.cache_store = :mem_cache_store, "cache.example.com", pool: false - ``` - - *fatkodima* - -* Add `force:` support to `ActiveSupport::Cache::Store#fetch_multi`. - - *fatkodima* - -* Deprecated `:pool_size` and `:pool_timeout` options for configuring connection pooling in cache stores. - - Use `pool: true` to enable pooling with default settings: - - ```ruby - config.cache_store = :redis_cache_store, pool: true - ``` - - Or pass individual options via `:pool` option: - - ```ruby - config.cache_store = :redis_cache_store, pool: { size: 10, timeout: 2 } - ``` - - *fatkodima* - -* Allow #increment and #decrement methods of `ActiveSupport::Cache::Store` - subclasses to set new values. - - Previously incrementing or decrementing an unset key would fail and return - nil. A default will now be assumed and the key will be created. - - *Andrej Blagojević*, *Eugene Kenny* - -* Add `skip_nil:` support to `RedisCacheStore` - - *Joey Paris* - -* `ActiveSupport::Cache::MemoryStore#write(name, val, unless_exist:true)` now - correctly writes expired keys. - - *Alan Savage* - -* `ActiveSupport::ErrorReporter` now accepts and forward a `source:` parameter. - - This allow libraries to signal the origin of the errors, and reporters - to easily ignore some sources. - - *Jean Boussier* - -* Fix and add protections for XSS in `ActionView::Helpers` and `ERB::Util`. - - Add the method `ERB::Util.xml_name_escape` to escape dangerous characters - in names of tags and names of attributes, following the specification of XML. - - *Álvaro Martín Fraguas* - -* Respect `ActiveSupport::Logger.new`'s `:formatter` keyword argument - - The stdlib `Logger::new` allows passing a `:formatter` keyword argument to - set the logger's formatter. Previously `ActiveSupport::Logger.new` ignored - that argument by always setting the formatter to an instance of - `ActiveSupport::Logger::SimpleFormatter`. - - *Steven Harman* - -* Deprecate preserving the pre-Ruby 2.4 behavior of `to_time` - - With Ruby 2.4+ the default for +to_time+ changed from converting to the - local system time to preserving the offset of the receiver. At the time Rails - supported older versions of Ruby so a compatibility layer was added to assist - in the migration process. From Rails 5.0 new applications have defaulted to - the Ruby 2.4+ behavior and since Rails 7.0 now only supports Ruby 2.7+ - this compatibility layer can be safely removed. - - To minimize any noise generated the deprecation warning only appears when the - setting is configured to `false` as that is the only scenario where the - removal of the compatibility layer has any effect. - - *Andrew White* - -* `Pathname.blank?` only returns true for `Pathname.new("")` - - Previously it would end up calling `Pathname#empty?` which returned true - if the path existed and was an empty directory or file. - - That behavior was unlikely to be expected. - - *Jean Boussier* - -* Deprecate `Notification::Event`'s `#children` and `#parent_of?` - - *John Hawthorn* - -* Change the default serializer of `ActiveSupport::MessageVerifier` from - `Marshal` to `ActiveSupport::JSON` when using `config.load_defaults 7.1`. - - Messages serialized with `Marshal` can still be read, but new messages will - be serialized with `ActiveSupport::JSON`. For more information, see - https://guides.rubyonrails.org/v7.1/configuring.html#config-active-support-message-serializer. - - *Saba Kiaei*, *David Buckley*, and *Jonathan Hefner* - -* Change the default serializer of `ActiveSupport::MessageEncryptor` from - `Marshal` to `ActiveSupport::JSON` when using `config.load_defaults 7.1`. - - Messages serialized with `Marshal` can still be read, but new messages will - be serialized with `ActiveSupport::JSON`. For more information, see - https://guides.rubyonrails.org/v7.1/configuring.html#config-active-support-message-serializer. - - *Zack Deveau*, *Martin Gingras*, and *Jonathan Hefner* - -* Add `ActiveSupport::TestCase#stub_const` to stub a constant for the duration of a yield. - - *DHH* - -* Fix `ActiveSupport::EncryptedConfiguration` to be compatible with Psych 4 - - *Stephen Sugden* - -* Improve `File.atomic_write` error handling - - *Daniel Pepper* - -* Fix `Class#descendants` and `DescendantsTracker#descendants` compatibility with Ruby 3.1. - - [The native `Class#descendants` was reverted prior to Ruby 3.1 release](https://bugs.ruby-lang.org/issues/14394#note-33), - but `Class#subclasses` was kept, breaking the feature detection. - - *Jean Boussier* - -Please check [7-0-stable](https://github.com/rails/rails/blob/7-0-stable/activesupport/CHANGELOG.md) for previous changes. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/MIT-LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/MIT-LICENSE deleted file mode 100644 index f12cfa7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/MIT-LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) David Heinemeier Hansson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/README.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/README.rdoc deleted file mode 100644 index 04e1f77..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.1/README.rdoc +++ /dev/null @@ -1,40 +0,0 @@ -= Active Support -- Utility classes and Ruby extensions from \Rails - -Active Support is a collection of utility classes and standard library -extensions that were found useful for the \Rails framework. These additions -reside in this package so they can be loaded as needed in Ruby projects -outside of \Rails. - -You can read more about the extensions in the {Active Support Core Extensions}[https://guides.rubyonrails.org/active_support_core_extensions.html] guide. - -== Download and installation - -The latest version of Active Support can be installed with RubyGems: - - $ gem install activesupport - -Source code can be downloaded as part of the \Rails project on GitHub: - -* https://github.com/rails/rails/tree/main/activesupport - - -== License - -Active Support is released under the MIT license: - -* https://opensource.org/licenses/MIT - - -== Support - -API documentation is at: - -* https://api.rubyonrails.org - -Bug reports for the Ruby on \Rails project can be filed here: - -* https://github.com/rails/rails/issues - -Feature requests should be discussed on the rails-core mailing list here: - -* https://discuss.rubyonrails.org/c/rubyonrails-core diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/CHANGELOG.md deleted file mode 100644 index ee81c73..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/CHANGELOG.md +++ /dev/null @@ -1,291 +0,0 @@ -# Addressable 2.8.5 -- Fix thread safety issue with encoding tables ([#515]) -- Define URI::NONE as a module to avoid serialization issues ([#509]) -- Fix YAML serialization ([#508]) - -[#508]: https://github.com/sporkmonger/addressable/pull/508 -[#509]: https://github.com/sporkmonger/addressable/pull/509 -[#515]: https://github.com/sporkmonger/addressable/pull/515 - -# Addressable 2.8.4 -- Restore `Addressable::IDNA.unicode_normalize_kc` as a deprecated method ([#504]) - -[#504]: https://github.com/sporkmonger/addressable/pull/504 - -# Addressable 2.8.3 -- Fix template expand level 2 hash support for non-string objects ([#499], [#498]) - -[#499]: https://github.com/sporkmonger/addressable/pull/499 -[#498]: https://github.com/sporkmonger/addressable/pull/498 - -# Addressable 2.8.2 -- Improve cache hits and JIT friendliness ([#486](https://github.com/sporkmonger/addressable/pull/486)) -- Improve code style and test coverage ([#482](https://github.com/sporkmonger/addressable/pull/482)) -- Ensure reset of deferred validation ([#481](https://github.com/sporkmonger/addressable/pull/481)) -- Resolve normalization differences between `IDNA::Native` and `IDNA::Pure` ([#408](https://github.com/sporkmonger/addressable/issues/408), [#492]) -- Remove redundant colon in `Addressable::URI::CharacterClasses::AUTHORITY` regex ([#438](https://github.com/sporkmonger/addressable/pull/438)) (accidentally reverted by [#449] merge but [added back](https://github.com/sporkmonger/addressable/pull/492#discussion_r1105125280) in [#492]) - -[#492]: https://github.com/sporkmonger/addressable/pull/492 - -# Addressable 2.8.1 -- refactor `Addressable::URI.normalize_path` to address linter offenses ([#430](https://github.com/sporkmonger/addressable/pull/430)) -- update gemspec to reflect supported Ruby versions ([#466], [#464], [#463]) -- compatibility w/ public_suffix 5.x ([#466], [#465], [#460]) -- fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters ([#459](https://github.com/sporkmonger/addressable/pull/459)) -- `Ractor` compatibility ([#449]) -- use the whole string instead of a single line for template match ([#431](https://github.com/sporkmonger/addressable/pull/431)) -- force UTF-8 encoding only if needed ([#341](https://github.com/sporkmonger/addressable/pull/341)) - -[#449]: https://github.com/sporkmonger/addressable/pull/449 -[#460]: https://github.com/sporkmonger/addressable/pull/460 -[#463]: https://github.com/sporkmonger/addressable/pull/463 -[#464]: https://github.com/sporkmonger/addressable/pull/464 -[#465]: https://github.com/sporkmonger/addressable/pull/465 -[#466]: https://github.com/sporkmonger/addressable/pull/466 - -# Addressable 2.8.0 -- fixes ReDoS vulnerability in Addressable::Template#match -- no longer replaces `+` with spaces in queries for non-http(s) schemes -- fixed encoding ipv6 literals -- the `:compacted` flag for `normalized_query` now dedupes parameters -- fix broken `escape_component` alias -- dropping support for Ruby 2.0 and 2.1 -- adding Ruby 3.0 compatibility for development tasks -- drop support for `rack-mount` and remove Addressable::Template#generate -- performance improvements -- switch CI/CD to GitHub Actions - -# Addressable 2.7.0 -- added `:compacted` flag to `normalized_query` -- `heuristic_parse` handles `mailto:` more intuitively -- dropped explicit support for JRuby 9.0.5.0 -- compatibility w/ public_suffix 4.x -- performance improvements - -# Addressable 2.6.0 -- added `tld=` method to allow assignment to the public suffix -- most `heuristic_parse` patterns are now case-insensitive -- `heuristic_parse` handles more `file://` URI variations -- fixes bug in `heuristic_parse` when uri starts with digit -- fixes bug in `request_uri=` with query strings -- fixes template issues with `nil` and `?` operator -- `frozen_string_literal` pragmas added -- minor performance improvements in regexps -- fixes to eliminate warnings - -# Addressable 2.5.2 -- better support for frozen string literals -- fixed bug w/ uppercase characters in scheme -- IDNA errors w/ emoji URLs -- compatibility w/ public_suffix 3.x - -# Addressable 2.5.1 -- allow unicode normalization to be disabled for URI Template expansion -- removed duplicate test - -# Addressable 2.5.0 -- dropping support for Ruby 1.9 -- adding support for Ruby 2.4 preview -- add support for public suffixes and tld; first runtime dependency -- hostname escaping should match RFC; underscores in hostnames no longer escaped -- paths beginning with // and missing an authority are now considered invalid -- validation now also takes place after setting a path -- handle backslashes in authority more like a browser for `heuristic_parse` -- unescaped backslashes in host now raise an `InvalidURIError` -- `merge!`, `join!`, `omit!` and `normalize!` don't disable deferred validation -- `heuristic_parse` now trims whitespace before parsing -- host parts longer than 63 bytes will be ignored and not passed to libidn -- normalized values always encoded as UTF-8 - -# Addressable 2.4.0 -- support for 1.8.x dropped -- double quotes in a host now raises an error -- newlines in host will no longer get unescaped during normalization -- stricter handling of bogus scheme values -- stricter handling of encoded port values -- calling `require 'addressable'` will now load both the URI and Template files -- assigning to the `hostname` component with an `IPAddr` object is now supported -- assigning to the `origin` component is now supported -- fixed minor bug where an exception would be thrown for a missing ACE suffix -- better partial expansion of URI templates - -# Addressable 2.3.8 -- fix warnings -- update dependency gems -- support for 1.8.x officially deprecated - -# Addressable 2.3.7 -- fix scenario in which invalid URIs don't get an exception until inspected -- handle hostnames with two adjacent periods correctly -- upgrade of RSpec - -# Addressable 2.3.6 -- normalization drops empty query string -- better handling in template extract for missing values -- template modifier for `'?'` now treated as optional -- fixed issue where character class parameters were modified -- templates can now be tested for equality -- added `:sorted` option to normalization of query strings -- fixed issue with normalization of hosts given in `'example.com.'` form - -# Addressable 2.3.5 -- added Addressable::URI#empty? method -- Addressable::URI#hostname methods now strip square brackets from IPv6 hosts -- compatibility with Net::HTTP in Ruby 2.0.0 -- Addressable::URI#route_from should always give relative URIs - -# Addressable 2.3.4 -- fixed issue with encoding altering its inputs -- query string normalization now leaves ';' characters alone -- FakeFS is detected before attempting to load unicode tables -- additional testing to ensure frozen objects don't cause problems - -# Addressable 2.3.3 -- fixed issue with converting common primitives during template expansion -- fixed port encoding issue -- removed a few warnings -- normalize should now ignore %2B in query strings -- the IDNA logic should now be handled by libidn in Ruby 1.9 -- no template match should now result in nil instead of an empty MatchData -- added license information to gemspec - -# Addressable 2.3.2 -- added Addressable::URI#default_port method -- fixed issue with Marshalling Unicode data on Windows -- improved heuristic parsing to better handle IPv4 addresses - -# Addressable 2.3.1 -- fixed missing unicode data file - -# Addressable 2.3.0 -- updated Addressable::Template to use RFC 6570, level 4 -- fixed compatibility problems with some versions of Ruby -- moved unicode tables into a data file for performance reasons -- removing support for multiple query value notations - -# Addressable 2.2.8 -- fixed issues with dot segment removal code -- form encoding can now handle multiple values per key -- updated development environment - -# Addressable 2.2.7 -- fixed issues related to Addressable::URI#query_values= -- the Addressable::URI.parse method is now polymorphic - -# Addressable 2.2.6 -- changed the way ambiguous paths are handled -- fixed bug with frozen URIs -- https supported in heuristic parsing - -# Addressable 2.2.5 -- 'parsing' a pre-parsed URI object is now a dup operation -- introduced conditional support for libidn -- fixed normalization issue on ampersands in query strings -- added additional tests around handling of query strings - -# Addressable 2.2.4 -- added origin support from draft-ietf-websec-origin-00 -- resolved issue with attempting to navigate below root -- fixed bug with string splitting in query strings - -# Addressable 2.2.3 -- added :flat_array notation for query strings - -# Addressable 2.2.2 -- fixed issue with percent escaping of '+' character in query strings - -# Addressable 2.2.1 -- added support for application/x-www-form-urlencoded. - -# Addressable 2.2.0 -- added site methods -- improved documentation - -# Addressable 2.1.2 -- added HTTP request URI methods -- better handling of Windows file paths -- validation_deferred boolean replaced with defer_validation block -- normalization of percent-encoded paths should now be correct -- fixed issue with constructing URIs with relative paths -- fixed warnings - -# Addressable 2.1.1 -- more type checking changes -- fixed issue with unicode normalization -- added method to find template defaults -- symbolic keys are now allowed in template mappings -- numeric values and symbolic values are now allowed in template mappings - -# Addressable 2.1.0 -- refactored URI template support out into its own class -- removed extract method due to being useless and unreliable -- removed Addressable::URI.expand_template -- removed Addressable::URI#extract_mapping -- added partial template expansion -- fixed minor bugs in the parse and heuristic_parse methods -- fixed incompatibility with Ruby 1.9.1 -- fixed bottleneck in Addressable::URI#hash and Addressable::URI#to_s -- fixed unicode normalization exception -- updated query_values methods to better handle subscript notation -- worked around issue with freezing URIs -- improved specs - -# Addressable 2.0.2 -- fixed issue with URI template expansion -- fixed issue with percent escaping characters 0-15 - -# Addressable 2.0.1 -- fixed issue with query string assignment -- fixed issue with improperly encoded components - -# Addressable 2.0.0 -- the initialize method now takes an options hash as its only parameter -- added query_values method to URI class -- completely replaced IDNA implementation with pure Ruby -- renamed Addressable::ADDRESSABLE_VERSION to Addressable::VERSION -- completely reworked the Rakefile -- changed the behavior of the port method significantly -- Addressable::URI.encode_segment, Addressable::URI.unencode_segment renamed -- documentation is now in YARD format -- more rigorous type checking -- to_str method implemented, implicit conversion to Strings now allowed -- Addressable::URI#omit method added, Addressable::URI#merge method replaced -- updated URI Template code to match v 03 of the draft spec -- added a bunch of new specifications - -# Addressable 1.0.4 -- switched to using RSpec's pending system for specs that rely on IDN -- fixed issue with creating URIs with paths that are not prefixed with '/' - -# Addressable 1.0.3 -- implemented a hash method - -# Addressable 1.0.2 -- fixed minor bug with the extract_mapping method - -# Addressable 1.0.1 -- fixed minor bug with the extract_mapping method - -# Addressable 1.0.0 -- heuristic parse method added -- parsing is slightly more strict -- replaced to_h with to_hash -- fixed routing methods -- improved specifications -- improved heckle rake task -- no surviving heckle mutations - -# Addressable 0.1.2 -- improved normalization -- fixed bug in joining algorithm -- updated specifications - -# Addressable 0.1.1 -- updated documentation -- added URI Template variable extraction - -# Addressable 0.1.0 -- initial release -- implementation based on RFC 3986, 3987 -- support for IRIs via libidn -- support for the URI Template draft spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/Gemfile deleted file mode 100644 index 0d36ffb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/Gemfile +++ /dev/null @@ -1,30 +0,0 @@ -# frozen_string_literal: true - -source 'https://rubygems.org' - -gemspec - -group :test do - gem 'rspec', '~> 3.8' - gem 'rspec-its', '~> 1.3' -end - -group :coverage do - gem "coveralls", "> 0.7", require: false, platforms: :mri - gem "simplecov", require: false -end - -group :development do - gem 'launchy', '~> 2.4', '>= 2.4.3' - gem 'redcarpet', :platform => :mri_19 - gem 'yard' -end - -group :test, :development do - gem 'memory_profiler' - gem "rake", ">= 12.3.3" -end - -unless ENV["IDNA_MODE"] == "pure" - gem "idn-ruby", platform: :mri -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/LICENSE.txt deleted file mode 100644 index ef51da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/README.md deleted file mode 100644 index 9892f61..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/README.md +++ /dev/null @@ -1,121 +0,0 @@ -# Addressable - -
-
Homepage
github.com/sporkmonger/addressable
-
Author
Bob Aman
-
Copyright
Copyright © Bob Aman
-
License
Apache 2.0
-
- -[![Gem Version](https://img.shields.io/gem/dt/addressable.svg)][gem] -[![Build Status](https://github.com/sporkmonger/addressable/workflows/CI/badge.svg)][actions] -[![Test Coverage Status](https://img.shields.io/coveralls/sporkmonger/addressable.svg)][coveralls] -[![Documentation Coverage Status](https://inch-ci.org/github/sporkmonger/addressable.svg?branch=master)][inch] - -[gem]: https://rubygems.org/gems/addressable -[actions]: https://github.com/sporkmonger/addressable/actions -[coveralls]: https://coveralls.io/r/sporkmonger/addressable -[inch]: https://inch-ci.org/github/sporkmonger/addressable - -# Description - -Addressable is an alternative implementation to the URI implementation -that is part of Ruby's standard library. It is flexible, offers heuristic -parsing, and additionally provides extensive support for IRIs and URI templates. - -Addressable closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4). - -# Reference - -- {Addressable::URI} -- {Addressable::Template} - -# Example usage - -```ruby -require "addressable/uri" - -uri = Addressable::URI.parse("http://example.com/path/to/resource/") -uri.scheme -#=> "http" -uri.host -#=> "example.com" -uri.path -#=> "/path/to/resource/" - -uri = Addressable::URI.parse("http://www.詹姆斯.com/") -uri.normalize -#=> # -``` - - -# URI Templates - -For more details, see [RFC 6570](https://www.rfc-editor.org/rfc/rfc6570.txt). - - -```ruby - -require "addressable/template" - -template = Addressable::Template.new("http://example.com/{?query*}") -template.expand({ - "query" => { - 'foo' => 'bar', - 'color' => 'red' - } -}) -#=> # - -template = Addressable::Template.new("http://example.com/{?one,two,three}") -template.partial_expand({"one" => "1", "three" => 3}).pattern -#=> "http://example.com/?one=1{&two}&three=3" - -template = Addressable::Template.new( - "http://{host}{/segments*}/{?one,two,bogus}{#fragment}" -) -uri = Addressable::URI.parse( - "http://example.com/a/b/c/?one=1&two=2#foo" -) -template.extract(uri) -#=> -# { -# "host" => "example.com", -# "segments" => ["a", "b", "c"], -# "one" => "1", -# "two" => "2", -# "fragment" => "foo" -# } -``` - -# Install - -```console -$ gem install addressable -``` - -You may optionally turn on native IDN support by installing libidn and the -idn gem: - -```console -$ sudo apt-get install libidn11-dev # Debian/Ubuntu -$ brew install libidn # OS X -$ gem install idn-ruby -``` - -# Semantic Versioning - -This project uses [Semantic Versioning](https://semver.org/). You can (and should) specify your -dependency using a pessimistic version constraint covering the major and minor -values: - -```ruby -spec.add_dependency 'addressable', '~> 2.7' -``` - -If you need a specific bug fix, you can also specify minimum tiny versions -without preventing updates to the latest minor release: - -```ruby -spec.add_dependency 'addressable', '~> 2.3', '>= 2.3.7' -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/Rakefile deleted file mode 100644 index 3ba58df..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/Rakefile +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true - -require 'rubygems' -require 'rake' - -require File.join(File.dirname(__FILE__), 'lib', 'addressable', 'version') - -PKG_DISPLAY_NAME = 'Addressable' -PKG_NAME = PKG_DISPLAY_NAME.downcase -PKG_VERSION = Addressable::VERSION::STRING -PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}" - -RELEASE_NAME = "REL #{PKG_VERSION}" - -PKG_SUMMARY = "URI Implementation" -PKG_DESCRIPTION = <<-TEXT -Addressable is an alternative implementation to the URI implementation that is -part of Ruby's standard library. It is flexible, offers heuristic parsing, and -additionally provides extensive support for IRIs and URI templates. -TEXT - -PKG_FILES = FileList[ - "data/**/*", - "lib/**/*.rb", - "spec/**/*.rb", - "tasks/**/*.rake", - "addressable.gemspec", - "CHANGELOG.md", - "Gemfile", - "LICENSE.txt", - "README.md", - "Rakefile", -] - -task :default => "spec" - -WINDOWS = (RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/) rescue false -SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS']) - -Dir['tasks/**/*.rake'].each { |rake| load rake } diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/addressable.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/addressable.gemspec deleted file mode 100644 index d94b2af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/addressable.gemspec +++ /dev/null @@ -1,28 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: addressable 2.8.5 ruby lib - -Gem::Specification.new do |s| - s.name = "addressable".freeze - s.version = "2.8.5" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "changelog_uri" => "https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Bob Aman".freeze] - s.date = "2023-08-03" - s.description = "Addressable is an alternative implementation to the URI implementation that is\npart of Ruby's standard library. It is flexible, offers heuristic parsing, and\nadditionally provides extensive support for IRIs and URI templates.\n".freeze - s.email = "bob@sporkmonger.com".freeze - s.extra_rdoc_files = ["README.md".freeze] - s.files = ["CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "addressable.gemspec".freeze, "data/unicode.data".freeze, "lib/addressable.rb".freeze, "lib/addressable/idna.rb".freeze, "lib/addressable/idna/native.rb".freeze, "lib/addressable/idna/pure.rb".freeze, "lib/addressable/template.rb".freeze, "lib/addressable/uri.rb".freeze, "lib/addressable/version.rb".freeze, "spec/addressable/idna_spec.rb".freeze, "spec/addressable/net_http_compat_spec.rb".freeze, "spec/addressable/security_spec.rb".freeze, "spec/addressable/template_spec.rb".freeze, "spec/addressable/uri_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tasks/clobber.rake".freeze, "tasks/gem.rake".freeze, "tasks/git.rake".freeze, "tasks/metrics.rake".freeze, "tasks/profile.rake".freeze, "tasks/rspec.rake".freeze, "tasks/yard.rake".freeze] - s.homepage = "https://github.com/sporkmonger/addressable".freeze - s.licenses = ["Apache-2.0".freeze] - s.rdoc_options = ["--main".freeze, "README.md".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) - s.rubygems_version = "3.4.18".freeze - s.summary = "URI Implementation".freeze - - s.specification_version = 4 - - s.add_runtime_dependency(%q.freeze, [">= 2.0.2", "< 6.0"]) - s.add_development_dependency(%q.freeze, [">= 1.0", "< 3.0"]) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/idna_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/idna_spec.rb deleted file mode 100644 index 428c9ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/idna_spec.rb +++ /dev/null @@ -1,302 +0,0 @@ -# frozen_string_literal: true - -# Copyright (C) Bob Aman -# -# 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. - - -require "spec_helper" - -# Have to use RubyGems to load the idn gem. -require "rubygems" - -require "addressable/idna" - -shared_examples_for "converting from unicode to ASCII" do - it "should convert 'www.google.com' correctly" do - expect(Addressable::IDNA.to_ascii("www.google.com")).to eq("www.google.com") - end - - long = 'AcinusFallumTrompetumNullunCreditumVisumEstAtCuadLongumEtCefallum.com' - it "should convert '#{long}' correctly" do - expect(Addressable::IDNA.to_ascii(long)).to eq(long) - end - - it "should convert 'www.詹姆斯.com' correctly" do - expect(Addressable::IDNA.to_ascii( - "www.詹姆斯.com" - )).to eq("www.xn--8ws00zhy3a.com") - end - - it "also accepts unicode strings encoded as ascii-8bit" do - expect(Addressable::IDNA.to_ascii( - "www.詹姆斯.com".b - )).to eq("www.xn--8ws00zhy3a.com") - end - - it "should convert 'www.Iñtërnâtiônàlizætiøn.com' correctly" do - "www.Iñtërnâtiônàlizætiøn.com" - expect(Addressable::IDNA.to_ascii( - "www.I\xC3\xB1t\xC3\xABrn\xC3\xA2ti\xC3\xB4" + - "n\xC3\xA0liz\xC3\xA6ti\xC3\xB8n.com" - )).to eq("www.xn--itrntinliztin-vdb0a5exd8ewcye.com") - end - - it "should convert 'www.Iñtërnâtiônàlizætiøn.com' correctly" do - expect(Addressable::IDNA.to_ascii( - "www.In\xCC\x83te\xCC\x88rna\xCC\x82tio\xCC\x82n" + - "a\xCC\x80liz\xC3\xA6ti\xC3\xB8n.com" - )).to eq("www.xn--itrntinliztin-vdb0a5exd8ewcye.com") - end - - it "should convert " + - "'www.ほんとうにながいわけのわからないどめいんめいのらべるまだながくしないとたりない.w3.mag.keio.ac.jp' " + - "correctly" do - expect(Addressable::IDNA.to_ascii( - "www.\343\201\273\343\202\223\343\201\250\343\201\206\343\201\253\343" + - "\201\252\343\201\214\343\201\204\343\202\217\343\201\221\343\201\256" + - "\343\202\217\343\201\213\343\202\211\343\201\252\343\201\204\343\201" + - "\251\343\202\201\343\201\204\343\202\223\343\202\201\343\201\204\343" + - "\201\256\343\202\211\343\201\271\343\202\213\343\201\276\343\201\240" + - "\343\201\252\343\201\214\343\201\217\343\201\227\343\201\252\343\201" + - "\204\343\201\250\343\201\237\343\202\212\343\201\252\343\201\204." + - "w3.mag.keio.ac.jp" - )).to eq( - "www.xn--n8jaaaaai5bhf7as8fsfk3jnknefdde3" + - "fg11amb5gzdb4wi9bya3kc6lra.w3.mag.keio.ac.jp" - ) - end - - it "should convert " + - "'www.ほんとうにながいわけのわからないどめいんめいのらべるまだながくしないとたりない.w3.mag.keio.ac.jp' " + - "correctly" do - expect(Addressable::IDNA.to_ascii( - "www.\343\201\273\343\202\223\343\201\250\343\201\206\343\201\253\343" + - "\201\252\343\201\213\343\202\231\343\201\204\343\202\217\343\201\221" + - "\343\201\256\343\202\217\343\201\213\343\202\211\343\201\252\343\201" + - "\204\343\201\250\343\202\231\343\202\201\343\201\204\343\202\223\343" + - "\202\201\343\201\204\343\201\256\343\202\211\343\201\270\343\202\231" + - "\343\202\213\343\201\276\343\201\237\343\202\231\343\201\252\343\201" + - "\213\343\202\231\343\201\217\343\201\227\343\201\252\343\201\204\343" + - "\201\250\343\201\237\343\202\212\343\201\252\343\201\204." + - "w3.mag.keio.ac.jp" - )).to eq( - "www.xn--n8jaaaaai5bhf7as8fsfk3jnknefdde3" + - "fg11amb5gzdb4wi9bya3kc6lra.w3.mag.keio.ac.jp" - ) - end - - it "should convert '点心和烤鸭.w3.mag.keio.ac.jp' correctly" do - expect(Addressable::IDNA.to_ascii( - "点心和烤鸭.w3.mag.keio.ac.jp" - )).to eq("xn--0trv4xfvn8el34t.w3.mag.keio.ac.jp") - end - - it "should convert '가각갂갃간갅갆갇갈갉힢힣.com' correctly" do - expect(Addressable::IDNA.to_ascii( - "가각갂갃간갅갆갇갈갉힢힣.com" - )).to eq("xn--o39acdefghijk5883jma.com") - end - - it "should convert " + - "'\347\242\274\346\250\231\346\272\226\350" + - "\220\254\345\234\213\347\242\274.com' correctly" do - expect(Addressable::IDNA.to_ascii( - "\347\242\274\346\250\231\346\272\226\350" + - "\220\254\345\234\213\347\242\274.com" - )).to eq("xn--9cs565brid46mda086o.com") - end - - it "should convert 'リ宠퐱〹.com' correctly" do - expect(Addressable::IDNA.to_ascii( - "\357\276\230\345\256\240\355\220\261\343\200\271.com" - )).to eq("xn--eek174hoxfpr4k.com") - end - - it "should convert 'リ宠퐱卄.com' correctly" do - expect(Addressable::IDNA.to_ascii( - "\343\203\252\345\256\240\355\220\261\345\215\204.com" - )).to eq("xn--eek174hoxfpr4k.com") - end - - it "should convert 'ᆵ' correctly" do - expect(Addressable::IDNA.to_ascii( - "\341\206\265" - )).to eq("xn--4ud") - end - - it "should convert 'ᆵ' correctly" do - expect(Addressable::IDNA.to_ascii( - "\357\276\257" - )).to eq("xn--4ud") - end - - it "should convert '🌹🌹🌹.ws' correctly" do - expect(Addressable::IDNA.to_ascii( - "\360\237\214\271\360\237\214\271\360\237\214\271.ws" - )).to eq("xn--2h8haa.ws") - end - - it "should handle two adjacent '.'s correctly" do - expect(Addressable::IDNA.to_ascii( - "example..host" - )).to eq("example..host") - end -end - -shared_examples_for "converting from ASCII to unicode" do - long = 'AcinusFallumTrompetumNullunCreditumVisumEstAtCuadLongumEtCefallum.com' - it "should convert '#{long}' correctly" do - expect(Addressable::IDNA.to_unicode(long)).to eq(long) - end - - it "should return the identity conversion when punycode decode fails" do - expect(Addressable::IDNA.to_unicode("xn--zckp1cyg1.sblo.jp")).to eq( - "xn--zckp1cyg1.sblo.jp") - end - - it "should return the identity conversion when the ACE prefix has no suffix" do - expect(Addressable::IDNA.to_unicode("xn--...-")).to eq("xn--...-") - end - - it "should convert 'www.google.com' correctly" do - expect(Addressable::IDNA.to_unicode("www.google.com")).to eq( - "www.google.com") - end - - it "should convert 'www.詹姆斯.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "www.xn--8ws00zhy3a.com" - )).to eq("www.詹姆斯.com") - end - - it "should convert '詹姆斯.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--8ws00zhy3a.com" - )).to eq("詹姆斯.com") - end - - it "should convert 'www.iñtërnâtiônàlizætiøn.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "www.xn--itrntinliztin-vdb0a5exd8ewcye.com" - )).to eq("www.iñtërnâtiônàlizætiøn.com") - end - - it "should convert 'iñtërnâtiônàlizætiøn.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--itrntinliztin-vdb0a5exd8ewcye.com" - )).to eq("iñtërnâtiônàlizætiøn.com") - end - - it "should convert " + - "'www.ほんとうにながいわけのわからないどめいんめいのらべるまだながくしないとたりない.w3.mag.keio.ac.jp' " + - "correctly" do - expect(Addressable::IDNA.to_unicode( - "www.xn--n8jaaaaai5bhf7as8fsfk3jnknefdde3" + - "fg11amb5gzdb4wi9bya3kc6lra.w3.mag.keio.ac.jp" - )).to eq( - "www.ほんとうにながいわけのわからないどめいんめいのらべるまだながくしないとたりない.w3.mag.keio.ac.jp" - ) - end - - it "should convert '点心和烤鸭.w3.mag.keio.ac.jp' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--0trv4xfvn8el34t.w3.mag.keio.ac.jp" - )).to eq("点心和烤鸭.w3.mag.keio.ac.jp") - end - - it "should convert '가각갂갃간갅갆갇갈갉힢힣.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--o39acdefghijk5883jma.com" - )).to eq("가각갂갃간갅갆갇갈갉힢힣.com") - end - - it "should convert " + - "'\347\242\274\346\250\231\346\272\226\350" + - "\220\254\345\234\213\347\242\274.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--9cs565brid46mda086o.com" - )).to eq( - "\347\242\274\346\250\231\346\272\226\350" + - "\220\254\345\234\213\347\242\274.com" - ) - end - - it "should convert 'リ宠퐱卄.com' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--eek174hoxfpr4k.com" - )).to eq("\343\203\252\345\256\240\355\220\261\345\215\204.com") - end - - it "should convert 'ᆵ' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--4ud" - )).to eq("\341\206\265") - end - - it "should convert '🌹🌹🌹.ws' correctly" do - expect(Addressable::IDNA.to_unicode( - "xn--2h8haa.ws" - )).to eq("\360\237\214\271\360\237\214\271\360\237\214\271.ws") - end - - it "should handle two adjacent '.'s correctly" do - expect(Addressable::IDNA.to_unicode( - "example..host" - )).to eq("example..host") - end -end - -describe Addressable::IDNA, "when using the pure-Ruby implementation" do - before do - Addressable.send(:remove_const, :IDNA) - load "addressable/idna/pure.rb" - end - - it_should_behave_like "converting from unicode to ASCII" - it_should_behave_like "converting from ASCII to unicode" - - begin - require "fiber" - - it "should not blow up inside fibers" do - f = Fiber.new do - Addressable.send(:remove_const, :IDNA) - load "addressable/idna/pure.rb" - end - f.resume - end - rescue LoadError - # Fibers aren't supported in this version of Ruby, skip this test. - warn('Fibers unsupported.') - end -end - -begin - require "idn" - - describe Addressable::IDNA, "when using the native-code implementation" do - before do - Addressable.send(:remove_const, :IDNA) - load "addressable/idna/native.rb" - end - - it_should_behave_like "converting from unicode to ASCII" - it_should_behave_like "converting from ASCII to unicode" - end -rescue LoadError => error - raise error if ENV["CI"] && TestHelper.native_supported? - - # Cannot test the native implementation without libidn support. - warn('Could not load native IDN implementation.') -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/net_http_compat_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/net_http_compat_spec.rb deleted file mode 100644 index d07a43e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/net_http_compat_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -# Copyright (C) Bob Aman -# -# 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. - - -require "spec_helper" - -require "addressable/uri" -require "net/http" - -describe Net::HTTP do - it "should be compatible with Addressable" do - response_body = - Net::HTTP.get(Addressable::URI.parse('http://www.google.com/')) - expect(response_body).not_to be_nil - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/security_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/security_spec.rb deleted file mode 100644 index 3bf90a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/security_spec.rb +++ /dev/null @@ -1,58 +0,0 @@ -# frozen_string_literal: true - -# Copyright (C) Bob Aman -# -# 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. - - -require "spec_helper" - -require "addressable/uri" - -describe Addressable::URI, "when created with a URI known to cause crashes " + - "in certain browsers" do - it "should parse correctly" do - uri = Addressable::URI.parse('%%30%30') - expect(uri.path).to eq('%%30%30') - expect(uri.normalize.path).to eq('%2500') - end - - it "should parse correctly as a full URI" do - uri = Addressable::URI.parse('http://www.example.com/%%30%30') - expect(uri.path).to eq('/%%30%30') - expect(uri.normalize.path).to eq('/%2500') - end -end - -describe Addressable::URI, "when created with a URI known to cause crashes " + - "in certain browsers" do - it "should parse correctly" do - uri = Addressable::URI.parse('لُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ 冗') - expect(uri.path).to eq('لُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ 冗') - expect(uri.normalize.path).to eq( - '%D9%84%D9%8F%D8%B5%D9%91%D8%A8%D9%8F%D9%84%D9%8F%D9%84%D8%B5%D9%91' + - '%D8%A8%D9%8F%D8%B1%D8%B1%D9%8B%20%E0%A5%A3%20%E0%A5%A3h%20%E0%A5' + - '%A3%20%E0%A5%A3%20%E5%86%97' - ) - end - - it "should parse correctly as a full URI" do - uri = Addressable::URI.parse('http://www.example.com/لُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ 冗') - expect(uri.path).to eq('/لُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ 冗') - expect(uri.normalize.path).to eq( - '/%D9%84%D9%8F%D8%B5%D9%91%D8%A8%D9%8F%D9%84%D9%8F%D9%84%D8%B5%D9%91' + - '%D8%A8%D9%8F%D8%B1%D8%B1%D9%8B%20%E0%A5%A3%20%E0%A5%A3h%20%E0%A5' + - '%A3%20%E0%A5%A3%20%E5%86%97' - ) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/template_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/template_spec.rb deleted file mode 100644 index 24616c2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/template_spec.rb +++ /dev/null @@ -1,1264 +0,0 @@ -# frozen_string_literal: true - -# Copyright (C) Bob Aman -# -# 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. - - -require "spec_helper" - -require "bigdecimal" -require "timeout" -require "addressable/template" - -shared_examples_for 'expands' do |tests| - tests.each do |template, expansion| - exp = expansion.is_a?(Array) ? expansion.first : expansion - it "#{template} to #{exp}" do - tmpl = Addressable::Template.new(template).expand(subject) - expect(tmpl.to_str).to eq(expansion) - end - end -end - -describe "eql?" do - let(:template) { Addressable::Template.new('https://www.example.com/{foo}') } - it 'is equal when the pattern matches' do - other_template = Addressable::Template.new('https://www.example.com/{foo}') - expect(template).to be_eql(other_template) - expect(other_template).to be_eql(template) - end - it 'is not equal when the pattern differs' do - other_template = Addressable::Template.new('https://www.example.com/{bar}') - expect(template).to_not be_eql(other_template) - expect(other_template).to_not be_eql(template) - end - it 'is not equal to non-templates' do - uri = 'https://www.example.com/foo/bar' - addressable_template = Addressable::Template.new uri - addressable_uri = Addressable::URI.parse uri - expect(addressable_template).to_not be_eql(addressable_uri) - expect(addressable_uri).to_not be_eql(addressable_template) - end -end - -describe "==" do - let(:template) { Addressable::Template.new('https://www.example.com/{foo}') } - it 'is equal when the pattern matches' do - other_template = Addressable::Template.new('https://www.example.com/{foo}') - expect(template).to eq other_template - expect(other_template).to eq template - end - it 'is not equal when the pattern differs' do - other_template = Addressable::Template.new('https://www.example.com/{bar}') - expect(template).not_to eq other_template - expect(other_template).not_to eq template - end - it 'is not equal to non-templates' do - uri = 'https://www.example.com/foo/bar' - addressable_template = Addressable::Template.new uri - addressable_uri = Addressable::URI.parse uri - expect(addressable_template).not_to eq addressable_uri - expect(addressable_uri).not_to eq addressable_template - end -end - -describe "#to_regexp" do - it "does not match the first line of multiline strings" do - uri = "https://www.example.com/bar" - template = Addressable::Template.new(uri) - expect(template.match(uri)).not_to be_nil - expect(template.match("#{uri}\ngarbage")).to be_nil - end -end - -describe "Type conversion" do - subject { - { - :var => true, - :hello => 1234, - :nothing => nil, - :sym => :symbolic, - :decimal => BigDecimal('1') - } - } - - it_behaves_like 'expands', { - '{var}' => 'true', - '{hello}' => '1234', - '{nothing}' => '', - '{sym}' => 'symbolic', - '{decimal}' => RUBY_VERSION < '2.4.0' ? '0.1E1' : '0.1e1' - } -end - -describe "Level 1:" do - subject { - {:var => "value", :hello => "Hello World!"} - } - it_behaves_like 'expands', { - '{var}' => 'value', - '{hello}' => 'Hello%20World%21' - } -end - -describe "Level 2" do - subject { - { - :var => "value", - :hello => "Hello World!", - :path => "/foo/bar" - } - } - context "Operator +:" do - it_behaves_like 'expands', { - '{+var}' => 'value', - '{+hello}' => 'Hello%20World!', - '{+path}/here' => '/foo/bar/here', - 'here?ref={+path}' => 'here?ref=/foo/bar' - } - end - context "Operator #:" do - it_behaves_like 'expands', { - 'X{#var}' => 'X#value', - 'X{#hello}' => 'X#Hello%20World!' - } - end -end - -describe "Level 3" do - subject { - { - :var => "value", - :hello => "Hello World!", - :empty => "", - :path => "/foo/bar", - :x => "1024", - :y => "768" - } - } - context "Operator nil (multiple vars):" do - it_behaves_like 'expands', { - 'map?{x,y}' => 'map?1024,768', - '{x,hello,y}' => '1024,Hello%20World%21,768' - } - end - context "Operator + (multiple vars):" do - it_behaves_like 'expands', { - '{+x,hello,y}' => '1024,Hello%20World!,768', - '{+path,x}/here' => '/foo/bar,1024/here' - } - end - context "Operator # (multiple vars):" do - it_behaves_like 'expands', { - '{#x,hello,y}' => '#1024,Hello%20World!,768', - '{#path,x}/here' => '#/foo/bar,1024/here' - } - end - context "Operator ." do - it_behaves_like 'expands', { - 'X{.var}' => 'X.value', - 'X{.x,y}' => 'X.1024.768' - } - end - context "Operator /" do - it_behaves_like 'expands', { - '{/var}' => '/value', - '{/var,x}/here' => '/value/1024/here' - } - end - context "Operator ;" do - it_behaves_like 'expands', { - '{;x,y}' => ';x=1024;y=768', - '{;x,y,empty}' => ';x=1024;y=768;empty' - } - end - context "Operator ?" do - it_behaves_like 'expands', { - '{?x,y}' => '?x=1024&y=768', - '{?x,y,empty}' => '?x=1024&y=768&empty=' - } - end - context "Operator &" do - it_behaves_like 'expands', { - '?fixed=yes{&x}' => '?fixed=yes&x=1024', - '{&x,y,empty}' => '&x=1024&y=768&empty=' - } - end -end - -describe "Level 4" do - subject { - { - :var => "value", - :hello => "Hello World!", - :path => "/foo/bar", - :semi => ";", - :list => %w(red green blue), - :keys => {"semi" => ';', "dot" => '.', :comma => ','} - } - } - context "Expansion with value modifiers" do - it_behaves_like 'expands', { - '{var:3}' => 'val', - '{var:30}' => 'value', - '{list}' => 'red,green,blue', - '{list*}' => 'red,green,blue', - '{keys}' => 'semi,%3B,dot,.,comma,%2C', - '{keys*}' => 'semi=%3B,dot=.,comma=%2C', - } - end - context "Operator + with value modifiers" do - it_behaves_like 'expands', { - '{+path:6}/here' => '/foo/b/here', - '{+list}' => 'red,green,blue', - '{+list*}' => 'red,green,blue', - '{+keys}' => 'semi,;,dot,.,comma,,', - '{+keys*}' => 'semi=;,dot=.,comma=,', - } - end - context "Operator # with value modifiers" do - it_behaves_like 'expands', { - '{#path:6}/here' => '#/foo/b/here', - '{#list}' => '#red,green,blue', - '{#list*}' => '#red,green,blue', - '{#keys}' => '#semi,;,dot,.,comma,,', - '{#keys*}' => '#semi=;,dot=.,comma=,', - } - end - context "Operator . with value modifiers" do - it_behaves_like 'expands', { - 'X{.var:3}' => 'X.val', - 'X{.list}' => 'X.red,green,blue', - 'X{.list*}' => 'X.red.green.blue', - 'X{.keys}' => 'X.semi,%3B,dot,.,comma,%2C', - 'X{.keys*}' => 'X.semi=%3B.dot=..comma=%2C', - } - end - context "Operator / with value modifiers" do - it_behaves_like 'expands', { - '{/var:1,var}' => '/v/value', - '{/list}' => '/red,green,blue', - '{/list*}' => '/red/green/blue', - '{/list*,path:4}' => '/red/green/blue/%2Ffoo', - '{/keys}' => '/semi,%3B,dot,.,comma,%2C', - '{/keys*}' => '/semi=%3B/dot=./comma=%2C', - } - end - context "Operator ; with value modifiers" do - it_behaves_like 'expands', { - '{;hello:5}' => ';hello=Hello', - '{;list}' => ';list=red,green,blue', - '{;list*}' => ';list=red;list=green;list=blue', - '{;keys}' => ';keys=semi,%3B,dot,.,comma,%2C', - '{;keys*}' => ';semi=%3B;dot=.;comma=%2C', - } - end - context "Operator ? with value modifiers" do - it_behaves_like 'expands', { - '{?var:3}' => '?var=val', - '{?list}' => '?list=red,green,blue', - '{?list*}' => '?list=red&list=green&list=blue', - '{?keys}' => '?keys=semi,%3B,dot,.,comma,%2C', - '{?keys*}' => '?semi=%3B&dot=.&comma=%2C', - } - end - context "Operator & with value modifiers" do - it_behaves_like 'expands', { - '{&var:3}' => '&var=val', - '{&list}' => '&list=red,green,blue', - '{&list*}' => '&list=red&list=green&list=blue', - '{&keys}' => '&keys=semi,%3B,dot,.,comma,%2C', - '{&keys*}' => '&semi=%3B&dot=.&comma=%2C', - } - end -end -describe "Modifiers" do - subject { - { - :var => "value", - :semi => ";", - :year => [1965, 2000, 2012], - :dom => %w(example com) - } - } - context "length" do - it_behaves_like 'expands', { - '{var:3}' => 'val', - '{var:30}' => 'value', - '{var}' => 'value', - '{semi}' => '%3B', - '{semi:2}' => '%3B' - } - end - context "explode" do - it_behaves_like 'expands', { - 'find{?year*}' => 'find?year=1965&year=2000&year=2012', - 'www{.dom*}' => 'www.example.com', - } - end -end -describe "Expansion" do - subject { - { - :count => ["one", "two", "three"], - :dom => ["example", "com"], - :dub => "me/too", - :hello => "Hello World!", - :half => "50%", - :var => "value", - :who => "fred", - :base => "http://example.com/home/", - :path => "/foo/bar", - :list => ["red", "green", "blue"], - :keys => {"semi" => ";","dot" => ".",:comma => ","}, - :v => "6", - :x => "1024", - :y => "768", - :empty => "", - :empty_keys => {}, - :undef => nil - } - } - context "concatenation" do - it_behaves_like 'expands', { - '{count}' => 'one,two,three', - '{count*}' => 'one,two,three', - '{/count}' => '/one,two,three', - '{/count*}' => '/one/two/three', - '{;count}' => ';count=one,two,three', - '{;count*}' => ';count=one;count=two;count=three', - '{?count}' => '?count=one,two,three', - '{?count*}' => '?count=one&count=two&count=three', - '{&count*}' => '&count=one&count=two&count=three' - } - end - context "simple expansion" do - it_behaves_like 'expands', { - '{var}' => 'value', - '{hello}' => 'Hello%20World%21', - '{half}' => '50%25', - 'O{empty}X' => 'OX', - 'O{undef}X' => 'OX', - '{x,y}' => '1024,768', - '{x,hello,y}' => '1024,Hello%20World%21,768', - '?{x,empty}' => '?1024,', - '?{x,undef}' => '?1024', - '?{undef,y}' => '?768', - '{var:3}' => 'val', - '{var:30}' => 'value', - '{list}' => 'red,green,blue', - '{list*}' => 'red,green,blue', - '{keys}' => 'semi,%3B,dot,.,comma,%2C', - '{keys*}' => 'semi=%3B,dot=.,comma=%2C', - } - end - context "reserved expansion (+)" do - it_behaves_like 'expands', { - '{+var}' => 'value', - '{+hello}' => 'Hello%20World!', - '{+half}' => '50%25', - '{base}index' => 'http%3A%2F%2Fexample.com%2Fhome%2Findex', - '{+base}index' => 'http://example.com/home/index', - 'O{+empty}X' => 'OX', - 'O{+undef}X' => 'OX', - '{+path}/here' => '/foo/bar/here', - 'here?ref={+path}' => 'here?ref=/foo/bar', - 'up{+path}{var}/here' => 'up/foo/barvalue/here', - '{+x,hello,y}' => '1024,Hello%20World!,768', - '{+path,x}/here' => '/foo/bar,1024/here', - '{+path:6}/here' => '/foo/b/here', - '{+list}' => 'red,green,blue', - '{+list*}' => 'red,green,blue', - '{+keys}' => 'semi,;,dot,.,comma,,', - '{+keys*}' => 'semi=;,dot=.,comma=,', - } - end - context "fragment expansion (#)" do - it_behaves_like 'expands', { - '{#var}' => '#value', - '{#hello}' => '#Hello%20World!', - '{#half}' => '#50%25', - 'foo{#empty}' => 'foo#', - 'foo{#undef}' => 'foo', - '{#x,hello,y}' => '#1024,Hello%20World!,768', - '{#path,x}/here' => '#/foo/bar,1024/here', - '{#path:6}/here' => '#/foo/b/here', - '{#list}' => '#red,green,blue', - '{#list*}' => '#red,green,blue', - '{#keys}' => '#semi,;,dot,.,comma,,', - '{#keys*}' => '#semi=;,dot=.,comma=,', - } - end - context "label expansion (.)" do - it_behaves_like 'expands', { - '{.who}' => '.fred', - '{.who,who}' => '.fred.fred', - '{.half,who}' => '.50%25.fred', - 'www{.dom*}' => 'www.example.com', - 'X{.var}' => 'X.value', - 'X{.empty}' => 'X.', - 'X{.undef}' => 'X', - 'X{.var:3}' => 'X.val', - 'X{.list}' => 'X.red,green,blue', - 'X{.list*}' => 'X.red.green.blue', - 'X{.keys}' => 'X.semi,%3B,dot,.,comma,%2C', - 'X{.keys*}' => 'X.semi=%3B.dot=..comma=%2C', - 'X{.empty_keys}' => 'X', - 'X{.empty_keys*}' => 'X' - } - end - context "path expansion (/)" do - it_behaves_like 'expands', { - '{/who}' => '/fred', - '{/who,who}' => '/fred/fred', - '{/half,who}' => '/50%25/fred', - '{/who,dub}' => '/fred/me%2Ftoo', - '{/var}' => '/value', - '{/var,empty}' => '/value/', - '{/var,undef}' => '/value', - '{/var,x}/here' => '/value/1024/here', - '{/var:1,var}' => '/v/value', - '{/list}' => '/red,green,blue', - '{/list*}' => '/red/green/blue', - '{/list*,path:4}' => '/red/green/blue/%2Ffoo', - '{/keys}' => '/semi,%3B,dot,.,comma,%2C', - '{/keys*}' => '/semi=%3B/dot=./comma=%2C', - } - end - context "path-style expansion (;)" do - it_behaves_like 'expands', { - '{;who}' => ';who=fred', - '{;half}' => ';half=50%25', - '{;empty}' => ';empty', - '{;v,empty,who}' => ';v=6;empty;who=fred', - '{;v,bar,who}' => ';v=6;who=fred', - '{;x,y}' => ';x=1024;y=768', - '{;x,y,empty}' => ';x=1024;y=768;empty', - '{;x,y,undef}' => ';x=1024;y=768', - '{;hello:5}' => ';hello=Hello', - '{;list}' => ';list=red,green,blue', - '{;list*}' => ';list=red;list=green;list=blue', - '{;keys}' => ';keys=semi,%3B,dot,.,comma,%2C', - '{;keys*}' => ';semi=%3B;dot=.;comma=%2C', - } - end - context "form query expansion (?)" do - it_behaves_like 'expands', { - '{?who}' => '?who=fred', - '{?half}' => '?half=50%25', - '{?x,y}' => '?x=1024&y=768', - '{?x,y,empty}' => '?x=1024&y=768&empty=', - '{?x,y,undef}' => '?x=1024&y=768', - '{?var:3}' => '?var=val', - '{?list}' => '?list=red,green,blue', - '{?list*}' => '?list=red&list=green&list=blue', - '{?keys}' => '?keys=semi,%3B,dot,.,comma,%2C', - '{?keys*}' => '?semi=%3B&dot=.&comma=%2C', - } - end - context "form query expansion (&)" do - it_behaves_like 'expands', { - '{&who}' => '&who=fred', - '{&half}' => '&half=50%25', - '?fixed=yes{&x}' => '?fixed=yes&x=1024', - '{&x,y,empty}' => '&x=1024&y=768&empty=', - '{&x,y,undef}' => '&x=1024&y=768', - '{&var:3}' => '&var=val', - '{&list}' => '&list=red,green,blue', - '{&list*}' => '&list=red&list=green&list=blue', - '{&keys}' => '&keys=semi,%3B,dot,.,comma,%2C', - '{&keys*}' => '&semi=%3B&dot=.&comma=%2C', - } - end - context "non-string key in match data" do - subject {Addressable::Template.new("http://example.com/{one}")} - - it "raises TypeError" do - expect { subject.expand(Object.new => "1") }.to raise_error TypeError - end - end -end - -class ExampleTwoProcessor - def self.restore(name, value) - return value.gsub(/-/, " ") if name == "query" - return value - end - - def self.match(name) - return ".*?" if name == "first" - return ".*" - end - def self.validate(name, value) - return !!(value =~ /^[\w ]+$/) if name == "query" - return true - end - - def self.transform(name, value) - return value.gsub(/ /, "+") if name == "query" - return value - end -end - -class DumbProcessor - def self.match(name) - return ".*?" if name == "first" - end -end - -describe Addressable::Template do - describe 'initialize' do - context 'with a non-string' do - it 'raises a TypeError' do - expect { Addressable::Template.new(nil) }.to raise_error(TypeError) - end - end - end - - describe 'freeze' do - subject { Addressable::Template.new("http://example.com/{first}/{+second}/") } - it 'freezes the template' do - expect(subject.freeze).to be_frozen - end - end - - describe "Matching" do - let(:uri){ - Addressable::URI.parse( - "http://example.com/search/an-example-search-query/" - ) - } - let(:uri2){ - Addressable::URI.parse("http://example.com/a/b/c/") - } - let(:uri3){ - Addressable::URI.parse("http://example.com/;a=1;b=2;c=3;first=foo") - } - let(:uri4){ - Addressable::URI.parse("http://example.com/?a=1&b=2&c=3&first=foo") - } - let(:uri5){ - "http://example.com/foo" - } - context "first uri with ExampleTwoProcessor" do - subject { - Addressable::Template.new( - "http://example.com/search/{query}/" - ).match(uri, ExampleTwoProcessor) - } - its(:variables){ should == ["query"] } - its(:captures){ should == ["an example search query"] } - end - - context "second uri with ExampleTwoProcessor" do - subject { - Addressable::Template.new( - "http://example.com/{first}/{+second}/" - ).match(uri2, ExampleTwoProcessor) - } - its(:variables){ should == ["first", "second"] } - its(:captures){ should == ["a", "b/c"] } - end - - context "second uri with DumbProcessor" do - subject { - Addressable::Template.new( - "http://example.com/{first}/{+second}/" - ).match(uri2, DumbProcessor) - } - its(:variables){ should == ["first", "second"] } - its(:captures){ should == ["a", "b/c"] } - end - - context "second uri" do - subject { - Addressable::Template.new( - "http://example.com/{first}{/second*}/" - ).match(uri2) - } - its(:variables){ should == ["first", "second"] } - its(:captures){ should == ["a", ["b","c"]] } - end - context "third uri" do - subject { - Addressable::Template.new( - "http://example.com/{;hash*,first}" - ).match(uri3) - } - its(:variables){ should == ["hash", "first"] } - its(:captures){ should == [ - {"a" => "1", "b" => "2", "c" => "3", "first" => "foo"}, nil] } - end - # Note that this expansion is impossible to revert deterministically - the - # * operator means first could have been a key of hash or a separate key. - # Semantically, a separate key is more likely, but both are possible. - context "fourth uri" do - subject { - Addressable::Template.new( - "http://example.com/{?hash*,first}" - ).match(uri4) - } - its(:variables){ should == ["hash", "first"] } - its(:captures){ should == [ - {"a" => "1", "b" => "2", "c" => "3", "first"=> "foo"}, nil] } - end - context "fifth uri" do - subject { - Addressable::Template.new( - "http://example.com/{path}{?hash*,first}" - ).match(uri5) - } - its(:variables){ should == ["path", "hash", "first"] } - its(:captures){ should == ["foo", nil, nil] } - end - end - - describe 'match' do - subject { Addressable::Template.new('http://example.com/first/second/') } - context 'when the URI is the same as the template' do - it 'returns the match data itself with an empty mapping' do - uri = Addressable::URI.parse('http://example.com/first/second/') - match_data = subject.match(uri) - expect(match_data).to be_an Addressable::Template::MatchData - expect(match_data.uri).to eq(uri) - expect(match_data.template).to eq(subject) - expect(match_data.mapping).to be_empty - expect(match_data.inspect).to be_an String - end - end - end - - describe "extract" do - let(:template) { - Addressable::Template.new( - "http://{host}{/segments*}/{?one,two,bogus}{#fragment}" - ) - } - let(:uri){ "http://example.com/a/b/c/?one=1&two=2#foo" } - let(:uri2){ "http://example.com/a/b/c/#foo" } - it "should be able to extract with queries" do - expect(template.extract(uri)).to eq({ - "host" => "example.com", - "segments" => %w(a b c), - "one" => "1", - "bogus" => nil, - "two" => "2", - "fragment" => "foo" - }) - end - it "should be able to extract without queries" do - expect(template.extract(uri2)).to eq({ - "host" => "example.com", - "segments" => %w(a b c), - "one" => nil, - "bogus" => nil, - "two" => nil, - "fragment" => "foo" - }) - end - - context "issue #137" do - subject { Addressable::Template.new('/path{?page,per_page}') } - - it "can match empty" do - data = subject.extract("/path") - expect(data["page"]).to eq(nil) - expect(data["per_page"]).to eq(nil) - expect(data.keys.sort).to eq(['page', 'per_page']) - end - - it "can match first var" do - data = subject.extract("/path?page=1") - expect(data["page"]).to eq("1") - expect(data["per_page"]).to eq(nil) - expect(data.keys.sort).to eq(['page', 'per_page']) - end - - it "can match second var" do - data = subject.extract("/path?per_page=1") - expect(data["page"]).to eq(nil) - expect(data["per_page"]).to eq("1") - expect(data.keys.sort).to eq(['page', 'per_page']) - end - - it "can match both vars" do - data = subject.extract("/path?page=2&per_page=1") - expect(data["page"]).to eq("2") - expect(data["per_page"]).to eq("1") - expect(data.keys.sort).to eq(['page', 'per_page']) - end - end - end - - describe "Partial expand with symbols" do - context "partial_expand with two simple values" do - subject { - Addressable::Template.new("http://example.com/{one}/{two}/") - } - it "builds a new pattern" do - expect(subject.partial_expand(:one => "1").pattern).to eq( - "http://example.com/1/{two}/" - ) - end - end - context "partial_expand query with missing param in middle" do - subject { - Addressable::Template.new("http://example.com/{?one,two,three}/") - } - it "builds a new pattern" do - expect(subject.partial_expand(:one => "1", :three => "3").pattern).to eq( - "http://example.com/?one=1{&two}&three=3/" - ) - end - end - context "partial_expand form style query with missing param at beginning" do - subject { - Addressable::Template.new("http://example.com/{?one,two}/") - } - it "builds a new pattern" do - expect(subject.partial_expand(:two => "2").pattern).to eq( - "http://example.com/?two=2{&one}/" - ) - end - end - context "issue #307 - partial_expand form query with nil params" do - subject do - Addressable::Template.new("http://example.com/{?one,two,three}/") - end - it "builds a new pattern with two=nil" do - expect(subject.partial_expand(two: nil).pattern).to eq( - "http://example.com/{?one}{&three}/" - ) - end - it "builds a new pattern with one=nil and two=nil" do - expect(subject.partial_expand(one: nil, two: nil).pattern).to eq( - "http://example.com/{?three}/" - ) - end - it "builds a new pattern with one=1 and two=nil" do - expect(subject.partial_expand(one: 1, two: nil).pattern).to eq( - "http://example.com/?one=1{&three}/" - ) - end - it "builds a new pattern with one=nil and two=2" do - expect(subject.partial_expand(one: nil, two: 2).pattern).to eq( - "http://example.com/?two=2{&three}/" - ) - end - it "builds a new pattern with one=nil" do - expect(subject.partial_expand(one: nil).pattern).to eq( - "http://example.com/{?two}{&three}/" - ) - end - end - context "partial_expand with query string" do - subject { - Addressable::Template.new("http://example.com/{?two,one}/") - } - it "builds a new pattern" do - expect(subject.partial_expand(:one => "1").pattern).to eq( - "http://example.com/?one=1{&two}/" - ) - end - end - context "partial_expand with path operator" do - subject { - Addressable::Template.new("http://example.com{/one,two}/") - } - it "builds a new pattern" do - expect(subject.partial_expand(:one => "1").pattern).to eq( - "http://example.com/1{/two}/" - ) - end - end - context "partial expand with unicode values" do - subject do - Addressable::Template.new("http://example.com/{resource}/{query}/") - end - it "normalizes unicode by default" do - template = subject.partial_expand("query" => "Cafe\u0301") - expect(template.pattern).to eq( - "http://example.com/{resource}/Caf%C3%A9/" - ) - end - - it "normalizes as unicode even with wrong encoding specified" do - template = subject.partial_expand("query" => "Cafe\u0301".b) - expect(template.pattern).to eq( - "http://example.com/{resource}/Caf%C3%A9/" - ) - end - - it "raises on invalid unicode input" do - expect { - subject.partial_expand("query" => "M\xE9thode".b) - }.to raise_error(ArgumentError, "invalid byte sequence in UTF-8") - end - - it "does not normalize unicode when byte semantics requested" do - template = subject.partial_expand({"query" => "Cafe\u0301"}, nil, false) - expect(template.pattern).to eq( - "http://example.com/{resource}/Cafe%CC%81/" - ) - end - end - end - describe "Partial expand with strings" do - context "partial_expand with two simple values" do - subject { - Addressable::Template.new("http://example.com/{one}/{two}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1").pattern).to eq( - "http://example.com/1/{two}/" - ) - end - end - context "partial_expand query with missing param in middle" do - subject { - Addressable::Template.new("http://example.com/{?one,two,three}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1", "three" => "3").pattern).to eq( - "http://example.com/?one=1{&two}&three=3/" - ) - end - end - context "partial_expand with query string" do - subject { - Addressable::Template.new("http://example.com/{?two,one}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1").pattern).to eq( - "http://example.com/?one=1{&two}/" - ) - end - end - context "partial_expand with path operator" do - subject { - Addressable::Template.new("http://example.com{/one,two}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1").pattern).to eq( - "http://example.com/1{/two}/" - ) - end - end - end - describe "Expand" do - context "expand with unicode values" do - subject do - Addressable::Template.new("http://example.com/search/{query}/") - end - it "normalizes unicode by default" do - uri = subject.expand("query" => "Cafe\u0301").to_str - expect(uri).to eq("http://example.com/search/Caf%C3%A9/") - end - - it "normalizes as unicode even with wrong encoding specified" do - uri = subject.expand("query" => "Cafe\u0301".b).to_str - expect(uri).to eq("http://example.com/search/Caf%C3%A9/") - end - - it "raises on invalid unicode input" do - expect { - subject.expand("query" => "M\xE9thode".b).to_str - }.to raise_error(ArgumentError, "invalid byte sequence in UTF-8") - end - - it "does not normalize unicode when byte semantics requested" do - uri = subject.expand({ "query" => "Cafe\u0301" }, nil, false).to_str - expect(uri).to eq("http://example.com/search/Cafe%CC%81/") - end - end - context "expand with a processor" do - subject { - Addressable::Template.new("http://example.com/search/{query}/") - } - it "processes spaces" do - expect(subject.expand({"query" => "an example search query"}, - ExampleTwoProcessor).to_str).to eq( - "http://example.com/search/an+example+search+query/" - ) - end - it "validates" do - expect{ - subject.expand({"query" => "Bogus!"}, - ExampleTwoProcessor).to_str - }.to raise_error(Addressable::Template::InvalidTemplateValueError) - end - end - context "partial_expand query with missing param in middle" do - subject { - Addressable::Template.new("http://example.com/{?one,two,three}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1", "three" => "3").pattern).to eq( - "http://example.com/?one=1{&two}&three=3/" - ) - end - end - context "partial_expand with query string" do - subject { - Addressable::Template.new("http://example.com/{?two,one}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1").pattern).to eq( - "http://example.com/?one=1{&two}/" - ) - end - end - context "partial_expand with path operator" do - subject { - Addressable::Template.new("http://example.com{/one,two}/") - } - it "builds a new pattern" do - expect(subject.partial_expand("one" => "1").pattern).to eq( - "http://example.com/1{/two}/" - ) - end - end - end - context "Matching with operators" do - describe "Level 1:" do - subject { Addressable::Template.new("foo{foo}/{bar}baz") } - it "can match" do - data = subject.match("foofoo/bananabaz") - expect(data.mapping["foo"]).to eq("foo") - expect(data.mapping["bar"]).to eq("banana") - end - it "can fail" do - expect(subject.match("bar/foo")).to be_nil - expect(subject.match("foobaz")).to be_nil - end - it "can match empty" do - data = subject.match("foo/baz") - expect(data.mapping["foo"]).to eq(nil) - expect(data.mapping["bar"]).to eq(nil) - end - it "lists vars" do - expect(subject.variables).to eq(["foo", "bar"]) - end - end - - describe "Level 2:" do - subject { Addressable::Template.new("foo{+foo}{#bar}baz") } - it "can match" do - data = subject.match("foo/test/banana#bazbaz") - expect(data.mapping["foo"]).to eq("/test/banana") - expect(data.mapping["bar"]).to eq("baz") - end - it "can match empty level 2 #" do - data = subject.match("foo/test/bananabaz") - expect(data.mapping["foo"]).to eq("/test/banana") - expect(data.mapping["bar"]).to eq(nil) - data = subject.match("foo/test/banana#baz") - expect(data.mapping["foo"]).to eq("/test/banana") - expect(data.mapping["bar"]).to eq("") - end - it "can match empty level 2 +" do - data = subject.match("foobaz") - expect(data.mapping["foo"]).to eq(nil) - expect(data.mapping["bar"]).to eq(nil) - data = subject.match("foo#barbaz") - expect(data.mapping["foo"]).to eq(nil) - expect(data.mapping["bar"]).to eq("bar") - end - it "lists vars" do - expect(subject.variables).to eq(["foo", "bar"]) - end - end - - describe "Level 3:" do - context "no operator" do - subject { Addressable::Template.new("foo{foo,bar}baz") } - it "can match" do - data = subject.match("foofoo,barbaz") - expect(data.mapping["foo"]).to eq("foo") - expect(data.mapping["bar"]).to eq("bar") - end - it "lists vars" do - expect(subject.variables).to eq(["foo", "bar"]) - end - end - context "+ operator" do - subject { Addressable::Template.new("foo{+foo,bar}baz") } - it "can match" do - data = subject.match("foofoo/bar,barbaz") - expect(data.mapping["bar"]).to eq("foo/bar,bar") - expect(data.mapping["foo"]).to eq("") - end - it "lists vars" do - expect(subject.variables).to eq(["foo", "bar"]) - end - end - context ". operator" do - subject { Addressable::Template.new("foo{.foo,bar}baz") } - it "can match" do - data = subject.match("foo.foo.barbaz") - expect(data.mapping["foo"]).to eq("foo") - expect(data.mapping["bar"]).to eq("bar") - end - it "lists vars" do - expect(subject.variables).to eq(["foo", "bar"]) - end - end - context "/ operator" do - subject { Addressable::Template.new("foo{/foo,bar}baz") } - it "can match" do - data = subject.match("foo/foo/barbaz") - expect(data.mapping["foo"]).to eq("foo") - expect(data.mapping["bar"]).to eq("bar") - end - it "lists vars" do - expect(subject.variables).to eq(["foo", "bar"]) - end - end - context "; operator" do - subject { Addressable::Template.new("foo{;foo,bar,baz}baz") } - it "can match" do - data = subject.match("foo;foo=bar%20baz;bar=foo;bazbaz") - expect(data.mapping["foo"]).to eq("bar baz") - expect(data.mapping["bar"]).to eq("foo") - expect(data.mapping["baz"]).to eq("") - end - it "lists vars" do - expect(subject.variables).to eq(%w(foo bar baz)) - end - end - context "? operator" do - context "test" do - subject { Addressable::Template.new("foo{?foo,bar}baz") } - it "can match" do - data = subject.match("foo?foo=bar%20baz&bar=foobaz") - expect(data.mapping["foo"]).to eq("bar baz") - expect(data.mapping["bar"]).to eq("foo") - end - it "lists vars" do - expect(subject.variables).to eq(%w(foo bar)) - end - end - - context "issue #137" do - subject { Addressable::Template.new('/path{?page,per_page}') } - - it "can match empty" do - data = subject.match("/path") - expect(data.mapping["page"]).to eq(nil) - expect(data.mapping["per_page"]).to eq(nil) - expect(data.mapping.keys.sort).to eq(['page', 'per_page']) - end - - it "can match first var" do - data = subject.match("/path?page=1") - expect(data.mapping["page"]).to eq("1") - expect(data.mapping["per_page"]).to eq(nil) - expect(data.mapping.keys.sort).to eq(['page', 'per_page']) - end - - it "can match second var" do - data = subject.match("/path?per_page=1") - expect(data.mapping["page"]).to eq(nil) - expect(data.mapping["per_page"]).to eq("1") - expect(data.mapping.keys.sort).to eq(['page', 'per_page']) - end - - it "can match both vars" do - data = subject.match("/path?page=2&per_page=1") - expect(data.mapping["page"]).to eq("2") - expect(data.mapping["per_page"]).to eq("1") - expect(data.mapping.keys.sort).to eq(['page', 'per_page']) - end - end - - context "issue #71" do - subject { Addressable::Template.new("http://cyberscore.dev/api/users{?username}") } - it "can match" do - data = subject.match("http://cyberscore.dev/api/users?username=foobaz") - expect(data.mapping["username"]).to eq("foobaz") - end - it "lists vars" do - expect(subject.variables).to eq(%w(username)) - expect(subject.keys).to eq(%w(username)) - end - end - end - context "& operator" do - subject { Addressable::Template.new("foo{&foo,bar}baz") } - it "can match" do - data = subject.match("foo&foo=bar%20baz&bar=foobaz") - expect(data.mapping["foo"]).to eq("bar baz") - expect(data.mapping["bar"]).to eq("foo") - end - it "lists vars" do - expect(subject.variables).to eq(%w(foo bar)) - end - end - end - end - - context "support regexes:" do - context "EXPRESSION" do - subject { Addressable::Template::EXPRESSION } - it "should be able to match an expression" do - expect(subject).to match("{foo}") - expect(subject).to match("{foo,9}") - expect(subject).to match("{foo.bar,baz}") - expect(subject).to match("{+foo.bar,baz}") - expect(subject).to match("{foo,foo%20bar}") - expect(subject).to match("{#foo:20,baz*}") - expect(subject).to match("stuff{#foo:20,baz*}things") - end - it "should fail on non vars" do - expect(subject).not_to match("!{foo") - expect(subject).not_to match("{foo.bar.}") - expect(subject).not_to match("!{}") - end - end - context "VARNAME" do - subject { Addressable::Template::VARNAME } - it "should be able to match a variable" do - expect(subject).to match("foo") - expect(subject).to match("9") - expect(subject).to match("foo.bar") - expect(subject).to match("foo_bar") - expect(subject).to match("foo_bar.baz") - expect(subject).to match("foo%20bar") - expect(subject).to match("foo%20bar.baz") - end - it "should fail on non vars" do - expect(subject).not_to match("!foo") - expect(subject).not_to match("foo.bar.") - expect(subject).not_to match("foo%2%00bar") - expect(subject).not_to match("foo_ba%r") - expect(subject).not_to match("foo_bar*") - expect(subject).not_to match("foo_bar:20") - end - - it 'should parse in a reasonable time' do - expect do - Timeout.timeout(0.1) do - expect(subject).not_to match("0"*25 + "!") - end - end.not_to raise_error - end - end - context "VARIABLE_LIST" do - subject { Addressable::Template::VARIABLE_LIST } - it "should be able to match a variable list" do - expect(subject).to match("foo,bar") - expect(subject).to match("foo") - expect(subject).to match("foo,bar*,baz") - expect(subject).to match("foo.bar,bar_baz*,baz:12") - end - it "should fail on non vars" do - expect(subject).not_to match(",foo,bar*,baz") - expect(subject).not_to match("foo,*bar,baz") - expect(subject).not_to match("foo,,bar*,baz") - end - end - context "VARSPEC" do - subject { Addressable::Template::VARSPEC } - it "should be able to match a variable with modifier" do - expect(subject).to match("9:8") - expect(subject).to match("foo.bar*") - expect(subject).to match("foo_bar:12") - expect(subject).to match("foo_bar.baz*") - expect(subject).to match("foo%20bar:12") - expect(subject).to match("foo%20bar.baz*") - end - it "should fail on non vars" do - expect(subject).not_to match("!foo") - expect(subject).not_to match("*foo") - expect(subject).not_to match("fo*o") - expect(subject).not_to match("fo:o") - expect(subject).not_to match("foo:") - end - end - end -end - -describe Addressable::Template::MatchData do - let(:template) { Addressable::Template.new('{foo}/{bar}') } - subject(:its) { template.match('ab/cd') } - its(:uri) { should == Addressable::URI.parse('ab/cd') } - its(:template) { should == template } - its(:mapping) { should == { 'foo' => 'ab', 'bar' => 'cd' } } - its(:variables) { should == ['foo', 'bar'] } - its(:keys) { should == ['foo', 'bar'] } - its(:names) { should == ['foo', 'bar'] } - its(:values) { should == ['ab', 'cd'] } - its(:captures) { should == ['ab', 'cd'] } - its(:to_a) { should == ['ab/cd', 'ab', 'cd'] } - its(:to_s) { should == 'ab/cd' } - its(:string) { should == its.to_s } - its(:pre_match) { should == "" } - its(:post_match) { should == "" } - - describe 'values_at' do - it 'returns an array with the values' do - expect(its.values_at(0, 2)).to eq(['ab/cd', 'cd']) - end - it 'allows mixing integer an string keys' do - expect(its.values_at('foo', 1)).to eq(['ab', 'ab']) - end - it 'accepts unknown keys' do - expect(its.values_at('baz', 'foo')).to eq([nil, 'ab']) - end - end - - describe '[]' do - context 'string key' do - it 'returns the corresponding capture' do - expect(its['foo']).to eq('ab') - expect(its['bar']).to eq('cd') - end - it 'returns nil for unknown keys' do - expect(its['baz']).to be_nil - end - end - context 'symbol key' do - it 'returns the corresponding capture' do - expect(its[:foo]).to eq('ab') - expect(its[:bar]).to eq('cd') - end - it 'returns nil for unknown keys' do - expect(its[:baz]).to be_nil - end - end - context 'integer key' do - it 'returns the full URI for index 0' do - expect(its[0]).to eq('ab/cd') - end - it 'returns the corresponding capture' do - expect(its[1]).to eq('ab') - expect(its[2]).to eq('cd') - end - it 'returns nil for unknown keys' do - expect(its[3]).to be_nil - end - end - context 'other key' do - it 'raises an exception' do - expect { its[Object.new] }.to raise_error(TypeError) - end - end - context 'with length' do - it 'returns an array starting at index with given length' do - expect(its[0, 2]).to eq(['ab/cd', 'ab']) - expect(its[2, 1]).to eq(['cd']) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/uri_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/uri_spec.rb deleted file mode 100644 index 26ee923..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/addressable/uri_spec.rb +++ /dev/null @@ -1,6840 +0,0 @@ -# frozen_string_literal: true - -# Copyright (C) Bob Aman -# -# 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. - - -require "spec_helper" - -require "addressable/uri" -require "uri" -require "ipaddr" -require "yaml" - -if !"".respond_to?("force_encoding") - class String - def force_encoding(encoding) - @encoding = encoding - end - - def encoding - @encoding ||= Encoding::ASCII_8BIT - end - end - - class Encoding - def initialize(name) - @name = name - end - - def to_s - return @name - end - - UTF_8 = Encoding.new("UTF-8") - ASCII_8BIT = Encoding.new("US-ASCII") - end -end - -module Fake - module URI - class HTTP - def initialize(uri) - @uri = uri - end - - def to_s - return @uri.to_s - end - - alias :to_str :to_s - end - end -end - -describe Addressable::URI, "when created with a non-numeric port number" do - it "should raise an error" do - expect do - Addressable::URI.new(:port => "bogus") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with a invalid encoded port number" do - it "should raise an error" do - expect do - Addressable::URI.new(:port => "%eb") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with a non-string scheme" do - it "should raise an error" do - expect do - Addressable::URI.new(:scheme => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string user" do - it "should raise an error" do - expect do - Addressable::URI.new(:user => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string password" do - it "should raise an error" do - expect do - Addressable::URI.new(:password => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string userinfo" do - it "should raise an error" do - expect do - Addressable::URI.new(:userinfo => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string host" do - it "should raise an error" do - expect do - Addressable::URI.new(:host => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string authority" do - it "should raise an error" do - expect do - Addressable::URI.new(:authority => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string path" do - it "should raise an error" do - expect do - Addressable::URI.new(:path => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string query" do - it "should raise an error" do - expect do - Addressable::URI.new(:query => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a non-string fragment" do - it "should raise an error" do - expect do - Addressable::URI.new(:fragment => :bogus) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when created with a scheme but no hierarchical " + - "segment" do - it "should raise an error" do - expect do - Addressable::URI.parse("http:") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "quote handling" do - describe 'in host name' do - it "should raise an error for single quote" do - expect do - Addressable::URI.parse("http://local\"host/") - end.to raise_error(Addressable::URI::InvalidURIError) - end - end -end - -describe Addressable::URI, "newline normalization" do - it "should not accept newlines in scheme" do - expect do - Addressable::URI.parse("ht%0atp://localhost/") - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should not unescape newline in path" do - uri = Addressable::URI.parse("http://localhost/%0a").normalize - expect(uri.to_s).to eq("http://localhost/%0A") - end - - it "should not unescape newline in hostname" do - uri = Addressable::URI.parse("http://local%0ahost/").normalize - expect(uri.to_s).to eq("http://local%0Ahost/") - end - - it "should not unescape newline in username" do - uri = Addressable::URI.parse("http://foo%0abar@localhost/").normalize - expect(uri.to_s).to eq("http://foo%0Abar@localhost/") - end - - it "should not unescape newline in username" do - uri = Addressable::URI.parse("http://example:foo%0abar@example/").normalize - expect(uri.to_s).to eq("http://example:foo%0Abar@example/") - end - - it "should not accept newline in hostname" do - uri = Addressable::URI.parse("http://localhost/") - expect do - uri.host = "local\nhost" - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with ambiguous path" do - it "should raise an error" do - expect do - Addressable::URI.parse("::http") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with an invalid host" do - it "should raise an error" do - expect do - Addressable::URI.new(:host => "") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with a host consisting of " + - "sub-delims characters" do - it "should not raise an error" do - expect do - Addressable::URI.new( - :host => Addressable::URI::CharacterClasses::SUB_DELIMS.gsub(/\\/, '') - ) - end.not_to raise_error - end -end - -describe Addressable::URI, "when created with a host consisting of " + - "unreserved characters" do - it "should not raise an error" do - expect do - Addressable::URI.new( - :host => Addressable::URI::CharacterClasses::UNRESERVED.gsub(/\\/, '') - ) - end.not_to raise_error - end -end - -describe Addressable::URI, "when created from nil components" do - before do - @uri = Addressable::URI.new - end - - it "should have a nil site value" do - expect(@uri.site).to eq(nil) - end - - it "should have an empty path" do - expect(@uri.path).to eq("") - end - - it "should be an empty uri" do - expect(@uri.to_s).to eq("") - end - - it "should have a nil default port" do - expect(@uri.default_port).to eq(nil) - end - - it "should be empty" do - expect(@uri).to be_empty - end - - it "should raise an error if the scheme is set to whitespace" do - expect do - @uri.scheme = "\t \n" - end.to raise_error(Addressable::URI::InvalidURIError, /'\t \n'/) - end - - it "should raise an error if the scheme is set to all digits" do - expect do - @uri.scheme = "123" - end.to raise_error(Addressable::URI::InvalidURIError, /'123'/) - end - - it "should raise an error if the scheme begins with a digit" do - expect do - @uri.scheme = "1scheme" - end.to raise_error(Addressable::URI::InvalidURIError, /'1scheme'/) - end - - it "should raise an error if the scheme begins with a plus" do - expect do - @uri.scheme = "+scheme" - end.to raise_error(Addressable::URI::InvalidURIError, /'\+scheme'/) - end - - it "should raise an error if the scheme begins with a dot" do - expect do - @uri.scheme = ".scheme" - end.to raise_error(Addressable::URI::InvalidURIError, /'\.scheme'/) - end - - it "should raise an error if the scheme begins with a dash" do - expect do - @uri.scheme = "-scheme" - end.to raise_error(Addressable::URI::InvalidURIError, /'-scheme'/) - end - - it "should raise an error if the scheme contains an illegal character" do - expect do - @uri.scheme = "scheme!" - end.to raise_error(Addressable::URI::InvalidURIError, /'scheme!'/) - end - - it "should raise an error if the scheme contains whitespace" do - expect do - @uri.scheme = "sch eme" - end.to raise_error(Addressable::URI::InvalidURIError, /'sch eme'/) - end - - it "should raise an error if the scheme contains a newline" do - expect do - @uri.scheme = "sch\neme" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should raise an error if set into an invalid state" do - expect do - @uri.user = "user" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should raise an error if set into an invalid state" do - expect do - @uri.password = "pass" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should raise an error if set into an invalid state" do - expect do - @uri.scheme = "http" - @uri.fragment = "fragment" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should raise an error if set into an invalid state" do - expect do - @uri.fragment = "fragment" - @uri.scheme = "http" - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when initialized from individual components" do - before do - @uri = Addressable::URI.new( - :scheme => "http", - :user => "user", - :password => "password", - :host => "example.com", - :port => 8080, - :path => "/path", - :query => "query=value", - :fragment => "fragment" - ) - end - - it "returns 'http' for #scheme" do - expect(@uri.scheme).to eq("http") - end - - it "returns 'http' for #normalized_scheme" do - expect(@uri.normalized_scheme).to eq("http") - end - - it "returns 'user' for #user" do - expect(@uri.user).to eq("user") - end - - it "returns 'user' for #normalized_user" do - expect(@uri.normalized_user).to eq("user") - end - - it "returns 'password' for #password" do - expect(@uri.password).to eq("password") - end - - it "returns 'password' for #normalized_password" do - expect(@uri.normalized_password).to eq("password") - end - - it "returns 'user:password' for #userinfo" do - expect(@uri.userinfo).to eq("user:password") - end - - it "returns 'user:password' for #normalized_userinfo" do - expect(@uri.normalized_userinfo).to eq("user:password") - end - - it "returns 'example.com' for #host" do - expect(@uri.host).to eq("example.com") - end - - it "returns 'example.com' for #normalized_host" do - expect(@uri.normalized_host).to eq("example.com") - end - - it "returns 'com' for #tld" do - expect(@uri.tld).to eq("com") - end - - it "returns 'user:password@example.com:8080' for #authority" do - expect(@uri.authority).to eq("user:password@example.com:8080") - end - - it "returns 'user:password@example.com:8080' for #normalized_authority" do - expect(@uri.normalized_authority).to eq("user:password@example.com:8080") - end - - it "returns 8080 for #port" do - expect(@uri.port).to eq(8080) - end - - it "returns 8080 for #normalized_port" do - expect(@uri.normalized_port).to eq(8080) - end - - it "returns 80 for #default_port" do - expect(@uri.default_port).to eq(80) - end - - it "returns 'http://user:password@example.com:8080' for #site" do - expect(@uri.site).to eq("http://user:password@example.com:8080") - end - - it "returns 'http://user:password@example.com:8080' for #normalized_site" do - expect(@uri.normalized_site).to eq("http://user:password@example.com:8080") - end - - it "returns '/path' for #path" do - expect(@uri.path).to eq("/path") - end - - it "returns '/path' for #normalized_path" do - expect(@uri.normalized_path).to eq("/path") - end - - it "returns 'query=value' for #query" do - expect(@uri.query).to eq("query=value") - end - - it "returns 'query=value' for #normalized_query" do - expect(@uri.normalized_query).to eq("query=value") - end - - it "returns 'fragment' for #fragment" do - expect(@uri.fragment).to eq("fragment") - end - - it "returns 'fragment' for #normalized_fragment" do - expect(@uri.normalized_fragment).to eq("fragment") - end - - it "returns #hash" do - expect(@uri.hash).not_to be nil - end - - it "returns #to_s" do - expect(@uri.to_s).to eq( - "http://user:password@example.com:8080/path?query=value#fragment" - ) - end - - it "should not be empty" do - expect(@uri).not_to be_empty - end - - it "should not be frozen" do - expect(@uri).not_to be_frozen - end - - it "should allow destructive operations" do - expect { @uri.normalize! }.not_to raise_error - end -end - -describe Addressable::URI, "when initialized from " + - "frozen individual components" do - before do - @uri = Addressable::URI.new( - :scheme => "http".freeze, - :user => "user".freeze, - :password => "password".freeze, - :host => "example.com".freeze, - :port => "8080".freeze, - :path => "/path".freeze, - :query => "query=value".freeze, - :fragment => "fragment".freeze - ) - end - - it "returns 'http' for #scheme" do - expect(@uri.scheme).to eq("http") - end - - it "returns 'http' for #normalized_scheme" do - expect(@uri.normalized_scheme).to eq("http") - end - - it "returns 'user' for #user" do - expect(@uri.user).to eq("user") - end - - it "returns 'user' for #normalized_user" do - expect(@uri.normalized_user).to eq("user") - end - - it "returns 'password' for #password" do - expect(@uri.password).to eq("password") - end - - it "returns 'password' for #normalized_password" do - expect(@uri.normalized_password).to eq("password") - end - - it "returns 'user:password' for #userinfo" do - expect(@uri.userinfo).to eq("user:password") - end - - it "returns 'user:password' for #normalized_userinfo" do - expect(@uri.normalized_userinfo).to eq("user:password") - end - - it "returns 'example.com' for #host" do - expect(@uri.host).to eq("example.com") - end - - it "returns 'example.com' for #normalized_host" do - expect(@uri.normalized_host).to eq("example.com") - end - - it "returns 'user:password@example.com:8080' for #authority" do - expect(@uri.authority).to eq("user:password@example.com:8080") - end - - it "returns 'user:password@example.com:8080' for #normalized_authority" do - expect(@uri.normalized_authority).to eq("user:password@example.com:8080") - end - - it "returns 8080 for #port" do - expect(@uri.port).to eq(8080) - end - - it "returns 8080 for #normalized_port" do - expect(@uri.normalized_port).to eq(8080) - end - - it "returns 80 for #default_port" do - expect(@uri.default_port).to eq(80) - end - - it "returns 'http://user:password@example.com:8080' for #site" do - expect(@uri.site).to eq("http://user:password@example.com:8080") - end - - it "returns 'http://user:password@example.com:8080' for #normalized_site" do - expect(@uri.normalized_site).to eq("http://user:password@example.com:8080") - end - - it "returns '/path' for #path" do - expect(@uri.path).to eq("/path") - end - - it "returns '/path' for #normalized_path" do - expect(@uri.normalized_path).to eq("/path") - end - - it "returns 'query=value' for #query" do - expect(@uri.query).to eq("query=value") - end - - it "returns 'query=value' for #normalized_query" do - expect(@uri.normalized_query).to eq("query=value") - end - - it "returns 'fragment' for #fragment" do - expect(@uri.fragment).to eq("fragment") - end - - it "returns 'fragment' for #normalized_fragment" do - expect(@uri.normalized_fragment).to eq("fragment") - end - - it "returns #hash" do - expect(@uri.hash).not_to be nil - end - - it "returns #to_s" do - expect(@uri.to_s).to eq( - "http://user:password@example.com:8080/path?query=value#fragment" - ) - end - - it "should not be empty" do - expect(@uri).not_to be_empty - end - - it "should not be frozen" do - expect(@uri).not_to be_frozen - end - - it "should allow destructive operations" do - expect { @uri.normalize! }.not_to raise_error - end -end - -describe Addressable::URI, "when parsed from a frozen string" do - before do - @uri = Addressable::URI.parse( - "http://user:password@example.com:8080/path?query=value#fragment".freeze - ) - end - - it "returns 'http' for #scheme" do - expect(@uri.scheme).to eq("http") - end - - it "returns 'http' for #normalized_scheme" do - expect(@uri.normalized_scheme).to eq("http") - end - - it "returns 'user' for #user" do - expect(@uri.user).to eq("user") - end - - it "returns 'user' for #normalized_user" do - expect(@uri.normalized_user).to eq("user") - end - - it "returns 'password' for #password" do - expect(@uri.password).to eq("password") - end - - it "returns 'password' for #normalized_password" do - expect(@uri.normalized_password).to eq("password") - end - - it "returns 'user:password' for #userinfo" do - expect(@uri.userinfo).to eq("user:password") - end - - it "returns 'user:password' for #normalized_userinfo" do - expect(@uri.normalized_userinfo).to eq("user:password") - end - - it "returns 'example.com' for #host" do - expect(@uri.host).to eq("example.com") - end - - it "returns 'example.com' for #normalized_host" do - expect(@uri.normalized_host).to eq("example.com") - end - - it "returns 'user:password@example.com:8080' for #authority" do - expect(@uri.authority).to eq("user:password@example.com:8080") - end - - it "returns 'user:password@example.com:8080' for #normalized_authority" do - expect(@uri.normalized_authority).to eq("user:password@example.com:8080") - end - - it "returns 8080 for #port" do - expect(@uri.port).to eq(8080) - end - - it "returns 8080 for #normalized_port" do - expect(@uri.normalized_port).to eq(8080) - end - - it "returns 80 for #default_port" do - expect(@uri.default_port).to eq(80) - end - - it "returns 'http://user:password@example.com:8080' for #site" do - expect(@uri.site).to eq("http://user:password@example.com:8080") - end - - it "returns 'http://user:password@example.com:8080' for #normalized_site" do - expect(@uri.normalized_site).to eq("http://user:password@example.com:8080") - end - - it "returns '/path' for #path" do - expect(@uri.path).to eq("/path") - end - - it "returns '/path' for #normalized_path" do - expect(@uri.normalized_path).to eq("/path") - end - - it "returns 'query=value' for #query" do - expect(@uri.query).to eq("query=value") - end - - it "returns 'query=value' for #normalized_query" do - expect(@uri.normalized_query).to eq("query=value") - end - - it "returns 'fragment' for #fragment" do - expect(@uri.fragment).to eq("fragment") - end - - it "returns 'fragment' for #normalized_fragment" do - expect(@uri.normalized_fragment).to eq("fragment") - end - - it "returns #hash" do - expect(@uri.hash).not_to be nil - end - - it "returns #to_s" do - expect(@uri.to_s).to eq( - "http://user:password@example.com:8080/path?query=value#fragment" - ) - end - - it "should not be empty" do - expect(@uri).not_to be_empty - end - - it "should not be frozen" do - expect(@uri).not_to be_frozen - end - - it "should allow destructive operations" do - expect { @uri.normalize! }.not_to raise_error - end -end - -describe Addressable::URI, "when frozen" do - before do - @uri = Addressable::URI.new.freeze - end - - it "returns nil for #scheme" do - expect(@uri.scheme).to eq(nil) - end - - it "returns nil for #normalized_scheme" do - expect(@uri.normalized_scheme).to eq(nil) - end - - it "returns nil for #user" do - expect(@uri.user).to eq(nil) - end - - it "returns nil for #normalized_user" do - expect(@uri.normalized_user).to eq(nil) - end - - it "returns nil for #password" do - expect(@uri.password).to eq(nil) - end - - it "returns nil for #normalized_password" do - expect(@uri.normalized_password).to eq(nil) - end - - it "returns nil for #userinfo" do - expect(@uri.userinfo).to eq(nil) - end - - it "returns nil for #normalized_userinfo" do - expect(@uri.normalized_userinfo).to eq(nil) - end - - it "returns nil for #host" do - expect(@uri.host).to eq(nil) - end - - it "returns nil for #normalized_host" do - expect(@uri.normalized_host).to eq(nil) - end - - it "returns nil for #authority" do - expect(@uri.authority).to eq(nil) - end - - it "returns nil for #normalized_authority" do - expect(@uri.normalized_authority).to eq(nil) - end - - it "returns nil for #port" do - expect(@uri.port).to eq(nil) - end - - it "returns nil for #normalized_port" do - expect(@uri.normalized_port).to eq(nil) - end - - it "returns nil for #default_port" do - expect(@uri.default_port).to eq(nil) - end - - it "returns nil for #site" do - expect(@uri.site).to eq(nil) - end - - it "returns nil for #normalized_site" do - expect(@uri.normalized_site).to eq(nil) - end - - it "returns '' for #path" do - expect(@uri.path).to eq('') - end - - it "returns '' for #normalized_path" do - expect(@uri.normalized_path).to eq('') - end - - it "returns nil for #query" do - expect(@uri.query).to eq(nil) - end - - it "returns nil for #normalized_query" do - expect(@uri.normalized_query).to eq(nil) - end - - it "returns nil for #fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "returns nil for #normalized_fragment" do - expect(@uri.normalized_fragment).to eq(nil) - end - - it "returns #hash" do - expect(@uri.hash).not_to be nil - end - - it "returns #to_s" do - expect(@uri.to_s).to eq('') - end - - it "should be empty" do - expect(@uri).to be_empty - end - - it "should be frozen" do - expect(@uri).to be_frozen - end - - it "should not be frozen after duping" do - expect(@uri.dup).not_to be_frozen - end - - it "should not allow destructive operations" do - expect { @uri.normalize! }.to raise_error { |error| - expect(error.message).to match(/can't modify frozen/) - expect(error).to satisfy { |e| RuntimeError === e || TypeError === e } - } - end -end - -describe Addressable::URI, "when frozen" do - before do - @uri = Addressable::URI.parse( - "HTTP://example.com.:%38%30/%70a%74%68?a=%31#1%323" - ).freeze - end - - it "returns 'HTTP' for #scheme" do - expect(@uri.scheme).to eq("HTTP") - end - - it "returns 'http' for #normalized_scheme" do - expect(@uri.normalized_scheme).to eq("http") - expect(@uri.normalize.scheme).to eq("http") - end - - it "returns nil for #user" do - expect(@uri.user).to eq(nil) - end - - it "returns nil for #normalized_user" do - expect(@uri.normalized_user).to eq(nil) - end - - it "returns nil for #password" do - expect(@uri.password).to eq(nil) - end - - it "returns nil for #normalized_password" do - expect(@uri.normalized_password).to eq(nil) - end - - it "returns nil for #userinfo" do - expect(@uri.userinfo).to eq(nil) - end - - it "returns nil for #normalized_userinfo" do - expect(@uri.normalized_userinfo).to eq(nil) - end - - it "returns 'example.com.' for #host" do - expect(@uri.host).to eq("example.com.") - end - - it "returns nil for #normalized_host" do - expect(@uri.normalized_host).to eq("example.com") - expect(@uri.normalize.host).to eq("example.com") - end - - it "returns 'example.com.:80' for #authority" do - expect(@uri.authority).to eq("example.com.:80") - end - - it "returns 'example.com:80' for #normalized_authority" do - expect(@uri.normalized_authority).to eq("example.com") - expect(@uri.normalize.authority).to eq("example.com") - end - - it "returns 80 for #port" do - expect(@uri.port).to eq(80) - end - - it "returns nil for #normalized_port" do - expect(@uri.normalized_port).to eq(nil) - expect(@uri.normalize.port).to eq(nil) - end - - it "returns 80 for #default_port" do - expect(@uri.default_port).to eq(80) - end - - it "returns 'HTTP://example.com.:80' for #site" do - expect(@uri.site).to eq("HTTP://example.com.:80") - end - - it "returns 'http://example.com' for #normalized_site" do - expect(@uri.normalized_site).to eq("http://example.com") - expect(@uri.normalize.site).to eq("http://example.com") - end - - it "returns '/%70a%74%68' for #path" do - expect(@uri.path).to eq("/%70a%74%68") - end - - it "returns '/path' for #normalized_path" do - expect(@uri.normalized_path).to eq("/path") - expect(@uri.normalize.path).to eq("/path") - end - - it "returns 'a=%31' for #query" do - expect(@uri.query).to eq("a=%31") - end - - it "returns 'a=1' for #normalized_query" do - expect(@uri.normalized_query).to eq("a=1") - expect(@uri.normalize.query).to eq("a=1") - end - - it "returns '/%70a%74%68?a=%31' for #request_uri" do - expect(@uri.request_uri).to eq("/%70a%74%68?a=%31") - end - - it "returns '1%323' for #fragment" do - expect(@uri.fragment).to eq("1%323") - end - - it "returns '123' for #normalized_fragment" do - expect(@uri.normalized_fragment).to eq("123") - expect(@uri.normalize.fragment).to eq("123") - end - - it "returns #hash" do - expect(@uri.hash).not_to be nil - end - - it "returns #to_s" do - expect(@uri.to_s).to eq('HTTP://example.com.:80/%70a%74%68?a=%31#1%323') - expect(@uri.normalize.to_s).to eq('http://example.com/path?a=1#123') - end - - it "should not be empty" do - expect(@uri).not_to be_empty - end - - it "should be frozen" do - expect(@uri).to be_frozen - end - - it "should not be frozen after duping" do - expect(@uri.dup).not_to be_frozen - end - - it "should not allow destructive operations" do - expect { @uri.normalize! }.to raise_error { |error| - expect(error.message).to match(/can't modify frozen/) - expect(error).to satisfy { |e| RuntimeError === e || TypeError === e } - } - end -end - -describe Addressable::URI, "when normalized and then deeply frozen" do - before do - @uri = Addressable::URI.parse( - "http://user:password@example.com:8080/path?query=value#fragment" - ).normalize! - - @uri.instance_variables.each do |var| - @uri.instance_variable_set(var, @uri.instance_variable_get(var).freeze) - end - - @uri.freeze - end - - it "#normalized_scheme should not error" do - expect { @uri.normalized_scheme }.not_to raise_error - end - - it "#normalized_user should not error" do - expect { @uri.normalized_user }.not_to raise_error - end - - it "#normalized_password should not error" do - expect { @uri.normalized_password }.not_to raise_error - end - - it "#normalized_userinfo should not error" do - expect { @uri.normalized_userinfo }.not_to raise_error - end - - it "#normalized_host should not error" do - expect { @uri.normalized_host }.not_to raise_error - end - - it "#normalized_authority should not error" do - expect { @uri.normalized_authority }.not_to raise_error - end - - it "#normalized_port should not error" do - expect { @uri.normalized_port }.not_to raise_error - end - - it "#normalized_site should not error" do - expect { @uri.normalized_site }.not_to raise_error - end - - it "#normalized_path should not error" do - expect { @uri.normalized_path }.not_to raise_error - end - - it "#normalized_query should not error" do - expect { @uri.normalized_query }.not_to raise_error - end - - it "#normalized_fragment should not error" do - expect { @uri.normalized_fragment }.not_to raise_error - end - - it "should be frozen" do - expect(@uri).to be_frozen - end - - it "should not allow destructive operations" do - expect { @uri.normalize! }.to raise_error(RuntimeError) - end -end - -describe Addressable::URI, "when created from string components" do - before do - @uri = Addressable::URI.new( - :scheme => "http", :host => "example.com" - ) - end - - it "should have a site value of 'http://example.com'" do - expect(@uri.site).to eq("http://example.com") - end - - it "should be equal to the equivalent parsed URI" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com")) - end - - it "should raise an error if invalid components omitted" do - expect do - @uri.omit(:bogus) - end.to raise_error(ArgumentError) - expect do - @uri.omit(:scheme, :bogus, :path) - end.to raise_error(ArgumentError) - end -end - -describe Addressable::URI, "when created with a nil host but " + - "non-nil authority components" do - it "should raise an error" do - expect do - Addressable::URI.new(:user => "user", :password => "pass", :port => 80) - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with both an authority and a user" do - it "should raise an error" do - expect do - Addressable::URI.new( - :user => "user", :authority => "user@example.com:80" - ) - end.to raise_error(ArgumentError) - end -end - -describe Addressable::URI, "when created with an authority and no port" do - before do - @uri = Addressable::URI.new(:authority => "user@example.com") - end - - it "should not infer a port" do - expect(@uri.port).to eq(nil) - expect(@uri.default_port).to eq(nil) - expect(@uri.inferred_port).to eq(nil) - end - - it "should have a site value of '//user@example.com'" do - expect(@uri.site).to eq("//user@example.com") - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when created with a host with trailing dots" do - before do - @uri = Addressable::URI.new(:authority => "example...") - end - - it "should have a stable normalized form" do - expect(@uri.normalize.normalize.normalize.host).to eq( - @uri.normalize.host - ) - end -end - -describe Addressable::URI, "when created with a host with a backslash" do - it "should raise an error" do - expect do - Addressable::URI.new(:authority => "example\\example") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with a host with a slash" do - it "should raise an error" do - expect do - Addressable::URI.new(:authority => "example/example") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with a host with a space" do - it "should raise an error" do - expect do - Addressable::URI.new(:authority => "example example") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when created with both a userinfo and a user" do - it "should raise an error" do - expect do - Addressable::URI.new(:user => "user", :userinfo => "user:pass") - end.to raise_error(ArgumentError) - end -end - -describe Addressable::URI, "when created with a path that hasn't been " + - "prefixed with a '/' but a host specified" do - before do - @uri = Addressable::URI.new( - :scheme => "http", :host => "example.com", :path => "path" - ) - end - - it "should prefix a '/' to the path" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com/path")) - end - - it "should have a site value of 'http://example.com'" do - expect(@uri.site).to eq("http://example.com") - end - - it "should have an origin of 'http://example.com" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when created with a path that hasn't been " + - "prefixed with a '/' but no host specified" do - before do - @uri = Addressable::URI.new( - :scheme => "http", :path => "path" - ) - end - - it "should not prefix a '/' to the path" do - expect(@uri).to eq(Addressable::URI.parse("http:path")) - end - - it "should have a site value of 'http:'" do - expect(@uri.site).to eq("http:") - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from an Addressable::URI object" do - it "should not have unexpected side-effects" do - original_uri = Addressable::URI.parse("http://example.com/") - new_uri = Addressable::URI.parse(original_uri) - new_uri.host = 'www.example.com' - expect(new_uri.host).to eq('www.example.com') - expect(new_uri.to_s).to eq('http://www.example.com/') - expect(original_uri.host).to eq('example.com') - expect(original_uri.to_s).to eq('http://example.com/') - end - - it "should not have unexpected side-effects" do - original_uri = Addressable::URI.parse("http://example.com/") - new_uri = Addressable::URI.heuristic_parse(original_uri) - new_uri.host = 'www.example.com' - expect(new_uri.host).to eq('www.example.com') - expect(new_uri.to_s).to eq('http://www.example.com/') - expect(original_uri.host).to eq('example.com') - expect(original_uri.to_s).to eq('http://example.com/') - end - - it "should not have unexpected side-effects" do - original_uri = Addressable::URI.parse("http://example.com/") - new_uri = Addressable::URI.parse(original_uri) - new_uri.origin = 'https://www.example.com:8080' - expect(new_uri.host).to eq('www.example.com') - expect(new_uri.to_s).to eq('https://www.example.com:8080/') - expect(original_uri.host).to eq('example.com') - expect(original_uri.to_s).to eq('http://example.com/') - end - - it "should not have unexpected side-effects" do - original_uri = Addressable::URI.parse("http://example.com/") - new_uri = Addressable::URI.heuristic_parse(original_uri) - new_uri.origin = 'https://www.example.com:8080' - expect(new_uri.host).to eq('www.example.com') - expect(new_uri.to_s).to eq('https://www.example.com:8080/') - expect(original_uri.host).to eq('example.com') - expect(original_uri.to_s).to eq('http://example.com/') - end -end - -describe Addressable::URI, "when parsed from something that looks " + - "like a URI object" do - it "should parse without error" do - uri = Addressable::URI.parse(Fake::URI::HTTP.new("http://example.com/")) - expect do - Addressable::URI.parse(uri) - end.not_to raise_error - end -end - -describe Addressable::URI, "when parsed from a standard library URI object" do - it "should parse without error" do - uri = Addressable::URI.parse(URI.parse("http://example.com/")) - expect do - Addressable::URI.parse(uri) - end.not_to raise_error - end -end - -describe Addressable::URI, "when parsed from ''" do - before do - @uri = Addressable::URI.parse("") - end - - it "should have no scheme" do - expect(@uri.scheme).to eq(nil) - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should have a path of ''" do - expect(@uri.path).to eq("") - end - - it "should have a request URI of '/'" do - expect(@uri.request_uri).to eq("/") - end - - it "should be considered relative" do - expect(@uri).to be_relative - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'ftp://ftp.is.co.za/rfc/rfc1808.txt'" do - before do - @uri = Addressable::URI.parse("ftp://ftp.is.co.za/rfc/rfc1808.txt") - end - - it "should use the 'ftp' scheme" do - expect(@uri.scheme).to eq("ftp") - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have a host of 'ftp.is.co.za'" do - expect(@uri.host).to eq("ftp.is.co.za") - end - - it "should have inferred_port of 21" do - expect(@uri.inferred_port).to eq(21) - end - - it "should have a path of '/rfc/rfc1808.txt'" do - expect(@uri.path).to eq("/rfc/rfc1808.txt") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have an origin of 'ftp://ftp.is.co.za'" do - expect(@uri.origin).to eq('ftp://ftp.is.co.za') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'http://www.ietf.org/rfc/rfc2396.txt'" do - before do - @uri = Addressable::URI.parse("http://www.ietf.org/rfc/rfc2396.txt") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have a host of 'www.ietf.org'" do - expect(@uri.host).to eq("www.ietf.org") - end - - it "should have inferred_port of 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/rfc/rfc2396.txt'" do - expect(@uri.path).to eq("/rfc/rfc2396.txt") - end - - it "should have a request URI of '/rfc/rfc2396.txt'" do - expect(@uri.request_uri).to eq("/rfc/rfc2396.txt") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should correctly omit components" do - expect(@uri.omit(:scheme).to_s).to eq("//www.ietf.org/rfc/rfc2396.txt") - expect(@uri.omit(:path).to_s).to eq("http://www.ietf.org") - end - - it "should correctly omit components destructively" do - @uri.omit!(:scheme) - expect(@uri.to_s).to eq("//www.ietf.org/rfc/rfc2396.txt") - end - - it "should have an origin of 'http://www.ietf.org'" do - expect(@uri.origin).to eq('http://www.ietf.org') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'ldap://[2001:db8::7]/c=GB?objectClass?one'" do - before do - @uri = Addressable::URI.parse("ldap://[2001:db8::7]/c=GB?objectClass?one") - end - - it "should use the 'ldap' scheme" do - expect(@uri.scheme).to eq("ldap") - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have a host of '[2001:db8::7]'" do - expect(@uri.host).to eq("[2001:db8::7]") - end - - it "should have inferred_port of 389" do - expect(@uri.inferred_port).to eq(389) - end - - it "should have a path of '/c=GB'" do - expect(@uri.path).to eq("/c=GB") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should not allow request URI assignment" do - expect do - @uri.request_uri = "/" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should have a query of 'objectClass?one'" do - expect(@uri.query).to eq("objectClass?one") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should correctly omit components" do - expect(@uri.omit(:scheme, :authority).to_s).to eq("/c=GB?objectClass?one") - expect(@uri.omit(:path).to_s).to eq("ldap://[2001:db8::7]?objectClass?one") - end - - it "should correctly omit components destructively" do - @uri.omit!(:scheme, :authority) - expect(@uri.to_s).to eq("/c=GB?objectClass?one") - end - - it "should raise an error if omission would create an invalid URI" do - expect do - @uri.omit(:authority, :path) - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should have an origin of 'ldap://[2001:db8::7]'" do - expect(@uri.origin).to eq('ldap://[2001:db8::7]') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'mailto:John.Doe@example.com'" do - before do - @uri = Addressable::URI.parse("mailto:John.Doe@example.com") - end - - it "should use the 'mailto' scheme" do - expect(@uri.scheme).to eq("mailto") - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should not have an inferred_port" do - expect(@uri.inferred_port).to eq(nil) - end - - it "should have a path of 'John.Doe@example.com'" do - expect(@uri.path).to eq("John.Doe@example.com") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -# Section 2 of RFC 6068 -describe Addressable::URI, "when parsed from " + - "'mailto:?to=addr1@an.example,addr2@an.example'" do - before do - @uri = Addressable::URI.parse( - "mailto:?to=addr1@an.example,addr2@an.example" - ) - end - - it "should use the 'mailto' scheme" do - expect(@uri.scheme).to eq("mailto") - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should not have an inferred_port" do - expect(@uri.inferred_port).to eq(nil) - end - - it "should have a path of ''" do - expect(@uri.path).to eq("") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should have the To: field value parameterized" do - expect(@uri.query_values(Hash)["to"]).to eq( - "addr1@an.example,addr2@an.example" - ) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'news:comp.infosystems.www.servers.unix'" do - before do - @uri = Addressable::URI.parse("news:comp.infosystems.www.servers.unix") - end - - it "should use the 'news' scheme" do - expect(@uri.scheme).to eq("news") - end - - it "should not have an inferred_port" do - expect(@uri.inferred_port).to eq(nil) - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should have a path of 'comp.infosystems.www.servers.unix'" do - expect(@uri.path).to eq("comp.infosystems.www.servers.unix") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'tel:+1-816-555-1212'" do - before do - @uri = Addressable::URI.parse("tel:+1-816-555-1212") - end - - it "should use the 'tel' scheme" do - expect(@uri.scheme).to eq("tel") - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should not have an inferred_port" do - expect(@uri.inferred_port).to eq(nil) - end - - it "should have a path of '+1-816-555-1212'" do - expect(@uri.path).to eq("+1-816-555-1212") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'telnet://192.0.2.16:80/'" do - before do - @uri = Addressable::URI.parse("telnet://192.0.2.16:80/") - end - - it "should use the 'telnet' scheme" do - expect(@uri.scheme).to eq("telnet") - end - - it "should have a host of '192.0.2.16'" do - expect(@uri.host).to eq("192.0.2.16") - end - - it "should have a port of 80" do - expect(@uri.port).to eq(80) - end - - it "should have a inferred_port of 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a default_port of 23" do - expect(@uri.default_port).to eq(23) - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have a path of '/'" do - expect(@uri.path).to eq("/") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have an origin of 'telnet://192.0.2.16:80'" do - expect(@uri.origin).to eq('telnet://192.0.2.16:80') - end -end - -# Section 1.1.2 of RFC 3986 -describe Addressable::URI, "when parsed from " + - "'urn:oasis:names:specification:docbook:dtd:xml:4.1.2'" do - before do - @uri = Addressable::URI.parse( - "urn:oasis:names:specification:docbook:dtd:xml:4.1.2") - end - - it "should use the 'urn' scheme" do - expect(@uri.scheme).to eq("urn") - end - - it "should not have an inferred_port" do - expect(@uri.inferred_port).to eq(nil) - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should have a path of " + - "'oasis:names:specification:docbook:dtd:xml:4.1.2'" do - expect(@uri.path).to eq("oasis:names:specification:docbook:dtd:xml:4.1.2") - end - - it "should not have a request URI" do - expect(@uri.request_uri).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when heuristically parsed from " + - "'192.0.2.16:8000/path'" do - before do - @uri = Addressable::URI.heuristic_parse("192.0.2.16:8000/path") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have a host of '192.0.2.16'" do - expect(@uri.host).to eq("192.0.2.16") - end - - it "should have a port of '8000'" do - expect(@uri.port).to eq(8000) - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have a path of '/path'" do - expect(@uri.path).to eq("/path") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have an origin of 'http://192.0.2.16:8000'" do - expect(@uri.origin).to eq('http://192.0.2.16:8000') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com'" do - before do - @uri = Addressable::URI.parse("http://example.com") - end - - it "when inspected, should have the correct URI" do - expect(@uri.inspect).to include("http://example.com") - end - - it "when inspected, should have the correct class name" do - expect(@uri.inspect).to include("Addressable::URI") - end - - it "when inspected, should have the correct object id" do - expect(@uri.inspect).to include("%#0x" % @uri.object_id) - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have an authority segment of 'example.com'" do - expect(@uri.authority).to eq("example.com") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should be considered ip-based" do - expect(@uri).to be_ip_based - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not have a specified port" do - expect(@uri.port).to eq(nil) - end - - it "should have an empty path" do - expect(@uri.path).to eq("") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - expect(@uri.query_values).to eq(nil) - end - - it "should have a request URI of '/'" do - expect(@uri.request_uri).to eq("/") - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should be considered absolute" do - expect(@uri).to be_absolute - end - - it "should not be considered relative" do - expect(@uri).not_to be_relative - end - - it "should not be exactly equal to 42" do - expect(@uri.eql?(42)).to eq(false) - end - - it "should not be equal to 42" do - expect(@uri == 42).to eq(false) - end - - it "should not be roughly equal to 42" do - expect(@uri === 42).to eq(false) - end - - it "should be exactly equal to http://example.com" do - expect(@uri.eql?(Addressable::URI.parse("http://example.com"))).to eq(true) - end - - it "should be roughly equal to http://example.com/" do - expect(@uri === Addressable::URI.parse("http://example.com/")).to eq(true) - end - - it "should be roughly equal to the string 'http://example.com/'" do - expect(@uri === "http://example.com/").to eq(true) - end - - it "should not be roughly equal to the string " + - "'http://example.com:bogus/'" do - expect do - expect(@uri === "http://example.com:bogus/").to eq(false) - end.not_to raise_error - end - - it "should result in itself when joined with itself" do - expect(@uri.join(@uri).to_s).to eq("http://example.com") - expect(@uri.join!(@uri).to_s).to eq("http://example.com") - end - - it "should be equivalent to http://EXAMPLE.com" do - expect(@uri).to eq(Addressable::URI.parse("http://EXAMPLE.com")) - end - - it "should be equivalent to http://EXAMPLE.com:80/" do - expect(@uri).to eq(Addressable::URI.parse("http://EXAMPLE.com:80/")) - end - - it "should have the same hash as http://example.com" do - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com").hash) - end - - it "should have the same hash as http://EXAMPLE.com after assignment" do - @uri.origin = "http://EXAMPLE.com" - expect(@uri.hash).to eq(Addressable::URI.parse("http://EXAMPLE.com").hash) - end - - it "should have a different hash from http://EXAMPLE.com" do - expect(@uri.hash).not_to eq(Addressable::URI.parse("http://EXAMPLE.com").hash) - end - - it "should not allow origin assignment without scheme" do - expect do - @uri.origin = "example.com" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should not allow origin assignment without host" do - expect do - @uri.origin = "http://" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should not allow origin assignment with bogus type" do - expect do - @uri.origin = :bogus - end.to raise_error(TypeError) - end - - # Section 6.2.3 of RFC 3986 - it "should be equivalent to http://example.com/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com/")) - end - - # Section 6.2.3 of RFC 3986 - it "should be equivalent to http://example.com:/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com:/")) - end - - # Section 6.2.3 of RFC 3986 - it "should be equivalent to http://example.com:80/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com:80/")) - end - - # Section 6.2.2.1 of RFC 3986 - it "should be equivalent to http://EXAMPLE.COM/" do - expect(@uri).to eq(Addressable::URI.parse("http://EXAMPLE.COM/")) - end - - it "should have a route of '/path/' to 'http://example.com/path/'" do - expect(@uri.route_to("http://example.com/path/")).to eq( - Addressable::URI.parse("/path/") - ) - end - - it "should have a route of '..' from 'http://example.com/path/'" do - expect(@uri.route_from("http://example.com/path/")).to eq( - Addressable::URI.parse("..") - ) - end - - it "should have a route of '#' to 'http://example.com/'" do - expect(@uri.route_to("http://example.com/")).to eq( - Addressable::URI.parse("#") - ) - end - - it "should have a route of 'http://elsewhere.com/' to " + - "'http://elsewhere.com/'" do - expect(@uri.route_to("http://elsewhere.com/")).to eq( - Addressable::URI.parse("http://elsewhere.com/") - ) - end - - it "when joined with 'relative/path' should be " + - "'http://example.com/relative/path'" do - expect(@uri.join('relative/path')).to eq( - Addressable::URI.parse("http://example.com/relative/path") - ) - end - - it "when joined with a bogus object a TypeError should be raised" do - expect do - @uri.join(42) - end.to raise_error(TypeError) - end - - it "should have the correct username after assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq(nil) - expect(@uri.to_s).to eq("http://newuser@example.com") - end - - it "should have the correct username after assignment" do - @uri.user = "user@123!" - expect(@uri.user).to eq("user@123!") - expect(@uri.normalized_user).to eq("user%40123%21") - expect(@uri.password).to eq(nil) - expect(@uri.normalize.to_s).to eq("http://user%40123%21@example.com/") - end - - it "should have the correct password after assignment" do - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - expect(@uri.user).to eq("") - expect(@uri.to_s).to eq("http://:newpass@example.com") - end - - it "should have the correct password after assignment" do - @uri.password = "#secret@123!" - expect(@uri.password).to eq("#secret@123!") - expect(@uri.normalized_password).to eq("%23secret%40123%21") - expect(@uri.user).to eq("") - expect(@uri.normalize.to_s).to eq("http://:%23secret%40123%21@example.com/") - expect(@uri.omit(:password).to_s).to eq("http://example.com") - end - - it "should have the correct user/pass after repeated assignment" do - @uri.user = nil - expect(@uri.user).to eq(nil) - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - # Username cannot be nil if the password is set - expect(@uri.user).to eq("") - expect(@uri.to_s).to eq("http://:newpass@example.com") - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - @uri.password = nil - expect(@uri.password).to eq(nil) - expect(@uri.to_s).to eq("http://newuser@example.com") - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - @uri.password = "" - expect(@uri.password).to eq("") - expect(@uri.to_s).to eq("http://newuser:@example.com") - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - @uri.user = nil - # Username cannot be nil if the password is set - expect(@uri.user).to eq("") - expect(@uri.to_s).to eq("http://:newpass@example.com") - end - - it "should have the correct user/pass after userinfo assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - @uri.userinfo = nil - expect(@uri.userinfo).to eq(nil) - expect(@uri.user).to eq(nil) - expect(@uri.password).to eq(nil) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => nil, - :password => nil, - :host => "example.com", - :port => nil, - :path => "", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -# Section 5.1.2 of RFC 2616 -describe Addressable::URI, "when parsed from " + - "'HTTP://www.w3.org/pub/WWW/TheProject.html'" do - before do - @uri = Addressable::URI.parse("HTTP://www.w3.org/pub/WWW/TheProject.html") - end - - it "should have the correct request URI" do - expect(@uri.request_uri).to eq("/pub/WWW/TheProject.html") - end - - it "should have the correct request URI after assignment" do - @uri.request_uri = "/pub/WWW/TheProject.html?" - expect(@uri.request_uri).to eq("/pub/WWW/TheProject.html?") - expect(@uri.path).to eq("/pub/WWW/TheProject.html") - expect(@uri.query).to eq("") - end - - it "should have the correct request URI after assignment" do - @uri.request_uri = "/some/where/else.html" - expect(@uri.request_uri).to eq("/some/where/else.html") - expect(@uri.path).to eq("/some/where/else.html") - expect(@uri.query).to eq(nil) - end - - it "should have the correct request URI after assignment" do - @uri.request_uri = "/some/where/else.html?query?string" - expect(@uri.request_uri).to eq("/some/where/else.html?query?string") - expect(@uri.path).to eq("/some/where/else.html") - expect(@uri.query).to eq("query?string") - end - - it "should have the correct request URI after assignment" do - @uri.request_uri = "?x=y" - expect(@uri.request_uri).to eq("/?x=y") - expect(@uri.path).to eq("/") - expect(@uri.query).to eq("x=y") - end - - it "should raise an error if the site value is set to something bogus" do - expect do - @uri.site = 42 - end.to raise_error(TypeError) - end - - it "should raise an error if the request URI is set to something bogus" do - expect do - @uri.request_uri = 42 - end.to raise_error(TypeError) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "HTTP", - :user => nil, - :password => nil, - :host => "www.w3.org", - :port => nil, - :path => "/pub/WWW/TheProject.html", - :query => nil, - :fragment => nil - }) - end - - it "should have an origin of 'http://www.w3.org'" do - expect(@uri.origin).to eq('http://www.w3.org') - end -end - -describe Addressable::URI, "when parsing IPv6 addresses" do - it "should not raise an error for " + - "'http://[3ffe:1900:4545:3:200:f8ff:fe21:67cf]/'" do - Addressable::URI.parse("http://[3ffe:1900:4545:3:200:f8ff:fe21:67cf]/") - end - - it "should not raise an error for " + - "'http://[fe80:0:0:0:200:f8ff:fe21:67cf]/'" do - Addressable::URI.parse("http://[fe80:0:0:0:200:f8ff:fe21:67cf]/") - end - - it "should not raise an error for " + - "'http://[fe80::200:f8ff:fe21:67cf]/'" do - Addressable::URI.parse("http://[fe80::200:f8ff:fe21:67cf]/") - end - - it "should not raise an error for " + - "'http://[::1]/'" do - Addressable::URI.parse("http://[::1]/") - end - - it "should not raise an error for " + - "'http://[fe80::1]/'" do - Addressable::URI.parse("http://[fe80::1]/") - end - - it "should raise an error for " + - "'http://[]/'" do - expect do - Addressable::URI.parse("http://[]/") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when parsing IPv6 address" do - subject { Addressable::URI.parse("http://[3ffe:1900:4545:3:200:f8ff:fe21:67cf]/") } - its(:host) { should == '[3ffe:1900:4545:3:200:f8ff:fe21:67cf]' } - its(:hostname) { should == '3ffe:1900:4545:3:200:f8ff:fe21:67cf' } -end - -describe Addressable::URI, "when assigning IPv6 address" do - it "should allow to set bare IPv6 address as hostname" do - uri = Addressable::URI.parse("http://[::1]/") - uri.hostname = '3ffe:1900:4545:3:200:f8ff:fe21:67cf' - expect(uri.to_s).to eq('http://[3ffe:1900:4545:3:200:f8ff:fe21:67cf]/') - end - - it "should allow to set bare IPv6 address as hostname with IPAddr object" do - uri = Addressable::URI.parse("http://[::1]/") - uri.hostname = IPAddr.new('3ffe:1900:4545:3:200:f8ff:fe21:67cf') - expect(uri.to_s).to eq('http://[3ffe:1900:4545:3:200:f8ff:fe21:67cf]/') - end - - it "should not allow to set bare IPv6 address as host" do - uri = Addressable::URI.parse("http://[::1]/") - skip "not checked" - expect do - uri.host = '3ffe:1900:4545:3:200:f8ff:fe21:67cf' - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when parsing IPvFuture addresses" do - it "should not raise an error for " + - "'http://[v9.3ffe:1900:4545:3:200:f8ff:fe21:67cf]/'" do - Addressable::URI.parse("http://[v9.3ffe:1900:4545:3:200:f8ff:fe21:67cf]/") - end - - it "should not raise an error for " + - "'http://[vff.fe80:0:0:0:200:f8ff:fe21:67cf]/'" do - Addressable::URI.parse("http://[vff.fe80:0:0:0:200:f8ff:fe21:67cf]/") - end - - it "should not raise an error for " + - "'http://[v12.fe80::200:f8ff:fe21:67cf]/'" do - Addressable::URI.parse("http://[v12.fe80::200:f8ff:fe21:67cf]/") - end - - it "should not raise an error for " + - "'http://[va0.::1]/'" do - Addressable::URI.parse("http://[va0.::1]/") - end - - it "should not raise an error for " + - "'http://[v255.fe80::1]/'" do - Addressable::URI.parse("http://[v255.fe80::1]/") - end - - it "should raise an error for " + - "'http://[v0.]/'" do - expect do - Addressable::URI.parse("http://[v0.]/") - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/'" do - before do - @uri = Addressable::URI.parse("http://example.com/") - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to http://example.com" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com")) - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to HTTP://example.com/" do - expect(@uri).to eq(Addressable::URI.parse("HTTP://example.com/")) - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to http://example.com:/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com:/")) - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to http://example.com:80/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com:80/")) - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to http://Example.com/" do - expect(@uri).to eq(Addressable::URI.parse("http://Example.com/")) - end - - it "should have the correct username after assignment" do - @uri.user = nil - expect(@uri.user).to eq(nil) - expect(@uri.password).to eq(nil) - expect(@uri.to_s).to eq("http://example.com/") - end - - it "should have the correct password after assignment" do - @uri.password = nil - expect(@uri.password).to eq(nil) - expect(@uri.user).to eq(nil) - expect(@uri.to_s).to eq("http://example.com/") - end - - it "should have a request URI of '/'" do - expect(@uri.request_uri).to eq("/") - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => nil, - :password => nil, - :host => "example.com", - :port => nil, - :path => "/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have the same hash as its duplicate" do - expect(@uri.hash).to eq(@uri.dup.hash) - end - - it "should have a different hash from its equivalent String value" do - expect(@uri.hash).not_to eq(@uri.to_s.hash) - end - - it "should have the same hash as an equal URI" do - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com/").hash) - end - - it "should be equivalent to http://EXAMPLE.com" do - expect(@uri).to eq(Addressable::URI.parse("http://EXAMPLE.com")) - end - - it "should be equivalent to http://EXAMPLE.com:80/" do - expect(@uri).to eq(Addressable::URI.parse("http://EXAMPLE.com:80/")) - end - - it "should have the same hash as http://example.com/" do - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com/").hash) - end - - it "should have the same hash as http://example.com after assignment" do - @uri.path = "" - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com").hash) - end - - it "should have the same hash as http://example.com/? after assignment" do - @uri.query = "" - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com/?").hash) - end - - it "should have the same hash as http://example.com/? after assignment" do - @uri.query_values = {} - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com/?").hash) - end - - it "should have the same hash as http://example.com/# after assignment" do - @uri.fragment = "" - expect(@uri.hash).to eq(Addressable::URI.parse("http://example.com/#").hash) - end - - it "should have a different hash from http://example.com" do - expect(@uri.hash).not_to eq(Addressable::URI.parse("http://example.com").hash) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com?#'" do - before do - @uri = Addressable::URI.parse("http://example.com?#") - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => nil, - :password => nil, - :host => "example.com", - :port => nil, - :path => "", - :query => "", - :fragment => "" - }) - end - - it "should have a request URI of '/?'" do - expect(@uri.request_uri).to eq("/?") - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq("http://example.com") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://@example.com/'" do - before do - @uri = Addressable::URI.parse("http://@example.com/") - end - - it "should be equivalent to http://example.com" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com")) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => "", - :password => nil, - :host => "example.com", - :port => nil, - :path => "/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com./'" do - before do - @uri = Addressable::URI.parse("http://example.com./") - end - - it "should be equivalent to http://example.com" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com")) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://:@example.com/'" do - before do - @uri = Addressable::URI.parse("http://:@example.com/") - end - - it "should be equivalent to http://example.com" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com")) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => "", - :password => "", - :host => "example.com", - :port => nil, - :path => "/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'HTTP://EXAMPLE.COM/'" do - before do - @uri = Addressable::URI.parse("HTTP://EXAMPLE.COM/") - end - - it "should be equivalent to http://example.com" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com")) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "HTTP", - :user => nil, - :password => nil, - :host => "EXAMPLE.COM", - :port => nil, - :path => "/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end - - it "should have a tld of 'com'" do - expect(@uri.tld).to eq('com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://www.example.co.uk/'" do - before do - @uri = Addressable::URI.parse("http://www.example.co.uk/") - end - - it "should have an origin of 'http://www.example.co.uk'" do - expect(@uri.origin).to eq('http://www.example.co.uk') - end - - it "should have a tld of 'co.uk'" do - expect(@uri.tld).to eq('co.uk') - end - - it "should have a domain of 'example.co.uk'" do - expect(@uri.domain).to eq('example.co.uk') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://sub_domain.blogspot.com/'" do - before do - @uri = Addressable::URI.parse("http://sub_domain.blogspot.com/") - end - - it "should have an origin of 'http://sub_domain.blogspot.com'" do - expect(@uri.origin).to eq('http://sub_domain.blogspot.com') - end - - it "should have a tld of 'com'" do - expect(@uri.tld).to eq('com') - end - - it "should have a domain of 'blogspot.com'" do - expect(@uri.domain).to eq('blogspot.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/~smith/'" do - before do - @uri = Addressable::URI.parse("http://example.com/~smith/") - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to http://example.com/%7Esmith/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com/%7Esmith/")) - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to http://example.com/%7esmith/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com/%7esmith/")) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/%E8'" do - before do - @uri = Addressable::URI.parse("http://example.com/%E8") - end - - it "should not raise an exception when normalized" do - expect do - @uri.normalize - end.not_to raise_error - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should not change if encoded with the normalizing algorithm" do - expect(Addressable::URI.normalized_encode(@uri).to_s).to eq( - "http://example.com/%E8" - ) - expect(Addressable::URI.normalized_encode(@uri, Addressable::URI).to_s).to be === - "http://example.com/%E8" - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/path%2Fsegment/'" do - before do - @uri = Addressable::URI.parse("http://example.com/path%2Fsegment/") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should be equal to 'http://example.com/path%2Fsegment/'" do - expect(@uri.normalize).to be_eql( - Addressable::URI.parse("http://example.com/path%2Fsegment/") - ) - end - - it "should not be equal to 'http://example.com/path/segment/'" do - expect(@uri).not_to eq( - Addressable::URI.parse("http://example.com/path/segment/") - ) - end - - it "should not be equal to 'http://example.com/path/segment/'" do - expect(@uri.normalize).not_to be_eql( - Addressable::URI.parse("http://example.com/path/segment/") - ) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?%F6'" do - before do - @uri = Addressable::URI.parse("http://example.com/?%F6") - end - - it "should not raise an exception when normalized" do - expect do - @uri.normalize - end.not_to raise_error - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should not change if encoded with the normalizing algorithm" do - expect(Addressable::URI.normalized_encode(@uri).to_s).to eq( - "http://example.com/?%F6" - ) - expect(Addressable::URI.normalized_encode(@uri, Addressable::URI).to_s).to be === - "http://example.com/?%F6" - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/#%F6'" do - before do - @uri = Addressable::URI.parse("http://example.com/#%F6") - end - - it "should not raise an exception when normalized" do - expect do - @uri.normalize - end.not_to raise_error - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should not change if encoded with the normalizing algorithm" do - expect(Addressable::URI.normalized_encode(@uri).to_s).to eq( - "http://example.com/#%F6" - ) - expect(Addressable::URI.normalized_encode(@uri, Addressable::URI).to_s).to be === - "http://example.com/#%F6" - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/%C3%87'" do - before do - @uri = Addressable::URI.parse("http://example.com/%C3%87") - end - - # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence - it "should be equivalent to 'http://example.com/C%CC%A7'" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com/C%CC%A7")) - end - - it "should not change if encoded with the normalizing algorithm" do - expect(Addressable::URI.normalized_encode(@uri).to_s).to eq( - "http://example.com/%C3%87" - ) - expect(Addressable::URI.normalized_encode(@uri, Addressable::URI).to_s).to be === - "http://example.com/%C3%87" - end - - it "should raise an error if encoding with an unexpected return type" do - expect do - Addressable::URI.normalized_encode(@uri, Integer) - end.to raise_error(TypeError) - end - - it "if percent encoded should be 'http://example.com/C%25CC%25A7'" do - expect(Addressable::URI.encode(@uri).to_s).to eq( - "http://example.com/%25C3%2587" - ) - end - - it "if percent encoded should be 'http://example.com/C%25CC%25A7'" do - expect(Addressable::URI.encode(@uri, Addressable::URI)).to eq( - Addressable::URI.parse("http://example.com/%25C3%2587") - ) - end - - it "should raise an error if encoding with an unexpected return type" do - expect do - Addressable::URI.encode(@uri, Integer) - end.to raise_error(TypeError) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q=string'" do - before do - @uri = Addressable::URI.parse("http://example.com/?q=string") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com'" do - expect(@uri.authority).to eq("example.com") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/'" do - expect(@uri.path).to eq("/") - end - - it "should have a query string of 'q=string'" do - expect(@uri.query).to eq("q=string") - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should be considered absolute" do - expect(@uri).to be_absolute - end - - it "should not be considered relative" do - expect(@uri).not_to be_relative - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com:80/'" do - before do - @uri = Addressable::URI.parse("http://example.com:80/") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com:80'" do - expect(@uri.authority).to eq("example.com:80") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have explicit port 80" do - expect(@uri.port).to eq(80) - end - - it "should have a path of '/'" do - expect(@uri.path).to eq("/") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should be considered absolute" do - expect(@uri).to be_absolute - end - - it "should not be considered relative" do - expect(@uri).not_to be_relative - end - - it "should be exactly equal to http://example.com:80/" do - expect(@uri.eql?(Addressable::URI.parse("http://example.com:80/"))).to eq(true) - end - - it "should be roughly equal to http://example.com/" do - expect(@uri === Addressable::URI.parse("http://example.com/")).to eq(true) - end - - it "should be roughly equal to the string 'http://example.com/'" do - expect(@uri === "http://example.com/").to eq(true) - end - - it "should not be roughly equal to the string " + - "'http://example.com:bogus/'" do - expect do - expect(@uri === "http://example.com:bogus/").to eq(false) - end.not_to raise_error - end - - it "should result in itself when joined with itself" do - expect(@uri.join(@uri).to_s).to eq("http://example.com:80/") - expect(@uri.join!(@uri).to_s).to eq("http://example.com:80/") - end - - # Section 6.2.3 of RFC 3986 - it "should be equal to http://example.com/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com/")) - end - - # Section 6.2.3 of RFC 3986 - it "should be equal to http://example.com:/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com:/")) - end - - # Section 6.2.3 of RFC 3986 - it "should be equal to http://example.com:80/" do - expect(@uri).to eq(Addressable::URI.parse("http://example.com:80/")) - end - - # Section 6.2.2.1 of RFC 3986 - it "should be equal to http://EXAMPLE.COM/" do - expect(@uri).to eq(Addressable::URI.parse("http://EXAMPLE.COM/")) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => nil, - :password => nil, - :host => "example.com", - :port => 80, - :path => "/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end - - it "should not change if encoded with the normalizing algorithm" do - expect(Addressable::URI.normalized_encode(@uri).to_s).to eq( - "http://example.com:80/" - ) - expect(Addressable::URI.normalized_encode(@uri, Addressable::URI).to_s).to be === - "http://example.com:80/" - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com:8080/'" do - before do - @uri = Addressable::URI.parse("http://example.com:8080/") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com:8080'" do - expect(@uri.authority).to eq("example.com:8080") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 8080" do - expect(@uri.inferred_port).to eq(8080) - end - - it "should have explicit port 8080" do - expect(@uri.port).to eq(8080) - end - - it "should have default port 80" do - expect(@uri.default_port).to eq(80) - end - - it "should have a path of '/'" do - expect(@uri.path).to eq("/") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should be considered absolute" do - expect(@uri).to be_absolute - end - - it "should not be considered relative" do - expect(@uri).not_to be_relative - end - - it "should be exactly equal to http://example.com:8080/" do - expect(@uri.eql?(Addressable::URI.parse( - "http://example.com:8080/"))).to eq(true) - end - - it "should have a route of 'http://example.com:8080/' from " + - "'http://example.com/path/to/'" do - expect(@uri.route_from("http://example.com/path/to/")).to eq( - Addressable::URI.parse("http://example.com:8080/") - ) - end - - it "should have a route of 'http://example.com:8080/' from " + - "'http://example.com:80/path/to/'" do - expect(@uri.route_from("http://example.com:80/path/to/")).to eq( - Addressable::URI.parse("http://example.com:8080/") - ) - end - - it "should have a route of '../../' from " + - "'http://example.com:8080/path/to/'" do - expect(@uri.route_from("http://example.com:8080/path/to/")).to eq( - Addressable::URI.parse("../../") - ) - end - - it "should have a route of 'http://example.com:8080/' from " + - "'http://user:pass@example.com/path/to/'" do - expect(@uri.route_from("http://user:pass@example.com/path/to/")).to eq( - Addressable::URI.parse("http://example.com:8080/") - ) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => nil, - :password => nil, - :host => "example.com", - :port => 8080, - :path => "/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com:8080'" do - expect(@uri.origin).to eq('http://example.com:8080') - end - - it "should not change if encoded with the normalizing algorithm" do - expect(Addressable::URI.normalized_encode(@uri).to_s).to eq( - "http://example.com:8080/" - ) - expect(Addressable::URI.normalized_encode(@uri, Addressable::URI).to_s).to be === - "http://example.com:8080/" - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com:%38%30/'" do - before do - @uri = Addressable::URI.parse("http://example.com:%38%30/") - end - - it "should have the correct port" do - expect(@uri.port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when parsed with empty port" do - subject(:uri) do - Addressable::URI.parse("//example.com:") - end - - it "should not infer a port" do - expect(uri.port).to be(nil) - end - - it "should have a site value of '//example.com'" do - expect(uri.site).to eq("//example.com") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/%2E/'" do - before do - @uri = Addressable::URI.parse("http://example.com/%2E/") - end - - it "should be considered to be in normal form" do - skip( - 'path segment normalization should happen before ' + - 'percent escaping normalization' - ) - @uri.normalize.should be_eql(@uri) - end - - it "should normalize to 'http://example.com/%2E/'" do - skip( - 'path segment normalization should happen before ' + - 'percent escaping normalization' - ) - expect(@uri.normalize).to eq("http://example.com/%2E/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/..'" do - before do - @uri = Addressable::URI.parse("http://example.com/..") - end - - it "should have the correct port" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/../..'" do - before do - @uri = Addressable::URI.parse("http://example.com/../..") - end - - it "should have the correct port" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/path(/..'" do - before do - @uri = Addressable::URI.parse("http://example.com/path(/..") - end - - it "should have the correct port" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/(path)/..'" do - before do - @uri = Addressable::URI.parse("http://example.com/(path)/..") - end - - it "should have the correct port" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/path(/../'" do - before do - @uri = Addressable::URI.parse("http://example.com/path(/../") - end - - it "should have the correct port" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/(path)/../'" do - before do - @uri = Addressable::URI.parse("http://example.com/(path)/../") - end - - it "should have the correct port" do - expect(@uri.inferred_port).to eq(80) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'/..//example.com'" do - before do - @uri = Addressable::URI.parse("/..//example.com") - end - - it "should become invalid when normalized" do - expect do - @uri.normalize - end.to raise_error(Addressable::URI::InvalidURIError, /authority/) - end - - it "should have a path of '/..//example.com'" do - expect(@uri.path).to eq("/..//example.com") - end -end - -describe Addressable::URI, "when parsed from '/a/b/c/./../../g'" do - before do - @uri = Addressable::URI.parse("/a/b/c/./../../g") - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - # Section 5.2.4 of RFC 3986 - it "should normalize to '/a/g'" do - expect(@uri.normalize.to_s).to eq("/a/g") - end -end - -describe Addressable::URI, "when parsed from 'mid/content=5/../6'" do - before do - @uri = Addressable::URI.parse("mid/content=5/../6") - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - # Section 5.2.4 of RFC 3986 - it "should normalize to 'mid/6'" do - expect(@uri.normalize.to_s).to eq("mid/6") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://www.example.com///../'" do - before do - @uri = Addressable::URI.parse('http://www.example.com///../') - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end - - it "should normalize to 'http://www.example.com//'" do - expect(@uri.normalize.to_s).to eq("http://www.example.com//") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/path/to/resource/'" do - before do - @uri = Addressable::URI.parse("http://example.com/path/to/resource/") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com'" do - expect(@uri.authority).to eq("example.com") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/path/to/resource/'" do - expect(@uri.path).to eq("/path/to/resource/") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should be considered absolute" do - expect(@uri).to be_absolute - end - - it "should not be considered relative" do - expect(@uri).not_to be_relative - end - - it "should be exactly equal to http://example.com:8080/" do - expect(@uri.eql?(Addressable::URI.parse( - "http://example.com/path/to/resource/"))).to eq(true) - end - - it "should have a route of 'resource/' from " + - "'http://example.com/path/to/'" do - expect(@uri.route_from("http://example.com/path/to/")).to eq( - Addressable::URI.parse("resource/") - ) - end - - it "should have a route of '../' from " + - "'http://example.com/path/to/resource/sub'" do - expect(@uri.route_from("http://example.com/path/to/resource/sub")).to eq( - Addressable::URI.parse("../") - ) - end - - - it "should have a route of 'resource/' from " + - "'http://example.com/path/to/another'" do - expect(@uri.route_from("http://example.com/path/to/another")).to eq( - Addressable::URI.parse("resource/") - ) - end - - it "should have a route of 'resource/' from " + - "'http://example.com/path/to/res'" do - expect(@uri.route_from("http://example.com/path/to/res")).to eq( - Addressable::URI.parse("resource/") - ) - end - - it "should have a route of 'resource/' from " + - "'http://example.com:80/path/to/'" do - expect(@uri.route_from("http://example.com:80/path/to/")).to eq( - Addressable::URI.parse("resource/") - ) - end - - it "should have a route of 'http://example.com/path/to/' from " + - "'http://example.com:8080/path/to/'" do - expect(@uri.route_from("http://example.com:8080/path/to/")).to eq( - Addressable::URI.parse("http://example.com/path/to/resource/") - ) - end - - it "should have a route of 'http://example.com/path/to/' from " + - "'http://user:pass@example.com/path/to/'" do - expect(@uri.route_from("http://user:pass@example.com/path/to/")).to eq( - Addressable::URI.parse("http://example.com/path/to/resource/") - ) - end - - it "should have a route of '../../path/to/resource/' from " + - "'http://example.com/to/resource/'" do - expect(@uri.route_from("http://example.com/to/resource/")).to eq( - Addressable::URI.parse("../../path/to/resource/") - ) - end - - it "should correctly convert to a hash" do - expect(@uri.to_hash).to eq({ - :scheme => "http", - :user => nil, - :password => nil, - :host => "example.com", - :port => nil, - :path => "/path/to/resource/", - :query => nil, - :fragment => nil - }) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end -end - -describe Addressable::URI, "when parsed from " + - "'relative/path/to/resource'" do - before do - @uri = Addressable::URI.parse("relative/path/to/resource") - end - - it "should not have a scheme" do - expect(@uri.scheme).to eq(nil) - end - - it "should not be considered ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should not have an authority segment" do - expect(@uri.authority).to eq(nil) - end - - it "should not have a host" do - expect(@uri.host).to eq(nil) - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should not have a port" do - expect(@uri.port).to eq(nil) - end - - it "should have a path of 'relative/path/to/resource'" do - expect(@uri.path).to eq("relative/path/to/resource") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should not be considered absolute" do - expect(@uri).not_to be_absolute - end - - it "should be considered relative" do - expect(@uri).to be_relative - end - - it "should raise an error if routing is attempted" do - expect do - @uri.route_to("http://example.com/") - end.to raise_error(ArgumentError, /relative\/path\/to\/resource/) - expect do - @uri.route_from("http://example.com/") - end.to raise_error(ArgumentError, /relative\/path\/to\/resource/) - end - - it "when joined with 'another/relative/path' should be " + - "'relative/path/to/another/relative/path'" do - expect(@uri.join('another/relative/path')).to eq( - Addressable::URI.parse("relative/path/to/another/relative/path") - ) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end -end - -describe Addressable::URI, "when parsed from " + - "'relative_path_with_no_slashes'" do - before do - @uri = Addressable::URI.parse("relative_path_with_no_slashes") - end - - it "should not have a scheme" do - expect(@uri.scheme).to eq(nil) - end - - it "should not be considered ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should not have an authority segment" do - expect(@uri.authority).to eq(nil) - end - - it "should not have a host" do - expect(@uri.host).to eq(nil) - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should not have a port" do - expect(@uri.port).to eq(nil) - end - - it "should have a path of 'relative_path_with_no_slashes'" do - expect(@uri.path).to eq("relative_path_with_no_slashes") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should not be considered absolute" do - expect(@uri).not_to be_absolute - end - - it "should be considered relative" do - expect(@uri).to be_relative - end - - it "when joined with 'another_relative_path' should be " + - "'another_relative_path'" do - expect(@uri.join('another_relative_path')).to eq( - Addressable::URI.parse("another_relative_path") - ) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/file.txt'" do - before do - @uri = Addressable::URI.parse("http://example.com/file.txt") - end - - it "should have a scheme of 'http'" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com'" do - expect(@uri.authority).to eq("example.com") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/file.txt'" do - expect(@uri.path).to eq("/file.txt") - end - - it "should have a basename of 'file.txt'" do - expect(@uri.basename).to eq("file.txt") - end - - it "should have an extname of '.txt'" do - expect(@uri.extname).to eq(".txt") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/file.txt;parameter'" do - before do - @uri = Addressable::URI.parse("http://example.com/file.txt;parameter") - end - - it "should have a scheme of 'http'" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com'" do - expect(@uri.authority).to eq("example.com") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/file.txt;parameter'" do - expect(@uri.path).to eq("/file.txt;parameter") - end - - it "should have a basename of 'file.txt'" do - expect(@uri.basename).to eq("file.txt") - end - - it "should have an extname of '.txt'" do - expect(@uri.extname).to eq(".txt") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/file.txt;x=y'" do - before do - @uri = Addressable::URI.parse("http://example.com/file.txt;x=y") - end - - it "should have a scheme of 'http'" do - expect(@uri.scheme).to eq("http") - end - - it "should have a scheme of 'http'" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'example.com'" do - expect(@uri.authority).to eq("example.com") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have no username" do - expect(@uri.user).to eq(nil) - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/file.txt;x=y'" do - expect(@uri.path).to eq("/file.txt;x=y") - end - - it "should have an extname of '.txt'" do - expect(@uri.extname).to eq(".txt") - end - - it "should have no query string" do - expect(@uri.query).to eq(nil) - end - - it "should have no fragment" do - expect(@uri.fragment).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end -end - -describe Addressable::URI, "when parsed from " + - "'svn+ssh://developername@rubyforge.org/var/svn/project'" do - before do - @uri = Addressable::URI.parse( - "svn+ssh://developername@rubyforge.org/var/svn/project" - ) - end - - it "should have a scheme of 'svn+ssh'" do - expect(@uri.scheme).to eq("svn+ssh") - end - - it "should be considered to be ip-based" do - expect(@uri).to be_ip_based - end - - it "should have a path of '/var/svn/project'" do - expect(@uri.path).to eq("/var/svn/project") - end - - it "should have a username of 'developername'" do - expect(@uri.user).to eq("developername") - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end -end - -describe Addressable::URI, "when parsed from " + - "'ssh+svn://developername@RUBYFORGE.ORG/var/svn/project'" do - before do - @uri = Addressable::URI.parse( - "ssh+svn://developername@RUBYFORGE.ORG/var/svn/project" - ) - end - - it "should have a scheme of 'ssh+svn'" do - expect(@uri.scheme).to eq("ssh+svn") - end - - it "should have a normalized scheme of 'svn+ssh'" do - expect(@uri.normalized_scheme).to eq("svn+ssh") - end - - it "should have a normalized site of 'svn+ssh'" do - expect(@uri.normalized_site).to eq("svn+ssh://developername@rubyforge.org") - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should have a path of '/var/svn/project'" do - expect(@uri.path).to eq("/var/svn/project") - end - - it "should have a username of 'developername'" do - expect(@uri.user).to eq("developername") - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should not be considered to be in normal form" do - expect(@uri.normalize).not_to be_eql(@uri) - end -end - -describe Addressable::URI, "when parsed from " + - "'mailto:user@example.com'" do - before do - @uri = Addressable::URI.parse("mailto:user@example.com") - end - - it "should have a scheme of 'mailto'" do - expect(@uri.scheme).to eq("mailto") - end - - it "should not be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should have a path of 'user@example.com'" do - expect(@uri.path).to eq("user@example.com") - end - - it "should have no user" do - expect(@uri.user).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end -end - -describe Addressable::URI, "when parsed from " + - "'tag:example.com,2006-08-18:/path/to/something'" do - before do - @uri = Addressable::URI.parse( - "tag:example.com,2006-08-18:/path/to/something") - end - - it "should have a scheme of 'tag'" do - expect(@uri.scheme).to eq("tag") - end - - it "should be considered to be ip-based" do - expect(@uri).not_to be_ip_based - end - - it "should have a path of " + - "'example.com,2006-08-18:/path/to/something'" do - expect(@uri.path).to eq("example.com,2006-08-18:/path/to/something") - end - - it "should have no user" do - expect(@uri.user).to eq(nil) - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/x;y/'" do - before do - @uri = Addressable::URI.parse("http://example.com/x;y/") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?x=1&y=2'" do - before do - @uri = Addressable::URI.parse("http://example.com/?x=1&y=2") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end -end - -describe Addressable::URI, "when parsed from " + - "'view-source:http://example.com/'" do - before do - @uri = Addressable::URI.parse("view-source:http://example.com/") - end - - it "should have a scheme of 'view-source'" do - expect(@uri.scheme).to eq("view-source") - end - - it "should have a path of 'http://example.com/'" do - expect(@uri.path).to eq("http://example.com/") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://user:pass@example.com/path/to/resource?query=x#fragment'" do - before do - @uri = Addressable::URI.parse( - "http://user:pass@example.com/path/to/resource?query=x#fragment") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have an authority segment of 'user:pass@example.com'" do - expect(@uri.authority).to eq("user:pass@example.com") - end - - it "should have a username of 'user'" do - expect(@uri.user).to eq("user") - end - - it "should have a password of 'pass'" do - expect(@uri.password).to eq("pass") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/path/to/resource'" do - expect(@uri.path).to eq("/path/to/resource") - end - - it "should have a query string of 'query=x'" do - expect(@uri.query).to eq("query=x") - end - - it "should have a fragment of 'fragment'" do - expect(@uri.fragment).to eq("fragment") - end - - it "should be considered to be in normal form" do - expect(@uri.normalize).to be_eql(@uri) - end - - it "should have a route of '../../' to " + - "'http://user:pass@example.com/path/'" do - expect(@uri.route_to("http://user:pass@example.com/path/")).to eq( - Addressable::URI.parse("../../") - ) - end - - it "should have a route of 'to/resource?query=x#fragment' " + - "from 'http://user:pass@example.com/path/'" do - expect(@uri.route_from("http://user:pass@example.com/path/")).to eq( - Addressable::URI.parse("to/resource?query=x#fragment") - ) - end - - it "should have a route of '?query=x#fragment' " + - "from 'http://user:pass@example.com/path/to/resource'" do - expect(@uri.route_from("http://user:pass@example.com/path/to/resource")).to eq( - Addressable::URI.parse("?query=x#fragment") - ) - end - - it "should have a route of '#fragment' " + - "from 'http://user:pass@example.com/path/to/resource?query=x'" do - expect(@uri.route_from( - "http://user:pass@example.com/path/to/resource?query=x")).to eq( - Addressable::URI.parse("#fragment") - ) - end - - it "should have a route of '#fragment' from " + - "'http://user:pass@example.com/path/to/resource?query=x#fragment'" do - expect(@uri.route_from( - "http://user:pass@example.com/path/to/resource?query=x#fragment" - )).to eq(Addressable::URI.parse("#fragment")) - end - - it "should have a route of 'http://elsewhere.com/' to " + - "'http://elsewhere.com/'" do - expect(@uri.route_to("http://elsewhere.com/")).to eq( - Addressable::URI.parse("http://elsewhere.com/") - ) - end - - it "should have a route of " + - "'http://user:pass@example.com/path/to/resource?query=x#fragment' " + - "from 'http://example.com/path/to/'" do - expect(@uri.route_from("http://elsewhere.com/path/to/")).to eq( - Addressable::URI.parse( - "http://user:pass@example.com/path/to/resource?query=x#fragment") - ) - end - - it "should have the correct scheme after assignment" do - @uri.scheme = "ftp" - expect(@uri.scheme).to eq("ftp") - expect(@uri.to_s).to eq( - "ftp://user:pass@example.com/path/to/resource?query=x#fragment" - ) - expect(@uri.to_str).to eq( - "ftp://user:pass@example.com/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct site segment after assignment" do - @uri.site = "https://newuser:newpass@example.com:443" - expect(@uri.scheme).to eq("https") - expect(@uri.authority).to eq("newuser:newpass@example.com:443") - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("newpass") - expect(@uri.userinfo).to eq("newuser:newpass") - expect(@uri.normalized_userinfo).to eq("newuser:newpass") - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(443) - expect(@uri.inferred_port).to eq(443) - expect(@uri.to_s).to eq( - "https://newuser:newpass@example.com:443" + - "/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct authority segment after assignment" do - @uri.authority = "newuser:newpass@example.com:80" - expect(@uri.authority).to eq("newuser:newpass@example.com:80") - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("newpass") - expect(@uri.userinfo).to eq("newuser:newpass") - expect(@uri.normalized_userinfo).to eq("newuser:newpass") - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(80) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq( - "http://newuser:newpass@example.com:80" + - "/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct userinfo segment after assignment" do - @uri.userinfo = "newuser:newpass" - expect(@uri.userinfo).to eq("newuser:newpass") - expect(@uri.authority).to eq("newuser:newpass@example.com") - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("newpass") - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq( - "http://newuser:newpass@example.com" + - "/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct username after assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - expect(@uri.authority).to eq("newuser:pass@example.com") - end - - it "should have the correct password after assignment" do - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - expect(@uri.authority).to eq("user:newpass@example.com") - end - - it "should have the correct host after assignment" do - @uri.host = "newexample.com" - expect(@uri.host).to eq("newexample.com") - expect(@uri.authority).to eq("user:pass@newexample.com") - end - - it "should have the correct host after assignment" do - @uri.hostname = "newexample.com" - expect(@uri.host).to eq("newexample.com") - expect(@uri.hostname).to eq("newexample.com") - expect(@uri.authority).to eq("user:pass@newexample.com") - end - - it "should raise an error if assigning a bogus object to the hostname" do - expect do - @uri.hostname = Object.new - end.to raise_error(TypeError) - end - - it "should have the correct port after assignment" do - @uri.port = 8080 - expect(@uri.port).to eq(8080) - expect(@uri.authority).to eq("user:pass@example.com:8080") - end - - it "should have the correct origin after assignment" do - @uri.origin = "http://newexample.com" - expect(@uri.host).to eq("newexample.com") - expect(@uri.authority).to eq("newexample.com") - end - - it "should have the correct path after assignment" do - @uri.path = "/newpath/to/resource" - expect(@uri.path).to eq("/newpath/to/resource") - expect(@uri.to_s).to eq( - "http://user:pass@example.com/newpath/to/resource?query=x#fragment" - ) - end - - it "should have the correct scheme and authority after nil assignment" do - @uri.site = nil - expect(@uri.scheme).to eq(nil) - expect(@uri.authority).to eq(nil) - expect(@uri.to_s).to eq("/path/to/resource?query=x#fragment") - end - - it "should have the correct scheme and authority after assignment" do - @uri.site = "file://" - expect(@uri.scheme).to eq("file") - expect(@uri.authority).to eq("") - expect(@uri.to_s).to eq("file:///path/to/resource?query=x#fragment") - end - - it "should have the correct path after nil assignment" do - @uri.path = nil - expect(@uri.path).to eq("") - expect(@uri.to_s).to eq( - "http://user:pass@example.com?query=x#fragment" - ) - end - - it "should have the correct query string after assignment" do - @uri.query = "newquery=x" - expect(@uri.query).to eq("newquery=x") - expect(@uri.to_s).to eq( - "http://user:pass@example.com/path/to/resource?newquery=x#fragment" - ) - @uri.query = nil - expect(@uri.query).to eq(nil) - expect(@uri.to_s).to eq( - "http://user:pass@example.com/path/to/resource#fragment" - ) - end - - it "should have the correct query string after hash assignment" do - @uri.query_values = {"?uestion mark" => "=sign", "hello" => "g\xC3\xBCnther"} - expect(@uri.query.split("&")).to include("%3Fuestion%20mark=%3Dsign") - expect(@uri.query.split("&")).to include("hello=g%C3%BCnther") - expect(@uri.query_values).to eq({ - "?uestion mark" => "=sign", "hello" => "g\xC3\xBCnther" - }) - end - - it "should have the correct query string after flag hash assignment" do - @uri.query_values = {'flag?1' => nil, 'fl=ag2' => nil, 'flag3' => nil} - expect(@uri.query.split("&")).to include("flag%3F1") - expect(@uri.query.split("&")).to include("fl%3Dag2") - expect(@uri.query.split("&")).to include("flag3") - expect(@uri.query_values(Array).sort).to eq([["fl=ag2"], ["flag3"], ["flag?1"]]) - expect(@uri.query_values(Hash)).to eq({ - 'flag?1' => nil, 'fl=ag2' => nil, 'flag3' => nil - }) - end - - it "should raise an error if query values are set to a bogus type" do - expect do - @uri.query_values = "bogus" - end.to raise_error(TypeError) - end - - it "should have the correct fragment after assignment" do - @uri.fragment = "newfragment" - expect(@uri.fragment).to eq("newfragment") - expect(@uri.to_s).to eq( - "http://user:pass@example.com/path/to/resource?query=x#newfragment" - ) - - @uri.fragment = nil - expect(@uri.fragment).to eq(nil) - expect(@uri.to_s).to eq( - "http://user:pass@example.com/path/to/resource?query=x" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:fragment => "newfragment").to_s).to eq( - "http://user:pass@example.com/path/to/resource?query=x#newfragment" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:fragment => nil).to_s).to eq( - "http://user:pass@example.com/path/to/resource?query=x" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:userinfo => "newuser:newpass").to_s).to eq( - "http://newuser:newpass@example.com/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:userinfo => nil).to_s).to eq( - "http://example.com/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:path => "newpath").to_s).to eq( - "http://user:pass@example.com/newpath?query=x#fragment" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:port => "42", :path => "newpath", :query => "").to_s).to eq( - "http://user:pass@example.com:42/newpath?#fragment" - ) - end - - it "should have the correct values after a merge" do - expect(@uri.merge(:authority => "foo:bar@baz:42").to_s).to eq( - "http://foo:bar@baz:42/path/to/resource?query=x#fragment" - ) - # Ensure the operation was not destructive - expect(@uri.to_s).to eq( - "http://user:pass@example.com/path/to/resource?query=x#fragment" - ) - end - - it "should have the correct values after a destructive merge" do - @uri.merge!(:authority => "foo:bar@baz:42") - # Ensure the operation was destructive - expect(@uri.to_s).to eq( - "http://foo:bar@baz:42/path/to/resource?query=x#fragment" - ) - end - - it "should fail to merge with bogus values" do - expect do - @uri.merge(:port => "bogus") - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should fail to merge with bogus values" do - expect do - @uri.merge(:authority => "bar@baz:bogus") - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should fail to merge with bogus parameters" do - expect do - @uri.merge(42) - end.to raise_error(TypeError) - end - - it "should fail to merge with bogus parameters" do - expect do - @uri.merge("http://example.com/") - end.to raise_error(TypeError) - end - - it "should fail to merge with both authority and subcomponents" do - expect do - @uri.merge(:authority => "foo:bar@baz:42", :port => "42") - end.to raise_error(ArgumentError) - end - - it "should fail to merge with both userinfo and subcomponents" do - expect do - @uri.merge(:userinfo => "foo:bar", :user => "foo") - end.to raise_error(ArgumentError) - end - - it "should be identical to its duplicate" do - expect(@uri).to eq(@uri.dup) - end - - it "should have an origin of 'http://example.com'" do - expect(@uri.origin).to eq('http://example.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/search?q=Q%26A'" do - - before do - @uri = Addressable::URI.parse("http://example.com/search?q=Q%26A") - end - - it "should have a query of 'q=Q%26A'" do - expect(@uri.query).to eq("q=Q%26A") - end - - it "should have query_values of {'q' => 'Q&A'}" do - expect(@uri.query_values).to eq({ 'q' => 'Q&A' }) - end - - it "should normalize to the original uri " + - "(with the ampersand properly percent-encoded)" do - expect(@uri.normalize.to_s).to eq("http://example.com/search?q=Q%26A") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?&x=b'" do - before do - @uri = Addressable::URI.parse("http://example.com/?&x=b") - end - - it "should have a query of '&x=b'" do - expect(@uri.query).to eq("&x=b") - end - - it "should have query_values of {'x' => 'b'}" do - expect(@uri.query_values).to eq({'x' => 'b'}) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q='one;two'&x=1'" do - before do - @uri = Addressable::URI.parse("http://example.com/?q='one;two'&x=1") - end - - it "should have a query of 'q='one;two'&x=1'" do - expect(@uri.query).to eq("q='one;two'&x=1") - end - - it "should have query_values of {\"q\" => \"'one;two'\", \"x\" => \"1\"}" do - expect(@uri.query_values).to eq({"q" => "'one;two'", "x" => "1"}) - end - - it "should escape the ';' character when normalizing to avoid ambiguity " + - "with the W3C HTML 4.01 specification" do - # HTML 4.01 Section B.2.2 - expect(@uri.normalize.query).to eq("q='one%3Btwo'&x=1") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?&&x=b'" do - before do - @uri = Addressable::URI.parse("http://example.com/?&&x=b") - end - - it "should have a query of '&&x=b'" do - expect(@uri.query).to eq("&&x=b") - end - - it "should have query_values of {'x' => 'b'}" do - expect(@uri.query_values).to eq({'x' => 'b'}) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q=a&&x=b'" do - before do - @uri = Addressable::URI.parse("http://example.com/?q=a&&x=b") - end - - it "should have a query of 'q=a&&x=b'" do - expect(@uri.query).to eq("q=a&&x=b") - end - - it "should have query_values of {'q' => 'a, 'x' => 'b'}" do - expect(@uri.query_values).to eq({'q' => 'a', 'x' => 'b'}) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q&&x=b'" do - before do - @uri = Addressable::URI.parse("http://example.com/?q&&x=b") - end - - it "should have a query of 'q&&x=b'" do - expect(@uri.query).to eq("q&&x=b") - end - - it "should have query_values of {'q' => true, 'x' => 'b'}" do - expect(@uri.query_values).to eq({'q' => nil, 'x' => 'b'}) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q=a+b'" do - before do - @uri = Addressable::URI.parse("http://example.com/?q=a+b") - end - - it "should have a query of 'q=a+b'" do - expect(@uri.query).to eq("q=a+b") - end - - it "should have query_values of {'q' => 'a b'}" do - expect(@uri.query_values).to eq({'q' => 'a b'}) - end - - it "should have a normalized query of 'q=a+b'" do - expect(@uri.normalized_query).to eq("q=a+b") - end -end - -describe Addressable::URI, "when parsed from 'https://example.com/?q=a+b'" do - before do - @uri = Addressable::URI.parse("https://example.com/?q=a+b") - end - - it "should have query_values of {'q' => 'a b'}" do - expect(@uri.query_values).to eq("q" => "a b") - end -end - -describe Addressable::URI, "when parsed from 'example.com?q=a+b'" do - before do - @uri = Addressable::URI.parse("example.com?q=a+b") - end - - it "should have query_values of {'q' => 'a b'}" do - expect(@uri.query_values).to eq("q" => "a b") - end -end - -describe Addressable::URI, "when parsed from 'mailto:?q=a+b'" do - before do - @uri = Addressable::URI.parse("mailto:?q=a+b") - end - - it "should have query_values of {'q' => 'a+b'}" do - expect(@uri.query_values).to eq("q" => "a+b") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q=a%2bb'" do - before do - @uri = Addressable::URI.parse("http://example.com/?q=a%2bb") - end - - it "should have a query of 'q=a+b'" do - expect(@uri.query).to eq("q=a%2bb") - end - - it "should have query_values of {'q' => 'a+b'}" do - expect(@uri.query_values).to eq({'q' => 'a+b'}) - end - - it "should have a normalized query of 'q=a%2Bb'" do - expect(@uri.normalized_query).to eq("q=a%2Bb") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?v=%7E&w=%&x=%25&y=%2B&z=C%CC%A7'" do - before do - @uri = Addressable::URI.parse("http://example.com/?v=%7E&w=%&x=%25&y=%2B&z=C%CC%A7") - end - - it "should have a normalized query of 'v=~&w=%25&x=%25&y=%2B&z=%C3%87'" do - expect(@uri.normalized_query).to eq("v=~&w=%25&x=%25&y=%2B&z=%C3%87") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?v=%7E&w=%&x=%25&y=+&z=C%CC%A7'" do - before do - @uri = Addressable::URI.parse("http://example.com/?v=%7E&w=%&x=%25&y=+&z=C%CC%A7") - end - - it "should have a normalized query of 'v=~&w=%25&x=%25&y=+&z=%C3%87'" do - expect(@uri.normalized_query).to eq("v=~&w=%25&x=%25&y=+&z=%C3%87") - end -end - -describe Addressable::URI, "when parsed from 'http://example/?b=1&a=2&c=3'" do - before do - @uri = Addressable::URI.parse("http://example/?b=1&a=2&c=3") - end - - it "should have a sorted normalized query of 'a=2&b=1&c=3'" do - expect(@uri.normalized_query(:sorted)).to eq("a=2&b=1&c=3") - end -end - -describe Addressable::URI, "when parsed from 'http://example/?&a&&c&'" do - before do - @uri = Addressable::URI.parse("http://example/?&a&&c&") - end - - it "should have a compacted normalized query of 'a&c'" do - expect(@uri.normalized_query(:compacted)).to eq("a&c") - end -end - -describe Addressable::URI, "when parsed from 'http://example.com/?a=1&a=1'" do - before do - @uri = Addressable::URI.parse("http://example.com/?a=1&a=1") - end - - it "should have a compacted normalized query of 'a=1'" do - expect(@uri.normalized_query(:compacted)).to eq("a=1") - end -end - -describe Addressable::URI, "when parsed from 'http://example.com/?a=1&a=2'" do - before do - @uri = Addressable::URI.parse("http://example.com/?a=1&a=2") - end - - it "should have a compacted normalized query of 'a=1&a=2'" do - expect(@uri.normalized_query(:compacted)).to eq("a=1&a=2") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/sound%2bvision'" do - before do - @uri = Addressable::URI.parse("http://example.com/sound%2bvision") - end - - it "should have a normalized path of '/sound+vision'" do - expect(@uri.normalized_path).to eq('/sound+vision') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/?q='" do - before do - @uri = Addressable::URI.parse("http://example.com/?q=") - end - - it "should have a query of 'q='" do - expect(@uri.query).to eq("q=") - end - - it "should have query_values of {'q' => ''}" do - expect(@uri.query_values).to eq({'q' => ''}) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://user@example.com'" do - before do - @uri = Addressable::URI.parse("http://user@example.com") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have a username of 'user'" do - expect(@uri.user).to eq("user") - end - - it "should have no password" do - expect(@uri.password).to eq(nil) - end - - it "should have a userinfo of 'user'" do - expect(@uri.userinfo).to eq("user") - end - - it "should have a normalized userinfo of 'user'" do - expect(@uri.normalized_userinfo).to eq("user") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have default_port 80" do - expect(@uri.default_port).to eq(80) - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have the correct username after assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq(nil) - expect(@uri.to_s).to eq("http://newuser@example.com") - end - - it "should have the correct password after assignment" do - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - expect(@uri.to_s).to eq("http://user:newpass@example.com") - end - - it "should have the correct userinfo segment after assignment" do - @uri.userinfo = "newuser:newpass" - expect(@uri.userinfo).to eq("newuser:newpass") - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("newpass") - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq("http://newuser:newpass@example.com") - end - - it "should have the correct userinfo segment after nil assignment" do - @uri.userinfo = nil - expect(@uri.userinfo).to eq(nil) - expect(@uri.user).to eq(nil) - expect(@uri.password).to eq(nil) - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq("http://example.com") - end - - it "should have the correct authority segment after assignment" do - @uri.authority = "newuser@example.com" - expect(@uri.authority).to eq("newuser@example.com") - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq(nil) - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq("http://newuser@example.com") - end - - it "should raise an error after nil assignment of authority segment" do - expect do - # This would create an invalid URI - @uri.authority = nil - end.to raise_error(Addressable::URI::InvalidURIError) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://user:@example.com'" do - before do - @uri = Addressable::URI.parse("http://user:@example.com") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have a username of 'user'" do - expect(@uri.user).to eq("user") - end - - it "should have a password of ''" do - expect(@uri.password).to eq("") - end - - it "should have a normalized userinfo of 'user:'" do - expect(@uri.normalized_userinfo).to eq("user:") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have the correct username after assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("") - expect(@uri.to_s).to eq("http://newuser:@example.com") - end - - it "should have the correct password after assignment" do - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - expect(@uri.to_s).to eq("http://user:newpass@example.com") - end - - it "should have the correct authority segment after assignment" do - @uri.authority = "newuser:@example.com" - expect(@uri.authority).to eq("newuser:@example.com") - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("") - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq("http://newuser:@example.com") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://:pass@example.com'" do - before do - @uri = Addressable::URI.parse("http://:pass@example.com") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have a username of ''" do - expect(@uri.user).to eq("") - end - - it "should have a password of 'pass'" do - expect(@uri.password).to eq("pass") - end - - it "should have a userinfo of ':pass'" do - expect(@uri.userinfo).to eq(":pass") - end - - it "should have a normalized userinfo of ':pass'" do - expect(@uri.normalized_userinfo).to eq(":pass") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have the correct username after assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("pass") - expect(@uri.to_s).to eq("http://newuser:pass@example.com") - end - - it "should have the correct password after assignment" do - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - expect(@uri.user).to eq("") - expect(@uri.to_s).to eq("http://:newpass@example.com") - end - - it "should have the correct authority segment after assignment" do - @uri.authority = ":newpass@example.com" - expect(@uri.authority).to eq(":newpass@example.com") - expect(@uri.user).to eq("") - expect(@uri.password).to eq("newpass") - expect(@uri.host).to eq("example.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq("http://:newpass@example.com") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://:@example.com'" do - before do - @uri = Addressable::URI.parse("http://:@example.com") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have a username of ''" do - expect(@uri.user).to eq("") - end - - it "should have a password of ''" do - expect(@uri.password).to eq("") - end - - it "should have a normalized userinfo of nil" do - expect(@uri.normalized_userinfo).to eq(nil) - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have the correct username after assignment" do - @uri.user = "newuser" - expect(@uri.user).to eq("newuser") - expect(@uri.password).to eq("") - expect(@uri.to_s).to eq("http://newuser:@example.com") - end - - it "should have the correct password after assignment" do - @uri.password = "newpass" - expect(@uri.password).to eq("newpass") - expect(@uri.user).to eq("") - expect(@uri.to_s).to eq("http://:newpass@example.com") - end - - it "should have the correct authority segment after assignment" do - @uri.authority = ":@newexample.com" - expect(@uri.authority).to eq(":@newexample.com") - expect(@uri.user).to eq("") - expect(@uri.password).to eq("") - expect(@uri.host).to eq("newexample.com") - expect(@uri.port).to eq(nil) - expect(@uri.inferred_port).to eq(80) - expect(@uri.to_s).to eq("http://:@newexample.com") - end -end - -describe Addressable::URI, "when parsed from " + - "'#example'" do - before do - @uri = Addressable::URI.parse("#example") - end - - it "should be considered relative" do - expect(@uri).to be_relative - end - - it "should have a host of nil" do - expect(@uri.host).to eq(nil) - end - - it "should have a site of nil" do - expect(@uri.site).to eq(nil) - end - - it "should have a normalized_site of nil" do - expect(@uri.normalized_site).to eq(nil) - end - - it "should have a path of ''" do - expect(@uri.path).to eq("") - end - - it "should have a query string of nil" do - expect(@uri.query).to eq(nil) - end - - it "should have a fragment of 'example'" do - expect(@uri.fragment).to eq("example") - end -end - -describe Addressable::URI, "when parsed from " + - "the network-path reference '//example.com/'" do - before do - @uri = Addressable::URI.parse("//example.com/") - end - - it "should be considered relative" do - expect(@uri).to be_relative - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should have a path of '/'" do - expect(@uri.path).to eq("/") - end - - it "should raise an error if routing is attempted" do - expect do - @uri.route_to("http://example.com/") - end.to raise_error(ArgumentError, /\/\/example.com\//) - expect do - @uri.route_from("http://example.com/") - end.to raise_error(ArgumentError, /\/\/example.com\//) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from " + - "'feed://http://example.com/'" do - before do - @uri = Addressable::URI.parse("feed://http://example.com/") - end - - it "should have a host of 'http'" do - expect(@uri.host).to eq("http") - end - - it "should have a path of '//example.com/'" do - expect(@uri.path).to eq("//example.com/") - end -end - -describe Addressable::URI, "when parsed from " + - "'feed:http://example.com/'" do - before do - @uri = Addressable::URI.parse("feed:http://example.com/") - end - - it "should have a path of 'http://example.com/'" do - expect(@uri.path).to eq("http://example.com/") - end - - it "should normalize to 'http://example.com/'" do - expect(@uri.normalize.to_s).to eq("http://example.com/") - expect(@uri.normalize!.to_s).to eq("http://example.com/") - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from " + - "'example://a/b/c/%7Bfoo%7D'" do - before do - @uri = Addressable::URI.parse("example://a/b/c/%7Bfoo%7D") - end - - # Section 6.2.2 of RFC 3986 - it "should be equivalent to eXAMPLE://a/./b/../b/%63/%7bfoo%7d" do - expect(@uri).to eq( - Addressable::URI.parse("eXAMPLE://a/./b/../b/%63/%7bfoo%7d") - ) - end - - it "should have an origin of 'example://a'" do - expect(@uri.origin).to eq('example://a') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://example.com/indirect/path/./to/../resource/'" do - before do - @uri = Addressable::URI.parse( - "http://example.com/indirect/path/./to/../resource/") - end - - it "should use the 'http' scheme" do - expect(@uri.scheme).to eq("http") - end - - it "should have a host of 'example.com'" do - expect(@uri.host).to eq("example.com") - end - - it "should use port 80" do - expect(@uri.inferred_port).to eq(80) - end - - it "should have a path of '/indirect/path/./to/../resource/'" do - expect(@uri.path).to eq("/indirect/path/./to/../resource/") - end - - # Section 6.2.2.3 of RFC 3986 - it "should have a normalized path of '/indirect/path/resource/'" do - expect(@uri.normalize.path).to eq("/indirect/path/resource/") - expect(@uri.normalize!.path).to eq("/indirect/path/resource/") - end -end - -describe Addressable::URI, "when parsed from " + - "'http://under_score.example.com/'" do - it "should not cause an error" do - expect do - Addressable::URI.parse("http://under_score.example.com/") - end.not_to raise_error - end -end - -describe Addressable::URI, "when parsed from " + - "'./this:that'" do - before do - @uri = Addressable::URI.parse("./this:that") - end - - it "should be considered relative" do - expect(@uri).to be_relative - end - - it "should have no scheme" do - expect(@uri.scheme).to eq(nil) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from " + - "'this:that'" do - before do - @uri = Addressable::URI.parse("this:that") - end - - it "should be considered absolute" do - expect(@uri).to be_absolute - end - - it "should have a scheme of 'this'" do - expect(@uri.scheme).to eq("this") - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from '?'" do - before do - @uri = Addressable::URI.parse("?") - end - - it "should normalize to ''" do - expect(@uri.normalize.to_s).to eq("") - end - - it "should have the correct return type" do - expect(@uri.query_values).to eq({}) - expect(@uri.query_values(Hash)).to eq({}) - expect(@uri.query_values(Array)).to eq([]) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from '?one=1&two=2&three=3'" do - before do - @uri = Addressable::URI.parse("?one=1&two=2&three=3") - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({"one" => "1", "two" => "2", "three" => "3"}) - end - - it "should raise an error for invalid return type values" do - expect do - @uri.query_values(Integer) - end.to raise_error(ArgumentError) - end - - it "should have the correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one", "1"], ["two", "2"], ["three", "3"] - ]) - end - - it "should have a 'null' origin" do - expect(@uri.origin).to eq('null') - end -end - -describe Addressable::URI, "when parsed from '?one=1=uno&two=2=dos'" do - before do - @uri = Addressable::URI.parse("?one=1=uno&two=2=dos") - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({"one" => "1=uno", "two" => "2=dos"}) - end - - it "should have the correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one", "1=uno"], ["two", "2=dos"] - ]) - end -end - -describe Addressable::URI, "when parsed from '?one[two][three]=four'" do - before do - @uri = Addressable::URI.parse("?one[two][three]=four") - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({"one[two][three]" => "four"}) - end - - it "should have the correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one[two][three]", "four"] - ]) - end -end - -describe Addressable::URI, "when parsed from '?one.two.three=four'" do - before do - @uri = Addressable::URI.parse("?one.two.three=four") - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({ - "one.two.three" => "four" - }) - end - - it "should have the correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one.two.three", "four"] - ]) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one[two][three]=four&one[two][five]=six'" do - before do - @uri = Addressable::URI.parse("?one[two][three]=four&one[two][five]=six") - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({ - "one[two][three]" => "four", "one[two][five]" => "six" - }) - end - - it "should have the correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one[two][three]", "four"], ["one[two][five]", "six"] - ]) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one.two.three=four&one.two.five=six'" do - before do - @uri = Addressable::URI.parse("?one.two.three=four&one.two.five=six") - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({ - "one.two.three" => "four", "one.two.five" => "six" - }) - end - - it "should have the correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one.two.three", "four"], ["one.two.five", "six"] - ]) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one=two&one=three'" do - before do - @uri = Addressable::URI.parse( - "?one=two&one=three&one=four" - ) - end - - it "should have correct array query values" do - expect(@uri.query_values(Array)).to eq( - [['one', 'two'], ['one', 'three'], ['one', 'four']] - ) - end - - it "should have correct hash query values" do - skip("This is probably more desirable behavior.") - expect(@uri.query_values(Hash)).to eq( - {'one' => ['two', 'three', 'four']} - ) - end - - it "should handle assignment with keys of mixed type" do - @uri.query_values = @uri.query_values(Hash).merge({:one => 'three'}) - expect(@uri.query_values(Hash)).to eq({'one' => 'three'}) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one[two][three][]=four&one[two][three][]=five'" do - before do - @uri = Addressable::URI.parse( - "?one[two][three][]=four&one[two][three][]=five" - ) - end - - it "should have correct query values" do - expect(@uri.query_values(Hash)).to eq({"one[two][three][]" => "five"}) - end - - it "should have correct array query values" do - expect(@uri.query_values(Array)).to eq([ - ["one[two][three][]", "four"], ["one[two][three][]", "five"] - ]) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one[two][three][0]=four&one[two][three][1]=five'" do - before do - @uri = Addressable::URI.parse( - "?one[two][three][0]=four&one[two][three][1]=five" - ) - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({ - "one[two][three][0]" => "four", "one[two][three][1]" => "five" - }) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one[two][three][1]=four&one[two][three][0]=five'" do - before do - @uri = Addressable::URI.parse( - "?one[two][three][1]=four&one[two][three][0]=five" - ) - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({ - "one[two][three][1]" => "four", "one[two][three][0]" => "five" - }) - end -end - -describe Addressable::URI, "when parsed from " + - "'?one[two][three][2]=four&one[two][three][1]=five'" do - before do - @uri = Addressable::URI.parse( - "?one[two][three][2]=four&one[two][three][1]=five" - ) - end - - it "should have the correct query values" do - expect(@uri.query_values).to eq({ - "one[two][three][2]" => "four", "one[two][three][1]" => "five" - }) - end -end - -describe Addressable::URI, "when parsed from " + - "'http://www.詹姆斯.com/'" do - before do - @uri = Addressable::URI.parse("http://www.詹姆斯.com/") - end - - it "should be equivalent to 'http://www.xn--8ws00zhy3a.com/'" do - expect(@uri).to eq( - Addressable::URI.parse("http://www.xn--8ws00zhy3a.com/") - ) - end - - it "should not have domain name encoded during normalization" do - expect(Addressable::URI.normalized_encode(@uri.to_s)).to eq( - "http://www.詹姆斯.com/" - ) - end - - it "should have an origin of 'http://www.xn--8ws00zhy3a.com'" do - expect(@uri.origin).to eq('http://www.xn--8ws00zhy3a.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://www.詹姆斯.com/ some spaces /'" do - before do - @uri = Addressable::URI.parse("http://www.詹姆斯.com/ some spaces /") - end - - it "should be equivalent to " + - "'http://www.xn--8ws00zhy3a.com/%20some%20spaces%20/'" do - expect(@uri).to eq( - Addressable::URI.parse( - "http://www.xn--8ws00zhy3a.com/%20some%20spaces%20/") - ) - end - - it "should not have domain name encoded during normalization" do - expect(Addressable::URI.normalized_encode(@uri.to_s)).to eq( - "http://www.詹姆斯.com/%20some%20spaces%20/" - ) - end - - it "should have an origin of 'http://www.xn--8ws00zhy3a.com'" do - expect(@uri.origin).to eq('http://www.xn--8ws00zhy3a.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://www.xn--8ws00zhy3a.com/'" do - before do - @uri = Addressable::URI.parse("http://www.xn--8ws00zhy3a.com/") - end - - it "should be displayed as http://www.詹姆斯.com/" do - expect(@uri.display_uri.to_s).to eq("http://www.詹姆斯.com/") - end - - it "should properly force the encoding" do - display_string = @uri.display_uri.to_str - expect(display_string).to eq("http://www.詹姆斯.com/") - if display_string.respond_to?(:encoding) - expect(display_string.encoding.to_s).to eq(Encoding::UTF_8.to_s) - end - end - - it "should have an origin of 'http://www.xn--8ws00zhy3a.com'" do - expect(@uri.origin).to eq('http://www.xn--8ws00zhy3a.com') - end -end - -describe Addressable::URI, "when parsed from " + - "'http://www.詹姆斯.com/atomtests/iri/詹.html'" do - before do - @uri = Addressable::URI.parse("http://www.詹姆斯.com/atomtests/iri/詹.html") - end - - it "should normalize to " + - "http://www.xn--8ws00zhy3a.com/atomtests/iri/%E8%A9%B9.html" do - expect(@uri.normalize.to_s).to eq( - "http://www.xn--8ws00zhy3a.com/atomtests/iri/%E8%A9%B9.html" - ) - expect(@uri.normalize!.to_s).to eq( - "http://www.xn--8ws00zhy3a.com/atomtests/iri/%E8%A9%B9.html" - ) - end -end - -describe Addressable::URI, "when parsed from a percent-encoded IRI" do - before do - @uri = Addressable::URI.parse( - "http://www.%E3%81%BB%E3%82%93%E3%81%A8%E3%81%86%E3%81%AB%E3%81%AA" + - "%E3%81%8C%E3%81%84%E3%82%8F%E3%81%91%E3%81%AE%E3%82%8F%E3%81%8B%E3" + - "%82%89%E3%81%AA%E3%81%84%E3%81%A9%E3%82%81%E3%81%84%E3%82%93%E3%82" + - "%81%E3%81%84%E3%81%AE%E3%82%89%E3%81%B9%E3%82%8B%E3%81%BE%E3%81%A0" + - "%E3%81%AA%E3%81%8C%E3%81%8F%E3%81%97%E3%81%AA%E3%81%84%E3%81%A8%E3" + - "%81%9F%E3%82%8A%E3%81%AA%E3%81%84.w3.mag.keio.ac.jp" - ) - end - - it "should normalize to something sane" do - expect(@uri.normalize.to_s).to eq( - "http://www.xn--n8jaaaaai5bhf7as8fsfk3jnknefdde3f" + - "g11amb5gzdb4wi9bya3kc6lra.w3.mag.keio.ac.jp/" - ) - expect(@uri.normalize!.to_s).to eq( - "http://www.xn--n8jaaaaai5bhf7as8fsfk3jnknefdde3f" + - "g11amb5gzdb4wi9bya3kc6lra.w3.mag.keio.ac.jp/" - ) - end - - it "should have the correct origin" do - expect(@uri.origin).to eq( - "http://www.xn--n8jaaaaai5bhf7as8fsfk3jnknefdde3f" + - "g11amb5gzdb4wi9bya3kc6lra.w3.mag.keio.ac.jp" - ) - end -end - -describe Addressable::URI, "with a base uri of 'http://a/b/c/d;p?q'" do - before do - @uri = Addressable::URI.parse("http://a/b/c/d;p?q") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g:h' should resolve to g:h" do - expect((@uri + "g:h").to_s).to eq("g:h") - expect(Addressable::URI.join(@uri, "g:h").to_s).to eq("g:h") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g' should resolve to http://a/b/c/g" do - expect((@uri + "g").to_s).to eq("http://a/b/c/g") - expect(Addressable::URI.join(@uri.to_s, "g").to_s).to eq("http://a/b/c/g") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with './g' should resolve to http://a/b/c/g" do - expect((@uri + "./g").to_s).to eq("http://a/b/c/g") - expect(Addressable::URI.join(@uri.to_s, "./g").to_s).to eq("http://a/b/c/g") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g/' should resolve to http://a/b/c/g/" do - expect((@uri + "g/").to_s).to eq("http://a/b/c/g/") - expect(Addressable::URI.join(@uri.to_s, "g/").to_s).to eq("http://a/b/c/g/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '/g' should resolve to http://a/g" do - expect((@uri + "/g").to_s).to eq("http://a/g") - expect(Addressable::URI.join(@uri.to_s, "/g").to_s).to eq("http://a/g") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '//g' should resolve to http://g" do - expect((@uri + "//g").to_s).to eq("http://g") - expect(Addressable::URI.join(@uri.to_s, "//g").to_s).to eq("http://g") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '?y' should resolve to http://a/b/c/d;p?y" do - expect((@uri + "?y").to_s).to eq("http://a/b/c/d;p?y") - expect(Addressable::URI.join(@uri.to_s, "?y").to_s).to eq("http://a/b/c/d;p?y") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g?y' should resolve to http://a/b/c/g?y" do - expect((@uri + "g?y").to_s).to eq("http://a/b/c/g?y") - expect(Addressable::URI.join(@uri.to_s, "g?y").to_s).to eq("http://a/b/c/g?y") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '#s' should resolve to http://a/b/c/d;p?q#s" do - expect((@uri + "#s").to_s).to eq("http://a/b/c/d;p?q#s") - expect(Addressable::URI.join(@uri.to_s, "#s").to_s).to eq( - "http://a/b/c/d;p?q#s" - ) - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g#s' should resolve to http://a/b/c/g#s" do - expect((@uri + "g#s").to_s).to eq("http://a/b/c/g#s") - expect(Addressable::URI.join(@uri.to_s, "g#s").to_s).to eq("http://a/b/c/g#s") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g?y#s' should resolve to http://a/b/c/g?y#s" do - expect((@uri + "g?y#s").to_s).to eq("http://a/b/c/g?y#s") - expect(Addressable::URI.join( - @uri.to_s, "g?y#s").to_s).to eq("http://a/b/c/g?y#s") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with ';x' should resolve to http://a/b/c/;x" do - expect((@uri + ";x").to_s).to eq("http://a/b/c/;x") - expect(Addressable::URI.join(@uri.to_s, ";x").to_s).to eq("http://a/b/c/;x") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g;x' should resolve to http://a/b/c/g;x" do - expect((@uri + "g;x").to_s).to eq("http://a/b/c/g;x") - expect(Addressable::URI.join(@uri.to_s, "g;x").to_s).to eq("http://a/b/c/g;x") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with 'g;x?y#s' should resolve to http://a/b/c/g;x?y#s" do - expect((@uri + "g;x?y#s").to_s).to eq("http://a/b/c/g;x?y#s") - expect(Addressable::URI.join( - @uri.to_s, "g;x?y#s").to_s).to eq("http://a/b/c/g;x?y#s") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '' should resolve to http://a/b/c/d;p?q" do - expect((@uri + "").to_s).to eq("http://a/b/c/d;p?q") - expect(Addressable::URI.join(@uri.to_s, "").to_s).to eq("http://a/b/c/d;p?q") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '.' should resolve to http://a/b/c/" do - expect((@uri + ".").to_s).to eq("http://a/b/c/") - expect(Addressable::URI.join(@uri.to_s, ".").to_s).to eq("http://a/b/c/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with './' should resolve to http://a/b/c/" do - expect((@uri + "./").to_s).to eq("http://a/b/c/") - expect(Addressable::URI.join(@uri.to_s, "./").to_s).to eq("http://a/b/c/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '..' should resolve to http://a/b/" do - expect((@uri + "..").to_s).to eq("http://a/b/") - expect(Addressable::URI.join(@uri.to_s, "..").to_s).to eq("http://a/b/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '../' should resolve to http://a/b/" do - expect((@uri + "../").to_s).to eq("http://a/b/") - expect(Addressable::URI.join(@uri.to_s, "../").to_s).to eq("http://a/b/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '../g' should resolve to http://a/b/g" do - expect((@uri + "../g").to_s).to eq("http://a/b/g") - expect(Addressable::URI.join(@uri.to_s, "../g").to_s).to eq("http://a/b/g") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '../..' should resolve to http://a/" do - expect((@uri + "../..").to_s).to eq("http://a/") - expect(Addressable::URI.join(@uri.to_s, "../..").to_s).to eq("http://a/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '../../' should resolve to http://a/" do - expect((@uri + "../../").to_s).to eq("http://a/") - expect(Addressable::URI.join(@uri.to_s, "../../").to_s).to eq("http://a/") - end - - # Section 5.4.1 of RFC 3986 - it "when joined with '../../g' should resolve to http://a/g" do - expect((@uri + "../../g").to_s).to eq("http://a/g") - expect(Addressable::URI.join(@uri.to_s, "../../g").to_s).to eq("http://a/g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with '../../../g' should resolve to http://a/g" do - expect((@uri + "../../../g").to_s).to eq("http://a/g") - expect(Addressable::URI.join(@uri.to_s, "../../../g").to_s).to eq("http://a/g") - end - - it "when joined with '../.././../g' should resolve to http://a/g" do - expect((@uri + "../.././../g").to_s).to eq("http://a/g") - expect(Addressable::URI.join(@uri.to_s, "../.././../g").to_s).to eq( - "http://a/g" - ) - end - - # Section 5.4.2 of RFC 3986 - it "when joined with '../../../../g' should resolve to http://a/g" do - expect((@uri + "../../../../g").to_s).to eq("http://a/g") - expect(Addressable::URI.join( - @uri.to_s, "../../../../g").to_s).to eq("http://a/g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with '/./g' should resolve to http://a/g" do - expect((@uri + "/./g").to_s).to eq("http://a/g") - expect(Addressable::URI.join(@uri.to_s, "/./g").to_s).to eq("http://a/g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with '/../g' should resolve to http://a/g" do - expect((@uri + "/../g").to_s).to eq("http://a/g") - expect(Addressable::URI.join(@uri.to_s, "/../g").to_s).to eq("http://a/g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g.' should resolve to http://a/b/c/g." do - expect((@uri + "g.").to_s).to eq("http://a/b/c/g.") - expect(Addressable::URI.join(@uri.to_s, "g.").to_s).to eq("http://a/b/c/g.") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with '.g' should resolve to http://a/b/c/.g" do - expect((@uri + ".g").to_s).to eq("http://a/b/c/.g") - expect(Addressable::URI.join(@uri.to_s, ".g").to_s).to eq("http://a/b/c/.g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g..' should resolve to http://a/b/c/g.." do - expect((@uri + "g..").to_s).to eq("http://a/b/c/g..") - expect(Addressable::URI.join(@uri.to_s, "g..").to_s).to eq("http://a/b/c/g..") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with '..g' should resolve to http://a/b/c/..g" do - expect((@uri + "..g").to_s).to eq("http://a/b/c/..g") - expect(Addressable::URI.join(@uri.to_s, "..g").to_s).to eq("http://a/b/c/..g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with './../g' should resolve to http://a/b/g" do - expect((@uri + "./../g").to_s).to eq("http://a/b/g") - expect(Addressable::URI.join(@uri.to_s, "./../g").to_s).to eq("http://a/b/g") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with './g/.' should resolve to http://a/b/c/g/" do - expect((@uri + "./g/.").to_s).to eq("http://a/b/c/g/") - expect(Addressable::URI.join(@uri.to_s, "./g/.").to_s).to eq("http://a/b/c/g/") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g/./h' should resolve to http://a/b/c/g/h" do - expect((@uri + "g/./h").to_s).to eq("http://a/b/c/g/h") - expect(Addressable::URI.join(@uri.to_s, "g/./h").to_s).to eq("http://a/b/c/g/h") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g/../h' should resolve to http://a/b/c/h" do - expect((@uri + "g/../h").to_s).to eq("http://a/b/c/h") - expect(Addressable::URI.join(@uri.to_s, "g/../h").to_s).to eq("http://a/b/c/h") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g;x=1/./y' " + - "should resolve to http://a/b/c/g;x=1/y" do - expect((@uri + "g;x=1/./y").to_s).to eq("http://a/b/c/g;x=1/y") - expect(Addressable::URI.join( - @uri.to_s, "g;x=1/./y").to_s).to eq("http://a/b/c/g;x=1/y") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g;x=1/../y' should resolve to http://a/b/c/y" do - expect((@uri + "g;x=1/../y").to_s).to eq("http://a/b/c/y") - expect(Addressable::URI.join( - @uri.to_s, "g;x=1/../y").to_s).to eq("http://a/b/c/y") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g?y/./x' " + - "should resolve to http://a/b/c/g?y/./x" do - expect((@uri + "g?y/./x").to_s).to eq("http://a/b/c/g?y/./x") - expect(Addressable::URI.join( - @uri.to_s, "g?y/./x").to_s).to eq("http://a/b/c/g?y/./x") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g?y/../x' " + - "should resolve to http://a/b/c/g?y/../x" do - expect((@uri + "g?y/../x").to_s).to eq("http://a/b/c/g?y/../x") - expect(Addressable::URI.join( - @uri.to_s, "g?y/../x").to_s).to eq("http://a/b/c/g?y/../x") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g#s/./x' " + - "should resolve to http://a/b/c/g#s/./x" do - expect((@uri + "g#s/./x").to_s).to eq("http://a/b/c/g#s/./x") - expect(Addressable::URI.join( - @uri.to_s, "g#s/./x").to_s).to eq("http://a/b/c/g#s/./x") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'g#s/../x' " + - "should resolve to http://a/b/c/g#s/../x" do - expect((@uri + "g#s/../x").to_s).to eq("http://a/b/c/g#s/../x") - expect(Addressable::URI.join( - @uri.to_s, "g#s/../x").to_s).to eq("http://a/b/c/g#s/../x") - end - - # Section 5.4.2 of RFC 3986 - it "when joined with 'http:g' should resolve to http:g" do - expect((@uri + "http:g").to_s).to eq("http:g") - expect(Addressable::URI.join(@uri.to_s, "http:g").to_s).to eq("http:g") - end - - # Edge case to be sure - it "when joined with '//example.com/' should " + - "resolve to http://example.com/" do - expect((@uri + "//example.com/").to_s).to eq("http://example.com/") - expect(Addressable::URI.join( - @uri.to_s, "//example.com/").to_s).to eq("http://example.com/") - end - - it "when joined with a bogus object a TypeError should be raised" do - expect do - Addressable::URI.join(@uri, 42) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when converting the path " + - "'relative/path/to/something'" do - before do - @path = 'relative/path/to/something' - end - - it "should convert to " + - "\'relative/path/to/something\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("relative/path/to/something") - end - - it "should join with an absolute file path correctly" do - @base = Addressable::URI.convert_path("/absolute/path/") - @uri = Addressable::URI.convert_path(@path) - expect((@base + @uri).to_str).to eq( - "file:///absolute/path/relative/path/to/something" - ) - end -end - -describe Addressable::URI, "when converting a bogus path" do - it "should raise a TypeError" do - expect do - Addressable::URI.convert_path(42) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when given a UNIX root directory" do - before do - @path = "/" - end - - it "should convert to \'file:///\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given a Windows root directory" do - before do - @path = "C:\\" - end - - it "should convert to \'file:///c:/\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///c:/") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given the path '/one/two/'" do - before do - @path = '/one/two/' - end - - it "should convert to " + - "\'file:///one/two/\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///one/two/") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given the tld " do - it "'uk' should have a tld of 'uk'" do - uri = Addressable::URI.parse("http://example.com") - uri.tld = "uk" - - expect(uri.tld).to eq("uk") - end - - context "which " do - let (:uri) { Addressable::URI.parse("http://www.comrade.net/path/to/source/") } - - it "contains a subdomain" do - uri.tld = "co.uk" - - expect(uri.to_s).to eq("http://www.comrade.co.uk/path/to/source/") - end - - it "is part of the domain" do - uri.tld = "com" - - expect(uri.to_s).to eq("http://www.comrade.com/path/to/source/") - end - end -end - -describe Addressable::URI, "when given the path " + - "'c:\\windows\\My Documents 100%20\\foo.txt'" do - before do - @path = "c:\\windows\\My Documents 100%20\\foo.txt" - end - - it "should convert to " + - "\'file:///c:/windows/My%20Documents%20100%20/foo.txt\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///c:/windows/My%20Documents%20100%20/foo.txt") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given the path " + - "'file://c:\\windows\\My Documents 100%20\\foo.txt'" do - before do - @path = "file://c:\\windows\\My Documents 100%20\\foo.txt" - end - - it "should convert to " + - "\'file:///c:/windows/My%20Documents%20100%20/foo.txt\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///c:/windows/My%20Documents%20100%20/foo.txt") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given the path " + - "'file:c:\\windows\\My Documents 100%20\\foo.txt'" do - before do - @path = "file:c:\\windows\\My Documents 100%20\\foo.txt" - end - - it "should convert to " + - "\'file:///c:/windows/My%20Documents%20100%20/foo.txt\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///c:/windows/My%20Documents%20100%20/foo.txt") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given the path " + - "'file:/c:\\windows\\My Documents 100%20\\foo.txt'" do - before do - @path = "file:/c:\\windows\\My Documents 100%20\\foo.txt" - end - - it "should convert to " + - "\'file:///c:/windows/My%20Documents%20100%20/foo.txt\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///c:/windows/My%20Documents%20100%20/foo.txt") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given the path " + - "'file:///c|/windows/My%20Documents%20100%20/foo.txt'" do - before do - @path = "file:///c|/windows/My%20Documents%20100%20/foo.txt" - end - - it "should convert to " + - "\'file:///c:/windows/My%20Documents%20100%20/foo.txt\'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("file:///c:/windows/My%20Documents%20100%20/foo.txt") - end - - it "should have an origin of 'file://'" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.origin).to eq('file://') - end -end - -describe Addressable::URI, "when given an http protocol URI" do - before do - @path = "http://example.com/" - end - - it "should not do any conversion at all" do - @uri = Addressable::URI.convert_path(@path) - expect(@uri.to_str).to eq("http://example.com/") - end -end - -class SuperString - def initialize(string) - @string = string.to_s - end - - def to_str - return @string - end -end - -describe Addressable::URI, "when parsing a non-String object" do - it "should correctly parse anything with a 'to_str' method" do - Addressable::URI.parse(SuperString.new(42)) - end - - it "should raise a TypeError for objects than cannot be converted" do - expect do - Addressable::URI.parse(42) - end.to raise_error(TypeError) - end - - it "should correctly parse heuristically anything with a 'to_str' method" do - Addressable::URI.heuristic_parse(SuperString.new(42)) - end - - it "should raise a TypeError for objects than cannot be converted" do - expect do - Addressable::URI.heuristic_parse(42) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when form encoding a hash" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.form_encode( - [["&one", "/1"], ["=two", "?2"], [":three", "#3"]] - )).to eq("%26one=%2F1&%3Dtwo=%3F2&%3Athree=%233") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.form_encode( - {"q" => "one two three"} - )).to eq("q=one+two+three") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.form_encode( - {"key" => nil} - )).to eq("key=") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.form_encode( - {"q" => ["one", "two", "three"]} - )).to eq("q=one&q=two&q=three") - end - - it "should result in correctly encoded newlines" do - expect(Addressable::URI.form_encode( - {"text" => "one\ntwo\rthree\r\nfour\n\r"} - )).to eq("text=one%0D%0Atwo%0D%0Athree%0D%0Afour%0D%0A%0D%0A") - end - - it "should result in a sorted percent encoded sequence" do - expect(Addressable::URI.form_encode( - [["a", "1"], ["dup", "3"], ["dup", "2"]], true - )).to eq("a=1&dup=2&dup=3") - end -end - -describe Addressable::URI, "when form encoding a non-Array object" do - it "should raise a TypeError for objects than cannot be converted" do - expect do - Addressable::URI.form_encode(42) - end.to raise_error(TypeError) - end -end - -# See https://tools.ietf.org/html/rfc6749#appendix-B -describe Addressable::URI, "when form encoding the example value from OAuth 2" do - it "should result in correct values" do - expect(Addressable::URI.form_encode( - {"value" => " %&+£€"} - )).to eq("value=+%25%26%2B%C2%A3%E2%82%AC") - end -end - -# See https://tools.ietf.org/html/rfc6749#appendix-B -describe Addressable::URI, "when form unencoding the example value from OAuth 2" do - it "should result in correct values" do - expect(Addressable::URI.form_unencode( - "value=+%25%26%2B%C2%A3%E2%82%AC" - )).to eq([["value", " %&+£€"]]) - end -end - -describe Addressable::URI, "when form unencoding a string" do - it "should result in correct values" do - expect(Addressable::URI.form_unencode( - "%26one=%2F1&%3Dtwo=%3F2&%3Athree=%233" - )).to eq([["&one", "/1"], ["=two", "?2"], [":three", "#3"]]) - end - - it "should result in correct values" do - expect(Addressable::URI.form_unencode( - "q=one+two+three" - )).to eq([["q", "one two three"]]) - end - - it "should result in correct values" do - expect(Addressable::URI.form_unencode( - "text=one%0D%0Atwo%0D%0Athree%0D%0Afour%0D%0A%0D%0A" - )).to eq([["text", "one\ntwo\nthree\nfour\n\n"]]) - end - - it "should result in correct values" do - expect(Addressable::URI.form_unencode( - "a=1&dup=2&dup=3" - )).to eq([["a", "1"], ["dup", "2"], ["dup", "3"]]) - end - - it "should result in correct values" do - expect(Addressable::URI.form_unencode( - "key" - )).to eq([["key", nil]]) - end - - it "should result in correct values" do - expect(Addressable::URI.form_unencode("GivenName=Ren%C3%A9")).to eq( - [["GivenName", "René"]] - ) - end -end - -describe Addressable::URI, "when form unencoding a non-String object" do - it "should correctly parse anything with a 'to_str' method" do - Addressable::URI.form_unencode(SuperString.new(42)) - end - - it "should raise a TypeError for objects than cannot be converted" do - expect do - Addressable::URI.form_unencode(42) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when normalizing a non-String object" do - it "should correctly parse anything with a 'to_str' method" do - Addressable::URI.normalize_component(SuperString.new(42)) - end - - it "should raise a TypeError for objects than cannot be converted" do - expect do - Addressable::URI.normalize_component(42) - end.to raise_error(TypeError) - end - - it "should raise a TypeError for objects than cannot be converted" do - expect do - Addressable::URI.normalize_component("component", 42) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when normalizing a path with an encoded slash" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.parse("/path%2Fsegment/").normalize.path).to eq( - "/path%2Fsegment/" - ) - end -end - -describe Addressable::URI, "when normalizing a path with special unicode" do - it "does not stop at or ignore null bytes" do - expect(Addressable::URI.parse("/path%00segment/").normalize.path).to eq( - "/path%00segment/" - ) - end - - it "does apply NFC unicode normalization" do - expect(Addressable::URI.parse("/%E2%84%A6").normalize.path).to eq( - "/%CE%A9" - ) - end - - it "does not apply NFKC unicode normalization" do - expect(Addressable::URI.parse("/%C2%AF%C2%A0").normalize.path).to eq( - "/%C2%AF%C2%A0" - ) - end -end - -describe Addressable::URI, "when normalizing a partially encoded string" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component( - "partially % encoded%21" - )).to eq("partially%20%25%20encoded!") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component( - "partially %25 encoded!" - )).to eq("partially%20%25%20encoded!") - end -end - -describe Addressable::URI, "when normalizing a unicode sequence" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component( - "/C%CC%A7" - )).to eq("/%C3%87") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component( - "/%C3%87" - )).to eq("/%C3%87") - end -end - -describe Addressable::URI, "when normalizing a multibyte string" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component("günther")).to eq( - "g%C3%BCnther" - ) - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component("g%C3%BCnther")).to eq( - "g%C3%BCnther" - ) - end -end - -describe Addressable::URI, "when normalizing a string but leaving some characters encoded" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.normalize_component("%58X%59Y%5AZ", "0-9a-zXY", "Y")).to eq( - "XX%59Y%5A%5A" - ) - end - - it "should not modify the character class" do - character_class = "0-9a-zXY" - - character_class_copy = character_class.dup - - Addressable::URI.normalize_component("%58X%59Y%5AZ", character_class, "Y") - - expect(character_class).to eq(character_class_copy) - end -end - -describe Addressable::URI, "when encoding IP literals" do - it "should work for IPv4" do - input = "http://127.0.0.1/" - expect(Addressable::URI.encode(input)).to eq(input) - end - - it "should work for IPv6" do - input = "http://[fe80::200:f8ff:fe21:67cf]/" - expect(Addressable::URI.encode(input)).to eq(input) - end -end - -describe Addressable::URI, "when encoding a string with existing encodings to upcase" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.encode_component("JK%4c", "0-9A-IKM-Za-z%", "L")).to eq("%4AK%4C") - end -end - -describe Addressable::URI, "when encoding a multibyte string" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.encode_component("günther")).to eq("g%C3%BCnther") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.encode_component( - "günther", /[^a-zA-Z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\-\.\_\~]/ - )).to eq("g%C3%BCnther") - end -end - -describe Addressable::URI, "when form encoding a multibyte string" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.form_encode({"GivenName" => "René"})).to eq( - "GivenName=Ren%C3%A9" - ) - end -end - -describe Addressable::URI, "when encoding a string with ASCII chars 0-15" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.encode_component("one\ntwo")).to eq("one%0Atwo") - end - - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.encode_component( - "one\ntwo", /[^a-zA-Z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\-\.\_\~]/ - )).to eq("one%0Atwo") - end -end - -describe Addressable::URI, "when unencoding a multibyte string" do - it "should result in correct percent encoded sequence" do - expect(Addressable::URI.unencode_component("g%C3%BCnther")).to eq("günther") - end - - it "should consistently use UTF-8 internally" do - expect(Addressable::URI.unencode_component("ski=%BA%DAɫ")).to eq("ski=\xBA\xDAɫ") - end - - it "should not fail with UTF-8 incompatible string" do - url = "/M%E9/\xE9?p=\xFC".b - expect(Addressable::URI.unencode_component(url)).to eq("/M\xE9/\xE9?p=\xFC") - end - - it "should result in correct percent encoded sequence as a URI" do - expect(Addressable::URI.unencode( - "/path?g%C3%BCnther", ::Addressable::URI - )).to eq(Addressable::URI.new( - :path => "/path", :query => "günther" - )) - end -end - -describe Addressable::URI, "when partially unencoding a string" do - it "should unencode all characters by default" do - expect(Addressable::URI.unencode('%%25~%7e+%2b', String)).to eq('%%~~++') - end - - it "should unencode characters not in leave_encoded" do - expect(Addressable::URI.unencode('%%25~%7e+%2b', String, '~')).to eq('%%~%7e++') - end - - it "should leave characters in leave_encoded alone" do - expect(Addressable::URI.unencode('%%25~%7e+%2b', String, '%~+')).to eq('%%25~%7e+%2b') - end -end - -describe Addressable::URI, "when unencoding a bogus object" do - it "should raise a TypeError" do - expect do - Addressable::URI.unencode_component(42) - end.to raise_error(TypeError) - end - - it "should raise a TypeError" do - expect do - Addressable::URI.unencode("/path?g%C3%BCnther", Integer) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when encoding a bogus object" do - it "should raise a TypeError" do - expect do - Addressable::URI.encode(Object.new) - end.to raise_error(TypeError) - end - - it "should raise a TypeError" do - expect do - Addressable::URI.normalized_encode(Object.new) - end.to raise_error(TypeError) - end - - it "should raise a TypeError" do - expect do - Addressable::URI.encode_component("günther", Object.new) - end.to raise_error(TypeError) - end - - it "should raise a TypeError" do - expect do - Addressable::URI.encode_component(Object.new) - end.to raise_error(TypeError) - end -end - -describe Addressable::URI, "when given the input " + - "'http://example.com/'" do - before do - @input = "http://example.com/" - end - - it "should heuristically parse to 'http://example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com/") - end - - it "should not raise error when frozen" do - expect do - Addressable::URI.heuristic_parse(@input).freeze.to_s - end.not_to raise_error - end -end - -describe Addressable::URI, "when given the input " + - "'https://example.com/'" do - before do - @input = "https://example.com/" - end - - it "should heuristically parse to 'https://example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("https://example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'http:example.com/'" do - before do - @input = "http:example.com/" - end - - it "should heuristically parse to 'http://example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com/") - end - - it "should heuristically parse to 'http://example.com/' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'https:example.com/'" do - before do - @input = "https:example.com/" - end - - it "should heuristically parse to 'https://example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("https://example.com/") - end - - it "should heuristically parse to 'https://example.com/' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("https://example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'http://example.com/example.com/'" do - before do - @input = "http://example.com/example.com/" - end - - it "should heuristically parse to 'http://example.com/example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com/example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'http://prefix\\.example.com/'" do - before do - @input = "http://prefix\\.example.com/" - end - - it "should heuristically parse to 'http://prefix/.example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.authority).to eq("prefix") - expect(@uri.to_s).to eq("http://prefix/.example.com/") - end - - it "should heuristically parse to 'http://prefix/.example.com/' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://prefix/.example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'http://p:\\/'" do - before do - @input = "http://p:\\/" - end - - it "should heuristically parse to 'http://p//'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.authority).to eq("p") - expect(@uri.to_s).to eq("http://p//") - end - - it "should heuristically parse to 'http://p//' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://p//") - end -end - -describe Addressable::URI, "when given the input " + - "'http://p://'" do - before do - @input = "http://p://" - end - - it "should heuristically parse to 'http://p//'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.authority).to eq("p") - expect(@uri.to_s).to eq("http://p//") - end - - it "should heuristically parse to 'http://p//' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://p//") - end -end - -describe Addressable::URI, "when given the input " + - "'http://p://p'" do - before do - @input = "http://p://p" - end - - it "should heuristically parse to 'http://p//p'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.authority).to eq("p") - expect(@uri.to_s).to eq("http://p//p") - end - - it "should heuristically parse to 'http://p//p' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://p//p") - end -end - -describe Addressable::URI, "when given the input " + - "'http://prefix .example.com/'" do - before do - @input = "http://prefix .example.com/" - end - - # Justification here being that no browser actually tries to resolve this. - # They all treat this as a web search. - it "should heuristically parse to 'http://prefix%20.example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.authority).to eq("prefix%20.example.com") - expect(@uri.to_s).to eq("http://prefix%20.example.com/") - end - - it "should heuristically parse to 'http://prefix%20.example.com/' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://prefix%20.example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "' http://www.example.com/ '" do - before do - @input = " http://www.example.com/ " - end - - it "should heuristically parse to 'http://prefix%20.example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.scheme).to eq("http") - expect(@uri.path).to eq("/") - expect(@uri.to_s).to eq("http://www.example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'http://prefix%2F.example.com/'" do - before do - @input = "http://prefix%2F.example.com/" - end - - it "should heuristically parse to 'http://prefix%2F.example.com/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.authority).to eq("prefix%2F.example.com") - expect(@uri.to_s).to eq("http://prefix%2F.example.com/") - end - - it "should heuristically parse to 'http://prefix%2F.example.com/' " + - "even with a scheme hint of 'ftp'" do - @uri = Addressable::URI.heuristic_parse(@input, {:scheme => 'ftp'}) - expect(@uri.to_s).to eq("http://prefix%2F.example.com/") - end -end - -describe Addressable::URI, "when given the input " + - "'/path/to/resource'" do - before do - @input = "/path/to/resource" - end - - it "should heuristically parse to '/path/to/resource'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("/path/to/resource") - end -end - -describe Addressable::URI, "when given the input " + - "'relative/path/to/resource'" do - before do - @input = "relative/path/to/resource" - end - - it "should heuristically parse to 'relative/path/to/resource'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("relative/path/to/resource") - end -end - -describe Addressable::URI, "when given the input " + - "'example.com'" do - before do - @input = "example.com" - end - - it "should heuristically parse to 'http://example.com'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com") - end -end - -describe Addressable::URI, "when given the input " + - "'example.com' and a scheme hint of 'ftp'" do - before do - @input = "example.com" - @hints = {:scheme => 'ftp'} - end - - it "should heuristically parse to 'http://example.com'" do - @uri = Addressable::URI.heuristic_parse(@input, @hints) - expect(@uri.to_s).to eq("ftp://example.com") - end -end - -describe Addressable::URI, "when given the input " + - "'example.com:21' and a scheme hint of 'ftp'" do - before do - @input = "example.com:21" - @hints = {:scheme => 'ftp'} - end - - it "should heuristically parse to 'http://example.com:21'" do - @uri = Addressable::URI.heuristic_parse(@input, @hints) - expect(@uri.to_s).to eq("ftp://example.com:21") - end -end - -describe Addressable::URI, "when given the input " + - "'example.com/path/to/resource'" do - before do - @input = "example.com/path/to/resource" - end - - it "should heuristically parse to 'http://example.com/path/to/resource'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com/path/to/resource") - end -end - -describe Addressable::URI, "when given the input " + - "'http:///example.com'" do - before do - @input = "http:///example.com" - end - - it "should heuristically parse to 'http://example.com'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com") - end -end - -describe Addressable::URI, "when given the input which "\ - "start with digits and has specified port" do - before do - @input = "7777.example.org:8089" - end - - it "should heuristically parse to 'http://7777.example.org:8089'" do - uri = Addressable::URI.heuristic_parse(@input) - expect(uri.to_s).to eq("http://7777.example.org:8089") - end -end - -describe Addressable::URI, "when given the input " + - "'feed:///example.com'" do - before do - @input = "feed:///example.com" - end - - it "should heuristically parse to 'feed://example.com'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("feed://example.com") - end -end - -describe Addressable::URI, "when given the input " + - "'file://localhost/path/to/resource/'" do - before do - @input = "file://localhost/path/to/resource/" - end - - it "should heuristically parse to 'file:///path/to/resource/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("file:///path/to/resource/") - end -end - -describe Addressable::URI, "when given the input " + - "'file://path/to/resource/'" do - before do - @input = "file://path/to/resource/" - end - - it "should heuristically parse to 'file:///path/to/resource/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("file:///path/to/resource/") - end -end - -describe Addressable::URI, "when given the input " + - "'file://///path/to/resource/'" do - before do - @input = "file:///////path/to/resource/" - end - - it "should heuristically parse to 'file:////path/to/resource/'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("file:////path/to/resource/") - end -end - -describe Addressable::URI, "when given the input " + - "'feed://http://example.com'" do - before do - @input = "feed://http://example.com" - end - - it "should heuristically parse to 'feed:http://example.com'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("feed:http://example.com") - end -end - -describe Addressable::URI, "when given the input " + - "::URI.parse('http://example.com')" do - before do - @input = ::URI.parse('http://example.com') - end - - it "should heuristically parse to 'http://example.com'" do - @uri = Addressable::URI.heuristic_parse(@input) - expect(@uri.to_s).to eq("http://example.com") - end -end - -describe Addressable::URI, "when given the input: 'user@domain.com'" do - before do - @input = "user@domain.com" - end - - context "for heuristic parse" do - it "should remain 'mailto:user@domain.com'" do - uri = Addressable::URI.heuristic_parse("mailto:#{@input}") - expect(uri.to_s).to eq("mailto:user@domain.com") - end - - it "should have a scheme of 'mailto'" do - uri = Addressable::URI.heuristic_parse(@input) - expect(uri.to_s).to eq("mailto:user@domain.com") - expect(uri.scheme).to eq("mailto") - end - - it "should remain 'acct:user@domain.com'" do - uri = Addressable::URI.heuristic_parse("acct:#{@input}") - expect(uri.to_s).to eq("acct:user@domain.com") - end - - context "HTTP" do - before do - @uri = Addressable::URI.heuristic_parse("http://#{@input}/") - end - - it "should remain 'http://user@domain.com/'" do - expect(@uri.to_s).to eq("http://user@domain.com/") - end - - it "should have the username 'user' for HTTP basic authentication" do - expect(@uri.user).to eq("user") - end - end - end -end - -describe Addressable::URI, "when assigning query values" do - before do - @uri = Addressable::URI.new - end - - it "should correctly assign {:a => 'a', :b => ['c', 'd', 'e']}" do - @uri.query_values = {:a => "a", :b => ["c", "d", "e"]} - expect(@uri.query).to eq("a=a&b=c&b=d&b=e") - end - - it "should raise an error attempting to assign {'a' => {'b' => ['c']}}" do - expect do - @uri.query_values = { 'a' => {'b' => ['c'] } } - end.to raise_error(TypeError) - end - - it "should raise an error attempting to assign " + - "{:b => '2', :a => {:c => '1'}}" do - expect do - @uri.query_values = {:b => '2', :a => {:c => '1'}} - end.to raise_error(TypeError) - end - - it "should raise an error attempting to assign " + - "{:a => 'a', :b => [{:c => 'c', :d => 'd'}, " + - "{:e => 'e', :f => 'f'}]}" do - expect do - @uri.query_values = { - :a => "a", :b => [{:c => "c", :d => "d"}, {:e => "e", :f => "f"}] - } - end.to raise_error(TypeError) - end - - it "should raise an error attempting to assign " + - "{:a => 'a', :b => [{:c => true, :d => 'd'}, " + - "{:e => 'e', :f => 'f'}]}" do - expect do - @uri.query_values = { - :a => 'a', :b => [{:c => true, :d => 'd'}, {:e => 'e', :f => 'f'}] - } - end.to raise_error(TypeError) - end - - it "should raise an error attempting to assign " + - "{:a => 'a', :b => {:c => true, :d => 'd'}}" do - expect do - @uri.query_values = { - :a => 'a', :b => {:c => true, :d => 'd'} - } - end.to raise_error(TypeError) - end - - it "should raise an error attempting to assign " + - "{:a => 'a', :b => {:c => true, :d => 'd'}}" do - expect do - @uri.query_values = { - :a => 'a', :b => {:c => true, :d => 'd'} - } - end.to raise_error(TypeError) - end - - it "should correctly assign {:a => 1, :b => 1.5}" do - @uri.query_values = { :a => 1, :b => 1.5 } - expect(@uri.query).to eq("a=1&b=1.5") - end - - it "should raise an error attempting to assign " + - "{:z => 1, :f => [2, {999.1 => [3,'4']}, ['h', 'i']], " + - ":a => {:b => ['c', 'd'], :e => true, :y => 0.5}}" do - expect do - @uri.query_values = { - :z => 1, - :f => [ 2, {999.1 => [3,'4']}, ['h', 'i'] ], - :a => { :b => ['c', 'd'], :e => true, :y => 0.5 } - } - end.to raise_error(TypeError) - end - - it "should correctly assign {}" do - @uri.query_values = {} - expect(@uri.query).to eq('') - end - - it "should correctly assign nil" do - @uri.query_values = nil - expect(@uri.query).to eq(nil) - end - - it "should correctly sort {'ab' => 'c', :ab => 'a', :a => 'x'}" do - @uri.query_values = {'ab' => 'c', :ab => 'a', :a => 'x'} - expect(@uri.query).to eq("a=x&ab=a&ab=c") - end - - it "should correctly assign " + - "[['b', 'c'], ['b', 'a'], ['a', 'a']]" do - # Order can be guaranteed in this format, so preserve it. - @uri.query_values = [['b', 'c'], ['b', 'a'], ['a', 'a']] - expect(@uri.query).to eq("b=c&b=a&a=a") - end - - it "should preserve query string order" do - query_string = (('a'..'z').to_a.reverse.map { |e| "#{e}=#{e}" }).join("&") - @uri.query = query_string - original_uri = @uri.to_s - @uri.query_values = @uri.query_values(Array) - expect(@uri.to_s).to eq(original_uri) - end - - describe 'when a hash with mixed types is assigned to query_values' do - it 'should not raise an error' do - skip 'Issue #94' - expect { subject.query_values = { "page" => "1", :page => 2 } }.to_not raise_error - end - end -end - -describe Addressable::URI, "when assigning path values" do - before do - @uri = Addressable::URI.new - end - - it "should correctly assign paths containing colons" do - @uri.path = "acct:bob@sporkmonger.com" - expect(@uri.path).to eq("acct:bob@sporkmonger.com") - expect(@uri.normalize.to_str).to eq("acct%2Fbob@sporkmonger.com") - expect { @uri.to_s }.to raise_error( - Addressable::URI::InvalidURIError - ) - end - - it "should correctly assign paths containing colons" do - @uri.path = "/acct:bob@sporkmonger.com" - @uri.authority = "example.com" - expect(@uri.normalize.to_str).to eq("//example.com/acct:bob@sporkmonger.com") - end - - it "should correctly assign paths containing colons" do - @uri.path = "acct:bob@sporkmonger.com" - @uri.scheme = "something" - expect(@uri.normalize.to_str).to eq("something:acct:bob@sporkmonger.com") - end - - it "should not allow relative paths to be assigned on absolute URIs" do - expect do - @uri.scheme = "http" - @uri.host = "example.com" - @uri.path = "acct:bob@sporkmonger.com" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should not allow relative paths to be assigned on absolute URIs" do - expect do - @uri.path = "acct:bob@sporkmonger.com" - @uri.scheme = "http" - @uri.host = "example.com" - end.to raise_error(Addressable::URI::InvalidURIError) - end - - it "should not allow relative paths to be assigned on absolute URIs" do - expect do - @uri.path = "uuid:0b3ecf60-3f93-11df-a9c3-001f5bfffe12" - @uri.scheme = "urn" - end.not_to raise_error - end -end - -describe Addressable::URI, "when initializing a subclass of Addressable::URI" do - before do - @uri = Class.new(Addressable::URI).new - end - - it "should have the same class after being parsed" do - expect(@uri.class).to eq(Addressable::URI.parse(@uri).class) - end - - it "should have the same class as its duplicate" do - expect(@uri.class).to eq(@uri.dup.class) - end - - it "should have the same class after being normalized" do - expect(@uri.class).to eq(@uri.normalize.class) - end - - it "should have the same class after being merged" do - expect(@uri.class).to eq(@uri.merge(:path => 'path').class) - end - - it "should have the same class after being joined" do - expect(@uri.class).to eq(@uri.join('path').class) - end -end - -describe Addressable::URI, "support serialization roundtrip" do - before do - @uri = Addressable::URI.new( - :scheme => "http", - :user => "user", - :password => "password", - :host => "example.com", - :port => 80, - :path => "/path", - :query => "query=value", - :fragment => "fragment" - ) - end - - it "is in a working state after being serialized with Marshal" do - @uri = Addressable::URI.parse("http://example.com") - cloned_uri = Marshal.load(Marshal.dump(@uri)) - expect(cloned_uri.normalized_scheme).to be == @uri.normalized_scheme - end - - it "is in a working state after being serialized with YAML" do - @uri = Addressable::URI.parse("http://example.com") - cloned_uri = if YAML.respond_to?(:unsafe_load) - YAML.unsafe_load(YAML.dump(@uri)) - else - YAML.load(YAML.dump(@uri)) - end - expect(cloned_uri.normalized_scheme).to be == @uri.normalized_scheme - end -end - -describe Addressable::URI, "when initialized in a non-main `Ractor`" do - it "should have the same value as if used in the main `Ractor`" do - pending("Ruby 3.0+ for `Ractor` support") unless defined?(Ractor) - main = Addressable::URI.parse("http://example.com") - expect( - Ractor.new { Addressable::URI.parse("http://example.com") }.take - ).to eq(main) - end -end - -describe Addressable::URI, "when deferring validation" do - subject(:deferred) { uri.instance_variable_get(:@validation_deferred) } - - let(:uri) { Addressable::URI.parse("http://example.com") } - - it "defers validation within the block" do - uri.defer_validation do - expect(deferred).to be true - end - end - - it "always resets deferral afterward" do - expect { uri.defer_validation { raise "boom" } }.to raise_error("boom") - expect(deferred).to be false - end - - it "returns nil" do - res = uri.defer_validation {} - expect(res).to be nil - end -end - -describe Addressable::URI, "YAML safe loading" do - it "doesn't serialize anonymous objects" do - url = Addressable::URI.parse("http://example.com/") - expect(YAML.dump(url)).to_not include("!ruby/object {}") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/spec_helper.rb deleted file mode 100644 index bd8e395..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/spec/spec_helper.rb +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true - -require 'bundler/setup' -require 'rspec/its' - -begin - require 'coveralls' - Coveralls.wear! do - add_filter "spec/" - add_filter "vendor/" - end -rescue LoadError - warn "warning: coveralls gem not found; skipping Coveralls" - require 'simplecov' - SimpleCov.start do - add_filter "spec/" - add_filter "vendor/" - end -end if Gem.loaded_specs.key?("simplecov") - -class TestHelper - def self.native_supported? - mri = RUBY_ENGINE == "ruby" - windows = RUBY_PLATFORM.include?("mingw") - - mri && !windows - end -end - -RSpec.configure do |config| - config.warnings = true - config.filter_run_when_matching :focus -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/clobber.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/clobber.rake deleted file mode 100644 index a9e32b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/clobber.rake +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -desc "Remove all build products" -task "clobber" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/gem.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/gem.rake deleted file mode 100644 index 24d9714..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/gem.rake +++ /dev/null @@ -1,95 +0,0 @@ -# frozen_string_literal: true - -require "rubygems/package_task" - -namespace :gem do - GEM_SPEC = Gem::Specification.new do |s| - s.name = PKG_NAME - s.version = PKG_VERSION - s.summary = PKG_SUMMARY - s.description = PKG_DESCRIPTION - - s.files = PKG_FILES.to_a - - s.extra_rdoc_files = %w( README.md ) - s.rdoc_options.concat ["--main", "README.md"] - - if !s.respond_to?(:add_development_dependency) - puts "Cannot build Gem with this version of RubyGems." - exit(1) - end - - s.required_ruby_version = ">= 2.2" - - s.add_runtime_dependency "public_suffix", ">= 2.0.2", "< 6.0" - s.add_development_dependency "bundler", ">= 1.0", "< 3.0" - - s.require_path = "lib" - - s.author = "Bob Aman" - s.email = "bob@sporkmonger.com" - s.homepage = "https://github.com/sporkmonger/addressable" - s.license = "Apache-2.0" - s.metadata = { - "changelog_uri" => "https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md" - } - end - - Gem::PackageTask.new(GEM_SPEC) do |p| - p.gem_spec = GEM_SPEC - p.need_tar = true - p.need_zip = true - end - - desc "Generates .gemspec file" - task :gemspec do - spec_string = GEM_SPEC.to_ruby - File.open("#{GEM_SPEC.name}.gemspec", "w") do |file| - file.write spec_string - end - end - - desc "Show information about the gem" - task :debug do - puts GEM_SPEC.to_ruby - end - - desc "Install the gem" - task :install => ["clobber", "gem:package"] do - sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}" - end - - desc "Uninstall the gem" - task :uninstall do - installed_list = Gem.source_index.find_name(PKG_NAME) - if installed_list && - (installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION)) - sh( - "#{SUDO} gem uninstall --version '#{PKG_VERSION}' " + - "--ignore-dependencies --executables #{PKG_NAME}" - ) - end - end - - desc "Reinstall the gem" - task :reinstall => [:uninstall, :install] - - desc "Package for release" - task :release => ["gem:package", "gem:gemspec"] do |t| - v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z" - abort "Versions don't match #{v} vs #{PROJ.version}" if v != PKG_VERSION - pkg = "pkg/#{GEM_SPEC.full_name}" - - changelog = File.open("CHANGELOG.md") { |file| file.read } - - puts "Releasing #{PKG_NAME} v. #{PKG_VERSION}" - Rake::Task["git:tag:create"].invoke - end -end - -desc "Alias to gem:package" -task "gem" => "gem:package" - -task "gem:release" => "gem:gemspec" - -task "clobber" => ["gem:clobber_package"] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/git.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/git.rake deleted file mode 100644 index 1238c8d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/git.rake +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -namespace :git do - namespace :tag do - desc "List tags from the Git repository" - task :list do - tags = `git tag -l` - tags.gsub!("\r", "") - tags = tags.split("\n").sort {|a, b| b <=> a } - puts tags.join("\n") - end - - desc "Create a new tag in the Git repository" - task :create do - changelog = File.open("CHANGELOG.md", "r") { |file| file.read } - puts "-" * 80 - puts changelog - puts "-" * 80 - puts - - v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z" - abort "Versions don't match #{v} vs #{PKG_VERSION}" if v != PKG_VERSION - - git_status = `git status` - if git_status !~ /^nothing to commit/ - abort "Working directory isn't clean." - end - - tag = "#{PKG_NAME}-#{PKG_VERSION}" - msg = "Release #{PKG_NAME}-#{PKG_VERSION}" - - existing_tags = `git tag -l #{PKG_NAME}-*`.split('\n') - if existing_tags.include?(tag) - warn("Tag already exists, deleting...") - unless system "git tag -d #{tag}" - abort "Tag deletion failed." - end - end - puts "Creating git tag '#{tag}'..." - unless system "git tag -a -m \"#{msg}\" #{tag}" - abort "Tag creation failed." - end - end - end -end - -task "gem:release" => "git:tag:create" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/metrics.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/metrics.rake deleted file mode 100644 index 107cc24..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/metrics.rake +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -namespace :metrics do - task :lines do - lines, codelines, total_lines, total_codelines = 0, 0, 0, 0 - for file_name in FileList["lib/**/*.rb"] - f = File.open(file_name) - while line = f.gets - lines += 1 - next if line =~ /^\s*$/ - next if line =~ /^\s*#/ - codelines += 1 - end - puts "L: #{sprintf("%4d", lines)}, " + - "LOC #{sprintf("%4d", codelines)} | #{file_name}" - total_lines += lines - total_codelines += codelines - - lines, codelines = 0, 0 - end - - puts "Total: Lines #{total_lines}, LOC #{total_codelines}" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/profile.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/profile.rake deleted file mode 100644 index b697d48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/profile.rake +++ /dev/null @@ -1,72 +0,0 @@ -# frozen_string_literal: true - -namespace :profile do - desc "Profile Template match memory allocations" - task :template_match_memory do - require "memory_profiler" - require "addressable/template" - - start_at = Time.now.to_f - template = Addressable::Template.new("http://example.com/{?one,two,three}") - report = MemoryProfiler.report do - 30_000.times do - template.match( - "http://example.com/?one=one&two=floo&three=me" - ) - end - end - end_at = Time.now.to_f - print_options = { scale_bytes: true, normalize_paths: true } - puts "\n\n" - - if ENV["CI"] - report.pretty_print(print_options) - else - t_allocated = report.scale_bytes(report.total_allocated_memsize) - t_retained = report.scale_bytes(report.total_retained_memsize) - - puts "Total allocated: #{t_allocated} (#{report.total_allocated} objects)" - puts "Total retained: #{t_retained} (#{report.total_retained} objects)" - puts "Took #{end_at - start_at} seconds" - - FileUtils.mkdir_p("tmp") - report.pretty_print(to_file: "tmp/memprof.txt", **print_options) - end - end - - desc "Profile URI parse memory allocations" - task :memory do - require "memory_profiler" - require "addressable/uri" - if ENV["IDNA_MODE"] == "pure" - Addressable.send(:remove_const, :IDNA) - load "addressable/idna/pure.rb" - end - - start_at = Time.now.to_f - report = MemoryProfiler.report do - 30_000.times do - Addressable::URI.parse( - "http://google.com/stuff/../?with_lots=of¶ms=asdff#!stuff" - ).normalize - end - end - end_at = Time.now.to_f - print_options = { scale_bytes: true, normalize_paths: true } - puts "\n\n" - - if ENV["CI"] - report.pretty_print(**print_options) - else - t_allocated = report.scale_bytes(report.total_allocated_memsize) - t_retained = report.scale_bytes(report.total_retained_memsize) - - puts "Total allocated: #{t_allocated} (#{report.total_allocated} objects)" - puts "Total retained: #{t_retained} (#{report.total_retained} objects)" - puts "Took #{end_at - start_at} seconds" - - FileUtils.mkdir_p("tmp") - report.pretty_print(to_file: "tmp/memprof.txt", **print_options) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/rspec.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/rspec.rake deleted file mode 100644 index e3d9f01..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/rspec.rake +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -require "rspec/core/rake_task" - -namespace :spec do - RSpec::Core::RakeTask.new(:simplecov) do |t| - t.pattern = FileList['spec/**/*_spec.rb'] - t.rspec_opts = %w[--color --format documentation] unless ENV["CI"] - end - - namespace :simplecov do - desc "Browse the code coverage report." - task :browse => "spec:simplecov" do - require "launchy" - Launchy.open("coverage/index.html") - end - end -end - -desc "Alias to spec:simplecov" -task "spec" => "spec:simplecov" - -task "clobber" => ["spec:clobber_simplecov"] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/yard.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/yard.rake deleted file mode 100644 index 515f960..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/addressable-2.8.5/tasks/yard.rake +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -require "rake" - -begin - require "yard" - require "yard/rake/yardoc_task" - - namespace :doc do - desc "Generate Yardoc documentation" - YARD::Rake::YardocTask.new do |yardoc| - yardoc.name = "yard" - yardoc.options = ["--verbose", "--markup", "markdown"] - yardoc.files = FileList[ - "lib/**/*.rb", "ext/**/*.c", - "README.md", "CHANGELOG.md", "LICENSE.txt" - ].exclude(/idna/) - end - end - - task "clobber" => ["doc:clobber_yard"] - - desc "Alias to doc:yard" - task "doc" => "doc:yard" -rescue LoadError - # If yard isn't available, it's not the end of the world - desc "Alias to doc:rdoc" - task "doc" => "doc:rdoc" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/base64-0.1.1/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/base64-0.1.1/LICENSE.txt deleted file mode 100644 index a009cae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/base64-0.1.1/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/base64-0.1.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/base64-0.1.1/README.md deleted file mode 100644 index a29c58e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/base64-0.1.1/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Base64 - -The Base64 module provides for the encoding (`#encode64`, `#strict_encode64`, -`#urlsafe_encode64`) and decoding (`#decode64`, `#strict_decode64`, -`#urlsafe_decode64`) of binary data using a Base64 representation. - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'base64' -``` - -And then execute: - - $ bundle install - -Or install it yourself as: - - $ gem install base64 - -## Usage - -A simple encoding and decoding. - -```ruby -require "base64" - -enc = Base64.encode64('Send reinforcements') - # -> "U2VuZCByZWluZm9yY2VtZW50cw==\n" -plain = Base64.decode64(enc) - # -> "Send reinforcements" -``` - -The purpose of using base64 to encode data is that it translates any -binary data into purely printable characters. - -## Development - -After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. - -To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/base64. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/bigdecimal.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/bigdecimal.gemspec deleted file mode 100644 index f9f3b45..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/bigdecimal.gemspec +++ /dev/null @@ -1,54 +0,0 @@ -# coding: utf-8 - -name = File.basename(__FILE__, '.*') -source_version = ["", "ext/#{name}/"].find do |dir| - begin - break File.foreach(File.join(__dir__, "#{dir}#{name}.c")) {|line| - break $1.sub("-", ".") if /^#define\s+#{name.upcase}_VERSION\s+"(.+)"/o =~ line - } - rescue Errno::ENOENT - end -end or raise "can't find #{name.upcase}_VERSION" - -Gem::Specification.new do |s| - s.name = name - s.version = source_version - s.authors = ["Kenta Murata", "Zachary Scott", "Shigeo Kobayashi"] - s.email = ["mrkn@mrkn.jp"] - - s.summary = "Arbitrary-precision decimal floating-point number library." - s.description = "This library provides arbitrary-precision decimal floating-point number class." - s.homepage = "https://github.com/ruby/bigdecimal" - s.licenses = ["Ruby", "BSD-2-Clause"] - - s.require_paths = %w[lib] - s.files = %w[ - bigdecimal.gemspec - lib/bigdecimal.rb - lib/bigdecimal/jacobian.rb - lib/bigdecimal/ludcmp.rb - lib/bigdecimal/math.rb - lib/bigdecimal/newton.rb - lib/bigdecimal/util.rb - sample/linear.rb - sample/nlsolve.rb - sample/pi.rb - ] - if Gem::Platform === s.platform and s.platform =~ 'java' or RUBY_ENGINE == 'jruby' - s.platform = 'java' - else - s.extensions = %w[ext/bigdecimal/extconf.rb] - s.files += %w[ - ext/bigdecimal/bigdecimal.c - ext/bigdecimal/bigdecimal.h - ext/bigdecimal/bits.h - ext/bigdecimal/feature.h - ext/bigdecimal/missing.c - ext/bigdecimal/missing.h - ext/bigdecimal/missing/dtoa.c - ext/bigdecimal/static_assert.h - ] - end - - s.required_ruby_version = Gem::Requirement.new(">= 2.5.0") -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/.sitearchdir.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/.sitearchdir.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/Makefile deleted file mode 100644 index fe94630..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/Makefile +++ /dev/null @@ -1,267 +0,0 @@ - -SHELL = /bin/sh - -# V=0 quiet, V=1 verbose. other values don't work. -V = 0 -Q1 = $(V:1=) -Q = $(Q1:0=@) -ECHO1 = $(V:1=@ :) -ECHO = $(ECHO1:0=@ echo) -NULLCMD = : - -#### Start of system configuration section. #### - -srcdir = . -topdir = /usr/include/ruby-3.0.0 -hdrdir = $(topdir) -arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0 -PATH_SEPARATOR = : -VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby -prefix = $(DESTDIR)/usr -rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) -rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) -rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) -exec_prefix = $(prefix) -vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby -sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby -rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) -vendorhdrdir = $(rubyhdrdir)/vendor_ruby -sitehdrdir = $(rubyhdrdir)/site_ruby -rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) -vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) -vendorlibdir = $(vendordir)/$(ruby_version) -vendordir = $(rubylibprefix)/vendor_ruby -sitearchdir = $(DESTDIR)./.gem.20231104-11184-20hl4x -sitelibdir = $(DESTDIR)./.gem.20231104-11184-20hl4x -sitedir = $(DESTDIR)/usr/local/lib/site_ruby -rubyarchdir = $(rubyarchprefix)/$(ruby_version) -rubylibdir = $(rubylibprefix)/$(ruby_version) -sitearchincludedir = $(includedir)/$(sitearch) -archincludedir = $(includedir)/$(arch) -sitearchlibdir = $(libdir)/$(sitearch) -archlibdir = $(libdir)/$(arch) -ridir = $(datarootdir)/$(RI_BASE_NAME) -mandir = $(datarootdir)/man -localedir = $(datarootdir)/locale -libdir = $(exec_prefix)/lib -psdir = $(docdir) -pdfdir = $(docdir) -dvidir = $(docdir) -htmldir = $(docdir) -infodir = $(datarootdir)/info -docdir = $(datarootdir)/doc/$(PACKAGE) -oldincludedir = $(DESTDIR)/usr/include -includedir = $(prefix)/include -runstatedir = $(DESTDIR)/var/run -localstatedir = $(DESTDIR)/var -sharedstatedir = $(prefix)/com -sysconfdir = $(DESTDIR)/etc -datadir = $(datarootdir) -datarootdir = $(prefix)/share -libexecdir = $(exec_prefix)/libexec -sbindir = $(exec_prefix)/sbin -bindir = $(exec_prefix)/bin -archdir = $(rubyarchdir) - - -CC_WRAPPER = -CC = x86_64-linux-gnu-gcc -CXX = x86_64-linux-gnu-g++ -LIBRUBY = $(LIBRUBY_SO) -LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a -LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) -LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) -empty = -OUTFLAG = -o $(empty) -COUTFLAG = -o $(empty) -CSRCFLAG = $(empty) - -RUBY_EXTCONF_H = -cflags = $(optflags) $(debugflags) $(warnflags) -cxxflags = -optflags = -O3 -debugflags = -ggdb3 -warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -cppflags = -CCDLFLAGS = -fPIC -CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC $(ARCH_FLAG) -INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -DEFS = -CPPFLAGS = -DHAVE_BUILTIN___BUILTIN_CLZ -DHAVE_BUILTIN___BUILTIN_CLZL -DHAVE_BUILTIN___BUILTIN_CLZLL -DHAVE_FLOAT_H -DHAVE_MATH_H -DHAVE_STDBOOL_H -DHAVE_STDLIB_H -DHAVE_X86INTRIN_H -DHAVE_LABS -DHAVE_LLABS -DHAVE_FINITE -DHAVE_RUBY_ATOMIC_H -DHAVE_RUBY_INTERNAL_HAS_BUILTIN_H -DHAVE_RUBY_INTERNAL_STATIC_ASSERT_H -DHAVE_RB_RATIONAL_NUM -DHAVE_RB_RATIONAL_DEN -DHAVE_RB_COMPLEX_REAL -DHAVE_RB_COMPLEX_IMAG -DHAVE_RB_OPTS_EXCEPTION_P -DHAVE_RB_CATEGORY_WARN -DHAVE_CONST_RB_WARN_CATEGORY_DEPRECATED -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG) -ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -ARCH_FLAG = -DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) -LDSHARED = $(CC) -shared -LDSHAREDXX = $(CXX) -shared -AR = x86_64-linux-gnu-gcc-ar -EXEEXT = - -RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0 -RUBY_SO_NAME = ruby-3.0 -RUBYW_INSTALL_NAME = -RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) -RUBYW_BASE_NAME = rubyw -RUBY_BASE_NAME = ruby - -arch = x86_64-linux-gnu -sitearch = $(arch) -ruby_version = 3.0.0 -ruby = $(bindir)/$(RUBY_BASE_NAME)3.0 -RUBY = $(ruby) -ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h - -RM = rm -f -RM_RF = $(RUBY) -run -e rm -- -rf -RMDIRS = rmdir --ignore-fail-on-non-empty -p -MAKEDIRS = /usr/bin/mkdir -p -INSTALL = /usr/bin/install -c -INSTALL_PROG = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -m 644 -COPY = cp -TOUCH = exit > - -#### End of system configuration section. #### - -preload = -libpath = . $(archlibdir) -LIBPATH = -L. -L$(archlibdir) -DEFFILE = - -CLEANFILES = mkmf.log -DISTCLEANFILES = -DISTCLEANDIRS = - -extout = -extout_prefix = -target_prefix = -LOCAL_LIBS = -LIBS = $(LIBRUBYARG_SHARED) -lm -lc -ORIG_SRCS = bigdecimal.c missing.c -SRCS = $(ORIG_SRCS) -OBJS = bigdecimal.o missing.o -HDRS = $(srcdir)/bigdecimal.h $(srcdir)/bits.h $(srcdir)/feature.h $(srcdir)/missing.h $(srcdir)/static_assert.h -LOCAL_HDRS = -TARGET = bigdecimal -TARGET_NAME = bigdecimal -TARGET_ENTRY = Init_$(TARGET_NAME) -DLLIB = $(TARGET).so -EXTSTATIC = -STATIC_LIB = - -TIMESTAMP_DIR = . -BINDIR = $(bindir) -RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = $(sitelibdir)$(target_prefix) -RUBYARCHDIR = $(sitearchdir)$(target_prefix) -HDRDIR = $(sitehdrdir)$(target_prefix) -ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) -TARGET_SO_DIR = -TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) -CLEANLIBS = $(TARGET_SO) -CLEANOBJS = *.o *.bak -BIGDECIMAL_RB = $(srcdir)/../../lib/bigdecimal.rb - -all: $(DLLIB) -static: $(STATIC_LIB) -.PHONY: all install static install-so install-rb -.PHONY: clean clean-so clean-static clean-rb - -clean-static:: -clean-rb-default:: -clean-rb:: -clean-so:: -clean: clean-so clean-static clean-rb-default clean-rb - -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time - -distclean-rb-default:: -distclean-rb:: -distclean-so:: -distclean-static:: -distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb - -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log - -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) - -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true - -realclean: distclean -install: install-so install-rb - -install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time - $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) -clean-static:: - -$(Q)$(RM) $(STATIC_LIB) -install-rb: pre-install-rb do-install-rb install-rb-default -install-rb-default: pre-install-rb-default do-install-rb-default -pre-install-rb: Makefile -pre-install-rb-default: Makefile -do-install-rb: -do-install-rb-default: -pre-install-rb-default: - @$(NULLCMD) -$(TIMESTAMP_DIR)/.sitearchdir.time: - $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) - $(Q) $(TOUCH) $@ - -site-install: site-install-so site-install-rb -site-install-so: install-so -site-install-rb: install-rb - -.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S - -.cc.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cc.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.mm.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.mm.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cxx.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cxx.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cpp.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cpp.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.c.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.c.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.m.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.m.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -$(TARGET_SO): $(OBJS) Makefile - $(ECHO) linking shared-object $(DLLIB) - -$(Q)$(RM) $(@) - $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) - - - -$(OBJS): $(HDRS) $(ruby_headers) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.c deleted file mode 100644 index 6eb14bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.c +++ /dev/null @@ -1,7737 +0,0 @@ -/* - * - * Ruby BigDecimal(Variable decimal precision) extension library. - * - * Copyright(C) 2002 by Shigeo Kobayashi(shigeo@tinyforest.gr.jp) - * - */ - -/* #define BIGDECIMAL_DEBUG 1 */ - -#include "bigdecimal.h" -#include "ruby/util.h" - -#ifndef BIGDECIMAL_DEBUG -# undef NDEBUG -# define NDEBUG -#endif -#include - -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_IEEEFP_H -#include -#endif - -#include "bits.h" -#include "static_assert.h" - -#define BIGDECIMAL_VERSION "3.1.4" - -/* #define ENABLE_NUMERIC_STRING */ - -#define SIGNED_VALUE_MAX INTPTR_MAX -#define SIGNED_VALUE_MIN INTPTR_MIN -#define MUL_OVERFLOW_SIGNED_VALUE_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, SIGNED_VALUE_MIN, SIGNED_VALUE_MAX) - -VALUE rb_cBigDecimal; -VALUE rb_mBigMath; - -static ID id_BigDecimal_exception_mode; -static ID id_BigDecimal_rounding_mode; -static ID id_BigDecimal_precision_limit; - -static ID id_up; -static ID id_down; -static ID id_truncate; -static ID id_half_up; -static ID id_default; -static ID id_half_down; -static ID id_half_even; -static ID id_banker; -static ID id_ceiling; -static ID id_ceil; -static ID id_floor; -static ID id_to_r; -static ID id_eq; -static ID id_half; - -#define RBD_NUM_ROUNDING_MODES 11 - -static struct { - ID id; - uint8_t mode; -} rbd_rounding_modes[RBD_NUM_ROUNDING_MODES]; - -/* MACRO's to guard objects from GC by keeping them in stack */ -#ifdef RBIMPL_ATTR_MAYBE_UNUSED -#define ENTER(n) RBIMPL_ATTR_MAYBE_UNUSED() volatile VALUE vStack[n];int iStack=0 -#else -#define ENTER(n) volatile VALUE RB_UNUSED_VAR(vStack[n]);int iStack=0 -#endif -#define PUSH(x) (vStack[iStack++] = (VALUE)(x)) -#define SAVE(p) PUSH((p)->obj) -#define GUARD_OBJ(p,y) ((p)=(y), SAVE(p)) - -#define BASE_FIG BIGDECIMAL_COMPONENT_FIGURES -#define BASE BIGDECIMAL_BASE - -#define HALF_BASE (BASE/2) -#define BASE1 (BASE/10) - -#define LOG10_2 0.3010299956639812 - -#ifndef RRATIONAL_ZERO_P -# define RRATIONAL_ZERO_P(x) (FIXNUM_P(rb_rational_num(x)) && \ - FIX2LONG(rb_rational_num(x)) == 0) -#endif - -#ifndef RRATIONAL_NEGATIVE_P -# define RRATIONAL_NEGATIVE_P(x) RTEST(rb_funcall((x), '<', 1, INT2FIX(0))) -#endif - -#ifndef DECIMAL_SIZE_OF_BITS -#define DECIMAL_SIZE_OF_BITS(n) (((n) * 3010 + 9998) / 9999) -/* an approximation of ceil(n * log10(2)), upto 65536 at least */ -#endif - -#ifdef PRIsVALUE -# define RB_OBJ_CLASSNAME(obj) rb_obj_class(obj) -# define RB_OBJ_STRING(obj) (obj) -#else -# define PRIsVALUE "s" -# define RB_OBJ_CLASSNAME(obj) rb_obj_classname(obj) -# define RB_OBJ_STRING(obj) StringValueCStr(obj) -#endif - -#ifndef MAYBE_UNUSED -# define MAYBE_UNUSED(x) x -#endif - -#define BIGDECIMAL_POSITIVE_P(bd) ((bd)->sign > 0) -#define BIGDECIMAL_NEGATIVE_P(bd) ((bd)->sign < 0) - -/* - * ================== Memory allocation ============================ - */ - -#ifdef BIGDECIMAL_DEBUG -static size_t rbd_allocation_count = 0; /* Memory allocation counter */ -static inline void -atomic_allocation_count_inc(void) -{ - RUBY_ATOMIC_SIZE_INC(rbd_allocation_count); -} -static inline void -atomic_allocation_count_dec_nounderflow(void) -{ - if (rbd_allocation_count == 0) return; - RUBY_ATOMIC_SIZE_DEC(rbd_allocation_count); -} -static void -check_allocation_count_nonzero(void) -{ - if (rbd_allocation_count != 0) return; - rb_bug("[bigdecimal][rbd_free_struct] Too many memory free calls"); -} -#else -# define atomic_allocation_count_inc() /* nothing */ -# define atomic_allocation_count_dec_nounderflow() /* nothing */ -# define check_allocation_count_nonzero() /* nothing */ -#endif /* BIGDECIMAL_DEBUG */ - -PUREFUNC(static inline size_t rbd_struct_size(size_t const)); - -static inline size_t -rbd_struct_size(size_t const internal_digits) -{ - size_t const frac_len = (internal_digits == 0) ? 1 : internal_digits; - return offsetof(Real, frac) + frac_len * sizeof(DECDIG); -} - -static inline Real * -rbd_allocate_struct(size_t const internal_digits) -{ - size_t const size = rbd_struct_size(internal_digits); - Real *real = ruby_xcalloc(1, size); - atomic_allocation_count_inc(); - real->MaxPrec = internal_digits; - return real; -} - -static size_t -rbd_calculate_internal_digits(size_t const digits, bool limit_precision) -{ - size_t const len = roomof(digits, BASE_FIG); - if (limit_precision) { - size_t const prec_limit = VpGetPrecLimit(); - if (prec_limit > 0) { - /* NOTE: 2 more digits for rounding and division */ - size_t const max_len = roomof(prec_limit, BASE_FIG) + 2; - if (len > max_len) - return max_len; - } - } - - return len; -} - -static inline Real * -rbd_allocate_struct_decimal_digits(size_t const decimal_digits, bool limit_precision) -{ - size_t const internal_digits = rbd_calculate_internal_digits(decimal_digits, limit_precision); - return rbd_allocate_struct(internal_digits); -} - -static VALUE BigDecimal_wrap_struct(VALUE obj, Real *vp); - -static Real * -rbd_reallocate_struct(Real *real, size_t const internal_digits) -{ - size_t const size = rbd_struct_size(internal_digits); - VALUE obj = real ? real->obj : 0; - Real *new_real = (Real *)ruby_xrealloc(real, size); - new_real->MaxPrec = internal_digits; - if (obj) { - new_real->obj = 0; - BigDecimal_wrap_struct(obj, new_real); - } - return new_real; -} - -static void -rbd_free_struct(Real *real) -{ - if (real != NULL) { - check_allocation_count_nonzero(); - ruby_xfree(real); - atomic_allocation_count_dec_nounderflow(); - } -} - -#define NewZero rbd_allocate_struct_zero -static Real * -rbd_allocate_struct_zero(int sign, size_t const digits, bool limit_precision) -{ - Real *real = rbd_allocate_struct_decimal_digits(digits, limit_precision); - VpSetZero(real, sign); - return real; -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_zero_limited(int sign, size_t const digits)); -#define NewZeroLimited rbd_allocate_struct_zero_limited -static inline Real * -rbd_allocate_struct_zero_limited(int sign, size_t const digits) -{ - return rbd_allocate_struct_zero(sign, digits, true); -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_zero_nolimit(int sign, size_t const digits)); -#define NewZeroNolimit rbd_allocate_struct_zero_nolimit -static inline Real * -rbd_allocate_struct_zero_nolimit(int sign, size_t const digits) -{ - return rbd_allocate_struct_zero(sign, digits, false); -} - -#define NewOne rbd_allocate_struct_one -static Real * -rbd_allocate_struct_one(int sign, size_t const digits, bool limit_precision) -{ - Real *real = rbd_allocate_struct_decimal_digits(digits, limit_precision); - VpSetOne(real); - if (sign < 0) - VpSetSign(real, VP_SIGN_NEGATIVE_FINITE); - return real; -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_one_limited(int sign, size_t const digits)); -#define NewOneLimited rbd_allocate_struct_one_limited -static inline Real * -rbd_allocate_struct_one_limited(int sign, size_t const digits) -{ - return rbd_allocate_struct_one(sign, digits, true); -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_one_nolimit(int sign, size_t const digits)); -#define NewOneNolimit rbd_allocate_struct_one_nolimit -static inline Real * -rbd_allocate_struct_one_nolimit(int sign, size_t const digits) -{ - return rbd_allocate_struct_one(sign, digits, false); -} - -/* - * ================== Ruby Interface part ========================== - */ -#define DoSomeOne(x,y,f) rb_num_coerce_bin(x,y,f) - -/* - * VP routines used in BigDecimal part - */ -static unsigned short VpGetException(void); -static void VpSetException(unsigned short f); -static void VpCheckException(Real *p, bool always); -static VALUE VpCheckGetValue(Real *p); -static void VpInternalRound(Real *c, size_t ixDigit, DECDIG vPrev, DECDIG v); -static int VpLimitRound(Real *c, size_t ixDigit); -static Real *VpCopy(Real *pv, Real const* const x); -static int VPrint(FILE *fp,const char *cntl_chr,Real *a); - -/* - * **** BigDecimal part **** - */ - -static VALUE BigDecimal_nan(void); -static VALUE BigDecimal_positive_infinity(void); -static VALUE BigDecimal_negative_infinity(void); -static VALUE BigDecimal_positive_zero(void); -static VALUE BigDecimal_negative_zero(void); - -static void -BigDecimal_delete(void *pv) -{ - rbd_free_struct(pv); -} - -static size_t -BigDecimal_memsize(const void *ptr) -{ - const Real *pv = ptr; - return (sizeof(*pv) + pv->MaxPrec * sizeof(DECDIG)); -} - -#ifndef HAVE_RB_EXT_RACTOR_SAFE -# undef RUBY_TYPED_FROZEN_SHAREABLE -# define RUBY_TYPED_FROZEN_SHAREABLE 0 -#endif - -static const rb_data_type_t BigDecimal_data_type = { - "BigDecimal", - { 0, BigDecimal_delete, BigDecimal_memsize, }, -#ifdef RUBY_TYPED_FREE_IMMEDIATELY - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_FROZEN_SHAREABLE | RUBY_TYPED_WB_PROTECTED -#endif -}; - -static Real * -rbd_allocate_struct_zero_wrap_klass(VALUE klass, int sign, size_t const digits, bool limit_precision) -{ - Real *real = rbd_allocate_struct_zero(sign, digits, limit_precision); - if (real != NULL) { - VALUE obj = TypedData_Wrap_Struct(klass, &BigDecimal_data_type, 0); - BigDecimal_wrap_struct(obj, real); - } - return real; -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_zero_limited_wrap(int sign, size_t const digits)); -#define NewZeroWrapLimited rbd_allocate_struct_zero_limited_wrap -static inline Real * -rbd_allocate_struct_zero_limited_wrap(int sign, size_t const digits) -{ - return rbd_allocate_struct_zero_wrap_klass(rb_cBigDecimal, sign, digits, true); -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_zero_nolimit_wrap(int sign, size_t const digits)); -#define NewZeroWrapNolimit rbd_allocate_struct_zero_nolimit_wrap -static inline Real * -rbd_allocate_struct_zero_nolimit_wrap(int sign, size_t const digits) -{ - return rbd_allocate_struct_zero_wrap_klass(rb_cBigDecimal, sign, digits, false); -} - -static Real * -rbd_allocate_struct_one_wrap_klass(VALUE klass, int sign, size_t const digits, bool limit_precision) -{ - Real *real = rbd_allocate_struct_one(sign, digits, limit_precision); - if (real != NULL) { - VALUE obj = TypedData_Wrap_Struct(klass, &BigDecimal_data_type, 0); - BigDecimal_wrap_struct(obj, real); - } - return real; -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_one_limited_wrap(int sign, size_t const digits)); -#define NewOneWrapLimited rbd_allocate_struct_one_limited_wrap -static inline Real * -rbd_allocate_struct_one_limited_wrap(int sign, size_t const digits) -{ - return rbd_allocate_struct_one_wrap_klass(rb_cBigDecimal, sign, digits, true); -} - -MAYBE_UNUSED(static inline Real * rbd_allocate_struct_one_nolimit_wrap(int sign, size_t const digits)); -#define NewOneWrapNolimit rbd_allocate_struct_one_nolimit_wrap -static inline Real * -rbd_allocate_struct_one_nolimit_wrap(int sign, size_t const digits) -{ - return rbd_allocate_struct_one_wrap_klass(rb_cBigDecimal, sign, digits, false); -} - -static inline int -is_kind_of_BigDecimal(VALUE const v) -{ - return rb_typeddata_is_kind_of(v, &BigDecimal_data_type); -} - -NORETURN(static void cannot_be_coerced_into_BigDecimal(VALUE, VALUE)); - -static void -cannot_be_coerced_into_BigDecimal(VALUE exc_class, VALUE v) -{ - VALUE str; - - if (rb_special_const_p(v)) { - str = rb_inspect(v); - } - else { - str = rb_class_name(rb_obj_class(v)); - } - - str = rb_str_cat2(rb_str_dup(str), " can't be coerced into BigDecimal"); - rb_exc_raise(rb_exc_new3(exc_class, str)); -} - -static inline VALUE BigDecimal_div2(VALUE, VALUE, VALUE); -static VALUE rb_inum_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); -static VALUE rb_float_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); -static VALUE rb_rational_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); -static VALUE rb_cstr_convert_to_BigDecimal(const char *c_str, size_t digs, int raise_exception); -static VALUE rb_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception); - -static Real* -GetVpValueWithPrec(VALUE v, long prec, int must) -{ - const size_t digs = prec < 0 ? SIZE_MAX : (size_t)prec; - - switch(TYPE(v)) { - case T_FLOAT: - v = rb_float_convert_to_BigDecimal(v, digs, must); - break; - - case T_RATIONAL: - v = rb_rational_convert_to_BigDecimal(v, digs, must); - break; - - case T_DATA: - if (!is_kind_of_BigDecimal(v)) { - goto SomeOneMayDoIt; - } - break; - - case T_FIXNUM: { - char szD[128]; - snprintf(szD, 128, "%ld", FIX2LONG(v)); - v = rb_cstr_convert_to_BigDecimal(szD, VpBaseFig() * 2 + 1, must); - break; - } - -#ifdef ENABLE_NUMERIC_STRING - case T_STRING: { - const char *c_str = StringValueCStr(v); - v = rb_cstr_convert_to_BigDecimal(c_str, RSTRING_LEN(v) + VpBaseFig() + 1, must); - break; - } -#endif /* ENABLE_NUMERIC_STRING */ - - case T_BIGNUM: { - VALUE bg = rb_big2str(v, 10); - v = rb_cstr_convert_to_BigDecimal(RSTRING_PTR(bg), RSTRING_LEN(bg) + VpBaseFig() + 1, must); - RB_GC_GUARD(bg); - break; - } - - default: - goto SomeOneMayDoIt; - } - - Real *vp; - TypedData_Get_Struct(v, Real, &BigDecimal_data_type, vp); - return vp; - -SomeOneMayDoIt: - if (must) { - cannot_be_coerced_into_BigDecimal(rb_eTypeError, v); - } - return NULL; /* NULL means to coerce */ -} - -static inline Real* -GetVpValue(VALUE v, int must) -{ - return GetVpValueWithPrec(v, -1, must); -} - -/* call-seq: - * BigDecimal.double_fig -> integer - * - * Returns the number of digits a Float object is allowed to have; - * the result is system-dependent: - * - * BigDecimal.double_fig # => 16 - * - */ -static inline VALUE -BigDecimal_double_fig(VALUE self) -{ - return INT2FIX(VpDblFig()); -} - -/* call-seq: - * precs -> array - * - * Returns an Array of two Integer values that represent platform-dependent - * internal storage properties. - * - * This method is deprecated and will be removed in the future. - * Instead, use BigDecimal#n_significant_digits for obtaining the number of - * significant digits in scientific notation, and BigDecimal#precision for - * obtaining the number of digits in decimal notation. - * - */ - -static VALUE -BigDecimal_prec(VALUE self) -{ - ENTER(1); - Real *p; - VALUE obj; - - rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, - "BigDecimal#precs is deprecated and will be removed in the future; " - "use BigDecimal#precision instead."); - - GUARD_OBJ(p, GetVpValue(self, 1)); - obj = rb_assoc_new(SIZET2NUM(p->Prec*VpBaseFig()), - SIZET2NUM(p->MaxPrec*VpBaseFig())); - return obj; -} - -static void -BigDecimal_count_precision_and_scale(VALUE self, ssize_t *out_precision, ssize_t *out_scale) -{ - ENTER(1); - - if (out_precision == NULL && out_scale == NULL) - return; - - Real *p; - GUARD_OBJ(p, GetVpValue(self, 1)); - if (VpIsZero(p) || !VpIsDef(p)) { - zero: - if (out_precision) *out_precision = 0; - if (out_scale) *out_scale = 0; - return; - } - - DECDIG x; - - ssize_t n = p->Prec; /* The length of frac without zeros. */ - while (n > 0 && p->frac[n-1] == 0) --n; - if (n == 0) goto zero; - - int nlz = BASE_FIG; - for (x = p->frac[0]; x > 0; x /= 10) --nlz; - - int ntz = 0; - for (x = p->frac[n-1]; x > 0 && x % 10 == 0; x /= 10) ++ntz; - - /* - * Calculate the precision and the scale - * ------------------------------------- - * - * The most significant digit is frac[0], and the least significant digit - * is frac[Prec-1]. When the exponent is zero, the decimal point is - * located just before frac[0]. - * - * When the exponent is negative, the decimal point moves to leftward. - * In this case, the precision can be calculated by - * - * precision = BASE_FIG * (-exponent + n) - ntz, - * - * and the scale is the same as precision. - * - * 0 . 0000 0000 | frac[0] ... frac[n-1] | - * |<----------| exponent == -2 | - * |---------------------------------->| precision - * |---------------------------------->| scale - * - * - * Conversely, when the exponent is positive, the decimal point moves to - * rightward. In this case, the scale equals to - * - * BASE_FIG * (n - exponent) - ntz. - * - * the precision equals to - * - * scale + BASE_FIG * exponent - nlz. - * - * | frac[0] frac[1] . frac[2] ... frac[n-1] | - * |---------------->| exponent == 2 | - * | |---------------------->| scale - * |---------------------------------------->| precision - */ - - ssize_t ex = p->exponent; - - /* Count the number of decimal digits before frac[1]. */ - ssize_t n_digits_head = BASE_FIG; - if (ex < 0) { - n_digits_head += (-ex) * BASE_FIG; /* The number of leading zeros before frac[0]. */ - ex = 0; - } - else if (ex > 0) { - /* Count the number of decimal digits without the leading zeros in - * the most significant digit in the integral part. - */ - n_digits_head -= nlz; /* Make the number of digits */ - } - - if (out_precision) { - ssize_t precision = n_digits_head; - - /* Count the number of decimal digits after frac[0]. */ - if (ex > (ssize_t)n) { - /* In this case the number is an integer with some trailing zeros. */ - precision += (ex - 1) * BASE_FIG; - } - else if (n > 0) { - precision += (n - 1) * BASE_FIG; - - if (ex < (ssize_t)n) { - precision -= ntz; - } - } - - *out_precision = precision; - } - - if (out_scale) { - ssize_t scale = 0; - - if (p->exponent < 0) { - scale = n_digits_head + (n - 1) * BASE_FIG - ntz; - } - else if (n > p->exponent) { - scale = (n - p->exponent) * BASE_FIG - ntz; - } - - *out_scale = scale; - } -} - -/* - * call-seq: - * precision -> integer - * - * Returns the number of decimal digits in +self+: - * - * BigDecimal("0").precision # => 0 - * BigDecimal("1").precision # => 1 - * BigDecimal("1.1").precision # => 2 - * BigDecimal("3.1415").precision # => 5 - * BigDecimal("-1e20").precision # => 21 - * BigDecimal("1e-20").precision # => 20 - * BigDecimal("Infinity").precision # => 0 - * BigDecimal("-Infinity").precision # => 0 - * BigDecimal("NaN").precision # => 0 - * - */ -static VALUE -BigDecimal_precision(VALUE self) -{ - ssize_t precision; - BigDecimal_count_precision_and_scale(self, &precision, NULL); - return SSIZET2NUM(precision); -} - -/* - * call-seq: - * scale -> integer - * - * Returns the number of decimal digits following the decimal digits in +self+. - * - * BigDecimal("0").scale # => 0 - * BigDecimal("1").scale # => 1 - * BigDecimal("1.1").scale # => 1 - * BigDecimal("3.1415").scale # => 4 - * BigDecimal("-1e20").precision # => 0 - * BigDecimal("1e-20").precision # => 20 - * BigDecimal("Infinity").scale # => 0 - * BigDecimal("-Infinity").scale # => 0 - * BigDecimal("NaN").scale # => 0 - */ -static VALUE -BigDecimal_scale(VALUE self) -{ - ssize_t scale; - BigDecimal_count_precision_and_scale(self, NULL, &scale); - return SSIZET2NUM(scale); -} - -/* - * call-seq: - * precision_scale -> [integer, integer] - * - * Returns a 2-length array; the first item is the result of - * BigDecimal#precision and the second one is of BigDecimal#scale. - * - * See BigDecimal#precision. - * See BigDecimal#scale. - */ -static VALUE -BigDecimal_precision_scale(VALUE self) -{ - ssize_t precision, scale; - BigDecimal_count_precision_and_scale(self, &precision, &scale); - return rb_assoc_new(SSIZET2NUM(precision), SSIZET2NUM(scale)); -} - -/* - * call-seq: - * n_significant_digits -> integer - * - * Returns the number of decimal significant digits in +self+. - * - * BigDecimal("0").n_significant_digits # => 0 - * BigDecimal("1").n_significant_digits # => 1 - * BigDecimal("1.1").n_significant_digits # => 2 - * BigDecimal("3.1415").n_significant_digits # => 5 - * BigDecimal("-1e20").n_significant_digits # => 1 - * BigDecimal("1e-20").n_significant_digits # => 1 - * BigDecimal("Infinity").n_significant_digits # => 0 - * BigDecimal("-Infinity").n_significant_digits # => 0 - * BigDecimal("NaN").n_significant_digits # => 0 - */ -static VALUE -BigDecimal_n_significant_digits(VALUE self) -{ - ENTER(1); - - Real *p; - GUARD_OBJ(p, GetVpValue(self, 1)); - if (VpIsZero(p) || !VpIsDef(p)) { - return INT2FIX(0); - } - - ssize_t n = p->Prec; /* The length of frac without trailing zeros. */ - for (n = p->Prec; n > 0 && p->frac[n-1] == 0; --n); - if (n == 0) return INT2FIX(0); - - DECDIG x; - int nlz = BASE_FIG; - for (x = p->frac[0]; x > 0; x /= 10) --nlz; - - int ntz = 0; - for (x = p->frac[n-1]; x > 0 && x % 10 == 0; x /= 10) ++ntz; - - ssize_t n_significant_digits = BASE_FIG*n - nlz - ntz; - return SSIZET2NUM(n_significant_digits); -} - -/* - * call-seq: - * hash -> integer - * - * Returns the integer hash value for +self+. - * - * Two instances of \BigDecimal have the same hash value if and only if - * they have equal: - * - * - Sign. - * - Fractional part. - * - Exponent. - * - */ -static VALUE -BigDecimal_hash(VALUE self) -{ - ENTER(1); - Real *p; - st_index_t hash; - - GUARD_OBJ(p, GetVpValue(self, 1)); - hash = (st_index_t)p->sign; - /* hash!=2: the case for 0(1),NaN(0) or +-Infinity(3) is sign itself */ - if(hash == 2 || hash == (st_index_t)-2) { - hash ^= rb_memhash(p->frac, sizeof(DECDIG)*p->Prec); - hash += p->exponent; - } - return ST2FIX(hash); -} - -/* - * call-seq: - * _dump -> string - * - * Returns a string representing the marshalling of +self+. - * See module Marshal. - * - * inf = BigDecimal('Infinity') # => Infinity - * dumped = inf._dump # => "9:Infinity" - * BigDecimal._load(dumped) # => Infinity - * - */ -static VALUE -BigDecimal_dump(int argc, VALUE *argv, VALUE self) -{ - ENTER(5); - Real *vp; - char *psz; - VALUE dummy; - volatile VALUE dump; - size_t len; - - rb_scan_args(argc, argv, "01", &dummy); - GUARD_OBJ(vp,GetVpValue(self, 1)); - dump = rb_str_new(0, VpNumOfChars(vp, "E")+50); - psz = RSTRING_PTR(dump); - snprintf(psz, RSTRING_LEN(dump), "%"PRIuSIZE":", VpMaxPrec(vp)*VpBaseFig()); - len = strlen(psz); - VpToString(vp, psz+len, RSTRING_LEN(dump)-len, 0, 0); - rb_str_resize(dump, strlen(psz)); - return dump; -} - -/* - * Internal method used to provide marshalling support. See the Marshal module. - */ -static VALUE -BigDecimal_load(VALUE self, VALUE str) -{ - ENTER(2); - Real *pv; - unsigned char *pch; - unsigned char ch; - unsigned long m=0; - - pch = (unsigned char *)StringValueCStr(str); - /* First get max prec */ - while((*pch) != (unsigned char)'\0' && (ch = *pch++) != (unsigned char)':') { - if(!ISDIGIT(ch)) { - rb_raise(rb_eTypeError, "load failed: invalid character in the marshaled string"); - } - m = m*10 + (unsigned long)(ch-'0'); - } - if (m > VpBaseFig()) m -= VpBaseFig(); - GUARD_OBJ(pv, VpNewRbClass(m, (char *)pch, self, true, true)); - m /= VpBaseFig(); - if (m && pv->MaxPrec > m) { - pv->MaxPrec = m+1; - } - return VpCheckGetValue(pv); -} - -static unsigned short -check_rounding_mode_option(VALUE const opts) -{ - VALUE mode; - char const *s; - long l; - - assert(RB_TYPE_P(opts, T_HASH)); - - if (NIL_P(opts)) - goto no_opt; - - mode = rb_hash_lookup2(opts, ID2SYM(id_half), Qundef); - if (mode == Qundef || NIL_P(mode)) - goto no_opt; - - if (SYMBOL_P(mode)) - mode = rb_sym2str(mode); - else if (!RB_TYPE_P(mode, T_STRING)) { - VALUE str_mode = rb_check_string_type(mode); - if (NIL_P(str_mode)) - goto invalid; - mode = str_mode; - } - s = RSTRING_PTR(mode); - l = RSTRING_LEN(mode); - switch (l) { - case 2: - if (strncasecmp(s, "up", 2) == 0) - return VP_ROUND_HALF_UP; - break; - case 4: - if (strncasecmp(s, "even", 4) == 0) - return VP_ROUND_HALF_EVEN; - else if (strncasecmp(s, "down", 4) == 0) - return VP_ROUND_HALF_DOWN; - break; - default: - break; - } - - invalid: - rb_raise(rb_eArgError, "invalid rounding mode (%"PRIsVALUE")", mode); - - no_opt: - return VpGetRoundMode(); -} - -static unsigned short -check_rounding_mode(VALUE const v) -{ - unsigned short sw; - ID id; - if (RB_TYPE_P(v, T_SYMBOL)) { - int i; - id = SYM2ID(v); - for (i = 0; i < RBD_NUM_ROUNDING_MODES; ++i) { - if (rbd_rounding_modes[i].id == id) { - return rbd_rounding_modes[i].mode; - } - } - rb_raise(rb_eArgError, "invalid rounding mode (%"PRIsVALUE")", v); - } - else { - sw = NUM2USHORT(v); - if (!VpIsRoundMode(sw)) { - rb_raise(rb_eArgError, "invalid rounding mode (%"PRIsVALUE")", v); - } - return sw; - } -} - -/* call-seq: - * BigDecimal.mode(mode, setting = nil) -> integer - * - * Returns an integer representing the mode settings - * for exception handling and rounding. - * - * These modes control exception handling: - * - * - \BigDecimal::EXCEPTION_NaN. - * - \BigDecimal::EXCEPTION_INFINITY. - * - \BigDecimal::EXCEPTION_UNDERFLOW. - * - \BigDecimal::EXCEPTION_OVERFLOW. - * - \BigDecimal::EXCEPTION_ZERODIVIDE. - * - \BigDecimal::EXCEPTION_ALL. - * - * Values for +setting+ for exception handling: - * - * - +true+: sets the given +mode+ to +true+. - * - +false+: sets the given +mode+ to +false+. - * - +nil+: does not modify the mode settings. - * - * You can use method BigDecimal.save_exception_mode - * to temporarily change, and then automatically restore, exception modes. - * - * For clarity, some examples below begin by setting all - * exception modes to +false+. - * - * This mode controls the way rounding is to be performed: - * - * - \BigDecimal::ROUND_MODE - * - * You can use method BigDecimal.save_rounding_mode - * to temporarily change, and then automatically restore, the rounding mode. - * - * NaNs - * - * Mode \BigDecimal::EXCEPTION_NaN controls behavior - * when a \BigDecimal NaN is created. - * - * Settings: - * - * - +false+ (default): Returns BigDecimal('NaN'). - * - +true+: Raises FloatDomainError. - * - * Examples: - * - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 - * BigDecimal('NaN') # => NaN - * BigDecimal.mode(BigDecimal::EXCEPTION_NaN, true) # => 2 - * BigDecimal('NaN') # Raises FloatDomainError - * - * Infinities - * - * Mode \BigDecimal::EXCEPTION_INFINITY controls behavior - * when a \BigDecimal Infinity or -Infinity is created. - * Settings: - * - * - +false+ (default): Returns BigDecimal('Infinity') - * or BigDecimal('-Infinity'). - * - +true+: Raises FloatDomainError. - * - * Examples: - * - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 - * BigDecimal('Infinity') # => Infinity - * BigDecimal('-Infinity') # => -Infinity - * BigDecimal.mode(BigDecimal::EXCEPTION_INFINITY, true) # => 1 - * BigDecimal('Infinity') # Raises FloatDomainError - * BigDecimal('-Infinity') # Raises FloatDomainError - * - * Underflow - * - * Mode \BigDecimal::EXCEPTION_UNDERFLOW controls behavior - * when a \BigDecimal underflow occurs. - * Settings: - * - * - +false+ (default): Returns BigDecimal('0') - * or BigDecimal('-Infinity'). - * - +true+: Raises FloatDomainError. - * - * Examples: - * - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 - * def flow_under - * x = BigDecimal('0.1') - * 100.times { x *= x } - * end - * flow_under # => 100 - * BigDecimal.mode(BigDecimal::EXCEPTION_UNDERFLOW, true) # => 4 - * flow_under # Raises FloatDomainError - * - * Overflow - * - * Mode \BigDecimal::EXCEPTION_OVERFLOW controls behavior - * when a \BigDecimal overflow occurs. - * Settings: - * - * - +false+ (default): Returns BigDecimal('Infinity') - * or BigDecimal('-Infinity'). - * - +true+: Raises FloatDomainError. - * - * Examples: - * - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 - * def flow_over - * x = BigDecimal('10') - * 100.times { x *= x } - * end - * flow_over # => 100 - * BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, true) # => 1 - * flow_over # Raises FloatDomainError - * - * Zero Division - * - * Mode \BigDecimal::EXCEPTION_ZERODIVIDE controls behavior - * when a zero-division occurs. - * Settings: - * - * - +false+ (default): Returns BigDecimal('Infinity') - * or BigDecimal('-Infinity'). - * - +true+: Raises FloatDomainError. - * - * Examples: - * - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 - * one = BigDecimal('1') - * zero = BigDecimal('0') - * one / zero # => Infinity - * BigDecimal.mode(BigDecimal::EXCEPTION_ZERODIVIDE, true) # => 16 - * one / zero # Raises FloatDomainError - * - * All Exceptions - * - * Mode \BigDecimal::EXCEPTION_ALL controls all of the above: - * - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, false) # => 0 - * BigDecimal.mode(BigDecimal::EXCEPTION_ALL, true) # => 23 - * - * Rounding - * - * Mode \BigDecimal::ROUND_MODE controls the way rounding is to be performed; - * its +setting+ values are: - * - * - +ROUND_UP+: Round away from zero. - * Aliased as +:up+. - * - +ROUND_DOWN+: Round toward zero. - * Aliased as +:down+ and +:truncate+. - * - +ROUND_HALF_UP+: Round toward the nearest neighbor; - * if the neighbors are equidistant, round away from zero. - * Aliased as +:half_up+ and +:default+. - * - +ROUND_HALF_DOWN+: Round toward the nearest neighbor; - * if the neighbors are equidistant, round toward zero. - * Aliased as +:half_down+. - * - +ROUND_HALF_EVEN+ (Banker's rounding): Round toward the nearest neighbor; - * if the neighbors are equidistant, round toward the even neighbor. - * Aliased as +:half_even+ and +:banker+. - * - +ROUND_CEILING+: Round toward positive infinity. - * Aliased as +:ceiling+ and +:ceil+. - * - +ROUND_FLOOR+: Round toward negative infinity. - * Aliased as +:floor:+. - * - */ -static VALUE -BigDecimal_mode(int argc, VALUE *argv, VALUE self) -{ - VALUE which; - VALUE val; - unsigned long f,fo; - - rb_scan_args(argc, argv, "11", &which, &val); - f = (unsigned long)NUM2INT(which); - - if (f & VP_EXCEPTION_ALL) { - /* Exception mode setting */ - fo = VpGetException(); - if (val == Qnil) return INT2FIX(fo); - if (val != Qfalse && val!=Qtrue) { - rb_raise(rb_eArgError, "second argument must be true or false"); - return Qnil; /* Not reached */ - } - if (f & VP_EXCEPTION_INFINITY) { - VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_INFINITY) : - (fo & (~VP_EXCEPTION_INFINITY)))); - } - fo = VpGetException(); - if (f & VP_EXCEPTION_NaN) { - VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_NaN) : - (fo & (~VP_EXCEPTION_NaN)))); - } - fo = VpGetException(); - if (f & VP_EXCEPTION_UNDERFLOW) { - VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_UNDERFLOW) : - (fo & (~VP_EXCEPTION_UNDERFLOW)))); - } - fo = VpGetException(); - if(f & VP_EXCEPTION_ZERODIVIDE) { - VpSetException((unsigned short)((val == Qtrue) ? (fo | VP_EXCEPTION_ZERODIVIDE) : - (fo & (~VP_EXCEPTION_ZERODIVIDE)))); - } - fo = VpGetException(); - return INT2FIX(fo); - } - if (VP_ROUND_MODE == f) { - /* Rounding mode setting */ - unsigned short sw; - fo = VpGetRoundMode(); - if (NIL_P(val)) return INT2FIX(fo); - sw = check_rounding_mode(val); - fo = VpSetRoundMode(sw); - return INT2FIX(fo); - } - rb_raise(rb_eTypeError, "first argument for BigDecimal.mode invalid"); - return Qnil; -} - -static size_t -GetAddSubPrec(Real *a, Real *b) -{ - size_t mxs; - size_t mx = a->Prec; - SIGNED_VALUE d; - - if (!VpIsDef(a) || !VpIsDef(b)) return (size_t)-1L; - if (mx < b->Prec) mx = b->Prec; - if (a->exponent != b->exponent) { - mxs = mx; - d = a->exponent - b->exponent; - if (d < 0) d = -d; - mx = mx + (size_t)d; - if (mx < mxs) { - return VpException(VP_EXCEPTION_INFINITY, "Exponent overflow", 0); - } - } - return mx; -} - -static inline SIGNED_VALUE -check_int_precision(VALUE v) -{ - SIGNED_VALUE n; -#if SIZEOF_VALUE <= SIZEOF_LONG - n = (SIGNED_VALUE)NUM2LONG(v); -#elif SIZEOF_VALUE <= SIZEOF_LONG_LONG - n = (SIGNED_VALUE)NUM2LL(v); -#else -# error SIZEOF_VALUE is too large -#endif - if (n < 0) { - rb_raise(rb_eArgError, "negative precision"); - } - return n; -} - -static VALUE -BigDecimal_wrap_struct(VALUE obj, Real *vp) -{ - assert(is_kind_of_BigDecimal(obj)); - assert(vp != NULL); - - if (vp->obj == obj && RTYPEDDATA_DATA(obj) == vp) - return obj; - - assert(RTYPEDDATA_DATA(obj) == NULL); - assert(vp->obj == 0); - - RTYPEDDATA_DATA(obj) = vp; - vp->obj = obj; - RB_OBJ_FREEZE(obj); - return obj; -} - -VP_EXPORT Real * -VpNewRbClass(size_t mx, const char *str, VALUE klass, bool strict_p, bool raise_exception) -{ - VALUE obj = TypedData_Wrap_Struct(klass, &BigDecimal_data_type, 0); - Real *pv = VpAlloc(mx, str, strict_p, raise_exception); - if (!pv) - return NULL; - BigDecimal_wrap_struct(obj, pv); - return pv; -} - -VP_EXPORT Real * -VpCreateRbObject(size_t mx, const char *str, bool raise_exception) -{ - return VpNewRbClass(mx, str, rb_cBigDecimal, true, raise_exception); -} - -static Real * -VpCopy(Real *pv, Real const* const x) -{ - assert(x != NULL); - - pv = rbd_reallocate_struct(pv, x->MaxPrec); - pv->MaxPrec = x->MaxPrec; - pv->Prec = x->Prec; - pv->exponent = x->exponent; - pv->sign = x->sign; - pv->flag = x->flag; - MEMCPY(pv->frac, x->frac, DECDIG, pv->MaxPrec); - - return pv; -} - -/* Returns True if the value is Not a Number. */ -static VALUE -BigDecimal_IsNaN(VALUE self) -{ - Real *p = GetVpValue(self, 1); - if (VpIsNaN(p)) return Qtrue; - return Qfalse; -} - -/* Returns nil, -1, or +1 depending on whether the value is finite, - * -Infinity, or +Infinity. - */ -static VALUE -BigDecimal_IsInfinite(VALUE self) -{ - Real *p = GetVpValue(self, 1); - if (VpIsPosInf(p)) return INT2FIX(1); - if (VpIsNegInf(p)) return INT2FIX(-1); - return Qnil; -} - -/* Returns True if the value is finite (not NaN or infinite). */ -static VALUE -BigDecimal_IsFinite(VALUE self) -{ - Real *p = GetVpValue(self, 1); - if (VpIsNaN(p)) return Qfalse; - if (VpIsInf(p)) return Qfalse; - return Qtrue; -} - -static void -BigDecimal_check_num(Real *p) -{ - VpCheckException(p, true); -} - -static VALUE BigDecimal_split(VALUE self); - -/* Returns the value as an Integer. - * - * If the BigDecimal is infinity or NaN, raises FloatDomainError. - */ -static VALUE -BigDecimal_to_i(VALUE self) -{ - ENTER(5); - ssize_t e, nf; - Real *p; - - GUARD_OBJ(p, GetVpValue(self, 1)); - BigDecimal_check_num(p); - - e = VpExponent10(p); - if (e <= 0) return INT2FIX(0); - nf = VpBaseFig(); - if (e <= nf) { - return LONG2NUM((long)(VpGetSign(p) * (DECDIG_DBL_SIGNED)p->frac[0])); - } - else { - VALUE a = BigDecimal_split(self); - VALUE digits = RARRAY_AREF(a, 1); - VALUE numerator = rb_funcall(digits, rb_intern("to_i"), 0); - VALUE ret; - ssize_t dpower = e - (ssize_t)RSTRING_LEN(digits); - - if (BIGDECIMAL_NEGATIVE_P(p)) { - numerator = rb_funcall(numerator, '*', 1, INT2FIX(-1)); - } - if (dpower < 0) { - ret = rb_funcall(numerator, rb_intern("div"), 1, - rb_funcall(INT2FIX(10), rb_intern("**"), 1, - INT2FIX(-dpower))); - } - else { - ret = rb_funcall(numerator, '*', 1, - rb_funcall(INT2FIX(10), rb_intern("**"), 1, - INT2FIX(dpower))); - } - if (RB_TYPE_P(ret, T_FLOAT)) { - rb_raise(rb_eFloatDomainError, "Infinity"); - } - return ret; - } -} - -/* Returns a new Float object having approximately the same value as the - * BigDecimal number. Normal accuracy limits and built-in errors of binary - * Float arithmetic apply. - */ -static VALUE -BigDecimal_to_f(VALUE self) -{ - ENTER(1); - Real *p; - double d; - SIGNED_VALUE e; - char *buf; - volatile VALUE str; - - GUARD_OBJ(p, GetVpValue(self, 1)); - if (VpVtoD(&d, &e, p) != 1) - return rb_float_new(d); - if (e > (SIGNED_VALUE)(DBL_MAX_10_EXP+BASE_FIG)) - goto overflow; - if (e < (SIGNED_VALUE)(DBL_MIN_10_EXP-BASE_FIG)) - goto underflow; - - str = rb_str_new(0, VpNumOfChars(p, "E")); - buf = RSTRING_PTR(str); - VpToString(p, buf, RSTRING_LEN(str), 0, 0); - errno = 0; - d = strtod(buf, 0); - if (errno == ERANGE) { - if (d == 0.0) goto underflow; - if (fabs(d) >= HUGE_VAL) goto overflow; - } - return rb_float_new(d); - -overflow: - VpException(VP_EXCEPTION_OVERFLOW, "BigDecimal to Float conversion", 0); - if (BIGDECIMAL_NEGATIVE_P(p)) - return rb_float_new(VpGetDoubleNegInf()); - else - return rb_float_new(VpGetDoublePosInf()); - -underflow: - VpException(VP_EXCEPTION_UNDERFLOW, "BigDecimal to Float conversion", 0); - if (BIGDECIMAL_NEGATIVE_P(p)) - return rb_float_new(-0.0); - else - return rb_float_new(0.0); -} - - -/* Converts a BigDecimal to a Rational. - */ -static VALUE -BigDecimal_to_r(VALUE self) -{ - Real *p; - ssize_t sign, power, denomi_power; - VALUE a, digits, numerator; - - p = GetVpValue(self, 1); - BigDecimal_check_num(p); - - sign = VpGetSign(p); - power = VpExponent10(p); - a = BigDecimal_split(self); - digits = RARRAY_AREF(a, 1); - denomi_power = power - RSTRING_LEN(digits); - numerator = rb_funcall(digits, rb_intern("to_i"), 0); - - if (sign < 0) { - numerator = rb_funcall(numerator, '*', 1, INT2FIX(-1)); - } - if (denomi_power < 0) { - return rb_Rational(numerator, - rb_funcall(INT2FIX(10), rb_intern("**"), 1, - INT2FIX(-denomi_power))); - } - else { - return rb_Rational1(rb_funcall(numerator, '*', 1, - rb_funcall(INT2FIX(10), rb_intern("**"), 1, - INT2FIX(denomi_power)))); - } -} - -/* The coerce method provides support for Ruby type coercion. It is not - * enabled by default. - * - * This means that binary operations like + * / or - can often be performed - * on a BigDecimal and an object of another type, if the other object can - * be coerced into a BigDecimal value. - * - * e.g. - * a = BigDecimal("1.0") - * b = a / 2.0 #=> 0.5 - * - * Note that coercing a String to a BigDecimal is not supported by default; - * it requires a special compile-time option when building Ruby. - */ -static VALUE -BigDecimal_coerce(VALUE self, VALUE other) -{ - ENTER(2); - VALUE obj; - Real *b; - - if (RB_TYPE_P(other, T_FLOAT)) { - GUARD_OBJ(b, GetVpValueWithPrec(other, 0, 1)); - obj = rb_assoc_new(VpCheckGetValue(b), self); - } - else { - if (RB_TYPE_P(other, T_RATIONAL)) { - Real* pv = DATA_PTR(self); - GUARD_OBJ(b, GetVpValueWithPrec(other, pv->Prec*VpBaseFig(), 1)); - } - else { - GUARD_OBJ(b, GetVpValue(other, 1)); - } - obj = rb_assoc_new(b->obj, self); - } - - return obj; -} - -/* - * call-seq: - * +big_decimal -> self - * - * Returns +self+: - * - * +BigDecimal(5) # => 0.5e1 - * +BigDecimal(-5) # => -0.5e1 - * - */ - -static VALUE -BigDecimal_uplus(VALUE self) -{ - return self; -} - - /* - * call-seq: - * self + value -> bigdecimal - * - * Returns the \BigDecimal sum of +self+ and +value+: - * - * b = BigDecimal('111111.111') # => 0.111111111e6 - * b + 2 # => 0.111113111e6 - * b + 2.0 # => 0.111113111e6 - * b + Rational(2, 1) # => 0.111113111e6 - * b + Complex(2, 0) # => (0.111113111e6+0i) - * - * See the {Note About Precision}[BigDecimal.html#class-BigDecimal-label-A+Note+About+Precision]. - * - */ - -static VALUE -BigDecimal_add(VALUE self, VALUE r) -{ - ENTER(5); - Real *c, *a, *b; - size_t mx; - - GUARD_OBJ(a, GetVpValue(self, 1)); - if (RB_TYPE_P(r, T_FLOAT)) { - b = GetVpValueWithPrec(r, 0, 1); - } - else if (RB_TYPE_P(r, T_RATIONAL)) { - b = GetVpValueWithPrec(r, a->Prec*VpBaseFig(), 1); - } - else { - b = GetVpValue(r, 0); - } - - if (!b) return DoSomeOne(self,r,'+'); - SAVE(b); - - if (VpIsNaN(b)) return b->obj; - if (VpIsNaN(a)) return a->obj; - - mx = GetAddSubPrec(a, b); - if (mx == (size_t)-1L) { - GUARD_OBJ(c, NewZeroWrapLimited(1, VpBaseFig() + 1)); - VpAddSub(c, a, b, 1); - } - else { - GUARD_OBJ(c, NewZeroWrapLimited(1, mx * (VpBaseFig() + 1))); - if (!mx) { - VpSetInf(c, VpGetSign(a)); - } - else { - VpAddSub(c, a, b, 1); - } - } - return VpCheckGetValue(c); -} - - /* call-seq: - * self - value -> bigdecimal - * - * Returns the \BigDecimal difference of +self+ and +value+: - * - * b = BigDecimal('333333.333') # => 0.333333333e6 - * b - 2 # => 0.333331333e6 - * b - 2.0 # => 0.333331333e6 - * b - Rational(2, 1) # => 0.333331333e6 - * b - Complex(2, 0) # => (0.333331333e6+0i) - * - * See the {Note About Precision}[BigDecimal.html#class-BigDecimal-label-A+Note+About+Precision]. - * - */ -static VALUE -BigDecimal_sub(VALUE self, VALUE r) -{ - ENTER(5); - Real *c, *a, *b; - size_t mx; - - GUARD_OBJ(a, GetVpValue(self,1)); - if (RB_TYPE_P(r, T_FLOAT)) { - b = GetVpValueWithPrec(r, 0, 1); - } - else if (RB_TYPE_P(r, T_RATIONAL)) { - b = GetVpValueWithPrec(r, a->Prec*VpBaseFig(), 1); - } - else { - b = GetVpValue(r,0); - } - - if (!b) return DoSomeOne(self,r,'-'); - SAVE(b); - - if (VpIsNaN(b)) return b->obj; - if (VpIsNaN(a)) return a->obj; - - mx = GetAddSubPrec(a,b); - if (mx == (size_t)-1L) { - GUARD_OBJ(c, NewZeroWrapLimited(1, VpBaseFig() + 1)); - VpAddSub(c, a, b, -1); - } - else { - GUARD_OBJ(c, NewZeroWrapLimited(1, mx *(VpBaseFig() + 1))); - if (!mx) { - VpSetInf(c,VpGetSign(a)); - } - else { - VpAddSub(c, a, b, -1); - } - } - return VpCheckGetValue(c); -} - -static VALUE -BigDecimalCmp(VALUE self, VALUE r,char op) -{ - ENTER(5); - SIGNED_VALUE e; - Real *a, *b=0; - GUARD_OBJ(a, GetVpValue(self, 1)); - switch (TYPE(r)) { - case T_DATA: - if (!is_kind_of_BigDecimal(r)) break; - /* fall through */ - case T_FIXNUM: - /* fall through */ - case T_BIGNUM: - GUARD_OBJ(b, GetVpValue(r, 0)); - break; - - case T_FLOAT: - GUARD_OBJ(b, GetVpValueWithPrec(r, 0, 0)); - break; - - case T_RATIONAL: - GUARD_OBJ(b, GetVpValueWithPrec(r, a->Prec*VpBaseFig(), 0)); - break; - - default: - break; - } - if (b == NULL) { - ID f = 0; - - switch (op) { - case '*': - return rb_num_coerce_cmp(self, r, rb_intern("<=>")); - - case '=': - return RTEST(rb_num_coerce_cmp(self, r, rb_intern("=="))) ? Qtrue : Qfalse; - - case 'G': - f = rb_intern(">="); - break; - - case 'L': - f = rb_intern("<="); - break; - - case '>': - /* fall through */ - case '<': - f = (ID)op; - break; - - default: - break; - } - return rb_num_coerce_relop(self, r, f); - } - SAVE(b); - e = VpComp(a, b); - if (e == 999) - return (op == '*') ? Qnil : Qfalse; - switch (op) { - case '*': - return INT2FIX(e); /* any op */ - - case '=': - if (e == 0) return Qtrue; - return Qfalse; - - case 'G': - if (e >= 0) return Qtrue; - return Qfalse; - - case '>': - if (e > 0) return Qtrue; - return Qfalse; - - case 'L': - if (e <= 0) return Qtrue; - return Qfalse; - - case '<': - if (e < 0) return Qtrue; - return Qfalse; - - default: - break; - } - - rb_bug("Undefined operation in BigDecimalCmp()"); - - UNREACHABLE; -} - -/* Returns True if the value is zero. */ -static VALUE -BigDecimal_zero(VALUE self) -{ - Real *a = GetVpValue(self, 1); - return VpIsZero(a) ? Qtrue : Qfalse; -} - -/* Returns self if the value is non-zero, nil otherwise. */ -static VALUE -BigDecimal_nonzero(VALUE self) -{ - Real *a = GetVpValue(self, 1); - return VpIsZero(a) ? Qnil : self; -} - -/* The comparison operator. - * a <=> b is 0 if a == b, 1 if a > b, -1 if a < b. - */ -static VALUE -BigDecimal_comp(VALUE self, VALUE r) -{ - return BigDecimalCmp(self, r, '*'); -} - -/* - * Tests for value equality; returns true if the values are equal. - * - * The == and === operators and the eql? method have the same implementation - * for BigDecimal. - * - * Values may be coerced to perform the comparison: - * - * BigDecimal('1.0') == 1.0 #=> true - */ -static VALUE -BigDecimal_eq(VALUE self, VALUE r) -{ - return BigDecimalCmp(self, r, '='); -} - -/* call-seq: - * self < other -> true or false - * - * Returns +true+ if +self+ is less than +other+, +false+ otherwise: - * - * b = BigDecimal('1.5') # => 0.15e1 - * b < 2 # => true - * b < 2.0 # => true - * b < Rational(2, 1) # => true - * b < 1.5 # => false - * - * Raises an exception if the comparison cannot be made. - * - */ -static VALUE -BigDecimal_lt(VALUE self, VALUE r) -{ - return BigDecimalCmp(self, r, '<'); -} - -/* call-seq: - * self <= other -> true or false - * - * Returns +true+ if +self+ is less or equal to than +other+, +false+ otherwise: - * - * b = BigDecimal('1.5') # => 0.15e1 - * b <= 2 # => true - * b <= 2.0 # => true - * b <= Rational(2, 1) # => true - * b <= 1.5 # => true - * b < 1 # => false - * - * Raises an exception if the comparison cannot be made. - * - */ -static VALUE -BigDecimal_le(VALUE self, VALUE r) -{ - return BigDecimalCmp(self, r, 'L'); -} - -/* call-seq: - * self > other -> true or false - * - * Returns +true+ if +self+ is greater than +other+, +false+ otherwise: - * - * b = BigDecimal('1.5') - * b > 1 # => true - * b > 1.0 # => true - * b > Rational(1, 1) # => true - * b > 2 # => false - * - * Raises an exception if the comparison cannot be made. - * - */ -static VALUE -BigDecimal_gt(VALUE self, VALUE r) -{ - return BigDecimalCmp(self, r, '>'); -} - -/* call-seq: - * self >= other -> true or false - * - * Returns +true+ if +self+ is greater than or equal to +other+, +false+ otherwise: - * - * b = BigDecimal('1.5') - * b >= 1 # => true - * b >= 1.0 # => true - * b >= Rational(1, 1) # => true - * b >= 1.5 # => true - * b > 2 # => false - * - * Raises an exception if the comparison cannot be made. - * - */ -static VALUE -BigDecimal_ge(VALUE self, VALUE r) -{ - return BigDecimalCmp(self, r, 'G'); -} - -/* - * call-seq: - * -self -> bigdecimal - * - * Returns the \BigDecimal negation of self: - * - * b0 = BigDecimal('1.5') - * b1 = -b0 # => -0.15e1 - * b2 = -b1 # => 0.15e1 - * - */ - -static VALUE -BigDecimal_neg(VALUE self) -{ - ENTER(5); - Real *c, *a; - GUARD_OBJ(a, GetVpValue(self, 1)); - GUARD_OBJ(c, NewZeroWrapLimited(1, a->Prec *(VpBaseFig() + 1))); - VpAsgn(c, a, -1); - return VpCheckGetValue(c); -} - -static VALUE -BigDecimal_mult(VALUE self, VALUE r) -{ - ENTER(5); - Real *c, *a, *b; - size_t mx; - - GUARD_OBJ(a, GetVpValue(self, 1)); - if (RB_TYPE_P(r, T_FLOAT)) { - b = GetVpValueWithPrec(r, 0, 1); - } - else if (RB_TYPE_P(r, T_RATIONAL)) { - b = GetVpValueWithPrec(r, a->Prec*VpBaseFig(), 1); - } - else { - b = GetVpValue(r,0); - } - - if (!b) return DoSomeOne(self, r, '*'); - SAVE(b); - - mx = a->Prec + b->Prec; - GUARD_OBJ(c, NewZeroWrapLimited(1, mx * (VpBaseFig() + 1))); - VpMult(c, a, b); - return VpCheckGetValue(c); -} - -static VALUE -BigDecimal_divide(VALUE self, VALUE r, Real **c, Real **res, Real **div) -/* For c = self.div(r): with round operation */ -{ - ENTER(5); - Real *a, *b; - ssize_t a_prec, b_prec; - size_t mx; - - TypedData_Get_Struct(self, Real, &BigDecimal_data_type, a); - SAVE(a); - - VALUE rr = r; - if (is_kind_of_BigDecimal(rr)) { - /* do nothing */ - } - else if (RB_INTEGER_TYPE_P(r)) { - rr = rb_inum_convert_to_BigDecimal(r, 0, true); - } - else if (RB_TYPE_P(r, T_FLOAT)) { - rr = rb_float_convert_to_BigDecimal(r, 0, true); - } - else if (RB_TYPE_P(r, T_RATIONAL)) { - rr = rb_rational_convert_to_BigDecimal(r, a->Prec*BASE_FIG, true); - } - - if (!is_kind_of_BigDecimal(rr)) { - return DoSomeOne(self, r, '/'); - } - - TypedData_Get_Struct(rr, Real, &BigDecimal_data_type, b); - SAVE(b); - *div = b; - - BigDecimal_count_precision_and_scale(self, &a_prec, NULL); - BigDecimal_count_precision_and_scale(rr, &b_prec, NULL); - mx = (a_prec > b_prec) ? a_prec : b_prec; - mx *= 2; - - if (2*BIGDECIMAL_DOUBLE_FIGURES > mx) - mx = 2*BIGDECIMAL_DOUBLE_FIGURES; - - GUARD_OBJ((*c), NewZeroWrapNolimit(1, mx + 2*BASE_FIG)); - GUARD_OBJ((*res), NewZeroWrapNolimit(1, (mx + 1)*2 + 2*BASE_FIG)); - VpDivd(*c, *res, a, b); - - return Qnil; -} - -static VALUE BigDecimal_DoDivmod(VALUE self, VALUE r, Real **div, Real **mod); - -/* call-seq: - * a / b -> bigdecimal - * - * Divide by the specified value. - * - * The result precision will be the precision of the larger operand, - * but its minimum is 2*Float::DIG. - * - * See BigDecimal#div. - * See BigDecimal#quo. - */ -static VALUE -BigDecimal_div(VALUE self, VALUE r) -/* For c = self/r: with round operation */ -{ - ENTER(5); - Real *c=NULL, *res=NULL, *div = NULL; - r = BigDecimal_divide(self, r, &c, &res, &div); - if (!NIL_P(r)) return r; /* coerced by other */ - SAVE(c); SAVE(res); SAVE(div); - /* a/b = c + r/b */ - /* c xxxxx - r 00000yyyyy ==> (y/b)*BASE >= HALF_BASE - */ - /* Round */ - if (VpHasVal(div)) { /* frac[0] must be zero for NaN,INF,Zero */ - VpInternalRound(c, 0, c->frac[c->Prec-1], (DECDIG)(VpBaseVal() * (DECDIG_DBL)res->frac[0] / div->frac[0])); - } - return VpCheckGetValue(c); -} - -static VALUE BigDecimal_round(int argc, VALUE *argv, VALUE self); - -/* call-seq: - * quo(value) -> bigdecimal - * quo(value, digits) -> bigdecimal - * - * Divide by the specified value. - * - * digits:: If specified and less than the number of significant digits of - * the result, the result is rounded to the given number of digits, - * according to the rounding mode indicated by BigDecimal.mode. - * - * If digits is 0 or omitted, the result is the same as for the - * / operator. - * - * See BigDecimal#/. - * See BigDecimal#div. - */ -static VALUE -BigDecimal_quo(int argc, VALUE *argv, VALUE self) -{ - VALUE value, digits, result; - SIGNED_VALUE n = -1; - - argc = rb_scan_args(argc, argv, "11", &value, &digits); - if (argc > 1) { - n = check_int_precision(digits); - } - - if (n > 0) { - result = BigDecimal_div2(self, value, digits); - } - else { - result = BigDecimal_div(self, value); - } - - return result; -} - -/* - * %: mod = a%b = a - (a.to_f/b).floor * b - * div = (a.to_f/b).floor - */ -static VALUE -BigDecimal_DoDivmod(VALUE self, VALUE r, Real **div, Real **mod) -{ - ENTER(8); - Real *c=NULL, *d=NULL, *res=NULL; - Real *a, *b; - ssize_t a_prec, b_prec; - size_t mx; - - TypedData_Get_Struct(self, Real, &BigDecimal_data_type, a); - SAVE(a); - - VALUE rr = r; - if (is_kind_of_BigDecimal(rr)) { - /* do nothing */ - } - else if (RB_INTEGER_TYPE_P(r)) { - rr = rb_inum_convert_to_BigDecimal(r, 0, true); - } - else if (RB_TYPE_P(r, T_FLOAT)) { - rr = rb_float_convert_to_BigDecimal(r, 0, true); - } - else if (RB_TYPE_P(r, T_RATIONAL)) { - rr = rb_rational_convert_to_BigDecimal(r, a->Prec*BASE_FIG, true); - } - - if (!is_kind_of_BigDecimal(rr)) { - return Qfalse; - } - - TypedData_Get_Struct(rr, Real, &BigDecimal_data_type, b); - SAVE(b); - - if (VpIsNaN(a) || VpIsNaN(b)) goto NaN; - if (VpIsInf(a) && VpIsInf(b)) goto NaN; - if (VpIsZero(b)) { - rb_raise(rb_eZeroDivError, "divided by 0"); - } - if (VpIsInf(a)) { - if (VpGetSign(a) == VpGetSign(b)) { - VALUE inf = BigDecimal_positive_infinity(); - TypedData_Get_Struct(inf, Real, &BigDecimal_data_type, *div); - } - else { - VALUE inf = BigDecimal_negative_infinity(); - TypedData_Get_Struct(inf, Real, &BigDecimal_data_type, *div); - } - VALUE nan = BigDecimal_nan(); - TypedData_Get_Struct(nan, Real, &BigDecimal_data_type, *mod); - return Qtrue; - } - if (VpIsInf(b)) { - VALUE zero = BigDecimal_positive_zero(); - TypedData_Get_Struct(zero, Real, &BigDecimal_data_type, *div); - *mod = a; - return Qtrue; - } - if (VpIsZero(a)) { - VALUE zero = BigDecimal_positive_zero(); - TypedData_Get_Struct(zero, Real, &BigDecimal_data_type, *div); - TypedData_Get_Struct(zero, Real, &BigDecimal_data_type, *mod); - return Qtrue; - } - - BigDecimal_count_precision_and_scale(self, &a_prec, NULL); - BigDecimal_count_precision_and_scale(rr, &b_prec, NULL); - - mx = (a_prec > b_prec) ? a_prec : b_prec; - mx *= 2; - - if (2*BIGDECIMAL_DOUBLE_FIGURES > mx) - mx = 2*BIGDECIMAL_DOUBLE_FIGURES; - - GUARD_OBJ(c, NewZeroWrapLimited(1, mx + 2*BASE_FIG)); - GUARD_OBJ(res, NewZeroWrapNolimit(1, mx*2 + 2*BASE_FIG)); - VpDivd(c, res, a, b); - - mx = c->Prec * BASE_FIG; - GUARD_OBJ(d, NewZeroWrapLimited(1, mx)); - VpActiveRound(d, c, VP_ROUND_DOWN, 0); - - VpMult(res, d, b); - VpAddSub(c, a, res, -1); - - if (!VpIsZero(c) && (VpGetSign(a) * VpGetSign(b) < 0)) { - /* result adjustment for negative case */ - res = rbd_reallocate_struct(res, d->MaxPrec); - res->MaxPrec = d->MaxPrec; - VpAddSub(res, d, VpOne(), -1); - GUARD_OBJ(d, NewZeroWrapLimited(1, GetAddSubPrec(c, b) * 2*BASE_FIG)); - VpAddSub(d, c, b, 1); - *div = res; - *mod = d; - } - else { - *div = d; - *mod = c; - } - return Qtrue; - - NaN: - { - VALUE nan = BigDecimal_nan(); - TypedData_Get_Struct(nan, Real, &BigDecimal_data_type, *div); - TypedData_Get_Struct(nan, Real, &BigDecimal_data_type, *mod); - } - return Qtrue; -} - -/* call-seq: - * a % b - * a.modulo(b) - * - * Returns the modulus from dividing by b. - * - * See BigDecimal#divmod. - */ -static VALUE -BigDecimal_mod(VALUE self, VALUE r) /* %: a%b = a - (a.to_f/b).floor * b */ -{ - ENTER(3); - Real *div = NULL, *mod = NULL; - - if (BigDecimal_DoDivmod(self, r, &div, &mod)) { - SAVE(div); SAVE(mod); - return VpCheckGetValue(mod); - } - return DoSomeOne(self, r, '%'); -} - -static VALUE -BigDecimal_divremain(VALUE self, VALUE r, Real **dv, Real **rv) -{ - ENTER(10); - size_t mx; - Real *a = NULL, *b = NULL, *c = NULL, *res = NULL, *d = NULL, *rr = NULL, *ff = NULL; - Real *f = NULL; - - GUARD_OBJ(a, GetVpValue(self, 1)); - if (RB_TYPE_P(r, T_FLOAT)) { - b = GetVpValueWithPrec(r, 0, 1); - } - else if (RB_TYPE_P(r, T_RATIONAL)) { - b = GetVpValueWithPrec(r, a->Prec*VpBaseFig(), 1); - } - else { - b = GetVpValue(r, 0); - } - - if (!b) return DoSomeOne(self, r, rb_intern("remainder")); - SAVE(b); - - if (VpIsPosInf(b) || VpIsNegInf(b)) { - GUARD_OBJ(*dv, NewZeroWrapLimited(1, 1)); - VpSetZero(*dv, 1); - *rv = a; - return Qnil; - } - - mx = (a->MaxPrec + b->MaxPrec) *VpBaseFig(); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - GUARD_OBJ(res, NewZeroWrapNolimit(1, (mx+1) * 2 + (VpBaseFig() + 1))); - GUARD_OBJ(rr, NewZeroWrapNolimit(1, (mx+1) * 2 + (VpBaseFig() + 1))); - GUARD_OBJ(ff, NewZeroWrapNolimit(1, (mx+1) * 2 + (VpBaseFig() + 1))); - - VpDivd(c, res, a, b); - - mx = c->Prec *(VpBaseFig() + 1); - - GUARD_OBJ(d, NewZeroWrapLimited(1, mx)); - GUARD_OBJ(f, NewZeroWrapLimited(1, mx)); - - VpActiveRound(d, c, VP_ROUND_DOWN, 0); /* 0: round off */ - - VpFrac(f, c); - VpMult(rr, f, b); - VpAddSub(ff, res, rr, 1); - - *dv = d; - *rv = ff; - return Qnil; -} - -/* call-seq: - * remainder(value) - * - * Returns the remainder from dividing by the value. - * - * x.remainder(y) means x-y*(x/y).truncate - */ -static VALUE -BigDecimal_remainder(VALUE self, VALUE r) /* remainder */ -{ - VALUE f; - Real *d, *rv = 0; - f = BigDecimal_divremain(self, r, &d, &rv); - if (!NIL_P(f)) return f; - return VpCheckGetValue(rv); -} - -/* call-seq: - * divmod(value) - * - * Divides by the specified value, and returns the quotient and modulus - * as BigDecimal numbers. The quotient is rounded towards negative infinity. - * - * For example: - * - * require 'bigdecimal' - * - * a = BigDecimal("42") - * b = BigDecimal("9") - * - * q, m = a.divmod(b) - * - * c = q * b + m - * - * a == c #=> true - * - * The quotient q is (a/b).floor, and the modulus is the amount that must be - * added to q * b to get a. - */ -static VALUE -BigDecimal_divmod(VALUE self, VALUE r) -{ - ENTER(5); - Real *div = NULL, *mod = NULL; - - if (BigDecimal_DoDivmod(self, r, &div, &mod)) { - SAVE(div); SAVE(mod); - return rb_assoc_new(VpCheckGetValue(div), VpCheckGetValue(mod)); - } - return DoSomeOne(self,r,rb_intern("divmod")); -} - -/* - * Do the same manner as Float#div when n is nil. - * Do the same manner as BigDecimal#quo when n is 0. - */ -static inline VALUE -BigDecimal_div2(VALUE self, VALUE b, VALUE n) -{ - ENTER(5); - SIGNED_VALUE ix; - - if (NIL_P(n)) { /* div in Float sense */ - Real *div = NULL; - Real *mod; - if (BigDecimal_DoDivmod(self, b, &div, &mod)) { - return BigDecimal_to_i(VpCheckGetValue(div)); - } - return DoSomeOne(self, b, rb_intern("div")); - } - - /* div in BigDecimal sense */ - ix = check_int_precision(n); - if (ix == 0) { - return BigDecimal_div(self, b); - } - else { - Real *res = NULL; - Real *av = NULL, *bv = NULL, *cv = NULL; - size_t mx = ix + VpBaseFig()*2; - size_t b_prec = ix; - size_t pl = VpSetPrecLimit(0); - - GUARD_OBJ(cv, NewZeroWrapLimited(1, mx + VpBaseFig())); - GUARD_OBJ(av, GetVpValue(self, 1)); - /* TODO: I want to refactor this precision control for a float value later - * by introducing an implicit conversion function instead of - * GetVpValueWithPrec. */ - if (RB_FLOAT_TYPE_P(b) && b_prec > BIGDECIMAL_DOUBLE_FIGURES) { - b_prec = BIGDECIMAL_DOUBLE_FIGURES; - } - GUARD_OBJ(bv, GetVpValueWithPrec(b, b_prec, 1)); - mx = av->Prec + bv->Prec + 2; - if (mx <= cv->MaxPrec) mx = cv->MaxPrec + 1; - GUARD_OBJ(res, NewZeroWrapNolimit(1, (mx * 2 + 2)*VpBaseFig())); - VpDivd(cv, res, av, bv); - VpSetPrecLimit(pl); - VpLeftRound(cv, VpGetRoundMode(), ix); - return VpCheckGetValue(cv); - } -} - - /* - * Document-method: BigDecimal#div - * - * call-seq: - * div(value) -> integer - * div(value, digits) -> bigdecimal or integer - * - * Divide by the specified value. - * - * digits:: If specified and less than the number of significant digits of the - * result, the result is rounded to that number of digits, according - * to BigDecimal.mode. - * - * If digits is 0, the result is the same as for the / operator - * or #quo. - * - * If digits is not specified, the result is an integer, - * by analogy with Float#div; see also BigDecimal#divmod. - * - * See BigDecimal#/. - * See BigDecimal#quo. - * - * Examples: - * - * a = BigDecimal("4") - * b = BigDecimal("3") - * - * a.div(b, 3) # => 0.133e1 - * - * a.div(b, 0) # => 0.1333333333333333333e1 - * a / b # => 0.1333333333333333333e1 - * a.quo(b) # => 0.1333333333333333333e1 - * - * a.div(b) # => 1 - */ -static VALUE -BigDecimal_div3(int argc, VALUE *argv, VALUE self) -{ - VALUE b,n; - - rb_scan_args(argc, argv, "11", &b, &n); - - return BigDecimal_div2(self, b, n); -} - - /* - * call-seq: - * add(value, ndigits) -> new_bigdecimal - * - * Returns the \BigDecimal sum of +self+ and +value+ - * with a precision of +ndigits+ decimal digits. - * - * When +ndigits+ is less than the number of significant digits - * in the sum, the sum is rounded to that number of digits, - * according to the current rounding mode; see BigDecimal.mode. - * - * Examples: - * - * # Set the rounding mode. - * BigDecimal.mode(BigDecimal::ROUND_MODE, :half_up) - * b = BigDecimal('111111.111') - * b.add(1, 0) # => 0.111112111e6 - * b.add(1, 3) # => 0.111e6 - * b.add(1, 6) # => 0.111112e6 - * b.add(1, 15) # => 0.111112111e6 - * b.add(1.0, 15) # => 0.111112111e6 - * b.add(Rational(1, 1), 15) # => 0.111112111e6 - * - */ - -static VALUE -BigDecimal_add2(VALUE self, VALUE b, VALUE n) -{ - ENTER(2); - Real *cv; - SIGNED_VALUE mx = check_int_precision(n); - if (mx == 0) return BigDecimal_add(self, b); - else { - size_t pl = VpSetPrecLimit(0); - VALUE c = BigDecimal_add(self, b); - VpSetPrecLimit(pl); - GUARD_OBJ(cv, GetVpValue(c, 1)); - VpLeftRound(cv, VpGetRoundMode(), mx); - return VpCheckGetValue(cv); - } -} - -/* call-seq: - * sub(value, digits) -> bigdecimal - * - * Subtract the specified value. - * - * e.g. - * c = a.sub(b,n) - * - * digits:: If specified and less than the number of significant digits of the - * result, the result is rounded to that number of digits, according - * to BigDecimal.mode. - * - */ -static VALUE -BigDecimal_sub2(VALUE self, VALUE b, VALUE n) -{ - ENTER(2); - Real *cv; - SIGNED_VALUE mx = check_int_precision(n); - if (mx == 0) return BigDecimal_sub(self, b); - else { - size_t pl = VpSetPrecLimit(0); - VALUE c = BigDecimal_sub(self, b); - VpSetPrecLimit(pl); - GUARD_OBJ(cv, GetVpValue(c, 1)); - VpLeftRound(cv, VpGetRoundMode(), mx); - return VpCheckGetValue(cv); - } -} - - /* - * call-seq: - * mult(other, ndigits) -> bigdecimal - * - * Returns the \BigDecimal product of +self+ and +value+ - * with a precision of +ndigits+ decimal digits. - * - * When +ndigits+ is less than the number of significant digits - * in the sum, the sum is rounded to that number of digits, - * according to the current rounding mode; see BigDecimal.mode. - * - * Examples: - * - * # Set the rounding mode. - * BigDecimal.mode(BigDecimal::ROUND_MODE, :half_up) - * b = BigDecimal('555555.555') - * b.mult(3, 0) # => 0.1666666665e7 - * b.mult(3, 3) # => 0.167e7 - * b.mult(3, 6) # => 0.166667e7 - * b.mult(3, 15) # => 0.1666666665e7 - * b.mult(3.0, 0) # => 0.1666666665e7 - * b.mult(Rational(3, 1), 0) # => 0.1666666665e7 - * b.mult(Complex(3, 0), 0) # => (0.1666666665e7+0.0i) - * - */ - -static VALUE -BigDecimal_mult2(VALUE self, VALUE b, VALUE n) -{ - ENTER(2); - Real *cv; - SIGNED_VALUE mx = check_int_precision(n); - if (mx == 0) return BigDecimal_mult(self, b); - else { - size_t pl = VpSetPrecLimit(0); - VALUE c = BigDecimal_mult(self, b); - VpSetPrecLimit(pl); - GUARD_OBJ(cv, GetVpValue(c, 1)); - VpLeftRound(cv, VpGetRoundMode(), mx); - return VpCheckGetValue(cv); - } -} - -/* - * call-seq: - * abs -> bigdecimal - * - * Returns the \BigDecimal absolute value of +self+: - * - * BigDecimal('5').abs # => 0.5e1 - * BigDecimal('-3').abs # => 0.3e1 - * - */ - -static VALUE -BigDecimal_abs(VALUE self) -{ - ENTER(5); - Real *c, *a; - size_t mx; - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec *(VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpAsgn(c, a, 1); - VpChangeSign(c, 1); - return VpCheckGetValue(c); -} - -/* call-seq: - * sqrt(n) - * - * Returns the square root of the value. - * - * Result has at least n significant digits. - */ -static VALUE -BigDecimal_sqrt(VALUE self, VALUE nFig) -{ - ENTER(5); - Real *c, *a; - size_t mx, n; - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec * (VpBaseFig() + 1); - - n = check_int_precision(nFig); - n += VpDblFig() + VpBaseFig(); - if (mx <= n) mx = n; - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpSqrt(c, a); - return VpCheckGetValue(c); -} - -/* Return the integer part of the number, as a BigDecimal. - */ -static VALUE -BigDecimal_fix(VALUE self) -{ - ENTER(5); - Real *c, *a; - size_t mx; - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec *(VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpActiveRound(c, a, VP_ROUND_DOWN, 0); /* 0: round off */ - return VpCheckGetValue(c); -} - -/* call-seq: - * round(n, mode) - * - * Round to the nearest integer (by default), returning the result as a - * BigDecimal if n is specified, or as an Integer if it isn't. - * - * BigDecimal('3.14159').round #=> 3 - * BigDecimal('8.7').round #=> 9 - * BigDecimal('-9.9').round #=> -10 - * - * BigDecimal('3.14159').round(2).class.name #=> "BigDecimal" - * BigDecimal('3.14159').round.class.name #=> "Integer" - * - * If n is specified and positive, the fractional part of the result has no - * more than that many digits. - * - * If n is specified and negative, at least that many digits to the left of the - * decimal point will be 0 in the result, and return value will be an Integer. - * - * BigDecimal('3.14159').round(3) #=> 3.142 - * BigDecimal('13345.234').round(-2) #=> 13300 - * - * The value of the optional mode argument can be used to determine how - * rounding is performed; see BigDecimal.mode. - */ -static VALUE -BigDecimal_round(int argc, VALUE *argv, VALUE self) -{ - ENTER(5); - Real *c, *a; - int iLoc = 0; - VALUE vLoc; - VALUE vRound; - int round_to_int = 0; - size_t mx, pl; - - unsigned short sw = VpGetRoundMode(); - - switch (rb_scan_args(argc, argv, "02", &vLoc, &vRound)) { - case 0: - iLoc = 0; - round_to_int = 1; - break; - case 1: - if (RB_TYPE_P(vLoc, T_HASH)) { - sw = check_rounding_mode_option(vLoc); - } - else { - iLoc = NUM2INT(vLoc); - if (iLoc < 1) round_to_int = 1; - } - break; - case 2: - iLoc = NUM2INT(vLoc); - if (RB_TYPE_P(vRound, T_HASH)) { - sw = check_rounding_mode_option(vRound); - } - else { - sw = check_rounding_mode(vRound); - } - break; - default: - break; - } - - pl = VpSetPrecLimit(0); - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec * (VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpSetPrecLimit(pl); - VpActiveRound(c, a, sw, iLoc); - if (round_to_int) { - return BigDecimal_to_i(VpCheckGetValue(c)); - } - return VpCheckGetValue(c); -} - -/* call-seq: - * truncate(n) - * - * Truncate to the nearest integer (by default), returning the result as a - * BigDecimal. - * - * BigDecimal('3.14159').truncate #=> 3 - * BigDecimal('8.7').truncate #=> 8 - * BigDecimal('-9.9').truncate #=> -9 - * - * If n is specified and positive, the fractional part of the result has no - * more than that many digits. - * - * If n is specified and negative, at least that many digits to the left of the - * decimal point will be 0 in the result. - * - * BigDecimal('3.14159').truncate(3) #=> 3.141 - * BigDecimal('13345.234').truncate(-2) #=> 13300.0 - */ -static VALUE -BigDecimal_truncate(int argc, VALUE *argv, VALUE self) -{ - ENTER(5); - Real *c, *a; - int iLoc; - VALUE vLoc; - size_t mx, pl = VpSetPrecLimit(0); - - if (rb_scan_args(argc, argv, "01", &vLoc) == 0) { - iLoc = 0; - } - else { - iLoc = NUM2INT(vLoc); - } - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec * (VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpSetPrecLimit(pl); - VpActiveRound(c, a, VP_ROUND_DOWN, iLoc); /* 0: truncate */ - if (argc == 0) { - return BigDecimal_to_i(VpCheckGetValue(c)); - } - return VpCheckGetValue(c); -} - -/* Return the fractional part of the number, as a BigDecimal. - */ -static VALUE -BigDecimal_frac(VALUE self) -{ - ENTER(5); - Real *c, *a; - size_t mx; - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec * (VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpFrac(c, a); - return VpCheckGetValue(c); -} - -/* call-seq: - * floor(n) - * - * Return the largest integer less than or equal to the value, as a BigDecimal. - * - * BigDecimal('3.14159').floor #=> 3 - * BigDecimal('-9.1').floor #=> -10 - * - * If n is specified and positive, the fractional part of the result has no - * more than that many digits. - * - * If n is specified and negative, at least that - * many digits to the left of the decimal point will be 0 in the result. - * - * BigDecimal('3.14159').floor(3) #=> 3.141 - * BigDecimal('13345.234').floor(-2) #=> 13300.0 - */ -static VALUE -BigDecimal_floor(int argc, VALUE *argv, VALUE self) -{ - ENTER(5); - Real *c, *a; - int iLoc; - VALUE vLoc; - size_t mx, pl = VpSetPrecLimit(0); - - if (rb_scan_args(argc, argv, "01", &vLoc)==0) { - iLoc = 0; - } - else { - iLoc = NUM2INT(vLoc); - } - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec * (VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpSetPrecLimit(pl); - VpActiveRound(c, a, VP_ROUND_FLOOR, iLoc); -#ifdef BIGDECIMAL_DEBUG - VPrint(stderr, "floor: c=%\n", c); -#endif - if (argc == 0) { - return BigDecimal_to_i(VpCheckGetValue(c)); - } - return VpCheckGetValue(c); -} - -/* call-seq: - * ceil(n) - * - * Return the smallest integer greater than or equal to the value, as a BigDecimal. - * - * BigDecimal('3.14159').ceil #=> 4 - * BigDecimal('-9.1').ceil #=> -9 - * - * If n is specified and positive, the fractional part of the result has no - * more than that many digits. - * - * If n is specified and negative, at least that - * many digits to the left of the decimal point will be 0 in the result. - * - * BigDecimal('3.14159').ceil(3) #=> 3.142 - * BigDecimal('13345.234').ceil(-2) #=> 13400.0 - */ -static VALUE -BigDecimal_ceil(int argc, VALUE *argv, VALUE self) -{ - ENTER(5); - Real *c, *a; - int iLoc; - VALUE vLoc; - size_t mx, pl = VpSetPrecLimit(0); - - if (rb_scan_args(argc, argv, "01", &vLoc) == 0) { - iLoc = 0; - } else { - iLoc = NUM2INT(vLoc); - } - - GUARD_OBJ(a, GetVpValue(self, 1)); - mx = a->Prec * (VpBaseFig() + 1); - GUARD_OBJ(c, NewZeroWrapLimited(1, mx)); - VpSetPrecLimit(pl); - VpActiveRound(c, a, VP_ROUND_CEIL, iLoc); - if (argc == 0) { - return BigDecimal_to_i(VpCheckGetValue(c)); - } - return VpCheckGetValue(c); -} - -/* call-seq: - * to_s(s) - * - * Converts the value to a string. - * - * The default format looks like 0.xxxxEnn. - * - * The optional parameter s consists of either an integer; or an optional '+' - * or ' ', followed by an optional number, followed by an optional 'E' or 'F'. - * - * If there is a '+' at the start of s, positive values are returned with - * a leading '+'. - * - * A space at the start of s returns positive values with a leading space. - * - * If s contains a number, a space is inserted after each group of that many - * fractional digits. - * - * If s ends with an 'E', engineering notation (0.xxxxEnn) is used. - * - * If s ends with an 'F', conventional floating point notation is used. - * - * Examples: - * - * BigDecimal('-123.45678901234567890').to_s('5F') - * #=> '-123.45678 90123 45678 9' - * - * BigDecimal('123.45678901234567890').to_s('+8F') - * #=> '+123.45678901 23456789' - * - * BigDecimal('123.45678901234567890').to_s(' F') - * #=> ' 123.4567890123456789' - */ -static VALUE -BigDecimal_to_s(int argc, VALUE *argv, VALUE self) -{ - ENTER(5); - int fmt = 0; /* 0: E format, 1: F format */ - int fPlus = 0; /* 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ - Real *vp; - volatile VALUE str; - char *psz; - char ch; - size_t nc, mc = 0; - SIGNED_VALUE m; - VALUE f; - - GUARD_OBJ(vp, GetVpValue(self, 1)); - - if (rb_scan_args(argc, argv, "01", &f) == 1) { - if (RB_TYPE_P(f, T_STRING)) { - psz = StringValueCStr(f); - if (*psz == ' ') { - fPlus = 1; - psz++; - } - else if (*psz == '+') { - fPlus = 2; - psz++; - } - while ((ch = *psz++) != 0) { - if (ISSPACE(ch)) { - continue; - } - if (!ISDIGIT(ch)) { - if (ch == 'F' || ch == 'f') { - fmt = 1; /* F format */ - } - break; - } - mc = mc*10 + ch - '0'; - } - } - else { - m = NUM2INT(f); - if (m <= 0) { - rb_raise(rb_eArgError, "argument must be positive"); - } - mc = (size_t)m; - } - } - if (fmt) { - nc = VpNumOfChars(vp, "F"); - } - else { - nc = VpNumOfChars(vp, "E"); - } - if (mc > 0) { - nc += (nc + mc - 1) / mc + 1; - } - - str = rb_usascii_str_new(0, nc); - psz = RSTRING_PTR(str); - - if (fmt) { - VpToFString(vp, psz, RSTRING_LEN(str), mc, fPlus); - } - else { - VpToString (vp, psz, RSTRING_LEN(str), mc, fPlus); - } - rb_str_resize(str, strlen(psz)); - return str; -} - -/* Splits a BigDecimal number into four parts, returned as an array of values. - * - * The first value represents the sign of the BigDecimal, and is -1 or 1, or 0 - * if the BigDecimal is Not a Number. - * - * The second value is a string representing the significant digits of the - * BigDecimal, with no leading zeros. - * - * The third value is the base used for arithmetic (currently always 10) as an - * Integer. - * - * The fourth value is an Integer exponent. - * - * If the BigDecimal can be represented as 0.xxxxxx*10**n, then xxxxxx is the - * string of significant digits with no leading zeros, and n is the exponent. - * - * From these values, you can translate a BigDecimal to a float as follows: - * - * sign, significant_digits, base, exponent = a.split - * f = sign * "0.#{significant_digits}".to_f * (base ** exponent) - * - * (Note that the to_f method is provided as a more convenient way to translate - * a BigDecimal to a Float.) - */ -static VALUE -BigDecimal_split(VALUE self) -{ - ENTER(5); - Real *vp; - VALUE obj,str; - ssize_t e, s; - char *psz1; - - GUARD_OBJ(vp, GetVpValue(self, 1)); - str = rb_str_new(0, VpNumOfChars(vp, "E")); - psz1 = RSTRING_PTR(str); - VpSzMantissa(vp, psz1, RSTRING_LEN(str)); - s = 1; - if(psz1[0] == '-') { - size_t len = strlen(psz1 + 1); - - memmove(psz1, psz1 + 1, len); - psz1[len] = '\0'; - s = -1; - } - if (psz1[0] == 'N') s = 0; /* NaN */ - e = VpExponent10(vp); - obj = rb_ary_new2(4); - rb_ary_push(obj, INT2FIX(s)); - rb_ary_push(obj, str); - rb_str_resize(str, strlen(psz1)); - rb_ary_push(obj, INT2FIX(10)); - rb_ary_push(obj, SSIZET2NUM(e)); - return obj; -} - -/* Returns the exponent of the BigDecimal number, as an Integer. - * - * If the number can be represented as 0.xxxxxx*10**n where xxxxxx is a string - * of digits with no leading zeros, then n is the exponent. - */ -static VALUE -BigDecimal_exponent(VALUE self) -{ - ssize_t e = VpExponent10(GetVpValue(self, 1)); - return SSIZET2NUM(e); -} - -/* Returns a string representation of self. - * - * BigDecimal("1234.5678").inspect - * #=> "0.12345678e4" - */ -static VALUE -BigDecimal_inspect(VALUE self) -{ - ENTER(5); - Real *vp; - volatile VALUE str; - size_t nc; - - GUARD_OBJ(vp, GetVpValue(self, 1)); - nc = VpNumOfChars(vp, "E"); - - str = rb_str_new(0, nc); - VpToString(vp, RSTRING_PTR(str), RSTRING_LEN(str), 0, 0); - rb_str_resize(str, strlen(RSTRING_PTR(str))); - return str; -} - -static VALUE BigMath_s_exp(VALUE, VALUE, VALUE); -static VALUE BigMath_s_log(VALUE, VALUE, VALUE); - -#define BigMath_exp(x, n) BigMath_s_exp(rb_mBigMath, (x), (n)) -#define BigMath_log(x, n) BigMath_s_log(rb_mBigMath, (x), (n)) - -inline static int -is_integer(VALUE x) -{ - return (RB_TYPE_P(x, T_FIXNUM) || RB_TYPE_P(x, T_BIGNUM)); -} - -inline static int -is_negative(VALUE x) -{ - if (FIXNUM_P(x)) { - return FIX2LONG(x) < 0; - } - else if (RB_TYPE_P(x, T_BIGNUM)) { - return FIX2INT(rb_big_cmp(x, INT2FIX(0))) < 0; - } - else if (RB_TYPE_P(x, T_FLOAT)) { - return RFLOAT_VALUE(x) < 0.0; - } - return RTEST(rb_funcall(x, '<', 1, INT2FIX(0))); -} - -#define is_positive(x) (!is_negative(x)) - -inline static int -is_zero(VALUE x) -{ - VALUE num; - - switch (TYPE(x)) { - case T_FIXNUM: - return FIX2LONG(x) == 0; - - case T_BIGNUM: - return Qfalse; - - case T_RATIONAL: - num = rb_rational_num(x); - return FIXNUM_P(num) && FIX2LONG(num) == 0; - - default: - break; - } - - return RTEST(rb_funcall(x, id_eq, 1, INT2FIX(0))); -} - -inline static int -is_one(VALUE x) -{ - VALUE num, den; - - switch (TYPE(x)) { - case T_FIXNUM: - return FIX2LONG(x) == 1; - - case T_BIGNUM: - return Qfalse; - - case T_RATIONAL: - num = rb_rational_num(x); - den = rb_rational_den(x); - return FIXNUM_P(den) && FIX2LONG(den) == 1 && - FIXNUM_P(num) && FIX2LONG(num) == 1; - - default: - break; - } - - return RTEST(rb_funcall(x, id_eq, 1, INT2FIX(1))); -} - -inline static int -is_even(VALUE x) -{ - switch (TYPE(x)) { - case T_FIXNUM: - return (FIX2LONG(x) % 2) == 0; - - case T_BIGNUM: - { - unsigned long l; - rb_big_pack(x, &l, 1); - return l % 2 == 0; - } - - default: - break; - } - - return 0; -} - -static VALUE -bigdecimal_power_by_bigdecimal(Real const* x, Real const* exp, ssize_t const n) -{ - VALUE log_x, multiplied, y; - volatile VALUE obj = exp->obj; - - if (VpIsZero(exp)) { - return VpCheckGetValue(NewOneWrapLimited(1, n)); - } - - log_x = BigMath_log(x->obj, SSIZET2NUM(n+1)); - multiplied = BigDecimal_mult2(exp->obj, log_x, SSIZET2NUM(n+1)); - y = BigMath_exp(multiplied, SSIZET2NUM(n)); - RB_GC_GUARD(obj); - - return y; -} - -/* call-seq: - * power(n) - * power(n, prec) - * - * Returns the value raised to the power of n. - * - * Note that n must be an Integer. - * - * Also available as the operator **. - */ -static VALUE -BigDecimal_power(int argc, VALUE*argv, VALUE self) -{ - ENTER(5); - VALUE vexp, prec; - Real* exp = NULL; - Real *x, *y; - ssize_t mp, ma, n; - SIGNED_VALUE int_exp; - double d; - - rb_scan_args(argc, argv, "11", &vexp, &prec); - - GUARD_OBJ(x, GetVpValue(self, 1)); - n = NIL_P(prec) ? (ssize_t)(x->Prec*VpBaseFig()) : NUM2SSIZET(prec); - - if (VpIsNaN(x)) { - y = NewZeroWrapLimited(1, n); - VpSetNaN(y); - RB_GC_GUARD(y->obj); - return VpCheckGetValue(y); - } - - retry: - switch (TYPE(vexp)) { - case T_FIXNUM: - break; - - case T_BIGNUM: - break; - - case T_FLOAT: - d = RFLOAT_VALUE(vexp); - if (d == round(d)) { - if (FIXABLE(d)) { - vexp = LONG2FIX((long)d); - } - else { - vexp = rb_dbl2big(d); - } - goto retry; - } - if (NIL_P(prec)) { - n += BIGDECIMAL_DOUBLE_FIGURES; - } - exp = GetVpValueWithPrec(vexp, 0, 1); - break; - - case T_RATIONAL: - if (is_zero(rb_rational_num(vexp))) { - if (is_positive(vexp)) { - vexp = INT2FIX(0); - goto retry; - } - } - else if (is_one(rb_rational_den(vexp))) { - vexp = rb_rational_num(vexp); - goto retry; - } - exp = GetVpValueWithPrec(vexp, n, 1); - if (NIL_P(prec)) { - n += n; - } - break; - - case T_DATA: - if (is_kind_of_BigDecimal(vexp)) { - VALUE zero = INT2FIX(0); - VALUE rounded = BigDecimal_round(1, &zero, vexp); - if (RTEST(BigDecimal_eq(vexp, rounded))) { - vexp = BigDecimal_to_i(vexp); - goto retry; - } - if (NIL_P(prec)) { - GUARD_OBJ(y, GetVpValue(vexp, 1)); - n += y->Prec*VpBaseFig(); - } - exp = DATA_PTR(vexp); - break; - } - /* fall through */ - default: - rb_raise(rb_eTypeError, - "wrong argument type %"PRIsVALUE" (expected scalar Numeric)", - RB_OBJ_CLASSNAME(vexp)); - } - - if (VpIsZero(x)) { - if (is_negative(vexp)) { - y = NewZeroWrapNolimit(1, n); - if (BIGDECIMAL_NEGATIVE_P(x)) { - if (is_integer(vexp)) { - if (is_even(vexp)) { - /* (-0) ** (-even_integer) -> Infinity */ - VpSetPosInf(y); - } - else { - /* (-0) ** (-odd_integer) -> -Infinity */ - VpSetNegInf(y); - } - } - else { - /* (-0) ** (-non_integer) -> Infinity */ - VpSetPosInf(y); - } - } - else { - /* (+0) ** (-num) -> Infinity */ - VpSetPosInf(y); - } - RB_GC_GUARD(y->obj); - return VpCheckGetValue(y); - } - else if (is_zero(vexp)) { - return VpCheckGetValue(NewOneWrapLimited(1, n)); - } - else { - return VpCheckGetValue(NewZeroWrapLimited(1, n)); - } - } - - if (is_zero(vexp)) { - return VpCheckGetValue(NewOneWrapLimited(1, n)); - } - else if (is_one(vexp)) { - return self; - } - - if (VpIsInf(x)) { - if (is_negative(vexp)) { - if (BIGDECIMAL_NEGATIVE_P(x)) { - if (is_integer(vexp)) { - if (is_even(vexp)) { - /* (-Infinity) ** (-even_integer) -> +0 */ - return VpCheckGetValue(NewZeroWrapLimited(1, n)); - } - else { - /* (-Infinity) ** (-odd_integer) -> -0 */ - return VpCheckGetValue(NewZeroWrapLimited(-1, n)); - } - } - else { - /* (-Infinity) ** (-non_integer) -> -0 */ - return VpCheckGetValue(NewZeroWrapLimited(-1, n)); - } - } - else { - return VpCheckGetValue(NewZeroWrapLimited(1, n)); - } - } - else { - y = NewZeroWrapLimited(1, n); - if (BIGDECIMAL_NEGATIVE_P(x)) { - if (is_integer(vexp)) { - if (is_even(vexp)) { - VpSetPosInf(y); - } - else { - VpSetNegInf(y); - } - } - else { - /* TODO: support complex */ - rb_raise(rb_eMathDomainError, - "a non-integral exponent for a negative base"); - } - } - else { - VpSetPosInf(y); - } - return VpCheckGetValue(y); - } - } - - if (exp != NULL) { - return bigdecimal_power_by_bigdecimal(x, exp, n); - } - else if (RB_TYPE_P(vexp, T_BIGNUM)) { - VALUE abs_value = BigDecimal_abs(self); - if (is_one(abs_value)) { - return VpCheckGetValue(NewOneWrapLimited(1, n)); - } - else if (RTEST(rb_funcall(abs_value, '<', 1, INT2FIX(1)))) { - if (is_negative(vexp)) { - y = NewZeroWrapLimited(1, n); - VpSetInf(y, (is_even(vexp) ? 1 : -1) * VpGetSign(x)); - return VpCheckGetValue(y); - } - else if (BIGDECIMAL_NEGATIVE_P(x) && is_even(vexp)) { - return VpCheckGetValue(NewZeroWrapLimited(-1, n)); - } - else { - return VpCheckGetValue(NewZeroWrapLimited(1, n)); - } - } - else { - if (is_positive(vexp)) { - y = NewZeroWrapLimited(1, n); - VpSetInf(y, (is_even(vexp) ? 1 : -1) * VpGetSign(x)); - return VpCheckGetValue(y); - } - else if (BIGDECIMAL_NEGATIVE_P(x) && is_even(vexp)) { - return VpCheckGetValue(NewZeroWrapLimited(-1, n)); - } - else { - return VpCheckGetValue(NewZeroWrapLimited(1, n)); - } - } - } - - int_exp = FIX2LONG(vexp); - ma = int_exp; - if (ma < 0) ma = -ma; - if (ma == 0) ma = 1; - - if (VpIsDef(x)) { - mp = x->Prec * (VpBaseFig() + 1); - GUARD_OBJ(y, NewZeroWrapLimited(1, mp * (ma + 1))); - } - else { - GUARD_OBJ(y, NewZeroWrapLimited(1, 1)); - } - VpPowerByInt(y, x, int_exp); - if (!NIL_P(prec) && VpIsDef(y)) { - VpMidRound(y, VpGetRoundMode(), n); - } - return VpCheckGetValue(y); -} - -/* call-seq: - * self ** other -> bigdecimal - * - * Returns the \BigDecimal value of +self+ raised to power +other+: - * - * b = BigDecimal('3.14') - * b ** 2 # => 0.98596e1 - * b ** 2.0 # => 0.98596e1 - * b ** Rational(2, 1) # => 0.98596e1 - * - * Related: BigDecimal#power. - * - */ -static VALUE -BigDecimal_power_op(VALUE self, VALUE exp) -{ - return BigDecimal_power(1, &exp, self); -} - -/* :nodoc: - * - * private method for dup and clone the provided BigDecimal +other+ - */ -static VALUE -BigDecimal_initialize_copy(VALUE self, VALUE other) -{ - Real *pv = rb_check_typeddata(self, &BigDecimal_data_type); - Real *x = rb_check_typeddata(other, &BigDecimal_data_type); - - if (self != other) { - DATA_PTR(self) = VpCopy(pv, x); - } - return self; -} - -static VALUE -BigDecimal_clone(VALUE self) -{ - return self; -} - -#ifdef HAVE_RB_OPTS_EXCEPTION_P -int rb_opts_exception_p(VALUE opts, int default_value); -#define opts_exception_p(opts) rb_opts_exception_p((opts), 1) -#else -static int -opts_exception_p(VALUE opts) -{ - static ID kwds[1]; - VALUE exception; - if (!kwds[0]) { - kwds[0] = rb_intern_const("exception"); - } - if (!rb_get_kwargs(opts, kwds, 0, 1, &exception)) return 1; - switch (exception) { - case Qtrue: case Qfalse: - break; - default: - rb_raise(rb_eArgError, "true or false is expected as exception: %+"PRIsVALUE, - exception); - } - return exception != Qfalse; -} -#endif - -static VALUE -check_exception(VALUE bd) -{ - assert(is_kind_of_BigDecimal(bd)); - - Real *vp; - TypedData_Get_Struct(bd, Real, &BigDecimal_data_type, vp); - VpCheckGetValue(vp); /* VpCheckGetValue performs exception check */ - - return bd; -} - -static VALUE -rb_uint64_convert_to_BigDecimal(uint64_t uval, RB_UNUSED_VAR(size_t digs), int raise_exception) -{ - VALUE obj = TypedData_Wrap_Struct(rb_cBigDecimal, &BigDecimal_data_type, 0); - - Real *vp; - if (uval == 0) { - vp = rbd_allocate_struct(1); - vp->MaxPrec = 1; - vp->Prec = 1; - vp->exponent = 1; - VpSetZero(vp, 1); - vp->frac[0] = 0; - } - else if (uval < BASE) { - vp = rbd_allocate_struct(1); - vp->MaxPrec = 1; - vp->Prec = 1; - vp->exponent = 1; - VpSetSign(vp, 1); - vp->frac[0] = (DECDIG)uval; - } - else { - DECDIG buf[BIGDECIMAL_INT64_MAX_LENGTH] = {0,}; - DECDIG r = uval % BASE; - size_t len = 0, ntz = 0; - if (r == 0) { - // Count and skip trailing zeros - for (; r == 0 && uval > 0; ++ntz) { - uval /= BASE; - r = uval % BASE; - } - } - for (; uval > 0; ++len) { - // Store digits - buf[BIGDECIMAL_INT64_MAX_LENGTH - len - 1] = r; - uval /= BASE; - r = uval % BASE; - } - - const size_t exp = len + ntz; - vp = rbd_allocate_struct(len); - vp->MaxPrec = len; - vp->Prec = len; - vp->exponent = exp; - VpSetSign(vp, 1); - MEMCPY(vp->frac, buf + BIGDECIMAL_INT64_MAX_LENGTH - len, DECDIG, len); - } - - return BigDecimal_wrap_struct(obj, vp); -} - -static VALUE -rb_int64_convert_to_BigDecimal(int64_t ival, size_t digs, int raise_exception) -{ - const uint64_t uval = (ival < 0) ? (((uint64_t)-(ival+1))+1) : (uint64_t)ival; - VALUE bd = rb_uint64_convert_to_BigDecimal(uval, digs, raise_exception); - if (ival < 0) { - Real *vp; - TypedData_Get_Struct(bd, Real, &BigDecimal_data_type, vp); - VpSetSign(vp, -1); - } - return bd; -} - -static VALUE -rb_big_convert_to_BigDecimal(VALUE val, RB_UNUSED_VAR(size_t digs), int raise_exception) -{ - assert(RB_TYPE_P(val, T_BIGNUM)); - - int leading_zeros; - size_t size = rb_absint_size(val, &leading_zeros); - int sign = FIX2INT(rb_big_cmp(val, INT2FIX(0))); - if (sign < 0 && leading_zeros == 0) { - size += 1; - } - if (size <= sizeof(long)) { - if (sign < 0) { - return rb_int64_convert_to_BigDecimal(NUM2LONG(val), digs, raise_exception); - } - else { - return rb_uint64_convert_to_BigDecimal(NUM2ULONG(val), digs, raise_exception); - } - } -#if defined(SIZEOF_LONG_LONG) && SIZEOF_LONG < SIZEOF_LONG_LONG - else if (size <= sizeof(LONG_LONG)) { - if (sign < 0) { - return rb_int64_convert_to_BigDecimal(NUM2LL(val), digs, raise_exception); - } - else { - return rb_uint64_convert_to_BigDecimal(NUM2ULL(val), digs, raise_exception); - } - } -#endif - else { - VALUE str = rb_big2str(val, 10); - Real *vp = VpCreateRbObject(RSTRING_LEN(str) + BASE_FIG + 1, - RSTRING_PTR(str), true); - RB_GC_GUARD(str); - return check_exception(vp->obj); - } -} - -static VALUE -rb_inum_convert_to_BigDecimal(VALUE val, RB_UNUSED_VAR(size_t digs), int raise_exception) -{ - assert(RB_INTEGER_TYPE_P(val)); - if (FIXNUM_P(val)) { - return rb_int64_convert_to_BigDecimal(FIX2LONG(val), digs, raise_exception); - } - else { - return rb_big_convert_to_BigDecimal(val, digs, raise_exception); - } -} - -static VALUE -rb_float_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) -{ - assert(RB_FLOAT_TYPE_P(val)); - - double d = RFLOAT_VALUE(val); - - if (isnan(d)) { - VALUE obj = BigDecimal_nan(); - return check_exception(obj); - } - else if (isinf(d)) { - VALUE obj; - if (d > 0) { - obj = BigDecimal_positive_infinity(); - } - else { - obj = BigDecimal_negative_infinity(); - } - return check_exception(obj); - } - else if (d == 0.0) { - if (1/d < 0.0) { - return BigDecimal_negative_zero(); - } - else { - return BigDecimal_positive_zero(); - } - } - - if (digs == SIZE_MAX) { - if (!raise_exception) - return Qnil; - rb_raise(rb_eArgError, - "can't omit precision for a %"PRIsVALUE".", - CLASS_OF(val)); - } - else if (digs > BIGDECIMAL_DOUBLE_FIGURES) { - if (!raise_exception) - return Qnil; - rb_raise(rb_eArgError, "precision too large."); - } - - /* Use the same logic in flo_to_s to convert a float to a decimal string */ - char buf[BIGDECIMAL_DOUBLE_FIGURES + BASE_FIG + 2 + 1]; /* sizeof(buf) == 28 in the typical case */ - int decpt, negative_p; - char *e; - const int mode = digs == 0 ? 0 : 2; - char *p = BigDecimal_dtoa(d, mode, (int)digs, &decpt, &negative_p, &e); - int len10 = (int)(e - p); - if (len10 > BIGDECIMAL_DOUBLE_FIGURES) { - /* TODO: Presumably, rounding should be done here. */ - len10 = BIGDECIMAL_DOUBLE_FIGURES; - } - memcpy(buf, p, len10); - xfree(p); - - VALUE inum; - size_t RB_UNUSED_VAR(prec) = 0; - SIGNED_VALUE exp = 0; - if (decpt > 0) { - if (decpt < len10) { - /* - * len10 |---------------| - * : |-------| frac_len10 = len10 - decpt - * decpt |-------| |--| ntz10 = BASE_FIG - frac_len10 % BASE_FIG - * : : : - * 00 dd dddd.dddd dd 00 - * prec |-----.----.----.-----| prec = exp + roomof(frac_len, BASE_FIG) - * exp |-----.----| exp = roomof(decpt, BASE_FIG) - */ - const size_t frac_len10 = len10 - decpt; - const size_t ntz10 = BASE_FIG - frac_len10 % BASE_FIG; - memset(buf + len10, '0', ntz10); - buf[len10 + ntz10] = '\0'; - inum = rb_cstr_to_inum(buf, 10, false); - - exp = roomof(decpt, BASE_FIG); - prec = exp + roomof(frac_len10, BASE_FIG); - } - else { - /* - * decpt |-----------------------| - * len10 |----------| : - * : |------------| exp10 - * : : : - * 00 dd dddd dd 00 0000 0000.0 - * : : : : - * : |--| ntz10 = exp10 % BASE_FIG - * prec |-----.----.-----| : - * : |----.----| exp10 / BASE_FIG - * exp |-----.----.-----.----.----| - */ - const size_t exp10 = decpt - len10; - const size_t ntz10 = exp10 % BASE_FIG; - - memset(buf + len10, '0', ntz10); - buf[len10 + ntz10] = '\0'; - inum = rb_cstr_to_inum(buf, 10, false); - - prec = roomof(len10 + ntz10, BASE_FIG); - exp = prec + exp10 / BASE_FIG; - } - } - else if (decpt == 0) { - /* - * len10 |------------| - * : : - * 0.dddd dddd dd 00 - * : : : - * : |--| ntz10 = prec * BASE_FIG - len10 - * prec |----.----.-----| roomof(len10, BASE_FIG) - */ - prec = roomof(len10, BASE_FIG); - const size_t ntz10 = prec * BASE_FIG - len10; - - memset(buf + len10, '0', ntz10); - buf[len10 + ntz10] = '\0'; - inum = rb_cstr_to_inum(buf, 10, false); - } - else { - /* - * len10 |---------------| - * : : - * decpt |-------| |--| ntz10 = prec * BASE_FIG - nlz10 - len10 - * : : : - * 0.0000 00 dd dddd dddd dd 00 - * : : : - * nlz10 |--| : decpt % BASE_FIG - * prec |-----.----.----.-----| roomof(decpt + len10, BASE_FIG) - exp - * exp |----| decpt / BASE_FIG - */ - decpt = -decpt; - - const size_t nlz10 = decpt % BASE_FIG; - exp = decpt / BASE_FIG; - prec = roomof(decpt + len10, BASE_FIG) - exp; - const size_t ntz10 = prec * BASE_FIG - nlz10 - len10; - - if (nlz10 > 0) { - memmove(buf + nlz10, buf, len10); - memset(buf, '0', nlz10); - } - memset(buf + nlz10 + len10, '0', ntz10); - buf[nlz10 + len10 + ntz10] = '\0'; - inum = rb_cstr_to_inum(buf, 10, false); - - exp = -exp; - } - - VALUE bd = rb_inum_convert_to_BigDecimal(inum, SIZE_MAX, raise_exception); - Real *vp; - TypedData_Get_Struct(bd, Real, &BigDecimal_data_type, vp); - assert(vp->Prec == prec); - vp->exponent = exp; - - if (negative_p) VpSetSign(vp, -1); - return bd; -} - -static VALUE -rb_rational_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) -{ - assert(RB_TYPE_P(val, T_RATIONAL)); - - if (digs == SIZE_MAX) { - if (!raise_exception) - return Qnil; - rb_raise(rb_eArgError, - "can't omit precision for a %"PRIsVALUE".", - CLASS_OF(val)); - } - - VALUE num = rb_inum_convert_to_BigDecimal(rb_rational_num(val), 0, raise_exception); - VALUE d = BigDecimal_div2(num, rb_rational_den(val), SIZET2NUM(digs)); - return d; -} - -static VALUE -rb_cstr_convert_to_BigDecimal(const char *c_str, size_t digs, int raise_exception) -{ - if (digs == SIZE_MAX) - digs = 0; - - Real *vp = VpCreateRbObject(digs, c_str, raise_exception); - if (!vp) - return Qnil; - return VpCheckGetValue(vp); -} - -static inline VALUE -rb_str_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) -{ - const char *c_str = StringValueCStr(val); - return rb_cstr_convert_to_BigDecimal(c_str, digs, raise_exception); -} - -static VALUE -rb_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) -{ - switch (val) { - case Qnil: - case Qtrue: - case Qfalse: - if (raise_exception) { - const char *cname = NIL_P(val) ? "nil" : - val == Qtrue ? "true" : - val == Qfalse ? "false" : - NULL; - rb_raise(rb_eTypeError, - "can't convert %s into BigDecimal", cname); - } - return Qnil; - - default: - break; - } - - if (is_kind_of_BigDecimal(val)) { - if (digs == SIZE_MAX) - return check_exception(val); - - Real *vp; - TypedData_Get_Struct(val, Real, &BigDecimal_data_type, vp); - - VALUE copy = TypedData_Wrap_Struct(rb_cBigDecimal, &BigDecimal_data_type, 0); - vp = VpCopy(NULL, vp); - /* TODO: rounding */ - BigDecimal_wrap_struct(copy, vp); - return VpCheckGetValue(vp); - } - else if (RB_INTEGER_TYPE_P(val)) { - return rb_inum_convert_to_BigDecimal(val, digs, raise_exception); - } - else if (RB_FLOAT_TYPE_P(val)) { - return rb_float_convert_to_BigDecimal(val, digs, raise_exception); - } - else if (RB_TYPE_P(val, T_RATIONAL)) { - return rb_rational_convert_to_BigDecimal(val, digs, raise_exception); - } - else if (RB_TYPE_P(val, T_COMPLEX)) { - VALUE im = rb_complex_imag(val); - if (!is_zero(im)) { - /* TODO: handle raise_exception */ - rb_raise(rb_eArgError, - "Unable to make a BigDecimal from non-zero imaginary number"); - } - return rb_convert_to_BigDecimal(rb_complex_real(val), digs, raise_exception); - } - else if (RB_TYPE_P(val, T_STRING)) { - return rb_str_convert_to_BigDecimal(val, digs, raise_exception); - } - - /* TODO: chheck to_d */ - /* TODO: chheck to_int */ - - VALUE str = rb_check_convert_type(val, T_STRING, "String", "to_str"); - if (!RB_TYPE_P(str, T_STRING)) { - if (raise_exception) { - rb_raise(rb_eTypeError, - "can't convert %"PRIsVALUE" into BigDecimal", rb_obj_class(val)); - } - return Qnil; - } - return rb_str_convert_to_BigDecimal(str, digs, raise_exception); -} - -/* call-seq: - * BigDecimal(value, exception: true) -> bigdecimal - * BigDecimal(value, ndigits, exception: true) -> bigdecimal - * - * Returns the \BigDecimal converted from +value+ - * with a precision of +ndigits+ decimal digits. - * - * When +ndigits+ is less than the number of significant digits - * in the value, the result is rounded to that number of digits, - * according to the current rounding mode; see BigDecimal.mode. - * - * When +ndigits+ is 0, the number of digits to correctly represent a float number - * is determined automatically. - * - * Returns +value+ converted to a \BigDecimal, depending on the type of +value+: - * - * - Integer, Float, Rational, Complex, or BigDecimal: converted directly: - * - * # Integer, Complex, or BigDecimal value does not require ndigits; ignored if given. - * BigDecimal(2) # => 0.2e1 - * BigDecimal(Complex(2, 0)) # => 0.2e1 - * BigDecimal(BigDecimal(2)) # => 0.2e1 - * # Float or Rational value requires ndigits. - * BigDecimal(2.0, 0) # => 0.2e1 - * BigDecimal(Rational(2, 1), 0) # => 0.2e1 - * - * - String: converted by parsing if it contains an integer or floating-point literal; - * leading and trailing whitespace is ignored: - * - * # String does not require ndigits; ignored if given. - * BigDecimal('2') # => 0.2e1 - * BigDecimal('2.0') # => 0.2e1 - * BigDecimal('0.2e1') # => 0.2e1 - * BigDecimal(' 2.0 ') # => 0.2e1 - * - * - Other type that responds to method :to_str: - * first converted to a string, then converted to a \BigDecimal, as above. - * - * - Other type: - * - * - Raises an exception if keyword argument +exception+ is +true+. - * - Returns +nil+ if keyword argument +exception+ is +true+. - * - * Raises an exception if +value+ evaluates to a Float - * and +digits+ is larger than Float::DIG + 1. - * - */ -static VALUE -f_BigDecimal(int argc, VALUE *argv, VALUE self) -{ - VALUE val, digs_v, opts = Qnil; - argc = rb_scan_args(argc, argv, "11:", &val, &digs_v, &opts); - int exception = opts_exception_p(opts); - - size_t digs = SIZE_MAX; /* this means digs is omitted */ - if (argc > 1) { - digs_v = rb_to_int(digs_v); - if (FIXNUM_P(digs_v)) { - long n = FIX2LONG(digs_v); - if (n < 0) - goto negative_digs; - digs = (size_t)n; - } - else { - if (RBIGNUM_NEGATIVE_P(digs_v)) { - negative_digs: - if (!exception) - return Qnil; - rb_raise(rb_eArgError, "negative precision"); - } - digs = NUM2SIZET(digs_v); - } - } - - return rb_convert_to_BigDecimal(val, digs, exception); -} - -static VALUE -BigDecimal_s_interpret_loosely(VALUE klass, VALUE str) -{ - char const *c_str = StringValueCStr(str); - Real *vp = VpNewRbClass(0, c_str, klass, false, true); - if (!vp) - return Qnil; - else - return VpCheckGetValue(vp); -} - - /* call-seq: - * BigDecimal.limit(digits) - * - * Limit the number of significant digits in newly created BigDecimal - * numbers to the specified value. Rounding is performed as necessary, - * as specified by BigDecimal.mode. - * - * A limit of 0, the default, means no upper limit. - * - * The limit specified by this method takes less priority over any limit - * specified to instance methods such as ceil, floor, truncate, or round. - */ -static VALUE -BigDecimal_limit(int argc, VALUE *argv, VALUE self) -{ - VALUE nFig; - VALUE nCur = SIZET2NUM(VpGetPrecLimit()); - - if (rb_scan_args(argc, argv, "01", &nFig) == 1) { - int nf; - if (NIL_P(nFig)) return nCur; - nf = NUM2INT(nFig); - if (nf < 0) { - rb_raise(rb_eArgError, "argument must be positive"); - } - VpSetPrecLimit(nf); - } - return nCur; -} - -/* Returns the sign of the value. - * - * Returns a positive value if > 0, a negative value if < 0. - * It behaves the same with zeros - - * it returns a positive value for a positive zero (BigDecimal('0')) and - * a negative value for a negative zero (BigDecimal('-0')). - * - * The specific value returned indicates the type and sign of the BigDecimal, - * as follows: - * - * BigDecimal::SIGN_NaN:: value is Not a Number - * BigDecimal::SIGN_POSITIVE_ZERO:: value is +0 - * BigDecimal::SIGN_NEGATIVE_ZERO:: value is -0 - * BigDecimal::SIGN_POSITIVE_INFINITE:: value is +Infinity - * BigDecimal::SIGN_NEGATIVE_INFINITE:: value is -Infinity - * BigDecimal::SIGN_POSITIVE_FINITE:: value is positive - * BigDecimal::SIGN_NEGATIVE_FINITE:: value is negative - */ -static VALUE -BigDecimal_sign(VALUE self) -{ /* sign */ - int s = GetVpValue(self, 1)->sign; - return INT2FIX(s); -} - -/* - * call-seq: BigDecimal.save_exception_mode { ... } - * - * Execute the provided block, but preserve the exception mode - * - * BigDecimal.save_exception_mode do - * BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, false) - * BigDecimal.mode(BigDecimal::EXCEPTION_NaN, false) - * - * BigDecimal(BigDecimal('Infinity')) - * BigDecimal(BigDecimal('-Infinity')) - * BigDecimal(BigDecimal('NaN')) - * end - * - * For use with the BigDecimal::EXCEPTION_* - * - * See BigDecimal.mode - */ -static VALUE -BigDecimal_save_exception_mode(VALUE self) -{ - unsigned short const exception_mode = VpGetException(); - int state; - VALUE ret = rb_protect(rb_yield, Qnil, &state); - VpSetException(exception_mode); - if (state) rb_jump_tag(state); - return ret; -} - -/* - * call-seq: BigDecimal.save_rounding_mode { ... } - * - * Execute the provided block, but preserve the rounding mode - * - * BigDecimal.save_rounding_mode do - * BigDecimal.mode(BigDecimal::ROUND_MODE, :up) - * puts BigDecimal.mode(BigDecimal::ROUND_MODE) - * end - * - * For use with the BigDecimal::ROUND_* - * - * See BigDecimal.mode - */ -static VALUE -BigDecimal_save_rounding_mode(VALUE self) -{ - unsigned short const round_mode = VpGetRoundMode(); - int state; - VALUE ret = rb_protect(rb_yield, Qnil, &state); - VpSetRoundMode(round_mode); - if (state) rb_jump_tag(state); - return ret; -} - -/* - * call-seq: BigDecimal.save_limit { ... } - * - * Execute the provided block, but preserve the precision limit - * - * BigDecimal.limit(100) - * puts BigDecimal.limit - * BigDecimal.save_limit do - * BigDecimal.limit(200) - * puts BigDecimal.limit - * end - * puts BigDecimal.limit - * - */ -static VALUE -BigDecimal_save_limit(VALUE self) -{ - size_t const limit = VpGetPrecLimit(); - int state; - VALUE ret = rb_protect(rb_yield, Qnil, &state); - VpSetPrecLimit(limit); - if (state) rb_jump_tag(state); - return ret; -} - -/* call-seq: - * BigMath.exp(decimal, numeric) -> BigDecimal - * - * Computes the value of e (the base of natural logarithms) raised to the - * power of +decimal+, to the specified number of digits of precision. - * - * If +decimal+ is infinity, returns Infinity. - * - * If +decimal+ is NaN, returns NaN. - */ -static VALUE -BigMath_s_exp(VALUE klass, VALUE x, VALUE vprec) -{ - ssize_t prec, n, i; - Real* vx = NULL; - VALUE one, d, y; - int negative = 0; - int infinite = 0; - int nan = 0; - double flo; - - prec = NUM2SSIZET(vprec); - if (prec <= 0) { - rb_raise(rb_eArgError, "Zero or negative precision for exp"); - } - - /* TODO: the following switch statement is almost same as one in the - * BigDecimalCmp function. */ - switch (TYPE(x)) { - case T_DATA: - if (!is_kind_of_BigDecimal(x)) break; - vx = DATA_PTR(x); - negative = BIGDECIMAL_NEGATIVE_P(vx); - infinite = VpIsPosInf(vx) || VpIsNegInf(vx); - nan = VpIsNaN(vx); - break; - - case T_FIXNUM: - /* fall through */ - case T_BIGNUM: - vx = GetVpValue(x, 0); - break; - - case T_FLOAT: - flo = RFLOAT_VALUE(x); - negative = flo < 0; - infinite = isinf(flo); - nan = isnan(flo); - if (!infinite && !nan) { - vx = GetVpValueWithPrec(x, 0, 0); - } - break; - - case T_RATIONAL: - vx = GetVpValueWithPrec(x, prec, 0); - break; - - default: - break; - } - if (infinite) { - if (negative) { - return VpCheckGetValue(GetVpValueWithPrec(INT2FIX(0), prec, 1)); - } - else { - Real* vy = NewZeroWrapNolimit(1, prec); - VpSetInf(vy, VP_SIGN_POSITIVE_INFINITE); - RB_GC_GUARD(vy->obj); - return VpCheckGetValue(vy); - } - } - else if (nan) { - Real* vy = NewZeroWrapNolimit(1, prec); - VpSetNaN(vy); - RB_GC_GUARD(vy->obj); - return VpCheckGetValue(vy); - } - else if (vx == NULL) { - cannot_be_coerced_into_BigDecimal(rb_eArgError, x); - } - x = vx->obj; - - n = prec + BIGDECIMAL_DOUBLE_FIGURES; - negative = BIGDECIMAL_NEGATIVE_P(vx); - if (negative) { - VALUE x_zero = INT2NUM(1); - VALUE x_copy = f_BigDecimal(1, &x_zero, klass); - x = BigDecimal_initialize_copy(x_copy, x); - vx = DATA_PTR(x); - VpSetSign(vx, 1); - } - - one = VpCheckGetValue(NewOneWrapLimited(1, 1)); - y = one; - d = y; - i = 1; - - while (!VpIsZero((Real*)DATA_PTR(d))) { - SIGNED_VALUE const ey = VpExponent10(DATA_PTR(y)); - SIGNED_VALUE const ed = VpExponent10(DATA_PTR(d)); - ssize_t m = n - vabs(ey - ed); - - rb_thread_check_ints(); - - if (m <= 0) { - break; - } - else if ((size_t)m < BIGDECIMAL_DOUBLE_FIGURES) { - m = BIGDECIMAL_DOUBLE_FIGURES; - } - - d = BigDecimal_mult(d, x); /* d <- d * x */ - d = BigDecimal_div2(d, SSIZET2NUM(i), SSIZET2NUM(m)); /* d <- d / i */ - y = BigDecimal_add(y, d); /* y <- y + d */ - ++i; /* i <- i + 1 */ - } - - if (negative) { - return BigDecimal_div2(one, y, vprec); - } - else { - vprec = SSIZET2NUM(prec - VpExponent10(DATA_PTR(y))); - return BigDecimal_round(1, &vprec, y); - } - - RB_GC_GUARD(one); - RB_GC_GUARD(x); - RB_GC_GUARD(y); - RB_GC_GUARD(d); -} - -/* call-seq: - * BigMath.log(decimal, numeric) -> BigDecimal - * - * Computes the natural logarithm of +decimal+ to the specified number of - * digits of precision, +numeric+. - * - * If +decimal+ is zero or negative, raises Math::DomainError. - * - * If +decimal+ is positive infinity, returns Infinity. - * - * If +decimal+ is NaN, returns NaN. - */ -static VALUE -BigMath_s_log(VALUE klass, VALUE x, VALUE vprec) -{ - ssize_t prec, n, i; - SIGNED_VALUE expo; - Real* vx = NULL; - VALUE vn, one, two, w, x2, y, d; - int zero = 0; - int negative = 0; - int infinite = 0; - int nan = 0; - double flo; - long fix; - - if (!is_integer(vprec)) { - rb_raise(rb_eArgError, "precision must be an Integer"); - } - - prec = NUM2SSIZET(vprec); - if (prec <= 0) { - rb_raise(rb_eArgError, "Zero or negative precision for exp"); - } - - /* TODO: the following switch statement is almost same as one in the - * BigDecimalCmp function. */ - switch (TYPE(x)) { - case T_DATA: - if (!is_kind_of_BigDecimal(x)) break; - vx = DATA_PTR(x); - zero = VpIsZero(vx); - negative = BIGDECIMAL_NEGATIVE_P(vx); - infinite = VpIsPosInf(vx) || VpIsNegInf(vx); - nan = VpIsNaN(vx); - break; - - case T_FIXNUM: - fix = FIX2LONG(x); - zero = fix == 0; - negative = fix < 0; - goto get_vp_value; - - case T_BIGNUM: - i = FIX2INT(rb_big_cmp(x, INT2FIX(0))); - zero = i == 0; - negative = i < 0; -get_vp_value: - if (zero || negative) break; - vx = GetVpValue(x, 0); - break; - - case T_FLOAT: - flo = RFLOAT_VALUE(x); - zero = flo == 0; - negative = flo < 0; - infinite = isinf(flo); - nan = isnan(flo); - if (!zero && !negative && !infinite && !nan) { - vx = GetVpValueWithPrec(x, 0, 1); - } - break; - - case T_RATIONAL: - zero = RRATIONAL_ZERO_P(x); - negative = RRATIONAL_NEGATIVE_P(x); - if (zero || negative) break; - vx = GetVpValueWithPrec(x, prec, 1); - break; - - case T_COMPLEX: - rb_raise(rb_eMathDomainError, - "Complex argument for BigMath.log"); - - default: - break; - } - if (infinite && !negative) { - Real *vy = NewZeroWrapNolimit(1, prec); - RB_GC_GUARD(vy->obj); - VpSetInf(vy, VP_SIGN_POSITIVE_INFINITE); - return VpCheckGetValue(vy); - } - else if (nan) { - Real* vy = NewZeroWrapNolimit(1, prec); - RB_GC_GUARD(vy->obj); - VpSetNaN(vy); - return VpCheckGetValue(vy); - } - else if (zero || negative) { - rb_raise(rb_eMathDomainError, - "Zero or negative argument for log"); - } - else if (vx == NULL) { - cannot_be_coerced_into_BigDecimal(rb_eArgError, x); - } - x = VpCheckGetValue(vx); - - one = VpCheckGetValue(NewOneWrapLimited(1, 1)); - two = VpCheckGetValue(VpCreateRbObject(1, "2", true)); - - n = prec + BIGDECIMAL_DOUBLE_FIGURES; - vn = SSIZET2NUM(n); - expo = VpExponent10(vx); - if (expo < 0 || expo >= 3) { - char buf[DECIMAL_SIZE_OF_BITS(SIZEOF_VALUE * CHAR_BIT) + 4]; - snprintf(buf, sizeof(buf), "1E%"PRIdVALUE, -expo); - x = BigDecimal_mult2(x, VpCheckGetValue(VpCreateRbObject(1, buf, true)), vn); - } - else { - expo = 0; - } - w = BigDecimal_sub(x, one); - x = BigDecimal_div2(w, BigDecimal_add(x, one), vn); - x2 = BigDecimal_mult2(x, x, vn); - y = x; - d = y; - i = 1; - while (!VpIsZero((Real*)DATA_PTR(d))) { - SIGNED_VALUE const ey = VpExponent10(DATA_PTR(y)); - SIGNED_VALUE const ed = VpExponent10(DATA_PTR(d)); - ssize_t m = n - vabs(ey - ed); - if (m <= 0) { - break; - } - else if ((size_t)m < BIGDECIMAL_DOUBLE_FIGURES) { - m = BIGDECIMAL_DOUBLE_FIGURES; - } - - x = BigDecimal_mult2(x2, x, vn); - i += 2; - d = BigDecimal_div2(x, SSIZET2NUM(i), SSIZET2NUM(m)); - y = BigDecimal_add(y, d); - } - - y = BigDecimal_mult(y, two); - if (expo != 0) { - VALUE log10, vexpo, dy; - log10 = BigMath_s_log(klass, INT2FIX(10), vprec); - vexpo = VpCheckGetValue(GetVpValue(SSIZET2NUM(expo), 1)); - dy = BigDecimal_mult(log10, vexpo); - y = BigDecimal_add(y, dy); - } - - RB_GC_GUARD(one); - RB_GC_GUARD(two); - RB_GC_GUARD(vn); - RB_GC_GUARD(x2); - RB_GC_GUARD(y); - RB_GC_GUARD(d); - - return y; -} - -static VALUE BIGDECIMAL_NAN = Qnil; - -static VALUE -BigDecimal_nan(void) -{ - return BIGDECIMAL_NAN; -} - -static VALUE BIGDECIMAL_POSITIVE_INFINITY = Qnil; - -static VALUE -BigDecimal_positive_infinity(void) -{ - return BIGDECIMAL_POSITIVE_INFINITY; -} - -static VALUE BIGDECIMAL_NEGATIVE_INFINITY = Qnil; - -static VALUE -BigDecimal_negative_infinity(void) -{ - return BIGDECIMAL_NEGATIVE_INFINITY; -} - -static VALUE BIGDECIMAL_POSITIVE_ZERO = Qnil; - -static VALUE -BigDecimal_positive_zero(void) -{ - return BIGDECIMAL_POSITIVE_ZERO; -} - -static VALUE BIGDECIMAL_NEGATIVE_ZERO = Qnil; - -static VALUE -BigDecimal_negative_zero(void) -{ - return BIGDECIMAL_NEGATIVE_ZERO; -} - -/* Document-class: BigDecimal - * BigDecimal provides arbitrary-precision floating point decimal arithmetic. - * - * == Introduction - * - * Ruby provides built-in support for arbitrary precision integer arithmetic. - * - * For example: - * - * 42**13 #=> 1265437718438866624512 - * - * BigDecimal provides similar support for very large or very accurate floating - * point numbers. - * - * Decimal arithmetic is also useful for general calculation, because it - * provides the correct answers people expect--whereas normal binary floating - * point arithmetic often introduces subtle errors because of the conversion - * between base 10 and base 2. - * - * For example, try: - * - * sum = 0 - * 10_000.times do - * sum = sum + 0.0001 - * end - * print sum #=> 0.9999999999999062 - * - * and contrast with the output from: - * - * require 'bigdecimal' - * - * sum = BigDecimal("0") - * 10_000.times do - * sum = sum + BigDecimal("0.0001") - * end - * print sum #=> 0.1E1 - * - * Similarly: - * - * (BigDecimal("1.2") - BigDecimal("1.0")) == BigDecimal("0.2") #=> true - * - * (1.2 - 1.0) == 0.2 #=> false - * - * == A Note About Precision - * - * For a calculation using a \BigDecimal and another +value+, - * the precision of the result depends on the type of +value+: - * - * - If +value+ is a \Float, - * the precision is Float::DIG + 1. - * - If +value+ is a \Rational, the precision is larger than Float::DIG + 1. - * - If +value+ is a \BigDecimal, the precision is +value+'s precision in the - * internal representation, which is platform-dependent. - * - If +value+ is other object, the precision is determined by the result of +BigDecimal(value)+. - * - * == Special features of accurate decimal arithmetic - * - * Because BigDecimal is more accurate than normal binary floating point - * arithmetic, it requires some special values. - * - * === Infinity - * - * BigDecimal sometimes needs to return infinity, for example if you divide - * a value by zero. - * - * BigDecimal("1.0") / BigDecimal("0.0") #=> Infinity - * BigDecimal("-1.0") / BigDecimal("0.0") #=> -Infinity - * - * You can represent infinite numbers to BigDecimal using the strings - * 'Infinity', '+Infinity' and - * '-Infinity' (case-sensitive) - * - * === Not a Number - * - * When a computation results in an undefined value, the special value +NaN+ - * (for 'not a number') is returned. - * - * Example: - * - * BigDecimal("0.0") / BigDecimal("0.0") #=> NaN - * - * You can also create undefined values. - * - * NaN is never considered to be the same as any other value, even NaN itself: - * - * n = BigDecimal('NaN') - * n == 0.0 #=> false - * n == n #=> false - * - * === Positive and negative zero - * - * If a computation results in a value which is too small to be represented as - * a BigDecimal within the currently specified limits of precision, zero must - * be returned. - * - * If the value which is too small to be represented is negative, a BigDecimal - * value of negative zero is returned. - * - * BigDecimal("1.0") / BigDecimal("-Infinity") #=> -0.0 - * - * If the value is positive, a value of positive zero is returned. - * - * BigDecimal("1.0") / BigDecimal("Infinity") #=> 0.0 - * - * (See BigDecimal.mode for how to specify limits of precision.) - * - * Note that +-0.0+ and +0.0+ are considered to be the same for the purposes of - * comparison. - * - * Note also that in mathematics, there is no particular concept of negative - * or positive zero; true mathematical zero has no sign. - * - * == bigdecimal/util - * - * When you require +bigdecimal/util+, the #to_d method will be - * available on BigDecimal and the native Integer, Float, Rational, - * and String classes: - * - * require 'bigdecimal/util' - * - * 42.to_d # => 0.42e2 - * 0.5.to_d # => 0.5e0 - * (2/3r).to_d(3) # => 0.667e0 - * "0.5".to_d # => 0.5e0 - * - * == License - * - * Copyright (C) 2002 by Shigeo Kobayashi . - * - * BigDecimal is released under the Ruby and 2-clause BSD licenses. - * See LICENSE.txt for details. - * - * Maintained by mrkn and ruby-core members. - * - * Documented by zzak , mathew , and - * many other contributors. - */ -void -Init_bigdecimal(void) -{ -#ifdef HAVE_RB_EXT_RACTOR_SAFE - rb_ext_ractor_safe(true); -#endif - VALUE arg; - - id_BigDecimal_exception_mode = rb_intern_const("BigDecimal.exception_mode"); - id_BigDecimal_rounding_mode = rb_intern_const("BigDecimal.rounding_mode"); - id_BigDecimal_precision_limit = rb_intern_const("BigDecimal.precision_limit"); - - /* Initialize VP routines */ - VpInit(0UL); - - /* Class and method registration */ - rb_cBigDecimal = rb_define_class("BigDecimal", rb_cNumeric); - - /* Global function */ - rb_define_global_function("BigDecimal", f_BigDecimal, -1); - - /* Class methods */ - rb_undef_alloc_func(rb_cBigDecimal); - rb_undef_method(CLASS_OF(rb_cBigDecimal), "new"); - rb_define_singleton_method(rb_cBigDecimal, "interpret_loosely", BigDecimal_s_interpret_loosely, 1); - rb_define_singleton_method(rb_cBigDecimal, "mode", BigDecimal_mode, -1); - rb_define_singleton_method(rb_cBigDecimal, "limit", BigDecimal_limit, -1); - rb_define_singleton_method(rb_cBigDecimal, "double_fig", BigDecimal_double_fig, 0); - rb_define_singleton_method(rb_cBigDecimal, "_load", BigDecimal_load, 1); - - rb_define_singleton_method(rb_cBigDecimal, "save_exception_mode", BigDecimal_save_exception_mode, 0); - rb_define_singleton_method(rb_cBigDecimal, "save_rounding_mode", BigDecimal_save_rounding_mode, 0); - rb_define_singleton_method(rb_cBigDecimal, "save_limit", BigDecimal_save_limit, 0); - - /* Constants definition */ - - /* - * The version of bigdecimal library - */ - rb_define_const(rb_cBigDecimal, "VERSION", rb_str_new2(BIGDECIMAL_VERSION)); - - /* - * Base value used in internal calculations. On a 32 bit system, BASE - * is 10000, indicating that calculation is done in groups of 4 digits. - * (If it were larger, BASE**2 wouldn't fit in 32 bits, so you couldn't - * guarantee that two groups could always be multiplied together without - * overflow.) - */ - rb_define_const(rb_cBigDecimal, "BASE", INT2FIX((SIGNED_VALUE)VpBaseVal())); - - /* Exceptions */ - - /* - * 0xff: Determines whether overflow, underflow or zero divide result in - * an exception being thrown. See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "EXCEPTION_ALL", INT2FIX(VP_EXCEPTION_ALL)); - - /* - * 0x02: Determines what happens when the result of a computation is not a - * number (NaN). See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "EXCEPTION_NaN", INT2FIX(VP_EXCEPTION_NaN)); - - /* - * 0x01: Determines what happens when the result of a computation is - * infinity. See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "EXCEPTION_INFINITY", INT2FIX(VP_EXCEPTION_INFINITY)); - - /* - * 0x04: Determines what happens when the result of a computation is an - * underflow (a result too small to be represented). See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "EXCEPTION_UNDERFLOW", INT2FIX(VP_EXCEPTION_UNDERFLOW)); - - /* - * 0x01: Determines what happens when the result of a computation is an - * overflow (a result too large to be represented). See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "EXCEPTION_OVERFLOW", INT2FIX(VP_EXCEPTION_OVERFLOW)); - - /* - * 0x10: Determines what happens when a division by zero is performed. - * See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "EXCEPTION_ZERODIVIDE", INT2FIX(VP_EXCEPTION_ZERODIVIDE)); - - /* - * 0x100: Determines what happens when a result must be rounded in order to - * fit in the appropriate number of significant digits. See - * BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "ROUND_MODE", INT2FIX(VP_ROUND_MODE)); - - /* 1: Indicates that values should be rounded away from zero. See - * BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "ROUND_UP", INT2FIX(VP_ROUND_UP)); - - /* 2: Indicates that values should be rounded towards zero. See - * BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "ROUND_DOWN", INT2FIX(VP_ROUND_DOWN)); - - /* 3: Indicates that digits >= 5 should be rounded up, others rounded down. - * See BigDecimal.mode. */ - rb_define_const(rb_cBigDecimal, "ROUND_HALF_UP", INT2FIX(VP_ROUND_HALF_UP)); - - /* 4: Indicates that digits >= 6 should be rounded up, others rounded down. - * See BigDecimal.mode. - */ - rb_define_const(rb_cBigDecimal, "ROUND_HALF_DOWN", INT2FIX(VP_ROUND_HALF_DOWN)); - /* 5: Round towards +Infinity. See BigDecimal.mode. */ - rb_define_const(rb_cBigDecimal, "ROUND_CEILING", INT2FIX(VP_ROUND_CEIL)); - - /* 6: Round towards -Infinity. See BigDecimal.mode. */ - rb_define_const(rb_cBigDecimal, "ROUND_FLOOR", INT2FIX(VP_ROUND_FLOOR)); - - /* 7: Round towards the even neighbor. See BigDecimal.mode. */ - rb_define_const(rb_cBigDecimal, "ROUND_HALF_EVEN", INT2FIX(VP_ROUND_HALF_EVEN)); - - /* 0: Indicates that a value is not a number. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_NaN", INT2FIX(VP_SIGN_NaN)); - - /* 1: Indicates that a value is +0. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_POSITIVE_ZERO", INT2FIX(VP_SIGN_POSITIVE_ZERO)); - - /* -1: Indicates that a value is -0. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_ZERO", INT2FIX(VP_SIGN_NEGATIVE_ZERO)); - - /* 2: Indicates that a value is positive and finite. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_POSITIVE_FINITE", INT2FIX(VP_SIGN_POSITIVE_FINITE)); - - /* -2: Indicates that a value is negative and finite. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_FINITE", INT2FIX(VP_SIGN_NEGATIVE_FINITE)); - - /* 3: Indicates that a value is positive and infinite. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_POSITIVE_INFINITE", INT2FIX(VP_SIGN_POSITIVE_INFINITE)); - - /* -3: Indicates that a value is negative and infinite. See BigDecimal.sign. */ - rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_INFINITE", INT2FIX(VP_SIGN_NEGATIVE_INFINITE)); - - /* Positive zero value. */ - arg = rb_str_new2("+0"); - BIGDECIMAL_POSITIVE_ZERO = f_BigDecimal(1, &arg, rb_cBigDecimal); - rb_gc_register_mark_object(BIGDECIMAL_POSITIVE_ZERO); - - /* Negative zero value. */ - arg = rb_str_new2("-0"); - BIGDECIMAL_NEGATIVE_ZERO = f_BigDecimal(1, &arg, rb_cBigDecimal); - rb_gc_register_mark_object(BIGDECIMAL_NEGATIVE_ZERO); - - /* Positive infinity value. */ - arg = rb_str_new2("+Infinity"); - BIGDECIMAL_POSITIVE_INFINITY = f_BigDecimal(1, &arg, rb_cBigDecimal); - rb_gc_register_mark_object(BIGDECIMAL_POSITIVE_INFINITY); - - /* Negative infinity value. */ - arg = rb_str_new2("-Infinity"); - BIGDECIMAL_NEGATIVE_INFINITY = f_BigDecimal(1, &arg, rb_cBigDecimal); - rb_gc_register_mark_object(BIGDECIMAL_NEGATIVE_INFINITY); - - /* 'Not a Number' value. */ - arg = rb_str_new2("NaN"); - BIGDECIMAL_NAN = f_BigDecimal(1, &arg, rb_cBigDecimal); - rb_gc_register_mark_object(BIGDECIMAL_NAN); - - /* Special value constants */ - rb_define_const(rb_cBigDecimal, "INFINITY", BIGDECIMAL_POSITIVE_INFINITY); - rb_define_const(rb_cBigDecimal, "NAN", BIGDECIMAL_NAN); - - /* instance methods */ - rb_define_method(rb_cBigDecimal, "precs", BigDecimal_prec, 0); - rb_define_method(rb_cBigDecimal, "precision", BigDecimal_precision, 0); - rb_define_method(rb_cBigDecimal, "scale", BigDecimal_scale, 0); - rb_define_method(rb_cBigDecimal, "precision_scale", BigDecimal_precision_scale, 0); - rb_define_method(rb_cBigDecimal, "n_significant_digits", BigDecimal_n_significant_digits, 0); - - rb_define_method(rb_cBigDecimal, "add", BigDecimal_add2, 2); - rb_define_method(rb_cBigDecimal, "sub", BigDecimal_sub2, 2); - rb_define_method(rb_cBigDecimal, "mult", BigDecimal_mult2, 2); - rb_define_method(rb_cBigDecimal, "div", BigDecimal_div3, -1); - rb_define_method(rb_cBigDecimal, "hash", BigDecimal_hash, 0); - rb_define_method(rb_cBigDecimal, "to_s", BigDecimal_to_s, -1); - rb_define_method(rb_cBigDecimal, "to_i", BigDecimal_to_i, 0); - rb_define_method(rb_cBigDecimal, "to_int", BigDecimal_to_i, 0); - rb_define_method(rb_cBigDecimal, "to_r", BigDecimal_to_r, 0); - rb_define_method(rb_cBigDecimal, "split", BigDecimal_split, 0); - rb_define_method(rb_cBigDecimal, "+", BigDecimal_add, 1); - rb_define_method(rb_cBigDecimal, "-", BigDecimal_sub, 1); - rb_define_method(rb_cBigDecimal, "+@", BigDecimal_uplus, 0); - rb_define_method(rb_cBigDecimal, "-@", BigDecimal_neg, 0); - rb_define_method(rb_cBigDecimal, "*", BigDecimal_mult, 1); - rb_define_method(rb_cBigDecimal, "/", BigDecimal_div, 1); - rb_define_method(rb_cBigDecimal, "quo", BigDecimal_quo, -1); - rb_define_method(rb_cBigDecimal, "%", BigDecimal_mod, 1); - rb_define_method(rb_cBigDecimal, "modulo", BigDecimal_mod, 1); - rb_define_method(rb_cBigDecimal, "remainder", BigDecimal_remainder, 1); - rb_define_method(rb_cBigDecimal, "divmod", BigDecimal_divmod, 1); - rb_define_method(rb_cBigDecimal, "clone", BigDecimal_clone, 0); - rb_define_method(rb_cBigDecimal, "dup", BigDecimal_clone, 0); - rb_define_method(rb_cBigDecimal, "to_f", BigDecimal_to_f, 0); - rb_define_method(rb_cBigDecimal, "abs", BigDecimal_abs, 0); - rb_define_method(rb_cBigDecimal, "sqrt", BigDecimal_sqrt, 1); - rb_define_method(rb_cBigDecimal, "fix", BigDecimal_fix, 0); - rb_define_method(rb_cBigDecimal, "round", BigDecimal_round, -1); - rb_define_method(rb_cBigDecimal, "frac", BigDecimal_frac, 0); - rb_define_method(rb_cBigDecimal, "floor", BigDecimal_floor, -1); - rb_define_method(rb_cBigDecimal, "ceil", BigDecimal_ceil, -1); - rb_define_method(rb_cBigDecimal, "power", BigDecimal_power, -1); - rb_define_method(rb_cBigDecimal, "**", BigDecimal_power_op, 1); - rb_define_method(rb_cBigDecimal, "<=>", BigDecimal_comp, 1); - rb_define_method(rb_cBigDecimal, "==", BigDecimal_eq, 1); - rb_define_method(rb_cBigDecimal, "===", BigDecimal_eq, 1); - rb_define_method(rb_cBigDecimal, "eql?", BigDecimal_eq, 1); - rb_define_method(rb_cBigDecimal, "<", BigDecimal_lt, 1); - rb_define_method(rb_cBigDecimal, "<=", BigDecimal_le, 1); - rb_define_method(rb_cBigDecimal, ">", BigDecimal_gt, 1); - rb_define_method(rb_cBigDecimal, ">=", BigDecimal_ge, 1); - rb_define_method(rb_cBigDecimal, "zero?", BigDecimal_zero, 0); - rb_define_method(rb_cBigDecimal, "nonzero?", BigDecimal_nonzero, 0); - rb_define_method(rb_cBigDecimal, "coerce", BigDecimal_coerce, 1); - rb_define_method(rb_cBigDecimal, "inspect", BigDecimal_inspect, 0); - rb_define_method(rb_cBigDecimal, "exponent", BigDecimal_exponent, 0); - rb_define_method(rb_cBigDecimal, "sign", BigDecimal_sign, 0); - rb_define_method(rb_cBigDecimal, "nan?", BigDecimal_IsNaN, 0); - rb_define_method(rb_cBigDecimal, "infinite?", BigDecimal_IsInfinite, 0); - rb_define_method(rb_cBigDecimal, "finite?", BigDecimal_IsFinite, 0); - rb_define_method(rb_cBigDecimal, "truncate", BigDecimal_truncate, -1); - rb_define_method(rb_cBigDecimal, "_dump", BigDecimal_dump, -1); - - rb_mBigMath = rb_define_module("BigMath"); - rb_define_singleton_method(rb_mBigMath, "exp", BigMath_s_exp, 2); - rb_define_singleton_method(rb_mBigMath, "log", BigMath_s_log, 2); - -#define ROUNDING_MODE(i, name, value) \ - id_##name = rb_intern_const(#name); \ - rbd_rounding_modes[i].id = id_##name; \ - rbd_rounding_modes[i].mode = value; - - ROUNDING_MODE(0, up, RBD_ROUND_UP); - ROUNDING_MODE(1, down, RBD_ROUND_DOWN); - ROUNDING_MODE(2, half_up, RBD_ROUND_HALF_UP); - ROUNDING_MODE(3, half_down, RBD_ROUND_HALF_DOWN); - ROUNDING_MODE(4, ceil, RBD_ROUND_CEIL); - ROUNDING_MODE(5, floor, RBD_ROUND_FLOOR); - ROUNDING_MODE(6, half_even, RBD_ROUND_HALF_EVEN); - - ROUNDING_MODE(7, default, RBD_ROUND_DEFAULT); - ROUNDING_MODE(8, truncate, RBD_ROUND_TRUNCATE); - ROUNDING_MODE(9, banker, RBD_ROUND_BANKER); - ROUNDING_MODE(10, ceiling, RBD_ROUND_CEILING); - -#undef ROUNDING_MODE - - id_to_r = rb_intern_const("to_r"); - id_eq = rb_intern_const("=="); - id_half = rb_intern_const("half"); - - (void)VPrint; /* suppress unused warning */ -} - -/* - * - * ============================================================================ - * - * vp_ routines begin from here. - * - * ============================================================================ - * - */ -#ifdef BIGDECIMAL_DEBUG -static int gfDebug = 1; /* Debug switch */ -#if 0 -static int gfCheckVal = 1; /* Value checking flag in VpNmlz() */ -#endif -#endif /* BIGDECIMAL_DEBUG */ - -static Real *VpConstOne; /* constant 1.0 */ -static Real *VpConstPt5; /* constant 0.5 */ -#define maxnr 100UL /* Maximum iterations for calculating sqrt. */ - /* used in VpSqrt() */ - -/* ETC */ -#define MemCmp(x,y,z) memcmp(x,y,z) -#define StrCmp(x,y) strcmp(x,y) - -enum op_sw { - OP_SW_ADD = 1, /* + */ - OP_SW_SUB, /* - */ - OP_SW_MULT, /* * */ - OP_SW_DIV /* / */ -}; - -static int VpIsDefOP(Real *c, Real *a, Real *b, enum op_sw sw); -static int AddExponent(Real *a, SIGNED_VALUE n); -static DECDIG VpAddAbs(Real *a,Real *b,Real *c); -static DECDIG VpSubAbs(Real *a,Real *b,Real *c); -static size_t VpSetPTR(Real *a, Real *b, Real *c, size_t *a_pos, size_t *b_pos, size_t *c_pos, DECDIG *av, DECDIG *bv); -static int VpNmlz(Real *a); -static void VpFormatSt(char *psz, size_t fFmt); -static int VpRdup(Real *m, size_t ind_m); - -#ifdef BIGDECIMAL_DEBUG -# ifdef HAVE_RB_EXT_RACTOR_SAFE -# error Need to make rewiting gnAlloc atomic -# endif -static int gnAlloc = 0; /* Memory allocation counter */ -#endif /* BIGDECIMAL_DEBUG */ - -/* - * EXCEPTION Handling. - */ - -#define bigdecimal_set_thread_local_exception_mode(mode) \ - rb_thread_local_aset( \ - rb_thread_current(), \ - id_BigDecimal_exception_mode, \ - INT2FIX((int)(mode)) \ - ) - -static unsigned short -VpGetException (void) -{ - VALUE const vmode = rb_thread_local_aref( - rb_thread_current(), - id_BigDecimal_exception_mode - ); - - if (NIL_P(vmode)) { - bigdecimal_set_thread_local_exception_mode(BIGDECIMAL_EXCEPTION_MODE_DEFAULT); - return BIGDECIMAL_EXCEPTION_MODE_DEFAULT; - } - - return NUM2USHORT(vmode); -} - -static void -VpSetException(unsigned short f) -{ - bigdecimal_set_thread_local_exception_mode(f); -} - -static void -VpCheckException(Real *p, bool always) -{ - if (VpIsNaN(p)) { - VpException(VP_EXCEPTION_NaN, "Computation results in 'NaN' (Not a Number)", always); - } - else if (VpIsPosInf(p)) { - VpException(VP_EXCEPTION_INFINITY, "Computation results in 'Infinity'", always); - } - else if (VpIsNegInf(p)) { - VpException(VP_EXCEPTION_INFINITY, "Computation results in '-Infinity'", always); - } -} - -static VALUE -VpCheckGetValue(Real *p) -{ - VpCheckException(p, false); - return p->obj; -} - -/* - * Precision limit. - */ - -#define bigdecimal_set_thread_local_precision_limit(limit) \ - rb_thread_local_aset( \ - rb_thread_current(), \ - id_BigDecimal_precision_limit, \ - SIZET2NUM(limit) \ - ) -#define BIGDECIMAL_PRECISION_LIMIT_DEFAULT ((size_t)0) - -/* These 2 functions added at v1.1.7 */ -VP_EXPORT size_t -VpGetPrecLimit(void) -{ - VALUE const vlimit = rb_thread_local_aref( - rb_thread_current(), - id_BigDecimal_precision_limit - ); - - if (NIL_P(vlimit)) { - bigdecimal_set_thread_local_precision_limit(BIGDECIMAL_PRECISION_LIMIT_DEFAULT); - return BIGDECIMAL_PRECISION_LIMIT_DEFAULT; - } - - return NUM2SIZET(vlimit); -} - -VP_EXPORT size_t -VpSetPrecLimit(size_t n) -{ - size_t const s = VpGetPrecLimit(); - bigdecimal_set_thread_local_precision_limit(n); - return s; -} - -/* - * Rounding mode. - */ - -#define bigdecimal_set_thread_local_rounding_mode(mode) \ - rb_thread_local_aset( \ - rb_thread_current(), \ - id_BigDecimal_rounding_mode, \ - INT2FIX((int)(mode)) \ - ) - -VP_EXPORT unsigned short -VpGetRoundMode(void) -{ - VALUE const vmode = rb_thread_local_aref( - rb_thread_current(), - id_BigDecimal_rounding_mode - ); - - if (NIL_P(vmode)) { - bigdecimal_set_thread_local_rounding_mode(BIGDECIMAL_ROUNDING_MODE_DEFAULT); - return BIGDECIMAL_ROUNDING_MODE_DEFAULT; - } - - return NUM2USHORT(vmode); -} - -VP_EXPORT int -VpIsRoundMode(unsigned short n) -{ - switch (n) { - case VP_ROUND_UP: - case VP_ROUND_DOWN: - case VP_ROUND_HALF_UP: - case VP_ROUND_HALF_DOWN: - case VP_ROUND_CEIL: - case VP_ROUND_FLOOR: - case VP_ROUND_HALF_EVEN: - return 1; - - default: - return 0; - } -} - -VP_EXPORT unsigned short -VpSetRoundMode(unsigned short n) -{ - if (VpIsRoundMode(n)) { - bigdecimal_set_thread_local_rounding_mode(n); - return n; - } - - return VpGetRoundMode(); -} - -/* - * 0.0 & 1.0 generator - * These gZero_..... and gOne_..... can be any name - * referenced from nowhere except Zero() and One(). - * gZero_..... and gOne_..... must have global scope - * (to let the compiler know they may be changed in outside - * (... but not actually..)). - */ -volatile const double gOne_ABCED9B4_CE73__00400511F31D = 1.0; - -static double -One(void) -{ - return gOne_ABCED9B4_CE73__00400511F31D; -} - -/* - ---------------------------------------------------------------- - Value of sign in Real structure is reserved for future use. - short sign; - ==0 : NaN - 1 : Positive zero - -1 : Negative zero - 2 : Positive number - -2 : Negative number - 3 : Positive infinite number - -3 : Negative infinite number - ---------------------------------------------------------------- -*/ - -VP_EXPORT double -VpGetDoubleNaN(void) /* Returns the value of NaN */ -{ - return nan(""); -} - -VP_EXPORT double -VpGetDoublePosInf(void) /* Returns the value of +Infinity */ -{ - return HUGE_VAL; -} - -VP_EXPORT double -VpGetDoubleNegInf(void) /* Returns the value of -Infinity */ -{ - return -HUGE_VAL; -} - -VP_EXPORT double -VpGetDoubleNegZero(void) /* Returns the value of -0 */ -{ - static double nzero = 1000.0; - if (nzero != 0.0) nzero = (One()/VpGetDoubleNegInf()); - return nzero; -} - -#if 0 /* unused */ -VP_EXPORT int -VpIsNegDoubleZero(double v) -{ - double z = VpGetDoubleNegZero(); - return MemCmp(&v,&z,sizeof(v))==0; -} -#endif - -VP_EXPORT int -VpException(unsigned short f, const char *str,int always) -{ - unsigned short const exception_mode = VpGetException(); - - if (f == VP_EXCEPTION_OP) always = 1; - - if (always || (exception_mode & f)) { - switch(f) { - /* case VP_EXCEPTION_OVERFLOW: */ - case VP_EXCEPTION_ZERODIVIDE: - case VP_EXCEPTION_INFINITY: - case VP_EXCEPTION_NaN: - case VP_EXCEPTION_UNDERFLOW: - case VP_EXCEPTION_OP: - rb_raise(rb_eFloatDomainError, "%s", str); - break; - default: - rb_fatal("%s", str); - } - } - return 0; /* 0 Means VpException() raised no exception */ -} - -/* Throw exception or returns 0,when resulting c is Inf or NaN */ -/* sw=1:+ 2:- 3:* 4:/ */ -static int -VpIsDefOP(Real *c, Real *a, Real *b, enum op_sw sw) -{ - if (VpIsNaN(a) || VpIsNaN(b)) { - /* at least a or b is NaN */ - VpSetNaN(c); - goto NaN; - } - - if (VpIsInf(a)) { - if (VpIsInf(b)) { - switch(sw) { - case OP_SW_ADD: /* + */ - if (VpGetSign(a) == VpGetSign(b)) { - VpSetInf(c, VpGetSign(a)); - goto Inf; - } - else { - VpSetNaN(c); - goto NaN; - } - case OP_SW_SUB: /* - */ - if (VpGetSign(a) != VpGetSign(b)) { - VpSetInf(c, VpGetSign(a)); - goto Inf; - } - else { - VpSetNaN(c); - goto NaN; - } - case OP_SW_MULT: /* * */ - VpSetInf(c, VpGetSign(a)*VpGetSign(b)); - goto Inf; - case OP_SW_DIV: /* / */ - VpSetNaN(c); - goto NaN; - } - VpSetNaN(c); - goto NaN; - } - /* Inf op Finite */ - switch(sw) { - case OP_SW_ADD: /* + */ - case OP_SW_SUB: /* - */ - VpSetInf(c, VpGetSign(a)); - break; - case OP_SW_MULT: /* * */ - if (VpIsZero(b)) { - VpSetNaN(c); - goto NaN; - } - VpSetInf(c, VpGetSign(a)*VpGetSign(b)); - break; - case OP_SW_DIV: /* / */ - VpSetInf(c, VpGetSign(a)*VpGetSign(b)); - } - goto Inf; - } - - if (VpIsInf(b)) { - switch(sw) { - case OP_SW_ADD: /* + */ - VpSetInf(c, VpGetSign(b)); - break; - case OP_SW_SUB: /* - */ - VpSetInf(c, -VpGetSign(b)); - break; - case OP_SW_MULT: /* * */ - if (VpIsZero(a)) { - VpSetNaN(c); - goto NaN; - } - VpSetInf(c, VpGetSign(a)*VpGetSign(b)); - break; - case OP_SW_DIV: /* / */ - VpSetZero(c, VpGetSign(a)*VpGetSign(b)); - } - goto Inf; - } - return 1; /* Results OK */ - -Inf: - if (VpIsPosInf(c)) { - return VpException(VP_EXCEPTION_INFINITY, "Computation results to 'Infinity'", 0); - } - else { - return VpException(VP_EXCEPTION_INFINITY, "Computation results to '-Infinity'", 0); - } - -NaN: - return VpException(VP_EXCEPTION_NaN, "Computation results to 'NaN'", 0); -} - -/* - ---------------------------------------------------------------- -*/ - -/* - * returns number of chars needed to represent vp in specified format. - */ -VP_EXPORT size_t -VpNumOfChars(Real *vp,const char *pszFmt) -{ - SIGNED_VALUE ex; - size_t nc; - - if (vp == NULL) return BASE_FIG*2+6; - if (!VpIsDef(vp)) return 32; /* not sure,may be OK */ - - switch(*pszFmt) { - case 'F': - nc = BASE_FIG*(vp->Prec + 1)+2; - ex = vp->exponent; - if (ex < 0) { - nc += BASE_FIG*(size_t)(-ex); - } - else { - if ((size_t)ex > vp->Prec) { - nc += BASE_FIG*((size_t)ex - vp->Prec); - } - } - break; - case 'E': - /* fall through */ - default: - nc = BASE_FIG*(vp->Prec + 2)+6; /* 3: sign + exponent chars */ - } - return nc; -} - -/* - * Initializer for Vp routines and constants used. - * [Input] - * BaseVal: Base value(assigned to BASE) for Vp calculation. - * It must be the form BaseVal=10**n.(n=1,2,3,...) - * If Base <= 0L,then the BASE will be calculated so - * that BASE is as large as possible satisfying the - * relation MaxVal <= BASE*(BASE+1). Where the value - * MaxVal is the largest value which can be represented - * by one DECDIG word in the computer used. - * - * [Returns] - * BIGDECIMAL_DOUBLE_FIGURES ... OK - */ -VP_EXPORT size_t -VpInit(DECDIG BaseVal) -{ - /* Setup +/- Inf NaN -0 */ - VpGetDoubleNegZero(); - - /* Const 1.0 */ - VpConstOne = NewOneNolimit(1, 1); - - /* Const 0.5 */ - VpConstPt5 = NewOneNolimit(1, 1); - VpConstPt5->exponent = 0; - VpConstPt5->frac[0] = 5*BASE1; - -#ifdef BIGDECIMAL_DEBUG - gnAlloc = 0; -#endif /* BIGDECIMAL_DEBUG */ - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - printf("VpInit: BaseVal = %"PRIuDECDIG"\n", BaseVal); - printf("\tBASE = %"PRIuDECDIG"\n", BASE); - printf("\tHALF_BASE = %"PRIuDECDIG"\n", HALF_BASE); - printf("\tBASE1 = %"PRIuDECDIG"\n", BASE1); - printf("\tBASE_FIG = %u\n", BASE_FIG); - printf("\tBIGDECIMAL_DOUBLE_FIGURES = %d\n", BIGDECIMAL_DOUBLE_FIGURES); - } -#endif /* BIGDECIMAL_DEBUG */ - - return BIGDECIMAL_DOUBLE_FIGURES; -} - -VP_EXPORT Real * -VpOne(void) -{ - return VpConstOne; -} - -/* If exponent overflows,then raise exception or returns 0 */ -static int -AddExponent(Real *a, SIGNED_VALUE n) -{ - SIGNED_VALUE e = a->exponent; - SIGNED_VALUE m = e+n; - SIGNED_VALUE eb, mb; - if (e > 0) { - if (n > 0) { - if (MUL_OVERFLOW_SIGNED_VALUE_P(m, (SIGNED_VALUE)BASE_FIG) || - MUL_OVERFLOW_SIGNED_VALUE_P(e, (SIGNED_VALUE)BASE_FIG)) - goto overflow; - mb = m*(SIGNED_VALUE)BASE_FIG; - eb = e*(SIGNED_VALUE)BASE_FIG; - if (eb - mb > 0) goto overflow; - } - } - else if (n < 0) { - if (MUL_OVERFLOW_SIGNED_VALUE_P(m, (SIGNED_VALUE)BASE_FIG) || - MUL_OVERFLOW_SIGNED_VALUE_P(e, (SIGNED_VALUE)BASE_FIG)) - goto underflow; - mb = m*(SIGNED_VALUE)BASE_FIG; - eb = e*(SIGNED_VALUE)BASE_FIG; - if (mb - eb > 0) goto underflow; - } - a->exponent = m; - return 1; - -/* Overflow/Underflow ==> Raise exception or returns 0 */ -underflow: - VpSetZero(a, VpGetSign(a)); - return VpException(VP_EXCEPTION_UNDERFLOW, "Exponent underflow", 0); - -overflow: - VpSetInf(a, VpGetSign(a)); - return VpException(VP_EXCEPTION_OVERFLOW, "Exponent overflow", 0); -} - -Real * -bigdecimal_parse_special_string(const char *str) -{ - static const struct { - const char *str; - size_t len; - int sign; - } table[] = { - { SZ_INF, sizeof(SZ_INF) - 1, VP_SIGN_POSITIVE_INFINITE }, - { SZ_PINF, sizeof(SZ_PINF) - 1, VP_SIGN_POSITIVE_INFINITE }, - { SZ_NINF, sizeof(SZ_NINF) - 1, VP_SIGN_NEGATIVE_INFINITE }, - { SZ_NaN, sizeof(SZ_NaN) - 1, VP_SIGN_NaN } - }; - static const size_t table_length = sizeof(table) / sizeof(table[0]); - size_t i; - - for (i = 0; i < table_length; ++i) { - const char *p; - if (strncmp(str, table[i].str, table[i].len) != 0) { - continue; - } - - p = str + table[i].len; - while (*p && ISSPACE(*p)) ++p; - if (*p == '\0') { - Real *vp = rbd_allocate_struct(1); - vp->MaxPrec = 1; - switch (table[i].sign) { - default: - UNREACHABLE; break; - case VP_SIGN_POSITIVE_INFINITE: - VpSetPosInf(vp); - return vp; - case VP_SIGN_NEGATIVE_INFINITE: - VpSetNegInf(vp); - return vp; - case VP_SIGN_NaN: - VpSetNaN(vp); - return vp; - } - } - } - - return NULL; -} - -/* - * Allocates variable. - * [Input] - * mx ... The number of decimal digits to be allocated, if zero then mx is determined by szVal. - * The mx will be the number of significant digits can to be stored. - * szVal ... The value assigned(char). If szVal==NULL, then zero is assumed. - * If szVal[0]=='#' then MaxPrec is not affected by the precision limit - * so that the full precision specified by szVal is allocated. - * - * [Returns] - * Pointer to the newly allocated variable, or - * NULL be returned if memory allocation is failed,or any error. - */ -VP_EXPORT Real * -VpAlloc(size_t mx, const char *szVal, int strict_p, int exc) -{ - const char *orig_szVal = szVal; - size_t i, j, ni, ipf, nf, ipe, ne, dot_seen, exp_seen, nalloc; - size_t len; - char v, *psz; - int sign=1; - Real *vp = NULL; - VALUE buf; - - if (szVal == NULL) { - return_zero: - /* necessary to be able to store */ - /* at least mx digits. */ - /* szVal==NULL ==> allocate zero value. */ - vp = rbd_allocate_struct(mx); - vp->MaxPrec = rbd_calculate_internal_digits(mx, false); /* Must false */ - VpSetZero(vp, 1); /* initialize vp to zero. */ - return vp; - } - - /* Skipping leading spaces */ - while (ISSPACE(*szVal)) szVal++; - - /* Check on Inf & NaN */ - if ((vp = bigdecimal_parse_special_string(szVal)) != NULL) { - return vp; - } - - /* Processing the leading one `#` */ - if (*szVal != '#') { - len = rbd_calculate_internal_digits(mx, true); - } - else { - len = rbd_calculate_internal_digits(mx, false); - ++szVal; - } - - /* Scanning digits */ - - /* A buffer for keeping scanned digits */ - buf = rb_str_tmp_new(strlen(szVal) + 1); - psz = RSTRING_PTR(buf); - - /* cursor: i for psz, and j for szVal */ - i = j = 0; - - /* Scanning: sign part */ - v = psz[i] = szVal[j]; - if ((v == '-') || (v == '+')) { - sign = -(v == '-'); - ++i; - ++j; - } - - /* Scanning: integer part */ - ni = 0; /* number of digits in the integer part */ - while ((v = psz[i] = szVal[j]) != '\0') { - if (!strict_p && ISSPACE(v)) { - v = psz[i] = '\0'; - break; - } - if (v == '_') { - if (ni > 0) { - v = szVal[j+1]; - if (v == '\0' || ISSPACE(v) || ISDIGIT(v)) { - ++j; - continue; - } - if (!strict_p) { - v = psz[i] = '\0'; - break; - } - } - goto invalid_value; - } - if (!ISDIGIT(v)) { - break; - } - ++ni; - ++i; - ++j; - } - - /* Scanning: fractional part */ - nf = 0; /* number of digits in the fractional part */ - ne = 0; /* number of digits in the exponential part */ - ipf = 0; /* index of the beginning of the fractional part */ - ipe = 0; /* index of the beginning of the exponential part */ - dot_seen = 0; - exp_seen = 0; - - if (v != '\0') { - /* Scanning fractional part */ - if ((psz[i] = szVal[j]) == '.') { - dot_seen = 1; - ++i; - ++j; - ipf = i; - while ((v = psz[i] = szVal[j]) != '\0') { - if (!strict_p && ISSPACE(v)) { - v = psz[i] = '\0'; - break; - } - if (v == '_') { - if (nf > 0 && ISDIGIT(szVal[j+1])) { - ++j; - continue; - } - if (!strict_p) { - v = psz[i] = '\0'; - if (nf == 0) { - dot_seen = 0; - } - break; - } - goto invalid_value; - } - if (!ISDIGIT(v)) break; - ++i; - ++j; - ++nf; - } - } - - /* Scanning exponential part */ - if (v != '\0') { - switch ((psz[i] = szVal[j])) { - case '\0': - break; - case 'e': case 'E': - case 'd': case 'D': - exp_seen = 1; - ++i; - ++j; - ipe = i; - v = psz[i] = szVal[j]; - if ((v == '-') || (v == '+')) { - ++i; - ++j; - } - while ((v = psz[i] = szVal[j]) != '\0') { - if (!strict_p && ISSPACE(v)) { - v = psz[i] = '\0'; - break; - } - if (v == '_') { - if (ne > 0 && ISDIGIT(szVal[j+1])) { - ++j; - continue; - } - if (!strict_p) { - v = psz[i] = '\0'; - if (ne == 0) { - exp_seen = 0; - } - break; - } - goto invalid_value; - } - if (!ISDIGIT(v)) break; - ++i; - ++j; - ++ne; - } - break; - default: - break; - } - } - - if (v != '\0') { - /* Scanning trailing spaces */ - while (ISSPACE(szVal[j])) ++j; - - /* Invalid character */ - if (szVal[j] && strict_p) { - goto invalid_value; - } - } - } - - psz[i] = '\0'; - - if (strict_p && (((ni == 0 || dot_seen) && nf == 0) || (exp_seen && ne == 0))) { - VALUE str; - invalid_value: - if (!strict_p) { - goto return_zero; - } - if (!exc) { - return NULL; - } - str = rb_str_new2(orig_szVal); - rb_raise(rb_eArgError, "invalid value for BigDecimal(): \"%"PRIsVALUE"\"", str); - } - - nalloc = (ni + nf + BASE_FIG - 1) / BASE_FIG + 1; /* set effective allocation */ - /* units for szVal[] */ - if (len == 0) len = 1; - nalloc = Max(nalloc, len); - len = nalloc; - vp = rbd_allocate_struct(len); - vp->MaxPrec = len; /* set max precision */ - VpSetZero(vp, sign); - VpCtoV(vp, psz, ni, psz + ipf, nf, psz + ipe, ne); - rb_str_resize(buf, 0); - return vp; -} - -/* - * Assignment(c=a). - * [Input] - * a ... RHSV - * isw ... switch for assignment. - * c = a when isw > 0 - * c = -a when isw < 0 - * if c->MaxPrec < a->Prec,then round operation - * will be performed. - * [Output] - * c ... LHSV - */ -VP_EXPORT size_t -VpAsgn(Real *c, Real *a, int isw) -{ - size_t n; - if (VpIsNaN(a)) { - VpSetNaN(c); - return 0; - } - if (VpIsInf(a)) { - VpSetInf(c, isw * VpGetSign(a)); - return 0; - } - - /* check if the RHS is zero */ - if (!VpIsZero(a)) { - c->exponent = a->exponent; /* store exponent */ - VpSetSign(c, isw * VpGetSign(a)); /* set sign */ - n = (a->Prec < c->MaxPrec) ? (a->Prec) : (c->MaxPrec); - c->Prec = n; - memcpy(c->frac, a->frac, n * sizeof(DECDIG)); - /* Needs round ? */ - if (isw != 10) { - /* Not in ActiveRound */ - if(c->Prec < a->Prec) { - VpInternalRound(c, n, (n>0) ? a->frac[n-1] : 0, a->frac[n]); - } - else { - VpLimitRound(c,0); - } - } - } - else { - /* The value of 'a' is zero. */ - VpSetZero(c, isw * VpGetSign(a)); - return 1; - } - return c->Prec * BASE_FIG; -} - -/* - * c = a + b when operation = 1 or 2 - * c = a - b when operation = -1 or -2. - * Returns number of significant digits of c - */ -VP_EXPORT size_t -VpAddSub(Real *c, Real *a, Real *b, int operation) -{ - short sw, isw; - Real *a_ptr, *b_ptr; - size_t n, na, nb, i; - DECDIG mrv; - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpAddSub(enter) a=% \n", a); - VPrint(stdout, " b=% \n", b); - printf(" operation=%d\n", operation); - } -#endif /* BIGDECIMAL_DEBUG */ - - if (!VpIsDefOP(c, a, b, (operation > 0) ? OP_SW_ADD : OP_SW_SUB)) return 0; /* No significant digits */ - - /* check if a or b is zero */ - if (VpIsZero(a)) { - /* a is zero,then assign b to c */ - if (!VpIsZero(b)) { - VpAsgn(c, b, operation); - } - else { - /* Both a and b are zero. */ - if (VpGetSign(a) < 0 && operation * VpGetSign(b) < 0) { - /* -0 -0 */ - VpSetZero(c, -1); - } - else { - VpSetZero(c, 1); - } - return 1; /* 0: 1 significant digits */ - } - return c->Prec * BASE_FIG; - } - if (VpIsZero(b)) { - /* b is zero,then assign a to c. */ - VpAsgn(c, a, 1); - return c->Prec*BASE_FIG; - } - - if (operation < 0) sw = -1; - else sw = 1; - - /* compare absolute value. As a result,|a_ptr|>=|b_ptr| */ - if (a->exponent > b->exponent) { - a_ptr = a; - b_ptr = b; - } /* |a|>|b| */ - else if (a->exponent < b->exponent) { - a_ptr = b; - b_ptr = a; - } /* |a|<|b| */ - else { - /* Exponent part of a and b is the same,then compare fraction */ - /* part */ - na = a->Prec; - nb = b->Prec; - n = Min(na, nb); - for (i=0; i < n; ++i) { - if (a->frac[i] > b->frac[i]) { - a_ptr = a; - b_ptr = b; - goto end_if; - } - else if (a->frac[i] < b->frac[i]) { - a_ptr = b; - b_ptr = a; - goto end_if; - } - } - if (na > nb) { - a_ptr = a; - b_ptr = b; - goto end_if; - } - else if (na < nb) { - a_ptr = b; - b_ptr = a; - goto end_if; - } - /* |a| == |b| */ - if (VpGetSign(a) + sw *VpGetSign(b) == 0) { - VpSetZero(c, 1); /* abs(a)=abs(b) and operation = '-' */ - return c->Prec * BASE_FIG; - } - a_ptr = a; - b_ptr = b; - } - -end_if: - isw = VpGetSign(a) + sw *VpGetSign(b); - /* - * isw = 0 ...( 1)+(-1),( 1)-( 1),(-1)+(1),(-1)-(-1) - * = 2 ...( 1)+( 1),( 1)-(-1) - * =-2 ...(-1)+(-1),(-1)-( 1) - * If isw==0, then c =(Sign a_ptr)(|a_ptr|-|b_ptr|) - * else c =(Sign ofisw)(|a_ptr|+|b_ptr|) - */ - if (isw) { /* addition */ - VpSetSign(c, 1); - mrv = VpAddAbs(a_ptr, b_ptr, c); - VpSetSign(c, isw / 2); - } - else { /* subtraction */ - VpSetSign(c, 1); - mrv = VpSubAbs(a_ptr, b_ptr, c); - if (a_ptr == a) { - VpSetSign(c,VpGetSign(a)); - } - else { - VpSetSign(c, VpGetSign(a_ptr) * sw); - } - } - VpInternalRound(c, 0, (c->Prec > 0) ? c->frac[c->Prec-1] : 0, mrv); - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpAddSub(result) c=% \n", c); - VPrint(stdout, " a=% \n", a); - VPrint(stdout, " b=% \n", b); - printf(" operation=%d\n", operation); - } -#endif /* BIGDECIMAL_DEBUG */ - return c->Prec * BASE_FIG; -} - -/* - * Addition of two values with variable precision - * a and b assuming abs(a)>abs(b). - * c = abs(a) + abs(b) ; where |a|>=|b| - */ -static DECDIG -VpAddAbs(Real *a, Real *b, Real *c) -{ - size_t word_shift; - size_t ap; - size_t bp; - size_t cp; - size_t a_pos; - size_t b_pos, b_pos_with_word_shift; - size_t c_pos; - DECDIG av, bv, carry, mrv; - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpAddAbs called: a = %\n", a); - VPrint(stdout, " b = %\n", b); - } -#endif /* BIGDECIMAL_DEBUG */ - - word_shift = VpSetPTR(a, b, c, &ap, &bp, &cp, &av, &bv); - a_pos = ap; - b_pos = bp; - c_pos = cp; - - if (word_shift == (size_t)-1L) return 0; /* Overflow */ - if (b_pos == (size_t)-1L) goto Assign_a; - - mrv = av + bv; /* Most right val. Used for round. */ - - /* Just assign the last few digits of b to c because a has no */ - /* corresponding digits to be added. */ - if (b_pos > 0) { - while (b_pos > 0 && b_pos + word_shift > a_pos) { - c->frac[--c_pos] = b->frac[--b_pos]; - } - } - if (b_pos == 0 && word_shift > a_pos) { - while (word_shift-- > a_pos) { - c->frac[--c_pos] = 0; - } - } - - /* Just assign the last few digits of a to c because b has no */ - /* corresponding digits to be added. */ - b_pos_with_word_shift = b_pos + word_shift; - while (a_pos > b_pos_with_word_shift) { - c->frac[--c_pos] = a->frac[--a_pos]; - } - carry = 0; /* set first carry be zero */ - - /* Now perform addition until every digits of b will be */ - /* exhausted. */ - while (b_pos > 0) { - c->frac[--c_pos] = a->frac[--a_pos] + b->frac[--b_pos] + carry; - if (c->frac[c_pos] >= BASE) { - c->frac[c_pos] -= BASE; - carry = 1; - } - else { - carry = 0; - } - } - - /* Just assign the first few digits of a with considering */ - /* the carry obtained so far because b has been exhausted. */ - while (a_pos > 0) { - c->frac[--c_pos] = a->frac[--a_pos] + carry; - if (c->frac[c_pos] >= BASE) { - c->frac[c_pos] -= BASE; - carry = 1; - } - else { - carry = 0; - } - } - if (c_pos) c->frac[c_pos - 1] += carry; - goto Exit; - -Assign_a: - VpAsgn(c, a, 1); - mrv = 0; - -Exit: - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpAddAbs exit: c=% \n", c); - } -#endif /* BIGDECIMAL_DEBUG */ - return mrv; -} - -/* - * c = abs(a) - abs(b) - */ -static DECDIG -VpSubAbs(Real *a, Real *b, Real *c) -{ - size_t word_shift; - size_t ap; - size_t bp; - size_t cp; - size_t a_pos; - size_t b_pos, b_pos_with_word_shift; - size_t c_pos; - DECDIG av, bv, borrow, mrv; - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpSubAbs called: a = %\n", a); - VPrint(stdout, " b = %\n", b); - } -#endif /* BIGDECIMAL_DEBUG */ - - word_shift = VpSetPTR(a, b, c, &ap, &bp, &cp, &av, &bv); - a_pos = ap; - b_pos = bp; - c_pos = cp; - if (word_shift == (size_t)-1L) return 0; /* Overflow */ - if (b_pos == (size_t)-1L) goto Assign_a; - - if (av >= bv) { - mrv = av - bv; - borrow = 0; - } - else { - mrv = 0; - borrow = 1; - } - - /* Just assign the values which are the BASE subtracted by */ - /* each of the last few digits of the b because the a has no */ - /* corresponding digits to be subtracted. */ - if (b_pos + word_shift > a_pos) { - while (b_pos > 0 && b_pos + word_shift > a_pos) { - c->frac[--c_pos] = BASE - b->frac[--b_pos] - borrow; - borrow = 1; - } - if (b_pos == 0) { - while (word_shift > a_pos) { - --word_shift; - c->frac[--c_pos] = BASE - borrow; - borrow = 1; - } - } - } - /* Just assign the last few digits of a to c because b has no */ - /* corresponding digits to subtract. */ - - b_pos_with_word_shift = b_pos + word_shift; - while (a_pos > b_pos_with_word_shift) { - c->frac[--c_pos] = a->frac[--a_pos]; - } - - /* Now perform subtraction until every digits of b will be */ - /* exhausted. */ - while (b_pos > 0) { - --c_pos; - if (a->frac[--a_pos] < b->frac[--b_pos] + borrow) { - c->frac[c_pos] = BASE + a->frac[a_pos] - b->frac[b_pos] - borrow; - borrow = 1; - } - else { - c->frac[c_pos] = a->frac[a_pos] - b->frac[b_pos] - borrow; - borrow = 0; - } - } - - /* Just assign the first few digits of a with considering */ - /* the borrow obtained so far because b has been exhausted. */ - while (a_pos > 0) { - --c_pos; - if (a->frac[--a_pos] < borrow) { - c->frac[c_pos] = BASE + a->frac[a_pos] - borrow; - borrow = 1; - } - else { - c->frac[c_pos] = a->frac[a_pos] - borrow; - borrow = 0; - } - } - if (c_pos) c->frac[c_pos - 1] -= borrow; - goto Exit; - -Assign_a: - VpAsgn(c, a, 1); - mrv = 0; - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpSubAbs exit: c=% \n", c); - } -#endif /* BIGDECIMAL_DEBUG */ - return mrv; -} - -/* - * Note: If(av+bv)>= HALF_BASE,then 1 will be added to the least significant - * digit of c(In case of addition). - * ------------------------- figure of output ----------------------------------- - * a = xxxxxxxxxxx - * b = xxxxxxxxxx - * c =xxxxxxxxxxxxxxx - * word_shift = | | - * right_word = | | (Total digits in RHSV) - * left_word = | | (Total digits in LHSV) - * a_pos = | - * b_pos = | - * c_pos = | - */ -static size_t -VpSetPTR(Real *a, Real *b, Real *c, size_t *a_pos, size_t *b_pos, size_t *c_pos, DECDIG *av, DECDIG *bv) -{ - size_t left_word, right_word, word_shift; - - size_t const round_limit = (VpGetPrecLimit() + BASE_FIG - 1) / BASE_FIG; - - assert(a->exponent >= b->exponent); - - c->frac[0] = 0; - *av = *bv = 0; - - word_shift = (a->exponent - b->exponent); - left_word = b->Prec + word_shift; - right_word = Max(a->Prec, left_word); - left_word = c->MaxPrec - 1; /* -1 ... prepare for round up */ - - /* - * check if 'round' is needed. - */ - if (right_word > left_word) { /* round ? */ - /*--------------------------------- - * Actual size of a = xxxxxxAxx - * Actual size of b = xxxBxxxxx - * Max. size of c = xxxxxx - * Round off = |-----| - * c_pos = | - * right_word = | - * a_pos = | - */ - *c_pos = right_word = left_word + 1; /* Set resulting precision */ - /* be equal to that of c */ - if (a->Prec >= c->MaxPrec) { - /* - * a = xxxxxxAxxx - * c = xxxxxx - * a_pos = | - */ - *a_pos = left_word; - if (*a_pos <= round_limit) { - *av = a->frac[*a_pos]; /* av is 'A' shown in above. */ - } - } - else { - /* - * a = xxxxxxx - * c = xxxxxxxxxx - * a_pos = | - */ - *a_pos = a->Prec; - } - if (b->Prec + word_shift >= c->MaxPrec) { - /* - * a = xxxxxxxxx - * b = xxxxxxxBxxx - * c = xxxxxxxxxxx - * b_pos = | - */ - if (c->MaxPrec >= word_shift + 1) { - *b_pos = c->MaxPrec - word_shift - 1; - if (*b_pos + word_shift <= round_limit) { - *bv = b->frac[*b_pos]; - } - } - else { - *b_pos = -1L; - } - } - else { - /* - * a = xxxxxxxxxxxxxxxx - * b = xxxxxx - * c = xxxxxxxxxxxxx - * b_pos = | - */ - *b_pos = b->Prec; - } - } - else { /* The MaxPrec of c - 1 > The Prec of a + b */ - /* - * a = xxxxxxx - * b = xxxxxx - * c = xxxxxxxxxxx - * c_pos = | - */ - *b_pos = b->Prec; - *a_pos = a->Prec; - *c_pos = right_word + 1; - } - c->Prec = *c_pos; - c->exponent = a->exponent; - if (!AddExponent(c, 1)) return (size_t)-1L; - return word_shift; -} - -/* - * Return number of significant digits - * c = a * b , Where a = a0a1a2 ... an - * b = b0b1b2 ... bm - * c = c0c1c2 ... cl - * a0 a1 ... an * bm - * a0 a1 ... an * bm-1 - * . . . - * . . . - * a0 a1 .... an * b0 - * +_____________________________ - * c0 c1 c2 ...... cl - * nc <---| - * MaxAB |--------------------| - */ -VP_EXPORT size_t -VpMult(Real *c, Real *a, Real *b) -{ - size_t MxIndA, MxIndB, MxIndAB, MxIndC; - size_t ind_c, i, ii, nc; - size_t ind_as, ind_ae, ind_bs; - DECDIG carry; - DECDIG_DBL s; - Real *w; - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpMult(Enter): a=% \n", a); - VPrint(stdout, " b=% \n", b); - } -#endif /* BIGDECIMAL_DEBUG */ - - if (!VpIsDefOP(c, a, b, OP_SW_MULT)) return 0; /* No significant digit */ - - if (VpIsZero(a) || VpIsZero(b)) { - /* at least a or b is zero */ - VpSetZero(c, VpGetSign(a) * VpGetSign(b)); - return 1; /* 0: 1 significant digit */ - } - - if (VpIsOne(a)) { - VpAsgn(c, b, VpGetSign(a)); - goto Exit; - } - if (VpIsOne(b)) { - VpAsgn(c, a, VpGetSign(b)); - goto Exit; - } - if (b->Prec > a->Prec) { - /* Adjust so that digits(a)>digits(b) */ - w = a; - a = b; - b = w; - } - w = NULL; - MxIndA = a->Prec - 1; - MxIndB = b->Prec - 1; - MxIndC = c->MaxPrec - 1; - MxIndAB = a->Prec + b->Prec - 1; - - if (MxIndC < MxIndAB) { /* The Max. prec. of c < Prec(a)+Prec(b) */ - w = c; - c = NewZeroNolimit(1, (size_t)((MxIndAB + 1) * BASE_FIG)); - MxIndC = MxIndAB; - } - - /* set LHSV c info */ - - c->exponent = a->exponent; /* set exponent */ - if (!AddExponent(c, b->exponent)) { - if (w) rbd_free_struct(c); - return 0; - } - VpSetSign(c, VpGetSign(a) * VpGetSign(b)); /* set sign */ - carry = 0; - nc = ind_c = MxIndAB; - memset(c->frac, 0, (nc + 1) * sizeof(DECDIG)); /* Initialize c */ - c->Prec = nc + 1; /* set precision */ - for (nc = 0; nc < MxIndAB; ++nc, --ind_c) { - if (nc < MxIndB) { /* The left triangle of the Fig. */ - ind_as = MxIndA - nc; - ind_ae = MxIndA; - ind_bs = MxIndB; - } - else if (nc <= MxIndA) { /* The middle rectangular of the Fig. */ - ind_as = MxIndA - nc; - ind_ae = MxIndA - (nc - MxIndB); - ind_bs = MxIndB; - } - else /* if (nc > MxIndA) */ { /* The right triangle of the Fig. */ - ind_as = 0; - ind_ae = MxIndAB - nc - 1; - ind_bs = MxIndB - (nc - MxIndA); - } - - for (i = ind_as; i <= ind_ae; ++i) { - s = (DECDIG_DBL)a->frac[i] * b->frac[ind_bs--]; - carry = (DECDIG)(s / BASE); - s -= (DECDIG_DBL)carry * BASE; - c->frac[ind_c] += (DECDIG)s; - if (c->frac[ind_c] >= BASE) { - s = c->frac[ind_c] / BASE; - carry += (DECDIG)s; - c->frac[ind_c] -= (DECDIG)(s * BASE); - } - if (carry) { - ii = ind_c; - while (ii-- > 0) { - c->frac[ii] += carry; - if (c->frac[ii] >= BASE) { - carry = c->frac[ii] / BASE; - c->frac[ii] -= (carry * BASE); - } - else { - break; - } - } - } - } - } - if (w != NULL) { /* free work variable */ - VpNmlz(c); - VpAsgn(w, c, 1); - rbd_free_struct(c); - c = w; - } - else { - VpLimitRound(c,0); - } - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpMult(c=a*b): c=% \n", c); - VPrint(stdout, " a=% \n", a); - VPrint(stdout, " b=% \n", b); - } -#endif /*BIGDECIMAL_DEBUG */ - return c->Prec*BASE_FIG; -} - -/* - * c = a / b, remainder = r - */ -VP_EXPORT size_t -VpDivd(Real *c, Real *r, Real *a, Real *b) -{ - size_t word_a, word_b, word_c, word_r; - size_t i, n, ind_a, ind_b, ind_c, ind_r; - size_t nLoop; - DECDIG_DBL q, b1, b1p1, b1b2, b1b2p1, r1r2; - DECDIG borrow, borrow1, borrow2; - DECDIG_DBL qb; - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, " VpDivd(c=a/b) a=% \n", a); - VPrint(stdout, " b=% \n", b); - } -#endif /*BIGDECIMAL_DEBUG */ - - VpSetNaN(r); - if (!VpIsDefOP(c, a, b, OP_SW_DIV)) goto Exit; - if (VpIsZero(a) && VpIsZero(b)) { - VpSetNaN(c); - return VpException(VP_EXCEPTION_NaN, "Computation results to 'NaN'", 0); - } - if (VpIsZero(b)) { - VpSetInf(c, VpGetSign(a) * VpGetSign(b)); - return VpException(VP_EXCEPTION_ZERODIVIDE, "Divide by zero", 0); - } - if (VpIsZero(a)) { - /* numerator a is zero */ - VpSetZero(c, VpGetSign(a) * VpGetSign(b)); - VpSetZero(r, VpGetSign(a) * VpGetSign(b)); - goto Exit; - } - if (VpIsOne(b)) { - /* divide by one */ - VpAsgn(c, a, VpGetSign(b)); - VpSetZero(r, VpGetSign(a)); - goto Exit; - } - - word_a = a->Prec; - word_b = b->Prec; - word_c = c->MaxPrec; - word_r = r->MaxPrec; - - if (word_a >= word_r) goto space_error; - - ind_r = 1; - r->frac[0] = 0; - while (ind_r <= word_a) { - r->frac[ind_r] = a->frac[ind_r - 1]; - ++ind_r; - } - while (ind_r < word_r) r->frac[ind_r++] = 0; - - ind_c = 0; - while (ind_c < word_c) c->frac[ind_c++] = 0; - - /* initial procedure */ - b1 = b1p1 = b->frac[0]; - if (b->Prec <= 1) { - b1b2p1 = b1b2 = b1p1 * BASE; - } - else { - b1p1 = b1 + 1; - b1b2p1 = b1b2 = b1 * BASE + b->frac[1]; - if (b->Prec > 2) ++b1b2p1; - } - - /* */ - /* loop start */ - ind_c = word_r - 1; - nLoop = Min(word_c,ind_c); - ind_c = 1; - while (ind_c < nLoop) { - if (r->frac[ind_c] == 0) { - ++ind_c; - continue; - } - r1r2 = (DECDIG_DBL)r->frac[ind_c] * BASE + r->frac[ind_c + 1]; - if (r1r2 == b1b2) { - /* The first two word digits is the same */ - ind_b = 2; - ind_a = ind_c + 2; - while (ind_b < word_b) { - if (r->frac[ind_a] < b->frac[ind_b]) goto div_b1p1; - if (r->frac[ind_a] > b->frac[ind_b]) break; - ++ind_a; - ++ind_b; - } - /* The first few word digits of r and b is the same and */ - /* the first different word digit of w is greater than that */ - /* of b, so quotient is 1 and just subtract b from r. */ - borrow = 0; /* quotient=1, then just r-b */ - ind_b = b->Prec - 1; - ind_r = ind_c + ind_b; - if (ind_r >= word_r) goto space_error; - n = ind_b; - for (i = 0; i <= n; ++i) { - if (r->frac[ind_r] < b->frac[ind_b] + borrow) { - r->frac[ind_r] += (BASE - (b->frac[ind_b] + borrow)); - borrow = 1; - } - else { - r->frac[ind_r] = r->frac[ind_r] - b->frac[ind_b] - borrow; - borrow = 0; - } - --ind_r; - --ind_b; - } - ++c->frac[ind_c]; - goto carry; - } - /* The first two word digits is not the same, */ - /* then compare magnitude, and divide actually. */ - if (r1r2 >= b1b2p1) { - q = r1r2 / b1b2p1; /* q == (DECDIG)q */ - c->frac[ind_c] += (DECDIG)q; - ind_r = b->Prec + ind_c - 1; - goto sub_mult; - } - -div_b1p1: - if (ind_c + 1 >= word_c) goto out_side; - q = r1r2 / b1p1; /* q == (DECDIG)q */ - c->frac[ind_c + 1] += (DECDIG)q; - ind_r = b->Prec + ind_c; - -sub_mult: - borrow1 = borrow2 = 0; - ind_b = word_b - 1; - if (ind_r >= word_r) goto space_error; - n = ind_b; - for (i = 0; i <= n; ++i) { - /* now, perform r = r - q * b */ - qb = q * b->frac[ind_b]; - if (qb < BASE) borrow1 = 0; - else { - borrow1 = (DECDIG)(qb / BASE); - qb -= (DECDIG_DBL)borrow1 * BASE; /* get qb < BASE */ - } - if(r->frac[ind_r] < qb) { - r->frac[ind_r] += (DECDIG)(BASE - qb); - borrow2 = borrow2 + borrow1 + 1; - } - else { - r->frac[ind_r] -= (DECDIG)qb; - borrow2 += borrow1; - } - if (borrow2) { - if(r->frac[ind_r - 1] < borrow2) { - r->frac[ind_r - 1] += (BASE - borrow2); - borrow2 = 1; - } - else { - r->frac[ind_r - 1] -= borrow2; - borrow2 = 0; - } - } - --ind_r; - --ind_b; - } - - r->frac[ind_r] -= borrow2; -carry: - ind_r = ind_c; - while (c->frac[ind_r] >= BASE) { - c->frac[ind_r] -= BASE; - --ind_r; - ++c->frac[ind_r]; - } - } - /* End of operation, now final arrangement */ -out_side: - c->Prec = word_c; - c->exponent = a->exponent; - if (!AddExponent(c, 2)) return 0; - if (!AddExponent(c, -(b->exponent))) return 0; - - VpSetSign(c, VpGetSign(a) * VpGetSign(b)); - VpNmlz(c); /* normalize c */ - r->Prec = word_r; - r->exponent = a->exponent; - if (!AddExponent(r, 1)) return 0; - VpSetSign(r, VpGetSign(a)); - VpNmlz(r); /* normalize r(remainder) */ - goto Exit; - -space_error: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - printf(" word_a=%"PRIuSIZE"\n", word_a); - printf(" word_b=%"PRIuSIZE"\n", word_b); - printf(" word_c=%"PRIuSIZE"\n", word_c); - printf(" word_r=%"PRIuSIZE"\n", word_r); - printf(" ind_r =%"PRIuSIZE"\n", ind_r); - } -#endif /* BIGDECIMAL_DEBUG */ - rb_bug("ERROR(VpDivd): space for remainder too small."); - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, " VpDivd(c=a/b), c=% \n", c); - VPrint(stdout, " r=% \n", r); - } -#endif /* BIGDECIMAL_DEBUG */ - return c->Prec * BASE_FIG; -} - -/* - * Input a = 00000xxxxxxxx En(5 preceding zeros) - * Output a = xxxxxxxx En-5 - */ -static int -VpNmlz(Real *a) -{ - size_t ind_a, i; - - if (!VpIsDef(a)) goto NoVal; - if (VpIsZero(a)) goto NoVal; - - ind_a = a->Prec; - while (ind_a--) { - if (a->frac[ind_a]) { - a->Prec = ind_a + 1; - i = 0; - while (a->frac[i] == 0) ++i; /* skip the first few zeros */ - if (i) { - a->Prec -= i; - if (!AddExponent(a, -(SIGNED_VALUE)i)) return 0; - memmove(&a->frac[0], &a->frac[i], a->Prec*sizeof(DECDIG)); - } - return 1; - } - } - /* a is zero(no non-zero digit) */ - VpSetZero(a, VpGetSign(a)); - return 0; - -NoVal: - a->frac[0] = 0; - a->Prec = 1; - return 0; -} - -/* - * VpComp = 0 ... if a=b, - * Pos ... a>b, - * Neg ... asign - b->sign; - else e = a->sign; - - if (e > 0) return 1; - else if (e < 0) return -1; - else return 0; - } - if (!VpIsDef(b)) { - e = -b->sign; - if (e > 0) return 1; - else return -1; - } - /* Zero check */ - if (VpIsZero(a)) { - if (VpIsZero(b)) return 0; /* both zero */ - val = -VpGetSign(b); - goto Exit; - } - if (VpIsZero(b)) { - val = VpGetSign(a); - goto Exit; - } - - /* compare sign */ - if (VpGetSign(a) > VpGetSign(b)) { - val = 1; /* a>b */ - goto Exit; - } - if (VpGetSign(a) < VpGetSign(b)) { - val = -1; /* aexponent > b->exponent) { - val = VpGetSign(a); - goto Exit; - } - if (a->exponent < b->exponent) { - val = -VpGetSign(b); - goto Exit; - } - - /* a and b have same exponent, then compare their significand. */ - mx = (a->Prec < b->Prec) ? a->Prec : b->Prec; - ind = 0; - while (ind < mx) { - if (a->frac[ind] > b->frac[ind]) { - val = VpGetSign(a); - goto Exit; - } - if (a->frac[ind] < b->frac[ind]) { - val = -VpGetSign(b); - goto Exit; - } - ++ind; - } - if (a->Prec > b->Prec) { - val = VpGetSign(a); - } - else if (a->Prec < b->Prec) { - val = -VpGetSign(b); - } - -Exit: - if (val > 1) val = 1; - else if (val < -1) val = -1; - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, " VpComp a=%\n", a); - VPrint(stdout, " b=%\n", b); - printf(" ans=%d\n", val); - } -#endif /* BIGDECIMAL_DEBUG */ - return (int)val; -} - -/* - * cntl_chr ... ASCIIZ Character, print control characters - * Available control codes: - * % ... VP variable. To print '%', use '%%'. - * \n ... new line - * \b ... backspace - * \t ... tab - * Note: % must not appear more than once - * a ... VP variable to be printed - */ -static int -VPrint(FILE *fp, const char *cntl_chr, Real *a) -{ - size_t i, j, nc, nd, ZeroSup, sep = 10; - DECDIG m, e, nn; - - j = 0; - nd = nc = 0; /* nd : number of digits in fraction part(every 10 digits, */ - /* nd<=10). */ - /* nc : number of characters printed */ - ZeroSup = 1; /* Flag not to print the leading zeros as 0.00xxxxEnn */ - while (*(cntl_chr + j)) { - if (*(cntl_chr + j) == '%' && *(cntl_chr + j + 1) != '%') { - nc = 0; - if (VpIsNaN(a)) { - fprintf(fp, SZ_NaN); - nc += 8; - } - else if (VpIsPosInf(a)) { - fprintf(fp, SZ_INF); - nc += 8; - } - else if (VpIsNegInf(a)) { - fprintf(fp, SZ_NINF); - nc += 9; - } - else if (!VpIsZero(a)) { - if (BIGDECIMAL_NEGATIVE_P(a)) { - fprintf(fp, "-"); - ++nc; - } - nc += fprintf(fp, "0."); - switch (*(cntl_chr + j + 1)) { - default: - break; - - case '0': case 'z': - ZeroSup = 0; - ++j; - sep = cntl_chr[j] == 'z' ? BIGDECIMAL_COMPONENT_FIGURES : 10; - break; - } - for (i = 0; i < a->Prec; ++i) { - m = BASE1; - e = a->frac[i]; - while (m) { - nn = e / m; - if (!ZeroSup || nn) { - nc += fprintf(fp, "%lu", (unsigned long)nn); /* The leading zero(s) */ - /* as 0.00xx will not */ - /* be printed. */ - ++nd; - ZeroSup = 0; /* Set to print succeeding zeros */ - } - if (nd >= sep) { /* print ' ' after every 10 digits */ - nd = 0; - nc += fprintf(fp, " "); - } - e = e - nn * m; - m /= 10; - } - } - nc += fprintf(fp, "E%"PRIdSIZE, VpExponent10(a)); - nc += fprintf(fp, " (%"PRIdVALUE", %"PRIuSIZE", %"PRIuSIZE")", a->exponent, a->Prec, a->MaxPrec); - } - else { - nc += fprintf(fp, "0.0"); - } - } - else { - ++nc; - if (*(cntl_chr + j) == '\\') { - switch (*(cntl_chr + j + 1)) { - case 'n': - fprintf(fp, "\n"); - ++j; - break; - case 't': - fprintf(fp, "\t"); - ++j; - break; - case 'b': - fprintf(fp, "\n"); - ++j; - break; - default: - fprintf(fp, "%c", *(cntl_chr + j)); - break; - } - } - else { - fprintf(fp, "%c", *(cntl_chr + j)); - if (*(cntl_chr + j) == '%') ++j; - } - } - j++; - } - - return (int)nc; -} - -static void -VpFormatSt(char *psz, size_t fFmt) -{ - size_t ie, i, nf = 0; - char ch; - - if (fFmt == 0) return; - - ie = strlen(psz); - for (i = 0; i < ie; ++i) { - ch = psz[i]; - if (!ch) break; - if (ISSPACE(ch) || ch=='-' || ch=='+') continue; - if (ch == '.') { nf = 0; continue; } - if (ch == 'E' || ch == 'e') break; - - if (++nf > fFmt) { - memmove(psz + i + 1, psz + i, ie - i + 1); - ++ie; - nf = 0; - psz[i] = ' '; - } - } -} - -VP_EXPORT ssize_t -VpExponent10(Real *a) -{ - ssize_t ex; - size_t n; - - if (!VpHasVal(a)) return 0; - - ex = a->exponent * (ssize_t)BASE_FIG; - n = BASE1; - while ((a->frac[0] / n) == 0) { - --ex; - n /= 10; - } - return ex; -} - -VP_EXPORT void -VpSzMantissa(Real *a, char *buf, size_t buflen) -{ - size_t i, n, ZeroSup; - DECDIG_DBL m, e, nn; - - if (VpIsNaN(a)) { - snprintf(buf, buflen, SZ_NaN); - return; - } - if (VpIsPosInf(a)) { - snprintf(buf, buflen, SZ_INF); - return; - } - if (VpIsNegInf(a)) { - snprintf(buf, buflen, SZ_NINF); - return; - } - - ZeroSup = 1; /* Flag not to print the leading zeros as 0.00xxxxEnn */ - if (!VpIsZero(a)) { - if (BIGDECIMAL_NEGATIVE_P(a)) *buf++ = '-'; - n = a->Prec; - for (i = 0; i < n; ++i) { - m = BASE1; - e = a->frac[i]; - while (m) { - nn = e / m; - if (!ZeroSup || nn) { - snprintf(buf, buflen, "%lu", (unsigned long)nn); /* The leading zero(s) */ - buf += strlen(buf); - /* as 0.00xx will be ignored. */ - ZeroSup = 0; /* Set to print succeeding zeros */ - } - e = e - nn * m; - m /= 10; - } - } - *buf = 0; - while (buf[-1] == '0') *(--buf) = 0; - } - else { - if (VpIsPosZero(a)) snprintf(buf, buflen, "0"); - else snprintf(buf, buflen, "-0"); - } -} - -VP_EXPORT int -VpToSpecialString(Real *a, char *buf, size_t buflen, int fPlus) -/* fPlus = 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ -{ - if (VpIsNaN(a)) { - snprintf(buf, buflen, SZ_NaN); - return 1; - } - - if (VpIsPosInf(a)) { - if (fPlus == 1) { - *buf++ = ' '; - } - else if (fPlus == 2) { - *buf++ = '+'; - } - snprintf(buf, buflen, SZ_INF); - return 1; - } - if (VpIsNegInf(a)) { - snprintf(buf, buflen, SZ_NINF); - return 1; - } - if (VpIsZero(a)) { - if (VpIsPosZero(a)) { - if (fPlus == 1) snprintf(buf, buflen, " 0.0"); - else if (fPlus == 2) snprintf(buf, buflen, "+0.0"); - else snprintf(buf, buflen, "0.0"); - } - else snprintf(buf, buflen, "-0.0"); - return 1; - } - return 0; -} - -VP_EXPORT void -VpToString(Real *a, char *buf, size_t buflen, size_t fFmt, int fPlus) -/* fPlus = 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ -{ - size_t i, n, ZeroSup; - DECDIG shift, m, e, nn; - char *p = buf; - size_t plen = buflen; - ssize_t ex; - - if (VpToSpecialString(a, buf, buflen, fPlus)) return; - - ZeroSup = 1; /* Flag not to print the leading zeros as 0.00xxxxEnn */ - -#define ADVANCE(n) do { \ - if (plen < n) goto overflow; \ - p += n; \ - plen -= n; \ -} while (0) - - if (BIGDECIMAL_NEGATIVE_P(a)) { - *p = '-'; - ADVANCE(1); - } - else if (fPlus == 1) { - *p = ' '; - ADVANCE(1); - } - else if (fPlus == 2) { - *p = '+'; - ADVANCE(1); - } - - *p = '0'; ADVANCE(1); - *p = '.'; ADVANCE(1); - - n = a->Prec; - for (i = 0; i < n; ++i) { - m = BASE1; - e = a->frac[i]; - while (m) { - nn = e / m; - if (!ZeroSup || nn) { - /* The reading zero(s) */ - size_t n = (size_t)snprintf(p, plen, "%lu", (unsigned long)nn); - if (n > plen) goto overflow; - ADVANCE(n); - /* as 0.00xx will be ignored. */ - ZeroSup = 0; /* Set to print succeeding zeros */ - } - e = e - nn * m; - m /= 10; - } - } - - ex = a->exponent * (ssize_t)BASE_FIG; - shift = BASE1; - while (a->frac[0] / shift == 0) { - --ex; - shift /= 10; - } - while (p - 1 > buf && p[-1] == '0') { - *(--p) = '\0'; - ++plen; - } - snprintf(p, plen, "e%"PRIdSIZE, ex); - if (fFmt) VpFormatSt(buf, fFmt); - - overflow: - return; -#undef ADVANCE -} - -VP_EXPORT void -VpToFString(Real *a, char *buf, size_t buflen, size_t fFmt, int fPlus) -/* fPlus = 0: default, 1: set ' ' before digits, 2: set '+' before digits. */ -{ - size_t i, n; - DECDIG m, e, nn; - char *p = buf; - size_t plen = buflen; - ssize_t ex; - - if (VpToSpecialString(a, buf, buflen, fPlus)) return; - -#define ADVANCE(n) do { \ - if (plen < n) goto overflow; \ - p += n; \ - plen -= n; \ -} while (0) - - - if (BIGDECIMAL_NEGATIVE_P(a)) { - *p = '-'; - ADVANCE(1); - } - else if (fPlus == 1) { - *p = ' '; - ADVANCE(1); - } - else if (fPlus == 2) { - *p = '+'; - ADVANCE(1); - } - - n = a->Prec; - ex = a->exponent; - if (ex <= 0) { - *p = '0'; ADVANCE(1); - *p = '.'; ADVANCE(1); - while (ex < 0) { - for (i=0; i < BASE_FIG; ++i) { - *p = '0'; ADVANCE(1); - } - ++ex; - } - ex = -1; - } - - for (i = 0; i < n; ++i) { - --ex; - if (i == 0 && ex >= 0) { - size_t n = snprintf(p, plen, "%lu", (unsigned long)a->frac[i]); - if (n > plen) goto overflow; - ADVANCE(n); - } - else { - m = BASE1; - e = a->frac[i]; - while (m) { - nn = e / m; - *p = (char)(nn + '0'); - ADVANCE(1); - e = e - nn * m; - m /= 10; - } - } - if (ex == 0) { - *p = '.'; - ADVANCE(1); - } - } - while (--ex>=0) { - m = BASE; - while (m /= 10) { - *p = '0'; - ADVANCE(1); - } - if (ex == 0) { - *p = '.'; - ADVANCE(1); - } - } - - *p = '\0'; - while (p - 1 > buf && p[-1] == '0') { - *(--p) = '\0'; - ++plen; - } - if (p - 1 > buf && p[-1] == '.') { - snprintf(p, plen, "0"); - } - if (fFmt) VpFormatSt(buf, fFmt); - - overflow: - return; -#undef ADVANCE -} - -/* - * [Output] - * a[] ... variable to be assigned the value. - * [Input] - * int_chr[] ... integer part(may include '+/-'). - * ni ... number of characters in int_chr[],not including '+/-'. - * frac[] ... fraction part. - * nf ... number of characters in frac[]. - * exp_chr[] ... exponent part(including '+/-'). - * ne ... number of characters in exp_chr[],not including '+/-'. - */ -VP_EXPORT int -VpCtoV(Real *a, const char *int_chr, size_t ni, const char *frac, size_t nf, const char *exp_chr, size_t ne) -{ - size_t i, j, ind_a, ma, mi, me; - SIGNED_VALUE e, es, eb, ef; - int sign, signe, exponent_overflow; - - /* get exponent part */ - e = 0; - ma = a->MaxPrec; - mi = ni; - me = ne; - signe = 1; - exponent_overflow = 0; - memset(a->frac, 0, ma * sizeof(DECDIG)); - if (ne > 0) { - i = 0; - if (exp_chr[0] == '-') { - signe = -1; - ++i; - ++me; - } - else if (exp_chr[0] == '+') { - ++i; - ++me; - } - while (i < me) { - if (MUL_OVERFLOW_SIGNED_VALUE_P(e, (SIGNED_VALUE)BASE_FIG)) { - es = e; - goto exp_overflow; - } - es = e * (SIGNED_VALUE)BASE_FIG; - if (MUL_OVERFLOW_SIGNED_VALUE_P(e, 10) || - SIGNED_VALUE_MAX - (exp_chr[i] - '0') < e * 10) - goto exp_overflow; - e = e * 10 + exp_chr[i] - '0'; - if (MUL_OVERFLOW_SIGNED_VALUE_P(e, (SIGNED_VALUE)BASE_FIG)) - goto exp_overflow; - if (es > (SIGNED_VALUE)(e * BASE_FIG)) { - exp_overflow: - exponent_overflow = 1; - e = es; /* keep sign */ - break; - } - ++i; - } - } - - /* get integer part */ - i = 0; - sign = 1; - if (1 /*ni >= 0*/) { - if (int_chr[0] == '-') { - sign = -1; - ++i; - ++mi; - } - else if (int_chr[0] == '+') { - ++i; - ++mi; - } - } - - e = signe * e; /* e: The value of exponent part. */ - e = e + ni; /* set actual exponent size. */ - - if (e > 0) signe = 1; - else signe = -1; - - /* Adjust the exponent so that it is the multiple of BASE_FIG. */ - j = 0; - ef = 1; - while (ef) { - if (e >= 0) eb = e; - else eb = -e; - ef = eb / (SIGNED_VALUE)BASE_FIG; - ef = eb - ef * (SIGNED_VALUE)BASE_FIG; - if (ef) { - ++j; /* Means to add one more preceding zero */ - ++e; - } - } - - eb = e / (SIGNED_VALUE)BASE_FIG; - - if (exponent_overflow) { - int zero = 1; - for ( ; i < mi && zero; i++) zero = int_chr[i] == '0'; - for (i = 0; i < nf && zero; i++) zero = frac[i] == '0'; - if (!zero && signe > 0) { - VpSetInf(a, sign); - VpException(VP_EXCEPTION_INFINITY, "exponent overflow",0); - } - else VpSetZero(a, sign); - return 1; - } - - ind_a = 0; - while (i < mi) { - a->frac[ind_a] = 0; - while (j < BASE_FIG && i < mi) { - a->frac[ind_a] = a->frac[ind_a] * 10 + int_chr[i] - '0'; - ++j; - ++i; - } - if (i < mi) { - ++ind_a; - if (ind_a >= ma) goto over_flow; - j = 0; - } - } - - /* get fraction part */ - - i = 0; - while (i < nf) { - while (j < BASE_FIG && i < nf) { - a->frac[ind_a] = a->frac[ind_a] * 10 + frac[i] - '0'; - ++j; - ++i; - } - if (i < nf) { - ++ind_a; - if (ind_a >= ma) goto over_flow; - j = 0; - } - } - goto Final; - -over_flow: - rb_warn("Conversion from String to BigDecimal overflow (last few digits discarded)."); - -Final: - if (ind_a >= ma) ind_a = ma - 1; - while (j < BASE_FIG) { - a->frac[ind_a] = a->frac[ind_a] * 10; - ++j; - } - a->Prec = ind_a + 1; - a->exponent = eb; - VpSetSign(a, sign); - VpNmlz(a); - return 1; -} - -/* - * [Input] - * *m ... Real - * [Output] - * *d ... fraction part of m(d = 0.xxxxxxx). where # of 'x's is fig. - * *e ... exponent of m. - * BIGDECIMAL_DOUBLE_FIGURES ... Number of digits in a double variable. - * - * m -> d*10**e, 0Prec); - *d = 0.0; - div = 1.; - while (ind_m < mm) { - div /= (double)BASE; - *d = *d + (double)m->frac[ind_m++] * div; - } - *e = m->exponent * (SIGNED_VALUE)BASE_FIG; - *d *= VpGetSign(m); - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, " VpVtoD: m=%\n", m); - printf(" d=%e * 10 **%ld\n", *d, *e); - printf(" BIGDECIMAL_DOUBLE_FIGURES = %d\n", BIGDECIMAL_DOUBLE_FIGURES); - } -#endif /*BIGDECIMAL_DEBUG */ - return f; -} - -/* - * m <- d - */ -VP_EXPORT void -VpDtoV(Real *m, double d) -{ - size_t ind_m, mm; - SIGNED_VALUE ne; - DECDIG i; - double val, val2; - - if (isnan(d)) { - VpSetNaN(m); - goto Exit; - } - if (isinf(d)) { - if (d > 0.0) VpSetPosInf(m); - else VpSetNegInf(m); - goto Exit; - } - - if (d == 0.0) { - VpSetZero(m, 1); - goto Exit; - } - val = (d > 0.) ? d : -d; - ne = 0; - if (val >= 1.0) { - while (val >= 1.0) { - val /= (double)BASE; - ++ne; - } - } - else { - val2 = 1.0 / (double)BASE; - while (val < val2) { - val *= (double)BASE; - --ne; - } - } - /* Now val = 0.xxxxx*BASE**ne */ - - mm = m->MaxPrec; - memset(m->frac, 0, mm * sizeof(DECDIG)); - for (ind_m = 0; val > 0.0 && ind_m < mm; ind_m++) { - val *= (double)BASE; - i = (DECDIG)val; - val -= (double)i; - m->frac[ind_m] = i; - } - if (ind_m >= mm) ind_m = mm - 1; - VpSetSign(m, (d > 0.0) ? 1 : -1); - m->Prec = ind_m + 1; - m->exponent = ne; - - VpInternalRound(m, 0, (m->Prec > 0) ? m->frac[m->Prec-1] : 0, - (DECDIG)(val*(double)BASE)); - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - printf("VpDtoV d=%30.30e\n", d); - VPrint(stdout, " m=%\n", m); - } -#endif /* BIGDECIMAL_DEBUG */ - return; -} - -/* - * m <- ival - */ -#if 0 /* unused */ -VP_EXPORT void -VpItoV(Real *m, SIGNED_VALUE ival) -{ - size_t mm, ind_m; - size_t val, v1, v2, v; - int isign; - SIGNED_VALUE ne; - - if (ival == 0) { - VpSetZero(m, 1); - goto Exit; - } - isign = 1; - val = ival; - if (ival < 0) { - isign = -1; - val =(size_t)(-ival); - } - ne = 0; - ind_m = 0; - mm = m->MaxPrec; - while (ind_m < mm) { - m->frac[ind_m] = 0; - ++ind_m; - } - ind_m = 0; - while (val > 0) { - if (val) { - v1 = val; - v2 = 1; - while (v1 >= BASE) { - v1 /= BASE; - v2 *= BASE; - } - val = val - v2 * v1; - v = v1; - } - else { - v = 0; - } - m->frac[ind_m] = v; - ++ind_m; - ++ne; - } - m->Prec = ind_m - 1; - m->exponent = ne; - VpSetSign(m, isign); - VpNmlz(m); - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - printf(" VpItoV i=%d\n", ival); - VPrint(stdout, " m=%\n", m); - } -#endif /* BIGDECIMAL_DEBUG */ - return; -} -#endif - -/* - * y = SQRT(x), y*y - x =>0 - */ -VP_EXPORT int -VpSqrt(Real *y, Real *x) -{ - Real *f = NULL; - Real *r = NULL; - size_t y_prec; - SIGNED_VALUE n, e; - SIGNED_VALUE prec; - ssize_t nr; - double val; - - /* Zero or +Infinity ? */ - if (VpIsZero(x) || VpIsPosInf(x)) { - VpAsgn(y,x,1); - goto Exit; - } - - /* Negative ? */ - if (BIGDECIMAL_NEGATIVE_P(x)) { - VpSetNaN(y); - return VpException(VP_EXCEPTION_OP, "sqrt of negative value", 0); - } - - /* NaN ? */ - if (VpIsNaN(x)) { - VpSetNaN(y); - return VpException(VP_EXCEPTION_OP, "sqrt of 'NaN'(Not a Number)", 0); - } - - /* One ? */ - if (VpIsOne(x)) { - VpSetOne(y); - goto Exit; - } - - n = (SIGNED_VALUE)y->MaxPrec; - if (x->MaxPrec > (size_t)n) n = (ssize_t)x->MaxPrec; - - /* allocate temporally variables */ - /* TODO: reconsider MaxPrec of f and r */ - f = NewOneNolimit(1, y->MaxPrec * (BASE_FIG + 2)); - r = NewOneNolimit(1, (n + n) * (BASE_FIG + 2)); - - nr = 0; - y_prec = y->MaxPrec; - - prec = x->exponent - (ssize_t)y_prec; - if (x->exponent > 0) - ++prec; - else - --prec; - - VpVtoD(&val, &e, x); /* val <- x */ - e /= (SIGNED_VALUE)BASE_FIG; - n = e / 2; - if (e - n * 2 != 0) { - val /= BASE; - n = (e + 1) / 2; - } - VpDtoV(y, sqrt(val)); /* y <- sqrt(val) */ - y->exponent += n; - n = (SIGNED_VALUE)roomof(BIGDECIMAL_DOUBLE_FIGURES, BASE_FIG); - y->MaxPrec = Min((size_t)n , y_prec); - f->MaxPrec = y->MaxPrec + 1; - n = (SIGNED_VALUE)(y_prec * BASE_FIG); - if (n < (SIGNED_VALUE)maxnr) n = (SIGNED_VALUE)maxnr; - - /* - * Perform: y_{n+1} = (y_n - x/y_n) / 2 - */ - do { - y->MaxPrec *= 2; - if (y->MaxPrec > y_prec) y->MaxPrec = y_prec; - f->MaxPrec = y->MaxPrec; - VpDivd(f, r, x, y); /* f = x/y */ - VpAddSub(r, f, y, -1); /* r = f - y */ - VpMult(f, VpConstPt5, r); /* f = 0.5*r */ - if (VpIsZero(f)) - goto converge; - VpAddSub(r, f, y, 1); /* r = y + f */ - VpAsgn(y, r, 1); /* y = r */ - } while (++nr < n); - -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - printf("ERROR(VpSqrt): did not converge within %ld iterations.\n", nr); - } -#endif /* BIGDECIMAL_DEBUG */ - y->MaxPrec = y_prec; - -converge: - VpChangeSign(y, 1); -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VpMult(r, y, y); - VpAddSub(f, x, r, -1); - printf("VpSqrt: iterations = %"PRIdSIZE"\n", nr); - VPrint(stdout, " y =% \n", y); - VPrint(stdout, " x =% \n", x); - VPrint(stdout, " x-y*y = % \n", f); - } -#endif /* BIGDECIMAL_DEBUG */ - y->MaxPrec = y_prec; - -Exit: - rbd_free_struct(f); - rbd_free_struct(r); - return 1; -} - -/* - * Round relatively from the decimal point. - * f: rounding mode - * nf: digit location to round from the decimal point. - */ -VP_EXPORT int -VpMidRound(Real *y, unsigned short f, ssize_t nf) -{ - /* fracf: any positive digit under rounding position? */ - /* fracf_1further: any positive digits under one further than the rounding position? */ - /* exptoadd: number of digits needed to compensate negative nf */ - int fracf, fracf_1further; - ssize_t n,i,ix,ioffset, exptoadd; - DECDIG v, shifter; - DECDIG div; - - nf += y->exponent * (ssize_t)BASE_FIG; - exptoadd=0; - if (nf < 0) { - /* rounding position too left(large). */ - if (f != VP_ROUND_CEIL && f != VP_ROUND_FLOOR) { - VpSetZero(y, VpGetSign(y)); /* truncate everything */ - return 0; - } - exptoadd = -nf; - nf = 0; - } - - ix = nf / (ssize_t)BASE_FIG; - if ((size_t)ix >= y->Prec) return 0; /* rounding position too right(small). */ - v = y->frac[ix]; - - ioffset = nf - ix*(ssize_t)BASE_FIG; - n = (ssize_t)BASE_FIG - ioffset - 1; - for (shifter = 1, i = 0; i < n; ++i) shifter *= 10; - - /* so the representation used (in y->frac) is an array of DECDIG, where - each DECDIG contains a value between 0 and BASE-1, consisting of BASE_FIG - decimal places. - - (that numbers of decimal places are typed as ssize_t is somewhat confusing) - - nf is now position (in decimal places) of the digit from the start of - the array. - - ix is the position (in DECDIGs) of the DECDIG containing the decimal digit, - from the start of the array. - - v is the value of this DECDIG - - ioffset is the number of extra decimal places along of this decimal digit - within v. - - n is the number of decimal digits remaining within v after this decimal digit - shifter is 10**n, - - v % shifter are the remaining digits within v - v % (shifter * 10) are the digit together with the remaining digits within v - v / shifter are the digit's predecessors together with the digit - div = v / shifter / 10 is just the digit's precessors - (v / shifter) - div*10 is just the digit, which is what v ends up being reassigned to. - */ - - fracf = (v % (shifter * 10) > 0); - fracf_1further = ((v % shifter) > 0); - - v /= shifter; - div = v / 10; - v = v - div*10; - /* now v is just the digit required. - now fracf is whether the digit or any of the remaining digits within v are non-zero - now fracf_1further is whether any of the remaining digits within v are non-zero - */ - - /* now check all the remaining DECDIGs for zero-ness a whole DECDIG at a time. - if we spot any non-zeroness, that means that we found a positive digit under - rounding position, and we also found a positive digit under one further than - the rounding position, so both searches (to see if any such non-zero digit exists) - can stop */ - - for (i = ix + 1; (size_t)i < y->Prec; i++) { - if (y->frac[i] % BASE) { - fracf = fracf_1further = 1; - break; - } - } - - /* now fracf = does any positive digit exist under the rounding position? - now fracf_1further = does any positive digit exist under one further than the - rounding position? - now v = the first digit under the rounding position */ - - /* drop digits after pointed digit */ - memset(y->frac + ix + 1, 0, (y->Prec - (ix + 1)) * sizeof(DECDIG)); - - switch (f) { - case VP_ROUND_DOWN: /* Truncate */ - break; - case VP_ROUND_UP: /* Roundup */ - if (fracf) ++div; - break; - case VP_ROUND_HALF_UP: - if (v>=5) ++div; - break; - case VP_ROUND_HALF_DOWN: - if (v > 5 || (v == 5 && fracf_1further)) ++div; - break; - case VP_ROUND_CEIL: - if (fracf && BIGDECIMAL_POSITIVE_P(y)) ++div; - break; - case VP_ROUND_FLOOR: - if (fracf && BIGDECIMAL_NEGATIVE_P(y)) ++div; - break; - case VP_ROUND_HALF_EVEN: /* Banker's rounding */ - if (v > 5) ++div; - else if (v == 5) { - if (fracf_1further) { - ++div; - } - else { - if (ioffset == 0) { - /* v is the first decimal digit of its DECDIG; - need to grab the previous DECDIG if present - to check for evenness of the previous decimal - digit (which is same as that of the DECDIG since - base 10 has a factor of 2) */ - if (ix && (y->frac[ix-1] % 2)) ++div; - } - else { - if (div % 2) ++div; - } - } - } - break; - } - for (i = 0; i <= n; ++i) div *= 10; - if (div >= BASE) { - if (ix) { - y->frac[ix] = 0; - VpRdup(y, ix); - } - else { - short s = VpGetSign(y); - SIGNED_VALUE e = y->exponent; - VpSetOne(y); - VpSetSign(y, s); - y->exponent = e + 1; - } - } - else { - y->frac[ix] = div; - VpNmlz(y); - } - if (exptoadd > 0) { - y->exponent += (SIGNED_VALUE)(exptoadd / BASE_FIG); - exptoadd %= (ssize_t)BASE_FIG; - for (i = 0; i < exptoadd; i++) { - y->frac[0] *= 10; - if (y->frac[0] >= BASE) { - y->frac[0] /= BASE; - y->exponent++; - } - } - } - return 1; -} - -VP_EXPORT int -VpLeftRound(Real *y, unsigned short f, ssize_t nf) -/* - * Round from the left hand side of the digits. - */ -{ - DECDIG v; - if (!VpHasVal(y)) return 0; /* Unable to round */ - v = y->frac[0]; - nf -= VpExponent(y) * (ssize_t)BASE_FIG; - while ((v /= 10) != 0) nf--; - nf += (ssize_t)BASE_FIG-1; - return VpMidRound(y, f, nf); -} - -VP_EXPORT int -VpActiveRound(Real *y, Real *x, unsigned short f, ssize_t nf) -{ - /* First,assign whole value in truncation mode */ - if (VpAsgn(y, x, 10) <= 1) return 0; /* Zero,NaN,or Infinity */ - return VpMidRound(y, f, nf); -} - -static int -VpLimitRound(Real *c, size_t ixDigit) -{ - size_t ix = VpGetPrecLimit(); - if (!VpNmlz(c)) return -1; - if (!ix) return 0; - if (!ixDigit) ixDigit = c->Prec-1; - if ((ix + BASE_FIG - 1) / BASE_FIG > ixDigit + 1) return 0; - return VpLeftRound(c, VpGetRoundMode(), (ssize_t)ix); -} - -/* If I understand correctly, this is only ever used to round off the final decimal - digit of precision */ -static void -VpInternalRound(Real *c, size_t ixDigit, DECDIG vPrev, DECDIG v) -{ - int f = 0; - - unsigned short const rounding_mode = VpGetRoundMode(); - - if (VpLimitRound(c, ixDigit)) return; - if (!v) return; - - v /= BASE1; - switch (rounding_mode) { - case VP_ROUND_DOWN: - break; - case VP_ROUND_UP: - if (v) f = 1; - break; - case VP_ROUND_HALF_UP: - if (v >= 5) f = 1; - break; - case VP_ROUND_HALF_DOWN: - /* this is ok - because this is the last digit of precision, - the case where v == 5 and some further digits are nonzero - will never occur */ - if (v >= 6) f = 1; - break; - case VP_ROUND_CEIL: - if (v && BIGDECIMAL_POSITIVE_P(c)) f = 1; - break; - case VP_ROUND_FLOOR: - if (v && BIGDECIMAL_NEGATIVE_P(c)) f = 1; - break; - case VP_ROUND_HALF_EVEN: /* Banker's rounding */ - /* as per VP_ROUND_HALF_DOWN, because this is the last digit of precision, - there is no case to worry about where v == 5 and some further digits are nonzero */ - if (v > 5) f = 1; - else if (v == 5 && vPrev % 2) f = 1; - break; - } - if (f) { - VpRdup(c, ixDigit); - VpNmlz(c); - } -} - -/* - * Rounds up m(plus one to final digit of m). - */ -static int -VpRdup(Real *m, size_t ind_m) -{ - DECDIG carry; - - if (!ind_m) ind_m = m->Prec; - - carry = 1; - while (carry > 0 && ind_m--) { - m->frac[ind_m] += carry; - if (m->frac[ind_m] >= BASE) m->frac[ind_m] -= BASE; - else carry = 0; - } - if (carry > 0) { /* Overflow,count exponent and set fraction part be 1 */ - if (!AddExponent(m, 1)) return 0; - m->Prec = m->frac[0] = 1; - } - else { - VpNmlz(m); - } - return 1; -} - -/* - * y = x - fix(x) - */ -VP_EXPORT void -VpFrac(Real *y, Real *x) -{ - size_t my, ind_y, ind_x; - - if (!VpHasVal(x)) { - VpAsgn(y, x, 1); - goto Exit; - } - - if (x->exponent > 0 && (size_t)x->exponent >= x->Prec) { - VpSetZero(y, VpGetSign(x)); - goto Exit; - } - else if (x->exponent <= 0) { - VpAsgn(y, x, 1); - goto Exit; - } - - /* satisfy: x->exponent > 0 */ - - y->Prec = x->Prec - (size_t)x->exponent; - y->Prec = Min(y->Prec, y->MaxPrec); - y->exponent = 0; - VpSetSign(y, VpGetSign(x)); - ind_y = 0; - my = y->Prec; - ind_x = x->exponent; - while (ind_y < my) { - y->frac[ind_y] = x->frac[ind_x]; - ++ind_y; - ++ind_x; - } - VpNmlz(y); - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpFrac y=%\n", y); - VPrint(stdout, " x=%\n", x); - } -#endif /* BIGDECIMAL_DEBUG */ - return; -} - -/* - * y = x ** n - */ -VP_EXPORT int -VpPowerByInt(Real *y, Real *x, SIGNED_VALUE n) -{ - size_t s, ss; - ssize_t sign; - Real *w1 = NULL; - Real *w2 = NULL; - - if (VpIsZero(x)) { - if (n == 0) { - VpSetOne(y); - goto Exit; - } - sign = VpGetSign(x); - if (n < 0) { - n = -n; - if (sign < 0) sign = (n % 2) ? -1 : 1; - VpSetInf(y, sign); - } - else { - if (sign < 0) sign = (n % 2) ? -1 : 1; - VpSetZero(y,sign); - } - goto Exit; - } - if (VpIsNaN(x)) { - VpSetNaN(y); - goto Exit; - } - if (VpIsInf(x)) { - if (n == 0) { - VpSetOne(y); - goto Exit; - } - if (n > 0) { - VpSetInf(y, (n % 2 == 0 || VpIsPosInf(x)) ? 1 : -1); - goto Exit; - } - VpSetZero(y, (n % 2 == 0 || VpIsPosInf(x)) ? 1 : -1); - goto Exit; - } - - if (x->exponent == 1 && x->Prec == 1 && x->frac[0] == 1) { - /* abs(x) = 1 */ - VpSetOne(y); - if (BIGDECIMAL_POSITIVE_P(x)) goto Exit; - if ((n % 2) == 0) goto Exit; - VpSetSign(y, -1); - goto Exit; - } - - if (n > 0) sign = 1; - else if (n < 0) { - sign = -1; - n = -n; - } - else { - VpSetOne(y); - goto Exit; - } - - /* Allocate working variables */ - /* TODO: reconsider MaxPrec of w1 and w2 */ - w1 = NewZeroNolimit(1, (y->MaxPrec + 2) * BASE_FIG); - w2 = NewZeroNolimit(1, (w1->MaxPrec * 2 + 1) * BASE_FIG); - - /* calculation start */ - - VpAsgn(y, x, 1); - --n; - while (n > 0) { - VpAsgn(w1, x, 1); - s = 1; - while (ss = s, (s += s) <= (size_t)n) { - VpMult(w2, w1, w1); - VpAsgn(w1, w2, 1); - } - n -= (SIGNED_VALUE)ss; - VpMult(w2, y, w1); - VpAsgn(y, w2, 1); - } - if (sign < 0) { - VpDivd(w1, w2, VpConstOne, y); - VpAsgn(y, w1, 1); - } - -Exit: -#ifdef BIGDECIMAL_DEBUG - if (gfDebug) { - VPrint(stdout, "VpPowerByInt y=%\n", y); - VPrint(stdout, "VpPowerByInt x=%\n", x); - printf(" n=%"PRIdVALUE"\n", n); - } -#endif /* BIGDECIMAL_DEBUG */ - rbd_free_struct(w2); - rbd_free_struct(w1); - return 1; -} - -#ifdef BIGDECIMAL_DEBUG -int -VpVarCheck(Real * v) -/* - * Checks the validity of the Real variable v. - * [Input] - * v ... Real *, variable to be checked. - * [Returns] - * 0 ... correct v. - * other ... error - */ -{ - size_t i; - - if (v->MaxPrec == 0) { - printf("ERROR(VpVarCheck): Illegal Max. Precision(=%"PRIuSIZE")\n", - v->MaxPrec); - return 1; - } - if (v->Prec == 0 || v->Prec > v->MaxPrec) { - printf("ERROR(VpVarCheck): Illegal Precision(=%"PRIuSIZE")\n", v->Prec); - printf(" Max. Prec.=%"PRIuSIZE"\n", v->MaxPrec); - return 2; - } - for (i = 0; i < v->Prec; ++i) { - if (v->frac[i] >= BASE) { - printf("ERROR(VpVarCheck): Illegal fraction\n"); - printf(" Frac[%"PRIuSIZE"]=%"PRIuDECDIG"\n", i, v->frac[i]); - printf(" Prec. =%"PRIuSIZE"\n", v->Prec); - printf(" Exp. =%"PRIdVALUE"\n", v->exponent); - printf(" BASE =%"PRIuDECDIG"\n", BASE); - return 3; - } - } - return 0; -} -#endif /* BIGDECIMAL_DEBUG */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.h deleted file mode 100644 index 54fed81..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.h +++ /dev/null @@ -1,313 +0,0 @@ -/* - * - * Ruby BigDecimal(Variable decimal precision) extension library. - * - * Copyright(C) 2002 by Shigeo Kobayashi(shigeo@tinyforest.gr.jp) - * - */ - -#ifndef RUBY_BIG_DECIMAL_H -#define RUBY_BIG_DECIMAL_H 1 - -#define RUBY_NO_OLD_COMPATIBILITY -#include "ruby/ruby.h" -#include "missing.h" - -#ifdef HAVE_FLOAT_H -# include -#endif - -#ifdef HAVE_INT64_T -# define DECDIG uint32_t -# define DECDIG_DBL uint64_t -# define DECDIG_DBL_SIGNED int64_t -# define SIZEOF_DECDIG 4 -# define PRI_DECDIG_PREFIX "" -# ifdef PRI_LL_PREFIX -# define PRI_DECDIG_DBL_PREFIX PRI_LL_PREFIX -# else -# define PRI_DECDIG_DBL_PREFIX "l" -# endif -#else -# define DECDIG uint16_t -# define DECDIG_DBL uint32_t -# define DECDIG_DBL_SIGNED int32_t -# define SIZEOF_DECDIG 2 -# define PRI_DECDIG_PREFIX "h" -# define PRI_DECDIG_DBL_PREFIX "" -#endif - -#define PRIdDECDIG PRI_DECDIG_PREFIX"d" -#define PRIiDECDIG PRI_DECDIG_PREFIX"i" -#define PRIoDECDIG PRI_DECDIG_PREFIX"o" -#define PRIuDECDIG PRI_DECDIG_PREFIX"u" -#define PRIxDECDIG PRI_DECDIG_PREFIX"x" -#define PRIXDECDIG PRI_DECDIG_PREFIX"X" - -#define PRIdDECDIG_DBL PRI_DECDIG_DBL_PREFIX"d" -#define PRIiDECDIG_DBL PRI_DECDIG_DBL_PREFIX"i" -#define PRIoDECDIG_DBL PRI_DECDIG_DBL_PREFIX"o" -#define PRIuDECDIG_DBL PRI_DECDIG_DBL_PREFIX"u" -#define PRIxDECDIG_DBL PRI_DECDIG_DBL_PREFIX"x" -#define PRIXDECDIG_DBL PRI_DECDIG_DBL_PREFIX"X" - -#if SIZEOF_DECDIG == 4 -# define BIGDECIMAL_BASE ((DECDIG)1000000000U) -# define BIGDECIMAL_COMPONENT_FIGURES 9 -/* - * The number of components required for a 64-bit integer. - * - * INT64_MAX: 9_223372036_854775807 - * UINT64_MAX: 18_446744073_709551615 - */ -# define BIGDECIMAL_INT64_MAX_LENGTH 3 - -#elif SIZEOF_DECDIG == 2 -# define BIGDECIMAL_BASE ((DECDIG)10000U) -# define BIGDECIMAL_COMPONENT_FIGURES 4 -/* - * The number of components required for a 64-bit integer. - * - * INT64_MAX: 922_3372_0368_5477_5807 - * UINT64_MAX: 1844_6744_0737_0955_1615 - */ -# define BIGDECIMAL_INT64_MAX_LENGTH 5 - -#else -# error Unknown size of DECDIG -#endif - -#define BIGDECIMAL_DOUBLE_FIGURES (1+DBL_DIG) - -#if defined(__cplusplus) -extern "C" { -#if 0 -} /* satisfy cc-mode */ -#endif -#endif - -extern VALUE rb_cBigDecimal; - -/* - * NaN & Infinity - */ -#define SZ_NaN "NaN" -#define SZ_INF "Infinity" -#define SZ_PINF "+Infinity" -#define SZ_NINF "-Infinity" - -/* - * #define VP_EXPORT other than static to let VP_ routines - * be called from outside of this module. - */ -#define VP_EXPORT static - -/* Exception mode */ -#define VP_EXCEPTION_ALL ((unsigned short)0x00FF) -#define VP_EXCEPTION_INFINITY ((unsigned short)0x0001) -#define VP_EXCEPTION_NaN ((unsigned short)0x0002) -#define VP_EXCEPTION_UNDERFLOW ((unsigned short)0x0004) -#define VP_EXCEPTION_OVERFLOW ((unsigned short)0x0001) /* 0x0008) */ -#define VP_EXCEPTION_ZERODIVIDE ((unsigned short)0x0010) - -/* Following 2 exceptions can't controlled by user */ -#define VP_EXCEPTION_OP ((unsigned short)0x0020) - -#define BIGDECIMAL_EXCEPTION_MODE_DEFAULT 0U - -/* This is used in BigDecimal#mode */ -#define VP_ROUND_MODE ((unsigned short)0x0100) - -/* Rounding mode */ -#define VP_ROUND_UP RBD_ROUND_UP -#define VP_ROUND_DOWN RBD_ROUND_DOWN -#define VP_ROUND_HALF_UP RBD_ROUND_HALF_UP -#define VP_ROUND_HALF_DOWN RBD_ROUND_HALF_DOWN -#define VP_ROUND_CEIL RBD_ROUND_CEIL -#define VP_ROUND_FLOOR RBD_ROUND_FLOOR -#define VP_ROUND_HALF_EVEN RBD_ROUND_HALF_EVEN - -enum rbd_rounding_mode { - RBD_ROUND_UP = 1, - RBD_ROUND_DOWN = 2, - RBD_ROUND_HALF_UP = 3, - RBD_ROUND_HALF_DOWN = 4, - RBD_ROUND_CEIL = 5, - RBD_ROUND_FLOOR = 6, - RBD_ROUND_HALF_EVEN = 7, - - RBD_ROUND_DEFAULT = RBD_ROUND_HALF_UP, - RBD_ROUND_TRUNCATE = RBD_ROUND_DOWN, - RBD_ROUND_BANKER = RBD_ROUND_HALF_EVEN, - RBD_ROUND_CEILING = RBD_ROUND_CEIL -}; - -#define BIGDECIMAL_ROUNDING_MODE_DEFAULT VP_ROUND_HALF_UP - -/* Sign flag */ -#define VP_SIGN_NaN 0 /* NaN */ -#define VP_SIGN_POSITIVE_ZERO 1 /* Positive zero */ -#define VP_SIGN_NEGATIVE_ZERO -1 /* Negative zero */ -#define VP_SIGN_POSITIVE_FINITE 2 /* Positive finite number */ -#define VP_SIGN_NEGATIVE_FINITE -2 /* Negative finite number */ -#define VP_SIGN_POSITIVE_INFINITE 3 /* Positive infinite number */ -#define VP_SIGN_NEGATIVE_INFINITE -3 /* Negative infinite number */ - -/* The size of fraction part array */ -#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -#define FLEXIBLE_ARRAY_SIZE /* */ -#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define FLEXIBLE_ARRAY_SIZE 0 -#else -#define FLEXIBLE_ARRAY_SIZE 1 -#endif - -/* - * VP representation - * r = 0.xxxxxxxxx *BASE**exponent - */ -typedef struct { - VALUE obj; /* Back pointer(VALUE) for Ruby object. */ - size_t MaxPrec; /* Maximum precision size */ - /* This is the actual size of frac[] */ - /*(frac[0] to frac[MaxPrec] are available). */ - size_t Prec; /* Current precision size. */ - /* This indicates how much the */ - /* array frac[] is actually used. */ - SIGNED_VALUE exponent; /* Exponent part. */ - short sign; /* Attributes of the value. */ - /* - * ==0 : NaN - * 1 : Positive zero - * -1 : Negative zero - * 2 : Positive number - * -2 : Negative number - * 3 : Positive infinite number - * -3 : Negative infinite number - */ - short flag; /* Not used in vp_routines,space for user. */ - DECDIG frac[FLEXIBLE_ARRAY_SIZE]; /* Array of fraction part. */ -} Real; - -/* - * ------------------ - * EXPORTables. - * ------------------ - */ - -VP_EXPORT Real *VpNewRbClass(size_t mx, char const *str, VALUE klass, bool strict_p, bool raise_exception); - -VP_EXPORT Real *VpCreateRbObject(size_t mx, const char *str, bool raise_exception); - -#define VpBaseFig() BIGDECIMAL_COMPONENT_FIGURES -#define VpDblFig() BIGDECIMAL_DOUBLE_FIGURES -#define VpBaseVal() BIGDECIMAL_BASE - -/* Zero,Inf,NaN (isinf(),isnan() used to check) */ -VP_EXPORT double VpGetDoubleNaN(void); -VP_EXPORT double VpGetDoublePosInf(void); -VP_EXPORT double VpGetDoubleNegInf(void); -VP_EXPORT double VpGetDoubleNegZero(void); - -/* These 2 functions added at v1.1.7 */ -VP_EXPORT size_t VpGetPrecLimit(void); -VP_EXPORT size_t VpSetPrecLimit(size_t n); - -/* Round mode */ -VP_EXPORT int VpIsRoundMode(unsigned short n); -VP_EXPORT unsigned short VpGetRoundMode(void); -VP_EXPORT unsigned short VpSetRoundMode(unsigned short n); - -VP_EXPORT int VpException(unsigned short f,const char *str,int always); -#if 0 /* unused */ -VP_EXPORT int VpIsNegDoubleZero(double v); -#endif -VP_EXPORT size_t VpNumOfChars(Real *vp,const char *pszFmt); -VP_EXPORT size_t VpInit(DECDIG BaseVal); -VP_EXPORT Real *VpAlloc(size_t mx, const char *szVal, int strict_p, int exc); -VP_EXPORT size_t VpAsgn(Real *c, Real *a, int isw); -VP_EXPORT size_t VpAddSub(Real *c,Real *a,Real *b,int operation); -VP_EXPORT size_t VpMult(Real *c,Real *a,Real *b); -VP_EXPORT size_t VpDivd(Real *c,Real *r,Real *a,Real *b); -VP_EXPORT int VpComp(Real *a,Real *b); -VP_EXPORT ssize_t VpExponent10(Real *a); -VP_EXPORT void VpSzMantissa(Real *a, char *buf, size_t bufsize); -VP_EXPORT int VpToSpecialString(Real *a, char *buf, size_t bufsize, int fPlus); -VP_EXPORT void VpToString(Real *a, char *buf, size_t bufsize, size_t fFmt, int fPlus); -VP_EXPORT void VpToFString(Real *a, char *buf, size_t bufsize, size_t fFmt, int fPlus); -VP_EXPORT int VpCtoV(Real *a, const char *int_chr, size_t ni, const char *frac, size_t nf, const char *exp_chr, size_t ne); -VP_EXPORT int VpVtoD(double *d, SIGNED_VALUE *e, Real *m); -VP_EXPORT void VpDtoV(Real *m,double d); -#if 0 /* unused */ -VP_EXPORT void VpItoV(Real *m,S_INT ival); -#endif -VP_EXPORT int VpSqrt(Real *y,Real *x); -VP_EXPORT int VpActiveRound(Real *y, Real *x, unsigned short f, ssize_t il); -VP_EXPORT int VpMidRound(Real *y, unsigned short f, ssize_t nf); -VP_EXPORT int VpLeftRound(Real *y, unsigned short f, ssize_t nf); -VP_EXPORT void VpFrac(Real *y, Real *x); -VP_EXPORT int VpPowerByInt(Real *y, Real *x, SIGNED_VALUE n); -#define VpPower VpPowerByInt - -/* VP constants */ -VP_EXPORT Real *VpOne(void); - -/* - * ------------------ - * MACRO definitions. - * ------------------ - */ -#define Abs(a) (((a)>= 0)?(a):(-(a))) -#define Max(a, b) (((a)>(b))?(a):(b)) -#define Min(a, b) (((a)>(b))?(b):(a)) - -#define VpMaxPrec(a) ((a)->MaxPrec) -#define VpPrec(a) ((a)->Prec) -#define VpGetFlag(a) ((a)->flag) - -/* Sign */ - -/* VpGetSign(a) returns 1,-1 if a>0,a<0 respectively */ -#define VpGetSign(a) (((a)->sign>0)?1:(-1)) -/* Change sign of a to a>0,a<0 if s = 1,-1 respectively */ -#define VpChangeSign(a,s) {if((s)>0) (a)->sign=(short)Abs((ssize_t)(a)->sign);else (a)->sign=-(short)Abs((ssize_t)(a)->sign);} -/* Sets sign of a to a>0,a<0 if s = 1,-1 respectively */ -#define VpSetSign(a,s) {if((s)>0) (a)->sign=(short)VP_SIGN_POSITIVE_FINITE;else (a)->sign=(short)VP_SIGN_NEGATIVE_FINITE;} - -/* 1 */ -#define VpSetOne(a) {(a)->Prec=(a)->exponent=(a)->frac[0]=1;(a)->sign=VP_SIGN_POSITIVE_FINITE;} - -/* ZEROs */ -#define VpIsPosZero(a) ((a)->sign==VP_SIGN_POSITIVE_ZERO) -#define VpIsNegZero(a) ((a)->sign==VP_SIGN_NEGATIVE_ZERO) -#define VpIsZero(a) (VpIsPosZero(a) || VpIsNegZero(a)) -#define VpSetPosZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_ZERO) -#define VpSetNegZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_ZERO) -#define VpSetZero(a,s) (void)(((s)>0)?VpSetPosZero(a):VpSetNegZero(a)) - -/* NaN */ -#define VpIsNaN(a) ((a)->sign==VP_SIGN_NaN) -#define VpSetNaN(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NaN) - -/* Infinity */ -#define VpIsPosInf(a) ((a)->sign==VP_SIGN_POSITIVE_INFINITE) -#define VpIsNegInf(a) ((a)->sign==VP_SIGN_NEGATIVE_INFINITE) -#define VpIsInf(a) (VpIsPosInf(a) || VpIsNegInf(a)) -#define VpIsDef(a) ( !(VpIsNaN(a)||VpIsInf(a)) ) -#define VpSetPosInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_INFINITE) -#define VpSetNegInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_INFINITE) -#define VpSetInf(a,s) (void)(((s)>0)?VpSetPosInf(a):VpSetNegInf(a)) -#define VpHasVal(a) (a->frac[0]) -#define VpIsOne(a) ((a->Prec==1)&&(a->frac[0]==1)&&(a->exponent==1)) -#define VpExponent(a) (a->exponent) -#ifdef BIGDECIMAL_DEBUG -int VpVarCheck(Real * v); -#endif /* BIGDECIMAL_DEBUG */ - -#if defined(__cplusplus) -#if 0 -{ /* satisfy cc-mode */ -#endif -} /* extern "C" { */ -#endif -#endif /* RUBY_BIG_DECIMAL_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.o deleted file mode 100644 index 9497337..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bigdecimal.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bits.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bits.h deleted file mode 100644 index 6e1e477..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/bits.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef BIGDECIMAL_BITS_H -#define BIGDECIMAL_BITS_H - -#include "feature.h" -#include "static_assert.h" - -#if defined(__x86_64__) && defined(HAVE_X86INTRIN_H) -# include /* for _lzcnt_u64, etc. */ -#elif defined(_MSC_VER) && defined(HAVE_INTRIN_H) -# include /* for the following intrinsics */ -#endif - -#if defined(_MSC_VER) && defined(__AVX2__) -# pragma intrinsic(__lzcnt) -# pragma intrinsic(__lzcnt64) -#endif - -#define numberof(array) ((int)(sizeof(array) / sizeof((array)[0]))) -#define roomof(x, y) (((x) + (y) - 1) / (y)) -#define type_roomof(x, y) roomof(sizeof(x), sizeof(y)) - -#define MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \ - (a) == 0 ? 0 : \ - (a) == -1 ? (b) < -(max) : \ - (a) > 0 ? \ - ((b) > 0 ? (max) / (a) < (b) : (min) / (a) > (b)) : \ - ((b) > 0 ? (min) / (a) < (b) : (max) / (a) > (b))) - -#ifdef HAVE_UINT128_T -# define bit_length(x) \ - (unsigned int) \ - (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \ - sizeof(x) <= sizeof(int64_t) ? 64 - nlz_int64((uint64_t)(x)) : \ - 128 - nlz_int128((uint128_t)(x))) -#else -# define bit_length(x) \ - (unsigned int) \ - (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \ - 64 - nlz_int64((uint64_t)(x))) -#endif - -static inline unsigned nlz_int32(uint32_t x); -static inline unsigned nlz_int64(uint64_t x); -#ifdef HAVE_UINT128_T -static inline unsigned nlz_int128(uint128_t x); -#endif - -static inline unsigned int -nlz_int32(uint32_t x) -{ -#if defined(_MSC_VER) && defined(__AVX2__) && defined(HAVE___LZCNT) - /* Note: It seems there is no such thing like __LZCNT__ predefined in MSVC. - * AMD CPUs have had this instruction for decades (since K10) but for - * Intel, Haswell is the oldest one. We need to use __AVX2__ for maximum - * safety. */ - return (unsigned int)__lzcnt(x); - -#elif defined(__x86_64__) && defined(__LZCNT__) && defined(HAVE__LZCNT_U32) - return (unsigned int)_lzcnt_u32(x); - -#elif defined(_MSC_VER) && defined(HAVE__BITSCANREVERSE) - unsigned long r; - return _BitScanReverse(&r, x) ? (31 - (int)r) : 32; - -#elif __has_builtin(__builtin_clz) - STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT == 32); - return x ? (unsigned int)__builtin_clz(x) : 32; - -#else - uint32_t y; - unsigned n = 32; - y = x >> 16; if (y) {n -= 16; x = y;} - y = x >> 8; if (y) {n -= 8; x = y;} - y = x >> 4; if (y) {n -= 4; x = y;} - y = x >> 2; if (y) {n -= 2; x = y;} - y = x >> 1; if (y) {return n - 2;} - return (unsigned int)(n - x); -#endif -} - -static inline unsigned int -nlz_int64(uint64_t x) -{ -#if defined(_MSC_VER) && defined(__AVX2__) && defined(HAVE___LZCNT64) - return (unsigned int)__lzcnt64(x); - -#elif defined(__x86_64__) && defined(__LZCNT__) && defined(HAVE__LZCNT_U64) - return (unsigned int)_lzcnt_u64(x); - -#elif defined(_WIN64) && defined(_MSC_VER) && defined(HAVE__BITSCANREVERSE64) - unsigned long r; - return _BitScanReverse64(&r, x) ? (63u - (unsigned int)r) : 64; - -#elif __has_builtin(__builtin_clzl) && __has_builtin(__builtin_clzll) && !(defined(__sun) && defined(__sparc)) - if (x == 0) { - return 64; - } - else if (sizeof(long) * CHAR_BIT == 64) { - return (unsigned int)__builtin_clzl((unsigned long)x); - } - else if (sizeof(long long) * CHAR_BIT == 64) { - return (unsigned int)__builtin_clzll((unsigned long long)x); - } - else { - /* :FIXME: Is there a way to make this branch a compile-time error? */ - __builtin_unreachable(); - } - -#else - uint64_t y; - unsigned int n = 64; - y = x >> 32; if (y) {n -= 32; x = y;} - y = x >> 16; if (y) {n -= 16; x = y;} - y = x >> 8; if (y) {n -= 8; x = y;} - y = x >> 4; if (y) {n -= 4; x = y;} - y = x >> 2; if (y) {n -= 2; x = y;} - y = x >> 1; if (y) {return n - 2;} - return (unsigned int)(n - x); - -#endif -} - -#ifdef HAVE_UINT128_T -static inline unsigned int -nlz_int128(uint128_t x) -{ - uint64_t y = (uint64_t)(x >> 64); - - if (x == 0) { - return 128; - } - else if (y == 0) { - return (unsigned int)nlz_int64(x) + 64; - } - else { - return (unsigned int)nlz_int64(y); - } -} -#endif - -#endif /* BIGDECIMAL_BITS_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/extconf.rb deleted file mode 100644 index 23904ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/extconf.rb +++ /dev/null @@ -1,62 +0,0 @@ -# frozen_string_literal: false -require 'mkmf' - -def have_builtin_func(name, check_expr, opt = "", &b) - checking_for checking_message(name.funcall_style, nil, opt) do - if try_compile(< -#endif - -#ifdef RBIMPL_HAS_BUILTIN -# define BIGDECIMAL_HAS_BUILTIN(...) RBIMPL_HAS_BUILTIN(__VA_ARGS__) - -#else -# /* The following section is copied from CRuby's builtin.h */ -# -# ifdef __has_builtin -# if defined(__INTEL_COMPILER) -# /* :TODO: Intel C Compiler has __has_builtin (since 19.1 maybe?), and is -# * reportedly broken. We have to skip them. However the situation can -# * change. They might improve someday. We need to revisit here later. */ -# elif defined(__GNUC__) && ! __has_builtin(__builtin_alloca) -# /* FreeBSD's defines its own *broken* version of -# * __has_builtin. Cygwin copied that content to be a victim of the -# * broken-ness. We don't take them into account. */ -# else -# define HAVE___HAS_BUILTIN 1 -# endif -# endif -# -# if defined(HAVE___HAS_BUILTIN) -# define BIGDECIMAL_HAS_BUILTIN(_) __has_builtin(_) -# -# elif defined(__GNUC__) -# define BIGDECIMAL_HAS_BUILTIN(_) BIGDECIMAL_HAS_BUILTIN_ ## _ -# if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 6)) -# define BIGDECIMAL_HAS_BUILTIN___builtin_clz 1 -# define BIGDECIMAL_HAS_BUILTIN___builtin_clzl 1 -# else -# define BIGDECIMAL_HAS_BUILTIN___builtin_clz 0 -# define BIGDECIMAL_HAS_BUILTIN___builtin_clzl 0 -# endif -# elif defined(_MSC_VER) -# define BIGDECIMAL_HAS_BUILTIN(_) 0 -# -# else -# define BIGDECIMAL_HAS_BUILTIN(_) BIGDECIMAL_HAS_BUILTIN_ ## _ -# define BIGDECIMAL_HAS_BUILTIN___builtin_clz HAVE_BUILTIN___BUILTIN_CLZ -# define BIGDECIMAL_HAS_BUILTIN___builtin_clzl HAVE_BUILTIN___BUILTIN_CLZL -# endif -#endif /* RBIMPL_HAS_BUILTIN */ - -#ifndef __has_builtin -# define __has_builtin(...) BIGDECIMAL_HAS_BUILTIN(__VA_ARGS__) -#endif - -#endif /* BIGDECIMAL_HAS_FEATURE_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.c deleted file mode 100644 index 703232d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.c +++ /dev/null @@ -1,27 +0,0 @@ -#include - -#ifdef HAVE_RUBY_ATOMIC_H -# include -#endif - -#ifdef RUBY_ATOMIC_PTR_CAS -# define ATOMIC_PTR_CAS(var, old, new) RUBY_ATOMIC_PTR_CAS(var, old, new) -#endif - -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -/* GCC warns about unknown sanitizer, which is annoying. */ -# undef NO_SANITIZE -# define NO_SANITIZE(x, y) \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wattributes\"") \ - __attribute__((__no_sanitize__(x))) y; \ - _Pragma("GCC diagnostic pop") -#endif - -#undef strtod -#define strtod BigDecimal_strtod -#undef dtoa -#define dtoa BigDecimal_dtoa -#undef hdtoa -#define hdtoa BigDecimal_hdtoa -#include "missing/dtoa.c" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.h deleted file mode 100644 index 325554b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.h +++ /dev/null @@ -1,196 +0,0 @@ -#ifndef MISSING_H -#define MISSING_H 1 - -#if defined(__cplusplus) -extern "C" { -#if 0 -} /* satisfy cc-mode */ -#endif -#endif - -#ifdef HAVE_STDLIB_H -# include -#endif - -#ifdef HAVE_MATH_H -# include -#endif - -#ifndef RB_UNUSED_VAR -# if defined(_MSC_VER) && _MSC_VER >= 1911 -# define RB_UNUSED_VAR(x) x [[maybe_unused]] - -# elif defined(__has_cpp_attribute) && __has_cpp_attribute(maybe_unused) -# define RB_UNUSED_VAR(x) x [[maybe_unused]] - -# elif defined(__has_c_attribute) && __has_c_attribute(maybe_unused) -# define RB_UNUSED_VAR(x) x [[maybe_unused]] - -# elif defined(__GNUC__) -# define RB_UNUSED_VAR(x) x __attribute__ ((unused)) - -# else -# define RB_UNUSED_VAR(x) x -# endif -#endif /* RB_UNUSED_VAR */ - -#if defined(_MSC_VER) && _MSC_VER >= 1310 -# define HAVE___ASSUME 1 - -#elif defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1300 -# define HAVE___ASSUME 1 -#endif - -#ifndef UNREACHABLE -# if __has_builtin(__builtin_unreachable) -# define UNREACHABLE __builtin_unreachable() - -# elif defined(HAVE___ASSUME) -# define UNREACHABLE __assume(0) - -# else -# define UNREACHABLE /* unreachable */ -# endif -#endif /* UNREACHABLE */ - -/* bool */ - -#if defined(__bool_true_false_are_defined) -# /* Take that. */ - -#elif defined(HAVE_STDBOOL_H) -# include - -#else -typedef unsigned char _Bool; -# define bool _Bool -# define true ((_Bool)+1) -# define false ((_Bool)-1) -# define __bool_true_false_are_defined -#endif - -/* abs */ - -#ifndef HAVE_LABS -static inline long -labs(long const x) -{ - if (x < 0) return -x; - return x; -} -#endif - -#ifndef HAVE_LLABS -static inline LONG_LONG -llabs(LONG_LONG const x) -{ - if (x < 0) return -x; - return x; -} -#endif - -#ifdef vabs -# undef vabs -#endif -#if SIZEOF_VALUE <= SIZEOF_INT -# define vabs abs -#elif SIZEOF_VALUE <= SIZEOF_LONG -# define vabs labs -#elif SIZEOF_VALUE <= SIZEOF_LONG_LONG -# define vabs llabs -#endif - -/* finite */ - -#ifndef HAVE_FINITE -static int -finite(double) -{ - return !isnan(n) && !isinf(n); -} -#endif - -#ifndef isfinite -# ifndef HAVE_ISFINITE -# define HAVE_ISFINITE 1 -# define isfinite(x) finite(x) -# endif -#endif - -/* dtoa */ -char *BigDecimal_dtoa(double d_, int mode, int ndigits, int *decpt, int *sign, char **rve); - -/* rational */ - -#ifndef HAVE_RB_RATIONAL_NUM -static inline VALUE -rb_rational_num(VALUE rat) -{ -#ifdef RRATIONAL - return RRATIONAL(rat)->num; -#else - return rb_funcall(rat, rb_intern("numerator"), 0); -#endif -} -#endif - -#ifndef HAVE_RB_RATIONAL_DEN -static inline VALUE -rb_rational_den(VALUE rat) -{ -#ifdef RRATIONAL - return RRATIONAL(rat)->den; -#else - return rb_funcall(rat, rb_intern("denominator"), 0); -#endif -} -#endif - -/* complex */ - -#ifndef HAVE_RB_COMPLEX_REAL -static inline VALUE -rb_complex_real(VALUE cmp) -{ -#ifdef RCOMPLEX - return RCOMPLEX(cmp)->real; -#else - return rb_funcall(cmp, rb_intern("real"), 0); -#endif -} -#endif - -#ifndef HAVE_RB_COMPLEX_IMAG -static inline VALUE -rb_complex_imag(VALUE cmp) -{ -# ifdef RCOMPLEX - return RCOMPLEX(cmp)->imag; -# else - return rb_funcall(cmp, rb_intern("imag"), 0); -# endif -} -#endif - -/* st */ - -#ifndef ST2FIX -# undef RB_ST2FIX -# define RB_ST2FIX(h) LONG2FIX((long)(h)) -# define ST2FIX(h) RB_ST2FIX(h) -#endif - -/* warning */ - -#if !defined(HAVE_RB_CATEGORY_WARN) || !defined(HAVE_CONST_RB_WARN_CATEGORY_DEPRECATED) -# define rb_category_warn(category, ...) rb_warn(__VA_ARGS__) -#endif - -#if defined(__cplusplus) -#if 0 -{ /* satisfy cc-mode */ -#endif -} /* extern "C" { */ -#endif - -#endif /* MISSING_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.o deleted file mode 100644 index 27b36a1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing/dtoa.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing/dtoa.c deleted file mode 100644 index 41b0a22..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/missing/dtoa.c +++ /dev/null @@ -1,3462 +0,0 @@ -/**************************************************************** - * - * The author of this software is David M. Gay. - * - * Copyright (c) 1991, 2000, 2001 by Lucent Technologies. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose without fee is hereby granted, provided that this entire notice - * is included in all copies of any software which is or includes a copy - * or modification of this software and in all copies of the supporting - * documentation for such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY - * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY - * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - ***************************************************************/ - -/* Please send bug reports to David M. Gay (dmg at acm dot org, - * with " at " changed at "@" and " dot " changed to "."). */ - -/* On a machine with IEEE extended-precision registers, it is - * necessary to specify double-precision (53-bit) rounding precision - * before invoking strtod or dtoa. If the machine uses (the equivalent - * of) Intel 80x87 arithmetic, the call - * _control87(PC_53, MCW_PC); - * does this with many compilers. Whether this or another call is - * appropriate depends on the compiler; for this to work, it may be - * necessary to #include "float.h" or another system-dependent header - * file. - */ - -/* strtod for IEEE-, VAX-, and IBM-arithmetic machines. - * - * This strtod returns a nearest machine number to the input decimal - * string (or sets errno to ERANGE). With IEEE arithmetic, ties are - * broken by the IEEE round-even rule. Otherwise ties are broken by - * biased rounding (add half and chop). - * - * Inspired loosely by William D. Clinger's paper "How to Read Floating - * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. - * - * Modifications: - * - * 1. We only require IEEE, IBM, or VAX double-precision - * arithmetic (not IEEE double-extended). - * 2. We get by with floating-point arithmetic in a case that - * Clinger missed -- when we're computing d * 10^n - * for a small integer d and the integer n is not too - * much larger than 22 (the maximum integer k for which - * we can represent 10^k exactly), we may be able to - * compute (d*10^k) * 10^(e-k) with just one roundoff. - * 3. Rather than a bit-at-a-time adjustment of the binary - * result in the hard case, we use floating-point - * arithmetic to determine the adjustment to within - * one bit; only in really hard cases do we need to - * compute a second residual. - * 4. Because of 3., we don't need a large table of powers of 10 - * for ten-to-e (just some small tables, e.g. of 10^k - * for 0 <= k <= 22). - */ - -/* - * #define IEEE_LITTLE_ENDIAN for IEEE-arithmetic machines where the least - * significant byte has the lowest address. - * #define IEEE_BIG_ENDIAN for IEEE-arithmetic machines where the most - * significant byte has the lowest address. - * #define Long int on machines with 32-bit ints and 64-bit longs. - * #define IBM for IBM mainframe-style floating-point arithmetic. - * #define VAX for VAX-style floating-point arithmetic (D_floating). - * #define No_leftright to omit left-right logic in fast floating-point - * computation of dtoa. - * #define Honor_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 - * and strtod and dtoa should round accordingly. - * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 - * and Honor_FLT_ROUNDS is not #defined. - * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines - * that use extended-precision instructions to compute rounded - * products and quotients) with IBM. - * #define ROUND_BIASED for IEEE-format with biased rounding. - * #define Inaccurate_Divide for IEEE-format with correctly rounded - * products but inaccurate quotients, e.g., for Intel i860. - * #define NO_LONG_LONG on machines that do not have a "long long" - * integer type (of >= 64 bits). On such machines, you can - * #define Just_16 to store 16 bits per 32-bit Long when doing - * high-precision integer arithmetic. Whether this speeds things - * up or slows things down depends on the machine and the number - * being converted. If long long is available and the name is - * something other than "long long", #define Llong to be the name, - * and if "unsigned Llong" does not work as an unsigned version of - * Llong, #define #ULLong to be the corresponding unsigned type. - * #define KR_headers for old-style C function headers. - * #define Bad_float_h if your system lacks a float.h or if it does not - * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, - * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. - * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) - * if memory is available and otherwise does something you deem - * appropriate. If MALLOC is undefined, malloc will be invoked - * directly -- and assumed always to succeed. - * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making - * memory allocations from a private pool of memory when possible. - * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes, - * unless #defined to be a different length. This default length - * suffices to get rid of MALLOC calls except for unusual cases, - * such as decimal-to-binary conversion of a very long string of - * digits. The longest string dtoa can return is about 751 bytes - * long. For conversions by strtod of strings of 800 digits and - * all dtoa conversions in single-threaded executions with 8-byte - * pointers, PRIVATE_MEM >= 7400 appears to suffice; with 4-byte - * pointers, PRIVATE_MEM >= 7112 appears adequate. - * #define INFNAN_CHECK on IEEE systems to cause strtod to check for - * Infinity and NaN (case insensitively). On some systems (e.g., - * some HP systems), it may be necessary to #define NAN_WORD0 - * appropriately -- to the most significant word of a quiet NaN. - * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) - * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined, - * strtod also accepts (case insensitively) strings of the form - * NaN(x), where x is a string of hexadecimal digits and spaces; - * if there is only one string of hexadecimal digits, it is taken - * for the 52 fraction bits of the resulting NaN; if there are two - * or more strings of hex digits, the first is for the high 20 bits, - * the second and subsequent for the low 32 bits, with intervening - * white space ignored; but if this results in none of the 52 - * fraction bits being on (an IEEE Infinity symbol), then NAN_WORD0 - * and NAN_WORD1 are used instead. - * #define MULTIPLE_THREADS if the system offers preemptively scheduled - * multiple threads. In this case, you must provide (or suitably - * #define) two locks, acquired by ACQUIRE_DTOA_LOCK(n) and freed - * by FREE_DTOA_LOCK(n) for n = 0 or 1. (The second lock, accessed - * in pow5mult, ensures lazy evaluation of only one copy of high - * powers of 5; omitting this lock would introduce a small - * probability of wasting memory, but would otherwise be harmless.) - * You must also invoke freedtoa(s) to free the value s returned by - * dtoa. You may do so whether or not MULTIPLE_THREADS is #defined. - * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that - * avoids underflows on inputs whose result does not underflow. - * If you #define NO_IEEE_Scale on a machine that uses IEEE-format - * floating-point numbers and flushes underflows to zero rather - * than implementing gradual underflow, then you must also #define - * Sudden_Underflow. - * #define YES_ALIAS to permit aliasing certain double values with - * arrays of ULongs. This leads to slightly better code with - * some compilers and was always used prior to 19990916, but it - * is not strictly legal and can cause trouble with aggressively - * optimizing compilers (e.g., gcc 2.95.1 under -O2). - * #define USE_LOCALE to use the current locale's decimal_point value. - * #define SET_INEXACT if IEEE arithmetic is being used and extra - * computation should be done to set the inexact flag when the - * result is inexact and avoid setting inexact when the result - * is exact. In this case, dtoa.c must be compiled in - * an environment, perhaps provided by #include "dtoa.c" in a - * suitable wrapper, that defines two functions, - * int get_inexact(void); - * void clear_inexact(void); - * such that get_inexact() returns a nonzero value if the - * inexact bit is already set, and clear_inexact() sets the - * inexact bit to 0. When SET_INEXACT is #defined, strtod - * also does extra computations to set the underflow and overflow - * flags when appropriate (i.e., when the result is tiny and - * inexact or when it is a numeric value rounded to +-infinity). - * #define NO_ERRNO if strtod should not assign errno = ERANGE when - * the result overflows to +-Infinity or underflows to 0. - */ - -#ifdef WORDS_BIGENDIAN -#define IEEE_BIG_ENDIAN -#else -#define IEEE_LITTLE_ENDIAN -#endif - -#ifdef __vax__ -#define VAX -#undef IEEE_BIG_ENDIAN -#undef IEEE_LITTLE_ENDIAN -#endif - -#if defined(__arm__) && !defined(__VFP_FP__) -#define IEEE_BIG_ENDIAN -#undef IEEE_LITTLE_ENDIAN -#endif - -#undef Long -#undef ULong - -#include - -#if (INT_MAX >> 30) && !(INT_MAX >> 31) -#define Long int -#define ULong unsigned int -#elif (LONG_MAX >> 30) && !(LONG_MAX >> 31) -#define Long long int -#define ULong unsigned long int -#else -#error No 32bit integer -#endif - -#if HAVE_LONG_LONG -#define Llong LONG_LONG -#else -#define NO_LONG_LONG -#endif - -#ifdef DEBUG -#include -#define Bug(x) {fprintf(stderr, "%s\n", (x)); exit(EXIT_FAILURE);} -#endif - -#ifndef ISDIGIT -#include -#define ISDIGIT(c) isdigit(c) -#endif -#include -#include -#include - -#ifdef USE_LOCALE -#include -#endif - -#ifdef MALLOC -extern void *MALLOC(size_t); -#else -#define MALLOC xmalloc -#endif -#ifdef FREE -extern void FREE(void*); -#else -#define FREE xfree -#endif -#ifndef NO_SANITIZE -#define NO_SANITIZE(x, y) y -#endif - -#ifndef Omit_Private_Memory -#ifndef PRIVATE_MEM -#define PRIVATE_MEM 2304 -#endif -#define PRIVATE_mem ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double)) -static double private_mem[PRIVATE_mem], *pmem_next = private_mem; -#endif - -#undef IEEE_Arith -#undef Avoid_Underflow -#ifdef IEEE_BIG_ENDIAN -#define IEEE_Arith -#endif -#ifdef IEEE_LITTLE_ENDIAN -#define IEEE_Arith -#endif - -#ifdef Bad_float_h - -#ifdef IEEE_Arith -#define DBL_DIG 15 -#define DBL_MAX_10_EXP 308 -#define DBL_MAX_EXP 1024 -#define FLT_RADIX 2 -#endif /*IEEE_Arith*/ - -#ifdef IBM -#define DBL_DIG 16 -#define DBL_MAX_10_EXP 75 -#define DBL_MAX_EXP 63 -#define FLT_RADIX 16 -#define DBL_MAX 7.2370055773322621e+75 -#endif - -#ifdef VAX -#define DBL_DIG 16 -#define DBL_MAX_10_EXP 38 -#define DBL_MAX_EXP 127 -#define FLT_RADIX 2 -#define DBL_MAX 1.7014118346046923e+38 -#endif - -#ifndef LONG_MAX -#define LONG_MAX 2147483647 -#endif - -#else /* ifndef Bad_float_h */ -#include -#endif /* Bad_float_h */ - -#include - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* satisfy cc-mode */ -#endif -#endif - -#ifndef hexdigit -static const char hexdigit[] = "0123456789abcdef0123456789ABCDEF"; -#endif - -#if defined(IEEE_LITTLE_ENDIAN) + defined(IEEE_BIG_ENDIAN) + defined(VAX) + defined(IBM) != 1 -Exactly one of IEEE_LITTLE_ENDIAN, IEEE_BIG_ENDIAN, VAX, or IBM should be defined. -#endif - -typedef union { double d; ULong L[2]; } U; - -#ifdef YES_ALIAS -typedef double double_u; -# define dval(x) (x) -# ifdef IEEE_LITTLE_ENDIAN -# define word0(x) (((ULong *)&(x))[1]) -# define word1(x) (((ULong *)&(x))[0]) -# else -# define word0(x) (((ULong *)&(x))[0]) -# define word1(x) (((ULong *)&(x))[1]) -# endif -#else -typedef U double_u; -# ifdef IEEE_LITTLE_ENDIAN -# define word0(x) ((x).L[1]) -# define word1(x) ((x).L[0]) -# else -# define word0(x) ((x).L[0]) -# define word1(x) ((x).L[1]) -# endif -# define dval(x) ((x).d) -#endif - -/* The following definition of Storeinc is appropriate for MIPS processors. - * An alternative that might be better on some machines is - * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) - */ -#if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) + defined(__arm__) -#define Storeinc(a,b,c) (((unsigned short *)(a))[1] = (unsigned short)(b), \ -((unsigned short *)(a))[0] = (unsigned short)(c), (a)++) -#else -#define Storeinc(a,b,c) (((unsigned short *)(a))[0] = (unsigned short)(b), \ -((unsigned short *)(a))[1] = (unsigned short)(c), (a)++) -#endif - -/* #define P DBL_MANT_DIG */ -/* Ten_pmax = floor(P*log(2)/log(5)) */ -/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */ -/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */ -/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */ - -#ifdef IEEE_Arith -#define Exp_shift 20 -#define Exp_shift1 20 -#define Exp_msk1 0x100000 -#define Exp_msk11 0x100000 -#define Exp_mask 0x7ff00000 -#define P 53 -#define Bias 1023 -#define Emin (-1022) -#define Exp_1 0x3ff00000 -#define Exp_11 0x3ff00000 -#define Ebits 11 -#define Frac_mask 0xfffff -#define Frac_mask1 0xfffff -#define Ten_pmax 22 -#define Bletch 0x10 -#define Bndry_mask 0xfffff -#define Bndry_mask1 0xfffff -#define LSB 1 -#define Sign_bit 0x80000000 -#define Log2P 1 -#define Tiny0 0 -#define Tiny1 1 -#define Quick_max 14 -#define Int_max 14 -#ifndef NO_IEEE_Scale -#define Avoid_Underflow -#ifdef Flush_Denorm /* debugging option */ -#undef Sudden_Underflow -#endif -#endif - -#ifndef Flt_Rounds -#ifdef FLT_ROUNDS -#define Flt_Rounds FLT_ROUNDS -#else -#define Flt_Rounds 1 -#endif -#endif /*Flt_Rounds*/ - -#ifdef Honor_FLT_ROUNDS -#define Rounding rounding -#undef Check_FLT_ROUNDS -#define Check_FLT_ROUNDS -#else -#define Rounding Flt_Rounds -#endif - -#else /* ifndef IEEE_Arith */ -#undef Check_FLT_ROUNDS -#undef Honor_FLT_ROUNDS -#undef SET_INEXACT -#undef Sudden_Underflow -#define Sudden_Underflow -#ifdef IBM -#undef Flt_Rounds -#define Flt_Rounds 0 -#define Exp_shift 24 -#define Exp_shift1 24 -#define Exp_msk1 0x1000000 -#define Exp_msk11 0x1000000 -#define Exp_mask 0x7f000000 -#define P 14 -#define Bias 65 -#define Exp_1 0x41000000 -#define Exp_11 0x41000000 -#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */ -#define Frac_mask 0xffffff -#define Frac_mask1 0xffffff -#define Bletch 4 -#define Ten_pmax 22 -#define Bndry_mask 0xefffff -#define Bndry_mask1 0xffffff -#define LSB 1 -#define Sign_bit 0x80000000 -#define Log2P 4 -#define Tiny0 0x100000 -#define Tiny1 0 -#define Quick_max 14 -#define Int_max 15 -#else /* VAX */ -#undef Flt_Rounds -#define Flt_Rounds 1 -#define Exp_shift 23 -#define Exp_shift1 7 -#define Exp_msk1 0x80 -#define Exp_msk11 0x800000 -#define Exp_mask 0x7f80 -#define P 56 -#define Bias 129 -#define Exp_1 0x40800000 -#define Exp_11 0x4080 -#define Ebits 8 -#define Frac_mask 0x7fffff -#define Frac_mask1 0xffff007f -#define Ten_pmax 24 -#define Bletch 2 -#define Bndry_mask 0xffff007f -#define Bndry_mask1 0xffff007f -#define LSB 0x10000 -#define Sign_bit 0x8000 -#define Log2P 1 -#define Tiny0 0x80 -#define Tiny1 0 -#define Quick_max 15 -#define Int_max 15 -#endif /* IBM, VAX */ -#endif /* IEEE_Arith */ - -#ifndef IEEE_Arith -#define ROUND_BIASED -#endif - -#ifdef RND_PRODQUOT -#define rounded_product(a,b) ((a) = rnd_prod((a), (b))) -#define rounded_quotient(a,b) ((a) = rnd_quot((a), (b))) -extern double rnd_prod(double, double), rnd_quot(double, double); -#else -#define rounded_product(a,b) ((a) *= (b)) -#define rounded_quotient(a,b) ((a) /= (b)) -#endif - -#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1)) -#define Big1 0xffffffff - -#ifndef Pack_32 -#define Pack_32 -#endif - -#define FFFFFFFF 0xffffffffUL - -#ifdef NO_LONG_LONG -#undef ULLong -#ifdef Just_16 -#undef Pack_32 -/* When Pack_32 is not defined, we store 16 bits per 32-bit Long. - * This makes some inner loops simpler and sometimes saves work - * during multiplications, but it often seems to make things slightly - * slower. Hence the default is now to store 32 bits per Long. - */ -#endif -#else /* long long available */ -#ifndef Llong -#define Llong long long -#endif -#ifndef ULLong -#define ULLong unsigned Llong -#endif -#endif /* NO_LONG_LONG */ - -#define MULTIPLE_THREADS 1 - -#ifndef MULTIPLE_THREADS -#define ACQUIRE_DTOA_LOCK(n) /*nothing*/ -#define FREE_DTOA_LOCK(n) /*nothing*/ -#else -#define ACQUIRE_DTOA_LOCK(n) /*unused right now*/ -#define FREE_DTOA_LOCK(n) /*unused right now*/ -#endif - -#ifndef ATOMIC_PTR_CAS -#define ATOMIC_PTR_CAS(var, old, new) ((var) = (new), (old)) -#endif -#ifndef LIKELY -#define LIKELY(x) (x) -#endif -#ifndef UNLIKELY -#define UNLIKELY(x) (x) -#endif -#ifndef ASSUME -#define ASSUME(x) (void)(x) -#endif - -#define Kmax 15 - -struct Bigint { - struct Bigint *next; - int k, maxwds, sign, wds; - ULong x[1]; -}; - -typedef struct Bigint Bigint; - -static Bigint *freelist[Kmax+1]; - -static Bigint * -Balloc(int k) -{ - int x; - Bigint *rv; -#ifndef Omit_Private_Memory - size_t len; -#endif - - rv = 0; - ACQUIRE_DTOA_LOCK(0); - if (k <= Kmax) { - rv = freelist[k]; - while (rv) { - Bigint *rvn = rv; - rv = ATOMIC_PTR_CAS(freelist[k], rv, rv->next); - if (LIKELY(rvn == rv)) { - ASSUME(rv); - break; - } - } - } - if (!rv) { - x = 1 << k; -#ifdef Omit_Private_Memory - rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); -#else - len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) - /sizeof(double); - if (k <= Kmax) { - double *pnext = pmem_next; - while (pnext - private_mem + len <= PRIVATE_mem) { - double *p = pnext; - pnext = ATOMIC_PTR_CAS(pmem_next, pnext, pnext + len); - if (LIKELY(p == pnext)) { - rv = (Bigint*)pnext; - ASSUME(rv); - break; - } - } - } - if (!rv) - rv = (Bigint*)MALLOC(len*sizeof(double)); -#endif - rv->k = k; - rv->maxwds = x; - } - FREE_DTOA_LOCK(0); - rv->sign = rv->wds = 0; - return rv; -} - -static void -Bfree(Bigint *v) -{ - Bigint *vn; - if (v) { - if (v->k > Kmax) { - FREE(v); - return; - } - ACQUIRE_DTOA_LOCK(0); - do { - vn = v->next = freelist[v->k]; - } while (UNLIKELY(ATOMIC_PTR_CAS(freelist[v->k], vn, v) != vn)); - FREE_DTOA_LOCK(0); - } -} - -#define Bcopy(x,y) memcpy((char *)&(x)->sign, (char *)&(y)->sign, \ -(y)->wds*sizeof(Long) + 2*sizeof(int)) - -static Bigint * -multadd(Bigint *b, int m, int a) /* multiply by m and add a */ -{ - int i, wds; - ULong *x; -#ifdef ULLong - ULLong carry, y; -#else - ULong carry, y; -#ifdef Pack_32 - ULong xi, z; -#endif -#endif - Bigint *b1; - - wds = b->wds; - x = b->x; - i = 0; - carry = a; - do { -#ifdef ULLong - y = *x * (ULLong)m + carry; - carry = y >> 32; - *x++ = (ULong)(y & FFFFFFFF); -#else -#ifdef Pack_32 - xi = *x; - y = (xi & 0xffff) * m + carry; - z = (xi >> 16) * m + (y >> 16); - carry = z >> 16; - *x++ = (z << 16) + (y & 0xffff); -#else - y = *x * m + carry; - carry = y >> 16; - *x++ = y & 0xffff; -#endif -#endif - } while (++i < wds); - if (carry) { - if (wds >= b->maxwds) { - b1 = Balloc(b->k+1); - Bcopy(b1, b); - Bfree(b); - b = b1; - } - b->x[wds++] = (ULong)carry; - b->wds = wds; - } - return b; -} - -static Bigint * -s2b(const char *s, int nd0, int nd, ULong y9) -{ - Bigint *b; - int i, k; - Long x, y; - - x = (nd + 8) / 9; - for (k = 0, y = 1; x > y; y <<= 1, k++) ; -#ifdef Pack_32 - b = Balloc(k); - b->x[0] = y9; - b->wds = 1; -#else - b = Balloc(k+1); - b->x[0] = y9 & 0xffff; - b->wds = (b->x[1] = y9 >> 16) ? 2 : 1; -#endif - - i = 9; - if (9 < nd0) { - s += 9; - do { - b = multadd(b, 10, *s++ - '0'); - } while (++i < nd0); - s++; - } - else - s += 10; - for (; i < nd; i++) - b = multadd(b, 10, *s++ - '0'); - return b; -} - -static int -hi0bits(register ULong x) -{ - register int k = 0; - - if (!(x & 0xffff0000)) { - k = 16; - x <<= 16; - } - if (!(x & 0xff000000)) { - k += 8; - x <<= 8; - } - if (!(x & 0xf0000000)) { - k += 4; - x <<= 4; - } - if (!(x & 0xc0000000)) { - k += 2; - x <<= 2; - } - if (!(x & 0x80000000)) { - k++; - if (!(x & 0x40000000)) - return 32; - } - return k; -} - -static int -lo0bits(ULong *y) -{ - register int k; - register ULong x = *y; - - if (x & 7) { - if (x & 1) - return 0; - if (x & 2) { - *y = x >> 1; - return 1; - } - *y = x >> 2; - return 2; - } - k = 0; - if (!(x & 0xffff)) { - k = 16; - x >>= 16; - } - if (!(x & 0xff)) { - k += 8; - x >>= 8; - } - if (!(x & 0xf)) { - k += 4; - x >>= 4; - } - if (!(x & 0x3)) { - k += 2; - x >>= 2; - } - if (!(x & 1)) { - k++; - x >>= 1; - if (!x) - return 32; - } - *y = x; - return k; -} - -static Bigint * -i2b(int i) -{ - Bigint *b; - - b = Balloc(1); - b->x[0] = i; - b->wds = 1; - return b; -} - -static Bigint * -mult(Bigint *a, Bigint *b) -{ - Bigint *c; - int k, wa, wb, wc; - ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0; - ULong y; -#ifdef ULLong - ULLong carry, z; -#else - ULong carry, z; -#ifdef Pack_32 - ULong z2; -#endif -#endif - - if (a->wds < b->wds) { - c = a; - a = b; - b = c; - } - k = a->k; - wa = a->wds; - wb = b->wds; - wc = wa + wb; - if (wc > a->maxwds) - k++; - c = Balloc(k); - for (x = c->x, xa = x + wc; x < xa; x++) - *x = 0; - xa = a->x; - xae = xa + wa; - xb = b->x; - xbe = xb + wb; - xc0 = c->x; -#ifdef ULLong - for (; xb < xbe; xc0++) { - if ((y = *xb++) != 0) { - x = xa; - xc = xc0; - carry = 0; - do { - z = *x++ * (ULLong)y + *xc + carry; - carry = z >> 32; - *xc++ = (ULong)(z & FFFFFFFF); - } while (x < xae); - *xc = (ULong)carry; - } - } -#else -#ifdef Pack_32 - for (; xb < xbe; xb++, xc0++) { - if ((y = *xb & 0xffff) != 0) { - x = xa; - xc = xc0; - carry = 0; - do { - z = (*x & 0xffff) * y + (*xc & 0xffff) + carry; - carry = z >> 16; - z2 = (*x++ >> 16) * y + (*xc >> 16) + carry; - carry = z2 >> 16; - Storeinc(xc, z2, z); - } while (x < xae); - *xc = (ULong)carry; - } - if ((y = *xb >> 16) != 0) { - x = xa; - xc = xc0; - carry = 0; - z2 = *xc; - do { - z = (*x & 0xffff) * y + (*xc >> 16) + carry; - carry = z >> 16; - Storeinc(xc, z, z2); - z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry; - carry = z2 >> 16; - } while (x < xae); - *xc = z2; - } - } -#else - for (; xb < xbe; xc0++) { - if (y = *xb++) { - x = xa; - xc = xc0; - carry = 0; - do { - z = *x++ * y + *xc + carry; - carry = z >> 16; - *xc++ = z & 0xffff; - } while (x < xae); - *xc = (ULong)carry; - } - } -#endif -#endif - for (xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) ; - c->wds = wc; - return c; -} - -static Bigint *p5s; - -static Bigint * -pow5mult(Bigint *b, int k) -{ - Bigint *b1, *p5, *p51; - Bigint *p5tmp; - int i; - static const int p05[3] = { 5, 25, 125 }; - - if ((i = k & 3) != 0) - b = multadd(b, p05[i-1], 0); - - if (!(k >>= 2)) - return b; - if (!(p5 = p5s)) { - /* first time */ - ACQUIRE_DTOA_LOCK(1); - if (!(p5 = p5s)) { - p5 = i2b(625); - p5->next = 0; - p5tmp = ATOMIC_PTR_CAS(p5s, NULL, p5); - if (UNLIKELY(p5tmp)) { - Bfree(p5); - p5 = p5tmp; - } - } - FREE_DTOA_LOCK(1); - } - for (;;) { - if (k & 1) { - b1 = mult(b, p5); - Bfree(b); - b = b1; - } - if (!(k >>= 1)) - break; - if (!(p51 = p5->next)) { - ACQUIRE_DTOA_LOCK(1); - if (!(p51 = p5->next)) { - p51 = mult(p5,p5); - p51->next = 0; - p5tmp = ATOMIC_PTR_CAS(p5->next, NULL, p51); - if (UNLIKELY(p5tmp)) { - Bfree(p51); - p51 = p5tmp; - } - } - FREE_DTOA_LOCK(1); - } - p5 = p51; - } - return b; -} - -static Bigint * -lshift(Bigint *b, int k) -{ - int i, k1, n, n1; - Bigint *b1; - ULong *x, *x1, *xe, z; - -#ifdef Pack_32 - n = k >> 5; -#else - n = k >> 4; -#endif - k1 = b->k; - n1 = n + b->wds + 1; - for (i = b->maxwds; n1 > i; i <<= 1) - k1++; - b1 = Balloc(k1); - x1 = b1->x; - for (i = 0; i < n; i++) - *x1++ = 0; - x = b->x; - xe = x + b->wds; -#ifdef Pack_32 - if (k &= 0x1f) { - k1 = 32 - k; - z = 0; - do { - *x1++ = *x << k | z; - z = *x++ >> k1; - } while (x < xe); - if ((*x1 = z) != 0) - ++n1; - } -#else - if (k &= 0xf) { - k1 = 16 - k; - z = 0; - do { - *x1++ = *x << k & 0xffff | z; - z = *x++ >> k1; - } while (x < xe); - if (*x1 = z) - ++n1; - } -#endif - else - do { - *x1++ = *x++; - } while (x < xe); - b1->wds = n1 - 1; - Bfree(b); - return b1; -} - -static int -cmp(Bigint *a, Bigint *b) -{ - ULong *xa, *xa0, *xb, *xb0; - int i, j; - - i = a->wds; - j = b->wds; -#ifdef DEBUG - if (i > 1 && !a->x[i-1]) - Bug("cmp called with a->x[a->wds-1] == 0"); - if (j > 1 && !b->x[j-1]) - Bug("cmp called with b->x[b->wds-1] == 0"); -#endif - if (i -= j) - return i; - xa0 = a->x; - xa = xa0 + j; - xb0 = b->x; - xb = xb0 + j; - for (;;) { - if (*--xa != *--xb) - return *xa < *xb ? -1 : 1; - if (xa <= xa0) - break; - } - return 0; -} - -NO_SANITIZE("unsigned-integer-overflow", static Bigint * diff(Bigint *a, Bigint *b)); -static Bigint * -diff(Bigint *a, Bigint *b) -{ - Bigint *c; - int i, wa, wb; - ULong *xa, *xae, *xb, *xbe, *xc; -#ifdef ULLong - ULLong borrow, y; -#else - ULong borrow, y; -#ifdef Pack_32 - ULong z; -#endif -#endif - - i = cmp(a,b); - if (!i) { - c = Balloc(0); - c->wds = 1; - c->x[0] = 0; - return c; - } - if (i < 0) { - c = a; - a = b; - b = c; - i = 1; - } - else - i = 0; - c = Balloc(a->k); - c->sign = i; - wa = a->wds; - xa = a->x; - xae = xa + wa; - wb = b->wds; - xb = b->x; - xbe = xb + wb; - xc = c->x; - borrow = 0; -#ifdef ULLong - do { - y = (ULLong)*xa++ - *xb++ - borrow; - borrow = y >> 32 & (ULong)1; - *xc++ = (ULong)(y & FFFFFFFF); - } while (xb < xbe); - while (xa < xae) { - y = *xa++ - borrow; - borrow = y >> 32 & (ULong)1; - *xc++ = (ULong)(y & FFFFFFFF); - } -#else -#ifdef Pack_32 - do { - y = (*xa & 0xffff) - (*xb & 0xffff) - borrow; - borrow = (y & 0x10000) >> 16; - z = (*xa++ >> 16) - (*xb++ >> 16) - borrow; - borrow = (z & 0x10000) >> 16; - Storeinc(xc, z, y); - } while (xb < xbe); - while (xa < xae) { - y = (*xa & 0xffff) - borrow; - borrow = (y & 0x10000) >> 16; - z = (*xa++ >> 16) - borrow; - borrow = (z & 0x10000) >> 16; - Storeinc(xc, z, y); - } -#else - do { - y = *xa++ - *xb++ - borrow; - borrow = (y & 0x10000) >> 16; - *xc++ = y & 0xffff; - } while (xb < xbe); - while (xa < xae) { - y = *xa++ - borrow; - borrow = (y & 0x10000) >> 16; - *xc++ = y & 0xffff; - } -#endif -#endif - while (!*--xc) - wa--; - c->wds = wa; - return c; -} - -static double -ulp(double x_) -{ - register Long L; - double_u x, a; - dval(x) = x_; - - L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1; -#ifndef Avoid_Underflow -#ifndef Sudden_Underflow - if (L > 0) { -#endif -#endif -#ifdef IBM - L |= Exp_msk1 >> 4; -#endif - word0(a) = L; - word1(a) = 0; -#ifndef Avoid_Underflow -#ifndef Sudden_Underflow - } - else { - L = -L >> Exp_shift; - if (L < Exp_shift) { - word0(a) = 0x80000 >> L; - word1(a) = 0; - } - else { - word0(a) = 0; - L -= Exp_shift; - word1(a) = L >= 31 ? 1 : 1 << 31 - L; - } - } -#endif -#endif - return dval(a); -} - -static double -b2d(Bigint *a, int *e) -{ - ULong *xa, *xa0, w, y, z; - int k; - double_u d; -#ifdef VAX - ULong d0, d1; -#else -#define d0 word0(d) -#define d1 word1(d) -#endif - - xa0 = a->x; - xa = xa0 + a->wds; - y = *--xa; -#ifdef DEBUG - if (!y) Bug("zero y in b2d"); -#endif - k = hi0bits(y); - *e = 32 - k; -#ifdef Pack_32 - if (k < Ebits) { - d0 = Exp_1 | y >> (Ebits - k); - w = xa > xa0 ? *--xa : 0; - d1 = y << ((32-Ebits) + k) | w >> (Ebits - k); - goto ret_d; - } - z = xa > xa0 ? *--xa : 0; - if (k -= Ebits) { - d0 = Exp_1 | y << k | z >> (32 - k); - y = xa > xa0 ? *--xa : 0; - d1 = z << k | y >> (32 - k); - } - else { - d0 = Exp_1 | y; - d1 = z; - } -#else - if (k < Ebits + 16) { - z = xa > xa0 ? *--xa : 0; - d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k; - w = xa > xa0 ? *--xa : 0; - y = xa > xa0 ? *--xa : 0; - d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k; - goto ret_d; - } - z = xa > xa0 ? *--xa : 0; - w = xa > xa0 ? *--xa : 0; - k -= Ebits + 16; - d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k; - y = xa > xa0 ? *--xa : 0; - d1 = w << k + 16 | y << k; -#endif -ret_d: -#ifdef VAX - word0(d) = d0 >> 16 | d0 << 16; - word1(d) = d1 >> 16 | d1 << 16; -#else -#undef d0 -#undef d1 -#endif - return dval(d); -} - -static Bigint * -d2b(double d_, int *e, int *bits) -{ - double_u d; - Bigint *b; - int de, k; - ULong *x, y, z; -#ifndef Sudden_Underflow - int i; -#endif -#ifdef VAX - ULong d0, d1; -#endif - dval(d) = d_; -#ifdef VAX - d0 = word0(d) >> 16 | word0(d) << 16; - d1 = word1(d) >> 16 | word1(d) << 16; -#else -#define d0 word0(d) -#define d1 word1(d) -#endif - -#ifdef Pack_32 - b = Balloc(1); -#else - b = Balloc(2); -#endif - x = b->x; - - z = d0 & Frac_mask; - d0 &= 0x7fffffff; /* clear sign bit, which we ignore */ -#ifdef Sudden_Underflow - de = (int)(d0 >> Exp_shift); -#ifndef IBM - z |= Exp_msk11; -#endif -#else - if ((de = (int)(d0 >> Exp_shift)) != 0) - z |= Exp_msk1; -#endif -#ifdef Pack_32 - if ((y = d1) != 0) { - if ((k = lo0bits(&y)) != 0) { - x[0] = y | z << (32 - k); - z >>= k; - } - else - x[0] = y; -#ifndef Sudden_Underflow - i = -#endif - b->wds = (x[1] = z) ? 2 : 1; - } - else { -#ifdef DEBUG - if (!z) - Bug("Zero passed to d2b"); -#endif - k = lo0bits(&z); - x[0] = z; -#ifndef Sudden_Underflow - i = -#endif - b->wds = 1; - k += 32; - } -#else - if (y = d1) { - if (k = lo0bits(&y)) - if (k >= 16) { - x[0] = y | z << 32 - k & 0xffff; - x[1] = z >> k - 16 & 0xffff; - x[2] = z >> k; - i = 2; - } - else { - x[0] = y & 0xffff; - x[1] = y >> 16 | z << 16 - k & 0xffff; - x[2] = z >> k & 0xffff; - x[3] = z >> k+16; - i = 3; - } - else { - x[0] = y & 0xffff; - x[1] = y >> 16; - x[2] = z & 0xffff; - x[3] = z >> 16; - i = 3; - } - } - else { -#ifdef DEBUG - if (!z) - Bug("Zero passed to d2b"); -#endif - k = lo0bits(&z); - if (k >= 16) { - x[0] = z; - i = 0; - } - else { - x[0] = z & 0xffff; - x[1] = z >> 16; - i = 1; - } - k += 32; - } - while (!x[i]) - --i; - b->wds = i + 1; -#endif -#ifndef Sudden_Underflow - if (de) { -#endif -#ifdef IBM - *e = (de - Bias - (P-1) << 2) + k; - *bits = 4*P + 8 - k - hi0bits(word0(d) & Frac_mask); -#else - *e = de - Bias - (P-1) + k; - *bits = P - k; -#endif -#ifndef Sudden_Underflow - } - else { - *e = de - Bias - (P-1) + 1 + k; -#ifdef Pack_32 - *bits = 32*i - hi0bits(x[i-1]); -#else - *bits = (i+2)*16 - hi0bits(x[i]); -#endif - } -#endif - return b; -} -#undef d0 -#undef d1 - -static double -ratio(Bigint *a, Bigint *b) -{ - double_u da, db; - int k, ka, kb; - - dval(da) = b2d(a, &ka); - dval(db) = b2d(b, &kb); -#ifdef Pack_32 - k = ka - kb + 32*(a->wds - b->wds); -#else - k = ka - kb + 16*(a->wds - b->wds); -#endif -#ifdef IBM - if (k > 0) { - word0(da) += (k >> 2)*Exp_msk1; - if (k &= 3) - dval(da) *= 1 << k; - } - else { - k = -k; - word0(db) += (k >> 2)*Exp_msk1; - if (k &= 3) - dval(db) *= 1 << k; - } -#else - if (k > 0) - word0(da) += k*Exp_msk1; - else { - k = -k; - word0(db) += k*Exp_msk1; - } -#endif - return dval(da) / dval(db); -} - -static const double -tens[] = { - 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, - 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, - 1e20, 1e21, 1e22 -#ifdef VAX - , 1e23, 1e24 -#endif -}; - -static const double -#ifdef IEEE_Arith -bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 }; -static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, -#ifdef Avoid_Underflow - 9007199254740992.*9007199254740992.e-256 - /* = 2^106 * 1e-53 */ -#else - 1e-256 -#endif -}; -/* The factor of 2^53 in tinytens[4] helps us avoid setting the underflow */ -/* flag unnecessarily. It leads to a song and dance at the end of strtod. */ -#define Scale_Bit 0x10 -#define n_bigtens 5 -#else -#ifdef IBM -bigtens[] = { 1e16, 1e32, 1e64 }; -static const double tinytens[] = { 1e-16, 1e-32, 1e-64 }; -#define n_bigtens 3 -#else -bigtens[] = { 1e16, 1e32 }; -static const double tinytens[] = { 1e-16, 1e-32 }; -#define n_bigtens 2 -#endif -#endif - -#ifndef IEEE_Arith -#undef INFNAN_CHECK -#endif - -#ifdef INFNAN_CHECK - -#ifndef NAN_WORD0 -#define NAN_WORD0 0x7ff80000 -#endif - -#ifndef NAN_WORD1 -#define NAN_WORD1 0 -#endif - -static int -match(const char **sp, char *t) -{ - int c, d; - const char *s = *sp; - - while (d = *t++) { - if ((c = *++s) >= 'A' && c <= 'Z') - c += 'a' - 'A'; - if (c != d) - return 0; - } - *sp = s + 1; - return 1; -} - -#ifndef No_Hex_NaN -static void -hexnan(double *rvp, const char **sp) -{ - ULong c, x[2]; - const char *s; - int havedig, udx0, xshift; - - x[0] = x[1] = 0; - havedig = xshift = 0; - udx0 = 1; - s = *sp; - while (c = *(const unsigned char*)++s) { - if (c >= '0' && c <= '9') - c -= '0'; - else if (c >= 'a' && c <= 'f') - c += 10 - 'a'; - else if (c >= 'A' && c <= 'F') - c += 10 - 'A'; - else if (c <= ' ') { - if (udx0 && havedig) { - udx0 = 0; - xshift = 1; - } - continue; - } - else if (/*(*/ c == ')' && havedig) { - *sp = s + 1; - break; - } - else - return; /* invalid form: don't change *sp */ - havedig = 1; - if (xshift) { - xshift = 0; - x[0] = x[1]; - x[1] = 0; - } - if (udx0) - x[0] = (x[0] << 4) | (x[1] >> 28); - x[1] = (x[1] << 4) | c; - } - if ((x[0] &= 0xfffff) || x[1]) { - word0(*rvp) = Exp_mask | x[0]; - word1(*rvp) = x[1]; - } -} -#endif /*No_Hex_NaN*/ -#endif /* INFNAN_CHECK */ - -NO_SANITIZE("unsigned-integer-overflow", double strtod(const char *s00, char **se)); -double -strtod(const char *s00, char **se) -{ -#ifdef Avoid_Underflow - int scale; -#endif - int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, - e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign; - const char *s, *s0, *s1; - double aadj, adj; - double_u aadj1, rv, rv0; - Long L; - ULong y, z; - Bigint *bb, *bb1, *bd, *bd0, *bs, *delta; -#ifdef SET_INEXACT - int inexact, oldinexact; -#endif -#ifdef Honor_FLT_ROUNDS - int rounding; -#endif -#ifdef USE_LOCALE - const char *s2; -#endif - - errno = 0; - sign = nz0 = nz = 0; - dval(rv) = 0.; - for (s = s00;;s++) - switch (*s) { - case '-': - sign = 1; - /* no break */ - case '+': - if (*++s) - goto break2; - /* no break */ - case 0: - goto ret0; - case '\t': - case '\n': - case '\v': - case '\f': - case '\r': - case ' ': - continue; - default: - goto break2; - } -break2: - if (*s == '0') { - if (s[1] == 'x' || s[1] == 'X') { - s0 = ++s; - adj = 0; - aadj = 1.0; - nd0 = -4; - - if (!*++s || !(s1 = strchr(hexdigit, *s))) goto ret0; - if (*s == '0') { - while (*++s == '0'); - s1 = strchr(hexdigit, *s); - } - if (s1 != NULL) { - do { - adj += aadj * ((s1 - hexdigit) & 15); - nd0 += 4; - aadj /= 16; - } while (*++s && (s1 = strchr(hexdigit, *s))); - } - - if (*s == '.') { - dsign = 1; - if (!*++s || !(s1 = strchr(hexdigit, *s))) goto ret0; - if (nd0 < 0) { - while (*s == '0') { - s++; - nd0 -= 4; - } - } - for (; *s && (s1 = strchr(hexdigit, *s)); ++s) { - adj += aadj * ((s1 - hexdigit) & 15); - if ((aadj /= 16) == 0.0) { - while (strchr(hexdigit, *++s)); - break; - } - } - } - else { - dsign = 0; - } - - if (*s == 'P' || *s == 'p') { - dsign = 0x2C - *++s; /* +: 2B, -: 2D */ - if (abs(dsign) == 1) s++; - else dsign = 1; - - nd = 0; - c = *s; - if (c < '0' || '9' < c) goto ret0; - do { - nd *= 10; - nd += c; - nd -= '0'; - c = *++s; - /* Float("0x0."+("0"*267)+"1fp2095") */ - if (nd + dsign * nd0 > 2095) { - while ('0' <= c && c <= '9') c = *++s; - break; - } - } while ('0' <= c && c <= '9'); - nd0 += nd * dsign; - } - else { - if (dsign) goto ret0; - } - dval(rv) = ldexp(adj, nd0); - goto ret; - } - nz0 = 1; - while (*++s == '0') ; - if (!*s) - goto ret; - } - s0 = s; - y = z = 0; - for (nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++) - if (nd < 9) - y = 10*y + c - '0'; - else if (nd < DBL_DIG + 2) - z = 10*z + c - '0'; - nd0 = nd; -#ifdef USE_LOCALE - s1 = localeconv()->decimal_point; - if (c == *s1) { - c = '.'; - if (*++s1) { - s2 = s; - for (;;) { - if (*++s2 != *s1) { - c = 0; - break; - } - if (!*++s1) { - s = s2; - break; - } - } - } - } -#endif - if (c == '.') { - if (!ISDIGIT(s[1])) - goto dig_done; - c = *++s; - if (!nd) { - for (; c == '0'; c = *++s) - nz++; - if (c > '0' && c <= '9') { - s0 = s; - nf += nz; - nz = 0; - goto have_dig; - } - goto dig_done; - } - for (; c >= '0' && c <= '9'; c = *++s) { -have_dig: - nz++; - if (nd > DBL_DIG * 4) { - continue; - } - if (c -= '0') { - nf += nz; - for (i = 1; i < nz; i++) - if (nd++ < 9) - y *= 10; - else if (nd <= DBL_DIG + 2) - z *= 10; - if (nd++ < 9) - y = 10*y + c; - else if (nd <= DBL_DIG + 2) - z = 10*z + c; - nz = 0; - } - } - } -dig_done: - e = 0; - if (c == 'e' || c == 'E') { - if (!nd && !nz && !nz0) { - goto ret0; - } - s00 = s; - esign = 0; - switch (c = *++s) { - case '-': - esign = 1; - case '+': - c = *++s; - } - if (c >= '0' && c <= '9') { - while (c == '0') - c = *++s; - if (c > '0' && c <= '9') { - L = c - '0'; - s1 = s; - while ((c = *++s) >= '0' && c <= '9') - L = 10*L + c - '0'; - if (s - s1 > 8 || L > 19999) - /* Avoid confusion from exponents - * so large that e might overflow. - */ - e = 19999; /* safe for 16 bit ints */ - else - e = (int)L; - if (esign) - e = -e; - } - else - e = 0; - } - else - s = s00; - } - if (!nd) { - if (!nz && !nz0) { -#ifdef INFNAN_CHECK - /* Check for Nan and Infinity */ - switch (c) { - case 'i': - case 'I': - if (match(&s,"nf")) { - --s; - if (!match(&s,"inity")) - ++s; - word0(rv) = 0x7ff00000; - word1(rv) = 0; - goto ret; - } - break; - case 'n': - case 'N': - if (match(&s, "an")) { - word0(rv) = NAN_WORD0; - word1(rv) = NAN_WORD1; -#ifndef No_Hex_NaN - if (*s == '(') /*)*/ - hexnan(&rv, &s); -#endif - goto ret; - } - } -#endif /* INFNAN_CHECK */ -ret0: - s = s00; - sign = 0; - } - goto ret; - } - e1 = e -= nf; - - /* Now we have nd0 digits, starting at s0, followed by a - * decimal point, followed by nd-nd0 digits. The number we're - * after is the integer represented by those digits times - * 10**e */ - - if (!nd0) - nd0 = nd; - k = nd < DBL_DIG + 2 ? nd : DBL_DIG + 2; - dval(rv) = y; - if (k > 9) { -#ifdef SET_INEXACT - if (k > DBL_DIG) - oldinexact = get_inexact(); -#endif - dval(rv) = tens[k - 9] * dval(rv) + z; - } - bd0 = bb = bd = bs = delta = 0; - if (nd <= DBL_DIG -#ifndef RND_PRODQUOT -#ifndef Honor_FLT_ROUNDS - && Flt_Rounds == 1 -#endif -#endif - ) { - if (!e) - goto ret; - if (e > 0) { - if (e <= Ten_pmax) { -#ifdef VAX - goto vax_ovfl_check; -#else -#ifdef Honor_FLT_ROUNDS - /* round correctly FLT_ROUNDS = 2 or 3 */ - if (sign) { - dval(rv) = -dval(rv); - sign = 0; - } -#endif - /* rv = */ rounded_product(dval(rv), tens[e]); - goto ret; -#endif - } - i = DBL_DIG - nd; - if (e <= Ten_pmax + i) { - /* A fancier test would sometimes let us do - * this for larger i values. - */ -#ifdef Honor_FLT_ROUNDS - /* round correctly FLT_ROUNDS = 2 or 3 */ - if (sign) { - dval(rv) = -dval(rv); - sign = 0; - } -#endif - e -= i; - dval(rv) *= tens[i]; -#ifdef VAX - /* VAX exponent range is so narrow we must - * worry about overflow here... - */ -vax_ovfl_check: - word0(rv) -= P*Exp_msk1; - /* rv = */ rounded_product(dval(rv), tens[e]); - if ((word0(rv) & Exp_mask) - > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) - goto ovfl; - word0(rv) += P*Exp_msk1; -#else - /* rv = */ rounded_product(dval(rv), tens[e]); -#endif - goto ret; - } - } -#ifndef Inaccurate_Divide - else if (e >= -Ten_pmax) { -#ifdef Honor_FLT_ROUNDS - /* round correctly FLT_ROUNDS = 2 or 3 */ - if (sign) { - dval(rv) = -dval(rv); - sign = 0; - } -#endif - /* rv = */ rounded_quotient(dval(rv), tens[-e]); - goto ret; - } -#endif - } - e1 += nd - k; - -#ifdef IEEE_Arith -#ifdef SET_INEXACT - inexact = 1; - if (k <= DBL_DIG) - oldinexact = get_inexact(); -#endif -#ifdef Avoid_Underflow - scale = 0; -#endif -#ifdef Honor_FLT_ROUNDS - if ((rounding = Flt_Rounds) >= 2) { - if (sign) - rounding = rounding == 2 ? 0 : 2; - else - if (rounding != 2) - rounding = 0; - } -#endif -#endif /*IEEE_Arith*/ - - /* Get starting approximation = rv * 10**e1 */ - - if (e1 > 0) { - if ((i = e1 & 15) != 0) - dval(rv) *= tens[i]; - if (e1 &= ~15) { - if (e1 > DBL_MAX_10_EXP) { -ovfl: -#ifndef NO_ERRNO - errno = ERANGE; -#endif - /* Can't trust HUGE_VAL */ -#ifdef IEEE_Arith -#ifdef Honor_FLT_ROUNDS - switch (rounding) { - case 0: /* toward 0 */ - case 3: /* toward -infinity */ - word0(rv) = Big0; - word1(rv) = Big1; - break; - default: - word0(rv) = Exp_mask; - word1(rv) = 0; - } -#else /*Honor_FLT_ROUNDS*/ - word0(rv) = Exp_mask; - word1(rv) = 0; -#endif /*Honor_FLT_ROUNDS*/ -#ifdef SET_INEXACT - /* set overflow bit */ - dval(rv0) = 1e300; - dval(rv0) *= dval(rv0); -#endif -#else /*IEEE_Arith*/ - word0(rv) = Big0; - word1(rv) = Big1; -#endif /*IEEE_Arith*/ - if (bd0) - goto retfree; - goto ret; - } - e1 >>= 4; - for (j = 0; e1 > 1; j++, e1 >>= 1) - if (e1 & 1) - dval(rv) *= bigtens[j]; - /* The last multiplication could overflow. */ - word0(rv) -= P*Exp_msk1; - dval(rv) *= bigtens[j]; - if ((z = word0(rv) & Exp_mask) - > Exp_msk1*(DBL_MAX_EXP+Bias-P)) - goto ovfl; - if (z > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) { - /* set to largest number */ - /* (Can't trust DBL_MAX) */ - word0(rv) = Big0; - word1(rv) = Big1; - } - else - word0(rv) += P*Exp_msk1; - } - } - else if (e1 < 0) { - e1 = -e1; - if ((i = e1 & 15) != 0) - dval(rv) /= tens[i]; - if (e1 >>= 4) { - if (e1 >= 1 << n_bigtens) - goto undfl; -#ifdef Avoid_Underflow - if (e1 & Scale_Bit) - scale = 2*P; - for (j = 0; e1 > 0; j++, e1 >>= 1) - if (e1 & 1) - dval(rv) *= tinytens[j]; - if (scale && (j = 2*P + 1 - ((word0(rv) & Exp_mask) - >> Exp_shift)) > 0) { - /* scaled rv is denormal; zap j low bits */ - if (j >= 32) { - word1(rv) = 0; - if (j >= 53) - word0(rv) = (P+2)*Exp_msk1; - else - word0(rv) &= 0xffffffff << (j-32); - } - else - word1(rv) &= 0xffffffff << j; - } -#else - for (j = 0; e1 > 1; j++, e1 >>= 1) - if (e1 & 1) - dval(rv) *= tinytens[j]; - /* The last multiplication could underflow. */ - dval(rv0) = dval(rv); - dval(rv) *= tinytens[j]; - if (!dval(rv)) { - dval(rv) = 2.*dval(rv0); - dval(rv) *= tinytens[j]; -#endif - if (!dval(rv)) { -undfl: - dval(rv) = 0.; -#ifndef NO_ERRNO - errno = ERANGE; -#endif - if (bd0) - goto retfree; - goto ret; - } -#ifndef Avoid_Underflow - word0(rv) = Tiny0; - word1(rv) = Tiny1; - /* The refinement below will clean - * this approximation up. - */ - } -#endif - } - } - - /* Now the hard part -- adjusting rv to the correct value.*/ - - /* Put digits into bd: true value = bd * 10^e */ - - bd0 = s2b(s0, nd0, nd, y); - - for (;;) { - bd = Balloc(bd0->k); - Bcopy(bd, bd0); - bb = d2b(dval(rv), &bbe, &bbbits); /* rv = bb * 2^bbe */ - bs = i2b(1); - - if (e >= 0) { - bb2 = bb5 = 0; - bd2 = bd5 = e; - } - else { - bb2 = bb5 = -e; - bd2 = bd5 = 0; - } - if (bbe >= 0) - bb2 += bbe; - else - bd2 -= bbe; - bs2 = bb2; -#ifdef Honor_FLT_ROUNDS - if (rounding != 1) - bs2++; -#endif -#ifdef Avoid_Underflow - j = bbe - scale; - i = j + bbbits - 1; /* logb(rv) */ - if (i < Emin) /* denormal */ - j += P - Emin; - else - j = P + 1 - bbbits; -#else /*Avoid_Underflow*/ -#ifdef Sudden_Underflow -#ifdef IBM - j = 1 + 4*P - 3 - bbbits + ((bbe + bbbits - 1) & 3); -#else - j = P + 1 - bbbits; -#endif -#else /*Sudden_Underflow*/ - j = bbe; - i = j + bbbits - 1; /* logb(rv) */ - if (i < Emin) /* denormal */ - j += P - Emin; - else - j = P + 1 - bbbits; -#endif /*Sudden_Underflow*/ -#endif /*Avoid_Underflow*/ - bb2 += j; - bd2 += j; -#ifdef Avoid_Underflow - bd2 += scale; -#endif - i = bb2 < bd2 ? bb2 : bd2; - if (i > bs2) - i = bs2; - if (i > 0) { - bb2 -= i; - bd2 -= i; - bs2 -= i; - } - if (bb5 > 0) { - bs = pow5mult(bs, bb5); - bb1 = mult(bs, bb); - Bfree(bb); - bb = bb1; - } - if (bb2 > 0) - bb = lshift(bb, bb2); - if (bd5 > 0) - bd = pow5mult(bd, bd5); - if (bd2 > 0) - bd = lshift(bd, bd2); - if (bs2 > 0) - bs = lshift(bs, bs2); - delta = diff(bb, bd); - dsign = delta->sign; - delta->sign = 0; - i = cmp(delta, bs); -#ifdef Honor_FLT_ROUNDS - if (rounding != 1) { - if (i < 0) { - /* Error is less than an ulp */ - if (!delta->x[0] && delta->wds <= 1) { - /* exact */ -#ifdef SET_INEXACT - inexact = 0; -#endif - break; - } - if (rounding) { - if (dsign) { - adj = 1.; - goto apply_adj; - } - } - else if (!dsign) { - adj = -1.; - if (!word1(rv) - && !(word0(rv) & Frac_mask)) { - y = word0(rv) & Exp_mask; -#ifdef Avoid_Underflow - if (!scale || y > 2*P*Exp_msk1) -#else - if (y) -#endif - { - delta = lshift(delta,Log2P); - if (cmp(delta, bs) <= 0) - adj = -0.5; - } - } -apply_adj: -#ifdef Avoid_Underflow - if (scale && (y = word0(rv) & Exp_mask) - <= 2*P*Exp_msk1) - word0(adj) += (2*P+1)*Exp_msk1 - y; -#else -#ifdef Sudden_Underflow - if ((word0(rv) & Exp_mask) <= - P*Exp_msk1) { - word0(rv) += P*Exp_msk1; - dval(rv) += adj*ulp(dval(rv)); - word0(rv) -= P*Exp_msk1; - } - else -#endif /*Sudden_Underflow*/ -#endif /*Avoid_Underflow*/ - dval(rv) += adj*ulp(dval(rv)); - } - break; - } - adj = ratio(delta, bs); - if (adj < 1.) - adj = 1.; - if (adj <= 0x7ffffffe) { - /* adj = rounding ? ceil(adj) : floor(adj); */ - y = adj; - if (y != adj) { - if (!((rounding>>1) ^ dsign)) - y++; - adj = y; - } - } -#ifdef Avoid_Underflow - if (scale && (y = word0(rv) & Exp_mask) <= 2*P*Exp_msk1) - word0(adj) += (2*P+1)*Exp_msk1 - y; -#else -#ifdef Sudden_Underflow - if ((word0(rv) & Exp_mask) <= P*Exp_msk1) { - word0(rv) += P*Exp_msk1; - adj *= ulp(dval(rv)); - if (dsign) - dval(rv) += adj; - else - dval(rv) -= adj; - word0(rv) -= P*Exp_msk1; - goto cont; - } -#endif /*Sudden_Underflow*/ -#endif /*Avoid_Underflow*/ - adj *= ulp(dval(rv)); - if (dsign) - dval(rv) += adj; - else - dval(rv) -= adj; - goto cont; - } -#endif /*Honor_FLT_ROUNDS*/ - - if (i < 0) { - /* Error is less than half an ulp -- check for - * special case of mantissa a power of two. - */ - if (dsign || word1(rv) || word0(rv) & Bndry_mask -#ifdef IEEE_Arith -#ifdef Avoid_Underflow - || (word0(rv) & Exp_mask) <= (2*P+1)*Exp_msk1 -#else - || (word0(rv) & Exp_mask) <= Exp_msk1 -#endif -#endif - ) { -#ifdef SET_INEXACT - if (!delta->x[0] && delta->wds <= 1) - inexact = 0; -#endif - break; - } - if (!delta->x[0] && delta->wds <= 1) { - /* exact result */ -#ifdef SET_INEXACT - inexact = 0; -#endif - break; - } - delta = lshift(delta,Log2P); - if (cmp(delta, bs) > 0) - goto drop_down; - break; - } - if (i == 0) { - /* exactly half-way between */ - if (dsign) { - if ((word0(rv) & Bndry_mask1) == Bndry_mask1 - && word1(rv) == ( -#ifdef Avoid_Underflow - (scale && (y = word0(rv) & Exp_mask) <= 2*P*Exp_msk1) - ? (0xffffffff & (0xffffffff << (2*P+1-(y>>Exp_shift)))) : -#endif - 0xffffffff)) { - /*boundary case -- increment exponent*/ - word0(rv) = (word0(rv) & Exp_mask) - + Exp_msk1 -#ifdef IBM - | Exp_msk1 >> 4 -#endif - ; - word1(rv) = 0; -#ifdef Avoid_Underflow - dsign = 0; -#endif - break; - } - } - else if (!(word0(rv) & Bndry_mask) && !word1(rv)) { -drop_down: - /* boundary case -- decrement exponent */ -#ifdef Sudden_Underflow /*{{*/ - L = word0(rv) & Exp_mask; -#ifdef IBM - if (L < Exp_msk1) -#else -#ifdef Avoid_Underflow - if (L <= (scale ? (2*P+1)*Exp_msk1 : Exp_msk1)) -#else - if (L <= Exp_msk1) -#endif /*Avoid_Underflow*/ -#endif /*IBM*/ - goto undfl; - L -= Exp_msk1; -#else /*Sudden_Underflow}{*/ -#ifdef Avoid_Underflow - if (scale) { - L = word0(rv) & Exp_mask; - if (L <= (2*P+1)*Exp_msk1) { - if (L > (P+2)*Exp_msk1) - /* round even ==> */ - /* accept rv */ - break; - /* rv = smallest denormal */ - goto undfl; - } - } -#endif /*Avoid_Underflow*/ - L = (word0(rv) & Exp_mask) - Exp_msk1; -#endif /*Sudden_Underflow}}*/ - word0(rv) = L | Bndry_mask1; - word1(rv) = 0xffffffff; -#ifdef IBM - goto cont; -#else - break; -#endif - } -#ifndef ROUND_BIASED - if (!(word1(rv) & LSB)) - break; -#endif - if (dsign) - dval(rv) += ulp(dval(rv)); -#ifndef ROUND_BIASED - else { - dval(rv) -= ulp(dval(rv)); -#ifndef Sudden_Underflow - if (!dval(rv)) - goto undfl; -#endif - } -#ifdef Avoid_Underflow - dsign = 1 - dsign; -#endif -#endif - break; - } - if ((aadj = ratio(delta, bs)) <= 2.) { - if (dsign) - aadj = dval(aadj1) = 1.; - else if (word1(rv) || word0(rv) & Bndry_mask) { -#ifndef Sudden_Underflow - if (word1(rv) == Tiny1 && !word0(rv)) - goto undfl; -#endif - aadj = 1.; - dval(aadj1) = -1.; - } - else { - /* special case -- power of FLT_RADIX to be */ - /* rounded down... */ - - if (aadj < 2./FLT_RADIX) - aadj = 1./FLT_RADIX; - else - aadj *= 0.5; - dval(aadj1) = -aadj; - } - } - else { - aadj *= 0.5; - dval(aadj1) = dsign ? aadj : -aadj; -#ifdef Check_FLT_ROUNDS - switch (Rounding) { - case 2: /* towards +infinity */ - dval(aadj1) -= 0.5; - break; - case 0: /* towards 0 */ - case 3: /* towards -infinity */ - dval(aadj1) += 0.5; - } -#else - if (Flt_Rounds == 0) - dval(aadj1) += 0.5; -#endif /*Check_FLT_ROUNDS*/ - } - y = word0(rv) & Exp_mask; - - /* Check for overflow */ - - if (y == Exp_msk1*(DBL_MAX_EXP+Bias-1)) { - dval(rv0) = dval(rv); - word0(rv) -= P*Exp_msk1; - adj = dval(aadj1) * ulp(dval(rv)); - dval(rv) += adj; - if ((word0(rv) & Exp_mask) >= - Exp_msk1*(DBL_MAX_EXP+Bias-P)) { - if (word0(rv0) == Big0 && word1(rv0) == Big1) - goto ovfl; - word0(rv) = Big0; - word1(rv) = Big1; - goto cont; - } - else - word0(rv) += P*Exp_msk1; - } - else { -#ifdef Avoid_Underflow - if (scale && y <= 2*P*Exp_msk1) { - if (aadj <= 0x7fffffff) { - if ((z = (int)aadj) <= 0) - z = 1; - aadj = z; - dval(aadj1) = dsign ? aadj : -aadj; - } - word0(aadj1) += (2*P+1)*Exp_msk1 - y; - } - adj = dval(aadj1) * ulp(dval(rv)); - dval(rv) += adj; -#else -#ifdef Sudden_Underflow - if ((word0(rv) & Exp_mask) <= P*Exp_msk1) { - dval(rv0) = dval(rv); - word0(rv) += P*Exp_msk1; - adj = dval(aadj1) * ulp(dval(rv)); - dval(rv) += adj; -#ifdef IBM - if ((word0(rv) & Exp_mask) < P*Exp_msk1) -#else - if ((word0(rv) & Exp_mask) <= P*Exp_msk1) -#endif - { - if (word0(rv0) == Tiny0 && word1(rv0) == Tiny1) - goto undfl; - word0(rv) = Tiny0; - word1(rv) = Tiny1; - goto cont; - } - else - word0(rv) -= P*Exp_msk1; - } - else { - adj = dval(aadj1) * ulp(dval(rv)); - dval(rv) += adj; - } -#else /*Sudden_Underflow*/ - /* Compute adj so that the IEEE rounding rules will - * correctly round rv + adj in some half-way cases. - * If rv * ulp(rv) is denormalized (i.e., - * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid - * trouble from bits lost to denormalization; - * example: 1.2e-307 . - */ - if (y <= (P-1)*Exp_msk1 && aadj > 1.) { - dval(aadj1) = (double)(int)(aadj + 0.5); - if (!dsign) - dval(aadj1) = -dval(aadj1); - } - adj = dval(aadj1) * ulp(dval(rv)); - dval(rv) += adj; -#endif /*Sudden_Underflow*/ -#endif /*Avoid_Underflow*/ - } - z = word0(rv) & Exp_mask; -#ifndef SET_INEXACT -#ifdef Avoid_Underflow - if (!scale) -#endif - if (y == z) { - /* Can we stop now? */ - L = (Long)aadj; - aadj -= L; - /* The tolerances below are conservative. */ - if (dsign || word1(rv) || word0(rv) & Bndry_mask) { - if (aadj < .4999999 || aadj > .5000001) - break; - } - else if (aadj < .4999999/FLT_RADIX) - break; - } -#endif -cont: - Bfree(bb); - Bfree(bd); - Bfree(bs); - Bfree(delta); - } -#ifdef SET_INEXACT - if (inexact) { - if (!oldinexact) { - word0(rv0) = Exp_1 + (70 << Exp_shift); - word1(rv0) = 0; - dval(rv0) += 1.; - } - } - else if (!oldinexact) - clear_inexact(); -#endif -#ifdef Avoid_Underflow - if (scale) { - word0(rv0) = Exp_1 - 2*P*Exp_msk1; - word1(rv0) = 0; - dval(rv) *= dval(rv0); -#ifndef NO_ERRNO - /* try to avoid the bug of testing an 8087 register value */ - if (word0(rv) == 0 && word1(rv) == 0) - errno = ERANGE; -#endif - } -#endif /* Avoid_Underflow */ -#ifdef SET_INEXACT - if (inexact && !(word0(rv) & Exp_mask)) { - /* set underflow bit */ - dval(rv0) = 1e-300; - dval(rv0) *= dval(rv0); - } -#endif -retfree: - Bfree(bb); - Bfree(bd); - Bfree(bs); - Bfree(bd0); - Bfree(delta); -ret: - if (se) - *se = (char *)s; - return sign ? -dval(rv) : dval(rv); -} - -NO_SANITIZE("unsigned-integer-overflow", static int quorem(Bigint *b, Bigint *S)); -static int -quorem(Bigint *b, Bigint *S) -{ - int n; - ULong *bx, *bxe, q, *sx, *sxe; -#ifdef ULLong - ULLong borrow, carry, y, ys; -#else - ULong borrow, carry, y, ys; -#ifdef Pack_32 - ULong si, z, zs; -#endif -#endif - - n = S->wds; -#ifdef DEBUG - /*debug*/ if (b->wds > n) - /*debug*/ Bug("oversize b in quorem"); -#endif - if (b->wds < n) - return 0; - sx = S->x; - sxe = sx + --n; - bx = b->x; - bxe = bx + n; - q = *bxe / (*sxe + 1); /* ensure q <= true quotient */ -#ifdef DEBUG - /*debug*/ if (q > 9) - /*debug*/ Bug("oversized quotient in quorem"); -#endif - if (q) { - borrow = 0; - carry = 0; - do { -#ifdef ULLong - ys = *sx++ * (ULLong)q + carry; - carry = ys >> 32; - y = *bx - (ys & FFFFFFFF) - borrow; - borrow = y >> 32 & (ULong)1; - *bx++ = (ULong)(y & FFFFFFFF); -#else -#ifdef Pack_32 - si = *sx++; - ys = (si & 0xffff) * q + carry; - zs = (si >> 16) * q + (ys >> 16); - carry = zs >> 16; - y = (*bx & 0xffff) - (ys & 0xffff) - borrow; - borrow = (y & 0x10000) >> 16; - z = (*bx >> 16) - (zs & 0xffff) - borrow; - borrow = (z & 0x10000) >> 16; - Storeinc(bx, z, y); -#else - ys = *sx++ * q + carry; - carry = ys >> 16; - y = *bx - (ys & 0xffff) - borrow; - borrow = (y & 0x10000) >> 16; - *bx++ = y & 0xffff; -#endif -#endif - } while (sx <= sxe); - if (!*bxe) { - bx = b->x; - while (--bxe > bx && !*bxe) - --n; - b->wds = n; - } - } - if (cmp(b, S) >= 0) { - q++; - borrow = 0; - carry = 0; - bx = b->x; - sx = S->x; - do { -#ifdef ULLong - ys = *sx++ + carry; - carry = ys >> 32; - y = *bx - (ys & FFFFFFFF) - borrow; - borrow = y >> 32 & (ULong)1; - *bx++ = (ULong)(y & FFFFFFFF); -#else -#ifdef Pack_32 - si = *sx++; - ys = (si & 0xffff) + carry; - zs = (si >> 16) + (ys >> 16); - carry = zs >> 16; - y = (*bx & 0xffff) - (ys & 0xffff) - borrow; - borrow = (y & 0x10000) >> 16; - z = (*bx >> 16) - (zs & 0xffff) - borrow; - borrow = (z & 0x10000) >> 16; - Storeinc(bx, z, y); -#else - ys = *sx++ + carry; - carry = ys >> 16; - y = *bx - (ys & 0xffff) - borrow; - borrow = (y & 0x10000) >> 16; - *bx++ = y & 0xffff; -#endif -#endif - } while (sx <= sxe); - bx = b->x; - bxe = bx + n; - if (!*bxe) { - while (--bxe > bx && !*bxe) - --n; - b->wds = n; - } - } - return q; -} - -#ifndef MULTIPLE_THREADS -static char *dtoa_result; -#endif - -#ifndef MULTIPLE_THREADS -static char * -rv_alloc(int i) -{ - return dtoa_result = MALLOC(i); -} -#else -#define rv_alloc(i) MALLOC(i) -#endif - -static char * -nrv_alloc(const char *s, char **rve, size_t n) -{ - char *rv, *t; - - t = rv = rv_alloc(n); - while ((*t = *s++) != 0) t++; - if (rve) - *rve = t; - return rv; -} - -#define rv_strdup(s, rve) nrv_alloc((s), (rve), strlen(s)+1) - -#ifndef MULTIPLE_THREADS -/* freedtoa(s) must be used to free values s returned by dtoa - * when MULTIPLE_THREADS is #defined. It should be used in all cases, - * but for consistency with earlier versions of dtoa, it is optional - * when MULTIPLE_THREADS is not defined. - */ - -static void -freedtoa(char *s) -{ - FREE(s); -} -#endif - -static const char INFSTR[] = "Infinity"; -static const char NANSTR[] = "NaN"; -static const char ZEROSTR[] = "0"; - -/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. - * - * Inspired by "How to Print Floating-Point Numbers Accurately" by - * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. - * - * Modifications: - * 1. Rather than iterating, we use a simple numeric overestimate - * to determine k = floor(log10(d)). We scale relevant - * quantities using O(log2(k)) rather than O(k) multiplications. - * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't - * try to generate digits strictly left to right. Instead, we - * compute with fewer bits and propagate the carry if necessary - * when rounding the final digit up. This is often faster. - * 3. Under the assumption that input will be rounded nearest, - * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22. - * That is, we allow equality in stopping tests when the - * round-nearest rule will give the same floating-point value - * as would satisfaction of the stopping test with strict - * inequality. - * 4. We remove common factors of powers of 2 from relevant - * quantities. - * 5. When converting floating-point integers less than 1e16, - * we use floating-point arithmetic rather than resorting - * to multiple-precision integers. - * 6. When asked to produce fewer than 15 digits, we first try - * to get by with floating-point arithmetic; we resort to - * multiple-precision integer arithmetic only if we cannot - * guarantee that the floating-point calculation has given - * the correctly rounded result. For k requested digits and - * "uniformly" distributed input, the probability is - * something like 10^(k-15) that we must resort to the Long - * calculation. - */ - -char * -dtoa(double d_, int mode, int ndigits, int *decpt, int *sign, char **rve) -{ - /* Arguments ndigits, decpt, sign are similar to those - of ecvt and fcvt; trailing zeros are suppressed from - the returned string. If not null, *rve is set to point - to the end of the return value. If d is +-Infinity or NaN, - then *decpt is set to 9999. - - mode: - 0 ==> shortest string that yields d when read in - and rounded to nearest. - 1 ==> like 0, but with Steele & White stopping rule; - e.g. with IEEE P754 arithmetic , mode 0 gives - 1e23 whereas mode 1 gives 9.999999999999999e22. - 2 ==> max(1,ndigits) significant digits. This gives a - return value similar to that of ecvt, except - that trailing zeros are suppressed. - 3 ==> through ndigits past the decimal point. This - gives a return value similar to that from fcvt, - except that trailing zeros are suppressed, and - ndigits can be negative. - 4,5 ==> similar to 2 and 3, respectively, but (in - round-nearest mode) with the tests of mode 0 to - possibly return a shorter string that rounds to d. - With IEEE arithmetic and compilation with - -DHonor_FLT_ROUNDS, modes 4 and 5 behave the same - as modes 2 and 3 when FLT_ROUNDS != 1. - 6-9 ==> Debugging modes similar to mode - 4: don't try - fast floating-point estimate (if applicable). - - Values of mode other than 0-9 are treated as mode 0. - - Sufficient space is allocated to the return value - to hold the suppressed trailing zeros. - */ - - int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1, - j, j1, k, k0, k_check, leftright, m2, m5, s2, s5, - spec_case, try_quick, half = 0; - Long L; -#ifndef Sudden_Underflow - int denorm; - ULong x; -#endif - Bigint *b, *b1, *delta, *mlo = 0, *mhi = 0, *S; - double ds; - double_u d, d2, eps; - char *s, *s0; -#ifdef Honor_FLT_ROUNDS - int rounding; -#endif -#ifdef SET_INEXACT - int inexact, oldinexact; -#endif - - dval(d) = d_; - -#ifndef MULTIPLE_THREADS - if (dtoa_result) { - freedtoa(dtoa_result); - dtoa_result = 0; - } -#endif - - if (word0(d) & Sign_bit) { - /* set sign for everything, including 0's and NaNs */ - *sign = 1; - word0(d) &= ~Sign_bit; /* clear sign bit */ - } - else - *sign = 0; - -#if defined(IEEE_Arith) + defined(VAX) -#ifdef IEEE_Arith - if ((word0(d) & Exp_mask) == Exp_mask) -#else - if (word0(d) == 0x8000) -#endif - { - /* Infinity or NaN */ - *decpt = 9999; -#ifdef IEEE_Arith - if (!word1(d) && !(word0(d) & 0xfffff)) - return rv_strdup(INFSTR, rve); -#endif - return rv_strdup(NANSTR, rve); - } -#endif -#ifdef IBM - dval(d) += 0; /* normalize */ -#endif - if (!dval(d)) { - *decpt = 1; - return rv_strdup(ZEROSTR, rve); - } - -#ifdef SET_INEXACT - try_quick = oldinexact = get_inexact(); - inexact = 1; -#endif -#ifdef Honor_FLT_ROUNDS - if ((rounding = Flt_Rounds) >= 2) { - if (*sign) - rounding = rounding == 2 ? 0 : 2; - else - if (rounding != 2) - rounding = 0; - } -#endif - - b = d2b(dval(d), &be, &bbits); -#ifdef Sudden_Underflow - i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1)); -#else - if ((i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1))) != 0) { -#endif - dval(d2) = dval(d); - word0(d2) &= Frac_mask1; - word0(d2) |= Exp_11; -#ifdef IBM - if (j = 11 - hi0bits(word0(d2) & Frac_mask)) - dval(d2) /= 1 << j; -#endif - - /* log(x) ~=~ log(1.5) + (x-1.5)/1.5 - * log10(x) = log(x) / log(10) - * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10)) - * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2) - * - * This suggests computing an approximation k to log10(d) by - * - * k = (i - Bias)*0.301029995663981 - * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 ); - * - * We want k to be too large rather than too small. - * The error in the first-order Taylor series approximation - * is in our favor, so we just round up the constant enough - * to compensate for any error in the multiplication of - * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077, - * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14, - * adding 1e-13 to the constant term more than suffices. - * Hence we adjust the constant term to 0.1760912590558. - * (We could get a more accurate k by invoking log10, - * but this is probably not worthwhile.) - */ - - i -= Bias; -#ifdef IBM - i <<= 2; - i += j; -#endif -#ifndef Sudden_Underflow - denorm = 0; - } - else { - /* d is denormalized */ - - i = bbits + be + (Bias + (P-1) - 1); - x = i > 32 ? word0(d) << (64 - i) | word1(d) >> (i - 32) - : word1(d) << (32 - i); - dval(d2) = x; - word0(d2) -= 31*Exp_msk1; /* adjust exponent */ - i -= (Bias + (P-1) - 1) + 1; - denorm = 1; - } -#endif - ds = (dval(d2)-1.5)*0.289529654602168 + 0.1760912590558 + i*0.301029995663981; - k = (int)ds; - if (ds < 0. && ds != k) - k--; /* want k = floor(ds) */ - k_check = 1; - if (k >= 0 && k <= Ten_pmax) { - if (dval(d) < tens[k]) - k--; - k_check = 0; - } - j = bbits - i - 1; - if (j >= 0) { - b2 = 0; - s2 = j; - } - else { - b2 = -j; - s2 = 0; - } - if (k >= 0) { - b5 = 0; - s5 = k; - s2 += k; - } - else { - b2 -= k; - b5 = -k; - s5 = 0; - } - if (mode < 0 || mode > 9) - mode = 0; - -#ifndef SET_INEXACT -#ifdef Check_FLT_ROUNDS - try_quick = Rounding == 1; -#else - try_quick = 1; -#endif -#endif /*SET_INEXACT*/ - - if (mode > 5) { - mode -= 4; - try_quick = 0; - } - leftright = 1; - ilim = ilim1 = -1; - switch (mode) { - case 0: - case 1: - i = 18; - ndigits = 0; - break; - case 2: - leftright = 0; - /* no break */ - case 4: - if (ndigits <= 0) - ndigits = 1; - ilim = ilim1 = i = ndigits; - break; - case 3: - leftright = 0; - /* no break */ - case 5: - i = ndigits + k + 1; - ilim = i; - ilim1 = i - 1; - if (i <= 0) - i = 1; - } - s = s0 = rv_alloc(i+1); - -#ifdef Honor_FLT_ROUNDS - if (mode > 1 && rounding != 1) - leftright = 0; -#endif - - if (ilim >= 0 && ilim <= Quick_max && try_quick) { - - /* Try to get by with floating-point arithmetic. */ - - i = 0; - dval(d2) = dval(d); - k0 = k; - ilim0 = ilim; - ieps = 2; /* conservative */ - if (k > 0) { - ds = tens[k&0xf]; - j = k >> 4; - if (j & Bletch) { - /* prevent overflows */ - j &= Bletch - 1; - dval(d) /= bigtens[n_bigtens-1]; - ieps++; - } - for (; j; j >>= 1, i++) - if (j & 1) { - ieps++; - ds *= bigtens[i]; - } - dval(d) /= ds; - } - else if ((j1 = -k) != 0) { - dval(d) *= tens[j1 & 0xf]; - for (j = j1 >> 4; j; j >>= 1, i++) - if (j & 1) { - ieps++; - dval(d) *= bigtens[i]; - } - } - if (k_check && dval(d) < 1. && ilim > 0) { - if (ilim1 <= 0) - goto fast_failed; - ilim = ilim1; - k--; - dval(d) *= 10.; - ieps++; - } - dval(eps) = ieps*dval(d) + 7.; - word0(eps) -= (P-1)*Exp_msk1; - if (ilim == 0) { - S = mhi = 0; - dval(d) -= 5.; - if (dval(d) > dval(eps)) - goto one_digit; - if (dval(d) < -dval(eps)) - goto no_digits; - goto fast_failed; - } -#ifndef No_leftright - if (leftright) { - /* Use Steele & White method of only - * generating digits needed. - */ - dval(eps) = 0.5/tens[ilim-1] - dval(eps); - for (i = 0;;) { - L = (int)dval(d); - dval(d) -= L; - *s++ = '0' + (int)L; - if (dval(d) < dval(eps)) - goto ret1; - if (1. - dval(d) < dval(eps)) - goto bump_up; - if (++i >= ilim) - break; - dval(eps) *= 10.; - dval(d) *= 10.; - } - } - else { -#endif - /* Generate ilim digits, then fix them up. */ - dval(eps) *= tens[ilim-1]; - for (i = 1;; i++, dval(d) *= 10.) { - L = (Long)(dval(d)); - if (!(dval(d) -= L)) - ilim = i; - *s++ = '0' + (int)L; - if (i == ilim) { - if (dval(d) > 0.5 + dval(eps)) - goto bump_up; - else if (dval(d) < 0.5 - dval(eps)) { - while (*--s == '0') ; - s++; - goto ret1; - } - half = 1; - if ((*(s-1) - '0') & 1) { - goto bump_up; - } - break; - } - } -#ifndef No_leftright - } -#endif -fast_failed: - s = s0; - dval(d) = dval(d2); - k = k0; - ilim = ilim0; - } - - /* Do we have a "small" integer? */ - - if (be >= 0 && k <= Int_max) { - /* Yes. */ - ds = tens[k]; - if (ndigits < 0 && ilim <= 0) { - S = mhi = 0; - if (ilim < 0 || dval(d) <= 5*ds) - goto no_digits; - goto one_digit; - } - for (i = 1;; i++, dval(d) *= 10.) { - L = (Long)(dval(d) / ds); - dval(d) -= L*ds; -#ifdef Check_FLT_ROUNDS - /* If FLT_ROUNDS == 2, L will usually be high by 1 */ - if (dval(d) < 0) { - L--; - dval(d) += ds; - } -#endif - *s++ = '0' + (int)L; - if (!dval(d)) { -#ifdef SET_INEXACT - inexact = 0; -#endif - break; - } - if (i == ilim) { -#ifdef Honor_FLT_ROUNDS - if (mode > 1) - switch (rounding) { - case 0: goto ret1; - case 2: goto bump_up; - } -#endif - dval(d) += dval(d); - if (dval(d) > ds || (dval(d) == ds && (L & 1))) { -bump_up: - while (*--s == '9') - if (s == s0) { - k++; - *s = '0'; - break; - } - ++*s++; - } - break; - } - } - goto ret1; - } - - m2 = b2; - m5 = b5; - if (leftright) { - i = -#ifndef Sudden_Underflow - denorm ? be + (Bias + (P-1) - 1 + 1) : -#endif -#ifdef IBM - 1 + 4*P - 3 - bbits + ((bbits + be - 1) & 3); -#else - 1 + P - bbits; -#endif - b2 += i; - s2 += i; - mhi = i2b(1); - } - if (m2 > 0 && s2 > 0) { - i = m2 < s2 ? m2 : s2; - b2 -= i; - m2 -= i; - s2 -= i; - } - if (b5 > 0) { - if (leftright) { - if (m5 > 0) { - mhi = pow5mult(mhi, m5); - b1 = mult(mhi, b); - Bfree(b); - b = b1; - } - if ((j = b5 - m5) != 0) - b = pow5mult(b, j); - } - else - b = pow5mult(b, b5); - } - S = i2b(1); - if (s5 > 0) - S = pow5mult(S, s5); - - /* Check for special case that d is a normalized power of 2. */ - - spec_case = 0; - if ((mode < 2 || leftright) -#ifdef Honor_FLT_ROUNDS - && rounding == 1 -#endif - ) { - if (!word1(d) && !(word0(d) & Bndry_mask) -#ifndef Sudden_Underflow - && word0(d) & (Exp_mask & ~Exp_msk1) -#endif - ) { - /* The special case */ - b2 += Log2P; - s2 += Log2P; - spec_case = 1; - } - } - - /* Arrange for convenient computation of quotients: - * shift left if necessary so divisor has 4 leading 0 bits. - * - * Perhaps we should just compute leading 28 bits of S once - * and for all and pass them and a shift to quorem, so it - * can do shifts and ors to compute the numerator for q. - */ -#ifdef Pack_32 - if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f) != 0) - i = 32 - i; -#else - if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0xf) != 0) - i = 16 - i; -#endif - if (i > 4) { - i -= 4; - b2 += i; - m2 += i; - s2 += i; - } - else if (i < 4) { - i += 28; - b2 += i; - m2 += i; - s2 += i; - } - if (b2 > 0) - b = lshift(b, b2); - if (s2 > 0) - S = lshift(S, s2); - if (k_check) { - if (cmp(b,S) < 0) { - k--; - b = multadd(b, 10, 0); /* we botched the k estimate */ - if (leftright) - mhi = multadd(mhi, 10, 0); - ilim = ilim1; - } - } - if (ilim <= 0 && (mode == 3 || mode == 5)) { - if (ilim < 0 || cmp(b,S = multadd(S,5,0)) <= 0) { - /* no digits, fcvt style */ -no_digits: - k = -1 - ndigits; - goto ret; - } -one_digit: - *s++ = '1'; - k++; - goto ret; - } - if (leftright) { - if (m2 > 0) - mhi = lshift(mhi, m2); - - /* Compute mlo -- check for special case - * that d is a normalized power of 2. - */ - - mlo = mhi; - if (spec_case) { - mhi = Balloc(mhi->k); - Bcopy(mhi, mlo); - mhi = lshift(mhi, Log2P); - } - - for (i = 1;;i++) { - dig = quorem(b,S) + '0'; - /* Do we yet have the shortest decimal string - * that will round to d? - */ - j = cmp(b, mlo); - delta = diff(S, mhi); - j1 = delta->sign ? 1 : cmp(b, delta); - Bfree(delta); -#ifndef ROUND_BIASED - if (j1 == 0 && mode != 1 && !(word1(d) & 1) -#ifdef Honor_FLT_ROUNDS - && rounding >= 1 -#endif - ) { - if (dig == '9') - goto round_9_up; - if (j > 0) - dig++; -#ifdef SET_INEXACT - else if (!b->x[0] && b->wds <= 1) - inexact = 0; -#endif - *s++ = dig; - goto ret; - } -#endif - if (j < 0 || (j == 0 && mode != 1 -#ifndef ROUND_BIASED - && !(word1(d) & 1) -#endif - )) { - if (!b->x[0] && b->wds <= 1) { -#ifdef SET_INEXACT - inexact = 0; -#endif - goto accept_dig; - } -#ifdef Honor_FLT_ROUNDS - if (mode > 1) - switch (rounding) { - case 0: goto accept_dig; - case 2: goto keep_dig; - } -#endif /*Honor_FLT_ROUNDS*/ - if (j1 > 0) { - b = lshift(b, 1); - j1 = cmp(b, S); - if ((j1 > 0 || (j1 == 0 && (dig & 1))) && dig++ == '9') - goto round_9_up; - } -accept_dig: - *s++ = dig; - goto ret; - } - if (j1 > 0) { -#ifdef Honor_FLT_ROUNDS - if (!rounding) - goto accept_dig; -#endif - if (dig == '9') { /* possible if i == 1 */ -round_9_up: - *s++ = '9'; - goto roundoff; - } - *s++ = dig + 1; - goto ret; - } -#ifdef Honor_FLT_ROUNDS -keep_dig: -#endif - *s++ = dig; - if (i == ilim) - break; - b = multadd(b, 10, 0); - if (mlo == mhi) - mlo = mhi = multadd(mhi, 10, 0); - else { - mlo = multadd(mlo, 10, 0); - mhi = multadd(mhi, 10, 0); - } - } - } - else - for (i = 1;; i++) { - *s++ = dig = quorem(b,S) + '0'; - if (!b->x[0] && b->wds <= 1) { -#ifdef SET_INEXACT - inexact = 0; -#endif - goto ret; - } - if (i >= ilim) - break; - b = multadd(b, 10, 0); - } - - /* Round off last digit */ - -#ifdef Honor_FLT_ROUNDS - switch (rounding) { - case 0: goto trimzeros; - case 2: goto roundoff; - } -#endif - b = lshift(b, 1); - j = cmp(b, S); - if (j > 0 || (j == 0 && (dig & 1))) { - roundoff: - while (*--s == '9') - if (s == s0) { - k++; - *s++ = '1'; - goto ret; - } - if (!half || (*s - '0') & 1) - ++*s; - } - else { - while (*--s == '0') ; - } - s++; -ret: - Bfree(S); - if (mhi) { - if (mlo && mlo != mhi) - Bfree(mlo); - Bfree(mhi); - } -ret1: -#ifdef SET_INEXACT - if (inexact) { - if (!oldinexact) { - word0(d) = Exp_1 + (70 << Exp_shift); - word1(d) = 0; - dval(d) += 1.; - } - } - else if (!oldinexact) - clear_inexact(); -#endif - Bfree(b); - *s = 0; - *decpt = k + 1; - if (rve) - *rve = s; - return s0; -} - -/*- - * Copyright (c) 2004-2008 David Schultz - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#define DBL_MANH_SIZE 20 -#define DBL_MANL_SIZE 32 -#define DBL_ADJ (DBL_MAX_EXP - 2) -#define SIGFIGS ((DBL_MANT_DIG + 3) / 4 + 1) -#define dexp_get(u) ((int)(word0(u) >> Exp_shift) & ~Exp_msk1) -#define dexp_set(u,v) (word0(u) = (((int)(word0(u)) & ~Exp_mask) | ((v) << Exp_shift))) -#define dmanh_get(u) ((uint32_t)(word0(u) & Frac_mask)) -#define dmanl_get(u) ((uint32_t)word1(u)) - - -/* - * This procedure converts a double-precision number in IEEE format - * into a string of hexadecimal digits and an exponent of 2. Its - * behavior is bug-for-bug compatible with dtoa() in mode 2, with the - * following exceptions: - * - * - An ndigits < 0 causes it to use as many digits as necessary to - * represent the number exactly. - * - The additional xdigs argument should point to either the string - * "0123456789ABCDEF" or the string "0123456789abcdef", depending on - * which case is desired. - * - This routine does not repeat dtoa's mistake of setting decpt - * to 9999 in the case of an infinity or NaN. INT_MAX is used - * for this purpose instead. - * - * Note that the C99 standard does not specify what the leading digit - * should be for non-zero numbers. For instance, 0x1.3p3 is the same - * as 0x2.6p2 is the same as 0x4.cp3. This implementation always makes - * the leading digit a 1. This ensures that the exponent printed is the - * actual base-2 exponent, i.e., ilogb(d). - * - * Inputs: d, xdigs, ndigits - * Outputs: decpt, sign, rve - */ -char * -hdtoa(double d, const char *xdigs, int ndigits, int *decpt, int *sign, char **rve) -{ - U u; - char *s, *s0; - int bufsize; - uint32_t manh, manl; - - u.d = d; - if (word0(u) & Sign_bit) { - /* set sign for everything, including 0's and NaNs */ - *sign = 1; - word0(u) &= ~Sign_bit; /* clear sign bit */ - } - else - *sign = 0; - - if (isinf(d)) { /* FP_INFINITE */ - *decpt = INT_MAX; - return rv_strdup(INFSTR, rve); - } - else if (isnan(d)) { /* FP_NAN */ - *decpt = INT_MAX; - return rv_strdup(NANSTR, rve); - } - else if (d == 0.0) { /* FP_ZERO */ - *decpt = 1; - return rv_strdup(ZEROSTR, rve); - } - else if (dexp_get(u)) { /* FP_NORMAL */ - *decpt = dexp_get(u) - DBL_ADJ; - } - else { /* FP_SUBNORMAL */ - u.d *= 5.363123171977039e+154 /* 0x1p514 */; - *decpt = dexp_get(u) - (514 + DBL_ADJ); - } - - if (ndigits == 0) /* dtoa() compatibility */ - ndigits = 1; - - /* - * If ndigits < 0, we are expected to auto-size, so we allocate - * enough space for all the digits. - */ - bufsize = (ndigits > 0) ? ndigits : SIGFIGS; - s0 = rv_alloc(bufsize+1); - - /* Round to the desired number of digits. */ - if (SIGFIGS > ndigits && ndigits > 0) { - float redux = 1.0f; - int offset = 4 * ndigits + DBL_MAX_EXP - 4 - DBL_MANT_DIG; - dexp_set(u, offset); - u.d += redux; - u.d -= redux; - *decpt += dexp_get(u) - offset; - } - - manh = dmanh_get(u); - manl = dmanl_get(u); - *s0 = '1'; - for (s = s0 + 1; s < s0 + bufsize; s++) { - *s = xdigs[(manh >> (DBL_MANH_SIZE - 4)) & 0xf]; - manh = (manh << 4) | (manl >> (DBL_MANL_SIZE - 4)); - manl <<= 4; - } - - /* If ndigits < 0, we are expected to auto-size the precision. */ - if (ndigits < 0) { - for (ndigits = SIGFIGS; s0[ndigits - 1] == '0'; ndigits--) - ; - } - - s = s0 + ndigits; - *s = '\0'; - if (rve != NULL) - *rve = s; - return (s0); -} - -#ifdef __cplusplus -#if 0 -{ /* satisfy cc-mode */ -#endif -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/static_assert.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/static_assert.h deleted file mode 100644 index 9295729..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/ext/bigdecimal/static_assert.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef BIGDECIMAL_STATIC_ASSERT_H -#define BIGDECIMAL_STATIC_ASSERT_H - -#include "feature.h" - -#ifdef HAVE_RUBY_INTERNAL_STATIC_ASSERT_H -# include -#endif - -#ifdef RBIMPL_STATIC_ASSERT -# define STATIC_ASSERT RBIMPL_STATIC_ASSERT -#endif - -#ifndef STATIC_ASSERT -# /* The following section is copied from CRuby's static_assert.h */ - -# if defined(__cplusplus) && defined(__cpp_static_assert) -# /* https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations */ -# define BIGDECIMAL_STATIC_ASSERT0 static_assert - -# elif defined(__cplusplus) && defined(_MSC_VER) && _MSC_VER >= 1600 -# define BIGDECIMAL_STATIC_ASSERT0 static_assert - -# elif defined(__INTEL_CXX11_MODE__) -# define BIGDECIMAL_STATIC_ASSERT0 static_assert - -# elif defined(__cplusplus) && __cplusplus >= 201103L -# define BIGDECIMAL_STATIC_ASSERT0 static_assert - -# elif defined(__cplusplus) && __has_extension(cxx_static_assert) -# define BIGDECIMAL_STATIC_ASSERT0 __extension__ static_assert - -# elif defined(__STDC_VERSION__) && __has_extension(c_static_assert) -# define BIGDECIMAL_STATIC_ASSERT0 __extension__ _Static_assert - -# elif defined(__STDC_VERSION__) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -# define BIGDECIMAL_STATIC_ASSERT0 __extension__ _Static_assert -#endif - -# if defined(__DOXYGEN__) -# define STATIC_ASSERT static_assert - -# elif defined(BIGDECIMAL_STATIC_ASSERT0) -# define STATIC_ASSERT(name, expr) \ - BIGDECIMAL_STATIC_ASSERT0(expr, #name ": " #expr) - -# else -# define STATIC_ASSERT(name, expr) \ - typedef int static_assert_ ## name ## _check[1 - 2 * !(expr)] -# endif -#endif /* STATIC_ASSERT */ - - -#endif /* BIGDECIMAL_STATIC_ASSERT_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/linear.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/linear.rb deleted file mode 100644 index 516c247..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/linear.rb +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/local/bin/ruby -# frozen_string_literal: false - -# -# linear.rb -# -# Solves linear equation system(A*x = b) by LU decomposition method. -# where A is a coefficient matrix,x is an answer vector,b is a constant vector. -# -# USAGE: -# ruby linear.rb [input file solved] -# - -# :stopdoc: -require "bigdecimal" -require "bigdecimal/ludcmp" - -# -# NOTE: -# Change following BigDecimal.limit() if needed. -BigDecimal.limit(100) -# - -include LUSolve -def rd_order(na) - printf("Number of equations ?") if(na <= 0) - n = ARGF.gets().to_i -end - -na = ARGV.size -zero = BigDecimal("0.0") -one = BigDecimal("1.0") - -while (n=rd_order(na))>0 - a = [] - as= [] - b = [] - if na <= 0 - # Read data from console. - printf("\nEnter coefficient matrix element A[i,j]\n") - for i in 0...n do - for j in 0...n do - printf("A[%d,%d]? ",i,j); s = ARGF.gets - a << BigDecimal(s) - as << BigDecimal(s) - end - printf("Contatant vector element b[%d] ? ",i) - b << BigDecimal(ARGF.gets) - end - else - # Read data from specified file. - printf("Coefficient matrix and constant vector.\n") - for i in 0...n do - s = ARGF.gets - printf("%d) %s",i,s) - s = s.split - for j in 0...n do - a << BigDecimal(s[j]) - as << BigDecimal(s[j]) - end - b << BigDecimal(s[n]) - end - end - x = lusolve(a,b,ludecomp(a,n,zero,one),zero) - printf("Answer(x[i] & (A*x-b)[i]) follows\n") - for i in 0...n do - printf("x[%d]=%s ",i,x[i].to_s) - s = zero - for j in 0...n do - s = s + as[i*n+j]*x[j] - end - printf(" & %s\n",(s-b[i]).to_s) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/nlsolve.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/nlsolve.rb deleted file mode 100644 index c2227da..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/nlsolve.rb +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/local/bin/ruby -# frozen_string_literal: false - -# -# nlsolve.rb -# An example for solving nonlinear algebraic equation system. -# - -require "bigdecimal" -require "bigdecimal/newton" -include Newton - -class Function # :nodoc: all - def initialize() - @zero = BigDecimal("0.0") - @one = BigDecimal("1.0") - @two = BigDecimal("2.0") - @ten = BigDecimal("10.0") - @eps = BigDecimal("1.0e-16") - end - def zero;@zero;end - def one ;@one ;end - def two ;@two ;end - def ten ;@ten ;end - def eps ;@eps ;end - def values(x) # <= defines functions solved - f = [] - f1 = x[0]*x[0] + x[1]*x[1] - @two # f1 = x**2 + y**2 - 2 => 0 - f2 = x[0] - x[1] # f2 = x - y => 0 - f <<= f1 - f <<= f2 - f - end -end - -f = BigDecimal.limit(100) -f = Function.new -x = [f.zero,f.zero] # Initial values -n = nlsolve(f,x) -p x diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/pi.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/pi.rb deleted file mode 100644 index ea96638..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/bigdecimal-3.1.4/sample/pi.rb +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/local/bin/ruby -# frozen_string_literal: false - -# -# pi.rb -# -# Calculates 3.1415.... (the number of times that a circle's diameter -# will fit around the circle) using J. Machin's formula. -# - -require "bigdecimal" -require "bigdecimal/math.rb" - -include BigMath - -if ARGV.size == 1 - print "PI("+ARGV[0]+"):\n" - p PI(ARGV[0].to_i) -else - print "TRY: ruby pi.rb 1000 \n" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/coffee-script-2.4.1/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/coffee-script-2.4.1/LICENSE deleted file mode 100644 index 35f79f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/coffee-script-2.4.1/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2010 Joshua Peek - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/coffee-script-2.4.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/coffee-script-2.4.1/README.md deleted file mode 100644 index a76e8e2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/coffee-script-2.4.1/README.md +++ /dev/null @@ -1,43 +0,0 @@ -Ruby CoffeeScript -================= - -Ruby CoffeeScript is a bridge to the official CoffeeScript compiler. - - CoffeeScript.compile File.read("script.coffee") - - -Installation ------------- - - gem install coffee-script - -*Note: This compiler library has replaced the original CoffeeScript - compiler that was written in Ruby.* - - -Dependencies ------------- - -This library depends on the `coffee-script-source` gem which is -updated any time a new version of CoffeeScript is released. (The -`coffee-script-source` gem's version number is synced with each -official CoffeeScript release.) This way you can build against -different versions of CoffeeScript by requiring the correct version of -the `coffee-script-source` gem. - -In addition, you can use this library with unreleased versions of -CoffeeScript by setting the `COFFEESCRIPT_SOURCE_PATH` environment -variable: - - export COFFEESCRIPT_SOURCE_PATH=/path/to/coffee-script/extras/coffee-script.js - -### JSON - -The `json` library is also required but is not explicitly stated as a -gem dependency. If you're on Ruby 1.8 you'll need to install the -`json` or `json_pure` gem. On Ruby 1.9, `json` is included in the -standard library. - -### ExecJS - -The [ExecJS](https://github.com/sstephenson/execjs) library is used to automatically choose the best JavaScript engine for your platform. Check out its [README](https://github.com/sstephenson/execjs/blob/master/README.md) for a complete list of supported engines. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/Gemfile deleted file mode 100644 index 044fba3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source "https://rubygems.org" -gemspec - -gem "rake" -group :development do - gem "rspec-helpers", :require => false - gem "luna-rspec-formatters", :require => false - gem "pry", :require => false unless ENV[ - "CI" - ] -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/History.markdown deleted file mode 100644 index bac4270..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/History.markdown +++ /dev/null @@ -1,25 +0,0 @@ -## 1.1.0 / 2016-06-28 - -### Minor Enhancements - -* Support jruby (#8) - -## 1.0.0 / 2016-04-28 - -### Major enhancements - -- Merge Simple::ANSI and Colorator. (#7) - -### Minor Enhancements - -- Delete unnecessary `Symbol#to_sym` (#2) -- Change argument name of `Enumerator#each` for better code legibility (#3) - -### Development Fixes - -- Convert to new RSpec expectation syntax (#1) -- Fix `String#blue` result in README (#4) - -## 0.1 / 2013-04-13 - -Birthday! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/LICENSE deleted file mode 100644 index b3b6be9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) Parker Moore - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/README.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/README.markdown deleted file mode 100644 index 9cf886d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/README.markdown +++ /dev/null @@ -1,47 +0,0 @@ -# colorator - -Colorize your text for the terminal - -[![Build Status](https://travis-ci.org/octopress/colorator.png?branch=master)](https://travis-ci.org/octopress/colorator) - -## Example - -```ruby -"this string".red -# => \e[31mthis string\e[0m -"my string".blue -# => \e[34mmy string\e[0m -# etc... -``` - -## Supported Colors - -- `red` -- `black` -- `green` -- `yellow` -- `magenta` -- `white` -- `blue` -- `cyan` -- `bold` - -## Other supported Ansi methods - -- `clear_line` -- `has_ansi?`, `has_color?` -- `strip_ansi`, `strip_color` -- `reset_ansi`, `reset_color` -- `clear_screen` -- `ansi_jump` - -## Why - -There are a bunch of gems that provide functionality like this, but none have -as simple an API as this. Just call `"string".color` and your text will be -colorized. - -## License - -MIT. Written as a single Ruby file by Brandon Mathis, converted into a gem by -Parker Moore. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/Rakefile deleted file mode 100644 index b7e9ed5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/Rakefile +++ /dev/null @@ -1,6 +0,0 @@ -require "bundler/gem_tasks" -require "rspec/core/rake_task" - -RSpec::Core::RakeTask.new(:spec) - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/colorator.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/colorator.gemspec deleted file mode 100644 index a4bd0cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/colorator-1.1.0/colorator.gemspec +++ /dev/null @@ -1,23 +0,0 @@ -# coding: utf-8 - -require File.expand_path('lib/colorator.rb', __dir__) - -Gem::Specification.new do |spec| - spec.name = "colorator" - spec.summary = "Colorize your text in the terminal." - spec.version = Colorator::VERSION - spec.authors = ["Parker Moore", "Brandon Mathis"] - spec.email = ["parkrmoore@gmail.com", "brandon@imathis.com"] - spec.homepage = "https://github.com/octopress/colorator" - spec.licenses = ["MIT"] - - all = `git ls-files -z`.split("\x0").reject { |f| f.start_with?(".") } - spec.files = all.select { |f| File.basename(f) == f || f =~ %r{^(bin|lib)/} } - spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } - spec.require_paths = ["lib"] - - spec.extra_rdoc_files = ["README.markdown", "LICENSE"] - spec.rdoc_options = ["--charset=UTF-8"] - - spec.add_development_dependency "rspec", "~> 3.1" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/LICENSE.txt deleted file mode 100644 index 452887a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2015 Garen J. Torikian - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/README.md deleted file mode 100644 index 84fcd07..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/README.md +++ /dev/null @@ -1,288 +0,0 @@ -# CommonMarker - -![Build Status](https://github.com/gjtorikian/commonmarker/workflows/CI/badge.svg) [![Gem Version](https://badge.fury.io/rb/commonmarker.svg)](http://badge.fury.io/rb/commonmarker) - -Ruby wrapper for [libcmark-gfm](https://github.com/github/cmark), -GitHub's fork of the reference parser for CommonMark. It passes all of the C tests, and is therefore spec-complete. It also includes extensions to the CommonMark spec as documented in the [GitHub Flavored Markdown spec](http://github.github.com/gfm/), such as support for tables, strikethroughs, and autolinking. - -For more information on available extensions, see [the documentation below](#extensions). - -## Installation - -Add this line to your application's Gemfile: - - gem 'commonmarker' - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install commonmarker - -## Usage - -### Converting to HTML - -Call `render_html` on a string to convert it to HTML: - -``` ruby -require 'commonmarker' -CommonMarker.render_html('Hi *there*', :DEFAULT) -#

Hi there

\n -``` - -The second argument is optional--[see below](#options) for more information. - -### Generating a document - -You can also parse a string to receive a `Document` node. You can then print that node to HTML, iterate over the children, and other fun node stuff. For example: - -``` ruby -require 'commonmarker' - -doc = CommonMarker.render_doc('*Hello* world', :DEFAULT) -puts(doc.to_html) #

Hi there

\n - -doc.walk do |node| - puts node.type # [:document, :paragraph, :text, :emph, :text] -end -``` - -The second argument is optional--[see below](#options) for more information. - -#### Example: walking the AST - -You can use `walk` or `each` to iterate over nodes: - -- `walk` will iterate on a node and recursively iterate on a node's children. -- `each` will iterate on a node and its children, but no further. - -``` ruby -require 'commonmarker' - -# parse the files specified on the command line -doc = CommonMarker.render_doc("# The site\n\n [GitHub](https://www.github.com)") - -# Walk tree and print out URLs for links -doc.walk do |node| - if node.type == :link - printf("URL = %s\n", node.url) - end -end - -# Capitalize all regular text in headers -doc.walk do |node| - if node.type == :header - node.each do |subnode| - if subnode.type == :text - subnode.string_content = subnode.string_content.upcase - end - end - end -end - -# Transform links to regular text -doc.walk do |node| - if node.type == :link - node.insert_before(node.first_child) - node.delete - end -end -``` - -### Creating a custom renderer - -You can also derive a class from CommonMarker's `HtmlRenderer` class. This produces slower output, but is far more customizable. For example: - -``` ruby -class MyHtmlRenderer < CommonMarker::HtmlRenderer - def initialize - super - @headerid = 1 - end - - def header(node) - block do - out("", - :children, "") - @headerid += 1 - end - end -end - -myrenderer = MyHtmlRenderer.new -puts myrenderer.render(doc) - -# Print any warnings to STDERR -renderer.warnings.each do |w| - STDERR.write("#{w}\n") -end -``` - -## Options - -CommonMarker accepts the same options that CMark does, as symbols. Note that there is a distinction in CMark for "parse" options and "render" options, which are represented in the tables below. - -### Parse options - -| Name | Description -| ----------------------------- | ----------- -| `:DEFAULT` | The default parsing system. -| `:SOURCEPOS` | Include source position in nodes -| `:UNSAFE` | Allow raw/custom HTML and unsafe links. -| `:VALIDATE_UTF8` | Replace illegal sequences with the replacement character `U+FFFD`. -| `:SMART` | Use smart punctuation (curly quotes, etc.). -| `:LIBERAL_HTML_TAG` | Support liberal parsing of inline HTML tags. -| `:FOOTNOTES` | Parse footnotes. -| `:STRIKETHROUGH_DOUBLE_TILDE` | Parse strikethroughs by double tildes (compatibility with [redcarpet](https://github.com/vmg/redcarpet)) - -### Render options - -| Name | Description | -| ------------------ | ----------- | -| `:DEFAULT` | The default rendering system. | -| `:SOURCEPOS` | Include source position in rendered HTML. | -| `:HARDBREAKS` | Treat `\n` as hardbreaks (by adding `
`). | -| `:UNSAFE` | Allow raw/custom HTML and unsafe links. | -| `:NOBREAKS` | Translate `\n` in the source to a single whitespace. | -| `:VALIDATE_UTF8` | Replace illegal sequences with the replacement character `U+FFFD`. | -| `:SMART` | Use smart punctuation (curly quotes, etc.). | -| `:GITHUB_PRE_LANG` | Use GitHub-style `
` for fenced code blocks.           |
-| `:LIBERAL_HTML_TAG`              | Support liberal parsing of inline HTML tags.                    |
-| `:FOOTNOTES`                     | Render footnotes.                                               |
-| `:STRIKETHROUGH_DOUBLE_TILDE`    | Parse strikethroughs by double tildes (compatibility with [redcarpet](https://github.com/vmg/redcarpet)) |
-| `:TABLE_PREFER_STYLE_ATTRIBUTES` | Use `style` insted of `align` for table cells.                  |
-| `:FULL_INFO_STRING`              | Include full info strings of code blocks in separate attribute. |
-
-### Passing options
-
-To apply a single option, pass it in as a symbol argument:
-
-``` ruby
-CommonMarker.render_doc("\"Hello,\" said the spider.", :SMART)
-# 

“Hello,” said the spider.

\n -``` - -To have multiple options applied, pass in an array of symbols: - -``` ruby -CommonMarker.render_html("\"'Shelob' is my name.\"", [:HARDBREAKS, :SOURCEPOS]) -``` - -For more information on these options, see [the CMark documentation](https://git.io/v7nh1). - -## Extensions - -Both `render_html` and `render_doc` take an optional third argument defining the extensions you want enabled as your CommonMark document is being processed. The documentation for these extensions are [defined in this spec](https://github.github.com/gfm/), and the rationale is provided [in this blog post](https://githubengineering.com/a-formal-spec-for-github-markdown/). - -The available extensions are: - -* `:table` - This provides support for tables. -* `:tasklist` - This provides support for task list items. -* `:strikethrough` - This provides support for strikethroughs. -* `:autolink` - This provides support for automatically converting URLs to anchor tags. -* `:tagfilter` - This escapes [several "unsafe" HTML tags](https://github.github.com/gfm/#disallowed-raw-html-extension-), causing them to not have any effect. - -## Output formats - -Like CMark, CommonMarker can generate output in several formats: HTML, XML, plaintext, and commonmark are currently supported. - -### HTML - -The default output format, HTML, will be generated when calling `to_html` or using `--to=html` on the command line. - -```ruby -doc = CommonMarker.render_doc('*Hello* world!', :DEFAULT) -puts(doc.to_html) - -

Hello world!

-``` - -### XML - -XML will be generated when calling `to_xml` or using `--to=xml` on the command line. - -```ruby -doc = CommonMarker.render_doc('*Hello* world!', :DEFAULT) -puts(doc.to_xml) - - - - - - - Hello - - world! - - -``` - -### Plaintext - -Plaintext will be generated when calling `to_plaintext` or using `--to=plaintext` on the command line. - -```ruby -doc = CommonMarker.render_doc('*Hello* world!', :DEFAULT) -puts(doc.to_plaintext) - -Hello world! -``` - -### Commonmark - -Commonmark will be generated when calling `to_commonmark` or using `--to=commonmark` on the command line. - -``` ruby -text = <<-TEXT -1. I am a numeric list. -2. I continue the list. -* Suddenly, an unordered list! -* What fun! -TEXT - -doc = CommonMarker.render_doc(text, :DEFAULT) -puts(doc.to_commonmark) - -1. I am a numeric list. -2. I continue the list. - - - - - Suddenly, an unordered list\! - - What fun\! -``` - -## Developing locally - -After cloning the repo: - -``` -script/bootstrap -bundle exec rake compile -``` - -If there were no errors, you're done! Otherwise, make sure to follow the CMark dependency instructions. - -## Benchmarks - -Some rough benchmarks: - -``` -$ bundle exec rake benchmark - -input size = 11063727 bytes - -redcarpet - 0.070000 0.020000 0.090000 ( 0.079641) -github-markdown - 0.070000 0.010000 0.080000 ( 0.083535) -commonmarker with to_html - 0.100000 0.010000 0.110000 ( 0.111947) -commonmarker with ruby HtmlRenderer - 1.830000 0.030000 1.860000 ( 1.866203) -kramdown - 4.610000 0.070000 4.680000 ( 4.678398) -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/Rakefile deleted file mode 100644 index 4daed66..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/Rakefile +++ /dev/null @@ -1,109 +0,0 @@ -# frozen_string_literal: true - -require "date" -require "rake/clean" -require "rake/extensiontask" -require "digest/md5" - -host_os = RbConfig::CONFIG["host_os"] -require "devkit" if host_os == "mingw32" - -task default: [:test] - -# Gem Spec -gem_spec = Gem::Specification.load("commonmarker.gemspec") - -# Ruby Extension -Rake::ExtensionTask.new("commonmarker", gem_spec) do |ext| - ext.lib_dir = File.join("lib", "commonmarker") -end - -# Packaging -require "bundler/gem_tasks" - -# Testing -require "rake/testtask" - -Rake::TestTask.new("test:unit") do |t| - t.libs << "lib" - t.libs << "test" - t.pattern = "test/test_*.rb" - t.verbose = true - t.warning = false -end - -desc "Run unit tests" -task "test:unit" => :compile - -desc "Run unit and conformance tests" -task test: ["test:unit"] - -require "rubocop/rake_task" - -RuboCop::RakeTask.new(:rubocop) - -desc "Run benchmarks" -task :benchmark do - if ENV["FETCH_PROGIT"] - %x(rm -rf test/progit) - %x(git clone https://github.com/progit/progit.git test/progit) - langs = ["ar", "az", "be", "ca", "cs", "de", "en", "eo", "es", "es-ni", "fa", "fi", "fr", "hi", "hu", "id", "it", "ja", "ko", "mk", "nl", "no-nb", "pl", "pt-br", "ro", "ru", "sr", "th", "tr", "uk", "vi", "zh", "zh-tw"] - langs.each do |lang| - %x(cat test/progit/#{lang}/*/*.markdown >> test/benchinput.md) - end - end - $LOAD_PATH.unshift("lib") - load "test/benchmark.rb" -end - -desc "Match C style of cmark" -task :format do - sh "clang-format -style llvm -i ext/commonmarker/*.c ext/commonmarker/*.h" -end - -# Documentation -require "rdoc/task" - -desc "Generate API documentation" -RDoc::Task.new do |rd| - rd.rdoc_dir = "docs" - rd.main = "README.md" - rd.rdoc_files.include("README.md", "lib/**/*.rb", "ext/commonmarker/commonmarker.c") - - rd.options << "--markup tomdoc" - rd.options << "--inline-source" - rd.options << "--line-numbers" - rd.options << "--all" - rd.options << "--fileboxes" -end - -desc "Generate the documentation and run a web server" -task serve: [:rdoc] do - require "webrick" - - puts "Navigate to http://localhost:3000 to see the docs" - - server = WEBrick::HTTPServer.new(Port: 3000) - server.mount("/", WEBrick::HTTPServlet::FileHandler, "docs") - trap("INT") { server.stop } - server.start -end - -desc "Generate and publish docs to gh-pages" -task publish: [:rdoc] do - require "tmpdir" - require "shellwords" - - Dir.mktmpdir do |tmp| - system "mv docs/* #{tmp}" - system "git checkout origin/gh-pages" - system "rm -rf *" - system "mv #{tmp}/* ." - message = Shellwords.escape("Site updated at #{Time.now.utc}") - system "git add ." - system "git commit -am #{message}" - system "git push origin gh-pages --force" - system "git checkout master" - system "echo yolo" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/bin/commonmarker b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/bin/commonmarker deleted file mode 100755 index 3bfabe0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/bin/commonmarker +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require 'optparse' - -$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib') -require 'commonmarker' - -root = File.expand_path('..', __dir__) -$LOAD_PATH.unshift File.expand_path('lib', root) - -def parse_options - options = Struct.new(:active_extensions, :active_parse_options, :active_render_options, :output_format, :renderer) - .new([], [:DEFAULT], [:DEFAULT], :html) - extensions = CommonMarker.extensions - parse_options = CommonMarker::Config::OPTS.fetch(:parse) - render_options = CommonMarker::Config::OPTS.fetch(:render) - format_options = CommonMarker::Config::OPTS.fetch(:format) - - option_parser = OptionParser.new do |opts| - opts.banner = 'Usage: commonmarker [--html-renderer] [--extension=EXTENSION]' - opts.separator ' [--to=FORMAT]' - opts.separator ' [--parse-option=OPTION]' - opts.separator ' [--render-option=OPTION]' - opts.separator ' [FILE..]' - opts.separator '' - opts.separator 'Convert one or more CommonMark files to HTML and write to standard output.' - opts.separator 'If no FILE argument is provided, text will be read from STDIN.' - opts.separator '' - - opts.on('--extension=EXTENSION', Array, 'Use EXTENSION for parsing and HTML output (unless --html-renderer is specified)') do |values| - values.each do |value| - if extensions.include?(value) - options.active_extensions << value.to_sym - else - abort("extension '#{value}' not found") - end - end - end - - opts.on('-h', '--help', 'Prints this help') do - puts opts - puts - puts "Available formats: #{format_options.join(', ')}" - puts "Available extentions: #{extensions.join(', ')}" - puts "Available parse options: #{parse_options.keys.join(', ')}" - puts "Available render options: #{render_options.keys.join(', ')}" - puts - puts 'See the README for more information on these.' - exit - end - - opts.on('-tFORMAT', '--to=FORMAT', String, 'Specify output FORMAT') do |value| - value = value.to_sym - if format_options.include?(value) - options.output_format = value - else - abort("format '#{value}' not found") - end - end - - opts.on('--html-renderer', 'Use the HtmlRenderer renderer rather than the native C renderer (only valid when format is html)') do - options.renderer = true - end - - opts.on('--parse-option=OPTION', Array, 'OPTION passed during parsing') do |values| - values.each do |value| - if parse_options.key?(value.to_sym) - options.active_parse_options << value.to_sym - else - abort("parse-option '#{value}' not found") - end - end - end - - opts.on('--render-option=OPTION', Array, 'OPTION passed during rendering') do |values| - values.each do |value| - if render_options.key?(value.to_sym) - options.active_render_options << value.to_sym - else - abort("render-option '#{value}' not found") - end - end - end - - opts.on('-v', '--version', 'Version information') do - puts "commonmarker #{CommonMarker::VERSION}" - exit - end - end - - option_parser.parse! - - options -end - -options = parse_options - -abort("format '#{options.output_format}' does not support using the HtmlRenderer renderer") if - options.renderer && options.output_format != :html - -doc = CommonMarker.render_doc(ARGF.read, options.active_parse_options, options.active_extensions) - -case options.output_format -when :html - if options.renderer - renderer = CommonMarker::HtmlRenderer.new(options: options.active_render_options, extensions: options.active_extensions) - $stdout.write(renderer.render(doc)) - else - $stdout.write(doc.to_html(options.active_render_options, options.active_extensions)) - end -when :xml - $stdout.write(doc.to_xml(options.active_render_options)) -when :commonmark - $stdout.write(doc.to_commonmark(options.active_render_options)) -when :plaintext - $stdout.write(doc.to_plaintext(options.active_render_options)) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/commonmarker.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/commonmarker.gemspec deleted file mode 100644 index b2d5884..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/commonmarker.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path("lib", __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "commonmarker/version" - -Gem::Specification.new do |s| - s.name = "commonmarker" - s.version = CommonMarker::VERSION - s.summary = "CommonMark parser and renderer. Written in C, wrapped in Ruby." - s.description = "A fast, safe, extensible parser for CommonMark. This wraps the official libcmark library." - s.authors = ["Garen Torikian", "Ashe Connor"] - s.homepage = "https://github.com/gjtorikian/commonmarker" - s.license = "MIT" - - s.files = ["LICENSE.txt", "README.md", "Rakefile", "commonmarker.gemspec", "bin/commonmarker"] - s.files += Dir.glob("lib/**/*.rb") - s.files += Dir.glob("ext/commonmarker/*.*") - s.extensions = ["ext/commonmarker/extconf.rb"] - - s.executables = ["commonmarker"] - s.require_paths = ["lib", "ext"] - s.required_ruby_version = [">= 2.6", "< 4.0"] - - s.metadata["rubygems_mfa_required"] = "true" - - s.rdoc_options += ["-x", "ext/commonmarker/cmark/.*"] - - s.add_development_dependency("awesome_print") - s.add_development_dependency("json", "~> 2.3") - s.add_development_dependency("minitest", "~> 5.6") - s.add_development_dependency("minitest-focus", "~> 1.1") - s.add_development_dependency("rake") - s.add_development_dependency("rake-compiler", "~> 0.9") - s.add_development_dependency("rdoc", "~> 6.2") - s.add_development_dependency("rubocop") - s.add_development_dependency("rubocop-standard") -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/.sitearchdir.-.commonmarker.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/.sitearchdir.-.commonmarker.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/Makefile deleted file mode 100644 index a0ec3fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/Makefile +++ /dev/null @@ -1,266 +0,0 @@ - -SHELL = /bin/sh - -# V=0 quiet, V=1 verbose. other values don't work. -V = 0 -Q1 = $(V:1=) -Q = $(Q1:0=@) -ECHO1 = $(V:1=@ :) -ECHO = $(ECHO1:0=@ echo) -NULLCMD = : - -#### Start of system configuration section. #### - -srcdir = . -topdir = /usr/include/ruby-3.0.0 -hdrdir = $(topdir) -arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0 -PATH_SEPARATOR = : -VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby -prefix = $(DESTDIR)/usr -rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) -rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) -rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) -exec_prefix = $(prefix) -vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby -sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby -rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) -vendorhdrdir = $(rubyhdrdir)/vendor_ruby -sitehdrdir = $(rubyhdrdir)/site_ruby -rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) -vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) -vendorlibdir = $(vendordir)/$(ruby_version) -vendordir = $(rubylibprefix)/vendor_ruby -sitearchdir = $(DESTDIR)./.gem.20231104-11184-9modoq -sitelibdir = $(DESTDIR)./.gem.20231104-11184-9modoq -sitedir = $(DESTDIR)/usr/local/lib/site_ruby -rubyarchdir = $(rubyarchprefix)/$(ruby_version) -rubylibdir = $(rubylibprefix)/$(ruby_version) -sitearchincludedir = $(includedir)/$(sitearch) -archincludedir = $(includedir)/$(arch) -sitearchlibdir = $(libdir)/$(sitearch) -archlibdir = $(libdir)/$(arch) -ridir = $(datarootdir)/$(RI_BASE_NAME) -mandir = $(datarootdir)/man -localedir = $(datarootdir)/locale -libdir = $(exec_prefix)/lib -psdir = $(docdir) -pdfdir = $(docdir) -dvidir = $(docdir) -htmldir = $(docdir) -infodir = $(datarootdir)/info -docdir = $(datarootdir)/doc/$(PACKAGE) -oldincludedir = $(DESTDIR)/usr/include -includedir = $(prefix)/include -runstatedir = $(DESTDIR)/var/run -localstatedir = $(DESTDIR)/var -sharedstatedir = $(prefix)/com -sysconfdir = $(DESTDIR)/etc -datadir = $(datarootdir) -datarootdir = $(prefix)/share -libexecdir = $(exec_prefix)/libexec -sbindir = $(exec_prefix)/sbin -bindir = $(exec_prefix)/bin -archdir = $(rubyarchdir) - - -CC_WRAPPER = -CC = x86_64-linux-gnu-gcc -CXX = x86_64-linux-gnu-g++ -LIBRUBY = $(LIBRUBY_SO) -LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a -LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) -LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) -empty = -OUTFLAG = -o $(empty) -COUTFLAG = -o $(empty) -CSRCFLAG = $(empty) - -RUBY_EXTCONF_H = -cflags = $(optflags) $(debugflags) $(warnflags) -cxxflags = -optflags = -O3 -debugflags = -ggdb3 -warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -cppflags = -CCDLFLAGS = -fPIC -CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -std=c99 $(ARCH_FLAG) -INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -DEFS = -CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG) -ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -ARCH_FLAG = -DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) -LDSHARED = $(CC) -shared -LDSHAREDXX = $(CXX) -shared -AR = x86_64-linux-gnu-gcc-ar -EXEEXT = - -RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0 -RUBY_SO_NAME = ruby-3.0 -RUBYW_INSTALL_NAME = -RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) -RUBYW_BASE_NAME = rubyw -RUBY_BASE_NAME = ruby - -arch = x86_64-linux-gnu -sitearch = $(arch) -ruby_version = 3.0.0 -ruby = $(bindir)/$(RUBY_BASE_NAME)3.0 -RUBY = $(ruby) -ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h - -RM = rm -f -RM_RF = $(RUBY) -run -e rm -- -rf -RMDIRS = rmdir --ignore-fail-on-non-empty -p -MAKEDIRS = /usr/bin/mkdir -p -INSTALL = /usr/bin/install -c -INSTALL_PROG = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -m 644 -COPY = cp -TOUCH = exit > - -#### End of system configuration section. #### - -preload = -libpath = . $(archlibdir) -LIBPATH = -L. -L$(archlibdir) -DEFFILE = - -CLEANFILES = mkmf.log -DISTCLEANFILES = -DISTCLEANDIRS = - -extout = -extout_prefix = -target_prefix = /commonmarker -LOCAL_LIBS = -LIBS = $(LIBRUBYARG_SHARED) -lm -lc -ORIG_SRCS = arena.c autolink.c blocks.c buffer.c cmark.c cmark_ctype.c commonmark.c commonmarker.c core-extensions.c ext_scanners.c footnotes.c houdini_href_e.c houdini_html_e.c houdini_html_u.c html.c inlines.c iterator.c latex.c linked_list.c man.c map.c node.c plaintext.c plugin.c references.c registry.c render.c scanners.c strikethrough.c syntax_extension.c table.c tagfilter.c tasklist.c utf8.c xml.c -SRCS = $(ORIG_SRCS) -OBJS = arena.o autolink.o blocks.o buffer.o cmark.o cmark_ctype.o commonmark.o commonmarker.o core-extensions.o ext_scanners.o footnotes.o houdini_href_e.o houdini_html_e.o houdini_html_u.o html.o inlines.o iterator.o latex.o linked_list.o man.o map.o node.o plaintext.o plugin.o references.o registry.o render.o scanners.o strikethrough.o syntax_extension.o table.o tagfilter.o tasklist.o utf8.o xml.o -HDRS = $(srcdir)/autolink.h $(srcdir)/buffer.h $(srcdir)/chunk.h $(srcdir)/cmark-gfm-core-extensions.h $(srcdir)/cmark-gfm-extension_api.h $(srcdir)/cmark-gfm-extensions_export.h $(srcdir)/cmark-gfm.h $(srcdir)/cmark-gfm_export.h $(srcdir)/cmark-gfm_version.h $(srcdir)/cmark_ctype.h $(srcdir)/commonmarker.h $(srcdir)/config.h $(srcdir)/ext_scanners.h $(srcdir)/footnotes.h $(srcdir)/houdini.h $(srcdir)/html.h $(srcdir)/inlines.h $(srcdir)/iterator.h $(srcdir)/map.h $(srcdir)/node.h $(srcdir)/parser.h $(srcdir)/plugin.h $(srcdir)/references.h $(srcdir)/registry.h $(srcdir)/render.h $(srcdir)/scanners.h $(srcdir)/strikethrough.h $(srcdir)/syntax_extension.h $(srcdir)/table.h $(srcdir)/tagfilter.h $(srcdir)/tasklist.h $(srcdir)/utf8.h -LOCAL_HDRS = -TARGET = commonmarker -TARGET_NAME = commonmarker -TARGET_ENTRY = Init_$(TARGET_NAME) -DLLIB = $(TARGET).so -EXTSTATIC = -STATIC_LIB = - -TIMESTAMP_DIR = . -BINDIR = $(bindir) -RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = $(sitelibdir)$(target_prefix) -RUBYARCHDIR = $(sitearchdir)$(target_prefix) -HDRDIR = $(sitehdrdir)$(target_prefix) -ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) -TARGET_SO_DIR = -TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) -CLEANLIBS = $(TARGET_SO) -CLEANOBJS = *.o *.bak - -all: $(DLLIB) -static: $(STATIC_LIB) -.PHONY: all install static install-so install-rb -.PHONY: clean clean-so clean-static clean-rb - -clean-static:: -clean-rb-default:: -clean-rb:: -clean-so:: -clean: clean-so clean-static clean-rb-default clean-rb - -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time - -distclean-rb-default:: -distclean-rb:: -distclean-so:: -distclean-static:: -distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb - -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log - -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) - -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true - -realclean: distclean -install: install-so install-rb - -install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.-.commonmarker.time - $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) -clean-static:: - -$(Q)$(RM) $(STATIC_LIB) -install-rb: pre-install-rb do-install-rb install-rb-default -install-rb-default: pre-install-rb-default do-install-rb-default -pre-install-rb: Makefile -pre-install-rb-default: Makefile -do-install-rb: -do-install-rb-default: -pre-install-rb-default: - @$(NULLCMD) -$(TIMESTAMP_DIR)/.sitearchdir.-.commonmarker.time: - $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) - $(Q) $(TOUCH) $@ - -site-install: site-install-so site-install-rb -site-install-so: install-so -site-install-rb: install-rb - -.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S - -.cc.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cc.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.mm.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.mm.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cxx.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cxx.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cpp.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cpp.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.c.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.c.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.m.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.m.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -$(TARGET_SO): $(OBJS) Makefile - $(ECHO) linking shared-object commonmarker/$(DLLIB) - -$(Q)$(RM) $(@) - $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) - - - -$(OBJS): $(HDRS) $(ruby_headers) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/arena.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/arena.c deleted file mode 100644 index da1a70e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/arena.c +++ /dev/null @@ -1,104 +0,0 @@ -#include -#include -#include -#include "cmark-gfm.h" -#include "cmark-gfm-extension_api.h" - -static struct arena_chunk { - size_t sz, used; - uint8_t push_point; - void *ptr; - struct arena_chunk *prev; -} *A = NULL; - -static struct arena_chunk *alloc_arena_chunk(size_t sz, struct arena_chunk *prev) { - struct arena_chunk *c = (struct arena_chunk *)calloc(1, sizeof(*c)); - if (!c) - abort(); - c->sz = sz; - c->ptr = calloc(1, sz); - if (!c->ptr) - abort(); - c->prev = prev; - return c; -} - -void cmark_arena_push(void) { - if (!A) - return; - A->push_point = 1; - A = alloc_arena_chunk(10240, A); -} - -int cmark_arena_pop(void) { - if (!A) - return 0; - while (A && !A->push_point) { - free(A->ptr); - struct arena_chunk *n = A->prev; - free(A); - A = n; - } - if (A) - A->push_point = 0; - return 1; -} - -static void init_arena(void) { - A = alloc_arena_chunk(4 * 1048576, NULL); -} - -void cmark_arena_reset(void) { - while (A) { - free(A->ptr); - struct arena_chunk *n = A->prev; - free(A); - A = n; - } -} - -static void *arena_calloc(size_t nmem, size_t size) { - if (!A) - init_arena(); - - size_t sz = nmem * size + sizeof(size_t); - - // Round allocation sizes to largest integer size to - // ensure returned memory is correctly aligned - const size_t align = sizeof(size_t) - 1; - sz = (sz + align) & ~align; - - struct arena_chunk *chunk; - if (sz > A->sz) { - A->prev = chunk = alloc_arena_chunk(sz, A->prev); - } else if (sz > A->sz - A->used) { - A = chunk = alloc_arena_chunk(A->sz + A->sz / 2, A); - } else { - chunk = A; - } - void *ptr = (uint8_t *) chunk->ptr + chunk->used; - chunk->used += sz; - *((size_t *) ptr) = sz - sizeof(size_t); - return (uint8_t *) ptr + sizeof(size_t); -} - -static void *arena_realloc(void *ptr, size_t size) { - if (!A) - init_arena(); - - void *new_ptr = arena_calloc(1, size); - if (ptr) - memcpy(new_ptr, ptr, ((size_t *) ptr)[-1]); - return new_ptr; -} - -static void arena_free(void *ptr) { - (void) ptr; - /* no-op */ -} - -cmark_mem CMARK_ARENA_MEM_ALLOCATOR = {arena_calloc, arena_realloc, arena_free}; - -cmark_mem *cmark_get_arena_mem_allocator(void) { - return &CMARK_ARENA_MEM_ALLOCATOR; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/arena.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/arena.o deleted file mode 100644 index e514221..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/arena.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.c deleted file mode 100644 index d898cd2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.c +++ /dev/null @@ -1,508 +0,0 @@ -#include "autolink.h" -#include -#include -#include -#include - -#if defined(_WIN32) -#define strncasecmp _strnicmp -#else -#include -#endif - -static int is_valid_hostchar(const uint8_t *link, size_t link_len) { - int32_t ch; - int r = cmark_utf8proc_iterate(link, (bufsize_t)link_len, &ch); - if (r < 0) - return 0; - return !cmark_utf8proc_is_space(ch) && !cmark_utf8proc_is_punctuation(ch); -} - -static int sd_autolink_issafe(const uint8_t *link, size_t link_len) { - static const size_t valid_uris_count = 3; - static const char *valid_uris[] = {"http://", "https://", "ftp://"}; - - size_t i; - - for (i = 0; i < valid_uris_count; ++i) { - size_t len = strlen(valid_uris[i]); - - if (link_len > len && strncasecmp((char *)link, valid_uris[i], len) == 0 && - is_valid_hostchar(link + len, link_len - len)) - return 1; - } - - return 0; -} - -static size_t autolink_delim(uint8_t *data, size_t link_end) { - size_t i; - size_t closing = 0; - size_t opening = 0; - - for (i = 0; i < link_end; ++i) { - const uint8_t c = data[i]; - if (c == '<') { - link_end = i; - break; - } else if (c == '(') { - opening++; - } else if (c == ')') { - closing++; - } - } - - while (link_end > 0) { - switch (data[link_end - 1]) { - case ')': - /* Allow any number of matching brackets (as recognised in copen/cclose) - * at the end of the URL. If there is a greater number of closing - * brackets than opening ones, we remove one character from the end of - * the link. - * - * Examples (input text => output linked portion): - * - * http://www.pokemon.com/Pikachu_(Electric) - * => http://www.pokemon.com/Pikachu_(Electric) - * - * http://www.pokemon.com/Pikachu_((Electric) - * => http://www.pokemon.com/Pikachu_((Electric) - * - * http://www.pokemon.com/Pikachu_(Electric)) - * => http://www.pokemon.com/Pikachu_(Electric) - * - * http://www.pokemon.com/Pikachu_((Electric)) - * => http://www.pokemon.com/Pikachu_((Electric)) - */ - if (closing <= opening) { - return link_end; - } - closing--; - link_end--; - break; - case '?': - case '!': - case '.': - case ',': - case ':': - case '*': - case '_': - case '~': - case '\'': - case '"': - link_end--; - break; - case ';': { - size_t new_end = link_end - 2; - - while (new_end > 0 && cmark_isalpha(data[new_end])) - new_end--; - - if (new_end < link_end - 2 && data[new_end] == '&') - link_end = new_end; - else - link_end--; - break; - } - - default: - return link_end; - } - } - - return link_end; -} - -static size_t check_domain(uint8_t *data, size_t size, int allow_short) { - size_t i, np = 0, uscore1 = 0, uscore2 = 0; - - /* The purpose of this code is to reject urls that contain an underscore - * in one of the last two segments. Examples: - * - * www.xxx.yyy.zzz autolinked - * www.xxx.yyy._zzz not autolinked - * www.xxx._yyy.zzz not autolinked - * www._xxx.yyy.zzz autolinked - * - * The reason is that domain names are allowed to include underscores, - * but host names are not. See: https://stackoverflow.com/a/2183140 - */ - for (i = 1; i < size - 1; i++) { - if (data[i] == '\\' && i < size - 2) - i++; - if (data[i] == '_') - uscore2++; - else if (data[i] == '.') { - uscore1 = uscore2; - uscore2 = 0; - np++; - } else if (!is_valid_hostchar(data + i, size - i) && data[i] != '-') - break; - } - - if (uscore1 > 0 || uscore2 > 0) { - /* If the url is very long then accept it despite the underscores, - * to avoid quadratic behavior causing a denial of service. See: - * https://github.com/github/cmark-gfm/security/advisories/GHSA-29g3-96g3-jg6c - * Reasonable urls are unlikely to have more than 10 segments, so - * this extra condition shouldn't have any impact on normal usage. - */ - if (np <= 10) { - return 0; - } - } - - if (allow_short) { - /* We don't need a valid domain in the strict sense (with - * least one dot; so just make sure it's composed of valid - * domain characters and return the length of the the valid - * sequence. */ - return i; - } else { - /* a valid domain needs to have at least a dot. - * that's as far as we get */ - return np ? i : 0; - } -} - -static cmark_node *www_match(cmark_parser *parser, cmark_node *parent, - cmark_inline_parser *inline_parser) { - cmark_chunk *chunk = cmark_inline_parser_get_chunk(inline_parser); - size_t max_rewind = cmark_inline_parser_get_offset(inline_parser); - uint8_t *data = chunk->data + max_rewind; - size_t size = chunk->len - max_rewind; - int start = cmark_inline_parser_get_column(inline_parser); - - size_t link_end; - - if (max_rewind > 0 && strchr("*_~(", data[-1]) == NULL && - !cmark_isspace(data[-1])) - return 0; - - if (size < 4 || memcmp(data, "www.", strlen("www.")) != 0) - return 0; - - link_end = check_domain(data, size, 0); - - if (link_end == 0) - return NULL; - - while (link_end < size && !cmark_isspace(data[link_end]) && data[link_end] != '<') - link_end++; - - link_end = autolink_delim(data, link_end); - - if (link_end == 0) - return NULL; - - cmark_inline_parser_set_offset(inline_parser, (int)(max_rewind + link_end)); - - cmark_node *node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem); - - cmark_strbuf buf; - cmark_strbuf_init(parser->mem, &buf, 10); - cmark_strbuf_puts(&buf, "http://"); - cmark_strbuf_put(&buf, data, (bufsize_t)link_end); - node->as.link.url = cmark_chunk_buf_detach(&buf); - - cmark_node *text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - text->as.literal = - cmark_chunk_dup(chunk, (bufsize_t)max_rewind, (bufsize_t)link_end); - cmark_node_append_child(node, text); - - node->start_line = text->start_line = - node->end_line = text->end_line = - cmark_inline_parser_get_line(inline_parser); - - node->start_column = text->start_column = start - 1; - node->end_column = text->end_column = cmark_inline_parser_get_column(inline_parser) - 1; - - return node; -} - -static cmark_node *url_match(cmark_parser *parser, cmark_node *parent, - cmark_inline_parser *inline_parser) { - size_t link_end, domain_len; - int rewind = 0; - - cmark_chunk *chunk = cmark_inline_parser_get_chunk(inline_parser); - int max_rewind = cmark_inline_parser_get_offset(inline_parser); - uint8_t *data = chunk->data + max_rewind; - size_t size = chunk->len - max_rewind; - - if (size < 4 || data[1] != '/' || data[2] != '/') - return 0; - - while (rewind < max_rewind && cmark_isalpha(data[-rewind - 1])) - rewind++; - - if (!sd_autolink_issafe(data - rewind, size + rewind)) - return 0; - - link_end = strlen("://"); - - domain_len = check_domain(data + link_end, size - link_end, 1); - - if (domain_len == 0) - return 0; - - link_end += domain_len; - while (link_end < size && !cmark_isspace(data[link_end]) && data[link_end] != '<') - link_end++; - - link_end = autolink_delim(data, link_end); - - if (link_end == 0) - return NULL; - - cmark_inline_parser_set_offset(inline_parser, (int)(max_rewind + link_end)); - cmark_node_unput(parent, rewind); - - cmark_node *node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem); - - cmark_chunk url = cmark_chunk_dup(chunk, max_rewind - rewind, - (bufsize_t)(link_end + rewind)); - node->as.link.url = url; - - cmark_node *text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - text->as.literal = url; - cmark_node_append_child(node, text); - - node->start_line = text->start_line = node->end_line = text->end_line = cmark_inline_parser_get_line(inline_parser); - - node->start_column = text->start_column = max_rewind - rewind; - node->end_column = text->end_column = cmark_inline_parser_get_column(inline_parser) - 1; - - return node; -} - -static cmark_node *match(cmark_syntax_extension *ext, cmark_parser *parser, - cmark_node *parent, unsigned char c, - cmark_inline_parser *inline_parser) { - if (cmark_inline_parser_in_bracket(inline_parser, false) || - cmark_inline_parser_in_bracket(inline_parser, true)) - return NULL; - - if (c == ':') - return url_match(parser, parent, inline_parser); - - if (c == 'w') - return www_match(parser, parent, inline_parser); - - return NULL; - - // note that we could end up re-consuming something already a - // part of an inline, because we don't track when the last - // inline was finished in inlines.c. -} - -static bool validate_protocol(const char protocol[], uint8_t *data, size_t rewind, size_t max_rewind) { - size_t len = strlen(protocol); - - if (len > (max_rewind - rewind)) { - return false; - } - - // Check that the protocol matches - if (memcmp(data - rewind - len, protocol, len) != 0) { - return false; - } - - if (len == (max_rewind - rewind)) { - return true; - } - - char prev_char = data[-((ptrdiff_t)rewind) - len - 1]; - - // Make sure the character before the protocol is non-alphanumeric - return !cmark_isalnum(prev_char); -} - -static void postprocess_text(cmark_parser *parser, cmark_node *text) { - size_t start = 0; - size_t offset = 0; - // `text` is going to be split into a list of nodes containing shorter segments - // of text, so we detach the memory buffer from text and use `cmark_chunk_dup` to - // create references to it. Later, `cmark_chunk_to_cstr` is used to convert - // the references into allocated buffers. The detached buffer is freed before we - // return. - cmark_chunk detached_chunk = text->as.literal; - text->as.literal = cmark_chunk_dup(&detached_chunk, 0, detached_chunk.len); - - uint8_t *data = text->as.literal.data; - size_t remaining = text->as.literal.len; - - while (true) { - size_t link_end; - uint8_t *at; - bool auto_mailto = true; - bool is_xmpp = false; - size_t rewind; - size_t max_rewind; - size_t np = 0; - - if (offset >= remaining) - break; - - at = (uint8_t *)memchr(data + start + offset, '@', remaining - offset); - if (!at) - break; - - max_rewind = at - (data + start + offset); - -found_at: - for (rewind = 0; rewind < max_rewind; ++rewind) { - uint8_t c = data[start + offset + max_rewind - rewind - 1]; - - if (cmark_isalnum(c)) - continue; - - if (strchr(".+-_", c) != NULL) - continue; - - if (strchr(":", c) != NULL) { - if (validate_protocol("mailto:", data + start + offset + max_rewind, rewind, max_rewind)) { - auto_mailto = false; - continue; - } - - if (validate_protocol("xmpp:", data + start + offset + max_rewind, rewind, max_rewind)) { - auto_mailto = false; - is_xmpp = true; - continue; - } - } - - break; - } - - if (rewind == 0) { - offset += max_rewind + 1; - continue; - } - - assert(data[start + offset + max_rewind] == '@'); - for (link_end = 1; link_end < remaining - offset - max_rewind; ++link_end) { - uint8_t c = data[start + offset + max_rewind + link_end]; - - if (cmark_isalnum(c)) - continue; - - if (c == '@') { - // Found another '@', so go back and try again with an updated offset and max_rewind. - offset += max_rewind + 1; - max_rewind = link_end - 1; - goto found_at; - } else if (c == '.' && link_end < remaining - offset - max_rewind - 1 && - cmark_isalnum(data[start + offset + max_rewind + link_end + 1])) - np++; - else if (c == '/' && is_xmpp) - continue; - else if (c != '-' && c != '_') - break; - } - - if (link_end < 2 || np == 0 || - (!cmark_isalpha(data[start + offset + max_rewind + link_end - 1]) && - data[start + offset + max_rewind + link_end - 1] != '.')) { - offset += max_rewind + link_end; - continue; - } - - link_end = autolink_delim(data + start + offset + max_rewind, link_end); - - if (link_end == 0) { - offset += max_rewind + 1; - continue; - } - - cmark_node *link_node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem); - cmark_strbuf buf; - cmark_strbuf_init(parser->mem, &buf, 10); - if (auto_mailto) - cmark_strbuf_puts(&buf, "mailto:"); - cmark_strbuf_put(&buf, data + start + offset + max_rewind - rewind, (bufsize_t)(link_end + rewind)); - link_node->as.link.url = cmark_chunk_buf_detach(&buf); - - cmark_node *link_text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - cmark_chunk email = cmark_chunk_dup( - &detached_chunk, - (bufsize_t)(start + offset + max_rewind - rewind), - (bufsize_t)(link_end + rewind)); - cmark_chunk_to_cstr(parser->mem, &email); - link_text->as.literal = email; - cmark_node_append_child(link_node, link_text); - - cmark_node_insert_after(text, link_node); - - cmark_node *post = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - post->as.literal = cmark_chunk_dup(&detached_chunk, - (bufsize_t)(start + offset + max_rewind + link_end), - (bufsize_t)(remaining - offset - max_rewind - link_end)); - - cmark_node_insert_after(link_node, post); - - text->as.literal = cmark_chunk_dup(&detached_chunk, (bufsize_t)start, (bufsize_t)(offset + max_rewind - rewind)); - cmark_chunk_to_cstr(parser->mem, &text->as.literal); - - text = post; - start += offset + max_rewind + link_end; - remaining -= offset + max_rewind + link_end; - offset = 0; - } - - // Convert the reference to allocated memory. - assert(!text->as.literal.alloc); - cmark_chunk_to_cstr(parser->mem, &text->as.literal); - - // Free the detached buffer. - cmark_chunk_free(parser->mem, &detached_chunk); -} - -static cmark_node *postprocess(cmark_syntax_extension *ext, cmark_parser *parser, cmark_node *root) { - cmark_iter *iter; - cmark_event_type ev; - cmark_node *node; - bool in_link = false; - - cmark_consolidate_text_nodes(root); - iter = cmark_iter_new(root); - - while ((ev = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - node = cmark_iter_get_node(iter); - if (in_link) { - if (ev == CMARK_EVENT_EXIT && node->type == CMARK_NODE_LINK) { - in_link = false; - } - continue; - } - - if (ev == CMARK_EVENT_ENTER && node->type == CMARK_NODE_LINK) { - in_link = true; - continue; - } - - if (ev == CMARK_EVENT_ENTER && node->type == CMARK_NODE_TEXT) { - postprocess_text(parser, node); - } - } - - cmark_iter_free(iter); - - return root; -} - -cmark_syntax_extension *create_autolink_extension(void) { - cmark_syntax_extension *ext = cmark_syntax_extension_new("autolink"); - cmark_llist *special_chars = NULL; - - cmark_syntax_extension_set_match_inline_func(ext, match); - cmark_syntax_extension_set_postprocess_func(ext, postprocess); - - cmark_mem *mem = cmark_get_default_mem_allocator(); - special_chars = cmark_llist_append(mem, special_chars, (void *)':'); - special_chars = cmark_llist_append(mem, special_chars, (void *)'w'); - cmark_syntax_extension_set_special_inline_chars(ext, special_chars); - - return ext; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.h deleted file mode 100644 index 4e17937..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef CMARK_GFM_AUTOLINK_H -#define CMARK_GFM_AUTOLINK_H - -#include "cmark-gfm-core-extensions.h" - -cmark_syntax_extension *create_autolink_extension(void); - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.o deleted file mode 100644 index cba3c69..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/autolink.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/blocks.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/blocks.c deleted file mode 100644 index 3b5da56..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/blocks.c +++ /dev/null @@ -1,1622 +0,0 @@ -/** - * Block parsing implementation. - * - * For a high-level overview of the block parsing process, - * see http://spec.commonmark.org/0.24/#phase-1-block-structure - */ - -#include -#include -#include -#include - -#include "cmark_ctype.h" -#include "syntax_extension.h" -#include "config.h" -#include "parser.h" -#include "cmark-gfm.h" -#include "node.h" -#include "references.h" -#include "utf8.h" -#include "scanners.h" -#include "inlines.h" -#include "houdini.h" -#include "buffer.h" -#include "footnotes.h" - -#define CODE_INDENT 4 -#define TAB_STOP 4 - -/** - * Very deeply nested lists can cause quadratic performance issues. - * This constant is used in open_new_blocks() to limit the nesting - * depth. It is unlikely that a non-contrived markdown document will - * be nested this deeply. - */ -#define MAX_LIST_DEPTH 100 - -#ifndef MIN -#define MIN(x, y) ((x < y) ? x : y) -#endif - -#define peek_at(i, n) (i)->data[n] - -static bool S_last_line_blank(const cmark_node *node) { - return (node->flags & CMARK_NODE__LAST_LINE_BLANK) != 0; -} - -static bool S_last_line_checked(const cmark_node *node) { - return (node->flags & CMARK_NODE__LAST_LINE_CHECKED) != 0; -} - -static CMARK_INLINE cmark_node_type S_type(const cmark_node *node) { - return (cmark_node_type)node->type; -} - -static void S_set_last_line_blank(cmark_node *node, bool is_blank) { - if (is_blank) - node->flags |= CMARK_NODE__LAST_LINE_BLANK; - else - node->flags &= ~CMARK_NODE__LAST_LINE_BLANK; -} - -static void S_set_last_line_checked(cmark_node *node) { - node->flags |= CMARK_NODE__LAST_LINE_CHECKED; -} - -static CMARK_INLINE bool S_is_line_end_char(char c) { - return (c == '\n' || c == '\r'); -} - -static CMARK_INLINE bool S_is_space_or_tab(char c) { - return (c == ' ' || c == '\t'); -} - -static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer, - size_t len, bool eof); - -static void S_process_line(cmark_parser *parser, const unsigned char *buffer, - bufsize_t bytes); - -static cmark_node *make_block(cmark_mem *mem, cmark_node_type tag, - int start_line, int start_column) { - cmark_node *e; - - e = (cmark_node *)mem->calloc(1, sizeof(*e)); - cmark_strbuf_init(mem, &e->content, 32); - e->type = (uint16_t)tag; - e->flags = CMARK_NODE__OPEN; - e->start_line = start_line; - e->start_column = start_column; - e->end_line = start_line; - - return e; -} - -// Create a root document node. -static cmark_node *make_document(cmark_mem *mem) { - cmark_node *e = make_block(mem, CMARK_NODE_DOCUMENT, 1, 1); - return e; -} - -int cmark_parser_attach_syntax_extension(cmark_parser *parser, - cmark_syntax_extension *extension) { - parser->syntax_extensions = cmark_llist_append(parser->mem, parser->syntax_extensions, extension); - if (extension->match_inline || extension->insert_inline_from_delim) { - parser->inline_syntax_extensions = cmark_llist_append( - parser->mem, parser->inline_syntax_extensions, extension); - } - - return 1; -} - -static void cmark_parser_dispose(cmark_parser *parser) { - if (parser->root) - cmark_node_free(parser->root); - - if (parser->refmap) - cmark_map_free(parser->refmap); -} - -static void cmark_parser_reset(cmark_parser *parser) { - cmark_llist *saved_exts = parser->syntax_extensions; - cmark_llist *saved_inline_exts = parser->inline_syntax_extensions; - int saved_options = parser->options; - cmark_mem *saved_mem = parser->mem; - - cmark_parser_dispose(parser); - - memset(parser, 0, sizeof(cmark_parser)); - parser->mem = saved_mem; - - cmark_strbuf_init(parser->mem, &parser->curline, 256); - cmark_strbuf_init(parser->mem, &parser->linebuf, 0); - - cmark_node *document = make_document(parser->mem); - - parser->refmap = cmark_reference_map_new(parser->mem); - parser->root = document; - parser->current = document; - - parser->syntax_extensions = saved_exts; - parser->inline_syntax_extensions = saved_inline_exts; - parser->options = saved_options; -} - -cmark_parser *cmark_parser_new_with_mem(int options, cmark_mem *mem) { - cmark_parser *parser = (cmark_parser *)mem->calloc(1, sizeof(cmark_parser)); - parser->mem = mem; - parser->options = options; - cmark_parser_reset(parser); - return parser; -} - -cmark_parser *cmark_parser_new(int options) { - extern cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR; - return cmark_parser_new_with_mem(options, &CMARK_DEFAULT_MEM_ALLOCATOR); -} - -void cmark_parser_free(cmark_parser *parser) { - cmark_mem *mem = parser->mem; - cmark_parser_dispose(parser); - cmark_strbuf_free(&parser->curline); - cmark_strbuf_free(&parser->linebuf); - cmark_llist_free(parser->mem, parser->syntax_extensions); - cmark_llist_free(parser->mem, parser->inline_syntax_extensions); - mem->free(parser); -} - -static cmark_node *finalize(cmark_parser *parser, cmark_node *b); - -// Returns true if line has only space characters, else false. -static bool is_blank(cmark_strbuf *s, bufsize_t offset) { - while (offset < s->size) { - switch (s->ptr[offset]) { - case '\r': - case '\n': - return true; - case ' ': - offset++; - break; - case '\t': - offset++; - break; - default: - return false; - } - } - - return true; -} - -static CMARK_INLINE bool accepts_lines(cmark_node_type block_type) { - return (block_type == CMARK_NODE_PARAGRAPH || - block_type == CMARK_NODE_HEADING || - block_type == CMARK_NODE_CODE_BLOCK); -} - -static CMARK_INLINE bool contains_inlines(cmark_node *node) { - if (node->extension && node->extension->contains_inlines_func) { - return node->extension->contains_inlines_func(node->extension, node) != 0; - } - - return (node->type == CMARK_NODE_PARAGRAPH || - node->type == CMARK_NODE_HEADING); -} - -static void add_line(cmark_node *node, cmark_chunk *ch, cmark_parser *parser) { - int chars_to_tab; - int i; - assert(node->flags & CMARK_NODE__OPEN); - if (parser->partially_consumed_tab) { - parser->offset += 1; // skip over tab - // add space characters: - chars_to_tab = TAB_STOP - (parser->column % TAB_STOP); - for (i = 0; i < chars_to_tab; i++) { - cmark_strbuf_putc(&node->content, ' '); - } - } - cmark_strbuf_put(&node->content, ch->data + parser->offset, - ch->len - parser->offset); -} - -static void remove_trailing_blank_lines(cmark_strbuf *ln) { - bufsize_t i; - unsigned char c; - - for (i = ln->size - 1; i >= 0; --i) { - c = ln->ptr[i]; - - if (c != ' ' && c != '\t' && !S_is_line_end_char(c)) - break; - } - - if (i < 0) { - cmark_strbuf_clear(ln); - return; - } - - for (; i < ln->size; ++i) { - c = ln->ptr[i]; - - if (!S_is_line_end_char(c)) - continue; - - cmark_strbuf_truncate(ln, i); - break; - } -} - -// Check to see if a node ends with a blank line, descending -// if needed into lists and sublists. -static bool S_ends_with_blank_line(cmark_node *node) { - if (S_last_line_checked(node)) { - return(S_last_line_blank(node)); - } else if ((S_type(node) == CMARK_NODE_LIST || - S_type(node) == CMARK_NODE_ITEM) && node->last_child) { - S_set_last_line_checked(node); - return(S_ends_with_blank_line(node->last_child)); - } else { - S_set_last_line_checked(node); - return (S_last_line_blank(node)); - } -} - -// returns true if content remains after link defs are resolved. -static bool resolve_reference_link_definitions( - cmark_parser *parser, - cmark_node *b) { - bufsize_t pos; - cmark_strbuf *node_content = &b->content; - cmark_chunk chunk = {node_content->ptr, node_content->size, 0}; - while (chunk.len && chunk.data[0] == '[' && - (pos = cmark_parse_reference_inline(parser->mem, &chunk, - parser->refmap))) { - - chunk.data += pos; - chunk.len -= pos; - } - cmark_strbuf_drop(node_content, (node_content->size - chunk.len)); - return !is_blank(&b->content, 0); -} - -static cmark_node *finalize(cmark_parser *parser, cmark_node *b) { - bufsize_t pos; - cmark_node *item; - cmark_node *subitem; - cmark_node *parent; - bool has_content; - - parent = b->parent; - assert(b->flags & - CMARK_NODE__OPEN); // shouldn't call finalize on closed blocks - b->flags &= ~CMARK_NODE__OPEN; - - if (parser->curline.size == 0) { - // end of input - line number has not been incremented - b->end_line = parser->line_number; - b->end_column = parser->last_line_length; - } else if (S_type(b) == CMARK_NODE_DOCUMENT || - (S_type(b) == CMARK_NODE_CODE_BLOCK && b->as.code.fenced) || - (S_type(b) == CMARK_NODE_HEADING && b->as.heading.setext)) { - b->end_line = parser->line_number; - b->end_column = parser->curline.size; - if (b->end_column && parser->curline.ptr[b->end_column - 1] == '\n') - b->end_column -= 1; - if (b->end_column && parser->curline.ptr[b->end_column - 1] == '\r') - b->end_column -= 1; - } else { - b->end_line = parser->line_number - 1; - b->end_column = parser->last_line_length; - } - - cmark_strbuf *node_content = &b->content; - - switch (S_type(b)) { - case CMARK_NODE_PARAGRAPH: - { - has_content = resolve_reference_link_definitions(parser, b); - if (!has_content) { - // remove blank node (former reference def) - cmark_node_free(b); - } - break; - } - - case CMARK_NODE_CODE_BLOCK: - if (!b->as.code.fenced) { // indented code - remove_trailing_blank_lines(node_content); - cmark_strbuf_putc(node_content, '\n'); - } else { - // first line of contents becomes info - for (pos = 0; pos < node_content->size; ++pos) { - if (S_is_line_end_char(node_content->ptr[pos])) - break; - } - assert(pos < node_content->size); - - cmark_strbuf tmp = CMARK_BUF_INIT(parser->mem); - houdini_unescape_html_f(&tmp, node_content->ptr, pos); - cmark_strbuf_trim(&tmp); - cmark_strbuf_unescape(&tmp); - b->as.code.info = cmark_chunk_buf_detach(&tmp); - - if (node_content->ptr[pos] == '\r') - pos += 1; - if (node_content->ptr[pos] == '\n') - pos += 1; - cmark_strbuf_drop(node_content, pos); - } - b->as.code.literal = cmark_chunk_buf_detach(node_content); - break; - - case CMARK_NODE_HTML_BLOCK: - b->as.literal = cmark_chunk_buf_detach(node_content); - break; - - case CMARK_NODE_LIST: // determine tight/loose status - b->as.list.tight = true; // tight by default - item = b->first_child; - - while (item) { - // check for non-final non-empty list item ending with blank line: - if (S_last_line_blank(item) && item->next) { - b->as.list.tight = false; - break; - } - // recurse into children of list item, to see if there are - // spaces between them: - subitem = item->first_child; - while (subitem) { - if ((item->next || subitem->next) && - S_ends_with_blank_line(subitem)) { - b->as.list.tight = false; - break; - } - subitem = subitem->next; - } - if (!(b->as.list.tight)) { - break; - } - item = item->next; - } - - break; - - default: - break; - } - - return parent; -} - -// Add a node as child of another. Return pointer to child. -static cmark_node *add_child(cmark_parser *parser, cmark_node *parent, - cmark_node_type block_type, int start_column) { - assert(parent); - - // if 'parent' isn't the kind of node that can accept this child, - // then back up til we hit a node that can. - while (!cmark_node_can_contain_type(parent, block_type)) { - parent = finalize(parser, parent); - } - - cmark_node *child = - make_block(parser->mem, block_type, parser->line_number, start_column); - child->parent = parent; - - if (parent->last_child) { - parent->last_child->next = child; - child->prev = parent->last_child; - } else { - parent->first_child = child; - child->prev = NULL; - } - parent->last_child = child; - return child; -} - -void cmark_manage_extensions_special_characters(cmark_parser *parser, int add) { - cmark_llist *tmp_ext; - - for (tmp_ext = parser->inline_syntax_extensions; tmp_ext; tmp_ext=tmp_ext->next) { - cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp_ext->data; - cmark_llist *tmp_char; - for (tmp_char = ext->special_inline_chars; tmp_char; tmp_char=tmp_char->next) { - unsigned char c = (unsigned char)(size_t)tmp_char->data; - if (add) - cmark_inlines_add_special_character(c, ext->emphasis); - else - cmark_inlines_remove_special_character(c, ext->emphasis); - } - } -} - -// Walk through node and all children, recursively, parsing -// string content into inline content where appropriate. -static void process_inlines(cmark_parser *parser, - cmark_map *refmap, int options) { - cmark_iter *iter = cmark_iter_new(parser->root); - cmark_node *cur; - cmark_event_type ev_type; - - cmark_manage_extensions_special_characters(parser, true); - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - if (ev_type == CMARK_EVENT_ENTER) { - if (contains_inlines(cur)) { - cmark_parse_inlines(parser, cur, refmap, options); - } - } - } - - cmark_manage_extensions_special_characters(parser, false); - - cmark_iter_free(iter); -} - -static int sort_footnote_by_ix(const void *_a, const void *_b) { - cmark_footnote *a = *(cmark_footnote **)_a; - cmark_footnote *b = *(cmark_footnote **)_b; - return (int)a->ix - (int)b->ix; -} - -static void process_footnotes(cmark_parser *parser) { - // * Collect definitions in a map. - // * Iterate the references in the document in order, assigning indices to - // definitions in the order they're seen. - // * Write out the footnotes at the bottom of the document in index order. - - cmark_map *map = cmark_footnote_map_new(parser->mem); - - cmark_iter *iter = cmark_iter_new(parser->root); - cmark_node *cur; - cmark_event_type ev_type; - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - if (ev_type == CMARK_EVENT_EXIT && cur->type == CMARK_NODE_FOOTNOTE_DEFINITION) { - cmark_footnote_create(map, cur); - } - } - - cmark_iter_free(iter); - iter = cmark_iter_new(parser->root); - unsigned int ix = 0; - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - if (ev_type == CMARK_EVENT_EXIT && cur->type == CMARK_NODE_FOOTNOTE_REFERENCE) { - cmark_footnote *footnote = (cmark_footnote *)cmark_map_lookup(map, &cur->as.literal); - if (footnote) { - if (!footnote->ix) - footnote->ix = ++ix; - - // store a reference to this footnote reference's footnote definition - // this is used by renderers when generating label ids - cur->parent_footnote_def = footnote->node; - - // keep track of a) count of how many times this footnote def has been - // referenced, and b) which reference index this footnote ref is at. - // this is used by renderers when generating links and backreferences. - cur->footnote.ref_ix = ++footnote->node->footnote.def_count; - - char n[32]; - snprintf(n, sizeof(n), "%d", footnote->ix); - cmark_chunk_free(parser->mem, &cur->as.literal); - cmark_strbuf buf = CMARK_BUF_INIT(parser->mem); - cmark_strbuf_puts(&buf, n); - - cur->as.literal = cmark_chunk_buf_detach(&buf); - } else { - cmark_node *text = (cmark_node *)parser->mem->calloc(1, sizeof(*text)); - cmark_strbuf_init(parser->mem, &text->content, 0); - text->type = (uint16_t) CMARK_NODE_TEXT; - - cmark_strbuf buf = CMARK_BUF_INIT(parser->mem); - cmark_strbuf_puts(&buf, "[^"); - cmark_strbuf_put(&buf, cur->as.literal.data, cur->as.literal.len); - cmark_strbuf_putc(&buf, ']'); - - text->as.literal = cmark_chunk_buf_detach(&buf); - cmark_node_insert_after(cur, text); - cmark_node_free(cur); - } - } - } - - cmark_iter_free(iter); - - if (map->sorted) { - qsort(map->sorted, map->size, sizeof(cmark_map_entry *), sort_footnote_by_ix); - for (unsigned int i = 0; i < map->size; ++i) { - cmark_footnote *footnote = (cmark_footnote *)map->sorted[i]; - if (!footnote->ix) { - cmark_node_unlink(footnote->node); - continue; - } - cmark_node_append_child(parser->root, footnote->node); - footnote->node = NULL; - } - } - - cmark_unlink_footnotes_map(map); - cmark_map_free(map); -} - -// Attempts to parse a list item marker (bullet or enumerated). -// On success, returns length of the marker, and populates -// data with the details. On failure, returns 0. -static bufsize_t parse_list_marker(cmark_mem *mem, cmark_chunk *input, - bufsize_t pos, bool interrupts_paragraph, - cmark_list **dataptr) { - unsigned char c; - bufsize_t startpos; - cmark_list *data; - bufsize_t i; - - startpos = pos; - c = peek_at(input, pos); - - if (c == '*' || c == '-' || c == '+') { - pos++; - if (!cmark_isspace(peek_at(input, pos))) { - return 0; - } - - if (interrupts_paragraph) { - i = pos; - // require non-blank content after list marker: - while (S_is_space_or_tab(peek_at(input, i))) { - i++; - } - if (peek_at(input, i) == '\n') { - return 0; - } - } - - data = (cmark_list *)mem->calloc(1, sizeof(*data)); - data->marker_offset = 0; // will be adjusted later - data->list_type = CMARK_BULLET_LIST; - data->bullet_char = c; - data->start = 0; - data->delimiter = CMARK_NO_DELIM; - data->tight = false; - } else if (cmark_isdigit(c)) { - int start = 0; - int digits = 0; - - do { - start = (10 * start) + (peek_at(input, pos) - '0'); - pos++; - digits++; - // We limit to 9 digits to avoid overflow, - // assuming max int is 2^31 - 1 - // This also seems to be the limit for 'start' in some browsers. - } while (digits < 9 && cmark_isdigit(peek_at(input, pos))); - - if (interrupts_paragraph && start != 1) { - return 0; - } - c = peek_at(input, pos); - if (c == '.' || c == ')') { - pos++; - if (!cmark_isspace(peek_at(input, pos))) { - return 0; - } - if (interrupts_paragraph) { - // require non-blank content after list marker: - i = pos; - while (S_is_space_or_tab(peek_at(input, i))) { - i++; - } - if (S_is_line_end_char(peek_at(input, i))) { - return 0; - } - } - - data = (cmark_list *)mem->calloc(1, sizeof(*data)); - data->marker_offset = 0; // will be adjusted later - data->list_type = CMARK_ORDERED_LIST; - data->bullet_char = 0; - data->start = start; - data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM); - data->tight = false; - } else { - return 0; - } - } else { - return 0; - } - - *dataptr = data; - return (pos - startpos); -} - -// Return 1 if list item belongs in list, else 0. -static int lists_match(cmark_list *list_data, cmark_list *item_data) { - return (list_data->list_type == item_data->list_type && - list_data->delimiter == item_data->delimiter && - // list_data->marker_offset == item_data.marker_offset && - list_data->bullet_char == item_data->bullet_char); -} - -static cmark_node *finalize_document(cmark_parser *parser) { - while (parser->current != parser->root) { - parser->current = finalize(parser, parser->current); - } - - finalize(parser, parser->root); - - // Limit total size of extra content created from reference links to - // document size to avoid superlinear growth. Always allow 100KB. - if (parser->total_size > 100000) - parser->refmap->max_ref_size = parser->total_size; - else - parser->refmap->max_ref_size = 100000; - - process_inlines(parser, parser->refmap, parser->options); - if (parser->options & CMARK_OPT_FOOTNOTES) - process_footnotes(parser); - - return parser->root; -} - -cmark_node *cmark_parse_file(FILE *f, int options) { - unsigned char buffer[4096]; - cmark_parser *parser = cmark_parser_new(options); - size_t bytes; - cmark_node *document; - - while ((bytes = fread(buffer, 1, sizeof(buffer), f)) > 0) { - bool eof = bytes < sizeof(buffer); - S_parser_feed(parser, buffer, bytes, eof); - if (eof) { - break; - } - } - - document = cmark_parser_finish(parser); - cmark_parser_free(parser); - return document; -} - -cmark_node *cmark_parse_document(const char *buffer, size_t len, int options) { - cmark_parser *parser = cmark_parser_new(options); - cmark_node *document; - - S_parser_feed(parser, (const unsigned char *)buffer, len, true); - - document = cmark_parser_finish(parser); - cmark_parser_free(parser); - return document; -} - -void cmark_parser_feed(cmark_parser *parser, const char *buffer, size_t len) { - S_parser_feed(parser, (const unsigned char *)buffer, len, false); -} - -void cmark_parser_feed_reentrant(cmark_parser *parser, const char *buffer, size_t len) { - cmark_strbuf saved_linebuf; - - cmark_strbuf_init(parser->mem, &saved_linebuf, 0); - cmark_strbuf_puts(&saved_linebuf, cmark_strbuf_cstr(&parser->linebuf)); - cmark_strbuf_clear(&parser->linebuf); - - S_parser_feed(parser, (const unsigned char *)buffer, len, true); - - cmark_strbuf_sets(&parser->linebuf, cmark_strbuf_cstr(&saved_linebuf)); - cmark_strbuf_free(&saved_linebuf); -} - -static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer, - size_t len, bool eof) { - const unsigned char *end = buffer + len; - static const uint8_t repl[] = {239, 191, 189}; - - if (len > UINT_MAX - parser->total_size) - parser->total_size = UINT_MAX; - else - parser->total_size += len; - - if (parser->last_buffer_ended_with_cr && *buffer == '\n') { - // skip NL if last buffer ended with CR ; see #117 - buffer++; - } - parser->last_buffer_ended_with_cr = false; - while (buffer < end) { - const unsigned char *eol; - bufsize_t chunk_len; - bool process = false; - for (eol = buffer; eol < end; ++eol) { - if (S_is_line_end_char(*eol)) { - process = true; - break; - } - if (*eol == '\0' && eol < end) { - break; - } - } - if (eol >= end && eof) { - process = true; - } - - chunk_len = (bufsize_t)(eol - buffer); - if (process) { - if (parser->linebuf.size > 0) { - cmark_strbuf_put(&parser->linebuf, buffer, chunk_len); - S_process_line(parser, parser->linebuf.ptr, parser->linebuf.size); - cmark_strbuf_clear(&parser->linebuf); - } else { - S_process_line(parser, buffer, chunk_len); - } - } else { - if (eol < end && *eol == '\0') { - // omit NULL byte - cmark_strbuf_put(&parser->linebuf, buffer, chunk_len); - // add replacement character - cmark_strbuf_put(&parser->linebuf, repl, 3); - } else { - cmark_strbuf_put(&parser->linebuf, buffer, chunk_len); - } - } - - buffer += chunk_len; - if (buffer < end) { - if (*buffer == '\0') { - // skip over NULL - buffer++; - } else { - // skip over line ending characters - if (*buffer == '\r') { - buffer++; - if (buffer == end) - parser->last_buffer_ended_with_cr = true; - } - if (buffer < end && *buffer == '\n') - buffer++; - } - } - } -} - -static void chop_trailing_hashtags(cmark_chunk *ch) { - bufsize_t n, orig_n; - - cmark_chunk_rtrim(ch); - orig_n = n = ch->len - 1; - - // if string ends in space followed by #s, remove these: - while (n >= 0 && peek_at(ch, n) == '#') - n--; - - // Check for a space before the final #s: - if (n != orig_n && n >= 0 && S_is_space_or_tab(peek_at(ch, n))) { - ch->len = n; - cmark_chunk_rtrim(ch); - } -} - -// Check for thematic break. On failure, return 0 and update -// thematic_break_kill_pos with the index at which the -// parse fails. On success, return length of match. -// "...three or more hyphens, asterisks, -// or underscores on a line by themselves. If you wish, you may use -// spaces between the hyphens or asterisks." -static int S_scan_thematic_break(cmark_parser *parser, cmark_chunk *input, - bufsize_t offset) { - bufsize_t i; - char c; - char nextc = '\0'; - int count; - i = offset; - c = peek_at(input, i); - if (!(c == '*' || c == '_' || c == '-')) { - parser->thematic_break_kill_pos = i; - return 0; - } - count = 1; - while ((nextc = peek_at(input, ++i))) { - if (nextc == c) { - count++; - } else if (nextc != ' ' && nextc != '\t') { - break; - } - } - if (count >= 3 && (nextc == '\r' || nextc == '\n')) { - return (i - offset) + 1; - } else { - parser->thematic_break_kill_pos = i; - return 0; - } -} - -// Find first nonspace character from current offset, setting -// parser->first_nonspace, parser->first_nonspace_column, -// parser->indent, and parser->blank. Does not advance parser->offset. -static void S_find_first_nonspace(cmark_parser *parser, cmark_chunk *input) { - char c; - int chars_to_tab = TAB_STOP - (parser->column % TAB_STOP); - - if (parser->first_nonspace <= parser->offset) { - parser->first_nonspace = parser->offset; - parser->first_nonspace_column = parser->column; - while ((c = peek_at(input, parser->first_nonspace))) { - if (c == ' ') { - parser->first_nonspace += 1; - parser->first_nonspace_column += 1; - chars_to_tab = chars_to_tab - 1; - if (chars_to_tab == 0) { - chars_to_tab = TAB_STOP; - } - } else if (c == '\t') { - parser->first_nonspace += 1; - parser->first_nonspace_column += chars_to_tab; - chars_to_tab = TAB_STOP; - } else { - break; - } - } - } - - parser->indent = parser->first_nonspace_column - parser->column; - parser->blank = S_is_line_end_char(peek_at(input, parser->first_nonspace)); -} - -// Advance parser->offset and parser->column. parser->offset is the -// byte position in input; parser->column is a virtual column number -// that takes into account tabs. (Multibyte characters are not taken -// into account, because the Markdown line prefixes we are interested in -// analyzing are entirely ASCII.) The count parameter indicates -// how far to advance the offset. If columns is true, then count -// indicates a number of columns; otherwise, a number of bytes. -// If advancing a certain number of columns partially consumes -// a tab character, parser->partially_consumed_tab is set to true. -static void S_advance_offset(cmark_parser *parser, cmark_chunk *input, - bufsize_t count, bool columns) { - char c; - int chars_to_tab; - int chars_to_advance; - while (count > 0 && (c = peek_at(input, parser->offset))) { - if (c == '\t') { - chars_to_tab = TAB_STOP - (parser->column % TAB_STOP); - if (columns) { - parser->partially_consumed_tab = chars_to_tab > count; - chars_to_advance = MIN(count, chars_to_tab); - parser->column += chars_to_advance; - parser->offset += (parser->partially_consumed_tab ? 0 : 1); - count -= chars_to_advance; - } else { - parser->partially_consumed_tab = false; - parser->column += chars_to_tab; - parser->offset += 1; - count -= 1; - } - } else { - parser->partially_consumed_tab = false; - parser->offset += 1; - parser->column += 1; // assume ascii; block starts are ascii - count -= 1; - } - } -} - -static bool S_last_child_is_open(cmark_node *container) { - return container->last_child && - (container->last_child->flags & CMARK_NODE__OPEN); -} - -static bool parse_block_quote_prefix(cmark_parser *parser, cmark_chunk *input) { - bool res = false; - bufsize_t matched = 0; - - matched = - parser->indent <= 3 && peek_at(input, parser->first_nonspace) == '>'; - if (matched) { - - S_advance_offset(parser, input, parser->indent + 1, true); - - if (S_is_space_or_tab(peek_at(input, parser->offset))) { - S_advance_offset(parser, input, 1, true); - } - - res = true; - } - return res; -} - -static bool parse_footnote_definition_block_prefix(cmark_parser *parser, cmark_chunk *input, - cmark_node *container) { - if (parser->indent >= 4) { - S_advance_offset(parser, input, 4, true); - return true; - } else if (input->len > 0 && (input->data[0] == '\n' || (input->data[0] == '\r' && input->data[1] == '\n'))) { - return true; - } - - return false; -} - -static bool parse_node_item_prefix(cmark_parser *parser, cmark_chunk *input, - cmark_node *container) { - bool res = false; - - if (parser->indent >= - container->as.list.marker_offset + container->as.list.padding) { - S_advance_offset(parser, input, container->as.list.marker_offset + - container->as.list.padding, - true); - res = true; - } else if (parser->blank && container->first_child != NULL) { - // if container->first_child is NULL, then the opening line - // of the list item was blank after the list marker; in this - // case, we are done with the list item. - S_advance_offset(parser, input, parser->first_nonspace - parser->offset, - false); - res = true; - } - return res; -} - -static bool parse_code_block_prefix(cmark_parser *parser, cmark_chunk *input, - cmark_node *container, - bool *should_continue) { - bool res = false; - - if (!container->as.code.fenced) { // indented - if (parser->indent >= CODE_INDENT) { - S_advance_offset(parser, input, CODE_INDENT, true); - res = true; - } else if (parser->blank) { - S_advance_offset(parser, input, parser->first_nonspace - parser->offset, - false); - res = true; - } - } else { // fenced - bufsize_t matched = 0; - - if (parser->indent <= 3 && (peek_at(input, parser->first_nonspace) == - container->as.code.fence_char)) { - matched = scan_close_code_fence(input, parser->first_nonspace); - } - - if (matched >= container->as.code.fence_length) { - // closing fence - and since we're at - // the end of a line, we can stop processing it: - *should_continue = false; - S_advance_offset(parser, input, matched, false); - parser->current = finalize(parser, container); - } else { - // skip opt. spaces of fence parser->offset - int i = container->as.code.fence_offset; - - while (i > 0 && S_is_space_or_tab(peek_at(input, parser->offset))) { - S_advance_offset(parser, input, 1, true); - i--; - } - res = true; - } - } - - return res; -} - -static bool parse_html_block_prefix(cmark_parser *parser, - cmark_node *container) { - bool res = false; - int html_block_type = container->as.html_block_type; - - assert(html_block_type >= 1 && html_block_type <= 7); - switch (html_block_type) { - case 1: - case 2: - case 3: - case 4: - case 5: - // these types of blocks can accept blanks - res = true; - break; - case 6: - case 7: - res = !parser->blank; - break; - } - - return res; -} - -static bool parse_extension_block(cmark_parser *parser, - cmark_node *container, - cmark_chunk *input) -{ - bool res = false; - - if (container->extension->last_block_matches) { - if (container->extension->last_block_matches( - container->extension, parser, input->data, input->len, container)) - res = true; - } - - return res; -} - -/** - * For each containing node, try to parse the associated line start. - * - * Will not close unmatched blocks, as we may have a lazy continuation - * line -> http://spec.commonmark.org/0.24/#lazy-continuation-line - * - * Returns: The last matching node, or NULL - */ -static cmark_node *check_open_blocks(cmark_parser *parser, cmark_chunk *input, - bool *all_matched) { - bool should_continue = true; - *all_matched = false; - cmark_node *container = parser->root; - cmark_node_type cont_type; - - while (S_last_child_is_open(container)) { - container = container->last_child; - cont_type = S_type(container); - - S_find_first_nonspace(parser, input); - - if (container->extension) { - if (!parse_extension_block(parser, container, input)) - goto done; - continue; - } - - switch (cont_type) { - case CMARK_NODE_BLOCK_QUOTE: - if (!parse_block_quote_prefix(parser, input)) - goto done; - break; - case CMARK_NODE_ITEM: - if (!parse_node_item_prefix(parser, input, container)) - goto done; - break; - case CMARK_NODE_CODE_BLOCK: - if (!parse_code_block_prefix(parser, input, container, &should_continue)) - goto done; - break; - case CMARK_NODE_HEADING: - // a heading can never contain more than one line - goto done; - case CMARK_NODE_HTML_BLOCK: - if (!parse_html_block_prefix(parser, container)) - goto done; - break; - case CMARK_NODE_PARAGRAPH: - if (parser->blank) - goto done; - break; - case CMARK_NODE_FOOTNOTE_DEFINITION: - if (!parse_footnote_definition_block_prefix(parser, input, container)) - goto done; - break; - default: - break; - } - } - - *all_matched = true; - -done: - if (!*all_matched) { - container = container->parent; // back up to last matching node - } - - if (!should_continue) { - container = NULL; - } - - return container; -} - -static void open_new_blocks(cmark_parser *parser, cmark_node **container, - cmark_chunk *input, bool all_matched) { - bool indented; - cmark_list *data = NULL; - bool maybe_lazy = S_type(parser->current) == CMARK_NODE_PARAGRAPH; - cmark_node_type cont_type = S_type(*container); - bufsize_t matched = 0; - int lev = 0; - bool save_partially_consumed_tab; - bool has_content; - int save_offset; - int save_column; - size_t depth = 0; - - while (cont_type != CMARK_NODE_CODE_BLOCK && - cont_type != CMARK_NODE_HTML_BLOCK) { - depth++; - S_find_first_nonspace(parser, input); - indented = parser->indent >= CODE_INDENT; - - if (!indented && peek_at(input, parser->first_nonspace) == '>') { - - bufsize_t blockquote_startpos = parser->first_nonspace; - - S_advance_offset(parser, input, - parser->first_nonspace + 1 - parser->offset, false); - // optional following character - if (S_is_space_or_tab(peek_at(input, parser->offset))) { - S_advance_offset(parser, input, 1, true); - } - *container = add_child(parser, *container, CMARK_NODE_BLOCK_QUOTE, - blockquote_startpos + 1); - - } else if (!indented && (matched = scan_atx_heading_start( - input, parser->first_nonspace))) { - bufsize_t hashpos; - int level = 0; - bufsize_t heading_startpos = parser->first_nonspace; - - S_advance_offset(parser, input, - parser->first_nonspace + matched - parser->offset, - false); - *container = add_child(parser, *container, CMARK_NODE_HEADING, - heading_startpos + 1); - - hashpos = cmark_chunk_strchr(input, '#', parser->first_nonspace); - - while (peek_at(input, hashpos) == '#') { - level++; - hashpos++; - } - - (*container)->as.heading.level = level; - (*container)->as.heading.setext = false; - (*container)->internal_offset = matched; - - } else if (!indented && (matched = scan_open_code_fence( - input, parser->first_nonspace))) { - *container = add_child(parser, *container, CMARK_NODE_CODE_BLOCK, - parser->first_nonspace + 1); - (*container)->as.code.fenced = true; - (*container)->as.code.fence_char = peek_at(input, parser->first_nonspace); - (*container)->as.code.fence_length = (matched > 255) ? 255 : (uint8_t)matched; - (*container)->as.code.fence_offset = - (int8_t)(parser->first_nonspace - parser->offset); - (*container)->as.code.info = cmark_chunk_literal(""); - S_advance_offset(parser, input, - parser->first_nonspace + matched - parser->offset, - false); - - } else if (!indented && ((matched = scan_html_block_start( - input, parser->first_nonspace)) || - (cont_type != CMARK_NODE_PARAGRAPH && - (matched = scan_html_block_start_7( - input, parser->first_nonspace))))) { - *container = add_child(parser, *container, CMARK_NODE_HTML_BLOCK, - parser->first_nonspace + 1); - (*container)->as.html_block_type = matched; - // note, we don't adjust parser->offset because the tag is part of the - // text - } else if (!indented && cont_type == CMARK_NODE_PARAGRAPH && - (lev = - scan_setext_heading_line(input, parser->first_nonspace))) { - // finalize paragraph, resolving reference links - has_content = resolve_reference_link_definitions(parser, *container); - - if (has_content) { - - (*container)->type = (uint16_t)CMARK_NODE_HEADING; - (*container)->as.heading.level = lev; - (*container)->as.heading.setext = true; - S_advance_offset(parser, input, input->len - 1 - parser->offset, false); - } - } else if (!indented && - !(cont_type == CMARK_NODE_PARAGRAPH && !all_matched) && - (parser->thematic_break_kill_pos <= parser->first_nonspace) && - (matched = S_scan_thematic_break(parser, input, parser->first_nonspace))) { - // it's only now that we know the line is not part of a setext heading: - *container = add_child(parser, *container, CMARK_NODE_THEMATIC_BREAK, - parser->first_nonspace + 1); - S_advance_offset(parser, input, input->len - 1 - parser->offset, false); - } else if (!indented && - (parser->options & CMARK_OPT_FOOTNOTES) && - depth < MAX_LIST_DEPTH && - (matched = scan_footnote_definition(input, parser->first_nonspace))) { - cmark_chunk c = cmark_chunk_dup(input, parser->first_nonspace + 2, matched - 2); - - while (c.data[c.len - 1] != ']') - --c.len; - --c.len; - - cmark_chunk_to_cstr(parser->mem, &c); - - S_advance_offset(parser, input, parser->first_nonspace + matched - parser->offset, false); - *container = add_child(parser, *container, CMARK_NODE_FOOTNOTE_DEFINITION, parser->first_nonspace + matched + 1); - (*container)->as.literal = c; - - (*container)->internal_offset = matched; - } else if ((!indented || cont_type == CMARK_NODE_LIST) && - parser->indent < 4 && - depth < MAX_LIST_DEPTH && - (matched = parse_list_marker( - parser->mem, input, parser->first_nonspace, - (*container)->type == CMARK_NODE_PARAGRAPH, &data))) { - - // Note that we can have new list items starting with >= 4 - // spaces indent, as long as the list container is still open. - int i = 0; - - // compute padding: - S_advance_offset(parser, input, - parser->first_nonspace + matched - parser->offset, - false); - - save_partially_consumed_tab = parser->partially_consumed_tab; - save_offset = parser->offset; - save_column = parser->column; - - while (parser->column - save_column <= 5 && - S_is_space_or_tab(peek_at(input, parser->offset))) { - S_advance_offset(parser, input, 1, true); - } - - i = parser->column - save_column; - if (i >= 5 || i < 1 || - // only spaces after list marker: - S_is_line_end_char(peek_at(input, parser->offset))) { - data->padding = matched + 1; - parser->offset = save_offset; - parser->column = save_column; - parser->partially_consumed_tab = save_partially_consumed_tab; - if (i > 0) { - S_advance_offset(parser, input, 1, true); - } - } else { - data->padding = matched + i; - } - - // check container; if it's a list, see if this list item - // can continue the list; otherwise, create a list container. - - data->marker_offset = parser->indent; - - if (cont_type != CMARK_NODE_LIST || - !lists_match(&((*container)->as.list), data)) { - *container = add_child(parser, *container, CMARK_NODE_LIST, - parser->first_nonspace + 1); - - memcpy(&((*container)->as.list), data, sizeof(*data)); - } - - // add the list item - *container = add_child(parser, *container, CMARK_NODE_ITEM, - parser->first_nonspace + 1); - /* TODO: static */ - memcpy(&((*container)->as.list), data, sizeof(*data)); - parser->mem->free(data); - } else if (indented && !maybe_lazy && !parser->blank) { - S_advance_offset(parser, input, CODE_INDENT, true); - *container = add_child(parser, *container, CMARK_NODE_CODE_BLOCK, - parser->offset + 1); - (*container)->as.code.fenced = false; - (*container)->as.code.fence_char = 0; - (*container)->as.code.fence_length = 0; - (*container)->as.code.fence_offset = 0; - (*container)->as.code.info = cmark_chunk_literal(""); - } else { - cmark_llist *tmp; - cmark_node *new_container = NULL; - - for (tmp = parser->syntax_extensions; tmp; tmp=tmp->next) { - cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp->data; - - if (ext->try_opening_block) { - new_container = ext->try_opening_block( - ext, indented, parser, *container, input->data, input->len); - - if (new_container) { - *container = new_container; - break; - } - } - } - - if (!new_container) { - break; - } - } - - if (accepts_lines(S_type(*container))) { - // if it's a line container, it can't contain other containers - break; - } - - cont_type = S_type(*container); - maybe_lazy = false; - } -} - -static void add_text_to_container(cmark_parser *parser, cmark_node *container, - cmark_node *last_matched_container, - cmark_chunk *input) { - cmark_node *tmp; - // what remains at parser->offset is a text line. add the text to the - // appropriate container. - - S_find_first_nonspace(parser, input); - - if (parser->blank && container->last_child) - S_set_last_line_blank(container->last_child, true); - - // block quote lines are never blank as they start with > - // and we don't count blanks in fenced code for purposes of tight/loose - // lists or breaking out of lists. we also don't set last_line_blank - // on an empty list item. - const cmark_node_type ctype = S_type(container); - const bool last_line_blank = - (parser->blank && ctype != CMARK_NODE_BLOCK_QUOTE && - ctype != CMARK_NODE_HEADING && ctype != CMARK_NODE_THEMATIC_BREAK && - !(ctype == CMARK_NODE_CODE_BLOCK && container->as.code.fenced) && - !(ctype == CMARK_NODE_ITEM && container->first_child == NULL && - container->start_line == parser->line_number)); - - S_set_last_line_blank(container, last_line_blank); - - tmp = container; - while (tmp->parent) { - S_set_last_line_blank(tmp->parent, false); - tmp = tmp->parent; - } - - // If the last line processed belonged to a paragraph node, - // and we didn't match all of the line prefixes for the open containers, - // and we didn't start any new containers, - // and the line isn't blank, - // then treat this as a "lazy continuation line" and add it to - // the open paragraph. - if (parser->current != last_matched_container && - container == last_matched_container && !parser->blank && - S_type(parser->current) == CMARK_NODE_PARAGRAPH) { - add_line(parser->current, input, parser); - } else { // not a lazy continuation - // Finalize any blocks that were not matched and set cur to container: - while (parser->current != last_matched_container) { - parser->current = finalize(parser, parser->current); - assert(parser->current != NULL); - } - - if (S_type(container) == CMARK_NODE_CODE_BLOCK) { - add_line(container, input, parser); - } else if (S_type(container) == CMARK_NODE_HTML_BLOCK) { - add_line(container, input, parser); - - int matches_end_condition; - switch (container->as.html_block_type) { - case 1: - // , ,
- matches_end_condition = - scan_html_block_end_1(input, parser->first_nonspace); - break; - case 2: - // --> - matches_end_condition = - scan_html_block_end_2(input, parser->first_nonspace); - break; - case 3: - // ?> - matches_end_condition = - scan_html_block_end_3(input, parser->first_nonspace); - break; - case 4: - // > - matches_end_condition = - scan_html_block_end_4(input, parser->first_nonspace); - break; - case 5: - // ]]> - matches_end_condition = - scan_html_block_end_5(input, parser->first_nonspace); - break; - default: - matches_end_condition = 0; - break; - } - - if (matches_end_condition) { - container = finalize(parser, container); - assert(parser->current != NULL); - } - } else if (parser->blank) { - // ??? do nothing - } else if (accepts_lines(S_type(container))) { - if (S_type(container) == CMARK_NODE_HEADING && - container->as.heading.setext == false) { - chop_trailing_hashtags(input); - } - S_advance_offset(parser, input, parser->first_nonspace - parser->offset, - false); - add_line(container, input, parser); - } else { - // create paragraph container for line - container = add_child(parser, container, CMARK_NODE_PARAGRAPH, - parser->first_nonspace + 1); - S_advance_offset(parser, input, parser->first_nonspace - parser->offset, - false); - add_line(container, input, parser); - } - - parser->current = container; - } -} - -/* See http://spec.commonmark.org/0.24/#phase-1-block-structure */ -static void S_process_line(cmark_parser *parser, const unsigned char *buffer, - bufsize_t bytes) { - cmark_node *last_matched_container; - bool all_matched = true; - cmark_node *container; - cmark_chunk input; - cmark_node *current; - - cmark_strbuf_clear(&parser->curline); - - if (parser->options & CMARK_OPT_VALIDATE_UTF8) - cmark_utf8proc_check(&parser->curline, buffer, bytes); - else - cmark_strbuf_put(&parser->curline, buffer, bytes); - - bytes = parser->curline.size; - - // ensure line ends with a newline: - if (bytes == 0 || !S_is_line_end_char(parser->curline.ptr[bytes - 1])) - cmark_strbuf_putc(&parser->curline, '\n'); - - parser->offset = 0; - parser->column = 0; - parser->first_nonspace = 0; - parser->first_nonspace_column = 0; - parser->thematic_break_kill_pos = 0; - parser->indent = 0; - parser->blank = false; - parser->partially_consumed_tab = false; - - input.data = parser->curline.ptr; - input.len = parser->curline.size; - input.alloc = 0; - - // Skip UTF-8 BOM. - if (parser->line_number == 0 && - input.len >= 3 && - memcmp(input.data, "\xef\xbb\xbf", 3) == 0) - parser->offset += 3; - - parser->line_number++; - - last_matched_container = check_open_blocks(parser, &input, &all_matched); - - if (!last_matched_container) - goto finished; - - container = last_matched_container; - - current = parser->current; - - open_new_blocks(parser, &container, &input, all_matched); - - /* parser->current might have changed if feed_reentrant was called */ - if (current == parser->current) - add_text_to_container(parser, container, last_matched_container, &input); - -finished: - parser->last_line_length = input.len; - if (parser->last_line_length && - input.data[parser->last_line_length - 1] == '\n') - parser->last_line_length -= 1; - if (parser->last_line_length && - input.data[parser->last_line_length - 1] == '\r') - parser->last_line_length -= 1; - - cmark_strbuf_clear(&parser->curline); -} - -cmark_node *cmark_parser_finish(cmark_parser *parser) { - cmark_node *res; - cmark_llist *extensions; - - /* Parser was already finished once */ - if (parser->root == NULL) - return NULL; - - if (parser->linebuf.size) { - S_process_line(parser, parser->linebuf.ptr, parser->linebuf.size); - cmark_strbuf_clear(&parser->linebuf); - } - - finalize_document(parser); - - cmark_consolidate_text_nodes(parser->root); - - cmark_strbuf_free(&parser->curline); - cmark_strbuf_free(&parser->linebuf); - -#if CMARK_DEBUG_NODES - if (cmark_node_check(parser->root, stderr)) { - abort(); - } -#endif - - for (extensions = parser->syntax_extensions; extensions; extensions = extensions->next) { - cmark_syntax_extension *ext = (cmark_syntax_extension *) extensions->data; - if (ext->postprocess_func) { - cmark_node *processed = ext->postprocess_func(ext, parser, parser->root); - if (processed) - parser->root = processed; - } - } - - res = parser->root; - parser->root = NULL; - - cmark_parser_reset(parser); - - return res; -} - -int cmark_parser_get_line_number(cmark_parser *parser) { - return parser->line_number; -} - -bufsize_t cmark_parser_get_offset(cmark_parser *parser) { - return parser->offset; -} - -bufsize_t cmark_parser_get_column(cmark_parser *parser) { - return parser->column; -} - -int cmark_parser_get_first_nonspace(cmark_parser *parser) { - return parser->first_nonspace; -} - -int cmark_parser_get_first_nonspace_column(cmark_parser *parser) { - return parser->first_nonspace_column; -} - -int cmark_parser_get_indent(cmark_parser *parser) { - return parser->indent; -} - -int cmark_parser_is_blank(cmark_parser *parser) { - return parser->blank; -} - -int cmark_parser_has_partially_consumed_tab(cmark_parser *parser) { - return parser->partially_consumed_tab; -} - -int cmark_parser_get_last_line_length(cmark_parser *parser) { - return parser->last_line_length; -} - -cmark_node *cmark_parser_add_child(cmark_parser *parser, - cmark_node *parent, - cmark_node_type block_type, - int start_column) { - return add_child(parser, parent, block_type, start_column); -} - -void cmark_parser_advance_offset(cmark_parser *parser, - const char *input, - int count, - int columns) { - cmark_chunk input_chunk = cmark_chunk_literal(input); - - S_advance_offset(parser, &input_chunk, count, columns != 0); -} - -void cmark_parser_set_backslash_ispunct_func(cmark_parser *parser, - cmark_ispunct_func func) { - parser->backslash_ispunct = func; -} - -cmark_llist *cmark_parser_get_syntax_extensions(cmark_parser *parser) { - return parser->syntax_extensions; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/blocks.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/blocks.o deleted file mode 100644 index 9ecdb1f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/blocks.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.c deleted file mode 100644 index c7934e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.c +++ /dev/null @@ -1,278 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "cmark_ctype.h" -#include "buffer.h" - -/* Used as default value for cmark_strbuf->ptr so that people can always - * assume ptr is non-NULL and zero terminated even for new cmark_strbufs. - */ -unsigned char cmark_strbuf__initbuf[1]; - -#ifndef MIN -#define MIN(x, y) ((x < y) ? x : y) -#endif - -void cmark_strbuf_init(cmark_mem *mem, cmark_strbuf *buf, - bufsize_t initial_size) { - buf->mem = mem; - buf->asize = 0; - buf->size = 0; - buf->ptr = cmark_strbuf__initbuf; - - if (initial_size > 0) - cmark_strbuf_grow(buf, initial_size); -} - -static CMARK_INLINE void S_strbuf_grow_by(cmark_strbuf *buf, bufsize_t add) { - cmark_strbuf_grow(buf, buf->size + add); -} - -void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size) { - assert(target_size > 0); - - if (target_size < buf->asize) - return; - - if (target_size > (bufsize_t)(INT32_MAX / 2)) { - fprintf(stderr, - "[cmark] cmark_strbuf_grow requests buffer with size > %d, aborting\n", - (INT32_MAX / 2)); - abort(); - } - - /* Oversize the buffer by 50% to guarantee amortized linear time - * complexity on append operations. */ - bufsize_t new_size = target_size + target_size / 2; - new_size += 1; - new_size = (new_size + 7) & ~7; - - buf->ptr = (unsigned char *)buf->mem->realloc(buf->asize ? buf->ptr : NULL, - new_size); - buf->asize = new_size; -} - -bufsize_t cmark_strbuf_len(const cmark_strbuf *buf) { return buf->size; } - -void cmark_strbuf_free(cmark_strbuf *buf) { - if (!buf) - return; - - if (buf->ptr != cmark_strbuf__initbuf) - buf->mem->free(buf->ptr); - - cmark_strbuf_init(buf->mem, buf, 0); -} - -void cmark_strbuf_clear(cmark_strbuf *buf) { - buf->size = 0; - - if (buf->asize > 0) - buf->ptr[0] = '\0'; -} - -void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data, - bufsize_t len) { - if (len <= 0 || data == NULL) { - cmark_strbuf_clear(buf); - } else { - if (data != buf->ptr) { - if (len >= buf->asize) - cmark_strbuf_grow(buf, len); - memmove(buf->ptr, data, len); - } - buf->size = len; - buf->ptr[buf->size] = '\0'; - } -} - -void cmark_strbuf_sets(cmark_strbuf *buf, const char *string) { - cmark_strbuf_set(buf, (const unsigned char *)string, - string ? (bufsize_t)strlen(string) : 0); -} - -void cmark_strbuf_putc(cmark_strbuf *buf, int c) { - S_strbuf_grow_by(buf, 1); - buf->ptr[buf->size++] = (unsigned char)(c & 0xFF); - buf->ptr[buf->size] = '\0'; -} - -void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data, - bufsize_t len) { - if (len <= 0) - return; - - S_strbuf_grow_by(buf, len); - memmove(buf->ptr + buf->size, data, len); - buf->size += len; - buf->ptr[buf->size] = '\0'; -} - -void cmark_strbuf_puts(cmark_strbuf *buf, const char *string) { - cmark_strbuf_put(buf, (const unsigned char *)string, (bufsize_t)strlen(string)); -} - -void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize, - const cmark_strbuf *buf) { - bufsize_t copylen; - - assert(buf); - if (!data || datasize <= 0) - return; - - data[0] = '\0'; - - if (buf->size == 0 || buf->asize <= 0) - return; - - copylen = buf->size; - if (copylen > datasize - 1) - copylen = datasize - 1; - memmove(data, buf->ptr, copylen); - data[copylen] = '\0'; -} - -void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b) { - cmark_strbuf t = *buf_a; - *buf_a = *buf_b; - *buf_b = t; -} - -unsigned char *cmark_strbuf_detach(cmark_strbuf *buf) { - unsigned char *data = buf->ptr; - - if (buf->asize == 0) { - /* return an empty string */ - return (unsigned char *)buf->mem->calloc(1, 1); - } - - cmark_strbuf_init(buf->mem, buf, 0); - return data; -} - -int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b) { - int result = memcmp(a->ptr, b->ptr, MIN(a->size, b->size)); - return (result != 0) ? result - : (a->size < b->size) ? -1 : (a->size > b->size) ? 1 : 0; -} - -bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos) { - if (pos >= buf->size) - return -1; - if (pos < 0) - pos = 0; - - const unsigned char *p = - (unsigned char *)memchr(buf->ptr + pos, c, buf->size - pos); - if (!p) - return -1; - - return (bufsize_t)(p - (const unsigned char *)buf->ptr); -} - -bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos) { - if (pos < 0 || buf->size == 0) - return -1; - if (pos >= buf->size) - pos = buf->size - 1; - - bufsize_t i; - for (i = pos; i >= 0; i--) { - if (buf->ptr[i] == (unsigned char)c) - return i; - } - - return -1; -} - -void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len) { - if (len < 0) - len = 0; - - if (len < buf->size) { - buf->size = len; - buf->ptr[buf->size] = '\0'; - } -} - -void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n) { - if (n > 0) { - if (n > buf->size) - n = buf->size; - buf->size = buf->size - n; - if (buf->size) - memmove(buf->ptr, buf->ptr + n, buf->size); - - buf->ptr[buf->size] = '\0'; - } -} - -void cmark_strbuf_rtrim(cmark_strbuf *buf) { - if (!buf->size) - return; - - while (buf->size > 0) { - if (!cmark_isspace(buf->ptr[buf->size - 1])) - break; - - buf->size--; - } - - buf->ptr[buf->size] = '\0'; -} - -void cmark_strbuf_trim(cmark_strbuf *buf) { - bufsize_t i = 0; - - if (!buf->size) - return; - - while (i < buf->size && cmark_isspace(buf->ptr[i])) - i++; - - cmark_strbuf_drop(buf, i); - - cmark_strbuf_rtrim(buf); -} - -// Destructively modify string, collapsing consecutive -// space and newline characters into a single space. -void cmark_strbuf_normalize_whitespace(cmark_strbuf *s) { - bool last_char_was_space = false; - bufsize_t r, w; - - for (r = 0, w = 0; r < s->size; ++r) { - if (cmark_isspace(s->ptr[r])) { - if (!last_char_was_space) { - s->ptr[w++] = ' '; - last_char_was_space = true; - } - } else { - s->ptr[w++] = s->ptr[r]; - last_char_was_space = false; - } - } - - cmark_strbuf_truncate(s, w); -} - -// Destructively unescape a string: remove backslashes before punctuation chars. -extern void cmark_strbuf_unescape(cmark_strbuf *buf) { - bufsize_t r, w; - - for (r = 0, w = 0; r < buf->size; ++r) { - if (buf->ptr[r] == '\\' && cmark_ispunct(buf->ptr[r + 1])) - r++; - - buf->ptr[w++] = buf->ptr[r]; - } - - cmark_strbuf_truncate(buf, w); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.h deleted file mode 100644 index b85bb44..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.h +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef CMARK_BUFFER_H -#define CMARK_BUFFER_H - -#include -#include -#include -#include -#include -#include "config.h" -#include "cmark-gfm.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - cmark_mem *mem; - unsigned char *ptr; - bufsize_t asize, size; -} cmark_strbuf; - -extern unsigned char cmark_strbuf__initbuf[]; - -#define CMARK_BUF_INIT(mem) \ - { mem, cmark_strbuf__initbuf, 0, 0 } - -/** - * Initialize a cmark_strbuf structure. - * - * For the cases where CMARK_BUF_INIT cannot be used to do static - * initialization. - */ -CMARK_GFM_EXPORT -void cmark_strbuf_init(cmark_mem *mem, cmark_strbuf *buf, - bufsize_t initial_size); - -/** - * Grow the buffer to hold at least `target_size` bytes. - */ -CMARK_GFM_EXPORT -void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size); - -CMARK_GFM_EXPORT -void cmark_strbuf_free(cmark_strbuf *buf); - -CMARK_GFM_EXPORT -void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b); - -CMARK_GFM_EXPORT -bufsize_t cmark_strbuf_len(const cmark_strbuf *buf); - -CMARK_GFM_EXPORT -int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b); - -CMARK_GFM_EXPORT -unsigned char *cmark_strbuf_detach(cmark_strbuf *buf); - -CMARK_GFM_EXPORT -void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize, - const cmark_strbuf *buf); - -static CMARK_INLINE const char *cmark_strbuf_cstr(const cmark_strbuf *buf) { - return (char *)buf->ptr; -} - -#define cmark_strbuf_at(buf, n) ((buf)->ptr[n]) - -CMARK_GFM_EXPORT -void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data, - bufsize_t len); - -CMARK_GFM_EXPORT -void cmark_strbuf_sets(cmark_strbuf *buf, const char *string); - -CMARK_GFM_EXPORT -void cmark_strbuf_putc(cmark_strbuf *buf, int c); - -CMARK_GFM_EXPORT -void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data, - bufsize_t len); - -CMARK_GFM_EXPORT -void cmark_strbuf_puts(cmark_strbuf *buf, const char *string); - -CMARK_GFM_EXPORT -void cmark_strbuf_clear(cmark_strbuf *buf); - -CMARK_GFM_EXPORT -bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos); - -CMARK_GFM_EXPORT -bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos); - -CMARK_GFM_EXPORT -void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n); - -CMARK_GFM_EXPORT -void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len); - -CMARK_GFM_EXPORT -void cmark_strbuf_rtrim(cmark_strbuf *buf); - -CMARK_GFM_EXPORT -void cmark_strbuf_trim(cmark_strbuf *buf); - -CMARK_GFM_EXPORT -void cmark_strbuf_normalize_whitespace(cmark_strbuf *s); - -CMARK_GFM_EXPORT -void cmark_strbuf_unescape(cmark_strbuf *s); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.o deleted file mode 100644 index 4732920..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/buffer.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/case_fold_switch.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/case_fold_switch.inc deleted file mode 100644 index 28e223e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/case_fold_switch.inc +++ /dev/null @@ -1,4327 +0,0 @@ - switch (c) { - case 0x0041: - bufpush(0x0061); - break; - case 0x0042: - bufpush(0x0062); - break; - case 0x0043: - bufpush(0x0063); - break; - case 0x0044: - bufpush(0x0064); - break; - case 0x0045: - bufpush(0x0065); - break; - case 0x0046: - bufpush(0x0066); - break; - case 0x0047: - bufpush(0x0067); - break; - case 0x0048: - bufpush(0x0068); - break; - case 0x0049: - bufpush(0x0069); - break; - case 0x004A: - bufpush(0x006A); - break; - case 0x004B: - bufpush(0x006B); - break; - case 0x004C: - bufpush(0x006C); - break; - case 0x004D: - bufpush(0x006D); - break; - case 0x004E: - bufpush(0x006E); - break; - case 0x004F: - bufpush(0x006F); - break; - case 0x0050: - bufpush(0x0070); - break; - case 0x0051: - bufpush(0x0071); - break; - case 0x0052: - bufpush(0x0072); - break; - case 0x0053: - bufpush(0x0073); - break; - case 0x0054: - bufpush(0x0074); - break; - case 0x0055: - bufpush(0x0075); - break; - case 0x0056: - bufpush(0x0076); - break; - case 0x0057: - bufpush(0x0077); - break; - case 0x0058: - bufpush(0x0078); - break; - case 0x0059: - bufpush(0x0079); - break; - case 0x005A: - bufpush(0x007A); - break; - case 0x00B5: - bufpush(0x03BC); - break; - case 0x00C0: - bufpush(0x00E0); - break; - case 0x00C1: - bufpush(0x00E1); - break; - case 0x00C2: - bufpush(0x00E2); - break; - case 0x00C3: - bufpush(0x00E3); - break; - case 0x00C4: - bufpush(0x00E4); - break; - case 0x00C5: - bufpush(0x00E5); - break; - case 0x00C6: - bufpush(0x00E6); - break; - case 0x00C7: - bufpush(0x00E7); - break; - case 0x00C8: - bufpush(0x00E8); - break; - case 0x00C9: - bufpush(0x00E9); - break; - case 0x00CA: - bufpush(0x00EA); - break; - case 0x00CB: - bufpush(0x00EB); - break; - case 0x00CC: - bufpush(0x00EC); - break; - case 0x00CD: - bufpush(0x00ED); - break; - case 0x00CE: - bufpush(0x00EE); - break; - case 0x00CF: - bufpush(0x00EF); - break; - case 0x00D0: - bufpush(0x00F0); - break; - case 0x00D1: - bufpush(0x00F1); - break; - case 0x00D2: - bufpush(0x00F2); - break; - case 0x00D3: - bufpush(0x00F3); - break; - case 0x00D4: - bufpush(0x00F4); - break; - case 0x00D5: - bufpush(0x00F5); - break; - case 0x00D6: - bufpush(0x00F6); - break; - case 0x00D8: - bufpush(0x00F8); - break; - case 0x00D9: - bufpush(0x00F9); - break; - case 0x00DA: - bufpush(0x00FA); - break; - case 0x00DB: - bufpush(0x00FB); - break; - case 0x00DC: - bufpush(0x00FC); - break; - case 0x00DD: - bufpush(0x00FD); - break; - case 0x00DE: - bufpush(0x00FE); - break; - case 0x00DF: - bufpush(0x0073); - bufpush(0x0073); - break; - case 0x0100: - bufpush(0x0101); - break; - case 0x0102: - bufpush(0x0103); - break; - case 0x0104: - bufpush(0x0105); - break; - case 0x0106: - bufpush(0x0107); - break; - case 0x0108: - bufpush(0x0109); - break; - case 0x010A: - bufpush(0x010B); - break; - case 0x010C: - bufpush(0x010D); - break; - case 0x010E: - bufpush(0x010F); - break; - case 0x0110: - bufpush(0x0111); - break; - case 0x0112: - bufpush(0x0113); - break; - case 0x0114: - bufpush(0x0115); - break; - case 0x0116: - bufpush(0x0117); - break; - case 0x0118: - bufpush(0x0119); - break; - case 0x011A: - bufpush(0x011B); - break; - case 0x011C: - bufpush(0x011D); - break; - case 0x011E: - bufpush(0x011F); - break; - case 0x0120: - bufpush(0x0121); - break; - case 0x0122: - bufpush(0x0123); - break; - case 0x0124: - bufpush(0x0125); - break; - case 0x0126: - bufpush(0x0127); - break; - case 0x0128: - bufpush(0x0129); - break; - case 0x012A: - bufpush(0x012B); - break; - case 0x012C: - bufpush(0x012D); - break; - case 0x012E: - bufpush(0x012F); - break; - case 0x0130: - bufpush(0x0069); - bufpush(0x0307); - break; - case 0x0132: - bufpush(0x0133); - break; - case 0x0134: - bufpush(0x0135); - break; - case 0x0136: - bufpush(0x0137); - break; - case 0x0139: - bufpush(0x013A); - break; - case 0x013B: - bufpush(0x013C); - break; - case 0x013D: - bufpush(0x013E); - break; - case 0x013F: - bufpush(0x0140); - break; - case 0x0141: - bufpush(0x0142); - break; - case 0x0143: - bufpush(0x0144); - break; - case 0x0145: - bufpush(0x0146); - break; - case 0x0147: - bufpush(0x0148); - break; - case 0x0149: - bufpush(0x02BC); - bufpush(0x006E); - break; - case 0x014A: - bufpush(0x014B); - break; - case 0x014C: - bufpush(0x014D); - break; - case 0x014E: - bufpush(0x014F); - break; - case 0x0150: - bufpush(0x0151); - break; - case 0x0152: - bufpush(0x0153); - break; - case 0x0154: - bufpush(0x0155); - break; - case 0x0156: - bufpush(0x0157); - break; - case 0x0158: - bufpush(0x0159); - break; - case 0x015A: - bufpush(0x015B); - break; - case 0x015C: - bufpush(0x015D); - break; - case 0x015E: - bufpush(0x015F); - break; - case 0x0160: - bufpush(0x0161); - break; - case 0x0162: - bufpush(0x0163); - break; - case 0x0164: - bufpush(0x0165); - break; - case 0x0166: - bufpush(0x0167); - break; - case 0x0168: - bufpush(0x0169); - break; - case 0x016A: - bufpush(0x016B); - break; - case 0x016C: - bufpush(0x016D); - break; - case 0x016E: - bufpush(0x016F); - break; - case 0x0170: - bufpush(0x0171); - break; - case 0x0172: - bufpush(0x0173); - break; - case 0x0174: - bufpush(0x0175); - break; - case 0x0176: - bufpush(0x0177); - break; - case 0x0178: - bufpush(0x00FF); - break; - case 0x0179: - bufpush(0x017A); - break; - case 0x017B: - bufpush(0x017C); - break; - case 0x017D: - bufpush(0x017E); - break; - case 0x017F: - bufpush(0x0073); - break; - case 0x0181: - bufpush(0x0253); - break; - case 0x0182: - bufpush(0x0183); - break; - case 0x0184: - bufpush(0x0185); - break; - case 0x0186: - bufpush(0x0254); - break; - case 0x0187: - bufpush(0x0188); - break; - case 0x0189: - bufpush(0x0256); - break; - case 0x018A: - bufpush(0x0257); - break; - case 0x018B: - bufpush(0x018C); - break; - case 0x018E: - bufpush(0x01DD); - break; - case 0x018F: - bufpush(0x0259); - break; - case 0x0190: - bufpush(0x025B); - break; - case 0x0191: - bufpush(0x0192); - break; - case 0x0193: - bufpush(0x0260); - break; - case 0x0194: - bufpush(0x0263); - break; - case 0x0196: - bufpush(0x0269); - break; - case 0x0197: - bufpush(0x0268); - break; - case 0x0198: - bufpush(0x0199); - break; - case 0x019C: - bufpush(0x026F); - break; - case 0x019D: - bufpush(0x0272); - break; - case 0x019F: - bufpush(0x0275); - break; - case 0x01A0: - bufpush(0x01A1); - break; - case 0x01A2: - bufpush(0x01A3); - break; - case 0x01A4: - bufpush(0x01A5); - break; - case 0x01A6: - bufpush(0x0280); - break; - case 0x01A7: - bufpush(0x01A8); - break; - case 0x01A9: - bufpush(0x0283); - break; - case 0x01AC: - bufpush(0x01AD); - break; - case 0x01AE: - bufpush(0x0288); - break; - case 0x01AF: - bufpush(0x01B0); - break; - case 0x01B1: - bufpush(0x028A); - break; - case 0x01B2: - bufpush(0x028B); - break; - case 0x01B3: - bufpush(0x01B4); - break; - case 0x01B5: - bufpush(0x01B6); - break; - case 0x01B7: - bufpush(0x0292); - break; - case 0x01B8: - bufpush(0x01B9); - break; - case 0x01BC: - bufpush(0x01BD); - break; - case 0x01C4: - bufpush(0x01C6); - break; - case 0x01C5: - bufpush(0x01C6); - break; - case 0x01C7: - bufpush(0x01C9); - break; - case 0x01C8: - bufpush(0x01C9); - break; - case 0x01CA: - bufpush(0x01CC); - break; - case 0x01CB: - bufpush(0x01CC); - break; - case 0x01CD: - bufpush(0x01CE); - break; - case 0x01CF: - bufpush(0x01D0); - break; - case 0x01D1: - bufpush(0x01D2); - break; - case 0x01D3: - bufpush(0x01D4); - break; - case 0x01D5: - bufpush(0x01D6); - break; - case 0x01D7: - bufpush(0x01D8); - break; - case 0x01D9: - bufpush(0x01DA); - break; - case 0x01DB: - bufpush(0x01DC); - break; - case 0x01DE: - bufpush(0x01DF); - break; - case 0x01E0: - bufpush(0x01E1); - break; - case 0x01E2: - bufpush(0x01E3); - break; - case 0x01E4: - bufpush(0x01E5); - break; - case 0x01E6: - bufpush(0x01E7); - break; - case 0x01E8: - bufpush(0x01E9); - break; - case 0x01EA: - bufpush(0x01EB); - break; - case 0x01EC: - bufpush(0x01ED); - break; - case 0x01EE: - bufpush(0x01EF); - break; - case 0x01F0: - bufpush(0x006A); - bufpush(0x030C); - break; - case 0x01F1: - bufpush(0x01F3); - break; - case 0x01F2: - bufpush(0x01F3); - break; - case 0x01F4: - bufpush(0x01F5); - break; - case 0x01F6: - bufpush(0x0195); - break; - case 0x01F7: - bufpush(0x01BF); - break; - case 0x01F8: - bufpush(0x01F9); - break; - case 0x01FA: - bufpush(0x01FB); - break; - case 0x01FC: - bufpush(0x01FD); - break; - case 0x01FE: - bufpush(0x01FF); - break; - case 0x0200: - bufpush(0x0201); - break; - case 0x0202: - bufpush(0x0203); - break; - case 0x0204: - bufpush(0x0205); - break; - case 0x0206: - bufpush(0x0207); - break; - case 0x0208: - bufpush(0x0209); - break; - case 0x020A: - bufpush(0x020B); - break; - case 0x020C: - bufpush(0x020D); - break; - case 0x020E: - bufpush(0x020F); - break; - case 0x0210: - bufpush(0x0211); - break; - case 0x0212: - bufpush(0x0213); - break; - case 0x0214: - bufpush(0x0215); - break; - case 0x0216: - bufpush(0x0217); - break; - case 0x0218: - bufpush(0x0219); - break; - case 0x021A: - bufpush(0x021B); - break; - case 0x021C: - bufpush(0x021D); - break; - case 0x021E: - bufpush(0x021F); - break; - case 0x0220: - bufpush(0x019E); - break; - case 0x0222: - bufpush(0x0223); - break; - case 0x0224: - bufpush(0x0225); - break; - case 0x0226: - bufpush(0x0227); - break; - case 0x0228: - bufpush(0x0229); - break; - case 0x022A: - bufpush(0x022B); - break; - case 0x022C: - bufpush(0x022D); - break; - case 0x022E: - bufpush(0x022F); - break; - case 0x0230: - bufpush(0x0231); - break; - case 0x0232: - bufpush(0x0233); - break; - case 0x023A: - bufpush(0x2C65); - break; - case 0x023B: - bufpush(0x023C); - break; - case 0x023D: - bufpush(0x019A); - break; - case 0x023E: - bufpush(0x2C66); - break; - case 0x0241: - bufpush(0x0242); - break; - case 0x0243: - bufpush(0x0180); - break; - case 0x0244: - bufpush(0x0289); - break; - case 0x0245: - bufpush(0x028C); - break; - case 0x0246: - bufpush(0x0247); - break; - case 0x0248: - bufpush(0x0249); - break; - case 0x024A: - bufpush(0x024B); - break; - case 0x024C: - bufpush(0x024D); - break; - case 0x024E: - bufpush(0x024F); - break; - case 0x0345: - bufpush(0x03B9); - break; - case 0x0370: - bufpush(0x0371); - break; - case 0x0372: - bufpush(0x0373); - break; - case 0x0376: - bufpush(0x0377); - break; - case 0x037F: - bufpush(0x03F3); - break; - case 0x0386: - bufpush(0x03AC); - break; - case 0x0388: - bufpush(0x03AD); - break; - case 0x0389: - bufpush(0x03AE); - break; - case 0x038A: - bufpush(0x03AF); - break; - case 0x038C: - bufpush(0x03CC); - break; - case 0x038E: - bufpush(0x03CD); - break; - case 0x038F: - bufpush(0x03CE); - break; - case 0x0390: - bufpush(0x03B9); - bufpush(0x0308); - bufpush(0x0301); - break; - case 0x0391: - bufpush(0x03B1); - break; - case 0x0392: - bufpush(0x03B2); - break; - case 0x0393: - bufpush(0x03B3); - break; - case 0x0394: - bufpush(0x03B4); - break; - case 0x0395: - bufpush(0x03B5); - break; - case 0x0396: - bufpush(0x03B6); - break; - case 0x0397: - bufpush(0x03B7); - break; - case 0x0398: - bufpush(0x03B8); - break; - case 0x0399: - bufpush(0x03B9); - break; - case 0x039A: - bufpush(0x03BA); - break; - case 0x039B: - bufpush(0x03BB); - break; - case 0x039C: - bufpush(0x03BC); - break; - case 0x039D: - bufpush(0x03BD); - break; - case 0x039E: - bufpush(0x03BE); - break; - case 0x039F: - bufpush(0x03BF); - break; - case 0x03A0: - bufpush(0x03C0); - break; - case 0x03A1: - bufpush(0x03C1); - break; - case 0x03A3: - bufpush(0x03C3); - break; - case 0x03A4: - bufpush(0x03C4); - break; - case 0x03A5: - bufpush(0x03C5); - break; - case 0x03A6: - bufpush(0x03C6); - break; - case 0x03A7: - bufpush(0x03C7); - break; - case 0x03A8: - bufpush(0x03C8); - break; - case 0x03A9: - bufpush(0x03C9); - break; - case 0x03AA: - bufpush(0x03CA); - break; - case 0x03AB: - bufpush(0x03CB); - break; - case 0x03B0: - bufpush(0x03C5); - bufpush(0x0308); - bufpush(0x0301); - break; - case 0x03C2: - bufpush(0x03C3); - break; - case 0x03CF: - bufpush(0x03D7); - break; - case 0x03D0: - bufpush(0x03B2); - break; - case 0x03D1: - bufpush(0x03B8); - break; - case 0x03D5: - bufpush(0x03C6); - break; - case 0x03D6: - bufpush(0x03C0); - break; - case 0x03D8: - bufpush(0x03D9); - break; - case 0x03DA: - bufpush(0x03DB); - break; - case 0x03DC: - bufpush(0x03DD); - break; - case 0x03DE: - bufpush(0x03DF); - break; - case 0x03E0: - bufpush(0x03E1); - break; - case 0x03E2: - bufpush(0x03E3); - break; - case 0x03E4: - bufpush(0x03E5); - break; - case 0x03E6: - bufpush(0x03E7); - break; - case 0x03E8: - bufpush(0x03E9); - break; - case 0x03EA: - bufpush(0x03EB); - break; - case 0x03EC: - bufpush(0x03ED); - break; - case 0x03EE: - bufpush(0x03EF); - break; - case 0x03F0: - bufpush(0x03BA); - break; - case 0x03F1: - bufpush(0x03C1); - break; - case 0x03F4: - bufpush(0x03B8); - break; - case 0x03F5: - bufpush(0x03B5); - break; - case 0x03F7: - bufpush(0x03F8); - break; - case 0x03F9: - bufpush(0x03F2); - break; - case 0x03FA: - bufpush(0x03FB); - break; - case 0x03FD: - bufpush(0x037B); - break; - case 0x03FE: - bufpush(0x037C); - break; - case 0x03FF: - bufpush(0x037D); - break; - case 0x0400: - bufpush(0x0450); - break; - case 0x0401: - bufpush(0x0451); - break; - case 0x0402: - bufpush(0x0452); - break; - case 0x0403: - bufpush(0x0453); - break; - case 0x0404: - bufpush(0x0454); - break; - case 0x0405: - bufpush(0x0455); - break; - case 0x0406: - bufpush(0x0456); - break; - case 0x0407: - bufpush(0x0457); - break; - case 0x0408: - bufpush(0x0458); - break; - case 0x0409: - bufpush(0x0459); - break; - case 0x040A: - bufpush(0x045A); - break; - case 0x040B: - bufpush(0x045B); - break; - case 0x040C: - bufpush(0x045C); - break; - case 0x040D: - bufpush(0x045D); - break; - case 0x040E: - bufpush(0x045E); - break; - case 0x040F: - bufpush(0x045F); - break; - case 0x0410: - bufpush(0x0430); - break; - case 0x0411: - bufpush(0x0431); - break; - case 0x0412: - bufpush(0x0432); - break; - case 0x0413: - bufpush(0x0433); - break; - case 0x0414: - bufpush(0x0434); - break; - case 0x0415: - bufpush(0x0435); - break; - case 0x0416: - bufpush(0x0436); - break; - case 0x0417: - bufpush(0x0437); - break; - case 0x0418: - bufpush(0x0438); - break; - case 0x0419: - bufpush(0x0439); - break; - case 0x041A: - bufpush(0x043A); - break; - case 0x041B: - bufpush(0x043B); - break; - case 0x041C: - bufpush(0x043C); - break; - case 0x041D: - bufpush(0x043D); - break; - case 0x041E: - bufpush(0x043E); - break; - case 0x041F: - bufpush(0x043F); - break; - case 0x0420: - bufpush(0x0440); - break; - case 0x0421: - bufpush(0x0441); - break; - case 0x0422: - bufpush(0x0442); - break; - case 0x0423: - bufpush(0x0443); - break; - case 0x0424: - bufpush(0x0444); - break; - case 0x0425: - bufpush(0x0445); - break; - case 0x0426: - bufpush(0x0446); - break; - case 0x0427: - bufpush(0x0447); - break; - case 0x0428: - bufpush(0x0448); - break; - case 0x0429: - bufpush(0x0449); - break; - case 0x042A: - bufpush(0x044A); - break; - case 0x042B: - bufpush(0x044B); - break; - case 0x042C: - bufpush(0x044C); - break; - case 0x042D: - bufpush(0x044D); - break; - case 0x042E: - bufpush(0x044E); - break; - case 0x042F: - bufpush(0x044F); - break; - case 0x0460: - bufpush(0x0461); - break; - case 0x0462: - bufpush(0x0463); - break; - case 0x0464: - bufpush(0x0465); - break; - case 0x0466: - bufpush(0x0467); - break; - case 0x0468: - bufpush(0x0469); - break; - case 0x046A: - bufpush(0x046B); - break; - case 0x046C: - bufpush(0x046D); - break; - case 0x046E: - bufpush(0x046F); - break; - case 0x0470: - bufpush(0x0471); - break; - case 0x0472: - bufpush(0x0473); - break; - case 0x0474: - bufpush(0x0475); - break; - case 0x0476: - bufpush(0x0477); - break; - case 0x0478: - bufpush(0x0479); - break; - case 0x047A: - bufpush(0x047B); - break; - case 0x047C: - bufpush(0x047D); - break; - case 0x047E: - bufpush(0x047F); - break; - case 0x0480: - bufpush(0x0481); - break; - case 0x048A: - bufpush(0x048B); - break; - case 0x048C: - bufpush(0x048D); - break; - case 0x048E: - bufpush(0x048F); - break; - case 0x0490: - bufpush(0x0491); - break; - case 0x0492: - bufpush(0x0493); - break; - case 0x0494: - bufpush(0x0495); - break; - case 0x0496: - bufpush(0x0497); - break; - case 0x0498: - bufpush(0x0499); - break; - case 0x049A: - bufpush(0x049B); - break; - case 0x049C: - bufpush(0x049D); - break; - case 0x049E: - bufpush(0x049F); - break; - case 0x04A0: - bufpush(0x04A1); - break; - case 0x04A2: - bufpush(0x04A3); - break; - case 0x04A4: - bufpush(0x04A5); - break; - case 0x04A6: - bufpush(0x04A7); - break; - case 0x04A8: - bufpush(0x04A9); - break; - case 0x04AA: - bufpush(0x04AB); - break; - case 0x04AC: - bufpush(0x04AD); - break; - case 0x04AE: - bufpush(0x04AF); - break; - case 0x04B0: - bufpush(0x04B1); - break; - case 0x04B2: - bufpush(0x04B3); - break; - case 0x04B4: - bufpush(0x04B5); - break; - case 0x04B6: - bufpush(0x04B7); - break; - case 0x04B8: - bufpush(0x04B9); - break; - case 0x04BA: - bufpush(0x04BB); - break; - case 0x04BC: - bufpush(0x04BD); - break; - case 0x04BE: - bufpush(0x04BF); - break; - case 0x04C0: - bufpush(0x04CF); - break; - case 0x04C1: - bufpush(0x04C2); - break; - case 0x04C3: - bufpush(0x04C4); - break; - case 0x04C5: - bufpush(0x04C6); - break; - case 0x04C7: - bufpush(0x04C8); - break; - case 0x04C9: - bufpush(0x04CA); - break; - case 0x04CB: - bufpush(0x04CC); - break; - case 0x04CD: - bufpush(0x04CE); - break; - case 0x04D0: - bufpush(0x04D1); - break; - case 0x04D2: - bufpush(0x04D3); - break; - case 0x04D4: - bufpush(0x04D5); - break; - case 0x04D6: - bufpush(0x04D7); - break; - case 0x04D8: - bufpush(0x04D9); - break; - case 0x04DA: - bufpush(0x04DB); - break; - case 0x04DC: - bufpush(0x04DD); - break; - case 0x04DE: - bufpush(0x04DF); - break; - case 0x04E0: - bufpush(0x04E1); - break; - case 0x04E2: - bufpush(0x04E3); - break; - case 0x04E4: - bufpush(0x04E5); - break; - case 0x04E6: - bufpush(0x04E7); - break; - case 0x04E8: - bufpush(0x04E9); - break; - case 0x04EA: - bufpush(0x04EB); - break; - case 0x04EC: - bufpush(0x04ED); - break; - case 0x04EE: - bufpush(0x04EF); - break; - case 0x04F0: - bufpush(0x04F1); - break; - case 0x04F2: - bufpush(0x04F3); - break; - case 0x04F4: - bufpush(0x04F5); - break; - case 0x04F6: - bufpush(0x04F7); - break; - case 0x04F8: - bufpush(0x04F9); - break; - case 0x04FA: - bufpush(0x04FB); - break; - case 0x04FC: - bufpush(0x04FD); - break; - case 0x04FE: - bufpush(0x04FF); - break; - case 0x0500: - bufpush(0x0501); - break; - case 0x0502: - bufpush(0x0503); - break; - case 0x0504: - bufpush(0x0505); - break; - case 0x0506: - bufpush(0x0507); - break; - case 0x0508: - bufpush(0x0509); - break; - case 0x050A: - bufpush(0x050B); - break; - case 0x050C: - bufpush(0x050D); - break; - case 0x050E: - bufpush(0x050F); - break; - case 0x0510: - bufpush(0x0511); - break; - case 0x0512: - bufpush(0x0513); - break; - case 0x0514: - bufpush(0x0515); - break; - case 0x0516: - bufpush(0x0517); - break; - case 0x0518: - bufpush(0x0519); - break; - case 0x051A: - bufpush(0x051B); - break; - case 0x051C: - bufpush(0x051D); - break; - case 0x051E: - bufpush(0x051F); - break; - case 0x0520: - bufpush(0x0521); - break; - case 0x0522: - bufpush(0x0523); - break; - case 0x0524: - bufpush(0x0525); - break; - case 0x0526: - bufpush(0x0527); - break; - case 0x0528: - bufpush(0x0529); - break; - case 0x052A: - bufpush(0x052B); - break; - case 0x052C: - bufpush(0x052D); - break; - case 0x052E: - bufpush(0x052F); - break; - case 0x0531: - bufpush(0x0561); - break; - case 0x0532: - bufpush(0x0562); - break; - case 0x0533: - bufpush(0x0563); - break; - case 0x0534: - bufpush(0x0564); - break; - case 0x0535: - bufpush(0x0565); - break; - case 0x0536: - bufpush(0x0566); - break; - case 0x0537: - bufpush(0x0567); - break; - case 0x0538: - bufpush(0x0568); - break; - case 0x0539: - bufpush(0x0569); - break; - case 0x053A: - bufpush(0x056A); - break; - case 0x053B: - bufpush(0x056B); - break; - case 0x053C: - bufpush(0x056C); - break; - case 0x053D: - bufpush(0x056D); - break; - case 0x053E: - bufpush(0x056E); - break; - case 0x053F: - bufpush(0x056F); - break; - case 0x0540: - bufpush(0x0570); - break; - case 0x0541: - bufpush(0x0571); - break; - case 0x0542: - bufpush(0x0572); - break; - case 0x0543: - bufpush(0x0573); - break; - case 0x0544: - bufpush(0x0574); - break; - case 0x0545: - bufpush(0x0575); - break; - case 0x0546: - bufpush(0x0576); - break; - case 0x0547: - bufpush(0x0577); - break; - case 0x0548: - bufpush(0x0578); - break; - case 0x0549: - bufpush(0x0579); - break; - case 0x054A: - bufpush(0x057A); - break; - case 0x054B: - bufpush(0x057B); - break; - case 0x054C: - bufpush(0x057C); - break; - case 0x054D: - bufpush(0x057D); - break; - case 0x054E: - bufpush(0x057E); - break; - case 0x054F: - bufpush(0x057F); - break; - case 0x0550: - bufpush(0x0580); - break; - case 0x0551: - bufpush(0x0581); - break; - case 0x0552: - bufpush(0x0582); - break; - case 0x0553: - bufpush(0x0583); - break; - case 0x0554: - bufpush(0x0584); - break; - case 0x0555: - bufpush(0x0585); - break; - case 0x0556: - bufpush(0x0586); - break; - case 0x0587: - bufpush(0x0565); - bufpush(0x0582); - break; - case 0x10A0: - bufpush(0x2D00); - break; - case 0x10A1: - bufpush(0x2D01); - break; - case 0x10A2: - bufpush(0x2D02); - break; - case 0x10A3: - bufpush(0x2D03); - break; - case 0x10A4: - bufpush(0x2D04); - break; - case 0x10A5: - bufpush(0x2D05); - break; - case 0x10A6: - bufpush(0x2D06); - break; - case 0x10A7: - bufpush(0x2D07); - break; - case 0x10A8: - bufpush(0x2D08); - break; - case 0x10A9: - bufpush(0x2D09); - break; - case 0x10AA: - bufpush(0x2D0A); - break; - case 0x10AB: - bufpush(0x2D0B); - break; - case 0x10AC: - bufpush(0x2D0C); - break; - case 0x10AD: - bufpush(0x2D0D); - break; - case 0x10AE: - bufpush(0x2D0E); - break; - case 0x10AF: - bufpush(0x2D0F); - break; - case 0x10B0: - bufpush(0x2D10); - break; - case 0x10B1: - bufpush(0x2D11); - break; - case 0x10B2: - bufpush(0x2D12); - break; - case 0x10B3: - bufpush(0x2D13); - break; - case 0x10B4: - bufpush(0x2D14); - break; - case 0x10B5: - bufpush(0x2D15); - break; - case 0x10B6: - bufpush(0x2D16); - break; - case 0x10B7: - bufpush(0x2D17); - break; - case 0x10B8: - bufpush(0x2D18); - break; - case 0x10B9: - bufpush(0x2D19); - break; - case 0x10BA: - bufpush(0x2D1A); - break; - case 0x10BB: - bufpush(0x2D1B); - break; - case 0x10BC: - bufpush(0x2D1C); - break; - case 0x10BD: - bufpush(0x2D1D); - break; - case 0x10BE: - bufpush(0x2D1E); - break; - case 0x10BF: - bufpush(0x2D1F); - break; - case 0x10C0: - bufpush(0x2D20); - break; - case 0x10C1: - bufpush(0x2D21); - break; - case 0x10C2: - bufpush(0x2D22); - break; - case 0x10C3: - bufpush(0x2D23); - break; - case 0x10C4: - bufpush(0x2D24); - break; - case 0x10C5: - bufpush(0x2D25); - break; - case 0x10C7: - bufpush(0x2D27); - break; - case 0x10CD: - bufpush(0x2D2D); - break; - case 0x13F8: - bufpush(0x13F0); - break; - case 0x13F9: - bufpush(0x13F1); - break; - case 0x13FA: - bufpush(0x13F2); - break; - case 0x13FB: - bufpush(0x13F3); - break; - case 0x13FC: - bufpush(0x13F4); - break; - case 0x13FD: - bufpush(0x13F5); - break; - case 0x1C80: - bufpush(0x0432); - break; - case 0x1C81: - bufpush(0x0434); - break; - case 0x1C82: - bufpush(0x043E); - break; - case 0x1C83: - bufpush(0x0441); - break; - case 0x1C84: - bufpush(0x0442); - break; - case 0x1C85: - bufpush(0x0442); - break; - case 0x1C86: - bufpush(0x044A); - break; - case 0x1C87: - bufpush(0x0463); - break; - case 0x1C88: - bufpush(0xA64B); - break; - case 0x1E00: - bufpush(0x1E01); - break; - case 0x1E02: - bufpush(0x1E03); - break; - case 0x1E04: - bufpush(0x1E05); - break; - case 0x1E06: - bufpush(0x1E07); - break; - case 0x1E08: - bufpush(0x1E09); - break; - case 0x1E0A: - bufpush(0x1E0B); - break; - case 0x1E0C: - bufpush(0x1E0D); - break; - case 0x1E0E: - bufpush(0x1E0F); - break; - case 0x1E10: - bufpush(0x1E11); - break; - case 0x1E12: - bufpush(0x1E13); - break; - case 0x1E14: - bufpush(0x1E15); - break; - case 0x1E16: - bufpush(0x1E17); - break; - case 0x1E18: - bufpush(0x1E19); - break; - case 0x1E1A: - bufpush(0x1E1B); - break; - case 0x1E1C: - bufpush(0x1E1D); - break; - case 0x1E1E: - bufpush(0x1E1F); - break; - case 0x1E20: - bufpush(0x1E21); - break; - case 0x1E22: - bufpush(0x1E23); - break; - case 0x1E24: - bufpush(0x1E25); - break; - case 0x1E26: - bufpush(0x1E27); - break; - case 0x1E28: - bufpush(0x1E29); - break; - case 0x1E2A: - bufpush(0x1E2B); - break; - case 0x1E2C: - bufpush(0x1E2D); - break; - case 0x1E2E: - bufpush(0x1E2F); - break; - case 0x1E30: - bufpush(0x1E31); - break; - case 0x1E32: - bufpush(0x1E33); - break; - case 0x1E34: - bufpush(0x1E35); - break; - case 0x1E36: - bufpush(0x1E37); - break; - case 0x1E38: - bufpush(0x1E39); - break; - case 0x1E3A: - bufpush(0x1E3B); - break; - case 0x1E3C: - bufpush(0x1E3D); - break; - case 0x1E3E: - bufpush(0x1E3F); - break; - case 0x1E40: - bufpush(0x1E41); - break; - case 0x1E42: - bufpush(0x1E43); - break; - case 0x1E44: - bufpush(0x1E45); - break; - case 0x1E46: - bufpush(0x1E47); - break; - case 0x1E48: - bufpush(0x1E49); - break; - case 0x1E4A: - bufpush(0x1E4B); - break; - case 0x1E4C: - bufpush(0x1E4D); - break; - case 0x1E4E: - bufpush(0x1E4F); - break; - case 0x1E50: - bufpush(0x1E51); - break; - case 0x1E52: - bufpush(0x1E53); - break; - case 0x1E54: - bufpush(0x1E55); - break; - case 0x1E56: - bufpush(0x1E57); - break; - case 0x1E58: - bufpush(0x1E59); - break; - case 0x1E5A: - bufpush(0x1E5B); - break; - case 0x1E5C: - bufpush(0x1E5D); - break; - case 0x1E5E: - bufpush(0x1E5F); - break; - case 0x1E60: - bufpush(0x1E61); - break; - case 0x1E62: - bufpush(0x1E63); - break; - case 0x1E64: - bufpush(0x1E65); - break; - case 0x1E66: - bufpush(0x1E67); - break; - case 0x1E68: - bufpush(0x1E69); - break; - case 0x1E6A: - bufpush(0x1E6B); - break; - case 0x1E6C: - bufpush(0x1E6D); - break; - case 0x1E6E: - bufpush(0x1E6F); - break; - case 0x1E70: - bufpush(0x1E71); - break; - case 0x1E72: - bufpush(0x1E73); - break; - case 0x1E74: - bufpush(0x1E75); - break; - case 0x1E76: - bufpush(0x1E77); - break; - case 0x1E78: - bufpush(0x1E79); - break; - case 0x1E7A: - bufpush(0x1E7B); - break; - case 0x1E7C: - bufpush(0x1E7D); - break; - case 0x1E7E: - bufpush(0x1E7F); - break; - case 0x1E80: - bufpush(0x1E81); - break; - case 0x1E82: - bufpush(0x1E83); - break; - case 0x1E84: - bufpush(0x1E85); - break; - case 0x1E86: - bufpush(0x1E87); - break; - case 0x1E88: - bufpush(0x1E89); - break; - case 0x1E8A: - bufpush(0x1E8B); - break; - case 0x1E8C: - bufpush(0x1E8D); - break; - case 0x1E8E: - bufpush(0x1E8F); - break; - case 0x1E90: - bufpush(0x1E91); - break; - case 0x1E92: - bufpush(0x1E93); - break; - case 0x1E94: - bufpush(0x1E95); - break; - case 0x1E96: - bufpush(0x0068); - bufpush(0x0331); - break; - case 0x1E97: - bufpush(0x0074); - bufpush(0x0308); - break; - case 0x1E98: - bufpush(0x0077); - bufpush(0x030A); - break; - case 0x1E99: - bufpush(0x0079); - bufpush(0x030A); - break; - case 0x1E9A: - bufpush(0x0061); - bufpush(0x02BE); - break; - case 0x1E9B: - bufpush(0x1E61); - break; - case 0x1E9E: - bufpush(0x0073); - bufpush(0x0073); - break; - case 0x1EA0: - bufpush(0x1EA1); - break; - case 0x1EA2: - bufpush(0x1EA3); - break; - case 0x1EA4: - bufpush(0x1EA5); - break; - case 0x1EA6: - bufpush(0x1EA7); - break; - case 0x1EA8: - bufpush(0x1EA9); - break; - case 0x1EAA: - bufpush(0x1EAB); - break; - case 0x1EAC: - bufpush(0x1EAD); - break; - case 0x1EAE: - bufpush(0x1EAF); - break; - case 0x1EB0: - bufpush(0x1EB1); - break; - case 0x1EB2: - bufpush(0x1EB3); - break; - case 0x1EB4: - bufpush(0x1EB5); - break; - case 0x1EB6: - bufpush(0x1EB7); - break; - case 0x1EB8: - bufpush(0x1EB9); - break; - case 0x1EBA: - bufpush(0x1EBB); - break; - case 0x1EBC: - bufpush(0x1EBD); - break; - case 0x1EBE: - bufpush(0x1EBF); - break; - case 0x1EC0: - bufpush(0x1EC1); - break; - case 0x1EC2: - bufpush(0x1EC3); - break; - case 0x1EC4: - bufpush(0x1EC5); - break; - case 0x1EC6: - bufpush(0x1EC7); - break; - case 0x1EC8: - bufpush(0x1EC9); - break; - case 0x1ECA: - bufpush(0x1ECB); - break; - case 0x1ECC: - bufpush(0x1ECD); - break; - case 0x1ECE: - bufpush(0x1ECF); - break; - case 0x1ED0: - bufpush(0x1ED1); - break; - case 0x1ED2: - bufpush(0x1ED3); - break; - case 0x1ED4: - bufpush(0x1ED5); - break; - case 0x1ED6: - bufpush(0x1ED7); - break; - case 0x1ED8: - bufpush(0x1ED9); - break; - case 0x1EDA: - bufpush(0x1EDB); - break; - case 0x1EDC: - bufpush(0x1EDD); - break; - case 0x1EDE: - bufpush(0x1EDF); - break; - case 0x1EE0: - bufpush(0x1EE1); - break; - case 0x1EE2: - bufpush(0x1EE3); - break; - case 0x1EE4: - bufpush(0x1EE5); - break; - case 0x1EE6: - bufpush(0x1EE7); - break; - case 0x1EE8: - bufpush(0x1EE9); - break; - case 0x1EEA: - bufpush(0x1EEB); - break; - case 0x1EEC: - bufpush(0x1EED); - break; - case 0x1EEE: - bufpush(0x1EEF); - break; - case 0x1EF0: - bufpush(0x1EF1); - break; - case 0x1EF2: - bufpush(0x1EF3); - break; - case 0x1EF4: - bufpush(0x1EF5); - break; - case 0x1EF6: - bufpush(0x1EF7); - break; - case 0x1EF8: - bufpush(0x1EF9); - break; - case 0x1EFA: - bufpush(0x1EFB); - break; - case 0x1EFC: - bufpush(0x1EFD); - break; - case 0x1EFE: - bufpush(0x1EFF); - break; - case 0x1F08: - bufpush(0x1F00); - break; - case 0x1F09: - bufpush(0x1F01); - break; - case 0x1F0A: - bufpush(0x1F02); - break; - case 0x1F0B: - bufpush(0x1F03); - break; - case 0x1F0C: - bufpush(0x1F04); - break; - case 0x1F0D: - bufpush(0x1F05); - break; - case 0x1F0E: - bufpush(0x1F06); - break; - case 0x1F0F: - bufpush(0x1F07); - break; - case 0x1F18: - bufpush(0x1F10); - break; - case 0x1F19: - bufpush(0x1F11); - break; - case 0x1F1A: - bufpush(0x1F12); - break; - case 0x1F1B: - bufpush(0x1F13); - break; - case 0x1F1C: - bufpush(0x1F14); - break; - case 0x1F1D: - bufpush(0x1F15); - break; - case 0x1F28: - bufpush(0x1F20); - break; - case 0x1F29: - bufpush(0x1F21); - break; - case 0x1F2A: - bufpush(0x1F22); - break; - case 0x1F2B: - bufpush(0x1F23); - break; - case 0x1F2C: - bufpush(0x1F24); - break; - case 0x1F2D: - bufpush(0x1F25); - break; - case 0x1F2E: - bufpush(0x1F26); - break; - case 0x1F2F: - bufpush(0x1F27); - break; - case 0x1F38: - bufpush(0x1F30); - break; - case 0x1F39: - bufpush(0x1F31); - break; - case 0x1F3A: - bufpush(0x1F32); - break; - case 0x1F3B: - bufpush(0x1F33); - break; - case 0x1F3C: - bufpush(0x1F34); - break; - case 0x1F3D: - bufpush(0x1F35); - break; - case 0x1F3E: - bufpush(0x1F36); - break; - case 0x1F3F: - bufpush(0x1F37); - break; - case 0x1F48: - bufpush(0x1F40); - break; - case 0x1F49: - bufpush(0x1F41); - break; - case 0x1F4A: - bufpush(0x1F42); - break; - case 0x1F4B: - bufpush(0x1F43); - break; - case 0x1F4C: - bufpush(0x1F44); - break; - case 0x1F4D: - bufpush(0x1F45); - break; - case 0x1F50: - bufpush(0x03C5); - bufpush(0x0313); - break; - case 0x1F52: - bufpush(0x03C5); - bufpush(0x0313); - bufpush(0x0300); - break; - case 0x1F54: - bufpush(0x03C5); - bufpush(0x0313); - bufpush(0x0301); - break; - case 0x1F56: - bufpush(0x03C5); - bufpush(0x0313); - bufpush(0x0342); - break; - case 0x1F59: - bufpush(0x1F51); - break; - case 0x1F5B: - bufpush(0x1F53); - break; - case 0x1F5D: - bufpush(0x1F55); - break; - case 0x1F5F: - bufpush(0x1F57); - break; - case 0x1F68: - bufpush(0x1F60); - break; - case 0x1F69: - bufpush(0x1F61); - break; - case 0x1F6A: - bufpush(0x1F62); - break; - case 0x1F6B: - bufpush(0x1F63); - break; - case 0x1F6C: - bufpush(0x1F64); - break; - case 0x1F6D: - bufpush(0x1F65); - break; - case 0x1F6E: - bufpush(0x1F66); - break; - case 0x1F6F: - bufpush(0x1F67); - break; - case 0x1F80: - bufpush(0x1F00); - bufpush(0x03B9); - break; - case 0x1F81: - bufpush(0x1F01); - bufpush(0x03B9); - break; - case 0x1F82: - bufpush(0x1F02); - bufpush(0x03B9); - break; - case 0x1F83: - bufpush(0x1F03); - bufpush(0x03B9); - break; - case 0x1F84: - bufpush(0x1F04); - bufpush(0x03B9); - break; - case 0x1F85: - bufpush(0x1F05); - bufpush(0x03B9); - break; - case 0x1F86: - bufpush(0x1F06); - bufpush(0x03B9); - break; - case 0x1F87: - bufpush(0x1F07); - bufpush(0x03B9); - break; - case 0x1F88: - bufpush(0x1F00); - bufpush(0x03B9); - break; - case 0x1F89: - bufpush(0x1F01); - bufpush(0x03B9); - break; - case 0x1F8A: - bufpush(0x1F02); - bufpush(0x03B9); - break; - case 0x1F8B: - bufpush(0x1F03); - bufpush(0x03B9); - break; - case 0x1F8C: - bufpush(0x1F04); - bufpush(0x03B9); - break; - case 0x1F8D: - bufpush(0x1F05); - bufpush(0x03B9); - break; - case 0x1F8E: - bufpush(0x1F06); - bufpush(0x03B9); - break; - case 0x1F8F: - bufpush(0x1F07); - bufpush(0x03B9); - break; - case 0x1F90: - bufpush(0x1F20); - bufpush(0x03B9); - break; - case 0x1F91: - bufpush(0x1F21); - bufpush(0x03B9); - break; - case 0x1F92: - bufpush(0x1F22); - bufpush(0x03B9); - break; - case 0x1F93: - bufpush(0x1F23); - bufpush(0x03B9); - break; - case 0x1F94: - bufpush(0x1F24); - bufpush(0x03B9); - break; - case 0x1F95: - bufpush(0x1F25); - bufpush(0x03B9); - break; - case 0x1F96: - bufpush(0x1F26); - bufpush(0x03B9); - break; - case 0x1F97: - bufpush(0x1F27); - bufpush(0x03B9); - break; - case 0x1F98: - bufpush(0x1F20); - bufpush(0x03B9); - break; - case 0x1F99: - bufpush(0x1F21); - bufpush(0x03B9); - break; - case 0x1F9A: - bufpush(0x1F22); - bufpush(0x03B9); - break; - case 0x1F9B: - bufpush(0x1F23); - bufpush(0x03B9); - break; - case 0x1F9C: - bufpush(0x1F24); - bufpush(0x03B9); - break; - case 0x1F9D: - bufpush(0x1F25); - bufpush(0x03B9); - break; - case 0x1F9E: - bufpush(0x1F26); - bufpush(0x03B9); - break; - case 0x1F9F: - bufpush(0x1F27); - bufpush(0x03B9); - break; - case 0x1FA0: - bufpush(0x1F60); - bufpush(0x03B9); - break; - case 0x1FA1: - bufpush(0x1F61); - bufpush(0x03B9); - break; - case 0x1FA2: - bufpush(0x1F62); - bufpush(0x03B9); - break; - case 0x1FA3: - bufpush(0x1F63); - bufpush(0x03B9); - break; - case 0x1FA4: - bufpush(0x1F64); - bufpush(0x03B9); - break; - case 0x1FA5: - bufpush(0x1F65); - bufpush(0x03B9); - break; - case 0x1FA6: - bufpush(0x1F66); - bufpush(0x03B9); - break; - case 0x1FA7: - bufpush(0x1F67); - bufpush(0x03B9); - break; - case 0x1FA8: - bufpush(0x1F60); - bufpush(0x03B9); - break; - case 0x1FA9: - bufpush(0x1F61); - bufpush(0x03B9); - break; - case 0x1FAA: - bufpush(0x1F62); - bufpush(0x03B9); - break; - case 0x1FAB: - bufpush(0x1F63); - bufpush(0x03B9); - break; - case 0x1FAC: - bufpush(0x1F64); - bufpush(0x03B9); - break; - case 0x1FAD: - bufpush(0x1F65); - bufpush(0x03B9); - break; - case 0x1FAE: - bufpush(0x1F66); - bufpush(0x03B9); - break; - case 0x1FAF: - bufpush(0x1F67); - bufpush(0x03B9); - break; - case 0x1FB2: - bufpush(0x1F70); - bufpush(0x03B9); - break; - case 0x1FB3: - bufpush(0x03B1); - bufpush(0x03B9); - break; - case 0x1FB4: - bufpush(0x03AC); - bufpush(0x03B9); - break; - case 0x1FB6: - bufpush(0x03B1); - bufpush(0x0342); - break; - case 0x1FB7: - bufpush(0x03B1); - bufpush(0x0342); - bufpush(0x03B9); - break; - case 0x1FB8: - bufpush(0x1FB0); - break; - case 0x1FB9: - bufpush(0x1FB1); - break; - case 0x1FBA: - bufpush(0x1F70); - break; - case 0x1FBB: - bufpush(0x1F71); - break; - case 0x1FBC: - bufpush(0x03B1); - bufpush(0x03B9); - break; - case 0x1FBE: - bufpush(0x03B9); - break; - case 0x1FC2: - bufpush(0x1F74); - bufpush(0x03B9); - break; - case 0x1FC3: - bufpush(0x03B7); - bufpush(0x03B9); - break; - case 0x1FC4: - bufpush(0x03AE); - bufpush(0x03B9); - break; - case 0x1FC6: - bufpush(0x03B7); - bufpush(0x0342); - break; - case 0x1FC7: - bufpush(0x03B7); - bufpush(0x0342); - bufpush(0x03B9); - break; - case 0x1FC8: - bufpush(0x1F72); - break; - case 0x1FC9: - bufpush(0x1F73); - break; - case 0x1FCA: - bufpush(0x1F74); - break; - case 0x1FCB: - bufpush(0x1F75); - break; - case 0x1FCC: - bufpush(0x03B7); - bufpush(0x03B9); - break; - case 0x1FD2: - bufpush(0x03B9); - bufpush(0x0308); - bufpush(0x0300); - break; - case 0x1FD3: - bufpush(0x03B9); - bufpush(0x0308); - bufpush(0x0301); - break; - case 0x1FD6: - bufpush(0x03B9); - bufpush(0x0342); - break; - case 0x1FD7: - bufpush(0x03B9); - bufpush(0x0308); - bufpush(0x0342); - break; - case 0x1FD8: - bufpush(0x1FD0); - break; - case 0x1FD9: - bufpush(0x1FD1); - break; - case 0x1FDA: - bufpush(0x1F76); - break; - case 0x1FDB: - bufpush(0x1F77); - break; - case 0x1FE2: - bufpush(0x03C5); - bufpush(0x0308); - bufpush(0x0300); - break; - case 0x1FE3: - bufpush(0x03C5); - bufpush(0x0308); - bufpush(0x0301); - break; - case 0x1FE4: - bufpush(0x03C1); - bufpush(0x0313); - break; - case 0x1FE6: - bufpush(0x03C5); - bufpush(0x0342); - break; - case 0x1FE7: - bufpush(0x03C5); - bufpush(0x0308); - bufpush(0x0342); - break; - case 0x1FE8: - bufpush(0x1FE0); - break; - case 0x1FE9: - bufpush(0x1FE1); - break; - case 0x1FEA: - bufpush(0x1F7A); - break; - case 0x1FEB: - bufpush(0x1F7B); - break; - case 0x1FEC: - bufpush(0x1FE5); - break; - case 0x1FF2: - bufpush(0x1F7C); - bufpush(0x03B9); - break; - case 0x1FF3: - bufpush(0x03C9); - bufpush(0x03B9); - break; - case 0x1FF4: - bufpush(0x03CE); - bufpush(0x03B9); - break; - case 0x1FF6: - bufpush(0x03C9); - bufpush(0x0342); - break; - case 0x1FF7: - bufpush(0x03C9); - bufpush(0x0342); - bufpush(0x03B9); - break; - case 0x1FF8: - bufpush(0x1F78); - break; - case 0x1FF9: - bufpush(0x1F79); - break; - case 0x1FFA: - bufpush(0x1F7C); - break; - case 0x1FFB: - bufpush(0x1F7D); - break; - case 0x1FFC: - bufpush(0x03C9); - bufpush(0x03B9); - break; - case 0x2126: - bufpush(0x03C9); - break; - case 0x212A: - bufpush(0x006B); - break; - case 0x212B: - bufpush(0x00E5); - break; - case 0x2132: - bufpush(0x214E); - break; - case 0x2160: - bufpush(0x2170); - break; - case 0x2161: - bufpush(0x2171); - break; - case 0x2162: - bufpush(0x2172); - break; - case 0x2163: - bufpush(0x2173); - break; - case 0x2164: - bufpush(0x2174); - break; - case 0x2165: - bufpush(0x2175); - break; - case 0x2166: - bufpush(0x2176); - break; - case 0x2167: - bufpush(0x2177); - break; - case 0x2168: - bufpush(0x2178); - break; - case 0x2169: - bufpush(0x2179); - break; - case 0x216A: - bufpush(0x217A); - break; - case 0x216B: - bufpush(0x217B); - break; - case 0x216C: - bufpush(0x217C); - break; - case 0x216D: - bufpush(0x217D); - break; - case 0x216E: - bufpush(0x217E); - break; - case 0x216F: - bufpush(0x217F); - break; - case 0x2183: - bufpush(0x2184); - break; - case 0x24B6: - bufpush(0x24D0); - break; - case 0x24B7: - bufpush(0x24D1); - break; - case 0x24B8: - bufpush(0x24D2); - break; - case 0x24B9: - bufpush(0x24D3); - break; - case 0x24BA: - bufpush(0x24D4); - break; - case 0x24BB: - bufpush(0x24D5); - break; - case 0x24BC: - bufpush(0x24D6); - break; - case 0x24BD: - bufpush(0x24D7); - break; - case 0x24BE: - bufpush(0x24D8); - break; - case 0x24BF: - bufpush(0x24D9); - break; - case 0x24C0: - bufpush(0x24DA); - break; - case 0x24C1: - bufpush(0x24DB); - break; - case 0x24C2: - bufpush(0x24DC); - break; - case 0x24C3: - bufpush(0x24DD); - break; - case 0x24C4: - bufpush(0x24DE); - break; - case 0x24C5: - bufpush(0x24DF); - break; - case 0x24C6: - bufpush(0x24E0); - break; - case 0x24C7: - bufpush(0x24E1); - break; - case 0x24C8: - bufpush(0x24E2); - break; - case 0x24C9: - bufpush(0x24E3); - break; - case 0x24CA: - bufpush(0x24E4); - break; - case 0x24CB: - bufpush(0x24E5); - break; - case 0x24CC: - bufpush(0x24E6); - break; - case 0x24CD: - bufpush(0x24E7); - break; - case 0x24CE: - bufpush(0x24E8); - break; - case 0x24CF: - bufpush(0x24E9); - break; - case 0x2C00: - bufpush(0x2C30); - break; - case 0x2C01: - bufpush(0x2C31); - break; - case 0x2C02: - bufpush(0x2C32); - break; - case 0x2C03: - bufpush(0x2C33); - break; - case 0x2C04: - bufpush(0x2C34); - break; - case 0x2C05: - bufpush(0x2C35); - break; - case 0x2C06: - bufpush(0x2C36); - break; - case 0x2C07: - bufpush(0x2C37); - break; - case 0x2C08: - bufpush(0x2C38); - break; - case 0x2C09: - bufpush(0x2C39); - break; - case 0x2C0A: - bufpush(0x2C3A); - break; - case 0x2C0B: - bufpush(0x2C3B); - break; - case 0x2C0C: - bufpush(0x2C3C); - break; - case 0x2C0D: - bufpush(0x2C3D); - break; - case 0x2C0E: - bufpush(0x2C3E); - break; - case 0x2C0F: - bufpush(0x2C3F); - break; - case 0x2C10: - bufpush(0x2C40); - break; - case 0x2C11: - bufpush(0x2C41); - break; - case 0x2C12: - bufpush(0x2C42); - break; - case 0x2C13: - bufpush(0x2C43); - break; - case 0x2C14: - bufpush(0x2C44); - break; - case 0x2C15: - bufpush(0x2C45); - break; - case 0x2C16: - bufpush(0x2C46); - break; - case 0x2C17: - bufpush(0x2C47); - break; - case 0x2C18: - bufpush(0x2C48); - break; - case 0x2C19: - bufpush(0x2C49); - break; - case 0x2C1A: - bufpush(0x2C4A); - break; - case 0x2C1B: - bufpush(0x2C4B); - break; - case 0x2C1C: - bufpush(0x2C4C); - break; - case 0x2C1D: - bufpush(0x2C4D); - break; - case 0x2C1E: - bufpush(0x2C4E); - break; - case 0x2C1F: - bufpush(0x2C4F); - break; - case 0x2C20: - bufpush(0x2C50); - break; - case 0x2C21: - bufpush(0x2C51); - break; - case 0x2C22: - bufpush(0x2C52); - break; - case 0x2C23: - bufpush(0x2C53); - break; - case 0x2C24: - bufpush(0x2C54); - break; - case 0x2C25: - bufpush(0x2C55); - break; - case 0x2C26: - bufpush(0x2C56); - break; - case 0x2C27: - bufpush(0x2C57); - break; - case 0x2C28: - bufpush(0x2C58); - break; - case 0x2C29: - bufpush(0x2C59); - break; - case 0x2C2A: - bufpush(0x2C5A); - break; - case 0x2C2B: - bufpush(0x2C5B); - break; - case 0x2C2C: - bufpush(0x2C5C); - break; - case 0x2C2D: - bufpush(0x2C5D); - break; - case 0x2C2E: - bufpush(0x2C5E); - break; - case 0x2C60: - bufpush(0x2C61); - break; - case 0x2C62: - bufpush(0x026B); - break; - case 0x2C63: - bufpush(0x1D7D); - break; - case 0x2C64: - bufpush(0x027D); - break; - case 0x2C67: - bufpush(0x2C68); - break; - case 0x2C69: - bufpush(0x2C6A); - break; - case 0x2C6B: - bufpush(0x2C6C); - break; - case 0x2C6D: - bufpush(0x0251); - break; - case 0x2C6E: - bufpush(0x0271); - break; - case 0x2C6F: - bufpush(0x0250); - break; - case 0x2C70: - bufpush(0x0252); - break; - case 0x2C72: - bufpush(0x2C73); - break; - case 0x2C75: - bufpush(0x2C76); - break; - case 0x2C7E: - bufpush(0x023F); - break; - case 0x2C7F: - bufpush(0x0240); - break; - case 0x2C80: - bufpush(0x2C81); - break; - case 0x2C82: - bufpush(0x2C83); - break; - case 0x2C84: - bufpush(0x2C85); - break; - case 0x2C86: - bufpush(0x2C87); - break; - case 0x2C88: - bufpush(0x2C89); - break; - case 0x2C8A: - bufpush(0x2C8B); - break; - case 0x2C8C: - bufpush(0x2C8D); - break; - case 0x2C8E: - bufpush(0x2C8F); - break; - case 0x2C90: - bufpush(0x2C91); - break; - case 0x2C92: - bufpush(0x2C93); - break; - case 0x2C94: - bufpush(0x2C95); - break; - case 0x2C96: - bufpush(0x2C97); - break; - case 0x2C98: - bufpush(0x2C99); - break; - case 0x2C9A: - bufpush(0x2C9B); - break; - case 0x2C9C: - bufpush(0x2C9D); - break; - case 0x2C9E: - bufpush(0x2C9F); - break; - case 0x2CA0: - bufpush(0x2CA1); - break; - case 0x2CA2: - bufpush(0x2CA3); - break; - case 0x2CA4: - bufpush(0x2CA5); - break; - case 0x2CA6: - bufpush(0x2CA7); - break; - case 0x2CA8: - bufpush(0x2CA9); - break; - case 0x2CAA: - bufpush(0x2CAB); - break; - case 0x2CAC: - bufpush(0x2CAD); - break; - case 0x2CAE: - bufpush(0x2CAF); - break; - case 0x2CB0: - bufpush(0x2CB1); - break; - case 0x2CB2: - bufpush(0x2CB3); - break; - case 0x2CB4: - bufpush(0x2CB5); - break; - case 0x2CB6: - bufpush(0x2CB7); - break; - case 0x2CB8: - bufpush(0x2CB9); - break; - case 0x2CBA: - bufpush(0x2CBB); - break; - case 0x2CBC: - bufpush(0x2CBD); - break; - case 0x2CBE: - bufpush(0x2CBF); - break; - case 0x2CC0: - bufpush(0x2CC1); - break; - case 0x2CC2: - bufpush(0x2CC3); - break; - case 0x2CC4: - bufpush(0x2CC5); - break; - case 0x2CC6: - bufpush(0x2CC7); - break; - case 0x2CC8: - bufpush(0x2CC9); - break; - case 0x2CCA: - bufpush(0x2CCB); - break; - case 0x2CCC: - bufpush(0x2CCD); - break; - case 0x2CCE: - bufpush(0x2CCF); - break; - case 0x2CD0: - bufpush(0x2CD1); - break; - case 0x2CD2: - bufpush(0x2CD3); - break; - case 0x2CD4: - bufpush(0x2CD5); - break; - case 0x2CD6: - bufpush(0x2CD7); - break; - case 0x2CD8: - bufpush(0x2CD9); - break; - case 0x2CDA: - bufpush(0x2CDB); - break; - case 0x2CDC: - bufpush(0x2CDD); - break; - case 0x2CDE: - bufpush(0x2CDF); - break; - case 0x2CE0: - bufpush(0x2CE1); - break; - case 0x2CE2: - bufpush(0x2CE3); - break; - case 0x2CEB: - bufpush(0x2CEC); - break; - case 0x2CED: - bufpush(0x2CEE); - break; - case 0x2CF2: - bufpush(0x2CF3); - break; - case 0xA640: - bufpush(0xA641); - break; - case 0xA642: - bufpush(0xA643); - break; - case 0xA644: - bufpush(0xA645); - break; - case 0xA646: - bufpush(0xA647); - break; - case 0xA648: - bufpush(0xA649); - break; - case 0xA64A: - bufpush(0xA64B); - break; - case 0xA64C: - bufpush(0xA64D); - break; - case 0xA64E: - bufpush(0xA64F); - break; - case 0xA650: - bufpush(0xA651); - break; - case 0xA652: - bufpush(0xA653); - break; - case 0xA654: - bufpush(0xA655); - break; - case 0xA656: - bufpush(0xA657); - break; - case 0xA658: - bufpush(0xA659); - break; - case 0xA65A: - bufpush(0xA65B); - break; - case 0xA65C: - bufpush(0xA65D); - break; - case 0xA65E: - bufpush(0xA65F); - break; - case 0xA660: - bufpush(0xA661); - break; - case 0xA662: - bufpush(0xA663); - break; - case 0xA664: - bufpush(0xA665); - break; - case 0xA666: - bufpush(0xA667); - break; - case 0xA668: - bufpush(0xA669); - break; - case 0xA66A: - bufpush(0xA66B); - break; - case 0xA66C: - bufpush(0xA66D); - break; - case 0xA680: - bufpush(0xA681); - break; - case 0xA682: - bufpush(0xA683); - break; - case 0xA684: - bufpush(0xA685); - break; - case 0xA686: - bufpush(0xA687); - break; - case 0xA688: - bufpush(0xA689); - break; - case 0xA68A: - bufpush(0xA68B); - break; - case 0xA68C: - bufpush(0xA68D); - break; - case 0xA68E: - bufpush(0xA68F); - break; - case 0xA690: - bufpush(0xA691); - break; - case 0xA692: - bufpush(0xA693); - break; - case 0xA694: - bufpush(0xA695); - break; - case 0xA696: - bufpush(0xA697); - break; - case 0xA698: - bufpush(0xA699); - break; - case 0xA69A: - bufpush(0xA69B); - break; - case 0xA722: - bufpush(0xA723); - break; - case 0xA724: - bufpush(0xA725); - break; - case 0xA726: - bufpush(0xA727); - break; - case 0xA728: - bufpush(0xA729); - break; - case 0xA72A: - bufpush(0xA72B); - break; - case 0xA72C: - bufpush(0xA72D); - break; - case 0xA72E: - bufpush(0xA72F); - break; - case 0xA732: - bufpush(0xA733); - break; - case 0xA734: - bufpush(0xA735); - break; - case 0xA736: - bufpush(0xA737); - break; - case 0xA738: - bufpush(0xA739); - break; - case 0xA73A: - bufpush(0xA73B); - break; - case 0xA73C: - bufpush(0xA73D); - break; - case 0xA73E: - bufpush(0xA73F); - break; - case 0xA740: - bufpush(0xA741); - break; - case 0xA742: - bufpush(0xA743); - break; - case 0xA744: - bufpush(0xA745); - break; - case 0xA746: - bufpush(0xA747); - break; - case 0xA748: - bufpush(0xA749); - break; - case 0xA74A: - bufpush(0xA74B); - break; - case 0xA74C: - bufpush(0xA74D); - break; - case 0xA74E: - bufpush(0xA74F); - break; - case 0xA750: - bufpush(0xA751); - break; - case 0xA752: - bufpush(0xA753); - break; - case 0xA754: - bufpush(0xA755); - break; - case 0xA756: - bufpush(0xA757); - break; - case 0xA758: - bufpush(0xA759); - break; - case 0xA75A: - bufpush(0xA75B); - break; - case 0xA75C: - bufpush(0xA75D); - break; - case 0xA75E: - bufpush(0xA75F); - break; - case 0xA760: - bufpush(0xA761); - break; - case 0xA762: - bufpush(0xA763); - break; - case 0xA764: - bufpush(0xA765); - break; - case 0xA766: - bufpush(0xA767); - break; - case 0xA768: - bufpush(0xA769); - break; - case 0xA76A: - bufpush(0xA76B); - break; - case 0xA76C: - bufpush(0xA76D); - break; - case 0xA76E: - bufpush(0xA76F); - break; - case 0xA779: - bufpush(0xA77A); - break; - case 0xA77B: - bufpush(0xA77C); - break; - case 0xA77D: - bufpush(0x1D79); - break; - case 0xA77E: - bufpush(0xA77F); - break; - case 0xA780: - bufpush(0xA781); - break; - case 0xA782: - bufpush(0xA783); - break; - case 0xA784: - bufpush(0xA785); - break; - case 0xA786: - bufpush(0xA787); - break; - case 0xA78B: - bufpush(0xA78C); - break; - case 0xA78D: - bufpush(0x0265); - break; - case 0xA790: - bufpush(0xA791); - break; - case 0xA792: - bufpush(0xA793); - break; - case 0xA796: - bufpush(0xA797); - break; - case 0xA798: - bufpush(0xA799); - break; - case 0xA79A: - bufpush(0xA79B); - break; - case 0xA79C: - bufpush(0xA79D); - break; - case 0xA79E: - bufpush(0xA79F); - break; - case 0xA7A0: - bufpush(0xA7A1); - break; - case 0xA7A2: - bufpush(0xA7A3); - break; - case 0xA7A4: - bufpush(0xA7A5); - break; - case 0xA7A6: - bufpush(0xA7A7); - break; - case 0xA7A8: - bufpush(0xA7A9); - break; - case 0xA7AA: - bufpush(0x0266); - break; - case 0xA7AB: - bufpush(0x025C); - break; - case 0xA7AC: - bufpush(0x0261); - break; - case 0xA7AD: - bufpush(0x026C); - break; - case 0xA7AE: - bufpush(0x026A); - break; - case 0xA7B0: - bufpush(0x029E); - break; - case 0xA7B1: - bufpush(0x0287); - break; - case 0xA7B2: - bufpush(0x029D); - break; - case 0xA7B3: - bufpush(0xAB53); - break; - case 0xA7B4: - bufpush(0xA7B5); - break; - case 0xA7B6: - bufpush(0xA7B7); - break; - case 0xAB70: - bufpush(0x13A0); - break; - case 0xAB71: - bufpush(0x13A1); - break; - case 0xAB72: - bufpush(0x13A2); - break; - case 0xAB73: - bufpush(0x13A3); - break; - case 0xAB74: - bufpush(0x13A4); - break; - case 0xAB75: - bufpush(0x13A5); - break; - case 0xAB76: - bufpush(0x13A6); - break; - case 0xAB77: - bufpush(0x13A7); - break; - case 0xAB78: - bufpush(0x13A8); - break; - case 0xAB79: - bufpush(0x13A9); - break; - case 0xAB7A: - bufpush(0x13AA); - break; - case 0xAB7B: - bufpush(0x13AB); - break; - case 0xAB7C: - bufpush(0x13AC); - break; - case 0xAB7D: - bufpush(0x13AD); - break; - case 0xAB7E: - bufpush(0x13AE); - break; - case 0xAB7F: - bufpush(0x13AF); - break; - case 0xAB80: - bufpush(0x13B0); - break; - case 0xAB81: - bufpush(0x13B1); - break; - case 0xAB82: - bufpush(0x13B2); - break; - case 0xAB83: - bufpush(0x13B3); - break; - case 0xAB84: - bufpush(0x13B4); - break; - case 0xAB85: - bufpush(0x13B5); - break; - case 0xAB86: - bufpush(0x13B6); - break; - case 0xAB87: - bufpush(0x13B7); - break; - case 0xAB88: - bufpush(0x13B8); - break; - case 0xAB89: - bufpush(0x13B9); - break; - case 0xAB8A: - bufpush(0x13BA); - break; - case 0xAB8B: - bufpush(0x13BB); - break; - case 0xAB8C: - bufpush(0x13BC); - break; - case 0xAB8D: - bufpush(0x13BD); - break; - case 0xAB8E: - bufpush(0x13BE); - break; - case 0xAB8F: - bufpush(0x13BF); - break; - case 0xAB90: - bufpush(0x13C0); - break; - case 0xAB91: - bufpush(0x13C1); - break; - case 0xAB92: - bufpush(0x13C2); - break; - case 0xAB93: - bufpush(0x13C3); - break; - case 0xAB94: - bufpush(0x13C4); - break; - case 0xAB95: - bufpush(0x13C5); - break; - case 0xAB96: - bufpush(0x13C6); - break; - case 0xAB97: - bufpush(0x13C7); - break; - case 0xAB98: - bufpush(0x13C8); - break; - case 0xAB99: - bufpush(0x13C9); - break; - case 0xAB9A: - bufpush(0x13CA); - break; - case 0xAB9B: - bufpush(0x13CB); - break; - case 0xAB9C: - bufpush(0x13CC); - break; - case 0xAB9D: - bufpush(0x13CD); - break; - case 0xAB9E: - bufpush(0x13CE); - break; - case 0xAB9F: - bufpush(0x13CF); - break; - case 0xABA0: - bufpush(0x13D0); - break; - case 0xABA1: - bufpush(0x13D1); - break; - case 0xABA2: - bufpush(0x13D2); - break; - case 0xABA3: - bufpush(0x13D3); - break; - case 0xABA4: - bufpush(0x13D4); - break; - case 0xABA5: - bufpush(0x13D5); - break; - case 0xABA6: - bufpush(0x13D6); - break; - case 0xABA7: - bufpush(0x13D7); - break; - case 0xABA8: - bufpush(0x13D8); - break; - case 0xABA9: - bufpush(0x13D9); - break; - case 0xABAA: - bufpush(0x13DA); - break; - case 0xABAB: - bufpush(0x13DB); - break; - case 0xABAC: - bufpush(0x13DC); - break; - case 0xABAD: - bufpush(0x13DD); - break; - case 0xABAE: - bufpush(0x13DE); - break; - case 0xABAF: - bufpush(0x13DF); - break; - case 0xABB0: - bufpush(0x13E0); - break; - case 0xABB1: - bufpush(0x13E1); - break; - case 0xABB2: - bufpush(0x13E2); - break; - case 0xABB3: - bufpush(0x13E3); - break; - case 0xABB4: - bufpush(0x13E4); - break; - case 0xABB5: - bufpush(0x13E5); - break; - case 0xABB6: - bufpush(0x13E6); - break; - case 0xABB7: - bufpush(0x13E7); - break; - case 0xABB8: - bufpush(0x13E8); - break; - case 0xABB9: - bufpush(0x13E9); - break; - case 0xABBA: - bufpush(0x13EA); - break; - case 0xABBB: - bufpush(0x13EB); - break; - case 0xABBC: - bufpush(0x13EC); - break; - case 0xABBD: - bufpush(0x13ED); - break; - case 0xABBE: - bufpush(0x13EE); - break; - case 0xABBF: - bufpush(0x13EF); - break; - case 0xFB00: - bufpush(0x0066); - bufpush(0x0066); - break; - case 0xFB01: - bufpush(0x0066); - bufpush(0x0069); - break; - case 0xFB02: - bufpush(0x0066); - bufpush(0x006C); - break; - case 0xFB03: - bufpush(0x0066); - bufpush(0x0066); - bufpush(0x0069); - break; - case 0xFB04: - bufpush(0x0066); - bufpush(0x0066); - bufpush(0x006C); - break; - case 0xFB05: - bufpush(0x0073); - bufpush(0x0074); - break; - case 0xFB06: - bufpush(0x0073); - bufpush(0x0074); - break; - case 0xFB13: - bufpush(0x0574); - bufpush(0x0576); - break; - case 0xFB14: - bufpush(0x0574); - bufpush(0x0565); - break; - case 0xFB15: - bufpush(0x0574); - bufpush(0x056B); - break; - case 0xFB16: - bufpush(0x057E); - bufpush(0x0576); - break; - case 0xFB17: - bufpush(0x0574); - bufpush(0x056D); - break; - case 0xFF21: - bufpush(0xFF41); - break; - case 0xFF22: - bufpush(0xFF42); - break; - case 0xFF23: - bufpush(0xFF43); - break; - case 0xFF24: - bufpush(0xFF44); - break; - case 0xFF25: - bufpush(0xFF45); - break; - case 0xFF26: - bufpush(0xFF46); - break; - case 0xFF27: - bufpush(0xFF47); - break; - case 0xFF28: - bufpush(0xFF48); - break; - case 0xFF29: - bufpush(0xFF49); - break; - case 0xFF2A: - bufpush(0xFF4A); - break; - case 0xFF2B: - bufpush(0xFF4B); - break; - case 0xFF2C: - bufpush(0xFF4C); - break; - case 0xFF2D: - bufpush(0xFF4D); - break; - case 0xFF2E: - bufpush(0xFF4E); - break; - case 0xFF2F: - bufpush(0xFF4F); - break; - case 0xFF30: - bufpush(0xFF50); - break; - case 0xFF31: - bufpush(0xFF51); - break; - case 0xFF32: - bufpush(0xFF52); - break; - case 0xFF33: - bufpush(0xFF53); - break; - case 0xFF34: - bufpush(0xFF54); - break; - case 0xFF35: - bufpush(0xFF55); - break; - case 0xFF36: - bufpush(0xFF56); - break; - case 0xFF37: - bufpush(0xFF57); - break; - case 0xFF38: - bufpush(0xFF58); - break; - case 0xFF39: - bufpush(0xFF59); - break; - case 0xFF3A: - bufpush(0xFF5A); - break; - case 0x10400: - bufpush(0x10428); - break; - case 0x10401: - bufpush(0x10429); - break; - case 0x10402: - bufpush(0x1042A); - break; - case 0x10403: - bufpush(0x1042B); - break; - case 0x10404: - bufpush(0x1042C); - break; - case 0x10405: - bufpush(0x1042D); - break; - case 0x10406: - bufpush(0x1042E); - break; - case 0x10407: - bufpush(0x1042F); - break; - case 0x10408: - bufpush(0x10430); - break; - case 0x10409: - bufpush(0x10431); - break; - case 0x1040A: - bufpush(0x10432); - break; - case 0x1040B: - bufpush(0x10433); - break; - case 0x1040C: - bufpush(0x10434); - break; - case 0x1040D: - bufpush(0x10435); - break; - case 0x1040E: - bufpush(0x10436); - break; - case 0x1040F: - bufpush(0x10437); - break; - case 0x10410: - bufpush(0x10438); - break; - case 0x10411: - bufpush(0x10439); - break; - case 0x10412: - bufpush(0x1043A); - break; - case 0x10413: - bufpush(0x1043B); - break; - case 0x10414: - bufpush(0x1043C); - break; - case 0x10415: - bufpush(0x1043D); - break; - case 0x10416: - bufpush(0x1043E); - break; - case 0x10417: - bufpush(0x1043F); - break; - case 0x10418: - bufpush(0x10440); - break; - case 0x10419: - bufpush(0x10441); - break; - case 0x1041A: - bufpush(0x10442); - break; - case 0x1041B: - bufpush(0x10443); - break; - case 0x1041C: - bufpush(0x10444); - break; - case 0x1041D: - bufpush(0x10445); - break; - case 0x1041E: - bufpush(0x10446); - break; - case 0x1041F: - bufpush(0x10447); - break; - case 0x10420: - bufpush(0x10448); - break; - case 0x10421: - bufpush(0x10449); - break; - case 0x10422: - bufpush(0x1044A); - break; - case 0x10423: - bufpush(0x1044B); - break; - case 0x10424: - bufpush(0x1044C); - break; - case 0x10425: - bufpush(0x1044D); - break; - case 0x10426: - bufpush(0x1044E); - break; - case 0x10427: - bufpush(0x1044F); - break; - case 0x104B0: - bufpush(0x104D8); - break; - case 0x104B1: - bufpush(0x104D9); - break; - case 0x104B2: - bufpush(0x104DA); - break; - case 0x104B3: - bufpush(0x104DB); - break; - case 0x104B4: - bufpush(0x104DC); - break; - case 0x104B5: - bufpush(0x104DD); - break; - case 0x104B6: - bufpush(0x104DE); - break; - case 0x104B7: - bufpush(0x104DF); - break; - case 0x104B8: - bufpush(0x104E0); - break; - case 0x104B9: - bufpush(0x104E1); - break; - case 0x104BA: - bufpush(0x104E2); - break; - case 0x104BB: - bufpush(0x104E3); - break; - case 0x104BC: - bufpush(0x104E4); - break; - case 0x104BD: - bufpush(0x104E5); - break; - case 0x104BE: - bufpush(0x104E6); - break; - case 0x104BF: - bufpush(0x104E7); - break; - case 0x104C0: - bufpush(0x104E8); - break; - case 0x104C1: - bufpush(0x104E9); - break; - case 0x104C2: - bufpush(0x104EA); - break; - case 0x104C3: - bufpush(0x104EB); - break; - case 0x104C4: - bufpush(0x104EC); - break; - case 0x104C5: - bufpush(0x104ED); - break; - case 0x104C6: - bufpush(0x104EE); - break; - case 0x104C7: - bufpush(0x104EF); - break; - case 0x104C8: - bufpush(0x104F0); - break; - case 0x104C9: - bufpush(0x104F1); - break; - case 0x104CA: - bufpush(0x104F2); - break; - case 0x104CB: - bufpush(0x104F3); - break; - case 0x104CC: - bufpush(0x104F4); - break; - case 0x104CD: - bufpush(0x104F5); - break; - case 0x104CE: - bufpush(0x104F6); - break; - case 0x104CF: - bufpush(0x104F7); - break; - case 0x104D0: - bufpush(0x104F8); - break; - case 0x104D1: - bufpush(0x104F9); - break; - case 0x104D2: - bufpush(0x104FA); - break; - case 0x104D3: - bufpush(0x104FB); - break; - case 0x10C80: - bufpush(0x10CC0); - break; - case 0x10C81: - bufpush(0x10CC1); - break; - case 0x10C82: - bufpush(0x10CC2); - break; - case 0x10C83: - bufpush(0x10CC3); - break; - case 0x10C84: - bufpush(0x10CC4); - break; - case 0x10C85: - bufpush(0x10CC5); - break; - case 0x10C86: - bufpush(0x10CC6); - break; - case 0x10C87: - bufpush(0x10CC7); - break; - case 0x10C88: - bufpush(0x10CC8); - break; - case 0x10C89: - bufpush(0x10CC9); - break; - case 0x10C8A: - bufpush(0x10CCA); - break; - case 0x10C8B: - bufpush(0x10CCB); - break; - case 0x10C8C: - bufpush(0x10CCC); - break; - case 0x10C8D: - bufpush(0x10CCD); - break; - case 0x10C8E: - bufpush(0x10CCE); - break; - case 0x10C8F: - bufpush(0x10CCF); - break; - case 0x10C90: - bufpush(0x10CD0); - break; - case 0x10C91: - bufpush(0x10CD1); - break; - case 0x10C92: - bufpush(0x10CD2); - break; - case 0x10C93: - bufpush(0x10CD3); - break; - case 0x10C94: - bufpush(0x10CD4); - break; - case 0x10C95: - bufpush(0x10CD5); - break; - case 0x10C96: - bufpush(0x10CD6); - break; - case 0x10C97: - bufpush(0x10CD7); - break; - case 0x10C98: - bufpush(0x10CD8); - break; - case 0x10C99: - bufpush(0x10CD9); - break; - case 0x10C9A: - bufpush(0x10CDA); - break; - case 0x10C9B: - bufpush(0x10CDB); - break; - case 0x10C9C: - bufpush(0x10CDC); - break; - case 0x10C9D: - bufpush(0x10CDD); - break; - case 0x10C9E: - bufpush(0x10CDE); - break; - case 0x10C9F: - bufpush(0x10CDF); - break; - case 0x10CA0: - bufpush(0x10CE0); - break; - case 0x10CA1: - bufpush(0x10CE1); - break; - case 0x10CA2: - bufpush(0x10CE2); - break; - case 0x10CA3: - bufpush(0x10CE3); - break; - case 0x10CA4: - bufpush(0x10CE4); - break; - case 0x10CA5: - bufpush(0x10CE5); - break; - case 0x10CA6: - bufpush(0x10CE6); - break; - case 0x10CA7: - bufpush(0x10CE7); - break; - case 0x10CA8: - bufpush(0x10CE8); - break; - case 0x10CA9: - bufpush(0x10CE9); - break; - case 0x10CAA: - bufpush(0x10CEA); - break; - case 0x10CAB: - bufpush(0x10CEB); - break; - case 0x10CAC: - bufpush(0x10CEC); - break; - case 0x10CAD: - bufpush(0x10CED); - break; - case 0x10CAE: - bufpush(0x10CEE); - break; - case 0x10CAF: - bufpush(0x10CEF); - break; - case 0x10CB0: - bufpush(0x10CF0); - break; - case 0x10CB1: - bufpush(0x10CF1); - break; - case 0x10CB2: - bufpush(0x10CF2); - break; - case 0x118A0: - bufpush(0x118C0); - break; - case 0x118A1: - bufpush(0x118C1); - break; - case 0x118A2: - bufpush(0x118C2); - break; - case 0x118A3: - bufpush(0x118C3); - break; - case 0x118A4: - bufpush(0x118C4); - break; - case 0x118A5: - bufpush(0x118C5); - break; - case 0x118A6: - bufpush(0x118C6); - break; - case 0x118A7: - bufpush(0x118C7); - break; - case 0x118A8: - bufpush(0x118C8); - break; - case 0x118A9: - bufpush(0x118C9); - break; - case 0x118AA: - bufpush(0x118CA); - break; - case 0x118AB: - bufpush(0x118CB); - break; - case 0x118AC: - bufpush(0x118CC); - break; - case 0x118AD: - bufpush(0x118CD); - break; - case 0x118AE: - bufpush(0x118CE); - break; - case 0x118AF: - bufpush(0x118CF); - break; - case 0x118B0: - bufpush(0x118D0); - break; - case 0x118B1: - bufpush(0x118D1); - break; - case 0x118B2: - bufpush(0x118D2); - break; - case 0x118B3: - bufpush(0x118D3); - break; - case 0x118B4: - bufpush(0x118D4); - break; - case 0x118B5: - bufpush(0x118D5); - break; - case 0x118B6: - bufpush(0x118D6); - break; - case 0x118B7: - bufpush(0x118D7); - break; - case 0x118B8: - bufpush(0x118D8); - break; - case 0x118B9: - bufpush(0x118D9); - break; - case 0x118BA: - bufpush(0x118DA); - break; - case 0x118BB: - bufpush(0x118DB); - break; - case 0x118BC: - bufpush(0x118DC); - break; - case 0x118BD: - bufpush(0x118DD); - break; - case 0x118BE: - bufpush(0x118DE); - break; - case 0x118BF: - bufpush(0x118DF); - break; - case 0x1E900: - bufpush(0x1E922); - break; - case 0x1E901: - bufpush(0x1E923); - break; - case 0x1E902: - bufpush(0x1E924); - break; - case 0x1E903: - bufpush(0x1E925); - break; - case 0x1E904: - bufpush(0x1E926); - break; - case 0x1E905: - bufpush(0x1E927); - break; - case 0x1E906: - bufpush(0x1E928); - break; - case 0x1E907: - bufpush(0x1E929); - break; - case 0x1E908: - bufpush(0x1E92A); - break; - case 0x1E909: - bufpush(0x1E92B); - break; - case 0x1E90A: - bufpush(0x1E92C); - break; - case 0x1E90B: - bufpush(0x1E92D); - break; - case 0x1E90C: - bufpush(0x1E92E); - break; - case 0x1E90D: - bufpush(0x1E92F); - break; - case 0x1E90E: - bufpush(0x1E930); - break; - case 0x1E90F: - bufpush(0x1E931); - break; - case 0x1E910: - bufpush(0x1E932); - break; - case 0x1E911: - bufpush(0x1E933); - break; - case 0x1E912: - bufpush(0x1E934); - break; - case 0x1E913: - bufpush(0x1E935); - break; - case 0x1E914: - bufpush(0x1E936); - break; - case 0x1E915: - bufpush(0x1E937); - break; - case 0x1E916: - bufpush(0x1E938); - break; - case 0x1E917: - bufpush(0x1E939); - break; - case 0x1E918: - bufpush(0x1E93A); - break; - case 0x1E919: - bufpush(0x1E93B); - break; - case 0x1E91A: - bufpush(0x1E93C); - break; - case 0x1E91B: - bufpush(0x1E93D); - break; - case 0x1E91C: - bufpush(0x1E93E); - break; - case 0x1E91D: - bufpush(0x1E93F); - break; - case 0x1E91E: - bufpush(0x1E940); - break; - case 0x1E91F: - bufpush(0x1E941); - break; - case 0x1E920: - bufpush(0x1E942); - break; - case 0x1E921: - bufpush(0x1E943); - break; - default: - bufpush(c); - } diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/chunk.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/chunk.h deleted file mode 100644 index c411c04..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/chunk.h +++ /dev/null @@ -1,135 +0,0 @@ -#ifndef CMARK_CHUNK_H -#define CMARK_CHUNK_H - -#include -#include -#include -#include "cmark-gfm.h" -#include "buffer.h" -#include "cmark_ctype.h" - -#define CMARK_CHUNK_EMPTY \ - { NULL, 0, 0 } - -typedef struct cmark_chunk { - unsigned char *data; - bufsize_t len; - bufsize_t alloc; // also implies a NULL-terminated string -} cmark_chunk; - -static CMARK_INLINE void cmark_chunk_free(cmark_mem *mem, cmark_chunk *c) { - if (c->alloc) - mem->free(c->data); - - c->data = NULL; - c->alloc = 0; - c->len = 0; -} - -static CMARK_INLINE void cmark_chunk_ltrim(cmark_chunk *c) { - assert(!c->alloc); - - while (c->len && cmark_isspace(c->data[0])) { - c->data++; - c->len--; - } -} - -static CMARK_INLINE void cmark_chunk_rtrim(cmark_chunk *c) { - assert(!c->alloc); - - while (c->len > 0) { - if (!cmark_isspace(c->data[c->len - 1])) - break; - - c->len--; - } -} - -static CMARK_INLINE void cmark_chunk_trim(cmark_chunk *c) { - cmark_chunk_ltrim(c); - cmark_chunk_rtrim(c); -} - -static CMARK_INLINE bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c, - bufsize_t offset) { - const unsigned char *p = - (unsigned char *)memchr(ch->data + offset, c, ch->len - offset); - return p ? (bufsize_t)(p - ch->data) : ch->len; -} - -static CMARK_INLINE const char *cmark_chunk_to_cstr(cmark_mem *mem, - cmark_chunk *c) { - unsigned char *str; - - if (c->alloc) { - return (char *)c->data; - } - str = (unsigned char *)mem->calloc(c->len + 1, 1); - if (c->len > 0) { - memcpy(str, c->data, c->len); - } - str[c->len] = 0; - c->data = str; - c->alloc = 1; - - return (char *)str; -} - -static CMARK_INLINE void cmark_chunk_set_cstr(cmark_mem *mem, cmark_chunk *c, - const char *str) { - unsigned char *old = c->alloc ? c->data : NULL; - if (str == NULL) { - c->len = 0; - c->data = NULL; - c->alloc = 0; - } else { - c->len = (bufsize_t)strlen(str); - c->data = (unsigned char *)mem->calloc(c->len + 1, 1); - c->alloc = 1; - memcpy(c->data, str, c->len + 1); - } - if (old != NULL) { - mem->free(old); - } -} - -static CMARK_INLINE cmark_chunk cmark_chunk_literal(const char *data) { - bufsize_t len = data ? (bufsize_t)strlen(data) : 0; - cmark_chunk c = {(unsigned char *)data, len, 0}; - return c; -} - -static CMARK_INLINE cmark_chunk cmark_chunk_dup(const cmark_chunk *ch, - bufsize_t pos, bufsize_t len) { - cmark_chunk c = {ch->data + pos, len, 0}; - return c; -} - -static CMARK_INLINE cmark_chunk cmark_chunk_buf_detach(cmark_strbuf *buf) { - cmark_chunk c; - - c.len = buf->size; - c.data = cmark_strbuf_detach(buf); - c.alloc = 1; - - return c; -} - -/* trim_new variants are to be used when the source chunk may or may not be - * allocated; forces a newly allocated chunk. */ -static CMARK_INLINE cmark_chunk cmark_chunk_ltrim_new(cmark_mem *mem, cmark_chunk *c) { - cmark_chunk r = cmark_chunk_dup(c, 0, c->len); - cmark_chunk_ltrim(&r); - cmark_chunk_to_cstr(mem, &r); - return r; -} - -static CMARK_INLINE cmark_chunk cmark_chunk_rtrim_new(cmark_mem *mem, cmark_chunk *c) { - cmark_chunk r = cmark_chunk_dup(c, 0, c->len); - cmark_chunk_rtrim(&r); - cmark_chunk_to_cstr(mem, &r); - return r; -} - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-core-extensions.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-core-extensions.h deleted file mode 100644 index bc29ffd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-core-extensions.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef CMARK_GFM_CORE_EXTENSIONS_H -#define CMARK_GFM_CORE_EXTENSIONS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "cmark-gfm-extension_api.h" -#include "cmark-gfm_export.h" -#include -#include - -CMARK_GFM_EXPORT -void cmark_gfm_core_extensions_ensure_registered(void); - -CMARK_GFM_EXPORT -uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node); - -/** Sets the number of columns for the table, returning 1 on success and 0 on error. - */ -CMARK_GFM_EXPORT -int cmark_gfm_extensions_set_table_columns(cmark_node *node, uint16_t n_columns); - -CMARK_GFM_EXPORT -uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node); - -/** Sets the alignments for the table, returning 1 on success and 0 on error. - */ -CMARK_GFM_EXPORT -int cmark_gfm_extensions_set_table_alignments(cmark_node *node, uint16_t ncols, uint8_t *alignments); - -CMARK_GFM_EXPORT -int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node); - -/** Sets whether the node is a table header row, returning 1 on success and 0 on error. - */ -CMARK_GFM_EXPORT -int cmark_gfm_extensions_set_table_row_is_header(cmark_node *node, int is_header); - -CMARK_GFM_EXPORT -bool cmark_gfm_extensions_get_tasklist_item_checked(cmark_node *node); -/* For backwards compatibility */ -#define cmark_gfm_extensions_tasklist_is_checked cmark_gfm_extensions_get_tasklist_item_checked - -/** Sets whether a tasklist item is "checked" (completed), returning 1 on success and 0 on error. - */ -CMARK_GFM_EXPORT -int cmark_gfm_extensions_set_tasklist_item_checked(cmark_node *node, bool is_checked); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-extension_api.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-extension_api.h deleted file mode 100644 index bb92a59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-extension_api.h +++ /dev/null @@ -1,737 +0,0 @@ -#ifndef CMARK_GFM_EXTENSION_API_H -#define CMARK_GFM_EXTENSION_API_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "cmark-gfm.h" - -struct cmark_renderer; -struct cmark_html_renderer; -struct cmark_chunk; - -/** - * ## Extension Support - * - * While the "core" of libcmark is strictly compliant with the - * specification, an API is provided for extension writers to - * hook into the parsing process. - * - * It should be noted that the cmark_node API already offers - * room for customization, with methods offered to traverse and - * modify the AST, and even define custom blocks. - * When the desired customization is achievable in an error-proof - * way using that API, it should be the preferred method. - * - * The following API requires a more in-depth understanding - * of libcmark's parsing strategy, which is exposed - * [here](http://spec.commonmark.org/0.24/#appendix-a-parsing-strategy). - * - * It should be used when "a posteriori" modification of the AST - * proves to be too difficult / impossible to implement correctly. - * - * It can also serve as an intermediary step before extending - * the specification, as an extension implemented using this API - * will be trivially integrated in the core if it proves to be - * desirable. - */ - -typedef struct cmark_plugin cmark_plugin; - -/** A syntax extension that can be attached to a cmark_parser - * with cmark_parser_attach_syntax_extension(). - * - * Extension writers should assign functions matching - * the signature of the following 'virtual methods' to - * implement new functionality. - * - * Their calling order and expected behaviour match the procedure outlined - * at : - * - * During step 1, cmark will call the function provided through - * 'cmark_syntax_extension_set_match_block_func' when it - * iterates over an open block created by this extension, - * to determine whether it could contain the new line. - * If no function was provided, cmark will close the block. - * - * During step 2, if and only if the new line doesn't match any - * of the standard syntax rules, cmark will call the function - * provided through 'cmark_syntax_extension_set_open_block_func' - * to let the extension determine whether that new line matches - * one of its syntax rules. - * It is the responsibility of the parser to create and add the - * new block with cmark_parser_make_block and cmark_parser_add_child. - * If no function was provided is NULL, the extension will have - * no effect at all on the final block structure of the AST. - * - * #### Inline parsing phase hooks - * - * For each character provided by the extension through - * 'cmark_syntax_extension_set_special_inline_chars', - * the function provided by the extension through - * 'cmark_syntax_extension_set_match_inline_func' - * will get called, it is the responsibility of the extension - * to scan the characters located at the current inline parsing offset - * with the cmark_inline_parser API. - * - * Depending on the type of the extension, it can either: - * - * * Scan forward, determine that the syntax matches and return - * a newly-created inline node with the appropriate type. - * This is the technique that would be used if inline code - * (with backticks) was implemented as an extension. - * * Scan only the character(s) that its syntax rules require - * for opening and closing nodes, push a delimiter on the - * delimiter stack, and return a simple text node with its - * contents set to the character(s) consumed. - * This is the technique that would be used if emphasis - * inlines were implemented as an extension. - * - * When an extension has pushed delimiters on the stack, - * the function provided through - * 'cmark_syntax_extension_set_inline_from_delim_func' - * will get called in a latter phase, - * when the inline parser has matched opener and closer delimiters - * created by the extension together. - * - * It is then the responsibility of the extension to modify - * and populate the opener inline text node, and to remove - * the necessary delimiters from the delimiter stack. - * - * Finally, the extension should return NULL if its scan didn't - * match its syntax rules. - * - * The extension can store whatever private data it might need - * with 'cmark_syntax_extension_set_private', - * and optionally define a free function for this data. - */ -typedef struct subject cmark_inline_parser; - -/** Exposed raw for now */ - -typedef struct delimiter { - struct delimiter *previous; - struct delimiter *next; - cmark_node *inl_text; - bufsize_t position; - bufsize_t length; - unsigned char delim_char; - int can_open; - int can_close; -} delimiter; - -/** - * ### Plugin API. - * - * Extensions should be distributed as dynamic libraries, - * with a single exported function named after the distributed - * filename. - * - * When discovering extensions (see cmark_init), cmark will - * try to load a symbol named "init_{{filename}}" in all the - * dynamic libraries it encounters. - * - * For example, given a dynamic library named myextension.so - * (or myextension.dll), cmark will try to load the symbol - * named "init_myextension". This means that the filename - * must lend itself to forming a valid C identifier, with - * the notable exception of dashes, which will be translated - * to underscores, which means cmark will look for a function - * named "init_my_extension" if it encounters a dynamic library - * named "my-extension.so". - * - * See the 'cmark_plugin_init_func' typedef for the exact prototype - * this function should follow. - * - * For now the extensibility of cmark is not complete, as - * it only offers API to hook into the block parsing phase - * (). - * - * See 'cmark_plugin_register_syntax_extension' for more information. - */ - -/** The prototype plugins' init function should follow. - */ -typedef int (*cmark_plugin_init_func)(cmark_plugin *plugin); - -/** Register a syntax 'extension' with the 'plugin', it will be made - * available as an extension and, if attached to a cmark_parser - * with 'cmark_parser_attach_syntax_extension', it will contribute - * to the block parsing process. - * - * See the documentation for 'cmark_syntax_extension' for information - * on how to implement one. - * - * This function will typically be called from the init function - * of external modules. - * - * This takes ownership of 'extension', one should not call - * 'cmark_syntax_extension_free' on a registered extension. - */ -CMARK_GFM_EXPORT -int cmark_plugin_register_syntax_extension(cmark_plugin *plugin, - cmark_syntax_extension *extension); - -/** This will search for the syntax extension named 'name' among the - * registered syntax extensions. - * - * It can then be attached to a cmark_parser - * with the cmark_parser_attach_syntax_extension method. - */ -CMARK_GFM_EXPORT -cmark_syntax_extension *cmark_find_syntax_extension(const char *name); - -/** Should create and add a new open block to 'parent_container' if - * 'input' matches a syntax rule for that block type. It is allowed - * to modify the type of 'parent_container'. - * - * Should return the newly created block if there is one, or - * 'parent_container' if its type was modified, or NULL. - */ -typedef cmark_node * (*cmark_open_block_func) (cmark_syntax_extension *extension, - int indented, - cmark_parser *parser, - cmark_node *parent_container, - unsigned char *input, - int len); - -typedef cmark_node *(*cmark_match_inline_func)(cmark_syntax_extension *extension, - cmark_parser *parser, - cmark_node *parent, - unsigned char character, - cmark_inline_parser *inline_parser); - -typedef delimiter *(*cmark_inline_from_delim_func)(cmark_syntax_extension *extension, - cmark_parser *parser, - cmark_inline_parser *inline_parser, - delimiter *opener, - delimiter *closer); - -/** Should return 'true' if 'input' can be contained in 'container', - * 'false' otherwise. - */ -typedef int (*cmark_match_block_func) (cmark_syntax_extension *extension, - cmark_parser *parser, - unsigned char *input, - int len, - cmark_node *container); - -typedef const char *(*cmark_get_type_string_func) (cmark_syntax_extension *extension, - cmark_node *node); - -typedef int (*cmark_can_contain_func) (cmark_syntax_extension *extension, - cmark_node *node, - cmark_node_type child); - -typedef int (*cmark_contains_inlines_func) (cmark_syntax_extension *extension, - cmark_node *node); - -typedef void (*cmark_common_render_func) (cmark_syntax_extension *extension, - struct cmark_renderer *renderer, - cmark_node *node, - cmark_event_type ev_type, - int options); - -typedef int (*cmark_commonmark_escape_func) (cmark_syntax_extension *extension, - cmark_node *node, - int c); - -typedef const char* (*cmark_xml_attr_func) (cmark_syntax_extension *extension, - cmark_node *node); - -typedef void (*cmark_html_render_func) (cmark_syntax_extension *extension, - struct cmark_html_renderer *renderer, - cmark_node *node, - cmark_event_type ev_type, - int options); - -typedef int (*cmark_html_filter_func) (cmark_syntax_extension *extension, - const unsigned char *tag, - size_t tag_len); - -typedef cmark_node *(*cmark_postprocess_func) (cmark_syntax_extension *extension, - cmark_parser *parser, - cmark_node *root); - -typedef int (*cmark_ispunct_func) (char c); - -typedef void (*cmark_opaque_alloc_func) (cmark_syntax_extension *extension, - cmark_mem *mem, - cmark_node *node); - -typedef void (*cmark_opaque_free_func) (cmark_syntax_extension *extension, - cmark_mem *mem, - cmark_node *node); - -/** Free a cmark_syntax_extension. - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_free (cmark_mem *mem, cmark_syntax_extension *extension); - -/** Return a newly-constructed cmark_syntax_extension, named 'name'. - */ -CMARK_GFM_EXPORT -cmark_syntax_extension *cmark_syntax_extension_new (const char *name); - -CMARK_GFM_EXPORT -cmark_node_type cmark_syntax_extension_add_node(int is_inline); - -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_emphasis(cmark_syntax_extension *extension, int emphasis); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_open_block_func(cmark_syntax_extension *extension, - cmark_open_block_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_match_block_func(cmark_syntax_extension *extension, - cmark_match_block_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_match_inline_func(cmark_syntax_extension *extension, - cmark_match_inline_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_inline_from_delim_func(cmark_syntax_extension *extension, - cmark_inline_from_delim_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_special_inline_chars(cmark_syntax_extension *extension, - cmark_llist *special_chars); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_get_type_string_func(cmark_syntax_extension *extension, - cmark_get_type_string_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_can_contain_func(cmark_syntax_extension *extension, - cmark_can_contain_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_contains_inlines_func(cmark_syntax_extension *extension, - cmark_contains_inlines_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_commonmark_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_plaintext_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_latex_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_xml_attr_func(cmark_syntax_extension *extension, - cmark_xml_attr_func func); - - /** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_man_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_html_render_func(cmark_syntax_extension *extension, - cmark_html_render_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_html_filter_func(cmark_syntax_extension *extension, - cmark_html_filter_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_commonmark_escape_func(cmark_syntax_extension *extension, - cmark_commonmark_escape_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_private(cmark_syntax_extension *extension, - void *priv, - cmark_free_func free_func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void *cmark_syntax_extension_get_private(cmark_syntax_extension *extension); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_postprocess_func(cmark_syntax_extension *extension, - cmark_postprocess_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_opaque_alloc_func(cmark_syntax_extension *extension, - cmark_opaque_alloc_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_syntax_extension_set_opaque_free_func(cmark_syntax_extension *extension, - cmark_opaque_free_func func); - -/** See the documentation for 'cmark_syntax_extension' - */ -CMARK_GFM_EXPORT -void cmark_parser_set_backslash_ispunct_func(cmark_parser *parser, - cmark_ispunct_func func); - -/** Return the index of the line currently being parsed, starting with 1. - */ -CMARK_GFM_EXPORT -int cmark_parser_get_line_number(cmark_parser *parser); - -/** Return the offset in bytes in the line being processed. - * - * Example: - * - * ### foo - * - * Here, offset will first be 0, then 5 (the index of the 'f' character). - */ -CMARK_GFM_EXPORT -int cmark_parser_get_offset(cmark_parser *parser); - -/** - * Return the offset in 'columns' in the line being processed. - * - * This value may differ from the value returned by - * cmark_parser_get_offset() in that it accounts for tabs, - * and as such should not be used as an index in the current line's - * buffer. - * - * Example: - * - * cmark_parser_advance_offset() can be called to advance the - * offset by a number of columns, instead of a number of bytes. - * - * In that case, if offset falls "in the middle" of a tab - * character, 'column' and offset will differ. - * - * ``` - * foo \t bar - * ^ ^^ - * offset (0) 20 - * ``` - * - * If cmark_parser_advance_offset is called here with 'columns' - * set to 'true' and 'offset' set to 22, cmark_parser_get_offset() - * will return 20, whereas cmark_parser_get_column() will return - * 22. - * - * Additionally, as tabs expand to the next multiple of 4 column, - * cmark_parser_has_partially_consumed_tab() will now return - * 'true'. - */ -CMARK_GFM_EXPORT -int cmark_parser_get_column(cmark_parser *parser); - -/** Return the absolute index in bytes of the first nonspace - * character coming after the offset as returned by - * cmark_parser_get_offset() in the line currently being processed. - * - * Example: - * - * ``` - * foo bar baz \n - * ^ ^ ^ - * 0 offset (16) first_nonspace (28) - * ``` - */ -CMARK_GFM_EXPORT -int cmark_parser_get_first_nonspace(cmark_parser *parser); - -/** Return the absolute index of the first nonspace column coming after 'offset' - * in the line currently being processed, counting tabs as multiple - * columns as appropriate. - * - * See the documentation for cmark_parser_get_first_nonspace() and - * cmark_parser_get_column() for more information. - */ -CMARK_GFM_EXPORT -int cmark_parser_get_first_nonspace_column(cmark_parser *parser); - -/** Return the difference between the values returned by - * cmark_parser_get_first_nonspace_column() and - * cmark_parser_get_column(). - * - * This is not a byte offset, as it can count one tab as multiple - * characters. - */ -CMARK_GFM_EXPORT -int cmark_parser_get_indent(cmark_parser *parser); - -/** Return 'true' if the line currently being processed has been entirely - * consumed, 'false' otherwise. - * - * Example: - * - * ``` - * foo bar baz \n - * ^ - * offset - * ``` - * - * This function will return 'false' here. - * - * ``` - * foo bar baz \n - * ^ - * offset - * ``` - * This function will still return 'false'. - * - * ``` - * foo bar baz \n - * ^ - * offset - * ``` - * - * At this point, this function will now return 'true'. - */ -CMARK_GFM_EXPORT -int cmark_parser_is_blank(cmark_parser *parser); - -/** Return 'true' if the value returned by cmark_parser_get_offset() - * is 'inside' an expanded tab. - * - * See the documentation for cmark_parser_get_column() for more - * information. - */ -CMARK_GFM_EXPORT -int cmark_parser_has_partially_consumed_tab(cmark_parser *parser); - -/** Return the length in bytes of the previously processed line, excluding potential - * newline (\n) and carriage return (\r) trailing characters. - */ -CMARK_GFM_EXPORT -int cmark_parser_get_last_line_length(cmark_parser *parser); - -/** Add a child to 'parent' during the parsing process. - * - * If 'parent' isn't the kind of node that can accept this child, - * this function will back up till it hits a node that can, closing - * blocks as appropriate. - */ -CMARK_GFM_EXPORT -cmark_node*cmark_parser_add_child(cmark_parser *parser, - cmark_node *parent, - cmark_node_type block_type, - int start_column); - -/** Advance the 'offset' of the parser in the current line. - * - * See the documentation of cmark_parser_get_offset() and - * cmark_parser_get_column() for more information. - */ -CMARK_GFM_EXPORT -void cmark_parser_advance_offset(cmark_parser *parser, - const char *input, - int count, - int columns); - - -CMARK_GFM_EXPORT -void cmark_parser_feed_reentrant(cmark_parser *parser, const char *buffer, size_t len); - -/** Attach the syntax 'extension' to the 'parser', to provide extra syntax - * rules. - * See the documentation for cmark_syntax_extension for more information. - * - * Returns 'true' if the 'extension' was successfully attached, - * 'false' otherwise. - */ -CMARK_GFM_EXPORT -int cmark_parser_attach_syntax_extension(cmark_parser *parser, cmark_syntax_extension *extension); - -/** Change the type of 'node'. - * - * Return 0 if the type could be changed, 1 otherwise. - */ -CMARK_GFM_EXPORT int cmark_node_set_type(cmark_node *node, cmark_node_type type); - -/** Return the string content for all types of 'node'. - * The pointer stays valid as long as 'node' isn't freed. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_string_content(cmark_node *node); - -/** Set the string 'content' for all types of 'node'. - * Copies 'content'. - */ -CMARK_GFM_EXPORT int cmark_node_set_string_content(cmark_node *node, const char *content); - -/** Get the syntax extension responsible for the creation of 'node'. - * Return NULL if 'node' was created because it matched standard syntax rules. - */ -CMARK_GFM_EXPORT cmark_syntax_extension *cmark_node_get_syntax_extension(cmark_node *node); - -/** Set the syntax extension responsible for creating 'node'. - */ -CMARK_GFM_EXPORT int cmark_node_set_syntax_extension(cmark_node *node, - cmark_syntax_extension *extension); - -/** - * ## Inline syntax extension helpers - * - * The inline parsing process is described in detail at - * - */ - -/** Should return 'true' if the predicate matches 'c', 'false' otherwise - */ -typedef int (*cmark_inline_predicate)(int c); - -/** Advance the current inline parsing offset */ -CMARK_GFM_EXPORT -void cmark_inline_parser_advance_offset(cmark_inline_parser *parser); - -/** Get the current inline parsing offset */ -CMARK_GFM_EXPORT -int cmark_inline_parser_get_offset(cmark_inline_parser *parser); - -/** Set the offset in bytes in the chunk being processed by the given inline parser. - */ -CMARK_GFM_EXPORT -void cmark_inline_parser_set_offset(cmark_inline_parser *parser, int offset); - -/** Gets the cmark_chunk being operated on by the given inline parser. - * Use cmark_inline_parser_get_offset to get our current position in the chunk. - */ -CMARK_GFM_EXPORT -struct cmark_chunk *cmark_inline_parser_get_chunk(cmark_inline_parser *parser); - -/** Returns 1 if the inline parser is currently in a bracket; pass 1 for 'image' - * if you want to know about an image-type bracket, 0 for link-type. */ -CMARK_GFM_EXPORT -int cmark_inline_parser_in_bracket(cmark_inline_parser *parser, int image); - -/** Remove the last n characters from the last child of the given node. - * This only works where all n characters are in the single last child, and the last - * child is CMARK_NODE_TEXT. - */ -CMARK_GFM_EXPORT -void cmark_node_unput(cmark_node *node, int n); - - -/** Get the character located at the current inline parsing offset - */ -CMARK_GFM_EXPORT -unsigned char cmark_inline_parser_peek_char(cmark_inline_parser *parser); - -/** Get the character located 'pos' bytes in the current line. - */ -CMARK_GFM_EXPORT -unsigned char cmark_inline_parser_peek_at(cmark_inline_parser *parser, int pos); - -/** Whether the inline parser has reached the end of the current line - */ -CMARK_GFM_EXPORT -int cmark_inline_parser_is_eof(cmark_inline_parser *parser); - -/** Get the characters located after the current inline parsing offset - * while 'pred' matches. Free after usage. - */ -CMARK_GFM_EXPORT -char *cmark_inline_parser_take_while(cmark_inline_parser *parser, cmark_inline_predicate pred); - -/** Push a delimiter on the delimiter stack. - * See < for - * more information on the parameters - */ -CMARK_GFM_EXPORT -void cmark_inline_parser_push_delimiter(cmark_inline_parser *parser, - unsigned char c, - int can_open, - int can_close, - cmark_node *inl_text); - -/** Remove 'delim' from the delimiter stack - */ -CMARK_GFM_EXPORT -void cmark_inline_parser_remove_delimiter(cmark_inline_parser *parser, delimiter *delim); - -CMARK_GFM_EXPORT -delimiter *cmark_inline_parser_get_last_delimiter(cmark_inline_parser *parser); - -CMARK_GFM_EXPORT -int cmark_inline_parser_get_line(cmark_inline_parser *parser); - -CMARK_GFM_EXPORT -int cmark_inline_parser_get_column(cmark_inline_parser *parser); - -/** Convenience function to scan a given delimiter. - * - * 'left_flanking' and 'right_flanking' will be set to true if they - * respectively precede and follow a non-space, non-punctuation - * character. - * - * Additionally, 'punct_before' and 'punct_after' will respectively be set - * if the preceding or following character is a punctuation character. - * - * Note that 'left_flanking' and 'right_flanking' can both be 'true'. - * - * Returns the number of delimiters encountered, in the limit - * of 'max_delims', and advances the inline parsing offset. - */ -CMARK_GFM_EXPORT -int cmark_inline_parser_scan_delimiters(cmark_inline_parser *parser, - int max_delims, - unsigned char c, - int *left_flanking, - int *right_flanking, - int *punct_before, - int *punct_after); - -CMARK_GFM_EXPORT -void cmark_manage_extensions_special_characters(cmark_parser *parser, int add); - -CMARK_GFM_EXPORT -cmark_llist *cmark_parser_get_syntax_extensions(cmark_parser *parser); - -CMARK_GFM_EXPORT -void cmark_arena_push(void); - -CMARK_GFM_EXPORT -int cmark_arena_pop(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-extensions_export.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-extensions_export.h deleted file mode 100644 index 69c0bd7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm-extensions_export.h +++ /dev/null @@ -1,42 +0,0 @@ - -#ifndef CMARK_GFM_EXTENSIONS_EXPORT_H -#define CMARK_GFM_EXTENSIONS_EXPORT_H - -#ifdef CMARK_GFM_EXTENSIONS_STATIC_DEFINE -# define CMARK_GFM_EXTENSIONS_EXPORT -# define CMARK_GFM_EXTENSIONS_NO_EXPORT -#else -# ifndef CMARK_GFM_EXTENSIONS_EXPORT -# ifdef libcmark_gfm_extensions_EXPORTS - /* We are building this library */ -# define CMARK_GFM_EXTENSIONS_EXPORT __attribute__((visibility("default"))) -# else - /* We are using this library */ -# define CMARK_GFM_EXTENSIONS_EXPORT __attribute__((visibility("default"))) -# endif -# endif - -# ifndef CMARK_GFM_EXTENSIONS_NO_EXPORT -# define CMARK_GFM_EXTENSIONS_NO_EXPORT __attribute__((visibility("hidden"))) -# endif -#endif - -#ifndef CMARK_GFM_EXTENSIONS_DEPRECATED -# define CMARK_GFM_EXTENSIONS_DEPRECATED __attribute__ ((__deprecated__)) -#endif - -#ifndef CMARK_GFM_EXTENSIONS_DEPRECATED_EXPORT -# define CMARK_GFM_EXTENSIONS_DEPRECATED_EXPORT CMARK_GFM_EXTENSIONS_EXPORT CMARK_GFM_EXTENSIONS_DEPRECATED -#endif - -#ifndef CMARK_GFM_EXTENSIONS_DEPRECATED_NO_EXPORT -# define CMARK_GFM_EXTENSIONS_DEPRECATED_NO_EXPORT CMARK_GFM_EXTENSIONS_NO_EXPORT CMARK_GFM_EXTENSIONS_DEPRECATED -#endif - -#if 0 /* DEFINE_NO_DEPRECATED */ -# ifndef CMARK_GFM_EXTENSIONS_NO_DEPRECATED -# define CMARK_GFM_EXTENSIONS_NO_DEPRECATED -# endif -#endif - -#endif /* CMARK_GFM_EXTENSIONS_EXPORT_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm.h deleted file mode 100644 index 0544057..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm.h +++ /dev/null @@ -1,833 +0,0 @@ -#ifndef CMARK_GFM_H -#define CMARK_GFM_H - -#include -#include -#include "cmark-gfm_export.h" -#include "cmark-gfm_version.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** # NAME - * - * **cmark-gfm** - CommonMark parsing, manipulating, and rendering - */ - -/** # DESCRIPTION - * - * ## Simple Interface - */ - -/** Convert 'text' (assumed to be a UTF-8 encoded string with length - * 'len') from CommonMark Markdown to HTML, returning a null-terminated, - * UTF-8-encoded string. It is the caller's responsibility - * to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_markdown_to_html(const char *text, size_t len, int options); - -/** ## Node Structure - */ - -#define CMARK_NODE_TYPE_PRESENT (0x8000) -#define CMARK_NODE_TYPE_BLOCK (CMARK_NODE_TYPE_PRESENT | 0x0000) -#define CMARK_NODE_TYPE_INLINE (CMARK_NODE_TYPE_PRESENT | 0x4000) -#define CMARK_NODE_TYPE_MASK (0xc000) -#define CMARK_NODE_VALUE_MASK (0x3fff) - -typedef enum { - /* Error status */ - CMARK_NODE_NONE = 0x0000, - - /* Block */ - CMARK_NODE_DOCUMENT = CMARK_NODE_TYPE_BLOCK | 0x0001, - CMARK_NODE_BLOCK_QUOTE = CMARK_NODE_TYPE_BLOCK | 0x0002, - CMARK_NODE_LIST = CMARK_NODE_TYPE_BLOCK | 0x0003, - CMARK_NODE_ITEM = CMARK_NODE_TYPE_BLOCK | 0x0004, - CMARK_NODE_CODE_BLOCK = CMARK_NODE_TYPE_BLOCK | 0x0005, - CMARK_NODE_HTML_BLOCK = CMARK_NODE_TYPE_BLOCK | 0x0006, - CMARK_NODE_CUSTOM_BLOCK = CMARK_NODE_TYPE_BLOCK | 0x0007, - CMARK_NODE_PARAGRAPH = CMARK_NODE_TYPE_BLOCK | 0x0008, - CMARK_NODE_HEADING = CMARK_NODE_TYPE_BLOCK | 0x0009, - CMARK_NODE_THEMATIC_BREAK = CMARK_NODE_TYPE_BLOCK | 0x000a, - CMARK_NODE_FOOTNOTE_DEFINITION = CMARK_NODE_TYPE_BLOCK | 0x000b, - - /* Inline */ - CMARK_NODE_TEXT = CMARK_NODE_TYPE_INLINE | 0x0001, - CMARK_NODE_SOFTBREAK = CMARK_NODE_TYPE_INLINE | 0x0002, - CMARK_NODE_LINEBREAK = CMARK_NODE_TYPE_INLINE | 0x0003, - CMARK_NODE_CODE = CMARK_NODE_TYPE_INLINE | 0x0004, - CMARK_NODE_HTML_INLINE = CMARK_NODE_TYPE_INLINE | 0x0005, - CMARK_NODE_CUSTOM_INLINE = CMARK_NODE_TYPE_INLINE | 0x0006, - CMARK_NODE_EMPH = CMARK_NODE_TYPE_INLINE | 0x0007, - CMARK_NODE_STRONG = CMARK_NODE_TYPE_INLINE | 0x0008, - CMARK_NODE_LINK = CMARK_NODE_TYPE_INLINE | 0x0009, - CMARK_NODE_IMAGE = CMARK_NODE_TYPE_INLINE | 0x000a, - CMARK_NODE_FOOTNOTE_REFERENCE = CMARK_NODE_TYPE_INLINE | 0x000b, -} cmark_node_type; - -extern cmark_node_type CMARK_NODE_LAST_BLOCK; -extern cmark_node_type CMARK_NODE_LAST_INLINE; - -/* For backwards compatibility: */ -#define CMARK_NODE_HEADER CMARK_NODE_HEADING -#define CMARK_NODE_HRULE CMARK_NODE_THEMATIC_BREAK -#define CMARK_NODE_HTML CMARK_NODE_HTML_BLOCK -#define CMARK_NODE_INLINE_HTML CMARK_NODE_HTML_INLINE - -typedef enum { - CMARK_NO_LIST, - CMARK_BULLET_LIST, - CMARK_ORDERED_LIST -} cmark_list_type; - -typedef enum { - CMARK_NO_DELIM, - CMARK_PERIOD_DELIM, - CMARK_PAREN_DELIM -} cmark_delim_type; - -typedef struct cmark_node cmark_node; -typedef struct cmark_parser cmark_parser; -typedef struct cmark_iter cmark_iter; -typedef struct cmark_syntax_extension cmark_syntax_extension; - -/** - * ## Custom memory allocator support - */ - -/** Defines the memory allocation functions to be used by CMark - * when parsing and allocating a document tree - */ -typedef struct cmark_mem { - void *(*calloc)(size_t, size_t); - void *(*realloc)(void *, size_t); - void (*free)(void *); -} cmark_mem; - -/** The default memory allocator; uses the system's calloc, - * realloc and free. - */ -CMARK_GFM_EXPORT -cmark_mem *cmark_get_default_mem_allocator(void); - -/** An arena allocator; uses system calloc to allocate large - * slabs of memory. Memory in these slabs is not reused at all. - */ -CMARK_GFM_EXPORT -cmark_mem *cmark_get_arena_mem_allocator(void); - -/** Resets the arena allocator, quickly returning all used memory - * to the operating system. - */ -CMARK_GFM_EXPORT -void cmark_arena_reset(void); - -/** Callback for freeing user data with a 'cmark_mem' context. - */ -typedef void (*cmark_free_func) (cmark_mem *mem, void *user_data); - - -/* - * ## Basic data structures - * - * To keep dependencies to the strict minimum, libcmark implements - * its own versions of "classic" data structures. - */ - -/** - * ### Linked list - */ - -/** A generic singly linked list. - */ -typedef struct _cmark_llist -{ - struct _cmark_llist *next; - void *data; -} cmark_llist; - -/** Append an element to the linked list, return the possibly modified - * head of the list. - */ -CMARK_GFM_EXPORT -cmark_llist * cmark_llist_append (cmark_mem * mem, - cmark_llist * head, - void * data); - -/** Free the list starting with 'head', calling 'free_func' with the - * data pointer of each of its elements - */ -CMARK_GFM_EXPORT -void cmark_llist_free_full (cmark_mem * mem, - cmark_llist * head, - cmark_free_func free_func); - -/** Free the list starting with 'head' - */ -CMARK_GFM_EXPORT -void cmark_llist_free (cmark_mem * mem, - cmark_llist * head); - -/** - * ## Creating and Destroying Nodes - */ - -/** Creates a new node of type 'type'. Note that the node may have - * other required properties, which it is the caller's responsibility - * to assign. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_new(cmark_node_type type); - -/** Same as `cmark_node_new`, but explicitly listing the memory - * allocator used to allocate the node. Note: be sure to use the same - * allocator for every node in a tree, or bad things can happen. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_new_with_mem(cmark_node_type type, - cmark_mem *mem); - -CMARK_GFM_EXPORT cmark_node *cmark_node_new_with_ext(cmark_node_type type, - cmark_syntax_extension *extension); - -CMARK_GFM_EXPORT cmark_node *cmark_node_new_with_mem_and_ext(cmark_node_type type, - cmark_mem *mem, - cmark_syntax_extension *extension); - -/** Frees the memory allocated for a node and any children. - */ -CMARK_GFM_EXPORT void cmark_node_free(cmark_node *node); - -/** - * ## Tree Traversal - */ - -/** Returns the next node in the sequence after 'node', or NULL if - * there is none. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_next(cmark_node *node); - -/** Returns the previous node in the sequence after 'node', or NULL if - * there is none. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_previous(cmark_node *node); - -/** Returns the parent of 'node', or NULL if there is none. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_parent(cmark_node *node); - -/** Returns the first child of 'node', or NULL if 'node' has no children. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_first_child(cmark_node *node); - -/** Returns the last child of 'node', or NULL if 'node' has no children. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_last_child(cmark_node *node); - -/** Returns the footnote reference of 'node', or NULL if 'node' doesn't have a - * footnote reference. - */ -CMARK_GFM_EXPORT cmark_node *cmark_node_parent_footnote_def(cmark_node *node); - -/** - * ## Iterator - * - * An iterator will walk through a tree of nodes, starting from a root - * node, returning one node at a time, together with information about - * whether the node is being entered or exited. The iterator will - * first descend to a child node, if there is one. When there is no - * child, the iterator will go to the next sibling. When there is no - * next sibling, the iterator will return to the parent (but with - * a 'cmark_event_type' of `CMARK_EVENT_EXIT`). The iterator will - * return `CMARK_EVENT_DONE` when it reaches the root node again. - * One natural application is an HTML renderer, where an `ENTER` event - * outputs an open tag and an `EXIT` event outputs a close tag. - * An iterator might also be used to transform an AST in some systematic - * way, for example, turning all level-3 headings into regular paragraphs. - * - * void - * usage_example(cmark_node *root) { - * cmark_event_type ev_type; - * cmark_iter *iter = cmark_iter_new(root); - * - * while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - * cmark_node *cur = cmark_iter_get_node(iter); - * // Do something with `cur` and `ev_type` - * } - * - * cmark_iter_free(iter); - * } - * - * Iterators will never return `EXIT` events for leaf nodes, which are nodes - * of type: - * - * * CMARK_NODE_HTML_BLOCK - * * CMARK_NODE_THEMATIC_BREAK - * * CMARK_NODE_CODE_BLOCK - * * CMARK_NODE_TEXT - * * CMARK_NODE_SOFTBREAK - * * CMARK_NODE_LINEBREAK - * * CMARK_NODE_CODE - * * CMARK_NODE_HTML_INLINE - * - * Nodes must only be modified after an `EXIT` event, or an `ENTER` event for - * leaf nodes. - */ - -typedef enum { - CMARK_EVENT_NONE, - CMARK_EVENT_DONE, - CMARK_EVENT_ENTER, - CMARK_EVENT_EXIT -} cmark_event_type; - -/** Creates a new iterator starting at 'root'. The current node and event - * type are undefined until 'cmark_iter_next' is called for the first time. - * The memory allocated for the iterator should be released using - * 'cmark_iter_free' when it is no longer needed. - */ -CMARK_GFM_EXPORT -cmark_iter *cmark_iter_new(cmark_node *root); - -/** Frees the memory allocated for an iterator. - */ -CMARK_GFM_EXPORT -void cmark_iter_free(cmark_iter *iter); - -/** Advances to the next node and returns the event type (`CMARK_EVENT_ENTER`, - * `CMARK_EVENT_EXIT` or `CMARK_EVENT_DONE`). - */ -CMARK_GFM_EXPORT -cmark_event_type cmark_iter_next(cmark_iter *iter); - -/** Returns the current node. - */ -CMARK_GFM_EXPORT -cmark_node *cmark_iter_get_node(cmark_iter *iter); - -/** Returns the current event type. - */ -CMARK_GFM_EXPORT -cmark_event_type cmark_iter_get_event_type(cmark_iter *iter); - -/** Returns the root node. - */ -CMARK_GFM_EXPORT -cmark_node *cmark_iter_get_root(cmark_iter *iter); - -/** Resets the iterator so that the current node is 'current' and - * the event type is 'event_type'. The new current node must be a - * descendant of the root node or the root node itself. - */ -CMARK_GFM_EXPORT -void cmark_iter_reset(cmark_iter *iter, cmark_node *current, - cmark_event_type event_type); - -/** - * ## Accessors - */ - -/** Returns the user data of 'node'. - */ -CMARK_GFM_EXPORT void *cmark_node_get_user_data(cmark_node *node); - -/** Sets arbitrary user data for 'node'. Returns 1 on success, - * 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_user_data(cmark_node *node, void *user_data); - -/** Set free function for user data */ -CMARK_GFM_EXPORT -int cmark_node_set_user_data_free_func(cmark_node *node, - cmark_free_func free_func); - -/** Returns the type of 'node', or `CMARK_NODE_NONE` on error. - */ -CMARK_GFM_EXPORT cmark_node_type cmark_node_get_type(cmark_node *node); - -/** Like 'cmark_node_get_type', but returns a string representation - of the type, or `""`. - */ -CMARK_GFM_EXPORT -const char *cmark_node_get_type_string(cmark_node *node); - -/** Returns the string contents of 'node', or an empty - string if none is set. Returns NULL if called on a - node that does not have string content. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_literal(cmark_node *node); - -/** Sets the string contents of 'node'. Returns 1 on success, - * 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_literal(cmark_node *node, const char *content); - -/** Returns the heading level of 'node', or 0 if 'node' is not a heading. - */ -CMARK_GFM_EXPORT int cmark_node_get_heading_level(cmark_node *node); - -/* For backwards compatibility */ -#define cmark_node_get_header_level cmark_node_get_heading_level -#define cmark_node_set_header_level cmark_node_set_heading_level - -/** Sets the heading level of 'node', returning 1 on success and 0 on error. - */ -CMARK_GFM_EXPORT int cmark_node_set_heading_level(cmark_node *node, int level); - -/** Returns the list type of 'node', or `CMARK_NO_LIST` if 'node' - * is not a list. - */ -CMARK_GFM_EXPORT cmark_list_type cmark_node_get_list_type(cmark_node *node); - -/** Sets the list type of 'node', returning 1 on success and 0 on error. - */ -CMARK_GFM_EXPORT int cmark_node_set_list_type(cmark_node *node, - cmark_list_type type); - -/** Returns the list delimiter type of 'node', or `CMARK_NO_DELIM` if 'node' - * is not a list. - */ -CMARK_GFM_EXPORT cmark_delim_type cmark_node_get_list_delim(cmark_node *node); - -/** Sets the list delimiter type of 'node', returning 1 on success and 0 - * on error. - */ -CMARK_GFM_EXPORT int cmark_node_set_list_delim(cmark_node *node, - cmark_delim_type delim); - -/** Returns starting number of 'node', if it is an ordered list, otherwise 0. - */ -CMARK_GFM_EXPORT int cmark_node_get_list_start(cmark_node *node); - -/** Sets starting number of 'node', if it is an ordered list. Returns 1 - * on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_list_start(cmark_node *node, int start); - -/** Returns 1 if 'node' is a tight list, 0 otherwise. - */ -CMARK_GFM_EXPORT int cmark_node_get_list_tight(cmark_node *node); - -/** Sets the "tightness" of a list. Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_list_tight(cmark_node *node, int tight); - -/** - * Returns item index of 'node'. This is only used when rendering output - * formats such as commonmark, which need to output the index. It is not - * required for formats such as html or latex. - */ -CMARK_GFM_EXPORT int cmark_node_get_item_index(cmark_node *node); - -/** Sets item index of 'node'. Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_item_index(cmark_node *node, int idx); - -/** Returns the info string from a fenced code block. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_fence_info(cmark_node *node); - -/** Sets the info string in a fenced code block, returning 1 on - * success and 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_fence_info(cmark_node *node, const char *info); - -/** Sets code blocks fencing details - */ -CMARK_GFM_EXPORT int cmark_node_set_fenced(cmark_node * node, int fenced, - int length, int offset, char character); - -/** Returns code blocks fencing details - */ -CMARK_GFM_EXPORT int cmark_node_get_fenced(cmark_node *node, int *length, int *offset, char *character); - -/** Returns the URL of a link or image 'node', or an empty string - if no URL is set. Returns NULL if called on a node that is - not a link or image. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_url(cmark_node *node); - -/** Sets the URL of a link or image 'node'. Returns 1 on success, - * 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_url(cmark_node *node, const char *url); - -/** Returns the title of a link or image 'node', or an empty - string if no title is set. Returns NULL if called on a node - that is not a link or image. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_title(cmark_node *node); - -/** Sets the title of a link or image 'node'. Returns 1 on success, - * 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_title(cmark_node *node, const char *title); - -/** Returns the literal "on enter" text for a custom 'node', or - an empty string if no on_enter is set. Returns NULL if called - on a non-custom node. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_on_enter(cmark_node *node); - -/** Sets the literal text to render "on enter" for a custom 'node'. - Any children of the node will be rendered after this text. - Returns 1 on success 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_on_enter(cmark_node *node, - const char *on_enter); - -/** Returns the literal "on exit" text for a custom 'node', or - an empty string if no on_exit is set. Returns NULL if - called on a non-custom node. - */ -CMARK_GFM_EXPORT const char *cmark_node_get_on_exit(cmark_node *node); - -/** Sets the literal text to render "on exit" for a custom 'node'. - Any children of the node will be rendered before this text. - Returns 1 on success 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_set_on_exit(cmark_node *node, const char *on_exit); - -/** Returns the line on which 'node' begins. - */ -CMARK_GFM_EXPORT int cmark_node_get_start_line(cmark_node *node); - -/** Returns the column at which 'node' begins. - */ -CMARK_GFM_EXPORT int cmark_node_get_start_column(cmark_node *node); - -/** Returns the line on which 'node' ends. - */ -CMARK_GFM_EXPORT int cmark_node_get_end_line(cmark_node *node); - -/** Returns the column at which 'node' ends. - */ -CMARK_GFM_EXPORT int cmark_node_get_end_column(cmark_node *node); - -/** - * ## Tree Manipulation - */ - -/** Unlinks a 'node', removing it from the tree, but not freeing its - * memory. (Use 'cmark_node_free' for that.) - */ -CMARK_GFM_EXPORT void cmark_node_unlink(cmark_node *node); - -/** Inserts 'sibling' before 'node'. Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_insert_before(cmark_node *node, - cmark_node *sibling); - -/** Inserts 'sibling' after 'node'. Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_insert_after(cmark_node *node, cmark_node *sibling); - -/** Replaces 'oldnode' with 'newnode' and unlinks 'oldnode' (but does - * not free its memory). - * Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_replace(cmark_node *oldnode, cmark_node *newnode); - -/** Adds 'child' to the beginning of the children of 'node'. - * Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_prepend_child(cmark_node *node, cmark_node *child); - -/** Adds 'child' to the end of the children of 'node'. - * Returns 1 on success, 0 on failure. - */ -CMARK_GFM_EXPORT int cmark_node_append_child(cmark_node *node, cmark_node *child); - -/** Consolidates adjacent text nodes. - */ -CMARK_GFM_EXPORT void cmark_consolidate_text_nodes(cmark_node *root); - -/** Ensures a node and all its children own their own chunk memory. - */ -CMARK_GFM_EXPORT void cmark_node_own(cmark_node *root); - -/** - * ## Parsing - * - * Simple interface: - * - * cmark_node *document = cmark_parse_document("Hello *world*", 13, - * CMARK_OPT_DEFAULT); - * - * Streaming interface: - * - * cmark_parser *parser = cmark_parser_new(CMARK_OPT_DEFAULT); - * FILE *fp = fopen("myfile.md", "rb"); - * while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) { - * cmark_parser_feed(parser, buffer, bytes); - * if (bytes < sizeof(buffer)) { - * break; - * } - * } - * document = cmark_parser_finish(parser); - * cmark_parser_free(parser); - */ - -/** Creates a new parser object. - */ -CMARK_GFM_EXPORT -cmark_parser *cmark_parser_new(int options); - -/** Creates a new parser object with the given memory allocator - */ -CMARK_GFM_EXPORT -cmark_parser *cmark_parser_new_with_mem(int options, cmark_mem *mem); - -/** Frees memory allocated for a parser object. - */ -CMARK_GFM_EXPORT -void cmark_parser_free(cmark_parser *parser); - -/** Feeds a string of length 'len' to 'parser'. - */ -CMARK_GFM_EXPORT -void cmark_parser_feed(cmark_parser *parser, const char *buffer, size_t len); - -/** Finish parsing and return a pointer to a tree of nodes. - */ -CMARK_GFM_EXPORT -cmark_node *cmark_parser_finish(cmark_parser *parser); - -/** Parse a CommonMark document in 'buffer' of length 'len'. - * Returns a pointer to a tree of nodes. The memory allocated for - * the node tree should be released using 'cmark_node_free' - * when it is no longer needed. - */ -CMARK_GFM_EXPORT -cmark_node *cmark_parse_document(const char *buffer, size_t len, int options); - -/** Parse a CommonMark document in file 'f', returning a pointer to - * a tree of nodes. The memory allocated for the node tree should be - * released using 'cmark_node_free' when it is no longer needed. - */ -CMARK_GFM_EXPORT -cmark_node *cmark_parse_file(FILE *f, int options); - -/** - * ## Rendering - */ - -/** Render a 'node' tree as XML. It is the caller's responsibility - * to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_render_xml(cmark_node *root, int options); - -/** As for 'cmark_render_xml', but specifying the allocator to use for - * the resulting string. - */ -CMARK_GFM_EXPORT -char *cmark_render_xml_with_mem(cmark_node *root, int options, cmark_mem *mem); - -/** Render a 'node' tree as an HTML fragment. It is up to the user - * to add an appropriate header and footer. It is the caller's - * responsibility to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_render_html(cmark_node *root, int options, cmark_llist *extensions); - -/** As for 'cmark_render_html', but specifying the allocator to use for - * the resulting string. - */ -CMARK_GFM_EXPORT -char *cmark_render_html_with_mem(cmark_node *root, int options, cmark_llist *extensions, cmark_mem *mem); - -/** Render a 'node' tree as a groff man page, without the header. - * It is the caller's responsibility to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_render_man(cmark_node *root, int options, int width); - -/** As for 'cmark_render_man', but specifying the allocator to use for - * the resulting string. - */ -CMARK_GFM_EXPORT -char *cmark_render_man_with_mem(cmark_node *root, int options, int width, cmark_mem *mem); - -/** Render a 'node' tree as a commonmark document. - * It is the caller's responsibility to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_render_commonmark(cmark_node *root, int options, int width); - -/** As for 'cmark_render_commonmark', but specifying the allocator to use for - * the resulting string. - */ -CMARK_GFM_EXPORT -char *cmark_render_commonmark_with_mem(cmark_node *root, int options, int width, cmark_mem *mem); - -/** Render a 'node' tree as a plain text document. - * It is the caller's responsibility to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_render_plaintext(cmark_node *root, int options, int width); - -/** As for 'cmark_render_plaintext', but specifying the allocator to use for - * the resulting string. - */ -CMARK_GFM_EXPORT -char *cmark_render_plaintext_with_mem(cmark_node *root, int options, int width, cmark_mem *mem); - -/** Render a 'node' tree as a LaTeX document. - * It is the caller's responsibility to free the returned buffer. - */ -CMARK_GFM_EXPORT -char *cmark_render_latex(cmark_node *root, int options, int width); - -/** As for 'cmark_render_latex', but specifying the allocator to use for - * the resulting string. - */ -CMARK_GFM_EXPORT -char *cmark_render_latex_with_mem(cmark_node *root, int options, int width, cmark_mem *mem); - -/** - * ## Options - */ - -/** Default options. - */ -#define CMARK_OPT_DEFAULT 0 - -/** - * ### Options affecting rendering - */ - -/** Include a `data-sourcepos` attribute on all block elements. - */ -#define CMARK_OPT_SOURCEPOS (1 << 1) - -/** Render `softbreak` elements as hard line breaks. - */ -#define CMARK_OPT_HARDBREAKS (1 << 2) - -/** `CMARK_OPT_SAFE` is defined here for API compatibility, - but it no longer has any effect. "Safe" mode is now the default: - set `CMARK_OPT_UNSAFE` to disable it. - */ -#define CMARK_OPT_SAFE (1 << 3) - -/** Render raw HTML and unsafe links (`javascript:`, `vbscript:`, - * `file:`, and `data:`, except for `image/png`, `image/gif`, - * `image/jpeg`, or `image/webp` mime types). By default, - * raw HTML is replaced by a placeholder HTML comment. Unsafe - * links are replaced by empty strings. - */ -#define CMARK_OPT_UNSAFE (1 << 17) - -/** Render `softbreak` elements as spaces. - */ -#define CMARK_OPT_NOBREAKS (1 << 4) - -/** - * ### Options affecting parsing - */ - -/** Legacy option (no effect). - */ -#define CMARK_OPT_NORMALIZE (1 << 8) - -/** Validate UTF-8 in the input before parsing, replacing illegal - * sequences with the replacement character U+FFFD. - */ -#define CMARK_OPT_VALIDATE_UTF8 (1 << 9) - -/** Convert straight quotes to curly, --- to em dashes, -- to en dashes. - */ -#define CMARK_OPT_SMART (1 << 10) - -/** Use GitHub-style
 tags for code blocks instead of 
.
- */
-#define CMARK_OPT_GITHUB_PRE_LANG (1 << 11)
-
-/** Be liberal in interpreting inline HTML tags.
- */
-#define CMARK_OPT_LIBERAL_HTML_TAG (1 << 12)
-
-/** Parse footnotes.
- */
-#define CMARK_OPT_FOOTNOTES (1 << 13)
-
-/** Only parse strikethroughs if surrounded by exactly 2 tildes.
- * Gives some compatibility with redcarpet.
- */
-#define CMARK_OPT_STRIKETHROUGH_DOUBLE_TILDE (1 << 14)
-
-/** Use style attributes to align table cells instead of align attributes.
- */
-#define CMARK_OPT_TABLE_PREFER_STYLE_ATTRIBUTES (1 << 15)
-
-/** Include the remainder of the info string in code blocks in
- * a separate attribute.
- */
-#define CMARK_OPT_FULL_INFO_STRING (1 << 16)
-
-/**
- * ## Version information
- */
-
-/** The library version as integer for runtime checks. Also available as
- * macro CMARK_VERSION for compile time checks.
- *
- * * Bits 16-23 contain the major version.
- * * Bits 8-15 contain the minor version.
- * * Bits 0-7 contain the patchlevel.
- *
- * In hexadecimal format, the number 0x010203 represents version 1.2.3.
- */
-CMARK_GFM_EXPORT
-int cmark_version(void);
-
-/** The library version string for runtime checks. Also available as
- * macro CMARK_VERSION_STRING for compile time checks.
- */
-CMARK_GFM_EXPORT
-const char *cmark_version_string(void);
-
-/** # AUTHORS
- *
- * John MacFarlane, Vicent Marti,  Kārlis Gaņģis, Nick Wellnhofer.
- */
-
-#ifndef CMARK_NO_SHORT_NAMES
-#define NODE_DOCUMENT CMARK_NODE_DOCUMENT
-#define NODE_BLOCK_QUOTE CMARK_NODE_BLOCK_QUOTE
-#define NODE_LIST CMARK_NODE_LIST
-#define NODE_ITEM CMARK_NODE_ITEM
-#define NODE_CODE_BLOCK CMARK_NODE_CODE_BLOCK
-#define NODE_HTML_BLOCK CMARK_NODE_HTML_BLOCK
-#define NODE_CUSTOM_BLOCK CMARK_NODE_CUSTOM_BLOCK
-#define NODE_PARAGRAPH CMARK_NODE_PARAGRAPH
-#define NODE_HEADING CMARK_NODE_HEADING
-#define NODE_HEADER CMARK_NODE_HEADER
-#define NODE_THEMATIC_BREAK CMARK_NODE_THEMATIC_BREAK
-#define NODE_HRULE CMARK_NODE_HRULE
-#define NODE_TEXT CMARK_NODE_TEXT
-#define NODE_SOFTBREAK CMARK_NODE_SOFTBREAK
-#define NODE_LINEBREAK CMARK_NODE_LINEBREAK
-#define NODE_CODE CMARK_NODE_CODE
-#define NODE_HTML_INLINE CMARK_NODE_HTML_INLINE
-#define NODE_CUSTOM_INLINE CMARK_NODE_CUSTOM_INLINE
-#define NODE_EMPH CMARK_NODE_EMPH
-#define NODE_STRONG CMARK_NODE_STRONG
-#define NODE_LINK CMARK_NODE_LINK
-#define NODE_IMAGE CMARK_NODE_IMAGE
-#define BULLET_LIST CMARK_BULLET_LIST
-#define ORDERED_LIST CMARK_ORDERED_LIST
-#define PERIOD_DELIM CMARK_PERIOD_DELIM
-#define PAREN_DELIM CMARK_PAREN_DELIM
-#endif
-
-typedef int32_t bufsize_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm_export.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm_export.h
deleted file mode 100644
index 699d737..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm_export.h
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef CMARK_GFM_EXPORT_H
-#define CMARK_GFM_EXPORT_H
-
-#ifdef CMARK_GFM_STATIC_DEFINE
-#  define CMARK_GFM_EXPORT
-#  define CMARK_GFM_NO_EXPORT
-#else
-#  ifndef CMARK_GFM_EXPORT
-#    ifdef libcmark_gfm_EXPORTS
-        /* We are building this library */
-#      define CMARK_GFM_EXPORT __attribute__((visibility("default")))
-#    else
-        /* We are using this library */
-#      define CMARK_GFM_EXPORT __attribute__((visibility("default")))
-#    endif
-#  endif
-
-#  ifndef CMARK_GFM_NO_EXPORT
-#    define CMARK_GFM_NO_EXPORT __attribute__((visibility("hidden")))
-#  endif
-#endif
-
-#ifndef CMARK_GFM_DEPRECATED
-#  define CMARK_GFM_DEPRECATED __attribute__ ((__deprecated__))
-#endif
-
-#ifndef CMARK_GFM_DEPRECATED_EXPORT
-#  define CMARK_GFM_DEPRECATED_EXPORT CMARK_GFM_EXPORT CMARK_GFM_DEPRECATED
-#endif
-
-#ifndef CMARK_GFM_DEPRECATED_NO_EXPORT
-#  define CMARK_GFM_DEPRECATED_NO_EXPORT CMARK_GFM_NO_EXPORT CMARK_GFM_DEPRECATED
-#endif
-
-#if 0 /* DEFINE_NO_DEPRECATED */
-#  ifndef CMARK_GFM_NO_DEPRECATED
-#    define CMARK_GFM_NO_DEPRECATED
-#  endif
-#endif
-
-#endif /* CMARK_GFM_EXPORT_H */
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm_version.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm_version.h
deleted file mode 100644
index 19e67d8..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark-gfm_version.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CMARK_GFM_VERSION_H
-#define CMARK_GFM_VERSION_H
-
-#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 11)
-#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.11"
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark.c
deleted file mode 100644
index 68c40c4..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark.c
+++ /dev/null
@@ -1,55 +0,0 @@
-#include 
-#include 
-#include 
-#include "registry.h"
-#include "node.h"
-#include "houdini.h"
-#include "cmark-gfm.h"
-#include "buffer.h"
-
-cmark_node_type CMARK_NODE_LAST_BLOCK = CMARK_NODE_FOOTNOTE_DEFINITION;
-cmark_node_type CMARK_NODE_LAST_INLINE = CMARK_NODE_FOOTNOTE_REFERENCE;
-
-int cmark_version(void) { return CMARK_GFM_VERSION; }
-
-const char *cmark_version_string(void) { return CMARK_GFM_VERSION_STRING; }
-
-static void *xcalloc(size_t nmem, size_t size) {
-  void *ptr = calloc(nmem, size);
-  if (!ptr) {
-    fprintf(stderr, "[cmark] calloc returned null pointer, aborting\n");
-    abort();
-  }
-  return ptr;
-}
-
-static void *xrealloc(void *ptr, size_t size) {
-  void *new_ptr = realloc(ptr, size);
-  if (!new_ptr) {
-    fprintf(stderr, "[cmark] realloc returned null pointer, aborting\n");
-    abort();
-  }
-  return new_ptr;
-}
-
-static void xfree(void *ptr) {
-  free(ptr);
-}
-
-cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR = {xcalloc, xrealloc, xfree};
-
-cmark_mem *cmark_get_default_mem_allocator(void) {
-  return &CMARK_DEFAULT_MEM_ALLOCATOR;
-}
-
-char *cmark_markdown_to_html(const char *text, size_t len, int options) {
-  cmark_node *doc;
-  char *result;
-
-  doc = cmark_parse_document(text, len, options);
-
-  result = cmark_render_html(doc, options, NULL);
-  cmark_node_free(doc);
-
-  return result;
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark.o
deleted file mode 100644
index 9f6cc23..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.c
deleted file mode 100644
index c0c4d5b..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include 
-
-#include "cmark_ctype.h"
-
-/** 1 = space, 2 = punct, 3 = digit, 4 = alpha, 0 = other
- */
-static const uint8_t cmark_ctype_class[256] = {
-    /*      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f */
-    /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
-    /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* 2 */ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-    /* 3 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
-    /* 4 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-    /* 5 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2,
-    /* 6 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-    /* 7 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0,
-    /* 8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* a */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* b */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* c */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* d */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* e */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    /* f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-/**
- * Returns 1 if c is a "whitespace" character as defined by the spec.
- */
-int cmark_isspace(char c) { return cmark_ctype_class[(uint8_t)c] == 1; }
-
-/**
- * Returns 1 if c is an ascii punctuation character.
- */
-int cmark_ispunct(char c) { return cmark_ctype_class[(uint8_t)c] == 2; }
-
-int cmark_isalnum(char c) {
-  uint8_t result;
-  result = cmark_ctype_class[(uint8_t)c];
-  return (result == 3 || result == 4);
-}
-
-int cmark_isdigit(char c) { return cmark_ctype_class[(uint8_t)c] == 3; }
-
-int cmark_isalpha(char c) { return cmark_ctype_class[(uint8_t)c] == 4; }
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.h
deleted file mode 100644
index 67c1cb0..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef CMARK_CMARK_CTYPE_H
-#define CMARK_CMARK_CTYPE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "cmark-gfm_export.h"
-
-/** Locale-independent versions of functions from ctype.h.
- * We want cmark to behave the same no matter what the system locale.
- */
-
-CMARK_GFM_EXPORT
-int cmark_isspace(char c);
-
-CMARK_GFM_EXPORT
-int cmark_ispunct(char c);
-
-CMARK_GFM_EXPORT
-int cmark_isalnum(char c);
-
-CMARK_GFM_EXPORT
-int cmark_isdigit(char c);
-
-CMARK_GFM_EXPORT
-int cmark_isalpha(char c);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.o
deleted file mode 100644
index 7a226a5..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/cmark_ctype.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmark.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmark.c
deleted file mode 100644
index 987b473..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmark.c
+++ /dev/null
@@ -1,514 +0,0 @@
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include "config.h"
-#include "cmark-gfm.h"
-#include "node.h"
-#include "buffer.h"
-#include "utf8.h"
-#include "scanners.h"
-#include "render.h"
-#include "syntax_extension.h"
-
-#define OUT(s, wrap, escaping) renderer->out(renderer, node, s, wrap, escaping)
-#define LIT(s) renderer->out(renderer, node, s, false, LITERAL)
-#define CR() renderer->cr(renderer)
-#define BLANKLINE() renderer->blankline(renderer)
-#define ENCODED_SIZE 20
-#define LISTMARKER_SIZE 20
-
-// Functions to convert cmark_nodes to commonmark strings.
-
-static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_node *node, 
-                              cmark_escaping escape,
-                              int32_t c, unsigned char nextc) {
-  bool needs_escaping = false;
-  bool follows_digit =
-      renderer->buffer->size > 0 &&
-      cmark_isdigit(renderer->buffer->ptr[renderer->buffer->size - 1]);
-  char encoded[ENCODED_SIZE];
-
-  needs_escaping =
-      c < 0x80 && escape != LITERAL &&
-      ((escape == NORMAL &&
-        (c < 0x20 ||
-	 c == '*' || c == '_' || c == '[' || c == ']' || c == '#' || c == '<' ||
-         c == '>' || c == '\\' || c == '`' || c == '~' || c == '!' ||
-         (c == '&' && cmark_isalpha(nextc)) || (c == '!' && nextc == '[') ||
-         (renderer->begin_content && (c == '-' || c == '+' || c == '=') &&
-          // begin_content doesn't get set to false til we've passed digits
-          // at the beginning of line, so...
-          !follows_digit) ||
-         (renderer->begin_content && (c == '.' || c == ')') && follows_digit &&
-          (nextc == 0 || cmark_isspace(nextc))))) ||
-       (escape == URL &&
-        (c == '`' || c == '<' || c == '>' || cmark_isspace((char)c) || c == '\\' ||
-         c == ')' || c == '(')) ||
-       (escape == TITLE &&
-        (c == '`' || c == '<' || c == '>' || c == '"' || c == '\\')));
-
-  if (needs_escaping) {
-    if (escape == URL && cmark_isspace((char)c)) {
-      // use percent encoding for spaces
-      snprintf(encoded, ENCODED_SIZE, "%%%2X", c);
-      cmark_strbuf_puts(renderer->buffer, encoded);
-      renderer->column += 3;
-    } else if (cmark_ispunct((char)c)) {
-      cmark_render_ascii(renderer, "\\");
-      cmark_render_code_point(renderer, c);
-    } else { // render as entity
-      snprintf(encoded, ENCODED_SIZE, "&#%d;", c);
-      cmark_strbuf_puts(renderer->buffer, encoded);
-      renderer->column += (int)strlen(encoded);
-    }
-  } else {
-    cmark_render_code_point(renderer, c);
-  }
-}
-
-static int longest_backtick_sequence(const char *code) {
-  int longest = 0;
-  int current = 0;
-  size_t i = 0;
-  size_t code_len = strlen(code);
-  while (i <= code_len) {
-    if (code[i] == '`') {
-      current++;
-    } else {
-      if (current > longest) {
-        longest = current;
-      }
-      current = 0;
-    }
-    i++;
-  }
-  return longest;
-}
-
-static int shortest_unused_backtick_sequence(const char *code) {
-  // note: if the shortest sequence is >= 32, this returns 32
-  // so as not to overflow the bit array.
-  uint32_t used = 1;
-  int current = 0;
-  size_t i = 0;
-  size_t code_len = strlen(code);
-  while (i <= code_len) {
-    if (code[i] == '`') {
-      current++;
-    } else {
-      if (current > 0 && current < 32) {
-        used |= (1U << current);
-      }
-      current = 0;
-    }
-    i++;
-  }
-  // return number of first bit that is 0:
-  i = 0;
-  while (i < 32 && used & 1) {
-    used = used >> 1;
-    i++;
-  }
-  return (int)i;
-}
-
-static bool is_autolink(cmark_node *node) {
-  cmark_chunk *title;
-  cmark_chunk *url;
-  cmark_node *link_text;
-  char *realurl;
-  int realurllen;
-
-  if (node->type != CMARK_NODE_LINK) {
-    return false;
-  }
-
-  url = &node->as.link.url;
-  if (url->len == 0 || scan_scheme(url, 0) == 0) {
-    return false;
-  }
-
-  title = &node->as.link.title;
-  // if it has a title, we can't treat it as an autolink:
-  if (title->len > 0) {
-    return false;
-  }
-
-  link_text = node->first_child;
-  if (link_text == NULL) {
-    return false;
-  }
-  cmark_consolidate_text_nodes(link_text);
-  realurl = (char *)url->data;
-  realurllen = url->len;
-  if (strncmp(realurl, "mailto:", 7) == 0) {
-    realurl += 7;
-    realurllen -= 7;
-  }
-  return (realurllen == link_text->as.literal.len &&
-          strncmp(realurl, (char *)link_text->as.literal.data,
-                  link_text->as.literal.len) == 0);
-}
-
-static int S_render_node(cmark_renderer *renderer, cmark_node *node,
-                         cmark_event_type ev_type, int options) {
-  int list_number;
-  cmark_delim_type list_delim;
-  int numticks;
-  bool extra_spaces;
-  int i;
-  bool entering = (ev_type == CMARK_EVENT_ENTER);
-  const char *info, *code, *title;
-  char fencechar[2] = {'\0', '\0'};
-  size_t info_len, code_len;
-  char listmarker[LISTMARKER_SIZE];
-  const char *emph_delim;
-  bool first_in_list_item;
-  bufsize_t marker_width;
-  bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options) &&
-                    !(CMARK_OPT_HARDBREAKS & options);
-
-  // Don't adjust tight list status til we've started the list.
-  // Otherwise we loose the blank line between a paragraph and
-  // a following list.
-  if (entering) {
-    if (node->parent && node->parent->type == CMARK_NODE_ITEM) {
-      renderer->in_tight_list_item = node->parent->parent->as.list.tight;
-    }
-  } else {
-    if (node->type == CMARK_NODE_LIST) {
-      renderer->in_tight_list_item =
-        node->parent &&
-        node->parent->type == CMARK_NODE_ITEM &&
-        node->parent->parent->as.list.tight;
-    }
-  }
-
-  if (node->extension && node->extension->commonmark_render_func) {
-    node->extension->commonmark_render_func(node->extension, renderer, node, ev_type, options);
-    return 1;
-  }
-
-  switch (node->type) {
-  case CMARK_NODE_DOCUMENT:
-    break;
-
-  case CMARK_NODE_BLOCK_QUOTE:
-    if (entering) {
-      LIT("> ");
-      renderer->begin_content = true;
-      cmark_strbuf_puts(renderer->prefix, "> ");
-    } else {
-      cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 2);
-      BLANKLINE();
-    }
-    break;
-
-  case CMARK_NODE_LIST:
-    if (!entering && node->next && (node->next->type == CMARK_NODE_CODE_BLOCK ||
-                                    node->next->type == CMARK_NODE_LIST)) {
-      // this ensures that a following indented code block or list will be
-      // inteprereted correctly.
-      CR();
-      LIT("");
-      BLANKLINE();
-    }
-    break;
-
-  case CMARK_NODE_ITEM:
-    if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
-      marker_width = 4;
-    } else {
-      list_number = cmark_node_get_item_index(node);
-      list_delim = cmark_node_get_list_delim(node->parent);
-      // we ensure a width of at least 4 so
-      // we get nice transition from single digits
-      // to double
-      snprintf(listmarker, LISTMARKER_SIZE, "%d%s%s", list_number,
-               list_delim == CMARK_PAREN_DELIM ? ")" : ".",
-               list_number < 10 ? "  " : " ");
-      marker_width = (bufsize_t)strlen(listmarker);
-    }
-    if (entering) {
-      if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
-        LIT("  - ");
-        renderer->begin_content = true;
-      } else {
-        LIT(listmarker);
-        renderer->begin_content = true;
-      }
-      for (i = marker_width; i--;) {
-        cmark_strbuf_putc(renderer->prefix, ' ');
-      }
-    } else {
-      cmark_strbuf_truncate(renderer->prefix,
-                            renderer->prefix->size - marker_width);
-      CR();
-    }
-    break;
-
-  case CMARK_NODE_HEADING:
-    if (entering) {
-      for (i = cmark_node_get_heading_level(node); i > 0; i--) {
-        LIT("#");
-      }
-      LIT(" ");
-      renderer->begin_content = true;
-      renderer->no_linebreaks = true;
-    } else {
-      renderer->no_linebreaks = false;
-      BLANKLINE();
-    }
-    break;
-
-  case CMARK_NODE_CODE_BLOCK:
-    first_in_list_item = node->prev == NULL && node->parent &&
-                         node->parent->type == CMARK_NODE_ITEM;
-
-    if (!first_in_list_item) {
-      BLANKLINE();
-    }
-    info = cmark_node_get_fence_info(node);
-    info_len = strlen(info);
-    fencechar[0] = strchr(info, '`') == NULL ? '`' : '~';
-    code = cmark_node_get_literal(node);
-    code_len = strlen(code);
-    // use indented form if no info, and code doesn't
-    // begin or end with a blank line, and code isn't
-    // first thing in a list item
-    if (info_len == 0 && (code_len > 2 && !cmark_isspace(code[0]) &&
-                          !(cmark_isspace(code[code_len - 1]) &&
-                            cmark_isspace(code[code_len - 2]))) &&
-        !first_in_list_item) {
-      LIT("    ");
-      cmark_strbuf_puts(renderer->prefix, "    ");
-      OUT(cmark_node_get_literal(node), false, LITERAL);
-      cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 4);
-    } else {
-      numticks = longest_backtick_sequence(code) + 1;
-      if (numticks < 3) {
-        numticks = 3;
-      }
-      for (i = 0; i < numticks; i++) {
-        LIT(fencechar);
-      }
-      LIT(" ");
-      OUT(info, false, LITERAL);
-      CR();
-      OUT(cmark_node_get_literal(node), false, LITERAL);
-      CR();
-      for (i = 0; i < numticks; i++) {
-        LIT(fencechar);
-      }
-    }
-    BLANKLINE();
-    break;
-
-  case CMARK_NODE_HTML_BLOCK:
-    BLANKLINE();
-    OUT(cmark_node_get_literal(node), false, LITERAL);
-    BLANKLINE();
-    break;
-
-  case CMARK_NODE_CUSTOM_BLOCK:
-    BLANKLINE();
-    OUT(entering ? cmark_node_get_on_enter(node) : cmark_node_get_on_exit(node),
-        false, LITERAL);
-    BLANKLINE();
-    break;
-
-  case CMARK_NODE_THEMATIC_BREAK:
-    BLANKLINE();
-    LIT("-----");
-    BLANKLINE();
-    break;
-
-  case CMARK_NODE_PARAGRAPH:
-    if (!entering) {
-      BLANKLINE();
-    }
-    break;
-
-  case CMARK_NODE_TEXT:
-    OUT(cmark_node_get_literal(node), allow_wrap, NORMAL);
-    break;
-
-  case CMARK_NODE_LINEBREAK:
-    if (!(CMARK_OPT_HARDBREAKS & options)) {
-      LIT("  ");
-    }
-    CR();
-    break;
-
-  case CMARK_NODE_SOFTBREAK:
-    if (CMARK_OPT_HARDBREAKS & options) {
-      LIT("  ");
-      CR();
-    } else if (!renderer->no_linebreaks && renderer->width == 0 &&
-               !(CMARK_OPT_HARDBREAKS & options) &&
-               !(CMARK_OPT_NOBREAKS & options)) {
-      CR();
-    } else {
-      OUT(" ", allow_wrap, LITERAL);
-    }
-    break;
-
-  case CMARK_NODE_CODE:
-    code = cmark_node_get_literal(node);
-    code_len = strlen(code);
-    numticks = shortest_unused_backtick_sequence(code);
-    extra_spaces = code_len == 0 ||
-	    code[0] == '`' || code[code_len - 1] == '`' ||
-	    code[0] == ' ' || code[code_len - 1] == ' ';
-    for (i = 0; i < numticks; i++) {
-      LIT("`");
-    }
-    if (extra_spaces) {
-      LIT(" ");
-    }
-    OUT(cmark_node_get_literal(node), allow_wrap, LITERAL);
-    if (extra_spaces) {
-      LIT(" ");
-    }
-    for (i = 0; i < numticks; i++) {
-      LIT("`");
-    }
-    break;
-
-  case CMARK_NODE_HTML_INLINE:
-    OUT(cmark_node_get_literal(node), false, LITERAL);
-    break;
-
-  case CMARK_NODE_CUSTOM_INLINE:
-    OUT(entering ? cmark_node_get_on_enter(node) : cmark_node_get_on_exit(node),
-        false, LITERAL);
-    break;
-
-  case CMARK_NODE_STRONG:
-    if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) {
-      if (entering) {
-        LIT("**");
-      } else {
-        LIT("**");
-      }
-    }
-    break;
-
-  case CMARK_NODE_EMPH:
-    // If we have EMPH(EMPH(x)), we need to use *_x_*
-    // because **x** is STRONG(x):
-    if (node->parent && node->parent->type == CMARK_NODE_EMPH &&
-        node->next == NULL && node->prev == NULL) {
-      emph_delim = "_";
-    } else {
-      emph_delim = "*";
-    }
-    if (entering) {
-      LIT(emph_delim);
-    } else {
-      LIT(emph_delim);
-    }
-    break;
-
-  case CMARK_NODE_LINK:
-    if (is_autolink(node)) {
-      if (entering) {
-        LIT("<");
-        if (strncmp(cmark_node_get_url(node), "mailto:", 7) == 0) {
-          LIT((const char *)cmark_node_get_url(node) + 7);
-        } else {
-          LIT((const char *)cmark_node_get_url(node));
-        }
-        LIT(">");
-        // return signal to skip contents of node...
-        return 0;
-      }
-    } else {
-      if (entering) {
-        LIT("[");
-      } else {
-        LIT("](");
-        OUT(cmark_node_get_url(node), false, URL);
-        title = cmark_node_get_title(node);
-        if (strlen(title) > 0) {
-          LIT(" \"");
-          OUT(title, false, TITLE);
-          LIT("\"");
-        }
-        LIT(")");
-      }
-    }
-    break;
-
-  case CMARK_NODE_IMAGE:
-    if (entering) {
-      LIT("![");
-    } else {
-      LIT("](");
-      OUT(cmark_node_get_url(node), false, URL);
-      title = cmark_node_get_title(node);
-      if (strlen(title) > 0) {
-        OUT(" \"", allow_wrap, LITERAL);
-        OUT(title, false, TITLE);
-        LIT("\"");
-      }
-      LIT(")");
-    }
-    break;
-
-  case CMARK_NODE_FOOTNOTE_REFERENCE:
-    if (entering) {
-      LIT("[^");
-
-      char *footnote_label = renderer->mem->calloc(node->parent_footnote_def->as.literal.len + 1, sizeof(char));
-      memmove(footnote_label, node->parent_footnote_def->as.literal.data, node->parent_footnote_def->as.literal.len);
-
-      OUT(footnote_label, false, LITERAL);
-      renderer->mem->free(footnote_label);
-
-      LIT("]");
-    }
-    break;
-
-  case CMARK_NODE_FOOTNOTE_DEFINITION:
-    if (entering) {
-      renderer->footnote_ix += 1;
-      LIT("[^");
-
-      char *footnote_label = renderer->mem->calloc(node->as.literal.len + 1, sizeof(char));
-      memmove(footnote_label, node->as.literal.data, node->as.literal.len);
-
-      OUT(footnote_label, false, LITERAL);
-      renderer->mem->free(footnote_label);
-
-      LIT("]:\n");
-
-      cmark_strbuf_puts(renderer->prefix, "    ");
-    } else {
-      cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 4);
-    }
-    break;
-
-  default:
-    assert(false);
-    break;
-  }
-
-  return 1;
-}
-
-char *cmark_render_commonmark(cmark_node *root, int options, int width) {
-  return cmark_render_commonmark_with_mem(root, options, width, cmark_node_mem(root));
-}
-
-char *cmark_render_commonmark_with_mem(cmark_node *root, int options, int width, cmark_mem *mem) {
-  if (options & CMARK_OPT_HARDBREAKS) {
-    // disable breaking on width, since it has
-    // a different meaning with OPT_HARDBREAKS
-    width = 0;
-  }
-  return cmark_render(mem, root, options, width, outc, S_render_node);
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmark.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmark.o
deleted file mode 100644
index f6b4d9d..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmark.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.c
deleted file mode 100644
index 7f094fd..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.c
+++ /dev/null
@@ -1,1308 +0,0 @@
-#include "commonmarker.h"
-#include "cmark-gfm.h"
-#include "houdini.h"
-#include "node.h"
-#include "registry.h"
-#include "parser.h"
-#include "syntax_extension.h"
-#include "cmark-gfm-core-extensions.h"
-
-static VALUE rb_eNodeError;
-static VALUE rb_cNode;
-
-static VALUE sym_document;
-static VALUE sym_blockquote;
-static VALUE sym_list;
-static VALUE sym_list_item;
-static VALUE sym_code_block;
-static VALUE sym_html;
-static VALUE sym_paragraph;
-static VALUE sym_header;
-static VALUE sym_hrule;
-static VALUE sym_text;
-static VALUE sym_softbreak;
-static VALUE sym_linebreak;
-static VALUE sym_code;
-static VALUE sym_inline_html;
-static VALUE sym_emph;
-static VALUE sym_strong;
-static VALUE sym_link;
-static VALUE sym_image;
-static VALUE sym_footnote_reference;
-static VALUE sym_footnote_definition;
-
-static VALUE sym_bullet_list;
-static VALUE sym_ordered_list;
-
-static VALUE sym_left;
-static VALUE sym_right;
-static VALUE sym_center;
-
-static VALUE encode_utf8_string(const char *c_string) {
-  VALUE string = rb_str_new2(c_string);
-  int enc = rb_enc_find_index("UTF-8");
-  rb_enc_associate_index(string, enc);
-  return string;
-}
-
-/* Encode a C string using the encoding from Ruby string +source+. */
-static VALUE encode_source_string(const char *c_string, VALUE source) {
-  VALUE string = rb_str_new2(c_string);
-  rb_enc_copy(string, source);
-  return string;
-}
-
-static void rb_mark_c_struct(void *data) {
-  cmark_node *node = data;
-  cmark_node *child;
-
-  /* Mark the parent to make sure that the tree won't be freed as
-     long as a child node is referenced. */
-  cmark_node *parent = cmark_node_parent(node);
-  if (parent) {
-    void *user_data = cmark_node_get_user_data(parent);
-    if (!user_data) {
-      /* This should never happen. Child can nodes can only
-         be returned from parents that already are
-         associated with a Ruby object. */
-      fprintf(stderr, "parent without user_data\n");
-      abort();
-    }
-    rb_gc_mark((VALUE)user_data);
-  }
-
-  /* Mark all children to make sure their cached Ruby objects won't
-     be freed. */
-  for (child = cmark_node_first_child(node); child != NULL;
-       child = cmark_node_next(child)) {
-    void *user_data = cmark_node_get_user_data(child);
-    if (user_data)
-      rb_gc_mark((VALUE)user_data);
-  }
-}
-
-static void rb_free_c_struct(void *data) {
-  /* It's important that the `free` function does not inspect the
-     node data, as it may be part of a tree that was already freed. */
-  cmark_node_free(data);
-}
-
-static VALUE rb_node_to_value(cmark_node *node) {
-  void *user_data;
-  RUBY_DATA_FUNC free_func;
-  VALUE val;
-
-  if (node == NULL)
-    return Qnil;
-
-  user_data = cmark_node_get_user_data(node);
-  if (user_data)
-    return (VALUE)user_data;
-
-  /* Only free tree roots. */
-  free_func = cmark_node_parent(node) ? NULL : rb_free_c_struct;
-  val = Data_Wrap_Struct(rb_cNode, rb_mark_c_struct, free_func, node);
-  cmark_node_set_user_data(node, (void *)val);
-
-  return val;
-}
-
-/* If the node structure is changed, the finalizers must be updated. */
-
-static void rb_parent_added(VALUE val) { RDATA(val)->dfree = NULL; }
-
-static void rb_parent_removed(VALUE val) {
-  RDATA(val)->dfree = rb_free_c_struct;
-}
-
-static cmark_parser *prepare_parser(VALUE rb_options, VALUE rb_extensions) {
-  int options;
-  VALUE rb_ext_name;
-  int i;
-
-  FIXNUM_P(rb_options);
-  options = FIX2INT(rb_options);
-
-  Check_Type(rb_extensions, T_ARRAY);
-
-  cmark_parser *parser = cmark_parser_new(options);
-
-  for (i = 0; i < RARRAY_LEN(rb_extensions); ++i) {
-    rb_ext_name = rb_ary_entry(rb_extensions, i);
-
-    if (!SYMBOL_P(rb_ext_name)) {
-      cmark_parser_free(parser);
-      rb_raise(rb_eTypeError, "extension names should be Symbols; got a %"PRIsVALUE"", rb_obj_class(rb_ext_name));
-    }
-
-    cmark_syntax_extension *syntax_extension =
-      cmark_find_syntax_extension(rb_id2name(SYM2ID(rb_ext_name)));
-
-    if (!syntax_extension) {
-      cmark_parser_free(parser);
-      rb_raise(rb_eArgError, "extension %s not found", rb_id2name(SYM2ID(rb_ext_name)));
-    }
-
-    cmark_parser_attach_syntax_extension(parser, syntax_extension);
-  }
-
-  return parser;
-}
-
-/*
- * Internal: Parses a Markdown string into an HTML string.
- *
- */
-static VALUE rb_markdown_to_html(VALUE self, VALUE rb_text, VALUE rb_options, VALUE rb_extensions) {
-  char *html;
-  cmark_parser *parser;
-  cmark_node *doc;
-
-  Check_Type(rb_text, T_STRING);
-
-  parser = prepare_parser(rb_options, rb_extensions);
-
-  cmark_parser_feed(parser, StringValuePtr(rb_text), RSTRING_LEN(rb_text));
-  doc = cmark_parser_finish(parser);
-
-  if (doc == NULL) {
-    cmark_parser_free(parser);
-    rb_raise(rb_eNodeError, "error parsing document");
-  }
-
-  html = cmark_render_html(doc, parser->options, parser->syntax_extensions);
-
-  cmark_parser_free(parser);
-  cmark_node_free(doc);
-
-  return rb_utf8_str_new_cstr(html);
-}
-
-/*
- * Internal: Parses a Markdown string into an HTML string.
- *
- */
-static VALUE rb_markdown_to_xml(VALUE self, VALUE rb_text, VALUE rb_options, VALUE rb_extensions) {
-  char *xml;
-  cmark_parser *parser;
-  cmark_node *doc;
-
-  Check_Type(rb_text, T_STRING);
-
-  parser = prepare_parser(rb_options, rb_extensions);
-
-  cmark_parser_feed(parser, StringValuePtr(rb_text), RSTRING_LEN(rb_text));
-  doc = cmark_parser_finish(parser);
-
-  if (doc == NULL) {
-    cmark_parser_free(parser);
-    rb_raise(rb_eNodeError, "error parsing document");
-  }
-
-  xml = cmark_render_xml(doc, parser->options);
-
-  cmark_parser_free(parser);
-  cmark_node_free(doc);
-
-  return rb_utf8_str_new_cstr(xml);
-}
-
-/*
- * Internal: Creates a node based on a node type.
- *
- * type -  A {Symbol} representing the node to be created. Must be one of the
- * following:
- * - `:document`
- * - `:blockquote`
- * - `:list`
- * - `:list_item`
- * - `:code_block`
- * - `:html`
- * - `:paragraph`
- * - `:header`
- * - `:hrule`
- * - `:text`
- * - `:softbreak`
- * - `:linebreak`
- * - `:code`
- * - `:inline_html`
- * - `:emph`
- * - `:strong`
- * - `:link`
- * - `:image`
- */
-static VALUE rb_node_new(VALUE self, VALUE type) {
-  cmark_node_type node_type = 0;
-  cmark_node *node;
-
-  Check_Type(type, T_SYMBOL);
-
-  if (type == sym_document)
-    node_type = CMARK_NODE_DOCUMENT;
-  else if (type == sym_blockquote)
-    node_type = CMARK_NODE_BLOCK_QUOTE;
-  else if (type == sym_list)
-    node_type = CMARK_NODE_LIST;
-  else if (type == sym_list_item)
-    node_type = CMARK_NODE_ITEM;
-  else if (type == sym_code_block)
-    node_type = CMARK_NODE_CODE_BLOCK;
-  else if (type == sym_html)
-    node_type = CMARK_NODE_HTML;
-  else if (type == sym_paragraph)
-    node_type = CMARK_NODE_PARAGRAPH;
-  else if (type == sym_header)
-    node_type = CMARK_NODE_HEADER;
-  else if (type == sym_hrule)
-    node_type = CMARK_NODE_HRULE;
-  else if (type == sym_text)
-    node_type = CMARK_NODE_TEXT;
-  else if (type == sym_softbreak)
-    node_type = CMARK_NODE_SOFTBREAK;
-  else if (type == sym_linebreak)
-    node_type = CMARK_NODE_LINEBREAK;
-  else if (type == sym_code)
-    node_type = CMARK_NODE_CODE;
-  else if (type == sym_inline_html)
-    node_type = CMARK_NODE_INLINE_HTML;
-  else if (type == sym_emph)
-    node_type = CMARK_NODE_EMPH;
-  else if (type == sym_strong)
-    node_type = CMARK_NODE_STRONG;
-  else if (type == sym_link)
-    node_type = CMARK_NODE_LINK;
-  else if (type == sym_image)
-    node_type = CMARK_NODE_IMAGE;
-  else if (type == sym_footnote_reference)
-    node_type = CMARK_NODE_FOOTNOTE_REFERENCE;
-  else if (type == sym_footnote_definition)
-    node_type = CMARK_NODE_FOOTNOTE_DEFINITION;
-  else
-    rb_raise(rb_eNodeError, "invalid node of type %d", node_type);
-
-  node = cmark_node_new(node_type);
-  if (node == NULL) {
-    rb_raise(rb_eNodeError, "could not create node of type %d", node_type);
-  }
-
-  return rb_node_to_value(node);
-}
-
-/*
- * Internal: Parses a Markdown string into a document.
- *
- */
-static VALUE rb_parse_document(VALUE self, VALUE rb_text, VALUE rb_len,
-                               VALUE rb_options, VALUE rb_extensions) {
-  char *text;
-  int len;
-  cmark_parser *parser;
-  cmark_node *doc;
-  Check_Type(rb_text, T_STRING);
-  Check_Type(rb_len, T_FIXNUM);
-  Check_Type(rb_options, T_FIXNUM);
-
-  parser = prepare_parser(rb_options, rb_extensions);
-
-  text = (char *)RSTRING_PTR(rb_text);
-  len = FIX2INT(rb_len);
-
-  cmark_parser_feed(parser, text, len);
-  doc = cmark_parser_finish(parser);
-  if (doc == NULL) {
-    rb_raise(rb_eNodeError, "error parsing document");
-  }
-  cmark_parser_free(parser);
-
-  return rb_node_to_value(doc);
-}
-
-/*
- * Public: Fetch the string contents of the node.
- *
- * Returns a {String}.
- */
-static VALUE rb_node_get_string_content(VALUE self) {
-  const char *text;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  text = cmark_node_get_literal(node);
-  if (text == NULL) {
-    rb_raise(rb_eNodeError, "could not get string content");
-  }
-
-  return encode_utf8_string(text);
-}
-
-/*
- * Public: Sets the string content of the node.
- *
- * string - A {String} containing new content.
- *
- * Raises NodeError if the string content can't be set.
- */
-static VALUE rb_node_set_string_content(VALUE self, VALUE s) {
-  char *text;
-  cmark_node *node;
-  Check_Type(s, T_STRING);
-
-  Data_Get_Struct(self, cmark_node, node);
-  text = StringValueCStr(s);
-
-  if (!cmark_node_set_literal(node, text)) {
-    rb_raise(rb_eNodeError, "could not set string content");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Fetches the list type of the node.
- *
- * Returns a {Symbol} representing the node's type.
- */
-static VALUE rb_node_get_type(VALUE self) {
-  int node_type;
-  cmark_node *node;
-  VALUE symbol;
-  const char *s;
-
-  Data_Get_Struct(self, cmark_node, node);
-
-  node_type = cmark_node_get_type(node);
-  symbol = Qnil;
-
-  switch (node_type) {
-  case CMARK_NODE_DOCUMENT:
-    symbol = sym_document;
-    break;
-  case CMARK_NODE_BLOCK_QUOTE:
-    symbol = sym_blockquote;
-    break;
-  case CMARK_NODE_LIST:
-    symbol = sym_list;
-    break;
-  case CMARK_NODE_ITEM:
-    symbol = sym_list_item;
-    break;
-  case CMARK_NODE_CODE_BLOCK:
-    symbol = sym_code_block;
-    break;
-  case CMARK_NODE_HTML:
-    symbol = sym_html;
-    break;
-  case CMARK_NODE_PARAGRAPH:
-    symbol = sym_paragraph;
-    break;
-  case CMARK_NODE_HEADER:
-    symbol = sym_header;
-    break;
-  case CMARK_NODE_HRULE:
-    symbol = sym_hrule;
-    break;
-  case CMARK_NODE_TEXT:
-    symbol = sym_text;
-    break;
-  case CMARK_NODE_SOFTBREAK:
-    symbol = sym_softbreak;
-    break;
-  case CMARK_NODE_LINEBREAK:
-    symbol = sym_linebreak;
-    break;
-  case CMARK_NODE_CODE:
-    symbol = sym_code;
-    break;
-  case CMARK_NODE_INLINE_HTML:
-    symbol = sym_inline_html;
-    break;
-  case CMARK_NODE_EMPH:
-    symbol = sym_emph;
-    break;
-  case CMARK_NODE_STRONG:
-    symbol = sym_strong;
-    break;
-  case CMARK_NODE_LINK:
-    symbol = sym_link;
-    break;
-  case CMARK_NODE_IMAGE:
-    symbol = sym_image;
-    break;
-  case CMARK_NODE_FOOTNOTE_REFERENCE:
-    symbol = sym_footnote_reference;
-    break;
-  case CMARK_NODE_FOOTNOTE_DEFINITION:
-    symbol = sym_footnote_definition;
-    break;
-  default:
-    if (node->extension) {
-      s = node->extension->get_type_string_func(node->extension, node);
-      return ID2SYM(rb_intern(s));
-    }
-    rb_raise(rb_eNodeError, "invalid node type %d", node_type);
-  }
-
-  return symbol;
-}
-
-/*
- * Public: Fetches the sourcepos of the node.
- *
- * Returns a {Hash} containing {Symbol} keys of the positions.
- */
-static VALUE rb_node_get_sourcepos(VALUE self) {
-  int start_line, start_column, end_line, end_column;
-  VALUE result;
-
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  start_line = cmark_node_get_start_line(node);
-  start_column = cmark_node_get_start_column(node);
-  end_line = cmark_node_get_end_line(node);
-  end_column = cmark_node_get_end_column(node);
-
-  result = rb_hash_new();
-  rb_hash_aset(result, CSTR2SYM("start_line"), INT2NUM(start_line));
-  rb_hash_aset(result, CSTR2SYM("start_column"), INT2NUM(start_column));
-  rb_hash_aset(result, CSTR2SYM("end_line"), INT2NUM(end_line));
-  rb_hash_aset(result, CSTR2SYM("end_column"), INT2NUM(end_column));
-
-  return result;
-}
-
-/*
- * Public: Returns the type of the current pointer as a string.
- *
- * Returns a {String}.
- */
-static VALUE rb_node_get_type_string(VALUE self) {
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  return rb_str_new2(cmark_node_get_type_string(node));
-}
-
-/*
- * Internal: Unlinks the node from the tree (fixing pointers in
- * parents and siblings appropriately).
- */
-static VALUE rb_node_unlink(VALUE self) {
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  cmark_node_unlink(node);
-
-  rb_parent_removed(self);
-
-  return Qnil;
-}
-
-/* Public: Fetches the first child of the node.
- *
- * Returns a {Node} if a child exists, `nil` otherise.
- */
-static VALUE rb_node_first_child(VALUE self) {
-  cmark_node *node, *child;
-  Data_Get_Struct(self, cmark_node, node);
-
-  child = cmark_node_first_child(node);
-
-  return rb_node_to_value(child);
-}
-
-/* Public: Fetches the next sibling of the node.
- *
- * Returns a {Node} if a sibling exists, `nil` otherwise.
- */
-static VALUE rb_node_next(VALUE self) {
-  cmark_node *node, *next;
-  Data_Get_Struct(self, cmark_node, node);
-
-  next = cmark_node_next(node);
-
-  return rb_node_to_value(next);
-}
-
-/*
- * Public: Inserts a node as a sibling before the current node.
- *
- * sibling - A sibling {Node} to insert.
- *
- * Returns `true` if successful.
- * Raises NodeError if the node can't be inserted.
- */
-static VALUE rb_node_insert_before(VALUE self, VALUE sibling) {
-  cmark_node *node1, *node2;
-  Data_Get_Struct(self, cmark_node, node1);
-
-  Data_Get_Struct(sibling, cmark_node, node2);
-
-  if (!cmark_node_insert_before(node1, node2)) {
-    rb_raise(rb_eNodeError, "could not insert before");
-  }
-
-  rb_parent_added(sibling);
-
-  return Qtrue;
-}
-
-/* Internal: Convert the node to an HTML string.
- *
- * Returns a {String}.
- */
-static VALUE rb_render_html(VALUE self, VALUE rb_options, VALUE rb_extensions) {
-  int options, extensions_len;
-  VALUE rb_ext_name;
-  int i;
-  cmark_node *node;
-  cmark_llist *extensions = NULL;
-  cmark_mem *mem = cmark_get_default_mem_allocator();
-  Check_Type(rb_options, T_FIXNUM);
-  Check_Type(rb_extensions, T_ARRAY);
-
-  options = FIX2INT(rb_options);
-  extensions_len = RARRAY_LEN(rb_extensions);
-
-  Data_Get_Struct(self, cmark_node, node);
-
-  for (i = 0; i < extensions_len; ++i) {
-    rb_ext_name = RARRAY_PTR(rb_extensions)[i];
-
-    if (!SYMBOL_P(rb_ext_name)) {
-      cmark_llist_free(mem, extensions);
-      rb_raise(rb_eTypeError, "extension names should be Symbols; got a %"PRIsVALUE"", rb_obj_class(rb_ext_name));
-    }
-
-    cmark_syntax_extension *syntax_extension =
-      cmark_find_syntax_extension(rb_id2name(SYM2ID(rb_ext_name)));
-
-    if (!syntax_extension) {
-      cmark_llist_free(mem, extensions);
-      rb_raise(rb_eArgError, "extension %s not found\n", rb_id2name(SYM2ID(rb_ext_name)));
-    }
-
-    extensions = cmark_llist_append(mem, extensions, syntax_extension);
-  }
-
-  char *html = cmark_render_html(node, options, extensions);
-  VALUE ruby_html = rb_str_new2(html);
-
-  cmark_llist_free(mem, extensions);
-  free(html);
-
-  return ruby_html;
-}
-
-/* Internal: Convert the node to an XML string.
- *
- * Returns a {String}.
- */
-static VALUE rb_render_xml(VALUE self, VALUE rb_options) {
-  int options;
-  cmark_node *node;
-  Check_Type(rb_options, T_FIXNUM);
-
-  options = FIX2INT(rb_options);
-
-  Data_Get_Struct(self, cmark_node, node);
-
-  char *xml = cmark_render_xml(node, options);
-  VALUE ruby_xml = rb_str_new2(xml);
-
-  free(xml);
-
-  return ruby_xml;
-}
-
-/* Internal: Convert the node to a CommonMark string.
- *
- * Returns a {String}.
- */
-static VALUE rb_render_commonmark(int argc, VALUE *argv, VALUE self) {
-  VALUE rb_options, rb_width;
-  rb_scan_args(argc, argv, "11", &rb_options, &rb_width);
-
-  int width = 120;
-  if (!NIL_P(rb_width)) {
-    Check_Type(rb_width, T_FIXNUM);
-    width = FIX2INT(rb_width);
-  }
-
-  int options;
-  cmark_node *node;
-  Check_Type(rb_options, T_FIXNUM);
-
-  options = FIX2INT(rb_options);
-  Data_Get_Struct(self, cmark_node, node);
-
-  char *cmark = cmark_render_commonmark(node, options, width);
-  VALUE ruby_cmark = rb_str_new2(cmark);
-  free(cmark);
-
-  return ruby_cmark;
-}
-
-/* Internal: Convert the node to a plain textstring.
- *
- * Returns a {String}.
- */
-static VALUE rb_render_plaintext(int argc, VALUE *argv, VALUE self) {
-  VALUE rb_options, rb_width;
-  rb_scan_args(argc, argv, "11", &rb_options, &rb_width);
-
-  int width = 120;
-  if (!NIL_P(rb_width)) {
-    Check_Type(rb_width, T_FIXNUM);
-    width = FIX2INT(rb_width);
-  }
-
-  int options;
-  cmark_node *node;
-  Check_Type(rb_options, T_FIXNUM);
-
-  options = FIX2INT(rb_options);
-  Data_Get_Struct(self, cmark_node, node);
-
-  char *text = cmark_render_plaintext(node, options, width);
-  VALUE ruby_text = rb_str_new2(text);
-  free(text);
-
-  return ruby_text;
-}
-
-/*
- * Public: Inserts a node as a sibling after the current node.
- *
- * sibling - A sibling {Node} to insert.
- *
- * Returns `true` if successful.
- * Raises NodeError if the node can't be inserted.
- */
-static VALUE rb_node_insert_after(VALUE self, VALUE sibling) {
-  cmark_node *node1, *node2;
-  Data_Get_Struct(self, cmark_node, node1);
-
-  Data_Get_Struct(sibling, cmark_node, node2);
-
-  if (!cmark_node_insert_after(node1, node2)) {
-    rb_raise(rb_eNodeError, "could not insert after");
-  }
-
-  rb_parent_added(sibling);
-
-  return Qtrue;
-}
-
-/*
- * Public: Inserts a node as the first child of the current node.
- *
- * child - A child {Node} to insert.
- *
- * Returns `true` if successful.
- * Raises NodeError if the node can't be inserted.
- */
-static VALUE rb_node_prepend_child(VALUE self, VALUE child) {
-  cmark_node *node1, *node2;
-  Data_Get_Struct(self, cmark_node, node1);
-
-  Data_Get_Struct(child, cmark_node, node2);
-
-  if (!cmark_node_prepend_child(node1, node2)) {
-    rb_raise(rb_eNodeError, "could not prepend child");
-  }
-
-  rb_parent_added(child);
-
-  return Qtrue;
-}
-
-/*
- * Public: Inserts a node as the last child of the current node.
- *
- * child - A child {Node} to insert.
- *
- * Returns `true` if successful.
- * Raises NodeError if the node can't be inserted.
- */
-static VALUE rb_node_append_child(VALUE self, VALUE child) {
-  cmark_node *node1, *node2;
-  Data_Get_Struct(self, cmark_node, node1);
-
-  Data_Get_Struct(child, cmark_node, node2);
-
-  if (!cmark_node_append_child(node1, node2)) {
-    rb_raise(rb_eNodeError, "could not append child");
-  }
-
-  rb_parent_added(child);
-
-  return Qtrue;
-}
-
-/* Public: Fetches the first child of the current node.
- *
- * Returns a {Node} if a child exists, `nil` otherise.
- */
-static VALUE rb_node_last_child(VALUE self) {
-  cmark_node *node, *child;
-  Data_Get_Struct(self, cmark_node, node);
-
-  child = cmark_node_last_child(node);
-
-  return rb_node_to_value(child);
-}
-
-/* Public: Fetches the parent of the current node.
- *
- * Returns a {Node} if a parent exists, `nil` otherise.
- */
-static VALUE rb_node_parent(VALUE self) {
-  cmark_node *node, *parent;
-  Data_Get_Struct(self, cmark_node, node);
-
-  parent = cmark_node_parent(node);
-
-  return rb_node_to_value(parent);
-}
-
-/* Public: Fetches the previous sibling of the current node.
- *
- * Returns a {Node} if a parent exists, `nil` otherise.
- */
-static VALUE rb_node_previous(VALUE self) {
-  cmark_node *node, *previous;
-  Data_Get_Struct(self, cmark_node, node);
-
-  previous = cmark_node_previous(node);
-
-  return rb_node_to_value(previous);
-}
-
-/*
- * Public: Gets the URL of the current node (must be a `:link` or `:image`).
- *
- * Returns a {String}.
- * Raises a NodeError if the URL can't be retrieved.
- */
-static VALUE rb_node_get_url(VALUE self) {
-  const char *text;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  text = cmark_node_get_url(node);
-  if (text == NULL) {
-    rb_raise(rb_eNodeError, "could not get url");
-  }
-
-  return rb_str_new2(text);
-}
-
-/*
- * Public: Sets the URL of the current node (must be a `:link` or `:image`).
- *
- * url - A {String} representing the new URL
- *
- * Raises a NodeError if the URL can't be set.
- */
-static VALUE rb_node_set_url(VALUE self, VALUE url) {
-  cmark_node *node;
-  char *text;
-  Check_Type(url, T_STRING);
-
-  Data_Get_Struct(self, cmark_node, node);
-  text = StringValueCStr(url);
-
-  if (!cmark_node_set_url(node, text)) {
-    rb_raise(rb_eNodeError, "could not set url");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Gets the title of the current node (must be a `:link` or `:image`).
- *
- * Returns a {String}.
- * Raises a NodeError if the title can't be retrieved.
- */
-static VALUE rb_node_get_title(VALUE self) {
-  const char *text;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  text = cmark_node_get_title(node);
-  if (text == NULL) {
-    rb_raise(rb_eNodeError, "could not get title");
-  }
-
-  return rb_str_new2(text);
-}
-
-/*
- * Public: Sets the title of the current node (must be a `:link` or `:image`).
- *
- * title - A {String} representing the new title
- *
- * Raises a NodeError if the title can't be set.
- */
-static VALUE rb_node_set_title(VALUE self, VALUE title) {
-  char *text;
-  cmark_node *node;
-  Check_Type(title, T_STRING);
-
-  Data_Get_Struct(self, cmark_node, node);
-  text = StringValueCStr(title);
-
-  if (!cmark_node_set_title(node, text)) {
-    rb_raise(rb_eNodeError, "could not set title");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Gets the header level of the current node (must be a `:header`).
- *
- * Returns a {Number} representing the header level.
- * Raises a NodeError if the header level can't be retrieved.
- */
-static VALUE rb_node_get_header_level(VALUE self) {
-  int header_level;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  header_level = cmark_node_get_header_level(node);
-
-  if (header_level == 0) {
-    rb_raise(rb_eNodeError, "could not get header_level");
-  }
-
-  return INT2NUM(header_level);
-}
-
-/*
- * Public: Sets the header level of the current node (must be a `:header`).
- *
- * level - A {Number} representing the new header level
- *
- * Raises a NodeError if the header level can't be set.
- */
-static VALUE rb_node_set_header_level(VALUE self, VALUE level) {
-  int l;
-  cmark_node *node;
-  Check_Type(level, T_FIXNUM);
-
-  Data_Get_Struct(self, cmark_node, node);
-  l = FIX2INT(level);
-
-  if (!cmark_node_set_header_level(node, l)) {
-    rb_raise(rb_eNodeError, "could not set header_level");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Gets the list type of the current node (must be a `:list`).
- *
- * Returns a {Symbol}.
- * Raises a NodeError if the title can't be retrieved.
- */
-static VALUE rb_node_get_list_type(VALUE self) {
-  int list_type;
-  cmark_node *node;
-  VALUE symbol;
-  Data_Get_Struct(self, cmark_node, node);
-
-  list_type = cmark_node_get_list_type(node);
-
-  if (list_type == CMARK_BULLET_LIST) {
-    symbol = sym_bullet_list;
-  } else if (list_type == CMARK_ORDERED_LIST) {
-    symbol = sym_ordered_list;
-  } else {
-    rb_raise(rb_eNodeError, "could not get list_type");
-  }
-
-  return symbol;
-}
-
-/*
- * Public: Sets the list type of the current node (must be a `:list`).
- *
- * level - A {Symbol} representing the new list type
- *
- * Raises a NodeError if the list type can't be set.
- */
-static VALUE rb_node_set_list_type(VALUE self, VALUE list_type) {
-  int type = 0;
-  cmark_node *node;
-  Check_Type(list_type, T_SYMBOL);
-
-  Data_Get_Struct(self, cmark_node, node);
-
-  if (list_type == sym_bullet_list) {
-    type = CMARK_BULLET_LIST;
-  } else if (list_type == sym_ordered_list) {
-    type = CMARK_ORDERED_LIST;
-  } else {
-    rb_raise(rb_eNodeError, "invalid list_type");
-  }
-
-  if (!cmark_node_set_list_type(node, type)) {
-    rb_raise(rb_eNodeError, "could not set list_type");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Gets the starting number the current node (must be an
- * `:ordered_list`).
- *
- * Returns a {Number} representing the starting number.
- * Raises a NodeError if the starting number can't be retrieved.
- */
-static VALUE rb_node_get_list_start(VALUE self) {
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  if (cmark_node_get_type(node) != CMARK_NODE_LIST ||
-      cmark_node_get_list_type(node) != CMARK_ORDERED_LIST) {
-    rb_raise(rb_eNodeError, "can't get list_start for non-ordered list %d",
-             cmark_node_get_list_type(node));
-  }
-
-  return INT2NUM(cmark_node_get_list_start(node));
-}
-
-/*
- * Public: Sets the starting number of the current node (must be an
- * `:ordered_list`).
- *
- * level - A {Number} representing the new starting number
- *
- * Raises a NodeError if the starting number can't be set.
- */
-static VALUE rb_node_set_list_start(VALUE self, VALUE start) {
-  int s;
-  cmark_node *node;
-  Check_Type(start, T_FIXNUM);
-
-  Data_Get_Struct(self, cmark_node, node);
-  s = FIX2INT(start);
-
-  if (!cmark_node_set_list_start(node, s)) {
-    rb_raise(rb_eNodeError, "could not set list_start");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Gets the tight status the current node (must be a `:list`).
- *
- * Returns a `true` if the list is tight, `false` otherwise.
- * Raises a NodeError if the starting number can't be retrieved.
- */
-static VALUE rb_node_get_list_tight(VALUE self) {
-  int flag;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  if (cmark_node_get_type(node) != CMARK_NODE_LIST) {
-    rb_raise(rb_eNodeError, "can't get list_tight for non-list");
-  }
-
-  flag = cmark_node_get_list_tight(node);
-
-  return flag ? Qtrue : Qfalse;
-}
-
-/*
- * Public: Sets the tight status of the current node (must be a `:list`).
- *
- * tight - A {Boolean} representing the new tightness
- *
- * Raises a NodeError if the tightness can't be set.
- */
-static VALUE rb_node_set_list_tight(VALUE self, VALUE tight) {
-  int t;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-  t = RTEST(tight);
-
-  if (!cmark_node_set_list_tight(node, t)) {
-    rb_raise(rb_eNodeError, "could not set list_tight");
-  }
-
-  return Qnil;
-}
-
-/*
- * Public: Gets the fence info of the current node (must be a `:code_block`).
- *
- * Returns a {String} representing the fence info.
- * Raises a NodeError if the fence info can't be retrieved.
- */
-static VALUE rb_node_get_fence_info(VALUE self) {
-  const char *fence_info;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  fence_info = cmark_node_get_fence_info(node);
-
-  if (fence_info == NULL) {
-    rb_raise(rb_eNodeError, "could not get fence_info");
-  }
-
-  return rb_str_new2(fence_info);
-}
-
-/*
- * Public: Sets the fence info of the current node (must be a `:code_block`).
- *
- * info - A {String} representing the new fence info
- *
- * Raises a NodeError if the fence info can't be set.
- */
-static VALUE rb_node_set_fence_info(VALUE self, VALUE info) {
-  char *text;
-  cmark_node *node;
-  Check_Type(info, T_STRING);
-
-  Data_Get_Struct(self, cmark_node, node);
-  text = StringValueCStr(info);
-
-  if (!cmark_node_set_fence_info(node, text)) {
-    rb_raise(rb_eNodeError, "could not set fence_info");
-  }
-
-  return Qnil;
-}
-
-static VALUE rb_node_get_tasklist_item_checked(VALUE self) {
-  int tasklist_state;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  tasklist_state = cmark_gfm_extensions_get_tasklist_item_checked(node);
-
-  if (tasklist_state == 1) {
-    return Qtrue;
-  } else {
-    return Qfalse;
-  }
-}
-
-/*
- * Public: Sets the checkbox state of the current node (must be a `:tasklist`).
- *
- * item_checked - A {Boolean} representing the new checkbox state
- *
- * Returns a {Boolean} representing the new checkbox state.
- * Raises a NodeError if the checkbox state can't be set.
- */
-static VALUE rb_node_set_tasklist_item_checked(VALUE self, VALUE item_checked) {
-  int tasklist_state;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-  tasklist_state = RTEST(item_checked);
-
-  if (!cmark_gfm_extensions_set_tasklist_item_checked(node, tasklist_state)) {
-    rb_raise(rb_eNodeError, "could not set tasklist_item_checked");
-  };
-
-  if (tasklist_state) {
-    return Qtrue;
-  } else {
-    return Qfalse;
-  }
-}
-
-// TODO: remove this, superseded by the above method
-static VALUE rb_node_get_tasklist_state(VALUE self) {
-  int tasklist_state;
-  cmark_node *node;
-  Data_Get_Struct(self, cmark_node, node);
-
-  tasklist_state = cmark_gfm_extensions_get_tasklist_item_checked(node);
-
-  if (tasklist_state == 1) {
-    return rb_str_new2("checked");
-  } else {
-    return rb_str_new2("unchecked");
-  }
-}
-
-static VALUE rb_node_get_table_alignments(VALUE self) {
-  uint16_t column_count, i;
-  uint8_t *alignments;
-  cmark_node *node;
-  VALUE ary;
-  Data_Get_Struct(self, cmark_node, node);
-
-  column_count = cmark_gfm_extensions_get_table_columns(node);
-  alignments = cmark_gfm_extensions_get_table_alignments(node);
-
-  if (!column_count || !alignments) {
-    rb_raise(rb_eNodeError, "could not get column_count or alignments");
-  }
-
-  ary = rb_ary_new();
-  for (i = 0; i < column_count; ++i) {
-    if (alignments[i] == 'l')
-      rb_ary_push(ary, sym_left);
-    else if (alignments[i] == 'c')
-      rb_ary_push(ary, sym_center);
-    else if (alignments[i] == 'r')
-      rb_ary_push(ary, sym_right);
-    else
-      rb_ary_push(ary, Qnil);
-  }
-  return ary;
-}
-
-/* Internal: Escapes href URLs safely. */
-static VALUE rb_html_escape_href(VALUE self, VALUE rb_text) {
-  char *result;
-  cmark_node *node;
-  Check_Type(rb_text, T_STRING);
-
-  Data_Get_Struct(self, cmark_node, node);
-
-  cmark_mem *mem = cmark_node_mem(node);
-  cmark_strbuf buf = CMARK_BUF_INIT(mem);
-
-  if (houdini_escape_href(&buf, (const uint8_t *)RSTRING_PTR(rb_text),
-                          RSTRING_LEN(rb_text))) {
-    result = (char *)cmark_strbuf_detach(&buf);
-    return encode_source_string(result, rb_text);
-
-  }
-
-  return rb_text;
-}
-
-/* Internal: Escapes HTML content safely. */
-static VALUE rb_html_escape_html(VALUE self, VALUE rb_text) {
-  char *result;
-  cmark_node *node;
-  Check_Type(rb_text, T_STRING);
-
-  Data_Get_Struct(self, cmark_node, node);
-
-  cmark_mem *mem = cmark_node_mem(node);
-  cmark_strbuf buf = CMARK_BUF_INIT(mem);
-
-  if (houdini_escape_html0(&buf, (const uint8_t *)RSTRING_PTR(rb_text),
-                           RSTRING_LEN(rb_text), 0)) {
-    result = (char *)cmark_strbuf_detach(&buf);
-    return encode_source_string(result, rb_text);
-  }
-
-  return rb_text;
-}
-
-VALUE rb_extensions(VALUE self) {
-  cmark_llist *exts, *it;
-  cmark_syntax_extension *ext;
-  VALUE ary = rb_ary_new();
-
-  cmark_mem *mem = cmark_get_default_mem_allocator();
-  exts = cmark_list_syntax_extensions(mem);
-  for (it = exts; it; it = it->next) {
-    ext = it->data;
-    rb_ary_push(ary, rb_str_new2(ext->name));
-  }
-  cmark_llist_free(mem, exts);
-
-  return ary;
-}
-
-__attribute__((visibility("default"))) void Init_commonmarker() {
-  VALUE module;
-  sym_document = ID2SYM(rb_intern("document"));
-  sym_blockquote = ID2SYM(rb_intern("blockquote"));
-  sym_list = ID2SYM(rb_intern("list"));
-  sym_list_item = ID2SYM(rb_intern("list_item"));
-  sym_code_block = ID2SYM(rb_intern("code_block"));
-  sym_html = ID2SYM(rb_intern("html"));
-  sym_paragraph = ID2SYM(rb_intern("paragraph"));
-  sym_header = ID2SYM(rb_intern("header"));
-  sym_hrule = ID2SYM(rb_intern("hrule"));
-  sym_text = ID2SYM(rb_intern("text"));
-  sym_softbreak = ID2SYM(rb_intern("softbreak"));
-  sym_linebreak = ID2SYM(rb_intern("linebreak"));
-  sym_code = ID2SYM(rb_intern("code"));
-  sym_inline_html = ID2SYM(rb_intern("inline_html"));
-  sym_emph = ID2SYM(rb_intern("emph"));
-  sym_strong = ID2SYM(rb_intern("strong"));
-  sym_link = ID2SYM(rb_intern("link"));
-  sym_image = ID2SYM(rb_intern("image"));
-  sym_footnote_reference = ID2SYM(rb_intern("footnote_reference"));
-  sym_footnote_definition = ID2SYM(rb_intern("footnote_definition"));
-
-  sym_bullet_list = ID2SYM(rb_intern("bullet_list"));
-  sym_ordered_list = ID2SYM(rb_intern("ordered_list"));
-
-  sym_left = ID2SYM(rb_intern("left"));
-  sym_right = ID2SYM(rb_intern("right"));
-  sym_center = ID2SYM(rb_intern("center"));
-
-  module = rb_define_module("CommonMarker");
-  rb_define_singleton_method(module, "extensions", rb_extensions, 0);
-  rb_eNodeError = rb_define_class_under(module, "NodeError", rb_eStandardError);
-  rb_cNode = rb_define_class_under(module, "Node", rb_cObject);
-  rb_undef_alloc_func(rb_cNode);
-  rb_define_singleton_method(rb_cNode, "markdown_to_html", rb_markdown_to_html,
-                             3);
-  rb_define_singleton_method(rb_cNode, "markdown_to_xml", rb_markdown_to_xml,
-                             3);
-  rb_define_singleton_method(rb_cNode, "new", rb_node_new, 1);
-  rb_define_singleton_method(rb_cNode, "parse_document", rb_parse_document, 4);
-  rb_define_method(rb_cNode, "string_content", rb_node_get_string_content, 0);
-  rb_define_method(rb_cNode, "string_content=", rb_node_set_string_content, 1);
-  rb_define_method(rb_cNode, "type", rb_node_get_type, 0);
-  rb_define_method(rb_cNode, "type_string", rb_node_get_type_string, 0);
-  rb_define_method(rb_cNode, "sourcepos", rb_node_get_sourcepos, 0);
-  rb_define_method(rb_cNode, "delete", rb_node_unlink, 0);
-  rb_define_method(rb_cNode, "first_child", rb_node_first_child, 0);
-  rb_define_method(rb_cNode, "next", rb_node_next, 0);
-  rb_define_method(rb_cNode, "insert_before", rb_node_insert_before, 1);
-  rb_define_method(rb_cNode, "_render_html", rb_render_html, 2);
-  rb_define_method(rb_cNode, "_render_xml", rb_render_xml, 1);
-  rb_define_method(rb_cNode, "_render_commonmark", rb_render_commonmark, -1);
-  rb_define_method(rb_cNode, "_render_plaintext", rb_render_plaintext, -1);
-  rb_define_method(rb_cNode, "insert_after", rb_node_insert_after, 1);
-  rb_define_method(rb_cNode, "prepend_child", rb_node_prepend_child, 1);
-  rb_define_method(rb_cNode, "append_child", rb_node_append_child, 1);
-  rb_define_method(rb_cNode, "last_child", rb_node_last_child, 0);
-  rb_define_method(rb_cNode, "parent", rb_node_parent, 0);
-  rb_define_method(rb_cNode, "previous", rb_node_previous, 0);
-  rb_define_method(rb_cNode, "url", rb_node_get_url, 0);
-  rb_define_method(rb_cNode, "url=", rb_node_set_url, 1);
-  rb_define_method(rb_cNode, "title", rb_node_get_title, 0);
-  rb_define_method(rb_cNode, "title=", rb_node_set_title, 1);
-  rb_define_method(rb_cNode, "header_level", rb_node_get_header_level, 0);
-  rb_define_method(rb_cNode, "header_level=", rb_node_set_header_level, 1);
-  rb_define_method(rb_cNode, "list_type", rb_node_get_list_type, 0);
-  rb_define_method(rb_cNode, "list_type=", rb_node_set_list_type, 1);
-  rb_define_method(rb_cNode, "list_start", rb_node_get_list_start, 0);
-  rb_define_method(rb_cNode, "list_start=", rb_node_set_list_start, 1);
-  rb_define_method(rb_cNode, "list_tight", rb_node_get_list_tight, 0);
-  rb_define_method(rb_cNode, "list_tight=", rb_node_set_list_tight, 1);
-  rb_define_method(rb_cNode, "fence_info", rb_node_get_fence_info, 0);
-  rb_define_method(rb_cNode, "fence_info=", rb_node_set_fence_info, 1);
-  rb_define_method(rb_cNode, "table_alignments", rb_node_get_table_alignments, 0);
-  rb_define_method(rb_cNode, "tasklist_state", rb_node_get_tasklist_state, 0);
-  rb_define_method(rb_cNode, "tasklist_item_checked?", rb_node_get_tasklist_item_checked, 0);
-  rb_define_method(rb_cNode, "tasklist_item_checked=", rb_node_set_tasklist_item_checked, 1);
-
-  rb_define_method(rb_cNode, "html_escape_href", rb_html_escape_href, 1);
-  rb_define_method(rb_cNode, "html_escape_html", rb_html_escape_html, 1);
-
-  cmark_gfm_core_extensions_ensure_registered();
-  cmark_init_standard_node_flags();
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.h
deleted file mode 100644
index da05dc4..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef COMMONMARKER_H
-#define COMMONMARKER_H
-
-#ifndef __MSXML_LIBRARY_DEFINED__
-#define __MSXML_LIBRARY_DEFINED__
-#endif
-
-#include "cmark-gfm.h"
-#include "ruby.h"
-#include "ruby/encoding.h"
-
-#define CSTR2SYM(s) (ID2SYM(rb_intern((s))))
-
-void Init_commonmarker();
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.o
deleted file mode 100644
index 3863df2..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/commonmarker.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/config.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/config.h
deleted file mode 100644
index d38c7c7..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/config.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef CMARK_CONFIG_H
-#define CMARK_CONFIG_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define HAVE_STDBOOL_H
-
-#ifdef HAVE_STDBOOL_H
-  #include 
-#elif !defined(__cplusplus)
-  typedef char bool;
-#endif
-
-#define HAVE___BUILTIN_EXPECT
-
-#define HAVE___ATTRIBUTE__
-
-#ifdef HAVE___ATTRIBUTE__
-  #define CMARK_ATTRIBUTE(list) __attribute__ (list)
-#else
-  #define CMARK_ATTRIBUTE(list)
-#endif
-
-#ifndef CMARK_INLINE
-  #if defined(_MSC_VER) && !defined(__cplusplus)
-    #define CMARK_INLINE __inline
-  #else
-    #define CMARK_INLINE inline
-  #endif
-#endif
-
-/* snprintf and vsnprintf fallbacks for MSVC before 2015,
-   due to Valentin Milea http://stackoverflow.com/questions/2915672/
-*/
-
-#if defined(_MSC_VER) && _MSC_VER < 1900
-
-#include 
-#include 
-
-#define snprintf c99_snprintf
-#define vsnprintf c99_vsnprintf
-
-CMARK_INLINE int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap)
-{
-    int count = -1;
-
-    if (size != 0)
-        count = _vsnprintf_s(outBuf, size, _TRUNCATE, format, ap);
-    if (count == -1)
-        count = _vscprintf(format, ap);
-
-    return count;
-}
-
-CMARK_INLINE int c99_snprintf(char *outBuf, size_t size, const char *format, ...)
-{
-    int count;
-    va_list ap;
-
-    va_start(ap, format);
-    count = c99_vsnprintf(outBuf, size, format, ap);
-    va_end(ap);
-
-    return count;
-}
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/core-extensions.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/core-extensions.c
deleted file mode 100644
index 846e2bc..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/core-extensions.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "cmark-gfm-core-extensions.h"
-#include "autolink.h"
-#include "strikethrough.h"
-#include "table.h"
-#include "tagfilter.h"
-#include "tasklist.h"
-#include "registry.h"
-#include "plugin.h"
-
-static int core_extensions_registration(cmark_plugin *plugin) {
-  cmark_plugin_register_syntax_extension(plugin, create_table_extension());
-  cmark_plugin_register_syntax_extension(plugin,
-                                         create_strikethrough_extension());
-  cmark_plugin_register_syntax_extension(plugin, create_autolink_extension());
-  cmark_plugin_register_syntax_extension(plugin, create_tagfilter_extension());
-  cmark_plugin_register_syntax_extension(plugin, create_tasklist_extension());
-  return 1;
-}
-
-void cmark_gfm_core_extensions_ensure_registered(void) {
-  static int registered = 0;
-
-  if (!registered) {
-    cmark_register_plugin(core_extensions_registration);
-    registered = 1;
-  }
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/core-extensions.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/core-extensions.o
deleted file mode 100644
index 32a1058..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/core-extensions.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/entities.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/entities.inc
deleted file mode 100644
index a7c36e2..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/entities.inc
+++ /dev/null
@@ -1,2138 +0,0 @@
-/* Autogenerated by tools/make_headers_inc.py */
-
-struct cmark_entity_node {
-	unsigned char *entity;
-        unsigned char bytes[8];
-};
-
-#define CMARK_ENTITY_MIN_LENGTH 2
-#define CMARK_ENTITY_MAX_LENGTH 32
-#define CMARK_NUM_ENTITIES 2125
-
-static const struct cmark_entity_node cmark_entities[] = {
-{(unsigned char*)"AElig", {195, 134, 0}},
-{(unsigned char*)"AMP", {38, 0}},
-{(unsigned char*)"Aacute", {195, 129, 0}},
-{(unsigned char*)"Abreve", {196, 130, 0}},
-{(unsigned char*)"Acirc", {195, 130, 0}},
-{(unsigned char*)"Acy", {208, 144, 0}},
-{(unsigned char*)"Afr", {240, 157, 148, 132, 0}},
-{(unsigned char*)"Agrave", {195, 128, 0}},
-{(unsigned char*)"Alpha", {206, 145, 0}},
-{(unsigned char*)"Amacr", {196, 128, 0}},
-{(unsigned char*)"And", {226, 169, 147, 0}},
-{(unsigned char*)"Aogon", {196, 132, 0}},
-{(unsigned char*)"Aopf", {240, 157, 148, 184, 0}},
-{(unsigned char*)"ApplyFunction", {226, 129, 161, 0}},
-{(unsigned char*)"Aring", {195, 133, 0}},
-{(unsigned char*)"Ascr", {240, 157, 146, 156, 0}},
-{(unsigned char*)"Assign", {226, 137, 148, 0}},
-{(unsigned char*)"Atilde", {195, 131, 0}},
-{(unsigned char*)"Auml", {195, 132, 0}},
-{(unsigned char*)"Backslash", {226, 136, 150, 0}},
-{(unsigned char*)"Barv", {226, 171, 167, 0}},
-{(unsigned char*)"Barwed", {226, 140, 134, 0}},
-{(unsigned char*)"Bcy", {208, 145, 0}},
-{(unsigned char*)"Because", {226, 136, 181, 0}},
-{(unsigned char*)"Bernoullis", {226, 132, 172, 0}},
-{(unsigned char*)"Beta", {206, 146, 0}},
-{(unsigned char*)"Bfr", {240, 157, 148, 133, 0}},
-{(unsigned char*)"Bopf", {240, 157, 148, 185, 0}},
-{(unsigned char*)"Breve", {203, 152, 0}},
-{(unsigned char*)"Bscr", {226, 132, 172, 0}},
-{(unsigned char*)"Bumpeq", {226, 137, 142, 0}},
-{(unsigned char*)"CHcy", {208, 167, 0}},
-{(unsigned char*)"COPY", {194, 169, 0}},
-{(unsigned char*)"Cacute", {196, 134, 0}},
-{(unsigned char*)"Cap", {226, 139, 146, 0}},
-{(unsigned char*)"CapitalDifferentialD", {226, 133, 133, 0}},
-{(unsigned char*)"Cayleys", {226, 132, 173, 0}},
-{(unsigned char*)"Ccaron", {196, 140, 0}},
-{(unsigned char*)"Ccedil", {195, 135, 0}},
-{(unsigned char*)"Ccirc", {196, 136, 0}},
-{(unsigned char*)"Cconint", {226, 136, 176, 0}},
-{(unsigned char*)"Cdot", {196, 138, 0}},
-{(unsigned char*)"Cedilla", {194, 184, 0}},
-{(unsigned char*)"CenterDot", {194, 183, 0}},
-{(unsigned char*)"Cfr", {226, 132, 173, 0}},
-{(unsigned char*)"Chi", {206, 167, 0}},
-{(unsigned char*)"CircleDot", {226, 138, 153, 0}},
-{(unsigned char*)"CircleMinus", {226, 138, 150, 0}},
-{(unsigned char*)"CirclePlus", {226, 138, 149, 0}},
-{(unsigned char*)"CircleTimes", {226, 138, 151, 0}},
-{(unsigned char*)"ClockwiseContourIntegral", {226, 136, 178, 0}},
-{(unsigned char*)"CloseCurlyDoubleQuote", {226, 128, 157, 0}},
-{(unsigned char*)"CloseCurlyQuote", {226, 128, 153, 0}},
-{(unsigned char*)"Colon", {226, 136, 183, 0}},
-{(unsigned char*)"Colone", {226, 169, 180, 0}},
-{(unsigned char*)"Congruent", {226, 137, 161, 0}},
-{(unsigned char*)"Conint", {226, 136, 175, 0}},
-{(unsigned char*)"ContourIntegral", {226, 136, 174, 0}},
-{(unsigned char*)"Copf", {226, 132, 130, 0}},
-{(unsigned char*)"Coproduct", {226, 136, 144, 0}},
-{(unsigned char*)"CounterClockwiseContourIntegral", {226, 136, 179, 0}},
-{(unsigned char*)"Cross", {226, 168, 175, 0}},
-{(unsigned char*)"Cscr", {240, 157, 146, 158, 0}},
-{(unsigned char*)"Cup", {226, 139, 147, 0}},
-{(unsigned char*)"CupCap", {226, 137, 141, 0}},
-{(unsigned char*)"DD", {226, 133, 133, 0}},
-{(unsigned char*)"DDotrahd", {226, 164, 145, 0}},
-{(unsigned char*)"DJcy", {208, 130, 0}},
-{(unsigned char*)"DScy", {208, 133, 0}},
-{(unsigned char*)"DZcy", {208, 143, 0}},
-{(unsigned char*)"Dagger", {226, 128, 161, 0}},
-{(unsigned char*)"Darr", {226, 134, 161, 0}},
-{(unsigned char*)"Dashv", {226, 171, 164, 0}},
-{(unsigned char*)"Dcaron", {196, 142, 0}},
-{(unsigned char*)"Dcy", {208, 148, 0}},
-{(unsigned char*)"Del", {226, 136, 135, 0}},
-{(unsigned char*)"Delta", {206, 148, 0}},
-{(unsigned char*)"Dfr", {240, 157, 148, 135, 0}},
-{(unsigned char*)"DiacriticalAcute", {194, 180, 0}},
-{(unsigned char*)"DiacriticalDot", {203, 153, 0}},
-{(unsigned char*)"DiacriticalDoubleAcute", {203, 157, 0}},
-{(unsigned char*)"DiacriticalGrave", {96, 0}},
-{(unsigned char*)"DiacriticalTilde", {203, 156, 0}},
-{(unsigned char*)"Diamond", {226, 139, 132, 0}},
-{(unsigned char*)"DifferentialD", {226, 133, 134, 0}},
-{(unsigned char*)"Dopf", {240, 157, 148, 187, 0}},
-{(unsigned char*)"Dot", {194, 168, 0}},
-{(unsigned char*)"DotDot", {226, 131, 156, 0}},
-{(unsigned char*)"DotEqual", {226, 137, 144, 0}},
-{(unsigned char*)"DoubleContourIntegral", {226, 136, 175, 0}},
-{(unsigned char*)"DoubleDot", {194, 168, 0}},
-{(unsigned char*)"DoubleDownArrow", {226, 135, 147, 0}},
-{(unsigned char*)"DoubleLeftArrow", {226, 135, 144, 0}},
-{(unsigned char*)"DoubleLeftRightArrow", {226, 135, 148, 0}},
-{(unsigned char*)"DoubleLeftTee", {226, 171, 164, 0}},
-{(unsigned char*)"DoubleLongLeftArrow", {226, 159, 184, 0}},
-{(unsigned char*)"DoubleLongLeftRightArrow", {226, 159, 186, 0}},
-{(unsigned char*)"DoubleLongRightArrow", {226, 159, 185, 0}},
-{(unsigned char*)"DoubleRightArrow", {226, 135, 146, 0}},
-{(unsigned char*)"DoubleRightTee", {226, 138, 168, 0}},
-{(unsigned char*)"DoubleUpArrow", {226, 135, 145, 0}},
-{(unsigned char*)"DoubleUpDownArrow", {226, 135, 149, 0}},
-{(unsigned char*)"DoubleVerticalBar", {226, 136, 165, 0}},
-{(unsigned char*)"DownArrow", {226, 134, 147, 0}},
-{(unsigned char*)"DownArrowBar", {226, 164, 147, 0}},
-{(unsigned char*)"DownArrowUpArrow", {226, 135, 181, 0}},
-{(unsigned char*)"DownBreve", {204, 145, 0}},
-{(unsigned char*)"DownLeftRightVector", {226, 165, 144, 0}},
-{(unsigned char*)"DownLeftTeeVector", {226, 165, 158, 0}},
-{(unsigned char*)"DownLeftVector", {226, 134, 189, 0}},
-{(unsigned char*)"DownLeftVectorBar", {226, 165, 150, 0}},
-{(unsigned char*)"DownRightTeeVector", {226, 165, 159, 0}},
-{(unsigned char*)"DownRightVector", {226, 135, 129, 0}},
-{(unsigned char*)"DownRightVectorBar", {226, 165, 151, 0}},
-{(unsigned char*)"DownTee", {226, 138, 164, 0}},
-{(unsigned char*)"DownTeeArrow", {226, 134, 167, 0}},
-{(unsigned char*)"Downarrow", {226, 135, 147, 0}},
-{(unsigned char*)"Dscr", {240, 157, 146, 159, 0}},
-{(unsigned char*)"Dstrok", {196, 144, 0}},
-{(unsigned char*)"ENG", {197, 138, 0}},
-{(unsigned char*)"ETH", {195, 144, 0}},
-{(unsigned char*)"Eacute", {195, 137, 0}},
-{(unsigned char*)"Ecaron", {196, 154, 0}},
-{(unsigned char*)"Ecirc", {195, 138, 0}},
-{(unsigned char*)"Ecy", {208, 173, 0}},
-{(unsigned char*)"Edot", {196, 150, 0}},
-{(unsigned char*)"Efr", {240, 157, 148, 136, 0}},
-{(unsigned char*)"Egrave", {195, 136, 0}},
-{(unsigned char*)"Element", {226, 136, 136, 0}},
-{(unsigned char*)"Emacr", {196, 146, 0}},
-{(unsigned char*)"EmptySmallSquare", {226, 151, 187, 0}},
-{(unsigned char*)"EmptyVerySmallSquare", {226, 150, 171, 0}},
-{(unsigned char*)"Eogon", {196, 152, 0}},
-{(unsigned char*)"Eopf", {240, 157, 148, 188, 0}},
-{(unsigned char*)"Epsilon", {206, 149, 0}},
-{(unsigned char*)"Equal", {226, 169, 181, 0}},
-{(unsigned char*)"EqualTilde", {226, 137, 130, 0}},
-{(unsigned char*)"Equilibrium", {226, 135, 140, 0}},
-{(unsigned char*)"Escr", {226, 132, 176, 0}},
-{(unsigned char*)"Esim", {226, 169, 179, 0}},
-{(unsigned char*)"Eta", {206, 151, 0}},
-{(unsigned char*)"Euml", {195, 139, 0}},
-{(unsigned char*)"Exists", {226, 136, 131, 0}},
-{(unsigned char*)"ExponentialE", {226, 133, 135, 0}},
-{(unsigned char*)"Fcy", {208, 164, 0}},
-{(unsigned char*)"Ffr", {240, 157, 148, 137, 0}},
-{(unsigned char*)"FilledSmallSquare", {226, 151, 188, 0}},
-{(unsigned char*)"FilledVerySmallSquare", {226, 150, 170, 0}},
-{(unsigned char*)"Fopf", {240, 157, 148, 189, 0}},
-{(unsigned char*)"ForAll", {226, 136, 128, 0}},
-{(unsigned char*)"Fouriertrf", {226, 132, 177, 0}},
-{(unsigned char*)"Fscr", {226, 132, 177, 0}},
-{(unsigned char*)"GJcy", {208, 131, 0}},
-{(unsigned char*)"GT", {62, 0}},
-{(unsigned char*)"Gamma", {206, 147, 0}},
-{(unsigned char*)"Gammad", {207, 156, 0}},
-{(unsigned char*)"Gbreve", {196, 158, 0}},
-{(unsigned char*)"Gcedil", {196, 162, 0}},
-{(unsigned char*)"Gcirc", {196, 156, 0}},
-{(unsigned char*)"Gcy", {208, 147, 0}},
-{(unsigned char*)"Gdot", {196, 160, 0}},
-{(unsigned char*)"Gfr", {240, 157, 148, 138, 0}},
-{(unsigned char*)"Gg", {226, 139, 153, 0}},
-{(unsigned char*)"Gopf", {240, 157, 148, 190, 0}},
-{(unsigned char*)"GreaterEqual", {226, 137, 165, 0}},
-{(unsigned char*)"GreaterEqualLess", {226, 139, 155, 0}},
-{(unsigned char*)"GreaterFullEqual", {226, 137, 167, 0}},
-{(unsigned char*)"GreaterGreater", {226, 170, 162, 0}},
-{(unsigned char*)"GreaterLess", {226, 137, 183, 0}},
-{(unsigned char*)"GreaterSlantEqual", {226, 169, 190, 0}},
-{(unsigned char*)"GreaterTilde", {226, 137, 179, 0}},
-{(unsigned char*)"Gscr", {240, 157, 146, 162, 0}},
-{(unsigned char*)"Gt", {226, 137, 171, 0}},
-{(unsigned char*)"HARDcy", {208, 170, 0}},
-{(unsigned char*)"Hacek", {203, 135, 0}},
-{(unsigned char*)"Hat", {94, 0}},
-{(unsigned char*)"Hcirc", {196, 164, 0}},
-{(unsigned char*)"Hfr", {226, 132, 140, 0}},
-{(unsigned char*)"HilbertSpace", {226, 132, 139, 0}},
-{(unsigned char*)"Hopf", {226, 132, 141, 0}},
-{(unsigned char*)"HorizontalLine", {226, 148, 128, 0}},
-{(unsigned char*)"Hscr", {226, 132, 139, 0}},
-{(unsigned char*)"Hstrok", {196, 166, 0}},
-{(unsigned char*)"HumpDownHump", {226, 137, 142, 0}},
-{(unsigned char*)"HumpEqual", {226, 137, 143, 0}},
-{(unsigned char*)"IEcy", {208, 149, 0}},
-{(unsigned char*)"IJlig", {196, 178, 0}},
-{(unsigned char*)"IOcy", {208, 129, 0}},
-{(unsigned char*)"Iacute", {195, 141, 0}},
-{(unsigned char*)"Icirc", {195, 142, 0}},
-{(unsigned char*)"Icy", {208, 152, 0}},
-{(unsigned char*)"Idot", {196, 176, 0}},
-{(unsigned char*)"Ifr", {226, 132, 145, 0}},
-{(unsigned char*)"Igrave", {195, 140, 0}},
-{(unsigned char*)"Im", {226, 132, 145, 0}},
-{(unsigned char*)"Imacr", {196, 170, 0}},
-{(unsigned char*)"ImaginaryI", {226, 133, 136, 0}},
-{(unsigned char*)"Implies", {226, 135, 146, 0}},
-{(unsigned char*)"Int", {226, 136, 172, 0}},
-{(unsigned char*)"Integral", {226, 136, 171, 0}},
-{(unsigned char*)"Intersection", {226, 139, 130, 0}},
-{(unsigned char*)"InvisibleComma", {226, 129, 163, 0}},
-{(unsigned char*)"InvisibleTimes", {226, 129, 162, 0}},
-{(unsigned char*)"Iogon", {196, 174, 0}},
-{(unsigned char*)"Iopf", {240, 157, 149, 128, 0}},
-{(unsigned char*)"Iota", {206, 153, 0}},
-{(unsigned char*)"Iscr", {226, 132, 144, 0}},
-{(unsigned char*)"Itilde", {196, 168, 0}},
-{(unsigned char*)"Iukcy", {208, 134, 0}},
-{(unsigned char*)"Iuml", {195, 143, 0}},
-{(unsigned char*)"Jcirc", {196, 180, 0}},
-{(unsigned char*)"Jcy", {208, 153, 0}},
-{(unsigned char*)"Jfr", {240, 157, 148, 141, 0}},
-{(unsigned char*)"Jopf", {240, 157, 149, 129, 0}},
-{(unsigned char*)"Jscr", {240, 157, 146, 165, 0}},
-{(unsigned char*)"Jsercy", {208, 136, 0}},
-{(unsigned char*)"Jukcy", {208, 132, 0}},
-{(unsigned char*)"KHcy", {208, 165, 0}},
-{(unsigned char*)"KJcy", {208, 140, 0}},
-{(unsigned char*)"Kappa", {206, 154, 0}},
-{(unsigned char*)"Kcedil", {196, 182, 0}},
-{(unsigned char*)"Kcy", {208, 154, 0}},
-{(unsigned char*)"Kfr", {240, 157, 148, 142, 0}},
-{(unsigned char*)"Kopf", {240, 157, 149, 130, 0}},
-{(unsigned char*)"Kscr", {240, 157, 146, 166, 0}},
-{(unsigned char*)"LJcy", {208, 137, 0}},
-{(unsigned char*)"LT", {60, 0}},
-{(unsigned char*)"Lacute", {196, 185, 0}},
-{(unsigned char*)"Lambda", {206, 155, 0}},
-{(unsigned char*)"Lang", {226, 159, 170, 0}},
-{(unsigned char*)"Laplacetrf", {226, 132, 146, 0}},
-{(unsigned char*)"Larr", {226, 134, 158, 0}},
-{(unsigned char*)"Lcaron", {196, 189, 0}},
-{(unsigned char*)"Lcedil", {196, 187, 0}},
-{(unsigned char*)"Lcy", {208, 155, 0}},
-{(unsigned char*)"LeftAngleBracket", {226, 159, 168, 0}},
-{(unsigned char*)"LeftArrow", {226, 134, 144, 0}},
-{(unsigned char*)"LeftArrowBar", {226, 135, 164, 0}},
-{(unsigned char*)"LeftArrowRightArrow", {226, 135, 134, 0}},
-{(unsigned char*)"LeftCeiling", {226, 140, 136, 0}},
-{(unsigned char*)"LeftDoubleBracket", {226, 159, 166, 0}},
-{(unsigned char*)"LeftDownTeeVector", {226, 165, 161, 0}},
-{(unsigned char*)"LeftDownVector", {226, 135, 131, 0}},
-{(unsigned char*)"LeftDownVectorBar", {226, 165, 153, 0}},
-{(unsigned char*)"LeftFloor", {226, 140, 138, 0}},
-{(unsigned char*)"LeftRightArrow", {226, 134, 148, 0}},
-{(unsigned char*)"LeftRightVector", {226, 165, 142, 0}},
-{(unsigned char*)"LeftTee", {226, 138, 163, 0}},
-{(unsigned char*)"LeftTeeArrow", {226, 134, 164, 0}},
-{(unsigned char*)"LeftTeeVector", {226, 165, 154, 0}},
-{(unsigned char*)"LeftTriangle", {226, 138, 178, 0}},
-{(unsigned char*)"LeftTriangleBar", {226, 167, 143, 0}},
-{(unsigned char*)"LeftTriangleEqual", {226, 138, 180, 0}},
-{(unsigned char*)"LeftUpDownVector", {226, 165, 145, 0}},
-{(unsigned char*)"LeftUpTeeVector", {226, 165, 160, 0}},
-{(unsigned char*)"LeftUpVector", {226, 134, 191, 0}},
-{(unsigned char*)"LeftUpVectorBar", {226, 165, 152, 0}},
-{(unsigned char*)"LeftVector", {226, 134, 188, 0}},
-{(unsigned char*)"LeftVectorBar", {226, 165, 146, 0}},
-{(unsigned char*)"Leftarrow", {226, 135, 144, 0}},
-{(unsigned char*)"Leftrightarrow", {226, 135, 148, 0}},
-{(unsigned char*)"LessEqualGreater", {226, 139, 154, 0}},
-{(unsigned char*)"LessFullEqual", {226, 137, 166, 0}},
-{(unsigned char*)"LessGreater", {226, 137, 182, 0}},
-{(unsigned char*)"LessLess", {226, 170, 161, 0}},
-{(unsigned char*)"LessSlantEqual", {226, 169, 189, 0}},
-{(unsigned char*)"LessTilde", {226, 137, 178, 0}},
-{(unsigned char*)"Lfr", {240, 157, 148, 143, 0}},
-{(unsigned char*)"Ll", {226, 139, 152, 0}},
-{(unsigned char*)"Lleftarrow", {226, 135, 154, 0}},
-{(unsigned char*)"Lmidot", {196, 191, 0}},
-{(unsigned char*)"LongLeftArrow", {226, 159, 181, 0}},
-{(unsigned char*)"LongLeftRightArrow", {226, 159, 183, 0}},
-{(unsigned char*)"LongRightArrow", {226, 159, 182, 0}},
-{(unsigned char*)"Longleftarrow", {226, 159, 184, 0}},
-{(unsigned char*)"Longleftrightarrow", {226, 159, 186, 0}},
-{(unsigned char*)"Longrightarrow", {226, 159, 185, 0}},
-{(unsigned char*)"Lopf", {240, 157, 149, 131, 0}},
-{(unsigned char*)"LowerLeftArrow", {226, 134, 153, 0}},
-{(unsigned char*)"LowerRightArrow", {226, 134, 152, 0}},
-{(unsigned char*)"Lscr", {226, 132, 146, 0}},
-{(unsigned char*)"Lsh", {226, 134, 176, 0}},
-{(unsigned char*)"Lstrok", {197, 129, 0}},
-{(unsigned char*)"Lt", {226, 137, 170, 0}},
-{(unsigned char*)"Map", {226, 164, 133, 0}},
-{(unsigned char*)"Mcy", {208, 156, 0}},
-{(unsigned char*)"MediumSpace", {226, 129, 159, 0}},
-{(unsigned char*)"Mellintrf", {226, 132, 179, 0}},
-{(unsigned char*)"Mfr", {240, 157, 148, 144, 0}},
-{(unsigned char*)"MinusPlus", {226, 136, 147, 0}},
-{(unsigned char*)"Mopf", {240, 157, 149, 132, 0}},
-{(unsigned char*)"Mscr", {226, 132, 179, 0}},
-{(unsigned char*)"Mu", {206, 156, 0}},
-{(unsigned char*)"NJcy", {208, 138, 0}},
-{(unsigned char*)"Nacute", {197, 131, 0}},
-{(unsigned char*)"Ncaron", {197, 135, 0}},
-{(unsigned char*)"Ncedil", {197, 133, 0}},
-{(unsigned char*)"Ncy", {208, 157, 0}},
-{(unsigned char*)"NegativeMediumSpace", {226, 128, 139, 0}},
-{(unsigned char*)"NegativeThickSpace", {226, 128, 139, 0}},
-{(unsigned char*)"NegativeThinSpace", {226, 128, 139, 0}},
-{(unsigned char*)"NegativeVeryThinSpace", {226, 128, 139, 0}},
-{(unsigned char*)"NestedGreaterGreater", {226, 137, 171, 0}},
-{(unsigned char*)"NestedLessLess", {226, 137, 170, 0}},
-{(unsigned char*)"NewLine", {10, 0}},
-{(unsigned char*)"Nfr", {240, 157, 148, 145, 0}},
-{(unsigned char*)"NoBreak", {226, 129, 160, 0}},
-{(unsigned char*)"NonBreakingSpace", {194, 160, 0}},
-{(unsigned char*)"Nopf", {226, 132, 149, 0}},
-{(unsigned char*)"Not", {226, 171, 172, 0}},
-{(unsigned char*)"NotCongruent", {226, 137, 162, 0}},
-{(unsigned char*)"NotCupCap", {226, 137, 173, 0}},
-{(unsigned char*)"NotDoubleVerticalBar", {226, 136, 166, 0}},
-{(unsigned char*)"NotElement", {226, 136, 137, 0}},
-{(unsigned char*)"NotEqual", {226, 137, 160, 0}},
-{(unsigned char*)"NotEqualTilde", {226, 137, 130, 204, 184, 0}},
-{(unsigned char*)"NotExists", {226, 136, 132, 0}},
-{(unsigned char*)"NotGreater", {226, 137, 175, 0}},
-{(unsigned char*)"NotGreaterEqual", {226, 137, 177, 0}},
-{(unsigned char*)"NotGreaterFullEqual", {226, 137, 167, 204, 184, 0}},
-{(unsigned char*)"NotGreaterGreater", {226, 137, 171, 204, 184, 0}},
-{(unsigned char*)"NotGreaterLess", {226, 137, 185, 0}},
-{(unsigned char*)"NotGreaterSlantEqual", {226, 169, 190, 204, 184, 0}},
-{(unsigned char*)"NotGreaterTilde", {226, 137, 181, 0}},
-{(unsigned char*)"NotHumpDownHump", {226, 137, 142, 204, 184, 0}},
-{(unsigned char*)"NotHumpEqual", {226, 137, 143, 204, 184, 0}},
-{(unsigned char*)"NotLeftTriangle", {226, 139, 170, 0}},
-{(unsigned char*)"NotLeftTriangleBar", {226, 167, 143, 204, 184, 0}},
-{(unsigned char*)"NotLeftTriangleEqual", {226, 139, 172, 0}},
-{(unsigned char*)"NotLess", {226, 137, 174, 0}},
-{(unsigned char*)"NotLessEqual", {226, 137, 176, 0}},
-{(unsigned char*)"NotLessGreater", {226, 137, 184, 0}},
-{(unsigned char*)"NotLessLess", {226, 137, 170, 204, 184, 0}},
-{(unsigned char*)"NotLessSlantEqual", {226, 169, 189, 204, 184, 0}},
-{(unsigned char*)"NotLessTilde", {226, 137, 180, 0}},
-{(unsigned char*)"NotNestedGreaterGreater", {226, 170, 162, 204, 184, 0}},
-{(unsigned char*)"NotNestedLessLess", {226, 170, 161, 204, 184, 0}},
-{(unsigned char*)"NotPrecedes", {226, 138, 128, 0}},
-{(unsigned char*)"NotPrecedesEqual", {226, 170, 175, 204, 184, 0}},
-{(unsigned char*)"NotPrecedesSlantEqual", {226, 139, 160, 0}},
-{(unsigned char*)"NotReverseElement", {226, 136, 140, 0}},
-{(unsigned char*)"NotRightTriangle", {226, 139, 171, 0}},
-{(unsigned char*)"NotRightTriangleBar", {226, 167, 144, 204, 184, 0}},
-{(unsigned char*)"NotRightTriangleEqual", {226, 139, 173, 0}},
-{(unsigned char*)"NotSquareSubset", {226, 138, 143, 204, 184, 0}},
-{(unsigned char*)"NotSquareSubsetEqual", {226, 139, 162, 0}},
-{(unsigned char*)"NotSquareSuperset", {226, 138, 144, 204, 184, 0}},
-{(unsigned char*)"NotSquareSupersetEqual", {226, 139, 163, 0}},
-{(unsigned char*)"NotSubset", {226, 138, 130, 226, 131, 146, 0}},
-{(unsigned char*)"NotSubsetEqual", {226, 138, 136, 0}},
-{(unsigned char*)"NotSucceeds", {226, 138, 129, 0}},
-{(unsigned char*)"NotSucceedsEqual", {226, 170, 176, 204, 184, 0}},
-{(unsigned char*)"NotSucceedsSlantEqual", {226, 139, 161, 0}},
-{(unsigned char*)"NotSucceedsTilde", {226, 137, 191, 204, 184, 0}},
-{(unsigned char*)"NotSuperset", {226, 138, 131, 226, 131, 146, 0}},
-{(unsigned char*)"NotSupersetEqual", {226, 138, 137, 0}},
-{(unsigned char*)"NotTilde", {226, 137, 129, 0}},
-{(unsigned char*)"NotTildeEqual", {226, 137, 132, 0}},
-{(unsigned char*)"NotTildeFullEqual", {226, 137, 135, 0}},
-{(unsigned char*)"NotTildeTilde", {226, 137, 137, 0}},
-{(unsigned char*)"NotVerticalBar", {226, 136, 164, 0}},
-{(unsigned char*)"Nscr", {240, 157, 146, 169, 0}},
-{(unsigned char*)"Ntilde", {195, 145, 0}},
-{(unsigned char*)"Nu", {206, 157, 0}},
-{(unsigned char*)"OElig", {197, 146, 0}},
-{(unsigned char*)"Oacute", {195, 147, 0}},
-{(unsigned char*)"Ocirc", {195, 148, 0}},
-{(unsigned char*)"Ocy", {208, 158, 0}},
-{(unsigned char*)"Odblac", {197, 144, 0}},
-{(unsigned char*)"Ofr", {240, 157, 148, 146, 0}},
-{(unsigned char*)"Ograve", {195, 146, 0}},
-{(unsigned char*)"Omacr", {197, 140, 0}},
-{(unsigned char*)"Omega", {206, 169, 0}},
-{(unsigned char*)"Omicron", {206, 159, 0}},
-{(unsigned char*)"Oopf", {240, 157, 149, 134, 0}},
-{(unsigned char*)"OpenCurlyDoubleQuote", {226, 128, 156, 0}},
-{(unsigned char*)"OpenCurlyQuote", {226, 128, 152, 0}},
-{(unsigned char*)"Or", {226, 169, 148, 0}},
-{(unsigned char*)"Oscr", {240, 157, 146, 170, 0}},
-{(unsigned char*)"Oslash", {195, 152, 0}},
-{(unsigned char*)"Otilde", {195, 149, 0}},
-{(unsigned char*)"Otimes", {226, 168, 183, 0}},
-{(unsigned char*)"Ouml", {195, 150, 0}},
-{(unsigned char*)"OverBar", {226, 128, 190, 0}},
-{(unsigned char*)"OverBrace", {226, 143, 158, 0}},
-{(unsigned char*)"OverBracket", {226, 142, 180, 0}},
-{(unsigned char*)"OverParenthesis", {226, 143, 156, 0}},
-{(unsigned char*)"PartialD", {226, 136, 130, 0}},
-{(unsigned char*)"Pcy", {208, 159, 0}},
-{(unsigned char*)"Pfr", {240, 157, 148, 147, 0}},
-{(unsigned char*)"Phi", {206, 166, 0}},
-{(unsigned char*)"Pi", {206, 160, 0}},
-{(unsigned char*)"PlusMinus", {194, 177, 0}},
-{(unsigned char*)"Poincareplane", {226, 132, 140, 0}},
-{(unsigned char*)"Popf", {226, 132, 153, 0}},
-{(unsigned char*)"Pr", {226, 170, 187, 0}},
-{(unsigned char*)"Precedes", {226, 137, 186, 0}},
-{(unsigned char*)"PrecedesEqual", {226, 170, 175, 0}},
-{(unsigned char*)"PrecedesSlantEqual", {226, 137, 188, 0}},
-{(unsigned char*)"PrecedesTilde", {226, 137, 190, 0}},
-{(unsigned char*)"Prime", {226, 128, 179, 0}},
-{(unsigned char*)"Product", {226, 136, 143, 0}},
-{(unsigned char*)"Proportion", {226, 136, 183, 0}},
-{(unsigned char*)"Proportional", {226, 136, 157, 0}},
-{(unsigned char*)"Pscr", {240, 157, 146, 171, 0}},
-{(unsigned char*)"Psi", {206, 168, 0}},
-{(unsigned char*)"QUOT", {34, 0}},
-{(unsigned char*)"Qfr", {240, 157, 148, 148, 0}},
-{(unsigned char*)"Qopf", {226, 132, 154, 0}},
-{(unsigned char*)"Qscr", {240, 157, 146, 172, 0}},
-{(unsigned char*)"RBarr", {226, 164, 144, 0}},
-{(unsigned char*)"REG", {194, 174, 0}},
-{(unsigned char*)"Racute", {197, 148, 0}},
-{(unsigned char*)"Rang", {226, 159, 171, 0}},
-{(unsigned char*)"Rarr", {226, 134, 160, 0}},
-{(unsigned char*)"Rarrtl", {226, 164, 150, 0}},
-{(unsigned char*)"Rcaron", {197, 152, 0}},
-{(unsigned char*)"Rcedil", {197, 150, 0}},
-{(unsigned char*)"Rcy", {208, 160, 0}},
-{(unsigned char*)"Re", {226, 132, 156, 0}},
-{(unsigned char*)"ReverseElement", {226, 136, 139, 0}},
-{(unsigned char*)"ReverseEquilibrium", {226, 135, 139, 0}},
-{(unsigned char*)"ReverseUpEquilibrium", {226, 165, 175, 0}},
-{(unsigned char*)"Rfr", {226, 132, 156, 0}},
-{(unsigned char*)"Rho", {206, 161, 0}},
-{(unsigned char*)"RightAngleBracket", {226, 159, 169, 0}},
-{(unsigned char*)"RightArrow", {226, 134, 146, 0}},
-{(unsigned char*)"RightArrowBar", {226, 135, 165, 0}},
-{(unsigned char*)"RightArrowLeftArrow", {226, 135, 132, 0}},
-{(unsigned char*)"RightCeiling", {226, 140, 137, 0}},
-{(unsigned char*)"RightDoubleBracket", {226, 159, 167, 0}},
-{(unsigned char*)"RightDownTeeVector", {226, 165, 157, 0}},
-{(unsigned char*)"RightDownVector", {226, 135, 130, 0}},
-{(unsigned char*)"RightDownVectorBar", {226, 165, 149, 0}},
-{(unsigned char*)"RightFloor", {226, 140, 139, 0}},
-{(unsigned char*)"RightTee", {226, 138, 162, 0}},
-{(unsigned char*)"RightTeeArrow", {226, 134, 166, 0}},
-{(unsigned char*)"RightTeeVector", {226, 165, 155, 0}},
-{(unsigned char*)"RightTriangle", {226, 138, 179, 0}},
-{(unsigned char*)"RightTriangleBar", {226, 167, 144, 0}},
-{(unsigned char*)"RightTriangleEqual", {226, 138, 181, 0}},
-{(unsigned char*)"RightUpDownVector", {226, 165, 143, 0}},
-{(unsigned char*)"RightUpTeeVector", {226, 165, 156, 0}},
-{(unsigned char*)"RightUpVector", {226, 134, 190, 0}},
-{(unsigned char*)"RightUpVectorBar", {226, 165, 148, 0}},
-{(unsigned char*)"RightVector", {226, 135, 128, 0}},
-{(unsigned char*)"RightVectorBar", {226, 165, 147, 0}},
-{(unsigned char*)"Rightarrow", {226, 135, 146, 0}},
-{(unsigned char*)"Ropf", {226, 132, 157, 0}},
-{(unsigned char*)"RoundImplies", {226, 165, 176, 0}},
-{(unsigned char*)"Rrightarrow", {226, 135, 155, 0}},
-{(unsigned char*)"Rscr", {226, 132, 155, 0}},
-{(unsigned char*)"Rsh", {226, 134, 177, 0}},
-{(unsigned char*)"RuleDelayed", {226, 167, 180, 0}},
-{(unsigned char*)"SHCHcy", {208, 169, 0}},
-{(unsigned char*)"SHcy", {208, 168, 0}},
-{(unsigned char*)"SOFTcy", {208, 172, 0}},
-{(unsigned char*)"Sacute", {197, 154, 0}},
-{(unsigned char*)"Sc", {226, 170, 188, 0}},
-{(unsigned char*)"Scaron", {197, 160, 0}},
-{(unsigned char*)"Scedil", {197, 158, 0}},
-{(unsigned char*)"Scirc", {197, 156, 0}},
-{(unsigned char*)"Scy", {208, 161, 0}},
-{(unsigned char*)"Sfr", {240, 157, 148, 150, 0}},
-{(unsigned char*)"ShortDownArrow", {226, 134, 147, 0}},
-{(unsigned char*)"ShortLeftArrow", {226, 134, 144, 0}},
-{(unsigned char*)"ShortRightArrow", {226, 134, 146, 0}},
-{(unsigned char*)"ShortUpArrow", {226, 134, 145, 0}},
-{(unsigned char*)"Sigma", {206, 163, 0}},
-{(unsigned char*)"SmallCircle", {226, 136, 152, 0}},
-{(unsigned char*)"Sopf", {240, 157, 149, 138, 0}},
-{(unsigned char*)"Sqrt", {226, 136, 154, 0}},
-{(unsigned char*)"Square", {226, 150, 161, 0}},
-{(unsigned char*)"SquareIntersection", {226, 138, 147, 0}},
-{(unsigned char*)"SquareSubset", {226, 138, 143, 0}},
-{(unsigned char*)"SquareSubsetEqual", {226, 138, 145, 0}},
-{(unsigned char*)"SquareSuperset", {226, 138, 144, 0}},
-{(unsigned char*)"SquareSupersetEqual", {226, 138, 146, 0}},
-{(unsigned char*)"SquareUnion", {226, 138, 148, 0}},
-{(unsigned char*)"Sscr", {240, 157, 146, 174, 0}},
-{(unsigned char*)"Star", {226, 139, 134, 0}},
-{(unsigned char*)"Sub", {226, 139, 144, 0}},
-{(unsigned char*)"Subset", {226, 139, 144, 0}},
-{(unsigned char*)"SubsetEqual", {226, 138, 134, 0}},
-{(unsigned char*)"Succeeds", {226, 137, 187, 0}},
-{(unsigned char*)"SucceedsEqual", {226, 170, 176, 0}},
-{(unsigned char*)"SucceedsSlantEqual", {226, 137, 189, 0}},
-{(unsigned char*)"SucceedsTilde", {226, 137, 191, 0}},
-{(unsigned char*)"SuchThat", {226, 136, 139, 0}},
-{(unsigned char*)"Sum", {226, 136, 145, 0}},
-{(unsigned char*)"Sup", {226, 139, 145, 0}},
-{(unsigned char*)"Superset", {226, 138, 131, 0}},
-{(unsigned char*)"SupersetEqual", {226, 138, 135, 0}},
-{(unsigned char*)"Supset", {226, 139, 145, 0}},
-{(unsigned char*)"THORN", {195, 158, 0}},
-{(unsigned char*)"TRADE", {226, 132, 162, 0}},
-{(unsigned char*)"TSHcy", {208, 139, 0}},
-{(unsigned char*)"TScy", {208, 166, 0}},
-{(unsigned char*)"Tab", {9, 0}},
-{(unsigned char*)"Tau", {206, 164, 0}},
-{(unsigned char*)"Tcaron", {197, 164, 0}},
-{(unsigned char*)"Tcedil", {197, 162, 0}},
-{(unsigned char*)"Tcy", {208, 162, 0}},
-{(unsigned char*)"Tfr", {240, 157, 148, 151, 0}},
-{(unsigned char*)"Therefore", {226, 136, 180, 0}},
-{(unsigned char*)"Theta", {206, 152, 0}},
-{(unsigned char*)"ThickSpace", {226, 129, 159, 226, 128, 138, 0}},
-{(unsigned char*)"ThinSpace", {226, 128, 137, 0}},
-{(unsigned char*)"Tilde", {226, 136, 188, 0}},
-{(unsigned char*)"TildeEqual", {226, 137, 131, 0}},
-{(unsigned char*)"TildeFullEqual", {226, 137, 133, 0}},
-{(unsigned char*)"TildeTilde", {226, 137, 136, 0}},
-{(unsigned char*)"Topf", {240, 157, 149, 139, 0}},
-{(unsigned char*)"TripleDot", {226, 131, 155, 0}},
-{(unsigned char*)"Tscr", {240, 157, 146, 175, 0}},
-{(unsigned char*)"Tstrok", {197, 166, 0}},
-{(unsigned char*)"Uacute", {195, 154, 0}},
-{(unsigned char*)"Uarr", {226, 134, 159, 0}},
-{(unsigned char*)"Uarrocir", {226, 165, 137, 0}},
-{(unsigned char*)"Ubrcy", {208, 142, 0}},
-{(unsigned char*)"Ubreve", {197, 172, 0}},
-{(unsigned char*)"Ucirc", {195, 155, 0}},
-{(unsigned char*)"Ucy", {208, 163, 0}},
-{(unsigned char*)"Udblac", {197, 176, 0}},
-{(unsigned char*)"Ufr", {240, 157, 148, 152, 0}},
-{(unsigned char*)"Ugrave", {195, 153, 0}},
-{(unsigned char*)"Umacr", {197, 170, 0}},
-{(unsigned char*)"UnderBar", {95, 0}},
-{(unsigned char*)"UnderBrace", {226, 143, 159, 0}},
-{(unsigned char*)"UnderBracket", {226, 142, 181, 0}},
-{(unsigned char*)"UnderParenthesis", {226, 143, 157, 0}},
-{(unsigned char*)"Union", {226, 139, 131, 0}},
-{(unsigned char*)"UnionPlus", {226, 138, 142, 0}},
-{(unsigned char*)"Uogon", {197, 178, 0}},
-{(unsigned char*)"Uopf", {240, 157, 149, 140, 0}},
-{(unsigned char*)"UpArrow", {226, 134, 145, 0}},
-{(unsigned char*)"UpArrowBar", {226, 164, 146, 0}},
-{(unsigned char*)"UpArrowDownArrow", {226, 135, 133, 0}},
-{(unsigned char*)"UpDownArrow", {226, 134, 149, 0}},
-{(unsigned char*)"UpEquilibrium", {226, 165, 174, 0}},
-{(unsigned char*)"UpTee", {226, 138, 165, 0}},
-{(unsigned char*)"UpTeeArrow", {226, 134, 165, 0}},
-{(unsigned char*)"Uparrow", {226, 135, 145, 0}},
-{(unsigned char*)"Updownarrow", {226, 135, 149, 0}},
-{(unsigned char*)"UpperLeftArrow", {226, 134, 150, 0}},
-{(unsigned char*)"UpperRightArrow", {226, 134, 151, 0}},
-{(unsigned char*)"Upsi", {207, 146, 0}},
-{(unsigned char*)"Upsilon", {206, 165, 0}},
-{(unsigned char*)"Uring", {197, 174, 0}},
-{(unsigned char*)"Uscr", {240, 157, 146, 176, 0}},
-{(unsigned char*)"Utilde", {197, 168, 0}},
-{(unsigned char*)"Uuml", {195, 156, 0}},
-{(unsigned char*)"VDash", {226, 138, 171, 0}},
-{(unsigned char*)"Vbar", {226, 171, 171, 0}},
-{(unsigned char*)"Vcy", {208, 146, 0}},
-{(unsigned char*)"Vdash", {226, 138, 169, 0}},
-{(unsigned char*)"Vdashl", {226, 171, 166, 0}},
-{(unsigned char*)"Vee", {226, 139, 129, 0}},
-{(unsigned char*)"Verbar", {226, 128, 150, 0}},
-{(unsigned char*)"Vert", {226, 128, 150, 0}},
-{(unsigned char*)"VerticalBar", {226, 136, 163, 0}},
-{(unsigned char*)"VerticalLine", {124, 0}},
-{(unsigned char*)"VerticalSeparator", {226, 157, 152, 0}},
-{(unsigned char*)"VerticalTilde", {226, 137, 128, 0}},
-{(unsigned char*)"VeryThinSpace", {226, 128, 138, 0}},
-{(unsigned char*)"Vfr", {240, 157, 148, 153, 0}},
-{(unsigned char*)"Vopf", {240, 157, 149, 141, 0}},
-{(unsigned char*)"Vscr", {240, 157, 146, 177, 0}},
-{(unsigned char*)"Vvdash", {226, 138, 170, 0}},
-{(unsigned char*)"Wcirc", {197, 180, 0}},
-{(unsigned char*)"Wedge", {226, 139, 128, 0}},
-{(unsigned char*)"Wfr", {240, 157, 148, 154, 0}},
-{(unsigned char*)"Wopf", {240, 157, 149, 142, 0}},
-{(unsigned char*)"Wscr", {240, 157, 146, 178, 0}},
-{(unsigned char*)"Xfr", {240, 157, 148, 155, 0}},
-{(unsigned char*)"Xi", {206, 158, 0}},
-{(unsigned char*)"Xopf", {240, 157, 149, 143, 0}},
-{(unsigned char*)"Xscr", {240, 157, 146, 179, 0}},
-{(unsigned char*)"YAcy", {208, 175, 0}},
-{(unsigned char*)"YIcy", {208, 135, 0}},
-{(unsigned char*)"YUcy", {208, 174, 0}},
-{(unsigned char*)"Yacute", {195, 157, 0}},
-{(unsigned char*)"Ycirc", {197, 182, 0}},
-{(unsigned char*)"Ycy", {208, 171, 0}},
-{(unsigned char*)"Yfr", {240, 157, 148, 156, 0}},
-{(unsigned char*)"Yopf", {240, 157, 149, 144, 0}},
-{(unsigned char*)"Yscr", {240, 157, 146, 180, 0}},
-{(unsigned char*)"Yuml", {197, 184, 0}},
-{(unsigned char*)"ZHcy", {208, 150, 0}},
-{(unsigned char*)"Zacute", {197, 185, 0}},
-{(unsigned char*)"Zcaron", {197, 189, 0}},
-{(unsigned char*)"Zcy", {208, 151, 0}},
-{(unsigned char*)"Zdot", {197, 187, 0}},
-{(unsigned char*)"ZeroWidthSpace", {226, 128, 139, 0}},
-{(unsigned char*)"Zeta", {206, 150, 0}},
-{(unsigned char*)"Zfr", {226, 132, 168, 0}},
-{(unsigned char*)"Zopf", {226, 132, 164, 0}},
-{(unsigned char*)"Zscr", {240, 157, 146, 181, 0}},
-{(unsigned char*)"aacute", {195, 161, 0}},
-{(unsigned char*)"abreve", {196, 131, 0}},
-{(unsigned char*)"ac", {226, 136, 190, 0}},
-{(unsigned char*)"acE", {226, 136, 190, 204, 179, 0}},
-{(unsigned char*)"acd", {226, 136, 191, 0}},
-{(unsigned char*)"acirc", {195, 162, 0}},
-{(unsigned char*)"acute", {194, 180, 0}},
-{(unsigned char*)"acy", {208, 176, 0}},
-{(unsigned char*)"aelig", {195, 166, 0}},
-{(unsigned char*)"af", {226, 129, 161, 0}},
-{(unsigned char*)"afr", {240, 157, 148, 158, 0}},
-{(unsigned char*)"agrave", {195, 160, 0}},
-{(unsigned char*)"alefsym", {226, 132, 181, 0}},
-{(unsigned char*)"aleph", {226, 132, 181, 0}},
-{(unsigned char*)"alpha", {206, 177, 0}},
-{(unsigned char*)"amacr", {196, 129, 0}},
-{(unsigned char*)"amalg", {226, 168, 191, 0}},
-{(unsigned char*)"amp", {38, 0}},
-{(unsigned char*)"and", {226, 136, 167, 0}},
-{(unsigned char*)"andand", {226, 169, 149, 0}},
-{(unsigned char*)"andd", {226, 169, 156, 0}},
-{(unsigned char*)"andslope", {226, 169, 152, 0}},
-{(unsigned char*)"andv", {226, 169, 154, 0}},
-{(unsigned char*)"ang", {226, 136, 160, 0}},
-{(unsigned char*)"ange", {226, 166, 164, 0}},
-{(unsigned char*)"angle", {226, 136, 160, 0}},
-{(unsigned char*)"angmsd", {226, 136, 161, 0}},
-{(unsigned char*)"angmsdaa", {226, 166, 168, 0}},
-{(unsigned char*)"angmsdab", {226, 166, 169, 0}},
-{(unsigned char*)"angmsdac", {226, 166, 170, 0}},
-{(unsigned char*)"angmsdad", {226, 166, 171, 0}},
-{(unsigned char*)"angmsdae", {226, 166, 172, 0}},
-{(unsigned char*)"angmsdaf", {226, 166, 173, 0}},
-{(unsigned char*)"angmsdag", {226, 166, 174, 0}},
-{(unsigned char*)"angmsdah", {226, 166, 175, 0}},
-{(unsigned char*)"angrt", {226, 136, 159, 0}},
-{(unsigned char*)"angrtvb", {226, 138, 190, 0}},
-{(unsigned char*)"angrtvbd", {226, 166, 157, 0}},
-{(unsigned char*)"angsph", {226, 136, 162, 0}},
-{(unsigned char*)"angst", {195, 133, 0}},
-{(unsigned char*)"angzarr", {226, 141, 188, 0}},
-{(unsigned char*)"aogon", {196, 133, 0}},
-{(unsigned char*)"aopf", {240, 157, 149, 146, 0}},
-{(unsigned char*)"ap", {226, 137, 136, 0}},
-{(unsigned char*)"apE", {226, 169, 176, 0}},
-{(unsigned char*)"apacir", {226, 169, 175, 0}},
-{(unsigned char*)"ape", {226, 137, 138, 0}},
-{(unsigned char*)"apid", {226, 137, 139, 0}},
-{(unsigned char*)"apos", {39, 0}},
-{(unsigned char*)"approx", {226, 137, 136, 0}},
-{(unsigned char*)"approxeq", {226, 137, 138, 0}},
-{(unsigned char*)"aring", {195, 165, 0}},
-{(unsigned char*)"ascr", {240, 157, 146, 182, 0}},
-{(unsigned char*)"ast", {42, 0}},
-{(unsigned char*)"asymp", {226, 137, 136, 0}},
-{(unsigned char*)"asympeq", {226, 137, 141, 0}},
-{(unsigned char*)"atilde", {195, 163, 0}},
-{(unsigned char*)"auml", {195, 164, 0}},
-{(unsigned char*)"awconint", {226, 136, 179, 0}},
-{(unsigned char*)"awint", {226, 168, 145, 0}},
-{(unsigned char*)"bNot", {226, 171, 173, 0}},
-{(unsigned char*)"backcong", {226, 137, 140, 0}},
-{(unsigned char*)"backepsilon", {207, 182, 0}},
-{(unsigned char*)"backprime", {226, 128, 181, 0}},
-{(unsigned char*)"backsim", {226, 136, 189, 0}},
-{(unsigned char*)"backsimeq", {226, 139, 141, 0}},
-{(unsigned char*)"barvee", {226, 138, 189, 0}},
-{(unsigned char*)"barwed", {226, 140, 133, 0}},
-{(unsigned char*)"barwedge", {226, 140, 133, 0}},
-{(unsigned char*)"bbrk", {226, 142, 181, 0}},
-{(unsigned char*)"bbrktbrk", {226, 142, 182, 0}},
-{(unsigned char*)"bcong", {226, 137, 140, 0}},
-{(unsigned char*)"bcy", {208, 177, 0}},
-{(unsigned char*)"bdquo", {226, 128, 158, 0}},
-{(unsigned char*)"becaus", {226, 136, 181, 0}},
-{(unsigned char*)"because", {226, 136, 181, 0}},
-{(unsigned char*)"bemptyv", {226, 166, 176, 0}},
-{(unsigned char*)"bepsi", {207, 182, 0}},
-{(unsigned char*)"bernou", {226, 132, 172, 0}},
-{(unsigned char*)"beta", {206, 178, 0}},
-{(unsigned char*)"beth", {226, 132, 182, 0}},
-{(unsigned char*)"between", {226, 137, 172, 0}},
-{(unsigned char*)"bfr", {240, 157, 148, 159, 0}},
-{(unsigned char*)"bigcap", {226, 139, 130, 0}},
-{(unsigned char*)"bigcirc", {226, 151, 175, 0}},
-{(unsigned char*)"bigcup", {226, 139, 131, 0}},
-{(unsigned char*)"bigodot", {226, 168, 128, 0}},
-{(unsigned char*)"bigoplus", {226, 168, 129, 0}},
-{(unsigned char*)"bigotimes", {226, 168, 130, 0}},
-{(unsigned char*)"bigsqcup", {226, 168, 134, 0}},
-{(unsigned char*)"bigstar", {226, 152, 133, 0}},
-{(unsigned char*)"bigtriangledown", {226, 150, 189, 0}},
-{(unsigned char*)"bigtriangleup", {226, 150, 179, 0}},
-{(unsigned char*)"biguplus", {226, 168, 132, 0}},
-{(unsigned char*)"bigvee", {226, 139, 129, 0}},
-{(unsigned char*)"bigwedge", {226, 139, 128, 0}},
-{(unsigned char*)"bkarow", {226, 164, 141, 0}},
-{(unsigned char*)"blacklozenge", {226, 167, 171, 0}},
-{(unsigned char*)"blacksquare", {226, 150, 170, 0}},
-{(unsigned char*)"blacktriangle", {226, 150, 180, 0}},
-{(unsigned char*)"blacktriangledown", {226, 150, 190, 0}},
-{(unsigned char*)"blacktriangleleft", {226, 151, 130, 0}},
-{(unsigned char*)"blacktriangleright", {226, 150, 184, 0}},
-{(unsigned char*)"blank", {226, 144, 163, 0}},
-{(unsigned char*)"blk12", {226, 150, 146, 0}},
-{(unsigned char*)"blk14", {226, 150, 145, 0}},
-{(unsigned char*)"blk34", {226, 150, 147, 0}},
-{(unsigned char*)"block", {226, 150, 136, 0}},
-{(unsigned char*)"bne", {61, 226, 131, 165, 0}},
-{(unsigned char*)"bnequiv", {226, 137, 161, 226, 131, 165, 0}},
-{(unsigned char*)"bnot", {226, 140, 144, 0}},
-{(unsigned char*)"bopf", {240, 157, 149, 147, 0}},
-{(unsigned char*)"bot", {226, 138, 165, 0}},
-{(unsigned char*)"bottom", {226, 138, 165, 0}},
-{(unsigned char*)"bowtie", {226, 139, 136, 0}},
-{(unsigned char*)"boxDL", {226, 149, 151, 0}},
-{(unsigned char*)"boxDR", {226, 149, 148, 0}},
-{(unsigned char*)"boxDl", {226, 149, 150, 0}},
-{(unsigned char*)"boxDr", {226, 149, 147, 0}},
-{(unsigned char*)"boxH", {226, 149, 144, 0}},
-{(unsigned char*)"boxHD", {226, 149, 166, 0}},
-{(unsigned char*)"boxHU", {226, 149, 169, 0}},
-{(unsigned char*)"boxHd", {226, 149, 164, 0}},
-{(unsigned char*)"boxHu", {226, 149, 167, 0}},
-{(unsigned char*)"boxUL", {226, 149, 157, 0}},
-{(unsigned char*)"boxUR", {226, 149, 154, 0}},
-{(unsigned char*)"boxUl", {226, 149, 156, 0}},
-{(unsigned char*)"boxUr", {226, 149, 153, 0}},
-{(unsigned char*)"boxV", {226, 149, 145, 0}},
-{(unsigned char*)"boxVH", {226, 149, 172, 0}},
-{(unsigned char*)"boxVL", {226, 149, 163, 0}},
-{(unsigned char*)"boxVR", {226, 149, 160, 0}},
-{(unsigned char*)"boxVh", {226, 149, 171, 0}},
-{(unsigned char*)"boxVl", {226, 149, 162, 0}},
-{(unsigned char*)"boxVr", {226, 149, 159, 0}},
-{(unsigned char*)"boxbox", {226, 167, 137, 0}},
-{(unsigned char*)"boxdL", {226, 149, 149, 0}},
-{(unsigned char*)"boxdR", {226, 149, 146, 0}},
-{(unsigned char*)"boxdl", {226, 148, 144, 0}},
-{(unsigned char*)"boxdr", {226, 148, 140, 0}},
-{(unsigned char*)"boxh", {226, 148, 128, 0}},
-{(unsigned char*)"boxhD", {226, 149, 165, 0}},
-{(unsigned char*)"boxhU", {226, 149, 168, 0}},
-{(unsigned char*)"boxhd", {226, 148, 172, 0}},
-{(unsigned char*)"boxhu", {226, 148, 180, 0}},
-{(unsigned char*)"boxminus", {226, 138, 159, 0}},
-{(unsigned char*)"boxplus", {226, 138, 158, 0}},
-{(unsigned char*)"boxtimes", {226, 138, 160, 0}},
-{(unsigned char*)"boxuL", {226, 149, 155, 0}},
-{(unsigned char*)"boxuR", {226, 149, 152, 0}},
-{(unsigned char*)"boxul", {226, 148, 152, 0}},
-{(unsigned char*)"boxur", {226, 148, 148, 0}},
-{(unsigned char*)"boxv", {226, 148, 130, 0}},
-{(unsigned char*)"boxvH", {226, 149, 170, 0}},
-{(unsigned char*)"boxvL", {226, 149, 161, 0}},
-{(unsigned char*)"boxvR", {226, 149, 158, 0}},
-{(unsigned char*)"boxvh", {226, 148, 188, 0}},
-{(unsigned char*)"boxvl", {226, 148, 164, 0}},
-{(unsigned char*)"boxvr", {226, 148, 156, 0}},
-{(unsigned char*)"bprime", {226, 128, 181, 0}},
-{(unsigned char*)"breve", {203, 152, 0}},
-{(unsigned char*)"brvbar", {194, 166, 0}},
-{(unsigned char*)"bscr", {240, 157, 146, 183, 0}},
-{(unsigned char*)"bsemi", {226, 129, 143, 0}},
-{(unsigned char*)"bsim", {226, 136, 189, 0}},
-{(unsigned char*)"bsime", {226, 139, 141, 0}},
-{(unsigned char*)"bsol", {92, 0}},
-{(unsigned char*)"bsolb", {226, 167, 133, 0}},
-{(unsigned char*)"bsolhsub", {226, 159, 136, 0}},
-{(unsigned char*)"bull", {226, 128, 162, 0}},
-{(unsigned char*)"bullet", {226, 128, 162, 0}},
-{(unsigned char*)"bump", {226, 137, 142, 0}},
-{(unsigned char*)"bumpE", {226, 170, 174, 0}},
-{(unsigned char*)"bumpe", {226, 137, 143, 0}},
-{(unsigned char*)"bumpeq", {226, 137, 143, 0}},
-{(unsigned char*)"cacute", {196, 135, 0}},
-{(unsigned char*)"cap", {226, 136, 169, 0}},
-{(unsigned char*)"capand", {226, 169, 132, 0}},
-{(unsigned char*)"capbrcup", {226, 169, 137, 0}},
-{(unsigned char*)"capcap", {226, 169, 139, 0}},
-{(unsigned char*)"capcup", {226, 169, 135, 0}},
-{(unsigned char*)"capdot", {226, 169, 128, 0}},
-{(unsigned char*)"caps", {226, 136, 169, 239, 184, 128, 0}},
-{(unsigned char*)"caret", {226, 129, 129, 0}},
-{(unsigned char*)"caron", {203, 135, 0}},
-{(unsigned char*)"ccaps", {226, 169, 141, 0}},
-{(unsigned char*)"ccaron", {196, 141, 0}},
-{(unsigned char*)"ccedil", {195, 167, 0}},
-{(unsigned char*)"ccirc", {196, 137, 0}},
-{(unsigned char*)"ccups", {226, 169, 140, 0}},
-{(unsigned char*)"ccupssm", {226, 169, 144, 0}},
-{(unsigned char*)"cdot", {196, 139, 0}},
-{(unsigned char*)"cedil", {194, 184, 0}},
-{(unsigned char*)"cemptyv", {226, 166, 178, 0}},
-{(unsigned char*)"cent", {194, 162, 0}},
-{(unsigned char*)"centerdot", {194, 183, 0}},
-{(unsigned char*)"cfr", {240, 157, 148, 160, 0}},
-{(unsigned char*)"chcy", {209, 135, 0}},
-{(unsigned char*)"check", {226, 156, 147, 0}},
-{(unsigned char*)"checkmark", {226, 156, 147, 0}},
-{(unsigned char*)"chi", {207, 135, 0}},
-{(unsigned char*)"cir", {226, 151, 139, 0}},
-{(unsigned char*)"cirE", {226, 167, 131, 0}},
-{(unsigned char*)"circ", {203, 134, 0}},
-{(unsigned char*)"circeq", {226, 137, 151, 0}},
-{(unsigned char*)"circlearrowleft", {226, 134, 186, 0}},
-{(unsigned char*)"circlearrowright", {226, 134, 187, 0}},
-{(unsigned char*)"circledR", {194, 174, 0}},
-{(unsigned char*)"circledS", {226, 147, 136, 0}},
-{(unsigned char*)"circledast", {226, 138, 155, 0}},
-{(unsigned char*)"circledcirc", {226, 138, 154, 0}},
-{(unsigned char*)"circleddash", {226, 138, 157, 0}},
-{(unsigned char*)"cire", {226, 137, 151, 0}},
-{(unsigned char*)"cirfnint", {226, 168, 144, 0}},
-{(unsigned char*)"cirmid", {226, 171, 175, 0}},
-{(unsigned char*)"cirscir", {226, 167, 130, 0}},
-{(unsigned char*)"clubs", {226, 153, 163, 0}},
-{(unsigned char*)"clubsuit", {226, 153, 163, 0}},
-{(unsigned char*)"colon", {58, 0}},
-{(unsigned char*)"colone", {226, 137, 148, 0}},
-{(unsigned char*)"coloneq", {226, 137, 148, 0}},
-{(unsigned char*)"comma", {44, 0}},
-{(unsigned char*)"commat", {64, 0}},
-{(unsigned char*)"comp", {226, 136, 129, 0}},
-{(unsigned char*)"compfn", {226, 136, 152, 0}},
-{(unsigned char*)"complement", {226, 136, 129, 0}},
-{(unsigned char*)"complexes", {226, 132, 130, 0}},
-{(unsigned char*)"cong", {226, 137, 133, 0}},
-{(unsigned char*)"congdot", {226, 169, 173, 0}},
-{(unsigned char*)"conint", {226, 136, 174, 0}},
-{(unsigned char*)"copf", {240, 157, 149, 148, 0}},
-{(unsigned char*)"coprod", {226, 136, 144, 0}},
-{(unsigned char*)"copy", {194, 169, 0}},
-{(unsigned char*)"copysr", {226, 132, 151, 0}},
-{(unsigned char*)"crarr", {226, 134, 181, 0}},
-{(unsigned char*)"cross", {226, 156, 151, 0}},
-{(unsigned char*)"cscr", {240, 157, 146, 184, 0}},
-{(unsigned char*)"csub", {226, 171, 143, 0}},
-{(unsigned char*)"csube", {226, 171, 145, 0}},
-{(unsigned char*)"csup", {226, 171, 144, 0}},
-{(unsigned char*)"csupe", {226, 171, 146, 0}},
-{(unsigned char*)"ctdot", {226, 139, 175, 0}},
-{(unsigned char*)"cudarrl", {226, 164, 184, 0}},
-{(unsigned char*)"cudarrr", {226, 164, 181, 0}},
-{(unsigned char*)"cuepr", {226, 139, 158, 0}},
-{(unsigned char*)"cuesc", {226, 139, 159, 0}},
-{(unsigned char*)"cularr", {226, 134, 182, 0}},
-{(unsigned char*)"cularrp", {226, 164, 189, 0}},
-{(unsigned char*)"cup", {226, 136, 170, 0}},
-{(unsigned char*)"cupbrcap", {226, 169, 136, 0}},
-{(unsigned char*)"cupcap", {226, 169, 134, 0}},
-{(unsigned char*)"cupcup", {226, 169, 138, 0}},
-{(unsigned char*)"cupdot", {226, 138, 141, 0}},
-{(unsigned char*)"cupor", {226, 169, 133, 0}},
-{(unsigned char*)"cups", {226, 136, 170, 239, 184, 128, 0}},
-{(unsigned char*)"curarr", {226, 134, 183, 0}},
-{(unsigned char*)"curarrm", {226, 164, 188, 0}},
-{(unsigned char*)"curlyeqprec", {226, 139, 158, 0}},
-{(unsigned char*)"curlyeqsucc", {226, 139, 159, 0}},
-{(unsigned char*)"curlyvee", {226, 139, 142, 0}},
-{(unsigned char*)"curlywedge", {226, 139, 143, 0}},
-{(unsigned char*)"curren", {194, 164, 0}},
-{(unsigned char*)"curvearrowleft", {226, 134, 182, 0}},
-{(unsigned char*)"curvearrowright", {226, 134, 183, 0}},
-{(unsigned char*)"cuvee", {226, 139, 142, 0}},
-{(unsigned char*)"cuwed", {226, 139, 143, 0}},
-{(unsigned char*)"cwconint", {226, 136, 178, 0}},
-{(unsigned char*)"cwint", {226, 136, 177, 0}},
-{(unsigned char*)"cylcty", {226, 140, 173, 0}},
-{(unsigned char*)"dArr", {226, 135, 147, 0}},
-{(unsigned char*)"dHar", {226, 165, 165, 0}},
-{(unsigned char*)"dagger", {226, 128, 160, 0}},
-{(unsigned char*)"daleth", {226, 132, 184, 0}},
-{(unsigned char*)"darr", {226, 134, 147, 0}},
-{(unsigned char*)"dash", {226, 128, 144, 0}},
-{(unsigned char*)"dashv", {226, 138, 163, 0}},
-{(unsigned char*)"dbkarow", {226, 164, 143, 0}},
-{(unsigned char*)"dblac", {203, 157, 0}},
-{(unsigned char*)"dcaron", {196, 143, 0}},
-{(unsigned char*)"dcy", {208, 180, 0}},
-{(unsigned char*)"dd", {226, 133, 134, 0}},
-{(unsigned char*)"ddagger", {226, 128, 161, 0}},
-{(unsigned char*)"ddarr", {226, 135, 138, 0}},
-{(unsigned char*)"ddotseq", {226, 169, 183, 0}},
-{(unsigned char*)"deg", {194, 176, 0}},
-{(unsigned char*)"delta", {206, 180, 0}},
-{(unsigned char*)"demptyv", {226, 166, 177, 0}},
-{(unsigned char*)"dfisht", {226, 165, 191, 0}},
-{(unsigned char*)"dfr", {240, 157, 148, 161, 0}},
-{(unsigned char*)"dharl", {226, 135, 131, 0}},
-{(unsigned char*)"dharr", {226, 135, 130, 0}},
-{(unsigned char*)"diam", {226, 139, 132, 0}},
-{(unsigned char*)"diamond", {226, 139, 132, 0}},
-{(unsigned char*)"diamondsuit", {226, 153, 166, 0}},
-{(unsigned char*)"diams", {226, 153, 166, 0}},
-{(unsigned char*)"die", {194, 168, 0}},
-{(unsigned char*)"digamma", {207, 157, 0}},
-{(unsigned char*)"disin", {226, 139, 178, 0}},
-{(unsigned char*)"div", {195, 183, 0}},
-{(unsigned char*)"divide", {195, 183, 0}},
-{(unsigned char*)"divideontimes", {226, 139, 135, 0}},
-{(unsigned char*)"divonx", {226, 139, 135, 0}},
-{(unsigned char*)"djcy", {209, 146, 0}},
-{(unsigned char*)"dlcorn", {226, 140, 158, 0}},
-{(unsigned char*)"dlcrop", {226, 140, 141, 0}},
-{(unsigned char*)"dollar", {36, 0}},
-{(unsigned char*)"dopf", {240, 157, 149, 149, 0}},
-{(unsigned char*)"dot", {203, 153, 0}},
-{(unsigned char*)"doteq", {226, 137, 144, 0}},
-{(unsigned char*)"doteqdot", {226, 137, 145, 0}},
-{(unsigned char*)"dotminus", {226, 136, 184, 0}},
-{(unsigned char*)"dotplus", {226, 136, 148, 0}},
-{(unsigned char*)"dotsquare", {226, 138, 161, 0}},
-{(unsigned char*)"doublebarwedge", {226, 140, 134, 0}},
-{(unsigned char*)"downarrow", {226, 134, 147, 0}},
-{(unsigned char*)"downdownarrows", {226, 135, 138, 0}},
-{(unsigned char*)"downharpoonleft", {226, 135, 131, 0}},
-{(unsigned char*)"downharpoonright", {226, 135, 130, 0}},
-{(unsigned char*)"drbkarow", {226, 164, 144, 0}},
-{(unsigned char*)"drcorn", {226, 140, 159, 0}},
-{(unsigned char*)"drcrop", {226, 140, 140, 0}},
-{(unsigned char*)"dscr", {240, 157, 146, 185, 0}},
-{(unsigned char*)"dscy", {209, 149, 0}},
-{(unsigned char*)"dsol", {226, 167, 182, 0}},
-{(unsigned char*)"dstrok", {196, 145, 0}},
-{(unsigned char*)"dtdot", {226, 139, 177, 0}},
-{(unsigned char*)"dtri", {226, 150, 191, 0}},
-{(unsigned char*)"dtrif", {226, 150, 190, 0}},
-{(unsigned char*)"duarr", {226, 135, 181, 0}},
-{(unsigned char*)"duhar", {226, 165, 175, 0}},
-{(unsigned char*)"dwangle", {226, 166, 166, 0}},
-{(unsigned char*)"dzcy", {209, 159, 0}},
-{(unsigned char*)"dzigrarr", {226, 159, 191, 0}},
-{(unsigned char*)"eDDot", {226, 169, 183, 0}},
-{(unsigned char*)"eDot", {226, 137, 145, 0}},
-{(unsigned char*)"eacute", {195, 169, 0}},
-{(unsigned char*)"easter", {226, 169, 174, 0}},
-{(unsigned char*)"ecaron", {196, 155, 0}},
-{(unsigned char*)"ecir", {226, 137, 150, 0}},
-{(unsigned char*)"ecirc", {195, 170, 0}},
-{(unsigned char*)"ecolon", {226, 137, 149, 0}},
-{(unsigned char*)"ecy", {209, 141, 0}},
-{(unsigned char*)"edot", {196, 151, 0}},
-{(unsigned char*)"ee", {226, 133, 135, 0}},
-{(unsigned char*)"efDot", {226, 137, 146, 0}},
-{(unsigned char*)"efr", {240, 157, 148, 162, 0}},
-{(unsigned char*)"eg", {226, 170, 154, 0}},
-{(unsigned char*)"egrave", {195, 168, 0}},
-{(unsigned char*)"egs", {226, 170, 150, 0}},
-{(unsigned char*)"egsdot", {226, 170, 152, 0}},
-{(unsigned char*)"el", {226, 170, 153, 0}},
-{(unsigned char*)"elinters", {226, 143, 167, 0}},
-{(unsigned char*)"ell", {226, 132, 147, 0}},
-{(unsigned char*)"els", {226, 170, 149, 0}},
-{(unsigned char*)"elsdot", {226, 170, 151, 0}},
-{(unsigned char*)"emacr", {196, 147, 0}},
-{(unsigned char*)"empty", {226, 136, 133, 0}},
-{(unsigned char*)"emptyset", {226, 136, 133, 0}},
-{(unsigned char*)"emptyv", {226, 136, 133, 0}},
-{(unsigned char*)"emsp", {226, 128, 131, 0}},
-{(unsigned char*)"emsp13", {226, 128, 132, 0}},
-{(unsigned char*)"emsp14", {226, 128, 133, 0}},
-{(unsigned char*)"eng", {197, 139, 0}},
-{(unsigned char*)"ensp", {226, 128, 130, 0}},
-{(unsigned char*)"eogon", {196, 153, 0}},
-{(unsigned char*)"eopf", {240, 157, 149, 150, 0}},
-{(unsigned char*)"epar", {226, 139, 149, 0}},
-{(unsigned char*)"eparsl", {226, 167, 163, 0}},
-{(unsigned char*)"eplus", {226, 169, 177, 0}},
-{(unsigned char*)"epsi", {206, 181, 0}},
-{(unsigned char*)"epsilon", {206, 181, 0}},
-{(unsigned char*)"epsiv", {207, 181, 0}},
-{(unsigned char*)"eqcirc", {226, 137, 150, 0}},
-{(unsigned char*)"eqcolon", {226, 137, 149, 0}},
-{(unsigned char*)"eqsim", {226, 137, 130, 0}},
-{(unsigned char*)"eqslantgtr", {226, 170, 150, 0}},
-{(unsigned char*)"eqslantless", {226, 170, 149, 0}},
-{(unsigned char*)"equals", {61, 0}},
-{(unsigned char*)"equest", {226, 137, 159, 0}},
-{(unsigned char*)"equiv", {226, 137, 161, 0}},
-{(unsigned char*)"equivDD", {226, 169, 184, 0}},
-{(unsigned char*)"eqvparsl", {226, 167, 165, 0}},
-{(unsigned char*)"erDot", {226, 137, 147, 0}},
-{(unsigned char*)"erarr", {226, 165, 177, 0}},
-{(unsigned char*)"escr", {226, 132, 175, 0}},
-{(unsigned char*)"esdot", {226, 137, 144, 0}},
-{(unsigned char*)"esim", {226, 137, 130, 0}},
-{(unsigned char*)"eta", {206, 183, 0}},
-{(unsigned char*)"eth", {195, 176, 0}},
-{(unsigned char*)"euml", {195, 171, 0}},
-{(unsigned char*)"euro", {226, 130, 172, 0}},
-{(unsigned char*)"excl", {33, 0}},
-{(unsigned char*)"exist", {226, 136, 131, 0}},
-{(unsigned char*)"expectation", {226, 132, 176, 0}},
-{(unsigned char*)"exponentiale", {226, 133, 135, 0}},
-{(unsigned char*)"fallingdotseq", {226, 137, 146, 0}},
-{(unsigned char*)"fcy", {209, 132, 0}},
-{(unsigned char*)"female", {226, 153, 128, 0}},
-{(unsigned char*)"ffilig", {239, 172, 131, 0}},
-{(unsigned char*)"fflig", {239, 172, 128, 0}},
-{(unsigned char*)"ffllig", {239, 172, 132, 0}},
-{(unsigned char*)"ffr", {240, 157, 148, 163, 0}},
-{(unsigned char*)"filig", {239, 172, 129, 0}},
-{(unsigned char*)"fjlig", {102, 106, 0}},
-{(unsigned char*)"flat", {226, 153, 173, 0}},
-{(unsigned char*)"fllig", {239, 172, 130, 0}},
-{(unsigned char*)"fltns", {226, 150, 177, 0}},
-{(unsigned char*)"fnof", {198, 146, 0}},
-{(unsigned char*)"fopf", {240, 157, 149, 151, 0}},
-{(unsigned char*)"forall", {226, 136, 128, 0}},
-{(unsigned char*)"fork", {226, 139, 148, 0}},
-{(unsigned char*)"forkv", {226, 171, 153, 0}},
-{(unsigned char*)"fpartint", {226, 168, 141, 0}},
-{(unsigned char*)"frac12", {194, 189, 0}},
-{(unsigned char*)"frac13", {226, 133, 147, 0}},
-{(unsigned char*)"frac14", {194, 188, 0}},
-{(unsigned char*)"frac15", {226, 133, 149, 0}},
-{(unsigned char*)"frac16", {226, 133, 153, 0}},
-{(unsigned char*)"frac18", {226, 133, 155, 0}},
-{(unsigned char*)"frac23", {226, 133, 148, 0}},
-{(unsigned char*)"frac25", {226, 133, 150, 0}},
-{(unsigned char*)"frac34", {194, 190, 0}},
-{(unsigned char*)"frac35", {226, 133, 151, 0}},
-{(unsigned char*)"frac38", {226, 133, 156, 0}},
-{(unsigned char*)"frac45", {226, 133, 152, 0}},
-{(unsigned char*)"frac56", {226, 133, 154, 0}},
-{(unsigned char*)"frac58", {226, 133, 157, 0}},
-{(unsigned char*)"frac78", {226, 133, 158, 0}},
-{(unsigned char*)"frasl", {226, 129, 132, 0}},
-{(unsigned char*)"frown", {226, 140, 162, 0}},
-{(unsigned char*)"fscr", {240, 157, 146, 187, 0}},
-{(unsigned char*)"gE", {226, 137, 167, 0}},
-{(unsigned char*)"gEl", {226, 170, 140, 0}},
-{(unsigned char*)"gacute", {199, 181, 0}},
-{(unsigned char*)"gamma", {206, 179, 0}},
-{(unsigned char*)"gammad", {207, 157, 0}},
-{(unsigned char*)"gap", {226, 170, 134, 0}},
-{(unsigned char*)"gbreve", {196, 159, 0}},
-{(unsigned char*)"gcirc", {196, 157, 0}},
-{(unsigned char*)"gcy", {208, 179, 0}},
-{(unsigned char*)"gdot", {196, 161, 0}},
-{(unsigned char*)"ge", {226, 137, 165, 0}},
-{(unsigned char*)"gel", {226, 139, 155, 0}},
-{(unsigned char*)"geq", {226, 137, 165, 0}},
-{(unsigned char*)"geqq", {226, 137, 167, 0}},
-{(unsigned char*)"geqslant", {226, 169, 190, 0}},
-{(unsigned char*)"ges", {226, 169, 190, 0}},
-{(unsigned char*)"gescc", {226, 170, 169, 0}},
-{(unsigned char*)"gesdot", {226, 170, 128, 0}},
-{(unsigned char*)"gesdoto", {226, 170, 130, 0}},
-{(unsigned char*)"gesdotol", {226, 170, 132, 0}},
-{(unsigned char*)"gesl", {226, 139, 155, 239, 184, 128, 0}},
-{(unsigned char*)"gesles", {226, 170, 148, 0}},
-{(unsigned char*)"gfr", {240, 157, 148, 164, 0}},
-{(unsigned char*)"gg", {226, 137, 171, 0}},
-{(unsigned char*)"ggg", {226, 139, 153, 0}},
-{(unsigned char*)"gimel", {226, 132, 183, 0}},
-{(unsigned char*)"gjcy", {209, 147, 0}},
-{(unsigned char*)"gl", {226, 137, 183, 0}},
-{(unsigned char*)"glE", {226, 170, 146, 0}},
-{(unsigned char*)"gla", {226, 170, 165, 0}},
-{(unsigned char*)"glj", {226, 170, 164, 0}},
-{(unsigned char*)"gnE", {226, 137, 169, 0}},
-{(unsigned char*)"gnap", {226, 170, 138, 0}},
-{(unsigned char*)"gnapprox", {226, 170, 138, 0}},
-{(unsigned char*)"gne", {226, 170, 136, 0}},
-{(unsigned char*)"gneq", {226, 170, 136, 0}},
-{(unsigned char*)"gneqq", {226, 137, 169, 0}},
-{(unsigned char*)"gnsim", {226, 139, 167, 0}},
-{(unsigned char*)"gopf", {240, 157, 149, 152, 0}},
-{(unsigned char*)"grave", {96, 0}},
-{(unsigned char*)"gscr", {226, 132, 138, 0}},
-{(unsigned char*)"gsim", {226, 137, 179, 0}},
-{(unsigned char*)"gsime", {226, 170, 142, 0}},
-{(unsigned char*)"gsiml", {226, 170, 144, 0}},
-{(unsigned char*)"gt", {62, 0}},
-{(unsigned char*)"gtcc", {226, 170, 167, 0}},
-{(unsigned char*)"gtcir", {226, 169, 186, 0}},
-{(unsigned char*)"gtdot", {226, 139, 151, 0}},
-{(unsigned char*)"gtlPar", {226, 166, 149, 0}},
-{(unsigned char*)"gtquest", {226, 169, 188, 0}},
-{(unsigned char*)"gtrapprox", {226, 170, 134, 0}},
-{(unsigned char*)"gtrarr", {226, 165, 184, 0}},
-{(unsigned char*)"gtrdot", {226, 139, 151, 0}},
-{(unsigned char*)"gtreqless", {226, 139, 155, 0}},
-{(unsigned char*)"gtreqqless", {226, 170, 140, 0}},
-{(unsigned char*)"gtrless", {226, 137, 183, 0}},
-{(unsigned char*)"gtrsim", {226, 137, 179, 0}},
-{(unsigned char*)"gvertneqq", {226, 137, 169, 239, 184, 128, 0}},
-{(unsigned char*)"gvnE", {226, 137, 169, 239, 184, 128, 0}},
-{(unsigned char*)"hArr", {226, 135, 148, 0}},
-{(unsigned char*)"hairsp", {226, 128, 138, 0}},
-{(unsigned char*)"half", {194, 189, 0}},
-{(unsigned char*)"hamilt", {226, 132, 139, 0}},
-{(unsigned char*)"hardcy", {209, 138, 0}},
-{(unsigned char*)"harr", {226, 134, 148, 0}},
-{(unsigned char*)"harrcir", {226, 165, 136, 0}},
-{(unsigned char*)"harrw", {226, 134, 173, 0}},
-{(unsigned char*)"hbar", {226, 132, 143, 0}},
-{(unsigned char*)"hcirc", {196, 165, 0}},
-{(unsigned char*)"hearts", {226, 153, 165, 0}},
-{(unsigned char*)"heartsuit", {226, 153, 165, 0}},
-{(unsigned char*)"hellip", {226, 128, 166, 0}},
-{(unsigned char*)"hercon", {226, 138, 185, 0}},
-{(unsigned char*)"hfr", {240, 157, 148, 165, 0}},
-{(unsigned char*)"hksearow", {226, 164, 165, 0}},
-{(unsigned char*)"hkswarow", {226, 164, 166, 0}},
-{(unsigned char*)"hoarr", {226, 135, 191, 0}},
-{(unsigned char*)"homtht", {226, 136, 187, 0}},
-{(unsigned char*)"hookleftarrow", {226, 134, 169, 0}},
-{(unsigned char*)"hookrightarrow", {226, 134, 170, 0}},
-{(unsigned char*)"hopf", {240, 157, 149, 153, 0}},
-{(unsigned char*)"horbar", {226, 128, 149, 0}},
-{(unsigned char*)"hscr", {240, 157, 146, 189, 0}},
-{(unsigned char*)"hslash", {226, 132, 143, 0}},
-{(unsigned char*)"hstrok", {196, 167, 0}},
-{(unsigned char*)"hybull", {226, 129, 131, 0}},
-{(unsigned char*)"hyphen", {226, 128, 144, 0}},
-{(unsigned char*)"iacute", {195, 173, 0}},
-{(unsigned char*)"ic", {226, 129, 163, 0}},
-{(unsigned char*)"icirc", {195, 174, 0}},
-{(unsigned char*)"icy", {208, 184, 0}},
-{(unsigned char*)"iecy", {208, 181, 0}},
-{(unsigned char*)"iexcl", {194, 161, 0}},
-{(unsigned char*)"iff", {226, 135, 148, 0}},
-{(unsigned char*)"ifr", {240, 157, 148, 166, 0}},
-{(unsigned char*)"igrave", {195, 172, 0}},
-{(unsigned char*)"ii", {226, 133, 136, 0}},
-{(unsigned char*)"iiiint", {226, 168, 140, 0}},
-{(unsigned char*)"iiint", {226, 136, 173, 0}},
-{(unsigned char*)"iinfin", {226, 167, 156, 0}},
-{(unsigned char*)"iiota", {226, 132, 169, 0}},
-{(unsigned char*)"ijlig", {196, 179, 0}},
-{(unsigned char*)"imacr", {196, 171, 0}},
-{(unsigned char*)"image", {226, 132, 145, 0}},
-{(unsigned char*)"imagline", {226, 132, 144, 0}},
-{(unsigned char*)"imagpart", {226, 132, 145, 0}},
-{(unsigned char*)"imath", {196, 177, 0}},
-{(unsigned char*)"imof", {226, 138, 183, 0}},
-{(unsigned char*)"imped", {198, 181, 0}},
-{(unsigned char*)"in", {226, 136, 136, 0}},
-{(unsigned char*)"incare", {226, 132, 133, 0}},
-{(unsigned char*)"infin", {226, 136, 158, 0}},
-{(unsigned char*)"infintie", {226, 167, 157, 0}},
-{(unsigned char*)"inodot", {196, 177, 0}},
-{(unsigned char*)"int", {226, 136, 171, 0}},
-{(unsigned char*)"intcal", {226, 138, 186, 0}},
-{(unsigned char*)"integers", {226, 132, 164, 0}},
-{(unsigned char*)"intercal", {226, 138, 186, 0}},
-{(unsigned char*)"intlarhk", {226, 168, 151, 0}},
-{(unsigned char*)"intprod", {226, 168, 188, 0}},
-{(unsigned char*)"iocy", {209, 145, 0}},
-{(unsigned char*)"iogon", {196, 175, 0}},
-{(unsigned char*)"iopf", {240, 157, 149, 154, 0}},
-{(unsigned char*)"iota", {206, 185, 0}},
-{(unsigned char*)"iprod", {226, 168, 188, 0}},
-{(unsigned char*)"iquest", {194, 191, 0}},
-{(unsigned char*)"iscr", {240, 157, 146, 190, 0}},
-{(unsigned char*)"isin", {226, 136, 136, 0}},
-{(unsigned char*)"isinE", {226, 139, 185, 0}},
-{(unsigned char*)"isindot", {226, 139, 181, 0}},
-{(unsigned char*)"isins", {226, 139, 180, 0}},
-{(unsigned char*)"isinsv", {226, 139, 179, 0}},
-{(unsigned char*)"isinv", {226, 136, 136, 0}},
-{(unsigned char*)"it", {226, 129, 162, 0}},
-{(unsigned char*)"itilde", {196, 169, 0}},
-{(unsigned char*)"iukcy", {209, 150, 0}},
-{(unsigned char*)"iuml", {195, 175, 0}},
-{(unsigned char*)"jcirc", {196, 181, 0}},
-{(unsigned char*)"jcy", {208, 185, 0}},
-{(unsigned char*)"jfr", {240, 157, 148, 167, 0}},
-{(unsigned char*)"jmath", {200, 183, 0}},
-{(unsigned char*)"jopf", {240, 157, 149, 155, 0}},
-{(unsigned char*)"jscr", {240, 157, 146, 191, 0}},
-{(unsigned char*)"jsercy", {209, 152, 0}},
-{(unsigned char*)"jukcy", {209, 148, 0}},
-{(unsigned char*)"kappa", {206, 186, 0}},
-{(unsigned char*)"kappav", {207, 176, 0}},
-{(unsigned char*)"kcedil", {196, 183, 0}},
-{(unsigned char*)"kcy", {208, 186, 0}},
-{(unsigned char*)"kfr", {240, 157, 148, 168, 0}},
-{(unsigned char*)"kgreen", {196, 184, 0}},
-{(unsigned char*)"khcy", {209, 133, 0}},
-{(unsigned char*)"kjcy", {209, 156, 0}},
-{(unsigned char*)"kopf", {240, 157, 149, 156, 0}},
-{(unsigned char*)"kscr", {240, 157, 147, 128, 0}},
-{(unsigned char*)"lAarr", {226, 135, 154, 0}},
-{(unsigned char*)"lArr", {226, 135, 144, 0}},
-{(unsigned char*)"lAtail", {226, 164, 155, 0}},
-{(unsigned char*)"lBarr", {226, 164, 142, 0}},
-{(unsigned char*)"lE", {226, 137, 166, 0}},
-{(unsigned char*)"lEg", {226, 170, 139, 0}},
-{(unsigned char*)"lHar", {226, 165, 162, 0}},
-{(unsigned char*)"lacute", {196, 186, 0}},
-{(unsigned char*)"laemptyv", {226, 166, 180, 0}},
-{(unsigned char*)"lagran", {226, 132, 146, 0}},
-{(unsigned char*)"lambda", {206, 187, 0}},
-{(unsigned char*)"lang", {226, 159, 168, 0}},
-{(unsigned char*)"langd", {226, 166, 145, 0}},
-{(unsigned char*)"langle", {226, 159, 168, 0}},
-{(unsigned char*)"lap", {226, 170, 133, 0}},
-{(unsigned char*)"laquo", {194, 171, 0}},
-{(unsigned char*)"larr", {226, 134, 144, 0}},
-{(unsigned char*)"larrb", {226, 135, 164, 0}},
-{(unsigned char*)"larrbfs", {226, 164, 159, 0}},
-{(unsigned char*)"larrfs", {226, 164, 157, 0}},
-{(unsigned char*)"larrhk", {226, 134, 169, 0}},
-{(unsigned char*)"larrlp", {226, 134, 171, 0}},
-{(unsigned char*)"larrpl", {226, 164, 185, 0}},
-{(unsigned char*)"larrsim", {226, 165, 179, 0}},
-{(unsigned char*)"larrtl", {226, 134, 162, 0}},
-{(unsigned char*)"lat", {226, 170, 171, 0}},
-{(unsigned char*)"latail", {226, 164, 153, 0}},
-{(unsigned char*)"late", {226, 170, 173, 0}},
-{(unsigned char*)"lates", {226, 170, 173, 239, 184, 128, 0}},
-{(unsigned char*)"lbarr", {226, 164, 140, 0}},
-{(unsigned char*)"lbbrk", {226, 157, 178, 0}},
-{(unsigned char*)"lbrace", {123, 0}},
-{(unsigned char*)"lbrack", {91, 0}},
-{(unsigned char*)"lbrke", {226, 166, 139, 0}},
-{(unsigned char*)"lbrksld", {226, 166, 143, 0}},
-{(unsigned char*)"lbrkslu", {226, 166, 141, 0}},
-{(unsigned char*)"lcaron", {196, 190, 0}},
-{(unsigned char*)"lcedil", {196, 188, 0}},
-{(unsigned char*)"lceil", {226, 140, 136, 0}},
-{(unsigned char*)"lcub", {123, 0}},
-{(unsigned char*)"lcy", {208, 187, 0}},
-{(unsigned char*)"ldca", {226, 164, 182, 0}},
-{(unsigned char*)"ldquo", {226, 128, 156, 0}},
-{(unsigned char*)"ldquor", {226, 128, 158, 0}},
-{(unsigned char*)"ldrdhar", {226, 165, 167, 0}},
-{(unsigned char*)"ldrushar", {226, 165, 139, 0}},
-{(unsigned char*)"ldsh", {226, 134, 178, 0}},
-{(unsigned char*)"le", {226, 137, 164, 0}},
-{(unsigned char*)"leftarrow", {226, 134, 144, 0}},
-{(unsigned char*)"leftarrowtail", {226, 134, 162, 0}},
-{(unsigned char*)"leftharpoondown", {226, 134, 189, 0}},
-{(unsigned char*)"leftharpoonup", {226, 134, 188, 0}},
-{(unsigned char*)"leftleftarrows", {226, 135, 135, 0}},
-{(unsigned char*)"leftrightarrow", {226, 134, 148, 0}},
-{(unsigned char*)"leftrightarrows", {226, 135, 134, 0}},
-{(unsigned char*)"leftrightharpoons", {226, 135, 139, 0}},
-{(unsigned char*)"leftrightsquigarrow", {226, 134, 173, 0}},
-{(unsigned char*)"leftthreetimes", {226, 139, 139, 0}},
-{(unsigned char*)"leg", {226, 139, 154, 0}},
-{(unsigned char*)"leq", {226, 137, 164, 0}},
-{(unsigned char*)"leqq", {226, 137, 166, 0}},
-{(unsigned char*)"leqslant", {226, 169, 189, 0}},
-{(unsigned char*)"les", {226, 169, 189, 0}},
-{(unsigned char*)"lescc", {226, 170, 168, 0}},
-{(unsigned char*)"lesdot", {226, 169, 191, 0}},
-{(unsigned char*)"lesdoto", {226, 170, 129, 0}},
-{(unsigned char*)"lesdotor", {226, 170, 131, 0}},
-{(unsigned char*)"lesg", {226, 139, 154, 239, 184, 128, 0}},
-{(unsigned char*)"lesges", {226, 170, 147, 0}},
-{(unsigned char*)"lessapprox", {226, 170, 133, 0}},
-{(unsigned char*)"lessdot", {226, 139, 150, 0}},
-{(unsigned char*)"lesseqgtr", {226, 139, 154, 0}},
-{(unsigned char*)"lesseqqgtr", {226, 170, 139, 0}},
-{(unsigned char*)"lessgtr", {226, 137, 182, 0}},
-{(unsigned char*)"lesssim", {226, 137, 178, 0}},
-{(unsigned char*)"lfisht", {226, 165, 188, 0}},
-{(unsigned char*)"lfloor", {226, 140, 138, 0}},
-{(unsigned char*)"lfr", {240, 157, 148, 169, 0}},
-{(unsigned char*)"lg", {226, 137, 182, 0}},
-{(unsigned char*)"lgE", {226, 170, 145, 0}},
-{(unsigned char*)"lhard", {226, 134, 189, 0}},
-{(unsigned char*)"lharu", {226, 134, 188, 0}},
-{(unsigned char*)"lharul", {226, 165, 170, 0}},
-{(unsigned char*)"lhblk", {226, 150, 132, 0}},
-{(unsigned char*)"ljcy", {209, 153, 0}},
-{(unsigned char*)"ll", {226, 137, 170, 0}},
-{(unsigned char*)"llarr", {226, 135, 135, 0}},
-{(unsigned char*)"llcorner", {226, 140, 158, 0}},
-{(unsigned char*)"llhard", {226, 165, 171, 0}},
-{(unsigned char*)"lltri", {226, 151, 186, 0}},
-{(unsigned char*)"lmidot", {197, 128, 0}},
-{(unsigned char*)"lmoust", {226, 142, 176, 0}},
-{(unsigned char*)"lmoustache", {226, 142, 176, 0}},
-{(unsigned char*)"lnE", {226, 137, 168, 0}},
-{(unsigned char*)"lnap", {226, 170, 137, 0}},
-{(unsigned char*)"lnapprox", {226, 170, 137, 0}},
-{(unsigned char*)"lne", {226, 170, 135, 0}},
-{(unsigned char*)"lneq", {226, 170, 135, 0}},
-{(unsigned char*)"lneqq", {226, 137, 168, 0}},
-{(unsigned char*)"lnsim", {226, 139, 166, 0}},
-{(unsigned char*)"loang", {226, 159, 172, 0}},
-{(unsigned char*)"loarr", {226, 135, 189, 0}},
-{(unsigned char*)"lobrk", {226, 159, 166, 0}},
-{(unsigned char*)"longleftarrow", {226, 159, 181, 0}},
-{(unsigned char*)"longleftrightarrow", {226, 159, 183, 0}},
-{(unsigned char*)"longmapsto", {226, 159, 188, 0}},
-{(unsigned char*)"longrightarrow", {226, 159, 182, 0}},
-{(unsigned char*)"looparrowleft", {226, 134, 171, 0}},
-{(unsigned char*)"looparrowright", {226, 134, 172, 0}},
-{(unsigned char*)"lopar", {226, 166, 133, 0}},
-{(unsigned char*)"lopf", {240, 157, 149, 157, 0}},
-{(unsigned char*)"loplus", {226, 168, 173, 0}},
-{(unsigned char*)"lotimes", {226, 168, 180, 0}},
-{(unsigned char*)"lowast", {226, 136, 151, 0}},
-{(unsigned char*)"lowbar", {95, 0}},
-{(unsigned char*)"loz", {226, 151, 138, 0}},
-{(unsigned char*)"lozenge", {226, 151, 138, 0}},
-{(unsigned char*)"lozf", {226, 167, 171, 0}},
-{(unsigned char*)"lpar", {40, 0}},
-{(unsigned char*)"lparlt", {226, 166, 147, 0}},
-{(unsigned char*)"lrarr", {226, 135, 134, 0}},
-{(unsigned char*)"lrcorner", {226, 140, 159, 0}},
-{(unsigned char*)"lrhar", {226, 135, 139, 0}},
-{(unsigned char*)"lrhard", {226, 165, 173, 0}},
-{(unsigned char*)"lrm", {226, 128, 142, 0}},
-{(unsigned char*)"lrtri", {226, 138, 191, 0}},
-{(unsigned char*)"lsaquo", {226, 128, 185, 0}},
-{(unsigned char*)"lscr", {240, 157, 147, 129, 0}},
-{(unsigned char*)"lsh", {226, 134, 176, 0}},
-{(unsigned char*)"lsim", {226, 137, 178, 0}},
-{(unsigned char*)"lsime", {226, 170, 141, 0}},
-{(unsigned char*)"lsimg", {226, 170, 143, 0}},
-{(unsigned char*)"lsqb", {91, 0}},
-{(unsigned char*)"lsquo", {226, 128, 152, 0}},
-{(unsigned char*)"lsquor", {226, 128, 154, 0}},
-{(unsigned char*)"lstrok", {197, 130, 0}},
-{(unsigned char*)"lt", {60, 0}},
-{(unsigned char*)"ltcc", {226, 170, 166, 0}},
-{(unsigned char*)"ltcir", {226, 169, 185, 0}},
-{(unsigned char*)"ltdot", {226, 139, 150, 0}},
-{(unsigned char*)"lthree", {226, 139, 139, 0}},
-{(unsigned char*)"ltimes", {226, 139, 137, 0}},
-{(unsigned char*)"ltlarr", {226, 165, 182, 0}},
-{(unsigned char*)"ltquest", {226, 169, 187, 0}},
-{(unsigned char*)"ltrPar", {226, 166, 150, 0}},
-{(unsigned char*)"ltri", {226, 151, 131, 0}},
-{(unsigned char*)"ltrie", {226, 138, 180, 0}},
-{(unsigned char*)"ltrif", {226, 151, 130, 0}},
-{(unsigned char*)"lurdshar", {226, 165, 138, 0}},
-{(unsigned char*)"luruhar", {226, 165, 166, 0}},
-{(unsigned char*)"lvertneqq", {226, 137, 168, 239, 184, 128, 0}},
-{(unsigned char*)"lvnE", {226, 137, 168, 239, 184, 128, 0}},
-{(unsigned char*)"mDDot", {226, 136, 186, 0}},
-{(unsigned char*)"macr", {194, 175, 0}},
-{(unsigned char*)"male", {226, 153, 130, 0}},
-{(unsigned char*)"malt", {226, 156, 160, 0}},
-{(unsigned char*)"maltese", {226, 156, 160, 0}},
-{(unsigned char*)"map", {226, 134, 166, 0}},
-{(unsigned char*)"mapsto", {226, 134, 166, 0}},
-{(unsigned char*)"mapstodown", {226, 134, 167, 0}},
-{(unsigned char*)"mapstoleft", {226, 134, 164, 0}},
-{(unsigned char*)"mapstoup", {226, 134, 165, 0}},
-{(unsigned char*)"marker", {226, 150, 174, 0}},
-{(unsigned char*)"mcomma", {226, 168, 169, 0}},
-{(unsigned char*)"mcy", {208, 188, 0}},
-{(unsigned char*)"mdash", {226, 128, 148, 0}},
-{(unsigned char*)"measuredangle", {226, 136, 161, 0}},
-{(unsigned char*)"mfr", {240, 157, 148, 170, 0}},
-{(unsigned char*)"mho", {226, 132, 167, 0}},
-{(unsigned char*)"micro", {194, 181, 0}},
-{(unsigned char*)"mid", {226, 136, 163, 0}},
-{(unsigned char*)"midast", {42, 0}},
-{(unsigned char*)"midcir", {226, 171, 176, 0}},
-{(unsigned char*)"middot", {194, 183, 0}},
-{(unsigned char*)"minus", {226, 136, 146, 0}},
-{(unsigned char*)"minusb", {226, 138, 159, 0}},
-{(unsigned char*)"minusd", {226, 136, 184, 0}},
-{(unsigned char*)"minusdu", {226, 168, 170, 0}},
-{(unsigned char*)"mlcp", {226, 171, 155, 0}},
-{(unsigned char*)"mldr", {226, 128, 166, 0}},
-{(unsigned char*)"mnplus", {226, 136, 147, 0}},
-{(unsigned char*)"models", {226, 138, 167, 0}},
-{(unsigned char*)"mopf", {240, 157, 149, 158, 0}},
-{(unsigned char*)"mp", {226, 136, 147, 0}},
-{(unsigned char*)"mscr", {240, 157, 147, 130, 0}},
-{(unsigned char*)"mstpos", {226, 136, 190, 0}},
-{(unsigned char*)"mu", {206, 188, 0}},
-{(unsigned char*)"multimap", {226, 138, 184, 0}},
-{(unsigned char*)"mumap", {226, 138, 184, 0}},
-{(unsigned char*)"nGg", {226, 139, 153, 204, 184, 0}},
-{(unsigned char*)"nGt", {226, 137, 171, 226, 131, 146, 0}},
-{(unsigned char*)"nGtv", {226, 137, 171, 204, 184, 0}},
-{(unsigned char*)"nLeftarrow", {226, 135, 141, 0}},
-{(unsigned char*)"nLeftrightarrow", {226, 135, 142, 0}},
-{(unsigned char*)"nLl", {226, 139, 152, 204, 184, 0}},
-{(unsigned char*)"nLt", {226, 137, 170, 226, 131, 146, 0}},
-{(unsigned char*)"nLtv", {226, 137, 170, 204, 184, 0}},
-{(unsigned char*)"nRightarrow", {226, 135, 143, 0}},
-{(unsigned char*)"nVDash", {226, 138, 175, 0}},
-{(unsigned char*)"nVdash", {226, 138, 174, 0}},
-{(unsigned char*)"nabla", {226, 136, 135, 0}},
-{(unsigned char*)"nacute", {197, 132, 0}},
-{(unsigned char*)"nang", {226, 136, 160, 226, 131, 146, 0}},
-{(unsigned char*)"nap", {226, 137, 137, 0}},
-{(unsigned char*)"napE", {226, 169, 176, 204, 184, 0}},
-{(unsigned char*)"napid", {226, 137, 139, 204, 184, 0}},
-{(unsigned char*)"napos", {197, 137, 0}},
-{(unsigned char*)"napprox", {226, 137, 137, 0}},
-{(unsigned char*)"natur", {226, 153, 174, 0}},
-{(unsigned char*)"natural", {226, 153, 174, 0}},
-{(unsigned char*)"naturals", {226, 132, 149, 0}},
-{(unsigned char*)"nbsp", {194, 160, 0}},
-{(unsigned char*)"nbump", {226, 137, 142, 204, 184, 0}},
-{(unsigned char*)"nbumpe", {226, 137, 143, 204, 184, 0}},
-{(unsigned char*)"ncap", {226, 169, 131, 0}},
-{(unsigned char*)"ncaron", {197, 136, 0}},
-{(unsigned char*)"ncedil", {197, 134, 0}},
-{(unsigned char*)"ncong", {226, 137, 135, 0}},
-{(unsigned char*)"ncongdot", {226, 169, 173, 204, 184, 0}},
-{(unsigned char*)"ncup", {226, 169, 130, 0}},
-{(unsigned char*)"ncy", {208, 189, 0}},
-{(unsigned char*)"ndash", {226, 128, 147, 0}},
-{(unsigned char*)"ne", {226, 137, 160, 0}},
-{(unsigned char*)"neArr", {226, 135, 151, 0}},
-{(unsigned char*)"nearhk", {226, 164, 164, 0}},
-{(unsigned char*)"nearr", {226, 134, 151, 0}},
-{(unsigned char*)"nearrow", {226, 134, 151, 0}},
-{(unsigned char*)"nedot", {226, 137, 144, 204, 184, 0}},
-{(unsigned char*)"nequiv", {226, 137, 162, 0}},
-{(unsigned char*)"nesear", {226, 164, 168, 0}},
-{(unsigned char*)"nesim", {226, 137, 130, 204, 184, 0}},
-{(unsigned char*)"nexist", {226, 136, 132, 0}},
-{(unsigned char*)"nexists", {226, 136, 132, 0}},
-{(unsigned char*)"nfr", {240, 157, 148, 171, 0}},
-{(unsigned char*)"ngE", {226, 137, 167, 204, 184, 0}},
-{(unsigned char*)"nge", {226, 137, 177, 0}},
-{(unsigned char*)"ngeq", {226, 137, 177, 0}},
-{(unsigned char*)"ngeqq", {226, 137, 167, 204, 184, 0}},
-{(unsigned char*)"ngeqslant", {226, 169, 190, 204, 184, 0}},
-{(unsigned char*)"nges", {226, 169, 190, 204, 184, 0}},
-{(unsigned char*)"ngsim", {226, 137, 181, 0}},
-{(unsigned char*)"ngt", {226, 137, 175, 0}},
-{(unsigned char*)"ngtr", {226, 137, 175, 0}},
-{(unsigned char*)"nhArr", {226, 135, 142, 0}},
-{(unsigned char*)"nharr", {226, 134, 174, 0}},
-{(unsigned char*)"nhpar", {226, 171, 178, 0}},
-{(unsigned char*)"ni", {226, 136, 139, 0}},
-{(unsigned char*)"nis", {226, 139, 188, 0}},
-{(unsigned char*)"nisd", {226, 139, 186, 0}},
-{(unsigned char*)"niv", {226, 136, 139, 0}},
-{(unsigned char*)"njcy", {209, 154, 0}},
-{(unsigned char*)"nlArr", {226, 135, 141, 0}},
-{(unsigned char*)"nlE", {226, 137, 166, 204, 184, 0}},
-{(unsigned char*)"nlarr", {226, 134, 154, 0}},
-{(unsigned char*)"nldr", {226, 128, 165, 0}},
-{(unsigned char*)"nle", {226, 137, 176, 0}},
-{(unsigned char*)"nleftarrow", {226, 134, 154, 0}},
-{(unsigned char*)"nleftrightarrow", {226, 134, 174, 0}},
-{(unsigned char*)"nleq", {226, 137, 176, 0}},
-{(unsigned char*)"nleqq", {226, 137, 166, 204, 184, 0}},
-{(unsigned char*)"nleqslant", {226, 169, 189, 204, 184, 0}},
-{(unsigned char*)"nles", {226, 169, 189, 204, 184, 0}},
-{(unsigned char*)"nless", {226, 137, 174, 0}},
-{(unsigned char*)"nlsim", {226, 137, 180, 0}},
-{(unsigned char*)"nlt", {226, 137, 174, 0}},
-{(unsigned char*)"nltri", {226, 139, 170, 0}},
-{(unsigned char*)"nltrie", {226, 139, 172, 0}},
-{(unsigned char*)"nmid", {226, 136, 164, 0}},
-{(unsigned char*)"nopf", {240, 157, 149, 159, 0}},
-{(unsigned char*)"not", {194, 172, 0}},
-{(unsigned char*)"notin", {226, 136, 137, 0}},
-{(unsigned char*)"notinE", {226, 139, 185, 204, 184, 0}},
-{(unsigned char*)"notindot", {226, 139, 181, 204, 184, 0}},
-{(unsigned char*)"notinva", {226, 136, 137, 0}},
-{(unsigned char*)"notinvb", {226, 139, 183, 0}},
-{(unsigned char*)"notinvc", {226, 139, 182, 0}},
-{(unsigned char*)"notni", {226, 136, 140, 0}},
-{(unsigned char*)"notniva", {226, 136, 140, 0}},
-{(unsigned char*)"notnivb", {226, 139, 190, 0}},
-{(unsigned char*)"notnivc", {226, 139, 189, 0}},
-{(unsigned char*)"npar", {226, 136, 166, 0}},
-{(unsigned char*)"nparallel", {226, 136, 166, 0}},
-{(unsigned char*)"nparsl", {226, 171, 189, 226, 131, 165, 0}},
-{(unsigned char*)"npart", {226, 136, 130, 204, 184, 0}},
-{(unsigned char*)"npolint", {226, 168, 148, 0}},
-{(unsigned char*)"npr", {226, 138, 128, 0}},
-{(unsigned char*)"nprcue", {226, 139, 160, 0}},
-{(unsigned char*)"npre", {226, 170, 175, 204, 184, 0}},
-{(unsigned char*)"nprec", {226, 138, 128, 0}},
-{(unsigned char*)"npreceq", {226, 170, 175, 204, 184, 0}},
-{(unsigned char*)"nrArr", {226, 135, 143, 0}},
-{(unsigned char*)"nrarr", {226, 134, 155, 0}},
-{(unsigned char*)"nrarrc", {226, 164, 179, 204, 184, 0}},
-{(unsigned char*)"nrarrw", {226, 134, 157, 204, 184, 0}},
-{(unsigned char*)"nrightarrow", {226, 134, 155, 0}},
-{(unsigned char*)"nrtri", {226, 139, 171, 0}},
-{(unsigned char*)"nrtrie", {226, 139, 173, 0}},
-{(unsigned char*)"nsc", {226, 138, 129, 0}},
-{(unsigned char*)"nsccue", {226, 139, 161, 0}},
-{(unsigned char*)"nsce", {226, 170, 176, 204, 184, 0}},
-{(unsigned char*)"nscr", {240, 157, 147, 131, 0}},
-{(unsigned char*)"nshortmid", {226, 136, 164, 0}},
-{(unsigned char*)"nshortparallel", {226, 136, 166, 0}},
-{(unsigned char*)"nsim", {226, 137, 129, 0}},
-{(unsigned char*)"nsime", {226, 137, 132, 0}},
-{(unsigned char*)"nsimeq", {226, 137, 132, 0}},
-{(unsigned char*)"nsmid", {226, 136, 164, 0}},
-{(unsigned char*)"nspar", {226, 136, 166, 0}},
-{(unsigned char*)"nsqsube", {226, 139, 162, 0}},
-{(unsigned char*)"nsqsupe", {226, 139, 163, 0}},
-{(unsigned char*)"nsub", {226, 138, 132, 0}},
-{(unsigned char*)"nsubE", {226, 171, 133, 204, 184, 0}},
-{(unsigned char*)"nsube", {226, 138, 136, 0}},
-{(unsigned char*)"nsubset", {226, 138, 130, 226, 131, 146, 0}},
-{(unsigned char*)"nsubseteq", {226, 138, 136, 0}},
-{(unsigned char*)"nsubseteqq", {226, 171, 133, 204, 184, 0}},
-{(unsigned char*)"nsucc", {226, 138, 129, 0}},
-{(unsigned char*)"nsucceq", {226, 170, 176, 204, 184, 0}},
-{(unsigned char*)"nsup", {226, 138, 133, 0}},
-{(unsigned char*)"nsupE", {226, 171, 134, 204, 184, 0}},
-{(unsigned char*)"nsupe", {226, 138, 137, 0}},
-{(unsigned char*)"nsupset", {226, 138, 131, 226, 131, 146, 0}},
-{(unsigned char*)"nsupseteq", {226, 138, 137, 0}},
-{(unsigned char*)"nsupseteqq", {226, 171, 134, 204, 184, 0}},
-{(unsigned char*)"ntgl", {226, 137, 185, 0}},
-{(unsigned char*)"ntilde", {195, 177, 0}},
-{(unsigned char*)"ntlg", {226, 137, 184, 0}},
-{(unsigned char*)"ntriangleleft", {226, 139, 170, 0}},
-{(unsigned char*)"ntrianglelefteq", {226, 139, 172, 0}},
-{(unsigned char*)"ntriangleright", {226, 139, 171, 0}},
-{(unsigned char*)"ntrianglerighteq", {226, 139, 173, 0}},
-{(unsigned char*)"nu", {206, 189, 0}},
-{(unsigned char*)"num", {35, 0}},
-{(unsigned char*)"numero", {226, 132, 150, 0}},
-{(unsigned char*)"numsp", {226, 128, 135, 0}},
-{(unsigned char*)"nvDash", {226, 138, 173, 0}},
-{(unsigned char*)"nvHarr", {226, 164, 132, 0}},
-{(unsigned char*)"nvap", {226, 137, 141, 226, 131, 146, 0}},
-{(unsigned char*)"nvdash", {226, 138, 172, 0}},
-{(unsigned char*)"nvge", {226, 137, 165, 226, 131, 146, 0}},
-{(unsigned char*)"nvgt", {62, 226, 131, 146, 0}},
-{(unsigned char*)"nvinfin", {226, 167, 158, 0}},
-{(unsigned char*)"nvlArr", {226, 164, 130, 0}},
-{(unsigned char*)"nvle", {226, 137, 164, 226, 131, 146, 0}},
-{(unsigned char*)"nvlt", {60, 226, 131, 146, 0}},
-{(unsigned char*)"nvltrie", {226, 138, 180, 226, 131, 146, 0}},
-{(unsigned char*)"nvrArr", {226, 164, 131, 0}},
-{(unsigned char*)"nvrtrie", {226, 138, 181, 226, 131, 146, 0}},
-{(unsigned char*)"nvsim", {226, 136, 188, 226, 131, 146, 0}},
-{(unsigned char*)"nwArr", {226, 135, 150, 0}},
-{(unsigned char*)"nwarhk", {226, 164, 163, 0}},
-{(unsigned char*)"nwarr", {226, 134, 150, 0}},
-{(unsigned char*)"nwarrow", {226, 134, 150, 0}},
-{(unsigned char*)"nwnear", {226, 164, 167, 0}},
-{(unsigned char*)"oS", {226, 147, 136, 0}},
-{(unsigned char*)"oacute", {195, 179, 0}},
-{(unsigned char*)"oast", {226, 138, 155, 0}},
-{(unsigned char*)"ocir", {226, 138, 154, 0}},
-{(unsigned char*)"ocirc", {195, 180, 0}},
-{(unsigned char*)"ocy", {208, 190, 0}},
-{(unsigned char*)"odash", {226, 138, 157, 0}},
-{(unsigned char*)"odblac", {197, 145, 0}},
-{(unsigned char*)"odiv", {226, 168, 184, 0}},
-{(unsigned char*)"odot", {226, 138, 153, 0}},
-{(unsigned char*)"odsold", {226, 166, 188, 0}},
-{(unsigned char*)"oelig", {197, 147, 0}},
-{(unsigned char*)"ofcir", {226, 166, 191, 0}},
-{(unsigned char*)"ofr", {240, 157, 148, 172, 0}},
-{(unsigned char*)"ogon", {203, 155, 0}},
-{(unsigned char*)"ograve", {195, 178, 0}},
-{(unsigned char*)"ogt", {226, 167, 129, 0}},
-{(unsigned char*)"ohbar", {226, 166, 181, 0}},
-{(unsigned char*)"ohm", {206, 169, 0}},
-{(unsigned char*)"oint", {226, 136, 174, 0}},
-{(unsigned char*)"olarr", {226, 134, 186, 0}},
-{(unsigned char*)"olcir", {226, 166, 190, 0}},
-{(unsigned char*)"olcross", {226, 166, 187, 0}},
-{(unsigned char*)"oline", {226, 128, 190, 0}},
-{(unsigned char*)"olt", {226, 167, 128, 0}},
-{(unsigned char*)"omacr", {197, 141, 0}},
-{(unsigned char*)"omega", {207, 137, 0}},
-{(unsigned char*)"omicron", {206, 191, 0}},
-{(unsigned char*)"omid", {226, 166, 182, 0}},
-{(unsigned char*)"ominus", {226, 138, 150, 0}},
-{(unsigned char*)"oopf", {240, 157, 149, 160, 0}},
-{(unsigned char*)"opar", {226, 166, 183, 0}},
-{(unsigned char*)"operp", {226, 166, 185, 0}},
-{(unsigned char*)"oplus", {226, 138, 149, 0}},
-{(unsigned char*)"or", {226, 136, 168, 0}},
-{(unsigned char*)"orarr", {226, 134, 187, 0}},
-{(unsigned char*)"ord", {226, 169, 157, 0}},
-{(unsigned char*)"order", {226, 132, 180, 0}},
-{(unsigned char*)"orderof", {226, 132, 180, 0}},
-{(unsigned char*)"ordf", {194, 170, 0}},
-{(unsigned char*)"ordm", {194, 186, 0}},
-{(unsigned char*)"origof", {226, 138, 182, 0}},
-{(unsigned char*)"oror", {226, 169, 150, 0}},
-{(unsigned char*)"orslope", {226, 169, 151, 0}},
-{(unsigned char*)"orv", {226, 169, 155, 0}},
-{(unsigned char*)"oscr", {226, 132, 180, 0}},
-{(unsigned char*)"oslash", {195, 184, 0}},
-{(unsigned char*)"osol", {226, 138, 152, 0}},
-{(unsigned char*)"otilde", {195, 181, 0}},
-{(unsigned char*)"otimes", {226, 138, 151, 0}},
-{(unsigned char*)"otimesas", {226, 168, 182, 0}},
-{(unsigned char*)"ouml", {195, 182, 0}},
-{(unsigned char*)"ovbar", {226, 140, 189, 0}},
-{(unsigned char*)"par", {226, 136, 165, 0}},
-{(unsigned char*)"para", {194, 182, 0}},
-{(unsigned char*)"parallel", {226, 136, 165, 0}},
-{(unsigned char*)"parsim", {226, 171, 179, 0}},
-{(unsigned char*)"parsl", {226, 171, 189, 0}},
-{(unsigned char*)"part", {226, 136, 130, 0}},
-{(unsigned char*)"pcy", {208, 191, 0}},
-{(unsigned char*)"percnt", {37, 0}},
-{(unsigned char*)"period", {46, 0}},
-{(unsigned char*)"permil", {226, 128, 176, 0}},
-{(unsigned char*)"perp", {226, 138, 165, 0}},
-{(unsigned char*)"pertenk", {226, 128, 177, 0}},
-{(unsigned char*)"pfr", {240, 157, 148, 173, 0}},
-{(unsigned char*)"phi", {207, 134, 0}},
-{(unsigned char*)"phiv", {207, 149, 0}},
-{(unsigned char*)"phmmat", {226, 132, 179, 0}},
-{(unsigned char*)"phone", {226, 152, 142, 0}},
-{(unsigned char*)"pi", {207, 128, 0}},
-{(unsigned char*)"pitchfork", {226, 139, 148, 0}},
-{(unsigned char*)"piv", {207, 150, 0}},
-{(unsigned char*)"planck", {226, 132, 143, 0}},
-{(unsigned char*)"planckh", {226, 132, 142, 0}},
-{(unsigned char*)"plankv", {226, 132, 143, 0}},
-{(unsigned char*)"plus", {43, 0}},
-{(unsigned char*)"plusacir", {226, 168, 163, 0}},
-{(unsigned char*)"plusb", {226, 138, 158, 0}},
-{(unsigned char*)"pluscir", {226, 168, 162, 0}},
-{(unsigned char*)"plusdo", {226, 136, 148, 0}},
-{(unsigned char*)"plusdu", {226, 168, 165, 0}},
-{(unsigned char*)"pluse", {226, 169, 178, 0}},
-{(unsigned char*)"plusmn", {194, 177, 0}},
-{(unsigned char*)"plussim", {226, 168, 166, 0}},
-{(unsigned char*)"plustwo", {226, 168, 167, 0}},
-{(unsigned char*)"pm", {194, 177, 0}},
-{(unsigned char*)"pointint", {226, 168, 149, 0}},
-{(unsigned char*)"popf", {240, 157, 149, 161, 0}},
-{(unsigned char*)"pound", {194, 163, 0}},
-{(unsigned char*)"pr", {226, 137, 186, 0}},
-{(unsigned char*)"prE", {226, 170, 179, 0}},
-{(unsigned char*)"prap", {226, 170, 183, 0}},
-{(unsigned char*)"prcue", {226, 137, 188, 0}},
-{(unsigned char*)"pre", {226, 170, 175, 0}},
-{(unsigned char*)"prec", {226, 137, 186, 0}},
-{(unsigned char*)"precapprox", {226, 170, 183, 0}},
-{(unsigned char*)"preccurlyeq", {226, 137, 188, 0}},
-{(unsigned char*)"preceq", {226, 170, 175, 0}},
-{(unsigned char*)"precnapprox", {226, 170, 185, 0}},
-{(unsigned char*)"precneqq", {226, 170, 181, 0}},
-{(unsigned char*)"precnsim", {226, 139, 168, 0}},
-{(unsigned char*)"precsim", {226, 137, 190, 0}},
-{(unsigned char*)"prime", {226, 128, 178, 0}},
-{(unsigned char*)"primes", {226, 132, 153, 0}},
-{(unsigned char*)"prnE", {226, 170, 181, 0}},
-{(unsigned char*)"prnap", {226, 170, 185, 0}},
-{(unsigned char*)"prnsim", {226, 139, 168, 0}},
-{(unsigned char*)"prod", {226, 136, 143, 0}},
-{(unsigned char*)"profalar", {226, 140, 174, 0}},
-{(unsigned char*)"profline", {226, 140, 146, 0}},
-{(unsigned char*)"profsurf", {226, 140, 147, 0}},
-{(unsigned char*)"prop", {226, 136, 157, 0}},
-{(unsigned char*)"propto", {226, 136, 157, 0}},
-{(unsigned char*)"prsim", {226, 137, 190, 0}},
-{(unsigned char*)"prurel", {226, 138, 176, 0}},
-{(unsigned char*)"pscr", {240, 157, 147, 133, 0}},
-{(unsigned char*)"psi", {207, 136, 0}},
-{(unsigned char*)"puncsp", {226, 128, 136, 0}},
-{(unsigned char*)"qfr", {240, 157, 148, 174, 0}},
-{(unsigned char*)"qint", {226, 168, 140, 0}},
-{(unsigned char*)"qopf", {240, 157, 149, 162, 0}},
-{(unsigned char*)"qprime", {226, 129, 151, 0}},
-{(unsigned char*)"qscr", {240, 157, 147, 134, 0}},
-{(unsigned char*)"quaternions", {226, 132, 141, 0}},
-{(unsigned char*)"quatint", {226, 168, 150, 0}},
-{(unsigned char*)"quest", {63, 0}},
-{(unsigned char*)"questeq", {226, 137, 159, 0}},
-{(unsigned char*)"quot", {34, 0}},
-{(unsigned char*)"rAarr", {226, 135, 155, 0}},
-{(unsigned char*)"rArr", {226, 135, 146, 0}},
-{(unsigned char*)"rAtail", {226, 164, 156, 0}},
-{(unsigned char*)"rBarr", {226, 164, 143, 0}},
-{(unsigned char*)"rHar", {226, 165, 164, 0}},
-{(unsigned char*)"race", {226, 136, 189, 204, 177, 0}},
-{(unsigned char*)"racute", {197, 149, 0}},
-{(unsigned char*)"radic", {226, 136, 154, 0}},
-{(unsigned char*)"raemptyv", {226, 166, 179, 0}},
-{(unsigned char*)"rang", {226, 159, 169, 0}},
-{(unsigned char*)"rangd", {226, 166, 146, 0}},
-{(unsigned char*)"range", {226, 166, 165, 0}},
-{(unsigned char*)"rangle", {226, 159, 169, 0}},
-{(unsigned char*)"raquo", {194, 187, 0}},
-{(unsigned char*)"rarr", {226, 134, 146, 0}},
-{(unsigned char*)"rarrap", {226, 165, 181, 0}},
-{(unsigned char*)"rarrb", {226, 135, 165, 0}},
-{(unsigned char*)"rarrbfs", {226, 164, 160, 0}},
-{(unsigned char*)"rarrc", {226, 164, 179, 0}},
-{(unsigned char*)"rarrfs", {226, 164, 158, 0}},
-{(unsigned char*)"rarrhk", {226, 134, 170, 0}},
-{(unsigned char*)"rarrlp", {226, 134, 172, 0}},
-{(unsigned char*)"rarrpl", {226, 165, 133, 0}},
-{(unsigned char*)"rarrsim", {226, 165, 180, 0}},
-{(unsigned char*)"rarrtl", {226, 134, 163, 0}},
-{(unsigned char*)"rarrw", {226, 134, 157, 0}},
-{(unsigned char*)"ratail", {226, 164, 154, 0}},
-{(unsigned char*)"ratio", {226, 136, 182, 0}},
-{(unsigned char*)"rationals", {226, 132, 154, 0}},
-{(unsigned char*)"rbarr", {226, 164, 141, 0}},
-{(unsigned char*)"rbbrk", {226, 157, 179, 0}},
-{(unsigned char*)"rbrace", {125, 0}},
-{(unsigned char*)"rbrack", {93, 0}},
-{(unsigned char*)"rbrke", {226, 166, 140, 0}},
-{(unsigned char*)"rbrksld", {226, 166, 142, 0}},
-{(unsigned char*)"rbrkslu", {226, 166, 144, 0}},
-{(unsigned char*)"rcaron", {197, 153, 0}},
-{(unsigned char*)"rcedil", {197, 151, 0}},
-{(unsigned char*)"rceil", {226, 140, 137, 0}},
-{(unsigned char*)"rcub", {125, 0}},
-{(unsigned char*)"rcy", {209, 128, 0}},
-{(unsigned char*)"rdca", {226, 164, 183, 0}},
-{(unsigned char*)"rdldhar", {226, 165, 169, 0}},
-{(unsigned char*)"rdquo", {226, 128, 157, 0}},
-{(unsigned char*)"rdquor", {226, 128, 157, 0}},
-{(unsigned char*)"rdsh", {226, 134, 179, 0}},
-{(unsigned char*)"real", {226, 132, 156, 0}},
-{(unsigned char*)"realine", {226, 132, 155, 0}},
-{(unsigned char*)"realpart", {226, 132, 156, 0}},
-{(unsigned char*)"reals", {226, 132, 157, 0}},
-{(unsigned char*)"rect", {226, 150, 173, 0}},
-{(unsigned char*)"reg", {194, 174, 0}},
-{(unsigned char*)"rfisht", {226, 165, 189, 0}},
-{(unsigned char*)"rfloor", {226, 140, 139, 0}},
-{(unsigned char*)"rfr", {240, 157, 148, 175, 0}},
-{(unsigned char*)"rhard", {226, 135, 129, 0}},
-{(unsigned char*)"rharu", {226, 135, 128, 0}},
-{(unsigned char*)"rharul", {226, 165, 172, 0}},
-{(unsigned char*)"rho", {207, 129, 0}},
-{(unsigned char*)"rhov", {207, 177, 0}},
-{(unsigned char*)"rightarrow", {226, 134, 146, 0}},
-{(unsigned char*)"rightarrowtail", {226, 134, 163, 0}},
-{(unsigned char*)"rightharpoondown", {226, 135, 129, 0}},
-{(unsigned char*)"rightharpoonup", {226, 135, 128, 0}},
-{(unsigned char*)"rightleftarrows", {226, 135, 132, 0}},
-{(unsigned char*)"rightleftharpoons", {226, 135, 140, 0}},
-{(unsigned char*)"rightrightarrows", {226, 135, 137, 0}},
-{(unsigned char*)"rightsquigarrow", {226, 134, 157, 0}},
-{(unsigned char*)"rightthreetimes", {226, 139, 140, 0}},
-{(unsigned char*)"ring", {203, 154, 0}},
-{(unsigned char*)"risingdotseq", {226, 137, 147, 0}},
-{(unsigned char*)"rlarr", {226, 135, 132, 0}},
-{(unsigned char*)"rlhar", {226, 135, 140, 0}},
-{(unsigned char*)"rlm", {226, 128, 143, 0}},
-{(unsigned char*)"rmoust", {226, 142, 177, 0}},
-{(unsigned char*)"rmoustache", {226, 142, 177, 0}},
-{(unsigned char*)"rnmid", {226, 171, 174, 0}},
-{(unsigned char*)"roang", {226, 159, 173, 0}},
-{(unsigned char*)"roarr", {226, 135, 190, 0}},
-{(unsigned char*)"robrk", {226, 159, 167, 0}},
-{(unsigned char*)"ropar", {226, 166, 134, 0}},
-{(unsigned char*)"ropf", {240, 157, 149, 163, 0}},
-{(unsigned char*)"roplus", {226, 168, 174, 0}},
-{(unsigned char*)"rotimes", {226, 168, 181, 0}},
-{(unsigned char*)"rpar", {41, 0}},
-{(unsigned char*)"rpargt", {226, 166, 148, 0}},
-{(unsigned char*)"rppolint", {226, 168, 146, 0}},
-{(unsigned char*)"rrarr", {226, 135, 137, 0}},
-{(unsigned char*)"rsaquo", {226, 128, 186, 0}},
-{(unsigned char*)"rscr", {240, 157, 147, 135, 0}},
-{(unsigned char*)"rsh", {226, 134, 177, 0}},
-{(unsigned char*)"rsqb", {93, 0}},
-{(unsigned char*)"rsquo", {226, 128, 153, 0}},
-{(unsigned char*)"rsquor", {226, 128, 153, 0}},
-{(unsigned char*)"rthree", {226, 139, 140, 0}},
-{(unsigned char*)"rtimes", {226, 139, 138, 0}},
-{(unsigned char*)"rtri", {226, 150, 185, 0}},
-{(unsigned char*)"rtrie", {226, 138, 181, 0}},
-{(unsigned char*)"rtrif", {226, 150, 184, 0}},
-{(unsigned char*)"rtriltri", {226, 167, 142, 0}},
-{(unsigned char*)"ruluhar", {226, 165, 168, 0}},
-{(unsigned char*)"rx", {226, 132, 158, 0}},
-{(unsigned char*)"sacute", {197, 155, 0}},
-{(unsigned char*)"sbquo", {226, 128, 154, 0}},
-{(unsigned char*)"sc", {226, 137, 187, 0}},
-{(unsigned char*)"scE", {226, 170, 180, 0}},
-{(unsigned char*)"scap", {226, 170, 184, 0}},
-{(unsigned char*)"scaron", {197, 161, 0}},
-{(unsigned char*)"sccue", {226, 137, 189, 0}},
-{(unsigned char*)"sce", {226, 170, 176, 0}},
-{(unsigned char*)"scedil", {197, 159, 0}},
-{(unsigned char*)"scirc", {197, 157, 0}},
-{(unsigned char*)"scnE", {226, 170, 182, 0}},
-{(unsigned char*)"scnap", {226, 170, 186, 0}},
-{(unsigned char*)"scnsim", {226, 139, 169, 0}},
-{(unsigned char*)"scpolint", {226, 168, 147, 0}},
-{(unsigned char*)"scsim", {226, 137, 191, 0}},
-{(unsigned char*)"scy", {209, 129, 0}},
-{(unsigned char*)"sdot", {226, 139, 133, 0}},
-{(unsigned char*)"sdotb", {226, 138, 161, 0}},
-{(unsigned char*)"sdote", {226, 169, 166, 0}},
-{(unsigned char*)"seArr", {226, 135, 152, 0}},
-{(unsigned char*)"searhk", {226, 164, 165, 0}},
-{(unsigned char*)"searr", {226, 134, 152, 0}},
-{(unsigned char*)"searrow", {226, 134, 152, 0}},
-{(unsigned char*)"sect", {194, 167, 0}},
-{(unsigned char*)"semi", {59, 0}},
-{(unsigned char*)"seswar", {226, 164, 169, 0}},
-{(unsigned char*)"setminus", {226, 136, 150, 0}},
-{(unsigned char*)"setmn", {226, 136, 150, 0}},
-{(unsigned char*)"sext", {226, 156, 182, 0}},
-{(unsigned char*)"sfr", {240, 157, 148, 176, 0}},
-{(unsigned char*)"sfrown", {226, 140, 162, 0}},
-{(unsigned char*)"sharp", {226, 153, 175, 0}},
-{(unsigned char*)"shchcy", {209, 137, 0}},
-{(unsigned char*)"shcy", {209, 136, 0}},
-{(unsigned char*)"shortmid", {226, 136, 163, 0}},
-{(unsigned char*)"shortparallel", {226, 136, 165, 0}},
-{(unsigned char*)"shy", {194, 173, 0}},
-{(unsigned char*)"sigma", {207, 131, 0}},
-{(unsigned char*)"sigmaf", {207, 130, 0}},
-{(unsigned char*)"sigmav", {207, 130, 0}},
-{(unsigned char*)"sim", {226, 136, 188, 0}},
-{(unsigned char*)"simdot", {226, 169, 170, 0}},
-{(unsigned char*)"sime", {226, 137, 131, 0}},
-{(unsigned char*)"simeq", {226, 137, 131, 0}},
-{(unsigned char*)"simg", {226, 170, 158, 0}},
-{(unsigned char*)"simgE", {226, 170, 160, 0}},
-{(unsigned char*)"siml", {226, 170, 157, 0}},
-{(unsigned char*)"simlE", {226, 170, 159, 0}},
-{(unsigned char*)"simne", {226, 137, 134, 0}},
-{(unsigned char*)"simplus", {226, 168, 164, 0}},
-{(unsigned char*)"simrarr", {226, 165, 178, 0}},
-{(unsigned char*)"slarr", {226, 134, 144, 0}},
-{(unsigned char*)"smallsetminus", {226, 136, 150, 0}},
-{(unsigned char*)"smashp", {226, 168, 179, 0}},
-{(unsigned char*)"smeparsl", {226, 167, 164, 0}},
-{(unsigned char*)"smid", {226, 136, 163, 0}},
-{(unsigned char*)"smile", {226, 140, 163, 0}},
-{(unsigned char*)"smt", {226, 170, 170, 0}},
-{(unsigned char*)"smte", {226, 170, 172, 0}},
-{(unsigned char*)"smtes", {226, 170, 172, 239, 184, 128, 0}},
-{(unsigned char*)"softcy", {209, 140, 0}},
-{(unsigned char*)"sol", {47, 0}},
-{(unsigned char*)"solb", {226, 167, 132, 0}},
-{(unsigned char*)"solbar", {226, 140, 191, 0}},
-{(unsigned char*)"sopf", {240, 157, 149, 164, 0}},
-{(unsigned char*)"spades", {226, 153, 160, 0}},
-{(unsigned char*)"spadesuit", {226, 153, 160, 0}},
-{(unsigned char*)"spar", {226, 136, 165, 0}},
-{(unsigned char*)"sqcap", {226, 138, 147, 0}},
-{(unsigned char*)"sqcaps", {226, 138, 147, 239, 184, 128, 0}},
-{(unsigned char*)"sqcup", {226, 138, 148, 0}},
-{(unsigned char*)"sqcups", {226, 138, 148, 239, 184, 128, 0}},
-{(unsigned char*)"sqsub", {226, 138, 143, 0}},
-{(unsigned char*)"sqsube", {226, 138, 145, 0}},
-{(unsigned char*)"sqsubset", {226, 138, 143, 0}},
-{(unsigned char*)"sqsubseteq", {226, 138, 145, 0}},
-{(unsigned char*)"sqsup", {226, 138, 144, 0}},
-{(unsigned char*)"sqsupe", {226, 138, 146, 0}},
-{(unsigned char*)"sqsupset", {226, 138, 144, 0}},
-{(unsigned char*)"sqsupseteq", {226, 138, 146, 0}},
-{(unsigned char*)"squ", {226, 150, 161, 0}},
-{(unsigned char*)"square", {226, 150, 161, 0}},
-{(unsigned char*)"squarf", {226, 150, 170, 0}},
-{(unsigned char*)"squf", {226, 150, 170, 0}},
-{(unsigned char*)"srarr", {226, 134, 146, 0}},
-{(unsigned char*)"sscr", {240, 157, 147, 136, 0}},
-{(unsigned char*)"ssetmn", {226, 136, 150, 0}},
-{(unsigned char*)"ssmile", {226, 140, 163, 0}},
-{(unsigned char*)"sstarf", {226, 139, 134, 0}},
-{(unsigned char*)"star", {226, 152, 134, 0}},
-{(unsigned char*)"starf", {226, 152, 133, 0}},
-{(unsigned char*)"straightepsilon", {207, 181, 0}},
-{(unsigned char*)"straightphi", {207, 149, 0}},
-{(unsigned char*)"strns", {194, 175, 0}},
-{(unsigned char*)"sub", {226, 138, 130, 0}},
-{(unsigned char*)"subE", {226, 171, 133, 0}},
-{(unsigned char*)"subdot", {226, 170, 189, 0}},
-{(unsigned char*)"sube", {226, 138, 134, 0}},
-{(unsigned char*)"subedot", {226, 171, 131, 0}},
-{(unsigned char*)"submult", {226, 171, 129, 0}},
-{(unsigned char*)"subnE", {226, 171, 139, 0}},
-{(unsigned char*)"subne", {226, 138, 138, 0}},
-{(unsigned char*)"subplus", {226, 170, 191, 0}},
-{(unsigned char*)"subrarr", {226, 165, 185, 0}},
-{(unsigned char*)"subset", {226, 138, 130, 0}},
-{(unsigned char*)"subseteq", {226, 138, 134, 0}},
-{(unsigned char*)"subseteqq", {226, 171, 133, 0}},
-{(unsigned char*)"subsetneq", {226, 138, 138, 0}},
-{(unsigned char*)"subsetneqq", {226, 171, 139, 0}},
-{(unsigned char*)"subsim", {226, 171, 135, 0}},
-{(unsigned char*)"subsub", {226, 171, 149, 0}},
-{(unsigned char*)"subsup", {226, 171, 147, 0}},
-{(unsigned char*)"succ", {226, 137, 187, 0}},
-{(unsigned char*)"succapprox", {226, 170, 184, 0}},
-{(unsigned char*)"succcurlyeq", {226, 137, 189, 0}},
-{(unsigned char*)"succeq", {226, 170, 176, 0}},
-{(unsigned char*)"succnapprox", {226, 170, 186, 0}},
-{(unsigned char*)"succneqq", {226, 170, 182, 0}},
-{(unsigned char*)"succnsim", {226, 139, 169, 0}},
-{(unsigned char*)"succsim", {226, 137, 191, 0}},
-{(unsigned char*)"sum", {226, 136, 145, 0}},
-{(unsigned char*)"sung", {226, 153, 170, 0}},
-{(unsigned char*)"sup", {226, 138, 131, 0}},
-{(unsigned char*)"sup1", {194, 185, 0}},
-{(unsigned char*)"sup2", {194, 178, 0}},
-{(unsigned char*)"sup3", {194, 179, 0}},
-{(unsigned char*)"supE", {226, 171, 134, 0}},
-{(unsigned char*)"supdot", {226, 170, 190, 0}},
-{(unsigned char*)"supdsub", {226, 171, 152, 0}},
-{(unsigned char*)"supe", {226, 138, 135, 0}},
-{(unsigned char*)"supedot", {226, 171, 132, 0}},
-{(unsigned char*)"suphsol", {226, 159, 137, 0}},
-{(unsigned char*)"suphsub", {226, 171, 151, 0}},
-{(unsigned char*)"suplarr", {226, 165, 187, 0}},
-{(unsigned char*)"supmult", {226, 171, 130, 0}},
-{(unsigned char*)"supnE", {226, 171, 140, 0}},
-{(unsigned char*)"supne", {226, 138, 139, 0}},
-{(unsigned char*)"supplus", {226, 171, 128, 0}},
-{(unsigned char*)"supset", {226, 138, 131, 0}},
-{(unsigned char*)"supseteq", {226, 138, 135, 0}},
-{(unsigned char*)"supseteqq", {226, 171, 134, 0}},
-{(unsigned char*)"supsetneq", {226, 138, 139, 0}},
-{(unsigned char*)"supsetneqq", {226, 171, 140, 0}},
-{(unsigned char*)"supsim", {226, 171, 136, 0}},
-{(unsigned char*)"supsub", {226, 171, 148, 0}},
-{(unsigned char*)"supsup", {226, 171, 150, 0}},
-{(unsigned char*)"swArr", {226, 135, 153, 0}},
-{(unsigned char*)"swarhk", {226, 164, 166, 0}},
-{(unsigned char*)"swarr", {226, 134, 153, 0}},
-{(unsigned char*)"swarrow", {226, 134, 153, 0}},
-{(unsigned char*)"swnwar", {226, 164, 170, 0}},
-{(unsigned char*)"szlig", {195, 159, 0}},
-{(unsigned char*)"target", {226, 140, 150, 0}},
-{(unsigned char*)"tau", {207, 132, 0}},
-{(unsigned char*)"tbrk", {226, 142, 180, 0}},
-{(unsigned char*)"tcaron", {197, 165, 0}},
-{(unsigned char*)"tcedil", {197, 163, 0}},
-{(unsigned char*)"tcy", {209, 130, 0}},
-{(unsigned char*)"tdot", {226, 131, 155, 0}},
-{(unsigned char*)"telrec", {226, 140, 149, 0}},
-{(unsigned char*)"tfr", {240, 157, 148, 177, 0}},
-{(unsigned char*)"there4", {226, 136, 180, 0}},
-{(unsigned char*)"therefore", {226, 136, 180, 0}},
-{(unsigned char*)"theta", {206, 184, 0}},
-{(unsigned char*)"thetasym", {207, 145, 0}},
-{(unsigned char*)"thetav", {207, 145, 0}},
-{(unsigned char*)"thickapprox", {226, 137, 136, 0}},
-{(unsigned char*)"thicksim", {226, 136, 188, 0}},
-{(unsigned char*)"thinsp", {226, 128, 137, 0}},
-{(unsigned char*)"thkap", {226, 137, 136, 0}},
-{(unsigned char*)"thksim", {226, 136, 188, 0}},
-{(unsigned char*)"thorn", {195, 190, 0}},
-{(unsigned char*)"tilde", {203, 156, 0}},
-{(unsigned char*)"times", {195, 151, 0}},
-{(unsigned char*)"timesb", {226, 138, 160, 0}},
-{(unsigned char*)"timesbar", {226, 168, 177, 0}},
-{(unsigned char*)"timesd", {226, 168, 176, 0}},
-{(unsigned char*)"tint", {226, 136, 173, 0}},
-{(unsigned char*)"toea", {226, 164, 168, 0}},
-{(unsigned char*)"top", {226, 138, 164, 0}},
-{(unsigned char*)"topbot", {226, 140, 182, 0}},
-{(unsigned char*)"topcir", {226, 171, 177, 0}},
-{(unsigned char*)"topf", {240, 157, 149, 165, 0}},
-{(unsigned char*)"topfork", {226, 171, 154, 0}},
-{(unsigned char*)"tosa", {226, 164, 169, 0}},
-{(unsigned char*)"tprime", {226, 128, 180, 0}},
-{(unsigned char*)"trade", {226, 132, 162, 0}},
-{(unsigned char*)"triangle", {226, 150, 181, 0}},
-{(unsigned char*)"triangledown", {226, 150, 191, 0}},
-{(unsigned char*)"triangleleft", {226, 151, 131, 0}},
-{(unsigned char*)"trianglelefteq", {226, 138, 180, 0}},
-{(unsigned char*)"triangleq", {226, 137, 156, 0}},
-{(unsigned char*)"triangleright", {226, 150, 185, 0}},
-{(unsigned char*)"trianglerighteq", {226, 138, 181, 0}},
-{(unsigned char*)"tridot", {226, 151, 172, 0}},
-{(unsigned char*)"trie", {226, 137, 156, 0}},
-{(unsigned char*)"triminus", {226, 168, 186, 0}},
-{(unsigned char*)"triplus", {226, 168, 185, 0}},
-{(unsigned char*)"trisb", {226, 167, 141, 0}},
-{(unsigned char*)"tritime", {226, 168, 187, 0}},
-{(unsigned char*)"trpezium", {226, 143, 162, 0}},
-{(unsigned char*)"tscr", {240, 157, 147, 137, 0}},
-{(unsigned char*)"tscy", {209, 134, 0}},
-{(unsigned char*)"tshcy", {209, 155, 0}},
-{(unsigned char*)"tstrok", {197, 167, 0}},
-{(unsigned char*)"twixt", {226, 137, 172, 0}},
-{(unsigned char*)"twoheadleftarrow", {226, 134, 158, 0}},
-{(unsigned char*)"twoheadrightarrow", {226, 134, 160, 0}},
-{(unsigned char*)"uArr", {226, 135, 145, 0}},
-{(unsigned char*)"uHar", {226, 165, 163, 0}},
-{(unsigned char*)"uacute", {195, 186, 0}},
-{(unsigned char*)"uarr", {226, 134, 145, 0}},
-{(unsigned char*)"ubrcy", {209, 158, 0}},
-{(unsigned char*)"ubreve", {197, 173, 0}},
-{(unsigned char*)"ucirc", {195, 187, 0}},
-{(unsigned char*)"ucy", {209, 131, 0}},
-{(unsigned char*)"udarr", {226, 135, 133, 0}},
-{(unsigned char*)"udblac", {197, 177, 0}},
-{(unsigned char*)"udhar", {226, 165, 174, 0}},
-{(unsigned char*)"ufisht", {226, 165, 190, 0}},
-{(unsigned char*)"ufr", {240, 157, 148, 178, 0}},
-{(unsigned char*)"ugrave", {195, 185, 0}},
-{(unsigned char*)"uharl", {226, 134, 191, 0}},
-{(unsigned char*)"uharr", {226, 134, 190, 0}},
-{(unsigned char*)"uhblk", {226, 150, 128, 0}},
-{(unsigned char*)"ulcorn", {226, 140, 156, 0}},
-{(unsigned char*)"ulcorner", {226, 140, 156, 0}},
-{(unsigned char*)"ulcrop", {226, 140, 143, 0}},
-{(unsigned char*)"ultri", {226, 151, 184, 0}},
-{(unsigned char*)"umacr", {197, 171, 0}},
-{(unsigned char*)"uml", {194, 168, 0}},
-{(unsigned char*)"uogon", {197, 179, 0}},
-{(unsigned char*)"uopf", {240, 157, 149, 166, 0}},
-{(unsigned char*)"uparrow", {226, 134, 145, 0}},
-{(unsigned char*)"updownarrow", {226, 134, 149, 0}},
-{(unsigned char*)"upharpoonleft", {226, 134, 191, 0}},
-{(unsigned char*)"upharpoonright", {226, 134, 190, 0}},
-{(unsigned char*)"uplus", {226, 138, 142, 0}},
-{(unsigned char*)"upsi", {207, 133, 0}},
-{(unsigned char*)"upsih", {207, 146, 0}},
-{(unsigned char*)"upsilon", {207, 133, 0}},
-{(unsigned char*)"upuparrows", {226, 135, 136, 0}},
-{(unsigned char*)"urcorn", {226, 140, 157, 0}},
-{(unsigned char*)"urcorner", {226, 140, 157, 0}},
-{(unsigned char*)"urcrop", {226, 140, 142, 0}},
-{(unsigned char*)"uring", {197, 175, 0}},
-{(unsigned char*)"urtri", {226, 151, 185, 0}},
-{(unsigned char*)"uscr", {240, 157, 147, 138, 0}},
-{(unsigned char*)"utdot", {226, 139, 176, 0}},
-{(unsigned char*)"utilde", {197, 169, 0}},
-{(unsigned char*)"utri", {226, 150, 181, 0}},
-{(unsigned char*)"utrif", {226, 150, 180, 0}},
-{(unsigned char*)"uuarr", {226, 135, 136, 0}},
-{(unsigned char*)"uuml", {195, 188, 0}},
-{(unsigned char*)"uwangle", {226, 166, 167, 0}},
-{(unsigned char*)"vArr", {226, 135, 149, 0}},
-{(unsigned char*)"vBar", {226, 171, 168, 0}},
-{(unsigned char*)"vBarv", {226, 171, 169, 0}},
-{(unsigned char*)"vDash", {226, 138, 168, 0}},
-{(unsigned char*)"vangrt", {226, 166, 156, 0}},
-{(unsigned char*)"varepsilon", {207, 181, 0}},
-{(unsigned char*)"varkappa", {207, 176, 0}},
-{(unsigned char*)"varnothing", {226, 136, 133, 0}},
-{(unsigned char*)"varphi", {207, 149, 0}},
-{(unsigned char*)"varpi", {207, 150, 0}},
-{(unsigned char*)"varpropto", {226, 136, 157, 0}},
-{(unsigned char*)"varr", {226, 134, 149, 0}},
-{(unsigned char*)"varrho", {207, 177, 0}},
-{(unsigned char*)"varsigma", {207, 130, 0}},
-{(unsigned char*)"varsubsetneq", {226, 138, 138, 239, 184, 128, 0}},
-{(unsigned char*)"varsubsetneqq", {226, 171, 139, 239, 184, 128, 0}},
-{(unsigned char*)"varsupsetneq", {226, 138, 139, 239, 184, 128, 0}},
-{(unsigned char*)"varsupsetneqq", {226, 171, 140, 239, 184, 128, 0}},
-{(unsigned char*)"vartheta", {207, 145, 0}},
-{(unsigned char*)"vartriangleleft", {226, 138, 178, 0}},
-{(unsigned char*)"vartriangleright", {226, 138, 179, 0}},
-{(unsigned char*)"vcy", {208, 178, 0}},
-{(unsigned char*)"vdash", {226, 138, 162, 0}},
-{(unsigned char*)"vee", {226, 136, 168, 0}},
-{(unsigned char*)"veebar", {226, 138, 187, 0}},
-{(unsigned char*)"veeeq", {226, 137, 154, 0}},
-{(unsigned char*)"vellip", {226, 139, 174, 0}},
-{(unsigned char*)"verbar", {124, 0}},
-{(unsigned char*)"vert", {124, 0}},
-{(unsigned char*)"vfr", {240, 157, 148, 179, 0}},
-{(unsigned char*)"vltri", {226, 138, 178, 0}},
-{(unsigned char*)"vnsub", {226, 138, 130, 226, 131, 146, 0}},
-{(unsigned char*)"vnsup", {226, 138, 131, 226, 131, 146, 0}},
-{(unsigned char*)"vopf", {240, 157, 149, 167, 0}},
-{(unsigned char*)"vprop", {226, 136, 157, 0}},
-{(unsigned char*)"vrtri", {226, 138, 179, 0}},
-{(unsigned char*)"vscr", {240, 157, 147, 139, 0}},
-{(unsigned char*)"vsubnE", {226, 171, 139, 239, 184, 128, 0}},
-{(unsigned char*)"vsubne", {226, 138, 138, 239, 184, 128, 0}},
-{(unsigned char*)"vsupnE", {226, 171, 140, 239, 184, 128, 0}},
-{(unsigned char*)"vsupne", {226, 138, 139, 239, 184, 128, 0}},
-{(unsigned char*)"vzigzag", {226, 166, 154, 0}},
-{(unsigned char*)"wcirc", {197, 181, 0}},
-{(unsigned char*)"wedbar", {226, 169, 159, 0}},
-{(unsigned char*)"wedge", {226, 136, 167, 0}},
-{(unsigned char*)"wedgeq", {226, 137, 153, 0}},
-{(unsigned char*)"weierp", {226, 132, 152, 0}},
-{(unsigned char*)"wfr", {240, 157, 148, 180, 0}},
-{(unsigned char*)"wopf", {240, 157, 149, 168, 0}},
-{(unsigned char*)"wp", {226, 132, 152, 0}},
-{(unsigned char*)"wr", {226, 137, 128, 0}},
-{(unsigned char*)"wreath", {226, 137, 128, 0}},
-{(unsigned char*)"wscr", {240, 157, 147, 140, 0}},
-{(unsigned char*)"xcap", {226, 139, 130, 0}},
-{(unsigned char*)"xcirc", {226, 151, 175, 0}},
-{(unsigned char*)"xcup", {226, 139, 131, 0}},
-{(unsigned char*)"xdtri", {226, 150, 189, 0}},
-{(unsigned char*)"xfr", {240, 157, 148, 181, 0}},
-{(unsigned char*)"xhArr", {226, 159, 186, 0}},
-{(unsigned char*)"xharr", {226, 159, 183, 0}},
-{(unsigned char*)"xi", {206, 190, 0}},
-{(unsigned char*)"xlArr", {226, 159, 184, 0}},
-{(unsigned char*)"xlarr", {226, 159, 181, 0}},
-{(unsigned char*)"xmap", {226, 159, 188, 0}},
-{(unsigned char*)"xnis", {226, 139, 187, 0}},
-{(unsigned char*)"xodot", {226, 168, 128, 0}},
-{(unsigned char*)"xopf", {240, 157, 149, 169, 0}},
-{(unsigned char*)"xoplus", {226, 168, 129, 0}},
-{(unsigned char*)"xotime", {226, 168, 130, 0}},
-{(unsigned char*)"xrArr", {226, 159, 185, 0}},
-{(unsigned char*)"xrarr", {226, 159, 182, 0}},
-{(unsigned char*)"xscr", {240, 157, 147, 141, 0}},
-{(unsigned char*)"xsqcup", {226, 168, 134, 0}},
-{(unsigned char*)"xuplus", {226, 168, 132, 0}},
-{(unsigned char*)"xutri", {226, 150, 179, 0}},
-{(unsigned char*)"xvee", {226, 139, 129, 0}},
-{(unsigned char*)"xwedge", {226, 139, 128, 0}},
-{(unsigned char*)"yacute", {195, 189, 0}},
-{(unsigned char*)"yacy", {209, 143, 0}},
-{(unsigned char*)"ycirc", {197, 183, 0}},
-{(unsigned char*)"ycy", {209, 139, 0}},
-{(unsigned char*)"yen", {194, 165, 0}},
-{(unsigned char*)"yfr", {240, 157, 148, 182, 0}},
-{(unsigned char*)"yicy", {209, 151, 0}},
-{(unsigned char*)"yopf", {240, 157, 149, 170, 0}},
-{(unsigned char*)"yscr", {240, 157, 147, 142, 0}},
-{(unsigned char*)"yucy", {209, 142, 0}},
-{(unsigned char*)"yuml", {195, 191, 0}},
-{(unsigned char*)"zacute", {197, 186, 0}},
-{(unsigned char*)"zcaron", {197, 190, 0}},
-{(unsigned char*)"zcy", {208, 183, 0}},
-{(unsigned char*)"zdot", {197, 188, 0}},
-{(unsigned char*)"zeetrf", {226, 132, 168, 0}},
-{(unsigned char*)"zeta", {206, 182, 0}},
-{(unsigned char*)"zfr", {240, 157, 148, 183, 0}},
-{(unsigned char*)"zhcy", {208, 182, 0}},
-{(unsigned char*)"zigrarr", {226, 135, 157, 0}},
-{(unsigned char*)"zopf", {240, 157, 149, 171, 0}},
-{(unsigned char*)"zscr", {240, 157, 147, 143, 0}},
-{(unsigned char*)"zwj", {226, 128, 141, 0}},
-{(unsigned char*)"zwnj", {226, 128, 140, 0}},
-};
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.c
deleted file mode 100644
index 0d3ba28..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.c
+++ /dev/null
@@ -1,879 +0,0 @@
-/* Generated by re2c 1.3 */
-
-#include "ext_scanners.h"
-#include 
-
-bufsize_t _ext_scan_at(bufsize_t (*scanner)(const unsigned char *),
-                       unsigned char *ptr, int len, bufsize_t offset) {
-  bufsize_t res;
-
-  if (ptr == NULL || offset >= len) {
-    return 0;
-  } else {
-    unsigned char lim = ptr[len];
-
-    ptr[len] = '\0';
-    res = scanner(ptr + offset);
-    ptr[len] = lim;
-  }
-
-  return res;
-}
-
-bufsize_t _scan_table_start(const unsigned char *p) {
-  const unsigned char *marker = NULL;
-  const unsigned char *start = p;
-
-  {
-    unsigned char yych;
-    static const unsigned char yybm[] = {
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 64, 0,  64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  64, 0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 128, 0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0,
-    };
-    yych = *p;
-    if (yych <= ' ') {
-      if (yych <= '\n') {
-        if (yych == '\t')
-          goto yy4;
-      } else {
-        if (yych <= '\f')
-          goto yy4;
-        if (yych >= ' ')
-          goto yy4;
-      }
-    } else {
-      if (yych <= '9') {
-        if (yych == '-')
-          goto yy5;
-      } else {
-        if (yych <= ':')
-          goto yy6;
-        if (yych == '|')
-          goto yy4;
-      }
-    }
-    ++p;
-  yy3 : { return 0; }
-  yy4:
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 64) {
-      goto yy7;
-    }
-    if (yych == '-')
-      goto yy10;
-    if (yych == ':')
-      goto yy12;
-    goto yy3;
-  yy5:
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 128) {
-      goto yy10;
-    }
-    if (yych <= ' ') {
-      if (yych <= 0x08)
-        goto yy3;
-      if (yych <= '\r')
-        goto yy14;
-      if (yych <= 0x1F)
-        goto yy3;
-      goto yy14;
-    } else {
-      if (yych <= ':') {
-        if (yych <= '9')
-          goto yy3;
-        goto yy13;
-      } else {
-        if (yych == '|')
-          goto yy14;
-        goto yy3;
-      }
-    }
-  yy6:
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 128) {
-      goto yy10;
-    }
-    goto yy3;
-  yy7:
-    yych = *++p;
-    if (yybm[0 + yych] & 64) {
-      goto yy7;
-    }
-    if (yych == '-')
-      goto yy10;
-    if (yych == ':')
-      goto yy12;
-  yy9:
-    p = marker;
-    goto yy3;
-  yy10:
-    yych = *++p;
-    if (yybm[0 + yych] & 128) {
-      goto yy10;
-    }
-    if (yych <= 0x1F) {
-      if (yych <= '\n') {
-        if (yych <= 0x08)
-          goto yy9;
-        if (yych <= '\t')
-          goto yy13;
-        goto yy15;
-      } else {
-        if (yych <= '\f')
-          goto yy13;
-        if (yych <= '\r')
-          goto yy17;
-        goto yy9;
-      }
-    } else {
-      if (yych <= ':') {
-        if (yych <= ' ')
-          goto yy13;
-        if (yych <= '9')
-          goto yy9;
-        goto yy13;
-      } else {
-        if (yych == '|')
-          goto yy18;
-        goto yy9;
-      }
-    }
-  yy12:
-    yych = *++p;
-    if (yybm[0 + yych] & 128) {
-      goto yy10;
-    }
-    goto yy9;
-  yy13:
-    yych = *++p;
-  yy14:
-    if (yych <= '\r') {
-      if (yych <= '\t') {
-        if (yych <= 0x08)
-          goto yy9;
-        goto yy13;
-      } else {
-        if (yych <= '\n')
-          goto yy15;
-        if (yych <= '\f')
-          goto yy13;
-        goto yy17;
-      }
-    } else {
-      if (yych <= ' ') {
-        if (yych <= 0x1F)
-          goto yy9;
-        goto yy13;
-      } else {
-        if (yych == '|')
-          goto yy18;
-        goto yy9;
-      }
-    }
-  yy15:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy17:
-    yych = *++p;
-    if (yych == '\n')
-      goto yy15;
-    goto yy9;
-  yy18:
-    yych = *++p;
-    if (yybm[0 + yych] & 128) {
-      goto yy10;
-    }
-    if (yych <= '\r') {
-      if (yych <= '\t') {
-        if (yych <= 0x08)
-          goto yy9;
-        goto yy18;
-      } else {
-        if (yych <= '\n')
-          goto yy15;
-        if (yych <= '\f')
-          goto yy18;
-        goto yy17;
-      }
-    } else {
-      if (yych <= ' ') {
-        if (yych <= 0x1F)
-          goto yy9;
-        goto yy18;
-      } else {
-        if (yych == ':')
-          goto yy12;
-        goto yy9;
-      }
-    }
-  }
-}
-
-bufsize_t _scan_table_cell(const unsigned char *p) {
-  const unsigned char *marker = NULL;
-  const unsigned char *start = p;
-
-  {
-    unsigned char yych;
-    unsigned int yyaccept = 0;
-    static const unsigned char yybm[] = {
-        64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 0,  64, 64, 0,  64, 64, 64, 64,
-        64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-        64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-        64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-        64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-        64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-        64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0,  64,
-        64, 64, 0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-        0,  0,  0,   0,
-    };
-    yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy22;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= '\r')
-          goto yy25;
-        if (yych <= '\\')
-          goto yy27;
-        goto yy25;
-      } else {
-        if (yych <= 0xDF)
-          goto yy29;
-        if (yych <= 0xE0)
-          goto yy30;
-        goto yy31;
-      }
-    } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy32;
-        if (yych <= 0xEF)
-          goto yy31;
-        goto yy33;
-      } else {
-        if (yych <= 0xF3)
-          goto yy34;
-        if (yych <= 0xF4)
-          goto yy35;
-        goto yy25;
-      }
-    }
-  yy22:
-    yyaccept = 0;
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 64) {
-      goto yy22;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= '\r')
-          goto yy24;
-        if (yych <= '\\')
-          goto yy27;
-      } else {
-        if (yych <= 0xDF)
-          goto yy36;
-        if (yych <= 0xE0)
-          goto yy38;
-        goto yy39;
-      }
-    } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy40;
-        if (yych <= 0xEF)
-          goto yy39;
-        goto yy41;
-      } else {
-        if (yych <= 0xF3)
-          goto yy42;
-        if (yych <= 0xF4)
-          goto yy43;
-      }
-    }
-  yy24 : { return (bufsize_t)(p - start); }
-  yy25:
-    ++p;
-  yy26 : { return 0; }
-  yy27:
-    yyaccept = 0;
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 128) {
-      goto yy27;
-    }
-    if (yych <= 0xDF) {
-      if (yych <= '\f') {
-        if (yych == '\n')
-          goto yy24;
-        goto yy22;
-      } else {
-        if (yych <= '\r')
-          goto yy24;
-        if (yych <= 0x7F)
-          goto yy22;
-        if (yych <= 0xC1)
-          goto yy24;
-        goto yy36;
-      }
-    } else {
-      if (yych <= 0xEF) {
-        if (yych <= 0xE0)
-          goto yy38;
-        if (yych == 0xED)
-          goto yy40;
-        goto yy39;
-      } else {
-        if (yych <= 0xF0)
-          goto yy41;
-        if (yych <= 0xF3)
-          goto yy42;
-        if (yych <= 0xF4)
-          goto yy43;
-        goto yy24;
-      }
-    }
-  yy29:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy26;
-    if (yych <= 0xBF)
-      goto yy22;
-    goto yy26;
-  yy30:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych <= 0x9F)
-      goto yy26;
-    if (yych <= 0xBF)
-      goto yy36;
-    goto yy26;
-  yy31:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych <= 0x7F)
-      goto yy26;
-    if (yych <= 0xBF)
-      goto yy36;
-    goto yy26;
-  yy32:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych <= 0x7F)
-      goto yy26;
-    if (yych <= 0x9F)
-      goto yy36;
-    goto yy26;
-  yy33:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych <= 0x8F)
-      goto yy26;
-    if (yych <= 0xBF)
-      goto yy39;
-    goto yy26;
-  yy34:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych <= 0x7F)
-      goto yy26;
-    if (yych <= 0xBF)
-      goto yy39;
-    goto yy26;
-  yy35:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych <= 0x7F)
-      goto yy26;
-    if (yych <= 0x8F)
-      goto yy39;
-    goto yy26;
-  yy36:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy37;
-    if (yych <= 0xBF)
-      goto yy22;
-  yy37:
-    p = marker;
-    if (yyaccept == 0) {
-      goto yy24;
-    } else {
-      goto yy26;
-    }
-  yy38:
-    yych = *++p;
-    if (yych <= 0x9F)
-      goto yy37;
-    if (yych <= 0xBF)
-      goto yy36;
-    goto yy37;
-  yy39:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy37;
-    if (yych <= 0xBF)
-      goto yy36;
-    goto yy37;
-  yy40:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy37;
-    if (yych <= 0x9F)
-      goto yy36;
-    goto yy37;
-  yy41:
-    yych = *++p;
-    if (yych <= 0x8F)
-      goto yy37;
-    if (yych <= 0xBF)
-      goto yy39;
-    goto yy37;
-  yy42:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy37;
-    if (yych <= 0xBF)
-      goto yy39;
-    goto yy37;
-  yy43:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy37;
-    if (yych <= 0x8F)
-      goto yy39;
-    goto yy37;
-  }
-}
-
-bufsize_t _scan_table_cell_end(const unsigned char *p) {
-  const unsigned char *start = p;
-
-  {
-    unsigned char yych;
-    static const unsigned char yybm[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   128, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0,
-    };
-    yych = *p;
-    if (yych == '|')
-      goto yy48;
-    ++p;
-    { return 0; }
-  yy48:
-    yych = *++p;
-    if (yybm[0 + yych] & 128) {
-      goto yy48;
-    }
-    { return (bufsize_t)(p - start); }
-  }
-}
-
-bufsize_t _scan_table_row_end(const unsigned char *p) {
-  const unsigned char *marker = NULL;
-  const unsigned char *start = p;
-
-  {
-    unsigned char yych;
-    static const unsigned char yybm[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   128, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0,
-    };
-    yych = *p;
-    if (yych <= '\f') {
-      if (yych <= 0x08)
-        goto yy53;
-      if (yych == '\n')
-        goto yy56;
-      goto yy55;
-    } else {
-      if (yych <= '\r')
-        goto yy58;
-      if (yych == ' ')
-        goto yy55;
-    }
-  yy53:
-    ++p;
-  yy54 : { return 0; }
-  yy55:
-    yych = *(marker = ++p);
-    if (yych <= 0x08)
-      goto yy54;
-    if (yych <= '\r')
-      goto yy60;
-    if (yych == ' ')
-      goto yy60;
-    goto yy54;
-  yy56:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy58:
-    yych = *++p;
-    if (yych == '\n')
-      goto yy56;
-    goto yy54;
-  yy59:
-    yych = *++p;
-  yy60:
-    if (yybm[0 + yych] & 128) {
-      goto yy59;
-    }
-    if (yych <= 0x08)
-      goto yy61;
-    if (yych <= '\n')
-      goto yy56;
-    if (yych <= '\r')
-      goto yy62;
-  yy61:
-    p = marker;
-    goto yy54;
-  yy62:
-    yych = *++p;
-    if (yych == '\n')
-      goto yy56;
-    goto yy61;
-  }
-}
-
-bufsize_t _scan_tasklist(const unsigned char *p) {
-  const unsigned char *marker = NULL;
-  const unsigned char *start = p;
-
-  {
-    unsigned char yych;
-    static const unsigned char yybm[] = {
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   64,  0, 64, 64, 0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        64,  0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 0,  0,  0, 0, 0,
-    };
-    yych = *p;
-    if (yych <= ' ') {
-      if (yych <= '\n') {
-        if (yych == '\t')
-          goto yy67;
-      } else {
-        if (yych <= '\f')
-          goto yy67;
-        if (yych >= ' ')
-          goto yy67;
-      }
-    } else {
-      if (yych <= ',') {
-        if (yych <= ')')
-          goto yy65;
-        if (yych <= '+')
-          goto yy68;
-      } else {
-        if (yych <= '-')
-          goto yy68;
-        if (yych <= '/')
-          goto yy65;
-        if (yych <= '9')
-          goto yy69;
-      }
-    }
-  yy65:
-    ++p;
-  yy66 : { return 0; }
-  yy67:
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 64) {
-      goto yy70;
-    }
-    if (yych <= ',') {
-      if (yych <= ')')
-        goto yy66;
-      if (yych <= '+')
-        goto yy73;
-      goto yy66;
-    } else {
-      if (yych <= '-')
-        goto yy73;
-      if (yych <= '/')
-        goto yy66;
-      if (yych <= '9')
-        goto yy74;
-      goto yy66;
-    }
-  yy68:
-    yych = *(marker = ++p);
-    if (yych <= '\n') {
-      if (yych == '\t')
-        goto yy75;
-      goto yy66;
-    } else {
-      if (yych <= '\f')
-        goto yy75;
-      if (yych == ' ')
-        goto yy75;
-      goto yy66;
-    }
-  yy69:
-    yych = *(marker = ++p);
-    if (yych <= 0x1F) {
-      if (yych <= '\t') {
-        if (yych <= 0x08)
-          goto yy78;
-        goto yy73;
-      } else {
-        if (yych <= '\n')
-          goto yy66;
-        if (yych <= '\f')
-          goto yy73;
-        goto yy78;
-      }
-    } else {
-      if (yych <= 0x7F) {
-        if (yych <= ' ')
-          goto yy73;
-        goto yy78;
-      } else {
-        if (yych <= 0xC1)
-          goto yy66;
-        if (yych <= 0xF4)
-          goto yy78;
-        goto yy66;
-      }
-    }
-  yy70:
-    yych = *++p;
-    if (yybm[0 + yych] & 64) {
-      goto yy70;
-    }
-    if (yych <= ',') {
-      if (yych <= ')')
-        goto yy72;
-      if (yych <= '+')
-        goto yy73;
-    } else {
-      if (yych <= '-')
-        goto yy73;
-      if (yych <= '/')
-        goto yy72;
-      if (yych <= '9')
-        goto yy74;
-    }
-  yy72:
-    p = marker;
-    goto yy66;
-  yy73:
-    yych = *++p;
-    if (yych == '[')
-      goto yy72;
-    goto yy76;
-  yy74:
-    yych = *++p;
-    if (yych <= '\n') {
-      if (yych == '\t')
-        goto yy73;
-      goto yy78;
-    } else {
-      if (yych <= '\f')
-        goto yy73;
-      if (yych == ' ')
-        goto yy73;
-      goto yy78;
-    }
-  yy75:
-    yych = *++p;
-  yy76:
-    if (yych <= '\f') {
-      if (yych == '\t')
-        goto yy75;
-      if (yych <= '\n')
-        goto yy72;
-      goto yy75;
-    } else {
-      if (yych <= ' ') {
-        if (yych <= 0x1F)
-          goto yy72;
-        goto yy75;
-      } else {
-        if (yych == '[')
-          goto yy86;
-        goto yy72;
-      }
-    }
-  yy77:
-    yych = *++p;
-  yy78:
-    if (yybm[0 + yych] & 128) {
-      goto yy77;
-    }
-    if (yych <= 0xC1) {
-      if (yych <= '\f') {
-        if (yych <= 0x08)
-          goto yy73;
-        if (yych == '\n')
-          goto yy72;
-        goto yy75;
-      } else {
-        if (yych == ' ')
-          goto yy75;
-        if (yych <= 0x7F)
-          goto yy73;
-        goto yy72;
-      }
-    } else {
-      if (yych <= 0xED) {
-        if (yych <= 0xDF)
-          goto yy79;
-        if (yych <= 0xE0)
-          goto yy80;
-        if (yych <= 0xEC)
-          goto yy81;
-        goto yy82;
-      } else {
-        if (yych <= 0xF0) {
-          if (yych <= 0xEF)
-            goto yy81;
-          goto yy83;
-        } else {
-          if (yych <= 0xF3)
-            goto yy84;
-          if (yych <= 0xF4)
-            goto yy85;
-          goto yy72;
-        }
-      }
-    }
-  yy79:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy72;
-    if (yych <= 0xBF)
-      goto yy73;
-    goto yy72;
-  yy80:
-    yych = *++p;
-    if (yych <= 0x9F)
-      goto yy72;
-    if (yych <= 0xBF)
-      goto yy79;
-    goto yy72;
-  yy81:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy72;
-    if (yych <= 0xBF)
-      goto yy79;
-    goto yy72;
-  yy82:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy72;
-    if (yych <= 0x9F)
-      goto yy79;
-    goto yy72;
-  yy83:
-    yych = *++p;
-    if (yych <= 0x8F)
-      goto yy72;
-    if (yych <= 0xBF)
-      goto yy81;
-    goto yy72;
-  yy84:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy72;
-    if (yych <= 0xBF)
-      goto yy81;
-    goto yy72;
-  yy85:
-    yych = *++p;
-    if (yych <= 0x7F)
-      goto yy72;
-    if (yych <= 0x8F)
-      goto yy81;
-    goto yy72;
-  yy86:
-    yych = *++p;
-    if (yych <= 'W') {
-      if (yych != ' ')
-        goto yy72;
-    } else {
-      if (yych <= 'X')
-        goto yy87;
-      if (yych != 'x')
-        goto yy72;
-    }
-  yy87:
-    yych = *++p;
-    if (yych != ']')
-      goto yy72;
-    yych = *++p;
-    if (yych <= '\n') {
-      if (yych != '\t')
-        goto yy72;
-    } else {
-      if (yych <= '\f')
-        goto yy89;
-      if (yych != ' ')
-        goto yy72;
-    }
-  yy89:
-    yych = *++p;
-    if (yych <= '\n') {
-      if (yych == '\t')
-        goto yy89;
-    } else {
-      if (yych <= '\f')
-        goto yy89;
-      if (yych == ' ')
-        goto yy89;
-    }
-    { return (bufsize_t)(p - start); }
-  }
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.h
deleted file mode 100644
index 6dd4a72..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "chunk.h"
-#include "cmark-gfm.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-bufsize_t _ext_scan_at(bufsize_t (*scanner)(const unsigned char *),
-                       unsigned char *ptr, int len, bufsize_t offset);
-bufsize_t _scan_table_start(const unsigned char *p);
-bufsize_t _scan_table_cell(const unsigned char *p);
-bufsize_t _scan_table_cell_end(const unsigned char *p);
-bufsize_t _scan_table_row_end(const unsigned char *p);
-bufsize_t _scan_tasklist(const unsigned char *p);
-
-#define scan_table_start(c, l, n) _ext_scan_at(&_scan_table_start, c, l, n)
-#define scan_table_cell(c, l, n) _ext_scan_at(&_scan_table_cell, c, l, n)
-#define scan_table_cell_end(c, l, n) _ext_scan_at(&_scan_table_cell_end, c, l, n)
-#define scan_table_row_end(c, l, n) _ext_scan_at(&_scan_table_row_end, c, l, n)
-#define scan_tasklist(c, l, n) _ext_scan_at(&_scan_tasklist, c, l, n)
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.o
deleted file mode 100644
index 20dc79d..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/ext_scanners.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/extconf.rb
deleted file mode 100644
index c64da73..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/extconf.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# frozen_string_literal: true
-
-require 'mkmf'
-
-$CFLAGS << ' -std=c99'
-
-create_makefile('commonmarker/commonmarker')
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.c
deleted file mode 100644
index c2b745f..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include "cmark-gfm.h"
-#include "parser.h"
-#include "footnotes.h"
-#include "inlines.h"
-#include "chunk.h"
-
-static void footnote_free(cmark_map *map, cmark_map_entry *_ref) {
-  cmark_footnote *ref = (cmark_footnote *)_ref;
-  cmark_mem *mem = map->mem;
-  if (ref != NULL) {
-    mem->free(ref->entry.label);
-    if (ref->node)
-      cmark_node_free(ref->node);
-    mem->free(ref);
-  }
-}
-
-void cmark_footnote_create(cmark_map *map, cmark_node *node) {
-  cmark_footnote *ref;
-  unsigned char *reflabel = normalize_map_label(map->mem, &node->as.literal);
-
-  /* empty footnote name, or composed from only whitespace */
-  if (reflabel == NULL)
-    return;
-
-  assert(map->sorted == NULL);
-
-  ref = (cmark_footnote *)map->mem->calloc(1, sizeof(*ref));
-  ref->entry.label = reflabel;
-  ref->node = node;
-  ref->entry.age = map->size;
-  ref->entry.next = map->refs;
-
-  map->refs = (cmark_map_entry *)ref;
-  map->size++;
-}
-
-cmark_map *cmark_footnote_map_new(cmark_mem *mem) {
-  return cmark_map_new(mem, footnote_free);
-}
-
-// Before calling `cmark_map_free` on a map with `cmark_footnotes`, first
-// unlink all of the footnote nodes before freeing their memory.
-//
-// Sometimes, two (unused) footnote nodes can end up referencing each other,
-// which as they get freed up by calling `cmark_map_free` -> `footnote_free` ->
-// etc, can lead to a use-after-free error.
-//
-// Better to `unlink` every footnote node first, setting their next, prev, and
-// parent pointers to NULL, and only then walk thru & free them up.
-void cmark_unlink_footnotes_map(cmark_map *map) {
-  cmark_map_entry *ref;
-  cmark_map_entry *next;
-
-  ref = map->refs;
-  while(ref) {
-    next = ref->next;
-    if (((cmark_footnote *)ref)->node) {
-      cmark_node_unlink(((cmark_footnote *)ref)->node);
-    }
-    ref = next;
-  }
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.h
deleted file mode 100644
index 64e2901..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef CMARK_FOOTNOTES_H
-#define CMARK_FOOTNOTES_H
-
-#include "map.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct cmark_footnote {
-  cmark_map_entry entry;
-  cmark_node *node;
-  unsigned int ix;
-};
-
-typedef struct cmark_footnote cmark_footnote;
-
-void cmark_footnote_create(cmark_map *map, cmark_node *node);
-cmark_map *cmark_footnote_map_new(cmark_mem *mem);
-
-void cmark_unlink_footnotes_map(cmark_map *map);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.o
deleted file mode 100644
index f6698cf..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/footnotes.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini.h
deleted file mode 100644
index 7625b04..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef CMARK_HOUDINI_H
-#define CMARK_HOUDINI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include 
-#include "config.h"
-#include "buffer.h"
-
-#ifdef HAVE___BUILTIN_EXPECT
-#define likely(x) __builtin_expect((x), 1)
-#define unlikely(x) __builtin_expect((x), 0)
-#else
-#define likely(x) (x)
-#define unlikely(x) (x)
-#endif
-
-#ifdef HOUDINI_USE_LOCALE
-#define _isxdigit(c) isxdigit(c)
-#define _isdigit(c) isdigit(c)
-#else
-/*
- * Helper _isdigit methods -- do not trust the current locale
- * */
-#define _isxdigit(c) (strchr("0123456789ABCDEFabcdef", (c)) != NULL)
-#define _isdigit(c) ((c) >= '0' && (c) <= '9')
-#endif
-
-#define HOUDINI_ESCAPED_SIZE(x) (((x)*12) / 10)
-#define HOUDINI_UNESCAPED_SIZE(x) (x)
-
-CMARK_GFM_EXPORT
-bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
-                                      bufsize_t size);
-CMARK_GFM_EXPORT
-int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src,
-                               bufsize_t size);
-CMARK_GFM_EXPORT
-int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src,
-                                bufsize_t size, int secure);
-CMARK_GFM_EXPORT
-int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
-                                 bufsize_t size);
-CMARK_GFM_EXPORT
-void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
-                                    bufsize_t size);
-CMARK_GFM_EXPORT
-int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src,
-                               bufsize_t size);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_href_e.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_href_e.c
deleted file mode 100644
index 1693891..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_href_e.c
+++ /dev/null
@@ -1,100 +0,0 @@
-#include 
-#include 
-#include 
-
-#include "houdini.h"
-
-/*
- * The following characters will not be escaped:
- *
- *		-_.+!*'(),%#@?=;:/,+&$~ alphanum
- *
- * Note that this character set is the addition of:
- *
- *	- The characters which are safe to be in an URL
- *	- The characters which are *not* safe to be in
- *	an URL because they are RESERVED characters.
- *
- * We assume (lazily) that any RESERVED char that
- * appears inside an URL is actually meant to
- * have its native function (i.e. as an URL
- * component/separator) and hence needs no escaping.
- *
- * There are two exceptions: the chacters & (amp)
- * and ' (single quote) do not appear in the table.
- * They are meant to appear in the URL as components,
- * yet they require special HTML-entity escaping
- * to generate valid HTML markup.
- *
- * All other characters will be escaped to %XX.
- *
- */
-static const char HREF_SAFE[] = {
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 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, 0, 0, 0, 0, 1,
-    0, 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, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size) {
-  static const uint8_t hex_chars[] = "0123456789ABCDEF";
-  bufsize_t i = 0, org;
-  uint8_t hex_str[3];
-
-  hex_str[0] = '%';
-
-  while (i < size) {
-    org = i;
-    while (i < size && HREF_SAFE[src[i]] != 0)
-      i++;
-
-    if (likely(i > org))
-      cmark_strbuf_put(ob, src + org, i - org);
-
-    /* escaping */
-    if (i >= size)
-      break;
-
-    switch (src[i]) {
-    /* amp appears all the time in URLs, but needs
-     * HTML-entity escaping to be inside an href */
-    case '&':
-      cmark_strbuf_puts(ob, "&");
-      break;
-
-    /* the single quote is a valid URL character
-     * according to the standard; it needs HTML
-     * entity escaping too */
-    case '\'':
-      cmark_strbuf_puts(ob, "'");
-      break;
-
-/* the space can be escaped to %20 or a plus
- * sign. we're going with the generic escape
- * for now. the plus thing is more commonly seen
- * when building GET strings */
-#if 0
-		case ' ':
-			cmark_strbuf_putc(ob, '+');
-			break;
-#endif
-
-    /* every other character goes with a %XX escaping */
-    default:
-      hex_str[1] = hex_chars[(src[i] >> 4) & 0xF];
-      hex_str[2] = hex_chars[src[i] & 0xF];
-      cmark_strbuf_put(ob, hex_str, 3);
-    }
-
-    i++;
-  }
-
-  return 1;
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_href_e.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_href_e.o
deleted file mode 100644
index b066401..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_href_e.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_e.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_e.c
deleted file mode 100644
index da0b15c..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_e.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include 
-#include 
-#include 
-
-#include "houdini.h"
-
-/**
- * According to the OWASP rules:
- *
- * & --> &
- * < --> <
- * > --> >
- * " --> "
- * ' --> '     ' is not recommended
- * / --> /     forward slash is included as it helps end an HTML entity
- *
- */
-static const char HTML_ESCAPE_TABLE[] = {
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 4,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-};
-
-static const char *HTML_ESCAPES[] = {"",      """, "&", "'",
-                                     "/", "<",   ">"};
-
-int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size,
-                         int secure) {
-  bufsize_t i = 0, org, esc = 0;
-
-  while (i < size) {
-    org = i;
-    while (i < size && (esc = HTML_ESCAPE_TABLE[src[i]]) == 0)
-      i++;
-
-    if (i > org)
-      cmark_strbuf_put(ob, src + org, i - org);
-
-    /* escaping */
-    if (unlikely(i >= size))
-      break;
-
-    /* The forward slash and single quote are only escaped in secure mode */
-    if ((src[i] == '/' || src[i] == '\'') && !secure) {
-      cmark_strbuf_putc(ob, src[i]);
-    } else {
-      cmark_strbuf_puts(ob, HTML_ESCAPES[esc]);
-    }
-
-    i++;
-  }
-
-  return 1;
-}
-
-int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size) {
-  return houdini_escape_html0(ob, src, size, 1);
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_e.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_e.o
deleted file mode 100644
index 7c48656..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_e.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_u.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_u.c
deleted file mode 100644
index 30d08aa..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_u.c
+++ /dev/null
@@ -1,149 +0,0 @@
-#include 
-#include 
-#include 
-
-#include "buffer.h"
-#include "houdini.h"
-#include "utf8.h"
-#include "entities.inc"
-
-/* Binary tree lookup code for entities added by JGM */
-
-static const unsigned char *S_lookup(int i, int low, int hi,
-                                     const unsigned char *s, int len) {
-  int j;
-  int cmp =
-      strncmp((const char *)s, (const char *)cmark_entities[i].entity, len);
-  if (cmp == 0 && cmark_entities[i].entity[len] == 0) {
-    return (const unsigned char *)cmark_entities[i].bytes;
-  } else if (cmp <= 0 && i > low) {
-    j = i - ((i - low) / 2);
-    if (j == i)
-      j -= 1;
-    return S_lookup(j, low, i - 1, s, len);
-  } else if (cmp > 0 && i < hi) {
-    j = i + ((hi - i) / 2);
-    if (j == i)
-      j += 1;
-    return S_lookup(j, i + 1, hi, s, len);
-  } else {
-    return NULL;
-  }
-}
-
-static const unsigned char *S_lookup_entity(const unsigned char *s, int len) {
-  return S_lookup(CMARK_NUM_ENTITIES / 2, 0, CMARK_NUM_ENTITIES - 1, s, len);
-}
-
-bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
-                               bufsize_t size) {
-  bufsize_t i = 0;
-
-  if (size >= 3 && src[0] == '#') {
-    int codepoint = 0;
-    int num_digits = 0;
-
-    if (_isdigit(src[1])) {
-      for (i = 1; i < size && _isdigit(src[i]); ++i) {
-        codepoint = (codepoint * 10) + (src[i] - '0');
-
-        if (codepoint >= 0x110000) {
-          // Keep counting digits but
-          // avoid integer overflow.
-          codepoint = 0x110000;
-        }
-      }
-
-      num_digits = i - 1;
-    }
-
-    else if (src[1] == 'x' || src[1] == 'X') {
-      for (i = 2; i < size && _isxdigit(src[i]); ++i) {
-        codepoint = (codepoint * 16) + ((src[i] | 32) % 39 - 9);
-
-        if (codepoint >= 0x110000) {
-          // Keep counting digits but
-          // avoid integer overflow.
-          codepoint = 0x110000;
-        }
-      }
-
-      num_digits = i - 2;
-    }
-
-    if (num_digits >= 1 && num_digits <= 8 && i < size && src[i] == ';') {
-      if (codepoint == 0 || (codepoint >= 0xD800 && codepoint < 0xE000) ||
-          codepoint >= 0x110000) {
-        codepoint = 0xFFFD;
-      }
-      cmark_utf8proc_encode_char(codepoint, ob);
-      return i + 1;
-    }
-  }
-
-  else {
-    if (size > CMARK_ENTITY_MAX_LENGTH)
-      size = CMARK_ENTITY_MAX_LENGTH;
-
-    for (i = CMARK_ENTITY_MIN_LENGTH; i < size; ++i) {
-      if (src[i] == ' ')
-        break;
-
-      if (src[i] == ';') {
-        const unsigned char *entity = S_lookup_entity(src, i);
-
-        if (entity != NULL) {
-          cmark_strbuf_puts(ob, (const char *)entity);
-          return i + 1;
-        }
-
-        break;
-      }
-    }
-  }
-
-  return 0;
-}
-
-int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
-                          bufsize_t size) {
-  bufsize_t i = 0, org, ent;
-
-  while (i < size) {
-    org = i;
-    while (i < size && src[i] != '&')
-      i++;
-
-    if (likely(i > org)) {
-      if (unlikely(org == 0)) {
-        if (i >= size)
-          return 0;
-
-        cmark_strbuf_grow(ob, HOUDINI_UNESCAPED_SIZE(size));
-      }
-
-      cmark_strbuf_put(ob, src + org, i - org);
-    }
-
-    /* escaping */
-    if (i >= size)
-      break;
-
-    i++;
-
-    ent = houdini_unescape_ent(ob, src + i, size - i);
-    i += ent;
-
-    /* not really an entity */
-    if (ent == 0)
-      cmark_strbuf_putc(ob, '&');
-  }
-
-  return 1;
-}
-
-void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
-                             bufsize_t size) {
-  if (!houdini_unescape_html(ob, src, size))
-    cmark_strbuf_put(ob, src, size);
-}
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_u.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_u.o
deleted file mode 100644
index d56bba9..0000000
Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/houdini_html_u.o and /dev/null differ
diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.c
deleted file mode 100644
index 22513c9..0000000
--- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.c
+++ /dev/null
@@ -1,502 +0,0 @@
-#include 
-#include 
-#include 
-#include 
-#include "cmark_ctype.h"
-#include "config.h"
-#include "cmark-gfm.h"
-#include "houdini.h"
-#include "scanners.h"
-#include "syntax_extension.h"
-#include "html.h"
-#include "render.h"
-
-// Functions to convert cmark_nodes to HTML strings.
-
-static void escape_html(cmark_strbuf *dest, const unsigned char *source,
-                        bufsize_t length) {
-  houdini_escape_html0(dest, source, length, 0);
-}
-
-static void filter_html_block(cmark_html_renderer *renderer, uint8_t *data, size_t len) {
-  cmark_strbuf *html = renderer->html;
-  cmark_llist *it;
-  cmark_syntax_extension *ext;
-  bool filtered;
-  uint8_t *match;
-
-  while (len) {
-    match = (uint8_t *) memchr(data, '<', len);
-    if (!match)
-      break;
-
-    if (match != data) {
-      cmark_strbuf_put(html, data, (bufsize_t)(match - data));
-      len -= (match - data);
-      data = match;
-    }
-
-    filtered = false;
-    for (it = renderer->filter_extensions; it; it = it->next) {
-      ext = ((cmark_syntax_extension *) it->data);
-      if (!ext->html_filter_func(ext, data, len)) {
-        filtered = true;
-        break;
-      }
-    }
-
-    if (!filtered) {
-      cmark_strbuf_putc(html, '<');
-    } else {
-      cmark_strbuf_puts(html, "<");
-    }
-
-    ++data;
-    --len;
-  }
-
-  if (len)
-    cmark_strbuf_put(html, data, (bufsize_t)len);
-}
-
-static bool S_put_footnote_backref(cmark_html_renderer *renderer, cmark_strbuf *html, cmark_node *node) {
-  if (renderer->written_footnote_ix >= renderer->footnote_ix)
-    return false;
-  renderer->written_footnote_ix = renderer->footnote_ix;
-  char m[32];
-  snprintf(m, sizeof(m), "%d", renderer->written_footnote_ix);
-
-  cmark_strbuf_puts(html, "as.literal.data, node->as.literal.len);
-  cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"");
-  cmark_strbuf_puts(html, m);
-  cmark_strbuf_puts(html, "\" aria-label=\"Back to reference ");
-  cmark_strbuf_puts(html, m);
-  cmark_strbuf_puts(html, "\">↩");
-
-  if (node->footnote.def_count > 1)
-  {
-    for(int i = 2; i <= node->footnote.def_count; i++) {
-      char n[32];
-      snprintf(n, sizeof(n), "%d", i);
-
-      cmark_strbuf_puts(html, " as.literal.data, node->as.literal.len);
-      cmark_strbuf_puts(html, "-");
-      cmark_strbuf_puts(html, n);
-      cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"");
-      cmark_strbuf_puts(html, m);
-      cmark_strbuf_puts(html, "-");
-      cmark_strbuf_puts(html, n);
-      cmark_strbuf_puts(html, "\" aria-label=\"Back to reference ");
-      cmark_strbuf_puts(html, m);
-      cmark_strbuf_puts(html, "-");
-      cmark_strbuf_puts(html, n);
-      cmark_strbuf_puts(html, "\">↩");
-      cmark_strbuf_puts(html, n);
-      cmark_strbuf_puts(html, "");
-    }
-  }
-
-  return true;
-}
-
-static int S_render_node(cmark_html_renderer *renderer, cmark_node *node,
-                         cmark_event_type ev_type, int options) {
-  cmark_node *parent;
-  cmark_node *grandparent;
-  cmark_strbuf *html = renderer->html;
-  cmark_llist *it;
-  cmark_syntax_extension *ext;
-  char start_heading[] = "plain == node) { // back at original node
-    renderer->plain = NULL;
-  }
-
-  if (renderer->plain != NULL) {
-    switch (node->type) {
-    case CMARK_NODE_TEXT:
-    case CMARK_NODE_CODE:
-    case CMARK_NODE_HTML_INLINE:
-      escape_html(html, node->as.literal.data, node->as.literal.len);
-      break;
-
-    case CMARK_NODE_LINEBREAK:
-    case CMARK_NODE_SOFTBREAK:
-      cmark_strbuf_putc(html, ' ');
-      break;
-
-    default:
-      break;
-    }
-    return 1;
-  }
-
-  if (node->extension && node->extension->html_render_func) {
-    node->extension->html_render_func(node->extension, renderer, node, ev_type, options);
-    return 1;
-  }
-
-  switch (node->type) {
-  case CMARK_NODE_DOCUMENT:
-    break;
-
-  case CMARK_NODE_BLOCK_QUOTE:
-    if (entering) {
-      cmark_html_render_cr(html);
-      cmark_strbuf_puts(html, "\n");
-    } else {
-      cmark_html_render_cr(html);
-      cmark_strbuf_puts(html, "\n");
-    }
-    break;
-
-  case CMARK_NODE_LIST: {
-    cmark_list_type list_type = node->as.list.list_type;
-    int start = node->as.list.start;
-
-    if (entering) {
-      cmark_html_render_cr(html);
-      if (list_type == CMARK_BULLET_LIST) {
-        cmark_strbuf_puts(html, "\n");
-      } else if (start == 1) {
-        cmark_strbuf_puts(html, "\n");
-      } else {
-        snprintf(buffer, BUFFER_SIZE, "
    \n"); - } - } else { - cmark_strbuf_puts(html, - list_type == CMARK_BULLET_LIST ? "\n" : "
\n"); - } - break; - } - - case CMARK_NODE_ITEM: - if (entering) { - cmark_html_render_cr(html); - cmark_strbuf_puts(html, "'); - } else { - cmark_strbuf_puts(html, "\n"); - } - break; - - case CMARK_NODE_HEADING: - if (entering) { - cmark_html_render_cr(html); - start_heading[2] = (char)('0' + node->as.heading.level); - cmark_strbuf_puts(html, start_heading); - cmark_html_render_sourcepos(node, html, options); - cmark_strbuf_putc(html, '>'); - } else { - end_heading[3] = (char)('0' + node->as.heading.level); - cmark_strbuf_puts(html, end_heading); - cmark_strbuf_puts(html, ">\n"); - } - break; - - case CMARK_NODE_CODE_BLOCK: - cmark_html_render_cr(html); - - if (node->as.code.info.len == 0) { - cmark_strbuf_puts(html, ""); - } else { - bufsize_t first_tag = 0; - while (first_tag < node->as.code.info.len && - !cmark_isspace(node->as.code.info.data[first_tag])) { - first_tag += 1; - } - - if (options & CMARK_OPT_GITHUB_PRE_LANG) { - cmark_strbuf_puts(html, "as.code.info.data, first_tag); - if (first_tag < node->as.code.info.len && (options & CMARK_OPT_FULL_INFO_STRING)) { - cmark_strbuf_puts(html, "\" data-meta=\""); - escape_html(html, node->as.code.info.data + first_tag + 1, node->as.code.info.len - first_tag - 1); - } - cmark_strbuf_puts(html, "\">"); - } else { - cmark_strbuf_puts(html, "as.code.info.data, first_tag); - if (first_tag < node->as.code.info.len && (options & CMARK_OPT_FULL_INFO_STRING)) { - cmark_strbuf_puts(html, "\" data-meta=\""); - escape_html(html, node->as.code.info.data + first_tag + 1, node->as.code.info.len - first_tag - 1); - } - cmark_strbuf_puts(html, "\">"); - } - } - - escape_html(html, node->as.code.literal.data, node->as.code.literal.len); - cmark_strbuf_puts(html, "
\n"); - break; - - case CMARK_NODE_HTML_BLOCK: - cmark_html_render_cr(html); - if (!(options & CMARK_OPT_UNSAFE)) { - cmark_strbuf_puts(html, ""); - } else if (renderer->filter_extensions) { - filter_html_block(renderer, node->as.literal.data, node->as.literal.len); - } else { - cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len); - } - cmark_html_render_cr(html); - break; - - case CMARK_NODE_CUSTOM_BLOCK: - cmark_html_render_cr(html); - if (entering) { - cmark_strbuf_put(html, node->as.custom.on_enter.data, - node->as.custom.on_enter.len); - } else { - cmark_strbuf_put(html, node->as.custom.on_exit.data, - node->as.custom.on_exit.len); - } - cmark_html_render_cr(html); - break; - - case CMARK_NODE_THEMATIC_BREAK: - cmark_html_render_cr(html); - cmark_strbuf_puts(html, "\n"); - break; - - case CMARK_NODE_PARAGRAPH: - parent = cmark_node_parent(node); - grandparent = cmark_node_parent(parent); - if (grandparent != NULL && grandparent->type == CMARK_NODE_LIST) { - tight = grandparent->as.list.tight; - } else { - tight = false; - } - if (!tight) { - if (entering) { - cmark_html_render_cr(html); - cmark_strbuf_puts(html, "'); - } else { - if (parent->type == CMARK_NODE_FOOTNOTE_DEFINITION && node->next == NULL) { - cmark_strbuf_putc(html, ' '); - S_put_footnote_backref(renderer, html, parent); - } - cmark_strbuf_puts(html, "

\n"); - } - } - break; - - case CMARK_NODE_TEXT: - escape_html(html, node->as.literal.data, node->as.literal.len); - break; - - case CMARK_NODE_LINEBREAK: - cmark_strbuf_puts(html, "
\n"); - break; - - case CMARK_NODE_SOFTBREAK: - if (options & CMARK_OPT_HARDBREAKS) { - cmark_strbuf_puts(html, "
\n"); - } else if (options & CMARK_OPT_NOBREAKS) { - cmark_strbuf_putc(html, ' '); - } else { - cmark_strbuf_putc(html, '\n'); - } - break; - - case CMARK_NODE_CODE: - cmark_strbuf_puts(html, ""); - escape_html(html, node->as.literal.data, node->as.literal.len); - cmark_strbuf_puts(html, ""); - break; - - case CMARK_NODE_HTML_INLINE: - if (!(options & CMARK_OPT_UNSAFE)) { - cmark_strbuf_puts(html, ""); - } else { - filtered = false; - for (it = renderer->filter_extensions; it; it = it->next) { - ext = (cmark_syntax_extension *) it->data; - if (!ext->html_filter_func(ext, node->as.literal.data, node->as.literal.len)) { - filtered = true; - break; - } - } - if (!filtered) { - cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len); - } else { - cmark_strbuf_puts(html, "<"); - cmark_strbuf_put(html, node->as.literal.data + 1, node->as.literal.len - 1); - } - } - break; - - case CMARK_NODE_CUSTOM_INLINE: - if (entering) { - cmark_strbuf_put(html, node->as.custom.on_enter.data, - node->as.custom.on_enter.len); - } else { - cmark_strbuf_put(html, node->as.custom.on_exit.data, - node->as.custom.on_exit.len); - } - break; - - case CMARK_NODE_STRONG: - if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { - if (entering) { - cmark_strbuf_puts(html, ""); - } else { - cmark_strbuf_puts(html, ""); - } - } - break; - - case CMARK_NODE_EMPH: - if (entering) { - cmark_strbuf_puts(html, ""); - } else { - cmark_strbuf_puts(html, ""); - } - break; - - case CMARK_NODE_LINK: - if (entering) { - cmark_strbuf_puts(html, "as.link.url, 0))) { - houdini_escape_href(html, node->as.link.url.data, - node->as.link.url.len); - } - if (node->as.link.title.len) { - cmark_strbuf_puts(html, "\" title=\""); - escape_html(html, node->as.link.title.data, node->as.link.title.len); - } - cmark_strbuf_puts(html, "\">"); - } else { - cmark_strbuf_puts(html, ""); - } - break; - - case CMARK_NODE_IMAGE: - if (entering) { - cmark_strbuf_puts(html, "as.link.url, 0))) { - houdini_escape_href(html, node->as.link.url.data, - node->as.link.url.len); - } - cmark_strbuf_puts(html, "\" alt=\""); - renderer->plain = node; - } else { - if (node->as.link.title.len) { - cmark_strbuf_puts(html, "\" title=\""); - escape_html(html, node->as.link.title.data, node->as.link.title.len); - } - - cmark_strbuf_puts(html, "\" />"); - } - break; - - case CMARK_NODE_FOOTNOTE_DEFINITION: - if (entering) { - if (renderer->footnote_ix == 0) { - cmark_strbuf_puts(html, "
\n
    \n"); - } - ++renderer->footnote_ix; - - cmark_strbuf_puts(html, "
  1. as.literal.data, node->as.literal.len); - cmark_strbuf_puts(html, "\">\n"); - } else { - if (S_put_footnote_backref(renderer, html, node)) { - cmark_strbuf_putc(html, '\n'); - } - cmark_strbuf_puts(html, "
  2. \n"); - } - break; - - case CMARK_NODE_FOOTNOTE_REFERENCE: - if (entering) { - cmark_strbuf_puts(html, "parent_footnote_def->as.literal.data, node->parent_footnote_def->as.literal.len); - cmark_strbuf_puts(html, "\" id=\"fnref-"); - houdini_escape_href(html, node->parent_footnote_def->as.literal.data, node->parent_footnote_def->as.literal.len); - - if (node->footnote.ref_ix > 1) { - char n[32]; - snprintf(n, sizeof(n), "%d", node->footnote.ref_ix); - cmark_strbuf_puts(html, "-"); - cmark_strbuf_puts(html, n); - } - - cmark_strbuf_puts(html, "\" data-footnote-ref>"); - houdini_escape_href(html, node->as.literal.data, node->as.literal.len); - cmark_strbuf_puts(html, ""); - } - break; - - default: - assert(false); - break; - } - - return 1; -} - -char *cmark_render_html(cmark_node *root, int options, cmark_llist *extensions) { - return cmark_render_html_with_mem(root, options, extensions, cmark_node_mem(root)); -} - -char *cmark_render_html_with_mem(cmark_node *root, int options, cmark_llist *extensions, cmark_mem *mem) { - char *result; - cmark_strbuf html = CMARK_BUF_INIT(mem); - cmark_event_type ev_type; - cmark_node *cur; - cmark_html_renderer renderer = {&html, NULL, NULL, 0, 0, NULL}; - cmark_iter *iter = cmark_iter_new(root); - - for (; extensions; extensions = extensions->next) - if (((cmark_syntax_extension *) extensions->data)->html_filter_func) - renderer.filter_extensions = cmark_llist_append( - mem, - renderer.filter_extensions, - (cmark_syntax_extension *) extensions->data); - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - S_render_node(&renderer, cur, ev_type, options); - } - - if (renderer.footnote_ix) { - cmark_strbuf_puts(&html, "
\n
\n"); - } - - result = (char *)cmark_strbuf_detach(&html); - - cmark_llist_free(mem, renderer.filter_extensions); - - cmark_iter_free(iter); - return result; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.h deleted file mode 100644 index aeba7bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef CMARK_HTML_H -#define CMARK_HTML_H - -#include "buffer.h" -#include "node.h" - -CMARK_INLINE -static void cmark_html_render_cr(cmark_strbuf *html) { - if (html->size && html->ptr[html->size - 1] != '\n') - cmark_strbuf_putc(html, '\n'); -} - -#define BUFFER_SIZE 100 - -CMARK_INLINE -static void cmark_html_render_sourcepos(cmark_node *node, cmark_strbuf *html, int options) { - char buffer[BUFFER_SIZE]; - if (CMARK_OPT_SOURCEPOS & options) { - snprintf(buffer, BUFFER_SIZE, " data-sourcepos=\"%d:%d-%d:%d\"", - cmark_node_get_start_line(node), cmark_node_get_start_column(node), - cmark_node_get_end_line(node), cmark_node_get_end_column(node)); - cmark_strbuf_puts(html, buffer); - } -} - - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.o deleted file mode 100644 index 77561d7..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/html.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.c deleted file mode 100644 index 30f2c17..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.c +++ /dev/null @@ -1,1788 +0,0 @@ -#include -#include -#include - -#include "cmark_ctype.h" -#include "config.h" -#include "node.h" -#include "parser.h" -#include "references.h" -#include "cmark-gfm.h" -#include "houdini.h" -#include "utf8.h" -#include "scanners.h" -#include "inlines.h" -#include "syntax_extension.h" - -static const char *EMDASH = "\xE2\x80\x94"; -static const char *ENDASH = "\xE2\x80\x93"; -static const char *ELLIPSES = "\xE2\x80\xA6"; -static const char *LEFTDOUBLEQUOTE = "\xE2\x80\x9C"; -static const char *RIGHTDOUBLEQUOTE = "\xE2\x80\x9D"; -static const char *LEFTSINGLEQUOTE = "\xE2\x80\x98"; -static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99"; - -// Macros for creating various kinds of simple. -#define make_str(subj, sc, ec, s) make_literal(subj, CMARK_NODE_TEXT, sc, ec, s) -#define make_code(subj, sc, ec, s) make_literal(subj, CMARK_NODE_CODE, sc, ec, s) -#define make_raw_html(subj, sc, ec, s) make_literal(subj, CMARK_NODE_HTML_INLINE, sc, ec, s) -#define make_linebreak(mem) make_simple(mem, CMARK_NODE_LINEBREAK) -#define make_softbreak(mem) make_simple(mem, CMARK_NODE_SOFTBREAK) -#define make_emph(mem) make_simple(mem, CMARK_NODE_EMPH) -#define make_strong(mem) make_simple(mem, CMARK_NODE_STRONG) - -#define MAXBACKTICKS 80 - -typedef struct bracket { - struct bracket *previous; - cmark_node *inl_text; - bufsize_t position; - bool image; - bool active; - bool bracket_after; - bool in_bracket_image0; - bool in_bracket_image1; -} bracket; - -#define FLAG_SKIP_HTML_CDATA (1u << 0) -#define FLAG_SKIP_HTML_DECLARATION (1u << 1) -#define FLAG_SKIP_HTML_PI (1u << 2) -#define FLAG_SKIP_HTML_COMMENT (1u << 3) - -typedef struct subject{ - cmark_mem *mem; - cmark_chunk input; - unsigned flags; - int line; - bufsize_t pos; - int block_offset; - int column_offset; - cmark_map *refmap; - delimiter *last_delim; - bracket *last_bracket; - bufsize_t backticks[MAXBACKTICKS + 1]; - bool scanned_for_backticks; - bool no_link_openers; -} subject; - -// Extensions may populate this. -static int8_t SKIP_CHARS[256]; - -static CMARK_INLINE bool S_is_line_end_char(char c) { - return (c == '\n' || c == '\r'); -} - -static delimiter *S_insert_emph(subject *subj, delimiter *opener, - delimiter *closer); - -static int parse_inline(cmark_parser *parser, subject *subj, cmark_node *parent, int options); - -static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, subject *e, - cmark_chunk *buffer, cmark_map *refmap); -static bufsize_t subject_find_special_char(subject *subj, int options); - -// Create an inline with a literal string value. -static CMARK_INLINE cmark_node *make_literal(subject *subj, cmark_node_type t, - int start_column, int end_column, - cmark_chunk s) { - cmark_node *e = (cmark_node *)subj->mem->calloc(1, sizeof(*e)); - cmark_strbuf_init(subj->mem, &e->content, 0); - e->type = (uint16_t)t; - e->as.literal = s; - e->start_line = e->end_line = subj->line; - // columns are 1 based. - e->start_column = start_column + 1 + subj->column_offset + subj->block_offset; - e->end_column = end_column + 1 + subj->column_offset + subj->block_offset; - return e; -} - -// Create an inline with no value. -static CMARK_INLINE cmark_node *make_simple(cmark_mem *mem, cmark_node_type t) { - cmark_node *e = (cmark_node *)mem->calloc(1, sizeof(*e)); - cmark_strbuf_init(mem, &e->content, 0); - e->type = (uint16_t)t; - return e; -} - -// Like make_str, but parses entities. -static cmark_node *make_str_with_entities(subject *subj, - int start_column, int end_column, - cmark_chunk *content) { - cmark_strbuf unescaped = CMARK_BUF_INIT(subj->mem); - - if (houdini_unescape_html(&unescaped, content->data, content->len)) { - return make_str(subj, start_column, end_column, cmark_chunk_buf_detach(&unescaped)); - } else { - return make_str(subj, start_column, end_column, *content); - } -} - -// Like cmark_node_append_child but without costly sanity checks. -// Assumes that child was newly created. -static void append_child(cmark_node *node, cmark_node *child) { - cmark_node *old_last_child = node->last_child; - - child->next = NULL; - child->prev = old_last_child; - child->parent = node; - node->last_child = child; - - if (old_last_child) { - old_last_child->next = child; - } else { - // Also set first_child if node previously had no children. - node->first_child = child; - } -} - -// Duplicate a chunk by creating a copy of the buffer not by reusing the -// buffer like cmark_chunk_dup does. -static cmark_chunk chunk_clone(cmark_mem *mem, cmark_chunk *src) { - cmark_chunk c; - bufsize_t len = src->len; - - c.len = len; - c.data = (unsigned char *)mem->calloc(len + 1, 1); - c.alloc = 1; - if (len) - memcpy(c.data, src->data, len); - c.data[len] = '\0'; - - return c; -} - -static cmark_chunk cmark_clean_autolink(cmark_mem *mem, cmark_chunk *url, - int is_email) { - cmark_strbuf buf = CMARK_BUF_INIT(mem); - - cmark_chunk_trim(url); - - if (url->len == 0) { - cmark_chunk result = CMARK_CHUNK_EMPTY; - return result; - } - - if (is_email) - cmark_strbuf_puts(&buf, "mailto:"); - - houdini_unescape_html_f(&buf, url->data, url->len); - return cmark_chunk_buf_detach(&buf); -} - -static CMARK_INLINE cmark_node *make_autolink(subject *subj, - int start_column, int end_column, - cmark_chunk url, int is_email) { - cmark_node *link = make_simple(subj->mem, CMARK_NODE_LINK); - link->as.link.url = cmark_clean_autolink(subj->mem, &url, is_email); - link->as.link.title = cmark_chunk_literal(""); - link->start_line = link->end_line = subj->line; - link->start_column = start_column + 1; - link->end_column = end_column + 1; - append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url)); - return link; -} - -static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, subject *e, - cmark_chunk *chunk, cmark_map *refmap) { - int i; - e->mem = mem; - e->input = *chunk; - e->flags = 0; - e->line = line_number; - e->pos = 0; - e->block_offset = block_offset; - e->column_offset = 0; - e->refmap = refmap; - e->last_delim = NULL; - e->last_bracket = NULL; - for (i = 0; i <= MAXBACKTICKS; i++) { - e->backticks[i] = 0; - } - e->scanned_for_backticks = false; - e->no_link_openers = true; -} - -static CMARK_INLINE int isbacktick(int c) { return (c == '`'); } - -static CMARK_INLINE unsigned char peek_char_n(subject *subj, bufsize_t n) { - // NULL bytes should have been stripped out by now. If they're - // present, it's a programming error: - assert(!(subj->pos + n < subj->input.len && subj->input.data[subj->pos + n] == 0)); - return (subj->pos + n < subj->input.len) ? subj->input.data[subj->pos + n] : 0; -} - -static CMARK_INLINE unsigned char peek_char(subject *subj) { - return peek_char_n(subj, 0); -} - -static CMARK_INLINE unsigned char peek_at(subject *subj, bufsize_t pos) { - return subj->input.data[pos]; -} - -// Return true if there are more characters in the subject. -static CMARK_INLINE int is_eof(subject *subj) { - return (subj->pos >= subj->input.len); -} - -// Advance the subject. Doesn't check for eof. -#define advance(subj) (subj)->pos += 1 - -static CMARK_INLINE bool skip_spaces(subject *subj) { - bool skipped = false; - while (peek_char(subj) == ' ' || peek_char(subj) == '\t') { - advance(subj); - skipped = true; - } - return skipped; -} - -static CMARK_INLINE bool skip_line_end(subject *subj) { - bool seen_line_end_char = false; - if (peek_char(subj) == '\r') { - advance(subj); - seen_line_end_char = true; - } - if (peek_char(subj) == '\n') { - advance(subj); - seen_line_end_char = true; - } - return seen_line_end_char || is_eof(subj); -} - -// Take characters while a predicate holds, and return a string. -static CMARK_INLINE cmark_chunk take_while(subject *subj, int (*f)(int)) { - unsigned char c; - bufsize_t startpos = subj->pos; - bufsize_t len = 0; - - while ((c = peek_char(subj)) && (*f)(c)) { - advance(subj); - len++; - } - - return cmark_chunk_dup(&subj->input, startpos, len); -} - -// Return the number of newlines in a given span of text in a subject. If -// the number is greater than zero, also return the number of characters -// between the last newline and the end of the span in `since_newline`. -static int count_newlines(subject *subj, bufsize_t from, bufsize_t len, int *since_newline) { - int nls = 0; - int since_nl = 0; - - while (len--) { - if (subj->input.data[from++] == '\n') { - ++nls; - since_nl = 0; - } else { - ++since_nl; - } - } - - if (!nls) - return 0; - - *since_newline = since_nl; - return nls; -} - -// Adjust `node`'s `end_line`, `end_column`, and `subj`'s `line` and -// `column_offset` according to the number of newlines in a just-matched span -// of text in `subj`. -static void adjust_subj_node_newlines(subject *subj, cmark_node *node, int matchlen, int extra, int options) { - if (!(options & CMARK_OPT_SOURCEPOS)) { - return; - } - - int since_newline; - int newlines = count_newlines(subj, subj->pos - matchlen - extra, matchlen, &since_newline); - if (newlines) { - subj->line += newlines; - node->end_line += newlines; - node->end_column = since_newline; - subj->column_offset = -subj->pos + since_newline + extra; - } -} - -// Try to process a backtick code span that began with a -// span of ticks of length openticklength length (already -// parsed). Return 0 if you don't find matching closing -// backticks, otherwise return the position in the subject -// after the closing backticks. -static bufsize_t scan_to_closing_backticks(subject *subj, - bufsize_t openticklength) { - - bool found = false; - if (openticklength > MAXBACKTICKS) { - // we limit backtick string length because of the array subj->backticks: - return 0; - } - if (subj->scanned_for_backticks && - subj->backticks[openticklength] <= subj->pos) { - // return if we already know there's no closer - return 0; - } - while (!found) { - // read non backticks - unsigned char c; - while ((c = peek_char(subj)) && c != '`') { - advance(subj); - } - if (is_eof(subj)) { - break; - } - bufsize_t numticks = 0; - while (peek_char(subj) == '`') { - advance(subj); - numticks++; - } - // store position of ender - if (numticks <= MAXBACKTICKS) { - subj->backticks[numticks] = subj->pos - numticks; - } - if (numticks == openticklength) { - return (subj->pos); - } - } - // got through whole input without finding closer - subj->scanned_for_backticks = true; - return 0; -} - -// Destructively modify string, converting newlines to -// spaces, then removing a single leading + trailing space, -// unless the code span consists entirely of space characters. -static void S_normalize_code(cmark_strbuf *s) { - bufsize_t r, w; - bool contains_nonspace = false; - - for (r = 0, w = 0; r < s->size; ++r) { - switch (s->ptr[r]) { - case '\r': - if (s->ptr[r + 1] != '\n') { - s->ptr[w++] = ' '; - } - break; - case '\n': - s->ptr[w++] = ' '; - break; - default: - s->ptr[w++] = s->ptr[r]; - } - if (s->ptr[r] != ' ') { - contains_nonspace = true; - } - } - - // begins and ends with space? - if (contains_nonspace && - s->ptr[0] == ' ' && s->ptr[w - 1] == ' ') { - cmark_strbuf_drop(s, 1); - cmark_strbuf_truncate(s, w - 2); - } else { - cmark_strbuf_truncate(s, w); - } - -} - - -// Parse backtick code section or raw backticks, return an inline. -// Assumes that the subject has a backtick at the current position. -static cmark_node *handle_backticks(subject *subj, int options) { - cmark_chunk openticks = take_while(subj, isbacktick); - bufsize_t startpos = subj->pos; - bufsize_t endpos = scan_to_closing_backticks(subj, openticks.len); - - if (endpos == 0) { // not found - subj->pos = startpos; // rewind - return make_str(subj, subj->pos, subj->pos, openticks); - } else { - cmark_strbuf buf = CMARK_BUF_INIT(subj->mem); - - cmark_strbuf_set(&buf, subj->input.data + startpos, - endpos - startpos - openticks.len); - S_normalize_code(&buf); - - cmark_node *node = make_code(subj, startpos, endpos - openticks.len - 1, cmark_chunk_buf_detach(&buf)); - adjust_subj_node_newlines(subj, node, endpos - startpos, openticks.len, options); - return node; - } -} - - -// Scan ***, **, or * and return number scanned, or 0. -// Advances position. -static int scan_delims(subject *subj, unsigned char c, bool *can_open, - bool *can_close) { - int numdelims = 0; - bufsize_t before_char_pos, after_char_pos; - int32_t after_char = 0; - int32_t before_char = 0; - int len; - bool left_flanking, right_flanking; - - if (subj->pos == 0) { - before_char = 10; - } else { - before_char_pos = subj->pos - 1; - // walk back to the beginning of the UTF_8 sequence: - while ((peek_at(subj, before_char_pos) >> 6 == 2 || SKIP_CHARS[peek_at(subj, before_char_pos)]) && before_char_pos > 0) { - before_char_pos -= 1; - } - len = cmark_utf8proc_iterate(subj->input.data + before_char_pos, - subj->pos - before_char_pos, &before_char); - if (len == -1 || (before_char < 256 && SKIP_CHARS[(unsigned char) before_char])) { - before_char = 10; - } - } - - if (c == '\'' || c == '"') { - numdelims++; - advance(subj); // limit to 1 delim for quotes - } else { - while (peek_char(subj) == c) { - numdelims++; - advance(subj); - } - } - - if (subj->pos == subj->input.len) { - after_char = 10; - } else { - after_char_pos = subj->pos; - while (SKIP_CHARS[peek_at(subj, after_char_pos)] && after_char_pos < subj->input.len) { - after_char_pos += 1; - } - len = cmark_utf8proc_iterate(subj->input.data + after_char_pos, - subj->input.len - after_char_pos, &after_char); - if (len == -1 || (after_char < 256 && SKIP_CHARS[(unsigned char) after_char])) { - after_char = 10; - } - } - - left_flanking = numdelims > 0 && !cmark_utf8proc_is_space(after_char) && - (!cmark_utf8proc_is_punctuation(after_char) || - cmark_utf8proc_is_space(before_char) || - cmark_utf8proc_is_punctuation(before_char)); - right_flanking = numdelims > 0 && !cmark_utf8proc_is_space(before_char) && - (!cmark_utf8proc_is_punctuation(before_char) || - cmark_utf8proc_is_space(after_char) || - cmark_utf8proc_is_punctuation(after_char)); - if (c == '_') { - *can_open = left_flanking && - (!right_flanking || cmark_utf8proc_is_punctuation(before_char)); - *can_close = right_flanking && - (!left_flanking || cmark_utf8proc_is_punctuation(after_char)); - } else if (c == '\'' || c == '"') { - *can_open = left_flanking && !right_flanking && - before_char != ']' && before_char != ')'; - *can_close = right_flanking; - } else { - *can_open = left_flanking; - *can_close = right_flanking; - } - return numdelims; -} - -/* -static void print_delimiters(subject *subj) -{ - delimiter *delim; - delim = subj->last_delim; - while (delim != NULL) { - printf("Item at stack pos %p: %d %d %d next(%p) prev(%p)\n", - (void*)delim, delim->delim_char, - delim->can_open, delim->can_close, - (void*)delim->next, (void*)delim->previous); - delim = delim->previous; - } -} -*/ - -static void remove_delimiter(subject *subj, delimiter *delim) { - if (delim == NULL) - return; - if (delim->next == NULL) { - // end of list: - assert(delim == subj->last_delim); - subj->last_delim = delim->previous; - } else { - delim->next->previous = delim->previous; - } - if (delim->previous != NULL) { - delim->previous->next = delim->next; - } - subj->mem->free(delim); -} - -static void pop_bracket(subject *subj) { - bracket *b; - if (subj->last_bracket == NULL) - return; - b = subj->last_bracket; - subj->last_bracket = subj->last_bracket->previous; - subj->mem->free(b); -} - -static void push_delimiter(subject *subj, unsigned char c, bool can_open, - bool can_close, cmark_node *inl_text) { - delimiter *delim = (delimiter *)subj->mem->calloc(1, sizeof(delimiter)); - delim->delim_char = c; - delim->can_open = can_open; - delim->can_close = can_close; - delim->inl_text = inl_text; - delim->position = subj->pos; - delim->length = inl_text->as.literal.len; - delim->previous = subj->last_delim; - delim->next = NULL; - if (delim->previous != NULL) { - delim->previous->next = delim; - } - subj->last_delim = delim; -} - -static void push_bracket(subject *subj, bool image, cmark_node *inl_text) { - bracket *b = (bracket *)subj->mem->calloc(1, sizeof(bracket)); - if (subj->last_bracket != NULL) { - subj->last_bracket->bracket_after = true; - b->in_bracket_image0 = subj->last_bracket->in_bracket_image0; - b->in_bracket_image1 = subj->last_bracket->in_bracket_image1; - } - b->image = image; - b->active = true; - b->inl_text = inl_text; - b->previous = subj->last_bracket; - b->position = subj->pos; - b->bracket_after = false; - if (image) { - b->in_bracket_image1 = true; - } else { - b->in_bracket_image0 = true; - } - subj->last_bracket = b; - if (!image) { - subj->no_link_openers = false; - } -} - -// Assumes the subject has a c at the current position. -static cmark_node *handle_delim(subject *subj, unsigned char c, bool smart) { - bufsize_t numdelims; - cmark_node *inl_text; - bool can_open, can_close; - cmark_chunk contents; - - numdelims = scan_delims(subj, c, &can_open, &can_close); - - if (c == '\'' && smart) { - contents = cmark_chunk_literal(RIGHTSINGLEQUOTE); - } else if (c == '"' && smart) { - contents = - cmark_chunk_literal(can_close ? RIGHTDOUBLEQUOTE : LEFTDOUBLEQUOTE); - } else { - contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims); - } - - inl_text = make_str(subj, subj->pos - numdelims, subj->pos - 1, contents); - - if ((can_open || can_close) && (!(c == '\'' || c == '"') || smart)) { - push_delimiter(subj, c, can_open, can_close, inl_text); - } - - return inl_text; -} - -// Assumes we have a hyphen at the current position. -static cmark_node *handle_hyphen(subject *subj, bool smart) { - int startpos = subj->pos; - - advance(subj); - - if (!smart || peek_char(subj) != '-') { - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("-")); - } - - while (smart && peek_char(subj) == '-') { - advance(subj); - } - - int numhyphens = subj->pos - startpos; - int en_count = 0; - int em_count = 0; - int i; - cmark_strbuf buf = CMARK_BUF_INIT(subj->mem); - - if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes - em_count = numhyphens / 3; - } else if (numhyphens % 2 == 0) { // if divisible by 2, use all en dashes - en_count = numhyphens / 2; - } else if (numhyphens % 3 == 2) { // use one en dash at end - en_count = 1; - em_count = (numhyphens - 2) / 3; - } else { // use two en dashes at the end - en_count = 2; - em_count = (numhyphens - 4) / 3; - } - - for (i = em_count; i > 0; i--) { - cmark_strbuf_puts(&buf, EMDASH); - } - - for (i = en_count; i > 0; i--) { - cmark_strbuf_puts(&buf, ENDASH); - } - - return make_str(subj, startpos, subj->pos - 1, cmark_chunk_buf_detach(&buf)); -} - -// Assumes we have a period at the current position. -static cmark_node *handle_period(subject *subj, bool smart) { - advance(subj); - if (smart && peek_char(subj) == '.') { - advance(subj); - if (peek_char(subj) == '.') { - advance(subj); - return make_str(subj, subj->pos - 3, subj->pos - 1, cmark_chunk_literal(ELLIPSES)); - } else { - return make_str(subj, subj->pos - 2, subj->pos - 1, cmark_chunk_literal("..")); - } - } else { - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal(".")); - } -} - -static cmark_syntax_extension *get_extension_for_special_char(cmark_parser *parser, unsigned char c) { - cmark_llist *tmp_ext; - - for (tmp_ext = parser->inline_syntax_extensions; tmp_ext; tmp_ext=tmp_ext->next) { - cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp_ext->data; - cmark_llist *tmp_char; - for (tmp_char = ext->special_inline_chars; tmp_char; tmp_char=tmp_char->next) { - unsigned char tmp_c = (unsigned char)(size_t)tmp_char->data; - - if (tmp_c == c) { - return ext; - } - } - } - - return NULL; -} - -static void process_emphasis(cmark_parser *parser, subject *subj, bufsize_t stack_bottom) { - delimiter *candidate; - delimiter *closer = NULL; - delimiter *opener; - delimiter *old_closer; - bool opener_found; - bufsize_t openers_bottom[3][128]; - int i; - - // initialize openers_bottom: - memset(&openers_bottom, 0, sizeof(openers_bottom)); - for (i=0; i < 3; i++) { - openers_bottom[i]['*'] = stack_bottom; - openers_bottom[i]['_'] = stack_bottom; - openers_bottom[i]['\''] = stack_bottom; - openers_bottom[i]['"'] = stack_bottom; - } - - // move back to first relevant delim. - candidate = subj->last_delim; - while (candidate != NULL && candidate->position >= stack_bottom) { - closer = candidate; - candidate = candidate->previous; - } - - // now move forward, looking for closers, and handling each - while (closer != NULL) { - cmark_syntax_extension *extension = get_extension_for_special_char(parser, closer->delim_char); - if (closer->can_close) { - // Now look backwards for first matching opener: - opener = closer->previous; - opener_found = false; - while (opener != NULL && opener->position >= stack_bottom && - opener->position >= openers_bottom[closer->length % 3][closer->delim_char]) { - if (opener->can_open && opener->delim_char == closer->delim_char) { - // interior closer of size 2 can't match opener of size 1 - // or of size 1 can't match 2 - if (!(closer->can_open || opener->can_close) || - closer->length % 3 == 0 || - (opener->length + closer->length) % 3 != 0) { - opener_found = true; - break; - } - } - opener = opener->previous; - } - old_closer = closer; - - if (extension) { - if (opener_found) - closer = extension->insert_inline_from_delim(extension, parser, subj, opener, closer); - else - closer = closer->next; - } else if (closer->delim_char == '*' || closer->delim_char == '_') { - if (opener_found) { - closer = S_insert_emph(subj, opener, closer); - } else { - closer = closer->next; - } - } else if (closer->delim_char == '\'' || closer->delim_char == '"') { - cmark_chunk_free(subj->mem, &closer->inl_text->as.literal); - if (closer->delim_char == '\'') { - closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE); - } else { - closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE); - } - closer = closer->next; - if (opener_found) { - cmark_chunk_free(subj->mem, &opener->inl_text->as.literal); - if (old_closer->delim_char == '\'') { - opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE); - } else { - opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE); - } - remove_delimiter(subj, opener); - remove_delimiter(subj, old_closer); - } - } - if (!opener_found) { - // set lower bound for future searches for openers - openers_bottom[old_closer->length % 3][old_closer->delim_char] = - old_closer->position; - if (!old_closer->can_open) { - // we can remove a closer that can't be an - // opener, once we've seen there's no - // matching opener: - remove_delimiter(subj, old_closer); - } - } - } else { - closer = closer->next; - } - } - // free all delimiters in list until stack_bottom: - while (subj->last_delim != NULL && - subj->last_delim->position >= stack_bottom) { - remove_delimiter(subj, subj->last_delim); - } -} - -static delimiter *S_insert_emph(subject *subj, delimiter *opener, - delimiter *closer) { - delimiter *delim, *tmp_delim; - bufsize_t use_delims; - cmark_node *opener_inl = opener->inl_text; - cmark_node *closer_inl = closer->inl_text; - bufsize_t opener_num_chars = opener_inl->as.literal.len; - bufsize_t closer_num_chars = closer_inl->as.literal.len; - cmark_node *tmp, *tmpnext, *emph; - - // calculate the actual number of characters used from this closer - use_delims = (closer_num_chars >= 2 && opener_num_chars >= 2) ? 2 : 1; - - // remove used characters from associated inlines. - opener_num_chars -= use_delims; - closer_num_chars -= use_delims; - opener_inl->as.literal.len = opener_num_chars; - closer_inl->as.literal.len = closer_num_chars; - - // free delimiters between opener and closer - delim = closer->previous; - while (delim != NULL && delim != opener) { - tmp_delim = delim->previous; - remove_delimiter(subj, delim); - delim = tmp_delim; - } - - // create new emph or strong, and splice it in to our inlines - // between the opener and closer - emph = use_delims == 1 ? make_emph(subj->mem) : make_strong(subj->mem); - - tmp = opener_inl->next; - while (tmp && tmp != closer_inl) { - tmpnext = tmp->next; - cmark_node_unlink(tmp); - append_child(emph, tmp); - tmp = tmpnext; - } - cmark_node_insert_after(opener_inl, emph); - - emph->start_line = opener_inl->start_line; - emph->end_line = closer_inl->end_line; - emph->start_column = opener_inl->start_column; - emph->end_column = closer_inl->end_column; - - // if opener has 0 characters, remove it and its associated inline - if (opener_num_chars == 0) { - cmark_node_free(opener_inl); - remove_delimiter(subj, opener); - } - - // if closer has 0 characters, remove it and its associated inline - if (closer_num_chars == 0) { - // remove empty closer inline - cmark_node_free(closer_inl); - // remove closer from list - tmp_delim = closer->next; - remove_delimiter(subj, closer); - closer = tmp_delim; - } - - return closer; -} - -// Parse backslash-escape or just a backslash, returning an inline. -static cmark_node *handle_backslash(cmark_parser *parser, subject *subj) { - advance(subj); - unsigned char nextchar = peek_char(subj); - if ((parser->backslash_ispunct ? parser->backslash_ispunct : cmark_ispunct)(nextchar)) { - // only ascii symbols and newline can be escaped - advance(subj); - return make_str(subj, subj->pos - 2, subj->pos - 1, cmark_chunk_dup(&subj->input, subj->pos - 1, 1)); - } else if (!is_eof(subj) && skip_line_end(subj)) { - return make_linebreak(subj->mem); - } else { - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("\\")); - } -} - -// Parse an entity or a regular "&" string. -// Assumes the subject has an '&' character at the current position. -static cmark_node *handle_entity(subject *subj) { - cmark_strbuf ent = CMARK_BUF_INIT(subj->mem); - bufsize_t len; - - advance(subj); - - len = houdini_unescape_ent(&ent, subj->input.data + subj->pos, - subj->input.len - subj->pos); - - if (len == 0) - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("&")); - - subj->pos += len; - return make_str(subj, subj->pos - 1 - len, subj->pos - 1, cmark_chunk_buf_detach(&ent)); -} - -// Clean a URL: remove surrounding whitespace, and remove \ that escape -// punctuation. -cmark_chunk cmark_clean_url(cmark_mem *mem, cmark_chunk *url) { - cmark_strbuf buf = CMARK_BUF_INIT(mem); - - cmark_chunk_trim(url); - - if (url->len == 0) { - cmark_chunk result = CMARK_CHUNK_EMPTY; - return result; - } - - houdini_unescape_html_f(&buf, url->data, url->len); - - cmark_strbuf_unescape(&buf); - return cmark_chunk_buf_detach(&buf); -} - -cmark_chunk cmark_clean_title(cmark_mem *mem, cmark_chunk *title) { - cmark_strbuf buf = CMARK_BUF_INIT(mem); - unsigned char first, last; - - if (title->len == 0) { - cmark_chunk result = CMARK_CHUNK_EMPTY; - return result; - } - - first = title->data[0]; - last = title->data[title->len - 1]; - - // remove surrounding quotes if any: - if ((first == '\'' && last == '\'') || (first == '(' && last == ')') || - (first == '"' && last == '"')) { - houdini_unescape_html_f(&buf, title->data + 1, title->len - 2); - } else { - houdini_unescape_html_f(&buf, title->data, title->len); - } - - cmark_strbuf_unescape(&buf); - return cmark_chunk_buf_detach(&buf); -} - -// Parse an autolink or HTML tag. -// Assumes the subject has a '<' character at the current position. -static cmark_node *handle_pointy_brace(subject *subj, int options) { - bufsize_t matchlen = 0; - cmark_chunk contents; - - advance(subj); // advance past first < - - // first try to match a URL autolink - matchlen = scan_autolink_uri(&subj->input, subj->pos); - if (matchlen > 0) { - contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1); - subj->pos += matchlen; - - return make_autolink(subj, subj->pos - 1 - matchlen, subj->pos - 1, contents, 0); - } - - // next try to match an email autolink - matchlen = scan_autolink_email(&subj->input, subj->pos); - if (matchlen > 0) { - contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1); - subj->pos += matchlen; - - return make_autolink(subj, subj->pos - 1 - matchlen, subj->pos - 1, contents, 1); - } - - // finally, try to match an html tag - if (subj->pos + 2 <= subj->input.len) { - int c = subj->input.data[subj->pos]; - if (c == '!' && (subj->flags & FLAG_SKIP_HTML_COMMENT) == 0) { - c = subj->input.data[subj->pos+1]; - if (c == '-' && subj->input.data[subj->pos+2] == '-') { - if (subj->input.data[subj->pos+3] == '>') { - matchlen = 4; - } else if (subj->input.data[subj->pos+3] == '-' && - subj->input.data[subj->pos+4] == '>') { - matchlen = 5; - } else { - matchlen = scan_html_comment(&subj->input, subj->pos + 1); - if (matchlen > 0) { - matchlen += 1; // prefix "<" - } else { // no match through end of input: set a flag so - // we don't reparse looking for -->: - subj->flags |= FLAG_SKIP_HTML_COMMENT; - } - } - } else if (c == '[') { - if ((subj->flags & FLAG_SKIP_HTML_CDATA) == 0) { - matchlen = scan_html_cdata(&subj->input, subj->pos + 2); - if (matchlen > 0) { - // The regex doesn't require the final "]]>". But if we're not at - // the end of input, it must come after the match. Otherwise, - // disable subsequent scans to avoid quadratic behavior. - matchlen += 5; // prefix "![", suffix "]]>" - if (subj->pos + matchlen > subj->input.len) { - subj->flags |= FLAG_SKIP_HTML_CDATA; - matchlen = 0; - } - } - } - } else if ((subj->flags & FLAG_SKIP_HTML_DECLARATION) == 0) { - matchlen = scan_html_declaration(&subj->input, subj->pos + 1); - if (matchlen > 0) { - matchlen += 2; // prefix "!", suffix ">" - if (subj->pos + matchlen > subj->input.len) { - subj->flags |= FLAG_SKIP_HTML_DECLARATION; - matchlen = 0; - } - } - } - } else if (c == '?') { - if ((subj->flags & FLAG_SKIP_HTML_PI) == 0) { - // Note that we allow an empty match. - matchlen = scan_html_pi(&subj->input, subj->pos + 1); - matchlen += 3; // prefix "?", suffix "?>" - if (subj->pos + matchlen > subj->input.len) { - subj->flags |= FLAG_SKIP_HTML_PI; - matchlen = 0; - } - } - } else { - matchlen = scan_html_tag(&subj->input, subj->pos); - } - } - if (matchlen > 0) { - contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1); - subj->pos += matchlen; - cmark_node *node = make_raw_html(subj, subj->pos - matchlen - 1, subj->pos - 1, contents); - adjust_subj_node_newlines(subj, node, matchlen, 1, options); - return node; - } - - if (options & CMARK_OPT_LIBERAL_HTML_TAG) { - matchlen = scan_liberal_html_tag(&subj->input, subj->pos); - if (matchlen > 0) { - contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1); - subj->pos += matchlen; - cmark_node *node = make_raw_html(subj, subj->pos - matchlen - 1, subj->pos - 1, contents); - adjust_subj_node_newlines(subj, node, matchlen, 1, options); - return node; - } - } - - // if nothing matches, just return the opening <: - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("<")); -} - -// Parse a link label. Returns 1 if successful. -// Note: unescaped brackets are not allowed in labels. -// The label begins with `[` and ends with the first `]` character -// encountered. Backticks in labels do not start code spans. -static int link_label(subject *subj, cmark_chunk *raw_label) { - bufsize_t startpos = subj->pos; - int length = 0; - unsigned char c; - - // advance past [ - if (peek_char(subj) == '[') { - advance(subj); - } else { - return 0; - } - - while ((c = peek_char(subj)) && c != '[' && c != ']') { - if (c == '\\') { - advance(subj); - length++; - if (cmark_ispunct(peek_char(subj))) { - advance(subj); - length++; - } - } else { - advance(subj); - length++; - } - if (length > MAX_LINK_LABEL_LENGTH) { - goto noMatch; - } - } - - if (c == ']') { // match found - *raw_label = - cmark_chunk_dup(&subj->input, startpos + 1, subj->pos - (startpos + 1)); - cmark_chunk_trim(raw_label); - advance(subj); // advance past ] - return 1; - } - -noMatch: - subj->pos = startpos; // rewind - return 0; -} - -static bufsize_t manual_scan_link_url_2(cmark_chunk *input, bufsize_t offset, - cmark_chunk *output) { - bufsize_t i = offset; - size_t nb_p = 0; - - while (i < input->len) { - if (input->data[i] == '\\' && - i + 1 < input-> len && - cmark_ispunct(input->data[i+1])) - i += 2; - else if (input->data[i] == '(') { - ++nb_p; - ++i; - if (nb_p > 32) - return -1; - } else if (input->data[i] == ')') { - if (nb_p == 0) - break; - --nb_p; - ++i; - } else if (cmark_isspace(input->data[i])) { - if (i == offset) { - return -1; - } - break; - } else { - ++i; - } - } - - if (i >= input->len) - return -1; - - { - cmark_chunk result = {input->data + offset, i - offset, 0}; - *output = result; - } - return i - offset; -} - -static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset, - cmark_chunk *output) { - bufsize_t i = offset; - - if (i < input->len && input->data[i] == '<') { - ++i; - while (i < input->len) { - if (input->data[i] == '>') { - ++i; - break; - } else if (input->data[i] == '\\') - i += 2; - else if (input->data[i] == '\n' || input->data[i] == '<') - return -1; - else - ++i; - } - } else { - return manual_scan_link_url_2(input, offset, output); - } - - if (i >= input->len) - return -1; - - { - cmark_chunk result = {input->data + offset + 1, i - 2 - offset, 0}; - *output = result; - } - return i - offset; -} - -// Return a link, an image, or a literal close bracket. -static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { - bufsize_t initial_pos, after_link_text_pos; - bufsize_t endurl, starttitle, endtitle, endall; - bufsize_t sps, n; - cmark_reference *ref = NULL; - cmark_chunk url_chunk, title_chunk; - cmark_chunk url, title; - bracket *opener; - cmark_node *inl; - cmark_chunk raw_label; - int found_label; - cmark_node *tmp, *tmpnext; - bool is_image; - - advance(subj); // advance past ] - initial_pos = subj->pos; - - // get last [ or ![ - opener = subj->last_bracket; - - if (opener == NULL) { - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); - } - - // If we got here, we matched a potential link/image text. - // Now we check to see if it's a link/image. - is_image = opener->image; - - if (!is_image && subj->no_link_openers) { - // take delimiter off stack - pop_bracket(subj); - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); - } - - after_link_text_pos = subj->pos; - - // First, look for an inline link. - if (peek_char(subj) == '(' && - ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) && - ((n = manual_scan_link_url(&subj->input, subj->pos + 1 + sps, - &url_chunk)) > -1)) { - - // try to parse an explicit link: - endurl = subj->pos + 1 + sps + n; - starttitle = endurl + scan_spacechars(&subj->input, endurl); - - // ensure there are spaces btw url and title - endtitle = (starttitle == endurl) - ? starttitle - : starttitle + scan_link_title(&subj->input, starttitle); - - endall = endtitle + scan_spacechars(&subj->input, endtitle); - - if (peek_at(subj, endall) == ')') { - subj->pos = endall + 1; - - title_chunk = - cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle); - url = cmark_clean_url(subj->mem, &url_chunk); - title = cmark_clean_title(subj->mem, &title_chunk); - cmark_chunk_free(subj->mem, &url_chunk); - cmark_chunk_free(subj->mem, &title_chunk); - goto match; - - } else { - // it could still be a shortcut reference link - subj->pos = after_link_text_pos; - } - } - - // Next, look for a following [link label] that matches in refmap. - // skip spaces - raw_label = cmark_chunk_literal(""); - found_label = link_label(subj, &raw_label); - if (!found_label) { - // If we have a shortcut reference link, back up - // to before the spacse we skipped. - subj->pos = initial_pos; - } - - if ((!found_label || raw_label.len == 0) && !opener->bracket_after) { - cmark_chunk_free(subj->mem, &raw_label); - raw_label = cmark_chunk_dup(&subj->input, opener->position, - initial_pos - opener->position - 1); - found_label = true; - } - - if (found_label) { - ref = (cmark_reference *)cmark_map_lookup(subj->refmap, &raw_label); - cmark_chunk_free(subj->mem, &raw_label); - } - - if (ref != NULL) { // found - url = chunk_clone(subj->mem, &ref->url); - title = chunk_clone(subj->mem, &ref->title); - goto match; - } else { - goto noMatch; - } - -noMatch: - // If we fall through to here, it means we didn't match a link. - // What if we're a footnote link? - if (parser->options & CMARK_OPT_FOOTNOTES && - opener->inl_text->next && - opener->inl_text->next->type == CMARK_NODE_TEXT) { - - cmark_chunk *literal = &opener->inl_text->next->as.literal; - - // look back to the opening '[', and skip ahead to the next character - // if we're looking at a '[^' sequence, and there is other text or nodes - // after the ^, let's call it a footnote reference. - if ((literal->len > 0 && literal->data[0] == '^') && (literal->len > 1 || opener->inl_text->next->next)) { - - // Before we got this far, the `handle_close_bracket` function may have - // advanced the current state beyond our footnote's actual closing - // bracket, ie if it went looking for a `link_label`. - // Let's just rewind the subject's position: - subj->pos = initial_pos; - - cmark_node *fnref = make_simple(subj->mem, CMARK_NODE_FOOTNOTE_REFERENCE); - - // the start and end of the footnote ref is the opening and closing brace - // i.e. the subject's current position, and the opener's start_column - int fnref_end_column = subj->pos + subj->column_offset + subj->block_offset; - int fnref_start_column = opener->inl_text->start_column; - - // any given node delineates a substring of the line being processed, - // with the remainder of the line being pointed to thru its 'literal' - // struct member. - // here, we copy the literal's pointer, moving it past the '^' character - // for a length equal to the size of footnote reference text. - // i.e. end_col minus start_col, minus the [ and the ^ characters - // - // this copies the footnote reference string, even if between the - // `opener` and the subject's current position there are other nodes - // - // (first, check for underflows) - if ((fnref_start_column + 2) <= fnref_end_column) { - fnref->as.literal = cmark_chunk_dup(literal, 1, (fnref_end_column - fnref_start_column) - 2); - } else { - fnref->as.literal = cmark_chunk_dup(literal, 1, 0); - } - - fnref->start_line = fnref->end_line = subj->line; - fnref->start_column = fnref_start_column; - fnref->end_column = fnref_end_column; - - // we then replace the opener with this new fnref node, the net effect - // being replacing the opening '[' text node with a `^footnote-ref]` node. - cmark_node_insert_before(opener->inl_text, fnref); - - process_emphasis(parser, subj, opener->position); - // sometimes, the footnote reference text gets parsed into multiple nodes - // i.e. '[^example]' parsed into '[', '^exam', 'ple]'. - // this happens for ex with the autolink extension. when the autolinker - // finds the 'w' character, it will split the text into multiple nodes - // in hopes of being able to match a 'www.' substring. - // - // because this function is called one character at a time via the - // `parse_inlines` function, and the current subj->pos is pointing at the - // closing ] brace, and because we copy all the text between the [ ] - // braces, we should be able to safely ignore and delete any nodes after - // the opener->inl_text->next. - // - // therefore, here we walk thru the list and free them all up - cmark_node *next_node; - cmark_node *current_node = opener->inl_text->next; - while(current_node) { - next_node = current_node->next; - cmark_node_free(current_node); - current_node = next_node; - } - - cmark_node_free(opener->inl_text); - - pop_bracket(subj); - return NULL; - } - } - - pop_bracket(subj); // remove this opener from delimiter list - subj->pos = initial_pos; - return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); - -match: - inl = make_simple(subj->mem, is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK); - inl->as.link.url = url; - inl->as.link.title = title; - inl->start_line = inl->end_line = subj->line; - inl->start_column = opener->inl_text->start_column; - inl->end_column = subj->pos + subj->column_offset + subj->block_offset; - cmark_node_insert_before(opener->inl_text, inl); - // Add link text: - tmp = opener->inl_text->next; - while (tmp) { - tmpnext = tmp->next; - cmark_node_unlink(tmp); - append_child(inl, tmp); - tmp = tmpnext; - } - - // Free the bracket [: - cmark_node_free(opener->inl_text); - - process_emphasis(parser, subj, opener->position); - pop_bracket(subj); - - // Now, if we have a link, we also want to deactivate links until - // we get a new opener. (This code can be removed if we decide to allow links - // inside links.) - if (!is_image) { - subj->no_link_openers = true; - } - - return NULL; -} - -// Parse a hard or soft linebreak, returning an inline. -// Assumes the subject has a cr or newline at the current position. -static cmark_node *handle_newline(subject *subj) { - bufsize_t nlpos = subj->pos; - // skip over cr, crlf, or lf: - if (peek_at(subj, subj->pos) == '\r') { - advance(subj); - } - if (peek_at(subj, subj->pos) == '\n') { - advance(subj); - } - ++subj->line; - subj->column_offset = -subj->pos; - // skip spaces at beginning of line - skip_spaces(subj); - if (nlpos > 1 && peek_at(subj, nlpos - 1) == ' ' && - peek_at(subj, nlpos - 2) == ' ') { - return make_linebreak(subj->mem); - } else { - return make_softbreak(subj->mem); - } -} - -// "\r\n\\`&_*[]pos + 1; - - while (n < subj->input.len) { - if (SPECIAL_CHARS[subj->input.data[n]]) - return n; - if (options & CMARK_OPT_SMART && SMART_PUNCT_CHARS[subj->input.data[n]]) - return n; - n++; - } - - return subj->input.len; -} - -void cmark_inlines_add_special_character(unsigned char c, bool emphasis) { - SPECIAL_CHARS[c] = 1; - if (emphasis) - SKIP_CHARS[c] = 1; -} - -void cmark_inlines_remove_special_character(unsigned char c, bool emphasis) { - SPECIAL_CHARS[c] = 0; - if (emphasis) - SKIP_CHARS[c] = 0; -} - -static cmark_node *try_extensions(cmark_parser *parser, - cmark_node *parent, - unsigned char c, - subject *subj) { - cmark_node *res = NULL; - cmark_llist *tmp; - - for (tmp = parser->inline_syntax_extensions; tmp; tmp = tmp->next) { - cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp->data; - res = ext->match_inline(ext, parser, parent, c, subj); - - if (res) - break; - } - - return res; -} - -// Parse an inline, advancing subject, and add it as a child of parent. -// Return 0 if no inline can be parsed, 1 otherwise. -static int parse_inline(cmark_parser *parser, subject *subj, cmark_node *parent, int options) { - cmark_node *new_inl = NULL; - cmark_chunk contents; - unsigned char c; - bufsize_t startpos, endpos; - c = peek_char(subj); - if (c == 0) { - return 0; - } - switch (c) { - case '\r': - case '\n': - new_inl = handle_newline(subj); - break; - case '`': - new_inl = handle_backticks(subj, options); - break; - case '\\': - new_inl = handle_backslash(parser, subj); - break; - case '&': - new_inl = handle_entity(subj); - break; - case '<': - new_inl = handle_pointy_brace(subj, options); - break; - case '*': - case '_': - case '\'': - case '"': - new_inl = handle_delim(subj, c, (options & CMARK_OPT_SMART) != 0); - break; - case '-': - new_inl = handle_hyphen(subj, (options & CMARK_OPT_SMART) != 0); - break; - case '.': - new_inl = handle_period(subj, (options & CMARK_OPT_SMART) != 0); - break; - case '[': - advance(subj); - new_inl = make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("[")); - push_bracket(subj, false, new_inl); - break; - case ']': - new_inl = handle_close_bracket(parser, subj); - break; - case '!': - advance(subj); - if (peek_char(subj) == '[' && peek_char_n(subj, 1) != '^') { - advance(subj); - new_inl = make_str(subj, subj->pos - 2, subj->pos - 1, cmark_chunk_literal("![")); - push_bracket(subj, true, new_inl); - } else { - new_inl = make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("!")); - } - break; - default: - new_inl = try_extensions(parser, parent, c, subj); - if (new_inl != NULL) - break; - - endpos = subject_find_special_char(subj, options); - contents = cmark_chunk_dup(&subj->input, subj->pos, endpos - subj->pos); - startpos = subj->pos; - subj->pos = endpos; - - // if we're at a newline, strip trailing spaces. - if (S_is_line_end_char(peek_char(subj))) { - cmark_chunk_rtrim(&contents); - } - - new_inl = make_str(subj, startpos, endpos - 1, contents); - } - if (new_inl != NULL) { - append_child(parent, new_inl); - } - - return 1; -} - -// Parse inlines from parent's string_content, adding as children of parent. -void cmark_parse_inlines(cmark_parser *parser, - cmark_node *parent, - cmark_map *refmap, - int options) { - subject subj; - cmark_chunk content = {parent->content.ptr, parent->content.size, 0}; - subject_from_buf(parser->mem, parent->start_line, parent->start_column - 1 + parent->internal_offset, &subj, &content, refmap); - cmark_chunk_rtrim(&subj.input); - - while (!is_eof(&subj) && parse_inline(parser, &subj, parent, options)) - ; - - process_emphasis(parser, &subj, 0); - // free bracket and delim stack - while (subj.last_delim) { - remove_delimiter(&subj, subj.last_delim); - } - while (subj.last_bracket) { - pop_bracket(&subj); - } -} - -// Parse zero or more space characters, including at most one newline. -static void spnl(subject *subj) { - skip_spaces(subj); - if (skip_line_end(subj)) { - skip_spaces(subj); - } -} - -// Parse reference. Assumes string begins with '[' character. -// Modify refmap if a reference is encountered. -// Return 0 if no reference found, otherwise position of subject -// after reference is parsed. -bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_chunk *input, - cmark_map *refmap) { - subject subj; - - cmark_chunk lab; - cmark_chunk url; - cmark_chunk title; - - bufsize_t matchlen = 0; - bufsize_t beforetitle; - - subject_from_buf(mem, -1, 0, &subj, input, NULL); - - // parse label: - if (!link_label(&subj, &lab) || lab.len == 0) - return 0; - - // colon: - if (peek_char(&subj) == ':') { - advance(&subj); - } else { - return 0; - } - - // parse link url: - spnl(&subj); - if ((matchlen = manual_scan_link_url(&subj.input, subj.pos, &url)) > -1) { - subj.pos += matchlen; - } else { - return 0; - } - - // parse optional link_title - beforetitle = subj.pos; - spnl(&subj); - matchlen = subj.pos == beforetitle ? 0 : scan_link_title(&subj.input, subj.pos); - if (matchlen) { - title = cmark_chunk_dup(&subj.input, subj.pos, matchlen); - subj.pos += matchlen; - } else { - subj.pos = beforetitle; - title = cmark_chunk_literal(""); - } - - // parse final spaces and newline: - skip_spaces(&subj); - if (!skip_line_end(&subj)) { - if (matchlen) { // try rewinding before title - subj.pos = beforetitle; - skip_spaces(&subj); - if (!skip_line_end(&subj)) { - return 0; - } - } else { - return 0; - } - } - // insert reference into refmap - cmark_reference_create(refmap, &lab, &url, &title); - return subj.pos; -} - -unsigned char cmark_inline_parser_peek_char(cmark_inline_parser *parser) { - return peek_char(parser); -} - -unsigned char cmark_inline_parser_peek_at(cmark_inline_parser *parser, bufsize_t pos) { - return peek_at(parser, pos); -} - -int cmark_inline_parser_is_eof(cmark_inline_parser *parser) { - return is_eof(parser); -} - -static char * -my_strndup (const char *s, size_t n) -{ - char *result; - size_t len = strlen (s); - - if (n < len) - len = n; - - result = (char *) malloc (len + 1); - if (!result) - return 0; - - result[len] = '\0'; - return (char *) memcpy (result, s, len); -} - -char *cmark_inline_parser_take_while(cmark_inline_parser *parser, cmark_inline_predicate pred) { - unsigned char c; - bufsize_t startpos = parser->pos; - bufsize_t len = 0; - - while ((c = peek_char(parser)) && (*pred)(c)) { - advance(parser); - len++; - } - - return my_strndup((const char *) parser->input.data + startpos, len); -} - -void cmark_inline_parser_push_delimiter(cmark_inline_parser *parser, - unsigned char c, - int can_open, - int can_close, - cmark_node *inl_text) { - push_delimiter(parser, c, can_open != 0, can_close != 0, inl_text); -} - -void cmark_inline_parser_remove_delimiter(cmark_inline_parser *parser, delimiter *delim) { - remove_delimiter(parser, delim); -} - -int cmark_inline_parser_scan_delimiters(cmark_inline_parser *parser, - int max_delims, - unsigned char c, - int *left_flanking, - int *right_flanking, - int *punct_before, - int *punct_after) { - int numdelims = 0; - bufsize_t before_char_pos; - int32_t after_char = 0; - int32_t before_char = 0; - int len; - bool space_before, space_after; - - if (parser->pos == 0) { - before_char = 10; - } else { - before_char_pos = parser->pos - 1; - // walk back to the beginning of the UTF_8 sequence: - while (peek_at(parser, before_char_pos) >> 6 == 2 && before_char_pos > 0) { - before_char_pos -= 1; - } - len = cmark_utf8proc_iterate(parser->input.data + before_char_pos, - parser->pos - before_char_pos, &before_char); - if (len == -1) { - before_char = 10; - } - } - - while (peek_char(parser) == c && numdelims < max_delims) { - numdelims++; - advance(parser); - } - - len = cmark_utf8proc_iterate(parser->input.data + parser->pos, - parser->input.len - parser->pos, &after_char); - if (len == -1) { - after_char = 10; - } - - *punct_before = cmark_utf8proc_is_punctuation(before_char); - *punct_after = cmark_utf8proc_is_punctuation(after_char); - space_before = cmark_utf8proc_is_space(before_char) != 0; - space_after = cmark_utf8proc_is_space(after_char) != 0; - - *left_flanking = numdelims > 0 && !cmark_utf8proc_is_space(after_char) && - !(*punct_after && !space_before && !*punct_before); - *right_flanking = numdelims > 0 && !cmark_utf8proc_is_space(before_char) && - !(*punct_before && !space_after && !*punct_after); - - return numdelims; -} - -void cmark_inline_parser_advance_offset(cmark_inline_parser *parser) { - advance(parser); -} - -int cmark_inline_parser_get_offset(cmark_inline_parser *parser) { - return parser->pos; -} - -void cmark_inline_parser_set_offset(cmark_inline_parser *parser, int offset) { - parser->pos = offset; -} - -int cmark_inline_parser_get_column(cmark_inline_parser *parser) { - return parser->pos + 1 + parser->column_offset + parser->block_offset; -} - -cmark_chunk *cmark_inline_parser_get_chunk(cmark_inline_parser *parser) { - return &parser->input; -} - -int cmark_inline_parser_in_bracket(cmark_inline_parser *parser, int image) { - bracket *b = parser->last_bracket; - if (!b) { - return 0; - } - if (image != 0) { - return b->in_bracket_image1; - } else { - return b->in_bracket_image0; - } -} - -void cmark_node_unput(cmark_node *node, int n) { - node = node->last_child; - while (n > 0 && node && node->type == CMARK_NODE_TEXT) { - if (node->as.literal.len < n) { - n -= node->as.literal.len; - node->as.literal.len = 0; - } else { - node->as.literal.len -= n; - n = 0; - } - node = node->prev; - } -} - -delimiter *cmark_inline_parser_get_last_delimiter(cmark_inline_parser *parser) { - return parser->last_delim; -} - -int cmark_inline_parser_get_line(cmark_inline_parser *parser) { - return parser->line; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.h deleted file mode 100644 index 7dd91bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef CMARK_INLINES_H -#define CMARK_INLINES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "references.h" - -cmark_chunk cmark_clean_url(cmark_mem *mem, cmark_chunk *url); -cmark_chunk cmark_clean_title(cmark_mem *mem, cmark_chunk *title); - -CMARK_GFM_EXPORT -void cmark_parse_inlines(cmark_parser *parser, - cmark_node *parent, - cmark_map *refmap, - int options); - -bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_chunk *input, - cmark_map *refmap); - -void cmark_inlines_add_special_character(unsigned char c, bool emphasis); -void cmark_inlines_remove_special_character(unsigned char c, bool emphasis); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.o deleted file mode 100644 index dbde855..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/inlines.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.c deleted file mode 100644 index 13fdb76..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.c +++ /dev/null @@ -1,159 +0,0 @@ -#include -#include - -#include "config.h" -#include "node.h" -#include "cmark-gfm.h" -#include "iterator.h" - -cmark_iter *cmark_iter_new(cmark_node *root) { - if (root == NULL) { - return NULL; - } - cmark_mem *mem = root->content.mem; - cmark_iter *iter = (cmark_iter *)mem->calloc(1, sizeof(cmark_iter)); - iter->mem = mem; - iter->root = root; - iter->cur.ev_type = CMARK_EVENT_NONE; - iter->cur.node = NULL; - iter->next.ev_type = CMARK_EVENT_ENTER; - iter->next.node = root; - return iter; -} - -void cmark_iter_free(cmark_iter *iter) { iter->mem->free(iter); } - -static bool S_is_leaf(cmark_node *node) { - switch (node->type) { - case CMARK_NODE_HTML_BLOCK: - case CMARK_NODE_THEMATIC_BREAK: - case CMARK_NODE_CODE_BLOCK: - case CMARK_NODE_TEXT: - case CMARK_NODE_SOFTBREAK: - case CMARK_NODE_LINEBREAK: - case CMARK_NODE_CODE: - case CMARK_NODE_HTML_INLINE: - return 1; - } - return 0; -} - -cmark_event_type cmark_iter_next(cmark_iter *iter) { - cmark_event_type ev_type = iter->next.ev_type; - cmark_node *node = iter->next.node; - - iter->cur.ev_type = ev_type; - iter->cur.node = node; - - if (ev_type == CMARK_EVENT_DONE) { - return ev_type; - } - - /* roll forward to next item, setting both fields */ - if (ev_type == CMARK_EVENT_ENTER && !S_is_leaf(node)) { - if (node->first_child == NULL) { - /* stay on this node but exit */ - iter->next.ev_type = CMARK_EVENT_EXIT; - } else { - iter->next.ev_type = CMARK_EVENT_ENTER; - iter->next.node = node->first_child; - } - } else if (node == iter->root) { - /* don't move past root */ - iter->next.ev_type = CMARK_EVENT_DONE; - iter->next.node = NULL; - } else if (node->next) { - iter->next.ev_type = CMARK_EVENT_ENTER; - iter->next.node = node->next; - } else if (node->parent) { - iter->next.ev_type = CMARK_EVENT_EXIT; - iter->next.node = node->parent; - } else { - assert(false); - iter->next.ev_type = CMARK_EVENT_DONE; - iter->next.node = NULL; - } - - return ev_type; -} - -void cmark_iter_reset(cmark_iter *iter, cmark_node *current, - cmark_event_type event_type) { - iter->next.ev_type = event_type; - iter->next.node = current; - cmark_iter_next(iter); -} - -cmark_node *cmark_iter_get_node(cmark_iter *iter) { return iter->cur.node; } - -cmark_event_type cmark_iter_get_event_type(cmark_iter *iter) { - return iter->cur.ev_type; -} - -cmark_node *cmark_iter_get_root(cmark_iter *iter) { return iter->root; } - -void cmark_consolidate_text_nodes(cmark_node *root) { - if (root == NULL) { - return; - } - cmark_iter *iter = cmark_iter_new(root); - cmark_strbuf buf = CMARK_BUF_INIT(iter->mem); - cmark_event_type ev_type; - cmark_node *cur, *tmp, *next; - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - if (ev_type == CMARK_EVENT_ENTER && cur->type == CMARK_NODE_TEXT && - cur->next && cur->next->type == CMARK_NODE_TEXT) { - cmark_strbuf_clear(&buf); - cmark_strbuf_put(&buf, cur->as.literal.data, cur->as.literal.len); - tmp = cur->next; - while (tmp && tmp->type == CMARK_NODE_TEXT) { - cmark_iter_next(iter); // advance pointer - cmark_strbuf_put(&buf, tmp->as.literal.data, tmp->as.literal.len); - cur->end_column = tmp->end_column; - next = tmp->next; - cmark_node_free(tmp); - tmp = next; - } - cmark_chunk_free(iter->mem, &cur->as.literal); - cur->as.literal = cmark_chunk_buf_detach(&buf); - } - } - - cmark_strbuf_free(&buf); - cmark_iter_free(iter); -} - -void cmark_node_own(cmark_node *root) { - if (root == NULL) { - return; - } - cmark_iter *iter = cmark_iter_new(root); - cmark_event_type ev_type; - cmark_node *cur; - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - if (ev_type == CMARK_EVENT_ENTER) { - switch (cur->type) { - case CMARK_NODE_TEXT: - case CMARK_NODE_HTML_INLINE: - case CMARK_NODE_CODE: - case CMARK_NODE_HTML_BLOCK: - cmark_chunk_to_cstr(iter->mem, &cur->as.literal); - break; - case CMARK_NODE_LINK: - cmark_chunk_to_cstr(iter->mem, &cur->as.link.url); - cmark_chunk_to_cstr(iter->mem, &cur->as.link.title); - break; - case CMARK_NODE_CUSTOM_INLINE: - cmark_chunk_to_cstr(iter->mem, &cur->as.custom.on_enter); - cmark_chunk_to_cstr(iter->mem, &cur->as.custom.on_exit); - break; - } - } - } - - cmark_iter_free(iter); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.h deleted file mode 100644 index 47e10e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef CMARK_ITERATOR_H -#define CMARK_ITERATOR_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "cmark-gfm.h" - -typedef struct { - cmark_event_type ev_type; - cmark_node *node; -} cmark_iter_state; - -struct cmark_iter { - cmark_mem *mem; - cmark_node *root; - cmark_iter_state cur; - cmark_iter_state next; -}; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.o deleted file mode 100644 index 45bd171..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/iterator.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/latex.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/latex.c deleted file mode 100644 index 1a6367a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/latex.c +++ /dev/null @@ -1,468 +0,0 @@ -#include -#include -#include -#include - -#include "config.h" -#include "cmark-gfm.h" -#include "node.h" -#include "buffer.h" -#include "utf8.h" -#include "scanners.h" -#include "render.h" -#include "syntax_extension.h" - -#define OUT(s, wrap, escaping) renderer->out(renderer, node, s, wrap, escaping) -#define LIT(s) renderer->out(renderer, node, s, false, LITERAL) -#define CR() renderer->cr(renderer) -#define BLANKLINE() renderer->blankline(renderer) -#define LIST_NUMBER_STRING_SIZE 20 - -static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_node *node, - cmark_escaping escape, - int32_t c, unsigned char nextc) { - if (escape == LITERAL) { - cmark_render_code_point(renderer, c); - return; - } - - switch (c) { - case 123: // '{' - case 125: // '}' - case 35: // '#' - case 37: // '%' - case 38: // '&' - cmark_render_ascii(renderer, "\\"); - cmark_render_code_point(renderer, c); - break; - case 36: // '$' - case 95: // '_' - if (escape == NORMAL) { - cmark_render_ascii(renderer, "\\"); - } - cmark_render_code_point(renderer, c); - break; - case 45: // '-' - if (nextc == 45) { // prevent ligature - cmark_render_ascii(renderer, "-{}"); - } else { - cmark_render_ascii(renderer, "-"); - } - break; - case 126: // '~' - if (escape == NORMAL) { - cmark_render_ascii(renderer, "\\textasciitilde{}"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 94: // '^' - cmark_render_ascii(renderer, "\\^{}"); - break; - case 92: // '\\' - if (escape == URL) { - // / acts as path sep even on windows: - cmark_render_ascii(renderer, "/"); - } else { - cmark_render_ascii(renderer, "\\textbackslash{}"); - } - break; - case 124: // '|' - cmark_render_ascii(renderer, "\\textbar{}"); - break; - case 60: // '<' - cmark_render_ascii(renderer, "\\textless{}"); - break; - case 62: // '>' - cmark_render_ascii(renderer, "\\textgreater{}"); - break; - case 91: // '[' - case 93: // ']' - cmark_render_ascii(renderer, "{"); - cmark_render_code_point(renderer, c); - cmark_render_ascii(renderer, "}"); - break; - case 34: // '"' - cmark_render_ascii(renderer, "\\textquotedbl{}"); - // requires \usepackage[T1]{fontenc} - break; - case 39: // '\'' - cmark_render_ascii(renderer, "\\textquotesingle{}"); - // requires \usepackage{textcomp} - break; - case 160: // nbsp - cmark_render_ascii(renderer, "~"); - break; - case 8230: // hellip - cmark_render_ascii(renderer, "\\ldots{}"); - break; - case 8216: // lsquo - if (escape == NORMAL) { - cmark_render_ascii(renderer, "`"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 8217: // rsquo - if (escape == NORMAL) { - cmark_render_ascii(renderer, "\'"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 8220: // ldquo - if (escape == NORMAL) { - cmark_render_ascii(renderer, "``"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 8221: // rdquo - if (escape == NORMAL) { - cmark_render_ascii(renderer, "''"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 8212: // emdash - if (escape == NORMAL) { - cmark_render_ascii(renderer, "---"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 8211: // endash - if (escape == NORMAL) { - cmark_render_ascii(renderer, "--"); - } else { - cmark_render_code_point(renderer, c); - } - break; - default: - cmark_render_code_point(renderer, c); - } -} - -typedef enum { - NO_LINK, - URL_AUTOLINK, - EMAIL_AUTOLINK, - NORMAL_LINK, - INTERNAL_LINK -} link_type; - -static link_type get_link_type(cmark_node *node) { - size_t title_len, url_len; - cmark_node *link_text; - char *realurl; - int realurllen; - bool isemail = false; - - if (node->type != CMARK_NODE_LINK) { - return NO_LINK; - } - - const char *url = cmark_node_get_url(node); - cmark_chunk url_chunk = cmark_chunk_literal(url); - - if (url && *url == '#') { - return INTERNAL_LINK; - } - - url_len = strlen(url); - if (url_len == 0 || scan_scheme(&url_chunk, 0) == 0) { - return NO_LINK; - } - - const char *title = cmark_node_get_title(node); - title_len = strlen(title); - // if it has a title, we can't treat it as an autolink: - if (title_len == 0) { - - link_text = node->first_child; - cmark_consolidate_text_nodes(link_text); - - if (!link_text) - return NO_LINK; - - realurl = (char *)url; - realurllen = (int)url_len; - if (strncmp(realurl, "mailto:", 7) == 0) { - realurl += 7; - realurllen -= 7; - isemail = true; - } - if (realurllen == link_text->as.literal.len && - strncmp(realurl, (char *)link_text->as.literal.data, - link_text->as.literal.len) == 0) { - if (isemail) { - return EMAIL_AUTOLINK; - } else { - return URL_AUTOLINK; - } - } - } - - return NORMAL_LINK; -} - -static int S_get_enumlevel(cmark_node *node) { - int enumlevel = 0; - cmark_node *tmp = node; - while (tmp) { - if (tmp->type == CMARK_NODE_LIST && - cmark_node_get_list_type(node) == CMARK_ORDERED_LIST) { - enumlevel++; - } - tmp = tmp->parent; - } - return enumlevel; -} - -static int S_render_node(cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - int list_number; - int enumlevel; - char list_number_string[LIST_NUMBER_STRING_SIZE]; - bool entering = (ev_type == CMARK_EVENT_ENTER); - cmark_list_type list_type; - bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options); - - if (node->extension && node->extension->latex_render_func) { - node->extension->latex_render_func(node->extension, renderer, node, ev_type, options); - return 1; - } - - switch (node->type) { - case CMARK_NODE_DOCUMENT: - break; - - case CMARK_NODE_BLOCK_QUOTE: - if (entering) { - LIT("\\begin{quote}"); - CR(); - } else { - LIT("\\end{quote}"); - BLANKLINE(); - } - break; - - case CMARK_NODE_LIST: - list_type = cmark_node_get_list_type(node); - if (entering) { - LIT("\\begin{"); - LIT(list_type == CMARK_ORDERED_LIST ? "enumerate" : "itemize"); - LIT("}"); - CR(); - list_number = cmark_node_get_list_start(node); - if (list_number > 1) { - enumlevel = S_get_enumlevel(node); - // latex normally supports only five levels - if (enumlevel >= 1 && enumlevel <= 5) { - snprintf(list_number_string, LIST_NUMBER_STRING_SIZE, "%d", - list_number); - LIT("\\setcounter{enum"); - switch (enumlevel) { - case 1: LIT("i"); break; - case 2: LIT("ii"); break; - case 3: LIT("iii"); break; - case 4: LIT("iv"); break; - case 5: LIT("v"); break; - default: LIT("i"); break; - } - LIT("}{"); - OUT(list_number_string, false, NORMAL); - LIT("}"); - } - CR(); - } - } else { - LIT("\\end{"); - LIT(list_type == CMARK_ORDERED_LIST ? "enumerate" : "itemize"); - LIT("}"); - BLANKLINE(); - } - break; - - case CMARK_NODE_ITEM: - if (entering) { - LIT("\\item "); - } else { - CR(); - } - break; - - case CMARK_NODE_HEADING: - if (entering) { - switch (cmark_node_get_heading_level(node)) { - case 1: - LIT("\\section"); - break; - case 2: - LIT("\\subsection"); - break; - case 3: - LIT("\\subsubsection"); - break; - case 4: - LIT("\\paragraph"); - break; - case 5: - LIT("\\subparagraph"); - break; - } - LIT("{"); - } else { - LIT("}"); - BLANKLINE(); - } - break; - - case CMARK_NODE_CODE_BLOCK: - CR(); - LIT("\\begin{verbatim}"); - CR(); - OUT(cmark_node_get_literal(node), false, LITERAL); - CR(); - LIT("\\end{verbatim}"); - BLANKLINE(); - break; - - case CMARK_NODE_HTML_BLOCK: - break; - - case CMARK_NODE_CUSTOM_BLOCK: - CR(); - OUT(entering ? cmark_node_get_on_enter(node) : cmark_node_get_on_exit(node), - false, LITERAL); - CR(); - break; - - case CMARK_NODE_THEMATIC_BREAK: - BLANKLINE(); - LIT("\\begin{center}\\rule{0.5\\linewidth}{\\linethickness}\\end{center}"); - BLANKLINE(); - break; - - case CMARK_NODE_PARAGRAPH: - if (!entering) { - BLANKLINE(); - } - break; - - case CMARK_NODE_TEXT: - OUT(cmark_node_get_literal(node), allow_wrap, NORMAL); - break; - - case CMARK_NODE_LINEBREAK: - LIT("\\\\"); - CR(); - break; - - case CMARK_NODE_SOFTBREAK: - if (options & CMARK_OPT_HARDBREAKS) { - LIT("\\\\"); - CR(); - } else if (renderer->width == 0 && !(CMARK_OPT_NOBREAKS & options)) { - CR(); - } else { - OUT(" ", allow_wrap, NORMAL); - } - break; - - case CMARK_NODE_CODE: - LIT("\\texttt{"); - OUT(cmark_node_get_literal(node), false, NORMAL); - LIT("}"); - break; - - case CMARK_NODE_HTML_INLINE: - break; - - case CMARK_NODE_CUSTOM_INLINE: - OUT(entering ? cmark_node_get_on_enter(node) : cmark_node_get_on_exit(node), - false, LITERAL); - break; - - case CMARK_NODE_STRONG: - if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { - if (entering) { - LIT("\\textbf{"); - } else { - LIT("}"); - } - } - break; - - case CMARK_NODE_EMPH: - if (entering) { - LIT("\\emph{"); - } else { - LIT("}"); - } - break; - - case CMARK_NODE_LINK: - if (entering) { - const char *url = cmark_node_get_url(node); - // requires \usepackage{hyperref} - switch (get_link_type(node)) { - case URL_AUTOLINK: - LIT("\\url{"); - OUT(url, false, URL); - LIT("}"); - return 0; // Don't process further nodes to avoid double-rendering artefacts - case EMAIL_AUTOLINK: - LIT("\\href{"); - OUT(url, false, URL); - LIT("}\\nolinkurl{"); - break; - case NORMAL_LINK: - LIT("\\href{"); - OUT(url, false, URL); - LIT("}{"); - break; - case INTERNAL_LINK: - LIT("\\protect\\hyperlink{"); - OUT(url + 1, false, URL); - LIT("}{"); - break; - case NO_LINK: - LIT("{"); // error? - } - } else { - LIT("}"); - } - - break; - - case CMARK_NODE_IMAGE: - if (entering) { - LIT("\\protect\\includegraphics{"); - // requires \include{graphicx} - OUT(cmark_node_get_url(node), false, URL); - LIT("}"); - return 0; - } - break; - - case CMARK_NODE_FOOTNOTE_DEFINITION: - case CMARK_NODE_FOOTNOTE_REFERENCE: - // TODO - break; - - default: - assert(false); - break; - } - - return 1; -} - -char *cmark_render_latex(cmark_node *root, int options, int width) { - return cmark_render_latex_with_mem(root, options, width, cmark_node_mem(root)); -} - -char *cmark_render_latex_with_mem(cmark_node *root, int options, int width, cmark_mem *mem) { - return cmark_render(mem, root, options, width, outc, S_render_node); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/latex.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/latex.o deleted file mode 100644 index ebb89fc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/latex.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/linked_list.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/linked_list.c deleted file mode 100644 index 8c26dc5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/linked_list.c +++ /dev/null @@ -1,37 +0,0 @@ -#include - -#include "cmark-gfm.h" - -cmark_llist *cmark_llist_append(cmark_mem *mem, cmark_llist *head, void *data) { - cmark_llist *tmp; - cmark_llist *new_node = (cmark_llist *) mem->calloc(1, sizeof(cmark_llist)); - - new_node->data = data; - new_node->next = NULL; - - if (!head) - return new_node; - - for (tmp = head; tmp->next; tmp=tmp->next); - - tmp->next = new_node; - - return head; -} - -void cmark_llist_free_full(cmark_mem *mem, cmark_llist *head, cmark_free_func free_func) { - cmark_llist *tmp, *prev; - - for (tmp = head; tmp;) { - if (free_func) - free_func(mem, tmp->data); - - prev = tmp; - tmp = tmp->next; - mem->free(prev); - } -} - -void cmark_llist_free(cmark_mem *mem, cmark_llist *head) { - cmark_llist_free_full(mem, head, NULL); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/linked_list.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/linked_list.o deleted file mode 100644 index c3efd0d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/linked_list.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/man.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/man.c deleted file mode 100644 index 634fd9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/man.c +++ /dev/null @@ -1,274 +0,0 @@ -#include -#include -#include -#include - -#include "config.h" -#include "cmark-gfm.h" -#include "node.h" -#include "buffer.h" -#include "utf8.h" -#include "render.h" -#include "syntax_extension.h" - -#define OUT(s, wrap, escaping) renderer->out(renderer, node, s, wrap, escaping) -#define LIT(s) renderer->out(renderer, node, s, false, LITERAL) -#define CR() renderer->cr(renderer) -#define BLANKLINE() renderer->blankline(renderer) -#define LIST_NUMBER_SIZE 20 - -// Functions to convert cmark_nodes to groff man strings. -static void S_outc(cmark_renderer *renderer, cmark_node *node, - cmark_escaping escape, int32_t c, - unsigned char nextc) { - (void)(nextc); - - if (escape == LITERAL) { - cmark_render_code_point(renderer, c); - return; - } - - switch (c) { - case 46: - if (renderer->begin_line) { - cmark_render_ascii(renderer, "\\&."); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 39: - if (renderer->begin_line) { - cmark_render_ascii(renderer, "\\&'"); - } else { - cmark_render_code_point(renderer, c); - } - break; - case 45: - cmark_render_ascii(renderer, "\\-"); - break; - case 92: - cmark_render_ascii(renderer, "\\e"); - break; - case 8216: // left single quote - cmark_render_ascii(renderer, "\\[oq]"); - break; - case 8217: // right single quote - cmark_render_ascii(renderer, "\\[cq]"); - break; - case 8220: // left double quote - cmark_render_ascii(renderer, "\\[lq]"); - break; - case 8221: // right double quote - cmark_render_ascii(renderer, "\\[rq]"); - break; - case 8212: // em dash - cmark_render_ascii(renderer, "\\[em]"); - break; - case 8211: // en dash - cmark_render_ascii(renderer, "\\[en]"); - break; - default: - cmark_render_code_point(renderer, c); - } -} - -static int S_render_node(cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - int list_number; - bool entering = (ev_type == CMARK_EVENT_ENTER); - bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options); - - if (node->extension && node->extension->man_render_func) { - node->extension->man_render_func(node->extension, renderer, node, ev_type, options); - return 1; - } - - switch (node->type) { - case CMARK_NODE_DOCUMENT: - if (entering) { - /* Define a strikethrough macro */ - /* Commenting out because this makes tests fail - LIT(".de ST"); - CR(); - LIT(".nr ww \\w'\\\\$1'"); - CR(); - LIT("\\Z@\\v'-.25m'\\l'\\\\n[ww]u'@\\\\$1"); - CR(); - LIT(".."); - CR(); - */ - } - break; - - case CMARK_NODE_BLOCK_QUOTE: - if (entering) { - CR(); - LIT(".RS"); - CR(); - } else { - CR(); - LIT(".RE"); - CR(); - } - break; - - case CMARK_NODE_LIST: - break; - - case CMARK_NODE_ITEM: - if (entering) { - CR(); - LIT(".IP "); - if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) { - LIT("\\[bu] 2"); - } else { - list_number = cmark_node_get_item_index(node); - char list_number_s[LIST_NUMBER_SIZE]; - snprintf(list_number_s, LIST_NUMBER_SIZE, "\"%d.\" 4", list_number); - LIT(list_number_s); - } - CR(); - } else { - CR(); - } - break; - - case CMARK_NODE_HEADING: - if (entering) { - CR(); - LIT(cmark_node_get_heading_level(node) == 1 ? ".SH" : ".SS"); - CR(); - } else { - CR(); - } - break; - - case CMARK_NODE_CODE_BLOCK: - CR(); - LIT(".IP\n.nf\n\\f[C]\n"); - OUT(cmark_node_get_literal(node), false, NORMAL); - CR(); - LIT("\\f[]\n.fi"); - CR(); - break; - - case CMARK_NODE_HTML_BLOCK: - break; - - case CMARK_NODE_CUSTOM_BLOCK: - CR(); - OUT(entering ? cmark_node_get_on_enter(node) : cmark_node_get_on_exit(node), - false, LITERAL); - CR(); - break; - - case CMARK_NODE_THEMATIC_BREAK: - CR(); - LIT(".PP\n * * * * *"); - CR(); - break; - - case CMARK_NODE_PARAGRAPH: - if (entering) { - // no blank line if first paragraph in list: - if (node->parent && node->parent->type == CMARK_NODE_ITEM && - node->prev == NULL) { - // no blank line or .PP - } else { - CR(); - LIT(".PP"); - CR(); - } - } else { - CR(); - } - break; - - case CMARK_NODE_TEXT: - OUT(cmark_node_get_literal(node), allow_wrap, NORMAL); - break; - - case CMARK_NODE_LINEBREAK: - LIT(".PD 0\n.P\n.PD"); - CR(); - break; - - case CMARK_NODE_SOFTBREAK: - if (options & CMARK_OPT_HARDBREAKS) { - LIT(".PD 0\n.P\n.PD"); - CR(); - } else if (renderer->width == 0 && !(CMARK_OPT_NOBREAKS & options)) { - CR(); - } else { - OUT(" ", allow_wrap, LITERAL); - } - break; - - case CMARK_NODE_CODE: - LIT("\\f[C]"); - OUT(cmark_node_get_literal(node), allow_wrap, NORMAL); - LIT("\\f[]"); - break; - - case CMARK_NODE_HTML_INLINE: - break; - - case CMARK_NODE_CUSTOM_INLINE: - OUT(entering ? cmark_node_get_on_enter(node) : cmark_node_get_on_exit(node), - false, LITERAL); - break; - - case CMARK_NODE_STRONG: - if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { - if (entering) { - LIT("\\f[B]"); - } else { - LIT("\\f[]"); - } - } - break; - - case CMARK_NODE_EMPH: - if (entering) { - LIT("\\f[I]"); - } else { - LIT("\\f[]"); - } - break; - - case CMARK_NODE_LINK: - if (!entering) { - LIT(" ("); - OUT(cmark_node_get_url(node), allow_wrap, URL); - LIT(")"); - } - break; - - case CMARK_NODE_IMAGE: - if (entering) { - LIT("[IMAGE: "); - } else { - LIT("]"); - } - break; - - case CMARK_NODE_FOOTNOTE_DEFINITION: - case CMARK_NODE_FOOTNOTE_REFERENCE: - // TODO - break; - - default: - assert(false); - break; - } - - return 1; -} - -char *cmark_render_man(cmark_node *root, int options, int width) { - return cmark_render_man_with_mem(root, options, width, cmark_node_mem(root)); -} - -char *cmark_render_man_with_mem(cmark_node *root, int options, int width, cmark_mem *mem) { - return cmark_render(mem, root, options, width, S_outc, S_render_node); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/man.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/man.o deleted file mode 100644 index 37decfb..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/man.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.c deleted file mode 100644 index f60f8fc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.c +++ /dev/null @@ -1,129 +0,0 @@ -#include "map.h" -#include "utf8.h" -#include "parser.h" - -// normalize map label: collapse internal whitespace to single space, -// remove leading/trailing whitespace, case fold -// Return NULL if the label is actually empty (i.e. composed solely from -// whitespace) -unsigned char *normalize_map_label(cmark_mem *mem, cmark_chunk *ref) { - cmark_strbuf normalized = CMARK_BUF_INIT(mem); - unsigned char *result; - - if (ref == NULL) - return NULL; - - if (ref->len == 0) - return NULL; - - cmark_utf8proc_case_fold(&normalized, ref->data, ref->len); - cmark_strbuf_trim(&normalized); - cmark_strbuf_normalize_whitespace(&normalized); - - result = cmark_strbuf_detach(&normalized); - assert(result); - - if (result[0] == '\0') { - mem->free(result); - return NULL; - } - - return result; -} - -static int -labelcmp(const unsigned char *a, const unsigned char *b) { - return strcmp((const char *)a, (const char *)b); -} - -static int -refcmp(const void *p1, const void *p2) { - cmark_map_entry *r1 = *(cmark_map_entry **)p1; - cmark_map_entry *r2 = *(cmark_map_entry **)p2; - int res = labelcmp(r1->label, r2->label); - return res ? res : ((int)r1->age - (int)r2->age); -} - -static int -refsearch(const void *label, const void *p2) { - cmark_map_entry *ref = *(cmark_map_entry **)p2; - return labelcmp((const unsigned char *)label, ref->label); -} - -static void sort_map(cmark_map *map) { - size_t i = 0, last = 0, size = map->size; - cmark_map_entry *r = map->refs, **sorted = NULL; - - sorted = (cmark_map_entry **)map->mem->calloc(size, sizeof(cmark_map_entry *)); - while (r) { - sorted[i++] = r; - r = r->next; - } - - qsort(sorted, size, sizeof(cmark_map_entry *), refcmp); - - for (i = 1; i < size; i++) { - if (labelcmp(sorted[i]->label, sorted[last]->label) != 0) - sorted[++last] = sorted[i]; - } - - map->sorted = sorted; - map->size = last + 1; -} - -cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label) { - cmark_map_entry **ref = NULL; - cmark_map_entry *r = NULL; - unsigned char *norm; - - if (label->len < 1 || label->len > MAX_LINK_LABEL_LENGTH) - return NULL; - - if (map == NULL || !map->size) - return NULL; - - norm = normalize_map_label(map->mem, label); - if (norm == NULL) - return NULL; - - if (!map->sorted) - sort_map(map); - - ref = (cmark_map_entry **)bsearch(norm, map->sorted, map->size, sizeof(cmark_map_entry *), refsearch); - map->mem->free(norm); - - if (ref != NULL) { - r = ref[0]; - /* Check for expansion limit */ - if (r->size > map->max_ref_size - map->ref_size) - return NULL; - map->ref_size += r->size; - } - - return r; -} - -void cmark_map_free(cmark_map *map) { - cmark_map_entry *ref; - - if (map == NULL) - return; - - ref = map->refs; - while (ref) { - cmark_map_entry *next = ref->next; - map->free(map, ref); - ref = next; - } - - map->mem->free(map->sorted); - map->mem->free(map); -} - -cmark_map *cmark_map_new(cmark_mem *mem, cmark_map_free_f free) { - cmark_map *map = (cmark_map *)mem->calloc(1, sizeof(cmark_map)); - map->mem = mem; - map->free = free; - map->max_ref_size = UINT_MAX; - return map; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.h deleted file mode 100644 index cc9b1f3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef CMARK_MAP_H -#define CMARK_MAP_H - -#include "chunk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct cmark_map_entry { - struct cmark_map_entry *next; - unsigned char *label; - size_t age; - size_t size; -}; - -typedef struct cmark_map_entry cmark_map_entry; - -struct cmark_map; - -typedef void (*cmark_map_free_f)(struct cmark_map *, cmark_map_entry *); - -struct cmark_map { - cmark_mem *mem; - cmark_map_entry *refs; - cmark_map_entry **sorted; - size_t size; - size_t ref_size; - size_t max_ref_size; - cmark_map_free_f free; -}; - -typedef struct cmark_map cmark_map; - -unsigned char *normalize_map_label(cmark_mem *mem, cmark_chunk *ref); -cmark_map *cmark_map_new(cmark_mem *mem, cmark_map_free_f free); -void cmark_map_free(cmark_map *map); -cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.o deleted file mode 100644 index 62e39a7..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/map.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.c deleted file mode 100644 index e7a9606..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.c +++ /dev/null @@ -1,1045 +0,0 @@ -#include -#include - -#include "config.h" -#include "node.h" -#include "syntax_extension.h" - -/** - * Expensive safety checks are off by default, but can be enabled - * by calling cmark_enable_safety_checks(). - */ -static bool enable_safety_checks = false; - -void cmark_enable_safety_checks(bool enable) { - enable_safety_checks = enable; -} - -static void S_node_unlink(cmark_node *node); - -#define NODE_MEM(node) cmark_node_mem(node) - -void cmark_register_node_flag(cmark_node_internal_flags *flags) { - static cmark_node_internal_flags nextflag = CMARK_NODE__REGISTER_FIRST; - - // flags should be a pointer to a global variable and this function - // should only be called once to initialize its value. - if (*flags) { - fprintf(stderr, "flag initialization error in cmark_register_node_flag\n"); - abort(); - } - - // Check that we haven't run out of bits. - if (nextflag == 0) { - fprintf(stderr, "too many flags in cmark_register_node_flag\n"); - abort(); - } - - *flags = nextflag; - nextflag <<= 1; -} - -void cmark_init_standard_node_flags(void) {} - -bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type) { - if (child_type == CMARK_NODE_DOCUMENT) { - return false; - } - - if (node->extension && node->extension->can_contain_func) { - return node->extension->can_contain_func(node->extension, node, child_type) != 0; - } - - switch (node->type) { - case CMARK_NODE_DOCUMENT: - case CMARK_NODE_BLOCK_QUOTE: - case CMARK_NODE_FOOTNOTE_DEFINITION: - case CMARK_NODE_ITEM: - return CMARK_NODE_TYPE_BLOCK_P(child_type) && child_type != CMARK_NODE_ITEM; - - case CMARK_NODE_LIST: - return child_type == CMARK_NODE_ITEM; - - case CMARK_NODE_CUSTOM_BLOCK: - return true; - - case CMARK_NODE_PARAGRAPH: - case CMARK_NODE_HEADING: - case CMARK_NODE_EMPH: - case CMARK_NODE_STRONG: - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - case CMARK_NODE_CUSTOM_INLINE: - return CMARK_NODE_TYPE_INLINE_P(child_type); - - default: - break; - } - - return false; -} - -static bool S_can_contain(cmark_node *node, cmark_node *child) { - if (node == NULL || child == NULL) { - return false; - } - if (NODE_MEM(node) != NODE_MEM(child)) { - return 0; - } - - if (enable_safety_checks) { - // Verify that child is not an ancestor of node or equal to node. - cmark_node *cur = node; - do { - if (cur == child) { - return false; - } - cur = cur->parent; - } while (cur != NULL); - } - - return cmark_node_can_contain_type(node, (cmark_node_type) child->type); -} - -cmark_node *cmark_node_new_with_mem_and_ext(cmark_node_type type, cmark_mem *mem, cmark_syntax_extension *extension) { - cmark_node *node = (cmark_node *)mem->calloc(1, sizeof(*node)); - cmark_strbuf_init(mem, &node->content, 0); - node->type = (uint16_t)type; - node->extension = extension; - - switch (node->type) { - case CMARK_NODE_HEADING: - node->as.heading.level = 1; - break; - - case CMARK_NODE_LIST: { - cmark_list *list = &node->as.list; - list->list_type = CMARK_BULLET_LIST; - list->start = 0; - list->tight = false; - break; - } - - default: - break; - } - - if (node->extension && node->extension->opaque_alloc_func) { - node->extension->opaque_alloc_func(node->extension, mem, node); - } - - return node; -} - -cmark_node *cmark_node_new_with_ext(cmark_node_type type, cmark_syntax_extension *extension) { - extern cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR; - return cmark_node_new_with_mem_and_ext(type, &CMARK_DEFAULT_MEM_ALLOCATOR, extension); -} - -cmark_node *cmark_node_new_with_mem(cmark_node_type type, cmark_mem *mem) -{ - return cmark_node_new_with_mem_and_ext(type, mem, NULL); -} - -cmark_node *cmark_node_new(cmark_node_type type) { - return cmark_node_new_with_ext(type, NULL); -} - -static void free_node_as(cmark_node *node) { - switch (node->type) { - case CMARK_NODE_CODE_BLOCK: - cmark_chunk_free(NODE_MEM(node), &node->as.code.info); - cmark_chunk_free(NODE_MEM(node), &node->as.code.literal); - break; - case CMARK_NODE_TEXT: - case CMARK_NODE_HTML_INLINE: - case CMARK_NODE_CODE: - case CMARK_NODE_HTML_BLOCK: - case CMARK_NODE_FOOTNOTE_REFERENCE: - case CMARK_NODE_FOOTNOTE_DEFINITION: - cmark_chunk_free(NODE_MEM(node), &node->as.literal); - break; - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - cmark_chunk_free(NODE_MEM(node), &node->as.link.url); - cmark_chunk_free(NODE_MEM(node), &node->as.link.title); - break; - case CMARK_NODE_CUSTOM_BLOCK: - case CMARK_NODE_CUSTOM_INLINE: - cmark_chunk_free(NODE_MEM(node), &node->as.custom.on_enter); - cmark_chunk_free(NODE_MEM(node), &node->as.custom.on_exit); - break; - default: - break; - } -} - -// Free a cmark_node list and any children. -static void S_free_nodes(cmark_node *e) { - cmark_node *next; - while (e != NULL) { - cmark_strbuf_free(&e->content); - - if (e->user_data && e->user_data_free_func) - e->user_data_free_func(NODE_MEM(e), e->user_data); - - if (e->as.opaque && e->extension && e->extension->opaque_free_func) - e->extension->opaque_free_func(e->extension, NODE_MEM(e), e); - - free_node_as(e); - - if (e->last_child) { - // Splice children into list - e->last_child->next = e->next; - e->next = e->first_child; - } - next = e->next; - NODE_MEM(e)->free(e); - e = next; - } -} - -void cmark_node_free(cmark_node *node) { - S_node_unlink(node); - node->next = NULL; - S_free_nodes(node); -} - -cmark_node_type cmark_node_get_type(cmark_node *node) { - if (node == NULL) { - return CMARK_NODE_NONE; - } else { - return (cmark_node_type)node->type; - } -} - -int cmark_node_set_type(cmark_node * node, cmark_node_type type) { - cmark_node_type initial_type; - - if (type == node->type) - return 1; - - initial_type = (cmark_node_type) node->type; - node->type = (uint16_t)type; - - if (!S_can_contain(node->parent, node)) { - node->type = (uint16_t)initial_type; - return 0; - } - - /* We rollback the type to free the union members appropriately */ - node->type = (uint16_t)initial_type; - free_node_as(node); - - node->type = (uint16_t)type; - - return 1; -} - -const char *cmark_node_get_type_string(cmark_node *node) { - if (node == NULL) { - return "NONE"; - } - - if (node->extension && node->extension->get_type_string_func) { - return node->extension->get_type_string_func(node->extension, node); - } - - switch (node->type) { - case CMARK_NODE_NONE: - return "none"; - case CMARK_NODE_DOCUMENT: - return "document"; - case CMARK_NODE_BLOCK_QUOTE: - return "block_quote"; - case CMARK_NODE_LIST: - return "list"; - case CMARK_NODE_ITEM: - return "item"; - case CMARK_NODE_CODE_BLOCK: - return "code_block"; - case CMARK_NODE_HTML_BLOCK: - return "html_block"; - case CMARK_NODE_CUSTOM_BLOCK: - return "custom_block"; - case CMARK_NODE_PARAGRAPH: - return "paragraph"; - case CMARK_NODE_HEADING: - return "heading"; - case CMARK_NODE_THEMATIC_BREAK: - return "thematic_break"; - case CMARK_NODE_TEXT: - return "text"; - case CMARK_NODE_SOFTBREAK: - return "softbreak"; - case CMARK_NODE_LINEBREAK: - return "linebreak"; - case CMARK_NODE_CODE: - return "code"; - case CMARK_NODE_HTML_INLINE: - return "html_inline"; - case CMARK_NODE_CUSTOM_INLINE: - return "custom_inline"; - case CMARK_NODE_EMPH: - return "emph"; - case CMARK_NODE_STRONG: - return "strong"; - case CMARK_NODE_LINK: - return "link"; - case CMARK_NODE_IMAGE: - return "image"; - } - - return ""; -} - -cmark_node *cmark_node_next(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->next; - } -} - -cmark_node *cmark_node_previous(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->prev; - } -} - -cmark_node *cmark_node_parent(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->parent; - } -} - -cmark_node *cmark_node_first_child(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->first_child; - } -} - -cmark_node *cmark_node_last_child(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->last_child; - } -} - -cmark_node *cmark_node_parent_footnote_def(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->parent_footnote_def; - } -} - -void *cmark_node_get_user_data(cmark_node *node) { - if (node == NULL) { - return NULL; - } else { - return node->user_data; - } -} - -int cmark_node_set_user_data(cmark_node *node, void *user_data) { - if (node == NULL) { - return 0; - } - node->user_data = user_data; - return 1; -} - -int cmark_node_set_user_data_free_func(cmark_node *node, - cmark_free_func free_func) { - if (node == NULL) { - return 0; - } - node->user_data_free_func = free_func; - return 1; -} - -const char *cmark_node_get_literal(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - switch (node->type) { - case CMARK_NODE_HTML_BLOCK: - case CMARK_NODE_TEXT: - case CMARK_NODE_HTML_INLINE: - case CMARK_NODE_CODE: - case CMARK_NODE_FOOTNOTE_REFERENCE: - case CMARK_NODE_FOOTNOTE_DEFINITION: - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.literal); - - case CMARK_NODE_CODE_BLOCK: - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.code.literal); - - default: - break; - } - - return NULL; -} - -int cmark_node_set_literal(cmark_node *node, const char *content) { - if (node == NULL) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_HTML_BLOCK: - case CMARK_NODE_TEXT: - case CMARK_NODE_HTML_INLINE: - case CMARK_NODE_CODE: - case CMARK_NODE_FOOTNOTE_REFERENCE: - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.literal, content); - return 1; - - case CMARK_NODE_CODE_BLOCK: - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.code.literal, content); - return 1; - - default: - break; - } - - return 0; -} - -const char *cmark_node_get_string_content(cmark_node *node) { - return (char *) node->content.ptr; -} - -int cmark_node_set_string_content(cmark_node *node, const char *content) { - cmark_strbuf_sets(&node->content, content); - return true; -} - -int cmark_node_get_heading_level(cmark_node *node) { - if (node == NULL) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_HEADING: - return node->as.heading.level; - - default: - break; - } - - return 0; -} - -int cmark_node_set_heading_level(cmark_node *node, int level) { - if (node == NULL || level < 1 || level > 6) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_HEADING: - node->as.heading.level = level; - return 1; - - default: - break; - } - - return 0; -} - -cmark_list_type cmark_node_get_list_type(cmark_node *node) { - if (node == NULL) { - return CMARK_NO_LIST; - } - - if (node->type == CMARK_NODE_LIST) { - return node->as.list.list_type; - } else { - return CMARK_NO_LIST; - } -} - -int cmark_node_set_list_type(cmark_node *node, cmark_list_type type) { - if (!(type == CMARK_BULLET_LIST || type == CMARK_ORDERED_LIST)) { - return 0; - } - - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_LIST) { - node->as.list.list_type = type; - return 1; - } else { - return 0; - } -} - -cmark_delim_type cmark_node_get_list_delim(cmark_node *node) { - if (node == NULL) { - return CMARK_NO_DELIM; - } - - if (node->type == CMARK_NODE_LIST) { - return node->as.list.delimiter; - } else { - return CMARK_NO_DELIM; - } -} - -int cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim) { - if (!(delim == CMARK_PERIOD_DELIM || delim == CMARK_PAREN_DELIM)) { - return 0; - } - - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_LIST) { - node->as.list.delimiter = delim; - return 1; - } else { - return 0; - } -} - -int cmark_node_get_list_start(cmark_node *node) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_LIST) { - return node->as.list.start; - } else { - return 0; - } -} - -int cmark_node_set_list_start(cmark_node *node, int start) { - if (node == NULL || start < 0) { - return 0; - } - - if (node->type == CMARK_NODE_LIST) { - node->as.list.start = start; - return 1; - } else { - return 0; - } -} - -int cmark_node_get_list_tight(cmark_node *node) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_LIST) { - return node->as.list.tight; - } else { - return 0; - } -} - -int cmark_node_set_list_tight(cmark_node *node, int tight) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_LIST) { - node->as.list.tight = tight == 1; - return 1; - } else { - return 0; - } -} - -int cmark_node_get_item_index(cmark_node *node) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_ITEM) { - return node->as.list.start; - } else { - return 0; - } -} - -int cmark_node_set_item_index(cmark_node *node, int idx) { - if (node == NULL || idx < 0) { - return 0; - } - - if (node->type == CMARK_NODE_ITEM) { - node->as.list.start = idx; - return 1; - } else { - return 0; - } -} - -const char *cmark_node_get_fence_info(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - if (node->type == CMARK_NODE_CODE_BLOCK) { - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.code.info); - } else { - return NULL; - } -} - -int cmark_node_set_fence_info(cmark_node *node, const char *info) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_CODE_BLOCK) { - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.code.info, info); - return 1; - } else { - return 0; - } -} - -int cmark_node_get_fenced(cmark_node *node, int *length, int *offset, char *character) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_CODE_BLOCK) { - *length = node->as.code.fence_length; - *offset = node->as.code.fence_offset; - *character = node->as.code.fence_char; - return node->as.code.fenced; - } else { - return 0; - } -} - -int cmark_node_set_fenced(cmark_node * node, int fenced, - int length, int offset, char character) { - if (node == NULL) { - return 0; - } - - if (node->type == CMARK_NODE_CODE_BLOCK) { - node->as.code.fenced = (int8_t)fenced; - node->as.code.fence_length = (uint8_t)length; - node->as.code.fence_offset = (uint8_t)offset; - node->as.code.fence_char = character; - return 1; - } else { - return 0; - } -} - -const char *cmark_node_get_url(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - switch (node->type) { - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.link.url); - default: - break; - } - - return NULL; -} - -int cmark_node_set_url(cmark_node *node, const char *url) { - if (node == NULL) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.link.url, url); - return 1; - default: - break; - } - - return 0; -} - -const char *cmark_node_get_title(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - switch (node->type) { - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.link.title); - default: - break; - } - - return NULL; -} - -int cmark_node_set_title(cmark_node *node, const char *title) { - if (node == NULL) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.link.title, title); - return 1; - default: - break; - } - - return 0; -} - -const char *cmark_node_get_on_enter(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - switch (node->type) { - case CMARK_NODE_CUSTOM_INLINE: - case CMARK_NODE_CUSTOM_BLOCK: - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.custom.on_enter); - default: - break; - } - - return NULL; -} - -int cmark_node_set_on_enter(cmark_node *node, const char *on_enter) { - if (node == NULL) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_CUSTOM_INLINE: - case CMARK_NODE_CUSTOM_BLOCK: - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.custom.on_enter, on_enter); - return 1; - default: - break; - } - - return 0; -} - -const char *cmark_node_get_on_exit(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - switch (node->type) { - case CMARK_NODE_CUSTOM_INLINE: - case CMARK_NODE_CUSTOM_BLOCK: - return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.custom.on_exit); - default: - break; - } - - return NULL; -} - -int cmark_node_set_on_exit(cmark_node *node, const char *on_exit) { - if (node == NULL) { - return 0; - } - - switch (node->type) { - case CMARK_NODE_CUSTOM_INLINE: - case CMARK_NODE_CUSTOM_BLOCK: - cmark_chunk_set_cstr(NODE_MEM(node), &node->as.custom.on_exit, on_exit); - return 1; - default: - break; - } - - return 0; -} - -cmark_syntax_extension *cmark_node_get_syntax_extension(cmark_node *node) { - if (node == NULL) { - return NULL; - } - - return node->extension; -} - -int cmark_node_set_syntax_extension(cmark_node *node, cmark_syntax_extension *extension) { - if (node == NULL) { - return 0; - } - - node->extension = extension; - return 1; -} - -int cmark_node_get_start_line(cmark_node *node) { - if (node == NULL) { - return 0; - } - return node->start_line; -} - -int cmark_node_get_start_column(cmark_node *node) { - if (node == NULL) { - return 0; - } - return node->start_column; -} - -int cmark_node_get_end_line(cmark_node *node) { - if (node == NULL) { - return 0; - } - return node->end_line; -} - -int cmark_node_get_end_column(cmark_node *node) { - if (node == NULL) { - return 0; - } - return node->end_column; -} - -// Unlink a node without adjusting its next, prev, and parent pointers. -static void S_node_unlink(cmark_node *node) { - if (node == NULL) { - return; - } - - if (node->prev) { - node->prev->next = node->next; - } - if (node->next) { - node->next->prev = node->prev; - } - - // Adjust first_child and last_child of parent. - cmark_node *parent = node->parent; - if (parent) { - if (parent->first_child == node) { - parent->first_child = node->next; - } - if (parent->last_child == node) { - parent->last_child = node->prev; - } - } -} - -void cmark_node_unlink(cmark_node *node) { - S_node_unlink(node); - - node->next = NULL; - node->prev = NULL; - node->parent = NULL; -} - -int cmark_node_insert_before(cmark_node *node, cmark_node *sibling) { - if (node == NULL || sibling == NULL) { - return 0; - } - - if (!node->parent || !S_can_contain(node->parent, sibling)) { - return 0; - } - - S_node_unlink(sibling); - - cmark_node *old_prev = node->prev; - - // Insert 'sibling' between 'old_prev' and 'node'. - if (old_prev) { - old_prev->next = sibling; - } - sibling->prev = old_prev; - sibling->next = node; - node->prev = sibling; - - // Set new parent. - cmark_node *parent = node->parent; - sibling->parent = parent; - - // Adjust first_child of parent if inserted as first child. - if (parent && !old_prev) { - parent->first_child = sibling; - } - - return 1; -} - -int cmark_node_insert_after(cmark_node *node, cmark_node *sibling) { - if (node == NULL || sibling == NULL) { - return 0; - } - - if (!node->parent || !S_can_contain(node->parent, sibling)) { - return 0; - } - - S_node_unlink(sibling); - - cmark_node *old_next = node->next; - - // Insert 'sibling' between 'node' and 'old_next'. - if (old_next) { - old_next->prev = sibling; - } - sibling->next = old_next; - sibling->prev = node; - node->next = sibling; - - // Set new parent. - cmark_node *parent = node->parent; - sibling->parent = parent; - - // Adjust last_child of parent if inserted as last child. - if (parent && !old_next) { - parent->last_child = sibling; - } - - return 1; -} - -int cmark_node_replace(cmark_node *oldnode, cmark_node *newnode) { - if (!cmark_node_insert_before(oldnode, newnode)) { - return 0; - } - cmark_node_unlink(oldnode); - return 1; -} - -int cmark_node_prepend_child(cmark_node *node, cmark_node *child) { - if (!S_can_contain(node, child)) { - return 0; - } - - S_node_unlink(child); - - cmark_node *old_first_child = node->first_child; - - child->next = old_first_child; - child->prev = NULL; - child->parent = node; - node->first_child = child; - - if (old_first_child) { - old_first_child->prev = child; - } else { - // Also set last_child if node previously had no children. - node->last_child = child; - } - - return 1; -} - -int cmark_node_append_child(cmark_node *node, cmark_node *child) { - if (!S_can_contain(node, child)) { - return 0; - } - - S_node_unlink(child); - - cmark_node *old_last_child = node->last_child; - - child->next = NULL; - child->prev = old_last_child; - child->parent = node; - node->last_child = child; - - if (old_last_child) { - old_last_child->next = child; - } else { - // Also set first_child if node previously had no children. - node->first_child = child; - } - - return 1; -} - -static void S_print_error(FILE *out, cmark_node *node, const char *elem) { - if (out == NULL) { - return; - } - fprintf(out, "Invalid '%s' in node type %s at %d:%d\n", elem, - cmark_node_get_type_string(node), node->start_line, - node->start_column); -} - -int cmark_node_check(cmark_node *node, FILE *out) { - cmark_node *cur; - int errors = 0; - - if (!node) { - return 0; - } - - cur = node; - for (;;) { - if (cur->first_child) { - if (cur->first_child->prev != NULL) { - S_print_error(out, cur->first_child, "prev"); - cur->first_child->prev = NULL; - ++errors; - } - if (cur->first_child->parent != cur) { - S_print_error(out, cur->first_child, "parent"); - cur->first_child->parent = cur; - ++errors; - } - cur = cur->first_child; - continue; - } - - next_sibling: - if (cur == node) { - break; - } - if (cur->next) { - if (cur->next->prev != cur) { - S_print_error(out, cur->next, "prev"); - cur->next->prev = cur; - ++errors; - } - if (cur->next->parent != cur->parent) { - S_print_error(out, cur->next, "parent"); - cur->next->parent = cur->parent; - ++errors; - } - cur = cur->next; - continue; - } - - if (cur->parent->last_child != cur) { - S_print_error(out, cur->parent, "last_child"); - cur->parent->last_child = cur; - ++errors; - } - cur = cur->parent; - goto next_sibling; - } - - return errors; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.h deleted file mode 100644 index 73ca760..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.h +++ /dev/null @@ -1,167 +0,0 @@ -#ifndef CMARK_NODE_H -#define CMARK_NODE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#include "cmark-gfm.h" -#include "cmark-gfm-extension_api.h" -#include "buffer.h" -#include "chunk.h" - -typedef struct { - cmark_list_type list_type; - int marker_offset; - int padding; - int start; - cmark_delim_type delimiter; - unsigned char bullet_char; - bool tight; - bool checked; // For task list extension -} cmark_list; - -typedef struct { - cmark_chunk info; - cmark_chunk literal; - uint8_t fence_length; - uint8_t fence_offset; - unsigned char fence_char; - int8_t fenced; -} cmark_code; - -typedef struct { - int level; - bool setext; -} cmark_heading; - -typedef struct { - cmark_chunk url; - cmark_chunk title; -} cmark_link; - -typedef struct { - cmark_chunk on_enter; - cmark_chunk on_exit; -} cmark_custom; - -enum cmark_node__internal_flags { - CMARK_NODE__OPEN = (1 << 0), - CMARK_NODE__LAST_LINE_BLANK = (1 << 1), - CMARK_NODE__LAST_LINE_CHECKED = (1 << 2), - - // Extensions can register custom flags by calling `cmark_register_node_flag`. - // This is the starting value for the custom flags. - CMARK_NODE__REGISTER_FIRST = (1 << 3), -}; - -typedef uint16_t cmark_node_internal_flags; - -struct cmark_node { - cmark_strbuf content; - - struct cmark_node *next; - struct cmark_node *prev; - struct cmark_node *parent; - struct cmark_node *first_child; - struct cmark_node *last_child; - - void *user_data; - cmark_free_func user_data_free_func; - - int start_line; - int start_column; - int end_line; - int end_column; - int internal_offset; - uint16_t type; - cmark_node_internal_flags flags; - - cmark_syntax_extension *extension; - - /** - * Used during cmark_render() to cache the most recent non-NULL - * extension, if you go up the parent chain like this: - * - * node->parent->...parent->extension - */ - cmark_syntax_extension *ancestor_extension; - - union { - int ref_ix; - int def_count; - } footnote; - - cmark_node *parent_footnote_def; - - union { - cmark_chunk literal; - cmark_list list; - cmark_code code; - cmark_heading heading; - cmark_link link; - cmark_custom custom; - int html_block_type; - int cell_index; // For keeping track of TABLE_CELL table alignments - void *opaque; - } as; -}; - -/** - * Syntax extensions can use this function to register a custom node - * flag. The flags are stored in the `flags` field of the `cmark_node` - * struct. The `flags` parameter should be the address of a global variable - * which will store the flag value. - */ -CMARK_GFM_EXPORT -void cmark_register_node_flag(cmark_node_internal_flags *flags); - -/** - * DEPRECATED. - * - * This function was added in cmark-gfm version 0.29.0.gfm.7, and was - * required to be called at program start time, which caused - * backwards-compatibility issues in applications that use cmark-gfm as a - * library. It is now a no-op. - */ -CMARK_GFM_EXPORT -void cmark_init_standard_node_flags(void); - -static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) { - return node->content.mem; -} -CMARK_GFM_EXPORT int cmark_node_check(cmark_node *node, FILE *out); - -static CMARK_INLINE bool CMARK_NODE_TYPE_BLOCK_P(cmark_node_type node_type) { - return (node_type & CMARK_NODE_TYPE_MASK) == CMARK_NODE_TYPE_BLOCK; -} - -static CMARK_INLINE bool CMARK_NODE_BLOCK_P(cmark_node *node) { - return node != NULL && CMARK_NODE_TYPE_BLOCK_P((cmark_node_type) node->type); -} - -static CMARK_INLINE bool CMARK_NODE_TYPE_INLINE_P(cmark_node_type node_type) { - return (node_type & CMARK_NODE_TYPE_MASK) == CMARK_NODE_TYPE_INLINE; -} - -static CMARK_INLINE bool CMARK_NODE_INLINE_P(cmark_node *node) { - return node != NULL && CMARK_NODE_TYPE_INLINE_P((cmark_node_type) node->type); -} - -CMARK_GFM_EXPORT bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type); - -/** - * Enable (or disable) extra safety checks. These extra checks cause - * extra performance overhead (in some cases quadratic), so they are only - * intended to be used during testing. - */ -CMARK_GFM_EXPORT void cmark_enable_safety_checks(bool enable); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.o deleted file mode 100644 index 7167176..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/node.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/parser.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/parser.h deleted file mode 100644 index 436c53f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/parser.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef CMARK_PARSER_H -#define CMARK_PARSER_H - -#include -#include "references.h" -#include "node.h" -#include "buffer.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_LINK_LABEL_LENGTH 1000 - -struct cmark_parser { - struct cmark_mem *mem; - /* A hashtable of urls in the current document for cross-references */ - struct cmark_map *refmap; - /* The root node of the parser, always a CMARK_NODE_DOCUMENT */ - struct cmark_node *root; - /* The last open block after a line is fully processed */ - struct cmark_node *current; - /* See the documentation for cmark_parser_get_line_number() in cmark.h */ - int line_number; - /* See the documentation for cmark_parser_get_offset() in cmark.h */ - bufsize_t offset; - /* See the documentation for cmark_parser_get_column() in cmark.h */ - bufsize_t column; - /* See the documentation for cmark_parser_get_first_nonspace() in cmark.h */ - bufsize_t first_nonspace; - /* See the documentation for cmark_parser_get_first_nonspace_column() in cmark.h */ - bufsize_t first_nonspace_column; - bufsize_t thematic_break_kill_pos; - /* See the documentation for cmark_parser_get_indent() in cmark.h */ - int indent; - /* See the documentation for cmark_parser_is_blank() in cmark.h */ - bool blank; - /* See the documentation for cmark_parser_has_partially_consumed_tab() in cmark.h */ - bool partially_consumed_tab; - /* Contains the currently processed line */ - cmark_strbuf curline; - /* See the documentation for cmark_parser_get_last_line_length() in cmark.h */ - bufsize_t last_line_length; - /* FIXME: not sure about the difference with curline */ - cmark_strbuf linebuf; - /* Options set by the user, see the Options section in cmark.h */ - int options; - bool last_buffer_ended_with_cr; - size_t total_size; - cmark_llist *syntax_extensions; - cmark_llist *inline_syntax_extensions; - cmark_ispunct_func backslash_ispunct; -}; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plaintext.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plaintext.c deleted file mode 100644 index 0c7d257..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plaintext.c +++ /dev/null @@ -1,218 +0,0 @@ -#include "node.h" -#include "syntax_extension.h" -#include "render.h" - -#define OUT(s, wrap, escaping) renderer->out(renderer, node, s, wrap, escaping) -#define LIT(s) renderer->out(renderer, node, s, false, LITERAL) -#define CR() renderer->cr(renderer) -#define BLANKLINE() renderer->blankline(renderer) -#define LISTMARKER_SIZE 20 - -// Functions to convert cmark_nodes to plain text strings. - -static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_node *node, - cmark_escaping escape, - int32_t c, unsigned char nextc) { - cmark_render_code_point(renderer, c); -} - -static int S_render_node(cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - int list_number; - cmark_delim_type list_delim; - int i; - bool entering = (ev_type == CMARK_EVENT_ENTER); - char listmarker[LISTMARKER_SIZE]; - bool first_in_list_item; - bufsize_t marker_width; - bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options) && - !(CMARK_OPT_HARDBREAKS & options); - - // Don't adjust tight list status til we've started the list. - // Otherwise we loose the blank line between a paragraph and - // a following list. - if (entering) { - if (node->parent && node->parent->type == CMARK_NODE_ITEM) { - renderer->in_tight_list_item = node->parent->parent->as.list.tight; - } - } else { - if (node->type == CMARK_NODE_LIST) { - renderer->in_tight_list_item = - node->parent && - node->parent->type == CMARK_NODE_ITEM && - node->parent->parent->as.list.tight; - } - } - - if (node->extension && node->extension->plaintext_render_func) { - node->extension->plaintext_render_func(node->extension, renderer, node, ev_type, options); - return 1; - } - - switch (node->type) { - case CMARK_NODE_DOCUMENT: - break; - - case CMARK_NODE_BLOCK_QUOTE: - break; - - case CMARK_NODE_LIST: - if (!entering && node->next && (node->next->type == CMARK_NODE_CODE_BLOCK || - node->next->type == CMARK_NODE_LIST)) { - CR(); - } - break; - - case CMARK_NODE_ITEM: - if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) { - marker_width = 4; - } else { - list_number = cmark_node_get_item_index(node); - list_delim = cmark_node_get_list_delim(node->parent); - // we ensure a width of at least 4 so - // we get nice transition from single digits - // to double - snprintf(listmarker, LISTMARKER_SIZE, "%d%s%s", list_number, - list_delim == CMARK_PAREN_DELIM ? ")" : ".", - list_number < 10 ? " " : " "); - marker_width = (bufsize_t)strlen(listmarker); - } - if (entering) { - if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) { - LIT(" - "); - renderer->begin_content = true; - } else { - LIT(listmarker); - renderer->begin_content = true; - } - for (i = marker_width; i--;) { - cmark_strbuf_putc(renderer->prefix, ' '); - } - } else { - cmark_strbuf_truncate(renderer->prefix, - renderer->prefix->size - marker_width); - CR(); - } - break; - - case CMARK_NODE_HEADING: - if (entering) { - renderer->begin_content = true; - renderer->no_linebreaks = true; - } else { - renderer->no_linebreaks = false; - BLANKLINE(); - } - break; - - case CMARK_NODE_CODE_BLOCK: - first_in_list_item = node->prev == NULL && node->parent && - node->parent->type == CMARK_NODE_ITEM; - - if (!first_in_list_item) { - BLANKLINE(); - } - OUT(cmark_node_get_literal(node), false, LITERAL); - BLANKLINE(); - break; - - case CMARK_NODE_HTML_BLOCK: - break; - - case CMARK_NODE_CUSTOM_BLOCK: - break; - - case CMARK_NODE_THEMATIC_BREAK: - BLANKLINE(); - break; - - case CMARK_NODE_PARAGRAPH: - if (!entering) { - BLANKLINE(); - } - break; - - case CMARK_NODE_TEXT: - OUT(cmark_node_get_literal(node), allow_wrap, NORMAL); - break; - - case CMARK_NODE_LINEBREAK: - CR(); - break; - - case CMARK_NODE_SOFTBREAK: - if (CMARK_OPT_HARDBREAKS & options) { - CR(); - } else if (!renderer->no_linebreaks && renderer->width == 0 && - !(CMARK_OPT_HARDBREAKS & options) && - !(CMARK_OPT_NOBREAKS & options)) { - CR(); - } else { - OUT(" ", allow_wrap, LITERAL); - } - break; - - case CMARK_NODE_CODE: - OUT(cmark_node_get_literal(node), allow_wrap, LITERAL); - break; - - case CMARK_NODE_HTML_INLINE: - break; - - case CMARK_NODE_CUSTOM_INLINE: - break; - - case CMARK_NODE_STRONG: - break; - - case CMARK_NODE_EMPH: - break; - - case CMARK_NODE_LINK: - break; - - case CMARK_NODE_IMAGE: - break; - - case CMARK_NODE_FOOTNOTE_REFERENCE: - if (entering) { - LIT("[^"); - OUT(cmark_chunk_to_cstr(renderer->mem, &node->as.literal), false, LITERAL); - LIT("]"); - } - break; - - case CMARK_NODE_FOOTNOTE_DEFINITION: - if (entering) { - renderer->footnote_ix += 1; - LIT("[^"); - char n[32]; - snprintf(n, sizeof(n), "%d", renderer->footnote_ix); - OUT(n, false, LITERAL); - LIT("]: "); - - cmark_strbuf_puts(renderer->prefix, " "); - } else { - cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 4); - } - break; - default: - assert(false); - break; - } - - return 1; -} - -char *cmark_render_plaintext(cmark_node *root, int options, int width) { - return cmark_render_plaintext_with_mem(root, options, width, cmark_node_mem(root)); -} - -char *cmark_render_plaintext_with_mem(cmark_node *root, int options, int width, cmark_mem *mem) { - if (options & CMARK_OPT_HARDBREAKS) { - // disable breaking on width, since it has - // a different meaning with OPT_HARDBREAKS - width = 0; - } - return cmark_render(mem, root, options, width, outc, S_render_node); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plaintext.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plaintext.o deleted file mode 100644 index 36d12f8..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plaintext.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.c deleted file mode 100644 index 3992fe1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.c +++ /dev/null @@ -1,36 +0,0 @@ -#include - -#include "plugin.h" - -extern cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR; - -int cmark_plugin_register_syntax_extension(cmark_plugin * plugin, - cmark_syntax_extension * extension) { - plugin->syntax_extensions = cmark_llist_append(&CMARK_DEFAULT_MEM_ALLOCATOR, plugin->syntax_extensions, extension); - return 1; -} - -cmark_plugin * -cmark_plugin_new(void) { - cmark_plugin *res = (cmark_plugin *) CMARK_DEFAULT_MEM_ALLOCATOR.calloc(1, sizeof(cmark_plugin)); - - res->syntax_extensions = NULL; - - return res; -} - -void -cmark_plugin_free(cmark_plugin *plugin) { - cmark_llist_free_full(&CMARK_DEFAULT_MEM_ALLOCATOR, - plugin->syntax_extensions, - (cmark_free_func) cmark_syntax_extension_free); - CMARK_DEFAULT_MEM_ALLOCATOR.free(plugin); -} - -cmark_llist * -cmark_plugin_steal_syntax_extensions(cmark_plugin *plugin) { - cmark_llist *res = plugin->syntax_extensions; - - plugin->syntax_extensions = NULL; - return res; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.h deleted file mode 100644 index 7bcbd19..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef CMARK_PLUGIN_H -#define CMARK_PLUGIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "cmark-gfm.h" -#include "cmark-gfm-extension_api.h" - -/** - * cmark_plugin: - * - * A plugin structure, which should be filled by plugin's - * init functions. - */ -struct cmark_plugin { - cmark_llist *syntax_extensions; -}; - -cmark_llist * -cmark_plugin_steal_syntax_extensions(cmark_plugin *plugin); - -cmark_plugin * -cmark_plugin_new(void); - -void -cmark_plugin_free(cmark_plugin *plugin); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.o deleted file mode 100644 index e7b053c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/plugin.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.c deleted file mode 100644 index 0c9d399..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "cmark-gfm.h" -#include "parser.h" -#include "references.h" -#include "inlines.h" -#include "chunk.h" - -static void reference_free(cmark_map *map, cmark_map_entry *_ref) { - cmark_reference *ref = (cmark_reference *)_ref; - cmark_mem *mem = map->mem; - if (ref != NULL) { - mem->free(ref->entry.label); - cmark_chunk_free(mem, &ref->url); - cmark_chunk_free(mem, &ref->title); - mem->free(ref); - } -} - -void cmark_reference_create(cmark_map *map, cmark_chunk *label, - cmark_chunk *url, cmark_chunk *title) { - cmark_reference *ref; - unsigned char *reflabel = normalize_map_label(map->mem, label); - - /* empty reference name, or composed from only whitespace */ - if (reflabel == NULL) - return; - - assert(map->sorted == NULL); - - ref = (cmark_reference *)map->mem->calloc(1, sizeof(*ref)); - ref->entry.label = reflabel; - ref->url = cmark_clean_url(map->mem, url); - ref->title = cmark_clean_title(map->mem, title); - ref->entry.age = map->size; - ref->entry.next = map->refs; - ref->entry.size = ref->url.len + ref->title.len; - - map->refs = (cmark_map_entry *)ref; - map->size++; -} - -cmark_map *cmark_reference_map_new(cmark_mem *mem) { - return cmark_map_new(mem, reference_free); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.h deleted file mode 100644 index def944d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef CMARK_REFERENCES_H -#define CMARK_REFERENCES_H - -#include "map.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct cmark_reference { - cmark_map_entry entry; - cmark_chunk url; - cmark_chunk title; -}; - -typedef struct cmark_reference cmark_reference; - -void cmark_reference_create(cmark_map *map, cmark_chunk *label, - cmark_chunk *url, cmark_chunk *title); -cmark_map *cmark_reference_map_new(cmark_mem *mem); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.o deleted file mode 100644 index 1bf3af3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/references.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.c deleted file mode 100644 index f4f2040..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.c +++ /dev/null @@ -1,63 +0,0 @@ -#include -#include -#include - -#include "config.h" -#include "cmark-gfm.h" -#include "syntax_extension.h" -#include "registry.h" -#include "plugin.h" - -extern cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR; - -static cmark_llist *syntax_extensions = NULL; - -void cmark_register_plugin(cmark_plugin_init_func reg_fn) { - cmark_plugin *plugin = cmark_plugin_new(); - - if (!reg_fn(plugin)) { - cmark_plugin_free(plugin); - return; - } - - cmark_llist *syntax_extensions_list = cmark_plugin_steal_syntax_extensions(plugin), - *it; - - for (it = syntax_extensions_list; it; it = it->next) { - syntax_extensions = cmark_llist_append(&CMARK_DEFAULT_MEM_ALLOCATOR, syntax_extensions, it->data); - } - - cmark_llist_free(&CMARK_DEFAULT_MEM_ALLOCATOR, syntax_extensions_list); - cmark_plugin_free(plugin); -} - -void cmark_release_plugins(void) { - if (syntax_extensions) { - cmark_llist_free_full( - &CMARK_DEFAULT_MEM_ALLOCATOR, - syntax_extensions, - (cmark_free_func) cmark_syntax_extension_free); - syntax_extensions = NULL; - } -} - -cmark_llist *cmark_list_syntax_extensions(cmark_mem *mem) { - cmark_llist *it; - cmark_llist *res = NULL; - - for (it = syntax_extensions; it; it = it->next) { - res = cmark_llist_append(mem, res, it->data); - } - return res; -} - -cmark_syntax_extension *cmark_find_syntax_extension(const char *name) { - cmark_llist *tmp; - - for (tmp = syntax_extensions; tmp; tmp = tmp->next) { - cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp->data; - if (!strcmp(ext->name, name)) - return ext; - } - return NULL; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.h deleted file mode 100644 index fece2b6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef CMARK_REGISTRY_H -#define CMARK_REGISTRY_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "cmark-gfm.h" -#include "plugin.h" - -CMARK_GFM_EXPORT -void cmark_register_plugin(cmark_plugin_init_func reg_fn); - -CMARK_GFM_EXPORT -void cmark_release_plugins(void); - -CMARK_GFM_EXPORT -cmark_llist *cmark_list_syntax_extensions(cmark_mem *mem); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.o deleted file mode 100644 index 53a594c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/registry.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.c deleted file mode 100644 index 1a0d2ae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.c +++ /dev/null @@ -1,213 +0,0 @@ -#include -#include "buffer.h" -#include "chunk.h" -#include "cmark-gfm.h" -#include "utf8.h" -#include "render.h" -#include "node.h" -#include "syntax_extension.h" - -static CMARK_INLINE void S_cr(cmark_renderer *renderer) { - if (renderer->need_cr < 1) { - renderer->need_cr = 1; - } -} - -static CMARK_INLINE void S_blankline(cmark_renderer *renderer) { - if (renderer->need_cr < 2) { - renderer->need_cr = 2; - } -} - -static void S_out(cmark_renderer *renderer, cmark_node *node, - const char *source, bool wrap, - cmark_escaping escape) { - int length = (int)strlen(source); - unsigned char nextc; - int32_t c; - int i = 0; - int last_nonspace; - int len; - cmark_chunk remainder = cmark_chunk_literal(""); - int k = renderer->buffer->size - 1; - - cmark_syntax_extension *ext = node->ancestor_extension; - if (ext && !ext->commonmark_escape_func) - ext = NULL; - - wrap = wrap && !renderer->no_linebreaks; - - if (renderer->in_tight_list_item && renderer->need_cr > 1) { - renderer->need_cr = 1; - } - while (renderer->need_cr) { - if (k < 0 || renderer->buffer->ptr[k] == '\n') { - k -= 1; - } else { - cmark_strbuf_putc(renderer->buffer, '\n'); - if (renderer->need_cr > 1) { - cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr, - renderer->prefix->size); - } - } - renderer->column = 0; - renderer->last_breakable = 0; - renderer->begin_line = true; - renderer->begin_content = true; - renderer->need_cr -= 1; - } - - while (i < length) { - if (renderer->begin_line) { - cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr, - renderer->prefix->size); - // note: this assumes prefix is ascii: - renderer->column = renderer->prefix->size; - } - - len = cmark_utf8proc_iterate((const uint8_t *)source + i, length - i, &c); - if (len == -1) { // error condition - return; // return without rendering rest of string - } - - if (ext && ext->commonmark_escape_func(ext, node, c)) - cmark_strbuf_putc(renderer->buffer, '\\'); - - nextc = source[i + len]; - if (c == 32 && wrap) { - if (!renderer->begin_line) { - last_nonspace = renderer->buffer->size; - cmark_strbuf_putc(renderer->buffer, ' '); - renderer->column += 1; - renderer->begin_line = false; - renderer->begin_content = false; - // skip following spaces - while (source[i + 1] == ' ') { - i++; - } - // We don't allow breaks that make a digit the first character - // because this causes problems with commonmark output. - if (!cmark_isdigit(source[i + 1])) { - renderer->last_breakable = last_nonspace; - } - } - - } else if (escape == LITERAL) { - if (c == 10) { - cmark_strbuf_putc(renderer->buffer, '\n'); - renderer->column = 0; - renderer->begin_line = true; - renderer->begin_content = true; - renderer->last_breakable = 0; - } else { - cmark_render_code_point(renderer, c); - renderer->begin_line = false; - // we don't set 'begin_content' to false til we've - // finished parsing a digit. Reason: in commonmark - // we need to escape a potential list marker after - // a digit: - renderer->begin_content = - renderer->begin_content && cmark_isdigit((char)c) == 1; - } - } else { - (renderer->outc)(renderer, node, escape, c, nextc); - renderer->begin_line = false; - renderer->begin_content = - renderer->begin_content && cmark_isdigit((char)c) == 1; - } - - // If adding the character went beyond width, look for an - // earlier place where the line could be broken: - if (renderer->width > 0 && renderer->column > renderer->width && - !renderer->begin_line && renderer->last_breakable > 0) { - - // copy from last_breakable to remainder - cmark_chunk_set_cstr(renderer->mem, &remainder, - (char *)renderer->buffer->ptr + - renderer->last_breakable + 1); - // truncate at last_breakable - cmark_strbuf_truncate(renderer->buffer, renderer->last_breakable); - // add newline, prefix, and remainder - cmark_strbuf_putc(renderer->buffer, '\n'); - cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr, - renderer->prefix->size); - cmark_strbuf_put(renderer->buffer, remainder.data, remainder.len); - renderer->column = renderer->prefix->size + remainder.len; - cmark_chunk_free(renderer->mem, &remainder); - renderer->last_breakable = 0; - renderer->begin_line = false; - renderer->begin_content = false; - } - - i += len; - } -} - -// Assumes no newlines, assumes ascii content: -void cmark_render_ascii(cmark_renderer *renderer, const char *s) { - int origsize = renderer->buffer->size; - cmark_strbuf_puts(renderer->buffer, s); - renderer->column += renderer->buffer->size - origsize; -} - -void cmark_render_code_point(cmark_renderer *renderer, uint32_t c) { - cmark_utf8proc_encode_char(c, renderer->buffer); - renderer->column += 1; -} - -char *cmark_render(cmark_mem *mem, cmark_node *root, int options, int width, - void (*outc)(cmark_renderer *, cmark_node *, - cmark_escaping, int32_t, - unsigned char), - int (*render_node)(cmark_renderer *renderer, - cmark_node *node, - cmark_event_type ev_type, int options)) { - cmark_strbuf pref = CMARK_BUF_INIT(mem); - cmark_strbuf buf = CMARK_BUF_INIT(mem); - cmark_node *cur; - cmark_event_type ev_type; - char *result; - cmark_iter *iter = cmark_iter_new(root); - - cmark_renderer renderer = {mem, &buf, &pref, 0, width, - 0, 0, true, true, false, - false, outc, S_cr, S_blankline, S_out, - 0}; - - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - if (cur->extension) { - cur->ancestor_extension = cur->extension; - } else if (cur->parent) { - cur->ancestor_extension = cur->parent->ancestor_extension; - } - if (cur->type == CMARK_NODE_ITEM) { - // Calculate the list item's index, for the benefit of output formats - // like commonmark and plaintext. - if (cur->prev) { - cmark_node_set_item_index(cur, 1 + cmark_node_get_item_index(cur->prev)); - } else { - cmark_node_set_item_index(cur, cmark_node_get_list_start(cur->parent)); - } - } - if (!render_node(&renderer, cur, ev_type, options)) { - // a false value causes us to skip processing - // the node's contents. this is used for - // autolinks. - cmark_iter_reset(iter, cur, CMARK_EVENT_EXIT); - } - } - - // ensure final newline - if (renderer.buffer->size == 0 || renderer.buffer->ptr[renderer.buffer->size - 1] != '\n') { - cmark_strbuf_putc(renderer.buffer, '\n'); - } - - result = (char *)cmark_strbuf_detach(renderer.buffer); - - cmark_iter_free(iter); - cmark_strbuf_free(renderer.prefix); - cmark_strbuf_free(renderer.buffer); - - return result; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.h deleted file mode 100644 index 4a68d1e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef CMARK_RENDER_H -#define CMARK_RENDER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include "buffer.h" -#include "chunk.h" - -typedef enum { LITERAL, NORMAL, TITLE, URL } cmark_escaping; - -struct cmark_renderer { - cmark_mem *mem; - cmark_strbuf *buffer; - cmark_strbuf *prefix; - int column; - int width; - int need_cr; - bufsize_t last_breakable; - bool begin_line; - bool begin_content; - bool no_linebreaks; - bool in_tight_list_item; - void (*outc)(struct cmark_renderer *, cmark_node *, cmark_escaping, int32_t, unsigned char); - void (*cr)(struct cmark_renderer *); - void (*blankline)(struct cmark_renderer *); - void (*out)(struct cmark_renderer *, cmark_node *, const char *, bool, cmark_escaping); - unsigned int footnote_ix; -}; - -typedef struct cmark_renderer cmark_renderer; - -struct cmark_html_renderer { - cmark_strbuf *html; - cmark_node *plain; - cmark_llist *filter_extensions; - unsigned int footnote_ix; - unsigned int written_footnote_ix; - void *opaque; -}; - -typedef struct cmark_html_renderer cmark_html_renderer; - -void cmark_render_ascii(cmark_renderer *renderer, const char *s); - -void cmark_render_code_point(cmark_renderer *renderer, uint32_t c); - -char *cmark_render(cmark_mem *mem, cmark_node *root, int options, int width, - void (*outc)(cmark_renderer *, cmark_node *, - cmark_escaping, int32_t, - unsigned char), - int (*render_node)(cmark_renderer *renderer, - cmark_node *node, - cmark_event_type ev_type, int options)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.o deleted file mode 100644 index da4a74f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/render.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.c deleted file mode 100644 index 1972060..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.c +++ /dev/null @@ -1,14056 +0,0 @@ -/* Generated by re2c 3.0 */ -#include "scanners.h" -#include "chunk.h" -#include - -bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, - bufsize_t offset) { - bufsize_t res; - unsigned char *ptr = (unsigned char *)c->data; - - if (ptr == NULL || offset > c->len) { - return 0; - } else { - unsigned char lim = ptr[c->len]; - - ptr[c->len] = '\0'; - res = scanner(ptr + offset); - ptr[c->len] = lim; - } - - return res; -} - -// Try to match a scheme including colon. -bufsize_t _scan_scheme(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - yych = *p; - if (yych <= '@') - goto yy1; - if (yych <= 'Z') - goto yy3; - if (yych <= '`') - goto yy1; - if (yych <= 'z') - goto yy3; - yy1: - ++p; - yy2 : { return 0; } - yy3: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') - goto yy2; - } else { - if (yych <= ',') - goto yy2; - if (yych >= '/') - goto yy2; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') - goto yy4; - if (yych <= '@') - goto yy2; - } else { - if (yych <= '`') - goto yy2; - if (yych >= '{') - goto yy2; - } - } - yy4: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') - goto yy6; - } else { - if (yych != '/') - goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych >= 'A') - goto yy6; - } else { - if (yych <= '`') - goto yy5; - if (yych <= 'z') - goto yy6; - } - } - yy5: - p = marker; - goto yy2; - yy6: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') - goto yy8; - goto yy5; - } else { - if (yych == '/') - goto yy5; - goto yy8; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - goto yy8; - } else { - if (yych <= '`') - goto yy5; - if (yych <= 'z') - goto yy8; - goto yy5; - } - } - yy7: - ++p; - { return (bufsize_t)(p - start); } - yy8: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy5; - } else { - if (yych == '/') - goto yy5; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy7; - if (yych <= '@') - goto yy5; - } else { - if (yych <= '`') - goto yy5; - if (yych >= '{') - goto yy5; - } - } - yych = *++p; - if (yych == ':') - goto yy7; - goto yy5; - } -} - -// Try to match URI autolink after first <, returning number of chars matched. -bufsize_t _scan_autolink_uri(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '@') - goto yy10; - if (yych <= 'Z') - goto yy12; - if (yych <= '`') - goto yy10; - if (yych <= 'z') - goto yy12; - yy10: - ++p; - yy11 : { return 0; } - yy12: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') - goto yy11; - } else { - if (yych <= ',') - goto yy11; - if (yych >= '/') - goto yy11; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') - goto yy13; - if (yych <= '@') - goto yy11; - } else { - if (yych <= '`') - goto yy11; - if (yych >= '{') - goto yy11; - } - } - yy13: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') - goto yy15; - } else { - if (yych != '/') - goto yy15; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych >= 'A') - goto yy15; - } else { - if (yych <= '`') - goto yy14; - if (yych <= 'z') - goto yy15; - } - } - yy14: - p = marker; - goto yy11; - yy15: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') - goto yy17; - goto yy14; - } else { - if (yych == '/') - goto yy14; - goto yy17; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - goto yy17; - } else { - if (yych <= '`') - goto yy14; - if (yych <= 'z') - goto yy17; - goto yy14; - } - } - yy16: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy16; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '<') - goto yy14; - if (yych <= '>') - goto yy18; - goto yy14; - } else { - if (yych <= 0xDF) - goto yy19; - if (yych <= 0xE0) - goto yy20; - goto yy21; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy22; - if (yych <= 0xEF) - goto yy21; - goto yy23; - } else { - if (yych <= 0xF3) - goto yy24; - if (yych <= 0xF4) - goto yy25; - goto yy14; - } - } - yy17: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') - goto yy26; - goto yy14; - } else { - if (yych == '/') - goto yy14; - goto yy26; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - goto yy26; - } else { - if (yych <= '`') - goto yy14; - if (yych <= 'z') - goto yy26; - goto yy14; - } - } - yy18: - ++p; - { return (bufsize_t)(p - start); } - yy19: - yych = *++p; - if (yych <= 0x7F) - goto yy14; - if (yych <= 0xBF) - goto yy16; - goto yy14; - yy20: - yych = *++p; - if (yych <= 0x9F) - goto yy14; - if (yych <= 0xBF) - goto yy19; - goto yy14; - yy21: - yych = *++p; - if (yych <= 0x7F) - goto yy14; - if (yych <= 0xBF) - goto yy19; - goto yy14; - yy22: - yych = *++p; - if (yych <= 0x7F) - goto yy14; - if (yych <= 0x9F) - goto yy19; - goto yy14; - yy23: - yych = *++p; - if (yych <= 0x8F) - goto yy14; - if (yych <= 0xBF) - goto yy21; - goto yy14; - yy24: - yych = *++p; - if (yych <= 0x7F) - goto yy14; - if (yych <= 0xBF) - goto yy21; - goto yy14; - yy25: - yych = *++p; - if (yych <= 0x7F) - goto yy14; - if (yych <= 0x8F) - goto yy21; - goto yy14; - yy26: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') - goto yy14; - } else { - if (yych == '/') - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') - goto yy16; - if (yych <= '@') - goto yy14; - } else { - if (yych <= '`') - goto yy14; - if (yych >= '{') - goto yy14; - } - } - yych = *++p; - if (yych == ':') - goto yy16; - goto yy14; - } -} - -// Try to match email autolink after first <, returning num of chars matched. -bufsize_t _scan_autolink_email(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0, - 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '9') { - if (yych <= '\'') { - if (yych == '!') - goto yy30; - if (yych >= '#') - goto yy30; - } else { - if (yych <= ')') - goto yy28; - if (yych != ',') - goto yy30; - } - } else { - if (yych <= '?') { - if (yych == '=') - goto yy30; - if (yych >= '?') - goto yy30; - } else { - if (yych <= 'Z') { - if (yych >= 'A') - goto yy30; - } else { - if (yych <= ']') - goto yy28; - if (yych <= '~') - goto yy30; - } - } - } - yy28: - ++p; - yy29 : { return 0; } - yy30: - yych = *(marker = ++p); - if (yych <= ',') { - if (yych <= '"') { - if (yych == '!') - goto yy32; - goto yy29; - } else { - if (yych <= '\'') - goto yy32; - if (yych <= ')') - goto yy29; - if (yych <= '+') - goto yy32; - goto yy29; - } - } else { - if (yych <= '>') { - if (yych <= '9') - goto yy32; - if (yych == '=') - goto yy32; - goto yy29; - } else { - if (yych <= 'Z') - goto yy32; - if (yych <= ']') - goto yy29; - if (yych <= '~') - goto yy32; - goto yy29; - } - } - yy31: - yych = *++p; - yy32: - if (yybm[0 + yych] & 128) { - goto yy31; - } - if (yych <= '>') - goto yy33; - if (yych <= '@') - goto yy34; - yy33: - p = marker; - goto yy29; - yy34: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') - goto yy33; - if (yych >= ':') - goto yy33; - } else { - if (yych <= 'Z') - goto yy35; - if (yych <= '`') - goto yy33; - if (yych >= '{') - goto yy33; - } - yy35: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy36; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy36; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy36; - goto yy33; - } - } - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy38; - if (yych <= '/') - goto yy33; - goto yy39; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy39; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy39; - goto yy33; - } - } - yy36: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych <= '-') - goto yy38; - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy39; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy39; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy39; - goto yy33; - } - } - yy37: - ++p; - { return (bufsize_t)(p - start); } - yy38: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy40; - if (yych <= '/') - goto yy33; - goto yy41; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy41; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy41; - goto yy33; - } - } - yy39: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy41; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy41; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy41; - goto yy33; - } - } - yy40: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy42; - if (yych <= '/') - goto yy33; - goto yy43; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy43; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy43; - goto yy33; - } - } - yy41: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy43; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy43; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy43; - goto yy33; - } - } - yy42: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy44; - if (yych <= '/') - goto yy33; - goto yy45; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy45; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy45; - goto yy33; - } - } - yy43: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy45; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy45; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy45; - goto yy33; - } - } - yy44: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy46; - if (yych <= '/') - goto yy33; - goto yy47; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy47; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy47; - goto yy33; - } - } - yy45: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy47; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy47; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy47; - goto yy33; - } - } - yy46: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy48; - if (yych <= '/') - goto yy33; - goto yy49; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy49; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy49; - goto yy33; - } - } - yy47: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy49; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy49; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy49; - goto yy33; - } - } - yy48: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy50; - if (yych <= '/') - goto yy33; - goto yy51; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy51; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy51; - goto yy33; - } - } - yy49: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy51; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy51; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy51; - goto yy33; - } - } - yy50: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy52; - if (yych <= '/') - goto yy33; - goto yy53; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy53; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy53; - goto yy33; - } - } - yy51: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy53; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy53; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy53; - goto yy33; - } - } - yy52: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy54; - if (yych <= '/') - goto yy33; - goto yy55; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy55; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy55; - goto yy33; - } - } - yy53: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy55; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy55; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy55; - goto yy33; - } - } - yy54: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy56; - if (yych <= '/') - goto yy33; - goto yy57; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy57; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy57; - goto yy33; - } - } - yy55: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy57; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy57; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy57; - goto yy33; - } - } - yy56: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy58; - if (yych <= '/') - goto yy33; - goto yy59; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy59; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy59; - goto yy33; - } - } - yy57: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy59; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy59; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy59; - goto yy33; - } - } - yy58: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy60; - if (yych <= '/') - goto yy33; - goto yy61; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy61; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy61; - goto yy33; - } - } - yy59: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy61; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy61; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy61; - goto yy33; - } - } - yy60: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy62; - if (yych <= '/') - goto yy33; - goto yy63; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy63; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy63; - goto yy33; - } - } - yy61: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy63; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy63; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy63; - goto yy33; - } - } - yy62: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy64; - if (yych <= '/') - goto yy33; - goto yy65; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy65; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy65; - goto yy33; - } - } - yy63: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy65; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy65; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy65; - goto yy33; - } - } - yy64: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy66; - if (yych <= '/') - goto yy33; - goto yy67; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy67; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy67; - goto yy33; - } - } - yy65: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy67; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy67; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy67; - goto yy33; - } - } - yy66: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy68; - if (yych <= '/') - goto yy33; - goto yy69; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy69; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy69; - goto yy33; - } - } - yy67: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy69; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy69; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy69; - goto yy33; - } - } - yy68: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy70; - if (yych <= '/') - goto yy33; - goto yy71; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy71; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy71; - goto yy33; - } - } - yy69: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy71; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy71; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy71; - goto yy33; - } - } - yy70: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy72; - if (yych <= '/') - goto yy33; - goto yy73; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy73; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy73; - goto yy33; - } - } - yy71: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy73; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy73; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy73; - goto yy33; - } - } - yy72: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy74; - if (yych <= '/') - goto yy33; - goto yy75; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy75; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy75; - goto yy33; - } - } - yy73: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy75; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy75; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy75; - goto yy33; - } - } - yy74: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy76; - if (yych <= '/') - goto yy33; - goto yy77; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy77; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy77; - goto yy33; - } - } - yy75: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy77; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy77; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy77; - goto yy33; - } - } - yy76: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy78; - if (yych <= '/') - goto yy33; - goto yy79; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy79; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy79; - goto yy33; - } - } - yy77: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy79; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy79; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy79; - goto yy33; - } - } - yy78: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy80; - if (yych <= '/') - goto yy33; - goto yy81; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy81; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy81; - goto yy33; - } - } - yy79: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy81; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy81; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy81; - goto yy33; - } - } - yy80: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy82; - if (yych <= '/') - goto yy33; - goto yy83; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy83; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy83; - goto yy33; - } - } - yy81: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy83; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy83; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy83; - goto yy33; - } - } - yy82: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy84; - if (yych <= '/') - goto yy33; - goto yy85; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy85; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy85; - goto yy33; - } - } - yy83: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy85; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy85; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy85; - goto yy33; - } - } - yy84: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy86; - if (yych <= '/') - goto yy33; - goto yy87; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy87; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy87; - goto yy33; - } - } - yy85: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy87; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy87; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy87; - goto yy33; - } - } - yy86: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy88; - if (yych <= '/') - goto yy33; - goto yy89; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy89; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy89; - goto yy33; - } - } - yy87: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy89; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy89; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy89; - goto yy33; - } - } - yy88: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy90; - if (yych <= '/') - goto yy33; - goto yy91; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy91; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy91; - goto yy33; - } - } - yy89: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy91; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy91; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy91; - goto yy33; - } - } - yy90: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy92; - if (yych <= '/') - goto yy33; - goto yy93; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy93; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy93; - goto yy33; - } - } - yy91: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy93; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy93; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy93; - goto yy33; - } - } - yy92: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy94; - if (yych <= '/') - goto yy33; - goto yy95; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy95; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy95; - goto yy33; - } - } - yy93: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy95; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy95; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy95; - goto yy33; - } - } - yy94: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy96; - if (yych <= '/') - goto yy33; - goto yy97; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy97; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy97; - goto yy33; - } - } - yy95: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy97; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy97; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy97; - goto yy33; - } - } - yy96: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy98; - if (yych <= '/') - goto yy33; - goto yy99; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy99; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy99; - goto yy33; - } - } - yy97: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy99; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy99; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy99; - goto yy33; - } - } - yy98: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy100; - if (yych <= '/') - goto yy33; - goto yy101; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy101; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy101; - goto yy33; - } - } - yy99: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy101; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy101; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy101; - goto yy33; - } - } - yy100: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy102; - if (yych <= '/') - goto yy33; - goto yy103; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy103; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy103; - goto yy33; - } - } - yy101: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy103; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy103; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy103; - goto yy33; - } - } - yy102: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy104; - if (yych <= '/') - goto yy33; - goto yy105; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy105; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy105; - goto yy33; - } - } - yy103: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy105; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy105; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy105; - goto yy33; - } - } - yy104: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy106; - if (yych <= '/') - goto yy33; - goto yy107; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy107; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy107; - goto yy33; - } - } - yy105: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy107; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy107; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy107; - goto yy33; - } - } - yy106: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy108; - if (yych <= '/') - goto yy33; - goto yy109; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy109; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy109; - goto yy33; - } - } - yy107: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy109; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy109; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy109; - goto yy33; - } - } - yy108: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy110; - if (yych <= '/') - goto yy33; - goto yy111; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy111; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy111; - goto yy33; - } - } - yy109: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy111; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy111; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy111; - goto yy33; - } - } - yy110: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy112; - if (yych <= '/') - goto yy33; - goto yy113; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy113; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy113; - goto yy33; - } - } - yy111: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy113; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy113; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy113; - goto yy33; - } - } - yy112: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy114; - if (yych <= '/') - goto yy33; - goto yy115; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy115; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy115; - goto yy33; - } - } - yy113: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy115; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy115; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy115; - goto yy33; - } - } - yy114: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy116; - if (yych <= '/') - goto yy33; - goto yy117; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy117; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy117; - goto yy33; - } - } - yy115: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy117; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy117; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy117; - goto yy33; - } - } - yy116: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy118; - if (yych <= '/') - goto yy33; - goto yy119; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy119; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy119; - goto yy33; - } - } - yy117: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy119; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy119; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy119; - goto yy33; - } - } - yy118: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy120; - if (yych <= '/') - goto yy33; - goto yy121; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy121; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy121; - goto yy33; - } - } - yy119: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy121; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy121; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy121; - goto yy33; - } - } - yy120: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy122; - if (yych <= '/') - goto yy33; - goto yy123; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy123; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy123; - goto yy33; - } - } - yy121: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy123; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy123; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy123; - goto yy33; - } - } - yy122: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy124; - if (yych <= '/') - goto yy33; - goto yy125; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy125; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy125; - goto yy33; - } - } - yy123: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy125; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy125; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy125; - goto yy33; - } - } - yy124: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy126; - if (yych <= '/') - goto yy33; - goto yy127; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy127; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy127; - goto yy33; - } - } - yy125: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy127; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy127; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy127; - goto yy33; - } - } - yy126: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy128; - if (yych <= '/') - goto yy33; - goto yy129; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy129; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy129; - goto yy33; - } - } - yy127: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy129; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy129; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy129; - goto yy33; - } - } - yy128: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy130; - if (yych <= '/') - goto yy33; - goto yy131; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy131; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy131; - goto yy33; - } - } - yy129: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy131; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy131; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy131; - goto yy33; - } - } - yy130: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy132; - if (yych <= '/') - goto yy33; - goto yy133; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy133; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy133; - goto yy33; - } - } - yy131: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy133; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy133; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy133; - goto yy33; - } - } - yy132: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy134; - if (yych <= '/') - goto yy33; - goto yy135; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy135; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy135; - goto yy33; - } - } - yy133: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy135; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy135; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy135; - goto yy33; - } - } - yy134: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy136; - if (yych <= '/') - goto yy33; - goto yy137; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy137; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy137; - goto yy33; - } - } - yy135: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy137; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy137; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy137; - goto yy33; - } - } - yy136: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy138; - if (yych <= '/') - goto yy33; - goto yy139; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy139; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy139; - goto yy33; - } - } - yy137: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy139; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy139; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy139; - goto yy33; - } - } - yy138: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy140; - if (yych <= '/') - goto yy33; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy141; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy141; - goto yy33; - } - } - yy139: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy141; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy141; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy141; - goto yy33; - } - } - yy140: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy142; - if (yych <= '/') - goto yy33; - goto yy143; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy143; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy143; - goto yy33; - } - } - yy141: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy143; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy143; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy143; - goto yy33; - } - } - yy142: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy144; - if (yych <= '/') - goto yy33; - goto yy145; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy145; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy145; - goto yy33; - } - } - yy143: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy145; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy145; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy145; - goto yy33; - } - } - yy144: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy146; - if (yych <= '/') - goto yy33; - goto yy147; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy147; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy147; - goto yy33; - } - } - yy145: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy147; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy147; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy147; - goto yy33; - } - } - yy146: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy148; - if (yych <= '/') - goto yy33; - goto yy149; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy149; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy149; - goto yy33; - } - } - yy147: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy149; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy149; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy149; - goto yy33; - } - } - yy148: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy150; - if (yych <= '/') - goto yy33; - goto yy151; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy151; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy151; - goto yy33; - } - } - yy149: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy151; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy151; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy151; - goto yy33; - } - } - yy150: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy152; - if (yych <= '/') - goto yy33; - goto yy153; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy153; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy153; - goto yy33; - } - } - yy151: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy153; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy153; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy153; - goto yy33; - } - } - yy152: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy154; - if (yych <= '/') - goto yy33; - goto yy155; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy155; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy155; - goto yy33; - } - } - yy153: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy155; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy155; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy155; - goto yy33; - } - } - yy154: - yych = *++p; - if (yych <= '9') { - if (yych == '-') - goto yy156; - if (yych <= '/') - goto yy33; - goto yy157; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy33; - goto yy157; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy157; - goto yy33; - } - } - yy155: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') - goto yy33; - if (yych >= '.') - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy157; - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - goto yy157; - } else { - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy157; - goto yy33; - } - } - yy156: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') - goto yy33; - if (yych <= '9') - goto yy158; - goto yy33; - } else { - if (yych <= 'Z') - goto yy158; - if (yych <= '`') - goto yy33; - if (yych <= 'z') - goto yy158; - goto yy33; - } - yy157: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= '-') - goto yy33; - goto yy34; - } else { - if (yych <= '/') - goto yy33; - if (yych >= ':') - goto yy33; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy37; - if (yych <= '@') - goto yy33; - } else { - if (yych <= '`') - goto yy33; - if (yych >= '{') - goto yy33; - } - } - yy158: - yych = *++p; - if (yych == '.') - goto yy34; - if (yych == '>') - goto yy37; - goto yy33; - } -} - -// Try to match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_html_tag(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224, - 224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, - 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '@') { - if (yych == '/') - goto yy162; - } else { - if (yych <= 'Z') - goto yy163; - if (yych <= '`') - goto yy160; - if (yych <= 'z') - goto yy163; - } - yy160: - ++p; - yy161 : { return 0; } - yy162: - yych = *(marker = ++p); - if (yych <= '@') - goto yy161; - if (yych <= 'Z') - goto yy164; - if (yych <= '`') - goto yy161; - if (yych <= 'z') - goto yy164; - goto yy161; - yy163: - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy161; - if (yych <= '\r') - goto yy168; - goto yy161; - } else { - if (yych <= ' ') - goto yy168; - if (yych == '-') - goto yy168; - goto yy161; - } - } else { - if (yych <= '@') { - if (yych <= '9') - goto yy168; - if (yych == '>') - goto yy168; - goto yy161; - } else { - if (yych <= 'Z') - goto yy168; - if (yych <= '`') - goto yy161; - if (yych <= 'z') - goto yy168; - goto yy161; - } - } - yy164: - yych = *++p; - if (yybm[0 + yych] & 4) { - goto yy164; - } - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy165; - if (yych <= '\r') - goto yy171; - } else { - if (yych <= ' ') - goto yy171; - if (yych == '>') - goto yy170; - } - yy165: - p = marker; - goto yy161; - yy166: - yych = *++p; - if (yybm[0 + yych] & 8) { - goto yy166; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych == '/') - goto yy169; - goto yy165; - } else { - if (yych <= ':') - goto yy172; - if (yych <= '=') - goto yy165; - goto yy170; - } - } else { - if (yych <= '^') { - if (yych <= '@') - goto yy165; - if (yych <= 'Z') - goto yy172; - goto yy165; - } else { - if (yych == '`') - goto yy165; - if (yych <= 'z') - goto yy172; - goto yy165; - } - } - yy167: - yych = *++p; - yy168: - if (yybm[0 + yych] & 8) { - goto yy166; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') - goto yy167; - goto yy165; - } else { - if (yych <= '/') - goto yy169; - if (yych <= '9') - goto yy167; - goto yy165; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy170; - if (yych <= '@') - goto yy165; - goto yy167; - } else { - if (yych <= '`') - goto yy165; - if (yych <= 'z') - goto yy167; - goto yy165; - } - } - yy169: - yych = *++p; - if (yych != '>') - goto yy165; - yy170: - ++p; - { return (bufsize_t)(p - start); } - yy171: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy165; - if (yych <= '\r') - goto yy171; - goto yy165; - } else { - if (yych <= ' ') - goto yy171; - if (yych == '>') - goto yy170; - goto yy165; - } - yy172: - yych = *++p; - if (yybm[0 + yych] & 16) { - goto yy172; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) - goto yy165; - } else { - if (yych != ' ') - goto yy165; - } - } else { - if (yych <= '<') { - if (yych <= '/') - goto yy169; - goto yy165; - } else { - if (yych <= '=') - goto yy174; - if (yych <= '>') - goto yy170; - goto yy165; - } - } - yy173: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) - goto yy165; - if (yych <= '\r') - goto yy173; - if (yych <= 0x1F) - goto yy165; - goto yy173; - } else { - if (yych <= '/') { - if (yych <= '.') - goto yy165; - goto yy169; - } else { - if (yych == ':') - goto yy172; - goto yy165; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') - goto yy174; - if (yych <= '>') - goto yy170; - if (yych <= '@') - goto yy165; - goto yy172; - } else { - if (yych <= '_') { - if (yych <= '^') - goto yy165; - goto yy172; - } else { - if (yych <= '`') - goto yy165; - if (yych <= 'z') - goto yy172; - goto yy165; - } - } - } - yy174: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy175; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) - goto yy165; - if (yych <= ' ') - goto yy174; - goto yy176; - } else { - if (yych <= '\'') - goto yy177; - if (yych <= 0xC1) - goto yy165; - if (yych <= 0xDF) - goto yy178; - goto yy179; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy181; - goto yy180; - } else { - if (yych <= 0xF0) - goto yy182; - if (yych <= 0xF3) - goto yy183; - if (yych <= 0xF4) - goto yy184; - goto yy165; - } - } - yy175: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy175; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) - goto yy165; - if (yych <= ' ') - goto yy166; - goto yy165; - } else { - if (yych <= '>') - goto yy170; - if (yych <= 0xC1) - goto yy165; - if (yych <= 0xDF) - goto yy178; - goto yy179; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy181; - goto yy180; - } else { - if (yych <= 0xF0) - goto yy182; - if (yych <= 0xF3) - goto yy183; - if (yych <= 0xF4) - goto yy184; - goto yy165; - } - } - yy176: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy176; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy165; - if (yych <= '"') - goto yy185; - goto yy165; - } else { - if (yych <= 0xDF) - goto yy186; - if (yych <= 0xE0) - goto yy187; - goto yy188; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy189; - if (yych <= 0xEF) - goto yy188; - goto yy190; - } else { - if (yych <= 0xF3) - goto yy191; - if (yych <= 0xF4) - goto yy192; - goto yy165; - } - } - yy177: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy177; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy165; - if (yych <= '\'') - goto yy185; - goto yy165; - } else { - if (yych <= 0xDF) - goto yy193; - if (yych <= 0xE0) - goto yy194; - goto yy195; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy196; - if (yych <= 0xEF) - goto yy195; - goto yy197; - } else { - if (yych <= 0xF3) - goto yy198; - if (yych <= 0xF4) - goto yy199; - goto yy165; - } - } - yy178: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy175; - goto yy165; - yy179: - yych = *++p; - if (yych <= 0x9F) - goto yy165; - if (yych <= 0xBF) - goto yy178; - goto yy165; - yy180: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy178; - goto yy165; - yy181: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0x9F) - goto yy178; - goto yy165; - yy182: - yych = *++p; - if (yych <= 0x8F) - goto yy165; - if (yych <= 0xBF) - goto yy180; - goto yy165; - yy183: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy180; - goto yy165; - yy184: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0x8F) - goto yy180; - goto yy165; - yy185: - yych = *++p; - if (yybm[0 + yych] & 8) { - goto yy166; - } - if (yych == '/') - goto yy169; - if (yych == '>') - goto yy170; - goto yy165; - yy186: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy176; - goto yy165; - yy187: - yych = *++p; - if (yych <= 0x9F) - goto yy165; - if (yych <= 0xBF) - goto yy186; - goto yy165; - yy188: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy186; - goto yy165; - yy189: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0x9F) - goto yy186; - goto yy165; - yy190: - yych = *++p; - if (yych <= 0x8F) - goto yy165; - if (yych <= 0xBF) - goto yy188; - goto yy165; - yy191: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy188; - goto yy165; - yy192: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0x8F) - goto yy188; - goto yy165; - yy193: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy177; - goto yy165; - yy194: - yych = *++p; - if (yych <= 0x9F) - goto yy165; - if (yych <= 0xBF) - goto yy193; - goto yy165; - yy195: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy193; - goto yy165; - yy196: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0x9F) - goto yy193; - goto yy165; - yy197: - yych = *++p; - if (yych <= 0x8F) - goto yy165; - if (yych <= 0xBF) - goto yy195; - goto yy165; - yy198: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0xBF) - goto yy195; - goto yy165; - yy199: - yych = *++p; - if (yych <= 0x7F) - goto yy165; - if (yych <= 0x8F) - goto yy195; - goto yy165; - } -} - -// Try to (liberally) match an HTML tag after first <, returning num of chars -// matched. -bufsize_t _scan_liberal_html_tag(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy201; - if (yych <= '\t') - goto yy203; - } else { - if (yych <= 0x7F) - goto yy203; - if (yych <= 0xC1) - goto yy201; - if (yych <= 0xDF) - goto yy204; - goto yy205; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy207; - goto yy206; - } else { - if (yych <= 0xF0) - goto yy208; - if (yych <= 0xF3) - goto yy209; - if (yych <= 0xF4) - goto yy210; - } - } - yy201: - ++p; - yy202 : { return 0; } - yy203: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) - goto yy202; - if (yych <= '\t') - goto yy212; - goto yy202; - } else { - if (yych <= 0x7F) - goto yy212; - if (yych <= 0xC1) - goto yy202; - if (yych <= 0xF4) - goto yy212; - goto yy202; - } - yy204: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy202; - if (yych <= 0xBF) - goto yy211; - goto yy202; - yy205: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy202; - if (yych <= 0xBF) - goto yy216; - goto yy202; - yy206: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy202; - if (yych <= 0xBF) - goto yy216; - goto yy202; - yy207: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy202; - if (yych <= 0x9F) - goto yy216; - goto yy202; - yy208: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy202; - if (yych <= 0xBF) - goto yy218; - goto yy202; - yy209: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy202; - if (yych <= 0xBF) - goto yy218; - goto yy202; - yy210: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy202; - if (yych <= 0x8F) - goto yy218; - goto yy202; - yy211: - yych = *++p; - yy212: - if (yybm[0 + yych] & 64) { - goto yy211; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy213; - if (yych <= '>') - goto yy214; - } else { - if (yych <= 0xDF) - goto yy216; - if (yych <= 0xE0) - goto yy217; - goto yy218; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy219; - if (yych <= 0xEF) - goto yy218; - goto yy220; - } else { - if (yych <= 0xF3) - goto yy221; - if (yych <= 0xF4) - goto yy222; - } - } - yy213: - p = marker; - if (yyaccept == 0) { - goto yy202; - } else { - goto yy215; - } - yy214: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy211; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy215; - if (yych <= '>') - goto yy214; - } else { - if (yych <= 0xDF) - goto yy216; - if (yych <= 0xE0) - goto yy217; - goto yy218; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy219; - if (yych <= 0xEF) - goto yy218; - goto yy220; - } else { - if (yych <= 0xF3) - goto yy221; - if (yych <= 0xF4) - goto yy222; - } - } - yy215 : { return (bufsize_t)(p - start); } - yy216: - yych = *++p; - if (yych <= 0x7F) - goto yy213; - if (yych <= 0xBF) - goto yy211; - goto yy213; - yy217: - yych = *++p; - if (yych <= 0x9F) - goto yy213; - if (yych <= 0xBF) - goto yy216; - goto yy213; - yy218: - yych = *++p; - if (yych <= 0x7F) - goto yy213; - if (yych <= 0xBF) - goto yy216; - goto yy213; - yy219: - yych = *++p; - if (yych <= 0x7F) - goto yy213; - if (yych <= 0x9F) - goto yy216; - goto yy213; - yy220: - yych = *++p; - if (yych <= 0x8F) - goto yy213; - if (yych <= 0xBF) - goto yy218; - goto yy213; - yy221: - yych = *++p; - if (yych <= 0x7F) - goto yy213; - if (yych <= 0xBF) - goto yy218; - goto yy213; - yy222: - yych = *++p; - if (yych <= 0x7F) - goto yy213; - if (yych <= 0x8F) - goto yy218; - goto yy213; - } -} - -bufsize_t _scan_html_comment(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych == '-') - goto yy225; - ++p; - yy224 : { return 0; } - yy225: - yych = *(marker = ++p); - if (yych != '-') - goto yy224; - yy226: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy226; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy227; - if (yych <= '-') - goto yy228; - } else { - if (yych <= 0xDF) - goto yy229; - if (yych <= 0xE0) - goto yy230; - goto yy231; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy232; - if (yych <= 0xEF) - goto yy231; - goto yy233; - } else { - if (yych <= 0xF3) - goto yy234; - if (yych <= 0xF4) - goto yy235; - } - } - yy227: - p = marker; - goto yy224; - yy228: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy226; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy227; - if (yych <= '-') - goto yy236; - goto yy227; - } else { - if (yych <= 0xDF) - goto yy229; - if (yych <= 0xE0) - goto yy230; - goto yy231; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy232; - if (yych <= 0xEF) - goto yy231; - goto yy233; - } else { - if (yych <= 0xF3) - goto yy234; - if (yych <= 0xF4) - goto yy235; - goto yy227; - } - } - yy229: - yych = *++p; - if (yych <= 0x7F) - goto yy227; - if (yych <= 0xBF) - goto yy226; - goto yy227; - yy230: - yych = *++p; - if (yych <= 0x9F) - goto yy227; - if (yych <= 0xBF) - goto yy229; - goto yy227; - yy231: - yych = *++p; - if (yych <= 0x7F) - goto yy227; - if (yych <= 0xBF) - goto yy229; - goto yy227; - yy232: - yych = *++p; - if (yych <= 0x7F) - goto yy227; - if (yych <= 0x9F) - goto yy229; - goto yy227; - yy233: - yych = *++p; - if (yych <= 0x8F) - goto yy227; - if (yych <= 0xBF) - goto yy231; - goto yy227; - yy234: - yych = *++p; - if (yych <= 0x7F) - goto yy227; - if (yych <= 0xBF) - goto yy231; - goto yy227; - yy235: - yych = *++p; - if (yych <= 0x7F) - goto yy227; - if (yych <= 0x8F) - goto yy231; - goto yy227; - yy236: - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) - goto yy227; - if (yych <= '=') - goto yy226; - } else { - if (yych <= 0x7F) - goto yy226; - if (yych <= 0xC1) - goto yy227; - if (yych <= 0xDF) - goto yy229; - goto yy230; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy232; - goto yy231; - } else { - if (yych <= 0xF0) - goto yy233; - if (yych <= 0xF3) - goto yy234; - if (yych <= 0xF4) - goto yy235; - goto yy227; - } - } - ++p; - { return (bufsize_t)(p - start); } - } -} - -bufsize_t _scan_html_pi(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0 + yych] & 128) { - goto yy240; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy238; - if (yych <= '?') - goto yy243; - } else { - if (yych <= 0xDF) - goto yy244; - if (yych <= 0xE0) - goto yy245; - goto yy246; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy247; - if (yych <= 0xEF) - goto yy246; - goto yy248; - } else { - if (yych <= 0xF3) - goto yy249; - if (yych <= 0xF4) - goto yy250; - } - } - yy238: - ++p; - yy239 : { return 0; } - yy240: - yyaccept = 0; - yych = *(marker = ++p); - yy241: - if (yybm[0 + yych] & 128) { - goto yy240; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy242; - if (yych <= '?') - goto yy251; - } else { - if (yych <= 0xDF) - goto yy253; - if (yych <= 0xE0) - goto yy254; - goto yy255; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy256; - if (yych <= 0xEF) - goto yy255; - goto yy257; - } else { - if (yych <= 0xF3) - goto yy258; - if (yych <= 0xF4) - goto yy259; - } - } - yy242 : { return (bufsize_t)(p - start); } - yy243: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= '?') { - if (yych <= 0x00) - goto yy239; - if (yych <= '=') - goto yy241; - if (yych <= '>') - goto yy239; - goto yy240; - } else { - if (yych <= 0x7F) - goto yy241; - if (yych <= 0xC1) - goto yy239; - if (yych <= 0xF4) - goto yy241; - goto yy239; - } - yy244: - yych = *++p; - if (yych <= 0x7F) - goto yy239; - if (yych <= 0xBF) - goto yy240; - goto yy239; - yy245: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy239; - if (yych <= 0xBF) - goto yy253; - goto yy239; - yy246: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy239; - if (yych <= 0xBF) - goto yy253; - goto yy239; - yy247: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy239; - if (yych <= 0x9F) - goto yy253; - goto yy239; - yy248: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy239; - if (yych <= 0xBF) - goto yy255; - goto yy239; - yy249: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy239; - if (yych <= 0xBF) - goto yy255; - goto yy239; - yy250: - yyaccept = 1; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy239; - if (yych <= 0x8F) - goto yy255; - goto yy239; - yy251: - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) - goto yy252; - if (yych <= '=') - goto yy240; - } else { - if (yych <= 0x7F) - goto yy240; - if (yych <= 0xC1) - goto yy252; - if (yych <= 0xDF) - goto yy253; - goto yy254; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy256; - goto yy255; - } else { - if (yych <= 0xF0) - goto yy257; - if (yych <= 0xF3) - goto yy258; - if (yych <= 0xF4) - goto yy259; - } - } - yy252: - p = marker; - if (yyaccept == 0) { - goto yy242; - } else { - goto yy239; - } - yy253: - yych = *++p; - if (yych <= 0x7F) - goto yy252; - if (yych <= 0xBF) - goto yy240; - goto yy252; - yy254: - yych = *++p; - if (yych <= 0x9F) - goto yy252; - if (yych <= 0xBF) - goto yy253; - goto yy252; - yy255: - yych = *++p; - if (yych <= 0x7F) - goto yy252; - if (yych <= 0xBF) - goto yy253; - goto yy252; - yy256: - yych = *++p; - if (yych <= 0x7F) - goto yy252; - if (yych <= 0x9F) - goto yy253; - goto yy252; - yy257: - yych = *++p; - if (yych <= 0x8F) - goto yy252; - if (yych <= 0xBF) - goto yy255; - goto yy252; - yy258: - yych = *++p; - if (yych <= 0x7F) - goto yy252; - if (yych <= 0xBF) - goto yy255; - goto yy252; - yy259: - yych = *++p; - if (yych <= 0x7F) - goto yy252; - if (yych <= 0x8F) - goto yy255; - goto yy252; - } -} - -bufsize_t _scan_html_declaration(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 0, 64, 64, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '@') - goto yy261; - if (yych <= 'Z') - goto yy263; - yy261: - ++p; - yy262 : { return 0; } - yy263: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy266; - } - if (yych <= 0x08) - goto yy262; - if (yych <= '\r') - goto yy264; - if (yych != ' ') - goto yy262; - yy264: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy264; - } - if (yych <= 0xED) { - if (yych <= 0xDF) { - if (yych >= 0xC2) - goto yy268; - } else { - if (yych <= 0xE0) - goto yy269; - if (yych <= 0xEC) - goto yy270; - goto yy271; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy270; - goto yy272; - } else { - if (yych <= 0xF3) - goto yy273; - if (yych <= 0xF4) - goto yy274; - } - } - yy265 : { return (bufsize_t)(p - start); } - yy266: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy266; - } - if (yych <= 0x08) - goto yy267; - if (yych <= '\r') - goto yy264; - if (yych == ' ') - goto yy264; - yy267: - p = marker; - if (yyaccept == 0) { - goto yy262; - } else { - goto yy265; - } - yy268: - yych = *++p; - if (yych <= 0x7F) - goto yy267; - if (yych <= 0xBF) - goto yy264; - goto yy267; - yy269: - yych = *++p; - if (yych <= 0x9F) - goto yy267; - if (yych <= 0xBF) - goto yy268; - goto yy267; - yy270: - yych = *++p; - if (yych <= 0x7F) - goto yy267; - if (yych <= 0xBF) - goto yy268; - goto yy267; - yy271: - yych = *++p; - if (yych <= 0x7F) - goto yy267; - if (yych <= 0x9F) - goto yy268; - goto yy267; - yy272: - yych = *++p; - if (yych <= 0x8F) - goto yy267; - if (yych <= 0xBF) - goto yy270; - goto yy267; - yy273: - yych = *++p; - if (yych <= 0x7F) - goto yy267; - if (yych <= 0xBF) - goto yy270; - goto yy267; - yy274: - yych = *++p; - if (yych <= 0x7F) - goto yy267; - if (yych <= 0x8F) - goto yy270; - goto yy267; - } -} - -bufsize_t _scan_html_cdata(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych == 'C') - goto yy277; - if (yych == 'c') - goto yy277; - ++p; - yy276 : { return 0; } - yy277: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'D') - goto yy278; - if (yych != 'd') - goto yy276; - yy278: - yych = *++p; - if (yych == 'A') - goto yy280; - if (yych == 'a') - goto yy280; - yy279: - p = marker; - if (yyaccept == 0) { - goto yy276; - } else { - goto yy284; - } - yy280: - yych = *++p; - if (yych == 'T') - goto yy281; - if (yych != 't') - goto yy279; - yy281: - yych = *++p; - if (yych == 'A') - goto yy282; - if (yych != 'a') - goto yy279; - yy282: - yych = *++p; - if (yych != '[') - goto yy279; - yy283: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy283; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy284; - if (yych <= ']') - goto yy285; - } else { - if (yych <= 0xDF) - goto yy286; - if (yych <= 0xE0) - goto yy287; - goto yy288; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy289; - if (yych <= 0xEF) - goto yy288; - goto yy290; - } else { - if (yych <= 0xF3) - goto yy291; - if (yych <= 0xF4) - goto yy292; - } - } - yy284 : { return (bufsize_t)(p - start); } - yy285: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy283; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy279; - if (yych <= ']') - goto yy293; - goto yy279; - } else { - if (yych <= 0xDF) - goto yy286; - if (yych <= 0xE0) - goto yy287; - goto yy288; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy289; - if (yych <= 0xEF) - goto yy288; - goto yy290; - } else { - if (yych <= 0xF3) - goto yy291; - if (yych <= 0xF4) - goto yy292; - goto yy279; - } - } - yy286: - yych = *++p; - if (yych <= 0x7F) - goto yy279; - if (yych <= 0xBF) - goto yy283; - goto yy279; - yy287: - yych = *++p; - if (yych <= 0x9F) - goto yy279; - if (yych <= 0xBF) - goto yy286; - goto yy279; - yy288: - yych = *++p; - if (yych <= 0x7F) - goto yy279; - if (yych <= 0xBF) - goto yy286; - goto yy279; - yy289: - yych = *++p; - if (yych <= 0x7F) - goto yy279; - if (yych <= 0x9F) - goto yy286; - goto yy279; - yy290: - yych = *++p; - if (yych <= 0x8F) - goto yy279; - if (yych <= 0xBF) - goto yy288; - goto yy279; - yy291: - yych = *++p; - if (yych <= 0x7F) - goto yy279; - if (yych <= 0xBF) - goto yy288; - goto yy279; - yy292: - yych = *++p; - if (yych <= 0x7F) - goto yy279; - if (yych <= 0x8F) - goto yy288; - goto yy279; - yy293: - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) - goto yy279; - if (yych <= '=') - goto yy283; - goto yy279; - } else { - if (yych <= 0x7F) - goto yy283; - if (yych <= 0xC1) - goto yy279; - if (yych <= 0xDF) - goto yy286; - goto yy287; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy289; - goto yy288; - } else { - if (yych <= 0xF0) - goto yy290; - if (yych <= 0xF3) - goto yy291; - if (yych <= 0xF4) - goto yy292; - goto yy279; - } - } - } -} - -// Try to match an HTML block tag start line, returning -// an integer code for the type of block (1-6, matching the spec). -// #7 is handled by a separate function, below. -bufsize_t _scan_html_block_start(const unsigned char *p) { - const unsigned char *marker = NULL; - - { - unsigned char yych; - yych = *p; - if (yych == '<') - goto yy296; - ++p; - yy295 : { return 0; } - yy296: - yych = *(marker = ++p); - switch (yych) { - case '!': - goto yy297; - case '/': - goto yy299; - case '?': - goto yy300; - case 'A': - case 'a': - goto yy301; - case 'B': - case 'b': - goto yy302; - case 'C': - case 'c': - goto yy303; - case 'D': - case 'd': - goto yy304; - case 'F': - case 'f': - goto yy305; - case 'H': - case 'h': - goto yy306; - case 'I': - case 'i': - goto yy307; - case 'L': - case 'l': - goto yy308; - case 'M': - case 'm': - goto yy309; - case 'N': - case 'n': - goto yy310; - case 'O': - case 'o': - goto yy311; - case 'P': - case 'p': - goto yy312; - case 'S': - case 's': - goto yy313; - case 'T': - case 't': - goto yy314; - case 'U': - case 'u': - goto yy315; - default: - goto yy295; - } - yy297: - yych = *++p; - if (yych <= '@') { - if (yych == '-') - goto yy316; - } else { - if (yych <= 'Z') - goto yy317; - if (yych <= '[') - goto yy318; - } - yy298: - p = marker; - goto yy295; - yy299: - yych = *++p; - switch (yych) { - case 'A': - case 'a': - goto yy301; - case 'B': - case 'b': - goto yy302; - case 'C': - case 'c': - goto yy303; - case 'D': - case 'd': - goto yy304; - case 'F': - case 'f': - goto yy305; - case 'H': - case 'h': - goto yy306; - case 'I': - case 'i': - goto yy307; - case 'L': - case 'l': - goto yy308; - case 'M': - case 'm': - goto yy309; - case 'N': - case 'n': - goto yy310; - case 'O': - case 'o': - goto yy311; - case 'P': - case 'p': - goto yy319; - case 'S': - case 's': - goto yy320; - case 'T': - case 't': - goto yy321; - case 'U': - case 'u': - goto yy315; - default: - goto yy298; - } - yy300: - ++p; - { return 3; } - yy301: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= 'C') - goto yy298; - goto yy322; - } else { - if (yych <= 'Q') - goto yy298; - if (yych <= 'R') - goto yy323; - goto yy324; - } - } else { - if (yych <= 'q') { - if (yych == 'd') - goto yy322; - goto yy298; - } else { - if (yych <= 'r') - goto yy323; - if (yych <= 's') - goto yy324; - goto yy298; - } - } - yy302: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'K') { - if (yych == 'A') - goto yy325; - goto yy298; - } else { - if (yych <= 'L') - goto yy326; - if (yych <= 'N') - goto yy298; - goto yy327; - } - } else { - if (yych <= 'k') { - if (yych == 'a') - goto yy325; - goto yy298; - } else { - if (yych <= 'l') - goto yy326; - if (yych == 'o') - goto yy327; - goto yy298; - } - } - yy303: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == 'A') - goto yy328; - goto yy298; - } else { - if (yych <= 'E') - goto yy329; - if (yych <= 'N') - goto yy298; - goto yy330; - } - } else { - if (yych <= 'd') { - if (yych == 'a') - goto yy328; - goto yy298; - } else { - if (yych <= 'e') - goto yy329; - if (yych == 'o') - goto yy330; - goto yy298; - } - } - yy304: - yych = *++p; - switch (yych) { - case 'D': - case 'L': - case 'T': - case 'd': - case 'l': - case 't': - goto yy331; - case 'E': - case 'e': - goto yy332; - case 'I': - case 'i': - goto yy333; - default: - goto yy298; - } - yy305: - yych = *++p; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'I') - goto yy334; - goto yy298; - } else { - if (yych <= 'O') - goto yy335; - if (yych <= 'Q') - goto yy298; - goto yy336; - } - } else { - if (yych <= 'n') { - if (yych == 'i') - goto yy334; - goto yy298; - } else { - if (yych <= 'o') - goto yy335; - if (yych == 'r') - goto yy336; - goto yy298; - } - } - yy306: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= '0') - goto yy298; - if (yych <= '6') - goto yy331; - goto yy298; - } else { - if (yych <= 'E') - goto yy337; - if (yych == 'R') - goto yy331; - goto yy298; - } - } else { - if (yych <= 'q') { - if (yych <= 'T') - goto yy338; - if (yych == 'e') - goto yy337; - goto yy298; - } else { - if (yych <= 'r') - goto yy331; - if (yych == 't') - goto yy338; - goto yy298; - } - } - yy307: - yych = *++p; - if (yych == 'F') - goto yy339; - if (yych == 'f') - goto yy339; - goto yy298; - yy308: - yych = *++p; - if (yych <= 'I') { - if (yych == 'E') - goto yy340; - if (yych <= 'H') - goto yy298; - goto yy341; - } else { - if (yych <= 'e') { - if (yych <= 'd') - goto yy298; - goto yy340; - } else { - if (yych == 'i') - goto yy341; - goto yy298; - } - } - yy309: - yych = *++p; - if (yych <= 'E') { - if (yych == 'A') - goto yy342; - if (yych <= 'D') - goto yy298; - goto yy343; - } else { - if (yych <= 'a') { - if (yych <= '`') - goto yy298; - goto yy342; - } else { - if (yych == 'e') - goto yy343; - goto yy298; - } - } - yy310: - yych = *++p; - if (yych <= 'O') { - if (yych == 'A') - goto yy344; - if (yych <= 'N') - goto yy298; - goto yy345; - } else { - if (yych <= 'a') { - if (yych <= '`') - goto yy298; - goto yy344; - } else { - if (yych == 'o') - goto yy345; - goto yy298; - } - } - yy311: - yych = *++p; - if (yych <= 'P') { - if (yych == 'L') - goto yy331; - if (yych <= 'O') - goto yy298; - goto yy346; - } else { - if (yych <= 'l') { - if (yych <= 'k') - goto yy298; - goto yy331; - } else { - if (yych == 'p') - goto yy346; - goto yy298; - } - } - yy312: - yych = *++p; - if (yych <= '>') { - if (yych <= ' ') { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - if (yych <= 0x1F) - goto yy298; - goto yy347; - } else { - if (yych == '/') - goto yy348; - if (yych <= '=') - goto yy298; - goto yy347; - } - } else { - if (yych <= 'R') { - if (yych == 'A') - goto yy349; - if (yych <= 'Q') - goto yy298; - goto yy350; - } else { - if (yych <= 'a') { - if (yych <= '`') - goto yy298; - goto yy349; - } else { - if (yych == 'r') - goto yy350; - goto yy298; - } - } - } - yy313: - yych = *++p; - switch (yych) { - case 'C': - case 'c': - goto yy351; - case 'E': - case 'e': - goto yy352; - case 'O': - case 'o': - goto yy353; - case 'T': - case 't': - goto yy354; - case 'U': - case 'u': - goto yy355; - default: - goto yy298; - } - yy314: - yych = *++p; - switch (yych) { - case 'A': - case 'a': - goto yy356; - case 'B': - case 'b': - goto yy357; - case 'D': - case 'd': - goto yy331; - case 'E': - case 'e': - goto yy358; - case 'F': - case 'f': - goto yy359; - case 'H': - case 'h': - goto yy360; - case 'I': - case 'i': - goto yy361; - case 'R': - case 'r': - goto yy362; - default: - goto yy298; - } - yy315: - yych = *++p; - if (yych == 'L') - goto yy331; - if (yych == 'l') - goto yy331; - goto yy298; - yy316: - yych = *++p; - if (yych == '-') - goto yy363; - goto yy298; - yy317: - ++p; - { return 4; } - yy318: - yych = *++p; - if (yych == 'C') - goto yy364; - if (yych == 'c') - goto yy364; - goto yy298; - yy319: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= '@') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'A') - goto yy349; - if (yych == 'a') - goto yy349; - goto yy298; - } - } - yy320: - yych = *++p; - if (yych <= 'U') { - if (yych <= 'N') { - if (yych == 'E') - goto yy352; - goto yy298; - } else { - if (yych <= 'O') - goto yy353; - if (yych <= 'T') - goto yy298; - goto yy355; - } - } else { - if (yych <= 'n') { - if (yych == 'e') - goto yy352; - goto yy298; - } else { - if (yych <= 'o') - goto yy353; - if (yych == 'u') - goto yy355; - goto yy298; - } - } - yy321: - yych = *++p; - switch (yych) { - case 'A': - case 'a': - goto yy356; - case 'B': - case 'b': - goto yy357; - case 'D': - case 'd': - goto yy331; - case 'F': - case 'f': - goto yy359; - case 'H': - case 'h': - goto yy360; - case 'I': - case 'i': - goto yy361; - case 'R': - case 'r': - goto yy362; - default: - goto yy298; - } - yy322: - yych = *++p; - if (yych == 'D') - goto yy365; - if (yych == 'd') - goto yy365; - goto yy298; - yy323: - yych = *++p; - if (yych == 'T') - goto yy366; - if (yych == 't') - goto yy366; - goto yy298; - yy324: - yych = *++p; - if (yych == 'I') - goto yy367; - if (yych == 'i') - goto yy367; - goto yy298; - yy325: - yych = *++p; - if (yych == 'S') - goto yy368; - if (yych == 's') - goto yy368; - goto yy298; - yy326: - yych = *++p; - if (yych == 'O') - goto yy369; - if (yych == 'o') - goto yy369; - goto yy298; - yy327: - yych = *++p; - if (yych == 'D') - goto yy370; - if (yych == 'd') - goto yy370; - goto yy298; - yy328: - yych = *++p; - if (yych == 'P') - goto yy371; - if (yych == 'p') - goto yy371; - goto yy298; - yy329: - yych = *++p; - if (yych == 'N') - goto yy372; - if (yych == 'n') - goto yy372; - goto yy298; - yy330: - yych = *++p; - if (yych == 'L') - goto yy373; - if (yych == 'l') - goto yy373; - goto yy298; - yy331: - yych = *++p; - if (yych <= ' ') { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - if (yych <= 0x1F) - goto yy298; - goto yy347; - } else { - if (yych <= '/') { - if (yych <= '.') - goto yy298; - goto yy348; - } else { - if (yych == '>') - goto yy347; - goto yy298; - } - } - yy332: - yych = *++p; - if (yych == 'T') - goto yy374; - if (yych == 't') - goto yy374; - goto yy298; - yy333: - yych = *++p; - if (yych <= 'V') { - if (yych <= 'Q') { - if (yych == 'A') - goto yy375; - goto yy298; - } else { - if (yych <= 'R') - goto yy331; - if (yych <= 'U') - goto yy298; - goto yy331; - } - } else { - if (yych <= 'q') { - if (yych == 'a') - goto yy375; - goto yy298; - } else { - if (yych <= 'r') - goto yy331; - if (yych == 'v') - goto yy331; - goto yy298; - } - } - yy334: - yych = *++p; - if (yych <= 'G') { - if (yych == 'E') - goto yy376; - if (yych <= 'F') - goto yy298; - goto yy377; - } else { - if (yych <= 'e') { - if (yych <= 'd') - goto yy298; - goto yy376; - } else { - if (yych == 'g') - goto yy377; - goto yy298; - } - } - yy335: - yych = *++p; - if (yych <= 'R') { - if (yych == 'O') - goto yy372; - if (yych <= 'Q') - goto yy298; - goto yy378; - } else { - if (yych <= 'o') { - if (yych <= 'n') - goto yy298; - goto yy372; - } else { - if (yych == 'r') - goto yy378; - goto yy298; - } - } - yy336: - yych = *++p; - if (yych == 'A') - goto yy379; - if (yych == 'a') - goto yy379; - goto yy298; - yy337: - yych = *++p; - if (yych == 'A') - goto yy380; - if (yych == 'a') - goto yy380; - goto yy298; - yy338: - yych = *++p; - if (yych == 'M') - goto yy315; - if (yych == 'm') - goto yy315; - goto yy298; - yy339: - yych = *++p; - if (yych == 'R') - goto yy381; - if (yych == 'r') - goto yy381; - goto yy298; - yy340: - yych = *++p; - if (yych == 'G') - goto yy382; - if (yych == 'g') - goto yy382; - goto yy298; - yy341: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'M') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'N') - goto yy383; - if (yych == 'n') - goto yy383; - goto yy298; - } - } - yy342: - yych = *++p; - if (yych == 'I') - goto yy384; - if (yych == 'i') - goto yy384; - goto yy298; - yy343: - yych = *++p; - if (yych == 'N') - goto yy385; - if (yych == 'n') - goto yy385; - goto yy298; - yy344: - yych = *++p; - if (yych == 'V') - goto yy331; - if (yych == 'v') - goto yy331; - goto yy298; - yy345: - yych = *++p; - if (yych == 'F') - goto yy386; - if (yych == 'f') - goto yy386; - goto yy298; - yy346: - yych = *++p; - if (yych == 'T') - goto yy387; - if (yych == 't') - goto yy387; - goto yy298; - yy347: - ++p; - { return 6; } - yy348: - yych = *++p; - if (yych == '>') - goto yy347; - goto yy298; - yy349: - yych = *++p; - if (yych == 'R') - goto yy388; - if (yych == 'r') - goto yy388; - goto yy298; - yy350: - yych = *++p; - if (yych == 'E') - goto yy389; - if (yych == 'e') - goto yy389; - goto yy298; - yy351: - yych = *++p; - if (yych == 'R') - goto yy390; - if (yych == 'r') - goto yy390; - goto yy298; - yy352: - yych = *++p; - if (yych == 'C') - goto yy371; - if (yych == 'c') - goto yy371; - goto yy298; - yy353: - yych = *++p; - if (yych == 'U') - goto yy391; - if (yych == 'u') - goto yy391; - goto yy298; - yy354: - yych = *++p; - if (yych == 'Y') - goto yy392; - if (yych == 'y') - goto yy392; - goto yy298; - yy355: - yych = *++p; - if (yych == 'M') - goto yy393; - if (yych == 'm') - goto yy393; - goto yy298; - yy356: - yych = *++p; - if (yych == 'B') - goto yy394; - if (yych == 'b') - goto yy394; - goto yy298; - yy357: - yych = *++p; - if (yych == 'O') - goto yy327; - if (yych == 'o') - goto yy327; - goto yy298; - yy358: - yych = *++p; - if (yych == 'X') - goto yy395; - if (yych == 'x') - goto yy395; - goto yy298; - yy359: - yych = *++p; - if (yych == 'O') - goto yy396; - if (yych == 'o') - goto yy396; - goto yy298; - yy360: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'D') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'E') - goto yy397; - if (yych == 'e') - goto yy397; - goto yy298; - } - } - yy361: - yych = *++p; - if (yych == 'T') - goto yy394; - if (yych == 't') - goto yy394; - goto yy298; - yy362: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= '@') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'A') - goto yy398; - if (yych == 'a') - goto yy398; - goto yy298; - } - } - yy363: - ++p; - { return 2; } - yy364: - yych = *++p; - if (yych == 'D') - goto yy399; - if (yych == 'd') - goto yy399; - goto yy298; - yy365: - yych = *++p; - if (yych == 'R') - goto yy400; - if (yych == 'r') - goto yy400; - goto yy298; - yy366: - yych = *++p; - if (yych == 'I') - goto yy401; - if (yych == 'i') - goto yy401; - goto yy298; - yy367: - yych = *++p; - if (yych == 'D') - goto yy402; - if (yych == 'd') - goto yy402; - goto yy298; - yy368: - yych = *++p; - if (yych == 'E') - goto yy403; - if (yych == 'e') - goto yy403; - goto yy298; - yy369: - yych = *++p; - if (yych == 'C') - goto yy404; - if (yych == 'c') - goto yy404; - goto yy298; - yy370: - yych = *++p; - if (yych == 'Y') - goto yy331; - if (yych == 'y') - goto yy331; - goto yy298; - yy371: - yych = *++p; - if (yych == 'T') - goto yy405; - if (yych == 't') - goto yy405; - goto yy298; - yy372: - yych = *++p; - if (yych == 'T') - goto yy406; - if (yych == 't') - goto yy406; - goto yy298; - yy373: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'F') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'G') - goto yy407; - if (yych == 'g') - goto yy407; - goto yy298; - } - } - yy374: - yych = *++p; - if (yych == 'A') - goto yy408; - if (yych == 'a') - goto yy408; - goto yy298; - yy375: - yych = *++p; - if (yych == 'L') - goto yy409; - if (yych == 'l') - goto yy409; - goto yy298; - yy376: - yych = *++p; - if (yych == 'L') - goto yy410; - if (yych == 'l') - goto yy410; - goto yy298; - yy377: - yych = *++p; - if (yych <= 'U') { - if (yych == 'C') - goto yy411; - if (yych <= 'T') - goto yy298; - goto yy412; - } else { - if (yych <= 'c') { - if (yych <= 'b') - goto yy298; - goto yy411; - } else { - if (yych == 'u') - goto yy412; - goto yy298; - } - } - yy378: - yych = *++p; - if (yych == 'M') - goto yy331; - if (yych == 'm') - goto yy331; - goto yy298; - yy379: - yych = *++p; - if (yych == 'M') - goto yy413; - if (yych == 'm') - goto yy413; - goto yy298; - yy380: - yych = *++p; - if (yych == 'D') - goto yy414; - if (yych == 'd') - goto yy414; - goto yy298; - yy381: - yych = *++p; - if (yych == 'A') - goto yy415; - if (yych == 'a') - goto yy415; - goto yy298; - yy382: - yych = *++p; - if (yych == 'E') - goto yy416; - if (yych == 'e') - goto yy416; - goto yy298; - yy383: - yych = *++p; - if (yych == 'K') - goto yy331; - if (yych == 'k') - goto yy331; - goto yy298; - yy384: - yych = *++p; - if (yych == 'N') - goto yy331; - if (yych == 'n') - goto yy331; - goto yy298; - yy385: - yych = *++p; - if (yych == 'U') - goto yy417; - if (yych == 'u') - goto yy417; - goto yy298; - yy386: - yych = *++p; - if (yych == 'R') - goto yy418; - if (yych == 'r') - goto yy418; - goto yy298; - yy387: - yych = *++p; - if (yych <= 'I') { - if (yych == 'G') - goto yy407; - if (yych <= 'H') - goto yy298; - goto yy419; - } else { - if (yych <= 'g') { - if (yych <= 'f') - goto yy298; - goto yy407; - } else { - if (yych == 'i') - goto yy419; - goto yy298; - } - } - yy388: - yych = *++p; - if (yych == 'A') - goto yy378; - if (yych == 'a') - goto yy378; - goto yy298; - yy389: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy420; - goto yy298; - } else { - if (yych <= ' ') - goto yy420; - if (yych == '>') - goto yy420; - goto yy298; - } - yy390: - yych = *++p; - if (yych == 'I') - goto yy421; - if (yych == 'i') - goto yy421; - goto yy298; - yy391: - yych = *++p; - if (yych == 'R') - goto yy422; - if (yych == 'r') - goto yy422; - goto yy298; - yy392: - yych = *++p; - if (yych == 'L') - goto yy350; - if (yych == 'l') - goto yy350; - goto yy298; - yy393: - yych = *++p; - if (yych == 'M') - goto yy423; - if (yych == 'm') - goto yy423; - goto yy298; - yy394: - yych = *++p; - if (yych == 'L') - goto yy402; - if (yych == 'l') - goto yy402; - goto yy298; - yy395: - yych = *++p; - if (yych == 'T') - goto yy424; - if (yych == 't') - goto yy424; - goto yy298; - yy396: - yych = *++p; - if (yych == 'O') - goto yy425; - if (yych == 'o') - goto yy425; - goto yy298; - yy397: - yych = *++p; - if (yych == 'A') - goto yy426; - if (yych == 'a') - goto yy426; - goto yy298; - yy398: - yych = *++p; - if (yych == 'C') - goto yy383; - if (yych == 'c') - goto yy383; - goto yy298; - yy399: - yych = *++p; - if (yych == 'A') - goto yy427; - if (yych == 'a') - goto yy427; - goto yy298; - yy400: - yych = *++p; - if (yych == 'E') - goto yy428; - if (yych == 'e') - goto yy428; - goto yy298; - yy401: - yych = *++p; - if (yych == 'C') - goto yy394; - if (yych == 'c') - goto yy394; - goto yy298; - yy402: - yych = *++p; - if (yych == 'E') - goto yy331; - if (yych == 'e') - goto yy331; - goto yy298; - yy403: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'E') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'F') - goto yy429; - if (yych == 'f') - goto yy429; - goto yy298; - } - } - yy404: - yych = *++p; - if (yych == 'K') - goto yy430; - if (yych == 'k') - goto yy430; - goto yy298; - yy405: - yych = *++p; - if (yych == 'I') - goto yy419; - if (yych == 'i') - goto yy419; - goto yy298; - yy406: - yych = *++p; - if (yych == 'E') - goto yy431; - if (yych == 'e') - goto yy431; - goto yy298; - yy407: - yych = *++p; - if (yych == 'R') - goto yy432; - if (yych == 'r') - goto yy432; - goto yy298; - yy408: - yych = *++p; - if (yych == 'I') - goto yy433; - if (yych == 'i') - goto yy433; - goto yy298; - yy409: - yych = *++p; - if (yych == 'O') - goto yy434; - if (yych == 'o') - goto yy434; - goto yy298; - yy410: - yych = *++p; - if (yych == 'D') - goto yy435; - if (yych == 'd') - goto yy435; - goto yy298; - yy411: - yych = *++p; - if (yych == 'A') - goto yy328; - if (yych == 'a') - goto yy328; - goto yy298; - yy412: - yych = *++p; - if (yych == 'R') - goto yy402; - if (yych == 'r') - goto yy402; - goto yy298; - yy413: - yych = *++p; - if (yych == 'E') - goto yy436; - if (yych == 'e') - goto yy436; - goto yy298; - yy414: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'D') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'E') - goto yy431; - if (yych == 'e') - goto yy431; - goto yy298; - } - } - yy415: - yych = *++p; - if (yych == 'M') - goto yy402; - if (yych == 'm') - goto yy402; - goto yy298; - yy416: - yych = *++p; - if (yych == 'N') - goto yy426; - if (yych == 'n') - goto yy426; - goto yy298; - yy417: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'H') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'I') - goto yy437; - if (yych == 'i') - goto yy437; - goto yy298; - } - } - yy418: - yych = *++p; - if (yych == 'A') - goto yy438; - if (yych == 'a') - goto yy438; - goto yy298; - yy419: - yych = *++p; - if (yych == 'O') - goto yy384; - if (yych == 'o') - goto yy384; - goto yy298; - yy420: - ++p; - { return 1; } - yy421: - yych = *++p; - if (yych == 'P') - goto yy439; - if (yych == 'p') - goto yy439; - goto yy298; - yy422: - yych = *++p; - if (yych == 'C') - goto yy402; - if (yych == 'c') - goto yy402; - goto yy298; - yy423: - yych = *++p; - if (yych == 'A') - goto yy440; - if (yych == 'a') - goto yy440; - goto yy298; - yy424: - yych = *++p; - if (yych == 'A') - goto yy441; - if (yych == 'a') - goto yy441; - goto yy298; - yy425: - yych = *++p; - if (yych == 'T') - goto yy331; - if (yych == 't') - goto yy331; - goto yy298; - yy426: - yych = *++p; - if (yych == 'D') - goto yy331; - if (yych == 'd') - goto yy331; - goto yy298; - yy427: - yych = *++p; - if (yych == 'T') - goto yy442; - if (yych == 't') - goto yy442; - goto yy298; - yy428: - yych = *++p; - if (yych == 'S') - goto yy443; - if (yych == 's') - goto yy443; - goto yy298; - yy429: - yych = *++p; - if (yych == 'O') - goto yy444; - if (yych == 'o') - goto yy444; - goto yy298; - yy430: - yych = *++p; - if (yych == 'Q') - goto yy445; - if (yych == 'q') - goto yy445; - goto yy298; - yy431: - yych = *++p; - if (yych == 'R') - goto yy331; - if (yych == 'r') - goto yy331; - goto yy298; - yy432: - yych = *++p; - if (yych == 'O') - goto yy446; - if (yych == 'o') - goto yy446; - goto yy298; - yy433: - yych = *++p; - if (yych == 'L') - goto yy443; - if (yych == 'l') - goto yy443; - goto yy298; - yy434: - yych = *++p; - if (yych == 'G') - goto yy331; - if (yych == 'g') - goto yy331; - goto yy298; - yy435: - yych = *++p; - if (yych == 'S') - goto yy447; - if (yych == 's') - goto yy447; - goto yy298; - yy436: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy298; - if (yych <= '\r') - goto yy347; - goto yy298; - } else { - if (yych <= ' ') - goto yy347; - if (yych <= '.') - goto yy298; - goto yy348; - } - } else { - if (yych <= 'R') { - if (yych == '>') - goto yy347; - goto yy298; - } else { - if (yych <= 'S') - goto yy447; - if (yych == 's') - goto yy447; - goto yy298; - } - } - yy437: - yych = *++p; - if (yych == 'T') - goto yy448; - if (yych == 't') - goto yy448; - goto yy298; - yy438: - yych = *++p; - if (yych == 'M') - goto yy449; - if (yych == 'm') - goto yy449; - goto yy298; - yy439: - yych = *++p; - if (yych == 'T') - goto yy389; - if (yych == 't') - goto yy389; - goto yy298; - yy440: - yych = *++p; - if (yych == 'R') - goto yy370; - if (yych == 'r') - goto yy370; - goto yy298; - yy441: - yych = *++p; - if (yych == 'R') - goto yy450; - if (yych == 'r') - goto yy450; - goto yy298; - yy442: - yych = *++p; - if (yych == 'A') - goto yy451; - if (yych == 'a') - goto yy451; - goto yy298; - yy443: - yych = *++p; - if (yych == 'S') - goto yy331; - if (yych == 's') - goto yy331; - goto yy298; - yy444: - yych = *++p; - if (yych == 'N') - goto yy425; - if (yych == 'n') - goto yy425; - goto yy298; - yy445: - yych = *++p; - if (yych == 'U') - goto yy452; - if (yych == 'u') - goto yy452; - goto yy298; - yy446: - yych = *++p; - if (yych == 'U') - goto yy453; - if (yych == 'u') - goto yy453; - goto yy298; - yy447: - yych = *++p; - if (yych == 'E') - goto yy425; - if (yych == 'e') - goto yy425; - goto yy298; - yy448: - yych = *++p; - if (yych == 'E') - goto yy378; - if (yych == 'e') - goto yy378; - goto yy298; - yy449: - yych = *++p; - if (yych == 'E') - goto yy443; - if (yych == 'e') - goto yy443; - goto yy298; - yy450: - yych = *++p; - if (yych == 'E') - goto yy454; - if (yych == 'e') - goto yy454; - goto yy298; - yy451: - yych = *++p; - if (yych == '[') - goto yy455; - goto yy298; - yy452: - yych = *++p; - if (yych == 'O') - goto yy456; - if (yych == 'o') - goto yy456; - goto yy298; - yy453: - yych = *++p; - if (yych == 'P') - goto yy331; - if (yych == 'p') - goto yy331; - goto yy298; - yy454: - yych = *++p; - if (yych == 'A') - goto yy389; - if (yych == 'a') - goto yy389; - goto yy298; - yy455: - ++p; - { return 5; } - yy456: - yych = *++p; - if (yych == 'T') - goto yy402; - if (yych == 't') - goto yy402; - goto yy298; - } -} - -// Try to match an HTML block tag start line of type 7, returning -// 7 if successful, 0 if not. -bufsize_t _scan_html_block_start_7(const unsigned char *p) { - const unsigned char *marker = NULL; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224, - 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, - 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych == '<') - goto yy459; - ++p; - yy458 : { return 0; } - yy459: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '/') - goto yy458; - } else { - if (yych <= 'Z') - goto yy461; - if (yych <= '`') - goto yy458; - if (yych <= 'z') - goto yy461; - goto yy458; - } - yych = *++p; - if (yych <= '@') - goto yy460; - if (yych <= 'Z') - goto yy462; - if (yych <= '`') - goto yy460; - if (yych <= 'z') - goto yy462; - yy460: - p = marker; - if (yyaccept == 0) { - goto yy458; - } else { - goto yy469; - } - yy461: - yych = *++p; - if (yybm[0 + yych] & 2) { - goto yy463; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') - goto yy461; - goto yy460; - } else { - if (yych <= '/') - goto yy464; - if (yych <= '9') - goto yy461; - goto yy460; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') - goto yy465; - if (yych <= '@') - goto yy460; - goto yy461; - } else { - if (yych <= '`') - goto yy460; - if (yych <= 'z') - goto yy461; - goto yy460; - } - } - yy462: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy460; - if (yych <= '\r') - goto yy466; - goto yy460; - } else { - if (yych <= ' ') - goto yy466; - if (yych == '-') - goto yy462; - goto yy460; - } - } else { - if (yych <= '@') { - if (yych <= '9') - goto yy462; - if (yych == '>') - goto yy465; - goto yy460; - } else { - if (yych <= 'Z') - goto yy462; - if (yych <= '`') - goto yy460; - if (yych <= 'z') - goto yy462; - goto yy460; - } - } - yy463: - yych = *++p; - if (yybm[0 + yych] & 2) { - goto yy463; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych != '/') - goto yy460; - } else { - if (yych <= ':') - goto yy467; - if (yych <= '=') - goto yy460; - goto yy465; - } - } else { - if (yych <= '^') { - if (yych <= '@') - goto yy460; - if (yych <= 'Z') - goto yy467; - goto yy460; - } else { - if (yych == '`') - goto yy460; - if (yych <= 'z') - goto yy467; - goto yy460; - } - } - yy464: - yych = *++p; - if (yych != '>') - goto yy460; - yy465: - yych = *++p; - if (yybm[0 + yych] & 4) { - goto yy465; - } - if (yych <= 0x08) - goto yy460; - if (yych <= '\n') - goto yy468; - if (yych <= '\v') - goto yy460; - if (yych <= '\r') - goto yy470; - goto yy460; - yy466: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) - goto yy460; - if (yych <= '\r') - goto yy466; - goto yy460; - } else { - if (yych <= ' ') - goto yy466; - if (yych == '>') - goto yy465; - goto yy460; - } - yy467: - yych = *++p; - if (yybm[0 + yych] & 8) { - goto yy467; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) - goto yy460; - goto yy471; - } else { - if (yych == ' ') - goto yy471; - goto yy460; - } - } else { - if (yych <= '<') { - if (yych <= '/') - goto yy464; - goto yy460; - } else { - if (yych <= '=') - goto yy472; - if (yych <= '>') - goto yy465; - goto yy460; - } - } - yy468: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 4) { - goto yy465; - } - if (yych <= 0x08) - goto yy469; - if (yych <= '\n') - goto yy468; - if (yych <= '\v') - goto yy469; - if (yych <= '\r') - goto yy470; - yy469 : { return 7; } - yy470: - ++p; - goto yy469; - yy471: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) - goto yy460; - if (yych <= '\r') - goto yy471; - if (yych <= 0x1F) - goto yy460; - goto yy471; - } else { - if (yych <= '/') { - if (yych <= '.') - goto yy460; - goto yy464; - } else { - if (yych == ':') - goto yy467; - goto yy460; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') - goto yy472; - if (yych <= '>') - goto yy465; - if (yych <= '@') - goto yy460; - goto yy467; - } else { - if (yych <= '_') { - if (yych <= '^') - goto yy460; - goto yy467; - } else { - if (yych <= '`') - goto yy460; - if (yych <= 'z') - goto yy467; - goto yy460; - } - } - } - yy472: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy473; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) - goto yy460; - if (yych <= ' ') - goto yy472; - goto yy474; - } else { - if (yych <= '\'') - goto yy475; - if (yych <= 0xC1) - goto yy460; - if (yych <= 0xDF) - goto yy476; - goto yy477; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy479; - goto yy478; - } else { - if (yych <= 0xF0) - goto yy480; - if (yych <= 0xF3) - goto yy481; - if (yych <= 0xF4) - goto yy482; - goto yy460; - } - } - yy473: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy473; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) - goto yy460; - if (yych <= ' ') - goto yy463; - goto yy460; - } else { - if (yych <= '>') - goto yy465; - if (yych <= 0xC1) - goto yy460; - if (yych <= 0xDF) - goto yy476; - goto yy477; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy479; - goto yy478; - } else { - if (yych <= 0xF0) - goto yy480; - if (yych <= 0xF3) - goto yy481; - if (yych <= 0xF4) - goto yy482; - goto yy460; - } - } - yy474: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy474; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy460; - if (yych <= '"') - goto yy483; - goto yy460; - } else { - if (yych <= 0xDF) - goto yy484; - if (yych <= 0xE0) - goto yy485; - goto yy486; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy487; - if (yych <= 0xEF) - goto yy486; - goto yy488; - } else { - if (yych <= 0xF3) - goto yy489; - if (yych <= 0xF4) - goto yy490; - goto yy460; - } - } - yy475: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy475; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy460; - if (yych <= '\'') - goto yy483; - goto yy460; - } else { - if (yych <= 0xDF) - goto yy491; - if (yych <= 0xE0) - goto yy492; - goto yy493; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy494; - if (yych <= 0xEF) - goto yy493; - goto yy495; - } else { - if (yych <= 0xF3) - goto yy496; - if (yych <= 0xF4) - goto yy497; - goto yy460; - } - } - yy476: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy473; - goto yy460; - yy477: - yych = *++p; - if (yych <= 0x9F) - goto yy460; - if (yych <= 0xBF) - goto yy476; - goto yy460; - yy478: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy476; - goto yy460; - yy479: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0x9F) - goto yy476; - goto yy460; - yy480: - yych = *++p; - if (yych <= 0x8F) - goto yy460; - if (yych <= 0xBF) - goto yy478; - goto yy460; - yy481: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy478; - goto yy460; - yy482: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0x8F) - goto yy478; - goto yy460; - yy483: - yych = *++p; - if (yybm[0 + yych] & 2) { - goto yy463; - } - if (yych == '/') - goto yy464; - if (yych == '>') - goto yy465; - goto yy460; - yy484: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy474; - goto yy460; - yy485: - yych = *++p; - if (yych <= 0x9F) - goto yy460; - if (yych <= 0xBF) - goto yy484; - goto yy460; - yy486: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy484; - goto yy460; - yy487: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0x9F) - goto yy484; - goto yy460; - yy488: - yych = *++p; - if (yych <= 0x8F) - goto yy460; - if (yych <= 0xBF) - goto yy486; - goto yy460; - yy489: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy486; - goto yy460; - yy490: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0x8F) - goto yy486; - goto yy460; - yy491: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy475; - goto yy460; - yy492: - yych = *++p; - if (yych <= 0x9F) - goto yy460; - if (yych <= 0xBF) - goto yy491; - goto yy460; - yy493: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy491; - goto yy460; - yy494: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0x9F) - goto yy491; - goto yy460; - yy495: - yych = *++p; - if (yych <= 0x8F) - goto yy460; - if (yych <= 0xBF) - goto yy493; - goto yy460; - yy496: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0xBF) - goto yy493; - goto yy460; - yy497: - yych = *++p; - if (yych <= 0x7F) - goto yy460; - if (yych <= 0x8F) - goto yy493; - goto yy460; - } -} - -// Try to match an HTML block end line of type 1 -bufsize_t _scan_html_block_end_1(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= ';') { - if (yych <= 0x00) - goto yy499; - if (yych != '\n') - goto yy501; - } else { - if (yych <= '<') - goto yy502; - if (yych <= 0x7F) - goto yy501; - if (yych >= 0xC2) - goto yy503; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy504; - if (yych == 0xED) - goto yy506; - goto yy505; - } else { - if (yych <= 0xF0) - goto yy507; - if (yych <= 0xF3) - goto yy508; - if (yych <= 0xF4) - goto yy509; - } - } - yy499: - ++p; - yy500 : { return 0; } - yy501: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) - goto yy500; - if (yych <= '\t') - goto yy511; - goto yy500; - } else { - if (yych <= 0x7F) - goto yy511; - if (yych <= 0xC1) - goto yy500; - if (yych <= 0xF4) - goto yy511; - goto yy500; - } - yy502: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x00) - goto yy500; - if (yych == '\n') - goto yy500; - goto yy511; - } else { - if (yych <= 0x7F) { - if (yych <= '/') - goto yy521; - goto yy511; - } else { - if (yych <= 0xC1) - goto yy500; - if (yych <= 0xF4) - goto yy511; - goto yy500; - } - } - yy503: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy500; - if (yych <= 0xBF) - goto yy510; - goto yy500; - yy504: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy500; - if (yych <= 0xBF) - goto yy514; - goto yy500; - yy505: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy500; - if (yych <= 0xBF) - goto yy514; - goto yy500; - yy506: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy500; - if (yych <= 0x9F) - goto yy514; - goto yy500; - yy507: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy500; - if (yych <= 0xBF) - goto yy516; - goto yy500; - yy508: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy500; - if (yych <= 0xBF) - goto yy516; - goto yy500; - yy509: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy500; - if (yych <= 0x8F) - goto yy516; - goto yy500; - yy510: - yych = *++p; - yy511: - if (yybm[0 + yych] & 64) { - goto yy510; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy512; - if (yych <= '<') - goto yy513; - } else { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - goto yy516; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy517; - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - } - } - yy512: - p = marker; - if (yyaccept == 0) { - goto yy500; - } else { - goto yy534; - } - yy513: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xDF) { - if (yych <= '.') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= '/') - goto yy521; - if (yych <= 0x7F) - goto yy510; - if (yych <= 0xC1) - goto yy512; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy515; - if (yych == 0xED) - goto yy517; - goto yy516; - } else { - if (yych <= 0xF0) - goto yy518; - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - yy514: - yych = *++p; - if (yych <= 0x7F) - goto yy512; - if (yych <= 0xBF) - goto yy510; - goto yy512; - yy515: - yych = *++p; - if (yych <= 0x9F) - goto yy512; - if (yych <= 0xBF) - goto yy514; - goto yy512; - yy516: - yych = *++p; - if (yych <= 0x7F) - goto yy512; - if (yych <= 0xBF) - goto yy514; - goto yy512; - yy517: - yych = *++p; - if (yych <= 0x7F) - goto yy512; - if (yych <= 0x9F) - goto yy514; - goto yy512; - yy518: - yych = *++p; - if (yych <= 0x8F) - goto yy512; - if (yych <= 0xBF) - goto yy516; - goto yy512; - yy519: - yych = *++p; - if (yych <= 0x7F) - goto yy512; - if (yych <= 0xBF) - goto yy516; - goto yy512; - yy520: - yych = *++p; - if (yych <= 0x7F) - goto yy512; - if (yych <= 0x8F) - goto yy516; - goto yy512; - yy521: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 's') { - if (yych <= 'R') { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy512; - if (yych <= '\t') - goto yy510; - goto yy512; - } else { - if (yych != 'P') - goto yy510; - } - } else { - if (yych <= 'o') { - if (yych <= 'S') - goto yy523; - if (yych <= 'T') - goto yy524; - goto yy510; - } else { - if (yych <= 'p') - goto yy522; - if (yych <= 'r') - goto yy510; - goto yy523; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 't') - goto yy524; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } else { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - goto yy516; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy517; - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy522: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'q') { - if (yych <= 'R') - goto yy525; - goto yy510; - } else { - if (yych <= 'r') - goto yy525; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy523: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 't') { - if (yych <= 'C') { - if (yych <= '\t') { - if (yych <= 0x00) - goto yy512; - goto yy510; - } else { - if (yych <= '\n') - goto yy512; - if (yych <= 'B') - goto yy510; - goto yy526; - } - } else { - if (yych <= 'b') { - if (yych == 'T') - goto yy527; - goto yy510; - } else { - if (yych <= 'c') - goto yy526; - if (yych <= 's') - goto yy510; - goto yy527; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) - goto yy510; - goto yy512; - } else { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - goto yy516; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy517; - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy524: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'D') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'd') { - if (yych <= 'E') - goto yy528; - goto yy510; - } else { - if (yych <= 'e') - goto yy528; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy525: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'D') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'd') { - if (yych <= 'E') - goto yy529; - goto yy510; - } else { - if (yych <= 'e') - goto yy529; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy526: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'q') { - if (yych <= 'R') - goto yy530; - goto yy510; - } else { - if (yych <= 'r') - goto yy530; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy527: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'X') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'x') { - if (yych <= 'Y') - goto yy531; - goto yy510; - } else { - if (yych <= 'y') - goto yy531; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy528: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'W') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'w') { - if (yych <= 'X') - goto yy532; - goto yy510; - } else { - if (yych <= 'x') - goto yy532; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy529: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= '>') - goto yy533; - if (yych <= 0x7F) - goto yy510; - if (yych <= 0xC1) - goto yy512; - goto yy514; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy515; - if (yych == 0xED) - goto yy517; - goto yy516; - } else { - if (yych <= 0xF0) - goto yy518; - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - yy530: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'H') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'h') { - if (yych <= 'I') - goto yy535; - goto yy510; - } else { - if (yych <= 'i') - goto yy535; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy531: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'K') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'k') { - if (yych <= 'L') - goto yy525; - goto yy510; - } else { - if (yych <= 'l') - goto yy525; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy532: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'S') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 's') { - if (yych <= 'T') - goto yy536; - goto yy510; - } else { - if (yych <= 't') - goto yy536; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy533: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy510; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy534; - if (yych <= '<') - goto yy513; - } else { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - goto yy516; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy517; - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - } - } - yy534 : { return (bufsize_t)(p - start); } - yy535: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'O') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'o') { - if (yych <= 'P') - goto yy537; - goto yy510; - } else { - if (yych <= 'p') - goto yy537; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy536: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= '@') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= '`') { - if (yych <= 'A') - goto yy538; - goto yy510; - } else { - if (yych <= 'a') - goto yy538; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy537: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'S') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 's') { - if (yych <= 'T') - goto yy529; - goto yy510; - } else { - if (yych <= 't') - goto yy529; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy538: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'q') { - if (yych >= 'S') - goto yy510; - } else { - if (yych <= 'r') - goto yy539; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy539: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= 'D') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= 'd') { - if (yych >= 'F') - goto yy510; - } else { - if (yych <= 'e') - goto yy540; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - yy540: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy513; - } - if (yych <= 0xC1) { - if (yych <= '@') { - if (yych <= 0x00) - goto yy512; - if (yych == '\n') - goto yy512; - goto yy510; - } else { - if (yych <= '`') { - if (yych <= 'A') - goto yy529; - goto yy510; - } else { - if (yych <= 'a') - goto yy529; - if (yych <= 0x7F) - goto yy510; - goto yy512; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) - goto yy514; - if (yych <= 0xE0) - goto yy515; - if (yych <= 0xEC) - goto yy516; - goto yy517; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) - goto yy516; - goto yy518; - } else { - if (yych <= 0xF3) - goto yy519; - if (yych <= 0xF4) - goto yy520; - goto yy512; - } - } - } - } -} - -// Try to match an HTML block end line of type 2 -bufsize_t _scan_html_block_end_2(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= ',') { - if (yych <= 0x00) - goto yy542; - if (yych != '\n') - goto yy544; - } else { - if (yych <= '-') - goto yy545; - if (yych <= 0x7F) - goto yy544; - if (yych >= 0xC2) - goto yy546; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy547; - if (yych == 0xED) - goto yy549; - goto yy548; - } else { - if (yych <= 0xF0) - goto yy550; - if (yych <= 0xF3) - goto yy551; - if (yych <= 0xF4) - goto yy552; - } - } - yy542: - ++p; - yy543 : { return 0; } - yy544: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) - goto yy543; - if (yych <= '\t') - goto yy554; - goto yy543; - } else { - if (yych <= 0x7F) - goto yy554; - if (yych <= 0xC1) - goto yy543; - if (yych <= 0xF4) - goto yy554; - goto yy543; - } - yy545: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy564; - } - if (yych <= '\n') { - if (yych <= 0x00) - goto yy543; - if (yych <= '\t') - goto yy554; - goto yy543; - } else { - if (yych <= 0x7F) - goto yy554; - if (yych <= 0xC1) - goto yy543; - if (yych <= 0xF4) - goto yy554; - goto yy543; - } - yy546: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy543; - if (yych <= 0xBF) - goto yy553; - goto yy543; - yy547: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy543; - if (yych <= 0xBF) - goto yy557; - goto yy543; - yy548: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy543; - if (yych <= 0xBF) - goto yy557; - goto yy543; - yy549: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy543; - if (yych <= 0x9F) - goto yy557; - goto yy543; - yy550: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy543; - if (yych <= 0xBF) - goto yy559; - goto yy543; - yy551: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy543; - if (yych <= 0xBF) - goto yy559; - goto yy543; - yy552: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy543; - if (yych <= 0x8F) - goto yy559; - goto yy543; - yy553: - yych = *++p; - yy554: - if (yybm[0 + yych] & 64) { - goto yy553; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy555; - if (yych <= '-') - goto yy556; - } else { - if (yych <= 0xDF) - goto yy557; - if (yych <= 0xE0) - goto yy558; - goto yy559; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy560; - if (yych <= 0xEF) - goto yy559; - goto yy561; - } else { - if (yych <= 0xF3) - goto yy562; - if (yych <= 0xF4) - goto yy563; - } - } - yy555: - p = marker; - if (yyaccept == 0) { - goto yy543; - } else { - goto yy566; - } - yy556: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy553; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy555; - if (yych <= '-') - goto yy564; - goto yy555; - } else { - if (yych <= 0xDF) - goto yy557; - if (yych <= 0xE0) - goto yy558; - goto yy559; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy560; - if (yych <= 0xEF) - goto yy559; - goto yy561; - } else { - if (yych <= 0xF3) - goto yy562; - if (yych <= 0xF4) - goto yy563; - goto yy555; - } - } - yy557: - yych = *++p; - if (yych <= 0x7F) - goto yy555; - if (yych <= 0xBF) - goto yy553; - goto yy555; - yy558: - yych = *++p; - if (yych <= 0x9F) - goto yy555; - if (yych <= 0xBF) - goto yy557; - goto yy555; - yy559: - yych = *++p; - if (yych <= 0x7F) - goto yy555; - if (yych <= 0xBF) - goto yy557; - goto yy555; - yy560: - yych = *++p; - if (yych <= 0x7F) - goto yy555; - if (yych <= 0x9F) - goto yy557; - goto yy555; - yy561: - yych = *++p; - if (yych <= 0x8F) - goto yy555; - if (yych <= 0xBF) - goto yy559; - goto yy555; - yy562: - yych = *++p; - if (yych <= 0x7F) - goto yy555; - if (yych <= 0xBF) - goto yy559; - goto yy555; - yy563: - yych = *++p; - if (yych <= 0x7F) - goto yy555; - if (yych <= 0x8F) - goto yy559; - goto yy555; - yy564: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy564; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) - goto yy555; - if (yych == '\n') - goto yy555; - goto yy553; - } else { - if (yych <= '>') - goto yy565; - if (yych <= 0x7F) - goto yy553; - if (yych <= 0xC1) - goto yy555; - goto yy557; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy558; - if (yych == 0xED) - goto yy560; - goto yy559; - } else { - if (yych <= 0xF0) - goto yy561; - if (yych <= 0xF3) - goto yy562; - if (yych <= 0xF4) - goto yy563; - goto yy555; - } - } - yy565: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy553; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy566; - if (yych <= '-') - goto yy556; - } else { - if (yych <= 0xDF) - goto yy557; - if (yych <= 0xE0) - goto yy558; - goto yy559; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy560; - if (yych <= 0xEF) - goto yy559; - goto yy561; - } else { - if (yych <= 0xF3) - goto yy562; - if (yych <= 0xF4) - goto yy563; - } - } - yy566 : { return (bufsize_t)(p - start); } - } -} - -// Try to match an HTML block end line of type 3 -bufsize_t _scan_html_block_end_3(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '>') { - if (yych <= 0x00) - goto yy568; - if (yych != '\n') - goto yy570; - } else { - if (yych <= '?') - goto yy571; - if (yych <= 0x7F) - goto yy570; - if (yych >= 0xC2) - goto yy572; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy573; - if (yych == 0xED) - goto yy575; - goto yy574; - } else { - if (yych <= 0xF0) - goto yy576; - if (yych <= 0xF3) - goto yy577; - if (yych <= 0xF4) - goto yy578; - } - } - yy568: - ++p; - yy569 : { return 0; } - yy570: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) - goto yy569; - if (yych <= '\t') - goto yy580; - goto yy569; - } else { - if (yych <= 0x7F) - goto yy580; - if (yych <= 0xC1) - goto yy569; - if (yych <= 0xF4) - goto yy580; - goto yy569; - } - yy571: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '=') { - if (yych <= 0x00) - goto yy569; - if (yych == '\n') - goto yy569; - goto yy580; - } else { - if (yych <= 0x7F) { - if (yych <= '>') - goto yy590; - goto yy580; - } else { - if (yych <= 0xC1) - goto yy569; - if (yych <= 0xF4) - goto yy580; - goto yy569; - } - } - yy572: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy569; - if (yych <= 0xBF) - goto yy579; - goto yy569; - yy573: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy569; - if (yych <= 0xBF) - goto yy583; - goto yy569; - yy574: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy569; - if (yych <= 0xBF) - goto yy583; - goto yy569; - yy575: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy569; - if (yych <= 0x9F) - goto yy583; - goto yy569; - yy576: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy569; - if (yych <= 0xBF) - goto yy585; - goto yy569; - yy577: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy569; - if (yych <= 0xBF) - goto yy585; - goto yy569; - yy578: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy569; - if (yych <= 0x8F) - goto yy585; - goto yy569; - yy579: - yych = *++p; - yy580: - if (yybm[0 + yych] & 64) { - goto yy579; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy581; - if (yych <= '?') - goto yy582; - } else { - if (yych <= 0xDF) - goto yy583; - if (yych <= 0xE0) - goto yy584; - goto yy585; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy586; - if (yych <= 0xEF) - goto yy585; - goto yy587; - } else { - if (yych <= 0xF3) - goto yy588; - if (yych <= 0xF4) - goto yy589; - } - } - yy581: - p = marker; - if (yyaccept == 0) { - goto yy569; - } else { - goto yy591; - } - yy582: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy582; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) - goto yy581; - if (yych == '\n') - goto yy581; - goto yy579; - } else { - if (yych <= '>') - goto yy590; - if (yych <= 0x7F) - goto yy579; - if (yych <= 0xC1) - goto yy581; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy584; - if (yych == 0xED) - goto yy586; - goto yy585; - } else { - if (yych <= 0xF0) - goto yy587; - if (yych <= 0xF3) - goto yy588; - if (yych <= 0xF4) - goto yy589; - goto yy581; - } - } - yy583: - yych = *++p; - if (yych <= 0x7F) - goto yy581; - if (yych <= 0xBF) - goto yy579; - goto yy581; - yy584: - yych = *++p; - if (yych <= 0x9F) - goto yy581; - if (yych <= 0xBF) - goto yy583; - goto yy581; - yy585: - yych = *++p; - if (yych <= 0x7F) - goto yy581; - if (yych <= 0xBF) - goto yy583; - goto yy581; - yy586: - yych = *++p; - if (yych <= 0x7F) - goto yy581; - if (yych <= 0x9F) - goto yy583; - goto yy581; - yy587: - yych = *++p; - if (yych <= 0x8F) - goto yy581; - if (yych <= 0xBF) - goto yy585; - goto yy581; - yy588: - yych = *++p; - if (yych <= 0x7F) - goto yy581; - if (yych <= 0xBF) - goto yy585; - goto yy581; - yy589: - yych = *++p; - if (yych <= 0x7F) - goto yy581; - if (yych <= 0x8F) - goto yy585; - goto yy581; - yy590: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy579; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy591; - if (yych <= '?') - goto yy582; - } else { - if (yych <= 0xDF) - goto yy583; - if (yych <= 0xE0) - goto yy584; - goto yy585; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy586; - if (yych <= 0xEF) - goto yy585; - goto yy587; - } else { - if (yych <= 0xF3) - goto yy588; - if (yych <= 0xF4) - goto yy589; - } - } - yy591 : { return (bufsize_t)(p - start); } - } -} - -// Try to match an HTML block end line of type 4 -bufsize_t _scan_html_block_end_4(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0 + yych] & 64) { - goto yy596; - } - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) - goto yy593; - if (yych <= '\t') - goto yy595; - } else { - if (yych <= 0x7F) - goto yy595; - if (yych <= 0xC1) - goto yy593; - if (yych <= 0xDF) - goto yy598; - goto yy599; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy601; - goto yy600; - } else { - if (yych <= 0xF0) - goto yy602; - if (yych <= 0xF3) - goto yy603; - if (yych <= 0xF4) - goto yy604; - } - } - yy593: - ++p; - yy594 : { return 0; } - yy595: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) - goto yy594; - if (yych <= '\t') - goto yy606; - goto yy594; - } else { - if (yych <= 0x7F) - goto yy606; - if (yych <= 0xC1) - goto yy594; - if (yych <= 0xF4) - goto yy606; - goto yy594; - } - yy596: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy605; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy597; - if (yych <= '>') - goto yy596; - } else { - if (yych <= 0xDF) - goto yy608; - if (yych <= 0xE0) - goto yy609; - goto yy610; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy611; - if (yych <= 0xEF) - goto yy610; - goto yy612; - } else { - if (yych <= 0xF3) - goto yy613; - if (yych <= 0xF4) - goto yy614; - } - } - yy597 : { return (bufsize_t)(p - start); } - yy598: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy594; - if (yych <= 0xBF) - goto yy605; - goto yy594; - yy599: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy594; - if (yych <= 0xBF) - goto yy608; - goto yy594; - yy600: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy594; - if (yych <= 0xBF) - goto yy608; - goto yy594; - yy601: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy594; - if (yych <= 0x9F) - goto yy608; - goto yy594; - yy602: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy594; - if (yych <= 0xBF) - goto yy610; - goto yy594; - yy603: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy594; - if (yych <= 0xBF) - goto yy610; - goto yy594; - yy604: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy594; - if (yych <= 0x8F) - goto yy610; - goto yy594; - yy605: - yych = *++p; - yy606: - if (yybm[0 + yych] & 128) { - goto yy605; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy607; - if (yych <= '>') - goto yy596; - } else { - if (yych <= 0xDF) - goto yy608; - if (yych <= 0xE0) - goto yy609; - goto yy610; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy611; - if (yych <= 0xEF) - goto yy610; - goto yy612; - } else { - if (yych <= 0xF3) - goto yy613; - if (yych <= 0xF4) - goto yy614; - } - } - yy607: - p = marker; - if (yyaccept == 0) { - goto yy594; - } else { - goto yy597; - } - yy608: - yych = *++p; - if (yych <= 0x7F) - goto yy607; - if (yych <= 0xBF) - goto yy605; - goto yy607; - yy609: - yych = *++p; - if (yych <= 0x9F) - goto yy607; - if (yych <= 0xBF) - goto yy608; - goto yy607; - yy610: - yych = *++p; - if (yych <= 0x7F) - goto yy607; - if (yych <= 0xBF) - goto yy608; - goto yy607; - yy611: - yych = *++p; - if (yych <= 0x7F) - goto yy607; - if (yych <= 0x9F) - goto yy608; - goto yy607; - yy612: - yych = *++p; - if (yych <= 0x8F) - goto yy607; - if (yych <= 0xBF) - goto yy610; - goto yy607; - yy613: - yych = *++p; - if (yych <= 0x7F) - goto yy607; - if (yych <= 0xBF) - goto yy610; - goto yy607; - yy614: - yych = *++p; - if (yych <= 0x7F) - goto yy607; - if (yych <= 0x8F) - goto yy610; - goto yy607; - } -} - -// Try to match an HTML block end line of type 5 -bufsize_t _scan_html_block_end_5(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy616; - if (yych != '\n') - goto yy618; - } else { - if (yych <= ']') - goto yy619; - if (yych <= 0x7F) - goto yy618; - if (yych >= 0xC2) - goto yy620; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy621; - if (yych == 0xED) - goto yy623; - goto yy622; - } else { - if (yych <= 0xF0) - goto yy624; - if (yych <= 0xF3) - goto yy625; - if (yych <= 0xF4) - goto yy626; - } - } - yy616: - ++p; - yy617 : { return 0; } - yy618: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) - goto yy617; - if (yych <= '\t') - goto yy628; - goto yy617; - } else { - if (yych <= 0x7F) - goto yy628; - if (yych <= 0xC1) - goto yy617; - if (yych <= 0xF4) - goto yy628; - goto yy617; - } - yy619: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy638; - } - if (yych <= '\n') { - if (yych <= 0x00) - goto yy617; - if (yych <= '\t') - goto yy628; - goto yy617; - } else { - if (yych <= 0x7F) - goto yy628; - if (yych <= 0xC1) - goto yy617; - if (yych <= 0xF4) - goto yy628; - goto yy617; - } - yy620: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy617; - if (yych <= 0xBF) - goto yy627; - goto yy617; - yy621: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) - goto yy617; - if (yych <= 0xBF) - goto yy631; - goto yy617; - yy622: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy617; - if (yych <= 0xBF) - goto yy631; - goto yy617; - yy623: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy617; - if (yych <= 0x9F) - goto yy631; - goto yy617; - yy624: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) - goto yy617; - if (yych <= 0xBF) - goto yy633; - goto yy617; - yy625: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy617; - if (yych <= 0xBF) - goto yy633; - goto yy617; - yy626: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) - goto yy617; - if (yych <= 0x8F) - goto yy633; - goto yy617; - yy627: - yych = *++p; - yy628: - if (yybm[0 + yych] & 64) { - goto yy627; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy629; - if (yych <= ']') - goto yy630; - } else { - if (yych <= 0xDF) - goto yy631; - if (yych <= 0xE0) - goto yy632; - goto yy633; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy634; - if (yych <= 0xEF) - goto yy633; - goto yy635; - } else { - if (yych <= 0xF3) - goto yy636; - if (yych <= 0xF4) - goto yy637; - } - } - yy629: - p = marker; - if (yyaccept == 0) { - goto yy617; - } else { - goto yy640; - } - yy630: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy627; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy629; - if (yych <= ']') - goto yy638; - goto yy629; - } else { - if (yych <= 0xDF) - goto yy631; - if (yych <= 0xE0) - goto yy632; - goto yy633; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy634; - if (yych <= 0xEF) - goto yy633; - goto yy635; - } else { - if (yych <= 0xF3) - goto yy636; - if (yych <= 0xF4) - goto yy637; - goto yy629; - } - } - yy631: - yych = *++p; - if (yych <= 0x7F) - goto yy629; - if (yych <= 0xBF) - goto yy627; - goto yy629; - yy632: - yych = *++p; - if (yych <= 0x9F) - goto yy629; - if (yych <= 0xBF) - goto yy631; - goto yy629; - yy633: - yych = *++p; - if (yych <= 0x7F) - goto yy629; - if (yych <= 0xBF) - goto yy631; - goto yy629; - yy634: - yych = *++p; - if (yych <= 0x7F) - goto yy629; - if (yych <= 0x9F) - goto yy631; - goto yy629; - yy635: - yych = *++p; - if (yych <= 0x8F) - goto yy629; - if (yych <= 0xBF) - goto yy633; - goto yy629; - yy636: - yych = *++p; - if (yych <= 0x7F) - goto yy629; - if (yych <= 0xBF) - goto yy633; - goto yy629; - yy637: - yych = *++p; - if (yych <= 0x7F) - goto yy629; - if (yych <= 0x8F) - goto yy633; - goto yy629; - yy638: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy638; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) - goto yy629; - if (yych == '\n') - goto yy629; - goto yy627; - } else { - if (yych <= '>') - goto yy639; - if (yych <= 0x7F) - goto yy627; - if (yych <= 0xC1) - goto yy629; - goto yy631; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy632; - if (yych == 0xED) - goto yy634; - goto yy633; - } else { - if (yych <= 0xF0) - goto yy635; - if (yych <= 0xF3) - goto yy636; - if (yych <= 0xF4) - goto yy637; - goto yy629; - } - } - yy639: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy627; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') - goto yy640; - if (yych <= ']') - goto yy630; - } else { - if (yych <= 0xDF) - goto yy631; - if (yych <= 0xE0) - goto yy632; - goto yy633; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy634; - if (yych <= 0xEF) - goto yy633; - goto yy635; - } else { - if (yych <= 0xF3) - goto yy636; - if (yych <= 0xF4) - goto yy637; - } - } - yy640 : { return (bufsize_t)(p - start); } - } -} - -// Try to match a link title (in single quotes, in double quotes, or -// in parentheses), returning number of chars matched. Allow one -// level of internal nesting (quotes within quotes). -bufsize_t _scan_link_title(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '&') { - if (yych == '"') - goto yy643; - } else { - if (yych <= '\'') - goto yy644; - if (yych <= '(') - goto yy645; - } - ++p; - yy642 : { return 0; } - yy643: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) - goto yy642; - if (yych <= 0x7F) - goto yy647; - if (yych <= 0xC1) - goto yy642; - if (yych <= 0xF4) - goto yy647; - goto yy642; - yy644: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) - goto yy642; - if (yych <= 0x7F) - goto yy660; - if (yych <= 0xC1) - goto yy642; - if (yych <= 0xF4) - goto yy660; - goto yy642; - yy645: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '(') { - if (yych <= 0x00) - goto yy642; - if (yych <= '\'') - goto yy672; - goto yy642; - } else { - if (yych <= 0x7F) - goto yy672; - if (yych <= 0xC1) - goto yy642; - if (yych <= 0xF4) - goto yy672; - goto yy642; - } - yy646: - yych = *++p; - yy647: - if (yybm[0 + yych] & 16) { - goto yy646; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy648; - if (yych <= '"') - goto yy649; - goto yy651; - } else { - if (yych <= 0xC1) - goto yy648; - if (yych <= 0xDF) - goto yy652; - goto yy653; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy655; - goto yy654; - } else { - if (yych <= 0xF0) - goto yy656; - if (yych <= 0xF3) - goto yy657; - if (yych <= 0xF4) - goto yy658; - } - } - yy648: - p = marker; - if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy642; - } else { - goto yy650; - } - } else { - if (yyaccept == 2) { - goto yy662; - } else { - goto yy674; - } - } - yy649: - ++p; - yy650 : { return (bufsize_t)(p - start); } - yy651: - yych = *++p; - if (yybm[0 + yych] & 16) { - goto yy646; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy648; - if (yych <= '"') - goto yy683; - goto yy651; - } else { - if (yych <= 0xC1) - goto yy648; - if (yych >= 0xE0) - goto yy653; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy655; - goto yy654; - } else { - if (yych <= 0xF0) - goto yy656; - if (yych <= 0xF3) - goto yy657; - if (yych <= 0xF4) - goto yy658; - goto yy648; - } - } - yy652: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy646; - goto yy648; - yy653: - yych = *++p; - if (yych <= 0x9F) - goto yy648; - if (yych <= 0xBF) - goto yy652; - goto yy648; - yy654: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy652; - goto yy648; - yy655: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0x9F) - goto yy652; - goto yy648; - yy656: - yych = *++p; - if (yych <= 0x8F) - goto yy648; - if (yych <= 0xBF) - goto yy654; - goto yy648; - yy657: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy654; - goto yy648; - yy658: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0x8F) - goto yy654; - goto yy648; - yy659: - yych = *++p; - yy660: - if (yybm[0 + yych] & 64) { - goto yy659; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy648; - if (yych >= '(') - goto yy663; - } else { - if (yych <= 0xC1) - goto yy648; - if (yych <= 0xDF) - goto yy664; - goto yy665; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy667; - goto yy666; - } else { - if (yych <= 0xF0) - goto yy668; - if (yych <= 0xF3) - goto yy669; - if (yych <= 0xF4) - goto yy670; - goto yy648; - } - } - yy661: - ++p; - yy662 : { return (bufsize_t)(p - start); } - yy663: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy659; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy648; - if (yych <= '\'') - goto yy684; - goto yy663; - } else { - if (yych <= 0xC1) - goto yy648; - if (yych >= 0xE0) - goto yy665; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy667; - goto yy666; - } else { - if (yych <= 0xF0) - goto yy668; - if (yych <= 0xF3) - goto yy669; - if (yych <= 0xF4) - goto yy670; - goto yy648; - } - } - yy664: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy659; - goto yy648; - yy665: - yych = *++p; - if (yych <= 0x9F) - goto yy648; - if (yych <= 0xBF) - goto yy664; - goto yy648; - yy666: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy664; - goto yy648; - yy667: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0x9F) - goto yy664; - goto yy648; - yy668: - yych = *++p; - if (yych <= 0x8F) - goto yy648; - if (yych <= 0xBF) - goto yy666; - goto yy648; - yy669: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy666; - goto yy648; - yy670: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0x8F) - goto yy666; - goto yy648; - yy671: - yych = *++p; - yy672: - if (yybm[0 + yych] & 128) { - goto yy671; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') - goto yy648; - if (yych >= '*') - goto yy675; - } else { - if (yych <= 0xC1) - goto yy648; - if (yych <= 0xDF) - goto yy676; - goto yy677; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy679; - goto yy678; - } else { - if (yych <= 0xF0) - goto yy680; - if (yych <= 0xF3) - goto yy681; - if (yych <= 0xF4) - goto yy682; - goto yy648; - } - } - yy673: - ++p; - yy674 : { return (bufsize_t)(p - start); } - yy675: - yych = *++p; - if (yych <= 0xDF) { - if (yych <= '[') { - if (yych <= 0x00) - goto yy648; - if (yych == ')') - goto yy685; - goto yy671; - } else { - if (yych <= '\\') - goto yy675; - if (yych <= 0x7F) - goto yy671; - if (yych <= 0xC1) - goto yy648; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) - goto yy677; - if (yych == 0xED) - goto yy679; - goto yy678; - } else { - if (yych <= 0xF0) - goto yy680; - if (yych <= 0xF3) - goto yy681; - if (yych <= 0xF4) - goto yy682; - goto yy648; - } - } - yy676: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy671; - goto yy648; - yy677: - yych = *++p; - if (yych <= 0x9F) - goto yy648; - if (yych <= 0xBF) - goto yy676; - goto yy648; - yy678: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy676; - goto yy648; - yy679: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0x9F) - goto yy676; - goto yy648; - yy680: - yych = *++p; - if (yych <= 0x8F) - goto yy648; - if (yych <= 0xBF) - goto yy678; - goto yy648; - yy681: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0xBF) - goto yy678; - goto yy648; - yy682: - yych = *++p; - if (yych <= 0x7F) - goto yy648; - if (yych <= 0x8F) - goto yy678; - goto yy648; - yy683: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0 + yych] & 16) { - goto yy646; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy650; - if (yych <= '"') - goto yy649; - goto yy651; - } else { - if (yych <= 0xC1) - goto yy650; - if (yych <= 0xDF) - goto yy652; - goto yy653; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy655; - goto yy654; - } else { - if (yych <= 0xF0) - goto yy656; - if (yych <= 0xF3) - goto yy657; - if (yych <= 0xF4) - goto yy658; - goto yy650; - } - } - yy684: - yyaccept = 2; - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy659; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) - goto yy662; - if (yych <= '\'') - goto yy661; - goto yy663; - } else { - if (yych <= 0xC1) - goto yy662; - if (yych <= 0xDF) - goto yy664; - goto yy665; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy667; - goto yy666; - } else { - if (yych <= 0xF0) - goto yy668; - if (yych <= 0xF3) - goto yy669; - if (yych <= 0xF4) - goto yy670; - goto yy662; - } - } - yy685: - yyaccept = 3; - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy671; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') - goto yy674; - if (yych <= ')') - goto yy673; - goto yy675; - } else { - if (yych <= 0xC1) - goto yy674; - if (yych <= 0xDF) - goto yy676; - goto yy677; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) - goto yy679; - goto yy678; - } else { - if (yych <= 0xF0) - goto yy680; - if (yych <= 0xF3) - goto yy681; - if (yych <= 0xF4) - goto yy682; - goto yy674; - } - } - } -} - -// Match space characters, including newlines. -bufsize_t _scan_spacechars(const unsigned char *p) { - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0 + yych] & 128) { - goto yy687; - } - ++p; - { return 0; } - yy687: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy687; - } - { return (bufsize_t)(p - start); } - } -} - -// Match ATX heading start. -bufsize_t _scan_atx_heading_start(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '#') - goto yy690; - ++p; - yy689 : { return 0; } - yy690: - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy691; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy689; - if (yych <= '\n') - goto yy693; - goto yy689; - } else { - if (yych <= '\r') - goto yy693; - if (yych == '#') - goto yy694; - goto yy689; - } - yy691: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy691; - } - yy692 : { return (bufsize_t)(p - start); } - yy693: - ++p; - goto yy692; - yy694: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy691; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy695; - if (yych <= '\n') - goto yy693; - } else { - if (yych <= '\r') - goto yy693; - if (yych == '#') - goto yy696; - } - yy695: - p = marker; - goto yy689; - yy696: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy691; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy695; - if (yych <= '\n') - goto yy693; - goto yy695; - } else { - if (yych <= '\r') - goto yy693; - if (yych != '#') - goto yy695; - } - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy691; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy695; - if (yych <= '\n') - goto yy693; - goto yy695; - } else { - if (yych <= '\r') - goto yy693; - if (yych != '#') - goto yy695; - } - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy691; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy695; - if (yych <= '\n') - goto yy693; - goto yy695; - } else { - if (yych <= '\r') - goto yy693; - if (yych != '#') - goto yy695; - } - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy691; - } - if (yych <= 0x08) - goto yy695; - if (yych <= '\n') - goto yy693; - if (yych == '\r') - goto yy693; - goto yy695; - } -} - -// Match setext heading line. Return 1 for level-1 heading, -// 2 for level-2, 0 for no match. -bufsize_t _scan_setext_heading_line(const unsigned char *p) { - const unsigned char *marker = NULL; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '-') - goto yy699; - if (yych == '=') - goto yy700; - ++p; - yy698 : { return 0; } - yy699: - yych = *(marker = ++p); - if (yybm[0 + yych] & 64) { - goto yy705; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy698; - if (yych <= '\n') - goto yy702; - goto yy698; - } else { - if (yych <= '\r') - goto yy702; - if (yych == ' ') - goto yy702; - goto yy698; - } - yy700: - yych = *(marker = ++p); - if (yybm[0 + yych] & 128) { - goto yy709; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy698; - if (yych <= '\n') - goto yy707; - goto yy698; - } else { - if (yych <= '\r') - goto yy707; - if (yych == ' ') - goto yy707; - goto yy698; - } - yy701: - yych = *++p; - yy702: - if (yybm[0 + yych] & 32) { - goto yy701; - } - if (yych <= 0x08) - goto yy703; - if (yych <= '\n') - goto yy704; - if (yych == '\r') - goto yy704; - yy703: - p = marker; - goto yy698; - yy704: - ++p; - { return 2; } - yy705: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy701; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy703; - if (yych <= '\n') - goto yy704; - goto yy703; - } else { - if (yych <= '\r') - goto yy704; - if (yych == '-') - goto yy705; - goto yy703; - } - yy706: - yych = *++p; - yy707: - if (yych <= '\f') { - if (yych <= 0x08) - goto yy703; - if (yych <= '\t') - goto yy706; - if (yych >= '\v') - goto yy703; - } else { - if (yych <= '\r') - goto yy708; - if (yych == ' ') - goto yy706; - goto yy703; - } - yy708: - ++p; - { return 1; } - yy709: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy709; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy703; - if (yych <= '\t') - goto yy706; - if (yych <= '\n') - goto yy708; - goto yy703; - } else { - if (yych <= '\r') - goto yy708; - if (yych == ' ') - goto yy706; - goto yy703; - } - } -} - -// Scan an opening code fence. -bufsize_t _scan_open_code_fence(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - }; - yych = *p; - if (yych == '`') - goto yy712; - if (yych == '~') - goto yy713; - ++p; - yy711 : { return 0; } - yy712: - yych = *(marker = ++p); - if (yych == '`') - goto yy714; - goto yy711; - yy713: - yych = *(marker = ++p); - if (yych == '~') - goto yy716; - goto yy711; - yy714: - yych = *++p; - if (yybm[0 + yych] & 16) { - goto yy717; - } - yy715: - p = marker; - goto yy711; - yy716: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy718; - } - goto yy715; - yy717: - yych = *++p; - if (yybm[0 + yych] & 16) { - goto yy717; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) - goto yy715; - if (yych == '\n') { - marker = p; - goto yy720; - } - marker = p; - goto yy719; - } else { - if (yych <= '\r') { - marker = p; - goto yy720; - } - if (yych <= 0x7F) { - marker = p; - goto yy719; - } - if (yych <= 0xC1) - goto yy715; - marker = p; - goto yy721; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy722; - } - if (yych == 0xED) { - marker = p; - goto yy724; - } - marker = p; - goto yy723; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy725; - } - if (yych <= 0xF3) { - marker = p; - goto yy726; - } - if (yych <= 0xF4) { - marker = p; - goto yy727; - } - goto yy715; - } - } - yy718: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy718; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) - goto yy715; - if (yych == '\n') { - marker = p; - goto yy729; - } - marker = p; - goto yy728; - } else { - if (yych <= '\r') { - marker = p; - goto yy729; - } - if (yych <= 0x7F) { - marker = p; - goto yy728; - } - if (yych <= 0xC1) - goto yy715; - marker = p; - goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy731; - } - if (yych == 0xED) { - marker = p; - goto yy733; - } - marker = p; - goto yy732; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy734; - } - if (yych <= 0xF3) { - marker = p; - goto yy735; - } - if (yych <= 0xF4) { - marker = p; - goto yy736; - } - goto yy715; - } - } - yy719: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy719; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy715; - if (yych >= 0x0E) - goto yy715; - } else { - if (yych <= 0xDF) - goto yy721; - if (yych <= 0xE0) - goto yy722; - goto yy723; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy724; - if (yych <= 0xEF) - goto yy723; - goto yy725; - } else { - if (yych <= 0xF3) - goto yy726; - if (yych <= 0xF4) - goto yy727; - goto yy715; - } - } - yy720: - ++p; - p = marker; - { return (bufsize_t)(p - start); } - yy721: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0xBF) - goto yy719; - goto yy715; - yy722: - yych = *++p; - if (yych <= 0x9F) - goto yy715; - if (yych <= 0xBF) - goto yy721; - goto yy715; - yy723: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0xBF) - goto yy721; - goto yy715; - yy724: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0x9F) - goto yy721; - goto yy715; - yy725: - yych = *++p; - if (yych <= 0x8F) - goto yy715; - if (yych <= 0xBF) - goto yy723; - goto yy715; - yy726: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0xBF) - goto yy723; - goto yy715; - yy727: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0x8F) - goto yy723; - goto yy715; - yy728: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy728; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) - goto yy715; - if (yych >= 0x0E) - goto yy715; - } else { - if (yych <= 0xDF) - goto yy730; - if (yych <= 0xE0) - goto yy731; - goto yy732; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy733; - if (yych <= 0xEF) - goto yy732; - goto yy734; - } else { - if (yych <= 0xF3) - goto yy735; - if (yych <= 0xF4) - goto yy736; - goto yy715; - } - } - yy729: - ++p; - p = marker; - { return (bufsize_t)(p - start); } - yy730: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0xBF) - goto yy728; - goto yy715; - yy731: - yych = *++p; - if (yych <= 0x9F) - goto yy715; - if (yych <= 0xBF) - goto yy730; - goto yy715; - yy732: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0xBF) - goto yy730; - goto yy715; - yy733: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0x9F) - goto yy730; - goto yy715; - yy734: - yych = *++p; - if (yych <= 0x8F) - goto yy715; - if (yych <= 0xBF) - goto yy732; - goto yy715; - yy735: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0xBF) - goto yy732; - goto yy715; - yy736: - yych = *++p; - if (yych <= 0x7F) - goto yy715; - if (yych <= 0x8F) - goto yy732; - goto yy715; - } -} - -// Scan a closing code fence with length at least len. -bufsize_t _scan_close_code_fence(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '`') - goto yy739; - if (yych == '~') - goto yy740; - ++p; - yy738 : { return 0; } - yy739: - yych = *(marker = ++p); - if (yych == '`') - goto yy741; - goto yy738; - yy740: - yych = *(marker = ++p); - if (yych == '~') - goto yy743; - goto yy738; - yy741: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy744; - } - yy742: - p = marker; - goto yy738; - yy743: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy745; - } - goto yy742; - yy744: - yych = *++p; - if (yybm[0 + yych] & 32) { - goto yy744; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy742; - if (yych <= '\t') { - marker = p; - goto yy746; - } - if (yych <= '\n') { - marker = p; - goto yy747; - } - goto yy742; - } else { - if (yych <= '\r') { - marker = p; - goto yy747; - } - if (yych == ' ') { - marker = p; - goto yy746; - } - goto yy742; - } - yy745: - yych = *++p; - if (yybm[0 + yych] & 64) { - goto yy745; - } - if (yych <= '\f') { - if (yych <= 0x08) - goto yy742; - if (yych <= '\t') { - marker = p; - goto yy748; - } - if (yych <= '\n') { - marker = p; - goto yy749; - } - goto yy742; - } else { - if (yych <= '\r') { - marker = p; - goto yy749; - } - if (yych == ' ') { - marker = p; - goto yy748; - } - goto yy742; - } - yy746: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy746; - } - if (yych <= 0x08) - goto yy742; - if (yych <= '\n') - goto yy747; - if (yych != '\r') - goto yy742; - yy747: - ++p; - p = marker; - { return (bufsize_t)(p - start); } - yy748: - yych = *++p; - if (yych <= '\f') { - if (yych <= 0x08) - goto yy742; - if (yych <= '\t') - goto yy748; - if (yych >= '\v') - goto yy742; - } else { - if (yych <= '\r') - goto yy749; - if (yych == ' ') - goto yy748; - goto yy742; - } - yy749: - ++p; - p = marker; - { return (bufsize_t)(p - start); } - } -} - -// Scans an entity. -// Returns number of chars matched. -bufsize_t _scan_entity(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - yych = *p; - if (yych == '&') - goto yy752; - ++p; - yy751 : { return 0; } - yy752: - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '#') - goto yy751; - } else { - if (yych <= 'Z') - goto yy754; - if (yych <= '`') - goto yy751; - if (yych <= 'z') - goto yy754; - goto yy751; - } - yych = *++p; - if (yych <= 'W') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy755; - } else { - if (yych <= 'X') - goto yy756; - if (yych == 'x') - goto yy756; - } - yy753: - p = marker; - goto yy751; - yy754: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy757; - goto yy753; - } else { - if (yych <= 'Z') - goto yy757; - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy757; - goto yy753; - } - yy755: - yych = *++p; - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy758; - if (yych == ';') - goto yy759; - goto yy753; - yy756: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy760; - goto yy753; - } else { - if (yych <= 'F') - goto yy760; - if (yych <= '`') - goto yy753; - if (yych <= 'f') - goto yy760; - goto yy753; - } - yy757: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy761; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy761; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy761; - goto yy753; - } - } - yy758: - yych = *++p; - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy762; - if (yych != ';') - goto yy753; - yy759: - ++p; - { return (bufsize_t)(p - start); } - yy760: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy763; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'F') { - if (yych <= '@') - goto yy753; - goto yy763; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'f') - goto yy763; - goto yy753; - } - } - yy761: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy764; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy764; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy764; - goto yy753; - } - } - yy762: - yych = *++p; - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy765; - if (yych == ';') - goto yy759; - goto yy753; - yy763: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy766; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'F') { - if (yych <= '@') - goto yy753; - goto yy766; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'f') - goto yy766; - goto yy753; - } - } - yy764: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy767; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy767; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy767; - goto yy753; - } - } - yy765: - yych = *++p; - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy768; - if (yych == ';') - goto yy759; - goto yy753; - yy766: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy769; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'F') { - if (yych <= '@') - goto yy753; - goto yy769; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'f') - goto yy769; - goto yy753; - } - } - yy767: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy770; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy770; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy770; - goto yy753; - } - } - yy768: - yych = *++p; - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy771; - if (yych == ';') - goto yy759; - goto yy753; - yy769: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy772; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'F') { - if (yych <= '@') - goto yy753; - goto yy772; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'f') - goto yy772; - goto yy753; - } - } - yy770: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy773; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy773; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy773; - goto yy753; - } - } - yy771: - yych = *++p; - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy774; - if (yych == ';') - goto yy759; - goto yy753; - yy772: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy774; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'F') { - if (yych <= '@') - goto yy753; - goto yy774; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'f') - goto yy774; - goto yy753; - } - } - yy773: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy775; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy775; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy775; - goto yy753; - } - } - yy774: - yych = *++p; - if (yych == ';') - goto yy759; - goto yy753; - yy775: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy776; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy776: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy777; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy777: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy778; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy778: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy779; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy779: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy780; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy780: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy781; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy781: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy782; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy782: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy783; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy783: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy784; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy784: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy785; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy785: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy786; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy786: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy787; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy787: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy788; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy788: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy789; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy789: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy790; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy790: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy791; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy791: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy792; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy792: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy793; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy793: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy794; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy794: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy795; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy795: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy796; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy796: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy797; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy797: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy798; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - } else { - if (yych <= '`') - goto yy753; - if (yych >= '{') - goto yy753; - } - } - yy798: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') - goto yy753; - if (yych <= '9') - goto yy774; - if (yych <= ':') - goto yy753; - goto yy759; - } else { - if (yych <= 'Z') { - if (yych <= '@') - goto yy753; - goto yy774; - } else { - if (yych <= '`') - goto yy753; - if (yych <= 'z') - goto yy774; - goto yy753; - } - } - } -} - -// Returns positive value if a URL begins in a way that is potentially -// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0. -bufsize_t _scan_dangerous_url(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - unsigned int yyaccept = 0; - yych = *p; - if (yych <= 'V') { - if (yych <= 'F') { - if (yych == 'D') - goto yy801; - if (yych >= 'F') - goto yy802; - } else { - if (yych == 'J') - goto yy803; - if (yych >= 'V') - goto yy804; - } - } else { - if (yych <= 'f') { - if (yych == 'd') - goto yy801; - if (yych >= 'f') - goto yy802; - } else { - if (yych <= 'j') { - if (yych >= 'j') - goto yy803; - } else { - if (yych == 'v') - goto yy804; - } - } - } - ++p; - yy800 : { return 0; } - yy801: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') - goto yy805; - if (yych == 'a') - goto yy805; - goto yy800; - yy802: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'I') - goto yy807; - if (yych == 'i') - goto yy807; - goto yy800; - yy803: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') - goto yy808; - if (yych == 'a') - goto yy808; - goto yy800; - yy804: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'B') - goto yy809; - if (yych == 'b') - goto yy809; - goto yy800; - yy805: - yych = *++p; - if (yych == 'T') - goto yy810; - if (yych == 't') - goto yy810; - yy806: - p = marker; - if (yyaccept == 0) { - goto yy800; - } else { - goto yy818; - } - yy807: - yych = *++p; - if (yych == 'L') - goto yy811; - if (yych == 'l') - goto yy811; - goto yy806; - yy808: - yych = *++p; - if (yych == 'V') - goto yy812; - if (yych == 'v') - goto yy812; - goto yy806; - yy809: - yych = *++p; - if (yych == 'S') - goto yy813; - if (yych == 's') - goto yy813; - goto yy806; - yy810: - yych = *++p; - if (yych == 'A') - goto yy814; - if (yych == 'a') - goto yy814; - goto yy806; - yy811: - yych = *++p; - if (yych == 'E') - goto yy815; - if (yych == 'e') - goto yy815; - goto yy806; - yy812: - yych = *++p; - if (yych == 'A') - goto yy809; - if (yych == 'a') - goto yy809; - goto yy806; - yy813: - yych = *++p; - if (yych == 'C') - goto yy816; - if (yych == 'c') - goto yy816; - goto yy806; - yy814: - yych = *++p; - if (yych == ':') - goto yy817; - goto yy806; - yy815: - yych = *++p; - if (yych == ':') - goto yy819; - goto yy806; - yy816: - yych = *++p; - if (yych == 'R') - goto yy820; - if (yych == 'r') - goto yy820; - goto yy806; - yy817: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') - goto yy821; - if (yych == 'i') - goto yy821; - yy818 : { return (bufsize_t)(p - start); } - yy819: - ++p; - goto yy818; - yy820: - yych = *++p; - if (yych == 'I') - goto yy822; - if (yych == 'i') - goto yy822; - goto yy806; - yy821: - yych = *++p; - if (yych == 'M') - goto yy823; - if (yych == 'm') - goto yy823; - goto yy806; - yy822: - yych = *++p; - if (yych == 'P') - goto yy824; - if (yych == 'p') - goto yy824; - goto yy806; - yy823: - yych = *++p; - if (yych == 'A') - goto yy825; - if (yych == 'a') - goto yy825; - goto yy806; - yy824: - yych = *++p; - if (yych == 'T') - goto yy815; - if (yych == 't') - goto yy815; - goto yy806; - yy825: - yych = *++p; - if (yych == 'G') - goto yy826; - if (yych != 'g') - goto yy806; - yy826: - yych = *++p; - if (yych == 'E') - goto yy827; - if (yych != 'e') - goto yy806; - yy827: - yych = *++p; - if (yych != '/') - goto yy806; - yych = *++p; - if (yych <= 'W') { - if (yych <= 'J') { - if (yych == 'G') - goto yy828; - if (yych <= 'I') - goto yy806; - goto yy829; - } else { - if (yych == 'P') - goto yy830; - if (yych <= 'V') - goto yy806; - goto yy831; - } - } else { - if (yych <= 'j') { - if (yych == 'g') - goto yy828; - if (yych <= 'i') - goto yy806; - goto yy829; - } else { - if (yych <= 'p') { - if (yych <= 'o') - goto yy806; - goto yy830; - } else { - if (yych == 'w') - goto yy831; - goto yy806; - } - } - } - yy828: - yych = *++p; - if (yych == 'I') - goto yy832; - if (yych == 'i') - goto yy832; - goto yy806; - yy829: - yych = *++p; - if (yych == 'P') - goto yy833; - if (yych == 'p') - goto yy833; - goto yy806; - yy830: - yych = *++p; - if (yych == 'N') - goto yy834; - if (yych == 'n') - goto yy834; - goto yy806; - yy831: - yych = *++p; - if (yych == 'E') - goto yy835; - if (yych == 'e') - goto yy835; - goto yy806; - yy832: - yych = *++p; - if (yych == 'F') - goto yy836; - if (yych == 'f') - goto yy836; - goto yy806; - yy833: - yych = *++p; - if (yych == 'E') - goto yy834; - if (yych != 'e') - goto yy806; - yy834: - yych = *++p; - if (yych == 'G') - goto yy836; - if (yych == 'g') - goto yy836; - goto yy806; - yy835: - yych = *++p; - if (yych == 'B') - goto yy837; - if (yych == 'b') - goto yy837; - goto yy806; - yy836: - ++p; - { return 0; } - yy837: - yych = *++p; - if (yych == 'P') - goto yy836; - if (yych == 'p') - goto yy836; - goto yy806; - } -} - -// Scans a footnote definition opening. -bufsize_t _scan_footnote_definition(const unsigned char *p) { - const unsigned char *marker = NULL; - const unsigned char *start = p; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '[') - goto yy840; - ++p; - yy839 : { return 0; } - yy840: - yych = *(marker = ++p); - if (yych != '^') - goto yy839; - yych = *++p; - if (yych != ']') - goto yy843; - yy841: - p = marker; - goto yy839; - yy842: - yych = *++p; - yy843: - if (yybm[0 + yych] & 64) { - goto yy842; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= ' ') - goto yy841; - if (yych <= ']') - goto yy851; - goto yy841; - } else { - if (yych <= 0xDF) - goto yy844; - if (yych <= 0xE0) - goto yy845; - goto yy846; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) - goto yy847; - if (yych <= 0xEF) - goto yy846; - goto yy848; - } else { - if (yych <= 0xF3) - goto yy849; - if (yych <= 0xF4) - goto yy850; - goto yy841; - } - } - yy844: - yych = *++p; - if (yych <= 0x7F) - goto yy841; - if (yych <= 0xBF) - goto yy842; - goto yy841; - yy845: - yych = *++p; - if (yych <= 0x9F) - goto yy841; - if (yych <= 0xBF) - goto yy844; - goto yy841; - yy846: - yych = *++p; - if (yych <= 0x7F) - goto yy841; - if (yych <= 0xBF) - goto yy844; - goto yy841; - yy847: - yych = *++p; - if (yych <= 0x7F) - goto yy841; - if (yych <= 0x9F) - goto yy844; - goto yy841; - yy848: - yych = *++p; - if (yych <= 0x8F) - goto yy841; - if (yych <= 0xBF) - goto yy846; - goto yy841; - yy849: - yych = *++p; - if (yych <= 0x7F) - goto yy841; - if (yych <= 0xBF) - goto yy846; - goto yy841; - yy850: - yych = *++p; - if (yych <= 0x7F) - goto yy841; - if (yych <= 0x8F) - goto yy846; - goto yy841; - yy851: - yych = *++p; - if (yych != ':') - goto yy841; - yy852: - yych = *++p; - if (yybm[0 + yych] & 128) { - goto yy852; - } - { return (bufsize_t)(p - start); } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.h deleted file mode 100644 index 7e6a10a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef CMARK_SCANNERS_H -#define CMARK_SCANNERS_H - -#include "cmark-gfm.h" -#include "chunk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, - bufsize_t offset); -bufsize_t _scan_scheme(const unsigned char *p); -bufsize_t _scan_autolink_uri(const unsigned char *p); -bufsize_t _scan_autolink_email(const unsigned char *p); -bufsize_t _scan_html_tag(const unsigned char *p); -bufsize_t _scan_liberal_html_tag(const unsigned char *p); -bufsize_t _scan_html_comment(const unsigned char *p); -bufsize_t _scan_html_pi(const unsigned char *p); -bufsize_t _scan_html_declaration(const unsigned char *p); -bufsize_t _scan_html_cdata(const unsigned char *p); -bufsize_t _scan_html_block_start(const unsigned char *p); -bufsize_t _scan_html_block_start_7(const unsigned char *p); -bufsize_t _scan_html_block_end_1(const unsigned char *p); -bufsize_t _scan_html_block_end_2(const unsigned char *p); -bufsize_t _scan_html_block_end_3(const unsigned char *p); -bufsize_t _scan_html_block_end_4(const unsigned char *p); -bufsize_t _scan_html_block_end_5(const unsigned char *p); -bufsize_t _scan_link_title(const unsigned char *p); -bufsize_t _scan_spacechars(const unsigned char *p); -bufsize_t _scan_atx_heading_start(const unsigned char *p); -bufsize_t _scan_setext_heading_line(const unsigned char *p); -bufsize_t _scan_open_code_fence(const unsigned char *p); -bufsize_t _scan_close_code_fence(const unsigned char *p); -bufsize_t _scan_entity(const unsigned char *p); -bufsize_t _scan_dangerous_url(const unsigned char *p); -bufsize_t _scan_footnote_definition(const unsigned char *p); - -#define scan_scheme(c, n) _scan_at(&_scan_scheme, c, n) -#define scan_autolink_uri(c, n) _scan_at(&_scan_autolink_uri, c, n) -#define scan_autolink_email(c, n) _scan_at(&_scan_autolink_email, c, n) -#define scan_html_tag(c, n) _scan_at(&_scan_html_tag, c, n) -#define scan_liberal_html_tag(c, n) _scan_at(&_scan_liberal_html_tag, c, n) -#define scan_html_comment(c, n) _scan_at(&_scan_html_comment, c, n) -#define scan_html_pi(c, n) _scan_at(&_scan_html_pi, c, n) -#define scan_html_declaration(c, n) _scan_at(&_scan_html_declaration, c, n) -#define scan_html_cdata(c, n) _scan_at(&_scan_html_cdata, c, n) -#define scan_html_block_start(c, n) _scan_at(&_scan_html_block_start, c, n) -#define scan_html_block_start_7(c, n) _scan_at(&_scan_html_block_start_7, c, n) -#define scan_html_block_end_1(c, n) _scan_at(&_scan_html_block_end_1, c, n) -#define scan_html_block_end_2(c, n) _scan_at(&_scan_html_block_end_2, c, n) -#define scan_html_block_end_3(c, n) _scan_at(&_scan_html_block_end_3, c, n) -#define scan_html_block_end_4(c, n) _scan_at(&_scan_html_block_end_4, c, n) -#define scan_html_block_end_5(c, n) _scan_at(&_scan_html_block_end_5, c, n) -#define scan_link_title(c, n) _scan_at(&_scan_link_title, c, n) -#define scan_spacechars(c, n) _scan_at(&_scan_spacechars, c, n) -#define scan_atx_heading_start(c, n) _scan_at(&_scan_atx_heading_start, c, n) -#define scan_setext_heading_line(c, n) \ - _scan_at(&_scan_setext_heading_line, c, n) -#define scan_open_code_fence(c, n) _scan_at(&_scan_open_code_fence, c, n) -#define scan_close_code_fence(c, n) _scan_at(&_scan_close_code_fence, c, n) -#define scan_entity(c, n) _scan_at(&_scan_entity, c, n) -#define scan_dangerous_url(c, n) _scan_at(&_scan_dangerous_url, c, n) -#define scan_footnote_definition(c, n) _scan_at(&_scan_footnote_definition, c, n) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.o deleted file mode 100644 index 94f5684..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.re b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.re deleted file mode 100644 index 5af8b7b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/scanners.re +++ /dev/null @@ -1,341 +0,0 @@ -#include -#include "chunk.h" -#include "scanners.h" - -bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) -{ - bufsize_t res; - unsigned char *ptr = (unsigned char *)c->data; - - if (ptr == NULL || offset > c->len) { - return 0; - } else { - unsigned char lim = ptr[c->len]; - - ptr[c->len] = '\0'; - res = scanner(ptr + offset); - ptr[c->len] = lim; - } - - return res; -} - -/*!re2c - re2c:define:YYCTYPE = "unsigned char"; - re2c:define:YYCURSOR = p; - re2c:define:YYMARKER = marker; - re2c:define:YYCTXMARKER = marker; - re2c:yyfill:enable = 0; - - wordchar = [^\x00-\x20]; - - spacechar = [ \t\v\f\r\n]; - - reg_char = [^\\()\x00-\x20]; - - escaped_char = [\\][!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]; - - tagname = [A-Za-z][A-Za-z0-9-]*; - - blocktagname = 'address'|'article'|'aside'|'base'|'basefont'|'blockquote'|'body'|'caption'|'center'|'col'|'colgroup'|'dd'|'details'|'dialog'|'dir'|'div'|'dl'|'dt'|'fieldset'|'figcaption'|'figure'|'footer'|'form'|'frame'|'frameset'|'h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'head'|'header'|'hr'|'html'|'iframe'|'legend'|'li'|'link'|'main'|'menu'|'menuitem'|'meta'|'nav'|'noframes'|'ol'|'optgroup'|'option'|'p'|'param'|'section'|'source'|'title'|'summary'|'table'|'tbody'|'td'|'tfoot'|'th'|'thead'|'title'|'tr'|'track'|'ul'; - - attributename = [a-zA-Z_:][a-zA-Z0-9:._-]*; - - unquotedvalue = [^"'=<>`\x00]+; - singlequotedvalue = ['][^'\x00]*[']; - doublequotedvalue = ["][^"\x00]*["]; - - attributevalue = unquotedvalue | singlequotedvalue | doublequotedvalue; - - attributevaluespec = spacechar* [=] spacechar* attributevalue; - - attribute = spacechar+ attributename attributevaluespec?; - - opentag = tagname attribute* spacechar* [/]? [>]; - closetag = [/] tagname spacechar* [>]; - - htmlcomment = "!---->" | ("!--" ([-]? [^\x00>-]) ([-]? [^\x00-])* "-->"); - - processinginstruction = "?" ([^?>\x00]+ | [?][^>\x00] | [>])* "?>"; - - declaration = "!" [A-Z]+ spacechar+ [^>\x00]* ">"; - - cdata = "![CDATA[" ([^\]\x00]+ | "]" [^\]\x00] | "]]" [^>\x00])* "]]>"; - - htmltag = opentag | closetag | htmlcomment | processinginstruction | - declaration | cdata; - - in_parens_nosp = [(] (reg_char|escaped_char|[\\])* [)]; - - in_double_quotes = ["] (escaped_char|[^"\x00])* ["]; - in_single_quotes = ['] (escaped_char|[^'\x00])* [']; - in_parens = [(] (escaped_char|[^)\x00])* [)]; - - scheme = [A-Za-z][A-Za-z0-9.+-]{1,31}; -*/ - -// Try to match a scheme including colon. -bufsize_t _scan_scheme(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - scheme [:] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match URI autolink after first <, returning number of chars matched. -bufsize_t _scan_autolink_uri(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - scheme [:][^\x00-\x20<>]*[>] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match email autolink after first <, returning num of chars matched. -bufsize_t _scan_autolink_email(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+ - [@] - [a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])? - ([.][a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)* - [>] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_html_tag(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - htmltag { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to (liberally) match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_liberal_html_tag(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [^\n\x00]+ [>] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match an HTML block tag start line, returning -// an integer code for the type of block (1-6, matching the spec). -// #7 is handled by a separate function, below. -bufsize_t _scan_html_block_start(const unsigned char *p) -{ - const unsigned char *marker = NULL; -/*!re2c - [<] ('script'|'pre'|'style') (spacechar | [>]) { return 1; } - '' { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match an HTML block end line of type 3 -bufsize_t _scan_html_block_end_3(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [^\n\x00]* '?>' { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match an HTML block end line of type 4 -bufsize_t _scan_html_block_end_4(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [^\n\x00]* '>' { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match an HTML block end line of type 5 -bufsize_t _scan_html_block_end_5(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [^\n\x00]* ']]>' { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Try to match a link title (in single quotes, in double quotes, or -// in parentheses), returning number of chars matched. Allow one -// level of internal nesting (quotes within quotes). -bufsize_t _scan_link_title(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - ["] (escaped_char|[^"\x00])* ["] { return (bufsize_t)(p - start); } - ['] (escaped_char|[^'\x00])* ['] { return (bufsize_t)(p - start); } - [(] (escaped_char|[^)\x00])* [)] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Match space characters, including newlines. -bufsize_t _scan_spacechars(const unsigned char *p) -{ - const unsigned char *start = p; \ -/*!re2c - [ \t\v\f\r\n]+ { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Match ATX heading start. -bufsize_t _scan_atx_heading_start(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [#]{1,6} ([ \t]+|[\r\n]) { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Match setext heading line. Return 1 for level-1 heading, -// 2 for level-2, 0 for no match. -bufsize_t _scan_setext_heading_line(const unsigned char *p) -{ - const unsigned char *marker = NULL; -/*!re2c - [=]+ [ \t]* [\r\n] { return 1; } - [-]+ [ \t]* [\r\n] { return 2; } - * { return 0; } -*/ -} - -// Scan a thematic break line: "...three or more hyphens, asterisks, -// or underscores on a line by themselves. If you wish, you may use -// spaces between the hyphens or asterisks." -bufsize_t _scan_thematic_break(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - ([*][ \t]*){3,} [ \t]* [\r\n] { return (bufsize_t)(p - start); } - ([_][ \t]*){3,} [ \t]* [\r\n] { return (bufsize_t)(p - start); } - ([-][ \t]*){3,} [ \t]* [\r\n] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Scan an opening code fence. -bufsize_t _scan_open_code_fence(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [`]{3,} / [^`\r\n\x00]*[\r\n] { return (bufsize_t)(p - start); } - [~]{3,} / [^~\r\n\x00]*[\r\n] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Scan a closing code fence with length at least len. -bufsize_t _scan_close_code_fence(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [`]{3,} / [ \t]*[\r\n] { return (bufsize_t)(p - start); } - [~]{3,} / [ \t]*[\r\n] { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Scans an entity. -// Returns number of chars matched. -bufsize_t _scan_entity(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - [&] ([#] ([Xx][A-Fa-f0-9]{1,8}|[0-9]{1,8}) |[A-Za-z][A-Za-z0-9]{1,31} ) [;] - { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Returns positive value if a URL begins in a way that is potentially -// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0. -bufsize_t _scan_dangerous_url(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - 'data:image/' ('png'|'gif'|'jpeg'|'webp') { return 0; } - 'javascript:' | 'vbscript:' | 'file:' | 'data:' { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} - -// Scans a footnote definition opening. -bufsize_t _scan_footnote_definition(const unsigned char *p) -{ - const unsigned char *marker = NULL; - const unsigned char *start = p; -/*!re2c - '[^' ([^\] \r\n\x00\t]+) ']:' [ \t]* { return (bufsize_t)(p - start); } - * { return 0; } -*/ -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.c deleted file mode 100644 index e088422..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.c +++ /dev/null @@ -1,167 +0,0 @@ -#include "strikethrough.h" -#include -#include - -cmark_node_type CMARK_NODE_STRIKETHROUGH; - -static cmark_node *match(cmark_syntax_extension *self, cmark_parser *parser, - cmark_node *parent, unsigned char character, - cmark_inline_parser *inline_parser) { - cmark_node *res = NULL; - int left_flanking, right_flanking, punct_before, punct_after, delims; - char buffer[101]; - - if (character != '~') - return NULL; - - delims = cmark_inline_parser_scan_delimiters( - inline_parser, sizeof(buffer) - 1, '~', - &left_flanking, - &right_flanking, &punct_before, &punct_after); - - memset(buffer, '~', delims); - buffer[delims] = 0; - - res = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - cmark_node_set_literal(res, buffer); - res->start_line = res->end_line = cmark_inline_parser_get_line(inline_parser); - res->start_column = cmark_inline_parser_get_column(inline_parser) - delims; - - if ((left_flanking || right_flanking) && - (delims == 2 || (!(parser->options & CMARK_OPT_STRIKETHROUGH_DOUBLE_TILDE) && delims == 1))) { - cmark_inline_parser_push_delimiter(inline_parser, character, left_flanking, - right_flanking, res); - } - - return res; -} - -static delimiter *insert(cmark_syntax_extension *self, cmark_parser *parser, - cmark_inline_parser *inline_parser, delimiter *opener, - delimiter *closer) { - cmark_node *strikethrough; - cmark_node *tmp, *next; - delimiter *delim, *tmp_delim; - delimiter *res = closer->next; - - strikethrough = opener->inl_text; - - if (opener->inl_text->as.literal.len != closer->inl_text->as.literal.len) - goto done; - - if (!cmark_node_set_type(strikethrough, CMARK_NODE_STRIKETHROUGH)) - goto done; - - cmark_node_set_syntax_extension(strikethrough, self); - - tmp = cmark_node_next(opener->inl_text); - - while (tmp) { - if (tmp == closer->inl_text) - break; - next = cmark_node_next(tmp); - cmark_node_append_child(strikethrough, tmp); - tmp = next; - } - - strikethrough->end_column = closer->inl_text->start_column + closer->inl_text->as.literal.len - 1; - cmark_node_free(closer->inl_text); - -done: - delim = closer; - while (delim != NULL && delim != opener) { - tmp_delim = delim->previous; - cmark_inline_parser_remove_delimiter(inline_parser, delim); - delim = tmp_delim; - } - - cmark_inline_parser_remove_delimiter(inline_parser, opener); - - return res; -} - -static const char *get_type_string(cmark_syntax_extension *extension, - cmark_node *node) { - return node->type == CMARK_NODE_STRIKETHROUGH ? "strikethrough" : ""; -} - -static int can_contain(cmark_syntax_extension *extension, cmark_node *node, - cmark_node_type child_type) { - if (node->type != CMARK_NODE_STRIKETHROUGH) - return false; - - return CMARK_NODE_TYPE_INLINE_P(child_type); -} - -static void commonmark_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - renderer->out(renderer, node, "~~", false, LITERAL); -} - -static void latex_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - // requires \usepackage{ulem} - bool entering = (ev_type == CMARK_EVENT_ENTER); - if (entering) { - renderer->out(renderer, node, "\\sout{", false, LITERAL); - } else { - renderer->out(renderer, node, "}", false, LITERAL); - } -} - -static void man_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - if (entering) { - renderer->cr(renderer); - renderer->out(renderer, node, ".ST \"", false, LITERAL); - } else { - renderer->out(renderer, node, "\"", false, LITERAL); - renderer->cr(renderer); - } -} - -static void html_render(cmark_syntax_extension *extension, - cmark_html_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - if (entering) { - cmark_strbuf_puts(renderer->html, ""); - } else { - cmark_strbuf_puts(renderer->html, ""); - } -} - -static void plaintext_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - renderer->out(renderer, node, "~", false, LITERAL); -} - -cmark_syntax_extension *create_strikethrough_extension(void) { - cmark_syntax_extension *ext = cmark_syntax_extension_new("strikethrough"); - cmark_llist *special_chars = NULL; - - cmark_syntax_extension_set_get_type_string_func(ext, get_type_string); - cmark_syntax_extension_set_can_contain_func(ext, can_contain); - cmark_syntax_extension_set_commonmark_render_func(ext, commonmark_render); - cmark_syntax_extension_set_latex_render_func(ext, latex_render); - cmark_syntax_extension_set_man_render_func(ext, man_render); - cmark_syntax_extension_set_html_render_func(ext, html_render); - cmark_syntax_extension_set_plaintext_render_func(ext, plaintext_render); - CMARK_NODE_STRIKETHROUGH = cmark_syntax_extension_add_node(1); - - cmark_syntax_extension_set_match_inline_func(ext, match); - cmark_syntax_extension_set_inline_from_delim_func(ext, insert); - - cmark_mem *mem = cmark_get_default_mem_allocator(); - special_chars = cmark_llist_append(mem, special_chars, (void *)'~'); - cmark_syntax_extension_set_special_inline_chars(ext, special_chars); - - cmark_syntax_extension_set_emphasis(ext, 1); - - return ext; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.h deleted file mode 100644 index a52a2b4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef CMARK_GFM_STRIKETHROUGH_H -#define CMARK_GFM_STRIKETHROUGH_H - -#include "cmark-gfm-core-extensions.h" - -extern cmark_node_type CMARK_NODE_STRIKETHROUGH; -cmark_syntax_extension *create_strikethrough_extension(void); - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.o deleted file mode 100644 index 796bd21..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/strikethrough.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.c deleted file mode 100644 index d24fe43..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.c +++ /dev/null @@ -1,149 +0,0 @@ -#include -#include - -#include "cmark-gfm.h" -#include "syntax_extension.h" -#include "buffer.h" - -extern cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR; - -static cmark_mem *_mem = &CMARK_DEFAULT_MEM_ALLOCATOR; - -void cmark_syntax_extension_free(cmark_mem *mem, cmark_syntax_extension *extension) { - if (extension->free_function && extension->priv) { - extension->free_function(mem, extension->priv); - } - - cmark_llist_free(mem, extension->special_inline_chars); - mem->free(extension->name); - mem->free(extension); -} - -cmark_syntax_extension *cmark_syntax_extension_new(const char *name) { - cmark_syntax_extension *res = (cmark_syntax_extension *) _mem->calloc(1, sizeof(cmark_syntax_extension)); - res->name = (char *) _mem->calloc(1, sizeof(char) * (strlen(name)) + 1); - strcpy(res->name, name); - return res; -} - -cmark_node_type cmark_syntax_extension_add_node(int is_inline) { - cmark_node_type *ref = !is_inline ? &CMARK_NODE_LAST_BLOCK : &CMARK_NODE_LAST_INLINE; - - if ((*ref & CMARK_NODE_VALUE_MASK) == CMARK_NODE_VALUE_MASK) { - assert(false); - return (cmark_node_type) 0; - } - - return *ref = (cmark_node_type) ((int) *ref + 1); -} - -void cmark_syntax_extension_set_emphasis(cmark_syntax_extension *extension, - int emphasis) { - extension->emphasis = emphasis == 1; -} - -void cmark_syntax_extension_set_open_block_func(cmark_syntax_extension *extension, - cmark_open_block_func func) { - extension->try_opening_block = func; -} - -void cmark_syntax_extension_set_match_block_func(cmark_syntax_extension *extension, - cmark_match_block_func func) { - extension->last_block_matches = func; -} - -void cmark_syntax_extension_set_match_inline_func(cmark_syntax_extension *extension, - cmark_match_inline_func func) { - extension->match_inline = func; -} - -void cmark_syntax_extension_set_inline_from_delim_func(cmark_syntax_extension *extension, - cmark_inline_from_delim_func func) { - extension->insert_inline_from_delim = func; -} - -void cmark_syntax_extension_set_special_inline_chars(cmark_syntax_extension *extension, - cmark_llist *special_chars) { - extension->special_inline_chars = special_chars; -} - -void cmark_syntax_extension_set_get_type_string_func(cmark_syntax_extension *extension, - cmark_get_type_string_func func) { - extension->get_type_string_func = func; -} - -void cmark_syntax_extension_set_can_contain_func(cmark_syntax_extension *extension, - cmark_can_contain_func func) { - extension->can_contain_func = func; -} - -void cmark_syntax_extension_set_contains_inlines_func(cmark_syntax_extension *extension, - cmark_contains_inlines_func func) { - extension->contains_inlines_func = func; -} - -void cmark_syntax_extension_set_commonmark_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func) { - extension->commonmark_render_func = func; -} - -void cmark_syntax_extension_set_plaintext_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func) { - extension->plaintext_render_func = func; -} - -void cmark_syntax_extension_set_latex_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func) { - extension->latex_render_func = func; -} - -void cmark_syntax_extension_set_xml_attr_func(cmark_syntax_extension *extension, - cmark_xml_attr_func func) { - extension->xml_attr_func = func; -} - -void cmark_syntax_extension_set_man_render_func(cmark_syntax_extension *extension, - cmark_common_render_func func) { - extension->man_render_func = func; -} - -void cmark_syntax_extension_set_html_render_func(cmark_syntax_extension *extension, - cmark_html_render_func func) { - extension->html_render_func = func; -} - -void cmark_syntax_extension_set_html_filter_func(cmark_syntax_extension *extension, - cmark_html_filter_func func) { - extension->html_filter_func = func; -} - -void cmark_syntax_extension_set_postprocess_func(cmark_syntax_extension *extension, - cmark_postprocess_func func) { - extension->postprocess_func = func; -} - -void cmark_syntax_extension_set_private(cmark_syntax_extension *extension, - void *priv, - cmark_free_func free_func) { - extension->priv = priv; - extension->free_function = free_func; -} - -void *cmark_syntax_extension_get_private(cmark_syntax_extension *extension) { - return extension->priv; -} - -void cmark_syntax_extension_set_opaque_alloc_func(cmark_syntax_extension *extension, - cmark_opaque_alloc_func func) { - extension->opaque_alloc_func = func; -} - -void cmark_syntax_extension_set_opaque_free_func(cmark_syntax_extension *extension, - cmark_opaque_free_func func) { - extension->opaque_free_func = func; -} - -void cmark_syntax_extension_set_commonmark_escape_func(cmark_syntax_extension *extension, - cmark_commonmark_escape_func func) { - extension->commonmark_escape_func = func; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.h deleted file mode 100644 index a5fe11e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef CMARK_SYNTAX_EXTENSION_H -#define CMARK_SYNTAX_EXTENSION_H - -#include "cmark-gfm.h" -#include "cmark-gfm-extension_api.h" -#include "config.h" - -struct cmark_syntax_extension { - cmark_match_block_func last_block_matches; - cmark_open_block_func try_opening_block; - cmark_match_inline_func match_inline; - cmark_inline_from_delim_func insert_inline_from_delim; - cmark_llist * special_inline_chars; - char * name; - void * priv; - bool emphasis; - cmark_free_func free_function; - cmark_get_type_string_func get_type_string_func; - cmark_can_contain_func can_contain_func; - cmark_contains_inlines_func contains_inlines_func; - cmark_common_render_func commonmark_render_func; - cmark_common_render_func plaintext_render_func; - cmark_common_render_func latex_render_func; - cmark_xml_attr_func xml_attr_func; - cmark_common_render_func man_render_func; - cmark_html_render_func html_render_func; - cmark_html_filter_func html_filter_func; - cmark_postprocess_func postprocess_func; - cmark_opaque_alloc_func opaque_alloc_func; - cmark_opaque_free_func opaque_free_func; - cmark_commonmark_escape_func commonmark_escape_func; -}; - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.o deleted file mode 100644 index 89646f9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/syntax_extension.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.c deleted file mode 100644 index e8359f2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.c +++ /dev/null @@ -1,917 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "ext_scanners.h" -#include "strikethrough.h" -#include "table.h" -#include "cmark-gfm-core-extensions.h" - -// Limit to prevent a malicious input from causing a denial of service. -#define MAX_AUTOCOMPLETED_CELLS 0x80000 - -// Custom node flag, initialized in `create_table_extension`. -static cmark_node_internal_flags CMARK_NODE__TABLE_VISITED; - -cmark_node_type CMARK_NODE_TABLE, CMARK_NODE_TABLE_ROW, - CMARK_NODE_TABLE_CELL; - -typedef struct { - cmark_strbuf *buf; - int start_offset, end_offset, internal_offset; -} node_cell; - -typedef struct { - uint16_t n_columns; - int paragraph_offset; - node_cell *cells; -} table_row; - -typedef struct { - uint16_t n_columns; - uint8_t *alignments; - int n_rows; - int n_nonempty_cells; -} node_table; - -typedef struct { - bool is_header; -} node_table_row; - -static void free_table_cell(cmark_mem *mem, node_cell *cell) { - cmark_strbuf_free((cmark_strbuf *)cell->buf); - mem->free(cell->buf); -} - -static void free_row_cells(cmark_mem *mem, table_row *row) { - while (row->n_columns > 0) { - free_table_cell(mem, &row->cells[--row->n_columns]); - } - mem->free(row->cells); - row->cells = NULL; -} - -static void free_table_row(cmark_mem *mem, table_row *row) { - if (!row) - return; - - free_row_cells(mem, row); - mem->free(row); -} - -static void free_node_table(cmark_mem *mem, void *ptr) { - node_table *t = (node_table *)ptr; - mem->free(t->alignments); - mem->free(t); -} - -static void free_node_table_row(cmark_mem *mem, void *ptr) { - mem->free(ptr); -} - -static int get_n_table_columns(cmark_node *node) { - if (!node || node->type != CMARK_NODE_TABLE) - return -1; - - return (int)((node_table *)node->as.opaque)->n_columns; -} - -static int set_n_table_columns(cmark_node *node, uint16_t n_columns) { - if (!node || node->type != CMARK_NODE_TABLE) - return 0; - - ((node_table *)node->as.opaque)->n_columns = n_columns; - return 1; -} - -// Increment the number of rows in the table. Also update n_nonempty_cells, -// which keeps track of the number of cells which were parsed from the -// input file. (If one of the rows is too short, then the trailing cells -// are autocompleted. Autocompleted cells are not counted in n_nonempty_cells.) -// The purpose of this is to prevent a malicious input from generating a very -// large number of autocompleted cells, which could cause a denial of service -// vulnerability. -static int incr_table_row_count(cmark_node *node, int i) { - if (!node || node->type != CMARK_NODE_TABLE) { - return 0; - } - - ((node_table *)node->as.opaque)->n_rows++; - ((node_table *)node->as.opaque)->n_nonempty_cells += i; - return 1; -} - -// Calculate the number of autocompleted cells. -static int get_n_autocompleted_cells(cmark_node *node) { - if (!node || node->type != CMARK_NODE_TABLE) { - return 0; - } - - const node_table *nt = (node_table *)node->as.opaque; - return (nt->n_columns * nt->n_rows) - nt->n_nonempty_cells; -} - -static uint8_t *get_table_alignments(cmark_node *node) { - if (!node || node->type != CMARK_NODE_TABLE) - return 0; - - return ((node_table *)node->as.opaque)->alignments; -} - -static int set_table_alignments(cmark_node *node, uint8_t *alignments) { - if (!node || node->type != CMARK_NODE_TABLE) - return 0; - - ((node_table *)node->as.opaque)->alignments = alignments; - return 1; -} - -static uint8_t get_cell_alignment(cmark_node *node) { - if (!node || node->type != CMARK_NODE_TABLE_CELL) - return 0; - - const uint8_t *alignments = get_table_alignments(node->parent->parent); - int i = node->as.cell_index; - return alignments[i]; -} - -static int set_cell_index(cmark_node *node, int i) { - if (!node || node->type != CMARK_NODE_TABLE_CELL) - return 0; - - node->as.cell_index = i; - return 1; -} - -static cmark_strbuf *unescape_pipes(cmark_mem *mem, unsigned char *string, bufsize_t len) -{ - cmark_strbuf *res = (cmark_strbuf *)mem->calloc(1, sizeof(cmark_strbuf)); - bufsize_t r, w; - - cmark_strbuf_init(mem, res, len + 1); - cmark_strbuf_put(res, string, len); - cmark_strbuf_putc(res, '\0'); - - for (r = 0, w = 0; r < len; ++r) { - if (res->ptr[r] == '\\' && res->ptr[r + 1] == '|') - r++; - - res->ptr[w++] = res->ptr[r]; - } - - cmark_strbuf_truncate(res, w); - - return res; -} - -// Adds a new cell to the end of the row. A pointer to the new cell is returned -// for the caller to initialize. -static node_cell* append_row_cell(cmark_mem *mem, table_row *row) { - const uint32_t n_columns = row->n_columns + 1; - // realloc when n_columns is a power of 2 - if ((n_columns & (n_columns-1)) == 0) { - // make sure we never wrap row->n_columns - // offset will != len and our exit will clean up as intended - if (n_columns > UINT16_MAX) { - return NULL; - } - // Use realloc to double the size of the buffer. - row->cells = (node_cell *)mem->realloc(row->cells, (2 * n_columns - 1) * sizeof(node_cell)); - } - row->n_columns = (uint16_t)n_columns; - return &row->cells[n_columns-1]; -} - -static table_row *row_from_string(cmark_syntax_extension *self, - cmark_parser *parser, unsigned char *string, - int len) { - // Parses a single table row. It has the following form: - // `delim? table_cell (delim table_cell)* delim? newline` - // Note that cells are allowed to be empty. - // - // From the GitHub-flavored Markdown specification: - // - // > Each row consists of cells containing arbitrary text, in which inlines - // > are parsed, separated by pipes (|). A leading and trailing pipe is also - // > recommended for clarity of reading, and if there’s otherwise parsing - // > ambiguity. - - table_row *row = NULL; - bufsize_t cell_matched = 1, pipe_matched = 1, offset; - int expect_more_cells = 1; - int row_end_offset = 0; - int int_overflow_abort = 0; - - row = (table_row *)parser->mem->calloc(1, sizeof(table_row)); - row->n_columns = 0; - row->cells = NULL; - - // Scan past the (optional) leading pipe. - offset = scan_table_cell_end(string, len, 0); - - // Parse the cells of the row. Stop if we reach the end of the input, or if we - // cannot detect any more cells. - while (offset < len && expect_more_cells) { - cell_matched = scan_table_cell(string, len, offset); - pipe_matched = scan_table_cell_end(string, len, offset + cell_matched); - - if (cell_matched || pipe_matched) { - // We are guaranteed to have a cell, since (1) either we found some - // content and cell_matched, or (2) we found an empty cell followed by a - // pipe. - cmark_strbuf *cell_buf = unescape_pipes(parser->mem, string + offset, - cell_matched); - cmark_strbuf_trim(cell_buf); - - node_cell *cell = append_row_cell(parser->mem, row); - if (!cell) { - int_overflow_abort = 1; - cmark_strbuf_free(cell_buf); - parser->mem->free(cell_buf); - break; - } - cell->buf = cell_buf; - cell->start_offset = offset; - cell->end_offset = offset + cell_matched - 1; - cell->internal_offset = 0; - - while (cell->start_offset > row->paragraph_offset && string[cell->start_offset - 1] != '|') { - --cell->start_offset; - ++cell->internal_offset; - } - } - - offset += cell_matched + pipe_matched; - - if (pipe_matched) { - expect_more_cells = 1; - } else { - // We've scanned the last cell. Check if we have reached the end of the row - row_end_offset = scan_table_row_end(string, len, offset); - offset += row_end_offset; - - // If the end of the row is not the end of the input, - // the row is not a real row but potentially part of the paragraph - // preceding the table. - if (row_end_offset && offset != len) { - row->paragraph_offset = offset; - - free_row_cells(parser->mem, row); - - // Scan past the (optional) leading pipe. - offset += scan_table_cell_end(string, len, offset); - - expect_more_cells = 1; - } else { - expect_more_cells = 0; - } - } - } - - if (offset != len || row->n_columns == 0 || int_overflow_abort) { - free_table_row(parser->mem, row); - row = NULL; - } - - return row; -} - -static void try_inserting_table_header_paragraph(cmark_parser *parser, - cmark_node *parent_container, - unsigned char *parent_string, - int paragraph_offset) { - cmark_node *paragraph; - cmark_strbuf *paragraph_content; - - paragraph = cmark_node_new_with_mem(CMARK_NODE_PARAGRAPH, parser->mem); - - paragraph_content = unescape_pipes(parser->mem, parent_string, paragraph_offset); - cmark_strbuf_trim(paragraph_content); - cmark_node_set_string_content(paragraph, (char *) paragraph_content->ptr); - cmark_strbuf_free(paragraph_content); - parser->mem->free(paragraph_content); - - if (!cmark_node_insert_before(parent_container, paragraph)) { - parser->mem->free(paragraph); - } -} - -static cmark_node *try_opening_table_header(cmark_syntax_extension *self, - cmark_parser *parser, - cmark_node *parent_container, - unsigned char *input, int len) { - cmark_node *table_header; - table_row *header_row = NULL; - table_row *delimiter_row = NULL; - node_table_row *ntr; - const char *parent_string; - uint16_t i; - - if (parent_container->flags & CMARK_NODE__TABLE_VISITED) { - return parent_container; - } - - if (!scan_table_start(input, len, cmark_parser_get_first_nonspace(parser))) { - return parent_container; - } - - // Since scan_table_start was successful, we must have a delimiter row. - delimiter_row = row_from_string( - self, parser, input + cmark_parser_get_first_nonspace(parser), - len - cmark_parser_get_first_nonspace(parser)); - // assert may be optimized out, don't rely on it for security boundaries - if (!delimiter_row) { - return parent_container; - } - - assert(delimiter_row); - - cmark_arena_push(); - - // Check for a matching header row. We call `row_from_string` with the entire - // (potentially long) parent container as input, but this should be safe since - // `row_from_string` bails out early if it does not find a row. - parent_string = cmark_node_get_string_content(parent_container); - header_row = row_from_string(self, parser, (unsigned char *)parent_string, - (int)strlen(parent_string)); - if (!header_row || header_row->n_columns != delimiter_row->n_columns) { - free_table_row(parser->mem, delimiter_row); - free_table_row(parser->mem, header_row); - cmark_arena_pop(); - parent_container->flags |= CMARK_NODE__TABLE_VISITED; - return parent_container; - } - - if (cmark_arena_pop()) { - delimiter_row = row_from_string( - self, parser, input + cmark_parser_get_first_nonspace(parser), - len - cmark_parser_get_first_nonspace(parser)); - header_row = row_from_string(self, parser, (unsigned char *)parent_string, - (int)strlen(parent_string)); - // row_from_string can return NULL, add additional check to ensure n_columns match - if (!delimiter_row || !header_row || header_row->n_columns != delimiter_row->n_columns) { - free_table_row(parser->mem, delimiter_row); - free_table_row(parser->mem, header_row); - return parent_container; - } - } - - if (!cmark_node_set_type(parent_container, CMARK_NODE_TABLE)) { - free_table_row(parser->mem, header_row); - free_table_row(parser->mem, delimiter_row); - return parent_container; - } - - if (header_row->paragraph_offset) { - try_inserting_table_header_paragraph(parser, parent_container, (unsigned char *)parent_string, - header_row->paragraph_offset); - } - - cmark_node_set_syntax_extension(parent_container, self); - parent_container->as.opaque = parser->mem->calloc(1, sizeof(node_table)); - set_n_table_columns(parent_container, header_row->n_columns); - - // allocate alignments based on delimiter_row->n_columns - // since we populate the alignments array based on delimiter_row->cells - uint8_t *alignments = - (uint8_t *)parser->mem->calloc(delimiter_row->n_columns, sizeof(uint8_t)); - for (i = 0; i < delimiter_row->n_columns; ++i) { - node_cell *node = &delimiter_row->cells[i]; - bool left = node->buf->ptr[0] == ':', right = node->buf->ptr[node->buf->size - 1] == ':'; - - if (left && right) - alignments[i] = 'c'; - else if (left) - alignments[i] = 'l'; - else if (right) - alignments[i] = 'r'; - } - set_table_alignments(parent_container, alignments); - - table_header = - cmark_parser_add_child(parser, parent_container, CMARK_NODE_TABLE_ROW, - parent_container->start_column); - cmark_node_set_syntax_extension(table_header, self); - table_header->end_column = parent_container->start_column + (int)strlen(parent_string) - 2; - table_header->start_line = table_header->end_line = parent_container->start_line; - - table_header->as.opaque = ntr = (node_table_row *)parser->mem->calloc(1, sizeof(node_table_row)); - ntr->is_header = true; - - for (i = 0; i < header_row->n_columns; ++i) { - node_cell *cell = &header_row->cells[i]; - cmark_node *header_cell = cmark_parser_add_child(parser, table_header, - CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset); - header_cell->start_line = header_cell->end_line = parent_container->start_line; - header_cell->internal_offset = cell->internal_offset; - header_cell->end_column = parent_container->start_column + cell->end_offset; - cmark_node_set_string_content(header_cell, (char *) cell->buf->ptr); - cmark_node_set_syntax_extension(header_cell, self); - set_cell_index(header_cell, i); - } - - incr_table_row_count(parent_container, i); - - cmark_parser_advance_offset( - parser, (char *)input, - (int)strlen((char *)input) - 1 - cmark_parser_get_offset(parser), false); - - free_table_row(parser->mem, header_row); - free_table_row(parser->mem, delimiter_row); - return parent_container; -} - -static cmark_node *try_opening_table_row(cmark_syntax_extension *self, - cmark_parser *parser, - cmark_node *parent_container, - unsigned char *input, int len) { - cmark_node *table_row_block; - table_row *row; - - if (cmark_parser_is_blank(parser)) - return NULL; - - if (get_n_autocompleted_cells(parent_container) > MAX_AUTOCOMPLETED_CELLS) { - return NULL; - } - - table_row_block = - cmark_parser_add_child(parser, parent_container, CMARK_NODE_TABLE_ROW, - parent_container->start_column); - cmark_node_set_syntax_extension(table_row_block, self); - table_row_block->end_column = parent_container->end_column; - table_row_block->as.opaque = parser->mem->calloc(1, sizeof(node_table_row)); - - row = row_from_string(self, parser, input + cmark_parser_get_first_nonspace(parser), - len - cmark_parser_get_first_nonspace(parser)); - - if (!row) { - // clean up the dangling node - cmark_node_free(table_row_block); - return NULL; - } - - { - int i, table_columns = get_n_table_columns(parent_container); - - for (i = 0; i < row->n_columns && i < table_columns; ++i) { - node_cell *cell = &row->cells[i]; - cmark_node *node = cmark_parser_add_child(parser, table_row_block, - CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset); - node->internal_offset = cell->internal_offset; - node->end_column = parent_container->start_column + cell->end_offset; - cmark_node_set_string_content(node, (char *) cell->buf->ptr); - cmark_node_set_syntax_extension(node, self); - set_cell_index(node, i); - } - - incr_table_row_count(parent_container, i); - - for (; i < table_columns; ++i) { - cmark_node *node = cmark_parser_add_child( - parser, table_row_block, CMARK_NODE_TABLE_CELL, 0); - cmark_node_set_syntax_extension(node, self); - set_cell_index(node, i); - } - } - - free_table_row(parser->mem, row); - - cmark_parser_advance_offset(parser, (char *)input, - len - 1 - cmark_parser_get_offset(parser), false); - - return table_row_block; -} - -static cmark_node *try_opening_table_block(cmark_syntax_extension *self, - int indented, cmark_parser *parser, - cmark_node *parent_container, - unsigned char *input, int len) { - cmark_node_type parent_type = cmark_node_get_type(parent_container); - - if (!indented && parent_type == CMARK_NODE_PARAGRAPH) { - return try_opening_table_header(self, parser, parent_container, input, len); - } else if (!indented && parent_type == CMARK_NODE_TABLE) { - return try_opening_table_row(self, parser, parent_container, input, len); - } - - return NULL; -} - -static int matches(cmark_syntax_extension *self, cmark_parser *parser, - unsigned char *input, int len, - cmark_node *parent_container) { - int res = 0; - - if (cmark_node_get_type(parent_container) == CMARK_NODE_TABLE) { - cmark_arena_push(); - table_row *new_row = row_from_string( - self, parser, input + cmark_parser_get_first_nonspace(parser), - len - cmark_parser_get_first_nonspace(parser)); - if (new_row && new_row->n_columns) - res = 1; - free_table_row(parser->mem, new_row); - cmark_arena_pop(); - } - - return res; -} - -static const char *get_type_string(cmark_syntax_extension *self, - cmark_node *node) { - if (node->type == CMARK_NODE_TABLE) { - return "table"; - } else if (node->type == CMARK_NODE_TABLE_ROW) { - if (((node_table_row *)node->as.opaque)->is_header) - return "table_header"; - else - return "table_row"; - } else if (node->type == CMARK_NODE_TABLE_CELL) { - return "table_cell"; - } - - return ""; -} - -static int can_contain(cmark_syntax_extension *extension, cmark_node *node, - cmark_node_type child_type) { - if (node->type == CMARK_NODE_TABLE) { - return child_type == CMARK_NODE_TABLE_ROW; - } else if (node->type == CMARK_NODE_TABLE_ROW) { - return child_type == CMARK_NODE_TABLE_CELL; - } else if (node->type == CMARK_NODE_TABLE_CELL) { - return child_type == CMARK_NODE_TEXT || child_type == CMARK_NODE_CODE || - child_type == CMARK_NODE_EMPH || child_type == CMARK_NODE_STRONG || - child_type == CMARK_NODE_LINK || child_type == CMARK_NODE_IMAGE || - child_type == CMARK_NODE_STRIKETHROUGH || - child_type == CMARK_NODE_HTML_INLINE || - child_type == CMARK_NODE_FOOTNOTE_REFERENCE; - } - return false; -} - -static int contains_inlines(cmark_syntax_extension *extension, - cmark_node *node) { - return node->type == CMARK_NODE_TABLE_CELL; -} - -static void commonmark_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - - if (node->type == CMARK_NODE_TABLE) { - renderer->blankline(renderer); - } else if (node->type == CMARK_NODE_TABLE_ROW) { - if (entering) { - renderer->cr(renderer); - renderer->out(renderer, node, "|", false, LITERAL); - } - } else if (node->type == CMARK_NODE_TABLE_CELL) { - if (entering) { - renderer->out(renderer, node, " ", false, LITERAL); - } else { - renderer->out(renderer, node, " |", false, LITERAL); - if (((node_table_row *)node->parent->as.opaque)->is_header && - !node->next) { - int i; - uint8_t *alignments = get_table_alignments(node->parent->parent); - uint16_t n_cols = - ((node_table *)node->parent->parent->as.opaque)->n_columns; - renderer->cr(renderer); - renderer->out(renderer, node, "|", false, LITERAL); - for (i = 0; i < n_cols; i++) { - switch (alignments[i]) { - case 0: renderer->out(renderer, node, " --- |", false, LITERAL); break; - case 'l': renderer->out(renderer, node, " :-- |", false, LITERAL); break; - case 'c': renderer->out(renderer, node, " :-: |", false, LITERAL); break; - case 'r': renderer->out(renderer, node, " --: |", false, LITERAL); break; - } - } - renderer->cr(renderer); - } - } - } else { - assert(false); - } -} - -static void latex_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - - if (node->type == CMARK_NODE_TABLE) { - if (entering) { - int i; - uint16_t n_cols; - uint8_t *alignments = get_table_alignments(node); - - renderer->cr(renderer); - renderer->out(renderer, node, "\\begin{table}", false, LITERAL); - renderer->cr(renderer); - renderer->out(renderer, node, "\\begin{tabular}{", false, LITERAL); - - n_cols = ((node_table *)node->as.opaque)->n_columns; - for (i = 0; i < n_cols; i++) { - switch(alignments[i]) { - case 0: - case 'l': - renderer->out(renderer, node, "l", false, LITERAL); - break; - case 'c': - renderer->out(renderer, node, "c", false, LITERAL); - break; - case 'r': - renderer->out(renderer, node, "r", false, LITERAL); - break; - } - } - renderer->out(renderer, node, "}", false, LITERAL); - renderer->cr(renderer); - } else { - renderer->out(renderer, node, "\\end{tabular}", false, LITERAL); - renderer->cr(renderer); - renderer->out(renderer, node, "\\end{table}", false, LITERAL); - renderer->cr(renderer); - } - } else if (node->type == CMARK_NODE_TABLE_ROW) { - if (!entering) { - renderer->cr(renderer); - } - } else if (node->type == CMARK_NODE_TABLE_CELL) { - if (!entering) { - if (node->next) { - renderer->out(renderer, node, " & ", false, LITERAL); - } else { - renderer->out(renderer, node, " \\\\", false, LITERAL); - } - } - } else { - assert(false); - } -} - -static const char *xml_attr(cmark_syntax_extension *extension, - cmark_node *node) { - if (node->type == CMARK_NODE_TABLE_CELL) { - if (cmark_gfm_extensions_get_table_row_is_header(node->parent)) { - switch (get_cell_alignment(node)) { - case 'l': return " align=\"left\""; - case 'c': return " align=\"center\""; - case 'r': return " align=\"right\""; - } - } - } - - return NULL; -} - -static void man_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - - if (node->type == CMARK_NODE_TABLE) { - if (entering) { - int i; - uint16_t n_cols; - uint8_t *alignments = get_table_alignments(node); - - renderer->cr(renderer); - renderer->out(renderer, node, ".TS", false, LITERAL); - renderer->cr(renderer); - renderer->out(renderer, node, "tab(@);", false, LITERAL); - renderer->cr(renderer); - - n_cols = ((node_table *)node->as.opaque)->n_columns; - - for (i = 0; i < n_cols; i++) { - switch (alignments[i]) { - case 'l': - renderer->out(renderer, node, "l", false, LITERAL); - break; - case 0: - case 'c': - renderer->out(renderer, node, "c", false, LITERAL); - break; - case 'r': - renderer->out(renderer, node, "r", false, LITERAL); - break; - } - } - - if (n_cols) { - renderer->out(renderer, node, ".", false, LITERAL); - renderer->cr(renderer); - } - } else { - renderer->out(renderer, node, ".TE", false, LITERAL); - renderer->cr(renderer); - } - } else if (node->type == CMARK_NODE_TABLE_ROW) { - if (!entering) { - renderer->cr(renderer); - } - } else if (node->type == CMARK_NODE_TABLE_CELL) { - if (!entering && node->next) { - renderer->out(renderer, node, "@", false, LITERAL); - } - } else { - assert(false); - } -} - -static void html_table_add_align(cmark_strbuf* html, const char* align, int options) { - if (options & CMARK_OPT_TABLE_PREFER_STYLE_ATTRIBUTES) { - cmark_strbuf_puts(html, " style=\"text-align: "); - cmark_strbuf_puts(html, align); - cmark_strbuf_puts(html, "\""); - } else { - cmark_strbuf_puts(html, " align=\""); - cmark_strbuf_puts(html, align); - cmark_strbuf_puts(html, "\""); - } -} - -struct html_table_state { - unsigned need_closing_table_body : 1; - unsigned in_table_header : 1; -}; - -static void html_render(cmark_syntax_extension *extension, - cmark_html_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - cmark_strbuf *html = renderer->html; - - // XXX: we just monopolise renderer->opaque. - struct html_table_state *table_state = - (struct html_table_state *)&renderer->opaque; - - if (node->type == CMARK_NODE_TABLE) { - if (entering) { - cmark_html_render_cr(html); - cmark_strbuf_puts(html, "'); - table_state->need_closing_table_body = false; - } else { - if (table_state->need_closing_table_body) { - cmark_html_render_cr(html); - cmark_strbuf_puts(html, ""); - cmark_html_render_cr(html); - } - table_state->need_closing_table_body = false; - cmark_html_render_cr(html); - cmark_strbuf_puts(html, ""); - cmark_html_render_cr(html); - } - } else if (node->type == CMARK_NODE_TABLE_ROW) { - if (entering) { - cmark_html_render_cr(html); - if (((node_table_row *)node->as.opaque)->is_header) { - table_state->in_table_header = 1; - cmark_strbuf_puts(html, ""); - cmark_html_render_cr(html); - } else if (!table_state->need_closing_table_body) { - cmark_strbuf_puts(html, ""); - cmark_html_render_cr(html); - table_state->need_closing_table_body = 1; - } - cmark_strbuf_puts(html, "'); - } else { - cmark_html_render_cr(html); - cmark_strbuf_puts(html, ""); - if (((node_table_row *)node->as.opaque)->is_header) { - cmark_html_render_cr(html); - cmark_strbuf_puts(html, ""); - table_state->in_table_header = false; - } - } - } else if (node->type == CMARK_NODE_TABLE_CELL) { - if (entering) { - cmark_html_render_cr(html); - if (table_state->in_table_header) { - cmark_strbuf_puts(html, "'); - } else { - if (table_state->in_table_header) { - cmark_strbuf_puts(html, ""); - } else { - cmark_strbuf_puts(html, ""); - } - } - } else { - assert(false); - } -} - -static void opaque_alloc(cmark_syntax_extension *self, cmark_mem *mem, cmark_node *node) { - if (node->type == CMARK_NODE_TABLE) { - node->as.opaque = mem->calloc(1, sizeof(node_table)); - } else if (node->type == CMARK_NODE_TABLE_ROW) { - node->as.opaque = mem->calloc(1, sizeof(node_table_row)); - } else if (node->type == CMARK_NODE_TABLE_CELL) { - node->as.opaque = mem->calloc(1, sizeof(node_cell)); - } -} - -static void opaque_free(cmark_syntax_extension *self, cmark_mem *mem, cmark_node *node) { - if (node->type == CMARK_NODE_TABLE) { - free_node_table(mem, node->as.opaque); - } else if (node->type == CMARK_NODE_TABLE_ROW) { - free_node_table_row(mem, node->as.opaque); - } -} - -static int escape(cmark_syntax_extension *self, cmark_node *node, int c) { - return - node->type != CMARK_NODE_TABLE && - node->type != CMARK_NODE_TABLE_ROW && - node->type != CMARK_NODE_TABLE_CELL && - c == '|'; -} - -cmark_syntax_extension *create_table_extension(void) { - cmark_syntax_extension *self = cmark_syntax_extension_new("table"); - - cmark_register_node_flag(&CMARK_NODE__TABLE_VISITED); - cmark_syntax_extension_set_match_block_func(self, matches); - cmark_syntax_extension_set_open_block_func(self, try_opening_table_block); - cmark_syntax_extension_set_get_type_string_func(self, get_type_string); - cmark_syntax_extension_set_can_contain_func(self, can_contain); - cmark_syntax_extension_set_contains_inlines_func(self, contains_inlines); - cmark_syntax_extension_set_commonmark_render_func(self, commonmark_render); - cmark_syntax_extension_set_plaintext_render_func(self, commonmark_render); - cmark_syntax_extension_set_latex_render_func(self, latex_render); - cmark_syntax_extension_set_xml_attr_func(self, xml_attr); - cmark_syntax_extension_set_man_render_func(self, man_render); - cmark_syntax_extension_set_html_render_func(self, html_render); - cmark_syntax_extension_set_opaque_alloc_func(self, opaque_alloc); - cmark_syntax_extension_set_opaque_free_func(self, opaque_free); - cmark_syntax_extension_set_commonmark_escape_func(self, escape); - CMARK_NODE_TABLE = cmark_syntax_extension_add_node(0); - CMARK_NODE_TABLE_ROW = cmark_syntax_extension_add_node(0); - CMARK_NODE_TABLE_CELL = cmark_syntax_extension_add_node(0); - - return self; -} - -uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node) { - if (node->type != CMARK_NODE_TABLE) - return 0; - - return ((node_table *)node->as.opaque)->n_columns; -} - -uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node) { - if (node->type != CMARK_NODE_TABLE) - return 0; - - return ((node_table *)node->as.opaque)->alignments; -} - -int cmark_gfm_extensions_set_table_columns(cmark_node *node, uint16_t n_columns) { - return set_n_table_columns(node, n_columns); -} - -int cmark_gfm_extensions_set_table_alignments(cmark_node *node, uint16_t ncols, uint8_t *alignments) { - uint8_t *a = (uint8_t *)cmark_node_mem(node)->calloc(1, ncols); - memcpy(a, alignments, ncols); - return set_table_alignments(node, a); -} - -int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node) -{ - if (!node || node->type != CMARK_NODE_TABLE_ROW) - return 0; - - return ((node_table_row *)node->as.opaque)->is_header; -} - -int cmark_gfm_extensions_set_table_row_is_header(cmark_node *node, int is_header) -{ - if (!node || node->type != CMARK_NODE_TABLE_ROW) - return 0; - - ((node_table_row *)node->as.opaque)->is_header = (is_header != 0); - return 1; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.h deleted file mode 100644 index f6a0634..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef CMARK_GFM_TABLE_H -#define CMARK_GFM_TABLE_H - -#include "cmark-gfm-core-extensions.h" - - -extern cmark_node_type CMARK_NODE_TABLE, CMARK_NODE_TABLE_ROW, - CMARK_NODE_TABLE_CELL; - -cmark_syntax_extension *create_table_extension(void); - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.o deleted file mode 100644 index 3f2ce51..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/table.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.c deleted file mode 100644 index 262352e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.c +++ /dev/null @@ -1,60 +0,0 @@ -#include "tagfilter.h" -#include -#include - -static const char *blacklist[] = { - "title", "textarea", "style", "xmp", "iframe", - "noembed", "noframes", "script", "plaintext", NULL, -}; - -static int is_tag(const unsigned char *tag_data, size_t tag_size, - const char *tagname) { - size_t i; - - if (tag_size < 3 || tag_data[0] != '<') - return 0; - - i = 1; - - if (tag_data[i] == '/') { - i++; - } - - for (; i < tag_size; ++i, ++tagname) { - if (*tagname == 0) - break; - - if (tolower(tag_data[i]) != *tagname) - return 0; - } - - if (i == tag_size) - return 0; - - if (cmark_isspace(tag_data[i]) || tag_data[i] == '>') - return 1; - - if (tag_data[i] == '/' && tag_size >= i + 2 && tag_data[i + 1] == '>') - return 1; - - return 0; -} - -static int filter(cmark_syntax_extension *ext, const unsigned char *tag, - size_t tag_len) { - const char **it; - - for (it = blacklist; *it; ++it) { - if (is_tag(tag, tag_len, *it)) { - return 0; - } - } - - return 1; -} - -cmark_syntax_extension *create_tagfilter_extension(void) { - cmark_syntax_extension *ext = cmark_syntax_extension_new("tagfilter"); - cmark_syntax_extension_set_html_filter_func(ext, filter); - return ext; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.h deleted file mode 100644 index 9a5f388..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef CMARK_GFM_TAGFILTER_H -#define CMARK_GFM_TAGFILTER_H - -#include "cmark-gfm-core-extensions.h" - -cmark_syntax_extension *create_tagfilter_extension(void); - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.o deleted file mode 100644 index 1befe5c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tagfilter.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.c deleted file mode 100644 index 7bef454..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.c +++ /dev/null @@ -1,156 +0,0 @@ -#include "tasklist.h" -#include -#include -#include -#include "ext_scanners.h" - -typedef enum { - CMARK_TASKLIST_NOCHECKED, - CMARK_TASKLIST_CHECKED, -} cmark_tasklist_type; - -// Local constants -static const char *TYPE_STRING = "tasklist"; - -static const char *get_type_string(cmark_syntax_extension *extension, cmark_node *node) { - return TYPE_STRING; -} - - -// Return 1 if state was set, 0 otherwise -int cmark_gfm_extensions_set_tasklist_item_checked(cmark_node *node, bool is_checked) { - // The node has to exist, and be an extension, and actually be the right type in order to get the value. - if (!node || !node->extension || strcmp(cmark_node_get_type_string(node), TYPE_STRING)) - return 0; - - node->as.list.checked = is_checked; - return 1; -} - -bool cmark_gfm_extensions_get_tasklist_item_checked(cmark_node *node) { - if (!node || !node->extension || strcmp(cmark_node_get_type_string(node), TYPE_STRING)) - return false; - - if (node->as.list.checked) { - return true; - } - else { - return false; - } -} - -static bool parse_node_item_prefix(cmark_parser *parser, const char *input, - cmark_node *container) { - bool res = false; - - if (parser->indent >= - container->as.list.marker_offset + container->as.list.padding) { - cmark_parser_advance_offset(parser, input, container->as.list.marker_offset + - container->as.list.padding, - true); - res = true; - } else if (parser->blank && container->first_child != NULL) { - // if container->first_child is NULL, then the opening line - // of the list item was blank after the list marker; in this - // case, we are done with the list item. - cmark_parser_advance_offset(parser, input, parser->first_nonspace - parser->offset, - false); - res = true; - } - return res; -} - -static int matches(cmark_syntax_extension *self, cmark_parser *parser, - unsigned char *input, int len, - cmark_node *parent_container) { - return parse_node_item_prefix(parser, (const char*)input, parent_container); -} - -static int can_contain(cmark_syntax_extension *extension, cmark_node *node, - cmark_node_type child_type) { - return (node->type == CMARK_NODE_ITEM) ? 1 : 0; -} - -static cmark_node *open_tasklist_item(cmark_syntax_extension *self, - int indented, cmark_parser *parser, - cmark_node *parent_container, - unsigned char *input, int len) { - cmark_node_type node_type = cmark_node_get_type(parent_container); - if (node_type != CMARK_NODE_ITEM) { - return NULL; - } - - bufsize_t matched = scan_tasklist(input, len, 0); - if (!matched) { - return NULL; - } - - cmark_node_set_syntax_extension(parent_container, self); - cmark_parser_advance_offset(parser, (char *)input, 3, false); - - // Either an upper or lower case X means the task is completed. - parent_container->as.list.checked = (strstr((char*)input, "[x]") || strstr((char*)input, "[X]")); - - return NULL; -} - -static void commonmark_render(cmark_syntax_extension *extension, - cmark_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - if (entering) { - renderer->cr(renderer); - if (node->as.list.checked) { - renderer->out(renderer, node, "- [x] ", false, LITERAL); - } else { - renderer->out(renderer, node, "- [ ] ", false, LITERAL); - } - cmark_strbuf_puts(renderer->prefix, " "); - } else { - cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 2); - renderer->cr(renderer); - } -} - -static void html_render(cmark_syntax_extension *extension, - cmark_html_renderer *renderer, cmark_node *node, - cmark_event_type ev_type, int options) { - bool entering = (ev_type == CMARK_EVENT_ENTER); - if (entering) { - cmark_html_render_cr(renderer->html); - cmark_strbuf_puts(renderer->html, "html, options); - cmark_strbuf_putc(renderer->html, '>'); - if (node->as.list.checked) { - cmark_strbuf_puts(renderer->html, " "); - } else { - cmark_strbuf_puts(renderer->html, " "); - } - } else { - cmark_strbuf_puts(renderer->html, "\n"); - } -} - -static const char *xml_attr(cmark_syntax_extension *extension, - cmark_node *node) { - if (node->as.list.checked) { - return " completed=\"true\""; - } else { - return " completed=\"false\""; - } -} - -cmark_syntax_extension *create_tasklist_extension(void) { - cmark_syntax_extension *ext = cmark_syntax_extension_new("tasklist"); - - cmark_syntax_extension_set_match_block_func(ext, matches); - cmark_syntax_extension_set_get_type_string_func(ext, get_type_string); - cmark_syntax_extension_set_open_block_func(ext, open_tasklist_item); - cmark_syntax_extension_set_can_contain_func(ext, can_contain); - cmark_syntax_extension_set_commonmark_render_func(ext, commonmark_render); - cmark_syntax_extension_set_plaintext_render_func(ext, commonmark_render); - cmark_syntax_extension_set_html_render_func(ext, html_render); - cmark_syntax_extension_set_xml_attr_func(ext, xml_attr); - - return ext; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.h deleted file mode 100644 index 26e9d96..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef TASKLIST_H -#define TASKLIST_H - -#include "cmark-gfm-core-extensions.h" - -cmark_syntax_extension *create_tasklist_extension(void); - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.o deleted file mode 100644 index 89dcd67..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/tasklist.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.c deleted file mode 100644 index c29bbf7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.c +++ /dev/null @@ -1,317 +0,0 @@ -#include -#include -#include - -#include "cmark_ctype.h" -#include "utf8.h" - -static const int8_t utf8proc_utf8class[256] = { - 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0}; - -static void encode_unknown(cmark_strbuf *buf) { - static const uint8_t repl[] = {239, 191, 189}; - cmark_strbuf_put(buf, repl, 3); -} - -static int utf8proc_charlen(const uint8_t *str, bufsize_t str_len) { - int length, i; - - if (!str_len) - return 0; - - length = utf8proc_utf8class[str[0]]; - - if (!length) - return -1; - - if (str_len >= 0 && (bufsize_t)length > str_len) - return -str_len; - - for (i = 1; i < length; i++) { - if ((str[i] & 0xC0) != 0x80) - return -i; - } - - return length; -} - -// Validate a single UTF-8 character according to RFC 3629. -static int utf8proc_valid(const uint8_t *str, bufsize_t str_len) { - int length = utf8proc_utf8class[str[0]]; - - if (!length) - return -1; - - if ((bufsize_t)length > str_len) - return -str_len; - - switch (length) { - case 2: - if ((str[1] & 0xC0) != 0x80) - return -1; - if (str[0] < 0xC2) { - // Overlong - return -length; - } - break; - - case 3: - if ((str[1] & 0xC0) != 0x80) - return -1; - if ((str[2] & 0xC0) != 0x80) - return -2; - if (str[0] == 0xE0) { - if (str[1] < 0xA0) { - // Overlong - return -length; - } - } else if (str[0] == 0xED) { - if (str[1] >= 0xA0) { - // Surrogate - return -length; - } - } - break; - - case 4: - if ((str[1] & 0xC0) != 0x80) - return -1; - if ((str[2] & 0xC0) != 0x80) - return -2; - if ((str[3] & 0xC0) != 0x80) - return -3; - if (str[0] == 0xF0) { - if (str[1] < 0x90) { - // Overlong - return -length; - } - } else if (str[0] >= 0xF4) { - if (str[0] > 0xF4 || str[1] >= 0x90) { - // Above 0x10FFFF - return -length; - } - } - break; - } - - return length; -} - -void cmark_utf8proc_check(cmark_strbuf *ob, const uint8_t *line, - bufsize_t size) { - bufsize_t i = 0; - - while (i < size) { - bufsize_t org = i; - int charlen = 0; - - while (i < size) { - if (line[i] < 0x80 && line[i] != 0) { - i++; - } else if (line[i] >= 0x80) { - charlen = utf8proc_valid(line + i, size - i); - if (charlen < 0) { - charlen = -charlen; - break; - } - i += charlen; - } else if (line[i] == 0) { - // ASCII NUL is technically valid but rejected - // for security reasons. - charlen = 1; - break; - } - } - - if (i > org) { - cmark_strbuf_put(ob, line + org, i - org); - } - - if (i >= size) { - break; - } else { - // Invalid UTF-8 - encode_unknown(ob); - i += charlen; - } - } -} - -int cmark_utf8proc_iterate(const uint8_t *str, bufsize_t str_len, - int32_t *dst) { - int length; - int32_t uc = -1; - - *dst = -1; - length = utf8proc_charlen(str, str_len); - if (length < 0) - return -1; - - switch (length) { - case 1: - uc = str[0]; - break; - case 2: - uc = ((str[0] & 0x1F) << 6) + (str[1] & 0x3F); - if (uc < 0x80) - uc = -1; - break; - case 3: - uc = ((str[0] & 0x0F) << 12) + ((str[1] & 0x3F) << 6) + (str[2] & 0x3F); - if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000)) - uc = -1; - break; - case 4: - uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12) + - ((str[2] & 0x3F) << 6) + (str[3] & 0x3F); - if (uc < 0x10000 || uc >= 0x110000) - uc = -1; - break; - } - - if (uc < 0) - return -1; - - *dst = uc; - return length; -} - -void cmark_utf8proc_encode_char(int32_t uc, cmark_strbuf *buf) { - uint8_t dst[4]; - bufsize_t len = 0; - - assert(uc >= 0); - - if (uc < 0x80) { - dst[0] = (uint8_t)(uc); - len = 1; - } else if (uc < 0x800) { - dst[0] = (uint8_t)(0xC0 + (uc >> 6)); - dst[1] = 0x80 + (uc & 0x3F); - len = 2; - } else if (uc == 0xFFFF) { - dst[0] = 0xFF; - len = 1; - } else if (uc == 0xFFFE) { - dst[0] = 0xFE; - len = 1; - } else if (uc < 0x10000) { - dst[0] = (uint8_t)(0xE0 + (uc >> 12)); - dst[1] = 0x80 + ((uc >> 6) & 0x3F); - dst[2] = 0x80 + (uc & 0x3F); - len = 3; - } else if (uc < 0x110000) { - dst[0] = (uint8_t)(0xF0 + (uc >> 18)); - dst[1] = 0x80 + ((uc >> 12) & 0x3F); - dst[2] = 0x80 + ((uc >> 6) & 0x3F); - dst[3] = 0x80 + (uc & 0x3F); - len = 4; - } else { - encode_unknown(buf); - return; - } - - cmark_strbuf_put(buf, dst, len); -} - -void cmark_utf8proc_case_fold(cmark_strbuf *dest, const uint8_t *str, - bufsize_t len) { - int32_t c; - -#define bufpush(x) cmark_utf8proc_encode_char(x, dest) - - while (len > 0) { - bufsize_t char_len = cmark_utf8proc_iterate(str, len, &c); - - if (char_len >= 0) { -#include "case_fold_switch.inc" - } else { - encode_unknown(dest); - char_len = -char_len; - } - - str += char_len; - len -= char_len; - } -} - -// matches anything in the Zs class, plus LF, CR, TAB, FF. -int cmark_utf8proc_is_space(int32_t uc) { - return (uc == 9 || uc == 10 || uc == 12 || uc == 13 || uc == 32 || - uc == 160 || uc == 5760 || (uc >= 8192 && uc <= 8202) || uc == 8239 || - uc == 8287 || uc == 12288); -} - -// matches anything in the P[cdefios] classes. -int cmark_utf8proc_is_punctuation(int32_t uc) { - return ( - (uc < 128 && cmark_ispunct((char)uc)) || uc == 161 || uc == 167 || - uc == 171 || uc == 182 || uc == 183 || uc == 187 || uc == 191 || - uc == 894 || uc == 903 || (uc >= 1370 && uc <= 1375) || uc == 1417 || - uc == 1418 || uc == 1470 || uc == 1472 || uc == 1475 || uc == 1478 || - uc == 1523 || uc == 1524 || uc == 1545 || uc == 1546 || uc == 1548 || - uc == 1549 || uc == 1563 || uc == 1566 || uc == 1567 || - (uc >= 1642 && uc <= 1645) || uc == 1748 || (uc >= 1792 && uc <= 1805) || - (uc >= 2039 && uc <= 2041) || (uc >= 2096 && uc <= 2110) || uc == 2142 || - uc == 2404 || uc == 2405 || uc == 2416 || uc == 2800 || uc == 3572 || - uc == 3663 || uc == 3674 || uc == 3675 || (uc >= 3844 && uc <= 3858) || - uc == 3860 || (uc >= 3898 && uc <= 3901) || uc == 3973 || - (uc >= 4048 && uc <= 4052) || uc == 4057 || uc == 4058 || - (uc >= 4170 && uc <= 4175) || uc == 4347 || (uc >= 4960 && uc <= 4968) || - uc == 5120 || uc == 5741 || uc == 5742 || uc == 5787 || uc == 5788 || - (uc >= 5867 && uc <= 5869) || uc == 5941 || uc == 5942 || - (uc >= 6100 && uc <= 6102) || (uc >= 6104 && uc <= 6106) || - (uc >= 6144 && uc <= 6154) || uc == 6468 || uc == 6469 || uc == 6686 || - uc == 6687 || (uc >= 6816 && uc <= 6822) || (uc >= 6824 && uc <= 6829) || - (uc >= 7002 && uc <= 7008) || (uc >= 7164 && uc <= 7167) || - (uc >= 7227 && uc <= 7231) || uc == 7294 || uc == 7295 || - (uc >= 7360 && uc <= 7367) || uc == 7379 || (uc >= 8208 && uc <= 8231) || - (uc >= 8240 && uc <= 8259) || (uc >= 8261 && uc <= 8273) || - (uc >= 8275 && uc <= 8286) || uc == 8317 || uc == 8318 || uc == 8333 || - uc == 8334 || (uc >= 8968 && uc <= 8971) || uc == 9001 || uc == 9002 || - (uc >= 10088 && uc <= 10101) || uc == 10181 || uc == 10182 || - (uc >= 10214 && uc <= 10223) || (uc >= 10627 && uc <= 10648) || - (uc >= 10712 && uc <= 10715) || uc == 10748 || uc == 10749 || - (uc >= 11513 && uc <= 11516) || uc == 11518 || uc == 11519 || - uc == 11632 || (uc >= 11776 && uc <= 11822) || - (uc >= 11824 && uc <= 11842) || (uc >= 12289 && uc <= 12291) || - (uc >= 12296 && uc <= 12305) || (uc >= 12308 && uc <= 12319) || - uc == 12336 || uc == 12349 || uc == 12448 || uc == 12539 || uc == 42238 || - uc == 42239 || (uc >= 42509 && uc <= 42511) || uc == 42611 || - uc == 42622 || (uc >= 42738 && uc <= 42743) || - (uc >= 43124 && uc <= 43127) || uc == 43214 || uc == 43215 || - (uc >= 43256 && uc <= 43258) || uc == 43310 || uc == 43311 || - uc == 43359 || (uc >= 43457 && uc <= 43469) || uc == 43486 || - uc == 43487 || (uc >= 43612 && uc <= 43615) || uc == 43742 || - uc == 43743 || uc == 43760 || uc == 43761 || uc == 44011 || uc == 64830 || - uc == 64831 || (uc >= 65040 && uc <= 65049) || - (uc >= 65072 && uc <= 65106) || (uc >= 65108 && uc <= 65121) || - uc == 65123 || uc == 65128 || uc == 65130 || uc == 65131 || - (uc >= 65281 && uc <= 65283) || (uc >= 65285 && uc <= 65290) || - (uc >= 65292 && uc <= 65295) || uc == 65306 || uc == 65307 || - uc == 65311 || uc == 65312 || (uc >= 65339 && uc <= 65341) || - uc == 65343 || uc == 65371 || uc == 65373 || - (uc >= 65375 && uc <= 65381) || (uc >= 65792 && uc <= 65794) || - uc == 66463 || uc == 66512 || uc == 66927 || uc == 67671 || uc == 67871 || - uc == 67903 || (uc >= 68176 && uc <= 68184) || uc == 68223 || - (uc >= 68336 && uc <= 68342) || (uc >= 68409 && uc <= 68415) || - (uc >= 68505 && uc <= 68508) || (uc >= 69703 && uc <= 69709) || - uc == 69819 || uc == 69820 || (uc >= 69822 && uc <= 69825) || - (uc >= 69952 && uc <= 69955) || uc == 70004 || uc == 70005 || - (uc >= 70085 && uc <= 70088) || uc == 70093 || - (uc >= 70200 && uc <= 70205) || uc == 70854 || - (uc >= 71105 && uc <= 71113) || (uc >= 71233 && uc <= 71235) || - (uc >= 74864 && uc <= 74868) || uc == 92782 || uc == 92783 || - uc == 92917 || (uc >= 92983 && uc <= 92987) || uc == 92996 || - uc == 113823); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.h deleted file mode 100644 index 04ec161..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef CMARK_UTF8_H -#define CMARK_UTF8_H - -#include -#include "buffer.h" - -#ifdef __cplusplus -extern "C" { -#endif - -CMARK_GFM_EXPORT -void cmark_utf8proc_case_fold(cmark_strbuf *dest, const uint8_t *str, - bufsize_t len); - -CMARK_GFM_EXPORT -void cmark_utf8proc_encode_char(int32_t uc, cmark_strbuf *buf); - -CMARK_GFM_EXPORT -int cmark_utf8proc_iterate(const uint8_t *str, bufsize_t str_len, int32_t *dst); - -CMARK_GFM_EXPORT -void cmark_utf8proc_check(cmark_strbuf *dest, const uint8_t *line, - bufsize_t size); - -CMARK_GFM_EXPORT -int cmark_utf8proc_is_space(int32_t uc); - -CMARK_GFM_EXPORT -int cmark_utf8proc_is_punctuation(int32_t uc); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.o deleted file mode 100644 index 96fba6d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/utf8.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/xml.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/xml.c deleted file mode 100644 index 5753e5a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/xml.c +++ /dev/null @@ -1,182 +0,0 @@ -#include -#include -#include -#include - -#include "config.h" -#include "cmark-gfm.h" -#include "node.h" -#include "buffer.h" -#include "houdini.h" -#include "syntax_extension.h" - -#define BUFFER_SIZE 100 -#define MAX_INDENT 40 - -// Functions to convert cmark_nodes to XML strings. - -static void escape_xml(cmark_strbuf *dest, const unsigned char *source, - bufsize_t length) { - houdini_escape_html0(dest, source, length, 0); -} - -struct render_state { - cmark_strbuf *xml; - int indent; -}; - -static CMARK_INLINE void indent(struct render_state *state) { - int i; - for (i = 0; i < state->indent && i < MAX_INDENT; i++) { - cmark_strbuf_putc(state->xml, ' '); - } -} - -static int S_render_node(cmark_node *node, cmark_event_type ev_type, - struct render_state *state, int options) { - cmark_strbuf *xml = state->xml; - bool literal = false; - cmark_delim_type delim; - bool entering = (ev_type == CMARK_EVENT_ENTER); - char buffer[BUFFER_SIZE]; - - if (entering) { - indent(state); - cmark_strbuf_putc(xml, '<'); - cmark_strbuf_puts(xml, cmark_node_get_type_string(node)); - - if (options & CMARK_OPT_SOURCEPOS && node->start_line != 0) { - snprintf(buffer, BUFFER_SIZE, " sourcepos=\"%d:%d-%d:%d\"", - node->start_line, node->start_column, node->end_line, - node->end_column); - cmark_strbuf_puts(xml, buffer); - } - - if (node->extension && node->extension->xml_attr_func) { - const char* r = node->extension->xml_attr_func(node->extension, node); - if (r != NULL) - cmark_strbuf_puts(xml, r); - } - - literal = false; - - switch (node->type) { - case CMARK_NODE_DOCUMENT: - cmark_strbuf_puts(xml, " xmlns=\"http://commonmark.org/xml/1.0\""); - break; - case CMARK_NODE_TEXT: - case CMARK_NODE_CODE: - case CMARK_NODE_HTML_BLOCK: - case CMARK_NODE_HTML_INLINE: - cmark_strbuf_puts(xml, " xml:space=\"preserve\">"); - escape_xml(xml, node->as.literal.data, node->as.literal.len); - cmark_strbuf_puts(xml, "as.heading.level); - cmark_strbuf_puts(xml, buffer); - break; - case CMARK_NODE_CODE_BLOCK: - if (node->as.code.info.len > 0) { - cmark_strbuf_puts(xml, " info=\""); - escape_xml(xml, node->as.code.info.data, node->as.code.info.len); - cmark_strbuf_putc(xml, '"'); - } - cmark_strbuf_puts(xml, " xml:space=\"preserve\">"); - escape_xml(xml, node->as.code.literal.data, node->as.code.literal.len); - cmark_strbuf_puts(xml, "as.custom.on_enter.data, - node->as.custom.on_enter.len); - cmark_strbuf_putc(xml, '"'); - cmark_strbuf_puts(xml, " on_exit=\""); - escape_xml(xml, node->as.custom.on_exit.data, - node->as.custom.on_exit.len); - cmark_strbuf_putc(xml, '"'); - break; - case CMARK_NODE_LINK: - case CMARK_NODE_IMAGE: - cmark_strbuf_puts(xml, " destination=\""); - escape_xml(xml, node->as.link.url.data, node->as.link.url.len); - cmark_strbuf_putc(xml, '"'); - cmark_strbuf_puts(xml, " title=\""); - escape_xml(xml, node->as.link.title.data, node->as.link.title.len); - cmark_strbuf_putc(xml, '"'); - break; - default: - break; - } - if (node->first_child) { - state->indent += 2; - } else if (!literal) { - cmark_strbuf_puts(xml, " /"); - } - cmark_strbuf_puts(xml, ">\n"); - - } else if (node->first_child) { - state->indent -= 2; - indent(state); - cmark_strbuf_puts(xml, "\n"); - } - - return 1; -} - -char *cmark_render_xml(cmark_node *root, int options) { - return cmark_render_xml_with_mem(root, options, cmark_node_mem(root)); -} - -char *cmark_render_xml_with_mem(cmark_node *root, int options, cmark_mem *mem) { - char *result; - cmark_strbuf xml = CMARK_BUF_INIT(mem); - cmark_event_type ev_type; - cmark_node *cur; - struct render_state state = {&xml, 0}; - - cmark_iter *iter = cmark_iter_new(root); - - cmark_strbuf_puts(state.xml, "\n"); - cmark_strbuf_puts(state.xml, - "\n"); - while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { - cur = cmark_iter_get_node(iter); - S_render_node(cur, ev_type, &state, options); - } - result = (char *)cmark_strbuf_detach(&xml); - - cmark_iter_free(iter); - return result; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/xml.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/xml.o deleted file mode 100644 index 914721b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/commonmarker-0.23.10/ext/commonmarker/xml.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/CHANGELOG.md deleted file mode 100644 index 17a2a64..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/CHANGELOG.md +++ /dev/null @@ -1,561 +0,0 @@ -## Current - -## Release v1.2.2 (24 Feb 2023) - -* (#993) Fix arguments passed to `Concurrent::Map`'s `default_proc`. - -## Release v1.2.1 (24 Feb 2023) - -* (#990) Add missing `require 'fiber'` for `FiberLocalVar`. -* (#989) Optimize `Concurrent::Map#[]` on CRuby by letting the backing Hash handle the `default_proc`. - -## Release v1.2.0 (23 Jan 2023) - -* (#962) Fix ReentrantReadWriteLock to use the same granularity for locals as for Mutex it uses. -* (#983) Add FiberLocalVar -* (#934) concurrent-ruby now supports requiring individual classes (public classes listed in the docs), e.g., `require 'concurrent/map'` -* (#976) Let `Promises.any_fulfilled_future` take an `Event` -* Improve documentation of various classes -* (#975) Set the Ruby compatibility version at 2.3 -* (#972) Remove Rubinius-related code - -## Release v1.1.10 (22 Mar 2022) - -concurrent-ruby: - -* (#951) Set the Ruby compatibility version at 2.2 -* (#939, #933) The `caller_runs` fallback policy no longer blocks reads from the job queue by worker threads -* (#938, #761, #652) You can now explicitly `prune_pool` a thread pool (Sylvain Joyeux) -* (#937, #757, #670) We switched the Yahoo stock API for demos to Alpha Vantage (Gustavo Caso) -* (#932, #931) We changed how `SafeTaskExecutor` handles local jump errors (Aaron Jensen) -* (#927) You can use keyword arguments in your initialize when using `Async` (Matt Larraz) -* (#926, #639) We removed timeout from `TimerTask` because it wasn't sound, and now it's a no-op with a warning (Jacob Atzen) -* (#919) If you double-lock a re-entrant read-write lock, we promote to locked for writing (zp yuan) -* (#915) `monotonic_time` now accepts an optional unit parameter, as Ruby's `clock_gettime` (Jean Boussier) - -## Release v1.1.9 (5 Jun 2021) - -concurrent-ruby: - -* (#866) Child promise state not set to :pending immediately after #execute when parent has completed -* (#905, #872) Fix RubyNonConcurrentPriorityQueue#delete method -* (2df0337d) Make sure locks are not shared on shared when objects are dup/cloned -* (#900, #906, #796, #847, #911) Fix Concurrent::Set tread-safety issues on CRuby -* (#907) Add new ConcurrentMap backend for TruffleRuby - -## Release v1.1.8 (20 January 2021) - -concurrent-ruby: - -* (#885) Fix race condition in TVar for stale reads -* (#884) RubyThreadLocalVar: Do not iterate over hash which might conflict with new pair addition - -## Release v1.1.7 (6 August 2020) - -concurrent-ruby: - -* (#879) Consider falsy value on `Concurrent::Map#compute_if_absent` for fast non-blocking path -* (#876) Reset Async queue on forking, makes Async fork-safe -* (#856) Avoid running problematic code in RubyThreadLocalVar on MRI that occasionally results in segfault -* (#853) Introduce ThreadPoolExecutor without a Queue - -## Release v1.1.6, edge v0.6.0 (10 Feb 2020) - -concurrent-ruby: - -* (#841) Concurrent.disable_at_exit_handlers! is no longer needed and was deprecated. -* (#841) AbstractExecutorService#auto_terminate= was deprecated and has no effect. - Set :auto_terminate option instead when executor is initialized. - -## Release v1.1.6.pre1, edge v0.6.0.pre1 (26 Jan 2020) - -concurrent-ruby: - -* (#828) Allow to name executors, the name is also used to name their threads -* (#838) Implement #dup and #clone for structs -* (#821) Safer finalizers for thread local variables -* Documentation fixes -* (#814) Use Ruby's Etc.nprocessors if available -* (#812) Fix directory structure not to mess with packaging tools -* (#840) Fix termination of pools on JRuby - -concurrent-ruby-edge: - -* Add WrappingExecutor (#830) - -## Release v1.1.5, edge v0.5.0 (10 Mar 2019) - -concurrent-ruby: - -* fix potential leak of context on JRuby and Java 7 - -concurrent-ruby-edge: - -* Add finalized Concurrent::Cancellation -* Add finalized Concurrent::Throttle -* Add finalized Concurrent::Promises::Channel -* Add new Concurrent::ErlangActor - -## Release v1.1.4 (14 Dec 2018) - -* (#780) Remove java_alias of 'submit' method of Runnable to let executor service work on java 11 -* (#776) Fix NameError on defining a struct with a name which is already taken in an ancestor - -## Release v1.1.3 (7 Nov 2018) - -* (#775) fix partial require of the gem (although not officially supported) - -## Release v1.1.2 (6 Nov 2018) - -* (#773) more defensive 1.9.3 support - -## Release v1.1.1, edge v0.4.1 (1 Nov 2018) - -* (#768) add support for 1.9.3 back - -## Release v1.1.0, edge v0.4.0 (31 OCt 2018) (yanked) - -* (#768) yanked because of issues with removed 1.9.3 support - -## Release v1.1.0.pre2, edge v0.4.0.pre2 (18 Sep 2018) - -concurrent-ruby: - -* fixed documentation and README links -* fix Set for TruffleRuby and Rubinius -* use properly supported TruffleRuby APIs - -concurrent-ruby-edge: - -* add Promises.zip_futures_over_on - -## Release v1.1.0.pre1, edge v0.4.0.pre1 (15 Aug 2018) - -concurrent-ruby: - -* requires at least Ruby 2.0 -* [Promises](http://ruby-concurrency.github.io/concurrent-ruby/1.1.0/Concurrent/Promises.html) - are moved from `concurrent-ruby-edge` to `concurrent-ruby` -* Add support for TruffleRuby - * (#734) Fix Array/Hash/Set construction broken on TruffleRuby - * AtomicReference fixed -* CI stabilization -* remove sharp dependency edge -> core -* remove warnings -* documentation updates -* Exchanger is no longer documented as edge since it was already available in - `concurrent-ruby` -* (#644) Fix Map#each and #each_pair not returning enumerator outside of MRI -* (#659) Edge promises fail during error handling -* (#741) Raise on recursive Delay#value call -* (#727) #717 fix global IO executor on JRuby -* (#740) Drop support for CRuby 1.9, JRuby 1.7, Rubinius. -* (#737) Move AtomicMarkableReference out of Edge -* (#708) Prefer platform specific memory barriers -* (#735) Fix wrong expected exception in channel spec assertion -* (#729) Allow executor option in `Promise#then` -* (#725) fix timeout check to use timeout_interval -* (#719) update engine detection -* (#660) Add specs for Promise#zip/Promise.zip ordering -* (#654) Promise.zip execution changes -* (#666) Add thread safe set implementation -* (#651) #699 #to_s, #inspect should not output negative object IDs. -* (#685) Avoid RSpec warnings about raise_error -* (#680) Avoid RSpec monkey patching, persist spec results locally, use RSpec - v3.7.0 -* (#665) Initialize the monitor for new subarrays on Rubinius -* (#661) Fix error handling in edge promises - -concurrent-ruby-edge: - -* (#659) Edge promises fail during error handling -* Edge files clearly separated in `lib-edge` -* added ReInclude - -## Release v1.0.5, edge v0.3.1 (26 Feb 2017) - -concurrent-ruby: - -* Documentation for Event and Semaphore -* Use Unsafe#fullFence and #loadFence directly since the shortcuts were removed in JRuby -* Do not depend on org.jruby.util.unsafe.UnsafeHolder - -concurrent-ruby-edge: - -* (#620) Actors on Pool raise an error -* (#624) Delayed promises did not interact correctly with flatting - * Fix arguments yielded by callback methods -* Overridable default executor in promises factory methods -* Asking actor to terminate will always resolve to `true` - -## Release v1.0.4, edge v0.3.0 (27 Dec 2016) - -concurrent-ruby: - -* Nothing - -concurrent-ruby-edge: - -* New promises' API renamed, lots of improvements, edge bumped to 0.3.0 - * **Incompatible** with previous 0.2.3 version - * see https://github.com/ruby-concurrency/concurrent-ruby/pull/522 - -## Release v1.0.3 (17 Dec 2016) - -* Trigger execution of flattened delayed futures -* Avoid forking for processor_count if possible -* Semaphore Mutex and JRuby parity -* Adds Map#each as alias to Map#each_pair -* Fix uninitialized instance variables -* Make Fixnum, Bignum merger ready -* Allows Promise#then to receive an executor -* TimerSet now survives a fork -* Reject promise on any exception -* Allow ThreadLocalVar to be initialized with a block -* Support Alpha with `Concurrent::processor_count` -* Fixes format-security error when compiling ruby_193_compatible.h -* Concurrent::Atom#swap fixed: reraise the exceptions from block - -## Release v1.0.2 (2 May 2016) - -* Fix bug with `Concurrent::Map` MRI backend `#inspect` method -* Fix bug with `Concurrent::Map` MRI backend using `Hash#value?` -* Improved documentation and examples -* Minor updates to Edge - -## Release v1.0.1 (27 February 2016) - -* Fix "uninitialized constant Concurrent::ReentrantReadWriteLock" error. -* Better handling of `autoload` vs. `require`. -* Improved API for Edge `Future` zipping. -* Fix reference leak in Edge `Future` constructor . -* Fix bug which prevented thread pools from surviving a `fork`. -* Fix bug in which `TimerTask` did not correctly specify all its dependencies. -* Improved support for JRuby+Truffle -* Improved error messages. -* Improved documentation. -* Updated README and CONTRIBUTING. - -## Release v1.0.0 (13 November 2015) - -* Rename `attr_volatile_with_cas` to `attr_atomic` -* Add `clear_each` to `LockFreeStack` -* Update `AtomicReference` documentation -* Further updates and improvements to the synchronization layer. -* Performance and memory usage performance with `Actor` logging. -* Fixed `ThreadPoolExecutor` task count methods. -* Improved `Async` performance for both short and long-lived objects. -* Fixed bug in `LockFreeLinkedSet`. -* Fixed bug in which `Agent#await` triggered a validation failure. -* Further `Channel` updates. -* Adopted a project Code of Conduct -* Cleared interpreter warnings -* Fixed bug in `ThreadPoolExecutor` task count methods -* Fixed bug in 'LockFreeLinkedSet' -* Improved Java extension loading -* Handle Exception children in Edge::Future -* Continued improvements to channel -* Removed interpreter warnings. -* Shared constants now in `lib/concurrent/constants.rb` -* Refactored many tests. -* Improved synchronization layer/memory model documentation. -* Bug fix in Edge `Future#flat` -* Brand new `Channel` implementation in Edge gem. -* Simplification of `RubySingleThreadExecutor` -* `Async` improvements - - Each object uses its own `SingleThreadExecutor` instead of the global thread pool. - - No longers supports executor injection - - Much better documentation -* `Atom` updates - - No longer `Dereferenceable` - - Now `Observable` - - Added a `#reset` method -* Brand new `Agent` API and implementation. Now functionally equivalent to Clojure. -* Continued improvements to the synchronization layer -* Merged in the `thread_safe` gem - - `Concurrent::Array` - - `Concurrent::Hash` - - `Concurrent::Map` (formerly ThreadSafe::Cache) - - `Concurrent::Tuple` -* Minor improvements to Concurrent::Map -* Complete rewrite of `Exchanger` -* Removed all deprecated code (classes, methods, constants, etc.) -* Updated Agent, MutexAtomic, and BufferedChannel to inherit from Synchronization::Object. -* Many improved tests -* Some internal reorganization - -## Release v0.9.1 (09 August 2015) - -* Fixed a Rubiniux bug in synchronization object -* Fixed all interpreter warnings (except circular references) -* Fixed require statements when requiring `Atom` alone -* Significantly improved `ThreadLocalVar` on non-JRuby platforms -* Fixed error handling in Edge `Concurrent.zip` -* `AtomicFixnum` methods `#increment` and `#decrement` now support optional delta -* New `AtomicFixnum#update` method -* Minor optimizations in `ReadWriteLock` -* New `ReentrantReadWriteLock` class -* `ThreadLocalVar#bind` method is now public -* Refactored many tests - -## Release v0.9.0 (10 July 2015) - -* Updated `AtomicReference` - - `AtomicReference#try_update` now simply returns instead of raising exception - - `AtomicReference#try_update!` was added to raise exceptions if an update - fails. Note: this is the same behavior as the old `try_update` -* Pure Java implementations of - - `AtomicBoolean` - - `AtomicFixnum` - - `Semaphore` -* Fixed bug when pruning Ruby thread pools -* Fixed bug in time calculations within `ScheduledTask` -* Default `count` in `CountDownLatch` to 1 -* Use monotonic clock for all timers via `Concurrent.monotonic_time` - - Use `Process.clock_gettime(Process::CLOCK_MONOTONIC)` when available - - Fallback to `java.lang.System.nanoTime()` on unsupported JRuby versions - - Pure Ruby implementation for everything else - - Effects `Concurrent.timer`, `Concurrent.timeout`, `TimerSet`, `TimerTask`, and `ScheduledTask` -* Deprecated all clock-time based timer scheduling - - Only support scheduling by delay - - Effects `Concurrent.timer`, `TimerSet`, and `ScheduledTask` -* Added new `ReadWriteLock` class -* Consistent `at_exit` behavior for Java and Ruby thread pools. -* Added `at_exit` handler to Ruby thread pools (already in Java thread pools) - - Ruby handler stores the object id and retrieves from `ObjectSpace` - - JRuby disables `ObjectSpace` by default so that handler stores the object reference -* Added a `:stop_on_exit` option to thread pools to enable/disable `at_exit` handler -* Updated thread pool docs to better explain shutting down thread pools -* Simpler `:executor` option syntax for all abstractions which support this option -* Added `Executor#auto_terminate?` predicate method (for thread pools) -* Added `at_exit` handler to `TimerSet` -* Simplified auto-termination of the global executors - - Can now disable auto-termination of global executors - - Added shutdown/kill/wait_for_termination variants for global executors -* Can now disable auto-termination for *all* executors (the nuclear option) -* Simplified auto-termination of the global executors -* Deprecated terms "task pool" and "operation pool" - - New terms are "io executor" and "fast executor" - - New functions added with new names - - Deprecation warnings added to functions referencing old names -* Moved all thread pool related functions from `Concurrent::Configuration` to `Concurrent` - - Old functions still exist with deprecation warnings - - New functions have updated names as appropriate -* All high-level abstractions default to the "io executor" -* Fixed bug in `Actor` causing it to prematurely warm global thread pools on gem load - - This also fixed a `RejectedExecutionError` bug when running with minitest/autorun via JRuby -* Moved global logger up to the `Concurrent` namespace and refactored the code -* Optimized the performance of `Delay` - - Fixed a bug in which no executor option on construction caused block execution on a global thread pool -* Numerous improvements and bug fixes to `TimerSet` -* Fixed deadlock of `Future` when the handler raises Exception -* Added shared specs for more classes -* New concurrency abstractions including: - - `Atom` - - `Maybe` - - `ImmutableStruct` - - `MutableStruct` - - `SettableStruct` -* Created an Edge gem for unstable abstractions including - - `Actor` - - `Agent` - - `Channel` - - `Exchanger` - - `LazyRegister` - - **new Future Framework** - unified - implementation of Futures and Promises which combines Features of previous `Future`, - `Promise`, `IVar`, `Event`, `Probe`, `dataflow`, `Delay`, `TimerTask` into single framework. It uses extensively - new synchronization layer to make all the paths **lock-free** with exception of blocking threads on `#wait`. - It offers better performance and does not block threads when not required. -* Actor framework changes: - - fixed reset loop in Pool - - Pool can use any actor as a worker, abstract worker class is no longer needed. - - Actor events not have format `[:event_name, *payload]` instead of just the Symbol. - - Actor now uses new Future/Promise Framework instead of `IVar` for better interoperability - - Behaviour definition array was simplified to `[BehaviourClass1, [BehaviourClass2, *initialization_args]]` - - Linking behavior responds to :linked message by returning array of linked actors - - Supervised behavior is removed in favour of just Linking - - RestartingContext is supervised by default now, `supervise: true` is not required any more - - Events can be private and public, so far only difference is that Linking will - pass to linked actors only public messages. Adding private :restarting and - :resetting events which are send before the actor restarts or resets allowing - to add callbacks to cleanup current child actors. - - Print also object_id in Reference to_s - - Add AbstractContext#default_executor to be able to override executor class wide - - Add basic IO example - - Documentation somewhat improved - - All messages should have same priority. It's now possible to send `actor << job1 << job2 << :terminate!` and - be sure that both jobs are processed first. -* Refactored `Channel` to use newer synchronization objects -* Added `#reset` and `#cancel` methods to `TimerSet` -* Added `#cancel` method to `Future` and `ScheduledTask` -* Refactored `TimerSet` to use `ScheduledTask` -* Updated `Async` with a factory that initializes the object -* Deprecated `Concurrent.timer` and `Concurrent.timeout` -* Reduced max threads on pure-Ruby thread pools (abends around 14751 threads) -* Moved many private/internal classes/modules into "namespace" modules -* Removed brute-force killing of threads in tests -* Fixed a thread pool bug when the operating system cannot allocate more threads - -## Release v0.8.0 (25 January 2015) - -* C extension for MRI have been extracted into the `concurrent-ruby-ext` companion gem. - Please see the README for more detail. -* Better variable isolation in `Promise` and `Future` via an `:args` option -* Continued to update intermittently failing tests - -## Release v0.7.2 (24 January 2015) - -* New `Semaphore` class based on [java.util.concurrent.Semaphore](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html) -* New `Promise.all?` and `Promise.any?` class methods -* Renamed `:overflow_policy` on thread pools to `:fallback_policy` -* Thread pools still accept the `:overflow_policy` option but display a warning -* Thread pools now implement `fallback_policy` behavior when not running (rather than universally rejecting tasks) -* Fixed minor `set_deref_options` constructor bug in `Promise` class -* Fixed minor `require` bug in `ThreadLocalVar` class -* Fixed race condition bug in `TimerSet` class -* Fixed race condition bug in `TimerSet` class -* Fixed signal bug in `TimerSet#post` method -* Numerous non-functional updates to clear warning when running in debug mode -* Fixed more intermittently failing tests -* Tests now run on new Travis build environment -* Multiple documentation updates - -## Release v0.7.1 (4 December 2014) - -Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/issues/142) for more information on the next planned release. - -* Added `flat_map` method to `Promise` -* Added `zip` method to `Promise` -* Fixed bug with logging in `Actor` -* Improvements to `Promise` tests -* Removed actor-experimental warning -* Added an `IndirectImmediateExecutor` class -* Allow disabling auto termination of global executors -* Fix thread leaking in `ThreadLocalVar` (uses `Ref` gem on non-JRuby systems) -* Fix thread leaking when pruning pure-Ruby thread pools -* Prevent `Actor` from using an `ImmediateExecutor` (causes deadlock) -* Added missing synchronizations to `TimerSet` -* Fixed bug with return value of `Concurrent::Actor::Utils::Pool#ask` -* Fixed timing bug in `TimerTask` -* Fixed bug when creating a `JavaThreadPoolExecutor` with minimum pool size of zero -* Removed confusing warning when not using native extenstions -* Improved documentation - -## Release v0.7.0 (13 August 2014) - -* Merge the [atomic](https://github.com/ruby-concurrency/atomic) gem - - Pure Ruby `MutexAtomic` atomic reference class - - Platform native atomic reference classes `CAtomic`, `JavaAtomic`, and `RbxAtomic` - - Automated [build process](https://github.com/ruby-concurrency/rake-compiler-dev-box) - - Fat binary releases for [multiple platforms](https://rubygems.org/gems/concurrent-ruby/versions) including Windows (32/64), Linux (32/64), OS X (64-bit), Solaris (64-bit), and JRuby -* C native `CAtomicBoolean` -* C native `CAtomicFixnum` -* Refactored intermittently failing tests -* Added `dataflow!` and `dataflow_with!` methods to match `Future#value!` method -* Better handling of timeout in `Agent` -* Actor Improvements - - Fine-grained implementation using chain of behaviors. Each behavior is responsible for single aspect like: `Termination`, `Pausing`, `Linking`, `Supervising`, etc. Users can create custom Actors easily based on their needs. - - Supervision was added. `RestartingContext` will pause on error waiting on its supervisor to decide what to do next ( options are `:terminate!`, `:resume!`, `:reset!`, `:restart!`). Supervising behavior also supports strategies `:one_for_one` and `:one_for_all`. - - Linking was added to be able to monitor actor's events like: `:terminated`, `:paused`, `:restarted`, etc. - - Dead letter routing added. Rejected envelopes are collected in a configurable actor (default: `Concurrent::Actor.root.ask!(:dead_letter_routing)`) - - Old `Actor` class removed and replaced by new implementation previously called `Actress`. `Actress` was kept as an alias for `Actor` to keep compatibility. - - `Utils::Broadcast` actor which allows Publish–subscribe pattern. -* More executors for managing serialized operations - - `SerializedExecution` mixin module - - `SerializedExecutionDelegator` for serializing *any* executor -* Updated `Async` with serialized execution -* Updated `ImmediateExecutor` and `PerThreadExecutor` with full executor service lifecycle -* Added a `Delay` to root `Actress` initialization -* Minor bug fixes to thread pools -* Refactored many intermittently failing specs -* Removed Java interop warning `executor.rb:148 warning: ambiguous Java methods found, using submit(java.lang.Runnable)` -* Fixed minor bug in `RubyCachedThreadPool` overflow policy -* Updated tests to use [RSpec 3.0](http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3) -* Removed deprecated `Actor` class -* Better support for Rubinius - -## Release v0.6.1 (14 June 2014) - -* Many improvements to `Concurrent::Actress` -* Bug fixes to `Concurrent::RubyThreadPoolExecutor` -* Fixed several brittle tests -* Moved documentation to http://ruby-concurrency.github.io/concurrent-ruby/frames.html - -## Release v0.6.0 (25 May 2014) - -* Added `Concurrent::Observable` to encapsulate our thread safe observer sets -* Improvements to new `Channel` -* Major improvements to `CachedThreadPool` and `FixedThreadPool` -* Added `SingleThreadExecutor` -* Added `Current::timer` function -* Added `TimerSet` executor -* Added `AtomicBoolean` -* `ScheduledTask` refactoring -* Pure Ruby and JRuby-optimized `PriorityQueue` classes -* Updated `Agent` behavior to more closely match Clojure -* Observer sets support block callbacks to the `add_observer` method -* New algorithm for thread creation in `RubyThreadPoolExecutor` -* Minor API updates to `Event` -* Rewritten `TimerTask` now an `Executor` instead of a `Runnable` -* Fixed many brittle specs -* Renamed `FixedThreadPool` and `CachedThreadPool` to `RubyFixedThreadPool` and `RubyCachedThreadPool` -* Created JRuby optimized `JavaFixedThreadPool` and `JavaCachedThreadPool` -* Consolidated fixed thread pool tests into `spec/concurrent/fixed_thread_pool_shared.rb` and `spec/concurrent/cached_thread_pool_shared.rb` -* `FixedThreadPool` now subclasses `RubyFixedThreadPool` or `JavaFixedThreadPool` as appropriate -* `CachedThreadPool` now subclasses `RubyCachedThreadPool` or `JavaCachedThreadPool` as appropriate -* New `Delay` class -* `Concurrent::processor_count` helper function -* New `Async` module -* Renamed `NullThreadPool` to `PerThreadExecutor` -* Deprecated `Channel` (we are planning a new implementation based on [Go](http://golangtutorials.blogspot.com/2011/06/channels-in-go.html)) -* Added gem-level [configuration](http://robots.thoughtbot.com/mygem-configure-block) -* Deprecated `$GLOBAL_THREAD_POOL` in lieu of gem-level configuration -* Removed support for Ruby [1.9.2](https://www.ruby-lang.org/en/news/2013/12/17/maintenance-of-1-8-7-and-1-9-2/) -* New `RubyThreadPoolExecutor` and `JavaThreadPoolExecutor` classes -* All thread pools now extend the appropriate thread pool executor classes -* All thread pools now support `:overflow_policy` (based on Java's [reject policies](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html)) -* Deprecated `UsesGlobalThreadPool` in lieu of explicit `:executor` option (dependency injection) on `Future`, `Promise`, and `Agent` -* Added `Concurrent::dataflow_with(executor, *inputs)` method to support executor dependency injection for dataflow -* Software transactional memory with `TVar` and `Concurrent::atomically` -* First implementation of [new, high-performance](https://github.com/ruby-concurrency/concurrent-ruby/pull/49) `Channel` -* `Actor` is deprecated in favor of new experimental actor implementation [#73](https://github.com/ruby-concurrency/concurrent-ruby/pull/73). To avoid namespace collision it is living in `Actress` namespace until `Actor` is removed in next release. - -## Release v0.5.0 - -This is the most significant release of this gem since its inception. This release includes many improvements and optimizations. It also includes several bug fixes. The major areas of focus for this release were: - -* Stability improvements on Ruby versions with thread-level parallelism ([JRuby](http://jruby.org/) and [Rubinius](http://rubini.us/)) -* Creation of new low-level concurrency abstractions -* Internal refactoring to use the new low-level abstractions - -Most of these updates had no effect on the gem API. There are a few notable exceptions which were unavoidable. Please read the [release notes](API-Updates-in-v0.5.0) for more information. - -Specific changes include: - -* New class `IVar` -* New class `MVar` -* New class `ThreadLocalVar` -* New class `AtomicFixnum` -* New class method `dataflow` -* New class `Condition` -* New class `CountDownLatch` -* New class `DependencyCounter` -* New class `SafeTaskExecutor` -* New class `CopyOnNotifyObserverSet` -* New class `CopyOnWriteObserverSet` -* `Future` updated with `execute` API -* `ScheduledTask` updated with `execute` API -* New `Promise` API -* `Future` now extends `IVar` -* `Postable#post?` now returns an `IVar` -* Thread safety fixes to `Dereferenceable` -* Thread safety fixes to `Obligation` -* Thread safety fixes to `Supervisor` -* Thread safety fixes to `Event` -* Various other thread safety (race condition) fixes -* Refactored brittle tests -* Implemented pending tests -* Added JRuby and Rubinius as Travis CI build targets -* Added [CodeClimate](https://codeclimate.com/) code review -* Improved YARD documentation diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/Gemfile deleted file mode 100644 index b336031..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/Gemfile +++ /dev/null @@ -1,36 +0,0 @@ -source 'https://rubygems.org' - -require File.join(File.dirname(__FILE__), 'lib/concurrent-ruby/concurrent/version') -require File.join(File.dirname(__FILE__ ), 'lib/concurrent-ruby-edge/concurrent/edge/version') - -no_path = ENV['NO_PATH'] -options = no_path ? {} : { path: '.' } - -gem 'concurrent-ruby', Concurrent::VERSION, options -gem 'concurrent-ruby-edge', Concurrent::EDGE_VERSION, options -gem 'concurrent-ruby-ext', Concurrent::VERSION, options.merge(platform: :mri) - -group :development do - gem 'rake', '~> 13.0' - gem 'rake-compiler', '~> 1.0', '>= 1.0.7' - gem 'rake-compiler-dock', '~> 1.0' - gem 'pry', '~> 0.11', platforms: :mri -end - -group :documentation, optional: true do - gem 'yard', '~> 0.9.0', require: false - gem 'redcarpet', '~> 3.0', platforms: :mri # understands github markdown - gem 'md-ruby-eval', '~> 0.6' -end - -group :testing do - gem 'rspec', '~> 3.7' - gem 'timecop', '~> 0.9' - gem 'sigdump', require: false -end - -# made opt-in since it will not install on jruby 1.7 -group :coverage, optional: !ENV['COVERAGE'] do - gem 'simplecov', '~> 0.16.0', require: false - gem 'coveralls', '~> 0.8.2', require: false -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/LICENSE.txt deleted file mode 100644 index 1026f28..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) Jerry D'Antonio -- released under the MIT license. - -http://www.opensource.org/licenses/mit-license.php - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/README.md deleted file mode 100644 index 15f011b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/README.md +++ /dev/null @@ -1,405 +0,0 @@ -# Concurrent Ruby - -[![Gem Version](https://badge.fury.io/rb/concurrent-ruby.svg)](http://badge.fury.io/rb/concurrent-ruby) -[![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT) -[![Gitter chat](https://img.shields.io/badge/IRC%20(gitter)-devs%20%26%20users-brightgreen.svg)](https://gitter.im/ruby-concurrency/concurrent-ruby) - -Modern concurrency tools for Ruby. Inspired by -[Erlang](http://www.erlang.org/doc/reference_manual/processes.html), -[Clojure](http://clojure.org/concurrent_programming), -[Scala](http://akka.io/), -[Haskell](http://www.haskell.org/haskellwiki/Applications_and_libraries/Concurrency_and_parallelism#Concurrent_Haskell), -[F#](http://blogs.msdn.com/b/dsyme/archive/2010/02/15/async-and-parallel-design-patterns-in-f-part-3-agents.aspx), -[C#](http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx), -[Java](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html), -and classic concurrency patterns. - - - -The design goals of this gem are: - -* Be an 'unopinionated' toolbox that provides useful utilities without debating which is better - or why -* Remain free of external gem dependencies -* Stay true to the spirit of the languages providing inspiration -* But implement in a way that makes sense for Ruby -* Keep the semantics as idiomatic Ruby as possible -* Support features that make sense in Ruby -* Exclude features that don't make sense in Ruby -* Be small, lean, and loosely coupled -* Thread-safety -* Backward compatibility - -## Contributing - -**This gem depends on -[contributions](https://github.com/ruby-concurrency/concurrent-ruby/graphs/contributors) and we -appreciate your help. Would you like to contribute? Great! Have a look at -[issues with `looking-for-contributor` label](https://github.com/ruby-concurrency/concurrent-ruby/issues?q=is%3Aissue+is%3Aopen+label%3Alooking-for-contributor).** And if you pick something up let us know on the issue. - -You can also get started by triaging issues which may include reproducing bug reports or asking for vital information, such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to concurrent-ruby on CodeTriage](https://www.codetriage.com/ruby-concurrency/concurrent-ruby). [![Open Source Helpers](https://www.codetriage.com/ruby-concurrency/concurrent-ruby/badges/users.svg)](https://www.codetriage.com/ruby-concurrency/concurrent-ruby) - -## Thread Safety - -*Concurrent Ruby makes one of the strongest thread safety guarantees of any Ruby concurrency -library, providing consistent behavior and guarantees on all three main Ruby interpreters -(MRI/CRuby, JRuby, TruffleRuby).* - -Every abstraction in this library is thread safe. Specific thread safety guarantees are documented -with each abstraction. - -It is critical to remember, however, that Ruby is a language of mutable references. *No* -concurrency library for Ruby can ever prevent the user from making thread safety mistakes (such as -sharing a mutable object between threads and modifying it on both threads) or from creating -deadlocks through incorrect use of locks. All the library can do is provide safe abstractions which -encourage safe practices. Concurrent Ruby provides more safe concurrency abstractions than any -other Ruby library, many of which support the mantra of -["Do not communicate by sharing memory; instead, share memory by communicating"](https://blog.golang.org/share-memory-by-communicating). -Concurrent Ruby is also the only Ruby library which provides a full suite of thread safe and -immutable variable types and data structures. - -We've also initiated discussion to document the [memory model](docs-source/synchronization.md) of Ruby which -would provide consistent behaviour and guarantees on all three main Ruby interpreters -(MRI/CRuby, JRuby, TruffleRuby). - -## Features & Documentation - -**The primary site for documentation is the automatically generated -[API documentation](http://ruby-concurrency.github.io/concurrent-ruby/index.html) which is up to -date with latest release.** This readme matches the master so may contain new stuff not yet -released. - -We also have a [IRC (gitter)](https://gitter.im/ruby-concurrency/concurrent-ruby). - -### Versioning - -* `concurrent-ruby` uses [Semantic Versioning](http://semver.org/) -* `concurrent-ruby-ext` has always same version as `concurrent-ruby` -* `concurrent-ruby-edge` will always be 0.y.z therefore following - [point 4](http://semver.org/#spec-item-4) applies *"Major version zero - (0.y.z) is for initial development. Anything may change at any time. The - public API should not be considered stable."* However we additionally use - following rules: - * Minor version increment means incompatible changes were made - * Patch version increment means only compatible changes were made - - -#### General-purpose Concurrency Abstractions - -* [Async](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Async.html): - A mixin module that provides simple asynchronous behavior to a class. Loosely based on Erlang's - [gen_server](http://www.erlang.org/doc/man/gen_server.html). -* [ScheduledTask](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ScheduledTask.html): - Like a Future scheduled for a specific future time. -* [TimerTask](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/TimerTask.html): - A Thread that periodically wakes up to perform work at regular intervals. -* [Promises](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html): - Unified implementation of futures and promises which combines features of previous `Future`, - `Promise`, `IVar`, `Event`, `dataflow`, `Delay`, and (partially) `TimerTask` into a single - framework. It extensively uses the new synchronization layer to make all the features - **non-blocking** and **lock-free**, with the exception of obviously blocking operations like - `#wait`, `#value`. It also offers better performance. - -#### Thread-safe Value Objects, Structures, and Collections - -Collection classes that were originally part of the (deprecated) `thread_safe` gem: - -* [Array](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Array.html) A thread-safe - subclass of Ruby's standard [Array](http://ruby-doc.org/core/Array.html). -* [Hash](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Hash.html) A thread-safe - subclass of Ruby's standard [Hash](http://ruby-doc.org/core/Hash.html). -* [Set](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Set.html) A thread-safe - subclass of Ruby's standard [Set](http://ruby-doc.org/stdlib-2.4.0/libdoc/set/rdoc/Set.html). -* [Map](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Map.html) A hash-like object - that should have much better performance characteristics, especially under high concurrency, - than `Concurrent::Hash`. -* [Tuple](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Tuple.html) A fixed size - array with volatile (synchronized, thread safe) getters/setters. - -Value objects inspired by other languages: - -* [Maybe](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Maybe.html) A thread-safe, - immutable object representing an optional value, based on - [Haskell Data.Maybe](https://hackage.haskell.org/package/base-4.2.0.1/docs/Data-Maybe.html). - -Structure classes derived from Ruby's [Struct](http://ruby-doc.org/core/Struct.html): - -* [ImmutableStruct](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ImmutableStruct.html) - Immutable struct where values are set at construction and cannot be changed later. -* [MutableStruct](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/MutableStruct.html) - Synchronized, mutable struct where values can be safely changed at any time. -* [SettableStruct](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/SettableStruct.html) - Synchronized, write-once struct where values can be set at most once, either at construction - or any time thereafter. - -Thread-safe variables: - -* [Agent](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Agent.html): A way to - manage shared, mutable, *asynchronous*, independent state. Based on Clojure's - [Agent](http://clojure.org/agents). -* [Atom](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Atom.html): A way to manage - shared, mutable, *synchronous*, independent state. Based on Clojure's - [Atom](http://clojure.org/atoms). -* [AtomicBoolean](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicBoolean.html) - A boolean value that can be updated atomically. -* [AtomicFixnum](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicFixnum.html) - A numeric value that can be updated atomically. -* [AtomicReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicReference.html) - An object reference that may be updated atomically. -* [Exchanger](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Exchanger.html) - A synchronization point at which threads can pair and swap elements within pairs. Based on - Java's [Exchanger](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Exchanger.html). -* [MVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/MVar.html) A synchronized - single element container. Based on Haskell's - [MVar](https://hackage.haskell.org/package/base-4.8.1.0/docs/Control-Concurrent-MVar.html) and - Scala's [MVar](http://docs.typelevel.org/api/scalaz/nightly/index.html#scalaz.concurrent.MVar$). -* [ThreadLocalVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ThreadLocalVar.html) - A variable where the value is different for each thread. -* [TVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/TVar.html) A transactional - variable implementing software transactional memory (STM). Based on Clojure's - [Ref](http://clojure.org/refs). - -#### Java-inspired ThreadPools and Other Executors - -* See the [thread pool](http://ruby-concurrency.github.io/concurrent-ruby/master/file.thread_pools.html) - overview, which also contains a list of other Executors available. - -#### Thread Synchronization Classes and Algorithms - -* [CountDownLatch](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/CountDownLatch.html) - A synchronization object that allows one thread to wait on multiple other threads. -* [CyclicBarrier](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/CyclicBarrier.html) - A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point. -* [Event](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Event.html) Old school - kernel-style event. -* [ReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ReadWriteLock.html) - A lock that supports multiple readers but only one writer. -* [ReentrantReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ReentrantReadWriteLock.html) - A read/write lock with reentrant and upgrade features. -* [Semaphore](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Semaphore.html) - A counting-based locking mechanism that uses permits. -* [AtomicMarkableReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicMarkableReference.html) - -#### Deprecated - -Deprecated features are still available and bugs are being fixed, but new features will not be added. - -* ~~[Future](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Future.html): - An asynchronous operation that produces a value.~~ Replaced by - [Promises](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html). - * ~~[.dataflow](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent.html#dataflow-class_method): - Built on Futures, Dataflow allows you to create a task that will be scheduled when all of - its data dependencies are available.~~ Replaced by - [Promises](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html). -* ~~[Promise](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promise.html): Similar - to Futures, with more features.~~ Replaced by - [Promises](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html). -* ~~[Delay](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Delay.html) Lazy evaluation - of a block yielding an immutable result. Based on Clojure's - [delay](https://clojuredocs.org/clojure.core/delay).~~ Replaced by - [Promises](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html). -* ~~[IVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/IVar.html) Similar to a - "future" but can be manually assigned once, after which it becomes immutable.~~ Replaced by - [Promises](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html). - -### Edge Features - -These are available in the `concurrent-ruby-edge` companion gem. - -These features are under active development and may change frequently. They are expected not to -keep backward compatibility (there may also lack tests and documentation). Semantic versions will -be obeyed though. Features developed in `concurrent-ruby-edge` are expected to move to -`concurrent-ruby` when final. - -* [Actor](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Actor.html): Implements - the Actor Model, where concurrent actors exchange messages. - *Status: Partial documentation and tests; depends on new future/promise framework; stability is good.* -* [Channel](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Channel.html): - Communicating Sequential Processes ([CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes)). - Functionally equivalent to Go [channels](https://tour.golang.org/concurrency/2) with additional - inspiration from Clojure [core.async](https://clojure.github.io/core.async/). - *Status: Partial documentation and tests.* -* [LazyRegister](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/LazyRegister.html) -* [LockFreeLinkedSet](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Edge/LockFreeLinkedSet.html) - *Status: will be moved to core soon.* -* [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/LockFreeStack.html) - *Status: missing documentation and tests.* -* [Promises::Channel](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises/Channel.html) - A first in first out channel that accepts messages with push family of methods and returns - messages with pop family of methods. - Pop and push operations can be represented as futures, see `#pop_op` and `#push_op`. - The capacity of the channel can be limited to support back pressure, use capacity option in `#initialize`. - `#pop` method blocks ans `#pop_op` returns pending future if there is no message in the channel. - If the capacity is limited the `#push` method blocks and `#push_op` returns pending future. -* [Cancellation](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Cancellation.html) - The Cancellation abstraction provides cooperative cancellation. - - The standard methods `Thread#raise` of `Thread#kill` available in Ruby - are very dangerous (see linked the blog posts bellow). - Therefore concurrent-ruby provides an alternative. - - * - * - * - - It provides an object which represents a task which can be executed, - the task has to get the reference to the object and periodically cooperatively check that it is not cancelled. - Good practices to make tasks cancellable: - * check cancellation every cycle of a loop which does significant work, - * do all blocking actions in a loop with a timeout then on timeout check cancellation - and if ok block again with the timeout -* [Throttle](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Throttle.html) - A tool managing concurrency level of tasks. -* [ErlangActor](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ErlangActor.html) - Actor implementation which precisely matches Erlang actor behaviour. - Requires at least Ruby 2.1 otherwise it's not loaded. -* [WrappingExecutor](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/WrappingExecutor.html) - A delegating executor which modifies each task before the task is given to - the target executor it delegates to. - -## Supported Ruby versions - -* MRI 2.3 and above -* Latest JRuby 9000 -* Latest TruffleRuby - -## Usage - -Everything within this gem can be loaded simply by requiring it: - -```ruby -require 'concurrent' -``` - -You can also require a specific abstraction [part of the public documentation](https://ruby-concurrency.github.io/concurrent-ruby/master/index.html) since concurrent-ruby 1.2.0, for example: -```ruby -require 'concurrent/map' -require 'concurrent/atomic/atomic_reference' -require 'concurrent/executor/fixed_thread_pool' -``` - -To use the tools in the Edge gem it must be required separately: - -```ruby -require 'concurrent-edge' -``` - -If the library does not behave as expected, `Concurrent.use_stdlib_logger(Logger::DEBUG)` could -help to reveal the problem. - -## Installation - -```shell -gem install concurrent-ruby -``` - -or add the following line to Gemfile: - -```ruby -gem 'concurrent-ruby', require: 'concurrent' -``` - -and run `bundle install` from your shell. - -### Edge Gem Installation - -The Edge gem must be installed separately from the core gem: - -```shell -gem install concurrent-ruby-edge -``` - -or add the following line to Gemfile: - -```ruby -gem 'concurrent-ruby-edge', require: 'concurrent-edge' -``` - -and run `bundle install` from your shell. - - -### C Extensions for MRI - -Potential performance improvements may be achieved under MRI by installing optional C extensions. -To minimise installation errors the C extensions are available in the `concurrent-ruby-ext` -extension gem. `concurrent-ruby` and `concurrent-ruby-ext` are always released together with same -version. Simply install the extension gem too: - -```ruby -gem install concurrent-ruby-ext -``` - -or add the following line to Gemfile: - -```ruby -gem 'concurrent-ruby-ext' -``` - -and run `bundle install` from your shell. - -In code it is only necessary to - -```ruby -require 'concurrent' -``` - -The `concurrent-ruby` gem will automatically detect the presence of the `concurrent-ruby-ext` gem -and load the appropriate C extensions. - -#### Note For gem developers - -No gems should depend on `concurrent-ruby-ext`. Doing so will force C extensions on your users. The -best practice is to depend on `concurrent-ruby` and let users to decide if they want C extensions. - -## Building the gem - -### Requirements - -* Recent CRuby -* JRuby, `rbenv install jruby-9.2.17.0` -* Set env variable `CONCURRENT_JRUBY_HOME` to point to it, e.g. `/usr/local/opt/rbenv/versions/jruby-9.2.17.0` -* Install Docker, required for Windows builds - -### Publishing the Gem - -* Update `version.rb` -* Update the CHANGELOG -* Add the new version to `docs-source/signpost.md`. Needs to be done only if there are visible changes in the documentation. -* Commit (and push) the changes. -* Use `bundle exec rake release` to release the gem. - It consists of `['release:checks', 'release:build', 'release:test', 'release:publish']` steps. - It will ask at the end before publishing anything. Steps can also be executed individually. - -## Maintainers - -* [Benoit Daloze](https://github.com/eregon) -* [Matthew Draper](https://github.com/matthewd) -* [Rafael França](https://github.com/rafaelfranca) -* [Samuel Williams](https://github.com/ioquatix) - -### Special Thanks to - -* [Jerry D'Antonio](https://github.com/jdantonio) for creating the gem -* [Brian Durand](https://github.com/bdurand) for the `ref` gem -* [Charles Oliver Nutter](https://github.com/headius) for the `atomic` and `thread_safe` gems -* [thedarkone](https://github.com/thedarkone) for the `thread_safe` gem - -to the past maintainers - -* [Chris Seaton](https://github.com/chrisseaton) -* [Petr Chalupa](https://github.com/pitr-ch) -* [Michele Della Torre](https://github.com/mighe) -* [Paweł Obrok](https://github.com/obrok) -* [Lucas Allan](https://github.com/lucasallan) - -and to [Ruby Association](https://www.ruby.or.jp/en/) for sponsoring a project -["Enhancing Ruby’s concurrency tooling"](https://www.ruby.or.jp/en/news/20181106) in 2018. - -## License and Copyright - -*Concurrent Ruby* is free software released under the -[MIT License](http://www.opensource.org/licenses/MIT). - -The *Concurrent Ruby* [logo](https://raw.githubusercontent.com/ruby-concurrency/concurrent-ruby/master/docs-source/logo/concurrent-ruby-logo-300x300.png) was -designed by [David Jones](https://twitter.com/zombyboy). It is Copyright © 2014 -[Jerry D'Antonio](https://twitter.com/jerrydantonio). All Rights Reserved. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/Rakefile deleted file mode 100644 index f167f46..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/Rakefile +++ /dev/null @@ -1,319 +0,0 @@ -require_relative 'lib/concurrent-ruby/concurrent/version' -require_relative 'lib/concurrent-ruby-edge/concurrent/edge/version' -require_relative 'lib/concurrent-ruby/concurrent/utility/engine' - -core_gemspec = Gem::Specification.load File.join(__dir__, 'concurrent-ruby.gemspec') -ext_gemspec = Gem::Specification.load File.join(__dir__, 'concurrent-ruby-ext.gemspec') -edge_gemspec = Gem::Specification.load File.join(__dir__, 'concurrent-ruby-edge.gemspec') - -require 'rake/javaextensiontask' - -ENV['JRUBY_HOME'] = ENV['CONCURRENT_JRUBY_HOME'] if ENV['CONCURRENT_JRUBY_HOME'] && !Concurrent.on_jruby? - -Rake::JavaExtensionTask.new('concurrent_ruby', core_gemspec) do |ext| - ext.ext_dir = 'ext/concurrent-ruby' - ext.lib_dir = 'lib/concurrent-ruby/concurrent' -end - -unless Concurrent.on_jruby? || Concurrent.on_truffleruby? - require 'rake/extensiontask' - - Rake::ExtensionTask.new('concurrent_ruby_ext', ext_gemspec) do |ext| - ext.ext_dir = 'ext/concurrent-ruby-ext' - ext.lib_dir = 'lib/concurrent-ruby/concurrent' - ext.source_pattern = '*.{c,h}' - - ext.cross_compile = true - ext.cross_platform = ['x86-mingw32', 'x64-mingw32'] - end -end - -require 'rake_compiler_dock' -namespace :repackage do - desc '* with Windows fat distributions' - task :all do - Dir.chdir(__dir__) do - # store gems in vendor cache for docker - Bundler.with_original_env do - sh 'bundle package' - end - - # build only the jar file not the whole gem for java platform, the jar is part the concurrent-ruby-x.y.z.gem - Rake::Task['lib/concurrent-ruby/concurrent/concurrent_ruby.jar'].invoke - - # build all gem files - %w[x86-mingw32 x64-mingw32].each do |plat| - RakeCompilerDock.sh( - "bundle install --local && bundle exec rake native:#{plat} gem --trace", - platform: plat, - options: ['--privileged'], # otherwise the directory in the image is empty - runas: false) - end - end - end -end - -require 'rubygems' -require 'rubygems/package_task' - -Gem::PackageTask.new(core_gemspec) {} if core_gemspec -Gem::PackageTask.new(ext_gemspec) {} if ext_gemspec && !Concurrent.on_jruby? -Gem::PackageTask.new(edge_gemspec) {} if edge_gemspec - -CLEAN.include( - 'lib/concurrent-ruby/concurrent/concurrent_ruby_ext.*', - 'lib/concurrent-ruby/concurrent/2.*', - 'lib/concurrent-ruby/concurrent/*.jar') - -begin - require 'rspec' - require 'rspec/core/rake_task' - - RSpec::Core::RakeTask.new(:spec) - - namespace :spec do - desc '* Configured for ci' - RSpec::Core::RakeTask.new(:ci) do |t| - options = %w[ --color - --backtrace - --order defined - --format documentation ] - t.rspec_opts = [*options].join(' ') - end - - desc '* test packaged and installed gems instead of local files' - task :installed do - Bundler.with_original_env do - Dir.chdir(__dir__) do - sh "gem install pkg/concurrent-ruby-#{Concurrent::VERSION}.gem" - sh "gem install pkg/concurrent-ruby-ext-#{Concurrent::VERSION}.gem" if Concurrent.on_cruby? - sh "gem install pkg/concurrent-ruby-edge-#{Concurrent::EDGE_VERSION}.gem" - ENV['NO_PATH'] = 'true' - sh 'bundle update' - sh 'bundle exec rake spec:ci' - end - end - end - end - - desc 'executed in CI' - task :ci => [:compile, 'spec:ci'] - - desc 'run each spec file in a separate process to help find missing requires' - task 'spec:isolated' do - glob = "#{ENV['DIR'] || 'spec'}/**/*_spec.rb" - from = ENV['FROM'] - env = { 'ISOLATED' => 'true' } - Dir[glob].each do |spec| - next if from and from != spec - from = nil if from == spec - - sh env, 'rspec', spec - end - end - - task :default => [:clobber, :compile, :spec] -rescue LoadError => e - puts 'RSpec is not installed, skipping test task definitions: ' + e.message -end - -current_yard_version_name = Concurrent::VERSION - -begin - require 'yard' - require 'md_ruby_eval' - require_relative 'support/yard_full_types' - - common_yard_options = ['--no-yardopts', - '--no-document', - '--no-private', - '--embed-mixins', - '--markup', 'markdown', - '--title', 'Concurrent Ruby', - '--template', 'default', - '--template-path', 'yard-template', - '--default-return', 'undocumented'] - - desc 'Generate YARD Documentation (signpost, master)' - task :yard => ['yard:signpost', 'yard:master'] - - namespace :yard do - - desc '* eval markdown files' - task :eval_md do - Dir.chdir File.join(__dir__, 'docs-source') do - sh 'bundle exec md-ruby-eval --auto' - end - end - - task :update_readme do - Dir.chdir __dir__ do - content = File.read(File.join('README.md')). - gsub(/\[([\w ]+)\]\(http:\/\/ruby-concurrency\.github\.io\/concurrent-ruby\/master\/.*\)/) do |_| - case $1 - when 'LockFreeLinkedSet' - "{Concurrent::Edge::#{$1} #{$1}}" - when '.dataflow' - '{Concurrent.dataflow Concurrent.dataflow}' - when 'thread pool' - '{file:thread_pools.md thread pool}' - else - "{Concurrent::#{$1} #{$1}}" - end - end - FileUtils.mkpath 'tmp' - File.write 'tmp/README.md', content - end - end - - define_yard_task = -> name do - output_dir = "docs/#{name}" - - removal_name = "remove.#{name}" - task removal_name do - Dir.chdir __dir__ do - FileUtils.rm_rf output_dir - end - end - - desc "* of #{name} into subdir #{name}" - YARD::Rake::YardocTask.new(name) do |yard| - yard.options.push( - '--output-dir', output_dir, - '--main', 'tmp/README.md', - *common_yard_options) - yard.files = ['./lib/concurrent-ruby/**/*.rb', - './lib/concurrent-ruby-edge/**/*.rb', - './ext/concurrent_ruby_ext/**/*.c', - '-', - 'docs-source/thread_pools.md', - 'docs-source/promises.out.md', - 'docs-source/medium-example.out.rb', - 'LICENSE.txt', - 'CHANGELOG.md'] - end - Rake::Task[name].prerequisites.push removal_name, - # 'yard:eval_md', - 'yard:update_readme' - end - - define_yard_task.call current_yard_version_name - define_yard_task.call 'master' - - desc "* signpost for versions" - YARD::Rake::YardocTask.new(:signpost) do |yard| - yard.options.push( - '--output-dir', 'docs', - '--main', 'docs-source/signpost.md', - *common_yard_options) - yard.files = ['no-lib'] - end - end - -rescue LoadError => e - puts 'YARD is not installed, skipping documentation task definitions: ' + e.message -end - -desc 'build, test, and publish the gem' -task :release => ['release:checks', 'release:build', 'release:test', 'release:publish'] - -namespace :release do - # Depends on environment of @pitr-ch - - task :checks do - Dir.chdir(__dir__) do - sh 'test -z "$(git status --porcelain)"' do |ok, res| - unless ok - begin - status = `git status --porcelain` - STDOUT.puts 'There are local changes that you might want to commit.', status, 'Continue? (y/n)' - input = STDIN.gets.strip.downcase - end until %w(y n).include?(input) - exit 1 if input == 'n' - end - end - sh 'git fetch' - sh 'test $(git show-ref --verify --hash refs/heads/master) = ' + - '$(git show-ref --verify --hash refs/remotes/origin/master)' do |ok, res| - unless ok - begin - STDOUT.puts 'Local master branch is not pushed to origin.', 'Continue? (y/n)' - input = STDIN.gets.strip.downcase - end until %w(y n).include?(input) - exit 1 if input == 'n' - end - end - end - end - - desc '* build all *.gem files necessary for release' - task :build => [:clobber, 'repackage:all'] - - desc '* test actual installed gems instead of cloned repository on MRI and JRuby' - task :test do - Dir.chdir(__dir__) do - puts "Testing with the installed gem" - - Bundler.with_original_env do - sh 'ruby -v' - sh 'bundle exec rake spec:installed' - - env = { "PATH" => "#{ENV['CONCURRENT_JRUBY_HOME']}/bin:#{ENV['PATH']}" } - sh env, 'ruby -v' - sh env, 'bundle exec rake spec:installed' - end - - puts 'Windows build is untested' - end - end - - desc '* do all nested steps' - task :publish => ['publish:ask', 'publish:tag', 'publish:rubygems', 'publish:post_steps'] - - namespace :publish do - publish_base = true - publish_edge = false - - task :ask do - begin - STDOUT.puts 'Do you want to publish anything now? (y/n)' - input = STDIN.gets.strip.downcase - end until %w(y n).include?(input) - exit 1 if input == 'n' - begin - STDOUT.puts 'It will publish `concurrent-ruby`. Do you want to publish `concurrent-ruby-edge`? (y/n)' - input = STDIN.gets.strip.downcase - end until %w(y n).include?(input) - publish_edge = input == 'y' - end - - desc '** tag HEAD with current version and push to github' - task :tag => :ask do - Dir.chdir(__dir__) do - sh "git tag v#{Concurrent::VERSION}" if publish_base - sh "git push origin v#{Concurrent::VERSION}" if publish_base - sh "git tag edge-v#{Concurrent::EDGE_VERSION}" if publish_edge - sh "git push origin edge-v#{Concurrent::EDGE_VERSION}" if publish_edge - end - end - - desc '** push all *.gem files to rubygems' - task :rubygems => :ask do - Dir.chdir(__dir__) do - sh "gem push pkg/concurrent-ruby-#{Concurrent::VERSION}.gem" if publish_base - sh "gem push pkg/concurrent-ruby-edge-#{Concurrent::EDGE_VERSION}.gem" if publish_edge - sh "gem push pkg/concurrent-ruby-ext-#{Concurrent::VERSION}.gem" if publish_base - sh "gem push pkg/concurrent-ruby-ext-#{Concurrent::VERSION}-x64-mingw32.gem" if publish_base - sh "gem push pkg/concurrent-ruby-ext-#{Concurrent::VERSION}-x86-mingw32.gem" if publish_base - end - end - - desc '** print post release steps' - task :post_steps do - # TODO: (petr 05-Jun-2021) automate and renew the process - puts 'Manually: create a release on GitHub with relevant changelog part' - puts 'Manually: send email same as release with relevant changelog part' - puts 'Manually: tweet' - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/ConcurrentRubyService.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/ConcurrentRubyService.java deleted file mode 100644 index fb6be96..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/ConcurrentRubyService.java +++ /dev/null @@ -1,17 +0,0 @@ -import org.jruby.Ruby; -import org.jruby.runtime.load.BasicLibraryService; - -import java.io.IOException; - -public class ConcurrentRubyService implements BasicLibraryService { - - public boolean basicLoad(final Ruby runtime) throws IOException { - new com.concurrent_ruby.ext.AtomicReferenceLibrary().load(runtime, false); - new com.concurrent_ruby.ext.JavaAtomicBooleanLibrary().load(runtime, false); - new com.concurrent_ruby.ext.JavaAtomicFixnumLibrary().load(runtime, false); - new com.concurrent_ruby.ext.JavaSemaphoreLibrary().load(runtime, false); - new com.concurrent_ruby.ext.SynchronizationLibrary().load(runtime, false); - new com.concurrent_ruby.ext.JRubyMapBackendLibrary().load(runtime, false); - return true; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java deleted file mode 100644 index dfa9e77..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +++ /dev/null @@ -1,175 +0,0 @@ -package com.concurrent_ruby.ext; - -import java.lang.reflect.Field; -import java.io.IOException; -import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; -import org.jruby.Ruby; -import org.jruby.RubyClass; -import org.jruby.RubyModule; -import org.jruby.RubyNumeric; -import org.jruby.RubyObject; -import org.jruby.anno.JRubyClass; -import org.jruby.anno.JRubyMethod; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; -import org.jruby.runtime.load.Library; - -/** - * This library adds an atomic reference type to JRuby for use in the atomic - * library. We do a native version to avoid the implicit value coercion that - * normally happens through JI. - * - * @author headius - */ -public class AtomicReferenceLibrary implements Library { - public void load(Ruby runtime, boolean wrap) throws IOException { - RubyModule concurrentMod = runtime.defineModule("Concurrent"); - RubyClass atomicCls = concurrentMod.defineClassUnder("JavaAtomicReference", runtime.getObject(), JRUBYREFERENCE_ALLOCATOR); - try { - sun.misc.Unsafe.class.getMethod("getAndSetObject", Object.class); - atomicCls.setAllocator(JRUBYREFERENCE8_ALLOCATOR); - } catch (Exception e) { - // leave it as Java 6/7 version - } - atomicCls.defineAnnotatedMethods(JRubyReference.class); - } - - private static final ObjectAllocator JRUBYREFERENCE_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JRubyReference(runtime, klazz); - } - }; - - private static final ObjectAllocator JRUBYREFERENCE8_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JRubyReference8(runtime, klazz); - } - }; - - @JRubyClass(name="JRubyReference", parent="Object") - public static class JRubyReference extends RubyObject { - volatile IRubyObject reference; - - static final sun.misc.Unsafe UNSAFE; - static final long referenceOffset; - - static { - try { - UNSAFE = UnsafeHolder.U; - Class k = JRubyReference.class; - referenceOffset = UNSAFE.objectFieldOffset(k.getDeclaredField("reference")); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - public JRubyReference(Ruby runtime, RubyClass klass) { - super(runtime, klass); - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context) { - UNSAFE.putObject(this, referenceOffset, context.nil); - return context.nil; - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context, IRubyObject value) { - UNSAFE.putObject(this, referenceOffset, value); - return context.nil; - } - - @JRubyMethod(name = {"get", "value"}) - public IRubyObject get() { - return reference; - } - - @JRubyMethod(name = {"set", "value="}) - public IRubyObject set(IRubyObject newValue) { - UNSAFE.putObjectVolatile(this, referenceOffset, newValue); - return newValue; - } - - @JRubyMethod(name = {"compare_and_set", "compare_and_swap"}) - public IRubyObject compare_and_set(ThreadContext context, IRubyObject expectedValue, IRubyObject newValue) { - Ruby runtime = context.runtime; - - if (expectedValue instanceof RubyNumeric) { - // numerics are not always idempotent in Ruby, so we need to do slower logic - return compareAndSetNumeric(context, expectedValue, newValue); - } - - return runtime.newBoolean(UNSAFE.compareAndSwapObject(this, referenceOffset, expectedValue, newValue)); - } - - @JRubyMethod(name = {"get_and_set", "swap"}) - public IRubyObject get_and_set(ThreadContext context, IRubyObject newValue) { - // less-efficient version for Java 6 and 7 - while (true) { - IRubyObject oldValue = get(); - if (UNSAFE.compareAndSwapObject(this, referenceOffset, oldValue, newValue)) { - return oldValue; - } - } - } - - private IRubyObject compareAndSetNumeric(ThreadContext context, IRubyObject expectedValue, IRubyObject newValue) { - Ruby runtime = context.runtime; - - // loop until: - // * reference CAS would succeed for same-valued objects - // * current and expected have different values as determined by #equals - while (true) { - IRubyObject current = reference; - - if (!(current instanceof RubyNumeric)) { - // old value is not numeric, CAS fails - return runtime.getFalse(); - } - - RubyNumeric currentNumber = (RubyNumeric)current; - if (!currentNumber.equals(expectedValue)) { - // current number does not equal expected, fail CAS - return runtime.getFalse(); - } - - // check that current has not changed, or else allow loop to repeat - boolean success = UNSAFE.compareAndSwapObject(this, referenceOffset, current, newValue); - if (success) { - // value is same and did not change in interim...success - return runtime.getTrue(); - } - } - } - } - - private static final class UnsafeHolder { - private UnsafeHolder(){} - - public static final sun.misc.Unsafe U = loadUnsafe(); - - private static sun.misc.Unsafe loadUnsafe() { - try { - Class unsafeClass = Class.forName("sun.misc.Unsafe"); - Field f = unsafeClass.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (sun.misc.Unsafe) f.get(null); - } catch (Exception e) { - return null; - } - } - } - - public static class JRubyReference8 extends JRubyReference { - public JRubyReference8(Ruby runtime, RubyClass klass) { - super(runtime, klass); - } - - @Override - public IRubyObject get_and_set(ThreadContext context, IRubyObject newValue) { - // efficient version for Java 8 - return (IRubyObject)UNSAFE.getAndSetObject(this, referenceOffset, newValue); - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java deleted file mode 100644 index a09f916..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java +++ /dev/null @@ -1,248 +0,0 @@ -package com.concurrent_ruby.ext; - -import org.jruby.*; -import org.jruby.anno.JRubyClass; -import org.jruby.anno.JRubyMethod; -import com.concurrent_ruby.ext.jsr166e.ConcurrentHashMap; -import com.concurrent_ruby.ext.jsr166e.ConcurrentHashMapV8; -import com.concurrent_ruby.ext.jsr166e.nounsafe.*; -import org.jruby.runtime.Block; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; -import org.jruby.runtime.load.Library; - -import java.io.IOException; -import java.util.Map; - -import static org.jruby.runtime.Visibility.PRIVATE; - -/** - * Native Java implementation to avoid the JI overhead. - * - * @author thedarkone - */ -public class JRubyMapBackendLibrary implements Library { - public void load(Ruby runtime, boolean wrap) throws IOException { - - RubyModule concurrentMod = runtime.defineModule("Concurrent"); - RubyModule thread_safeMod = concurrentMod.defineModuleUnder("Collection"); - RubyClass jrubyRefClass = thread_safeMod.defineClassUnder("JRubyMapBackend", runtime.getObject(), BACKEND_ALLOCATOR); - jrubyRefClass.setAllocator(BACKEND_ALLOCATOR); - jrubyRefClass.defineAnnotatedMethods(JRubyMapBackend.class); - } - - private static final ObjectAllocator BACKEND_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JRubyMapBackend(runtime, klazz); - } - }; - - @JRubyClass(name="JRubyMapBackend", parent="Object") - public static class JRubyMapBackend extends RubyObject { - // Defaults used by the CHM - static final int DEFAULT_INITIAL_CAPACITY = 16; - static final float DEFAULT_LOAD_FACTOR = 0.75f; - - public static final boolean CAN_USE_UNSAFE_CHM = canUseUnsafeCHM(); - - private ConcurrentHashMap map; - - private static ConcurrentHashMap newCHM(int initialCapacity, float loadFactor) { - if (CAN_USE_UNSAFE_CHM) { - return new ConcurrentHashMapV8(initialCapacity, loadFactor); - } else { - return new com.concurrent_ruby.ext.jsr166e.nounsafe.ConcurrentHashMapV8(initialCapacity, loadFactor); - } - } - - private static ConcurrentHashMap newCHM() { - return newCHM(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR); - } - - private static boolean canUseUnsafeCHM() { - try { - new com.concurrent_ruby.ext.jsr166e.ConcurrentHashMapV8(); // force class load and initialization - return true; - } catch (Throwable t) { // ensuring we really do catch everything - // Doug's Unsafe setup errors always have this "Could not ini.." message - if (isCausedBySecurityException(t)) { - return false; - } - throw (t instanceof RuntimeException ? (RuntimeException) t : new RuntimeException(t)); - } - } - - private static boolean isCausedBySecurityException(Throwable t) { - while (t != null) { - if ((t.getMessage() != null && t.getMessage().contains("Could not initialize intrinsics")) || t instanceof SecurityException) { - return true; - } - t = t.getCause(); - } - return false; - } - - public JRubyMapBackend(Ruby runtime, RubyClass klass) { - super(runtime, klass); - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context) { - map = newCHM(); - return context.getRuntime().getNil(); - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context, IRubyObject options) { - map = toCHM(context, options); - return context.getRuntime().getNil(); - } - - private ConcurrentHashMap toCHM(ThreadContext context, IRubyObject options) { - Ruby runtime = context.getRuntime(); - if (!options.isNil() && options.respondsTo("[]")) { - IRubyObject rInitialCapacity = options.callMethod(context, "[]", runtime.newSymbol("initial_capacity")); - IRubyObject rLoadFactor = options.callMethod(context, "[]", runtime.newSymbol("load_factor")); - int initialCapacity = !rInitialCapacity.isNil() ? RubyNumeric.num2int(rInitialCapacity.convertToInteger()) : DEFAULT_INITIAL_CAPACITY; - float loadFactor = !rLoadFactor.isNil() ? (float)RubyNumeric.num2dbl(rLoadFactor.convertToFloat()) : DEFAULT_LOAD_FACTOR; - return newCHM(initialCapacity, loadFactor); - } else { - return newCHM(); - } - } - - @JRubyMethod(name = "[]", required = 1) - public IRubyObject op_aref(ThreadContext context, IRubyObject key) { - IRubyObject value; - return ((value = map.get(key)) == null) ? context.getRuntime().getNil() : value; - } - - @JRubyMethod(name = {"[]="}, required = 2) - public IRubyObject op_aset(IRubyObject key, IRubyObject value) { - map.put(key, value); - return value; - } - - @JRubyMethod - public IRubyObject put_if_absent(IRubyObject key, IRubyObject value) { - IRubyObject result = map.putIfAbsent(key, value); - return result == null ? getRuntime().getNil() : result; - } - - @JRubyMethod - public IRubyObject compute_if_absent(final ThreadContext context, final IRubyObject key, final Block block) { - return map.computeIfAbsent(key, new ConcurrentHashMap.Fun() { - @Override - public IRubyObject apply(IRubyObject key) { - return block.yieldSpecific(context); - } - }); - } - - @JRubyMethod - public IRubyObject compute_if_present(final ThreadContext context, final IRubyObject key, final Block block) { - IRubyObject result = map.computeIfPresent(key, new ConcurrentHashMap.BiFun() { - @Override - public IRubyObject apply(IRubyObject key, IRubyObject oldValue) { - IRubyObject result = block.yieldSpecific(context, oldValue == null ? context.getRuntime().getNil() : oldValue); - return result.isNil() ? null : result; - } - }); - return result == null ? context.getRuntime().getNil() : result; - } - - @JRubyMethod - public IRubyObject compute(final ThreadContext context, final IRubyObject key, final Block block) { - IRubyObject result = map.compute(key, new ConcurrentHashMap.BiFun() { - @Override - public IRubyObject apply(IRubyObject key, IRubyObject oldValue) { - IRubyObject result = block.yieldSpecific(context, oldValue == null ? context.getRuntime().getNil() : oldValue); - return result.isNil() ? null : result; - } - }); - return result == null ? context.getRuntime().getNil() : result; - } - - @JRubyMethod - public IRubyObject merge_pair(final ThreadContext context, final IRubyObject key, final IRubyObject value, final Block block) { - IRubyObject result = map.merge(key, value, new ConcurrentHashMap.BiFun() { - @Override - public IRubyObject apply(IRubyObject oldValue, IRubyObject newValue) { - IRubyObject result = block.yieldSpecific(context, oldValue == null ? context.getRuntime().getNil() : oldValue); - return result.isNil() ? null : result; - } - }); - return result == null ? context.getRuntime().getNil() : result; - } - - @JRubyMethod - public RubyBoolean replace_pair(IRubyObject key, IRubyObject oldValue, IRubyObject newValue) { - return getRuntime().newBoolean(map.replace(key, oldValue, newValue)); - } - - @JRubyMethod(name = "key?", required = 1) - public RubyBoolean has_key_p(IRubyObject key) { - return map.containsKey(key) ? getRuntime().getTrue() : getRuntime().getFalse(); - } - - @JRubyMethod - public IRubyObject key(IRubyObject value) { - final IRubyObject key = map.findKey(value); - return key == null ? getRuntime().getNil() : key; - } - - @JRubyMethod - public IRubyObject replace_if_exists(IRubyObject key, IRubyObject value) { - IRubyObject result = map.replace(key, value); - return result == null ? getRuntime().getNil() : result; - } - - @JRubyMethod - public IRubyObject get_and_set(IRubyObject key, IRubyObject value) { - IRubyObject result = map.put(key, value); - return result == null ? getRuntime().getNil() : result; - } - - @JRubyMethod - public IRubyObject delete(IRubyObject key) { - IRubyObject result = map.remove(key); - return result == null ? getRuntime().getNil() : result; - } - - @JRubyMethod - public RubyBoolean delete_pair(IRubyObject key, IRubyObject value) { - return getRuntime().newBoolean(map.remove(key, value)); - } - - @JRubyMethod - public IRubyObject clear() { - map.clear(); - return this; - } - - @JRubyMethod - public IRubyObject each_pair(ThreadContext context, Block block) { - for (Map.Entry entry : map.entrySet()) { - block.yieldSpecific(context, entry.getKey(), entry.getValue()); - } - return this; - } - - @JRubyMethod - public RubyFixnum size(ThreadContext context) { - return context.getRuntime().newFixnum(map.size()); - } - - @JRubyMethod - public IRubyObject get_or_default(IRubyObject key, IRubyObject defaultValue) { - return map.getValueOrDefault(key, defaultValue); - } - - @JRubyMethod(visibility = PRIVATE) - public JRubyMapBackend initialize_copy(ThreadContext context, IRubyObject other) { - map = newCHM(); - return this; - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java deleted file mode 100644 index b566076..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.concurrent_ruby.ext; - -import org.jruby.Ruby; -import org.jruby.RubyBoolean; -import org.jruby.RubyClass; -import org.jruby.RubyModule; -import org.jruby.RubyNil; -import org.jruby.RubyObject; -import org.jruby.anno.JRubyClass; -import org.jruby.anno.JRubyMethod; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; -import org.jruby.runtime.load.Library; - -import java.io.IOException; -import java.util.concurrent.atomic.AtomicBoolean; - -public class JavaAtomicBooleanLibrary implements Library { - - public void load(Ruby runtime, boolean wrap) throws IOException { - RubyModule concurrentMod = runtime.defineModule("Concurrent"); - RubyClass atomicCls = concurrentMod.defineClassUnder("JavaAtomicBoolean", runtime.getObject(), JRUBYREFERENCE_ALLOCATOR); - atomicCls.defineAnnotatedMethods(JavaAtomicBoolean.class); - } - - private static final ObjectAllocator JRUBYREFERENCE_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JavaAtomicBoolean(runtime, klazz); - } - }; - - @JRubyClass(name = "JavaAtomicBoolean", parent = "Object") - public static class JavaAtomicBoolean extends RubyObject { - - private AtomicBoolean atomicBoolean; - - public JavaAtomicBoolean(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context, IRubyObject value) { - atomicBoolean = new AtomicBoolean(convertRubyBooleanToJavaBoolean(value)); - return context.nil; - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context) { - atomicBoolean = new AtomicBoolean(); - return context.nil; - } - - @JRubyMethod(name = "value") - public IRubyObject value() { - return getRuntime().newBoolean(atomicBoolean.get()); - } - - @JRubyMethod(name = "true?") - public IRubyObject isAtomicTrue() { - return getRuntime().newBoolean(atomicBoolean.get()); - } - - @JRubyMethod(name = "false?") - public IRubyObject isAtomicFalse() { - return getRuntime().newBoolean((atomicBoolean.get() == false)); - } - - @JRubyMethod(name = "value=") - public IRubyObject setAtomic(ThreadContext context, IRubyObject newValue) { - atomicBoolean.set(convertRubyBooleanToJavaBoolean(newValue)); - return context.nil; - } - - @JRubyMethod(name = "make_true") - public IRubyObject makeTrue() { - return getRuntime().newBoolean(atomicBoolean.compareAndSet(false, true)); - } - - @JRubyMethod(name = "make_false") - public IRubyObject makeFalse() { - return getRuntime().newBoolean(atomicBoolean.compareAndSet(true, false)); - } - - private boolean convertRubyBooleanToJavaBoolean(IRubyObject newValue) { - if (newValue instanceof RubyBoolean.False || newValue instanceof RubyNil) { - return false; - } else { - return true; - } - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java deleted file mode 100644 index 672bfc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.concurrent_ruby.ext; - -import java.io.IOException; -import java.util.concurrent.atomic.AtomicLong; -import org.jruby.Ruby; -import org.jruby.RubyClass; -import org.jruby.RubyFixnum; -import org.jruby.RubyModule; -import org.jruby.RubyObject; -import org.jruby.anno.JRubyClass; -import org.jruby.anno.JRubyMethod; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; -import org.jruby.runtime.load.Library; -import org.jruby.runtime.Block; - -public class JavaAtomicFixnumLibrary implements Library { - - public void load(Ruby runtime, boolean wrap) throws IOException { - RubyModule concurrentMod = runtime.defineModule("Concurrent"); - RubyClass atomicCls = concurrentMod.defineClassUnder("JavaAtomicFixnum", runtime.getObject(), JRUBYREFERENCE_ALLOCATOR); - - atomicCls.defineAnnotatedMethods(JavaAtomicFixnum.class); - } - - private static final ObjectAllocator JRUBYREFERENCE_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JavaAtomicFixnum(runtime, klazz); - } - }; - - @JRubyClass(name = "JavaAtomicFixnum", parent = "Object") - public static class JavaAtomicFixnum extends RubyObject { - - private AtomicLong atomicLong; - - public JavaAtomicFixnum(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context) { - this.atomicLong = new AtomicLong(0); - return context.nil; - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context, IRubyObject value) { - this.atomicLong = new AtomicLong(rubyFixnumToLong(value)); - return context.nil; - } - - @JRubyMethod(name = "value") - public IRubyObject getValue() { - return getRuntime().newFixnum(atomicLong.get()); - } - - @JRubyMethod(name = "value=") - public IRubyObject setValue(ThreadContext context, IRubyObject newValue) { - atomicLong.set(rubyFixnumToLong(newValue)); - return context.nil; - } - - @JRubyMethod(name = {"increment", "up"}) - public IRubyObject increment() { - return getRuntime().newFixnum(atomicLong.incrementAndGet()); - } - - @JRubyMethod(name = {"increment", "up"}) - public IRubyObject increment(IRubyObject value) { - long delta = rubyFixnumToLong(value); - return getRuntime().newFixnum(atomicLong.addAndGet(delta)); - } - - @JRubyMethod(name = {"decrement", "down"}) - public IRubyObject decrement() { - return getRuntime().newFixnum(atomicLong.decrementAndGet()); - } - - @JRubyMethod(name = {"decrement", "down"}) - public IRubyObject decrement(IRubyObject value) { - long delta = rubyFixnumToLong(value); - return getRuntime().newFixnum(atomicLong.addAndGet(-delta)); - } - - @JRubyMethod(name = "compare_and_set") - public IRubyObject compareAndSet(ThreadContext context, IRubyObject expect, IRubyObject update) { - return getRuntime().newBoolean(atomicLong.compareAndSet(rubyFixnumToLong(expect), rubyFixnumToLong(update))); - } - - @JRubyMethod - public IRubyObject update(ThreadContext context, Block block) { - for (;;) { - long _oldValue = atomicLong.get(); - IRubyObject oldValue = getRuntime().newFixnum(_oldValue); - IRubyObject newValue = block.yield(context, oldValue); - if (atomicLong.compareAndSet(_oldValue, rubyFixnumToLong(newValue))) { - return newValue; - } - } - } - - private long rubyFixnumToLong(IRubyObject value) { - if (value instanceof RubyFixnum) { - RubyFixnum fixNum = (RubyFixnum) value; - return fixNum.getLongValue(); - } else { - throw getRuntime().newArgumentError("value must be a Fixnum"); - } - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java deleted file mode 100644 index d887f25..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.concurrent_ruby.ext; - -import java.io.IOException; -import java.util.concurrent.Semaphore; -import org.jruby.Ruby; -import org.jruby.RubyClass; -import org.jruby.RubyFixnum; -import org.jruby.RubyModule; -import org.jruby.RubyNumeric; -import org.jruby.RubyObject; -import org.jruby.anno.JRubyClass; -import org.jruby.anno.JRubyMethod; -import org.jruby.runtime.Block; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; - -public class JavaSemaphoreLibrary { - - public void load(Ruby runtime, boolean wrap) throws IOException { - RubyModule concurrentMod = runtime.defineModule("Concurrent"); - RubyClass atomicCls = concurrentMod.defineClassUnder("JavaSemaphore", runtime.getObject(), JRUBYREFERENCE_ALLOCATOR); - - atomicCls.defineAnnotatedMethods(JavaSemaphore.class); - } - - private static final ObjectAllocator JRUBYREFERENCE_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JavaSemaphore(runtime, klazz); - } - }; - - @JRubyClass(name = "JavaSemaphore", parent = "Object") - public static class JavaSemaphore extends RubyObject { - - private JRubySemaphore semaphore; - - public JavaSemaphore(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - - @JRubyMethod - public IRubyObject initialize(ThreadContext context, IRubyObject value) { - this.semaphore = new JRubySemaphore(rubyFixnumInt(value, "count")); - return context.nil; - } - - @JRubyMethod - public IRubyObject acquire(ThreadContext context, final Block block) throws InterruptedException { - return this.acquire(context, 1, block); - } - - @JRubyMethod - public IRubyObject acquire(ThreadContext context, IRubyObject permits, final Block block) throws InterruptedException { - return this.acquire(context, rubyFixnumToPositiveInt(permits, "permits"), block); - } - - @JRubyMethod(name = "available_permits") - public IRubyObject availablePermits(ThreadContext context) { - return getRuntime().newFixnum(this.semaphore.availablePermits()); - } - - @JRubyMethod(name = "drain_permits") - public IRubyObject drainPermits(ThreadContext context) { - return getRuntime().newFixnum(this.semaphore.drainPermits()); - } - - @JRubyMethod(name = "try_acquire") - public IRubyObject tryAcquire(ThreadContext context, final Block block) throws InterruptedException { - int permitsInt = 1; - boolean acquired = semaphore.tryAcquire(permitsInt); - - return triedAcquire(context, permitsInt, acquired, block); - } - - @JRubyMethod(name = "try_acquire") - public IRubyObject tryAcquire(ThreadContext context, IRubyObject permits, final Block block) throws InterruptedException { - int permitsInt = rubyFixnumToPositiveInt(permits, "permits"); - boolean acquired = semaphore.tryAcquire(permitsInt); - - return triedAcquire(context, permitsInt, acquired, block); - } - - @JRubyMethod(name = "try_acquire") - public IRubyObject tryAcquire(ThreadContext context, IRubyObject permits, IRubyObject timeout, final Block block) throws InterruptedException { - int permitsInt = rubyFixnumToPositiveInt(permits, "permits"); - boolean acquired = semaphore.tryAcquire( - permitsInt, - rubyNumericToLong(timeout, "timeout"), - java.util.concurrent.TimeUnit.SECONDS - ); - - return triedAcquire(context, permitsInt, acquired, block); - } - - @JRubyMethod - public IRubyObject release(ThreadContext context) { - this.semaphore.release(1); - return getRuntime().newBoolean(true); - } - - @JRubyMethod - public IRubyObject release(ThreadContext context, IRubyObject permits) { - this.semaphore.release(rubyFixnumToPositiveInt(permits, "permits")); - return getRuntime().newBoolean(true); - } - - @JRubyMethod(name = "reduce_permits") - public IRubyObject reducePermits(ThreadContext context, IRubyObject reduction) throws InterruptedException { - this.semaphore.publicReducePermits(rubyFixnumToNonNegativeInt(reduction, "reduction")); - return context.nil; - } - - private IRubyObject acquire(ThreadContext context, int permits, final Block block) throws InterruptedException { - this.semaphore.acquire(permits); - - if (!block.isGiven()) return context.nil; - - try { - return block.yieldSpecific(context); - } finally { - this.semaphore.release(permits); - } - } - - private IRubyObject triedAcquire(ThreadContext context, int permits, boolean acquired, final Block block) { - if (!block.isGiven()) return getRuntime().newBoolean(acquired); - if (!acquired) return context.nil; - - try { - return block.yieldSpecific(context); - } finally { - this.semaphore.release(permits); - } - } - - private int rubyFixnumInt(IRubyObject value, String paramName) { - if (value instanceof RubyFixnum) { - RubyFixnum fixNum = (RubyFixnum) value; - return (int) fixNum.getLongValue(); - } else { - throw getRuntime().newArgumentError(paramName + " must be integer"); - } - } - - private int rubyFixnumToNonNegativeInt(IRubyObject value, String paramName) { - if (value instanceof RubyFixnum && ((RubyFixnum) value).getLongValue() >= 0) { - RubyFixnum fixNum = (RubyFixnum) value; - return (int) fixNum.getLongValue(); - } else { - throw getRuntime().newArgumentError(paramName + " must be a non-negative integer"); - } - } - - private int rubyFixnumToPositiveInt(IRubyObject value, String paramName) { - if (value instanceof RubyFixnum && ((RubyFixnum) value).getLongValue() > 0) { - RubyFixnum fixNum = (RubyFixnum) value; - return (int) fixNum.getLongValue(); - } else { - throw getRuntime().newArgumentError(paramName + " must be an integer greater than zero"); - } - } - - private long rubyNumericToLong(IRubyObject value, String paramName) { - if (value instanceof RubyNumeric && ((RubyNumeric) value).getDoubleValue() > 0) { - RubyNumeric fixNum = (RubyNumeric) value; - return fixNum.getLongValue(); - } else { - throw getRuntime().newArgumentError(paramName + " must be a float greater than zero"); - } - } - - class JRubySemaphore extends Semaphore { - - public JRubySemaphore(int permits) { - super(permits); - } - - public JRubySemaphore(int permits, boolean value) { - super(permits, value); - } - - public void publicReducePermits(int i) { - reducePermits(i); - } - - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java deleted file mode 100644 index f0c75ee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java +++ /dev/null @@ -1,292 +0,0 @@ -package com.concurrent_ruby.ext; - -import org.jruby.Ruby; -import org.jruby.RubyBasicObject; -import org.jruby.RubyClass; -import org.jruby.RubyModule; -import org.jruby.RubyObject; -import org.jruby.RubyThread; -import org.jruby.anno.JRubyClass; -import org.jruby.anno.JRubyMethod; -import org.jruby.runtime.Block; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.Visibility; -import org.jruby.runtime.builtin.IRubyObject; -import org.jruby.runtime.load.Library; -import sun.misc.Unsafe; - -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Method; - -public class SynchronizationLibrary implements Library { - - private static final Unsafe UNSAFE = loadUnsafe(); - private static final boolean FULL_FENCE = supportsFences(); - - private static Unsafe loadUnsafe() { - try { - Class ncdfe = Class.forName("sun.misc.Unsafe"); - Field f = ncdfe.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (Unsafe) f.get((java.lang.Object) null); - } catch (Exception var2) { - return null; - } catch (NoClassDefFoundError var3) { - return null; - } - } - - private static boolean supportsFences() { - if (UNSAFE == null) { - return false; - } else { - try { - Method m = UNSAFE.getClass().getDeclaredMethod("fullFence", new Class[0]); - if (m != null) { - return true; - } - } catch (Exception var1) { - // nothing - } - - return false; - } - } - - private static final ObjectAllocator OBJECT_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new Object(runtime, klazz); - } - }; - - private static final ObjectAllocator ABSTRACT_LOCKABLE_OBJECT_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new AbstractLockableObject(runtime, klazz); - } - }; - - private static final ObjectAllocator JRUBY_LOCKABLE_OBJECT_ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JRubyLockableObject(runtime, klazz); - } - }; - - public void load(Ruby runtime, boolean wrap) throws IOException { - RubyModule synchronizationModule = runtime. - defineModule("Concurrent"). - defineModuleUnder("Synchronization"); - - RubyModule jrubyAttrVolatileModule = synchronizationModule.defineModuleUnder("JRubyAttrVolatile"); - jrubyAttrVolatileModule.defineAnnotatedMethods(JRubyAttrVolatile.class); - - defineClass(runtime, synchronizationModule, "AbstractObject", "Object", - Object.class, OBJECT_ALLOCATOR); - - defineClass(runtime, synchronizationModule, "Object", "AbstractLockableObject", - AbstractLockableObject.class, ABSTRACT_LOCKABLE_OBJECT_ALLOCATOR); - - defineClass(runtime, synchronizationModule, "AbstractLockableObject", "JRubyLockableObject", - JRubyLockableObject.class, JRUBY_LOCKABLE_OBJECT_ALLOCATOR); - - defineClass(runtime, synchronizationModule, "Object", "JRuby", - JRuby.class, new ObjectAllocator() { - @Override - public IRubyObject allocate(Ruby runtime, RubyClass klazz) { - return new JRuby(runtime, klazz); - } - }); - } - - private RubyClass defineClass( - Ruby runtime, - RubyModule namespace, - String parentName, - String name, - Class javaImplementation, - ObjectAllocator allocator) { - final RubyClass parentClass = namespace.getClass(parentName); - - if (parentClass == null) { - System.out.println("not found " + parentName); - throw runtime.newRuntimeError(namespace.toString() + "::" + parentName + " is missing"); - } - - final RubyClass newClass = namespace.defineClassUnder(name, parentClass, allocator); - newClass.defineAnnotatedMethods(javaImplementation); - return newClass; - } - - // Facts: - // - all ivar reads are without any synchronisation of fences see - // https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/runtime/ivars/VariableAccessor.java#L110-110 - // - writes depend on UnsafeHolder.U, null -> SynchronizedVariableAccessor, !null -> StampedVariableAccessor - // SynchronizedVariableAccessor wraps with synchronized block, StampedVariableAccessor uses fullFence or - // volatilePut - // TODO (pitr 16-Sep-2015): what do we do in Java 9 ? - - // module JRubyAttrVolatile - public static class JRubyAttrVolatile { - - // volatile threadContext is used as a memory barrier per the JVM memory model happens-before semantic - // on volatile fields. any volatile field could have been used but using the thread context is an - // attempt to avoid code elimination. - private static volatile int volatileField; - - @JRubyMethod(name = "full_memory_barrier", visibility = Visibility.PUBLIC, module = true) - public static IRubyObject fullMemoryBarrier(ThreadContext context, IRubyObject module) { - // Prevent reordering of ivar writes with publication of this instance - if (!FULL_FENCE) { - // Assuming that following volatile read and write is not eliminated it simulates fullFence. - // If it's eliminated it'll cause problems only on non-x86 platforms. - // http://shipilev.net/blog/2014/jmm-pragmatics/#_happens_before_test_your_understanding - final int volatileRead = volatileField; - volatileField = context.getLine(); - } else { - UNSAFE.fullFence(); - } - return context.nil; - } - - @JRubyMethod(name = "instance_variable_get_volatile", visibility = Visibility.PUBLIC, module = true) - public static IRubyObject instanceVariableGetVolatile( - ThreadContext context, - IRubyObject module, - IRubyObject self, - IRubyObject name) { - // Ensure we ses latest value with loadFence - if (!FULL_FENCE) { - // piggybacking on volatile read, simulating loadFence - final int volatileRead = volatileField; - return ((RubyBasicObject) self).instance_variable_get(context, name); - } else { - UNSAFE.loadFence(); - return ((RubyBasicObject) self).instance_variable_get(context, name); - } - } - - @JRubyMethod(name = "instance_variable_set_volatile", visibility = Visibility.PUBLIC, module = true) - public static IRubyObject InstanceVariableSetVolatile( - ThreadContext context, - IRubyObject module, - IRubyObject self, - IRubyObject name, - IRubyObject value) { - // Ensure we make last update visible - if (!FULL_FENCE) { - // piggybacking on volatile write, simulating storeFence - final IRubyObject result = ((RubyBasicObject) self).instance_variable_set(name, value); - volatileField = context.getLine(); - return result; - } else { - // JRuby uses StampedVariableAccessor which calls fullFence - // so no additional steps needed. - // See https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/runtime/ivars/StampedVariableAccessor.java#L151-L159 - return ((RubyBasicObject) self).instance_variable_set(name, value); - } - } - } - - @JRubyClass(name = "Object", parent = "AbstractObject") - public static class Object extends RubyObject { - - public Object(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - } - - @JRubyClass(name = "AbstractLockableObject", parent = "Object") - public static class AbstractLockableObject extends Object { - - public AbstractLockableObject(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - } - - @JRubyClass(name = "JRubyLockableObject", parent = "AbstractLockableObject") - public static class JRubyLockableObject extends AbstractLockableObject { - - public JRubyLockableObject(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - - @JRubyMethod(name = "synchronize", visibility = Visibility.PROTECTED) - public IRubyObject rubySynchronize(ThreadContext context, Block block) { - synchronized (this) { - return block.yield(context, null); - } - } - - @JRubyMethod(name = "ns_wait", optional = 1, visibility = Visibility.PROTECTED) - public IRubyObject nsWait(ThreadContext context, IRubyObject[] args) { - Ruby runtime = context.runtime; - if (args.length > 1) { - throw runtime.newArgumentError(args.length, 1); - } - Double timeout = null; - if (args.length > 0 && !args[0].isNil()) { - timeout = args[0].convertToFloat().getDoubleValue(); - if (timeout < 0) { - throw runtime.newArgumentError("time interval must be positive"); - } - } - if (Thread.interrupted()) { - throw runtime.newConcurrencyError("thread interrupted"); - } - boolean success = false; - try { - success = context.getThread().wait_timeout(this, timeout); - } catch (InterruptedException ie) { - throw runtime.newConcurrencyError(ie.getLocalizedMessage()); - } finally { - // An interrupt or timeout may have caused us to miss - // a notify that we consumed, so do another notify in - // case someone else is available to pick it up. - if (!success) { - this.notify(); - } - } - return this; - } - - @JRubyMethod(name = "ns_signal", visibility = Visibility.PROTECTED) - public IRubyObject nsSignal(ThreadContext context) { - notify(); - return this; - } - - @JRubyMethod(name = "ns_broadcast", visibility = Visibility.PROTECTED) - public IRubyObject nsBroadcast(ThreadContext context) { - notifyAll(); - return this; - } - } - - @JRubyClass(name = "JRuby") - public static class JRuby extends RubyObject { - public JRuby(Ruby runtime, RubyClass metaClass) { - super(runtime, metaClass); - } - - @JRubyMethod(name = "sleep_interruptibly", visibility = Visibility.PUBLIC, module = true) - public static IRubyObject sleepInterruptibly(final ThreadContext context, IRubyObject receiver, final Block block) { - try { - context.getThread().executeBlockingTask(new RubyThread.BlockingTask() { - @Override - public void run() throws InterruptedException { - block.call(context); - } - - @Override - public void wakeup() { - context.getThread().getNativeThread().interrupt(); - } - }); - } catch (InterruptedException e) { - throw context.runtime.newThreadError("interrupted in Concurrent::Synchronization::JRuby.sleep_interruptibly"); - } - return context.nil; - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java deleted file mode 100644 index e11e15a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.concurrent_ruby.ext.jsr166e; - -import java.util.Map; -import java.util.Set; - -public interface ConcurrentHashMap { - /** Interface describing a function of one argument */ - public interface Fun { T apply(A a); } - /** Interface describing a function of two arguments */ - public interface BiFun { T apply(A a, B b); } - - public V get(K key); - public V put(K key, V value); - public V putIfAbsent(K key, V value); - public V computeIfAbsent(K key, Fun mf); - public V computeIfPresent(K key, BiFun mf); - public V compute(K key, BiFun mf); - public V merge(K key, V value, BiFun mf); - public boolean replace(K key, V oldVal, V newVal); - public V replace(K key, V value); - public boolean containsKey(K key); - public boolean remove(Object key, Object value); - public V remove(K key); - public void clear(); - public Set> entrySet(); - public int size(); - public V getValueOrDefault(Object key, V defaultValue); - - public boolean containsValue(V value); - public K findKey(V value); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java deleted file mode 100644 index 86aa4eb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +++ /dev/null @@ -1,3863 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on the 1.79 version. - -package com.concurrent_ruby.ext.jsr166e; - -import org.jruby.RubyClass; -import org.jruby.RubyNumeric; -import org.jruby.RubyObject; -import org.jruby.exceptions.RaiseException; -import com.concurrent_ruby.ext.jsr166y.ThreadLocalRandom; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; - -import java.util.Arrays; -import java.util.Map; -import java.util.Set; -import java.util.Collection; -import java.util.Hashtable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Enumeration; -import java.util.ConcurrentModificationException; -import java.util.NoSuchElementException; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.locks.AbstractQueuedSynchronizer; - -import java.io.Serializable; - -/** - * A hash table supporting full concurrency of retrievals and - * high expected concurrency for updates. This class obeys the - * same functional specification as {@link java.util.Hashtable}, and - * includes versions of methods corresponding to each method of - * {@code Hashtable}. However, even though all operations are - * thread-safe, retrieval operations do not entail locking, - * and there is not any support for locking the entire table - * in a way that prevents all access. This class is fully - * interoperable with {@code Hashtable} in programs that rely on its - * thread safety but not on its synchronization details. - * - *

Retrieval operations (including {@code get}) generally do not - * block, so may overlap with update operations (including {@code put} - * and {@code remove}). Retrievals reflect the results of the most - * recently completed update operations holding upon their - * onset. (More formally, an update operation for a given key bears a - * happens-before relation with any (non-null) retrieval for - * that key reporting the updated value.) For aggregate operations - * such as {@code putAll} and {@code clear}, concurrent retrievals may - * reflect insertion or removal of only some entries. Similarly, - * Iterators and Enumerations return elements reflecting the state of - * the hash table at some point at or since the creation of the - * iterator/enumeration. They do not throw {@link - * ConcurrentModificationException}. However, iterators are designed - * to be used by only one thread at a time. Bear in mind that the - * results of aggregate status methods including {@code size}, {@code - * isEmpty}, and {@code containsValue} are typically useful only when - * a map is not undergoing concurrent updates in other threads. - * Otherwise the results of these methods reflect transient states - * that may be adequate for monitoring or estimation purposes, but not - * for program control. - * - *

The table is dynamically expanded when there are too many - * collisions (i.e., keys that have distinct hash codes but fall into - * the same slot modulo the table size), with the expected average - * effect of maintaining roughly two bins per mapping (corresponding - * to a 0.75 load factor threshold for resizing). There may be much - * variance around this average as mappings are added and removed, but - * overall, this maintains a commonly accepted time/space tradeoff for - * hash tables. However, resizing this or any other kind of hash - * table may be a relatively slow operation. When possible, it is a - * good idea to provide a size estimate as an optional {@code - * initialCapacity} constructor argument. An additional optional - * {@code loadFactor} constructor argument provides a further means of - * customizing initial table capacity by specifying the table density - * to be used in calculating the amount of space to allocate for the - * given number of elements. Also, for compatibility with previous - * versions of this class, constructors may optionally specify an - * expected {@code concurrencyLevel} as an additional hint for - * internal sizing. Note that using many keys with exactly the same - * {@code hashCode()} is a sure way to slow down performance of any - * hash table. - * - *

A {@link Set} projection of a ConcurrentHashMapV8 may be created - * (using {@link #newKeySet()} or {@link #newKeySet(int)}), or viewed - * (using {@link #keySet(Object)} when only keys are of interest, and the - * mapped values are (perhaps transiently) not used or all take the - * same mapping value. - * - *

A ConcurrentHashMapV8 can be used as scalable frequency map (a - * form of histogram or multiset) by using {@link LongAdder} values - * and initializing via {@link #computeIfAbsent}. For example, to add - * a count to a {@code ConcurrentHashMapV8 freqs}, you - * can use {@code freqs.computeIfAbsent(k -> new - * LongAdder()).increment();} - * - *

This class and its views and iterators implement all of the - * optional methods of the {@link Map} and {@link Iterator} - * interfaces. - * - *

Like {@link Hashtable} but unlike {@link HashMap}, this class - * does not allow {@code null} to be used as a key or value. - * - *

ConcurrentHashMapV8s support parallel operations using the {@link - * ForkJoinPool#commonPool}. (Tasks that may be used in other contexts - * are available in class {@link ForkJoinTasks}). These operations are - * designed to be safely, and often sensibly, applied even with maps - * that are being concurrently updated by other threads; for example, - * when computing a snapshot summary of the values in a shared - * registry. There are three kinds of operation, each with four - * forms, accepting functions with Keys, Values, Entries, and (Key, - * Value) arguments and/or return values. (The first three forms are - * also available via the {@link #keySet()}, {@link #values()} and - * {@link #entrySet()} views). Because the elements of a - * ConcurrentHashMapV8 are not ordered in any particular way, and may be - * processed in different orders in different parallel executions, the - * correctness of supplied functions should not depend on any - * ordering, or on any other objects or values that may transiently - * change while computation is in progress; and except for forEach - * actions, should ideally be side-effect-free. - * - *

    - *
  • forEach: Perform a given action on each element. - * A variant form applies a given transformation on each element - * before performing the action.
  • - * - *
  • search: Return the first available non-null result of - * applying a given function on each element; skipping further - * search when a result is found.
  • - * - *
  • reduce: Accumulate each element. The supplied reduction - * function cannot rely on ordering (more formally, it should be - * both associative and commutative). There are five variants: - * - *
      - * - *
    • Plain reductions. (There is not a form of this method for - * (key, value) function arguments since there is no corresponding - * return type.)
    • - * - *
    • Mapped reductions that accumulate the results of a given - * function applied to each element.
    • - * - *
    • Reductions to scalar doubles, longs, and ints, using a - * given basis value.
    • - * - * - *
    - *
- * - *

The concurrency properties of bulk operations follow - * from those of ConcurrentHashMapV8: Any non-null result returned - * from {@code get(key)} and related access methods bears a - * happens-before relation with the associated insertion or - * update. The result of any bulk operation reflects the - * composition of these per-element relations (but is not - * necessarily atomic with respect to the map as a whole unless it - * is somehow known to be quiescent). Conversely, because keys - * and values in the map are never null, null serves as a reliable - * atomic indicator of the current lack of any result. To - * maintain this property, null serves as an implicit basis for - * all non-scalar reduction operations. For the double, long, and - * int versions, the basis should be one that, when combined with - * any other value, returns that other value (more formally, it - * should be the identity element for the reduction). Most common - * reductions have these properties; for example, computing a sum - * with basis 0 or a minimum with basis MAX_VALUE. - * - *

Search and transformation functions provided as arguments - * should similarly return null to indicate the lack of any result - * (in which case it is not used). In the case of mapped - * reductions, this also enables transformations to serve as - * filters, returning null (or, in the case of primitive - * specializations, the identity basis) if the element should not - * be combined. You can create compound transformations and - * filterings by composing them yourself under this "null means - * there is nothing there now" rule before using them in search or - * reduce operations. - * - *

Methods accepting and/or returning Entry arguments maintain - * key-value associations. They may be useful for example when - * finding the key for the greatest value. Note that "plain" Entry - * arguments can be supplied using {@code new - * AbstractMap.SimpleEntry(k,v)}. - * - *

Bulk operations may complete abruptly, throwing an - * exception encountered in the application of a supplied - * function. Bear in mind when handling such exceptions that other - * concurrently executing functions could also have thrown - * exceptions, or would have done so if the first exception had - * not occurred. - * - *

Parallel speedups for bulk operations compared to sequential - * processing are common but not guaranteed. Operations involving - * brief functions on small maps may execute more slowly than - * sequential loops if the underlying work to parallelize the - * computation is more expensive than the computation itself. - * Similarly, parallelization may not lead to much actual parallelism - * if all processors are busy performing unrelated tasks. - * - *

All arguments to all task methods must be non-null. - * - *

jsr166e note: During transition, this class - * uses nested functional interfaces with different names but the - * same forms as those expected for JDK8. - * - *

This class is a member of the - * - * Java Collections Framework. - * - * @since 1.5 - * @author Doug Lea - * @param the type of keys maintained by this map - * @param the type of mapped values - */ -public class ConcurrentHashMapV8 - implements ConcurrentMap, Serializable, ConcurrentHashMap { - private static final long serialVersionUID = 7249069246763182397L; - - /** - * A partitionable iterator. A Spliterator can be traversed - * directly, but can also be partitioned (before traversal) by - * creating another Spliterator that covers a non-overlapping - * portion of the elements, and so may be amenable to parallel - * execution. - * - *

This interface exports a subset of expected JDK8 - * functionality. - * - *

Sample usage: Here is one (of the several) ways to compute - * the sum of the values held in a map using the ForkJoin - * framework. As illustrated here, Spliterators are well suited to - * designs in which a task repeatedly splits off half its work - * into forked subtasks until small enough to process directly, - * and then joins these subtasks. Variants of this style can also - * be used in completion-based designs. - * - *

-     * {@code ConcurrentHashMapV8 m = ...
-     * // split as if have 8 * parallelism, for load balance
-     * int n = m.size();
-     * int p = aForkJoinPool.getParallelism() * 8;
-     * int split = (n < p)? n : p;
-     * long sum = aForkJoinPool.invoke(new SumValues(m.valueSpliterator(), split, null));
-     * // ...
-     * static class SumValues extends RecursiveTask {
-     *   final Spliterator s;
-     *   final int split;             // split while > 1
-     *   final SumValues nextJoin;    // records forked subtasks to join
-     *   SumValues(Spliterator s, int depth, SumValues nextJoin) {
-     *     this.s = s; this.depth = depth; this.nextJoin = nextJoin;
-     *   }
-     *   public Long compute() {
-     *     long sum = 0;
-     *     SumValues subtasks = null; // fork subtasks
-     *     for (int s = split >>> 1; s > 0; s >>>= 1)
-     *       (subtasks = new SumValues(s.split(), s, subtasks)).fork();
-     *     while (s.hasNext())        // directly process remaining elements
-     *       sum += s.next();
-     *     for (SumValues t = subtasks; t != null; t = t.nextJoin)
-     *       sum += t.join();         // collect subtask results
-     *     return sum;
-     *   }
-     * }
-     * }
- */ - public static interface Spliterator extends Iterator { - /** - * Returns a Spliterator covering approximately half of the - * elements, guaranteed not to overlap with those subsequently - * returned by this Spliterator. After invoking this method, - * the current Spliterator will not produce any of - * the elements of the returned Spliterator, but the two - * Spliterators together will produce all of the elements that - * would have been produced by this Spliterator had this - * method not been called. The exact number of elements - * produced by the returned Spliterator is not guaranteed, and - * may be zero (i.e., with {@code hasNext()} reporting {@code - * false}) if this Spliterator cannot be further split. - * - * @return a Spliterator covering approximately half of the - * elements - * @throws IllegalStateException if this Spliterator has - * already commenced traversing elements - */ - Spliterator split(); - } - - - /* - * Overview: - * - * The primary design goal of this hash table is to maintain - * concurrent readability (typically method get(), but also - * iterators and related methods) while minimizing update - * contention. Secondary goals are to keep space consumption about - * the same or better than java.util.HashMap, and to support high - * initial insertion rates on an empty table by many threads. - * - * Each key-value mapping is held in a Node. Because Node fields - * can contain special values, they are defined using plain Object - * types. Similarly in turn, all internal methods that use them - * work off Object types. And similarly, so do the internal - * methods of auxiliary iterator and view classes. All public - * generic typed methods relay in/out of these internal methods, - * supplying null-checks and casts as needed. This also allows - * many of the public methods to be factored into a smaller number - * of internal methods (although sadly not so for the five - * variants of put-related operations). The validation-based - * approach explained below leads to a lot of code sprawl because - * retry-control precludes factoring into smaller methods. - * - * The table is lazily initialized to a power-of-two size upon the - * first insertion. Each bin in the table normally contains a - * list of Nodes (most often, the list has only zero or one Node). - * Table accesses require volatile/atomic reads, writes, and - * CASes. Because there is no other way to arrange this without - * adding further indirections, we use intrinsics - * (sun.misc.Unsafe) operations. The lists of nodes within bins - * are always accurately traversable under volatile reads, so long - * as lookups check hash code and non-nullness of value before - * checking key equality. - * - * We use the top two bits of Node hash fields for control - * purposes -- they are available anyway because of addressing - * constraints. As explained further below, these top bits are - * used as follows: - * 00 - Normal - * 01 - Locked - * 11 - Locked and may have a thread waiting for lock - * 10 - Node is a forwarding node - * - * The lower 30 bits of each Node's hash field contain a - * transformation of the key's hash code, except for forwarding - * nodes, for which the lower bits are zero (and so always have - * hash field == MOVED). - * - * Insertion (via put or its variants) of the first node in an - * empty bin is performed by just CASing it to the bin. This is - * by far the most common case for put operations under most - * key/hash distributions. Other update operations (insert, - * delete, and replace) require locks. We do not want to waste - * the space required to associate a distinct lock object with - * each bin, so instead use the first node of a bin list itself as - * a lock. Blocking support for these locks relies on the builtin - * "synchronized" monitors. However, we also need a tryLock - * construction, so we overlay these by using bits of the Node - * hash field for lock control (see above), and so normally use - * builtin monitors only for blocking and signalling using - * wait/notifyAll constructions. See Node.tryAwaitLock. - * - * Using the first node of a list as a lock does not by itself - * suffice though: When a node is locked, any update must first - * validate that it is still the first node after locking it, and - * retry if not. Because new nodes are always appended to lists, - * once a node is first in a bin, it remains first until deleted - * or the bin becomes invalidated (upon resizing). However, - * operations that only conditionally update may inspect nodes - * until the point of update. This is a converse of sorts to the - * lazy locking technique described by Herlihy & Shavit. - * - * The main disadvantage of per-bin locks is that other update - * operations on other nodes in a bin list protected by the same - * lock can stall, for example when user equals() or mapping - * functions take a long time. However, statistically, under - * random hash codes, this is not a common problem. Ideally, the - * frequency of nodes in bins follows a Poisson distribution - * (http://en.wikipedia.org/wiki/Poisson_distribution) with a - * parameter of about 0.5 on average, given the resizing threshold - * of 0.75, although with a large variance because of resizing - * granularity. Ignoring variance, the expected occurrences of - * list size k are (exp(-0.5) * pow(0.5, k) / factorial(k)). The - * first values are: - * - * 0: 0.60653066 - * 1: 0.30326533 - * 2: 0.07581633 - * 3: 0.01263606 - * 4: 0.00157952 - * 5: 0.00015795 - * 6: 0.00001316 - * 7: 0.00000094 - * 8: 0.00000006 - * more: less than 1 in ten million - * - * Lock contention probability for two threads accessing distinct - * elements is roughly 1 / (8 * #elements) under random hashes. - * - * Actual hash code distributions encountered in practice - * sometimes deviate significantly from uniform randomness. This - * includes the case when N > (1<<30), so some keys MUST collide. - * Similarly for dumb or hostile usages in which multiple keys are - * designed to have identical hash codes. Also, although we guard - * against the worst effects of this (see method spread), sets of - * hashes may differ only in bits that do not impact their bin - * index for a given power-of-two mask. So we use a secondary - * strategy that applies when the number of nodes in a bin exceeds - * a threshold, and at least one of the keys implements - * Comparable. These TreeBins use a balanced tree to hold nodes - * (a specialized form of red-black trees), bounding search time - * to O(log N). Each search step in a TreeBin is around twice as - * slow as in a regular list, but given that N cannot exceed - * (1<<64) (before running out of addresses) this bounds search - * steps, lock hold times, etc, to reasonable constants (roughly - * 100 nodes inspected per operation worst case) so long as keys - * are Comparable (which is very common -- String, Long, etc). - * TreeBin nodes (TreeNodes) also maintain the same "next" - * traversal pointers as regular nodes, so can be traversed in - * iterators in the same way. - * - * The table is resized when occupancy exceeds a percentage - * threshold (nominally, 0.75, but see below). Only a single - * thread performs the resize (using field "sizeCtl", to arrange - * exclusion), but the table otherwise remains usable for reads - * and updates. Resizing proceeds by transferring bins, one by - * one, from the table to the next table. Because we are using - * power-of-two expansion, the elements from each bin must either - * stay at same index, or move with a power of two offset. We - * eliminate unnecessary node creation by catching cases where old - * nodes can be reused because their next fields won't change. On - * average, only about one-sixth of them need cloning when a table - * doubles. The nodes they replace will be garbage collectable as - * soon as they are no longer referenced by any reader thread that - * may be in the midst of concurrently traversing table. Upon - * transfer, the old table bin contains only a special forwarding - * node (with hash field "MOVED") that contains the next table as - * its key. On encountering a forwarding node, access and update - * operations restart, using the new table. - * - * Each bin transfer requires its bin lock. However, unlike other - * cases, a transfer can skip a bin if it fails to acquire its - * lock, and revisit it later (unless it is a TreeBin). Method - * rebuild maintains a buffer of TRANSFER_BUFFER_SIZE bins that - * have been skipped because of failure to acquire a lock, and - * blocks only if none are available (i.e., only very rarely). - * The transfer operation must also ensure that all accessible - * bins in both the old and new table are usable by any traversal. - * When there are no lock acquisition failures, this is arranged - * simply by proceeding from the last bin (table.length - 1) up - * towards the first. Upon seeing a forwarding node, traversals - * (see class Iter) arrange to move to the new table - * without revisiting nodes. However, when any node is skipped - * during a transfer, all earlier table bins may have become - * visible, so are initialized with a reverse-forwarding node back - * to the old table until the new ones are established. (This - * sometimes requires transiently locking a forwarding node, which - * is possible under the above encoding.) These more expensive - * mechanics trigger only when necessary. - * - * The traversal scheme also applies to partial traversals of - * ranges of bins (via an alternate Traverser constructor) - * to support partitioned aggregate operations. Also, read-only - * operations give up if ever forwarded to a null table, which - * provides support for shutdown-style clearing, which is also not - * currently implemented. - * - * Lazy table initialization minimizes footprint until first use, - * and also avoids resizings when the first operation is from a - * putAll, constructor with map argument, or deserialization. - * These cases attempt to override the initial capacity settings, - * but harmlessly fail to take effect in cases of races. - * - * The element count is maintained using a LongAdder, which avoids - * contention on updates but can encounter cache thrashing if read - * too frequently during concurrent access. To avoid reading so - * often, resizing is attempted either when a bin lock is - * contended, or upon adding to a bin already holding two or more - * nodes (checked before adding in the xIfAbsent methods, after - * adding in others). Under uniform hash distributions, the - * probability of this occurring at threshold is around 13%, - * meaning that only about 1 in 8 puts check threshold (and after - * resizing, many fewer do so). But this approximation has high - * variance for small table sizes, so we check on any collision - * for sizes <= 64. The bulk putAll operation further reduces - * contention by only committing count updates upon these size - * checks. - * - * Maintaining API and serialization compatibility with previous - * versions of this class introduces several oddities. Mainly: We - * leave untouched but unused constructor arguments refering to - * concurrencyLevel. We accept a loadFactor constructor argument, - * but apply it only to initial table capacity (which is the only - * time that we can guarantee to honor it.) We also declare an - * unused "Segment" class that is instantiated in minimal form - * only when serializing. - */ - - /* ---------------- Constants -------------- */ - - /** - * The largest possible table capacity. This value must be - * exactly 1<<30 to stay within Java array allocation and indexing - * bounds for power of two table sizes, and is further required - * because the top two bits of 32bit hash fields are used for - * control purposes. - */ - private static final int MAXIMUM_CAPACITY = 1 << 30; - - /** - * The default initial table capacity. Must be a power of 2 - * (i.e., at least 1) and at most MAXIMUM_CAPACITY. - */ - private static final int DEFAULT_CAPACITY = 16; - - /** - * The largest possible (non-power of two) array size. - * Needed by toArray and related methods. - */ - static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; - - /** - * The default concurrency level for this table. Unused but - * defined for compatibility with previous versions of this class. - */ - private static final int DEFAULT_CONCURRENCY_LEVEL = 16; - - /** - * The load factor for this table. Overrides of this value in - * constructors affect only the initial table capacity. The - * actual floating point value isn't normally used -- it is - * simpler to use expressions such as {@code n - (n >>> 2)} for - * the associated resizing threshold. - */ - private static final float LOAD_FACTOR = 0.75f; - - /** - * The buffer size for skipped bins during transfers. The - * value is arbitrary but should be large enough to avoid - * most locking stalls during resizes. - */ - private static final int TRANSFER_BUFFER_SIZE = 32; - - /** - * The bin count threshold for using a tree rather than list for a - * bin. The value reflects the approximate break-even point for - * using tree-based operations. - * Note that Doug's version defaults to 8, but when dealing with - * Ruby objects it is actually beneficial to avoid TreeNodes - * as long as possible as it usually means going into Ruby land. - */ - private static final int TREE_THRESHOLD = 16; - - /* - * Encodings for special uses of Node hash fields. See above for - * explanation. - */ - static final int MOVED = 0x80000000; // hash field for forwarding nodes - static final int LOCKED = 0x40000000; // set/tested only as a bit - static final int WAITING = 0xc0000000; // both bits set/tested together - static final int HASH_BITS = 0x3fffffff; // usable bits of normal node hash - - /* ---------------- Fields -------------- */ - - /** - * The array of bins. Lazily initialized upon first insertion. - * Size is always a power of two. Accessed directly by iterators. - */ - transient volatile Node[] table; - - /** - * The counter maintaining number of elements. - */ - private transient final LongAdder counter; - - /** - * Table initialization and resizing control. When negative, the - * table is being initialized or resized. Otherwise, when table is - * null, holds the initial table size to use upon creation, or 0 - * for default. After initialization, holds the next element count - * value upon which to resize the table. - */ - private transient volatile int sizeCtl; - - // views - private transient KeySetView keySet; - private transient ValuesView values; - private transient EntrySetView entrySet; - - /** For serialization compatibility. Null unless serialized; see below */ - private Segment[] segments; - - /* ---------------- Table element access -------------- */ - - /* - * Volatile access methods are used for table elements as well as - * elements of in-progress next table while resizing. Uses are - * null checked by callers, and implicitly bounds-checked, relying - * on the invariants that tab arrays have non-zero size, and all - * indices are masked with (tab.length - 1) which is never - * negative and always less than length. Note that, to be correct - * wrt arbitrary concurrency errors by users, bounds checks must - * operate on local variables, which accounts for some odd-looking - * inline assignments below. - */ - - static final Node tabAt(Node[] tab, int i) { // used by Iter - return (Node)UNSAFE.getObjectVolatile(tab, ((long)i< 1 ? 64 : 1; - - /** - * Spins a while if LOCKED bit set and this node is the first - * of its bin, and then sets WAITING bits on hash field and - * blocks (once) if they are still set. It is OK for this - * method to return even if lock is not available upon exit, - * which enables these simple single-wait mechanics. - * - * The corresponding signalling operation is performed within - * callers: Upon detecting that WAITING has been set when - * unlocking lock (via a failed CAS from non-waiting LOCKED - * state), unlockers acquire the sync lock and perform a - * notifyAll. - * - * The initial sanity check on tab and bounds is not currently - * necessary in the only usages of this method, but enables - * use in other future contexts. - */ - final void tryAwaitLock(Node[] tab, int i) { - if (tab != null && i >= 0 && i < tab.length) { // sanity check - int r = ThreadLocalRandom.current().nextInt(); // randomize spins - int spins = MAX_SPINS, h; - while (tabAt(tab, i) == this && ((h = hash) & LOCKED) != 0) { - if (spins >= 0) { - r ^= r << 1; r ^= r >>> 3; r ^= r << 10; // xorshift - if (r >= 0 && --spins == 0) - Thread.yield(); // yield before block - } - else if (casHash(h, h | WAITING)) { - synchronized (this) { - if (tabAt(tab, i) == this && - (hash & WAITING) == WAITING) { - try { - wait(); - } catch (InterruptedException ie) { - Thread.currentThread().interrupt(); - } - } - else - notifyAll(); // possibly won race vs signaller - } - break; - } - } - } - } - - // Unsafe mechanics for casHash - private static final sun.misc.Unsafe UNSAFE; - private static final long hashOffset; - - static { - try { - UNSAFE = getUnsafe(); - Class k = Node.class; - hashOffset = UNSAFE.objectFieldOffset - (k.getDeclaredField("hash")); - } catch (Exception e) { - throw new Error(e); - } - } - } - - /* ---------------- TreeBins -------------- */ - - /** - * Nodes for use in TreeBins - */ - static final class TreeNode extends Node { - TreeNode parent; // red-black tree links - TreeNode left; - TreeNode right; - TreeNode prev; // needed to unlink next upon deletion - boolean red; - - TreeNode(int hash, Object key, Object val, Node next, TreeNode parent) { - super(hash, key, val, next); - this.parent = parent; - } - } - - /** - * A specialized form of red-black tree for use in bins - * whose size exceeds a threshold. - * - * TreeBins use a special form of comparison for search and - * related operations (which is the main reason we cannot use - * existing collections such as TreeMaps). TreeBins contain - * Comparable elements, but may contain others, as well as - * elements that are Comparable but not necessarily Comparable - * for the same T, so we cannot invoke compareTo among them. To - * handle this, the tree is ordered primarily by hash value, then - * by getClass().getName() order, and then by Comparator order - * among elements of the same class. On lookup at a node, if - * elements are not comparable or compare as 0, both left and - * right children may need to be searched in the case of tied hash - * values. (This corresponds to the full list search that would be - * necessary if all elements were non-Comparable and had tied - * hashes.) The red-black balancing code is updated from - * pre-jdk-collections - * (http://gee.cs.oswego.edu/dl/classes/collections/RBCell.java) - * based in turn on Cormen, Leiserson, and Rivest "Introduction to - * Algorithms" (CLR). - * - * TreeBins also maintain a separate locking discipline than - * regular bins. Because they are forwarded via special MOVED - * nodes at bin heads (which can never change once established), - * we cannot use those nodes as locks. Instead, TreeBin - * extends AbstractQueuedSynchronizer to support a simple form of - * read-write lock. For update operations and table validation, - * the exclusive form of lock behaves in the same way as bin-head - * locks. However, lookups use shared read-lock mechanics to allow - * multiple readers in the absence of writers. Additionally, - * these lookups do not ever block: While the lock is not - * available, they proceed along the slow traversal path (via - * next-pointers) until the lock becomes available or the list is - * exhausted, whichever comes first. (These cases are not fast, - * but maximize aggregate expected throughput.) The AQS mechanics - * for doing this are straightforward. The lock state is held as - * AQS getState(). Read counts are negative; the write count (1) - * is positive. There are no signalling preferences among readers - * and writers. Since we don't need to export full Lock API, we - * just override the minimal AQS methods and use them directly. - */ - static final class TreeBin extends AbstractQueuedSynchronizer { - private static final long serialVersionUID = 2249069246763182397L; - transient TreeNode root; // root of tree - transient TreeNode first; // head of next-pointer list - - /* AQS overrides */ - public final boolean isHeldExclusively() { return getState() > 0; } - public final boolean tryAcquire(int ignore) { - if (compareAndSetState(0, 1)) { - setExclusiveOwnerThread(Thread.currentThread()); - return true; - } - return false; - } - public final boolean tryRelease(int ignore) { - setExclusiveOwnerThread(null); - setState(0); - return true; - } - public final int tryAcquireShared(int ignore) { - for (int c;;) { - if ((c = getState()) > 0) - return -1; - if (compareAndSetState(c, c -1)) - return 1; - } - } - public final boolean tryReleaseShared(int ignore) { - int c; - do {} while (!compareAndSetState(c = getState(), c + 1)); - return c == -1; - } - - /** From CLR */ - private void rotateLeft(TreeNode p) { - if (p != null) { - TreeNode r = p.right, pp, rl; - if ((rl = p.right = r.left) != null) - rl.parent = p; - if ((pp = r.parent = p.parent) == null) - root = r; - else if (pp.left == p) - pp.left = r; - else - pp.right = r; - r.left = p; - p.parent = r; - } - } - - /** From CLR */ - private void rotateRight(TreeNode p) { - if (p != null) { - TreeNode l = p.left, pp, lr; - if ((lr = p.left = l.right) != null) - lr.parent = p; - if ((pp = l.parent = p.parent) == null) - root = l; - else if (pp.right == p) - pp.right = l; - else - pp.left = l; - l.right = p; - p.parent = l; - } - } - - @SuppressWarnings("unchecked") final TreeNode getTreeNode - (int h, Object k, TreeNode p) { - return getTreeNode(h, (RubyObject)k, p); - } - - /** - * Returns the TreeNode (or null if not found) for the given key - * starting at given root. - */ - @SuppressWarnings("unchecked") final TreeNode getTreeNode - (int h, RubyObject k, TreeNode p) { - RubyClass c = k.getMetaClass(); boolean kNotComparable = !k.respondsTo("<=>"); - while (p != null) { - int dir, ph; RubyObject pk; RubyClass pc; - if ((ph = p.hash) == h) { - if ((pk = (RubyObject)p.key) == k || k.equals(pk)) - return p; - if (c != (pc = (RubyClass)pk.getMetaClass()) || - kNotComparable || - (dir = rubyCompare(k, pk)) == 0) { - dir = (c == pc) ? 0 : c.getName().compareTo(pc.getName()); - if (dir == 0) { // if still stuck, need to check both sides - TreeNode r = null, pl, pr; - // try to recurse on the right - if ((pr = p.right) != null && h >= pr.hash && (r = getTreeNode(h, k, pr)) != null) - return r; - // try to continue iterating on the left side - else if ((pl = p.left) != null && h <= pl.hash) - dir = -1; - else // no matching node found - return null; - } - } - } - else - dir = (h < ph) ? -1 : 1; - p = (dir > 0) ? p.right : p.left; - } - return null; - } - - int rubyCompare(RubyObject l, RubyObject r) { - ThreadContext context = l.getMetaClass().getRuntime().getCurrentContext(); - IRubyObject result; - try { - result = l.callMethod(context, "<=>", r); - } catch (RaiseException e) { - // handle objects "lying" about responding to <=>, ie: an Array containing non-comparable keys - if (context.runtime.getNoMethodError().isInstance(e.getException())) { - return 0; - } - throw e; - } - - return result.isNil() ? 0 : RubyNumeric.num2int(result.convertToInteger()); - } - - /** - * Wrapper for getTreeNode used by CHM.get. Tries to obtain - * read-lock to call getTreeNode, but during failure to get - * lock, searches along next links. - */ - final Object getValue(int h, Object k) { - Node r = null; - int c = getState(); // Must read lock state first - for (Node e = first; e != null; e = e.next) { - if (c <= 0 && compareAndSetState(c, c - 1)) { - try { - r = getTreeNode(h, k, root); - } finally { - releaseShared(0); - } - break; - } - else if ((e.hash & HASH_BITS) == h && k.equals(e.key)) { - r = e; - break; - } - else - c = getState(); - } - return r == null ? null : r.val; - } - - @SuppressWarnings("unchecked") final TreeNode putTreeNode - (int h, Object k, Object v) { - return putTreeNode(h, (RubyObject)k, v); - } - - /** - * Finds or adds a node. - * @return null if added - */ - @SuppressWarnings("unchecked") final TreeNode putTreeNode - (int h, RubyObject k, Object v) { - RubyClass c = k.getMetaClass(); - boolean kNotComparable = !k.respondsTo("<=>"); - TreeNode pp = root, p = null; - int dir = 0; - while (pp != null) { // find existing node or leaf to insert at - int ph; RubyObject pk; RubyClass pc; - p = pp; - if ((ph = p.hash) == h) { - if ((pk = (RubyObject)p.key) == k || k.equals(pk)) - return p; - if (c != (pc = pk.getMetaClass()) || - kNotComparable || - (dir = rubyCompare(k, pk)) == 0) { - dir = (c == pc) ? 0 : c.getName().compareTo(pc.getName()); - if (dir == 0) { // if still stuck, need to check both sides - TreeNode r = null, pr; - // try to recurse on the right - if ((pr = p.right) != null && h >= pr.hash && (r = getTreeNode(h, k, pr)) != null) - return r; - else // continue descending down the left subtree - dir = -1; - } - } - } - else - dir = (h < ph) ? -1 : 1; - pp = (dir > 0) ? p.right : p.left; - } - - TreeNode f = first; - TreeNode x = first = new TreeNode(h, (Object)k, v, f, p); - if (p == null) - root = x; - else { // attach and rebalance; adapted from CLR - TreeNode xp, xpp; - if (f != null) - f.prev = x; - if (dir <= 0) - p.left = x; - else - p.right = x; - x.red = true; - while (x != null && (xp = x.parent) != null && xp.red && - (xpp = xp.parent) != null) { - TreeNode xppl = xpp.left; - if (xp == xppl) { - TreeNode y = xpp.right; - if (y != null && y.red) { - y.red = false; - xp.red = false; - xpp.red = true; - x = xpp; - } - else { - if (x == xp.right) { - rotateLeft(x = xp); - xpp = (xp = x.parent) == null ? null : xp.parent; - } - if (xp != null) { - xp.red = false; - if (xpp != null) { - xpp.red = true; - rotateRight(xpp); - } - } - } - } - else { - TreeNode y = xppl; - if (y != null && y.red) { - y.red = false; - xp.red = false; - xpp.red = true; - x = xpp; - } - else { - if (x == xp.left) { - rotateRight(x = xp); - xpp = (xp = x.parent) == null ? null : xp.parent; - } - if (xp != null) { - xp.red = false; - if (xpp != null) { - xpp.red = true; - rotateLeft(xpp); - } - } - } - } - } - TreeNode r = root; - if (r != null && r.red) - r.red = false; - } - return null; - } - - /** - * Removes the given node, that must be present before this - * call. This is messier than typical red-black deletion code - * because we cannot swap the contents of an interior node - * with a leaf successor that is pinned by "next" pointers - * that are accessible independently of lock. So instead we - * swap the tree linkages. - */ - final void deleteTreeNode(TreeNode p) { - TreeNode next = (TreeNode)p.next; // unlink traversal pointers - TreeNode pred = p.prev; - if (pred == null) - first = next; - else - pred.next = next; - if (next != null) - next.prev = pred; - TreeNode replacement; - TreeNode pl = p.left; - TreeNode pr = p.right; - if (pl != null && pr != null) { - TreeNode s = pr, sl; - while ((sl = s.left) != null) // find successor - s = sl; - boolean c = s.red; s.red = p.red; p.red = c; // swap colors - TreeNode sr = s.right; - TreeNode pp = p.parent; - if (s == pr) { // p was s's direct parent - p.parent = s; - s.right = p; - } - else { - TreeNode sp = s.parent; - if ((p.parent = sp) != null) { - if (s == sp.left) - sp.left = p; - else - sp.right = p; - } - if ((s.right = pr) != null) - pr.parent = s; - } - p.left = null; - if ((p.right = sr) != null) - sr.parent = p; - if ((s.left = pl) != null) - pl.parent = s; - if ((s.parent = pp) == null) - root = s; - else if (p == pp.left) - pp.left = s; - else - pp.right = s; - replacement = sr; - } - else - replacement = (pl != null) ? pl : pr; - TreeNode pp = p.parent; - if (replacement == null) { - if (pp == null) { - root = null; - return; - } - replacement = p; - } - else { - replacement.parent = pp; - if (pp == null) - root = replacement; - else if (p == pp.left) - pp.left = replacement; - else - pp.right = replacement; - p.left = p.right = p.parent = null; - } - if (!p.red) { // rebalance, from CLR - TreeNode x = replacement; - while (x != null) { - TreeNode xp, xpl; - if (x.red || (xp = x.parent) == null) { - x.red = false; - break; - } - if (x == (xpl = xp.left)) { - TreeNode sib = xp.right; - if (sib != null && sib.red) { - sib.red = false; - xp.red = true; - rotateLeft(xp); - sib = (xp = x.parent) == null ? null : xp.right; - } - if (sib == null) - x = xp; - else { - TreeNode sl = sib.left, sr = sib.right; - if ((sr == null || !sr.red) && - (sl == null || !sl.red)) { - sib.red = true; - x = xp; - } - else { - if (sr == null || !sr.red) { - if (sl != null) - sl.red = false; - sib.red = true; - rotateRight(sib); - sib = (xp = x.parent) == null ? null : xp.right; - } - if (sib != null) { - sib.red = (xp == null) ? false : xp.red; - if ((sr = sib.right) != null) - sr.red = false; - } - if (xp != null) { - xp.red = false; - rotateLeft(xp); - } - x = root; - } - } - } - else { // symmetric - TreeNode sib = xpl; - if (sib != null && sib.red) { - sib.red = false; - xp.red = true; - rotateRight(xp); - sib = (xp = x.parent) == null ? null : xp.left; - } - if (sib == null) - x = xp; - else { - TreeNode sl = sib.left, sr = sib.right; - if ((sl == null || !sl.red) && - (sr == null || !sr.red)) { - sib.red = true; - x = xp; - } - else { - if (sl == null || !sl.red) { - if (sr != null) - sr.red = false; - sib.red = true; - rotateLeft(sib); - sib = (xp = x.parent) == null ? null : xp.left; - } - if (sib != null) { - sib.red = (xp == null) ? false : xp.red; - if ((sl = sib.left) != null) - sl.red = false; - } - if (xp != null) { - xp.red = false; - rotateRight(xp); - } - x = root; - } - } - } - } - } - if (p == replacement && (pp = p.parent) != null) { - if (p == pp.left) // detach pointers - pp.left = null; - else if (p == pp.right) - pp.right = null; - p.parent = null; - } - } - } - - /* ---------------- Collision reduction methods -------------- */ - - /** - * Spreads higher bits to lower, and also forces top 2 bits to 0. - * Because the table uses power-of-two masking, sets of hashes - * that vary only in bits above the current mask will always - * collide. (Among known examples are sets of Float keys holding - * consecutive whole numbers in small tables.) To counter this, - * we apply a transform that spreads the impact of higher bits - * downward. There is a tradeoff between speed, utility, and - * quality of bit-spreading. Because many common sets of hashes - * are already reasonably distributed across bits (so don't benefit - * from spreading), and because we use trees to handle large sets - * of collisions in bins, we don't need excessively high quality. - */ - private static final int spread(int h) { - h ^= (h >>> 18) ^ (h >>> 12); - return (h ^ (h >>> 10)) & HASH_BITS; - } - - /** - * Replaces a list bin with a tree bin. Call only when locked. - * Fails to replace if the given key is non-comparable or table - * is, or needs, resizing. - */ - private final void replaceWithTreeBin(Node[] tab, int index, Object key) { - if ((key instanceof Comparable) && - (tab.length >= MAXIMUM_CAPACITY || counter.sum() < (long)sizeCtl)) { - TreeBin t = new TreeBin(); - for (Node e = tabAt(tab, index); e != null; e = e.next) - t.putTreeNode(e.hash & HASH_BITS, e.key, e.val); - setTabAt(tab, index, new Node(MOVED, t, null, null)); - } - } - - /* ---------------- Internal access and update methods -------------- */ - - /** Implementation for get and containsKey */ - private final Object internalGet(Object k) { - int h = spread(k.hashCode()); - retry: for (Node[] tab = table; tab != null;) { - Node e, p; Object ek, ev; int eh; // locals to read fields once - for (e = tabAt(tab, (tab.length - 1) & h); e != null; e = e.next) { - if ((eh = e.hash) == MOVED) { - if ((ek = e.key) instanceof TreeBin) // search TreeBin - return ((TreeBin)ek).getValue(h, k); - else { // restart with new table - tab = (Node[])ek; - continue retry; - } - } - else if ((eh & HASH_BITS) == h && (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) - return ev; - } - break; - } - return null; - } - - /** - * Implementation for the four public remove/replace methods: - * Replaces node value with v, conditional upon match of cv if - * non-null. If resulting value is null, delete. - */ - private final Object internalReplace(Object k, Object v, Object cv) { - int h = spread(k.hashCode()); - Object oldVal = null; - for (Node[] tab = table;;) { - Node f; int i, fh; Object fk; - if (tab == null || - (f = tabAt(tab, i = (tab.length - 1) & h)) == null) - break; - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean validated = false; - boolean deleted = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - validated = true; - TreeNode p = t.getTreeNode(h, k, t.root); - if (p != null) { - Object pv = p.val; - if (cv == null || cv == pv || cv.equals(pv)) { - oldVal = pv; - if ((p.val = v) == null) { - deleted = true; - t.deleteTreeNode(p); - } - } - } - } - } finally { - t.release(0); - } - if (validated) { - if (deleted) - counter.add(-1L); - break; - } - } - else - tab = (Node[])fk; - } - else if ((fh & HASH_BITS) != h && f.next == null) // precheck - break; // rules out possible existence - else if ((fh & LOCKED) != 0) { - checkForResize(); // try resizing if can't get lock - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - boolean validated = false; - boolean deleted = false; - try { - if (tabAt(tab, i) == f) { - validated = true; - for (Node e = f, pred = null;;) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - ((ev = e.val) != null) && - ((ek = e.key) == k || k.equals(ek))) { - if (cv == null || cv == ev || cv.equals(ev)) { - oldVal = ev; - if ((e.val = v) == null) { - deleted = true; - Node en = e.next; - if (pred != null) - pred.next = en; - else - setTabAt(tab, i, en); - } - } - break; - } - pred = e; - if ((e = e.next) == null) - break; - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (validated) { - if (deleted) - counter.add(-1L); - break; - } - } - } - return oldVal; - } - - /* - * Internal versions of the six insertion methods, each a - * little more complicated than the last. All have - * the same basic structure as the first (internalPut): - * 1. If table uninitialized, create - * 2. If bin empty, try to CAS new node - * 3. If bin stale, use new table - * 4. if bin converted to TreeBin, validate and relay to TreeBin methods - * 5. Lock and validate; if valid, scan and add or update - * - * The others interweave other checks and/or alternative actions: - * * Plain put checks for and performs resize after insertion. - * * putIfAbsent prescans for mapping without lock (and fails to add - * if present), which also makes pre-emptive resize checks worthwhile. - * * computeIfAbsent extends form used in putIfAbsent with additional - * mechanics to deal with, calls, potential exceptions and null - * returns from function call. - * * compute uses the same function-call mechanics, but without - * the prescans - * * merge acts as putIfAbsent in the absent case, but invokes the - * update function if present - * * putAll attempts to pre-allocate enough table space - * and more lazily performs count updates and checks. - * - * Someday when details settle down a bit more, it might be worth - * some factoring to reduce sprawl. - */ - - /** Implementation for put */ - private final Object internalPut(Object k, Object v) { - int h = spread(k.hashCode()); - int count = 0; - for (Node[] tab = table;;) { - int i; Node f; int fh; Object fk; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) { - if (casTabAt(tab, i, null, new Node(h, k, v, null))) - break; // no lock when adding to empty bin - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - Object oldVal = null; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 2; - TreeNode p = t.putTreeNode(h, k, v); - if (p != null) { - oldVal = p.val; - p.val = v; - } - } - } finally { - t.release(0); - } - if (count != 0) { - if (oldVal != null) - return oldVal; - break; - } - } - else - tab = (Node[])fk; - } - else if ((fh & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - Object oldVal = null; - try { // needed in case equals() throws - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - oldVal = ev; - e.val = v; - break; - } - Node last = e; - if ((e = e.next) == null) { - last.next = new Node(h, k, v, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { // unlock and signal if needed - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (oldVal != null) - return oldVal; - if (tab.length <= 64) - count = 2; - break; - } - } - } - counter.add(1L); - if (count > 1) - checkForResize(); - return null; - } - - /** Implementation for putIfAbsent */ - private final Object internalPutIfAbsent(Object k, Object v) { - int h = spread(k.hashCode()); - int count = 0; - for (Node[] tab = table;;) { - int i; Node f; int fh; Object fk, fv; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) { - if (casTabAt(tab, i, null, new Node(h, k, v, null))) - break; - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - Object oldVal = null; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 2; - TreeNode p = t.putTreeNode(h, k, v); - if (p != null) - oldVal = p.val; - } - } finally { - t.release(0); - } - if (count != 0) { - if (oldVal != null) - return oldVal; - break; - } - } - else - tab = (Node[])fk; - } - else if ((fh & HASH_BITS) == h && (fv = f.val) != null && - ((fk = f.key) == k || k.equals(fk))) - return fv; - else { - Node g = f.next; - if (g != null) { // at least 2 nodes -- search and maybe resize - for (Node e = g;;) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) - return ev; - if ((e = e.next) == null) { - checkForResize(); - break; - } - } - } - if (((fh = f.hash) & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (tabAt(tab, i) == f && f.casHash(fh, fh | LOCKED)) { - Object oldVal = null; - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - oldVal = ev; - break; - } - Node last = e; - if ((e = e.next) == null) { - last.next = new Node(h, k, v, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (oldVal != null) - return oldVal; - if (tab.length <= 64) - count = 2; - break; - } - } - } - } - counter.add(1L); - if (count > 1) - checkForResize(); - return null; - } - - /** Implementation for computeIfAbsent */ - private final Object internalComputeIfAbsent(K k, - Fun mf) { - int h = spread(k.hashCode()); - Object val = null; - int count = 0; - for (Node[] tab = table;;) { - Node f; int i, fh; Object fk, fv; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) { - Node node = new Node(fh = h | LOCKED, k, null, null); - if (casTabAt(tab, i, null, node)) { - count = 1; - try { - if ((val = mf.apply(k)) != null) - node.val = val; - } finally { - if (val == null) - setTabAt(tab, i, null); - if (!node.casHash(fh, h)) { - node.hash = h; - synchronized (node) { node.notifyAll(); }; - } - } - } - if (count != 0) - break; - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean added = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 1; - TreeNode p = t.getTreeNode(h, k, t.root); - if (p != null) - val = p.val; - else if ((val = mf.apply(k)) != null) { - added = true; - count = 2; - t.putTreeNode(h, k, val); - } - } - } finally { - t.release(0); - } - if (count != 0) { - if (!added) - return val; - break; - } - } - else - tab = (Node[])fk; - } - else if ((fh & HASH_BITS) == h && (fv = f.val) != null && - ((fk = f.key) == k || k.equals(fk))) - return fv; - else { - Node g = f.next; - if (g != null) { - for (Node e = g;;) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) - return ev; - if ((e = e.next) == null) { - checkForResize(); - break; - } - } - } - if (((fh = f.hash) & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (tabAt(tab, i) == f && f.casHash(fh, fh | LOCKED)) { - boolean added = false; - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - val = ev; - break; - } - Node last = e; - if ((e = e.next) == null) { - if ((val = mf.apply(k)) != null) { - added = true; - last.next = new Node(h, k, val, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - } - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (!added) - return val; - if (tab.length <= 64) - count = 2; - break; - } - } - } - } - if (val != null) { - counter.add(1L); - if (count > 1) - checkForResize(); - } - return val; - } - - /** Implementation for compute */ - @SuppressWarnings("unchecked") private final Object internalCompute - (K k, boolean onlyIfPresent, BiFun mf) { - int h = spread(k.hashCode()); - Object val = null; - int delta = 0; - int count = 0; - for (Node[] tab = table;;) { - Node f; int i, fh; Object fk; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) { - if (onlyIfPresent) - break; - Node node = new Node(fh = h | LOCKED, k, null, null); - if (casTabAt(tab, i, null, node)) { - try { - count = 1; - if ((val = mf.apply(k, null)) != null) { - node.val = val; - delta = 1; - } - } finally { - if (delta == 0) - setTabAt(tab, i, null); - if (!node.casHash(fh, h)) { - node.hash = h; - synchronized (node) { node.notifyAll(); }; - } - } - } - if (count != 0) - break; - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 1; - TreeNode p = t.getTreeNode(h, k, t.root); - Object pv; - if (p == null) { - if (onlyIfPresent) - break; - pv = null; - } else - pv = p.val; - if ((val = mf.apply(k, (V)pv)) != null) { - if (p != null) - p.val = val; - else { - count = 2; - delta = 1; - t.putTreeNode(h, k, val); - } - } - else if (p != null) { - delta = -1; - t.deleteTreeNode(p); - } - } - } finally { - t.release(0); - } - if (count != 0) - break; - } - else - tab = (Node[])fk; - } - else if ((fh & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f, pred = null;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - val = mf.apply(k, (V)ev); - if (val != null) - e.val = val; - else { - delta = -1; - Node en = e.next; - if (pred != null) - pred.next = en; - else - setTabAt(tab, i, en); - } - break; - } - pred = e; - if ((e = e.next) == null) { - if (!onlyIfPresent && (val = mf.apply(k, null)) != null) { - pred.next = new Node(h, k, val, null); - delta = 1; - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - } - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (tab.length <= 64) - count = 2; - break; - } - } - } - if (delta != 0) { - counter.add((long)delta); - if (count > 1) - checkForResize(); - } - return val; - } - - /** Implementation for merge */ - @SuppressWarnings("unchecked") private final Object internalMerge - (K k, V v, BiFun mf) { - int h = spread(k.hashCode()); - Object val = null; - int delta = 0; - int count = 0; - for (Node[] tab = table;;) { - int i; Node f; int fh; Object fk, fv; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null) { - if (casTabAt(tab, i, null, new Node(h, k, v, null))) { - delta = 1; - val = v; - break; - } - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 1; - TreeNode p = t.getTreeNode(h, k, t.root); - val = (p == null) ? v : mf.apply((V)p.val, v); - if (val != null) { - if (p != null) - p.val = val; - else { - count = 2; - delta = 1; - t.putTreeNode(h, k, val); - } - } - else if (p != null) { - delta = -1; - t.deleteTreeNode(p); - } - } - } finally { - t.release(0); - } - if (count != 0) - break; - } - else - tab = (Node[])fk; - } - else if ((fh & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f, pred = null;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - val = mf.apply((V)ev, v); - if (val != null) - e.val = val; - else { - delta = -1; - Node en = e.next; - if (pred != null) - pred.next = en; - else - setTabAt(tab, i, en); - } - break; - } - pred = e; - if ((e = e.next) == null) { - val = v; - pred.next = new Node(h, k, val, null); - delta = 1; - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (tab.length <= 64) - count = 2; - break; - } - } - } - if (delta != 0) { - counter.add((long)delta); - if (count > 1) - checkForResize(); - } - return val; - } - - /** Implementation for putAll */ - private final void internalPutAll(Map m) { - tryPresize(m.size()); - long delta = 0L; // number of uncommitted additions - boolean npe = false; // to throw exception on exit for nulls - try { // to clean up counts on other exceptions - for (Map.Entry entry : m.entrySet()) { - Object k, v; - if (entry == null || (k = entry.getKey()) == null || - (v = entry.getValue()) == null) { - npe = true; - break; - } - int h = spread(k.hashCode()); - for (Node[] tab = table;;) { - int i; Node f; int fh; Object fk; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length - 1) & h)) == null){ - if (casTabAt(tab, i, null, new Node(h, k, v, null))) { - ++delta; - break; - } - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean validated = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - validated = true; - TreeNode p = t.getTreeNode(h, k, t.root); - if (p != null) - p.val = v; - else { - t.putTreeNode(h, k, v); - ++delta; - } - } - } finally { - t.release(0); - } - if (validated) - break; - } - else - tab = (Node[])fk; - } - else if ((fh & LOCKED) != 0) { - counter.add(delta); - delta = 0L; - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - int count = 0; - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - e.val = v; - break; - } - Node last = e; - if ((e = e.next) == null) { - ++delta; - last.next = new Node(h, k, v, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (count > 1) { - counter.add(delta); - delta = 0L; - checkForResize(); - } - break; - } - } - } - } - } finally { - if (delta != 0) - counter.add(delta); - } - if (npe) - throw new NullPointerException(); - } - - /* ---------------- Table Initialization and Resizing -------------- */ - - /** - * Returns a power of two table size for the given desired capacity. - * See Hackers Delight, sec 3.2 - */ - private static final int tableSizeFor(int c) { - int n = c - 1; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1; - } - - /** - * Initializes table, using the size recorded in sizeCtl. - */ - private final Node[] initTable() { - Node[] tab; int sc; - while ((tab = table) == null) { - if ((sc = sizeCtl) < 0) - Thread.yield(); // lost initialization race; just spin - else if (UNSAFE.compareAndSwapInt(this, sizeCtlOffset, sc, -1)) { - try { - if ((tab = table) == null) { - int n = (sc > 0) ? sc : DEFAULT_CAPACITY; - tab = table = new Node[n]; - sc = n - (n >>> 2); - } - } finally { - sizeCtl = sc; - } - break; - } - } - return tab; - } - - /** - * If table is too small and not already resizing, creates next - * table and transfers bins. Rechecks occupancy after a transfer - * to see if another resize is already needed because resizings - * are lagging additions. - */ - private final void checkForResize() { - Node[] tab; int n, sc; - while ((tab = table) != null && - (n = tab.length) < MAXIMUM_CAPACITY && - (sc = sizeCtl) >= 0 && counter.sum() >= (long)sc && - UNSAFE.compareAndSwapInt(this, sizeCtlOffset, sc, -1)) { - try { - if (tab == table) { - table = rebuild(tab); - sc = (n << 1) - (n >>> 1); - } - } finally { - sizeCtl = sc; - } - } - } - - /** - * Tries to presize table to accommodate the given number of elements. - * - * @param size number of elements (doesn't need to be perfectly accurate) - */ - private final void tryPresize(int size) { - int c = (size >= (MAXIMUM_CAPACITY >>> 1)) ? MAXIMUM_CAPACITY : - tableSizeFor(size + (size >>> 1) + 1); - int sc; - while ((sc = sizeCtl) >= 0) { - Node[] tab = table; int n; - if (tab == null || (n = tab.length) == 0) { - n = (sc > c) ? sc : c; - if (UNSAFE.compareAndSwapInt(this, sizeCtlOffset, sc, -1)) { - try { - if (table == tab) { - table = new Node[n]; - sc = n - (n >>> 2); - } - } finally { - sizeCtl = sc; - } - } - } - else if (c <= sc || n >= MAXIMUM_CAPACITY) - break; - else if (UNSAFE.compareAndSwapInt(this, sizeCtlOffset, sc, -1)) { - try { - if (table == tab) { - table = rebuild(tab); - sc = (n << 1) - (n >>> 1); - } - } finally { - sizeCtl = sc; - } - } - } - } - - /* - * Moves and/or copies the nodes in each bin to new table. See - * above for explanation. - * - * @return the new table - */ - private static final Node[] rebuild(Node[] tab) { - int n = tab.length; - Node[] nextTab = new Node[n << 1]; - Node fwd = new Node(MOVED, nextTab, null, null); - int[] buffer = null; // holds bins to revisit; null until needed - Node rev = null; // reverse forwarder; null until needed - int nbuffered = 0; // the number of bins in buffer list - int bufferIndex = 0; // buffer index of current buffered bin - int bin = n - 1; // current non-buffered bin or -1 if none - - for (int i = bin;;) { // start upwards sweep - int fh; Node f; - if ((f = tabAt(tab, i)) == null) { - if (bin >= 0) { // Unbuffered; no lock needed (or available) - if (!casTabAt(tab, i, f, fwd)) - continue; - } - else { // transiently use a locked forwarding node - Node g = new Node(MOVED|LOCKED, nextTab, null, null); - if (!casTabAt(tab, i, f, g)) - continue; - setTabAt(nextTab, i, null); - setTabAt(nextTab, i + n, null); - setTabAt(tab, i, fwd); - if (!g.casHash(MOVED|LOCKED, MOVED)) { - g.hash = MOVED; - synchronized (g) { g.notifyAll(); } - } - } - } - else if ((fh = f.hash) == MOVED) { - Object fk = f.key; - if (fk instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean validated = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - validated = true; - splitTreeBin(nextTab, i, t); - setTabAt(tab, i, fwd); - } - } finally { - t.release(0); - } - if (!validated) - continue; - } - } - else if ((fh & LOCKED) == 0 && f.casHash(fh, fh|LOCKED)) { - boolean validated = false; - try { // split to lo and hi lists; copying as needed - if (tabAt(tab, i) == f) { - validated = true; - splitBin(nextTab, i, f); - setTabAt(tab, i, fwd); - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (!validated) - continue; - } - else { - if (buffer == null) // initialize buffer for revisits - buffer = new int[TRANSFER_BUFFER_SIZE]; - if (bin < 0 && bufferIndex > 0) { - int j = buffer[--bufferIndex]; - buffer[bufferIndex] = i; - i = j; // swap with another bin - continue; - } - if (bin < 0 || nbuffered >= TRANSFER_BUFFER_SIZE) { - f.tryAwaitLock(tab, i); - continue; // no other options -- block - } - if (rev == null) // initialize reverse-forwarder - rev = new Node(MOVED, tab, null, null); - if (tabAt(tab, i) != f || (f.hash & LOCKED) == 0) - continue; // recheck before adding to list - buffer[nbuffered++] = i; - setTabAt(nextTab, i, rev); // install place-holders - setTabAt(nextTab, i + n, rev); - } - - if (bin > 0) - i = --bin; - else if (buffer != null && nbuffered > 0) { - bin = -1; - i = buffer[bufferIndex = --nbuffered]; - } - else - return nextTab; - } - } - - /** - * Splits a normal bin with list headed by e into lo and hi parts; - * installs in given table. - */ - private static void splitBin(Node[] nextTab, int i, Node e) { - int bit = nextTab.length >>> 1; // bit to split on - int runBit = e.hash & bit; - Node lastRun = e, lo = null, hi = null; - for (Node p = e.next; p != null; p = p.next) { - int b = p.hash & bit; - if (b != runBit) { - runBit = b; - lastRun = p; - } - } - if (runBit == 0) - lo = lastRun; - else - hi = lastRun; - for (Node p = e; p != lastRun; p = p.next) { - int ph = p.hash & HASH_BITS; - Object pk = p.key, pv = p.val; - if ((ph & bit) == 0) - lo = new Node(ph, pk, pv, lo); - else - hi = new Node(ph, pk, pv, hi); - } - setTabAt(nextTab, i, lo); - setTabAt(nextTab, i + bit, hi); - } - - /** - * Splits a tree bin into lo and hi parts; installs in given table. - */ - private static void splitTreeBin(Node[] nextTab, int i, TreeBin t) { - int bit = nextTab.length >>> 1; - TreeBin lt = new TreeBin(); - TreeBin ht = new TreeBin(); - int lc = 0, hc = 0; - for (Node e = t.first; e != null; e = e.next) { - int h = e.hash & HASH_BITS; - Object k = e.key, v = e.val; - if ((h & bit) == 0) { - ++lc; - lt.putTreeNode(h, k, v); - } - else { - ++hc; - ht.putTreeNode(h, k, v); - } - } - Node ln, hn; // throw away trees if too small - if (lc <= (TREE_THRESHOLD >>> 1)) { - ln = null; - for (Node p = lt.first; p != null; p = p.next) - ln = new Node(p.hash, p.key, p.val, ln); - } - else - ln = new Node(MOVED, lt, null, null); - setTabAt(nextTab, i, ln); - if (hc <= (TREE_THRESHOLD >>> 1)) { - hn = null; - for (Node p = ht.first; p != null; p = p.next) - hn = new Node(p.hash, p.key, p.val, hn); - } - else - hn = new Node(MOVED, ht, null, null); - setTabAt(nextTab, i + bit, hn); - } - - /** - * Implementation for clear. Steps through each bin, removing all - * nodes. - */ - private final void internalClear() { - long delta = 0L; // negative number of deletions - int i = 0; - Node[] tab = table; - while (tab != null && i < tab.length) { - int fh; Object fk; - Node f = tabAt(tab, i); - if (f == null) - ++i; - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - for (Node p = t.first; p != null; p = p.next) { - if (p.val != null) { // (currently always true) - p.val = null; - --delta; - } - } - t.first = null; - t.root = null; - ++i; - } - } finally { - t.release(0); - } - } - else - tab = (Node[])fk; - } - else if ((fh & LOCKED) != 0) { - counter.add(delta); // opportunistically update count - delta = 0L; - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - try { - if (tabAt(tab, i) == f) { - for (Node e = f; e != null; e = e.next) { - if (e.val != null) { // (currently always true) - e.val = null; - --delta; - } - } - setTabAt(tab, i, null); - ++i; - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - } - } - if (delta != 0) - counter.add(delta); - } - - /* ----------------Table Traversal -------------- */ - - /** - * Encapsulates traversal for methods such as containsValue; also - * serves as a base class for other iterators and bulk tasks. - * - * At each step, the iterator snapshots the key ("nextKey") and - * value ("nextVal") of a valid node (i.e., one that, at point of - * snapshot, has a non-null user value). Because val fields can - * change (including to null, indicating deletion), field nextVal - * might not be accurate at point of use, but still maintains the - * weak consistency property of holding a value that was once - * valid. To support iterator.remove, the nextKey field is not - * updated (nulled out) when the iterator cannot advance. - * - * Internal traversals directly access these fields, as in: - * {@code while (it.advance() != null) { process(it.nextKey); }} - * - * Exported iterators must track whether the iterator has advanced - * (in hasNext vs next) (by setting/checking/nulling field - * nextVal), and then extract key, value, or key-value pairs as - * return values of next(). - * - * The iterator visits once each still-valid node that was - * reachable upon iterator construction. It might miss some that - * were added to a bin after the bin was visited, which is OK wrt - * consistency guarantees. Maintaining this property in the face - * of possible ongoing resizes requires a fair amount of - * bookkeeping state that is difficult to optimize away amidst - * volatile accesses. Even so, traversal maintains reasonable - * throughput. - * - * Normally, iteration proceeds bin-by-bin traversing lists. - * However, if the table has been resized, then all future steps - * must traverse both the bin at the current index as well as at - * (index + baseSize); and so on for further resizings. To - * paranoically cope with potential sharing by users of iterators - * across threads, iteration terminates if a bounds checks fails - * for a table read. - * - * This class extends ForkJoinTask to streamline parallel - * iteration in bulk operations (see BulkTask). This adds only an - * int of space overhead, which is close enough to negligible in - * cases where it is not needed to not worry about it. Because - * ForkJoinTask is Serializable, but iterators need not be, we - * need to add warning suppressions. - */ - @SuppressWarnings("serial") static class Traverser { - final ConcurrentHashMapV8 map; - Node next; // the next entry to use - K nextKey; // cached key field of next - V nextVal; // cached val field of next - Node[] tab; // current table; updated if resized - int index; // index of bin to use next - int baseIndex; // current index of initial table - int baseLimit; // index bound for initial table - int baseSize; // initial table size - - /** Creates iterator for all entries in the table. */ - Traverser(ConcurrentHashMapV8 map) { - this.map = map; - } - - /** Creates iterator for split() methods */ - Traverser(Traverser it) { - ConcurrentHashMapV8 m; Node[] t; - if ((m = this.map = it.map) == null) - t = null; - else if ((t = it.tab) == null && // force parent tab initialization - (t = it.tab = m.table) != null) - it.baseLimit = it.baseSize = t.length; - this.tab = t; - this.baseSize = it.baseSize; - it.baseLimit = this.index = this.baseIndex = - ((this.baseLimit = it.baseLimit) + it.baseIndex + 1) >>> 1; - } - - /** - * Advances next; returns nextVal or null if terminated. - * See above for explanation. - */ - final V advance() { - Node e = next; - V ev = null; - outer: do { - if (e != null) // advance past used/skipped node - e = e.next; - while (e == null) { // get to next non-null bin - ConcurrentHashMapV8 m; - Node[] t; int b, i, n; Object ek; // checks must use locals - if ((t = tab) != null) - n = t.length; - else if ((m = map) != null && (t = tab = m.table) != null) - n = baseLimit = baseSize = t.length; - else - break outer; - if ((b = baseIndex) >= baseLimit || - (i = index) < 0 || i >= n) - break outer; - if ((e = tabAt(t, i)) != null && e.hash == MOVED) { - if ((ek = e.key) instanceof TreeBin) - e = ((TreeBin)ek).first; - else { - tab = (Node[])ek; - continue; // restarts due to null val - } - } // visit upper slots if present - index = (i += baseSize) < n ? i : (baseIndex = b + 1); - } - nextKey = (K) e.key; - } while ((ev = (V) e.val) == null); // skip deleted or special nodes - next = e; - return nextVal = ev; - } - - public final void remove() { - Object k = nextKey; - if (k == null && (advance() == null || (k = nextKey) == null)) - throw new IllegalStateException(); - map.internalReplace(k, null, null); - } - - public final boolean hasNext() { - return nextVal != null || advance() != null; - } - - public final boolean hasMoreElements() { return hasNext(); } - public final void setRawResult(Object x) { } - public R getRawResult() { return null; } - public boolean exec() { return true; } - } - - /* ---------------- Public operations -------------- */ - - /** - * Creates a new, empty map with the default initial table size (16). - */ - public ConcurrentHashMapV8() { - this.counter = new LongAdder(); - } - - /** - * Creates a new, empty map with an initial table size - * accommodating the specified number of elements without the need - * to dynamically resize. - * - * @param initialCapacity The implementation performs internal - * sizing to accommodate this many elements. - * @throws IllegalArgumentException if the initial capacity of - * elements is negative - */ - public ConcurrentHashMapV8(int initialCapacity) { - if (initialCapacity < 0) - throw new IllegalArgumentException(); - int cap = ((initialCapacity >= (MAXIMUM_CAPACITY >>> 1)) ? - MAXIMUM_CAPACITY : - tableSizeFor(initialCapacity + (initialCapacity >>> 1) + 1)); - this.counter = new LongAdder(); - this.sizeCtl = cap; - } - - /** - * Creates a new map with the same mappings as the given map. - * - * @param m the map - */ - public ConcurrentHashMapV8(Map m) { - this.counter = new LongAdder(); - this.sizeCtl = DEFAULT_CAPACITY; - internalPutAll(m); - } - - /** - * Creates a new, empty map with an initial table size based on - * the given number of elements ({@code initialCapacity}) and - * initial table density ({@code loadFactor}). - * - * @param initialCapacity the initial capacity. The implementation - * performs internal sizing to accommodate this many elements, - * given the specified load factor. - * @param loadFactor the load factor (table density) for - * establishing the initial table size - * @throws IllegalArgumentException if the initial capacity of - * elements is negative or the load factor is nonpositive - * - * @since 1.6 - */ - public ConcurrentHashMapV8(int initialCapacity, float loadFactor) { - this(initialCapacity, loadFactor, 1); - } - - /** - * Creates a new, empty map with an initial table size based on - * the given number of elements ({@code initialCapacity}), table - * density ({@code loadFactor}), and number of concurrently - * updating threads ({@code concurrencyLevel}). - * - * @param initialCapacity the initial capacity. The implementation - * performs internal sizing to accommodate this many elements, - * given the specified load factor. - * @param loadFactor the load factor (table density) for - * establishing the initial table size - * @param concurrencyLevel the estimated number of concurrently - * updating threads. The implementation may use this value as - * a sizing hint. - * @throws IllegalArgumentException if the initial capacity is - * negative or the load factor or concurrencyLevel are - * nonpositive - */ - public ConcurrentHashMapV8(int initialCapacity, - float loadFactor, int concurrencyLevel) { - if (!(loadFactor > 0.0f) || initialCapacity < 0 || concurrencyLevel <= 0) - throw new IllegalArgumentException(); - if (initialCapacity < concurrencyLevel) // Use at least as many bins - initialCapacity = concurrencyLevel; // as estimated threads - long size = (long)(1.0 + (long)initialCapacity / loadFactor); - int cap = (size >= (long)MAXIMUM_CAPACITY) ? - MAXIMUM_CAPACITY : tableSizeFor((int)size); - this.counter = new LongAdder(); - this.sizeCtl = cap; - } - - /** - * Creates a new {@link Set} backed by a ConcurrentHashMapV8 - * from the given type to {@code Boolean.TRUE}. - * - * @return the new set - */ - public static KeySetView newKeySet() { - return new KeySetView(new ConcurrentHashMapV8(), - Boolean.TRUE); - } - - /** - * Creates a new {@link Set} backed by a ConcurrentHashMapV8 - * from the given type to {@code Boolean.TRUE}. - * - * @param initialCapacity The implementation performs internal - * sizing to accommodate this many elements. - * @throws IllegalArgumentException if the initial capacity of - * elements is negative - * @return the new set - */ - public static KeySetView newKeySet(int initialCapacity) { - return new KeySetView(new ConcurrentHashMapV8(initialCapacity), - Boolean.TRUE); - } - - /** - * {@inheritDoc} - */ - public boolean isEmpty() { - return counter.sum() <= 0L; // ignore transient negative values - } - - /** - * {@inheritDoc} - */ - public int size() { - long n = counter.sum(); - return ((n < 0L) ? 0 : - (n > (long)Integer.MAX_VALUE) ? Integer.MAX_VALUE : - (int)n); - } - - /** - * Returns the number of mappings. This method should be used - * instead of {@link #size} because a ConcurrentHashMapV8 may - * contain more mappings than can be represented as an int. The - * value returned is a snapshot; the actual count may differ if - * there are ongoing concurrent insertions or removals. - * - * @return the number of mappings - */ - public long mappingCount() { - long n = counter.sum(); - return (n < 0L) ? 0L : n; // ignore transient negative values - } - - /** - * Returns the value to which the specified key is mapped, - * or {@code null} if this map contains no mapping for the key. - * - *

More formally, if this map contains a mapping from a key - * {@code k} to a value {@code v} such that {@code key.equals(k)}, - * then this method returns {@code v}; otherwise it returns - * {@code null}. (There can be at most one such mapping.) - * - * @throws NullPointerException if the specified key is null - */ - @SuppressWarnings("unchecked") public V get(Object key) { - if (key == null) - throw new NullPointerException(); - return (V)internalGet(key); - } - - /** - * Returns the value to which the specified key is mapped, - * or the given defaultValue if this map contains no mapping for the key. - * - * @param key the key - * @param defaultValue the value to return if this map contains - * no mapping for the given key - * @return the mapping for the key, if present; else the defaultValue - * @throws NullPointerException if the specified key is null - */ - @SuppressWarnings("unchecked") public V getValueOrDefault(Object key, V defaultValue) { - if (key == null) - throw new NullPointerException(); - V v = (V) internalGet(key); - return v == null ? defaultValue : v; - } - - /** - * Tests if the specified object is a key in this table. - * - * @param key possible key - * @return {@code true} if and only if the specified object - * is a key in this table, as determined by the - * {@code equals} method; {@code false} otherwise - * @throws NullPointerException if the specified key is null - */ - public boolean containsKey(Object key) { - if (key == null) - throw new NullPointerException(); - return internalGet(key) != null; - } - - /** - * Returns {@code true} if this map maps one or more keys to the - * specified value. Note: This method may require a full traversal - * of the map, and is much slower than method {@code containsKey}. - * - * @param value value whose presence in this map is to be tested - * @return {@code true} if this map maps one or more keys to the - * specified value - * @throws NullPointerException if the specified value is null - */ - public boolean containsValue(Object value) { - if (value == null) - throw new NullPointerException(); - Object v; - Traverser it = new Traverser(this); - while ((v = it.advance()) != null) { - if (v == value || value.equals(v)) - return true; - } - return false; - } - - public K findKey(Object value) { - if (value == null) - throw new NullPointerException(); - Object v; - Traverser it = new Traverser(this); - while ((v = it.advance()) != null) { - if (v == value || value.equals(v)) - return it.nextKey; - } - return null; - } - - /** - * Legacy method testing if some key maps into the specified value - * in this table. This method is identical in functionality to - * {@link #containsValue}, and exists solely to ensure - * full compatibility with class {@link java.util.Hashtable}, - * which supported this method prior to introduction of the - * Java Collections framework. - * - * @param value a value to search for - * @return {@code true} if and only if some key maps to the - * {@code value} argument in this table as - * determined by the {@code equals} method; - * {@code false} otherwise - * @throws NullPointerException if the specified value is null - */ - public boolean contains(Object value) { - return containsValue(value); - } - - /** - * Maps the specified key to the specified value in this table. - * Neither the key nor the value can be null. - * - *

The value can be retrieved by calling the {@code get} method - * with a key that is equal to the original key. - * - * @param key key with which the specified value is to be associated - * @param value value to be associated with the specified key - * @return the previous value associated with {@code key}, or - * {@code null} if there was no mapping for {@code key} - * @throws NullPointerException if the specified key or value is null - */ - @SuppressWarnings("unchecked") public V put(K key, V value) { - if (key == null || value == null) - throw new NullPointerException(); - return (V)internalPut(key, value); - } - - /** - * {@inheritDoc} - * - * @return the previous value associated with the specified key, - * or {@code null} if there was no mapping for the key - * @throws NullPointerException if the specified key or value is null - */ - @SuppressWarnings("unchecked") public V putIfAbsent(K key, V value) { - if (key == null || value == null) - throw new NullPointerException(); - return (V)internalPutIfAbsent(key, value); - } - - /** - * Copies all of the mappings from the specified map to this one. - * These mappings replace any mappings that this map had for any of the - * keys currently in the specified map. - * - * @param m mappings to be stored in this map - */ - public void putAll(Map m) { - internalPutAll(m); - } - - /** - * If the specified key is not already associated with a value, - * computes its value using the given mappingFunction and enters - * it into the map unless null. This is equivalent to - *

 {@code
-     * if (map.containsKey(key))
-     *   return map.get(key);
-     * value = mappingFunction.apply(key);
-     * if (value != null)
-     *   map.put(key, value);
-     * return value;}
- * - * except that the action is performed atomically. If the - * function returns {@code null} no mapping is recorded. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and no mapping is recorded. Some - * attempted update operations on this map by other threads may be - * blocked while computation is in progress, so the computation - * should be short and simple, and must not attempt to update any - * other mappings of this Map. The most appropriate usage is to - * construct a new object serving as an initial mapped value, or - * memoized result, as in: - * - *
 {@code
-     * map.computeIfAbsent(key, new Fun() {
-     *   public V map(K k) { return new Value(f(k)); }});}
- * - * @param key key with which the specified value is to be associated - * @param mappingFunction the function to compute a value - * @return the current (existing or computed) value associated with - * the specified key, or null if the computed value is null - * @throws NullPointerException if the specified key or mappingFunction - * is null - * @throws IllegalStateException if the computation detectably - * attempts a recursive update to this map that would - * otherwise never complete - * @throws RuntimeException or Error if the mappingFunction does so, - * in which case the mapping is left unestablished - */ - @SuppressWarnings("unchecked") public V computeIfAbsent - (K key, Fun mappingFunction) { - if (key == null || mappingFunction == null) - throw new NullPointerException(); - return (V)internalComputeIfAbsent(key, mappingFunction); - } - - /** - * If the given key is present, computes a new mapping value given a key and - * its current mapped value. This is equivalent to - *
 {@code
-     *   if (map.containsKey(key)) {
-     *     value = remappingFunction.apply(key, map.get(key));
-     *     if (value != null)
-     *       map.put(key, value);
-     *     else
-     *       map.remove(key);
-     *   }
-     * }
- * - * except that the action is performed atomically. If the - * function returns {@code null}, the mapping is removed. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and the current mapping is left - * unchanged. Some attempted update operations on this map by - * other threads may be blocked while computation is in progress, - * so the computation should be short and simple, and must not - * attempt to update any other mappings of this Map. For example, - * to either create or append new messages to a value mapping: - * - * @param key key with which the specified value is to be associated - * @param remappingFunction the function to compute a value - * @return the new value associated with the specified key, or null if none - * @throws NullPointerException if the specified key or remappingFunction - * is null - * @throws IllegalStateException if the computation detectably - * attempts a recursive update to this map that would - * otherwise never complete - * @throws RuntimeException or Error if the remappingFunction does so, - * in which case the mapping is unchanged - */ - @SuppressWarnings("unchecked") public V computeIfPresent - (K key, BiFun remappingFunction) { - if (key == null || remappingFunction == null) - throw new NullPointerException(); - return (V)internalCompute(key, true, remappingFunction); - } - - /** - * Computes a new mapping value given a key and - * its current mapped value (or {@code null} if there is no current - * mapping). This is equivalent to - *
 {@code
-     *   value = remappingFunction.apply(key, map.get(key));
-     *   if (value != null)
-     *     map.put(key, value);
-     *   else
-     *     map.remove(key);
-     * }
- * - * except that the action is performed atomically. If the - * function returns {@code null}, the mapping is removed. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and the current mapping is left - * unchanged. Some attempted update operations on this map by - * other threads may be blocked while computation is in progress, - * so the computation should be short and simple, and must not - * attempt to update any other mappings of this Map. For example, - * to either create or append new messages to a value mapping: - * - *
 {@code
-     * Map map = ...;
-     * final String msg = ...;
-     * map.compute(key, new BiFun() {
-     *   public String apply(Key k, String v) {
-     *    return (v == null) ? msg : v + msg;});}}
- * - * @param key key with which the specified value is to be associated - * @param remappingFunction the function to compute a value - * @return the new value associated with the specified key, or null if none - * @throws NullPointerException if the specified key or remappingFunction - * is null - * @throws IllegalStateException if the computation detectably - * attempts a recursive update to this map that would - * otherwise never complete - * @throws RuntimeException or Error if the remappingFunction does so, - * in which case the mapping is unchanged - */ - @SuppressWarnings("unchecked") public V compute - (K key, BiFun remappingFunction) { - if (key == null || remappingFunction == null) - throw new NullPointerException(); - return (V)internalCompute(key, false, remappingFunction); - } - - /** - * If the specified key is not already associated - * with a value, associate it with the given value. - * Otherwise, replace the value with the results of - * the given remapping function. This is equivalent to: - *
 {@code
-     *   if (!map.containsKey(key))
-     *     map.put(value);
-     *   else {
-     *     newValue = remappingFunction.apply(map.get(key), value);
-     *     if (value != null)
-     *       map.put(key, value);
-     *     else
-     *       map.remove(key);
-     *   }
-     * }
- * except that the action is performed atomically. If the - * function returns {@code null}, the mapping is removed. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and the current mapping is left - * unchanged. Some attempted update operations on this map by - * other threads may be blocked while computation is in progress, - * so the computation should be short and simple, and must not - * attempt to update any other mappings of this Map. - */ - @SuppressWarnings("unchecked") public V merge - (K key, V value, BiFun remappingFunction) { - if (key == null || value == null || remappingFunction == null) - throw new NullPointerException(); - return (V)internalMerge(key, value, remappingFunction); - } - - /** - * Removes the key (and its corresponding value) from this map. - * This method does nothing if the key is not in the map. - * - * @param key the key that needs to be removed - * @return the previous value associated with {@code key}, or - * {@code null} if there was no mapping for {@code key} - * @throws NullPointerException if the specified key is null - */ - @SuppressWarnings("unchecked") public V remove(Object key) { - if (key == null) - throw new NullPointerException(); - return (V)internalReplace(key, null, null); - } - - /** - * {@inheritDoc} - * - * @throws NullPointerException if the specified key is null - */ - public boolean remove(Object key, Object value) { - if (key == null) - throw new NullPointerException(); - if (value == null) - return false; - return internalReplace(key, null, value) != null; - } - - /** - * {@inheritDoc} - * - * @throws NullPointerException if any of the arguments are null - */ - public boolean replace(K key, V oldValue, V newValue) { - if (key == null || oldValue == null || newValue == null) - throw new NullPointerException(); - return internalReplace(key, newValue, oldValue) != null; - } - - /** - * {@inheritDoc} - * - * @return the previous value associated with the specified key, - * or {@code null} if there was no mapping for the key - * @throws NullPointerException if the specified key or value is null - */ - @SuppressWarnings("unchecked") public V replace(K key, V value) { - if (key == null || value == null) - throw new NullPointerException(); - return (V)internalReplace(key, value, null); - } - - /** - * Removes all of the mappings from this map. - */ - public void clear() { - internalClear(); - } - - /** - * Returns a {@link Set} view of the keys contained in this map. - * The set is backed by the map, so changes to the map are - * reflected in the set, and vice-versa. - * - * @return the set view - */ - public KeySetView keySet() { - KeySetView ks = keySet; - return (ks != null) ? ks : (keySet = new KeySetView(this, null)); - } - - /** - * Returns a {@link Set} view of the keys in this map, using the - * given common mapped value for any additions (i.e., {@link - * Collection#add} and {@link Collection#addAll}). This is of - * course only appropriate if it is acceptable to use the same - * value for all additions from this view. - * - * @param mappedValue the mapped value to use for any - * additions. - * @return the set view - * @throws NullPointerException if the mappedValue is null - */ - public KeySetView keySet(V mappedValue) { - if (mappedValue == null) - throw new NullPointerException(); - return new KeySetView(this, mappedValue); - } - - /** - * Returns a {@link Collection} view of the values contained in this map. - * The collection is backed by the map, so changes to the map are - * reflected in the collection, and vice-versa. - */ - public ValuesView values() { - ValuesView vs = values; - return (vs != null) ? vs : (values = new ValuesView(this)); - } - - /** - * Returns a {@link Set} view of the mappings contained in this map. - * The set is backed by the map, so changes to the map are - * reflected in the set, and vice-versa. The set supports element - * removal, which removes the corresponding mapping from the map, - * via the {@code Iterator.remove}, {@code Set.remove}, - * {@code removeAll}, {@code retainAll}, and {@code clear} - * operations. It does not support the {@code add} or - * {@code addAll} operations. - * - *

The view's {@code iterator} is a "weakly consistent" iterator - * that will never throw {@link ConcurrentModificationException}, - * and guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not guaranteed to) - * reflect any modifications subsequent to construction. - */ - public Set> entrySet() { - EntrySetView es = entrySet; - return (es != null) ? es : (entrySet = new EntrySetView(this)); - } - - /** - * Returns an enumeration of the keys in this table. - * - * @return an enumeration of the keys in this table - * @see #keySet() - */ - public Enumeration keys() { - return new KeyIterator(this); - } - - /** - * Returns an enumeration of the values in this table. - * - * @return an enumeration of the values in this table - * @see #values() - */ - public Enumeration elements() { - return new ValueIterator(this); - } - - /** - * Returns a partitionable iterator of the keys in this map. - * - * @return a partitionable iterator of the keys in this map - */ - public Spliterator keySpliterator() { - return new KeyIterator(this); - } - - /** - * Returns a partitionable iterator of the values in this map. - * - * @return a partitionable iterator of the values in this map - */ - public Spliterator valueSpliterator() { - return new ValueIterator(this); - } - - /** - * Returns a partitionable iterator of the entries in this map. - * - * @return a partitionable iterator of the entries in this map - */ - public Spliterator> entrySpliterator() { - return new EntryIterator(this); - } - - /** - * Returns the hash code value for this {@link Map}, i.e., - * the sum of, for each key-value pair in the map, - * {@code key.hashCode() ^ value.hashCode()}. - * - * @return the hash code value for this map - */ - public int hashCode() { - int h = 0; - Traverser it = new Traverser(this); - Object v; - while ((v = it.advance()) != null) { - h += it.nextKey.hashCode() ^ v.hashCode(); - } - return h; - } - - /** - * Returns a string representation of this map. The string - * representation consists of a list of key-value mappings (in no - * particular order) enclosed in braces ("{@code {}}"). Adjacent - * mappings are separated by the characters {@code ", "} (comma - * and space). Each key-value mapping is rendered as the key - * followed by an equals sign ("{@code =}") followed by the - * associated value. - * - * @return a string representation of this map - */ - public String toString() { - Traverser it = new Traverser(this); - StringBuilder sb = new StringBuilder(); - sb.append('{'); - Object v; - if ((v = it.advance()) != null) { - for (;;) { - Object k = it.nextKey; - sb.append(k == this ? "(this Map)" : k); - sb.append('='); - sb.append(v == this ? "(this Map)" : v); - if ((v = it.advance()) == null) - break; - sb.append(',').append(' '); - } - } - return sb.append('}').toString(); - } - - /** - * Compares the specified object with this map for equality. - * Returns {@code true} if the given object is a map with the same - * mappings as this map. This operation may return misleading - * results if either map is concurrently modified during execution - * of this method. - * - * @param o object to be compared for equality with this map - * @return {@code true} if the specified object is equal to this map - */ - public boolean equals(Object o) { - if (o != this) { - if (!(o instanceof Map)) - return false; - Map m = (Map) o; - Traverser it = new Traverser(this); - Object val; - while ((val = it.advance()) != null) { - Object v = m.get(it.nextKey); - if (v == null || (v != val && !v.equals(val))) - return false; - } - for (Map.Entry e : m.entrySet()) { - Object mk, mv, v; - if ((mk = e.getKey()) == null || - (mv = e.getValue()) == null || - (v = internalGet(mk)) == null || - (mv != v && !mv.equals(v))) - return false; - } - } - return true; - } - - /* ----------------Iterators -------------- */ - - @SuppressWarnings("serial") static final class KeyIterator extends Traverser - implements Spliterator, Enumeration { - KeyIterator(ConcurrentHashMapV8 map) { super(map); } - KeyIterator(Traverser it) { - super(it); - } - public KeyIterator split() { - if (nextKey != null) - throw new IllegalStateException(); - return new KeyIterator(this); - } - @SuppressWarnings("unchecked") public final K next() { - if (nextVal == null && advance() == null) - throw new NoSuchElementException(); - Object k = nextKey; - nextVal = null; - return (K) k; - } - - public final K nextElement() { return next(); } - } - - @SuppressWarnings("serial") static final class ValueIterator extends Traverser - implements Spliterator, Enumeration { - ValueIterator(ConcurrentHashMapV8 map) { super(map); } - ValueIterator(Traverser it) { - super(it); - } - public ValueIterator split() { - if (nextKey != null) - throw new IllegalStateException(); - return new ValueIterator(this); - } - - @SuppressWarnings("unchecked") public final V next() { - Object v; - if ((v = nextVal) == null && (v = advance()) == null) - throw new NoSuchElementException(); - nextVal = null; - return (V) v; - } - - public final V nextElement() { return next(); } - } - - @SuppressWarnings("serial") static final class EntryIterator extends Traverser - implements Spliterator> { - EntryIterator(ConcurrentHashMapV8 map) { super(map); } - EntryIterator(Traverser it) { - super(it); - } - public EntryIterator split() { - if (nextKey != null) - throw new IllegalStateException(); - return new EntryIterator(this); - } - - @SuppressWarnings("unchecked") public final Map.Entry next() { - Object v; - if ((v = nextVal) == null && (v = advance()) == null) - throw new NoSuchElementException(); - Object k = nextKey; - nextVal = null; - return new MapEntry((K)k, (V)v, map); - } - } - - /** - * Exported Entry for iterators - */ - static final class MapEntry implements Map.Entry { - final K key; // non-null - V val; // non-null - final ConcurrentHashMapV8 map; - MapEntry(K key, V val, ConcurrentHashMapV8 map) { - this.key = key; - this.val = val; - this.map = map; - } - public final K getKey() { return key; } - public final V getValue() { return val; } - public final int hashCode() { return key.hashCode() ^ val.hashCode(); } - public final String toString(){ return key + "=" + val; } - - public final boolean equals(Object o) { - Object k, v; Map.Entry e; - return ((o instanceof Map.Entry) && - (k = (e = (Map.Entry)o).getKey()) != null && - (v = e.getValue()) != null && - (k == key || k.equals(key)) && - (v == val || v.equals(val))); - } - - /** - * Sets our entry's value and writes through to the map. The - * value to return is somewhat arbitrary here. Since we do not - * necessarily track asynchronous changes, the most recent - * "previous" value could be different from what we return (or - * could even have been removed in which case the put will - * re-establish). We do not and cannot guarantee more. - */ - public final V setValue(V value) { - if (value == null) throw new NullPointerException(); - V v = val; - val = value; - map.put(key, value); - return v; - } - } - - /* ---------------- Serialization Support -------------- */ - - /** - * Stripped-down version of helper class used in previous version, - * declared for the sake of serialization compatibility - */ - static class Segment implements Serializable { - private static final long serialVersionUID = 2249069246763182397L; - final float loadFactor; - Segment(float lf) { this.loadFactor = lf; } - } - - /** - * Saves the state of the {@code ConcurrentHashMapV8} instance to a - * stream (i.e., serializes it). - * @param s the stream - * @serialData - * the key (Object) and value (Object) - * for each key-value mapping, followed by a null pair. - * The key-value mappings are emitted in no particular order. - */ - @SuppressWarnings("unchecked") private void writeObject(java.io.ObjectOutputStream s) - throws java.io.IOException { - if (segments == null) { // for serialization compatibility - segments = (Segment[]) - new Segment[DEFAULT_CONCURRENCY_LEVEL]; - for (int i = 0; i < segments.length; ++i) - segments[i] = new Segment(LOAD_FACTOR); - } - s.defaultWriteObject(); - Traverser it = new Traverser(this); - Object v; - while ((v = it.advance()) != null) { - s.writeObject(it.nextKey); - s.writeObject(v); - } - s.writeObject(null); - s.writeObject(null); - segments = null; // throw away - } - - /** - * Reconstitutes the instance from a stream (that is, deserializes it). - * @param s the stream - */ - @SuppressWarnings("unchecked") private void readObject(java.io.ObjectInputStream s) - throws java.io.IOException, ClassNotFoundException { - s.defaultReadObject(); - this.segments = null; // unneeded - // initialize transient final field - UNSAFE.putObjectVolatile(this, counterOffset, new LongAdder()); - - // Create all nodes, then place in table once size is known - long size = 0L; - Node p = null; - for (;;) { - K k = (K) s.readObject(); - V v = (V) s.readObject(); - if (k != null && v != null) { - int h = spread(k.hashCode()); - p = new Node(h, k, v, p); - ++size; - } - else - break; - } - if (p != null) { - boolean init = false; - int n; - if (size >= (long)(MAXIMUM_CAPACITY >>> 1)) - n = MAXIMUM_CAPACITY; - else { - int sz = (int)size; - n = tableSizeFor(sz + (sz >>> 1) + 1); - } - int sc = sizeCtl; - boolean collide = false; - if (n > sc && - UNSAFE.compareAndSwapInt(this, sizeCtlOffset, sc, -1)) { - try { - if (table == null) { - init = true; - Node[] tab = new Node[n]; - int mask = n - 1; - while (p != null) { - int j = p.hash & mask; - Node next = p.next; - Node q = p.next = tabAt(tab, j); - setTabAt(tab, j, p); - if (!collide && q != null && q.hash == p.hash) - collide = true; - p = next; - } - table = tab; - counter.add(size); - sc = n - (n >>> 2); - } - } finally { - sizeCtl = sc; - } - if (collide) { // rescan and convert to TreeBins - Node[] tab = table; - for (int i = 0; i < tab.length; ++i) { - int c = 0; - for (Node e = tabAt(tab, i); e != null; e = e.next) { - if (++c > TREE_THRESHOLD && - (e.key instanceof Comparable)) { - replaceWithTreeBin(tab, i, e.key); - break; - } - } - } - } - } - if (!init) { // Can only happen if unsafely published. - while (p != null) { - internalPut(p.key, p.val); - p = p.next; - } - } - } - } - - - // ------------------------------------------------------- - - // Sams - /** Interface describing a void action of one argument */ - public interface Action { void apply(A a); } - /** Interface describing a void action of two arguments */ - public interface BiAction { void apply(A a, B b); } - /** Interface describing a function of one argument */ - public interface Generator { T apply(); } - /** Interface describing a function mapping its argument to a double */ - public interface ObjectToDouble { double apply(A a); } - /** Interface describing a function mapping its argument to a long */ - public interface ObjectToLong { long apply(A a); } - /** Interface describing a function mapping its argument to an int */ - public interface ObjectToInt {int apply(A a); } - /** Interface describing a function mapping two arguments to a double */ - public interface ObjectByObjectToDouble { double apply(A a, B b); } - /** Interface describing a function mapping two arguments to a long */ - public interface ObjectByObjectToLong { long apply(A a, B b); } - /** Interface describing a function mapping two arguments to an int */ - public interface ObjectByObjectToInt {int apply(A a, B b); } - /** Interface describing a function mapping a double to a double */ - public interface DoubleToDouble { double apply(double a); } - /** Interface describing a function mapping a long to a long */ - public interface LongToLong { long apply(long a); } - /** Interface describing a function mapping an int to an int */ - public interface IntToInt { int apply(int a); } - /** Interface describing a function mapping two doubles to a double */ - public interface DoubleByDoubleToDouble { double apply(double a, double b); } - /** Interface describing a function mapping two longs to a long */ - public interface LongByLongToLong { long apply(long a, long b); } - /** Interface describing a function mapping two ints to an int */ - public interface IntByIntToInt { int apply(int a, int b); } - - - /* ----------------Views -------------- */ - - /** - * Base class for views. - */ - static abstract class CHMView { - final ConcurrentHashMapV8 map; - CHMView(ConcurrentHashMapV8 map) { this.map = map; } - - /** - * Returns the map backing this view. - * - * @return the map backing this view - */ - public ConcurrentHashMapV8 getMap() { return map; } - - public final int size() { return map.size(); } - public final boolean isEmpty() { return map.isEmpty(); } - public final void clear() { map.clear(); } - - // implementations below rely on concrete classes supplying these - abstract public Iterator iterator(); - abstract public boolean contains(Object o); - abstract public boolean remove(Object o); - - private static final String oomeMsg = "Required array size too large"; - - public final Object[] toArray() { - long sz = map.mappingCount(); - if (sz > (long)(MAX_ARRAY_SIZE)) - throw new OutOfMemoryError(oomeMsg); - int n = (int)sz; - Object[] r = new Object[n]; - int i = 0; - Iterator it = iterator(); - while (it.hasNext()) { - if (i == n) { - if (n >= MAX_ARRAY_SIZE) - throw new OutOfMemoryError(oomeMsg); - if (n >= MAX_ARRAY_SIZE - (MAX_ARRAY_SIZE >>> 1) - 1) - n = MAX_ARRAY_SIZE; - else - n += (n >>> 1) + 1; - r = Arrays.copyOf(r, n); - } - r[i++] = it.next(); - } - return (i == n) ? r : Arrays.copyOf(r, i); - } - - @SuppressWarnings("unchecked") public final T[] toArray(T[] a) { - long sz = map.mappingCount(); - if (sz > (long)(MAX_ARRAY_SIZE)) - throw new OutOfMemoryError(oomeMsg); - int m = (int)sz; - T[] r = (a.length >= m) ? a : - (T[])java.lang.reflect.Array - .newInstance(a.getClass().getComponentType(), m); - int n = r.length; - int i = 0; - Iterator it = iterator(); - while (it.hasNext()) { - if (i == n) { - if (n >= MAX_ARRAY_SIZE) - throw new OutOfMemoryError(oomeMsg); - if (n >= MAX_ARRAY_SIZE - (MAX_ARRAY_SIZE >>> 1) - 1) - n = MAX_ARRAY_SIZE; - else - n += (n >>> 1) + 1; - r = Arrays.copyOf(r, n); - } - r[i++] = (T)it.next(); - } - if (a == r && i < n) { - r[i] = null; // null-terminate - return r; - } - return (i == n) ? r : Arrays.copyOf(r, i); - } - - public final int hashCode() { - int h = 0; - for (Iterator it = iterator(); it.hasNext();) - h += it.next().hashCode(); - return h; - } - - public final String toString() { - StringBuilder sb = new StringBuilder(); - sb.append('['); - Iterator it = iterator(); - if (it.hasNext()) { - for (;;) { - Object e = it.next(); - sb.append(e == this ? "(this Collection)" : e); - if (!it.hasNext()) - break; - sb.append(',').append(' '); - } - } - return sb.append(']').toString(); - } - - public final boolean containsAll(Collection c) { - if (c != this) { - for (Iterator it = c.iterator(); it.hasNext();) { - Object e = it.next(); - if (e == null || !contains(e)) - return false; - } - } - return true; - } - - public final boolean removeAll(Collection c) { - boolean modified = false; - for (Iterator it = iterator(); it.hasNext();) { - if (c.contains(it.next())) { - it.remove(); - modified = true; - } - } - return modified; - } - - public final boolean retainAll(Collection c) { - boolean modified = false; - for (Iterator it = iterator(); it.hasNext();) { - if (!c.contains(it.next())) { - it.remove(); - modified = true; - } - } - return modified; - } - - } - - /** - * A view of a ConcurrentHashMapV8 as a {@link Set} of keys, in - * which additions may optionally be enabled by mapping to a - * common value. This class cannot be directly instantiated. See - * {@link #keySet}, {@link #keySet(Object)}, {@link #newKeySet()}, - * {@link #newKeySet(int)}. - */ - public static class KeySetView extends CHMView implements Set, java.io.Serializable { - private static final long serialVersionUID = 7249069246763182397L; - private final V value; - KeySetView(ConcurrentHashMapV8 map, V value) { // non-public - super(map); - this.value = value; - } - - /** - * Returns the default mapped value for additions, - * or {@code null} if additions are not supported. - * - * @return the default mapped value for additions, or {@code null} - * if not supported. - */ - public V getMappedValue() { return value; } - - // implement Set API - - public boolean contains(Object o) { return map.containsKey(o); } - public boolean remove(Object o) { return map.remove(o) != null; } - - /** - * Returns a "weakly consistent" iterator that will never - * throw {@link ConcurrentModificationException}, and - * guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not - * guaranteed to) reflect any modifications subsequent to - * construction. - * - * @return an iterator over the keys of this map - */ - public Iterator iterator() { return new KeyIterator(map); } - public boolean add(K e) { - V v; - if ((v = value) == null) - throw new UnsupportedOperationException(); - if (e == null) - throw new NullPointerException(); - return map.internalPutIfAbsent(e, v) == null; - } - public boolean addAll(Collection c) { - boolean added = false; - V v; - if ((v = value) == null) - throw new UnsupportedOperationException(); - for (K e : c) { - if (e == null) - throw new NullPointerException(); - if (map.internalPutIfAbsent(e, v) == null) - added = true; - } - return added; - } - public boolean equals(Object o) { - Set c; - return ((o instanceof Set) && - ((c = (Set)o) == this || - (containsAll(c) && c.containsAll(this)))); - } - } - - /** - * A view of a ConcurrentHashMapV8 as a {@link Collection} of - * values, in which additions are disabled. This class cannot be - * directly instantiated. See {@link #values}, - * - *

The view's {@code iterator} is a "weakly consistent" iterator - * that will never throw {@link ConcurrentModificationException}, - * and guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not guaranteed to) - * reflect any modifications subsequent to construction. - */ - public static final class ValuesView extends CHMView - implements Collection { - ValuesView(ConcurrentHashMapV8 map) { super(map); } - public final boolean contains(Object o) { return map.containsValue(o); } - public final boolean remove(Object o) { - if (o != null) { - Iterator it = new ValueIterator(map); - while (it.hasNext()) { - if (o.equals(it.next())) { - it.remove(); - return true; - } - } - } - return false; - } - - /** - * Returns a "weakly consistent" iterator that will never - * throw {@link ConcurrentModificationException}, and - * guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not - * guaranteed to) reflect any modifications subsequent to - * construction. - * - * @return an iterator over the values of this map - */ - public final Iterator iterator() { - return new ValueIterator(map); - } - public final boolean add(V e) { - throw new UnsupportedOperationException(); - } - public final boolean addAll(Collection c) { - throw new UnsupportedOperationException(); - } - } - - /** - * A view of a ConcurrentHashMapV8 as a {@link Set} of (key, value) - * entries. This class cannot be directly instantiated. See - * {@link #entrySet}. - */ - public static final class EntrySetView extends CHMView - implements Set> { - EntrySetView(ConcurrentHashMapV8 map) { super(map); } - public final boolean contains(Object o) { - Object k, v, r; Map.Entry e; - return ((o instanceof Map.Entry) && - (k = (e = (Map.Entry)o).getKey()) != null && - (r = map.get(k)) != null && - (v = e.getValue()) != null && - (v == r || v.equals(r))); - } - public final boolean remove(Object o) { - Object k, v; Map.Entry e; - return ((o instanceof Map.Entry) && - (k = (e = (Map.Entry)o).getKey()) != null && - (v = e.getValue()) != null && - map.remove(k, v)); - } - - /** - * Returns a "weakly consistent" iterator that will never - * throw {@link ConcurrentModificationException}, and - * guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not - * guaranteed to) reflect any modifications subsequent to - * construction. - * - * @return an iterator over the entries of this map - */ - public final Iterator> iterator() { - return new EntryIterator(map); - } - - public final boolean add(Entry e) { - K key = e.getKey(); - V value = e.getValue(); - if (key == null || value == null) - throw new NullPointerException(); - return map.internalPut(key, value) == null; - } - public final boolean addAll(Collection> c) { - boolean added = false; - for (Entry e : c) { - if (add(e)) - added = true; - } - return added; - } - public boolean equals(Object o) { - Set c; - return ((o instanceof Set) && - ((c = (Set)o) == this || - (containsAll(c) && c.containsAll(this)))); - } - } - - // Unsafe mechanics - private static final sun.misc.Unsafe UNSAFE; - private static final long counterOffset; - private static final long sizeCtlOffset; - private static final long ABASE; - private static final int ASHIFT; - - static { - int ss; - try { - UNSAFE = getUnsafe(); - Class k = ConcurrentHashMapV8.class; - counterOffset = UNSAFE.objectFieldOffset - (k.getDeclaredField("counter")); - sizeCtlOffset = UNSAFE.objectFieldOffset - (k.getDeclaredField("sizeCtl")); - Class sc = Node[].class; - ABASE = UNSAFE.arrayBaseOffset(sc); - ss = UNSAFE.arrayIndexScale(sc); - } catch (Exception e) { - throw new Error(e); - } - if ((ss & (ss-1)) != 0) - throw new Error("data type scale not a power of two"); - ASHIFT = 31 - Integer.numberOfLeadingZeros(ss); - } - - /** - * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. - * Replace with a simple call to Unsafe.getUnsafe when integrating - * into a jdk. - * - * @return a sun.misc.Unsafe - */ - private static sun.misc.Unsafe getUnsafe() { - try { - return sun.misc.Unsafe.getUnsafe(); - } catch (SecurityException se) { - try { - return java.security.AccessController.doPrivileged - (new java.security - .PrivilegedExceptionAction() { - public sun.misc.Unsafe run() throws Exception { - java.lang.reflect.Field f = sun.misc - .Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (sun.misc.Unsafe) f.get(null); - }}); - } catch (java.security.PrivilegedActionException e) { - throw new RuntimeException("Could not initialize intrinsics", - e.getCause()); - } - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java deleted file mode 100644 index 47a923c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on 1.9 version. - -package com.concurrent_ruby.ext.jsr166e; -import java.util.concurrent.atomic.AtomicLong; -import java.io.IOException; -import java.io.Serializable; -import java.io.ObjectInputStream; - -/** - * One or more variables that together maintain an initially zero - * {@code long} sum. When updates (method {@link #add}) are contended - * across threads, the set of variables may grow dynamically to reduce - * contention. Method {@link #sum} (or, equivalently, {@link - * #longValue}) returns the current total combined across the - * variables maintaining the sum. - * - *

This class is usually preferable to {@link AtomicLong} when - * multiple threads update a common sum that is used for purposes such - * as collecting statistics, not for fine-grained synchronization - * control. Under low update contention, the two classes have similar - * characteristics. But under high contention, expected throughput of - * this class is significantly higher, at the expense of higher space - * consumption. - * - *

This class extends {@link Number}, but does not define - * methods such as {@code hashCode} and {@code compareTo} because - * instances are expected to be mutated, and so are not useful as - * collection keys. - * - *

jsr166e note: This class is targeted to be placed in - * java.util.concurrent.atomic. - * - * @since 1.8 - * @author Doug Lea - */ -public class LongAdder extends Striped64 implements Serializable { - private static final long serialVersionUID = 7249069246863182397L; - - /** - * Version of plus for use in retryUpdate - */ - final long fn(long v, long x) { return v + x; } - - /** - * Creates a new adder with initial sum of zero. - */ - public LongAdder() { - } - - /** - * Adds the given value. - * - * @param x the value to add - */ - public void add(long x) { - Cell[] as; long b, v; HashCode hc; Cell a; int n; - if ((as = cells) != null || !casBase(b = base, b + x)) { - boolean uncontended = true; - int h = (hc = threadHashCode.get()).code; - if (as == null || (n = as.length) < 1 || - (a = as[(n - 1) & h]) == null || - !(uncontended = a.cas(v = a.value, v + x))) - retryUpdate(x, hc, uncontended); - } - } - - /** - * Equivalent to {@code add(1)}. - */ - public void increment() { - add(1L); - } - - /** - * Equivalent to {@code add(-1)}. - */ - public void decrement() { - add(-1L); - } - - /** - * Returns the current sum. The returned value is NOT an - * atomic snapshot: Invocation in the absence of concurrent - * updates returns an accurate result, but concurrent updates that - * occur while the sum is being calculated might not be - * incorporated. - * - * @return the sum - */ - public long sum() { - long sum = base; - Cell[] as = cells; - if (as != null) { - int n = as.length; - for (int i = 0; i < n; ++i) { - Cell a = as[i]; - if (a != null) - sum += a.value; - } - } - return sum; - } - - /** - * Resets variables maintaining the sum to zero. This method may - * be a useful alternative to creating a new adder, but is only - * effective if there are no concurrent updates. Because this - * method is intrinsically racy, it should only be used when it is - * known that no threads are concurrently updating. - */ - public void reset() { - internalReset(0L); - } - - /** - * Equivalent in effect to {@link #sum} followed by {@link - * #reset}. This method may apply for example during quiescent - * points between multithreaded computations. If there are - * updates concurrent with this method, the returned value is - * not guaranteed to be the final value occurring before - * the reset. - * - * @return the sum - */ - public long sumThenReset() { - long sum = base; - Cell[] as = cells; - base = 0L; - if (as != null) { - int n = as.length; - for (int i = 0; i < n; ++i) { - Cell a = as[i]; - if (a != null) { - sum += a.value; - a.value = 0L; - } - } - } - return sum; - } - - /** - * Returns the String representation of the {@link #sum}. - * @return the String representation of the {@link #sum} - */ - public String toString() { - return Long.toString(sum()); - } - - /** - * Equivalent to {@link #sum}. - * - * @return the sum - */ - public long longValue() { - return sum(); - } - - /** - * Returns the {@link #sum} as an {@code int} after a narrowing - * primitive conversion. - */ - public int intValue() { - return (int)sum(); - } - - /** - * Returns the {@link #sum} as a {@code float} - * after a widening primitive conversion. - */ - public float floatValue() { - return (float)sum(); - } - - /** - * Returns the {@link #sum} as a {@code double} after a widening - * primitive conversion. - */ - public double doubleValue() { - return (double)sum(); - } - - private void writeObject(java.io.ObjectOutputStream s) - throws java.io.IOException { - s.defaultWriteObject(); - s.writeLong(sum()); - } - - private void readObject(ObjectInputStream s) - throws IOException, ClassNotFoundException { - s.defaultReadObject(); - busy = 0; - cells = null; - base = s.readLong(); - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java deleted file mode 100644 index 93a277f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java +++ /dev/null @@ -1,342 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on 1.5 version. - -package com.concurrent_ruby.ext.jsr166e; -import java.util.Random; - -/** - * A package-local class holding common representation and mechanics - * for classes supporting dynamic striping on 64bit values. The class - * extends Number so that concrete subclasses must publicly do so. - */ -abstract class Striped64 extends Number { - /* - * This class maintains a lazily-initialized table of atomically - * updated variables, plus an extra "base" field. The table size - * is a power of two. Indexing uses masked per-thread hash codes. - * Nearly all declarations in this class are package-private, - * accessed directly by subclasses. - * - * Table entries are of class Cell; a variant of AtomicLong padded - * to reduce cache contention on most processors. Padding is - * overkill for most Atomics because they are usually irregularly - * scattered in memory and thus don't interfere much with each - * other. But Atomic objects residing in arrays will tend to be - * placed adjacent to each other, and so will most often share - * cache lines (with a huge negative performance impact) without - * this precaution. - * - * In part because Cells are relatively large, we avoid creating - * them until they are needed. When there is no contention, all - * updates are made to the base field. Upon first contention (a - * failed CAS on base update), the table is initialized to size 2. - * The table size is doubled upon further contention until - * reaching the nearest power of two greater than or equal to the - * number of CPUS. Table slots remain empty (null) until they are - * needed. - * - * A single spinlock ("busy") is used for initializing and - * resizing the table, as well as populating slots with new Cells. - * There is no need for a blocking lock: When the lock is not - * available, threads try other slots (or the base). During these - * retries, there is increased contention and reduced locality, - * which is still better than alternatives. - * - * Per-thread hash codes are initialized to random values. - * Contention and/or table collisions are indicated by failed - * CASes when performing an update operation (see method - * retryUpdate). Upon a collision, if the table size is less than - * the capacity, it is doubled in size unless some other thread - * holds the lock. If a hashed slot is empty, and lock is - * available, a new Cell is created. Otherwise, if the slot - * exists, a CAS is tried. Retries proceed by "double hashing", - * using a secondary hash (Marsaglia XorShift) to try to find a - * free slot. - * - * The table size is capped because, when there are more threads - * than CPUs, supposing that each thread were bound to a CPU, - * there would exist a perfect hash function mapping threads to - * slots that eliminates collisions. When we reach capacity, we - * search for this mapping by randomly varying the hash codes of - * colliding threads. Because search is random, and collisions - * only become known via CAS failures, convergence can be slow, - * and because threads are typically not bound to CPUS forever, - * may not occur at all. However, despite these limitations, - * observed contention rates are typically low in these cases. - * - * It is possible for a Cell to become unused when threads that - * once hashed to it terminate, as well as in the case where - * doubling the table causes no thread to hash to it under - * expanded mask. We do not try to detect or remove such cells, - * under the assumption that for long-running instances, observed - * contention levels will recur, so the cells will eventually be - * needed again; and for short-lived ones, it does not matter. - */ - - /** - * Padded variant of AtomicLong supporting only raw accesses plus CAS. - * The value field is placed between pads, hoping that the JVM doesn't - * reorder them. - * - * JVM intrinsics note: It would be possible to use a release-only - * form of CAS here, if it were provided. - */ - static final class Cell { - volatile long p0, p1, p2, p3, p4, p5, p6; - volatile long value; - volatile long q0, q1, q2, q3, q4, q5, q6; - Cell(long x) { value = x; } - - final boolean cas(long cmp, long val) { - return UNSAFE.compareAndSwapLong(this, valueOffset, cmp, val); - } - - // Unsafe mechanics - private static final sun.misc.Unsafe UNSAFE; - private static final long valueOffset; - static { - try { - UNSAFE = getUnsafe(); - Class ak = Cell.class; - valueOffset = UNSAFE.objectFieldOffset - (ak.getDeclaredField("value")); - } catch (Exception e) { - throw new Error(e); - } - } - - } - - /** - * Holder for the thread-local hash code. The code is initially - * random, but may be set to a different value upon collisions. - */ - static final class HashCode { - static final Random rng = new Random(); - int code; - HashCode() { - int h = rng.nextInt(); // Avoid zero to allow xorShift rehash - code = (h == 0) ? 1 : h; - } - } - - /** - * The corresponding ThreadLocal class - */ - static final class ThreadHashCode extends ThreadLocal { - public HashCode initialValue() { return new HashCode(); } - } - - /** - * Static per-thread hash codes. Shared across all instances to - * reduce ThreadLocal pollution and because adjustments due to - * collisions in one table are likely to be appropriate for - * others. - */ - static final ThreadHashCode threadHashCode = new ThreadHashCode(); - - /** Number of CPUS, to place bound on table size */ - static final int NCPU = Runtime.getRuntime().availableProcessors(); - - /** - * Table of cells. When non-null, size is a power of 2. - */ - transient volatile Cell[] cells; - - /** - * Base value, used mainly when there is no contention, but also as - * a fallback during table initialization races. Updated via CAS. - */ - transient volatile long base; - - /** - * Spinlock (locked via CAS) used when resizing and/or creating Cells. - */ - transient volatile int busy; - - /** - * Package-private default constructor - */ - Striped64() { - } - - /** - * CASes the base field. - */ - final boolean casBase(long cmp, long val) { - return UNSAFE.compareAndSwapLong(this, baseOffset, cmp, val); - } - - /** - * CASes the busy field from 0 to 1 to acquire lock. - */ - final boolean casBusy() { - return UNSAFE.compareAndSwapInt(this, busyOffset, 0, 1); - } - - /** - * Computes the function of current and new value. Subclasses - * should open-code this update function for most uses, but the - * virtualized form is needed within retryUpdate. - * - * @param currentValue the current value (of either base or a cell) - * @param newValue the argument from a user update call - * @return result of the update function - */ - abstract long fn(long currentValue, long newValue); - - /** - * Handles cases of updates involving initialization, resizing, - * creating new Cells, and/or contention. See above for - * explanation. This method suffers the usual non-modularity - * problems of optimistic retry code, relying on rechecked sets of - * reads. - * - * @param x the value - * @param hc the hash code holder - * @param wasUncontended false if CAS failed before call - */ - final void retryUpdate(long x, HashCode hc, boolean wasUncontended) { - int h = hc.code; - boolean collide = false; // True if last slot nonempty - for (;;) { - Cell[] as; Cell a; int n; long v; - if ((as = cells) != null && (n = as.length) > 0) { - if ((a = as[(n - 1) & h]) == null) { - if (busy == 0) { // Try to attach new Cell - Cell r = new Cell(x); // Optimistically create - if (busy == 0 && casBusy()) { - boolean created = false; - try { // Recheck under lock - Cell[] rs; int m, j; - if ((rs = cells) != null && - (m = rs.length) > 0 && - rs[j = (m - 1) & h] == null) { - rs[j] = r; - created = true; - } - } finally { - busy = 0; - } - if (created) - break; - continue; // Slot is now non-empty - } - } - collide = false; - } - else if (!wasUncontended) // CAS already known to fail - wasUncontended = true; // Continue after rehash - else if (a.cas(v = a.value, fn(v, x))) - break; - else if (n >= NCPU || cells != as) - collide = false; // At max size or stale - else if (!collide) - collide = true; - else if (busy == 0 && casBusy()) { - try { - if (cells == as) { // Expand table unless stale - Cell[] rs = new Cell[n << 1]; - for (int i = 0; i < n; ++i) - rs[i] = as[i]; - cells = rs; - } - } finally { - busy = 0; - } - collide = false; - continue; // Retry with expanded table - } - h ^= h << 13; // Rehash - h ^= h >>> 17; - h ^= h << 5; - } - else if (busy == 0 && cells == as && casBusy()) { - boolean init = false; - try { // Initialize table - if (cells == as) { - Cell[] rs = new Cell[2]; - rs[h & 1] = new Cell(x); - cells = rs; - init = true; - } - } finally { - busy = 0; - } - if (init) - break; - } - else if (casBase(v = base, fn(v, x))) - break; // Fall back on using base - } - hc.code = h; // Record index for next time - } - - - /** - * Sets base and all cells to the given value. - */ - final void internalReset(long initialValue) { - Cell[] as = cells; - base = initialValue; - if (as != null) { - int n = as.length; - for (int i = 0; i < n; ++i) { - Cell a = as[i]; - if (a != null) - a.value = initialValue; - } - } - } - - // Unsafe mechanics - private static final sun.misc.Unsafe UNSAFE; - private static final long baseOffset; - private static final long busyOffset; - static { - try { - UNSAFE = getUnsafe(); - Class sk = Striped64.class; - baseOffset = UNSAFE.objectFieldOffset - (sk.getDeclaredField("base")); - busyOffset = UNSAFE.objectFieldOffset - (sk.getDeclaredField("busy")); - } catch (Exception e) { - throw new Error(e); - } - } - - /** - * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. - * Replace with a simple call to Unsafe.getUnsafe when integrating - * into a jdk. - * - * @return a sun.misc.Unsafe - */ - private static sun.misc.Unsafe getUnsafe() { - try { - return sun.misc.Unsafe.getUnsafe(); - } catch (SecurityException se) { - try { - return java.security.AccessController.doPrivileged - (new java.security - .PrivilegedExceptionAction() { - public sun.misc.Unsafe run() throws Exception { - java.lang.reflect.Field f = sun.misc - .Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (sun.misc.Unsafe) f.get(null); - }}); - } catch (java.security.PrivilegedActionException e) { - throw new RuntimeException("Could not initialize intrinsics", - e.getCause()); - } - } - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java deleted file mode 100644 index b7fc5a9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +++ /dev/null @@ -1,3800 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on the 1.79 version. - -package com.concurrent_ruby.ext.jsr166e.nounsafe; - -import org.jruby.RubyClass; -import org.jruby.RubyNumeric; -import org.jruby.RubyObject; -import org.jruby.exceptions.RaiseException; -import com.concurrent_ruby.ext.jsr166e.ConcurrentHashMap; -import com.concurrent_ruby.ext.jsr166y.ThreadLocalRandom; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; - -import java.util.Arrays; -import java.util.Map; -import java.util.Set; -import java.util.Collection; -import java.util.Hashtable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Enumeration; -import java.util.ConcurrentModificationException; -import java.util.NoSuchElementException; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; -import java.util.concurrent.atomic.AtomicReferenceArray; -import java.util.concurrent.locks.AbstractQueuedSynchronizer; - -import java.io.Serializable; - -/** - * A hash table supporting full concurrency of retrievals and - * high expected concurrency for updates. This class obeys the - * same functional specification as {@link java.util.Hashtable}, and - * includes versions of methods corresponding to each method of - * {@code Hashtable}. However, even though all operations are - * thread-safe, retrieval operations do not entail locking, - * and there is not any support for locking the entire table - * in a way that prevents all access. This class is fully - * interoperable with {@code Hashtable} in programs that rely on its - * thread safety but not on its synchronization details. - * - *

Retrieval operations (including {@code get}) generally do not - * block, so may overlap with update operations (including {@code put} - * and {@code remove}). Retrievals reflect the results of the most - * recently completed update operations holding upon their - * onset. (More formally, an update operation for a given key bears a - * happens-before relation with any (non-null) retrieval for - * that key reporting the updated value.) For aggregate operations - * such as {@code putAll} and {@code clear}, concurrent retrievals may - * reflect insertion or removal of only some entries. Similarly, - * Iterators and Enumerations return elements reflecting the state of - * the hash table at some point at or since the creation of the - * iterator/enumeration. They do not throw {@link - * ConcurrentModificationException}. However, iterators are designed - * to be used by only one thread at a time. Bear in mind that the - * results of aggregate status methods including {@code size}, {@code - * isEmpty}, and {@code containsValue} are typically useful only when - * a map is not undergoing concurrent updates in other threads. - * Otherwise the results of these methods reflect transient states - * that may be adequate for monitoring or estimation purposes, but not - * for program control. - * - *

The table is dynamically expanded when there are too many - * collisions (i.e., keys that have distinct hash codes but fall into - * the same slot modulo the table size), with the expected average - * effect of maintaining roughly two bins per mapping (corresponding - * to a 0.75 load factor threshold for resizing). There may be much - * variance around this average as mappings are added and removed, but - * overall, this maintains a commonly accepted time/space tradeoff for - * hash tables. However, resizing this or any other kind of hash - * table may be a relatively slow operation. When possible, it is a - * good idea to provide a size estimate as an optional {@code - * initialCapacity} constructor argument. An additional optional - * {@code loadFactor} constructor argument provides a further means of - * customizing initial table capacity by specifying the table density - * to be used in calculating the amount of space to allocate for the - * given number of elements. Also, for compatibility with previous - * versions of this class, constructors may optionally specify an - * expected {@code concurrencyLevel} as an additional hint for - * internal sizing. Note that using many keys with exactly the same - * {@code hashCode()} is a sure way to slow down performance of any - * hash table. - * - *

A {@link Set} projection of a ConcurrentHashMapV8 may be created - * (using {@link #newKeySet()} or {@link #newKeySet(int)}), or viewed - * (using {@link #keySet(Object)} when only keys are of interest, and the - * mapped values are (perhaps transiently) not used or all take the - * same mapping value. - * - *

A ConcurrentHashMapV8 can be used as scalable frequency map (a - * form of histogram or multiset) by using {@link LongAdder} values - * and initializing via {@link #computeIfAbsent}. For example, to add - * a count to a {@code ConcurrentHashMapV8 freqs}, you - * can use {@code freqs.computeIfAbsent(k -> new - * LongAdder()).increment();} - * - *

This class and its views and iterators implement all of the - * optional methods of the {@link Map} and {@link Iterator} - * interfaces. - * - *

Like {@link Hashtable} but unlike {@link HashMap}, this class - * does not allow {@code null} to be used as a key or value. - * - *

ConcurrentHashMapV8s support parallel operations using the {@link - * ForkJoinPool#commonPool}. (Tasks that may be used in other contexts - * are available in class {@link ForkJoinTasks}). These operations are - * designed to be safely, and often sensibly, applied even with maps - * that are being concurrently updated by other threads; for example, - * when computing a snapshot summary of the values in a shared - * registry. There are three kinds of operation, each with four - * forms, accepting functions with Keys, Values, Entries, and (Key, - * Value) arguments and/or return values. (The first three forms are - * also available via the {@link #keySet()}, {@link #values()} and - * {@link #entrySet()} views). Because the elements of a - * ConcurrentHashMapV8 are not ordered in any particular way, and may be - * processed in different orders in different parallel executions, the - * correctness of supplied functions should not depend on any - * ordering, or on any other objects or values that may transiently - * change while computation is in progress; and except for forEach - * actions, should ideally be side-effect-free. - * - *

- * - *

The concurrency properties of bulk operations follow - * from those of ConcurrentHashMapV8: Any non-null result returned - * from {@code get(key)} and related access methods bears a - * happens-before relation with the associated insertion or - * update. The result of any bulk operation reflects the - * composition of these per-element relations (but is not - * necessarily atomic with respect to the map as a whole unless it - * is somehow known to be quiescent). Conversely, because keys - * and values in the map are never null, null serves as a reliable - * atomic indicator of the current lack of any result. To - * maintain this property, null serves as an implicit basis for - * all non-scalar reduction operations. For the double, long, and - * int versions, the basis should be one that, when combined with - * any other value, returns that other value (more formally, it - * should be the identity element for the reduction). Most common - * reductions have these properties; for example, computing a sum - * with basis 0 or a minimum with basis MAX_VALUE. - * - *

Search and transformation functions provided as arguments - * should similarly return null to indicate the lack of any result - * (in which case it is not used). In the case of mapped - * reductions, this also enables transformations to serve as - * filters, returning null (or, in the case of primitive - * specializations, the identity basis) if the element should not - * be combined. You can create compound transformations and - * filterings by composing them yourself under this "null means - * there is nothing there now" rule before using them in search or - * reduce operations. - * - *

Methods accepting and/or returning Entry arguments maintain - * key-value associations. They may be useful for example when - * finding the key for the greatest value. Note that "plain" Entry - * arguments can be supplied using {@code new - * AbstractMap.SimpleEntry(k,v)}. - * - *

Bulk operations may complete abruptly, throwing an - * exception encountered in the application of a supplied - * function. Bear in mind when handling such exceptions that other - * concurrently executing functions could also have thrown - * exceptions, or would have done so if the first exception had - * not occurred. - * - *

Parallel speedups for bulk operations compared to sequential - * processing are common but not guaranteed. Operations involving - * brief functions on small maps may execute more slowly than - * sequential loops if the underlying work to parallelize the - * computation is more expensive than the computation itself. - * Similarly, parallelization may not lead to much actual parallelism - * if all processors are busy performing unrelated tasks. - * - *

All arguments to all task methods must be non-null. - * - *

jsr166e note: During transition, this class - * uses nested functional interfaces with different names but the - * same forms as those expected for JDK8. - * - *

This class is a member of the - * - * Java Collections Framework. - * - * @since 1.5 - * @author Doug Lea - * @param the type of keys maintained by this map - * @param the type of mapped values - */ -public class ConcurrentHashMapV8 - implements ConcurrentMap, Serializable, ConcurrentHashMap { - private static final long serialVersionUID = 7249069246763182397L; - - /** - * A partitionable iterator. A Spliterator can be traversed - * directly, but can also be partitioned (before traversal) by - * creating another Spliterator that covers a non-overlapping - * portion of the elements, and so may be amenable to parallel - * execution. - * - *

This interface exports a subset of expected JDK8 - * functionality. - * - *

Sample usage: Here is one (of the several) ways to compute - * the sum of the values held in a map using the ForkJoin - * framework. As illustrated here, Spliterators are well suited to - * designs in which a task repeatedly splits off half its work - * into forked subtasks until small enough to process directly, - * and then joins these subtasks. Variants of this style can also - * be used in completion-based designs. - * - *

-     * {@code ConcurrentHashMapV8 m = ...
-     * // split as if have 8 * parallelism, for load balance
-     * int n = m.size();
-     * int p = aForkJoinPool.getParallelism() * 8;
-     * int split = (n < p)? n : p;
-     * long sum = aForkJoinPool.invoke(new SumValues(m.valueSpliterator(), split, null));
-     * // ...
-     * static class SumValues extends RecursiveTask {
-     *   final Spliterator s;
-     *   final int split;             // split while > 1
-     *   final SumValues nextJoin;    // records forked subtasks to join
-     *   SumValues(Spliterator s, int depth, SumValues nextJoin) {
-     *     this.s = s; this.depth = depth; this.nextJoin = nextJoin;
-     *   }
-     *   public Long compute() {
-     *     long sum = 0;
-     *     SumValues subtasks = null; // fork subtasks
-     *     for (int s = split >>> 1; s > 0; s >>>= 1)
-     *       (subtasks = new SumValues(s.split(), s, subtasks)).fork();
-     *     while (s.hasNext())        // directly process remaining elements
-     *       sum += s.next();
-     *     for (SumValues t = subtasks; t != null; t = t.nextJoin)
-     *       sum += t.join();         // collect subtask results
-     *     return sum;
-     *   }
-     * }
-     * }
- */ - public static interface Spliterator extends Iterator { - /** - * Returns a Spliterator covering approximately half of the - * elements, guaranteed not to overlap with those subsequently - * returned by this Spliterator. After invoking this method, - * the current Spliterator will not produce any of - * the elements of the returned Spliterator, but the two - * Spliterators together will produce all of the elements that - * would have been produced by this Spliterator had this - * method not been called. The exact number of elements - * produced by the returned Spliterator is not guaranteed, and - * may be zero (i.e., with {@code hasNext()} reporting {@code - * false}) if this Spliterator cannot be further split. - * - * @return a Spliterator covering approximately half of the - * elements - * @throws IllegalStateException if this Spliterator has - * already commenced traversing elements - */ - Spliterator split(); - } - - - /* - * Overview: - * - * The primary design goal of this hash table is to maintain - * concurrent readability (typically method get(), but also - * iterators and related methods) while minimizing update - * contention. Secondary goals are to keep space consumption about - * the same or better than java.util.HashMap, and to support high - * initial insertion rates on an empty table by many threads. - * - * Each key-value mapping is held in a Node. Because Node fields - * can contain special values, they are defined using plain Object - * types. Similarly in turn, all internal methods that use them - * work off Object types. And similarly, so do the internal - * methods of auxiliary iterator and view classes. All public - * generic typed methods relay in/out of these internal methods, - * supplying null-checks and casts as needed. This also allows - * many of the public methods to be factored into a smaller number - * of internal methods (although sadly not so for the five - * variants of put-related operations). The validation-based - * approach explained below leads to a lot of code sprawl because - * retry-control precludes factoring into smaller methods. - * - * The table is lazily initialized to a power-of-two size upon the - * first insertion. Each bin in the table normally contains a - * list of Nodes (most often, the list has only zero or one Node). - * Table accesses require volatile/atomic reads, writes, and - * CASes. Because there is no other way to arrange this without - * adding further indirections, we use intrinsics - * (sun.misc.Unsafe) operations. The lists of nodes within bins - * are always accurately traversable under volatile reads, so long - * as lookups check hash code and non-nullness of value before - * checking key equality. - * - * We use the top two bits of Node hash fields for control - * purposes -- they are available anyway because of addressing - * constraints. As explained further below, these top bits are - * used as follows: - * 00 - Normal - * 01 - Locked - * 11 - Locked and may have a thread waiting for lock - * 10 - Node is a forwarding node - * - * The lower 30 bits of each Node's hash field contain a - * transformation of the key's hash code, except for forwarding - * nodes, for which the lower bits are zero (and so always have - * hash field == MOVED). - * - * Insertion (via put or its variants) of the first node in an - * empty bin is performed by just CASing it to the bin. This is - * by far the most common case for put operations under most - * key/hash distributions. Other update operations (insert, - * delete, and replace) require locks. We do not want to waste - * the space required to associate a distinct lock object with - * each bin, so instead use the first node of a bin list itself as - * a lock. Blocking support for these locks relies on the builtin - * "synchronized" monitors. However, we also need a tryLock - * construction, so we overlay these by using bits of the Node - * hash field for lock control (see above), and so normally use - * builtin monitors only for blocking and signalling using - * wait/notifyAll constructions. See Node.tryAwaitLock. - * - * Using the first node of a list as a lock does not by itself - * suffice though: When a node is locked, any update must first - * validate that it is still the first node after locking it, and - * retry if not. Because new nodes are always appended to lists, - * once a node is first in a bin, it remains first until deleted - * or the bin becomes invalidated (upon resizing). However, - * operations that only conditionally update may inspect nodes - * until the point of update. This is a converse of sorts to the - * lazy locking technique described by Herlihy & Shavit. - * - * The main disadvantage of per-bin locks is that other update - * operations on other nodes in a bin list protected by the same - * lock can stall, for example when user equals() or mapping - * functions take a long time. However, statistically, under - * random hash codes, this is not a common problem. Ideally, the - * frequency of nodes in bins follows a Poisson distribution - * (http://en.wikipedia.org/wiki/Poisson_distribution) with a - * parameter of about 0.5 on average, given the resizing threshold - * of 0.75, although with a large variance because of resizing - * granularity. Ignoring variance, the expected occurrences of - * list size k are (exp(-0.5) * pow(0.5, k) / factorial(k)). The - * first values are: - * - * 0: 0.60653066 - * 1: 0.30326533 - * 2: 0.07581633 - * 3: 0.01263606 - * 4: 0.00157952 - * 5: 0.00015795 - * 6: 0.00001316 - * 7: 0.00000094 - * 8: 0.00000006 - * more: less than 1 in ten million - * - * Lock contention probability for two threads accessing distinct - * elements is roughly 1 / (8 * #elements) under random hashes. - * - * Actual hash code distributions encountered in practice - * sometimes deviate significantly from uniform randomness. This - * includes the case when N > (1<<30), so some keys MUST collide. - * Similarly for dumb or hostile usages in which multiple keys are - * designed to have identical hash codes. Also, although we guard - * against the worst effects of this (see method spread), sets of - * hashes may differ only in bits that do not impact their bin - * index for a given power-of-two mask. So we use a secondary - * strategy that applies when the number of nodes in a bin exceeds - * a threshold, and at least one of the keys implements - * Comparable. These TreeBins use a balanced tree to hold nodes - * (a specialized form of red-black trees), bounding search time - * to O(log N). Each search step in a TreeBin is around twice as - * slow as in a regular list, but given that N cannot exceed - * (1<<64) (before running out of addresses) this bounds search - * steps, lock hold times, etc, to reasonable constants (roughly - * 100 nodes inspected per operation worst case) so long as keys - * are Comparable (which is very common -- String, Long, etc). - * TreeBin nodes (TreeNodes) also maintain the same "next" - * traversal pointers as regular nodes, so can be traversed in - * iterators in the same way. - * - * The table is resized when occupancy exceeds a percentage - * threshold (nominally, 0.75, but see below). Only a single - * thread performs the resize (using field "sizeCtl", to arrange - * exclusion), but the table otherwise remains usable for reads - * and updates. Resizing proceeds by transferring bins, one by - * one, from the table to the next table. Because we are using - * power-of-two expansion, the elements from each bin must either - * stay at same index, or move with a power of two offset. We - * eliminate unnecessary node creation by catching cases where old - * nodes can be reused because their next fields won't change. On - * average, only about one-sixth of them need cloning when a table - * doubles. The nodes they replace will be garbage collectable as - * soon as they are no longer referenced by any reader thread that - * may be in the midst of concurrently traversing table. Upon - * transfer, the old table bin contains only a special forwarding - * node (with hash field "MOVED") that contains the next table as - * its key. On encountering a forwarding node, access and update - * operations restart, using the new table. - * - * Each bin transfer requires its bin lock. However, unlike other - * cases, a transfer can skip a bin if it fails to acquire its - * lock, and revisit it later (unless it is a TreeBin). Method - * rebuild maintains a buffer of TRANSFER_BUFFER_SIZE bins that - * have been skipped because of failure to acquire a lock, and - * blocks only if none are available (i.e., only very rarely). - * The transfer operation must also ensure that all accessible - * bins in both the old and new table are usable by any traversal. - * When there are no lock acquisition failures, this is arranged - * simply by proceeding from the last bin (table.length - 1) up - * towards the first. Upon seeing a forwarding node, traversals - * (see class Iter) arrange to move to the new table - * without revisiting nodes. However, when any node is skipped - * during a transfer, all earlier table bins may have become - * visible, so are initialized with a reverse-forwarding node back - * to the old table until the new ones are established. (This - * sometimes requires transiently locking a forwarding node, which - * is possible under the above encoding.) These more expensive - * mechanics trigger only when necessary. - * - * The traversal scheme also applies to partial traversals of - * ranges of bins (via an alternate Traverser constructor) - * to support partitioned aggregate operations. Also, read-only - * operations give up if ever forwarded to a null table, which - * provides support for shutdown-style clearing, which is also not - * currently implemented. - * - * Lazy table initialization minimizes footprint until first use, - * and also avoids resizings when the first operation is from a - * putAll, constructor with map argument, or deserialization. - * These cases attempt to override the initial capacity settings, - * but harmlessly fail to take effect in cases of races. - * - * The element count is maintained using a LongAdder, which avoids - * contention on updates but can encounter cache thrashing if read - * too frequently during concurrent access. To avoid reading so - * often, resizing is attempted either when a bin lock is - * contended, or upon adding to a bin already holding two or more - * nodes (checked before adding in the xIfAbsent methods, after - * adding in others). Under uniform hash distributions, the - * probability of this occurring at threshold is around 13%, - * meaning that only about 1 in 8 puts check threshold (and after - * resizing, many fewer do so). But this approximation has high - * variance for small table sizes, so we check on any collision - * for sizes <= 64. The bulk putAll operation further reduces - * contention by only committing count updates upon these size - * checks. - * - * Maintaining API and serialization compatibility with previous - * versions of this class introduces several oddities. Mainly: We - * leave untouched but unused constructor arguments refering to - * concurrencyLevel. We accept a loadFactor constructor argument, - * but apply it only to initial table capacity (which is the only - * time that we can guarantee to honor it.) We also declare an - * unused "Segment" class that is instantiated in minimal form - * only when serializing. - */ - - /* ---------------- Constants -------------- */ - - /** - * The largest possible table capacity. This value must be - * exactly 1<<30 to stay within Java array allocation and indexing - * bounds for power of two table sizes, and is further required - * because the top two bits of 32bit hash fields are used for - * control purposes. - */ - private static final int MAXIMUM_CAPACITY = 1 << 30; - - /** - * The default initial table capacity. Must be a power of 2 - * (i.e., at least 1) and at most MAXIMUM_CAPACITY. - */ - private static final int DEFAULT_CAPACITY = 16; - - /** - * The largest possible (non-power of two) array size. - * Needed by toArray and related methods. - */ - static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; - - /** - * The default concurrency level for this table. Unused but - * defined for compatibility with previous versions of this class. - */ - private static final int DEFAULT_CONCURRENCY_LEVEL = 16; - - /** - * The load factor for this table. Overrides of this value in - * constructors affect only the initial table capacity. The - * actual floating point value isn't normally used -- it is - * simpler to use expressions such as {@code n - (n >>> 2)} for - * the associated resizing threshold. - */ - private static final float LOAD_FACTOR = 0.75f; - - /** - * The buffer size for skipped bins during transfers. The - * value is arbitrary but should be large enough to avoid - * most locking stalls during resizes. - */ - private static final int TRANSFER_BUFFER_SIZE = 32; - - /** - * The bin count threshold for using a tree rather than list for a - * bin. The value reflects the approximate break-even point for - * using tree-based operations. - * Note that Doug's version defaults to 8, but when dealing with - * Ruby objects it is actually beneficial to avoid TreeNodes - * as long as possible as it usually means going into Ruby land. - */ - private static final int TREE_THRESHOLD = 16; - - /* - * Encodings for special uses of Node hash fields. See above for - * explanation. - */ - static final int MOVED = 0x80000000; // hash field for forwarding nodes - static final int LOCKED = 0x40000000; // set/tested only as a bit - static final int WAITING = 0xc0000000; // both bits set/tested together - static final int HASH_BITS = 0x3fffffff; // usable bits of normal node hash - - /* ---------------- Fields -------------- */ - - /** - * The array of bins. Lazily initialized upon first insertion. - * Size is always a power of two. Accessed directly by iterators. - */ - transient volatile AtomicReferenceArray table; - - /** - * The counter maintaining number of elements. - */ - private transient LongAdder counter; - - /** - * Table initialization and resizing control. When negative, the - * table is being initialized or resized. Otherwise, when table is - * null, holds the initial table size to use upon creation, or 0 - * for default. After initialization, holds the next element count - * value upon which to resize the table. - */ - private transient volatile int sizeCtl; - - // views - private transient KeySetView keySet; - private transient ValuesView values; - private transient EntrySetView entrySet; - - /** For serialization compatibility. Null unless serialized; see below */ - private Segment[] segments; - - static AtomicIntegerFieldUpdater SIZE_CTRL_UPDATER = AtomicIntegerFieldUpdater.newUpdater(ConcurrentHashMapV8.class, "sizeCtl"); - - /* ---------------- Table element access -------------- */ - - /* - * Volatile access methods are used for table elements as well as - * elements of in-progress next table while resizing. Uses are - * null checked by callers, and implicitly bounds-checked, relying - * on the invariants that tab arrays have non-zero size, and all - * indices are masked with (tab.length - 1) which is never - * negative and always less than length. Note that, to be correct - * wrt arbitrary concurrency errors by users, bounds checks must - * operate on local variables, which accounts for some odd-looking - * inline assignments below. - */ - - static final Node tabAt(AtomicReferenceArray tab, int i) { // used by Iter - return tab.get(i); - } - - private static final boolean casTabAt(AtomicReferenceArray tab, int i, Node c, Node v) { - return tab.compareAndSet(i, c, v); - } - - private static final void setTabAt(AtomicReferenceArray tab, int i, Node v) { - tab.set(i, v); - } - - /* ---------------- Nodes -------------- */ - - /** - * Key-value entry. Note that this is never exported out as a - * user-visible Map.Entry (see MapEntry below). Nodes with a hash - * field of MOVED are special, and do not contain user keys or - * values. Otherwise, keys are never null, and null val fields - * indicate that a node is in the process of being deleted or - * created. For purposes of read-only access, a key may be read - * before a val, but can only be used after checking val to be - * non-null. - */ - static class Node { - volatile int hash; - final Object key; - volatile Object val; - volatile Node next; - - static AtomicIntegerFieldUpdater HASH_UPDATER = AtomicIntegerFieldUpdater.newUpdater(Node.class, "hash"); - - Node(int hash, Object key, Object val, Node next) { - this.hash = hash; - this.key = key; - this.val = val; - this.next = next; - } - - /** CompareAndSet the hash field */ - final boolean casHash(int cmp, int val) { - return HASH_UPDATER.compareAndSet(this, cmp, val); - } - - /** The number of spins before blocking for a lock */ - static final int MAX_SPINS = - Runtime.getRuntime().availableProcessors() > 1 ? 64 : 1; - - /** - * Spins a while if LOCKED bit set and this node is the first - * of its bin, and then sets WAITING bits on hash field and - * blocks (once) if they are still set. It is OK for this - * method to return even if lock is not available upon exit, - * which enables these simple single-wait mechanics. - * - * The corresponding signalling operation is performed within - * callers: Upon detecting that WAITING has been set when - * unlocking lock (via a failed CAS from non-waiting LOCKED - * state), unlockers acquire the sync lock and perform a - * notifyAll. - * - * The initial sanity check on tab and bounds is not currently - * necessary in the only usages of this method, but enables - * use in other future contexts. - */ - final void tryAwaitLock(AtomicReferenceArray tab, int i) { - if (tab != null && i >= 0 && i < tab.length()) { // sanity check - int r = ThreadLocalRandom.current().nextInt(); // randomize spins - int spins = MAX_SPINS, h; - while (tabAt(tab, i) == this && ((h = hash) & LOCKED) != 0) { - if (spins >= 0) { - r ^= r << 1; r ^= r >>> 3; r ^= r << 10; // xorshift - if (r >= 0 && --spins == 0) - Thread.yield(); // yield before block - } - else if (casHash(h, h | WAITING)) { - synchronized (this) { - if (tabAt(tab, i) == this && - (hash & WAITING) == WAITING) { - try { - wait(); - } catch (InterruptedException ie) { - Thread.currentThread().interrupt(); - } - } - else - notifyAll(); // possibly won race vs signaller - } - break; - } - } - } - } - } - - /* ---------------- TreeBins -------------- */ - - /** - * Nodes for use in TreeBins - */ - static final class TreeNode extends Node { - TreeNode parent; // red-black tree links - TreeNode left; - TreeNode right; - TreeNode prev; // needed to unlink next upon deletion - boolean red; - - TreeNode(int hash, Object key, Object val, Node next, TreeNode parent) { - super(hash, key, val, next); - this.parent = parent; - } - } - - /** - * A specialized form of red-black tree for use in bins - * whose size exceeds a threshold. - * - * TreeBins use a special form of comparison for search and - * related operations (which is the main reason we cannot use - * existing collections such as TreeMaps). TreeBins contain - * Comparable elements, but may contain others, as well as - * elements that are Comparable but not necessarily Comparable - * for the same T, so we cannot invoke compareTo among them. To - * handle this, the tree is ordered primarily by hash value, then - * by getClass().getName() order, and then by Comparator order - * among elements of the same class. On lookup at a node, if - * elements are not comparable or compare as 0, both left and - * right children may need to be searched in the case of tied hash - * values. (This corresponds to the full list search that would be - * necessary if all elements were non-Comparable and had tied - * hashes.) The red-black balancing code is updated from - * pre-jdk-collections - * (http://gee.cs.oswego.edu/dl/classes/collections/RBCell.java) - * based in turn on Cormen, Leiserson, and Rivest "Introduction to - * Algorithms" (CLR). - * - * TreeBins also maintain a separate locking discipline than - * regular bins. Because they are forwarded via special MOVED - * nodes at bin heads (which can never change once established), - * we cannot use those nodes as locks. Instead, TreeBin - * extends AbstractQueuedSynchronizer to support a simple form of - * read-write lock. For update operations and table validation, - * the exclusive form of lock behaves in the same way as bin-head - * locks. However, lookups use shared read-lock mechanics to allow - * multiple readers in the absence of writers. Additionally, - * these lookups do not ever block: While the lock is not - * available, they proceed along the slow traversal path (via - * next-pointers) until the lock becomes available or the list is - * exhausted, whichever comes first. (These cases are not fast, - * but maximize aggregate expected throughput.) The AQS mechanics - * for doing this are straightforward. The lock state is held as - * AQS getState(). Read counts are negative; the write count (1) - * is positive. There are no signalling preferences among readers - * and writers. Since we don't need to export full Lock API, we - * just override the minimal AQS methods and use them directly. - */ - static final class TreeBin extends AbstractQueuedSynchronizer { - private static final long serialVersionUID = 2249069246763182397L; - transient TreeNode root; // root of tree - transient TreeNode first; // head of next-pointer list - - /* AQS overrides */ - public final boolean isHeldExclusively() { return getState() > 0; } - public final boolean tryAcquire(int ignore) { - if (compareAndSetState(0, 1)) { - setExclusiveOwnerThread(Thread.currentThread()); - return true; - } - return false; - } - public final boolean tryRelease(int ignore) { - setExclusiveOwnerThread(null); - setState(0); - return true; - } - public final int tryAcquireShared(int ignore) { - for (int c;;) { - if ((c = getState()) > 0) - return -1; - if (compareAndSetState(c, c -1)) - return 1; - } - } - public final boolean tryReleaseShared(int ignore) { - int c; - do {} while (!compareAndSetState(c = getState(), c + 1)); - return c == -1; - } - - /** From CLR */ - private void rotateLeft(TreeNode p) { - if (p != null) { - TreeNode r = p.right, pp, rl; - if ((rl = p.right = r.left) != null) - rl.parent = p; - if ((pp = r.parent = p.parent) == null) - root = r; - else if (pp.left == p) - pp.left = r; - else - pp.right = r; - r.left = p; - p.parent = r; - } - } - - /** From CLR */ - private void rotateRight(TreeNode p) { - if (p != null) { - TreeNode l = p.left, pp, lr; - if ((lr = p.left = l.right) != null) - lr.parent = p; - if ((pp = l.parent = p.parent) == null) - root = l; - else if (pp.right == p) - pp.right = l; - else - pp.left = l; - l.right = p; - p.parent = l; - } - } - - @SuppressWarnings("unchecked") final TreeNode getTreeNode - (int h, Object k, TreeNode p) { - return getTreeNode(h, (RubyObject)k, p); - } - - /** - * Returns the TreeNode (or null if not found) for the given key - * starting at given root. - */ - @SuppressWarnings("unchecked") final TreeNode getTreeNode - (int h, RubyObject k, TreeNode p) { - RubyClass c = k.getMetaClass(); boolean kNotComparable = !k.respondsTo("<=>"); - while (p != null) { - int dir, ph; RubyObject pk; RubyClass pc; - if ((ph = p.hash) == h) { - if ((pk = (RubyObject)p.key) == k || k.equals(pk)) - return p; - if (c != (pc = (RubyClass)pk.getMetaClass()) || - kNotComparable || - (dir = rubyCompare(k, pk)) == 0) { - dir = (c == pc) ? 0 : c.getName().compareTo(pc.getName()); - if (dir == 0) { // if still stuck, need to check both sides - TreeNode r = null, pl, pr; - // try to recurse on the right - if ((pr = p.right) != null && h >= pr.hash && (r = getTreeNode(h, k, pr)) != null) - return r; - // try to continue iterating on the left side - else if ((pl = p.left) != null && h <= pl.hash) - dir = -1; - else // no matching node found - return null; - } - } - } - else - dir = (h < ph) ? -1 : 1; - p = (dir > 0) ? p.right : p.left; - } - return null; - } - - int rubyCompare(RubyObject l, RubyObject r) { - ThreadContext context = l.getMetaClass().getRuntime().getCurrentContext(); - IRubyObject result; - try { - result = l.callMethod(context, "<=>", r); - } catch (RaiseException e) { - // handle objects "lying" about responding to <=>, ie: an Array containing non-comparable keys - if (context.runtime.getNoMethodError().isInstance(e.getException())) { - return 0; - } - throw e; - } - - return result.isNil() ? 0 : RubyNumeric.num2int(result.convertToInteger()); - } - - /** - * Wrapper for getTreeNode used by CHM.get. Tries to obtain - * read-lock to call getTreeNode, but during failure to get - * lock, searches along next links. - */ - final Object getValue(int h, Object k) { - Node r = null; - int c = getState(); // Must read lock state first - for (Node e = first; e != null; e = e.next) { - if (c <= 0 && compareAndSetState(c, c - 1)) { - try { - r = getTreeNode(h, k, root); - } finally { - releaseShared(0); - } - break; - } - else if ((e.hash & HASH_BITS) == h && k.equals(e.key)) { - r = e; - break; - } - else - c = getState(); - } - return r == null ? null : r.val; - } - - @SuppressWarnings("unchecked") final TreeNode putTreeNode - (int h, Object k, Object v) { - return putTreeNode(h, (RubyObject)k, v); - } - - /** - * Finds or adds a node. - * @return null if added - */ - @SuppressWarnings("unchecked") final TreeNode putTreeNode - (int h, RubyObject k, Object v) { - RubyClass c = k.getMetaClass(); - boolean kNotComparable = !k.respondsTo("<=>"); - TreeNode pp = root, p = null; - int dir = 0; - while (pp != null) { // find existing node or leaf to insert at - int ph; RubyObject pk; RubyClass pc; - p = pp; - if ((ph = p.hash) == h) { - if ((pk = (RubyObject)p.key) == k || k.equals(pk)) - return p; - if (c != (pc = pk.getMetaClass()) || - kNotComparable || - (dir = rubyCompare(k, pk)) == 0) { - dir = (c == pc) ? 0 : c.getName().compareTo(pc.getName()); - if (dir == 0) { // if still stuck, need to check both sides - TreeNode r = null, pr; - // try to recurse on the right - if ((pr = p.right) != null && h >= pr.hash && (r = getTreeNode(h, k, pr)) != null) - return r; - else // continue descending down the left subtree - dir = -1; - } - } - } - else - dir = (h < ph) ? -1 : 1; - pp = (dir > 0) ? p.right : p.left; - } - - TreeNode f = first; - TreeNode x = first = new TreeNode(h, (Object)k, v, f, p); - if (p == null) - root = x; - else { // attach and rebalance; adapted from CLR - TreeNode xp, xpp; - if (f != null) - f.prev = x; - if (dir <= 0) - p.left = x; - else - p.right = x; - x.red = true; - while (x != null && (xp = x.parent) != null && xp.red && - (xpp = xp.parent) != null) { - TreeNode xppl = xpp.left; - if (xp == xppl) { - TreeNode y = xpp.right; - if (y != null && y.red) { - y.red = false; - xp.red = false; - xpp.red = true; - x = xpp; - } - else { - if (x == xp.right) { - rotateLeft(x = xp); - xpp = (xp = x.parent) == null ? null : xp.parent; - } - if (xp != null) { - xp.red = false; - if (xpp != null) { - xpp.red = true; - rotateRight(xpp); - } - } - } - } - else { - TreeNode y = xppl; - if (y != null && y.red) { - y.red = false; - xp.red = false; - xpp.red = true; - x = xpp; - } - else { - if (x == xp.left) { - rotateRight(x = xp); - xpp = (xp = x.parent) == null ? null : xp.parent; - } - if (xp != null) { - xp.red = false; - if (xpp != null) { - xpp.red = true; - rotateLeft(xpp); - } - } - } - } - } - TreeNode r = root; - if (r != null && r.red) - r.red = false; - } - return null; - } - - /** - * Removes the given node, that must be present before this - * call. This is messier than typical red-black deletion code - * because we cannot swap the contents of an interior node - * with a leaf successor that is pinned by "next" pointers - * that are accessible independently of lock. So instead we - * swap the tree linkages. - */ - final void deleteTreeNode(TreeNode p) { - TreeNode next = (TreeNode)p.next; // unlink traversal pointers - TreeNode pred = p.prev; - if (pred == null) - first = next; - else - pred.next = next; - if (next != null) - next.prev = pred; - TreeNode replacement; - TreeNode pl = p.left; - TreeNode pr = p.right; - if (pl != null && pr != null) { - TreeNode s = pr, sl; - while ((sl = s.left) != null) // find successor - s = sl; - boolean c = s.red; s.red = p.red; p.red = c; // swap colors - TreeNode sr = s.right; - TreeNode pp = p.parent; - if (s == pr) { // p was s's direct parent - p.parent = s; - s.right = p; - } - else { - TreeNode sp = s.parent; - if ((p.parent = sp) != null) { - if (s == sp.left) - sp.left = p; - else - sp.right = p; - } - if ((s.right = pr) != null) - pr.parent = s; - } - p.left = null; - if ((p.right = sr) != null) - sr.parent = p; - if ((s.left = pl) != null) - pl.parent = s; - if ((s.parent = pp) == null) - root = s; - else if (p == pp.left) - pp.left = s; - else - pp.right = s; - replacement = sr; - } - else - replacement = (pl != null) ? pl : pr; - TreeNode pp = p.parent; - if (replacement == null) { - if (pp == null) { - root = null; - return; - } - replacement = p; - } - else { - replacement.parent = pp; - if (pp == null) - root = replacement; - else if (p == pp.left) - pp.left = replacement; - else - pp.right = replacement; - p.left = p.right = p.parent = null; - } - if (!p.red) { // rebalance, from CLR - TreeNode x = replacement; - while (x != null) { - TreeNode xp, xpl; - if (x.red || (xp = x.parent) == null) { - x.red = false; - break; - } - if (x == (xpl = xp.left)) { - TreeNode sib = xp.right; - if (sib != null && sib.red) { - sib.red = false; - xp.red = true; - rotateLeft(xp); - sib = (xp = x.parent) == null ? null : xp.right; - } - if (sib == null) - x = xp; - else { - TreeNode sl = sib.left, sr = sib.right; - if ((sr == null || !sr.red) && - (sl == null || !sl.red)) { - sib.red = true; - x = xp; - } - else { - if (sr == null || !sr.red) { - if (sl != null) - sl.red = false; - sib.red = true; - rotateRight(sib); - sib = (xp = x.parent) == null ? null : xp.right; - } - if (sib != null) { - sib.red = (xp == null) ? false : xp.red; - if ((sr = sib.right) != null) - sr.red = false; - } - if (xp != null) { - xp.red = false; - rotateLeft(xp); - } - x = root; - } - } - } - else { // symmetric - TreeNode sib = xpl; - if (sib != null && sib.red) { - sib.red = false; - xp.red = true; - rotateRight(xp); - sib = (xp = x.parent) == null ? null : xp.left; - } - if (sib == null) - x = xp; - else { - TreeNode sl = sib.left, sr = sib.right; - if ((sl == null || !sl.red) && - (sr == null || !sr.red)) { - sib.red = true; - x = xp; - } - else { - if (sl == null || !sl.red) { - if (sr != null) - sr.red = false; - sib.red = true; - rotateLeft(sib); - sib = (xp = x.parent) == null ? null : xp.left; - } - if (sib != null) { - sib.red = (xp == null) ? false : xp.red; - if ((sl = sib.left) != null) - sl.red = false; - } - if (xp != null) { - xp.red = false; - rotateRight(xp); - } - x = root; - } - } - } - } - } - if (p == replacement && (pp = p.parent) != null) { - if (p == pp.left) // detach pointers - pp.left = null; - else if (p == pp.right) - pp.right = null; - p.parent = null; - } - } - } - - /* ---------------- Collision reduction methods -------------- */ - - /** - * Spreads higher bits to lower, and also forces top 2 bits to 0. - * Because the table uses power-of-two masking, sets of hashes - * that vary only in bits above the current mask will always - * collide. (Among known examples are sets of Float keys holding - * consecutive whole numbers in small tables.) To counter this, - * we apply a transform that spreads the impact of higher bits - * downward. There is a tradeoff between speed, utility, and - * quality of bit-spreading. Because many common sets of hashes - * are already reasonably distributed across bits (so don't benefit - * from spreading), and because we use trees to handle large sets - * of collisions in bins, we don't need excessively high quality. - */ - private static final int spread(int h) { - h ^= (h >>> 18) ^ (h >>> 12); - return (h ^ (h >>> 10)) & HASH_BITS; - } - - /** - * Replaces a list bin with a tree bin. Call only when locked. - * Fails to replace if the given key is non-comparable or table - * is, or needs, resizing. - */ - private final void replaceWithTreeBin(AtomicReferenceArray tab, int index, Object key) { - if ((key instanceof Comparable) && - (tab.length() >= MAXIMUM_CAPACITY || counter.sum() < (long)sizeCtl)) { - TreeBin t = new TreeBin(); - for (Node e = tabAt(tab, index); e != null; e = e.next) - t.putTreeNode(e.hash & HASH_BITS, e.key, e.val); - setTabAt(tab, index, new Node(MOVED, t, null, null)); - } - } - - /* ---------------- Internal access and update methods -------------- */ - - /** Implementation for get and containsKey */ - private final Object internalGet(Object k) { - int h = spread(k.hashCode()); - retry: for (AtomicReferenceArray tab = table; tab != null;) { - Node e, p; Object ek, ev; int eh; // locals to read fields once - for (e = tabAt(tab, (tab.length() - 1) & h); e != null; e = e.next) { - if ((eh = e.hash) == MOVED) { - if ((ek = e.key) instanceof TreeBin) // search TreeBin - return ((TreeBin)ek).getValue(h, k); - else { // restart with new table - tab = (AtomicReferenceArray)ek; - continue retry; - } - } - else if ((eh & HASH_BITS) == h && (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) - return ev; - } - break; - } - return null; - } - - /** - * Implementation for the four public remove/replace methods: - * Replaces node value with v, conditional upon match of cv if - * non-null. If resulting value is null, delete. - */ - private final Object internalReplace(Object k, Object v, Object cv) { - int h = spread(k.hashCode()); - Object oldVal = null; - for (AtomicReferenceArray tab = table;;) { - Node f; int i, fh; Object fk; - if (tab == null || - (f = tabAt(tab, i = (tab.length() - 1) & h)) == null) - break; - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean validated = false; - boolean deleted = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - validated = true; - TreeNode p = t.getTreeNode(h, k, t.root); - if (p != null) { - Object pv = p.val; - if (cv == null || cv == pv || cv.equals(pv)) { - oldVal = pv; - if ((p.val = v) == null) { - deleted = true; - t.deleteTreeNode(p); - } - } - } - } - } finally { - t.release(0); - } - if (validated) { - if (deleted) - counter.add(-1L); - break; - } - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & HASH_BITS) != h && f.next == null) // precheck - break; // rules out possible existence - else if ((fh & LOCKED) != 0) { - checkForResize(); // try resizing if can't get lock - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - boolean validated = false; - boolean deleted = false; - try { - if (tabAt(tab, i) == f) { - validated = true; - for (Node e = f, pred = null;;) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - ((ev = e.val) != null) && - ((ek = e.key) == k || k.equals(ek))) { - if (cv == null || cv == ev || cv.equals(ev)) { - oldVal = ev; - if ((e.val = v) == null) { - deleted = true; - Node en = e.next; - if (pred != null) - pred.next = en; - else - setTabAt(tab, i, en); - } - } - break; - } - pred = e; - if ((e = e.next) == null) - break; - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (validated) { - if (deleted) - counter.add(-1L); - break; - } - } - } - return oldVal; - } - - /* - * Internal versions of the six insertion methods, each a - * little more complicated than the last. All have - * the same basic structure as the first (internalPut): - * 1. If table uninitialized, create - * 2. If bin empty, try to CAS new node - * 3. If bin stale, use new table - * 4. if bin converted to TreeBin, validate and relay to TreeBin methods - * 5. Lock and validate; if valid, scan and add or update - * - * The others interweave other checks and/or alternative actions: - * * Plain put checks for and performs resize after insertion. - * * putIfAbsent prescans for mapping without lock (and fails to add - * if present), which also makes pre-emptive resize checks worthwhile. - * * computeIfAbsent extends form used in putIfAbsent with additional - * mechanics to deal with, calls, potential exceptions and null - * returns from function call. - * * compute uses the same function-call mechanics, but without - * the prescans - * * merge acts as putIfAbsent in the absent case, but invokes the - * update function if present - * * putAll attempts to pre-allocate enough table space - * and more lazily performs count updates and checks. - * - * Someday when details settle down a bit more, it might be worth - * some factoring to reduce sprawl. - */ - - /** Implementation for put */ - private final Object internalPut(Object k, Object v) { - int h = spread(k.hashCode()); - int count = 0; - for (AtomicReferenceArray tab = table;;) { - int i; Node f; int fh; Object fk; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length() - 1) & h)) == null) { - if (casTabAt(tab, i, null, new Node(h, k, v, null))) - break; // no lock when adding to empty bin - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - Object oldVal = null; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 2; - TreeNode p = t.putTreeNode(h, k, v); - if (p != null) { - oldVal = p.val; - p.val = v; - } - } - } finally { - t.release(0); - } - if (count != 0) { - if (oldVal != null) - return oldVal; - break; - } - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - Object oldVal = null; - try { // needed in case equals() throws - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - oldVal = ev; - e.val = v; - break; - } - Node last = e; - if ((e = e.next) == null) { - last.next = new Node(h, k, v, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { // unlock and signal if needed - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (oldVal != null) - return oldVal; - if (tab.length() <= 64) - count = 2; - break; - } - } - } - counter.add(1L); - if (count > 1) - checkForResize(); - return null; - } - - /** Implementation for putIfAbsent */ - private final Object internalPutIfAbsent(Object k, Object v) { - int h = spread(k.hashCode()); - int count = 0; - for (AtomicReferenceArray tab = table;;) { - int i; Node f; int fh; Object fk, fv; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length() - 1) & h)) == null) { - if (casTabAt(tab, i, null, new Node(h, k, v, null))) - break; - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - Object oldVal = null; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 2; - TreeNode p = t.putTreeNode(h, k, v); - if (p != null) - oldVal = p.val; - } - } finally { - t.release(0); - } - if (count != 0) { - if (oldVal != null) - return oldVal; - break; - } - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & HASH_BITS) == h && (fv = f.val) != null && - ((fk = f.key) == k || k.equals(fk))) - return fv; - else { - Node g = f.next; - if (g != null) { // at least 2 nodes -- search and maybe resize - for (Node e = g;;) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) - return ev; - if ((e = e.next) == null) { - checkForResize(); - break; - } - } - } - if (((fh = f.hash) & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (tabAt(tab, i) == f && f.casHash(fh, fh | LOCKED)) { - Object oldVal = null; - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - oldVal = ev; - break; - } - Node last = e; - if ((e = e.next) == null) { - last.next = new Node(h, k, v, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (oldVal != null) - return oldVal; - if (tab.length() <= 64) - count = 2; - break; - } - } - } - } - counter.add(1L); - if (count > 1) - checkForResize(); - return null; - } - - /** Implementation for computeIfAbsent */ - private final Object internalComputeIfAbsent(K k, - Fun mf) { - int h = spread(k.hashCode()); - Object val = null; - int count = 0; - for (AtomicReferenceArray tab = table;;) { - Node f; int i, fh; Object fk, fv; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length() - 1) & h)) == null) { - Node node = new Node(fh = h | LOCKED, k, null, null); - if (casTabAt(tab, i, null, node)) { - count = 1; - try { - if ((val = mf.apply(k)) != null) - node.val = val; - } finally { - if (val == null) - setTabAt(tab, i, null); - if (!node.casHash(fh, h)) { - node.hash = h; - synchronized (node) { node.notifyAll(); }; - } - } - } - if (count != 0) - break; - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean added = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 1; - TreeNode p = t.getTreeNode(h, k, t.root); - if (p != null) - val = p.val; - else if ((val = mf.apply(k)) != null) { - added = true; - count = 2; - t.putTreeNode(h, k, val); - } - } - } finally { - t.release(0); - } - if (count != 0) { - if (!added) - return val; - break; - } - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & HASH_BITS) == h && (fv = f.val) != null && - ((fk = f.key) == k || k.equals(fk))) - return fv; - else { - Node g = f.next; - if (g != null) { - for (Node e = g;;) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) - return ev; - if ((e = e.next) == null) { - checkForResize(); - break; - } - } - } - if (((fh = f.hash) & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (tabAt(tab, i) == f && f.casHash(fh, fh | LOCKED)) { - boolean added = false; - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - val = ev; - break; - } - Node last = e; - if ((e = e.next) == null) { - if ((val = mf.apply(k)) != null) { - added = true; - last.next = new Node(h, k, val, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - } - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (!added) - return val; - if (tab.length() <= 64) - count = 2; - break; - } - } - } - } - if (val != null) { - counter.add(1L); - if (count > 1) - checkForResize(); - } - return val; - } - - /** Implementation for compute */ - @SuppressWarnings("unchecked") private final Object internalCompute - (K k, boolean onlyIfPresent, BiFun mf) { - int h = spread(k.hashCode()); - Object val = null; - int delta = 0; - int count = 0; - for (AtomicReferenceArray tab = table;;) { - Node f; int i, fh; Object fk; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length() - 1) & h)) == null) { - if (onlyIfPresent) - break; - Node node = new Node(fh = h | LOCKED, k, null, null); - if (casTabAt(tab, i, null, node)) { - try { - count = 1; - if ((val = mf.apply(k, null)) != null) { - node.val = val; - delta = 1; - } - } finally { - if (delta == 0) - setTabAt(tab, i, null); - if (!node.casHash(fh, h)) { - node.hash = h; - synchronized (node) { node.notifyAll(); }; - } - } - } - if (count != 0) - break; - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 1; - TreeNode p = t.getTreeNode(h, k, t.root); - Object pv; - if (p == null) { - if (onlyIfPresent) - break; - pv = null; - } else - pv = p.val; - if ((val = mf.apply(k, (V)pv)) != null) { - if (p != null) - p.val = val; - else { - count = 2; - delta = 1; - t.putTreeNode(h, k, val); - } - } - else if (p != null) { - delta = -1; - t.deleteTreeNode(p); - } - } - } finally { - t.release(0); - } - if (count != 0) - break; - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f, pred = null;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - val = mf.apply(k, (V)ev); - if (val != null) - e.val = val; - else { - delta = -1; - Node en = e.next; - if (pred != null) - pred.next = en; - else - setTabAt(tab, i, en); - } - break; - } - pred = e; - if ((e = e.next) == null) { - if (!onlyIfPresent && (val = mf.apply(k, null)) != null) { - pred.next = new Node(h, k, val, null); - delta = 1; - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - } - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (tab.length() <= 64) - count = 2; - break; - } - } - } - if (delta != 0) { - counter.add((long)delta); - if (count > 1) - checkForResize(); - } - return val; - } - - /** Implementation for merge */ - @SuppressWarnings("unchecked") private final Object internalMerge - (K k, V v, BiFun mf) { - int h = spread(k.hashCode()); - Object val = null; - int delta = 0; - int count = 0; - for (AtomicReferenceArray tab = table;;) { - int i; Node f; int fh; Object fk, fv; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length() - 1) & h)) == null) { - if (casTabAt(tab, i, null, new Node(h, k, v, null))) { - delta = 1; - val = v; - break; - } - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - count = 1; - TreeNode p = t.getTreeNode(h, k, t.root); - val = (p == null) ? v : mf.apply((V)p.val, v); - if (val != null) { - if (p != null) - p.val = val; - else { - count = 2; - delta = 1; - t.putTreeNode(h, k, val); - } - } - else if (p != null) { - delta = -1; - t.deleteTreeNode(p); - } - } - } finally { - t.release(0); - } - if (count != 0) - break; - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & LOCKED) != 0) { - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f, pred = null;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - val = mf.apply((V)ev, v); - if (val != null) - e.val = val; - else { - delta = -1; - Node en = e.next; - if (pred != null) - pred.next = en; - else - setTabAt(tab, i, en); - } - break; - } - pred = e; - if ((e = e.next) == null) { - val = v; - pred.next = new Node(h, k, val, null); - delta = 1; - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (tab.length() <= 64) - count = 2; - break; - } - } - } - if (delta != 0) { - counter.add((long)delta); - if (count > 1) - checkForResize(); - } - return val; - } - - /** Implementation for putAll */ - private final void internalPutAll(Map m) { - tryPresize(m.size()); - long delta = 0L; // number of uncommitted additions - boolean npe = false; // to throw exception on exit for nulls - try { // to clean up counts on other exceptions - for (Map.Entry entry : m.entrySet()) { - Object k, v; - if (entry == null || (k = entry.getKey()) == null || - (v = entry.getValue()) == null) { - npe = true; - break; - } - int h = spread(k.hashCode()); - for (AtomicReferenceArray tab = table;;) { - int i; Node f; int fh; Object fk; - if (tab == null) - tab = initTable(); - else if ((f = tabAt(tab, i = (tab.length() - 1) & h)) == null){ - if (casTabAt(tab, i, null, new Node(h, k, v, null))) { - ++delta; - break; - } - } - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean validated = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - validated = true; - TreeNode p = t.getTreeNode(h, k, t.root); - if (p != null) - p.val = v; - else { - t.putTreeNode(h, k, v); - ++delta; - } - } - } finally { - t.release(0); - } - if (validated) - break; - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & LOCKED) != 0) { - counter.add(delta); - delta = 0L; - checkForResize(); - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - int count = 0; - try { - if (tabAt(tab, i) == f) { - count = 1; - for (Node e = f;; ++count) { - Object ek, ev; - if ((e.hash & HASH_BITS) == h && - (ev = e.val) != null && - ((ek = e.key) == k || k.equals(ek))) { - e.val = v; - break; - } - Node last = e; - if ((e = e.next) == null) { - ++delta; - last.next = new Node(h, k, v, null); - if (count >= TREE_THRESHOLD) - replaceWithTreeBin(tab, i, k); - break; - } - } - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (count != 0) { - if (count > 1) { - counter.add(delta); - delta = 0L; - checkForResize(); - } - break; - } - } - } - } - } finally { - if (delta != 0) - counter.add(delta); - } - if (npe) - throw new NullPointerException(); - } - - /* ---------------- Table Initialization and Resizing -------------- */ - - /** - * Returns a power of two table size for the given desired capacity. - * See Hackers Delight, sec 3.2 - */ - private static final int tableSizeFor(int c) { - int n = c - 1; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1; - } - - /** - * Initializes table, using the size recorded in sizeCtl. - */ - private final AtomicReferenceArray initTable() { - AtomicReferenceArray tab; int sc; - while ((tab = table) == null) { - if ((sc = sizeCtl) < 0) - Thread.yield(); // lost initialization race; just spin - else if (SIZE_CTRL_UPDATER.compareAndSet(this, sc, -1)) { - try { - if ((tab = table) == null) { - int n = (sc > 0) ? sc : DEFAULT_CAPACITY; - tab = table = new AtomicReferenceArray(n); - sc = n - (n >>> 2); - } - } finally { - sizeCtl = sc; - } - break; - } - } - return tab; - } - - /** - * If table is too small and not already resizing, creates next - * table and transfers bins. Rechecks occupancy after a transfer - * to see if another resize is already needed because resizings - * are lagging additions. - */ - private final void checkForResize() { - AtomicReferenceArray tab; int n, sc; - while ((tab = table) != null && - (n = tab.length()) < MAXIMUM_CAPACITY && - (sc = sizeCtl) >= 0 && counter.sum() >= (long)sc && - SIZE_CTRL_UPDATER.compareAndSet(this, sc, -1)) { - try { - if (tab == table) { - table = rebuild(tab); - sc = (n << 1) - (n >>> 1); - } - } finally { - sizeCtl = sc; - } - } - } - - /** - * Tries to presize table to accommodate the given number of elements. - * - * @param size number of elements (doesn't need to be perfectly accurate) - */ - private final void tryPresize(int size) { - int c = (size >= (MAXIMUM_CAPACITY >>> 1)) ? MAXIMUM_CAPACITY : - tableSizeFor(size + (size >>> 1) + 1); - int sc; - while ((sc = sizeCtl) >= 0) { - AtomicReferenceArray tab = table; int n; - if (tab == null || (n = tab.length()) == 0) { - n = (sc > c) ? sc : c; - if (SIZE_CTRL_UPDATER.compareAndSet(this, sc, -1)) { - try { - if (table == tab) { - table = new AtomicReferenceArray(n); - sc = n - (n >>> 2); - } - } finally { - sizeCtl = sc; - } - } - } - else if (c <= sc || n >= MAXIMUM_CAPACITY) - break; - else if (SIZE_CTRL_UPDATER.compareAndSet(this, sc, -1)) { - try { - if (table == tab) { - table = rebuild(tab); - sc = (n << 1) - (n >>> 1); - } - } finally { - sizeCtl = sc; - } - } - } - } - - /* - * Moves and/or copies the nodes in each bin to new table. See - * above for explanation. - * - * @return the new table - */ - private static final AtomicReferenceArray rebuild(AtomicReferenceArray tab) { - int n = tab.length(); - AtomicReferenceArray nextTab = new AtomicReferenceArray(n << 1); - Node fwd = new Node(MOVED, nextTab, null, null); - int[] buffer = null; // holds bins to revisit; null until needed - Node rev = null; // reverse forwarder; null until needed - int nbuffered = 0; // the number of bins in buffer list - int bufferIndex = 0; // buffer index of current buffered bin - int bin = n - 1; // current non-buffered bin or -1 if none - - for (int i = bin;;) { // start upwards sweep - int fh; Node f; - if ((f = tabAt(tab, i)) == null) { - if (bin >= 0) { // Unbuffered; no lock needed (or available) - if (!casTabAt(tab, i, f, fwd)) - continue; - } - else { // transiently use a locked forwarding node - Node g = new Node(MOVED|LOCKED, nextTab, null, null); - if (!casTabAt(tab, i, f, g)) - continue; - setTabAt(nextTab, i, null); - setTabAt(nextTab, i + n, null); - setTabAt(tab, i, fwd); - if (!g.casHash(MOVED|LOCKED, MOVED)) { - g.hash = MOVED; - synchronized (g) { g.notifyAll(); } - } - } - } - else if ((fh = f.hash) == MOVED) { - Object fk = f.key; - if (fk instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - boolean validated = false; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - validated = true; - splitTreeBin(nextTab, i, t); - setTabAt(tab, i, fwd); - } - } finally { - t.release(0); - } - if (!validated) - continue; - } - } - else if ((fh & LOCKED) == 0 && f.casHash(fh, fh|LOCKED)) { - boolean validated = false; - try { // split to lo and hi lists; copying as needed - if (tabAt(tab, i) == f) { - validated = true; - splitBin(nextTab, i, f); - setTabAt(tab, i, fwd); - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - if (!validated) - continue; - } - else { - if (buffer == null) // initialize buffer for revisits - buffer = new int[TRANSFER_BUFFER_SIZE]; - if (bin < 0 && bufferIndex > 0) { - int j = buffer[--bufferIndex]; - buffer[bufferIndex] = i; - i = j; // swap with another bin - continue; - } - if (bin < 0 || nbuffered >= TRANSFER_BUFFER_SIZE) { - f.tryAwaitLock(tab, i); - continue; // no other options -- block - } - if (rev == null) // initialize reverse-forwarder - rev = new Node(MOVED, tab, null, null); - if (tabAt(tab, i) != f || (f.hash & LOCKED) == 0) - continue; // recheck before adding to list - buffer[nbuffered++] = i; - setTabAt(nextTab, i, rev); // install place-holders - setTabAt(nextTab, i + n, rev); - } - - if (bin > 0) - i = --bin; - else if (buffer != null && nbuffered > 0) { - bin = -1; - i = buffer[bufferIndex = --nbuffered]; - } - else - return nextTab; - } - } - - /** - * Splits a normal bin with list headed by e into lo and hi parts; - * installs in given table. - */ - private static void splitBin(AtomicReferenceArray nextTab, int i, Node e) { - int bit = nextTab.length() >>> 1; // bit to split on - int runBit = e.hash & bit; - Node lastRun = e, lo = null, hi = null; - for (Node p = e.next; p != null; p = p.next) { - int b = p.hash & bit; - if (b != runBit) { - runBit = b; - lastRun = p; - } - } - if (runBit == 0) - lo = lastRun; - else - hi = lastRun; - for (Node p = e; p != lastRun; p = p.next) { - int ph = p.hash & HASH_BITS; - Object pk = p.key, pv = p.val; - if ((ph & bit) == 0) - lo = new Node(ph, pk, pv, lo); - else - hi = new Node(ph, pk, pv, hi); - } - setTabAt(nextTab, i, lo); - setTabAt(nextTab, i + bit, hi); - } - - /** - * Splits a tree bin into lo and hi parts; installs in given table. - */ - private static void splitTreeBin(AtomicReferenceArray nextTab, int i, TreeBin t) { - int bit = nextTab.length() >>> 1; - TreeBin lt = new TreeBin(); - TreeBin ht = new TreeBin(); - int lc = 0, hc = 0; - for (Node e = t.first; e != null; e = e.next) { - int h = e.hash & HASH_BITS; - Object k = e.key, v = e.val; - if ((h & bit) == 0) { - ++lc; - lt.putTreeNode(h, k, v); - } - else { - ++hc; - ht.putTreeNode(h, k, v); - } - } - Node ln, hn; // throw away trees if too small - if (lc <= (TREE_THRESHOLD >>> 1)) { - ln = null; - for (Node p = lt.first; p != null; p = p.next) - ln = new Node(p.hash, p.key, p.val, ln); - } - else - ln = new Node(MOVED, lt, null, null); - setTabAt(nextTab, i, ln); - if (hc <= (TREE_THRESHOLD >>> 1)) { - hn = null; - for (Node p = ht.first; p != null; p = p.next) - hn = new Node(p.hash, p.key, p.val, hn); - } - else - hn = new Node(MOVED, ht, null, null); - setTabAt(nextTab, i + bit, hn); - } - - /** - * Implementation for clear. Steps through each bin, removing all - * nodes. - */ - private final void internalClear() { - long delta = 0L; // negative number of deletions - int i = 0; - AtomicReferenceArray tab = table; - while (tab != null && i < tab.length()) { - int fh; Object fk; - Node f = tabAt(tab, i); - if (f == null) - ++i; - else if ((fh = f.hash) == MOVED) { - if ((fk = f.key) instanceof TreeBin) { - TreeBin t = (TreeBin)fk; - t.acquire(0); - try { - if (tabAt(tab, i) == f) { - for (Node p = t.first; p != null; p = p.next) { - if (p.val != null) { // (currently always true) - p.val = null; - --delta; - } - } - t.first = null; - t.root = null; - ++i; - } - } finally { - t.release(0); - } - } - else - tab = (AtomicReferenceArray)fk; - } - else if ((fh & LOCKED) != 0) { - counter.add(delta); // opportunistically update count - delta = 0L; - f.tryAwaitLock(tab, i); - } - else if (f.casHash(fh, fh | LOCKED)) { - try { - if (tabAt(tab, i) == f) { - for (Node e = f; e != null; e = e.next) { - if (e.val != null) { // (currently always true) - e.val = null; - --delta; - } - } - setTabAt(tab, i, null); - ++i; - } - } finally { - if (!f.casHash(fh | LOCKED, fh)) { - f.hash = fh; - synchronized (f) { f.notifyAll(); }; - } - } - } - } - if (delta != 0) - counter.add(delta); - } - - /* ----------------Table Traversal -------------- */ - - /** - * Encapsulates traversal for methods such as containsValue; also - * serves as a base class for other iterators and bulk tasks. - * - * At each step, the iterator snapshots the key ("nextKey") and - * value ("nextVal") of a valid node (i.e., one that, at point of - * snapshot, has a non-null user value). Because val fields can - * change (including to null, indicating deletion), field nextVal - * might not be accurate at point of use, but still maintains the - * weak consistency property of holding a value that was once - * valid. To support iterator.remove, the nextKey field is not - * updated (nulled out) when the iterator cannot advance. - * - * Internal traversals directly access these fields, as in: - * {@code while (it.advance() != null) { process(it.nextKey); }} - * - * Exported iterators must track whether the iterator has advanced - * (in hasNext vs next) (by setting/checking/nulling field - * nextVal), and then extract key, value, or key-value pairs as - * return values of next(). - * - * The iterator visits once each still-valid node that was - * reachable upon iterator construction. It might miss some that - * were added to a bin after the bin was visited, which is OK wrt - * consistency guarantees. Maintaining this property in the face - * of possible ongoing resizes requires a fair amount of - * bookkeeping state that is difficult to optimize away amidst - * volatile accesses. Even so, traversal maintains reasonable - * throughput. - * - * Normally, iteration proceeds bin-by-bin traversing lists. - * However, if the table has been resized, then all future steps - * must traverse both the bin at the current index as well as at - * (index + baseSize); and so on for further resizings. To - * paranoically cope with potential sharing by users of iterators - * across threads, iteration terminates if a bounds checks fails - * for a table read. - * - * This class extends ForkJoinTask to streamline parallel - * iteration in bulk operations (see BulkTask). This adds only an - * int of space overhead, which is close enough to negligible in - * cases where it is not needed to not worry about it. Because - * ForkJoinTask is Serializable, but iterators need not be, we - * need to add warning suppressions. - */ - @SuppressWarnings("serial") static class Traverser { - final ConcurrentHashMapV8 map; - Node next; // the next entry to use - K nextKey; // cached key field of next - V nextVal; // cached val field of next - AtomicReferenceArray tab; // current table; updated if resized - int index; // index of bin to use next - int baseIndex; // current index of initial table - int baseLimit; // index bound for initial table - int baseSize; // initial table size - - /** Creates iterator for all entries in the table. */ - Traverser(ConcurrentHashMapV8 map) { - this.map = map; - } - - /** Creates iterator for split() methods */ - Traverser(Traverser it) { - ConcurrentHashMapV8 m; AtomicReferenceArray t; - if ((m = this.map = it.map) == null) - t = null; - else if ((t = it.tab) == null && // force parent tab initialization - (t = it.tab = m.table) != null) - it.baseLimit = it.baseSize = t.length(); - this.tab = t; - this.baseSize = it.baseSize; - it.baseLimit = this.index = this.baseIndex = - ((this.baseLimit = it.baseLimit) + it.baseIndex + 1) >>> 1; - } - - /** - * Advances next; returns nextVal or null if terminated. - * See above for explanation. - */ - final V advance() { - Node e = next; - V ev = null; - outer: do { - if (e != null) // advance past used/skipped node - e = e.next; - while (e == null) { // get to next non-null bin - ConcurrentHashMapV8 m; - AtomicReferenceArray t; int b, i, n; Object ek; // checks must use locals - if ((t = tab) != null) - n = t.length(); - else if ((m = map) != null && (t = tab = m.table) != null) - n = baseLimit = baseSize = t.length(); - else - break outer; - if ((b = baseIndex) >= baseLimit || - (i = index) < 0 || i >= n) - break outer; - if ((e = tabAt(t, i)) != null && e.hash == MOVED) { - if ((ek = e.key) instanceof TreeBin) - e = ((TreeBin)ek).first; - else { - tab = (AtomicReferenceArray)ek; - continue; // restarts due to null val - } - } // visit upper slots if present - index = (i += baseSize) < n ? i : (baseIndex = b + 1); - } - nextKey = (K) e.key; - } while ((ev = (V) e.val) == null); // skip deleted or special nodes - next = e; - return nextVal = ev; - } - - public final void remove() { - Object k = nextKey; - if (k == null && (advance() == null || (k = nextKey) == null)) - throw new IllegalStateException(); - map.internalReplace(k, null, null); - } - - public final boolean hasNext() { - return nextVal != null || advance() != null; - } - - public final boolean hasMoreElements() { return hasNext(); } - public final void setRawResult(Object x) { } - public R getRawResult() { return null; } - public boolean exec() { return true; } - } - - /* ---------------- Public operations -------------- */ - - /** - * Creates a new, empty map with the default initial table size (16). - */ - public ConcurrentHashMapV8() { - this.counter = new LongAdder(); - } - - /** - * Creates a new, empty map with an initial table size - * accommodating the specified number of elements without the need - * to dynamically resize. - * - * @param initialCapacity The implementation performs internal - * sizing to accommodate this many elements. - * @throws IllegalArgumentException if the initial capacity of - * elements is negative - */ - public ConcurrentHashMapV8(int initialCapacity) { - if (initialCapacity < 0) - throw new IllegalArgumentException(); - int cap = ((initialCapacity >= (MAXIMUM_CAPACITY >>> 1)) ? - MAXIMUM_CAPACITY : - tableSizeFor(initialCapacity + (initialCapacity >>> 1) + 1)); - this.counter = new LongAdder(); - this.sizeCtl = cap; - } - - /** - * Creates a new map with the same mappings as the given map. - * - * @param m the map - */ - public ConcurrentHashMapV8(Map m) { - this.counter = new LongAdder(); - this.sizeCtl = DEFAULT_CAPACITY; - internalPutAll(m); - } - - /** - * Creates a new, empty map with an initial table size based on - * the given number of elements ({@code initialCapacity}) and - * initial table density ({@code loadFactor}). - * - * @param initialCapacity the initial capacity. The implementation - * performs internal sizing to accommodate this many elements, - * given the specified load factor. - * @param loadFactor the load factor (table density) for - * establishing the initial table size - * @throws IllegalArgumentException if the initial capacity of - * elements is negative or the load factor is nonpositive - * - * @since 1.6 - */ - public ConcurrentHashMapV8(int initialCapacity, float loadFactor) { - this(initialCapacity, loadFactor, 1); - } - - /** - * Creates a new, empty map with an initial table size based on - * the given number of elements ({@code initialCapacity}), table - * density ({@code loadFactor}), and number of concurrently - * updating threads ({@code concurrencyLevel}). - * - * @param initialCapacity the initial capacity. The implementation - * performs internal sizing to accommodate this many elements, - * given the specified load factor. - * @param loadFactor the load factor (table density) for - * establishing the initial table size - * @param concurrencyLevel the estimated number of concurrently - * updating threads. The implementation may use this value as - * a sizing hint. - * @throws IllegalArgumentException if the initial capacity is - * negative or the load factor or concurrencyLevel are - * nonpositive - */ - public ConcurrentHashMapV8(int initialCapacity, - float loadFactor, int concurrencyLevel) { - if (!(loadFactor > 0.0f) || initialCapacity < 0 || concurrencyLevel <= 0) - throw new IllegalArgumentException(); - if (initialCapacity < concurrencyLevel) // Use at least as many bins - initialCapacity = concurrencyLevel; // as estimated threads - long size = (long)(1.0 + (long)initialCapacity / loadFactor); - int cap = (size >= (long)MAXIMUM_CAPACITY) ? - MAXIMUM_CAPACITY : tableSizeFor((int)size); - this.counter = new LongAdder(); - this.sizeCtl = cap; - } - - /** - * Creates a new {@link Set} backed by a ConcurrentHashMapV8 - * from the given type to {@code Boolean.TRUE}. - * - * @return the new set - */ - public static KeySetView newKeySet() { - return new KeySetView(new ConcurrentHashMapV8(), - Boolean.TRUE); - } - - /** - * Creates a new {@link Set} backed by a ConcurrentHashMapV8 - * from the given type to {@code Boolean.TRUE}. - * - * @param initialCapacity The implementation performs internal - * sizing to accommodate this many elements. - * @throws IllegalArgumentException if the initial capacity of - * elements is negative - * @return the new set - */ - public static KeySetView newKeySet(int initialCapacity) { - return new KeySetView(new ConcurrentHashMapV8(initialCapacity), - Boolean.TRUE); - } - - /** - * {@inheritDoc} - */ - public boolean isEmpty() { - return counter.sum() <= 0L; // ignore transient negative values - } - - /** - * {@inheritDoc} - */ - public int size() { - long n = counter.sum(); - return ((n < 0L) ? 0 : - (n > (long)Integer.MAX_VALUE) ? Integer.MAX_VALUE : - (int)n); - } - - /** - * Returns the number of mappings. This method should be used - * instead of {@link #size} because a ConcurrentHashMapV8 may - * contain more mappings than can be represented as an int. The - * value returned is a snapshot; the actual count may differ if - * there are ongoing concurrent insertions or removals. - * - * @return the number of mappings - */ - public long mappingCount() { - long n = counter.sum(); - return (n < 0L) ? 0L : n; // ignore transient negative values - } - - /** - * Returns the value to which the specified key is mapped, - * or {@code null} if this map contains no mapping for the key. - * - *

More formally, if this map contains a mapping from a key - * {@code k} to a value {@code v} such that {@code key.equals(k)}, - * then this method returns {@code v}; otherwise it returns - * {@code null}. (There can be at most one such mapping.) - * - * @throws NullPointerException if the specified key is null - */ - @SuppressWarnings("unchecked") public V get(Object key) { - if (key == null) - throw new NullPointerException(); - return (V)internalGet(key); - } - - /** - * Returns the value to which the specified key is mapped, - * or the given defaultValue if this map contains no mapping for the key. - * - * @param key the key - * @param defaultValue the value to return if this map contains - * no mapping for the given key - * @return the mapping for the key, if present; else the defaultValue - * @throws NullPointerException if the specified key is null - */ - @SuppressWarnings("unchecked") public V getValueOrDefault(Object key, V defaultValue) { - if (key == null) - throw new NullPointerException(); - V v = (V) internalGet(key); - return v == null ? defaultValue : v; - } - - /** - * Tests if the specified object is a key in this table. - * - * @param key possible key - * @return {@code true} if and only if the specified object - * is a key in this table, as determined by the - * {@code equals} method; {@code false} otherwise - * @throws NullPointerException if the specified key is null - */ - public boolean containsKey(Object key) { - if (key == null) - throw new NullPointerException(); - return internalGet(key) != null; - } - - /** - * Returns {@code true} if this map maps one or more keys to the - * specified value. Note: This method may require a full traversal - * of the map, and is much slower than method {@code containsKey}. - * - * @param value value whose presence in this map is to be tested - * @return {@code true} if this map maps one or more keys to the - * specified value - * @throws NullPointerException if the specified value is null - */ - public boolean containsValue(Object value) { - if (value == null) - throw new NullPointerException(); - Object v; - Traverser it = new Traverser(this); - while ((v = it.advance()) != null) { - if (v == value || value.equals(v)) - return true; - } - return false; - } - - public K findKey(Object value) { - if (value == null) - throw new NullPointerException(); - Object v; - Traverser it = new Traverser(this); - while ((v = it.advance()) != null) { - if (v == value || value.equals(v)) - return it.nextKey; - } - return null; - } - - /** - * Legacy method testing if some key maps into the specified value - * in this table. This method is identical in functionality to - * {@link #containsValue}, and exists solely to ensure - * full compatibility with class {@link java.util.Hashtable}, - * which supported this method prior to introduction of the - * Java Collections framework. - * - * @param value a value to search for - * @return {@code true} if and only if some key maps to the - * {@code value} argument in this table as - * determined by the {@code equals} method; - * {@code false} otherwise - * @throws NullPointerException if the specified value is null - */ - public boolean contains(Object value) { - return containsValue(value); - } - - /** - * Maps the specified key to the specified value in this table. - * Neither the key nor the value can be null. - * - *

The value can be retrieved by calling the {@code get} method - * with a key that is equal to the original key. - * - * @param key key with which the specified value is to be associated - * @param value value to be associated with the specified key - * @return the previous value associated with {@code key}, or - * {@code null} if there was no mapping for {@code key} - * @throws NullPointerException if the specified key or value is null - */ - @SuppressWarnings("unchecked") public V put(K key, V value) { - if (key == null || value == null) - throw new NullPointerException(); - return (V)internalPut(key, value); - } - - /** - * {@inheritDoc} - * - * @return the previous value associated with the specified key, - * or {@code null} if there was no mapping for the key - * @throws NullPointerException if the specified key or value is null - */ - @SuppressWarnings("unchecked") public V putIfAbsent(K key, V value) { - if (key == null || value == null) - throw new NullPointerException(); - return (V)internalPutIfAbsent(key, value); - } - - /** - * Copies all of the mappings from the specified map to this one. - * These mappings replace any mappings that this map had for any of the - * keys currently in the specified map. - * - * @param m mappings to be stored in this map - */ - public void putAll(Map m) { - internalPutAll(m); - } - - /** - * If the specified key is not already associated with a value, - * computes its value using the given mappingFunction and enters - * it into the map unless null. This is equivalent to - *

 {@code
-     * if (map.containsKey(key))
-     *   return map.get(key);
-     * value = mappingFunction.apply(key);
-     * if (value != null)
-     *   map.put(key, value);
-     * return value;}
- * - * except that the action is performed atomically. If the - * function returns {@code null} no mapping is recorded. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and no mapping is recorded. Some - * attempted update operations on this map by other threads may be - * blocked while computation is in progress, so the computation - * should be short and simple, and must not attempt to update any - * other mappings of this Map. The most appropriate usage is to - * construct a new object serving as an initial mapped value, or - * memoized result, as in: - * - *
 {@code
-     * map.computeIfAbsent(key, new Fun() {
-     *   public V map(K k) { return new Value(f(k)); }});}
- * - * @param key key with which the specified value is to be associated - * @param mappingFunction the function to compute a value - * @return the current (existing or computed) value associated with - * the specified key, or null if the computed value is null - * @throws NullPointerException if the specified key or mappingFunction - * is null - * @throws IllegalStateException if the computation detectably - * attempts a recursive update to this map that would - * otherwise never complete - * @throws RuntimeException or Error if the mappingFunction does so, - * in which case the mapping is left unestablished - */ - @SuppressWarnings("unchecked") public V computeIfAbsent - (K key, Fun mappingFunction) { - if (key == null || mappingFunction == null) - throw new NullPointerException(); - return (V)internalComputeIfAbsent(key, mappingFunction); - } - - /** - * If the given key is present, computes a new mapping value given a key and - * its current mapped value. This is equivalent to - *
 {@code
-     *   if (map.containsKey(key)) {
-     *     value = remappingFunction.apply(key, map.get(key));
-     *     if (value != null)
-     *       map.put(key, value);
-     *     else
-     *       map.remove(key);
-     *   }
-     * }
- * - * except that the action is performed atomically. If the - * function returns {@code null}, the mapping is removed. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and the current mapping is left - * unchanged. Some attempted update operations on this map by - * other threads may be blocked while computation is in progress, - * so the computation should be short and simple, and must not - * attempt to update any other mappings of this Map. For example, - * to either create or append new messages to a value mapping: - * - * @param key key with which the specified value is to be associated - * @param remappingFunction the function to compute a value - * @return the new value associated with the specified key, or null if none - * @throws NullPointerException if the specified key or remappingFunction - * is null - * @throws IllegalStateException if the computation detectably - * attempts a recursive update to this map that would - * otherwise never complete - * @throws RuntimeException or Error if the remappingFunction does so, - * in which case the mapping is unchanged - */ - @SuppressWarnings("unchecked") public V computeIfPresent - (K key, BiFun remappingFunction) { - if (key == null || remappingFunction == null) - throw new NullPointerException(); - return (V)internalCompute(key, true, remappingFunction); - } - - /** - * Computes a new mapping value given a key and - * its current mapped value (or {@code null} if there is no current - * mapping). This is equivalent to - *
 {@code
-     *   value = remappingFunction.apply(key, map.get(key));
-     *   if (value != null)
-     *     map.put(key, value);
-     *   else
-     *     map.remove(key);
-     * }
- * - * except that the action is performed atomically. If the - * function returns {@code null}, the mapping is removed. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and the current mapping is left - * unchanged. Some attempted update operations on this map by - * other threads may be blocked while computation is in progress, - * so the computation should be short and simple, and must not - * attempt to update any other mappings of this Map. For example, - * to either create or append new messages to a value mapping: - * - *
 {@code
-     * Map map = ...;
-     * final String msg = ...;
-     * map.compute(key, new BiFun() {
-     *   public String apply(Key k, String v) {
-     *    return (v == null) ? msg : v + msg;});}}
- * - * @param key key with which the specified value is to be associated - * @param remappingFunction the function to compute a value - * @return the new value associated with the specified key, or null if none - * @throws NullPointerException if the specified key or remappingFunction - * is null - * @throws IllegalStateException if the computation detectably - * attempts a recursive update to this map that would - * otherwise never complete - * @throws RuntimeException or Error if the remappingFunction does so, - * in which case the mapping is unchanged - */ - @SuppressWarnings("unchecked") public V compute - (K key, BiFun remappingFunction) { - if (key == null || remappingFunction == null) - throw new NullPointerException(); - return (V)internalCompute(key, false, remappingFunction); - } - - /** - * If the specified key is not already associated - * with a value, associate it with the given value. - * Otherwise, replace the value with the results of - * the given remapping function. This is equivalent to: - *
 {@code
-     *   if (!map.containsKey(key))
-     *     map.put(value);
-     *   else {
-     *     newValue = remappingFunction.apply(map.get(key), value);
-     *     if (value != null)
-     *       map.put(key, value);
-     *     else
-     *       map.remove(key);
-     *   }
-     * }
- * except that the action is performed atomically. If the - * function returns {@code null}, the mapping is removed. If the - * function itself throws an (unchecked) exception, the exception - * is rethrown to its caller, and the current mapping is left - * unchanged. Some attempted update operations on this map by - * other threads may be blocked while computation is in progress, - * so the computation should be short and simple, and must not - * attempt to update any other mappings of this Map. - */ - @SuppressWarnings("unchecked") public V merge - (K key, V value, BiFun remappingFunction) { - if (key == null || value == null || remappingFunction == null) - throw new NullPointerException(); - return (V)internalMerge(key, value, remappingFunction); - } - - /** - * Removes the key (and its corresponding value) from this map. - * This method does nothing if the key is not in the map. - * - * @param key the key that needs to be removed - * @return the previous value associated with {@code key}, or - * {@code null} if there was no mapping for {@code key} - * @throws NullPointerException if the specified key is null - */ - @SuppressWarnings("unchecked") public V remove(Object key) { - if (key == null) - throw new NullPointerException(); - return (V)internalReplace(key, null, null); - } - - /** - * {@inheritDoc} - * - * @throws NullPointerException if the specified key is null - */ - public boolean remove(Object key, Object value) { - if (key == null) - throw new NullPointerException(); - if (value == null) - return false; - return internalReplace(key, null, value) != null; - } - - /** - * {@inheritDoc} - * - * @throws NullPointerException if any of the arguments are null - */ - public boolean replace(K key, V oldValue, V newValue) { - if (key == null || oldValue == null || newValue == null) - throw new NullPointerException(); - return internalReplace(key, newValue, oldValue) != null; - } - - /** - * {@inheritDoc} - * - * @return the previous value associated with the specified key, - * or {@code null} if there was no mapping for the key - * @throws NullPointerException if the specified key or value is null - */ - @SuppressWarnings("unchecked") public V replace(K key, V value) { - if (key == null || value == null) - throw new NullPointerException(); - return (V)internalReplace(key, value, null); - } - - /** - * Removes all of the mappings from this map. - */ - public void clear() { - internalClear(); - } - - /** - * Returns a {@link Set} view of the keys contained in this map. - * The set is backed by the map, so changes to the map are - * reflected in the set, and vice-versa. - * - * @return the set view - */ - public KeySetView keySet() { - KeySetView ks = keySet; - return (ks != null) ? ks : (keySet = new KeySetView(this, null)); - } - - /** - * Returns a {@link Set} view of the keys in this map, using the - * given common mapped value for any additions (i.e., {@link - * Collection#add} and {@link Collection#addAll}). This is of - * course only appropriate if it is acceptable to use the same - * value for all additions from this view. - * - * @param mappedValue the mapped value to use for any - * additions. - * @return the set view - * @throws NullPointerException if the mappedValue is null - */ - public KeySetView keySet(V mappedValue) { - if (mappedValue == null) - throw new NullPointerException(); - return new KeySetView(this, mappedValue); - } - - /** - * Returns a {@link Collection} view of the values contained in this map. - * The collection is backed by the map, so changes to the map are - * reflected in the collection, and vice-versa. - */ - public ValuesView values() { - ValuesView vs = values; - return (vs != null) ? vs : (values = new ValuesView(this)); - } - - /** - * Returns a {@link Set} view of the mappings contained in this map. - * The set is backed by the map, so changes to the map are - * reflected in the set, and vice-versa. The set supports element - * removal, which removes the corresponding mapping from the map, - * via the {@code Iterator.remove}, {@code Set.remove}, - * {@code removeAll}, {@code retainAll}, and {@code clear} - * operations. It does not support the {@code add} or - * {@code addAll} operations. - * - *

The view's {@code iterator} is a "weakly consistent" iterator - * that will never throw {@link ConcurrentModificationException}, - * and guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not guaranteed to) - * reflect any modifications subsequent to construction. - */ - public Set> entrySet() { - EntrySetView es = entrySet; - return (es != null) ? es : (entrySet = new EntrySetView(this)); - } - - /** - * Returns an enumeration of the keys in this table. - * - * @return an enumeration of the keys in this table - * @see #keySet() - */ - public Enumeration keys() { - return new KeyIterator(this); - } - - /** - * Returns an enumeration of the values in this table. - * - * @return an enumeration of the values in this table - * @see #values() - */ - public Enumeration elements() { - return new ValueIterator(this); - } - - /** - * Returns a partitionable iterator of the keys in this map. - * - * @return a partitionable iterator of the keys in this map - */ - public Spliterator keySpliterator() { - return new KeyIterator(this); - } - - /** - * Returns a partitionable iterator of the values in this map. - * - * @return a partitionable iterator of the values in this map - */ - public Spliterator valueSpliterator() { - return new ValueIterator(this); - } - - /** - * Returns a partitionable iterator of the entries in this map. - * - * @return a partitionable iterator of the entries in this map - */ - public Spliterator> entrySpliterator() { - return new EntryIterator(this); - } - - /** - * Returns the hash code value for this {@link Map}, i.e., - * the sum of, for each key-value pair in the map, - * {@code key.hashCode() ^ value.hashCode()}. - * - * @return the hash code value for this map - */ - public int hashCode() { - int h = 0; - Traverser it = new Traverser(this); - Object v; - while ((v = it.advance()) != null) { - h += it.nextKey.hashCode() ^ v.hashCode(); - } - return h; - } - - /** - * Returns a string representation of this map. The string - * representation consists of a list of key-value mappings (in no - * particular order) enclosed in braces ("{@code {}}"). Adjacent - * mappings are separated by the characters {@code ", "} (comma - * and space). Each key-value mapping is rendered as the key - * followed by an equals sign ("{@code =}") followed by the - * associated value. - * - * @return a string representation of this map - */ - public String toString() { - Traverser it = new Traverser(this); - StringBuilder sb = new StringBuilder(); - sb.append('{'); - Object v; - if ((v = it.advance()) != null) { - for (;;) { - Object k = it.nextKey; - sb.append(k == this ? "(this Map)" : k); - sb.append('='); - sb.append(v == this ? "(this Map)" : v); - if ((v = it.advance()) == null) - break; - sb.append(',').append(' '); - } - } - return sb.append('}').toString(); - } - - /** - * Compares the specified object with this map for equality. - * Returns {@code true} if the given object is a map with the same - * mappings as this map. This operation may return misleading - * results if either map is concurrently modified during execution - * of this method. - * - * @param o object to be compared for equality with this map - * @return {@code true} if the specified object is equal to this map - */ - public boolean equals(Object o) { - if (o != this) { - if (!(o instanceof Map)) - return false; - Map m = (Map) o; - Traverser it = new Traverser(this); - Object val; - while ((val = it.advance()) != null) { - Object v = m.get(it.nextKey); - if (v == null || (v != val && !v.equals(val))) - return false; - } - for (Map.Entry e : m.entrySet()) { - Object mk, mv, v; - if ((mk = e.getKey()) == null || - (mv = e.getValue()) == null || - (v = internalGet(mk)) == null || - (mv != v && !mv.equals(v))) - return false; - } - } - return true; - } - - /* ----------------Iterators -------------- */ - - @SuppressWarnings("serial") static final class KeyIterator extends Traverser - implements Spliterator, Enumeration { - KeyIterator(ConcurrentHashMapV8 map) { super(map); } - KeyIterator(Traverser it) { - super(it); - } - public KeyIterator split() { - if (nextKey != null) - throw new IllegalStateException(); - return new KeyIterator(this); - } - @SuppressWarnings("unchecked") public final K next() { - if (nextVal == null && advance() == null) - throw new NoSuchElementException(); - Object k = nextKey; - nextVal = null; - return (K) k; - } - - public final K nextElement() { return next(); } - } - - @SuppressWarnings("serial") static final class ValueIterator extends Traverser - implements Spliterator, Enumeration { - ValueIterator(ConcurrentHashMapV8 map) { super(map); } - ValueIterator(Traverser it) { - super(it); - } - public ValueIterator split() { - if (nextKey != null) - throw new IllegalStateException(); - return new ValueIterator(this); - } - - @SuppressWarnings("unchecked") public final V next() { - Object v; - if ((v = nextVal) == null && (v = advance()) == null) - throw new NoSuchElementException(); - nextVal = null; - return (V) v; - } - - public final V nextElement() { return next(); } - } - - @SuppressWarnings("serial") static final class EntryIterator extends Traverser - implements Spliterator> { - EntryIterator(ConcurrentHashMapV8 map) { super(map); } - EntryIterator(Traverser it) { - super(it); - } - public EntryIterator split() { - if (nextKey != null) - throw new IllegalStateException(); - return new EntryIterator(this); - } - - @SuppressWarnings("unchecked") public final Map.Entry next() { - Object v; - if ((v = nextVal) == null && (v = advance()) == null) - throw new NoSuchElementException(); - Object k = nextKey; - nextVal = null; - return new MapEntry((K)k, (V)v, map); - } - } - - /** - * Exported Entry for iterators - */ - static final class MapEntry implements Map.Entry { - final K key; // non-null - V val; // non-null - final ConcurrentHashMapV8 map; - MapEntry(K key, V val, ConcurrentHashMapV8 map) { - this.key = key; - this.val = val; - this.map = map; - } - public final K getKey() { return key; } - public final V getValue() { return val; } - public final int hashCode() { return key.hashCode() ^ val.hashCode(); } - public final String toString(){ return key + "=" + val; } - - public final boolean equals(Object o) { - Object k, v; Map.Entry e; - return ((o instanceof Map.Entry) && - (k = (e = (Map.Entry)o).getKey()) != null && - (v = e.getValue()) != null && - (k == key || k.equals(key)) && - (v == val || v.equals(val))); - } - - /** - * Sets our entry's value and writes through to the map. The - * value to return is somewhat arbitrary here. Since we do not - * necessarily track asynchronous changes, the most recent - * "previous" value could be different from what we return (or - * could even have been removed in which case the put will - * re-establish). We do not and cannot guarantee more. - */ - public final V setValue(V value) { - if (value == null) throw new NullPointerException(); - V v = val; - val = value; - map.put(key, value); - return v; - } - } - - /* ---------------- Serialization Support -------------- */ - - /** - * Stripped-down version of helper class used in previous version, - * declared for the sake of serialization compatibility - */ - static class Segment implements Serializable { - private static final long serialVersionUID = 2249069246763182397L; - final float loadFactor; - Segment(float lf) { this.loadFactor = lf; } - } - - /** - * Saves the state of the {@code ConcurrentHashMapV8} instance to a - * stream (i.e., serializes it). - * @param s the stream - * @serialData - * the key (Object) and value (Object) - * for each key-value mapping, followed by a null pair. - * The key-value mappings are emitted in no particular order. - */ - @SuppressWarnings("unchecked") private void writeObject(java.io.ObjectOutputStream s) - throws java.io.IOException { - if (segments == null) { // for serialization compatibility - segments = (Segment[]) - new Segment[DEFAULT_CONCURRENCY_LEVEL]; - for (int i = 0; i < segments.length; ++i) - segments[i] = new Segment(LOAD_FACTOR); - } - s.defaultWriteObject(); - Traverser it = new Traverser(this); - Object v; - while ((v = it.advance()) != null) { - s.writeObject(it.nextKey); - s.writeObject(v); - } - s.writeObject(null); - s.writeObject(null); - segments = null; // throw away - } - - /** - * Reconstitutes the instance from a stream (that is, deserializes it). - * @param s the stream - */ - @SuppressWarnings("unchecked") private void readObject(java.io.ObjectInputStream s) - throws java.io.IOException, ClassNotFoundException { - s.defaultReadObject(); - this.segments = null; // unneeded - // initialize transient final field - this.counter = new LongAdder(); - - // Create all nodes, then place in table once size is known - long size = 0L; - Node p = null; - for (;;) { - K k = (K) s.readObject(); - V v = (V) s.readObject(); - if (k != null && v != null) { - int h = spread(k.hashCode()); - p = new Node(h, k, v, p); - ++size; - } - else - break; - } - if (p != null) { - boolean init = false; - int n; - if (size >= (long)(MAXIMUM_CAPACITY >>> 1)) - n = MAXIMUM_CAPACITY; - else { - int sz = (int)size; - n = tableSizeFor(sz + (sz >>> 1) + 1); - } - int sc = sizeCtl; - boolean collide = false; - if (n > sc && - SIZE_CTRL_UPDATER.compareAndSet(this, sc, -1)) { - try { - if (table == null) { - init = true; - AtomicReferenceArray tab = new AtomicReferenceArray(n); - int mask = n - 1; - while (p != null) { - int j = p.hash & mask; - Node next = p.next; - Node q = p.next = tabAt(tab, j); - setTabAt(tab, j, p); - if (!collide && q != null && q.hash == p.hash) - collide = true; - p = next; - } - table = tab; - counter.add(size); - sc = n - (n >>> 2); - } - } finally { - sizeCtl = sc; - } - if (collide) { // rescan and convert to TreeBins - AtomicReferenceArray tab = table; - for (int i = 0; i < tab.length(); ++i) { - int c = 0; - for (Node e = tabAt(tab, i); e != null; e = e.next) { - if (++c > TREE_THRESHOLD && - (e.key instanceof Comparable)) { - replaceWithTreeBin(tab, i, e.key); - break; - } - } - } - } - } - if (!init) { // Can only happen if unsafely published. - while (p != null) { - internalPut(p.key, p.val); - p = p.next; - } - } - } - } - - - // ------------------------------------------------------- - - // Sams - /** Interface describing a void action of one argument */ - public interface Action { void apply(A a); } - /** Interface describing a void action of two arguments */ - public interface BiAction { void apply(A a, B b); } - /** Interface describing a function of one argument */ - public interface Generator { T apply(); } - /** Interface describing a function mapping its argument to a double */ - public interface ObjectToDouble { double apply(A a); } - /** Interface describing a function mapping its argument to a long */ - public interface ObjectToLong { long apply(A a); } - /** Interface describing a function mapping its argument to an int */ - public interface ObjectToInt {int apply(A a); } - /** Interface describing a function mapping two arguments to a double */ - public interface ObjectByObjectToDouble { double apply(A a, B b); } - /** Interface describing a function mapping two arguments to a long */ - public interface ObjectByObjectToLong { long apply(A a, B b); } - /** Interface describing a function mapping two arguments to an int */ - public interface ObjectByObjectToInt {int apply(A a, B b); } - /** Interface describing a function mapping a double to a double */ - public interface DoubleToDouble { double apply(double a); } - /** Interface describing a function mapping a long to a long */ - public interface LongToLong { long apply(long a); } - /** Interface describing a function mapping an int to an int */ - public interface IntToInt { int apply(int a); } - /** Interface describing a function mapping two doubles to a double */ - public interface DoubleByDoubleToDouble { double apply(double a, double b); } - /** Interface describing a function mapping two longs to a long */ - public interface LongByLongToLong { long apply(long a, long b); } - /** Interface describing a function mapping two ints to an int */ - public interface IntByIntToInt { int apply(int a, int b); } - - - /* ----------------Views -------------- */ - - /** - * Base class for views. - */ - static abstract class CHMView { - final ConcurrentHashMapV8 map; - CHMView(ConcurrentHashMapV8 map) { this.map = map; } - - /** - * Returns the map backing this view. - * - * @return the map backing this view - */ - public ConcurrentHashMapV8 getMap() { return map; } - - public final int size() { return map.size(); } - public final boolean isEmpty() { return map.isEmpty(); } - public final void clear() { map.clear(); } - - // implementations below rely on concrete classes supplying these - abstract public Iterator iterator(); - abstract public boolean contains(Object o); - abstract public boolean remove(Object o); - - private static final String oomeMsg = "Required array size too large"; - - public final Object[] toArray() { - long sz = map.mappingCount(); - if (sz > (long)(MAX_ARRAY_SIZE)) - throw new OutOfMemoryError(oomeMsg); - int n = (int)sz; - Object[] r = new Object[n]; - int i = 0; - Iterator it = iterator(); - while (it.hasNext()) { - if (i == n) { - if (n >= MAX_ARRAY_SIZE) - throw new OutOfMemoryError(oomeMsg); - if (n >= MAX_ARRAY_SIZE - (MAX_ARRAY_SIZE >>> 1) - 1) - n = MAX_ARRAY_SIZE; - else - n += (n >>> 1) + 1; - r = Arrays.copyOf(r, n); - } - r[i++] = it.next(); - } - return (i == n) ? r : Arrays.copyOf(r, i); - } - - @SuppressWarnings("unchecked") public final T[] toArray(T[] a) { - long sz = map.mappingCount(); - if (sz > (long)(MAX_ARRAY_SIZE)) - throw new OutOfMemoryError(oomeMsg); - int m = (int)sz; - T[] r = (a.length >= m) ? a : - (T[])java.lang.reflect.Array - .newInstance(a.getClass().getComponentType(), m); - int n = r.length; - int i = 0; - Iterator it = iterator(); - while (it.hasNext()) { - if (i == n) { - if (n >= MAX_ARRAY_SIZE) - throw new OutOfMemoryError(oomeMsg); - if (n >= MAX_ARRAY_SIZE - (MAX_ARRAY_SIZE >>> 1) - 1) - n = MAX_ARRAY_SIZE; - else - n += (n >>> 1) + 1; - r = Arrays.copyOf(r, n); - } - r[i++] = (T)it.next(); - } - if (a == r && i < n) { - r[i] = null; // null-terminate - return r; - } - return (i == n) ? r : Arrays.copyOf(r, i); - } - - public final int hashCode() { - int h = 0; - for (Iterator it = iterator(); it.hasNext();) - h += it.next().hashCode(); - return h; - } - - public final String toString() { - StringBuilder sb = new StringBuilder(); - sb.append('['); - Iterator it = iterator(); - if (it.hasNext()) { - for (;;) { - Object e = it.next(); - sb.append(e == this ? "(this Collection)" : e); - if (!it.hasNext()) - break; - sb.append(',').append(' '); - } - } - return sb.append(']').toString(); - } - - public final boolean containsAll(Collection c) { - if (c != this) { - for (Iterator it = c.iterator(); it.hasNext();) { - Object e = it.next(); - if (e == null || !contains(e)) - return false; - } - } - return true; - } - - public final boolean removeAll(Collection c) { - boolean modified = false; - for (Iterator it = iterator(); it.hasNext();) { - if (c.contains(it.next())) { - it.remove(); - modified = true; - } - } - return modified; - } - - public final boolean retainAll(Collection c) { - boolean modified = false; - for (Iterator it = iterator(); it.hasNext();) { - if (!c.contains(it.next())) { - it.remove(); - modified = true; - } - } - return modified; - } - - } - - /** - * A view of a ConcurrentHashMapV8 as a {@link Set} of keys, in - * which additions may optionally be enabled by mapping to a - * common value. This class cannot be directly instantiated. See - * {@link #keySet}, {@link #keySet(Object)}, {@link #newKeySet()}, - * {@link #newKeySet(int)}. - */ - public static class KeySetView extends CHMView implements Set, java.io.Serializable { - private static final long serialVersionUID = 7249069246763182397L; - private final V value; - KeySetView(ConcurrentHashMapV8 map, V value) { // non-public - super(map); - this.value = value; - } - - /** - * Returns the default mapped value for additions, - * or {@code null} if additions are not supported. - * - * @return the default mapped value for additions, or {@code null} - * if not supported. - */ - public V getMappedValue() { return value; } - - // implement Set API - - public boolean contains(Object o) { return map.containsKey(o); } - public boolean remove(Object o) { return map.remove(o) != null; } - - /** - * Returns a "weakly consistent" iterator that will never - * throw {@link ConcurrentModificationException}, and - * guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not - * guaranteed to) reflect any modifications subsequent to - * construction. - * - * @return an iterator over the keys of this map - */ - public Iterator iterator() { return new KeyIterator(map); } - public boolean add(K e) { - V v; - if ((v = value) == null) - throw new UnsupportedOperationException(); - if (e == null) - throw new NullPointerException(); - return map.internalPutIfAbsent(e, v) == null; - } - public boolean addAll(Collection c) { - boolean added = false; - V v; - if ((v = value) == null) - throw new UnsupportedOperationException(); - for (K e : c) { - if (e == null) - throw new NullPointerException(); - if (map.internalPutIfAbsent(e, v) == null) - added = true; - } - return added; - } - public boolean equals(Object o) { - Set c; - return ((o instanceof Set) && - ((c = (Set)o) == this || - (containsAll(c) && c.containsAll(this)))); - } - } - - /** - * A view of a ConcurrentHashMapV8 as a {@link Collection} of - * values, in which additions are disabled. This class cannot be - * directly instantiated. See {@link #values}, - * - *

The view's {@code iterator} is a "weakly consistent" iterator - * that will never throw {@link ConcurrentModificationException}, - * and guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not guaranteed to) - * reflect any modifications subsequent to construction. - */ - public static final class ValuesView extends CHMView - implements Collection { - ValuesView(ConcurrentHashMapV8 map) { super(map); } - public final boolean contains(Object o) { return map.containsValue(o); } - public final boolean remove(Object o) { - if (o != null) { - Iterator it = new ValueIterator(map); - while (it.hasNext()) { - if (o.equals(it.next())) { - it.remove(); - return true; - } - } - } - return false; - } - - /** - * Returns a "weakly consistent" iterator that will never - * throw {@link ConcurrentModificationException}, and - * guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not - * guaranteed to) reflect any modifications subsequent to - * construction. - * - * @return an iterator over the values of this map - */ - public final Iterator iterator() { - return new ValueIterator(map); - } - public final boolean add(V e) { - throw new UnsupportedOperationException(); - } - public final boolean addAll(Collection c) { - throw new UnsupportedOperationException(); - } - } - - /** - * A view of a ConcurrentHashMapV8 as a {@link Set} of (key, value) - * entries. This class cannot be directly instantiated. See - * {@link #entrySet}. - */ - public static final class EntrySetView extends CHMView - implements Set> { - EntrySetView(ConcurrentHashMapV8 map) { super(map); } - public final boolean contains(Object o) { - Object k, v, r; Map.Entry e; - return ((o instanceof Map.Entry) && - (k = (e = (Map.Entry)o).getKey()) != null && - (r = map.get(k)) != null && - (v = e.getValue()) != null && - (v == r || v.equals(r))); - } - public final boolean remove(Object o) { - Object k, v; Map.Entry e; - return ((o instanceof Map.Entry) && - (k = (e = (Map.Entry)o).getKey()) != null && - (v = e.getValue()) != null && - map.remove(k, v)); - } - - /** - * Returns a "weakly consistent" iterator that will never - * throw {@link ConcurrentModificationException}, and - * guarantees to traverse elements as they existed upon - * construction of the iterator, and may (but is not - * guaranteed to) reflect any modifications subsequent to - * construction. - * - * @return an iterator over the entries of this map - */ - public final Iterator> iterator() { - return new EntryIterator(map); - } - - public final boolean add(Entry e) { - K key = e.getKey(); - V value = e.getValue(); - if (key == null || value == null) - throw new NullPointerException(); - return map.internalPut(key, value) == null; - } - public final boolean addAll(Collection> c) { - boolean added = false; - for (Entry e : c) { - if (add(e)) - added = true; - } - return added; - } - public boolean equals(Object o) { - Set c; - return ((o instanceof Set) && - ((c = (Set)o) == this || - (containsAll(c) && c.containsAll(this)))); - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java deleted file mode 100644 index ecf552a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on 1.9 version. - -package com.concurrent_ruby.ext.jsr166e.nounsafe; - -import java.util.concurrent.atomic.AtomicLong; -import java.io.IOException; -import java.io.Serializable; -import java.io.ObjectInputStream; - -/** - * One or more variables that together maintain an initially zero - * {@code long} sum. When updates (method {@link #add}) are contended - * across threads, the set of variables may grow dynamically to reduce - * contention. Method {@link #sum} (or, equivalently, {@link - * #longValue}) returns the current total combined across the - * variables maintaining the sum. - * - *

This class is usually preferable to {@link AtomicLong} when - * multiple threads update a common sum that is used for purposes such - * as collecting statistics, not for fine-grained synchronization - * control. Under low update contention, the two classes have similar - * characteristics. But under high contention, expected throughput of - * this class is significantly higher, at the expense of higher space - * consumption. - * - *

This class extends {@link Number}, but does not define - * methods such as {@code hashCode} and {@code compareTo} because - * instances are expected to be mutated, and so are not useful as - * collection keys. - * - *

jsr166e note: This class is targeted to be placed in - * java.util.concurrent.atomic. - * - * @since 1.8 - * @author Doug Lea - */ -public class LongAdder extends Striped64 implements Serializable { - private static final long serialVersionUID = 7249069246863182397L; - - /** - * Version of plus for use in retryUpdate - */ - final long fn(long v, long x) { return v + x; } - - /** - * Creates a new adder with initial sum of zero. - */ - public LongAdder() { - } - - /** - * Adds the given value. - * - * @param x the value to add - */ - public void add(long x) { - Cell[] as; long b, v; HashCode hc; Cell a; int n; - if ((as = cells) != null || !casBase(b = base, b + x)) { - boolean uncontended = true; - int h = (hc = threadHashCode.get()).code; - if (as == null || (n = as.length) < 1 || - (a = as[(n - 1) & h]) == null || - !(uncontended = a.cas(v = a.value, v + x))) - retryUpdate(x, hc, uncontended); - } - } - - /** - * Equivalent to {@code add(1)}. - */ - public void increment() { - add(1L); - } - - /** - * Equivalent to {@code add(-1)}. - */ - public void decrement() { - add(-1L); - } - - /** - * Returns the current sum. The returned value is NOT an - * atomic snapshot: Invocation in the absence of concurrent - * updates returns an accurate result, but concurrent updates that - * occur while the sum is being calculated might not be - * incorporated. - * - * @return the sum - */ - public long sum() { - long sum = base; - Cell[] as = cells; - if (as != null) { - int n = as.length; - for (int i = 0; i < n; ++i) { - Cell a = as[i]; - if (a != null) - sum += a.value; - } - } - return sum; - } - - /** - * Resets variables maintaining the sum to zero. This method may - * be a useful alternative to creating a new adder, but is only - * effective if there are no concurrent updates. Because this - * method is intrinsically racy, it should only be used when it is - * known that no threads are concurrently updating. - */ - public void reset() { - internalReset(0L); - } - - /** - * Equivalent in effect to {@link #sum} followed by {@link - * #reset}. This method may apply for example during quiescent - * points between multithreaded computations. If there are - * updates concurrent with this method, the returned value is - * not guaranteed to be the final value occurring before - * the reset. - * - * @return the sum - */ - public long sumThenReset() { - long sum = base; - Cell[] as = cells; - base = 0L; - if (as != null) { - int n = as.length; - for (int i = 0; i < n; ++i) { - Cell a = as[i]; - if (a != null) { - sum += a.value; - a.value = 0L; - } - } - } - return sum; - } - - /** - * Returns the String representation of the {@link #sum}. - * @return the String representation of the {@link #sum} - */ - public String toString() { - return Long.toString(sum()); - } - - /** - * Equivalent to {@link #sum}. - * - * @return the sum - */ - public long longValue() { - return sum(); - } - - /** - * Returns the {@link #sum} as an {@code int} after a narrowing - * primitive conversion. - */ - public int intValue() { - return (int)sum(); - } - - /** - * Returns the {@link #sum} as a {@code float} - * after a widening primitive conversion. - */ - public float floatValue() { - return (float)sum(); - } - - /** - * Returns the {@link #sum} as a {@code double} after a widening - * primitive conversion. - */ - public double doubleValue() { - return (double)sum(); - } - - private void writeObject(java.io.ObjectOutputStream s) - throws java.io.IOException { - s.defaultWriteObject(); - s.writeLong(sum()); - } - - private void readObject(ObjectInputStream s) - throws IOException, ClassNotFoundException { - s.defaultReadObject(); - busy = 0; - cells = null; - base = s.readLong(); - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java deleted file mode 100644 index f521642..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on 1.5 version. - -package com.concurrent_ruby.ext.jsr166e.nounsafe; - -import java.util.Random; -import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; -import java.util.concurrent.atomic.AtomicLongFieldUpdater; - -/** - * A package-local class holding common representation and mechanics - * for classes supporting dynamic striping on 64bit values. The class - * extends Number so that concrete subclasses must publicly do so. - */ -abstract class Striped64 extends Number { - /* - * This class maintains a lazily-initialized table of atomically - * updated variables, plus an extra "base" field. The table size - * is a power of two. Indexing uses masked per-thread hash codes. - * Nearly all declarations in this class are package-private, - * accessed directly by subclasses. - * - * Table entries are of class Cell; a variant of AtomicLong padded - * to reduce cache contention on most processors. Padding is - * overkill for most Atomics because they are usually irregularly - * scattered in memory and thus don't interfere much with each - * other. But Atomic objects residing in arrays will tend to be - * placed adjacent to each other, and so will most often share - * cache lines (with a huge negative performance impact) without - * this precaution. - * - * In part because Cells are relatively large, we avoid creating - * them until they are needed. When there is no contention, all - * updates are made to the base field. Upon first contention (a - * failed CAS on base update), the table is initialized to size 2. - * The table size is doubled upon further contention until - * reaching the nearest power of two greater than or equal to the - * number of CPUS. Table slots remain empty (null) until they are - * needed. - * - * A single spinlock ("busy") is used for initializing and - * resizing the table, as well as populating slots with new Cells. - * There is no need for a blocking lock: When the lock is not - * available, threads try other slots (or the base). During these - * retries, there is increased contention and reduced locality, - * which is still better than alternatives. - * - * Per-thread hash codes are initialized to random values. - * Contention and/or table collisions are indicated by failed - * CASes when performing an update operation (see method - * retryUpdate). Upon a collision, if the table size is less than - * the capacity, it is doubled in size unless some other thread - * holds the lock. If a hashed slot is empty, and lock is - * available, a new Cell is created. Otherwise, if the slot - * exists, a CAS is tried. Retries proceed by "double hashing", - * using a secondary hash (Marsaglia XorShift) to try to find a - * free slot. - * - * The table size is capped because, when there are more threads - * than CPUs, supposing that each thread were bound to a CPU, - * there would exist a perfect hash function mapping threads to - * slots that eliminates collisions. When we reach capacity, we - * search for this mapping by randomly varying the hash codes of - * colliding threads. Because search is random, and collisions - * only become known via CAS failures, convergence can be slow, - * and because threads are typically not bound to CPUS forever, - * may not occur at all. However, despite these limitations, - * observed contention rates are typically low in these cases. - * - * It is possible for a Cell to become unused when threads that - * once hashed to it terminate, as well as in the case where - * doubling the table causes no thread to hash to it under - * expanded mask. We do not try to detect or remove such cells, - * under the assumption that for long-running instances, observed - * contention levels will recur, so the cells will eventually be - * needed again; and for short-lived ones, it does not matter. - */ - - /** - * Padded variant of AtomicLong supporting only raw accesses plus CAS. - * The value field is placed between pads, hoping that the JVM doesn't - * reorder them. - * - * JVM intrinsics note: It would be possible to use a release-only - * form of CAS here, if it were provided. - */ - static final class Cell { - volatile long p0, p1, p2, p3, p4, p5, p6; - volatile long value; - volatile long q0, q1, q2, q3, q4, q5, q6; - - static AtomicLongFieldUpdater VALUE_UPDATER = AtomicLongFieldUpdater.newUpdater(Cell.class, "value"); - - Cell(long x) { value = x; } - - final boolean cas(long cmp, long val) { - return VALUE_UPDATER.compareAndSet(this, cmp, val); - } - - } - - /** - * Holder for the thread-local hash code. The code is initially - * random, but may be set to a different value upon collisions. - */ - static final class HashCode { - static final Random rng = new Random(); - int code; - HashCode() { - int h = rng.nextInt(); // Avoid zero to allow xorShift rehash - code = (h == 0) ? 1 : h; - } - } - - /** - * The corresponding ThreadLocal class - */ - static final class ThreadHashCode extends ThreadLocal { - public HashCode initialValue() { return new HashCode(); } - } - - /** - * Static per-thread hash codes. Shared across all instances to - * reduce ThreadLocal pollution and because adjustments due to - * collisions in one table are likely to be appropriate for - * others. - */ - static final ThreadHashCode threadHashCode = new ThreadHashCode(); - - /** Number of CPUS, to place bound on table size */ - static final int NCPU = Runtime.getRuntime().availableProcessors(); - - /** - * Table of cells. When non-null, size is a power of 2. - */ - transient volatile Cell[] cells; - - /** - * Base value, used mainly when there is no contention, but also as - * a fallback during table initialization races. Updated via CAS. - */ - transient volatile long base; - - /** - * Spinlock (locked via CAS) used when resizing and/or creating Cells. - */ - transient volatile int busy; - - AtomicLongFieldUpdater BASE_UPDATER = AtomicLongFieldUpdater.newUpdater(Striped64.class, "base"); - AtomicIntegerFieldUpdater BUSY_UPDATER = AtomicIntegerFieldUpdater.newUpdater(Striped64.class, "busy"); - - /** - * Package-private default constructor - */ - Striped64() { - } - - /** - * CASes the base field. - */ - final boolean casBase(long cmp, long val) { - return BASE_UPDATER.compareAndSet(this, cmp, val); - } - - /** - * CASes the busy field from 0 to 1 to acquire lock. - */ - final boolean casBusy() { - return BUSY_UPDATER.compareAndSet(this, 0, 1); - } - - /** - * Computes the function of current and new value. Subclasses - * should open-code this update function for most uses, but the - * virtualized form is needed within retryUpdate. - * - * @param currentValue the current value (of either base or a cell) - * @param newValue the argument from a user update call - * @return result of the update function - */ - abstract long fn(long currentValue, long newValue); - - /** - * Handles cases of updates involving initialization, resizing, - * creating new Cells, and/or contention. See above for - * explanation. This method suffers the usual non-modularity - * problems of optimistic retry code, relying on rechecked sets of - * reads. - * - * @param x the value - * @param hc the hash code holder - * @param wasUncontended false if CAS failed before call - */ - final void retryUpdate(long x, HashCode hc, boolean wasUncontended) { - int h = hc.code; - boolean collide = false; // True if last slot nonempty - for (;;) { - Cell[] as; Cell a; int n; long v; - if ((as = cells) != null && (n = as.length) > 0) { - if ((a = as[(n - 1) & h]) == null) { - if (busy == 0) { // Try to attach new Cell - Cell r = new Cell(x); // Optimistically create - if (busy == 0 && casBusy()) { - boolean created = false; - try { // Recheck under lock - Cell[] rs; int m, j; - if ((rs = cells) != null && - (m = rs.length) > 0 && - rs[j = (m - 1) & h] == null) { - rs[j] = r; - created = true; - } - } finally { - busy = 0; - } - if (created) - break; - continue; // Slot is now non-empty - } - } - collide = false; - } - else if (!wasUncontended) // CAS already known to fail - wasUncontended = true; // Continue after rehash - else if (a.cas(v = a.value, fn(v, x))) - break; - else if (n >= NCPU || cells != as) - collide = false; // At max size or stale - else if (!collide) - collide = true; - else if (busy == 0 && casBusy()) { - try { - if (cells == as) { // Expand table unless stale - Cell[] rs = new Cell[n << 1]; - for (int i = 0; i < n; ++i) - rs[i] = as[i]; - cells = rs; - } - } finally { - busy = 0; - } - collide = false; - continue; // Retry with expanded table - } - h ^= h << 13; // Rehash - h ^= h >>> 17; - h ^= h << 5; - } - else if (busy == 0 && cells == as && casBusy()) { - boolean init = false; - try { // Initialize table - if (cells == as) { - Cell[] rs = new Cell[2]; - rs[h & 1] = new Cell(x); - cells = rs; - init = true; - } - } finally { - busy = 0; - } - if (init) - break; - } - else if (casBase(v = base, fn(v, x))) - break; // Fall back on using base - } - hc.code = h; // Record index for next time - } - - - /** - * Sets base and all cells to the given value. - */ - final void internalReset(long initialValue) { - Cell[] as = cells; - base = initialValue; - if (as != null) { - int n = as.length; - for (int i = 0; i < n; ++i) { - Cell a = as[i]; - if (a != null) - a.value = initialValue; - } - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java deleted file mode 100644 index 3ea409f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/concurrent-ruby-1.2.2/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This is based on 1.16 version - -package com.concurrent_ruby.ext.jsr166y; - -import java.util.Random; - -/** - * A random number generator isolated to the current thread. Like the - * global {@link java.util.Random} generator used by the {@link - * java.lang.Math} class, a {@code ThreadLocalRandom} is initialized - * with an internally generated seed that may not otherwise be - * modified. When applicable, use of {@code ThreadLocalRandom} rather - * than shared {@code Random} objects in concurrent programs will - * typically encounter much less overhead and contention. Use of - * {@code ThreadLocalRandom} is particularly appropriate when multiple - * tasks (for example, each a {@link ForkJoinTask}) use random numbers - * in parallel in thread pools. - * - *

Usages of this class should typically be of the form: - * {@code ThreadLocalRandom.current().nextX(...)} (where - * {@code X} is {@code Int}, {@code Long}, etc). - * When all usages are of this form, it is never possible to - * accidently share a {@code ThreadLocalRandom} across multiple threads. - * - *

This class also provides additional commonly used bounded random - * generation methods. - * - * @since 1.7 - * @author Doug Lea - */ -public class ThreadLocalRandom extends Random { - // same constants as Random, but must be redeclared because private - private static final long multiplier = 0x5DEECE66DL; - private static final long addend = 0xBL; - private static final long mask = (1L << 48) - 1; - - /** - * The random seed. We can't use super.seed. - */ - private long rnd; - - /** - * Initialization flag to permit calls to setSeed to succeed only - * while executing the Random constructor. We can't allow others - * since it would cause setting seed in one part of a program to - * unintentionally impact other usages by the thread. - */ - boolean initialized; - - // Padding to help avoid memory contention among seed updates in - // different TLRs in the common case that they are located near - // each other. - private long pad0, pad1, pad2, pad3, pad4, pad5, pad6, pad7; - - /** - * The actual ThreadLocal - */ - private static final ThreadLocal localRandom = - new ThreadLocal() { - protected ThreadLocalRandom initialValue() { - return new ThreadLocalRandom(); - } - }; - - - /** - * Constructor called only by localRandom.initialValue. - */ - ThreadLocalRandom() { - super(); - initialized = true; - } - - /** - * Returns the current thread's {@code ThreadLocalRandom}. - * - * @return the current thread's {@code ThreadLocalRandom} - */ - public static ThreadLocalRandom current() { - return localRandom.get(); - } - - /** - * Throws {@code UnsupportedOperationException}. Setting seeds in - * this generator is not supported. - * - * @throws UnsupportedOperationException always - */ - public void setSeed(long seed) { - if (initialized) - throw new UnsupportedOperationException(); - rnd = (seed ^ multiplier) & mask; - } - - protected int next(int bits) { - rnd = (rnd * multiplier + addend) & mask; - return (int) (rnd >>> (48-bits)); - } - - /** - * Returns a pseudorandom, uniformly distributed value between the - * given least value (inclusive) and bound (exclusive). - * - * @param least the least value returned - * @param bound the upper bound (exclusive) - * @throws IllegalArgumentException if least greater than or equal - * to bound - * @return the next value - */ - public int nextInt(int least, int bound) { - if (least >= bound) - throw new IllegalArgumentException(); - return nextInt(bound - least) + least; - } - - /** - * Returns a pseudorandom, uniformly distributed value - * between 0 (inclusive) and the specified value (exclusive). - * - * @param n the bound on the random number to be returned. Must be - * positive. - * @return the next value - * @throws IllegalArgumentException if n is not positive - */ - public long nextLong(long n) { - if (n <= 0) - throw new IllegalArgumentException("n must be positive"); - // Divide n by two until small enough for nextInt. On each - // iteration (at most 31 of them but usually much less), - // randomly choose both whether to include high bit in result - // (offset) and whether to continue with the lower vs upper - // half (which makes a difference only if odd). - long offset = 0; - while (n >= Integer.MAX_VALUE) { - int bits = next(2); - long half = n >>> 1; - long nextn = ((bits & 2) == 0) ? half : n - half; - if ((bits & 1) == 0) - offset += n - nextn; - n = nextn; - } - return offset + nextInt((int) n); - } - - /** - * Returns a pseudorandom, uniformly distributed value between the - * given least value (inclusive) and bound (exclusive). - * - * @param least the least value returned - * @param bound the upper bound (exclusive) - * @return the next value - * @throws IllegalArgumentException if least greater than or equal - * to bound - */ - public long nextLong(long least, long bound) { - if (least >= bound) - throw new IllegalArgumentException(); - return nextLong(bound - least) + least; - } - - /** - * Returns a pseudorandom, uniformly distributed {@code double} value - * between 0 (inclusive) and the specified value (exclusive). - * - * @param n the bound on the random number to be returned. Must be - * positive. - * @return the next value - * @throws IllegalArgumentException if n is not positive - */ - public double nextDouble(double n) { - if (n <= 0) - throw new IllegalArgumentException("n must be positive"); - return nextDouble() * n; - } - - /** - * Returns a pseudorandom, uniformly distributed value between the - * given least value (inclusive) and bound (exclusive). - * - * @param least the least value returned - * @param bound the upper bound (exclusive) - * @return the next value - * @throws IllegalArgumentException if least greater than or equal - * to bound - */ - public double nextDouble(double least, double bound) { - if (least >= bound) - throw new IllegalArgumentException(); - return nextDouble() * (bound - least) + least; - } - - private static final long serialVersionUID = -5851777807851030925L; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/Changes.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/Changes.md deleted file mode 100644 index 683c37a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/Changes.md +++ /dev/null @@ -1,157 +0,0 @@ -# connection_pool Changelog - -2.4.1 ------- - -- New `auto_reload_after_fork` config option to disable auto-drop [#177, shayonj] - -2.4.0 ------- - -- Automatically drop all connections after fork [#166] - -2.3.0 ------- - -- Minimum Ruby version is now 2.5.0 -- Add pool size to TimeoutError message - -2.2.5 ------- - -- Fix argument forwarding on Ruby 2.7 [#149] - -2.2.4 ------- - -- Add `reload` to close all connections, recreating them afterwards [Andrew Marshall, #140] -- Add `then` as a way to use a pool or a bare connection with the same code path [#138] - -2.2.3 ------- - -- Pool now throws `ConnectionPool::TimeoutError` on timeout. [#130] -- Use monotonic clock present in all modern Rubies [Tero Tasanen, #109] -- Remove code hacks necessary for JRuby 1.7 -- Expose wrapped pool from ConnectionPool::Wrapper [Thomas Lecavelier, #113] - -2.2.2 ------- - -- Add pool `size` and `available` accessors for metrics and monitoring - purposes [#97, robholland] - -2.2.1 ------- - -- Allow CP::Wrapper to use an existing pool [#87, etiennebarrie] -- Use monotonic time for more accurate timeouts [#84, jdantonio] - -2.2.0 ------- - -- Rollback `Timeout` handling introduced in 2.1.1 and 2.1.2. It seems - impossible to safely work around the issue. Please never, ever use - `Timeout.timeout` in your code or you will see rare but mysterious bugs. [#75] - -2.1.3 ------- - -- Don't increment created count until connection is successfully - created. [mylesmegyesi, #73] - -2.1.2 ------- - -- The connection\_pool will now close any connections which respond to - `close` (Dalli) or `disconnect!` (Redis). This ensures discarded connections - from the fix in 2.1.1 are torn down ASAP and don't linger open. - - -2.1.1 ------- - -- Work around a subtle race condition with code which uses `Timeout.timeout` and - checks out a connection within the timeout block. This might cause - connections to get into a bad state and raise very odd errors. [tamird, #67] - - -2.1.0 ------- - -- Refactoring to better support connection pool subclasses [drbrain, - #55] -- `with` should return value of the last expression [#59] - - -2.0.0 ------ - -- The connection pool is now lazy. Connections are created as needed - and retained until the pool is shut down. [drbrain, #52] - -1.2.0 ------ - -- Add `with(options)` and `checkout(options)`. [mattcamuto] - Allows the caller to override the pool timeout. -```ruby -@pool.with(:timeout => 2) do |conn| -end -``` - -1.1.0 ------ - -- New `#shutdown` method (simao) - - This method accepts a block and calls the block for each - connection in the pool. After calling this method, trying to get a - connection from the pool raises `PoolShuttingDownError`. - -1.0.0 ------ - -- `#with_connection` is now gone in favor of `#with`. - -- We no longer pollute the top level namespace with our internal -`TimedStack` class. - -0.9.3 --------- - -- `#with_connection` is now deprecated in favor of `#with`. - - A warning will be issued in the 0.9 series and the method will be - removed in 1.0. - -- We now reuse objects when possible. - - This means that under no contention, the same object will be checked - out from the pool after subsequent calls to `ConnectionPool#with`. - - This change should have no impact on end user performance. If - anything, it should be an improvement, depending on what objects you - are pooling. - -0.9.2 --------- - -- Fix reentrant checkout leading to early checkin. - -0.9.1 --------- - -- Fix invalid superclass in version.rb - -0.9.0 --------- - -- Move method\_missing magic into ConnectionPool::Wrapper (djanowski) -- Remove BasicObject superclass (djanowski) - -0.1.0 --------- - -- More precise timeouts and better error message -- ConnectionPool now subclasses BasicObject so `method_missing` is more effective. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/LICENSE deleted file mode 100644 index 7673cbf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2011 Mike Perham - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/README.md deleted file mode 100644 index 2a212be..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/README.md +++ /dev/null @@ -1,135 +0,0 @@ -connection\_pool -================= -[![Build Status](https://github.com/mperham/connection_pool/actions/workflows/ci.yml/badge.svg)](https://github.com/mperham/connection_pool/actions/workflows/ci.yml) - -Generic connection pooling for Ruby. - -MongoDB has its own connection pool. -ActiveRecord has its own connection pool. -This is a generic connection pool that can be used with anything, e.g. Redis, Dalli and other Ruby network clients. - -Usage ------ - -Create a pool of objects to share amongst the fibers or threads in your Ruby application: - -``` ruby -$memcached = ConnectionPool.new(size: 5, timeout: 5) { Dalli::Client.new } -``` - -Then use the pool in your application: - -``` ruby -$memcached.with do |conn| - conn.get('some-count') -end -``` - -If all the objects in the connection pool are in use, `with` will block -until one becomes available. -If no object is available within `:timeout` seconds, -`with` will raise a `ConnectionPool::TimeoutError` (a subclass of `Timeout::Error`). - -You can also use `ConnectionPool#then` to support _both_ a -connection pool and a raw client. - -```ruby -# Compatible with a raw Redis::Client, and ConnectionPool Redis -$redis.then { |r| r.set 'foo' 'bar' } -``` - -Optionally, you can specify a timeout override using the with-block semantics: - -``` ruby -$memcached.with(timeout: 2.0) do |conn| - conn.get('some-count') -end -``` - -This will only modify the resource-get timeout for this particular -invocation. -This is useful if you want to fail-fast on certain non-critical -sections when a resource is not available, or conversely if you are comfortable blocking longer on a particular resource. -This is not implemented in the `ConnectionPool::Wrapper` class. - -## Migrating to a Connection Pool - -You can use `ConnectionPool::Wrapper` to wrap a single global connection, making it easier to migrate existing connection code over time: - -``` ruby -$redis = ConnectionPool::Wrapper.new(size: 5, timeout: 3) { Redis.new } -$redis.sadd('foo', 1) -$redis.smembers('foo') -``` - -The wrapper uses `method_missing` to checkout a connection, run the requested method and then immediately check the connection back into the pool. -It's **not** high-performance so you'll want to port your performance sensitive code to use `with` as soon as possible. - -``` ruby -$redis.with do |conn| - conn.sadd('foo', 1) - conn.smembers('foo') -end -``` - -Once you've ported your entire system to use `with`, you can simply remove `Wrapper` and use the simpler and faster `ConnectionPool`. - - -## Shutdown - -You can shut down a ConnectionPool instance once it should no longer be used. -Further checkout attempts will immediately raise an error but existing checkouts will work. - -```ruby -cp = ConnectionPool.new { Redis.new } -cp.shutdown { |c| c.close } -``` - -Shutting down a connection pool will block until all connections are checked in and closed. -**Note that shutting down is completely optional**; Ruby's garbage collector will reclaim unreferenced pools under normal circumstances. - -## Reload - -You can reload a ConnectionPool instance in the case it is desired to close all connections to the pool and, unlike `shutdown`, afterwards recreate connections so the pool may continue to be used. -Reloading may be useful after forking the process. - -```ruby -cp = ConnectionPool.new { Redis.new } -cp.reload { |conn| conn.quit } -cp.with { |conn| conn.get('some-count') } -``` - -Like `shutdown`, this will block until all connections are checked in and closed. - -## Current State - -There are several methods that return information about a pool. - -```ruby -cp = ConnectionPool.new(size: 10) { Redis.new } -cp.size # => 10 -cp.available # => 10 - -cp.with do |conn| - cp.size # => 10 - cp.available # => 9 -end -``` - -Notes ------ - -- Connections are lazily created as needed. -- There is no provision for repairing or checking the health of a connection; - connections should be self-repairing. This is true of the Dalli and Redis - clients. -- **WARNING**: Don't ever use `Timeout.timeout` in your Ruby code or you will see - occasional silent corruption and mysterious errors. The Timeout API is unsafe - and cannot be used correctly, ever. Use proper socket timeout options as - exposed by Net::HTTP, Redis, Dalli, etc. - - -Author ------- - -Mike Perham, [@getajobmike](https://twitter.com/getajobmike), diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/connection_pool.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/connection_pool.gemspec deleted file mode 100644 index 32289f2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/connection_pool-2.4.1/connection_pool.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -require "./lib/connection_pool/version" - -Gem::Specification.new do |s| - s.name = "connection_pool" - s.version = ConnectionPool::VERSION - s.platform = Gem::Platform::RUBY - s.authors = ["Mike Perham", "Damian Janowski"] - s.email = ["mperham@gmail.com", "damian@educabilia.com"] - s.homepage = "https://github.com/mperham/connection_pool" - s.description = s.summary = "Generic connection pool for Ruby" - - s.files = ["Changes.md", "LICENSE", "README.md", "connection_pool.gemspec", - "lib/connection_pool.rb", "lib/connection_pool/timed_stack.rb", - "lib/connection_pool/version.rb", "lib/connection_pool/wrapper.rb"] - s.executables = [] - s.require_paths = ["lib"] - s.license = "MIT" - s.add_development_dependency "bundler" - s.add_development_dependency "minitest", ">= 5.0.0" - s.add_development_dependency "rake" - s.required_ruby_version = ">= 2.5.0" - - s.metadata = {"changelog_uri" => "https://github.com/mperham/connection_pool/blob/main/Changes.md", "rubygems_mfa_required" => "true"} -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.coveralls.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.coveralls.yml deleted file mode 100644 index 5cd7e59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.coveralls.yml +++ /dev/null @@ -1,2 +0,0 @@ -service_name: travis-ci -repo_token: 99b5l6CKFt3CC4rxYUetvDQvKtaTgCJW2 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.github/workflows/ci.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.github/workflows/ci.yml deleted file mode 100644 index bb78947..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.github/workflows/ci.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: CI - -on: [push, pull_request] - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - ruby: [ '2.6', '2.7', '3.0', '3.1', '3.2' ] # , 'ruby-head' ] - name: Ruby ${{ matrix.ruby }} tests - steps: - - uses: actions/checkout@v2 - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - - name: Bundle install - run: | - gem install bundler - bundle install --jobs 4 --retry 3 - - name: Run tests - run: bundle exec rake test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.yardopts b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.yardopts deleted file mode 100644 index 8d7d410..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/.yardopts +++ /dev/null @@ -1,7 +0,0 @@ -- ---main README.md -LICENSE -DNSSEC -EXAMPLES -EVENTMACHINE -RELEASE_NOTES.md diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/DNSSEC b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/DNSSEC deleted file mode 100644 index b9ce662..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/DNSSEC +++ /dev/null @@ -1,19 +0,0 @@ -DNSSEC support in Dnsruby -========================= - -DNSSEC defines a set of security extensions to DNS which provide a way for a resolver to verify cryptographically the DNS RRSets returned by an upstream resolver. The main standard is defined in RFCs 4033, 4034 and 4035. - -Dnsruby provides a recursive, validating security-aware stub resolver which maintains a cache of trusted keys and verifies RRSIG-signed messages with those keys (adding new trusted keys from signed DNSKEY RRSets and DS records). If dnsruby does not currently have the required key, it will attempt to walk the tree from the nearest known trusted key. - -The dnssec security status of a message is stored in Message#security_level (defined by Message::SecurityLevel). - -It is possible to tell Dnsruby to use a Recursor or a defined (or system default) Resolver to perform the validation. The default is to use a Recursor, as many systems are behind dodgy servers which mangle the DNS records. Using a Recursor means that only authoritative nameservers are queried for the DNSSEC records. - -In the absence of a signed root, Dnsruby has no trust anchor to validate messages against. It is possible to manually configure dnsruby with individual trust ancors. It is also possible to import a trust anchor repository (such as the one maintained by IANA), and configure the ISC DLV registry. Dnsruby contains basic methods to do this, although they are not currently secured. Clients are recommended to develop their own means of obtaining the initial trust anchors. - -It is possible to turn off dnssec validation on a per-message basis. Simply set Message#do_validation to false. - -DNSSEC is on by default - if desired, you can turn it off with the dnssec flag in Dnsruby::(Single)Resolver if desired. EDNS0 support is also enabled by default - if desired, you can turn this off by setting the Dnsruby::(Single)Resolver#udp_packet_size property to be 512. There should generally be no need to do this. - -Dnsruby maintains a cache of responses, and a cache of trusted keys. Once the initial keys have been downloaded, and a set of trusted keys built up, very little overhead is required to enjoy the benefits of DNSSEC. There is, however, some initial cost (to build up the caches). - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/EVENTMACHINE b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/EVENTMACHINE deleted file mode 100644 index 5debbae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/EVENTMACHINE +++ /dev/null @@ -1 +0,0 @@ -Dnsruby no longer supports EventMachine - the inbuilt select loop now works on all platforms. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/EXAMPLES b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/EXAMPLES deleted file mode 100644 index ad2b97d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/EXAMPLES +++ /dev/null @@ -1,109 +0,0 @@ -# This file shows how to do common tasks with Dnsruby : - -require 'rubygems' -require 'dnsruby' -include Dnsruby - -# Use the system configured nameservers to run a query -res = Resolver.new -ret = res.query("example.com") # Defaults to A record -a_recs = ret.answer.rrset("A") - -# Use a defined nameserver to run an asynchronous query -# with no recursion -res = Resolver.new({:nameserver => ["a.iana-servers.net", - "b.iana-servers.net"]}) -queue = Queue.new -m = Message.new("example.com", Types.NS) -m.header.rd = false -res.send_async(m, queue, 1) -# ... do some other stuff ... -id, reply, error = queue.pop -if (error) - print "Error : #{error}\n" -else - # See where the answer came from - print "Got response from : #{reply.answerfrom}, #{reply.answerip}\n" -end - -# Use a Recursor to recursively query authoritative nameservers, -# starting from the root. Note that a cache of authoritative servers -# is built up for use by future queries by any Recursors. -rec = Recursor.new -ret = rec.query("uk-dnssec.nic.uk", "NS") - -# Ask Dnsruby to send the query without using the cache. -m.do_caching = false -ret = res.send_message(m) - -# Ask Dnsruby to send a Message without doing any pre- or post-processing -ret = res.send_plain_message(Message.new("example.com")) - -# Send a TSIG signed dynamic update to a resolver -# and verify the response -res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk") -res.dnssec = false -tsig = Dnsruby::RR.create({ - :name => "rubytsig", - :type => "TSIG", - :ttl => 0, - :klass => "ANY", - :algorithm => "hmac-md5", - :fudge => 300, - :key => "8n6gugn4aJ7MazyNlMccGKH1WxD2B3UvN/O/RA6iBupO2/03u9CTa3Ewz3gBWTSBCH3crY4Kk+tigNdeJBAvrw==", - :error => 0 - }) -update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") -# ... add stuff to the update -update.absent("notthere.update.validation-test-servers.nominet.org.uk", 'TXT') -tsig.apply(update) -response = res.send_message(update) -print "TSIG response was verified? : #{response.verified?}\n" - -# -# DNSSEC stuff -# - -# Load the ISC DLV key and query some signed zones -dlv_key = RR.create("dlv.isc.org. IN DNSKEY 257 3 5 BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh") -Dnssec.add_dlv_key(dlv_key) -res = Recursor.new -ret = res.query("frobbit.se", "NS") -print "Security level for signed zone from DLV : #{ret.security_level}\n" -frobbit_servers = ret.answer.rrset("frobbit.se", Types.NS) - - -# and query for a zone which is not signed -r = Resolver.new -ret = r.query("ed.ac.uk") -print "Security level of unsigned zone : #{ret.security_level}\n" - -res = Resolver.new -frobbit_servers.rrs.each {|s| print "Adding nameserver : #{s.nsdname}\n"; res.add_server(s.nsdname)} - -# and some non-existent domains in signed ones -res.send_async(Message.new("notthere.frobbit.se"), queue, 2) -id, reply, error = queue.pop -print "Error returned from non-existent name in signed zone : #{error}, security level : #{reply.security_level}\n" - -# Clear the keys and caches -Dnsruby::Dnssec.clear_trusted_keys -Dnsruby::Dnssec.clear_trust_anchors -Dnsruby::PacketSender.clear_caches -Dnsruby::Recursor.clear_caches - -# Load a specific trust anchor and query some signed zones -trusted_key = Dnsruby::RR.create({:name => "uk-dnssec.nic.uk.", - :type => Dnsruby::Types.DNSKEY, - :flags => 257, - :protocol => 3, - :algorithm => 5, - :key=> "AQPJO6LjrCHhzSF9PIVV7YoQ8iE31FXvghx+14E+jsv4uWJR9jLrxMYm sFOGAKWhiis832ISbPTYtF8sxbNVEotgf9eePruAFPIg6ZixG4yMO9XG LXmcKTQ/cVudqkU00V7M0cUzsYrhc4gPH/NKfQJBC5dbBkbIXJkksPLv Fe8lReKYqocYP6Bng1eBTtkA+N+6mSXzCwSApbNysFnm6yfQwtKlr75p m+pd0/Um+uBkR4nJQGYNt0mPuw4QVBu1TfF5mQYIFoDYASLiDQpvNRN3 US0U5DEG9mARulKSSw448urHvOBwT9Gx5qF2NE4H9ySjOdftjpj62kjb Lmc8/v+z" - }) -Dnssec.add_trust_anchor(trusted_key) -res = Dnsruby::Resolver.new("dnssec.nominet.org.uk") -r = res.query("aaa.bigzone.uk-dnssec.nic.uk", Dnsruby::Types.DNSKEY) -print "Security level of signed zone under manually install trusted key : #{r.security_level}\n" - -# See if we are using a Recursor for DNSSEC queries -print "Using recursion to validate DNSSEC responses? : #{Dnssec.do_validation_with_recursor?}\n" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/Gemfile deleted file mode 100644 index fa75df1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' - -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/LICENSE deleted file mode 100644 index 71b07dc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/README.md deleted file mode 100644 index 1b5b706..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/README.md +++ /dev/null @@ -1,96 +0,0 @@ -[![Build Status](https://github.com/alexdalitz/dnsruby/actions/workflows/ci.yml/badge.svg)] -[![Coverage Status](https://img.shields.io/coveralls/alexdalitz/dnsruby.svg)](https://coveralls.io/r/alexdalitz/dnsruby?branch=master) - - - -Dnsruby -======= - -Dnsruby is a pure Ruby DNS client library which implements a -stub resolver. It aims to comply with all DNS RFCs. - -Dnsruby presents an enhanced API for DNS. It is based on Ruby's core -resolv.rb Resolv API, but has been much extended to provide a -complete DNS implementation. - -Dnsruby runs a single I/O thread to handle all concurrent -queries. It is therefore suitable for high volume DNS applications. - -The following is a (non-exhaustive) list of features : - -- Implemented RRs : A, AAAA, AFSDB, ANY, CAA, CERT, CNAME, DNAME, - GPOS, HINFO, ISDN, LOC, MB, MG, MINFO, MR, MX, NAPTR, NS, NSAP, - NXT, OPT, PTR, PX, RP, RT, SOA, SPF, SRV, TKEY, TSIG, TXT, - WKS, X25, DNSKEY, RRSIG, NSEC, NSEC3, NSEC3PARAM, DS, DLV - -- Generic RR types supported (RFC3597) - -- (Signed) Zone transfer (AXFR and IXFR) supported - -- (Signed) Dynamic updates supported - -- DNSSEC validation supported - -Dependencies ------------- - -Dnsruby can run with no dependencies. However, if you wish to -use TSIG or DNSSEC then the OpenSSL library must be available. -This is a part of the Ruby standard library, but appears not to -be present on all Ruby platforms. If it is not available, then -the test code will not run the tests which require it. Code which -attempts to use the library (if it is not present) will raise an -exception. - -Demo Code ---------- - -The demo folder contains some example programs using Dnsruby. -These examples include a basic dig tool (rubydig) and a tool to -concurrently resolve many names, amongst others. - -Unit Tests ----------- - -Tests require a current version of minitest (see the .gemspec file -for which version is required). In order for the tests to run -successfully you may need to have the bundler gem installed and -run `bundle` or `bundle install` from the project root to install -a suitable version of minitest. - -There are "online" and "offline" tests. You can use rake to -conveniently run the tests. From the project root you can run: -``` -rake test # run all tests -rake test_offline # run only offline tests -rake test_online # run only online tests -``` -If you get the following error when running rake test tasks, -then you may need to preface the command with bundle exec to -ensure that the gem versions specified in Gemfile.lock are used -at runtime: - -``` -bundle exec rake test -``` - -Usage Help ----------- - -There are a couple of blog articles that might be helpful -in understanding how to use Dnsruby. These used to be hosted by -Nominet UK, however the original content has been copied to the -dnsruby github wiki at : - -https://github.com/alexdalitz/dnsruby/wiki - -Contact/Links -------- - -| Link Type | Link/Text | -|-----|----- -| Author Email | alex@caerkettontech.com | -| Github | https://github.com/alexdalitz/dnsruby | -| Google Group | https://groups.google.com/forum/#!forum/dnsruby | -| Rubygems | http://rubygems.org/gems/dnsruby/ | -| Documentation | https://www.rubydoc.info/gems/dnsruby/ | diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/RELEASE_NOTES.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/RELEASE_NOTES.md deleted file mode 100644 index 41cdf2e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/RELEASE_NOTES.md +++ /dev/null @@ -1,246 +0,0 @@ -# Release Notes - -## v.1.70.0 - -* OpenSSL 3 support -* Resource record hashes no longer include the rdata -* Removed requite to title-cased Digest - thanks jhawthron - -## v.1.61.9 - -* Remove unused net-ftp dependency - -## v.1.61.8 - -* Fix compatability with Ruby 3.1 - thanks @byroot Jean Boussier -* Get the digdlv demo to enable dnssec - -## v1.61.7 - -* Fix namespace issue from v1.61.6 - -## v1.61.6 - -* RD bit not set on Recursor queries (thanks Sean Dilda!) -* Handle quoted strings followed by unquoted strings in TXT records -* do not worry about rogue repeated Ids - just log an error and get on with life -* Clear Ruby warnings -* Use GitHub Actions rather than Travis - -## v1.61.5 - -* CAA record fixes - add contactphone and contactemail -* Fix eprecation warnings - -## v1.61.4 - -* Dnsruby::Name : document .punycode -* gemspec enhancement -* add yard build file -* fix create name include url special characters -* Fix uninitialized constant error when using via Rails -* Implement ECDSAP256SHA256 (13) / ECDSAP384SHA384 (14) algorithms for DNSKEY -* Reinitialize all IANA TAR keys with Dnssec.reset - -## v1.61.3 - -* TCP timeout and port changes - -## v1.61.2 - -* Add new root key - -## v1.61.1 - -* Add Addressable as a gem runtime dependency - -## v1.61.0 - -* Add URI, CDS and CDNSKEY records -* Supply port to DNS.new as optiona parameter -* Supply timeout to zone transfer connect -* Fix multi-line strings -* Try absolute name as candidate in DNS even if not dot supplied -* Do not try to generate candidates if no domain is given -* Handle new OpenSSL interface as well as old -* Handle new DSA interface -* fix encode error select thread issue -* handle encoding errors -* add punycode support -* Make sure dnssec is enabled in verifier and also in digroot demo -* Other minor fixes and changes to test code and infrastructure - -## v1.60.2 - -* Fix deletion of TXT records with spaces in dynamic updates (thanks Sean Dilda) -* Fix use of non-default ports in Dnsruby::Resolver (thanks Thomas Morgan) -* Fix NAPTR encoding for null rdata dynamic update packets -* Fix CAA resource record encoding -* Avoid changing ruby global thread abort behavior (thanks Brent Cook) - -## v1.60.1 - -* DNSSEC validation switched OFF by default (but can still be switched on) -* Add APL RR support (thanks Manabu Sonoda) -* Various test fixes (thanks Keith Bennett) -* 'include' issues fixed (thanks Keith Bennett!) -* Fixnum replacement (thanks Keith Bennett) -* Zone transfer fixes (thanks Manabu Sonoda) -* Name decoding fix -* MX record passing error now raised -* CAA RR support (thanks Richard Luther) -* TLSA RR support (thanks Manabu Sonoda) - - -## v1.60.0 - -* TCP multi-packet support fixed -* Response 'Message' now included with exception. -* Docs added -* CNAME dynamic update fix - -## v1.59.3 - -* Output TXT record multiple strings correctly -* NONE class encoding fix -* only add name labels if there are any - -## v1.59.2 - -* Timeout error fix - -## v1.59.1 - -* Support for HMAC SHA512 TSIG keys -* Fix TCP pipelining tests -* IDN encoding error returned as Dnsruby::OtherResolvError - -## v1.59.0 - -* Add LICENSE file -* Add Cache max_size (gihub issue 64) -* Disable caching for SOA lookups in demo check_soa.rb -* Fix for invalid nameserver in config -* Fix encoding for OPT data (thanks Craig Despeaux) -* Various test system fixes -* OPT fixes -* DNSSEC verification failure handling wrt lack of DS chain -* DNSSEC validation policy name constants -* Fix for BOGUS DLV chains -* demo upgrades -* Resolver hints improvements - - -## v1.58.0 - -* Add TCP pipelining (reusing a single TCP connection for multiple requests). -* Enhance zone reading, including reading data from a string. -* Add add_answer! method for adding duplicate answers, as needed for an AXFR response. -* Add support for GPOS and NXT resource records. -* Test cleanup, including removal of use of Nominet servers, soak_test cleanup. -* Refactorings: MessageDecoder, Resolv, Resolver (part). -* Fix zone reader adding unwanted dot to relative hostnames being converted to absolute. -* Fix default access for tsig options in Resolver. -* Fix ZoneTransfer not to use deprecated SingleResolver. -* Fix Resolver bug in parameter to create_tsig_options. -* Fix tests to always use working copy and not gem. - - -## v1.57.0 - -* Add query_raw method as alias for send_plain_message, with option to raise or return error. -* Fixed a bug in RR hash calculation where TTL should have been ignored but wasn't. -* Add support for (obsolete) GPOS resource record type. -* Tweak Travis CI configuration. -* Fix zone reader for case where a line contains whitespace preceding a comment. -* Add post install message. -* Improve README. -* Moved content of NEWS to RELEASE_NOTES.md. -* Use git ls-files now to determine files for inclusion in gem. - - -## v1.56.0 - -* Drop support for Ruby 1.8, using lambda -> and hash 'key: value' notations. -* First release since the move from Rubyforge to Github (https://github.com/alexdalitz/dnsruby). -* Add EDNS client subnet support. -* Relocate CodeMapper subclasses, Resolv, RR, and RRSet classes. -* Add Travis CI and coveralls integration. -* Improve Google IPV6 support. -* Convert some file names to snake case. -* Remove trailing whitespace from lines, and ensure that comments have space between '#' and text. -* Restore test success when running under JRuby. -* Disabled attempt to connect to Nominet servers, which are no longer available. -* Convert from test/unit to minitest/autorun to support Ruby 2.1+. -* Remove setup.rb. -* Other minor refactoring and improvements to production code, test code, and documentation. - - -## v1.53 - -* Validation routine fixes -* Ruby 1.9 fixes -* Recursor fixes -* IPv4 Regex fixes -* Fixes for A/PTR lookups with IP-like domain name -* TXT and SSHFP processing fixes -* Default retry parameters in Resolver more sensible - - -## v1.48 - -* Fixed deadlock/performance issue seen on some platforms -* DNSSEC validation now disabled by default -* Signed root DS record can be added to validator -* ITAR support removed -* multi-line DS/RRSIG reading bug fixed (thanks Marco Davids!) -* DS algorithms of more than one digit can now be read from string -* LOC records now parsed correctly -* HINFO records now parsed correctly - - -## v1.42 - -* Complicated TXT and NAPTR records now handled correctly -* ZoneReader now handles odd escape characters correctly -* Warns when immediate timeout occurs because no nameservers are configured -* Easy hmac-sha1/256 options to Resolver#tsig= -* ZoneReader fixed for "IN CNAME @" notations -* ZoneReader supports wildcards -* Dnsruby.version method added - currently returns 1.42 - - -## v1.41 - -* RFC3597 unknown classes (e.g. CLASS32) now handled correctly - in RRSIGs -* Resolver#do_caching flag added for Resolver-level caching -* DNSKEY#key_tag now cached - only recalculated when key data - changes -* Bugfix where Resolver would not time queries out if no - nameservers were configured -* Recursor now performs A and AAAA queries in parallel -* Fix for zero length salt -* Fixing priming for signed root -* Fixes for DLV verification -* Other minor fixes - - -## v1.40 - -* Zone file reading support added (Dnsruby::ZoneReader) -* Name and Label speed-ups -* CodeMapper speed-ups -* DHCID RR added -* LOC presentation format parsing fixed -* KX RR added -* Quotations now allowed in text representation for ISDN, X25 and HINFO -* AFSDB from_string fixes -* Fixing CERT types and from_string -* CERT now allows algorithm 0 -* Fix for DS record comparison -* HIP RR added -* Minor bug fixes -* IPSECKEY RR added -* Clients can now manipulate Name::Labels - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/Rakefile deleted file mode 100644 index 4582769..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/Rakefile +++ /dev/null @@ -1,35 +0,0 @@ -require 'rake/testtask' - -ENV['RUN_EXTRA_TASK'] = 'TRUE' if - RUBY_VERSION >= "1.9.3" && defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby' - -if ENV['RUN_EXTRA_TASK'] == 'TRUE' - require 'rdoc/task' - - Rake::RDocTask.new do |rd| - rd.rdoc_files.include("lib/**/*.rb") - rd.rdoc_files.exclude("lib/Dnsruby/iana_ports.rb") - rd.main = "Dnsruby" - # rd.options << "--ri" - end - - require 'coveralls/rake/task' - Coveralls::RakeTask.new -end - -def create_task(task_name, test_suite_filespec) - Rake::TestTask.new do |t| - t.name = task_name - t.test_files = FileList[test_suite_filespec] - t.verbose = true - t.warning = false - end -end - -create_task(:test, 'test/ts_dnsruby.rb') -create_task(:test_offline, 'test/ts_offline.rb') -create_task(:test_online, 'test/ts_online.rb') -create_task(:soak, 'test/tc_soak.rb') -create_task(:message, 'test/tc_message.rb') -create_task(:cache, 'test/tc_cache.rb') -create_task(:pipe, 'test/tc_tcp_pipelining.rb') diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/SIGNED_UPDATES b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/SIGNED_UPDATES deleted file mode 100644 index aca0344..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/SIGNED_UPDATES +++ /dev/null @@ -1,22 +0,0 @@ -Signed updates with Dnsruby -=========================== - -In order to use TSIG records to automatically perform TSIG signing/verification of messages : - - res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk") - - # Now configure the resolver with the TSIG key for signing/verifying - KEY_NAME="rubytsig" - KEY = "8n6gugn4aJ7MazyNlMccGKH1WxD2B3UvN/O/RA6iBupO2/03u9CTa3Ewz3gBWTSBCH3crY4Kk+tigNdeJBAvrw==" - res.tsig=KEY_NAME, KEY - - - # Now try sending/receiving some update messages - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - update_name = generate_update_name - update.absent(update_name) - update.add(update_name, 'TXT', 100, "test signed update") - - # Resolver will automatically sign message and verify response - response = res.send_message(update) - assert(response.verified?) # Check that the response has been verified \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/axfr.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/axfr.rb deleted file mode 100755 index 6d06144..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/axfr.rb +++ /dev/null @@ -1,197 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# - -# 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. -# ++ - -# = NAME -# -# axfr - Perform a DNS zone transfer -# -# = SYNOPSIS -# -# axfr [ -fqs ] [ -D directory ] [ @nameserver ] zone -# -# = DESCRIPTION -# -# axfr performs a DNS zone transfer, prints each record to the standard -# output, and stores the zone to a file. If the zone has already been -# stored in a file, axfr will read the file instead of performing a -# zone transfer. -# -# Zones will be stored in a directory hierarchy. For example, the -# zone transfer for foo.bar.com will be stored in the file -# HOME/.dns-zones/com/bar/foo/axfr. The directory can be changed -# with the B<-D> option. -# -# This programs requires that the Storable module be installed. -# -# = OPTIONS -# -# * -f Force a zone transfer, even if the zone has already been stored -# in a file. -# -# * -q Be quiet -- don't print the records from the zone. -# -# * -s Perform a zone transfer if the SOA serial number on the nameserver -# is different than the serial number in the zone file. -# -# * -D directory Store zone files under I instead of the default directory (see "FILES") -# -# * nameserver Query nameserver instead of the default nameserver. -# -# = FILES -# -# * ${HOME}/.dns-zones Default directory for storing zone files. -# -# = AUTHOR -# -# Michael Fuhr -# - -unless (1..2).include?(ARGV.length) - puts "Usage: #{$0} [ -fqs ] [ -D directory ] [ @nameserver ] zone" - exit(-1) -end - - -require 'getoptLong' -require 'dnsruby' - - -# ------------------------------------------------------------------------------ -# Read any command-line options and check syntax. -# ------------------------------------------------------------------------------ - -# getopts("fqsD:"); -opts = GetoptLong.new(["-f", GetoptLong::NO_ARGUMENT], - ["-q", GetoptLong::NO_ARGUMENT], - ["-D", GetoptLong::REQUIRED_ARGUMENT], - ["-s", GetoptLong::NO_ARGUMENT]) - -opt_q = false -opt_f = false -opt_s = false -opt_d = nil -opts.each do |opt, arg| - case opt - when '-q' - opt_q=true - when '-f' - opt_f = true - when '-s' - opt_s = true - when '-D' - opt_d = arg - end -end - -# ------------------------------------------------------------------------------ -# Get the nameserver (if specified) and set up the zone transfer directory -# hierarchy. -# ------------------------------------------------------------------------------ - -nameserver = (ARGV[0] =~ /^@/) ? ARGV.shift : '' -nameserver = nameserver.sub(/^@/, '') -resolver = nameserver ? Dnsruby::Resolver.new(nameserver) : Dnsruby::Resolver.new - -zone = ARGV.shift -basedir = opt_d || File.join((ENV['HOME'] || ''), '.dns-zones') -zonedir = zone.split(/\./).reverse.join("/") -zonefile = File.join(basedir, zonedir, 'axfr') - -# Don't worry about the 0777 permissions here - the current umask setting -# will be applied. -# NOTE: mkdir will raise an error on failure so I don't think 'or' works here. -unless FileTest.directory?(basedir) - Dir.mkdir(basedir, 0777) or raise RuntimeError, "can't mkdir #{basedir}: #{$!}\n" -end - -dir = basedir -# NOTE: What are we doing here? Could this be replaced by mkdir_p? -zonedir.split('/').each do |subdir| - dir += '/' + subdir - unless FileTest.directory?(dir) - Dir.mkdir(dir, 0777) or raise RuntimeError, "can't mkdir #{dir}: #{$!}\n" - end -end - -# ------------------------------------------------------------------------------ -# Get the zone. -# ------------------------------------------------------------------------------ - -if FileTest.exist?(zonefile) && !opt_f - zoneref = Marshal.load(File.open(zonefile)) - if zoneref.nil? - raise RuntimeError, "couldn't retrieve zone from #{zonefile}: #{$!}\n" - end - - # ---------------------------------------------------------------------- - # Check the SOA serial number if desired. - # ---------------------------------------------------------------------- - - if opt_s - serial_file = serial_zone = nil - - zoneref.each do |rr| - if (rr.type == 'SOA') - serial_file = rr.serial - break - end - end - if serial_file.nil? - raise RuntimeError, "no SOA in #{zonefile}\n" - end - - soa = resolver.query(zone, 'SOA') - if soa.nil? - raise RuntimeError, "couldn't get SOA for #{zone}: " + resolver.errorstring + "\n" - end - - soa.answer.each do |rr| - if rr.type == 'SOA' - serial_zone = rr.serial - break - end - end - - if serial_zone != serial_file - opt_f = true - end - end -else - opt_f = true -end - -if opt_f - print "nameserver = #{nameserver}, zone=#{zone}" - zt = Dnsruby::ZoneTransfer.new - zt.server = nameserver if nameserver != '' - - zoneref = zt.transfer(zone) - if zoneref.nil? - raise RuntimeError, "couldn't transfer zone\n" - end - Marshal.dump(zoneref, File.open(zonefile, File::CREAT | File::RDWR)) -end - -# ------------------------------------------------------------------------------ -# Print the records in the zone. -# ------------------------------------------------------------------------------ - -unless opt_q - zoneref.each { |z| puts z } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/check_soa.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/check_soa.rb deleted file mode 100755 index 7c13b08..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/check_soa.rb +++ /dev/null @@ -1,179 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - - -# = NAME -# -# check_soa - Check a domain's nameservers -# -# = SYNOPSIS -# -# check_soa domain -# -# = DESCRIPTION -# -# check_soa queries each of a domain's nameservers for the Start -# of Authority (SOA) record and prints the serial number. Errors -# are printed for nameservers that couldn't be reached or didn't -# answer authoritatively. -# -# = AUTHOR -# -# The original Bourne Shell and C versions were printed in -# "DNS and BIND" by Paul Albitz & Cricket Liu. -# -# The Perl version was written by Michael Fuhr . -# -# = SEE ALSO -# -# axfr, check_zone, mresolv, mx, perldig, Net::DNS - -require 'dnsruby' - -NO_DOMAIN_SPECIFIED = -1 -NO_NAMESERVERS = -2 - - -def fatal_error(message, exit_code) - puts message - exit(exit_code) -end - - -def usage - fatal_error("Usage: #{$0} domain", NO_DOMAIN_SPECIFIED) -end - - -def create_resolver - resolver = Dnsruby::Resolver.new - resolver.retry_times = 2 - resolver.recurse = 0 # Send out non-recursive queries - # disable caching otherwise SOA is cached from first nameserver queried - resolver.do_caching = false - resolver -end - - -def get_ns_response(resolver, domain) - ns_response = resolver.query(domain, 'NS') - if ns_response.header.ancount == 0 - fatal_error("No nameservers found for #{domain}.", NO_NAMESERVERS) - end - ns_response -end - - -# Finds all the nameserver domains for the domain. -def get_ns_domains(resolver, domain) - ns_response = get_ns_response(resolver, domain) - ns_answers = ns_response.answer.select { |r| r.type == 'NS'} - ns_answers.map(&:domainname) -end - - -def process_ns_domain(resolver, domain, ns_domain) - - a_response = begin - # In order to lookup the IP(s) of the nameserver, we need a Resolver - # object that is set to our local, recursive nameserver. So we create - # a new object just to do that. - local_resolver = Dnsruby::Resolver.new - - local_resolver.query(ns_domain, 'A') - rescue Exception => e - puts "Cannot find address for #{ns_domain}: #{e}" - return - end - - a_answers = a_response.answer.select {|r| r.type == 'A'} - a_answers.each do |a_answer| - - # ---------------------------------------------------------------------- - # Ask this IP. - # ---------------------------------------------------------------------- - ip_address = a_answer.address - resolver.nameserver = ip_address.to_s - print "#{ns_domain} (#{ip_address}): " - - # ---------------------------------------------------------------------- - # Get the SOA record. - # ---------------------------------------------------------------------- - soa_response = begin - resolver.query(domain, 'SOA', 'IN') - rescue Exception => e - puts "Error : #{e}" - return - end - - # ---------------------------------------------------------------------- - # Is this nameserver authoritative for the domain? - # ---------------------------------------------------------------------- - - unless soa_response.header.aa - print "isn't authoritative for #{domain}\n" - return - end - - # ---------------------------------------------------------------------- - # We should have received exactly one answer. - # ---------------------------------------------------------------------- - - unless soa_response.header.ancount == 1 - puts "expected 1 answer, got #{soa_response.header.ancount}." - return - end - - # ---------------------------------------------------------------------- - # Did we receive an SOA record? - # ---------------------------------------------------------------------- - - answer_type = soa_response.answer[0].type - unless answer_type == 'SOA' - puts "expected SOA, got #{answer_type}" - return - end - - # ---------------------------------------------------------------------- - # Print the serial number. - # ---------------------------------------------------------------------- - - puts "has serial number #{soa_response.answer[0].serial}" - end -end - - -def main - - # Get domain from command line, printing usage and exiting if none provided: - domain = ARGV.fetch(0) { usage } - - resolver = create_resolver - - ns_domains = get_ns_domains(resolver, domain) - - # ------------------------------------------------------------------------------ - # Check the SOA record on each nameserver. - # ------------------------------------------------------------------------------ - ns_domains.each do |ns_domain_name| - process_ns_domain(resolver, domain, ns_domain_name) - end -end - - -main diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/check_zone.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/check_zone.rb deleted file mode 100755 index 769c35f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/check_zone.rb +++ /dev/null @@ -1,178 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -# = NAME -# -# check_zone - Check a DNS zone for errors -# -# = SYNOPSIS -# -# check_zone [ -r ] -# -# = DESCRIPTION -# -# Checks a DNS zone for errors. Current checks are: -# -# * Checks that all A records have corresponding PTR records. -# - -# * Checks that hosts listed in NS, MX, and CNAME records have -# A records. -# -# = OPTIONS -# -# * -r Perform a recursive check on subdomains. -# -# = AUTHOR -# -# Michael Fuhr -# (Ruby version AlexD, Nominet UK) -# - - -def fatal_error(message) - puts message - exit(-1) -end - -unless (1..2).include?(ARGV.length) - fatal_error("Usage: #{$0} domain [ class ]") -end - - -require 'dnsruby' -require 'getoptLong' - - -def check_domain(args) - domain = args[0] - klass = args[1] || 'IN' - puts "----------------------------------------------------------------------" - puts "#{domain} (class #{klass}\n" - puts "----------------------------------------------------------------------" - - resolver = Dnsruby::Resolver.new - resolver.retry_times = 2 - nspack = begin - resolver.query(domain, 'NS', klass) - rescue Exception => e - print "Couldn't find nameservers for #{domain}: #{e}\n" - return - end - - print "nameservers (will request zone from first available):\n" - ns_answers = nspack.answer.select {|r| r.type == 'NS' } - ns_domain_names = ns_answers.map(&:domainname) - ns_domain_names.each { |name| puts "\t#{name}" } - puts '' - - resolver.nameserver = ns_domain_names - - zt = Dnsruby::ZoneTransfer.new - zt.server = ns_domain_names - - zone = zt.transfer(domain) # , klass) - unless zone - fatal_error("Zone transfer failed: #{resolver.errorstring}") - end - - puts "checking PTR records" - check_ptr(domain, klass, zone) - - puts "\nchecking NS records" - check_ns(domain, klass, zone) - - puts "\nchecking MX records" - check_mx(domain, klass, zone) - - puts "\nchecking CNAME records" - check_cname(domain, klass, zone) - print "\n" - - if @recurse - puts 'checking subdomains' - subdomains = Hash.new - # foreach (grep { $_->type eq 'NS' and $_->name ne $domain } @zone) { - zone.select { |i| i.type == 'NS' && i.name != domain }.each do |z| - subdomains[z.name] = 1 - end - # foreach (sort keys %subdomains) { - subdomains.keys.sort.each do |k| - check_domain([k, klass]) - end - end -end - -def check_ptr(domain, klass, zone) - resolver = Dnsruby::Resolver.new - # foreach $rr (grep { $_->type eq 'A' } @zone) { - zone.select { |z| z.type == 'A' }.each do |rr| - host = rr.name - addr = rr.address - ans = nil - begin - ans = resolver.query(addr.to_s, 'A') #, klass) - puts "\t#{host} (#{addr}) has no PTR record" if ans.header.ancount < 1 - rescue Dnsruby::NXDomain - puts "\t#{host} (#{addr}) returns NXDomain" - end - end -end - -def check_ns(domain, klass, zone) - resolver = Dnsruby::Resolver.new - # foreach $rr (grep { $_->type eq "NS" } @zone) { - zone.select { |z| z.type == 'NS' }.each do |rr| - ans = resolver.query(rr.nsdname, 'A', klass) - puts "\t", rr.nsdname, ' has no A record' if (ans.header.ancount < 1) - end -end - -def check_mx(domain, klass, zone) - resolver = Dnsruby::Resolver.new - # foreach $rr (grep { $_->type eq "MX" } @zone) { - zone.select { |z| z.type == 'MX' }.each do |rr| - ans = resolver.query(rr.exchange, 'A', klass) - print "\t", rr.exchange, " has no A record\n" if (ans.header.ancount < 1) - end -end - -def check_cname(domain, klass, zone) - resolver = Dnsruby::Resolver.new - # foreach $rr (grep { $_->type eq "CNAME" } @zone) - zone.select { |z| z.type == 'CNAME' }.each do |rr| - ans = resolver.query(rr.cname, 'A', klass) - print "\t", rr.cname, " has no A record\n" if (ans.header.ancount < 1) - end -end - -def main - opts = GetoptLong.new(['-r', GetoptLong::NO_ARGUMENT]) - @recurse = false - opts.each do |opt, arg| - case opt - when '-r' - @recurse = true - end - end - - check_domain(ARGV) -end - - -main diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/digdlv.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/digdlv.rb deleted file mode 100755 index 19bb28a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/digdlv.rb +++ /dev/null @@ -1,84 +0,0 @@ -#! /usr/bin/env ruby -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -# = NAME -# -# digdlv - Ruby script to perform DNS queries, validated against the ISC DLV -# registry. -# -# = SYNOPSIS -# -# digdlv name [ type [ class ] ] -# -# = DESCRIPTION -# -# Performs a DNS query on the given name. The record type -# and class can also be specified; if left blank they default -# to A and IN. -# The program firstly loads the DLV zone signing key. Then, the -# requested DNS query is performed recursively. The response is then validated -# - the DLV registry is searched for the keys of the closest ancestor -# of the query name, and the chain of trust is followed to prove -# that the DNSSEC records are correct, or that we do not expect the -# response to be signed. -# -# = AUTHOR -# -# Michael Fuhr -# Alex D - -require 'dnsruby' - -def fatal_error(message) - puts message - exit -1 -end - -unless (1..3).include?(ARGV.length) - fatal_error("Usage: #{$0} name [ type [ class ] ]") -end - -resolver = Dnsruby::Recursor.new -resolver.dnssec = true -zone_transfer = Dnsruby::ZoneTransfer.new - -dlv_key = Dnsruby::RR.create("dlv.isc.org. IN DNSKEY 257 3 5 BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh") -Dnsruby::Dnssec.add_dlv_key(dlv_key) - - -name, type, klass = ARGV -type ||= 'A' -klass ||= 'IN' - -if type.upcase == 'AXFR' - rrs = zone_transfer.transfer(name) # , klass) - - if rrs - rrs.each { |rr| puts rr } - else - fatal_error("Zone transfer failed: #{resolver.errorstring}.") - end - -else - - begin - answer = resolver.query(name, type, klass) - puts answer - rescue Exception => e - fatal_error("query failed: #{e}") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/digroot.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/digroot.rb deleted file mode 100755 index 41cd814..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/digroot.rb +++ /dev/null @@ -1,69 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -# = NAME -# -# digitar - Ruby script to perform DNS queries, validated against the IANA TAR -# (trust anchor repository). -# -# = SYNOPSIS -# -# digroot name [ type [ class ] ] -# -# = DESCRIPTION -# -# Performs a DNS query on the given name. The record type -# and class can also be specified; if left blank they default -# to A and IN. The program firstly performs the requested DNS -# query. The response is then validated from the signed root. -# -# = AUTHOR -# -# Michael Fuhr -# Alex D - -require 'dnsruby' - -def fatal_error(message) - puts message - exit -1 -end - -unless (1..3).include?(ARGV.length) - fatal_error("Usage: #{$0} name [ type [ class ] ]") -end - - -inner_resolver = Dnsruby::Resolver.new -inner_resolver.do_validation = true -inner_resolver.dnssec = true -resolver = Dnsruby::Recursor.new(inner_resolver) -resolver.dnssec = true - -# Dnsruby::TheLog.level=Logger::DEBUG - -name, type, klass = ARGV -type ||= 'A' -klass ||= 'IN' - -begin - answer = resolver.query(name, type, klass) - print answer -rescue Exception => e - fatal_error("query failed: #{e}") -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/example_recurse.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/example_recurse.rb deleted file mode 100755 index 8705931..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/example_recurse.rb +++ /dev/null @@ -1,43 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -# Example usage for Net::DNS::Resolver::Recurse -# Performs recursion for a query. - -require 'dnsruby' - -unless (1..3).include?(ARGV.length) - puts "Usage: #{$0} domain [type [ class ]]" - exit(-1) -end - - -resolver = Dnsruby::Recursor.new -resolver.hints = '198.41.0.4' # A.ROOT-SERVER.NET. - - -Dnsruby::TheLog.level = Logger::DEBUG - - -name, type, klass = ARGV -type ||= 'A' -klass ||= 'IN' - - -packet = resolver.query(name, type, klass) -puts packet diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/mresolv.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/mresolv.rb deleted file mode 100755 index d11f484..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/mresolv.rb +++ /dev/null @@ -1,96 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - - -# mresolv [ -d ] [ -n number ] [ -t timeout ] [ filename... ] -# -# mresolv performs multiple DNS lookups in parallel. Names to query -# are read from the list of files given on the command line, or from the -# standard input. -# -# = OPTIONS -# -# *-d : Turn on debugging output. -# -# *-n number : Set the number of queries to have in progress at any time. -# -# *-t timeout : Set the query timeout for each name in seconds. - -# Examples for running: -# -# echo my-domain.com | ./mresolv.rb -# or -# ./mresolv.rb # then type domain name(s) separated by new lines and then ctrl-D - -require 'dnsruby' -require 'getoptLong' - -opts = GetoptLong.new( - ['-d', GetoptLong::NO_ARGUMENT], - ['-n', GetoptLong::REQUIRED_ARGUMENT], - ['-t', GetoptLong::REQUIRED_ARGUMENT]) - -max_outstanding = 32 # number of requests to have outstanding at any time -timeout = 15 # timeout (seconds) -debug = false -opts.each do |opt, arg| - case opt - when '-d' - Dnsruby.log.level = Logger::INFO - debug = true - when '-n' - max_outstanding = arg.to_i - when '-t' - timeout = arg - end -end - -resolver = Dnsruby::Resolver.new -resolver.query_timeout = timeout - -# We want to have a rolling window of max_outstanding queries. -in_progress = 0 - -q = Queue.new -eof = false - -until eof - # Have the thread loop round, send queries until max_num are outstanding. - while !eof && in_progress < max_outstanding - print('DEBUG: reading...') if debug - unless (name = gets) - print("EOF.\n") if debug - eof = true - break - end - name.chomp! - resolver.send_async(Dnsruby::Message.new(name), q, name) - in_progress += 1 - print("name = #{name}, outstanding = #{in_progress}\n") if debug - end - # Keep receiving while the query pool is full, or the list has been queried - while in_progress >= max_outstanding || (eof && in_progress > 0) - id, result, error = q.pop - in_progress -= 1 - if error - print("#{id}:\t#{error}\n") - else - print("#{result.answer.join("\n")}\n") - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/mx.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/mx.rb deleted file mode 100755 index 251e048..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/mx.rb +++ /dev/null @@ -1,59 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require 'dnsruby' - -# = NAME -# -# mx - Print a domain's MX records -# -# = SYNOPSIS -# -# mx domain -# -# = DESCRIPTION -# -# mx prints a domain's MX records, sorted by preference. -# -# = AUTHOR -# -# Michael Fuhr -# (Ruby port AlexD, Nominet UK) -# - -def fatal_error(message) - puts message - exit -1 -end - - -unless ARGV.length == 1 - fatal_error("Usage: #{$0} name") -end - - -domain = ARGV[0] -resolver = Dnsruby::DNS.new - -begin - resolver.each_resource(domain, 'MX') do |rr| - print rr.preference, "\t", rr.exchange, "\n" - end -rescue Exception => e - fatal_error("Can't find MX hosts for #{domain}: #{e}") -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/rubydig.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/rubydig.rb deleted file mode 100755 index 03995a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/rubydig.rb +++ /dev/null @@ -1,90 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -# = NAME -# -# rubydig - Ruby script to perform DNS queries -# -# = SYNOPSIS -# -# rubydig [ @nameserver ] name [ type [ class ] ] -# -# = DESCRIPTION -# -# Performs a DNS query on the given name. The record type -# and class can also be specified; if left blank they default -# to A and IN. -# -# = AUTHOR -# -# Michael Fuhr -# - -def fatal_error(message) - puts message - exit(-1) -end - - -unless (1..3).include?(ARGV.length) - fatal_error("Usage: #{$0} [ @nameserver ] name [ type [ class ] ]") -end - - -require 'dnsruby' - - -resolver = Dnsruby::Resolver.new -zone_transfer = Dnsruby::ZoneTransfer.new - - -if ARGV[0] =~ /^@/ - nameserver = ARGV.shift - if nameserver == '@auth' - resolver = Dnsruby::Recursor.new - else - puts "Setting nameserver : #{nameserver}" - resolver.nameserver = (nameserver.sub(/^@/, '')) - puts "nameservers = #{resolver.config.nameserver}" - zone_transfer.server = (nameserver.sub(/^@/, '')) - end -end - -name, type, klass = ARGV -type ||= 'A' -klass ||= 'IN' - -if type.upcase == 'AXFR' - rrs = zone_transfer.transfer(name) # , klass) - - if rrs - rrs.each { |rr| puts rr } - else - fatal_error("Zone transfer failed: #{resolver.errorstring}") - end - -else - -# Dnsruby::TheLog.level=Logger::DEBUG - begin - answer = resolver.query(name, type, klass) - puts answer - rescue Exception => e - fatal_error("Query failed: #{e}") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/to_resolve.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/to_resolve.txt deleted file mode 100644 index f86b431..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/to_resolve.txt +++ /dev/null @@ -1,3088 +0,0 @@ -ddcsweden.se -ddd-direkt.se -eat.se -eat-house.se -msn.se -msn-kontakt.se -ccc.se -ccc-bild.se -rrr.se -rrrab.se -ibm.se -ibma.se -443366.se -4444.se -jah.se -jaha.se -l9.se -la-bella.se -the.se -the-archer.se -eng.se -eng-el.se -dot.se -dot-ab.se -uuu.se -uv.se -bat.se -bat-att-hyra.se -jjj.se -jjk.se -ying.se -yings.se -jahaa.se -the-art-of-planning.se -hypermind.se -hypermotion.se -jerenvik.se -jerfs.se -bayramband.se -bayrol.se -yingying.se -echotech.se -echset.se -jahadesign.se -bohdesign.se -bohed.se -uplife.se -uplight.se -0591.se -05kakelochklinker.se -yeast2003.se -yebo.se -0y.se -0z.se -bohedberg.se -effu.se -effusio.se -battidningar.se -battillbehor.se -yeezgaming.se -yeguadafavorito.se -jerfsten.se -beme.se -bemek.se -bat-consulting.se -eci.se -broome.se -broomtowncats.se -05nvd.se -1-0.se -jewel.se -jeweliamovie.se -effy.se -xylocain.se -xylon.se -bememusik.se -broomwade.se -05studios.se -upline.se -0-0.se -1-0-0.se -bemi.se -bourn.se -bourneultimatum.se -bemba.se -bemc.se -effyh.se -0-0-0.se -xylophane.se -booksellers.se -bookship.se -blastmanager.se -blastolac.se -brionvega.se -briotoys.se -benie.se -benilla.se -yesstyle.se -yesterday.se -bemce.se -0-0-1.se -yeguadakarisma.se -benedictine.se -benedictum.se -bookshop.se -0-1.se -benema.se -bener.se -blastolen.se -elevenconsulting.se -elevengroup.se -yelia.se -yell.se -benima.se -bemcon.se -bemus.se -bemyguest.se -benerotts.se -bemo-tunnel.se -bemora.se -bemda.se -emmen.se -emmens.se -bengtzon.se -bengy.se -benevolence.se -benexa.se -benhogan.se -yelles.se -bemi-service.se -0-360.se -efg.se -bemoredog.se -benimar.se -bournonville.se -yentreve.se -yeomans.se -benevent.se -benevia.se -electronix.se -electroparts.se -bourns.se -xxtreme.se -xxx.se -yek.se -yekonomi.se -boursbet.se -benesch.se -benevinum.se -electropirate.se -yellowsub.se -yellowtaxi.se -yeksungems.se -yeos.se -xxx-cam.se -yellowjello.se -yellowline.se -yemmi.se -yen.se -benfico.se -yeninc.se -yenisofra.se -benesign.se -yellowtech.se -yellowguide.se -yellowhat.se -benevo.se -yellowstonepark.se -yellowstrom.se -0-3sixty.se -yellowspider.se -xxx-camgirls.se -yellia.se -0-8.se -benhoganmusik.se -beni.se -benget.se -bengmark.se -yellowlounge.se -xview.se -xvis.se -yenco.se -benestadkeramik.se -yelp.se -yemanja.se -yenny.se -yello-gas.se -electroaudio.se -electrocity.se -yello-strom.se -benestamgolfarchitecture.se -yenom.se -yendo.se -yellowhouse.se -yellowjack.se -yellowtree.se -xxiii.se -xxk590.se -yellowhelmet.se -yellowtel.se -yellowbandit.se -yellowbf.se -benestamgolfarkitektur.se -efg-financial-product.se -xxl.se -electroclash.se -xxx-cams.se -benic.se -efg-financial-products.se -yellowtown.se -yellowhomeservices.se -electroclass.se -xq28.se -xql.se -benice.se -xxxvideos.se -xxxwebmaster.se -electromekano.se -electromontage.se -beniced.se -xylene.se -xylix.se -xqlusive.se -xxxtv.se -xxxvideo.se -xxxgirls.se -xxxit.se -electron.se -xylem.se -xylencr3w.se -electroclean.se -xoro.se -xosexshop.se -electroconsult.se -benestamgolfcoursedesign.se -xushi.se -xux.se -xqs.se -electrocontrol.se -electrona.se -electrocry.se -xterlogistics.se -xtern.se -benestamgolfdesign.se -xr.se -electrondimmer.se -xn-taxialingss-68a.se -xna.se -benestravel.se -electrodesign.se -xradio.se -xterna.se -benet.se -electronet.se -xn-alingsstaxi-28a.se -xn-blhuset-fxa.se -xramvision.se -electroedholm.se -electroluxservicelund.se -electromark.se -benetalnil.se -benidorm.se -electroenoc.se -electromecano.se -electromedia.se -electrojunkie.se -electrokit.se -xterra.se -electrokontrols.se -electroline.se -xosys.se -xxx-dvd.se -xxx-video.se -xrank.se -electrolube.se -xxx4you.se -electrolux.se -electrofishing.se -electrographic.se -electroklubben.se -electroguide.se -electrohelios.se -electrohype.se -xxx666.se -xterragear.se -lll.se -lllb.se -data.se -data-akut.se -hat.se -hat-system.se -bbb.se -bbb-ss.se -777.se -777-host.se -ooo.se -ooonicsecontrolzoneefuqasdfajewkfdgyyfd.se -ttt.se -tttak.se -kkk.se -kkk2007.se -electrohead.se -111.se -1111.se -eee.se -eeee.se -mat.se -mat-dryck.se -mmm.se -mmmab.se -555.se -5555.se -latab.se -latar.se -hhgs.se -hhhh.se -666.se -666-666.se -iii.se -iii-development.se -cat.se -cat-clean.se -ggfx.se -gggnicsecontrolzonehalskjdfhakjlsdfaskd.se -220volt.se -2222.se -nnn.se -nnnnicsecontrolzoneahsdqibwbercvhufasbd.se -af.se -af-belfrage.se -oat.se -oatly.se -ectopic.se -ectrading.se -effer.se -effero.se -praxairyara.se -praxia.se -la-bild.se -11111.se -electrolux-at-home.se -deputamadre.se -depuy.se -insyseur.se -int-idea.se -ccc-c3.se -yodavision.se -yodesign.se -infanterit.se -infantiltinferno.se -davvo.se -davys.se -satanic.se -satanigatan.se -stagno.se -stagos.se -0u.se -0v.se -ibmalpin.se -uncommonsense.se -uncover.se -0-tidsflytt.se -jjkommunikation.se -begat.se -begavia.se -444444.se -gonic.se -gonis.se -3a-advokaterna.se -3a-konsult.se -eeemetallform.se -06.se -1-0-0-0.se -xxxarkitekter.se -222222.se -fitzpatrick.se -fiung.se -4456575.se -stagreus.se -negrete.se -negut.se -1-1.se -specific-diets.se -specifikationskonsult.se -befriends.se -befuktning.se -yinochyang.se -beanie.se -beans.se -225200.se -3aab.se -eat-it.se -triphase.se -tripike.se -lafor.se -laforma.se -infarb.se -jjkonst.se -laforza.se -bat-kusthandel.se -yaukungmun.se -yava.se -eat-sweden.se -uncoveredmusic.se -cccaters.se -boutiqueannecy.se -boutiquebla.se -dataswitch.se -datasynapse.se -oooo.se -cccc.se -llldata.se -jerfstenstrale.se -eci-ab.se -baystar.se -brinkmann.se -brinkmotorsport.se -xxxbio.se -bourses.se -3abyggdelen.se -2299.se -datasynergi.se -ycdbsoya.se -yco.se -biskit.se -biskop.se -yestravel.se -yesway.se -brootak.se -bazooka.se -bazookaboys.se -ebonite.se -ebonnera.se -satansgloria.se -tripinvest.se -yangcreators.se -yangs.se -baystone.se -lafoto.se -neh.se -ebonus.se -eat-web.se -yet.se -yets.se -booksload.se -fiv.se -yacine.se -yaco.se -yawin.se -yawn.se -boheden.se -blastorp.se -xxxkatalogen.se -yelah.se -bemireklam.se -bemkonsult.se -xxxl.se -datasystem.se -yodii.se -bemic.se -yawnmedia.se -batra.se -batracing.se -lactolite.se -lacuarta.se -electropix.se -3album.se -22andberg.se -bemman.se -rrrf.se -eateknik.se -eater.se -beansprout.se -yeh.se -bypasset.se -byportalen.se -22aug.se -yepinvest.se -yeppcom.se -five.se -bray.se -brazil.se -egestammarketing.se -eget.se -yep.se -yellowmagic.se -bengmartin.se -eatertainment.se -jjkonsult.se -booksondemand.se -batraco.se -bluebirds.se -bluebit.se -llm.se -broprodukter.se -0w.se -formanspc.se -formany.se -yokel.se -yoker.se -benforlangning.se -octv.se -oculos.se -yodoi.se -bemico.se -bemindful.se -eatab.se -eatathome.se -ebony.se -beming.se -fluorcarbon.se -fluorplast.se -bundle.se -bundolo.se -brouer.se -brouwers.se -flexografi.se -flexokliche.se -ooopps.se -booksonline.se -yogini.se -yogiochyogini.se -bitchig.se -bitchtour.se -yei.se -olifant.se -oliglobal.se -0wnd.se -22augusti.se -llmarkconsult.se -brinknet.se -benfoto.se -bengnet.se -brady.se -bradykardi.se -xxl-video.se -xxlpix.se -brouzell.se -llmaudio.se -fleddeflux.se -fleece.se -judaica.se -judako.se -yavar.se -blastring.se -bemichtools.se -oatrading.se -yolk.se -yolo.se -bundy.se -borealisgroup.se -borebro.se -bengali.se -bengaliweb.se -benfurman.se -eat2day.se -jergelin.se -brovag.se -efg-financialproduct.se -0x.se -yangtorp.se -judas.se -yeppcongress.se -flexolvit.se -xxl-adventure.se -boutiqueblaze.se -beng.se -yellowbird.se -boothill-linedancers.se -bootjacks.se -bengt.se -yourself.se -yourserver.se -formapg.se -yeppmedical.se -llmd.se -22inc.se -bengt-h.se -bengt-lotta.se -0x539.se -0xdeadbeef.se -obesitasfonden.se -obeyme.se -0x0.se -yanken.se -yankyard.se -bootleg.se -0xe.se -xxxx.se -fluiddynamik.se -fluidinventor.se -uncovers.se -bengalkatt.se -xuxuca.se -jestyle.se -jesukristikyrka.se -xxlsport.se -bengalkatten.se -eci-se.se -obf.se -bracommunity.se -brad.se -egalitar.se -egalite.se -fluidosol.se -fluidspaces.se -floodland.se -floodnet.se -boyinra-stiftelsen.se -boyner.se -ebon.se -yohanzon.se -yohli.se -borebyran.se -yard.se -yardsale.se -formaplast.se -eates.se -braccoitaliano.se -brachyspira.se -electronetto.se -ebbster.se -ebbtide.se -fluidity.se -jericho.se -jerico.se -jergen.se -xv.se -yankee.se -yankeecandle.se -yohoo.se -yogurt.se -yoguza.se -yapyap.se -yaquiserver.se -oligo25.se -underscore.se -undersidan.se -jergill.se -yoh.se -bengt-martin.se -boulevart.se -boulkizz.se -yankeecarclub.se -jerkules.se -jerky.se -llmedia.se -0xff.se -yoigo.se -eav.se -eavrop.se -bradab.se -eatatwork.se -bracketurism.se -brackvattensakvariet.se -llmonitor.se -xraptor.se -yoj.se -yellowmail.se -oligophant.se -xrate.se -electronicenvironment.se -electronicgovernment.se -bengall.se -fluke.se -bengt-ake.se -yellowmate.se -yogioh.se -yaniro.se -borbo.se -borbos.se -xotec.se -obscuramagica.se -obscurity.se -bordercollies.se -borderkanalen.se -boutiquedermonie.se -bootlegs.se -egero.se -egerot.se -eawop2007.se -eaz.se -obfab.se -boreco.se -bows.se -bowt.se -idioma.se -idiot.se -kuenkel.se -kuess.se -7777.se -ecliving.se -eclub.se -catheter.se -cathie.se -cat-electric.se -fluke-sthlm.se -positronstudios.se -positus.se -electroheat.se -111111.se -boric.se -borikt.se -aratron.se -arauco.se -boureliusbygg.se -bourghardt.se -electronia.se -latbaten.se -flunk.se -flunordic.se -xrated.se -yankeehouse.se -yankeeparts.se -xotek.se -jeriksson.se -jerixson.se -nonetwork.se -nonex.se -xxxxii.se -the-attic.se -adeptsecurity.se -adeqvat.se -bootmusik.se -the-basement.se -depuyacromed.se -stagsegelsskogsservice.se -the-beach.se -pottodds.se -pottsork.se -0x1.se -jerkholmens.se -jerkland.se -bracitat.se -adventuresolutions.se -adventuresports.se -ibmanagement.se -imptob.se -impul.se -bordellen.se -border.se -discusklubben.se -discussion.se -eazmo.se -potzscher.se -begbag.se -flotutrask.se -flour.se -eclator.se -eclectic.se -jergis.se -jeriko.se -eclipsemedia.se -eclipze.se -bordeauxer.se -bordell.se -ambitionuppsala.se -ambitiousone.se -yarn.se -yarps.se -kutang.se -kuten.se -floodosoner.se -bourgogne.se -bourjois.se -xyience.se -tttnicsecontrolzonefqwgeufyqewyefygasdf.se -alife.se -alig.se -yankees.se -adventurestyle.se -eng-johnsson.se -neg-micon.se -negativ.se -ambitus.se -bouncers.se -bouncingbox.se -22q11.se -tttparkettslip.se -bourghardt-retorikutbildning.se -depzi.se -addako.se -addan.se -xxxxx.se -yankeecars.se -060.se -ggh.se -cathis.se -yatack.se -yataka.se -border-wines.se -borderbroder.se -bowwows.se -addecco.se -addeco.se -border-rangers.se -bouquetgarnimix.se -bourbon.se -eng-tex.se -specifique.se -infarkt.se -bazoo.se -bazook.se -bridgwater.se -briding.se -beninca.se -yankeedoodledandy.se -boviaoss.se -bovidhavet.se -flubber.se -flubby.se -yesterdaycars.se -yaw.se -yawd.se -crosswise.se -crosswood.se -naturique.se -naturism.se -praesum.se -praetorelab.se -engagemang.se -eazy.se -befuktningssystem.se -yesterdaymusic.se -eazyup.se -eb.se -impelmedia.se -impentab.se -ambitus-teknik.se -kutlu.se -naturist.se -yataz.se -yatf.se -posthistoria.se -posthuma.se -bowflex.se -bowhead.se -nonfire.se -borile.se -begbanken.se -yojimbo.se -yatingstudio.se -boviksbadet.se -bovin.se -yogiontheroad.se -braclub.se -begbat.se -crossworks.se -kuesschen.se -boredtodeath.se -borefelt.se -posthumandreams.se -ooops.se -aligerum.se -improva.se -improvakliniken.se -blacarat.se -black.se -gonisstad.se -lafquist.se -collectum.se -collecture.se -theoremascandinavia.se -theorganicpharmacy.se -yey.se -brightness.se -brightnessreef.se -oli.se -olibra.se -boxgraphix.se -boxhill.se -alight.se -bridion.se -box.se -postemballage.se -posten.se -flow07.se -flowart.se -yavari.se -eb-hedlund.se -yesterdaysnews.se -yesto.se -possengineering.se -possepsykoterapi.se -yogisat.se -odo.se -odon.se -yavin4.se -oestrogen.se -oet.se -bower.se -bowers-wilkins.se -black-birdie.se -neglige.se -neglinge.se -adiento.se -adifferentaspect.se -kwn.se -kwon.se -bourdon-haenni.se -fluns.se -odonet.se -stablo.se -stabshuset.se -flourish.se -flourtant.se -yeyyey.se -pradobygg.se -praegel.se -befwe.se -begbatar.se -yestosomn.se -trabearbetningsutrustning.se -trabenet.se -specimen.se -negative.se -immensus.se -immersion.se -jergo.se -yatara.se -gghandel.se -blam.se -blamagasinet.se -pou.se -nehagen.se -4466000.se -baystoneconsulting.se -ecstasy.se -ecstatics.se -alliator.se -allidator.se -blackcube.se -blackdecker.se -immunforsvar.se -immunit.se -oooups.se -begadi.se -begagnad-cykel.se -cccdalarna.se -efmobil.se -efmsverige.se -yinoyang.se -la-bilder.se -improved-reading.se -improvefond.se -eb-konsult.se -eb85.se -naturistbad.se -blackshield.se -blackshore.se -flucktare.se -fludent.se -adera.se -cat-rental-store.se -bazaarfood.se -bazaarmovement.se -blackjack.se -blackjackguide.se -immunit-secure.se -446verksamhetsstyrning.se -fluor.se -yinshu.se -gossipgirl.se -gossipnews.se -negativeoutlook.se -begroup.se -begrunda.se -oculus.se -rrs.se -byppja.se -theorganicshop.se -yippi.se -yit.se -blackjackguiden.se -bovine.se -eba.se -adiuvo.se -adiva.se -underdogs.se -underfin.se -bedford.se -bedfordstuyvesant.se -bluebits.se -eget-tryck.se -glossbonaturprodukter.se -glossip.se -bat-maskintjanst.se -addanny.se -11111111.se -1112.se -yardtech.se -patebosmedja.se -patek.se -rrstudio.se -improveit.se -postfolket.se -postforskott.se -yogiskhalsa.se -yintang.se -yinyang.se -beanthere.se -buggemala.se -buggeroff.se -malacoleaf.se -malafolkdanslag.se -blowoutproductions.se -blowtech.se -blandgodis.se -blandio.se -praes.se -yarin.se -yawp.se -lacucaracha.se -datatal.se -black-box.se -060921.se -060online.se -praesentis.se -yeigo.se -boredesign.se -negativt.se -negawatt.se -eciab.se -black-boy.se -odell-jarlemyr.se -odelli.se -odibonk.se -odido.se -chimneycorners.se -chimo.se -immobilienscout24.se -immofield.se -adventureteam.se -la-bygg.se -blanchard.se -blanche.se -odells-signalmontage.se -aderaborstahusen.se -ladstrom.se -ladu.se -bypresenten.se -ebonyivory.se -yofa.se -adivarsson.se -blackjackinfo.se -efg-financialproducts.se -blastringsab.se -xxxlankar.se -five-by-five.se -bengabus.se -bearsafari.se -bearshare.se -eb-index.se -daugaard.se -daughter.se -odontlar.se -odontolog.se -infart.se -blackboard.se -blackbone.se -ocun.se -negativet.se -gonix.se -ecceavis.se -eccehomo.se -0611.se -bearab.se -bearb.se -blandis.se -blandkobbaroskar.se -lacucina.se -beeswax.se -beetagg.se -jergovic.se -blackjacksm.se -black-bruin.se -biskopen.se -jerhammar.se -yoko.se -brovagen.se -burberry.se -burchardi.se -fluortanten.se -flowertwig.se -flowey.se -magento.se -mageras.se -oatsfield.se -dauksz.se -bloodshed-nihil.se -bloodtide.se -blameit.se -blamesen.se -kylentreprenader.se -kylfalt.se -xxxlofsweden.se -bedow.se -bedr.se -blackboots.se -donkeyshot.se -donki.se -postfoto.se -datateam.se -eccell.se -bradbolaget.se -bradcentralen.se -unmei.se -unn.se -accus.se -accusort.se -beewe.se -beez.se -ebonyporr.se -xxxmedia.se -onesec.se -oneset.se -flim.se -flimmer.se -belabelbutik.se -belach.se -thirstforknowledge.se -thirty.se -dauphinance.se -daurang.se -tolero.se -tolerud.se -yatsy.se -blame.se -yez.se -eckecammen.se -eckenscafe.se -ecstay.se -brovakten.se -flourtanten.se -flow.se -dauns.se -daup.se -yinsikt.se -neger.se -bune.se -nehdforever.se -black-diamond.se -adrina.se -adris.se -practiceworks.se -practico.se -immunitet.se -ymca.se -ymdrift.se -flinc.se -flinckafingrar.se -accutone.se -gonk.se -daun.se -jeth.se -jeti.se -blancheb.se -unna.se -ecic.se -borgland.se -borglin.se -negerboll.se -timeunit.se -timeus.se -nitrohelmets.se -nitromedia.se -bleach.se -bleachme.se -cat-tech.se -gonny.se -improvit.se -improvo.se -jerhamre.se -blastringsmaskin.se -tractionbil.se -tractis.se -xxxxxx.se -blaman.se -befa.se -cat-web.se -xxxmodels.se -eftec.se -eftefesten.se -yohan.se -bored.se -oau.se -oax.se -blackbirdsnest.se -immersis.se -burchardt.se -onoga.se -onomatepoetry.se -chibit.se -chibratz.se -flimmr.se -eclair.se -eclaser.se -flow-natural.se -alinet.se -alingetexas.se -yatta.se -underfire.se -ebur.se -ebusiness.se -eccemundus.se -kylfirman.se -improwiseconsulting.se -imps.se -7777777.se -transmissionsteamet.se -transmit.se -flimrigt.se -flin.se -060-123808.se -daundesign.se -trimchip.se -trimcut.se -ambius.se -yara.se -burcharth.se -practicum.se -practise.se -align.se -aligning.se -traceur.se -trachoma2010.se -blacksilver.se -odonnell.se -odont.se -postguard.se -posthantering.se -bengalmagic.se -eatfresh.se -bouganim.se -bougicord.se -yogitea.se -cat5.se -immi.se -oligovation.se -boukefsprivatskola.se -daune.se -gonordic.se -trackster-rmbyran.se -tracktech.se -onoof.se -jerleke.se -underflow.se -jesukristikyrkaavsistadagarsheliga.se -begsaab.se -eclient.se -jevinger.se -jevor.se -eckhardt.se -eckhell.se -obstinat.se -obstinatemotion.se -dauner.se -bengt-martins.se -yara-praxair.se -datazoo.se -datcomp.se -aliprot.se -aliquantum.se -stahab.se -nonpaperbooks.se -nonroam.se -borglund.se -floodprotection.se -obscurum-per-obscurius.se -bellicus.se -bellin.se -boulliant.se -boulodromen.se -catchlight.se -catchpress.se -eathouse.se -eatit.se -brazil-living.se -border-shop.se -adivo.se -bordercollie.se -briellbygg.se -briesch.se -kxmedia.se -ky.se -posityd.se -yattayatta.se -obskyrt.se -obsolete.se -gorahemsida.se -goran.se -yleg.se -yler.se -boving-kinnmark.se -nongfin.se -blottbleck.se -blou.se -praetoreslab.se -obfb.se -postgallerian.se -inivero.se -inizia.se -behaviorism.se -behaviorworks.se -eckerberg.se -addapartner.se -araucotours.se -eazycm.se -bat-motor.se -beetlecabriolet.se -beetree.se -date.se -daunfeldt.se -odontbok.se -kuester.se -bradag.se -yobro.se -yoc.se -alingfeldt.se -kkk2008.se -immiflex.se -kworld.se -inflectionpoint.se -inflecto.se -flukenetworks.se -praetoreslaboratory.se -jesus.se -occismarsvin.se -occlutech.se -oogabooga.se -oogle.se -obstecare.se -bradagis.se -yocal.se -engagemangscentralen.se -msn-messenger.se -eclip.se -odeon.se -oderland.se -xxxmovie.se -goran-dehlin.se -eatomato.se -eatonholec.se -engagement.se -catenafastigheter.se -catenas.se -bengt-nilsson.se -trackworld.se -traco.se -eatons.se -bovidkusten.se -stahberg.se -posix.se -posk.se -yit-dts.se -yit-sverige.se -aliorient.se -aliothfenrir.se -dauber.se -daude.se -flattv.se -flava.se -catad.se -catagon.se -immoimmo.se -obsd.se -cathkidston.se -flowcess.se -brightoffice.se -yatzees.se -davitron.se -davlar.se -tracsolutions.se -tractatus.se -five-dayweek.se -alipang.se -alipour.se -impster.se -begsajten.se -boulevarden.se -boulevardmagazine.se -advexa.se -advfa-la.se -yavis.se -bowersandwilkins.se -nons.se -davlens.se -trimediastockholm.se -trimera.se -informativa.se -informativmedia.se -jewab.se -traci.se -octillion.se -octintranet.se -bowhunting.se -beeuty.se -boullan.se -infarten.se -flina.se -alipack.se -catahoulas.se -blackjackturnering.se -060-172250.se -bourelius.se -fluortanterna.se -obsti.se -beetbox.se -beethalin.se -bloomen.se -bloomfield.se -bottlebrothers.se -bottles.se -tractive.se -briesch-consulting.se -catholic.se -blotbostad.se -blotf.se -060-194800.se -adix.se -eclipping.se -davenport.se -davenportsmusik.se -odontdr.se -inizio.se -five-elements.se -imminent.se -immittio.se -blackboule.se -obsense.se -collectus.se -jerikos.se -bootradgard.se -adifferentday.se -iiiee.se -briese.se -oogoto.se -brazil-resort.se -beetronic.se -eatout.se -impsys.se -ontario.se -ontec.se -behindthecamera.se -behm.se -ontoday.se -ontologia.se -addax.se -addaxinnovations.se -uncus.se -bazaartorget.se -daunproject.se -catholica.se -cat6.se -octo.se -ymer.se -bazar.se -baystream.se -yinyoga.se -yip.se -addarsnas.se -efnet.se -bluebiz.se -posthuset.se -yawyd.se -uncut.se -blossing.se -blossom.se -bovingroup.se -blackguide.se -blackharborband.se -improvaplastik.se -manfred.se -manfredgruppen.se -flue.se -davanti.se -davator.se -yinyangshop.se -brigade.se -brigaden.se -imptec.se -blackdiamond.se -aderadok.se -floods.se -odio.se -odis.se -naturistcamping.se -catchrelax.se -malafrakt.se -blackhat.se -pot-limit-omaha.se -potapoff.se -briex.se -briforsinstrument.se -uncutdiamond.se -daus.se -burna.se -burnaid.se -oetiker.se -impeo.se -odellsel.se -ontologix.se -malaga.se -eazycredit.se -blackguard.se -flowchart.se -addbridge.se -boaz.se -boazul.se -blindboy.se -blinddate.se -bloodymary.se -catchthedog.se -naturisten.se -bloomframe.se -adflex.se -adfontes.se -advfirmastadig.se -tetek.se -tetenoir.se -beguided.se -beguns.se -eatl.se -informatix.se -ooh.se -behave.se -behavio.se -blustep.se -blutt.se -blossom-nordic.se -davco.se -ymerab.se -brigadens.se -061124426.se -blot.se -odellselservice.se -yijie.se -yikes.se -borglund-byggk.se -catech.se -cateco.se -underbarungen.se -underberg.se -begbatprylar.se -bowell.se -bowen.se -yazdanfar.se -yazmina.se -gonorre.se -yaragas.se -aestheticexperience.se -aesthetics.se -1111111.se -blota.se -jesus-acute.se -eclips.se -yawh.se -brifus.se -blurpa.se -blurum.se -improvaplastikkirurgi.se -improve.se -tetens.se -flowfamily.se -iiii.se -blackhawk.se -goran-nilsson.se -immortalis.se -immortals.se -laducale.se -spiegelberg.se -spiegelstockholm.se -theoria.se -yezpher.se -davens.se -alinonline.se -alinterest.se -adibris.se -adibus.se -aestim.se -boazul-medical.se -bouldersinc.se -boule.se -kyon.se -kyoob.se -specimenhunters.se -blatunga.se -blau.se -informator.se -imita.se -imitera.se -behaviometrics.se -bottleshop.se -kylfokus.se -biskopenfastighetsab.se -tolfesbo.se -batinvestmarina.se -batir.se -imitthem.se -blinddatemusic.se -instrumentpolen.se -instruments.se -tracing.se -flindall.se -fling.se -nivis.se -nivita.se -flavet.se -impeomarkets.se -flum.se -flumma.se -immix.se -jesus-christ.se -blv.se -bedragen.se -imitthuvud.se -sponsnet.se -sponsor.se -laerum.se -laesker.se -advfn.se -understreet.se -undersvik.se -postgodis.se -postgresql.se -childactivitycentre.se -childcare.se -squashportal.se -squashreklam.se -burglar.se -burgler.se -jesus-kristus.se -beardrex.se -bearflight.se -poul.se -adminis.se -administration.se -flincks.se -tractel.se -traction.se -odik.se -odima.se -flavourspraydiet.se -flawless.se -brigante.se -pratsugen.se -pratus.se -instrumentservice.se -addc.se -eatmydust.se -blount-pool.se -bazar1.se -informatorer.se -spinspiration.se -spinstitut.se -ecit.se -eck.se -boul.se -flummer.se -flaviano.se -improveitsystems.se -alimentumwines.se -alimta.se -davidbergstrom.se -davidbjork.se -goodbye.se -goodcar.se -immigration-sydafrika.se -immigrationverket.se -catchword.se -catchwork.se -briggspowerproducts.se -bright.se -eazygun.se -efw.se -efx.se -bung.se -yohanna.se -influenza.se -influera.se -trackit.se -tracklistan.se -bearinn.se -bearlaw.se -ymir.se -ymkkonsult.se -posten6.se -transmitit.se -bradatorer.se -immola.se -oetker.se -eazykredit.se -boatmangbg.se -boatmeet.se -boulder.se -dooright.se -doorlin.se -oop.se -underskog.se -blastrix.se -blazingsevens.se -blb.se -blotta.se -sprintline.se -sprintxohm.se -postenab.se -doorman.se -yeildsystem.se -bearfootzoo.se -odier.se -uncutdvd.se -flawless-design.se -burckar.se -brigantia.se -catchy.se -ymsyd.se -ymusic.se -thetford.se -thethaiway.se -trackmagazine.se -adixen.se -msn-stuff.se -boulemedical.se -boulensdag.se -improve-it.se -insurrection.se -insurvey.se -dausmedia.se -adic.se -immigrantinstitutet.se -immigration.se -blinddater.se -catcon.se -catdata.se -blackjackturneringar.se -sponsor-el.se -odelros.se -odeltorp.se -belastningsskadecentrum.se -belatron.se -praty-bet.se -spina.se -spinalbalans.se -flaxy.se -flay.se -bearglue.se -bejerstrand.se -bejfred.se -biskops-arn.se -date-it.se -posthem.se -befab.se -oceanobservations.se -oceanoptics.se -tractocile.se -tracealyzer.se -tracecode.se -nivla.se -bright-arkitekter.se -immoscout.se -buonocafe.se -bup.se -adicast.se -blacklead.se -blacklevels.se -daudistel.se -goritas.se -gorji-persson.se -adesto.se -adesys.se -befab-trofen.se -infored.se -inforema.se -davenso.se -filibuster.se -filicaja.se -practica.se -practicaljokes.se -bazar2.se -bright-europe.se -catdesign.se -immix-gaming.se -immo.se -flopp.se -floppen.se -aestino.se -yax.se -tetens-hantverk.se -goran-utbult.se -powerhouse.se -powerhousemc.se -blowfly.se -blowin.se -colleen.se -adetto.se -glamorous.se -glamour.se -gorjus.se -adidassverige.se -adiels.se -datatrygghet.se -dataunit.se -ggi.se -ky-akademien.se -trinicom.se -trinitas.se -underglad.se -bradcommunications.se -adjungo.se -adjust.se -blatand.se -blaterrine.se -blowjob.se -immoserver.se -bazola.se -bupb.se -rrt.se -flooradur.se -floorandcarpet.se -dataunitserver.se -bathso.se -bathusboken.se -engagera.se -catchytunes.se -datateater.se -catalogue.se -catalys.se -bengalskatten.se -ungtval.se -ungutanpung.se -boatstream.se -boattaxi.se -engagerad.se -adicio.se -bldesign.se -bldk.se -immigrant.se -777dragon.se -goran61.se -blastro.se -blastunder.se -kyphi-parfymeri.se -kypros.se -catalysator.se -blacklight.se -floc.se -flock.se -undertak.se -boatweb.se -boavista.se -inherit.se -inhoc.se -oceanpeople.se -flukta.se -prader-willi.se -pradit.se -blownfuse.se -undertaker.se -flayme.se -blowjobfilmer.se -transcendentalism.se -transcendentgroup.se -kkknicsecontrolzonentvsadfksajdshfajsdd.se -ymerbacken.se -tracolor.se -yli.se -eckhoff.se -tracka.se -trackalyzer.se -bathuset.se -bat-protector.se -adicon.se -datautbildare.se -tracom.se -glamour4ever.se -boulevardmedia.se -davli.se -transmitransmitreceive.se -aeproduktion.se -aequitas.se -goosewood.se -goossens.se -boots.se -transmitreceive.se -brigaplat.se -multivac.se -multivan.se -onset-paintball.se -onseven.se -batbottentvatt.se -batboyslim.se -bowes.se -kyoto.se -kyotorecordings.se -bldr.se -improve-your-golf.se -immostreet.se -immovario.se -trackdown.se -trackers.se -glamourama.se -aeger.se -aegid.se -catalinafastigheter.se -catalinakliniken.se -floostajaktlag.se -flop.se -bazar3.se -flocken.se -blottare.se -aestockholm.se -immo-immo.se -catalinastranden.se -kyornskoldsvik.se -practive.se -yit285.se -boozhoundz.se -boozo.se -doormanbill.se -davidbjorkman.se -flavona.se -flavongroup.se -borglunda.se -borile-atv.se -ylife.se -ylinen.se -odensemarsipan.se -odensfors.se -five4fun.se -odellsforsakring.se -adeu.se -triax.se -tribal.se -trackerschool.se -tracingsolutions.se -track.se -datautbildarna.se -yezz.se -bellinga.se -adjustable.se -aemedia.se -aemkei.se -immunbrist.se -blata.se -impera.se -ky-akademierna.se -iisab.se -iistiftelsen.se -aer-lingus.se -eatrade.se -tribal-x.se -blaton.se -tricolorscreen.se -tricom.se -cate.se -folkshoppen.se -folkskam.se -olihn.se -nonsen.se -adiz.se -aerodyn.se -aeroenergi.se -gorilla-safaris.se -gorillacam.se -gordian.se -gordic.se -bowlcircus.se -bowler.se -omina.se -ominkasso.se -belteknik.se -beltman.se -borglundsmek.se -travertine.se -travessen.se -iiiii.se -myonly.se -myopus.se -immonen.se -immore.se -blowkart.se -blowme.se -bunga.se -bathyra.se -batia.se -behaviosec.se -jewander.se -blasvanen.se -yield.se -yieldmanager.se -blackbox.se -gorillagang.se -flaxracing.se -flaxxar.se -odensglomda.se -mulligtochgulligt.se -mullinmallin.se -efsab.se -efsflight.se -follatech.se -follin.se -cathrine.se -blackdiamonds.se -alkakonst.se -alkalon.se -beetween.se -burnball.se -immosky.se -foreignexchange.se -foreignministry.se -oneill.se -oneinteractive.se -thetheater.se -immoasis.se -blackmartiniz.se -blackmesa.se -yazoo.se -postia.se -borgmalmen.se -blowmoulding.se -ylinentalo.se -alison.se -aliss.se -allabookmakers.se -allabostader.se -trinitasfastigheter.se -aegir.se -improveme.se -catalog.se -kyangla.se -kyansailing.se -onshop.se -onside.se -naboer.se -naboforetagspartner.se -immobile.se -bldscan.se -brietling.se -bluepointsolutions.se -bluepower.se -onskinunderskin.se -onslundabyalag.se -brightofsweden.se -dave.se -ojf.se -ojinegras.se -ebook.se -aerie.se -aeriksson.se -adifone.se -la-byggkonsult.se -undelater.se -undeman.se -batista.se -squashstege.se -blus.se -kylfrakt.se -onstage07.se -onstahunddagis.se -ontology.se -blotbergsboden.se -addcall.se -floorandmore.se -blowjobporr.se -bowie.se -allabostadsannonser.se -blackline.se -chickenfoot.se -chickenhouse.se -traberliga7.se -alignit.se -gordin.se -imitz.se -catchup.se -blackburst.se -blackbycenturion.se -ecko.se -folkskola.se -nabomarketing.se -beigt.se -beija.se -efynd.se -yn.se -oneiros.se -foresee.se -foresight.se -batic.se -flamingfox.se -flamingo.se -spigotti.se -spihalland.se -efsgullanget.se -onore.se -blvab.se -eftel.se -blb-bostader.se -ylianttila.se -boax.se -gordinegenbok.se -odinspack.se -poularde.se -spelkassan.se -spelkiosken.se -yaragasab.se -burco.se -foresightlaboratory.se -ky-akademin.se -jewaru.se -eckonsult.se -chiclay.se -chiclit.se -eatmyhouse.se -brazil-resorts.se -blacklist.se -la-cantina.se -flowco-retorik.se -underskoterska.se -boatname.se -flavour.se -flavourevents.se -daustryckeri.se -boattransport.se -boatvideos.se -brazilboliger.se -brightpark.se -boralv.se -borang.se -bunkra.se -bunn.se -bearharddesign.se -lactal.se -lactamin.se -blvd.se -odensholm.se -floorballrink.se -floorcare.se -uncutversion.se -adforaid.se -gonorth.se -bradagisval.se -bureau.se -bureaudesign.se -catedia.se -blacklodge.se -burgman.se -trace.se -tracead.se -onrunsfjallby.se -ons.se -olinab.se -olinda.se -chicane.se -chicanodesign.se -spectronic.se -spectroscopy.se -ebook-store.se -iiik.se -burden.se -burdenofsin.se -spectre.se -spectro.se -aeronet.se -aeropc.se -aera-sense.se -blearning.se -blechert.se -spinstore.se -aerasense.se -aercrete.se -catalysis.se -aegrafiskform.se -aegsverige.se -bouleochbar.se -traconi.se -olinder-westerberg.se -flaviola.se -odensjoby.se -stabilisator.se -stabilisera.se -bleak.se -blackhawknetwork.se -kyansokningar.se -oneitis.se -addcap.se -onside-kommunikation.se -aerts.se -aerwhy.se -naturister.se -adeus.se -collega.se -bootshaus.se -onstep.se -multimeter.se -multimetrix.se -tribalddb.se -boulevardteatern.se -informatorn.se -informatrix.se -aegis.se -blackboxab.se -alir.se -advolill.se -advona.se -undemar.se -eckounltd.se -ecka.se -blinddaters.se -posterinitiative.se -posterism.se -laesoe.se -blackknights.se -occlutechinternational.se -ggif.se -odigos.se -blackisbeautiful.se -aeracing.se -transcom.se -onslundafoto.se -yliniemi.se -stabilisering.se -iin.se -iingeborg.se -boattracker.se -multiverket.se -unden.se -undenas.se -bradconnectivity.se -chiburai.se -adviseit.se -adviseor.se -olympiakonferens.se -olympianutrition.se -onside24.se -adh.se -adhd.se -improvement.se -061128.se -blundstone.se -blunt.se -occoinvent.se -occra.se -flaviositet.se -ylitalo.se -posthemlis.se -aliraqi.se -imivision.se -immomaxx.se -brightpeople.se -blackhawks.se -bradcontrol.se -flawless-guild.se -yarblek.se -0612.se -adev.se -alin.se -traceinface.se -batchim.se -batcofra.se -flinda.se -bedre.se -lactec.se -posterus.se -posterverkstaden.se -forestahotell.se -forestandardagar.se -occo.se -blackoutboys.se -blackoutmc.se -catasa.se -catasus.se -oceanpoker.se -ylivainio.se -blackboy.se -trackmania.se -tribalism.se -aerys.se -trainersonline.se -trainformation.se -administrationen.se -777mobile.se -boraz.se -borbird.se -ylivirta.se -blushing.se -glamourbloggen.se -blackmoney.se -blackmountain.se -aerophoto.se -efyran.se -chickan.se -chicken.se -onsidekonsult.se -posterland.se -postero.se -aerosoles.se -aerosoltrap.se -aerzen.se -floofilter.se -chiclitt.se -batik.se -batinfo.se -postherpetiskneuralgi.se -aesmaskinservice.se -aesp.se -track-it.se -brigby.se -onos.se -aesthesis.se -aesthetic.se -tractor.se -trabetongteknik.se -blacklabel.se -iik.se -adessepraktiken.se -adesso.se -bupgranskning.se -ecigarett.se -onsight.se -bowlerdesign.se -belt-buckles.se -beltbuckles.se -training.se -bowest.se -powerboat.se -powerboatracing.se -oetker-food-service.se -blurb.se -blurid.se -spectrumcases.se -speda.se -bowesystecsverige.se -baysystems.se -flinga.se -flavourofindia.se -oceanprodukter.se -trimning.se -trimpulse.se -iinternet.se -flowcoaching.se -blackbruin.se -blackbugs.se -foresor.se -foress.se -catalysisconsulting.se -beltbucklesno1.se -beltek.se -goophone.se -goorb.se -blackheart.se -posterverkstan.se -laesoe-saltcare.se -posteronline.se -blowjobs.se -catamaran.se -catana.se -flindal.se -blacklabelgames.se -eckran.se -bluride.se -beejodd.se -beeline.se -immovision.se -postgate.se -tremor.se -tren.se -aestheticanova.se -iikoto.se -bowesterdahl.se -catchcomm.se -catching.se -thethinktank.se -brigbys.se -unipalabra.se -unipars.se -aemotorsport.se -daver.se -transferprint.se -transfers.se -eatmyphoto.se -improvisator.se -transus.se -transvea.se -bedsonnet.se -bedstepornofilm.se -yithome.se -datautbildning.se -fordonbyte.se -fordonet.se -poulenc.se -immobilia.se -belaconte.se -blov.se -firmament.se -firmamoppen.se -uniquemoments.se -uniquenorth.se -tracksdirect.se -trackslistan.se -baywest.se -baz.se -immortal.se -aesseal.se -bellinger.se -trackexperience.se -olikt.se -olimp.se -chickenfarm.se -eckstein.se -olika.se -catcit.se -imma.se -immag.se -fischbach.se -fischeninschweden.se -blackbridge.se -pour.se -pourbon.se -gorillakillarna.se -kyh.se -kyhl.se -olympiaspirit.se -eckto.se -blackbull.se -occt.se -kyosho.se -blacklabelsociety.se -floom.se -floor-and-more.se -adjustablebeds.se -yazza.se -catec.se -alingfelt.se -alirev.se -catal.se -foresite.se -bowesterlund.se -trimeresurus.se -trimevent.se -borax.se -poulsens.se -pound.se -trabiten.se -yieldsystem.se -chicnuts.se -blastzone.se -7799.se -eftours.se -eftsweden.se -immanent.se -immanuel.se -batbranschensriksforbund.se -lafayette.se -lafayetteradio.se -fischer.se -fordongas.se -spelklader.se -advhr.se -aderagroup.se -onstore.se -efu.se -catator.se -posterix.se -onsightautomation.se -bupi-cleaner.se -olinderredovisning.se -tribalmedia.se -onsvala.se -immortalart.se -onsign.se -naturistforbundet.se -onslundaif.se -yb.se -ungvanster.se -blackheartband.se -aems.se -daverev.se -prado.se -spihelsingborg.se -bellinicasino.se -bellinisalltjanst.se -chic.se -traditionfastighetsmakleri.se -traditionochhantverk.se -aerospace-kth.se -aerospinningcenter.se -unipartner.se -iit.se -catalyst.se -onsvalabro.se -baysystems-northerneurope.se -tractor-pulling.se -powerboats.se -filicorizecchini.se -laesy.se -laettbyggteknik.se -trackandfield.se -tractechnology.se -efo.se -bejab.se -bejan.se -ynad.se -aerialclothing.se -aerialwork.se -bowk.se -bowl.se -filidontens.se -trialformsupport.se -trialog.se -goodink.se -goodiz.se -undertakservice.se -olaform.se -olafs.se -boranta.se -transmitrecieve.se -treper.se -trepira.se -davidzzon.se -davies-co.se -aeroplane.se -iitala.se -yndegarden.se -burgmann.se -trimsoft.se -bathusets.se -blackdiamondsforlife.se -bathusetdesign.se -bellingham.se -bellings.se -blueit.se -bluejay.se -omax.se -omb.se -trackfix.se -trackme.se -onsvalagard.se -tresuger.se -tresund.se -blackdoor.se -onsite.se -dauta.se -instrumentteknik.se -blissful.se -blissgroup.se -aesska.se -bellini.se -triogrande.se -triogruppen.se -bungalow.se -transcend.se -yitprojekt.se -spedab.se -lafdata.se -transurance.se -adject.se -adjektiv.se -behmfredin.se -odin.se -floorball.se -catanna.se -catapult.se -la-casita.se -aegis-data.se -trackart.se -stability.se -stabilizer.se -catco.se -yf.se -gordinegentshirt.se -lacouronne.se -lacream.se -bupi-solvent-cleaner.se -goodcars.se -spinalis.se -spectrochrom.se -traumata.se -traume.se -adjo.se -tractorpower.se -unipol.se -unipoll.se -burdus.se -adgood.se -adgrip.se -aegswitchgear.se -postiad.se -catcoab.se -illuminet.se -illuminum.se -iitalaab.se -aerostat.se -aerostructure.se -adfunnel.se -adfuturum.se -catalin.se -thethirdeye.se -oetker-fs.se -onsaddle.se -advonaut.se -bowmaker.se -bowmoore.se -eckankar.se -aeromedic.se -aeromix.se -chic-online.se -immox.se -trimform.se -fordonjobs.se -spinifex.se -spinit.se -borat.se -boratjr.se -trafsys.se -tragardh.se -unipatatas.se -powerful.se -powerfx.se -laetus.se -eckworks.se -bowlers.se -bowlindermarin.se -undra.se -undran.se -catcoagenturer.se -stabilo.se -trackback.se -chicamagazine.se -kyarrangemang.se -ecl.se -powerbody.se -chicago75.se -chicagoblower.se -aen.se -undertaksfirman.se -fischer-co.se -adjoin.se -adjoint.se -knubbs.se -knucklehead.se -goodwin.se -goodwind.se -forecast.se -forecom.se -poweric.se -eckard.se -chico.se -pourcrime.se -ky-guiden.se -chickenpox.se -goodwine.se -fischer-reklam.se -unipipe.se -forhenne.se -forhim.se -powergamer.se -findconsulting.se -findea.se -goodwines.se -bootsinabag.se -bluepride.se -spihk.se -boratjunior.se -adjovi.se -adizes.se -firmamsvensson.se -burkar.se -burkarna.se -olin.se -kyas.se -blume.se -blumenberg.se -transientskydd.se -transima.se -yaraindustrial.se -ebookcreator.se -forestberry.se -adviser.se -odin-fonder.se -chicola.se -fischercat.se -traceland.se -traceline.se -alist.se -immpuls.se -labi.se -labil.se -firmamt.se -insupport.se -insurance.se -forhonom.se -bellux.se -bellwox.se -trenad.se -gooster.se -bure.se -onsitegroup.se -gorillapod.se -yitrading.se -spelkliniken.se -posterxxl.se -blackmetal.se -thigereye.se -thii.se -davidblank.se -olin1.se -buraker.se -burar.se -multiverktyg.se -lacenter.se -laces.se -addcapital.se -undecem.se -undefeated.se -onekligen.se -spiky.se -spila.se -transferdesign.se -transferens.se -gorenewable.se -gorengsmattor.se -findeasy.se -laestander.se -floor54.se -transmode.se -illustro.se -illutel.se -burea.se -insurgency.se -triokawa.se -unipath.se -unipet.se -naboo.se -bradrycker.se -bradspel.se -brigge.se -tracopower.se -chieftain.se -chieftaintrailers.se -bleck.se -flintis.se -flintmastaren.se -bungalowhomes.se -blackhill.se -bedrehelse.se -spilab.se -bellino.se -buppie.se -bups.se -alin-co.se -blushed.se -imbecile.se -imber.se -dav.se -track-guard.se -powwownow.se -pox.se -traditions.se -goodwell.se -goodwill.se -ggik.se -beers.se -beershop.se -ecinema.se -necesse.se -nechrivanbarzani.se -stabilit.se -braddjup.se -onsitemedia.se -aerea.se -oceanquest.se -musicofsweden.se -musicom.se -bootstrap.se -booty.se -ungvard.se -ebukonsult.se -ebum.se -imbera.se -advocate-online.se -advocateonline.se -efsovik.se -efsroknas.se -poupon.se -bradsportforbundet.se -davey.se -davgat.se -advobo.se -advocard.se -burley.se -burlid.se -goorep.se -bearhill.se -tracentrum.se -catapult-consulting.se -blackmicas.se -blacknred.se -blacknuss.se -catchingclouds.se -ontomtid.se -gorenje.se -knuckles.se -behrensaenergi.se -behrensgroup.se -bureabostader.se -undefined.se -davero.se -ybjj.se -ybm.se -illumit.se -postendalaro.se -belaggio.se -belaieff.se -ylkraft.se -powergarnet.se -been.se -beenhouse.se -bedstesexfilm.se -lactogen.se -061210.se -0613.se -bureauk.se -aeroplast.se -imberg.se -beiersdorf.se -eftab.se -eftandlakeri.se -yarapraxair.se -specka.se -specma.se -flawlessart.se -behnn.se -fis.se -fisch.se -tragardhfalkenborn.se -beinteractive.se -beirenfuji.se -ebookers.se -bejaro.se -postenintro.se -olikabilder.se -specitek.se -poznejte.se -pozt.se -occuhealth.se -occupied.se -bowl-inn.se -traceit.se -0612-717700.se -pourhomme.se -forfew.se -forflex.se -trendz.se -trengtan.se -insurance-it.se -kyhla.se -transitions.se -transitmodels.se -natalisfond.se -natalplaza.se -nameclient.se -namedrive.se -burlin.se -fishskin.se -fishtank.se -adessobygg.se -imms.se -flavours.se -namedrop.se -bating.se -chicagopneumatic.se -powergear.se -bearleague.se -adja.se -adjackets.se -bupsjobo.se -daverock.se -spectrum.se -lafdesigns.se -catchingeye.se -chiendouceur.se -undefinedsounds.se -speel.se -speeron.se -namedropping.se -natrligansiktslyftning.se -natrom.se -kyoshobutiken.se -lactiferm.se -absolvo.se -absonet.se -spiik.se -bootybay.se -speedworks.se -speedxpert.se -goot.se -trailer-store.se -trailerbengt.se -laesser.se -buratti.se -burb.se -boatnav.se -advocate.se -undacamping.se -undae.se -datautbildningar.se -boaxelsson.se -transitor.se -okeli.se -oken.se -trackstar.se -chicbaby.se -uniqueparts.se -blacknusshairandcare.se -blockhane.se -blockhus.se -spill-tech.se -spillan.se -onshare.se -trioquinta.se -trioredovisning.se -folkskolan.se -trailercam.se -goot2b.se -imbuecommunications.se -imbumba.se -floor724.se -absonic.se -onoterade.se -behold.se -blackbrilliants.se -transferfactor.se -stablelafleur.se -stablematt.se -yaravi.se -burmese.se -burmester.se -trimfriskvard.se -behome.se -aderakommunikation.se -iio.se -bloodhounds.se -bloodline.se -gorillaresor.se -glair.se -glaj.se -trabroar.se -trabtech.se -77racing.se -gginfo.se -yitsverige.se -alinband.se -alinco.se -forebo.se -foreby.se -trapersiennspec.se -trapets.se -posterprint.se -labildesign.se -speechpower.se -speechtime.se -glajal.se -adjob.se -advony.se -blissing.se -bradstone.se -stabilometer.se -kkkonst.se -flavourspray.se -efoa.se -glam.se -chica-gaming.se -bejas.se -gorillasafaris.se -belaew.se -natron.se -uniprocess.se -unipump.se -efshelsingborg.se -trailerfynd.se -trailerhou.se -aeropoxy.se -aeros.se -catch22.se -catchafire.se -trinitec.se -behrenskennel.se -batbryggan.se -catchit.se -0620.se -datautohus.se -chiccita.se -chicagency.se -instrumenttekniker.se -gginvest.se -triokok.se -stabilotherm.se -trackster.se -traduc.se -traduco.se -onsjo.se -transvestit.se -transvision.se -beirholm.se -batbutiken.se -addcare.se -immobilien.se -unipost.se -goodwood.se -aeredovisning.se -labindustries.se -necinfrontia.se -goosebay.se -goosegreen.se -adj.se -stabilproduktion.se -triolen.se -triolog.se -blinddates.se -burbage.se -spiikensbacke.se -speedy.se -imc.se -blueprint.se -trackmypicture.se -fireshow.se -firesite.se -bluebliz.se -aerograd.se -aerogym.se -ynef.se -offtrail.se -offworld.se -davincy.se -davinyl.se -postenlogistikab.se -labora.se -laboratech.se -traducta.se -kooneva.se -koop.se -foreach.se -forebergsmissionsforsamling.se -bellini-casino.se -powerice.se -onsjosag.se -munin39.se -munk.se -bowl4joy.se -goorglad.se -colttotalplus.se -colubris.se -ocho.se -ochpetra.se -davi.se -firmitas.se -firmngro.se -blissresto.se -onoterat.se -uncutvideo.se -burab.se -bearline.se -goodcause.se -boratt.se -forebyggamigran.se -trabjerg.se -adjustables.se -gorillaz.se -advoqat.se -trablas.se -bootylicious.se -triol.se -burkart.se -blackmountains.se -speedogliid.se -speedol.se -alireza.se -aliria.se -labeldesign.se -labelinks.se -aedifico.se -aedo.se -speedyasia.se -blinddating.se -odin6.se -speed.se -aderavaluemanagement.se -olympiatandlakarna.se -bo.se diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/trace_dns.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/trace_dns.rb deleted file mode 100755 index aa823b1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/demo/trace_dns.rb +++ /dev/null @@ -1,52 +0,0 @@ -#! /usr/bin/env ruby - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require 'dnsruby' - -# e.g. ruby trace_dns.rb example.com - -unless (1..2).include?(ARGV.length) - puts "Usage: #{$0} domain [type]" - exit(-1) -end - - -# Load DLV key -dlv_key = Dnsruby::RR.create("dlv.isc.org. IN DNSKEY 257 3 5 BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh") -Dnsruby::Dnssec.add_dlv_key(dlv_key) - -resolver = Dnsruby::Recursor.new -# TheLog.level = Logger::DEBUG - - -resolver.recursion_callback = Proc.new do |packet| - packet.additional.each { |a| puts a } - puts(";; Received #{packet.answersize} bytes from #{packet.answerfrom}. Security Level = #{packet.security_level.string}\n") - puts "\n#{'-' * 79}\n" -end - - -domain = ARGV[0] -type = ARGV[1] || Types.A - -begin - response = resolver.query(domain, type) - puts "\nRESPONSE : #{response}" -rescue Dnsruby::NXDomain - puts "Domain '#{domain}' doesn't exist" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/dnsruby.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/dnsruby.gemspec deleted file mode 100644 index 3367e7f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/dnsruby.gemspec +++ /dev/null @@ -1,51 +0,0 @@ -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'dnsruby/version' - -SPEC = Gem::Specification.new do |s| - s.name = "dnsruby" - s.version = Dnsruby::VERSION - s.authors = ["Alex Dalitz"] - s.email = 'alex@caerkettontech.com' - s.homepage = "https://github.com/alexdalitz/dnsruby" - s.platform = Gem::Platform::RUBY - s.summary = "Ruby DNS(SEC) implementation" - s.description = \ -'Dnsruby is a pure Ruby DNS client library which implements a -stub resolver. It aims to comply with all DNS RFCs, including -DNSSEC NSEC3 support.' - s.license = "Apache License, Version 2.0" - - s.files = `git ls-files -z`.split("\x0") - - s.post_install_message = \ -"Installing dnsruby... - For issues and source code: https://github.com/alexdalitz/dnsruby - For general discussion (please tell us how you use dnsruby): https://groups.google.com/forum/#!forum/dnsruby" - - s.test_file = "test/ts_offline.rb" - s.extra_rdoc_files = ["DNSSEC", "EXAMPLES", "README.md", "EVENTMACHINE"] - - s.metadata = { - 'yard.run' => 'yard', - 'bug_tracker_uri' => 'https://github.com/alexdalitz/dnsruby/issues', - 'changelog_uri' => 'https://github.com/alexdalitz/dnsruby/blob/master/RELEASE_NOTES.md', - 'documentation_uri' => 'https://www.rubydoc.info/gems/dnsruby/', - 'homepage_uri' => 'https://github.com/alexdalitz/dnsruby', - 'source_code_uri' => 'https://github.com/alexdalitz/dnsruby', - } - - s.add_development_dependency 'rake', '>= 13.0.6' - s.add_development_dependency 'minitest', '~> 5.18.0' - s.add_development_dependency 'rubydns', '>= 2.0.2' - s.add_development_dependency 'nio4r', '>= 2.5.8' - s.add_development_dependency 'minitest-display', '>= 0.3.1' - s.add_development_dependency('yard', '>= 0.9') - # s.add_development_dependency('io-event', '>=1.1.7') - - if RUBY_VERSION >= "1.9.3" - s.add_development_dependency 'coveralls', '~> 0.8.23' - end - - s.add_runtime_dependency 'simpleidn', '~> 0.2.1' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/custom.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/custom.txt deleted file mode 100644 index 671e1aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/custom.txt +++ /dev/null @@ -1,4 +0,0 @@ -# $Id: custom.txt 264 2005-04-06 09:16:15Z olaf $ -domain t2.dnsruby.validation-test-servers.nominet.org.uk -search alt.dnsruby.validation-test-servers.nominet.org.uk ext.dnsruby.validation-test-servers.nominet.org.uk -nameserver 10.0.1.42 10.0.2.42 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/localdns.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/localdns.rb deleted file mode 100755 index 7397807..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/localdns.rb +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby - -require_relative 'spec_helper' - -require_relative "test_dnsserver" - -class SimpleTCPPipeliningUDPServer < Async::DNS::Server - PORT = 53938 - IP = '127.0.0.1' - - def initialize(**options) - super(options) - - @handlers << TcpPipelineHandler.new(self, IP, PORT) - @handlers << Async::DNS::UDPServerHandler.new(self, IP, PORT) - - end - - def process(name, resource_class, transaction) - @logger.debug "name: #{name}" - transaction.respond!("93.184.216.34", { resource_class: ::Resolv::DNS::Resource::IN::A }) - end - -end - - -if __FILE__ == $0 - RubyDNS::run_server(server_class: SimpleTCPPipeliningUDPServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/resolv.conf b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/resolv.conf deleted file mode 100644 index f1477d8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/resolv.conf +++ /dev/null @@ -1,19 +0,0 @@ -#-- -#Copyright 2007 Nominet UK -# -#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. -#++ - -domain t.dnsruby.validation-test-servers.nominet.org.uk -search dnsruby.validation-test-servers.nominet.org.uk lib.dnsruby.validation-test-servers.nominet.org.uk -nameserver 10.0.1.128 10.0.2.128 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/run-tests-individually b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/run-tests-individually deleted file mode 100755 index cd08c45..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/run-tests-individually +++ /dev/null @@ -1,347 +0,0 @@ -#!/usr/bin/env ruby - -# Runs each test individually in its own Ruby VM, -# shows output from those that failed, and outputs separate lists -# of the tests that succeeded and those that failed. - -# Suggest you use tee to display while running but save results to a file, e.g.: -# test/run-tests-individually | tee run-tests-individually.out.txt - -test_files = Dir[File.join(File.dirname(__FILE__), 'tc_*.rb')] - -def run_file(filespec) - output = `ruby #{filespec} 2>&1` - return_code = $? - if return_code == 0 - puts "Ok: Test #{filespec} completed successfully" - true - else - puts "Failed: Test #{filespec} failed with the following errors:\n#{output}" - false - end -end - - -successes, failures = test_files.partition { |filespec| run_file(filespec) } - -puts "Successes:\n\n"; puts successes; puts "\n\n" -puts "Failures:\n\n"; puts failures - - -=begin -Sample output: -Ok: Test test/tc_axfr.rb completed successfully -Ok: Test test/tc_cache.rb completed successfully -Failed: Test test/tc_dlv.rb failed with the following errors: -Run options: --seed 19558 - -# Running: - - -TestDlv | R - | 0.00 s -Slowest tests: -2.04 s TestDlv#test_dlv -Slowest suites: -2.04 s TestDlv - - -Finished in 2.040666s, 0.4900 runs/s, 0.4900 assertions/s. - - 1) Error: -TestDlv#test_dlv: -ArgumentError: Can't make sense of nameserver : ns2.nic.se, exception : Dnsruby::NXDomain - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:293:in `rescue in rescue in rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:256:in `rescue in rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:252:in `rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:248:in `resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/packet_sender.rb:230:in `initialize' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:569:in `new' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:569:in `add_server' - test/tc_dlv.rb:42:in `test_dlv' - -1 runs, 1 assertions, 0 failures, 1 errors, 0 skips -Ok: Test test/tc_dns.rb completed successfully -Ok: Test test/tc_dnskey.rb completed successfully -Ok: Test test/tc_ds.rb completed successfully -Ok: Test test/tc_escapedchars.rb completed successfully -Ok: Test test/tc_gpos.rb completed successfully -Ok: Test test/tc_hash.rb completed successfully -Ok: Test test/tc_header.rb completed successfully -Ok: Test test/tc_hip.rb completed successfully -Ok: Test test/tc_hs.rb completed successfully -Ok: Test test/tc_ipseckey.rb completed successfully -Ok: Test test/tc_message.rb completed successfully -Ok: Test test/tc_misc.rb completed successfully -Ok: Test test/tc_name.rb completed successfully -Ok: Test test/tc_naptr.rb completed successfully -Ok: Test test/tc_nsec.rb completed successfully -Ok: Test test/tc_nsec3.rb completed successfully -Ok: Test test/tc_nsec3param.rb completed successfully -Ok: Test test/tc_nxt.rb completed successfully -Ok: Test test/tc_packet.rb completed successfully -Ok: Test test/tc_packet_unique_push.rb completed successfully -Ok: Test test/tc_ptrin.rb completed successfully -Ok: Test test/tc_question.rb completed successfully -Ok: Test test/tc_queue.rb completed successfully -Ok: Test test/tc_recur.rb completed successfully -Ok: Test test/tc_res_config.rb completed successfully -Failed: Test test/tc_res_env.rb failed with the following errors: -Run options: --seed 61787 - -# Running: - - -TestResolverEnv | F - | 0.00 s -Slowest tests: -0.00 s TestResolverEnv#test_res_env -Slowest suites: -0.00 s TestResolverEnv - - -Finished in 0.002247s, 445.0378 runs/s, 1335.1135 assertions/s. - - 1) Failure: -TestResolverEnv#test_res_env [test/tc_res_env.rb:38]: -Nameserver set correctly. -Expected: "10.128.128.128" - Actual: "10.0.1.128" - -1 runs, 3 assertions, 1 failures, 0 errors, 0 skips -Ok: Test test/tc_res_file.rb completed successfully -Ok: Test test/tc_res_opt.rb completed successfully -Ok: Test test/tc_resolv.rb completed successfully -Ok: Test test/tc_resolver.rb completed successfully -Ok: Test test/tc_rr-opt.rb completed successfully -Ok: Test test/tc_rr-txt.rb completed successfully -Ok: Test test/tc_rr-unknown.rb completed successfully -Ok: Test test/tc_rr.rb completed successfully -Ok: Test test/tc_rrset.rb completed successfully -Ok: Test test/tc_rrsig.rb completed successfully -Ok: Test test/tc_single_resolver.rb completed successfully -Failed: Test test/tc_soak.rb failed with the following errors: -Run options: --seed 6029 - -# Running: - - -TestSingleResolverSoak | RRRRRRRRtest/tc_soak.rb:283:in `create_default_single_resolver': uninitialized constant TestSingleResolverSoak::SingleResolver (NameError) -Did you mean? SingleForwardable - from test/tc_soak.rb:243:in `block (2 levels) in test_many_threads_on_many_single_resolvers' -Ok: Test test/tc_soak_base.rb completed successfully -Ok: Test test/tc_sshfp.rb completed successfully -Ok: Test test/tc_tcp.rb completed successfully -Ok: Test test/tc_tcp_pipelining.rb completed successfully -Ok: Test test/tc_tkey.rb completed successfully -Failed: Test test/tc_tsig.rb failed with the following errors: -Run options: --seed 20864 - -# Running: - - -TestTSig | R..R - | 11.87 s -Slowest tests: -11.87 s TestTSig#test_signed_update -10.74 s TestTSig#test_signed_zone_transfer -0.00 s TestTSig#test_bad_tsig -0.00 s TestTSig#test_message_signing -Slowest suites: -22.62 s TestTSig - - -Finished in 22.616872s, 0.1769 runs/s, 0.3095 assertions/s. - - 1) Error: -TestTSig#test_signed_zone_transfer: -ArgumentError: Can't make sense of nameserver : ns0.validation-test-servers.nominet.org.uk, exception : undefined method `answer' for nil:NilClass - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:293:in `rescue in rescue in rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:256:in `rescue in rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:252:in `rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:248:in `resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/zone_transfer.rb:94:in `block in transfer' - /Users/kbennett/work/dnsruby/lib/dnsruby/zone_transfer.rb:92:in `each' - /Users/kbennett/work/dnsruby/lib/dnsruby/zone_transfer.rb:92:in `transfer' - test/tc_tsig.rb:189:in `axfr' - test/tc_tsig.rb:180:in `test_signed_zone_transfer' - - - 2) Error: -TestTSig#test_signed_update: -ArgumentError: Can't make sense of nameserver : , exception : Nameserver invalid! - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:293:in `rescue in rescue in rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:256:in `rescue in rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:252:in `rescue in resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:248:in `resolve_server' - /Users/kbennett/work/dnsruby/lib/dnsruby/packet_sender.rb:230:in `initialize' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:488:in `new' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:488:in `block (2 levels) in add_config_nameservers' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:487:in `each' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:487:in `block in add_config_nameservers' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:485:in `synchronize' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:485:in `add_config_nameservers' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:514:in `set_config_nameserver' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:469:in `initialize' - test/tc_tsig.rb:69:in `new' - test/tc_tsig.rb:69:in `run_test_client_signs' - test/tc_tsig.rb:31:in `test_signed_update' - -4 runs, 7 assertions, 0 failures, 2 errors, 0 skips -Ok: Test test/tc_update.rb completed successfully -Failed: Test test/tc_validator.rb failed with the following errors: -Run options: --seed 12765 - -# Running: - -Test EventType API! - -TestValidator | .RRTest validation configuration options! -. - | 10.05 s -Slowest tests: -5.05 s TestValidator#test_validation -5.01 s TestValidator#test_resolver_cd_validation_fails -0.00 s TestValidator#test_eventtype_api -0.00 s TestValidator#test_config_api -Slowest suites: -10.05 s TestValidator - - -Finished in 10.054978s, 0.3978 runs/s, 0.0000 assertions/s. - - 1) Error: -TestValidator#test_resolver_cd_validation_fails: -Dnsruby::ResolvTimeout: Query timed out - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query' - test/tc_validator.rb:52:in `test_resolver_cd_validation_fails' - - - 2) Error: -TestValidator#test_validation: -Dnsruby::ResolvTimeout: Query timed out - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query' - test/tc_validator.rb:40:in `test_validation' - -4 runs, 0 assertions, 0 failures, 2 errors, 0 skips -Failed: Test test/tc_verifier.rb failed with the following errors: -Run options: --seed 23316 - -# Running: - - -VerifierTest | .R.R....RF. - | 14.37 s -Slowest tests: -5.40 s VerifierTest#test_tcp -5.01 s VerifierTest#test_trusted_key -2.01 s VerifierTest#test_expired_keys -1.54 s VerifierTest#test_verify_message_fails -1.21 s VerifierTest#test_dsa -0.41 s VerifierTest#test_sendraw -Slowest suites: -15.91 s VerifierTest - - -Finished in 15.914313s, 0.6912 runs/s, 0.3770 assertions/s. - - 1) Error: -VerifierTest#test_tcp: -Dnsruby::ResolvTimeout: Query timed out - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query' - test/tc_verifier.rb:183:in `test_tcp' - - - 2) Error: -VerifierTest#test_trusted_key: -Dnsruby::ResolvTimeout: Query timed out - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message' - /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query' - test/tc_verifier.rb:125:in `test_trusted_key' - - - 3) Error: -VerifierTest#test_verify_message: -Dnsruby::VerifyError: Failed to verify DNSKEY RRSet - /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:277:in `block (2 levels) in verify' - /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:275:in `each' - /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:275:in `block in verify' - /Users/kbennett/work/dnsruby/lib/dnsruby/message/message.rb:345:in `block in each_section' - /Users/kbennett/work/dnsruby/lib/dnsruby/message/message.rb:345:in `each' - /Users/kbennett/work/dnsruby/lib/dnsruby/message/message.rb:345:in `each_section' - /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:261:in `verify' - /Users/kbennett/work/dnsruby/lib/dnsruby/dnssec.rb:293:in `rescue in rescue in verify' - /Users/kbennett/work/dnsruby/lib/dnsruby/dnssec.rb:290:in `rescue in verify' - /Users/kbennett/work/dnsruby/lib/dnsruby/dnssec.rb:287:in `verify' - test/tc_verifier.rb:98:in `test_verify_message' - - - 4) Failure: -VerifierTest#test_dsa [test/tc_verifier.rb:229]: -Expected nil to be truthy. - -11 runs, 6 assertions, 1 failures, 3 errors, 0 skips -Ok: Test test/tc_zone_reader.rb completed successfully -Successes: - -test/tc_axfr.rb -test/tc_cache.rb -test/tc_dns.rb -test/tc_dnskey.rb -test/tc_ds.rb -test/tc_escapedchars.rb -test/tc_gpos.rb -test/tc_hash.rb -test/tc_header.rb -test/tc_hip.rb -test/tc_hs.rb -test/tc_ipseckey.rb -test/tc_message.rb -test/tc_misc.rb -test/tc_name.rb -test/tc_naptr.rb -test/tc_nsec.rb -test/tc_nsec3.rb -test/tc_nsec3param.rb -test/tc_nxt.rb -test/tc_packet.rb -test/tc_packet_unique_push.rb -test/tc_ptrin.rb -test/tc_question.rb -test/tc_queue.rb -test/tc_recur.rb -test/tc_res_config.rb -test/tc_res_file.rb -test/tc_res_opt.rb -test/tc_resolv.rb -test/tc_resolver.rb -test/tc_rr-opt.rb -test/tc_rr-txt.rb -test/tc_rr-unknown.rb -test/tc_rr.rb -test/tc_rrset.rb -test/tc_rrsig.rb -test/tc_single_resolver.rb -test/tc_soak_base.rb -test/tc_sshfp.rb -test/tc_tcp.rb -test/tc_tcp_pipelining.rb -test/tc_tkey.rb -test/tc_update.rb -test/tc_zone_reader.rb - - -Failures: - -test/tc_dlv.rb -test/tc_res_env.rb -test/tc_soak.rb -test/tc_tsig.rb -test/tc_validator.rb -test/tc_verifier.rb - -=end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/spec_helper.rb deleted file mode 100644 index 3fdfccf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/spec_helper.rb +++ /dev/null @@ -1,41 +0,0 @@ -$VERBOSE = true - -if Warning.respond_to?(:[]=) - Warning[:deprecated] = true -end - -if ENV['RUN_EXTRA_TASK'] == 'TRUE' - require 'coveralls' - Coveralls.wear! - - require 'simplecov' - - # # SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new( - # # [SimpleCov::Formatter::HTMLFormatter, Coveralls::SimpleCov::Formatter]) - # SimpleCov.formatter = Coveralls::SimpleCov::Formatter - # SimpleCov.start do - # add_filter 'test/' - # end -end - -require 'minitest' -require 'minitest/autorun' -require 'minitest/display' - -MiniTest::Display.options = { - suite_names: true, - color: true, - print: { - success: ".", - failure: "F", - error: "R" - } -} -# This is in a self invoking anonymous lambda so local variables do not -# leak to the outer scope. --> do - load_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')) - $LOAD_PATH.unshift(load_dir) unless $LOAD_PATH.include?(load_dir) - require_relative '../lib/dnsruby' - require_relative 'test_utils' -end.() diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_axfr.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_axfr.rb deleted file mode 100644 index a199400..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_axfr.rb +++ /dev/null @@ -1,45 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestAxfr < Minitest::Test - def test_axfr - zt = Dnsruby::ZoneTransfer.new - zt.transfer_type = Dnsruby::Types.AXFR - zt.server = 'nsztm1.digi.ninja' - - if contactable?(zt.server) - zone = zt.transfer('zonetransfer.me') - assert(zone.length > 0) - assert_nil(zt.last_tsigstate) - end - end - - def contactable?(server) - begin - sock = UDPSocket.new - sock.connect(server, 25) - sock.close - true - rescue Exception - false - end - end - - # NB - test_ixfr is in tc_tsig.rg - this is becuase it requires - # TSIG to make an update (which we can then test for with ixfr) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_caa.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_caa.rb deleted file mode 100644 index 80a4b96..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_caa.rb +++ /dev/null @@ -1,48 +0,0 @@ - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestCAA < Minitest::Test - - include Dnsruby - - def test_caa - {'foo.com. IN CAA 0 issue "ca.example.net"' => [0, 'issue', 'ca.example.net'], - 'foo.com. IN CAA 1 issue "ca.example.net"' => [1, 'issue', 'ca.example.net'], - 'foo.com. IN CAA 0 issuewild "ca.example.net"' => [0, 'issuewild', 'ca.example.net'], - 'foo.com. IN CAA 0 iodef "mailto:security@example.com"' => [0, 'iodef', 'mailto:security@example.com'], - 'foo.com. IN CAA 0 issue "ca.example.net; account=230123"' => [0, 'issue', 'ca.example.net; account=230123'] - }.each do |text, data| - caa = RR.create(text) - assert_equal(data[0], caa.flag) - assert_equal(data[1], caa.property_tag) - assert_equal(data[2], caa.property_value) - m = Dnsruby::Message.new - m.add_additional(caa) - data = m.encode - m2 = Dnsruby::Message.decode(data) - caa2 = m2.additional()[0] - assert(caa.flag == caa2.flag) - assert(caa.property_tag == caa2.property_tag) - assert(caa.property_value == caa2.property_value) - assert(caa == caa2) - end - end - -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_cache.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_cache.rb deleted file mode 100644 index a81078d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_cache.rb +++ /dev/null @@ -1,153 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestCache < Minitest::Test - - include Dnsruby - - def test_cache - cache = Cache.new - m1 = Message.new("example.com.", Types.A, Classes.IN) - rr1 = RR.create("example.com. 3 IN A 208.77.188.166") - m1.add_answer(rr1) - m1.header.aa = true - assert(!m1.cached) - cache.add(m1) - ret = cache.find("example.com", "A") - assert(ret.cached) - assert(ret.answer.rrset("example.com", "A").to_s == m1.answer.rrset("example.com", "A").to_s, "#{m1.answer.rrset("example.com", "A").to_s}end\n#{ret.answer.rrset("example.com", "A").to_s}end" ) - assert(ret.header.aa == false) - assert(ret.answer.rrsets()[0].ttl == 3) - sleep(1) - ret = cache.find("example.com", "A") - assert(ret.cached) - assert((ret.answer.rrsets()[0].ttl == 2) || (ret.answer.rrsets()[0].ttl == 1), "ttl = #{ret.answer.rrsets()[0].ttl}") - assert(ret.answer != m1.answer, "ret.answer=#{ret.answer}\nm1.answer=#{m1.answer}" ) - assert(ret.header.aa == false) - sleep(2) # TTL of 3 should have timed out now - ret = cache.find("example.com", "A") - assert(!ret) - cache.add(m1) - m2 = Message.new("example.com.", Types.A, Classes.IN) - rr2 = RR.create("example.com. 200 IN A 208.77.188.166") - m2.add_answer(rr2) - m2.header.aa = true - cache.add(m2) - ret = cache.find("example.com", "A") - assert(ret.cached) - assert(ret.answer.rrsets()[0].ttl == 200) - end - - def test_opt_record - # Create a very large message, encode it and decode it - there should be an opt record - # test getting that in and out the cache - # We should be able to do this in the online test by getting back a very big - # record from the test zone - end - - def test_negative - - end - - def test_cache_max_size - Dnsruby::Cache.max_size=1 - res = Resolver.new() - Dnsruby::PacketSender.clear_caches() - assert(Dnsruby::PacketSender.recursive_cache_length == 0) - msg = res.query("example.com") - assert(!msg.cached) - assert(Dnsruby::PacketSender.recursive_cache_length == 1) - msg = res.query("example.com") - assert(msg.cached) - assert(Dnsruby::PacketSender.recursive_cache_length == 1) - msg = res.query("google.com") - assert(!msg.cached) - assert(Dnsruby::PacketSender.recursive_cache_length == 1) - msg = res.query("example.com") - assert(!msg.cached) - assert(Dnsruby::PacketSender.recursive_cache_length == 1) - Dnsruby::Cache.max_size=2 - assert(Dnsruby::PacketSender.recursive_cache_length == 1) - msg = res.query("example.com") - assert(msg.cached) - assert(Dnsruby::PacketSender.recursive_cache_length == 1) - msg = res.query("google.com") - assert(!msg.cached) - assert(Dnsruby::PacketSender.recursive_cache_length == 2) - end - - def test_resolver_do_caching - # Get the records back from the test zone - Dnsruby::PacketSender.clear_caches - res = Resolver.new() - res.do_caching = false - assert(!res.do_caching) - ret = res.query("example.com") - assert(!ret.cached) - assert(ret.rcode == RCode.NoError) - # Wait a while - sleep(1) - # Ask for the same records - ret = res.query("example.com") - assert(ret.rcode == RCode.NoError) - assert(!ret.cached) - end - - def test_online - # Get the records back from the test zone - Dnsruby::PacketSender.clear_caches - Dnsruby::Recursor.clear_caches - res = SingleResolver.new("ns.nlnetlabs.nl.") - # res = SingleResolver.new("ns0.validation-test-servers.nominet.org.uk.") - res.udp_size = 4096 - query = Message.new("net-dns.org", Types.TXT) - # query = Message.new("overflow.dnsruby.validation-test-servers.nominet.org.uk", Types.TXT) - ret = res.send_message(query) -# print "#{ret}\n" - assert(!ret.cached) - assert(ret.rcode == RCode.NoError) - assert(ret.header.aa) - # Store the ttls - first_ttls = ret.answer.rrset( - "net-dns.org", Types.TXT).ttl - # "overflow.dnsruby.validation-test-servers.nominet.org.uk", Types.TXT).ttl - # Wait a while - sleep(1) - # Ask for the same records - query = Message.new("net-dns.org", Types.TXT) - # query = Message.new("overflow.dnsruby.validation-test-servers.nominet.org.uk", Types.TXT) - ret = res.send_message(query) -# print "#{ret}\n" - assert(ret.rcode == RCode.NoError) - assert(ret.cached) - second_ttls = ret.answer.rrset( - "net-dns.org", Types.TXT).ttl - # "overflow.dnsruby.validation-test-servers.nominet.org.uk", Types.TXT).ttl - # make sure the ttl is less the time we waited - assert((second_ttls == first_ttls - 1) || (second_ttls == first_ttls - 2), - "First ttl = #{first_ttls}, second = #{second_ttls}\n") - # make sure the header flags (and ID) are right - assert(ret.header.id == query.header.id, "First id = #{query.header.id}, cached response was #{ret.header.id}\n") - assert(!ret.header.aa) - end - - def test_online_uncached - # @TODO@ Check that wildcard queries are not cached - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dlv.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dlv.rb deleted file mode 100644 index 76b1814..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dlv.rb +++ /dev/null @@ -1,78 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestDlv < Minitest::Test - - include Dnsruby - - def test_dlv - # Enable DLV (only) for validation. - # Try to validate some records which can only be done through dlv - # OK - if we don't configure trust anchors, and there is no signed root, then this is easy! - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - Dnsruby::PacketSender.clear_caches -# Dnssec.do_validation_with_recursor(true) - # @TODO@ Should use whole RRSet of authoritative NS for these resolvers, - # not individual servers! - res = Dnsruby::Resolver.new("a.ns.se") - res.add_server("b.ns.se") - res.dnssec=true - ret = res.query("se.", Dnsruby::Types.ANY) -# assert(ret.security_level == Dnsruby::Message::SecurityLevel::INSECURE) -# With no keys configured, checking will not be performed - assert(ret.security_level == Dnsruby::Message::SecurityLevel::UNCHECKED) - - res = Dnsruby::Resolver.new("ns3.nic.se") - res.add_server("ns2.nic.se") - res.dnssec = true - ret = res.query("ns2.nic.se", Dnsruby::Types.A) - assert(ret.security_level == Dnsruby::Message::SecurityLevel::UNCHECKED) - - # Load DLV key - dlv_key = RR.create("dlv.isc.org. IN DNSKEY 257 3 5 BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh") - Dnssec.add_dlv_key(dlv_key) - Dnsruby::PacketSender.clear_caches - - - # SE no longer in DLV -# res = Dnsruby::Recursor.new() -# ret = res.query("ns2.nic.se", Dnsruby::Types.A) -# assert(ret.security_level == Dnsruby::Message::SecurityLevel::SECURE) - - # .cz no longer in dlv? -# ret = res.query("b.ns.nic.cz", Dnsruby::Types.A) -# assert(ret.security_level == Dnsruby::Message::SecurityLevel::SECURE) - - # Test .gov -# Dnsruby::TheLog.level = Logger::DEBUG -res = Resolver.new - ret = res.query("nih.gov", "NS") - assert(ret.security_level = Dnsruby::Message::SecurityLevel::SECURE) - end - - # se no longer in dlv -# def test_scrub_non_authoritative -# # Dnssec.do_validation_with_recursor(true) -# res = Dnsruby::Recursor.new() -# ret = res.query("frobbit.se") -# res.prune_rrsets_to_rfc5452(ret, "frobbit.se.") -# Dnssec.validate(ret) -# assert(ret.security_level == Dnsruby::Message::SecurityLevel::SECURE) -# end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dns.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dns.rb deleted file mode 100644 index e3ae1e0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dns.rb +++ /dev/null @@ -1,262 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestDNS < Minitest::Test - - include Dnsruby - - def setup - Dnsruby::Config.reset - end - - def test_ipv4_address - Dnsruby::DNS.open { |dns| dns.getnames(Dnsruby::IPv4.create("221.186.184.68")) } - end - - # def test_resolv_rb_api - # DNS.open {|dns| - # # dns.getresources("www.ruby-lang.org", Types.A).each {|r| assert_equal(r.address.to_s, "221.186.184.68")} - # dns.getresources("www.ruby-lang.org", Types.A).each {|r| assert_equal(r.address.to_s, "54.163.249.195")} - # r= dns.getresources("ruby-lang.org", Types.MX, Classes.IN).collect {|r| [r.exchange.to_s, r.preference]} - # assert_equal(r, [["carbon.ruby-lang.org", 10]]) - # } - # d = DNS.open - # # d.getresources("www.ruby-lang.org", Types.A, Classes.IN).each {|r| assert_equal(r.address.to_s, "221.186.184.68")} - # d.getresources("www.ruby-lang.org", Types.A, Classes.IN).each {|r| assert_equal(r.address.to_s, "54.163.249.195")} - # assert_equal(d.getaddress("www.ruby-lang.org").to_s, "54.163.249.195") - # # assert_equal(d.getaddress("www.ruby-lang.org").to_s, "221.186.184.68") - # r = d.getaddresses("www.ruby-lang.org") - # assert_equal(r.length, 1) - # assert_equal(r[0].to_s, "221.186.184.68") - # d.each_address("www.ruby-lang.org") {|address| assert_equal(address.to_s, "54.163.249.195")} - # # d.each_address("www.ruby-lang.org") {|address| assert_equal(address.to_s, "221.186.184.68")} - # assert_equal(d.getname("210.251.121.214").to_s, "ci.ruby-lang.org") - # r = d.getnames("210.251.121.214") - # assert_equal(r.length, 1) - # assert_equal(r[0].to_s, "ci.ruby-lang.org") - # d.each_name("210.251.121.214") {|name| assert_equal(name.to_s, "ci.ruby-lang.org")} - # r = d.getresource("www.ruby-lang.org", Types.A) - # assert_equal(r.name.to_s, "carbon.ruby-lang.org") - # assert_equal(r.address.to_s, "221.186.184.68") - # assert_equal(r.klass, Classes.IN) - # assert_equal(r.type, Types.A) - # r = d.getresources("www.ruby-lang.org", Types.MX) - # assert(r.length==1) - # assert_equal(r[0].name.to_s, "carbon.ruby-lang.org") - # assert_equal(r[0].preference, 10) - # assert_equal(r[0].exchange.to_s, "carbon.ruby-lang.org") - # assert_equal(r[0].klass, Classes.IN) - # assert_equal(r[0].type, Types.MX) - # r = d.each_resource("www.ruby-lang.org", Types.ANY) {|r| - # assert_equal(r.name.to_s, "www.ruby-lang.org") - # assert_equal(r.domainname.to_s, "carbon.ruby-lang.org") - # assert_equal(r.klass, Classes.IN) - # assert_equal(r.type, Types.CNAME) - # } - # d.close - # end - - def test_async_api - # @TODO@ Do we really want an async API for Resolv/DNS? - # Or would users be better off with Resolver async API? - end - - def test_concurrent - # @TODO@ What kind of concurrent testing are we going to do on the top-level API? - end - - def test_bad_input - # - # Check that new() is vetting things properly. - # - Dnsruby.log.level=Logger::FATAL - [:nameserver].each do |test| -# [{}, 'kjghdfkjhase',1,'\1',nil].each do |input| -# Config now only checks that an IPv4, IPv6 or Name can be made with each input - [{},1,nil].each do |input| - res=nil - begin - res = Dnsruby::DNS.new({test => input}) - assert(false, "Accepted invalid input") - rescue - assert(res==nil, "No resolver should be returned for #{test} = #{input}") - end - end - end - end - - def test_online - res = DNS.new - rrs = [ - { - :type => Types.A, - :name => 'a.t.net-dns.org', - # :name => 'a.t.dnsruby.validation-test-servers.nominet.org.uk', - :address => '10.0.1.128' - }, - { - :type => Types::MX, - :name => 'mx.t.net-dns.org', - :exchange => 'a.t.net-dns.org', - # :name => 'mx.t.dnsruby.validation-test-servers.nominet.org.uk', - # :exchange => 'a.t.dnsruby.validation-test-servers.nominet.org.uk', - :preference => 10 - }, - { - :type => 'CNAME', - :name => 'cname.t.net-dns.org', - :domainname => 'a.t.net-dns.org' - # :name => 'cname.t.dnsruby.validation-test-servers.nominet.org.uk', - # :domainname => 'a.t.dnsruby.validation-test-servers.nominet.org.uk' - }, - { - :type => Types.TXT, - :name => 'txt.t.net-dns.org', - # :name => 'txt.t.dnsruby.validation-test-servers.nominet.org.uk', - :strings => ['Net-DNS'] - } - ] - - rrs.each do |data| - answer = res.getresource(data[:name], data[:type]) - assert(answer) - assert_equal(answer.klass, 'IN', 'Class correct' ) - - packet, queried_name = res.send_query(data[:name], data[:type]) - - assert(packet, "Got an answer for #{data[:name]} IN #{data[:type]}") - assert_equal(1, packet.header.qdcount, 'Only one question') - # assert_equal(1, answer.length, 'Got single answer') - - question = (packet.question)[0] - answer = (packet.answer)[0] - - assert(question, 'Got question' ) - assert_equal(data[:name], question.qname.to_s, 'Question has right name' ) - assert_equal(data[:name], queried_name.to_s, 'queried_name has right name' ) - assert_equal(Types.new(data[:type]), question.qtype, 'Question has right type' ) - assert_equal('IN', question.qclass.string, 'Question has right class') - - assert(answer) - assert_equal(answer.klass, 'IN', 'Class correct' ) - - - data.keys.each do |meth| - if (meth == :type) - assert_equal(Types.new(data[meth]).to_s, answer.send(meth).to_s, "#{meth} correct (#{data[:name]})") - else - assert_equal(data[meth].to_s, answer.send(meth).to_s, "#{meth} correct (#{data[:name]})") - end - end - end # do - end # test_online - - def test_search_query_reverse - # - # test that getname() DTRT with reverse lookups - # - tests = [ - { - :ip => '198.41.0.4', - :host => 'a.root-servers.net', - }, - { - :ip => '2001:500:1::803f:235', - :host => 'h.root-servers.net', - }, - ] - - res = DNS.new - tests.each do |test| - name = res.getname(test[:ip]) - - assert_instance_of(Name,name) - - next unless name - - assert_equal(name.to_s, test[:host], "getname(#{test[:ip]}) works") - end # do - end # test - - def test_searchlist - res = DNS.new( - :domain => 't.net-dns.org', - :search => ["t.net-dns.org", "net-dns.org"] - # :domain => 't.dnsruby.validation-test-servers.nominet.org.uk', - # :search => ["t.dnsruby.validation-test-servers.nominet.org.uk", "dnsruby.validation-test-servers.nominet.org.uk"] - ) - - # - # test the send_query() appends the default domain and - # searchlist correctly. - # - # @TODO@ Should really be done in Config test! - - tests = [ - { - :method => 'search', - :name => 'a' - }, - { - :method => 'search', - :name => 'a.t' - }, - { - :method => 'query', - :name => 'a' - } - ] - - # res.send_query("a.t.dnsruby.validation-test-servers.nominet.org.uk", "A") - res.send_query("a.t.net-dns.org", "A") - res.config.ndots=2 - - tests.each do |test| - method = test[:method] - - if (method=="query") - res.config.apply_search_list=false - else - res.config.apply_search_list=true - end - - ans, query = res.send_query(test[:name]) - - assert_instance_of(Message, ans) - - # assert_equal(2, ans.header.ancount, "Correct answer count (with persistent socket and #{method})") - - a = ans.answer - - assert_instance_of(RR::IN::A, a[0]) - assert_equal(a[0].name.to_s, 'a.t.net-dns.org',"Correct name (with persistent socket and #{method})") - # assert_equal(a[0].name.to_s, 'a.t.dnsruby.validation-test-servers.nominet.org.uk',"Correct name (with persistent socket and #{method})") - end - end - - def test_port - d = DNS.new({:port => 5353}) - assert(d.to_s.include?"5353") - end - - def test_port_nil - d = DNS.new({:port => nil}) - assert(d.to_s.include? Dnsruby::Config::DEFAULT_PORT.to_s) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dnskey.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dnskey.rb deleted file mode 100644 index dde7d2f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_dnskey.rb +++ /dev/null @@ -1,117 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class DnskeyTest < Minitest::Test - INPUT = "example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG2DeIQ3" + - "Cbl+BBZH4b/0PY1kxkmvHjcZc8no" + - "kfzj31GajIQKY+5CptLr3buXA10h" + - "WqTkF7H6RfoRqXQeogmMHfpftf6z" + - "Mv1LyBUgia7za6ZEzOJBOztyvhjL" + - "742iU/TpPSEDhm2SNKLijfUppn1U" + - "aNvv4w== )" - BADINPUT = "example.com. 86400 IN DNSKEY 384 3 5 ( AQPSKmynfzW4kyBv015MUG2DeIQ3" + - "Cbl+BBZH4b/0PY1kxkmvHjcZc8no" + - "kfzj31GajIQKY+5CptLr3buXA10h" + - "WqTkF7H6RfoRqXQeogmMHfpftf6z" + - "Mv1LyBUgia7za6ZEzOJBOztyvhjL" + - "742iU/TpPSEDhm2SNKLijfUppn1U" + - "aNvv4w== )" - # def test_bad_flag - # dnskey = Dnsruby::RR.create(BADINPUT) - # assert_equal(384, dnskey.flags) - # assert(dnskey.bad_flags?) - # end - def test_dnskey_from_string - dnskey = Dnsruby::RR.create(INPUT) - # assert(!dnskey.bad_flags?) - assert_equal(3, dnskey.protocol) - assert_equal(256, dnskey.flags) - assert_equal(Dnsruby::Algorithms::RSASHA1, dnskey.algorithm) - assert_equal(Dnsruby::RR::DNSKEY::ZONE_KEY, dnskey.flags & Dnsruby::RR::DNSKEY::ZONE_KEY) - assert_equal(0, dnskey.flags & Dnsruby::RR::DNSKEY::SEP_KEY) - - dnskey2 = Dnsruby::RR.create(dnskey.to_s) - assert(dnskey2.to_s == dnskey.to_s, "#{dnskey.to_s} not equal to \n#{dnskey2.to_s}") - end - - def test_from_string_with_comments - k = Dnsruby::RR.create("tjeb.nl. 3600 IN DNSKEY 256 3 7 AwEAAcglEOS7bECRK5fqTuGTMJycmDhTzmUu/EQbAhKJOYJxDb5SG/RYqsJgzG7wgtGy0W1aP7I4k6SPtHmwcqjLaZLVUwRNWCGr2adjb9JTFyBR7F99Ngi11lEGM6Uiw/eDRk66lhoSGzohjj/rmhRTV6gN2+0ADPnafv3MBkPgryA3 ;{id = 53177 (zsk), size = 1024b}") - assert_equal(53177, k.key_tag) - end - - def test_dnskey_from_data - dnskey = Dnsruby::RR.create(INPUT) - m = Dnsruby::Message.new - m.add_additional(dnskey) - data = m.encode - m2 = Dnsruby::Message.decode(data) - dnskey3 = m2.additional()[0] - assert_equal(dnskey.to_s, dnskey3.to_s) - end - - def test_bad_values - dnskey = Dnsruby::RR.create(INPUT) - begin - dnskey.protocol=4 - fail() - rescue Dnsruby::DecodeError - end - dnskey.flags=4 - assert_equal(4, dnskey.flags) - assert(dnskey.flags == 4) - dnskey.flags=256 - assert_equal(256, dnskey.flags) -# assert(!dnskey.bad_flags?) - dnskey.flags=257 - assert_equal(257, dnskey.flags) -# assert(!dnskey.bad_flags?) - dnskey.flags=1 - assert_equal(1, dnskey.flags) - dnskey.protocol=3 - - end - - def test_ecdsa_integrity - ecdsa_256_pub = 'example.com. 3600 IN DNSKEY 256 3 13 ( oJMRESz5E4gYzS/q6XD' + - 'rvU1qMPYIjCWzJaOau8XNEZeqCYKD5ar0IRd8KqXXFJkqmVfRvMGPmM1x8fGAa2XhSA== )' - - dnskey = Dnsruby::RR.create(ecdsa_256_pub) - assert_equal(3, dnskey.protocol) - assert_equal(256, dnskey.flags) - assert_equal(Dnsruby::Algorithms::ECDSAP256SHA256, dnskey.algorithm) - assert_equal(Dnsruby::RR::DNSKEY::ZONE_KEY, dnskey.flags & Dnsruby::RR::DNSKEY::ZONE_KEY) - assert_equal(0, dnskey.flags & Dnsruby::RR::DNSKEY::SEP_KEY) - - dnskey2 = Dnsruby::RR.create(dnskey.to_s) - assert(dnskey2.to_s == dnskey.to_s, "#{dnskey} not equal to \n#{dnskey2}") - - ecdsa_384_pub = 'example.com. 3600 IN DNSKEY 256 3 14 ( Bl2HDw98sGin4lNlx7n' + - 'QX3w98jx6UhAgC73Jq+6LFlD12gnVTMHecM8Z GoTFSh+mV+qEPFZ5s3NbC4qvwUW0kkPb+0ip' + - 'CuLRwZYhYKk7D+RDb+fX XozI9hhZrsXBcEhss )' - - dnskey = Dnsruby::RR.create(ecdsa_384_pub) - assert_equal(3, dnskey.protocol) - assert_equal(256, dnskey.flags) - assert_equal(Dnsruby::Algorithms::ECDSAP384SHA384, dnskey.algorithm) - assert_equal(Dnsruby::RR::DNSKEY::ZONE_KEY, dnskey.flags & Dnsruby::RR::DNSKEY::ZONE_KEY) - assert_equal(0, dnskey.flags & Dnsruby::RR::DNSKEY::SEP_KEY) - - dnskey2 = Dnsruby::RR.create(dnskey.to_s) - assert(dnskey2.to_s == dnskey.to_s, "#{dnskey} not equal to \n#{dnskey2}") - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ds.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ds.rb deleted file mode 100644 index eebf297..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ds.rb +++ /dev/null @@ -1,107 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -require 'openssl' -require 'digest/sha2' - -class DsTest < Minitest::Test - - include Dnsruby - - DLVINPUT = "dskey.example.com. 86400 IN DLV 60485 5 1 ( 2BB183AF5F22588179A53B0A" + - "98631FAD1A292118 )" - INPUT = "dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A" + - "98631FAD1A292118 )" - DNSKEY = "dskey.example.com. 86400 IN DNSKEY 256 3 5 ( AQOeiiR0GOMYkDshWoSKz9Xz" + - "fwJr1AYtsmx3TGkJaNXVbfi/" + - "2pHm822aJ5iI9BMzNXxeYCmZ"+ - "DRD99WYwYqUSdjMmmAphXdvx"+ - "egXd/M5+X7OrzKBaMbCVdFLU"+ - "Uh6DhweJBjEVv5f2wwjM9Xzc"+ - "nOf+EPbtG9DMBmADjFDc2w/r"+ - "ljwvFw== )" # key id = 60485 - DS1 = "dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A"+ - "98631FAD1A292118 )" - DS2 = "dskey.example.com. 86400 IN DS 60485 5 2 ( D4B7D520E7BB5F0F67674A0C"+ - "CEB1E3E0614B93C4F9E99B83"+ - "83F6A1E4469DA50A )" - - def test_ds_from_string - ds = Dnsruby::RR.create(INPUT) - assert_equal(60485, ds.key_tag) - assert_equal(Algorithms.RSASHA1, ds.algorithm) - assert_equal(1, ds.digest_type) - assert_equal("2BB183AF5F22588179A53B0A98631FAD1A292118", ds.digest) - - ds2 = Dnsruby::RR.create(ds.to_s) - assert(ds2.to_s == ds.to_s) - end - - def test_ds_from_data - ds = Dnsruby::RR.create(INPUT) - m = Dnsruby::Message.new - m.add_additional(ds) - data = m.encode - m2 = Dnsruby::Message.decode(data) - ds3 = m2.additional()[0] - assert_equal(ds.to_s, ds3.to_s) - end - - def test_ds_values - ds = Dnsruby::RR.create(INPUT) - ds.digest_type = 2 - # Be liberal in what you accept... -# begin -# ds.digest_type = 3 -# fail -# -# rescue DecodeError -# end - end - - def test_ds_digest - key = Dnsruby::RR.create(DNSKEY) - - # and check it is the same as DS - right_ds = Dnsruby::RR.create(DS1) - ds = Dnsruby::RR::DS.from_key(key, 1); - assert_equal(ds.to_s, right_ds.to_s) - end - - def test_sha2 - # Create a new DS from the DNSKEY, - key = Dnsruby::RR.create(DNSKEY) - - # and check it is the same as DS - right_ds = Dnsruby::RR.create(DS2) - ds = Dnsruby::RR::DS.from_key(key, 2); - assert_equal(ds.to_s, right_ds.to_s) - end - - def test_dlv_from_string - dlv = Dnsruby::RR.create(DLVINPUT) - assert_equal(60485, dlv.key_tag) - assert_equal(Algorithms.RSASHA1, dlv.algorithm) - assert_equal(1, dlv.digest_type) - assert_equal("2BB183AF5F22588179A53B0A98631FAD1A292118", dlv.digest) - - dlv2 = Dnsruby::RR.create(dlv.to_s) - assert(dlv2.to_s == dlv.to_s) - end - -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_encoding.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_encoding.rb deleted file mode 100644 index 4cb695d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_encoding.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative 'spec_helper' - -require 'socket' - -# @TODO@ We also need a test server so we can control behaviour of server to test -# different aspects of retry strategy. -# Of course, with Ruby's limit of 256 open sockets per process, we'd need to run -# the server in a different Ruby process. - -class TestEncoding < Minitest::Test - - include Dnsruby - - Thread::abort_on_exception = true - - Dnsruby::TheLog.level = Logger::DEBUG - - - def test_cdnskey - rrString = "tjeb.nl.\t3600\tIN\tCDNSKEY\t256 3 RSASHA1-NSEC3-SHA1 ( AwEAAcglEOS7bECRK5fqTuGTMJycmDhTzmUu/EQbAhKJOYJxDb5SG/RYqsJgzG7wgtGy0W1aP7I4k6SPtHmwcqjLaZLVUwRNWCGr2adjb9JTFyBR7F99Ngi11lEGM6Uiw/eDRk66lhoSGzohjj/rmhRTV6gN2+0ADPnafv3MBkPgryA3 ) ; key_tag=53177" - rr = RR.create(rrString) - puts rr - puts rrString - assert(rrString.to_s == rr.to_s) - m = Dnsruby::Message.new - m.add_additional(rr) - m2 = Message.decode(m.encode) - rr2 = m2.additional()[0] - assert(rr.to_s == rr2.to_s) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_escapedchars.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_escapedchars.rb deleted file mode 100644 index 18854a5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_escapedchars.rb +++ /dev/null @@ -1,487 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestEscapedChars < Minitest::Test - - include Dnsruby - - def test_one - Name::Label.set_max_length(150) - # - # We test al sorts of escaped non-ascii characters. - # This is all to be protocol conform... so to speak. - - # - # The collection of tests is somewhat of a hodgepodge that tried to - # assess sensitivity to combinations of characters that the regular - # expressions and perl itself are sensitive to. (like \\\\\.\..) - # Development versions of the code tried to split a domain name in - # invidual labels by a regular expression. It made no sense to remove - # the more ackward tests as they have to pass anyway ... - - - # Note that in perl the \\ in a presentation format can only be achieved - # through \\\\ . - - # The hex codes are the names in wireformat: - # length octet. content octets, length octet, content , NULL octet - - - # Below are test combos, 1st and 2nd array elements are - # representations of the name. The output of the perl functions should - # yield the 2nd presentation (eg \037 gets presented as % ) - - # The 3rd element is a label count. - # The 4th element represents the number of octets per label - # The 5th element is a hexdump of the domain name in wireformat - - testcombos=[ - ['bla.fo\.o.org', - 'bla.fo\.o.org', - 3, - [3,4,3], - # Wire: 3 b l a 4 f o . o 3 o r g 0 - "03626c6104666f2e6f036f726700" - ], - - [ - 'bla\255.foo.org', - 'bla\255.foo.org', - 3, - [4,3,3], - # Wire: 4 b l a 0xff 3 f o o 3 o r g 0 - "04626c61ff03666f6f036f726700" - ], - - [ - 'bla.f\xa9oo.org', - 'bla.f\169oo.org', - 3, - [3,4,3] , - # Wire: 3 b l a 4 f 0xa9 o o 3 o r g 0 - "03626c610466a96f6f036f726700" - ], # Note hex to decimal - ['bla.fo\.o.org', - 'bla.fo\.o.org', - 3, - [3,4,3], - # Wire: 3 b l a 4 f o . o 3 o r g 0 - "03626c6104666f2e6f036f726700" - ], - - ['bla\0000.foo.org', - 'bla\0000.foo.org', - 3, - [5,3,3], - # Wire: 5 b l a 0x00 0 3 f o o 3 o r g 0 - "05626c61003003666f6f036f726700" , - ], - - ["bla.fo\o.org", - "bla.foo.org", - 3, - [3,3,3], - # Wire: 3 b l a 3 f o o 3 o r g 0 ignoring backslash on input - "03626c6103666f6f036f726700", - ], - # drops the \ - ['bla(*.foo.org', - 'bla\(*.foo.org', - 3, - [5,3,3], - - # Wire: 5 b l a ( * 3 f o o 3 o r g 0 - "05626c61282a03666f6f036f726700" - ], - - [' .bla.foo.org', - '\032.bla.foo.org', - 4, - [1,3,3,3], - "012003626c6103666f6f036f726700", - ], - - ["\\\\a.foo", - "\\\\a.foo", - 2, - [2,3], - # Wire: 2 \ a 3 f o o 0 - "025c6103666f6f00" - ], - - - ['\\\\.foo', - '\\\\.foo', - 2, - [1,3], - # Wire: 1 \ 3 f o o 0 - "015c03666f6f00", - ], - - ['a\\..foo', - 'a\\..foo', - 2, - [2,3], - # Wire: 2 a . 3 f o o 0 - "02612e03666f6f00" - ], - - ['a\\.foo.org', - 'a\\.foo.org', - 2, [5,3], - # Wire: 5 a . f o o 3 o r g 0 - "05612e666f6f036f726700" , - ], - - ['\..foo.org', - '\..foo.org', - 3, - [1,3,3], - - # Wire: 1 . 3 f o o 3 o r g 0 - "012e03666f6f036f726700" , - ], - - [ - '\046.\046', - '\..\.', - 2, - [1,1], - '012e012e00', - ], - - [ # all non \w characters :-) - '\000\001\002\003\004\005\006\007\008\009\010\011\012\013\014\015\016\017\018\019\020\021\022\023\024\025\026\027\028\029\030\031\032.\033\034\035\036\037\038\039\040\041\042\043\044\045\046\047\048.\058\059\060\061\062\063\064\065.\091\092\093\094\095\096.\123\124\125\126\127\128\129', - '\000\001\002\003\004\005\006\007\008\009\010\011\012\013\014\015\016\017\018\019\020\021\022\023\024\025\026\027\028\029\030\031\032.!\"#\$%&\'\(\)*+,-\./0.:\;<=>?\@a.[\\\\]^_`.{|}~\127\128\129', - 5, - [33,16,8,6,7], - "21000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20102122232425262728292a2b2c2d2e2f30083a3b3c3d3e3f4061065b5c5d5e5f60077b7c7d7e7f808100", - ], - - ] - - - # foreach my $testinput (@testcombos){ - testcombos.each do |testinput| - # test back and forth - - name = Name.create(testinput[0]) - labels = Name.name2encodedlabels(testinput[0]) - - # assert_equal(testinput[1], Net::labels2name(labels), "consistent name2labels labels2name for " + testinput[0]) -# name_from_labels = Name.encodedlabels2name(labels) - name_from_labels = Name.new(labels) - assert_equal(name.to_s, name_from_labels.to_s, "Name->Labels->Name for " + testinput[0]) - - # test number of labels - assert_equal(testinput[2],labels.length(),"consistent labelcount (#{testinput[2]})") - # test number of elements within label. - i=0 - # Test length of each individual label - while i '\\e.eg.secret-wg.org', - :type => 'TXT', - :txtdata => '"WildCard Match"', - :ttl => 10, - :class => "IN" - ) - - - - klass = "IN" - ttl = 43200 - name = 'def0au<.example.com' - - - - rrs = [ - { #[0] - :name => '\..bla\..example.com', - :type => Types.A, - :address => '10.0.0.1', - }, - { #[2] - :name => name, - :type => 'AFSDB', - :subtype => 1, - :hostname =>'afsdb-hostname.example.com', - }, - { #[3] - :name => '\\.funny.example.com', - :type => Types::CNAME, - :domainname => 'cname-cn\244ame.example.com', - }, - { #[4] - :name => name, - :type => Types.DNAME, - :domainname => 'dn\222ame.example.com', - }, - { #[9] - :name => name, - :type => Types.MINFO, - :rmailbx => 'minfo\.rmailbx.example.com', - :emailbx => 'minfo\007emailbx.example.com', - }, - - { #[13] - :name => name, - :type => Types.NS, - :domainname => '\001ns-nsdname.example.com', - }, - - { #[19] - :name => name, - :type => Types.SOA, - :mname => 'soa-mn\001ame.example.com', - :rname => 'soa\.rname.example.com', - :serial => 12345, - :refresh => 7200, - :retry => 3600, - :expire => 2592000, - :minimum => 86400, - }, - - ] - - # ------------------------------------------------------------------------------ - # Create the packet. - # ------------------------------------------------------------------------------ - packet = nil - packet = Message.new(name) - assert(packet, 'Packet created') - - rrs.each do |data| - data.update({:ttl => ttl,}) - - rec = RR.create(data) - packet.add_answer(rec) - end - - - # ------------------------------------------------------------------------------ - # Re-create the packet from data. - # ------------------------------------------------------------------------------ - data = packet.encode - - assert(data, 'Packet has data after pushes') - - packet = nil - - packet = Message.decode(data) - - assert(packet, 'Packet reconstructed from data') - - answer = packet.answer - - # assert(answer && answer == rrs, 'Packet returned correct answer section') - rrs.each do |rr| - record = nil - answer.each do |ansrec| - if (ansrec.type == rr[:type]) - record = ansrec - break - end - end - assert(record!=nil, "can't find answer record for #{rr}") - rr.keys.each do |key| - if (key == :type) - assert_equal(Types.new(rr[key]).string, record.send(key).to_s, "value not right for key #{key} for rr #{rr}") - else - assert_equal(rr[key].to_s, record.send(key).to_s, "value not right for key #{key} for rr #{rr}") - end - end - end - - - while (answer.size>0 and rrs.size>0) - data = rrs.shift - rr = answer.shift - type = data[:type] - # foreach my $meth (keys %{$data}) { - (data.keys.each do |meth| - if (meth == :type) - assert_equal(Types.new(data[meth]).to_s, rr.send(meth).to_s, "#{type} - #meth() correct") - else - assert_equal(data[meth].to_s, rr.send(meth).to_s, "#{type} - #meth() correct") - end - end) - - rr2 = RR.new_from_string(rr.to_s) - assert_equal(rr.to_s, rr2.to_s, "#{type} - Parsing from string works") - end - - Name::Label.set_max_length(Name::Label::MaxLabelLength) - end - end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_gpos.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_gpos.rb deleted file mode 100644 index b122866..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_gpos.rb +++ /dev/null @@ -1,124 +0,0 @@ -require_relative 'spec_helper' - -require_relative '../lib/dnsruby/resource/GPOS.rb' - -# Tests GPOS resource record. See bottom of file for sample zone file. -class TestGPOS < Minitest::Test - - include Dnsruby - - EXAMPLE_LONGITUDE = '10.0' - EXAMPLE_LATITUDE = '20.0' - EXAMPLE_ALTITUDE = '30.0' - EXAMPLE_HOSTNAME = 'a.dnsruby.com.' - EXAMPLE_TTL = 3 * 60 * 60 # 10,800 seconds, or 3 hours - - EXAMPLE_GPOS_STRING = 'a.dnsruby.com. 10800 IN GPOS 10.0 20.0 30.0' - - EXAMPLE_GPOS_HASH = { - name: EXAMPLE_HOSTNAME, - type: Types::GPOS, - ttl: EXAMPLE_TTL, - longitude: EXAMPLE_LONGITUDE, - latitude: EXAMPLE_LATITUDE, - altitude: EXAMPLE_ALTITUDE, - } - - EXAMPLE_GPOS_DATA = begin - rdata = RR::GPOS.build_rdata(EXAMPLE_LONGITUDE, EXAMPLE_LATITUDE, EXAMPLE_ALTITUDE) - [EXAMPLE_HOSTNAME, Types::GPOS, Classes::IN, EXAMPLE_TTL, rdata.length, rdata, 0] - end - - # Returns a GPOS record returned by a BIND server configured with the zone file - # shown at the bottom of this file. I (keithrbennett) was unable to find a GPOS - # record on the public Internet to use for live testing. - def gpos_from_response - # query = Message.new(EXAMPLE_HOSTNAME, 'GPOS') - # query_binary = "E0\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001a\adnsruby\u0003com\u0000\u0000\e\u0000\u0001" - # response, _error = Resolver.new('127.0.0.1').query_raw(query) - - response_binary = "E0\x84\x80\x00\x01\x00\x01\x00\x01\x00\x01\x01a\adnsruby\x03com\x00\x00\e\x00\x01\xC0\f\x00\e\x00\x01\x00\x00*0\x00\x0F\x0410.0\x0420.0\x0430.0\xC0\x0E\x00\x02\x00\x01\x00\x00*0\x00\x06\x03ns1\xC0\x0E\xC0F\x00\x01\x00\x01\x00\x00*0\x00\x04\x7F\x00\x00\x01" - response = Message.decode(response_binary) - - # response_binary = "\xE7\x01\x85\x90\x00\x01\x00\x01\x00\x01\x00\x01\x01g\adnsruby\x03com" + - # "\x00\x00\e\x00\x01\xC0\f\x00\e\x00\x01\x00\t:\x80\x00\x0F\x0420.0\x0430.0\x0410.0" + - # "\xC0\x0E\x00\x02\x00\x01\x00\t:\x80\x00\x05\x02ns\xC0\x0E\xC0F\x00\x01\x00\x01\x00" + - # "\t:\x80\x00\x04\xC0\xA8\x01\n"; nil - # - # response = Message.decode(response_binary) - - response.answer[0] - end - - - def test_answer - answer = gpos_from_response - assert answer.is_a?(RR::GPOS), "Expected RR::GPOS but got a #{answer.class}: #{answer}" - assert_equal(EXAMPLE_LONGITUDE, answer.longitude) - assert_equal(EXAMPLE_LATITUDE, answer.latitude) - assert_equal(EXAMPLE_ALTITUDE, answer.altitude) - assert_equal(EXAMPLE_TTL, answer.ttl) - end - - - # should be: GPOS - def test_to_s - actual = gpos_from_response.to_s.split - expected = %w(a.dnsruby.com. 10800 IN GPOS 10.0 20.0 30.0) - assert_equal(expected, actual) - end - - def test_creation_approaches - - ans_from_data = RR::GPOS.new_from_data(*EXAMPLE_GPOS_DATA) - ans_from_string = RR::GPOS.new_from_string(EXAMPLE_GPOS_STRING) - ans_from_hash = RR::GPOS.new_from_hash(EXAMPLE_GPOS_HASH) - - fails_to_populate_rdata = [] - fails_to_populate_rdata << 'data' if ans_from_data.rdata.nil? - fails_to_populate_rdata << 'string' if ans_from_string.rdata.nil? - fails_to_populate_rdata << 'hash' if ans_from_hash.rdata.nil? - - assert_equal([], fails_to_populate_rdata, - "Populate modes failing to populate rdata: #{fails_to_populate_rdata.join(', ')}") - - assert_equal(ans_from_data.rdata, ans_from_hash.rdata) - assert_equal(ans_from_data.rdata, ans_from_string.rdata) - - assert_equal(ans_from_data, ans_from_hash) - assert_equal(ans_from_data, ans_from_string) - end - - def test_decode_encode - response_binary = "E0\x84\x80\x00\x01\x00\x01\x00\x01\x00\x01\x01a\adnsruby\x03com\x00\x00\e\x00\x01\xC0\f\x00\e\x00\x01\x00\x00*0\x00\x0F\x0410.0\x0420.0\x0430.0\xC0\x0E\x00\x02\x00\x01\x00\x00*0\x00\x06\x03ns1\xC0\x0E\xC0F\x00\x01\x00\x01\x00\x00*0\x00\x04\x7F\x00\x00\x01" - message_object = Message.decode(response_binary) - reconstructed_binary = message_object.encode - assert_equal response_binary.force_encoding('ASCII-8BIT'), reconstructed_binary - end -end - - -# Sample zone file for setting up BIND to serve GPOS records: -=begin -$TTL 3h - -@ IN SOA dnsruby.com. foo.dnsruby.com. ( - 1 ; serial - 3H ; refresh after 3 hours - 1H ; retry after 1 hour - 1W ; expire after 1 week - 1H) ; negative caching TTL of 1 hour - -dnsruby.com. IN NS ns1 - -; Addresses for canonical names - -ns1.dnsruby.com. IN A 127.0.0.1 - -a.dnsruby.com. IN A 2.4.6.8 - IN GPOS 10.0 20.0 30.0 - -b.dnsruby.com. IN A 2.4.6.9 - IN GPOS 40 50 60 - -=end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hash.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hash.rb deleted file mode 100644 index a249842..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hash.rb +++ /dev/null @@ -1,41 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -require 'set' - -module Dnsruby - -class TestHash < Minitest::Test - - def test_types_hash - object1 = Types.new(Types::NSEC3) - object2 = Types.new(Types::NSEC3) - assert(object1 == object2) - assert(object1.hash == object2.hash, "Hashes differed: #{object1.hash} != #{object2.hash}") - end - - def test_types_set - object1 = Types.new(Types::NSEC3) - object2 = Types.new(Types::NSEC3) - assert(object1 == object2) - set = Set.new([object1, object2]) - assert(set.size == 1, "Two equal objects should result in a set size of 1, but instead the size was #{set.size}.") - end - -end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_header.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_header.rb deleted file mode 100644 index aea64d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_header.rb +++ /dev/null @@ -1,100 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestHeader < Minitest::Test - - include Dnsruby - - def test_header - header = Header.new(); - assert(header, "new() returned something") - - header.id=41 - assert_equal(header.id, 41, "id() works") - - header.qr=true - assert_equal(header.qr, true, "qr() works") - - header.opcode="QUERY" - assert_equal(OpCode.Query, header.opcode, - "opcode() works") - header.opcode=OpCode::Query - assert_equal(header.opcode.string, "Query", - "opcode() works") - - - header.aa=true - assert_equal(header.aa, true, "aa() works") - - header.tc=false - assert_equal(header.tc, false, "tc() works") - - header.rd=true - assert_equal(header.rd, true, "rd() works") - - header.ad=true - assert_equal(header.ad, true, "rd() works") - - header.cd=true - assert_equal(header.cd, true, "rd() works") - - header.ra=true - assert_equal(header.ra, true, "ra() works") - - header.qr=true - assert_equal(header.qr, true, "qr() works") - - header.rcode="NOERROR" - assert_equal(header.get_header_rcode, RCode::NOERROR, "rcode() works") - header.rcode=RCode.NOERROR - assert_equal(header.get_header_rcode.string, "NOERROR", "rcode() works") - - header.qdcount=1 - header.ancount=2 - header.nscount=3 - header.arcount=3 - - - # Reenable when support for CD is there - # header.cd=0 - # assert_equal(header.cd, 0, "cd() works") - data = header.data - - header2 = Header.new_from_data(data); - - assert(header==(header2), 'Headers are the same'); - - header = Header.new; - - # - # Check that the aliases work properly. - # - header.zocount=(0); - header.prcount=(1); - header.upcount=(2); - header.adcount=(3); - - assert_equal(header.zocount, 0, 'zocount works'); - assert_equal(header.prcount, 1, 'prcount works'); - assert_equal(header.upcount, 2, 'upcount works'); - assert_equal(header.adcount, 3, 'adcount works'); - - - - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hip.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hip.rb deleted file mode 100644 index 5e5cd0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hip.rb +++ /dev/null @@ -1,72 +0,0 @@ - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestHIP < Minitest::Test - - include Dnsruby - - def test_hip - [{"www.example.com. IN HIP ( 2 200100107B1A74DF365639CC39F1D578 - AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D )" => - [2, "200100107B1A74DF365639CC39F1D578", "AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D", []]}, - - {"www.example.com. IN HIP ( 2 200100107B1A74DF365639CC39F1D578 - AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D - rvs.example.com. )" => - [2, "200100107B1A74DF365639CC39F1D578", "AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D", - ["rvs.example.com"]]}, - {"www.example.com. IN HIP ( 2 200100107B1A74DF365639CC39F1D578 - AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D - rvs1.example.com. - rvs2.example.com. )" => - [2, "200100107B1A74DF365639CC39F1D578", "AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D", - ["rvs1.example.com", "rvs2.example.com"]]}, - ].each {|hash| - hash.each {|txt, data| - - - hip = RR.create(txt) - assert(hip.pk_algorithm == data[0]) - assert(hip.hit_string == data[1]) - assert(hip.public_key_string == data[2]) - hip.rsvs.each {|in_rsv| - assert(data[3].include?in_rsv.to_s) - } - assert(data[3].length == hip.rsvs.length) - - - m = Dnsruby::Message.new - m.add_additional(hip) - data = m.encode - m2 = Dnsruby::Message.decode(data) - hip2 = m2.additional()[0] - assert(hip.pk_algorithm == hip2.pk_algorithm) - assert(hip.hit_string == hip2.hit_string) - assert(hip.public_key_string == hip2.public_key_string) - hip.rsvs.each {|in_rsv| - assert(hip2.rsvs.include?in_rsv) - } - assert(hip2.rsvs.length == hip.rsvs.length) - assert(hip == hip2) - } - } - end - -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hs.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hs.rb deleted file mode 100644 index 3538ac2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_hs.rb +++ /dev/null @@ -1,24 +0,0 @@ -require_relative 'spec_helper' - -class TestDNS < Minitest::Test - - def setup - Dnsruby::Config.reset - end - - - # Illustrates that when a message whose class is 'HS' is sent to - # a DNS server that does not support the HS class, using send_plain_message, - # the response returns with an rcode of NOTIMP and a Dnsruby::NotImp error. - def test_hs_class_returns_notimp_code_and_error - resolver_host = 'a.gtld-servers.net' - resolver = Dnsruby::Resolver.new(resolver_host) - resolver.query_timeout = 20 - message = Dnsruby::Message.new('test.com', 'A', 'HS') - response, error = resolver.send_plain_message(message) - - assert_equal(Dnsruby::RCode::NOTIMP, response.rcode) - assert_equal(Dnsruby::NotImp, error.class) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ipseckey.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ipseckey.rb deleted file mode 100644 index 785e184..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ipseckey.rb +++ /dev/null @@ -1,73 +0,0 @@ - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestIPSECKEY < Minitest::Test - - include Dnsruby - - def test_ipseckey - [{"38.1.0.192.in-addr.arpa. 7200 IN IPSECKEY ( 10 3 2 - mygateway.example.com. - AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ== )" => - ["mygateway.example.com", "AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==", - 10, 3, 2]}, - - {"38.2.0.192.in-addr.arpa. 7200 IN IPSECKEY ( 10 1 2 - 192.0.2.38 - AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ== )" => - ["192.0.2.38", "AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==", 10, 1, 2]}, - {"38.2.0.192.in-addr.arpa. 7200 IN IPSECKEY ( 10 0 2 - . - AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ== )" => - ["", "AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==", 10, 0, 2]}, - {"38.2.0.192.in-addr.arpa. 7200 IN IPSECKEY ( 10 1 2 - 192.0.2.3 - AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ== )" => - ["192.0.2.3", "AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==", 10, 1, 2]}, - {"0.d.4.0.3.0.e.f.f.f.3.f.0.1.2.01.0.0.0.0.0.2.8.B.D.0.1.0.0.2.ip6.arpa. 7200 IN IPSECKEY ( 10 2 2 - 2001:0DB8:0:8002::2000:1 - AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ== )" => - ["2001:DB8:0:8002::2000:1", "AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==", - 10, 2, 2]} - ].each {|hash| - hash.each {|txt, data| - - - ipseckey = RR.create(txt) - assert(ipseckey.precedence == data[2]) - assert(ipseckey.gateway_type == data[3]) - assert(ipseckey.algorithm == data[4]) - assert(ipseckey.gateway.to_s == data[0]) - assert(ipseckey.public_key_string == data[1]) - - m = Dnsruby::Message.new - m.add_additional(ipseckey) - data = m.encode - m2 = Dnsruby::Message.decode(data) - ipseckey2 = m2.additional()[0] - assert(ipseckey.gateway_type == ipseckey2.gateway_type) - assert(ipseckey.algorithm == ipseckey2.algorithm) - assert(ipseckey.gateway == ipseckey2.gateway) - assert(ipseckey.klass == ipseckey2.klass) - assert(ipseckey == ipseckey2) - } - } - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_long_labels.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_long_labels.rb deleted file mode 100644 index ac04bde..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_long_labels.rb +++ /dev/null @@ -1,46 +0,0 @@ -require_relative 'spec_helper' - -include Dnsruby -class TestPacket < Minitest::Test - def test_labels - wirePacket = %w{0 - 68 5b 35 91 3a f7 00 0f 94 22 d9 51 08 00 45 00 05 12 71 65 40 00 3d 06 46 1f 2e e3 90 33 - c0 a8 01 a3 00 35 e3 cf 94 d5 49 0a 88 da e7 1e 80 18 00 1d 6f 52 00 00 01 01 08 0a 8e 3a - a6 b1 1f 4d ce 28 c5 b1 c0 0c 00 0c 00 01 00 00 0b 49 00 12 0f 69 6d 70 72 6f 76 65 61 6e - 61 6c 79 73 69 73 c0 65 c0 0c 00 0c 00 01 00 00 0b 49 00 0e 0b 77 69 6e 64 6f 77 73 72 75 - 62 79 d3 12 c0 0c 00 0c 00 01 00 00 0b 49 00 15 12 6d 69 63 72 6f 73 6f 66 74 66 6f 72 65 - 66 72 6f 6e 74 d3 bd c0 0c 00 0c 00 01 00 00 0b 49 00 11 09 6d 69 63 72 6f 73 6f 66 74 02 - 63 6f 02 6d 7a 00 c0 0c 00 0c 00 01 00 00 0b 49 00 12 09 77 69 6e 64 6f 77 73 78 70 03 6f - 72 67 02 70 65 00 c0 0c 00 0c 00 01 00 00 0b 49 00 16 0f 65 75 67 72 61 6e 74 73 61 64 76 - 69 73 6f 72 03 63 6f 6d ca 49 c0 0c 00 0c 00 01 00 00 0b 49 00 14 11 64 65 66 79 61 6c 6c - 63 68 61 6c 6c 65 6e 67 65 73 c5 97 c0 0c 00 0c 00 01 00 00 0b 49 00 18 15 63 6f 6e 73 6f - 6c 69 64 61 74 65 64 6d 65 73 73 65 6e 67 65 72 c0 65 c0 0c 00 0c 00 01 00 00 0b 49 00 19 - 16 72 65 74 61 69 6c 65 78 65 63 75 74 69 76 65 73 65 6d 69 6e 61 72 c0 a7 c0 0c 00 0c 00 - 01 00 00 0b 49 00 0e 0b 63 74 72 6f 70 65 6e 6f 72 6d 65 c0 65 c0 0c 00 0c 00 01 00 00 0b - 49 00 0e 0b 77 69 6e 64 6f 77 73 32 30 30 30 cc 6f c0 0c 00 0c 00 01 00 00 0b 49 00 1a 17 - 77 69 6e 64 6f 77 73 6d 6f 62 69 6c 65 63 6f 6d 6d 6d 75 6e 69 74 79 c0 41 c0 0c 00 0c 00 - 01 00 00 0b 49 00 11 0e 72 69 73 65 6f 66 70 65 72 61 74 68 69 61 c0 41 c0 0c 00 0c 00 01 - 00 00 0b 49 00 11 0e 72 65 6e 63 6f 6e 74 72 65 73 2d 33 36 30 c0 41 c0 0c 00 0c 00 01 00 - 00 0b 49 00 11 0e 66 75 74 75 72 65 70 6f 73 74 6d 61 69 6c c0 41 c0 0c 00 0c 00 01 00 00 - 0b 49 00 10 0d 72 65 73 70 6f 6e 73 65 70 6f 69 6e 74 cc 4d c0 0c 00 0c 00 01 00 00 0b 49 - 00 10 0d 74 61 76 75 74 61 74 72 6f 6e 63 68 65 c0 a7 c0 0c 00 0c 00 01 00 00 0b 49 00 09 - 06 66 6c 65 78 67 6f df 34 c0 0c 00 0c 00 01 00 00 0b 49 00 0e 09 77 69 6e 64 6f 77 73 78 - 70 02 73 68 00 c0 0c 00 0c 00 01 00 00 0b 49 00 16 13 73 6d 61 72 74 70 68 6f 6e 65 63 6f - 6d 6d 75 6e 69 74 79 c0 a7 c0 0c 00 0c 00 01 00 00 0b 49 00 12 0f 63 65 6e 74 72 65 64 65 - 73 75 73 61 67 65 73 c0 65 c0 0c 00 0c 00 01 00 00 0b 49 00 0c 09 77 69 6e 64 6f 77 73 6e - 74 fc 07 c0 0c 00 0c 00 01 00 00 0b 49 00 19 16 6c 65 73 2d 64 6f 69 67 74 73 2d 64 61 6e - 73 2d 6c 65 2d 6e 65 7a c0 a7 c0 0c 00 0c 00 01 00 00 0b 49 00 13 10 74 65 63 68 6e 65 74 - 63 68 61 6c 6c 65 6e 67 65 c0 65 c0 0c 00 0c 00 01 00 00 0b 49 00 15 12 6d 69 63 72 6f 73 6f 66 74 66 6f 72 65 66 72 6f 6e 74 c0 41 c0 0c 00 0c 00 01 00 00 0b 49 00 10 0d 6c 65 73 62 6f 6e 73 6f 75 74 69 6c 73 c0 41 c0 0c 00 0c 00 01 00 00 0b 49 00 0d 0a 77 69 6e 74 65 72 6e 61 6c 73 c3 d6 c0 0c 00 0c 00 01 00 00 0b 49 00 23 0e 64 65 73 69 67 6e 65 64 66 6f 72 62 69 67 02 64 65 0e 64 65 73 69 67 6e 65 64 66 6f 72 62 69 67 c2 b2 c0 0c 00 0c 00 01 00 00 0b 49 00 13 10 77 69 6e 64 6f 77 73 76 69 73 74 61 62 6c 6f 67 c9 42 c0 0c 00 0c 00 01 00 00 0b 49 00 12 09 77 69 6e 64 6f 77 73 6e 74 03 6f 72 67 02 66 6a 00 c0 0c 00 0c 00 01 00 00 0b 49 00 0c 09 77 69 6e 64 6f 77 73 6e 74 c1 b6 c0 0c 00 0c 00 01 00 00 0b 49 00 0f 0c 6f 66 66 69 63 65 73 79 73 74 65 6d c2 18 c0 0c 00 0c 00 01 00 00 0b 49 00 0f 0c 74 72 65 79 72 65 73 65 61 72 63 68 c0 41 c0 0c 00 0c 00 01 00 00 0b 49 00 09 06 63 70 61 6e 64 6c c0 65 c0 0c 00 0c 00 01 00 00 0b 49 00 16 13 6f 66 66 72 65 2d 65 62 6c 6f 75 69 73 73 61 6e 74 65 73 c0 41 c0 0c 00 0c 00 01 00 00 0b 49 00 0d 0a 63 6f 68 6f 77 69 6e 65 72 79 c0 41 c0 0c 00 0c 00 01 00 00 0b 49 00 13 10 74 6f 64 6f 73 6c 6f 65 6e 74 69 65 6e 64 65 6e c0 41 c0 0c 00 0c 00 01 00 00 0b 49 00 0f 09 77 69 6e 64 6f 77 73 78 70 02 63 6f f1 03 c0 0c 00 0c 00 01 00 00 0b 49 00 0b 08 74 65 63 68 65 64 30 36 c0 65 c0 0c 00 0c 00 01 00 00 0b 49 00 09 06 66 6c 65 78 67 6f dd 7f c0 0c 00 0c 00 01 00 00 0b 49 00 0c 09 66 6f 72 65 66 72 6f 6e 74 cb 21 c0 0c 00 0c 00 01 00 00 0b 49 00 14 11 64 65 66 79 61 6c 6c 63 68 61 6c 6c 65 6e 67 65 73 cb 44 00 00 29 05 78 00 00 80 00 00 00 - } - wirePacket.map!{|e| e.hex} - packetdata = wirePacket.pack('c*') - - packet = Message.decode(packetdata) - assert(packet, 'new data returned something'); #28 - end - - def test_live - resolver = Dnsruby::Resolver.new - query = resolver.query('207.46.197.32', 'PTR', 'IN') - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_message.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_message.rb deleted file mode 100644 index eb84ab0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_message.rb +++ /dev/null @@ -1,93 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestMessage < Minitest::Test - - include Dnsruby - - # Creates and returns sample message: - # - # ;; QUESTION SECTION (1 record) - # ;; cnn.com. IN A - # ;; Security Level : UNCHECKED - # ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7195 - # ;; flags: ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 - def sample_message - Message.new('cnn.com', 'A') - end - - def test_question_section_formatted_ok - multiline_regex = /QUESTION SECTION.+record.+cnn.com.\s+IN\s+A/m - assert multiline_regex.match(sample_message.to_s) - end - - def test_has_security_level_line - line_regex = /^;; Security Level : .+/ - assert line_regex.match(sample_message.to_s) - end - - def test_has_flags_and_section_count - line_regex = /^;; flags:.+QUERY: \d+, ANSWER: \d+, AUTHORITY: \d+, ADDITIONAL: \d+/ - assert line_regex.match(sample_message.to_s) - end - - def test_rd_flag_displayed_when_true - message = sample_message - message.header.instance_variable_set(:@rd, true) - assert /;; flags(.+)rd/.match(message.to_s), message - end - - def test_header_line_contains_opcode_and_status_and_id - message = sample_message - header_line = message.to_s.split("\n").grep(/->>HEADER<<-/).first - line_regex = /->>HEADER<<- opcode: .+, status: .+, id: \d+/ - assert line_regex.match(header_line) - end - - def test_getopt - message = sample_message - assert message.get_opt.nil? - - # Add an OPT record - opt = RR::OPT.new(4096, 32768) - message.additional << opt - - opt = message.get_opt - assert opt.is_a?(Dnsruby::RR::OPT), - "Expected get_opt to return a Dnsruby::RR::OPT, but it returned a #{opt.class}" - end - - def test_2eq - test = ->(msg1, msg2, expected_result) do - assert (msg1 == msg2) == expected_result - end - msg_a = sample_message - msg_b = sample_message; msg_b.header.rd = (! msg_b.header.rd) - test.(msg_a, msg_a, true) - test.(msg_a, msg_b, false) - test.(msg_a, msg_a.to_s, false) - test.(msg_a, nil, false) - # TODO: Add more tests. - end - - def test_equals - response_as_string = "\x10\a\x81\x90\x00\x01\x00\x04\x00\x00\x00\x06\x03cnn\x03com\x00\x00\x02\x00\x01\xC0\f\x00\x02\x00\x01\x00\x01QC\x00\x14\x03ns3\ntimewarner\x03net\x00\xC0\f\x00\x02\x00\x01\x00\x01QC\x00\x11\x03ns2\x03p42\x06dynect\xC04\xC0\f\x00\x02\x00\x01\x00\x01QC\x00\x06\x03ns1\xC0)\xC0\f\x00\x02\x00\x01\x00\x01QC\x00\x06\x03ns1\xC0I\xC0%\x00\x01\x00\x01\x00\x001\xA2\x00\x04\xC7\aD\xEE\xC0E\x00\x01\x00\x01\x00\x00\xB1\x0E\x00\x04\xCC\r\xFA*\xC0b\x00\x01\x00\x01\x00\x009`\x00\x04\xCCJl\xEE\xC0t\x00\x01\x00\x01\x00\x00\xBDg\x00\x04\xD0NF*\xC0t\x00\x1C\x00\x01\x00\x00\x00\xBB\x00\x10 \x01\x05\x00\x00\x90\x00\x01\x00\x00\x00\x00\x00\x00\x00B\x00\x00)\x0F\xA0\x00\x00\x80\x00\x00\x00".force_encoding("ASCII-8BIT") - message = Message.decode(response_as_string) - assert(message == message, message.to_s) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_misc.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_misc.rb deleted file mode 100644 index b756726..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_misc.rb +++ /dev/null @@ -1,138 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestMisc < Minitest::Test - def test_wildcard - # test to make sure that wildcarding works. - # - rr = Dnsruby::RR.create('*.t.dnsruby.validation-test-servers.nominet.org.uk 60 IN A 10.0.0.1') - - assert(rr, 'RR got made') - - assert_equal('*.t.dnsruby.validation-test-servers.nominet.org.uk', rr.name.to_s, 'Name is correct' ) - assert_equal(60, rr.ttl, 'TTL is correct' ) - assert_equal(Dnsruby::Classes.IN, rr.klass, 'CLASS is correct' ) - assert_equal(Dnsruby::Types.A, rr.type, 'TYPE is correct' ) - assert_equal('10.0.0.1', rr.address.to_s, 'Address is correct') - end - - def test_misc - - # - # Make sure the underscore in SRV hostnames work. - # - srv = Dnsruby::RR.create('_rvp._tcp.t.dnsruby.validation-test-servers.nominet.org.uk. 60 IN SRV 0 0 80 im.bastardsinc.biz') - - assert(srv, 'SRV not created successfully') - - - # ~ # Test that the 5.005 Use of uninitialized value at - # ~ # /usr/local/lib/perl5/site_perl/5.005/Net/DNS/RR.pm line 639. bug is gone - rr = Dnsruby::RR.create('mx.t.dnsruby.validation-test-servers.nominet.org.uk 60 IN MX 10 a.t.dnsruby.validation-test-servers.nominet.org.uk') - assert(rr, 'RR created') - - assert_equal(rr.preference, 10, 'Preference works') - - - - mx = Dnsruby::RR.create('mx.t.dnsruby.validation-test-servers.nominet.org.uk 60 IN MX 0 mail.dnsruby.validation-test-servers.nominet.org.uk') - - assert(mx.to_s =~ /0 mail.dnsruby.validation-test-servers.nominet.org.uk/) # was 'like' - assert_equal(mx.preference, 0) - assert_equal(mx.exchange.to_s, 'mail.dnsruby.validation-test-servers.nominet.org.uk') - - srv = Dnsruby::RR.create('srv.t.dnsruby.validation-test-servers.nominet.org.uk 60 IN SRV 0 2 3 target.dnsruby.validation-test-servers.nominet.org.uk') - -# # @todo@ Absolute name issues -# assert(srv.inspect =~ /0 2 3 target.dnsruby.validation-test-servers.nominet.org.uk\./) -# assert_equal(srv.rdatastr, '0 2 3 target.dnsruby.validation-test-servers.nominet.org.uk.') - - - - end - - def test_TXT_RR - - # - # - # Below are some thests that have to do with TXT RRs - # - # - - - # QUESTION SECTION: - # txt2.t.net-dns.org. IN TXT - - # ANSWER SECTION: - # txt2.t.net-dns.org. 60 IN TXT "Net-DNS\ complicated $tuff" "sort of \" text\ and binary \000 data" - - # AUTHORITY SECTION: - # net-dns.org. 3600 IN NS ns1.net-dns.org. - # net-dns.org. 3600 IN NS ns.ripe.net. - # net-dns.org. 3600 IN NS ns.hactrn.net. - - # ADDITIONAL SECTION: - # ns1.net-dns.org. 3600 IN A 193.0.4.49 - # ns1.net-dns.org. 3600 IN AAAA - - uuencodedPacket=%w{ -11 99 85 00 00 01 -00 01 00 03 00 02 04 74 78 74 32 01 74 07 6e 65 -74 2d 64 6e 73 03 6f 72 67 00 00 10 00 01 c0 0c -00 10 00 01 00 00 00 3c 00 3d 1a 4e 65 74 2d 44 -4e 53 3b 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 -24 74 75 66 66 21 73 6f 72 74 20 6f 66 20 22 20 -74 65 78 74 3b 20 61 6e 64 20 62 69 6e 61 72 79 -20 00 20 64 61 74 61 c0 13 00 02 00 01 00 00 0e -10 00 06 03 6e 73 31 c0 13 c0 13 00 02 00 01 00 -00 0e 10 00 0d 02 6e 73 04 72 69 70 65 03 6e 65 -74 00 c0 13 00 02 00 01 00 00 0e 10 00 0c 02 6e -73 06 68 61 63 74 72 6e c0 93 c0 79 00 01 00 01 -00 00 0e 10 00 04 c1 00 04 31 c0 79 00 1c 00 01 -00 00 0e 10 00 10 20 01 06 10 02 40 00 03 00 00 -12 34 be 21 e3 1e -} - - uuencodedPacket.map!{|e| e.hex} - packetdata = uuencodedPacket.pack('c*') - packetdata.gsub!("\s*", "") - - packet = Dnsruby::Message.decode(packetdata) - txtRr=(packet.answer)[0] - assert_equal('Net-DNS; complicated $tuff',txtRr.strings[0],"First Char string in TXT RR read from wireformat") - - # Compare the second char_str this contains a NULL byte (space NULL - # space=200020 in hex) - - temp = (txtRr.strings)[1].unpack('H*')[0] - # #assert_equal(unpack('H*',(TXTrr.char_str_list())[1]),"736f7274206f66202220746578743b20616e642062696e61727920002064617461", "Second Char string in TXT RR read from wireformat") - assert_equal("736f7274206f66202220746578743b20616e642062696e61727920002064617461", temp,"Second Char string in TXT RR read from wireformat") - - - txtRr2=Dnsruby::RR.create('txt2.t.dnsruby.validation-test-servers.nominet.org.uk. 60 IN TXT "Test1 \" \; more stuff" "Test2"') - - assert_equal((txtRr2.strings)[0],'Test1 " ; more stuff', "First arg string in TXT RR read from zonefileformat") - assert_equal((txtRr2.strings)[1],'Test2',"Second Char string in TXT RR read from zonefileformat") - - - # txtRr3 = RR.create("baz.example.com 3600 HS TXT '\"' 'Char Str2'") - txtRr3 = Dnsruby::RR.create("baz.example.com 3600 IN TXT '\"' 'Char Str2'") - - assert_equal( (txtRr3.strings)[0],'"',"Escaped \" between the single quotes") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_name.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_name.rb deleted file mode 100644 index cbb9bb4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_name.rb +++ /dev/null @@ -1,102 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestName < Minitest::Test - - include Dnsruby - - def test_label_length - Name::Label.set_max_length(Name::Label::MaxLabelLength) # Other tests may have changed this - # Test max label length = 63 - begin - name = Name.create("a.b.12345678901234567890123456789012345678901234567890123456789012345.com") - assert(false, "Label of more than max=63 allowed") - rescue ResolvError - end - end - - def test_name_length - # Test max name length=255 - begin - name = Name.create("1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123.com") - assert(false, "Name of length > 255 allowed") - rescue ResolvError - end - end - - def test_absolute - n = Name.create("example.com") - assert(!n.absolute?) - n = Name.create("example.com.") - assert(n.absolute?) - end - - def test_wild - n = Name.create("example.com") - assert(!n.wild?) - n = Name.create("*.example.com.") - assert(n.wild?) - end - - def test_canonical_ordering - names = [] - names.push(Name.create("example")) - names.push(Name.create("a.example")) - names.push(Name.create("yljkjljk.a.example")) - names.push(Name.create("Z.a.example")) - names.push(Name.create("zABC.a.EXAMPLE")) - names.push(Name.create("z.example")) - names.push(Name.create("\001.z.example")) - names.push(Name.create("*.z.example")) -# names.push(Name.create("\200.z.example")) - names.push(Name.create(["c8"].pack("H*")+".z.example")) - names.each_index {|i| - if (i < (names.length() - 1)) - assert(names[i].canonically_before(names[i+1])) - assert(!(names[i+1].canonically_before(names[i]))) - end - } - assert(Name.create("x.w.example").canonically_before(Name.create("z.w.example"))) - assert(Name.create("x.w.example").canonically_before(Name.create("a.z.w.example"))) - end - - def test_escapes - n1 = Name.create("\\nall.all.") - n2 = Name.create("nall.all.") - assert(n1 == n2, n1.to_s) - end - - def test_punycode - [ - [ - "møllerriis.com", - "xn--mllerriis-l8a.com" - ], - [ - "フガフガ。hogehoge.エグザンプル.JP", - "xn--mcka5jb.hogehoge.xn--ickqs6k2dyb.jp" - ], - [ - "フガ#フガ。hogehoge.エグザンプル.JP", - "xn--#-yeub5nc.hogehoge.xn--ickqs6k2dyb.jp" - ] - ].each do |tc| - assert_equal(Dnsruby::Name.create(tc[0]).to_s, tc[1]) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_naptr.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_naptr.rb deleted file mode 100644 index 1008322..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_naptr.rb +++ /dev/null @@ -1,62 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestNAPTR < Minitest::Test - - include Dnsruby - - def test_naptr - txt = "example.com. IN NAPTR 100 50 \"s\" \"z3950+I2L+I2C\" \"\" _z3950._tcp.gatech.edu." - naptr = RR.create(txt) - assert(naptr.type == Types.NAPTR) - assert(naptr.order == 100) - assert(naptr.preference == 50) - assert(naptr.flags == 's') - assert(naptr.service == "z3950+I2L+I2C") - assert(naptr.regexp == "") - assert(naptr.replacement == Name.create('_z3950._tcp.gatech.edu.')) - - m = Dnsruby::Message.new - m.add_additional(naptr) - data = m.encode - m2 = Dnsruby::Message.decode(data) - naptr2 = m2.additional()[0] - assert(naptr2.type == Types.NAPTR) - assert(naptr2.order == 100) - assert(naptr2.preference == 50) - assert(naptr2.flags == "s") - assert(naptr2.service == "z3950+I2L+I2C") - assert(naptr2.regexp == "") - assert(naptr2.replacement == Name.create('_z3950._tcp.gatech.edu.')) - - naptr.flags = "u" - end - - def test_string - txt = 'all.rr.org. 7200 IN NAPTR 100 10 "" "" "/urn:cid:.+@([^\\\\.]+\\\\.)(.*)$/\\\\2/i" .' - rr = RR.create(txt) - assert(rr.to_s.index('"/urn:cid:.+@([^\\\\.]+\\\\.)(.*)$/\\\\2/i"'), '"/urn:cid:.+@([^\\\\.]+\\\\.)(.*)$/\\\\2/i"' + "\n" + rr.to_s) - end - - def test_bad_string - txt = 'all.rr.binary.org. IN NAPTR 100 10 "" "" "/urn:cid:.+@([^\\.]+\\.)(.*)$/\\\\2/i" .' - rr = RR.create(txt) - assert(rr.to_s.index('"/urn:cid:.+@([^.]+.)(.*)$/\\\\2/i"'), '"/urn:cid:.+@([^.]+.)(.*)$/\\\\2/i"' + "\n" + rr.to_s) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec.rb deleted file mode 100644 index f22a1fa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec.rb +++ /dev/null @@ -1,226 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class NsecTest < Minitest::Test - - include Dnsruby - - INPUT = "alfa.example.com. 86400 IN NSEC host.example.com. ( " + - "A MX RRSIG NSEC TYPE1234 )" - def test_nsec_from_string - nsec = Dnsruby::RR.create(INPUT) - assert_equal("host.example.com", nsec.next_domain.to_s) - assert_equal([Types.A, Types.MX, Types.RRSIG, Types.NSEC, Types.TYPE1234], nsec.types) - - nsec2 = Dnsruby::RR.create(nsec.to_s) - assert(nsec2.to_s == nsec.to_s) - - s = "tjeb.nl. 3600 IN NSEC dragon.tjeb.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY" - nsec = Dnsruby::RR.create(s) - assert(nsec.types.include?(Types.A)) - assert(nsec.types.include?(Types.DNSKEY)) - end - - def test_nsec_from_data - nsec = Dnsruby::RR.create(INPUT) - m = Dnsruby::Message.new - m.add_additional(nsec) - data = m.encode - m2 = Dnsruby::Message.decode(data) - nsec3 = m2.additional()[0] - assert_equal(nsec.to_s, nsec3.to_s) - end - - def test_nsec_types - # Test types in last section to 65536. - # Test no zeros - nsec = Dnsruby::RR.create(INPUT) - nsec.add_type(Types.TYPE65534) - assert(nsec.types.include?(Types.TYPE65534)) - assert(nsec.to_s.include?(Types.TYPE65534.string)) - end - - def test_examples_from_rfc_4035_name_error - # Grab the example responses from RFC4035 and make sure that they pass. - # Then, try changing some of the NSEC values (ignoring the RRSIGs for now) - # and make sure that they fail verification for that reason - m = Message.new - m.header.rcode = 3 - m.add_question(Question.new("m1.example.")) - m.add_authority(RR.create("example. 3600 IN SOA ns1.example. bugs.x.w.example. ( - 1081539377 - 3600 - 300 - 3600000 - 3600 - )")) - m.add_authority(RR.create("m3.example. 3600 NSEC ns1.example. NS RRSIG NSEC")) - m.add_authority(RR.create("example. 3600 NSEC a.example. NS SOA MX RRSIG NSEC DNSKEY")) - m.add_authority(RR.create("example. 3600 RRSIG NSEC 5 1 3600 20040509183619 ( - 20040409183619 38519 example. - O0k558jHhyrC97ISHnislm4kLMW48C7U7cBm - FTfhke5iVqNRVTB1STLMpgpbDIC9hcryoO0V - Z9ME5xPzUEhbvGnHd5sfzgFVeGxr5Nyyq4tW - SDBgIBiLQUv1ivy29vhXy7WgR62dPrZ0PWvm - jfFJ5arXf4nPxp/kEowGgBRzY/U= )")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with bad NSECs") - rescue VerifyError - end - m.authority.delete(RR.create("m3.example. 3600 NSEC ns1.example. NS RRSIG NSEC")) - m.add_authority(RR.create("b.example. 3600 NSEC ns1.example. NS RRSIG NSEC")) - Dnssec.anchor_verifier.verify_nsecs(m) - m.authority.delete(RR.create("example. 3600 NSEC a.example. NS SOA MX RRSIG NSEC DNSKEY")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with no wildcard proof") - rescue VerifyError - end - end - - def test_examples_from_rfc_4035_no_data - # Grab the example responses from RFC4035 and make sure that they pass. - # Then, try changing some of the NSEC values (ignoring the RRSIGs for now) - # and make sure that they fail verification for that reason - m = Message.new - m.header.rcode = 0 - m.add_question(Question.new("ns1.example.", Types.MX)) - m.add_authority(RR.create("example. 3600 IN SOA ns1.example. bugs.x.w.example. ( - 1081539377 - 3600 - 300 - 3600000 - 3600 - )")) - m.add_authority(RR.create("m3.example. 3600 NSEC n1.example. NS RRSIG NSEC")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with bad NSECs") - rescue VerifyError - end - m.authority.delete(RR.create("m3.example. 3600 NSEC n1.example. NS RRSIG NSEC")) - m.add_authority(RR.create("ns1.example. 3600 NSEC ns2.example. A RRSIG NSEC")) - Dnssec.anchor_verifier.verify_nsecs(m) - m.authority.delete(RR.create("ns1.example. 3600 NSEC ns2.example. A RRSIG NSEC")) - m.add_authority(RR.create("ns1.example. 3600 NSEC ns2.example. A RRSIG MX NSEC")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed on type covered") - rescue VerifyError - end - end - - def test_examples_from_rfc_4035_wildcard_expansion - # Grab the example responses from RFC4035 and make sure that they pass. - # Then, try changing some of the NSEC values (ignoring the RRSIGs for now) - # and make sure that they fail verification for that reason - m = Message.new - m.header.rcode = - m.add_question(Question.new("a.z.w.example.", Types.MX)) - m.add_answer(RR.create("a.z.w.example. 3600 IN MX 1 ai.example.")) - m.add_answer(RR.create("a.z.w.example. 3600 RRSIG MX 5 4 3600 20040509183619 ( - 20040409183619 38519 example. - OMK8rAZlepfzLWW75Dxd63jy2wswESzxDKG2 - f9AMN1CytCd10cYISAxfAdvXSZ7xujKAtPbc - tvOQ2ofO7AZJ+d01EeeQTVBPq4/6KCWhqe2X - TjnkVLNvvhnc0u28aoSsG0+4InvkkOHknKxw - 4kX18MMR34i8lC36SR5xBni8vHI= )")) - m.add_authority(RR.create("x.y.w.example. 3600 NSEC xx.example. MX RRSIG NSEC")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with bad number of labels in RRSIG") - rescue VerifyError - end - m.answer.delete(RR.create("a.z.w.example. 3600 RRSIG MX 5 4 3600 20040509183619 ( - 20040409183619 38519 example. - OMK8rAZlepfzLWW75Dxd63jy2wswESzxDKG2 - f9AMN1CytCd10cYISAxfAdvXSZ7xujKAtPbc - tvOQ2ofO7AZJ+d01EeeQTVBPq4/6KCWhqe2X - TjnkVLNvvhnc0u28aoSsG0+4InvkkOHknKxw - 4kX18MMR34i8lC36SR5xBni8vHI= )")) - m.add_answer(RR.create("a.z.w.example. 3600 RRSIG MX 5 2 3600 20040509183619 ( - 20040409183619 38519 example. - OMK8rAZlepfzLWW75Dxd63jy2wswESzxDKG2 - f9AMN1CytCd10cYISAxfAdvXSZ7xujKAtPbc - tvOQ2ofO7AZJ+d01EeeQTVBPq4/6KCWhqe2X - TjnkVLNvvhnc0u28aoSsG0+4InvkkOHknKxw - 4kX18MMR34i8lC36SR5xBni8vHI= )")) - Dnssec.anchor_verifier.verify_nsecs(m) - m.authority.delete(RR.create("x.y.w.example. 3600 NSEC xx.example. MX RRSIG NSEC")) - m.add_authority(RR.create("x.y.w.example. 3600 NSEC z.w.example. MX RRSIG NSEC")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with bad NSEC") - rescue VerifyError - end - end - - def test_examples_from_rfc_4035_wildcard_no_data - # Grab the example responses from RFC4035 and make sure that they pass. - # Then, try changing some of the NSEC values (ignoring the RRSIGs for now) - # and make sure that they fail verification for that reason - m = Message.new - m.header.rcode = 0 - m.add_question(Question.new("a.z.w.example.", Types.AAAA)) - m.add_authority(RR.create("example. 3600 IN SOA ns1.example. bugs.x.w.example. ( - 1081539377 - 3600 - 300 - 3600000 - 3600 - )")) - m.add_authority(RR.create("x.y.w.example. 3600 NSEC xx.example. MX RRSIG NSEC")) - m.add_authority(RR.create("*.w.example. 3600 NSEC x.y.example. MX RRSIG NSEC")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with bad wildcard expansion") - rescue VerifyError - end - m.authority.delete(RR.create("*.w.example. 3600 NSEC x.y.example. MX RRSIG NSEC")) - m.add_authority(RR.create("*.w.example. 3600 NSEC x.w.example. MX RRSIG NSEC")) - # Test bad versions of wildcard no data - Dnssec.anchor_verifier.verify_nsecs(m) - m.authority.delete(RR.create("x.y.w.example. 3600 NSEC xx.example. MX RRSIG NSEC")) - begin - Dnssec.anchor_verifier.verify_nsecs(m) - fail("Should have failed with no nsecs") - rescue VerifyError - end - end - - # @TODO@ Test referrals - # def test_examples_from_rfc_4035_referral_signed - # # Grab the example responses from RFC4035 and make sure that they pass. - # # Then, try changing some of the NSEC values (ignoring the RRSIGs for now) - # # and make sure that they fail verification for that reason - # m = Message.new - # m.header.rcode = 3 - # fail - # end - # - # def test_examples_from_rfc_4035_referral_unsigned - # # Grab the example responses from RFC4035 and make sure that they pass. - # # Then, try changing some of the NSEC values (ignoring the RRSIGs for now) - # # and make sure that they fail verification for that reason - # m = Message.new - # m.header.rcode = 3 - # fail - # end - # -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec3.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec3.rb deleted file mode 100644 index 0848c6e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec3.rb +++ /dev/null @@ -1,139 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class Nsec3Test < Minitest::Test - - include Dnsruby - - INPUT = "2t7b4g4vsa5smi47k61mv5bv1a22bojr.example. 3600 IN NSEC3 1 1 12 aabbccdd ( " + - "2vptu5timamqttgl4luu9kg21e0aor3s A RRSIG )" - INPUT2 = "2t7b4g4vsa5smi47k61mv5bv1a22bojr.example. 3600 IN NSEC3 1 1 12 aabbccdd " + - "2vptu5timamqttgl4luu9kg21e0aor3s" - def test_nsec_from_string - nsec = Dnsruby::RR.create(INPUT) -# assert_equal(H("x.y.w.example"), nsec.next_hashed.to_s) - assert_equal([Types.A, Types.RRSIG], nsec.types) - assert(nsec.opt_out?) - assert_equal(12, nsec.iterations) - assert_equal("aabbccdd", nsec.salt) - assert_equal(Dnsruby::Nsec3HashAlgorithms.SHA_1, nsec.hash_alg) - - nsec2 = Dnsruby::RR.create(nsec.to_s) - assert(nsec2.to_s == nsec.to_s) - - nsec = Dnsruby::RR.create(INPUT2) - assert_equal([], nsec.types) - assert(nsec.opt_out?) - assert_equal(12, nsec.iterations) - assert_equal("aabbccdd", nsec.salt) - assert_equal(Dnsruby::Nsec3HashAlgorithms.SHA_1, nsec.hash_alg) - - nsec2 = Dnsruby::RR.create(nsec.to_s) - assert(nsec2.to_s == nsec.to_s) - end - - def test_base32 - inputs = [["",""], ["f","CO======"], - ["fo","CPNG===="], ["foo", "CPNMU==="], - ["foob", "CPNMUOG="], ["fooba", "CPNMUOJ1"], - ["foobar", "CPNMUOJ1E8======"]] - - inputs.each {|dec, enc| - assert(Base32.encode32hex(dec) == enc, "Failed encoding #{dec}") - assert(Base32.decode32hex(enc) == dec, "Failed decoding #{enc}") - } - end - - def test_nsec_from_data - nsec = Dnsruby::RR.create(INPUT) - m = Dnsruby::Message.new - m.add_additional(nsec) - data = m.encode - m2 = Dnsruby::Message.decode(data) - nsec3 = m2.additional()[0] - assert_equal(nsec.to_s, nsec3.to_s) - end - - def test_calculate_hash - input = [ -[ "example" , "0p9mhaveqvm6t7vbl5lop2u3t2rp3tom"], -[ "a.example" , "35mthgpgcu1qg68fab165klnsnk3dpvl"], -[ "ai.example" , "gjeqe526plbf1g8mklp59enfd789njgi"], -[ "ns1.example" , "2t7b4g4vsa5smi47k61mv5bv1a22bojr"], -[ "ns2.example" , "q04jkcevqvmu85r014c7dkba38o0ji5r"], -[ "w.example" , "k8udemvp1j2f7eg6jebps17vp3n8i58h"], -[ "*.w.example" , "r53bq7cc2uvmubfu5ocmm6pers9tk9en"], -[ "x.w.example" , "b4um86eghhds6nea196smvmlo4ors995"], -[ "y.w.example" , "ji6neoaepv8b5o6k4ev33abha8ht9fgc"], -[ "x.y.w.example" , "2vptu5timamqttgl4luu9kg21e0aor3s"], -[ "xx.example" , "t644ebqk9bibcna874givr6joj62mlhv"], -[ "2t7b4g4vsa5smi47k61mv5bv1a22bojr.example" , "kohar7mbb8dc2ce8a9qvl8hon4k53uhi"] - ] - input.each {|name, hash| - nsec3 = Dnsruby::RR.create({:type => Dnsruby::Types.NSEC3, :name => name, :salt => "aabbccdd", :iterations => 12, :hash_alg => 1}) - n = nsec3.calculate_hash - assert_equal(n, hash, "Expected #{hash} but got #{n} for #{name}") - c = Dnsruby::RR::NSEC3.calculate_hash(name, 12, Dnsruby::RR::NSEC3.decode_salt("aabbccdd"), 1) - assert_equal(c, hash, "Expected #{hash} but got #{c} for #{name}") - } - # - end - - def test_nsec_other_stuff - nsec = Dnsruby::RR.create(INPUT) -# begin -# nsec.salt_length=256 -# fail -# rescue DecodeError -# end -# begin -# nsec.hash_length=256 -# fail -# rescue DecodeError -# end - # Be liberal in what you accept... -# begin -# nsec.hash_alg = 8 -# fail -# rescue DecodeError -# end - begin - nsec.flags = 2 - fail - rescue DecodeError - end - end - - def test_nsec_types - # Test types in last section to 65536. - # Test no zeros - nsec = Dnsruby::RR.create(INPUT) - nsec.add_type(Types.TYPE65534) - assert(nsec.types.include?(Types.TYPE65534)) - assert(nsec.to_s.include?(Types.TYPE65534.string)) - end - - def test_types - rr = RR.create("tfkha3ph6qs16qu3oqtmnfc5tbckpjl7.archi.amt. 1209600 IN NSEC3 1 1 5 - 1tmmto81uc71moj44cli3m6avs5l44l3 NSEC3 CNAME RRSIG ; flags: optout") - assert(rr.types.include?(Types::NSEC3)) - assert(rr.types.include?(Types::CNAME)) - assert(rr.types.include?(Types::RRSIG)) - rr = RR.create("929p027vb26s89h6fv5j7hmsis4tcr1p.tjeb.nl. 3600 IN NSEC3 1 0 5 beef 9rs4nbe7128ap5i6v196ge2iag5b7rcq A AAAA RRSIG - ") - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec3param.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec3param.rb deleted file mode 100644 index 0846c2b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nsec3param.rb +++ /dev/null @@ -1,55 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class Nsec3ParamTest < Minitest::Test - - include Dnsruby - - INPUT = "example. 3600 IN NSEC3PARAM 1 0 12 aabbccdd" - - def test_nsec_from_string - nsec = Dnsruby::RR.create(INPUT) - - assert_equal(Dnsruby::Nsec3HashAlgorithms.SHA_1, nsec.hash_alg) - assert_equal(0, nsec.flags) - assert_equal(12, nsec.iterations) - assert_equal("aabbccdd", nsec.salt) - - nsec2 = Dnsruby::RR.create(nsec.to_s) - assert(nsec2.to_s == nsec.to_s) - end - - def test_nsec_from_data - nsec = Dnsruby::RR.create(INPUT) - m = Dnsruby::Message.new - m.add_additional(nsec) - data = m.encode - m2 = Dnsruby::Message.decode(data) - nsec3 = m2.additional()[0] - assert_equal(nsec.to_s, nsec3.to_s) - - end - - def test_from_real_string - r = Dnsruby::RR.create("tjeb.nl. 3600 IN NSEC3PARAM 1 0 5 beef") - assert_equal(Dnsruby::Name.create("tjeb.nl."), r.name) - assert_equal("beef", r.salt) - assert_equal(Dnsruby::Nsec3HashAlgorithms.SHA_1, r.hash_alg) - end - -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nxt.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nxt.rb deleted file mode 100644 index 766035b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_nxt.rb +++ /dev/null @@ -1,192 +0,0 @@ -require_relative 'spec_helper' - -require_relative '../lib/dnsruby/resource/NXT' -require_relative '../lib/dnsruby/code_mappers' - -# Tests NXT resource record. See bottom of file for sample zone file. -class TestNXT < Minitest::Test - - include Dnsruby - - # Get this by running the following script: - # require 'dnsruby' - # include Dnsruby - # query = Message.new('a.dnsruby.com', 'NXT') - # resolver = Resolver.new('127.0.0.1') - # response, error = resolver.query_raw(query) - # puts response.encode.inspect # to get a quoted string to be inserted in source code - - - EXAMPLE_NXT_RESPONSE_AS_BINARY = \ - "\xC2\xE0\x84\x80\x00\x01\x00\x01\x00\x01" + - "\x00\x01\x01a\adnsruby\x03com\x00" + - "\x00\x1E\x00\x01\xC0\f\x00\x1E\x00\x01\x00\x00*0\x00\x13\x01b\adnsruby\x03com\x00" + - "@\x00\x00\n\xC0\x0E\x00\x02\x00\x01\x00\x00*0\x00\x06\x03ns1\xC0\x0E\xC0J\x00\x01\x00" + - "\x01\x00\x00*0\x00\x04\x7F\x00\x00\x01" - - def test_type_val_to_string - assert_equal 'SOA', RR::NXT::NxtTypes.code_to_name(6) - assert_equal 'AXFR', RR::NXT::NxtTypes.code_to_name(252) - assert_equal 'TYPE9999', RR::NXT::NxtTypes.code_to_name(9999) - end - - def test_type_name_to_code - assert_equal 6, RR::NXT::NxtTypes.name_to_code('SOA') - assert_equal 252, RR::NXT::NxtTypes.name_to_code('AXFR') - assert_equal 9999, RR::NXT::NxtTypes.name_to_code('TYPE9999') - end - - def test_type_names_to_codes - strings = %w(TYPE9999 SOA AXFR) - assert_equal [9999, 6, 252], RR::NXT::NxtTypes.names_to_codes(strings) - end - - def test_type_name_to_codes - assert_equal [9999, 6, 252], RR::NXT::NxtTypes.names_string_to_codes("TYPE9999 SOA AXFR") - end - - def test_codes_to_names - assert_equal %w(TYPE9999 SOA AXFR), RR::NXT::NxtTypes.codes_to_names([9999, 6, 252]) - end - - def test_codes_to_string - assert_equal 'SOA AXFR TYPE9999', RR::NXT::NxtTypes.codes_to_string([6, 252, 9999]) - end - - def test_codes_to_name_sorts_by_code - assert_equal 'SOA AXFR TYPE9999', RR::NXT::NxtTypes.codes_to_string([9999, 6, 252]) - end - - def test_binary_string_to_codes - test_type_codes_as_code_array = [1, 6, 28, 100] - test_type_codes_as_name_array = %w(A SOA AAAA UINFO) - test_type_codes_as_number = 1267650600228229401496971640898 # (2 ** 1) + (2 ** 6) + (2 ** 28) + (2 ** 100) - test_type_codes_as_binary_string = "\x10\x0\x0\x0\x0\x0\x0\x0\x0\x10\x0\x0\x42" - assert_equal(test_type_codes_as_code_array, RR::NXT::NxtTypes.binary_string_to_codes(test_type_codes_as_binary_string)) - assert_equal(test_type_codes_as_name_array, RR::NXT::NxtTypes.binary_string_to_names(test_type_codes_as_binary_string)) - assert_equal(test_type_codes_as_binary_string, RR::NXT::NxtTypes.codes_to_binary_string(test_type_codes_as_code_array)) - end - - def test_that_codes_are_in_range_1_to_127 - TestUtils.assert_not_raised(ArgumentError) { RR::NXT::NxtTypes.codes_to_binary_string([1]) } - TestUtils.assert_not_raised(ArgumentError) { RR::NXT::NxtTypes.codes_to_binary_string([127]) } - assert_raises(ArgumentError) { RR::NXT::NxtTypes.codes_to_binary_string([0]) } - assert_raises(ArgumentError) { RR::NXT::NxtTypes.codes_to_binary_string([128]) } - end - - def test_that_zero_bit_set_raises_error - assert_raises(ArgumentError) { RR::NXT::NxtTypes.codes_to_binary_string([]) } - end - - def test_A_AAAA_NXT - assert_equal([1, 28, 30], RR::NXT::NxtTypes.names_string_to_codes('A AAAA NXT')) - assert_equal("P\x00\x00\x02", RR::NXT::NxtTypes.codes_to_binary_string([1, 28, 30])) - end - - def test_type_bitmap_ctor_is_private - assert_raises(NoMethodError) { RR::NXT::TypeBitmap.new('') } - end - - def test_type_bitmap_to_s - type_bitmap = RR::NXT::TypeBitmap.from_type_codes([1, 16, 30]) - assert_equal('A TXT NXT', type_bitmap.to_s) - end - - def test_parse_response_correctly - response = Message.decode(EXAMPLE_NXT_RESPONSE_AS_BINARY) - answer = response.answer - nxt_record = answer[0] - - # Note: Although the NXT class is defined as Dnsruby::RR::NXT and not - # Dnsruby::RR::IN::NXT, the IN module (in IN.rb) creates new classes - # in the IN module for all class-insensitive resource record classes. - # When the binary record is parsed, it is a Dnsruby::RR::IN::NXT - # that is created. - assert_equal(Dnsruby::RR::IN::NXT, nxt_record.class) - actual_tokens = nxt_record.to_s.split - expected_tokens = 'a.dnsruby.com. 10800 IN NXT b.dnsruby.com A AAAA NXT'.split - assert_equal(actual_tokens, expected_tokens) - end - - def assert_rr_content(rr) - assert_equal(rr.type, 'NXT') # TODO: Should this be a string or a number? - assert_equal(rr.name, Name.create('b.dnsruby.com.')) - assert_equal(rr.ttl, 10800) - assert_equal(rr.klass, 'IN') - assert_equal(rr.next_domain, Name.create('a.dnsruby.com.')) - end - - def test_new_from_string - rr = RR::NXT.new_from_string('b.dnsruby.com. 10800 IN NXT a.dnsruby.com. SOA NXT') - assert_rr_content(rr) - end - - def test_new_from_hash - assert_rr_content(sample_nxt_rr) - end - - def test_new_from_data - rdata = RR::NXT.build_rdata('a.dnsruby.com.', [Types::SOA, Types::NXT]) - - rr = RR::NXT.new_from_data('b.dnsruby.com.', Types::NXT, Classes::IN, 10800, - rdata.size, rdata, 0) - assert_rr_content(rr) - end - - def test_owner_alias - rr = sample_nxt_rr - assert_equal('b.dnsruby.com', rr.owner.to_s) - assert_equal('b.dnsruby.com', rr.name.to_s) - new_name = Name.create('z.com') - rr.owner = new_name - assert_equal(new_name, rr.owner) - assert_equal(new_name, rr.name) - end - - - def test_encode_decode_message - nxt_rr = sample_nxt_rr - message = Message.new - message.add_answer(nxt_rr) - binary_message = message.encode - reconstructed_message = Message.decode(binary_message) - reconstructed_nxt_rr = reconstructed_message.answer[0] - assert_equal(nxt_rr, reconstructed_nxt_rr) - end - - def sample_nxt_rr - RR::NXT.new_from_hash( - name: 'b.dnsruby.com.', - ttl: 10800, - klass: Classes::IN, - next_domain: 'a.dnsruby.com.', - types: [Types::SOA, Types::NXT]) - end -end - - - -# Sample zone file for setting up BIND to serve a NXT record: -=begin -$TTL 3h - -@ IN SOA dnsruby.com. foo.dnsruby.com. ( - 1 ; serial - 3H ; refresh after 3 hours - 1H ; retry after 1 hour - 1W ; expire after 1 week - 1H) ; negative caching TTL of 1 hour - -dnsruby.com. IN NS ns1 - -; Addresses for canonical names - -ns1.dnsruby.com. IN A 127.0.0.1 - -a.dnsruby.com. IN A 2.4.6.8 - IN NXT b A AAAA NXT - -b.dnsruby.com. IN A 2.4.6.9 - IN GPOS 40 50 60 - -=end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_packet.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_packet.rb deleted file mode 100644 index 70bbb04..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_packet.rb +++ /dev/null @@ -1,299 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestPacket < Minitest::Test - - include Dnsruby - - def test_packet - domain = "example.com." - type = "MX" - klass = "IN" - - packet = Message.new(domain, type, klass) - - assert(packet, 'new() returned something'); #2 - assert(packet.header, 'header() method works'); #3 - assert_instance_of(Header,packet.header,'header() returns right thing'); #4 - - - question = packet.question; - assert(question && question.length == 1, 'question() returned right number of items'); #5 - # assert_instance_of(Net::DNS::Question,question[0], 'question() returned the right thing'); #6 - - answer = packet.answer; - assert(answer.length == 0, 'answer() works when empty'); #7 - - - authority = packet.authority; - assert(authority.length == 0, 'authority() works when empty'); #8 - - additional = packet.additional; - assert(additional.length == 0, 'additional() works when empty'); #9 - - packet.add_answer(RR.create( { - :name => "a1.example.com.", - :type => Types.A, - :address => "10.0.0.1"})); - assert_equal(1, packet.header.ancount, 'First push into answer section worked'); #10 - - - ret = packet.answer.rrset("example.com.", 'NSEC') - assert_equal(ret.rrs.length, 0, "#{ret.rrs.length}") - ret = packet.answer.rrset("a1.example.com", 'A') - assert_equal(ret.rrs.length, 1, "#{ret.rrs.length}") - ret = packet.answer.rrsets() - assert_equal(ret.length, 1, "#{ret.length}") - - packet.add_answer(RR.create({:name => "a2.example.com.", - :type => "A", :address => "10.0.0.2"})); - assert_equal(packet.header.ancount, 2, 'Second push into answer section worked'); #11 - - packet.add_authority(RR.create({:name => "a3.example.com.", - :type => "A", - :address => "10.0.0.3"})); - assert_equal(1, packet.header.nscount, 'First push into authority section worked'); #12 - - - packet.add_authority(RR.create( { - :name => "a4.example.com.", - :type => "A", - :address => "10.0.0.4"})); - assert_equal(2, packet.header.nscount, 'Second push into authority section worked'); #13 - - packet.add_additional(RR.create({ - :name => "a5.example.com.", - :type => "A", - :address => "10.0.0.5"})); - assert_equal(1, packet.header.adcount, 'First push into additional section worked'); #14 - - packet.add_additional(RR.create( { - :name => "a6.example.com.", - :type => Types.A, - :address => "10.0.0.6"})); - assert_equal(2, packet.header.adcount, 'Second push into additional section worked'); #15 - - data = packet.encode; - - packet2 = Message.decode(data); - - assert(packet2, 'new() from data buffer works'); #16 - - assert_equal(packet.to_s, packet2.to_s, 'inspect() works correctly'); #17 - - - string = packet2.to_s - 6.times do |count| - ip = "10.0.0.#{count+1}"; - assert(string =~ /#{ip}/, "Found #{ip} in packet"); # 18 though 23 - end - - assert_equal(1, packet2.header.qdcount, 'header question count correct'); #24 - assert_equal(2, packet2.header.ancount, 'header answer count correct'); #25 - assert_equal(2, packet2.header.nscount, 'header authority count correct'); #26 - assert_equal(2, packet2.header.adcount, 'header additional count correct'); #27 - - - - # Test using a predefined answer. This is an answer that was generated by a bind server. - # - - # data=["22cc85000001000000010001056461636874036e657400001e0001c00c0006000100000e100025026e730472697065c012046f6c6166c02a7754e1ae0000a8c0000038400005460000001c2000002910000000800000050000000030"].pack("H*"); - uuencodedPacket =%w{ -22 cc 85 00 00 01 00 00 00 01 00 01 05 64 61 63 -68 74 03 6e 65 74 00 00 1e 00 01 c0 0c 00 06 00 -01 00 00 0e 10 00 25 02 6e 73 04 72 69 70 65 c0 -12 04 6f 6c 61 66 c0 2a 77 54 e1 ae 00 00 a8 c0 -00 00 38 40 00 05 46 00 00 00 1c 20 00 00 29 10 -00 00 00 80 00 00 05 00 00 00 00 30 - } - - uuencodedPacket = %w{ -ba 91 81 80 00 01 -00 04 00 00 00 01 07 65 78 61 6d 70 6c 65 03 63 -6f 6d 00 00 ff 00 01 c0 0c 00 02 00 01 00 02 9f -f4 00 14 01 61 0c 69 61 6e 61 2d 73 65 72 76 65 -72 73 03 6e 65 74 00 c0 0c 00 02 00 01 00 02 9f -f4 00 04 01 62 c0 2b c0 0c 00 01 00 01 00 02 9f -7e 00 04 d0 4d bc a6 c0 0c 00 06 00 01 00 02 9f -f4 00 31 04 64 6e 73 31 05 69 63 61 6e 6e 03 6f -72 67 00 0a 68 6f 73 74 6d 61 73 74 65 72 c0 6e -77 a1 2d b7 00 00 1c 20 00 00 0e 10 00 12 75 00 -00 01 51 80 00 00 29 05 00 00 00 00 00 00 00 - } - uuencodedPacket.map!{|e| e.hex} - packetdata = uuencodedPacket.pack('c*') - - packet3 = Message.decode(packetdata) - assert(packet3, 'new data returned something'); #28 - - assert_equal(packet3.header.qdcount, 1, 'header question count in syntetic packet correct'); #29 - assert_equal(packet3.header.ancount, 4, 'header answer count in syntetic packet correct'); #30 - assert_equal(packet3.header.nscount, 0, 'header authority count in syntetic packet correct'); #31 - assert_equal(packet3.header.adcount, 1, 'header additional in sytnetic packet correct'); #32 - - rr=packet3.additional; - - assert_equal(Types.OPT, rr[0].type, "Additional section packet is EDNS0 type"); #33 - assert_equal(1280, rr[0].klass.code, "EDNS0 packet size correct"); #34 - - # In theory its valid to have multiple questions in the question section. - # Not many servers digest it though. - - packet.add_question("bla.foo", Types::TXT, Classes.CH) - question = packet.question - assert_equal(2, question.length, 'question() returned right number of items poptest:2'); #36 - end - - def get_test_packet - packet=Message.new("254.9.11.10.in-addr.arpa.","PTR","IN") - - packet.add_answer(RR.create(%q[254.9.11.10.in-addr.arpa. 86400 IN PTR host-84-11-9-254.customer.example.com.])); - - packet.add_authority(RR.create("9.11.10.in-addr.arpa. 86400 IN NS autons1.example.com.")); - packet.add_authority(RR.create("9.11.10.in-addr.arpa. 86400 IN NS autons2.example.com.")); - packet.add_authority(RR.create("9.11.10.in-addr.arpa. 86400 IN NS autons3.example.com.")); - return packet - end - - - def test_push - packet = get_test_packet - data=packet.encode - - packet2=Message.decode(data) - - assert_equal(packet.to_s,packet2.to_s,"Packet decode and encode"); #39 - end - - def test_rrset - packet = get_test_packet - packet.each_section do |section| - # print "#{section.rrsets}\n" - end - packet.section_rrsets.each do |section, rrsets| - # print "section = #{section}, rrsets = #{rrsets.length}\n" - end - assert(packet.authority.rrsets.length == 1) - assert(packet.question().length == 1) - assert(packet.answer.rrsets.length == 1) - assert(packet.additional.rrsets.length == 0) - assert(packet.authority.rrsets[0].length == 3) - # assert(packet.additional.rrsets[0].length == 0) - assert(packet.answer.rrsets[0].length == 1) - end - - def test_section - packet = Message.new("ns2.nic.se") - packet.add_answer(RR.create("ns2.nic.se. 3600 IN A 194.17.45.54")) - packet.add_answer(RR.create("ns2.nic.se. 3600 IN RRSIG A 5 3 3600 20090329175503 ( - 20090319175503 32532 nic.se. - YFvEOPpVHgAmPwtM2Q0KD5x6UaZ5bMzINMyW4xXSXOxG - /EYCTbmTfPpfZTnAUPAfNRIA4RS9etMgh5Zy3Wug4dKs - 20+3vwlSz0Ge5jluOoowkWAK3YbLkqwSi1DeZg/HT1Ns - zcBDHMJ9sxmB6d4nuRA6653w9RULVjpKng1gh0s= ) - ")) - packet.add_authority(RR.create("nic.se. 3600 IN NS ns2.nic.se.")) - packet.add_authority(RR.create("nic.se. 3600 IN NS ns3.nic.se.")) - packet.add_authority(RR.create("nic.se. 3600 IN NS ns.nic.se.")) - packet.add_authority(RR.create("nic.se. 3600 IN RRSIG NS 5 2 3600 20090329175503 ( - 20090319175503 32532 nic.se. - ZExPKC9zDiyY0TuuPGDBtzYE119fiXWqihARO41l7uTT - LBbYcCNg3ItJZW2y0o4iFYpqrp62l25uKhO4cMEZbgZs - Gq9B6zZ4/2D0v4zFjlzCEZ0lTrGb6xgOrnQbZUiTbg46 - x9iBai7Ud1w/hgV/TSxikP1SS0J1AillybPiMWQ= )")) - packet.add_additional(RR.create("ns.nic.se. 3600 IN A 212.247.7.228")) - packet.add_additional(RR.create("ns.nic.se. 3600 IN AAAA 2a00:801:f0:53::53")) - packet.add_additional(RR.create("ns3.nic.se. 60 IN A 212.247.3.83")) - packet.add_additional(RR.create("ns.nic.se. 3600 IN RRSIG A 5 3 3600 20090329175503 ( - 20090319175503 32532 nic.se. - opTtrYBF+Mm4BGK+5vvAvzxxgh4GUxa7YxflT1DybG7u - uRdi+ZD6+DFXvaMKPcmVLRcMV2wEv7v1zBj+jaAkqPno - ikOHMtd9g0FtmfxR//TLLzgjDsunee0MX6hLX/ApTUy8 - hhcGB1pxk371tZKSBkNI7SN7gaSnknUUEp6eNN4= )")) - packet.add_additional(RR.create("ns.nic.se. 3600 IN RRSIG AAAA 5 3 3600 20090329175503 ( - 20090319175503 32532 nic.se. - Qaj/eG9MPGF6QZUPpRq3LBxfxQiKki3J2myKy+OQuE65 - juDBb+29YjteqQW1PrilxRjo4apX5Q4LNAhS+bEx+PNU - dHr8x0u7z7fZMCAaZhQndnWTD5Wzf1J97bt0ml78yqDi - PkYeqNTNeM0Y40VTu0aHsPPPZpQRR7MYcODUbl0= )")) - packet.add_additional(RR.create("ns3.nic.se. 60 IN RRSIG A 5 3 60 20090329175503 ( - 20090319175503 32532 nic.se. - Ql7Msgt0HKDifPaCV8UYsiLj7hOEp6LPJJ5oaFrJhooU - Nrp4gcwlX9QbrYXWQ8cgE0Z+bL2c07EX/f+n7+xfgCIu - UtL1tXJPsujZBojMtpnkbZsCb5cQmUv0CjAVIdF82W7Q - mUg/YzRLeIyl/wBm0u8/v7TZp/KbGbaKMWMXkjo= )")) - packet.add_additional(RR::OPT.new(4096, 0x9e22)) - packet.header.aa = true - - assert(packet.answer.length == 2) - assert(packet.authority.length == 4) - assert(packet.additional.length == 7) - - ns3_a_rrset = packet.additional.rrset("ns3.nic.se", "A") - assert(ns3_a_rrset.length == 2) - - section_rrsets = packet.section_rrsets - assert(section_rrsets["answer"].length == 1) - assert(section_rrsets["authority"].length == 1) - assert(section_rrsets["additional"].length == 3) - - add_count = 0 - packet.each_additional {|rr| add_count += 1} - assert(add_count == 7) - - packet.additional.remove_rrset(Name.create("ns.nic.se."), Types.AAAA) - assert(packet.answer.length == 2) - assert(packet.authority.length == 4) - assert(packet.additional.length == 5) - section_rrsets = packet.section_rrsets - assert(section_rrsets["answer"].length == 1) - assert(section_rrsets["authority"].length == 1) - assert(section_rrsets["additional"].length == 2) - - add_count = 0 - packet.each_additional {|rr| add_count += 1} - assert(add_count == 5) - - packet.additional.remove_rrset(Name.create("ns.nic.se."), Types.A) - assert(packet.answer.length == 2) - assert(packet.authority.length == 4) - assert(packet.additional.length == 3) - section_rrsets = packet.section_rrsets - assert(section_rrsets["answer"].length == 1) - assert(section_rrsets["authority"].length == 1) - assert(section_rrsets["additional"].length == 1) - - packet.additional.remove_rrset(Name.create("ns3.nic.se."), Types.A) - assert(packet.answer.length == 2) - assert(packet.authority.length == 4) - assert(packet.additional.length == 1) - section_rrsets = packet.section_rrsets - assert(section_rrsets["answer"].length == 1) - assert(section_rrsets["authority"].length == 1) - assert(section_rrsets["additional"].length == 0) - end - - def test_clone - m = Message.new("blah.example.com", "DNSKEY", "IN") - m.header.rcode=4 - m2 = m.clone - assert_equal(m.to_s, m2.to_s, "Clone to_s failed") - assert_equal(m, m2, "Clone failed") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_packet_unique_push.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_packet_unique_push.rb deleted file mode 100644 index eb784c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_packet_unique_push.rb +++ /dev/null @@ -1,104 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestPacketUniquePush < Minitest::Test - - include Dnsruby - - # def test_packUniquePush - # - # - # testProc('unique_push'); - # end - # - # # def test_packetSafePush - # # begin - # # testProc('safe_push'); - # # flunk("Shouldn't work!") - # # rescue Exception - # # end - # # end - - # def testProc (method) - def test_proc - domain = 'example.com'; - - tests = [ - [ - 1, - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 60 IN A 10.0.0.1'), - ], - [ - 2, - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('bar.example.com 60 IN A 10.0.0.1'), - ], - [ - 1, # RFC 2136 section 1.1 - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 90 IN A 10.0.0.1'), - ], - [ - 3, - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 60 IN A 10.0.0.2'), - RR.create('foo.example.com 60 IN A 10.0.0.3'), - ], - [ - 3, - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 60 IN A 10.0.0.2'), - RR.create('foo.example.com 60 IN A 10.0.0.3'), - RR.create('foo.example.com 60 IN A 10.0.0.1'), - ], - [ - 3, - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 60 IN A 10.0.0.2'), - RR.create('foo.example.com 60 IN A 10.0.0.1'), - RR.create('foo.example.com 60 IN A 10.0.0.4'), - ], - ] - - methods = { - 'add_answer' => 'ancount', - 'add_authority' => 'nscount', - 'add_additional' => 'arcount', - } - - tests.each do | try | - count = try.shift; - rrs = try; - - methods.each do |method, count_meth| - - packet = Message.new(domain) - - rrs.each do |rr| - packet.send(method,rr) - end - - assert_equal(count, packet.header.send(count_meth), "#{method} right for #{rrs.inspect}"); - assert_equal(count, packet.header.send(count_meth), "#{method} right for #{rrs.inspect}"); - - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ptrin.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ptrin.rb deleted file mode 100644 index 3ceeb5e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_ptrin.rb +++ /dev/null @@ -1,28 +0,0 @@ -require_relative 'spec_helper' - -class TestPtrIn < Minitest::Test - - include Dnsruby - - # Tests that message raises no error when decoded, encoded, and decoded again. - def verify(message_data_as_hex_string, canonical = false) - # Dnsruby.log.level = Logger::DEBUG - message = Message.decode([message_data_as_hex_string].pack('H*').force_encoding("ASCII-8BIT")) - Message.decode(message.encode(canonical)) - end - - - #example.com A IN (2-byte size removed at beginning) - def test_non_canonical - verify( - 'f8f681900001000200030005076578616d706c6503636f6d0000010001c00c0001000100014f0c00045db8d822c00c002e000100014f0c00a20001080200015180580ec93f57f38df906a8076578616d706c6503636f6d006ae1882b1536a15c44f5813671af57bf9cae0366cff2ec085d6dedfddff0c469fa827ceec953de7cc1eee634f4cf695dc2caa2074f95199a5582e51e63b336d8f091d18c0c1a307ae3f5508ec650c4085a95e54e2c2451d9fc9ae04b4e62f3d1a1689e9507c3692fb84817a70afd3e9cdf066f73cc4ac11ed080a30d2af31510b457b5c04b0002000100014f0c001401620c69616e612d73657276657273036e657400c04b0002000100014f0c00040161c0e9c04b002e000100014f0c00a2000208020001518058109f4c57f56c1906a8076578616d706c6503636f6d006d8dd0fdbd0a0b0bfe7e4306a4a001bb7a13df2faedb1702a329243c326b915191335e99e16a236de99360547efa96ec6ee547a6dcfab94b57de6f7891bcaf99a2ef5d3c72d5bc18d1bf05ff4473f527bd8f2e6621489ab531dfb6a973e37e0f0be52740a362599058b204097a04c96492e527bfca6a22338eb865b51156c2ab0e6940c10700010001000004940004c72b8735c107001c00010001e209001020010500008f00000000000000000053c0e700010001000004940004c72b8535c0e7001c00010001e209001020010500008d000000000000000000530000291000000080000000') - end - - - #32.197.46.207.in-addr.arpa: type PTR, class IN (2-byte size removed at beginning) - def test_canonical - verify( - 'bb7a81900001041200000001023332033139370234360332303707696e2d61646472046172706100000c0001c00c000c0001000008aa0017116270666f726772656174706c61696e733203636f6d00c00c000c0001000008aa00130e64657369676e6564666f7262696702636e00c00c000c0001000008aa000f0a6f66666963653230303702636800c00c000c0001000008aa000e0977696e646f77737870026b7a00c00c000c0001000008aa00150f77696e646f77733230303074657374036f726700c00c000c0001000008aa000e0b77696e646f77736e743938c0bfc00c000c0001000008aa0016117370726f7374616a77797a77616e696f6d02706c00c00c000c0001000008aa000f09697462727565636b65036e657400c00c000c0001000008aa001512626c7565796f6e6465726169726c696e6573c0bfc00c000c0001000008aa00140f6d73646e746563686e6574746f757202667200c00c000c0001000008aa000c0977696e646f77733938c085c00c000c0001000008aa00130a6f66666963653230303703636f6d026d7800c00c000c0001000008aa000906617a7572696bc116c00c000c0001000008aa00140f65756772616e747361647669736f7202697400c00c000c0001000008aa00171477696e646f7773787067616d6561647669736f72c0bfc00c000c0001000008aa000e09697462727565636b6502646500c00c000c0001000008aa00100b77696e646f77737275627902686b00c00c000c0001000008aa00120977696e646f7773787003636f6d02677400c00c000c0001000008aa000e0b77696e646f777332303037c0bfc00c000c0001000008aa00151268756d6f6e676f7573696e737572616e6365c04ac00c000c0001000008aa001411756b636f6d6d756e697479617761726473c116c00c000c0001000008aa00130a77696e64736f77737870036e657402646f00c00c000c0001000008aa001509646f776e6c6f616473086263656e7472616cc04ac00c000c0001000008aa000e09666f726566726f6e7402617400c00c000c0001000008aa00120d726573706f6e7365706f696e74026c7400c00c000c0001000008aa00130e65766572796f6e6567657473697402657500c00c000c0001000008aa000e09666f726566726f6e7402626500c00c000c0001000008aa00100977696e646f77737870036f7267c2b5c00c000c0001000008aa00120977696e646f777378700372656302726f00c00c000c0001000008aa00120d726573706f6e7365706f696e7402706800c00c000c0001000008aa0015126361707375726c6573756363657332303038c116c00c000c0001000008aa000e0977696e646f7773787002706e00c00c000c0001000008aa000e0b77696e646f777332303030c085c00c000c0001000008aa001815636f686f76696e6579617264616e6477696e657279c04ac00c000c0001000008aa00120977696e646f7773787003636f6d02746c00c00c000c0001000008aa00140f65756772616e747361647669736f72026c7600c00c000c0001000008aa00140f65756772616e747361647669736f7202636c00c00c000c0001000008aa00181164656679616c6c6368616c6c656e67657303636f6dc21dc00c000c0001000008aa00110e7374617274736f6d657468696e67c347c00c000c0001000008aa00100977696e646f77737870036f7267c23bc00c000c0001000008aa00100977696e646f77737870036f7267c0fcc00c000c0001000008aa0016136f666672652d65626c6f75697373616e746573c0bfc00c000c0001000008aa00140b77696e646f77737275627903636f6d02657300c00c000c0001000008aa000f0a6f66666963653230303702636100c00c000c0001000008aa000e0977696e646f7773787002616d00c00c000c0001000008aa001109626570636c6567616c02636f02756b00c00c000c0001000008aa000d0877696e646f77787002747600c00c000c0001000008aa00110977696e646f7773787004696e666fc381c00c000c0001000008aa001f1c786e2d2d66726465726d697474656c2d72617467656265722d333962c201c00c000c0001000008aa00110e65766572796f6e65676574736974c531c00c000c0001000008aa00151268756d6f6e676f7573696e737572616e6365c0bfc00c000c0001000008aa00110e696973646961676e6f7374696373c0bfc00c000c0001000008aa00160f65756772616e747361647669736f7203636f6dc0fcc00c000c0001000008aa000b06666c6578676f02696e00c00c000c0001000008aa00120f696e73696465647269766532303032c04ac00c000c0001000008aa00100d726573706f6e7365706f696e74c18bc00c000c0001000008aa001815636f6e736f6c6964617465646d657373656e676572c116c00c000c0001000008aa000c09666f726566726f6e74c678c00c000c0001000008aa00140b77696e646f77737275627903636f6d02766500c00c000c0001000008aa0017146761676e657a2d656e2d65666669636163697465c0bfc00c000c0001000008aa000f0c636f686f76696e6579617264c0bfc00c000c0001000008aa001714636f6e73756d6572676f6f647373656d696e6172c04ac00c000c0001000008aa001310666f726f706572737065637469766173c0bfc00c000c0001000008aa00120977696e646f7773787003636f6d02616900c00c000c0001000008aa00170e65766572796f6e6567657473697403636f6d02617500c00c000c0001000008aa00120977696e646f77737870036e657402766900c00c000c0001000008aa00120f77696e646f77733230303074657374c116c00c000c0001000008aa00180f65756772616e747361647669736f7203636f6d02707400c00c000c0001000008aa00100b77696e646f777332303030026e6c00c00c000c0001000008aa000c0977696e646f77733935c0bfc00c000c0001000008aa0014117365727665757273616e736c696d697465c116c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c2f0c00c000c0001000008aa000e0977696e646f7773787002736e00c00c000c0001000008aa000e0977696e646f7773787002736300c00c000c0001000008aa0017146d6963726f736f667474696d65657870656e7365c04ac00c000c0001000008aa001c19647269766572646576656c6f706572636f6e666572656e6365c0bfc00c000c0001000008aa000b0877696e646f777870c82bc00c000c0001000008aa000b0661786170746102727500c00c000c0001000008aa000f09666f726566726f6e7402636fc678c00c000c0001000008aa000b0877696e646f777870c436c00c000c0001000008aa000c09626570636c6567616cc04ac00c000c0001000008aa000b0877696e646f777870c456c00c000c0001000008aa000b06666c6578676f02746d00c00c000c0001000008aa0017146761676e657a2d656e2d65666669636163697465c116c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c158c00c000c0001000008aa00110e636c7562736d61727470686f6e65c116c00c000c0001000008aa000c09666f726566726f6e74c158c00c000c0001000008aa00100d726573706f6e7365706f696e74c347c00c000c0001000008aa0015126361707375726c6573756363657332303038c0bfc00c000c0001000008aa000c09666f726566726f6e74c52dc00c000c0001000008aa000906666c6578676fc84bc00c000c0001000008aa00100977696e646f77737870036f7267c39fc00c000c0001000008aa00151273747265616d6c696e6566696e616e636573c04ac00c000c0001000008aa00130d726573706f6e7365706f696e740362697a00c00c000c0001000008aa00120d726573706f6e7365706f696e7402646b00c00c000c0001000008aa000f0c6d6f6e6e6f7576656c616d69c158c00c000c0001000008aa00120f77696e646f77733230303074657374c04ac00c000c0001000008aa000f0c666f75727468636f66666565c04ac00c000c0001000008aa001310666f726f706572737065637469766173c116c00c000c0001000008aa00110e6272757465666f72636567616d65c04ac00c000c0001000008aa000c09696e73656775726f73c116c00c000c0001000008aa00100d726573706f6e7365706f696e74c381c00c000c0001000008aa000f0c647269766572646576636f6ec04ac00c000c0001000008aa001611666f727265746e696e677373797374656d026e6f00c00c000c0001000008aa00140f65756772616e747361647669736f72026c7500c00c000c0001000008aa00100977696e646f77737870036e6574c436c00c000c0001000008aa00120977696e646f7773787003636f6d02666a00c00c000c0001000008aa00140d726573706f6e7365706f696e7403636f6dc06ac00c000c0001000008aa00100d726573706f6e7365706f696e74c580c00c000c0001000008aa000c09666f726566726f6e74c085c00c000c0001000008aa000e0977696e646f7773787002686e00c00c000c0001000008aa00161370736f65786563757469766573656d696e6172c04ac00c000c0001000008aa000906656e6779726fc04ac00c000c0001000008aa00110e6361736866696e616e6369616c73c04ac00c000c0001000008aa00151268756d6f6e676f7573696e737572616e6365c116c00c000c0001000008aa001512636f6e666f726d6974656c6963656e636573c0bfc00c000c0001000008aa0019166c65732d646f696774732d64616e732d6c652d6e657ac158c00c000c0001000008aa000e0977696e646f7773787002616700c00c000c0001000008aa000d0a676f746f746563686564c04ac00c000c0001000008aa00110e667574757265706f73746d61696cc580c00c000c0001000008aa0019166c7574746572636f6e7472656c657069726174616765c0bfc00c000c0001000008aa0014116c756365726e657075626c697368696e67c04ac00c000c0001000008aa000c09666f726566726f6e74cb26c00c000c0001000008aa000e0977696e646f7773787002757a00c00c000c0001000008aa000d0a636f686f77696e657279c116c00c000c0001000008aa001310657870657269656e6365746563686564c04ac00c000c0001000008aa00191677696e646f7773647269766572646576656c6f706572c0bfc00c000c0001000008aa000b0877696e646f777870cac6c00c000c0001000008aa00100d726573706f6e7365706f696e74c70ac00c000c0001000008aa000e0977696e646f7773787002666d00c00c000c0001000008aa00100d726573706f6e7365706f696e74c951c00c000c0001000008aa00130a6f66666963653230303703636f6d02736700c00c000c0001000008aa00110e64657369676e6564666f72626967c116c00c000c0001000008aa000b086370616475766f6cc0bfc00c000c0001000008aa000d0877696e646f777870026d6e00c00c000c0001000008aa000c09666f726566726f6e74c201c00c000c0001000008aa000e0977696e646f77737870026d7500c00c000c0001000008aa000a07666f7269656e74c04ac00c000c0001000008aa000c0977696e646f77737870cfa3c00c000c0001000008aa00100d6c6573626f6e736f7574696c73c0bfc00c000c0001000008aa0014117365727665757273616e736c696d697465c04ac00c000c0001000008aa000e0b6f66666963657265616479cb26c00c000c0001000008aa00120d726573706f6e7365706f696e7402626f00c00c000c0001000008aa000b086d6f6e727562616ec04ac00c000c0001000008aa00100d726573706f6e7365706f696e74c085c00c000c0001000008aa00100d726573706f6e7365706f696e74c54cc00c000c0001000008aa00110e6a65646572686174736472617566c116c00c000c0001000008aa001e1b647269766572646576656c6f706d656e74636f6e666572656e6365c0bfc00c000c0001000008aa000e0b77696e646f777372756279c84bc00c000c0001000008aa001613636f6e666f726d6974652d6c6963656e636573c116c00c000c0001000008aa0015126361707375726c6573756363657332303038c04ac00c000c0001000008aa000d0877696e646f77787002677300c00c000c0001000008aa000d0a7374756f73626f726e65c116c00c000c0001000008aa000c09666f726566726f6e74c18bc00c000c0001000008aa0013106a656465722d686174732d6472617566c201c00c000c0001000008aa0014116d6f62696c657063646576656c6f706572c04ac00c000c0001000008aa00100977696e646f77737870036f7267c3dac00c000c0001000008aa00160d726573706f6e7365706f696e7403636f6d026d7900c00c000c0001000008aa000f0c636f686f76696e6579617264c04ac00c000c0001000008aa00120f73656d696e61697265732d6e617635c158c00c000c0001000008aa000f0c647269766572646576636f6ec116c00c000c0001000008aa000b0877696e646f777870c566c00c000c0001000008aa000f0c6469676974616c616e76696cc04ac00c000c0001000008aa00100d726573706f6e7365706f696e74c158c00c000c0001000008aa000c0977696e646f77733938c04ac00c000c0001000008aa0018156e61762d636f6d706c69616e636577656263617374c04ac00c000c0001000008aa00110e70726f6a656374657870656e7365c04ac00c000c0001000008aa000906666c6578676fc0bfc00c000c0001000008aa000f0877696e646f77787003636f6dc8d8c00c000c0001000008aa000b086c69666563616d73c04ac00c000c0001000008aa00120f696d6167696e657a6c617375697465c0bfc00c000c0001000008aa00171474616b65636f6e74726f6c6f66706179726f6c6cc04ac00c000c0001000008aa0019166772617068696364657369676e696e73746974757465c04ac00c000c0001000008aa00130d726573706f6e7365706f696e7402636fc2f0c00c000c0001000008aa000e0b77696e646f777372756279c498c00c000c0001000008aa000c09697462727565636b65c0bfc00c000c0001000008aa001a17636c756270617274656e61697265737365727669636573c116c00c000c0001000008aa000d0a696d6167696e65637570c580c00c000c0001000008aa000e0b77696e646f777372756279cf52c00c000c0001000008aa001714617a7572696b726973656f667065726174686961c0bfc00c000c0001000008aa00100d726573706f6e7365706f696e74c7cbc00c000c0001000008aa001c19647269766572646576656c6f706572636f6e666572656e6365c04ac00c000c0001000008aa000f0c6d6f6e6e6f7576656c616d69c04ac00c000c0001000008aa000c09626c6f6f6477616b65c04ac00c000c0001000008aa00110e6a65646572686174736472617566c201c00c000c0001000008aa00120d726573706f6e7365706f696e7402646d00c00c000c0001000008aa001613636f6e666f726d6974652d6c6963656e636573c0bfc00c000c0001000008aa00120f696d6167696e657a6c617375697465c158c00c000c0001000008aa000c09666f726566726f6e74c951c00c000c0001000008aa000c09666f726566726f6e74c531c00c000c0001000008aa000e0b77696e646f777332303037cb07c00c000c0001000008aa00110e6d6f62696c6574656368746f7572c116c00c000c0001000008aa000e0b77696e646f777332303036c116c00c000c0001000008aa00120f63656e747265646573757361676573c0bfc00c000c0001000008aa001e1b786e2d2d66726465726d697474656c72617467656265722d713662c201c00c000c0001000008aa000b06666c6578676f02757300c00c000c0001000008aa00120d726573706f6e7365706f696e7402736500c00c000c0001000008aa0007046f727063cb26c00c000c0001000008aa001512696e666f726d61736a6f6e7373797374656dcc27c00c000c0001000008aa001109666f726566726f6e7402636f026b7200c00c000c0001000008aa00130a6f66666963653230303703636f6d02627200c00c000c0001000008aa000e0977696e646f7773787002626900c00c000c0001000008aa00252277696e646f7773647269766572646576656c6f706d656e74636f6e666572656e6365c04ac00c000c0001000008aa001310666f726f706572737065637469766173c04ac00c000c0001000008aa000a077061726c616e6fc04ac00c000c0001000008aa00110e696973646961676e6f7374696373c116c00c000c0001000008aa000906617a7572696bc0bfc00c000c0001000008aa000c09696e73656775726f73c04ac00c000c0001000008aa000e0977696e646f77737870026b6700c00c000c0001000008aa000e0977696e646f7773787002636700c00c000c0001000008aa00150e65766572796f6e65676574736974036e6574c7cfc00c000c0001000008aa000d0a636f686f77696e657279c04ac00c000c0001000008aa00120f6d797374617274757063656e746572c04ac00c000c0001000008aa001714706c75736465343030646966666572656e636573c54cc00c000c0001000008aa00100d726573706f6e7365706f696e74c0bfc00c000c0001000008aa0015126c6573646f6967747364616e736c656e657ac158c00c000c0001000008aa000c0970726f736577617265c116c00c000c0001000008aa000e0b6374726f70656e6f726d65c04ac00c000c0001000008aa000c0970726f736577617265c04ac00c000c0001000008aa000f0c77696e646f77732d32303030c84bc00c000c0001000008aa00120f696d70726f7665616e616c79736973c04ac00c000c0001000008aa000c09666f726566726f6e74c1c4c00c000c0001000008aa00191664656375706c657a766f747265706f74656e7469656cc04ac00c000c0001000008aa001a17686572617573666f72646572756e67736d656973746572c201c00c000c0001000008aa001411627033666f726772656174706c61696e73c04ac00c000c0001000008aa00120f696d6167696e65726c617375697465c04ac00c000c0001000008aa00120f696d6167696e65726c617375697465c158c00c000c0001000008aa00100d726573706f6e7365706f696e74c59cc00c000c0001000008aa000d0a77696e7465726e616c73c04ac00c000c0001000008aa0009046575676102677200c00c000c0001000008aa000e0b6374726f70656e6f726d65c116c00c000c0001000008aa001411756b636f6d6d756e697479617761726473c0bfc00c000c0001000008aa0015126c6573646f6967747364616e736c656e657ac0bfc00c000c0001000008aa0009066f6666726573d967c00c000c0001000008aa00100d6f70656e74797065666f72756dc04ac00c000c0001000008aa00100d726573706f6e7365706f696e74da48c00c000c0001000008aa00150d726573706f6e7365706f696e7402636f02696c00c00c000c0001000008aa001916656e68616e6365796f757270656f706c656173736574c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c951c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c21dc00c000c0001000008aa00100d63696f2d636f6d6d756e697479c085c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c580c00c000c0001000008aa0013106a656465722d686174732d6472617566c0bfc00c000c0001000008aa001815666f65726465726d697474656c7261746765626572c201c00c000c0001000008aa000c09626570636c6567616cc116c00c000c0001000008aa0019166d69677265727665727376697375616c73747564696fc0bfc00c000c0001000008aa000f0c6270666f72736f6c6f6d6f6ec04ac00c000c0001000008aa0019166f6666696365706f75726c65736574756469616e7473c0bfc00c000c0001000008aa00100d627033666f72736f6c6f6d6f6ec04ac00c000c0001000008aa00090669746865726fd6e4c00c000c0001000008aa0014116d6f62696c657063646576656c6f706572c0bfc00c000c0001000008aa000b08706f636b65747063c116c00c000c0001000008aa001512636f6e666f726d6974656c6963656e636573c116c00c000c0001000008aa000c096576726f706c616e6fda48c00c000c0001000008aa001a17636c756270617274656e61697265737365727669636573c0bfc00c000c0001000008aa001c19647269766572646576656c6f706572636f6e666572656e6365c116c00c000c0001000008aa00171467702d636f6d706c69616e636577656263617374c04ac00c000c0001000008aa000e0b7061636b746f7574656e31c0bfc00c000c0001000008aa0019166c65732d646f696774732d64616e732d6c652d6e657ac04ac00c000c0001000008aa001109686f77746f74656c6c02636f026e7a00c00c000c0001000008aa001e1b647269766572646576656c6f706d656e74636f6e666572656e6365c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74d696c00c000c0001000008aa000e0b7061636b746f7574656e31c116c00c000c0001000008aa001512636f6e666f726d6974656c6963656e636573c04ac00c000c0001000008aa000b0877696e646f777870c39fc00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c531c00c000c0001000008aa001613736d61727470686f6e65636f6d6d756e697479c04ac00c000c0001000008aa001e1b647269766572646576656c6f706d656e74636f6e666572656e6365c116c00c000c0001000008aa000f0c6d6f6e6e6f7576656c616d69c116c00c000c0001000008aa000f0c7061636b746f7574656e756ec0bfc00c000c0001000008aa00110e65766572796f6e65676574736974c54cc00c000c0001000008aa00100d77696e646f77736d6f62696c65d696c00c000c0001000008aa001b126d6963726f736f6674666f726566726f6e7403636f6d02747700c00c000c0001000008aa00120f6d73646e746563686e6574746f7572c04ac00c000c0001000008aa00120977696e646f77737870036f726702747000c00c000c0001000008aa00120f6f6e6c696e6573706f746c69676874c0bfc00c000c0001000008aa00100d6c6573626f6e736f7574696c73c116c00c000c0001000008aa000a076f6e6d79776179cb26c00c000c0001000008aa000c09696f2d6d6f64656c6cc201c00c000c0001000008aa000a076f6e6563617265c04ac00c000c0001000008aa00110e726973656f667065726174686961c04ac00c000c0001000008aa000f0c636c7562706f636b65747063c04ac00c000c0001000008aa001a176d6963726f736f66742d6272616e6368656e766964656fc201c00c000c0001000008aa0009066370616e646cc04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c0bfc00c000c0001000008aa0013106a656465722d686174732d6472617566c116c00c000c0001000008aa000c096f6e6d79776179756bc04ac00c000c0001000008aa000a07636f6e746f736fc04ac00c000c0001000008aa000b086e61766973696f6ec085c00c000c0001000008aa0014116361702d7375722d6c652d737563636573c0bfc00c000c0001000008aa000c09696e73656775726f73c0bfc00c000c0001000008aa00141164656679616c6c6368616c6c656e676573c1c4c00c000c0001000008aa000c096c6561726e32617370c116c00c000c0001000008aa00100d66696e656172747363686f6f6cc116c00c000c0001000008aa00110e646f776e6c6f616467726f6f7665c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74d702c00c000c0001000008aa000f0c7061636b746f7574656e756ec04ac00c000c0001000008aa0009066370616e646cc0bfc00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c52dc00c000c0001000008aa00120f646566726167636f6d6d616e646572c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c39fc00c000c0001000008aa001a17636c756270617274656e61697265737365727669636573c04ac00c000c0001000008aa0023206d6f6465726e65722d76657277616c74756e677361726265697473706c61747ac201c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c085c00c000c0001000008aa000c09666f726566726f6e74c39fc00c000c0001000008aa0013106a656465722d686174732d6472617566c04ac00c000c0001000008aa00100d77696e646f77736d6f62696c65c531c00c000c0001000008aa00110e65766572796f6e65676574736974c580c00c000c0001000008aa00131074686570686f6e652d636f6d70616e79c04ac00c000c0001000008aa00110e646f776e6c6f616467726f6f7665c116c00c000c0001000008aa0015126c6573646f6967747364616e736c656e657ac116c00c000c0001000008aa0014116d616e6167656669786564617373657473c04ac00c000c0001000008aa000c09707261786973746167c085c00c000c0001000008aa00150e65766572796f6e65676574736974036f7267c583c00c000c0001000008aa0015126f666672652d65626c6f75697373616e7465c04ac00c000c0001000008aa000c09697462727565636b65c04ac00c000c0001000008aa0014116d616e6167656669786564617373657473c0bfc00c000c0001000008aa000f0c6d6963726f736f6674646f70c116c00c000c0001000008aa000e0b77696e646f777332303030c2f0c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74cc27c00c000c0001000008aa0016136e6f74666f7270726f66697473656d696e6172c04ac00c000c0001000008aa00120f696d6167696e657a6c617375697465c116c00c000c0001000008aa00100d726573706f6e7365706f696e74d6e4c00c000c0001000008aa000c09666f726566726f6e74df83c00c000c0001000008aa0013106e6f72746877696e6474726164657273c04ac00c000c0001000008aa00100d77696e646f77736d6f62696c65c201c00c000c0001000008aa00131069697377656263617374736572696573c0bfc00c000c0001000008aa001815636f6e736f6c6964617465646d657373656e676572c04ac00c000c0001000008aa00120d726573706f6e7365706f696e7402636300c00c000c0001000008aa0014116d616e6167656669786564617373657473c116c00c000c0001000008aa000e0977696e646f7773787002766300c00c000c0001000008aa00100d646f746e657465787065727473c2f0c00c000c0001000008aa00110e6a65646572686174736472617566c0bfc00c000c0001000008aa000f0c6e636f6d706173736c616273c04ac00c000c0001000008aa00110e65766572796f6e65676574736974c201c00c000c0001000008aa000d0a6c697477617265696e63c116c00c000c0001000008aa0021066f666672657317656e7472657072656e6575722d73757065726865726f73c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74d6e4c00c000c0001000008aa00100d72656e636f6e7472652d333630c116c00c000c0001000008aa000e0b6d756e63686f6e74686973c0bfc00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74df83c00c000c0001000008aa00120f696d6167696e657a6c617375697465c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c0fcc00c000c0001000008aa00100d77696e646f77736e7432303030c0bfc00c000c0001000008aa000f0c6d6f6e2d7061636b2d70726fc04ac00c000c0001000008aa00110e646f776e6c6f616467726f6f7665c0bfc00c000c0001000008aa000c09646f742d7472757468c04ac00c000c0001000008aa00100d6465667261676d616e61676572c04ac00c000c0001000008aa000c0965727073797374656dcc27c00c000c0001000008aa00161372656c65766572746f75736c65736465666973c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c04ac00c000c0001000008aa0013106f66667265732d6d6963726f736f6674c0bfc00c000c0001000008aa000c076f6e6d7977617902666900c00c000c0001000008aa000f0c746563686461797332303038c0bfc00c000c0001000008aa000906637368617270c116c00c000c0001000008aa0015126f666672652d65626c6f75697373616e7465c116c00c000c0001000008aa000906666c6578676fc158c00c000c0001000008aa0015126d737368617265706f696e74666f72756d73c0bfc00c000c0001000008aa000e0b6c6f6f6b6f7574736f6674c04ac00c000c0001000008aa001b126d6963726f736f6674666f726566726f6e7403636f6d02617200c00c000c0001000008aa0009066370616e646cc116c00c000c0001000008aa00120f6d7977696e646f77736d6f62696c65df7fc00c000c0001000008aa000c09706f636b65746d736ec580c00c000c0001000008aa00120f6f6e6c696e6573706f746c69676874c04ac00c000c0001000008aa000d0a6f666669636532303037c96bc00c000c0001000008aa001815636f6e736f6c6964617465646d657373656e676572c0bfc00c000c0001000008aa001a1777696e646f77736d6f62696c65636f6d6d6d756e697479c0bfc00c000c0001000008aa00201d6f6666696365736d616c6c627573696e6573736163636f756e74696e67c04ac00c000c0001000008aa00120f696d6167696e65726c617375697465c0bfc00c000c0001000008aa000b086e636f6d70617373c04ac00c000c0001000008aa00181577696e646f7773616e7974696d6575706772616465c04ac00c000c0001000008aa000e0b77696e646f777332303036cb07c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74dde0c00c000c0001000008aa001411657874656e646572736d6172746c697374c04ac00c000c0001000008aa00110e646973636f766572746563686564c04ac00c000c0001000008aa0017126d6963726f736f6674666f726566726f6e74026a7000c00c000c0001000008aa0014116c756365726e657075626c697368696e67c0bfc00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74d22dc00c000c0001000008aa000b0872656d69782d3038c04ac00c000c0001000008aa00232077696e646f7773647269766572646576656c6f706572636f6e666572656e6365c116c00c000c0001000008aa00100d6f666669636572656164797063cb26c00c000c0001000008aa00110e6d6963726f736f66746174636573c04ac00c000c0001000008aa0017126d6963726f736f6674666f726566726f6e7402696500c00c000c0001000008aa000c09666f726566726f6e74cf52c00c000c0001000008aa000f0c666f75727468636f66666565c116c00c000c0001000008aa00120f6d7977696e646f77736d6f62696c65c06ac00c000c0001000008aa00100d6c6573626f6e736f7574696c73c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c1c4c00c000c0001000008aa00110e6d6963726f736f667468656c7073c04ac00c000c0001000008aa001c196d6963726f736f6674627573696e6573737365637572697479c085c00c000c0001000008aa00100d776f6f6467726f766562616e6bc0bfc00c000c0001000008aa0014116c756365726e657075626c697368696e67c116c00c000c0001000008aa000f0c666f75727468636f66666565c0bfc00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c7cbc00c000c0001000008aa000f0c636f686f76696e6579617264c116c00c000c0001000008aa000f0c6d6963726f736f6674646f70c0bfc00c000c0001000008aa000e0b77696e646f777372756279d696c00c000c0001000008aa000f086d736d6f62696c6504696e666f00c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c54cc00c000c0001000008aa00140d6d6f62696c65326d61726b6574046d6f626900c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74d678c00c000c0001000008aa000e0b6d756e63686f6e74686973c04ac00c000c0001000008aa000b086370616475766f6cc116c00c000c0001000008aa000e0b70726f746563746d797063dde0c00c000c0001000008aa00161372656c65766572746f75736c65736465666973c116c00c000c0001000008aa00191677696e646f77736d6f62696c65636f6d6d756e697479c0bfc00c000c0001000008aa00120f736572766572756e6c656173686564c0bfc00c000c0001000008aa000b08706f636b65747063c04ac00c000c0001000008aa000f0c746563686461797332303038c04ac00c000c0001000008aa000d0a64697265637462616e64c04ac00c000c0001000008aa001b1877696e646f7773647269766572646576656c6f706d656e74c04ac00c000c0001000008aa000f0c647269766572646576636f6ec0bfc00c000c0001000008aa00191672657461696c65786563757469766573656d696e6172c0bfc00c000c0001000008aa000d0a77696e7465726e616c73c0bfc00c000c0001000008aa0019166c7574746572636f6e7472656c657069726174616765c04ac00c000c0001000008aa000b0877696e646f777870c432c00c000c0001000008aa001613736d61727470686f6e65636f6d6d756e697479c116c00c000c0001000008aa000b086d6170706f696e74c116c00c000c0001000008aa000d0a6c697477617265696e63c0bfc00c000c0001000008aa0019166772617068696364657369676e696e73746974757465c116c00c000c0001000008aa000b086d6163746f706961c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74cf56c00c000c0001000008aa0015126d737368617265706f696e74666f72756d73c116c00c000c0001000008aa000e0b746f726b74686567616d65c04ac00c000c0001000008aa0019166c65732d646f696774732d64616e732d6c652d6e657ac0bfc00c000c0001000008aa0015126d737368617265706f696e74666f72756d73c04ac00c000c0001000008aa00100d70726f74656374796f75727063dde0c00c000c0001000008aa0015127465636e6f6c6f67696179656d7072657361c0bfc00c000c0001000008aa00120f6d73646e746563686e6574746f7572c116c00c000c0001000008aa00100d72657461696c77656263617374c04ac00c000c0001000008aa00120f736f7574687269646765766964656fc116c00c000c0001000008aa000e0b63616d70757367616d6573c54cc00c000c0001000008aa001613636f6e666f726d6974652d6c6963656e636573c04ac00c000c0001000008aa0015127465636e6f6c6f67696179656d7072657361c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c347c00c000c0001000008aa001a1777696e646f77736d6f62696c65636f6d6d6d756e697479c116c00c000c0001000008aa000e0b77696e67746970746f7973c116c00c000c0001000008aa000d0a6f666669636532303037c04ac00c000c0001000008aa0019166c7574746572636f6e7472656c657069726174616765c116c00c000c0001000008aa00100d72656e636f6e74726573333630c0bfc00c000c0001000008aa001512746865736572766572756e6c656173686564c116c00c000c0001000008aa00120f6d6963726f736f66746d6f62696c65cb07c00c000c0001000008aa00120f6d73646e746563686e6574746f7572c0bfc00c000c0001000008aa00100d77696e646f77736d6f62696c65d6e4c00c000c0001000008aa000f0c7061636b746f7574656e756ec116c00c000c0001000008aa00150c77696e646f7773766973746103636f6d02747200c00c000c0001000008aa00100d6d6f62696c65326d61726b6574c04ac00c000c0001000008aa00120f63656e747265646573757361676573c04ac00c000c0001000008aa00100b77696e646f77733230303002736b00c00c000c0001000008aa00100d77696e646f77736d6f62696c65c580c00c000c0001000008aa000b087465636865643036c04ac00c000c0001000008aa001815636f686f76696e6579617264616e6477696e657279c0bfc00c000c0001000008aa000f0c657264636f6d6d616e646572c04ac00c000c0001000008aa0015127465636e6f6c6f67696179656d7072657361c116c00c000c0001000008aa000f0c747265797265736561726368c0bfc00c000c0001000008aa00181170696374757265697470726f6475637473036d736ec04ac00c000c0001000008aa00100d776f6f6467726f766562616e6bc116c00c000c0001000008aa000805776d766864c04ac00c000c0001000008aa0013106f66667265732d6d6963726f736f6674c116c00c000c0001000008aa00120f63656e747265646573757361676573c116c00c000c0001000008aa00100977696e646f77736e74046e616d6500c00c000c0001000008aa000a0777696e646f7773c116c00c000c0001000008aa001310746f646f736c6f656e7469656e64656ec04ac00c000c0001000008aa00161372656c6576657a746f75736c65736465666973c158c00c000c0001000008aa00141164656679616c6c6368616c6c656e676573c347c00c000c0001000008aa000e0b6374726f70656e6f726d65c0bfc00c000c0001000008aa00100977696e646f77736e740367656ec678c00c000c0001000008aa000d0a636f686f77696e657279c0bfc00c000c0001000008aa00120f6c6f67697374696b6b73797374656dcc27c00c000c0001000008aa00110977696e646f7773787002707002617a00c00c000c0001000008aa000c0970726f736577617265c0bfc00c000c0001000008aa00110e6a65646572686174736472617566c04ac00c000c0001000008aa000d0a6c696e7465726e616c73c04ac00c000c0001000008aa0014116d6f62696c657063646576656c6f706572c116c00c000c0001000008aa00151277696e646f7773656d6265646465646b6974c04ac00c000c0001000008aa000f0c76697375616c73747564696fc116c00c000c0001000008aa000e0b77696e646f77736c6f676fc116c00c000c0001000008aa000d0a77696e7465726e616c73cb07c00c000c0001000008aa00252272656e636f6e747265732d636f6c6c6563746976697465732d6d6963726f736f6674c04ac00c000c0001000008aa000a0769742d6865726fd6e4c00c000c0001000008aa000a0777696e646f7773cc27c00c000c0001000008aa000d0a6c697477617265696e63c04ac00c000c0001000008aa000b086370616475766f6cc04ac00c000c0001000008aa00120f6d7977696e646f77736d6f62696c65cc9fc00c000c0001000008aa001c196d6963726f736f66746c6963656e736573746174656d656e74c04ac00c000c0001000008aa000a0772656d69783038c0bfc00c000c0001000008aa000d0a77696e7465726e616c73c201c00c000c0001000008aa001310746563686e65746368616c6c656e6765c04ac00c000c0001000008aa000a076e746673646f73c04ac00c000c0001000008aa001310746f646f736c6f656e7469656e64656ec0bfc00c000c0001000008aa00130e73707261766e6f75636573746f7502637a00c00c000c0001000008aa0019166c65732d646f696774732d64616e732d6c652d6e657ac116c00c000c0001000008aa00100d6d6963726f736f6674686f6d65c54cc00c000c0001000008aa000e0b7061636b746f7574656e31c04ac00c000c0001000008aa001916666f65726465726d697474656c2d7261746765626572c201c00c000c0001000008aa000d0a77696e7465726e616c73c580c00c000c0001000008aa00161372656c6576657a746f75736c65736465666973c54cc00c000c0001000008aa00100d6d6f62696c65326d61726b6574c32dc00c000c0001000008aa00252277696e646f7773647269766572646576656c6f706d656e74636f6e666572656e6365c0bfc00c000c0001000008aa00120977696e646f77736e74036f726702627a00c00c000c0001000008aa00100d72656e636f6e7472652d333630c04ac00c000c0001000008aa00110e6d6963726f736f667468656c7073c54cc00c000c0001000008aa00232077696e646f7773647269766572646576656c6f706572636f6e666572656e6365c04ac00c000c0001000008aa0019166772617068696364657369676e696e73746974757465c0bfc00c000c0001000008aa0019166d69677265727665727376697375616c73747564696fc04ac00c000c0001000008aa000f0c6d736f666669636532303037c1c4c00c000c0001000008aa00120f63656e747265646573757361676573c158c00c000c0001000008aa00252277696e646f7773647269766572646576656c6f706d656e74636f6e666572656e6365c116c00c000c0001000008aa00110c77696e646f7773766973746102626700c00c000c0001000008aa000c0977696e646f77733938f3fac00c000c0001000008aa00120f6d6963726f736f66746d6f62696c65edf7c00c000c0001000008aa00120f736f7574687269646765766964656fc0bfc00c000c0001000008aa0016136f666672652d65626c6f75697373616e746573c04ac00c000c0001000008aa000f0c746564736c656d6f6e616964c04ac00c000c0001000008aa000e0b6e69676874636173746572c04ac00c000c0001000008aa00110e6d6f62696c6574656368746f7572c0bfc00c000c0001000008aa00100977696e646f77736e74036e6574c0fcc00c000c0001000008aa00100d6f70656e74797065666f72756dc116c00c000c0001000008aa000c09776861636b65647476c04ac00c000c0001000008aa000f0c6d6963726f736f6674646f70c04ac00c000c0001000008aa000c0977696e646f77736e74c4edc00c000c0001000008aa00100d77696e646f77736d6f62696c65c1c4c00c000c0001000008aa000c0977696e646f77737870c436c00c000c0001000008aa001b1877696e646f7773647269766572646576656c6f706d656e74c116c00c000c0001000008aa000b086263656e7472616cc54cc00c000c0001000008aa00151277696465776f726c64696d706f7274657273c04ac00c000c0001000008aa000c097374756f73626f726ec0bfc00c000c0001000008aa000f0c7461696c7370696e746f7973c04ac00c000c0001000008aa0013106d616b656f7665726d796f6666696365c04ac00c000c0001000008aa000d0a6d7366746d6f62696c65c116c00c000c0001000008aa0015126c6573646f6967747364616e736c656e657ac04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c06ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c678c00c000c0001000008aa00161372656c6576657a746f75736c65736465666973c04ac00c000c0001000008aa00100d6d73646e6368616c6c656e6765c04ac00c000c0001000008aa0019166f6666696365706f75726c65736574756469616e7473c116c00c000c0001000008aa00120f736f7574687269646765766964656fc04ac00c000c0001000008aa00191672657461696c65786563757469766573656d696e6172c116c00c000c0001000008aa00110e6d6f62696c657365727669636573edf7c00c000c0001000008aa001307776562686f7374086e61766973696f6ec04ac00c000c0001000008aa00100d726573706f6e7365706f696e74f3a0c00c000c0001000008aa00120b7a65726f76697275736573036f7267dde3c00c000c0001000008aa00120f6d7977696e646f77736d6f62696c65c347c00c000c0001000008aa0016136f666672652d65626c6f75697373616e746573c116c00c000c0001000008aa00100d77696e646f77736d6f62696c65df83c00c000c0001000008aa0015126d6f62696c657063646576656c6f70657273c0bfc00c000c0001000008aa00100977696e646f77736e7403636f6df9cec00c000c0001000008aa000d0a77696e7465726e616c73c116c00c000c0001000008aa00100d747670686f746f766965776572c04ac00c000c0001000008aa00191677696e646f77736d6f62696c65636f6d6d756e697479c04ac00c000c0001000008aa00100b77696e646f77737275627902766e00c00c000c0001000008aa00100d6d6f62696c6564657669636573edf7c00c000c0001000008aa000f0c746563686564626f73746f6ec04ac00c000c0001000008aa00110e6d6f62696c6574656368746f7572c04ac00c000c0001000008aa00100d74617675746174726f6e636865c04ac00c000c0001000008aa00110e706179726f6c6c77656263617374c04ac00c000c0001000008aa00100d776577616e7474686562657374c04ac00c000c0001000008aa00151277696465776f726c64696d706f7274657273c0bfc00c000c0001000008aa001a1777696e646f77736d6f62696c65636f6d6d6d756e697479c04ac00c000c0001000008aa001c196d6963726f736f66746c6963656e736573746174656d656e74c54cc00c000c0001000008aa0015126d6963726f736f6674697461636164656d79c04ac00c000c0001000008aa00100d72656e636f6e7472652d333630c0bfc00c000c0001000008aa000c0977696e646f77737870c30ec00c000c0001000008aa000c0977696e646f77736e74c7a8c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74cb26c00c000c0001000008aa000e0b77696e67746970746f7973c04ac00c000c0001000008aa001613737570706f727477696e646f77737669737461c158c00c000c0001000008aa0013106e6f72746877696e6474726164657273c0bfc00c000c0001000008aa00232077696e646f7773647269766572646576656c6f706572636f6e666572656e6365c0bfc00c000c0001000008aa000e0b76796b6b6572736c616273c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c18bc00c000c0001000008aa000f0c747265797265736561726368c116c00c000c0001000008aa000c09746563686564766970c04ac00c000c0001000008aa00191677696e646f77736d6f62696c65636f6d6d756e697479c116c00c000c0001000008aa000e0b74696d6534746563686564c04ac00c000c0001000008aa000f0c72656e636f6e747265333630c0bfc00c000c0001000008aa0014116d6963726f736f6674736d616c6c62697ac04ac00c000c0001000008aa00191677696e646f7773647269766572646576656c6f706572c116c00c000c0001000008aa0014116d616e616765636f6c6c656374696f6e73c04ac00c000c0001000008aa000b086263656e7472616cc531c00c000c0001000008aa00100d706f776572746f676574686572c04ac00c000c0001000008aa00191677696e646f7773647269766572646576656c6f706572c04ac00c000c0001000008aa000a077265736b697473c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c201c00c000c0001000008aa00161377696e7465726e616c737265736f7572636573c04ac00c000c0001000008aa000c0977696e646f77736e74f3fac00c000c0001000008aa00100977696e646f77736e74036f7267cc81c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74e8acc00c000c0001000008aa00230e64657369676e6564666f726269670264650e64657369676e6564666f72626967c201c00c000c0001000008aa00141164656679616c6c6368616c6c656e676573c7cbc00c000c0001000008aa000e0977696e646f7773787002676d00c00c000c0001000008aa00151277696e7465726e616c73736f667477617265c04ac00c000c0001000008aa00151277696465776f726c64696d706f7274657273c116c00c000c0001000008aa000e0b77696e646f777372756279ec43c00c000c0001000008aa000a0772656d69783038c116c00c000c0001000008aa000f0c6d61696e66756e6374696f6ec04ac00c000c0001000008aa000d0a7374756f73626f726e65c04ac00c000c0001000008aa000f0c6f666669636573797374656ddde0c00c000c0001000008aa001e1b6d6963726f736f66742d627573696e6573732d7365637572697479c085c00c000c0001000008aa000e0b77696e646f777372756279c201c00c000c0001000008aa000b0872656d69782d3038c116c00c000c0001000008aa00120f7265616c6d656e74656772616e6465c04ac00c000c0001000008aa0008056d73657070c04ac00c000c0001000008aa00100d77696e646f77736d6f62696c65df7fc00c000c0001000008aa00110e72656e636f6e747265732d333630c116c00c000c0001000008aa00100977696e646f77736e74036e6574f656c00c000c0001000008aa00100d7374756f73626f726e73686f77c04ac00c000c0001000008aa0018156d6963726f736f66746269636f6e666572656e6365c04ac00c000c0001000008aa000b0877696e646f777870d804c00c000c0001000008aa000e0b696e6e6f766174652d756bc116c00c000c0001000008aa00141164656679616c6c6368616c6c656e676573d696c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c116c00c000c0001000008aa00100977696e646f77736e74036e6574f9cec00c000c0001000008aa00160f65756772616e747361647669736f7203636f6dda48c00c000c0001000008aa00120f696d6167696e65726c617375697465c116c00c000c0001000008aa00120f736572766572756e6c656173686564c116c00c000c0001000008aa00110e64657369676e6564666f72626967cc27c00c000c0001000008aa000e0b667278736f667477617265c04ac00c000c0001000008aa000f0c6d6f6e2d7061636b2d70726fc0bfc00c000c0001000008aa000d0a73686172656476696577c04ac00c000c0001000008aa00110977696e646f77736e7402636f02637200c00c000c0001000008aa000e0b77696e646f777372756279c085c00c000c0001000008aa00140c77696e646f7773766973746102636f02696400c00c000c0001000008aa00141164656679616c6c6368616c6c656e676573c2f0c00c000c0001000008aa00110e676174656b656570657274657374c2f0c00c000c0001000008aa000e0b77696e646f777372756279c18bc00c000c0001000008aa000e0b66616d696c797761766573c54cc00c000c0001000008aa00120f6f6e6c696e6573706f746c69676874c116c00c000c0001000008aa00120f65756772616e747361647669736f72f8a8c00c000c0001000008aa000b06666c6578676f026d7000c00c000c0001000008aa001613696d706f737369626c65637265617475726573c54cc00c000c0001000008aa00170f65756772616e747361647669736f7202636f02687500c00c000c0001000008aa000c0977696e646f77736e74c7e9c00c000c0001000008aa000906666c6578676fec43c00c000c0001000008aa00120f65756772616e747361647669736f72da48c00c000c0001000008aa000e0b77696e646f777372756279c951c00c000c0001000008aa00120f6d7977696e646f77736d6f62696c65c54cc00c000c0001000008aa00110e64657369676e6564666f72626967ec43c00c000c0001000008aa0015126f666672652d65626c6f75697373616e7465c0bfc00c000c0001000008aa00100977696e646f77737870036f7267c436c00c000c0001000008aa000b0872656d69782d3038c0bfc00c000c0001000008aa000e0977696e646f77737870026e6600c00c000c0001000008aa00191672657461696c65786563757469766573656d696e6172c04ac00c000c0001000008aa000b086d6163746f706961c116c00c000c0001000008aa00100d6d6f62696c6564657669636573cb07c00c000c0001000008aa000a0773776175646974f3fac00c000c0001000008aa00110e726973656f667065726174686961c0bfc00c000c0001000008aa00252272656e636f6e747265732d636f6c6c6563746976697465732d6d6963726f736f6674c116c00c000c0001000008aa00141177696e646f777373657276657232303038c0fcc00c000c0001000008aa000c096d73706172746e6572c04ac00c000c0001000008aa00110e6f66667265732d656e6f726d6573c04ac00c000c0001000008aa00100d74617675746174726f6e636865c0bfc00c000c0001000008aa00100d6d61726769657374726176656cc04ac00c000c0001000008aa00120f65756772616e747361647669736f72e429c00c000c0001000008aa00161372656c6576657a746f75736c65736465666973c0bfc00c000c0001000008aa000d0a74656368656474696d65c04ac00c000c0001000008aa0019166d6963726f736f667464656d616e64706c616e6e6572c04ac00c000c0001000008aa000e0b77696e646f77736c6f676fc04ac00c000c0001000008aa001a176d6963726f736f6674627573696e657373617761726473c04ac00c000c0001000008aa00130b77696e646f77737275627902636f027a6100c00c000c0001000008aa00110c77696e646f77737669737461026e7500c00c000c0001000008aa00171477696e646f7773787067616d6561647669736f72c04ac00c000c0001000008aa00100d747670686f746f766965776572c59cc00c000c0001000008aa00110e64657369676e6564666f72626967c32dc00c000c0001000008aa000f0c77696e7465726e616c736573c04ac00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c84bc00c000c0001000008aa000f0c6e666c666576657232303032c04ac00c000c0001000008aa00100d726573706f6e7365706f696e74c65fc00c000c0001000008aa00140f65756772616e747361647669736f7202656500c00c000c0001000008aa000b086e636f6d70617373c54cc00c000c0001000008aa001512746865736572766572756e6c656173686564c04ac00c000c0001000008aa000b06666c6578676f02687400c00c000c0001000008aa00161372656c6576657a746f75736c65736465666973c116c00c000c0001000008aa00110e72657475726e746f746563686564c04ac00c000c0001000008aa00100977696e646f77736e7403636f6dc7edc00c000c0001000008aa000e0b77696e646f777372756279da48c00c000c0001000008aa000e0b77696e646f777372756279c82bc00c000c0001000008aa00130b77696e646f77737275627902636f02687500c00c000c0001000008aa000d0a65737469656d706f6465c0bfc00c000c0001000008aa00110e676174656b656570657274657374c085c00c000c0001000008aa00131074686570686f6e652d636f6d70616e79c0bfc00c000c0001000008aa00120f6865726f7368617070656e68657265dde0c00c000c0001000008aa00100b77696e646f77737275627902616500c00c000c0001000008aa00100977696e646f7773787003636f6dc456c00c000c0001000008aa00161372656c65766572746f75736c65736465666973c0bfc00c000c0001000008aa000f0c75732d6d6963726f736f6674c04ac00c000c0001000008aa0017147669737461666f72796f7572627573696e657373c04ac00c000c0001000008aa000f0c746563686d616b656f766572dde0c00c000c0001000008aa00100977696e646f777378700362697ac0fcc00c000c0001000008aa001b03777777146d6963726f736f6674737570706c79636861696ec04ac00c000c0001000008aa00120977696e646f777378700377656202746a00c00c000c0001000008aa000b0877696e646f777870cc61c00c000c0001000008aa00120f65756772616e747361647669736f72cc27c00c000c0001000008aa000906666c6578676fd6e4c00c000c0001000008aa00110e667574757265706f73746d61696cc116c00c000c0001000008aa000c097374756f73626f726ec116c00c000c0001000008aa0014116d6963726f736f667464796e616d696373c158c00c000c0001000008aa00110e72656e636f6e747265732d333630c0bfc00c000c0001000008aa00100d726973656f666e6174696f6e73c54cc00c000c0001000008aa0009067265736b6974c04ac00c000c0001000008aa00160e64657369676e6564666f7262696702636f027a6100c00c000c0001000008aa000a07737570706f7274e66dc00c000c0001000008aa000f0877696e646f777870036f7267c436c00c000c0001000008aa001a176d6963726f736f6674627573696e657373617761726473c116c00c000c0001000008aa00131074686570686f6e652d636f6d70616e79c116c00c000c0001000008aa0009066d7377776870c04ac00c000c0001000008aa000e0b77696e646f777372756279e429c00c000c0001000008aa00110e64657369676e6564666f72626967c085c00c000c0001000008aa000a0774656d70757269c0bfc00c000c0001000008aa00110e64657369676e6564666f72626967c347c00c000c0001000008aa000e0977696e646f77736e7402636600c00c000c0001000008aa001310746f646f736c6f656e7469656e64656ec531c00c000c0001000008aa000b06666c6578676f02706b00c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74cf52c00c000c0001000008aa000e0b77696e646f777372756279c96bc00c000c0001000008aa00151277656273746f72616765706172746e657273c04ac00c000c0001000008aa00120f65756772616e747361647669736f72c347c00c000c0001000008aa000d0a77696e7465726e616c73edf7c00c000c0001000008aa00120977696e646f7773787003636f6d02746a00c00c000c0001000008aa001411726576656e7565616e64657870656e7365c04ac00c000c0001000008aa00110e64657369676e6564666f72626967c21dc00c000c0001000008aa001411636f6e636572746d6f62696c656c697665c54cc00c000c0001000008aa00100d72656e636f6e74726573333630c116c00c000c0001000008aa00110e766973696f696e666f776f636865c201c00c000c0001000008aa000e0977696e646f77737870026d6400c00c000c0001000008aa00140f65756772616e747361647669736f7202736900c00c000c0001000008aa000e0b77696e646f777372756279d3f7c00c000c0001000008aa000f0c77696e696e7465726e616c73c04ac00c000c0001000008aa00100d68617a6d6173766976656d6173c04ac00c000c0001000008aa000b086263656e7472616cc201c00c000c0001000008aa001512746865736572766572756e6c656173686564c0bfc00c000c0001000008aa0013106865726f657368617070656e68657265dde0c00c000c0001000008aa000a0772656d69783038c04ac00c000c0001000008aa001310746f646f736c6f656e7469656e64656ec116c00c000c0001000008aa00100977696e646f77736e74036f7267f656c00c000c0001000008aa0019166d69677265727665727376697375616c73747564696fc116c00c000c0001000008aa0015126d6963726f736f6674666f726566726f6e74c498c00c000c0001000008aa000c0977696e646f77737870cf52c00c000c0001000008aa000e0b696e6e6f766174652d756bc0bfc00c000c0001000008aa00100977696e646f7773787003636f6dc381c00c000c0001000008aa000c09766973696f32303033c201c00c000c0001000008aa000d0a796f7572746563686564c04ac00c000c0001000008aa00120b77696e646f77737275627903636f6dc951c00c000c0001000008aa00120977696e646f77736e7403636f6d026a6d00c00c000c0001000008aa00110e64657369676e6564666f72626967cb07c00c000c0001000008aa000e0b6d756e63686f6e74686973c116c00c000c0001000008aa00120f65756772616e747361647669736f72c531c00c000c0001000008aa00110e64657369676e6564666f72626967cb26c00c000c0001000008aa000d0a6d7366746d6f62696c65c0bfc00c000c0001000008aa000f0c746563686461797332303038c116c00c000c0001000008aa000906666c6578676fdb0ec00c000c0001000008aa00110e667574757265706f73746d61696cc04ac00c000c0001000008aa00171464657361666961746f646f736c6f737265746f73c04ac00c000c0001000008aa00120f65756772616e747361647669736f72c201c00c000c0001000008aa00100977696e646f7773787003636f6df656c00c000c0001000008aa001815636f686f76696e6579617264616e6477696e657279c116c00c000c0001000008aa00120b77696e646f77737275627903636f6dc39fc00c000c0001000008aa000d0877696e646f77787002686d00c00c000c0001000008aa00100d676f746f7779646f7072616379c0fcc00c000c0001000008aa000d0a6f666669636532303037c201c00c000c0001000008aa00110e64657369676e6564666f72626967c54cc00c000c0001000008aa000e0b77696e646f777372756279f8a8c00c000c0001000008aa000c09726166616574617469d702c00c000c0001000008aa00180f65756772616e747361647669736f7203636f6d02637900c00c000c0001000008aa00120f6d736163726f7373616d6572696361c04ac00c000c0001000008aa001613736d61727470686f6e65636f6d6d756e697479c0bfc00c000c0001000008aa000e0977696e646f7773787002727700c00c000c0001000008aa00120977696e646f777378700362697a02706b00c00c000c0001000008aa00110e64657369676e6564666f72626967c0bfc00c000c0001000008aa000d0a6672787265706f727473c04ac00c000c0001000008aa00110e72656e636f6e747265732d333630c04ac00c000c0001000008aa001411636f6e73756c746f72696f6f6666696365c531c00c000c0001000008aa000d06666c6578676f03636f6dffdec00c000c0001000008aa000e0b77696e646f777372756279dde0c00c000c0001000008aa00110c77696e646f7773766973746102697300c00c000c0001000008aa00141164656679616c6c6368616c6c656e676573c580c00c000c0001000008aa00100d7374756f73626f726e73686f77c116c00c000c0001000008aa00100d726573706f6e7365706f696e74c0fcc00c000c0001000008aa000e0b696e6e6f766174652d756bc04ac00c000c0001000008aa00120f65756772616e747361647669736f72c580c00c000c0001000008aa000d0a7369646577696e646572edf7c00c000c0001000008aa00120f6d6963726f73667473757266616365c04ac00c000c0001000008aa000e0b77696e646f777372756279c476c00c000c0001000008aa000e0977696e646f7773787002627300c00c000c0001000008aa00120f65756772616e747361647669736f72cb07c00c000c0001000008aa00110e64657369676e6564666f72626967d3f7c00c000c0001000008aa000d0877696e646f77787002746f00c00c000c0001000008aa00120f65756772616e747361647669736f72f3fac00c000c0001000008aa00120f65756772616e747361647669736f72d696c00c000c0001000008aa00110e7374756f73626f726e6573686f77c04ac00c000c0001000008aa00120f65756772616e747361647669736f72c2f0c00c000c0001000008aa000906747279696973c04ac00c000c0001000008aa00110e7374756f73626f726e6573686f77c116c00c000c0001000008aa00151273636174656e61696c74756f736572766572c1c4c00c000c0001000008aa00100d76697375616c2d73747564696fc04ac00c000c0001000008aa0016137072657373746865677265656e627574746f6ec116c00c000c0001000008aa000e0b77696e646f777372756279c2f0c00c000c0001000008aa000c0977696e646f77737870d35ac00c000c0001000008aa000b06666c6578676f02617300c00c000c0001000008aa000b086263656e7472616cc1c4c00c000c0001000008aa0015126e6261696e73696465647269766532303033c04ac00c000c0001000008aa00120977696e646f777378700362697a02746a00c00c000c0001000008aa00100977696e646f7773787003636f6dc2b5c00c000c0001000008aa00120f736572766572756e6c656173686564c04ac00c000c0001000008aa000c0977696e646f77737870c9c9c00c000c0001000008aa00221f6d6f6465726e657276657277616c74756e677361726265697473706c61747ac201c00c000c0001000008aa00090661747461696ecc27c00c000c0001000008aa00120977696e646f7773787003636f6d02627300c00c000c0001000008aa000906666c6578676fffdec00c000c0001000008aa000f0c77696e646f77737669737461f9cec00c000c0001000008aa00120f65756772616e747361647669736f72f3a0c00c000c0001000008aa000e0b77696e646f777332303030c04ac00c000c0001000008aa00120f65756772616e747361647669736f72c085c00c000c0001000008aa00110977696e646f7773787002636f02696d00c00c000c0001000008aa000c0977696e646f77737870fbe9c00c000c0001000008aa000e0977696e646f7773787002696f00c00c000c0001000008aa000906666c6578676fc96bc00c000c0001000008aa000d0a6f666669636532303037c158c00c000c0001000008aa001411636f6e73756c746f72696f6f6666696365c116c00c000c0001000008aa00120d726573706f6e7365706f696e7402616500c00c000c0001000008aa000e0b77696e646f777372756279c678c00c000c0001000008aa000e0b77696e646f777372756279c7cbc00c000c0001000008aa001512746f646f732d6c6f2d656e7469656e64656ec531c00c000c0001000008aa000e0b77696e646f777372756279c158c00c000c0001000008aa00110c77696e646f77737669737461026c6100c00c000c0001000008aa00100977696e646f77737870036f7267c456c00c000c0001000008aa00110e726973656f667065726174686961c116c00c000c0001000008aa001a176d6963726f736f6674627573696e657373617761726473c0bfc00c000c0001000008aa000f0977696e646f7773787002636fce71c00c000c0001000008aa000906666c6578676fd702c00c000c0001000008aa000e0b7265616c69747966616d65c54cc00c000c0001000008aa00120f65756772616e747361647669736f72c158c00c000c0001000008aa00120977696e646f77737870036f7267026a6500c00c000c0001000008aa000906617a7572696bc04ac00c000c0001000008aa00120f73657276657273636174656e61746fc1c4c00c000c0001000008aa000e0b6e61766973696f6e78616ccc27c00c000c0001000008aa000f0c74687265652d646567726565c04ac00c000c0001000008aa000e0977696e646f7773787002616300c00c000c0001000008aa00100977696e646f77737870036e6574c456c00c000c0001000008aa000f0977696e646f7773787002636fc3dac00c000c0001000008aa00100977696e646f77737870036f7267c7edc00c000c0001000008aa000c0977696e646f77737870c04ac00c000c0001000008aa00120d726573706f6e7365706f696e7402687500c00c000c0001000008aa000f0c646972656374616363657373c0bfc00c000c0001000008aa00100d726573706f6e7365706f696e74c32dc00c000c0001000008aa00100977696e646f77737870036e6574c3dac00c000c0001000008aa00100d6d6963726f736f667473706c61c04ac00c000c0001000008aa00100d76657374706f636b657463666fc116c00c000c0001000008aa00120f65756772616e747361647669736f72d3f7c00c000c0001000008aa00100977696e646f7773787003696e74f656c00c000c0001000008aa000d0a6f666669636532303037dde0c00c000c0001000008aa00100d7374756f73626f726e73686f77c0bfc00c000c0001000008aa00100977696e646f7773787003636f6dcfd5c00c000c0001000008aa00110e7374756f73626f726e6573686f77c0bfc00c000c0001000008aa00110e64657369676e6564666f72626967c498c00c000c0001000008aa00150d726573706f6e7365706f696e7402636f027a6100c00c000c0001000008aa000c0977696e646f77737870d183c00c000c0001000008aa0014116d6963726f736f66746d6f6d656e74756dc04ac00c000c0001000008aa00120d726573706f6e7365706f696e7402777300c00c000c0001000008aa000c0977696e646f77737870ff66c00c000c0001000008aa000e0977696e646f7773787002617300c00c000c0001000008aa001b1877696e646f7773647269766572646576656c6f706d656e74c0bfc00c000c0001000008aa00110977696e646f7773787002636f02636b00c00c000c0001000008aa00120f686f6d652d7075626c697368696e67c04ac00c000c0001000008aa001a176d6963726f736f6674627573696e657373617761726473c531c00c000c0001000008aa00110e64657369676e6564666f72626967c2f0c00c000c0001000008aa00100977696e646f77736e7403696e74f656c00c000c0001000008aa000e0b77696e646f777372756279d6e4c00c000c0001000008aa000d0877696e646f777870026e6600c00c000c0001000008aa00100977696e646f77737870036f6666c7acc00c000c0001000008aa000f0c6d6f6e2d7061636b2d70726fc116c00c000c0001000008aa00100d747670686f746f766965776572c116c00c000c0001000008aa000e0b77696e646f777372756279c65fc00c000c0001000008aa00100d74617675746174726f6e636865c116c00c000c0001000008aa00110977696e646f77737870046669726dc381c00c000c0001000008aa000d0a64616e69736372617a79c04ac00c000c0001000008aa00171477696e646f7773787067616d6561647669736f72c116c00c000c0001000008aa000b086263656e7472616cc7cbc00c000c0001000008aa001a176265737365727769737365722d77657474626577657262c201c00c000c0001000008aa000e0b77696e646f777332303030c116c00c000c0001000008aa0011096d6963726f736f667402636f026d7a00c00c000c0001000008aa000906666c6578676fc580c00c000c0001000008aa000e06666c6578676f02636f02637200c00c000c0001000008aa00120f65756772616e747361647669736f72c0fcc00c000c0001000008aa00120f65756772616e747361647669736f72c30ec00c000c0001000008aa000f0c72656e636f6e747265333630c116c00c000c0001000008aa000b0877696e646f777870dfbfc00c000c0001000008aa00110e676174656b656570657274657374c0fcc00c000c0001000008aa000c0977696e646f77737870f656c00c000c0001000008aa000e0877696e646f77787002636fce71c00c000c0001000008aa00100977696e646f77737870036f7267f656c00c000c0001000008aa00120977696e646f77737870036e657402706b00c00c000c0001000008aa000c09666f726566726f6e74e8acc00c000c0001000008aa00120977696e646f7773787003636f6d02656300c00c000c0001000008aa001714617a7572696b726973656f667065726174686961c04ac00c000c0001000008aa0019166d616e616765796f757270656f706c65617373657473c04ac00c000c0001000008aa000f0877696e646f777870036e6574dfbfc00c000c0001000008aa001512626c7565796f6e6465726169726c696e6573c116c00c000c0001000008aa000b086263656e7472616cc84bc00c000c0001000008aa000e0977696e646f77737870026c6b00c00c000c0001000008aa000e0b77696e646f777372756279d702c00c000c0001000008aa000906666c6578676fd696c00c000c0001000008aa00131077696e646f77737669737461626c6f67c158c00c000c0001000008aa000d0a65737469656d706f6465c04ac00c000c0001000008aa00100d726573706f6e7365706f696e74c201c00c000c0001000008aa00120f65756772616e747361647669736f72c84bc00c000c0001000008aa00141164656679616c6c6368616c6c656e676573e8acc00c000c0001000008aa00100d726573706f6e7365706f696e74ee38c00c000c0001000008aa000d0a65737469656d706f6465c116c00c000c0001000008aa00120977696e646f7773787003636f6d026e6600c00c000c0001000008aa00120977696e646f7773787003636f6d02756100c00c000c0001000008aa000f0977696e646f7773787002636fc7edc00c000c0001000008aa00100d737465776f73626f7273686f77c116c00c000c0001000008aa00120b77696e646f77737275627903636f6dc158c00c000c0001000008aa001714617a7572696b726973656f667065726174686961c116c00c000c0001000008aa00100977696e646f77737870036e6574dfbfc00c000c0001000008aa00100d737465776f73626f7273686f77c0bfc00c000c0001000008aa000c0977696e646f77737870f9cac00c000c0001000008aa00120977696e646f77737870036f726702706500c00c000c0001000008aa000c06666c6578676f02636fc7edc00c000c0001000008aa00100977696e646f77737870036f7267cc81c00c000c0001000008aa0013106865726f657368617070656e68657265c0fcc00c000c0001000008aa00100977696e646f77737870036e6574f9cec00c000c0001000008aa00100977696e646f7773787003636f6ddfbfc00c000c0001000008aa001411756b636f6d6d756e697479617761726473c04ac00c000c0001000008aa00252272656e636f6e747265732d636f6c6c6563746976697465732d6d6963726f736f6674c0bfc00c000c0001000008aa00100977696e646f77737870036e6574f656c00c000c0001000008aa00100977696e646f7773787003636f6dcdc4c00c000c0001000008aa00100d726573706f6e7365706f696e74c456c00c000c0001000008aa000d0a7374756f73626f726e65c0bfc00c000c0001000008aa000906666c6578676fcb26c00c000c0001000008aa00120d726573706f6e7365706f696e7402656300c00c000c0001000008aa000c09626570636c6567616cc0bfc00c000c0001000008aa000a0777696e32303030c84bc00c000c0001000008aa0014117365727665757273616e736c696d697465c0bfc00c000c0001000008aa000e037777770764657664617973dde0c00c000c0001000008aa000e0977696e646f77737870026c6900c00c000c0001000008aa000d0a6f666669636532303037c7cbc00c000c0001000008aa00100d726573706f6e7365706f696e74f8a8c00c000c0001000008aa00100977696e646f77737870036f7267cfd5c00c000c0001000008aa00160f65756772616e747361647669736f7203636f6dc381c00c000c0001000008aa00160d726573706f6e7365706f696e7403636f6d02706100c00c000c0001000008aa000e0977696e646f7773787002686d00c00c000c0001000008aa000e0977696e646f77737870026c6100c00c000c0001000008aa00120f65756772616e747361647669736f72ec43c00c000c0001000008aa000e0b77696e646f777372756279c0fcc00c000c0001000008aa000c097374756f73626f726ec04ac00c000c0001000008aa000e0977696e646f7773787002737400c00c000c0001000008aa00120f65756772616e747361647669736f72cb26c00c000c0001000008aa000b08676f6d656e74616cc54cc00c000c0001000008aa00100977696e646f77737870036e6574c23bc00c000c0001000008aa000b0877696e646f777870d720c00c000c0001000008aa00100d726573706f6e7365706f696e74edf7c00c000c0001000008aa00120977696e646f7773787003636f6d026a6d00c00c000c0001000008aa000f06666c6578676f03636f6d02756100c00c000c0001000008aa000b0877696e646f777870c8d8c00c000c0001000008aa0014116361702d7375722d6c652d737563636573c04ac00c000c0001000008aa000906666c6578676fc59cc00c000c0001000008aa000906617a7572696be429c00c000c0001000008aa000906666c6578676fc116c00c000c0001000008aa000f0c6d6f6e6e6f7576656c616d69c0bfc00c000c0001000008aa00120d726573706f6e7365706f696e7402627300c00c000c0001000008aa00160d726573706f6e7365706f696e7403636f6d02756100c00c000c0001000008aa00100977696e646f77737870036f7267c381c00c000c0001000008aa0014116361702d7375722d6c652d737563636573c116c00c000c0001000008aa00120b77696e646f77737275627903636f6dffdec00c000c0001000008aa00100d726573706f6e7365706f696e74c96bc00c000c0001000008aa00100977696e646f7773787003636f6dc7edc00c000c0001000008aa00110e64657369676e6564666f72626967cc9fc00c000c0001000008aa00110b77696e646f77737275627902636fc70ec00c000c0001000008aa000906666c6578676fdf83c00c000c0001000008aa00120977696e646f7773787003636f6d026e6900c00c000c0001000008aa000c096575726f706c616e6fda48c00c000c0001000008aa000f0977696e646f7773787002636fcfd5c00c000c0001000008aa000f06666c6578676f03636f6d02706b00c00c000c0001000008aa00120d726573706f6e7365706f696e7402656500c00c000c0001000008aa00120d726573706f6e7365706f696e74026d6100c00c000c0001000008aa000c0977696e646f77737870f9cec00c000c0001000008aa000e0b77696e646f777372756279eb60c00c000c0001000008aa00160f65756772616e747361647669736f7203636f6dc158c00c000c0001000008aa000c0977696e646f77737870dfbfc00c000c0001000008aa000c0977696e646f77737870c456c00c000c0001000008aa00100d726573706f6e7365706f696e74d678c00c000c0001000008aa000c0977696e646f77737870f3fac00c000c0001000008aa00100d726573706f6e7365706f696e74c06ac00c000c0001000008aa000e0b6270677765626361737433c04ac00c000c0001000008aa00100d726573706f6e7365706f696e74c2f0c00c000c0001000008aa000f0c66616d696c792d7761766573c54cc00c000c0001000008aa00120977696e646f77737870036e6574026a6500c00c000c0001000008aa00100b77696e646f77737275627902687500c00c000c0001000008aa000b06616d616c676102707300c00c000c0001000008aa00120977696e646f77737870036e657402706500c00c000c0001000008aa000f0c626c696e7874686567616d65c04ac00c000c0001000008aa00120977696e646f77737870036f726702687500c00c000c0001000008aa000d0a6f666669636532303037c84bc00c000c0001000008aa000f06616d616c676103636f6d02707300c00c000c0001000008aa000e0977696e646f7773787002736800c00c000c0001000008aa00120f77696e646f77737369646573686f77c04ac00c000c0001000008aa000b0877696e646f777870ce71c00c000c0001000008aa00070462657461f6f5c00c000c0001000008aa000e0b656169736f6c7574696f6ec085c00c000c0001000008aa0013106f66667265732d6d6963726f736f6674c04ac00c000c0001000008aa00100d726573706f6e7365706f696e74df7fc00c000c0001000008aa000d0a6f666669636532303037d3f7c00c000c0001000008aa00140d726573706f6e7365706f696e7403636f6dffdec00c000c0001000008aa00100d77696e646f77736e7432303030c116c00c000c0001000008aa00110e72657461696c7765626361737473c04ac00c000c0001000008aa000906666c6578676ff8a8c00c000c0001000008aa00120f65756772616e747361647669736f72c381c00c000c0001000008aa000c09666f726566726f6e74c0fcc00c000c0001000008aa00100977696e646f77737870036e6574cfd5c00c000c0001000008aa00120977696e646f777378700573746f7265c381c00c000c0001000008aa00110977696e646f77737870026d7902746a00c00c000c0001000008aa00120f65756772616e747361647669736f72c82fc00c000c0001000008aa00140d726573706f6e7365706f696e7403636f6dc456c00c000c0001000008aa00120977696e646f77737870036f726702706b00c00c000c0001000008aa00100977696e646f7773787003636f6dc09fc00c000c0001000008aa000d06666c6578676f03636f6dc158c00c000c0001000008aa00131069697377656263617374736572696573c116c00c000c0001000008aa000d0a756c74696d6174657063c04ac00c000c0001000008aa000e0b77696e646f777372756279e970c00c000c0001000008aa000b06616d616c676102707200c00c000c0001000008aa000e0977696e646f7773787002737200c00c000c0001000008aa00110e64657369676e6564666f72626967eb60c00c000c0001000008aa000b0866616272696b616dc04ac00c000c0001000008aa000c0977696e646f77737870f600c00c000c0001000008aa00110977696e646f7773787002636f02747400c00c000c0001000008aa000b0877696e646f777870dfbbc00c000c0001000008aa00110e667574757265706f73746d61696cc0bfc00c000c0001000008aa000d0a6f666669636532303037c580c00c000c0001000008aa00100d726573706f6e7365706f696e74dde0c00c000c0001000008aa000e0977696e646f7773787002676c00c00c000c0001000008aa00100d726573706f6e7365706f696e74d702c00c000c0001000008aa000906617a7572696bc580c00c000c0001000008aa0017146761676e657a2d656e2d65666669636163697465c04ac00c000c0001000008aa00120f686f6c6964617968656c70626f6f6bc04ac00c000c0001000008aa00100d726573706f6e7365706f696e74df83c00c000c0001000008aa00100d6469736b636f6d6d616e646572c04ac00c000c0001000008aa00100d72656164797365747368617265c54cc00c000c0001000008aa000b0877696e646f777870c237c00c000c0001000008aa00100d66696e656172747363686f6f6cc0bfc00c000c0001000008aa0014117461626c65747063646576656c6f706572c04a0000290200000080000000', - true) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_question.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_question.rb deleted file mode 100644 index f3c773b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_question.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestQuestion < Minitest::Test - - include Dnsruby - - def test_question - domain = "example.com" - type = Types.MX - klass = Classes.IN - - q = Question.new(domain, type, klass) - assert(q, "new() returned something") - assert_equal(domain, q.qname.to_s, "qName()") - assert_equal(type, q.qtype, "qType()") - assert_equal(klass, q.qclass, "qClass()") - - # - # Check the aliases - # - assert_equal(q.zname.to_s, domain, 'zName()' ); - assert_equal(q.ztype, type, 'zType()' ); - assert_equal(q.zclass, klass, 'zClass()' ); - - # - # Check that we can change stuff - # - q.qname=('example.net'); - q.qtype=('A'); - q.qclass=('CH'); - - assert_equal('example.net', q.qname.to_s, 'qName()' ); - assert_equal(q.qtype, Types.A, 'qType()' ); - assert_equal(q.qclass, Classes.CH, 'qClass()' ); - - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_queue.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_queue.rb deleted file mode 100644 index 208a752..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_queue.rb +++ /dev/null @@ -1,34 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestQueue < Minitest::Test - def test_queue - q = Queue.new - r = Dnsruby::Resolver.new -# Dnsruby::TheLog.level=Logger::DEBUG - timeout = 15 - num_queries = 100 - r.query_timeout = timeout - num_queries.times do |i| - r.send_async(Dnsruby::Message.new("example.com"), q, i) -# print "Sent #{i}\n" - end - sleep(timeout * 2) - assert(q.size == num_queries, "#{num_queries} expected, but got #{q.size}") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_recur.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_recur.rb deleted file mode 100644 index 5bc889d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_recur.rb +++ /dev/null @@ -1,31 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestRecur < Minitest::Test - def test_recur - Dnsruby::PacketSender.clear_caches - r = Dnsruby::Recursor.new -# Dnsruby::TheLog.level = Logger::DEBUG - ret = r.query("uk", Dnsruby::Types.DNSKEY) -# print ret - assert ret, "Query result was nil." - assert ret.answer.length > 0, "Answer length should > 0, but was #{ret.answer.length}." -# ret = r.query_dorecursion("aaa.bigzone.uk-dnssec.nic.uk", Dnsruby::Types.DNSKEY) -# ret = r.query_dorecursion("uk-dnssec.nic.uk", Dnsruby::Types.DNSKEY) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_config.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_config.rb deleted file mode 100644 index d3d20e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_config.rb +++ /dev/null @@ -1,95 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestResolverConfig < Minitest::Test - - GoodInput = { - "port" => 54, - "src_address" => '10.1.0.1', - "src_address6" => 'fc00::1:2:3', - "src_port" => 56453, - "use_tcp" => true, - # "stayopen" => 1, - "ignore_truncation" => true, - "recurse" => false, - "packet_timeout" => 5, - # "dnssec" => 1, - # "force_v4" => 1, - }; - - ExtendedInput={ - "query_timeout" => 30, - "retry_delay" => 6, - "retry_times" => 5, - } - - LookupInput={ - "domain" => 'dnsruby.rubyforge.org', - "apply_search_list" => false, - "ndots" => 4 , - "apply_domain" => false - } - - def setup - Dnsruby::Config.reset - end - - def test_multiple_resolver - res = Dnsruby::Resolver.new({:nameserver => ["127.0.0.1", "::1"]}); - assert(res, "new returned something"); - assert_instance_of(Dnsruby::Resolver, res, "new() returns an object of the correct class."); - - # assert(res.config.nameserver, 'nameserver() works'); - - searchlist = ["t.dnsruby.validation-test-servers.nominet.org.uk", "t2.dnsruby.validation-test-servers.nominet.org.uk"]; - assert_equal(res.config.search=searchlist, searchlist, 'setting searchlist returns correctly.'); - assert_equal(res.config.search, searchlist, 'setting searchlist stickts.'); - - - # ~ #diag "\n\nIf you do not have Net::DNS::SEC installed you will see a warning.\n"; - # ~ #diag "It is safe to ignore this\n"; - - (GoodInput.merge(ExtendedInput)).each do | param, value | - # puts("Setting " + param); - res.send(param+"=", value) - assert_equal(res.send(param), value, "setting #param sticks"); - end; - - end - - def test_single_resolver - [Dnsruby::SingleResolver.new()].each {|res| - # [Dnsruby::SingleResolver.new({:nameserver => ["127.0.0.1"]}), - # Dnsruby::SingleResolver.new({:nameserver => ["::1"]})].each {|res| - GoodInput.each do | param, value | - # puts("Setting " + param); - res.send(param+"=", value) - assert_equal(res.send(param), value, "setting #param sticks"); - end; - } - end - - def test_dns - res = Dnsruby::DNS.new - LookupInput.each do | param, value | - res.config.send(param+"=", value) - assert_equal(res.config.send(param), value, "setting #param sticks"); - end; - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_env.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_env.rb deleted file mode 100644 index 60cd65b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_env.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestResolverEnv < Minitest::Test - - include Dnsruby - -# @todo@ Dnsruby does not provide this functionality - def test_res_env - ENV['RES_NAMESERVERS'] = '10.0.1.128 10.0.2.128'; - ENV['RES_SEARCHLIST'] = 'dnsruby.validation-test-servers.nominet.org.uk lib.dnsruby.validation-test-servers.nominet.org.uk'; - ENV['LOCALDOMAIN'] = 't.dnsruby.validation-test-servers.nominet.org.uk'; - ENV['RES_OPTIONS'] = 'retrans:3 retry:2 debug'; - - - res = DNS.new; - - assert(res, "new() returned something"); - assert(res.config.nameserver, "nameservers() works"); - - servers = res.config.nameserver; - - assert_equal(servers[0], '10.0.1.128', 'Nameserver set correctly'); - assert_equal(servers[1], '10.0.2.128', 'Nameserver set correctly'); - - - search = res.searchlist; - assert_equal(search[0], 'dnsruby.validation-test-servers.nominet.org.uk', 'Search set correctly' ); - assert_equal(search[1], 'lib.dnsruby.validation-test-servers.nominet.org.uk', 'Search set correctly' ); - - assert_equal(res.domain, 't.dnsruby.validation-test-servers.nominet.org.uk', 'Local domain works' ); - assert_equal(3, res.retrans, 'Retransmit works' ); - assert_equal(2, res.retry, 'Retry works' ); - assert(res.debug, 'Debug works' ); - - - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_file.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_file.rb deleted file mode 100644 index fd05f53..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_file.rb +++ /dev/null @@ -1,42 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestAResolverFile < Minitest::Test - def setup - Dnsruby::Config.reset - end - - def test_resFile - res = Dnsruby::DNS.new("test/resolv.conf") - - assert(res, "new() returned something") - assert(res.config.nameserver, "nameservers() works") - - servers = res.config.nameserver - - assert_equal(servers[0], '10.0.1.128', 'Nameserver set correctly') - assert_equal(servers[1], '10.0.2.128', 'Nameserver set correctly') - - - search = res.config.search - assert(search.include?('dnsruby.validation-test-servers.nominet.org.uk'), 'Search set correctly' ) - assert(search.include?('lib.dnsruby.validation-test-servers.nominet.org.uk'), 'Search set correctly' ) - - assert(res.config.domain=='t.dnsruby.validation-test-servers.nominet.org.uk', 'Local domain works' ) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_opt.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_opt.rb deleted file mode 100644 index 9b2f497..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_res_opt.rb +++ /dev/null @@ -1,187 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestResOpt < Minitest::Test - - include Dnsruby - - def test_dns_file - - # .txt because this test will run under windows, unlike the other file - # configuration tests. - res = Dnsruby::DNS.new('test/custom.txt') - - assert(res, 'new() returned something') - assert_instance_of(DNS, res, 'new() returns an object of the correct class.') - assert(res.config.nameserver, 'nameservers() works') - - servers = res.config.nameserver - - assert_equal('10.0.1.42', servers[0], 'Nameserver set correctly') - assert_equal('10.0.2.42', servers[1], 'Nameserver set correctly') - - - search = res.config.search - assert(search.include?('alt.dnsruby.validation-test-servers.nominet.org.uk'), 'Search set correctly' ) - assert(search.include?('ext.dnsruby.validation-test-servers.nominet.org.uk'), 'Search set correctly' ) - - assert(res.config.domain == 't2.dnsruby.validation-test-servers.nominet.org.uk', 'Local domain works' ) - end - - def test_resolver_file - res = Dnsruby::Resolver.new({:config_info => 'test/custom.txt'}) - assert(res.config.nameserver==['10.0.1.42', '10.0.2.42'], res.config.nameserver.to_s) - end - - def test_no_file - Dnsruby.log.level=Logger::FATAL - res=nil - begin - res = DNS.new('nosuch.txt') - assert_equal(["0.0.0.0"], res.nameserver,"No nameservers should be set for #{test} = #{input}") - rescue Exception - end - begin - res = Resolver.new('nosuch.txt') - assert_equal(["0.0.0.0"], res.nameserver,"No nameservers should be set for #{test} = #{input}") - rescue Exception - end -# Dnsruby.log.level=Logger::ERROR - end - - def test_config_hash_singleresolver - # Resolver interface gives us : port, TCP, IgnoreTruncation, TSIGkey, timeout - # SR : server, local_address, udp_size - test_config = { - :server => '10.0.0.1', - :port => 54, # SingleResolver and Multi-Resolver - :src_address => '10.1.0.1', # SingleResolver and Multi-Resolver - :src_address6 => 'fc00::1:2:3', # SingleResolver and Multi-Resolver - :src_port => 56353, # SingleResolver and Multi-Resolver - :use_tcp => true, # SingleResolver and Multi-Resolver - :ignore_truncation => true, # SingleResolver and Multi-Resolver - :recurse => false, - :packet_timeout => 60, # SingleResolver and Multi-Resolver # Only have one timeout for both UDP and TCP - :dnssec => true, - } - - res = SingleResolver.new(test_config) - test_config.keys.each do |item| - assert_equal(test_config[item], res.send(item), "#{item} is correct") - end - end - - def test_config_hash_multiresolver - # Resolver interface gives us : port, TCP, IgnoreTruncation, TSIGkey, timeout - # ER : retries, load_balance. Also loads servers from Config and configures SRs to point to them - # Also implements Resolver interface - but iterates this through *all* SRs - test_config = { - :nameserver => ['10.0.0.1', '10.0.0.2'], # for Multi-Resolver & DNS - :port => 54, # SingleResolver and Multi-Resolver - :src_address => '10.1.0.1', # SingleResolver and Multi-Resolver - :src_address6 => 'fc00::1:2:3', # SingleResolver and Multi-Resolver - :src_port => 56753, # SingleResolver and Multi-Resolver - :retry_delay => 6, # DNS and Multi-Resolver - :retry_times => 5, # DNSand Multi-Resolver - :use_tcp => true, # SingleResolver and Multi-Resolver - :ignore_truncation => true, # SingleResolver and Multi-Resolver - :recurse => false, - :packet_timeout => 60, # SingleResolver and Multi-Resolver # Only have one timeout for both UDP and TCP - :query_timeout => 60, # Multi-Resolver only - :dnssec => true, - } - - res = Resolver.new(test_config) - test_config.keys.each do |item| - if (item==:nameserver) - assert_equal(res.config.nameserver, test_config[item], "#{item} is correct") - else - assert_equal(res.send(item), test_config[item], "#{item} is correct") - end - end - end - - def test_config_hash_lookup - # Lookup : can specify resolver, searchpath - # - # Check that we can set things in new() - # - res=nil - - test_config = { - :nameserver => ['10.0.0.1', '10.0.0.2'], # for Multi-Resolver & DNS - :domain => 'dnsruby.validation-test-servers.nominet.org.uk', # one for DNS only? - :search => ['dnsruby.validation-test-servers.nominet.org.uk', 't.dnsruby.validation-test-servers.nominet.org.uk'], # one for DNS - :ndots => 2, # DNS only - :apply_search_list => false, # DNS only - :apply_domain => false, # DNS only - } - - res = DNS.new(test_config) - test_config.keys.each do |item| - assert_equal(res.config.send(item), test_config[item], "#{item} is correct") - end - end - - - def test_bad_config - res=nil - Dnsruby.log.level=Logger::FATAL - - bad_input = { - :tsig_rr => 'set', - :errorstring => 'set', - :answerfrom => 'set', - :answersize => 'set', - :querytime => 'set', - :axfr_sel => 'set', - :axfr_rr => 'set', - :axfr_soa_count => 'set', - :udppacketsize => 'set', - :cdflag => 'set', - } - res=nil - begin - res = Resolver.new(bad_input) - rescue Exception - end - if (res) - bad_input.keys.each do |key| - begin - assert_not_equal(res.send(key), 'set', "#{key} is not set") - rescue Exception - end - end - end - - res=nil - begin - res = DNS.new(bad_input) - rescue Exception - end - if (res) - bad_input.keys.each do |key| - begin - assert_not_equal(res.send(key), 'set', "#{key} is not set") - rescue Exception - end - end -# Dnsruby.log.level=Logger::ERROR - end - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_resolv.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_resolv.rb deleted file mode 100644 index 4ec7c22..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_resolv.rb +++ /dev/null @@ -1,73 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' -require_relative '../lib/dnsruby/resolv' - -class TestResolv < Minitest::Test - - RELATIVE_NAME = 'google-public-dns-a.google.com' - SHORT_ABSOLUTE_NAME = 'dns.google.' - ABSOLUTE_NAME = RELATIVE_NAME + '.' - IPV4_ADDR = '8.8.8.8' - IPV6_ADDR = '2001:4860:4860::8888' - ADDRESSES = [IPV4_ADDR, IPV6_ADDR] - - - def test_resolv_name_to_addresses - - assert_equal(IPV4_ADDR, Dnsruby::Resolv.getaddress(ABSOLUTE_NAME).to_s) - - addresses = Dnsruby::Resolv.getaddresses(ABSOLUTE_NAME) - - case addresses.length - when 1 - assert_equal IPV4_ADDR, addresses.first.to_s - Dnsruby::Resolv.each_address(ABSOLUTE_NAME) do |address| - assert_equal IPV4_ADDR, address.to_s - end - when 2 - assert_equal ADDRESSES.sort, addresses.map(&:to_s).sort - addresses_from_each = [] - Dnsruby::Resolv.each_address(ABSOLUTE_NAME) do |address| - addresses_from_each << address.to_s - end - assert_equal ADDRESSES.sort, addresses_from_each.sort - else - raise "Addresses length must be 1 or 2 but was #{addresses.length}" - end - end - - - def test_resolv_address_to_name - - assert_equal(SHORT_ABSOLUTE_NAME, Dnsruby::Resolv.getname(IPV4_ADDR).to_s(true)) - - assert_raises(Dnsruby::ResolvError) do - Dnsruby::Resolv.getname(SHORT_ABSOLUTE_NAME) - end - - names = Dnsruby::Resolv.getnames(IPV4_ADDR) - assert_equal(1, names.size) - assert_equal(SHORT_ABSOLUTE_NAME, names.first.to_s(true)) - Dnsruby::Resolv.each_name(IPV4_ADDR) { |name| assert_equal(SHORT_ABSOLUTE_NAME, name.to_s(true))} - end - - def test_resolv_address_to_address - local = '127.0.0.1' - assert_equal(local, Dnsruby::Resolv.new.getaddress(local)) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_resolver.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_resolver.rb deleted file mode 100644 index 67cc3a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_resolver.rb +++ /dev/null @@ -1,404 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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 tmexpress or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ++ -require_relative 'spec_helper' - -require 'socket' - -# @TODO@ We also need a test server so we can control behaviour of server to test -# different aspects of retry strategy. -# Of course, with Ruby's limit of 256 open sockets per process, we'd need to run -# the server in a different Ruby process. - -class TestResolver < Minitest::Test - - include Dnsruby - - Thread::abort_on_exception = true - - GOOD_DOMAIN_NAME = 'example.com' - BAD_DOMAIN_NAME = 'dnsruby-test-of-bad-domain-name.blah' - - PORT = 42138 - @@port = PORT - - def setup - Dnsruby::Config.reset - end - - def assert_valid_response(response) - assert(response.kind_of?(Message), "Expected response to be a message but was a #{response.class}") - end - - def assert_nil_response(response) - assert(response.nil?, "Expected no response but got a #{response.class}:\n#{response}") - end - - def assert_error_is_exception(error, error_class = Exception) - assert(error.is_a?(error_class), "Expected error to be an #{error_class}, but was a #{error.class}:\n#{error}") - end - - def assert_nil_error(error) - assert(error.nil?, "Expected no error but got a #{error.class}:\n#{error}") - end - - def test_send_message - response = Resolver.new.send_message(Message.new("example.com", Types.A)) - assert_valid_response(response) - end - - def test_send_message_bang_noerror - response, error = Resolver.new.send_message!(Message.new(GOOD_DOMAIN_NAME, Types.A)) - assert_nil_error(error) - assert_valid_response(response) - end - - def test_send_message_bang_error - message = Message.new(BAD_DOMAIN_NAME, Types.A) - response, error = Resolver.new.send_message!(message) - assert_nil_response(response) - assert_error_is_exception(error) - end - - def test_send_plain_message - resolver = Resolver.new('1.1.1.1') - response, error = resolver.send_plain_message(Message.new("example.com", Types.A)) - assert_nil_error(error) - assert_valid_response(response) - - m = Message.new(BAD_DOMAIN_NAME) - m.header.rd = true - response, error = resolver.send_plain_message(m) - assert_valid_response(response) - assert_error_is_exception(error, NXDomain) - end - - def test_query - response = Resolver.new.query("example.com") - assert_valid_response(response) - end - - def test_query_bang_noerror - response, error = Resolver.new.query!(GOOD_DOMAIN_NAME) - assert_nil_error(error) - assert_valid_response(response) - end - - def test_query_bang_error - response, error = Resolver.new.query!(BAD_DOMAIN_NAME) - assert_nil_response(response) - assert_error_is_exception(error) - end - - def test_query_async - q = Queue.new - Resolver.new.send_async(Message.new("example.com", Types.A),q,q) - id, response, error = q.pop - assert_equal(id, q, "Id wrong!") - assert_valid_response(response) - assert_nil_error(error) - end - - def test_query_one_duff_server_one_good - res = Resolver.new({:nameserver => ["8.8.8.8", "8.8.8.7"]}) - res.retry_delay=1 - q = Queue.new - res.send_async(Message.new("example.com", Types.A),q,q) - id, response, error = q.pop - assert_equal(id, q, "Id wrong!") - assert_valid_response(response) - assert_nil_error(error) - end - - # @TODO@ Implement!! But then, why would anyone want to do this? - # def test_many_threaded_clients - # assert(false, "IMPLEMENT!") - # end - - def test_reverse_lookup - m = Message.new("8.8.8.8", Types.PTR) - r = Resolver.new - q=Queue.new - r.send_async(m,q,q) - _id, ret, _error=q.pop - assert(ret.kind_of?(Message)) - no_pointer=true - ret.each_answer do |answer| - if (answer.type==Types.PTR) - no_pointer=false - assert(answer.domainname.to_s=~/google/) - end - end - assert(!no_pointer) - end - -# def test_bad_host -# res = Resolver.new({:nameserver => "localhost"}) -# res.retry_times=1 -# res.retry_delay=0 -# res.query_timeout = 1 -# q = Queue.new -# res.send_async(Message.new("example.com", Types.A), q, q) -# id, m, err = q.pop -# assert(id==q) -# assert(m == nil) -# assert(err.kind_of?(OtherResolvError) || err.kind_of?(IOError), "OtherResolvError or IOError expected : got #{err.class}") -# end -# - def test_nxdomain - resolver = Resolver.new - q = Queue.new - resolver .send_async(Message.new(BAD_DOMAIN_NAME, Types.A), q, 1) - id, m, error = q.pop - assert(id==1, "Id should have been 1 but was #{id}") - assert(m.rcode == RCode.NXDOMAIN, "Expected NXDOMAIN but got #{m.rcode} instead.") - assert_error_is_exception(error, NXDomain) - end - - def test_timeouts - # test timeout behaviour for different retry, retrans, total timeout etc. - # Problem here is that many sockets will be created for queries which time out. - # Run a query which will not respond, and check that the timeout works - if (RUBY_PLATFORM !~ /darwin/) - start=stop=0 - retry_times = 3 - retry_delay=1 - packet_timeout=2 - # Work out what time should be, then time it to check - expected = ((2**(retry_times-1))*retry_delay) + packet_timeout - begin - res = Dnsruby::Resolver.new({:nameserver => "10.0.1.128"}) - # res = Resolver.new({:nameserver => "213.248.199.17"}) - res.packet_timeout=packet_timeout - res.retry_times=retry_times - res.retry_delay=retry_delay - start=Time.now - res.send_message(Message.new("a.t.dnsruby.validation-test-servers.nominet.org.uk", Types.A)) - fail - rescue ResolvTimeout - stop=Time.now - time = stop-start - assert(time <= expected * 1.3 && time >= expected * 0.9, "Wrong time take, expected #{expected}, took #{time}") - end - end - end - - def test_packet_timeout - res = Dnsruby::Resolver.new({:nameserver => []}) -# res = Resolver.new({:nameserver => "10.0.1.128"}) - start=stop=0 - retry_times = retry_delay = packet_timeout= 10 - query_timeout=2 - begin - res.packet_timeout=packet_timeout - res.retry_times=retry_times - res.retry_delay=retry_delay - res.query_timeout=query_timeout - # Work out what time should be, then time it to check - expected = query_timeout - start=Time.now - res.send_message(Message.new("a.t.dnsruby.validation-test-servers.nominet.org.uk", Types.A)) - fail - rescue Dnsruby::ResolvTimeout - stop=Time.now - time = stop-start - assert(time <= expected * 1.3 && time >= expected * 0.9, "Wrong time take, expected #{expected}, took #{time}") - end # - end - - def test_queue_packet_timeout -# if (!RUBY_PLATFORM=~/darwin/) - res = Dnsruby::Resolver.new({:nameserver => "10.0.1.128"}) -# bad = SingleResolver.new("localhost") - res.add_server("localhost") - expected = 2 - res.query_timeout=expected - q = Queue.new - start = Time.now - res.send_async(Message.new("a.t.dnsruby.validation-test-servers.nominet.org.uk", Types.A), q, q) - id,ret,err = q.pop - stop = Time.now - assert(id=q) - assert(ret==nil) - assert(err.class == ResolvTimeout, "#{err.class}, #{err}") - time = stop-start - assert(time <= expected * 1.3 && time >= expected * 0.9, "Wrong time take, expected #{expected}, took #{time}") -# end - end - - def test_illegal_src_port - # Also test all singleresolver ports ok - # Try to set src_port to an illegal value - make sure error raised, and port OK - res = Dnsruby::Resolver.new - res.port = 56789 - tests = [53, 387, 1265, 3210, 48619] - tests.each do |bad_port| - begin - res.src_port = bad_port - fail("bad port #{bad_port}") - rescue - end - end - assert(res.single_resolvers[0].src_port = 56789) - end - - def test_add_src_port - # Try setting and adding port ranges, and invalid ports, and 0. - # Also test all singleresolver ports ok - res = Resolver.new - res.src_port = [56789,56790, 56793] - assert(res.src_port == [56789,56790, 56793]) - res.src_port = 56889..56891 - assert(res.src_port == [56889,56890,56891]) - res.add_src_port(60000..60002) - assert(res.src_port == [56889,56890,56891,60000,60001,60002]) - res.add_src_port([60004,60005]) - assert(res.src_port == [56889,56890,56891,60000,60001,60002,60004,60005]) - res.add_src_port(60006) - assert(res.src_port == [56889,56890,56891,60000,60001,60002,60004,60005,60006]) - # Now test invalid src_ports - tests = [0, 53, [60007, 53], [60008, 0], 55..100] - tests.each do |x| - begin - res.add_src_port(x) - fail() - rescue - end - end - assert(res.src_port == [56889,56890,56891,60000,60001,60002,60004,60005,60006]) - assert(res.single_resolvers[0].src_port == [56889,56890,56891,60000,60001,60002,60004,60005,60006]) - end - - def test_eventtype_api - # @TODO@ TEST THE Resolver::EventType interface! - end -end - - -# Tests to see that query_raw handles send_plain_message's return values correctly. -class TestRawQuery < Minitest::Test - - KEY_NAME = 'key-name' - KEY = '0123456789' - ALGO = 'hmac-md5' - - class CustomError < RuntimeError; end - - # Returns a new resolver whose send_plain_message method always returns - # nil for the response, and a RuntimeError for the error. - def resolver_returning_error - resolver = Dnsruby::Resolver.new - def resolver.send_plain_message(_message) - [nil, CustomError.new] - end - resolver - end - - # Returns a new resolver whose send_plain_message is overridden to return - # :response_from_send_plain_message instead of a real Dnsruby::Message, - # for easy comparison in the tests. - def resolver_returning_response - resolver = Dnsruby::Resolver.new - def resolver.send_plain_message(_message) - [:response_from_send_plain_message, nil] - end - resolver - end - - # Test that when a strategy other than :raise or :return is passed, - # an ArgumentError is raised. - def test_bad_strategy - assert_raises(ArgumentError) do - resolver_returning_error.query_raw(Dnsruby::Message.new, :invalid_strategy) - end - end - - # Test that when send_plain_message returns an error, - # and the error strategy is :raise, query_raw raises an error. - def test_raise_error - assert_raises(CustomError) do - resolver_returning_error.query_raw(Dnsruby::Message.new, :raise) - end - end - - # Tests that if you don't specify an error strategy, an error will be - # returned rather than raised (i.e. strategy defaults to :return). - def test_return_error_is_default - _response, error = resolver_returning_error.query_raw(Dnsruby::Message.new) - assert error.is_a?(CustomError) - end - - # Tests that when no error is returned, no error is raised. - def test_raise_no_error - response, _error = resolver_returning_response.query_raw(Dnsruby::Message.new, :raise) - assert_equal :response_from_send_plain_message, response - end - - # Test that when send_plain_message returns an error, and the error strategy - # is set to :return, then an error is returned. - def test_return_error - _response, error = resolver_returning_error.query_raw(Dnsruby::Message.new, :return) - assert error.is_a?(CustomError) - end - - # Test that when send_plain_message returns a valid and response - # and nil error, the same are returned by query_raw. - def test_return_no_error - response, error = resolver_returning_response.query_raw(Dnsruby::Message.new, :return) - assert_nil error - assert_equal :response_from_send_plain_message, response - end - - def test_2_args_init - options = Dnsruby::Resolver.create_tsig_options(KEY_NAME, KEY) - assert_equal KEY_NAME, options[:name] - assert_equal KEY, options[:key] - assert_nil options[:algorithm] - end - - def test_3_args_init - options = Dnsruby::Resolver.create_tsig_options(KEY_NAME,KEY,ALGO) - assert_equal KEY_NAME, options[:name] - assert_equal KEY, options[:key] - assert_equal ALGO, options[:algorithm] - end - - def test_threads - resolver = Dnsruby::Resolver.new(nameserver: ["8.8.8.8", "8.8.4.4"]) - resolver.query("google.com", "MX") - resolver.query("google.com", "MX") - resolver.query("google.com", "MX") - begin - resolver.query("googlöe.com", "MX") - rescue Dnsruby::ResolvError - # fine - end - resolver.query("google.com", "MX") - resolver.query("google.com", "MX") - begin - resolver.query("googlöe.com", "MX") - rescue Dnsruby::ResolvError - # fine - end - begin - resolver.query("googlöe.com", "MX") - rescue Dnsruby::ResolvError - # fine - end -# Dnsruby::Cache.delete("googlöe.com", "MX") - - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-opt.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-opt.rb deleted file mode 100644 index f5f246d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-opt.rb +++ /dev/null @@ -1,204 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -require 'socket' - -class TestRrOpt < Minitest::Test - - include Dnsruby - - # This test illustrates that when an OPT record specifying a maximum - # UDP size is added to a query, the server will respect that setting - # and limit the response's size to <= that maximum. - # This works only with send_plain_message, not send_message, query, etc. - def test_plain_respects_bufsize - - resolver = Resolver.new('a.gtld-servers.net') - resolver.query_timeout=20 - - run_test = ->(bufsize) do - - - create_test_query = ->(bufsize) do - message = Message.new('com', Types.RRSIG, Classes.IN) - message.add_additional(RR::OPT.new(bufsize)) - message - end - - query = create_test_query.(bufsize) - response, _error = resolver.send_plain_message(query) - if (_error != nil) then - print "Error at #{bufsize} : #{_error}" - end -# puts "\nBufsize is #{bufsize}, binary message size is #{response.encode.size}" - assert_equal(true, response.header.tc) - assert(response.encode.size <= bufsize) - end - - run_test.(612) - end - - - def test_rropt - size=2048; - ednsflags=0x9e22; - - optrr = RR::OPT.new(size, ednsflags) - - assert(optrr.dnssec_ok,"DO bit set") - optrr.dnssec_ok=false - assert_equal(optrr.flags,0x1e22,"Clearing do, leaving the other bits "); - assert(!optrr.dnssec_ok,"DO bit cleared") - optrr.dnssec_ok=true - assert_equal(optrr.flags,0x9e22,"Clearing do, leaving the other bits "); - - assert_equal(optrr.payloadsize,2048,"Size read") - assert_equal(optrr.payloadsize=(1498),1498,"Size set") - - optrr.set_client_subnet("0.0.0.0/0") - assert_equal(optrr.edns_client_subnet,"0.0.0.0/0/0","Wildcard Address") - optrr.set_client_subnet("216.253.14.2/24") - assert_equal(optrr.edns_client_subnet,"216.253.14.0/24/0","IPv4 subnet") - optrr.set_client_subnet("216.253.14.2/1") - assert_equal(optrr.edns_client_subnet,"216.0.0.0/1/0","IPv4 subnet <8 bits") - optrr.set_client_subnet("2600:3c00:0:91fd:ab77:157e::/64") - assert_equal(optrr.edns_client_subnet,"2600:3c00:0:91fd::/64/0","IPv6 subnet") - optrr.set_client_subnet("2600:3c00:0:91fd:ab77:157e::/7") - assert_equal(optrr.edns_client_subnet,"2600::/7/0","IPv6 subnet <8 bits") - end - - def test_resolver_opt_application - return if (/java/ =~ RUBY_PLATFORM) # @TODO@ Check if this is fixed with JRuby yet - # Set up a server running on localhost. Get the resolver to send a - # query to it with the UDP size set to 4096. Make sure that it is received - # correctly. - Dnsruby::PacketSender.clear_caches - socket = UDPSocket.new - socket.bind("127.0.0.1", 0) - port = socket.addr[1] - q = Queue.new - Thread.new { - s = socket.recvfrom(65536) - received_query = s[0] - socket.connect(s[1][2], s[1][1]) - q.push(Message.decode(received_query)) - socket.send(received_query,0) - } - - # Now send query - res = Resolver.new("127.0.0.1") - res.dnssec = true - res.port = port - res.udp_size = 4096 - assert(res.udp_size == 4096) - res.query("example.com") - - # Now get received query from the server - p = q.pop - # Now check the query was what we expected - assert(p.header.arcount == 1) - assert(p.additional()[0].type = Types.OPT) - assert(p.additional()[0].klass.code == 4096) - end - - # Sadly Nominet no longer host these servers :-( - # def test_large_packet - # # Query TXT for overflow.dnsruby.validation-test-servers.nominet.org.uk - # # with a large udp_size - # res = SingleResolver.new - # res.udp_size = 4096 - # ret = res.query("overflow.dnsruby.validation-test-servers.nominet.org.uk", Types.TXT) - # assert(ret.rcode == RCode.NoError) - # end - - def test_decode_opt - # Create an OPT RR - size=2048; - ednsflags=0x9e22; - optrr = RR::OPT.new(size, ednsflags) - - # Add it to a message - m = Message.new - m.add_additional(optrr) - - # Encode the message - data = m.encode - - # Decode it - m2 = Message.decode(data) - - # Make sure there is an OPT RR there - assert(m2.rcode == RCode.NOERROR ) - end - - def test_formerr_response - # If we get a FORMERR back from the remote resolver, we should retry with no OPT record - # So, we need a server which sends back FORMERR for OPT records, and is OK without them. - # Then, we need to get a client to send a request to it (by default adorned with EDNS0), - # and make sure that the response is returned to the client OK. - # We should then check that the server only received one message with EDNS0, and one message - # without. - return if (/java/ =~ RUBY_PLATFORM) # @TODO@ Check if this is fixed with JRuby yet - # Set up a server running on localhost. Get the resolver to send a - # query to it with the UDP size set to 4096. Make sure that it is received - # correctly. - Dnsruby::PacketSender.clear_caches - socket = UDPSocket.new - socket.bind("127.0.0.1", 0) - port = socket.addr[1] - q = Queue.new - Thread.new { - 2.times { - s = socket.recvfrom(65536) - received_query = s[0] - m = Message.decode(received_query) - q.push(m) - if (m.header.arcount > 0) - # send back FORMERR - m.header.rcode = RCode.FORMERR - socket.send(m.encode,0,s[1][2], s[1][1]) - else - socket.send(received_query,0,s[1][2], s[1][1]) # @TODO@ FORMERR if edns - end - } - - } - # Now send query - res = Resolver.new("127.0.0.1") - res.dnssec = true - res.port = port - res.udp_size = 4096 - assert(res.udp_size == 4096) - ret = res.query("example.com") - assert(ret.header.get_header_rcode == RCode.NOERROR) - assert(ret.header.arcount == 0) - - # Now get received query from the server - p = q.pop - # Now check the query was what we expected - assert(p.header.arcount == 1) - assert(p.additional()[0].type = Types.OPT) - assert(p.additional()[0].klass.code == 4096) - - # Now check the second message - assert (!(q.empty?)) - p2 = q.pop - assert (p2) - assert(p2.header.arcount == 0) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-txt.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-txt.rb deleted file mode 100644 index 360df28..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-txt.rb +++ /dev/null @@ -1,155 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestRrTest < Minitest::Test - - include Dnsruby - - # Stimulus, expected response, and test name: - - TESTLIST = [ - { # 2-5 - :stim => %<"">, - :rdatastr => %<"">, - :char_str_list_r => ['',], - :descr => 'Double-quoted null string', - }, - { # 6-9 - :stim => %<''>, - :rdatastr => %<"">, - :char_str_list_r => ['',], - :descr => 'Single-quoted null string', - }, - { # 10-13 - :stim => %<" \t">, - :rdatastr => %<" \t">, - :char_str_list_r => [ %< \t>, ], - :descr => 'Double-quoted whitespace string', - }, - { # 14-17 - :stim => %, - :rdatastr => %<"noquotes">, - :char_str_list_r => [ %, ], - :descr => 'unquoted single string', - }, - { # 18-21 - :stim => %<"yes_quotes">, - :rdatastr => %<"yes_quotes">, - :char_str_list_r => [ %, ], - :descr => 'Double-quoted single string', - }, - { # 26-29 - :stim => %, - :rdatastr => %<"two" "tokens">, - :char_str_list_r => [ %q|two|, %q|tokens|, ], - :descr => 'Two unquoted strings', - }, - # @TODO@ Why don't escaped quotes work? - # { # 22-25 - # :stim => %<"escaped \" quote">, - # :rdatastr => %<"escaped \" quote">, - # :char_str_list_r => [ %, ], - # :descr => 'Quoted, escaped double-quote', - # }, - # { # 30-33 - # :stim => %<"missing quote>, - # :rdatastr => %<>, - # :char_str_list_r => [], - # :descr => 'Unbalanced quotes work', - # } - ] - - def test_RrTest - # ------------------------------------------------------------------------------ - # Canned data. - # ------------------------------------------------------------------------------ - - name = 'foo.example.com'; - klass = 'IN'; - type = 'TXT'; - ttl = 43201; - - rr_base = [name, ttl, klass, type, " " ].join(' ') - - - # ------------------------------------------------------------------------------ - # Run the tests - # ------------------------------------------------------------------------------ - - TESTLIST.each do |test_hr| - assert( uut = RR.create(rr_base + test_hr[:stim]), - test_hr[:descr] + " -- Stimulus " ) - - assert_equal(test_hr[:rdatastr], uut.rdata_to_string(), - test_hr[:descr] + " -- Response ( rdatastr ) " ) - - list = uut.strings - - assert_equal(test_hr[:char_str_list_r], list, - test_hr[:descr] + " -- char_str_list equality" ) - end - - string1 = % - string2 = % - - rdata = [string1.length].pack("C") + string1 - rdata += [string2.length].pack("C") + string2 - - work_hash = { - :name => name, - :ttl => ttl, - :class => klass, - :type => type, - } - - - # Don't break RR.new_from_hash (e.i. "See the manual pages for each RR - # type to see what fields the type requires."). - - work_hash[:strings] = % - - uut = RR.create(work_hash) - assert( uut , # 30 - "RR.new_from_hash with txtdata -- Stimulus") - assert_equal( uut.rdata_to_string() , %<"no" "quotes">, # 31 - "RR.new_from_hash with txtdata -- Response (rdatastr())") - - rr_rdata = MessageEncoder.new {|msg| - uut.encode_rdata(msg) - }.to_s - assert( rr_rdata == rdata , "TXT.rr_rdata" ) # 32 - - - end - - def test_nasty_txt - t = RR.create('txt2.t.net-dns.org. 60 IN TXT "Net-DNS\; complicated $tuff" "sort of \" text\; and binary \000 data"') - assert(t.rdata.to_s == '"Net-DNS\; complicated $tuff" "sort of \" text\; and binary \000 data"', t.to_s) - - r1 = RR.create("auto._domainkey.cacert.org. 43200 IN TXT \"v=DKIM1\;g=*\;k=rsa\;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDNFxiNr+NHJwih3OPhGr4iwLE+BBDu72YrMSzUnU1FF50CW7iOtuhg796UZ6xrZ5VuhAix6YmmzcvF2UxYzoD/XpfZ4MzBu0ND4/nkt9/YOTyIBzwQqn9uMNve0Y76Zsel89dIJtOI+y+lfnFExV0jKwe53gzmxMVpMSSCcZPGwIDAQAB\" ; ----- DKIM auto for cacert.org") - r2 = RR.create("auto._domainkey.cacert.org. 43200 IN TXT \"v=DKIM1;g=*;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDNFxiNr+NHJwih3OPhGr4iwLE+BBDu72YrMSzUnU1FF50CW7iOtuhg796UZ6xrZ5VuhAix6YmmzcvF2UxYzoD/XpfZ4MzBu0ND4/nkt9/YOTyIBzwQqn9uMNve0Y76Zsel89dIJtOI+y+lfnFExV0jKwe53gzmxMVpMSSCcZPGwIDAQAB\"") - assert_equal(r1.to_s, r2.to_s) - end - - def test_quote_and_unquoted - t = Dnsruby::RR::TXT.parse '"a" b' - assert_equal("a", t[0]) - assert_equal("b", t[1]) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-unknown.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-unknown.rb deleted file mode 100644 index 106eecb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr-unknown.rb +++ /dev/null @@ -1,102 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestRrUnknown < Minitest::Test - - include Dnsruby - - def test_RrUnknown - assert_equal(10226, Types::typesbyname('TYPE10226'), 'typesbyname(TYPE10226) returns 10226') - assert_equal('TYPE10226', Types::typesbyval(10226), 'typesbyval(10226) returns TYPE10226') - assert_equal(Types::typesbyval(1), "A", ' typesbyval(1) returns A') - - assert_equal(Types::typesbyval(Types.typesbyname('TYPE001')), 'A', 'typesbyval(typebyname(TYPE001)) returns A') - - - begin - Types.typesbyval(0xffff+1) - flunk("Should fail on large TYPE code") - rescue Exception - end - - assert_equal(Classes::classesbyname('CLASS124'), 124, 'classesbyname(CLASS124) returns 124') - assert_equal(Classes::classesbyval(125), 'CLASS125','classesbyval(125) returns CLASS125') - assert_equal(Classes::classesbyval(1), 'IN', 'classesbyval(1) returns IN') - - assert_equal('HS', Classes::classesbyval(Classes::classesbyname('CLASS04')), 'classesbyval(typebyname(CLASS04)) returns HS') - - begin - Classes::classesbyval(0xffff+1) - flunk("Should fail on large CLASS code") - rescue Exception - end - end - - def test_rr_new - rr = RR.new_from_string('e.example CLASS01 TYPE01 10.0.0.2') - assert_equal(RR::IN::A, rr.class, 'TYPE01 parsed OK') - assert_equal('A', rr.type.string, 'TYPE01 parsed OK') - assert_equal('IN', rr.klass.string,'CLASS01 parsed OK') - assert_equal(1, rr.klass.code,'CLASS01 parsed OK') - - rr = RR.new_from_string('e.example IN A \# 4 0A0000 01 ') - assert_equal('10.0.0.1', rr.address.to_s,'Unknown RR representation for A parsed OK') - - begin - res=RR.new_from_string('e.example IN A \# 4 0A0000 01 11 ') - flunk "Should fail on inconsistent length and hex presentation" - rescue Exception - # like($@, '/\\\# 4 0A0000 01 11 assert_equal inconsistent\ length does not match content/', 'Fails on inconsassert_equaltent length and hex presentation') - end - - - rr = RR.new_from_string('e.example IN TYPE4555 \# 4 0A0000 01 ') - assert_equal('e.example 0 IN TYPE4555 \# 4 0a000001', rr.to_s, 'Fully unknown RR parsed correctly') - - rr4 = RR.new_from_string('e.example. CLASS122 TYPE4555 \# 4 0A0000 01 ') - assert_equal('e.example. 0 CLASS122 TYPE4555 \# 4 0a000001', rr4.to_s, 'Fully unknown RR in unknown CLASS parsed correctly') - end - - def test_real_data - uuencodedPacket=%w{ -02 79 85 00 00 01 -00 01 00 01 00 01 04 54 45 53 54 07 65 78 61 6d -70 6c 65 03 63 6f 6d 00 00 ff 00 01 c0 0c 30 39 -00 01 00 00 00 7b 00 0a 11 22 33 44 55 aa bb cc -dd ee c0 11 00 02 00 01 00 00 03 84 00 05 02 6e -73 c0 11 c0 44 00 01 00 01 00 00 03 84 00 04 7f -00 00 01} - - # packetdata = uuencodedPacket.pack('H*') - # packetdata = packetdata.gsub("\s*", "") - - uuencodedPacket.map!{|e| e.hex} - packetdata = uuencodedPacket.pack('c*') -# packet = Net::Packet.new_from_binary(packetdata) - packet = Message.decode(packetdata) - - string_representation = (packet.answer)[0].to_s - # string_representation =~ s/\s+/ /g, - string_representation = string_representation.gsub(/\s+/, " ") - assert_equal( - 'TEST.example.com. 123 IN TYPE12345 \# 10 1122334455aabbccddee', - string_representation, - 'Packet read from a packet dumped by bind...' - ) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr.rb deleted file mode 100644 index ba0b8ca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rr.rb +++ /dev/null @@ -1,400 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestRR < Minitest::Test - - include Dnsruby - - def test_rr - # ------------------------------------------------------------------------------ - # Canned data. - # ------------------------------------------------------------------------------ - - name = "foo.example.com"; - klass = "IN"; - ttl = 43200; - - rrs = [ - { #[0] - :type => Types.A, - :address => '10.0.0.1', - }, - { #[1] - :type => Types::AAAA, - :address => '102:304:506:708:90a:b0c:d0e:ff10', - }, - { #[2] - :type => 'AFSDB', - :subtype => 1, - :hostname => 'afsdb-hostname.example.com', - }, - { #[3] - :type => Types.CNAME, - :domainname => 'cname-cname.example.com', - }, - { #[4] - :type => Types.DNAME, - :domainname => 'dname.example.com', - }, - { #[5] - :type => Types.HINFO, - :cpu => 'test-cpu', - :os => 'test-os', - }, - { #[6] - :type => Types.ISDN, - :address => '987654321', - :subaddress => '001', - }, - { #[7] - :type => Types.MB, - :domainname => 'mb-madname.example.com', - }, - { #[8] - :type => Types.MG, - :domainname => 'mg-mgmname.example.com', - }, - { #[9] - :type => Types.MINFO, - :rmailbx => 'minfo-rmailbx.example.com', - :emailbx => 'minfo-emailbx.example.com', - }, - { #[10] - :type => Types.MR, - :domainname => 'mr-newname.example.com', - }, - { #[11] - :type => Types.MX, - :preference => 10, - :exchange => 'mx-exchange.example.com', - }, - { #[12] - :type => Types.NAPTR, - :order => 100, - :preference => 10, - :flags => 'naptr-flags', - :service => 'naptr-service', - :regexp => 'naptr-regexp', - :replacement => 'naptr-replacement.example.com', - }, - { #[13] - :type => Types.NS, - :domainname => 'ns-nsdname.example.com', - }, - { #[14] - :type => Types.NSAP, - :afi => '47', - :idi => '0005', - :dfi => '80', - :aa => '005a00', - :rd => '1000', - :area => '0020', - :id => '00800a123456', - :sel => '00', - # #:address => '4700580005a001000002000800a12345600' - # :address => '47000580005a0000001000002000800a12345600' - }, - { #[15] - :type => Types.PTR, - :domainname => 'ptr-ptrdname.example.com', - }, - { #[16] - :type => Types.PX, - :preference => 10, - :map822 => 'px-map822.example.com', - :mapx400 => 'px-mapx400.example.com', - }, - { #[17] - :type => Types.RP, - :mailbox => 'rp-mbox.example.com', - :txtdomain => 'rp-txtdname.example.com', - }, - { #[18] - :type => Types.RT, - :preference => 10, - :intermediate => 'rt-intermediate.example.com', - }, - { #[19] - :type => Types.SOA, - :mname => 'soa-mname.example.com', - :rname => 'soa-rname.example.com', - :serial => 12345, - :refresh => 7200, - :retry => 3600, - :expire => 2592000, - :minimum => 86400, - }, - { #[20] - :type => Types.SRV, - :priority => 1, - :weight => 2, - :port => 3, - :target => 'srv-target.example.com', - }, - { #[21] - :type => Types.TXT, - :strings => 'txt-txtdata', - }, - { #[22] - :type => Types.X25, - :address => '123456789', - }, - { #[23] - :type => Types.LOC, - :version => 0, - :size => 3000, - :horiz_pre => 500000, - :vert_pre => 500, - :latitude => 2001683648, - :longitude => 1856783648, - :altitude => 9997600, - }, #[24] - { - :type => Types.CERT, - :certtype => 3, - :keytag => 1, - :alg => 1, - :cert => 'ffsayw1dvk7higuvhn56r26uwjx/', - }, - { #[25] - :type => Types.SPF, - :strings => 'txt-txtdata', - }, - { - :type => Types.KX, - :preference => 10, - :exchange => 'kx-exchange.example.com', - }, - { # [26] - :type => Types.APL, - :prefixes => '1:10.0.0.0/8 !1:172.16.0.0/12 1:192.168.0.0/16 !1:192.168.0.0/24', - }, - { # [27] - :type => Types.APL, - :prefixes => '!2:fe80::/10 2:2001:db8::/32 2:2001:db8::/64', - }, - { # [28] - :type => Types.APL, - :prefixes => '1:0.0.0.0/0 1:255.255.255.255/32 2:::/0 2:::1/128', - } - ] - - - # ------------------------------------------------------------------------------ - # Create the packet - # ------------------------------------------------------------------------------ - - message = Message.new - assert(message, 'Message created'); - - - rrs.each do |data| - data.update({ :name => name, - :ttl => ttl, - }) - rr=RR.create(data) - - message.add_answer(rr); - end - - # ------------------------------------------------------------------------------ - # Re-create the packet from data. - # ------------------------------------------------------------------------------ - data = message.encode; - assert(data, 'Packet has data after pushes'); - - message=nil; - message= Message.decode(data); - - assert(message, 'Packet reconstructed from data'); - - answer = message.answer; - - i = 0 - rrs.each do |rec| - ret_rr = answer[i] - i += 1 - rec.each do |key, value| - # method = key+'=?' - x = ret_rr.send(key) - if (ret_rr.kind_of?RR::CERT and (key == :alg or key == :certtype)) - assert_equal(value.to_s, x.code.to_s.downcase, "Packet returned wrong answer section for #{ret_rr.to_s}, #{key}") - elsif (ret_rr.kind_of?RR::TXT and (key == :strings)) - assert_equal(value.to_s.downcase, x[0].to_s.downcase, "TXT strings wrong") - else - if (key == :type) - assert_equal(Types.new(value).to_s.downcase, x.to_s.downcase, "Packet returned wrong answer section for #{ret_rr.to_s}, #{key}") - else - assert_equal(value.to_s.downcase, x.to_s.downcase, "Packet returned wrong answer section for #{ret_rr.to_s}, #{key}") - end - end - end - end - - - - while (!answer.empty? and !rrs.empty?) - data = rrs.shift; - rr = answer.shift; - type = data[:type]; - - assert(rr, "#{type} - RR defined"); - assert_equal(name, rr.name.to_s, "#{type} - name() correct"); - assert_equal(klass, rr.klass.to_s, "#{type} - class() correct"); - assert_equal(ttl, rr.ttl, "#{type} - ttl() correct"); - - # foreach my $meth (keys %{data}) { - data.keys.each do |meth| - ret = rr.send(meth) - if (rr.kind_of?RR::CERT and (meth == :alg or meth == :certtype)) - assert_equal(data[meth].to_s, ret.code.to_s.downcase, "#{type} - #{meth}() correct") - elsif (rr.kind_of?RR::TXT and (meth == :strings)) - assert_equal(data[meth].to_s, ret[0].to_s.downcase, "TXT strings wrong") - else - if (meth == :type) - assert_equal(Types.new(data[meth]).to_s.downcase, ret.to_s.downcase, "#{type} - #{meth}() correct"); - else - assert_equal(data[meth].to_s, ret.to_s.downcase, "#{type} - #{meth}() correct"); - end - end - end - - rr2 = RR.new_from_string(rr.to_s) - assert_equal(rr.to_s, rr2.to_s, "#{type} - Parsing from string works") - end - end - - def test_naptr - update = Update.new - update.add('example.com.','NAPTR', 3600, '1 0 "s" "SIP+D2T" "" _sip._tcp.example.com.') - update.encode - end - - def test_uri - rrString = "_ftp._tcp.\t300\tIN\tURI\t10\ 1 \"ftp://ftp1.example.com/public\"" - rr = RR.create(rrString) - assert(rrString.to_s == rr.to_s) - m = Dnsruby::Message.new - m.add_additional(rr) - m2 = Message.decode(m.encode) - rr2 = m2.additional()[0] - assert(rr == rr2) - end - - def test_cds - rrString = "dskey.example.com.\t86400\tIN\tCDS\t60485 RSASHA1 1 ( 2BB183AF5F22588179A53B0A98631FAD1A292118 )" - rr = RR.create(rrString) - assert(rrString.to_s == rr.to_s) - m = Dnsruby::Message.new - m.add_additional(rr) - m2 = Message.decode(m.encode) - rr2 = m2.additional()[0] - assert(rr.to_s == rr2.to_s) - end - - def test_cdnskey - rrString = "tjeb.nl.\t3600\tIN\tCDNSKEY\t256 3 RSASHA1-NSEC3-SHA1 ( AwEAAcglEOS7bECRK5fqTuGTMJycmDhTzmUu/EQbAhKJOYJxDb5SG/RYqsJgzG7wgtGy0W1aP7I4k6SPtHmwcqjLaZLVUwRNWCGr2adjb9JTFyBR7F99Ngi11lEGM6Uiw/eDRk66lhoSGzohjj/rmhRTV6gN2+0ADPnafv3MBkPgryA3 ) ; key_tag=53177" - rr = RR.create(rrString) - assert(rrString.to_s == rr.to_s) - m = Dnsruby::Message.new - m.add_additional(rr) - m2 = Message.decode(m.encode) - rr2 = m2.additional()[0] - assert(rr.to_s == rr2.to_s) - end - - def test_cert - rr = RR.create("test.kht.se. 60 IN CERT PGP 0 0 mQGiBDnY2vERBAD3cOxqoAYHYzS+xttvuyN9wZS8CrgwLIlT8Ewo/CCFI11PEO+gJyNPvWPRQsyt1SE60reaIsie2bQTg3DYIg0PmH+ZOlNkpKesPULzdlw4Rx3dD/M3Lkrm977h4Y70ZKC+tbvoYKCCOIkUVevny1PVZ+mB94rb0mMgawSTrct03QCg/w6aHNJFQV7O9ZQ1Fir85M3RS8cEAOo4/1ASVudz3qKZQEhU2Z9O2ydXqpEanHfGirjWYi5RelVsQ9IfBSPFaPAWzQ24nvQ18NU7TgdDQhP4meZXiVXcLBR5Mee2kByf2KAnBUF9aah5s8wZbSrC6u8xEZLuiauvWmCUIWe0Ylc1/L37XeDjrBI2pT+k183X119d6Fr1BACGfZVGsot5rxBUEFPPSrBqYXG/0hRYv9Eq8a4rJAHK2IUWYfivZgL4DtrJnHlha+H5EPQVYkIAN3nGjXoHmosY+J3Sk+GyR+dCBHEwCkoHMKph3igczCEfxAWgqKeYd5mf+QQq2JKrkn2jceiIO7s3CrepeEFAjDSGuxhZjPJVm7QoRGFuaWVsIFAuIE1haG9uZXkgPGRhbm1AcHJpbWUuZ3VzaGkub3JnPohOBBARAgAOBQI52NrxBAsDAQICGQEACgkQ+75aMGJLskn6LgCbBXUD7UmGla5e1zyhuY667hP3F+UAoJIeDZJyRFkQAmb+u8KekRyLD1MLtDJEYW5pZWwgTWFob25leSAoU2Vjb25kYXJ5IEVtYWlsKSA8Z3VzaGlAZ3VzaGkub3JnPohgBBMRAgAgBQJF1J/XAhsjBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ+75aMGJLskkVhACggsivQ9qLhfdA1rGm6f8LRJBSC4wAoI930h+/hshClj6AkNwGRtHdf5XJuQINBDnY2vQQCAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICB/9eGjzF2gDh6U7I72x/6bSdlExx2LvIF92OZKc0S55IOS4Lgzs7Hbfm1aOL4oJt7wBg94xkF4cerxz7y8R9J+k3GNl14KOjbYaMAh1rdxdAzikYMH1p1hS78GMtwxky6jE5en87BGGMmnbC84JlxwN+MD7diu8D0Gkgjj/pxOp32D5jEe02wBPVjFTpFLJjpFniLUY6AohRDEdSuZwWPuoKVWhpeWkasNn5qgwGyDREbXpyPsU02BkwE4JiGs+JMMdOn9KMh5dxiuwsMM9gHiQZS3mSNBBKPWI5ZXsdStVFvapjf2FUFDXLUbTROPv1Xhqf0u7YYORFnWeVtvzKIxVaiEYEGBECAAYFAjnY2vQACgkQ+75aMGJLsklBWgCeN7z9xk52y/aoaCuF6hYb0d+3k98AoMRxvHuXI1Nc2FXY/x65PwHiUbaY") - rr = RR.create("all.rr.org. IN CERT 6 0 0 FFsAyW1dVK7hIGuvhN56r26UwJx/") -# rr = RR.create("all.rr.org. IN WKS 128.32.0.10 UDP who route timed domain") - rr = RR.create('selector._domainkey.all.rr.org. IN TXT "v=DKIM1; n=Use=20DKIM; p=AwEAAZfbYw8SffZwsbrCLbC+JLErREIF6Yfe9aqsa1Pz6tpGWiLxm9rSL6/YoBvNP3UWX91YDF0JMo6lhu3UIZjITvIwDhx+RJYko9vLzaaJKXGf3ygy6z+deWoZJAV1lTY0Ltx9genboe88CSCHw9aSLkh0obN9Ck8R6zAMYR19ciM/; t=s"') - end - - def test_dhcid - rr = RR.create("all.rr.org. IN DHCID AAIBY2/AuCccgoJbsaxcQc9TUapptP69lOjxfNuVAA2kjEA=") - m = Dnsruby::Message.new - m.add_additional(rr) - data = m.encode - m2 = Dnsruby::Message.decode(data) - rr2 = m2.additional()[0] - assert(rr == rr2) - end - - def test_loc - rr = RR.create("all.rr.org. IN LOC 42 21 54 N 71 06 18 W -24m 30m") - assert(rr.vert_pre == 1000) - assert(rr.horiz_pre == 1000000) - assert(rr.to_s.index("21")) - assert(rr.to_s.index("71")) - assert(rr.to_s.index("54")) - assert(rr.to_s.index("71")) - assert(rr.to_s.index("06")) - assert(rr.to_s.index("18")) - - r2 = RR.create("helium IN LOC 51 49 17.9 N 4 39 22.9 E 0m") - assert(r2.size == 100) - assert(r2.to_s.index("17.9")) - assert(r2.to_s.index("22.9")) - end - - def test_hinfo - rr = RR.create('helium IN HINFO "Shuttle-ST61G4 Intel PIV3000" "FreeBSD 7.0-STABLE"') - assert rr.to_s.index('"Shuttle-ST61G4 Intel PIV3000"') - assert rr.to_s.index('"FreeBSD 7.0-STABLE"') - end - - def test_private_method_really_private - begin - RR._get_subclass(nil, nil, nil, nil, nil) - raise "This should not have gotten here; the method should have been private" - rescue NoMethodError - # We should be here because the method should not have been found. - end - end - - # TTL should be ignored when calculating the hash of an RR. - def test_hash_ignores_ttl - a1 = RR.new_from_string 'techhumans.com. 1111 IN A 69.89.31.97' - a2 = RR.new_from_string 'techhumans.com. 1111 IN A 69.89.31.97' - a3 = RR.new_from_string 'techhumans.com. 2222 IN A 69.89.31.97' - assert_equal a1.hash, a2.hash - assert_equal a1.hash, a3.hash - end - - def _test_duplicate_answer(method_as_symbol) - expected_count = case method_as_symbol - when :add_answer - 1 - when :add_answer! - 2 - end - - rr = RR.new_from_string 'techhumans.com. 1111 IN A 69.89.31.97' - message = Message.new - 2.times { message.send(method_as_symbol, rr) } - assert_equal(expected_count, message.header.ancount) - end - - def test_add_dup_answer_no_force - _test_duplicate_answer(:add_answer) - end - - def test_add_dup_answer_force - _test_duplicate_answer(:add_answer!) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rrset.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rrset.rb deleted file mode 100644 index a074f29..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rrset.rb +++ /dev/null @@ -1,133 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class RrsetTest < Minitest::Test - def test_rrset - rrset = Dnsruby::RRSet.new - - - rr=Dnsruby::RR.create({ :name => "example.com", - :ttl => 3600, - :type => 'MX', - :preference => 10, - :exchange => 'mx-exchange.example.com', - }) - - rrset.add(rr) - rr.preference = 12 - rrset.add(rr) - rr.preference = 1 - rrset.add(rr) - - canon = rrset.sort_canonical - - assert(1 == canon[0].preference) - assert(10 == canon[1].preference) - assert(12 == canon[2].preference) - - assert(rrset.sigs.length == 0) - assert(rrset.num_sigs == 0) - assert(rrset.rrs.length == 3) - - # Check RRSIG records (only of the right type) can be added to the RRSet - sig = Dnsruby::RR.create({:name=>"example.com", :ttl => 3600, - :type => 'RRSIG', - :type_covered => 'A', - :original_ttl => 3600, - :algorithm => Dnsruby::Algorithms::RSASHA1, - :labels => 3, - :expiration => Time.mktime(2003,03,22,17,31, 03).to_i, - :inception => Time.mktime(2003,02,20,17,31,03).to_i, - :key_tag => 2642 - }) - assert(!rrset.add(sig)) - assert(rrset.sigs.length == 0) - assert(rrset.num_sigs == 0) - assert(rrset.rrs.length == 3) - sig.type_covered = Dnsruby::Types.MX - assert(rrset.add(sig)) - assert(rrset.sigs.length == 1) - assert(rrset.num_sigs == 1) - assert(rrset.rrs.length == 3) - sig.name="example.co.uk" - assert(!rrset.add(sig)) - assert(rrset.sigs.length == 1) - assert(rrset.num_sigs == 1) - assert(rrset.rrs.length == 3) - end - - def test_real_rrset - uuencodedPacket = %w{ -7c 7d 81 80 00 01 00 02 00 0b 00 0d 03 6e 73 31 -03 6e 69 63 02 75 6b 00 00 ff 00 01 c0 0c 00 01 -00 01 00 02 a2 cc 00 04 c3 42 f0 82 c0 0c 00 1c -00 01 00 02 88 93 00 10 2a 01 00 40 10 01 00 35 -00 00 00 00 00 00 00 02 c0 10 00 02 00 01 00 02 -a2 cc 00 06 03 6e 73 33 c0 10 c0 10 00 02 00 01 -00 02 a2 cc 00 06 03 6e 73 35 c0 10 c0 10 00 02 -00 01 00 02 a2 cc 00 02 c0 0c c0 10 00 02 00 01 -00 02 a2 cc 00 06 03 6e 73 32 c0 10 c0 10 00 02 -00 01 00 02 a2 cc 00 06 03 6e 73 62 c0 10 c0 10 -00 02 00 01 00 02 a2 cc 00 06 03 6e 73 64 c0 10 -c0 10 00 02 00 01 00 02 a2 cc 00 06 03 6e 73 34 -c0 10 c0 10 00 02 00 01 00 02 a2 cc 00 06 03 6e -73 36 c0 10 c0 10 00 02 00 01 00 02 a2 cc 00 06 -03 6e 73 61 c0 10 c0 10 00 02 00 01 00 02 a2 cc -00 06 03 6e 73 37 c0 10 c0 10 00 02 00 01 00 02 -a2 cc 00 06 03 6e 73 63 c0 10 c0 86 00 01 00 01 -00 02 96 62 00 04 d9 4f a4 83 c0 54 00 01 00 01 -00 02 96 8e 00 04 d5 db 0d 83 c0 bc 00 01 00 01 -00 02 97 08 00 04 c2 53 f4 83 c0 bc 00 1c 00 01 -00 02 96 62 00 10 20 01 06 30 01 81 00 35 00 00 -00 00 00 00 00 83 c0 66 00 01 00 01 00 02 96 85 -00 04 d5 f6 a7 83 c0 ce 00 01 00 01 00 02 96 85 -00 04 d5 f8 fe 82 c0 f2 00 01 00 01 00 02 96 85 -00 04 d4 79 28 82 c0 e0 00 01 00 01 00 02 97 08 -00 04 cc 4a 70 2c c0 e0 00 1c 00 01 00 02 96 62 -00 10 20 01 05 02 d3 99 00 00 00 00 00 00 00 00 -00 44 c0 98 00 01 00 01 00 02 96 8e 00 04 cc 4a -71 2c c1 04 00 01 00 01 00 02 96 9b 00 04 c7 07 -42 2c c0 aa 00 01 00 01 00 02 96 71 00 04 c7 07 -43 2c c0 aa 00 1c 00 01 00 02 96 62 00 10 20 01 -05 02 10 0e 00 00 00 00 00 00 00 00 00 44 - } - uuencodedPacket.map!{|e| e.hex} - packetdata = uuencodedPacket.pack('c*') - - message = Dnsruby::Message.decode(packetdata) -# message.additional.rrsets.each {|rr| print "RRSet : #{rr}\n"} - sec_hash = message.section_rrsets(nil, true) # include the OPT record - sec_hash.each {|section, rrsets| - rrsets.each {|rrset| -# print "#{section} rrset : #{rrset}\n" - rrset.each { |rr| - } - } - } - - - sec_hash = message.section_rrsets(nil, true) # include the OPT record - sec_hash.each {|section, rrsets| - rrsets.each {|rrset| -# print "#{section} rrset : #{rrset}\n" - rrset.each { |rr| - } - } - } - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rrsig.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rrsig.rb deleted file mode 100644 index 4c89f2a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_rrsig.rb +++ /dev/null @@ -1,57 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class RrsigTest < Minitest::Test - INPUT = "host.example.com. 86400 IN RRSIG A 5 3 86400 20030322173103 ( " + - "20030220173103 2642 example.com. " + - "oJB1W6WNGv+ldvQ3WDG0MQkg5IEhjRip8WTr" + - "PYGv07h108dUKGMeDPKijVCHX3DDKdfb+v6o" + - "B9wfuh3DTJXUAfI/M0zmO/zz8bW0Rznl8O3t" + - "GNazPwQKkRN20XPXV6nwwfoXmJQbsLNrLfkG" + - "J5D6fwFm8nN+6pBzeDQfsS3Ap3o= )" - def test_rrsig_from_string - rrsig = Dnsruby::RR.create(INPUT) - - assert_equal(Dnsruby::Types.A, rrsig.type_covered) - assert_equal(Dnsruby::Algorithms::RSASHA1, rrsig.algorithm) - assert_equal(3, rrsig.labels) - assert_equal(86400, rrsig.original_ttl) - assert_equal(Time.gm(2003,03,22,17,31, 03).to_i, rrsig.expiration) - assert_equal(Time.gm(2003,02,20,17,31,03).to_i, rrsig.inception) - assert_equal(2642, rrsig.key_tag) - assert_equal(Dnsruby::Name.create("example.com."), rrsig.signers_name) - assert_equal("oJB1W6WNGv+ldvQ3WDG0MQkg5IEhjRip8WTr" + - "PYGv07h108dUKGMeDPKijVCHX3DDKdfb+v6o" + - "B9wfuh3DTJXUAfI/M0zmO/zz8bW0Rznl8O3t" + - "GNazPwQKkRN20XPXV6nwwfoXmJQbsLNrLfkG" + - "J5D6fwFm8nN+6pBzeDQfsS3Ap3o=", ([rrsig.signature].pack("m*")).gsub(/\n/,"").chomp) - - rrsig2 = Dnsruby::RR.create(rrsig.to_s) - assert(rrsig2.to_s == rrsig.to_s) - end - - def test_unknown_types - rr = Dnsruby::RR.create("a.unknown.rr.org. 16070400 IN RRSIG TYPE731 7 4 16070400 20110220190432 20091112142325 59079 unknown.rr.org. a/iqriTleD/pkiXhH2HunBzbJ113JliHu8MrN30hwR5U8uR+FQ9UwoyqFVKmMFvhr66Q+Bn2leJhszJVLHM0GZpEP3yU9Kiux5z2sWxdNZY1phuVfe7vQhzPCG9a/gaNtOd/p42OaQRIvDpdp7Ey4m+2Lq/PfovuAa8jl1HBBSxYbt2sZ4Qh9IrP7qkabGzuF3iK8Kf+QTV+ty9enMRhv2zbGVJv0/KjfeOmLBpDnLxDtNN23ObqO2y31Ci434bWYbHRZJMofUWw/0cJHdw4qlnfraLHiXQSW/tT71mS/7CgHJcSZ89hdDFv8drAy/8py0MLT9nLrsvzH5F/knU/oA== ;{id = 59079}") - assert(rr.type_covered == Dnsruby::Types.TYPE731) - end - - def test_string_with_comments - r = Dnsruby::RR.create("tjeb.nl. 3600 IN RRSIG NSEC3PARAM 7 2 3600 20090630164649 20090602164649 53177 tjeb.nl. Fw70WQMviRFGyeze3MUpfafaAcWIvHRpnq4ZK3lxexrR1p+rLxK5C4qVKU71XYrPYR7XEBxgUG1oyKNOhFOVyx31EjC462dz7Vxn6UDpD1LIwNnD28+oHfS9AFzGKcn4zUZqT+8IvOO1jiS9c3Y8WAkOloN9AwGIIKWU8zAp1n4= ;{id = 53177}") - assert_equal("Fw70WQMviRFGyeze3MUpfafaAcWIvHRpnq4ZK3lxexrR1p+rLxK5C4qVKU71XYrPYR7XEBxgUG1oyKNOhFOVyx31EjC462dz7Vxn6UDpD1LIwNnD28+oHfS9AFzGKcn4zUZqT+8IvOO1jiS9c3Y8WAkOloN9AwGIIKWU8zAp1n4=", ([r.signature].pack("m*")).gsub(/\n/,"").chomp) - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_single_resolver.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_single_resolver.rb deleted file mode 100644 index f5fa7ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_single_resolver.rb +++ /dev/null @@ -1,314 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestSingleResolver < Minitest::Test - - include Dnsruby - - Thread::abort_on_exception = true - # Dnsruby.log.level=Logger::DEBUG - - def setup - Dnsruby::Config.reset - end - - Rrs = [ - { - :type => Types.A, - :name => 'a.t.net-dns.org', - :address => '10.0.1.128' - }, - { - :type => Types::MX, - :name => 'mx.t.net-dns.org', - :exchange => 'a.t.net-dns.org', - :preference => 10 - }, - { - :type => 'CNAME', - :name => 'cname.t.net-dns.org', - :domainname => 'a.t.net-dns.org' - }, - { - :type => Types.TXT, - :name => 'txt.t.net-dns.org', - :strings => ['Net-DNS'] - } - ] - - def test_simple - res = SingleResolver.new() - m = res.query("ns1.google.com.") - end - - def test_timeout - # if ((RUBY_PLATFORM=~/darwin/) == nil) - # Run a query which will not respond, and check that the timeout works - start_time = 0 - begin - udps = UDPSocket.new - udps.bind("127.0.0.1", 0) - port = *udps.addr.values_at(3, 1) - - begin - Dnsruby::PacketSender.clear_caches - res = SingleResolver.new("127.0.0.1") - res.port = port - res.packet_timeout=1 - start_time = Time.now.to_i - m = res.query("a.t.net-dns.org") - fail "Got response when should have got none" - rescue ResolvTimeout - stop_time = Time.now.to_i - assert((stop_time - start_time) <= (res.packet_timeout * 2), - "UDP timeout too long : #{stop_time - start_time}" + - ", should be #{res.packet_timeout}") - end - begin - Dnsruby::PacketSender.clear_caches - res = SingleResolver.new("127.0.0.1") - res.port = port - res.use_tcp = true - res.packet_timeout=1 - start_time = Time.now.to_i -# TheLog.level = Logger::DEBUG - m = res.query("a.t.net-dns.org") - fail "TCP timeouts" - rescue ResolvTimeout - # print "Got Timeout for TCP\n" - stop_time = Time.now.to_i - assert((stop_time - start_time) <= (res.packet_timeout * 2), - "TCP timeout too long : #{stop_time - start_time}, should be #{res.packet_timeout}") - rescue Exception => e - fail(e) - end - TheLog.level = Logger::ERROR - rescue - udps.close - end - end - - def test_queue_timeout - port = 46129 -# if (!RUBY_PLATFORM=~/darwin/) - begin - udps = UDPSocket.new - udps.bind("127.0.0.1", 0) - port = *udps.addr.values_at(3, 1) - res = SingleResolver.new("127.0.0.1") - res.dnssec = true - res.port = port - res.packet_timeout=1 - q = Queue.new - msg = Message.new("a.t.net-dns.org") - res.send_async(msg, q, msg) - id, ret, error = q.pop - assert(id==msg) - assert(ret==nil) - assert(error.class == ResolvTimeout) - rescue - udps.close - end -# end - end - - def test_queries - res = SingleResolver.new - - Rrs.each do |data| - packet=nil - 2.times do - begin - packet = res.query(data[:name], data[:type]) - rescue ResolvTimeout - end - break if packet - end - assert(packet) - assert_equal(packet.question[0].qclass, 'IN', 'Class correct') - - assert(packet, "Got an answer for #{data[:name]} IN #{data[:type]}") - assert_equal(1, packet.header.qdcount, 'Only one question') - # assert_equal(1, answer.length, "Got single answer (for question #{data[:name]}") - - question = (packet.question)[0] - answer = (packet.answer)[0] - - assert(question, 'Got question') - assert_equal(data[:name], question.qname.to_s, 'Question has right name') - assert_equal(Types.new(data[:type]), question.qtype, 'Question has right type') - assert_equal('IN', question.qclass.string, 'Question has right class') - - assert(answer) - assert_equal(answer.klass, 'IN', 'Class correct') - - - data.keys.each do |meth| - if (meth == :type) - assert_equal(Types.new(data[meth]).to_s, answer.send(meth).to_s, "#{meth} correct (#{data[:name]})") - else - assert_equal(data[meth].to_s, answer.send(meth).to_s, "#{meth} correct (#{data[:name]})") - end - end - end # do - end - - # test_queries - - # @TODO@ Although the test_thread_stopped test runs in isolation, it won't run as part - # of the whole test suite (ts_dnsruby.rb). Commented out until I can figure out how to - # get Test::Unit to run this one sequentially... - # def test_thread_stopped - # res=SingleResolver.new - # # Send a query, and check select_thread running. - # m = res.query("example.com") - # assert(Dnsruby::SelectThread.instance.select_thread_alive?) - # # Wait a second, and check select_thread stopped. - # sleep(2) - # assert(!Dnsruby::SelectThread.instance.select_thread_alive?) - # # Send another query, and check select_thread running. - # m = res.query("example.com") - # assert(Dnsruby::SelectThread.instance.select_thread_alive?) - # end - - def test_res_config - res = Dnsruby::SingleResolver.new - - res.server=('a.t.net-dns.org') - ip = res.server - assert_equal('10.0.1.128', ip.to_s, 'nameserver() looks up IP.') - - res.server=('cname.t.net-dns.org') - ip = res.server - assert_equal('10.0.1.128', ip.to_s, 'nameserver() looks up cname.') - end - - # def test_truncated_response - # res = SingleResolver.new - # # print "Dnssec = #{res.dnssec}\n" - # # res.server=('ns0.validation-test-servers.nominet.org.uk') - # res.server=('ns.nlnetlabs.nl') - # res.packet_timeout = 15 - # begin - # m = res.query("overflow.net-dns.org", 'txt') - # assert(m.header.ancount == 62, "62 answer records expected, got #{m.header.ancount}") - # assert(!m.header.tc, "Message was truncated!") - # rescue ResolvTimeout => e - # rescue ServFail => e # not sure why, but we get this on Travis... - # end - # end - - def test_illegal_src_port - # Try to set src_port to an illegal value - make sure error raised, and port OK - res = SingleResolver.new - tests = [53, 387, 1265, 3210, 48619] - tests.each do |bad_port| - begin - res.src_port = bad_port - fail("bad port #{bad_port}") - rescue - end - end - end - - def test_add_src_port - # Try setting and adding port ranges, and invalid ports, and 0. - res = SingleResolver.new - res.src_port = [56789, 56790, 56793] - assert(res.src_port == [56789, 56790, 56793]) - res.src_port = 56889..56891 - assert(res.src_port == [56889, 56890, 56891]) - res.add_src_port(60000..60002) - assert(res.src_port == [56889, 56890, 56891, 60000, 60001, 60002]) - res.add_src_port([60004, 60005]) - assert(res.src_port == [56889, 56890, 56891, 60000, 60001, 60002, 60004, 60005]) - res.add_src_port(60006) - assert(res.src_port == [56889, 56890, 56891, 60000, 60001, 60002, 60004, 60005, 60006]) - # Now test invalid src_ports - tests = [0, 53, [60007, 53], [60008, 0], 55..100] - tests.each do |x| - begin - res.add_src_port(x) - fail() - rescue - end - end - assert(res.src_port == [56889, 56890, 56891, 60000, 60001, 60002, 60004, 60005, 60006]) - end - - # TODO THIS TEST DOES NOT WORK ON TRAVIS - # It works fine outside of Travis, so feel free to uncomment it and run it locally - # Just don't check it in, as Travis will bork - not sure why, something to do with setting up localhost servers - # def test_options_preserved_on_tcp_resend - # # Send a very small EDNS message to trigger tcp resend. - # # Can we do that without using send_raw and avoiding the case we want to test? - # # Sure - just knock up a little server here, which simply returns the response with the - # # TC bit set, and records both packets sent to it - # # Need to listen once on UDP and once on TCP - # udpPacket = nil - # tcpPacket = nil - # port = 59821 - # thread = Thread.new { - # u = UDPSocket.new() - # u.bind("localhost", port) - # - # s = u.recvfrom(15000) - # received_query = s[0] - # udpPacket = Message.decode(received_query) - # u.connect(s[1][2], s[1][1]) - # udpPacket.header.tc = true - # u.send(udpPacket.encode(), 0) - # u.close - # - # ts = TCPServer.new(port) - # t = ts.accept - # packet = t.recvfrom(2)[0] - # - # len = (packet[0]<<8)+packet[1] - # if (RUBY_VERSION >= "1.9") - # len = (packet[0].getbyte(0)<<8)+packet[1].getbyte(0) # Ruby 1.9 - # end - # packet = t.recvfrom(len)[0] - # tcpPacket = Message.decode(packet) - # tcpPacket.header.tc = true - # lenmsg = [tcpPacket.encode.length].pack('n') - # t.send(lenmsg, 0) - # t.write(tcpPacket.encode) - # t.close - # ts.close - # } - # ret = nil - # done = true; - # thread2 = Thread.new { - # r = SingleResolver.new("localhost") - # r.port = port - # begin - # ret = r.query("example.com") - # rescue OtherResolvError => e - # done = false - # end - # } - # thread.join - # thread2.join - # if (done) - # assert(tcpPacket && udpPacket) - # assert(tcpPacket.header == udpPacket.header) - # assert(tcpPacket.additional.rrsets('OPT', true)[0].rrs()[0].ttl == udpPacket.additional.rrsets('OPT', true)[0].rrs()[0].ttl, "UDP : #{udpPacket.additional.rrsets('OPT', true)[0].rrs()[0]}, TCP #{tcpPacket.additional.rrsets('OPT', true)[0].rrs()[0]}") - # end - # end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_soak.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_soak.rb deleted file mode 100644 index 8e01e2d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_soak.rb +++ /dev/null @@ -1,256 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -# require_relative 'tc_single_resolver' -require_relative 'tc_soak_base' -require_relative 'test_dnsserver' -require_relative 'localdns' - - -# This class tries to soak test the Dnsruby library. -# It can't do this very well, owing to the small number of sockets allowed to be open simultaneously. -# @TODO@ Future versions of dnsruby will allow random streaming over a fixed number of (cycling) random sockets, -# so this test can be beefed up considerably at that point. - -class TestSingleResolverSoak < Minitest::Test - - IP = SimpleTCPPipeliningUDPServer::IP - PORT = SimpleTCPPipeliningUDPServer::PORT - - def initialize(arg) - super(arg) - end - - def teardown - Celluloid.shutdown - end - - SINGLE_RESOLVER_QUERY_TIMES = 63 - - def setup - # Instantiate a local dns server - pipe = IO.popen("./test/localdns.rb") - @dnspid = pipe.pid - sleep 1 - end - - def teardown - Process.kill("KILL", @dnspid) - sleep 1 - end - - def test_many_asynchronous_queries_one_single_resolver - run_many_asynch_queries_test_single_res(1) - end - - def test_many_asynchronous_queries_many_single_resolvers - run_many_asynch_queries_test_single_res(50) - end - - def test_many_asynchronous_queries_one_single_resolver_tcp - run_many_asynch_queries_test_single_res(1, true) - end - - def test_many_asynchronous_queries_many_single_resolvers_tcp - run_many_asynch_queries_test_single_res(50, true) - end - - def test_many_asynchronous_queries_one_single_resolver_tcp_pipelining - run_many_asynch_queries_test_single_res(1, true, true) - end - - def test_many_asynchronous_queries_many_single_resolvers_tcp_pipelining - run_many_asynch_queries_test_single_res(50, true, true) - end - - def run_many_asynch_queries_test_single_res(num_resolvers, tcp = false, pipelining = false) - q = Queue.new - timeout_count = 0 - resolvers = Array.new(num_resolvers) do - Dnsruby::SingleResolver.new(server: IP, - port: PORT, - do_caching: false, - do_validation: false, - tcp_pipelining: pipelining, - packet_timeout: 10, - tcp_pipelining_max_queries: 5, - use_tcp: tcp) - end - start = Time.now - - # @todo@ On windows, MAX_FILES is 256. This means that we have to limit - # this test while we're not using single sockets. - # We run four queries per iteration, so we're limited to 64 runs. - messages = TestSoakBase::Rrs.map do |data| - message = Dnsruby::Message.new(data[:name], data[:type]) - message.do_validation = false - message.do_caching = false - message - end - - query_count = SINGLE_RESOLVER_QUERY_TIMES * messages.count - - receive_thread = Thread.new do - query_count.times do - _id, ret, error = q.pop - if error.is_a?(Dnsruby::ResolvTimeout) - timeout_count+=1 - elsif ret.class != Dnsruby::Message - p "ERROR RETURNED : #{error}" - end - end - end - - resolver_cycler = resolvers.cycle - - SINGLE_RESOLVER_QUERY_TIMES.times do |i| - rr_count = 0 - messages.each do | message | - rr_count += 1 - resolver_cycler.next.send_async(message, q, rr_count + i * messages.count) - # p "Sent #{i}, #{rr_count}, Queue #{q}" - end - end - - receive_thread.join - - time_taken = Time.now - start - puts "Query count : #{query_count}, #{timeout_count} timed out. #{time_taken} time taken" - assert(timeout_count < query_count * 0.1, "#{timeout_count} of #{query_count} timed out!") - end - - def test_many_threads_on_one_single_resolver_synchronous - # Test multi-threaded behaviour - # Check the header IDs to make sure they're all different - threads = Array.new - - res = create_default_single_resolver - ids = [] - mutex = Mutex.new - timeout_count = 0 - query_count = 0 - res.packet_timeout=4 - start=Time.now - # Windows limits us to 256 sockets - num_times=250 - if (/java/ =~ RUBY_PLATFORM) - # JRuby threads are native threads, so let's not go too mad! - num_times=50 - end - num_times.times do |i| - threads[i] = Thread.new{ - 40.times do |j| - TestSoakBase::Rrs.each do |data| - mutex.synchronize { query_count += 1 } - packet=nil - begin - packet = res.query(data[:name], data[:type]) - rescue Dnsruby::ResolvTimeout - mutex.synchronize { timeout_count += 1 } - next - end - assert(packet) - ids.push(packet.header.id) - assert_equal(packet.question[0].qclass, 'IN', 'Class correct' ) - end - end - } - end - threads.each do |thread| - thread.join - end - stop=Time.now - time_taken=stop-start - puts "Query count : #{query_count}, #{timeout_count} timed out. #{time_taken} time taken" - # check_ids(ids) # only do this if we expect all different IDs - e.g. if we stream over a single socket - assert(timeout_count < query_count * 0.1, "#{timeout_count} of #{query_count} timed out!") - end - - def check_ids(ids) - ids.sort! - count = 0 - ids.each do |id| - count+=1 - if (count < ids.length-1) - assert(ids[count+1] != id, "Two identical header ids used!") - end - end - end - - def test_many_threads_on_many_single_resolvers - # Test multi-threaded behaviour - # @todo@ Check the header IDs to make sure they're all different - threads = Array.new - mutex = Mutex.new - timeout_count = 0 - query_count = 0 - start=Time.now - num_times=250 - if (/java/ =~ RUBY_PLATFORM) - # JRuby threads are native threads, so let's not go too mad! - num_times=50 - end - num_times.times do |i| - threads[i] = Thread.new{ - res = create_default_single_resolver - 40.times do |j| - TestSoakBase::Rrs.each do |data| - mutex.synchronize do - query_count+=1 - end - q = Queue.new - - message = Dnsruby::Message.new(data[:name], data[:type]) - message.do_validation = false - message.do_caching = false - - res.send_async(message, q, [i,j]) - - id, packet, error = q.pop - if (error.class == Dnsruby::ResolvTimeout) - mutex.synchronize { - timeout_count+=1 - } - next - elsif (packet.class!=Dnsruby::Message) - puts "ERROR! #{error}" - end - - assert(packet) - assert_equal(packet.question[0].qclass, 'IN', 'Class correct' ) - end - end - } - end - # NOTE: For methods on the objects taking no params, we can use this shorthand. - threads.each(&:join) - - time_taken = Time.now - start - puts "Query count : #{query_count}, #{timeout_count} timed out. #{time_taken} time taken" - assert(timeout_count < query_count * 0.1, "#{timeout_count} of #{query_count} timed out!") - end - - def create_default_single_resolver - Dnsruby::SingleResolver.new(server: IP, - port: PORT, - do_caching: false, - do_validation: false, - packet_timeout: 10) - - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_soak_base.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_soak_base.rb deleted file mode 100644 index 1866f4a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_soak_base.rb +++ /dev/null @@ -1,152 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestSoakBase # < Minitest::Test - - include Dnsruby - - Rrs = [ - { - :type => Types.A, - :name => 'ns1.google.com.', - :address => '10.0.1.128' - }, - { - :type => Types::MX, - :name => 'ns1.google.com.', - :exchange => 'ns1.google.com.', - :preference => 10 - }, - { - :type => 'CNAME', - :name => 'ns1.google.com.', - :domainname => 'a.t.dnsruby.validation-test-servers.nominet.org.uk' - }, - { - :type => Types.TXT, - :name => 'ns1.google.com.', - :strings => ['Net-DNS'] - } - ] - - def TestSoakBase.test_continuous_queries_asynch_single_res - # Have two threads looping, with one sending, and one receiving queries. - # Never exceed more than 200 concurrent queries, but make sure they're always running. - outstanding_limit = 1 - num_loops = 2000 - num_sent = 0 - q = Queue.new - timed_out = 0 - mutex = Mutex.new - start = Time.now - num_in_progress = 0 - sender = Thread.new{ - res = SingleResolver.new - res.packet_timeout=5 - num_loops.times do |i| - rr_count = 0 - Rrs.each do |data| - rr_count+=1 - while (mutex.synchronize{num_in_progress> outstanding_limit}) do - sleep(0.01) - end - res.send_async(Message.new(data[:name], data[:type]), q, [i,rr_count]) - puts num_sent - num_sent+=1 - mutex.synchronize { - num_in_progress+=1 - } - end - end - - } - receiver = Thread.new{ - (num_loops*4).times do |i| - id,ret, error = q.pop - mutex.synchronize { - num_in_progress-=1 - } - if (error.class == ResolvTimeout) - timed_out+=1 - # p "Number #{i} timed out!" - elsif (ret.class != Message) - Dnsruby.log.debug("tc_single_resolver : Query #{i} ERROR RETURNED : #{error.class}, #{error}") - end - end - } - sender.join - receiver.join - assert(num_in_progress==0) - stop=Time.now - time_taken=stop-start - puts "Query count : #{num_sent}, #{timed_out} timed out. #{time_taken} time taken" - assert(timed_out < num_sent * 0.1, "#{timed_out} of #{num_sent} timed out!") - end - - def TestSoakBase.test_continuous_queries_asynch_resolver - # Have two threads looping, with one sending, and one receiving queries. - # Never exceed more than 250 concurrent queries, but make sure they're always running. - num_loops = 1000 - num_sent = 0 - q = Queue.new - timed_out = 0 - mutex = Mutex.new - start = Time.now - num_in_progress = 0 - sender = Thread.new{ - res = Resolver.new - # On windows, MAX_FILES is 256. This means that we have to limit - # this test while we're not using single sockets. - # We run four queries per iteration, so we're limited to 64 runs. - num_loops.times do |i| - while (mutex.synchronize{num_in_progress> 50}) do # One query has several sockets in Resolver - sleep(0.01) - end - res.send_async(Message.new("example.com", Types.A), q, [i,1]) - num_sent+=1 - mutex.synchronize { - num_in_progress+=1 - } - end - } - error_count=0 - receiver = Thread.new{ - (num_loops).times do |i| - id,ret, error = q.pop - mutex.synchronize { - num_in_progress-=1 - } - if (error.class == ResolvTimeout) - timed_out+=1 - # p "Number #{i} timed out!" - elsif (ret.class != Message) - error_count+=1 - Dnsruby.log.error("tc_single_resolver : Query #{i} ERROR RETURNED : #{error.class}, #{error}") - end - end - } - sender.join - receiver.join - assert(num_in_progress==0) - stop=Time.now - time_taken=stop-start - puts "Query count : #{num_sent}, #{timed_out} timed out, #{error_count} other errors. #{time_taken} time taken" - assert(timed_out < num_sent * 0.1, "#{timed_out} of #{num_sent} timed out!") - assert(error_count == 0) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_sshfp.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_sshfp.rb deleted file mode 100644 index 8f72d3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_sshfp.rb +++ /dev/null @@ -1,43 +0,0 @@ - -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestSSHFP < Minitest::Test - - include Dnsruby - - def test_sshfp - txt = "apt-blade6.nominet.org.uk. 85826 IN SSHFP 1 1 6D4CF7C68E3A959990855099E15D6E0D4DEA4FFF" - sshfp = RR.create(txt) - assert(sshfp.type == Types.SSHFP) - assert(sshfp.alg == RR::SSHFP::Algorithms.RSA) - assert(sshfp.fptype == RR::SSHFP::FpTypes.SHA1) - assert(sshfp.fp.unpack("H*")[0].upcase == "6D4CF7C68E3A959990855099E15D6E0D4DEA4FFF") - - m = Dnsruby::Message.new - m.add_additional(sshfp) - data = m.encode - m2 = Dnsruby::Message.decode(data) - sshfp2 = m2.additional()[0] - assert(sshfp.fptype == sshfp2.fptype) - assert(sshfp.alg == sshfp2.alg) - assert(sshfp.fp == sshfp2.fp) - assert(sshfp == sshfp2) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tcp.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tcp.rb deleted file mode 100644 index 66d6545..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tcp.rb +++ /dev/null @@ -1,191 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -require 'socket' -class TestTcp < Minitest::Test - def test_TCP - res = Dnsruby::Resolver.new() - res.use_tcp = true - ret=res.query("example.com") - assert(ret.is_a?(Dnsruby::Message)) - end - def test_TCP_port - # Need a test server so we can tell what port this message was actually sent on! - port = nil - src_port = 57923 - Dnsruby::PacketSender.clear_caches - received_port = nil - server_thread = Thread.new { - ts = TCPServer.new(0) - port = ts.addr[1] - t = ts.accept - # Check that the source port was src_port - received_port = t.peeraddr()[1] - packet = t.recvfrom(2)[0] - - len = (packet[0]<<8)+packet[1] - if (RUBY_VERSION >= "1.9") - len = (packet[0].getbyte(0)<<8)+packet[1].getbyte(0)# Ruby 1.9 - end - packet = t.recvfrom(len)[0] - tcpPacket = Dnsruby::Message.decode(packet) - tcpPacket.header.tc = true - lenmsg = [tcpPacket.encode.length].pack('n') - t.send(lenmsg, 0) - t.write(tcpPacket.encode) - t.close - ts.close - } - ret = nil - sleep(1) - client_thread = Thread.new { -# res = Dnsruby::SingleResolver.new("127.0.0.1") - res = Dnsruby::SingleResolver.new("localhost") - res.port = port - res.use_tcp = true - res.src_port=src_port - ret=res.query("example.com") - } - server_thread.join - client_thread.join - assert(received_port == src_port) - assert(ret.is_a?(Dnsruby::Message)) - end - -# def test_no_tcp -# # Try to get a long response (which is truncated) and check that we have -# @TODO@ FIX THIS TEST!!! -# # tc bit set -# res = Dnsruby::Resolver.new() -# res.udp_size = 512 -# res.no_tcp = true -# ret = res.query("overflow.dnsruby.validation-test-servers.nominet.org.uk", Dnsruby::Types.TXT) -# assert(ret.header.tc, "Message should be truncated with no TCP") -# end - - class HackMessage < Dnsruby::Message - def wipe_additional - @additional = Dnsruby::Section.new(self) - end - - # Decode the encoded message - def HackMessage.decode(m) - o = HackMessage.new() - begin - Dnsruby::MessageDecoder.new(m) {|msg| - o.header = Dnsruby::Header.new(msg) - o.header.qdcount.times { - question = msg.get_question - o.question << question - } - o.header.ancount.times { - rr = msg.get_rr - o.answer << rr - } - o.header.nscount.times { - rr = msg.get_rr - o.authority << rr - } - o.header.arcount.times { |count| - start = msg.index - rr = msg.get_rr - if (rr.type == Dnsruby::Types::TSIG) - if (count!=o.header.arcount-1) - Dnsruby.log.Error("Incoming message has TSIG record before last record") - raise Dnsruby::DecodeError.new("TSIG record present before last record") - end - o.tsigstart = start # needed for TSIG verification - end - o.additional << rr - } - } - rescue Dnsruby::DecodeError => e - # So we got a decode error - # However, we might have been able to fill in many parts of the message - # So let's raise the DecodeError, but add the partially completed message - e.partial_message = o - raise e - end - return o - end - - end - - def test_bad_truncation - # Some servers don't do truncation properly. - # Make a UDP server which returns large badly formatted packets (arcount > num_additional), with TC bit set - #  And make a TCP server which returns large well formatted packets - # Then make sure that Dnsruby recieves response correctly. - Dnsruby::PacketSender.clear_caches - socket = UDPSocket.new - socket.bind("127.0.0.1", 0) - port = socket.addr[1] - Thread.new { - s = socket.recvfrom(65536) - received_query = s[0] - socket.connect(s[1][2], s[1][1]) - ans = HackMessage.decode(received_query) - ans.wipe_additional - 100.times {|i| - ans.add_additional(Dnsruby::RR.create("example.com 3600 IN A 1.2.3.#{i}")) - } - ans.header.arcount = 110 - ans.header.tc = true - socket.send(ans.encode,0) - } - - _server_thread = Thread.new { - ts = TCPServer.new(port) - t = ts.accept - packet = t.recvfrom(2)[0] - - len = (packet[0]<<8)+packet[1] - if (RUBY_VERSION >= "1.9") - len = (packet[0].getbyte(0)<<8)+packet[1].getbyte(0)# Ruby 1.9 - end - packet = t.recvfrom(len)[0] - tcpPacket = HackMessage.decode(packet) - tcpPacket.wipe_additional - 110.times {|i| - tcpPacket.add_additional(Dnsruby::RR.create("example.com 3600 IN A 1.2.3.#{i}")) - } - lenmsg = [tcpPacket.encode.length].pack('n') - t.send(lenmsg, 0) - t.write(tcpPacket.encode) - t.close - ts.close - } - - - - # Now send query - res = Dnsruby::Resolver.new("127.0.0.1") - res.port = port - res.udp_size = 4096 - assert(res.udp_size == 4096) - ret = res.query("example.com") - assert(ret.header.arcount == 110) - count = 0 - ret.additional.each {|rr| count += 1} - assert(count == 110) - - - end - - # @TODO@ Check stuff like persistent sockets -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tcp_pipelining.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tcp_pipelining.rb deleted file mode 100644 index f644f7d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tcp_pipelining.rb +++ /dev/null @@ -1,255 +0,0 @@ -# -- -# Copyright 2015 Verisign -# -# 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. -# ++ - -require_relative 'spec_helper' -require_relative 'test_dnsserver' - -# The TCPPipeliningServer links our NioTcpPipeliningHandler on -# the loopback interface. -class TCPPipeliningServer < Async::DNS::Server - PORT = 53937 - IP = '127.0.0.1' - - DEFAULT_MAX_REQUESTS = 4 - DEFAULT_TIMEOUT = 3 - - @@stats = Stats.new - - def self.stats - @@stats - end - - def initialize(**options) - super(options) - - @handlers = [] - @handlers << NioTcpPipeliningHandler.new(self, IP, PORT, DEFAULT_MAX_REQUESTS, DEFAULT_TIMEOUT) #4 max request - end - - def process(name, resource_class, transaction) - @logger.debug "name: #{name}" - transaction.respond!("93.184.216.34", { resource_class: ::Resolv::DNS::Resource::IN::A }) - end - -end - -class TestTCPPipelining < Minitest::Test - - class << self - attr_accessor :query_id - end - - def self.init - unless @initialized - @initialized = true - @query_id = 0 - end - end - - @@server = nil - - def setup - return - self.class.init - - # Instantiate a new server that uses our tcp pipelining handler - # For each query the server sends the query upstream (193.0.14.129) - options = { - server_class: TCPPipeliningServer, - } - - #RubyDNS::run_server(options) || true - if !@@server - @@server = TCPPipeliningServer.new() - - Thread.new do - @@server.run - end - end - - # Instantiate our resolver. The resolver will use the same pipeline as much as possible. - # If a timeout occurs or max_request_per_connection a new connection should be initiated - @@resolver ||= Dnsruby::Resolver.new( - use_tcp: true, - do_caching: false, - tcp_pipelining: true, - dnssec: false, - packet_timeout: 10, - tcp_pipelining_max_queries: 10, - nameserver: TCPPipeliningServer::IP, - port: TCPPipeliningServer::PORT) - end - - # Send x number of queries asynchronously to our resolver - def send_async_messages(number_of_messages, queue, wait_seconds = 0) - Dnsruby.log.debug "Sending #{number_of_messages} messages" - number_of_messages.times do - name = "#{self.class.query_id}.com" - Dnsruby.log.debug "Sending #{name}" - message = Dnsruby::Message.new(name) - # self.class.query_id identifies our query, must be different for each message - @@resolver.send_async(message, queue, self.class.query_id) - self.class.query_id += 1 - - # Note: For 0, we don't sleep at all instead of sleeping 0 since sleeping 0 - # involves yielding the CPU. - sleep wait_seconds unless wait_seconds == 0 - end - end - - # Verify x responses with no exception - def verify_responses(number_of_messages, queue) - number_of_messages.times do - _response_id, response, exception = queue.pop - assert_nil(exception) - assert(response.is_a?(Dnsruby::Message)) - end - end - - def accept_wait(accept_count, max) - i = 0 - while TCPPipeliningServer.stats.accept_count < accept_count - sleep 0.5 - i+=0.5 - assert(i connection_count - sleep 0.5 - i+=0.5 - assert(i #{connection_count}") - end - end - - def timeout_wait(timeout_count, max) - i = 0 - while TCPPipeliningServer.stats.timeout_count < timeout_count - sleep 0.5 - i+=0.5 - assert(i name, - :type => "TKEY", - :ttl => 0, - :klass => "ANY", - :algorithm => algorithm, - :inception => inception, - :expiration => expiration, - :mode => 3, # GSSAPI - :key => "fake key", - :other_data => "" - ) - - packet = Dnsruby::Message.new(name, Dnsruby::Types.TKEY, "IN") - packet.add_answer(rr) - - z = (packet.zone)[0] - - assert(packet, 'new() returned packet') #2 - assert_equal(Dnsruby::OpCode.QUERY, packet.header.opcode, 'header opcode correct') #3 - assert_equal(name, z.zname.to_s, 'zname correct') #4 - assert_equal(Dnsruby::Classes.IN, z.zclass, 'zclass correct') #5 - assert_equal(Dnsruby::Types.TKEY, z.ztype, 'ztype correct') #6 - - # @TODO@ Test TKEY against server! - - end - - end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tlsa.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tlsa.rb deleted file mode 100644 index 567f80d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tlsa.rb +++ /dev/null @@ -1,191 +0,0 @@ -require_relative 'spec_helper' - -require 'openssl' -require 'digest' - -class TLSATest < Minitest::Test - include Dnsruby - - INPUT = ['_443._tcp.example.jp. IN TLSA 3 0 1 ( 6609173804b9e31895f550db027ef7c7fa6f1bc9326c99371b61f1ba5 '\ - 'cb3595d )', - '_443._tcp.example.jp. IN TLSA 255 255 255 ( 6609173804b9e31895f550db027ef7c7fa6f1bc9326c99371b61f1ba5 '\ - 'cb3595d )', - '_443._tcp.data.iana.org. IN TLSA 3 0 0 ( 308206833082056ba003020102021009cabbe2191c8f569dd4b6dd250 '\ - 'f21d8300d06092a864886f70d01010b05003070310b30090603550406 '\ - '1302555331153013060355040a130c446967694365727420496e63311 '\ - '93017060355040b13107777772e64696769636572742e636f6d312f30 '\ - '2d0603550403132644696769436572742053484132204869676820417 '\ - '3737572616e636520536572766572204341301e170d31343130323730 '\ - '30303030305a170d3138303130333132303030305a3081a3310b30090 '\ - '60355040613025553311330110603550408130a43616c69666f726e69 '\ - '61311430120603550407130b4c6f7320416e67656c6573313c303a060 '\ - '355040a1333496e7465726e657420436f72706f726174696f6e20666f '\ - '722041737369676e6564204e616d657320616e64204e756d626572733 '\ - '1163014060355040b130d4954204f7065726174696f6e733113301106 '\ - '035504030c0a2a2e69616e612e6f726730820222300d06092a864886f '\ - '70d01010105000382020f003082020a02820201009dbdfddeb5cae53a '\ - '559747e2fda63728e4aba60f18b79a69f03310bf0164e5ee7db6b15bf '\ - '56df23fddbae6a1bb38449b8c883f18102bbd8bb655ac0e2dac2ee3ed '\ - '5cf4315868d2c598068284854b24894dcd4bd37811f0ad3a282cd4b4e '\ - '599ffd07d8d2d3f2478554f81020b320ee12f44948e2ea1edbc990b83 '\ - '0ca5cca6b4a839fb27b51850c9847eac74f26609eb24365b9751fb1c3 '\ - '208f56913bacbcae49201347c78b7e54a9d99979404c37f00fb65db84 '\ - '9fd75e3a68770c30f2abe65b33256fb59b450050b00d8139d4d80d36f '\ - '7bc46daf303e48f0f0791b2fdd72ec60b2cb3ad533c3f288c9c194e49 '\ - '337a69c496731f086d4f1f9825900713e2a551d05cb6057567850d91e '\ - '6001c4ce27176f0957873a95b880acbec19e7bd9bcf1286d0452b7378 '\ - '9c41905dd470971cd73aea52c77b080cd779af58234f337225c26f87a '\ - '8c13e2a65e9dd4e03a5b41d7e06b3353f38129b2327a531ec9627a21d '\ - 'c423733aa029d4989448ba3322891c1a5690ddf2d25c8ec8aaa894b14 '\ - 'aa92130c6b6d969a21ff671b60c4c923a94a93ea1dd0492c93393ca6e '\ - 'dd61f33ca77e9208d01d6bd15107662ec088733df4c876a7e1608b829 '\ - '73a0f7592e84ed15579d181e79024ae8a7e4b9f0078eb2005b23f9d09 '\ - 'a1df1bbc7de2a5a6085a3646d9fadb0e9da273a5f403cdd42831ce6f0 '\ - 'ca46889585602bb8bc36bb3be861ff6d1a62e350203010001a38201e3 '\ - '308201df301f0603551d230418301680145168ff90af0207753cccd96 '\ - '56462a212b859723b301d0603551d0e04160414c7d0acef898b20e4b9 '\ - '14668933032394f6bf3a61301f0603551d1104183016820a2a2e69616 '\ - 'e612e6f7267820869616e612e6f7267300e0603551d0f0101ff040403 '\ - '0205a0301d0603551d250416301406082b0601050507030106082b060 '\ - '1050507030230750603551d1f046e306c3034a032a030862e68747470 '\ - '3a2f2f63726c332e64696769636572742e636f6d2f736861322d68612 '\ - 'd7365727665722d67332e63726c3034a032a030862e687474703a2f2f '\ - '63726c342e64696769636572742e636f6d2f736861322d68612d73657 '\ - '27665722d67332e63726c30420603551d20043b303930370609608648 '\ - '0186fd6c0101302a302806082b06010505070201161c68747470733a2 '\ - 'f2f7777772e64696769636572742e636f6d2f43505330818306082b06 '\ - '01050507010104773075302406082b060105050730018618687474703 '\ - 'a2f2f6f6373702e64696769636572742e636f6d304d06082b06010505 '\ - '0730028641687474703a2f2f636163657274732e64696769636572742 '\ - 'e636f6d2f446967694365727453484132486967684173737572616e63 '\ - '6553657276657243412e637274300c0603551d130101ff04023000300 '\ - 'd06092a864886f70d01010b0500038201010070314c38e7c02fd80810 '\ - '500b9df6dae85de9b23e29fbd68bfdb5f23411c89acfaf9ae05af9123 '\ - 'a8aa6bce6954a4e68dc7cfc480a65d76f229c4bd5f5674b0c9ac6d06a '\ - '37a1a1c145c3956120b8efe67c887ab4ff7d6aa950ff3698f27c4a19d '\ - '59d93a39aca5a7b6d6c75e34974e50f5a590005b3cb665ddbd7074f9f '\ - 'cbcbf9c50228d5e25596b64ada160b48f77a93aaced22617bfe005e00 '\ - 'fe20a532a0adcb818c878dc5d6649277777ca1a814e21d0b53308af40 '\ - '78be4554715e4ce4828b012f25ffa13a6ceb30d20a75deba8a344e41d '\ - '627fa638feff38a3063a0187519b39b053f7134d9cd83e6091accf5d2 '\ - 'e3a05edfa1dfbe181a87ad86ba24fe6b97fe )', - '_443._tcp.data.iana.org. IN TLSA 3 0 1 ( 2760bc55bbb8cf398e4c90da21018b2eaafc9e375f7428cf0708e7c88 '\ - '8261b49', - '_443._tcp.data.iana.org. IN TLSA 3 0 2 ( e6f38e78b1c9f8e0969e81c555e2770eeccb3f120986558adfb2c48aa '\ - 'dc6f85d3596f0cc7362a6a6cda7b6dea222a968fef5aeeaf6d334c8b9 '\ - '725543f27683db )', - '_443._tcp.data.iana.org. IN TLSA 3 1 0 (30820222300d06092a864886f70d01010105000382020f003082020a0 '\ - '2820201009dbdfddeb5cae53a559747e2fda63728e4aba60f18b79a69 '\ - 'f03310bf0164e5ee7db6b15bf56df23fddbae6a1bb38449b8c883f181 '\ - '02bbd8bb655ac0e2dac2ee3ed5cf4315868d2c598068284854b24894d '\ - 'cd4bd37811f0ad3a282cd4b4e599ffd07d8d2d3f2478554f81020b320 '\ - 'ee12f44948e2ea1edbc990b830ca5cca6b4a839fb27b51850c9847eac '\ - '74f26609eb24365b9751fb1c3208f56913bacbcae49201347c78b7e54 '\ - 'a9d99979404c37f00fb65db849fd75e3a68770c30f2abe65b33256fb5 '\ - '9b450050b00d8139d4d80d36f7bc46daf303e48f0f0791b2fdd72ec60 '\ - 'b2cb3ad533c3f288c9c194e49337a69c496731f086d4f1f9825900713 '\ - 'e2a551d05cb6057567850d91e6001c4ce27176f0957873a95b880acbe '\ - 'c19e7bd9bcf1286d0452b73789c41905dd470971cd73aea52c77b080c '\ - 'd779af58234f337225c26f87a8c13e2a65e9dd4e03a5b41d7e06b3353 '\ - 'f38129b2327a531ec9627a21dc423733aa029d4989448ba3322891c1a '\ - '5690ddf2d25c8ec8aaa894b14aa92130c6b6d969a21ff671b60c4c923 '\ - 'a94a93ea1dd0492c93393ca6edd61f33ca77e9208d01d6bd15107662e '\ - 'c088733df4c876a7e1608b82973a0f7592e84ed15579d181e79024ae8 '\ - 'a7e4b9f0078eb2005b23f9d09a1df1bbc7de2a5a6085a3646d9fadb0e '\ - '9da273a5f403cdd42831ce6f0ca46889585602bb8bc36bb3be861ff6d '\ - '1a62e350203010001 )', - '_443._tcp.data.iana.org. IN TLSA 3 1 1 ( d56f85824b6ed2ab15b9040c20b574515d9a0ab415ca253b42cbc915a '\ - '11de18d )', - '_443._tcp.data.iana.org. IN TLSA 3 1 2 ( ba8b1b6f74782cb681373c314cf7bf4d2468c6a9dee47909fae1381ca '\ - '6447249c42cb2a4d6d808fa1486ba70b7c1bb70dd76657a281441110b '\ - 'b4043007ee5ce3 )' - ].freeze - CERT = "-----BEGIN CERTIFICATE----- -MIIGgzCCBWugAwIBAgIQCcq74hkcj1ad1LbdJQ8h2DANBgkqhkiG9w0BAQsFADBw -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz -dXJhbmNlIFNlcnZlciBDQTAeFw0xNDEwMjcwMDAwMDBaFw0xODAxMDMxMjAwMDBa -MIGjMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML -TG9zIEFuZ2VsZXMxPDA6BgNVBAoTM0ludGVybmV0IENvcnBvcmF0aW9uIGZvciBB -c3NpZ25lZCBOYW1lcyBhbmQgTnVtYmVyczEWMBQGA1UECxMNSVQgT3BlcmF0aW9u -czETMBEGA1UEAwwKKi5pYW5hLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC -AgoCggIBAJ29/d61yuU6VZdH4v2mNyjkq6YPGLeaafAzEL8BZOXufbaxW/Vt8j/d -uuahuzhEm4yIPxgQK72LtlWsDi2sLuPtXPQxWGjSxZgGgoSFSySJTc1L03gR8K06 -KCzUtOWZ/9B9jS0/JHhVT4ECCzIO4S9ElI4uoe28mQuDDKXMprSoOfsntRhQyYR+ -rHTyZgnrJDZbl1H7HDII9WkTusvK5JIBNHx4t+VKnZmXlATDfwD7ZduEn9deOmh3 -DDDyq+ZbMyVvtZtFAFCwDYE51NgNNve8RtrzA+SPDweRsv3XLsYLLLOtUzw/KIyc -GU5JM3ppxJZzHwhtTx+YJZAHE+KlUdBctgV1Z4UNkeYAHEzicXbwlXhzqVuICsvs -Gee9m88ShtBFK3N4nEGQXdRwlxzXOupSx3sIDNd5r1gjTzNyJcJvh6jBPipl6d1O -A6W0HX4GszU/OBKbIyelMeyWJ6IdxCNzOqAp1JiUSLozIokcGlaQ3fLSXI7IqqiU -sUqpITDGttlpoh/2cbYMTJI6lKk+od0Ekskzk8pu3WHzPKd+kgjQHWvRUQdmLsCI -cz30yHan4WCLgpc6D3WS6E7RVXnRgeeQJK6KfkufAHjrIAWyP50Jod8bvH3ipaYI -WjZG2frbDp2ic6X0A83UKDHObwykaIlYVgK7i8Nrs76GH/bRpi41AgMBAAGjggHj -MIIB3zAfBgNVHSMEGDAWgBRRaP+QrwIHdTzM2WVkYqISuFlyOzAdBgNVHQ4EFgQU -x9Cs74mLIOS5FGaJMwMjlPa/OmEwHwYDVR0RBBgwFoIKKi5pYW5hLm9yZ4IIaWFu -YS5vcmcwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF -BQcDAjB1BgNVHR8EbjBsMDSgMqAwhi5odHRwOi8vY3JsMy5kaWdpY2VydC5jb20v -c2hhMi1oYS1zZXJ2ZXItZzMuY3JsMDSgMqAwhi5odHRwOi8vY3JsNC5kaWdpY2Vy -dC5jb20vc2hhMi1oYS1zZXJ2ZXItZzMuY3JsMEIGA1UdIAQ7MDkwNwYJYIZIAYb9 -bAEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMw -gYMGCCsGAQUFBwEBBHcwdTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNl -cnQuY29tME0GCCsGAQUFBzAChkFodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20v -RGlnaUNlcnRTSEEySGlnaEFzc3VyYW5jZVNlcnZlckNBLmNydDAMBgNVHRMBAf8E -AjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBwMUw458Av2AgQUAud9troXemyPin71ov9 -tfI0Eciaz6+a4Fr5EjqKprzmlUpOaNx8/EgKZddvIpxL1fVnSwyaxtBqN6GhwUXD -lWEguO/mfIh6tP99aqlQ/zaY8nxKGdWdk6Oaylp7bWx140l05Q9aWQAFs8tmXdvX -B0+fy8v5xQIo1eJVlrZK2hYLSPd6k6rO0iYXv+AF4A/iClMqCty4GMh43F1mSSd3 -d8oagU4h0LUzCK9AeL5FVHFeTOSCiwEvJf+hOmzrMNIKdd66ijROQdYn+mOP7/OK -MGOgGHUZs5sFP3E02c2D5gkazPXS46Be36Hfvhgah62GuiT+a5f+ ------END CERTIFICATE-----".freeze - - def test_tlsa_from_string - t1 = Dnsruby::RR.create(INPUT[0]) - assert_equal(3, t1.usage) - assert_equal(0, t1.selector) - assert_equal(1, t1.matching_type) - assert_equal('6609173804b9e31895f550db027ef7c7fa6f1bc9326c99371b61f1ba5 cb3595d', t1.data) - - t2 = Dnsruby::RR.create(INPUT[1]) - assert_equal(255, t2.usage) - assert_equal(255, t2.selector) - assert_equal(255, t2.matching_type) - assert_equal('6609173804b9e31895f550db027ef7c7fa6f1bc9326c99371b61f1ba5 cb3595d', t2.data) - end - - def test_tlsa_from_data - t1 = Dnsruby::RR.create(INPUT[0]) - m = Dnsruby::Message.new - m.add_additional(t1) - data = m.encode - m2 = Dnsruby::Message.decode(data) - t3 = m2.additional[0] - assert_equal(t1.to_s, t3.to_s) - end - - def test_tlsa_verify_rsa_cert - cert = OpenSSL::X509::Certificate.new(CERT) - der = cert.to_der - t4 = Dnsruby::RR.create(INPUT[2]) - assert_equal(t4.databin, der) - - t5 = Dnsruby::RR.create(INPUT[3]) - assert_equal(t5.databin, OpenSSL::Digest::SHA256.digest(der)) - - t6 = Dnsruby::RR.create(INPUT[4]) - assert_equal(t6.databin, OpenSSL::Digest::SHA512.digest(der)) - end - - def test_tlsa_verify_rsa_pkey - cert = OpenSSL::X509::Certificate.new(CERT) - pkey = cert.public_key.to_der - - t7 = Dnsruby::RR.create(INPUT[5]) - assert_equal(t7.databin, pkey) - - t8 = Dnsruby::RR.create(INPUT[6]) - assert_equal(t8.databin, OpenSSL::Digest::SHA256.digest(pkey)) - - t9 = Dnsruby::RR.create(INPUT[7]) - assert_equal(t9.databin, OpenSSL::Digest::SHA512.digest(pkey)) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tsig.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tsig.rb deleted file mode 100644 index e63b3ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_tsig.rb +++ /dev/null @@ -1,255 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -require "digest/md5" -class TestTSig < Minitest::Test - - include Dnsruby - - KEY_NAME="rubytsig" - KEY = "8n6gugn4aJ7MazyNlMccGKH1WxD2B3UvN/O/RA6iBupO2/03u9CTa3Ewz3gBWTSBCH3crY4Kk+tigNdeJBAvrw==" - def is_empty(string) - return (string == "; no data" || string == "; rdlength = 0") - end - def test_signed_update - # Dnsruby::Resolver::use_eventmachine(false) - run_test_client_signs - run_test_resolver_signs - end - # def test_signed_update_em - # begin - # Dnsruby::Resolver::use_eventmachine(true) - # rescue RuntimeError - # Dnsruby.log.error("EventMachine not installed - not running tsig EM tests") - # return - # end - # run_test_client_signs - # run_test_resolver_signs - # Dnsruby::Resolver::use_eventmachine(false) - # end - - def run_test_client_signs - # NOTE - client signing is only appropriate if DNSSEC and EDNS are switched - # off. Otherwise, the resolver will attempt to alter the flags and add an - # EDNS OPT psuedo-record to the query message, invalidating the signing. - tsig = Dnsruby::RR.create({ - :name => KEY_NAME, - :type => "TSIG", - :ttl => 0, - :klass => "ANY", - :algorithm => "hmac-md5", - :fudge => 300, - :key => KEY, - :error => 0 - }) - - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - # Generate update record name, and test it has been made. Then delete it and check it has been deleted - update_name = generate_update_name - update.absent(update_name) - update.add(update_name, 'TXT', 100, "test signed update") - tsig.apply(update) - assert(update.signed?, "Update has not been signed") - - res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk") - res.udp_size=512 # Or else we needed to add OPT record already - res.dnssec=false - res.recurse=false - res.query_timeout = 20 - response = res.send_message(update) - - assert_equal( Dnsruby::RCode.NOERROR, response.rcode) - assert(response.verified?, "Response has not been verified") - - # Now check the record exists - rr = res.query(update_name, 'TXT') - assert_equal("test signed update", rr.answer()[0].strings.join(" "), "TXT record has not been created in zone") - - # Now delete the record - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - update.present(update_name, 'TXT') - update.delete(update_name) - tsig.apply(update) - assert(update.signed?, "Update has not been signed") - response = res.send_message(update) - assert_equal( Dnsruby::RCode.NOERROR, response.rcode) - assert(response.verified?, "Response has not been verified") - - # Now check the record does not exist - Dnsruby::PacketSender.clear_caches - # Or else the cache will tell us it still deos! - begin - rr = res.query(update_name, 'TXT') - assert(false) - rescue Dnsruby::NXDomain - end - end - - @@fudge = 0 - def generate_update_name - update_name = Time.now.to_i.to_s + @@fudge.to_s - @@fudge+=1 - update_name += ".update.validation-test-servers.nominet.org.uk" - return update_name - end - - def run_test_resolver_signs - res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk") - res.query_timeout=20 - res.tsig=KEY_NAME, KEY - - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - # Generate update record name, and test it has been made. Then delete it and check it has been deleted - update_name = generate_update_name - update.absent(update_name) - update.add(update_name, 'TXT', 100, "test signed update") - assert(!update.signed?, "Update has been signed") - - response = res.send_message(update) - - assert_equal( Dnsruby::RCode.NOERROR, response.rcode) - assert(response.verified?, "Response has not been verified") - - # Now check the record exists - rr = res.query(update_name, 'TXT') - assert_equal("test signed update", rr.answer()[0].strings.join(" "), "TXT record has not been created in zone") - - # Now delete the record - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - update.present(update_name, 'TXT') - update.delete(update_name) - tsig = Dnsruby::RR.create({ - :type => 'TSIG', :klass => 'ANY', - :name => KEY_NAME, - :key => KEY - }) - tsig.apply(update) - assert(update.signed?, "Update has not been signed") - res.dnssec=false # Or else we needed to add OPT record already - res.udp_size = 512 - response = res.send_message(update) - assert_equal( Dnsruby::RCode.NOERROR, response.rcode) - assert(response.verified?, "Response has not been verified") - - # Now check the record does not exist - Dnsruby::PacketSender.clear_caches - # Make sure the cache doesn't have an old copy! - begin - rr = res.query(update_name, 'TXT') - assert(false) - rescue Dnsruby::NXDomain - end - end - - def test_message_signing - m = Dnsruby::Message.new("example.com") - m.set_tsig("name", "key") - assert(!m.signed?) - m.encode - assert(m.signed?) - - m = Dnsruby::Message.new("example.com") - m.set_tsig("name", "key") - assert(!m.signed?) - m.sign! - assert(m.signed?) - - m = Dnsruby::Message.new("example.com") - assert(!m.signed?) - m.sign!("name", "key") - assert(m.signed?) - end - - def test_signed_zone_transfer - # test TSIG over TCP session - axfr - ixfr - end - - def axfr - zt = Dnsruby::ZoneTransfer.new - zt.transfer_type = Dnsruby::Types.AXFR - zt.tsig=KEY_NAME, KEY - zt.server = "ns0.validation-test-servers.nominet.org.uk" - zone = zt.transfer("validation-test-servers.nominet.org.uk") - assert(zone.length > 0) - assert(zt.last_tsigstate==:Verified) - end - - # We also test IXFR here - this is because we need to update a record (using - # TSIG) before we can test ixfr... - def ixfr - # Check the SOA serial, do an update, check that the IXFR for that soa serial gives us the update we did, - # then delete the updated record - start_soa_serial = get_soa_serial("validation-test-servers.nominet.org.uk") - - # Now do an update - res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk") - res.query_timeout=10 - res.tsig=KEY_NAME, KEY - - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - # Generate update record name, and test it has been made. Then delete it and check it has been deleted - update_name = Time.now.to_i.to_s + rand(100).to_s + ".update.validation-test-servers.nominet.org.uk" - update.absent(update_name) - update.add(update_name, 'TXT', 100, "test zone transfer") - assert(!update.signed?, "Update has been signed") - - response = res.send_message(update) - assert(response.rcode == Dnsruby::RCode.NOERROR) - - end_soa_serial = get_soa_serial("validation-test-servers.nominet.org.uk") - - zt = Dnsruby::ZoneTransfer.new - zt.transfer_type = Dnsruby::Types.IXFR - zt.server = "ns0.validation-test-servers.nominet.org.uk" - zt.serial = start_soa_serial # 2007090401 - deltas = zt.transfer("validation-test-servers.nominet.org.uk") - assert(deltas.length > 0) - assert(deltas.last.class == Dnsruby::ZoneTransfer::Delta) - assert_equal("test zone transfer", deltas.last.adds.last.strings.join(" ")) - assert(zt.last_tsigstate==nil) - - # Now delete the updated record - update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk") - update.present(update_name, 'TXT') - update.delete(update_name) - response = res.send_message(update) - assert_equal( Dnsruby::RCode.NOERROR, response.rcode) - end - - def get_soa_serial(name) - soa_serial = nil - Dnsruby::DNS.open {|dns| - soa_rr = dns.getresource(name, 'SOA') - soa_serial = soa_rr.serial - } - return soa_serial - end - - def test_bad_tsig - res = Resolver.new - res.query_timeout=10 - res.tsig=KEY_NAME, KEY - begin - ret = res.query("example.com") - assert(false, "Should not have got TSIG response from non-TSIG server!\n #{ret}\n") - rescue TsigError => e - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_update.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_update.rb deleted file mode 100644 index f8e2a97..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_update.rb +++ /dev/null @@ -1,294 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestUpdate < Minitest::Test - - include Dnsruby - - def is_empty(string) - return true if string == nil || string.length == 0 - - return (string == "; no data" || string == "; rdlength = 0"); - end - - def test_update - # ------------------------------------------------------------------------------ - # Canned data. - # ------------------------------------------------------------------------------ - - zone = "example.com"; - name = "foo.example.com"; - klass = Classes.CLASS32; - klass2 = Classes.CH; - type = Types.A; - ttl = 43200; - rdata = "10.1.2.3"; - rr = nil; - - # ------------------------------------------------------------------------------ - # Packet creation. - # ------------------------------------------------------------------------------ - - update = Dnsruby::Update.new(zone, klass); - z = (update.zone)[0]; - - assert(update, 'new() returned packet'); #2 - assert_equal(update.header.opcode, OpCode.UPDATE, 'header opcode correct'); #3 - assert_equal(z.zname.to_s, zone, 'zname correct'); #4 - assert_equal(z.zclass.to_s, klass.to_s, 'zclass correct'); #5 - assert_equal(z.ztype, Types.SOA, 'ztype correct'); #6 - - # ------------------------------------------------------------------------------ - # RRset exists (value-independent). - # ------------------------------------------------------------------------------ - - rr = update.present(name, type); - - assert(rr, 'yxrrset() returned RR'); #7 - assert_equal(name, rr.name.to_s, 'yxrrset - right name'); #8 - assert_equal(0, rr.ttl, 'yxrrset - right TTL'); #9 - assert_equal('ANY', rr.klass.string, 'yxrrset - right class'); #10 - assert_equal(type, rr.type, 'yxrrset - right type'); #11 - assert(is_empty(rr.rdata), "yxrrset - data empty (#{rr.rdata})"); #12 - - rr = nil - - # ------------------------------------------------------------------------------ - # RRset exists (value-dependent). - # ------------------------------------------------------------------------------ - - rr = update.present(name, type, rdata, klass); - - assert(rr, 'yxrrset() returned RR'); #13 - assert_equal(name, rr.name.to_s, 'yxrrset - right name'); #14 - assert_equal(0, rr.ttl, 'yxrrset - right TTL'); #15 - assert_equal(klass, rr.klass.string, 'yxrrset - right class'); #16 - assert_equal(type, rr.type, 'yxrrset - right type'); #17 - assert_equal(rdata, rr.rdata, 'yxrrset - right data'); #18 - - rr=nil - - # ------------------------------------------------------------------------------ - # RRset does not exist. - # ------------------------------------------------------------------------------ - - rr = update.absent(name, type); - - assert(rr, 'nxrrset() returned RR'); #19 - assert_equal(name, rr.name.to_s, 'nxrrset - right name'); #20 - assert_equal(0, rr.ttl, 'nxrrset - right ttl'); #21 - assert_equal('NONE', rr.klass.string, 'nxrrset - right class'); #22 - assert_equal(type, rr.type, 'nxrrset - right type'); #23 - assert(is_empty(rr.rdata), 'nxrrset - data empty'); #24 - - rr = nil - - # ------------------------------------------------------------------------------ - # Name is in use. - # ------------------------------------------------------------------------------ - - rr = update.present(name); - - assert(rr, 'yxdomain() returned RR'); #25 - assert_equal(rr.name.to_s, name, 'yxdomain - right name'); #26 - assert_equal(rr.ttl, 0, 'yxdomain - right ttl'); #27 - assert_equal(rr.klass.string, 'ANY', 'yxdomain - right class'); #28 - assert_equal(rr.type.string, 'ANY', 'yxdomain - right type'); #29 - assert(is_empty(rr.rdata), 'yxdomain - data empty'); #30 - - rr = nil - - # ------------------------------------------------------------------------------ - # Name is not in use. (No Class) - # ------------------------------------------------------------------------------ - - rr = update.absent(name); - - assert(rr, 'nxdomain() returned RR'); #31 - assert_equal(rr.name.to_s, name, 'nxdomain - right name'); #32 - assert_equal(rr.ttl, 0, 'nxdomain - right ttl'); #33 - assert_equal(rr.klass.string, 'NONE', 'nxdomain - right class'); #34 - assert_equal(rr.type.string, 'ANY', 'nxdomain - right type'); #35 - assert(is_empty(rr.rdata), 'nxdomain - data empty'); #36 - - rr = nil - - - - # ------------------------------------------------------------------------------ - # Add to an RRset. - # ------------------------------------------------------------------------------ - - rr = update.add(name, type, ttl, rdata); - - assert(rr, 'rr_add() returned RR'); #37 - assert_equal(rr.name.to_s, name, 'rr_add - right name'); #38 - assert_equal(rr.ttl, ttl, 'rr_add - right ttl'); #39 - assert_equal(rr.klass, klass, 'rr_add - right class'); #40 - assert_equal(rr.type, type, 'rr_add - right type'); #41 - assert_equal(rr.rdata, rdata, 'rr_add - right data'); #42 - - rr = nil - - # ------------------------------------------------------------------------------ - # Delete an RRset. - # ------------------------------------------------------------------------------ - - rr = update.delete(name, type); - - assert(rr, 'rr_del() returned RR'); #43 - assert_equal(name, rr.name.to_s, 'rr_del - right name'); #44 - assert_equal(0, rr.ttl, 'rr_del - right ttl'); #45 - assert_equal('ANY', rr.klass.string, 'rr_del - right class'); #46 - assert_equal(type, rr.type, 'rr_del - right type'); #47 - assert(is_empty(rr.rdata), 'rr_del - data empty'); #48 - - rr = nil - - # ------------------------------------------------------------------------------ - # Delete All RRsets From A Name. - # ------------------------------------------------------------------------------ - - rr = update.delete(name); - - assert(rr, 'rr_del() returned RR'); #49 - assert_equal(name, rr.name.to_s, 'rr_del - right name'); #50 - assert_equal(0, rr.ttl, 'rr_del - right ttl'); #51 - assert_equal(Classes.ANY, rr.klass, 'rr_del - right class'); #52 - assert_equal(Classes.ANY, rr.type, 'rr_del - right type'); #53 - assert(is_empty(rr.rdata), 'rr_del - data empty'); #54 - - rr = nil - - # ------------------------------------------------------------------------------ - # Delete An RR From An RRset. - # ------------------------------------------------------------------------------ - - rr = update.delete(name, type, rdata); - - assert(rr, 'rr_del() returned RR'); #55 - assert_equal(name, rr.name.to_s, 'rr_del - right name'); #56 - assert_equal(0, rr.ttl, 'rr_del - right ttl'); #57 - assert_equal('NONE', rr.klass.string, 'rr_del - right class'); #58 - assert_equal(type, rr.type, 'rr_del - right type'); #59 - assert_equal(rdata, rr.rdata, 'rr_del - right data'); #60 - - rr = nil - - data = update.encode - header = Header.new_from_data(data) - assert(header.opcode == OpCode.Update) - new_update = Message.decode(data) - assert(new_update.header.opcode == OpCode.Update) - - # ------------------------------------------------------------------------------ - # Make sure RRs in an update packet have the same class as the zone, unless - # the class is NONE or ANY. - # ------------------------------------------------------------------------------ - - update = Dnsruby::Update.new(zone, klass); - assert(update, 'packet created'); #61 - - - update.present(name, type, rdata); - - update.present(name, type, rdata); - - update.present(name, type); - - update.absent(name, type); - - pre = update.pre; - - assert_equal(3, pre.size, 'pushed inserted correctly'); #62 - assert_equal(klass, pre[0].klass.string, 'first class right'); #63 - assert_equal(Classes.ANY, pre[1].klass, 'third class right'); #65 - assert_equal(Classes.NONE, pre[2].klass, 'forth class right'); #66 - end - - def test_absent_cname - update = Update.new() - rr = update.absent("target_name", "CNAME") - assert(rr, 'nxdomain() returned RR'); - assert_equal(rr.name.to_s, "target_name", 'nxdomain - right name'); - assert_equal(rr.ttl, 0, 'nxdomain - right ttl'); - assert_equal(rr.klass.string, 'NONE', 'nxdomain - right class'); - assert_equal(rr.type.string, 'CNAME', 'nxdomain - right type'); - assert(is_empty(rr.rdata), 'nxdomain - data empty'); - - encoded_msg = Message.decode(update.encode) - rr = encoded_msg.answer.first - assert(rr, 'nxdomain() returned RR') - assert_equal(rr.name.to_s, "target_name", 'nxdomain - right name') - assert_equal(rr.ttl, 0, 'nxdomain - right ttl') - assert_equal(rr.klass.string, 'NONE', 'nxdomain - right class') - assert_equal(rr.type.string, 'CNAME', 'nxdomain - right type') - # assert_nil(rr.rdata, 'nxdomain - data empty') - assert(is_empty(rr.rdata), 'nxdomain - data empty') - end - - def test_delete_specific_cname - update = Update.new 'example.com' - update.delete 'test.example.com', 'CNAME', 'target.example.com' - - encoded_msg = Message.decode update.encode - rr = encoded_msg.authority.first - assert_equal rr.name.to_s, 'test.example.com', 'delete_cname - right name' - assert_equal 0, rr.ttl, 'delete_cname - right ttl' - assert_equal 'NONE', rr.klass.string, 'delete_cname - right class' - assert_equal 'CNAME', rr.type.string, 'delete_cname - right type' - assert_equal 'target.example.com', rr.rdata.to_s, 'delete_cname - right target' - end - - def test_delete_cname - update = Update.new 'example.com' - update.delete 'test.example.com', 'CNAME' - - encoded_msg = Message.decode update.encode - rr = encoded_msg.authority.first - assert_equal rr.name.to_s, 'test.example.com', 'delete_cname - right name' - assert_equal 0, rr.ttl, 'delete_cname - right ttl' - assert_equal 'ANY', rr.klass.string, 'delete_cname - right class' - assert_equal 'CNAME', rr.type.string, 'delete_cname - right type' - assert(is_empty(rr.rdata), 'delete_cname - right rdata') - end - - def test_txt - update = Update.new() - update.add("target_name", "TXT", 100, "test signed update") - assert(update.to_s.index("test signed update")) - end - - def test_delete_txt - update = Update.new 'example.com' - update.delete 'test.example.com', 'TXT', 'foo bar' - - encoded_msg = Message.decode update.encode - rr = encoded_msg.authority.first - assert_equal rr.name.to_s, 'test.example.com', 'delete_txt - right name' - assert_equal 0, rr.ttl, 'delete_txt - right ttl' - assert_equal 'TXT', rr.type.string, 'delete_txt - right type' - assert_equal ['foo bar'], rr.rdata, 'delete_txt - right rdata' - end - - def test_array - update = Update.new - update.add("target_name", "TXT", 100, ['"test signed update"', 'item#2']) - assert(update.to_s.index("item")) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_validator.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_validator.rb deleted file mode 100644 index 21f2d40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_validator.rb +++ /dev/null @@ -1,75 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class TestValidator < Minitest::Test - - include Dnsruby - - def test_validation -# Dnsruby::TheLog.level = Logger::DEBUG - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Resolver.new("dnssec.nominet.org.uk") - res.dnssec=true - res.do_validation = true - Dnsruby::Dnssec.do_validation_with_recursor(false) - Dnsruby::Dnssec.default_resolver=(res) # This is a closed zone (not reachable by recursion) - - trusted_key = Dnsruby::RR.create({:name => "uk-dnssec.nic.uk.", - :type => Dnsruby::Types.DNSKEY, - :flags => RR::IN::DNSKEY::SEP_KEY | RR::IN::DNSKEY::ZONE_KEY, - :key=> "AQPJO6LjrCHhzSF9PIVV7YoQ8iE31FXvghx+14E+jsv4uWJR9jLrxMYm sFOGAKWhiis832ISbPTYtF8sxbNVEotgf9eePruAFPIg6ZixG4yMO9XG LXmcKTQ/cVudqkU00V7M0cUzsYrhc4gPH/NKfQJBC5dbBkbIXJkksPLv Fe8lReKYqocYP6Bng1eBTtkA+N+6mSXzCwSApbNysFnm6yfQwtKlr75p m+pd0/Um+uBkR4nJQGYNt0mPuw4QVBu1TfF5mQYIFoDYASLiDQpvNRN3 US0U5DEG9mARulKSSw448urHvOBwT9Gx5qF2NE4H9ySjOdftjpj62kjb Lmc8/v+z" - }) - ret = Dnsruby::Dnssec.add_trust_anchor(trusted_key) - - r = res.query("aaa.bigzone.uk-dnssec.nic.uk", Dnsruby::Types.A) - assert(r.security_level.code == Message::SecurityLevel::SECURE, "Level = #{r.security_level.string}") - ret = Dnsruby::Dnssec.validate(r) - assert(ret, "Dnssec validation failed") - - # @TODO@ Test other validation policies!! - end - - def test_resolver_cd_validation_fails - # Should be able to check Nominet test-zone here - no keys point to it - res = Resolver.new - res.dnssec=true - r = res.query("uk-dnssec.nic.uk", Dnsruby::Types.A) - assert(r.security_level = Message::SecurityLevel::INSECURE) - end - - def test_eventtype_api - # @TODO@ TEST THE Resolver::EventType interface! - print "Test EventType API!\n" - end - - def test_config_api - # @TODO@ Test the different configuration options for the validator, - # and their defaults - # - # Should be able to set : - # o Whether or not validation happens - # o The async API queue tuples etc. - # o Whether to use authoritative nameservers for validation - # o Whether to use authoritative nameservers generally - # - print "Test validation configuration options!\n" - end - - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_verifier.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_verifier.rb deleted file mode 100644 index 67c80d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_verifier.rb +++ /dev/null @@ -1,380 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -class VerifierTest < Minitest::Test - - def test_sha2 - # Check if OpenSSL supports SHA2 - have_sha2 = false - begin - OpenSSL::Digest::SHA256.new - have_sha2 = true - rescue Exception - end - if (have_sha2) - # print "OpenSSL supports SHA2\n" - do_test_sha256 - do_test_sha512 - do_test_nsec - do_test_ecdsa256 - else - print "OpenSSL doesn't support SHA2 - disabling SHA256/SHA512 tests. DNSSEC validation will not work with these type of signatures.\n" - end - end - - def do_test_sha256 - key256 = Dnsruby::RR.create("example.net. 3600 IN DNSKEY (256 3 8 AwEAAcFcGsaxxdgiuuGmCkVI - my4h99CqT7jwY3pexPGcnUFtR2Fh36BponcwtkZ4cAgtvd4Qs8P - kxUdp6p/DlUmObdk= );{id = 9033 (zsk), size = 512b}") - a = Dnsruby::RR.create("www.example.net. 3600 IN A 192.0.2.91") - sig = Dnsruby::RR.create("www.example.net. 3600 IN RRSIG (A 8 3 3600 20300101000000 - 20000101000000 9033 example.net. kRCOH6u7l0QGy9qpC9 - l1sLncJcOKFLJ7GhiUOibu4teYp5VE9RncriShZNz85mwlMgNEa - cFYK/lPtPiVYP4bwg==) ;{id = 9033}") - rrset = Dnsruby::RRSet.new(a) - rrset.add(sig) - verifier = Dnsruby::SingleVerifier.new(nil) - verifier.verify_rrset(rrset, key256) - end - - def do_test_sha512 - key512 = Dnsruby::RR.create("example.net. 3600 IN DNSKEY (256 3 10 AwEAAdHoNTOW+et86KuJOWRD - p1pndvwb6Y83nSVXXyLA3DLroROUkN6X0O6pnWnjJQujX/AyhqFD - xj13tOnD9u/1kTg7cV6rklMrZDtJCQ5PCl/D7QNPsgVsMu1J2Q8g - pMpztNFLpPBz1bWXjDtaR7ZQBlZ3PFY12ZTSncorffcGmhOL - );{id = 3740 (zsk), size = 1024b}") - a = Dnsruby::RR.create("www.example.net. 3600 IN A 192.0.2.91") - sig = Dnsruby::RR.create("www.example.net. 3600 IN RRSIG (A 10 3 3600 20300101000000 - 20000101000000 3740 example.net. tsb4wnjRUDnB1BUi+t - 6TMTXThjVnG+eCkWqjvvjhzQL1d0YRoOe0CbxrVDYd0xDtsuJRa - eUw1ep94PzEWzr0iGYgZBWm/zpq+9fOuagYJRfDqfReKBzMweOL - DiNa8iP5g9vMhpuv6OPlvpXwm9Sa9ZXIbNl1MBGk0fthPgxdDLw - =);{id = 3740}") - rrset = Dnsruby::RRSet.new(a) - rrset.add(sig) - verifier = Dnsruby::SingleVerifier.new(nil) - verifier.verify_rrset(rrset, key512) - end - - def do_test_ecdsa256 - Time.stub :now, Time.parse("Wed, 01 Jul 2020 11:54:04 EEST +03:00") do - ecdsa256 = Dnsruby::RR.create("rainiselevi.ee. 3600 IN DNSKEY 256 3 ECDSAP256SHA256 ( oJMRESz5E - 4gYzS/q6XDrvU1qMPYIjCWzJaOau8XNEZeqCYKD5ar0IRd8KqXXFJkqmVfRvMGPmM1x8fGAa2XhSA== ) ; key_tag=34505") - a = Dnsruby::RR.create("rainiselevi.ee. 3600 IN A 35.228.30.236") - sig = Dnsruby::RR.create("rainiselevi.ee. 3600 IN RRSIG A ECDSAP256SHA256 2 300 20200702092142 ( 20200630072142 34505 - rainiselevi.ee. kf3Fl1mSIso2kB12QOr+aNWYTUXtx9nRC/v+Kn1454u9I/YAFQd6nJQAsFd9vCTsZY+nL4wpj5pV+EsAMIxccA== )") - rrset = Dnsruby::RRSet.new(a) - rrset.add(sig) - verifier = Dnsruby::SingleVerifier.new(nil) - assert(verifier.verify_rrset(rrset, ecdsa256)) - end - end - - def test_se_query - # Run some queries on the .se zone - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Resolver.new(Dnsruby::Resolv.getaddress("a.ns.se")) - res.dnssec = true - r = res.query("se", Dnsruby::Types.ANY) - # See comment below - Dnsruby::Dnssec.anchor_verifier.add_trusted_key(r.answer.rrset("se", 'DNSKEY')) - nss = r.answer.rrset("se", 'NS') - ret = Dnsruby::Dnssec.verify_rrset(nss) - assert(ret, "Dnssec verification failed") - end - - def test_verify_message - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Resolver.new(Dnsruby::Resolv.getaddress("a.ns.se")) - res.udp_size = 5000 - r = res.query("se", Dnsruby::Types.DNSKEY) - # This shouldn't be in the code - but the key is rotated by the .se registry - # so we can't keep up with it in the test code. - # Oh, for a signed root... - # print "Adding keys : #{r.answer.rrset("se", 'DNSKEY')}\n" - Dnsruby::Dnssec.anchor_verifier.add_trusted_key(r.answer.rrset("se", 'DNSKEY')) - ret = Dnsruby::Dnssec.verify(r) - assert(ret, "Dnssec message verification failed : #{ret}") - end - - def test_verify_message_fails - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Resolver.new("a.ns.se") - r = res.query("se", Dnsruby::Types.ANY) - # Haven't configured key for this, so should fail - begin - ret = Dnsruby::Dnssec.verify(r) - fail("Message shouldn't have verified") - rescue (Dnsruby::VerifyError) - end - # assert(!ret, "Dnssec message verification failed") - end - - def test_trusted_key - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Resolver.new("dnssec.nominet.org.uk") - res.dnssec = true - bad_key = Dnsruby::RR.create( - "uk-dnssec.nic.uk. 86400 IN DNSKEY 257 3 5 "+ - "AwEAAbhThsjZqxZDyZLie1BYP+R/G1YRhmuIFCbmuQiF4NB86gpW8EVR l2s+gvNuQw6yh2YdDdyJBselE4znRP1XQbpOTC5UO5CDwge9NYja/jrX lvrX2N048vhIG8uk8yVxJDosxf6nmptsJBp3GAjF25soJs07Bailcr+5 vdZ7GibH") - ret = Dnsruby::Dnssec.add_trust_anchor(bad_key) - r = res.query("uk-dnssec.nic.uk", Dnsruby::Types.DNSKEY) - - begin - ret = Dnsruby::Dnssec.verify(r) - fail("Dnssec trusted key message verification should have failed with bad key") - rescue (Dnsruby::VerifyError) - # assert(!ret, "Dnssec trusted key message verification should have failed with bad key") - end - trusted_key = Dnsruby::RR.create({:name => "uk-dnssec.nic.uk.", - :type => Dnsruby::Types.DNSKEY, - :flags => 257, - :protocol => 3, - :algorithm => 5, - :key=> "AQPJO6LjrCHhzSF9PIVV7YoQ8iE31FXvghx+14E+jsv4uWJR9jLrxMYm sFOGAKWhiis832ISbPTYtF8sxbNVEotgf9eePruAFPIg6ZixG4yMO9XG LXmcKTQ/cVudqkU00V7M0cUzsYrhc4gPH/NKfQJBC5dbBkbIXJkksPLv Fe8lReKYqocYP6Bng1eBTtkA+N+6mSXzCwSApbNysFnm6yfQwtKlr75p m+pd0/Um+uBkR4nJQGYNt0mPuw4QVBu1TfF5mQYIFoDYASLiDQpvNRN3 US0U5DEG9mARulKSSw448urHvOBwT9Gx5qF2NE4H9ySjOdftjpj62kjb Lmc8/v+z" - }) - ret = Dnsruby::Dnssec.add_trust_anchor(trusted_key) - ret = Dnsruby::Dnssec.verify(r) - assert(ret, "Dnssec trusted key message verification failed") - - # # Check that keys have been added to trusted key cache - # ret = Dnsruby::Dnssec.verify(r) - # assert(ret, "Dnssec trusted key cache failed") - end - - def test_expired_keys - # Add some keys with an expiration of 1 second. - # Then wait a second or two, and check they are not available any more. - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - assert(Dnsruby::Dnssec.anchor_verifier.trusted_keys.length==0) - trusted_key = Dnsruby::RR.create({:name => "uk-dnssec.nic.uk.", - :type => Dnsruby::Types.DNSKEY, - :key=> "AQPJO6LjrCHhzSF9PIVV7YoQ8iE31FXvghx+14E+jsv4uWJR9jLrxMYm sFOGAKWhiis832ISbPTYtF8sxbNVEotgf9eePruAFPIg6ZixG4yMO9XG LXmcKTQ/cVudqkU00V7M0cUzsYrhc4gPH/NKfQJBC5dbBkbIXJkksPLv Fe8lReKYqocYP6Bng1eBTtkA+N+6mSXzCwSApbNysFnm6yfQwtKlr75p m+pd0/Um+uBkR4nJQGYNt0mPuw4QVBu1TfF5mQYIFoDYASLiDQpvNRN3 US0U5DEG9mARulKSSw448urHvOBwT9Gx5qF2NE4H9ySjOdftjpj62kjb Lmc8/v+z" - }) - Dnsruby::Dnssec.add_trust_anchor_with_expiration(trusted_key, Time.now.to_i + 1) - assert(Dnsruby::Dnssec.trust_anchors.length==1) - sleep(2) - assert(Dnsruby::Dnssec.trust_anchors.length==0) - end - - def test_tcp - # These queries work: - # dig @194.0.1.13 isoc.lu dnskey - # dig @194.0.1.13 isoc.lu dnskey +dnssec - # dig @194.0.1.13 isoc.lu dnskey +tcp - - # This one does not - # - # dig @194.0.1.13 isoc.lu dnskey +dnssec +tcp - r = Dnsruby::SingleResolver.new()# "194.0.1.13") - r.dnssec = true - r.use_tcp = true - ret = r.query("isoc.lu", Dnsruby::Types.DNSKEY) - # print ret.to_s+"\n" - - r = Dnsruby::SingleResolver.new("194.0.1.13") - r.dnssec = true - # r.use_tcp = true - ret = r.query("isoc.lu", Dnsruby::Types.DNSKEY) - # print ret.to_s+"\n" - - r.use_tcp = true - r.dnssec = false - ret = r.query("isoc.lu", Dnsruby::Types.DNSKEY) - # print ret.to_s+"\n" - - r.dnssec = true - begin - ret = r.query("isoc.lu", Dnsruby::Types.DNSKEY) - rescue (Dnsruby::OtherResolvError) - end - - end - - def test_sendraw - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Resolver.new("a.ns.se") - res.dnssec = true - message = Dnsruby::Message.new("se", Dnsruby::Types.ANY) - begin - res.send_message(message) - fail() - rescue (Exception) - end - - message.send_raw = true - res.send_message(message) - end - - def test_dsa - # Let's check sources.org for DSA keys - Dnsruby::Dnssec.clear_trusted_keys - Dnsruby::Dnssec.clear_trust_anchors - res = Dnsruby::Recursor.new() - ret = res.query("sources.org", Dnsruby::Types.DNSKEY) - keys = ret.rrset("sources.org", "DNSKEY") - assert(keys && keys.length > 0) - dsa = nil - keys.each {|key| - if (key.algorithm == Dnsruby::Algorithms.DSA) - dsa = key - end - } - assert(dsa) - # Now do something with it - - response = res.query("sources.org", Dnsruby::Types.ANY) - verified = 0 - # response.each_section {|sec| - response.answer.rrsets.each {|rs| - if (rs.sigs()[0].algorithm == Dnsruby::Algorithms.DSA && - rs.sigs()[0].key_tag == dsa.key_tag) - ret = Dnsruby::Dnssec.verify_rrset(rs, keys) - assert(ret) - verified+=1 - end - } - # } - assert(verified > 0) - end - - def do_test_nsec - begin - begin - require 'rubygems' - rescue LoadError - end - require 'timecop' - rescue LoadError - return - end - Timecop.travel(2010, 03, 24, 0, 0, 0) { - key = Dnsruby::RR.create("in-addr-servers.arpa. 3600 IN DNSKEY 256 3 8 AwEAAcoEdjN6PM57REYLqLCBNfjCbQQU8pSNOz/kRwP75YQzidnaQpCO4+rjOYSAPH5lAjtT+AxuUB33DkOhQHPDSO87JLt1pm65eNNsz10COEExfuokM98qiURN76kv3N1n/gRG2693tpkmVdvSTRCbReyq6BlzKuYABGLD3V3MUB4j ;{id = 12033 (zsk), size = 1024b}") - verifier = Dnsruby::SingleVerifier.new(Dnsruby::SingleVerifier::VerifierType::ANCHOR) - key_rrset = Dnsruby::RRSet.new(key) - verifier.add_trusted_key(key_rrset); - sig = Dnsruby::RR.create("b.in-addr-servers.arpa. 3600 IN RRSIG NSEC 8 3 3600 20100325113758 20100318052509 12033 in-addr-servers.arpa. uy5aUIhq3eKc24gcoyBoLYaR6kKtG957zpR0G2pf1XPCO2ESzwdIkXK0/XeUkRMmPRnKfGOhwNYIBK26kX3PYxaIPsDZVc5ZAC3uc/+EpCosMn3FJQQDiNx/gznEQZk0JRxTUMMMucCNW2HVU18NVtTQhT0MaAsLyG8OduWuMCI= ;{id = 12033}") - nsec = Dnsruby::RR.create("B.in-addr-servers.arpa. 3600 IN NSEC C.in-addr-servers.arpa. A AAAA RRSIG NSEC") - rrset = Dnsruby::RRSet.new(nsec) - rrset.add(sig) - verifier.verify_rrset(rrset, key_rrset) - } - end - - def test_naptr - begin - begin - require 'rubygems' - rescue LoadError - end - require 'timecop' - rescue LoadError - return - end - Timecop.travel(2010, 03, 24, 0, 0, 0) { - key = Dnsruby::RR.create("all.rr.org. 2678400 IN DNSKEY 256 3 7 AwEAAcW1ZJxnMxZAAfsQ0JJQPHOlVNeGzs/AWVSGXiIYsg9UUSsvRTiK/Wy2wD7XC6osZpgy4Blhm846wktPbCwHpkxxbjxpaMABjbhH14gRol1Gpzf+gOr8vpdii8c2y6VMN9kIXZyaZUWcshLii19ysSGlqY1a1g2XZjogFtvzDHjH ;{id = 43068 (zsk), size = 1024b}") - verifier = Dnsruby::SingleVerifier.new(Dnsruby::SingleVerifier::VerifierType::ANCHOR) - key_rrset = Dnsruby::RRSet.new(key) - verifier.add_trusted_key(key_rrset); - sig = Dnsruby::RR.create("all.rr.org. 86400 IN RRSIG NAPTR 7 3 86400 20100727230632 20090919145743 43068 all.rr.org. RpyBsaLiaZ/OqX5twE0SoMhlVZVAHuAlS4FZqmnAg+udF3EwrY6N/POt3nPCtgwf7tczaxrMK6zWkOldfv37iyIgXIxDQvhoCb7IoffI5TsBL5CWl5n7pg8BNAMpLxd8HIu1DShWvlplpFbBWIaC6tZCR6ft/iP+uhU7dYcqTHg= ;{id = 43068}") - naptr = Dnsruby::RR.create('all.rr.org. 86400 IN NAPTR 100 10 "" "" "!^urn:cid:.+@([^\\\\.]+\\\\.)(.*)$!\\\\2!i" .') - rrset = Dnsruby::RRSet.new(naptr) - rrset.add(sig) - verifier.verify_rrset(rrset, key_rrset) - } - end - - def test_txt_rr - begin - begin - require 'rubygems' - rescue LoadError - end - require 'timecop' - rescue LoadError - return - end - Timecop.travel(2010, 03, 24, 0, 0, 0) { - txt = 'txt2.all.rr.org. 86400 IN TXT "Net-DNS\\\\; complicated $tuff" "sort of \\" text\\\\; and binary \\000 data"' - rr = Dnsruby::RR.create(txt) - assert(rr.to_s.index('"Net-DNS\\\\; complicated $tuff" "sort of \\" text\\\\; and binary \\000 data"'), rr.to_s) - - key = Dnsruby::RR.create("all.rr.org. 2678400 IN DNSKEY 256 3 7 AwEAAcW1ZJxnMxZAAfsQ0JJQPHOlVNeGzs/AWVSGXiIYsg9UUSsvRTiK/Wy2wD7XC6osZpgy4Blhm846wktPbCwHpkxxbjxpaMABjbhH14gRol1Gpzf+gOr8vpdii8c2y6VMN9kIXZyaZUWcshLii19ysSGlqY1a1g2XZjogFtvzDHjH ;{id = 43068 (zsk), size = 1024b}") - verifier = Dnsruby::SingleVerifier.new(Dnsruby::SingleVerifier::VerifierType::ANCHOR) - key_rrset = Dnsruby::RRSet.new(key) - verifier.add_trusted_key(key_rrset); - sig = Dnsruby::RR.create("txt2.all.rr.org. 86400 IN RRSIG TXT 7 4 86400 20100813002344 20091006093439 43068 all.rr.org. LJv/ccd2JHyT6TK74Dtu/zH4jdeR4ScyrB8cGwaqeCjwxG4H5FY88Sk/U0JUQyxnUificnyZQwcyXAItn7QjBMHQO4ftVxl/gDCyt6MEXy9JKK/rfvXcAceo5prmlVrb8WxT5YnvPha3CxjK7f+YIs5cqppRVaZTQTxsAsJyJ20= ;{id = 43068}") - txt = Dnsruby::RR.create('txt2.all.rr.org. 86400 IN TXT "Net-DNS\\\\; complicated $tuff" "sort of \\" text\\\\; and binary \\000 data"') - rrset = Dnsruby::RRSet.new(txt) - rrset.add(sig) - verifier.verify_rrset(rrset, key_rrset) - } - end - -# def test_txt_zonefile -# reader = Dnsruby::ZoneReader.new("cacert.org.") -# zone = reader.process_file("cacert.txt") -# reader2 = Dnsruby::ZoneReader.new("cacert.org.") -# zone2 = reader.process_file("cacert.signed.txt") -# assert(zone[1].to_s.index("DAQAB\"")) -# assert(zone2[1].to_s.index("DAQAB\"")) -# -# assert(zone[1].to_s == zone2[1].to_s) -# end -# - # def test_txt_from_zone - # reader = Dnsruby::ZoneReader.new("all.rr.org.") - # zone = reader.process_file("zone.txt") - # rrset = Dnsruby::RRSet.new - # key_rrset = Dnsruby::RRSet.new - # zone.each {|rr| - # if ( (rr.type == Dnsruby::Types.TXT) || ((rr.type == Dnsruby::Types.RRSIG) && (rr.type_covered == Dnsruby::Types.TXT))) - # rrset.add(rr) - # end - # if (rr.type == Dnsruby::Types.DNSKEY) - # key_rrset.add(rr) - # end - # } - # verifier = Dnsruby::SingleVerifier.new(Dnsruby::SingleVerifier::VerifierType::ANCHOR) - # verifier.verify_rrset(rrset, key_rrset) - # end - - # def test_naptr_from_zone - # reader = Dnsruby::ZoneReader.new("all.rr.org.") - # zone = reader.process_file("zone.txt") - # rrset = Dnsruby::RRSet.new - # key_rrset = Dnsruby::RRSet.new - # zone.each {|rr| - # if ((rr.type == Dnsruby::Types.NAPTR) || ((rr.type == Dnsruby::Types.RRSIG) && (rr.type_covered == Dnsruby::Types.NAPTR))) - # rrset.add(rr) - # end - # if (rr.type == Dnsruby::Types.DNSKEY) - # key_rrset.add(rr) - # end - # } - # verifier = Dnsruby::SingleVerifier.new(Dnsruby::SingleVerifier::VerifierType::ANCHOR) - # verifier.verify_rrset(rrset, key_rrset) - # end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_zone_reader.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_zone_reader.rb deleted file mode 100644 index 8a5ac19..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/tc_zone_reader.rb +++ /dev/null @@ -1,75 +0,0 @@ - -require_relative 'spec_helper' - -class ZoneReaderTest < Minitest::Test - - include Dnsruby - - def setup - @zone_data = <= @max_requests_per_connection - _, port, host = socket.peeraddr - @logger.debug("*** max request for #{host}:#{port}") - remove(socket) - end -=end - rescue EOFError - _, port, host = socket.peeraddr - @logger.debug("*** #{host}:#{port} disconnected") - - remove(socket) - end - - def remove(socket, update_connections=true) - @logger.debug("Removing socket from selector") - socket.close rescue nil - @selector.deregister(socket) rescue nil - socket_count = @count.delete(socket) - @server.class.stats.connections = @count.keys.count if update_connections - socket_count - end - - def create_selector_thread - Thread.new do - loop do - begin - @timers.fire - intervals = [@timers.wait_interval || 0.1, 0.1] - - @selector.select(intervals.min > 0 ? intervals.min : 0.1) do - |monitor| monitor.value.call(monitor) - end - - @logger.debug "Woke up" - break if @selector.closed? - rescue Exception => e - @logger.debug "Exception #{e}" - @logger.debug "Backtrace #{e.backtrace}" - end - end - end - end - - def handle_connection(socket) - @logger.debug "New connection" - @logger.debug "Add socket to @selector" - - monitor = @selector.register(socket, :r) - monitor.value = proc { process_socket(socket) } - - @logger.debug "Add socket timer of #{@timeout}" - @timers.after(@timeout) do - @logger.debug "Timeout fired for socket #{socket}" - count = remove(socket, false) - unless count.nil? - @logger.debug "Timeout for socket #{socket}" - @logger.debug "Increasing timeout count" - @server.class.stats.connection_timeout(@count.keys.count) - end - end - end -end - -# Stats collects statistics from our tcp handler -class Stats - def initialize() - @mutex = Mutex.new - @accept_count = 0 - @timeout_count = 0 - @max_count = 0 - @connections = 0 - end - - def increment_max; @mutex.synchronize { @max_count += 1 } end - def increment_timeout; @mutex.synchronize { @timeout_count += 1 } end - def increment_connection; @mutex.synchronize { @accept_count += 1 } end - - def connection_timeout(active_connections) - @mutex.synchronize do - @timeout_count += 1 - @connections = active_connections - end - end - - def connection_accept(new_connection, active_connections) - @mutex.synchronize { - @connections = active_connections - @accept_count += 1 if new_connection - } - end - - def connections=(active_connections) - @mutex.synchronize { @connections = active_connections } - end - - def connections - @mutex.synchronize { @connections } - end - - def accept_count - @mutex.synchronize { @accept_count } - end - - def timeout_count - @mutex.synchronize { @timeout_count } - end - - def max_count - @mutex.synchronize { @max_count } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/test_utils.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/test_utils.rb deleted file mode 100644 index 668bc50..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/test_utils.rb +++ /dev/null @@ -1,47 +0,0 @@ -# Use this in tests in the tests directory with: -# require_relative 'test_utils' -# include TestUtils - -module Dnsruby - module TestUtils - - module_function - - # Asserts that all exceptions whose type are the specified exception class - # or one of its subclasses are *not* raised. - # - # If any other kind of exception is raised, the test throws an exception - # (rather than failing). - # - # The test passes if and only if no exceptions are raised. - def assert_not_raised(exception_class, failure_message = nil) - begin - yield - rescue => e - if e.is_a?(exception_class) - flunk(failure_message || "An exception was not expected but was raised: #{e}") - else - raise e - end - end - end - -=begin - # This should result in a test failure: - def test_target_exception - assert_not_raised(ArgumentError, 'ArgumentError') { raise ArgumentError.new } - end - - # This should result in a test error: - def test_other_exception - assert_not_raised(ArgumentError, 'RuntimeError') { raise RuntimeError.new } - end - - # This should result in a passed test: - def test_no_exception - assert_not_raised(ArgumentError, 'No Error') { } - end -=end - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_dnsruby.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_dnsruby.rb deleted file mode 100644 index c05a4ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_dnsruby.rb +++ /dev/null @@ -1,18 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative "ts_online.rb" -require_relative "ts_offline.rb" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_offline.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_offline.rb deleted file mode 100644 index 5640973..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_offline.rb +++ /dev/null @@ -1,83 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' - -Dnsruby.log.level = Logger::FATAL - -# We'll prepend 'tc_' and append '.rb' to these: -TESTS = %w( - dnskey - escapedchars - gpos - hash - header - ipseckey - message - misc - name - naptr - nsec - nsec3 - nsec3param - nxt - tlsa - packet - packet_unique_push - ptrin - question - res_config - res_file - res_opt - rr - rr-txt - rr-unknown - rrset - rrsig - tkey - update - zone_reader -) - -# Omitted: -# -# tc_res_env - - -TESTS.each { |test| require_relative "tc_#{test}.rb" } - - -def have_open_ssl? - have_open_ssl = true - begin - require "openssl" - OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data") - key = OpenSSL::PKey::RSA.new - key.e = 111 - rescue - have_open_ssl = false - end - have_open_ssl -end - -if have_open_ssl? - require_relative 'tc_ds.rb' -else - puts "-----------------------------------------------------------------------" - puts "OpenSSL not present (with full functionality) - skipping DS digest test" - puts "-----------------------------------------------------------------------" -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_online.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_online.rb deleted file mode 100644 index fac7a02..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/dnsruby-1.70.0/test/ts_online.rb +++ /dev/null @@ -1,151 +0,0 @@ -# -- -# Copyright 2007 Nominet UK -# -# 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. -# ++ - -require_relative 'spec_helper' -Dnsruby.log.level = Logger::FATAL - -require 'socket' - - -# Tells whether or not we can connect to the Internet. -def online? - sock = UDPSocket.new() - online = false - begin - sock.connect('193.0.14.129', 25) # that address is k.root-servers.net - online = true - sock.close - rescue Exception => exception - puts " ------------------------------------------------------------- -Cannot bind to socket: - #{exception} - -This is an indication you have network problems. -No online tests will be run!! ------------------------------------------------------------- -" - end - online -end - - -if online? - online_tests = %w( - axfr - hs - recur - resolv - resolver - tcp - tcp_pipelining - single_resolver - cache - dns - rr-opt - res_config - ) - - - # Excluded are: - # - # inet6 - # recurse - # queue - # soak - - # OK - online and ready to go - puts ' -Running online tests. These tests send UDP packets - some may be lost. -If you get the odd timeout error with these tests, try running them again. -It may just be that some UDP packets got lost the first time... -' - - online_tests.each { |test| require_relative("tc_#{test}.rb") } -end - - -# We have set server_up to unconditionally return false. -# Therefore, to avoid any misconception that this code could run, -# I'm commenting it out. -=begin -def server_up? - false -# Check if we can contact the server - if we can't, then abort the test - # (but tell user that test has not been run due to connectivity problems) - - # Disabling the attempt to connect to Nominet servers... - # begin - # sock = UDPSocket.new - # sock.connect('ns0.validation-test-servers.nominet.org.uk', - # 25) - # sock.close - # server_up = true - # rescue Exception - # puts "----------------------------------------" - # puts "Cannot connect to test server\n\t"+$!.to_s+"\n" - # puts "\n\nNo tests targetting this server will be run!!\n\n" - # puts "----------------------------------------" - # end -end - - -if (server_up) - - require_relative "tc_single_resolver.rb" - require_relative "tc_cache.rb" - require_relative "tc_dns.rb" - require_relative "tc_rr-opt.rb" - require_relative "tc_res_config.rb" - - have_openssl = false - begin - require "openssl" - OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data") - key = OpenSSL::PKey::RSA.new - key.e = 111 - - have_openssl=true - rescue Exception => e - puts "-------------------------------------------------------------------------" - puts "OpenSSL not present (with full functionality) - skipping TSIG/DNSSEC test" - puts "-------------------------------------------------------------------------" - end - if (have_openssl) - require_relative "tc_tsig.rb" - puts "------------------------------------------------------" - puts "Running DNSSEC test - may fail if OpenSSL not complete" - puts "------------------------------------------------------" - require_relative "tc_verifier.rb" - require_relative "tc_dlv.rb" - require_relative "tc_validator.rb" - end -=end - -# have_em = false -# begin -# require 'eventmachine' -# have_em = true -# rescue LoadError => e -# puts "----------------------------------------" -# puts "EventMachine not installed - skipping test" -# puts "----------------------------------------" -# end -# if (have_em) -# require 'test/tc_event_machine_single_res.rb' -# require 'test/tc_event_machine_res.rb' -# require 'test/tc_event_machine_deferrable.rb' -# end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/drb-2.1.1/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/drb-2.1.1/LICENSE.txt deleted file mode 100644 index a009cae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/drb-2.1.1/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/drb-2.1.1/drb.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/drb-2.1.1/drb.gemspec deleted file mode 100644 index c9d7e40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/drb-2.1.1/drb.gemspec +++ /dev/null @@ -1,43 +0,0 @@ -begin - require_relative "lib/drb/version" -rescue LoadError # Fallback to load version file in ruby core repository - require_relative "version" -end - -Gem::Specification.new do |spec| - spec.name = "drb" - spec.version = DRb::VERSION - spec.authors = ["Masatoshi SEKI"] - spec.email = ["seki@ruby-lang.org"] - - spec.summary = %q{Distributed object system for Ruby} - spec.description = %q{Distributed object system for Ruby} - spec.homepage = "https://github.com/ruby/drb" - spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0") - spec.licenses = ["Ruby", "BSD-2-Clause"] - - spec.metadata["homepage_uri"] = spec.homepage - spec.metadata["source_code_uri"] = spec.homepage - - spec.files = %w[ - LICENSE.txt - drb.gemspec - lib/drb.rb - lib/drb/acl.rb - lib/drb/drb.rb - lib/drb/eq.rb - lib/drb/extserv.rb - lib/drb/extservm.rb - lib/drb/gw.rb - lib/drb/invokemethod.rb - lib/drb/observer.rb - lib/drb/ssl.rb - lib/drb/timeridconv.rb - lib/drb/unix.rb - lib/drb/version.rb - lib/drb/weakidconv.rb - ] - spec.require_paths = ["lib"] - - spec.add_dependency "ruby2_keywords" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/CHANGELOG.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/CHANGELOG.rdoc deleted file mode 100644 index f7dd9fb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/CHANGELOG.rdoc +++ /dev/null @@ -1,149 +0,0 @@ -= Changelog - -== 0.5.1 / 2014-04-23 - -- new features: - - Support for receiving binary messages - -- changed: - - Allow additional close codes to be sent by apps - - Raise better errors on missing Sec-WebSocket-Key2 - - Updated http_parser.rb dependency to 0.6.0 - -- bug fixes: - - Abort if HTTP request URI is invalid - - Force close connections that have been sent a close handshake after a timeout - -- improved spec compliance on: - - Missing continuation frames - - Fragmented control frames - - Close behaviour after protocol errors - -== 0.5.0 / 2013-03-05 - -- new features: - - onclose handler is now passed a hash containing was_clean (set to true in drafts 03 and above when a connection is closed with a closing handshake, either by the server or the client), the close code, and reason (drafts 06 and above). Close code 1005 indicates that no code was supplied, and 1006 that the connection was closed abnormally. - - use Connection#support_close_codes? to easily check whether close codes are supported by the WebSocket protocol (drafts 06 and above) - - closes connection with 1007 close code if text frame contains invalid UTF8 - - added Handshake#secure? for checking whether the connection is secure (either ssl or behind an ssl proxy) - -- changed: - - Defaults to sending no close code rather than 1000 (consistent with browsers) - - Allows sending a 3xxx close code - - Renamed Connection#close_websocket to Connection#close (again for consistency with browsers). Old method is available till 0.6. - - Sends reasons with internally generated closure (previously only sent code) - - Echos close code when replying to close handshake - -== 0.4.0 / 2013-01-22 - -- new features: - - on_open handler is now passed a handshake object which exposes the request headers, path, and query parameters - - Easily access the protocol version via Handshake#protocol_version - - Easily access the origin via Handshake#origin - -- changed: - - Removed Connection#request - change to using handshake passed to on_open - -- internals: - - Uses the http_parser.rb gem - -== 0.3.8 / 2012-07-12 - -- bug fixes: - - Fixed support for Ruby 1.8.7 which was broken in 0.3.7 - -== 0.3.7 / 2012-07-11 - -- new features: - - Supports sending 1009 error code when incoming frame is too large to handle, and added associated exception class WSMessageTooBigError [Martyn Loughran] - - Supports overriding the maximum frame size by setting the max_frame_size accessor on the connection object (in bytes). Default unchanged at 10MB. [Martyn Loughran] - -- bug fixes: - - Fixes some encoding issues on Ruby 1.9 [Dingding Ye] - - Raises a HandshakeError if WS header is empty [Markus Fenske] - - Connection#send would mutate passed string to BINARY encoding. The fix still mutates the string by forcing the encoding back to UTF-8 before returning, but if the passed string was encoded as UTF-8 this is equivalent [Martyn Loughran] - -== 0.3.6 / 2011-12-23 - -- new features: - - Supports sending ping & pong messages - - Supports binding to received ping & pong messages - -== 0.3.5 / 2011-10-24 - -- new features: - - Support WebSocket draft 13 - -== 0.3.2 / 2011-10-09 - -- bugfixes: - - Handling of messages with > 2 frames - - Encode string passed to onmessage handler as UTF-8 on Ruby 1.9 - - Add 10MB frame length limit to all draft versions - -== 0.3.1 / 2011-07-28 - -- new features: - - Support WebSocket drafts 07 & 08 - -== 0.3.0 / 2011-05-06 - -- new features: - - Support WebSocket drafts 05 & 06 -- changes: - - Accept request headers in a case insensitive manner - - Change handling of errors. Previously some application errors were caught - internally and were invisible unless an onerror callback was supplied. See - readme for details - -== 0.2.1 / 2011-03-01 - -- bugfixes: - - Performance improvements to draft 76 framing - - Limit frame lengths for draft 76 - - Better error handling for draft 76 handshake - - Ruby 1.9 support - -== 0.2.0 / 2010-11-23 - -- new features: - - Support for WebSocket draft 03 -- bugfixes: - - Handle case when handshake split into two receive_data calls - - Stricter regexp matching of frames - -== 0.1.4 / 2010-08-23 - -- new features: - - Allow custom ssl certificate to be used by passing :tls_options - - Protect against errors caused by non limited frame lengths - - Use custom exceptions rather than RuntimeError -- bugfixes: - - Handle invalid HTTP request with HandshakeError - -== 0.1.3 / 2010-07-18 - -- new features: - - onerror callback -- bugfixes: - - proper handling of zero spaces in key1 or key2(prevent ZeroDivisionError) - - convert received data to utf-8 to prevent ruby 1.9 errors - - fix handling of null bytes within a frame - -== 0.1.2 / 2010-06-16 - -- new features: - - none -- bugfixes: - - allow $ character inside header key - -== 0.1.1 / 2010-06-13 - -- new features: - - wss/ssl support -- bugfixes: - - can't & strings - -== 0.1.0 / 2010-06-12 - -- initial release \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/Gemfile deleted file mode 100644 index 633ac0c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/Gemfile +++ /dev/null @@ -1,9 +0,0 @@ -source "http://rubygems.org" - -gemspec - -gem "em-websocket-client", git: "git@github.com:movitto/em-websocket-client.git", branch: "expose-websocket-api" -gem "em-spec", "~> 0.2.6" -gem "em-http-request", "~> 1.1.1" -gem "rspec", "~> 3.5.0" -gem "rake" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/LICENCE b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/LICENCE deleted file mode 100644 index d4df7ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/LICENCE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (c) 2009-2014 Ilya Grigorik, Martyn Loughran - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/README.md deleted file mode 100644 index d112716..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/README.md +++ /dev/null @@ -1,146 +0,0 @@ -# EM-WebSocket - -[![Gem Version](https://badge.fury.io/rb/em-websocket.png)](http://rubygems.org/gems/em-websocket) -[![Analytics](https://ga-beacon.appspot.com/UA-71196-10/em-websocket/readme)](https://github.com/igrigorik/ga-beacon) - -EventMachine based, async, Ruby WebSocket server. Take a look at examples directory, or check out the blog post: [Ruby & Websockets: TCP for the Web](http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/). - -## Simple server example - -```ruby -require 'em-websocket' - -EM.run { - EM::WebSocket.run(:host => "0.0.0.0", :port => 8080) do |ws| - ws.onopen { |handshake| - puts "WebSocket connection open" - - # Access properties on the EM::WebSocket::Handshake object, e.g. - # path, query_string, origin, headers - - # Publish message to the client - ws.send "Hello Client, you connected to #{handshake.path}" - } - - ws.onclose { puts "Connection closed" } - - ws.onmessage { |msg| - puts "Recieved message: #{msg}" - ws.send "Pong: #{msg}" - } - end -} -``` - -## Protocols supported, and protocol specific functionality - -Supports all WebSocket protocols in use in the wild (and a few that are not): drafts 75, 76, 1-17, rfc. - -While some of the changes between protocols are unimportant from the point of view of application developers, a few drafts did introduce new functionality. It's possible to easily test for this functionality by using - -### Ping & pong supported - -Call `ws.pingable?` to check whether ping & pong is supported by the protocol in use. - -It's possible to send a ping frame (`ws.ping(body = '')`), which the client must respond to with a pong, or the server can send an unsolicited pong frame (`ws.pong(body = '')`) which the client should not respond to. These methods can be used regardless of protocol version; they return true if the protocol supports ping&pong or false otherwise. - -When receiving a ping, the server will automatically respond with a pong as the spec requires (so you should _not_ write an onping handler that replies with a pong), however it is possible to bind to ping & pong events if desired by using the `onping` and `onpong` methods. - -### Healthchecks - -It's possible to send a regular `HTTP GET` request to the `/healthcheck` endpoint and receive a `200` response from the server. - -### Close codes and reasons - -A WebSocket connection can be closed cleanly, regardless of protocol, by calling `ws.close(code = nil, body = nil)`. - -Early protocols just close the TCP connection, draft 3 introduced a close handshake, and draft 6 added close codes and reasons to the close handshake. Call `ws.supports_close_codes?` to check whether close codes are supported (i.e. the protocol version is 6 or above). - -The `onclose` callback is passed a hash which may contain following keys (depending on the protocol version): - -* `was_clean`: boolean indicating whether the connection was closed via the close handshake. -* `code`: the close code. There are two special close codes which the server may set (as defined in the WebSocket spec): - * 1005: no code was supplied - * 1006: abnormal closure (the same as `was_clean: false`) -* `reason`: the close reason - -Acceptable close codes are defined in the WebSocket rfc (). The following codes can be supplies when calling `ws.close(code)`: - -* 1000: a generic normal close -* range 3xxx: reserved for libraries, frameworks, and applications (and can be registered with IANA) -* range 4xxx: for private use - -If unsure use a code in the 4xxx range. em-websocket may also close a connection with one of the following close codes: - -* 1002: WebSocket protocol error. -* 1009: Message too big to process. By default em-websocket will accept frames up to 10MB in size. If a frame is larger than this the connection will be closed without reading the frame data. The limit can be overriden globally (`EM::WebSocket.max_frame_size = bytes`) or on a specific connection (`ws.max_frame_size = bytes`). - -## Secure server - -It is possible to accept secure `wss://` connections by passing `:secure => true` when opening the connection. Pass a `:tls_options` hash containing keys as described in http://www.rubydoc.info/github/eventmachine/eventmachine/EventMachine/Connection:start_tls - -**Warning**: Safari 5 does not currently support prompting on untrusted SSL certificates therefore using a self signed certificate may leave you scratching your head. - -```ruby -EM::WebSocket.start({ - :host => "0.0.0.0", - :port => 443, - :secure => true, - :tls_options => { - :private_key_file => "/private/key", - :cert_chain_file => "/ssl/certificate" - } -}) do |ws| - # ... -end -``` - -It's possible to check whether an incoming connection is secure by reading `handshake.secure?` in the onopen callback. - -## Running behind an SSL Proxy/Terminator, like Stunnel - -The `:secure_proxy => true` option makes it possible to use em-websocket behind a secure SSL proxy/terminator like [Stunnel](http://www.stunnel.org/) which does the actual encryption & decryption. - -Note that this option is only required to support drafts 75 & 76 correctly (e.g. Safari 5.1.x & earlier, and Safari on iOS 5.x & earlier). - -```ruby -EM::WebSocket.start({ - :host => "0.0.0.0", - :port => 8080, - :secure_proxy => true -}) do |ws| - # ... -end -``` - -## Handling errors - -There are two kinds of errors that need to be handled -- WebSocket protocol errors and errors in application code. - -WebSocket protocol errors (for example invalid data in the handshake or invalid message frames) raise errors which descend from `EM::WebSocket::WebSocketError`. Such errors are rescued internally and the WebSocket connection will be closed immediately or an error code sent to the browser in accordance to the WebSocket specification. It is possible to be notified in application code of such errors by including an `onerror` callback. - -```ruby -ws.onerror { |error| - if error.kind_of?(EM::WebSocket::WebSocketError) - # ... - end -} -``` - -Application errors are treated differently. If no `onerror` callback has been defined these errors will propagate to the EventMachine reactor, typically causing your program to terminate. If you wish to handle exceptions, simply supply an `onerror callback` and check for exceptions which are not descendant from `EM::WebSocket::WebSocketError`. - -It is also possible to log all errors when developing by including the `:debug => true` option when initialising the WebSocket server. - -## Emulating WebSockets in older browsers - -It is possible to emulate WebSockets in older browsers using flash emulation. For example take a look at the [web-socket-js](https://github.com/gimite/web-socket-js) project. - -Using flash emulation does require some minimal support from em-websocket which is enabled by default. If flash connects to the WebSocket port and requests a policy file (which it will do if it fails to receive a policy file on port 843 after a timeout), em-websocket will return one. Also see for an example policy file server which you can run on port 843. - -## Examples & Projects using em-websocket - -* [Pusher](http://pusher.com) - Realtime Messaging Service -* [Livereload](https://github.com/mockko/livereload) - LiveReload applies CSS/JS changes to Safari or Chrome w/o reloading -* [Twitter AMQP WebSocket Example](http://github.com/rubenfonseca/twitter-amqp-websocket-example) -* examples/multicast.rb - broadcast all ruby tweets to all subscribers -* examples/echo.rb - server <> client exchange via a websocket diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/Rakefile deleted file mode 100644 index 0bd2718..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/Rakefile +++ /dev/null @@ -1,11 +0,0 @@ -require 'bundler' -Bundler::GemHelper.install_tasks - -require 'rspec/core/rake_task' - -RSpec::Core::RakeTask.new do |t| - t.rspec_opts = ["-c", "-f progress", "-r ./spec/helper.rb"] - t.pattern = 'spec/**/*_spec.rb' -end - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/echo.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/echo.rb deleted file mode 100644 index 4e64886..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/echo.rb +++ /dev/null @@ -1,24 +0,0 @@ -require File.expand_path('../../lib/em-websocket', __FILE__) - -EM.run { - EM::WebSocket.run(:host => "0.0.0.0", :port => 8080, :debug => false) do |ws| - ws.onopen { |handshake| - puts "WebSocket opened #{{ - :path => handshake.path, - :query => handshake.query, - :origin => handshake.origin, - }}" - - ws.send "Hello Client!" - } - ws.onmessage { |msg| - ws.send "Pong: #{msg}" - } - ws.onclose { - puts "WebSocket closed" - } - ws.onerror { |e| - puts "Error: #{e.message}" - } - end -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/multicast.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/multicast.rb deleted file mode 100644 index b1692d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/multicast.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'em-websocket' -# requires the twitter-stream gem -require 'twitter/json_stream' -require 'json' - -# -# broadcast all ruby related tweets to all connected users! -# - -username = ARGV.shift -password = ARGV.shift -raise "need username and password" if !username or !password - -EventMachine.run { - @channel = EM::Channel.new - - @twitter = Twitter::JSONStream.connect( - :path => '/1/statuses/filter.json?track=ruby', - :auth => "#{username}:#{password}", - :ssl => true - ) - - @twitter.each_item do |status| - status = JSON.parse(status) - @channel.push "#{status['user']['screen_name']}: #{status['text']}" - end - - - EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080, :debug => true) do |ws| - - ws.onopen { - sid = @channel.subscribe { |msg| ws.send msg } - @channel.push "#{sid} connected!" - - ws.onmessage { |msg| - @channel.push "<#{sid}>: #{msg}" - } - - ws.onclose { - @channel.unsubscribe(sid) - } - } - - end - - puts "Server started" -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/ping.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/ping.rb deleted file mode 100644 index fe569c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/ping.rb +++ /dev/null @@ -1,24 +0,0 @@ -require File.expand_path('../../lib/em-websocket', __FILE__) - -EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080, :debug => false) do |ws| - timer = nil - ws.onopen { - puts "Ping supported: #{ws.pingable?}" - timer = EM.add_periodic_timer(1) { - p ["Sent ping", ws.ping('hello')] - } - } - ws.onpong { |value| - puts "Received pong: #{value}" - } - ws.onping { |value| - puts "Received ping: #{value}" - } - ws.onclose { - EM.cancel_timer(timer) - puts "WebSocket closed" - } - ws.onerror { |e| - puts "Error: #{e.message}" - } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/test.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/test.html deleted file mode 100644 index 07d4636..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/examples/test.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -

- - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/helper.rb deleted file mode 100644 index 76e45b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/helper.rb +++ /dev/null @@ -1,173 +0,0 @@ -# encoding: BINARY - -require 'rubygems' -require 'rspec' -require 'em-spec/rspec' -require 'em-http' - -require 'em-websocket' -require 'em-websocket-client' - -require 'integration/shared_examples' -require 'integration/gte_03_examples' - -RSpec.configure do |c| - c.mock_with :rspec -end - -class FakeWebSocketClient < EM::Connection - attr_reader :handshake_response, :packets - - def onopen(&blk); @onopen = blk; end - def onclose(&blk); @onclose = blk; end - def onerror(&blk); @onerror = blk; end - def onmessage(&blk); @onmessage = blk; end - - def initialize - @state = :new - @packets = [] - end - - def receive_data(data) - # puts "RECEIVE DATA #{data}" - if @state == :new - @handshake_response = data - @onopen.call if defined? @onopen - @state = :open - else - @onmessage.call(data) if defined? @onmessage - @packets << data - end - end - - def send(application_data) - send_frame(:text, application_data) - end - - def send_frame(type, application_data) - send_data construct_frame(type, application_data) - end - - def unbind - @onclose.call if defined? @onclose - end - - private - - def construct_frame(type, data) - "\x00#{data}\xff" - end -end - -class Draft03FakeWebSocketClient < FakeWebSocketClient - private - - def construct_frame(type, data) - frame = "" - frame << EM::WebSocket::Framing03::FRAME_TYPES[type] - frame << encoded_length(data.size) - frame << data - end - - def encoded_length(length) - if length <= 125 - [length].pack('C') # since rsv4 is 0 - elsif length < 65536 # write 2 byte length - "\126#{[length].pack('n')}" - else # write 8 byte length - "\127#{[length >> 32, length & 0xFFFFFFFF].pack("NN")}" - end - end -end - -class Draft05FakeWebSocketClient < Draft03FakeWebSocketClient - private - - def construct_frame(type, data) - frame = "" - frame << "\x00\x00\x00\x00" # Mask with nothing for simplicity - frame << (EM::WebSocket::Framing05::FRAME_TYPES[type] | 0b10000000) - frame << encoded_length(data.size) - frame << data - end -end - -class Draft07FakeWebSocketClient < Draft05FakeWebSocketClient - private - - def construct_frame(type, data) - frame = "" - frame << (EM::WebSocket::Framing07::FRAME_TYPES[type] | 0b10000000) - # Should probably mask the data, but I get away without bothering since - # the server doesn't enforce that incoming frames are masked - frame << encoded_length(data.size) - frame << data - end -end - -# Wrapper around em-websocket-client -class Draft75WebSocketClient - def onopen(&blk); @onopen = blk; end - def onclose(&blk); @onclose = blk; end - def onerror(&blk); @onerror = blk; end - def onmessage(&blk); @onmessage = blk; end - - def initialize - @ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/', - :version => 75, - :origin => 'http://example.com') - @ws.errback { |err| @onerror.call if defined? @onerror } - @ws.callback { @onopen.call if defined? @onopen } - @ws.stream { |msg| @onmessage.call(msg) if defined? @onmessage } - @ws.disconnect { @onclose.call if defined? @onclose } - end - - def send(message) - @ws.send_msg(message) - end - - def close_connection - @ws.close_connection - end -end - -def start_server(opts = {}) - EM::WebSocket.run({:host => "0.0.0.0", :port => 12345}.merge(opts)) { |ws| - yield ws if block_given? - } -end - -def format_request(r) - data = "#{r[:method]} #{r[:path]} HTTP/1.1\r\n" - header_lines = r[:headers].map { |k,v| "#{k}: #{v}" } - data << [header_lines, '', r[:body]].join("\r\n") - data -end - -def format_response(r) - data = r[:protocol] || "HTTP/1.1 101 WebSocket Protocol Handshake\r\n" - header_lines = r[:headers].map { |k,v| "#{k}: #{v}" } - data << [header_lines, '', r[:body]].join("\r\n") - data -end - -RSpec::Matchers.define :succeed_with_upgrade do |response| - match do |actual| - success = nil - actual.callback { |upgrade_response, handler_klass| - success = (upgrade_response.lines.sort == format_response(response).lines.sort) - } - success - end -end - -RSpec::Matchers.define :fail_with_error do |error_klass, error_message| - match do |actual| - success = nil - actual.errback { |e| - success = (e.class == error_klass) - success &= (e.message == error_message) if error_message - } - success - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/common_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/common_spec.rb deleted file mode 100644 index c89f871..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/common_spec.rb +++ /dev/null @@ -1,138 +0,0 @@ -require 'helper' - -# These tests are not specific to any particular draft of the specification -# -describe "WebSocket server" do - include EM::SpecHelper - default_timeout 1 - - it "should fail on non WebSocket requests" do - em { - EM.add_timer(0.1) do - http = EM::HttpRequest.new('http://127.0.0.1:12345/').get :timeout => 0 - http.errback { done } - http.callback { fail } - end - - start_server - } - end - - it "should expose the WebSocket request headers, path and query params" do - em { - EM.add_timer(0.1) do - ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/', - :origin => 'http://example.com') - ws.errback { fail } - ws.callback { ws.close_connection } - ws.stream { |msg| } - end - - start_server do |ws| - ws.onopen { |handshake| - headers = handshake.headers - headers["Connection"].should == "Upgrade" - headers["Upgrade"].should == "websocket" - headers["Host"].to_s.should == "127.0.0.1:12345" - handshake.path.should == "/" - handshake.query.should == {} - handshake.origin.should == 'http://example.com' - } - ws.onclose { - ws.state.should == :closed - done - } - end - } - end - - it "should expose the WebSocket path and query params when nonempty" do - em { - EM.add_timer(0.1) do - ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/hello?foo=bar&baz=qux') - ws.errback { fail } - ws.callback { - ws.close_connection - } - ws.stream { |msg| } - end - - start_server do |ws| - ws.onopen { |handshake| - handshake.path.should == '/hello' - handshake.query_string.split('&').sort. - should == ["baz=qux", "foo=bar"] - handshake.query.should == {"foo"=>"bar", "baz"=>"qux"} - } - ws.onclose { - ws.state.should == :closed - done - } - end - } - end - - it "should raise an exception if frame sent before handshake complete" do - em { - # 1. Start WebSocket server - start_server { |ws| - # 3. Try to send a message to the socket - lambda { - ws.send('early message') - }.should raise_error('Cannot send data before onopen callback') - done - } - - # 2. Connect a dumb TCP connection (will not send handshake) - EM.connect('0.0.0.0', 12345, EM::Connection) - } - end - - it "should allow the server to be started inside an existing EM" do - em { - EM.add_timer(0.1) do - http = EM::HttpRequest.new('http://127.0.0.1:12345/').get :timeout => 0 - http.errback { |e| done } - http.callback { fail } - end - - start_server do |ws| - ws.onopen { |handshake| - headers = handshake.headers - headers["Host"].to_s.should == "127.0.0.1:12345" - } - ws.onclose { - ws.state.should == :closed - done - } - end - } - end - - context "outbound limit set" do - it "should close the connection if the limit is reached" do - em { - start_server(:outbound_limit => 150) do |ws| - # Increase the message size by one on each loop - ws.onmessage{|msg| ws.send(msg + "x") } - ws.onclose{|status| - status[:code].should == 1006 # Unclean - status[:was_clean].should be false - } - end - - EM.add_timer(0.1) do - ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/') - ws.callback { ws.send_msg "hello" } - ws.disconnect { done } # Server closed the connection - ws.stream { |msg| - # minus frame size ? (getting 146 max here) - msg.data.size.should <= 150 - # Return back the message - ws.send_msg(msg.data) - } - end - } - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft03_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft03_spec.rb deleted file mode 100644 index f299ab6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft03_spec.rb +++ /dev/null @@ -1,298 +0,0 @@ -require 'helper' - -describe "draft03" do - include EM::SpecHelper - default_timeout 1 - - before :each do - @request = { - :port => 80, - :method => "GET", - :path => "/demo", - :headers => { - 'Host' => 'example.com', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Key2' => '12998 5 Y3 1 .P00', - 'Sec-WebSocket-Protocol' => 'sample', - 'Upgrade' => 'WebSocket', - 'Sec-WebSocket-Key1' => '4 @1 46546xW%0l 1 5', - 'Origin' => 'http://example.com', - 'Sec-WebSocket-Draft' => '3' - }, - :body => '^n:ds[4U' - } - - @response = { - :headers => { - "Upgrade" => "WebSocket", - "Connection" => "Upgrade", - "Sec-WebSocket-Location" => "ws://example.com/demo", - "Sec-WebSocket-Origin" => "http://example.com", - "Sec-WebSocket-Protocol" => "sample" - }, - :body => "8jKS\'y:G*Co,Wxa-" - } - end - - def start_client - client = EM.connect('0.0.0.0', 12345, Draft03FakeWebSocketClient) - client.send_data(format_request(@request)) - yield client if block_given? - return client - end - - it_behaves_like "a websocket server" do - let(:version) { 3 } - end - - it_behaves_like "a WebSocket server drafts 3 and above" do - let(:version) { 3 } - end - - # These examples are straight from the spec - # http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-03#section-4.6 - describe "examples from the spec" do - it "should accept a single-frame text message" do - em { - start_server { |ws| - ws.onmessage { |msg| - msg.should == 'Hello' - done - } - } - start_client { |client| - client.onopen { - client.send_data("\x04\x05Hello") - } - } - } - end - - it "should accept a fragmented text message" do - em { - start_server { |ws| - ws.onmessage { |msg| - msg.should == 'Hello' - done - } - } - - connection = start_client - - # Send frame - connection.onopen { - connection.send_data("\x84\x03Hel") - connection.send_data("\x00\x02lo") - } - } - end - - it "should accept a ping request and respond with the same body" do - em { - start_server - - connection = start_client - - # Send frame - connection.onopen { - connection.send_data("\x02\x05Hello") - } - - connection.onmessage { |frame| - next if frame.nil? - frame.should == "\x03\x05Hello" - done - } - } - end - - it "should accept a 256 bytes binary message in a single frame" do - em { - data = "a" * 256 - - start_server { |ws| - ws.onbinary { |msg| - msg.encoding.should == Encoding.find("BINARY") if defined?(Encoding) - msg.should == data - done - } - } - - connection = start_client - - # Send frame - connection.onopen { - connection.send_data("\x05\x7E\x01\x00" + data) - } - } - end - - it "should accept a 64KiB binary message in a single frame" do - em { - data = "a" * 65536 - - start_server { |ws| - ws.onbinary { |msg| - msg.encoding.should == Encoding.find("BINARY") if defined?(Encoding) - msg.should == data - done - } - } - - connection = start_client - - # Send frame - connection.onopen { - connection.send_data("\x05\x7F\x00\x00\x00\x00\x00\x01\x00\x00" + data) - } - } - end - end - - describe "close handling" do - it "should respond to a new close frame with a close frame" do - em { - start_server - - connection = start_client - - # Send close frame - connection.onopen { - connection.send_data("\x01\x00") - } - - # Check that close ack received - connection.onmessage { |frame| - frame.should == "\x01\x00" - done - } - } - end - - it "should close the connection on receiving a close acknowlegement and call onclose with close code 1005 and was_clean=true (initiated by server)" do - em { - ack_received = false - - start_server { |ws| - ws.onopen { - # 2. Send a close frame - EM.next_tick { - ws.close - } - } - - # 5. Onclose event on server - ws.onclose { |event| - event.should == { - :code => 1005, - :reason => "", - :was_clean => true, - } - done - } - } - - # 1. Create a fake client which sends draft 76 handshake - connection = start_client - - # 3. Check that close frame recieved and acknowlege it - connection.onmessage { |frame| - frame.should == "\x01\x00" - ack_received = true - connection.send_data("\x01\x00") - } - - # 4. Check that connection is closed _after_ the ack - connection.onclose { - ack_received.should == true - } - } - end - - # it "should repur" - # - it "should return close code 1005 and was_clean=true after closing handshake (initiated by client)" do - em { - start_server { |ws| - ws.onclose { |event| - event.should == { - :code => 1005, - :reason => "", - :was_clean => true, - } - done - } - } - start_client { |client| - client.onopen { - client.send_data("\x01\x00") - } - } - } - end - - it "should not allow data frame to be sent after close frame sent" do - em { - start_server { |ws| - ws.onopen { - # 2. Send a close frame - EM.next_tick { - ws.close - } - - # 3. Check that exception raised if I attempt to send more data - EM.add_timer(0.1) { - lambda { - ws.send('hello world') - }.should raise_error(EM::WebSocket::WebSocketError, 'Cannot send data frame since connection is closing') - done - } - } - } - - # 1. Create a fake client which sends draft 76 handshake - start_client - } - end - - it "should still respond to control frames after close frame sent" do - em { - start_server { |ws| - ws.onopen { - # 2. Send a close frame - EM.next_tick { - ws.close - } - } - } - - # 1. Create a fake client which sends draft 76 handshake - connection = start_client - - connection.onmessage { |frame| - if frame == "\x01\x00" - # 3. After the close frame is received send a ping frame, but - # don't respond with a close ack - connection.send_data("\x02\x05Hello") - else - # 4. Check that the pong is received - frame.should == "\x03\x05Hello" - done - end - } - } - end - - it "should report that close codes are not supported" do - em { - start_server { |ws| - ws.onopen { - ws.supports_close_codes?.should == false - done - } - } - start_client - } - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft05_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft05_spec.rb deleted file mode 100644 index e07ea28..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft05_spec.rb +++ /dev/null @@ -1,50 +0,0 @@ -require 'helper' - -describe "draft05" do - include EM::SpecHelper - default_timeout 1 - - before :each do - @request = { - :port => 80, - :method => "GET", - :path => "/demo", - :headers => { - 'Host' => 'example.com', - 'Upgrade' => 'websocket', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Key' => 'dGhlIHNhbXBsZSBub25jZQ==', - 'Sec-WebSocket-Protocol' => 'sample', - 'Sec-WebSocket-Origin' => 'http://example.com', - 'Sec-WebSocket-Version' => '5' - } - } - end - - def start_client - client = EM.connect('0.0.0.0', 12345, Draft05FakeWebSocketClient) - client.send_data(format_request(@request)) - yield client if block_given? - return client - end - - it_behaves_like "a websocket server" do - let(:version) { 5 } - end - - it_behaves_like "a WebSocket server drafts 3 and above" do - let(:version) { 5 } - end - - it "should report that close codes are not supported" do - em { - start_server { |ws| - ws.onopen { - ws.supports_close_codes?.should == false - done - } - } - start_client - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft06_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft06_spec.rb deleted file mode 100644 index ae213cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft06_spec.rb +++ /dev/null @@ -1,145 +0,0 @@ -require 'helper' - -describe "draft06" do - include EM::SpecHelper - default_timeout 1 - - before :each do - @request = { - :port => 80, - :method => "GET", - :path => "/demo", - :headers => { - 'Host' => 'example.com', - 'Upgrade' => 'websocket', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Key' => 'dGhlIHNhbXBsZSBub25jZQ==', - 'Sec-WebSocket-Protocol' => 'sample', - 'Sec-WebSocket-Origin' => 'http://example.com', - 'Sec-WebSocket-Version' => '6' - } - } - - @response = { - :protocol => "HTTP/1.1 101 Switching Protocols\r\n", - :headers => { - "Upgrade" => "websocket", - "Connection" => "Upgrade", - "Sec-WebSocket-Accept" => "s3pPLMBiTxaQ9kYGzzhZRbK+xOo=", - "Sec-WebSocket-Protocol" => "sample", - } - } - end - - def start_client - client = EM.connect('0.0.0.0', 12345, Draft05FakeWebSocketClient) - client.send_data(format_request(@request)) - yield client if block_given? - return client - end - - it_behaves_like "a websocket server" do - let(:version) { 6 } - end - - it_behaves_like "a WebSocket server drafts 3 and above" do - let(:version) { 6 } - end - - it "should open connection" do - em { - start_server { |server| - server.onopen { - server.instance_variable_get(:@handler).class.should == EventMachine::WebSocket::Handler06 - } - } - - start_client { |client| - client.onopen { - client.handshake_response.lines.sort. - should == format_response(@response).lines.sort - done - } - } - } - end - - it "should accept a single-frame text message (masked)" do - em { - start_server { |server| - server.onmessage { |msg| - msg.should == 'Hello' - if msg.respond_to?(:encoding) - msg.encoding.should == Encoding.find("UTF-8") - end - done - } - server.onerror { - fail - } - } - - start_client { |client| - client.onopen { - client.send_data("\x00\x00\x01\x00\x84\x05Ielln") - } - } - } - end - - it "should return close code and reason if closed via handshake" do - em { - start_server { |ws| - ws.onclose { |event| - # 2. Receive close event in server - event.should == { - :code => 4004, - :reason => "close reason", - :was_clean => true, - } - done - } - } - start_client { |client| - client.onopen { - # 1: Send close handshake - close_data = [4004].pack('n') - close_data << "close reason" - client.send_frame(:close, close_data) - } - } - } - end - - it "should return close code 1005 if no code was specified" do - em { - start_server { |ws| - ws.onclose { |event| - event.should == { - :code => 1005, - :reason => "", - :was_clean => true, - } - done - } - } - start_client { |client| - client.onopen { - client.send_frame(:close, '') - } - } - } - end - - it "should report that close codes are supported" do - em { - start_server { |ws| - ws.onopen { - ws.supports_close_codes?.should == true - done - } - } - start_client - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft13_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft13_spec.rb deleted file mode 100644 index 10dc2a3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft13_spec.rb +++ /dev/null @@ -1,105 +0,0 @@ -# encoding: BINARY - -require 'helper' - -describe "draft13" do - include EM::SpecHelper - default_timeout 1 - - before :each do - @request = { - :port => 80, - :method => "GET", - :path => "/demo", - :headers => { - 'Host' => 'example.com', - 'Upgrade' => 'websocket', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Key' => 'dGhlIHNhbXBsZSBub25jZQ==', - 'Sec-WebSocket-Protocol' => 'sample', - 'Sec-WebSocket-Origin' => 'http://example.com', - 'Sec-WebSocket-Version' => '13' - } - } - - @response = { - :protocol => "HTTP/1.1 101 Switching Protocols\r\n", - :headers => { - "Upgrade" => "websocket", - "Connection" => "Upgrade", - "Sec-WebSocket-Accept" => "s3pPLMBiTxaQ9kYGzzhZRbK+xOo=", - "Sec-WebSocket-Protocol" => "sample", - } - } - end - - def start_client - client = EM.connect('0.0.0.0', 12345, Draft07FakeWebSocketClient) - client.send_data(format_request(@request)) - yield client if block_given? - return client - end - - it_behaves_like "a websocket server" do - let(:version) { 13 } - end - - it_behaves_like "a WebSocket server drafts 3 and above" do - let(:version) { 13 } - end - - it "should send back the correct handshake response" do - em { - start_server - - connection = start_client - - connection.onopen { - connection.handshake_response.lines.sort. - should == format_response(@response).lines.sort - done - } - } - end - - # TODO: This test would be much nicer with a real websocket client... - it "should support sending pings and binding to onpong" do - em { - start_server { |ws| - ws.onopen { - ws.should be_pingable - EM.next_tick { - ws.ping('hello').should == true - } - - } - ws.onpong { |data| - data.should == 'hello' - done - } - } - - connection = start_client - - # Confusing, fake onmessage means any data after the handshake - connection.onmessage { |data| - # This is what a ping looks like - data.should == "\x89\x05hello" - # This is what a pong looks like - connection.send_data("\x8a\x05hello") - } - } - end - - it "should report that close codes are supported" do - em { - start_server { |ws| - ws.onopen { - ws.supports_close_codes?.should == true - done - } - } - start_client - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft75_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft75_spec.rb deleted file mode 100644 index 8d9faec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft75_spec.rb +++ /dev/null @@ -1,123 +0,0 @@ -require 'helper' - -# These integration tests are older and use a different testing style to the -# integration tests for newer drafts. They use EM::HttpRequest which happens -# to currently estabish a websocket connection using the draft75 protocol. -# -describe "WebSocket server draft75" do - include EM::SpecHelper - default_timeout 1 - - def start_client - client = Draft75WebSocketClient.new - yield client if block_given? - return client - end - - it_behaves_like "a websocket server" do - let(:version) { 75 } - end - - it "should automatically complete WebSocket handshake" do - em { - MSG = "Hello World!" - EventMachine.add_timer(0.1) do - ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/') - ws.errback { fail } - ws.callback { } - - ws.stream { |msg| - msg.data.should == MSG - EventMachine.stop - } - end - - start_server { |ws| - ws.onopen { - ws.send MSG - } - } - } - end - - it "should split multiple messages into separate callbacks" do - em { - messages = %w[1 2] - received = [] - - EventMachine.add_timer(0.1) do - ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/') - ws.errback { fail } - ws.stream {|msg|} - ws.callback { - ws.send_msg messages[0] - ws.send_msg messages[1] - } - end - - start_server { |ws| - ws.onopen {} - ws.onclose {} - ws.onmessage {|msg| - msg.should == messages[received.size] - received.push msg - - EventMachine.stop if received.size == messages.size - } - } - } - end - - it "should call onclose callback when client closes connection" do - em { - EventMachine.add_timer(0.1) do - ws = EventMachine::WebSocketClient.connect('ws://127.0.0.1:12345/') - ws.errback { fail } - ws.callback { - ws.close_connection - } - ws.stream{|msg|} - end - - start_server { |ws| - ws.onopen {} - ws.onclose { - ws.state.should == :closed - EventMachine.stop - } - } - } - end - - it "should call onerror callback with raised exception and close connection on bad handshake" do - em { - EventMachine.add_timer(0.1) do - http = EM::HttpRequest.new('http://127.0.0.1:12345/').get - http.errback { } - http.callback { fail } - end - - start_server { |ws| - ws.onopen { fail } - ws.onclose { EventMachine.stop } - ws.onerror {|e| - e.should be_an_instance_of EventMachine::WebSocket::HandshakeError - e.message.should match('Not an upgrade request') - EventMachine.stop - } - } - } - end - - it "should report that close codes are not supported" do - em { - start_server { |ws| - ws.onopen { - ws.supports_close_codes?.should == false - done - } - } - start_client - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft76_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft76_spec.rb deleted file mode 100644 index f1a14e6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/draft76_spec.rb +++ /dev/null @@ -1,234 +0,0 @@ -# encoding: BINARY - -require 'helper' - -describe "WebSocket server draft76" do - include EM::SpecHelper - default_timeout 1 - - before :each do - @request = { - :port => 80, - :method => "GET", - :path => "/demo", - :headers => { - 'Host' => 'example.com', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Key2' => '12998 5 Y3 1 .P00', - 'Sec-WebSocket-Protocol' => 'sample', - 'Upgrade' => 'WebSocket', - 'Sec-WebSocket-Key1' => '4 @1 46546xW%0l 1 5', - 'Origin' => 'http://example.com' - }, - :body => '^n:ds[4U' - } - - @response = { - :headers => { - "Upgrade" => "WebSocket", - "Connection" => "Upgrade", - "Sec-WebSocket-Location" => "ws://example.com/demo", - "Sec-WebSocket-Origin" => "http://example.com", - "Sec-WebSocket-Protocol" => "sample" - }, - :body => "8jKS\'y:G*Co,Wxa-" - } - end - - def start_client - client = EM.connect('0.0.0.0', 12345, FakeWebSocketClient) - client.send_data(format_request(@request)) - yield client if block_given? - return client - end - - it_behaves_like "a websocket server" do - let(:version) { 76 } - end - - it "should send back the correct handshake response" do - em { - start_server - - start_client { |connection| - connection.onopen { - connection.handshake_response.lines.sort. - should == format_response(@response).lines.sort - done - } - } - } - end - - it "should send closing frame back and close the connection after recieving closing frame" do - em { - start_server - - connection = start_client - - # Send closing frame after handshake complete - connection.onopen { - connection.send_data(EM::WebSocket::Handler76::TERMINATE_STRING) - } - - # Check that this causes a termination string to be returned and the - # connection close - connection.onclose { - connection.packets[0].should == - EM::WebSocket::Handler76::TERMINATE_STRING - done - } - } - end - - it "should ignore any data received after the closing frame" do - em { - start_server { |ws| - # Fail if foobar message is received - ws.onmessage { |msg| - fail - } - } - - connection = start_client - - # Send closing frame after handshake complete, followed by another msg - connection.onopen { - connection.send_data(EM::WebSocket::Handler76::TERMINATE_STRING) - connection.send('foobar') - } - - connection.onclose { - done - } - } - end - - it "should accept null bytes within the frame after a line return" do - em { - start_server { |ws| - ws.onmessage { |msg| - msg.should == "\n\000" - } - } - - connection = start_client - - # Send closing frame after handshake complete - connection.onopen { - connection.send_data("\000\n\000\377") - connection.send_data(EM::WebSocket::Handler76::TERMINATE_STRING) - } - - connection.onclose { - done - } - } - end - - it "should handle unreasonable frame lengths by calling onerror callback" do - em { - start_server { |server| - server.onerror { |error| - error.should be_an_instance_of EM::WebSocket::WSMessageTooBigError - error.message.should == "Frame length too long (1180591620717411303296 bytes)" - done - } - } - - client = start_client - - # This particular frame indicates a message length of - # 1180591620717411303296 bytes. Such a message would previously cause - # a "bignum too big to convert into `long'" error. - # However it is clearly unreasonable and should be rejected. - client.onopen { - client.send_data("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00") - } - } - end - - it "should handle impossible frames by calling onerror callback" do - em { - start_server { |server| - server.onerror { |error| - error.should be_an_instance_of EM::WebSocket::WSProtocolError - error.message.should == "Invalid frame received" - done - } - } - - client = start_client - - client.onopen { - client.send_data("foobar") # Does not start with \x00 or \xff - } - } - end - - it "should handle invalid http requests by raising HandshakeError passed to onerror callback" do - em { - start_server { |server| - server.onerror { |error| - error.should be_an_instance_of EM::WebSocket::HandshakeError - error.message.should == "Invalid HTTP header: Could not parse data entirely (1 != 29)" - done - } - } - - client = EM.connect('0.0.0.0', 12345, FakeWebSocketClient) - client.send_data("This is not a HTTP header\r\n\r\n") - } - end - - it "should handle handshake request split into two TCP packets" do - em { - start_server - - # Create a fake client which sends draft 76 handshake - connection = EM.connect('0.0.0.0', 12345, FakeWebSocketClient) - data = format_request(@request) - # Sends first half of the request - connection.send_data(data[0...(data.length / 2)]) - - connection.onopen { - connection.handshake_response.lines.sort. - should == format_response(@response).lines.sort - done - } - - EM.add_timer(0.1) do - # Sends second half of the request - connection.send_data(data[(data.length / 2)..-1]) - end - } - end - - it "should report that close codes are not supported" do - em { - start_server { |ws| - ws.onopen { - ws.supports_close_codes?.should == false - done - } - } - start_client - } - end - - it "should call onclose when the server closes the connection [antiregression]" do - em { - start_server { |ws| - ws.onopen { - EM.add_timer(0.1) { - ws.close() - } - } - ws.onclose { - done - } - } - start_client - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/gte_03_examples.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/gte_03_examples.rb deleted file mode 100644 index f841618..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/gte_03_examples.rb +++ /dev/null @@ -1,42 +0,0 @@ -shared_examples_for "a WebSocket server drafts 3 and above" do - it "should force close connections after a timeout if close handshake is not sent by the client" do - em { - server_onerror_fired = false - server_onclose_fired = false - client_got_close_handshake = false - - start_server(:close_timeout => 0.1) { |ws| - ws.onopen { - # 1: Send close handshake to client - EM.next_tick { ws.close(4999, "Close message") } - } - - ws.onerror { |e| - # 3: Client should receive onerror - e.class.should == EM::WebSocket::WSProtocolError - e.message.should == "Close handshake un-acked after 0.1s, closing tcp connection" - server_onerror_fired = true - } - - ws.onclose { - server_onclose_fired = true - } - } - start_client { |client| - client.onmessage { |msg| - # 2: Client does not respond to close handshake (the fake client - # doesn't understand them at all hence this is in onmessage) - msg.should =~ /Close message/ if version >= 6 - client_got_close_handshake = true - } - - client.onclose { - server_onerror_fired.should == true - server_onclose_fired.should == true - client_got_close_handshake.should == true - done - } - } - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/shared_examples.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/shared_examples.rb deleted file mode 100644 index 0cd6b42..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/integration/shared_examples.rb +++ /dev/null @@ -1,265 +0,0 @@ -# encoding: UTF-8 - -# These tests are run against all draft versions -# -shared_examples_for "a websocket server" do - it "should expose the protocol version" do - em { - start_server { |ws| - ws.onopen { |handshake| - handshake.protocol_version.should == version - done - } - } - - start_client - } - end - - it "should expose the origin header" do - em { - start_server { |ws| - ws.onopen { |handshake| - handshake.origin.should == 'http://example.com' - done - } - } - - start_client - } - end - - it "should expose the remote IP address" do - em { - start_server { |ws| - ws.onopen { - ws.remote_ip.should == "127.0.0.1" - done - } - } - - start_client - } - end - - it "should send messages successfully" do - em { - start_server { |ws| - ws.onmessage { |message| - message.should == "hello server" - done - } - } - - start_client { |client| - client.onopen { - client.send("hello server") - } - } - } - end - - it "should allow connection to be closed with valid close code" do - em { - start_server { |ws| - ws.onopen { - ws.close(4004, "Bye bye") - done - } - } - - start_client - # TODO: Use a real client which understands how to respond to closing - # handshakes, sending the handshake currently untested - } - end - - it "should raise error if if invalid close code is used" do - em { - start_server { |ws| - ws.onopen { - lambda { - ws.close(2000) - }.should raise_error("Application code may only use codes from 1000, 3000-4999") - done - } - } - - start_client - } - end - - it "should call onclose with was_clean set to false if connection closed without closing handshake by server" do - em { - start_server { |ws| - ws.onopen { - # Close tcp connection (no close handshake) - ws.close_connection - } - ws.onclose { |event| - event.should == {:code => 1006, :was_clean => false} - done - } - } - start_client - } - end - - it "should call onclose with was_clean set to false if connection closed without closing handshake by client" do - em { - start_server { |ws| - ws.onclose { |event| - event.should == {:code => 1006, :was_clean => false} - done - } - } - start_client { |client| - client.onopen { - # Close tcp connection (no close handshake) - client.close_connection - } - } - } - end - - it "should call onerror if an application error raised in onopen" do - em { - start_server { |ws| - ws.onopen { - raise "application error" - } - - ws.onerror { |e| - e.message.should == "application error" - done - } - } - - start_client - } - end - - it "should call onerror if an application error raised in onmessage" do - em { - start_server { |server| - server.onmessage { - raise "application error" - } - - server.onerror { |e| - e.message.should == "application error" - done - } - } - - start_client { |client| - client.onopen { - client.send('a message') - } - } - } - end - - it "should call onerror in an application error raised in onclose" do - em { - start_server { |server| - server.onclose { - raise "application error" - } - - server.onerror { |e| - e.message.should == "application error" - done - } - } - - start_client { |client| - client.onopen { - EM.add_timer(0.1) { - client.close_connection - } - } - } - } - end - - it "should close the connection when a too long frame is sent" do - em { - start_server { |server| - server.max_frame_size = 20 - - server.onerror { |e| - # 3: Error should be reported to server - e.class.should == EventMachine::WebSocket::WSMessageTooBigError - e.message.should =~ /Frame length too long/ - } - } - - start_client { |client| - client.onopen { - EM.next_tick { - client.send("This message is longer than 20 characters") - } - - } - - client.onmessage { |msg| - # 4: This is actually the close message. Really need to use a real - # WebSocket client in these tests... - done - } - - client.onclose { - # 4: Drafts 75 & 76 don't send a close message, they just close the - # connection - done - } - } - } - end - - # Only run these tests on ruby 1.9 - if "a".respond_to?(:force_encoding) - it "should raise error if you try to send non utf8 text data to ws" do - em { - start_server { |server| - server.onopen { - # Create a string which claims to be UTF-8 but which is not - s = "ê" # utf-8 string - s.encode!("ISO-8859-1") - s.force_encoding("UTF-8") - s.valid_encoding?.should == false # now invalid utf8 - - # Send non utf8 encoded data - server.send(s) - } - server.onerror { |error| - error.class.should == EventMachine::WebSocket::WebSocketError - error.message.should == "Data sent to WebSocket must be valid UTF-8 but was UTF-8 (valid: false)" - done - } - } - - start_client { } - } - end - - it "should not change the encoding of strings sent to send [antiregression]" do - em { - start_server { |server| - server.onopen { - s = "example string" - s.force_encoding("UTF-8") - - server.send(s) - - s.encoding.should == Encoding.find("UTF-8") - done - } - } - - start_client { } - } - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/framing_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/framing_spec.rb deleted file mode 100644 index b2a8d33..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/framing_spec.rb +++ /dev/null @@ -1,298 +0,0 @@ -# encoding: BINARY - -require 'helper' - -describe EM::WebSocket::Framing03 do - class FramingContainer - include EM::WebSocket::Framing03 - - def initialize - @connection = Object.new - def @connection.max_frame_size - 1000000 - end - end - - def <<(data) - @data << data - process_data - end - - def debug(*args); end - end - - before :each do - @f = FramingContainer.new - @f.initialize_framing - end - - describe "basic examples" do - it "connection close" do - @f.should_receive(:message).with(:close, '', '') - @f << 0b00000001 - @f << 0b00000000 - end - - it "ping" do - @f.should_receive(:message).with(:ping, '', '') - @f << 0b00000010 - @f << 0b00000000 - end - - it "pong" do - @f.should_receive(:message).with(:pong, '', '') - @f << 0b00000011 - @f << 0b00000000 - end - - it "text" do - @f.should_receive(:message).with(:text, '', 'foo') - @f << 0b00000100 - @f << 0b00000011 - @f << 'foo' - end - - it "Text in two frames" do - @f.should_receive(:message).with(:text, '', 'hello world') - @f << 0b10000100 - @f << 0b00000110 - @f << "hello " - @f << 0b00000000 - @f << 0b00000101 - @f << "world" - end - - it "2 byte extended payload length text frame" do - data = 'a' * 256 - @f.should_receive(:message).with(:text, '', data) - @f << 0b00000100 # Single frame, text - @f << 0b01111110 # Length 126 (so read 2 bytes) - @f << 0b00000001 # Two bytes in network byte order (256) - @f << 0b00000000 - @f << data - end - end - - # These examples are straight from the spec - # http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-03#section-4.6 - describe "examples from the spec" do - it "a single-frame text message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x04\x05Hello" - end - - it "a fragmented text message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x84\x03Hel" - @f << "\x00\x02lo" - end - - it "Ping request and response" do - @f.should_receive(:message).with(:ping, '', 'Hello') - @f << "\x02\x05Hello" - end - - it "256 bytes binary message in a single frame" do - data = "a"*256 - @f.should_receive(:message).with(:binary, '', data) - @f << "\x05\x7E\x01\x00" + data - end - - it "64KiB binary message in a single frame" do - data = "a"*65536 - @f.should_receive(:message).with(:binary, '', data) - @f << "\x05\x7F\x00\x00\x00\x00\x00\x01\x00\x00" + data - end - end - - describe "other tests" do - it "should accept a fragmented unmasked text message in 3 frames" do - @f.should_receive(:message).with(:text, '', 'Hello world') - @f << "\x84\x03Hel" - @f << "\x80\x02lo" - @f << "\x00\x06 world" - end - end - - describe "error cases" do - it "should raise an exception on continuation frame without preceeding more frame" do - lambda { - @f << 0b00000000 # Single frame, continuation - @f << 0b00000001 # Length 1 - @f << 'f' - }.should raise_error(EM::WebSocket::WebSocketError, 'Continuation frame not expected') - end - end -end - -# These examples are straight from the spec -# http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-03#section-4.6 -describe EM::WebSocket::Framing04 do - class FramingContainer04 - include EM::WebSocket::Framing04 - - def initialize - @connection = Object.new - def @connection.max_frame_size - 1000000 - end - end - - def <<(data) - @data << data - process_data - end - - def debug(*args); end - end - - before :each do - @f = FramingContainer04.new - @f.initialize_framing - end - - describe "examples from the spec" do - it "a single-frame text message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x84\x05\x48\x65\x6c\x6c\x6f" # "\x84\x05Hello" - end - - it "a fragmented text message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x04\x03Hel" - @f << "\x80\x02lo" - end - - it "Ping request" do - @f.should_receive(:message).with(:ping, '', 'Hello') - @f << "\x82\x05Hello" - end - - it "a pong response" do - @f.should_receive(:message).with(:pong, '', 'Hello') - @f << "\x83\x05Hello" - end - - it "256 bytes binary message in a single frame" do - data = "a"*256 - @f.should_receive(:message).with(:binary, '', data) - @f << "\x85\x7E\x01\x00" + data - end - - it "64KiB binary message in a single frame" do - data = "a"*65536 - @f.should_receive(:message).with(:binary, '', data) - @f << "\x85\x7F\x00\x00\x00\x00\x00\x01\x00\x00" + data - end - end - - describe "other tests" do - it "should accept a fragmented unmasked text message in 3 frames" do - @f.should_receive(:message).with(:text, '', 'Hello world') - @f << "\x04\x03Hel" - @f << "\x00\x02lo" - @f << "\x80\x06 world" - end - end -end - -describe EM::WebSocket::Framing07 do - class FramingContainer07 - include EM::WebSocket::Framing07 - - def initialize - @connection = Object.new - def @connection.max_frame_size - 1000000 - end - end - - def <<(data) - @data << data - process_data - end - - def debug(*args); end - end - - before :each do - @f = FramingContainer07.new - @f.initialize_framing - end - - # These examples are straight from the spec - # http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07#section-4.6 - describe "examples from the spec" do - it "a single-frame unmakedtext message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x81\x05\x48\x65\x6c\x6c\x6f" # "\x84\x05Hello" - end - - it "a single-frame masked text message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x81\x85\x37\xfa\x21\x3d\x7f\x9f\x4d\x51\x58" # "\x84\x05Hello" - end - - it "a fragmented unmasked text message" do - @f.should_receive(:message).with(:text, '', 'Hello') - @f << "\x01\x03Hel" - @f << "\x80\x02lo" - end - - it "Ping request" do - @f.should_receive(:message).with(:ping, '', 'Hello') - @f << "\x89\x05Hello" - end - - it "a pong response" do - @f.should_receive(:message).with(:pong, '', 'Hello') - @f << "\x8a\x05Hello" - end - - it "256 bytes binary message in a single unmasked frame" do - data = "a"*256 - @f.should_receive(:message).with(:binary, '', data) - @f << "\x82\x7E\x01\x00" + data - end - - it "64KiB binary message in a single unmasked frame" do - data = "a"*65536 - @f.should_receive(:message).with(:binary, '', data) - @f << "\x82\x7F\x00\x00\x00\x00\x00\x01\x00\x00" + data - end - end - - describe "other tests" do - it "should raise a WSProtocolError if an invalid frame type is requested" do - lambda { - # Opcode 3 is not supported by this draft - @f << "\x83\x05Hello" - }.should raise_error(EventMachine::WebSocket::WSProtocolError, "Unknown opcode 3") - end - - it "should accept a fragmented unmasked text message in 3 frames" do - @f.should_receive(:message).with(:text, '', 'Hello world') - @f << "\x01\x03Hel" - @f << "\x00\x02lo" - @f << "\x80\x06 world" - end - - it "should raise if non-fin frame is followed by a non-continuation data frame (continuation frame would be expected)" do - lambda { - @f << 0b00000001 # Not fin, text - @f << 0b00000001 # Length 1 - @f << 'f' - @f << 0b10000001 # fin, text (continutation expected) - @f << 0b00000001 # Length 1 - @f << 'b' - }.should raise_error(EM::WebSocket::WebSocketError, 'Continuation frame expected') - end - - it "should raise on non-fin control frames (control frames must not be fragmented)" do - lambda { - @f << 0b00001010 # Not fin, pong (opcode 10) - @f << 0b00000000 # Length 1 - }.should raise_error(EM::WebSocket::WebSocketError, 'Control frames must not be fragmented') - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/handshake_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/handshake_spec.rb deleted file mode 100644 index 2754ba7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/handshake_spec.rb +++ /dev/null @@ -1,216 +0,0 @@ -require 'helper' - -describe EM::WebSocket::Handshake do - def handshake(request, secure = false) - handshake = EM::WebSocket::Handshake.new(secure) - handshake.receive_data(format_request(request)) - handshake - end - - before :each do - @request = { - :port => 80, - :method => "GET", - :path => "/demo", - :headers => { - 'Host' => 'example.com', - 'Connection' => 'Upgrade', - 'Sec-WebSocket-Key2' => '12998 5 Y3 1 .P00', - 'Sec-WebSocket-Protocol' => 'sample', - 'Upgrade' => 'WebSocket', - 'Sec-WebSocket-Key1' => '4 @1 46546xW%0l 1 5', - 'Origin' => 'http://example.com' - }, - :body => '^n:ds[4U' - } - @secure_request = @request.merge(:port => 443) - - @response = { - :headers => { - "Upgrade" => "WebSocket", - "Connection" => "Upgrade", - "Sec-WebSocket-Location" => "ws://example.com/demo", - "Sec-WebSocket-Origin" => "http://example.com", - "Sec-WebSocket-Protocol" => "sample" - }, - :body => "8jKS\'y:G*Co,Wxa-" - } - @secure_response = @response.merge(:headers => @response[:headers].merge('Sec-WebSocket-Location' => "wss://example.com/demo")) - end - - it "should handle good request" do - handshake(@request).should succeed_with_upgrade(@response) - end - - it "should handle good request to secure default port if secure mode is enabled" do - handshake(@secure_request, true). - should succeed_with_upgrade(@secure_response) - end - - it "should not handle good request to secure default port if secure mode is disabled" do - handshake(@secure_request, false). - should_not succeed_with_upgrade(@secure_response) - end - - it "should handle good request on nondefault port" do - @request[:port] = 8081 - @request[:headers]['Host'] = 'example.com:8081' - @response[:headers]['Sec-WebSocket-Location'] = - 'ws://example.com:8081/demo' - - handshake(@request).should succeed_with_upgrade(@response) - end - - it "should handle good request to secure nondefault port" do - @secure_request[:port] = 8081 - @secure_request[:headers]['Host'] = 'example.com:8081' - @secure_response[:headers]['Sec-WebSocket-Location'] = 'wss://example.com:8081/demo' - - handshake(@secure_request, true). - should succeed_with_upgrade(@secure_response) - end - - it "should handle good request with no protocol" do - @request[:headers].delete('Sec-WebSocket-Protocol') - @response[:headers].delete("Sec-WebSocket-Protocol") - - handshake(@request).should succeed_with_upgrade(@response) - end - - it "should handle extra headers by simply ignoring them" do - @request[:headers]['EmptyValue'] = "" - @request[:headers]['AKey'] = "AValue" - - handshake(@request).should succeed_with_upgrade(@response) - end - - it "should raise error on HTTP request" do - @request[:headers] = { - 'Host' => 'www.google.com', - 'User-Agent' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 GTB6 GTBA', - 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Accept-Language' => 'en-us,en;q=0.5', - 'Accept-Encoding' => 'gzip,deflate', - 'Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', - 'Keep-Alive' => '300', - 'Connection' => 'keep-alive', - } - - handshake(@request).should fail_with_error(EM::WebSocket::HandshakeError) - end - - it "should raise error on wrong method" do - @request[:method] = 'POST' - - handshake(@request).should fail_with_error(EM::WebSocket::HandshakeError) - end - - it "should raise error if upgrade header incorrect" do - @request[:headers]['Upgrade'] = 'NonWebSocket' - - handshake(@request).should fail_with_error(EM::WebSocket::HandshakeError) - end - - it "should raise error if Sec-WebSocket-Protocol is empty" do - @request[:headers]['Sec-WebSocket-Protocol'] = '' - - handshake(@request).should fail_with_error(EM::WebSocket::HandshakeError) - end - - %w[Sec-WebSocket-Key1 Sec-WebSocket-Key2].each do |header| - it "should raise error if #{header} has zero spaces" do - @request[:headers][header] = 'nospaces' - - handshake(@request). - should fail_with_error(EM::WebSocket::HandshakeError, 'Websocket Key1 or Key2 does not contain spaces - this is a symptom of a cross-protocol attack') - end - end - - it "should raise error if Sec-WebSocket-Key1 is missing" do - @request[:headers].delete("Sec-WebSocket-Key1") - - # The error message isn't correct since key1 is used to heuristically - # determine the protocol version in use, however this test at least checks - # that the handshake does correctly fail - handshake(@request). - should fail_with_error(EM::WebSocket::HandshakeError, 'Extra bytes after header') - end - - it "should raise error if Sec-WebSocket-Key2 is missing" do - @request[:headers].delete("Sec-WebSocket-Key2") - - handshake(@request). - should fail_with_error(EM::WebSocket::HandshakeError, 'WebSocket key1 or key2 is missing') - end - - it "should raise error if spaces do not divide numbers in Sec-WebSocket-Key* " do - @request[:headers]['Sec-WebSocket-Key2'] = '12998 5 Y3 1.P00' - - handshake(@request). - should fail_with_error(EM::WebSocket::HandshakeError, 'Invalid Key "12998 5 Y3 1.P00"') - end - - it "should raise error if the HTTP header is empty" do - handshake = EM::WebSocket::Handshake.new(false) - handshake.receive_data("\r\n\r\nfoobar") - - handshake. - should fail_with_error(EM::WebSocket::HandshakeError, 'Invalid HTTP header: Could not parse data entirely (4 != 10)') - end - - # This might seems crazy, but very occasionally we saw multiple "Upgrade: - # WebSocket" headers in the wild. RFC 4.2.1 isn't particularly clear on this - # point, so for now I have decided not to accept --@mloughran - it "should raise error on multiple upgrade headers" do - handshake = EM::WebSocket::Handshake.new(false) - - # Add a duplicate upgrade header - headers = format_request(@request) - upgrade_header = "Upgrade: WebSocket\r\n" - headers.gsub!(upgrade_header, "#{upgrade_header}#{upgrade_header}") - - handshake.receive_data(headers) - - handshake.errback { |e| - e.class.should == EM::WebSocket::HandshakeError - e.message.should == 'Invalid upgrade header: ["WebSocket", "WebSocket"]' - } - end - - it "should cope with requests where the header is split" do - request = format_request(@request) - incomplete_request = request[0...(request.length / 2)] - rest = request[(request.length / 2)..-1] - handshake = EM::WebSocket::Handshake.new(false) - handshake.receive_data(incomplete_request) - - handshake.instance_variable_get(:@deferred_status).should == nil - - # Send the remaining header - handshake.receive_data(rest) - - handshake(@request).should succeed_with_upgrade(@response) - end - - it "should cope with requests where the third key is split" do - request = format_request(@request) - # Removes last two bytes of the third key - incomplete_request = request[0..-3] - rest = request[-2..-1] - handshake = EM::WebSocket::Handshake.new(false) - handshake.receive_data(incomplete_request) - - handshake.instance_variable_get(:@deferred_status).should == nil - - # Send the remaining third key - handshake.receive_data(rest) - - handshake(@request).should succeed_with_upgrade(@response) - end - - it "should fail if the request URI is invalid" do - @request[:path] = "/%" - handshake(@request).should \ - fail_with_error(EM::WebSocket::HandshakeError, 'Invalid request URI: /%') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/masking_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/masking_spec.rb deleted file mode 100644 index 065aa95..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/em-websocket-0.5.3/spec/unit/masking_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -# encoding: BINARY - -require 'helper' - -describe EM::WebSocket::MaskedString do - it "should allow reading 4 byte mask and unmasking byte / bytes" do - t = EM::WebSocket::MaskedString.new("\x00\x00\x00\x01\x00\x01\x00\x01") - t.read_mask - t.getbyte(3).should == 0x00 - t.getbytes(4, 4).should == "\x00\x01\x00\x00" - t.getbytes(5, 3).should == "\x01\x00\x00" - end - - it "should return nil from getbyte if index requested is out of range" do - t = EM::WebSocket::MaskedString.new("\x00\x00\x00\x00\x53") - t.read_mask - t.getbyte(4).should == 0x53 - t.getbyte(5).should == nil - end - - it "should allow switching masking on and off" do - t = EM::WebSocket::MaskedString.new("\x02\x00\x00\x00\x03") - t.getbyte(4).should == 0x03 - t.read_mask - t.getbyte(4).should == 0x01 - t.unset_mask - t.getbyte(4).should == 0x03 - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/.github/workflows/ruby.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/.github/workflows/ruby.yml deleted file mode 100644 index d35c188..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/.github/workflows/ruby.yml +++ /dev/null @@ -1,41 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake -# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby - -name: Ruby - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - test: - runs-on: ${{ matrix.os }}-latest - strategy: - fail-fast: false - matrix: - os: [ubuntu, macos] - ruby-version: [2.5, 2.6, 2.7, 3.0, head, debug, truffleruby] - continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }} - steps: - - uses: actions/checkout@v2 - - name: Install libcurl header - run: | - if ${{ matrix.os == 'macos' }} - then - brew install curl - else - sudo apt update && sudo apt install -y --no-install-recommends libcurl4-openssl-dev - fi - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby-version }} - bundler-cache: true # runs 'bundle install' and caches installed gems automatically - - name: Run tests - run: bundle exec rake diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/.rspec deleted file mode 100644 index 7d8b8b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/.rspec +++ /dev/null @@ -1,3 +0,0 @@ ---tty ---color ---format documentation diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/CHANGELOG.md deleted file mode 100644 index 8059799..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/CHANGELOG.md +++ /dev/null @@ -1,375 +0,0 @@ -# Changelog - -## Master - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.15.0...master) - -* Added `redirect_url` value to available informations and `Easy::Mirror`. - ([Adrien Rey-Jarthon](https://github.com/jarthod) - -## 0.15.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.14.0...v0.15.0) - -## 0.12.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.11.0...v0.12.0) - -- Removed deprecated `CURLE_SSL_CACERT` pinned in curl v7.62.0 ([@arku](https://github.com/arku) in [#158](https://github.com/typhoeus/ethon/pull/158)) - - -## 0.11.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.10.1...v0.11.0) - -## 0.10.1 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.10.0...v0.10.1) - -## 0.10.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.9.1...v0.10.0) - -## 0.9.1 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.9.0...v0.9.1) - -## 0.9.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.8.1...v0.9.0) - -## 0.8.1 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.8.0...v0.8.1) - -* Support optional escaping of params. - ([Tasos Laskos](https://github.com/zapotek) -* `Easy::Mirror`: Reduced object allocations and method calls during info handling. - ([Tasos Laskos](https://github.com/zapotek) - -## 0.8.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...v0.7.4) - -* `Easy::Mirror`: Reduced object allocations and method calls during info handling. - ([Tasos Laskos](https://github.com/zapotek) - -## 0.7.4 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...v0.7.4) - -* Support different array encodings for params. - ([Marcello Barnaba](https://github.com/ifad), [\#104](https://github.com/typhoeus/ethon/pull/104)) -* Programtic access to version infos. - ([Jonas Wagner](https://github.com/jwagner), [\#90](https://github.com/typhoeus/ethon/pull/90)) - - -## 0.7.3 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.2...v0.7.3) - -* `Ethon::Curl::FDSet` - * Set `:fd_array` size to the current MS Windows `FD_SETSIZE` (2048). - ([Tasos Laskos](https://github.com/zapotek) - -* Added `redirect_time` value to available informations and `Easy::Mirror`. - ([Adrien Jarthon](https://github.com/jarthod) - -## 0.7.2 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.1...v0.7.2) - -* FFI data-types updated to be more correct. - -## 0.7.1 - -* MS Windows determination delegated to `Gem.windows?` for better accuracy. -* FFI data-types updated to work on MS Windows. - -## 0.7.0 - -Not backwards compatible changes: - -* `mime-types` are no longer a dependency. The gem will be still used if available to determine the mime type of a file which is uploaded. That means you have to have take care of the gem installation yourself. - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.3...v0.7.0) - -## 0.6.3 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.2...v0.6.3) - -## 0.6.2 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.1...v0.6.2) - -## 0.6.1 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.6.0...v0.6.1) - -The changelog entries are coming soon! - -## 0.6.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.12...v0.6.0) - -The changelog entries are coming soon! - -Bugfixes: - - * URL-encode nullbytes in parameters instead of escaping them to `\\0`. - ([Tasos Laskos](https://github.com/zapotek) - -## 0.5.12 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.11...v0.5.12) - -Enhancements: - -* Performance optimizations. - ([Kyle Oppenheim](https://github.com/koppenheim) and [Richie Vos](https://github.com/richievos), [\#48](https://github.com/typhoeus/ethon/pull/48)) -* Reuse memory pointer. - ([Richie Vos](https://github.com/richievos), [\#49](https://github.com/typhoeus/ethon/pull/49)) - -Bugfixes: - -* Fix windows install. - ([Derik Olsson](https://github.com/derikolsson), [\#47](https://github.com/typhoeus/ethon/pull/47)) -* Handle urls that already contain query params. - ([Turner King](https://github.com/turnerking ), [\#45](https://github.com/typhoeus/ethon/pull/45)) - -## 0.5.11 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.10...v0.5.11) - -Enhancements: - -* Add support for postredirs, unrestricted_auth. -* Add support for cookie, cookiejar, cookiefile. - ([erwanlr](https://github.com/erwanlr), [\#46](https://github.com/typhoeus/ethon/pull/46)) -* Relax ffi requirements. - ([voxik](https://github.com/voxik), [\#40](https://github.com/typhoeus/ethon/pull/40)) -* Various documentation improvements. - ([Craig Little](https://github.com/craiglittle)) - -Bugfixes: - -* Fix the memory leaks. - ([Richie Vos](https://github.com/richievos), [\#45](https://github.com/typhoeus/ethon/pull/45)) - -## 0.5.10 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.9...v0.5.10) - -Enhancements: - -* Allow custom requests. - ([Nathan Sutton](https://github.com/nate), [\#36](https://github.com/typhoeus/ethon/pull/36)) -* Use updated version of FFI. - -Bugfixes: - -* Fix windows install issue. - ([brainsucker](https://github.com/brainsucker), [\#38](https://github.com/typhoeus/ethon/pull/38)) - -## 0.5.9 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.8...v0.5.9) - -Enhancements: - -* Allow to set multiple protocols. - -## 0.5.8 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.7...v0.5.8) - -Enhancements: - -* Add support for protocols and redir_protocols( - [libcurl SASL buffer overflow vulnerability](http://curl.haxx.se/docs/adv_20130206.html)). -* Add max_send_speed_large and max_recv_speed_large([Paul Schuegraf](https://github.com/pschuegr), [\#33](https://github.com/typhoeus/ethon/pull/33)) - -## 0.5.7 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.6...v0.5.7) - -Enhancements: - -* Use new version of ffi. - -## 0.5.6 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.4...v0.5.6) - -Bugfixes: - -* Easy#reset resets on_complete callbacks. - -## 0.5.4 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.3...v0.5.4) - -Enhancements: - -* Use Libc#getdtablesize to get the FDSet size. -* New libcurl option accept_encoding. -* Documentation updates. - -## 0.5.3 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.2...v0.5.3) - -Enhancements: - -* Deprecate Easy#prepare. It is no longer necessary. -* Unroll metaprogramming for easy and multi options. -* More specs. - -Bugfixes: - -* Correct size for FDSets -* Add proxytypes to enums. - -## 0.5.2 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.1...v0.5.2) - -Enhancements: - -* New libcurl option keypasswd. - -Bugfixes: - -* Correct request logging when using multi interface. -* Remove invalid libcurl option sslcertpasswd. - -## 0.5.1 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.5.0...v0.5.1) - -Bugfixes: - -* Mark Curl.select and Curl.easy_perform as blocking so that the GIL is - released by ffi. - -## 0.5.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.4...v0.5.0) - -Enhancements: - -* New libcurl option proxyuserpwd -* Rename response_header to response_headers - -Bugfixes: - -* Mark Curl.select and Curl.easy_perform as blocking so that the GIL is - released by ffi. - -## 0.4.4 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.3...v0.4.4) - -Enhancements: - -* Prepare multi explicit like easy - -## 0.4.3 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.2...v0.4.3) - -Enhancements: - -* Remove deprecated libcurl option put -* More documentation -* New libcurl option connecttimeout_ms and timeout_ms -* Support multi options - -Bugfixes: - -* Handle nil values in query params - -## 0.4.2 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.1...v0.4.2) - -Enhancements: - -* New libcurl option forbid_reuse -* Use libcurls escape instead of CGI::escape - -## 0.4.1 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.4.0...v0.4.1) - -Bugfixes: - -* Handle nested hash in an array in params correct - ( [\#201](https://github.com/typhoeus/typhoeus/issues/201) ) - -## 0.4.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.3.0...v0.4.0) - -Enhancements: - -* ruby 1.8.7 compatible -* Ethon.logger -* Deal with string param/body -* More documentation - -Bugfixes: - -* Add multi_cleanup to curl - -## 0.3.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.2.0...v0.3.0) - -Enhancements: - -* New libcurl option proxyport -* Raise invalid value error when providing a wrong key for sslversion or httpauth - -Bugfixes: - -* Libcurl option sslversion is handled correct - -## 0.2.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.1.0...v0.2.0) - -Enhancements: - -* GET requests are using custom requests only when there is a request body -* Easy#on_complete takes multiple callbacks -* raise Errors::GlobalInit when libcurls global_init failed instead of - runtime error -* raise Errors::InvalidOption if option is invalid - -## 0.1.0 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.0.2...v0.1.0) - -Enhancements: - -* Documentation - ( [Alex P](https://github.com/ifesdjeen), [\#13](https://github.com/typhoeus/ethon/issues/13) ) -* New libcurl option dns_cache_timeout - ( [Chris Heald](https://github.com/cheald), [\#192](https://github.com/typhoeus/typhoeus/pull/192) ) - -Bugfixes: - -* Libcurl option ssl_verifyhost takes an integer. -* Add space between header key and value. - -## 0.0.2 - -[Full Changelog](https://github.com/typhoeus/ethon/compare/v0.0.1...v0.0.2) - -Bugfixes: - -* Add libcurl.so.4 to ffi_lib in order to load correct lib on Debian. -* Escape zero bytes. - -## 0.0.1 Initial version diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Gemfile deleted file mode 100644 index a2f41e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Gemfile +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" -gemspec - -if Gem.ruby_version < Gem::Version.new("1.9.3") - gem "rake", "< 11" -else - gem "rake" -end - -group :development, :test do - gem "rspec", "~> 3.4" - - gem "sinatra" - - if Gem.ruby_version < Gem::Version.new("2.0.0") - gem "json", "< 2" - else - gem "json" - end - - if Gem.ruby_version >= Gem::Version.new("2.0.0") - gem "mime-types", "~> 1.18" - end - - if Gem.ruby_version >= Gem::Version.new("2.2.0") - gem "mustermann" - elsif Gem.ruby_version >= Gem::Version.new("2.1.0") - gem "mustermann", "0.4.0" - elsif Gem.ruby_version >= Gem::Version.new("2.0.0") - gem "mustermann", "0.3.1" - end - - if Gem.ruby_version >= Gem::Version.new("3.0.0") - gem "webrick" - end -end - -group :perf do - gem "benchmark-ips" - gem "patron" - gem "curb" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Guardfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Guardfile deleted file mode 100644 index 37d79f0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Guardfile +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true -# vim:set filetype=ruby: -guard( - "rspec", - :all_after_pass => false, - :cli => "--fail-fast --tty --format documentation --colour") do - - watch(%r{^spec/.+_spec\.rb$}) - watch(%r{^lib/(.+)\.rb$}) { |match| "spec/#{match[1]}_spec.rb" } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/LICENSE deleted file mode 100644 index f064c17..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2012-2016 Hans Hasselberg - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/README.md deleted file mode 100644 index 9f9f567..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/README.md +++ /dev/null @@ -1,118 +0,0 @@ -[![Gem Version](https://badge.fury.io/rb/ethon.svg)](https://badge.fury.io/rb/ethon) -[![Build Status](https://github.com/typhoeus/ethon/workflows/Ruby/badge.svg)](https://github.com/typhoeus/ethon/actions/workflows/ruby.yml) - -# Ethon - -In Greek mythology, Ethon, the son of Typhoeus and Echidna, is a gigantic eagle. So much for the history. -In the modern world, Ethon is a very basic libcurl wrapper using ffi. - -* [Documentation](http://rubydoc.info/github/typhoeus/ethon/frames/Ethon) -* [Website](http://typhoeus.github.com/) -* [Mailing list](http://groups.google.com/group/typhoeus) - -## Installation - -With bundler: - - gem "ethon" - -With rubygems: - - gem install ethon - -## Usage - -Making the first request is simple: - -```ruby -easy = Ethon::Easy.new(url: "www.example.com") -easy.perform -#=> :ok -``` - -You have access to various options, such as following redirects: - -```ruby -easy = Ethon::Easy.new(url: "www.example.com", followlocation: true) -easy.perform -#=> :ok -``` - -Once you're done you can inspect the response code and body: - -```ruby -easy = Ethon::Easy.new(url: "www.example.com", followlocation: true) -easy.perform -easy.response_code -#=> 200 -easy.response_body -#=> " :ok -``` - -```ruby -easy = Ethon::Easy.new -easy.http_request("www.example.com", :post, { params: { a: 1 }, body: { b: 2 } }) -easy.perform -#=> :ok -``` - -This is really handy when making requests since you don't have to care about setting -everything up correctly. - -## Http2 -Standard http2 servers require the client to connect once and create a session (multi) and then add simple requests to the multi handler. -The `perform` method then takes all the requests in the multi handler and sends them to the server. - -See the following example -```ruby -multi = Ethon::Multi.new -easy = Ethon::Easy.new - -easy.http_request("www.example.com/get", :get, { http_version: :httpv2_0 }) - -# Sending a request with http version 2 will send an Upgrade header to the server, which many older servers will not support -# See below for more info: https://everything.curl.dev/http/http2 -# If this is a problem, send the below: -easy.http_request("www.example.com/get", :get, { http_version: :httpv2_prior_knowledge }) - -# To set the server to use http2 with https and http1 with http, send the following: -easy.http_request("www.example.com/get", :get, { http_version: :httpv2_tls } - -multi.add(easy) -multi.perform -``` - -## LICENSE - -(The MIT License) - -Copyright © 2012-2016 [Hans Hasselberg](http://www.hans.io) - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without -limitation the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Rakefile deleted file mode 100644 index a5bc61b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/Rakefile +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true -require "bundler" -Bundler.setup - -require "rake" -require "rspec/core/rake_task" -$LOAD_PATH.unshift File.expand_path("../lib", __FILE__) -require "ethon/version" - -task :gem => :build -task :build do - system "gem build ethon.gemspec" -end - -task :install => :build do - system "gem install ethon-#{Ethon::VERSION}.gem" -end - -task :release => :build do - system "git tag -a v#{Ethon::VERSION} -m 'Tagging #{Ethon::VERSION}'" - system "git push --tags" - system "gem push ethon-#{Ethon::VERSION}.gem" -end - -RSpec::Core::RakeTask.new(:spec) do |t| - t.verbose = false - t.ruby_opts = "-W -I./spec -rspec_helper" -end - -desc "Start up the test servers" -task :start do - require_relative 'spec/support/boot' - begin - Boot.start_servers(:rake) - rescue Exception - end -end - -task :default => :spec - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/ethon.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/ethon.gemspec deleted file mode 100644 index 561330b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/ethon.gemspec +++ /dev/null @@ -1,26 +0,0 @@ -# encoding: utf-8 -# frozen_string_literal: true -lib = File.expand_path('../lib/', __FILE__) -$:.unshift lib unless $:.include?(lib) - -require 'ethon/version' - -Gem::Specification.new do |s| - s.name = "ethon" - s.version = Ethon::VERSION - s.platform = Gem::Platform::RUBY - s.authors = ["Hans Hasselberg"] - s.email = ["me@hans.io"] - s.homepage = "https://github.com/typhoeus/ethon" - s.summary = "Libcurl wrapper." - s.description = "Very lightweight libcurl wrapper." - - s.required_rubygems_version = ">= 1.3.6" - s.license = 'MIT' - - s.add_dependency('ffi', ['>= 1.15.0']) - - s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") - s.require_path = 'lib' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/benchmarks.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/benchmarks.rb deleted file mode 100644 index 6cd68ca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/benchmarks.rb +++ /dev/null @@ -1,104 +0,0 @@ -# encoding: utf-8 -# frozen_string_literal: true -require 'ethon' -require 'open-uri' -require 'patron' -require 'curb' -require 'net/http' -require 'cgi' -require 'benchmark/ips' - -require_relative '../spec/support/server' -require_relative '../spec/support/localhost_server' - -LocalhostServer.new(TESTSERVER.new, 3000) -LocalhostServer.new(TESTSERVER.new, 3001) -LocalhostServer.new(TESTSERVER.new, 3002) - -url = 'http://localhost:3000/'.freeze -uri = URI.parse('http://localhost:3000/').freeze -ethon = Ethon::Easy.new(url: url) -patron = Patron::Session.new -patron_url = Patron::Session.new(base_url: url) -curb = Curl::Easy.new(url) - -puts '[Creation]' -Benchmark.ips do |x| - x.report('String.new') { '' } - x.report('Easy.new') { Ethon::Easy.new } -end - -puts '[Escape]' -Benchmark.ips do |x| - x.report('CGI.escape') { CGI.escape("まつもと") } - x.report('Easy.escape') { ethon.escape("まつもと") } -end - -puts '[Requests]' -Benchmark.ips do |x| - x.report('net/http') { Net::HTTP.get_response(uri) } - x.report('open-uri') { open url } - - x.report('patron') do - patron.base_url = url - patron.get('/') - end - - x.report('patron reuse') { patron_url.get('/') } - - x.report('curb') do - curb.url = url - curb.perform - end - - x.report('curb reuse') { curb.perform } - - x.report('Easy.perform') do - ethon.url = url - ethon.perform - end - - x.report('Easy.perform reuse') { ethon.perform } -end - -puts "[ 4 delayed Requests ]" -Benchmark.ips do |x| - x.report('net/http') do - 3.times do |i| - uri = URI.parse("http://localhost:300#{i}/?delay=1") - Net::HTTP.get_response(uri) - end - end - - x.report("open-uri") do - 3.times do |i| - open("http://localhost:300#{i}/?delay=1") - end - end - - x.report("patron") do - sess = Patron::Session.new - 3.times do |i| - sess.base_url = "http://localhost:300#{i}/?delay=1" - sess.get("/") - end - end - - x.report("Easy.perform") do - easy = Ethon::Easy.new - 3.times do |i| - easy.url = "http://localhost:300#{i}/?delay=1" - easy.perform - end - end - - x.report("Multi.perform") do - multi = Ethon::Multi.new - 3.times do |i| - easy = Ethon::Easy.new - easy.url = "http://localhost:300#{i}/?delay=1" - multi.add(easy) - end - multi.perform - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/memory_leaks.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/memory_leaks.rb deleted file mode 100644 index 32000b8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/memory_leaks.rb +++ /dev/null @@ -1,114 +0,0 @@ -# frozen_string_literal: true -require 'ethon' -require 'ethon/easy' - -require_relative 'perf_spec_helper' -require 'rspec/autorun' - -describe "low-level interactions with libcurl" do - describe Ethon::Multi do - memory_leak_test("init") do - Ethon::Multi.new - end - - memory_leak_test("handle") do - Ethon::Multi.new.handle - end - end - - describe Ethon::Easy do - memory_leak_test("init") do - Ethon::Easy.new - end - - memory_leak_test("handle") do - Ethon::Easy.new.handle - end - - memory_leak_test("headers") do - Ethon::Easy.new.headers = { "a" => 1, "b" => 2, "c" => 3, "d" => 4} - end - - memory_leak_test("escape") do - Ethon::Easy.new.escape("the_sky&is_blue") - end - end - - - describe Ethon::Easy::Form do - memory_leak_test("init") do - Ethon::Easy::Form.new(nil, {}) - end - - memory_leak_test("first") do - Ethon::Easy::Form.new(nil, {}).first - end - - memory_leak_test("last") do - Ethon::Easy::Form.new(nil, {}).last - end - - memory_leak_test("materialized with some params") do - form = Ethon::Easy::Form.new(nil, { "a" => "1" }) - form.materialize - end - - memory_leak_test("materialized with a file") do - File.open(__FILE__, "r") do |file| - form = Ethon::Easy::Form.new(nil, { "a" => file }) - form.materialize - end - end - end -end - -describe "higher level operations" do - memory_leak_test("a simple request") do - Ethon::Easy.new(:url => "http://localhost:3001/", - :forbid_reuse => true).perform - end - - memory_leak_test("a request with headers") do - Ethon::Easy.new(:url => "http://localhost:3001/", - :headers => { "Content-Type" => "application/json", - "Something" => "1", - "Else" => "qwerty", - "Long-String" => "aassddffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz"}, - :forbid_reuse => true).perform - end - - memory_leak_test("a request with headers and params") do - easy = Ethon::Easy.new(:url => "http://localhost:3001/", - :headers => { "Content-Type" => "application/json", - "Something" => "1", - "Else" => "qwerty", - "Long-String" => "aassddffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz"}, - :forbid_reuse => true) - easy.http_request("http://localhost:3001/", - :get, - :params => { "param1" => "value1", - "param2" => "value2", - "param3" => "value3", - "param4" => "value4"}) - end - - memory_leak_test("a request with headers, params, and body") do - easy = Ethon::Easy.new(:url => "http://localhost:3001/", - :headers => { "Content-Type" => "application/json", - "Something" => "1", - "Else" => "qwerty", - "Long-String" => "aassddffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz"}, - :forbid_reuse => true) - easy.http_request("http://localhost:3001/", - :get, - :params => { "param1" => "value1", - "param2" => "value2", - "param3" => "value3", - "param4" => "value4"}, - :body => { - "body1" => "value1", - "body2" => "value2", - "body3" => "value3" - }) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb deleted file mode 100644 index 35fd623..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb +++ /dev/null @@ -1,37 +0,0 @@ -# frozen_string_literal: true -#### SETUP -require 'bundler' -Bundler.setup -require 'rspec' - -require 'support/localhost_server' -require 'support/server' -require_relative 'support/memory_test_helpers' - -require 'logger' - -if ENV['VERBOSE'] - Ethon.logger = Logger.new($stdout) - Ethon.logger.level = Logger::DEBUG -end - -RSpec.configure do |config| - config.before(:suite) do - LocalhostServer.new(TESTSERVER.new, 3001) - end - config.include(MemoryTestHelpers) - config.extend(MemoryTestHelpers::TestMethods) -end - -MemoryTestHelpers.setup -MemoryTestHelpers.logger = Logger.new($stdout) -MemoryTestHelpers.logger.level = Logger::INFO -MemoryTestHelpers.logger.formatter = proc do |severity, datetime, progname, msg| - "\t\t#{msg}\n" -end - -if ENV['VERBOSE'] - MemoryTestHelpers.logger.level = Logger::DEBUG -end - -MemoryTestHelpers.iterations = ENV.fetch("ITERATIONS", 10_000).to_i diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb deleted file mode 100644 index bfb6ff4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb +++ /dev/null @@ -1,76 +0,0 @@ -# frozen_string_literal: true -require_relative 'ruby_object_leak_tracker' -require_relative 'os_memory_leak_tracker' - -module MemoryTestHelpers - class << self - attr_accessor :gc_proc, :iterations, :logger - - def setup - if RUBY_PLATFORM == "java" - # for leak detection - JRuby.objectspace = true if defined?(JRuby) - # for gc - require 'java' - java_import 'java.lang.System' - self.gc_proc = proc { System.gc } - else - self.gc_proc = proc { GC.start } - end - end - end - - module TestMethods - def memory_leak_test(description, &block) - context(description) do - it "doesn't leak ruby objects" do - object_leak_tracker = RubyObjectLeakTracker.new - track_memory_usage(object_leak_tracker, &block) - object_leak_tracker.total_difference_between_runs.should be <= 10 - end - - it "doesn't leak OS memory (C interop check)" do - os_memory_leak_tracker = OSMemoryLeakTracker.new - track_memory_usage(os_memory_leak_tracker, &block) - os_memory_leak_tracker.total_difference_between_runs.should be <= 10 - end - end - end - end - - def track_memory_usage(tracker) - # Intentionally do all this setup before we do any testing - logger = MemoryTestHelpers.logger - iterations = MemoryTestHelpers.iterations - - checkpoint_frequency = (iterations / 10.0).to_i - gc_frequency = 20 - - warmup_iterations = [(iterations / 3.0).to_i, 500].min - logger.info "Performing #{warmup_iterations} warmup iterations" - warmup_iterations.times do - yield - MemoryTestHelpers.gc_proc.call - end - tracker.capture_initial_memory_usage - - logger.info "Performing #{iterations} iterations (checkpoint every #{checkpoint_frequency})" - - iterations.times do |i| - yield - - last_iteration = (i == iterations - 1) - checkpoint = last_iteration || (i % checkpoint_frequency == 0) - - if checkpoint || (i % gc_frequency == 0) - MemoryTestHelpers.gc_proc.call - end - - if checkpoint - logger.info "Iteration #{i} checkpoint" - tracker.capture_memory_usage - tracker.dump_status(logger) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb deleted file mode 100644 index d9e62d4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true -class OSMemoryLeakTracker - attr_reader :current_run - - def initialize - @previous_run = @current_run = 0 - end - - def difference_between_runs(basis=@previous_run) - @current_run - basis - end - - def total_difference_between_runs - difference_between_runs(@initial_count_run) - end - - def capture_initial_memory_usage - capture_memory_usage - @initial_count_run = @current_run - end - - def capture_memory_usage - @previous_run = @current_run - @current_run = rss_bytes - end - - def dump_status(logger) - delta = difference_between_runs - logger.add(log_level(delta), sprintf("\tTotal memory usage (kb): %d (%+d)", current_run, delta)) - end - - private - # amount of memory the current process "is using", in RAM - # (doesn't include any swap memory that it may be using, just that in actual RAM) - # Code loosely based on https://github.com/rdp/os/blob/master/lib/os.rb - # returns 0 on windows - def rss_bytes - if ENV['OS'] == 'Windows_NT' - 0 - else - `ps -o rss= -p #{Process.pid}`.to_i # in kilobytes - end - end - - def log_level(delta) - delta > 0 ? Logger::WARN : Logger::DEBUG - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb deleted file mode 100644 index afcce5a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true -class RubyObjectLeakTracker - attr_reader :previous_count_hash, :current_count_hash - - def initialize - @previous_count_hash = @current_count_hash = {} - end - - def difference_between_runs(basis=@previous_count_hash) - @difference_between_runs ||= Hash[@current_count_hash.map do |object_class, count| - [object_class, count - (basis[object_class] || 0)] - end] - end - - def total_difference_between_runs - difference_between_runs(@initial_count_hash).values.inject(0) { |sum, count| sum + count } - end - - def capture_initial_memory_usage - capture_memory_usage - @initial_count_hash = @current_count_hash - end - - def capture_memory_usage - @difference_between_runs = nil - @previous_count_hash = @current_count_hash - - class_to_count = Hash.new { |hash, key| hash[key] = 0 } - ObjectSpace.each_object { |obj| class_to_count[obj.class] += 1 } - - sorted_class_to_count = class_to_count.sort_by { |k, v| -v } - @current_count_hash = Hash[sorted_class_to_count] - end - - def dump_status(logger) - diff = difference_between_runs - most_used_objects = current_count_hash.to_a.sort_by(&:last).reverse[0, 20] - - most_used_objects.each do |object_class, count| - delta = diff[object_class] - logger.add(log_level(delta), sprintf("\t%s: %d (%+d)", object_class, count, delta)) - end - end - - private - def log_level(delta) - delta > 0 ? Logger::WARN : Logger::DEBUG - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb deleted file mode 100644 index 24d3726..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Curl do - describe ".init" do - before { Ethon::Curl.send(:class_variable_set, :@@initialized, false) } - - context "when global_init fails" do - it "raises global init error" do - expect(Ethon::Curl).to receive(:global_init).and_return(1) - expect{ Ethon::Curl.init }.to raise_error(Ethon::Errors::GlobalInit) - end - end - - context "when global_init works" do - before { expect(Ethon::Curl).to receive(:global_init).and_return(0) } - - it "doesn't raises global init error" do - expect{ Ethon::Curl.init }.to_not raise_error - end - - it "logs" do - expect(Ethon.logger).to receive(:debug) - Ethon::Curl.init - end - end - - context "when global_cleanup is called" do - before { expect(Ethon::Curl).to receive(:global_cleanup) } - - it "logs" do - expect(Ethon.logger).to receive(:debug).twice - Ethon::Curl.init - Ethon::Curl.cleanup - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb deleted file mode 100644 index 2fa75da..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb +++ /dev/null @@ -1,81 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Callbacks do - let!(:easy) { Ethon::Easy.new } - - describe "#set_callbacks" do - before do - expect(Ethon::Curl).to receive(:set_option).exactly(3).times - end - - it "sets write-, debug-, and headerfunction" do - easy.set_callbacks - end - - it "resets @response_body" do - easy.set_callbacks - expect(easy.instance_variable_get(:@response_body)).to eq("") - end - - it "resets @response_headers" do - easy.set_callbacks - expect(easy.instance_variable_get(:@response_headers)).to eq("") - end - - it "resets @debug_info" do - easy.set_callbacks - expect(easy.instance_variable_get(:@debug_info).to_a).to eq([]) - end - end - - describe "#progress_callback" do - it "returns 0" do - expect(easy.progress_callback.call(0,1,1,1,1)).to be(0) - end - end - - describe "#body_write_callback" do - let(:body_write_callback) { easy.instance_variable_get(:@body_write_callback) } - let(:stream) { double(:read_string => "") } - context "when body returns not :abort" do - it "returns number bigger than 0" do - expect(body_write_callback.call(stream, 1, 1, nil) > 0).to be(true) - end - end - - context "when body returns :abort" do - before do - easy.on_body.clear - easy.on_body { :abort } - end - let(:body_write_callback) { easy.instance_variable_get(:@body_write_callback) } - - it "returns -1 to indicate abort to libcurl" do - expect(body_write_callback.call(stream, 1, 1, nil)).to eq(-1) - end - end - end - - describe "#header_write_callback" do - let(:header_write_callback) { easy.instance_variable_get(:@header_write_callback) } - let(:stream) { double(:read_string => "") } - context "when header returns not :abort" do - it "returns number bigger than 0" do - expect(header_write_callback.call(stream, 1, 1, nil) > 0).to be(true) - end - end - - context "when header returns :abort" do - before do - easy.on_headers.clear - easy.on_headers { :abort } - end - let(:header_write_callback) { easy.instance_variable_get(:@header_write_callback) } - - it "returns -1 to indicate abort to libcurl" do - expect(header_write_callback.call(stream, 1, 1, nil)).to eq(-1) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb deleted file mode 100644 index 8dccc38..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb +++ /dev/null @@ -1,54 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::DebugInfo do - let(:easy) { Ethon::Easy.new } - - before do - easy.url = "http://localhost:3001/" - easy.perform - end - - describe "#debug_info" do - context "when verbose is not set to true" do - it "does not save any debug info after a request" do - expect(easy.debug_info.to_a.length).to eq(0) - expect(easy.debug_info.to_h.values.flatten.length).to eq(0) - end - end - - context "when verbose is set to true" do - before do - easy.verbose = true - easy.perform - end - - after do - easy.verbose = false - easy.reset - end - - it "saves debug info after a request" do - expect(easy.debug_info.to_a.length).to be > 0 - end - - it "saves request headers" do - expect(easy.debug_info.header_out.join).to include('GET / HTTP/1.1') - end - - it "saves response headers" do - expect(easy.debug_info.header_in.length).to be > 0 - expect(easy.response_headers).to include(easy.debug_info.header_in.join) - end - - it "saves incoming data" do - expect(easy.debug_info.data_in.length).to be > 0 - expect(easy.response_body).to include(easy.debug_info.data_in.join) - end - - it "saves debug text" do - expect(easy.debug_info.text.length).to be > 0 - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb deleted file mode 100644 index b174948..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Informations do - - describe "#supports_asynch_dns?" do - it "returns boolean" do - expect([true, false].include? Ethon::Easy.supports_asynch_dns?).to be_truthy - end - end - - describe "#supports_zlib?" do - it "returns boolean" do - expect([true, false].include? Ethon::Easy.supports_zlib?).to be_truthy - end - end - - describe "#supports_timeout_ms?" do - it "returns boolean" do - expect([true, false].include? Ethon::Easy.supports_timeout_ms?).to be_truthy - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb deleted file mode 100644 index 4cd34d9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb +++ /dev/null @@ -1,104 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Form do - let(:hash) { {} } - let!(:easy) { Ethon::Easy.new } - let(:form) { Ethon::Easy::Form.new(easy, hash) } - - describe ".new" do - it "assigns attribute to @params" do - expect(form.instance_variable_get(:@params)).to eq(hash) - end - end - - describe "#first" do - it "returns a pointer" do - expect(form.first).to be_a(FFI::Pointer) - end - end - - describe "#last" do - it "returns a pointer" do - expect(form.first).to be_a(FFI::Pointer) - end - end - - describe "#multipart?" do - before { form.instance_variable_set(:@query_pairs, pairs) } - - context "when query_pairs contains string values" do - let(:pairs) { [['a', '1'], ['b', '2']] } - - it "returns false" do - expect(form.multipart?).to be_falsey - end - end - - context "when query_pairs contains file" do - let(:pairs) { [['a', '1'], ['b', ['path', 'encoding', 'abs_path']]] } - - it "returns true" do - expect(form.multipart?).to be_truthy - end - end - - context "when options contains multipart=true" do - before { form.instance_variable_set(:@multipart, true) } - let(:pairs) { [['a', '1'], ['b', '2']] } - - it "returns true" do - expect(form.multipart?).to be_truthy - end - end - end - - describe "#materialize" do - before { form.instance_variable_set(:@query_pairs, pairs) } - - context "when query_pairs contains string values" do - let(:pairs) { [['a', '1']] } - - it "adds params to form" do - expect(Ethon::Curl).to receive(:formadd) - form.materialize - end - end - - context "when query_pairs contains nil" do - let(:pairs) { [['a', nil]] } - - it "adds params to form" do - expect(Ethon::Curl).to receive(:formadd) - form.materialize - end - end - - context "when query_pairs contains file" do - let(:pairs) { [['a', ["file", "type", "path/file"]]] } - - it "adds file to form" do - expect(Ethon::Curl).to receive(:formadd) - form.materialize - end - end - - context "when query_pairs contains file and string values" do - let(:pairs) { [['a', ["file", "type", "path/file"]], ['b', '1']] } - - it "adds file to form" do - expect(Ethon::Curl).to receive(:formadd).twice - form.materialize - end - end - - context "when query_pairs contains file, string and int values" do - let(:pairs) { [['a', ["file", "type", "path/file"]], ['b', '1'], ['c', 1]] } - - it "adds file to form" do - expect(Ethon::Curl).to receive(:formadd).exactly(3).times - form.materialize - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb deleted file mode 100644 index 4931fc7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb +++ /dev/null @@ -1,79 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Header do - let(:easy) { Ethon::Easy.new } - - describe "#headers=" do - let(:headers) { { 'User-Agent' => 'Ethon' } } - - it "sets header" do - expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks) - expect(Ethon::Curl).to receive(:set_option) - easy.headers = headers - end - - context "when requesting" do - before do - easy.headers = headers - easy.url = "http://localhost:3001" - easy.perform - end - - it "sends" do - expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"') - end - - context "when header value contains null byte" do - let(:headers) { { 'User-Agent' => "Ethon\0" } } - - it "escapes" do - expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon\\\\0"') - end - end - - context "when header value has leading whitespace" do - let(:headers) { { 'User-Agent' => " Ethon" } } - - it "removes" do - expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"') - end - end - - context "when header value has traiing whitespace" do - let(:headers) { { 'User-Agent' => "Ethon " } } - - it "removes" do - expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"') - end - end - end - end - - describe "#compose_header" do - it "has space in between" do - expect(easy.compose_header('a', 'b')).to eq('a: b') - end - - context "when value is a symbol" do - it "works" do - expect{ easy.compose_header('a', :b) }.to_not raise_error - end - end - end - - describe "#header_list" do - context "when no set_headers" do - it "returns nil" do - expect(easy.header_list).to eq(nil) - end - end - - context "when set_headers" do - it "returns pointer to header list" do - easy.headers = {'User-Agent' => 'Custom'} - expect(easy.header_list).to be_a(FFI::Pointer) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb deleted file mode 100644 index ba0978b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb +++ /dev/null @@ -1,177 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Custom do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:custom) { described_class.new("PURGE", url, {:params => params, :body => form}) } - - describe "#setup" do - context "when nothing" do - it "sets url" do - custom.setup(easy) - expect(easy.url).to eq(url) - end - - it "makes a custom request" do - custom.setup(easy) - easy.perform - expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"') - end - end - - context "when params" do - let(:params) { {:a => "1&"} } - - it "attaches escaped to url" do - custom.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26") - end - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - custom.setup(easy) - easy.perform - end - - it "is a custom verb" do - expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"') - end - - it "does not use application/x-www-form-urlencoded content type" do - expect(easy.response_body).to_not include('"CONTENT_TYPE":"application/x-www-form-urlencoded"') - end - - it "requests parameterized url" do - expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?a=1%26"') - end - end - end - - context "when body" do - context "when multipart" do - let(:form) { {:a => File.open(__FILE__, 'r')} } - - it "sets httppost" do - expect(easy).to receive(:httppost=) - custom.setup(easy) - end - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - custom.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a custom verb" do - expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"') - end - - it "uses multipart/form-data content type" do - expect(easy.response_body).to include('"CONTENT_TYPE":"multipart/form-data') - end - - it "submits a body" do - expect(easy.response_body).to match('"body":".+"') - end - - it "submits the data" do - expect(easy.response_body).to include('"filename":"custom_spec.rb"') - end - end - end - - context "when not multipart" do - let(:form) { {:a => "1&b=2"} } - let(:encoded) { "a=1%26b%3D2" } - - it "sets escaped copypostfields" do - expect(easy).to receive(:copypostfields=).with(encoded) - custom.setup(easy) - end - - it "sets postfieldsize" do - expect(easy).to receive(:postfieldsize=).with(encoded.bytesize) - custom.setup(easy) - end - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - custom.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a custom verb" do - expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"') - end - - it "uses multipart/form-data content type" do - expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded') - end - - it "submits a body" do - expect(easy.response_body).to match('"body":"a=1%26b%3D2"') - end - - it "submits the data" do - expect(easy.response_body).to include('"rack.request.form_hash":{"a":"1&b=2"}') - end - end - end - - context "when string" do - let(:form) { "{a: 1}" } - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - custom.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "sends string" do - expect(easy.response_body).to include('"body":"{a: 1}"') - end - end - end - end - - context "when params and body" do - let(:form) { {:a => "1"} } - let(:params) { {:b => "2"} } - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - custom.setup(easy) - easy.perform - end - - it "url contains params" do - expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?b=2"') - end - - it "body contains form" do - expect(easy.response_body).to include('"body":"a=1"') - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb deleted file mode 100644 index fe7e55e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Delete do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:delete) { described_class.new(url, {:params => params, :body => form}) } - - context "when requesting" do - before do - delete.setup(easy) - easy.perform - end - - it "makes a delete request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"DELETE"') - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb deleted file mode 100644 index e3a7e4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb +++ /dev/null @@ -1,126 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Get do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:options) { {} } - let(:get) { described_class.new(url, {:params => params, :body => form}.merge(options)) } - - describe "#setup" do - it "sets url" do - get.setup(easy) - expect(easy.url).to eq(url) - end - - context "when body" do - let(:form) { { :a => 1 } } - - it "sets customrequest" do - expect(easy).to receive(:customrequest=).with("GET") - get.setup(easy) - end - end - - context "when no body" do - it "doesn't set customrequest" do - expect(easy).to receive(:customrequest=).never - get.setup(easy) - end - end - - context "when requesting" do - before do - get.setup(easy) - easy.perform - end - - context "when url already contains params" do - let(:url) { "http://localhost:3001/?query=here" } - let(:params) { {:a => "1&b=2"} } - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a get request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"GET"') - end - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2") - end - end - - context "when params and no body" do - let(:params) { {:a => "1&b=2"} } - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a get request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"GET"') - end - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2") - end - end - - context "when params and body" do - let(:params) { {:a => "1&b=2"} } - let(:form) { {:b => "2"} } - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a get request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"GET"') - end - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2") - end - end - - context "with :escape" do - let(:params) { {:a => "1&b=2"} } - - context 'missing' do - it "escapes values" do - expect(easy.url).to eq("#{url}?a=1%26b%3D2") - end - end - - context 'nil' do - let(:options) { {:escape => nil} } - - it "escapes values" do - expect(easy.url).to eq("#{url}?a=1%26b%3D2") - end - end - - context 'true' do - let(:options) { {:escape => true} } - - it "escapes values" do - expect(easy.url).to eq("#{url}?a=1%26b%3D2") - end - end - - context 'false' do - let(:options) { {:escape => false} } - - it "sends raw values" do - expect(easy.url).to eq("#{url}?a=1&b=2") - end - end - end - - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb deleted file mode 100644 index 5a04f06..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb +++ /dev/null @@ -1,80 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Head do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:head) { described_class.new(url, {:params => params, :body => form}) } - - describe "#setup" do - context "when nothing" do - it "sets nobody" do - expect(easy).to receive(:nobody=).with(true) - head.setup(easy) - end - - it "sets url" do - head.setup(easy) - expect(easy.url).to eq(url) - end - end - - context "when params" do - let(:params) { {:a => "1&b=2"} } - - it "sets nobody" do - expect(easy).to receive(:nobody=).with(true) - head.setup(easy) - end - - it "attaches escaped to url" do - head.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26b%3D2") - end - - context "when requesting" do - before do - head.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "has no body" do - expect(easy.response_body).to be_empty - end - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2") - end - - context "when url already contains params" do - let(:url) { "http://localhost:3001/?query=here" } - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2") - end - end - end - end - - context "when body" do - let(:form) { {:a => 1} } - - context "when requesting" do - before do - head.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb deleted file mode 100644 index 99ca96f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Options do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:options) { described_class.new(url, {:params => params, :body => form}) } - - describe "#setup" do - it "sets customrequest" do - expect(easy).to receive(:customrequest=).with("OPTIONS") - options.setup(easy) - end - - it "sets url" do - options.setup(easy) - expect(easy.url).to eq(url) - end - - context "when requesting" do - let(:params) { {:a => "1&b=2"} } - - before do - options.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a options request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"OPTIONS"') - end - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2") - end - - context "when url already contains params" do - let(:url) { "http://localhost:3001/?query=here" } - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2") - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb deleted file mode 100644 index a74cec7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Patch do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:patch) { described_class.new(url, {:params => params, :body => form}) } - - describe "#setup" do - it "sets customrequest" do - expect(easy).to receive(:customrequest=).with("PATCH") - patch.setup(easy) - end - - it "sets url" do - patch.setup(easy) - expect(easy.url).to eq(url) - end - - context "when requesting" do - let(:params) { {:a => "1&b=2"} } - - before do - patch.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a patch request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"PATCH"') - end - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2") - end - - context "when url already contains params" do - let(:url) { "http://localhost:3001/?query=here" } - - it "requests parameterized url" do - expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2") - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb deleted file mode 100644 index a65ceff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb +++ /dev/null @@ -1,317 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Post do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:options) { Hash.new } - let(:post) { described_class.new(url, options.merge({:params => params, :body => form})) } - - describe "#setup" do - context "when nothing" do - it "sets url" do - post.setup(easy) - expect(easy.url).to eq(url) - end - - it "sets postfield_size" do - expect(easy).to receive(:postfieldsize=).with(0) - post.setup(easy) - end - - it "sets copy_postfields" do - expect(easy).to receive(:copypostfields=).with("") - post.setup(easy) - end - - it "makes a post request" do - post.setup(easy) - easy.perform - expect(easy.response_body).to include('"REQUEST_METHOD":"POST"') - end - end - - context "when params" do - let(:params) { {:a => "1&"} } - - it "attaches escaped to url" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26") - end - - context "with arrays" do - let(:params) { {:a => %w( foo bar )} } - - context "by default" do - it "encodes them with indexes" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a%5B0%5D=foo&a%5B1%5D=bar") - end - end - - context "when params_encoding is :rack" do - let(:options) { {:params_encoding => :rack} } - it "encodes them without indexes" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a%5B%5D=foo&a%5B%5D=bar") - end - end - end - - context "with :escape" do - context 'missing' do - it "escapes values" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26") - end - end - - context 'nil' do - let(:options) { {:escape => nil} } - - it "escapes values" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26") - end - end - - context 'true' do - let(:options) { {:escape => true} } - - it "escapes values" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26") - end - end - - context 'false' do - let(:options) { {:escape => false} } - - it "sends raw values" do - post.setup(easy) - expect(easy.url).to eq("#{url}?a=1&") - end - end - end - - it "sets postfieldsize" do - expect(easy).to receive(:postfieldsize=).with(0) - post.setup(easy) - end - - it "sets copypostfields" do - expect(easy).to receive(:copypostfields=).with("") - post.setup(easy) - end - - context "when requesting" do - let(:postredir) { nil } - - before do - easy.headers = { 'Expect' => '' } - post.setup(easy) - easy.postredir = postredir - easy.followlocation = true - easy.perform - end - - it "is a post" do - expect(easy.response_body).to include('"REQUEST_METHOD":"POST"') - end - - it "uses application/x-www-form-urlencoded content type" do - expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded"') - end - - it "requests parameterized url" do - expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?a=1%26"') - end - - context "when redirection" do - let(:url) { "localhost:3001/redirect" } - - context "when no postredirs" do - it "is a get" do - expect(easy.response_body).to include('"REQUEST_METHOD":"GET"') - end - end - - unless ENV['TRAVIS'] - context "when postredirs" do - let(:postredir) { :post_all } - - it "is a post" do - expect(easy.response_body).to include('"REQUEST_METHOD":"POST"') - end - end - end - end - end - end - - context "when body" do - context "when multipart" do - let(:form) { {:a => File.open(__FILE__, 'r')} } - - it "sets httppost" do - expect(easy).to receive(:httppost=) - post.setup(easy) - end - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - post.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a post" do - expect(easy.response_body).to include('"REQUEST_METHOD":"POST"') - end - - it "uses multipart/form-data content type" do - expect(easy.response_body).to include('"CONTENT_TYPE":"multipart/form-data') - end - - it "submits a body" do - expect(easy.response_body).to match('"body":".+"') - end - - it "submits the data" do - expect(easy.response_body).to include('"filename":"post_spec.rb"') - end - end - end - - context "when not multipart" do - let(:form) { {:a => "1&b=2"} } - let(:encoded) { "a=1%26b%3D2" } - - it "sets escaped copypostfields" do - expect(easy).to receive(:copypostfields=).with(encoded) - post.setup(easy) - end - - it "sets postfieldsize" do - expect(easy).to receive(:postfieldsize=).with(encoded.bytesize) - post.setup(easy) - end - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - post.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "is a post" do - expect(easy.response_body).to include('"REQUEST_METHOD":"POST"') - end - - it "uses multipart/form-data content type" do - expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded') - end - - it "submits a body" do - expect(easy.response_body).to match('"body":"a=1%26b%3D2"') - end - - it "submits the data" do - expect(easy.response_body).to include('"rack.request.form_hash":{"a":"1&b=2"}') - end - end - end - - context "when string" do - let(:form) { "{a: 1}" } - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - post.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "sends string" do - expect(easy.response_body).to include('"body":"{a: 1}"') - end - end - end - - context "when binary with null bytes" do - let(:form) { [1, 0, 1].pack('c*') } - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - post.setup(easy) - easy.perform - end - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "sends binary data" do - expect(easy.response_body).to include('"body":"\\u0001\\u0000\\u0001"') - end - end - end - - context "when arrays" do - let(:form) { {:a => %w( foo bar )} } - - context "by default" do - it "sets copypostfields with indexed, escaped representation" do - expect(easy).to receive(:copypostfields=).with('a%5B0%5D=foo&a%5B1%5D=bar') - post.setup(easy) - end - end - - context "when params_encoding is :rack" do - let(:options) { {:params_encoding => :rack} } - - it "sets copypostfields with non-indexed, escaped representation" do - expect(easy).to receive(:copypostfields=).with('a%5B%5D=foo&a%5B%5D=bar') - post.setup(easy) - end - end - end - end - - context "when params and body" do - let(:form) { {:a => "1"} } - let(:params) { {:b => "2"} } - - context "when requesting" do - before do - easy.headers = { 'Expect' => '' } - post.setup(easy) - easy.perform - end - - it "url contains params" do - expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?b=2"') - end - - it "body contains form" do - expect(easy.response_body).to include('"body":"a=1"') - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb deleted file mode 100644 index f294c37..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb +++ /dev/null @@ -1,168 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http::Put do - let(:easy) { Ethon::Easy.new } - let(:url) { "http://localhost:3001/" } - let(:params) { nil } - let(:form) { nil } - let(:options) { Hash.new } - let(:put) { described_class.new(url, options.merge({:params => params, :body => form})) } - - describe "#setup" do - context "when nothing" do - it "sets url" do - put.setup(easy) - expect(easy.url).to eq(url) - end - - it "sets upload" do - expect(easy).to receive(:upload=).with(true) - put.setup(easy) - end - - it "sets infilesize" do - expect(easy).to receive(:infilesize=).with(0) - put.setup(easy) - end - - context "when requesting" do - it "makes a put request" do - put.setup(easy) - easy.perform - expect(easy.response_body).to include('"REQUEST_METHOD":"PUT"') - end - end - end - - context "when params" do - let(:params) { {:a => "1&"} } - - it "attaches escaped to url" do - put.setup(easy) - expect(easy.url).to eq("#{url}?a=1%26") - end - - context "with arrays" do - let(:params) { {:a => %w( foo bar )} } - - context "by default" do - it "encodes them with indexes" do - put.setup(easy) - expect(easy.url).to eq("#{url}?a%5B0%5D=foo&a%5B1%5D=bar") - end - end - - context "when params_encoding is :rack" do - let(:options) { {:params_encoding => :rack} } - it "encodes them without indexes" do - put.setup(easy) - expect(easy.url).to eq("#{url}?a%5B%5D=foo&a%5B%5D=bar") - end - end - end - - it "sets upload" do - expect(easy).to receive(:upload=).with(true) - put.setup(easy) - end - - it "sets infilesize" do - expect(easy).to receive(:infilesize=).with(0) - put.setup(easy) - end - - context "when requesting" do - before do - put.setup(easy) - easy.perform - end - - it "makes a put request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"PUT"') - end - end - end - - context "when body" do - let(:form) { {:a => "1&b=2"} } - - it "sets infilesize" do - expect(easy).to receive(:infilesize=).with(11) - put.setup(easy) - end - - it "sets readfunction" do - expect(easy).to receive(:readfunction) - put.setup(easy) - end - - it "sets upload" do - expect(easy).to receive(:upload=).with(true) - put.setup(easy) - end - - context "when requesting" do - context "sending string body" do - before do - easy.headers = { 'Expect' => '' } - put.setup(easy) - easy.perform - end - - it "makes a put request" do - expect(easy.response_body).to include('"REQUEST_METHOD":"PUT"') - end - - it "submits a body" do - expect(easy.response_body).to include('"body":"a=1%26b%3D2"') - end - end - - context "when injecting a file as body" do - let(:file) { File.open(__FILE__) } - let(:easy) do - e = Ethon::Easy.new(:url => url, :upload => true) - e.set_read_callback(file) - e.infilesize = File.size(file.path) - e - end - - before do - easy.headers = { 'Expect' => '' } - easy.perform - end - - it "submits file" do - expect(easy.response_body).to include("injecting") - end - end - end - - context "when arrays" do - let(:form) { {:a => %w( foo bar )} } - - before do - put.setup(easy) - easy.perform - end - - context "by default" do - it "submits an indexed, escaped representation" do - expect(easy.response_body).to include('"body":"a%5B0%5D=foo&a%5B1%5D=bar"') - end - end - - context "when params_encoding is :rack" do - let(:options) { {:params_encoding => :rack} } - - it "submits an non-indexed, escaped representation" do - expect(easy.response_body).to include('"body":"a%5B%5D=foo&a%5B%5D=bar"') - end - end - end - end - - context "when params and body" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb deleted file mode 100644 index b74a2df..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb +++ /dev/null @@ -1,64 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Http do - let(:easy) { Ethon::Easy.new } - - describe "#http_request" do - let(:url) { "http://localhost:3001/" } - let(:action_name) { :get } - let(:options) { {} } - - let(:get) { double(:setup) } - let(:get_class) { Ethon::Easy::Http::Get } - - it "instanciates action" do - expect(get).to receive(:setup) - expect(get_class).to receive(:new).and_return(get) - easy.http_request(url, action_name, options) - end - - context "when requesting" do - [ :get, :post, :put, :delete, :head, :patch, :options ].map do |action| - it "returns ok" do - easy.http_request(url, action, options) - easy.perform - expect(easy.return_code).to be(:ok) - end - - unless action == :head - it "makes a #{action.to_s.upcase} request" do - easy.http_request(url, action, options) - easy.perform - expect(easy.response_body).to include("\"REQUEST_METHOD\":\"#{action.to_s.upcase}\"") - end - - it "streams the response body from the #{action.to_s.upcase} request" do - bytes_read = 0 - easy.on_body { |chunk, response| bytes_read += chunk.bytesize } - easy.http_request(url, action, options) - easy.perform - content_length = ((easy.response_headers =~ /Content-Length: (\d+)/) && $1.to_i) - expect(bytes_read).to eq(content_length) - expect(easy.response_body).to eq("") - end - - it "notifies when headers are ready" do - headers = [] - easy.on_headers { |r| headers << r.response_headers } - easy.http_request(url, action, options) - easy.perform - expect(headers).to eq([easy.response_headers]) - expect(headers.first).to match(/Content-Length: (\d+)/) - end - end - end - - it "makes requests with custom HTTP verbs" do - easy.http_request(url, :purge, options) - easy.perform - expect(easy.response_body).to include(%{"REQUEST_METHOD":"PURGE"}) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb deleted file mode 100644 index 3526847..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb +++ /dev/null @@ -1,126 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Informations do - let(:easy) { Ethon::Easy.new } - - before do - easy.url = "http://localhost:3001" - easy.perform - end - - describe "#httpauth_avail" do - it "returns" do - expect(easy.httpauth_avail).to be - end - end - - describe "#total_time" do - it "returns float" do - expect(easy.total_time).to be_a(Float) - end - end - - describe "#starttransfer_time" do - it "returns float" do - expect(easy.starttransfer_time).to be_a(Float) - end - end - - describe "#appconnect_time" do - it "returns float" do - expect(easy.appconnect_time).to be_a(Float) - end - end - - describe "#pretransfer_time" do - it "returns float" do - expect(easy.pretransfer_time).to be_a(Float) - end - end - - describe "#connect_time" do - it "returns float" do - expect(easy.connect_time).to be_a(Float) - end - end - - describe "#namelookup_time" do - it "returns float" do - expect(easy.namelookup_time).to be_a(Float) - end - end - - describe "#redirect_time" do - it "returns float" do - expect(easy.redirect_time).to be_a(Float) - end - end - - describe "#effective_url" do - it "returns url" do - expect(easy.effective_url).to match(/^http:\/\/localhost:3001\/?/) - end - end - - describe "#primary_ip" do - it "returns localhost" do - expect(easy.primary_ip).to match(/::1|127\.0\.0\.1/) - end - end - - describe "#response_code" do - it "returns 200" do - expect(easy.response_code).to eq(200) - end - end - - describe "#redirect_count" do - it "returns 0" do - expect(easy.redirect_count).to eq(0) - end - end - - describe "#redirect_url" do - it "returns nil as there is no redirect" do - expect(easy.redirect_url).to be(nil) - end - end - - describe "#request_size" do - it "returns 53" do - expect(easy.request_size).to eq(53) - end - end - - describe "#supports_zlib?" do - it "returns true" do - expect(Kernel).to receive(:warn) - expect(easy.supports_zlib?).to be_truthy - end - end - - describe "#size_upload" do - it "returns float" do - expect(easy.size_upload).to be_a(Float) - end - end - - describe "#size_download" do - it "returns float" do - expect(easy.size_download).to be_a(Float) - end - end - - describe "#speed_upload" do - it "returns float" do - expect(easy.speed_upload).to be_a(Float) - end - end - - describe "#speed_download" do - it "returns float" do - expect(easy.speed_download).to be_a(Float) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb deleted file mode 100644 index 29d150d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Mirror do - let(:options) { nil } - let(:mirror) { described_class.new(options) } - - describe "::INFORMATIONS_TO_LOG" do - [ - :return_code, :response_code, :response_body, :response_headers, - :total_time, :starttransfer_time, :appconnect_time, - :pretransfer_time, :connect_time, :namelookup_time, :redirect_time, - :size_upload, :size_download, :speed_upload, :speed_upload, - :effective_url, :primary_ip, :redirect_count, :redirect_url, :debug_info - ].each do |name| - it "contains #{name}" do - expect(described_class::INFORMATIONS_TO_MIRROR).to include(name) - end - end - end - - describe "#to_hash" do - let(:options) { {:return_code => 1} } - - it "returns mirror as hash" do - expect(mirror.to_hash).to eq(options) - end - end - - describe "#log_informations" do - let(:options) { {:return_code => 1} } - - it "returns hash" do - expect(mirror.log_informations).to be_a(Hash) - end - - it "only calls methods that exist" do - described_class::INFORMATIONS_TO_LOG.each do |method_name| - expect(mirror.respond_to? method_name).to eql(true) - end - end - - it "includes return code" do - expect(mirror.log_informations).to include(options) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb deleted file mode 100644 index a3ddc86..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb +++ /dev/null @@ -1,271 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Operations do - let(:easy) { Ethon::Easy.new } - - describe "#handle" do - it "returns a pointer" do - expect(easy.handle).to be_a(FFI::Pointer) - end - end - - - describe "#perform" do - let(:url) { nil } - let(:timeout) { nil } - let(:connect_timeout) { nil } - let(:follow_location) { nil } - let(:max_redirs) { nil } - let(:user_pwd) { nil } - let(:http_auth) { nil } - let(:headers) { nil } - let(:protocols) { nil } - let(:redir_protocols) { nil } - let(:username) { nil } - let(:password) { nil } - - before do - Ethon.logger.level = Logger::DEBUG - easy.url = url - easy.timeout = timeout - easy.connecttimeout = connect_timeout - easy.followlocation = follow_location - easy.maxredirs = max_redirs - easy.httpauth = http_auth - easy.headers = headers - easy.protocols = protocols - easy.redir_protocols = redir_protocols - - if user_pwd - easy.userpwd = user_pwd - else - easy.username = username - easy.password = password - end - - easy.perform - end - - it "calls Curl.easy_perform" do - expect(Ethon::Curl).to receive(:easy_perform) - easy.perform - end - - it "calls Curl.easy_cleanup" do - expect_any_instance_of(FFI::AutoPointer).to receive(:free) - easy.cleanup - end - - it "logs" do - expect(Ethon.logger).to receive(:debug) - easy.perform - end - - it "doesn't log after completing because completing could reset" do - easy.on_complete{ expect(Ethon.logger).to receive(:debug).never } - easy.perform - end - - context "when url" do - let(:url) { "http://localhost:3001/" } - - it "returns ok" do - expect(easy.return_code).to eq(:ok) - end - - it "sets response body" do - expect(easy.response_body).to be - end - - it "sets response headers" do - expect(easy.response_headers).to be - end - - context "when request timed out" do - let(:url) { "http://localhost:3001/?delay=1" } - let(:timeout) { 1 } - - it "returns operation_timedout" do - expect(easy.return_code).to eq(:operation_timedout) - end - end - - context "when connection timed out" do - let(:url) { "http://localhost:3009" } - let(:connect_timeout) { 1 } - - it "returns couldnt_connect" do - expect(easy.return_code).to eq(:couldnt_connect) - end - end - - context "when no follow location" do - let(:url) { "http://localhost:3001/redirect" } - let(:follow_location) { false } - - it "doesn't follow" do - expect(easy.response_code).to eq(302) - expect(easy.redirect_url).to eq("http://localhost:3001/") - end - end - - context "when follow location" do - let(:url) { "http://localhost:3001/redirect" } - let(:follow_location) { true } - - it "follows" do - expect(easy.response_code).to eq(200) - expect(easy.redirect_url).to eq(nil) - end - - context "when infinite redirect loop" do - let(:url) { "http://localhost:3001/bad_redirect" } - let(:max_redirs) { 5 } - - context "when max redirect set" do - it "follows only x times" do - expect(easy.response_code).to eq(302) - expect(easy.redirect_url).to eq("http://localhost:3001/bad_redirect") - end - end - end - end - - context "when user agent" do - let(:headers) { { 'User-Agent' => 'Ethon' } } - - it "sets" do - expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"') - end - end - end - - context "when auth url" do - before { easy.url = url } - - context "when basic auth" do - let(:url) { "http://localhost:3001/auth_basic/username/password" } - - context "when no user_pwd" do - it "returns 401" do - expect(easy.response_code).to eq(401) - end - end - - context "when invalid user_pwd" do - let(:user_pwd) { "invalid:invalid" } - - it "returns 401" do - expect(easy.response_code).to eq(401) - end - end - - context "when valid user_pwd" do - let(:user_pwd) { "username:password" } - - it "returns 200" do - expect(easy.response_code).to eq(200) - end - end - - context "when user and password" do - let(:username) { "username" } - let(:password) { "password" } - - it "returns 200" do - expect(easy.response_code).to eq(200) - end - end - end - - context "when ntlm" do - let(:url) { "http://localhost:3001/auth_ntlm" } - let(:http_auth) { :ntlm } - - context "when no user_pwd" do - it "returns 401" do - expect(easy.response_code).to eq(401) - end - end - - context "when user_pwd" do - let(:user_pwd) { "username:password" } - - it "returns 200" do - expect(easy.response_code).to eq(200) - end - end - end - end - - context "when protocols" do - context "when asking for a allowed url" do - let(:url) { "http://localhost:3001" } - let(:protocols) { :http } - - it "returns ok" do - expect(easy.return_code).to be(:ok) - end - end - - context "when asking for a not allowed url" do - let(:url) { "http://localhost:3001" } - let(:protocols) { :https } - - it "returns unsupported_protocol" do - expect(easy.return_code).to be(:unsupported_protocol) - end - end - end - - context "when multiple protocols" do - context "when asking for a allowed url" do - let(:protocols) { [:http, :https] } - - context "when http" do - let(:url) { "http://localhost:3001" } - - it "returns ok for http" do - expect(easy.return_code).to be(:ok) - end - end - - context "when https" do - let(:url) { "https://localhost:3001" } - - it "returns ssl_connect_error for https" do - expect(easy.return_code).to be(:ssl_connect_error) - end - end - end - - context "when asking for a not allowed url" do - let(:url) { "ssh://localhost" } - let(:protocols) { [:https, :http] } - - it "returns unsupported_protocol" do - expect(easy.return_code).to be(:unsupported_protocol) - end - end - end - - context "when redir_protocols" do - context "when redirecting to a not allowed url" do - let(:url) { "http://localhost:3001/redirect" } - let(:follow_location) { true } - let(:redir_protocols) { :https } - - it "returns unsupported_protocol" do - expect(easy.return_code).to be(:unsupported_protocol) - end - end - end - - context "when no url" do - it "returns url_malformat" do - expect(easy.perform).to eq(:url_malformat) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb deleted file mode 100644 index e135bd9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb +++ /dev/null @@ -1,193 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Options do - let(:easy) { Ethon::Easy.new } - - [ - :accept_encoding, :cainfo, :capath, :connecttimeout, :connecttimeout_ms, :cookie, - :cookiejar, :cookiefile, :copypostfields, :customrequest, :dns_cache_timeout, - :followlocation, :forbid_reuse, :http_version, :httpauth, :httpget, :httppost, - :infilesize, :interface, :keypasswd, :maxredirs, :nobody, :nosignal, - :postfieldsize, :postredir, :protocols, :proxy, :proxyauth, :proxyport, :proxytype, - :proxyuserpwd, :readdata, :readfunction, :redir_protocols, :ssl_verifyhost, - :ssl_verifypeer, :sslcert, :sslcerttype, :sslkey, :sslkeytype, :sslversion, - :timeout, :timeout_ms, :unrestricted_auth, :upload, :url, :useragent, - :userpwd, :verbose, :pipewait, :dns_shuffle_addresses, :path_as_is - ].each do |name| - describe "#{name}=" do - it "responds_to" do - expect(easy).to respond_to("#{name}=") - end - - it "sets option" do - expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks) - expect(Ethon::Curl).to receive(:set_option).with(name, anything, anything) - value = case name - when :http_version - :httpv1_0 - when :httpauth - :basic - when :protocols, :redir_protocols - :http - when :postredir - :post_301 - when :proxytype - :http - when :sslversion - :default - when :httppost - FFI::Pointer::NULL - else - 1 - end - easy.method("#{name}=").call(value) - end - end - end - - describe '#escape?' do - context 'by default' do - it 'returns true' do - expect(easy.escape?).to be_truthy - end - end - - context 'when #escape=nil' do - it 'returns true' do - easy.escape = nil - expect(easy.escape?).to be_truthy - end - end - - context 'when #escape=true' do - it 'returns true' do - easy.escape = true - expect(easy.escape?).to be_truthy - end - end - - context 'when #escape=false' do - it 'returns true' do - easy.escape = false - expect(easy.escape?).to be_falsey - end - end - end - - describe '#multipart?' do - context 'by default' do - it 'returns false' do - expect(easy.multipart?).to be_falsey - end - end - - context 'when #multipart=nil' do - it 'returns false' do - easy.multipart = nil - expect(easy.multipart?).to be_falsey - end - end - - context 'when #multipart=true' do - it 'returns true' do - easy.multipart = true - expect(easy.multipart?).to be_truthy - end - end - - context 'when #multipart=false' do - it 'returns false' do - easy.multipart = false - expect(easy.multipart?).to be_falsey - end - end - end - - describe "#httppost=" do - it "raises unless given a FFI::Pointer" do - expect{ easy.httppost = 1 }.to raise_error(Ethon::Errors::InvalidValue) - end - end - - context "when requesting" do - let(:url) { "localhost:3001" } - let(:timeout) { nil } - let(:timeout_ms) { nil } - let(:connecttimeout) { nil } - let(:connecttimeout_ms) { nil } - let(:userpwd) { nil } - - before do - easy.url = url - easy.timeout = timeout - easy.timeout_ms = timeout_ms - easy.connecttimeout = connecttimeout - easy.connecttimeout_ms = connecttimeout_ms - easy.userpwd = userpwd - easy.perform - end - - context "when userpwd" do - context "when contains /" do - let(:url) { "localhost:3001/auth_basic/test/te%2Fst" } - let(:userpwd) { "test:te/st" } - - it "works" do - expect(easy.response_code).to eq(200) - end - end - end - - context "when timeout" do - let(:timeout) { 1 } - - context "when request takes longer" do - let(:url) { "localhost:3001?delay=2" } - - it "times out" do - expect(easy.return_code).to eq(:operation_timedout) - end - end - end - - context "when connecttimeout" do - let(:connecttimeout) { 1 } - - context "when cannot connect" do - let(:url) { "localhost:3002" } - - it "times out" do - expect(easy.return_code).to eq(:couldnt_connect) - end - end - end - - if Ethon::Easy.supports_timeout_ms? - context "when timeout_ms" do - let(:timeout_ms) { 100 } - - context "when request takes longer" do - let(:url) { "localhost:3001?delay=1" } - - it "times out" do - expect(easy.return_code).to eq(:operation_timedout) - end - end - end - - context "when connecttimeout_ms" do - let(:connecttimeout_ms) { 100 } - - context "when cannot connect" do - let(:url) { "localhost:3002" } - - it "times out" do - # this can either lead to a timeout or couldnt connect depending on which happens first - expect([:couldnt_connect, :operation_timedout]).to include(easy.return_code) - end - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb deleted file mode 100644 index 89c4d11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb +++ /dev/null @@ -1,235 +0,0 @@ -# encoding: utf-8 -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Queryable do - let(:hash) { {} } - let!(:easy) { Ethon::Easy.new } - let(:params) { Ethon::Easy::Params.new(easy, hash) } - - describe "#to_s" do - context "when query_pairs empty" do - before { params.instance_variable_set(:@query_pairs, []) } - - it "returns empty string" do - expect(params.to_s).to eq("") - end - end - - context "when query_pairs not empty" do - context "when escape" do - before do - params.escape = true - end - - { - '!' => '%21', '*' => '%2A', "'" => '%27', '(' => '%28', - ')' => '%29', ';' => '%3B', ':' => '%3A', '@' => '%40', - '&' => '%26', '=' => '%3D', '+' => '%2B', '$' => '%24', - ',' => '%2C', '/' => '%2F', '?' => '%3F', '#' => '%23', - '[' => '%5B', ']' => '%5D', - - '<' => '%3C', '>' => '%3E', '"' => '%22', '{' => '%7B', - '}' => '%7D', '|' => '%7C', '\\' => '%5C', '`' => '%60', - '^' => '%5E', '%' => '%25', ' ' => '%20', "\0" => '%00', - - 'まつもと' => '%E3%81%BE%E3%81%A4%E3%82%82%E3%81%A8', - }.each do |value, percent| - it "turns #{value.inspect} into #{percent}" do - params.instance_variable_set(:@query_pairs, [[:a, value]]) - expect(params.to_s).to eq("a=#{percent}") - end - end - - { - '.' => '%2E', '-' => '%2D', '_' => '%5F', '~' => '%7E', - }.each do |value, percent| - it "leaves #{value.inspect} instead of turning into #{percent}" do - params.instance_variable_set(:@query_pairs, [[:a, value]]) - expect(params.to_s).to eq("a=#{value}") - end - end - end - - context "when no escape" do - before { params.instance_variable_set(:@query_pairs, [[:a, 1], [:b, 2]]) } - - it "returns concatenated query string" do - expect(params.to_s).to eq("a=1&b=2") - end - end - end - - context "when query_pairs contains a string" do - before { params.instance_variable_set(:@query_pairs, ["{a: 1}"]) } - - it "returns correct string" do - expect(params.to_s).to eq("{a: 1}") - end - end - end - - describe "#build_query_pairs" do - let(:pairs) { params.method(:build_query_pairs).call(hash) } - - context "when params is empty" do - it "returns empty array" do - expect(pairs).to eq([]) - end - end - - context "when params is string" do - let(:hash) { "{a: 1}" } - - it "wraps it in an array" do - expect(pairs).to eq([hash]) - end - end - - context "when params is simple hash" do - let(:hash) { {:a => 1, :b => 2} } - - it "transforms" do - expect(pairs).to include([:a, 1]) - expect(pairs).to include([:b, 2]) - end - end - - context "when params is a nested hash" do - let(:hash) { {:a => 1, :b => {:c => 2}} } - - it "transforms" do - expect(pairs).to include([:a, 1]) - expect(pairs).to include(["b[c]", 2]) - end - end - - context "when params contains an array" do - let(:hash) { {:a => 1, :b => [2, 3]} } - - context "by default" do - it "transforms" do - expect(pairs).to include([:a, 1]) - expect(pairs).to include(["b[0]", 2]) - expect(pairs).to include(["b[1]", 3]) - end - end - - context "when params_encoding is :rack" do - before { params.params_encoding = :rack } - it "transforms without indexes" do - expect(pairs).to include([:a, 1]) - expect(pairs).to include(["b[]", 2]) - expect(pairs).to include(["b[]", 3]) - end - end - - context "when params_encoding is :none" do - before { params.params_encoding = :none } - it "does no transformation" do - expect(pairs).to include([:a, 1]) - expect(pairs).to include([:b, [2, 3]]) - end - end - end - - context "when params contains something nested in an array" do - context "when string" do - let(:hash) { {:a => {:b => ["hello", "world"]}} } - - it "transforms" do - expect(pairs).to eq([["a[b][0]", "hello"], ["a[b][1]", "world"]]) - end - end - - context "when hash" do - let(:hash) { {:a => {:b => [{:c =>1}, {:d => 2}]}} } - - it "transforms" do - expect(pairs).to eq([["a[b][0][c]", 1], ["a[b][1][d]", 2]]) - end - end - - context "when file" do - let(:file) { File.open("spec/spec_helper.rb") } - let(:file_info) { params.method(:file_info).call(file) } - let(:hash) { {:a => {:b => [file]}} } - let(:mime_type) { file_info[1] } - - it "transforms" do - expect(pairs).to eq([["a[b][0]", file_info]]) - end - - context "when MIME" do - if defined?(MIME) - context "when mime type" do - it "sets mime type to text" do - expect(mime_type).to eq("application/x-ruby") - end - end - end - - context "when no mime type" do - let(:file) { Tempfile.new("fubar") } - - it "sets mime type to default application/octet-stream" do - expect(mime_type).to eq("application/octet-stream") - end - end - end - - context "when no MIME" do - before { hide_const("MIME") } - - it "sets mime type to default application/octet-stream" do - expect(mime_type).to eq("application/octet-stream") - end - end - end - end - - - context "when params contains file" do - let(:file) { Tempfile.new("fubar") } - let(:file_info) { params.method(:file_info).call(file) } - let(:hash) { {:a => 1, :b => file} } - - it "transforms" do - expect(pairs).to include([:a, 1]) - expect(pairs).to include([:b, file_info]) - end - end - - context "when params key contains a null byte" do - let(:hash) { {:a => "1\0" } } - - it "preserves" do - expect(pairs).to eq([[:a, "1\0"]]) - end - end - - context "when params value contains a null byte" do - let(:hash) { {"a\0" => 1 } } - - it "preserves" do - expect(pairs).to eq([["a\0", 1]]) - end - end - end - - describe "#empty?" do - context "when params empty" do - it "returns true" do - expect(params.empty?).to be_truthy - end - end - - context "when params not empty" do - let(:hash) { {:a => 1} } - - it "returns false" do - expect(params.empty?).to be_falsey - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb deleted file mode 100644 index f142fad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb +++ /dev/null @@ -1,152 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::ResponseCallbacks do - let(:easy) { Ethon::Easy.new } - - [:on_complete, :on_headers, :on_body, :on_progress].each do |callback_type| - describe "##{callback_type}" do - it "responds" do - expect(easy).to respond_to("#{callback_type}") - end - - context "when no block given" do - it "returns @#{callback_type}" do - expect(easy.send("#{callback_type}")).to eq([]) - end - end - - context "when block given" do - it "stores" do - easy.send(callback_type) { p 1 } - expect(easy.instance_variable_get("@#{callback_type}").size).to eq(1) - end - end - - context "when multiple blocks given" do - it "stores" do - easy.send(callback_type) { p 1 } - easy.send(callback_type) { p 2 } - expect(easy.instance_variable_get("@#{callback_type}").size).to eq(2) - end - end - end - end - - describe "#complete" do - before do - easy.on_complete {|r| String.new(r.url) } - end - - it "executes blocks and passes self" do - expect(String).to receive(:new).with(easy.url) - easy.complete - end - - context "when @on_complete nil" do - it "doesn't raise" do - easy.instance_variable_set(:@on_complete, nil) - expect{ easy.complete }.to_not raise_error - end - end - end - - describe "#headers" do - before do - easy.on_headers {|r| String.new(r.url) } - end - - it "executes blocks and passes self" do - expect(String).to receive(:new).with(easy.url) - easy.headers - end - - context "when @on_headers nil" do - it "doesn't raise" do - easy.instance_variable_set(:@on_headers, nil) - expect{ easy.headers }.to_not raise_error - end - end - end - - describe "#progress" do - context "when requesting for realz" do - it "executes callback" do - post = Ethon::Easy::Http::Post.new("http://localhost:3001", {:body => "bar=fu"}) - post.setup(easy) - @called = false - @has_dltotal = false - @has_ultotal = false - easy.on_progress { @called = true } - easy.on_progress { |dltotal, _, _, _| @has_dltotal ||= true } - easy.on_progress { |_, _, ultotal, _| @has_ultotal ||= true } - easy.perform - expect(@called).to be true - expect(@has_dltotal).to be true - expect(@has_ultotal).to be true - end - end - - context "when pretending" do - before do - @dltotal = nil - @dlnow = nil - @ultotal = nil - @ulnow = nil - easy.on_progress { |dltotal, dlnow, ultotal, ulnow| @dltotal = dltotal ; @dlnow = dlnow; @ultotal = ultotal; @ulnow = ulnow } - end - - it "executes blocks and passes dltotal" do - easy.progress(1, 2, 3, 4) - expect(@dltotal).to eq(1) - end - - it "executes blocks and passes dlnow" do - easy.progress(1, 2, 3, 4) - expect(@dlnow).to eq(2) - end - - it "executes blocks and passes ultotal" do - easy.progress(1, 2, 3, 4) - expect(@ultotal).to eq(3) - end - - it "executes blocks and passes ulnow" do - easy.progress(1, 2, 3, 4) - expect(@ulnow).to eq(4) - end - - context "when @on_progress nil" do - it "doesn't raise" do - easy.instance_variable_set(:@on_progress, nil) - expect{ easy.progress(1, 2, 3, 4) }.to_not raise_error - end - end - end - end - - describe "#body" do - before do - @chunk = nil - @r = nil - easy.on_body { |chunk, r| @chunk = chunk ; @r = r } - end - - it "executes blocks and passes self" do - easy.body("the chunk") - expect(@r).to be(easy) - end - - it "executes blocks and passes chunk" do - easy.body("the chunk") - expect(@chunk).to eq("the chunk") - end - - context "when @on_body nil" do - it "doesn't raise" do - easy.instance_variable_set(:@on_body, nil) - expect{ easy.body("the chunk") }.to_not raise_error - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb deleted file mode 100644 index 048c5bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy::Util do - class Dummy - include Ethon::Easy::Util - end - - let(:klass) { Dummy.new } - - describe "escape_zero_byte" do - context "when value has no zero byte" do - let(:value) { "hello world" } - - it "returns same value" do - expect(klass.escape_zero_byte(value)).to be(value) - end - end - - context "when value has zero byte" do - let(:value) { "hello \0world" } - - it "returns escaped" do - expect(klass.escape_zero_byte(value)).to eq("hello \\0world") - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb deleted file mode 100644 index c0e9565..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb +++ /dev/null @@ -1,203 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Easy do - let(:easy) { Ethon::Easy.new } - - describe ".new" do - it "inits curl" do - expect(Ethon::Curl).to receive(:init) - easy - end - - context "when options are empty" do - it "sets only callbacks" do - expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks) - expect(Ethon::Easy).to receive(:set_option).never - easy - end - end - - context "when options not empty" do - context "when followlocation is set" do - let(:options) { { :followlocation => true } } - let(:easy) { Ethon::Easy.new(options) } - - it "sets followlocation" do - expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks) - expect(Ethon::Curl).to receive(:set_option).with(:followlocation, true, anything) - easy - end - end - end - end - - describe "#set_attributes" do - context "when options are empty" do - it "sets only callbacks" do - expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks) - expect(Ethon::Easy).to receive(:set_option).never - easy - end - end - - context "when options aren't empty" do - context "when valid key" do - it "sets" do - expect(easy).to receive(:verbose=).with(true) - easy.set_attributes({:verbose => true}) - end - end - - context "when invalid key" do - it "raises invalid option error" do - expect{ easy.set_attributes({:fubar => 1}) }.to raise_error(Ethon::Errors::InvalidOption) - end - end - end - end - - describe "#reset" do - before { easy.url = "www.example.com" } - - it "resets url" do - easy.reset - expect(easy.url).to be_nil - end - - it "resets escape?" do - easy.escape = false - easy.reset - expect(easy.escape?).to be_truthy - end - - it "resets hash" do - easy.reset - expect(easy.instance_variable_get(:@hash)).to be_nil - end - - it "resets easy handle" do - expect(Ethon::Curl).to receive(:easy_reset) - easy.reset - end - - it "resets on_complete" do - easy.on_complete { p 1 } - easy.reset - expect(easy.on_complete).to be_empty - end - - it "resets on_headers" do - easy.on_headers { p 1 } - easy.reset - expect(easy.on_headers).to be_empty - end - - it "resets on_body" do - easy.on_body { p 1 } - easy.reset - expect(easy.on_body).to be_empty - end - end - - describe "#dup" do - let!(:easy) do - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/" - easy.on_complete { 'on_complete' } - easy.on_headers { 'on_headers' } - easy.on_progress { 'on_progress' } - easy.response_body = String.new('test_body') - easy.response_headers = String.new('test_headers') - easy - end - let!(:e) { easy.dup } - - it "sets a new handle" do - expect(e.handle).not_to eq(easy.handle) - end - - it "preserves url" do - expect(e.url).to eq(easy.url) - end - - it "preserves on_complete callback" do - expect(e.on_complete).to be(easy.on_complete) - end - - it "preserves on_headers callback" do - expect(e.on_headers).to be(easy.on_headers) - end - - it 'preserves body_write_callback of original handle' do - expect { easy.perform }.to change { easy.response_body } - expect { easy.perform }.not_to change { e.response_body } - end - - it "preserves on_progress callback" do - expect(e.on_progress).to be(easy.on_progress) - end - - it 'sets new body_write_callback of duplicated handle' do - expect { e.perform }.to change { e.response_body } - expect { e.perform }.not_to change { easy.response_body } - end - - it 'preserves headers_write_callback of original handle' do - expect { easy.perform }.to change { easy.response_headers } - expect { easy.perform }.not_to change { e.response_headers } - end - - it 'sets new headers_write_callback of duplicated handle' do - expect { e.perform }.to change { e.response_headers } - expect { e.perform }.not_to change { easy.response_headers } - end - - it "resets response_body" do - expect(e.response_body).to be_empty - end - - it "resets response_headers" do - expect(e.response_headers).to be_empty - end - - it "sets response_body for duplicated Easy" do - e.perform - expect(e.response_body).not_to be_empty - end - - it "sets response_headers for duplicated Easy" do - e.perform - expect(e.response_headers).not_to be_empty - end - - it "preserves response_body for original Easy" do - e.perform - expect(easy.response_body).to eq('test_body') - end - - it "preserves response_headers for original Easy" do - e.perform - expect(easy.response_headers).to eq('test_headers') - end - end - - describe "#mirror" do - it "returns a Mirror" do - expect(easy.mirror).to be_a(Ethon::Easy::Mirror) - end - - it "builds from easy" do - expect(Ethon::Easy::Mirror).to receive(:from_easy).with(easy) - easy.mirror - end - end - - describe "#log_inspect" do - [ :url, :response_code, :return_code, :total_time ].each do |name| - it "contains #{name}" do - expect(easy.log_inspect).to match name.to_s - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb deleted file mode 100644 index a323151..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Libc do - describe "#getdtablesize", :if => !Ethon::Curl.windows? do - it "returns an integer" do - expect(Ethon::Libc.getdtablesize).to be_a(Integer) - end - - it "returns bigger zero", :if => !Ethon::Curl.windows? do - expect(Ethon::Libc.getdtablesize).to_not be_zero - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb deleted file mode 100644 index 117cba3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true -require "spec_helper" - -describe Ethon::Loggable do - - describe "#logger=" do - - let(:logger) do - Logger.new($stdout).tap do |log| - log.level = Logger::INFO - end - end - - before do - Ethon.logger = logger - end - - it "sets the logger" do - expect(Ethon.logger).to eq(logger) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb deleted file mode 100644 index 781b62a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb +++ /dev/null @@ -1,298 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Multi::Operations do - let(:multi) { Ethon::Multi.new } - let(:easy) { Ethon::Easy.new } - let(:pointer) { FFI::MemoryPointer.new(:int) } - - describe "#handle" do - it "returns a pointer" do - expect(multi.handle).to be_a(FFI::Pointer) - end - end - - describe "#running_count" do - context "when hydra has no easy" do - it "returns nil" do - expect(multi.send(:running_count)).to be_nil - end - end - - context "when hydra has easy" do - before do - easy.url = "http://localhost:3001/" - multi.add(easy) - multi.send(:trigger, pointer) - end - - it "returns 1" do - expect(multi.send(:running_count)).to eq(1) - end - end - - context "when hydra has more easys" do - let(:another_easy) { Ethon::Easy.new } - - before do - easy.url = "http://localhost:3001/" - another_easy.url = "http://localhost:3001/" - multi.add(easy) - multi.add(another_easy) - multi.send(:trigger, pointer) - end - - it "returns 2" do - expect(multi.send(:running_count)).to eq(2) - end - end - end - - describe "#get_timeout" do - context "when code ok" do - let(:timeout) { 1 } - - before do - expect(Ethon::Curl).to receive(:multi_timeout).and_return(:ok) - multi.instance_variable_set(:@timeout, double(:read_long => timeout)) - end - - it "doesn't raise" do - expect{ multi.send(:get_timeout) }.to_not raise_error - end - - context "when timeout smaller zero" do - let(:timeout) { -1 } - - it "returns 1" do - expect(multi.send(:get_timeout)).to eq(1) - end - end - - context "when timeout bigger or equal zero" do - let(:timeout) { 2 } - - it "returns timeout" do - expect(multi.send(:get_timeout)).to eq(timeout) - end - end - end - - context "when code not ok" do - before { expect(Ethon::Curl).to receive(:multi_timeout).and_return(:not_ok) } - - it "raises MultiTimeout error" do - expect{ multi.send(:get_timeout) }.to raise_error(Ethon::Errors::MultiTimeout) - end - end - end - - describe "#set_fds" do - let(:timeout) { 1 } - let(:max_fd) { 1 } - - context "when code ok" do - before { expect(Ethon::Curl).to receive(:multi_fdset).and_return(:ok) } - - it "doesn't raise" do - expect{ multi.method(:set_fds).call(timeout) }.to_not raise_error - end - - context "when max_fd -1" do - let(:max_fd) { -1 } - - before do - multi.instance_variable_set(:@max_fd, double(:read_int => max_fd)) - expect(multi).to receive(:sleep).with(0.001) - end - - it "waits 100ms" do - multi.method(:set_fds).call(timeout) - end - end - - context "when max_fd not -1" do - context "when code smaller zero" do - before { expect(Ethon::Curl).to receive(:select).and_return(-1) } - - it "raises Select error" do - expect{ multi.method(:set_fds).call(timeout) }.to raise_error(Ethon::Errors::Select) - end - end - - context "when code bigger or equal zero" do - before { expect(Ethon::Curl).to receive(:select).and_return(0) } - - it "doesn't raise" do - expect{ multi.method(:set_fds).call(timeout) }.to_not raise_error - end - end - end - end - - context "when code not ok" do - before { expect(Ethon::Curl).to receive(:multi_fdset).and_return(:not_ok) } - - it "raises MultiFdset error" do - expect{ multi.method(:set_fds).call(timeout) }.to raise_error(Ethon::Errors::MultiFdset) - end - end - end - - describe "#perform" do - context "when no easy handles" do - it "returns nil" do - expect(multi.perform).to be_nil - end - - it "logs" do - expect(Ethon.logger).to receive(:debug).twice - multi.perform - end - end - - context "when easy handle" do - before do - easy.url = "http://localhost:3001/" - multi.add(easy) - end - - it "requests" do - multi.perform - end - - it "sets easy" do - multi.perform - expect(easy.response_code).to eq(200) - end - end - - context "when four easy handles" do - let(:easies) do - ary = [] - 4.times do - ary << another_easy = Ethon::Easy.new - another_easy.url = "http://localhost:3001/" - end - ary - end - - before do - easies.each { |e| multi.add(e) } - multi.perform - end - - it "sets response codes" do - expect(easies.all?{ |e| e.response_code == 200 }).to be_truthy - end - end - end - - describe "#ongoing?" do - context "when easy_handles" do - before { multi.easy_handles << 1 } - - context "when running_count not greater 0" do - before { multi.instance_variable_set(:@running_count, 0) } - - it "returns true" do - expect(multi.method(:ongoing?).call).to be_truthy - end - end - - context "when running_count greater 0" do - before { multi.instance_variable_set(:@running_count, 1) } - - it "returns true" do - expect(multi.method(:ongoing?).call).to be_truthy - end - end - end - - context "when no easy_handles" do - context "when running_count not greater 0" do - before { multi.instance_variable_set(:@running_count, 0) } - - it "returns false" do - expect(multi.method(:ongoing?).call).to be_falsey - end - end - - context "when running_count greater 0" do - before { multi.instance_variable_set(:@running_count, 1) } - - it "returns true" do - expect(multi.method(:ongoing?).call).to be_truthy - end - end - end - end - - describe "#init_vars" do - it "sets @timeout" do - expect(multi.instance_variable_get(:@timeout)).to be_a(FFI::MemoryPointer) - end - - it "sets @timeval" do - expect(multi.instance_variable_get(:@timeval)).to be_a(Ethon::Curl::Timeval) - end - - it "sets @fd_read" do - expect(multi.instance_variable_get(:@fd_read)).to be_a(Ethon::Curl::FDSet) - end - - it "sets @fd_write" do - expect(multi.instance_variable_get(:@fd_write)).to be_a(Ethon::Curl::FDSet) - end - - it "sets @fd_excep" do - expect(multi.instance_variable_get(:@fd_excep)).to be_a(Ethon::Curl::FDSet) - end - - it "sets @max_fd" do - expect(multi.instance_variable_get(:@max_fd)).to be_a(FFI::MemoryPointer) - end - end - - describe "#reset_fds" do - after { multi.method(:reset_fds).call } - - it "resets @fd_read" do - expect(multi.instance_variable_get(:@fd_read)).to receive(:clear) - end - - it "resets @fd_write" do - expect(multi.instance_variable_get(:@fd_write)).to receive(:clear) - end - - it "resets @fd_excep" do - expect(multi.instance_variable_get(:@fd_excep)).to receive(:clear) - end - end - - describe "#check" do - it { skip("untested") } - end - - describe "#run" do - it { skip("untested") } - end - - describe "#trigger" do - it "calls multi perform" do - expect(Ethon::Curl).to receive(:multi_perform) - multi.send(:trigger, pointer) - end - - it "sets running count" do - multi.instance_variable_set(:@running_count, nil) - multi.send(:trigger, pointer) - expect(multi.instance_variable_get(:@running_count)).to_not be_nil - end - - it "returns multi perform code" do - expect(Ethon::Curl).to receive(:multi_perform).and_return(:ok) - expect(multi.send(:trigger, pointer)).to eq(:ok) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb deleted file mode 100644 index b4832c6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb +++ /dev/null @@ -1,182 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Multi::Options do - let(:multi) { Ethon::Multi.new } - - [ - :maxconnects, :pipelining, :socketdata, :socketfunction, - :timerdata, :timerfunction, :max_total_connections - ].each do |name| - describe "#{name}=" do - it "responds_to" do - expect(multi).to respond_to("#{name}=") - end - - it "sets option" do - expect(Ethon::Curl).to receive(:set_option).with(name, anything, anything, anything) - multi.method("#{name}=").call(1) - end - end - end - - context "socket_action mode" do - let(:multi) { Ethon::Multi.new(execution_mode: :socket_action) } - - describe "#socketfunction callbacks" do - it "allows multi_code return values" do - calls = [] - multi.socketfunction = proc do |handle, sock, what, userp, socketp| - calls << what - :ok - end - - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - multi.add(easy) - expect(calls).to eq([]) - 5.times do - multi.socket_action - break unless calls.empty? - sleep 0.1 - end - expect(calls.last).to eq(:in).or(eq(:out)) - multi.delete(easy) - expect(calls.last).to eq(:remove) - end - - it "allows integer return values (compatibility)" do - called = false - multi.socketfunction = proc do |handle, sock, what, userp, socketp| - called = true - 0 - end - - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - multi.add(easy) - 5.times do - multi.socket_action - break if called - sleep 0.1 - end - multi.delete(easy) - - expect(called).to be_truthy - end - - it "errors on invalid return codes" do - called = false - multi.socketfunction = proc do |handle, sock, what, userp, socketp| - called = true - "hi" - end - - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - multi.add(easy) - expect { - 5.times do - multi.socket_action - break if called - sleep 0.1 - end - }.to raise_error(ArgumentError) - expect { multi.delete(easy) }.to raise_error(ArgumentError) - end - end - - describe "#timerfunction callbacks" do - it "allows multi_code return values" do - calls = [] - multi.timerfunction = proc do |handle, timeout_ms, userp| - calls << timeout_ms - :ok - end - - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - multi.add(easy) - expect(calls.last).to be >= 0 # adds an immediate timeout - - multi.delete(easy) - expect(calls.last).to eq(-1) # cancels the timer - end - - it "allows integer return values (compatibility)" do - called = false - multi.timerfunction = proc do |handle, timeout_ms, userp| - called = true - 0 - end - - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - multi.add(easy) - multi.socket_action - multi.delete(easy) - - expect(called).to be_truthy - end - - it "errors on invalid return codes" do - called = false - multi.timerfunction = proc do |handle, timeout_ms, userp| - called = true - "hi" - end - - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - expect { multi.add(easy) }.to raise_error(ArgumentError) - end - end - end - - describe "#value_for" do - context "when option in bool" do - context "when value true" do - let(:value) { true } - - it "returns 1" do - expect(multi.method(:value_for).call(value, :bool)).to eq(1) - end - end - - context "when value false" do - let(:value) { false } - - it "returns 0" do - expect(multi.method(:value_for).call(value, :bool)).to eq(0) - end - end - end - - - context "when value in int" do - let(:value) { "2" } - - it "returns value casted to int" do - expect(multi.method(:value_for).call(value, :int)).to eq(2) - end - end - - context "when value in unspecific_options" do - context "when value a string" do - let(:value) { "www.example.\0com" } - - it "returns zero byte escaped string" do - expect(multi.method(:value_for).call(value, nil)).to eq("www.example.\\0com") - end - end - - context "when value not a string" do - let(:value) { 1 } - - it "returns value" do - expect(multi.method(:value_for).call(value, nil)).to eq(1) - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb deleted file mode 100644 index 5eb5900..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb +++ /dev/null @@ -1,80 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Multi::Stack do - let(:multi) { Ethon::Multi.new } - let(:easy) { Ethon::Easy.new } - - describe "#add" do - context "when easy already added" do - before { multi.add(easy) } - - it "returns nil" do - expect(multi.add(easy)).to be_nil - end - end - - context "when easy new" do - it "adds easy to multi" do - expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:ok) - multi.add(easy) - end - - it "adds easy to easy_handles" do - multi.add(easy) - expect(multi.easy_handles).to include(easy) - end - end - - context "when multi_add_handle fails" do - it "raises multi add error" do - expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:bad_easy_handle) - expect{ multi.add(easy) }.to raise_error(Ethon::Errors::MultiAdd) - end - end - - context "when multi cleaned up before" do - it "raises multi add error" do - Ethon::Curl.multi_cleanup(multi.handle) - expect{ multi.add(easy) }.to raise_error(Ethon::Errors::MultiAdd) - end - end - end - - describe "#delete" do - context "when easy in easy_handles" do - before { multi.add(easy) } - - it "deletes easy from multi" do - expect(Ethon::Curl).to receive(:multi_remove_handle).and_return(:ok) - multi.delete(easy) - end - - it "deletes easy from easy_handles" do - multi.delete(easy) - expect(multi.easy_handles).to_not include(easy) - end - end - - context "when easy is not in easy_handles" do - it "does nothing" do - expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:ok) - multi.add(easy) - end - - it "adds easy to easy_handles" do - multi.add(easy) - expect(multi.easy_handles).to include(easy) - end - end - - context "when multi_remove_handle fails" do - before { multi.add(easy) } - - it "raises multi remove error" do - expect(Ethon::Curl).to receive(:multi_remove_handle).and_return(:bad_easy_handle) - expect{ multi.delete(easy) }.to raise_error(Ethon::Errors::MultiRemove) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb deleted file mode 100644 index a483357..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb +++ /dev/null @@ -1,152 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Ethon::Multi do - describe ".new" do - it "inits curl" do - expect(Ethon::Curl).to receive(:init) - Ethon::Multi.new - end - - context "with default options" do - it "allows running #perform with the default execution_mode" do - Ethon::Multi.new.perform - end - - it "refuses to run #socket_action" do - expect { Ethon::Multi.new.socket_action }.to raise_error(ArgumentError) - end - end - - context "when options not empty" do - context "when pipelining is set" do - let(:options) { { :pipelining => true } } - - it "sets pipelining" do - expect_any_instance_of(Ethon::Multi).to receive(:pipelining=).with(true) - Ethon::Multi.new(options) - end - end - - context "when execution_mode option is :socket_action" do - let(:options) { { :execution_mode => :socket_action } } - let(:multi) { Ethon::Multi.new(options) } - - it "refuses to run #perform" do - expect { multi.perform }.to raise_error(ArgumentError) - end - - it "allows running #socket_action" do - multi.socket_action - end - end - end - end - - describe "#socket_action" do - let(:options) { { :execution_mode => :socket_action } } - let(:select_state) { { :readers => [], :writers => [], :timeout => 0 } } - let(:multi) { - multi = Ethon::Multi.new(options) - multi.timerfunction = proc do |handle, timeout_ms, userp| - timeout_ms = nil if timeout_ms == -1 - select_state[:timeout] = timeout_ms - :ok - end - multi.socketfunction = proc do |handle, sock, what, userp, socketp| - case what - when :remove - select_state[:readers].delete(sock) - select_state[:writers].delete(sock) - when :in - select_state[:readers].push(sock) unless select_state[:readers].include? sock - select_state[:writers].delete(sock) - when :out - select_state[:readers].delete(sock) - select_state[:writers].push(sock) unless select_state[:writers].include? sock - when :inout - select_state[:readers].push(sock) unless select_state[:readers].include? sock - select_state[:writers].push(sock) unless select_state[:writers].include? sock - else - raise ArgumentError, "invalid value for 'what' in socketfunction callback" - end - :ok - end - multi - } - - def fds_to_ios(fds) - fds.map do |fd| - IO.for_fd(fd).tap { |io| io.autoclose = false } - end - end - - def perform_socket_action_until_complete - multi.socket_action # start things off - - while multi.ongoing? - readers, writers, _ = IO.select( - fds_to_ios(select_state[:readers]), - fds_to_ios(select_state[:writers]), - [], - select_state[:timeout] - ) - - to_notify = Hash.new { |hash, key| hash[key] = [] } - unless readers.nil? - readers.each do |reader| - to_notify[reader] << :in - end - end - unless writers.nil? - writers.each do |writer| - to_notify[writer] << :out - end - end - - to_notify.each do |io, readiness| - multi.socket_action(io, readiness) - end - - # if we didn't have anything to notify, then we timed out - multi.socket_action if to_notify.empty? - end - ensure - multi.easy_handles.dup.each do |h| - multi.delete(h) - end - end - - it "supports an end-to-end request" do - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/" - multi.add(easy) - - perform_socket_action_until_complete - - expect(multi.ongoing?).to eq(false) - end - - it "supports multiple concurrent requests" do - handles = [] - 10.times do - easy = Ethon::Easy.new - easy.url = "http://localhost:3001/?delay=1" - multi.add(easy) - handles << easy - end - - start = Time.now - perform_socket_action_until_complete - duration = Time.now - start - - # these should have happened concurrently - expect(duration).to be < 2 - expect(multi.ongoing?).to eq(false) - - handles.each do |handle| - expect(handle.response_code).to eq(200) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/spec_helper.rb deleted file mode 100644 index 55bc9ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/spec_helper.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true -$LOAD_PATH.unshift(File.dirname(__FILE__)) -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib")) - -require 'bundler' -Bundler.setup -require "ethon" -require 'rspec' - -if defined? require_relative - require_relative 'support/localhost_server' - require_relative 'support/server' -else - require 'support/localhost_server' - require 'support/server' -end - -# Ethon.logger = Logger.new($stdout).tap do |log| -# log.level = Logger::DEBUG -# end - -RSpec.configure do |config| - # config.order = :rand - - config.before(:suite) do - LocalhostServer.new(TESTSERVER.new, 3001) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/support/localhost_server.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/support/localhost_server.rb deleted file mode 100644 index a7b119a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/support/localhost_server.rb +++ /dev/null @@ -1,95 +0,0 @@ -# frozen_string_literal: true -require 'rack' -require 'rack/handler/webrick' -require 'net/http' - -# The code for this is inspired by Capybara's server: -# http://github.com/jnicklas/capybara/blob/0.3.9/lib/capybara/server.rb -class LocalhostServer - READY_MESSAGE = "Server ready" - - class Identify - def initialize(app) - @app = app - end - - def call(env) - if env["PATH_INFO"] == "/__identify__" - [200, {}, [LocalhostServer::READY_MESSAGE]] - else - @app.call(env) - end - end - end - - attr_reader :port - - def initialize(rack_app, port = nil) - @port = port || find_available_port - @rack_app = rack_app - concurrently { boot } - wait_until(10, "Boot failed.") { booted? } - end - - private - - def find_available_port - server = TCPServer.new('127.0.0.1', 0) - server.addr[1] - ensure - server.close if server - end - - def boot - # Use WEBrick since it's part of the ruby standard library and is available on all ruby interpreters. - options = { :Port => port } - options.merge!(:AccessLog => [], :Logger => WEBrick::BasicLog.new(StringIO.new)) unless ENV['VERBOSE_SERVER'] - Rack::Handler::WEBrick.run(Identify.new(@rack_app), **options) - end - - def booted? - res = ::Net::HTTP.get_response("localhost", '/__identify__', port) - if res.is_a?(::Net::HTTPSuccess) or res.is_a?(::Net::HTTPRedirection) - return res.body == READY_MESSAGE - end - rescue Errno::ECONNREFUSED, Errno::EBADF - return false - end - - def concurrently - if should_use_subprocess? - pid = Process.fork do - trap(:INT) { ::Rack::Handler::WEBrick.shutdown } - yield - exit # manually exit; otherwise this sub-process will re-run the specs that haven't run yet. - end - - at_exit do - Process.kill('INT', pid) - begin - Process.wait(pid) - rescue Errno::ECHILD - # ignore this error...I think it means the child process has already exited. - end - end - else - Thread.new { yield } - end - end - - def should_use_subprocess? - # !ENV['THREADED'] - false - end - - def wait_until(timeout, error_message, &block) - start_time = Time.now - - while true - return if yield - raise TimeoutError.new(error_message) if (Time.now - start_time) > timeout - sleep(0.05) - end - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/support/server.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/support/server.rb deleted file mode 100644 index ab8ffd3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ethon-0.16.0/spec/support/server.rb +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true -require 'json' -require 'zlib' -require 'sinatra/base' - -TESTSERVER = Sinatra.new do - set :logging, nil - - fail_count = 0 - - post '/file' do - { - 'content-type' => params[:file][:type], - 'filename' => params[:file][:filename], - 'content' => params[:file][:tempfile].read, - 'request-content-type' => request.env['CONTENT_TYPE'] - }.to_json - end - - get '/multiple-headers' do - [200, { 'Set-Cookie' => %w[ foo bar ], 'Content-Type' => 'text/plain' }, ['']] - end - - get '/fail/:number' do - if fail_count >= params[:number].to_i - "ok" - else - fail_count += 1 - error 500, "oh noes!" - end - end - - get '/fail_forever' do - error 500, "oh noes!" - end - - get '/redirect' do - redirect '/' - end - - post '/redirect' do - redirect '/' - end - - get '/bad_redirect' do - redirect '/bad_redirect' - end - - get '/auth_basic/:username/:password' do - @auth ||= Rack::Auth::Basic::Request.new(request.env) - # Check that we've got a basic auth, and that it's credentials match the ones - # provided in the request - if @auth.provided? && @auth.basic? && @auth.credentials == [ params[:username], params[:password] ] - # auth is valid - confirm it - true - else - # invalid auth - request the authentication - response['WWW-Authenticate'] = %(Basic realm="Testing HTTP Auth") - throw(:halt, [401, "Not authorized\n"]) - end - end - - get '/auth_ntlm' do - # we're just checking for the existence if NTLM auth header here. It's validation - # is too troublesome and really doesn't bother is much, it's up to libcurl to make - # it valid - response['WWW-Authenticate'] = 'NTLM' - is_ntlm_auth = /^NTLM/ =~ request.env['HTTP_AUTHORIZATION'] - true if is_ntlm_auth - throw(:halt, [401, "Not authorized\n"]) if !is_ntlm_auth - end - - get '/gzipped' do - req_env = request.env.to_json - z = Zlib::Deflate.new - gzipped_env = z.deflate(req_env, Zlib::FINISH) - z.close - response['Content-Encoding'] = 'gzip' - gzipped_env - end - - get '/**' do - sleep params["delay"].to_i if params.has_key?("delay") - request.env.merge!(:body => request.body.read).to_json - end - - head '/**' do - sleep params["delay"].to_i if params.has_key?("delay") - end - - put '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - post '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - delete '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - patch '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - options '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - route 'PURGE', '/**' do - request.env.merge!(:body => request.body.read).to_json - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/CHANGELOG.md deleted file mode 100644 index cd42c39..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/CHANGELOG.md +++ /dev/null @@ -1,179 +0,0 @@ -# Changelog - -## 1.2.7 (May 12, 2018) -* Fix segfault on large numbers of connections [#843] - -## 1.2.6 (April 30, 2018) -* *Fix segfault when an Exception is raised from unbind callback (for real this time!)* -* Fix race condition while initializing the machine [#756] -* Fix for newer compilers where bind() and std::bind() conflict [#830, #831] -* Be verbose about SSL connection errors [#807] -* Avoid explicitly calling class methods when in class scope -* Java: Add EM_PROTO_SSL/TLS definitions [#773, #791] -* Java: return zero when sending data to a closed connection [#475, #804] -* Pure Ruby: Connection::error? calls report_connection_error_status [#801] - -## 1.2.5 (July 27, 2017) -* Java: Use long for larger values in oneshot timer intervals [#784, #794] - -## 1.2.4 (July 27, 2017) -* Java: Add EM_PROTO_SSL/TLS definitions [#773, #791] -* Fix IPv6 UDP get_peername [#788] -* Allow for larger values in oneshot timer intervals [#784, #793] -* Update extconf.rb to allow MinGW builds with OpenSSL 1.1.0 [#785] - -## 1.2.3 (February 22, 2017) -* Pure Ruby: Add get_sockname [#308, #772] -* Fix segfault when an Exception is raised from unbind callback [#765, #766] -* Allow destructors to throw when compiling in >= C++11 [#767] - -## 1.2.2 (January 23, 2017) -* Java: Fix Fixnum deprecated warning in Ruby 2.4+ [#759] -* Fix uncaught C++ exception in file watcher and raise InvalidSignature [#512, #757] -* Fix connection count off-by-one for epoll and kqueue [#750] -* Fix uninitialized variable warning in EM::P::HttpClient [#749] -* Fix missing initial value for EventableDescriptor NextHeartbeat [#748] -* Fix hostname resolution on Solaris, Ilumos, SmartOS, et al [#745, #746] -* Improve reliability of tests, reduce public Internet accesses in tests [#656, #666, #749] - -## 1.2.1 (November 15, 2016) -* Throw strerror(errno) when getsockname or getpeername fail [#683] -* Use a single concrete implementation of getpeername/getsockname, the rest pure virtuals [#683] -* Use gai_strerror to get the failure string from getaddrinfo [#744] -* Fix deregistering descriptor when using KQUEUE [#728] -* Fix to enable to work an example code in EM::Pool [#731] -* LineText2: Add regular expression delimiter support [#706] -* Pure Ruby: EM rescue ECONNREFUSED on initial TCP connect [#741] -* Pure Ruby: EM SSL (working start_tls) [#712] -* Pure Ruby: EM fixes [#707] -* Java: Use Acceptors to get peer and sock names if not present in Connections [#743] - -## 1.2.0.1 (March 15, 2016) -* Fix crash when accepting IPv6 connections due to struct sockaddr_in [#698, #699] - -## 1.2.0 (March 15, 2016) -* Integrate work from the EventMachine-LE 1.1.x versions [#570] -* Add start_tls options :ecdh_curve, :dhparam, :fail_if_no_peer_cert [#195, #275, #399, #665] -* Add start_tls option :ssl_version for choosing SSL/TLS versions and ciphers [#359, #348, #603, #654] -* Add start_tls option :sni_hostname to be passed to TLS params [#593] -* Add method EM::Channel#num_subscribers to get the number of subscribers to a channel [#640] -* Add support for proc-sources in EM::Iterator [#639] -* Factor out method cleanup_machine to cleanup code from EM.run [#650] -* Replace Exception class with StandardError [#637] -* Close socket on close_connection even after close_connection_after_writing [#694] -* Allow reusing of datagram socket/setting bind device [#662] -* Handle deferred exceptions in reactor thread [#486] -* Reimplement Queue to avoid shift/push performance problem [#311] -* Windows: Switch from gethostbyname to getaddrinfo, support IPv6 addresses [#303, #630] -* Windows: Use rake-compiler-dock to cross-compile gems [#627] -* Windows: Add AppVeyor configuration for Windows CI testing [#578] -* Windows: Bump rake-compiler to version 0.9.x [#542] -* Fix compilation on AIX (w/ XLC) [#693] -* Fix build on OpenBSD [#690] -* Fix OpenSSL compile issue on AIX 7.1 [#678] -* Fix EventMachine.fork_reactor keeps the threadpool of the original process [#425] -* Fix to prevent event machine from stopping when a raise is done in an unbind [#327] - -## 1.0.9.1 (January 14, 2016) -* Fix EPROTO not defined on Windows [#676] -* Fix missing cast to struct sockaddr * [#671] -* Fix bug in OpenSSL path detection [#675] - -## 1.0.9 (January 13, 2016) -* Try more ways to detect OpenSSL [#602, #643, #661, #663, #668, #669] -* Use WSAGetLastError in pipe.cpp same as ed.cpp [#659] -* Test compiler flags with the C++ compiler and add them to CXXFLAGS [#634, #651] -* Restore silent-fail on unsupported EM.epoll and EM.kqueue [#638, #649] -* getDescriptorByFileno deprecated in JRuby 1.7.x, removed in JRuby 9000 [#642, #648] -* Add -Wno-address always-true because on Windows rb_fd_select [#578] -* Remove the WITHOUT_SSL constant [#578] -* Fix SSL error when the server replies a TLS Alert to our ClientHello [#544, #653] -* Use WSAStringToAddress in lieu of inet_pton for IPv6 address detection on Windows [#595, #632] -* Fix nasty TCP/IPv6 bug [#595, #632] -* Use select_large_fdset on Solaris [#611, #625] -* Detect the Solaris Studio compiler [#611, #625] -* Throw a message with strerror included [#136, #621] - -## 1.0.8 (August 6, 2015) -* fix kqueue assertion failed, postpone ArmKqueueWriter until all events are processed [#51, #176, #372, #401, #619] -* fix Rubinius GC, crank the machine from Ruby space when running Rubinius [#201, #202, #617] -* test to show that LineText2 preserves whitespace and newlines [#32, #622] -* bump up compiler warnings and resolve them [#616] -* fix Windows x64 use uintptr_t instead of unsigned long for binding pointers [#612, #615] -* fix linetext2 unroll tail recursion to avoid stack level too deep [#609] -* fix for compilation with SSL on windows [#601] -* open file descriptors and sockets with O_CLOEXEC where possible [#298, #488, #591] -* fix SmtpClient: send second EHLO after STARTTLS. [#589] -* fix nul-terminated strings in C, use StringValueCStr instead of StringValuePtr - -## 1.0.7 (February 10, 2015) -* fix delay in kqueue/epoll reactor shutdown when timers exist [#587] -* fix memory leak introduced in v1.0.5 [#586] -* expose EM.set_simultaneous_accept_count [#420] -* fix busy loop when EM.run and EM.next_tick are invoked from exception handler [#452] - -## 1.0.6 (February 3, 2015) -* add support for Rubinius Process::Status [#568] -* small bugfixes for SmtpServer [#449] -* update buftok.rb [#547] -* fix assertion on Write() [#525] -* work around mkmf.rb bug preventing gem installation [#574] -* add pause/resume support to jruby reactor [#556] -* fix pure ruby reactor to use 127.0.0.1 instead of localhost [#439] -* fix compilation under macruby [#243] -* add chunked encoding to http client [#111] -* fix errors on win32 when dealing with pipes [1ea45498] [#105] - -## 1.0.5 (February 2, 2015) -* use monotonic clocks on Linux, OS X, Solaris, and Windows [#563] -* use the rb_fd_* API to get autosized fd_sets [#502] -* add basic tests that the DNS resolver isn't leaking timers [#571] -* update to test-unit 2.x and improve various unit tests [#551] -* remove EventMachine_t::Popen code marked by ifdef OBSOLETE [#551] -* ruby 2.0 may fail at Queue.pop, so rescue and complain to $stderr [#551] -* set file handle to INVALID_HANDLE_VALUE after closing the file [#565] -* use `defined?` instead of rescuing NameError for flow control [#535] -* fix closing files and sockets on Windows [#564] -* fix file uploads in Windows [#562] -* catch failure to fork [#539] -* use chunks for SSL write [#545] - -## 1.0.4 (December 19, 2014) -* add starttls_options to smtp server [#552] -* fix closesocket on windows [#497] -* fix build on ruby 2.2 [#503] -* fix build error on ruby 1.9 [#508] -* fix timer leak during dns resolution [#489] -* add concurrency validation to EM::Iterator [#468] -* add get_file_descriptor to get fd for a signature [#467] -* add EM.attach_server and EM.attach_socket_server [#465, #466] -* calling pause from receive_data takes effect immediately [#464] -* reactor_running? returns false after fork [#455] -* fix infinite loop on double close [edc4d0e6, #441, #445] -* fix compilation issue on llvm [#433] -* fix socket error codes on win32 [ff811a81] -* fix EM.stop latency when timers exist [8b613d05, #426] -* fix infinite loop when system time changes [1427a2c80, #428] -* fix crash when callin attach/detach in the same tick [#427] -* fix compilation issue on solaris [#416] - -## 1.0.3 (March 8, 2013) -* EM.system was broken in 1.0.2 release [#413] - -## 1.0.2 (March 8, 2013) -* binary win32 gems now include fastfilereader shim [#222] -* fix long-standing connection timeout issues [27fdd5b, igrigorik/em-http-request#222] -* http and line protocol cleanups [#193, #151] -* reactor return value cleanup [#225] -* fix double require from gemspec [#284] -* fix smtp server reset behavior [#351] -* fix EM.system argument handling [#322] -* ruby 1.9 compat in smtp server and stomp protocols [#349, #315] -* fix pause from post_init [#380] - -## 1.0.1 (February 27, 2013) -* use rb_wait_for_single_fd() on ruby 2.0 to fix rb_thread_select() deprecation [#363] -* fix epoll/kqueue mode in ruby 2.0 by removing calls to rb_enable_interrupt() [#248, #389] -* fix memory leak when verifying ssl cerificates [#403] -* fix initial connection delay [#393, #374] -* fix build on windows [#371] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/GNU b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/GNU deleted file mode 100644 index 3b70c5b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/GNU +++ /dev/null @@ -1,281 +0,0 @@ -. - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your - freedom to share and change it. By contrast, the GNU General Public - License is intended to guarantee your freedom to share and change free - software--to make sure the software is free for all its users. This - General Public License applies to most of the Free Software - Foundation's software and to any other program whose authors commit to - using it. (Some other Free Software Foundation software is covered by - the GNU Lesser General Public License instead.) You can apply it to - your programs, too. - - When we speak of free software, we are referring to freedom, not - price. Our General Public Licenses are designed to make sure that you - have the freedom to distribute copies of free software (and charge for - this service if you wish), that you receive source code or can get it - if you want it, that you can change the software or use pieces of it - in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid - anyone to deny you these rights or to ask you to surrender the rights. - These restrictions translate to certain responsibilities for you if you - distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether - gratis or for a fee, you must give the recipients all the rights that - you have. You must make sure that they, too, receive or can get the - source code. And you must show them these terms so they know their - rights. - - We protect your rights with two steps: (1) copyright the software, and - (2) offer you this license which gives you legal permission to copy, - distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain - that everyone understands that there is no warranty for this free - software. If the software is modified by someone else and passed on, we - want its recipients to know that what they have is not the original, so - that any problems introduced by others will not reflect on the original - authors' reputations. - - Finally, any free program is threatened constantly by software - patents. We wish to avoid the danger that redistributors of a free - program will individually obtain patent licenses, in effect making the - program proprietary. To prevent this, we have made it clear that any - patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and - modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains - a notice placed by the copyright holder saying it may be distributed - under the terms of this General Public License. The "Program", below, - refers to any such program or work, and a "work based on the Program" - means either the Program or any derivative work under copyright law: - that is to say, a work containing the Program or a portion of it, - either verbatim or with modifications and/or translated into another - language. (Hereinafter, translation is included without limitation in - the term "modification".) Each licensee is addressed as "you". - - Activities other than copying, distribution and modification are not - covered by this License; they are outside its scope. The act of - running the Program is not restricted, and the output from the Program - is covered only if its contents constitute a work based on the - Program (independent of having been made by running the Program). - Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's - source code as you receive it, in any medium, provided that you - conspicuously and appropriately publish on each copy an appropriate - copyright notice and disclaimer of warranty; keep intact all the - notices that refer to this License and to the absence of any warranty; - and give any other recipients of the Program a copy of this License - along with the Program. - - You may charge a fee for the physical act of transferring a copy, and - you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion - of it, thus forming a work based on the Program, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Program, - and can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based - on the Program, the distribution of the whole must be on the terms of - this License, whose permissions for other licensees extend to the - entire whole, and thus to each and every part regardless of who wrote it. - - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Program. - - In addition, mere aggregation of another work not based on the Program - with the Program (or with a work based on the Program) on a volume of - a storage or distribution medium does not bring the other work under - the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, - under Section 2) in object code or executable form under the terms of - Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - - The source code for a work means the preferred form of the work for - making modifications to it. For an executable work, complete source - code means all the source code for all modules it contains, plus any - associated interface definition files, plus the scripts used to - control compilation and installation of the executable. However, as a - special exception, the source code distributed need not include - anything that is normally distributed (in either source or binary - form) with the major components (compiler, kernel, and so on) of the - operating system on which the executable runs, unless that component - itself accompanies the executable. - - If distribution of executable or object code is made by offering - access to copy from a designated place, then offering equivalent - access to copy the source code from the same place counts as - distribution of the source code, even though third parties are not - compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense or distribute the Program is - void, and will automatically terminate your rights under this License. - However, parties who have received copies, or rights, from you under - this License will not have their licenses terminated so long as such - parties remain in full compliance. - - 5. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify or - distribute the Program or its derivative works. These actions are - prohibited by law if you do not accept this License. Therefore, by - modifying or distributing the Program (or any work based on the - Program), you indicate your acceptance of this License to do so, and - all its terms and conditions for copying, distributing or modifying - the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the - Program), the recipient automatically receives a license from the - original licensor to copy, distribute or modify the Program subject to - these terms and conditions. You may not impose any further - restrictions on the recipients' exercise of the rights granted herein. - You are not responsible for enforcing compliance by third parties to - this License. - - 7. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot - distribute so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you - may not distribute the Program at all. For example, if a patent - license would not permit royalty-free redistribution of the Program by - all those who receive copies directly or indirectly through you, then - the only way you could satisfy both it and this License would be to - refrain entirely from distribution of the Program. - - If any portion of this section is held invalid or unenforceable under - any particular circumstance, the balance of the section is intended to - apply and the section as a whole is intended to apply in other - circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the free software distribution system, which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is willing - to distribute software through any other system and a licensee cannot - impose that choice. - - This section is intended to make thoroughly clear what is believed to - be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in - certain countries either by patents or by copyrighted interfaces, the - original copyright holder who places the Program under this License - may add an explicit geographical distribution limitation excluding - those countries, so that distribution is permitted only in or among - countries not thus excluded. In such case, this License incorporates - the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions - of the General Public License from time to time. Such new versions will - be similar in spirit to the present version, but may differ in detail to - address new problems or concerns. - - Each version is given a distinguishing version number. If the Program - specifies a version number of this License which applies to it and "any - later version", you have the option of following the terms and conditions - either of that version or of any later version published by the Free - Software Foundation. If the Program does not specify a version number of - this License, you may choose any version ever published by the Free Software - Foundation. - - 10. If you wish to incorporate parts of the Program into other free - programs whose distribution conditions are different, write to the author - to ask for permission. For software which is copyrighted by the Free - Software Foundation, write to the Free Software Foundation; we sometimes - make exceptions for this. Our decision will be guided by the two goals - of preserving the free status of all derivatives of our free software and - of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY - FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN - OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES - PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED - OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS - TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE - PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, - REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING - WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR - REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, - INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING - OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED - TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY - YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER - PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/LICENSE deleted file mode 100644 index fbe8c83..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/LICENSE +++ /dev/null @@ -1,60 +0,0 @@ -EventMachine is copyrighted free software owned by Francis Cianfrocca -(blackhedd ... gmail.com). The Owner of this software permits you to -redistribute and/or modify the software under either the terms of the GPL -version 2 (see the file GPL), or the conditions below ("Ruby License"): - - 1. You may make and give away verbatim copies of the source form of this - software without restriction, provided that you retain ALL of the - original copyright notices and associated disclaimers. - - 2. You may modify your copy of the software in any way, provided that - you do at least ONE of the following: - - a) place your modifications in the Public Domain or otherwise - make them Freely Available, such as by posting said - modifications to Usenet or an equivalent medium, or by allowing - the author to include your modifications in the software. - - b) use the modified software only within your corporation or - organization. - - c) give non-standard binaries non-standard names, with - instructions on where to get the original software distribution. - - d) make other distribution arrangements with the Owner. - - 3. You may distribute the software in object code or binary form, - provided that you do at least ONE of the following: - - a) distribute the binaries and library files of the software, - together with instructions (in a manual page or equivalent) - on where to get the original distribution. - - b) accompany the distribution with the machine-readable source of - the software. - - c) give non-standard binaries non-standard names, with - instructions on where to get the original software distribution. - - d) make other distribution arrangements with the Owner. - - 4. You may modify and include parts of the software into any other - software (possibly commercial), provided you comply with the terms in - Sections 1, 2, and 3 above. But some files in the distribution - are not written by the Owner, so they may be made available to you - under different terms. - - For the list of those files and their copying conditions, see the - file LEGAL. - - 5. The scripts and library files supplied as input to or produced as - output from the software do not automatically fall under the - copyright of the software, but belong to whoever generated them, - and may be sold commercially, and may be aggregated with this - software. - - 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/README.md deleted file mode 100644 index 4b17cb4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# About EventMachine [![Build Status](https://travis-ci.org/eventmachine/eventmachine.svg?branch=master)](https://travis-ci.org/eventmachine/eventmachine) [![Code Climate Maintainability](https://api.codeclimate.com/v1/badges/e9b0603462905d5b9118/maintainability)](https://codeclimate.com/github/eventmachine/eventmachine/maintainability) - - -## What is EventMachine ## - -EventMachine is an event-driven I/O and lightweight concurrency library for Ruby. -It provides event-driven I/O using the [Reactor pattern](http://en.wikipedia.org/wiki/Reactor_pattern), -much like [JBoss Netty](http://www.jboss.org/netty), [Apache MINA](http://mina.apache.org/), -Python's [Twisted](http://twistedmatrix.com), [Node.js](http://nodejs.org), libevent and libev. - -EventMachine is designed to simultaneously meet two key needs: - - * Extremely high scalability, performance and stability for the most demanding production environments. - * An API that eliminates the complexities of high-performance threaded network programming, - allowing engineers to concentrate on their application logic. - -This unique combination makes EventMachine a premier choice for designers of critical networked -applications, including Web servers and proxies, email and IM production systems, authentication/authorization -processors, and many more. - -EventMachine has been around since the early 2000s and is a mature and battle-tested library. - - -## What EventMachine is good for? ## - - * Scalable event-driven servers. Examples: [Thin](http://code.macournoyer.com/thin/) or [Goliath](https://github.com/postrank-labs/goliath/). - * Scalable asynchronous clients for various protocols, RESTful APIs and so on. Examples: [em-http-request](https://github.com/igrigorik/em-http-request) or [amqp gem](https://github.com/ruby-amqp/amqp). - * Efficient network proxies with custom logic. Examples: [Proxymachine](https://github.com/mojombo/proxymachine/). - * File and network monitoring tools. Examples: [eventmachine-tail](https://github.com/jordansissel/eventmachine-tail) and [logstash](https://github.com/logstash/logstash). - - - -## What platforms are supported by EventMachine? ## - -EventMachine supports Ruby 1.8.7 through 2.6, REE, JRuby and **works well on Windows** as well -as many operating systems from the Unix family (Linux, Mac OS X, BSD flavors). - - - -## Install the gem ## - -Install it with [RubyGems](https://rubygems.org/) - - gem install eventmachine - -or add this to your Gemfile if you use [Bundler](http://gembundler.com/): - - gem "eventmachine" - - - -## Getting started ## - -For an introduction to EventMachine, check out: - - * [blog post about EventMachine by Ilya Grigorik](http://www.igvita.com/2008/05/27/ruby-eventmachine-the-speed-demon/). - * [EventMachine Introductions by Dan Sinclair](http://everburning.com/news/eventmachine-introductions.html). - - -### Server example: Echo server ### - -Here's a fully-functional echo server written with EventMachine: - -```ruby - require 'eventmachine' - - module EchoServer - def post_init - puts "-- someone connected to the echo server!" - end - - def receive_data data - send_data ">>>you sent: #{data}" - close_connection if data =~ /quit/i - end - - def unbind - puts "-- someone disconnected from the echo server!" - end -end - -# Note that this will block current thread. -EventMachine.run { - EventMachine.start_server "127.0.0.1", 8081, EchoServer -} -``` - - -## EventMachine documentation ## - -Currently we only have [reference documentation](http://rdoc.info/github/eventmachine/eventmachine/frames) and a [wiki](https://github.com/eventmachine/eventmachine/wiki). - - -## Community and where to get help ## - - * Join the [mailing list](http://groups.google.com/group/eventmachine) (Google Group) - * Join IRC channel #eventmachine on irc.freenode.net - - -## License and copyright ## - -EventMachine is copyrighted free software made available under the terms -of either the GPL or Ruby's License. - -Copyright: (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. - - -## Alternatives ## - -If you are unhappy with EventMachine and want to use Ruby, check out [Celluloid](https://celluloid.io/). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/DocumentationGuidesIndex.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/DocumentationGuidesIndex.md deleted file mode 100644 index b8ce5a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/DocumentationGuidesIndex.md +++ /dev/null @@ -1,27 +0,0 @@ -# EventMachine documentation guides # - -Welcome to the documentation guides for [EventMachine](http://github.com/eventmachine/eventmachine), -a fast and simple event-processing library for Ruby programs (à la JBoss Netty, Twisted, Node.js -and so on). - -## Guide list ## - - * {file:docs/GettingStarted.md Getting started with EventMachine} - * {file:docs/EventDrivenServers.md Writing event-driven servers} - * {file:docs/EventDrivenClients.md Writing event-driven clients} - * {file:docs/ConnectionFailureAndRecovery.md Connection Failure and Recovery} - * {file:docs/TLS.md TLS (aka SSL)} - * {file:docs/Ecosystem.md EventMachine ecosystem}: Thin, Goliath, em-http-request, em-websockets, Proxymachine and beyond - * {file:docs/BlockingEventLoop.md On blocking the event loop: why it is harmful for performance and how to avoid it} - * {file:docs/LightweightConcurrency.md Lightweight concurrency with EventMachine} - * {file:docs/Deferrables.md Deferrables} - * {file:docs/ModernKernelInputOutputAPIs.md Brief introduction to epoll, kqueue, select} - * {file:docs/WorkingWithOtherIOSources.md Working with other IO sources such as the keyboard} - - -## Tell us what you think! ## - -Please take a moment and tell us what you think about this guide on the [EventMachine mailing list](http://bit.ly/jW3cR3) -or in the #eventmachine channel on irc.freenode.net: what was unclear? What wasn't covered? -Maybe you don't like the guide style or the grammar and spelling are incorrect? Reader feedback is -key to making documentation better. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/GettingStarted.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/GettingStarted.md deleted file mode 100644 index 63acbb7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/GettingStarted.md +++ /dev/null @@ -1,521 +0,0 @@ -# @title Getting Started with Ruby EventMachine -# @markup markdown -# @author Michael S. Klishin, Dan Sinclair - -# Getting started with Ruby EventMachine # - - -## About this guide ## - -This guide is a quick tutorial that helps you to get started with EventMachine for writing event-driven -servers, clients and using it as a lightweight concurrency library. -It should take about 20 minutes to read and study the provided code examples. This guide covers - - * Installing EventMachine via [Rubygems](http://rubygems.org) and [Bundler](http://gembundler.com). - * Building an Echo server, the "Hello, world"-like code example of network servers. - * Building a simple chat, both server and client. - * Building a very small asynchronous Websockets client. - - -## Covered versions ## - -This guide covers EventMachine v0.12.10 and 1.0 (including betas). - - -## Level ## - -This guide assumes you are comfortable (but not necessary a guru) with the command line. On Microsoft Windows™, -we recommend you to use [JRuby](http://jruby.org) when running these examples. - - -## Installing EventMachine ## - -### Make sure you have Ruby installed ### - -This guide assumes you have one of the supported Ruby implementations installed: - - * Ruby 1.8.7 - * Ruby 1.9.2 - * [JRuby](http://jruby.org) (we recommend 1.6) - * [Rubinius](http://rubini.us) 1.2 or higher - * [Ruby Enterprise Edition](http://www.rubyenterpriseedition.com) - -EventMachine works on Microsoft Windows™. - - -### With Rubygems ### - -To install the EventMachine gem do - - gem install eventmachine - - -### With Bundler ### - - gem "eventmachine" - - -### Verifying your installation ### - -Lets verify your installation with this quick IRB session: - - irb -rubygems - - ruby-1.9.2-p180 :001 > require "eventmachine" - => true - ruby-1.9.2-p180 :002 > EventMachine::VERSION - => "1.0.0.beta.3" - - -## An Echo Server Example ## - -Lets begin with the classic "Hello, world"-like example, an echo server. The echo server responds clients with the -same data that was provided. First, here's the code: - -{include:file:examples/guides/getting\_started/01\_eventmachine\_echo_server.rb} - - -When run, the server binds to port 10000. We can connect using Telnet and verify it's working: - - telnet localhost 10000 - -On my machine the output looks like: - - ~ telnet localhost 10000 - Trying 127.0.0.1... - Connected to localhost. - Escape character is '^]'. - -Let's send something to our server. Type in "Hello, EventMachine" and hit Enter. The server will respond with -the same string: - - ~ telnet localhost 10000 - Trying 127.0.0.1... - Connected to localhost. - Escape character is '^]'. - Hello, EventMachine - # (here we hit Enter) - Hello, EventMachine - # (this ^^^ is our echo server reply) - -It works! Congratulations, you now can tell your Node.js-loving friends that you "have done some event-driven programming, too". -Oh, and to stop Telnet, hit Control + Shift + ] and then Control + C. - -Lets walk this example line by line and see what's going on. These lines - - require 'rubygems' # or use Bundler.setup - require 'eventmachine' - -probably look familiar: you use [RubyGems](http://rubygems.org) (or [Bundler](http://gembundler.com/)) for dependencies and then require EventMachine gem. Boring. - -Next: - - class EchoServer < EventMachine::Connection - def receive_data(data) - send_data(data) - end - end - -Is the implementation of our echo server. We define a class that inherits from {EventMachine::Connection} -and a handler (aka callback) for one event: when we receive data from a client. - -EventMachine handles the connection setup, receiving data and passing it to our handler, {EventMachine::Connection#receive_data}. - -Then we implement our protocol logic, which in the case of Echo is pretty trivial: we send back whatever we receive. -To do so, we're using {EventMachine::Connection#send_data}. - -Lets modify the example to recognize `exit` command: - -{include:file:examples/guides/getting\_started/02\_eventmachine\_echo_server\_that\_recognizes\_exit\_command.rb} - -Our `receive\_data` changed slightly and now looks like this: - - def receive_data(data) - if data.strip =~ /exit$/i - EventMachine.stop_event_loop - else - send_data(data) - end - end - -Because incoming data has trailing newline character, we strip it off before matching it against a simple regular -expression. If the data ends in `exit`, we stop EventMachine event loop with {EventMachine.stop_event_loop}. This unblocks -main thread and it finishes execution, and our little program exits as the result. - -To summarize this first example: - - * Subclass {EventMachine::Connection} and override {EventMachine::Connection#send_data} to handle incoming data. - * Use {EventMachine.run} to start EventMachine event loop and then bind echo server with {EventMachine.start_server}. - * To stop the event loop, use {EventMachine.stop_event_loop} (aliased as {EventMachine.stop}) - -Lets move on to a slightly more sophisticated example that will introduce several more features and methods -EventMachine has to offer. - - -## A Simple Chat Server Example ## - -Next we will write a simple chat. Initially clients will still use telnet to connect, but then we will add little -client application that will serve as a proxy between telnet and the chat server. This example is certainly longer -(~ 150 lines with whitespace and comments) so instead of looking at the final version and going through it line by line, -we will instead begin with a very simple version that only keeps track of connected clients and then add features -as we go. - -To set some expectations about our example: - - * It will keep track of connected clients - * It will support a couple of commands, à la IRC - * It will support direct messages using Twitter-like @usernames - * It won't use MongoDB, fibers or distributed map/reduce for anything but will be totally [Web Scale™](http://bit.ly/webscaletm) nonetheless. Maybe even [ROFLscale](http://bit.ly/roflscalevideo). - -### Step one: detecting connections and disconnectons ### - -First step looks like this: - -{include:file:examples/guides/getting\_started/04\_simple\_chat\_server\_step\_one.rb} - -We see familiar {EventMachine.run} and {EventMachine.start_server}, but also {EventMachine::Connection#post_init} and {EventMachine::Connection#unbind} we haven't -met yet. We don't use them in this code, so when are they run? Like {EventMachine::Connection#receive_data}, these methods are callbacks. EventMachine calls them -when certain events happen: - - * {EventMachine#post_init} is called by the event loop immediately after the network connection has been established. - In the chat server example case, this is when a new client connects. - * {EventMachine#unbind} is called when client disconnects, connection is closed or is lost (because of a network issue, for example). - -All our chat server does so far is logging connections or disconnections. What we want it to do next is to keep track of connected clients. - - -### Step two: keep track of connected clients ### - -Next iteration of the code looks like this: - -{include:file:examples/guides/getting\_started/05\_simple\_chat\_server\_step\_two.rb} - -While the code we added is very straightforward, we have to clarify one this first: subclasses of {EventMachine::Connection} are instantiated by -EventMachine for every new connected peer. So for 10 connected chat clients, there will be 10 separate `SimpleChatServer` instances in our -server process. Like any other objects, they can be stored in a collection, can provide public API other objects use, can instantiate or inject -dependencies and in general live a happy life all Ruby objects live until garbage collection happens. - -In the example above we use a @@class_variable to keep track of connected clients. In Ruby, @@class variables are accessible from instance -methods so we can add new connections to the list from `SimpleChatServer#post_init` and remove them in `SimpleChatServer#unbind`. We can also -filter connections by some criteria, as `SimpleChatServer#other_peers demonstrates`. - -So, we keep track of connections but how do we identify them? For a chat app, it's pretty common to use usernames for that. Lets ask our clients -to enter usernames when they connect. - - -### Step three: adding usernames ## - -To add usernames, we need to add a few things: - - * We need to invite newly connected clients to enter their username. - * A reader (getter) method on our {EventMachine::Connection} subclass. - * An idea of connection state (keeping track of whether a particular participant had entered username before). - -Here is one way to do it: - -{include:file:examples/guides/getting\_started/06\_simple\_chat\_server\_step\_three.rb} - -This is quite an update so lets take a look at each method individually. First, `SimpleChatServer#post_init`: - - def post_init - @username = nil - puts "A client has connected..." - ask_username - end - -To keep track of username we ask chat participants for, we add @username instance variable to our connection class. Connection -instances are just Ruby objects associated with a particular connected peer, so using @ivars is very natural. To make username -value accessible to other objects, we added a reader method that was not shown on the snippet above. - -Lets dig into `SimpleChatServer#ask_username`: - - def ask_username - self.send_line("[info] Enter your username:") - end # ask_username - - # ... - - def send_line(line) - self.send_data("#{line}\n") - end # send_line(line) - -Nothing new here, we are using {EventMachine::Connection#send_data} which we have seen before. - - -In `SimpleChatServer#receive_data` we now have to check if the username was entered or we need -to ask for it: - - def receive_data(data) - if entered_username? - handle_chat_message(data.strip) - else - handle_username(data.strip) - end - end - - # ... - - def entered_username? - !@username.nil? && !@username.empty? - end # entered_username? - -Finally, handler of chat messages is not yet implemented: - - def handle_chat_message(msg) - raise NotImplementedError - end - -Lets try this example out using Telnet: - - ~ telnet localhost 10000 - Trying 127.0.0.1... - Connected to localhost. - Escape character is '^]'. - [info] Enter your username: - antares_ - [info] Ohai, antares_ - -and the server output: - - A client has connected... - antares_ has joined - -This version requires you to remember how to terminate your Telnet session (Ctrl + Shift + ], then Ctrl + C). -It is annoying, so why don't we add the same `exit` command to our chat server? - - -### Step four: adding exit command and delivering chat messages #### - -{include:file:examples/guides/getting\_started/07\_simple\_chat\_server\_step\_four.rb} - -TBD - -Lets test-drive this version. Client A: - - ~ telnet localhost 10000 - Trying 127.0.0.1... - Connected to localhost. - Escape character is '^]'. - [info] Enter your username: - michael - [info] Ohai, michael - Hi everyone - michael: Hi everyone - joe has joined the room - # here ^^^ client B connects, lets greet him - hi joe - michael: hi joe - joe: hey michael - # ^^^ client B replies - exit - # ^^^ out command in action - Connection closed by foreign host. - -Client B: - - ~ telnet localhost 10000 - Trying 127.0.0.1... - Connected to localhost. - Escape character is '^]'. - [info] Enter your username: - joe - [info] Ohai, joe - michael: hi joe - # ^^^ client A greets us, lets reply - hey michael - joe: hey michael - exit - # ^^^ out command in action - Connection closed by foreign host. - -And finally, the server output: - - A client has connected... - michael has joined - A client has connected... - _antares has joined - [info] _antares has left - [info] michael has left - -Our little char server now supports usernames, sending messages and the `exit` command. Next up, private (aka direct) messages. - - -### Step five: adding direct messages and one more command ### - -To add direct messages, we come up with a simple convention: private messages begin with @username and may have optional colon before -message text, like this: - - @joe: hey, how do you like eventmachine? - -This convention makes parsing of messages simple so that we can concentrate on delivering them to a particular client connection. -Remember when we added `username` reader on our connection class? That tiny change makes this step possible: when a new direct -message comes in, we extract username and message text and then find then connection for @username in question: - - # - # Message handling - # - - def handle_chat_message(msg) - if command?(msg) - self.handle_command(msg) - else - if direct_message?(msg) - self.handle_direct_message(msg) - else - self.announce(msg, "#{@username}:") - end - end - end # handle_chat_message(msg) - - def direct_message?(input) - input =~ DM_REGEXP - end # direct_message?(input) - - def handle_direct_message(input) - username, message = parse_direct_message(input) - - if connection = @@connected_clients.find { |c| c.username == username } - puts "[dm] @#{@username} => @#{username}" - connection.send_line("[dm] @#{@username}: #{message}") - else - send_line "@#{username} is not in the room. Here's who is: #{usernames.join(', ')}" - end - end # handle_direct_message(input) - - def parse_direct_message(input) - return [$1, $2] if input =~ DM_REGEXP - end # parse_direct_message(input) - -This snippet demonstrates how one connection instance can obtain another connection instance and send data to it. -This is a very powerful feature, consider just a few use cases: - - * Peer-to-peer protocols - * Content-aware routing - * Efficient streaming with optional filtering - -Less common use cases include extending C++ core of EventMachine to provide access to hardware that streams events that -can be re-broadcasted to any interested parties connected via TCP, UDP or something like AMQP or WebSockets. With this, -sky is the limit. Actually, EventMachine has several features for efficient proxying data between connections. -We will not cover them in this guide. - -One last feature that we are going to add to our chat server is the `status` command that tells you current server time and how many people -are there in the chat room: - - # - # Commands handling - # - - def command?(input) - input =~ /(exit|status)$/i - end # command?(input) - - def handle_command(cmd) - case cmd - when /exit$/i then self.close_connection - when /status$/i then self.send_line("[chat server] It's #{Time.now.strftime('%H:%M')} and there are #{self.number_of_connected_clients} people in the room") - end - end # handle_command(cmd) - -Hopefully this piece of code is easy to follow. Try adding a few more commands, for example, the `whoishere` command that lists people -currently in the chat room. - -In the end, our chat server looks like this: - -{include:file:examples/guides/getting\_started/08\_simple\_chat\_server\_step\_five.rb} - -We are almost done with the server but there are some closing thoughts. - - -### Step six: final version ### - -Just in case, here is the final version of the chat server code we have built: - -{include:file:examples/guides/getting\_started/03\_simple\_chat\_server.rb} - - -### Step seven: future directions and some closing thoughts ### - -The chat server is just about 150 lines of Ruby including empty lines and comments, yet it has a few features most of chat server -examples never add. We did not, however, implement many other features that popular IRC clients like [Colloquy](http://colloquy.info) have: - - * Chat moderation - * Multiple rooms - * Connection timeout detection - -How would one go about implementing them? We thought it is worth discussing what else EventMachine has to offer and what ecosystem projects -one can use to build a really feature-rich Web-based IRC chat client. - -With multiple rooms it's more or less straightforward, just add one more hash and a bunch of commands and use the information about which rooms participant -is in when you are delivering messages. There is nothing in EventMachine itself that can make the job much easier for developer. - -To implement chat moderation feature you may want to do a few things: - - * Work with client IP addresses. Maybe we want to consider everyone who connects from certain IPs a moderator. - * Access persistent data about usernames of moderators and their credentials. - -Does EventMachine have anything to offer here? It does. To obtain peer IP address, take a look at {EventMachine::Connection#get_peername}. The name of this method is -a little bit misleading and originates from low-level socket programming APIs. - -#### A whirlwind tour of the EventMachine ecosystem #### - -To work with data stores you can use several database drivers that ship with EventMachine itself, however, quite often there are some 3rd party projects in -the EventMachine ecosystem that have more features, are faster or just better maintained. So we figured it will be helpful to provide a few pointers -to some of those projects: - - * For MySQL, check out [em-mysql](https://github.com/eventmachine/em-mysql) project. - * For PostgreSQL, have a look at Mike Perham's [EventMachine-based PostgreSQL driver](https://github.com/mperham/em_postgresql). - * For Redis, there is a young but already popular [em-hiredis](https://github.com/mloughran/em-hiredis) library that combines EventMachine's non-blocking I/O with - extreme performance of the official Redis C client, [hiredis](https://github.com/antirez/hiredis). - * For MongoDB, see [em-mongo](https://github.com/bcg/em-mongo) - * For Cassandra, Mike Perham [added transport agnosticism feature](http://www.mikeperham.com/2010/02/09/cassandra-and-eventmachine/) to the [cassandra gem](https://rubygems.org/gems/cassandra). - -[Riak](http://www.basho.com/products_riak_overview.php) and CouchDB talk HTTP so it's possible to use [em-http-request](https://github.com/igrigorik/em-http-request). -If you are aware of EventMachine-based non-blocking drivers for these databases, as well as for HBase, let us know on the [EventMachine mailing list](http://groups.google.com/group/eventmachine). -Also, EventMachine supports TLS (aka SSL) and works well on [JRuby](http://jruby.org) and Windows. - -Learn more in our {file:docs/Ecosystem.md EventMachine ecosystem} and {file:docs/TLS.md TLS (aka SSL)} guides. - - -#### Connection loss detection #### - -Finally, connection loss detection. When our chat participant closes her laptop lid, how do we know that she is no longer active? The answer is, when EventMachine -detects TCP connectin closure, it calls {EventMachine::Connection#unbind}. Version 1.0.beta3 and later also pass an optional argument to that method. The argument -indicates what error (if any) caused the connection to be closed. - -Learn more in our {file:docs/ConnectionFailureAndRecovery.md Connection Failure and Recovery} guide. - - -#### What the Chat Server Example doesn't demonstrate #### - -This chat server also leaves out something production quality clients and servers must take care of: buffering. We intentionally did not include any buffering in -our chat server example: it would only distract you from learning what you really came here to learn: how to use EventMachine to build blazing fast asynchronous -networking programs quickly. However, {EventMachine::Connection#receive_data} does not offer any guarantees that you will be receiving "whole messages" all the time, -largely because the underlying transport (UDP or TCP) does not offer such guarantees. Many protocols, for example, AMQP, mandate that large content chunks are -split into smaller _frames_ of certain size. This means that [amq-client](https://github.com/ruby-amqp/amq-client) library, for instance, that has EventMachine-based driver, -has to deal with figuring out when exactly we received "the whole message". To do so, it uses buffering and employs various checks to detect _frame boundaries_. -So **don't be deceived by the simplicity of this chat example**: it intentionally leaves framing out, but real world protocols usually require it. - - - -## A (Proxying) Chat Client Example ## - -TBD - - -## Wrapping up ## - -This tutorial ends here. Congratulations! You have learned quite a bit about EventMachine. - - -## What to read next ## - -The documentation is organized as a {file:docs/DocumentationGuidesIndex.md number of guides}, covering all kinds of -topics. TBD - - -## Tell us what you think! ## - -Please take a moment and tell us what you think about this guide on the [EventMachine mailing list](http://bit.ly/jW3cR3) -or in the #eventmachine channel on irc.freenode.net: what was unclear? What wasn't covered? -Maybe you don't like the guide style or the grammar and spelling are incorrect? Reader feedback is -key to making documentation better. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/ChangeLog b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/ChangeLog deleted file mode 100644 index c7a6c48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/ChangeLog +++ /dev/null @@ -1,211 +0,0 @@ -01Oct06: Replaced EventMachine#open_datagram_server with a version that can - take a Class or a Module, instead of just a Module. Thanks to Tobias - Gustafsson for pointing out the missing case. -04Oct06: Supported subsecond timer resolutions, per request by Jason Roelofs. -05Oct06: Added EventMachine#set_quantum, which sets the timer resolution. -15Nov06: Added Connection#set_comm_inactivity_timeout. -15Nov06: Checked in a Line-and-Text Protocol Handler. -18Nov06: Checked in a Header-and-Body Protocol Handler. -22Nov06: Changed EventMachine#reconnect: no longer excepts when called on an - already-connected handler. -28Nov06: Supported a binary-unix gem. -19Dec06: Added EventMachine#set_effective_user. -05Jan07: Upped max outstanding timers to 1000. -15May07: Applied Solaris patches from Brett Eisenberg -22May07: Cleaned up the license text in all the source files. -22May07: Released version 0.7.2 - -23May07: Per suggestion from Bill Kelly, fixed a bug with the initialization - of the network libraries under Windows. The goal is to enable EM to - be used without Ruby. -28May07: Applied patch from Bill Kelly, refactors the declarations of - event names to make EM easier to use from C programs without Ruby. -31May07: Added a preliminary implementation of EventMachine#popen. -01Jun07: Added EM, a "pseudo-alias" for EventMachine. -01Jun07: Added EM#next_tick. -01Jun07: Added EM::Connection#get_outbound_data_size -05Jun07: Removed the code which loads a pure-Ruby EM library in case the - compiled extension is unavailable. Suggested by Moshe Litvin. -06Jun07: Preliminary epoll implementation. -12Jun07: Added an evented popen implementation that, like Ruby's, is - full-duplex and makes the subprocess PID available to the caller. -06Jul07: Performance-tweaked the callback dispatcher in eventmachine.rb. -10Jul07: Released version 0.8.0. -12Jul07: Applied patches from Tim Pease to fix Solaris build problems. -15Jul07: Created a new provisional source branch, experiments/jruby-1. - This is a preliminary implementation of the EM reactor in Java, - suitable for use with JRuby. -17Jul07: Added EventMachine#stop_server, per request from Kirk Haines, - and associated unit tests. -22Jul07: Added EventMachine#stream_file_data. This is a very fast and scalable - way of sending data from static files over network connections. It - has separate implementations for small files and large file, and - has tunings to minimize memory consumption. -26Jul07: Added some patches by Kirk Haines to improve the behavior of - EM::Connection#send_file_data_to_connection. -26Jul07: Added a C++ module for directly integrating EM into C++ programs - with no Ruby dependencies. Needs example code. -29Jul07: Added EventMachine::Protocols::LineText2. -29Jul07: Added EventMachine::Protocols::Stomp. -30Jul07: Added sys/stat.h to project.h to fix compilation bug on Darwin. -13Aug07: Added EventMachine#reactor_running? -15Aug07: Added parameters for EventMachine::Connection:start_tls that can be - used to specify client-side private keys and certificates. -17Aug07: Added EventMachine#run_block, a sugaring for a common use case. -24Aug07: Added a preliminary keyboard handler. Needs docs and testing on - windows. -26Aug07: Created EventMachine::Spawnable, an implementation of Erlang-like - processes. -27Aug07: Silenced some -w warnings, requested by James Edward Gray II. -30Aug07: Added cookies to EM::HttpClient#request. -04Sep07: Added an initial implementation of an evented SMTP client. -04Sep07: Added an initial implementation of an evented SMTP server. -10Sep07: Changed EM#spawn to run spawned blocks in the context of the - SpawnedProcess object, not of whatever was the active object at the - time of the spawn. -14Sep07: Heartbeats weren't working with EPOLL. Noticed by Brian Candler. -15Sep07: Added some features, tests and documents to Deferrable. -16Sep07: Added [:content] parameter to EM::Protocols::SmtpClient#send. -16Sep07: Bumped version to 0.9.0 in anticipation of a release. -18Sep07: Released version 0.9.0. -19Sep07: Added #receive_reset to EM::Protocols::SmtpServer. -19Sep07: User overrides of EM::Protocols::SmtpServer#receive_recipient can now - return a Deferrable. Also fixed bug: SmtpClient now raises a protocol - error if none of its RCPT TO: commands are accepted by the server. -26Sep07: Fixed missing keyboard support for Windows. -03Oct07: Added a default handler for RuntimeErrors emitted from user-written - code. Suggested by Brian Candler. -19Oct07: Set the SO_BROADCAST option automatically on all UDP sockets. -10Nov07: Forced integer conversion of send_datagram's port parameter. -Suggested by Matthieu Riou. -12Nov07: Added saslauth.rb, a protocol module to replace the Cyrus SASL -daemons saslauthd and pwcheck. -15Nov07: Fixed bug reported by Mark Zvillius. We were failing to dispatch - zero-length datagrams under certain conditions. -19Nov07: Added EventMachine#set_max_timers. Requested by Matthieu Riou and - others. -19Nov07: Fixed bug with EM::Connection#start_tls. Was not working with server - connections. Reported by Michael S. Fischer. -26Nov07: Supported a hack for EventMachine#popen so it can return an exit - status from subprocesses. Requested by Michael S. Fischer. -30Nov07: Changed Pipe descriptors so that the child-side of the socketpair is - NOT set nonblocking. Suggested by Duane Johnson. -05Dec07: Re-enabled the pure-Ruby implementation. -06Dec07: Released Version 0.10.0. -13Dec07: Added EM::DeferrableChildProcess -24Dec07: Added a SASL client for simple password authentication. -27Dec07: Removed the hookable error handler. No one was using it and it significantly - degraded performance. -30Dec07: Implemented Kqueue support for OSX and BSD. -04Jan08: Fixed bug in epoll ("Bad file descriptor"), patch supplied by Chris - Heath. -04Jan08: Fixed bug reported by Michael S. Fischer. We were terminating - SSL connections that sent data before the handshake was complete. -08Jan08: Added an OpenBSD branch for extconf.rb, contributed by Guillaume - Sellier. -19Jan08: Added EM::Connection::get_sockname per request by Michael Fischer. -19Jan08: Supported IPv6 addresses. -30Apr08: Set the NODELAY option on sockets that we connect to other servers. - Omission noted by Roger Pack. -14May08: Generated a 0.12 release. -15May08: Supported EM#get_sockname for acceptors (TCP server sockets). - Requested by Roger Pack. -15May08; Accepted a patch from Dan Aquino that allows the interval of a - PeriodicTimer to be changed on the fly. -15Jun08: Supported nested calls to EM#run. Many people contributed ideas to - this, notably raggi and tmm1. -20Jul08: Accepted patch from tmm1 for EM#fork_reactor. -28Jul08: Added a Postgres3 implementation, written by FCianfrocca. -14Aug08: Added a patch by Mike Murphy to support basic auth in the http -client. -28Aug08: Added a patch by tmm1 to fix a longstanding problem with Java -data-sends. -13Sep08: Added LineText2#set_binary_mode, a back-compatibility alias. -13Sep08: Modified the load order of protocol libraries in eventmachine.rb - to permit a modification of HeaderAndContentProtocol. -13Sep08: Modified HeaderAndContent to use LineText2, which is less buggy - than LineAndTextProtocol. This change may be reversed if we can fix - the bugs in buftok. -13Sep08: Improved the password handling in the Postgres protocol handler. -15Sep08: Added attach/detach, contributed by Aman Gupta (tmm1) and Riham Aldakkak, - to support working with file descriptors not created in the reactor. -16Sep08: Added an optional version string to the HTTP client. This is a hack - that allows a client to specify a version 1.0 request, which - keeps the server from sending a chunked response. The right way to - solve this, of course, is to support chunked responses. -23Sep08: ChangeLog Summary for Merge of branches/raggi -Most notable work and patches by Aman Gupta, Roger Pack, and James Tucker. -Patches / Tickets also submitted by: Jeremy Evans, aanand, darix, mmmurf, -danielaquino, macournoyer. - - Moved docs into docs/ dir - - Major refactor of rakefile, added generic rakefile helpers in tasks - - Added example CPP build rakefile in tasks/cpp.rake - - Moved rake tests out to tasks/tests.rake - - Added svn ignores where appropriate - - Fixed jruby build on older java platforms - - Gem now builds from Rakefile rather than directly via extconf - - Gem unified for jruby, C++ and pure ruby. - - Correction for pure C++ build, removing ruby dependency - - Fix for CYGWIN builds on ipv6 - - Major refactor for extconf.rb - - Working mingw builds - - extconf optionally uses pkg_config over manual configuration - - extconf builds for 1.9 on any system that has 1.9 - - extconf no longer links pthread explicitly - - looks for kqueue on all *nix systems - - better error output on std::runtime_error, now says where it came from - - Fixed some tests on jruby - - Added test for general send_data flaw, required for a bugfix in jruby build - - Added timeout to epoll tests - - Added fixes for java reactor ruby api - - Small addition of some docs in httpclient.rb and httpcli2.rb - - Some refactor and fixes in smtpserver.rb - - Added parenthesis where possible to avoid excess ruby warnings - - Refactor of $eventmachine_library logic for accuracy and maintenance, jruby - - EM::start_server now supports unix sockets - - EM::connect now supports unix sockets - - EM::defer @threadqueue now handled more gracefully - - Added better messages on exceptions raised - - Fix edge case in timer fires - - Explicitly require buftok.rb - - Add protocols to autoload, rather than require them all immediately - - Fix a bug in pr_eventmachine for outbound_q - - Refactors to take some of the use of defer out of tests. - - Fixes in EM.defer under start/stop conditions. Reduced scope of threads. -23Sep08: Added patch from tmm1 to avoid popen errors on exit. -30Sep08: Added File.exists? checks in the args for start_tls, as suggested by - Brian Lopez (brianmario). -10Nov08: ruby 1.9 compatibility enhancements -28Nov08: Allow for older ruby builds where RARRAY_LEN is not defined -03Dec08: allow passing arguments to popen handlers -13Jan09: SSL support for httpclient2 (David Smalley) -22Jan09: Fixed errors on OSX with the kqueue reactor, fixed errors in the pure - ruby reactor. Added EM.current_time. Added EM.epoll? and EM.kqueue? -27Jan09: Reactor errors are now raised as ruby RuntimeErrors. -28Jan09: Documentation patch from alloy -29Jan09: (Late sign-off) Use a longer timeout for connect_server (Ilya - Grigorik) -07Feb09: Fix signal handling issues with threads+epoll -07Feb09: Use rb_thread_schedule in the epoll reactor -07Feb09: Use TRAP_BEG/END and rb_thread_schedule in kqueue reactor -08Feb09: Added fastfilereader from swiftiply -08Feb09: 1.9 fix for rb_trap_immediate -08Feb09: Enable rb_thread_blocking_region for 1.9.0 and 1.9.1 -10Feb09: Support win32 builds for fastfilereader -10Feb09: Added a new event to indicate completion of SSL handshake on TCP - connections -10Feb09: Working get_peer_cert method. Returns the certificate as a Ruby - String in PEM format. (Jake Douglas) -10Feb09: Added EM.get_max_timers -11Feb09: Fix compile options for sun compiler (Alasdairrr) -11Feb09: get_status returns a Process::Status object -12Feb09: Add EM::Protocols::Memcache with simple get/set functionality -19Feb09: Add catch-all EM.error_handler -20Feb09: Support miniunit (1.9) -20Feb09: Return success on content-length = 0 instead of start waiting forever - (Ugo Riboni) -25Feb09: Allow next_tick to be used to pre-schedule reactor operations before - EM.run -26Feb09: Added EM.get_connection_count -01Mar09: Switch back to extconf for compiling gem extensions -01Mar09: fixed a small bug with basic auth (mmmurf) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/DEFERRABLES b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/DEFERRABLES deleted file mode 100644 index 6e8856c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/DEFERRABLES +++ /dev/null @@ -1,246 +0,0 @@ -EventMachine (EM) adds two different formalisms for lightweight concurrency -to the Ruby programmer's toolbox: spawned processes and deferrables. This -note will show you how to use deferrables. For more information, see the -separate document LIGHTWEIGHT_CONCURRENCY. - -=== What are Deferrables? - -EventMachine's Deferrable borrows heavily from the "deferred" object in -Python's "Twisted" event-handling framework. Here's a minimal example that -illustrates Deferrable: - - require 'eventmachine' - - class MyClass - include EM::Deferrable - - def print_value x - puts "MyClass instance received #{x}" - end - end - - EM.run { - df = MyClass.new - df.callback {|x| - df.print_value(x) - EM.stop - } - - EM::Timer.new(2) { - df.set_deferred_status :succeeded, 100 - } - } - - -This program will spin for two seconds, print out the string "MyClass -instance received 100" and then exit. The Deferrable pattern relies on -an unusual metaphor that may be unfamiliar to you, unless you've used -Python's Twisted. You may need to read the following material through -more than once before you get the idea. - -EventMachine::Deferrable is simply a Ruby Module that you can include -in your own classes. (There also is a class named -EventMachine::DefaultDeferrable for when you want to create one without -including it in code of your own.) - -An object that includes EventMachine::Deferrable is like any other Ruby -object: it can be created whenever you want, returned from your functions, -or passed as an argument to other functions. - -The Deferrable pattern allows you to specify any number of Ruby code -blocks (callbacks or errbacks) that will be executed at some future time -when the status of the Deferrable object changes. - -How might that be useful? Well, imagine that you're implementing an HTTP -server, but you need to make a call to some other server in order to fulfill -a client request. - -When you receive a request from one of your clients, you can create and -return a Deferrable object. Some other section of your program can add a -callback to the Deferrable that will cause the client's request to be -fulfilled. Simultaneously, you initiate an event-driven or threaded client -request to some different server. And then your EM program will continue to -process other events and service other client requests. - -When your client request to the other server completes some time later, you -will call the #set_deferred_status method on the Deferrable object, passing -either a success or failure status, and an arbitrary number of parameters -(which might include the data you received from the other server). - -At that point, the status of the Deferrable object becomes known, and its -callback or errback methods are immediately executed. Callbacks and errbacks -are code blocks that are attached to Deferrable objects at any time through -the methods #callback and #errback. - -The deep beauty of this pattern is that it decouples the disposition of one -operation (such as a client request to an outboard server) from the -subsequent operations that depend on that disposition (which may include -responding to a different client or any other operation). - -The code which invokes the deferred operation (that will eventually result -in a success or failure status together with associated data) is completely -separate from the code which depends on that status and data. This achieves -one of the primary goals for which threading is typically used in -sophisticated applications, with none of the nondeterminacy or debugging -difficulties of threads. - -As soon as the deferred status of a Deferrable becomes known by way of a call -to #set_deferred_status, the Deferrable will IMMEDIATELY execute all of its -callbacks or errbacks in the order in which they were added to the Deferrable. - -Callbacks and errbacks can be added to a Deferrable object at any time, not -just when the object is created. They can even be added after the status of -the object has been determined! (In this case, they will be executed -immediately when they are added.) - -A call to Deferrable#set_deferred_status takes :succeeded or :failed as its -first argument. (This determines whether the object will call its callbacks -or its errbacks.) #set_deferred_status also takes zero or more additional -parameters, that will in turn be passed as parameters to the callbacks or -errbacks. - -In general, you can only call #set_deferred_status ONCE on a Deferrable -object. A call to #set_deferred_status will not return until all of the -associated callbacks or errbacks have been called. If you add callbacks or -errbacks AFTER making a call to #set_deferred_status, those additional -callbacks or errbacks will execute IMMEDIATELY. Any given callback or -errback will be executed AT MOST once. - -It's possible to call #set_deferred_status AGAIN, during the execution a -callback or errback. This makes it possible to change the parameters which -will be sent to the callbacks or errbacks farther down the chain, enabling -some extremely elegant use-cases. You can transform the data returned from -a deferred operation in arbitrary ways as needed by subsequent users, without -changing any of the code that generated the original data. - -A call to #set_deferred_status will not return until all of the associated -callbacks or errbacks have been called. If you add callbacks or errbacks -AFTER making a call to #set_deferred_status, those additional callbacks or -errbacks will execute IMMEDIATELY. - -Let's look at some more sample code. It turns out that many of the internal -protocol implementations in the EventMachine package rely on Deferrable. One -of these is EM::Protocols::HttpClient. - -To make an evented HTTP request, use the module function -EM::Protocols::HttpClient#request, which returns a Deferrable object. -Here's how: - - require 'eventmachine' - - EM.run { - df = EM::Protocols::HttpClient.request( :host=>"www.example.com", - :request=>"/index.html" ) - - df.callback {|response| - puts "Succeeded: #{response[:content]}" - EM.stop - } - - df.errback {|response| - puts "ERROR: #{response[:status]}" - EM.stop - } - } - -(See the documentation of EventMachine::Protocols::HttpClient for information -on the object returned by #request.) - -In this code, we make a call to HttpClient#request, which immediately returns -a Deferrable object. In the background, an HTTP client request is being made -to www.example.com, although your code will continue to run concurrently. - -At some future point, the HTTP client request will complete, and the code in -EM::Protocols::HttpClient will process either a valid HTTP response (including -returned content), or an error. - -At that point, EM::Protocols::HttpClient will call -EM::Deferrable#set_deferred_status on the Deferrable object that was returned -to your program, as the return value from EM::Protocols::HttpClient.request. -You don't have to do anything to make this happen. All you have to do is tell -the Deferrable what to do in case of either success, failure, or both. - -In our code sample, we set one callback and one errback. The former will be -called if the HTTP call succeeds, and the latter if it fails. (For -simplicity, we have both of them calling EM#stop to end the program, although -real programs would be very unlikely to do this.) - -Setting callbacks and errbacks is optional. They are handlers to defined -events in the lifecycle of the Deferrable event. It's not an error if you -fail to set either a callback, an errback, or both. But of course your -program will then fail to receive those notifications. - -If through some bug it turns out that #set_deferred_status is never called -on a Deferrable object, then that object's callbacks or errbacks will NEVER -be called. It's also possible to set a timeout on a Deferrable. If the -timeout elapses before any other call to #set_deferred_status, the Deferrable -object will behave as is you had called set_deferred_status(:failed) on it. - - -Now let's modify the example to illustrate some additional points: - - require 'eventmachine' - - EM.run { - df = EM::Protocols::HttpClient.request( :host=>"www.example.com", - :request=>"/index.html" ) - - df.callback {|response| - df.set_deferred_status :succeeded, response[:content] - } - - df.callback {|string| - puts "Succeeded: #{string}" - EM.stop - } - - df.errback {|response| - puts "ERROR: #{response[:status]}" - EM.stop - } - } - - -Just for the sake of illustration, we've now set two callbacks instead of -one. If the deferrable operation (the HTTP client-request) succeeds, then -both of the callbacks will be executed in order. - -But notice that we've also made our own call to #set_deferred_status in the -first callback. This isn't required, because the HttpClient implementation -already made a call to #set_deferred_status. (Otherwise, of course, the -callback would not be executing.) - -But we used #set_deferred_status in the first callback in order to change the -parameters that will be sent to subsequent callbacks in the chain. In this -way, you can construct powerful sequences of layered functionality. If you -want, you can even change the status of the Deferrable from :succeeded to -:failed, which would abort the chain of callback calls, and invoke the chain -of errbacks instead. - -Now of course it's somewhat trivial to define two callbacks in the same -method, even with the parameter-changing effect we just described. It would -be much more interesting to pass the Deferrable to some other function (for -example, a function defined in another module or a different gem), that would -in turn add callbacks and/or errbacks of its own. That would illustrate the -true power of the Deferrable pattern: to isolate the HTTP client-request -from other functions that use the data that it returns without caring where -those data came from. - -Remember that you can add a callback or an errback to a Deferrable at any -point in time, regardless of whether the status of the deferred operation is -known (more precisely, regardless of when #set_deferred_status is called on -the object). Even hours or days later. - -When you add a callback or errback to a Deferrable object on which -#set_deferred_status has not yet been called, the callback/errback is queued -up for future execution, inside the Deferrable object. When you add a -callback or errback to a Deferrable on which #set_deferred_status has -already been called, the callback/errback will be executed immediately. -Your code doesn't have to worry about the ordering, and there are no timing -issues, as there would be with a threaded approach. - -For more information on Deferrables and their typical usage patterns, look -in the EM unit tests. There are also quite a few sugarings (including -EM::Deferrable#future) that make typical Deferrable usages syntactically -easier to work with. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/EPOLL b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/EPOLL deleted file mode 100644 index 13cea8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/EPOLL +++ /dev/null @@ -1,141 +0,0 @@ -EventMachine now supports epoll, bringing large increases in performance and scalability to Ruby programs. - -Epoll(7) is a alternative mechanism for multiplexed I/O that is available in Linux 2.6 kernels. -It features significantly greater performance than the standard select(2) mechanism, when used in -applications that require very large numbers of open I/O descriptors. - -EventMachine has always used select(2) because its behavior is well standardized and broadly supported. -But select becomes unreasonably slow when a program has a -very large number of file descriptors or sockets. Ruby's version of select hardcodes a limit -of 1024 descriptors per process, but heavily loaded processes will start to show performance -degradation even after only a few hundred descriptors are in use. - -Epoll is an extended version of the poll(2) call, and it solves the problems with select. Programs -based on epoll can easily scale past Ruby's 1024-descriptor limit, potentially to tens of thousands -of connectors, with no significant impact on performance. - -(Another alternative which is very similar to epoll in principle is kqueue, supplied on BSD and its -variants.) - - - -This note shows you how to use epoll in your programs. - -=== Compiling EventMachine to use epoll. - -You don't have to do anything to get epoll support in EventMachine. -When you compile EventMachine on a platform that supports epoll, EM will -automatically generate a Makefile that includes epoll. (At this writing, this will only work -on Linux 2.6 kernels.) If you compile EM on a platform without epoll, then epoll support will -be omitted from the Makefile, and EM will work just as it always has. - -=== Using epoll in your programs. - -First, you need to tell EventMachine to use epoll instead of select (but see below, as this requirement -will be removed in a future EventMachine version). Second, you need to prepare your program to use -more than 1024 descriptors, an operation that generally requires superuser privileges. Third, you will probably -want your process to drop the superuser privileges after you increase your process's descriptor limit. - -=== Using EventMachine#epoll - -Call the method EventMachine#epoll anytime before you call EventMachine#run, and your program will -automatically use epoll, if available. It's safe to call EventMachine#epoll on any platform because -it compiles to a no-op on platforms that don't support epoll. - - require 'rubygems' - require 'eventmachine' - - EM.epoll - EM.run { - ... - } - - -EventMachine#epoll was included in this initial release only to avoid changing the behavior of existing -programs. However, it's expected that a future release of EM will convert EventMachine#epoll to a no-op, -and run epoll by default on platforms that support it. - -=== Using EventMachine#set_descriptor_table_size - -In Linux (as in every Unix-like platform), every process has a internal table that determines the maximum -number of file and socket descriptors you may have open at any given time. The size of this table is -generally fixed at 1024, although it may be increased within certain system-defined hard and soft limits. - -If you want your EventMachine program to support more than 1024 total descriptors, you must use -EventMachine#set_descriptor_table_size, as follows: - - require 'rubygems' - require 'eventmachine' - - new_size = EM.set_descriptor_table_size( 60000 ) - $>.puts "New descriptor-table size is #{new_size}" - - EM.run { - ... - } - -If successful, this example will increase the maximum number of descriptors that epoll can use to 60,000. -Call EventMachine#set_descriptor_table_size without an argument at any time to find out the current -size of the descriptor table. - -Using EventMachine#set_descriptor_table_size ONLY affects the number of descriptors that can be used -by epoll. It has no useful effect on platforms that don't support epoll, and it does NOT increase the -number of descriptors that Ruby's own I/O functions can use. - -#set_descriptor_table_size can fail if your process is not running as superuser, or if you try to set a -table size that exceeds the hard limits imposed by your system. In the latter case, try a smaller number. - - -=== Using EventMachine#set_effective_user - -In general, you must run your program with elevated or superuser privileges if you want to increase -your descriptor-table size beyond 1024 descriptors. This is easy enough to verify. Try running the -sample program given above, that increases the descriptor limit to 60,000. You will probably find that -the table size will not be increased if you don't run your program as root or with elevated privileges. - -But of course network servers, especially long-running ones, should not run with elevated privileges. -You will want to drop superuser privileges as soon as possible after initialization. To do this, -use EventMachine#set_effective_user: - - require 'rubygems' - require 'eventmachine' - - # (Here, program is running as superuser) - - EM.set_descriptor_table_size( 60000 ) - EM.set_effective_user( "nobody" ) - # (Here, program is running as nobody) - - EM.run { - ... - } - -Of course, you will need to replace "nobody" in the example with the name of an unprivileged user -that is valid on your system. What if you want to drop privileges after opening a server socket -on a privileged (low-numbered) port? Easy, just call #set_effective_user after opening your sockets: - - require 'rubygems' - require 'eventmachine' - - # (Here, program is running as superuser) - - EM.set_descriptor_table_size( 60000 ) - - EM.run { - EM.start_server( "0.0.0.0", 80, MyHttpServer ) - EM.start_server( "0.0.0.0", 443, MyEncryptedHttpServer ) - - EM.set_effective_user( "nobody" ) - # (Here, program is running as nobody) - - ... - } - - -Because EventMachine#set_effective_user is used to enforce security -requirements, it has no nonfatal errors. If you try to set a nonexistent or invalid effective user, -#set_effective_user will abort your program, rather than continue to run with elevated privileges. - -EventMachine#set_effective_user is a silent no-op on platforms that don't support it, such as Windows. - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/INSTALL b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/INSTALL deleted file mode 100644 index dee2e42..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/INSTALL +++ /dev/null @@ -1,13 +0,0 @@ -If you have obtained an EventMachine source-tarball (.tar.gz): -unzip and untar the tarball, and enter the directory that is -created. In that directory, say: -ruby setup.rb -(You may need to be root to execute this command.) - -To create documentation for EventMachine, simply type: -rake rdoc -in the distro directory. Rdocs will be created in subdirectory rdoc. - -If you have obtained a gem version of EventMachine, install it in the -usual way (gem install eventmachine). You may need superuser privileges -to execute this command. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/KEYBOARD b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/KEYBOARD deleted file mode 100644 index 6c699e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/KEYBOARD +++ /dev/null @@ -1,42 +0,0 @@ -EventMachine (EM) can respond to keyboard events. This gives your event-driven -programs the ability to respond to input from local users. - -Programming EM to handle keyboard input in Ruby is simplicity itself. Just use -EventMachine#open_keyboard, and supply the name of a Ruby module or class that -will receive the input: - - require 'rubygems' - require 'eventmachine' - - module MyKeyboardHandler - def receive_data keystrokes - puts "I received the following data from the keyboard: #{keystrokes}" - end - end - - EM.run { - EM.open_keyboard(MyKeyboardHandler) - } - -If you want EM to send line-buffered keyboard input to your program, just -include the LineText2 protocol module in your handler class or module: - - require 'rubygems' - require 'eventmachine' - - module MyKeyboardHandler - include EM::Protocols::LineText2 - def receive_line data - puts "I received the following line from the keyboard: #{data}" - end - end - - EM.run { - EM.open_keyboard(MyKeyboardHandler) - } - -As we said, simplicity itself. You can call EventMachine#open_keyboard at any -time while the EM reactor loop is running. In other words, the method -invocation may appear anywhere in an EventMachine#run block, or in any code -invoked in the #run block. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/LEGAL b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/LEGAL deleted file mode 100644 index ee01825..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/LEGAL +++ /dev/null @@ -1,25 +0,0 @@ -LEGAL NOTICE INFORMATION ------------------------- - -EventMachine is Copyright (C) 2006-07 by Francis Cianfrocca. - -EventMachine is copyrighted software owned by Francis Cianfrocca -(blackhedd ... gmail.com). You may redistribute and/or modify this -software as long as you comply with either the terms of the GPL -(see the file GPL), or Ruby's license (see the file COPYING). - -Your use of all the files in this distribution is controlled by these -license terms, except for those files specifically mentioned below: - - - -setup.rb - This file is Copyright (C) 2000-2005 by Minero Aoki - You can distribute/modify this file under the terms of - the GNU LGPL, Lesser General Public License version 2.1. - - -lib/em/buftok.rb - This file is Copyright (C) 2007 by Tony Arcieri. This file is - covered by the terms of Ruby's License (see the file COPYING). - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/LIGHTWEIGHT_CONCURRENCY b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/LIGHTWEIGHT_CONCURRENCY deleted file mode 100644 index 3c2cfa0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/LIGHTWEIGHT_CONCURRENCY +++ /dev/null @@ -1,130 +0,0 @@ -EventMachine (EM) adds two different formalisms for lightweight concurrency to -the Ruby programmer's toolbox: spawned processes and deferrables. This note -will show you how to use them. - - -=== What is Lightweight Concurrency? - -We use the term "Lightweight Concurrency" (LC) to refer to concurrency -mechanisms that are lighter than Ruby threads. By "lighter," we mean: less -resource-intensive in one or more dimensions, usually including memory and -CPU usage. In general, you turn to LC in the hope of improving the -performance and scalability of your programs. - -In addition to the two EventMachine mechanisms we will discuss here, Ruby -has at least one other LC construct: Fibers, which are currently under -development in Ruby 1.9. - -The technical feature that makes all of these LC mechanisms different from -standard Ruby threads is that they are not scheduled automatically. - -When you create and run Ruby threads, you can assume (within certain -constraints) that your threads will all be scheduled fairly by Ruby's runtime. -Ruby itself is responsible for giving each of your threads its own share of -the total runtime. - -But with LC, your program is responsible for causing different execution -paths to run. In effect, your program has to act as a "thread scheduler." -Scheduled entities in LC run to completion and are never preempted. The -runtime system has far less work to do since it has no need to interrupt -threads or to schedule them fairly. This is what makes LC lighter and faster. - -You'll learn exactly how LC scheduling works in practice as we work through -specific examples. - - -=== EventMachine Lightweight Concurrency - -Recall that EM provides a reactor loop that must be running in order for -your programs to perform event-driven logic. An EM program typically has a -structure like this: - - require 'eventmachine' - - # your initializations - - EM.run { - # perform event-driven I/O here, including network clients, - # servers, timers, and thread-pool operations. - } - - # your cleanup - # end of the program - - -EventMachine#run executes the reactor loop, which causes your code to be -called as events of interest to your program occur. The block you pass to -EventMachine#run is executed right after the reactor loop starts, and is -the right place to start socket acceptors, etc. - -Because the reactor loop runs constantly in an EM program (until it is -stopped by a call to EventMachine#stop), it has the ability to schedule -blocks of code for asynchronous execution. Unlike a pre-emptive thread -scheduler, it's NOT able to interrupt code blocks while they execute. But -the scheduling capability it does have is enough to enable lightweight -concurrency. - - -For information on Spawned Processes, see the separate document -SPAWNED_PROCESSES. - -For information on Deferrables, see the separate document DEFERRABLES. - - -=== [SIDEBAR]: I Heard That EventMachine Doesn't Work With Ruby Threads. - -This is incorrect. EM is fully interoperable with all versions of Ruby -threads, and has been since its earliest releases. - -It's very true that EM encourages an "evented" (non-threaded) programming -style. The specific benefits of event-driven programming are far better -performance and scalability for well-written programs, and far easier -debugging. - -The benefit of using threads for similar applications is a possibly more -intuitive programming model, as well as the fact that threads are already -familiar to most programmers. Also, bugs in threaded programs often fail -to show up until programs go into production. These factors create the -illusion that threaded programs are easier to write. - -However, some operations that occur frequently in professional-caliber -applications simply can't be done without threads. (The classic example -is making calls to database client-libraries that block on network I/O -until they complete.) - -EventMachine not only allows the use of Ruby threads in these cases, but -it even provides a built-in thread-pool object to make them easier to -work with. - -You may have heard a persistent criticism that evented I/O is fundamentally -incompatible with Ruby threads. It is true that some well-publicized attempts -to incorporate event-handling libraries into Ruby were not successful. But -EventMachine was designed from the ground up with Ruby compatibility in mind, -so EM never suffered from the problems that defeated the earlier attempts. - - -=== [SIDEBAR]: I Heard That EventMachine Doesn't Work Very Well On Windows. - -This too is incorrect. EventMachine is an extension written in C++ and Java, -and therefore it requires compilation. Many Windows computers (and some Unix -computers, especially in production environments) don't have a build stack. -Attempting to install EventMachine on a machine without a compiler usually -produces a confusing error. - -In addition, Ruby has a much-debated issue with Windows compiler versions. -Ruby on Windows works best with Visual Studio 6, a compiler version that is -long out-of-print, no longer supported by Microsoft, and difficult to obtain. -(This problem is not specific to EventMachine.) - -Shortly after EventMachine was first released, the compiler issues led to -criticism that EM was incompatible with Windows. Since that time, every -EventMachine release has been supplied in a precompiled binary form for -Windows users, that does not require you to compile the code yourself. EM -binary Gems for Windows are compiled using Visual Studio 6. - -EventMachine does supply some advanced features (such as Linux EPOLL support, -reduced-privilege operation, UNIX-domain sockets, etc.) that have no -meaningful implementation on Windows. Apart from these special cases, all EM -functionality (including lightweight concurrency) works perfectly well on -Windows. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/PURE_RUBY b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/PURE_RUBY deleted file mode 100644 index 157d59e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/PURE_RUBY +++ /dev/null @@ -1,75 +0,0 @@ -EventMachine is supplied in three alternative versions. - -1) A version that includes a Ruby extension written in C++. This version requires compilation; -2) A version for JRuby that contains a precompiled JAR file written in Java; -3) A pure Ruby version that has no external dependencies and can run in any Ruby environment. - -The Java version of EventMachine is packaged in a distinct manner and must be installed using a -special procedure. This version is described fully in a different document, and not considered -further here. - -The C++ and pure-Ruby versions, however, are shipped in the same distribution. You use the same -files (either tarball or Ruby gem) to install both of these versions. - -If you intend to use the C++ version, you must successfully compile EventMachine after you install it. -(The gem installation attempts to perform this step automatically.) - -If you choose not to compile the EventMachine C++ extension, or if your compilation fails for any -reason, you still have a fully-functional installation of the pure-Ruby version of EM. - -However, for technical reasons, a default EM installation (whether or not the compilation succeeds) -will always assume that the compiled ("extension") implementation should be used. - -If you want your EM program to use the pure Ruby version, you must specifically request it. There -are two ways to do this: by setting either a Ruby global variable, or an environment string. - -The following code will invoke the pure-Ruby implementation of EM: - - $eventmachine_library = :pure_ruby - require 'eventmachine' - - EM.library_type #=> "pure_ruby" - -Notice that this requires a code change and is not the preferred way to select pure Ruby, unless -for some reason you are absolutely sure you will never want the compiled implementation. - -Setting the following environment string has the same effect: - - export EVENTMACHINE_LIBRARY="pure_ruby" - -This technique gives you the flexibility to select either version at runtime with no code changes. - -Support - -The EventMachine development team has committed to support precisely the same APIs for all the -various implementations of EM. - -This means that you can expect any EM program to behave identically, whether you use pure Ruby, -the compiled C++ extension, or JRuby. Deviations from this behavior are to be considered bugs -and should be reported as such. - -There is a small number of exceptions to this rule, which arise from underlying platform -distinctions. Notably, EM#epoll is a silent no-op in the pure Ruby implementation. - - -When Should You Use the Pure-Ruby Implementation of EM? - - -Use the pure Ruby implementation of EM when you must support a platform for which no C++ compiler -is available, or on which the standard EM C++ code can't be compiled. - -Keep in mind that you don't need a C++ compiler in order to deploy EM applications that rely on -the compiled version, so long as appropriate C++ runtime libraries are available on the target platform. - -In extreme cases, you may find that you can develop software with the compiled EM version, but are -not allowed to install required runtime libraries on the deployment system(s). This would be another -case in which the pure Ruby implementation can be useful. - -In general you should avoid the pure Ruby version of EM when performance and scalability are important. -EM in pure Ruby will necessarily run slower than the compiled version. Depending on your application -this may or may not be a key issue. - -Also, since EPOLL is not supported in pure Ruby, your applications will be affected by Ruby's built-in -limit of 1024 file and socket descriptors that may be open in a single process. For maximum scalability -and performance, always use EPOLL if possible. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/RELEASE_NOTES b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/RELEASE_NOTES deleted file mode 100644 index 6110820..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/RELEASE_NOTES +++ /dev/null @@ -1,94 +0,0 @@ -RUBY/EventMachine RELEASE NOTES - --------------------------------------------------- -Version: 0.9.0, released xxXXX07 -Added Erlang-like distributed-computing features - --------------------------------------------------- -Version: 0.8.0, released 23Jun07 -Added an epoll implementation for Linux 2.6 kernels. -Added evented #popen. - --------------------------------------------------- -Version: 0.7.3, released 22May07 -Added a large variety of small features. See the ChangeLog. - --------------------------------------------------- -Version: 0.7.1, released xxNov06 -Added protocol handlers for line-oriented protocols. -Various bug fixes. - --------------------------------------------------- -Version: 0.7.0, released 20Nov06 -Added a fix in em.cpp/ConnectToServer to fix a fatal exception that -occurred in FreeBSD when connecting successfully to a remote server. - --------------------------------------------------- -Version: 0.6.0, released xxJul06 -Added deferred operations, suggested by Don Stocks, amillionhitpoints@yahoo.com. - --------------------------------------------------- -Version: 0.5.4, released xxJun06 -Added get_peername support for streams and datagrams. - --------------------------------------------------- -Version: 0.5.3, released 17May06 -Fixed bugs in extconf.rb, thanks to Daniel Harple, dharple@generalconsumption.org. -Added proper setup.rb and rake tasks, thanks to Austin Ziegler. -Fixed a handful of reported problems with builds on various platforms. - --------------------------------------------------- -Version: 0.5.2, released 05May06 -Made several nonvisible improvements to the Windows -implementation. -Added an exception-handling patch contributed by Jeff Rose, jeff@rosejn.net. -Added a dir-config patch contributed anonymously. -Supported builds on Solaris. - --------------------------------------------------- -Version: 0.5.1, released 05May06 -Made it possible to pass a Class rather than a Module -to a protocol handler. -Added Windows port. - --------------------------------------------------- -Version: 0.5.0, released 30Apr06 -Added a preliminary SSL/TLS extension. This will probably -change over the next few releases. - --------------------------------------------------- -Version: 0.4.5, released 29Apr06 -Changed ext files so the ruby.h is installed after unistd.h -otherwise it doesn't compile on gcc 4.1 - --------------------------------------------------- -Version: 0.4.2, released 19Apr06 -Changed the Ruby-glue so the extension will play nicer -in the sandbox with Ruby threads. -Added an EventMachine::run_without_threads API to -switch off the thread-awareness for better performance -in programs that do not spin any Ruby threads. - --------------------------------------------------- -Version: 0.4.1, released 15Apr06 -Reworked the shared-object interface to make it easier to -use EventMachine from languages other than Ruby. - --------------------------------------------------- -Version: 0.3.2, released 12Apr06 -Added support for a user-supplied block in EventMachine#connect. - --------------------------------------------------- -Version: 0.3.1, released 11Apr06 -Fixed bug that prevented EventMachine from being run multiple -times in a single process. - --------------------------------------------------- -Version: 0.3.0, released 10Apr06 -Added method EventHandler::Connection::post_init - --------------------------------------------------- -Version: 0.2.0, released 10Apr06 -Added method EventHandler::stop - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/SMTP b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/SMTP deleted file mode 100644 index 92bf311..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/SMTP +++ /dev/null @@ -1,4 +0,0 @@ -This note details the usage of EventMachine's built-in support for SMTP. EM -supports both client and server connections, which will be described in -separate sections. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/SPAWNED_PROCESSES b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/SPAWNED_PROCESSES deleted file mode 100644 index ee68e3e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/SPAWNED_PROCESSES +++ /dev/null @@ -1,148 +0,0 @@ -EventMachine (EM) adds two different formalisms for lightweight concurrency -to the Ruby programmer's toolbox: spawned processes and deferrables. This -note will show you how to use spawned processes. For more information, see -the separate document LIGHTWEIGHT_CONCURRENCY. - - -=== What are Spawned Processes? - -Spawned Processes in EventMachine are inspired directly by the "processes" -found in the Erlang programming language. EM deliberately borrows much (but -not all) of Erlang's terminology. However, EM's spawned processes differ from -Erlang's in ways that reflect not only Ruby style, but also the fact that -Ruby is not a functional language like Erlang. - -Let's proceed with a complete, working code sample that we will analyze line -by line. Here's an EM implementation of the "ping-pong" program that also -appears in the Erlang tutorial: - - - require 'eventmachine' - - EM.run { - pong = EM.spawn {|x, ping| - puts "Pong received #{x}" - ping.notify( x-1 ) - } - - ping = EM.spawn {|x| - if x > 0 - puts "Pinging #{x}" - pong.notify x, self - else - EM.stop - end - } - - ping.notify 3 - } - -If you run this program, you'll see the following output: - - Pinging 3 - Pong received 3 - Pinging 2 - Pong received 2 - Pinging 1 - Pong received 1 - -Let's take it step by step. - -EventMachine#spawn works very much like the built-in function spawn in -Erlang. It returns a reference to a Ruby object of class -EventMachine::SpawnedProcess, which is actually a schedulable entity. In -Erlang, the value returned from spawn is called a "process identifier" or -"pid." But we'll refer to the Ruby object returned from EM#spawn simply as a -"spawned process." - -You pass a Ruby block with zero or more parameters to EventMachine#spawn. -Like all Ruby blocks, this one is a closure, so it can refer to variables -defined in the local context when you call EM#spawn. - -However, the code block passed to EM#spawn does NOT execute immediately by -default. Rather, it will execute only when the Spawned Object is "notified." -In Erlang, this process is called "message passing," and is done with the -operator !, but in Ruby it's done simply by calling the #notify method of a -spawned-process object. The parameters you pass to #notify must match those -defined in the block that was originally passed to EM#spawn. - -When you call the #notify method of a spawned-process object, EM's reactor -core will execute the code block originally passed to EM#spawn, at some point -in the future. (#notify itself merely adds a notification to the object's -message queue and ALWAYS returns immediately.) - -When a SpawnedProcess object executes a notification, it does so in the -context of the SpawnedProcess object itself. The notified code block can see -local context from the point at which EM#spawn was called. However, the value -of "self" inside the notified code block is a reference to the SpawnedProcesss -object itself. - -An EM spawned process is nothing more than a Ruby object with a message -queue attached to it. You can have any number of spawned processes in your -program without compromising scalability. You can notify a spawned process -any number of times, and each notification will cause a "message" to be -placed in the queue of the spawned process. Spawned processes with non-empty -message queues are scheduled for execution automatically by the EM reactor. -Spawned processes with no visible references are garbage-collected like any -other Ruby object. - -Back to our code sample: - - pong = EM.spawn {|x, ping| - puts "Pong received #{x}" - ping.notify( x-1 ) - } - -This simply creates a spawned process and assigns it to the local variable -pong. You can see that the spawned code block takes a numeric parameter and a -reference to another spawned process. When pong is notified, it expects to -receive arguments corresponding to these two parameters. It simply prints out -the number it receives as the first argument. Then it notifies the spawned -process referenced by the second argument, passing it the first argument -minus 1. - -And then the block ends, which is crucial because otherwise nothing else -can run. (Remember that in LC, scheduled entities run to completion and are -never preempted.) - -On to the next bit of the code sample: - - ping = EM.spawn {|x| - if x > 0 - puts "Pinging #{x}" - pong.notify x, self - else - EM.stop - end - } - -Here, we're spawning a process that takes a single (numeric) parameter. If -the parameter is greater than zero, the block writes it to the console. It -then notifies the spawned process referenced by the pong local variable, -passing as arguments its number argument, and a reference to itself. The -latter reference, as you saw above, is used by pong to send a return -notification. - -If the ping process receives a zero value, it will stop the reactor loop and -end the program. - -Now we've created a pair of spawned processes, but nothing else has happened. -If we stop now, the program will spin in the EM reactor loop, doing nothing -at all. Our spawned processes will never be scheduled for execution. - -But look at the next line in the code sample: - - ping.notify 3 - -This line gets the ping-pong ball rolling. We call ping's #notify method, -passing the argument 3. This causes a message to be sent to the ping spawned -process. The message contains the single argument, and it causes the EM -reactor to schedule the ping process. And this in turn results in the -execution of the Ruby code block passed to EM#spawn when ping was created. -Everything else proceeds as a result of the messages that are subsequently -passed to each other by the spawned processes. - -[TODO, present the outbound network i/o use case, and clarify that spawned -processes are interleaved with normal i/o operations and don't interfere -with them at all. Also, blame Erlang for the confusing term "process"] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/TODO b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/TODO deleted file mode 100644 index 686a0d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/docs/old/TODO +++ /dev/null @@ -1,8 +0,0 @@ -TODO List: - -12Aug06: Noticed by Don Stocks. A TCP connect-request that results -in a failed DNS resolution fires a fatal error back to user code. -Uuuuuugly. We should probably cause an unbind event to get fired -instead, and add some parameterization so the caller can detect -the nature of the failure. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/01_eventmachine_echo_server.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/01_eventmachine_echo_server.rb deleted file mode 100644 index 51c5c7d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/01_eventmachine_echo_server.rb +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class EchoServer < EM::Connection - def receive_data(data) - send_data(data) - end -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, EchoServer) -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/02_eventmachine_echo_server_that_recognizes_exit_command.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/02_eventmachine_echo_server_that_recognizes_exit_command.rb deleted file mode 100644 index 4cfff19..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/02_eventmachine_echo_server_that_recognizes_exit_command.rb +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class EchoServer < EM::Connection - def receive_data(data) - if data.strip =~ /exit$/i - EventMachine.stop - else - send_data(data) - end - end -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, EchoServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/03_simple_chat_server.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/03_simple_chat_server.rb deleted file mode 100644 index 3352551..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/03_simple_chat_server.rb +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class SimpleChatServer < EM::Connection - - @@connected_clients = Array.new - DM_REGEXP = /^@([a-zA-Z0-9]+)\s*:?\s*(.+)/.freeze - - attr_reader :username - - - # - # EventMachine handlers - # - - def post_init - @username = nil - - puts "A client has connected..." - ask_username - end - - def unbind - @@connected_clients.delete(self) - puts "[info] #{@username} has left" if entered_username? - end - - def receive_data(data) - if entered_username? - handle_chat_message(data.strip) - else - handle_username(data.strip) - end - end - - - # - # Username handling - # - - def entered_username? - !@username.nil? && !@username.empty? - end # entered_username? - - def handle_username(input) - if input.empty? - send_line("Blank usernames are not allowed. Try again.") - ask_username - else - @username = input - @@connected_clients.push(self) - self.other_peers.each { |c| c.send_data("#{@username} has joined the room\n") } - puts "#{@username} has joined" - - self.send_line("[info] Ohai, #{@username}") - end - end # handle_username(input) - - def ask_username - self.send_line("[info] Enter your username:") - end # ask_username - - - # - # Message handling - # - - def handle_chat_message(msg) - if command?(msg) - self.handle_command(msg) - else - if direct_message?(msg) - self.handle_direct_message(msg) - else - self.announce(msg, "#{@username}:") - end - end - end # handle_chat_message(msg) - - def direct_message?(input) - input =~ DM_REGEXP - end # direct_message?(input) - - def handle_direct_message(input) - username, message = parse_direct_message(input) - - if connection = @@connected_clients.find { |c| c.username == username } - puts "[dm] @#{@username} => @#{username}" - connection.send_line("[dm] @#{@username}: #{message}") - else - send_line "@#{username} is not in the room. Here's who is: #{usernames.join(', ')}" - end - end # handle_direct_message(input) - - def parse_direct_message(input) - return [$1, $2] if input =~ DM_REGEXP - end # parse_direct_message(input) - - - # - # Commands handling - # - - def command?(input) - input =~ /(exit|status)$/i - end # command?(input) - - def handle_command(cmd) - case cmd - when /exit$/i then self.close_connection - when /status$/i then self.send_line("[chat server] It's #{Time.now.strftime('%H:%M')} and there are #{self.number_of_connected_clients} people in the room") - end - end # handle_command(cmd) - - - # - # Helpers - # - - def announce(msg = nil, prefix = "[chat server]") - @@connected_clients.each { |c| c.send_line("#{prefix} #{msg}") } unless msg.empty? - end # announce(msg) - - def number_of_connected_clients - @@connected_clients.size - end # number_of_connected_clients - - def other_peers - @@connected_clients.reject { |c| self == c } - end # other_peers - - def send_line(line) - self.send_data("#{line}\n") - end # send_line(line) - - def usernames - @@connected_clients.map { |c| c.username } - end # usernames -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/04_simple_chat_server_step_one.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/04_simple_chat_server_step_one.rb deleted file mode 100644 index bb283a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/04_simple_chat_server_step_one.rb +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class SimpleChatServer < EM::Connection - - # - # EventMachine handlers - # - - def post_init - puts "A client has connected..." - end - - def unbind - puts "A client has left..." - end -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/05_simple_chat_server_step_two.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/05_simple_chat_server_step_two.rb deleted file mode 100644 index 1361c5d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/05_simple_chat_server_step_two.rb +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class SimpleChatServer < EM::Connection - - @@connected_clients = Array.new - - - # - # EventMachine handlers - # - - def post_init - @@connected_clients.push(self) - puts "A client has connected..." - end - - def unbind - @@connected_clients.delete(self) - puts "A client has left..." - end - - - - - # - # Helpers - # - - def other_peers - @@connected_clients.reject { |c| self == c } - end # other_peers -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/06_simple_chat_server_step_three.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/06_simple_chat_server_step_three.rb deleted file mode 100644 index d9b85e2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/06_simple_chat_server_step_three.rb +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class SimpleChatServer < EM::Connection - - @@connected_clients = Array.new - - - attr_reader :username - - - # - # EventMachine handlers - # - - def post_init - @username = nil - - puts "A client has connected..." - ask_username - end - - def unbind - @@connected_clients.delete(self) - puts "A client has left..." - end - - def receive_data(data) - if entered_username? - handle_chat_message(data.strip) - else - handle_username(data.strip) - end - end - - - - - # - # Username handling - # - - def entered_username? - !@username.nil? && !@username.empty? - end # entered_username? - - def handle_username(input) - if input.empty? - send_line("Blank usernames are not allowed. Try again.") - ask_username - else - @username = input - @@connected_clients.push(self) - self.other_peers.each { |c| c.send_data("#{@username} has joined the room\n") } - puts "#{@username} has joined" - - self.send_line("[info] Ohai, #{@username}") - end - end # handle_username(input) - - def ask_username - self.send_line("[info] Enter your username:") - end # ask_username - - - - # - # Message handling - # - - def handle_chat_message(msg) - raise NotImplementedError - end - - - - # - # Helpers - # - - def other_peers - @@connected_clients.reject { |c| self == c } - end # other_peers - - def send_line(line) - self.send_data("#{line}\n") - end # send_line(line) -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/07_simple_chat_server_step_four.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/07_simple_chat_server_step_four.rb deleted file mode 100644 index d4948af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/07_simple_chat_server_step_four.rb +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class SimpleChatServer < EM::Connection - - @@connected_clients = Array.new - - - attr_reader :username - - - # - # EventMachine handlers - # - - def post_init - @username = nil - - puts "A client has connected..." - ask_username - end - - def unbind - @@connected_clients.delete(self) - puts "[info] #{@username} has left" if entered_username? - end - - def receive_data(data) - if entered_username? - handle_chat_message(data.strip) - else - handle_username(data.strip) - end - end - - - - - # - # Username handling - # - - def entered_username? - !@username.nil? && !@username.empty? - end # entered_username? - - def handle_username(input) - if input.empty? - send_line("Blank usernames are not allowed. Try again.") - ask_username - else - @username = input - @@connected_clients.push(self) - self.other_peers.each { |c| c.send_data("#{@username} has joined the room\n") } - puts "#{@username} has joined" - - self.send_line("[info] Ohai, #{@username}") - end - end # handle_username(input) - - def ask_username - self.send_line("[info] Enter your username:") - end # ask_username - - - - # - # Message handling - # - - def handle_chat_message(msg) - if command?(msg) - self.handle_command(msg) - else - self.announce(msg, "#{@username}:") - end - end - - - # - # Commands handling - # - - def command?(input) - input =~ /exit$/i - end # command?(input) - - def handle_command(cmd) - case cmd - when /exit$/i then self.close_connection - end - end # handle_command(cmd) - - - - # - # Helpers - # - - def announce(msg = nil, prefix = "[chat server]") - @@connected_clients.each { |c| c.send_line("#{prefix} #{msg}") } unless msg.empty? - end # announce(msg) - - def other_peers - @@connected_clients.reject { |c| self == c } - end # other_peers - - def send_line(line) - self.send_data("#{line}\n") - end # send_line(line) -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/08_simple_chat_server_step_five.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/08_simple_chat_server_step_five.rb deleted file mode 100644 index 03da66b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/guides/getting_started/08_simple_chat_server_step_five.rb +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env ruby - -require 'rubygems' # or use Bundler.setup -require 'eventmachine' - -class SimpleChatServer < EM::Connection - - @@connected_clients = Array.new - DM_REGEXP = /^@([a-zA-Z0-9]+)\s*:?\s+(.+)/.freeze - - attr_reader :username - - - # - # EventMachine handlers - # - - def post_init - @username = nil - - puts "A client has connected..." - ask_username - end - - def unbind - @@connected_clients.delete(self) - puts "[info] #{@username} has left" if entered_username? - end - - def receive_data(data) - if entered_username? - handle_chat_message(data.strip) - else - handle_username(data.strip) - end - end - - - # - # Username handling - # - - def entered_username? - !@username.nil? && !@username.empty? - end # entered_username? - - def handle_username(input) - if input.empty? - send_line("Blank usernames are not allowed. Try again.") - ask_username - else - @username = input - @@connected_clients.push(self) - self.other_peers.each { |c| c.send_data("#{@username} has joined the room\n") } - puts "#{@username} has joined" - - self.send_line("[info] Ohai, #{@username}") - end - end # handle_username(input) - - def ask_username - self.send_line("[info] Enter your username:") - end # ask_username - - - # - # Message handling - # - - def handle_chat_message(msg) - if command?(msg) - self.handle_command(msg) - else - if direct_message?(msg) - self.handle_direct_message(msg) - else - self.announce(msg, "#{@username}:") - end - end - end # handle_chat_message(msg) - - def direct_message?(input) - input =~ DM_REGEXP - end # direct_message?(input) - - def handle_direct_message(input) - username, message = parse_direct_message(input) - - if connection = @@connected_clients.find { |c| c.username == username } - puts "[dm] @#{@username} => @#{username}" - connection.send_line("[dm] @#{@username}: #{message}") - else - send_line "@#{username} is not in the room. Here's who is: #{usernames.join(', ')}" - end - end # handle_direct_message(input) - - def parse_direct_message(input) - return [$1, $2] if input =~ DM_REGEXP - end # parse_direct_message(input) - - - # - # Commands handling - # - - def command?(input) - input =~ /(exit|status)$/i - end # command?(input) - - def handle_command(cmd) - case cmd - when /exit$/i then self.close_connection - when /status$/i then self.send_line("[chat server] It's #{Time.now.strftime('%H:%M')} and there are #{self.number_of_connected_clients} people in the room") - end - end # handle_command(cmd) - - - # - # Helpers - # - - def announce(msg = nil, prefix = "[chat server]") - @@connected_clients.each { |c| c.send_line("#{prefix} #{msg}") } unless msg.empty? - end # announce(msg) - - def other_peers - @@connected_clients.reject { |c| self == c } - end # other_peers - - def send_line(line) - self.send_data("#{line}\n") - end # send_line(line) -end - -EventMachine.run do - # hit Control + C to stop - Signal.trap("INT") { EventMachine.stop } - Signal.trap("TERM") { EventMachine.stop } - - EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_channel.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_channel.rb deleted file mode 100644 index 16e8d08..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_channel.rb +++ /dev/null @@ -1,43 +0,0 @@ -require File.dirname(__FILE__) + '/helper' - -EM.run do - - # Create a channel to push data to, this could be stocks... - RandChannel = EM::Channel.new - - # The server simply subscribes client connections to the channel on connect, - # and unsubscribes them on disconnect. - class Server < EM::Connection - def self.start(host = '127.0.0.1', port = 8000) - EM.start_server(host, port, self) - end - - def post_init - @sid = RandChannel.subscribe { |m| send_data "#{m.inspect}\n" } - end - - def unbind - RandChannel.unsubscribe @sid - end - end - Server.start - - # Two client connections, that just print what they receive. - 2.times do - EM.connect('127.0.0.1', 8000) do |c| - c.extend EM::P::LineText2 - def c.receive_line(line) - puts "Subscriber: #{signature} got #{line}" - end - EM.add_timer(2) { c.close_connection } - end - end - - # This part of the example is more fake, but imagine sleep was in fact a - # long running calculation to achieve the value. - 40.times do - EM.defer lambda { v = sleep(rand * 2); RandChannel << [Time.now, v] } - end - - EM.add_timer(5) { EM.stop } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_queue.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_queue.rb deleted file mode 100644 index 761ea76..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_queue.rb +++ /dev/null @@ -1,2 +0,0 @@ -require File.dirname(__FILE__) + '/helper' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_tick_loop_array.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_tick_loop_array.rb deleted file mode 100644 index 81b0ae3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_tick_loop_array.rb +++ /dev/null @@ -1,15 +0,0 @@ -require File.dirname(__FILE__) + '/helper' - -EM.run do - array = (1..100).to_a - - tickloop = EM.tick_loop do - if array.empty? - :stop - else - puts array.shift - end - end - - tickloop.on_stop { EM.stop } -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_tick_loop_counter.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_tick_loop_counter.rb deleted file mode 100644 index 58e51ff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/ex_tick_loop_counter.rb +++ /dev/null @@ -1,32 +0,0 @@ -require File.dirname(__FILE__) + '/helper' - -class TickCounter - attr_reader :start_time, :count - - def initialize - reset - @tick_loop = EM.tick_loop(method(:tick)) - end - - def reset - @count = 0 - @start_time = EM.current_time - end - - def tick - @count += 1 - end - - def rate - @count / (EM.current_time - @start_time) - end -end - -period = 5 -EM.run do - counter = TickCounter.new - EM.add_periodic_timer(period) do - puts "Ticks per second: #{counter.rate} (mean of last #{period}s)" - counter.reset - end -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/helper.rb deleted file mode 100644 index 835ded2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/examples/old/helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib') -require 'eventmachine' \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/.sitearchdir.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/.sitearchdir.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/Makefile deleted file mode 100644 index 9ede508..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/Makefile +++ /dev/null @@ -1,266 +0,0 @@ - -SHELL = /bin/sh - -# V=0 quiet, V=1 verbose. other values don't work. -V = 0 -Q1 = $(V:1=) -Q = $(Q1:0=@) -ECHO1 = $(V:1=@ :) -ECHO = $(ECHO1:0=@ echo) -NULLCMD = : - -#### Start of system configuration section. #### - -srcdir = . -topdir = /usr/include/ruby-3.0.0 -hdrdir = $(topdir) -arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0 -PATH_SEPARATOR = : -VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby -prefix = $(DESTDIR)/usr -rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) -rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) -rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) -exec_prefix = $(prefix) -vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby -sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby -rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) -vendorhdrdir = $(rubyhdrdir)/vendor_ruby -sitehdrdir = $(rubyhdrdir)/site_ruby -rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) -vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) -vendorlibdir = $(vendordir)/$(ruby_version) -vendordir = $(rubylibprefix)/vendor_ruby -sitearchdir = $(DESTDIR)./.gem.20231104-11184-yyd3lq -sitelibdir = $(DESTDIR)./.gem.20231104-11184-yyd3lq -sitedir = $(DESTDIR)/usr/local/lib/site_ruby -rubyarchdir = $(rubyarchprefix)/$(ruby_version) -rubylibdir = $(rubylibprefix)/$(ruby_version) -sitearchincludedir = $(includedir)/$(sitearch) -archincludedir = $(includedir)/$(arch) -sitearchlibdir = $(libdir)/$(sitearch) -archlibdir = $(libdir)/$(arch) -ridir = $(datarootdir)/$(RI_BASE_NAME) -mandir = $(datarootdir)/man -localedir = $(datarootdir)/locale -libdir = $(exec_prefix)/lib -psdir = $(docdir) -pdfdir = $(docdir) -dvidir = $(docdir) -htmldir = $(docdir) -infodir = $(datarootdir)/info -docdir = $(datarootdir)/doc/$(PACKAGE) -oldincludedir = $(DESTDIR)/usr/include -includedir = $(prefix)/include -runstatedir = $(DESTDIR)/var/run -localstatedir = $(DESTDIR)/var -sharedstatedir = $(prefix)/com -sysconfdir = $(DESTDIR)/etc -datadir = $(datarootdir) -datarootdir = $(prefix)/share -libexecdir = $(exec_prefix)/libexec -sbindir = $(exec_prefix)/sbin -bindir = $(exec_prefix)/bin -archdir = $(rubyarchdir) - - -CC_WRAPPER = -CC = x86_64-linux-gnu-gcc -CXX = x86_64-linux-gnu-g++ -LIBRUBY = $(LIBRUBY_SO) -LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a -LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) -LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) -empty = -OUTFLAG = -o $(empty) -COUTFLAG = -o $(empty) -CSRCFLAG = $(empty) - -RUBY_EXTCONF_H = -cflags = $(optflags) $(debugflags) $(warnflags) -cxxflags = -optflags = -O3 -debugflags = -ggdb3 -warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -cppflags = -CCDLFLAGS = -fPIC -CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC $(ARCH_FLAG) -INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -DEFS = -CPPFLAGS = -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_ERR_H -DWITH_SSL -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_CALL_WITHOUT_GVL -DHAVE_RB_THREAD_FD_SELECT -DHAVE_TYPE_RB_FDSET_T -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_RB_TIME_NEW -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_PIPE2 -DHAVE_ACCEPT4 -DHAVE_CONST_SOCK_CLOEXEC -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL -DHAVE_CLOCK_GETTIME -DHAVE_CONST_CLOCK_MONOTONIC_RAW -DHAVE_CONST_CLOCK_MONOTONIC -DHAVE_MAKE_PAIR -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG) -ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -ARCH_FLAG = -DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) -LDSHARED = $(CXX) -shared -LDSHAREDXX = $(CXX) -shared -AR = x86_64-linux-gnu-gcc-ar -EXEEXT = - -RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0 -RUBY_SO_NAME = ruby-3.0 -RUBYW_INSTALL_NAME = -RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) -RUBYW_BASE_NAME = rubyw -RUBY_BASE_NAME = ruby - -arch = x86_64-linux-gnu -sitearch = $(arch) -ruby_version = 3.0.0 -ruby = $(bindir)/$(RUBY_BASE_NAME)3.0 -RUBY = $(ruby) -ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h - -RM = rm -f -RM_RF = $(RUBY) -run -e rm -- -rf -RMDIRS = rmdir --ignore-fail-on-non-empty -p -MAKEDIRS = /usr/bin/mkdir -p -INSTALL = /usr/bin/install -c -INSTALL_PROG = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -m 644 -COPY = cp -TOUCH = exit > - -#### End of system configuration section. #### - -preload = -libpath = . $(archlibdir) -LIBPATH = -L. -L$(archlibdir) -DEFFILE = - -CLEANFILES = mkmf.log -DISTCLEANFILES = -DISTCLEANDIRS = - -extout = -extout_prefix = -target_prefix = -LOCAL_LIBS = -LIBS = $(LIBRUBYARG_SHARED) -lcrypto -lssl -lm -lc -ORIG_SRCS = binder.cpp cmain.cpp ed.cpp em.cpp kb.cpp page.cpp pipe.cpp rubymain.cpp ssl.cpp -SRCS = $(ORIG_SRCS) -OBJS = binder.o cmain.o ed.o em.o kb.o page.o pipe.o rubymain.o ssl.o -HDRS = $(srcdir)/binder.h $(srcdir)/ed.h $(srcdir)/em.h $(srcdir)/eventmachine.h $(srcdir)/page.h $(srcdir)/project.h $(srcdir)/ssl.h -LOCAL_HDRS = -TARGET = rubyeventmachine -TARGET_NAME = rubyeventmachine -TARGET_ENTRY = Init_$(TARGET_NAME) -DLLIB = $(TARGET).so -EXTSTATIC = -STATIC_LIB = - -TIMESTAMP_DIR = . -BINDIR = $(bindir) -RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = $(sitelibdir)$(target_prefix) -RUBYARCHDIR = $(sitearchdir)$(target_prefix) -HDRDIR = $(sitehdrdir)$(target_prefix) -ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) -TARGET_SO_DIR = -TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) -CLEANLIBS = $(TARGET_SO) -CLEANOBJS = *.o *.bak - -all: $(DLLIB) -static: $(STATIC_LIB) -.PHONY: all install static install-so install-rb -.PHONY: clean clean-so clean-static clean-rb - -clean-static:: -clean-rb-default:: -clean-rb:: -clean-so:: -clean: clean-so clean-static clean-rb-default clean-rb - -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time - -distclean-rb-default:: -distclean-rb:: -distclean-so:: -distclean-static:: -distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb - -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log - -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) - -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true - -realclean: distclean -install: install-so install-rb - -install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time - $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) -clean-static:: - -$(Q)$(RM) $(STATIC_LIB) -install-rb: pre-install-rb do-install-rb install-rb-default -install-rb-default: pre-install-rb-default do-install-rb-default -pre-install-rb: Makefile -pre-install-rb-default: Makefile -do-install-rb: -do-install-rb-default: -pre-install-rb-default: - @$(NULLCMD) -$(TIMESTAMP_DIR)/.sitearchdir.time: - $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) - $(Q) $(TOUCH) $@ - -site-install: site-install-so site-install-rb -site-install-so: install-so -site-install-rb: install-rb - -.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S - -.cc.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cc.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.mm.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.mm.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cxx.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cxx.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cpp.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cpp.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.c.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.c.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.m.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.m.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -$(TARGET_SO): $(OBJS) Makefile - $(ECHO) linking shared-object $(DLLIB) - -$(Q)$(RM) $(@) - $(Q) $(LDSHAREDXX) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) - - - -$(OBJS): $(HDRS) $(ruby_headers) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.cpp deleted file mode 100644 index 5b90876..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: binder.cpp -Date: 07Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#include "project.h" - -#define DEV_URANDOM "/dev/urandom" - - -std::map Bindable_t::BindingBag; - - -/******************************** -STATIC Bindable_t::CreateBinding -********************************/ - -uintptr_t Bindable_t::CreateBinding() -{ - static uintptr_t num = 0; - while(BindingBag[++num]) {} - return num; -} - -#if 0 -string Bindable_t::CreateBinding() -{ - static int index = 0; - static string seed; - - if ((index >= 1000000) || (seed.length() == 0)) { - #ifdef OS_UNIX - int fd = open (DEV_URANDOM, O_RDONLY); - if (fd < 0) - throw std::runtime_error ("No entropy device"); - - unsigned char u[16]; - size_t r = read (fd, u, sizeof(u)); - if (r < sizeof(u)) - throw std::runtime_error ("Unable to read entropy device"); - - unsigned char *u1 = (unsigned char*)u; - char u2 [sizeof(u) * 2 + 1]; - - for (size_t i=0; i < sizeof(u); i++) - sprintf (u2 + (i * 2), "%02x", u1[i]); - - seed = string (u2); - #endif - - - #ifdef OS_WIN32 - UUID uuid; - UuidCreate (&uuid); - unsigned char *uuidstring = NULL; - UuidToString (&uuid, &uuidstring); - if (!uuidstring) - throw std::runtime_error ("Unable to read uuid"); - seed = string ((const char*)uuidstring); - - RpcStringFree (&uuidstring); - #endif - - index = 0; - - - } - - stringstream ss; - ss << seed << (++index); - return ss.str(); -} -#endif - -/***************************** -STATIC: Bindable_t::GetObject -*****************************/ - -Bindable_t *Bindable_t::GetObject (const uintptr_t binding) -{ - std::map::const_iterator i = BindingBag.find (binding); - if (i != BindingBag.end()) - return i->second; - else - return NULL; -} - - -/********************** -Bindable_t::Bindable_t -**********************/ - -Bindable_t::Bindable_t() -{ - Binding = Bindable_t::CreateBinding(); - BindingBag [Binding] = this; -} - - - -/*********************** -Bindable_t::~Bindable_t -***********************/ - -Bindable_t::~Bindable_t() NO_EXCEPT_FALSE -{ - BindingBag.erase (Binding); -} - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.h deleted file mode 100644 index dd32c8d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: binder.h -Date: 07Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#ifndef __ObjectBindings__H_ -#define __ObjectBindings__H_ - - -#if __cplusplus >= 201103L -#define NO_EXCEPT_FALSE noexcept(false) -#else -#define NO_EXCEPT_FALSE -#endif - -class Bindable_t -{ - public: - static uintptr_t CreateBinding(); - static Bindable_t *GetObject (const uintptr_t); - static std::map BindingBag; - - public: - Bindable_t(); - virtual ~Bindable_t() NO_EXCEPT_FALSE; - - const uintptr_t GetBinding() {return Binding;} - - private: - uintptr_t Binding; -}; - - - - - -#endif // __ObjectBindings__H_ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.o deleted file mode 100644 index 18d3688..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/binder.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/cmain.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/cmain.cpp deleted file mode 100644 index f58c2cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/cmain.cpp +++ /dev/null @@ -1,988 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: cmain.cpp -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#include "project.h" - -/* 21Sep09: ruby 1.9 defines macros for common i/o functions that point to rb_w32_* implementations. - We need to undef the stat to fix a build failure in evma_send_file_data_to_connection. - See http://groups.google.com/group/eventmachine/browse_thread/thread/fc60d9bb738ffc71 -*/ -#if defined(BUILD_FOR_RUBY) && defined(OS_WIN32) -#undef stat -#undef fstat -#endif - -static EventMachine_t *EventMachine; -static Poller_t Poller = Poller_Default; - -extern "C" void ensure_eventmachine (const char *caller = "unknown caller") -{ - if (!EventMachine) { - const int err_size = 128; - char err_string[err_size]; - snprintf (err_string, err_size, "eventmachine not initialized: %s", caller); - #ifdef BUILD_FOR_RUBY - rb_raise(rb_eRuntimeError, "%s", err_string); - #else - throw std::runtime_error (err_string); - #endif - } -} - -/*********************** -evma_initialize_library -***********************/ - -extern "C" void evma_initialize_library (EMCallback cb) -{ - if (EventMachine) - #ifdef BUILD_FOR_RUBY - rb_raise(rb_eRuntimeError, "eventmachine already initialized: evma_initialize_library"); - #else - throw std::runtime_error ("eventmachine already initialized: evma_initialize_library"); - #endif - - EventMachine = new EventMachine_t (cb, Poller); -} - - -/******************** -evma_release_library -********************/ - -extern "C" void evma_release_library() -{ - ensure_eventmachine("evma_release_library"); - delete EventMachine; - EventMachine = NULL; -} - - -/********************* -evma_run_machine_once -*********************/ - -extern "C" bool evma_run_machine_once() -{ - ensure_eventmachine("evma_run_machine_once"); - return EventMachine->RunOnce(); -} - - -/**************** -evma_run_machine -****************/ - -extern "C" void evma_run_machine() -{ - ensure_eventmachine("evma_run_machine"); - EventMachine->Run(); -} - - -/************************** -evma_install_oneshot_timer -**************************/ - -extern "C" const uintptr_t evma_install_oneshot_timer (uint64_t milliseconds) -{ - ensure_eventmachine("evma_install_oneshot_timer"); - return EventMachine->InstallOneshotTimer (milliseconds); -} - - -/********************** -evma_connect_to_server -**********************/ - -extern "C" const uintptr_t evma_connect_to_server (const char *bind_addr, int bind_port, const char *server, int port) -{ - ensure_eventmachine("evma_connect_to_server"); - return EventMachine->ConnectToServer (bind_addr, bind_port, server, port); -} - -/*************************** -evma_connect_to_unix_server -***************************/ - -extern "C" const uintptr_t evma_connect_to_unix_server (const char *server) -{ - ensure_eventmachine("evma_connect_to_unix_server"); - return EventMachine->ConnectToUnixServer (server); -} - -/************** -evma_attach_fd -**************/ - -extern "C" const uintptr_t evma_attach_fd (int file_descriptor, int watch_mode) -{ - ensure_eventmachine("evma_attach_fd"); - return EventMachine->AttachFD (file_descriptor, watch_mode ? true : false); -} - -/************** -evma_detach_fd -**************/ - -extern "C" int evma_detach_fd (const uintptr_t binding) -{ - ensure_eventmachine("evma_detach_fd"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return EventMachine->DetachFD (ed); - else - #ifdef BUILD_FOR_RUBY - rb_raise(rb_eRuntimeError, "invalid binding to detach"); - #else - throw std::runtime_error ("invalid binding to detach"); - #endif - return -1; -} - -/************************ -evma_get_file_descriptor -************************/ - -extern "C" int evma_get_file_descriptor (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_file_descriptor"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->GetSocket(); - else - #ifdef BUILD_FOR_RUBY - rb_raise(rb_eRuntimeError, "invalid binding to get_fd"); - #else - throw std::runtime_error ("invalid binding to get_fd"); - #endif - return -1; -} - -/*********************** -evma_is_notify_readable -***********************/ - -extern "C" int evma_is_notify_readable (const uintptr_t binding) -{ - ConnectionDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - return cd->IsNotifyReadable() ? 1 : 0; - return -1; -} - -/************************ -evma_set_notify_readable -************************/ - -extern "C" void evma_set_notify_readable (const uintptr_t binding, int mode) -{ - ConnectionDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - cd->SetNotifyReadable (mode ? true : false); -} - -/*********************** -evma_is_notify_writable -***********************/ - -extern "C" int evma_is_notify_writable (const uintptr_t binding) -{ - ConnectionDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - return cd->IsNotifyWritable() ? 1 : 0; - return -1; -} - -/************************ -evma_set_notify_writable -************************/ - -extern "C" void evma_set_notify_writable (const uintptr_t binding, int mode) -{ - ConnectionDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - cd->SetNotifyWritable (mode ? true : false); -} - -/********** -evma_pause -**********/ - -extern "C" int evma_pause (const uintptr_t binding) -{ - EventableDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - return cd->Pause() ? 1 : 0; - - return 0; -} - -/*********** -evma_resume -***********/ - -extern "C" int evma_resume (const uintptr_t binding) -{ - EventableDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - return cd->Resume() ? 1 : 0; - - return 0; -} - -/************** -evma_is_paused -**************/ - -extern "C" int evma_is_paused (const uintptr_t binding) -{ - EventableDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - return cd->IsPaused() ? 1 : 0; - - return 0; -} - -/************************ -evma_num_close_scheduled -************************/ - -extern "C" int evma_num_close_scheduled () -{ - ensure_eventmachine("evma_num_close_scheduled"); - return EventMachine->NumCloseScheduled; -} - -/********************** -evma_create_tcp_server -**********************/ - -extern "C" const uintptr_t evma_create_tcp_server (const char *address, int port) -{ - ensure_eventmachine("evma_create_tcp_server"); - return EventMachine->CreateTcpServer (address, port); -} - -/****************************** -evma_create_unix_domain_server -******************************/ - -extern "C" const uintptr_t evma_create_unix_domain_server (const char *filename) -{ - ensure_eventmachine("evma_create_unix_domain_server"); - return EventMachine->CreateUnixDomainServer (filename); -} - -/*********************** -evma_attach_sd -************************/ - -extern "C" const uintptr_t evma_attach_sd (int sd) -{ - ensure_eventmachine("evma_attach_sd"); - return EventMachine->AttachSD (sd); -} - -/************************* -evma_open_datagram_socket -*************************/ - -extern "C" const uintptr_t evma_open_datagram_socket (const char *address, int port) -{ - ensure_eventmachine("evma_open_datagram_socket"); - return EventMachine->OpenDatagramSocket (address, port); -} - -/****************** -evma_open_keyboard -******************/ - -extern "C" const uintptr_t evma_open_keyboard() -{ - ensure_eventmachine("evma_open_keyboard"); - return EventMachine->OpenKeyboard(); -} - -/******************* -evma_watch_filename -*******************/ - -extern "C" const uintptr_t evma_watch_filename (const char *fname) -{ - ensure_eventmachine("evma_watch_filename"); - return EventMachine->WatchFile(fname); -} - -/********************* -evma_unwatch_filename -*********************/ - -extern "C" void evma_unwatch_filename (const uintptr_t sig) -{ - ensure_eventmachine("evma_unwatch_file"); - EventMachine->UnwatchFile(sig); -} - -/************** -evma_watch_pid -**************/ - -extern "C" const uintptr_t evma_watch_pid (int pid) -{ - ensure_eventmachine("evma_watch_pid"); - return EventMachine->WatchPid(pid); -} - -/**************** -evma_unwatch_pid -****************/ - -extern "C" void evma_unwatch_pid (const uintptr_t sig) -{ - ensure_eventmachine("evma_unwatch_pid"); - EventMachine->UnwatchPid(sig); -} - -/**************************** -evma_send_data_to_connection -****************************/ - -extern "C" int evma_send_data_to_connection (const uintptr_t binding, const char *data, int data_length) -{ - ensure_eventmachine("evma_send_data_to_connection"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->SendOutboundData(data, data_length); - return -1; -} - -/****************** -evma_send_datagram -******************/ - -extern "C" int evma_send_datagram (const uintptr_t binding, const char *data, int data_length, const char *address, int port) -{ - ensure_eventmachine("evma_send_datagram"); - DatagramDescriptor *dd = dynamic_cast (Bindable_t::GetObject (binding)); - if (dd) - return dd->SendOutboundDatagram(data, data_length, address, port); - return -1; -} - - -/********************* -evma_close_connection -*********************/ - -extern "C" void evma_close_connection (const uintptr_t binding, int after_writing) -{ - ensure_eventmachine("evma_close_connection"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - ed->ScheduleClose (after_writing ? true : false); -} - -/*********************************** -evma_report_connection_error_status -***********************************/ - -extern "C" int evma_report_connection_error_status (const uintptr_t binding) -{ - ensure_eventmachine("evma_report_connection_error_status"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->ReportErrorStatus(); - return -1; -} - -/******************** -evma_stop_tcp_server -********************/ - -extern "C" void evma_stop_tcp_server (const uintptr_t binding) -{ - ensure_eventmachine("evma_stop_tcp_server"); - AcceptorDescriptor::StopAcceptor (binding); -} - - -/***************** -evma_stop_machine -*****************/ - -extern "C" void evma_stop_machine() -{ - ensure_eventmachine("evma_stop_machine"); - EventMachine->ScheduleHalt(); -} - -/***************** -evma_stopping -*****************/ - -extern "C" bool evma_stopping() -{ - ensure_eventmachine("evma_stopping"); - return EventMachine->Stopping(); -} - -/************** -evma_start_tls -**************/ - -extern "C" void evma_start_tls (const uintptr_t binding) -{ - ensure_eventmachine("evma_start_tls"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - ed->StartTls(); -} - -/****************** -evma_set_tls_parms -******************/ - -extern "C" void evma_set_tls_parms (const uintptr_t binding, const char *privatekey_filename, const char *certchain_filename, int verify_peer, int fail_if_no_peer_cert, const char *sni_hostname, const char *cipherlist, const char *ecdh_curve, const char *dhparam, int ssl_version) -{ - ensure_eventmachine("evma_set_tls_parms"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - ed->SetTlsParms (privatekey_filename, certchain_filename, (verify_peer == 1 ? true : false), (fail_if_no_peer_cert == 1 ? true : false), sni_hostname, cipherlist, ecdh_curve, dhparam, ssl_version); -} - -/****************** -evma_get_peer_cert -******************/ - -#ifdef WITH_SSL -extern "C" X509 *evma_get_peer_cert (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_peer_cert"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->GetPeerCert(); - return NULL; -} -#endif - -/****************** -evma_get_cipher_bits -******************/ - -#ifdef WITH_SSL -extern "C" int evma_get_cipher_bits (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_cipher_bits"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->GetCipherBits(); - return -1; -} -#endif - -/****************** -evma_get_cipher_name -******************/ - -#ifdef WITH_SSL -extern "C" const char *evma_get_cipher_name (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_cipher_name"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->GetCipherName(); - return NULL; -} -#endif - -/****************** -evma_get_cipher_protocol -******************/ - -#ifdef WITH_SSL -extern "C" const char *evma_get_cipher_protocol (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_cipher_protocol"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->GetCipherProtocol(); - return NULL; -} -#endif - -/****************** -evma_get_sni_hostname -******************/ - -#ifdef WITH_SSL -extern "C" const char *evma_get_sni_hostname (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_sni_hostname"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) - return ed->GetSNIHostname(); - return NULL; -} -#endif - -/******************** -evma_accept_ssl_peer -********************/ - -#ifdef WITH_SSL -extern "C" void evma_accept_ssl_peer (const uintptr_t binding) -{ - ensure_eventmachine("evma_accept_ssl_peer"); - ConnectionDescriptor *cd = dynamic_cast (Bindable_t::GetObject (binding)); - if (cd) - cd->AcceptSslPeer(); -} -#endif - -/***************** -evma_get_peername -*****************/ - -extern "C" int evma_get_peername (const uintptr_t binding, struct sockaddr *sa, socklen_t *len) -{ - ensure_eventmachine("evma_get_peername"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) { - return ed->GetPeername (sa, len) ? 1 : 0; - } - else - return 0; -} - -/***************** -evma_get_sockname -*****************/ - -extern "C" int evma_get_sockname (const uintptr_t binding, struct sockaddr *sa, socklen_t *len) -{ - ensure_eventmachine("evma_get_sockname"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) { - return ed->GetSockname (sa, len) ? 1 : 0; - } - else - return 0; -} - -/*********************** -evma_get_subprocess_pid -***********************/ - -#ifdef OS_UNIX -extern "C" int evma_get_subprocess_pid (const uintptr_t binding, pid_t *pid) -{ - ensure_eventmachine("evma_get_subprocess_pid"); - PipeDescriptor *pd = dynamic_cast (Bindable_t::GetObject (binding)); - if (pd) { - return pd->GetSubprocessPid (pid) ? 1 : 0; - } - else if (pid && EventMachine->SubprocessPid) { - *pid = EventMachine->SubprocessPid; - return 1; - } - else - return 0; -} -#else -extern "C" int evma_get_subprocess_pid (const uintptr_t binding UNUSED, pid_t *pid UNUSED) -{ - return 0; -} -#endif - -/************************** -evma_get_subprocess_status -**************************/ - -extern "C" int evma_get_subprocess_status (const uintptr_t binding UNUSED, int *status) -{ - ensure_eventmachine("evma_get_subprocess_status"); - if (status) { - *status = EventMachine->SubprocessExitStatus; - return 1; - } - else - return 0; -} - -/************************* -evma_get_connection_count -*************************/ - -extern "C" int evma_get_connection_count() -{ - ensure_eventmachine("evma_get_connection_count"); - return EventMachine->GetConnectionCount(); -} - -/********************* -evma_signal_loopbreak -*********************/ - -extern "C" void evma_signal_loopbreak() -{ - ensure_eventmachine("evma_signal_loopbreak"); - EventMachine->SignalLoopBreaker(); -} - - - -/******************************** -evma_get_comm_inactivity_timeout -********************************/ - -extern "C" float evma_get_comm_inactivity_timeout (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_comm_inactivity_timeout"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) { - return ((float)ed->GetCommInactivityTimeout() / 1000); - } - else - return 0.0; //Perhaps this should be an exception. Access to an unknown binding. -} - -/******************************** -evma_set_comm_inactivity_timeout -********************************/ - -extern "C" int evma_set_comm_inactivity_timeout (const uintptr_t binding, float value) -{ - ensure_eventmachine("evma_set_comm_inactivity_timeout"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) { - return ed->SetCommInactivityTimeout ((uint64_t)(value * 1000)); - } - else - return 0; //Perhaps this should be an exception. Access to an unknown binding. -} - - -/******************************** -evma_get_pending_connect_timeout -********************************/ - -extern "C" float evma_get_pending_connect_timeout (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_pending_connect_timeout"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) { - return ((float)ed->GetPendingConnectTimeout() / 1000); - } - else - return 0.0; -} - - -/******************************** -evma_set_pending_connect_timeout -********************************/ - -extern "C" int evma_set_pending_connect_timeout (const uintptr_t binding, float value) -{ - ensure_eventmachine("evma_set_pending_connect_timeout"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - if (ed) { - return ed->SetPendingConnectTimeout ((uint64_t)(value * 1000)); - } - else - return 0; -} - - -/********************** -evma_set_timer_quantum -**********************/ - -extern "C" void evma_set_timer_quantum (int interval) -{ - ensure_eventmachine("evma_set_timer_quantum"); - EventMachine->SetTimerQuantum (interval); -} - - -/************************ -evma_get_max_timer_count -************************/ - -extern "C" int evma_get_max_timer_count() -{ - return EventMachine_t::GetMaxTimerCount(); -} - -/************************ -evma_set_max_timer_count -************************/ - -extern "C" void evma_set_max_timer_count (int ct) -{ - // This may only be called if the reactor is not running. - - if (EventMachine) - #ifdef BUILD_FOR_RUBY - rb_raise(rb_eRuntimeError, "eventmachine already initialized: evma_set_max_timer_count"); - #else - throw std::runtime_error ("eventmachine already initialized: evma_set_max_timer_count"); - #endif - EventMachine_t::SetMaxTimerCount (ct); -} - -/****************** -evma_get/set_simultaneous_accept_count -******************/ - -extern "C" void evma_set_simultaneous_accept_count (int count) -{ - EventMachine_t::SetSimultaneousAcceptCount(count); -} - -extern "C" int evma_get_simultaneous_accept_count() -{ - return EventMachine_t::GetSimultaneousAcceptCount(); -} - - -/****************** -evma_setuid_string -******************/ - -extern "C" void evma_setuid_string (const char *username) -{ - // We do NOT need to be running an EM instance because this method is static. - EventMachine_t::SetuidString (username); -} - - -/********** -evma_popen -**********/ - -extern "C" const uintptr_t evma_popen (char * const*cmd_strings) -{ - ensure_eventmachine("evma_popen"); - return EventMachine->Socketpair (cmd_strings); -} - - -/*************************** -evma_get_outbound_data_size -***************************/ - -extern "C" int evma_get_outbound_data_size (const uintptr_t binding) -{ - ensure_eventmachine("evma_get_outbound_data_size"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (binding)); - return ed ? ed->GetOutboundDataSize() : 0; -} - - -/************** -evma_set_epoll -**************/ - -extern "C" void evma_set_epoll (int use) -{ - if (use) - Poller = Poller_Epoll; - else - Poller = Poller_Default; -} - -/*************** -evma_set_kqueue -***************/ - -extern "C" void evma_set_kqueue (int use) -{ - if (use) - Poller = Poller_Kqueue; - else - Poller = Poller_Default; -} - - -/********************** -evma_set_rlimit_nofile -**********************/ - -extern "C" int evma_set_rlimit_nofile (int nofiles) -{ - return EventMachine_t::SetRlimitNofile (nofiles); -} - - -/********************************* -evma_send_file_data_to_connection -*********************************/ - -extern "C" int evma_send_file_data_to_connection (const uintptr_t binding, const char *filename) -{ - /* This is a sugaring over send_data_to_connection that reads a file into a - * locally-allocated buffer, and sends the file data to the remote peer. - * Return the number of bytes written to the caller. - * TODO, needs to impose a limit on the file size. This is intended only for - * small files. (I don't know, maybe 8K or less.) For larger files, use interleaved - * I/O to avoid slowing the rest of the system down. - * TODO: we should return a code rather than barf, in case of file-not-found. - * TODO, does this compile on Windows? - * TODO, given that we want this to work only with small files, how about allocating - * the buffer on the stack rather than the heap? - * - * Modified 25Jul07. This now returns -1 on file-too-large; 0 for success, and a positive - * errno in case of other errors. - * - * Contributed by Kirk Haines. - */ - - char data[32*1024]; - int r; - - ensure_eventmachine("evma_send_file_data_to_connection"); - -#if defined(OS_WIN32) - int Fd = open (filename, O_RDONLY|O_BINARY); -#else - int Fd = open (filename, O_RDONLY); -#endif - if (Fd < 0) - return errno; - // From here on, all early returns MUST close Fd. - - struct stat st; - if (fstat (Fd, &st)) { - int e = errno; - close (Fd); - return e; - } - - off_t filesize = st.st_size; - if (filesize <= 0) { - close (Fd); - return 0; - } - else if (filesize > (off_t) sizeof(data)) { - close (Fd); - return -1; - } - - r = read (Fd, data, filesize); - if (r != filesize) { - int e = errno; - close (Fd); - return e; - } - evma_send_data_to_connection (binding, data, r); - close (Fd); - - return 0; -} - - -/**************** -evma_start_proxy -*****************/ - -extern "C" void evma_start_proxy (const uintptr_t from, const uintptr_t to, const unsigned long bufsize, const unsigned long length) -{ - ensure_eventmachine("evma_start_proxy"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (from)); - if (ed) - ed->StartProxy(to, bufsize, length); -} - - -/*************** -evma_stop_proxy -****************/ - -extern "C" void evma_stop_proxy (const uintptr_t from) -{ - ensure_eventmachine("evma_stop_proxy"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (from)); - if (ed) - ed->StopProxy(); -} - -/****************** -evma_proxied_bytes -*******************/ - -extern "C" unsigned long evma_proxied_bytes (const uintptr_t from) -{ - ensure_eventmachine("evma_proxied_bytes"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (from)); - if (ed) - return ed->GetProxiedBytes(); - else - return 0; -} - - -/*************************** -evma_get_last_activity_time -****************************/ - -extern "C" uint64_t evma_get_last_activity_time(const uintptr_t from) -{ - ensure_eventmachine("evma_get_last_activity_time"); - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (from)); - if (ed) - return ed->GetLastActivity(); - else - return 0; -} - - -/*************************** -evma_get_heartbeat_interval -****************************/ - -extern "C" float evma_get_heartbeat_interval() -{ - ensure_eventmachine("evma_get_heartbeat_interval"); - return EventMachine->GetHeartbeatInterval(); -} - - -/*************************** -evma_set_heartbeat_interval -****************************/ - -extern "C" int evma_set_heartbeat_interval(float interval) -{ - ensure_eventmachine("evma_set_heartbeat_interval"); - return EventMachine->SetHeartbeatInterval(interval); -} - - -/************************** -evma_get_current_loop_time -***************************/ - -extern "C" uint64_t evma_get_current_loop_time() -{ - ensure_eventmachine("evma_get_current_loop_time"); - return EventMachine->GetCurrentLoopTime(); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/cmain.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/cmain.o deleted file mode 100644 index 1f688cc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/cmain.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.cpp deleted file mode 100644 index a469dff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.cpp +++ /dev/null @@ -1,2096 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: ed.cpp -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#include "project.h" - - - -/******************** -SetSocketNonblocking -********************/ - -bool SetSocketNonblocking (SOCKET sd) -{ - #ifdef OS_UNIX - int val = fcntl (sd, F_GETFL, 0); - return (fcntl (sd, F_SETFL, val | O_NONBLOCK) != SOCKET_ERROR) ? true : false; - #endif - - #ifdef OS_WIN32 - #ifdef BUILD_FOR_RUBY - // 14Jun09 Ruby provides its own wrappers for ioctlsocket. On 1.8 this is a simple wrapper, - // however, 1.9 keeps its own state about the socket. - // NOTE: F_GETFL is not supported - return (fcntl (sd, F_SETFL, O_NONBLOCK) == 0) ? true : false; - #else - unsigned long one = 1; - return (ioctlsocket (sd, FIONBIO, &one) == 0) ? true : false; - #endif - #endif -} - -/************ -SetFdCloexec -************/ - -#ifdef OS_UNIX -bool SetFdCloexec (int fd) -{ - int flags = fcntl(fd, F_GETFD, 0); - assert (flags >= 0); - flags |= FD_CLOEXEC; - return (fcntl(fd, F_SETFD, FD_CLOEXEC) == 0) ? true : false; -} -#else -bool SetFdCloexec (int fd UNUSED) -{ - return true; -} -#endif - -/**************************************** -EventableDescriptor::EventableDescriptor -****************************************/ - -EventableDescriptor::EventableDescriptor (SOCKET sd, EventMachine_t *em): - bCloseNow (false), - bCloseAfterWriting (false), - MySocket (sd), - bAttached (false), - bWatchOnly (false), - EventCallback (NULL), - bCallbackUnbind (true), - UnbindReasonCode (0), - ProxyTarget(NULL), - ProxiedFrom(NULL), - ProxiedBytes(0), - MaxOutboundBufSize(0), - MyEventMachine (em), - PendingConnectTimeout(20000000), - InactivityTimeout (0), - NextHeartbeat (0), - bPaused (false) -{ - /* There are three ways to close a socket, all of which should - * automatically signal to the event machine that this object - * should be removed from the polling scheduler. - * First is a hard close, intended for bad errors or possible - * security violations. It immediately closes the connection - * and puts this object into an error state. - * Second is to set bCloseNow, which will cause the event machine - * to delete this object (and thus close the connection in our - * destructor) the next chance it gets. bCloseNow also inhibits - * the writing of new data on the socket (but not necessarily - * the reading of new data). - * The third way is to set bCloseAfterWriting, which inhibits - * the writing of new data and converts to bCloseNow as soon - * as everything in the outbound queue has been written. - * bCloseAfterWriting is really for use only by protocol handlers - * (for example, HTTP writes an HTML page and then closes the - * connection). All of the error states we generate internally - * cause an immediate close to be scheduled, which may have the - * effect of discarding outbound data. - */ - - if (sd == INVALID_SOCKET) - throw std::runtime_error ("bad eventable descriptor"); - if (MyEventMachine == NULL) - throw std::runtime_error ("bad em in eventable descriptor"); - CreatedAt = MyEventMachine->GetCurrentLoopTime(); - LastActivity = MyEventMachine->GetCurrentLoopTime(); - - #ifdef HAVE_EPOLL - EpollEvent.events = 0; - EpollEvent.data.ptr = this; - #endif -} - - -/***************************************** -EventableDescriptor::~EventableDescriptor -*****************************************/ - -EventableDescriptor::~EventableDescriptor() NO_EXCEPT_FALSE -{ - if (NextHeartbeat) - MyEventMachine->ClearHeartbeat(NextHeartbeat, this); - if (EventCallback && bCallbackUnbind) - (*EventCallback)(GetBinding(), EM_CONNECTION_UNBOUND, NULL, UnbindReasonCode); - if (ProxiedFrom) { - (*EventCallback)(ProxiedFrom->GetBinding(), EM_PROXY_TARGET_UNBOUND, NULL, 0); - ProxiedFrom->StopProxy(); - } - MyEventMachine->NumCloseScheduled--; - StopProxy(); - Close(); -} - - -/************************************* -EventableDescriptor::SetEventCallback -*************************************/ - -void EventableDescriptor::SetEventCallback (EMCallback cb) -{ - EventCallback = cb; -} - - -/************************** -EventableDescriptor::Close -**************************/ - -void EventableDescriptor::Close() -{ - /* EventMachine relies on the fact that when close(fd) - * is called that the fd is removed from any - * epoll event queues. - * - * However, this is not *always* the behavior of close(fd) - * - * See man 4 epoll Q6/A6 and then consider what happens - * when using pipes with eventmachine. - * (As is often done when communicating with a subprocess) - * - * The pipes end up looking like: - * - * ls -l /proc//fd - * ... - * lr-x------ 1 root root 64 2011-08-19 21:31 3 -> pipe:[940970] - * l-wx------ 1 root root 64 2011-08-19 21:31 4 -> pipe:[940970] - * - * This meets the critera from man 4 epoll Q6/A4 for not - * removing fds from epoll event queues until all fds - * that reference the underlying file have been removed. - * - * If the EventableDescriptor associated with fd 3 is deleted, - * its dtor will call EventableDescriptor::Close(), - * which will call ::close(int fd). - * - * However, unless the EventableDescriptor associated with fd 4 is - * also deleted before the next call to epoll_wait, events may fire - * for fd 3 that were registered with an already deleted - * EventableDescriptor. - * - * Therefore, it is necessary to notify EventMachine that - * the fd associated with this EventableDescriptor is - * closing. - * - * EventMachine also never closes fds for STDIN, STDOUT and - * STDERR (0, 1 & 2) - */ - - // Close the socket right now. Intended for emergencies. - if (MySocket != INVALID_SOCKET) { - MyEventMachine->Deregister (this); - - // Do not close STDIN, STDOUT, STDERR - if (MySocket > 2 && !bAttached) { - shutdown (MySocket, 1); - close (MySocket); - } - - MySocket = INVALID_SOCKET; - } -} - - -/********************************* -EventableDescriptor::ShouldDelete -*********************************/ - -bool EventableDescriptor::ShouldDelete() -{ - /* For use by a socket manager, which needs to know if this object - * should be removed from scheduling events and deleted. - * Has an immediate close been scheduled, or are we already closed? - * If either of these are the case, return true. In theory, the manager will - * then delete us, which in turn will make sure the socket is closed. - * Note, if bCloseAfterWriting is true, we check a virtual method to see - * if there is outbound data to write, and only request a close if there is none. - */ - - return ((MySocket == INVALID_SOCKET) || bCloseNow || (bCloseAfterWriting && (GetOutboundDataSize() <= 0))); -} - - -/********************************** -EventableDescriptor::ScheduleClose -**********************************/ - -void EventableDescriptor::ScheduleClose (bool after_writing) -{ - if (IsCloseScheduled()) { - if (!after_writing) { - // If closing has become more urgent, then upgrade the scheduled - // after_writing close to one NOW. - bCloseNow = true; - } - return; - } - MyEventMachine->NumCloseScheduled++; - // KEEP THIS SYNCHRONIZED WITH ::IsCloseScheduled. - if (after_writing) - bCloseAfterWriting = true; - else - bCloseNow = true; -} - - -/************************************* -EventableDescriptor::IsCloseScheduled -*************************************/ - -bool EventableDescriptor::IsCloseScheduled() -{ - // KEEP THIS SYNCHRONIZED WITH ::ScheduleClose. - return (bCloseNow || bCloseAfterWriting); -} - - -/******************************* -EventableDescriptor::StartProxy -*******************************/ - -void EventableDescriptor::StartProxy(const uintptr_t to, const unsigned long bufsize, const unsigned long length) -{ - EventableDescriptor *ed = dynamic_cast (Bindable_t::GetObject (to)); - if (ed) { - StopProxy(); - ProxyTarget = ed; - BytesToProxy = length; - ProxiedBytes = 0; - ed->SetProxiedFrom(this, bufsize); - return; - } - throw std::runtime_error ("Tried to proxy to an invalid descriptor"); -} - - -/****************************** -EventableDescriptor::StopProxy -******************************/ - -void EventableDescriptor::StopProxy() -{ - if (ProxyTarget) { - ProxyTarget->SetProxiedFrom(NULL, 0); - ProxyTarget = NULL; - } -} - - -/*********************************** -EventableDescriptor::SetProxiedFrom -***********************************/ - -void EventableDescriptor::SetProxiedFrom(EventableDescriptor *from, const unsigned long bufsize) -{ - if (from != NULL && ProxiedFrom != NULL) - throw std::runtime_error ("Tried to proxy to a busy target"); - - ProxiedFrom = from; - MaxOutboundBufSize = bufsize; -} - - -/******************************************** -EventableDescriptor::_GenericInboundDispatch -********************************************/ - -void EventableDescriptor::_GenericInboundDispatch(const char *buf, unsigned long size) -{ - assert(EventCallback); - - if (ProxyTarget) { - if (BytesToProxy > 0) { - unsigned long proxied = std::min(BytesToProxy, size); - ProxyTarget->SendOutboundData(buf, proxied); - ProxiedBytes += (unsigned long) proxied; - BytesToProxy -= proxied; - if (BytesToProxy == 0) { - StopProxy(); - (*EventCallback)(GetBinding(), EM_PROXY_COMPLETED, NULL, 0); - if (proxied < size) { - (*EventCallback)(GetBinding(), EM_CONNECTION_READ, buf + proxied, size - proxied); - } - } - } else { - ProxyTarget->SendOutboundData(buf, size); - ProxiedBytes += size; - } - } else { - (*EventCallback)(GetBinding(), EM_CONNECTION_READ, buf, size); - } -} - - -/********************************* -EventableDescriptor::_GenericGetPeername -*********************************/ - -bool EventableDescriptor::_GenericGetPeername (struct sockaddr *s, socklen_t *len) -{ - if (!s) - return false; - - int gp = getpeername (GetSocket(), s, len); - if (gp == -1) { - char buf[200]; - snprintf (buf, sizeof(buf)-1, "unable to get peer name: %s", strerror(errno)); - throw std::runtime_error (buf); - } - - return true; -} - -/********************************* -EventableDescriptor::_GenericGetSockname -*********************************/ - -bool EventableDescriptor::_GenericGetSockname (struct sockaddr *s, socklen_t *len) -{ - if (!s) - return false; - - int gp = getsockname (GetSocket(), s, len); - if (gp == -1) { - char buf[200]; - snprintf (buf, sizeof(buf)-1, "unable to get sock name: %s", strerror(errno)); - throw std::runtime_error (buf); - } - - return true; -} - - -/********************************************* -EventableDescriptor::GetPendingConnectTimeout -*********************************************/ - -uint64_t EventableDescriptor::GetPendingConnectTimeout() -{ - return PendingConnectTimeout / 1000; -} - - -/********************************************* -EventableDescriptor::SetPendingConnectTimeout -*********************************************/ - -int EventableDescriptor::SetPendingConnectTimeout (uint64_t value) -{ - if (value > 0) { - PendingConnectTimeout = value * 1000; - MyEventMachine->QueueHeartbeat(this); - return 1; - } - return 0; -} - - -/************************************* -EventableDescriptor::GetNextHeartbeat -*************************************/ - -uint64_t EventableDescriptor::GetNextHeartbeat() -{ - if (NextHeartbeat) - MyEventMachine->ClearHeartbeat(NextHeartbeat, this); - - NextHeartbeat = 0; - - if (!ShouldDelete()) { - uint64_t time_til_next = InactivityTimeout; - if (IsConnectPending()) { - if (time_til_next == 0 || PendingConnectTimeout < time_til_next) - time_til_next = PendingConnectTimeout; - } - if (time_til_next == 0) - return 0; - NextHeartbeat = time_til_next + MyEventMachine->GetRealTime(); - } - - return NextHeartbeat; -} - - -/****************************************** -ConnectionDescriptor::ConnectionDescriptor -******************************************/ - -ConnectionDescriptor::ConnectionDescriptor (SOCKET sd, EventMachine_t *em): - EventableDescriptor (sd, em), - bConnectPending (false), - bNotifyReadable (false), - bNotifyWritable (false), - bReadAttemptedAfterClose (false), - bWriteAttemptedAfterClose (false), - OutboundDataSize (0), - #ifdef WITH_SSL - SslBox (NULL), - bHandshakeSignaled (false), - bSslVerifyPeer (false), - bSslPeerAccepted(false), - #endif - #ifdef HAVE_KQUEUE - bGotExtraKqueueEvent(false), - #endif - bIsServer (false) -{ - // 22Jan09: Moved ArmKqueueWriter into SetConnectPending() to fix assertion failure in _WriteOutboundData() - // 5May09: Moved EPOLLOUT into SetConnectPending() so it doesn't happen for attached read pipes -} - - -/******************************************* -ConnectionDescriptor::~ConnectionDescriptor -*******************************************/ - -ConnectionDescriptor::~ConnectionDescriptor() -{ - // Run down any stranded outbound data. - for (size_t i=0; i < OutboundPages.size(); i++) - OutboundPages[i].Free(); - - #ifdef WITH_SSL - if (SslBox) - delete SslBox; - #endif -} - - -/*********************************** -ConnectionDescriptor::_UpdateEvents -************************************/ - -void ConnectionDescriptor::_UpdateEvents() -{ - _UpdateEvents(true, true); -} - -void ConnectionDescriptor::_UpdateEvents(bool read, bool write) -{ - if (MySocket == INVALID_SOCKET) - return; - - if (!read && !write) - return; - - #ifdef HAVE_EPOLL - unsigned int old = EpollEvent.events; - - if (read) { - if (SelectForRead()) - EpollEvent.events |= EPOLLIN; - else - EpollEvent.events &= ~EPOLLIN; - } - - if (write) { - if (SelectForWrite()) - EpollEvent.events |= EPOLLOUT; - else - EpollEvent.events &= ~EPOLLOUT; - } - - if (old != EpollEvent.events) - MyEventMachine->Modify (this); - #endif - - #ifdef HAVE_KQUEUE - if (read && SelectForRead()) - MyEventMachine->ArmKqueueReader (this); - bKqueueArmWrite = SelectForWrite(); - if (write && bKqueueArmWrite) - MyEventMachine->Modify (this); - #endif -} - -/*************************************** -ConnectionDescriptor::SetConnectPending -****************************************/ - -void ConnectionDescriptor::SetConnectPending(bool f) -{ - bConnectPending = f; - MyEventMachine->QueueHeartbeat(this); - _UpdateEvents(); -} - - -/********************************** -ConnectionDescriptor::SetAttached -***********************************/ - -void ConnectionDescriptor::SetAttached(bool state) -{ - bAttached = state; -} - - -/********************************** -ConnectionDescriptor::SetWatchOnly -***********************************/ - -void ConnectionDescriptor::SetWatchOnly(bool watching) -{ - bWatchOnly = watching; - _UpdateEvents(); -} - - -/********************************* -ConnectionDescriptor::HandleError -*********************************/ - -void ConnectionDescriptor::HandleError() -{ - if (bWatchOnly) { - // An EPOLLHUP | EPOLLIN condition will call Read() before HandleError(), in which case the - // socket is already detached and invalid, so we don't need to do anything. - if (MySocket == INVALID_SOCKET) return; - - // HandleError() is called on WatchOnly descriptors by the epoll reactor - // when it gets a EPOLLERR | EPOLLHUP. Usually this would show up as a readable and - // writable event on other reactors, so we have to fire those events ourselves. - if (bNotifyReadable) Read(); - if (bNotifyWritable) Write(); - } else { - ScheduleClose (false); - } -} - - -/*********************************** -ConnectionDescriptor::ScheduleClose -***********************************/ - -void ConnectionDescriptor::ScheduleClose (bool after_writing) -{ - if (bWatchOnly) - throw std::runtime_error ("cannot close 'watch only' connections"); - - EventableDescriptor::ScheduleClose(after_writing); -} - - -/*************************************** -ConnectionDescriptor::SetNotifyReadable -****************************************/ - -void ConnectionDescriptor::SetNotifyReadable(bool readable) -{ - if (!bWatchOnly) - throw std::runtime_error ("notify_readable must be on 'watch only' connections"); - - bNotifyReadable = readable; - _UpdateEvents(true, false); -} - - -/*************************************** -ConnectionDescriptor::SetNotifyWritable -****************************************/ - -void ConnectionDescriptor::SetNotifyWritable(bool writable) -{ - if (!bWatchOnly) - throw std::runtime_error ("notify_writable must be on 'watch only' connections"); - - bNotifyWritable = writable; - _UpdateEvents(false, true); -} - - -/************************************** -ConnectionDescriptor::SendOutboundData -**************************************/ - -int ConnectionDescriptor::SendOutboundData (const char *data, unsigned long length) -{ - if (bWatchOnly) - throw std::runtime_error ("cannot send data on a 'watch only' connection"); - - if (ProxiedFrom && MaxOutboundBufSize && (unsigned int)(GetOutboundDataSize() + length) > MaxOutboundBufSize) - ProxiedFrom->Pause(); - - #ifdef WITH_SSL - if (SslBox) { - if (length > 0) { - unsigned long writed = 0; - char *p = (char*)data; - - while (writed < length) { - int to_write = SSLBOX_INPUT_CHUNKSIZE; - int remaining = length - writed; - - if (remaining < SSLBOX_INPUT_CHUNKSIZE) - to_write = remaining; - - int w = SslBox->PutPlaintext (p, to_write); - if (w < 0) { - ScheduleClose (false); - }else - _DispatchCiphertext(); - - p += to_write; - writed += to_write; - } - } - // TODO: What's the correct return value? - return 1; // That's a wild guess, almost certainly wrong. - } - else - #endif - return _SendRawOutboundData (data, length); -} - - - -/****************************************** -ConnectionDescriptor::_SendRawOutboundData -******************************************/ - -int ConnectionDescriptor::_SendRawOutboundData (const char *data, unsigned long length) -{ - /* This internal method is called to schedule bytes that - * will be sent out to the remote peer. - * It's not directly accessed by the caller, who hits ::SendOutboundData, - * which may or may not filter or encrypt the caller's data before - * sending it here. - */ - - // Highly naive and incomplete implementation. - // There's no throttle for runaways (which should abort only this connection - // and not the whole process), and no coalescing of small pages. - // (Well, not so bad, small pages are coalesced in ::Write) - - if (IsCloseScheduled()) - return 0; - // 25Mar10: Ignore 0 length packets as they are not meaningful in TCP (as opposed to UDP) - // and can cause the assert(nbytes>0) to fail when OutboundPages has a bunch of 0 length pages. - if (length == 0) - return 0; - - if (!data && (length > 0)) - throw std::runtime_error ("bad outbound data"); - char *buffer = (char *) malloc (length + 1); - if (!buffer) - throw std::runtime_error ("no allocation for outbound data"); - - memcpy (buffer, data, length); - buffer [length] = 0; - OutboundPages.push_back (OutboundPage (buffer, length)); - OutboundDataSize += length; - - _UpdateEvents(false, true); - - return length; -} - - - -/*********************************** -ConnectionDescriptor::SelectForRead -***********************************/ - -bool ConnectionDescriptor::SelectForRead() -{ - /* A connection descriptor is always scheduled for read, - * UNLESS it's in a pending-connect state. - * On Linux, unlike Unix, a nonblocking socket on which - * connect has been called, does NOT necessarily select - * both readable and writable in case of error. - * The socket will select writable when the disposition - * of the connect is known. On the other hand, a socket - * which successfully connects and selects writable may - * indeed have some data available on it, so it will - * select readable in that case, violating expectations! - * So we will not poll for readability until the socket - * is known to be in a connected state. - */ - - if (bPaused) - return false; - else if (bConnectPending) - return false; - else if (bWatchOnly) - return bNotifyReadable ? true : false; - else - return true; -} - - -/************************************ -ConnectionDescriptor::SelectForWrite -************************************/ - -bool ConnectionDescriptor::SelectForWrite() -{ - /* Cf the notes under SelectForRead. - * In a pending-connect state, we ALWAYS select for writable. - * In a normal state, we only select for writable when we - * have outgoing data to send. - */ - - if (bPaused) - return false; - else if (bConnectPending) - return true; - else if (bWatchOnly) - return bNotifyWritable ? true : false; - else - return (GetOutboundDataSize() > 0); -} - -/*************************** -ConnectionDescriptor::Pause -***************************/ - -bool ConnectionDescriptor::Pause() -{ - if (bWatchOnly) - throw std::runtime_error ("cannot pause/resume 'watch only' connections, set notify readable/writable instead"); - - bool old = bPaused; - bPaused = true; - _UpdateEvents(); - return old == false; -} - -/**************************** -ConnectionDescriptor::Resume -****************************/ - -bool ConnectionDescriptor::Resume() -{ - if (bWatchOnly) - throw std::runtime_error ("cannot pause/resume 'watch only' connections, set notify readable/writable instead"); - - bool old = bPaused; - bPaused = false; - _UpdateEvents(); - return old == true; -} - -/************************** -ConnectionDescriptor::Read -**************************/ - -void ConnectionDescriptor::Read() -{ - /* Read and dispatch data on a socket that has selected readable. - * It's theoretically possible to get and dispatch incoming data on - * a socket that has already been scheduled for closing or close-after-writing. - * In those cases, we'll leave it up the to protocol handler to "do the - * right thing" (which probably means to ignore the incoming data). - * - * 22Aug06: Chris Ochs reports that on FreeBSD, it's possible to come - * here with the socket already closed, after the process receives - * a ctrl-C signal (not sure if that's TERM or INT on BSD). The application - * was one in which network connections were doing a lot of interleaved reads - * and writes. - * Since we always write before reading (in order to keep the outbound queues - * as light as possible), I think what happened is that an interrupt caused - * the socket to be closed in ConnectionDescriptor::Write. We'll then - * come here in the same pass through the main event loop, and won't get - * cleaned up until immediately after. - * We originally asserted that the socket was valid when we got here. - * To deal properly with the possibility that we are closed when we get here, - * I removed the assert. HOWEVER, the potential for an infinite loop scares me, - * so even though this is really clunky, I added a flag to assert that we never - * come here more than once after being closed. (FCianfrocca) - */ - - SOCKET sd = GetSocket(); - //assert (sd != INVALID_SOCKET); (original, removed 22Aug06) - if (sd == INVALID_SOCKET) { - assert (!bReadAttemptedAfterClose); - bReadAttemptedAfterClose = true; - return; - } - - if (bWatchOnly) { - if (bNotifyReadable && EventCallback) - (*EventCallback)(GetBinding(), EM_CONNECTION_NOTIFY_READABLE, NULL, 0); - return; - } - - LastActivity = MyEventMachine->GetCurrentLoopTime(); - - int total_bytes_read = 0; - char readbuffer [16 * 1024 + 1]; - - for (int i=0; i < 10; i++) { - // Don't read just one buffer and then move on. This is faster - // if there is a lot of incoming. - // But don't read indefinitely. Give other sockets a chance to run. - // NOTICE, we're reading one less than the buffer size. - // That's so we can put a guard byte at the end of what we send - // to user code. - - - int r = read (sd, readbuffer, sizeof(readbuffer) - 1); -#ifdef OS_WIN32 - int e = WSAGetLastError(); -#else - int e = errno; -#endif - //cerr << ""; - - if (r > 0) { - total_bytes_read += r; - - // Add a null-terminator at the the end of the buffer - // that we will send to the callback. - // DO NOT EVER CHANGE THIS. We want to explicitly allow users - // to be able to depend on this behavior, so they will have - // the option to do some things faster. Additionally it's - // a security guard against buffer overflows. - readbuffer [r] = 0; - _DispatchInboundData (readbuffer, r); - if (bPaused) - break; - } - else if (r == 0) { - break; - } - else { - #ifdef OS_UNIX - if ((e != EINPROGRESS) && (e != EWOULDBLOCK) && (e != EAGAIN) && (e != EINTR)) { - #endif - #ifdef OS_WIN32 - if ((e != WSAEINPROGRESS) && (e != WSAEWOULDBLOCK)) { - #endif - // 26Mar11: Previously, all read errors were assumed to be EWOULDBLOCK and ignored. - // Now, instead, we call Close() on errors like ECONNRESET and ENOTCONN. - UnbindReasonCode = e; - Close(); - break; - } else { - // Basically a would-block, meaning we've read everything there is to read. - break; - } - } - - } - - - if (total_bytes_read == 0) { - // If we read no data on a socket that selected readable, - // it generally means the other end closed the connection gracefully. - ScheduleClose (false); - //bCloseNow = true; - } - -} - - - -/****************************************** -ConnectionDescriptor::_DispatchInboundData -******************************************/ - -#ifdef WITH_SSL -void ConnectionDescriptor::_DispatchInboundData (const char *buffer, unsigned long size) -{ - if (SslBox) { - SslBox->PutCiphertext (buffer, size); - - int s; - char B [2048]; - while ((s = SslBox->GetPlaintext (B, sizeof(B) - 1)) > 0) { - _CheckHandshakeStatus(); - B [s] = 0; - _GenericInboundDispatch(B, s); - } - - // If our SSL handshake had a problem, shut down the connection. - if (s == -2) { - #ifndef EPROTO // OpenBSD does not have EPROTO - #define EPROTO EINTR - #endif - #ifdef OS_UNIX - UnbindReasonCode = EPROTO; - #endif - #ifdef OS_WIN32 - UnbindReasonCode = WSAECONNABORTED; - #endif - ScheduleClose(false); - return; - } - - _CheckHandshakeStatus(); - _DispatchCiphertext(); - } - else { - _GenericInboundDispatch(buffer, size); - } -} -#else -void ConnectionDescriptor::_DispatchInboundData (const char *buffer, unsigned long size) -{ - _GenericInboundDispatch(buffer, size); -} -#endif - - - -/******************************************* -ConnectionDescriptor::_CheckHandshakeStatus -*******************************************/ - -void ConnectionDescriptor::_CheckHandshakeStatus() -{ - #ifdef WITH_SSL - if (SslBox && (!bHandshakeSignaled) && SslBox->IsHandshakeCompleted()) { - bHandshakeSignaled = true; - if (EventCallback) - (*EventCallback)(GetBinding(), EM_SSL_HANDSHAKE_COMPLETED, NULL, 0); - } - #endif -} - - - -/*************************** -ConnectionDescriptor::Write -***************************/ - -void ConnectionDescriptor::Write() -{ - /* A socket which is in a pending-connect state will select - * writable when the disposition of the connect is known. - * At that point, check to be sure there are no errors, - * and if none, then promote the socket out of the pending - * state. - * TODO: I haven't figured out how Windows signals errors on - * unconnected sockets. Maybe it does the untraditional but - * logical thing and makes the socket selectable for error. - * If so, it's unsupported here for the time being, and connect - * errors will have to be caught by the timeout mechanism. - */ - - if (bConnectPending) { - int error; - socklen_t len; - len = sizeof(error); - #ifdef OS_UNIX - int o = getsockopt (GetSocket(), SOL_SOCKET, SO_ERROR, &error, &len); - #endif - #ifdef OS_WIN32 - int o = getsockopt (GetSocket(), SOL_SOCKET, SO_ERROR, (char*)&error, &len); - #endif - if ((o == 0) && (error == 0)) { - if (EventCallback) - (*EventCallback)(GetBinding(), EM_CONNECTION_COMPLETED, "", 0); - - // 5May09: Moved epoll/kqueue read/write arming into SetConnectPending, so it can be called - // from EventMachine_t::AttachFD as well. - SetConnectPending (false); - } - else { - if (o == 0) - UnbindReasonCode = error; - ScheduleClose (false); - //bCloseNow = true; - } - } - else { - - if (bNotifyWritable) { - if (EventCallback) - (*EventCallback)(GetBinding(), EM_CONNECTION_NOTIFY_WRITABLE, NULL, 0); - - _UpdateEvents(false, true); - return; - } - - assert(!bWatchOnly); - - /* 5May09: Kqueue bugs on OSX cause one extra writable event to fire even though we're using - EV_ONESHOT. We ignore this extra event once, but only the first time. If it happens again, - we should fall through to the assert(nbytes>0) failure to catch any EM bugs which might cause - ::Write to be called in a busy-loop. - */ - #ifdef HAVE_KQUEUE - if (MyEventMachine->GetPoller() == Poller_Kqueue) { - if (OutboundDataSize == 0 && !bGotExtraKqueueEvent) { - bGotExtraKqueueEvent = true; - return; - } else if (OutboundDataSize > 0) { - bGotExtraKqueueEvent = false; - } - } - #endif - - _WriteOutboundData(); - } -} - - -/**************************************** -ConnectionDescriptor::_WriteOutboundData -****************************************/ - -void ConnectionDescriptor::_WriteOutboundData() -{ - /* This is a helper function called by ::Write. - * It's possible for a socket to select writable and then no longer - * be writable by the time we get around to writing. The kernel might - * have used up its available output buffers between the select call - * and when we get here. So this condition is not an error. - * - * 20Jul07, added the same kind of protection against an invalid socket - * that is at the top of ::Read. Not entirely how this could happen in - * real life (connection-reset from the remote peer, perhaps?), but I'm - * doing it to address some reports of crashing under heavy loads. - */ - - SOCKET sd = GetSocket(); - //assert (sd != INVALID_SOCKET); - if (sd == INVALID_SOCKET) { - assert (!bWriteAttemptedAfterClose); - bWriteAttemptedAfterClose = true; - return; - } - - LastActivity = MyEventMachine->GetCurrentLoopTime(); - size_t nbytes = 0; - - #ifdef HAVE_WRITEV - int iovcnt = OutboundPages.size(); - // Max of 16 outbound pages at a time - if (iovcnt > 16) iovcnt = 16; - - iovec iov[16]; - - for(int i = 0; i < iovcnt; i++){ - OutboundPage *op = &(OutboundPages[i]); - #ifdef CC_SUNWspro - // TODO: The void * cast works fine on Solaris 11, but - // I don't know at what point that changed from older Solaris. - iov[i].iov_base = (char *)(op->Buffer + op->Offset); - #else - iov[i].iov_base = (void *)(op->Buffer + op->Offset); - #endif - iov[i].iov_len = op->Length - op->Offset; - - nbytes += iov[i].iov_len; - } - #else - char output_buffer [16 * 1024]; - - while ((OutboundPages.size() > 0) && (nbytes < sizeof(output_buffer))) { - OutboundPage *op = &(OutboundPages[0]); - if ((nbytes + op->Length - op->Offset) < sizeof (output_buffer)) { - memcpy (output_buffer + nbytes, op->Buffer + op->Offset, op->Length - op->Offset); - nbytes += (op->Length - op->Offset); - op->Free(); - OutboundPages.pop_front(); - } - else { - int len = sizeof(output_buffer) - nbytes; - memcpy (output_buffer + nbytes, op->Buffer + op->Offset, len); - op->Offset += len; - nbytes += len; - } - } - #endif - - // We should never have gotten here if there were no data to write, - // so assert that as a sanity check. - // Don't bother to make sure nbytes is less than output_buffer because - // if it were we probably would have crashed already. - assert (nbytes > 0); - - assert (GetSocket() != INVALID_SOCKET); - #ifdef HAVE_WRITEV - int bytes_written = writev (GetSocket(), iov, iovcnt); - #else - int bytes_written = write (GetSocket(), output_buffer, nbytes); - #endif - - bool err = false; -#ifdef OS_WIN32 - int e = WSAGetLastError(); -#else - int e = errno; -#endif - if (bytes_written < 0) { - err = true; - bytes_written = 0; - } - - assert (bytes_written >= 0); - OutboundDataSize -= bytes_written; - - if (ProxiedFrom && MaxOutboundBufSize && (unsigned int)GetOutboundDataSize() < MaxOutboundBufSize && ProxiedFrom->IsPaused()) - ProxiedFrom->Resume(); - - #ifdef HAVE_WRITEV - if (!err) { - unsigned int sent = bytes_written; - std::deque::iterator op = OutboundPages.begin(); - - for (int i = 0; i < iovcnt; i++) { - if (iov[i].iov_len <= sent) { - // Sent this page in full, free it. - op->Free(); - OutboundPages.pop_front(); - - sent -= iov[i].iov_len; - } else { - // Sent part (or none) of this page, increment offset to send the remainder - op->Offset += sent; - break; - } - - // Shouldn't be possible run out of pages before the loop ends - assert(op != OutboundPages.end()); - *op++; - } - } - #else - if ((size_t)bytes_written < nbytes) { - int len = nbytes - bytes_written; - char *buffer = (char*) malloc (len + 1); - if (!buffer) - throw std::runtime_error ("bad alloc throwing back data"); - memcpy (buffer, output_buffer + bytes_written, len); - buffer [len] = 0; - OutboundPages.push_front (OutboundPage (buffer, len)); - } - #endif - - _UpdateEvents(false, true); - - if (err) { - #ifdef OS_UNIX - if ((e != EINPROGRESS) && (e != EWOULDBLOCK) && (e != EINTR)) { - #endif - #ifdef OS_WIN32 - if ((e != WSAEINPROGRESS) && (e != WSAEWOULDBLOCK)) { - #endif - UnbindReasonCode = e; - Close(); - } - } -} - - -/*************************************** -ConnectionDescriptor::ReportErrorStatus -***************************************/ - -int ConnectionDescriptor::ReportErrorStatus() -{ - if (MySocket == INVALID_SOCKET) { - return -1; - } - - int error; - socklen_t len; - len = sizeof(error); - #ifdef OS_UNIX - int o = getsockopt (GetSocket(), SOL_SOCKET, SO_ERROR, &error, &len); - #endif - #ifdef OS_WIN32 - int o = getsockopt (GetSocket(), SOL_SOCKET, SO_ERROR, (char*)&error, &len); - #endif - if ((o == 0) && (error == 0)) - return 0; - else if (o == 0) - return error; - else - return -1; -} - - -/****************************** -ConnectionDescriptor::StartTls -******************************/ - -#ifdef WITH_SSL -void ConnectionDescriptor::StartTls() -{ - if (SslBox) - throw std::runtime_error ("SSL/TLS already running on connection"); - - SslBox = new SslBox_t (bIsServer, PrivateKeyFilename, CertChainFilename, bSslVerifyPeer, bSslFailIfNoPeerCert, SniHostName, CipherList, EcdhCurve, DhParam, Protocols, GetBinding()); - _DispatchCiphertext(); - -} -#else -void ConnectionDescriptor::StartTls() -{ - throw std::runtime_error ("Encryption not available on this event-machine"); -} -#endif - - -/********************************* -ConnectionDescriptor::SetTlsParms -*********************************/ - -#ifdef WITH_SSL -void ConnectionDescriptor::SetTlsParms (const char *privkey_filename, const char *certchain_filename, bool verify_peer, bool fail_if_no_peer_cert, const char *sni_hostname, const char *cipherlist, const char *ecdh_curve, const char *dhparam, int protocols) -{ - if (SslBox) - throw std::runtime_error ("call SetTlsParms before calling StartTls"); - if (privkey_filename && *privkey_filename) - PrivateKeyFilename = privkey_filename; - if (certchain_filename && *certchain_filename) - CertChainFilename = certchain_filename; - bSslVerifyPeer = verify_peer; - bSslFailIfNoPeerCert = fail_if_no_peer_cert; - - if (sni_hostname && *sni_hostname) - SniHostName = sni_hostname; - if (cipherlist && *cipherlist) - CipherList = cipherlist; - if (ecdh_curve && *ecdh_curve) - EcdhCurve = ecdh_curve; - if (dhparam && *dhparam) - DhParam = dhparam; - - Protocols = protocols; -} -#else -void ConnectionDescriptor::SetTlsParms (const char *privkey_filename UNUSED, const char *certchain_filename UNUSED, bool verify_peer UNUSED, bool fail_if_no_peer_cert UNUSED, const char *sni_hostname UNUSED, const char *cipherlist UNUSED, const char *ecdh_curve UNUSED, const char *dhparam UNUSED, int protocols UNUSED) -{ - throw std::runtime_error ("Encryption not available on this event-machine"); -} -#endif - - -/********************************* -ConnectionDescriptor::GetPeerCert -*********************************/ - -#ifdef WITH_SSL -X509 *ConnectionDescriptor::GetPeerCert() -{ - if (!SslBox) - throw std::runtime_error ("SSL/TLS not running on this connection"); - return SslBox->GetPeerCert(); -} -#endif - - -/********************************* -ConnectionDescriptor::GetCipherBits -*********************************/ - -#ifdef WITH_SSL -int ConnectionDescriptor::GetCipherBits() -{ - if (!SslBox) - throw std::runtime_error ("SSL/TLS not running on this connection"); - return SslBox->GetCipherBits(); -} -#endif - - -/********************************* -ConnectionDescriptor::GetCipherName -*********************************/ - -#ifdef WITH_SSL -const char *ConnectionDescriptor::GetCipherName() -{ - if (!SslBox) - throw std::runtime_error ("SSL/TLS not running on this connection"); - return SslBox->GetCipherName(); -} -#endif - - -/********************************* -ConnectionDescriptor::GetCipherProtocol -*********************************/ - -#ifdef WITH_SSL -const char *ConnectionDescriptor::GetCipherProtocol() -{ - if (!SslBox) - throw std::runtime_error ("SSL/TLS not running on this connection"); - return SslBox->GetCipherProtocol(); -} -#endif - - -/********************************* -ConnectionDescriptor::GetSNIHostname -*********************************/ - -#ifdef WITH_SSL -const char *ConnectionDescriptor::GetSNIHostname() -{ - if (!SslBox) - throw std::runtime_error ("SSL/TLS not running on this connection"); - return SslBox->GetSNIHostname(); -} -#endif - - -/*********************************** -ConnectionDescriptor::VerifySslPeer -***********************************/ - -#ifdef WITH_SSL -bool ConnectionDescriptor::VerifySslPeer(const char *cert) -{ - bSslPeerAccepted = false; - - if (EventCallback) - (*EventCallback)(GetBinding(), EM_SSL_VERIFY, cert, strlen(cert)); - - return bSslPeerAccepted; -} -#endif - - -/*********************************** -ConnectionDescriptor::AcceptSslPeer -***********************************/ - -#ifdef WITH_SSL -void ConnectionDescriptor::AcceptSslPeer() -{ - bSslPeerAccepted = true; -} -#endif - - -/***************************************** -ConnectionDescriptor::_DispatchCiphertext -*****************************************/ - -#ifdef WITH_SSL -void ConnectionDescriptor::_DispatchCiphertext() -{ - assert (SslBox); - - - char BigBuf [SSLBOX_OUTPUT_CHUNKSIZE]; - bool did_work; - - do { - did_work = false; - - // try to drain ciphertext - while (SslBox->CanGetCiphertext()) { - int r = SslBox->GetCiphertext (BigBuf, sizeof(BigBuf)); - assert (r > 0); - _SendRawOutboundData (BigBuf, r); - did_work = true; - } - - // Pump the SslBox, in case it has queued outgoing plaintext - // This will return >0 if data was written, - // 0 if no data was written, and <0 if there was a fatal error. - bool pump; - do { - pump = false; - int w = SslBox->PutPlaintext (NULL, 0); - if (w > 0) { - did_work = true; - pump = true; - } - else if (w < 0) - ScheduleClose (false); - } while (pump); - - // try to put plaintext. INCOMPLETE, doesn't belong here? - // In SendOutboundData, we're spooling plaintext directly - // into SslBox. That may be wrong, we may need to buffer it - // up here! - /* - const char *ptr; - int ptr_length; - while (OutboundPlaintext.GetPage (&ptr, &ptr_length)) { - assert (ptr && (ptr_length > 0)); - int w = SslMachine.PutPlaintext (ptr, ptr_length); - if (w > 0) { - OutboundPlaintext.DiscardBytes (w); - did_work = true; - } - else - break; - } - */ - - } while (did_work); - -} -#endif - - - -/******************************* -ConnectionDescriptor::Heartbeat -*******************************/ - -void ConnectionDescriptor::Heartbeat() -{ - /* Only allow a certain amount of time to go by while waiting - * for a pending connect. If it expires, then kill the socket. - * For a connected socket, close it if its inactivity timer - * has expired. - */ - - if (bConnectPending) { - if ((MyEventMachine->GetCurrentLoopTime() - CreatedAt) >= PendingConnectTimeout) { - UnbindReasonCode = ETIMEDOUT; - ScheduleClose (false); - //bCloseNow = true; - } - } - else { - if (InactivityTimeout && ((MyEventMachine->GetCurrentLoopTime() - LastActivity) >= InactivityTimeout)) { - UnbindReasonCode = ETIMEDOUT; - ScheduleClose (false); - //bCloseNow = true; - } - } -} - - -/**************************************** -LoopbreakDescriptor::LoopbreakDescriptor -****************************************/ - -LoopbreakDescriptor::LoopbreakDescriptor (SOCKET sd, EventMachine_t *parent_em): - EventableDescriptor (sd, parent_em) -{ - /* This is really bad and ugly. Change someday if possible. - * We have to know about an event-machine (probably the one that owns us), - * so we can pass newly-created connections to it. - */ - - bCallbackUnbind = false; - - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - #endif - #ifdef HAVE_KQUEUE - MyEventMachine->ArmKqueueReader (this); - #endif -} - - - - -/************************* -LoopbreakDescriptor::Read -*************************/ - -void LoopbreakDescriptor::Read() -{ - // TODO, refactor, this code is probably in the wrong place. - assert (MyEventMachine); - MyEventMachine->_ReadLoopBreaker(); -} - - -/************************** -LoopbreakDescriptor::Write -**************************/ - -void LoopbreakDescriptor::Write() -{ - // Why are we here? - throw std::runtime_error ("bad code path in loopbreak"); -} - -/************************************** -AcceptorDescriptor::AcceptorDescriptor -**************************************/ - -AcceptorDescriptor::AcceptorDescriptor (SOCKET sd, EventMachine_t *parent_em): - EventableDescriptor (sd, parent_em) -{ - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - #endif - #ifdef HAVE_KQUEUE - MyEventMachine->ArmKqueueReader (this); - #endif -} - - -/*************************************** -AcceptorDescriptor::~AcceptorDescriptor -***************************************/ - -AcceptorDescriptor::~AcceptorDescriptor() -{ -} - -/**************************************** -STATIC: AcceptorDescriptor::StopAcceptor -****************************************/ - -void AcceptorDescriptor::StopAcceptor (const uintptr_t binding) -{ - // TODO: This is something of a hack, or at least it's a static method of the wrong class. - AcceptorDescriptor *ad = dynamic_cast (Bindable_t::GetObject (binding)); - if (ad) - ad->ScheduleClose (false); - else - throw std::runtime_error ("failed to close nonexistent acceptor"); -} - - -/************************ -AcceptorDescriptor::Read -************************/ - -void AcceptorDescriptor::Read() -{ - /* Accept up to a certain number of sockets on the listening connection. - * Don't try to accept all that are present, because this would allow a DoS attack - * in which no data were ever read or written. We should accept more than one, - * if available, to keep the partially accepted sockets from backing up in the kernel. - */ - - /* Make sure we use non-blocking i/o on the acceptor socket, since we're selecting it - * for readability. According to Stevens UNP, it's possible for an acceptor to select readable - * and then block when we call accept. For example, the other end resets the connection after - * the socket selects readable and before we call accept. The kernel will remove the dead - * socket from the accept queue. If the accept queue is now empty, accept will block. - */ - - - struct sockaddr_in6 pin; - socklen_t addrlen = sizeof (pin); - int accept_count = EventMachine_t::GetSimultaneousAcceptCount(); - - for (int i=0; i < accept_count; i++) { -#if defined(HAVE_CONST_SOCK_CLOEXEC) && defined(HAVE_ACCEPT4) - SOCKET sd = accept4 (GetSocket(), (struct sockaddr*)&pin, &addrlen, SOCK_CLOEXEC); - if (sd == INVALID_SOCKET) { - // We may be running in a kernel where - // SOCK_CLOEXEC is not supported - fall back: - sd = accept (GetSocket(), (struct sockaddr*)&pin, &addrlen); - } -#else - SOCKET sd = accept (GetSocket(), (struct sockaddr*)&pin, &addrlen); -#endif - if (sd == INVALID_SOCKET) { - // This breaks the loop when we've accepted everything on the kernel queue, - // up to 10 new connections. But what if the *first* accept fails? - // Does that mean anything serious is happening, beyond the situation - // described in the note above? - break; - } - - // Set the newly-accepted socket non-blocking and to close on exec. - // On Windows, this may fail because, weirdly, Windows inherits the non-blocking - // attribute that we applied to the acceptor socket into the accepted one. - if (!SetFdCloexec(sd) || !SetSocketNonblocking (sd)) { - //int val = fcntl (sd, F_GETFL, 0); - //if (fcntl (sd, F_SETFL, val | O_NONBLOCK) == -1) { - shutdown (sd, 1); - close (sd); - continue; - } - - // Disable slow-start (Nagle algorithm). Eventually make this configurable. - int one = 1; - setsockopt (sd, IPPROTO_TCP, TCP_NODELAY, (char*) &one, sizeof(one)); - - - ConnectionDescriptor *cd = new ConnectionDescriptor (sd, MyEventMachine); - if (!cd) - throw std::runtime_error ("no newly accepted connection"); - cd->SetServerMode(); - if (EventCallback) { - (*EventCallback) (GetBinding(), EM_CONNECTION_ACCEPTED, NULL, cd->GetBinding()); - } - #ifdef HAVE_EPOLL - cd->GetEpollEvent()->events = 0; - if (cd->SelectForRead()) - cd->GetEpollEvent()->events |= EPOLLIN; - if (cd->SelectForWrite()) - cd->GetEpollEvent()->events |= EPOLLOUT; - #endif - assert (MyEventMachine); - MyEventMachine->Add (cd); - #ifdef HAVE_KQUEUE - bKqueueArmWrite = cd->SelectForWrite(); - if (bKqueueArmWrite) - MyEventMachine->Modify (cd); - if (cd->SelectForRead()) - MyEventMachine->ArmKqueueReader (cd); - #endif - } - -} - - -/************************* -AcceptorDescriptor::Write -*************************/ - -void AcceptorDescriptor::Write() -{ - // Why are we here? - throw std::runtime_error ("bad code path in acceptor"); -} - - -/***************************** -AcceptorDescriptor::Heartbeat -*****************************/ - -void AcceptorDescriptor::Heartbeat() -{ - // No-op -} - - -/************************************** -DatagramDescriptor::DatagramDescriptor -**************************************/ - -DatagramDescriptor::DatagramDescriptor (SOCKET sd, EventMachine_t *parent_em): - EventableDescriptor (sd, parent_em), - OutboundDataSize (0) -{ - memset (&ReturnAddress, 0, sizeof(ReturnAddress)); - - /* Provisionally added 19Oct07. All datagram sockets support broadcasting. - * Until now, sending to a broadcast address would give EACCES (permission denied) - * on systems like Linux and BSD that require the SO_BROADCAST socket-option in order - * to accept a packet to a broadcast address. Solaris doesn't require it. I think - * Windows DOES require it but I'm not sure. - * - * Ruby does NOT do what we're doing here. In Ruby, you have to explicitly set SO_BROADCAST - * on a UDP socket in order to enable broadcasting. The reason for requiring the option - * in the first place is so that applications don't send broadcast datagrams by mistake. - * I imagine that could happen if a user of an application typed in an address that happened - * to be a broadcast address on that particular subnet. - * - * This is provisional because someone may eventually come up with a good reason not to - * do it for all UDP sockets. If that happens, then we'll need to add a usercode-level API - * to set the socket option, just like Ruby does. AND WE'LL ALSO BREAK CODE THAT DOESN'T - * EXPLICITLY SET THE OPTION. - */ - - int oval = 1; - setsockopt (GetSocket(), SOL_SOCKET, SO_BROADCAST, (char*)&oval, sizeof(oval)); - - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - #endif - #ifdef HAVE_KQUEUE - MyEventMachine->ArmKqueueReader (this); - #endif -} - - -/*************************************** -DatagramDescriptor::~DatagramDescriptor -***************************************/ - -DatagramDescriptor::~DatagramDescriptor() -{ - // Run down any stranded outbound data. - for (size_t i=0; i < OutboundPages.size(); i++) - OutboundPages[i].Free(); -} - - -/***************************** -DatagramDescriptor::Heartbeat -*****************************/ - -void DatagramDescriptor::Heartbeat() -{ - // Close it if its inactivity timer has expired. - - if (InactivityTimeout && ((MyEventMachine->GetCurrentLoopTime() - LastActivity) >= InactivityTimeout)) - ScheduleClose (false); - //bCloseNow = true; -} - - -/************************ -DatagramDescriptor::Read -************************/ - -void DatagramDescriptor::Read() -{ - SOCKET sd = GetSocket(); - assert (sd != INVALID_SOCKET); - LastActivity = MyEventMachine->GetCurrentLoopTime(); - - // This is an extremely large read buffer. - // In many cases you wouldn't expect to get any more than 4K. - char readbuffer [16 * 1024]; - - for (int i=0; i < 10; i++) { - // Don't read just one buffer and then move on. This is faster - // if there is a lot of incoming. - // But don't read indefinitely. Give other sockets a chance to run. - // NOTICE, we're reading one less than the buffer size. - // That's so we can put a guard byte at the end of what we send - // to user code. - - struct sockaddr_in6 sin; - socklen_t slen = sizeof (sin); - memset (&sin, 0, slen); - - int r = recvfrom (sd, readbuffer, sizeof(readbuffer) - 1, 0, (struct sockaddr*)&sin, &slen); - //cerr << ""; - - // In UDP, a zero-length packet is perfectly legal. - if (r >= 0) { - - // Add a null-terminator at the the end of the buffer - // that we will send to the callback. - // DO NOT EVER CHANGE THIS. We want to explicitly allow users - // to be able to depend on this behavior, so they will have - // the option to do some things faster. Additionally it's - // a security guard against buffer overflows. - readbuffer [r] = 0; - - - // Set up a "temporary" return address so that callers can "reply" to us - // from within the callback we are about to invoke. That means that ordinary - // calls to "send_data_to_connection" (which is of course misnamed in this - // case) will result in packets being sent back to the same place that sent - // us this one. - // There is a different call (evma_send_datagram) for cases where the caller - // actually wants to send a packet somewhere else. - - memset (&ReturnAddress, 0, sizeof(ReturnAddress)); - memcpy (&ReturnAddress, &sin, slen); - - _GenericInboundDispatch(readbuffer, r); - - } - else { - // Basically a would-block, meaning we've read everything there is to read. - break; - } - - } - - -} - - -/************************* -DatagramDescriptor::Write -*************************/ - -void DatagramDescriptor::Write() -{ - /* It's possible for a socket to select writable and then no longer - * be writable by the time we get around to writing. The kernel might - * have used up its available output buffers between the select call - * and when we get here. So this condition is not an error. - * This code is very reminiscent of ConnectionDescriptor::_WriteOutboundData, - * but differs in the that the outbound data pages (received from the - * user) are _message-structured._ That is, we send each of them out - * one message at a time. - * TODO, we are currently suppressing the EMSGSIZE error!!! - */ - - SOCKET sd = GetSocket(); - assert (sd != INVALID_SOCKET); - LastActivity = MyEventMachine->GetCurrentLoopTime(); - - assert (OutboundPages.size() > 0); - - // Send out up to 10 packets, then cycle the machine. - for (int i = 0; i < 10; i++) { - if (OutboundPages.size() <= 0) - break; - OutboundPage *op = &(OutboundPages[0]); - - // The nasty cast to (char*) is needed because Windows is brain-dead. - int s = sendto (sd, (char*)op->Buffer, op->Length, 0, (struct sockaddr*)&(op->From), - (op->From.sin6_family == AF_INET6 ? sizeof (struct sockaddr_in6) : sizeof (struct sockaddr_in))); -#ifdef OS_WIN32 - int e = WSAGetLastError(); -#else - int e = errno; -#endif - - OutboundDataSize -= op->Length; - op->Free(); - OutboundPages.pop_front(); - - if (s == SOCKET_ERROR) { - #ifdef OS_UNIX - if ((e != EINPROGRESS) && (e != EWOULDBLOCK) && (e != EINTR)) { - #endif - #ifdef OS_WIN32 - if ((e != WSAEINPROGRESS) && (e != WSAEWOULDBLOCK)) { - #endif - UnbindReasonCode = e; - Close(); - break; - } - } - } - - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - if (SelectForWrite()) - EpollEvent.events |= EPOLLOUT; - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - #ifdef HAVE_KQUEUE - bKqueueArmWrite = SelectForWrite(); - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif -} - - -/********************************** -DatagramDescriptor::SelectForWrite -**********************************/ - -bool DatagramDescriptor::SelectForWrite() -{ - /* Changed 15Nov07, per bug report by Mark Zvillius. - * The outbound data size will be zero if there are zero-length outbound packets, - * so we now select writable in case the outbound page buffer is not empty. - * Note that the superclass ShouldDelete method still checks for outbound data size, - * which may be wrong. - */ - //return (GetOutboundDataSize() > 0); (Original) - return (OutboundPages.size() > 0); -} - - -/************************************ -DatagramDescriptor::SendOutboundData -************************************/ - -int DatagramDescriptor::SendOutboundData (const char *data, unsigned long length) -{ - // This is almost an exact clone of ConnectionDescriptor::_SendRawOutboundData. - // That means most of it could be factored to a common ancestor. Note that - // empty datagrams are meaningful, which isn't the case for TCP streams. - - if (IsCloseScheduled()) - return 0; - - if (!data && (length > 0)) - throw std::runtime_error ("bad outbound data"); - char *buffer = (char *) malloc (length + 1); - if (!buffer) - throw std::runtime_error ("no allocation for outbound data"); - memcpy (buffer, data, length); - buffer [length] = 0; - OutboundPages.push_back (OutboundPage (buffer, length, ReturnAddress)); - OutboundDataSize += length; - - #ifdef HAVE_EPOLL - EpollEvent.events = (EPOLLIN | EPOLLOUT); - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - #ifdef HAVE_KQUEUE - bKqueueArmWrite = true; - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - - return length; -} - - -/**************************************** -DatagramDescriptor::SendOutboundDatagram -****************************************/ - -int DatagramDescriptor::SendOutboundDatagram (const char *data, unsigned long length, const char *address, int port) -{ - // This is an exact clone of ConnectionDescriptor::SendOutboundData. - // That means it needs to move to a common ancestor. - // TODO: Refactor this so there's no overlap with SendOutboundData. - - if (IsCloseScheduled()) - //if (bCloseNow || bCloseAfterWriting) - return 0; - - if (!address || !*address || !port) - return 0; - - struct sockaddr_in6 addr_here; - size_t addr_here_len = sizeof addr_here; - if (0 != EventMachine_t::name2address (address, port, SOCK_DGRAM, (struct sockaddr *)&addr_here, &addr_here_len)) - return -1; - - if (!data && (length > 0)) - throw std::runtime_error ("bad outbound data"); - char *buffer = (char *) malloc (length + 1); - if (!buffer) - throw std::runtime_error ("no allocation for outbound data"); - memcpy (buffer, data, length); - buffer [length] = 0; - OutboundPages.push_back (OutboundPage (buffer, length, addr_here)); - OutboundDataSize += length; - - #ifdef HAVE_EPOLL - EpollEvent.events = (EPOLLIN | EPOLLOUT); - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - #ifdef HAVE_KQUEUE - bKqueueArmWrite = true; - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - - return length; -} - - -/********************************************** -ConnectionDescriptor::GetCommInactivityTimeout -**********************************************/ - -uint64_t ConnectionDescriptor::GetCommInactivityTimeout() -{ - return InactivityTimeout / 1000; -} - - -/********************************************** -ConnectionDescriptor::SetCommInactivityTimeout -**********************************************/ - -int ConnectionDescriptor::SetCommInactivityTimeout (uint64_t value) -{ - InactivityTimeout = value * 1000; - MyEventMachine->QueueHeartbeat(this); - return 1; -} - -/******************************* -DatagramDescriptor::GetPeername -*******************************/ - -bool DatagramDescriptor::GetPeername (struct sockaddr *s, socklen_t *len) -{ - bool ok = false; - if (s) { - *len = sizeof(ReturnAddress); - memset (s, 0, sizeof(ReturnAddress)); - memcpy (s, &ReturnAddress, sizeof(ReturnAddress)); - ok = true; - } - return ok; -} - - -/******************************************** -DatagramDescriptor::GetCommInactivityTimeout -********************************************/ - -uint64_t DatagramDescriptor::GetCommInactivityTimeout() -{ - return InactivityTimeout / 1000; -} - -/******************************************** -DatagramDescriptor::SetCommInactivityTimeout -********************************************/ - -int DatagramDescriptor::SetCommInactivityTimeout (uint64_t value) -{ - if (value > 0) { - InactivityTimeout = value * 1000; - MyEventMachine->QueueHeartbeat(this); - return 1; - } - return 0; -} - - -/************************************ -InotifyDescriptor::InotifyDescriptor -*************************************/ - -InotifyDescriptor::InotifyDescriptor (EventMachine_t *em): - EventableDescriptor(0, em) -{ - bCallbackUnbind = false; - - #ifndef HAVE_INOTIFY - throw std::runtime_error("no inotify support on this system"); - #else - - int fd = inotify_init(); - if (fd == -1) { - char buf[200]; - snprintf (buf, sizeof(buf)-1, "unable to create inotify descriptor: %s", strerror(errno)); - throw std::runtime_error (buf); - } - - MySocket = fd; - SetSocketNonblocking(MySocket); - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - #endif - - #endif -} - - -/************************************* -InotifyDescriptor::~InotifyDescriptor -**************************************/ - -InotifyDescriptor::~InotifyDescriptor() -{ - close(MySocket); - MySocket = INVALID_SOCKET; -} - -/*********************** -InotifyDescriptor::Read -************************/ - -void InotifyDescriptor::Read() -{ - assert (MyEventMachine); - MyEventMachine->_ReadInotifyEvents(); -} - - -/************************ -InotifyDescriptor::Write -*************************/ - -void InotifyDescriptor::Write() -{ - throw std::runtime_error("bad code path in inotify"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.h deleted file mode 100644 index 4d7f7d4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.h +++ /dev/null @@ -1,457 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: ed.h -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#ifndef __EventableDescriptor__H_ -#define __EventableDescriptor__H_ - - -class EventMachine_t; // forward reference -#ifdef WITH_SSL -class SslBox_t; // forward reference -#endif - -bool SetSocketNonblocking (SOCKET); -bool SetFdCloexec (int); - -/************************* -class EventableDescriptor -*************************/ - -class EventableDescriptor: public Bindable_t -{ - public: - EventableDescriptor (SOCKET, EventMachine_t*); - virtual ~EventableDescriptor() NO_EXCEPT_FALSE; - - SOCKET GetSocket() {return MySocket;} - void SetSocketInvalid() { MySocket = INVALID_SOCKET; } - void Close(); - - virtual void Read() = 0; - virtual void Write() = 0; - virtual void Heartbeat() = 0; - - // These methods tell us whether the descriptor - // should be selected or polled for read/write. - virtual bool SelectForRead() = 0; - virtual bool SelectForWrite() = 0; - - // are we scheduled for a close, or in an error state, or already closed? - bool ShouldDelete(); - // Do we have any data to write? This is used by ShouldDelete. - virtual int GetOutboundDataSize() {return 0;} - virtual bool IsWatchOnly(){ return bWatchOnly; } - - virtual void ScheduleClose (bool after_writing); - bool IsCloseScheduled(); - virtual void HandleError(){ ScheduleClose (false); } - - void SetEventCallback (EMCallback); - - virtual bool GetPeername (struct sockaddr*, socklen_t*) = 0; - virtual bool GetSockname (struct sockaddr*, socklen_t*) = 0; - virtual bool GetSubprocessPid (pid_t*) {return false;} - - virtual void StartTls() {} - virtual void SetTlsParms (const char *, const char *, bool, bool, const char *, const char *, const char *, const char *, int) {} - - #ifdef WITH_SSL - virtual X509 *GetPeerCert() {return NULL;} - virtual int GetCipherBits() {return -1;} - virtual const char *GetCipherName() {return NULL;} - virtual const char *GetCipherProtocol() {return NULL;} - virtual const char *GetSNIHostname() {return NULL;} - #endif - - virtual uint64_t GetCommInactivityTimeout() {return 0;} - virtual int SetCommInactivityTimeout (uint64_t) {return 0;} - uint64_t GetPendingConnectTimeout(); - int SetPendingConnectTimeout (uint64_t value); - uint64_t GetLastActivity() { return LastActivity; } - - #ifdef HAVE_EPOLL - struct epoll_event *GetEpollEvent() { return &EpollEvent; } - #endif - - #ifdef HAVE_KQUEUE - bool GetKqueueArmWrite() { return bKqueueArmWrite; } - #endif - - virtual void StartProxy(const uintptr_t, const unsigned long, const unsigned long); - virtual void StopProxy(); - virtual unsigned long GetProxiedBytes(){ return ProxiedBytes; }; - virtual void SetProxiedFrom(EventableDescriptor*, const unsigned long); - virtual int SendOutboundData(const char*,unsigned long){ return -1; } - virtual bool IsPaused(){ return bPaused; } - virtual bool Pause(){ bPaused = true; return bPaused; } - virtual bool Resume(){ bPaused = false; return bPaused; } - - void SetUnbindReasonCode(int code){ UnbindReasonCode = code; } - virtual int ReportErrorStatus(){ return 0; } - virtual bool IsConnectPending(){ return false; } - virtual uint64_t GetNextHeartbeat(); - - private: - bool bCloseNow; - bool bCloseAfterWriting; - - protected: - SOCKET MySocket; - bool bAttached; - bool bWatchOnly; - - EMCallback EventCallback; - void _GenericInboundDispatch (const char *buffer, unsigned long size); - bool _GenericGetPeername (struct sockaddr*, socklen_t*); - bool _GenericGetSockname (struct sockaddr*, socklen_t*); - - uint64_t CreatedAt; - bool bCallbackUnbind; - int UnbindReasonCode; - - unsigned long BytesToProxy; - EventableDescriptor *ProxyTarget; - EventableDescriptor *ProxiedFrom; - unsigned long ProxiedBytes; - - unsigned long MaxOutboundBufSize; - - #ifdef HAVE_EPOLL - struct epoll_event EpollEvent; - #endif - - #ifdef HAVE_KQUEUE - bool bKqueueArmWrite; - #endif - - EventMachine_t *MyEventMachine; - uint64_t PendingConnectTimeout; - uint64_t InactivityTimeout; - uint64_t LastActivity; - uint64_t NextHeartbeat; - bool bPaused; -}; - - - -/************************* -class LoopbreakDescriptor -*************************/ - -class LoopbreakDescriptor: public EventableDescriptor -{ - public: - LoopbreakDescriptor (SOCKET, EventMachine_t*); - virtual ~LoopbreakDescriptor() {} - - virtual void Read(); - virtual void Write(); - virtual void Heartbeat() {} - - virtual bool SelectForRead() {return true;} - virtual bool SelectForWrite() {return false;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len) { return _GenericGetPeername (s, len); } - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return _GenericGetSockname (s, len); } -}; - - -/************************** -class ConnectionDescriptor -**************************/ - -class ConnectionDescriptor: public EventableDescriptor -{ - public: - ConnectionDescriptor (SOCKET, EventMachine_t*); - virtual ~ConnectionDescriptor(); - - int SendOutboundData (const char*, unsigned long); - - void SetConnectPending (bool f); - virtual void ScheduleClose (bool after_writing); - virtual void HandleError(); - - void SetNotifyReadable (bool); - void SetNotifyWritable (bool); - void SetAttached (bool); - void SetWatchOnly (bool); - - bool Pause(); - bool Resume(); - - bool IsNotifyReadable(){ return bNotifyReadable; } - bool IsNotifyWritable(){ return bNotifyWritable; } - - virtual void Read(); - virtual void Write(); - virtual void Heartbeat(); - - virtual bool SelectForRead(); - virtual bool SelectForWrite(); - - // Do we have any data to write? This is used by ShouldDelete. - virtual int GetOutboundDataSize() {return OutboundDataSize;} - - virtual void StartTls(); - virtual void SetTlsParms (const char *, const char *, bool, bool, const char *, const char *, const char *, const char *, int); - - #ifdef WITH_SSL - virtual X509 *GetPeerCert(); - virtual int GetCipherBits(); - virtual const char *GetCipherName(); - virtual const char *GetCipherProtocol(); - virtual const char *GetSNIHostname(); - virtual bool VerifySslPeer(const char*); - virtual void AcceptSslPeer(); - #endif - - void SetServerMode() {bIsServer = true;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len) { return _GenericGetPeername (s, len); } - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return _GenericGetSockname (s, len); } - - virtual uint64_t GetCommInactivityTimeout(); - virtual int SetCommInactivityTimeout (uint64_t value); - - virtual int ReportErrorStatus(); - virtual bool IsConnectPending(){ return bConnectPending; } - - protected: - struct OutboundPage { - OutboundPage (const char *b, int l, int o=0): Buffer(b), Length(l), Offset(o) {} - void Free() {if (Buffer) free (const_cast(Buffer)); } - const char *Buffer; - int Length; - int Offset; - }; - - protected: - bool bConnectPending; - - bool bNotifyReadable; - bool bNotifyWritable; - - bool bReadAttemptedAfterClose; - bool bWriteAttemptedAfterClose; - - std::deque OutboundPages; - int OutboundDataSize; - - #ifdef WITH_SSL - SslBox_t *SslBox; - std::string CertChainFilename; - std::string PrivateKeyFilename; - std::string CipherList; - std::string EcdhCurve; - std::string DhParam; - int Protocols; - bool bHandshakeSignaled; - bool bSslVerifyPeer; - bool bSslFailIfNoPeerCert; - std::string SniHostName; - bool bSslPeerAccepted; - #endif - - #ifdef HAVE_KQUEUE - bool bGotExtraKqueueEvent; - #endif - - bool bIsServer; - - private: - void _UpdateEvents(); - void _UpdateEvents(bool, bool); - void _WriteOutboundData(); - void _DispatchInboundData (const char *buffer, unsigned long size); - void _DispatchCiphertext(); - int _SendRawOutboundData (const char *buffer, unsigned long size); - void _CheckHandshakeStatus(); - -}; - - -/************************ -class DatagramDescriptor -************************/ - -class DatagramDescriptor: public EventableDescriptor -{ - public: - DatagramDescriptor (SOCKET, EventMachine_t*); - virtual ~DatagramDescriptor(); - - virtual void Read(); - virtual void Write(); - virtual void Heartbeat(); - - virtual bool SelectForRead() {return true;} - virtual bool SelectForWrite(); - - int SendOutboundData (const char*, unsigned long); - int SendOutboundDatagram (const char*, unsigned long, const char*, int); - - // Do we have any data to write? This is used by ShouldDelete. - virtual int GetOutboundDataSize() {return OutboundDataSize;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len); - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return _GenericGetSockname (s, len); }; - - virtual uint64_t GetCommInactivityTimeout(); - virtual int SetCommInactivityTimeout (uint64_t value); - - protected: - struct OutboundPage { - OutboundPage (const char *b, int l, struct sockaddr_in6 f, int o=0): Buffer(b), Length(l), Offset(o), From(f) {} - void Free() {if (Buffer) free (const_cast(Buffer)); } - const char *Buffer; - int Length; - int Offset; - struct sockaddr_in6 From; - }; - - std::deque OutboundPages; - int OutboundDataSize; - - struct sockaddr_in6 ReturnAddress; -}; - - -/************************ -class AcceptorDescriptor -************************/ - -class AcceptorDescriptor: public EventableDescriptor -{ - public: - AcceptorDescriptor (SOCKET, EventMachine_t*); - virtual ~AcceptorDescriptor(); - - virtual void Read(); - virtual void Write(); - virtual void Heartbeat(); - - virtual bool SelectForRead() {return true;} - virtual bool SelectForWrite() {return false;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len) { return _GenericGetPeername (s, len); } - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return _GenericGetSockname (s, len); }; - - static void StopAcceptor (const uintptr_t binding); -}; - -/******************** -class PipeDescriptor -********************/ - -#ifdef OS_UNIX -class PipeDescriptor: public EventableDescriptor -{ - public: - PipeDescriptor (SOCKET, pid_t, EventMachine_t*); - virtual ~PipeDescriptor() NO_EXCEPT_FALSE; - - virtual void Read(); - virtual void Write(); - virtual void Heartbeat(); - - virtual bool SelectForRead(); - virtual bool SelectForWrite(); - - int SendOutboundData (const char*, unsigned long); - virtual int GetOutboundDataSize() {return OutboundDataSize;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len) { return _GenericGetPeername (s, len); } - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return _GenericGetSockname (s, len); } - - virtual bool GetSubprocessPid (pid_t*); - - protected: - struct OutboundPage { - OutboundPage (const char *b, int l, int o=0): Buffer(b), Length(l), Offset(o) {} - void Free() {if (Buffer) free (const_cast(Buffer)); } - const char *Buffer; - int Length; - int Offset; - }; - - protected: - bool bReadAttemptedAfterClose; - - std::deque OutboundPages; - int OutboundDataSize; - - pid_t SubprocessPid; - - private: - void _DispatchInboundData (const char *buffer, int size); -}; -#endif // OS_UNIX - - -/************************ -class KeyboardDescriptor -************************/ - -class KeyboardDescriptor: public EventableDescriptor -{ - public: - KeyboardDescriptor (EventMachine_t*); - virtual ~KeyboardDescriptor(); - - virtual void Read(); - virtual void Write(); - virtual void Heartbeat(); - - virtual bool SelectForRead() {return true;} - virtual bool SelectForWrite() {return false;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len) { return _GenericGetPeername (s, len); } - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return _GenericGetSockname (s, len); } - - protected: - bool bReadAttemptedAfterClose; - - private: - void _DispatchInboundData (const char *buffer, int size); -}; - - -/*********************** -class InotifyDescriptor -************************/ - -class InotifyDescriptor: public EventableDescriptor -{ - public: - InotifyDescriptor (EventMachine_t*); - virtual ~InotifyDescriptor(); - - void Read(); - void Write(); - - virtual void Heartbeat() {} - virtual bool SelectForRead() {return true;} - virtual bool SelectForWrite() {return false;} - - virtual bool GetPeername (struct sockaddr* s, socklen_t* len) { return false; } - virtual bool GetSockname (struct sockaddr* s, socklen_t* len) { return false; } -}; - -#endif // __EventableDescriptor__H_ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.o deleted file mode 100644 index adbbfc1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ed.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.cpp deleted file mode 100644 index 2907485..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.cpp +++ /dev/null @@ -1,2396 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: em.cpp -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -// THIS ENTIRE FILE WILL EVENTUALLY BE FOR UNIX BUILDS ONLY. -//#ifdef OS_UNIX - -#include "project.h" - -/* The numer of max outstanding timers was once a const enum defined in em.h. - * Now we define it here so that users can change its value if necessary. - */ -static unsigned int MaxOutstandingTimers = 100000; - -/* The number of accept() done at once in a single tick when the acceptor - * socket becomes readable. - */ -static unsigned int SimultaneousAcceptCount = 10; - -/* Internal helper to create a socket with SOCK_CLOEXEC set, and fall - * back to fcntl'ing it if the headers/runtime don't support it. - */ -SOCKET EmSocket (int domain, int type, int protocol) -{ - SOCKET sd; -#ifdef HAVE_SOCKET_CLOEXEC - sd = socket (domain, type | SOCK_CLOEXEC, protocol); - if (sd == INVALID_SOCKET) { - sd = socket (domain, type, protocol); - if (sd < 0) { - return sd; - } - SetFdCloexec(sd); - } -#else - sd = socket (domain, type, protocol); - if (sd == INVALID_SOCKET) { - return sd; - } - SetFdCloexec(sd); -#endif - return sd; -} - - -/*************************************** -STATIC EventMachine_t::GetMaxTimerCount -***************************************/ - -int EventMachine_t::GetMaxTimerCount() -{ - return MaxOutstandingTimers; -} - - -/*************************************** -STATIC EventMachine_t::SetMaxTimerCount -***************************************/ - -void EventMachine_t::SetMaxTimerCount (int count) -{ - /* Allow a user to increase the maximum number of outstanding timers. - * If this gets "too high" (a metric that is of course platform dependent), - * bad things will happen like performance problems and possible overuse - * of memory. - * The actual timer mechanism is very efficient so it's hard to know what - * the practical max, but 100,000 shouldn't be too problematical. - */ - if (count < 100) - count = 100; - MaxOutstandingTimers = count; -} - -int EventMachine_t::GetSimultaneousAcceptCount() -{ - return SimultaneousAcceptCount; -} - -void EventMachine_t::SetSimultaneousAcceptCount (int count) -{ - if (count < 1) - count = 1; - SimultaneousAcceptCount = count; -} - - -/****************************** -EventMachine_t::EventMachine_t -******************************/ - -EventMachine_t::EventMachine_t (EMCallback event_callback, Poller_t poller): - NumCloseScheduled (0), - HeartbeatInterval(2000000), - EventCallback (event_callback), - LoopBreakerReader (INVALID_SOCKET), - LoopBreakerWriter (INVALID_SOCKET), - bTerminateSignalReceived (false), - Poller (poller), - epfd (-1), - kqfd (-1) - #ifdef HAVE_INOTIFY - , inotify (NULL) - #endif -{ - // Default time-slice is just smaller than one hundred mills. - Quantum.tv_sec = 0; - Quantum.tv_usec = 90000; - - // Override the requested poller back to default if needed. - #if !defined(HAVE_EPOLL) && !defined(HAVE_KQUEUE) - Poller = Poller_Default; - #endif - - /* Initialize monotonic timekeeping on OS X before the first call to GetRealTime */ - #ifdef OS_DARWIN - (void) mach_timebase_info(&mach_timebase); - #endif - - #ifdef OS_WIN32 - TickCountTickover = 0; - LastTickCount = 0; - #endif - - // Make sure the current loop time is sane, in case we do any initializations of - // objects before we start running. - _UpdateTime(); - - /* We initialize the network library here (only on Windows of course) - * and initialize "loop breakers." Our destructor also does some network-level - * cleanup. There's thus an implicit assumption that any given instance of EventMachine_t - * will only call ::Run once. Is that a good assumption? Should we move some of these - * inits and de-inits into ::Run? - */ - #ifdef OS_WIN32 - WSADATA w; - WSAStartup (MAKEWORD (1, 1), &w); - #endif - - _InitializeLoopBreaker(); - SelectData = new SelectData_t(); -} - - -/******************************* -EventMachine_t::~EventMachine_t -*******************************/ - -EventMachine_t::~EventMachine_t() -{ - // Run down descriptors - size_t i; - for (i = 0; i < NewDescriptors.size(); i++) - delete NewDescriptors[i]; - for (i = 0; i < Descriptors.size(); i++) - delete Descriptors[i]; - - close (LoopBreakerReader); - close (LoopBreakerWriter); - - // Remove any file watch descriptors - while(!Files.empty()) { - std::map::iterator f = Files.begin(); - UnwatchFile (f->first); - } - - if (epfd != -1) - close (epfd); - if (kqfd != -1) - close (kqfd); - - delete SelectData; -} - - -/**************************** -EventMachine_t::ScheduleHalt -****************************/ - -void EventMachine_t::ScheduleHalt() -{ - /* This is how we stop the machine. - * This can be called by clients. Signal handlers will probably - * set the global flag. - * For now this means there can only be one EventMachine ever running at a time. - * - * IMPORTANT: keep this light, fast, and async-safe. Don't do anything frisky in here, - * because it may be called from signal handlers invoked from code that we don't - * control. At this writing (20Sep06), EM does NOT install any signal handlers of - * its own. - * - * We need a FAQ. And one of the questions is: how do I stop EM when Ctrl-C happens? - * The answer is to call evma_stop_machine, which calls here, from a SIGINT handler. - */ - bTerminateSignalReceived = true; - - /* Signal the loopbreaker so we break out of long-running select/epoll/kqueue and - * notice the halt boolean is set. Signalling the loopbreaker also uses a single - * signal-safe syscall. - */ - SignalLoopBreaker(); -} - -bool EventMachine_t::Stopping() -{ - return bTerminateSignalReceived; -} - -/******************************* -EventMachine_t::SetTimerQuantum -*******************************/ - -void EventMachine_t::SetTimerQuantum (int interval) -{ - /* We get a timer-quantum expressed in milliseconds. - */ - - if ((interval < 5) || (interval > 5*60*1000)) - throw std::runtime_error ("invalid timer-quantum"); - - Quantum.tv_sec = interval / 1000; - Quantum.tv_usec = (interval % 1000) * 1000; -} - - -/************************************* -(STATIC) EventMachine_t::SetuidString -*************************************/ - -#ifdef OS_UNIX -void EventMachine_t::SetuidString (const char *username) -{ - /* This method takes a caller-supplied username and tries to setuid - * to that user. There is no meaningful implementation (and no error) - * on Windows. On Unix, a failure to setuid the caller-supplied string - * causes a fatal abort, because presumably the program is calling here - * in order to fulfill a security requirement. If we fail silently, - * the user may continue to run with too much privilege. - * - * TODO, we need to decide on and document a way of generating C++ level errors - * that can be wrapped in documented Ruby exceptions, so users can catch - * and handle them. And distinguish it from errors that we WON'T let the Ruby - * user catch (like security-violations and resource-overallocation). - * A setuid failure here would be in the latter category. - */ - - if (!username || !*username) - throw std::runtime_error ("setuid_string failed: no username specified"); - - errno = 0; - struct passwd *p = getpwnam (username); - if (!p) { - if (errno) { - char buf[200]; - snprintf (buf, sizeof(buf)-1, "setuid_string failed: %s", strerror(errno)); - throw std::runtime_error (buf); - } else { - throw std::runtime_error ("setuid_string failed: unknown username"); - } - } - - if (setuid (p->pw_uid) != 0) - throw std::runtime_error ("setuid_string failed: no setuid"); - - // Success. -} -#else -void EventMachine_t::SetuidString (const char *username UNUSED) { } -#endif - -/**************************************** -(STATIC) EventMachine_t::SetRlimitNofile -****************************************/ - -#ifdef OS_UNIX -int EventMachine_t::SetRlimitNofile (int nofiles) -{ - struct rlimit rlim; - getrlimit (RLIMIT_NOFILE, &rlim); - if (nofiles >= 0) { - rlim.rlim_cur = nofiles; - if ((unsigned int)nofiles > rlim.rlim_max) - rlim.rlim_max = nofiles; - setrlimit (RLIMIT_NOFILE, &rlim); - // ignore the error return, for now at least. - // TODO, emit an error message someday when we have proper debug levels. - } - getrlimit (RLIMIT_NOFILE, &rlim); - return rlim.rlim_cur; -} -#else -int EventMachine_t::SetRlimitNofile (int nofiles UNUSED) { return 0; } -#endif - -/********************************* -EventMachine_t::SignalLoopBreaker -*********************************/ - -void EventMachine_t::SignalLoopBreaker() -{ - #ifdef OS_UNIX - (void)write (LoopBreakerWriter, "", 1); - #endif - #ifdef OS_WIN32 - sendto (LoopBreakerReader, "", 0, 0, (struct sockaddr*)&(LoopBreakerTarget), sizeof(LoopBreakerTarget)); - #endif -} - - -/************************************** -EventMachine_t::_InitializeLoopBreaker -**************************************/ - -void EventMachine_t::_InitializeLoopBreaker() -{ - /* A "loop-breaker" is a socket-descriptor that we can write to in order - * to break the main select loop. Primarily useful for things running on - * threads other than the main EM thread, so they can trigger processing - * of events that arise exogenously to the EM. - * Keep the loop-breaker pipe out of the main descriptor set, otherwise - * its events will get passed on to user code. - */ - - #ifdef OS_UNIX - int fd[2]; -#if defined (HAVE_CLOEXEC) && defined (HAVE_PIPE2) - int pipestatus = pipe2(fd, O_CLOEXEC); - if (pipestatus < 0) { - if (pipe(fd)) - throw std::runtime_error (strerror(errno)); - } -#else - if (pipe (fd)) - throw std::runtime_error (strerror(errno)); -#endif - if (!SetFdCloexec(fd[0]) || !SetFdCloexec(fd[1])) - throw std::runtime_error (strerror(errno)); - - LoopBreakerWriter = fd[1]; - LoopBreakerReader = fd[0]; - - /* 16Jan11: Make sure the pipe is non-blocking, so more than 65k loopbreaks - * in one tick do not fill up the pipe and block the process on write() */ - SetSocketNonblocking (LoopBreakerWriter); - #endif - - #ifdef OS_WIN32 - SOCKET sd = EmSocket (AF_INET, SOCK_DGRAM, 0); - if (sd == INVALID_SOCKET) - throw std::runtime_error ("no loop breaker socket"); - SetSocketNonblocking (sd); - - memset (&LoopBreakerTarget, 0, sizeof(LoopBreakerTarget)); - LoopBreakerTarget.sin_family = AF_INET; - LoopBreakerTarget.sin_addr.s_addr = inet_addr ("127.0.0.1"); - - srand ((int)time(NULL)); - int i; - for (i=0; i < 100; i++) { - int r = (rand() % 10000) + 20000; - LoopBreakerTarget.sin_port = htons (r); - if (bind (sd, (struct sockaddr*)&LoopBreakerTarget, sizeof(LoopBreakerTarget)) == 0) - break; - } - - if (i == 100) - throw std::runtime_error ("no loop breaker"); - LoopBreakerReader = sd; - #endif - - #ifdef HAVE_EPOLL - if (Poller == Poller_Epoll) { - epfd = epoll_create (MaxEpollDescriptors); - if (epfd == -1) { - char buf[200]; - snprintf (buf, sizeof(buf)-1, "unable to create epoll descriptor: %s", strerror(errno)); - throw std::runtime_error (buf); - } - int cloexec = fcntl (epfd, F_GETFD, 0); - assert (cloexec >= 0); - cloexec |= FD_CLOEXEC; - fcntl (epfd, F_SETFD, cloexec); - - assert (LoopBreakerReader >= 0); - LoopbreakDescriptor *ld = new LoopbreakDescriptor (LoopBreakerReader, this); - assert (ld); - Add (ld); - } - #endif - - #ifdef HAVE_KQUEUE - if (Poller == Poller_Kqueue) { - kqfd = kqueue(); - if (kqfd == -1) { - char buf[200]; - snprintf (buf, sizeof(buf)-1, "unable to create kqueue descriptor: %s", strerror(errno)); - throw std::runtime_error (buf); - } - // cloexec not needed. By definition, kqueues are not carried across forks. - - assert (LoopBreakerReader >= 0); - LoopbreakDescriptor *ld = new LoopbreakDescriptor (LoopBreakerReader, this); - assert (ld); - Add (ld); - } - #endif -} - -/*************************** -EventMachine_t::_UpdateTime -***************************/ - -void EventMachine_t::_UpdateTime() -{ - MyCurrentLoopTime = GetRealTime(); -} - -/*************************** -EventMachine_t::GetRealTime -***************************/ - -// Two great writeups of cross-platform monotonic time are at: -// http://www.python.org/dev/peps/pep-0418 -// http://nadeausoftware.com/articles/2012/04/c_c_tip_how_measure_elapsed_real_time_benchmarking -// Uncomment the #pragma messages to confirm which compile-time option was used -uint64_t EventMachine_t::GetRealTime() -{ - uint64_t current_time; - - #if defined(HAVE_CONST_CLOCK_MONOTONIC_RAW) - // #pragma message "GetRealTime: clock_gettime CLOCK_MONOTONIC_RAW" - // Linux 2.6.28 and above - struct timespec tv; - clock_gettime (CLOCK_MONOTONIC_RAW, &tv); - current_time = (((uint64_t)(tv.tv_sec)) * 1000000LL) + ((uint64_t)((tv.tv_nsec)/1000)); - - #elif defined(HAVE_CONST_CLOCK_MONOTONIC) - // #pragma message "GetRealTime: clock_gettime CLOCK_MONOTONIC" - // Linux, FreeBSD 5.0 and above, Solaris 8 and above, OpenBSD, NetBSD, DragonflyBSD - struct timespec tv; - clock_gettime (CLOCK_MONOTONIC, &tv); - current_time = (((uint64_t)(tv.tv_sec)) * 1000000LL) + ((uint64_t)((tv.tv_nsec)/1000)); - - #elif defined(HAVE_GETHRTIME) - // #pragma message "GetRealTime: gethrtime" - // Solaris and HP-UX - current_time = (uint64_t)gethrtime() / 1000; - - #elif defined(OS_DARWIN) - // #pragma message "GetRealTime: mach_absolute_time" - // Mac OS X - // https://developer.apple.com/library/mac/qa/qa1398/_index.html - current_time = mach_absolute_time() * mach_timebase.numer / mach_timebase.denom / 1000; - - #elif defined(OS_UNIX) - // #pragma message "GetRealTime: gettimeofday" - // Unix fallback - struct timeval tv; - gettimeofday (&tv, NULL); - current_time = (((uint64_t)(tv.tv_sec)) * 1000000LL) + ((uint64_t)(tv.tv_usec)); - - #elif defined(OS_WIN32) - // #pragma message "GetRealTime: GetTickCount" - // Future improvement: use GetTickCount64 in Windows Vista / Server 2008 - unsigned tick = GetTickCount(); - if (tick < LastTickCount) - TickCountTickover += 1; - LastTickCount = tick; - current_time = ((uint64_t)TickCountTickover << 32) + (uint64_t)tick; - current_time *= 1000; // convert to microseconds - - #else - // #pragma message "GetRealTime: time" - // Universal fallback - current_time = (uint64_t)time(NULL) * 1000000LL; - #endif - - return current_time; -} - -/*********************************** -EventMachine_t::_DispatchHeartbeats -***********************************/ - -void EventMachine_t::_DispatchHeartbeats() -{ - // Store the first processed heartbeat descriptor and bail out if - // we see it again. This fixes an infinite loop in case the system time - // is changed out from underneath MyCurrentLoopTime. - const EventableDescriptor *head = NULL; - - while (true) { - std::multimap::iterator i = Heartbeats.begin(); - if (i == Heartbeats.end()) - break; - if (i->first > MyCurrentLoopTime) - break; - - EventableDescriptor *ed = i->second; - if (ed == head) - break; - - ed->Heartbeat(); - QueueHeartbeat(ed); - - if (head == NULL) - head = ed; - } -} - -/****************************** -EventMachine_t::QueueHeartbeat -******************************/ - -void EventMachine_t::QueueHeartbeat(EventableDescriptor *ed) -{ - uint64_t heartbeat = ed->GetNextHeartbeat(); - - if (heartbeat) { - #ifndef HAVE_MAKE_PAIR - Heartbeats.insert (std::multimap::value_type (heartbeat, ed)); - #else - Heartbeats.insert (std::make_pair (heartbeat, ed)); - #endif - } -} - -/****************************** -EventMachine_t::ClearHeartbeat -******************************/ - -void EventMachine_t::ClearHeartbeat(uint64_t key, EventableDescriptor* ed) -{ - std::multimap::iterator it; - std::pair::iterator,std::multimap::iterator> ret; - ret = Heartbeats.equal_range (key); - for (it = ret.first; it != ret.second; ++it) { - if (it->second == ed) { - Heartbeats.erase (it); - break; - } - } -} - -/******************* -EventMachine_t::Run -*******************/ - -void EventMachine_t::Run() -{ - while (RunOnce()) ; -} - -/*********************** -EventMachine_t::RunOnce -***********************/ - -bool EventMachine_t::RunOnce() -{ - _UpdateTime(); - _RunTimers(); - - /* _Add must precede _Modify because the same descriptor might - * be on both lists during the same pass through the machine, - * and to modify a descriptor before adding it would fail. - */ - _AddNewDescriptors(); - _ModifyDescriptors(); - - switch (Poller) { - case Poller_Epoll: - _RunEpollOnce(); - break; - case Poller_Kqueue: - _RunKqueueOnce(); - break; - case Poller_Default: - _RunSelectOnce(); - break; - } - - _DispatchHeartbeats(); - _CleanupSockets(); - - if (bTerminateSignalReceived) - return false; - - return true; -} - - -/***************************** -EventMachine_t::_RunEpollOnce -*****************************/ - -void EventMachine_t::_RunEpollOnce() -{ - #ifdef HAVE_EPOLL - assert (epfd != -1); - int s; - - timeval tv = _TimeTilNextEvent(); - - #ifdef BUILD_FOR_RUBY - int ret = 0; - - #ifdef HAVE_RB_WAIT_FOR_SINGLE_FD - if ((ret = rb_wait_for_single_fd(epfd, RB_WAITFD_IN|RB_WAITFD_PRI, &tv)) < 1) { - #else - fd_set fdreads; - - FD_ZERO(&fdreads); - FD_SET(epfd, &fdreads); - - if ((ret = rb_thread_select(epfd + 1, &fdreads, NULL, NULL, &tv)) < 1) { - #endif - if (ret == -1) { - assert(errno != EINVAL); - assert(errno != EBADF); - } - return; - } - - TRAP_BEG; - s = epoll_wait (epfd, epoll_events, MaxEvents, 0); - TRAP_END; - #else - int duration = 0; - duration = duration + (tv.tv_sec * 1000); - duration = duration + (tv.tv_usec / 1000); - s = epoll_wait (epfd, epoll_events, MaxEvents, duration); - #endif - - if (s > 0) { - for (int i=0; i < s; i++) { - EventableDescriptor *ed = (EventableDescriptor*) epoll_events[i].data.ptr; - - if (ed->IsWatchOnly() && ed->GetSocket() == INVALID_SOCKET) - continue; - - assert(ed->GetSocket() != INVALID_SOCKET); - - if (epoll_events[i].events & EPOLLIN) - ed->Read(); - if (epoll_events[i].events & EPOLLOUT) - ed->Write(); - if (epoll_events[i].events & (EPOLLERR | EPOLLHUP)) - ed->HandleError(); - } - } - else if (s < 0) { - // epoll_wait can fail on error in a handful of ways. - // If this happens, then wait for a little while to avoid busy-looping. - // If the error was EINTR, we probably caught SIGCHLD or something, - // so keep the wait short. - timeval tv = {0, ((errno == EINTR) ? 5 : 50) * 1000}; - EmSelect (0, NULL, NULL, NULL, &tv); - } - #else - throw std::runtime_error ("epoll is not implemented on this platform"); - #endif -} - - -/****************************** -EventMachine_t::_RunKqueueOnce -******************************/ - -#ifdef HAVE_KQUEUE -void EventMachine_t::_RunKqueueOnce() -{ - assert (kqfd != -1); - int k; - - timeval tv = _TimeTilNextEvent(); - - struct timespec ts; - ts.tv_sec = tv.tv_sec; - ts.tv_nsec = tv.tv_usec * 1000; - - #ifdef BUILD_FOR_RUBY - int ret = 0; - - #ifdef HAVE_RB_WAIT_FOR_SINGLE_FD - if ((ret = rb_wait_for_single_fd(kqfd, RB_WAITFD_IN|RB_WAITFD_PRI, &tv)) < 1) { - #else - fd_set fdreads; - - FD_ZERO(&fdreads); - FD_SET(kqfd, &fdreads); - - if ((ret = rb_thread_select(kqfd + 1, &fdreads, NULL, NULL, &tv)) < 1) { - #endif - if (ret == -1) { - assert(errno != EINVAL); - assert(errno != EBADF); - } - return; - } - - TRAP_BEG; - ts.tv_sec = ts.tv_nsec = 0; - k = kevent (kqfd, NULL, 0, Karray, MaxEvents, &ts); - TRAP_END; - #else - k = kevent (kqfd, NULL, 0, Karray, MaxEvents, &ts); - #endif - - struct kevent *ke = Karray; - while (k > 0) { - switch (ke->filter) - { - case EVFILT_VNODE: - _HandleKqueueFileEvent (ke); - break; - - case EVFILT_PROC: - _HandleKqueuePidEvent (ke); - break; - - case EVFILT_READ: - case EVFILT_WRITE: - EventableDescriptor *ed = (EventableDescriptor*) (ke->udata); - assert (ed); - - if (ed->IsWatchOnly() && ed->GetSocket() == INVALID_SOCKET) - break; - - if (ke->filter == EVFILT_READ) - ed->Read(); - else if (ke->filter == EVFILT_WRITE) - ed->Write(); - else - std::cerr << "Discarding unknown kqueue event " << ke->filter << std::endl; - - break; - } - - --k; - ++ke; - } - - // TODO, replace this with rb_thread_blocking_region for 1.9 builds. - #ifdef BUILD_FOR_RUBY - if (!rb_thread_alone()) { - rb_thread_schedule(); - } - #endif -} -#else -void EventMachine_t::_RunKqueueOnce() -{ - throw std::runtime_error ("kqueue is not implemented on this platform"); -} -#endif - - -/********************************* -EventMachine_t::_TimeTilNextEvent -*********************************/ - -timeval EventMachine_t::_TimeTilNextEvent() -{ - // 29jul11: Changed calculation base from MyCurrentLoopTime to the - // real time. As MyCurrentLoopTime is set at the beginning of an - // iteration and this calculation is done at the end, evenmachine - // will potentially oversleep by the amount of time the iteration - // took to execute. - uint64_t next_event = 0; - uint64_t current_time = GetRealTime(); - - if (!Heartbeats.empty()) { - std::multimap::iterator heartbeats = Heartbeats.begin(); - next_event = heartbeats->first; - } - - if (!Timers.empty()) { - std::multimap::iterator timers = Timers.begin(); - if (next_event == 0 || timers->first < next_event) - next_event = timers->first; - } - - if (!NewDescriptors.empty() || !ModifiedDescriptors.empty()) { - next_event = current_time; - } - - timeval tv; - - if (NumCloseScheduled > 0 || bTerminateSignalReceived) { - tv.tv_sec = tv.tv_usec = 0; - } else if (next_event == 0) { - tv = Quantum; - } else { - if (next_event > current_time) { - uint64_t duration = next_event - current_time; - tv.tv_sec = duration / 1000000; - tv.tv_usec = duration % 1000000; - } else { - tv.tv_sec = tv.tv_usec = 0; - } - } - - return tv; -} - -/******************************* -EventMachine_t::_CleanupSockets -*******************************/ - -void EventMachine_t::_CleanupSockets() -{ - // TODO, rip this out and only delete the descriptors we know have died, - // rather than traversing the whole list. - // Modified 05Jan08 per suggestions by Chris Heath. It's possible that - // an EventableDescriptor will have a descriptor value of -1. That will - // happen if EventableDescriptor::Close was called on it. In that case, - // don't call epoll_ctl to remove the socket's filters from the epoll set. - // According to the epoll docs, this happens automatically when the - // descriptor is closed anyway. This is different from the case where - // the socket has already been closed but the descriptor in the ED object - // hasn't yet been set to INVALID_SOCKET. - // In kqueue, closing a descriptor automatically removes its event filters. - int i, j; - int nSockets = Descriptors.size(); - for (i=0, j=0; i < nSockets; i++) { - EventableDescriptor *ed = Descriptors[i]; - assert (ed); - if (ed->ShouldDelete()) { - #ifdef HAVE_EPOLL - if (Poller == Poller_Epoll) { - assert (epfd != -1); - if (ed->GetSocket() != INVALID_SOCKET) { - int e = epoll_ctl (epfd, EPOLL_CTL_DEL, ed->GetSocket(), ed->GetEpollEvent()); - // ENOENT or EBADF are not errors because the socket may be already closed when we get here. - if (e && (errno != ENOENT) && (errno != EBADF) && (errno != EPERM)) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to delete epoll event: %s", strerror(errno)); - throw std::runtime_error (buf); - } - } - ModifiedDescriptors.erase(ed); - } - #endif - delete ed; - } - else - Descriptors [j++] = ed; - } - while ((size_t)j < Descriptors.size()) - Descriptors.pop_back(); -} - -/********************************* -EventMachine_t::_ModifyEpollEvent -*********************************/ - -#ifdef HAVE_EPOLL -void EventMachine_t::_ModifyEpollEvent (EventableDescriptor *ed) -{ - if (Poller == Poller_Epoll) { - assert (epfd != -1); - assert (ed); - assert (ed->GetSocket() != INVALID_SOCKET); - int e = epoll_ctl (epfd, EPOLL_CTL_MOD, ed->GetSocket(), ed->GetEpollEvent()); - if (e) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to modify epoll event: %s", strerror(errno)); - throw std::runtime_error (buf); - } - } -} -#else -void EventMachine_t::_ModifyEpollEvent (EventableDescriptor *ed UNUSED) { } -#endif - - -/************************** -SelectData_t::SelectData_t -**************************/ - -SelectData_t::SelectData_t() -{ - maxsocket = 0; - rb_fd_init (&fdreads); - rb_fd_init (&fdwrites); - rb_fd_init (&fderrors); -} - -SelectData_t::~SelectData_t() -{ - rb_fd_term (&fdreads); - rb_fd_term (&fdwrites); - rb_fd_term (&fderrors); -} - -#ifdef BUILD_FOR_RUBY -/***************** -_SelectDataSelect -*****************/ - -#if defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL) -static VALUE _SelectDataSelect (void *v) -{ - SelectData_t *sd = (SelectData_t*)v; - sd->nSockets = rb_fd_select (sd->maxsocket+1, &(sd->fdreads), &(sd->fdwrites), &(sd->fderrors), &(sd->tv)); - return Qnil; -} -#endif - -/********************* -SelectData_t::_Select -*********************/ - -int SelectData_t::_Select() -{ - #if defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL) - // added in ruby 1.9.3 - rb_thread_call_without_gvl ((void *(*)(void *))_SelectDataSelect, (void*)this, RUBY_UBF_IO, 0); - return nSockets; - #elif defined(HAVE_TBR) - // added in ruby 1.9.1, deprecated in ruby 2.0.0 - rb_thread_blocking_region (_SelectDataSelect, (void*)this, RUBY_UBF_IO, 0); - return nSockets; - #else - return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv); - #endif -} -#endif - -void SelectData_t::_Clear() -{ - maxsocket = 0; - rb_fd_zero (&fdreads); - rb_fd_zero (&fdwrites); - rb_fd_zero (&fderrors); -} - -/****************************** -EventMachine_t::_RunSelectOnce -******************************/ - -void EventMachine_t::_RunSelectOnce() -{ - // Crank the event machine once. - // If there are no descriptors to process, then sleep - // for a few hundred mills to avoid busy-looping. - // This is based on a select loop. Alternately provide epoll - // if we know we're running on a 2.6 kernel. - // epoll will be effective if we provide it as an alternative, - // however it has the same problem interoperating with Ruby - // threads that select does. - - // Get ready for select() - SelectData->_Clear(); - - // Always read the loop-breaker reader. - // Changed 23Aug06, provisionally implemented for Windows with a UDP socket - // running on localhost with a randomly-chosen port. (*Puke*) - // Windows has a version of the Unix pipe() library function, but it doesn't - // give you back descriptors that are selectable. - rb_fd_set (LoopBreakerReader, &(SelectData->fdreads)); - if (SelectData->maxsocket < LoopBreakerReader) - SelectData->maxsocket = LoopBreakerReader; - - // prepare the sockets for reading and writing - size_t i; - for (i = 0; i < Descriptors.size(); i++) { - EventableDescriptor *ed = Descriptors[i]; - assert (ed); - SOCKET sd = ed->GetSocket(); - if (ed->IsWatchOnly() && sd == INVALID_SOCKET) - continue; - assert (sd != INVALID_SOCKET); - - if (ed->SelectForRead()) - rb_fd_set (sd, &(SelectData->fdreads)); - if (ed->SelectForWrite()) - rb_fd_set (sd, &(SelectData->fdwrites)); - - #ifdef OS_WIN32 - /* 21Sep09: on windows, a non-blocking connect() that fails does not come up as writable. - Instead, it is added to the error set. See http://www.mail-archive.com/openssl-users@openssl.org/msg58500.html - */ - if (ed->IsConnectPending()) - rb_fd_set (sd, &(SelectData->fderrors)); - #endif - - if (SelectData->maxsocket < sd) - SelectData->maxsocket = sd; - } - - - { // read and write the sockets - //timeval tv = {1, 0}; // Solaris fails if the microseconds member is >= 1000000. - //timeval tv = Quantum; - SelectData->tv = _TimeTilNextEvent(); - int s = SelectData->_Select(); - //rb_thread_blocking_region(xxx,(void*)&SelectData,RUBY_UBF_IO,0); - //int s = EmSelect (SelectData.maxsocket+1, &(SelectData.fdreads), &(SelectData.fdwrites), NULL, &(SelectData.tv)); - //int s = SelectData.nSockets; - if (s > 0) { - /* Changed 01Jun07. We used to handle the Loop-breaker right here. - * Now we do it AFTER all the regular descriptors. There's an - * incredibly important and subtle reason for this. Code on - * loop breakers is sometimes used to cause the reactor core to - * cycle (for example, to allow outbound network buffers to drain). - * If a loop-breaker handler reschedules itself (say, after determining - * that the write buffers are still too full), then it will execute - * IMMEDIATELY if _ReadLoopBreaker is done here instead of after - * the other descriptors are processed. That defeats the whole purpose. - */ - for (i=0; i < Descriptors.size(); i++) { - EventableDescriptor *ed = Descriptors[i]; - assert (ed); - SOCKET sd = ed->GetSocket(); - if (ed->IsWatchOnly() && sd == INVALID_SOCKET) - continue; - assert (sd != INVALID_SOCKET); - - if (rb_fd_isset (sd, &(SelectData->fdwrites))) { - // Double-check SelectForWrite() still returns true. If not, one of the callbacks must have - // modified some value since we checked SelectForWrite() earlier in this method. - if (ed->SelectForWrite()) - ed->Write(); - } - if (rb_fd_isset (sd, &(SelectData->fdreads))) - ed->Read(); - if (rb_fd_isset (sd, &(SelectData->fderrors))) - ed->HandleError(); - } - - if (rb_fd_isset (LoopBreakerReader, &(SelectData->fdreads))) - _ReadLoopBreaker(); - } - else if (s < 0) { - switch (errno) { - case EBADF: - _CleanBadDescriptors(); - break; - case EINVAL: - throw std::runtime_error ("Somehow EM passed an invalid nfds or invalid timeout to select(2), please report this!"); - break; - default: - // select can fail on error in a handful of ways. - // If this happens, then wait for a little while to avoid busy-looping. - // If the error was EINTR, we probably caught SIGCHLD or something, - // so keep the wait short. - timeval tv = {0, ((errno == EINTR) ? 5 : 50) * 1000}; - EmSelect (0, NULL, NULL, NULL, &tv); - } - } - } -} - -void EventMachine_t::_CleanBadDescriptors() -{ - size_t i; - - for (i = 0; i < Descriptors.size(); i++) { - EventableDescriptor *ed = Descriptors[i]; - if (ed->ShouldDelete()) - continue; - - SOCKET sd = ed->GetSocket(); - - struct timeval tv; - tv.tv_sec = 0; - tv.tv_usec = 0; - - rb_fdset_t fds; - rb_fd_init(&fds); - rb_fd_set(sd, &fds); - - int ret = rb_fd_select(sd + 1, &fds, NULL, NULL, &tv); - rb_fd_term(&fds); - - if (ret == -1) { - if (errno == EBADF) - ed->ScheduleClose(false); - } - } -} - -/******************************** -EventMachine_t::_ReadLoopBreaker -********************************/ - -void EventMachine_t::_ReadLoopBreaker() -{ - /* The loop breaker has selected readable. - * Read it ONCE (it may block if we try to read it twice) - * and send a loop-break event back to user code. - */ - char buffer [1024]; - (void)read (LoopBreakerReader, buffer, sizeof(buffer)); - if (EventCallback) - (*EventCallback)(0, EM_LOOPBREAK_SIGNAL, "", 0); -} - - -/************************** -EventMachine_t::_RunTimers -**************************/ - -void EventMachine_t::_RunTimers() -{ - // These are caller-defined timer handlers. - // We rely on the fact that multimaps sort by their keys to avoid - // inspecting the whole list every time we come here. - // Just keep inspecting and processing the list head until we hit - // one that hasn't expired yet. - - while (true) { - std::multimap::iterator i = Timers.begin(); - if (i == Timers.end()) - break; - if (i->first > MyCurrentLoopTime) - break; - if (EventCallback) - (*EventCallback) (0, EM_TIMER_FIRED, NULL, i->second.GetBinding()); - Timers.erase (i); - } -} - - - -/*********************************** -EventMachine_t::InstallOneshotTimer -***********************************/ - -const uintptr_t EventMachine_t::InstallOneshotTimer (uint64_t milliseconds) -{ - if (Timers.size() > MaxOutstandingTimers) - return false; - - uint64_t fire_at = GetRealTime(); - fire_at += ((uint64_t)milliseconds) * 1000LL; - - Timer_t t; - #ifndef HAVE_MAKE_PAIR - std::multimap::iterator i = Timers.insert (std::multimap::value_type (fire_at, t)); - #else - std::multimap::iterator i = Timers.insert (std::make_pair (fire_at, t)); - #endif - return i->second.GetBinding(); -} - - -/******************************* -EventMachine_t::ConnectToServer -*******************************/ - -const uintptr_t EventMachine_t::ConnectToServer (const char *bind_addr, int bind_port, const char *server, int port) -{ - /* We want to spend no more than a few seconds waiting for a connection - * to a remote host. So we use a nonblocking connect. - * Linux disobeys the usual rules for nonblocking connects. - * Per Stevens (UNP p.410), you expect a nonblocking connect to select - * both readable and writable on error, and not to return EINPROGRESS - * if the connect can be fulfilled immediately. Linux violates both - * of these expectations. - * Any kind of nonblocking connect on Linux returns EINPROGRESS. - * The socket will then return writable when the disposition of the - * connect is known, but it will not also be readable in case of - * error! Weirdly, it will be readable in case there is data to read!!! - * (Which can happen with protocols like SSH and SMTP.) - * I suppose if you were so inclined you could consider this logical, - * but it's not the way Unix has historically done it. - * So we ignore the readable flag and read getsockopt to see if there - * was an error connecting. A select timeout works as expected. - * In regard to getsockopt: Linux does the Berkeley-style thing, - * not the Solaris-style, and returns zero with the error code in - * the error parameter. - * Return the binding-text of the newly-created pending connection, - * or NULL if there was a problem. - */ - - if (!server || !*server || !port) - throw std::runtime_error ("invalid server or port"); - - struct sockaddr_storage bind_as; - size_t bind_as_len = sizeof bind_as; - int gai = name2address (server, port, SOCK_STREAM, (struct sockaddr *)&bind_as, &bind_as_len); - if (gai != 0) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to resolve address: %s", gai_strerror(gai)); - throw std::runtime_error (buf); - } - - SOCKET sd = EmSocket (bind_as.ss_family, SOCK_STREAM, 0); - if (sd == INVALID_SOCKET) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to create new socket: %s", strerror(errno)); - throw std::runtime_error (buf); - } - - // From here on, ALL error returns must close the socket. - // Set the new socket nonblocking. - if (!SetSocketNonblocking (sd)) { - close (sd); - throw std::runtime_error ("unable to set socket as non-blocking"); - } - // Disable slow-start (Nagle algorithm). - int one = 1; - setsockopt (sd, IPPROTO_TCP, TCP_NODELAY, (char*) &one, sizeof(one)); - // Set reuseaddr to improve performance on restarts - setsockopt (sd, SOL_SOCKET, SO_REUSEADDR, (char*) &one, sizeof(one)); - - if (bind_addr) { - struct sockaddr_storage bind_to; - size_t bind_to_len = sizeof bind_to; - gai = name2address (bind_addr, bind_port, SOCK_STREAM, (struct sockaddr *)&bind_to, &bind_to_len); - if (gai != 0) { - close (sd); - char buf [200]; - snprintf (buf, sizeof(buf)-1, "invalid bind address: %s", gai_strerror(gai)); - throw std::runtime_error (buf); - } - if (bind (sd, (struct sockaddr *)&bind_to, bind_to_len) < 0) { - close (sd); - throw std::runtime_error ("couldn't bind to address"); - } - } - - uintptr_t out = 0; - - #ifdef OS_UNIX - int e_reason = 0; - if (connect (sd, (struct sockaddr *)&bind_as, bind_as_len) == 0) { - // This is a connect success, which Linux appears - // never to give when the socket is nonblocking, - // even if the connection is intramachine or to - // localhost. - - /* Changed this branch 08Aug06. Evidently some kernels - * (FreeBSD for example) will actually return success from - * a nonblocking connect. This is a pretty simple case, - * just set up the new connection and clear the pending flag. - * Thanks to Chris Ochs for helping track this down. - * This branch never gets taken on Linux or (oddly) OSX. - * The original behavior was to throw an unimplemented, - * which the user saw as a fatal exception. Very unfriendly. - * - * Tweaked 10Aug06. Even though the connect disposition is - * known, we still set the connect-pending flag. That way - * some needed initialization will happen in the ConnectionDescriptor. - * (To wit, the ConnectionCompleted event gets sent to the client.) - */ - ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this); - if (!cd) - throw std::runtime_error ("no connection allocated"); - cd->SetConnectPending (true); - Add (cd); - out = cd->GetBinding(); - } - else if (errno == EINPROGRESS) { - // Errno will generally always be EINPROGRESS, but on Linux - // we have to look at getsockopt to be sure what really happened. - int error = 0; - socklen_t len; - len = sizeof(error); - int o = getsockopt (sd, SOL_SOCKET, SO_ERROR, &error, &len); - if ((o == 0) && (error == 0)) { - // Here, there's no disposition. - // Put the connection on the stack and wait for it to complete - // or time out. - ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this); - if (!cd) - throw std::runtime_error ("no connection allocated"); - cd->SetConnectPending (true); - Add (cd); - out = cd->GetBinding(); - } else { - // Fall through to the !out case below. - e_reason = error; - } - } - else { - // The error from connect was something other then EINPROGRESS (EHOSTDOWN, etc). - // Fall through to the !out case below - e_reason = errno; - } - - if (!out) { - /* This could be connection refused or some such thing. - * We will come here on Linux if a localhost connection fails. - * Changed 16Jul06: Originally this branch was a no-op, and - * we'd drop down to the end of the method, close the socket, - * and return NULL, which would cause the caller to GET A - * FATAL EXCEPTION. Now we keep the socket around but schedule an - * immediate close on it, so the caller will get a close-event - * scheduled on it. This was only an issue for localhost connections - * to non-listening ports. We may eventually need to revise this - * revised behavior, in case it causes problems like making it hard - * for people to know that a failure occurred. - */ - ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this); - if (!cd) - throw std::runtime_error ("no connection allocated"); - cd->SetUnbindReasonCode (e_reason); - cd->ScheduleClose (false); - Add (cd); - out = cd->GetBinding(); - } - #endif - - #ifdef OS_WIN32 - if (connect (sd, (struct sockaddr *)&bind_as, bind_as_len) == 0) { - // This is a connect success, which Windows appears - // never to give when the socket is nonblocking, - // even if the connection is intramachine or to - // localhost. - throw std::runtime_error ("unimplemented"); - } - else if (WSAGetLastError() == WSAEWOULDBLOCK) { - // Here, there's no disposition. - // Windows appears not to surface refused connections or - // such stuff at this point. - // Put the connection on the stack and wait for it to complete - // or time out. - ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this); - if (!cd) - throw std::runtime_error ("no connection allocated"); - cd->SetConnectPending (true); - Add (cd); - out = cd->GetBinding(); - } - else { - // The error from connect was something other then WSAEWOULDBLOCK. - } - - #endif - - if (!out) - close (sd); - return out; -} - -/*********************************** -EventMachine_t::ConnectToUnixServer -***********************************/ - -#ifdef OS_UNIX -const uintptr_t EventMachine_t::ConnectToUnixServer (const char *server) -{ - /* Connect to a Unix-domain server, which by definition is running - * on the same host. - * There is no meaningful implementation on Windows. - * There's no need to do a nonblocking connect, since the connection - * is always local and can always be fulfilled immediately. - */ - - uintptr_t out = 0; - - if (!server || !*server) - return 0; - - sockaddr_un pun; - memset (&pun, 0, sizeof(pun)); - pun.sun_family = AF_LOCAL; - - // You ordinarily expect the server name field to be at least 1024 bytes long, - // but on Linux it can be MUCH shorter. - if (strlen(server) >= sizeof(pun.sun_path)) - throw std::runtime_error ("unix-domain server name is too long"); - - - strcpy (pun.sun_path, server); - - SOCKET fd = EmSocket (AF_LOCAL, SOCK_STREAM, 0); - if (fd == INVALID_SOCKET) - return 0; - - // From here on, ALL error returns must close the socket. - // NOTE: At this point, the socket is still a blocking socket. - if (connect (fd, (struct sockaddr*)&pun, sizeof(pun)) != 0) { - close (fd); - return 0; - } - - // Set the newly-connected socket nonblocking. - if (!SetSocketNonblocking (fd)) { - close (fd); - return 0; - } - - // Set up a connection descriptor and add it to the event-machine. - // Observe, even though we know the connection status is connect-success, - // we still set the "pending" flag, so some needed initializations take - // place. - ConnectionDescriptor *cd = new ConnectionDescriptor (fd, this); - if (!cd) - throw std::runtime_error ("no connection allocated"); - cd->SetConnectPending (true); - Add (cd); - out = cd->GetBinding(); - - if (!out) - close (fd); - - return out; -} -#else -const uintptr_t EventMachine_t::ConnectToUnixServer (const char *server UNUSED) -{ - throw std::runtime_error ("unix-domain connection unavailable on this platform"); -} -#endif - -/************************ -EventMachine_t::AttachFD -************************/ - -const uintptr_t EventMachine_t::AttachFD (SOCKET fd, bool watch_mode) -{ - #ifdef OS_UNIX - if (fcntl(fd, F_GETFL, 0) < 0) { - if (errno) { - throw std::runtime_error (strerror(errno)); - } else { - throw std::runtime_error ("invalid file descriptor"); - } - } - #endif - - #ifdef OS_WIN32 - // TODO: add better check for invalid file descriptors (see ioctlsocket or getsockopt) - if (fd == INVALID_SOCKET) - throw std::runtime_error ("invalid file descriptor"); - #endif - - {// Check for duplicate descriptors - size_t i; - for (i = 0; i < Descriptors.size(); i++) { - EventableDescriptor *ed = Descriptors[i]; - assert (ed); - if (ed->GetSocket() == fd) - throw std::runtime_error ("adding existing descriptor"); - } - - for (i = 0; i < NewDescriptors.size(); i++) { - EventableDescriptor *ed = NewDescriptors[i]; - assert (ed); - if (ed->GetSocket() == fd) - throw std::runtime_error ("adding existing new descriptor"); - } - } - - if (!watch_mode) - SetSocketNonblocking(fd); - - ConnectionDescriptor *cd = new ConnectionDescriptor (fd, this); - if (!cd) - throw std::runtime_error ("no connection allocated"); - - cd->SetAttached(true); - cd->SetWatchOnly(watch_mode); - cd->SetConnectPending (false); - - Add (cd); - - const uintptr_t out = cd->GetBinding(); - return out; -} - -/************************ -EventMachine_t::DetachFD -************************/ - -int EventMachine_t::DetachFD (EventableDescriptor *ed) -{ - if (!ed) - throw std::runtime_error ("detaching bad descriptor"); - - SOCKET fd = ed->GetSocket(); - - #ifdef HAVE_EPOLL - if (Poller == Poller_Epoll) { - if (ed->GetSocket() != INVALID_SOCKET) { - assert (epfd != -1); - int e = epoll_ctl (epfd, EPOLL_CTL_DEL, ed->GetSocket(), ed->GetEpollEvent()); - // ENOENT or EBADF are not errors because the socket may be already closed when we get here. - if (e && (errno != ENOENT) && (errno != EBADF)) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to delete epoll event: %s", strerror(errno)); - throw std::runtime_error (buf); - } - } - } - #endif - - #ifdef HAVE_KQUEUE - if (Poller == Poller_Kqueue) { - // remove any read/write events for this fd - struct kevent k; -#ifdef __NetBSD__ - EV_SET (&k, ed->GetSocket(), EVFILT_READ | EVFILT_WRITE, EV_DELETE, 0, 0, (intptr_t)ed); -#else - EV_SET (&k, ed->GetSocket(), EVFILT_READ | EVFILT_WRITE, EV_DELETE, 0, 0, ed); -#endif - int t = kevent (kqfd, &k, 1, NULL, 0, NULL); - if (t < 0 && (errno != ENOENT) && (errno != EBADF)) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to delete kqueue event: %s", strerror(errno)); - throw std::runtime_error (buf); - } - } - #endif - - // Prevent the descriptor from being modified, in case DetachFD was called from a timer or next_tick - ModifiedDescriptors.erase (ed); - - // Prevent the descriptor from being added, in case DetachFD was called in the same tick as AttachFD - for (size_t i = 0; i < NewDescriptors.size(); i++) { - if (ed == NewDescriptors[i]) { - NewDescriptors.erase(NewDescriptors.begin() + i); - break; - } - } - - // Set MySocket = INVALID_SOCKET so ShouldDelete() is true (and the descriptor gets deleted and removed), - // and also to prevent anyone from calling close() on the detached fd - ed->SetSocketInvalid(); - - return fd; -} - -/************ -name2address -************/ - -int EventMachine_t::name2address (const char *server, int port, int socktype, struct sockaddr *addr, size_t *addr_len) -{ - if (!server || !*server) - server = "0.0.0.0"; - - struct addrinfo *ai; - struct addrinfo hints; - memset (&hints, 0, sizeof(hints)); - hints.ai_socktype = socktype; - hints.ai_family = AF_UNSPEC; - hints.ai_flags = AI_NUMERICSERV | AI_ADDRCONFIG; - - char portstr[12]; - snprintf(portstr, sizeof(portstr), "%u", port); - - int gai = getaddrinfo (server, portstr, &hints, &ai); - if (gai == 0) { - assert (ai->ai_addrlen <= *addr_len); - memcpy (addr, ai->ai_addr, ai->ai_addrlen); - *addr_len = ai->ai_addrlen; - freeaddrinfo(ai); - } - - return gai; -} - - -/******************************* -EventMachine_t::CreateTcpServer -*******************************/ - -const uintptr_t EventMachine_t::CreateTcpServer (const char *server, int port) -{ - /* Create a TCP-acceptor (server) socket and add it to the event machine. - * Return the binding of the new acceptor to the caller. - * This binding will be referenced when the new acceptor sends events - * to indicate accepted connections. - */ - - - struct sockaddr_storage bind_here; - size_t bind_here_len = sizeof bind_here; - if (0 != name2address (server, port, SOCK_STREAM, (struct sockaddr *)&bind_here, &bind_here_len)) - return 0; - - SOCKET sd_accept = EmSocket (bind_here.ss_family, SOCK_STREAM, 0); - if (sd_accept == INVALID_SOCKET) { - goto fail; - } - - { // set reuseaddr to improve performance on restarts. - int oval = 1; - if (setsockopt (sd_accept, SOL_SOCKET, SO_REUSEADDR, (char*)&oval, sizeof(oval)) < 0) { - //__warning ("setsockopt failed while creating listener",""); - goto fail; - } - } - - { // set CLOEXEC. Only makes sense on Unix - #ifdef OS_UNIX - int cloexec = fcntl (sd_accept, F_GETFD, 0); - assert (cloexec >= 0); - cloexec |= FD_CLOEXEC; - fcntl (sd_accept, F_SETFD, cloexec); - #endif - } - - - if (bind (sd_accept, (struct sockaddr *)&bind_here, bind_here_len)) { - //__warning ("binding failed"); - goto fail; - } - - if (listen (sd_accept, 100)) { - //__warning ("listen failed"); - goto fail; - } - - return AttachSD(sd_accept); - - fail: - if (sd_accept != INVALID_SOCKET) - close (sd_accept); - return 0; -} - - -/********************************** -EventMachine_t::OpenDatagramSocket -**********************************/ - -const uintptr_t EventMachine_t::OpenDatagramSocket (const char *address, int port) -{ - uintptr_t output_binding = 0; - - struct sockaddr_storage bind_here; - size_t bind_here_len = sizeof bind_here; - if (0 != name2address (address, port, SOCK_DGRAM, (struct sockaddr *)&bind_here, &bind_here_len)) - return 0; - - // from here on, early returns must close the socket! - SOCKET sd = EmSocket (bind_here.ss_family, SOCK_DGRAM, 0); - if (sd == INVALID_SOCKET) - goto fail; - - { // set the SO_REUSEADDR on the socket before we bind, otherwise it won't work for a second one - int oval = 1; - if (setsockopt (sd, SOL_SOCKET, SO_REUSEADDR, (char*)&oval, sizeof(oval)) < 0) - goto fail; - } - - // Set the new socket nonblocking. - if (!SetSocketNonblocking (sd)) - goto fail; - - if (bind (sd, (struct sockaddr *)&bind_here, bind_here_len) != 0) - goto fail; - - { // Looking good. - DatagramDescriptor *ds = new DatagramDescriptor (sd, this); - if (!ds) - throw std::runtime_error ("unable to allocate datagram-socket"); - Add (ds); - output_binding = ds->GetBinding(); - } - - return output_binding; - - fail: - if (sd != INVALID_SOCKET) - close (sd); - return 0; -} - - - -/******************* -EventMachine_t::Add -*******************/ - -void EventMachine_t::Add (EventableDescriptor *ed) -{ - if (!ed) - throw std::runtime_error ("added bad descriptor"); - ed->SetEventCallback (EventCallback); - NewDescriptors.push_back (ed); -} - - -/******************************* -EventMachine_t::ArmKqueueWriter -*******************************/ - -#ifdef HAVE_KQUEUE -void EventMachine_t::ArmKqueueWriter (EventableDescriptor *ed) -{ - if (Poller == Poller_Kqueue) { - if (!ed) - throw std::runtime_error ("added bad descriptor"); - struct kevent k; -#ifdef __NetBSD__ - EV_SET (&k, ed->GetSocket(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, (intptr_t)ed); -#else - EV_SET (&k, ed->GetSocket(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, ed); -#endif - int t = kevent (kqfd, &k, 1, NULL, 0, NULL); - if (t < 0) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "arm kqueue writer failed on %d: %s", ed->GetSocket(), strerror(errno)); - throw std::runtime_error (buf); - } - } -} -#else -void EventMachine_t::ArmKqueueWriter (EventableDescriptor *ed UNUSED) { } -#endif - -/******************************* -EventMachine_t::ArmKqueueReader -*******************************/ - -#ifdef HAVE_KQUEUE -void EventMachine_t::ArmKqueueReader (EventableDescriptor *ed) -{ - if (Poller == Poller_Kqueue) { - if (!ed) - throw std::runtime_error ("added bad descriptor"); - struct kevent k; -#ifdef __NetBSD__ - EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, (intptr_t)ed); -#else - EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, ed); -#endif - int t = kevent (kqfd, &k, 1, NULL, 0, NULL); - if (t < 0) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "arm kqueue reader failed on %d: %s", ed->GetSocket(), strerror(errno)); - throw std::runtime_error (buf); - } - } -} -#else -void EventMachine_t::ArmKqueueReader (EventableDescriptor *ed UNUSED) { } -#endif - -/********************************** -EventMachine_t::_AddNewDescriptors -**********************************/ - -void EventMachine_t::_AddNewDescriptors() -{ - /* Avoid adding descriptors to the main descriptor list - * while we're actually traversing the list. - * Any descriptors that are added as a result of processing timers - * or acceptors should go on a temporary queue and then added - * while we're not traversing the main list. - * Also, it (rarely) happens that a newly-created descriptor - * is immediately scheduled to close. It might be a good - * idea not to bother scheduling these for I/O but if - * we do that, we might bypass some important processing. - */ - - for (size_t i = 0; i < NewDescriptors.size(); i++) { - EventableDescriptor *ed = NewDescriptors[i]; - if (ed == NULL) - throw std::runtime_error ("adding bad descriptor"); - - #if HAVE_EPOLL - if (Poller == Poller_Epoll) { - assert (epfd != -1); - int e = epoll_ctl (epfd, EPOLL_CTL_ADD, ed->GetSocket(), ed->GetEpollEvent()); - if (e) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to add new descriptor: %s", strerror(errno)); - throw std::runtime_error (buf); - } - } - #endif - - #if HAVE_KQUEUE - /* - if (Poller == Poller_Kqueue) { - // INCOMPLETE. Some descriptors don't want to be readable. - assert (kqfd != -1); - struct kevent k; -#ifdef __NetBSD__ - EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, (intptr_t)ed); -#else - EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, ed); -#endif - int t = kevent (kqfd, &k, 1, NULL, 0, NULL); - assert (t == 0); - } - */ - #endif - - QueueHeartbeat(ed); - Descriptors.push_back (ed); - } - NewDescriptors.clear(); -} - - -/********************************** -EventMachine_t::_ModifyDescriptors -**********************************/ - -void EventMachine_t::_ModifyDescriptors() -{ - /* For implementations which don't level check every descriptor on - * every pass through the machine, as select does. - * If we're not selecting, then descriptors need a way to signal to the - * machine that their readable or writable status has changed. - * That's what the ::Modify call is for. We do it this way to avoid - * modifying descriptors during the loop traversal, where it can easily - * happen that an object (like a UDP socket) gets data written on it by - * the application during #post_init. That would take place BEFORE the - * descriptor even gets added to the epoll descriptor, so the modify - * operation will crash messily. - * Another really messy possibility is for a descriptor to put itself - * on the Modified list, and then get deleted before we get here. - * Remember, deletes happen after the I/O traversal and before the - * next pass through here. So we have to make sure when we delete a - * descriptor to remove it from the Modified list. - */ - - #ifdef HAVE_EPOLL - if (Poller == Poller_Epoll) { - std::set::iterator i = ModifiedDescriptors.begin(); - while (i != ModifiedDescriptors.end()) { - assert (*i); - _ModifyEpollEvent (*i); - ++i; - } - } - #endif - - #ifdef HAVE_KQUEUE - if (Poller == Poller_Kqueue) { - std::set::iterator i = ModifiedDescriptors.begin(); - while (i != ModifiedDescriptors.end()) { - assert (*i); - if ((*i)->GetKqueueArmWrite()) - ArmKqueueWriter (*i); - ++i; - } - } - #endif - - ModifiedDescriptors.clear(); -} - - -/********************** -EventMachine_t::Modify -**********************/ - -void EventMachine_t::Modify (EventableDescriptor *ed) -{ - if (!ed) - throw std::runtime_error ("modified bad descriptor"); - ModifiedDescriptors.insert (ed); -} - - -/*********************** -EventMachine_t::Deregister -***********************/ - -void EventMachine_t::Deregister (EventableDescriptor *ed) -{ - if (!ed) - throw std::runtime_error ("modified bad descriptor"); - #ifdef HAVE_EPOLL - // cut/paste from _CleanupSockets(). The error handling could be - // refactored out of there, but it is cut/paste all over the - // file already. - if (Poller == Poller_Epoll) { - assert (epfd != -1); - assert (ed->GetSocket() != INVALID_SOCKET); - int e = epoll_ctl (epfd, EPOLL_CTL_DEL, ed->GetSocket(), ed->GetEpollEvent()); - // ENOENT or EBADF are not errors because the socket may be already closed when we get here. - if (e && (errno != ENOENT) && (errno != EBADF) && (errno != EPERM)) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "unable to delete epoll event: %s", strerror(errno)); - throw std::runtime_error (buf); - } - ModifiedDescriptors.erase(ed); - } - #endif - - #ifdef HAVE_KQUEUE - if (Poller == Poller_Kqueue) { - assert (ed->GetSocket() != INVALID_SOCKET); - - ModifiedDescriptors.erase(ed); - } - #endif -} - - -/************************************** -EventMachine_t::CreateUnixDomainServer -**************************************/ - -#ifdef OS_UNIX -const uintptr_t EventMachine_t::CreateUnixDomainServer (const char *filename) -{ - /* Create a UNIX-domain acceptor (server) socket and add it to the event machine. - * Return the binding of the new acceptor to the caller. - * This binding will be referenced when the new acceptor sends events - * to indicate accepted connections. - * THERE IS NO MEANINGFUL IMPLEMENTATION ON WINDOWS. - */ - - struct sockaddr_un s_sun; - - SOCKET sd_accept = EmSocket (AF_LOCAL, SOCK_STREAM, 0); - if (sd_accept == INVALID_SOCKET) { - goto fail; - } - - if (!filename || !*filename) - goto fail; - unlink (filename); - - bzero (&s_sun, sizeof(s_sun)); - s_sun.sun_family = AF_LOCAL; - strncpy (s_sun.sun_path, filename, sizeof(s_sun.sun_path)-1); - - // don't bother with reuseaddr for a local socket. - - { // set CLOEXEC. Only makes sense on Unix - #ifdef OS_UNIX - int cloexec = fcntl (sd_accept, F_GETFD, 0); - assert (cloexec >= 0); - cloexec |= FD_CLOEXEC; - fcntl (sd_accept, F_SETFD, cloexec); - #endif - } - - if (bind (sd_accept, (struct sockaddr*)&s_sun, sizeof(s_sun))) { - //__warning ("binding failed"); - goto fail; - } - - if (listen (sd_accept, 100)) { - //__warning ("listen failed"); - goto fail; - } - - return AttachSD(sd_accept); - - fail: - if (sd_accept != INVALID_SOCKET) - close (sd_accept); - return 0; -} -#else -const uintptr_t EventMachine_t::CreateUnixDomainServer (const char *filename UNUSED) -{ - throw std::runtime_error ("unix-domain server unavailable on this platform"); -} -#endif - - -/************************************** -EventMachine_t::AttachSD -**************************************/ - -const uintptr_t EventMachine_t::AttachSD (SOCKET sd_accept) -{ - uintptr_t output_binding = 0; - - { - // Set the acceptor non-blocking. - // THIS IS CRUCIALLY IMPORTANT because we read it in a select loop. - if (!SetSocketNonblocking (sd_accept)) { - //int val = fcntl (sd_accept, F_GETFL, 0); - //if (fcntl (sd_accept, F_SETFL, val | O_NONBLOCK) == -1) { - goto fail; - } - } - - { // Looking good. - AcceptorDescriptor *ad = new AcceptorDescriptor (sd_accept, this); - if (!ad) - throw std::runtime_error ("unable to allocate acceptor"); - Add (ad); - output_binding = ad->GetBinding(); - } - - return output_binding; - - fail: - if (sd_accept != INVALID_SOCKET) - close (sd_accept); - return 0; -} - - -/************************** -EventMachine_t::Socketpair -**************************/ - -#ifdef OS_UNIX -const uintptr_t EventMachine_t::Socketpair (char * const * cmd_strings) -{ - // Make sure the incoming array of command strings is sane. - if (!cmd_strings) - return 0; - int j; - for (j=0; j < 2048 && cmd_strings[j]; j++) - ; - if ((j==0) || (j==2048)) - return 0; - - uintptr_t output_binding = 0; - - int sv[2]; - if (socketpair (AF_LOCAL, SOCK_STREAM, 0, sv) < 0) - return 0; - // from here, all early returns must close the pair of sockets. - - // Set the parent side of the socketpair nonblocking. - // We don't care about the child side, and most child processes will expect their - // stdout to be blocking. Thanks to Duane Johnson and Bill Kelly for pointing this out. - // Obviously DON'T set CLOEXEC. - if (!SetSocketNonblocking (sv[0])) { - close (sv[0]); - close (sv[1]); - return 0; - } - - pid_t f = fork(); - if (f > 0) { - close (sv[1]); - PipeDescriptor *pd = new PipeDescriptor (sv[0], f, this); - if (!pd) - throw std::runtime_error ("unable to allocate pipe"); - Add (pd); - output_binding = pd->GetBinding(); - } - else if (f == 0) { - close (sv[0]); - dup2 (sv[1], STDIN_FILENO); - close (sv[1]); - dup2 (STDIN_FILENO, STDOUT_FILENO); - execvp (cmd_strings[0], cmd_strings+1); - exit (-1); // end the child process if the exec doesn't work. - } - else - throw std::runtime_error ("no fork"); - - return output_binding; -} -#else -const uintptr_t EventMachine_t::Socketpair (char * const * cmd_strings UNUSED) -{ - throw std::runtime_error ("socketpair is currently unavailable on this platform"); -} -#endif - - - -/**************************** -EventMachine_t::OpenKeyboard -****************************/ - -const uintptr_t EventMachine_t::OpenKeyboard() -{ - KeyboardDescriptor *kd = new KeyboardDescriptor (this); - if (!kd) - throw std::runtime_error ("no keyboard-object allocated"); - Add (kd); - return kd->GetBinding(); -} - - -/********************************** -EventMachine_t::GetConnectionCount -**********************************/ - -int EventMachine_t::GetConnectionCount () -{ - int i = 0; - // Subtract one for epoll or kqueue because of the LoopbreakDescriptor - if (Poller == Poller_Epoll || Poller == Poller_Kqueue) - i = 1; - - return Descriptors.size() + NewDescriptors.size() - i; -} - - -/************************ -EventMachine_t::WatchPid -************************/ - -#ifdef HAVE_KQUEUE -const uintptr_t EventMachine_t::WatchPid (int pid) -{ - if (Poller != Poller_Kqueue) - throw std::runtime_error("must enable kqueue (EM.kqueue=true) for pid watching support"); - - struct kevent event; - int kqres; - - EV_SET(&event, pid, EVFILT_PROC, EV_ADD, NOTE_EXIT | NOTE_FORK, 0, 0); - - // Attempt to register the event - kqres = kevent(kqfd, &event, 1, NULL, 0, NULL); - if (kqres == -1) { - char errbuf[200]; - sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno)); - throw std::runtime_error(errbuf); - } - Bindable_t* b = new Bindable_t(); - Pids.insert(std::make_pair (pid, b)); - - return b->GetBinding(); -} -#else -const uintptr_t EventMachine_t::WatchPid (int pid UNUSED) -{ - throw std::runtime_error("no pid watching support on this system"); -} -#endif - -/************************** -EventMachine_t::UnwatchPid -**************************/ - -void EventMachine_t::UnwatchPid (int pid) -{ - Bindable_t *b = Pids[pid]; - assert(b); - Pids.erase(pid); - - #ifdef HAVE_KQUEUE - struct kevent k; - - EV_SET(&k, pid, EVFILT_PROC, EV_DELETE, 0, 0, 0); - /*int t =*/ kevent (kqfd, &k, 1, NULL, 0, NULL); - // t==-1 if the process already exited; ignore this for now - #endif - - if (EventCallback) - (*EventCallback)(b->GetBinding(), EM_CONNECTION_UNBOUND, NULL, 0); - - delete b; -} - -void EventMachine_t::UnwatchPid (const uintptr_t sig) -{ - for(std::map::iterator i=Pids.begin(); i != Pids.end(); i++) - { - if (i->second->GetBinding() == sig) { - UnwatchPid (i->first); - return; - } - } - - throw std::runtime_error("attempted to remove invalid pid signature"); -} - - -/************************* -EventMachine_t::WatchFile -*************************/ - -const uintptr_t EventMachine_t::WatchFile (const char *fpath) -{ - struct stat sb; - int sres; - int wd = -1; - - sres = stat(fpath, &sb); - - if (sres == -1) { - char errbuf[300]; - sprintf(errbuf, "error registering file %s for watching: %s", fpath, strerror(errno)); - throw std::runtime_error(errbuf); - } - - #ifdef HAVE_INOTIFY - if (!inotify) { - inotify = new InotifyDescriptor(this); - assert (inotify); - Add(inotify); - } - - wd = inotify_add_watch(inotify->GetSocket(), fpath, - IN_MODIFY | IN_DELETE_SELF | IN_MOVE_SELF | IN_CREATE | IN_DELETE | IN_MOVE) ; - if (wd == -1) { - char errbuf[300]; - sprintf(errbuf, "failed to open file %s for registering with inotify: %s", fpath, strerror(errno)); - throw std::runtime_error(errbuf); - } - #endif - - #ifdef HAVE_KQUEUE - if (Poller != Poller_Kqueue) - throw std::runtime_error("must enable kqueue (EM.kqueue=true) for file watching support"); - - // With kqueue we have to open the file first and use the resulting fd to register for events - wd = open(fpath, O_RDONLY); - if (wd == -1) { - char errbuf[300]; - sprintf(errbuf, "failed to open file %s for registering with kqueue: %s", fpath, strerror(errno)); - throw std::runtime_error(errbuf); - } - _RegisterKqueueFileEvent(wd); - #endif - - if (wd != -1) { - Bindable_t* b = new Bindable_t(); - Files.insert(std::make_pair (wd, b)); - - return b->GetBinding(); - } - - throw std::runtime_error("no file watching support on this system"); // is this the right thing to do? -} - - -/*************************** -EventMachine_t::UnwatchFile -***************************/ - -void EventMachine_t::UnwatchFile (int wd) -{ - Bindable_t *b = Files[wd]; - assert(b); - Files.erase(wd); - - #ifdef HAVE_INOTIFY - inotify_rm_watch(inotify->GetSocket(), wd); - #elif HAVE_KQUEUE - // With kqueue, closing the monitored fd automatically clears all registered events for it - close(wd); - #endif - - if (EventCallback) - (*EventCallback)(b->GetBinding(), EM_CONNECTION_UNBOUND, NULL, 0); - - delete b; -} - -void EventMachine_t::UnwatchFile (const uintptr_t sig) -{ - for(std::map::iterator i=Files.begin(); i != Files.end(); i++) - { - if (i->second->GetBinding() == sig) { - UnwatchFile (i->first); - return; - } - } - throw std::runtime_error("attempted to remove invalid watch signature"); -} - - -/*********************************** -EventMachine_t::_ReadInotify_Events -************************************/ - -void EventMachine_t::_ReadInotifyEvents() -{ - #ifdef HAVE_INOTIFY - char buffer[1024]; - - assert(EventCallback); - - for (;;) { - int returned = read(inotify->GetSocket(), buffer, sizeof(buffer)); - assert(!(returned == 0 || (returned == -1 && errno == EINVAL))); - if (returned <= 0) { - break; - } - int current = 0; - while (current < returned) { - struct inotify_event* event = (struct inotify_event*)(buffer+current); - std::map::const_iterator bindable = Files.find(event->wd); - if (bindable != Files.end()) { - if (event->mask & (IN_MODIFY | IN_CREATE | IN_DELETE | IN_MOVE)){ - (*EventCallback)(bindable->second->GetBinding(), EM_CONNECTION_READ, "modified", 8); - } - if (event->mask & IN_MOVE_SELF){ - (*EventCallback)(bindable->second->GetBinding(), EM_CONNECTION_READ, "moved", 5); - } - if (event->mask & IN_DELETE_SELF) { - (*EventCallback)(bindable->second->GetBinding(), EM_CONNECTION_READ, "deleted", 7); - UnwatchFile ((int)event->wd); - } - } - current += sizeof(struct inotify_event) + event->len; - } - } - #endif -} - - -/************************************* -EventMachine_t::_HandleKqueuePidEvent -*************************************/ - -#ifdef HAVE_KQUEUE -void EventMachine_t::_HandleKqueuePidEvent(struct kevent *event) -{ - assert(EventCallback); - - if (event->fflags & NOTE_FORK) - (*EventCallback)(Pids [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "fork", 4); - if (event->fflags & NOTE_EXIT) { - (*EventCallback)(Pids [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "exit", 4); - // stop watching the pid if it died - UnwatchPid ((int)event->ident); - } -} -#endif - - -/************************************** -EventMachine_t::_HandleKqueueFileEvent -***************************************/ - -#ifdef HAVE_KQUEUE -void EventMachine_t::_HandleKqueueFileEvent(struct kevent *event) -{ - assert(EventCallback); - - if (event->fflags & NOTE_WRITE) - (*EventCallback)(Files [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "modified", 8); - if (event->fflags & NOTE_RENAME) - (*EventCallback)(Files [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "moved", 5); - if (event->fflags & NOTE_DELETE) { - (*EventCallback)(Files [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "deleted", 7); - UnwatchFile ((int)event->ident); - } -} -#endif - - -/**************************************** -EventMachine_t::_RegisterKqueueFileEvent -*****************************************/ - -#ifdef HAVE_KQUEUE -void EventMachine_t::_RegisterKqueueFileEvent(int fd) -{ - struct kevent newevent; - int kqres; - - // Setup the event with our fd and proper flags - EV_SET(&newevent, fd, EVFILT_VNODE, EV_ADD | EV_CLEAR, NOTE_DELETE | NOTE_RENAME | NOTE_WRITE, 0, 0); - - // Attempt to register the event - kqres = kevent(kqfd, &newevent, 1, NULL, 0, NULL); - if (kqres == -1) { - char errbuf[200]; - sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno)); - close(fd); - throw std::runtime_error(errbuf); - } -} -#endif - - -/************************************ -EventMachine_t::GetHeartbeatInterval -*************************************/ - -float EventMachine_t::GetHeartbeatInterval() -{ - return ((float)HeartbeatInterval / 1000000); -} - - -/************************************ -EventMachine_t::SetHeartbeatInterval -*************************************/ - -int EventMachine_t::SetHeartbeatInterval(float interval) -{ - int iv = (int)(interval * 1000000); - if (iv > 0) { - HeartbeatInterval = iv; - return 1; - } - return 0; -} -//#endif // OS_UNIX diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.h deleted file mode 100644 index 874a127..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.h +++ /dev/null @@ -1,308 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: em.h -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#ifndef __EventMachine__H_ -#define __EventMachine__H_ - -#ifdef BUILD_FOR_RUBY - #include - #ifdef HAVE_RB_THREAD_FD_SELECT - #define EmSelect rb_thread_fd_select - #else - // ruby 1.9.1 and below - #define EmSelect rb_thread_select - #endif - - #ifdef HAVE_RB_THREAD_CALL_WITHOUT_GVL - #include - #endif - - #ifdef HAVE_RB_WAIT_FOR_SINGLE_FD - #include - #endif - - #if defined(HAVE_RB_TRAP_IMMEDIATE) - #include - #elif defined(HAVE_RB_ENABLE_INTERRUPT) - extern "C" { - void rb_enable_interrupt(void); - void rb_disable_interrupt(void); - } - - #define TRAP_BEG rb_enable_interrupt() - #define TRAP_END do { rb_disable_interrupt(); rb_thread_check_ints(); } while(0) - #else - #define TRAP_BEG - #define TRAP_END - #endif - - // 1.9.0 compat - #ifndef RUBY_UBF_IO - #define RUBY_UBF_IO RB_UBF_DFL - #endif - #ifndef RSTRING_PTR - #define RSTRING_PTR(str) RSTRING(str)->ptr - #endif - #ifndef RSTRING_LEN - #define RSTRING_LEN(str) RSTRING(str)->len - #endif - #ifndef RSTRING_LENINT - #define RSTRING_LENINT(str) RSTRING_LEN(str) - #endif -#else - #define EmSelect select -#endif - -#if !defined(HAVE_TYPE_RB_FDSET_T) -#define fd_check(n) (((n) < FD_SETSIZE) ? 1 : 0*fprintf(stderr, "fd %d too large for select\n", (n))) -// These definitions are cribbed from include/ruby/intern.h in Ruby 1.9.3, -// with this change: any macros that read or write the nth element of an -// fdset first call fd_check to make sure n is in bounds. -typedef fd_set rb_fdset_t; -#define rb_fd_zero(f) FD_ZERO(f) -#define rb_fd_set(n, f) do { if (fd_check(n)) FD_SET((n), (f)); } while(0) -#define rb_fd_clr(n, f) do { if (fd_check(n)) FD_CLR((n), (f)); } while(0) -#define rb_fd_isset(n, f) (fd_check(n) ? FD_ISSET((n), (f)) : 0) -#define rb_fd_copy(d, s, n) (*(d) = *(s)) -#define rb_fd_dup(d, s) (*(d) = *(s)) -#define rb_fd_resize(n, f) ((void)(f)) -#define rb_fd_ptr(f) (f) -#define rb_fd_init(f) FD_ZERO(f) -#define rb_fd_init_copy(d, s) (*(d) = *(s)) -#define rb_fd_term(f) ((void)(f)) -#define rb_fd_max(f) FD_SETSIZE -#define rb_fd_select(n, rfds, wfds, efds, timeout) \ - select(fd_check((n)-1) ? (n) : FD_SETSIZE, (rfds), (wfds), (efds), (timeout)) -#define rb_thread_fd_select(n, rfds, wfds, efds, timeout) \ - rb_thread_select(fd_check((n)-1) ? (n) : FD_SETSIZE, (rfds), (wfds), (efds), (timeout)) -#endif - - -// This Solaris fix is adapted from eval_intern.h in Ruby 1.9.3: -// Solaris sys/select.h switches select to select_large_fdset to support larger -// file descriptors if FD_SETSIZE is larger than 1024 on 32bit environment. -// But Ruby doesn't change FD_SETSIZE because fd_set is allocated dynamically. -// So following definition is required to use select_large_fdset. -#ifdef HAVE_SELECT_LARGE_FDSET -#define select(n, r, w, e, t) select_large_fdset((n), (r), (w), (e), (t)) -extern "C" { - int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval *); -} -#endif - -class EventableDescriptor; -class InotifyDescriptor; -struct SelectData_t; - -/************* -enum Poller_t -*************/ -enum Poller_t { - Poller_Default, // typically Select - Poller_Epoll, - Poller_Kqueue -}; - - -/******************** -class EventMachine_t -********************/ - -class EventMachine_t -{ - public: - static int GetMaxTimerCount(); - static void SetMaxTimerCount (int); - - static int GetSimultaneousAcceptCount(); - static void SetSimultaneousAcceptCount (int); - - public: - EventMachine_t (EMCallback, Poller_t); - virtual ~EventMachine_t(); - - bool RunOnce(); - void Run(); - void ScheduleHalt(); - bool Stopping(); - void SignalLoopBreaker(); - const uintptr_t InstallOneshotTimer (uint64_t); - const uintptr_t ConnectToServer (const char *, int, const char *, int); - const uintptr_t ConnectToUnixServer (const char *); - - const uintptr_t CreateTcpServer (const char *, int); - const uintptr_t OpenDatagramSocket (const char *, int); - const uintptr_t CreateUnixDomainServer (const char*); - const uintptr_t AttachSD (SOCKET); - const uintptr_t OpenKeyboard(); - //const char *Popen (const char*, const char*); - const uintptr_t Socketpair (char* const*); - - void Add (EventableDescriptor*); - void Modify (EventableDescriptor*); - void Deregister (EventableDescriptor*); - - const uintptr_t AttachFD (SOCKET, bool); - int DetachFD (EventableDescriptor*); - - void ArmKqueueWriter (EventableDescriptor*); - void ArmKqueueReader (EventableDescriptor*); - - void SetTimerQuantum (int); - static void SetuidString (const char*); - static int SetRlimitNofile (int); - - pid_t SubprocessPid; - int SubprocessExitStatus; - - int GetConnectionCount(); - float GetHeartbeatInterval(); - int SetHeartbeatInterval(float); - - const uintptr_t WatchFile (const char*); - void UnwatchFile (int); - void UnwatchFile (const uintptr_t); - - #ifdef HAVE_KQUEUE - void _HandleKqueueFileEvent (struct kevent*); - void _RegisterKqueueFileEvent(int); - #endif - - const uintptr_t WatchPid (int); - void UnwatchPid (int); - void UnwatchPid (const uintptr_t); - - #ifdef HAVE_KQUEUE - void _HandleKqueuePidEvent (struct kevent*); - #endif - - uint64_t GetCurrentLoopTime() { return MyCurrentLoopTime; } - - void QueueHeartbeat(EventableDescriptor*); - void ClearHeartbeat(uint64_t, EventableDescriptor*); - - uint64_t GetRealTime(); - - Poller_t GetPoller() { return Poller; } - - static int name2address (const char *server, int port, int socktype, struct sockaddr *addr, size_t *addr_len); - - private: - void _RunTimers(); - void _UpdateTime(); - void _AddNewDescriptors(); - void _ModifyDescriptors(); - void _InitializeLoopBreaker(); - void _CleanupSockets(); - - void _RunSelectOnce(); - void _RunEpollOnce(); - void _RunKqueueOnce(); - - void _ModifyEpollEvent (EventableDescriptor*); - void _DispatchHeartbeats(); - timeval _TimeTilNextEvent(); - void _CleanBadDescriptors(); - - public: - void _ReadLoopBreaker(); - void _ReadInotifyEvents(); - int NumCloseScheduled; - - private: - enum { - MaxEpollDescriptors = 64*1024, - MaxEvents = 4096 - }; - int HeartbeatInterval; - EMCallback EventCallback; - - class Timer_t: public Bindable_t { - }; - - std::multimap Timers; - std::multimap Heartbeats; - std::map Files; - std::map Pids; - std::vector Descriptors; - std::vector NewDescriptors; - std::set ModifiedDescriptors; - - SOCKET LoopBreakerReader; - SOCKET LoopBreakerWriter; - #ifdef OS_WIN32 - struct sockaddr_in LoopBreakerTarget; - #endif - - timeval Quantum; - - uint64_t MyCurrentLoopTime; - - #ifdef OS_WIN32 - unsigned TickCountTickover; - unsigned LastTickCount; - #endif - - #ifdef OS_DARWIN - mach_timebase_info_data_t mach_timebase; - #endif - - private: - bool bTerminateSignalReceived; - SelectData_t *SelectData; - - Poller_t Poller; - - int epfd; // Epoll file-descriptor - #ifdef HAVE_EPOLL - struct epoll_event epoll_events [MaxEvents]; - #endif - - int kqfd; // Kqueue file-descriptor - #ifdef HAVE_KQUEUE - struct kevent Karray [MaxEvents]; - #endif - - #ifdef HAVE_INOTIFY - InotifyDescriptor *inotify; // pollable descriptor for our inotify instance - #endif -}; - - -/******************* -struct SelectData_t -*******************/ - -struct SelectData_t -{ - SelectData_t(); - ~SelectData_t(); - - int _Select(); - void _Clear(); - - SOCKET maxsocket; - rb_fdset_t fdreads; - rb_fdset_t fdwrites; - rb_fdset_t fderrors; - timeval tv; - int nSockets; -}; - -#endif // __EventMachine__H_ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.o deleted file mode 100644 index 530e9f5..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/em.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/eventmachine.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/eventmachine.h deleted file mode 100644 index 5100e20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/eventmachine.h +++ /dev/null @@ -1,143 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: eventmachine.h -Date: 15Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#ifndef __EVMA_EventMachine__H_ -#define __EVMA_EventMachine__H_ - -#if __cplusplus -extern "C" { -#endif - - enum { // Event names - EM_TIMER_FIRED = 100, - EM_CONNECTION_READ = 101, - EM_CONNECTION_UNBOUND = 102, - EM_CONNECTION_ACCEPTED = 103, - EM_CONNECTION_COMPLETED = 104, - EM_LOOPBREAK_SIGNAL = 105, - EM_CONNECTION_NOTIFY_READABLE = 106, - EM_CONNECTION_NOTIFY_WRITABLE = 107, - EM_SSL_HANDSHAKE_COMPLETED = 108, - EM_SSL_VERIFY = 109, - EM_PROXY_TARGET_UNBOUND = 110, - EM_PROXY_COMPLETED = 111 - }; - - enum { // SSL/TLS Protocols - EM_PROTO_SSLv2 = 2, - EM_PROTO_SSLv3 = 4, - EM_PROTO_TLSv1 = 8, - EM_PROTO_TLSv1_1 = 16, - EM_PROTO_TLSv1_2 = 32 - }; - - void evma_initialize_library (EMCallback); - bool evma_run_machine_once(); - void evma_run_machine(); - void evma_release_library(); - const uintptr_t evma_install_oneshot_timer (uint64_t milliseconds); - const uintptr_t evma_connect_to_server (const char *bind_addr, int bind_port, const char *server, int port); - const uintptr_t evma_connect_to_unix_server (const char *server); - - const uintptr_t evma_attach_fd (int file_descriptor, int watch_mode); - int evma_detach_fd (const uintptr_t binding); - int evma_get_file_descriptor (const uintptr_t binding); - int evma_is_notify_readable (const uintptr_t binding); - void evma_set_notify_readable (const uintptr_t binding, int mode); - int evma_is_notify_writable (const uintptr_t binding); - void evma_set_notify_writable (const uintptr_t binding, int mode); - - int evma_pause(const uintptr_t binding); - int evma_is_paused(const uintptr_t binding); - int evma_resume(const uintptr_t binding); - - int evma_num_close_scheduled(); - - void evma_stop_tcp_server (const uintptr_t binding); - const uintptr_t evma_create_tcp_server (const char *address, int port); - const uintptr_t evma_create_unix_domain_server (const char *filename); - const uintptr_t evma_attach_sd (int sd); - const uintptr_t evma_open_datagram_socket (const char *server, int port); - const uintptr_t evma_open_keyboard(); - void evma_set_tls_parms (const uintptr_t binding, const char *privatekey_filename, const char *certchain_filenane, int verify_peer, int fail_if_no_peer_cert, const char *sni_hostname, const char *cipherlist, const char *ecdh_curve, const char *dhparam, int protocols); - void evma_start_tls (const uintptr_t binding); - - #ifdef WITH_SSL - X509 *evma_get_peer_cert (const uintptr_t binding); - int evma_get_cipher_bits (const uintptr_t binding); - const char *evma_get_cipher_name (const uintptr_t binding); - const char *evma_get_cipher_protocol (const uintptr_t binding); - const char *evma_get_sni_hostname (const uintptr_t binding); - void evma_accept_ssl_peer (const uintptr_t binding); - #endif - - int evma_get_peername (const uintptr_t binding, struct sockaddr*, socklen_t*); - int evma_get_sockname (const uintptr_t binding, struct sockaddr*, socklen_t*); - int evma_get_subprocess_pid (const uintptr_t binding, pid_t*); - int evma_get_subprocess_status (const uintptr_t binding, int*); - int evma_get_connection_count(); - int evma_send_data_to_connection (const uintptr_t binding, const char *data, int data_length); - int evma_send_datagram (const uintptr_t binding, const char *data, int data_length, const char *address, int port); - float evma_get_comm_inactivity_timeout (const uintptr_t binding); - int evma_set_comm_inactivity_timeout (const uintptr_t binding, float value); - float evma_get_pending_connect_timeout (const uintptr_t binding); - int evma_set_pending_connect_timeout (const uintptr_t binding, float value); - int evma_get_outbound_data_size (const uintptr_t binding); - uint64_t evma_get_last_activity_time (const uintptr_t binding); - int evma_send_file_data_to_connection (const uintptr_t binding, const char *filename); - - void evma_close_connection (const uintptr_t binding, int after_writing); - int evma_report_connection_error_status (const uintptr_t binding); - void evma_signal_loopbreak(); - void evma_set_timer_quantum (int); - int evma_get_max_timer_count(); - void evma_set_max_timer_count (int); - int evma_get_simultaneous_accept_count(); - void evma_set_simultaneous_accept_count (int); - void evma_setuid_string (const char *username); - void evma_stop_machine(); - bool evma_stopping(); - float evma_get_heartbeat_interval(); - int evma_set_heartbeat_interval(float); - - const uintptr_t evma_popen (char * const*cmd_strings); - - const uintptr_t evma_watch_filename (const char *fname); - void evma_unwatch_filename (const uintptr_t binding); - - const uintptr_t evma_watch_pid (int); - void evma_unwatch_pid (const uintptr_t binding); - - void evma_start_proxy(const uintptr_t from, const uintptr_t to, const unsigned long bufsize, const unsigned long length); - void evma_stop_proxy(const uintptr_t from); - unsigned long evma_proxied_bytes(const uintptr_t from); - - int evma_set_rlimit_nofile (int n_files); - - void evma_set_epoll (int use); - void evma_set_kqueue (int use); - - uint64_t evma_get_current_loop_time(); -#if __cplusplus -} -#endif - - -#endif // __EventMachine__H_ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/extconf.rb deleted file mode 100644 index 676b4c4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/extconf.rb +++ /dev/null @@ -1,270 +0,0 @@ -require 'fileutils' -require 'mkmf' - -# Eager check devs tools -have_devel? if respond_to?(:have_devel?) - -def check_libs libs = [], fatal = false - libs.all? { |lib| have_library(lib) || (abort("could not find library: #{lib}") if fatal) } -end - -def check_heads heads = [], fatal = false - heads.all? { |head| have_header(head) || (abort("could not find header: #{head}") if fatal)} -end - -def add_define(name) - $defs.push("-D#{name}") -end - -## -# OpenSSL: - -# override append_library, so it actually appends (instead of prepending) -# this fixes issues with linking ssl, since libcrypto depends on symbols in libssl -def append_library(libs, lib) - libs + " " + format(LIBARG, lib) -end - -SSL_HEADS = %w(openssl/ssl.h openssl/err.h) -SSL_LIBS = %w(crypto ssl) -# OpenSSL 1.1.0 and above for Windows use the Unix library names -# OpenSSL 0.9.8 and 1.0.x for Windows use the *eay32 library names -SSL_LIBS_WIN = RUBY_PLATFORM =~ /mswin|mingw|bccwin/ ? %w(ssleay32 libeay32) : [] - -def dir_config_wrapper(pretty_name, name, idefault=nil, ldefault=nil) - inc, lib = dir_config(name, idefault, ldefault) - if inc && lib - # TODO: Remove when 2.0.0 is the minimum supported version - # Ruby versions not incorporating the mkmf fix at - # https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/39717 - # do not properly search for lib directories, and must be corrected - unless lib && lib[-3, 3] == 'lib' - @libdir_basename = 'lib' - inc, lib = dir_config(name, idefault, ldefault) - end - unless idefault && ldefault - abort "-----\nCannot find #{pretty_name} include path #{inc}\n-----" unless inc && inc.split(File::PATH_SEPARATOR).any? { |dir| File.directory?(dir) } - abort "-----\nCannot find #{pretty_name} library path #{lib}\n-----" unless lib && lib.split(File::PATH_SEPARATOR).any? { |dir| File.directory?(dir) } - warn "-----\nUsing #{pretty_name} in path #{File.dirname inc}\n-----" - end - true - end -end - -def dir_config_search(pretty_name, name, paths, &b) - paths.each do |p| - if dir_config_wrapper('OpenSSL', 'ssl', p + '/include', p + '/lib') && yield - warn "-----\nFound #{pretty_name} in path #{p}\n-----" - return true - end - end - false -end - -def pkg_config_wrapper(pretty_name, name) - cflags, ldflags, libs = pkg_config(name) - unless [cflags, ldflags, libs].any?(&:nil?) || [cflags, ldflags, libs].any?(&:empty?) - warn "-----\nUsing #{pretty_name} from pkg-config #{cflags} && #{ldflags} && #{libs}\n-----" - true - end -end - -if ENV['CROSS_COMPILING'] - openssl_version = ENV.fetch("OPENSSL_VERSION", "1.0.2e") - openssl_dir = File.expand_path("~/.rake-compiler/builds/openssl-#{openssl_version}/") - if File.exist?(openssl_dir) - FileUtils.mkdir_p Dir.pwd+"/openssl/" - FileUtils.cp Dir[openssl_dir+"/include/openssl/*.h"], Dir.pwd+"/openssl/", :verbose => true - FileUtils.cp Dir[openssl_dir+"/lib*.a"], Dir.pwd, :verbose => true - $INCFLAGS << " -I#{Dir.pwd}" # for the openssl headers - add_define "WITH_SSL" - else - STDERR.puts - STDERR.puts "**************************************************************************************" - STDERR.puts "**** Cross-compiled OpenSSL not found" - STDERR.puts "**** Run: hg clone http://bitbucket.org/ged/ruby-pg && cd ruby-pg && rake openssl_libs" - STDERR.puts "**************************************************************************************" - STDERR.puts - end -elsif dir_config_wrapper('OpenSSL', 'ssl') - # If the user has provided a --with-ssl-dir argument, we must respect it or fail. - add_define 'WITH_SSL' if (check_libs(SSL_LIBS) || check_libs(SSL_LIBS_WIN)) && check_heads(SSL_HEADS) -elsif pkg_config_wrapper('OpenSSL', 'openssl') - # If we can detect OpenSSL by pkg-config, use it as the next-best option - add_define 'WITH_SSL' if (check_libs(SSL_LIBS) || check_libs(SSL_LIBS_WIN)) && check_heads(SSL_HEADS) -elsif (check_libs(SSL_LIBS) || check_libs(SSL_LIBS_WIN)) && check_heads(SSL_HEADS) - # If we don't even need any options to find a usable OpenSSL, go with it - add_define 'WITH_SSL' -elsif dir_config_search('OpenSSL', 'ssl', ['/usr/local', '/opt/local', '/usr/local/opt/openssl']) do - (check_libs(SSL_LIBS) || check_libs(SSL_LIBS_WIN)) && check_heads(SSL_HEADS) - end - # Finally, look for OpenSSL in alternate locations including MacPorts and HomeBrew - add_define 'WITH_SSL' -end - -add_define 'BUILD_FOR_RUBY' - -# Ruby features: - -have_var('rb_trap_immediate', ['ruby.h', 'rubysig.h']) -have_func('rb_thread_blocking_region') -have_func('rb_thread_call_without_gvl', 'ruby/thread.h') -have_func('rb_thread_fd_select') -have_type('rb_fdset_t', 'ruby/intern.h') -have_func('rb_wait_for_single_fd') -have_func('rb_enable_interrupt') -have_func('rb_time_new') - -# System features: - -add_define('HAVE_INOTIFY') if inotify = have_func('inotify_init', 'sys/inotify.h') -add_define('HAVE_OLD_INOTIFY') if !inotify && have_macro('__NR_inotify_init', 'sys/syscall.h') -have_func('writev', 'sys/uio.h') -have_func('pipe2', 'unistd.h') -have_func('accept4', 'sys/socket.h') -have_const('SOCK_CLOEXEC', 'sys/socket.h') - -# Minor platform details between *nix and Windows: - -if RUBY_PLATFORM =~ /(mswin|mingw|bccwin)/ - GNU_CHAIN = ENV['CROSS_COMPILING'] || $1 == 'mingw' - OS_WIN32 = true - add_define "OS_WIN32" -else - GNU_CHAIN = true - OS_UNIX = true - add_define 'OS_UNIX' - - add_define "HAVE_KQUEUE" if have_header("sys/event.h") && have_header("sys/queue.h") -end - -# Adjust number of file descriptors (FD) on Windows - -if RbConfig::CONFIG["host_os"] =~ /mingw/ - found = RbConfig::CONFIG.values_at("CFLAGS", "CPPFLAGS"). - any? { |v| v.include?("FD_SETSIZE") } - - add_define "FD_SETSIZE=32767" unless found -end - -# Main platform invariances: - -case RUBY_PLATFORM -when /mswin32/, /mingw32/, /bccwin32/ - check_heads(%w[windows.h winsock.h], true) - check_libs(%w[kernel32 rpcrt4 gdi32], true) - - if GNU_CHAIN - CONFIG['LDSHAREDXX'] = "$(CXX) -shared -static-libgcc -static-libstdc++" - else - $defs.push "-EHs" - $defs.push "-GR" - end - - # Newer versions of Ruby already define _WIN32_WINNT, which is needed - # to get access to newer POSIX networking functions (e.g. getaddrinfo) - add_define '_WIN32_WINNT=0x0501' unless have_func('getaddrinfo') - -when /solaris/ - add_define 'OS_SOLARIS8' - check_libs(%w[nsl socket], true) - - # If Ruby was compiled for 32-bits, then select() can only handle 1024 fds - # There is an alternate function, select_large_fdset, that supports more. - have_func('select_large_fdset', 'sys/select.h') - - if CONFIG['CC'] == 'cc' && ( - `cc -flags 2>&1` =~ /Sun/ || # detect SUNWspro compiler - `cc -V 2>&1` =~ /Sun/ # detect Solaris Studio compiler - ) - # SUN CHAIN - add_define 'CC_SUNWspro' - $preload = ["\nCXX = CC"] # hack a CXX= line into the makefile - $CFLAGS = CONFIG['CFLAGS'] = "-KPIC" - CONFIG['CCDLFLAGS'] = "-KPIC" - CONFIG['LDSHARED'] = "$(CXX) -G -KPIC -lCstd" - CONFIG['LDSHAREDXX'] = "$(CXX) -G -KPIC -lCstd" - else - # GNU CHAIN - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" - end - -when /openbsd/ - # OpenBSD branch contributed by Guillaume Sellier. - - # on Unix we need a g++ link, not gcc. On OpenBSD, linking against libstdc++ have to be explicitly done for shared libs - CONFIG['LDSHARED'] = "$(CXX) -shared -lstdc++ -fPIC" - CONFIG['LDSHAREDXX'] = "$(CXX) -shared -lstdc++ -fPIC" - -when /darwin/ - add_define 'OS_DARWIN' - - # on Unix we need a g++ link, not gcc. - # Ff line contributed by Daniel Harple. - CONFIG['LDSHARED'] = "$(CXX) " + CONFIG['LDSHARED'].split[1..-1].join(' ') - -when /linux/ - add_define 'HAVE_EPOLL' if have_func('epoll_create', 'sys/epoll.h') - - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" - -when /aix/ - CONFIG['LDSHARED'] = "$(CXX) -Wl,-bstatic -Wl,-bdynamic -Wl,-G -Wl,-brtl" - -when /cygwin/ - # For rubies built with Cygwin, CXX may be set to CC, which is just - # a wrapper for gcc. - # This will compile, but it will not link to the C++ std library. - # Explicitly set CXX to use g++. - CONFIG['CXX'] = "g++" - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" - -else - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" -end - -# Platform-specific time functions -if have_func('clock_gettime') - # clock_gettime is POSIX, but the monotonic clocks are not - have_const('CLOCK_MONOTONIC_RAW', 'time.h') # Linux - have_const('CLOCK_MONOTONIC', 'time.h') # Linux, Solaris, BSDs -else - have_func('gethrtime') # Older Solaris and HP-UX -end - -# Hack so that try_link will test with a C++ compiler instead of a C compiler -TRY_LINK.sub!('$(CC)', '$(CXX)') - -# This is our wishlist. We use whichever flags work on the host. -# In the future, add -Werror to make sure all warnings are resolved. -# deprecated-declarations are used in OS X OpenSSL -# ignored-qualifiers are used by the Bindings (would-be void *) -# unused-result because GCC 4.6 no longer silences (void) ignore_this(function) -# address because on Windows, rb_fd_select checks if &fds is non-NULL, which it cannot be -%w( - -Wall - -Wextra - -Wno-deprecated-declarations - -Wno-ignored-qualifiers - -Wno-unused-result - -Wno-address -).select do |flag| - try_link('int main() {return 0;}', flag) -end.each do |flag| - CONFIG['CXXFLAGS'] << ' ' << flag -end -puts "CXXFLAGS=#{CONFIG['CXXFLAGS']}" - -# Solaris C++ compiler doesn't have make_pair() -add_define 'HAVE_MAKE_PAIR' if try_link(< - using namespace std; - int main(){ pair tuple = make_pair(1,2); } -SRC -TRY_LINK.sub!('$(CXX)', '$(CC)') - -create_makefile "rubyeventmachine" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/.sitearchdir.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/.sitearchdir.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/Makefile deleted file mode 100644 index 5cadbc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/Makefile +++ /dev/null @@ -1,266 +0,0 @@ - -SHELL = /bin/sh - -# V=0 quiet, V=1 verbose. other values don't work. -V = 0 -Q1 = $(V:1=) -Q = $(Q1:0=@) -ECHO1 = $(V:1=@ :) -ECHO = $(ECHO1:0=@ echo) -NULLCMD = : - -#### Start of system configuration section. #### - -srcdir = . -topdir = /usr/include/ruby-3.0.0 -hdrdir = $(topdir) -arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0 -PATH_SEPARATOR = : -VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby -prefix = $(DESTDIR)/usr -rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) -rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) -rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) -exec_prefix = $(prefix) -vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby -sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby -rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) -vendorhdrdir = $(rubyhdrdir)/vendor_ruby -sitehdrdir = $(rubyhdrdir)/site_ruby -rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) -vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) -vendorlibdir = $(vendordir)/$(ruby_version) -vendordir = $(rubylibprefix)/vendor_ruby -sitearchdir = $(DESTDIR)./.gem.20231104-11184-z4vrd2 -sitelibdir = $(DESTDIR)./.gem.20231104-11184-z4vrd2 -sitedir = $(DESTDIR)/usr/local/lib/site_ruby -rubyarchdir = $(rubyarchprefix)/$(ruby_version) -rubylibdir = $(rubylibprefix)/$(ruby_version) -sitearchincludedir = $(includedir)/$(sitearch) -archincludedir = $(includedir)/$(arch) -sitearchlibdir = $(libdir)/$(sitearch) -archlibdir = $(libdir)/$(arch) -ridir = $(datarootdir)/$(RI_BASE_NAME) -mandir = $(datarootdir)/man -localedir = $(datarootdir)/locale -libdir = $(exec_prefix)/lib -psdir = $(docdir) -pdfdir = $(docdir) -dvidir = $(docdir) -htmldir = $(docdir) -infodir = $(datarootdir)/info -docdir = $(datarootdir)/doc/$(PACKAGE) -oldincludedir = $(DESTDIR)/usr/include -includedir = $(prefix)/include -runstatedir = $(DESTDIR)/var/run -localstatedir = $(DESTDIR)/var -sharedstatedir = $(prefix)/com -sysconfdir = $(DESTDIR)/etc -datadir = $(datarootdir) -datarootdir = $(prefix)/share -libexecdir = $(exec_prefix)/libexec -sbindir = $(exec_prefix)/sbin -bindir = $(exec_prefix)/bin -archdir = $(rubyarchdir) - - -CC_WRAPPER = -CC = x86_64-linux-gnu-gcc -CXX = x86_64-linux-gnu-g++ -LIBRUBY = $(LIBRUBY_SO) -LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a -LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) -LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) -empty = -OUTFLAG = -o $(empty) -COUTFLAG = -o $(empty) -CSRCFLAG = $(empty) - -RUBY_EXTCONF_H = -cflags = $(optflags) $(debugflags) $(warnflags) -cxxflags = -optflags = -O3 -debugflags = -ggdb3 -warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -cppflags = -CCDLFLAGS = -fPIC -CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC $(ARCH_FLAG) -INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -DEFS = -CPPFLAGS = -DBUILD_FOR_RUBY -DOS_UNIX -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG) -ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -ARCH_FLAG = -DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) -LDSHARED = $(CXX) -shared -LDSHAREDXX = $(CXX) -shared -AR = x86_64-linux-gnu-gcc-ar -EXEEXT = - -RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0 -RUBY_SO_NAME = ruby-3.0 -RUBYW_INSTALL_NAME = -RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) -RUBYW_BASE_NAME = rubyw -RUBY_BASE_NAME = ruby - -arch = x86_64-linux-gnu -sitearch = $(arch) -ruby_version = 3.0.0 -ruby = $(bindir)/$(RUBY_BASE_NAME)3.0 -RUBY = $(ruby) -ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h - -RM = rm -f -RM_RF = $(RUBY) -run -e rm -- -rf -RMDIRS = rmdir --ignore-fail-on-non-empty -p -MAKEDIRS = /usr/bin/mkdir -p -INSTALL = /usr/bin/install -c -INSTALL_PROG = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -m 644 -COPY = cp -TOUCH = exit > - -#### End of system configuration section. #### - -preload = -libpath = . $(archlibdir) -LIBPATH = -L. -L$(archlibdir) -DEFFILE = - -CLEANFILES = mkmf.log -DISTCLEANFILES = -DISTCLEANDIRS = - -extout = -extout_prefix = -target_prefix = -LOCAL_LIBS = -LIBS = $(LIBRUBYARG_SHARED) -lm -lc -ORIG_SRCS = mapper.cpp rubymain.cpp -SRCS = $(ORIG_SRCS) -OBJS = mapper.o rubymain.o -HDRS = $(srcdir)/mapper.h -LOCAL_HDRS = -TARGET = fastfilereaderext -TARGET_NAME = fastfilereaderext -TARGET_ENTRY = Init_$(TARGET_NAME) -DLLIB = $(TARGET).so -EXTSTATIC = -STATIC_LIB = - -TIMESTAMP_DIR = . -BINDIR = $(bindir) -RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = $(sitelibdir)$(target_prefix) -RUBYARCHDIR = $(sitearchdir)$(target_prefix) -HDRDIR = $(sitehdrdir)$(target_prefix) -ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) -TARGET_SO_DIR = -TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) -CLEANLIBS = $(TARGET_SO) -CLEANOBJS = *.o *.bak - -all: $(DLLIB) -static: $(STATIC_LIB) -.PHONY: all install static install-so install-rb -.PHONY: clean clean-so clean-static clean-rb - -clean-static:: -clean-rb-default:: -clean-rb:: -clean-so:: -clean: clean-so clean-static clean-rb-default clean-rb - -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time - -distclean-rb-default:: -distclean-rb:: -distclean-so:: -distclean-static:: -distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb - -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log - -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) - -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true - -realclean: distclean -install: install-so install-rb - -install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time - $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) -clean-static:: - -$(Q)$(RM) $(STATIC_LIB) -install-rb: pre-install-rb do-install-rb install-rb-default -install-rb-default: pre-install-rb-default do-install-rb-default -pre-install-rb: Makefile -pre-install-rb-default: Makefile -do-install-rb: -do-install-rb-default: -pre-install-rb-default: - @$(NULLCMD) -$(TIMESTAMP_DIR)/.sitearchdir.time: - $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) - $(Q) $(TOUCH) $@ - -site-install: site-install-so site-install-rb -site-install-so: install-so -site-install-rb: install-rb - -.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S - -.cc.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cc.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.mm.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.mm.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cxx.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cxx.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cpp.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cpp.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.c.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.c.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.m.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.m.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -$(TARGET_SO): $(OBJS) Makefile - $(ECHO) linking shared-object $(DLLIB) - -$(Q)$(RM) $(@) - $(Q) $(LDSHAREDXX) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) - - - -$(OBJS): $(HDRS) $(ruby_headers) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/extconf.rb deleted file mode 100644 index e4d64e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/extconf.rb +++ /dev/null @@ -1,109 +0,0 @@ -require 'mkmf' - -def check_libs libs = [], fatal = false - libs.all? { |lib| have_library(lib) || (abort("could not find library: #{lib}") if fatal) } -end - -def check_heads heads = [], fatal = false - heads.all? { |head| have_header(head) || (abort("could not find header: #{head}") if fatal)} -end - -def add_define(name) - $defs.push("-D#{name}") -end - -# Eager check devs tools -have_devel? if respond_to?(:have_devel?) - -add_define 'BUILD_FOR_RUBY' - -# Minor platform details between *nix and Windows: - -if RUBY_PLATFORM =~ /(mswin|mingw|bccwin)/ - GNU_CHAIN = ENV['CROSS_COMPILING'] || $1 == 'mingw' - OS_WIN32 = true - add_define "OS_WIN32" -else - GNU_CHAIN = true - OS_UNIX = true - add_define 'OS_UNIX' -end - -# Adjust number of file descriptors (FD) on Windows - -if RbConfig::CONFIG["host_os"] =~ /mingw/ - found = RbConfig::CONFIG.values_at("CFLAGS", "CPPFLAGS"). - any? { |v| v.include?("FD_SETSIZE") } - - add_define "FD_SETSIZE=32767" unless found -end - -# Main platform invariances: - -case RUBY_PLATFORM -when /mswin32/, /mingw32/, /bccwin32/ - check_heads(%w[windows.h winsock.h], true) - check_libs(%w[kernel32 rpcrt4 gdi32], true) - - if GNU_CHAIN - CONFIG['LDSHAREDXX'] = "$(CXX) -shared -static-libgcc -static-libstdc++" - else - $defs.push "-EHs" - $defs.push "-GR" - end - -when /solaris/ - add_define 'OS_SOLARIS8' - check_libs(%w[nsl socket], true) - - if CONFIG['CC'] == 'cc' && ( - `cc -flags 2>&1` =~ /Sun/ || # detect SUNWspro compiler - `cc -V 2>&1` =~ /Sun/ # detect Solaris Studio compiler - ) - # SUN CHAIN - add_define 'CC_SUNWspro' - $preload = ["\nCXX = CC"] # hack a CXX= line into the makefile - $CFLAGS = CONFIG['CFLAGS'] = "-KPIC" - CONFIG['CCDLFLAGS'] = "-KPIC" - CONFIG['LDSHARED'] = "$(CXX) -G -KPIC -lCstd" - CONFIG['LDSHAREDXX'] = "$(CXX) -G -KPIC -lCstd" - else - # GNU CHAIN - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" - end - -when /openbsd/ - # OpenBSD branch contributed by Guillaume Sellier. - - # on Unix we need a g++ link, not gcc. On OpenBSD, linking against libstdc++ have to be explicitly done for shared libs - CONFIG['LDSHARED'] = "$(CXX) -shared -lstdc++ -fPIC" - CONFIG['LDSHAREDXX'] = "$(CXX) -shared -lstdc++ -fPIC" - -when /darwin/ - # on Unix we need a g++ link, not gcc. - # Ff line contributed by Daniel Harple. - CONFIG['LDSHARED'] = "$(CXX) " + CONFIG['LDSHARED'].split[1..-1].join(' ') - -when /linux/ - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" - -when /aix/ - CONFIG['LDSHARED'] = "$(CXX) -Wl,-bstatic -Wl,-bdynamic -Wl,-G -Wl,-brtl" - -when /cygwin/ - # For rubies built with Cygwin, CXX may be set to CC, which is just - # a wrapper for gcc. - # This will compile, but it will not link to the C++ std library. - # Explicitly set CXX to use g++. - CONFIG['CXX'] = "g++" - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" - -else - # on Unix we need a g++ link, not gcc. - CONFIG['LDSHARED'] = "$(CXX) -shared" -end - -create_makefile "fastfilereaderext" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.cpp deleted file mode 100644 index f226f2d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.cpp +++ /dev/null @@ -1,214 +0,0 @@ -/***************************************************************************** - -$Id: mapper.cpp 4527 2007-07-04 10:21:34Z francis $ - -File: mapper.cpp -Date: 02Jul07 - -Copyright (C) 2007 by Francis Cianfrocca. All Rights Reserved. -Gmail: garbagecat10 - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -////////////////////////////////////////////////////////////////////// -// UNIX implementation -////////////////////////////////////////////////////////////////////// - - -#ifdef OS_UNIX - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "mapper.h" - -/****************** -Mapper_t::Mapper_t -******************/ - -Mapper_t::Mapper_t (const std::string &filename) -{ - /* We ASSUME we can open the file. - * (More precisely, we assume someone else checked before we got here.) - */ - - Fd = open (filename.c_str(), O_RDONLY); - if (Fd < 0) - throw std::runtime_error (strerror (errno)); - - struct stat st; - if (fstat (Fd, &st)) - throw std::runtime_error (strerror (errno)); - FileSize = st.st_size; - - #ifdef OS_WIN32 - MapPoint = (char*) mmap (0, FileSize, PROT_READ, MAP_SHARED, Fd, 0); - #else - MapPoint = (const char*) mmap (0, FileSize, PROT_READ, MAP_SHARED, Fd, 0); - #endif - if (MapPoint == MAP_FAILED) - throw std::runtime_error (strerror (errno)); -} - - -/******************* -Mapper_t::~Mapper_t -*******************/ - -Mapper_t::~Mapper_t() -{ - Close(); -} - - -/*************** -Mapper_t::Close -***************/ - -void Mapper_t::Close() -{ - // Can be called multiple times. - // Calls to GetChunk are invalid after a call to Close. - if (MapPoint) { - #ifdef CC_SUNWspro - // TODO: The void * cast works fine on Solaris 11, but - // I don't know at what point that changed from older Solaris. - munmap ((char*)MapPoint, FileSize); - #else - munmap ((void*)MapPoint, FileSize); - #endif - MapPoint = NULL; - } - if (Fd >= 0) { - close (Fd); - Fd = -1; - } -} - -/****************** -Mapper_t::GetChunk -******************/ - -const char *Mapper_t::GetChunk (unsigned start) -{ - return MapPoint + start; -} - - - -#endif // OS_UNIX - - -////////////////////////////////////////////////////////////////////// -// WINDOWS implementation -////////////////////////////////////////////////////////////////////// - -#ifdef OS_WIN32 - -#include - -#include -#include -#include - -#include "mapper.h" - -/****************** -Mapper_t::Mapper_t -******************/ - -Mapper_t::Mapper_t (const std::string &filename) -{ - /* We ASSUME we can open the file. - * (More precisely, we assume someone else checked before we got here.) - */ - - hFile = INVALID_HANDLE_VALUE; - hMapping = NULL; - MapPoint = NULL; - FileSize = 0; - - hFile = CreateFile (filename.c_str(), GENERIC_READ|GENERIC_WRITE, FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - - if (hFile == INVALID_HANDLE_VALUE) - throw std::runtime_error ("File not found"); - - BY_HANDLE_FILE_INFORMATION i; - if (GetFileInformationByHandle (hFile, &i)) - FileSize = i.nFileSizeLow; - - hMapping = CreateFileMapping (hFile, NULL, PAGE_READWRITE, 0, 0, NULL); - if (!hMapping) - throw std::runtime_error ("File not mapped"); - - #ifdef OS_WIN32 - MapPoint = (char*) MapViewOfFile (hMapping, FILE_MAP_WRITE, 0, 0, 0); - #else - MapPoint = (const char*) MapViewOfFile (hMapping, FILE_MAP_WRITE, 0, 0, 0); - #endif - if (!MapPoint) - throw std::runtime_error ("Mappoint not read"); -} - - -/******************* -Mapper_t::~Mapper_t -*******************/ - -Mapper_t::~Mapper_t() -{ - Close(); -} - -/*************** -Mapper_t::Close -***************/ - -void Mapper_t::Close() -{ - // Can be called multiple times. - // Calls to GetChunk are invalid after a call to Close. - if (MapPoint) { - UnmapViewOfFile (MapPoint); - MapPoint = NULL; - } - if (hMapping != NULL) { - CloseHandle (hMapping); - hMapping = NULL; - } - if (hFile != INVALID_HANDLE_VALUE) { - CloseHandle (hFile); - hFile = INVALID_HANDLE_VALUE; - } -} - - -/****************** -Mapper_t::GetChunk -******************/ - -const char *Mapper_t::GetChunk (unsigned start) -{ - return MapPoint + start; -} - - - -#endif // OS_WINDOWS diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.h deleted file mode 100644 index 3db0eea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.h +++ /dev/null @@ -1,59 +0,0 @@ -/***************************************************************************** - -$Id: mapper.h 4529 2007-07-04 11:32:22Z francis $ - -File: mapper.h -Date: 02Jul07 - -Copyright (C) 2007 by Francis Cianfrocca. All Rights Reserved. -Gmail: garbagecat10 - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -#ifndef __Mapper__H_ -#define __Mapper__H_ - - -/************** -class Mapper_t -**************/ - -class Mapper_t -{ - public: - Mapper_t (const std::string&); - virtual ~Mapper_t(); - - const char *GetChunk (unsigned); - void Close(); - size_t GetFileSize() {return FileSize;} - - private: - size_t FileSize; - - #ifdef OS_UNIX - private: - int Fd; - const char *MapPoint; - #endif // OS_UNIX - - #ifdef OS_WIN32 - private: - HANDLE hFile; - HANDLE hMapping; - char *MapPoint; - #endif // OS_WIN32 - -}; - - -#endif // __Mapper__H_ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.o deleted file mode 100644 index 1139e9b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/mapper.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/rubymain.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/rubymain.cpp deleted file mode 100644 index b962bf0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/rubymain.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/***************************************************************************** - -$Id: rubymain.cpp 4529 2007-07-04 11:32:22Z francis $ - -File: rubymain.cpp -Date: 02Jul07 - -Copyright (C) 2007 by Francis Cianfrocca. All Rights Reserved. -Gmail: garbagecat10 - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - - -#include -#include - -#include -#include "mapper.h" - -static VALUE EmModule; -static VALUE FastFileReader; -static VALUE Mapper; - - - -/********* -mapper_dt -*********/ - -static void mapper_dt (void *ptr) -{ - if (ptr) - delete (Mapper_t*) ptr; -} - -/********** -mapper_new -**********/ - -static VALUE mapper_new (VALUE self, VALUE filename) -{ - Mapper_t *m = new Mapper_t (StringValueCStr (filename)); - if (!m) - rb_raise (rb_eStandardError, "No Mapper Object"); - VALUE v = Data_Wrap_Struct (Mapper, 0, mapper_dt, (void*)m); - return v; -} - - -/**************** -mapper_get_chunk -****************/ - -static VALUE mapper_get_chunk (VALUE self, VALUE start, VALUE length) -{ - Mapper_t *m = NULL; - Data_Get_Struct (self, Mapper_t, m); - if (!m) - rb_raise (rb_eStandardError, "No Mapper Object"); - - // TODO, what if some moron sends us a negative start value? - unsigned _start = NUM2INT (start); - unsigned _length = NUM2INT (length); - if ((_start + _length) > m->GetFileSize()) - rb_raise (rb_eStandardError, "Mapper Range Error"); - - const char *chunk = m->GetChunk (_start); - if (!chunk) - rb_raise (rb_eStandardError, "No Mapper Chunk"); - return rb_str_new (chunk, _length); -} - -/************ -mapper_close -************/ - -static VALUE mapper_close (VALUE self) -{ - Mapper_t *m = NULL; - Data_Get_Struct (self, Mapper_t, m); - if (!m) - rb_raise (rb_eStandardError, "No Mapper Object"); - m->Close(); - return Qnil; -} - -/*********** -mapper_size -***********/ - -static VALUE mapper_size (VALUE self) -{ - Mapper_t *m = NULL; - Data_Get_Struct (self, Mapper_t, m); - if (!m) - rb_raise (rb_eStandardError, "No Mapper Object"); - return INT2NUM (m->GetFileSize()); -} - - -/********************** -Init_fastfilereaderext -**********************/ - -extern "C" void Init_fastfilereaderext() -{ - EmModule = rb_define_module ("EventMachine"); - FastFileReader = rb_define_class_under (EmModule, "FastFileReader", rb_cObject); - Mapper = rb_define_class_under (FastFileReader, "Mapper", rb_cObject); - - rb_define_module_function (Mapper, "new", (VALUE(*)(...))mapper_new, 1); - rb_define_method (Mapper, "size", (VALUE(*)(...))mapper_size, 0); - rb_define_method (Mapper, "close", (VALUE(*)(...))mapper_close, 0); - rb_define_method (Mapper, "get_chunk", (VALUE(*)(...))mapper_get_chunk, 2); -} - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/rubymain.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/rubymain.o deleted file mode 100644 index 530cbe4..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/fastfilereader/rubymain.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/kb.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/kb.cpp deleted file mode 100644 index 2187ae2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/kb.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: kb.cpp -Date: 24Aug07 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#include "project.h" - - -/************************************** -KeyboardDescriptor::KeyboardDescriptor -**************************************/ - -KeyboardDescriptor::KeyboardDescriptor (EventMachine_t *parent_em): - EventableDescriptor (0, parent_em), - bReadAttemptedAfterClose (false) -{ - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - #endif - #ifdef HAVE_KQUEUE - MyEventMachine->ArmKqueueReader (this); - #endif -} - - -/*************************************** -KeyboardDescriptor::~KeyboardDescriptor -***************************************/ - -KeyboardDescriptor::~KeyboardDescriptor() -{ -} - - -/************************* -KeyboardDescriptor::Write -*************************/ - -void KeyboardDescriptor::Write() -{ - // Why are we here? - throw std::runtime_error ("bad code path in keyboard handler"); -} - - -/***************************** -KeyboardDescriptor::Heartbeat -*****************************/ - -void KeyboardDescriptor::Heartbeat() -{ - // no-op -} - - -/************************ -KeyboardDescriptor::Read -************************/ - -void KeyboardDescriptor::Read() -{ - char c; - (void)read (GetSocket(), &c, 1); - _GenericInboundDispatch(&c, 1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/kb.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/kb.o deleted file mode 100644 index 08c5a5d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/kb.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.cpp deleted file mode 100644 index a3a2340..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: page.cpp -Date: 30Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -#include "project.h" - - -/****************** -PageList::PageList -******************/ - -PageList::PageList() -{ -} - - -/******************* -PageList::~PageList -*******************/ - -PageList::~PageList() -{ - while (HasPages()) - PopFront(); -} - - -/*************** -PageList::Front -***************/ - -void PageList::Front (const char **page, int *length) -{ - assert (page && length); - - if (HasPages()) { - Page p = Pages.front(); - *page = p.Buffer; - *length = p.Size; - } - else { - *page = NULL; - *length = 0; - } -} - - -/****************** -PageList::PopFront -******************/ - -void PageList::PopFront() -{ - if (HasPages()) { - Page p = Pages.front(); - Pages.pop_front(); - if (p.Buffer) - free ((void*)p.Buffer); - } -} - - -/****************** -PageList::HasPages -******************/ - -bool PageList::HasPages() -{ - return (Pages.size() > 0) ? true : false; -} - - -/************** -PageList::Push -**************/ - -void PageList::Push (const char *buf, int size) -{ - if (buf && (size > 0)) { - char *copy = (char*) malloc (size); - if (!copy) - throw std::runtime_error ("no memory in pagelist"); - memcpy (copy, buf, size); - Pages.push_back (Page (copy, size)); - } -} - - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.h deleted file mode 100644 index 969fc91..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.h +++ /dev/null @@ -1,51 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: page.h -Date: 30Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -#ifndef __PageManager__H_ -#define __PageManager__H_ - - -/************** -class PageList -**************/ - -class PageList -{ - struct Page { - Page (const char *b, size_t s): Buffer(b), Size(s) {} - const char *Buffer; - size_t Size; - }; - - public: - PageList(); - virtual ~PageList(); - - void Push (const char*, int); - bool HasPages(); - void Front (const char**, int*); - void PopFront(); - - private: - std::deque Pages; -}; - - -#endif // __PageManager__H_ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.o deleted file mode 100644 index 9e560ab..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/page.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/pipe.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/pipe.cpp deleted file mode 100644 index a5f0d9f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/pipe.cpp +++ /dev/null @@ -1,354 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: pipe.cpp -Date: 30May07 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#include "project.h" - - -#ifdef OS_UNIX -// THIS ENTIRE FILE IS ONLY COMPILED ON UNIX-LIKE SYSTEMS. - -/****************************** -PipeDescriptor::PipeDescriptor -******************************/ - -PipeDescriptor::PipeDescriptor (int fd, pid_t subpid, EventMachine_t *parent_em): - EventableDescriptor (fd, parent_em), - bReadAttemptedAfterClose (false), - OutboundDataSize (0), - SubprocessPid (subpid) -{ - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - #endif - #ifdef HAVE_KQUEUE - MyEventMachine->ArmKqueueReader (this); - #endif -} - - -/******************************* -PipeDescriptor::~PipeDescriptor -*******************************/ - -PipeDescriptor::~PipeDescriptor() NO_EXCEPT_FALSE -{ - // Run down any stranded outbound data. - for (size_t i=0; i < OutboundPages.size(); i++) - OutboundPages[i].Free(); - - /* As a virtual destructor, we come here before the base-class - * destructor that closes our file-descriptor. - * We have to make sure the subprocess goes down (if it's not - * already down) and we have to reap the zombie. - * - * This implementation is PROVISIONAL and will surely be improved. - * The intention here is that we never block, hence the highly - * undesirable sleeps. But if we can't reap the subprocess even - * after sending it SIGKILL, then something is wrong and we - * throw a fatal exception, which is also not something we should - * be doing. - * - * Eventually the right thing to do will be to have the reactor - * core respond to SIGCHLD by chaining a handler on top of the - * one Ruby may have installed, and dealing with a list of dead - * children that are pending cleanup. - * - * Since we want to have a signal processor integrated into the - * client-visible API, let's wait until that is done before cleaning - * this up. - * - * Added a very ugly hack to support passing the subprocess's exit - * status to the user. It only makes logical sense for user code to access - * the subprocess exit status in the unbind callback. But unbind is called - * back during the EventableDescriptor destructor. So by that time there's - * no way to call back this object through an object binding, because it's - * already been cleaned up. We might have added a parameter to the unbind - * callback, but that would probably break a huge amount of existing code. - * So the hack-solution is to define an instance variable in the EventMachine - * object and stick the exit status in there, where it can easily be accessed - * with an accessor visible to user code. - * User code should ONLY access the exit status from within the unbind callback. - * Otherwise there's no guarantee it'll be valid. - * This hack won't make it impossible to run multiple EventMachines in a single - * process, but it will make it impossible to reliably nest unbind calls - * within other unbind calls. (Not sure if that's even possible.) - */ - - assert (MyEventMachine); - - /* Another hack to make the SubprocessPid available to get_subprocess_status */ - MyEventMachine->SubprocessPid = SubprocessPid; - - /* 01Mar09: Updated to use a small nanosleep in a loop. When nanosleep is interrupted by SIGCHLD, - * it resumes the system call after processing the signal (resulting in unnecessary latency). - * Calling nanosleep in a loop avoids this problem. - */ - struct timespec req = {0, 50000000}; // 0.05s - int n; - - // wait 0.5s for the process to die - for (n=0; n<10; n++) { - if (waitpid (SubprocessPid, &(MyEventMachine->SubprocessExitStatus), WNOHANG) != 0) return; - nanosleep (&req, NULL); - } - - // send SIGTERM and wait another 1s - kill (SubprocessPid, SIGTERM); - for (n=0; n<20; n++) { - nanosleep (&req, NULL); - if (waitpid (SubprocessPid, &(MyEventMachine->SubprocessExitStatus), WNOHANG) != 0) return; - } - - // send SIGKILL and wait another 5s - kill (SubprocessPid, SIGKILL); - for (n=0; n<100; n++) { - nanosleep (&req, NULL); - if (waitpid (SubprocessPid, &(MyEventMachine->SubprocessExitStatus), WNOHANG) != 0) return; - } - - // still not dead, give up! - throw std::runtime_error ("unable to reap subprocess"); -} - - - -/******************** -PipeDescriptor::Read -********************/ - -void PipeDescriptor::Read() -{ - int sd = GetSocket(); - if (sd == INVALID_SOCKET) { - assert (!bReadAttemptedAfterClose); - bReadAttemptedAfterClose = true; - return; - } - - LastActivity = MyEventMachine->GetCurrentLoopTime(); - - int total_bytes_read = 0; - char readbuffer [16 * 1024]; - - for (int i=0; i < 10; i++) { - // Don't read just one buffer and then move on. This is faster - // if there is a lot of incoming. - // But don't read indefinitely. Give other sockets a chance to run. - // NOTICE, we're reading one less than the buffer size. - // That's so we can put a guard byte at the end of what we send - // to user code. - // Use read instead of recv, which on Linux gives a "socket operation - // on nonsocket" error. - - - int r = read (sd, readbuffer, sizeof(readbuffer) - 1); - //cerr << ""; - - if (r > 0) { - total_bytes_read += r; - - // Add a null-terminator at the the end of the buffer - // that we will send to the callback. - // DO NOT EVER CHANGE THIS. We want to explicitly allow users - // to be able to depend on this behavior, so they will have - // the option to do some things faster. Additionally it's - // a security guard against buffer overflows. - readbuffer [r] = 0; - _GenericInboundDispatch(readbuffer, r); - } - else if (r == 0) { - break; - } - else { - // Basically a would-block, meaning we've read everything there is to read. - break; - } - - } - - - if (total_bytes_read == 0) { - // If we read no data on a socket that selected readable, - // it generally means the other end closed the connection gracefully. - ScheduleClose (false); - //bCloseNow = true; - } - -} - -/********************* -PipeDescriptor::Write -*********************/ - -void PipeDescriptor::Write() -{ - int sd = GetSocket(); - assert (sd != INVALID_SOCKET); - - LastActivity = MyEventMachine->GetCurrentLoopTime(); - char output_buffer [16 * 1024]; - size_t nbytes = 0; - - while ((OutboundPages.size() > 0) && (nbytes < sizeof(output_buffer))) { - OutboundPage *op = &(OutboundPages[0]); - if ((nbytes + op->Length - op->Offset) < sizeof (output_buffer)) { - memcpy (output_buffer + nbytes, op->Buffer + op->Offset, op->Length - op->Offset); - nbytes += (op->Length - op->Offset); - op->Free(); - OutboundPages.pop_front(); - } - else { - int len = sizeof(output_buffer) - nbytes; - memcpy (output_buffer + nbytes, op->Buffer + op->Offset, len); - op->Offset += len; - nbytes += len; - } - } - - // We should never have gotten here if there were no data to write, - // so assert that as a sanity check. - // Don't bother to make sure nbytes is less than output_buffer because - // if it were we probably would have crashed already. - assert (nbytes > 0); - - assert (GetSocket() != INVALID_SOCKET); - int bytes_written = write (GetSocket(), output_buffer, nbytes); -#ifdef OS_WIN32 - int e = WSAGetLastError(); -#else - int e = errno; -#endif - - if (bytes_written > 0) { - OutboundDataSize -= bytes_written; - if ((size_t)bytes_written < nbytes) { - int len = nbytes - bytes_written; - char *buffer = (char*) malloc (len + 1); - if (!buffer) - throw std::runtime_error ("bad alloc throwing back data"); - memcpy (buffer, output_buffer + bytes_written, len); - buffer [len] = 0; - OutboundPages.push_front (OutboundPage (buffer, len)); - } - #ifdef HAVE_EPOLL - EpollEvent.events = EPOLLIN; - if (SelectForWrite()) - EpollEvent.events |= EPOLLOUT; - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - } - else { - #ifdef OS_UNIX - if ((e != EINPROGRESS) && (e != EWOULDBLOCK) && (e != EINTR)) - #endif - #ifdef OS_WIN32 - if ((e != WSAEINPROGRESS) && (e != WSAEWOULDBLOCK)) - #endif - Close(); - } -} - - -/************************* -PipeDescriptor::Heartbeat -*************************/ - -void PipeDescriptor::Heartbeat() -{ - // If an inactivity timeout is defined, then check for it. - if (InactivityTimeout && ((MyEventMachine->GetCurrentLoopTime() - LastActivity) >= InactivityTimeout)) - ScheduleClose (false); - //bCloseNow = true; -} - - -/***************************** -PipeDescriptor::SelectForRead -*****************************/ - -bool PipeDescriptor::SelectForRead() -{ - /* Pipe descriptors, being local by definition, don't have - * a pending state, so this is simpler than for the - * ConnectionDescriptor object. - */ - return bPaused ? false : true; -} - -/****************************** -PipeDescriptor::SelectForWrite -******************************/ - -bool PipeDescriptor::SelectForWrite() -{ - /* Pipe descriptors, being local by definition, don't have - * a pending state, so this is simpler than for the - * ConnectionDescriptor object. - */ - return (GetOutboundDataSize() > 0) && !bPaused ? true : false; -} - - - - -/******************************** -PipeDescriptor::SendOutboundData -********************************/ - -int PipeDescriptor::SendOutboundData (const char *data, unsigned long length) -{ - //if (bCloseNow || bCloseAfterWriting) - if (IsCloseScheduled()) - return 0; - - if (!data && (length > 0)) - throw std::runtime_error ("bad outbound data"); - char *buffer = (char *) malloc (length + 1); - if (!buffer) - throw std::runtime_error ("no allocation for outbound data"); - memcpy (buffer, data, length); - buffer [length] = 0; - OutboundPages.push_back (OutboundPage (buffer, length)); - OutboundDataSize += length; - #ifdef HAVE_EPOLL - EpollEvent.events = (EPOLLIN | EPOLLOUT); - assert (MyEventMachine); - MyEventMachine->Modify (this); - #endif - return length; -} - -/******************************** -PipeDescriptor::GetSubprocessPid -********************************/ - -bool PipeDescriptor::GetSubprocessPid (pid_t *pid) -{ - bool ok = false; - if (pid && (SubprocessPid > 0)) { - *pid = SubprocessPid; - ok = true; - } - return ok; -} - - -#endif // OS_UNIX - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/pipe.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/pipe.o deleted file mode 100644 index 084e3cb..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/pipe.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/project.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/project.h deleted file mode 100644 index 757f701..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/project.h +++ /dev/null @@ -1,174 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: project.h -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -#ifndef __Project__H_ -#define __Project__H_ - - -#include -#include -#include -#include -#include -#include -#include -#include - - -#ifdef OS_UNIX -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -typedef int SOCKET; -#define INVALID_SOCKET -1 -#define SOCKET_ERROR -1 -#ifdef OS_SOLARIS8 -#include -#include -#ifndef AF_LOCAL -#define AF_LOCAL AF_UNIX -#endif -// INADDR_NONE is undefined on Solaris < 8. Thanks to Brett Eisenberg and Tim Pease. -#ifndef INADDR_NONE -#define INADDR_NONE ((unsigned long)-1) -#endif -#endif /* OS_SOLARIS8 */ - -#ifdef _AIX -#include -#ifndef AF_LOCAL -#define AF_LOCAL AF_UNIX -#endif -#endif /* _AIX */ - -#ifdef OS_DARWIN -#include -#include -#endif /* OS_DARWIN */ - -#endif /* OS_UNIX */ - -#ifdef OS_WIN32 -// 21Sep09: windows limits select() to 64 sockets by default, we increase it to 1024 here (before including winsock2.h) -// 18Jun12: fd_setsize must be changed in the ruby binary (not in this extension). redefining it also causes segvs, see eventmachine/eventmachine#333 -//#define FD_SETSIZE 1024 - -// WIN32_LEAN_AND_MEAN excludes APIs such as Cryptography, DDE, RPC, Shell, and Windows Sockets. -#define WIN32_LEAN_AND_MEAN - -#include -#include -#include -#include -#include -#include - -// Older versions of MinGW in the Ruby Dev Kit do not provide the getaddrinfo hint flags -#ifndef AI_ADDRCONFIG -#define AI_ADDRCONFIG 0x0400 -#endif - -#ifndef AI_NUMERICSERV -#define AI_NUMERICSERV 0x0008 -#endif - -// Use the Win32 wrapper library that Ruby owns to be able to close sockets with the close() function -#define RUBY_EXPORT -#include -#include -#endif /* OS_WIN32 */ - -#if !defined(_MSC_VER) || _MSC_VER > 1500 -#include -#endif - -#ifdef WITH_SSL -#include -#include -#endif - -#ifdef HAVE_EPOLL -#include -#endif - -#ifdef HAVE_KQUEUE -#include -#include -#endif - -#ifdef HAVE_INOTIFY -#include -#endif - -#ifdef HAVE_OLD_INOTIFY -#include -#include -static inline int inotify_init (void) { return syscall (__NR_inotify_init); } -static inline int inotify_add_watch (int fd, const char *name, __u32 mask) { return syscall (__NR_inotify_add_watch, fd, name, mask); } -static inline int inotify_rm_watch (int fd, __u32 wd) { return syscall (__NR_inotify_rm_watch, fd, wd); } -#define HAVE_INOTIFY 1 -#endif - -#ifdef HAVE_INOTIFY -#define INOTIFY_EVENT_SIZE (sizeof(struct inotify_event)) -#endif - -#ifdef HAVE_WRITEV -#include -#endif - -#if __cplusplus -extern "C" { -#endif - typedef void (*EMCallback)(const unsigned long, int, const char*, const unsigned long); -#if __cplusplus -} -#endif - -#if defined(__GNUC__) && (__GNUC__ >= 3) -#define UNUSED __attribute__ ((unused)) -#else -#define UNUSED -#endif - -#include "binder.h" -#include "em.h" -#include "ed.h" -#include "page.h" -#include "ssl.h" -#include "eventmachine.h" - -#endif // __Project__H_ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/rubymain.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/rubymain.cpp deleted file mode 100644 index 305f9cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/rubymain.cpp +++ /dev/null @@ -1,1515 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: rubymain.cpp -Date: 06Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - -#include "project.h" -#include "eventmachine.h" -#include - -#ifndef RFLOAT_VALUE -#define RFLOAT_VALUE(arg) RFLOAT(arg)->value -#endif - -/* Adapted from NUM2BSIG / BSIG2NUM in ext/fiddle/conversions.h, - * we'll call it a BSIG for Binding Signature here. */ -#if SIZEOF_VOIDP == SIZEOF_LONG -# define BSIG2NUM(x) (ULONG2NUM((unsigned long)(x))) -# define NUM2BSIG(x) (NUM2ULONG(x)) -# ifdef OS_WIN32 -# define PRIFBSIG "I32u" -# else -# define PRIFBSIG "lu" -# endif -#else -# define BSIG2NUM(x) (ULL2NUM((unsigned long long)(x))) -# define NUM2BSIG(x) (NUM2ULL(x)) -# ifdef OS_WIN32 -# define PRIFBSIG "I64u" -# else -# define PRIFBSIG "llu" -# endif -#endif - -/******* -Statics -*******/ - -static VALUE EmModule; -static VALUE EmConnection; -static VALUE EmConnsHash; -static VALUE EmTimersHash; - -static VALUE EM_eConnectionError; -static VALUE EM_eUnknownTimerFired; -static VALUE EM_eConnectionNotBound; -static VALUE EM_eUnsupported; -static VALUE EM_eInvalidSignature; - -static VALUE Intern_at_signature; -static VALUE Intern_at_timers; -static VALUE Intern_at_conns; -static VALUE Intern_at_error_handler; -static VALUE Intern_event_callback; -static VALUE Intern_run_deferred_callbacks; -static VALUE Intern_delete; -static VALUE Intern_call; -static VALUE Intern_at; -static VALUE Intern_receive_data; -static VALUE Intern_ssl_handshake_completed; -static VALUE Intern_ssl_verify_peer; -static VALUE Intern_notify_readable; -static VALUE Intern_notify_writable; -static VALUE Intern_proxy_target_unbound; -static VALUE Intern_proxy_completed; -static VALUE Intern_connection_completed; - -static VALUE rb_cProcStatus; - -struct em_event { - uintptr_t signature; - int event; - const char *data_str; - unsigned long data_num; -}; - -static inline VALUE ensure_conn(const uintptr_t signature) -{ - VALUE conn = rb_hash_aref (EmConnsHash, BSIG2NUM (signature)); - if (conn == Qnil) - rb_raise (EM_eConnectionNotBound, "unknown connection: %" PRIFBSIG, signature); - return conn; -} - - -/**************** -t_event_callback -****************/ - -static inline void event_callback (struct em_event* e) -{ - const uintptr_t signature = e->signature; - int event = e->event; - const char *data_str = e->data_str; - const unsigned long data_num = e->data_num; - - switch (event) { - case EM_CONNECTION_READ: - { - VALUE conn = rb_hash_aref (EmConnsHash, BSIG2NUM (signature)); - if (conn == Qnil) - rb_raise (EM_eConnectionNotBound, "received %lu bytes of data for unknown signature: %" PRIFBSIG, data_num, signature); - rb_funcall (conn, Intern_receive_data, 1, rb_str_new (data_str, data_num)); - return; - } - case EM_CONNECTION_ACCEPTED: - { - rb_funcall (EmModule, Intern_event_callback, 3, BSIG2NUM(signature), INT2FIX(event), ULONG2NUM(data_num)); - return; - } - case EM_CONNECTION_UNBOUND: - { - rb_funcall (EmModule, Intern_event_callback, 3, BSIG2NUM(signature), INT2FIX(event), ULONG2NUM(data_num)); - return; - } - case EM_CONNECTION_COMPLETED: - { - VALUE conn = ensure_conn(signature); - rb_funcall (conn, Intern_connection_completed, 0); - return; - } - case EM_CONNECTION_NOTIFY_READABLE: - { - VALUE conn = ensure_conn(signature); - rb_funcall (conn, Intern_notify_readable, 0); - return; - } - case EM_CONNECTION_NOTIFY_WRITABLE: - { - VALUE conn = ensure_conn(signature); - rb_funcall (conn, Intern_notify_writable, 0); - return; - } - case EM_LOOPBREAK_SIGNAL: - { - rb_funcall (EmModule, Intern_run_deferred_callbacks, 0); - return; - } - case EM_TIMER_FIRED: - { - VALUE timer = rb_funcall (EmTimersHash, Intern_delete, 1, ULONG2NUM (data_num)); - if (timer == Qnil) { - rb_raise (EM_eUnknownTimerFired, "no such timer: %lu", data_num); - } else if (timer == Qfalse) { - /* Timer Canceled */ - } else { - rb_funcall (timer, Intern_call, 0); - } - return; - } - #ifdef WITH_SSL - case EM_SSL_HANDSHAKE_COMPLETED: - { - VALUE conn = ensure_conn(signature); - rb_funcall (conn, Intern_ssl_handshake_completed, 0); - return; - } - case EM_SSL_VERIFY: - { - VALUE conn = ensure_conn(signature); - VALUE should_accept = rb_funcall (conn, Intern_ssl_verify_peer, 1, rb_str_new(data_str, data_num)); - if (RTEST(should_accept)) - evma_accept_ssl_peer (signature); - return; - } - #endif - case EM_PROXY_TARGET_UNBOUND: - { - VALUE conn = ensure_conn(signature); - rb_funcall (conn, Intern_proxy_target_unbound, 0); - return; - } - case EM_PROXY_COMPLETED: - { - VALUE conn = ensure_conn(signature); - rb_funcall (conn, Intern_proxy_completed, 0); - return; - } - } -} - -/******************* -event_error_handler -*******************/ - -static void event_error_handler(VALUE self UNUSED, VALUE err) -{ - VALUE error_handler = rb_ivar_get(EmModule, Intern_at_error_handler); - rb_funcall (error_handler, Intern_call, 1, err); -} - -/********************** -event_callback_wrapper -**********************/ - -static void event_callback_wrapper (const uintptr_t signature, int event, const char *data_str, const unsigned long data_num) -{ - struct em_event e; - e.signature = signature; - e.event = event; - e.data_str = data_str; - e.data_num = data_num; - - if (!rb_ivar_defined(EmModule, Intern_at_error_handler)) - event_callback(&e); - else - rb_rescue((VALUE (*)(ANYARGS))event_callback, (VALUE)&e, (VALUE (*)(ANYARGS))event_error_handler, Qnil); -} - -/************************** -t_initialize_event_machine -**************************/ - -static VALUE t_initialize_event_machine (VALUE self UNUSED) -{ - EmConnsHash = rb_ivar_get (EmModule, Intern_at_conns); - EmTimersHash = rb_ivar_get (EmModule, Intern_at_timers); - assert(EmConnsHash != Qnil); - assert(EmTimersHash != Qnil); - evma_initialize_library ((EMCallback)event_callback_wrapper); - return Qnil; -} - - -/****************** -t_run_machine_once -******************/ - -static VALUE t_run_machine_once (VALUE self UNUSED) -{ - return evma_run_machine_once () ? Qtrue : Qfalse; -} - - -/************* -t_run_machine -*************/ - -static VALUE t_run_machine (VALUE self UNUSED) -{ - evma_run_machine(); - return Qnil; -} - - -/******************* -t_add_oneshot_timer -*******************/ - -static VALUE t_add_oneshot_timer (VALUE self UNUSED, VALUE interval) -{ - const uintptr_t f = evma_install_oneshot_timer (FIX2LONG (interval)); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "ran out of timers; use #set_max_timers to increase limit"); - return BSIG2NUM (f); -} - - -/************** -t_start_server -**************/ - -static VALUE t_start_server (VALUE self UNUSED, VALUE server, VALUE port) -{ - const uintptr_t f = evma_create_tcp_server (StringValueCStr(server), FIX2INT(port)); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no acceptor (port is in use or requires root privileges)"); - return BSIG2NUM (f); -} - -/************* -t_stop_server -*************/ - -static VALUE t_stop_server (VALUE self UNUSED, VALUE signature) -{ - evma_stop_tcp_server (NUM2BSIG (signature)); - return Qnil; -} - - -/******************* -t_start_unix_server -*******************/ - -static VALUE t_start_unix_server (VALUE self UNUSED, VALUE filename) -{ - const uintptr_t f = evma_create_unix_domain_server (StringValueCStr(filename)); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no unix-domain acceptor"); - return BSIG2NUM (f); -} - -/******************** -t_attach_sd -********************/ - -static VALUE t_attach_sd(VALUE self UNUSED, VALUE sd) -{ - const uintptr_t f = evma_attach_sd(FIX2INT(sd)); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no socket descriptor acceptor"); - return BSIG2NUM (f); -} - - -/*********** -t_send_data -***********/ - -static VALUE t_send_data (VALUE self UNUSED, VALUE signature, VALUE data, VALUE data_length) -{ - int b = evma_send_data_to_connection (NUM2BSIG (signature), StringValuePtr (data), FIX2INT (data_length)); - return INT2NUM (b); -} - - -/*********** -t_start_tls -***********/ - -static VALUE t_start_tls (VALUE self UNUSED, VALUE signature) -{ - evma_start_tls (NUM2BSIG (signature)); - return Qnil; -} - -/*************** -t_set_tls_parms -***************/ - -static VALUE t_set_tls_parms (VALUE self UNUSED, VALUE signature, VALUE privkeyfile, VALUE certchainfile, VALUE verify_peer, VALUE fail_if_no_peer_cert, VALUE snihostname, VALUE cipherlist, VALUE ecdh_curve, VALUE dhparam, VALUE ssl_version) -{ - /* set_tls_parms takes a series of positional arguments for specifying such things - * as private keys and certificate chains. - * It's expected that the parameter list will grow as we add more supported features. - * ALL of these parameters are optional, and can be specified as empty or NULL strings. - */ - evma_set_tls_parms (NUM2BSIG (signature), StringValueCStr (privkeyfile), StringValueCStr (certchainfile), (verify_peer == Qtrue ? 1 : 0), (fail_if_no_peer_cert == Qtrue ? 1 : 0), StringValueCStr (snihostname), StringValueCStr (cipherlist), StringValueCStr (ecdh_curve), StringValueCStr (dhparam), NUM2INT (ssl_version)); - return Qnil; -} - -/*************** -t_get_peer_cert -***************/ - -#ifdef WITH_SSL -static VALUE t_get_peer_cert (VALUE self UNUSED, VALUE signature) -{ - VALUE ret = Qnil; - - X509 *cert = NULL; - BUF_MEM *buf; - BIO *out; - - cert = evma_get_peer_cert (NUM2BSIG (signature)); - - if (cert != NULL) { - out = BIO_new(BIO_s_mem()); - PEM_write_bio_X509(out, cert); - BIO_get_mem_ptr(out, &buf); - ret = rb_str_new(buf->data, buf->length); - X509_free(cert); - BIO_free(out); - } - - return ret; -} -#else -static VALUE t_get_peer_cert (VALUE self UNUSED, VALUE signature UNUSED) -{ - return Qnil; -} -#endif - -/*************** -t_get_cipher_bits -***************/ - -#ifdef WITH_SSL -static VALUE t_get_cipher_bits (VALUE self UNUSED, VALUE signature) -{ - int bits = evma_get_cipher_bits (NUM2BSIG (signature)); - if (bits == -1) - return Qnil; - return INT2NUM (bits); -} -#else -static VALUE t_get_cipher_bits (VALUE self UNUSED, VALUE signature UNUSED) -{ - return Qnil; -} -#endif - -/*************** -t_get_cipher_name -***************/ - -#ifdef WITH_SSL -static VALUE t_get_cipher_name (VALUE self UNUSED, VALUE signature) -{ - const char *protocol = evma_get_cipher_name (NUM2BSIG (signature)); - if (protocol) - return rb_str_new2 (protocol); - - return Qnil; -} -#else -static VALUE t_get_cipher_name (VALUE self UNUSED, VALUE signature UNUSED) -{ - return Qnil; -} -#endif - -/*************** -t_get_cipher_protocol -***************/ - -#ifdef WITH_SSL -static VALUE t_get_cipher_protocol (VALUE self UNUSED, VALUE signature) -{ - const char *cipher = evma_get_cipher_protocol (NUM2BSIG (signature)); - if (cipher) - return rb_str_new2 (cipher); - - return Qnil; -} -#else -static VALUE t_get_cipher_protocol (VALUE self UNUSED, VALUE signature UNUSED) -{ - return Qnil; -} -#endif - -/*************** -t_get_sni_hostname -***************/ - -#ifdef WITH_SSL -static VALUE t_get_sni_hostname (VALUE self UNUSED, VALUE signature) -{ - const char *sni_hostname = evma_get_sni_hostname (NUM2BSIG (signature)); - if (sni_hostname) - return rb_str_new2 (sni_hostname); - - return Qnil; -} -#else -static VALUE t_get_sni_hostname (VALUE self UNUSED, VALUE signature UNUSED) -{ - return Qnil; -} -#endif - -/************** -t_get_peername -**************/ - -static VALUE t_get_peername (VALUE self UNUSED, VALUE signature) -{ - char buf[1024]; - socklen_t len = sizeof buf; - try { - if (evma_get_peername (NUM2BSIG (signature), (struct sockaddr*)buf, &len)) { - return rb_str_new (buf, len); - } - } catch (std::runtime_error e) { - rb_raise (rb_eRuntimeError, "%s", e.what()); - } - - return Qnil; -} - -/************** -t_get_sockname -**************/ - -static VALUE t_get_sockname (VALUE self UNUSED, VALUE signature) -{ - char buf[1024]; - socklen_t len = sizeof buf; - try { - if (evma_get_sockname (NUM2BSIG (signature), (struct sockaddr*)buf, &len)) { - return rb_str_new (buf, len); - } - } catch (std::runtime_error e) { - rb_raise (rb_eRuntimeError, "%s", e.what()); - } - - return Qnil; -} - -/******************** -t_get_subprocess_pid -********************/ - -static VALUE t_get_subprocess_pid (VALUE self UNUSED, VALUE signature) -{ - pid_t pid; - if (evma_get_subprocess_pid (NUM2BSIG (signature), &pid)) { - return INT2NUM (pid); - } - - return Qnil; -} - -/*********************** -t_get_subprocess_status -***********************/ - -static VALUE t_get_subprocess_status (VALUE self UNUSED, VALUE signature) -{ - VALUE proc_status = Qnil; - - int status; - pid_t pid; - - if (evma_get_subprocess_status (NUM2BSIG (signature), &status)) { - if (evma_get_subprocess_pid (NUM2BSIG (signature), &pid)) { - proc_status = rb_obj_alloc(rb_cProcStatus); - - /* MRI Ruby uses hidden instance vars */ - rb_iv_set(proc_status, "status", INT2FIX(status)); - rb_iv_set(proc_status, "pid", INT2FIX(pid)); - -#ifdef RUBINIUS - /* Rubinius uses standard instance vars */ - rb_iv_set(proc_status, "@pid", INT2FIX(pid)); - if (WIFEXITED(status)) { - rb_iv_set(proc_status, "@status", INT2FIX(WEXITSTATUS(status))); - } else if (WIFSIGNALED(status)) { - rb_iv_set(proc_status, "@termsig", INT2FIX(WTERMSIG(status))); - } else if (WIFSTOPPED(status)) { - rb_iv_set(proc_status, "@stopsig", INT2FIX(WSTOPSIG(status))); - } -#endif - } - } - - return proc_status; -} - -/********************** -t_get_connection_count -**********************/ - -static VALUE t_get_connection_count (VALUE self UNUSED) -{ - return INT2NUM(evma_get_connection_count()); -} - -/***************************** -t_get_comm_inactivity_timeout -*****************************/ - -static VALUE t_get_comm_inactivity_timeout (VALUE self UNUSED, VALUE signature) -{ - return rb_float_new(evma_get_comm_inactivity_timeout(NUM2BSIG (signature))); -} - -/***************************** -t_set_comm_inactivity_timeout -*****************************/ - -static VALUE t_set_comm_inactivity_timeout (VALUE self UNUSED, VALUE signature, VALUE timeout) -{ - float ti = RFLOAT_VALUE(timeout); - if (evma_set_comm_inactivity_timeout(NUM2BSIG(signature), ti)) { - return Qtrue; - } - return Qfalse; -} - -/***************************** -t_get_pending_connect_timeout -*****************************/ - -static VALUE t_get_pending_connect_timeout (VALUE self UNUSED, VALUE signature) -{ - return rb_float_new(evma_get_pending_connect_timeout(NUM2BSIG (signature))); -} - -/***************************** -t_set_pending_connect_timeout -*****************************/ - -static VALUE t_set_pending_connect_timeout (VALUE self UNUSED, VALUE signature, VALUE timeout) -{ - float ti = RFLOAT_VALUE(timeout); - if (evma_set_pending_connect_timeout(NUM2BSIG(signature), ti)) { - return Qtrue; - } - return Qfalse; -} - -/*************** -t_send_datagram -***************/ - -static VALUE t_send_datagram (VALUE self UNUSED, VALUE signature, VALUE data, VALUE data_length, VALUE address, VALUE port) -{ - int b = evma_send_datagram (NUM2BSIG (signature), StringValuePtr (data), FIX2INT (data_length), StringValueCStr(address), FIX2INT(port)); - if (b < 0) - rb_raise (EM_eConnectionError, "%s", "error in sending datagram"); // FIXME: this could be more specific. - return INT2NUM (b); -} - - -/****************** -t_close_connection -******************/ - -static VALUE t_close_connection (VALUE self UNUSED, VALUE signature, VALUE after_writing) -{ - evma_close_connection (NUM2BSIG (signature), ((after_writing == Qtrue) ? 1 : 0)); - return Qnil; -} - -/******************************** -t_report_connection_error_status -********************************/ - -static VALUE t_report_connection_error_status (VALUE self UNUSED, VALUE signature) -{ - int b = evma_report_connection_error_status (NUM2BSIG (signature)); - return INT2NUM (b); -} - - - -/**************** -t_connect_server -****************/ - -static VALUE t_connect_server (VALUE self UNUSED, VALUE server, VALUE port) -{ - // Avoid FIX2INT in this case, because it doesn't deal with type errors properly. - // Specifically, if the value of port comes in as a string rather than an integer, - // NUM2INT will throw a type error, but FIX2INT will generate garbage. - - try { - const uintptr_t f = evma_connect_to_server (NULL, 0, StringValueCStr(server), NUM2INT(port)); - if (!f) - rb_raise (EM_eConnectionError, "%s", "no connection"); - return BSIG2NUM (f); - } catch (std::runtime_error e) { - rb_raise (EM_eConnectionError, "%s", e.what()); - } - return Qnil; -} - -/********************* -t_bind_connect_server -*********************/ - -static VALUE t_bind_connect_server (VALUE self UNUSED, VALUE bind_addr, VALUE bind_port, VALUE server, VALUE port) -{ - // Avoid FIX2INT in this case, because it doesn't deal with type errors properly. - // Specifically, if the value of port comes in as a string rather than an integer, - // NUM2INT will throw a type error, but FIX2INT will generate garbage. - - try { - const uintptr_t f = evma_connect_to_server (StringValueCStr(bind_addr), NUM2INT(bind_port), StringValueCStr(server), NUM2INT(port)); - if (!f) - rb_raise (EM_eConnectionError, "%s", "no connection"); - return BSIG2NUM (f); - } catch (std::runtime_error e) { - rb_raise (EM_eConnectionError, "%s", e.what()); - } - return Qnil; -} - -/********************* -t_connect_unix_server -*********************/ - -static VALUE t_connect_unix_server (VALUE self UNUSED, VALUE serversocket) -{ - const uintptr_t f = evma_connect_to_unix_server (StringValueCStr(serversocket)); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no connection"); - return BSIG2NUM (f); -} - -/*********** -t_attach_fd -***********/ - -static VALUE t_attach_fd (VALUE self UNUSED, VALUE file_descriptor, VALUE watch_mode) -{ - const uintptr_t f = evma_attach_fd (NUM2INT(file_descriptor), watch_mode == Qtrue); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no connection"); - return BSIG2NUM (f); -} - -/*********** -t_detach_fd -***********/ - -static VALUE t_detach_fd (VALUE self UNUSED, VALUE signature) -{ - return INT2NUM(evma_detach_fd (NUM2BSIG (signature))); -} - -/********************* -t_get_file_descriptor -*********************/ -static VALUE t_get_file_descriptor (VALUE self UNUSED, VALUE signature) -{ - return INT2NUM(evma_get_file_descriptor (NUM2BSIG (signature))); -} - -/************** -t_get_sock_opt -**************/ - -static VALUE t_get_sock_opt (VALUE self UNUSED, VALUE signature, VALUE lev, VALUE optname) -{ - int fd = evma_get_file_descriptor (NUM2BSIG (signature)); - int level = NUM2INT(lev), option = NUM2INT(optname); - socklen_t len = 128; - char buf[128]; - - if (getsockopt(fd, level, option, buf, &len) < 0) - rb_sys_fail("getsockopt"); - - return rb_str_new(buf, len); -} - -/************** -t_set_sock_opt -**************/ - -static VALUE t_set_sock_opt (VALUE self UNUSED, VALUE signature, VALUE lev, VALUE optname, VALUE optval) -{ - int fd = evma_get_file_descriptor (NUM2BSIG (signature)); - int level = NUM2INT(lev), option = NUM2INT(optname); - int i; - const void *v; - socklen_t len; - - switch (TYPE(optval)) { - case T_FIXNUM: - i = FIX2INT(optval); - goto numval; - case T_FALSE: - i = 0; - goto numval; - case T_TRUE: - i = 1; - numval: - v = (void*)&i; len = sizeof(i); - break; - default: - StringValue(optval); - v = RSTRING_PTR(optval); - len = RSTRING_LENINT(optval); - break; - } - - - if (setsockopt(fd, level, option, (char *)v, len) < 0) - rb_sys_fail("setsockopt"); - - return INT2FIX(0); -} - -/******************** -t_is_notify_readable -********************/ - -static VALUE t_is_notify_readable (VALUE self UNUSED, VALUE signature) -{ - return evma_is_notify_readable(NUM2BSIG (signature)) ? Qtrue : Qfalse; -} - -/********************* -t_set_notify_readable -*********************/ - -static VALUE t_set_notify_readable (VALUE self UNUSED, VALUE signature, VALUE mode) -{ - evma_set_notify_readable(NUM2BSIG(signature), mode == Qtrue); - return Qnil; -} - -/******************** -t_is_notify_readable -********************/ - -static VALUE t_is_notify_writable (VALUE self UNUSED, VALUE signature) -{ - return evma_is_notify_writable(NUM2BSIG (signature)) ? Qtrue : Qfalse; -} - -/********************* -t_set_notify_writable -*********************/ - -static VALUE t_set_notify_writable (VALUE self UNUSED, VALUE signature, VALUE mode) -{ - evma_set_notify_writable(NUM2BSIG (signature), mode == Qtrue); - return Qnil; -} - -/******* -t_pause -*******/ - -static VALUE t_pause (VALUE self UNUSED, VALUE signature) -{ - return evma_pause(NUM2BSIG (signature)) ? Qtrue : Qfalse; -} - -/******** -t_resume -********/ - -static VALUE t_resume (VALUE self UNUSED, VALUE signature) -{ - return evma_resume(NUM2BSIG (signature)) ? Qtrue : Qfalse; -} - -/********** -t_paused_p -**********/ - -static VALUE t_paused_p (VALUE self UNUSED, VALUE signature) -{ - return evma_is_paused(NUM2BSIG (signature)) ? Qtrue : Qfalse; -} - -/********************* -t_num_close_scheduled -*********************/ - -static VALUE t_num_close_scheduled (VALUE self UNUSED) -{ - return INT2FIX(evma_num_close_scheduled()); -} - -/***************** -t_open_udp_socket -*****************/ - -static VALUE t_open_udp_socket (VALUE self UNUSED, VALUE server, VALUE port) -{ - const uintptr_t f = evma_open_datagram_socket (StringValueCStr(server), FIX2INT(port)); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no datagram socket"); - return BSIG2NUM(f); -} - - - -/***************** -t_release_machine -*****************/ - -static VALUE t_release_machine (VALUE self UNUSED) -{ - evma_release_library(); - return Qnil; -} - - -/****** -t_stop -******/ - -static VALUE t_stop (VALUE self UNUSED) -{ - evma_stop_machine(); - return Qnil; -} - -/****************** -t_signal_loopbreak -******************/ - -static VALUE t_signal_loopbreak (VALUE self UNUSED) -{ - evma_signal_loopbreak(); - return Qnil; -} - -/************** -t_library_type -**************/ - -static VALUE t_library_type (VALUE self UNUSED) -{ - return rb_eval_string (":extension"); -} - - - -/******************* -t_set_timer_quantum -*******************/ - -static VALUE t_set_timer_quantum (VALUE self UNUSED, VALUE interval) -{ - evma_set_timer_quantum (FIX2INT (interval)); - return Qnil; -} - -/******************** -t_get_max_timer_count -********************/ - -static VALUE t_get_max_timer_count (VALUE self UNUSED) -{ - return INT2FIX (evma_get_max_timer_count()); -} - -/******************** -t_set_max_timer_count -********************/ - -static VALUE t_set_max_timer_count (VALUE self UNUSED, VALUE ct) -{ - evma_set_max_timer_count (FIX2INT (ct)); - return Qnil; -} - -/******************** -t_get/set_simultaneous_accept_count -********************/ - -static VALUE t_get_simultaneous_accept_count (VALUE self UNUSED) -{ - return INT2FIX (evma_get_simultaneous_accept_count()); -} - -static VALUE t_set_simultaneous_accept_count (VALUE self UNUSED, VALUE ct) -{ - evma_set_simultaneous_accept_count (FIX2INT (ct)); - return Qnil; -} - -/*************** -t_setuid_string -***************/ - -static VALUE t_setuid_string (VALUE self UNUSED, VALUE username) -{ - evma_setuid_string (StringValueCStr (username)); - return Qnil; -} - - - -/************** -t_invoke_popen -**************/ - -static VALUE t_invoke_popen (VALUE self UNUSED, VALUE cmd) -{ - #ifdef OS_WIN32 - rb_raise (EM_eUnsupported, "popen is not available on this platform"); - #endif - - int len = RARRAY_LEN(cmd); - if (len >= 2048) - rb_raise (rb_eRuntimeError, "%s", "too many arguments to popen"); - char *strings [2048]; - for (int i=0; i < len; i++) { - VALUE ix = INT2FIX (i); - VALUE s = rb_ary_aref (1, &ix, cmd); - strings[i] = StringValueCStr (s); - } - strings[len] = NULL; - - uintptr_t f = 0; - try { - f = evma_popen (strings); - } catch (std::runtime_error e) { - rb_raise (rb_eRuntimeError, "%s", e.what()); - } - if (!f) { - char *err = strerror (errno); - char buf[100]; - memset (buf, 0, sizeof(buf)); - snprintf (buf, sizeof(buf)-1, "no popen: %s", (err?err:"???")); - rb_raise (rb_eRuntimeError, "%s", buf); - } - return BSIG2NUM (f); -} - - -/*************** -t_read_keyboard -***************/ - -static VALUE t_read_keyboard (VALUE self UNUSED) -{ - const uintptr_t f = evma_open_keyboard(); - if (!f) - rb_raise (rb_eRuntimeError, "%s", "no keyboard reader"); - return BSIG2NUM (f); -} - - -/**************** -t_watch_filename -****************/ - -static VALUE t_watch_filename (VALUE self UNUSED, VALUE fname) -{ - try { - return BSIG2NUM(evma_watch_filename(StringValueCStr(fname))); - } catch (std::runtime_error e) { - rb_raise (EM_eUnsupported, "%s", e.what()); - } - return Qnil; -} - - -/****************** -t_unwatch_filename -******************/ - -static VALUE t_unwatch_filename (VALUE self UNUSED, VALUE sig) -{ - try { - evma_unwatch_filename(NUM2BSIG (sig)); - } catch (std::runtime_error e) { - rb_raise (EM_eInvalidSignature, "%s", e.what()); - } - - return Qnil; -} - - -/*********** -t_watch_pid -***********/ - -static VALUE t_watch_pid (VALUE self UNUSED, VALUE pid) -{ - try { - return BSIG2NUM(evma_watch_pid(NUM2INT(pid))); - } catch (std::runtime_error e) { - rb_raise (EM_eUnsupported, "%s", e.what()); - } - return Qnil; -} - - -/************* -t_unwatch_pid -*************/ - -static VALUE t_unwatch_pid (VALUE self UNUSED, VALUE sig) -{ - evma_unwatch_pid(NUM2BSIG (sig)); - return Qnil; -} - - -/********** -t__epoll_p -**********/ - -static VALUE t__epoll_p (VALUE self UNUSED) -{ - #ifdef HAVE_EPOLL - return Qtrue; - #else - return Qfalse; - #endif -} - -/******** -t__epoll -********/ - -static VALUE t__epoll (VALUE self UNUSED) -{ - if (t__epoll_p(self) == Qfalse) - return Qfalse; - - evma_set_epoll (1); - return Qtrue; -} - -/*********** -t__epoll_set -***********/ - -static VALUE t__epoll_set (VALUE self, VALUE val) -{ - if (t__epoll_p(self) == Qfalse && val == Qtrue) - rb_raise (EM_eUnsupported, "%s", "epoll is not supported on this platform"); - - evma_set_epoll (val == Qtrue ? 1 : 0); - return val; -} - - -/*********** -t__kqueue_p -***********/ - -static VALUE t__kqueue_p (VALUE self UNUSED) -{ - #ifdef HAVE_KQUEUE - return Qtrue; - #else - return Qfalse; - #endif -} - -/********* -t__kqueue -*********/ - -static VALUE t__kqueue (VALUE self UNUSED) -{ - if (t__kqueue_p(self) == Qfalse) - return Qfalse; - - evma_set_kqueue (1); - return Qtrue; -} - -/************* -t__kqueue_set -*************/ - -static VALUE t__kqueue_set (VALUE self, VALUE val) -{ - if (t__kqueue_p(self) == Qfalse && val == Qtrue) - rb_raise (EM_eUnsupported, "%s", "kqueue is not supported on this platform"); - - evma_set_kqueue (val == Qtrue ? 1 : 0); - return val; -} - - -/******** -t__ssl_p -********/ - -static VALUE t__ssl_p (VALUE self UNUSED) -{ - #ifdef WITH_SSL - return Qtrue; - #else - return Qfalse; - #endif -} - -/******** -t_stopping -********/ - -static VALUE t_stopping () -{ - if (evma_stopping()) { - return Qtrue; - } else { - return Qfalse; - } -} - - -/**************** -t_send_file_data -****************/ - -static VALUE t_send_file_data (VALUE self UNUSED, VALUE signature, VALUE filename) -{ - - /* The current implementation of evma_send_file_data_to_connection enforces a strict - * upper limit on the file size it will transmit (currently 32K). The function returns - * zero on success, -1 if the requested file exceeds its size limit, and a positive - * number for other errors. - * TODO: Positive return values are actually errno's, which is probably the wrong way to - * do this. For one thing it's ugly. For another, we can't be sure zero is never a real errno. - */ - - int b = evma_send_file_data_to_connection (NUM2BSIG (signature), StringValueCStr(filename)); - if (b == -1) - rb_raise(rb_eRuntimeError, "%s", "File too large. send_file_data() supports files under 32k."); - if (b > 0) { - char *err = strerror (b); - char buf[1024]; - memset (buf, 0, sizeof(buf)); - snprintf (buf, sizeof(buf)-1, ": %s %s", StringValueCStr(filename),(err?err:"???")); - - rb_raise (rb_eIOError, "%s", buf); - } - - return INT2NUM (0); -} - - -/******************* -t_set_rlimit_nofile -*******************/ - -static VALUE t_set_rlimit_nofile (VALUE self UNUSED, VALUE arg) -{ - arg = (NIL_P(arg)) ? -1 : NUM2INT (arg); - return INT2NUM (evma_set_rlimit_nofile (arg)); -} - -/*************************** -conn_get_outbound_data_size -***************************/ - -static VALUE conn_get_outbound_data_size (VALUE self) -{ - VALUE sig = rb_ivar_get (self, Intern_at_signature); - return INT2NUM (evma_get_outbound_data_size (NUM2BSIG (sig))); -} - - -/****************************** -conn_associate_callback_target -******************************/ - -static VALUE conn_associate_callback_target (VALUE self UNUSED, VALUE sig UNUSED) -{ - // No-op for the time being. - return Qnil; -} - - -/*************** -t_get_loop_time -****************/ - -static VALUE t_get_loop_time (VALUE self UNUSED) -{ - uint64_t current_time = evma_get_current_loop_time(); - if (current_time == 0) { - return Qnil; - } - - // Generally the industry has moved to 64-bit time_t, this is just in case we're 32-bit time_t. - if (sizeof(time_t) < 8 && current_time > INT_MAX) { - return rb_funcall(rb_cTime, Intern_at, 2, INT2NUM(current_time / 1000000), INT2NUM(current_time % 1000000)); - } else { - return rb_time_new(current_time / 1000000, current_time % 1000000); - } -} - - -/************* -t_start_proxy -**************/ - -static VALUE t_start_proxy (VALUE self UNUSED, VALUE from, VALUE to, VALUE bufsize, VALUE length) -{ - try { - evma_start_proxy(NUM2BSIG (from), NUM2BSIG (to), NUM2ULONG(bufsize), NUM2ULONG(length)); - } catch (std::runtime_error e) { - rb_raise (EM_eConnectionError, "%s", e.what()); - } - return Qnil; -} - - -/************ -t_stop_proxy -*************/ - -static VALUE t_stop_proxy (VALUE self UNUSED, VALUE from) -{ - try{ - evma_stop_proxy(NUM2BSIG (from)); - } catch (std::runtime_error e) { - rb_raise (EM_eConnectionError, "%s", e.what()); - } - return Qnil; -} - -/*************** -t_proxied_bytes -****************/ - -static VALUE t_proxied_bytes (VALUE self UNUSED, VALUE from) -{ - try{ - return BSIG2NUM(evma_proxied_bytes(NUM2BSIG (from))); - } catch (std::runtime_error e) { - rb_raise (EM_eConnectionError, "%s", e.what()); - } - return Qnil; -} - -/*************** -t_get_idle_time -****************/ - -static VALUE t_get_idle_time (VALUE self UNUSED, VALUE from) -{ - try{ - uint64_t current_time = evma_get_current_loop_time(); - uint64_t time = evma_get_last_activity_time(NUM2BSIG (from)); - if (current_time != 0 && time != 0) { - if (time >= current_time) - return BSIG2NUM(0); - else { - uint64_t diff = current_time - time; - float seconds = diff / (1000.0*1000.0); - return rb_float_new(seconds); - } - return Qnil; - } - } catch (std::runtime_error e) { - rb_raise (EM_eConnectionError, "%s", e.what()); - } - return Qnil; -} - -/************************ -t_get_heartbeat_interval -*************************/ - -static VALUE t_get_heartbeat_interval (VALUE self UNUSED) -{ - return rb_float_new(evma_get_heartbeat_interval()); -} - - -/************************ -t_set_heartbeat_interval -*************************/ - -static VALUE t_set_heartbeat_interval (VALUE self UNUSED, VALUE interval) -{ - float iv = RFLOAT_VALUE(interval); - if (evma_set_heartbeat_interval(iv)) - return Qtrue; - return Qfalse; -} - - -/********************* -Init_rubyeventmachine -*********************/ - -extern "C" void Init_rubyeventmachine() -{ - // Lookup Process::Status for get_subprocess_status - VALUE rb_mProcess = rb_const_get(rb_cObject, rb_intern("Process")); - rb_cProcStatus = rb_const_get(rb_mProcess, rb_intern("Status")); - - // Tuck away some symbol values so we don't have to look 'em up every time we need 'em. - Intern_at_signature = rb_intern ("@signature"); - Intern_at_timers = rb_intern ("@timers"); - Intern_at_conns = rb_intern ("@conns"); - Intern_at_error_handler = rb_intern("@error_handler"); - - Intern_event_callback = rb_intern ("event_callback"); - Intern_run_deferred_callbacks = rb_intern ("run_deferred_callbacks"); - Intern_delete = rb_intern ("delete"); - Intern_call = rb_intern ("call"); - Intern_at = rb_intern("at"); - Intern_receive_data = rb_intern ("receive_data"); - Intern_ssl_handshake_completed = rb_intern ("ssl_handshake_completed"); - Intern_ssl_verify_peer = rb_intern ("ssl_verify_peer"); - Intern_notify_readable = rb_intern ("notify_readable"); - Intern_notify_writable = rb_intern ("notify_writable"); - Intern_proxy_target_unbound = rb_intern ("proxy_target_unbound"); - Intern_proxy_completed = rb_intern ("proxy_completed"); - Intern_connection_completed = rb_intern ("connection_completed"); - - // INCOMPLETE, we need to define class Connections inside module EventMachine - // run_machine and run_machine_without_threads are now identical. - // Must deprecate the without_threads variant. - EmModule = rb_define_module ("EventMachine"); - EmConnection = rb_define_class_under (EmModule, "Connection", rb_cObject); - - rb_define_class_under (EmModule, "NoHandlerForAcceptedConnection", rb_eRuntimeError); - EM_eConnectionError = rb_define_class_under (EmModule, "ConnectionError", rb_eRuntimeError); - EM_eConnectionNotBound = rb_define_class_under (EmModule, "ConnectionNotBound", rb_eRuntimeError); - EM_eUnknownTimerFired = rb_define_class_under (EmModule, "UnknownTimerFired", rb_eRuntimeError); - EM_eUnsupported = rb_define_class_under (EmModule, "Unsupported", rb_eRuntimeError); - EM_eInvalidSignature = rb_define_class_under (EmModule, "InvalidSignature", rb_eRuntimeError); - - rb_define_module_function (EmModule, "initialize_event_machine", (VALUE(*)(...))t_initialize_event_machine, 0); - rb_define_module_function (EmModule, "run_machine_once", (VALUE(*)(...))t_run_machine_once, 0); - rb_define_module_function (EmModule, "run_machine", (VALUE(*)(...))t_run_machine, 0); - rb_define_module_function (EmModule, "run_machine_without_threads", (VALUE(*)(...))t_run_machine, 0); - rb_define_module_function (EmModule, "add_oneshot_timer", (VALUE(*)(...))t_add_oneshot_timer, 1); - rb_define_module_function (EmModule, "start_tcp_server", (VALUE(*)(...))t_start_server, 2); - rb_define_module_function (EmModule, "stop_tcp_server", (VALUE(*)(...))t_stop_server, 1); - rb_define_module_function (EmModule, "start_unix_server", (VALUE(*)(...))t_start_unix_server, 1); - rb_define_module_function (EmModule, "attach_sd", (VALUE(*)(...))t_attach_sd, 1); - rb_define_module_function (EmModule, "set_tls_parms", (VALUE(*)(...))t_set_tls_parms, 10); - rb_define_module_function (EmModule, "start_tls", (VALUE(*)(...))t_start_tls, 1); - rb_define_module_function (EmModule, "get_peer_cert", (VALUE(*)(...))t_get_peer_cert, 1); - rb_define_module_function (EmModule, "get_cipher_bits", (VALUE(*)(...))t_get_cipher_bits, 1); - rb_define_module_function (EmModule, "get_cipher_name", (VALUE(*)(...))t_get_cipher_name, 1); - rb_define_module_function (EmModule, "get_cipher_protocol", (VALUE(*)(...))t_get_cipher_protocol, 1); - rb_define_module_function (EmModule, "get_sni_hostname", (VALUE(*)(...))t_get_sni_hostname, 1); - rb_define_module_function (EmModule, "send_data", (VALUE(*)(...))t_send_data, 3); - rb_define_module_function (EmModule, "send_datagram", (VALUE(*)(...))t_send_datagram, 5); - rb_define_module_function (EmModule, "close_connection", (VALUE(*)(...))t_close_connection, 2); - rb_define_module_function (EmModule, "report_connection_error_status", (VALUE(*)(...))t_report_connection_error_status, 1); - rb_define_module_function (EmModule, "connect_server", (VALUE(*)(...))t_connect_server, 2); - rb_define_module_function (EmModule, "bind_connect_server", (VALUE(*)(...))t_bind_connect_server, 4); - rb_define_module_function (EmModule, "connect_unix_server", (VALUE(*)(...))t_connect_unix_server, 1); - - rb_define_module_function (EmModule, "attach_fd", (VALUE (*)(...))t_attach_fd, 2); - rb_define_module_function (EmModule, "detach_fd", (VALUE (*)(...))t_detach_fd, 1); - rb_define_module_function (EmModule, "get_file_descriptor", (VALUE (*)(...))t_get_file_descriptor, 1); - rb_define_module_function (EmModule, "get_sock_opt", (VALUE (*)(...))t_get_sock_opt, 3); - rb_define_module_function (EmModule, "set_sock_opt", (VALUE (*)(...))t_set_sock_opt, 4); - rb_define_module_function (EmModule, "set_notify_readable", (VALUE (*)(...))t_set_notify_readable, 2); - rb_define_module_function (EmModule, "set_notify_writable", (VALUE (*)(...))t_set_notify_writable, 2); - rb_define_module_function (EmModule, "is_notify_readable", (VALUE (*)(...))t_is_notify_readable, 1); - rb_define_module_function (EmModule, "is_notify_writable", (VALUE (*)(...))t_is_notify_writable, 1); - - rb_define_module_function (EmModule, "pause_connection", (VALUE (*)(...))t_pause, 1); - rb_define_module_function (EmModule, "resume_connection", (VALUE (*)(...))t_resume, 1); - rb_define_module_function (EmModule, "connection_paused?", (VALUE (*)(...))t_paused_p, 1); - rb_define_module_function (EmModule, "num_close_scheduled", (VALUE (*)(...))t_num_close_scheduled, 0); - - rb_define_module_function (EmModule, "start_proxy", (VALUE (*)(...))t_start_proxy, 4); - rb_define_module_function (EmModule, "stop_proxy", (VALUE (*)(...))t_stop_proxy, 1); - rb_define_module_function (EmModule, "get_proxied_bytes", (VALUE (*)(...))t_proxied_bytes, 1); - - rb_define_module_function (EmModule, "watch_filename", (VALUE (*)(...))t_watch_filename, 1); - rb_define_module_function (EmModule, "unwatch_filename", (VALUE (*)(...))t_unwatch_filename, 1); - - rb_define_module_function (EmModule, "watch_pid", (VALUE (*)(...))t_watch_pid, 1); - rb_define_module_function (EmModule, "unwatch_pid", (VALUE (*)(...))t_unwatch_pid, 1); - - rb_define_module_function (EmModule, "current_time", (VALUE(*)(...))t_get_loop_time, 0); - - rb_define_module_function (EmModule, "open_udp_socket", (VALUE(*)(...))t_open_udp_socket, 2); - rb_define_module_function (EmModule, "read_keyboard", (VALUE(*)(...))t_read_keyboard, 0); - rb_define_module_function (EmModule, "release_machine", (VALUE(*)(...))t_release_machine, 0); - rb_define_module_function (EmModule, "stop", (VALUE(*)(...))t_stop, 0); - rb_define_module_function (EmModule, "signal_loopbreak", (VALUE(*)(...))t_signal_loopbreak, 0); - rb_define_module_function (EmModule, "library_type", (VALUE(*)(...))t_library_type, 0); - rb_define_module_function (EmModule, "set_timer_quantum", (VALUE(*)(...))t_set_timer_quantum, 1); - rb_define_module_function (EmModule, "get_max_timer_count", (VALUE(*)(...))t_get_max_timer_count, 0); - rb_define_module_function (EmModule, "set_max_timer_count", (VALUE(*)(...))t_set_max_timer_count, 1); - rb_define_module_function (EmModule, "get_simultaneous_accept_count", (VALUE(*)(...))t_get_simultaneous_accept_count, 0); - rb_define_module_function (EmModule, "set_simultaneous_accept_count", (VALUE(*)(...))t_set_simultaneous_accept_count, 1); - rb_define_module_function (EmModule, "setuid_string", (VALUE(*)(...))t_setuid_string, 1); - rb_define_module_function (EmModule, "invoke_popen", (VALUE(*)(...))t_invoke_popen, 1); - rb_define_module_function (EmModule, "send_file_data", (VALUE(*)(...))t_send_file_data, 2); - rb_define_module_function (EmModule, "get_heartbeat_interval", (VALUE(*)(...))t_get_heartbeat_interval, 0); - rb_define_module_function (EmModule, "set_heartbeat_interval", (VALUE(*)(...))t_set_heartbeat_interval, 1); - rb_define_module_function (EmModule, "get_idle_time", (VALUE(*)(...))t_get_idle_time, 1); - - rb_define_module_function (EmModule, "get_peername", (VALUE(*)(...))t_get_peername, 1); - rb_define_module_function (EmModule, "get_sockname", (VALUE(*)(...))t_get_sockname, 1); - rb_define_module_function (EmModule, "get_subprocess_pid", (VALUE(*)(...))t_get_subprocess_pid, 1); - rb_define_module_function (EmModule, "get_subprocess_status", (VALUE(*)(...))t_get_subprocess_status, 1); - rb_define_module_function (EmModule, "get_comm_inactivity_timeout", (VALUE(*)(...))t_get_comm_inactivity_timeout, 1); - rb_define_module_function (EmModule, "set_comm_inactivity_timeout", (VALUE(*)(...))t_set_comm_inactivity_timeout, 2); - rb_define_module_function (EmModule, "get_pending_connect_timeout", (VALUE(*)(...))t_get_pending_connect_timeout, 1); - rb_define_module_function (EmModule, "set_pending_connect_timeout", (VALUE(*)(...))t_set_pending_connect_timeout, 2); - rb_define_module_function (EmModule, "set_rlimit_nofile", (VALUE(*)(...))t_set_rlimit_nofile, 1); - rb_define_module_function (EmModule, "get_connection_count", (VALUE(*)(...))t_get_connection_count, 0); - - rb_define_module_function (EmModule, "epoll", (VALUE(*)(...))t__epoll, 0); - rb_define_module_function (EmModule, "epoll=", (VALUE(*)(...))t__epoll_set, 1); - rb_define_module_function (EmModule, "epoll?", (VALUE(*)(...))t__epoll_p, 0); - - rb_define_module_function (EmModule, "kqueue", (VALUE(*)(...))t__kqueue, 0); - rb_define_module_function (EmModule, "kqueue=", (VALUE(*)(...))t__kqueue_set, 1); - rb_define_module_function (EmModule, "kqueue?", (VALUE(*)(...))t__kqueue_p, 0); - - rb_define_module_function (EmModule, "ssl?", (VALUE(*)(...))t__ssl_p, 0); - rb_define_module_function(EmModule, "stopping?",(VALUE(*)(...))t_stopping, 0); - - rb_define_method (EmConnection, "get_outbound_data_size", (VALUE(*)(...))conn_get_outbound_data_size, 0); - rb_define_method (EmConnection, "associate_callback_target", (VALUE(*)(...))conn_associate_callback_target, 1); - - // Connection states - rb_define_const (EmModule, "TimerFired", INT2NUM(EM_TIMER_FIRED )); - rb_define_const (EmModule, "ConnectionData", INT2NUM(EM_CONNECTION_READ )); - rb_define_const (EmModule, "ConnectionUnbound", INT2NUM(EM_CONNECTION_UNBOUND )); - rb_define_const (EmModule, "ConnectionAccepted", INT2NUM(EM_CONNECTION_ACCEPTED )); - rb_define_const (EmModule, "ConnectionCompleted", INT2NUM(EM_CONNECTION_COMPLETED )); - rb_define_const (EmModule, "LoopbreakSignalled", INT2NUM(EM_LOOPBREAK_SIGNAL )); - rb_define_const (EmModule, "ConnectionNotifyReadable", INT2NUM(EM_CONNECTION_NOTIFY_READABLE)); - rb_define_const (EmModule, "ConnectionNotifyWritable", INT2NUM(EM_CONNECTION_NOTIFY_WRITABLE)); - rb_define_const (EmModule, "SslHandshakeCompleted", INT2NUM(EM_SSL_HANDSHAKE_COMPLETED )); - rb_define_const (EmModule, "SslVerify", INT2NUM(EM_SSL_VERIFY )); - // EM_PROXY_TARGET_UNBOUND = 110, - // EM_PROXY_COMPLETED = 111 - - // SSL Protocols - rb_define_const (EmModule, "EM_PROTO_SSLv2", INT2NUM(EM_PROTO_SSLv2 )); - rb_define_const (EmModule, "EM_PROTO_SSLv3", INT2NUM(EM_PROTO_SSLv3 )); - rb_define_const (EmModule, "EM_PROTO_TLSv1", INT2NUM(EM_PROTO_TLSv1 )); - rb_define_const (EmModule, "EM_PROTO_TLSv1_1", INT2NUM(EM_PROTO_TLSv1_1)); - rb_define_const (EmModule, "EM_PROTO_TLSv1_2", INT2NUM(EM_PROTO_TLSv1_2)); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/rubymain.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/rubymain.o deleted file mode 100644 index 3025e02..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/rubymain.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.cpp b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.cpp deleted file mode 100644 index 8d5e038..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.cpp +++ /dev/null @@ -1,619 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: ssl.cpp -Date: 30Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -#ifdef WITH_SSL - -#include "project.h" - - -bool SslContext_t::bLibraryInitialized = false; - - - -static void InitializeDefaultCredentials(); -static EVP_PKEY *DefaultPrivateKey = NULL; -static X509 *DefaultCertificate = NULL; - -static char PrivateMaterials[] = { -"-----BEGIN RSA PRIVATE KEY-----\n" -"MIICXAIBAAKBgQDCYYhcw6cGRbhBVShKmbWm7UVsEoBnUf0cCh8AX+MKhMxwVDWV\n" -"Igdskntn3cSJjRtmgVJHIK0lpb/FYHQB93Ohpd9/Z18pDmovfFF9nDbFF0t39hJ/\n" -"AqSzFB3GiVPoFFZJEE1vJqh+3jzsSF5K56bZ6azz38VlZgXeSozNW5bXkQIDAQAB\n" -"AoGALA89gIFcr6BIBo8N5fL3aNHpZXjAICtGav+kTUpuxSiaym9cAeTHuAVv8Xgk\n" -"H2Wbq11uz+6JMLpkQJH/WZ7EV59DPOicXrp0Imr73F3EXBfR7t2EQDYHPMthOA1D\n" -"I9EtCzvV608Ze90hiJ7E3guGrGppZfJ+eUWCPgy8CZH1vRECQQDv67rwV/oU1aDo\n" -"6/+d5nqjeW6mWkGqTnUU96jXap8EIw6B+0cUKskwx6mHJv+tEMM2748ZY7b0yBlg\n" -"w4KDghbFAkEAz2h8PjSJG55LwqmXih1RONSgdN9hjB12LwXL1CaDh7/lkEhq0PlK\n" -"PCAUwQSdM17Sl0Xxm2CZiekTSlwmHrtqXQJAF3+8QJwtV2sRJp8u2zVe37IeH1cJ\n" -"xXeHyjTzqZ2803fnjN2iuZvzNr7noOA1/Kp+pFvUZUU5/0G2Ep8zolPUjQJAFA7k\n" -"xRdLkzIx3XeNQjwnmLlncyYPRv+qaE3FMpUu7zftuZBnVCJnvXzUxP3vPgKTlzGa\n" -"dg5XivDRfsV+okY5uQJBAMV4FesUuLQVEKb6lMs7rzZwpeGQhFDRfywJzfom2TLn\n" -"2RdJQQ3dcgnhdVDgt5o1qkmsqQh8uJrJ9SdyLIaZQIc=\n" -"-----END RSA PRIVATE KEY-----\n" -"-----BEGIN CERTIFICATE-----\n" -"MIID6TCCA1KgAwIBAgIJANm4W/Tzs+s+MA0GCSqGSIb3DQEBBQUAMIGqMQswCQYD\n" -"VQQGEwJVUzERMA8GA1UECBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRYw\n" -"FAYDVQQKEw1TdGVhbWhlYXQubmV0MRQwEgYDVQQLEwtFbmdpbmVlcmluZzEdMBsG\n" -"A1UEAxMUb3BlbmNhLnN0ZWFtaGVhdC5uZXQxKDAmBgkqhkiG9w0BCQEWGWVuZ2lu\n" -"ZWVyaW5nQHN0ZWFtaGVhdC5uZXQwHhcNMDYwNTA1MTcwNjAzWhcNMjQwMjIwMTcw\n" -"NjAzWjCBqjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQH\n" -"EwhOZXcgWW9yazEWMBQGA1UEChMNU3RlYW1oZWF0Lm5ldDEUMBIGA1UECxMLRW5n\n" -"aW5lZXJpbmcxHTAbBgNVBAMTFG9wZW5jYS5zdGVhbWhlYXQubmV0MSgwJgYJKoZI\n" -"hvcNAQkBFhllbmdpbmVlcmluZ0BzdGVhbWhlYXQubmV0MIGfMA0GCSqGSIb3DQEB\n" -"AQUAA4GNADCBiQKBgQDCYYhcw6cGRbhBVShKmbWm7UVsEoBnUf0cCh8AX+MKhMxw\n" -"VDWVIgdskntn3cSJjRtmgVJHIK0lpb/FYHQB93Ohpd9/Z18pDmovfFF9nDbFF0t3\n" -"9hJ/AqSzFB3GiVPoFFZJEE1vJqh+3jzsSF5K56bZ6azz38VlZgXeSozNW5bXkQID\n" -"AQABo4IBEzCCAQ8wHQYDVR0OBBYEFPJvPd1Fcmd8o/Tm88r+NjYPICCkMIHfBgNV\n" -"HSMEgdcwgdSAFPJvPd1Fcmd8o/Tm88r+NjYPICCkoYGwpIGtMIGqMQswCQYDVQQG\n" -"EwJVUzERMA8GA1UECBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRYwFAYD\n" -"VQQKEw1TdGVhbWhlYXQubmV0MRQwEgYDVQQLEwtFbmdpbmVlcmluZzEdMBsGA1UE\n" -"AxMUb3BlbmNhLnN0ZWFtaGVhdC5uZXQxKDAmBgkqhkiG9w0BCQEWGWVuZ2luZWVy\n" -"aW5nQHN0ZWFtaGVhdC5uZXSCCQDZuFv087PrPjAMBgNVHRMEBTADAQH/MA0GCSqG\n" -"SIb3DQEBBQUAA4GBAC1CXey/4UoLgJiwcEMDxOvW74plks23090iziFIlGgcIhk0\n" -"Df6hTAs7H3MWww62ddvR8l07AWfSzSP5L6mDsbvq7EmQsmPODwb6C+i2aF3EDL8j\n" -"uw73m4YIGI0Zw2XdBpiOGkx2H56Kya6mJJe/5XORZedh1wpI7zki01tHYbcy\n" -"-----END CERTIFICATE-----\n"}; - -/* These private materials were made with: - * openssl req -new -x509 -keyout cakey.pem -out cacert.pem -nodes -days 6500 - * TODO: We need a full-blown capability to work with user-supplied - * keypairs and properly-signed certificates. - */ - - -/***************** -builtin_passwd_cb -*****************/ - -extern "C" int builtin_passwd_cb (char *buf UNUSED, int bufsize UNUSED, int rwflag UNUSED, void *userdata UNUSED) -{ - strcpy (buf, "kittycat"); - return 8; -} - -/**************************** -InitializeDefaultCredentials -****************************/ - -static void InitializeDefaultCredentials() -{ - BIO *bio = BIO_new_mem_buf (PrivateMaterials, -1); - assert (bio); - - if (DefaultPrivateKey) { - // we may come here in a restart. - EVP_PKEY_free (DefaultPrivateKey); - DefaultPrivateKey = NULL; - } - PEM_read_bio_PrivateKey (bio, &DefaultPrivateKey, builtin_passwd_cb, 0); - - if (DefaultCertificate) { - // we may come here in a restart. - X509_free (DefaultCertificate); - DefaultCertificate = NULL; - } - PEM_read_bio_X509 (bio, &DefaultCertificate, NULL, 0); - - BIO_free (bio); -} - - - -/************************** -SslContext_t::SslContext_t -**************************/ - -SslContext_t::SslContext_t (bool is_server, const std::string &privkeyfile, const std::string &certchainfile, const std::string &cipherlist, const std::string &ecdh_curve, const std::string &dhparam, int ssl_version) : - bIsServer (is_server), - pCtx (NULL), - PrivateKey (NULL), - Certificate (NULL) -{ - /* TODO: the usage of the specified private-key and cert-chain filenames only applies to - * client-side connections at this point. Server connections currently use the default materials. - * That needs to be fixed asap. - * Also, in this implementation, server-side connections use statically defined X-509 defaults. - * One thing I'm really not clear on is whether or not you have to explicitly free X509 and EVP_PKEY - * objects when we call our destructor, or whether just calling SSL_CTX_free is enough. - */ - - if (!bLibraryInitialized) { - bLibraryInitialized = true; - SSL_library_init(); - OpenSSL_add_ssl_algorithms(); - OpenSSL_add_all_algorithms(); - SSL_load_error_strings(); - ERR_load_crypto_strings(); - - InitializeDefaultCredentials(); - } - - pCtx = SSL_CTX_new (bIsServer ? SSLv23_server_method() : SSLv23_client_method()); - if (!pCtx) - throw std::runtime_error ("no SSL context"); - - SSL_CTX_set_options (pCtx, SSL_OP_ALL); - - #ifdef SSL_CTRL_CLEAR_OPTIONS - SSL_CTX_clear_options (pCtx, SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1); - # ifdef SSL_OP_NO_TLSv1_1 - SSL_CTX_clear_options (pCtx, SSL_OP_NO_TLSv1_1); - # endif - # ifdef SSL_OP_NO_TLSv1_2 - SSL_CTX_clear_options (pCtx, SSL_OP_NO_TLSv1_2); - # endif - #endif - - if (!(ssl_version & EM_PROTO_SSLv2)) - SSL_CTX_set_options (pCtx, SSL_OP_NO_SSLv2); - - if (!(ssl_version & EM_PROTO_SSLv3)) - SSL_CTX_set_options (pCtx, SSL_OP_NO_SSLv3); - - if (!(ssl_version & EM_PROTO_TLSv1)) - SSL_CTX_set_options (pCtx, SSL_OP_NO_TLSv1); - - #ifdef SSL_OP_NO_TLSv1_1 - if (!(ssl_version & EM_PROTO_TLSv1_1)) - SSL_CTX_set_options (pCtx, SSL_OP_NO_TLSv1_1); - #endif - - #ifdef SSL_OP_NO_TLSv1_2 - if (!(ssl_version & EM_PROTO_TLSv1_2)) - SSL_CTX_set_options (pCtx, SSL_OP_NO_TLSv1_2); - #endif - - #ifdef SSL_MODE_RELEASE_BUFFERS - SSL_CTX_set_mode (pCtx, SSL_MODE_RELEASE_BUFFERS); - #endif - - if (bIsServer) { - - // The SSL_CTX calls here do NOT allocate memory. - int e; - if (privkeyfile.length() > 0) - e = SSL_CTX_use_PrivateKey_file (pCtx, privkeyfile.c_str(), SSL_FILETYPE_PEM); - else - e = SSL_CTX_use_PrivateKey (pCtx, DefaultPrivateKey); - if (e <= 0) ERR_print_errors_fp(stderr); - assert (e > 0); - - if (certchainfile.length() > 0) - e = SSL_CTX_use_certificate_chain_file (pCtx, certchainfile.c_str()); - else - e = SSL_CTX_use_certificate (pCtx, DefaultCertificate); - if (e <= 0) ERR_print_errors_fp(stderr); - assert (e > 0); - - if (dhparam.length() > 0) { - DH *dh; - BIO *bio; - - bio = BIO_new_file(dhparam.c_str(), "r"); - if (bio == NULL) { - char buf [500]; - snprintf (buf, sizeof(buf)-1, "dhparam: BIO_new_file(%s) failed", dhparam.c_str()); - throw std::runtime_error (buf); - } - - dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL); - - if (dh == NULL) { - BIO_free(bio); - char buf [500]; - snprintf (buf, sizeof(buf)-1, "dhparam: PEM_read_bio_DHparams(%s) failed", dhparam.c_str()); - throw std::runtime_error (buf); - } - - SSL_CTX_set_tmp_dh(pCtx, dh); - - DH_free(dh); - BIO_free(bio); - } - - if (ecdh_curve.length() > 0) { - #if OPENSSL_VERSION_NUMBER >= 0x0090800fL && !defined(OPENSSL_NO_ECDH) - int nid; - EC_KEY *ecdh; - - nid = OBJ_sn2nid((const char *) ecdh_curve.c_str()); - if (nid == 0) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "ecdh_curve: Unknown curve name: %s", ecdh_curve.c_str()); - throw std::runtime_error (buf); - } - - ecdh = EC_KEY_new_by_curve_name(nid); - if (ecdh == NULL) { - char buf [200]; - snprintf (buf, sizeof(buf)-1, "ecdh_curve: Unable to create: %s", ecdh_curve.c_str()); - throw std::runtime_error (buf); - } - - SSL_CTX_set_options(pCtx, SSL_OP_SINGLE_ECDH_USE); - - SSL_CTX_set_tmp_ecdh(pCtx, ecdh); - - EC_KEY_free(ecdh); - #else - throw std::runtime_error ("No openssl ECDH support"); - #endif - } - } - - if (cipherlist.length() > 0) - SSL_CTX_set_cipher_list (pCtx, cipherlist.c_str()); - else - SSL_CTX_set_cipher_list (pCtx, "ALL:!ADH:!LOW:!EXP:!DES-CBC3-SHA:@STRENGTH"); - - if (bIsServer) { - SSL_CTX_sess_set_cache_size (pCtx, 128); - SSL_CTX_set_session_id_context (pCtx, (unsigned char*)"eventmachine", 12); - } - else { - int e; - if (privkeyfile.length() > 0) { - e = SSL_CTX_use_PrivateKey_file (pCtx, privkeyfile.c_str(), SSL_FILETYPE_PEM); - if (e <= 0) ERR_print_errors_fp(stderr); - assert (e > 0); - } - if (certchainfile.length() > 0) { - e = SSL_CTX_use_certificate_chain_file (pCtx, certchainfile.c_str()); - if (e <= 0) ERR_print_errors_fp(stderr); - assert (e > 0); - } - } -} - - - -/*************************** -SslContext_t::~SslContext_t -***************************/ - -SslContext_t::~SslContext_t() -{ - if (pCtx) - SSL_CTX_free (pCtx); - if (PrivateKey) - EVP_PKEY_free (PrivateKey); - if (Certificate) - X509_free (Certificate); -} - - - -/****************** -SslBox_t::SslBox_t -******************/ - -SslBox_t::SslBox_t (bool is_server, const std::string &privkeyfile, const std::string &certchainfile, bool verify_peer, bool fail_if_no_peer_cert, const std::string &snihostname, const std::string &cipherlist, const std::string &ecdh_curve, const std::string &dhparam, int ssl_version, const uintptr_t binding): - bIsServer (is_server), - bHandshakeCompleted (false), - bVerifyPeer (verify_peer), - bFailIfNoPeerCert (fail_if_no_peer_cert), - pSSL (NULL), - pbioRead (NULL), - pbioWrite (NULL) -{ - /* TODO someday: make it possible to re-use SSL contexts so we don't have to create - * a new one every time we come here. - */ - - Context = new SslContext_t (bIsServer, privkeyfile, certchainfile, cipherlist, ecdh_curve, dhparam, ssl_version); - assert (Context); - - pbioRead = BIO_new (BIO_s_mem()); - assert (pbioRead); - - pbioWrite = BIO_new (BIO_s_mem()); - assert (pbioWrite); - - pSSL = SSL_new (Context->pCtx); - assert (pSSL); - - if (snihostname.length() > 0) { - SSL_set_tlsext_host_name (pSSL, snihostname.c_str()); - } - - SSL_set_bio (pSSL, pbioRead, pbioWrite); - - // Store a pointer to the binding signature in the SSL object so we can retrieve it later - SSL_set_ex_data(pSSL, 0, (void*) binding); - - if (bVerifyPeer) { - int mode = SSL_VERIFY_PEER | SSL_VERIFY_CLIENT_ONCE; - if (bFailIfNoPeerCert) - mode = mode | SSL_VERIFY_FAIL_IF_NO_PEER_CERT; - SSL_set_verify(pSSL, mode, ssl_verify_wrapper); - } - - if (!bIsServer) { - int e = SSL_connect (pSSL); - if (e != 1) - ERR_print_errors_fp(stderr); - } -} - - - -/******************* -SslBox_t::~SslBox_t -*******************/ - -SslBox_t::~SslBox_t() -{ - // Freeing pSSL will also free the associated BIOs, so DON'T free them separately. - if (pSSL) { - if (SSL_get_shutdown (pSSL) & SSL_RECEIVED_SHUTDOWN) - SSL_shutdown (pSSL); - else - SSL_clear (pSSL); - SSL_free (pSSL); - } - - delete Context; -} - - - -/*********************** -SslBox_t::PutCiphertext -***********************/ - -bool SslBox_t::PutCiphertext (const char *buf, int bufsize) -{ - assert (buf && (bufsize > 0)); - - assert (pbioRead); - int n = BIO_write (pbioRead, buf, bufsize); - - return (n == bufsize) ? true : false; -} - - -/********************** -SslBox_t::GetPlaintext -**********************/ - -int SslBox_t::GetPlaintext (char *buf, int bufsize) -{ - if (!SSL_is_init_finished (pSSL)) { - int e = bIsServer ? SSL_accept (pSSL) : SSL_connect (pSSL); - if (e != 1) { - int er = SSL_get_error (pSSL, e); - if (er != SSL_ERROR_WANT_READ) { - ERR_print_errors_fp(stderr); - // Return -1 for a nonfatal error, -2 for an error that should force the connection down. - return (er == SSL_ERROR_SSL) ? (-2) : (-1); - } - else - return 0; - } - bHandshakeCompleted = true; - // If handshake finished, FALL THROUGH and return the available plaintext. - } - - if (!SSL_is_init_finished (pSSL)) { - // We can get here if a browser abandons a handshake. - // The user can see a warning dialog and abort the connection. - //cerr << ""; - return 0; - } - - //cerr << "CIPH: " << SSL_get_cipher (pSSL) << endl; - - int n = SSL_read (pSSL, buf, bufsize); - if (n >= 0) { - return n; - } - else { - if (SSL_get_error (pSSL, n) == SSL_ERROR_WANT_READ) { - return 0; - } - else { - return -1; - } - } - - return 0; -} - - - -/************************** -SslBox_t::CanGetCiphertext -**************************/ - -bool SslBox_t::CanGetCiphertext() -{ - assert (pbioWrite); - return BIO_pending (pbioWrite) ? true : false; -} - - - -/*********************** -SslBox_t::GetCiphertext -***********************/ - -int SslBox_t::GetCiphertext (char *buf, int bufsize) -{ - assert (pbioWrite); - assert (buf && (bufsize > 0)); - - return BIO_read (pbioWrite, buf, bufsize); -} - - - -/********************** -SslBox_t::PutPlaintext -**********************/ - -int SslBox_t::PutPlaintext (const char *buf, int bufsize) -{ - // The caller will interpret the return value as the number of bytes written. - // WARNING WARNING WARNING, are there any situations in which a 0 or -1 return - // from SSL_write means we should immediately retry? The socket-machine loop - // will probably wait for a time-out cycle (perhaps a second) before re-trying. - // THIS WOULD CAUSE A PERCEPTIBLE DELAY! - - /* We internally queue any outbound plaintext that can't be dispatched - * because we're in the middle of a handshake or something. - * When we get called, try to send any queued data first, and then - * send the caller's data (or queue it). We may get called with no outbound - * data, which means we try to send the outbound queue and that's all. - * - * Return >0 if we wrote any data, 0 if we didn't, and <0 for a fatal error. - * Note that if we return 0, the connection is still considered live - * and we are signalling that we have accepted the outbound data (if any). - */ - - OutboundQ.Push (buf, bufsize); - - if (!SSL_is_init_finished (pSSL)) - return 0; - - bool fatal = false; - bool did_work = false; - int pending = BIO_pending(pbioWrite); - - while (OutboundQ.HasPages() && pending < SSLBOX_WRITE_BUFFER_SIZE) { - const char *page; - int length; - OutboundQ.Front (&page, &length); - assert (page && (length > 0)); - int n = SSL_write (pSSL, page, length); - pending = BIO_pending(pbioWrite); - - if (n > 0) { - did_work = true; - OutboundQ.PopFront(); - } - else { - int er = SSL_get_error (pSSL, n); - if ((er != SSL_ERROR_WANT_READ) && (er != SSL_ERROR_WANT_WRITE)) - fatal = true; - break; - } - } - - - if (did_work) - return 1; - else if (fatal) - return -1; - else - return 0; -} - -/********************** -SslBox_t::GetPeerCert -**********************/ - -X509 *SslBox_t::GetPeerCert() -{ - X509 *cert = NULL; - - if (pSSL) - cert = SSL_get_peer_certificate(pSSL); - - return cert; -} - -/********************** -SslBox_t::GetCipherBits -**********************/ - -int SslBox_t::GetCipherBits() -{ - int bits = -1; - if (pSSL) - SSL_get_cipher_bits(pSSL, &bits); - return bits; -} - -/********************** -SslBox_t::GetCipherName -**********************/ - -const char *SslBox_t::GetCipherName() -{ - if (pSSL) - return SSL_get_cipher_name(pSSL); - return NULL; -} - -/********************** -SslBox_t::GetCipherProtocol -**********************/ - -const char *SslBox_t::GetCipherProtocol() -{ - if (pSSL) - return SSL_get_cipher_version(pSSL); - return NULL; -} - -/********************** -SslBox_t::GetSNIHostname -**********************/ - -const char *SslBox_t::GetSNIHostname() -{ - #ifdef TLSEXT_NAMETYPE_host_name - if (pSSL) - return SSL_get_servername (pSSL, TLSEXT_NAMETYPE_host_name); - #endif - return NULL; -} - -/****************** -ssl_verify_wrapper -*******************/ - -extern "C" int ssl_verify_wrapper(int preverify_ok UNUSED, X509_STORE_CTX *ctx) -{ - uintptr_t binding; - X509 *cert; - SSL *ssl; - BUF_MEM *buf; - BIO *out; - int result; - - cert = X509_STORE_CTX_get_current_cert(ctx); - ssl = (SSL*) X509_STORE_CTX_get_ex_data(ctx, SSL_get_ex_data_X509_STORE_CTX_idx()); - binding = (uintptr_t) SSL_get_ex_data(ssl, 0); - - out = BIO_new(BIO_s_mem()); - PEM_write_bio_X509(out, cert); - BIO_write(out, "\0", 1); - BIO_get_mem_ptr(out, &buf); - - ConnectionDescriptor *cd = dynamic_cast (Bindable_t::GetObject(binding)); - result = (cd->VerifySslPeer(buf->data) == true ? 1 : 0); - BIO_free(out); - - return result; -} - -#endif // WITH_SSL - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.h deleted file mode 100644 index 64ff6e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.h +++ /dev/null @@ -1,103 +0,0 @@ -/***************************************************************************** - -$Id$ - -File: ssl.h -Date: 30Apr06 - -Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. -Gmail: blackhedd - -This program is free software; you can redistribute it and/or modify -it under the terms of either: 1) the GNU General Public License -as published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version; or 2) Ruby's License. - -See the file COPYING for complete licensing information. - -*****************************************************************************/ - - -#ifndef __SslBox__H_ -#define __SslBox__H_ - - - - -#ifdef WITH_SSL - -/****************** -class SslContext_t -******************/ - -class SslContext_t -{ - public: - SslContext_t (bool is_server, const std::string &privkeyfile, const std::string &certchainfile, const std::string &cipherlist, const std::string &ecdh_curve, const std::string &dhparam, int ssl_version); - virtual ~SslContext_t(); - - private: - static bool bLibraryInitialized; - - private: - bool bIsServer; - SSL_CTX *pCtx; - - EVP_PKEY *PrivateKey; - X509 *Certificate; - - friend class SslBox_t; -}; - - -/************** -class SslBox_t -**************/ - -#define SSLBOX_INPUT_CHUNKSIZE 2019 -#define SSLBOX_OUTPUT_CHUNKSIZE 2048 -#define SSLBOX_WRITE_BUFFER_SIZE 8192 // (SSLBOX_OUTPUT_CHUNKSIZE * 4) - -class SslBox_t -{ - public: - SslBox_t (bool is_server, const std::string &privkeyfile, const std::string &certchainfile, bool verify_peer, bool fail_if_no_peer_cert, const std::string &snihostname, const std::string &cipherlist, const std::string &ecdh_curve, const std::string &dhparam, int ssl_version, const uintptr_t binding); - virtual ~SslBox_t(); - - int PutPlaintext (const char*, int); - int GetPlaintext (char*, int); - - bool PutCiphertext (const char*, int); - bool CanGetCiphertext(); - int GetCiphertext (char*, int); - bool IsHandshakeCompleted() {return bHandshakeCompleted;} - - X509 *GetPeerCert(); - int GetCipherBits(); - const char *GetCipherName(); - const char *GetCipherProtocol(); - const char *GetSNIHostname(); - - void Shutdown(); - - protected: - SslContext_t *Context; - - bool bIsServer; - bool bHandshakeCompleted; - bool bVerifyPeer; - bool bFailIfNoPeerCert; - SSL *pSSL; - BIO *pbioRead; - BIO *pbioWrite; - - PageList OutboundQ; -}; - -extern "C" int ssl_verify_wrapper(int, X509_STORE_CTX*); - -#endif // WITH_SSL - - -#endif // __SslBox__H_ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.o deleted file mode 100644 index d5db77b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/ext/ssl.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/.classpath b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/.classpath deleted file mode 100644 index 11672dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/.project b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/.project deleted file mode 100644 index c7766db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - em_reactor - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EmReactor.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EmReactor.java deleted file mode 100644 index 31642f3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EmReactor.java +++ /dev/null @@ -1,613 +0,0 @@ -/** - * $Id$ - * - * Author:: Francis Cianfrocca (gmail: blackhedd) - * Homepage:: http://rubyeventmachine.com - * Date:: 15 Jul 2007 - * - * See EventMachine and EventMachine::Connection for documentation and - * usage examples. - * - * - *---------------------------------------------------------------------------- - * - * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. - * Gmail: blackhedd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of either: 1) the GNU General Public License - * as published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version; or 2) Ruby's License. - * - * See the file COPYING for complete licensing information. - * - *--------------------------------------------------------------------------- - * - * - */ - -package com.rubyeventmachine; - -import java.io.*; -import java.nio.channels.*; -import java.util.*; -import java.nio.*; -import java.net.*; -import java.util.concurrent.atomic.*; -import java.security.*; - -public class EmReactor { - public final int EM_TIMER_FIRED = 100; - public final int EM_CONNECTION_READ = 101; - public final int EM_CONNECTION_UNBOUND = 102; - public final int EM_CONNECTION_ACCEPTED = 103; - public final int EM_CONNECTION_COMPLETED = 104; - public final int EM_LOOPBREAK_SIGNAL = 105; - public final int EM_CONNECTION_NOTIFY_READABLE = 106; - public final int EM_CONNECTION_NOTIFY_WRITABLE = 107; - public final int EM_SSL_HANDSHAKE_COMPLETED = 108; - public final int EM_SSL_VERIFY = 109; - public final int EM_PROXY_TARGET_UNBOUND = 110; - public final int EM_PROXY_COMPLETED = 111; - - public final int EM_PROTO_SSLv2 = 2; - public final int EM_PROTO_SSLv3 = 4; - public final int EM_PROTO_TLSv1 = 8; - public final int EM_PROTO_TLSv1_1 = 16; - public final int EM_PROTO_TLSv1_2 = 32; - - private Selector mySelector; - private TreeMap> Timers; - private HashMap Connections; - private HashMap Acceptors; - private ArrayList NewConnections; - private ArrayList UnboundConnections; - private ArrayList DetachedConnections; - - private boolean bRunReactor; - private long BindingIndex; - private AtomicBoolean loopBreaker; - private ByteBuffer myReadBuffer; - private int timerQuantum; - - public EmReactor() { - Timers = new TreeMap>(); - Connections = new HashMap(); - Acceptors = new HashMap(); - NewConnections = new ArrayList(); - UnboundConnections = new ArrayList(); - DetachedConnections = new ArrayList(); - - BindingIndex = 0; - loopBreaker = new AtomicBoolean(); - loopBreaker.set(false); - myReadBuffer = ByteBuffer.allocate(32*1024); // don't use a direct buffer. Ruby doesn't seem to like them. - timerQuantum = 98; - } - - /** - * This is a no-op stub, intended to be overridden in user code. - */ - public void eventCallback (long sig, int eventType, ByteBuffer data, long data2) { - System.out.println ("Default callback: "+sig+" "+eventType+" "+data+" "+data2); - } - public void eventCallback (long sig, int eventType, ByteBuffer data) { - eventCallback (sig, eventType, data, 0); - } - - - public void run() { - try { - mySelector = Selector.open(); - bRunReactor = true; - } catch (IOException e) { - throw new RuntimeException ("Could not open selector", e); - } - - while (bRunReactor) { - runLoopbreaks(); - if (!bRunReactor) break; - - runTimers(); - if (!bRunReactor) break; - - removeUnboundConnections(); - checkIO(); - addNewConnections(); - processIO(); - } - - close(); - } - - void addNewConnections() { - ListIterator iter = DetachedConnections.listIterator(0); - while (iter.hasNext()) { - EventableSocketChannel ec = iter.next(); - ec.cleanup(); - } - DetachedConnections.clear(); - - ListIterator iter2 = NewConnections.listIterator(0); - while (iter2.hasNext()) { - long b = iter2.next(); - - EventableChannel ec = Connections.get(b); - if (ec != null) { - try { - ec.register(); - } catch (ClosedChannelException e) { - UnboundConnections.add (ec.getBinding()); - } - } - } - NewConnections.clear(); - } - - void removeUnboundConnections() { - ListIterator iter = UnboundConnections.listIterator(0); - while (iter.hasNext()) { - long b = iter.next(); - - EventableChannel ec = Connections.remove(b); - if (ec != null) { - eventCallback (b, EM_CONNECTION_UNBOUND, null); - ec.close(); - - EventableSocketChannel sc = (EventableSocketChannel) ec; - if (sc != null && sc.isAttached()) - DetachedConnections.add (sc); - } - } - UnboundConnections.clear(); - } - - void checkIO() { - long timeout; - - if (NewConnections.size() > 0) { - timeout = -1; - } else if (!Timers.isEmpty()) { - long now = new Date().getTime(); - long k = Timers.firstKey(); - long diff = k-now; - - if (diff <= 0) - timeout = -1; // don't wait, just poll once - else - timeout = diff; - } else { - timeout = 0; // wait indefinitely - } - - try { - if (timeout == -1) - mySelector.selectNow(); - else - mySelector.select(timeout); - } catch (IOException e) { - e.printStackTrace(); - } - } - - void processIO() { - Iterator it = mySelector.selectedKeys().iterator(); - while (it.hasNext()) { - SelectionKey k = it.next(); - it.remove(); - - if (k.isConnectable()) - isConnectable(k); - - else if (k.isAcceptable()) - isAcceptable(k); - - else { - if (k.isWritable()) - isWritable(k); - - if (k.isReadable()) - isReadable(k); - } - } - } - - void isAcceptable (SelectionKey k) { - ServerSocketChannel ss = (ServerSocketChannel) k.channel(); - SocketChannel sn; - long b; - - for (int n = 0; n < 10; n++) { - try { - sn = ss.accept(); - if (sn == null) - break; - } catch (IOException e) { - e.printStackTrace(); - k.cancel(); - - ServerSocketChannel server = Acceptors.remove(k.attachment()); - if (server != null) - try{ server.close(); } catch (IOException ex) {}; - break; - } - - try { - sn.configureBlocking(false); - } catch (IOException e) { - e.printStackTrace(); - continue; - } - - b = createBinding(); - EventableSocketChannel ec = new EventableSocketChannel (sn, b, mySelector); - Connections.put (b, ec); - NewConnections.add (b); - - eventCallback (((Long)k.attachment()).longValue(), EM_CONNECTION_ACCEPTED, null, b); - } - } - - void isReadable (SelectionKey k) { - EventableChannel ec = (EventableChannel) k.attachment(); - long b = ec.getBinding(); - - if (ec.isWatchOnly()) { - if (ec.isNotifyReadable()) - eventCallback (b, EM_CONNECTION_NOTIFY_READABLE, null); - } else { - myReadBuffer.clear(); - - try { - ec.readInboundData (myReadBuffer); - myReadBuffer.flip(); - if (myReadBuffer.limit() > 0) - eventCallback (b, EM_CONNECTION_READ, myReadBuffer); - } catch (IOException e) { - UnboundConnections.add (b); - } - } - } - - void isWritable (SelectionKey k) { - EventableChannel ec = (EventableChannel) k.attachment(); - long b = ec.getBinding(); - - if (ec.isWatchOnly()) { - if (ec.isNotifyWritable()) - eventCallback (b, EM_CONNECTION_NOTIFY_WRITABLE, null); - } - else { - try { - if (!ec.writeOutboundData()) - UnboundConnections.add (b); - } catch (IOException e) { - UnboundConnections.add (b); - } - } - } - - void isConnectable (SelectionKey k) { - EventableSocketChannel ec = (EventableSocketChannel) k.attachment(); - long b = ec.getBinding(); - - try { - if (ec.finishConnecting()) - eventCallback (b, EM_CONNECTION_COMPLETED, null); - else - UnboundConnections.add (b); - } catch (IOException e) { - UnboundConnections.add (b); - } - } - - void close() { - try { - if (mySelector != null) - mySelector.close(); - } catch (IOException e) {} - mySelector = null; - - // run down open connections and sockets. - Iterator i = Acceptors.values().iterator(); - while (i.hasNext()) { - try { - i.next().close(); - } catch (IOException e) {} - } - - // 29Sep09: We create an ArrayList of the existing connections, then iterate over - // that to call unbind on them. This is because an unbind can trigger a reconnect, - // which will add to the Connections HashMap, causing a ConcurrentModificationException. - // XXX: The correct behavior here would be to latch the various reactor methods to return - // immediately if the reactor is shutting down. - ArrayList conns = new ArrayList(); - Iterator i2 = Connections.values().iterator(); - while (i2.hasNext()) { - EventableChannel ec = i2.next(); - if (ec != null) { - conns.add (ec); - } - } - Connections.clear(); - - ListIterator i3 = conns.listIterator(0); - while (i3.hasNext()) { - EventableChannel ec = i3.next(); - eventCallback (ec.getBinding(), EM_CONNECTION_UNBOUND, null); - ec.close(); - - EventableSocketChannel sc = (EventableSocketChannel) ec; - if (sc != null && sc.isAttached()) - DetachedConnections.add (sc); - } - - ListIterator i4 = DetachedConnections.listIterator(0); - while (i4.hasNext()) { - EventableSocketChannel ec = i4.next(); - ec.cleanup(); - } - DetachedConnections.clear(); - } - - void runLoopbreaks() { - if (loopBreaker.getAndSet(false)) { - eventCallback (0, EM_LOOPBREAK_SIGNAL, null); - } - } - - public void stop() { - bRunReactor = false; - signalLoopbreak(); - } - - void runTimers() { - long now = new Date().getTime(); - while (!Timers.isEmpty()) { - long k = Timers.firstKey(); - if (k > now) - break; - - ArrayList callbacks = Timers.get(k); - Timers.remove(k); - - // Fire all timers at this timestamp - ListIterator iter = callbacks.listIterator(0); - while (iter.hasNext()) { - eventCallback (0, EM_TIMER_FIRED, null, iter.next().longValue()); - } - } - } - - public long installOneshotTimer (long milliseconds) { - long s = createBinding(); - long deadline = new Date().getTime() + milliseconds; - - if (Timers.containsKey(deadline)) { - Timers.get(deadline).add(s); - } else { - ArrayList callbacks = new ArrayList(); - callbacks.add(s); - Timers.put(deadline, callbacks); - } - - return s; - } - - public long startTcpServer (SocketAddress sa) throws EmReactorException { - try { - ServerSocketChannel server = ServerSocketChannel.open(); - server.configureBlocking(false); - server.socket().bind (sa); - long s = createBinding(); - Acceptors.put(s, server); - server.register(mySelector, SelectionKey.OP_ACCEPT, s); - return s; - } catch (IOException e) { - throw new EmReactorException ("unable to open socket acceptor: " + e.toString()); - } - } - - public long startTcpServer (String address, int port) throws EmReactorException { - return startTcpServer (new InetSocketAddress (address, port)); - } - - public void stopTcpServer (long signature) throws IOException { - ServerSocketChannel server = Acceptors.remove(signature); - if (server != null) - server.close(); - else - throw new RuntimeException ("failed to close unknown acceptor"); - } - - public long openUdpSocket (InetSocketAddress address) throws IOException { - // TODO, don't throw an exception out of here. - DatagramChannel dg = DatagramChannel.open(); - dg.configureBlocking(false); - dg.socket().bind(address); - long b = createBinding(); - EventableChannel ec = new EventableDatagramChannel (dg, b, mySelector); - dg.register(mySelector, SelectionKey.OP_READ, ec); - Connections.put(b, ec); - return b; - } - - public long openUdpSocket (String address, int port) throws IOException { - return openUdpSocket (new InetSocketAddress (address, port)); - } - - public void sendData (long sig, ByteBuffer bb) throws IOException { - Connections.get(sig).scheduleOutboundData( bb ); - } - - public void sendData (long sig, byte[] data) throws IOException { - sendData (sig, ByteBuffer.wrap(data)); - } - - public void setCommInactivityTimeout (long sig, long mills) { - Connections.get(sig).setCommInactivityTimeout (mills); - } - - public void sendDatagram (long sig, byte[] data, int length, String recipAddress, int recipPort) { - sendDatagram (sig, ByteBuffer.wrap(data), recipAddress, recipPort); - } - - public void sendDatagram (long sig, ByteBuffer bb, String recipAddress, int recipPort) { - (Connections.get(sig)).scheduleOutboundDatagram( bb, recipAddress, recipPort); - } - - public long connectTcpServer (String address, int port) { - return connectTcpServer(null, 0, address, port); - } - - public long connectTcpServer (String bindAddr, int bindPort, String address, int port) { - long b = createBinding(); - - try { - SocketChannel sc = SocketChannel.open(); - sc.configureBlocking(false); - if (bindAddr != null) - sc.socket().bind(new InetSocketAddress (bindAddr, bindPort)); - - EventableSocketChannel ec = new EventableSocketChannel (sc, b, mySelector); - - if (sc.connect (new InetSocketAddress (address, port))) { - // Connection returned immediately. Can happen with localhost connections. - // WARNING, this code is untested due to lack of available test conditions. - // Ought to be be able to come here from a localhost connection, but that - // doesn't happen on Linux. (Maybe on FreeBSD?) - // The reason for not handling this until we can test it is that we - // really need to return from this function WITHOUT triggering any EM events. - // That's because until the user code has seen the signature we generated here, - // it won't be able to properly dispatch them. The C++ EM deals with this - // by setting pending mode as a flag in ALL eventable descriptors and making - // the descriptor select for writable. Then, it can send UNBOUND and - // CONNECTION_COMPLETED on the next pass through the loop, because writable will - // fire. - throw new RuntimeException ("immediate-connect unimplemented"); - } - else { - ec.setConnectPending(); - Connections.put (b, ec); - NewConnections.add (b); - } - } catch (IOException e) { - // Can theoretically come here if a connect failure can be determined immediately. - // I don't know how to make that happen for testing purposes. - throw new RuntimeException ("immediate-connect unimplemented: " + e.toString()); - } - return b; - } - - public void closeConnection (long sig, boolean afterWriting) { - EventableChannel ec = Connections.get(sig); - if (ec != null) - if (ec.scheduleClose (afterWriting)) - UnboundConnections.add (sig); - } - - long createBinding() { - return ++BindingIndex; - } - - public void signalLoopbreak() { - loopBreaker.set(true); - if (mySelector != null) - mySelector.wakeup(); - } - - public void startTls (long sig) throws NoSuchAlgorithmException, KeyManagementException { - Connections.get(sig).startTls(); - } - - public void setTimerQuantum (int mills) { - if (mills < 5 || mills > 2500) - throw new RuntimeException ("attempt to set invalid timer-quantum value: "+mills); - timerQuantum = mills; - } - - public Object[] getPeerName (long sig) { - EventableChannel channel = Connections.get(sig); - if (channel != null) { - return Connections.get(sig).getPeerName(); - } - else { - ServerSocketChannel acceptor = Acceptors.get(sig); - return new Object[] { acceptor.socket().getLocalPort(), - acceptor.socket().getInetAddress().getHostAddress() }; - } - } - - public Object[] getSockName (long sig) { - EventableChannel channel = Connections.get(sig); - if (channel != null) { - return Connections.get(sig).getSockName(); - } - else { - ServerSocketChannel acceptor = Acceptors.get(sig); - return new Object[] { acceptor.socket().getLocalPort(), - acceptor.socket().getInetAddress().getHostAddress() }; - } - } - - public long attachChannel (SocketChannel sc, boolean watch_mode) { - long b = createBinding(); - - EventableSocketChannel ec = new EventableSocketChannel (sc, b, mySelector); - - ec.setAttached(); - if (watch_mode) - ec.setWatchOnly(); - - Connections.put (b, ec); - NewConnections.add (b); - - return b; - } - - public SocketChannel detachChannel (long sig) { - EventableSocketChannel ec = (EventableSocketChannel) Connections.get (sig); - if (ec != null) { - UnboundConnections.add (sig); - return ec.getChannel(); - } else { - return null; - } - } - - public void setNotifyReadable (long sig, boolean mode) { - ((EventableSocketChannel) Connections.get(sig)).setNotifyReadable(mode); - } - - public void setNotifyWritable (long sig, boolean mode) { - ((EventableSocketChannel) Connections.get(sig)).setNotifyWritable(mode); - } - - public boolean isNotifyReadable (long sig) { - return Connections.get(sig).isNotifyReadable(); - } - - public boolean isNotifyWritable (long sig) { - return Connections.get(sig).isNotifyWritable(); - } - - public boolean pauseConnection (long sig) { - return ((EventableSocketChannel) Connections.get(sig)).pause(); - } - - public boolean resumeConnection (long sig) { - return ((EventableSocketChannel) Connections.get(sig)).resume(); - } - - public boolean isConnectionPaused (long sig) { - return ((EventableSocketChannel) Connections.get(sig)).isPaused(); - } - - public long getOutboundDataSize (long sig) { - return Connections.get(sig).getOutboundDataSize(); - } - - public int getConnectionCount() { - return Connections.size() + Acceptors.size(); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EmReactorException.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EmReactorException.java deleted file mode 100644 index 69efaa3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EmReactorException.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * $Id$ - * - * Author:: Francis Cianfrocca (gmail: blackhedd) - * Homepage:: http://rubyeventmachine.com - * Date:: 15 Jul 2007 - * - * See EventMachine and EventMachine::Connection for documentation and - * usage examples. - * - * - *---------------------------------------------------------------------------- - * - * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. - * Gmail: blackhedd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of either: 1) the GNU General Public License - * as published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version; or 2) Ruby's License. - * - * See the file COPYING for complete licensing information. - * - *--------------------------------------------------------------------------- - * - * - */ - -package com.rubyeventmachine; - -/** - * @author francis - * - */ -public class EmReactorException extends Exception { - static final long serialVersionUID = 0; - public EmReactorException (String msg) { - super (msg); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableChannel.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableChannel.java deleted file mode 100644 index 3d4f5fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableChannel.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * $Id$ - * - * Author:: Francis Cianfrocca (gmail: blackhedd) - * Homepage:: http://rubyeventmachine.com - * Date:: 15 Jul 2007 - * - * See EventMachine and EventMachine::Connection for documentation and - * usage examples. - * - * - *---------------------------------------------------------------------------- - * - * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. - * Gmail: blackhedd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of either: 1) the GNU General Public License - * as published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version; or 2) Ruby's License. - * - * See the file COPYING for complete licensing information. - * - *--------------------------------------------------------------------------- - * - * - */ - - -package com.rubyeventmachine; - -import java.nio.ByteBuffer; -import java.io.IOException; -import java.nio.channels.ClosedChannelException; - -public interface EventableChannel { - - public void scheduleOutboundData (ByteBuffer bb); - - public void scheduleOutboundDatagram (ByteBuffer bb, String recipAddress, int recipPort); - - public boolean scheduleClose (boolean afterWriting); - - public void startTls(); - - public long getBinding(); - - public void readInboundData (ByteBuffer dst) throws IOException; - - public void register() throws ClosedChannelException; - - /** - * This is called by the reactor after it finishes running. - * The idea is to free network resources. - */ - public void close(); - - public boolean writeOutboundData() throws IOException; - - public long getOutboundDataSize(); - - public void setCommInactivityTimeout (long seconds); - - public Object[] getPeerName(); - public Object[] getSockName(); - - public boolean isWatchOnly(); - - public boolean isNotifyReadable(); - public boolean isNotifyWritable(); - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableDatagramChannel.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableDatagramChannel.java deleted file mode 100644 index df1c9fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableDatagramChannel.java +++ /dev/null @@ -1,201 +0,0 @@ -/** - * $Id$ - * - * Author:: Francis Cianfrocca (gmail: blackhedd) - * Homepage:: http://rubyeventmachine.com - * Date:: 15 Jul 2007 - * - * See EventMachine and EventMachine::Connection for documentation and - * usage examples. - * - * - *---------------------------------------------------------------------------- - * - * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. - * Gmail: blackhedd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of either: 1) the GNU General Public License - * as published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version; or 2) Ruby's License. - * - * See the file COPYING for complete licensing information. - * - *--------------------------------------------------------------------------- - * - * - */ - - -package com.rubyeventmachine; - -import java.nio.ByteBuffer; -import java.nio.channels.ClosedChannelException; -import java.nio.channels.SelectionKey; -import java.nio.channels.Selector; -import java.nio.channels.DatagramChannel; -import java.util.LinkedList; -import java.io.*; -import java.net.*; - -public class EventableDatagramChannel implements EventableChannel { - - class Packet { - public ByteBuffer bb; - public SocketAddress recipient; - public Packet (ByteBuffer _bb, SocketAddress _recipient) { - bb = _bb; - recipient = _recipient; - } - } - - DatagramChannel channel; - long binding; - Selector selector; - boolean bCloseScheduled; - LinkedList outboundQ; - long outboundS; - SocketAddress returnAddress; - - - public EventableDatagramChannel (DatagramChannel dc, long _binding, Selector sel) throws ClosedChannelException { - channel = dc; - binding = _binding; - selector = sel; - bCloseScheduled = false; - outboundQ = new LinkedList(); - outboundS = 0; - - dc.register(selector, SelectionKey.OP_READ, this); - } - - public void scheduleOutboundData (ByteBuffer bb) { - try { - if ((!bCloseScheduled) && (bb.remaining() > 0)) { - outboundQ.addLast(new Packet(bb, returnAddress)); - outboundS += bb.remaining(); - channel.register(selector, SelectionKey.OP_WRITE | SelectionKey.OP_READ, this); - } - } catch (ClosedChannelException e) { - throw new RuntimeException ("no outbound data"); - } - } - - public void scheduleOutboundDatagram (ByteBuffer bb, String recipAddress, int recipPort) { - try { - if ((!bCloseScheduled) && (bb.remaining() > 0)) { - outboundQ.addLast(new Packet (bb, new InetSocketAddress (recipAddress, recipPort))); - outboundS += bb.remaining(); - channel.register(selector, SelectionKey.OP_WRITE | SelectionKey.OP_READ, this); - } - } catch (ClosedChannelException e) { - throw new RuntimeException ("no outbound data"); - } - } - - public boolean scheduleClose (boolean afterWriting) { - System.out.println ("NOT SCHEDULING CLOSE ON DATAGRAM"); - return false; - } - - public void startTls() { - throw new RuntimeException ("TLS is unimplemented on this Channel"); - } - - public long getBinding() { - return binding; - } - - public void register() throws ClosedChannelException { - // TODO - } - - /** - * Terminate with extreme prejudice. Don't assume there will be another pass through - * the reactor core. - */ - public void close() { - try { - channel.close(); - } catch (IOException e) { - } - } - - public void readInboundData (ByteBuffer dst) { - returnAddress = null; - try { - // If there is no datagram available (we're nonblocking after all), - // then channel.receive returns null. - returnAddress = channel.receive(dst); - } catch (IOException e) { - // probably a no-op. The caller will see the empty (or even partial) buffer - // and presumably do the right thing. - } - } - - public boolean writeOutboundData() { - while (!outboundQ.isEmpty()) { - Packet p = outboundQ.getFirst(); - int written = 0; - try { - // With a datagram socket, it's ok to send an empty buffer. - written = channel.send(p.bb, p.recipient); - outboundS -= written; - } - catch (IOException e) { - return false; - } - - /* Did we consume the whole outbound buffer? If yes, pop it off and - * keep looping. If no, the outbound network buffers are full, so break - * out of here. There's a flaw that affects outbound buffers that are intentionally - * empty. We can tell whether they got sent or not. So we assume they were. - * TODO: As implemented, this ALWAYS discards packets if they were at least - * partially written. This matches the behavior of the C++ EM. My judgment - * is that this is less surprising than fragmenting the data and sending multiple - * packets would be. I could be wrong, so this is subject to change. - */ - - if ((written > 0) || (p.bb.remaining() == 0)) - outboundQ.removeFirst(); - else - break; - } - - if (outboundQ.isEmpty()) { - try { - channel.register(selector, SelectionKey.OP_READ, this); - } catch (ClosedChannelException e) {} - } - - // ALWAYS drain the outbound queue before triggering a connection close. - // If anyone wants to close immediately, they're responsible for clearing - // the outbound queue. - return (bCloseScheduled && outboundQ.isEmpty()) ? false : true; - } - - public void setCommInactivityTimeout (long seconds) { - // TODO - System.out.println ("DATAGRAM: SET COMM INACTIVITY UNIMPLEMENTED " + seconds); - } - - public Object[] getPeerName () { - if (returnAddress != null) { - InetSocketAddress inetAddr = (InetSocketAddress) returnAddress; - return new Object[]{ inetAddr.getPort(), inetAddr.getHostName() }; - } else { - return null; - } - } - - public Object[] getSockName () { - DatagramSocket socket = channel.socket(); - return new Object[]{ socket.getLocalPort(), - socket.getLocalAddress().getHostAddress() }; - } - - public boolean isWatchOnly() { return false; } - public boolean isNotifyReadable() { return false; } - public boolean isNotifyWritable() { return false; } - public long getOutboundDataSize() { return outboundS; } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableSocketChannel.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableSocketChannel.java deleted file mode 100644 index 2905ec6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/java/src/com/rubyeventmachine/EventableSocketChannel.java +++ /dev/null @@ -1,415 +0,0 @@ -/** - * $Id$ - * - * Author:: Francis Cianfrocca (gmail: blackhedd) - * Homepage:: http://rubyeventmachine.com - * Date:: 15 Jul 2007 - * - * See EventMachine and EventMachine::Connection for documentation and - * usage examples. - * - * - *---------------------------------------------------------------------------- - * - * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved. - * Gmail: blackhedd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of either: 1) the GNU General Public License - * as published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version; or 2) Ruby's License. - * - * See the file COPYING for complete licensing information. - * - *--------------------------------------------------------------------------- - * - * - */ - -/** - * - */ -package com.rubyeventmachine; - -/** - * @author francis - * - */ - -import java.nio.channels.*; -import java.nio.*; -import java.util.*; -import java.io.*; -import java.net.Socket; -import javax.net.ssl.*; -import javax.net.ssl.SSLEngineResult.*; -import java.lang.reflect.Field; - -import java.security.*; - -public class EventableSocketChannel implements EventableChannel { - Selector selector; - SelectionKey channelKey; - SocketChannel channel; - - long binding; - LinkedList outboundQ; - long outboundS; - - boolean bCloseScheduled; - boolean bConnectPending; - boolean bWatchOnly; - boolean bAttached; - boolean bNotifyReadable; - boolean bNotifyWritable; - boolean bPaused; - - SSLEngine sslEngine; - SSLContext sslContext; - - public EventableSocketChannel (SocketChannel sc, long _binding, Selector sel) { - channel = sc; - binding = _binding; - selector = sel; - bCloseScheduled = false; - bConnectPending = false; - bWatchOnly = false; - bAttached = false; - bNotifyReadable = false; - bNotifyWritable = false; - outboundQ = new LinkedList(); - outboundS = 0; - } - - public long getBinding() { - return binding; - } - - public SocketChannel getChannel() { - return channel; - } - - public void register() throws ClosedChannelException { - if (channelKey == null) { - int events = currentEvents(); - channelKey = channel.register(selector, events, this); - } - } - - /** - * Terminate with extreme prejudice. Don't assume there will be another pass through - * the reactor core. - */ - public void close() { - if (channelKey != null) { - channelKey.cancel(); - channelKey = null; - } - - if (bAttached) { - // attached channels are copies, so reset the file descriptor to prevent java from close()ing it - Field f; - FileDescriptor fd; - - try { - /* do _NOT_ clobber fdVal here, it will break epoll/kqueue on jdk6! - * channelKey.cancel() above does not occur until the next call to select - * and if fdVal is gone, we will continue to get events for this fd. - * - * instead, remove fdVal in cleanup(), which is processed via DetachedConnections, - * after UnboundConnections but before NewConnections. - */ - - f = channel.getClass().getDeclaredField("fd"); - f.setAccessible(true); - fd = (FileDescriptor) f.get(channel); - - f = fd.getClass().getDeclaredField("fd"); - f.setAccessible(true); - f.set(fd, -1); - } catch (java.lang.NoSuchFieldException e) { - e.printStackTrace(); - } catch (java.lang.IllegalAccessException e) { - e.printStackTrace(); - } - - return; - } - - try { - channel.close(); - } catch (IOException e) { - } - } - - public void cleanup() { - if (bAttached) { - Field f; - try { - f = channel.getClass().getDeclaredField("fdVal"); - f.setAccessible(true); - f.set(channel, -1); - } catch (java.lang.NoSuchFieldException e) { - e.printStackTrace(); - } catch (java.lang.IllegalAccessException e) { - e.printStackTrace(); - } - } - - channel = null; - } - - public void scheduleOutboundData (ByteBuffer bb) { - if (!bCloseScheduled && bb.remaining() > 0) { - if (sslEngine != null) { - try { - ByteBuffer b = ByteBuffer.allocate(32*1024); // TODO, preallocate this buffer. - sslEngine.wrap(bb, b); - b.flip(); - outboundQ.addLast(b); - outboundS += b.remaining(); - } catch (SSLException e) { - throw new RuntimeException ("ssl error"); - } - } - else { - outboundQ.addLast(bb); - outboundS += bb.remaining(); - } - - updateEvents(); - } - } - - public void scheduleOutboundDatagram (ByteBuffer bb, String recipAddress, int recipPort) { - throw new RuntimeException ("datagram sends not supported on this channel"); - } - - /** - * Called by the reactor when we have selected readable. - */ - public void readInboundData (ByteBuffer bb) throws IOException { - if (channel.read(bb) == -1) - throw new IOException ("eof"); - } - - public long getOutboundDataSize() { return outboundS; } - - /** - * Called by the reactor when we have selected writable. - * Return false to indicate an error that should cause the connection to close. - * TODO, VERY IMPORTANT: we're here because we selected writable, but it's always - * possible to become unwritable between the poll and when we get here. The way - * this code is written, we're depending on a nonblocking write NOT TO CONSUME - * the whole outbound buffer in this case, rather than firing an exception. - * We should somehow verify that this is indeed Java's defined behavior. - * @return - */ - public boolean writeOutboundData() throws IOException { - ByteBuffer[] bufs = new ByteBuffer[64]; - int i; - long written, toWrite; - while (!outboundQ.isEmpty()) { - i = 0; - toWrite = 0; - written = 0; - while (i < 64 && !outboundQ.isEmpty()) { - bufs[i] = outboundQ.removeFirst(); - toWrite += bufs[i].remaining(); - i++; - } - if (toWrite > 0) - written = channel.write(bufs, 0, i); - - outboundS -= written; - // Did we consume the whole outbound buffer? If yes, - // pop it off and keep looping. If no, the outbound network - // buffers are full, so break out of here. - if (written < toWrite) { - while (i > 0 && bufs[i-1].remaining() > 0) { - outboundQ.addFirst(bufs[i-1]); - i--; - } - break; - } - } - - if (outboundQ.isEmpty() && !bCloseScheduled) { - updateEvents(); - } - - // ALWAYS drain the outbound queue before triggering a connection close. - // If anyone wants to close immediately, they're responsible for clearing - // the outbound queue. - return (bCloseScheduled && outboundQ.isEmpty()) ? false : true; - } - - public void setConnectPending() { - bConnectPending = true; - updateEvents(); - } - - /** - * Called by the reactor when we have selected connectable. - * Return false to indicate an error that should cause the connection to close. - */ - public boolean finishConnecting() throws IOException { - channel.finishConnect(); - - bConnectPending = false; - updateEvents(); - return true; - } - - public boolean scheduleClose (boolean afterWriting) { - // TODO: What the hell happens here if bConnectPending is set? - if (!afterWriting) { - outboundQ.clear(); - outboundS = 0; - } - - if (outboundQ.isEmpty()) - return true; - else { - updateEvents(); - bCloseScheduled = true; - return false; - } - } - - public void startTls() { - if (sslEngine == null) { - try { - sslContext = SSLContext.getInstance("TLS"); - sslContext.init(null, null, null); // TODO, fill in the parameters. - sslEngine = sslContext.createSSLEngine(); // TODO, should use the parameterized version, to get Kerb stuff and session re-use. - sslEngine.setUseClientMode(false); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException ("unable to start TLS"); // TODO, get rid of this. - } catch (KeyManagementException e) { - throw new RuntimeException ("unable to start TLS"); // TODO, get rid of this. - } - } - System.out.println ("Starting TLS"); - } - - public ByteBuffer dispatchInboundData (ByteBuffer bb) throws SSLException { - if (sslEngine != null) { - if (true) throw new RuntimeException ("TLS currently unimplemented"); - System.setProperty("javax.net.debug", "all"); - ByteBuffer w = ByteBuffer.allocate(32*1024); // TODO, WRONG, preallocate this buffer. - SSLEngineResult res = sslEngine.unwrap(bb, w); - if (res.getHandshakeStatus() == HandshakeStatus.NEED_TASK) { - Runnable r; - while ((r = sslEngine.getDelegatedTask()) != null) { - r.run(); - } - } - System.out.println (bb); - w.flip(); - return w; - } - else - return bb; - } - - public void setCommInactivityTimeout (long seconds) { - // TODO - System.out.println ("SOCKET: SET COMM INACTIVITY UNIMPLEMENTED " + seconds); - } - - public Object[] getPeerName () { - Socket sock = channel.socket(); - return new Object[]{ sock.getPort(), sock.getInetAddress().getHostAddress() }; - } - - public Object[] getSockName () { - Socket sock = channel.socket(); - return new Object[]{ sock.getLocalPort(), - sock.getLocalAddress().getHostAddress() }; - } - - public void setWatchOnly() { - bWatchOnly = true; - updateEvents(); - } - public boolean isWatchOnly() { return bWatchOnly; } - - public void setAttached() { - bAttached = true; - } - public boolean isAttached() { return bAttached; } - - public void setNotifyReadable (boolean mode) { - bNotifyReadable = mode; - updateEvents(); - } - public boolean isNotifyReadable() { return bNotifyReadable; } - - public void setNotifyWritable (boolean mode) { - bNotifyWritable = mode; - updateEvents(); - } - public boolean isNotifyWritable() { return bNotifyWritable; } - - public boolean pause() { - if (bWatchOnly) { - throw new RuntimeException ("cannot pause/resume 'watch only' connections, set notify readable/writable instead"); - } - boolean old = bPaused; - bPaused = true; - updateEvents(); - return !old; - } - - public boolean resume() { - if (bWatchOnly) { - throw new RuntimeException ("cannot pause/resume 'watch only' connections, set notify readable/writable instead"); - } - boolean old = bPaused; - bPaused = false; - updateEvents(); - return old; - } - - public boolean isPaused() { - return bPaused; - } - - private void updateEvents() { - if (channelKey == null) - return; - - int events = currentEvents(); - - if (channelKey.interestOps() != events) { - channelKey.interestOps(events); - } - } - - private int currentEvents() { - int events = 0; - - if (bWatchOnly) - { - if (bNotifyReadable) - events |= SelectionKey.OP_READ; - - if (bNotifyWritable) - events |= SelectionKey.OP_WRITE; - } - else if (!bPaused) - { - if (bConnectPending) - events |= SelectionKey.OP_CONNECT; - else { - events |= SelectionKey.OP_READ; - - if (!outboundQ.isEmpty()) - events |= SelectionKey.OP_WRITE; - } - } - - return events; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/package.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/package.rake deleted file mode 100644 index 00419d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/package.rake +++ /dev/null @@ -1,120 +0,0 @@ -require 'rubygems' -require 'rubygems/package_task' - -begin - require 'rake/extensiontask' - require 'rake/javaextensiontask' -rescue LoadError => e - puts <<-MSG -rake-compiler gem seems to be missing. Please install it with - - gem install rake-compiler - -(add sudo if necessary). - MSG -end - -Gem::PackageTask.new(GEMSPEC) do |pkg| -end - -if RUBY_PLATFORM =~ /java/ - Rake::JavaExtensionTask.new("rubyeventmachine", GEMSPEC) do |ext| - ext.ext_dir = 'java/src' - end -else - def setup_cross_compilation(ext) - unless RUBY_PLATFORM =~ /mswin|mingw/ - ext.cross_compile = true - ext.cross_platform = ['x86-mingw32', 'x64-mingw32'] - end - end - def hack_cross_compilation(ext) - # inject 1.8/1.9 pure-ruby entry point - # HACK: add these dependencies to the task instead of using cross_compiling - if ext.cross_platform.is_a?(Array) - ext.cross_platform.each do |platform| - task = "native:#{GEMSPEC.name}:#{platform}" - if Rake::Task.task_defined?(task) - Rake::Task[task].prerequisites.unshift "lib/#{ext.name}.rb" - end - end - end - end - - em = Rake::ExtensionTask.new("rubyeventmachine", GEMSPEC) do |ext| - ext.ext_dir = 'ext' - ext.source_pattern = '*.{h,c,cpp}' - setup_cross_compilation(ext) - end - hack_cross_compilation em - - ff = Rake::ExtensionTask.new("fastfilereaderext", GEMSPEC) do |ext| - ext.ext_dir = 'ext/fastfilereader' - ext.source_pattern = '*.{h,c,cpp}' - setup_cross_compilation(ext) - end - hack_cross_compilation ff -end - -# Setup shim files that require 1.8 vs 1.9 extensions in win32 bin gems -%w[ rubyeventmachine fastfilereaderext ].each do |filename| - file("lib/#{filename}.rb") do |t| - File.open(t.name, 'wb') do |f| - f.write <<-eoruby - RUBY_VERSION =~ /(\\d+.\\d+)/ - require "\#{$1}/#{File.basename(t.name, '.rb')}" - eoruby - end - at_exit{ FileUtils.rm t.name if File.exist?(t.name) } - end -end - -task :cross_cxx do - ENV['CROSS_COMPILING'] = 'yes' - require 'rake/extensioncompiler' - ENV['CXX'] = "#{Rake::ExtensionCompiler.mingw_host}-g++" -end - -if Rake::Task.task_defined?(:cross) - task :cross => 'lib/rubyeventmachine.rb' - task :cross => 'lib/fastfilereaderext.rb' - task :cross => :cross_cxx -end - -def windows?; RUBY_PLATFORM =~ /mswin|mingw/; end -def sudo(cmd) - if windows? || (require 'etc'; Etc.getpwuid.uid == 0) - sh cmd - else - sh "sudo #{cmd}" - end -end -def gem_cmd(action, name, *args) - rb = Gem.ruby rescue nil - rb ||= (require 'rbconfig'; File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])) - sudo "#{rb} -r rubygems -e 'require %{rubygems/gem_runner}; Gem::GemRunner.new.run(%w{#{action} #{name} #{args.join(' ')}})'" -end - -Rake::Task[:clean].enhance [:clobber_package] - -# DevKit task following the example of Luis Lavena's test-ruby-c-extension -task :devkit do - begin - require "devkit" - rescue LoadError => e - abort "Failed to activate RubyInstaller's DevKit required for compilation." - end -end - -if RUBY_PLATFORM =~ /mingw|mswin/ - Rake::Task['compile'].prerequisites.unshift 'devkit' -end - -desc "Build binary gems for Windows with rake-compiler-dock" -task 'gem:windows' do - require 'rake_compiler_dock' - RakeCompilerDock.sh <<-EOT - RUBY_CC_VERSION="${RUBY_CC_VERSION//1.8.7/}" - bundle && rake cross native gem - EOT -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/test.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/test.rake deleted file mode 100644 index 1185ac7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/test.rake +++ /dev/null @@ -1,8 +0,0 @@ -require 'rake/testtask' - -Rake::TestTask.new(:test) do |t| - t.libs << "tests" - t.libs << "lib" - t.pattern = 'tests/**/test_*.rb' - t.warning = true -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/test_pure.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/test_pure.rake deleted file mode 100644 index 5a84ded..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/rakelib/test_pure.rake +++ /dev/null @@ -1,13 +0,0 @@ -require 'rake/testtask' - -Rake::TestTask.new(:test_pure) do |t| - t.libs << 'tests' - t.libs << 'lib' - t.test_files = Dir.glob('tests/**/test_pure*.rb') + Dir.glob('tests/**/test_ssl*.rb') - t.warning = true -end - -task :test_em_pure_ruby do - ENV['EM_PURE_RUBY'] = 'true' - Rake::Task['test_pure'].execute -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/client.crt b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/client.crt deleted file mode 100644 index 1919d97..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/client.crt +++ /dev/null @@ -1,31 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFRDCCAywCAQEwDQYJKoZIhvcNAQEFBQAwaDELMAkGA1UEBhMCRU0xFTATBgNV -BAgTDEV2ZW50TWFjaGluZTEVMBMGA1UEChMMRXZlbnRNYWNoaW5lMRQwEgYDVQQL -EwtEZXZlbG9wbWVudDEVMBMGA1UEAxMMRXZlbnRNYWNoaW5lMB4XDTA5MDMyOTAy -MzE0NloXDTEwMDMyOTAyMzE0NlowaDELMAkGA1UEBhMCRU0xFTATBgNVBAgTDEV2 -ZW50TWFjaGluZTEVMBMGA1UEChMMRXZlbnRNYWNoaW5lMRQwEgYDVQQLEwtEZXZl -bG9wbWVudDEVMBMGA1UEAxMMRXZlbnRNYWNoaW5lMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEAv1FSOIX1z7CQtVBFlrB0A3/V29T+22STKKmiRWYkKL5b -+hkrp9IZ5J4phZHgUVM2VDPOO2Oc2PU6dlGGZISg+UPERunTogxQKezCV0vcE9cK -OwzxCFDRvv5rK8aKMscfBLbNKocAXywuRRQmdxPiVRzbyPrl+qCr/EDLXAX3D77l -S8n2AwDg19VyI+IgFUE+Dy5e1eLoY6nV+Mq+vNXdn3ttF3t+ngac5pj5Q9h+pD5p -67baDHSnf/7cy2fa/LKrLolVHQR9G2K6cEfeM99NtcsMbkoPs4iI3FA05OVTQHXg -C8C8cRxrb9APl95I/ep65OIaCJgcdYxJ3QD3qOtQo6/NQsGnjbyiUxaEpjfqyT1N -uzWD81Q8uXGNS8yD6dDynt/lseBjyp2nfC3uQ5fY18VdIcu0MJ9pezBUKrNuhlsy -XXEZ2DXj4sY8QOvIcBqSB/zmS1nGEK55xrtkaiaNrY8fe8wRVpcPLxy+P225NFw+ -B69FJRA0Lj6Jt9BM4hV/3MSIEWwTVhuw4E02ywDYTzz1wq3ITf0tsbIPn0hXQMxD -ohhAoKioM6u+yHtqsxD0eYaAWmHTVn5oDvOSGpvCpBfWHyA7FP5UQak0fKABEAgK -iQYEnb294AXwXymJttfGTIV/Ne4tLN5dIpNma8UO8rlThlcr6xnTQDbR3gkTDRsC -AwEAATANBgkqhkiG9w0BAQUFAAOCAgEAj7J8fy1LUWoVWnrXDAC9jwJ1nI/YjoSU -6ywke3o04+nZC5S+dPnuVy+HAwsU940CoNvP6RStI/bH6JL+NIqEFmwM3M8xIEWV -MYVPkfvQUxxGvDnaY7vv93u+6Q77HV3qlhAQBHChyuXyO7TG3+WzsiT9AnBNtAP0 -4jClt5kCAQXLO/p0SFEZQ8Ru9SM8d1i73Z0VDVzs8jYWlBhiherSgbw1xK4wBOpJ -43XmjZsBSrDpiAXd07Ak3UL2GjfT7eStgebL3UIe39ThE/s/+l43bh0M6WbOBvyQ -i/rZ50kd1GvN0xnZhtv07hIJWO85FGWi7Oet8AzdUZJ17v1Md/f2vdhPVTFN9q+w -mQ6LxjackqCvaJaQfBEbqsn2Tklxk4tZuDioiQbOElT2e6vljQVJWIfNx38Ny2LM -aiXQPQu+4CI7meAh5gXM5nyJGbZvRPsxj89CqYzyHCYs5HBP3AsviBvn26ziOF+c -544VmHd9HkIv8UTC29hh+R64RlgMQQQdaXFaUrFPTs/do0k8n/c2bPc0iTdfi5Q2 -gq6Vi8q6Ay5wGgTtRRbn/mWKuCFjEh94z6pF9Xr06NX0PuEOdf+Ls9vI5vz6G0w6 -0Li7devEN7EKBY+7Mcjg918yq9i5tEiMkUgT68788t3fTC+4iUQ5fDtdrHsaOlIR -8bs/XQVNE/s= ------END CERTIFICATE----- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/client.key b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/client.key deleted file mode 100644 index 87a2531..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/client.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKAIBAAKCAgEAv1FSOIX1z7CQtVBFlrB0A3/V29T+22STKKmiRWYkKL5b+hkr -p9IZ5J4phZHgUVM2VDPOO2Oc2PU6dlGGZISg+UPERunTogxQKezCV0vcE9cKOwzx -CFDRvv5rK8aKMscfBLbNKocAXywuRRQmdxPiVRzbyPrl+qCr/EDLXAX3D77lS8n2 -AwDg19VyI+IgFUE+Dy5e1eLoY6nV+Mq+vNXdn3ttF3t+ngac5pj5Q9h+pD5p67ba -DHSnf/7cy2fa/LKrLolVHQR9G2K6cEfeM99NtcsMbkoPs4iI3FA05OVTQHXgC8C8 -cRxrb9APl95I/ep65OIaCJgcdYxJ3QD3qOtQo6/NQsGnjbyiUxaEpjfqyT1NuzWD -81Q8uXGNS8yD6dDynt/lseBjyp2nfC3uQ5fY18VdIcu0MJ9pezBUKrNuhlsyXXEZ -2DXj4sY8QOvIcBqSB/zmS1nGEK55xrtkaiaNrY8fe8wRVpcPLxy+P225NFw+B69F -JRA0Lj6Jt9BM4hV/3MSIEWwTVhuw4E02ywDYTzz1wq3ITf0tsbIPn0hXQMxDohhA -oKioM6u+yHtqsxD0eYaAWmHTVn5oDvOSGpvCpBfWHyA7FP5UQak0fKABEAgKiQYE -nb294AXwXymJttfGTIV/Ne4tLN5dIpNma8UO8rlThlcr6xnTQDbR3gkTDRsCAwEA -AQKCAgB495RDRQB9x6hX3F+DviI8rDGug+h5FAiwJ0IBG2o1kNdbNVsTC5dvpEmg -uPHaugCaEP+PMZbU34mNklKlb+7QbPbH18UGqz5so9TlmYOXz9oaKD6nAWL9nqRo -02pCXQDR3DuxbhbgFnFTIECJ/jqXkl2toGaVp83W+6kZkHP8srkMyLASihWgosc+ -xRWAGvaAZtNz7br+eT5fxuH/SEKPOl1qAZ23kXrXm1XQfizk8MnMTptkUMYv+hfl -TM98BASUsiTs6g+opy43HFn09naOQcqkWZO/8s6Gbvhi2lVfZqi5Ba6g3lVYJ3gU -kGoako4N9qB7WqJz+LYjVR9C4TbkkJ9OD6ArwGAx5IIzC3XKSxCyY/pUn4YumPhY -fjvY/km54TBtx/isS1TAgjSgDUxbzrfbkh7afOXSOniy9bWJMgNqHF61dqxWxmUg -F5Tch9zH3qFFVkXpYzDU/R8ZV+CRouCvhn0eZYDh8IqIAwjH0VjkxjPyQtrdrMd3 -gDKMVKoY31EOMLZzv8a0prjpr15A+uw30tT336qb3fofks4pZKUJw8ru9jJVir2p -+RML6iUHCmIeceF7/N1meooSMLPJe0xgKeMb9M4Wtd/et2UNVtP8nCDG622rf2a0 -F/EudXuFgc3FB8nXRw9TCkw9xKQff38edG5xPFUEgqObbVl5YQKCAQEA5DDKGOmp -EO5Zuf/kZfG6/AMMYwAuv1HrYTV2w/HnI3tyQ34Xkeqo+I/OqmRk68Ztxw4Kx1So -SRavkotrlWhhDpl2+Yn1BjkHktSoOdf9gJ9z9llkLmbOkBjmupig1NUB7fq/4y2k -MdqJXDy3uVKHJ97gxdIheMTyHiKuMJPnuT5lZtlT210Ig82P7sLQb/sgCfKVFTr0 -Z3haQ5/tBNKjq+igT4nMBWupOTD1q2GeZLIZACnmnUIhvu+3/bm0l+wiCB0DqF0T -Wy9tlL3fqQSCqzevL7/k5Lg6tJTaP/XYePB73TsOtAXgIaoltXgRBsBUeE1eaODx -kMT6E1PPtn7EqQKCAQEA1qImmTWGqhKICrwje40awPufFtZ/qXKVCN/V+zYsrJV1 -EnZpUDM+zfitlQCugnrQVHSpgfekI6mmVkmogO3fkNjUFTq+neg7IHOUHnqotx+3 -NMqIsyFInGstu9mfPd26fzZjUtx5wKF38LDTIJJAEJ83U3UpPBfpwKmiOGDXOa54 -2i4em/bb/hrQR6JySruZYLi0fXnGI5ZOfpkHgC/KOFkKNKAg2oh4B9qo7ACyiSNk -yojb2mmn6g1OLPxi7wGUSrkS1HQq4an6RZ+eUO0HXVWag0QStdQ91M9IrIHgSBBG -0e86Ar6jtD579gqsbz4ySpI/FqEI9obTC+E1/b0aIwKCAQAGz334qGCnZLXA22ZR -tJlEFEM2YTcD9snzqMjWqE2hvXl3kjfZ3wsUABbG9yAb+VwlaMHhmSE8rTSoRwj6 -+JaM/P+UCw4JFYKoWzh6IXwrbpbjb1+SEvdvTY71WsDSGVlpZOZ9PUt9QWyAGD/T -hCcMhZZn0RG2rQoc5CQWxxNPcBFOtIXQMkKizGvTUHUwImqeYWMZsxzASdNH2WoV -jsPbyaGfPhmcv83ZKyDp8IvtrXMZkiaT4vlm3Xi8VeKR9jY9z7/gMob1XcEDg3c9 -cCkGOy87WZrXSLhX02mAJzJCycqom66gqNw7pPxjIiY/8VWUEZsTvkL3cymTkhjM -9ZOhAoIBAGUaNqJe01NTrV+ZJgGyAxM6s8LXQYV5IvjuL2bJKxwUvvP2cT9FFGWD -qYiRrKJr5ayS07IUC+58oIzu33/0DSa27JgfduD9HrT3nKMK1mSEfRFSAjiXChQc -bIubRGapBoub/AdxMazqoovvT1R9b84kobQfcVAMV6DYh0CVZWyXYfgsV2DSVOiK -iufjfoDzg5lLCEI+1XW3/LunrB/W4yPN1X/amf8234ublYyt+2ucD4NUGnP05xLa -N6P7M0MwdEEKkvMe0YBBSFH5kWK/dIOjqkgBDes20fVnuuz/tL1dZW7IiIP4dzaV -ZGEOwBEatCfqYetv6b/u3IUxDfS7Wg8CggEBALoOwkn5LGdQg+bpdZAKJspGnJWL -Kyr9Al2tvgc69rxfpZqS5eDLkYYCzWPpspSt0Axm1O7xOUDQDt42luaLNGJzHZ2Q -Hn0ZNMhyHpe8d8mIQngRjD+nuLI/uFUglPzabDOCOln2aycjg1mA6ecXP1XMEVbu -0RB/0IE36XTMfZ+u9+TRjkBLpmUaX1FdIQQWfwUou/LfaXotoQlhSGAcprLrncuJ -T44UATYEgO/q9pMM33bdE3eBYZHoT9mSvqoLCN4s0LuwOYItIxLKUj0GulL0VQOI -SZi+0A1c8cVDXgApkBrWPDQIR9JS4de0gW4hnDoUvHtUc2TYPRnz6N9MtFY= ------END RSA PRIVATE KEY----- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/dhparam.pem b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/dhparam.pem deleted file mode 100644 index b6464ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/dhparam.pem +++ /dev/null @@ -1,13 +0,0 @@ ------BEGIN DH PARAMETERS----- -MIICCAKCAgEAikiatXa5aAteOtd6hOO33npjCvJByD3dwuM8rWzz0DFZdUH9nFJi -b0VvTVweVECb6XZBsrDNLqGQykCrm43swSk5D9XQCGJLxFERD6yk3b90xaeCm3/a -b0Ek5ZVvV73Cc/YbVmpBiOHoTFpUFJLZ7pLMQUSn8y3qUlNcY9/88HuwFi1s1lRM -ovihSRyZMYAuYWOD4yuOuIcroKVjD6gWFrsW9XrALWny6vUXQrhk8Q3rj+wM6ZtE -5afcB0b6ZJtphrDfk3dFjOVG/zVT37VWgrY8GABrpo2ey0W0WIQJ7rDKLaPaI4kc -voOgC2K8Z3kSARZK+jULnwmBeYECz4EH/FF6FEp3GOKtkL4mqEkvh1n5EAesDOGl -iiX+RZXcUrZliSeifSXBTMJWWFVC0fkGIMb9PTZfZHyAC54lpuxzVki0HIyQG9Fs -41zBJ5e8eEoXXlfUYtduUC35YGy2IxSzYLAJE76rctAZSWghha9xLOCDFoLjMr8h -FosKeHKJcBQ0bc8ymOpRIfrYLWhc0Pz2zkpJ/4eYw9t7NYg7S+jP19IE0gUnuM9v -SpoYMtS28tP9nEdokdwuBKD0D3bJEBBefDlHgfXoMgvy9Hivc9PBGGNTNpyFPpwF -sWVAkfhoNMJMC5V7LZsze+lftiDtzVoLSPDa9bO4BK7b/MgwCxfOhGsCAQI= ------END DH PARAMETERS----- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/em_test_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/em_test_helper.rb deleted file mode 100644 index 20a3e59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/em_test_helper.rb +++ /dev/null @@ -1,154 +0,0 @@ -require 'em/pure_ruby' if ENV['EM_PURE_RUBY'] -require 'eventmachine' -require 'test/unit' -require 'rbconfig' -require 'socket' - -puts "EM Library Type: #{EM.library_type}" - -class Test::Unit::TestCase - class EMTestTimeout < StandardError ; end - - def setup_timeout(timeout = TIMEOUT_INTERVAL) - EM.schedule { - EM.add_timer(timeout) { - raise EMTestTimeout, "Test was cancelled after #{timeout} seconds." - } - } - end - - def port_in_use?(port, host="127.0.0.1") - s = TCPSocket.new(host, port) - s.close - s - rescue Errno::ECONNREFUSED - false - end - - def next_port - @@port ||= 9000 - begin - @@port += 1 - end while port_in_use?(@@port) - - @@port - end - - # Returns true if the host have a localhost 127.0.0.1 IPv4. - def self.local_ipv4? - return @@has_local_ipv4 if defined?(@@has_local_ipv4) - begin - get_my_ipv4_address "127.0.0.1" - @@has_local_ipv4 = true - rescue - @@has_local_ipv4 = false - end - end - - # Returns true if the host have a public IPv4 and stores it in - # @@public_ipv4. - def self.public_ipv4? - return @@has_public_ipv4 if defined?(@@has_public_ipv4) - begin - @@public_ipv4 = get_my_ipv4_address "1.2.3.4" - @@has_public_ipv4 = true - rescue - @@has_public_ipv4 = false - end - end - - # Returns true if the host have a localhost ::1 IPv6. - def self.local_ipv6? - return @@has_local_ipv6 if defined?(@@has_local_ipv6) - begin - get_my_ipv6_address "::1" - @@has_local_ipv6 = true - rescue - @@has_local_ipv6 = false - end - end - - # Returns true if the host have a public IPv6 and stores it in - # @@public_ipv6. - def self.public_ipv6? - return @@has_public_ipv6 if defined?(@@has_public_ipv6) - begin - @@public_ipv6 = get_my_ipv6_address "2001::1" - @@has_public_ipv6 = true - rescue - @@has_public_ipv6 = false - end - end - - # Returns an array with the localhost addresses (IPv4 and/or IPv6). - def local_ips - return @@local_ips if defined?(@@local_ips) - @@local_ips = [] - @@local_ips << "127.0.0.1" if self.class.local_ipv4? - @@local_ips << "::1" if self.class.local_ipv6? - @@local_ips - end - - def exception_class - jruby? ? NativeException : RuntimeError - end - - module PlatformHelper - # http://blog.emptyway.com/2009/11/03/proper-way-to-detect-windows-platform-in-ruby/ - def windows? - RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ - end - - def solaris? - RUBY_PLATFORM =~ /solaris/ - end - - # http://stackoverflow.com/questions/1342535/how-can-i-tell-if-im-running-from-jruby-vs-ruby/1685970#1685970 - def jruby? - defined? JRUBY_VERSION - end - - def rbx? - defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx' - end - end - - include PlatformHelper - extend PlatformHelper - - # Tests run significantly slower on windows. YMMV - TIMEOUT_INTERVAL = windows? ? 1 : 0.25 - - def silent - backup, $VERBOSE = $VERBOSE, nil - begin - yield - ensure - $VERBOSE = backup - end - end - - - private - - def self.get_my_ipv4_address ip - orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily - UDPSocket.open(Socket::AF_INET) do |s| - s.connect ip, 1 - s.addr.last - end - ensure - Socket.do_not_reverse_lookup = orig - end - - def self.get_my_ipv6_address ip - orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily - UDPSocket.open(Socket::AF_INET6) do |s| - s.connect ip, 1 - s.addr.last - end - ensure - Socket.do_not_reverse_lookup = orig - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_attach.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_attach.rb deleted file mode 100644 index 4a55017..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_attach.rb +++ /dev/null @@ -1,151 +0,0 @@ -require 'em_test_helper' -require 'socket' - -class TestAttach < Test::Unit::TestCase - class EchoServer < EM::Connection - def receive_data data - $received_data << data - send_data data - end - end - - class EchoClient < EM::Connection - def initialize socket - self.notify_readable = true - @socket = socket - @socket.write("abc\n") - end - - def notify_readable - $read = @socket.readline - $fd = detach - end - - def unbind - EM.next_tick do - @socket.write("def\n") - EM.add_timer(0.1) { EM.stop } - end - end - end - - def setup - @port = next_port - $read, $r, $w, $fd = nil - $received_data = "" - end - - def teardown - [$r, $w].each do |io| - io.close rescue nil - end - $received_data = nil - end - - def test_attach - socket = nil - - EM.run { - EM.start_server "127.0.0.1", @port, EchoServer - socket = TCPSocket.new "127.0.0.1", @port - EM.watch socket, EchoClient, socket - } - - assert_equal $read, "abc\n" - unless jruby? # jruby filenos are not real - assert_equal $fd, socket.fileno - end - assert_equal false, socket.closed? - assert_equal socket.readline, "def\n" - end - - module PipeWatch - def notify_readable - $read = $r.readline - EM.stop - end - end - - def test_attach_server - omit_if(jruby?) - $before = TCPServer.new("127.0.0.1", @port) - sig = nil - EM.run { - sig = EM.attach_server $before, EchoServer - - handler = Class.new(EM::Connection) do - def initialize - send_data "hello world" - close_connection_after_writing - EM.add_timer(0.1) { EM.stop } - end - end - EM.connect("127.0.0.1", @port, handler) - } - - assert_equal false, $before.closed? - assert_equal "hello world", $received_data - assert sig.is_a?(Integer) - end - - def test_attach_pipe - EM.run{ - $r, $w = IO.pipe - EM.watch $r, PipeWatch do |c| - c.notify_readable = true - end - $w.write("ghi\n") - } - - assert_equal $read, "ghi\n" - end - - def test_set_readable - before, after = nil - - EM.run{ - $r, $w = IO.pipe - c = EM.watch $r, PipeWatch do |con| - con.notify_readable = false - end - - EM.next_tick{ - before = c.notify_readable? - c.notify_readable = true - after = c.notify_readable? - } - - $w.write("jkl\n") - } - - assert !before - assert after - assert_equal $read, "jkl\n" - end - - def test_read_write_pipe - result = nil - - pipe_reader = Module.new do - define_method :receive_data do |data| - result = data - EM.stop - end - end - - r,w = IO.pipe - - EM.run { - EM.attach r, pipe_reader - writer = EM.attach(w) - writer.send_data 'ghi' - - # XXX: Process will hang in Windows without this line - writer.close_connection_after_writing - } - - assert_equal "ghi", result - ensure - [r,w].each {|io| io.close rescue nil } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_basic.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_basic.rb deleted file mode 100644 index 4d72524..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_basic.rb +++ /dev/null @@ -1,321 +0,0 @@ -require 'em_test_helper' -require 'socket' - -class TestBasic < Test::Unit::TestCase - def setup - @port = next_port - end - - def test_connection_class_cache - mod = Module.new - a, b = nil, nil - EM.run { - EM.start_server '127.0.0.1', @port, mod - a = EM.connect '127.0.0.1', @port, mod - b = EM.connect '127.0.0.1', @port, mod - EM.stop - } - assert_equal a.class, b.class - assert_kind_of EM::Connection, a - end - - #------------------------------------- - - - def test_em - assert_nothing_raised do - EM.run { - setup_timeout - EM.add_timer 0 do - EM.stop - end - } - end - end - - #------------------------------------- - - def test_timer - assert_nothing_raised do - EM.run { - setup_timeout - n = 0 - EM.add_periodic_timer(0.1) { - n += 1 - EM.stop if n == 2 - } - } - end - end - - #------------------------------------- - - # This test once threw an already-running exception. - module Trivial - def post_init - EM.stop - end - end - - def test_server - assert_nothing_raised do - EM.run { - setup_timeout - EM.start_server "127.0.0.1", @port, Trivial - EM.connect "127.0.0.1", @port - } - end - end - - #-------------------------------------- - - # EM#run_block starts the reactor loop, runs the supplied block, and then STOPS - # the loop automatically. Contrast with EM#run, which keeps running the reactor - # even after the supplied block completes. - def test_run_block - assert !EM.reactor_running? - a = nil - EM.run_block { a = "Worked" } - assert a - assert !EM.reactor_running? - end - - class UnbindError < EM::Connection - ERR = Class.new(StandardError) - def initialize *args - super - end - def connection_completed - close_connection_after_writing - end - def unbind - raise ERR - end - end - - def test_unbind_error_during_stop - assert_raises( UnbindError::ERR ) { - EM.run { - EM.start_server "127.0.0.1", @port - EM.connect "127.0.0.1", @port, UnbindError do - EM.stop - end - } - } - end - - def test_unbind_error - EM.run { - EM.error_handler do |e| - assert(e.is_a?(UnbindError::ERR)) - EM.stop - end - EM.start_server "127.0.0.1", @port - EM.connect "127.0.0.1", @port, UnbindError - } - - # Remove the error handler before the next test - EM.error_handler(nil) - end - - module BrsTestSrv - def receive_data data - $received << data - end - def unbind - EM.stop - end - end - module BrsTestCli - def post_init - send_data $sent - close_connection_after_writing - end - end - - # From ticket #50 - def test_byte_range_send - $received = '' - $sent = (0..255).to_a.pack('C*') - EM::run { - EM::start_server "127.0.0.1", @port, BrsTestSrv - EM::connect "127.0.0.1", @port, BrsTestCli - - setup_timeout - } - assert_equal($sent, $received) - end - - def test_bind_connect - pend('FIXME: this test is broken on Windows') if windows? - - local_ip = UDPSocket.open {|s| s.connect('localhost', 80); s.addr.last } - - bind_port = next_port - - port, ip = nil - bound_server = Module.new do - define_method :post_init do - begin - port, ip = Socket.unpack_sockaddr_in(get_peername) - ensure - EM.stop - end - end - end - - EM.run do - setup_timeout - EM.start_server "127.0.0.1", @port, bound_server - EM.bind_connect local_ip, bind_port, "127.0.0.1", @port - end - - assert_equal bind_port, port - assert_equal local_ip, ip - end - - def test_invalid_address_bind_connect_dst - e = nil - EM.run do - begin - EM.bind_connect('localhost', nil, 'invalid.invalid', 80) - rescue Exception => e - # capture the exception - ensure - EM.stop - end - end - - assert_kind_of(EventMachine::ConnectionError, e) - assert_match(/unable to resolve address:.*not known/, e.message) - end - - def test_invalid_address_bind_connect_src - e = nil - EM.run do - begin - EM.bind_connect('invalid.invalid', nil, 'localhost', 80) - rescue Exception => e - # capture the exception - ensure - EM.stop - end - end - - assert_kind_of(EventMachine::ConnectionError, e) - assert_match(/invalid bind address:.*not known/, e.message) - end - - def test_reactor_thread? - assert !EM.reactor_thread? - EM.run { assert EM.reactor_thread?; EM.stop } - assert !EM.reactor_thread? - end - - def test_schedule_on_reactor_thread - x = false - EM.run do - EM.schedule { x = true } - EM.stop - end - assert x - end - - def test_schedule_from_thread - x = false - EM.run do - Thread.new { EM.schedule { x = true; EM.stop } }.join - end - assert x - end - - def test_set_heartbeat_interval - omit_if(jruby?) - interval = 0.5 - EM.run { - EM.set_heartbeat_interval interval - $interval = EM.get_heartbeat_interval - EM.stop - } - assert_equal(interval, $interval) - end - - module PostInitRaiser - ERR = Class.new(StandardError) - def post_init - raise ERR - end - end - - def test_bubble_errors_from_post_init - assert_raises(PostInitRaiser::ERR) do - EM.run do - EM.start_server "127.0.0.1", @port - EM.connect "127.0.0.1", @port, PostInitRaiser - end - end - end - - module InitializeRaiser - ERR = Class.new(StandardError) - def initialize - raise ERR - end - end - - def test_bubble_errors_from_initialize - assert_raises(InitializeRaiser::ERR) do - EM.run do - EM.start_server "127.0.0.1", @port - EM.connect "127.0.0.1", @port, InitializeRaiser - end - end - end - - def test_schedule_close - omit_if(jruby?) - localhost, port = '127.0.0.1', 9000 - timer_ran = false - num_close_scheduled = nil - EM.run do - assert_equal 0, EM.num_close_scheduled - EM.add_timer(1) { timer_ran = true; EM.stop } - EM.start_server localhost, port do |s| - s.close_connection - num_close_scheduled = EM.num_close_scheduled - end - EM.connect localhost, port do |c| - def c.unbind - EM.stop - end - end - end - assert !timer_ran - assert_equal 1, num_close_scheduled - end - - def test_error_handler_idempotent # issue 185 - errors = [] - ticks = [] - EM.error_handler do |e| - errors << e - end - - EM.run do - EM.next_tick do - ticks << :first - raise - end - EM.next_tick do - ticks << :second - end - EM.add_timer(0.001) { EM.stop } - end - - # Remove the error handler before the next test - EM.error_handler(nil) - - assert_equal 1, errors.size - assert_equal [:first, :second], ticks - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_channel.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_channel.rb deleted file mode 100644 index c54bf1d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_channel.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'em_test_helper' - -class TestEMChannel < Test::Unit::TestCase - def test_channel_subscribe - s = 0 - EM.run do - c = EM::Channel.new - c.subscribe { |v| s = v; EM.stop } - c << 1 - end - assert_equal 1, s - end - - def test_channel_unsubscribe - s = 0 - EM.run do - c = EM::Channel.new - subscription = c.subscribe { |v| s = v } - c.unsubscribe(subscription) - c << 1 - EM.next_tick { EM.stop } - end - assert_not_equal 1, s - end - - def test_channel_pop - s = 0 - EM.run do - c = EM::Channel.new - c.pop{ |v| s = v } - c.push(1,2,3) - c << 4 - c << 5 - EM.next_tick { EM.stop } - end - assert_equal 1, s - end - - def test_channel_reactor_thread_push - out = [] - c = EM::Channel.new - c.subscribe { |v| out << v } - Thread.new { c.push(1,2,3) }.join - assert out.empty? - - EM.run { EM.next_tick { EM.stop } } - - assert_equal [1,2,3], out - end - - def test_channel_reactor_thread_callback - out = [] - c = EM::Channel.new - Thread.new { c.subscribe { |v| out << v } }.join - c.push(1,2,3) - assert out.empty? - - EM.run { EM.next_tick { EM.stop } } - - assert_equal [1,2,3], out - end - - def test_channel_num_subscribers - subs = 0 - EM.run do - c = EM::Channel.new - c.subscribe { |v| s = v } - c.subscribe { |v| s = v } - EM.next_tick { EM.stop } - subs = c.num_subscribers - end - - assert_equal subs, 2 - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_completion.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_completion.rb deleted file mode 100644 index 1bd9a8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_completion.rb +++ /dev/null @@ -1,178 +0,0 @@ -require 'em_test_helper' -require 'em/completion' - -class TestCompletion < Test::Unit::TestCase - def completion - @completion ||= EM::Completion.new - end - - def crank - # This is a slow solution, but this just executes the next tick queue - # once. It's the easiest way for now. - EM.run { EM.stop } - end - - def results - @results ||= [] - end - - def test_state - assert_equal :unknown, completion.state - end - - def test_succeed - completion.callback { |val| results << val } - completion.succeed :object - crank - assert_equal :succeeded, completion.state - assert_equal [:object], results - end - - def test_fail - completion.errback { |val| results << val } - completion.fail :object - crank - assert_equal :failed, completion.state - assert_equal [:object], results - end - - def test_callback - completion.callback { results << :callback } - completion.errback { results << :errback } - completion.succeed - crank - assert_equal [:callback], results - end - - def test_errback - completion.callback { results << :callback } - completion.errback { results << :errback } - completion.fail - crank - assert_equal [:errback], results - end - - def test_stateback - completion.stateback(:magic) { results << :stateback } - completion.change_state(:magic) - crank - assert_equal [:stateback], results - end - - def test_does_not_enqueue_when_completed - completion.callback { results << :callback } - completion.succeed - completion.errback { results << :errback } - completion.fail - crank - assert_equal [:callback], results - end - - def test_completed - assert_equal false, completion.completed? - completion.succeed - assert_equal true, completion.completed? - completion.fail - assert_equal true, completion.completed? - completion.change_state :magic - assert_equal false, completion.completed? - end - - def test_recursive_callbacks - completion.callback do |val| - results << val - completion.succeed :two - end - completion.callback do |val| - results << val - completion.succeed :three - end - completion.callback do |val| - results << val - end - completion.succeed :one - crank - assert_equal [:one, :two, :three], results - end - - def test_late_defined_callbacks - completion.callback { results << :one } - completion.succeed - crank - assert_equal [:one], results - completion.callback { results << :two } - crank - assert_equal [:one, :two], results - end - - def test_cleared_completions - completion.callback { results << :callback } - completion.errback { results << :errback } - - completion.succeed - crank - completion.fail - crank - completion.succeed - crank - - assert_equal [:callback], results - end - - def test_skip_completed_callbacks - completion.callback { results << :callback } - completion.succeed - crank - - completion.errback { results << :errback } - completion.fail - crank - - assert_equal [:callback], results - end - - def test_completions - completion.completion { results << :completion } - completion.succeed - crank - assert_equal [:completion], results - - completion.change_state(:unknown) - results.clear - - completion.completion { results << :completion } - completion.fail - crank - assert_equal [:completion], results - end - - def test_latent_completion - completion.completion { results << :completion } - completion.succeed - crank - completion.completion { results << :completion } - crank - assert_equal [:completion, :completion], results - end - - def test_timeout - args = [1, 2, 3] - EM.run do - completion.timeout(0.0001, *args) - completion.errback { |*errargs| results << errargs } - completion.completion { EM.stop } - EM.add_timer(0.1) { flunk 'test timed out' } - end - assert_equal [[1,2,3]], results - end - - def test_timeout_gets_cancelled - EM.run do - completion.timeout(0.0001, :timeout) - completion.errback { results << :errback } - completion.succeed - EM.add_timer(0.0002) { EM.stop } - end - assert_equal [], results - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_connection_count.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_connection_count.rb deleted file mode 100644 index 350c417..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_connection_count.rb +++ /dev/null @@ -1,83 +0,0 @@ -require 'em_test_helper' - -class TestConnectionCount < Test::Unit::TestCase - def teardown - EM.epoll = false - EM.kqueue = false - end - - def test_idle_connection_count - count = nil - EM.run { - count = EM.connection_count - EM.stop_event_loop - } - assert_equal(0, count) - end - - # Run this again with epoll enabled (if available) - def test_idle_connection_count_epoll - EM.epoll if EM.epoll? - - count = nil - EM.run { - count = EM.connection_count - EM.stop_event_loop - } - assert_equal(0, count) - end - - # Run this again with kqueue enabled (if available) - def test_idle_connection_count_kqueue - EM.kqueue if EM.kqueue? - - count = nil - EM.run { - count = EM.connection_count - EM.stop_event_loop - } - assert_equal(0, count) - end - - module Client - def connection_completed - $client_conns += 1 - EM.stop if $client_conns == 3 - end - end - - def test_with_some_connections - EM.run { - $client_conns = 0 - $initial_conns = EM.connection_count - EM.start_server("127.0.0.1", 9999) - $server_conns = EM.connection_count - 3.times { EM.connect("127.0.0.1", 9999, Client) } - } - - assert_equal(0, $initial_conns) - assert_equal(1, $server_conns) - assert_equal(4, $client_conns + $server_conns) - end - - module DoubleCloseClient - def unbind - close_connection - $num_close_scheduled_1 = EM.num_close_scheduled - EM.next_tick do - $num_close_scheduled_2 = EM.num_close_scheduled - EM.stop - end - end - end - - def test_num_close_scheduled - omit_if(jruby?) - EM.run { - assert_equal(0, EM.num_close_scheduled) - EM.connect("127.0.0.1", 9999, DoubleCloseClient) # nothing listening on 9999 - } - assert_equal(1, $num_close_scheduled_1) - assert_equal(0, $num_close_scheduled_2) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_connection_write.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_connection_write.rb deleted file mode 100644 index 35533b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_connection_write.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'em_test_helper' - -class TestConnectionWrite < Test::Unit::TestCase - - # This test takes advantage of the fact that EM::_RunSelectOnce iterates over the connections twice: - # - once to determine which ones to call Write() on - # - and once to call Write() on each of them. - # - # But state may change in the meantime before Write() is finally called. - # And that is what we try to exploit to get Write() to be called when bWatchOnly is true, and bNotifyWritable is false, - # to cause an assertion failure. - - module SimpleClient - def notify_writable - $conn2.notify_writable = false # Being naughty in callback - # If this doesn't crash anything, the test passed! - end - end - - def test_with_naughty_callback - EM.run do - r1, _ = IO.pipe - r2, _ = IO.pipe - - # Adding EM.watches - $conn1 = EM.watch(r1, SimpleClient) - $conn2 = EM.watch(r2, SimpleClient) - - $conn1.notify_writable = true - $conn2.notify_writable = true - - EM.stop - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_defer.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_defer.rb deleted file mode 100644 index aeca127..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_defer.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'em_test_helper' - -class TestDefer < Test::Unit::TestCase - - def test_defers - n = 0 - n_times = 20 - EM.run { - n_times.times { - work_proc = proc { n += 1 } - callback = proc { EM.stop if n == n_times } - EM.defer work_proc, callback - } - } - assert_equal( n, n_times ) - end - - def test_errbacks - iterations = 20 - callback_parameter = rand(100) - callback_parameters = [] - callback_op = proc { callback_parameter } - callback = proc { |result| callback_parameters << result } - errback_parameter = Exception.new - errback_parameters = [] - errback_op = proc { raise errback_parameter } - errback = proc { |error| errback_parameters << error } - EventMachine.run do - (1..iterations).each { |index| EventMachine.defer(index.even? ? callback_op : errback_op, callback, errback) } - EventMachine.add_periodic_timer(0.1) { EventMachine.stop if EventMachine.defers_finished? } - end - assert_equal(callback_parameters.select { |parameter| parameter == callback_parameter }.length, iterations * 0.5) - assert_equal(errback_parameters.select{ |parameter| parameter == errback_parameter }.length, iterations * 0.5) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_deferrable.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_deferrable.rb deleted file mode 100644 index 5f286a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_deferrable.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'em_test_helper' - -class TestDeferrable < Test::Unit::TestCase - class Later - include EM::Deferrable - end - - def test_timeout_without_args - assert_nothing_raised do - EM.run { - df = Later.new - df.timeout(0) - df.errback { EM.stop } - EM.add_timer(0.01) { flunk "Deferrable was not timed out." } - } - end - end - - def test_timeout_with_args - args = nil - - EM.run { - df = Later.new - df.timeout(0, :timeout, :foo) - df.errback do |type, name| - args = [type, name] - EM.stop - end - - EM.add_timer(0.01) { flunk "Deferrable was not timed out." } - } - - assert_equal [:timeout, :foo], args - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_epoll.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_epoll.rb deleted file mode 100644 index 36f5609..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_epoll.rb +++ /dev/null @@ -1,142 +0,0 @@ -require 'em_test_helper' - - -class TestEpoll < Test::Unit::TestCase - - module TestEchoServer - def receive_data data - send_data data - close_connection_after_writing - end - end - - module TestEchoClient - def connection_completed - send_data "ABCDE" - $max += 1 - end - def receive_data data - raise "bad response" unless data == "ABCDE" - end - def unbind - $n -= 1 - EM.stop if $n == 0 - end - end - - - # We can set the rlimit/nofile of a process but we can only set it - # higher if we're running as root. - # On most systems, the default value is 1024. - def test_rlimit - omit_if(windows? || jruby?) - unless EM.set_descriptor_table_size >= 1024 - a = EM.set_descriptor_table_size - assert( a <= 1024 ) - a = EM.set_descriptor_table_size( 1024 ) - assert( a == 1024 ) - end - end - - # Run a high-volume version of this test by kicking the number of connections - # up past 512. (Each connection uses two sockets, a client and a server.) - # (Will require running the test as root) - # This test exercises TCP clients and servers. - # - # XXX this test causes all sort of weird issues on OSX (when run as part of the suite) - def _test_descriptors - EM.epoll - EM.set_descriptor_table_size 60000 - EM.run { - EM.start_server "127.0.0.1", 9800, TestEchoServer - $n = 0 - $max = 0 - 100.times { - EM.connect("127.0.0.1", 9800, TestEchoClient) {$n += 1} - } - } - assert_equal(0, $n) - assert_equal(100, $max) - end - - def setup - @port = next_port - end - - module TestDatagramServer - def receive_data dgm - $in = dgm - send_data "abcdefghij" - end - end - module TestDatagramClient - def initialize port - @port = port - end - - def post_init - send_datagram "1234567890", "127.0.0.1", @port - end - - def receive_data dgm - $out = dgm - EM.stop - end - end - - def test_datagrams - $in = $out = "" - EM.run { - EM.open_datagram_socket "127.0.0.1", @port, TestDatagramServer - EM.open_datagram_socket "127.0.0.1", 0, TestDatagramClient, @port - } - assert_equal( "1234567890", $in ) - assert_equal( "abcdefghij", $out ) - end - - # XXX this test fails randomly... - def _test_unix_domain - fn = "/tmp/xxx.chain" - EM.epoll - EM.set_descriptor_table_size 60000 - EM.run { - # The pure-Ruby version won't let us open the socket if the node already exists. - # Not sure, that actually may be correct and the compiled version is wrong. - # Pure Ruby also oddly won't let us make that many connections. This test used - # to run 100 times. Not sure where that lower connection-limit is coming from in - # pure Ruby. - # Let's not sweat the Unix-ness of the filename, since this test can't possibly - # work on Windows anyway. - # - File.unlink(fn) if File.exist?(fn) - EM.start_unix_domain_server fn, TestEchoServer - $n = 0 - $max = 0 - 50.times { - EM.connect_unix_domain(fn, TestEchoClient) {$n += 1} - } - EM::add_timer(1) { $stderr.puts("test_unix_domain timed out!"); EM::stop } - } - assert_equal(0, $n) - assert_equal(50, $max) - ensure - File.unlink(fn) if File.exist?(fn) - end - - def test_attach_detach - EM.epoll - EM.run { - EM.add_timer(0.01) { EM.stop } - - r, _ = IO.pipe - - # This tests a regression where detach in the same tick as attach crashes EM - EM.watch(r) do |connection| - connection.detach - end - } - - assert true - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_error_handler.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_error_handler.rb deleted file mode 100644 index 23c23f7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_error_handler.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'em_test_helper' - -class TestErrorHandler < Test::Unit::TestCase - def setup - @exception = Class.new(StandardError) - end - - def test_error_handler - error = nil - - EM.error_handler{ |e| - error = e - EM.error_handler(nil) - EM.stop - } - - assert_nothing_raised do - EM.run{ - EM.add_timer(0){ - raise @exception, 'test' - } - } - end - - assert_equal error.class, @exception - assert_equal error.message, 'test' - end - - def test_without_error_handler - assert_raise @exception do - EM.run{ - EM.add_timer(0){ - raise @exception, 'test' - } - } - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_exc.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_exc.rb deleted file mode 100644 index d9c860a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_exc.rb +++ /dev/null @@ -1,43 +0,0 @@ -require 'em_test_helper' - -class TestSomeExceptions < Test::Unit::TestCase - class DoomedConnectionError < StandardError - end - class DoomedConnection < EventMachine::Connection - def unbind - raise DoomedConnectionError - end - end - - # Read the commentary in EM#run. - # This test exercises the ensure block in #run that makes sure - # EM#release_machine gets called even if an exception is - # thrown within the user code. Without the ensured call to release_machine, - # the second call to EM#run will fail with a C++ exception - # because the machine wasn't cleaned up properly. - - def test_a - assert_raises(RuntimeError) { - EM.run { - raise "some exception" - } - } - end - - def test_b - assert_raises(RuntimeError) { - EM.run { - raise "some exception" - } - } - end - - def test_exception_on_unbind - assert_raises(DoomedConnectionError) { - EM.run { - EM.connect("localhost", 8888, DoomedConnection) - } - } - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_file_watch.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_file_watch.rb deleted file mode 100644 index 5602071..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_file_watch.rb +++ /dev/null @@ -1,85 +0,0 @@ -require 'em_test_helper' -require 'tempfile' - -class TestFileWatch < Test::Unit::TestCase - if windows? - def test_watch_file_raises_unsupported_error - assert_raises(EM::Unsupported) do - EM.run do - file = Tempfile.new("fake_file") - EM.watch_file(file.path) - end - end - end - elsif EM.respond_to? :watch_filename - module FileWatcher - def file_modified - $modified = true - end - def file_deleted - $deleted = true - end - def unbind - $unbind = true - EM.stop - end - end - - def setup - EM.kqueue = true if EM.kqueue? - end - - def teardown - EM.kqueue = false if EM.kqueue? - end - - def test_events - omit_if(solaris?) - EM.run{ - file = Tempfile.new('em-watch') - $tmp_path = file.path - - # watch it - watch = EM.watch_file(file.path, FileWatcher) - $path = watch.path - - # modify it - File.open(file.path, 'w'){ |f| f.puts 'hi' } - - # delete it - EM.add_timer(0.01){ file.close; file.delete } - } - - assert_equal($path, $tmp_path) - assert($modified) - assert($deleted) - assert($unbind) - end - - # Refer: https://github.com/eventmachine/eventmachine/issues/512 - def test_invalid_signature - # This works fine with kqueue, only fails with linux inotify. - omit_if(EM.kqueue?) - - EM.run { - file = Tempfile.new('foo') - - w1 = EventMachine.watch_file(file.path) - w2 = EventMachine.watch_file(file.path) - - assert_raise EventMachine::InvalidSignature do - w2.stop_watching - end - - EM.stop - } - end - else - warn "EM.watch_file not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_watch_file_unsupported - assert true - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_fork.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_fork.rb deleted file mode 100644 index 8b15bb5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_fork.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'em_test_helper' - -class TestFork < Test::Unit::TestCase - - def test_fork_safe - omit_if(jruby?) - omit_if(windows?) - - fork_pid = nil - read, write = IO.pipe - EM.run do - fork_pid = fork do - write.puts "forked" - EM.run do - EM.next_tick do - write.puts "EM ran" - EM.stop - end - end - end - EM.stop - end - - sleep 0.1 - begin - Timeout::timeout 1 do - assert_equal "forked\n", read.readline - assert_equal "EM ran\n", read.readline - end - rescue Timeout::Error - Process.kill 'TERM', fork_pid - flunk "Timeout waiting for next_tick in new fork reactor" - end - ensure - read.close rescue nil - write.close rescue nil - end - - def test_fork_reactor - omit_if(jruby?) - omit_if(windows?) - - fork_pid = nil - read, write = IO.pipe - EM.run do - EM.defer do - write.puts Process.pid - EM.defer do - EM.stop - end - end - fork_pid = EM.fork_reactor do - EM.defer do - write.puts Process.pid - EM.stop - end - end - end - - sleep 0.1 - begin - Timeout::timeout 1 do - assert_equal Process.pid.to_s, read.readline.chomp - assert_equal fork_pid.to_s, read.readline.chomp - end - rescue Timeout::Error - Process.kill 'TERM', fork_pid - flunk "Timeout waiting for deferred block in fork_reactor" - end - ensure - read.close rescue nil - write.close rescue nil - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_futures.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_futures.rb deleted file mode 100644 index b494856..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_futures.rb +++ /dev/null @@ -1,170 +0,0 @@ -require 'em_test_helper' - -class TestFutures < Test::Unit::TestCase - - def setup - end - - def teardown - end - - def test_future - assert_equal(100, EM::Deferrable.future(100) ) - - p1 = proc { 100 + 1 } - assert_equal(101, EM::Deferrable.future(p1) ) - end - - class MyFuture - include EM::Deferrable - def initialize *args - super - set_deferred_status :succeeded, 40 - end - end - - class MyErrorFuture - include EM::Deferrable - def initialize *args - super - set_deferred_status :failed, 41 - end - end - - - def test_future_1 - # Call future with one additional argument and it will be treated as a callback. - def my_future - MyFuture.new - end - - value = nil - EM::Deferrable.future my_future, proc {|v| value=v} - assert_equal( 40, value ) - end - - - def test_future_2 - # Call future with two additional arguments and they will be treated as a callback - # and an errback. - value = nil - EM::Deferrable.future MyErrorFuture.new, nil, proc {|v| value=v} - assert_equal( 41, value ) - end - - - def test_future_3 - # Call future with no additional arguments but with a block, and the block will be - # treated as a callback. - value = nil - EM::Deferrable.future MyFuture.new do |v| - value=v - end - assert_equal( 40, value ) - end - - - class RecursiveCallback - include EM::Deferrable - end - - # A Deferrable callback can call #set_deferred_status to change the values - # passed to subsequent callbacks. - # - def test_recursive_callbacks - n = 0 # counter assures that all the tests actually run. - rc = RecursiveCallback.new - rc.callback {|a| - assert_equal(100, a) - n += 1 - rc.set_deferred_status :succeeded, 101, 101 - } - rc.callback {|a,b| - assert_equal(101, a) - assert_equal(101, b) - n += 1 - rc.set_deferred_status :succeeded, 102, 102, 102 - } - rc.callback {|a,b,c| - assert_equal(102, a) - assert_equal(102, b) - assert_equal(102, c) - n += 1 - } - rc.set_deferred_status :succeeded, 100 - assert_equal(3, n) - end - - def test_syntactic_sugar - rc = RecursiveCallback.new - rc.set_deferred_success 100 - rc.set_deferred_failure 200 - end - - # It doesn't raise an error to set deferred status more than once. - # In fact, this is a desired and useful idiom when it happens INSIDE - # a callback or errback. - # However, it's less useful otherwise, and in fact would generally be - # indicative of a programming error. However, we would like to be resistant - # to such errors. So whenever we set deferred status, we also clear BOTH - # stacks of handlers. - # - def test_double_calls - s = 0 - e = 0 - - d = EM::DefaultDeferrable.new - d.callback {s += 1} - d.errback {e += 1} - - d.succeed # We expect the callback to be called, and the errback to be DISCARDED. - d.fail # Presumably an error. We expect the errback NOT to be called. - d.succeed # We expect the callback to have been discarded and NOT to be called again. - - assert_equal(1, s) - assert_equal(0, e) - end - - # Adding a callback to a Deferrable that is already in a success state executes the callback - # immediately. The same applies to a an errback added to an already-failed Deferrable. - # HOWEVER, we expect NOT to be able to add errbacks to succeeded Deferrables, or callbacks - # to failed ones. - # - # We illustrate this with a rather contrived test. The test calls #fail after #succeed, - # which ordinarily would not happen in a real program. - # - # What we're NOT attempting to specify is what happens if a Deferrable is succeeded and then - # failed (or vice-versa). Should we then be able to add callbacks/errbacks of the appropriate - # type for immediate execution? For now at least, the official answer is "don't do that." - # - def test_delayed_callbacks - s1 = 0 - s2 = 0 - e = 0 - - d = EM::DefaultDeferrable.new - d.callback {s1 += 1} - - d.succeed # Triggers and discards the callback. - - d.callback {s2 += 1} # This callback is executed immediately and discarded. - - d.errback {e += 1} # This errback should be DISCARDED and never execute. - d.fail # To prove it, fail and assert e is 0 - - assert_equal( [1,1], [s1,s2] ) - assert_equal( 0, e ) - end - - def test_timeout - n = 0 - EM.run { - d = EM::DefaultDeferrable.new - d.callback {n = 1; EM.stop} - d.errback {n = 2; EM.stop} - d.timeout(0.01) - } - assert_equal( 2, n ) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_handler_check.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_handler_check.rb deleted file mode 100644 index c417694..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_handler_check.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'em_test_helper' - -class TestHandlerCheck < Test::Unit::TestCase - - class Foo < EM::Connection; end; - module TestModule; end; - - def test_with_correct_class - assert_nothing_raised do - EM.run { - EM.connect("127.0.0.1", 80, Foo) - EM.stop_event_loop - } - end - end - - def test_with_incorrect_class - assert_raise(ArgumentError) do - EM.run { - EM.connect("127.0.0.1", 80, String) - EM.stop_event_loop - } - end - end - - def test_with_module - assert_nothing_raised do - EM.run { - EM.connect("127.0.0.1", 80, TestModule) - EM.stop_event_loop - } - end - end - -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_hc.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_hc.rb deleted file mode 100644 index 28e32c9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_hc.rb +++ /dev/null @@ -1,155 +0,0 @@ -require 'em_test_helper' - -class TestHeaderAndContentProtocol < Test::Unit::TestCase - - class SimpleTest < EM::P::HeaderAndContentProtocol - attr_reader :first_header, :my_headers, :request - - def receive_first_header_line hdr - @first_header ||= [] - @first_header << hdr - end - def receive_headers hdrs - @my_headers ||= [] - @my_headers << hdrs - end - def receive_request hdrs, content - @request ||= [] - @request << [hdrs, content] - end - end - - class StopOnUnbind < EM::Connection - def unbind - EM.add_timer(0.01) { EM.stop } - end - end - - def setup - @port = next_port - end - - def test_no_content - the_connection = nil - EM.run { - EM.start_server( "127.0.0.1", @port, SimpleTest ) do |conn| - the_connection = conn - end - setup_timeout - - EM.connect "127.0.0.1", @port, StopOnUnbind do |c| - c.send_data [ "aaa\n", "bbb\r\n", "ccc\n", "\n" ].join - c.close_connection_after_writing - end - } - assert_equal( ["aaa"], the_connection.first_header ) - assert_equal( [%w(aaa bbb ccc)], the_connection.my_headers ) - assert_equal( [[%w(aaa bbb ccc), ""]], the_connection.request ) - end - - def test_content - the_connection = nil - content = "A" * 50 - headers = ["aaa", "bbb", "Content-length: #{content.length}", "ccc"] - EM.run { - EM.start_server( "127.0.0.1", @port, SimpleTest ) do |conn| - the_connection = conn - end - setup_timeout - - EM.connect "127.0.0.1", @port, StopOnUnbind do |c| - headers.each { |h| c.send_data "#{h}\r\n" } - c.send_data "\n" - c.send_data content - c.close_connection_after_writing - end - } - assert_equal( ["aaa"], the_connection.first_header ) - assert_equal( [headers], the_connection.my_headers ) - assert_equal( [[headers, content]], the_connection.request ) - end - - def test_several_requests - the_connection = nil - content = "A" * 50 - headers = ["aaa", "bbb", "Content-length: #{content.length}", "ccc"] - EM.run { - EM.start_server( "127.0.0.1", @port, SimpleTest ) do |conn| - the_connection = conn - end - setup_timeout - - EM.connect( "127.0.0.1", @port, StopOnUnbind ) do |c| - 5.times do - headers.each { |h| c.send_data "#{h}\r\n" } - c.send_data "\n" - c.send_data content - end - c.close_connection_after_writing - end - } - assert_equal( ["aaa"] * 5, the_connection.first_header ) - assert_equal( [headers] * 5, the_connection.my_headers ) - assert_equal( [[headers, content]] * 5, the_connection.request ) - end - - - # def x_test_multiple_content_length_headers - # # This is supposed to throw a RuntimeError but it throws a C++ exception instead. - # the_connection = nil - # content = "A" * 50 - # headers = ["aaa", "bbb", ["Content-length: #{content.length}"]*2, "ccc"].flatten - # EM.run { - # EM.start_server( "127.0.0.1", @port, SimpleTest ) do |conn| - # the_connection = conn - # end - # EM.add_timer(4) {raise "test timed out"} - # test_proc = proc { - # t = TCPSocket.new "127.0.0.1", @port - # headers.each {|h| t.write "#{h}\r\n" } - # t.write "\n" - # t.write content - # t.close - # } - # EM.defer test_proc, proc { - # EM.stop - # } - # } - # end - - def test_interpret_headers - the_connection = nil - content = "A" * 50 - headers = [ - "GET / HTTP/1.0", - "Accept: aaa", - "User-Agent: bbb", - "Host: ccc", - "x-tempest-header:ddd" - ] - - EM.run { - EM.start_server( "127.0.0.1", @port, SimpleTest ) do |conn| - the_connection = conn - end - setup_timeout - - EM.connect( "127.0.0.1", @port, StopOnUnbind ) do |c| - headers.each { |h| c.send_data "#{h}\r\n" } - c.send_data "\n" - c.send_data content - c.close_connection_after_writing - end - } - - hsh = the_connection.headers_2_hash( the_connection.my_headers.shift ) - expect = { - :accept => "aaa", - :user_agent => "bbb", - :host => "ccc", - :x_tempest_header => "ddd" - } - assert_equal(expect, hsh) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_httpclient.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_httpclient.rb deleted file mode 100644 index 572a802..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_httpclient.rb +++ /dev/null @@ -1,238 +0,0 @@ -require 'em_test_helper' - -class TestHttpClient < Test::Unit::TestCase - - def setup - @port = next_port - end - - #------------------------------------- - - def test_http_client - ok = false - EM.run { - c = silent { EM::P::HttpClient.send :request, :host => "www.google.com", :port => 80 } - c.callback { - ok = true - c.close_connection - EM.stop - } - c.errback {EM.stop} # necessary, otherwise a failure blocks the test suite forever. - } - assert ok - end - - #------------------------------------- - - def test_http_client_1 - ok = false - EM.run { - c = silent { EM::P::HttpClient.send :request, :host => "www.google.com", :port => 80 } - c.callback { - ok = true - c.close_connection - EM.stop - } - c.errback {EM.stop} - } - assert ok - end - - #------------------------------------- - - def test_http_client_2 - ok = false - EM.run { - c = silent { EM::P::HttpClient.send :request, :host => "www.google.com", :port => 80 } - c.callback { - ok = true - c.close_connection - EM.stop - } - c.errback {EM.stop} - } - assert ok - end - - - #----------------------------------------- - - # Test a server that returns a page with a zero content-length. - # This caused an early version of the HTTP client not to generate a response, - # causing this test to hang. Observe, there was no problem with responses - # lacking a content-length, just when the content-length was zero. - # - class EmptyContent < EM::Connection - def initialize *args - super - end - def receive_data data - send_data "HTTP/1.0 404 ...\r\nContent-length: 0\r\n\r\n" - close_connection_after_writing - end - end - - def test_http_empty_content - ok = false - EM.run { - EM.start_server "127.0.0.1", @port, EmptyContent - c = silent { EM::P::HttpClient.send :request, :host => "127.0.0.1", :port => @port } - c.callback { - ok = true - c.close_connection - EM.stop - } - } - assert ok - end - - - #--------------------------------------- - - class PostContent < EM::P::LineAndTextProtocol - def initialize *args - super - @lines = [] - end - def receive_line line - if line.length > 0 - @lines << line - else - process_headers - end - end - def receive_binary_data data - @post_content = data - send_response - end - def process_headers - if @lines.first =~ /\APOST ([^\s]+) HTTP\/1.1\Z/ - @uri = $1.dup - else - raise "bad request" - end - - @lines.each {|line| - if line =~ /\AContent-length:\s*(\d+)\Z/i - @content_length = $1.dup.to_i - elsif line =~ /\AContent-type:\s*(\d+)\Z/i - @content_type = $1.dup - end - } - - raise "invalid content length" unless @content_length - set_binary_mode @content_length - end - def send_response - send_data "HTTP/1.1 200 ...\r\nConnection: close\r\nContent-length: 10\r\nContent-type: text/html\r\n\r\n0123456789" - close_connection_after_writing - end - end - - # TODO, this is WRONG. The handler is asserting an HTTP 1.1 request, but the client - # is sending a 1.0 request. Gotta fix the client - def test_post - response = nil - EM.run { - EM.start_server '127.0.0.1', @port, PostContent - setup_timeout(2) - c = silent { EM::P::HttpClient.request( - :host => '127.0.0.1', - :port => @port, - :method => :post, - :request => "/aaa", - :content => "XYZ", - :content_type => "text/plain" - )} - c.callback {|r| - response = r - EM.stop - } - } - - assert_equal( 200, response[:status] ) - assert_equal( "0123456789", response[:content] ) - end - - - # TODO, need a more intelligent cookie tester. - # In fact, this whole test-harness needs a beefier server implementation. - def test_cookie - ok = false - EM.run { - c = silent { EM::Protocols::HttpClient.send :request, :host => "www.google.com", :port => 80, :cookie=>"aaa=bbb" } - c.callback { - ok = true - c.close_connection - EM.stop - } - c.errback {EM.stop} - } - assert ok - end - - # We can tell the client to send an HTTP/1.0 request (default is 1.1). - # This is useful for suppressing chunked responses until those are working. - def test_version_1_0 - ok = false - EM.run { - c = silent { EM::P::HttpClient.request( - :host => "www.google.com", - :port => 80, - :version => "1.0" - )} - c.callback { - ok = true - c.close_connection - EM.stop - } - c.errback {EM.stop} - } - assert ok - end - - #----------------------------------------- - - # Test a server that returns chunked encoding - # - class ChunkedEncodingContent < EventMachine::Connection - def initialize *args - super - end - def receive_data data - send_data ["HTTP/1.1 200 OK", - "Server: nginx/0.7.67", - "Date: Sat, 23 Oct 2010 16:41:32 GMT", - "Content-Type: application/json", - "Transfer-Encoding: chunked", - "Connection: keep-alive", - "", - "1800", - "chunk1" * 1024, - "5a", - "chunk2" * 15, - "0", - ""].join("\r\n") - close_connection_after_writing - end - end - - def test_http_chunked_encoding_content - ok = false - EM.run { - EM.start_server "127.0.0.1", @port, ChunkedEncodingContent - c = silent { EM::P::HttpClient.send :request, :host => "127.0.0.1", :port => @port } - c.callback { |result| - if result[:content] == "chunk1" * 1024 + "chunk2" * 15 - ok = true - end - c.close_connection - EM.stop - } - } - assert ok - end - -end - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_httpclient2.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_httpclient2.rb deleted file mode 100644 index a00fcbc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_httpclient2.rb +++ /dev/null @@ -1,128 +0,0 @@ -require 'em_test_helper' - -class TestHttpClient2 < Test::Unit::TestCase - class TestServer < EM::Connection - end - - def setup - @port = next_port - end - - # #connect returns an object which has made a connection to an HTTP server - # and exposes methods for making HTTP requests on that connection. - # #connect can take either a pair of parameters (a host and a port), - # or a single parameter which is a Hash. - # - def test_connect - EM.run { - setup_timeout(1) - EM.start_server '127.0.0.1', @port, TestServer - silent do - EM::P::HttpClient2.connect '127.0.0.1', @port - EM::P::HttpClient2.connect( :host=>'127.0.0.1', :port=>@port ) - end - EM.stop - } - end - - def test_bad_port - EM.run { - setup_timeout(1) - EM.start_server '127.0.0.1', @port, TestServer - assert_raises( ArgumentError ) { - silent { EM::P::HttpClient2.connect '127.0.0.1', "xxx" } - } - EM.stop - } - end - - def test_bad_server - err = nil - EM.run { - setup_timeout(1) - http = silent { EM::P::HttpClient2.connect '127.0.0.1', 9999 } - d = http.get "/" - d.errback { err = true; d.internal_error; EM.stop } - } - assert(err) - end - - def test_get - content = nil - EM.run { - setup_timeout(1) - http = silent { EM::P::HttpClient2.connect :host => "google.com", :port => 80, :version => '1.0' } - d = http.get "/" - d.callback { - content = d.content - EM.stop - } - } - assert(content) - end - - # Not a pipelined request because we wait for one response before we request the next. - # XXX this test is broken because it sends the second request to the first connection - # XXX right before the connection closes - def _test_get_multiple - content = nil - EM.run { - setup_timeout(1) - http = silent { EM::P::HttpClient2.connect "google.com", :version => '1.0' } - d = http.get "/" - d.callback { - e = http.get "/" - e.callback { - content = e.content - EM.stop - } - } - } - assert(content) - end - - def test_get_pipeline - headers, headers2 = nil, nil - EM.run { - setup_timeout(1) - http = silent { EM::P::HttpClient2.connect "google.com", 80 } - d = http.get("/") - d.callback { - headers = d.headers - } - e = http.get("/") - e.callback { - headers2 = e.headers - } - EM.tick_loop { EM.stop if headers && headers2 } - EM.add_timer(1) { EM.stop } - } - assert(headers) - assert(headers2) - end - - def test_authheader - EM.run { - setup_timeout(1) - EM.start_server '127.0.0.1', @port, TestServer - http = silent { EM::P::HttpClient2.connect '127.0.0.1', 18842 } - d = http.get :url=>"/", :authorization=>"Basic xxx" - d.callback {EM.stop} - d.errback {EM.stop} - } - end - - def test_https_get - omit_unless(EM.ssl?) - d = nil - EM.run { - setup_timeout(1) - http = silent { EM::P::HttpClient2.connect :host => 'www.google.com', :port => 443, :ssl => true, :version => '1.0' } - d = http.get "/" - d.callback {EM.stop} - d.errback {EM.stop} - } - assert_equal(200, d.status) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_idle_connection.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_idle_connection.rb deleted file mode 100644 index bfc57cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_idle_connection.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'em_test_helper' - -class TestIdleConnection < Test::Unit::TestCase - def setup - @port = next_port - end - - def test_idle_time - omit_if(!EM.respond_to?(:get_idle_time)) - - a, b = nil, nil - EM.run do - EM.start_server '127.0.0.1', @port, Module.new - conn = EM.connect '127.0.0.1', @port - EM.add_timer(0.3) do - a = conn.get_idle_time - conn.send_data 'a' - EM.next_tick do - EM.next_tick do - b = conn.get_idle_time - conn.close_connection - EM.stop - end - end - end - end - - assert_in_delta 0.3, a, 0.1 - assert_in_delta 0, b, 0.1 - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_inactivity_timeout.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_inactivity_timeout.rb deleted file mode 100644 index 15e39a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_inactivity_timeout.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'em_test_helper' - -class TestInactivityTimeout < Test::Unit::TestCase - - if EM.respond_to? :get_comm_inactivity_timeout - def test_default - EM.run { - c = EM.connect("127.0.0.1", 54321) - assert_equal 0.0, c.comm_inactivity_timeout - EM.stop - } - end - - def test_set_and_get - EM.run { - c = EM.connect("127.0.0.1", 54321) - c.comm_inactivity_timeout = 2.5 - assert_equal 2.5, c.comm_inactivity_timeout - EM.stop - } - end - - def test_for_real - start, finish = nil - - timeout_handler = Module.new do - define_method :unbind do - finish = Time.now - EM.stop - end - end - - EM.run { - setup_timeout - EM.heartbeat_interval = 0.01 - EM.start_server("127.0.0.1", 12345) - EM.add_timer(0.01) { - start = Time.now - c = EM.connect("127.0.0.1", 12345, timeout_handler) - c.comm_inactivity_timeout = 0.02 - } - } - - assert_in_delta(0.02, (finish - start), 0.02) - end - else - warn "EM.comm_inactivity_timeout not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_comm_inactivity_timeout_not_implemented - assert true - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ipv4.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ipv4.rb deleted file mode 100644 index bd11bbf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ipv4.rb +++ /dev/null @@ -1,95 +0,0 @@ -require 'em_test_helper' - -class TestIPv4 < Test::Unit::TestCase - # Runs a TCP server in the local IPv4 address, connects to it and sends a specific data. - # Timeout in 2 seconds. - def test_ipv4_tcp_local_server - omit_if(!Test::Unit::TestCase.public_ipv4?) - - @@received_data = nil - @local_port = next_port - setup_timeout(2) - - EM.run do - EM::start_server(@@public_ipv4, @local_port) do |s| - def s.receive_data data - @@received_data = data - EM.stop - end - end - - EM::connect(@@public_ipv4, @local_port) do |c| - c.send_data "ipv4/tcp" - end - end - - assert_equal "ipv4/tcp", @@received_data - end - - # Runs a UDP server in the local IPv4 address, connects to it and sends a specific data. - # Timeout in 2 seconds. - def test_ipv4_udp_local_server - omit_if(!Test::Unit::TestCase.public_ipv4?) - - @@received_data = nil - @local_port = next_port - setup_timeout(2) - - EM.run do - EM::open_datagram_socket(@@public_ipv4, @local_port) do |s| - def s.receive_data data - @@received_data = data - EM.stop - end - end - - EM::open_datagram_socket(@@public_ipv4, next_port) do |c| - c.send_datagram "ipv4/udp", @@public_ipv4, @local_port - end - end - - assert_equal "ipv4/udp", @@received_data - end - - # Try to connect via TCP to an invalid IPv4. EM.connect should raise - # EM::ConnectionError. - def test_tcp_connect_to_invalid_ipv4 - omit_if(!Test::Unit::TestCase.public_ipv4?) - - invalid_ipv4 = "9.9:9" - - EM.run do - begin - error = nil - EM.connect(invalid_ipv4, 1234) - rescue => e - error = e - ensure - EM.stop - assert_equal EM::ConnectionError, (error && error.class) - end - end - end - - # Try to send a UDP datagram to an invalid IPv4. EM.send_datagram should raise - # EM::ConnectionError. - def test_udp_send_datagram_to_invalid_ipv4 - omit_if(!Test::Unit::TestCase.public_ipv4?) - - invalid_ipv4 = "9.9:9" - - EM.run do - begin - error = nil - EM.open_datagram_socket(@@public_ipv4, next_port) do |c| - c.send_datagram "hello", invalid_ipv4, 1234 - end - rescue => e - error = e - ensure - EM.stop - assert_equal EM::ConnectionError, (error && error.class) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ipv6.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ipv6.rb deleted file mode 100644 index b52fef1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ipv6.rb +++ /dev/null @@ -1,107 +0,0 @@ -require 'em_test_helper' - -class TestIPv6 < Test::Unit::TestCase - - if Test::Unit::TestCase.public_ipv6? - - # Runs a TCP server in the local IPv6 address, connects to it and sends a specific data. - # Timeout in 2 seconds. - def test_ipv6_tcp_local_server - @@received_data = nil - @local_port = next_port - setup_timeout(2) - - EM.run do - EM.start_server(@@public_ipv6, @local_port) do |s| - def s.receive_data data - @@received_data = data - EM.stop - end - end - - EM::connect(@@public_ipv6, @local_port) do |c| - def c.unbind(reason) - warn "unbind: #{reason.inspect}" if reason # XXX at least find out why it failed - end - c.send_data "ipv6/tcp" - end - end - - assert_equal "ipv6/tcp", @@received_data - end - - # Runs a UDP server in the local IPv6 address, connects to it and sends a specific data. - # Timeout in 2 seconds. - def test_ipv6_udp_local_server - @@received_data = nil - @local_port = next_port - @@remote_ip = nil - setup_timeout(2) - - EM.run do - EM.open_datagram_socket(@@public_ipv6, @local_port) do |s| - def s.receive_data data - _port, @@remote_ip = Socket.unpack_sockaddr_in(get_peername) - @@received_data = data - EM.stop - end - end - - EM.open_datagram_socket(@@public_ipv6, next_port) do |c| - c.send_datagram "ipv6/udp", @@public_ipv6, @local_port - end - end - assert_equal @@remote_ip, @@public_ipv6 - assert_equal "ipv6/udp", @@received_data - end - - # Try to connect via TCP to an invalid IPv6. EM.connect should raise - # EM::ConnectionError. - def test_tcp_connect_to_invalid_ipv6 - invalid_ipv6 = "1:A" - - EM.run do - begin - error = nil - EM.connect(invalid_ipv6, 1234) - rescue => e - error = e - ensure - EM.stop - assert_equal EM::ConnectionError, (error && error.class) - end - end - end - - # Try to send a UDP datagram to an invalid IPv6. EM.send_datagram should raise - # EM::ConnectionError. - def test_udp_send_datagram_to_invalid_ipv6 - invalid_ipv6 = "1:A" - - EM.run do - begin - error = nil - EM.open_datagram_socket(@@public_ipv6, next_port) do |c| - c.send_datagram "hello", invalid_ipv6, 1234 - end - rescue => e - error = e - ensure - EM.stop - assert_equal EM::ConnectionError, (error && error.class) - end - end - end - - - else - warn "no IPv6 in this host, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests. - def test_ipv6_unavailable - assert true - end - - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_iterator.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_iterator.rb deleted file mode 100644 index 6ec4e46..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_iterator.rb +++ /dev/null @@ -1,118 +0,0 @@ -require 'em_test_helper' - -class TestIterator < Test::Unit::TestCase - - # By default, format the time with tenths-of-seconds. - # Some tests should ask for extra decimal places to ensure - # that delays between iterations will receive a changed time. - def get_time(n=1) - time = EM.current_time - time.strftime('%H:%M:%S.') + time.tv_usec.to_s[0, n] - end - - def test_default_concurrency - items = {} - list = 1..10 - EM.run { - EM::Iterator.new(list).each( proc {|num,iter| - time = get_time(3) - items[time] ||= [] - items[time] << num - EM::Timer.new(0.02) {iter.next} - }, proc {EM.stop}) - } - assert_equal(10, items.keys.size) - assert_equal(list.to_a.sort, items.values.flatten.sort) - end - - def test_default_concurrency_with_a_proc - items = {} - list = (1..10).to_a - original_list = list.dup - EM.run { - EM::Iterator.new(proc{list.pop || EM::Iterator::Stop}).each( proc {|num,iter| - time = get_time(3) - items[time] ||= [] - items[time] << num - EM::Timer.new(0.02) {iter.next} - }, proc {EM.stop}) - } - assert_equal(10, items.keys.size) - assert_equal(original_list.to_a.sort, items.values.flatten.sort) - end - - def test_concurrency_bigger_than_list_size - items = {} - list = [1,2,3] - EM.run { - EM::Iterator.new(list,10).each(proc {|num,iter| - time = get_time - items[time] ||= [] - items[time] << num - EM::Timer.new(1) {iter.next} - }, proc {EM.stop}) - } - assert_equal(1, items.keys.size) - assert_equal(list.to_a.sort, items.values.flatten.sort) - end - - def test_changing_concurrency_affects_active_iteration - items = {} - list = 1..25 - seen = 0 - EM.run { - i = EM::Iterator.new(list,1) - i.each(proc {|num,iter| - time = get_time - items[time] ||= [] - items[time] << num - if (seen += 1) == 5 - # The first 5 items will be distinct times - # The next 20 items will happen in 2 bursts - i.concurrency = 10 - end - EM::Timer.new(0.2) {iter.next} - }, proc {EM.stop}) - } - assert_in_delta(7, items.keys.size, 1) - assert_equal(list.to_a.sort, items.values.flatten.sort) - end - - def test_map - list = 100..150 - EM.run { - EM::Iterator.new(list).map(proc{ |num,iter| - EM.add_timer(0.01){ iter.return(num) } - }, proc{ |results| - assert_equal(list.to_a.size, results.size) - EM.stop - }) - } - end - - def test_inject - omit_if(windows?) - - list = %w[ pwd uptime uname date ] - EM.run { - EM::Iterator.new(list, 2).inject({}, proc{ |hash,cmd,iter| - EM.system(cmd){ |output,status| - hash[cmd] = status.exitstatus == 0 ? output.strip : nil - iter.return(hash) - } - }, proc{ |results| - assert_equal(results.keys.sort, list.sort) - EM.stop - }) - } - end - - def test_concurrency_is_0 - EM.run { - assert_raise ArgumentError do - EM::Iterator.new(1..5,0) - end - EM.stop - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_kb.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_kb.rb deleted file mode 100644 index 9c31f5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_kb.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'em_test_helper' - -class TestKeyboardEvents < Test::Unit::TestCase - - module KbHandler - include EM::Protocols::LineText2 - def receive_line d - EM::stop if d == "STOP" - end - end - - # This test doesn't actually do anything useful but is here to - # illustrate the usage. If you removed the timer and ran this test - # by itself on a console, and then typed into the console, it would - # work. - # I don't know how to get the test harness to simulate actual keystrokes. - # When someone figures that out, then we can make this a real test. - # - def test_kb - omit_if(jruby?) - omit_if(!$stdout.tty?) # don't run the test unless it stands a chance of validity. - EM.run do - EM.open_keyboard KbHandler - EM::Timer.new(1) { EM.stop } - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_line_protocol.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_line_protocol.rb deleted file mode 100644 index 2067a72..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_line_protocol.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'em_test_helper' - -class TestLineProtocol < Test::Unit::TestCase - class LineProtocolTestClass - include EM::Protocols::LineProtocol - - def lines - @lines ||= [] - end - - def receive_line(line) - lines << line - end - end - - def setup - @proto = LineProtocolTestClass.new - end - - def test_simple_split_line - @proto.receive_data("this is") - assert_equal([], @proto.lines) - - @proto.receive_data(" a test\n") - assert_equal(["this is a test"], @proto.lines) - end - - def test_simple_lines - @proto.receive_data("aaa\nbbb\r\nccc\nddd") - assert_equal(%w(aaa bbb ccc), @proto.lines) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ltp.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ltp.rb deleted file mode 100644 index 06c2685..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ltp.rb +++ /dev/null @@ -1,155 +0,0 @@ -require 'em_test_helper' - -class TestLineAndTextProtocol < Test::Unit::TestCase - - class TLP_LineBuffer < EM::P::LineAndTextProtocol - attr_reader :line_buffer - - def initialize - super - @line_buffer = [] - end - - def receive_line line - @line_buffer << line - end - end - - module StopClient - def set_receive_data(&blk) - @rdb = blk - end - - def receive_data data - @rdb.call(data) if @rdb - end - - def unbind - EM.add_timer(0.1) { EM.stop } - end - end - - def setup - @port = next_port - end - - def test_simple_lines - conn = nil - EM.run { - EM.start_server( "127.0.0.1", @port, TLP_LineBuffer ) do |c| - conn = c - end - setup_timeout - - EM.connect "127.0.0.1", @port, StopClient do |c| - c.send_data "aaa\nbbb\r\nccc\n" - c.close_connection_after_writing - end - } - assert_equal( %w(aaa bbb ccc), conn.line_buffer) - end - - #-------------------------------------------------------------------- - - class TLP_ErrorMessage < EM::P::LineAndTextProtocol - attr_reader :error_message - - def initialize - super - @error_message = [] - end - - def receive_line text - raise - end - - def receive_error text - @error_message << text - end - end - - def test_overlength_lines - conn = nil - EM.run { - EM.start_server( "127.0.0.1", @port, TLP_ErrorMessage ) do |c| - conn = c - end - setup_timeout - EM.connect "127.0.0.1", @port, StopClient do |c| - c.send_data "a" * (16*1024 + 1) - c.send_data "\n" - c.close_connection_after_writing - end - - } - assert_equal( ["overlength line"], conn.error_message ) - end - - - #-------------------------------------------------------------------- - - class LineAndTextTest < EM::P::LineAndTextProtocol - def receive_line line - if line =~ /content-length:\s*(\d+)/i - @content_length = $1.to_i - elsif line.length == 0 - set_binary_mode @content_length - end - end - def receive_binary_data text - send_data "received #{text.length} bytes" - close_connection_after_writing - end - end - - def test_lines_and_text - output = '' - EM.run { - EM.start_server( "127.0.0.1", @port, LineAndTextTest ) - setup_timeout - - EM.connect "127.0.0.1", @port, StopClient do |c| - c.set_receive_data { |data| output << data } - c.send_data "Content-length: 400\n" - c.send_data "\n" - c.send_data "A" * 400 - EM.add_timer(0.1) { c.close_connection_after_writing } - end - } - assert_equal( "received 400 bytes", output ) - end - - #-------------------------------------------------------------------- - - - class BinaryTextTest < EM::P::LineAndTextProtocol - def receive_line line - if line =~ /content-length:\s*(\d+)/i - set_binary_mode $1.to_i - else - raise "protocol error" - end - end - def receive_binary_data text - send_data "received #{text.length} bytes" - close_connection_after_writing - end - end - - def test_binary_text - output = '' - EM.run { - EM.start_server( "127.0.0.1", @port, BinaryTextTest ) - setup_timeout - - EM.connect "127.0.0.1", @port, StopClient do |c| - c.set_receive_data { |data| output << data } - c.send_data "Content-length: 10000\n" - c.send_data "A" * 10000 - EM.add_timer(0.1) { c.close_connection_after_writing } - end - } - assert_equal( "received 10000 bytes", output ) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ltp2.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ltp2.rb deleted file mode 100644 index 220fcbe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ltp2.rb +++ /dev/null @@ -1,332 +0,0 @@ -require 'em_test_helper' - -# TODO!!! Need tests for overlength headers and text bodies. - -class TestLineText2 < Test::Unit::TestCase - - # Run each of these tests two ways: passing in the whole test-dataset in one chunk, - # and passing it in one character at a time. - - class Basic - include EM::Protocols::LineText2 - attr_reader :lines - def receive_line line - (@lines ||= []) << line - end - end - def test_basic - testdata = "Line 1\nLine 2\r\nLine 3\n" - - a = Basic.new - a.receive_data testdata - assert_equal( ["Line 1", "Line 2", "Line 3"], a.lines ) - - a = Basic.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( ["Line 1", "Line 2", "Line 3"], a.lines ) - end - - # The basic test above shows that extra newlines are chomped - # This test shows that newlines are preserved if the delimiter isn't \n - class PreserveNewlines - include EM::Protocols::LineText2 - attr_reader :lines - def initialize *args - super - @delim = "|" - set_delimiter @delim - end - def receive_line line - (@lines ||= []) << line - end - end - def test_preserve_newlines - a = PreserveNewlines.new - a.receive_data "aaa|bbb|ccc|\n|\r\n| \t ||" - assert_equal( ["aaa", "bbb", "ccc", "\n", "\r\n", " \t ", ""], a.lines ) - end - - class ChangeDelimiter - include EM::Protocols::LineText2 - attr_reader :lines - def initialize *args - super - @delim = "A" - set_delimiter @delim - end - def receive_line line - (@lines ||= []) << line - set_delimiter( @delim.succ! ) - end - end - - def test_change_delimiter - testdata = %Q(LineaALinebBLinecCLinedD) - - a = ChangeDelimiter.new - a.receive_data testdata - assert_equal( ["Linea", "Lineb", "Linec", "Lined"], a.lines ) - - a = ChangeDelimiter.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( ["Linea", "Lineb", "Linec", "Lined"], a.lines ) - end - - class RegexDelimiter - include EM::Protocols::LineText2 - attr_reader :lines - def initialize *args - super - @delim = /[A-D]/ - set_delimiter @delim - end - def receive_line line - (@lines ||= []) << line - end - end - - def test_regex_delimiter - testdata = %Q(LineaALinebBLinecCLinedD) - - a = RegexDelimiter.new - a.receive_data testdata - assert_equal( ["Linea", "Lineb", "Linec", "Lined"], a.lines ) - - a = RegexDelimiter.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( ["Linea", "Lineb", "Linec", "Lined"], a.lines ) - end - - #-- - # Test two lines followed by an empty line, ten bytes of binary data, then - # two more lines. - - class Binary - include EM::Protocols::LineText2 - attr_reader :lines, :body - def initialize *args - super - @lines = [] - @body = nil - end - def receive_line ln - if ln == "" - set_text_mode 10 - else - @lines << ln - end - end - def receive_binary_data data - @body = data - end - end - - def test_binary - testdata = %Q(Line 1 -Line 2 - -0000000000Line 3 -Line 4 -) - - a = Binary.new - a.receive_data testdata - assert_equal( ["Line 1", "Line 2", "Line 3", "Line 4"], a.lines) - assert_equal( "0000000000", a.body ) - - a = Binary.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( ["Line 1", "Line 2", "Line 3", "Line 4"], a.lines) - assert_equal( "0000000000", a.body ) - end - - - # Test unsized binary data. The expectation is that each chunk of it - # will be passed to us as it it received. - class UnsizedBinary - include EM::Protocols::LineText2 - attr_reader :n_calls, :body - def initialize *args - super - set_text_mode - end - def receive_binary_data data - @n_calls ||= 0 - @n_calls += 1 - (@body ||= "") << data - end - end - - def test_unsized_binary - testdata = "X\0" * 1000 - - a = UnsizedBinary.new - a.receive_data testdata - assert_equal( 1, a.n_calls ) - assert_equal( testdata, a.body ) - - a = UnsizedBinary.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( 2000, a.n_calls ) - assert_equal( testdata, a.body ) - end - - - # Test binary data with a "throw back" into line-mode. - class ThrowBack - include EM::Protocols::LineText2 - attr_reader :headers - def initialize *args - super - @headers = [] - @n_bytes = 0 - set_text_mode - end - def receive_binary_data data - wanted = 25 - @n_bytes - will_take = if data.length > wanted - data.length - wanted - else - data.length - end - @n_bytes += will_take - - if @n_bytes == 25 - set_line_mode( data[will_take..-1] ) - end - end - def receive_line ln - @headers << ln - end - end - def test_throw_back - testdata = "Line\n" * 10 - - a = ThrowBack.new - a.receive_data testdata - assert_equal( ["Line"] * 5, a.headers ) - - a = ThrowBack.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( ["Line"] * 5, a.headers ) - end - - # Test multi-character line delimiters. - # Also note that the test data has a "tail" with no delimiter, that will be - # discarded, but cf. the BinaryTail test. - # TODO!!! This test doesn't work in the byte-by-byte case. - class Multichar - include EM::Protocols::LineText2 - attr_reader :lines - def initialize *args - super - @lines = [] - set_delimiter "012" - end - def receive_line ln - @lines << ln - end - end - def test_multichar - testdata = "Line012Line012Line012Line" - - a = Multichar.new - a.receive_data testdata - assert_equal( ["Line"]*3, a.lines ) - - a = Multichar.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - # DOESN'T WORK in this case. Multi-character delimiters are broken. - #assert_equal( ["Line"]*3, a.lines ) - end - - # Test a binary "tail," when a sized binary transfer doesn't complete because - # of an unbind. We get a partial result. - class BinaryTail - include EM::Protocols::LineText2 - attr_reader :data - def initialize *args - super - @data = "" - set_text_mode 1000 - end - def receive_binary_data data - # we expect to get all the data in one chunk, even in the byte-by-byte case, - # because sized transfers by definition give us exactly one call to - # #receive_binary_data. - @data = data - end - end - def test_binary_tail - testdata = "0" * 500 - - a = BinaryTail.new - a.receive_data testdata - a.unbind - assert_equal( "0" * 500, a.data ) - - a = BinaryTail.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - a.unbind - assert_equal( "0" * 500, a.data ) - end - - - # Test an end-of-binary call. Arrange to receive binary data but don't bother counting it - # as it comes. Rely on getting receive_end_of_binary_data to signal the transition back to - # line mode. - # At the present time, this isn't strictly necessary with sized binary chunks because by - # definition we accumulate them and make exactly one call to receive_binary_data, but - # we may want to support a mode in the future that would break up large chunks into multiple - # calls. - class LazyBinary - include EM::Protocols::LineText2 - attr_reader :data, :end - def initialize *args - super - @data = "" - set_text_mode 1000 - end - def receive_binary_data data - # we expect to get all the data in one chunk, even in the byte-by-byte case, - # because sized transfers by definition give us exactly one call to - # #receive_binary_data. - @data = data - end - def receive_end_of_binary_data - @end = true - end - end - def test_receive_end_of_binary_data - testdata = "_" * 1000 - a = LazyBinary.new - testdata.length.times {|i| a.receive_data( testdata[i...i+1] ) } - assert_equal( "_" * 1000, a.data ) - assert( a.end ) - end - - - # This tests a bug fix in which calling set_text_mode failed when called - # inside receive_binary_data. - # - class BinaryPair - include EM::Protocols::LineText2 - attr_reader :sizes - def initialize *args - super - set_text_mode 1 - @sizes = [] - end - def receive_binary_data dt - @sizes << dt.length - set_text_mode( (dt.length == 1) ? 2 : 1 ) - end - end - def test_binary_pairs - test_data = "123" * 5 - a = BinaryPair.new - a.receive_data test_data - assert_equal( [1,2,1,2,1,2,1,2,1,2], a.sizes ) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_many_fds.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_many_fds.rb deleted file mode 100644 index 7c126dc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_many_fds.rb +++ /dev/null @@ -1,22 +0,0 @@ -require 'em_test_helper' -require 'socket' - -class TestManyFDs < Test::Unit::TestCase - def setup - @port = next_port - end - - def test_connection_class_cache - mod = Module.new - a = nil - Process.setrlimit(Process::RLIMIT_NOFILE, 4096) rescue nil - EM.run { - EM.start_server '127.0.0.1', @port, mod - 1100.times do - a = EM.connect '127.0.0.1', @port, mod - assert_kind_of EM::Connection, a - end - EM.stop - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_next_tick.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_next_tick.rb deleted file mode 100644 index 9b60359..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_next_tick.rb +++ /dev/null @@ -1,104 +0,0 @@ -require 'em_test_helper' - -class TestNextTick < Test::Unit::TestCase - - def test_tick_arg - pr = proc {EM.stop} - EM.run { - EM.next_tick pr - } - assert true - end - - def test_tick_block - EM.run { - EM.next_tick {EM.stop} - } - assert true - end - - # This illustrates the solution to a long-standing problem. - # It's now possible to correctly nest calls to EM#run. - # See the source code commentary for EM#run for more info. - # - def test_run_run - EM.run { - EM.run { - EM.next_tick {EM.stop} - } - } - end - - def test_pre_run_queue - x = false - EM.next_tick { EM.stop; x = true } - EM.run { EM.add_timer(0.01) { EM.stop } } - assert x - end - - def test_cleanup_after_stop - x = true - EM.run{ - EM.next_tick{ - EM.stop - EM.next_tick{ x=false } - } - } - EM.run{ - EM.next_tick{ EM.stop } - } - assert x - end - - # We now support an additional parameter for EM#run. - # You can pass two procs to EM#run now. The first is executed as the normal - # run block. The second (if given) is scheduled for execution after the - # reactor loop completes. - # The reason for supporting this is subtle. There has always been an expectation - # that EM#run doesn't return until after the reactor loop ends. But now it's - # possible to nest calls to EM#run, which means that a nested call WILL - # RETURN. In order to write code that will run correctly either way, it's - # recommended to put any code which must execute after the reactor completes - # in the second parameter. - # - def test_run_run_2 - a = proc {EM.stop} - b = proc {assert true} - EM.run a, b - end - - - # This illustrates that EM#run returns when it's called nested. - # This isn't a feature, rather it's something to be wary of when writing code - # that must run correctly even if EM#run is called while a reactor is already - # running. - def test_run_run_3 - a = [] - EM.run { - EM.run proc {EM.stop}, proc {a << 2} - a << 1 - } - assert_equal( [1,2], a ) - end - - - def test_schedule_on_reactor_thread - x = false - EM.run do - EM.schedule { x = true } - EM.stop - end - assert x - end - - def test_schedule_from_thread - x = false - EM.run do - Thread.new { EM.schedule { x = true } }.join - assert !x - EM.next_tick { EM.stop } - end - assert x - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_object_protocol.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_object_protocol.rb deleted file mode 100644 index b1287ea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_object_protocol.rb +++ /dev/null @@ -1,36 +0,0 @@ -require 'em_test_helper' - -class TestObjectProtocol < Test::Unit::TestCase - module Server - include EM::P::ObjectProtocol - def post_init - send_object :hello=>'world' - end - def receive_object obj - $server = obj - EM.stop - end - end - - module Client - include EM::P::ObjectProtocol - def receive_object obj - $client = obj - send_object 'you_said'=>obj - end - end - - def setup - @port = next_port - end - - def test_send_receive - EM.run{ - EM.start_server "127.0.0.1", @port, Server - EM.connect "127.0.0.1", @port, Client - } - - assert($client == {:hello=>'world'}) - assert($server == {'you_said'=>{:hello=>'world'}}) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pause.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pause.rb deleted file mode 100644 index d078a77..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pause.rb +++ /dev/null @@ -1,107 +0,0 @@ -require 'em_test_helper' - -class TestPause < Test::Unit::TestCase - if EM.respond_to? :pause_connection - def setup - @port = next_port - end - - def teardown - assert(!EM.reactor_running?) - end - - def test_pause_resume - server = nil - - s_rx = c_rx = 0 - - test_server = Module.new do - define_method :post_init do - server = self - end - - define_method :receive_data do |data| - s_rx += 1 - - EM.add_periodic_timer(0.01) { send_data 'hi' } - send_data 'hi' - - # pause server, now no outgoing data will actually - # be sent and no more incoming data will be received - pause - end - end - - test_client = Module.new do - def post_init - EM.add_periodic_timer(0.01) do - send_data 'hello' - end - end - - define_method :receive_data do |data| - c_rx += 1 - end - end - - EM.run do - EM.start_server "127.0.0.1", @port, test_server - EM.connect "127.0.0.1", @port, test_client - - EM.add_timer(0.05) do - assert_equal 1, s_rx - assert_equal 0, c_rx - assert server.paused? - - # resume server, queued outgoing and incoming data will be flushed - server.resume - - assert !server.paused? - - EM.add_timer(0.05) do - assert server.paused? - assert s_rx > 1 - assert c_rx > 0 - EM.stop - end - end - end - end - - def test_pause_in_receive_data - incoming = [] - - test_server = Module.new do - define_method(:receive_data) do |data| - incoming << data - pause - EM.add_timer(0.5){ close_connection } - end - define_method(:unbind) do - EM.stop - end - end - - buf = 'a' * 1024 - - EM.run do - EM.start_server "127.0.0.1", @port, test_server - cli = EM.connect "127.0.0.1", @port - 128.times do - cli.send_data buf - end - end - - assert_equal 1, incoming.size - assert incoming[0].bytesize > buf.bytesize - assert incoming[0].bytesize < buf.bytesize * 128 - end - else - warn "EM.pause_connection not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_pause_connection_not_implemented - assert true - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pending_connect_timeout.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pending_connect_timeout.rb deleted file mode 100644 index a3f7fa4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pending_connect_timeout.rb +++ /dev/null @@ -1,52 +0,0 @@ -require 'em_test_helper' - -class TestPendingConnectTimeout < Test::Unit::TestCase - - if EM.respond_to? :get_pending_connect_timeout - def test_default - EM.run { - c = EM.connect("127.0.0.1", 54321) - assert_equal 20.0, c.pending_connect_timeout - EM.stop - } - end - - def test_set_and_get - EM.run { - c = EM.connect("127.0.0.1", 54321) - c.pending_connect_timeout = 2.5 - assert_equal 2.5, c.pending_connect_timeout - EM.stop - } - end - - def test_for_real - start, finish = nil - - timeout_handler = Module.new do - define_method :unbind do - finish = EM.current_time - EM.stop - end - end - - EM.run { - setup_timeout - EM.heartbeat_interval = 0.1 - start = EM.current_time - c = EM.connect('192.0.2.0', 54321, timeout_handler) - c.pending_connect_timeout = 0.2 - } - - assert_in_delta(0.2, (finish - start), 0.1) - end - else - warn "EM.pending_connect_timeout not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_pending_connect_timeout_not_implemented - assert true - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pool.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pool.rb deleted file mode 100644 index f859a9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pool.rb +++ /dev/null @@ -1,196 +0,0 @@ -require 'em_test_helper' - -class TestPool < Test::Unit::TestCase - def pool - @pool ||= EM::Pool.new - end - - def go - EM.run { yield } - end - - def stop - EM.stop - end - - def deferrable - @deferrable ||= EM::DefaultDeferrable.new - end - - def test_supports_more_work_than_resources - ran = false - go do - pool.perform do - ran = true - deferrable - end - stop - end - assert_equal false, ran - go do - pool.add :resource - stop - end - assert_equal true, ran - end - - def test_reques_resources_on_error - pooled_res, pooled_res2 = nil - pool.add :res - go do - pool.perform do |res| - pooled_res = res - deferrable - end - stop - end - deferrable.fail - go do - pool.perform do |res| - pooled_res2 = res - deferrable - end - stop - end - assert_equal :res, pooled_res - assert_equal pooled_res, pooled_res2 - end - - def test_supports_custom_on_error - eres = nil - pool.on_error do |res| - eres = res - end - performs = [] - pool.add :res - go do - pool.perform do |res| - performs << res - deferrable - end - pool.perform do |res| - performs << res - deferrable - end - deferrable.fail - stop - end - assert_equal :res, eres - # manual requeues required when error handler is installed: - assert_equal 1, performs.size - assert_equal :res, performs.first - end - - def test_catches_successful_deferrables - performs = [] - pool.add :res - go do - pool.perform { |res| performs << res; deferrable } - pool.perform { |res| performs << res; deferrable } - stop - end - assert_equal [:res], performs - deferrable.succeed - go { stop } - assert_equal [:res, :res], performs - end - - def test_prunes_locked_and_removed_resources - performs = [] - pool.add :res - deferrable.succeed - go do - pool.perform { |res| performs << res; pool.remove res; deferrable } - pool.perform { |res| performs << res; pool.remove res; deferrable } - stop - end - assert_equal [:res], performs - end - - # Contents is only to be used for inspection of the pool! - def test_contents - pool.add :res - assert_equal [:res], pool.contents - # Assert that modifying the contents list does not affect the pools - # contents. - pool.contents.delete(:res) - assert_equal [:res], pool.contents - end - - def test_contents_when_perform_errors_and_on_error_is_not_set - pool.add :res - assert_equal [:res], pool.contents - - pool.perform do |r| - d = EM::DefaultDeferrable.new - d.fail - d - end - - EM.run { EM.next_tick { EM.stop } } - - assert_equal [:res], pool.contents - end - - def test_contents_when_perform_errors_and_on_error_is_set - pool.add :res - res = nil - pool.on_error do |r| - res = r - end - assert_equal [:res], pool.contents - - pool.perform do |r| - d = EM::DefaultDeferrable.new - d.fail 'foo' - d - end - - EM.run { EM.next_tick { EM.stop } } - - assert_equal :res, res - assert_equal [], pool.contents - end - - def test_num_waiting - pool.add :res - assert_equal 0, pool.num_waiting - pool.perform { |r| EM::DefaultDeferrable.new } - assert_equal 0, pool.num_waiting - 10.times { pool.perform { |r| EM::DefaultDeferrable.new } } - EM.run { EM.next_tick { EM.stop } } - assert_equal 10, pool.num_waiting - end - - def test_exceptions_in_the_work_block_bubble_up_raise_and_fail_the_resource - pool.add :res - - res = nil - pool.on_error { |r| res = r } - pool.perform { raise 'boom' } - - assert_raises(RuntimeError) do - EM.run { EM.next_tick { EM.stop } } - end - - assert_equal [], pool.contents - assert_equal :res, res - end - - def test_removed_list_does_not_leak_on_errors - pool.add :res - - pool.on_error do |r| - # This is actually the wrong thing to do, and not required, but some users - # might do it. When they do, they would find that @removed would cause a - # slow leak. - pool.remove r - end - - pool.perform { d = EM::DefaultDeferrable.new; d.fail; d } - - EM.run { EM.next_tick { EM.stop } } - assert_equal [], pool.instance_variable_get(:@removed) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_process_watch.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_process_watch.rb deleted file mode 100644 index 6e0c49a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_process_watch.rb +++ /dev/null @@ -1,50 +0,0 @@ -require 'em_test_helper' - -if EM.kqueue? - class TestProcessWatch < Test::Unit::TestCase - module ParentProcessWatcher - def process_forked - $forked = true - end - end - - module ChildProcessWatcher - def process_exited - $exited = true - end - def unbind - $unbind = true - EM.stop - end - end - - def setup - EM.kqueue = true - end - - def teardown - EM.kqueue = false - end - - def test_events - omit_if(rbx?) - omit_if(jruby?) - EM.run{ - # watch ourselves for a fork notification - EM.watch_process(Process.pid, ParentProcessWatcher) - $fork_pid = fork{ sleep } - child = EM.watch_process($fork_pid, ChildProcessWatcher) - $pid = child.pid - - EM.add_timer(0.2){ - Process.kill('TERM', $fork_pid) - } - } - - assert_equal($pid, $fork_pid) - assert($forked) - assert($exited) - assert($unbind) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_processes.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_processes.rb deleted file mode 100644 index dd03cf0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_processes.rb +++ /dev/null @@ -1,128 +0,0 @@ -require 'em_test_helper' - -class TestProcesses < Test::Unit::TestCase - - if !windows? && !jruby? - - # EM::DeferrableChildProcess is a sugaring of a common use-case - # involving EM::popen. - # Call the #open method on EM::DeferrableChildProcess, passing - # a command-string. #open immediately returns an EM::Deferrable - # object. It also schedules the forking of a child process, which - # will execute the command passed to #open. - # When the forked child terminates, the Deferrable will be signalled - # and execute its callbacks, passing the data that the child process - # wrote to stdout. - # - def test_deferrable_child_process - ls = "" - EM.run { - d = EM::DeferrableChildProcess.open( "ls -ltr" ) - d.callback {|data_from_child| - ls = data_from_child - EM.stop - } - } - assert( ls.length > 0) - end - - def setup - $out = nil - $status = nil - end - - def test_em_system - EM.run{ - EM.system('ls'){ |out,status| $out, $status = out, status; EM.stop } - } - - assert( $out.length > 0 ) - assert_equal(0, $status.exitstatus) - assert_kind_of(Process::Status, $status) - end - - def test_em_system_pid - $pids = [] - - EM.run{ - $pids << EM.system('echo hi', proc{ |out,status|$pids << status.pid; EM.stop }) - } - - assert_equal $pids[0], $pids[1] - end - - def test_em_system_with_proc - EM.run{ - EM.system('ls', proc{ |out,status| $out, $status = out, status; EM.stop }) - } - - assert( $out.length > 0 ) - assert_equal(0, $status.exitstatus) - assert_kind_of(Process::Status, $status) - end - - def test_em_system_with_two_procs - EM.run{ - EM.system('sh', proc{ |process| - process.send_data("echo hello\n") - process.send_data("exit\n") - }, proc{ |out,status| - $out = out - $status = status - EM.stop - }) - } - - assert_equal("hello\n", $out) - end - - def test_em_system_cmd_arguments - EM.run{ - EM.system('echo', '1', '2', 'version', proc{ |process| - }, proc{ |out,status| - $out = out - $status = status - EM.stop - }) - } - - assert_match(/1 2 version/i, $out) - end - - def test_em_system_spaced_arguments - EM.run{ - EM.system('ruby', '-e', 'puts "hello"', proc{ |out,status| - $out = out - EM.stop - }) - } - - assert_equal("hello\n", $out) - end - - def test_em_popen_pause_resume - c_rx = 0 - - test_client = Module.new do - define_method :receive_data do |data| - c_rx += 1 - pause - EM.add_timer(0.5) { EM.stop } - end - end - - EM.run do - EM.popen('echo 1', test_client) - end - - assert_equal 1, c_rx - end - else - warn "EM.popen not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_popen_unsupported - assert true - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_proxy_connection.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_proxy_connection.rb deleted file mode 100644 index 11c0fb4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_proxy_connection.rb +++ /dev/null @@ -1,180 +0,0 @@ -require 'em_test_helper' - -class TestProxyConnection < Test::Unit::TestCase - - if EM.respond_to?(:start_proxy) - module ProxyConnection - def initialize(client, request) - @client, @request = client, request - end - - def post_init - EM::enable_proxy(self, @client) - end - - def connection_completed - EM.next_tick { - send_data @request - } - end - - def proxy_target_unbound - $unbound_early = true - EM.stop - end - - def unbind - $proxied_bytes = self.get_proxied_bytes - @client.close_connection_after_writing - end - end - - module PartialProxyConnection - def initialize(client, request, length) - @client, @request, @length = client, request, length - end - - def post_init - EM::enable_proxy(self, @client, 0, @length) - end - - def receive_data(data) - $unproxied_data = data - @client.send_data(data) - end - - def connection_completed - EM.next_tick { - send_data @request - } - end - - def proxy_target_unbound - $unbound_early = true - EM.stop - end - - def proxy_completed - $proxy_completed = true - end - - def unbind - @client.close_connection_after_writing - end - end - - module Client - def connection_completed - send_data "EM rocks!" - end - - def receive_data(data) - $client_data = data - end - - def unbind - EM.stop - end - end - - module Client2 - include Client - def unbind; end - end - - module Server - def receive_data(data) - send_data "I know!" if data == "EM rocks!" - close_connection_after_writing - end - end - - module ProxyServer - def initialize port - @port = port - end - - def receive_data(data) - @proxy = EM.connect("127.0.0.1", @port, ProxyConnection, self, data) - end - end - - module PartialProxyServer - def initialize port - @port = port - end - - def receive_data(data) - EM.connect("127.0.0.1", @port, PartialProxyConnection, self, data, 1) - end - end - - module EarlyClosingProxy - def initialize port - @port = port - end - - def receive_data(data) - EM.connect("127.0.0.1", @port, ProxyConnection, self, data) - close_connection - end - end - - def setup - @port = next_port - @proxy_port = next_port - end - - def test_proxy_connection - EM.run { - EM.start_server("127.0.0.1", @port, Server) - EM.start_server("127.0.0.1", @proxy_port, ProxyServer, @port) - EM.connect("127.0.0.1", @proxy_port, Client) - } - - assert_equal("I know!", $client_data) - end - - def test_proxied_bytes - EM.run { - EM.start_server("127.0.0.1", @port, Server) - EM.start_server("127.0.0.1", @proxy_port, ProxyServer, @port) - EM.connect("127.0.0.1", @proxy_port, Client) - } - - assert_equal("I know!", $client_data) - assert_equal("I know!".bytesize, $proxied_bytes) - end - - def test_partial_proxy_connection - EM.run { - EM.start_server("127.0.0.1", @port, Server) - EM.start_server("127.0.0.1", @proxy_port, PartialProxyServer, @port) - EM.connect("127.0.0.1", @proxy_port, Client) - } - - assert_equal("I know!", $client_data) - assert_equal(" know!", $unproxied_data) - assert($proxy_completed) - end - - def test_early_close - $client_data = nil - EM.run { - EM.start_server("127.0.0.1", @port, Server) - EM.start_server("127.0.0.1", @proxy_port, EarlyClosingProxy, @port) - EM.connect("127.0.0.1", @proxy_port, Client2) - } - - assert($unbound_early) - end - else - warn "EM.start_proxy not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_start_proxy_not_implemented - assert !EM.respond_to?(:start_proxy) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pure.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pure.rb deleted file mode 100644 index 8863a8d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_pure.rb +++ /dev/null @@ -1,139 +0,0 @@ -require 'em_test_helper' - -class TestPure < Test::Unit::TestCase - - def setup - @port = next_port - end - - # These tests are intended to exercise problems that come up in the - # pure-Ruby implementation. However, we DON'T constrain them such that - # they only run in pure-Ruby. These tests need to work identically in - # any implementation. - - #------------------------------------- - - # The EM reactor needs to run down open connections and release other resources - # when it stops running. Make sure this happens even if user code throws a Ruby - # exception. - # If exception handling is incorrect, the second test will fail with a no-bind error - # because the TCP server opened in the first test will not have been closed. - - def test_exception_handling_releases_resources - exception = Class.new(StandardError) - - 2.times do - assert_raises(exception) do - EM.run do - EM.start_server "127.0.0.1", @port - raise exception - end - end - end - end - - # Under some circumstances, the pure Ruby library would emit an Errno::ECONNREFUSED - # exception on certain kinds of TCP connect-errors. - # It's always been something of an open question whether EM should throw an exception - # in these cases but the defined answer has always been to catch it the unbind method. - # With a connect failure, the latter will always fire, but connection_completed will - # never fire. So even though the point is arguable, it's incorrect for the pure Ruby - # version to throw an exception. - module TestConnrefused - def unbind - EM.stop - end - def connection_completed - raise "should never get here" - end - end - - def test_connrefused - assert_nothing_raised do - EM.run { - setup_timeout(2) - EM.connect "127.0.0.1", @port, TestConnrefused - } - end - end - - # Make sure connection_completed gets called as expected with TCP clients. This is the - # opposite of test_connrefused. - # If the test fails, it will hang because EM.stop never gets called. - # - module TestConnaccepted - def connection_completed - EM.stop - end - end - def test_connaccepted - assert_nothing_raised do - EM.run { - EM.start_server "127.0.0.1", @port - EM.connect "127.0.0.1", @port, TestConnaccepted - setup_timeout(1) - } - end - end - - def test_reactor_running - a = false - EM.run { - a = EM.reactor_running? - EM.next_tick {EM.stop} - } - assert a - end - - module TLSServer - def post_init - start_tls - end - - def ssl_handshake_completed - $server_handshake_completed = true - end - - def receive_data(data) - $server_received_data = data - send_data(data) - end - end - - module TLSClient - def post_init - start_tls - end - - def ssl_handshake_completed - $client_handshake_completed = true - end - - def connection_completed - send_data('Hello World!') - end - - def receive_data(data) - $client_received_data = data - close_connection - end - - def unbind - EM.stop_event_loop - end - end - - def test_start_tls - $client_handshake_completed, $server_handshake_completed = false, false - $client_received_data, $server_received_data = nil, nil - EM.run do - EM.start_server("127.0.0.1", 16789, TLSServer) - EM.connect("127.0.0.1", 16789, TLSClient) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - assert($client_received_data == "Hello World!") - assert($server_received_data == "Hello World!") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_queue.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_queue.rb deleted file mode 100644 index 34278c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_queue.rb +++ /dev/null @@ -1,64 +0,0 @@ -require 'em_test_helper' - -class TestEMQueue < Test::Unit::TestCase - def test_queue_push - s = 0 - EM.run do - q = EM::Queue.new - q.push(1) - EM.next_tick { s = q.size; EM.stop } - end - assert_equal 1, s - end - - def test_queue_pop - x,y,z = nil - EM.run do - q = EM::Queue.new - q.push(1,2,3) - q.pop { |v| x = v } - q.pop { |v| y = v } - q.pop { |v| z = v; EM.stop } - end - assert_equal 1, x - assert_equal 2, y - assert_equal 3, z - end - - def test_queue_reactor_thread - q = EM::Queue.new - - Thread.new { q.push(1,2,3) }.join - assert q.empty? - EM.run { EM.next_tick { EM.stop } } - assert_equal 3, q.size - - x = nil - Thread.new { q.pop { |v| x = v } }.join - assert_equal nil, x - EM.run { EM.next_tick { EM.stop } } - assert_equal 1, x - end - - def test_num_waiting - q = EM::Queue.new - many = 3 - many.times { q.pop {} } - EM.run { EM.next_tick { EM.stop } } - assert_equal many, q.num_waiting - end - - def test_big_queue - EM.run do - q = EM::Queue.new - 2000.times do |i| - q.push(*0..1000) - q.pop { |v| assert_equal v, i % 1001 } - end - q.pop do - assert_equal 1_999_999, q.size - EM.stop - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_resolver.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_resolver.rb deleted file mode 100644 index 58ed5f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_resolver.rb +++ /dev/null @@ -1,105 +0,0 @@ -require 'em_test_helper' - -class TestResolver < Test::Unit::TestCase - def test_nameserver - assert_kind_of(String, EM::DNS::Resolver.nameserver) - end - - def test_nameservers - assert_kind_of(Array, EM::DNS::Resolver.nameservers) - end - - def test_hosts - assert_kind_of(Hash, EM::DNS::Resolver.hosts) - - # Make sure that blank or comment lines are skipped - refute(EM::DNS::Resolver.hosts.include? nil) - end - - def test_a - pend('FIXME: this test is broken on Windows') if windows? - - EM.run { - d = EM::DNS::Resolver.resolve "example.com" - d.errback { assert false } - d.callback { |r| - assert r - EM.stop - } - } - end - - def test_bad_host - EM.run { - d = EM::DNS::Resolver.resolve "asdfasasdf" - d.callback { assert false } - d.errback { assert true; EM.stop } - } - end - - def test_garbage - assert_raises( ArgumentError ) { - EM.run { - EM::DNS::Resolver.resolve 123 - } - } - end - - # There isn't a public DNS entry like 'example.com' with an A rrset - def test_a_pair - pend('FIXME: this test is broken on Windows') if windows? - - EM.run { - d = EM::DNS::Resolver.resolve "yahoo.com" - d.errback { |err| assert false, "failed to resolve yahoo.com: #{err}" } - d.callback { |r| - assert_kind_of(Array, r) - assert r.size > 1, "returned #{r.size} results: #{r.inspect}" - EM.stop - } - } - end - - def test_localhost - pend('FIXME: this test is broken on Windows') if windows? - - EM.run { - d = EM::DNS::Resolver.resolve "localhost" - d.errback { assert false } - d.callback { |r| - assert_include(["127.0.0.1", "::1"], r.first) - assert_kind_of(Array, r) - - EM.stop - } - } - end - - def test_timer_cleanup - pend('FIXME: this test is broken on Windows') if windows? - - EM.run { - d = EM::DNS::Resolver.resolve "example.com" - d.errback { |err| assert false, "failed to resolve example.com: #{err}" } - d.callback { |r| - # This isn't a great test, but it's hard to get more canonical - # confirmation that the timer is cancelled - assert_nil(EM::DNS::Resolver.socket.instance_variable_get(:@timer)) - - EM.stop - } - } - end - - def test_failure_timer_cleanup - EM.run { - d = EM::DNS::Resolver.resolve "asdfasdf" - d.callback { assert false } - d.errback { - assert_nil(EM::DNS::Resolver.socket.instance_variable_get(:@timer)) - - EM.stop - } - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_running.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_running.rb deleted file mode 100644 index 693b390..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_running.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'em_test_helper' - -class TestRunning < Test::Unit::TestCase - def test_running - assert_equal( false, EM::reactor_running? ) - r = false - EM.run { - r = EM::reactor_running? - EM.stop - } - assert_equal( true, r ) - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_sasl.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_sasl.rb deleted file mode 100644 index e80f657..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_sasl.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'em_test_helper' - - -class TestSASL < Test::Unit::TestCase - - # SASL authentication is usually done with UNIX-domain sockets, but - # we'll use TCP so this test will work on Windows. As far as the - # protocol handlers are concerned, there's no difference. - - TestUser,TestPsw = "someone", "password" - - class SaslServer < EM::Connection - include EM::Protocols::SASLauth - def validate usr, psw, sys, realm - usr == TestUser and psw == TestPsw - end - end - - class SaslClient < EM::Connection - include EM::Protocols::SASLauthclient - end - - def setup - @port = next_port - end - - def test_sasl - resp = nil - EM.run { - EM.start_server( "127.0.0.1", @port, SaslServer ) - - c = EM.connect( "127.0.0.1", @port, SaslClient ) - d = c.validate?( TestUser, TestPsw ) - d.timeout 1 - d.callback { - resp = true - EM.stop - } - d.errback { - resp = false - EM.stop - } - } - assert_equal( true, resp ) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_send_file.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_send_file.rb deleted file mode 100644 index a784b50..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_send_file.rb +++ /dev/null @@ -1,217 +0,0 @@ -require 'em_test_helper' -require 'tempfile' - -class TestSendFile < Test::Unit::TestCase - - if EM.respond_to?(:send_file_data) - module TestModule - def initialize filename - @filename = filename - end - - def post_init - send_file_data @filename - close_connection_after_writing - end - end - - module TestClient - def data_to(&blk) - @data_to = blk - end - - def receive_data(data) - @data_to.call(data) if @data_to - end - - def unbind - EM.stop - end - end - - def setup - @file = Tempfile.new("em_test_file") - @filename = @file.path - @port = next_port - end - - def test_send_file - File.open( @filename, "w" ) {|f| - f << ("A" * 5000) - } - - data = '' - - EM.run { - EM.start_server "127.0.0.1", @port, TestModule, @filename - setup_timeout - - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - - assert_equal( "A" * 5000, data ) - end - - # EM::Connection#send_file_data has a strict upper limit on the filesize it will work with. - def test_send_large_file - File.open( @filename, "w" ) {|f| - f << ("A" * 1000000) - } - - data = '' - - assert_raises(RuntimeError) { - EM.run { - EM.start_server "127.0.0.1", @port, TestModule, @filename - setup_timeout - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - } - end - - module StreamTestModule - def initialize filename - @filename = filename - end - - def post_init - EM::Deferrable.future( stream_file_data(@filename)) { - close_connection_after_writing - } - end - end - - module ChunkStreamTestModule - def initialize filename - @filename = filename - end - - def post_init - EM::Deferrable.future( stream_file_data(@filename, :http_chunks=>true)) { - close_connection_after_writing - } - end - end - - def test_stream_file_data - File.open( @filename, "w" ) {|f| - f << ("A" * 1000) - } - - data = '' - - EM.run { - EM.start_server "127.0.0.1", @port, StreamTestModule, @filename - setup_timeout - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - - assert_equal( "A" * 1000, data ) - end - - def test_stream_chunked_file_data - File.open( @filename, "w" ) {|f| - f << ("A" * 1000) - } - - data = '' - - EM.run { - EM.start_server "127.0.0.1", @port, ChunkStreamTestModule, @filename - setup_timeout - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - - assert_equal( "3e8\r\n#{"A" * 1000}\r\n0\r\n\r\n", data ) - end - - module BadFileTestModule - def initialize filename - @filename = filename - end - - def post_init - de = stream_file_data( @filename+".wrong" ) - de.errback {|msg| - send_data msg - close_connection_after_writing - } - end - end - def test_stream_bad_file - data = '' - EM.run { - EM.start_server "127.0.0.1", @port, BadFileTestModule, @filename - setup_timeout(5) - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - - assert_equal( "file not found", data ) - end - else - warn "EM.send_file_data not implemented, skipping tests in #{__FILE__}" - - # Because some rubies will complain if a TestCase class has no tests - def test_em_send_file_data_not_implemented - assert !EM.respond_to?(:send_file_data) - end - end - - begin - require 'fastfilereaderext' - - def test_stream_large_file_data - File.open( @filename, "w" ) {|f| - f << ("A" * 10000) - } - - data = '' - - EM.run { - EM.start_server "127.0.0.1", @port, StreamTestModule, @filename - setup_timeout - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - - assert_equal( "A" * 10000, data ) - end - - def test_stream_large_chunked_file_data - File.open( @filename, "w" ) {|f| - f << ("A" * 100000) - } - - data = '' - - EM.run { - EM.start_server "127.0.0.1", @port, ChunkStreamTestModule, @filename - setup_timeout - EM.connect "127.0.0.1", @port, TestClient do |c| - c.data_to { |d| data << d } - end - } - - expected = [ - "4000\r\n#{"A" * 16384}\r\n" * 6, - "6a0\r\n#{"A" * 0x6a0}\r\n", - "0\r\n\r\n" - ].join - assert_equal( expected, data ) - end - rescue LoadError - warn "require 'fastfilereaderext' failed, skipping tests in #{__FILE__}" - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_servers.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_servers.rb deleted file mode 100644 index 2a17050..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_servers.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'em_test_helper' -require 'socket' - -class TestServers < Test::Unit::TestCase - - def setup - @port = next_port - end - - def server_alive? - port_in_use?(@port) - end - - def run_test_stop_server - EM.run { - sig = EM.start_server("127.0.0.1", @port) - assert server_alive?, "Server didn't start" - EM.stop_server sig - # Give the server some time to shutdown. - EM.add_timer(0.1) { - assert !server_alive?, "Server didn't stop" - EM.stop - } - } - end - - def test_stop_server - assert !server_alive?, "Port already in use" - 2.times { run_test_stop_server } - assert !server_alive?, "Servers didn't stop" - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_shutdown_hooks.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_shutdown_hooks.rb deleted file mode 100644 index b0e0c5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_shutdown_hooks.rb +++ /dev/null @@ -1,23 +0,0 @@ -require 'em_test_helper' - -class TestShutdownHooks < Test::Unit::TestCase - def test_shutdown_hooks - r = false - EM.run { - EM.add_shutdown_hook { r = true } - EM.stop - } - assert_equal( true, r ) - end - - def test_hook_order - r = [] - EM.run { - EM.add_shutdown_hook { r << 2 } - EM.add_shutdown_hook { r << 1 } - EM.stop - } - assert_equal( [1, 2], r ) - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb deleted file mode 100644 index 71ed584..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'em_test_helper' - -class TestSmtpClient < Test::Unit::TestCase - - Localhost = "127.0.0.1" - Localport = 9801 - - def setup - end - - def teardown - end - - def test_a - # No real tests until we have a server implementation to test against. - # This is what the call looks like, though: - err = nil - EM.run { - d = EM::Protocols::SmtpClient.send :domain=>"example.com", - :host=>Localhost, - :port=>Localport, # optional, defaults 25 - :starttls=>true, - :from=>"sender@example.com", - :to=> ["to_1@example.com", "to_2@example.com"], - :header=> {"Subject" => "This is a subject line"}, - :body=> "This is the body of the email", - :verbose=>true - d.errback {|e| - err = e - EM.stop - } - } - assert(err) - end - - def test_content - err = nil - EM.run { - d = EM::Protocols::SmtpClient.send :domain=>"example.com", - :host=>Localhost, - :port=>Localport, # optional, defaults 25 - :starttls=>true, - :from=>"sender@example.com", - :to=> ["to_1@example.com", "to_2@example.com"], - :content => ["Subject: xxx\r\n\r\ndata\r\n.\r\n"], - :verbose=>true - d.errback {|e| - err = e - EM.stop - } - } - assert(err) - end - - - EM::Protocols::SmtpClient.__send__(:public, :escape_leading_dots) - - def test_escaping - smtp = EM::Protocols::SmtpClient.new :domain => "example.com" - - expectations = { - "Hello\r\n" => "Hello\r\n", - "\r\n.whatever\r\n" => "\r\n..whatever\r\n", - "\r\n.\r\n" => "\r\n..\r\n", - "\r\n.\r\n." => "\r\n..\r\n..", - ".\r\n.\r\n" => "..\r\n..\r\n", - "..\r\n" => "...\r\n" - } - - expectations.each do |input, output| - assert_equal output, smtp.escape_leading_dots(input) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_smtpserver.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_smtpserver.rb deleted file mode 100644 index 18c50fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_smtpserver.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'em_test_helper' - -class TestSmtpServer < Test::Unit::TestCase - - # Don't test on port 25. It requires superuser and there's probably - # a mail server already running there anyway. - Localhost = "127.0.0.1" - Localport = 25001 - - # This class is an example of what you need to write in order - # to implement a mail server. You override the methods you are - # interested in. Some, but not all, of these are illustrated here. - # - class Mailserver < EM::Protocols::SmtpServer - - attr_reader :my_msg_body, :my_sender, :my_recipients - - def initialize *args - super - end - def receive_sender sender - @my_sender = sender - #p sender - true - end - def receive_recipient rcpt - @my_recipients ||= [] - @my_recipients << rcpt - true - end - def receive_data_chunk c - @my_msg_body = c.last - end - def connection_ended - EM.stop - end - end - - def test_mail - c = nil - EM.run { - EM.start_server( Localhost, Localport, Mailserver ) {|conn| c = conn} - EM::Timer.new(2) {EM.stop} # prevent hanging the test suite in case of error - EM::Protocols::SmtpClient.send :host=>Localhost, - :port=>Localport, - :domain=>"bogus", - :from=>"me@example.com", - :to=>"you@example.com", - :header=> {"Subject"=>"Email subject line", "Reply-to"=>"me@example.com"}, - :body=>"Not much of interest here." - - } - assert_equal( "Not much of interest here.", c.my_msg_body ) - assert_equal( "", c.my_sender ) - assert_equal( [""], c.my_recipients ) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_sock_opt.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_sock_opt.rb deleted file mode 100644 index 60fba35..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_sock_opt.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'em_test_helper' -require 'socket' - -class TestSockOpt < Test::Unit::TestCase - def setup - assert(!EM.reactor_running?) - @port = next_port - end - - def teardown - assert(!EM.reactor_running?) - end - - def test_set_sock_opt - omit_if(windows?) - omit_if(!EM.respond_to?(:set_sock_opt)) - - val = nil - test_module = Module.new do - define_method :post_init do - val = set_sock_opt Socket::SOL_SOCKET, Socket::SO_BROADCAST, true - EM.stop - end - end - - EM.run do - EM.start_server '127.0.0.1', @port - EM.connect '127.0.0.1', @port, test_module - end - - assert_equal 0, val - end - - def test_get_sock_opt - omit_if(windows?) - omit_if(!EM.respond_to?(:set_sock_opt)) - - val = nil - test_module = Module.new do - define_method :connection_completed do - val = get_sock_opt Socket::SOL_SOCKET, Socket::SO_ERROR - EM.stop - end - end - - EM.run do - EM.start_server '127.0.0.1', @port - EM.connect '127.0.0.1', @port, test_module - end - - assert_equal "\0\0\0\0", val - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_spawn.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_spawn.rb deleted file mode 100644 index ab0a92f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_spawn.rb +++ /dev/null @@ -1,293 +0,0 @@ - -require 'em_test_helper' - - - -class TestSpawn < Test::Unit::TestCase - - # Spawn a process that simply stops the reactor. - # Assert that the notification runs after the block that calls it. - # - def test_stop - x = nil - EM.run { - s = EM.spawn {EM.stop} - s.notify - x = true - } - assert x - end - - - # Pass a parameter to a spawned process. - # - def test_parms - val = 5 - EM.run { - s = EM.spawn {|v| val *= v; EM.stop} - s.notify 3 - } - assert_equal( 15, val ) - end - - # Pass multiple parameters to a spawned process. - # - def test_multiparms - val = 5 - EM.run { - s = EM.spawn {|v1,v2| val *= (v1 + v2); EM.stop} - s.notify 3,4 - } - assert_equal( 35, val ) - end - - - # This test demonstrates that a notification does not happen immediately, - # but rather is scheduled sometime after the current code path completes. - # - def test_race - x = 0 - EM.run { - s = EM.spawn {x *= 2; EM.stop} - s.notify - x = 2 - } - assert_equal( 4, x) - end - - - # Spawn a process and notify it 25 times to run fibonacci - # on a pair of global variables. - # - def test_fibonacci - x = 1 - y = 1 - EM.run { - s = EM.spawn {x,y = y,x+y} - 25.times {s.notify} - - t = EM.spawn {EM.stop} - t.notify - } - assert_equal( 121393, x) - assert_equal( 196418, y) - end - - # This one spawns 25 distinct processes, and notifies each one once, - # rather than notifying a single process 25 times. - # - def test_another_fibonacci - x = 1 - y = 1 - EM.run { - 25.times { - s = EM.spawn {x,y = y,x+y} - s.notify - } - - t = EM.spawn {EM.stop} - t.notify - } - assert_equal( 121393, x) - assert_equal( 196418, y) - end - - - # Make a chain of processes that notify each other in turn - # with intermediate fibonacci results. The final process in - # the chain stops the loop and returns the result. - # - def test_fibonacci_chain - a,b = nil - - EM.run { - nextpid = EM.spawn {|x,y| - a,b = x,y - EM.stop - } - - 25.times { - n = nextpid - nextpid = EM.spawn {|x,y| n.notify( y, x+y )} - } - - nextpid.notify( 1, 1 ) - } - - assert_equal( 121393, a) - assert_equal( 196418, b) - end - - - # EM#yield gives a spawed process to yield control to other processes - # (in other words, to stop running), and to specify a different code block - # that will run on its next notification. - # - def test_yield - a = 0 - EM.run { - n = EM.spawn { - a += 10 - EM.yield { - a += 20 - EM.yield { - a += 30 - EM.stop - } - } - } - n.notify - n.notify - n.notify - } - assert_equal( 60, a ) - end - - # EM#yield_and_notify behaves like EM#yield, except that it also notifies the - # yielding process. This may sound trivial, since the yield block will run very - # shortly after with no action by the program, but this actually can be very useful, - # because it causes the reactor core to execute once before the yielding process - # gets control back. So it can be used to allow heavily-used network connections - # to clear buffers, or allow other processes to process their notifications. - # - # Notice in this test code that only a simple notify is needed at the bottom - # of the initial block. Even so, all of the yielded blocks will execute. - # - def test_yield_and_notify - a = 0 - EM.run { - n = EM.spawn { - a += 10 - EM.yield_and_notify { - a += 20 - EM.yield_and_notify { - a += 30 - EM.stop - } - } - } - n.notify - } - assert_equal( 60, a ) - end - - # resume is an alias for notify. - # - def test_resume - EM.run { - n = EM.spawn {EM.stop} - n.resume - } - assert true - end - - # run is an idiomatic alias for notify. - # - def test_run - EM.run { - (EM.spawn {EM.stop}).run - } - assert true - end - - - # Clones the ping-pong example from the Erlang tutorial, in much less code. - # Illustrates that a spawned block executes in the context of a SpawnableObject. - # (Meaning, we can pass self as a parameter to another process that can then - # notify us.) - # - def test_ping_pong - n_pongs = 0 - EM.run { - pong = EM.spawn {|x, ping| - n_pongs += 1 - ping.notify( x-1 ) - } - ping = EM.spawn {|x| - if x > 0 - pong.notify x, self - else - EM.stop - end - } - ping.notify 3 - } - assert_equal( 3, n_pongs ) - end - - # Illustrates that you can call notify inside a notification, and it will cause - # the currently-executing process to be re-notified. Of course, the new notification - # won't run until sometime after the current one completes. - # - def test_self_notify - n = 0 - EM.run { - pid = EM.spawn {|x| - if x > 0 - n += x - notify( x-1 ) - else - EM.stop - end - } - pid.notify 3 - } - assert_equal( 6, n ) - end - - - # Illustrates that the block passed to #spawn executes in the context of a - # SpawnedProcess object, NOT in the local context. This can often be deceptive. - # - class BlockScopeTest - attr_reader :var - def run - # The following line correctly raises a NameError. - # The problem is that the programmer expected the spawned block to - # execute in the local context, but it doesn't. - # - # (EM.spawn { do_something }).notify ### NO! BAD! - - - - # The following line correctly passes self as a parameter to the - # notified process. - # - (EM.spawn {|obj| obj.do_something }).notify(self) - - - - # Here's another way to do it. This works because "myself" is bound - # in the local scope, unlike "self," so the spawned block sees it. - # - myself = self - (EM.spawn { myself.do_something }).notify - - - - # And we end the loop. - # This is a tangential point, but observe that #notify never blocks. - # It merely appends a message to the internal queue of a spawned process - # and returns. As it turns out, the reactor processes notifications for ALL - # spawned processes in the order that #notify is called. So there is a - # reasonable expectation that the process which stops the reactor will - # execute after the previous ones in this method. HOWEVER, this is NOT - # a documented behavior and is subject to change. - # - (EM.spawn {EM.stop}).notify - end - def do_something - @var ||= 0 - @var += 100 - end - end - - def test_block_scope - bs = BlockScopeTest.new - EM.run { - bs.run - } - assert_equal( 200, bs.var ) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_args.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_args.rb deleted file mode 100644 index d337628..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_args.rb +++ /dev/null @@ -1,78 +0,0 @@ -require "test/unit" -require 'tempfile' - -require 'em_test_helper' - -module EM - def self._set_mocks - class < priv_file) - end - assert_raises(EM::FileNotFoundException) do - conn.start_tls(:cert_chain_file => cert_file) - end - assert_raises(EM::FileNotFoundException) do - conn.start_tls(:private_key_file => priv_file, :cert_chain_file => cert_file) - end - end - - def test_tls_params_file_does_exist - priv_file = Tempfile.new('em_test') - cert_file = Tempfile.new('em_test') - priv_file_path = priv_file.path - cert_file_path = cert_file.path - conn = EM::Connection.new('foo') - params = {:private_key_file => priv_file_path, :cert_chain_file => cert_file_path} - begin - conn.start_tls params - rescue Object - assert(false, 'should not have raised an exception') - end - end -end if EM.ssl? diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_dhparam.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_dhparam.rb deleted file mode 100644 index 85f52d2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_dhparam.rb +++ /dev/null @@ -1,84 +0,0 @@ -require 'em_test_helper' - -class TestSslDhParam < Test::Unit::TestCase - def setup - $dir = File.dirname(File.expand_path(__FILE__)) + '/' - $dhparam_file = File.join($dir, 'dhparam.pem') - end - - module Client - def post_init - start_tls - end - - def ssl_handshake_completed - $client_handshake_completed = true - $client_cipher_name = get_cipher_name - close_connection - end - - def unbind - EM.stop_event_loop - end - end - - module Server - def post_init - start_tls(:dhparam => $dhparam_file, :cipher_list => "DHE,EDH") - end - - def ssl_handshake_completed - $server_handshake_completed = true - $server_cipher_name = get_cipher_name - end - end - - module NoDhServer - def post_init - start_tls(:cipher_list => "DHE,EDH") - end - - def ssl_handshake_completed - $server_handshake_completed = true - $server_cipher_name = get_cipher_name - end - end - - def test_no_dhparam - omit_unless(EM.ssl?) - omit_if(EM.library_type == :pure_ruby) # DH will work with defaults - omit_if(rbx?) - - $client_handshake_completed, $server_handshake_completed = false, false - $server_cipher_name, $client_cipher_name = nil, nil - - EM.run { - EM.start_server("127.0.0.1", 16784, NoDhServer) - EM.connect("127.0.0.1", 16784, Client) - } - - assert(!$client_handshake_completed) - assert(!$server_handshake_completed) - end - - def test_dhparam - omit_unless(EM.ssl?) - omit_if(rbx?) - - $client_handshake_completed, $server_handshake_completed = false, false - $server_cipher_name, $client_cipher_name = nil, nil - - EM.run { - EM.start_server("127.0.0.1", 16784, Server) - EM.connect("127.0.0.1", 16784, Client) - } - - assert($client_handshake_completed) - assert($server_handshake_completed) - - assert($client_cipher_name.length > 0) - assert_equal($client_cipher_name, $server_cipher_name) - - assert_match(/^(DHE|EDH)/, $client_cipher_name) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_ecdh_curve.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_ecdh_curve.rb deleted file mode 100644 index 8dc167b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_ecdh_curve.rb +++ /dev/null @@ -1,80 +0,0 @@ -require 'em_test_helper' - -class TestSslEcdhCurve < Test::Unit::TestCase - module Client - def post_init - start_tls - end - - def ssl_handshake_completed - $client_handshake_completed = true - $client_cipher_name = get_cipher_name - close_connection - end - - def unbind - EM.stop_event_loop - end - end - - module Server - def post_init - start_tls(:ecdh_curve => "prime256v1", :cipher_list => "ECDH") - end - - def ssl_handshake_completed - $server_handshake_completed = true - $server_cipher_name = get_cipher_name - end - end - - module NoCurveServer - def post_init - start_tls(:cipher_list => "ECDH") - end - - def ssl_handshake_completed - $server_handshake_completed = true - $server_cipher_name = get_cipher_name - end - end - - def test_no_ecdh_curve - omit_unless(EM.ssl?) - omit_if(rbx?) - - $client_handshake_completed, $server_handshake_completed = false, false - - EM.run { - EM.start_server("127.0.0.1", 16784, NoCurveServer) - EM.connect("127.0.0.1", 16784, Client) - } - - assert(!$client_handshake_completed) - assert(!$server_handshake_completed) - end - - def test_ecdh_curve - omit_unless(EM.ssl?) - omit_if(EM.library_type == :pure_ruby && RUBY_VERSION < "2.3.0") - omit_if(rbx?) - - $client_handshake_completed, $server_handshake_completed = false, false - $server_cipher_name, $client_cipher_name = nil, nil - - EM.run { - EM.start_server("127.0.0.1", 16784, Server) - EM.connect("127.0.0.1", 16784, Client) - } - - assert($client_handshake_completed) - assert($server_handshake_completed) - - assert($client_cipher_name.length > 0) - assert_equal($client_cipher_name, $server_cipher_name) - - assert_match(/^(AECDH|ECDHE)/, $client_cipher_name) - end - - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_extensions.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_extensions.rb deleted file mode 100644 index 0610ba8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_extensions.rb +++ /dev/null @@ -1,49 +0,0 @@ -require 'em_test_helper' - -require 'socket' -require 'openssl' - -if EM.ssl? - class TestSslExtensions < Test::Unit::TestCase - - module Client - def ssl_handshake_completed - $client_handshake_completed = true - close_connection - end - - def unbind - EM.stop_event_loop - end - - def post_init - start_tls(:ssl_version => :tlsv1, :sni_hostname => 'example.com') - end - end - - module Server - def ssl_handshake_completed - $server_handshake_completed = true - $server_sni_hostname = get_sni_hostname - end - - def post_init - start_tls(:ssl_version => :TLSv1) - end - end - - def test_tlsext_sni_hostname - $server_handshake_completed = false - - EM.run do - EM.start_server("127.0.0.1", 16784, Server) - EM.connect("127.0.0.1", 16784, Client) - end - - assert($server_handshake_completed) - assert_equal('example.com', $server_sni_hostname) - end - end -else - warn "EM built without SSL support, skipping tests in #{__FILE__}" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_methods.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_methods.rb deleted file mode 100644 index c2e5744..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_methods.rb +++ /dev/null @@ -1,65 +0,0 @@ -require 'em_test_helper' - -class TestSSLMethods < Test::Unit::TestCase - - module ServerHandler - def post_init - start_tls - end - - def ssl_handshake_completed - $server_called_back = true - $server_cert_value = get_peer_cert - $server_cipher_bits = get_cipher_bits - $server_cipher_name = get_cipher_name - $server_cipher_protocol = get_cipher_protocol - end - end - - module ClientHandler - def post_init - start_tls - end - - def ssl_handshake_completed - $client_called_back = true - $client_cert_value = get_peer_cert - $client_cipher_bits = get_cipher_bits - $client_cipher_name = get_cipher_name - $client_cipher_protocol = get_cipher_protocol - EM.stop_event_loop - end - end - - def test_ssl_methods - omit_unless(EM.ssl?) - omit_if(rbx?) - $server_called_back, $client_called_back = false, false - $server_cert_value, $client_cert_value = nil, nil - $server_cipher_bits, $client_cipher_bits = nil, nil - $server_cipher_name, $client_cipher_name = nil, nil - $server_cipher_protocol, $client_cipher_protocol = nil, nil - - EM.run { - EM.start_server("127.0.0.1", 9999, ServerHandler) - EM.connect("127.0.0.1", 9999, ClientHandler) - } - - assert($server_called_back) - assert($client_called_back) - - assert($server_cert_value.is_a?(NilClass)) - assert($client_cert_value.is_a?(String)) - - assert($client_cipher_bits > 0) - assert_equal($client_cipher_bits, $server_cipher_bits) - - assert($client_cipher_name.length > 0) - assert_match(/AES/, $client_cipher_name) - assert_equal($client_cipher_name, $server_cipher_name) - - assert_match(/TLS/, $client_cipher_protocol) - assert_equal($client_cipher_protocol, $server_cipher_protocol) - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_protocols.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_protocols.rb deleted file mode 100644 index bcb6824..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_protocols.rb +++ /dev/null @@ -1,246 +0,0 @@ -require 'em_test_helper' - -require 'socket' -require 'openssl' - -if EM.ssl? - class TestSslProtocols < Test::Unit::TestCase - - module Client - def ssl_handshake_completed - $client_handshake_completed = true - close_connection - end - - def unbind - EM.stop_event_loop - end - end - - module Server - def ssl_handshake_completed - $server_handshake_completed = true - end - end - - module ClientAny - include Client - def post_init - start_tls(:ssl_version => %w(sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2)) - end - end - - module ClientDefault - include Client - def post_init - start_tls - end - end - - module ClientSSLv3 - include Client - def post_init - start_tls(:ssl_version => %w(SSLv3)) - end - end - - module ServerSSLv3 - include Server - def post_init - start_tls(:ssl_version => %w(SSLv3)) - end - end - - module ServerTLSv1CaseInsensitive - include Server - def post_init - start_tls(:ssl_version => %w(tlsv1)) - end - end - - module ServerAny - include Server - def post_init - start_tls(:ssl_version => %w(sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2)) - end - end - - module ServerDefault - include Server - def post_init - start_tls - end - end - - module InvalidProtocol - include Client - def post_init - start_tls(:ssl_version => %w(tlsv1 badinput)) - end - end - - def test_invalid_ssl_version - assert_raises(RuntimeError, "Unrecognized SSL/TLS Version: badinput") do - EM.run do - EM.start_server("127.0.0.1", 16784, InvalidProtocol) - EM.connect("127.0.0.1", 16784, InvalidProtocol) - end - end - end - - def test_any_to_v3 - $client_handshake_completed, $server_handshake_completed = false, false - EM.run do - EM.start_server("127.0.0.1", 16784, ServerSSLv3) - EM.connect("127.0.0.1", 16784, ClientAny) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - def test_case_insensitivity - $client_handshake_completed, $server_handshake_completed = false, false - EM.run do - EM.start_server("127.0.0.1", 16784, ServerTLSv1CaseInsensitive) - EM.connect("127.0.0.1", 16784, ClientAny) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - def test_v3_to_any - $client_handshake_completed, $server_handshake_completed = false, false - EM.run do - EM.start_server("127.0.0.1", 16784, ServerAny) - EM.connect("127.0.0.1", 16784, ClientSSLv3) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - def test_v3_to_v3 - $client_handshake_completed, $server_handshake_completed = false, false - EM.run do - EM.start_server("127.0.0.1", 16784, ServerSSLv3) - EM.connect("127.0.0.1", 16784, ClientSSLv3) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - def test_any_to_any - $client_handshake_completed, $server_handshake_completed = false, false - EM.run do - EM.start_server("127.0.0.1", 16784, ServerAny) - EM.connect("127.0.0.1", 16784, ClientAny) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - def test_default_to_default - $client_handshake_completed, $server_handshake_completed = false, false - EM.run do - EM.start_server("127.0.0.1", 16784, ServerDefault) - EM.connect("127.0.0.1", 16784, ClientDefault) - end - - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - module ServerV3StopAfterHandshake - def post_init - start_tls(:ssl_version => %w(SSLv3)) - end - - def ssl_handshake_completed - $server_handshake_completed = true - EM.stop_event_loop - end - end - - module ServerTLSv1StopAfterHandshake - def post_init - start_tls(:ssl_version => %w(TLSv1)) - end - - def ssl_handshake_completed - $server_handshake_completed = true - EM.stop_event_loop - end - end - - def test_v3_with_external_client - $server_handshake_completed = false - EM.run do - setup_timeout(2) - EM.start_server("127.0.0.1", 16784, ServerV3StopAfterHandshake) - EM.defer do - sock = TCPSocket.new("127.0.0.1", 16784) - ctx = OpenSSL::SSL::SSLContext.new - ctx.ssl_version = :SSLv3_client - ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx) - ssl.connect - ssl.close rescue nil - sock.close rescue nil - end - end - - assert($server_handshake_completed) - end - - def test_tlsv1_with_external_client - $server_handshake_completed = false - EM.run do - setup_timeout(2) - EM.start_server("127.0.0.1", 16784, ServerTLSv1StopAfterHandshake) - EM.defer do - sock = TCPSocket.new("127.0.0.1", 16784) - ctx = OpenSSL::SSL::SSLContext.new - ctx.ssl_version = :TLSv1_client - ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx) - ssl.connect - ssl.close rescue nil - sock.close rescue nil - end - end - - assert($server_handshake_completed) - end - - def test_tlsv1_required_with_external_client - $server_handshake_completed = false - - EM.run do - n = 0 - EM.add_periodic_timer(0.5) do - n += 1 - (EM.stop rescue nil) if n == 2 - end - EM.start_server("127.0.0.1", 16784, ServerTLSv1StopAfterHandshake) - EM.defer do - sock = TCPSocket.new("127.0.0.1", 16784) - ctx = OpenSSL::SSL::SSLContext.new - ctx.ssl_version = :SSLv3_client - ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx) - assert_raise OpenSSL::SSL::SSLError do - ssl.connect - end - ssl.close rescue nil - sock.close rescue nil - EM.stop rescue nil - end - end - - assert(!$server_handshake_completed) - end - end -else - warn "EM built without SSL support, skipping tests in #{__FILE__}" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_verify.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_verify.rb deleted file mode 100644 index a6d8fca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ssl_verify.rb +++ /dev/null @@ -1,128 +0,0 @@ -require 'em_test_helper' - -class TestSslVerify < Test::Unit::TestCase - def setup - $dir = File.dirname(File.expand_path(__FILE__)) + '/' - $cert_from_file = File.read($dir+'client.crt') - end - - module ClientNoCert - def connection_completed - start_tls() - end - - def ssl_handshake_completed - $client_handshake_completed = true - close_connection - end - - def unbind - EM.stop_event_loop - end - end - - module Client - def connection_completed - start_tls(:private_key_file => $dir+'client.key', :cert_chain_file => $dir+'client.crt') - end - - def ssl_handshake_completed - $client_handshake_completed = true - close_connection - end - - def unbind - EM.stop_event_loop - end - end - - module AcceptServer - def post_init - start_tls(:verify_peer => true) - end - - def ssl_verify_peer(cert) - $cert_from_server = cert - true - end - - def ssl_handshake_completed - $server_handshake_completed = true - end - end - - module DenyServer - def post_init - start_tls(:verify_peer => true) - end - - def ssl_verify_peer(cert) - $cert_from_server = cert - # Do not accept the peer. This should now cause the connection to shut down without the SSL handshake being completed. - false - end - - def ssl_handshake_completed - $server_handshake_completed = true - end - end - - module FailServerNoPeerCert - def post_init - start_tls(:verify_peer => true, :fail_if_no_peer_cert => true) - end - - def ssl_verify_peer(cert) - raise "Verify peer should not get called for a client without a certificate" - end - - def ssl_handshake_completed - $server_handshake_completed = true - end - end - - def test_fail_no_peer_cert - omit_unless(EM.ssl?) - omit_if(rbx?) - - $client_handshake_completed, $server_handshake_completed = false, false - - EM.run { - EM.start_server("127.0.0.1", 16784, FailServerNoPeerCert) - EM.connect("127.0.0.1", 16784, ClientNoCert) - } - - assert(!$client_handshake_completed) - assert(!$server_handshake_completed) - end - - def test_accept_server - omit_unless(EM.ssl?) - omit_if(EM.library_type == :pure_ruby) # Server has a default cert chain - omit_if(rbx?) - $client_handshake_completed, $server_handshake_completed = false, false - EM.run { - EM.start_server("127.0.0.1", 16784, AcceptServer) - EM.connect("127.0.0.1", 16784, Client).instance_variable_get("@signature") - } - - assert_equal($cert_from_file, $cert_from_server) - assert($client_handshake_completed) - assert($server_handshake_completed) - end - - def test_deny_server - omit_unless(EM.ssl?) - omit_if(EM.library_type == :pure_ruby) # Server has a default cert chain - omit_if(rbx?) - $client_handshake_completed, $server_handshake_completed = false, false - EM.run { - EM.start_server("127.0.0.1", 16784, DenyServer) - EM.connect("127.0.0.1", 16784, Client) - } - - assert_equal($cert_from_file, $cert_from_server) - assert(!$client_handshake_completed) - assert(!$server_handshake_completed) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_stomp.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_stomp.rb deleted file mode 100644 index 53c0502..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_stomp.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'em_test_helper' - -class TestStomp < Test::Unit::TestCase - CONTENT_LENGTH_REGEX = /^content-length: (\d+)$/ - - def bytesize(str) - str = str.to_s - size = str.bytesize if str.respond_to?(:bytesize) # bytesize added in 1.9 - size || str.size - end - - class TStomp - include EM::P::Stomp - - def last_sent_content_length - @sent && Integer(@sent[CONTENT_LENGTH_REGEX, 1]) - end - - def send_data(string) - @sent = string - end - end - - def test_content_length_in_bytes - connection = TStomp.new - - queue = "queue" - failure_message = "header content-length is not the byte size of last sent body" - - body = "test" - connection.send queue, body - assert_equal bytesize(body), connection.last_sent_content_length, failure_message - - body = "test\u221A" - connection.send queue, body - assert_equal bytesize(body), connection.last_sent_content_length, failure_message - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_system.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_system.rb deleted file mode 100644 index fbbe2c9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_system.rb +++ /dev/null @@ -1,46 +0,0 @@ -# coding: utf-8 -require 'em_test_helper' - -class TestSystem < Test::Unit::TestCase - def setup - @filename = File.expand_path("../я манал dump.txt", __FILE__) - @test_data = 'a' * 100 - File.open(@filename, 'w'){|f| f.write(@test_data)} - end - - def test_system - omit_if(windows?) - - result = nil - status = nil - EM.run { - EM.system('cat', @filename){|out, state| - result = out - status = state.exitstatus - EM.stop - } - } - assert_equal(0, status) - assert_equal(@test_data, result) - end - - def test_system_with_string - omit_if(windows?) - - result = nil - status = nil - EM.run { - EM.system("cat '#@filename'"){|out, state| - result = out - status = state.exitstatus - EM.stop - } - } - assert_equal(0, status) - assert_equal(@test_data, result) - end - - def teardown - File.unlink(@filename) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_threaded_resource.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_threaded_resource.rb deleted file mode 100644 index 9bb39c6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_threaded_resource.rb +++ /dev/null @@ -1,63 +0,0 @@ -require 'em_test_helper' - -class TestThreadedResource < Test::Unit::TestCase - def object - @object ||= {} - end - - def resource - @resource = EM::ThreadedResource.new do - object - end - end - - def teardown - resource.shutdown - end - - def test_dispatch_completion - EM.run do - EM.add_timer(3) do - EM.stop - fail 'Resource dispatch timed out' - end - completion = resource.dispatch do |o| - o[:foo] = :bar - :foo - end - completion.callback do |result| - assert_equal :foo, result - EM.stop - end - completion.errback do |error| - EM.stop - fail "Unexpected error: #{error.message}" - end - end - assert_equal :bar, object[:foo] - end - - def test_dispatch_failure - completion = resource.dispatch do |o| - raise 'boom' - end - completion.errback do |error| - assert_kind_of RuntimeError, error - assert_equal 'boom', error.message - end - end - - def test_dispatch_threading - main = Thread.current - resource.dispatch do |o| - o[:dispatch_thread] = Thread.current - end - assert_not_equal main, object[:dispatch_thread] - end - - def test_shutdown - # This test should get improved sometime. The method returning thread is - # NOT an api that will be maintained. - assert !resource.shutdown.alive? - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_tick_loop.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_tick_loop.rb deleted file mode 100644 index 39d86b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_tick_loop.rb +++ /dev/null @@ -1,59 +0,0 @@ -require "test/unit" -require 'em_test_helper' - -class TestEmTickLoop < Test::Unit::TestCase - def test_em_tick_loop - i = 0 - EM.tick_loop { i += 1; EM.stop if i == 10 } - EM.run { EM.add_timer(1) { EM.stop } } - assert_equal i, 10 - end - - def test_tick_loop_on_stop - t = nil - tick_loop = EM.tick_loop { :stop } - tick_loop.on_stop { t = true } - EM.run { EM.next_tick { EM.stop } } - assert t - end - - def test_start_twice - i = 0 - s = 0 - tick_loop = EM.tick_loop { i += 1; :stop } - tick_loop.on_stop { s += 1; EM.stop } - EM.run { EM.next_tick { EM.stop } } - assert_equal 1, i - assert_equal 1, s - tick_loop.start - EM.run { EM.next_tick { EM.stop } } - assert_equal 2, i - assert_equal 1, s # stop callbacks are only called once - end - - def test_stop - i, s = 0, 0 - tick_loop = EM.tick_loop { i += 1 } - tick_loop.on_stop { s += 1 } - EM.run { EM.next_tick { tick_loop.stop; EM.next_tick { EM.stop } } } - assert tick_loop.stopped? - assert_equal 1, i - assert_equal 1, s - end - - def test_immediate_stops - s = 0 - tick_loop = EM::TickLoop.new { } - tick_loop.on_stop { s += 1 } - tick_loop.on_stop { s += 1 } - assert_equal 2, s - end - - def test_stopped - tick_loop = EM::TickLoop.new { } - assert tick_loop.stopped? - tick_loop.start - assert !tick_loop.stopped? - end - -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_timers.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_timers.rb deleted file mode 100644 index 88b3b78..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_timers.rb +++ /dev/null @@ -1,130 +0,0 @@ -require 'em_test_helper' - -class TestTimers < Test::Unit::TestCase - - def test_timer_with_block - x = false - EM.run { - EM::Timer.new(0) { - x = true - EM.stop - } - } - assert x - end - - def test_timer_with_proc - x = false - EM.run { - EM::Timer.new(0, proc { - x = true - EM.stop - }) - } - assert x - end - - def test_timer_cancel - assert_nothing_raised do - EM.run { - timer = EM::Timer.new(0.01) { flunk "Timer was not cancelled." } - timer.cancel - - EM.add_timer(0.02) { EM.stop } - } - end - end - - def test_periodic_timer - x = 0 - EM.run { - EM::PeriodicTimer.new(0.01) do - x += 1 - EM.stop if x == 4 - end - } - - assert_equal 4, x - end - - def test_add_periodic_timer - x = 0 - EM.run { - t = EM.add_periodic_timer(0.01) do - x += 1 - EM.stop if x == 4 - end - assert t.respond_to?(:cancel) - } - assert_equal 4, x - end - - def test_periodic_timer_cancel - x = 0 - EM.run { - pt = EM::PeriodicTimer.new(0.01) { x += 1 } - pt.cancel - EM::Timer.new(0.02) { EM.stop } - } - assert_equal 0, x - end - - def test_add_periodic_timer_cancel - x = 0 - EM.run { - pt = EM.add_periodic_timer(0.01) { x += 1 } - EM.cancel_timer(pt) - EM.add_timer(0.02) { EM.stop } - } - assert_equal 0, x - end - - def test_periodic_timer_self_cancel - x = 0 - EM.run { - pt = EM::PeriodicTimer.new(0) { - x += 1 - if x == 4 - pt.cancel - EM.stop - end - } - } - assert_equal 4, x - end - - def test_oneshot_timer_large_future_value - large_value = 11948602000 - EM.run { - EM.add_timer(large_value) { EM.stop } - EM.add_timer(0.02) { EM.stop } - } - end - - # This test is only applicable to compiled versions of the reactor. - # Pure ruby and java versions have no built-in limit on the number of outstanding timers. - unless [:pure_ruby, :java].include? EM.library_type - def test_timer_change_max_outstanding - defaults = EM.get_max_timers - EM.set_max_timers(100) - - one_hundred_one_timers = lambda do - 101.times { EM.add_timer(0.01) {} } - EM.stop - end - - assert_raises(RuntimeError) do - EM.run( &one_hundred_one_timers ) - end - - EM.set_max_timers( 101 ) - - assert_nothing_raised do - EM.run( &one_hundred_one_timers ) - end - ensure - EM.set_max_timers(defaults) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ud.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ud.rb deleted file mode 100644 index 3559756..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_ud.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'em_test_helper' - -class TestUserDefinedEvents < Test::Unit::TestCase - - def test_a - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_unbind_reason.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_unbind_reason.rb deleted file mode 100644 index ff9193e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_unbind_reason.rb +++ /dev/null @@ -1,40 +0,0 @@ -require 'em_test_helper' - -class TestUnbindReason < Test::Unit::TestCase - - class StubConnection < EM::Connection - attr_reader :error - def unbind(reason = nil) - @error = reason - EM.stop - end - end - - # RFC 5737 Address Blocks Reserved for Documentation - def test_connect_timeout - conn = nil - EM.run do - conn = EM.connect '192.0.2.0', 80, StubConnection - conn.pending_connect_timeout = 1 - end - assert_equal Errno::ETIMEDOUT, conn.error - end - - def test_connect_refused - pend('FIXME: this test is broken on Windows') if windows? - conn = nil - EM.run do - conn = EM.connect '127.0.0.1', 12388, StubConnection - end - assert_equal Errno::ECONNREFUSED, conn.error - end - - def test_optional_argument - pend('FIXME: this test is broken on Windows') if windows? - conn = nil - EM.run do - conn = EM.connect '127.0.0.1', 12388, StubConnection - end - assert_equal Errno::ECONNREFUSED, conn.error - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/execjs-2.9.1/MIT-LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/execjs-2.9.1/MIT-LICENSE deleted file mode 100644 index 02ba9c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/execjs-2.9.1/MIT-LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2015-2016 Sam Stephenson -Copyright (c) 2015-2016 Josh Peek - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/execjs-2.9.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/execjs-2.9.1/README.md deleted file mode 100644 index a83657c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/execjs-2.9.1/README.md +++ /dev/null @@ -1,101 +0,0 @@ -ExecJS -====== - -ExecJS lets you run JavaScript code from Ruby. It automatically picks -the best runtime available to evaluate your JavaScript program, then -returns the result to you as a Ruby object. - -ExecJS supports these runtimes: - -* [therubyrhino](https://github.com/cowboyd/therubyrhino) - Mozilla - Rhino embedded within JRuby -* [Duktape.rb](https://github.com/judofyr/duktape.rb) - Duktape JavaScript interpreter -* [Node.js](http://nodejs.org/) -* [Bun.sh](https://bun.sh) - JavaScript runtime & toolkit designed for speed -* Apple JavaScriptCore - Included with Mac OS X -* [Microsoft Windows Script Host](http://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx) (JScript) -* [Google V8](http://code.google.com/p/v8/) -* [mini_racer](https://github.com/rubyjs/mini_racer) - Google V8 - embedded within Ruby -* [GraalVM JavaScript](https://www.graalvm.org/javascript/) - used on TruffleRuby - -A short example: - -``` ruby -require "execjs" -ExecJS.eval "'red yellow blue'.split(' ')" -# => ["red", "yellow", "blue"] -``` - -A longer example, demonstrating how to invoke the CoffeeScript compiler: - -``` ruby -require "execjs" -require "open-uri" -source = open("http://coffeescript.org/extras/coffee-script.js").read - -context = ExecJS.compile(source) -context.call("CoffeeScript.compile", "square = (x) -> x * x", bare: true) -# => "var square;\nsquare = function(x) {\n return x * x;\n};" -``` - -# Forcing a specific runtime - -If you'd like to use a specific runtime rather than the autodected one, you can assign `ExecJS.runtime`: - -```ruby -ExecJS.runtime = ExecJS::Runtimes::Node -``` - -Alternatively, you can define it via the `EXECJS_RUNTIME` environment variable: - -```bash -EXECJS_RUNTIME=Node ruby ... -``` - -You can find the list of possible runtimes in [`lib/execjs/runtimes.rb`](https://github.com/rails/execjs/blob/master/lib/execjs/runtimes.rb). - -# Installation - -``` -$ gem install execjs -``` - -# FAQ - -**Why can't I use CommonJS `require()` inside ExecJS?** - -ExecJS provides a lowest common denominator interface to any JavaScript runtime. -Use ExecJS when it doesn't matter which JavaScript interpreter your code runs -in. If you want to access the Node API, you should check another library like -[commonjs.rb](https://github.com/cowboyd/commonjs.rb) designed to provide a -consistent interface. - -**Why can't I use `setTimeout`?** - -For similar reasons as modules, not all runtimes guarantee a full JavaScript -event loop. So `setTimeout`, `setInterval` and other timers are not defined. - -**Why can't I use ES5 features?** - -Some runtimes like Node will implement many of the latest ES5 features. However -older stock runtimes like JSC on OSX and JScript on Windows may not. You should -only count on ES3 features being available. Prefer feature checking these APIs -rather than hard coding support for specific runtimes. - -**Can ExecJS be used to sandbox scripts?** - -No, ExecJS shouldn't be used for any security related sandboxing. Since runtimes -are automatically detected, each runtime has different sandboxing properties. -You shouldn't use `ExecJS.eval` on any inputs you wouldn't feel comfortable Ruby -`eval()`ing. - -## Contributing to ExecJS - -ExecJS is work of dozens of contributors. You're encouraged to submit pull requests, propose -features and discuss issues. - -See [CONTRIBUTING](CONTRIBUTING.md). - -## License -ExecJS is released under the [MIT License](MIT-LICENSE). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/CHANGELOG.md deleted file mode 100644 index c9bc56f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/CHANGELOG.md +++ /dev/null @@ -1,574 +0,0 @@ -# Faraday Changelog - -## The changelog has moved! - -This file is not being updated anymore. Instead, please check the [Releases](https://github.com/lostisland/faraday/releases) page. - -## [2.2.0](https://github.com/lostisland/faraday/compare/v2.1.0...v2.2.0) (2022-02-03) - -* Reintroduce the possibility to register middleware with symbols, strings or procs in [#1391](https://github.com/lostisland/faraday/pull/1391) - -## [2.1.0](https://github.com/lostisland/faraday/compare/v2.0.1...v2.1.0) (2022-01-15) - -* Fix test adapter thread safety by @iMacTia in [#1380](https://github.com/lostisland/faraday/pull/1380) -* Add default adapter options by @hirasawayuki in [#1382](https://github.com/lostisland/faraday/pull/1382) -* CI: Add Ruby 3.1 to matrix by @petergoldstein in [#1374](https://github.com/lostisland/faraday/pull/1374) -* docs: fix regex pattern in logger.md examples by @hirasawayuki in [#1378](https://github.com/lostisland/faraday/pull/1378) - -## [2.0.1](https://github.com/lostisland/faraday/compare/v2.0.0...v2.0.1) (2022-01-05) - -* Re-add `faraday-net_http` as default adapter by @iMacTia in [#1366](https://github.com/lostisland/faraday/pull/1366) -* Updated sample format in UPGRADING.md by @vimutter in [#1361](https://github.com/lostisland/faraday/pull/1361) -* docs: Make UPGRADING examples more copyable by @olleolleolle in [#1363](https://github.com/lostisland/faraday/pull/1363) - -## [2.0.0](https://github.com/lostisland/faraday/compare/v1.8.0...v2.0.0) (2022-01-04) - -The next major release is here, and it comes almost 2 years after the release of v1.0! - -This release changes the way you use Faraday and embraces a new paradigm of Faraday as an ecosystem, rather than a library. - -What does that mean? It means that Faraday is less of a bundled tool and more of a framework for the community to build on top of. - -As a result, all adapters and some middleware have moved out and are now shipped as standalone gems 🙌! - -But this doesn't mean that upgrading from Faraday 1.x to Faraday 2.0 should be hard, in fact we've listed everything you need to do in the [UPGRADING.md](https://github.com/lostisland/faraday/blob/main/UPGRADING.md) doc. - -Moreover, we've setup a new [awesome-faraday](https://github.com/lostisland/awesome-faraday) repository that will showcase a curated list of adapters and middleware 😎. - -This release was the result of the efforts of the core team and all the contributors, new and old, that have helped achieve this milestone 👏. - -## What's Changed - -* Autoloading, dependency loading and middleware registry cleanup by @iMacTia in [#1301](https://github.com/lostisland/faraday/pull/1301) -* Move JSON middleware (request and response) from faraday_middleware by @iMacTia in [#1300](https://github.com/lostisland/faraday/pull/1300) -* Remove deprecated `Faraday::Request#method` by @olleolleolle in [#1303](https://github.com/lostisland/faraday/pull/1303) -* Remove deprecated `Faraday::UploadIO` by @iMacTia in [#1307](https://github.com/lostisland/faraday/pull/1307) -* [1.x] Deprecate Authorization helpers in `Faraday::Connection` by @iMacTia in [#1306](https://github.com/lostisland/faraday/pull/1306) -* Drop deprecated auth helpers from Connection and refactor auth middleware by @iMacTia in [#1308](https://github.com/lostisland/faraday/pull/1308) -* Add Faraday 1.x examples in authentication.md docs by @iMacTia in [#1320](https://github.com/lostisland/faraday/pull/1320) -* Fix passing a URL with embedded basic auth by @iMacTia in [#1324](https://github.com/lostisland/faraday/pull/1324) -* Register JSON middleware by @mollerhoj in [#1331](https://github.com/lostisland/faraday/pull/1331) -* Retry middleware should handle string exception class name consistently by @jrochkind in [#1334](https://github.com/lostisland/faraday/pull/1334) -* Improve request info in exceptions raised by RaiseError Middleware by @willianzocolau in [#1335](https://github.com/lostisland/faraday/pull/1335) -* Remove net-http adapter and update docs by @iMacTia in [#1336](https://github.com/lostisland/faraday/pull/1336) -* Explain plan for faraday_middleware in UPGRADING.md by @iMacTia in [#1339](https://github.com/lostisland/faraday/pull/1339) -* Scripts folder cleanup by @iMacTia in [#1340](https://github.com/lostisland/faraday/pull/1340) -* Replace `Hash#merge` with `Utils#deep_merge` for connection options by @xkwd in [#1343](https://github.com/lostisland/faraday/pull/1343) -* Callable authorizers by @sled in [#1345](https://github.com/lostisland/faraday/pull/1345) -* Default value for exc error by @DariuszMusielak in [#1351](https://github.com/lostisland/faraday/pull/1351) -* Don't call `retry_block` unless a retry is going to happen by @jrochkind in [#1350](https://github.com/lostisland/faraday/pull/1350) -* Improve documentation for v2 by @iMacTia in [#1353](https://github.com/lostisland/faraday/pull/1353) -* Remove default `default_adapter` (yes, you read that right) by @iMacTia in [#1354](https://github.com/lostisland/faraday/pull/1354) -* Remove retry middleware by @iMacTia in [#1356](https://github.com/lostisland/faraday/pull/1356) -* Remove multipart middleware and all its documentation and tests by @iMacTia in [#1357](https://github.com/lostisland/faraday/pull/1357) - -## [1.9.3](https://github.com/lostisland/faraday/compare/v1.9.2...v1.9.3) (2022-01-06) - -* Re-add support for Ruby 2.4+ by @iMacTia in [#1371](https://github.com/lostisland/faraday/pull/1371) - -## [1.9.2](https://github.com/lostisland/faraday/compare/v1.9.1...v1.9.2) (2022-01-06) - -* Add alias with legacy name to gemified middleware by @iMacTia in [#1372](https://github.com/lostisland/faraday/pull/1372) - -## [1.9.1](https://github.com/lostisland/faraday/compare/v1.9.0...v1.9.1) (2022-01-06) - -* Update adapter dependencies in Gemspec by @iMacTia in [#1370](https://github.com/lostisland/faraday/pull/1370) - -## [1.9.0](https://github.com/lostisland/faraday/compare/v1.8.0...v1.9.0) (2022-01-06) - -* Use external multipart and retry middleware by @iMacTia in [#1367](https://github.com/lostisland/faraday/pull/1367) - -## [1.8.0](https://github.com/lostisland/faraday/releases/tag/v1.8.0) (2021-09-18) - -### Features - -* Backport authorization procs (#1322, @jarl-dk) - -## [v1.7.0](https://github.com/lostisland/faraday/releases/tag/v1.7.0) (2021-08-09) - -### Features - -* Add strict_mode to Test::Stubs (#1298, @yykamei) - -## [v1.6.0](https://github.com/lostisland/faraday/releases/tag/v1.6.0) (2021-08-01) - -### Misc - -* Use external Rack adapter (#1296, @iMacTia) - -## [v1.5.1](https://github.com/lostisland/faraday/releases/tag/v1.5.1) (2021-07-11) - -### Fixes - -* Fix JRuby incompatibility after moving out EM adapters (#1294, @ahorek) - -### Documentation - -* Update YARD to follow RackBuilder (#1292, @kachick) - -## [v1.5.0](https://github.com/lostisland/faraday/releases/tag/v1.5.0) (2021-07-04) - -### Misc - -* Use external httpclient adapter (#1289, @iMacTia) -* Use external patron adapter (#1290, @iMacTia) - -## [v1.4.3](https://github.com/lostisland/faraday/releases/tag/v1.4.3) (2021-06-24) - -### Fixes - -* Silence warning (#1286, @gurgeous) -* Always dup url_prefix in Connection#build_exclusive_url (#1288, @alexeyds) - -## [v1.4.2](https://github.com/lostisland/faraday/releases/tag/v1.4.2) (2021-05-22) - -### Fixes -* Add proxy setting when url_prefix is changed (#1276, @ci) -* Default proxy scheme to http:// if necessary, fixes #1282 (#1283, @gurgeous) - -### Documentation -* Improve introduction page (#1273, @gurgeous) -* Docs: add more middleware examples (#1277, @gurgeous) - -### Misc -* Use external `em_http` and `em_synchrony` adapters (#1274, @iMacTia) - -## [v1.4.1](https://github.com/lostisland/faraday/releases/tag/v1.4.1) (2021-04-18) - -### Fixes - -* Fix dependencies from external adapter gems (#1269, @iMacTia) - -## [v1.4.0](https://github.com/lostisland/faraday/releases/tag/v1.4.0) (2021-04-16) - -### Highlights - -With this release, we continue the work of gradually moving out adapters into their own gems 🎉 -Thanks to @MikeRogers0 for helping the Faraday team in progressing with this quest 👏 - -And thanks to @olleolleolle efforts, Faraday is becoming more inclusive than ever 🤗 -Faraday's `master` branch has been renamed into `main`, we have an official policy on inclusive language and even a rubocop plugin to check for non-inclusive words ❤️! -Checkout the "Misc" section below for more details 🙌 ! - -### Fixes - -* Fix NoMethodError undefined method 'coverage' (#1255, @Maroo-b) - -### Documentation - -* Some docs on EventMachine adapters. (#1232, @damau) -* CONTRIBUTING: Fix grammar and layout (#1261, @olleolleolle) - -### Misc - -* Replacing Net::HTTP::Persistent with faraday-net_http_persistent (#1250, @MikeRogers0) -* CI: Configure the regenerated Coveralls token (#1256, @olleolleolle) -* Replace Excon adapter with Faraday::Excon gem, and fix autoloading issue with Faraday::NetHttpPersistent (#1257, @iMacTia) -* Drop CodeClimate (#1259, @olleolleolle) -* CI: Rename default branch to main (#1263, @olleolleolle) -* Drop RDoc support file .document (#1264, @olleolleolle, @iMacTia) -* CONTRIBUTING: add a policy on inclusive language (#1262, @olleolleolle) -* Add rubocop-inclusivity (#1267, @olleolleolle, @iMacTia) - -## [v1.3.1](https://github.com/lostisland/faraday/releases/tag/v1.3.1) (2021-04-16) - -### Fixes - -* Escape colon in path segment (#1237, @yarafan) -* Handle IPv6 address String on Faraday::Connection#proxy_from_env (#1252, @cosmo0920) - -### Documentation - -* Fix broken Rubydoc.info links (#1236, @nickcampbell18) -* Add httpx to list of external adapters (#1246, @HoneyryderChuck) - -### Misc - -* Refactor CI to remove duplicated line (#1230, @tricknotes) -* Gemspec: Pick a good ruby2_keywords release (#1241, @olleolleolle) - -## [v1.3.0](https://github.com/lostisland/faraday/releases/tag/v1.3.0) (2020-12-31) - -### Highlights -Faraday v1.3.0 is the first release to officially support Ruby 3.0 in the CI pipeline 🎉 🍾! - -This is also the first release with a previously "included" adapter (Net::HTTP) being isolated into a [separate gem](https://github.com/lostisland/faraday-net_http) 🎊! -The new adapter is added to Faraday as a dependency for now, so that means full backwards-compatibility, but just to be safe be careful when upgrading! - -This is a huge step towards are Faraday v2.0 objective of pushing adapters and middleware into separate gems. -Many thanks to the Faraday Team, @JanDintel and everyone who attended the [ROSS Conf remote event](https://www.rossconf.io/event/remote/) - -### Features - -* Improves consistency with Faraday::Error and Faraday::RaiseError (#1229, @qsona, @iMacTia) - -### Fixes - -* Don't assign to global ::Timer (#1227, @bpo) - -### Documentation - -* CHANGELOG: add releases after 1.0 (#1225, @olleolleolle) -* Improves retry middleware documentation. (#1228, @iMacTia) - -### Misc - -* Move out Net::HTTP adapter (#1222, @JanDintel, @iMacTia) -* Adds Ruby 3.0 to CI Matrix (#1226, @iMacTia) - - -## [v1.2.0](https://github.com/lostisland/faraday/releases/tag/v1.2.0) (2020-12-23) - -### Features - -* Introduces `on_request` and `on_complete` methods in `Faraday::Middleware`. (#1194, @iMacTia) - -### Fixes - -* Require 'date' to avoid retry exception (#1206, @rustygeldmacher) -* Fix rdebug recursion issue (#1205, @native-api) -* Update call to `em_http_ssl_patch` (#1202, @kylekeesling) -* `EmHttp` adapter: drop superfluous loaded? check (#1213, @olleolleolle) -* Avoid 1 use of keyword hackery (#1211, @grosser) -* Fix #1219 `Net::HTTP` still uses env proxy (#1221, @iMacTia) - -### Documentation - -* Add comment in gemspec to explain exposure of `examples` and `spec` folders. (#1192, @iMacTia) -* Adapters, how to create them (#1193, @olleolleolle) -* Update documentation on using the logger (#1196, @tijmenb) -* Adjust the retry documentation and spec to align with implementation (#1198, @nbeyer) - -### Misc - -* Test against ruby head (#1208, @grosser) - -## [v1.1.0](https://github.com/lostisland/faraday/releases/tag/v1.1.0) (2020-10-17) - -### Features - -* Makes parameters sorting configurable (#1162 @wishdev) -* Introduces `flat_encode` option for multipart adapter. (#1163 @iMacTia) -* Include request info in exceptions raised by RaiseError Middleware (#1181 @SandroDamilano) - -### Fixes - -* Avoid `last arg as keyword param` warning when building user middleware on Ruby 2.7 (#1153 @dgholz) -* Limits net-http-persistent version to < 4.0 (#1156 @iMacTia) -* Update `typhoeus` to new stable version (`1.4`) (#1159 @AlexWayfer) -* Properly fix test failure with Rack 2.1+. (#1171 @voxik) - -### Documentation - -* Improves documentation on how to contribute to the site by using Docker. (#1175 @iMacTia) -* Remove retry_change_requests from documentation (#1185 @stim371) - -### Misc - -* Link from GitHub Actions badge to CI workflow (#1141 @olleolleolle) -* Return tests of `Test` adapter (#1147 @AlexWayfer) -* Add 1.0 release to wording in CONTRIBUTING (#1155 @olleolleolle) -* Fix linting bumping Rubocop to 0.90.0 (#1182 @iMacTia) -* Drop `git ls-files` in gemspec (#1183 @utkarsh2102) -* Upgrade CI to ruby/setup-ruby (#1187 @gogainda) - -## [v1.0.1](https://github.com/lostisland/faraday/releases/tag/v1.0.1) (2020-03-29) - -### Fixes - -* Use Net::HTTP#start(&block) to ensure closed TCP connections (#1117) -* Fully qualify constants to be checked (#1122) -* Allows `parse` method to be private/protected in response middleware (#1123) -* Encode Spaces in Query Strings as '%20' Instead of '+' (#1125) -* Limits rack to v2.0.x (#1127) -* Adapter Registry reads also use mutex (#1136) - -### Documentation - -* Retry middleware documentation fix (#1109) -* Docs(retry): precise usage of retry-after (#1111) -* README: Link the logo to the website (#1112) -* Website: add search bar (#1116) -* Fix request/response mix-up in docs text (#1132) - -## [v1.0](https://github.com/lostisland/faraday/releases/tag/v1.0.0) (2020-01-22) - -Features: - -* Add #trace support to Faraday::Connection #861 (@technoweenie) -* Add the log formatter that is easy to override and safe to inherit #889 (@prikha) -* Support standalone adapters #941 (@iMacTia) -* Introduce Faraday::ConflictError for 409 response code #979 (@lucasmoreno) -* Add support for setting `read_timeout` option separately #1003 (@springerigor) -* Refactor and cleanup timeout settings across adapters #1022 (@technoweenie) -* Create ParamPart class to allow multipart posts with JSON content and file upload at the same time #1017 (@jeremy-israel) -* Copy UploadIO const -> FilePart for consistency with ParamPart #1018, #1021 (@technoweenie) -* Implement streaming responses in the Excon adapter #1026 (@technoweenie) -* Add default implementation of `Middleware#close`. #1069 (@ioquatix) -* Add `Adapter#close` so that derived classes can call super. #1091 (@ioquatix) -* Add log_level option to logger default formatter #1079 (@amrrbakry) -* Fix empty array for FlatParamsEncoder `{key: []} -> "key="` #1084 (@mrexox) - -Bugs: - -* Explicitly require date for DateTime library in Retry middleware #844 (@nickpresta) -* Refactor Adapter as final endpoints #846 (@iMacTia) -* Separate Request and Response bodies in Faraday::Env #847 (@iMacTia) -* Implement Faraday::Connection#options to make HTTP requests with the OPTIONS verb. #857 (@technoweenie) -* Multipart: Drop Ruby 1.8 String behavior compat #892 (@olleolleolle) -* Fix Ruby warnings in Faraday::Options.memoized #962 (@technoweenie) -* Allow setting min/max SSL version for a Net::HTTP::Persistent connection #972, #973 (@bdewater, @olleolleolle) -* Fix instances of frozen empty string literals #1040 (@BobbyMcWho) -* remove temp_proxy and improve proxy tests #1063 (@technoweenie) -* improve error initializer consistency #1095 (@technoweenie) - -Misc: - -* Convert minitest suite to RSpec #832 (@iMacTia, with help from @gaynetdinov, @Insti, @technoweenie) -* Major effort to update code to RuboCop standards. #854 (@olleolleolle, @iMacTia, @technoweenie, @htwroclau, @jherdman, @Drenmi, @Insti) -* Rubocop #1044, #1047 (@BobbyMcWho, @olleolleolle) -* Documentation tweaks (@adsteel, @Hubro, @iMacTia, @olleolleolle, @technoweenie) -* Update license year #981 (@Kevin-Kawai) -* Configure Jekyll plugin jekyll-remote-theme to support Docker usage #999 (@Lewiscowles1986) -* Fix Ruby 2.7 warnings #1009 (@tenderlove) -* Cleanup adapter connections #1023 (@technoweenie) -* Describe clearing cached stubs #1045 (@viraptor) -* Add project metadata to the gemspec #1046 (@orien) - -## v0.17.4 - -Fixes: - -* NetHttp adapter: wrap Errno::EADDRNOTAVAIL (#1114, @embs) -* Fix === for subclasses of deprecated classes (#1243, @mervync) - -## v0.17.3 - -Fixes: - -* Reverts changes in error classes hierarchy. #1092 (@iMacTia) -* Fix Ruby 1.9 syntax errors and improve Error class testing #1094 (@BanzaiMan, - @mrexox, @technoweenie) - -Misc: - -* Stops using `&Proc.new` for block forwarding. #1083 (@olleolleolle) -* Update CI to test against ruby 2.0-2.7 #1087, #1099 (@iMacTia, @olleolleolle, - @technoweenie) -* require FARADAY_DEPRECATE=warn to show Faraday v1.0 deprecation warnings - #1098 (@technoweenie) - -## v0.17.1 - -Final release before Faraday v1.0, with important fixes for Ruby 2.7. - -Fixes: - -* RaiseError response middleware raises exception if HTTP client returns a nil - status. #1042 (@jonnyom, @BobbyMcWho) - -Misc: - -* Fix Ruby 2.7 warnings (#1009) -* Add `Faraday::Deprecate` to warn about upcoming v1.0 changes. (#1054, #1059, - #1076, #1077) -* Add release notes up to current in CHANGELOG.md (#1066) -* Port minimal rspec suite from main branch to run backported tests. (#1058) - -## v0.17.0 - -This release is the same as v0.15.4. It was pushed to cover up releases -v0.16.0-v0.16.2. - -## v0.15.4 - -* Expose `pool_size` as a option for the NetHttpPersistent adapter (#834) - -## v0.15.3 - -* Make Faraday::Request serialisable with Marshal. (#803) -* Add DEFAULT_EXCEPTIONS constant to Request::Retry (#814) -* Add support for Ruby 2.6 Net::HTTP write_timeout (#824) - -## v0.15.2 - -* Prevents `Net::HTTP` adapters to retry request internally by setting `max_retries` to 0 if available (Ruby 2.5+). (#799) -* Fixes `NestedParamsEncoder` handling of empty array values (#801) - -## v0.15.1 - -* NetHttpPersistent adapter better reuse of SSL connections (#793) -* Refactor: inline cached_connection (#797) -* Logger middleware: use $stdout instead of STDOUT (#794) -* Fix: do not memoize/reuse Patron session (#796) - -Also in this release: - -* Allow setting min/max ssl version for Net::HTTP (#792) -* Allow setting min/max ssl version for Excon (#795) - -## v0.15.0 - -Features: - -* Added retry block option to retry middleware. (#770) -* Retry middleware improvements (honour Retry-After header, retry statuses) (#773) -* Improve response logger middleware output (#784) - -Fixes: - -* Remove unused class error (#767) -* Fix minor typo in README (#760) -* Reuse persistent connections when using net-http-persistent (#778) -* Fix Retry middleware documentation (#781) -* Returns the http response when giving up on retrying by status (#783) - -## v0.14.0 - -Features: - -* Allow overriding env proxy #754 (@iMacTia) -* Remove legacy Typhoeus adapter #715 (@olleolleolle) -* External Typhoeus Adapter Compatibility #748 (@iMacTia) -* Warn about missing adapter when making a request #743 (@antstorm) -* Faraday::Adapter::Test stubs now support entire urls (with host) #741 (@erik-escobedo) - -Fixes: - -* If proxy is manually provided, this takes priority over `find_proxy` #724 (@iMacTia) -* Fixes the behaviour for Excon's open_timeout (not setting write_timeout anymore) #731 (@apachelogger) -* Handle all connection timeout messages in Patron #687 (@stayhero) - -## v0.13.1 - -* Fixes an incompatibility with Addressable::URI being used as uri_parser - -## v0.13.0 - -Features: - -* Dynamically reloads the proxy when performing a request on an absolute domain (#701) -* Adapter support for Net::HTTP::Persistent v3.0.0 (#619) - -Fixes: - -* Prefer #hostname over #host. (#714) -* Fixes an edge-case issue with response headers parsing (missing HTTP header) (#719) - -## v0.12.2 - -* Parse headers from aggregated proxy requests/responses (#681) -* Guard against invalid middleware configuration with warning (#685) -* Do not use :insecure option by default in Patron (#691) -* Fixes an issue with HTTPClient not raising a `Faraday::ConnectionFailed` (#702) -* Fixes YAML serialization/deserialization for `Faraday::Utils::Headers` (#690) -* Fixes an issue with Options having a nil value (#694) -* Fixes an issue with Faraday.default_connection not using Faraday.default_connection_options (#698) -* Fixes an issue with Options.merge! and Faraday instrumentation middleware (#710) - -## v0.12.1 - -* Fix an issue with Patron tests failing on jruby -* Fix an issue with new `rewind_files` feature that was causing an exception when the body was not an Hash -* Expose wrapped_exception in all client errors -* Add Authentication Section to the ReadMe - -## v0.12.0.1 - -* Hotfix release to address an issue with TravisCI deploy on Rubygems - -## v0.12.0 - -Features: - -* Proxy feature now relies on Ruby `URI::Generic#find_proxy` and can use `no_proxy` ENV variable (not compatible with ruby < 2.0) -* Adds support for `context` request option to pass arbitrary information to middlewares - -Fixes: - -* Fix an issue with options that was causing new options to override defaults ones unexpectedly -* Rewind `UploadIO`s on retry to fix a compatibility issue -* Make multipart boundary unique -* Improvements in `README.md` - -## v0.11.0 - -Features: - -* Add `filter` method to Logger middleware -* Add support for Ruby2.4 and Minitest 6 -* Introduce block syntax to customise the adapter - -Fixes: - -* Fix an issue that was allowing to override `default_connection_options` from a connection instance -* Fix a bug that was causing newline escape characters ("\n") to be used when building the Authorization header - -## v0.10.1 - -- Fix an issue with HTTPClient adapter that was causing the SSL to be reset on every request -- Rescue `IOError` instead of specific subclass -- `Faraday::Utils::Headers` can now be successfully serialised in YAML -- Handle `default_connection_options` set with hash - -## v0.10.0 - -Breaking changes: -- Drop support for Ruby 1.8 - -Features: -- Include wrapped exception/reponse in ClientErrors -- Add `response.reason_phrase` -- Provide option to selectively skip logging request/response headers -- Add regex support for pattern matching in `test` adapter - -Fixes: -- Add `Faraday.respond_to?` to find methods managed by `method_missing` -- em-http: `request.host` instead of `connection.host` should be taken for SSL validations -- Allow `default_connection_options` to be merged when options are passed as url parameter -- Improve splitting key-value pairs in raw HTTP headers - -## v0.9.2 - -Adapters: -- Enable gzip compression for httpclient -- Fixes default certificate store for httpclient not having default paths. -- Make excon adapter compatible with 0.44 excon version -- Add compatibility with Patron 0.4.20 -- Determine default port numbers in Net::HTTP adapters (Addressable compatibility) -- em-http: wrap "connection closed by server" as ConnectionFailed type -- Wrap Errno::ETIMEDOUT in Faraday::Error::TimeoutError - -Utils: -- Add Rack-compatible support for parsing `a[][b]=c` nested queries -- Encode nil values in queries different than empty strings. Before: `a=`; now: `a`. -- Have `Faraday::Utils::Headers#replace` clear internal key cache -- Dup the internal key cache when a Headers hash is copied - -Env and middleware: -- Ensure `env` stored on middleware response has reference to the response -- Ensure that Response properties are initialized during `on_complete` (VCR compatibility) -- Copy request options in Faraday::Connection#dup -- Env custom members should be copied by Env.from(env) -- Honour per-request `request.options.params_encoder` -- Fix `interval_randomness` data type for Retry middleware -- Add maximum interval option for Retry middleware - -## v0.9.1 - -* Refactor Net:HTTP adapter so that with_net_http_connection can be overridden to allow pooled connections. (@Ben-M) -* Add configurable methods that bypass `retry_if` in the Retry request middleware. (@mike-bourgeous) - -## v0.9.0 - -* Add HTTPClient adapter (@hakanensari) -* Improve Retry handler (@mislav) -* Remove autoloading by default (@technoweenie) -* Improve internal docs (@technoweenie, @mislav) -* Respect user/password in http proxy string (@mislav) -* Adapter options are structs. Reinforces consistent options across adapters - (@technoweenie) -* Stop stripping trailing / off base URLs in a Faraday::Connection. (@technoweenie) -* Add a configurable URI parser. (@technoweenie) -* Remove need to manually autoload when using the authorization header helpers on `Faraday::Connection`. (@technoweenie) -* `Faraday::Adapter::Test` respects the `Faraday::RequestOptions#params_encoder` option. (@technoweenie) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/LICENSE.md deleted file mode 100644 index 3877615..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/LICENSE.md +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2009-2023 Rick Olson, Zack Hobson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/README.md deleted file mode 100644 index 596b580..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# [![Faraday](./docs/_media/home-logo.svg)][website] - -[![Gem Version](https://badge.fury.io/rb/faraday.svg)](https://rubygems.org/gems/faraday) -[![GitHub Actions CI](https://github.com/lostisland/faraday/workflows/CI/badge.svg)](https://github.com/lostisland/faraday/actions?query=workflow%3ACI) -[![GitHub Discussions](https://img.shields.io/github/discussions/lostisland/faraday?logo=github)](https://github.com/lostisland/faraday/discussions) - -Faraday is an HTTP client library abstraction layer that provides a common interface over many -adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle. -Take a look at [Awesome Faraday][awesome] for a list of available adapters and middleware. - -## Why use Faraday? - -Faraday gives you the power of Rack middleware for manipulating HTTP requests and responses, -making it easier to build sophisticated API clients or web service libraries that abstract away -the details of how HTTP requests are made. - -Faraday comes with a lot of features out of the box, such as: -* Support for multiple adapters (Net::HTTP, Typhoeus, Patron, Excon, HTTPClient, and more) -* Persistent connections (keep-alive) -* Parallel requests -* Automatic response parsing (JSON, XML, YAML) -* Customization of the request/response cycle with middleware -* Support for streaming responses -* Support for uploading files -* And much more! - -## Getting Started - -The best starting point is the [Faraday Website][website], with its introduction and explanation. - -Need more details? See the [Faraday API Documentation][apidoc] to see how it works internally, or take a look at [Advanced techniques for calling HTTP APIs in Ruby](https://mattbrictson.com/blog/advanced-http-techniques-in-ruby) blog post from [@mattbrictson](https://github.com/mattbrictson) 🚀 - -## Supported Ruby versions - -This library aims to support and is [tested against][actions] the currently officially supported Ruby -implementations. This means that, even without a major release, we could add or drop support for Ruby versions, -following their [EOL](https://endoflife.date/ruby). -Currently that means we support Ruby 2.6+ - -If something doesn't work on one of these Ruby versions, it's a bug. - -This library may inadvertently work (or seem to work) on other Ruby -implementations and versions, however support will only be provided for the versions listed -above. - -If you would like this library to support another Ruby version, you may -volunteer to be a maintainer. Being a maintainer entails making sure all tests -run and pass on that implementation. When something breaks on your -implementation, you will be responsible for providing patches in a timely -fashion. If critical issues for a particular implementation exist at the time -of a major release, support for that Ruby version may be dropped. - -## Contribute - -Do you want to contribute to Faraday? -Open the issues page and check for the `help wanted` label! -But before you start coding, please read our [Contributing Guide][contributing] - -## Copyright - -© 2009 - 2023, the Faraday Team. Website and branding design by [Elena Lo Piccolo](https://elelopic.design). - -[awesome]: https://github.com/lostisland/awesome-faraday/#adapters -[website]: https://lostisland.github.io/faraday -[contributing]: https://github.com/lostisland/faraday/blob/main/.github/CONTRIBUTING.md -[apidoc]: https://www.rubydoc.info/github/lostisland/faraday -[actions]: https://github.com/lostisland/faraday/actions diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/Rakefile deleted file mode 100644 index 4339cee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/Rakefile +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -require 'rspec/core/rake_task' - -RSpec::Core::RakeTask.new(:spec) do |task| - task.ruby_opts = %w[-W] -end - -task default: :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/examples/client_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/examples/client_spec.rb deleted file mode 100644 index e30d86f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/examples/client_spec.rb +++ /dev/null @@ -1,119 +0,0 @@ -# frozen_string_literal: true - -# Requires Ruby with rspec and faraday gems. -# rspec client_spec.rb - -require 'faraday' -require 'json' - -# Example API client -class Client - def initialize(conn) - @conn = conn - end - - def httpbingo(jname, params: {}) - res = @conn.get("/#{jname}", params) - data = JSON.parse(res.body) - data['origin'] - end - - def foo(params) - res = @conn.post('/foo', JSON.dump(params)) - res.status - end -end - -RSpec.describe Client do - let(:stubs) { Faraday::Adapter::Test::Stubs.new } - let(:conn) { Faraday.new { |b| b.adapter(:test, stubs) } } - let(:client) { Client.new(conn) } - - it 'parses origin' do - stubs.get('/ip') do |env| - # optional: you can inspect the Faraday::Env - expect(env.url.path).to eq('/ip') - [ - 200, - { 'Content-Type': 'application/javascript' }, - '{"origin": "127.0.0.1"}' - ] - end - - # uncomment to trigger stubs.verify_stubbed_calls failure - # stubs.get('/unused') { [404, {}, ''] } - - expect(client.httpbingo('ip')).to eq('127.0.0.1') - stubs.verify_stubbed_calls - end - - it 'handles 404' do - stubs.get('/api') do - [ - 404, - { 'Content-Type': 'application/javascript' }, - '{}' - ] - end - expect(client.httpbingo('api')).to be_nil - stubs.verify_stubbed_calls - end - - it 'handles exception' do - stubs.get('/api') do - raise Faraday::ConnectionFailed - end - - expect { client.httpbingo('api') }.to raise_error(Faraday::ConnectionFailed) - stubs.verify_stubbed_calls - end - - context 'When the test stub is run in strict_mode' do - let(:stubs) { Faraday::Adapter::Test::Stubs.new(strict_mode: true) } - - it 'verifies the all parameter values are identical' do - stubs.get('/api?abc=123') do - [ - 200, - { 'Content-Type': 'application/javascript' }, - '{"origin": "127.0.0.1"}' - ] - end - - # uncomment to raise Stubs::NotFound - # expect(client.httpbingo('api', params: { abc: 123, foo: 'Kappa' })).to eq('127.0.0.1') - expect(client.httpbingo('api', params: { abc: 123 })).to eq('127.0.0.1') - stubs.verify_stubbed_calls - end - end - - context 'When the Faraday connection is configured with FlatParamsEncoder' do - let(:conn) { Faraday.new(request: { params_encoder: Faraday::FlatParamsEncoder }) { |b| b.adapter(:test, stubs) } } - - it 'handles the same multiple URL parameters' do - stubs.get('/api?a=x&a=y&a=z') { [200, { 'Content-Type' => 'application/json' }, '{"origin": "127.0.0.1"}'] } - - # uncomment to raise Stubs::NotFound - # expect(client.httpbingo('api', params: { a: %w[x y] })).to eq('127.0.0.1') - expect(client.httpbingo('api', params: { a: %w[x y z] })).to eq('127.0.0.1') - stubs.verify_stubbed_calls - end - end - - context 'When you want to test the body, you can use a proc as well as string' do - it 'tests with a string' do - stubs.post('/foo', '{"name":"YK"}') { [200, {}, ''] } - - expect(client.foo(name: 'YK')).to eq 200 - stubs.verify_stubbed_calls - end - - it 'tests with a proc' do - check = ->(request_body) { JSON.parse(request_body).slice('name') == { 'name' => 'YK' } } - stubs.post('/foo', check) { [200, {}, ''] } - - expect(client.foo(name: 'YK', created_at: Time.now)).to eq 200 - stubs.verify_stubbed_calls - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/examples/client_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/examples/client_test.rb deleted file mode 100644 index 3aad957..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/examples/client_test.rb +++ /dev/null @@ -1,144 +0,0 @@ -# frozen_string_literal: true - -# Requires Ruby with test-unit and faraday gems. -# ruby client_test.rb - -require 'faraday' -require 'json' -require 'test/unit' - -# Example API client -class Client - def initialize(conn) - @conn = conn - end - - def httpbingo(jname, params: {}) - res = @conn.get("/#{jname}", params) - data = JSON.parse(res.body) - data['origin'] - end - - def foo(params) - res = @conn.post('/foo', JSON.dump(params)) - res.status - end -end - -# Example API client test -class ClientTest < Test::Unit::TestCase - def test_httpbingo_name - stubs = Faraday::Adapter::Test::Stubs.new - stubs.get('/api') do |env| - # optional: you can inspect the Faraday::Env - assert_equal '/api', env.url.path - [ - 200, - { 'Content-Type': 'application/javascript' }, - '{"origin": "127.0.0.1"}' - ] - end - - # uncomment to trigger stubs.verify_stubbed_calls failure - # stubs.get('/unused') { [404, {}, ''] } - - cli = client(stubs) - assert_equal '127.0.0.1', cli.httpbingo('api') - stubs.verify_stubbed_calls - end - - def test_httpbingo_not_found - stubs = Faraday::Adapter::Test::Stubs.new - stubs.get('/api') do - [ - 404, - { 'Content-Type': 'application/javascript' }, - '{}' - ] - end - - cli = client(stubs) - assert_nil cli.httpbingo('api') - stubs.verify_stubbed_calls - end - - def test_httpbingo_exception - stubs = Faraday::Adapter::Test::Stubs.new - stubs.get('/api') do - raise Faraday::ConnectionFailed - end - - cli = client(stubs) - assert_raise Faraday::ConnectionFailed do - cli.httpbingo('api') - end - stubs.verify_stubbed_calls - end - - def test_strict_mode - stubs = Faraday::Adapter::Test::Stubs.new(strict_mode: true) - stubs.get('/api?abc=123') do - [ - 200, - { 'Content-Type': 'application/javascript' }, - '{"origin": "127.0.0.1"}' - ] - end - - cli = client(stubs) - assert_equal '127.0.0.1', cli.httpbingo('api', params: { abc: 123 }) - - # uncomment to raise Stubs::NotFound - # assert_equal '127.0.0.1', cli.httpbingo('api', params: { abc: 123, foo: 'Kappa' }) - stubs.verify_stubbed_calls - end - - def test_non_default_params_encoder - stubs = Faraday::Adapter::Test::Stubs.new(strict_mode: true) - stubs.get('/api?a=x&a=y&a=z') do - [ - 200, - { 'Content-Type': 'application/javascript' }, - '{"origin": "127.0.0.1"}' - ] - end - conn = Faraday.new(request: { params_encoder: Faraday::FlatParamsEncoder }) do |builder| - builder.adapter :test, stubs - end - - cli = Client.new(conn) - assert_equal '127.0.0.1', cli.httpbingo('api', params: { a: %w[x y z] }) - - # uncomment to raise Stubs::NotFound - # assert_equal '127.0.0.1', cli.httpbingo('api', params: { a: %w[x y] }) - stubs.verify_stubbed_calls - end - - def test_with_string_body - stubs = Faraday::Adapter::Test::Stubs.new do |stub| - stub.post('/foo', '{"name":"YK"}') { [200, {}, ''] } - end - cli = client(stubs) - assert_equal 200, cli.foo(name: 'YK') - - stubs.verify_stubbed_calls - end - - def test_with_proc_body - stubs = Faraday::Adapter::Test::Stubs.new do |stub| - check = ->(request_body) { JSON.parse(request_body).slice('name') == { 'name' => 'YK' } } - stub.post('/foo', check) { [200, {}, ''] } - end - cli = client(stubs) - assert_equal 200, cli.foo(name: 'YK', created_at: Time.now) - - stubs.verify_stubbed_calls - end - - def client(stubs) - conn = Faraday.new do |builder| - builder.adapter :test, stubs - end - Client.new(conn) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/external_adapters/faraday_specs_setup.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/external_adapters/faraday_specs_setup.rb deleted file mode 100644 index ac7f7b6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/external_adapters/faraday_specs_setup.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -require 'webmock/rspec' -WebMock.disable_net_connect!(allow_localhost: true) - -require_relative '../support/helper_methods' -require_relative '../support/disabling_stub' -require_relative '../support/streaming_response_checker' -require_relative '../support/shared_examples/adapter' -require_relative '../support/shared_examples/request_method' - -RSpec.configure do |config| - config.include Faraday::HelperMethods -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter/test_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter/test_spec.rb deleted file mode 100644 index 117bb78..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter/test_spec.rb +++ /dev/null @@ -1,442 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Adapter::Test do - let(:stubs) do - described_class::Stubs.new do |stub| - stub.get('http://domain.test/hello') do - [200, { 'Content-Type' => 'text/html' }, 'domain: hello'] - end - - stub.get('http://wrong.test/hello') do - [200, { 'Content-Type' => 'text/html' }, 'wrong: hello'] - end - - stub.get('http://wrong.test/bait') do - [404, { 'Content-Type' => 'text/html' }] - end - - stub.get('/hello') do - [200, { 'Content-Type' => 'text/html' }, 'hello'] - end - - stub.get('/method-echo') do |env| - [200, { 'Content-Type' => 'text/html' }, env[:method].to_s] - end - - stub.get(%r{\A/resources/\d+(?:\?|\z)}) do - [200, { 'Content-Type' => 'text/html' }, 'show'] - end - - stub.get(%r{\A/resources/(specified)\z}) do |_env, meta| - [200, { 'Content-Type' => 'text/html' }, "show #{meta[:match_data][1]}"] - end - end - end - - let(:connection) do - Faraday.new do |builder| - builder.adapter :test, stubs - end - end - - let(:response) { connection.get('/hello') } - - context 'with simple path sets status' do - subject { response.status } - - it { is_expected.to eq 200 } - end - - context 'with simple path sets headers' do - subject { response.headers['Content-Type'] } - - it { is_expected.to eq 'text/html' } - end - - context 'with simple path sets body' do - subject { response.body } - - it { is_expected.to eq 'hello' } - end - - context 'with host points to the right stub' do - subject { connection.get('http://domain.test/hello').body } - - it { is_expected.to eq 'domain: hello' } - end - - describe 'can be called several times' do - subject { connection.get('/hello').body } - - it { is_expected.to eq 'hello' } - end - - describe 'can handle regular expression path' do - subject { connection.get('/resources/1').body } - - it { is_expected.to eq 'show' } - end - - describe 'can handle single parameter block' do - subject { connection.get('/method-echo').body } - - it { is_expected.to eq 'get' } - end - - describe 'can handle regular expression path with captured result' do - subject { connection.get('/resources/specified').body } - - it { is_expected.to eq 'show specified' } - end - - context 'with get params' do - subject { connection.get('/param?a=1').body } - - before do - stubs.get('/param?a=1') { [200, {}, 'a'] } - end - - it { is_expected.to eq 'a' } - end - - describe 'ignoring unspecified get params' do - before do - stubs.get('/optional?a=1') { [200, {}, 'a'] } - end - - context 'with multiple params' do - subject { connection.get('/optional?a=1&b=1').body } - - it { is_expected.to eq 'a' } - end - - context 'with single param' do - subject { connection.get('/optional?a=1').body } - - it { is_expected.to eq 'a' } - end - - context 'without params' do - subject(:request) { connection.get('/optional') } - - it do - expect { request }.to raise_error( - Faraday::Adapter::Test::Stubs::NotFound - ) - end - end - end - - context 'with http headers' do - before do - stubs.get('/yo', 'X-HELLO' => 'hello') { [200, {}, 'a'] } - stubs.get('/yo') { [200, {}, 'b'] } - end - - context 'with header' do - subject do - connection.get('/yo') { |env| env.headers['X-HELLO'] = 'hello' }.body - end - - it { is_expected.to eq 'a' } - end - - context 'without header' do - subject do - connection.get('/yo').body - end - - it { is_expected.to eq 'b' } - end - end - - describe 'different outcomes for the same request' do - def make_request - connection.get('/foo') - end - - subject(:request) { make_request.body } - - before do - stubs.get('/foo') { [200, { 'Content-Type' => 'text/html' }, 'hello'] } - stubs.get('/foo') { [200, { 'Content-Type' => 'text/html' }, 'world'] } - end - - context 'the first request' do - it { is_expected.to eq 'hello' } - end - - context 'the second request' do - before do - make_request - end - - it { is_expected.to eq 'world' } - end - end - - describe 'yielding env to stubs' do - subject { connection.get('http://foo.com/foo?a=1').body } - - before do - stubs.get '/foo' do |env| - expect(env[:url].path).to eq '/foo' - expect(env[:url].host).to eq 'foo.com' - expect(env[:params]['a']).to eq '1' - expect(env[:request_headers]['Accept']).to eq 'text/plain' - [200, {}, 'a'] - end - - connection.headers['Accept'] = 'text/plain' - end - - it { is_expected.to eq 'a' } - end - - describe 'params parsing' do - subject { connection.get('http://foo.com/foo?a[b]=1').body } - - context 'with default encoder' do - before do - stubs.get '/foo' do |env| - expect(env[:params]['a']['b']).to eq '1' - [200, {}, 'a'] - end - end - - it { is_expected.to eq 'a' } - end - - context 'with nested encoder' do - before do - stubs.get '/foo' do |env| - expect(env[:params]['a']['b']).to eq '1' - [200, {}, 'a'] - end - - connection.options.params_encoder = Faraday::NestedParamsEncoder - end - - it { is_expected.to eq 'a' } - end - - context 'with flat encoder' do - before do - stubs.get '/foo' do |env| - expect(env[:params]['a[b]']).to eq '1' - [200, {}, 'a'] - end - - connection.options.params_encoder = Faraday::FlatParamsEncoder - end - - it { is_expected.to eq 'a' } - end - end - - describe 'raising an error if no stub was found' do - describe 'for request' do - subject(:request) { connection.get('/invalid') { [200, {}, []] } } - - it { expect { request }.to raise_error described_class::Stubs::NotFound } - end - - describe 'for specified host' do - subject(:request) { connection.get('http://domain.test/bait') } - - it { expect { request }.to raise_error described_class::Stubs::NotFound } - end - - describe 'for request without specified header' do - subject(:request) { connection.get('/yo') } - - before do - stubs.get('/yo', 'X-HELLO' => 'hello') { [200, {}, 'a'] } - end - - it { expect { request }.to raise_error described_class::Stubs::NotFound } - end - end - - describe 'for request with non default params encoder' do - let(:connection) do - Faraday.new(request: { params_encoder: Faraday::FlatParamsEncoder }) do |builder| - builder.adapter :test, stubs - end - end - let(:stubs) do - described_class::Stubs.new do |stubs| - stubs.get('/path?a=x&a=y&a=z') { [200, {}, 'a'] } - end - end - - context 'when all flat param values are correctly set' do - subject(:request) { connection.get('/path?a=x&a=y&a=z') } - - it { expect(request.status).to eq 200 } - end - - shared_examples 'raise NotFound when params do not satisfy the flat param values' do |params| - subject(:request) { connection.get('/path', params) } - - context "with #{params.inspect}" do - it { expect { request }.to raise_error described_class::Stubs::NotFound } - end - end - - it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { a: %w[x] } - it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { a: %w[x y] } - it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { a: %w[x z y] } # NOTE: The order of the value is also compared. - it_behaves_like 'raise NotFound when params do not satisfy the flat param values', { b: %w[x y z] } - end - - describe 'strict_mode' do - let(:stubs) do - described_class::Stubs.new(strict_mode: true) do |stubs| - stubs.get('/strict?a=12&b=xy', 'Authorization' => 'Bearer m_ck', 'X-C' => 'hello') { [200, {}, 'a'] } - stubs.get('/with_user_agent?a=12&b=xy', authorization: 'Bearer m_ck', 'User-Agent' => 'My Agent') { [200, {}, 'a'] } - end - end - - context 'when params and headers are exactly set' do - subject(:request) { connection.get('/strict', { a: '12', b: 'xy' }, { authorization: 'Bearer m_ck', x_c: 'hello' }) } - - it { expect(request.status).to eq 200 } - end - - context 'when params and headers are exactly set with a custom user agent' do - subject(:request) { connection.get('/with_user_agent', { a: '12', b: 'xy' }, { authorization: 'Bearer m_ck', 'User-Agent' => 'My Agent' }) } - - it { expect(request.status).to eq 200 } - end - - shared_examples 'raise NotFound when params do not satisfy the strict check' do |params| - subject(:request) { connection.get('/strict', params, { 'Authorization' => 'Bearer m_ck', 'X-C' => 'hello' }) } - - context "with #{params.inspect}" do - it { expect { request }.to raise_error described_class::Stubs::NotFound } - end - end - - it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '12' } - it_behaves_like 'raise NotFound when params do not satisfy the strict check', { b: 'xy' } - it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '123', b: 'xy' } - it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '12', b: 'xyz' } - it_behaves_like 'raise NotFound when params do not satisfy the strict check', { a: '12', b: 'xy', c: 'hello' } - it_behaves_like 'raise NotFound when params do not satisfy the strict check', { additional: 'special', a: '12', b: 'xy', c: 'hello' } - - shared_examples 'raise NotFound when headers do not satisfy the strict check' do |path, headers| - subject(:request) { connection.get(path, { a: 12, b: 'xy' }, headers) } - - context "with #{headers.inspect}" do - it { expect { request }.to raise_error described_class::Stubs::NotFound } - end - end - - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { 'X-C' => 'hello' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'Hi' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Basic m_ck', 'x-c': 'hello' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello', x_special: 'special' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'Unknown' } - it_behaves_like 'raise NotFound when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'My Agent', x_special: 'special' } - - context 'when strict_mode is disabled' do - before do - stubs.strict_mode = false - end - - shared_examples 'does not raise NotFound even when params do not satisfy the strict check' do |params| - subject(:request) { connection.get('/strict', params, { 'Authorization' => 'Bearer m_ck', 'X-C' => 'hello' }) } - - context "with #{params.inspect}" do - it { expect(request.status).to eq 200 } - end - end - - it_behaves_like 'does not raise NotFound even when params do not satisfy the strict check', { a: '12', b: 'xy' } - it_behaves_like 'does not raise NotFound even when params do not satisfy the strict check', { a: '12', b: 'xy', c: 'hello' } - it_behaves_like 'does not raise NotFound even when params do not satisfy the strict check', { additional: 'special', a: '12', b: 'xy', c: 'hello' } - - shared_examples 'does not raise NotFound even when headers do not satisfy the strict check' do |path, headers| - subject(:request) { connection.get(path, { a: 12, b: 'xy' }, headers) } - - context "with #{headers.inspect}" do - it { expect(request.status).to eq 200 } - end - end - - it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello' } - it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello', x_special: 'special' } - it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/strict', { authorization: 'Bearer m_ck', 'x-c': 'hello', user_agent: 'Special Agent' } - it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'My Agent' } - it_behaves_like 'does not raise NotFound even when headers do not satisfy the strict check', '/with_user_agent', { authorization: 'Bearer m_ck', user_agent: 'My Agent', x_special: 'special' } - end - - describe 'body_match?' do - let(:stubs) do - described_class::Stubs.new do |stubs| - stubs.post('/no_check') { [200, {}, 'ok'] } - stubs.post('/with_string', 'abc') { [200, {}, 'ok'] } - stubs.post( - '/with_proc', - ->(request_body) { JSON.parse(request_body, symbolize_names: true) == { x: '!', a: [{ m: [{ a: true }], n: 123 }] } }, - { content_type: 'application/json' } - ) do - [200, {}, 'ok'] - end - end - end - - context 'when trying without any args for body' do - subject(:without_body) { connection.post('/no_check') } - - it { expect(without_body.status).to eq 200 } - end - - context 'when trying with string body stubs' do - subject(:with_string) { connection.post('/with_string', 'abc') } - - it { expect(with_string.status).to eq 200 } - end - - context 'when trying with proc body stubs' do - subject(:with_proc) do - connection.post('/with_proc', JSON.dump(a: [{ n: 123, m: [{ a: true }] }], x: '!'), { 'Content-Type' => 'application/json' }) - end - - it { expect(with_proc.status).to eq 200 } - end - end - end - - describe 'request timeout' do - subject(:request) do - connection.get('/sleep') do |req| - req.options.timeout = timeout - end - end - - before do - stubs.get('/sleep') do - sleep(0.01) - [200, {}, ''] - end - end - - context 'when request is within timeout' do - let(:timeout) { 1 } - - it { expect(request.status).to eq 200 } - end - - context 'when request is too slow' do - let(:timeout) { 0.001 } - - it 'raises an exception' do - expect { request }.to raise_error(Faraday::TimeoutError) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter_registry_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter_registry_spec.rb deleted file mode 100644 index 222e65e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter_registry_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::AdapterRegistry do - describe '#initialize' do - subject(:registry) { described_class.new } - - it { expect { registry.get(:FinFangFoom) }.to raise_error(NameError) } - it { expect { registry.get('FinFangFoom') }.to raise_error(NameError) } - - it 'looks up class by string name' do - expect(registry.get('Faraday::Connection')).to eq(Faraday::Connection) - end - - it 'looks up class by symbol name' do - expect(registry.get(:Faraday)).to eq(Faraday) - end - - it 'caches lookups with implicit name' do - registry.set :symbol - expect(registry.get('symbol')).to eq(:symbol) - end - - it 'caches lookups with explicit name' do - registry.set 'string', :name - expect(registry.get(:name)).to eq('string') - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter_spec.rb deleted file mode 100644 index 22ef1d1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/adapter_spec.rb +++ /dev/null @@ -1,55 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Adapter do - let(:adapter) { Faraday::Adapter.new } - let(:request) { {} } - - context '#request_timeout' do - it 'gets :read timeout' do - expect(timeout(:read)).to eq(nil) - - request[:timeout] = 5 - request[:write_timeout] = 1 - - expect(timeout(:read)).to eq(5) - - request[:read_timeout] = 2 - - expect(timeout(:read)).to eq(2) - end - - it 'gets :open timeout' do - expect(timeout(:open)).to eq(nil) - - request[:timeout] = 5 - request[:write_timeout] = 1 - - expect(timeout(:open)).to eq(5) - - request[:open_timeout] = 2 - - expect(timeout(:open)).to eq(2) - end - - it 'gets :write timeout' do - expect(timeout(:write)).to eq(nil) - - request[:timeout] = 5 - request[:read_timeout] = 1 - - expect(timeout(:write)).to eq(5) - - request[:write_timeout] = 2 - - expect(timeout(:write)).to eq(2) - end - - it 'attempts unknown timeout type' do - expect { timeout(:unknown) }.to raise_error(ArgumentError) - end - - def timeout(type) - adapter.send(:request_timeout, type, request) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/connection_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/connection_spec.rb deleted file mode 100644 index d4ccb23..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/connection_spec.rb +++ /dev/null @@ -1,808 +0,0 @@ -# frozen_string_literal: true - -class CustomEncoder - def encode(params) - params.map { |k, v| "#{k.upcase}-#{v.to_s.upcase}" }.join(',') - end - - def decode(params) - params.split(',').to_h { |pair| pair.split('-') } - end -end - -shared_examples 'initializer with url' do - context 'with simple url' do - let(:address) { 'http://httpbingo.org' } - - it { expect(subject.host).to eq('httpbingo.org') } - it { expect(subject.port).to eq(80) } - it { expect(subject.scheme).to eq('http') } - it { expect(subject.path_prefix).to eq('/') } - it { expect(subject.params).to eq({}) } - end - - context 'with complex url' do - let(:address) { 'http://httpbingo.org:815/fish?a=1' } - - it { expect(subject.port).to eq(815) } - it { expect(subject.path_prefix).to eq('/fish') } - it { expect(subject.params).to eq('a' => '1') } - end - - context 'with IPv6 address' do - let(:address) { 'http://[::1]:85/' } - - it { expect(subject.host).to eq('[::1]') } - it { expect(subject.port).to eq(85) } - end -end - -shared_examples 'default connection options' do - after { Faraday.default_connection_options = nil } - - it 'works with implicit url' do - conn = Faraday.new 'http://httpbingo.org/foo' - expect(conn.options.timeout).to eq(10) - end - - it 'works with option url' do - conn = Faraday.new url: 'http://httpbingo.org/foo' - expect(conn.options.timeout).to eq(10) - end - - it 'works with instance connection options' do - conn = Faraday.new 'http://httpbingo.org/foo', request: { open_timeout: 1 } - expect(conn.options.timeout).to eq(10) - expect(conn.options.open_timeout).to eq(1) - end - - it 'default connection options persist with an instance overriding' do - conn = Faraday.new 'http://nigiri.com/bar' - conn.options.timeout = 1 - expect(Faraday.default_connection_options.request.timeout).to eq(10) - - other = Faraday.new url: 'https://httpbingo.org/foo' - other.options.timeout = 1 - - expect(Faraday.default_connection_options.request.timeout).to eq(10) - end - - it 'default connection uses default connection options' do - expect(Faraday.default_connection.options.timeout).to eq(10) - end -end - -RSpec.describe Faraday::Connection do - let(:conn) { Faraday::Connection.new(url, options) } - let(:url) { nil } - let(:options) { nil } - - describe '.new' do - subject { conn } - - context 'with implicit url param' do - # Faraday::Connection.new('http://httpbingo.org') - let(:url) { address } - - it_behaves_like 'initializer with url' - end - - context 'with explicit url param' do - # Faraday::Connection.new(url: 'http://httpbingo.org') - let(:url) { { url: address } } - - it_behaves_like 'initializer with url' - end - - context 'with custom builder' do - let(:custom_builder) { Faraday::RackBuilder.new } - let(:options) { { builder: custom_builder } } - - it { expect(subject.builder).to eq(custom_builder) } - end - - context 'with custom params' do - let(:options) { { params: { a: 1 } } } - - it { expect(subject.params).to eq('a' => 1) } - end - - context 'with custom params and params in url' do - let(:url) { 'http://httpbingo.org/fish?a=1&b=2' } - let(:options) { { params: { a: 3 } } } - it { expect(subject.params).to eq('a' => 3, 'b' => '2') } - end - - context 'with basic_auth in url' do - let(:url) { 'http://Aladdin:open%20sesame@httpbingo.org/fish' } - - it { expect(subject.headers['Authorization']).to eq('Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==') } - end - - context 'with custom headers' do - let(:options) { { headers: { user_agent: 'Faraday' } } } - - it { expect(subject.headers['User-agent']).to eq('Faraday') } - end - - context 'with ssl false' do - let(:options) { { ssl: { verify: false } } } - - it { expect(subject.ssl.verify?).to be_falsey } - end - - context 'with verify_hostname false' do - let(:options) { { ssl: { verify_hostname: false } } } - - it { expect(subject.ssl.verify_hostname?).to be_falsey } - end - - context 'with empty block' do - let(:conn) { Faraday::Connection.new {} } - - it { expect(conn.builder.handlers.size).to eq(0) } - end - - context 'with block' do - let(:conn) do - Faraday::Connection.new(params: { 'a' => '1' }) do |faraday| - faraday.adapter :test - faraday.url_prefix = 'http://httpbingo.org/omnom' - end - end - - it { expect(conn.builder.handlers.size).to eq(0) } - it { expect(conn.path_prefix).to eq('/omnom') } - end - end - - describe '#close' do - before { Faraday.default_adapter = :test } - after { Faraday.default_adapter = nil } - - it 'can close underlying app' do - expect(conn.app).to receive(:close) - conn.close - end - end - - describe '#build_exclusive_url' do - context 'with relative path' do - subject { conn.build_exclusive_url('sake.html') } - - it 'uses connection host as default host' do - conn.host = 'httpbingo.org' - expect(subject.host).to eq('httpbingo.org') - expect(subject.scheme).to eq('http') - end - - it do - conn.path_prefix = '/fish' - expect(subject.path).to eq('/fish/sake.html') - end - - it do - conn.path_prefix = '/' - expect(subject.path).to eq('/sake.html') - end - - it do - conn.path_prefix = 'fish' - expect(subject.path).to eq('/fish/sake.html') - end - - it do - conn.path_prefix = '/fish/' - expect(subject.path).to eq('/fish/sake.html') - end - end - - context 'with absolute path' do - subject { conn.build_exclusive_url('/sake.html') } - - after { expect(subject.path).to eq('/sake.html') } - - it { conn.path_prefix = '/fish' } - it { conn.path_prefix = '/' } - it { conn.path_prefix = 'fish' } - it { conn.path_prefix = '/fish/' } - end - - context 'with complete url' do - subject { conn.build_exclusive_url('http://httpbingo.org/sake.html?a=1') } - - it { expect(subject.scheme).to eq('http') } - it { expect(subject.host).to eq('httpbingo.org') } - it { expect(subject.port).to eq(80) } - it { expect(subject.path).to eq('/sake.html') } - it { expect(subject.query).to eq('a=1') } - end - - it 'overrides connection port for absolute url' do - conn.port = 23 - uri = conn.build_exclusive_url('http://httpbingo.org') - expect(uri.port).to eq(80) - end - - it 'does not add ending slash given nil url' do - conn.url_prefix = 'http://httpbingo.org/nigiri' - uri = conn.build_exclusive_url - expect(uri.path).to eq('/nigiri') - end - - it 'does not add ending slash given empty url' do - conn.url_prefix = 'http://httpbingo.org/nigiri' - uri = conn.build_exclusive_url('') - expect(uri.path).to eq('/nigiri') - end - - it 'does not use connection params' do - conn.url_prefix = 'http://httpbingo.org/nigiri' - conn.params = { a: 1 } - expect(conn.build_exclusive_url.to_s).to eq('http://httpbingo.org/nigiri') - end - - it 'allows to provide params argument' do - conn.url_prefix = 'http://httpbingo.org/nigiri' - conn.params = { a: 1 } - params = Faraday::Utils::ParamsHash.new - params[:a] = 2 - uri = conn.build_exclusive_url(nil, params) - expect(uri.to_s).to eq('http://httpbingo.org/nigiri?a=2') - end - - it 'handles uri instances' do - uri = conn.build_exclusive_url(URI('/sake.html')) - expect(uri.path).to eq('/sake.html') - end - - it 'always returns new URI instance' do - conn.url_prefix = 'http://httpbingo.org' - uri1 = conn.build_exclusive_url(nil) - uri2 = conn.build_exclusive_url(nil) - expect(uri1).not_to equal(uri2) - end - - context 'with url_prefixed connection' do - let(:url) { 'http://httpbingo.org/get/' } - - it 'parses url and changes scheme' do - conn.scheme = 'https' - uri = conn.build_exclusive_url('sake.html') - expect(uri.to_s).to eq('https://httpbingo.org/get/sake.html') - end - - it 'joins url to base with ending slash' do - uri = conn.build_exclusive_url('sake.html') - expect(uri.to_s).to eq('http://httpbingo.org/get/sake.html') - end - - it 'used default base with ending slash' do - uri = conn.build_exclusive_url - expect(uri.to_s).to eq('http://httpbingo.org/get/') - end - - it 'overrides base' do - uri = conn.build_exclusive_url('/sake/') - expect(uri.to_s).to eq('http://httpbingo.org/sake/') - end - end - - context 'with colon in path' do - let(:url) { 'http://service.com' } - - it 'joins url to base when used absolute path' do - conn = Faraday.new(url: url) - uri = conn.build_exclusive_url('/service:search?limit=400') - expect(uri.to_s).to eq('http://service.com/service:search?limit=400') - end - - it 'joins url to base when used relative path' do - conn = Faraday.new(url: url) - uri = conn.build_exclusive_url('service:search?limit=400') - expect(uri.to_s).to eq('http://service.com/service%3Asearch?limit=400') - end - - it 'joins url to base when used with path prefix' do - conn = Faraday.new(url: url) - conn.path_prefix = '/api' - uri = conn.build_exclusive_url('service:search?limit=400') - expect(uri.to_s).to eq('http://service.com/api/service%3Asearch?limit=400') - end - end - - context 'with a custom `default_uri_parser`' do - let(:url) { 'http://httpbingo.org' } - let(:parser) { Addressable::URI } - - around do |example| - with_default_uri_parser(parser) do - example.run - end - end - - it 'does not raise error' do - expect { conn.build_exclusive_url('/nigiri') }.not_to raise_error - end - end - end - - describe '#build_url' do - let(:url) { 'http://httpbingo.org/nigiri' } - - it 'uses params' do - conn.params = { a: 1, b: 1 } - expect(conn.build_url.to_s).to eq('http://httpbingo.org/nigiri?a=1&b=1') - end - - it 'merges params' do - conn.params = { a: 1, b: 1 } - url = conn.build_url(nil, b: 2, c: 3) - expect(url.to_s).to eq('http://httpbingo.org/nigiri?a=1&b=2&c=3') - end - end - - describe '#build_request' do - let(:url) { 'https://ahttpbingo.org/sake.html' } - let(:request) { conn.build_request(:get) } - - before do - conn.headers = { 'Authorization' => 'token abc123' } - request.headers.delete('Authorization') - end - - it { expect(conn.headers.keys).to eq(['Authorization']) } - it { expect(conn.headers.include?('Authorization')).to be_truthy } - it { expect(request.headers.keys).to be_empty } - it { expect(request.headers.include?('Authorization')).to be_falsey } - end - - describe '#to_env' do - subject { conn.build_request(:get).to_env(conn).url } - - let(:url) { 'http://httpbingo.org/sake.html' } - let(:options) { { params: @params } } - - it 'parses url params into query' do - @params = { 'a[b]' => '1 + 2' } - expect(subject.query).to eq('a%5Bb%5D=1+%2B+2') - end - - it 'escapes per spec' do - @params = { 'a' => '1+2 foo~bar.-baz' } - expect(subject.query).to eq('a=1%2B2+foo~bar.-baz') - end - - it 'bracketizes nested params in query' do - @params = { 'a' => { 'b' => 'c' } } - expect(subject.query).to eq('a%5Bb%5D=c') - end - - it 'bracketizes repeated params in query' do - @params = { 'a' => [1, 2] } - expect(subject.query).to eq('a%5B%5D=1&a%5B%5D=2') - end - - it 'without braketizing repeated params in query' do - @params = { 'a' => [1, 2] } - conn.options.params_encoder = Faraday::FlatParamsEncoder - expect(subject.query).to eq('a=1&a=2') - end - end - - describe 'proxy support' do - it 'accepts string' do - with_env 'http_proxy' => 'http://env-proxy.com:80' do - conn.proxy = 'http://proxy.com' - expect(conn.proxy.host).to eq('proxy.com') - end - end - - it 'accepts uri' do - with_env 'http_proxy' => 'http://env-proxy.com:80' do - conn.proxy = URI.parse('http://proxy.com') - expect(conn.proxy.host).to eq('proxy.com') - end - end - - it 'accepts hash with string uri' do - with_env 'http_proxy' => 'http://env-proxy.com:80' do - conn.proxy = { uri: 'http://proxy.com', user: 'rick' } - expect(conn.proxy.host).to eq('proxy.com') - expect(conn.proxy.user).to eq('rick') - end - end - - it 'accepts hash' do - with_env 'http_proxy' => 'http://env-proxy.com:80' do - conn.proxy = { uri: URI.parse('http://proxy.com'), user: 'rick' } - expect(conn.proxy.host).to eq('proxy.com') - expect(conn.proxy.user).to eq('rick') - end - end - - it 'accepts http env' do - with_env 'http_proxy' => 'http://env-proxy.com:80' do - expect(conn.proxy.host).to eq('env-proxy.com') - end - end - - it 'accepts http env with auth' do - with_env 'http_proxy' => 'http://a%40b:my%20pass@proxy.com:80' do - expect(conn.proxy.user).to eq('a@b') - expect(conn.proxy.password).to eq('my pass') - end - end - - it 'accepts env without scheme' do - with_env 'http_proxy' => 'localhost:8888' do - uri = conn.proxy[:uri] - expect(uri.host).to eq('localhost') - expect(uri.port).to eq(8888) - end - end - - it 'fetches no proxy from nil env' do - with_env 'http_proxy' => nil do - expect(conn.proxy).to be_nil - end - end - - it 'fetches no proxy from blank env' do - with_env 'http_proxy' => '' do - expect(conn.proxy).to be_nil - end - end - - it 'does not accept uppercase env' do - with_env 'HTTP_PROXY' => 'http://localhost:8888/' do - expect(conn.proxy).to be_nil - end - end - - it 'allows when url in no proxy list' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do - conn = Faraday::Connection.new('http://example.com') - expect(conn.proxy).to be_nil - end - end - - it 'allows when url in no proxy list with url_prefix' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do - conn = Faraday::Connection.new - conn.url_prefix = 'http://example.com' - expect(conn.proxy).to be_nil - end - end - - it 'allows when prefixed url is not in no proxy list' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do - conn = Faraday::Connection.new('http://prefixedexample.com') - expect(conn.proxy.host).to eq('proxy.com') - end - end - - it 'allows when subdomain url is in no proxy list' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do - conn = Faraday::Connection.new('http://subdomain.example.com') - expect(conn.proxy).to be_nil - end - end - - it 'allows when url not in no proxy list' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example2.com' do - conn = Faraday::Connection.new('http://example.com') - expect(conn.proxy.host).to eq('proxy.com') - end - end - - it 'allows when ip address is not in no proxy list but url is' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'localhost' do - conn = Faraday::Connection.new('http://127.0.0.1') - expect(conn.proxy).to be_nil - end - end - - it 'allows when url is not in no proxy list but ip address is' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => '127.0.0.1' do - conn = Faraday::Connection.new('http://localhost') - expect(conn.proxy).to be_nil - end - end - - it 'allows in multi element no proxy list' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example0.com,example.com,example1.com' do - expect(Faraday::Connection.new('http://example0.com').proxy).to be_nil - expect(Faraday::Connection.new('http://example.com').proxy).to be_nil - expect(Faraday::Connection.new('http://example1.com').proxy).to be_nil - expect(Faraday::Connection.new('http://example2.com').proxy.host).to eq('proxy.com') - end - end - - it 'test proxy requires uri' do - expect { conn.proxy = { uri: :bad_uri, user: 'rick' } }.to raise_error(ArgumentError) - end - - it 'uses env http_proxy' do - with_env 'http_proxy' => 'http://proxy.com' do - conn = Faraday.new - expect(conn.instance_variable_get(:@manual_proxy)).to be_falsey - expect(conn.proxy_for_request('http://google.co.uk').host).to eq('proxy.com') - end - end - - it 'uses processes no_proxy before http_proxy' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'google.co.uk' do - conn = Faraday.new - expect(conn.instance_variable_get(:@manual_proxy)).to be_falsey - expect(conn.proxy_for_request('http://google.co.uk')).to be_nil - end - end - - it 'uses env https_proxy' do - with_env 'https_proxy' => 'https://proxy.com' do - conn = Faraday.new - expect(conn.instance_variable_get(:@manual_proxy)).to be_falsey - expect(conn.proxy_for_request('https://google.co.uk').host).to eq('proxy.com') - end - end - - it 'uses processes no_proxy before https_proxy' do - with_env 'https_proxy' => 'https://proxy.com', 'no_proxy' => 'google.co.uk' do - conn = Faraday.new - expect(conn.instance_variable_get(:@manual_proxy)).to be_falsey - expect(conn.proxy_for_request('https://google.co.uk')).to be_nil - end - end - - it 'gives priority to manually set proxy' do - with_env 'https_proxy' => 'https://proxy.com', 'no_proxy' => 'google.co.uk' do - conn = Faraday.new - conn.proxy = 'http://proxy2.com' - - expect(conn.instance_variable_get(:@manual_proxy)).to be_truthy - expect(conn.proxy_for_request('https://google.co.uk').host).to eq('proxy2.com') - end - end - - it 'ignores env proxy if set that way' do - with_env_proxy_disabled do - with_env 'http_proxy' => 'http://duncan.proxy.com:80' do - expect(conn.proxy).to be_nil - end - end - end - - context 'performing a request' do - let(:url) { 'http://example.com' } - let(:conn) do - Faraday.new do |f| - f.adapter :test do |stubs| - stubs.get(url) do - [200, {}, 'ok'] - end - end - end - end - - it 'dynamically checks proxy' do - with_env 'http_proxy' => 'http://proxy.com:80' do - expect(conn.proxy.uri.host).to eq('proxy.com') - - conn.get(url) do |req| - expect(req.options.proxy.uri.host).to eq('proxy.com') - end - end - - conn.get(url) - expect(conn.instance_variable_get(:@temp_proxy)).to be_nil - end - - it 'dynamically check no proxy' do - with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do - expect(conn.proxy.uri.host).to eq('proxy.com') - - conn.get('http://example.com') do |req| - expect(req.options.proxy).to be_nil - end - end - end - end - end - - describe '#dup' do - subject { conn.dup } - - let(:url) { 'http://httpbingo.org/foo' } - let(:options) do - { - ssl: { verify: :none }, - headers: { 'content-type' => 'text/plain' }, - params: { 'a' => '1' }, - request: { timeout: 5 } - } - end - - it { expect(subject.build_exclusive_url).to eq(conn.build_exclusive_url) } - it { expect(subject.headers['content-type']).to eq('text/plain') } - it { expect(subject.params['a']).to eq('1') } - - context 'after manual changes' do - before do - subject.headers['content-length'] = 12 - subject.params['b'] = '2' - subject.options[:open_timeout] = 10 - end - - it { expect(subject.builder.handlers.size).to eq(1) } - it { expect(conn.builder.handlers.size).to eq(1) } - it { expect(conn.headers.key?('content-length')).to be_falsey } - it { expect(conn.params.key?('b')).to be_falsey } - it { expect(subject.options[:timeout]).to eq(5) } - it { expect(conn.options[:open_timeout]).to be_nil } - end - end - - describe '#respond_to?' do - it { expect(Faraday.respond_to?(:get)).to be_truthy } - it { expect(Faraday.respond_to?(:post)).to be_truthy } - end - - describe 'default_connection_options' do - context 'assigning a default value' do - before do - Faraday.default_connection_options = nil - Faraday.default_connection_options.request.timeout = 10 - end - - it_behaves_like 'default connection options' - end - - context 'assigning a hash' do - before { Faraday.default_connection_options = { request: { timeout: 10 } } } - - it_behaves_like 'default connection options' - end - - context 'preserving a user_agent assigned via default_conncetion_options' do - around do |example| - old = Faraday.default_connection_options - Faraday.default_connection_options = { headers: { user_agent: 'My Agent 1.2' } } - example.run - Faraday.default_connection_options = old - end - - context 'when url is a Hash' do - let(:conn) { Faraday.new(url: 'http://example.co', headers: { 'CustomHeader' => 'CustomValue' }) } - - it { expect(conn.headers).to eq('CustomHeader' => 'CustomValue', 'User-Agent' => 'My Agent 1.2') } - end - - context 'when url is a String' do - let(:conn) { Faraday.new('http://example.co', headers: { 'CustomHeader' => 'CustomValue' }) } - - it { expect(conn.headers).to eq('CustomHeader' => 'CustomValue', 'User-Agent' => 'My Agent 1.2') } - end - end - end - - describe 'request params' do - context 'with simple url' do - let(:url) { 'http://example.com' } - let(:stubs) { Faraday::Adapter::Test::Stubs.new } - - before do - conn.adapter(:test, stubs) - stubs.get('http://example.com?a=a&p=3') do - [200, {}, 'ok'] - end - end - - after { stubs.verify_stubbed_calls } - - it 'test_overrides_request_params' do - conn.get('?p=2&a=a', p: 3) - end - - it 'test_overrides_request_params_block' do - conn.get('?p=1&a=a', p: 2) do |req| - req.params[:p] = 3 - end - end - - it 'test_overrides_request_params_block_url' do - conn.get(nil, p: 2) do |req| - req.url('?p=1&a=a', 'p' => 3) - end - end - end - - context 'with url and extra params' do - let(:url) { 'http://example.com?a=1&b=2' } - let(:options) { { params: { c: 3 } } } - let(:stubs) { Faraday::Adapter::Test::Stubs.new } - - before do - conn.adapter(:test, stubs) - end - - it 'merges connection and request params' do - expected = 'http://example.com?a=1&b=2&c=3&limit=5&page=1' - stubs.get(expected) { [200, {}, 'ok'] } - conn.get('?page=1', limit: 5) - stubs.verify_stubbed_calls - end - - it 'allows to override all params' do - expected = 'http://example.com?b=b' - stubs.get(expected) { [200, {}, 'ok'] } - conn.get('?p=1&a=a', p: 2) do |req| - expect(req.params[:a]).to eq('a') - expect(req.params['c']).to eq(3) - expect(req.params['p']).to eq(2) - req.params = { b: 'b' } - expect(req.params['b']).to eq('b') - end - stubs.verify_stubbed_calls - end - - it 'allows to set params_encoder for single request' do - encoder = CustomEncoder.new - expected = 'http://example.com/?A-1,B-2,C-3,FEELING-BLUE' - stubs.get(expected) { [200, {}, 'ok'] } - - conn.get('/', a: 1, b: 2, c: 3, feeling: 'blue') do |req| - req.options.params_encoder = encoder - end - stubs.verify_stubbed_calls - end - end - - context 'with default params encoder' do - let(:stubs) { Faraday::Adapter::Test::Stubs.new } - - before do - conn.adapter(:test, stubs) - stubs.get('http://example.com?color%5B%5D=blue&color%5B%5D=red') do - [200, {}, 'ok'] - end - end - - after { stubs.verify_stubbed_calls } - - it 'supports array params in url' do - conn.get('http://example.com?color[]=blue&color[]=red') - end - - it 'supports array params in params' do - conn.get('http://example.com', color: %w[blue red]) - end - end - - context 'with flat params encoder' do - let(:options) { { request: { params_encoder: Faraday::FlatParamsEncoder } } } - let(:stubs) { Faraday::Adapter::Test::Stubs.new } - - before do - conn.adapter(:test, stubs) - stubs.get('http://example.com?color=blue&color=red') do - [200, {}, 'ok'] - end - end - - after { stubs.verify_stubbed_calls } - - it 'supports array params in params' do - conn.get('http://example.com', color: %w[blue red]) - end - - context 'with array param in url' do - let(:url) { 'http://example.com?color[]=blue&color[]=red' } - - it do - conn.get('/') - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/error_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/error_spec.rb deleted file mode 100644 index fd30e2d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/error_spec.rb +++ /dev/null @@ -1,85 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Error do - describe '.initialize' do - subject { described_class.new(exception, response) } - let(:response) { nil } - - context 'with exception only' do - let(:exception) { RuntimeError.new('test') } - - it { expect(subject.wrapped_exception).to eq(exception) } - it { expect(subject.response).to be_nil } - it { expect(subject.message).to eq(exception.message) } - it { expect(subject.backtrace).to eq(exception.backtrace) } - it { expect(subject.inspect).to eq('#>') } - it { expect(subject.response_status).to be_nil } - it { expect(subject.response_headers).to be_nil } - it { expect(subject.response_body).to be_nil } - end - - context 'with response hash' do - let(:exception) { { status: 400 } } - - it { expect(subject.wrapped_exception).to be_nil } - it { expect(subject.response).to eq(exception) } - it { expect(subject.message).to eq('the server responded with status 400') } - it { expect(subject.inspect).to eq('#400}>') } - it { expect(subject.response_status).to eq(400) } - it { expect(subject.response_headers).to be_nil } - it { expect(subject.response_body).to be_nil } - end - - context 'with string' do - let(:exception) { 'custom message' } - - it { expect(subject.wrapped_exception).to be_nil } - it { expect(subject.response).to be_nil } - it { expect(subject.message).to eq('custom message') } - it { expect(subject.inspect).to eq('#>') } - it { expect(subject.response_status).to be_nil } - it { expect(subject.response_headers).to be_nil } - it { expect(subject.response_body).to be_nil } - end - - context 'with anything else #to_s' do - let(:exception) { %w[error1 error2] } - - it { expect(subject.wrapped_exception).to be_nil } - it { expect(subject.response).to be_nil } - it { expect(subject.message).to eq('["error1", "error2"]') } - it { expect(subject.inspect).to eq('#>') } - it { expect(subject.response_status).to be_nil } - it { expect(subject.response_headers).to be_nil } - it { expect(subject.response_body).to be_nil } - end - - context 'with exception string and response hash' do - let(:exception) { 'custom message' } - let(:response) { { status: 400 } } - - it { expect(subject.wrapped_exception).to be_nil } - it { expect(subject.response).to eq(response) } - it { expect(subject.message).to eq('custom message') } - it { expect(subject.inspect).to eq('#400}>') } - it { expect(subject.response_status).to eq(400) } - it { expect(subject.response_headers).to be_nil } - it { expect(subject.response_body).to be_nil } - end - - context 'with exception and response object' do - let(:exception) { RuntimeError.new('test') } - let(:body) { { test: 'test' } } - let(:headers) { { 'Content-Type' => 'application/json' } } - let(:response) { Faraday::Response.new(status: 400, response_headers: headers, response_body: body) } - - it { expect(subject.wrapped_exception).to eq(exception) } - it { expect(subject.response).to eq(response) } - it { expect(subject.message).to eq(exception.message) } - it { expect(subject.backtrace).to eq(exception.backtrace) } - it { expect(subject.response_status).to eq(400) } - it { expect(subject.response_headers).to eq(headers) } - it { expect(subject.response_body).to eq(body) } - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/middleware_registry_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/middleware_registry_spec.rb deleted file mode 100644 index a8fa7cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/middleware_registry_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::MiddlewareRegistry do - before do - stub_const('CustomMiddleware', custom_middleware_klass) - end - let(:custom_middleware_klass) { Class.new(Faraday::Middleware) } - let(:dummy) { Class.new { extend Faraday::MiddlewareRegistry } } - - after { dummy.unregister_middleware(:custom) } - - it 'allows to register with constant' do - dummy.register_middleware(custom: custom_middleware_klass) - expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass) - end - - it 'allows to register with symbol' do - dummy.register_middleware(custom: :CustomMiddleware) - expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass) - end - - it 'allows to register with string' do - dummy.register_middleware(custom: 'CustomMiddleware') - expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass) - end - - it 'allows to register with Proc' do - dummy.register_middleware(custom: -> { custom_middleware_klass }) - expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/middleware_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/middleware_spec.rb deleted file mode 100644 index f5cc2a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/middleware_spec.rb +++ /dev/null @@ -1,70 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Middleware do - subject { described_class.new(app) } - let(:app) { double } - - describe 'options' do - context 'when options are passed to the middleware' do - subject { described_class.new(app, options) } - let(:options) { { field: 'value' } } - - it 'accepts options when initialized' do - expect(subject.options[:field]).to eq('value') - end - end - end - - describe '#on_request' do - subject do - Class.new(described_class) do - def on_request(env) - # do nothing - end - end.new(app) - end - - it 'is called by #call' do - expect(app).to receive(:call).and_return(app) - expect(app).to receive(:on_complete) - is_expected.to receive(:call).and_call_original - is_expected.to receive(:on_request) - subject.call(double) - end - end - - describe '#on_error' do - subject do - Class.new(described_class) do - def on_error(error) - # do nothing - end - end.new(app) - end - - it 'is called by #call' do - expect(app).to receive(:call).and_raise(Faraday::ConnectionFailed) - is_expected.to receive(:call).and_call_original - is_expected.to receive(:on_error) - - expect { subject.call(double) }.to raise_error(Faraday::ConnectionFailed) - end - end - - describe '#close' do - context "with app that doesn't support \#close" do - it 'should issue warning' do - is_expected.to receive(:warn) - subject.close - end - end - - context "with app that supports \#close" do - it 'should issue warning' do - expect(app).to receive(:close) - is_expected.to_not receive(:warn) - subject.close - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/env_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/env_spec.rb deleted file mode 100644 index 006bd5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/env_spec.rb +++ /dev/null @@ -1,76 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Env do - subject(:env) { described_class.new } - - it 'allows to access members' do - expect(env.method).to be_nil - env.method = :get - expect(env.method).to eq(:get) - end - - it 'allows to access symbol non members' do - expect(env[:custom]).to be_nil - env[:custom] = :boom - expect(env[:custom]).to eq(:boom) - end - - it 'allows to access string non members' do - expect(env['custom']).to be_nil - env['custom'] = :boom - expect(env['custom']).to eq(:boom) - end - - it 'ignores false when fetching' do - ssl = Faraday::SSLOptions.new - ssl.verify = false - expect(ssl.fetch(:verify, true)).to be_falsey - end - - it 'handle verify_hostname when fetching' do - ssl = Faraday::SSLOptions.new - ssl.verify_hostname = true - expect(ssl.fetch(:verify_hostname, false)).to be_truthy - end - - it 'retains custom members' do - env[:foo] = 'custom 1' - env[:bar] = :custom2 - env2 = Faraday::Env.from(env) - env2[:baz] = 'custom 3' - - expect(env2[:foo]).to eq('custom 1') - expect(env2[:bar]).to eq(:custom2) - expect(env[:baz]).to be_nil - end - - describe '#body' do - subject(:env) { described_class.from(body: { foo: 'bar' }) } - - context 'when response is not finished yet' do - it 'returns the request body' do - expect(env.body).to eq(foo: 'bar') - end - end - - context 'when response is finished' do - before do - env.status = 200 - env.body = { bar: 'foo' } - env.response = Faraday::Response.new(env) - end - - it 'returns the response body' do - expect(env.body).to eq(bar: 'foo') - end - - it 'allows to access request_body' do - expect(env.request_body).to eq(foo: 'bar') - end - - it 'allows to access response_body' do - expect(env.response_body).to eq(bar: 'foo') - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/options_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/options_spec.rb deleted file mode 100644 index fc0b117..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/options_spec.rb +++ /dev/null @@ -1,297 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Options do - SubOptions = Class.new(Faraday::Options.new(:sub_a, :sub_b)) - ParentOptions = Faraday::Options.new(:a, :b, :c) do - options c: SubOptions - end - - describe '#merge' do - it 'merges options with hashes' do - options = ParentOptions.new(1) - expect(options.a).to eq(1) - expect(options.b).to be_nil - - dup = options.merge a: 2, b: 3 - expect(dup.a).to eq(2) - expect(dup.b).to eq(3) - expect(options.a).to eq(1) - expect(options.b).to be_nil - end - - it 'deeply merges two options' do - sub_opts1 = SubOptions.from(sub_a: 3) - sub_opts2 = SubOptions.from(sub_b: 4) - opt1 = ParentOptions.from(a: 1, c: sub_opts1) - opt2 = ParentOptions.from(b: 2, c: sub_opts2) - - merged = opt1.merge(opt2) - - expected_sub_opts = SubOptions.from(sub_a: 3, sub_b: 4) - expected = ParentOptions.from(a: 1, b: 2, c: expected_sub_opts) - expect(merged).to eq(expected) - end - - it 'deeply merges options with hashes' do - sub_opts1 = SubOptions.from(sub_a: 3) - sub_opts2 = { sub_b: 4 } - opt1 = ParentOptions.from(a: 1, c: sub_opts1) - opt2 = { b: 2, c: sub_opts2 } - - merged = opt1.merge(opt2) - - expected_sub_opts = SubOptions.from(sub_a: 3, sub_b: 4) - expected = ParentOptions.from(a: 1, b: 2, c: expected_sub_opts) - expect(merged).to eq(expected) - end - - it 'deeply merges options with nil' do - sub_opts = SubOptions.new(3, 4) - options = ParentOptions.new(1, 2, sub_opts) - expect(options.a).to eq(1) - expect(options.b).to eq(2) - expect(options.c.sub_a).to eq(3) - expect(options.c.sub_b).to eq(4) - - options2 = ParentOptions.from(b: 5, c: nil) - - merged = options.merge(options2) - - expect(merged.b).to eq(5) - expect(merged.c).to eq(sub_opts) - end - - it 'deeply merges options with options having nil sub-options' do - options = ParentOptions.from(a: 1) - - sub_opts = SubOptions.new(3, 4) - options2 = ParentOptions.from(b: 2, c: sub_opts) - - expect(options.a).to eq(1) - expect(options2.b).to eq(2) - expect(options2.c.sub_a).to eq(3) - expect(options2.c.sub_b).to eq(4) - - merged = options.merge(options2) - - expect(merged.c).to eq(sub_opts) - end - - describe '#dup' do - it 'duplicate options but not sub-options' do - sub_opts = SubOptions.from(sub_a: 3) - opts = ParentOptions.from(b: 1, c: sub_opts) - - duped = opts.dup - duped.b = 2 - duped.c.sub_a = 4 - - expect(opts.b).to eq(1) - expect(opts.c.sub_a).to eq(4) - end - end - - describe '#deep_dup' do - it 'duplicate options and also suboptions' do - sub_opts = SubOptions.from(sub_a: 3) - opts = ParentOptions.from(b: 1, c: sub_opts) - - duped = opts.deep_dup - duped.b = 2 - duped.c.sub_a = 4 - - expect(opts.b).to eq(1) - expect(opts.c.sub_a).to eq(3) - end - end - - describe '#clear' do - it 'clears the options' do - options = SubOptions.new(1) - expect(options.empty?).not_to be_truthy - options.clear - expect(options.empty?).to be_truthy - end - end - - describe '#empty?' do - it 'returns true only if all options are nil' do - options = SubOptions.new - expect(options.empty?).to be_truthy - options.sub_a = 1 - expect(options.empty?).not_to be_truthy - options.delete(:sub_a) - expect(options.empty?).to be_truthy - end - end - - describe '#each_key' do - it 'allows to iterate through keys' do - options = ParentOptions.new(1, 2, 3) - enum = options.each_key - expect(enum.next.to_sym).to eq(:a) - expect(enum.next.to_sym).to eq(:b) - expect(enum.next.to_sym).to eq(:c) - end - end - - describe '#key?' do - it 'returns true if the key exists and is not nil' do - options = SubOptions.new - expect(options.key?(:sub_a)).not_to be_truthy - options.sub_a = 1 - expect(options.key?(:sub_a)).to be_truthy - end - end - - describe '#each_value' do - it 'allows to iterate through values' do - options = ParentOptions.new(1, 2, 3) - enum = options.each_value - expect(enum.next).to eq(1) - expect(enum.next).to eq(2) - expect(enum.next).to eq(3) - end - end - - describe '#value?' do - it 'returns true if any key has that value' do - options = SubOptions.new - expect(options.value?(1)).not_to be_truthy - options.sub_a = 1 - expect(options.value?(1)).to be_truthy - end - end - - describe '#update' do - it 'updates options from hashes' do - options = ParentOptions.new(1) - expect(options.a).to eq(1) - expect(options.b).to be_nil - - updated = options.update a: 2, b: 3 - expect(options.a).to eq(2) - expect(options.b).to eq(3) - expect(updated).to eq(options) - end - end - - describe '#delete' do - it 'allows to remove value for key' do - options = ParentOptions.new(1) - expect(options.a).to eq(1) - expect(options.delete(:a)).to eq(1) - expect(options.a).to be_nil - end - end - - describe '#from' do - it { expect { ParentOptions.from invalid: 1 }.to raise_error(NoMethodError) } - - it 'works with options' do - options = ParentOptions.new(1) - - value = ParentOptions.from(options) - expect(value.a).to eq(1) - expect(value.b).to be_nil - end - - it 'works with options with sub object' do - sub = SubOptions.new(1) - options = ParentOptions.from a: 1, c: sub - expect(options).to be_a_kind_of(ParentOptions) - expect(options.a).to eq(1) - expect(options.b).to be_nil - expect(options.c).to be_a_kind_of(SubOptions) - expect(options.c.sub_a).to eq(1) - end - - it 'works with hash' do - options = ParentOptions.from a: 1 - expect(options).to be_a_kind_of(ParentOptions) - expect(options.a).to eq(1) - expect(options.b).to be_nil - end - - it 'works with hash with sub object' do - options = ParentOptions.from a: 1, c: { sub_a: 1 } - expect(options).to be_a_kind_of(ParentOptions) - expect(options.a).to eq(1) - expect(options.b).to be_nil - expect(options.c).to be_a_kind_of(SubOptions) - expect(options.c.sub_a).to eq(1) - end - - it 'works with deep hash' do - hash = { b: 1 } - options = ParentOptions.from a: hash - expect(options.a[:b]).to eq(1) - - hash[:b] = 2 - expect(options.a[:b]).to eq(1) - - options.a[:b] = 3 - expect(hash[:b]).to eq(2) - expect(options.a[:b]).to eq(3) - end - - it 'works with nil' do - options = ParentOptions.from(nil) - expect(options).to be_a_kind_of(ParentOptions) - expect(options.a).to be_nil - expect(options.b).to be_nil - end - - it 'respects inheritance' do - subclass = Class.new(ParentOptions) - options = subclass.from(c: { sub_a: 'hello' }) - expect(options.c).to be_a_kind_of(SubOptions) - expect(options.c.sub_a).to eq('hello') - end - end - - describe '#memoized' do - subject(:options_class) { Class.new(ParentOptions) } - it 'requires block' do - expect { options_class.memoized(:a) }.to raise_error(ArgumentError) - end - - it 'accepts block' do - options_class.memoized(:a) { :foo } - expect(options_class.new.a).to eql(:foo) - end - end - - describe '#fetch' do - subject { SubOptions.new } - - context 'when the fetched key has no value' do - it 'uses falsey default' do - expect(subject.fetch(:sub_a, false) { |_| :blah }).to be_falsey - end - - it 'accepts block' do - expect(subject.fetch(:sub_a) { |k| "yo #{k.inspect}" }).to eq('yo :sub_a') - end - - it 'needs a default if key is missing' do - expect { subject.fetch(:sub_a) }.to raise_error(Faraday::Options.fetch_error_class) - end - end - - context 'when the fetched key has a value' do - before do - subject.sub_a = 1 - end - - it 'grabs value' do - expect(subject.fetch(:sub_a, false) { |_| :blah }).to eq(1) - end - - it 'works with key' do - expect(subject.fetch(:sub_a)).to eq(1) - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/proxy_options_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/proxy_options_spec.rb deleted file mode 100644 index 749247d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/proxy_options_spec.rb +++ /dev/null @@ -1,52 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::ProxyOptions do - describe '#from' do - it 'works with string' do - options = Faraday::ProxyOptions.from 'http://user:pass@example.org' - expect(options.user).to eq('user') - expect(options.password).to eq('pass') - expect(options.uri).to be_a_kind_of(URI) - expect(options.path).to eq('') - expect(options.port).to eq(80) - expect(options.host).to eq('example.org') - expect(options.scheme).to eq('http') - expect(options.inspect).to match('#') - end - - it 'works with no auth' do - proxy = Faraday::ProxyOptions.from 'http://example.org' - expect(proxy.user).to be_nil - expect(proxy.password).to be_nil - end - - it 'treats empty string as nil' do - proxy = nil - proxy_string = proxy.to_s # => empty string - options = Faraday::ProxyOptions.from proxy_string - expect(options).to be_a_kind_of(Faraday::ProxyOptions) - expect(options.inspect).to eq('#') - end - end - - it 'allows hash access' do - proxy = Faraday::ProxyOptions.from 'http://a%40b:pw%20d@example.org' - expect(proxy.user).to eq('a@b') - expect(proxy[:user]).to eq('a@b') - expect(proxy.password).to eq('pw d') - expect(proxy[:password]).to eq('pw d') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/request_options_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/request_options_spec.rb deleted file mode 100644 index 8c1bb99..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/options/request_options_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::RequestOptions do - subject(:options) { Faraday::RequestOptions.new } - - it 'allows to set the request proxy' do - expect(options.proxy).to be_nil - - expect { options[:proxy] = { booya: 1 } }.to raise_error(NoMethodError) - - options[:proxy] = { user: 'user' } - expect(options.proxy).to be_a_kind_of(Faraday::ProxyOptions) - expect(options.proxy.user).to eq('user') - - options.proxy = nil - expect(options.proxy).to be_nil - expect(options.inspect).to eq('#') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/params_encoders/flat_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/params_encoders/flat_spec.rb deleted file mode 100644 index 115342e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/params_encoders/flat_spec.rb +++ /dev/null @@ -1,42 +0,0 @@ -# frozen_string_literal: true - -require 'rack/utils' - -RSpec.describe Faraday::FlatParamsEncoder do - it_behaves_like 'a params encoder' - - it 'decodes arrays' do - query = 'a=one&a=two&a=three' - expected = { 'a' => %w[one two three] } - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes boolean values' do - query = 'a=true&b=false' - expected = { 'a' => 'true', 'b' => 'false' } - expect(subject.decode(query)).to eq(expected) - end - - it 'encodes boolean values' do - params = { a: true, b: false } - expect(subject.encode(params)).to eq('a=true&b=false') - end - - it 'encodes boolean values in array' do - params = { a: [true, false] } - expect(subject.encode(params)).to eq('a=true&a=false') - end - - it 'encodes empty array in hash' do - params = { a: [] } - expect(subject.encode(params)).to eq('a=') - end - - it 'encodes unsorted when asked' do - params = { b: false, a: true } - expect(subject.encode(params)).to eq('a=true&b=false') - Faraday::FlatParamsEncoder.sort_params = false - expect(subject.encode(params)).to eq('b=false&a=true') - Faraday::FlatParamsEncoder.sort_params = true - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/params_encoders/nested_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/params_encoders/nested_spec.rb deleted file mode 100644 index 4631204..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/params_encoders/nested_spec.rb +++ /dev/null @@ -1,150 +0,0 @@ -# frozen_string_literal: true - -require 'rack/utils' - -RSpec.describe Faraday::NestedParamsEncoder do - it_behaves_like 'a params encoder' - - it 'decodes arrays' do - query = 'a[1]=one&a[2]=two&a[3]=three' - expected = { 'a' => %w[one two three] } - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes hashes' do - query = 'a[b1]=one&a[b2]=two&a[b][c]=foo' - expected = { 'a' => { 'b1' => 'one', 'b2' => 'two', 'b' => { 'c' => 'foo' } } } - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested arrays rack compat' do - query = 'a[][one]=1&a[][two]=2&a[][one]=3&a[][two]=4' - expected = Rack::Utils.parse_nested_query(query) - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested array mixed types' do - query = 'a[][one]=1&a[]=2&a[]=&a[]' - expected = Rack::Utils.parse_nested_query(query) - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested ignores invalid array' do - query = '[][a]=1&b=2' - expected = { 'a' => '1', 'b' => '2' } - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested ignores repeated array notation' do - query = 'a[][][]=1' - expected = { 'a' => ['1'] } - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested ignores malformed keys' do - query = '=1&[]=2' - expected = {} - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested subkeys dont have to be in brackets' do - query = 'a[b]c[d]e=1' - expected = { 'a' => { 'b' => { 'c' => { 'd' => { 'e' => '1' } } } } } - expect(subject.decode(query)).to eq(expected) - end - - it 'decodes nested final value overrides any type' do - query = 'a[b][c]=1&a[b]=2' - expected = { 'a' => { 'b' => '2' } } - expect(subject.decode(query)).to eq(expected) - end - - it 'encodes rack compat' do - params = { a: [{ one: '1', two: '2' }, '3', ''] } - result = Faraday::Utils.unescape(Faraday::NestedParamsEncoder.encode(params)).split('&') - expected = Rack::Utils.build_nested_query(params).split('&') - expect(result).to match_array(expected) - end - - it 'encodes empty string array value' do - expected = 'baz=&foo%5Bbar%5D=' - result = Faraday::NestedParamsEncoder.encode(foo: { bar: '' }, baz: '') - expect(result).to eq(expected) - end - - it 'encodes nil array value' do - expected = 'baz&foo%5Bbar%5D' - result = Faraday::NestedParamsEncoder.encode(foo: { bar: nil }, baz: nil) - expect(result).to eq(expected) - end - - it 'encodes empty array value' do - expected = 'baz%5B%5D&foo%5Bbar%5D%5B%5D' - result = Faraday::NestedParamsEncoder.encode(foo: { bar: [] }, baz: []) - expect(result).to eq(expected) - end - - it 'encodes boolean values' do - params = { a: true, b: false } - expect(subject.encode(params)).to eq('a=true&b=false') - end - - it 'encodes boolean values in array' do - params = { a: [true, false] } - expect(subject.encode(params)).to eq('a%5B%5D=true&a%5B%5D=false') - end - - it 'encodes unsorted when asked' do - params = { b: false, a: true } - expect(subject.encode(params)).to eq('a=true&b=false') - Faraday::NestedParamsEncoder.sort_params = false - expect(subject.encode(params)).to eq('b=false&a=true') - Faraday::NestedParamsEncoder.sort_params = true - end - - it 'encodes arrays indices when asked' do - params = { a: [0, 1, 2] } - expect(subject.encode(params)).to eq('a%5B%5D=0&a%5B%5D=1&a%5B%5D=2') - Faraday::NestedParamsEncoder.array_indices = true - expect(subject.encode(params)).to eq('a%5B0%5D=0&a%5B1%5D=1&a%5B2%5D=2') - Faraday::NestedParamsEncoder.array_indices = false - end - - shared_examples 'a wrong decoding' do - it do - expect { subject.decode(query) }.to raise_error(TypeError) do |e| - expect(e.message).to eq(error_message) - end - end - end - - context 'when expecting hash but getting string' do - let(:query) { 'a=1&a[b]=2' } - let(:error_message) { "expected Hash (got String) for param `a'" } - it_behaves_like 'a wrong decoding' - end - - context 'when expecting hash but getting array' do - let(:query) { 'a[]=1&a[b]=2' } - let(:error_message) { "expected Hash (got Array) for param `a'" } - it_behaves_like 'a wrong decoding' - end - - context 'when expecting nested hash but getting non nested' do - let(:query) { 'a[b]=1&a[b][c]=2' } - let(:error_message) { "expected Hash (got String) for param `b'" } - it_behaves_like 'a wrong decoding' - end - - context 'when expecting array but getting hash' do - let(:query) { 'a[b]=1&a[]=2' } - let(:error_message) { "expected Array (got Hash) for param `a'" } - it_behaves_like 'a wrong decoding' - end - - context 'when expecting array but getting string' do - let(:query) { 'a=1&a[]=2' } - let(:error_message) { "expected Array (got String) for param `a'" } - it_behaves_like 'a wrong decoding' - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/rack_builder_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/rack_builder_spec.rb deleted file mode 100644 index 89f17ca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/rack_builder_spec.rb +++ /dev/null @@ -1,317 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::RackBuilder do - # mock handler classes - (Handler = Struct.new(:app)).class_eval do - def call(env) - env[:request_headers]['X-Middleware'] ||= '' - env[:request_headers]['X-Middleware'] += ":#{self.class.name.split('::').last}" - app.call(env) - end - end - - class Apple < Handler - end - - class Orange < Handler - end - - class Banana < Handler - end - - subject { conn.builder } - before { Faraday.default_adapter = :test } - after { Faraday.default_adapter = nil } - - context 'with default stack' do - let(:conn) { Faraday::Connection.new } - - it { expect(subject[0]).to eq(Faraday::Request.lookup_middleware(:url_encoded)) } - it { expect(subject.adapter).to eq(Faraday::Adapter.lookup_middleware(Faraday.default_adapter)) } - end - - context 'with custom empty block' do - let(:conn) { Faraday::Connection.new {} } - - it { expect(subject[0]).to be_nil } - it { expect(subject.adapter).to eq(Faraday::Adapter.lookup_middleware(Faraday.default_adapter)) } - end - - context 'with custom adapter only' do - let(:conn) do - Faraday::Connection.new do |builder| - builder.adapter :test do |stub| - stub.get('/') { |_| [200, {}, ''] } - end - end - end - - it { expect(subject[0]).to be_nil } - it { expect(subject.adapter).to eq(Faraday::Adapter.lookup_middleware(:test)) } - end - - context 'with custom handler and adapter' do - let(:conn) do - Faraday::Connection.new do |builder| - builder.use Apple - builder.adapter :test do |stub| - stub.get('/') { |_| [200, {}, ''] } - end - end - end - - it 'locks the stack after making a request' do - expect(subject.locked?).to be_falsey - conn.get('/') - expect(subject.locked?).to be_truthy - expect { subject.use(Orange) }.to raise_error(Faraday::RackBuilder::StackLocked) - end - - it 'dup stack is unlocked' do - expect(subject.locked?).to be_falsey - subject.lock! - expect(subject.locked?).to be_truthy - dup = subject.dup - expect(dup).to eq(subject) - expect(dup.locked?).to be_falsey - end - - it 'allows to compare handlers' do - expect(subject.handlers.first).to eq(Faraday::RackBuilder::Handler.new(Apple)) - end - end - - context 'when having a single handler' do - let(:conn) { Faraday::Connection.new {} } - - before { subject.use(Apple) } - - it { expect(subject.handlers).to eq([Apple]) } - - it 'allows use' do - subject.use(Orange) - expect(subject.handlers).to eq([Apple, Orange]) - end - - it 'allows insert_before' do - subject.insert_before(Apple, Orange) - expect(subject.handlers).to eq([Orange, Apple]) - end - - it 'allows insert_after' do - subject.insert_after(Apple, Orange) - expect(subject.handlers).to eq([Apple, Orange]) - end - - it 'raises an error trying to use an unregistered symbol' do - expect { subject.use(:apple) }.to raise_error(Faraday::Error) do |err| - expect(err.message).to eq(':apple is not registered on Faraday::Middleware') - end - end - end - - context 'when having two handlers' do - let(:conn) { Faraday::Connection.new {} } - - before do - subject.use(Apple) - subject.use(Orange) - end - - it 'allows insert_before' do - subject.insert_before(Orange, Banana) - expect(subject.handlers).to eq([Apple, Banana, Orange]) - end - - it 'allows insert_after' do - subject.insert_after(Apple, Banana) - expect(subject.handlers).to eq([Apple, Banana, Orange]) - end - - it 'allows to swap handlers' do - subject.swap(Apple, Banana) - expect(subject.handlers).to eq([Banana, Orange]) - end - - it 'allows to delete a handler' do - subject.delete(Apple) - expect(subject.handlers).to eq([Orange]) - end - end - - context 'when adapter is added with named options' do - after { Faraday.default_adapter_options = {} } - let(:conn) { Faraday::Connection.new {} } - - let(:cat_adapter) do - Class.new(Faraday::Adapter) do - attr_accessor :name - - def initialize(app, name:) - super(app) - @name = name - end - end - end - - let(:cat) { subject.adapter.build } - - it 'adds a handler to construct adapter with named options' do - Faraday.default_adapter = cat_adapter - Faraday.default_adapter_options = { name: 'Chloe' } - expect { cat }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(cat.name).to eq 'Chloe' - end - end - - context 'when middleware is added with named arguments' do - let(:conn) { Faraday::Connection.new {} } - - let(:dog_middleware) do - Class.new(Faraday::Middleware) do - attr_accessor :name - - def initialize(app, name:) - super(app) - @name = name - end - end - end - let(:dog) do - subject.handlers.find { |handler| handler == dog_middleware }.build - end - - it 'adds a handler to construct middleware with options passed to use' do - subject.use dog_middleware, name: 'Rex' - expect { dog }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(dog.name).to eq('Rex') - end - end - - context 'when a middleware is added with named arguments' do - let(:conn) { Faraday::Connection.new {} } - - let(:cat_request) do - Class.new(Faraday::Middleware) do - attr_accessor :name - - def initialize(app, name:) - super(app) - @name = name - end - end - end - let(:cat) do - subject.handlers.find { |handler| handler == cat_request }.build - end - - it 'adds a handler to construct request adapter with options passed to request' do - Faraday::Request.register_middleware cat_request: cat_request - subject.request :cat_request, name: 'Felix' - expect { cat }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(cat.name).to eq('Felix') - end - end - - context 'when a middleware is added with named arguments' do - let(:conn) { Faraday::Connection.new {} } - - let(:fish_response) do - Class.new(Faraday::Middleware) do - attr_accessor :name - - def initialize(app, name:) - super(app) - @name = name - end - end - end - let(:fish) do - subject.handlers.find { |handler| handler == fish_response }.build - end - - it 'adds a handler to construct response adapter with options passed to response' do - Faraday::Response.register_middleware fish_response: fish_response - subject.response :fish_response, name: 'Bubbles' - expect { fish }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(fish.name).to eq('Bubbles') - end - end - - context 'when a plain adapter is added with named arguments' do - let(:conn) { Faraday::Connection.new {} } - - let(:rabbit_adapter) do - Class.new(Faraday::Adapter) do - attr_accessor :name - - def initialize(app, name:) - super(app) - @name = name - end - end - end - let(:rabbit) do - subject.adapter.build - end - - it 'adds a handler to construct adapter with options passed to adapter' do - Faraday::Adapter.register_middleware rabbit_adapter: rabbit_adapter - subject.adapter :rabbit_adapter, name: 'Thumper' - expect { rabbit }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(rabbit.name).to eq('Thumper') - end - end - - context 'when handlers are directly added or updated' do - let(:conn) { Faraday::Connection.new {} } - - let(:rock_handler) do - Class.new do - attr_accessor :name - - def initialize(_app, name:) - @name = name - end - end - end - let(:rock) do - subject.handlers.find { |handler| handler == rock_handler }.build - end - - it 'adds a handler to construct adapter with options passed to insert' do - subject.insert 0, rock_handler, name: 'Stony' - expect { rock }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(rock.name).to eq('Stony') - end - - it 'adds a handler with options passed to insert_after' do - subject.insert_after 0, rock_handler, name: 'Rocky' - expect { rock }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(rock.name).to eq('Rocky') - end - - it 'adds a handler with options passed to swap' do - subject.insert 0, rock_handler, name: 'Flint' - subject.swap 0, rock_handler, name: 'Chert' - expect { rock }.to_not output( - /warning: Using the last argument as keyword parameters is deprecated/ - ).to_stderr - expect(rock.name).to eq('Chert') - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/authorization_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/authorization_spec.rb deleted file mode 100644 index 437c88a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/authorization_spec.rb +++ /dev/null @@ -1,118 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Request::Authorization do - let(:conn) do - Faraday.new do |b| - b.request :authorization, auth_type, *auth_config - b.adapter :test do |stub| - stub.get('/auth-echo') do |env| - [200, {}, env[:request_headers]['Authorization']] - end - end - end - end - - shared_examples 'does not interfere with existing authentication' do - context 'and request already has an authentication header' do - let(:response) { conn.get('/auth-echo', nil, authorization: 'OAuth oauth_token') } - - it 'does not interfere with existing authorization' do - expect(response.body).to eq('OAuth oauth_token') - end - end - end - - let(:response) { conn.get('/auth-echo') } - - describe 'basic_auth' do - let(:auth_type) { :basic } - - context 'when passed correct params' do - let(:auth_config) { %w[aladdin opensesame] } - - it { expect(response.body).to eq('Basic YWxhZGRpbjpvcGVuc2VzYW1l') } - - include_examples 'does not interfere with existing authentication' - end - - context 'when passed very long values' do - let(:auth_config) { ['A' * 255, ''] } - - it { expect(response.body).to eq("Basic #{'QUFB' * 85}Og==") } - - include_examples 'does not interfere with existing authentication' - end - end - - describe 'authorization' do - let(:auth_type) { :Bearer } - - context 'when passed a string' do - let(:auth_config) { ['custom'] } - - it { expect(response.body).to eq('Bearer custom') } - - include_examples 'does not interfere with existing authentication' - end - - context 'when passed a proc' do - let(:auth_config) { [-> { 'custom_from_proc' }] } - - it { expect(response.body).to eq('Bearer custom_from_proc') } - - include_examples 'does not interfere with existing authentication' - end - - context 'when passed a callable' do - let(:callable) { double('Callable Authorizer', call: 'custom_from_callable') } - let(:auth_config) { [callable] } - - it { expect(response.body).to eq('Bearer custom_from_callable') } - - include_examples 'does not interfere with existing authentication' - end - - context 'with an argument' do - let(:response) { conn.get('/auth-echo', nil, 'middle' => 'crunchy surprise') } - - context 'when passed a proc' do - let(:auth_config) { [proc { |env| "proc #{env.request_headers['middle']}" }] } - - it { expect(response.body).to eq('Bearer proc crunchy surprise') } - - include_examples 'does not interfere with existing authentication' - end - - context 'when passed a lambda' do - let(:auth_config) { [->(env) { "lambda #{env.request_headers['middle']}" }] } - - it { expect(response.body).to eq('Bearer lambda crunchy surprise') } - - include_examples 'does not interfere with existing authentication' - end - - context 'when passed a callable with an argument' do - let(:callable) do - Class.new do - def call(env) - "callable #{env.request_headers['middle']}" - end - end.new - end - let(:auth_config) { [callable] } - - it { expect(response.body).to eq('Bearer callable crunchy surprise') } - - include_examples 'does not interfere with existing authentication' - end - end - - context 'when passed too many arguments' do - let(:auth_config) { %w[baz foo] } - - it { expect { response }.to raise_error(ArgumentError) } - - include_examples 'does not interfere with existing authentication' - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/instrumentation_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/instrumentation_spec.rb deleted file mode 100644 index d207c55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/instrumentation_spec.rb +++ /dev/null @@ -1,74 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Request::Instrumentation do - class FakeInstrumenter - attr_reader :instrumentations - - def initialize - @instrumentations = [] - end - - def instrument(name, env) - @instrumentations << [name, env] - yield - end - end - - let(:config) { {} } - let(:options) { Faraday::Request::Instrumentation::Options.from config } - let(:instrumenter) { FakeInstrumenter.new } - let(:conn) do - Faraday.new do |f| - f.request :instrumentation, config.merge(instrumenter: instrumenter) - f.adapter :test do |stub| - stub.get '/' do - [200, {}, 'ok'] - end - end - end - end - - it { expect(options.name).to eq('request.faraday') } - it 'defaults to ActiveSupport::Notifications' do - res = options.instrumenter - rescue NameError => e - expect(e.to_s).to match('ActiveSupport') - else - expect(res).to eq(ActiveSupport::Notifications) - end - - it 'instruments with default name' do - expect(instrumenter.instrumentations.size).to eq(0) - - res = conn.get '/' - expect(res.body).to eq('ok') - expect(instrumenter.instrumentations.size).to eq(1) - - name, env = instrumenter.instrumentations.first - expect(name).to eq('request.faraday') - expect(env[:url].path).to eq('/') - end - - context 'with custom name' do - let(:config) { { name: 'custom' } } - - it { expect(options.name).to eq('custom') } - it 'instruments with custom name' do - expect(instrumenter.instrumentations.size).to eq(0) - - res = conn.get '/' - expect(res.body).to eq('ok') - expect(instrumenter.instrumentations.size).to eq(1) - - name, env = instrumenter.instrumentations.first - expect(name).to eq('custom') - expect(env[:url].path).to eq('/') - end - end - - context 'with custom instrumenter' do - let(:config) { { instrumenter: :custom } } - - it { expect(options.instrumenter).to eq(:custom) } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/json_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/json_spec.rb deleted file mode 100644 index 2f3089d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/json_spec.rb +++ /dev/null @@ -1,135 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Request::Json do - let(:middleware) { described_class.new(->(env) { Faraday::Response.new(env) }) } - - def process(body, content_type = nil) - env = { body: body, request_headers: Faraday::Utils::Headers.new } - env[:request_headers]['content-type'] = content_type if content_type - middleware.call(Faraday::Env.from(env)).env - end - - def result_body - result[:body] - end - - def result_type - result[:request_headers]['content-type'] - end - - context 'no body' do - let(:result) { process(nil) } - - it "doesn't change body" do - expect(result_body).to be_nil - end - - it "doesn't add content type" do - expect(result_type).to be_nil - end - end - - context 'empty body' do - let(:result) { process('') } - - it "doesn't change body" do - expect(result_body).to be_empty - end - - it "doesn't add content type" do - expect(result_type).to be_nil - end - end - - context 'string body' do - let(:result) { process('{"a":1}') } - - it "doesn't change body" do - expect(result_body).to eq('{"a":1}') - end - - it 'adds content type' do - expect(result_type).to eq('application/json') - end - end - - context 'object body' do - let(:result) { process(a: 1) } - - it 'encodes body' do - expect(result_body).to eq('{"a":1}') - end - - it 'adds content type' do - expect(result_type).to eq('application/json') - end - end - - context 'empty object body' do - let(:result) { process({}) } - - it 'encodes body' do - expect(result_body).to eq('{}') - end - end - - context 'true body' do - let(:result) { process(true) } - - it 'encodes body' do - expect(result_body).to eq('true') - end - - it 'adds content type' do - expect(result_type).to eq('application/json') - end - end - - context 'false body' do - let(:result) { process(false) } - - it 'encodes body' do - expect(result_body).to eq('false') - end - - it 'adds content type' do - expect(result_type).to eq('application/json') - end - end - - context 'object body with json type' do - let(:result) { process({ a: 1 }, 'application/json; charset=utf-8') } - - it 'encodes body' do - expect(result_body).to eq('{"a":1}') - end - - it "doesn't change content type" do - expect(result_type).to eq('application/json; charset=utf-8') - end - end - - context 'object body with vendor json type' do - let(:result) { process({ a: 1 }, 'application/vnd.myapp.v1+json; charset=utf-8') } - - it 'encodes body' do - expect(result_body).to eq('{"a":1}') - end - - it "doesn't change content type" do - expect(result_type).to eq('application/vnd.myapp.v1+json; charset=utf-8') - end - end - - context 'object body with incompatible type' do - let(:result) { process({ a: 1 }, 'application/xml; charset=utf-8') } - - it "doesn't change body" do - expect(result_body).to eq(a: 1) - end - - it "doesn't change content type" do - expect(result_type).to eq('application/xml; charset=utf-8') - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/url_encoded_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/url_encoded_spec.rb deleted file mode 100644 index bdd9e0a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request/url_encoded_spec.rb +++ /dev/null @@ -1,93 +0,0 @@ -# frozen_string_literal: true - -require 'stringio' - -RSpec.describe Faraday::Request::UrlEncoded do - let(:conn) do - Faraday.new do |b| - b.request :url_encoded - b.adapter :test do |stub| - stub.post('/echo') do |env| - posted_as = env[:request_headers]['Content-Type'] - body = env[:body] - if body.respond_to?(:read) - body = body.read - end - [200, { 'Content-Type' => posted_as }, body] - end - end - end - end - - it 'does nothing without payload' do - response = conn.post('/echo') - expect(response.headers['Content-Type']).to be_nil - expect(response.body.empty?).to be_truthy - end - - it 'ignores custom content type' do - response = conn.post('/echo', { some: 'data' }, 'content-type' => 'application/x-foo') - expect(response.headers['Content-Type']).to eq('application/x-foo') - expect(response.body).to eq(some: 'data') - end - - it 'works with no headers' do - response = conn.post('/echo', fruit: %w[apples oranges]) - expect(response.headers['Content-Type']).to eq('application/x-www-form-urlencoded') - expect(response.body).to eq('fruit%5B%5D=apples&fruit%5B%5D=oranges') - end - - it 'works with with headers' do - response = conn.post('/echo', { 'a' => 123 }, 'content-type' => 'application/x-www-form-urlencoded') - expect(response.headers['Content-Type']).to eq('application/x-www-form-urlencoded') - expect(response.body).to eq('a=123') - end - - it 'works with nested params' do - response = conn.post('/echo', user: { name: 'Mislav', web: 'mislav.net' }) - expect(response.headers['Content-Type']).to eq('application/x-www-form-urlencoded') - expected = { 'user' => { 'name' => 'Mislav', 'web' => 'mislav.net' } } - expect(Faraday::Utils.parse_nested_query(response.body)).to eq(expected) - end - - it 'works with non nested params' do - response = conn.post('/echo', dimensions: %w[date location]) do |req| - req.options.params_encoder = Faraday::FlatParamsEncoder - end - expect(response.headers['Content-Type']).to eq('application/x-www-form-urlencoded') - expected = { 'dimensions' => %w[date location] } - expect(Faraday::Utils.parse_query(response.body)).to eq(expected) - expect(response.body).to eq('dimensions=date&dimensions=location') - end - - it 'works with unicode' do - err = capture_warnings do - response = conn.post('/echo', str: 'eé cç aã aâ') - expect(response.body).to eq('str=e%C3%A9+c%C3%A7+a%C3%A3+a%C3%A2') - end - expect(err.empty?).to be_truthy - end - - it 'works with nested keys' do - response = conn.post('/echo', 'a' => { 'b' => { 'c' => ['d'] } }) - expect(response.body).to eq('a%5Bb%5D%5Bc%5D%5B%5D=d') - end - - it 'works with files' do - response = conn.post('/echo', StringIO.new('str=apple')) - expect(response.body).to eq('str=apple') - end - - context 'customising default_space_encoding' do - around do |example| - Faraday::Utils.default_space_encoding = '%20' - example.run - Faraday::Utils.default_space_encoding = nil - end - - it 'uses the custom character to encode spaces' do - response = conn.post('/echo', str: 'apple banana') - expect(response.body).to eq('str=apple%20banana') - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request_spec.rb deleted file mode 100644 index fbf85b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/request_spec.rb +++ /dev/null @@ -1,110 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Request do - let(:conn) do - Faraday.new(url: 'http://httpbingo.org/api', - headers: { 'Mime-Version' => '1.0' }, - request: { oauth: { consumer_key: 'anonymous' } }) - end - let(:http_method) { :get } - let(:block) { nil } - - subject { conn.build_request(http_method, &block) } - - context 'when nothing particular is configured' do - it { expect(subject.http_method).to eq(:get) } - it { expect(subject.to_env(conn).ssl.verify).to be_falsey } - it { expect(subject.to_env(conn).ssl.verify_hostname).to be_falsey } - end - - context 'when HTTP method is post' do - let(:http_method) { :post } - - it { expect(subject.http_method).to eq(:post) } - end - - context 'when setting the url on setup with a URI' do - let(:block) { proc { |req| req.url URI.parse('foo.json?a=1') } } - - it { expect(subject.path).to eq(URI.parse('foo.json')) } - it { expect(subject.params).to eq('a' => '1') } - it { expect(subject.to_env(conn).url.to_s).to eq('http://httpbingo.org/api/foo.json?a=1') } - end - - context 'when setting the url on setup with a string path and params' do - let(:block) { proc { |req| req.url 'foo.json', 'a' => 1 } } - - it { expect(subject.path).to eq('foo.json') } - it { expect(subject.params).to eq('a' => 1) } - it { expect(subject.to_env(conn).url.to_s).to eq('http://httpbingo.org/api/foo.json?a=1') } - end - - context 'when setting the url on setup with a path including params' do - let(:block) { proc { |req| req.url 'foo.json?b=2&a=1#qqq' } } - - it { expect(subject.path).to eq('foo.json') } - it { expect(subject.params).to eq('a' => '1', 'b' => '2') } - it { expect(subject.to_env(conn).url.to_s).to eq('http://httpbingo.org/api/foo.json?a=1&b=2') } - end - - context 'when setting a header on setup with []= syntax' do - let(:block) { proc { |req| req['Server'] = 'Faraday' } } - let(:headers) { subject.to_env(conn).request_headers } - - it { expect(subject.headers['Server']).to eq('Faraday') } - it { expect(headers['mime-version']).to eq('1.0') } - it { expect(headers['server']).to eq('Faraday') } - end - - context 'when setting the body on setup' do - let(:block) { proc { |req| req.body = 'hi' } } - - it { expect(subject.body).to eq('hi') } - it { expect(subject.to_env(conn).body).to eq('hi') } - end - - context 'with global request options set' do - let(:env_request) { subject.to_env(conn).request } - - before do - conn.options.timeout = 3 - conn.options.open_timeout = 5 - conn.ssl.verify = false - conn.proxy = 'http://proxy.com' - end - - it { expect(subject.options.timeout).to eq(3) } - it { expect(subject.options.open_timeout).to eq(5) } - it { expect(env_request.timeout).to eq(3) } - it { expect(env_request.open_timeout).to eq(5) } - - context 'and per-request options set' do - let(:block) do - proc do |req| - req.options.timeout = 10 - req.options.boundary = 'boo' - req.options.oauth[:consumer_secret] = 'xyz' - req.options.context = { - foo: 'foo', - bar: 'bar' - } - end - end - - it { expect(subject.options.timeout).to eq(10) } - it { expect(subject.options.open_timeout).to eq(5) } - it { expect(env_request.timeout).to eq(10) } - it { expect(env_request.open_timeout).to eq(5) } - it { expect(env_request.boundary).to eq('boo') } - it { expect(env_request.context).to eq(foo: 'foo', bar: 'bar') } - it do - oauth_expected = { consumer_secret: 'xyz', consumer_key: 'anonymous' } - expect(env_request.oauth).to eq(oauth_expected) - end - end - end - - it 'supports marshal serialization' do - expect(Marshal.load(Marshal.dump(subject))).to eq(subject) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/json_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/json_spec.rb deleted file mode 100644 index 884746e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/json_spec.rb +++ /dev/null @@ -1,117 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Response::Json, type: :response do - let(:options) { {} } - let(:headers) { {} } - let(:middleware) do - described_class.new(lambda { |env| - Faraday::Response.new(env) - }, **options) - end - - def process(body, content_type = 'application/json', options = {}) - env = { - body: body, request: options, - request_headers: Faraday::Utils::Headers.new, - response_headers: Faraday::Utils::Headers.new(headers) - } - env[:response_headers]['content-type'] = content_type if content_type - yield(env) if block_given? - middleware.call(Faraday::Env.from(env)) - end - - context 'no type matching' do - it "doesn't change nil body" do - expect(process(nil).body).to be_nil - end - - it 'nullifies empty body' do - expect(process('').body).to be_nil - end - - it 'parses json body' do - response = process('{"a":1}') - expect(response.body).to eq('a' => 1) - expect(response.env[:raw_body]).to be_nil - end - end - - context 'with preserving raw' do - let(:options) { { preserve_raw: true } } - - it 'parses json body' do - response = process('{"a":1}') - expect(response.body).to eq('a' => 1) - expect(response.env[:raw_body]).to eq('{"a":1}') - end - end - - context 'with default regexp type matching' do - it 'parses json body of correct type' do - response = process('{"a":1}', 'application/x-json') - expect(response.body).to eq('a' => 1) - end - - it 'ignores json body of incorrect type' do - response = process('{"a":1}', 'text/json-xml') - expect(response.body).to eq('{"a":1}') - end - end - - context 'with array type matching' do - let(:options) { { content_type: %w[a/b c/d] } } - - it 'parses json body of correct type' do - expect(process('{"a":1}', 'a/b').body).to be_a(Hash) - expect(process('{"a":1}', 'c/d').body).to be_a(Hash) - end - - it 'ignores json body of incorrect type' do - expect(process('{"a":1}', 'a/d').body).not_to be_a(Hash) - end - end - - it 'chokes on invalid json' do - expect { process('{!') }.to raise_error(Faraday::ParsingError) - end - - it 'includes the response on the ParsingError instance' do - process('{') { |env| env[:response] = Faraday::Response.new } - raise 'Parsing should have failed.' - rescue Faraday::ParsingError => e - expect(e.response).to be_a(Faraday::Response) - end - - context 'HEAD responses' do - it "nullifies the body if it's only one space" do - response = process(' ') - expect(response.body).to be_nil - end - - it "nullifies the body if it's two spaces" do - response = process(' ') - expect(response.body).to be_nil - end - end - - context 'JSON options' do - let(:body) { '{"a": 1}' } - let(:result) { { a: 1 } } - let(:options) do - { - parser_options: { - symbolize_names: true - } - } - end - - it 'passes relevant options to JSON parse' do - expect(::JSON).to receive(:parse) - .with(body, options[:parser_options]) - .and_return(result) - - response = process(body) - expect(response.body).to eq(result) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/logger_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/logger_spec.rb deleted file mode 100644 index 4fd1e11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/logger_spec.rb +++ /dev/null @@ -1,258 +0,0 @@ -# frozen_string_literal: true - -require 'stringio' -require 'logger' - -RSpec.describe Faraday::Response::Logger do - let(:string_io) { StringIO.new } - let(:logger) { Logger.new(string_io) } - let(:logger_options) { {} } - let(:conn) do - rubbles = ['Barney', 'Betty', 'Bam Bam'] - - Faraday.new do |b| - b.response :logger, logger, logger_options do |logger| - logger.filter(/(soylent green is) (.+)/, '\1 tasty') - logger.filter(/(api_key:).*"(.+)."/, '\1[API_KEY]') - logger.filter(/(password)=(.+)/, '\1=[HIDDEN]') - end - b.adapter :test do |stubs| - stubs.get('/hello') { [200, { 'Content-Type' => 'text/html' }, 'hello'] } - stubs.post('/ohai') { [200, { 'Content-Type' => 'text/html' }, 'fred'] } - stubs.post('/ohyes') { [200, { 'Content-Type' => 'text/html' }, 'pebbles'] } - stubs.get('/rubbles') { [200, { 'Content-Type' => 'application/json' }, rubbles] } - stubs.get('/filtered_body') { [200, { 'Content-Type' => 'text/html' }, 'soylent green is people'] } - stubs.get('/filtered_headers') { [200, { 'Content-Type' => 'text/html' }, 'headers response'] } - stubs.get('/filtered_params') { [200, { 'Content-Type' => 'text/html' }, 'params response'] } - stubs.get('/filtered_url') { [200, { 'Content-Type' => 'text/html' }, 'url response'] } - stubs.get('/connection_failed') { raise Faraday::ConnectionFailed, 'Failed to open TCP connection' } - end - end - end - - before do - logger.level = Logger::DEBUG - end - - it 'still returns output' do - resp = conn.get '/hello', nil, accept: 'text/html' - expect(resp.body).to eq('hello') - end - - context 'without configuration' do - let(:conn) do - Faraday.new do |b| - b.response :logger - b.adapter :test do |stubs| - stubs.get('/hello') { [200, { 'Content-Type' => 'text/html' }, 'hello'] } - end - end - end - - it 'defaults to stdout' do - expect(Logger).to receive(:new).with($stdout).and_return(Logger.new(nil)) - conn.get('/hello') - end - end - - context 'with default formatter' do - let(:formatter) { instance_double(Faraday::Logging::Formatter, request: true, response: true, filter: []) } - - before { allow(Faraday::Logging::Formatter).to receive(:new).and_return(formatter) } - - it 'delegates logging to the formatter' do - expect(formatter).to receive(:request).with(an_instance_of(Faraday::Env)) - expect(formatter).to receive(:response).with(an_instance_of(Faraday::Env)) - conn.get '/hello' - end - - context 'when no route' do - it 'delegates logging to the formatter' do - expect(formatter).to receive(:request).with(an_instance_of(Faraday::Env)) - expect(formatter).to receive(:exception).with(an_instance_of(Faraday::Adapter::Test::Stubs::NotFound)) - - expect { conn.get '/noroute' }.to raise_error(Faraday::Adapter::Test::Stubs::NotFound) - end - end - end - - context 'with custom formatter' do - let(:formatter_class) do - Class.new(Faraday::Logging::Formatter) do - def request(_env) - info 'Custom log formatter request' - end - - def response(_env) - info 'Custom log formatter response' - end - end - end - - let(:logger_options) { { formatter: formatter_class } } - - it 'logs with custom formatter' do - conn.get '/hello' - - expect(string_io.string).to match('Custom log formatter request') - expect(string_io.string).to match('Custom log formatter response') - end - end - - it 'logs method and url' do - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).to match('GET http:/hello') - end - - it 'logs status' do - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).to match('Status 200') - end - - it 'does not log error message by default' do - expect { conn.get '/noroute' }.to raise_error(Faraday::Adapter::Test::Stubs::NotFound) - expect(string_io.string).not_to match(%(no stubbed request for get http:/noroute)) - end - - it 'logs request headers by default' do - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).to match(%(Accept: "text/html)) - end - - it 'logs response headers by default' do - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).to match(%(Content-Type: "text/html)) - end - - it 'does not log request body by default' do - conn.post '/ohai', 'name=Unagi', accept: 'text/html' - expect(string_io.string).not_to match(%(name=Unagi)) - end - - it 'does not log response body by default' do - conn.post '/ohai', 'name=Toro', accept: 'text/html' - expect(string_io.string).not_to match(%(fred)) - end - - it 'logs filter headers' do - conn.headers = { 'api_key' => 'ABC123' } - conn.get '/filtered_headers', nil, accept: 'text/html' - expect(string_io.string).to match(%(api_key:)) - expect(string_io.string).to match(%([API_KEY])) - expect(string_io.string).not_to match(%(ABC123)) - end - - it 'logs filter url' do - conn.get '/filtered_url?password=hunter2', nil, accept: 'text/html' - expect(string_io.string).to match(%([HIDDEN])) - expect(string_io.string).not_to match(%(hunter2)) - end - - context 'when not logging request headers' do - let(:logger_options) { { headers: { request: false } } } - - it 'does not log request headers if option is false' do - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).not_to match(%(Accept: "text/html)) - end - end - - context 'when not logging response headers' do - let(:logger_options) { { headers: { response: false } } } - - it 'does not log response headers if option is false' do - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).not_to match(%(Content-Type: "text/html)) - end - end - - context 'when logging request body' do - let(:logger_options) { { bodies: { request: true } } } - - it 'log only request body' do - conn.post '/ohyes', 'name=Tamago', accept: 'text/html' - expect(string_io.string).to match(%(name=Tamago)) - expect(string_io.string).not_to match(%(pebbles)) - end - end - - context 'when logging response body' do - let(:logger_options) { { bodies: { response: true } } } - - it 'log only response body' do - conn.post '/ohyes', 'name=Hamachi', accept: 'text/html' - expect(string_io.string).to match(%(pebbles)) - expect(string_io.string).not_to match(%(name=Hamachi)) - end - end - - context 'when logging request and response bodies' do - let(:logger_options) { { bodies: true } } - - it 'log request and response body' do - conn.post '/ohyes', 'name=Ebi', accept: 'text/html' - expect(string_io.string).to match(%(name=Ebi)) - expect(string_io.string).to match(%(pebbles)) - end - - it 'log response body object' do - conn.get '/rubbles', nil, accept: 'text/html' - expect(string_io.string).to match(%([\"Barney\", \"Betty\", \"Bam Bam\"]\n)) - end - - it 'logs filter body' do - conn.get '/filtered_body', nil, accept: 'text/html' - expect(string_io.string).to match(%(soylent green is)) - expect(string_io.string).to match(%(tasty)) - expect(string_io.string).not_to match(%(people)) - end - end - - context 'when logging errors' do - let(:logger_options) { { errors: true } } - - it 'logs error message' do - expect { conn.get '/noroute' }.to raise_error(Faraday::Adapter::Test::Stubs::NotFound) - expect(string_io.string).to match(%(no stubbed request for get http:/noroute)) - end - end - - context 'when logging headers and errors' do - let(:logger_options) { { headers: true, errors: true } } - - it 'logs error message' do - expect { conn.get '/connection_failed' }.to raise_error(Faraday::ConnectionFailed) - expect(string_io.string).to match(%(Failed to open TCP connection)) - end - end - - context 'when using log_level' do - let(:logger_options) { { bodies: true, log_level: :debug } } - - it 'logs request/request body on the specified level (debug)' do - logger.level = Logger::DEBUG - conn.post '/ohyes', 'name=Ebi', accept: 'text/html' - expect(string_io.string).to match(%(name=Ebi)) - expect(string_io.string).to match(%(pebbles)) - end - - it 'logs headers on the debug level' do - logger.level = Logger::DEBUG - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).to match(%(Content-Type: "text/html)) - end - - it 'does not log request/response body on the info level' do - logger.level = Logger::INFO - conn.post '/ohyes', 'name=Ebi', accept: 'text/html' - expect(string_io.string).not_to match(%(name=Ebi)) - expect(string_io.string).not_to match(%(pebbles)) - end - - it 'does not log headers on the info level' do - logger.level = Logger::INFO - conn.get '/hello', nil, accept: 'text/html' - expect(string_io.string).not_to match(%(Content-Type: "text/html)) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/raise_error_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/raise_error_spec.rb deleted file mode 100644 index 06a7096..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response/raise_error_spec.rb +++ /dev/null @@ -1,199 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Response::RaiseError do - let(:conn) do - Faraday.new do |b| - b.response :raise_error - b.adapter :test do |stub| - stub.get('ok') { [200, { 'Content-Type' => 'text/html' }, ''] } - stub.get('bad-request') { [400, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('unauthorized') { [401, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('forbidden') { [403, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('not-found') { [404, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('proxy-error') { [407, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('request-timeout') { [408, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('conflict') { [409, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('unprocessable-entity') { [422, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('4xx') { [499, { 'X-Reason' => 'because' }, 'keep looking'] } - stub.get('nil-status') { [nil, { 'X-Reason' => 'nil' }, 'fail'] } - stub.get('server-error') { [500, { 'X-Error' => 'bailout' }, 'fail'] } - end - end - end - - it 'raises no exception for 200 responses' do - expect { conn.get('ok') }.not_to raise_error - end - - it 'raises Faraday::BadRequestError for 400 responses' do - expect { conn.get('bad-request') }.to raise_error(Faraday::BadRequestError) do |ex| - expect(ex.message).to eq('the server responded with status 400') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(400) - expect(ex.response_status).to eq(400) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::UnauthorizedError for 401 responses' do - expect { conn.get('unauthorized') }.to raise_error(Faraday::UnauthorizedError) do |ex| - expect(ex.message).to eq('the server responded with status 401') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(401) - expect(ex.response_status).to eq(401) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::ForbiddenError for 403 responses' do - expect { conn.get('forbidden') }.to raise_error(Faraday::ForbiddenError) do |ex| - expect(ex.message).to eq('the server responded with status 403') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(403) - expect(ex.response_status).to eq(403) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::ResourceNotFound for 404 responses' do - expect { conn.get('not-found') }.to raise_error(Faraday::ResourceNotFound) do |ex| - expect(ex.message).to eq('the server responded with status 404') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(404) - expect(ex.response_status).to eq(404) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::ProxyAuthError for 407 responses' do - expect { conn.get('proxy-error') }.to raise_error(Faraday::ProxyAuthError) do |ex| - expect(ex.message).to eq('407 "Proxy Authentication Required"') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(407) - expect(ex.response_status).to eq(407) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::RequestTimeoutError for 408 responses' do - expect { conn.get('request-timeout') }.to raise_error(Faraday::RequestTimeoutError) do |ex| - expect(ex.message).to eq('the server responded with status 408') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(408) - expect(ex.response_status).to eq(408) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::ConflictError for 409 responses' do - expect { conn.get('conflict') }.to raise_error(Faraday::ConflictError) do |ex| - expect(ex.message).to eq('the server responded with status 409') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(409) - expect(ex.response_status).to eq(409) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::UnprocessableEntityError for 422 responses' do - expect { conn.get('unprocessable-entity') }.to raise_error(Faraday::UnprocessableEntityError) do |ex| - expect(ex.message).to eq('the server responded with status 422') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(422) - expect(ex.response_status).to eq(422) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::NilStatusError for nil status in response' do - expect { conn.get('nil-status') }.to raise_error(Faraday::NilStatusError) do |ex| - expect(ex.message).to eq('http status could not be derived from the server response') - expect(ex.response[:headers]['X-Reason']).to eq('nil') - expect(ex.response[:status]).to be_nil - expect(ex.response_status).to be_nil - expect(ex.response_body).to eq('fail') - expect(ex.response_headers['X-Reason']).to eq('nil') - end - end - - it 'raises Faraday::ClientError for other 4xx responses' do - expect { conn.get('4xx') }.to raise_error(Faraday::ClientError) do |ex| - expect(ex.message).to eq('the server responded with status 499') - expect(ex.response[:headers]['X-Reason']).to eq('because') - expect(ex.response[:status]).to eq(499) - expect(ex.response_status).to eq(499) - expect(ex.response_body).to eq('keep looking') - expect(ex.response_headers['X-Reason']).to eq('because') - end - end - - it 'raises Faraday::ServerError for 500 responses' do - expect { conn.get('server-error') }.to raise_error(Faraday::ServerError) do |ex| - expect(ex.message).to eq('the server responded with status 500') - expect(ex.response[:headers]['X-Error']).to eq('bailout') - expect(ex.response[:status]).to eq(500) - expect(ex.response_status).to eq(500) - expect(ex.response_body).to eq('fail') - expect(ex.response_headers['X-Error']).to eq('bailout') - end - end - - describe 'request info' do - let(:conn) do - Faraday.new do |b| - b.response :raise_error, **middleware_options - b.adapter :test do |stub| - stub.post(url, request_body, request_headers) do - [400, { 'X-Reason' => 'because' }, 'keep looking'] - end - end - end - end - let(:middleware_options) { {} } - let(:request_body) { JSON.generate({ 'item' => 'sth' }) } - let(:request_headers) { { 'Authorization' => 'Basic 123' } } - let(:url_path) { 'request' } - let(:query_params) { 'full=true' } - let(:url) { "#{url_path}?#{query_params}" } - - subject(:perform_request) do - conn.post url do |req| - req.headers['Authorization'] = 'Basic 123' - req.body = request_body - end - end - - it 'returns the request info in the exception' do - expect { perform_request }.to raise_error(Faraday::BadRequestError) do |ex| - expect(ex.response[:request][:method]).to eq(:post) - expect(ex.response[:request][:url]).to eq(URI("http:/#{url}")) - expect(ex.response[:request][:url_path]).to eq("/#{url_path}") - expect(ex.response[:request][:params]).to eq({ 'full' => 'true' }) - expect(ex.response[:request][:headers]).to match(a_hash_including(request_headers)) - expect(ex.response[:request][:body]).to eq(request_body) - end - end - - context 'when the include_request option is set to false' do - let(:middleware_options) { { include_request: false } } - - it 'does not include request info in the exception' do - expect { perform_request }.to raise_error(Faraday::BadRequestError) do |ex| - expect(ex.response.keys).to contain_exactly( - :status, - :headers, - :body - ) - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response_spec.rb deleted file mode 100644 index e3e2c23..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/response_spec.rb +++ /dev/null @@ -1,77 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Response do - subject { Faraday::Response.new(env) } - - let(:env) do - Faraday::Env.from(status: 404, body: 'yikes', url: Faraday::Utils.URI('https://lostisland.github.io/faraday'), - response_headers: { 'Content-Type' => 'text/plain' }) - end - - it { expect(subject.finished?).to be_truthy } - it { expect { subject.finish({}) }.to raise_error(RuntimeError) } - it { expect(subject.success?).to be_falsey } - it { expect(subject.status).to eq(404) } - it { expect(subject.body).to eq('yikes') } - it { expect(subject.headers['Content-Type']).to eq('text/plain') } - it { expect(subject['content-type']).to eq('text/plain') } - - describe '#apply_request' do - before { subject.apply_request(body: 'a=b', method: :post) } - - it { expect(subject.body).to eq('yikes') } - it { expect(subject.env[:method]).to eq(:post) } - end - - describe '#to_hash' do - let(:hash) { subject.to_hash } - - it { expect(hash).to be_a(Hash) } - it { expect(hash[:status]).to eq(subject.status) } - it { expect(hash[:response_headers]).to eq(subject.headers) } - it { expect(hash[:body]).to eq(subject.body) } - it { expect(hash[:url]).to eq(subject.env.url) } - end - - describe 'marshal serialization support' do - subject { Faraday::Response.new } - let(:loaded) { Marshal.load(Marshal.dump(subject)) } - - before do - subject.on_complete {} - subject.finish(env.merge(params: 'moo')) - end - - it { expect(loaded.env[:params]).to be_nil } - it { expect(loaded.env[:body]).to eq(env[:body]) } - it { expect(loaded.env[:response_headers]).to eq(env[:response_headers]) } - it { expect(loaded.env[:status]).to eq(env[:status]) } - it { expect(loaded.env[:url]).to eq(env[:url]) } - end - - describe '#on_complete' do - subject { Faraday::Response.new } - - it 'parse body on finish' do - subject.on_complete { |env| env[:body] = env[:body].upcase } - subject.finish(env) - - expect(subject.body).to eq('YIKES') - end - - it 'can access response body in on_complete callback' do - subject.on_complete { |env| env[:body] = subject.body.upcase } - subject.finish(env) - - expect(subject.body).to eq('YIKES') - end - - it 'can access response body in on_complete callback' do - callback_env = nil - subject.on_complete { |env| callback_env = env } - subject.finish({}) - - expect(subject.env).to eq(callback_env) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/utils/headers_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/utils/headers_spec.rb deleted file mode 100644 index 66751f7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/utils/headers_spec.rb +++ /dev/null @@ -1,100 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Utils::Headers do - subject { Faraday::Utils::Headers.new } - - context 'when Content-Type is set to application/json' do - before { subject['Content-Type'] = 'application/json' } - - it { expect(subject.keys).to eq(['Content-Type']) } - it { expect(subject['Content-Type']).to eq('application/json') } - it { expect(subject['CONTENT-TYPE']).to eq('application/json') } - it { expect(subject['content-type']).to eq('application/json') } - it { is_expected.to include('content-type') } - end - - context 'when Content-Type is set to application/xml' do - before { subject['Content-Type'] = 'application/xml' } - - it { expect(subject.keys).to eq(['Content-Type']) } - it { expect(subject['Content-Type']).to eq('application/xml') } - it { expect(subject['CONTENT-TYPE']).to eq('application/xml') } - it { expect(subject['content-type']).to eq('application/xml') } - it { is_expected.to include('content-type') } - end - - describe '#fetch' do - before { subject['Content-Type'] = 'application/json' } - - it { expect(subject.fetch('Content-Type')).to eq('application/json') } - it { expect(subject.fetch('CONTENT-TYPE')).to eq('application/json') } - it { expect(subject.fetch(:content_type)).to eq('application/json') } - it { expect(subject.fetch('invalid', 'default')).to eq('default') } - it { expect(subject.fetch('invalid', false)).to eq(false) } - it { expect(subject.fetch('invalid', nil)).to be_nil } - it { expect(subject.fetch('Invalid') { |key| "#{key} key" }).to eq('Invalid key') } - it 'calls a block when provided' do - block_called = false - expect(subject.fetch('content-type') { block_called = true }).to eq('application/json') - expect(block_called).to be_falsey - end - it 'raises an error if key not found' do - expected_error = defined?(KeyError) ? KeyError : IndexError - expect { subject.fetch('invalid') }.to raise_error(expected_error) - end - end - - describe '#delete' do - before do - subject['Content-Type'] = 'application/json' - @deleted = subject.delete('content-type') - end - - it { expect(@deleted).to eq('application/json') } - it { expect(subject.size).to eq(0) } - it { is_expected.not_to include('content-type') } - it { expect(subject.delete('content-type')).to be_nil } - end - - describe '#parse' do - context 'when response headers leave http status line out' do - let(:headers) { "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n" } - - before { subject.parse(headers) } - - it { expect(subject.keys).to eq(%w[Content-Type]) } - it { expect(subject['Content-Type']).to eq('text/html') } - it { expect(subject['content-type']).to eq('text/html') } - end - - context 'when response headers values include a colon' do - let(:headers) { "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nLocation: http://httpbingo.org/\r\n\r\n" } - - before { subject.parse(headers) } - - it { expect(subject['location']).to eq('http://httpbingo.org/') } - end - - context 'when response headers include a blank line' do - let(:headers) { "HTTP/1.1 200 OK\r\n\r\nContent-Type: text/html\r\n\r\n" } - - before { subject.parse(headers) } - - it { expect(subject['content-type']).to eq('text/html') } - end - - context 'when response headers include already stored keys' do - let(:headers) { "HTTP/1.1 200 OK\r\nX-Numbers: 123\r\n\r\n" } - - before do - h = subject - h[:x_numbers] = 8 - h.parse(headers) - end - - it do - expect(subject[:x_numbers]).to eq('8, 123') - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/utils_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/utils_spec.rb deleted file mode 100644 index bf7499e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday/utils_spec.rb +++ /dev/null @@ -1,118 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday::Utils do - describe 'headers parsing' do - let(:multi_response_headers) do - "HTTP/1.x 500 OK\r\nContent-Type: text/html; charset=UTF-8\r\n" \ - "HTTP/1.x 200 OK\r\nContent-Type: application/json; charset=UTF-8\r\n\r\n" - end - - it 'parse headers for aggregated responses' do - headers = Faraday::Utils::Headers.new - headers.parse(multi_response_headers) - - result = headers.to_hash - - expect(result['Content-Type']).to eq('application/json; charset=UTF-8') - end - end - - describe 'URI parsing' do - let(:url) { 'http://example.com/abc' } - - it 'escapes safe buffer' do - str = FakeSafeBuffer.new('$32,000.00') - expect(Faraday::Utils.escape(str)).to eq('%2432%2C000.00') - end - - it 'parses with default parser' do - with_default_uri_parser(nil) do - uri = normalize(url) - expect(uri.host).to eq('example.com') - end - end - - it 'parses with URI' do - with_default_uri_parser(::URI) do - uri = normalize(url) - expect(uri.host).to eq('example.com') - end - end - - it 'parses with block' do - with_default_uri_parser(->(u) { "booya#{'!' * u.size}" }) do - expect(normalize(url)).to eq('booya!!!!!!!!!!!!!!!!!!!!!!') - end - end - - it 'replaces headers hash' do - headers = Faraday::Utils::Headers.new('authorization' => 't0ps3cr3t!') - expect(headers).to have_key('authorization') - - headers.replace('content-type' => 'text/plain') - expect(headers).not_to have_key('authorization') - end - end - - describe '.deep_merge!' do - let(:connection_options) { Faraday::ConnectionOptions.new } - let(:url) do - { - url: 'http://example.com/abc', - headers: { 'Mime-Version' => '1.0' }, - request: { oauth: { consumer_key: 'anonymous' } }, - ssl: { version: '2' } - } - end - - it 'recursively merges the headers' do - connection_options.headers = { user_agent: 'My Agent 1.0' } - deep_merge = Faraday::Utils.deep_merge!(connection_options, url) - - expect(deep_merge.headers).to eq('Mime-Version' => '1.0', user_agent: 'My Agent 1.0') - end - - context 'when a target hash has an Options Struct value' do - let(:request) do - { - params_encoder: nil, - proxy: nil, - bind: nil, - timeout: nil, - open_timeout: nil, - read_timeout: nil, - write_timeout: nil, - boundary: nil, - oauth: { consumer_key: 'anonymous' }, - context: nil, - on_data: nil - } - end - let(:ssl) do - { - verify: nil, - ca_file: nil, - ca_path: nil, - verify_mode: nil, - cert_store: nil, - client_cert: nil, - client_key: nil, - certificate: nil, - private_key: nil, - verify_depth: nil, - version: '2', - min_version: nil, - max_version: nil, - verify_hostname: nil - } - end - - it 'does not overwrite an Options Struct value' do - deep_merge = Faraday::Utils.deep_merge!(connection_options, url) - - expect(deep_merge.request.to_h).to eq(request) - expect(deep_merge.ssl.to_h).to eq(ssl) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday_spec.rb deleted file mode 100644 index 30be29c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/faraday_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Faraday do - it 'has a version number' do - expect(Faraday::VERSION).not_to be nil - end - - context 'proxies to default_connection' do - let(:mock_connection) { double('Connection') } - before do - Faraday.default_connection = mock_connection - end - - it 'proxies methods that exist on the default_connection' do - expect(mock_connection).to receive(:this_should_be_proxied) - - Faraday.this_should_be_proxied - end - - it 'uses method_missing on Faraday if there is no proxyable method' do - expected_message = - if RUBY_VERSION >= '3.3' - "undefined method `this_method_does_not_exist' for module Faraday" - else - "undefined method `this_method_does_not_exist' for Faraday:Module" - end - - expect { Faraday.this_method_does_not_exist }.to raise_error(NoMethodError, expected_message) - end - - it 'proxied methods can be accessed' do - allow(mock_connection).to receive(:this_should_be_proxied) - - expect(Faraday.method(:this_should_be_proxied)).to be_a(Method) - end - - after do - Faraday.default_connection = nil - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/spec_helper.rb deleted file mode 100644 index 5fcddd5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/spec_helper.rb +++ /dev/null @@ -1,132 +0,0 @@ -# frozen_string_literal: true - -# This file was generated by the `rspec --init` command. Conventionally, all -# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. -# The generated `.rspec` file contains `--require spec_helper` which will cause -# this file to always be loaded, without a need to explicitly require it in any -# files. -# -# Given that it is always loaded, you are encouraged to keep this file as -# light-weight as possible. Requiring heavyweight dependencies from this file -# will add to the boot time of your test suite on EVERY test run, even for an -# individual file that may not need all of that loaded. Instead, consider making -# a separate helper file that requires the additional dependencies and performs -# the additional setup, and require it from the spec files that actually need -# it. -# -# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration - -require 'simplecov' -require 'coveralls' -require 'webmock/rspec' -WebMock.disable_net_connect!(allow_localhost: true) - -SimpleCov.formatters = [SimpleCov::Formatter::HTMLFormatter, Coveralls::SimpleCov::Formatter] - -SimpleCov.start do - add_filter '/spec/' - minimum_coverage 84 - minimum_coverage_by_file 26 -end - -# Ensure all /lib files are loaded -# so they will be included in the test coverage report. -Dir['./lib/**/*.rb'].sort.each { |file| require file } - -require 'faraday' -require 'pry' - -Dir['./spec/support/**/*.rb'].sort.each { |f| require f } - -RSpec.configure do |config| - # rspec-expectations config goes here. You can use an alternate - # assertion/expectation library such as wrong or the stdlib/minitest - # assertions if you prefer. - config.expect_with :rspec do |expectations| - # This option will default to `true` in RSpec 4. It makes the `description` - # and `failure_message` of custom matchers include text for helper methods - # defined using `chain`, e.g.: - # be_bigger_than(2).and_smaller_than(4).description - # # => "be bigger than 2 and smaller than 4" - # ...rather than: - # # => "be bigger than 2" - expectations.include_chain_clauses_in_custom_matcher_descriptions = true - end - - # rspec-mocks config goes here. You can use an alternate test double - # library (such as bogus or mocha) by changing the `mock_with` option here. - config.mock_with :rspec do |mocks| - # Prevents you from mocking or stubbing a method that does not exist on - # a real object. This is generally recommended, and will default to - # `true` in RSpec 4. - mocks.verify_partial_doubles = true - end - - # This option will default to `:apply_to_host_groups` in RSpec 4 (and will - # have no way to turn it off -- the option exists only for backwards - # compatibility in RSpec 3). It causes shared context metadata to be - # inherited by the metadata hash of host groups and examples, rather than - # triggering implicit auto-inclusion in groups with matching metadata. - config.shared_context_metadata_behavior = :apply_to_host_groups - - # This allows you to limit a spec run to individual examples or groups - # you care about by tagging them with `:focus` metadata. When nothing - # is tagged with `:focus`, all examples get run. RSpec also provides - # aliases for `it`, `describe`, and `context` that include `:focus` - # metadata: `fit`, `fdescribe` and `fcontext`, respectively. - # config.filter_run_when_matching :focus - - # Allows RSpec to persist some state between runs in order to support - # the `--only-failures` and `--next-failure` CLI options. We recommend - # you configure your source control system to ignore this file. - # config.example_status_persistence_file_path = "spec/examples.txt" - - # Limits the available syntax to the non-monkey patched syntax that is - # recommended. For more details, see: - # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ - # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ - # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode - # config.disable_monkey_patching! - - # This setting enables warnings. It's recommended, but in some cases may - # be too noisy due to issues in dependencies. - # config.warnings = true - - # Many RSpec users commonly either run the entire suite or an individual - # file, and it's useful to allow more verbose output when running an - # individual spec file. - # if config.files_to_run.one? - # # Use the documentation formatter for detailed output, - # # unless a formatter has already been configured - # # (e.g. via a command-line flag). - # config.default_formatter = "doc" - # end - - # Print the 10 slowest examples and example groups at the - # end of the spec run, to help surface which specs are running - # particularly slow. - # config.profile_examples = 10 - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 - config.order = :random - - # Seed global randomization in this process using the `--seed` CLI option. - # Setting this allows you to use `--seed` to deterministically reproduce - # test failures related to randomization by passing the same `--seed` value - # as the one that triggered the failure. - Kernel.srand config.seed - - config.include Faraday::HelperMethods -end - -# Extends RSpec DocumentationFormatter to hide skipped tests. -module FormatterOverrides - def example_pending(_arg); end - - def dump_pending(_arg); end - - RSpec::Core::Formatters::DocumentationFormatter.prepend self -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/disabling_stub.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/disabling_stub.rb deleted file mode 100644 index 3df2f21..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/disabling_stub.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -# Allows to disable WebMock stubs -module DisablingStub - def disable - @disabled = true - end - - def disabled? - @disabled - end - - WebMock::RequestStub.prepend self -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/fake_safe_buffer.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/fake_safe_buffer.rb deleted file mode 100644 index 69afd6e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/fake_safe_buffer.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -# emulates ActiveSupport::SafeBuffer#gsub -FakeSafeBuffer = Struct.new(:string) do - def to_s - self - end - - def gsub(regex) - string.gsub(regex) do - match, = Regexp.last_match(0), '' =~ /a/ # rubocop:disable Performance/StringInclude - yield(match) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/helper_methods.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/helper_methods.rb deleted file mode 100644 index 0f5d4f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/helper_methods.rb +++ /dev/null @@ -1,96 +0,0 @@ -# frozen_string_literal: true - -module Faraday - module HelperMethods - def self.included(base) - base.extend ClassMethods - end - - module ClassMethods - def features(*features) - @features = features - end - - def on_feature(name) - yield if block_given? && feature?(name) - end - - def feature?(name) - if @features.nil? - superclass.feature?(name) if superclass.respond_to?(:feature?) - elsif @features.include?(name) - true - end - end - - def method_with_body?(method) - METHODS_WITH_BODY.include?(method.to_s) - end - end - - def ssl_mode? - ENV['SSL'] == 'yes' - end - - def normalize(url) - Faraday::Utils::URI(url) - end - - def with_default_uri_parser(parser) - old_parser = Faraday::Utils.default_uri_parser - begin - Faraday::Utils.default_uri_parser = parser - yield - ensure - Faraday::Utils.default_uri_parser = old_parser - end - end - - def with_env(new_env) - old_env = {} - - new_env.each do |key, value| - old_env[key] = ENV.fetch(key, false) - ENV[key] = value - end - - begin - yield - ensure - old_env.each do |key, value| - value == false ? ENV.delete(key) : ENV[key] = value - end - end - end - - def with_env_proxy_disabled - Faraday.ignore_env_proxy = true - - begin - yield - ensure - Faraday.ignore_env_proxy = false - end - end - - def capture_warnings - old = $stderr - $stderr = StringIO.new - begin - yield - $stderr.string - ensure - $stderr = old - end - end - - def method_with_body?(method) - self.class.method_with_body?(method) - end - - def big_string - kb = 1024 - (32..126).map(&:chr).cycle.take(50 * kb).join - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/adapter.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/adapter.rb deleted file mode 100644 index 6256908..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/adapter.rb +++ /dev/null @@ -1,105 +0,0 @@ -# frozen_string_literal: true - -shared_examples 'an adapter' do |**options| - before { skip } if options[:skip] - - context 'with SSL enabled' do - before { ENV['SSL'] = 'yes' } - include_examples 'adapter examples', options - end - - context 'with SSL disabled' do - before { ENV['SSL'] = 'no' } - include_examples 'adapter examples', options - end -end - -shared_examples 'adapter examples' do |**options| - include Faraday::StreamingResponseChecker - - let(:adapter) { described_class.name.split('::').last } - - let(:conn_options) { { headers: { 'X-Faraday-Adapter' => adapter } }.merge(options[:conn_options] || {}) } - - let(:adapter_options) do - return [] unless options[:adapter_options] - - if options[:adapter_options].is_a?(Array) - options[:adapter_options] - else - [options[:adapter_options]] - end - end - - let(:protocol) { ssl_mode? ? 'https' : 'http' } - let(:remote) { "#{protocol}://example.com" } - let(:stub_remote) { remote } - - let(:conn) do - conn_options[:ssl] ||= {} - conn_options[:ssl][:ca_file] ||= ENV.fetch('SSL_FILE', nil) - conn_options[:ssl][:verify_hostname] ||= ENV['SSL_VERIFY_HOSTNAME'] == 'yes' - - Faraday.new(remote, conn_options) do |conn| - conn.request :url_encoded - conn.response :raise_error - conn.adapter described_class, *adapter_options - end - end - - let!(:request_stub) { stub_request(http_method, stub_remote) } - - after do - expect(request_stub).to have_been_requested unless request_stub.disabled? - end - - describe '#delete' do - let(:http_method) { :delete } - - it_behaves_like 'a request method', :delete - end - - describe '#get' do - let(:http_method) { :get } - - it_behaves_like 'a request method', :get - end - - describe '#head' do - let(:http_method) { :head } - - it_behaves_like 'a request method', :head - end - - describe '#options' do - let(:http_method) { :options } - - it_behaves_like 'a request method', :options - end - - describe '#patch' do - let(:http_method) { :patch } - - it_behaves_like 'a request method', :patch - end - - describe '#post' do - let(:http_method) { :post } - - it_behaves_like 'a request method', :post - end - - describe '#put' do - let(:http_method) { :put } - - it_behaves_like 'a request method', :put - end - - on_feature :trace_method do - describe '#trace' do - let(:http_method) { :trace } - - it_behaves_like 'a request method', :trace - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/params_encoder.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/params_encoder.rb deleted file mode 100644 index 38c8567..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/params_encoder.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -shared_examples 'a params encoder' do - it 'escapes safe buffer' do - monies = FakeSafeBuffer.new('$32,000.00') - expect(subject.encode('a' => monies)).to eq('a=%2432%2C000.00') - end - - it 'raises type error for empty string' do - expect { subject.encode('') }.to raise_error(TypeError) do |error| - expect(error.message).to eq("Can't convert String into Hash.") - end - end - - it 'encodes nil' do - expect(subject.encode('a' => nil)).to eq('a') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/request_method.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/request_method.rb deleted file mode 100644 index afa3376..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/shared_examples/request_method.rb +++ /dev/null @@ -1,263 +0,0 @@ -# frozen_string_literal: true - -shared_examples 'proxy examples' do - it 'handles requests with proxy' do - res = conn.public_send(http_method, '/') - - expect(res.status).to eq(200) - end - - it 'handles proxy failures' do - request_stub.to_return(status: 407) - - expect { conn.public_send(http_method, '/') }.to raise_error(Faraday::ProxyAuthError) - end -end - -shared_examples 'a request method' do |http_method| - let(:query_or_body) { method_with_body?(http_method) ? :body : :query } - let(:response) { conn.public_send(http_method, '/') } - - unless http_method == :head && feature?(:skip_response_body_on_head) - it 'retrieves the response body' do - res_body = 'test' - request_stub.to_return(body: res_body) - expect(conn.public_send(http_method, '/').body).to eq(res_body) - end - end - - it 'handles headers with multiple values' do - request_stub.to_return(headers: { 'Set-Cookie' => 'name=value' }) - expect(response.headers['set-cookie']).to eq('name=value') - end - - it 'retrieves the response headers' do - request_stub.to_return(headers: { 'Content-Type' => 'text/plain' }) - expect(response.headers['Content-Type']).to match(%r{text/plain}) - expect(response.headers['content-type']).to match(%r{text/plain}) - end - - it 'sends user agent' do - request_stub.with(headers: { 'User-Agent' => 'Agent Faraday' }) - conn.public_send(http_method, '/', nil, user_agent: 'Agent Faraday') - end - - it 'represents empty body response as blank string' do - expect(response.body).to eq('') - end - - it 'handles connection error' do - request_stub.disable - expect { conn.public_send(http_method, 'http://localhost:4') }.to raise_error(Faraday::ConnectionFailed) - end - - on_feature :local_socket_binding do - it 'binds local socket' do - stub_request(http_method, 'http://example.com') - - host = '1.2.3.4' - port = 1234 - conn_options[:request] = { bind: { host: host, port: port } } - - conn.public_send(http_method, '/') - - expect(conn.options[:bind][:host]).to eq(host) - expect(conn.options[:bind][:port]).to eq(port) - end - end - - # context 'when wrong ssl certificate is provided' do - # let(:ca_file_path) { 'tmp/faraday-different-ca-cert.crt' } - # before { conn_options.merge!(ssl: { ca_file: ca_file_path }) } - # - # it do - # expect { conn.public_send(http_method, '/') }.to raise_error(Faraday::SSLError) # do |ex| - # expect(ex.message).to include?('certificate') - # end - # end - # end - - on_feature :request_body_on_query_methods do - it 'sends request body' do - request_stub.with({ body: 'test' }) - res = if query_or_body == :body - conn.public_send(http_method, '/', 'test') - else - conn.public_send(http_method, '/') do |req| - req.body = 'test' - end - end - expect(res.env.request_body).to eq('test') - end - end - - it 'sends url encoded parameters' do - payload = { name: 'zack' } - request_stub.with({ query_or_body => payload }) - res = conn.public_send(http_method, '/', payload) - if query_or_body == :query - expect(res.env.request_body).to be_nil - else - expect(res.env.request_body).to eq('name=zack') - end - end - - it 'sends url encoded nested parameters' do - payload = { name: { first: 'zack' } } - request_stub.with({ query_or_body => payload }) - conn.public_send(http_method, '/', payload) - end - - # TODO: This needs reimplementation: see https://github.com/lostisland/faraday/issues/718 - # Should raise Faraday::TimeoutError - it 'supports timeout option' do - conn_options[:request] = { timeout: 1 } - request_stub.to_timeout - exc = adapter == 'NetHttp' ? Faraday::ConnectionFailed : Faraday::TimeoutError - expect { conn.public_send(http_method, '/') }.to raise_error(exc) - end - - # TODO: This needs reimplementation: see https://github.com/lostisland/faraday/issues/718 - # Should raise Faraday::ConnectionFailed - it 'supports open_timeout option' do - conn_options[:request] = { open_timeout: 1 } - request_stub.to_timeout - exc = adapter == 'NetHttp' ? Faraday::ConnectionFailed : Faraday::TimeoutError - expect { conn.public_send(http_method, '/') }.to raise_error(exc) - end - - on_feature :reason_phrase_parse do - it 'parses the reason phrase' do - request_stub.to_return(status: [200, 'OK']) - expect(response.reason_phrase).to eq('OK') - end - end - - on_feature :compression do - # Accept-Encoding header not sent for HEAD requests as body is not expected in the response. - unless http_method == :head - it 'handles gzip compression' do - request_stub.with(headers: { 'Accept-Encoding' => /\bgzip\b/ }) - conn.public_send(http_method, '/') - end - - it 'handles deflate compression' do - request_stub.with(headers: { 'Accept-Encoding' => /\bdeflate\b/ }) - conn.public_send(http_method, '/') - end - end - end - - on_feature :streaming do - describe 'streaming' do - let(:streamed) { [] } - - context 'when response is empty' do - it 'handles streaming' do - env = nil - conn.public_send(http_method, '/') do |req| - req.options.on_data = proc do |chunk, size, block_env| - streamed << [chunk, size] - env ||= block_env - end - end - - expect(streamed).to eq([['', 0]]) - # TODO: enable this after updating all existing adapters to the new streaming API - # expect(env).to be_a(Faraday::Env) - # expect(env.status).to eq(200) - end - end - - context 'when response contains big data' do - before { request_stub.to_return(body: big_string) } - - it 'handles streaming' do - env = nil - response = conn.public_send(http_method, '/') do |req| - req.options.on_data = proc do |chunk, size, block_env| - streamed << [chunk, size] - env ||= block_env - end - end - - expect(response.body).to eq('') - check_streaming_response(streamed, chunk_size: 16 * 1024) - # TODO: enable this after updating all existing adapters to the new streaming API - # expect(env).to be_a(Faraday::Env) - # expect(env.status).to eq(200) - end - end - end - end - - on_feature :parallel do - context 'with parallel setup' do - before do - @resp1 = nil - @resp2 = nil - @payload1 = { a: '1' } - @payload2 = { b: '2' } - - request_stub - .with({ query_or_body => @payload1 }) - .to_return(body: @payload1.to_json) - - stub_request(http_method, remote) - .with({ query_or_body => @payload2 }) - .to_return(body: @payload2.to_json) - - conn.in_parallel do - @resp1 = conn.public_send(http_method, '/', @payload1) - @resp2 = conn.public_send(http_method, '/', @payload2) - - expect(conn.in_parallel?).to be_truthy - expect(@resp1.body).to be_nil - expect(@resp2.body).to be_nil - end - - expect(conn.in_parallel?).to be_falsey - end - - it 'handles parallel requests status' do - expect(@resp1&.status).to eq(200) - expect(@resp2&.status).to eq(200) - end - - unless http_method == :head && feature?(:skip_response_body_on_head) - it 'handles parallel requests body' do - expect(@resp1&.body).to eq(@payload1.to_json) - expect(@resp2&.body).to eq(@payload2.to_json) - end - end - end - end - - context 'when a proxy is provided as option' do - before do - conn_options[:proxy] = 'http://env-proxy.com:80' - end - - include_examples 'proxy examples' - end - - context 'when http_proxy env variable is set' do - let(:proxy_url) { 'http://env-proxy.com:80' } - - around do |example| - with_env 'http_proxy' => proxy_url do - example.run - end - end - - include_examples 'proxy examples' - - context 'when the env proxy is ignored' do - around do |example| - with_env_proxy_disabled(&example) - end - - include_examples 'proxy examples' - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/streaming_response_checker.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/streaming_response_checker.rb deleted file mode 100644 index 8ef2599..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-2.7.11/spec/support/streaming_response_checker.rb +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: true - -module Faraday - module StreamingResponseChecker - def check_streaming_response(streamed, options = {}) - opts = { - prefix: '', - streaming?: true - }.merge(options) - - expected_response = opts[:prefix] + big_string - - chunks, sizes = streamed.transpose - - # Check that the total size of the chunks (via the last size returned) - # is the same size as the expected_response - expect(sizes.last).to eq(expected_response.bytesize) - - start_index = 0 - expected_chunks = [] - chunks.each do |actual_chunk| - expected_chunk = expected_response[start_index..((start_index + actual_chunk.bytesize) - 1)] - expected_chunks << expected_chunk - start_index += expected_chunk.bytesize - end - - # it's easier to read a smaller portion, so we check that first - expect(expected_chunks[0][0..255]).to eq(chunks[0][0..255]) - - [expected_chunks, chunks].transpose.each do |expected, actual| - expect(actual).to eq(expected) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-net_http-3.0.2/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-net_http-3.0.2/LICENSE.md deleted file mode 100644 index b7aabc5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-net_http-3.0.2/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2020 Jan van der Pas - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-net_http-3.0.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-net_http-3.0.2/README.md deleted file mode 100644 index 6d510f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/faraday-net_http-3.0.2/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# Faraday Net::HTTP adapter - -This gem is a [Faraday][faraday] adapter for the [Net::HTTP][net-http] library. Faraday is an HTTP client library that provides a common interface over many adapters. Every adapter is defined into it's own gem. This gem defines the adapter for `Net::HTTP` the HTTP library that's included into the standard library of Ruby. - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'faraday-net_http' -``` - -And then execute: - - $ bundle install - -Or install it yourself as: - - $ gem install faraday-net_http - -## Usage - -```ruby -conn = Faraday.new(...) do |f| - f.adapter :net_http do |http| - # yields Net::HTTP - http.verify_callback = lambda do |preverify, cert_store| - # do something here... - end - end -end -``` - -## Development - -After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. - -To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](rubygems). - -## Contributing - -Bug reports and pull requests are welcome on [GitHub][repo]. - -## License - -The gem is available as open source under the terms of the [license][license]. - -## Code of Conduct - -Everyone interacting in the Faraday Net::HTTP adapter project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct][code-of-conduct]. - -[faraday]: https://github.com/lostisland/faraday -[net-http]: https://ruby-doc.org/stdlib-2.7.0/libdoc/net/http/rdoc/Net/HTTP.html -[rubygems]: https://rubygems.org -[repo]: https://github.com/lostisland/faraday-net_http -[license]: https://github.com/lostisland/faraday-net_http/blob/main/LICENSE.md -[code-of-conduct]: https://github.com/lostisland/faraday-net_http/blob/main/CODE_OF_CONDUCT.md diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/CHANGELOG.md deleted file mode 100644 index 3b3eb50..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/CHANGELOG.md +++ /dev/null @@ -1,414 +0,0 @@ -1.16.3 / 2023-10-04 -------------------- - -Fixed: -* Fix gcc error when building on CentOS 7. #1052 -* Avoid trying to store new DataConverter type in frozen TypeDefs hash. #1057 - - -1.16.2 / 2023-09-25 -------------------- - -Fixed: -* Handle null pointer crash after fork. #1051 - - -1.16.1 / 2023-09-24 -------------------- - -Fixed: -* Fix compiling the builtin libffi. #1049 - - -1.16.0 / 2023-09-23 -------------------- - -Fixed: -* Fix an issue with signed bitmasks when using flags on the most significant bit. #949 -* Fix FFI::Pointer#initialize using NUM2LL instead of NUM2ULL. -* Fix FFI::Type#inspect to properly display the constant name. #1002 -* Use libffi closure allocations on hppa-Linux. #1017 - Previously they would segfault. -* Fix class name of Symbol#inspect. -* Fix MSVC support of libtest. #1028 -* Fix attach_function of functions ending in ? or ! #971 - -Added: -* Convert all C-based classes to TypedData and use write barriers. #994, #995, #996, #997, #998, #999, #1000, #1001, #1003, #1004, #1005, #1006, #1007, #1008, #1009, #1010, #1011, #1012 - This results in less pressure on the garbage collector, since the objects can be promoted to the old generation, which means they only get marked on major GC. -* Implement `ObjectSpace.memsize_of()` of all C-based classes. -* Make FFI Ractor compatible. #1023 - Modules extended per `extend FFI::Library` need to be frozen in order to be used by non-main Ractors. - This can be done by calling `freeze` below of all C interface definitions. - * In a Ractor it's possible to: - * load DLLs and call its functions, access its global variables - * use builtin typedefs - * use and modify ractor local typedefs - * define callbacks - * receive async callbacks from non-ruby threads - * use frozen FFI::Library based modules with all attributes (enums, structs, typedefs, functions, callbacks) - * invoke frozen functions and callbacks defined in the main Ractor - * use FFI::Struct definitions from the main Ractor - * In a Ractor it's impossible to: - * create new FFI::Library based modules - * create new FFI::Struct definitions - * use custom global typedefs - * use non-frozen FFI::Library based modules -* Allow type retrieval of attached functions+variables. #1023 -* Make FFI classes `GC.compact` friendly. #1021 -* Update libffi and disable custom trampoline when using libffi closure allocation. #1020 - This is because libffi changed the way how closures are allocated to static trampolines. -* Add types.conf for loongarch64-linux. #943 -* Add types.conf for sw_64-linux (Shen Wei 64-bit, based on Alpha). #1018 -* Add support for aarch64-windows. #1035 -* Windows: Update LoadLibrary error message to include error code. #1026 -* Allow private release method for FFI::ManagedStruct and FFI::AutoPointer. #1029 -* Add support for passing ABI version to FFI.map_library_name. #963 - This adds the new class FFI::LibraryPath . -* Add support for ruby-3.2 to windows binary gem. #1047 -* Enable debug symbols for `rake compile` builds to ease debugging. #1048 - -Removed: -* Remove allocator of AbstractMemory. #1013 - This disables AbstractMemory.new, which has no practical use. -* Remove unused FFI::SizeTypes. #1022 - - -1.15.5 / 2022-01-10 -------------------- - -Fixed: -* Fix long double argument or return values on 32bit i686. #849 -* FFI::ConstGenerator: avoid usage of the same binary file simultaneously. #929 - -Added: -* Add Windows fat binary gem for Ruby-3.1 - -Removed: -* Remove Windows fat binary gem for Ruby < 2.4 - - -1.15.4 / 2021-09-01 -------------------- - -Fixed: -* Fix build for uClibc. #913 -* Correct module lookup when including `ffi-module` gem. #912 - -Changed: -* Use ruby code of the ffi gem in JRuby-9.2.20+. #915 - - -1.15.3 / 2021-06-16 -------------------- - -Fixed: -* Fix temporary packaging issue with libffi. #904 - - -1.15.2 / 2021-06-16 -------------------- - -Added: -* Add support for Windows MINGW-UCRT build. #903 -* Add `/opt/homebrew/lib/` to fallback search paths to improve homebrew support. #880 #882 - -Changed: -* Regenerate `types.conf` for FreeBSD12 aarch64. #902 - - -1.15.1 / 2021-05-22 -------------------- - -Fixed: -* Append -pthread to linker options. #893 -* Use arm or aarch64 to identify Apple ARM CPU arch. #899 -* Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`. #897 - - -1.15.0 / 2021-03-05 -------------------- - -Fixed: -* Fix MSVC build -* Fix async callbacks in conjunction with fork(). #884 - -Added: -* Allow to pass callbacks in varargs. #885 -* Name the threads for FFI callback dispatcher and async thread calls for easier debugging. #883 - The name can be retrieved by Thread.name and is shown by Thread.list.inspect etc. - Even gdb shows the thread name on supported operating systems. -* Add types.conf for powerpc64le-linux -* Add types.conf for riscv64-linux -* More release automation of ffi gems - -Changed: -* Switch from rubygems-tasks to bundler/gem_helper - -Removed: -* Remove unused VariadicInvoker#init - - -1.14.2 / 2020-12-21 -------------------- - -Fixed: -* Fix builtin libffi on newer Ubuntu caused by an outdated Makefile.in . #863 - - -1.14.1 / 2020-12-19 -------------------- - -Changed: -* Revert changes to FFI::Pointer#write_string made in ffi-1.14.0. - It breaks compatibilty in a way that can cause hard to find errors. #857 - - -1.14.0 / 2020-12-18 -------------------- - -Added: -* Add types.conf for x86_64-msys, x86_64-haiku, aarch64-openbsd and aarch64-darwin (alias arm64-darwin) -* Add method AbstractMemory#size_limit? . #829 -* Add new extconf option --enable-libffi-alloc which is enabled per default on Apple M1 (arm64-darwin). - -Changed: -* Do NULL pointer check only when array length > 0 . #305 -* Raise an error on an unknown order argument. #830 -* Change FFI::Pointer#write_string to terminate with a NUL byte like other string methods. #805 -* Update bundled libffi to latest master. - -Removed: -* Remove win32/stdint.h and stdbool.h because of copyright issue. #693 - -Fixed: -* Fix possible UTF-8 load error in loader script interpretation. #792 -* Fix segfault on non-array argument to #write_array_of_* -* Fix memory leak in MethodHandle . #815 -* Fix possible segfault in combination with fiddle or other libffi using gems . #835 -* Fix possibility to use ffi ruby gem with JRuby-9.3 . #763 -* Fix a GC issue, when a callback Proc is used on more than 2 callback signatures. #820 - - -1.13.1 / 2020-06-09 -------------------- - -Changed: -* Revert use of `ucrtbase.dll` as default C library on Windows-MINGW. - `ucrtbase.dll` is still used on MSWIN target. #790 -* Test for `ffi_prep_closure_loc()` to make sure we can use this function. - This fixes incorrect use of system libffi on MacOS Mojave (10.14). #787 -* Update types.conf on x86_64-dragonflybsd - - -1.13.0 / 2020-06-01 -------------------- - -Added: -* Add TruffleRuby support. Almost all specs are running on TruffleRuby and succeed. #768 -* Add ruby source files to the java gem. This allows to ship the Ruby library code per platform java gem and add it as a default gem to JRuby. #763 -* Add FFI::Platform::LONG_DOUBLE_SIZE -* Add bounds checks for writing to an inline char[] . #756 -* Add long double as callback return value. #771 -* Update type definitions and add types from stdint.h and stddef.h on i386-windows, x86_64-windows, x86_64-darwin, x86_64-linux, arm-linux, powerpc-linux. #749 -* Add new type definitions for powerpc-openbsd and sparcv9-openbsd. #775, #778 - -Changed: -* Raise required ruby version to >= 2.3. -* Lots of cleanups and improvements in library, specs and benchmarks. -* Fix a lot of compiler warnings at the C-extension -* Fix several install issues on MacOS: - * Look for libffi in SDK paths, since recent versions of macOS removed it from `/usr/include` . #757 - * Fix error `ld: library not found for -lgcc_s.10.4` - * Don't built for i386 architecture as it is deprecated -* Several fixes for MSVC build on Windows. #779 -* Use `ucrtbase.dll` as default C library on Windows instead of old `msvcrt.dll`. #779 -* Update builtin libffi to fix a Powerpc issue with parameters of type long -* Allow unmodified sourcing of (the ruby code of) this gem in JRuby and TruffleRuby as a default gem. #747 -* Improve check to detect if a module has a #find_type method suitable for FFI. This fixes compatibility with stdlib `mkmf` . #776 - -Removed: -* Reject callback with `:string` return type at definition, because it didn't work so far and is not save to use. #751, #782 - - -1.12.2 / 2020-02-01 -------------------- - -* Fix possible segfault at FFI::Struct#[] and []= after GC.compact . #742 - - -1.12.1 / 2020-01-14 -------------------- - -Added: -* Add binary gem support for ruby-2.7 on Windows - - -1.12.0 / 2020-01-14 -------------------- - -Added: -* FFI::VERSION is defined as part of `require 'ffi'` now. - It is no longer necessary to `require 'ffi/version'` . - -Changed: -* Update libffi to latest master. - -Deprecated: -* Overwriting struct layouts is now warned and will be disallowed in ffi-2.0. #734, #735 - - -1.11.3 / 2019-11-25 -------------------- - -Removed: -* Remove support for tainted objects which cause deprecation warnings in ruby-2.7. #730 - - -1.11.2 / 2019-11-11 -------------------- - -Added: -* Add DragonFlyBSD as a platform. #724 - -Changed: -* Sort all types.conf files, so that files and changes are easier to compare. -* Regenerated type conf for freebsd12 and x86_64-linux targets. #722 -* Remove MACOSX_DEPLOYMENT_TARGET that was targeting very old version 10.4. #647 -* Fix library name mangling for non glibc Linux/UNIX. #727 -* Fix compiler warnings raised by ruby-2.7 -* Update libffi to latest master. - - -1.11.1 / 2019-05-20 -------------------- - -Changed: -* Raise required ruby version to >=2.0. #699, #700 -* Fix a possible linker error on ruby < 2.3 on Linux. - - -1.11.0 / 2019-05-17 -------------------- -This version was yanked on 2019-05-20 to fix an install issue on ruby-1.9.3. #700 - -Added: -* Add ability to disable or force use of system libffi. #669 - Use like `gem inst ffi -- --enable-system-libffi` . -* Add ability to call FFI callbacks from outside of FFI call frame. #584 -* Add proper documentation to FFI::Generator and ::Task -* Add gemspec metadata. #696, #698 - -Changed: -* Fix stdcall on Win32. #649, #669 -* Fix load paths for FFI::Generator::Task -* Fix FFI::Pointer#read_string(0) to return a binary String. #692 -* Fix benchmark suite so that it runs on ruby-2.x -* Move FFI::Platform::CPU from C to Ruby. #663 -* Move FFI::StructByReference to Ruby. #681 -* Move FFI::DataConverter to Ruby (#661) -* Various cleanups and improvements of specs and benchmarks - -Removed: -* Remove ruby-1.8 and 1.9 compatibility code. #683 -* Remove unused spec files. #684 - - -1.10.0 / 2019-01-06 -------------------- - -Added: -* Add /opt/local/lib/ to ffi's fallback library search path. #638 -* Add binary gem support for ruby-2.6 on Windows -* Add FreeBSD on AArch64 and ARM support. #644 -* Add FFI::LastError.winapi_error on Windows native or Cygwin. #633 - -Changed: -* Update to rake-compiler-dock-0.7.0 -* Use 64-bit inodes on FreeBSD >= 12. #644 -* Switch time_t and suseconds_t types to long on FreeBSD. #627 -* Make register_t long_long on 64-bit FreeBSD. #644 -* Fix Pointer#write_array_of_type #637 - -Removed: -* Drop binary gem support for ruby-2.0 and 2.1 on Windows - - -1.9.25 / 2018-06-03 -------------------- - -Changed: -* Revert closures via libffi. - This re-adds ClosurePool and fixes compat with SELinux enabled systems. #621 - - -1.9.24 / 2018-06-02 -------------------- - -Security Note: - -This update addresses vulnerability CVE-2018-1000201: DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String. Found by Matthew Bush. - -Added: -* Added a CHANGELOG file -* Add mips64(eb) support, and mips r6 support. (#601) - -Changed: -* Update libffi to latest changes on master. -* Don't search in hardcoded /usr paths on Windows. -* Don't treat Symbol args different to Strings in ffi_lib. -* Make sure size_t is defined in Thread.c. Fixes #609 - - -1.9.23 / 2018-02-25 -------------------- - -Changed: -* Fix unnecessary rebuild of configure in darwin multi arch. Fixes #605 - - -1.9.22 / 2018-02-22 -------------------- - -Changed: -* Update libffi to latest changes on master. -* Update detection of system libffi to match new requirements. Fixes #617 -* Prefer bundled libffi over system libffi on Mac OS. -* Do closures via libffi. This removes ClosurePool and fixes compat with PaX. #540 -* Use a more deterministic gem packaging. -* Fix unnecessary update of autoconf files at gem install. - - -1.9.21 / 2018-02-06 -------------------- - -Added: -* Ruby-2.5 support by Windows binary gems. Fixes #598 -* Add missing win64 types. -* Added support for Bitmask. (#573) -* Add support for MSYS2 (#572) and Sparc64 Linux. (#574) - -Changed: -* Fix read_string to not throw an error on length 0. -* Don't use absolute paths for sh and env. Fixes usage on Adroid #528 -* Use Ruby implementation for `which` for better compat with Windows. Fixes #315 -* Fix compatibility with PPC64LE platform. (#577) -* Normalize sparc64 to sparcv9. (#575) - -Removed: -* Drop Ruby 1.8.7 support (#480) - - -1.9.18 / 2017-03-03 -------------------- - -Added: -* Add compatibility with Ruby-2.4. - -Changed: -* Add missing shlwapi.h include to fix Windows build. -* Avoid undefined behaviour of LoadLibrary() on Windows. #553 - - -1.9.17 / 2017-01-13 -------------------- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/COPYING b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/COPYING deleted file mode 100644 index 7622318..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/COPYING +++ /dev/null @@ -1,49 +0,0 @@ -Copyright (c) 2008-2013, Ruby FFI project contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Ruby FFI project nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -libffi, used by this project, is licensed under the MIT license: - -libffi - Copyright (c) 1996-2011 Anthony Green, Red Hat, Inc and others. -See source files for details. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/Gemfile deleted file mode 100644 index 1c8d815..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/Gemfile +++ /dev/null @@ -1,14 +0,0 @@ -source 'https://rubygems.org' - -group :development do - gem 'rake', '~> 13.0' - gem 'rake-compiler', '~> 1.1' - gem 'rake-compiler-dock', '~> 1.0' - gem 'rspec', '~> 3.0' - gem 'bundler', '>= 1.16', '< 3' -end - -group :doc do - gem 'kramdown' - gem 'yard', '~> 0.9' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/LICENSE deleted file mode 100644 index 20185fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2008-2016, Ruby FFI project contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Ruby FFI project nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/LICENSE.SPECS b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/LICENSE.SPECS deleted file mode 100644 index 5c9ffce..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/LICENSE.SPECS +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2008-2012 Ruby-FFI contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/README.md deleted file mode 100644 index 698e6ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# Ruby-FFI https://github.com/ffi/ffi/wiki - -## Description - -Ruby-FFI is a gem for programmatically loading dynamically-linked native -libraries, binding functions within them, and calling those functions -from Ruby code. Moreover, a Ruby-FFI extension works without changes -on CRuby (MRI), JRuby, Rubinius and TruffleRuby. [Discover why you should write your next extension -using Ruby-FFI](https://github.com/ffi/ffi/wiki/why-use-ffi). - -## Features - -* Intuitive DSL -* Supports all C native types -* C structs (also nested), enums and global variables -* Callbacks from C to Ruby -* Automatic garbage collection of native memory -* Usable in Ractor: [How-to-use-FFI-in-Ruby-Ractors](https://github.com/ffi/ffi/wiki/Ractors) - -## Synopsis - -```ruby -require 'ffi' - -module MyLib - extend FFI::Library - ffi_lib 'c' - attach_function :puts, [ :string ], :int -end - -MyLib.puts 'Hello, World using libc!' -``` - -For less minimalistic and more examples you may look at: - -* the `samples/` folder -* the examples on the [wiki](https://github.com/ffi/ffi/wiki) -* the projects using FFI listed on the wiki: https://github.com/ffi/ffi/wiki/projects-using-ffi - -## Requirements - -When installing the gem on CRuby (MRI), you will need: -* A C compiler (e.g., Xcode on macOS, `gcc` or `clang` on everything else) -Optionally (speeds up installation): -* The `libffi` library and development headers - this is commonly in the `libffi-dev` or `libffi-devel` packages - -The ffi gem comes with a builtin libffi version, which is used, when the system libffi library is not available or too old. -Use of the system libffi can be enforced by: -``` -gem install ffi -- --enable-system-libffi # to install the gem manually -bundle config build.ffi --enable-system-libffi # for bundle install -``` -or prevented by `--disable-system-libffi`. - -On Linux systems running with [PaX](https://en.wikipedia.org/wiki/PaX) (Gentoo, Alpine, etc.), FFI may trigger `mprotect` errors. You may need to disable [mprotect](https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Restrict_mprotect.28.29) for ruby (`paxctl -m [/path/to/ruby]`) for the time being until a solution is found. - -On FreeBSD systems pkgconf must be installed for the gem to be able to compile using clang. Install either via packages `pkg install pkgconf` or from ports via `devel/pkgconf`. - -On JRuby and TruffleRuby, there are no requirements to install the FFI gem, and `require 'ffi'` works even without installing the gem (i.e., the gem is preinstalled on these implementations). - -## Installation - -From rubygems: - - [sudo] gem install ffi - -From a Gemfile using git or GitHub - - gem 'ffi', github: 'ffi/ffi', submodules: true - -or from the git repository on github: - - git clone git://github.com/ffi/ffi.git - cd ffi - git submodule update --init --recursive - bundle install - rake install - -### Install options: - -* `--enable-system-libffi` : Force usage of system libffi -* `--disable-system-libffi` : Force usage of builtin libffi -* `--enable-libffi-alloc` : Force closure allocation by libffi -* `--disable-libffi-alloc` : Force closure allocation by builtin method - -## License - -The ffi library is covered by the BSD license, also see the LICENSE file. -The specs are covered by the same license as [ruby/spec](https://github.com/ruby/spec), the MIT license. - -## Credits - -The following people have submitted code, bug reports, or otherwise contributed to the success of this project: - -* Alban Peignier -* Aman Gupta -* Andrea Fazzi -* Andreas Niederl -* Andrew Cholakian -* Antonio Terceiro -* Benoit Daloze -* Brian Candler -* Brian D. Burns -* Bryan Kearney -* Charlie Savage -* Chikanaga Tomoyuki -* Hongli Lai -* Ian MacLeod -* Jake Douglas -* Jean-Dominique Morani -* Jeremy Hinegardner -* Jesús García Sáez -* Joe Khoobyar -* Jurij Smakov -* KISHIMOTO, Makoto -* Kim Burgestrand -* Lars Kanis -* Luc Heinrich -* Luis Lavena -* Matijs van Zuijlen -* Matthew King -* Mike Dalessio -* NARUSE, Yui -* Park Heesob -* Shin Yee -* Stephen Bannasch -* Suraj N. Kurapati -* Sylvain Daubert -* Victor Costan -* beoran@gmail.com -* ctide -* emboss -* hobophobe -* meh -* postmodern -* wycats@gmail.com -* Wayne Meissner diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/Rakefile deleted file mode 100644 index 0e31c5b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/Rakefile +++ /dev/null @@ -1,194 +0,0 @@ -require 'rbconfig' -require 'date' -require 'fileutils' -require 'yaml' -require 'rspec/core/rake_task' -require 'rubygems/package_task' -require 'rake/extensiontask' -require_relative "lib/ffi/version" -require_relative "rakelib/ffi_gem_helper" - -BUILD_DIR = "build" -BUILD_EXT_DIR = File.join(BUILD_DIR, "#{RbConfig::CONFIG['arch']}", 'ffi_c', RUBY_VERSION) - -gem_spec = Bundler.load_gemspec('ffi.gemspec') - -RSpec::Core::RakeTask.new(:spec => :compile) do |config| - config.rspec_opts = YAML.load_file 'spec/spec.opts' -end - -desc "Build all packages" -task :package => %w[ gem:java gem:native ] - -CLOBBER.include 'lib/ffi/types.conf' -CLOBBER.include 'pkg' -CLOBBER.include 'log' - -CLEAN.include 'build' -CLEAN.include 'conftest.dSYM' -CLEAN.include 'spec/ffi/fixtures/libtest.{dylib,so,dll}' -CLEAN.include 'spec/ffi/fixtures/*.o' -CLEAN.include 'spec/ffi/embed-test/ext/*.{o,def}' -CLEAN.include 'spec/ffi/embed-test/ext/Makefile' -CLEAN.include "pkg/ffi-*-*/" -CLEAN.include 'lib/{2,3}.*' - -# clean all shipped files, that are not in git -CLEAN.include( - gem_spec.files - - `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0").map { |f| File.join("ext/ffi_c/libffi", f) } - - `git ls-files -z`.split("\x0") -) - -task :distclean => :clobber - -desc "Test the extension" -task :test => [ :spec ] - - -namespace :bench do - ITER = ENV['ITER'] ? ENV['ITER'].to_i : 100000 - bench_files = Dir["bench/bench_*.rb"].sort.reject { |f| f == "bench/bench_helper.rb" } - bench_files.each do |bench| - task File.basename(bench, ".rb")[6..-1] => :compile do - sh %{#{Gem.ruby} #{bench} #{ITER}} - end - end - task :all => :compile do - bench_files.each do |bench| - sh %{#{Gem.ruby} #{bench}} - end - end -end - -task 'spec:run' => :compile -task 'spec:specdoc' => :compile - -task :default => :spec - -namespace 'java' do - - java_gem_spec = gem_spec.dup.tap do |s| - s.files.reject! { |f| File.fnmatch?("ext/*", f) } - s.extensions = [] - s.platform = 'java' - end - - Gem::PackageTask.new(java_gem_spec) do |pkg| - pkg.need_zip = true - pkg.need_tar = true - pkg.package_dir = 'pkg' - end -end - -task 'gem:java' => 'java:gem' - -FfiGemHelper.install_tasks -# Register windows gems to be pushed to rubygems.org -Bundler::GemHelper.instance.cross_platforms = %w[x86-mingw32 x64-mingw-ucrt x64-mingw32] -# These platforms are not yet enabled, since there are issues on musl-based distors (alpine-linux): -# + %w[x86-linux x86_64-linux arm-linux aarch64-linux x86_64-darwin arm64-darwin] - -if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx' - require 'rake/extensiontask' - Rake::ExtensionTask.new('ffi_c', gem_spec) do |ext| - ext.name = 'ffi_c' # indicate the name of the extension. - # ext.lib_dir = BUILD_DIR # put binaries into this folder. - ext.tmp_dir = BUILD_DIR # temporary folder used during compilation. - ext.cross_compile = true # enable cross compilation (requires cross compile toolchain) - ext.cross_platform = Bundler::GemHelper.instance.cross_platforms - ext.cross_compiling do |spec| - spec.files.reject! { |path| File.fnmatch?('ext/*', path) } - end - # Enable debug info for 'rake compile' but not for 'gem install' - ext.config_options << "--enable-debug" - - end -else - task :compile do - STDERR.puts "Nothing to compile on #{RUBY_ENGINE}" - end -end - - -namespace "gem" do - task 'prepare' do - require 'rake_compiler_dock' - sh "bundle package --all" - end - - Bundler::GemHelper.instance.cross_platforms.each do |plat| - desc "Build all native binary gems in parallel" - multitask 'native' => plat - - desc "Build the native gem for #{plat}" - task plat => ['prepare', 'build'] do - RakeCompilerDock.sh <<-EOT, platform: plat - #{ "sudo apt-get update && sudo apt-get install -y libltdl-dev &&" if plat !~ /linux/ } - bundle --local && - rake native:#{plat} pkg/#{gem_spec.full_name}-#{plat}.gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=${RUBY_CC_VERSION/:2.4.0/} - EOT - end - end -end - -directory "ext/ffi_c/libffi" -file "ext/ffi_c/libffi/autogen.sh" => "ext/ffi_c/libffi" do - warn "Downloading libffi ..." - sh "git submodule update --init --recursive" -end -task :libffi => "ext/ffi_c/libffi/autogen.sh" - -LIBFFI_GIT_FILES = `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0") - -# Generate files which are in the gemspec but not in libffi's git repo by running autogen.sh -gem_spec.files.select do |f| - f =~ /ext\/ffi_c\/libffi\/(.*)/ && !LIBFFI_GIT_FILES.include?($1) -end.each do |f| - file f => "ext/ffi_c/libffi/autogen.sh" do - chdir "ext/ffi_c/libffi" do - sh "sh ./autogen.sh" - end - touch f - if gem_spec.files != Gem::Specification.load('./ffi.gemspec').files - warn "gemspec files have changed -> Please restart rake!" - exit 1 - end - end -end - -# Make sure we have all gemspec files before packaging -task :build => gem_spec.files -task :gem => :build - - -require_relative "lib/ffi/platform" -types_conf = File.expand_path(File.join(FFI::Platform::CONF_DIR, 'types.conf')) -logfile = File.join(File.dirname(__FILE__), 'types_log') - -task types_conf do |task| - require 'fileutils' - require_relative "lib/ffi/tools/types_generator" - options = {} - FileUtils.mkdir_p(File.dirname(task.name), mode: 0755 ) - File.open(task.name, File::CREAT|File::TRUNC|File::RDWR, 0644) do |f| - f.puts FFI::TypesGenerator.generate(options) - end - File.open(logfile, 'w') do |log| - log.puts(types_conf) - end -end - -desc "Create or update type information for platform #{FFI::Platform::NAME}" -task :types_conf => types_conf - -begin - require 'yard' - - namespace :doc do - YARD::Rake::YardocTask.new do |yard| - end - end -rescue LoadError - warn "[warn] YARD unavailable" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/.sitearchdir.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/.sitearchdir.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.c deleted file mode 100644 index f54252f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.c +++ /dev/null @@ -1,1128 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (C) 2009 Jake Douglas - * Copyright (C) 2008 Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#ifndef _MSC_VER -# include -#endif -#include -#include - -#include -#include - -#include "rbffi.h" -#include "compat.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "Function.h" -#include "LongDouble.h" - -#ifdef PRIsVALUE -# define RB_OBJ_CLASSNAME(obj) rb_obj_class(obj) -# define RB_OBJ_STRING(obj) (obj) -#else -# define PRIsVALUE "s" -# define RB_OBJ_CLASSNAME(obj) rb_obj_classname(obj) -# define RB_OBJ_STRING(obj) StringValueCStr(obj) -#endif - -static size_t memsize(const void *data); -static inline char* memory_address(VALUE self); -VALUE rbffi_AbstractMemoryClass = Qnil; -static VALUE NullPointerErrorClass = Qnil; -static ID id_to_ptr = 0, id_plus = 0, id_call = 0; - -const rb_data_type_t rbffi_abstract_memory_data_type = { /* extern */ - .wrap_struct_name = "FFI::AbstractMemory", - .function = { - .dmark = NULL, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = memsize, - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static size_t -memsize(const void *data) -{ - return sizeof(AbstractMemory); -} - -#define VAL(x, swap) (unlikely(((memory->flags & MEM_SWAP) != 0)) ? swap((x)) : (x)) - -#define NUM_OP(name, type, toNative, fromNative, swap) \ -static void memory_op_put_##name(AbstractMemory* memory, long off, VALUE value); \ -static void \ -memory_op_put_##name(AbstractMemory* memory, long off, VALUE value) \ -{ \ - type tmp = (type) VAL(toNative(value), swap); \ - checkWrite(memory); \ - checkBounds(memory, off, sizeof(type)); \ - memcpy(memory->address + off, &tmp, sizeof(tmp)); \ -} \ -static VALUE memory_put_##name(VALUE self, VALUE offset, VALUE value); \ -static VALUE \ -memory_put_##name(VALUE self, VALUE offset, VALUE value) \ -{ \ - AbstractMemory* memory; \ - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, memory); \ - memory_op_put_##name(memory, NUM2LONG(offset), value); \ - return self; \ -} \ -static VALUE memory_write_##name(VALUE self, VALUE value); \ -static VALUE \ -memory_write_##name(VALUE self, VALUE value) \ -{ \ - AbstractMemory* memory; \ - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, memory); \ - memory_op_put_##name(memory, 0, value); \ - return self; \ -} \ -static VALUE memory_op_get_##name(AbstractMemory* memory, long off); \ -static VALUE \ -memory_op_get_##name(AbstractMemory* memory, long off) \ -{ \ - type tmp; \ - checkRead(memory); \ - checkBounds(memory, off, sizeof(type)); \ - memcpy(&tmp, memory->address + off, sizeof(tmp)); \ - return fromNative(VAL(tmp, swap)); \ -} \ -static VALUE memory_get_##name(VALUE self, VALUE offset); \ -static VALUE \ -memory_get_##name(VALUE self, VALUE offset) \ -{ \ - AbstractMemory* memory; \ - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, memory); \ - return memory_op_get_##name(memory, NUM2LONG(offset)); \ -} \ -static VALUE memory_read_##name(VALUE self); \ -static VALUE \ -memory_read_##name(VALUE self) \ -{ \ - AbstractMemory* memory; \ - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, memory); \ - return memory_op_get_##name(memory, 0); \ -} \ -static MemoryOp memory_op_##name = { memory_op_get_##name, memory_op_put_##name }; \ -\ -static VALUE memory_put_array_of_##name(VALUE self, VALUE offset, VALUE ary); \ -static VALUE \ -memory_put_array_of_##name(VALUE self, VALUE offset, VALUE ary) \ -{ \ - long count; \ - long off = NUM2LONG(offset); \ - AbstractMemory* memory = MEMORY(self); \ - long i; \ - Check_Type(ary, T_ARRAY); \ - count = RARRAY_LEN(ary); \ - if (likely(count > 0)) checkWrite(memory); \ - checkBounds(memory, off, count * sizeof(type)); \ - for (i = 0; i < count; i++) { \ - type tmp = (type) VAL(toNative(RARRAY_AREF(ary, i)), swap); \ - memcpy(memory->address + off + (i * sizeof(type)), &tmp, sizeof(tmp)); \ - } \ - return self; \ -} \ -static VALUE memory_write_array_of_##name(VALUE self, VALUE ary); \ -static VALUE \ -memory_write_array_of_##name(VALUE self, VALUE ary) \ -{ \ - return memory_put_array_of_##name(self, INT2FIX(0), ary); \ -} \ -static VALUE memory_get_array_of_##name(VALUE self, VALUE offset, VALUE length); \ -static VALUE \ -memory_get_array_of_##name(VALUE self, VALUE offset, VALUE length) \ -{ \ - long count = NUM2LONG(length); \ - long off = NUM2LONG(offset); \ - AbstractMemory* memory = MEMORY(self); \ - VALUE retVal = rb_ary_new2(count); \ - long i; \ - if (likely(count > 0)) checkRead(memory); \ - checkBounds(memory, off, count * sizeof(type)); \ - for (i = 0; i < count; ++i) { \ - type tmp; \ - memcpy(&tmp, memory->address + off + (i * sizeof(type)), sizeof(tmp)); \ - rb_ary_push(retVal, fromNative(VAL(tmp, swap))); \ - } \ - return retVal; \ -} \ -static VALUE memory_read_array_of_##name(VALUE self, VALUE length); \ -static VALUE \ -memory_read_array_of_##name(VALUE self, VALUE length) \ -{ \ - return memory_get_array_of_##name(self, INT2FIX(0), length); \ -} - -#define NOSWAP(x) (x) -#define bswap16(x) (((x) >> 8) & 0xff) | (((x) << 8) & 0xff00); -static inline int16_t -SWAPS16(int16_t x) -{ - return bswap16(x); -} - -static inline uint16_t -SWAPU16(uint16_t x) -{ - return bswap16(x); -} - -#if !defined(__GNUC__) || (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) -#define bswap32(x) \ - (((x << 24) & 0xff000000) | \ - ((x << 8) & 0x00ff0000) | \ - ((x >> 8) & 0x0000ff00) | \ - ((x >> 24) & 0x000000ff)) - -#define bswap64(x) \ - (((x << 56) & 0xff00000000000000ULL) | \ - ((x << 40) & 0x00ff000000000000ULL) | \ - ((x << 24) & 0x0000ff0000000000ULL) | \ - ((x << 8) & 0x000000ff00000000ULL) | \ - ((x >> 8) & 0x00000000ff000000ULL) | \ - ((x >> 24) & 0x0000000000ff0000ULL) | \ - ((x >> 40) & 0x000000000000ff00ULL) | \ - ((x >> 56) & 0x00000000000000ffULL)) - -static inline int32_t -SWAPS32(int32_t x) -{ - return bswap32(x); -} - -static inline uint32_t -SWAPU32(uint32_t x) -{ - return bswap32(x); -} - -static inline int64_t -SWAPS64(int64_t x) -{ - return bswap64(x); -} - -static inline uint64_t -SWAPU64(uint64_t x) -{ - return bswap64(x); -} - -#else -# define SWAPS32(x) ((int32_t) __builtin_bswap32(x)) -# define SWAPU32(x) ((uint32_t) __builtin_bswap32(x)) -# define SWAPS64(x) ((int64_t) __builtin_bswap64(x)) -# define SWAPU64(x) ((uint64_t) __builtin_bswap64(x)) -#endif - -#if LONG_MAX > INT_MAX -# define SWAPSLONG SWAPS64 -# define SWAPULONG SWAPU64 -#else -# define SWAPSLONG SWAPS32 -# define SWAPULONG SWAPU32 -#endif - -NUM_OP(int8, int8_t, NUM2INT, INT2NUM, NOSWAP); -NUM_OP(uint8, uint8_t, NUM2UINT, UINT2NUM, NOSWAP); -NUM_OP(int16, int16_t, NUM2INT, INT2NUM, SWAPS16); -NUM_OP(uint16, uint16_t, NUM2UINT, UINT2NUM, SWAPU16); -NUM_OP(int32, int32_t, NUM2INT, INT2NUM, SWAPS32); -NUM_OP(uint32, uint32_t, NUM2UINT, UINT2NUM, SWAPU32); -NUM_OP(int64, int64_t, NUM2LL, LL2NUM, SWAPS64); -NUM_OP(uint64, uint64_t, NUM2ULL, ULL2NUM, SWAPU64); -NUM_OP(long, long, NUM2LONG, LONG2NUM, SWAPSLONG); -NUM_OP(ulong, unsigned long, NUM2ULONG, ULONG2NUM, SWAPULONG); -NUM_OP(float32, float, NUM2DBL, rb_float_new, NOSWAP); -NUM_OP(float64, double, NUM2DBL, rb_float_new, NOSWAP); -NUM_OP(longdouble, long double, rbffi_num2longdouble, rbffi_longdouble_new, NOSWAP); - -static inline void* -get_pointer_value(VALUE value) -{ - const int type = TYPE(value); - if (type == T_DATA && rb_obj_is_kind_of(value, rbffi_PointerClass)) { - return memory_address(value); - } else if (type == T_NIL) { - return NULL; - } else if (type == T_FIXNUM) { - return (void *) (uintptr_t) FIX2ULONG(value); - } else if (type == T_BIGNUM) { - return (void *) (uintptr_t) NUM2ULL(value); - } else if (rb_respond_to(value, id_to_ptr)) { - return MEMORY_PTR(rb_funcall2(value, id_to_ptr, 0, NULL)); - } else { - rb_raise(rb_eArgError, "value is not a pointer"); - return NULL; - } -} - -NUM_OP(pointer, void *, get_pointer_value, rbffi_Pointer_NewInstance, NOSWAP); - -static inline uint8_t -rbffi_bool_value(VALUE value) -{ - return RTEST(value); -} - -static inline VALUE -rbffi_bool_new(uint8_t value) -{ - return (value & 1) != 0 ? Qtrue : Qfalse; -} - -NUM_OP(bool, unsigned char, rbffi_bool_value, rbffi_bool_new, NOSWAP); - - -/* - * call-seq: memory.clear - * Set the memory to all-zero. - * @return [self] - */ -static VALUE -memory_clear(VALUE self) -{ - AbstractMemory* ptr = MEMORY(self); - checkWrite(ptr); - memset(ptr->address, 0, ptr->size); - return self; -} - -/* - * call-seq: memory.size - * Return memory size in bytes (alias: #total) - * @return [Numeric] - */ -static VALUE -memory_size(VALUE self) -{ - AbstractMemory* ptr; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - - return LONG2NUM(ptr->size); -} - -/* - * call-seq: memory.get(type, offset) - * Return data of given type contained in memory. - * @param [Symbol, Type] type_name type of data to get - * @param [Numeric] offset point in buffer to start from - * @return [Object] - * @raise {ArgumentError} if type is not supported - */ -static VALUE -memory_get(VALUE self, VALUE type_name, VALUE offset) -{ - AbstractMemory* ptr; - VALUE nType; - Type *type; - MemoryOp *op; - - nType = rbffi_Type_Lookup(type_name); - if(NIL_P(nType)) goto undefined_type; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - TypedData_Get_Struct(nType, Type, &rbffi_type_data_type, type); - - op = get_memory_op(type); - if(op == NULL) goto undefined_type; - - return op->get(ptr, NUM2LONG(offset)); - -undefined_type: { - VALUE msg = rb_sprintf("undefined type '%" PRIsVALUE "'", type_name); - rb_exc_raise(rb_exc_new3(rb_eArgError, msg)); - return Qnil; - } -} - -/* - * call-seq: memory.put(type, offset, value) - * @param [Symbol, Type] type_name type of data to put - * @param [Numeric] offset point in buffer to start from - * @return [nil] - * @raise {ArgumentError} if type is not supported - */ -static VALUE -memory_put(VALUE self, VALUE type_name, VALUE offset, VALUE value) -{ - AbstractMemory* ptr; - VALUE nType; - Type *type; - MemoryOp *op; - - nType = rbffi_Type_Lookup(type_name); - if(NIL_P(nType)) goto undefined_type; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - TypedData_Get_Struct(nType, Type, &rbffi_type_data_type, type); - - op = get_memory_op(type); - if(op == NULL) goto undefined_type; - - op->put(ptr, NUM2LONG(offset), value); - return Qnil; - -undefined_type: { - VALUE msg = rb_sprintf("unsupported type '%" PRIsVALUE "'", type_name); - rb_exc_raise(rb_exc_new3(rb_eArgError, msg)); - return Qnil; - } -} - -/* - * call-seq: memory.get_string(offset, length=nil) - * Return string contained in memory. - * @param [Numeric] offset point in buffer to start from - * @param [Numeric] length string's length in bytes. If nil, a (memory size - offset) length string is returned). - * @return [String] - * @raise {IndexError} if +length+ is too great - * @raise {NullPointerError} if memory not initialized - */ -static VALUE -memory_get_string(int argc, VALUE* argv, VALUE self) -{ - VALUE length = Qnil, offset = Qnil; - AbstractMemory* ptr = MEMORY(self); - long off, len; - char* end; - int nargs = rb_scan_args(argc, argv, "11", &offset, &length); - - off = NUM2LONG(offset); - len = nargs > 1 && length != Qnil ? NUM2LONG(length) : (ptr->size - off); - checkRead(ptr); - checkBounds(ptr, off, len); - - end = memchr(ptr->address + off, 0, len); - return rb_str_new((char *) ptr->address + off, - (end != NULL ? end - ptr->address - off : len)); -} - -/* - * call-seq: memory.get_array_of_string(offset, count=nil) - * Return an array of strings contained in memory. - * @param [Numeric] offset point in memory to start from - * @param [Numeric] count number of strings to get. If nil, return all strings - * @return [Array] - * @raise {IndexError} if +offset+ is too great - * @raise {NullPointerError} if memory not initialized - */ -static VALUE -memory_get_array_of_string(int argc, VALUE* argv, VALUE self) -{ - VALUE offset = Qnil, countnum = Qnil, retVal = Qnil; - AbstractMemory* ptr; - long off; - int count; - - rb_scan_args(argc, argv, "11", &offset, &countnum); - off = NUM2LONG(offset); - count = (countnum == Qnil ? 0 : NUM2INT(countnum)); - retVal = rb_ary_new2(count); - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - checkRead(ptr); - - if (countnum != Qnil) { - int i; - - checkBounds(ptr, off, count * sizeof (char*)); - - for (i = 0; i < count; ++i) { - const char* strptr = *((const char**) (ptr->address + off) + i); - rb_ary_push(retVal, (strptr == NULL ? Qnil : rb_str_new2(strptr))); - } - - } else { - checkBounds(ptr, off, sizeof (char*)); - for ( ; off < ptr->size - (long) sizeof (void *); off += (long) sizeof (void *)) { - const char* strptr = *(const char**) (ptr->address + off); - if (strptr == NULL) { - break; - } - rb_ary_push(retVal, rb_str_new2(strptr)); - } - } - - return retVal; -} - -/* - * call-seq: memory.read_array_of_string(count=nil) - * Return an array of strings contained in memory. Same as: - * memory.get_array_of_string(0, count) - * @param [Numeric] count number of strings to get. If nil, return all strings - * @return [Array] - */ -static VALUE -memory_read_array_of_string(int argc, VALUE* argv, VALUE self) -{ - VALUE* rargv = ALLOCA_N(VALUE, argc + 1); - int i; - - rargv[0] = INT2FIX(0); - for (i = 0; i < argc; i++) { - rargv[i + 1] = argv[i]; - } - - return memory_get_array_of_string(argc + 1, rargv, self); -} - - -/* - * call-seq: memory.put_string(offset, str) - * @param [Numeric] offset - * @param [String] str - * @return [self] - * @raise {SecurityError} when writing unsafe string to memory - * @raise {IndexError} if +offset+ is too great - * @raise {NullPointerError} if memory not initialized - * Put a string in memory. - */ -static VALUE -memory_put_string(VALUE self, VALUE offset, VALUE str) -{ - AbstractMemory* ptr = MEMORY(self); - long off, len; - - Check_Type(str, T_STRING); - off = NUM2LONG(offset); - len = RSTRING_LEN(str); - - checkWrite(ptr); - checkBounds(ptr, off, len + 1); - - memcpy(ptr->address + off, RSTRING_PTR(str), len); - *((char *) ptr->address + off + len) = '\0'; - - return self; -} - -/* - * call-seq: memory.get_bytes(offset, length) - * Return string contained in memory. - * @param [Numeric] offset point in buffer to start from - * @param [Numeric] length string's length in bytes. - * @return [String] - * @raise {IndexError} if +length+ is too great - * @raise {NullPointerError} if memory not initialized - */ -static VALUE -memory_get_bytes(VALUE self, VALUE offset, VALUE length) -{ - AbstractMemory* ptr = MEMORY(self); - long off, len; - - off = NUM2LONG(offset); - len = NUM2LONG(length); - - checkRead(ptr); - checkBounds(ptr, off, len); - - return rb_str_new((char *) ptr->address + off, len); -} - -/* - * call-seq: memory.put_bytes(offset, str, index=0, length=nil) - * Put a string in memory. - * @param [Numeric] offset point in buffer to start from - * @param [String] str string to put to memory - * @param [Numeric] index - * @param [Numeric] length string's length in bytes. If nil, a (memory size - offset) length string is returned). - * @return [self] - * @raise {IndexError} if +length+ is too great - * @raise {NullPointerError} if memory not initialized - * @raise {RangeError} if +index+ is negative, or if index+length is greater than size of string - * @raise {SecurityError} when writing unsafe string to memory - */ -static VALUE -memory_put_bytes(int argc, VALUE* argv, VALUE self) -{ - AbstractMemory* ptr = MEMORY(self); - VALUE offset = Qnil, str = Qnil, rbIndex = Qnil, rbLength = Qnil; - long off, len, idx; - int nargs = rb_scan_args(argc, argv, "22", &offset, &str, &rbIndex, &rbLength); - - Check_Type(str, T_STRING); - - off = NUM2LONG(offset); - idx = nargs > 2 ? NUM2LONG(rbIndex) : 0; - if (idx < 0) { - rb_raise(rb_eRangeError, "index cannot be less than zero"); - return Qnil; - } - len = nargs > 3 ? NUM2LONG(rbLength) : (RSTRING_LEN(str) - idx); - if ((idx + len) > RSTRING_LEN(str)) { - rb_raise(rb_eRangeError, "index+length is greater than size of string"); - return Qnil; - } - - checkWrite(ptr); - checkBounds(ptr, off, len); - - memcpy(ptr->address + off, RSTRING_PTR(str) + idx, len); - - return self; -} - -/* - * call-seq: memory.read_bytes(length) - * @param [Numeric] length of string to return - * @return [String] - * equivalent to : - * memory.get_bytes(0, length) - */ -static VALUE -memory_read_bytes(VALUE self, VALUE length) -{ - return memory_get_bytes(self, INT2FIX(0), length); -} - -/* - * call-seq: memory.write_bytes(str, index=0, length=nil) - * @param [String] str string to put to memory - * @param [Numeric] index - * @param [Numeric] length string's length in bytes. If nil, a (memory size - offset) length string is returned). - * @return [self] - * equivalent to : - * memory.put_bytes(0, str, index, length) - */ -static VALUE -memory_write_bytes(int argc, VALUE* argv, VALUE self) -{ - VALUE* wargv = ALLOCA_N(VALUE, argc + 1); - int i; - - wargv[0] = INT2FIX(0); - for (i = 0; i < argc; i++) { - wargv[i + 1] = argv[i]; - } - - return memory_put_bytes(argc + 1, wargv, self); -} - -/* - * call-seq: memory.type_size - * @return [Numeric] type size in bytes - * Get the memory's type size. - */ -static VALUE -memory_type_size(VALUE self) -{ - AbstractMemory* ptr; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - - return INT2NUM(ptr->typeSize); -} - -/* - * Document-method: [] - * call-seq: memory[idx] - * @param [Numeric] idx index to access in memory - * @return - * Memory read accessor. - */ -static VALUE -memory_aref(VALUE self, VALUE idx) -{ - AbstractMemory* ptr; - VALUE rbOffset = Qnil; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - - rbOffset = ULONG2NUM(NUM2ULONG(idx) * ptr->typeSize); - - return rb_funcall2(self, id_plus, 1, &rbOffset); -} - -static inline char* -memory_address(VALUE obj) -{ - AbstractMemory *mem; - TypedData_Get_Struct(obj, AbstractMemory, &rbffi_abstract_memory_data_type, mem); - return mem->address; -} - -static VALUE -memory_copy_from(VALUE self, VALUE rbsrc, VALUE rblen) -{ - AbstractMemory* dst; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, dst); - - memcpy(dst->address, rbffi_AbstractMemory_Cast(rbsrc, &rbffi_abstract_memory_data_type)->address, NUM2INT(rblen)); - - return self; -} - -/* - * call-seq: - * res.freeze - * - * Freeze the AbstractMemory object and unset the writable flag. - */ -static VALUE -memory_freeze(VALUE self) -{ - AbstractMemory* ptr = MEMORY(self); - ptr->flags &= ~MEM_WR; - return rb_call_super(0, NULL); -} - -AbstractMemory* -rbffi_AbstractMemory_Cast(VALUE obj, const rb_data_type_t *data_type) -{ - AbstractMemory* memory; - TypedData_Get_Struct(obj, AbstractMemory, data_type, memory); - return memory; -} - -void -rbffi_AbstractMemory_Error(AbstractMemory *mem, int op) -{ - VALUE rbErrorClass = mem->address == NULL ? NullPointerErrorClass : rb_eRuntimeError; - if (op == MEM_RD) { - rb_raise(rbErrorClass, "invalid memory read at address=%p", mem->address); - } else if (op == MEM_WR) { - rb_raise(rbErrorClass, "invalid memory write at address=%p", mem->address); - } else { - rb_raise(rbErrorClass, "invalid memory access at address=%p", mem->address); - } -} - -static VALUE -memory_op_get_strptr(AbstractMemory* ptr, long offset) -{ - void* tmp = NULL; - - if (ptr != NULL && ptr->address != NULL) { - checkRead(ptr); - checkBounds(ptr, offset, sizeof(tmp)); - memcpy(&tmp, ptr->address + offset, sizeof(tmp)); - } - - return tmp != NULL ? rb_str_new2(tmp) : Qnil; -} - -static void -memory_op_put_strptr(AbstractMemory* ptr, long offset, VALUE value) -{ - rb_raise(rb_eArgError, "Cannot set :string fields"); -} - -static MemoryOp memory_op_strptr = { memory_op_get_strptr, memory_op_put_strptr }; - - -MemoryOps rbffi_AbstractMemoryOps = { - &memory_op_int8, /*.int8 */ - &memory_op_uint8, /* .uint8 */ - &memory_op_int16, /* .int16 */ - &memory_op_uint16, /* .uint16 */ - &memory_op_int32, /* .int32 */ - &memory_op_uint32, /* .uint32 */ - &memory_op_int64, /* .int64 */ - &memory_op_uint64, /* .uint64 */ - &memory_op_long, /* .slong */ - &memory_op_ulong, /* .uslong */ - &memory_op_float32, /* .float32 */ - &memory_op_float64, /* .float64 */ - &memory_op_longdouble, /* .longdouble */ - &memory_op_pointer, /* .pointer */ - &memory_op_strptr, /* .strptr */ - &memory_op_bool /* .boolOp */ -}; - -void -rbffi_AbstractMemory_Init(VALUE moduleFFI) -{ - /* - * Document-class: FFI::AbstractMemory - * - * {AbstractMemory} is the base class for many memory management classes such as {Buffer}. - * - * This class has a lot of methods to work with integers : - * * put_intsize(offset, value) - * * get_intsize(offset) - * * put_uintsize(offset, value) - * * get_uintsize(offset) - * * writeuintsize(value) - * * read_intsize - * * write_uintsize(value) - * * read_uintsize - * * put_array_of_intsize(offset, ary) - * * get_array_of_intsize(offset, length) - * * put_array_of_uintsize(offset, ary) - * * get_array_of_uintsize(offset, length) - * * write_array_of_intsize(ary) - * * read_array_of_intsize(length) - * * write_array_of_uintsize(ary) - * * read_array_of_uintsize(length) - * where _size_ is 8, 16, 32 or 64. Same methods exist for long type. - * - * Aliases exist : _char_ for _int8_, _short_ for _int16_, _int_ for _int32_ and long_long for _int64_. - * - * Others methods are listed below. - */ - VALUE classMemory = rb_define_class_under(moduleFFI, "AbstractMemory", rb_cObject); - rbffi_AbstractMemoryClass = classMemory; - /* - * Document-variable: FFI::AbstractMemory - */ - rb_global_variable(&rbffi_AbstractMemoryClass); - rb_undef_alloc_func(classMemory); - - NullPointerErrorClass = rb_define_class_under(moduleFFI, "NullPointerError", rb_eRuntimeError); - /* Document-variable: NullPointerError */ - rb_global_variable(&NullPointerErrorClass); - - -#undef INT -#define INT(type) \ - rb_define_method(classMemory, "put_" #type, memory_put_##type, 2); \ - rb_define_method(classMemory, "get_" #type, memory_get_##type, 1); \ - rb_define_method(classMemory, "put_u" #type, memory_put_u##type, 2); \ - rb_define_method(classMemory, "get_u" #type, memory_get_u##type, 1); \ - rb_define_method(classMemory, "write_" #type, memory_write_##type, 1); \ - rb_define_method(classMemory, "read_" #type, memory_read_##type, 0); \ - rb_define_method(classMemory, "write_u" #type, memory_write_u##type, 1); \ - rb_define_method(classMemory, "read_u" #type, memory_read_u##type, 0); \ - rb_define_method(classMemory, "put_array_of_" #type, memory_put_array_of_##type, 2); \ - rb_define_method(classMemory, "get_array_of_" #type, memory_get_array_of_##type, 2); \ - rb_define_method(classMemory, "put_array_of_u" #type, memory_put_array_of_u##type, 2); \ - rb_define_method(classMemory, "get_array_of_u" #type, memory_get_array_of_u##type, 2); \ - rb_define_method(classMemory, "write_array_of_" #type, memory_write_array_of_##type, 1); \ - rb_define_method(classMemory, "read_array_of_" #type, memory_read_array_of_##type, 1); \ - rb_define_method(classMemory, "write_array_of_u" #type, memory_write_array_of_u##type, 1); \ - rb_define_method(classMemory, "read_array_of_u" #type, memory_read_array_of_u##type, 1); - - INT(int8); - INT(int16); - INT(int32); - INT(int64); - INT(long); - -#define ALIAS(name, old) \ - rb_define_alias(classMemory, "put_" #name, "put_" #old); \ - rb_define_alias(classMemory, "get_" #name, "get_" #old); \ - rb_define_alias(classMemory, "put_u" #name, "put_u" #old); \ - rb_define_alias(classMemory, "get_u" #name, "get_u" #old); \ - rb_define_alias(classMemory, "write_" #name, "write_" #old); \ - rb_define_alias(classMemory, "read_" #name, "read_" #old); \ - rb_define_alias(classMemory, "write_u" #name, "write_u" #old); \ - rb_define_alias(classMemory, "read_u" #name, "read_u" #old); \ - rb_define_alias(classMemory, "put_array_of_" #name, "put_array_of_" #old); \ - rb_define_alias(classMemory, "get_array_of_" #name, "get_array_of_" #old); \ - rb_define_alias(classMemory, "put_array_of_u" #name, "put_array_of_u" #old); \ - rb_define_alias(classMemory, "get_array_of_u" #name, "get_array_of_u" #old); \ - rb_define_alias(classMemory, "write_array_of_" #name, "write_array_of_" #old); \ - rb_define_alias(classMemory, "read_array_of_" #name, "read_array_of_" #old); \ - rb_define_alias(classMemory, "write_array_of_u" #name, "write_array_of_u" #old); \ - rb_define_alias(classMemory, "read_array_of_u" #name, "read_array_of_u" #old); - - ALIAS(char, int8); - ALIAS(short, int16); - ALIAS(int, int32); - ALIAS(long_long, int64); - - /* - * Document-method: put_float32 - * call-seq: memory.put_float32offset, value) - * @param [Numeric] offset - * @param [Numeric] value - * @return [self] - * Put +value+ as a 32-bit float in memory at offset +offset+ (alias: #put_float). - */ - rb_define_method(classMemory, "put_float32", memory_put_float32, 2); - /* - * Document-method: get_float32 - * call-seq: memory.get_float32(offset) - * @param [Numeric] offset - * @return [Float] - * Get a 32-bit float from memory at offset +offset+ (alias: #get_float). - */ - rb_define_method(classMemory, "get_float32", memory_get_float32, 1); - rb_define_alias(classMemory, "put_float", "put_float32"); - rb_define_alias(classMemory, "get_float", "get_float32"); - /* - * Document-method: write_float - * call-seq: memory.write_float(value) - * @param [Numeric] value - * @return [self] - * Write +value+ as a 32-bit float in memory. - * - * Same as: - * memory.put_float(0, value) - */ - rb_define_method(classMemory, "write_float", memory_write_float32, 1); - /* - * Document-method: read_float - * call-seq: memory.read_float - * @return [Float] - * Read a 32-bit float from memory. - * - * Same as: - * memory.get_float(0) - */ - rb_define_method(classMemory, "read_float", memory_read_float32, 0); - /* - * Document-method: put_array_of_float32 - * call-seq: memory.put_array_of_float32(offset, ary) - * @param [Numeric] offset - * @param [Array] ary - * @return [self] - * Put values from +ary+ as 32-bit floats in memory from offset +offset+ (alias: #put_array_of_float). - */ - rb_define_method(classMemory, "put_array_of_float32", memory_put_array_of_float32, 2); - /* - * Document-method: get_array_of_float32 - * call-seq: memory.get_array_of_float32(offset, length) - * @param [Numeric] offset - * @param [Numeric] length number of Float to get - * @return [Array] - * Get 32-bit floats in memory from offset +offset+ (alias: #get_array_of_float). - */ - rb_define_method(classMemory, "get_array_of_float32", memory_get_array_of_float32, 2); - /* - * Document-method: write_array_of_float - * call-seq: memory.write_array_of_float(ary) - * @param [Array] ary - * @return [self] - * Write values from +ary+ as 32-bit floats in memory. - * - * Same as: - * memory.put_array_of_float(0, ary) - */ - rb_define_method(classMemory, "write_array_of_float", memory_write_array_of_float32, 1); - /* - * Document-method: read_array_of_float - * call-seq: memory.read_array_of_float(length) - * @param [Numeric] length number of Float to read - * @return [Array] - * Read 32-bit floats from memory. - * - * Same as: - * memory.get_array_of_float(0, ary) - */ - rb_define_method(classMemory, "read_array_of_float", memory_read_array_of_float32, 1); - rb_define_alias(classMemory, "put_array_of_float", "put_array_of_float32"); - rb_define_alias(classMemory, "get_array_of_float", "get_array_of_float32"); - /* - * Document-method: put_float64 - * call-seq: memory.put_float64(offset, value) - * @param [Numeric] offset - * @param [Numeric] value - * @return [self] - * Put +value+ as a 64-bit float (double) in memory at offset +offset+ (alias: #put_double). - */ - rb_define_method(classMemory, "put_float64", memory_put_float64, 2); - /* - * Document-method: get_float64 - * call-seq: memory.get_float64(offset) - * @param [Numeric] offset - * @return [Float] - * Get a 64-bit float (double) from memory at offset +offset+ (alias: #get_double). - */ - rb_define_method(classMemory, "get_float64", memory_get_float64, 1); - rb_define_alias(classMemory, "put_double", "put_float64"); - rb_define_alias(classMemory, "get_double", "get_float64"); - /* - * Document-method: write_double - * call-seq: memory.write_double(value) - * @param [Numeric] value - * @return [self] - * Write +value+ as a 64-bit float (double) in memory. - * - * Same as: - * memory.put_double(0, value) - */ - rb_define_method(classMemory, "write_double", memory_write_float64, 1); - /* - * Document-method: read_double - * call-seq: memory.read_double - * @return [Float] - * Read a 64-bit float (double) from memory. - * - * Same as: - * memory.get_double(0) - */ - rb_define_method(classMemory, "read_double", memory_read_float64, 0); - /* - * Document-method: put_array_of_float64 - * call-seq: memory.put_array_of_float64(offset, ary) - * @param [Numeric] offset - * @param [Array] ary - * @return [self] - * Put values from +ary+ as 64-bit floats (doubles) in memory from offset +offset+ (alias: #put_array_of_double). - */ - rb_define_method(classMemory, "put_array_of_float64", memory_put_array_of_float64, 2); - /* - * Document-method: get_array_of_float64 - * call-seq: memory.get_array_of_float64(offset, length) - * @param [Numeric] offset - * @param [Numeric] length number of Float to get - * @return [Array] - * Get 64-bit floats (doubles) in memory from offset +offset+ (alias: #get_array_of_double). - */ - rb_define_method(classMemory, "get_array_of_float64", memory_get_array_of_float64, 2); - /* - * Document-method: write_array_of_double - * call-seq: memory.write_array_of_double(ary) - * @param [Array] ary - * @return [self] - * Write values from +ary+ as 64-bit floats (doubles) in memory. - * - * Same as: - * memory.put_array_of_double(0, ary) - */ - rb_define_method(classMemory, "write_array_of_double", memory_write_array_of_float64, 1); - /* - * Document-method: read_array_of_double - * call-seq: memory.read_array_of_double(length) - * @param [Numeric] length number of Float to read - * @return [Array] - * Read 64-bit floats (doubles) from memory. - * - * Same as: - * memory.get_array_of_double(0, ary) - */ - rb_define_method(classMemory, "read_array_of_double", memory_read_array_of_float64, 1); - rb_define_alias(classMemory, "put_array_of_double", "put_array_of_float64"); - rb_define_alias(classMemory, "get_array_of_double", "get_array_of_float64"); - /* - * Document-method: put_pointer - * call-seq: memory.put_pointer(offset, value) - * @param [Numeric] offset - * @param [nil,Pointer, Integer, #to_ptr] value - * @return [self] - * Put +value+ in memory from +offset+.. - */ - rb_define_method(classMemory, "put_pointer", memory_put_pointer, 2); - /* - * Document-method: get_pointer - * call-seq: memory.get_pointer(offset) - * @param [Numeric] offset - * @return [Pointer] - * Get a {Pointer} to the memory from +offset+. - */ - rb_define_method(classMemory, "get_pointer", memory_get_pointer, 1); - /* - * Document-method: write_pointer - * call-seq: memory.write_pointer(value) - * @param [nil,Pointer, Integer, #to_ptr] value - * @return [self] - * Write +value+ in memory. - * - * Equivalent to: - * memory.put_pointer(0, value) - */ - rb_define_method(classMemory, "write_pointer", memory_write_pointer, 1); - /* - * Document-method: read_pointer - * call-seq: memory.read_pointer - * @return [Pointer] - * Get a {Pointer} to the memory from base address. - * - * Equivalent to: - * memory.get_pointer(0) - */ - rb_define_method(classMemory, "read_pointer", memory_read_pointer, 0); - /* - * Document-method: put_array_of_pointer - * call-seq: memory.put_array_of_pointer(offset, ary) - * @param [Numeric] offset - * @param [Array<#to_ptr>] ary - * @return [self] - * Put an array of {Pointer} into memory from +offset+. - */ - rb_define_method(classMemory, "put_array_of_pointer", memory_put_array_of_pointer, 2); - /* - * Document-method: get_array_of_pointer - * call-seq: memory.get_array_of_pointer(offset, length) - * @param [Numeric] offset - * @param [Numeric] length - * @return [Array] - * Get an array of {Pointer} of length +length+ from +offset+. - */ - rb_define_method(classMemory, "get_array_of_pointer", memory_get_array_of_pointer, 2); - /* - * Document-method: write_array_of_pointer - * call-seq: memory.write_array_of_pointer(ary) - * @param [Array<#to_ptr>] ary - * @return [self] - * Write an array of {Pointer} into memory from +offset+. - * - * Same as : - * memory.put_array_of_pointer(0, ary) - */ - rb_define_method(classMemory, "write_array_of_pointer", memory_write_array_of_pointer, 1); - /* - * Document-method: read_array_of_pointer - * call-seq: memory.read_array_of_pointer(length) - * @param [Numeric] length - * @return [Array] - * Read an array of {Pointer} of length +length+. - * - * Same as: - * memory.get_array_of_pointer(0, length) - */ - rb_define_method(classMemory, "read_array_of_pointer", memory_read_array_of_pointer, 1); - - rb_define_method(classMemory, "get_string", memory_get_string, -1); - rb_define_method(classMemory, "put_string", memory_put_string, 2); - rb_define_method(classMemory, "get_bytes", memory_get_bytes, 2); - rb_define_method(classMemory, "put_bytes", memory_put_bytes, -1); - rb_define_method(classMemory, "read_bytes", memory_read_bytes, 1); - rb_define_method(classMemory, "write_bytes", memory_write_bytes, -1); - rb_define_method(classMemory, "get_array_of_string", memory_get_array_of_string, -1); - - rb_define_method(classMemory, "get", memory_get, 2); - rb_define_method(classMemory, "put", memory_put, 3); - - rb_define_method(classMemory, "clear", memory_clear, 0); - rb_define_method(classMemory, "total", memory_size, 0); - rb_define_alias(classMemory, "size", "total"); - rb_define_method(classMemory, "type_size", memory_type_size, 0); - rb_define_method(classMemory, "[]", memory_aref, 1); - rb_define_method(classMemory, "__copy_from__", memory_copy_from, 2); - rb_define_method(classMemory, "freeze", memory_freeze, 0 ); - - id_to_ptr = rb_intern("to_ptr"); - id_call = rb_intern("call"); - id_plus = rb_intern("+"); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.h deleted file mode 100644 index 5973bac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_ABSTRACTMEMORY_H -#define RBFFI_ABSTRACTMEMORY_H - -#ifndef _MSC_VER -#include -#endif -#include -#ifndef _MSC_VER -#include -#endif - -#include "compat.h" -#include "Types.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -#define MEM_RD 0x01 -#define MEM_WR 0x02 -#define MEM_CODE 0x04 -#define MEM_SWAP 0x08 -#define MEM_EMBED 0x10 - -typedef struct AbstractMemory_ AbstractMemory; - -typedef struct { - VALUE (*get)(AbstractMemory* ptr, long offset); - void (*put)(AbstractMemory* ptr, long offset, VALUE value); -} MemoryOp; - -typedef struct { - MemoryOp* int8; - MemoryOp* uint8; - MemoryOp* int16; - MemoryOp* uint16; - MemoryOp* int32; - MemoryOp* uint32; - MemoryOp* int64; - MemoryOp* uint64; - MemoryOp* slong; - MemoryOp* uslong; - MemoryOp* float32; - MemoryOp* float64; - MemoryOp* longdouble; - MemoryOp* pointer; - MemoryOp* strptr; - MemoryOp* boolOp; -} MemoryOps; - -struct AbstractMemory_ { - char* address; /* Use char* instead of void* to ensure adding to it works correctly */ - long size; - int flags; - int typeSize; -}; - - -extern const rb_data_type_t rbffi_abstract_memory_data_type; -extern VALUE rbffi_AbstractMemoryClass; -extern MemoryOps rbffi_AbstractMemoryOps; - -extern void rbffi_AbstractMemory_Init(VALUE ffiModule); - -extern AbstractMemory* rbffi_AbstractMemory_Cast(VALUE obj, const rb_data_type_t *data_type); - -extern void rbffi_AbstractMemory_Error(AbstractMemory *, int op); - -static inline void -checkBounds(AbstractMemory* mem, long off, long len) -{ - if (unlikely((off | len | (off + len) | (mem->size - (off + len))) < 0)) { - rb_raise(rb_eIndexError, "Memory access offset=%ld size=%ld is out of bounds", - off, len); - } -} - -static inline void -checkRead(AbstractMemory* mem) -{ - if (unlikely((mem->flags & MEM_RD) == 0)) { - rbffi_AbstractMemory_Error(mem, MEM_RD); - } -} - -static inline void -checkWrite(AbstractMemory* mem) -{ - if (unlikely((mem->flags & MEM_WR) == 0)) { - rbffi_AbstractMemory_Error(mem, MEM_WR); - } -} - -static inline MemoryOp* -get_memory_op(Type* type) -{ - switch (type->nativeType) { - case NATIVE_INT8: - return rbffi_AbstractMemoryOps.int8; - case NATIVE_UINT8: - return rbffi_AbstractMemoryOps.uint8; - case NATIVE_INT16: - return rbffi_AbstractMemoryOps.int16; - case NATIVE_UINT16: - return rbffi_AbstractMemoryOps.uint16; - case NATIVE_INT32: - return rbffi_AbstractMemoryOps.int32; - case NATIVE_UINT32: - return rbffi_AbstractMemoryOps.uint32; - case NATIVE_INT64: - return rbffi_AbstractMemoryOps.int64; - case NATIVE_UINT64: - return rbffi_AbstractMemoryOps.uint64; - case NATIVE_LONG: - return rbffi_AbstractMemoryOps.slong; - case NATIVE_ULONG: - return rbffi_AbstractMemoryOps.uslong; - case NATIVE_FLOAT32: - return rbffi_AbstractMemoryOps.float32; - case NATIVE_FLOAT64: - return rbffi_AbstractMemoryOps.float64; - case NATIVE_LONGDOUBLE: - return rbffi_AbstractMemoryOps.longdouble; - case NATIVE_POINTER: - return rbffi_AbstractMemoryOps.pointer; - case NATIVE_STRING: - return rbffi_AbstractMemoryOps.strptr; - case NATIVE_BOOL: - return rbffi_AbstractMemoryOps.boolOp; - default: - return NULL; - } -} - -#define MEMORY(obj) rbffi_AbstractMemory_Cast((obj), &rbffi_abstract_memory_data_type) -#define MEMORY_PTR(obj) MEMORY((obj))->address -#define MEMORY_LEN(obj) MEMORY((obj))->size - - - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_ABSTRACTMEMORY_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.o deleted file mode 100644 index ac77150..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.c deleted file mode 100644 index b1cbcea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.c +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include "compat.h" -#include "ArrayType.h" - -static VALUE array_type_s_allocate(VALUE klass); -static VALUE array_type_initialize(VALUE self, VALUE rbComponentType, VALUE rbLength); -static void array_type_mark(void *); -static void array_type_compact(void *); -static void array_type_free(void *); -static size_t array_type_memsize(const void *); - -const rb_data_type_t rbffi_array_type_data_type = { /* extern */ - .wrap_struct_name = "FFI::ArrayType", - .function = { - .dmark = array_type_mark, - .dfree = array_type_free, - .dsize = array_type_memsize, - ffi_compact_callback( array_type_compact ) - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - - -VALUE rbffi_ArrayTypeClass = Qnil; - -static VALUE -array_type_s_allocate(VALUE klass) -{ - ArrayType* array; - VALUE obj; - - obj = TypedData_Make_Struct(klass, ArrayType, &rbffi_array_type_data_type, array); - - array->base.nativeType = NATIVE_ARRAY; - array->base.ffiType = xcalloc(1, sizeof(*array->base.ffiType)); - array->base.ffiType->type = FFI_TYPE_STRUCT; - array->base.ffiType->size = 0; - array->base.ffiType->alignment = 0; - RB_OBJ_WRITE(obj, &array->rbComponentType, Qnil); - - return obj; -} - -static void -array_type_mark(void *data) -{ - ArrayType *array = (ArrayType *)data; - rb_gc_mark_movable(array->rbComponentType); -} - -static void -array_type_compact(void *data) -{ - ArrayType *array = (ArrayType *)data; - ffi_gc_location(array->rbComponentType); -} - -static void -array_type_free(void *data) -{ - ArrayType *array = (ArrayType *)data; - xfree(array->base.ffiType); - xfree(array->ffiTypes); - xfree(array); -} - -static size_t -array_type_memsize(const void *data) -{ - const ArrayType *array = (const ArrayType *)data; - size_t memsize = sizeof(ArrayType); - memsize += array->length * sizeof(*array->ffiTypes); - memsize += sizeof(*array->base.ffiType); - return memsize; -} - -/* - * call-seq: initialize(component_type, length) - * @param [Type] component_type - * @param [Numeric] length - * @return [self] - * A new instance of ArrayType. - */ -static VALUE -array_type_initialize(VALUE self, VALUE rbComponentType, VALUE rbLength) -{ - ArrayType* array; - int i; - - TypedData_Get_Struct(self, ArrayType, &rbffi_array_type_data_type, array); - - array->length = NUM2UINT(rbLength); - RB_OBJ_WRITE(self, &array->rbComponentType, rbComponentType); - TypedData_Get_Struct(rbComponentType, Type, &rbffi_type_data_type, array->componentType); - - array->ffiTypes = xcalloc(array->length + 1, sizeof(*array->ffiTypes)); - array->base.ffiType->elements = array->ffiTypes; - array->base.ffiType->size = array->componentType->ffiType->size * array->length; - array->base.ffiType->alignment = array->componentType->ffiType->alignment; - - for (i = 0; i < array->length; ++i) { - array->ffiTypes[i] = array->componentType->ffiType; - } - - return self; -} - -/* - * call-seq: length - * @return [Numeric] - * Get array's length - */ -static VALUE -array_type_length(VALUE self) -{ - ArrayType* array; - - TypedData_Get_Struct(self, ArrayType, &rbffi_array_type_data_type, array); - - return UINT2NUM(array->length); -} - -/* - * call-seq: element_type - * @return [Type] - * Get element type. - */ -static VALUE -array_type_element_type(VALUE self) -{ - ArrayType* array; - - TypedData_Get_Struct(self, ArrayType, &rbffi_array_type_data_type, array); - - return array->rbComponentType; -} - -void -rbffi_ArrayType_Init(VALUE moduleFFI) -{ - VALUE ffi_Type; - - ffi_Type = rbffi_TypeClass; - - /* - * Document-class: FFI::ArrayType < FFI::Type - * - * This is a typed array. The type is a {NativeType native type}. - */ - rbffi_ArrayTypeClass = rb_define_class_under(moduleFFI, "ArrayType", ffi_Type); - /* - * Document-variable: FFI::ArrayType - */ - rb_global_variable(&rbffi_ArrayTypeClass); - /* - * Document-constant: FFI::Type::Array - */ - rb_define_const(ffi_Type, "Array", rbffi_ArrayTypeClass); - - rb_define_alloc_func(rbffi_ArrayTypeClass, array_type_s_allocate); - rb_define_method(rbffi_ArrayTypeClass, "initialize", array_type_initialize, 2); - rb_define_method(rbffi_ArrayTypeClass, "length", array_type_length, 0); - rb_define_method(rbffi_ArrayTypeClass, "elem_type", array_type_element_type, 0); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.h deleted file mode 100644 index 9b1eba0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_ARRAYTYPE_H -#define RBFFI_ARRAYTYPE_H - -#include -#include -#include "Type.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct ArrayType_ { - Type base; - int length; - ffi_type** ffiTypes; - Type* componentType; - VALUE rbComponentType; -} ArrayType; - -extern void rbffi_ArrayType_Init(VALUE moduleFFI); -extern const rb_data_type_t rbffi_array_type_data_type; -extern VALUE rbffi_ArrayTypeClass; - - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_ARRAYTYPE_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.o deleted file mode 100644 index e4b90eb..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.c deleted file mode 100644 index 78339f3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.c +++ /dev/null @@ -1,417 +0,0 @@ -/* - * Copyright (c) 2008-2010 Wayne Meissner - * Copyright (C) 2009 Aman Gupta - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include "rbffi.h" -#include "rbffi_endian.h" -#include "AbstractMemory.h" - -#define BUFFER_EMBED_MAXLEN (8) -typedef struct Buffer { - AbstractMemory memory; - - union { - VALUE rbParent; /* link to parent buffer */ - char* storage; /* start of malloc area */ - long embed[BUFFER_EMBED_MAXLEN / sizeof(long)]; /* storage for tiny allocations */ - } data; -} Buffer; - -static VALUE buffer_allocate(VALUE klass); -static VALUE buffer_initialize(int argc, VALUE* argv, VALUE self); -static void buffer_release(void *data); -static void buffer_mark(void *data); -static void buffer_compact(void *data); -static VALUE buffer_free(VALUE self); -static size_t allocated_buffer_memsize(const void *data); -static size_t buffer_memsize(const void *data); - -static const rb_data_type_t buffer_data_type = { - .wrap_struct_name = "FFI::Buffer", - .function = { - .dmark = buffer_mark, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = buffer_memsize, - ffi_compact_callback( buffer_compact ) - }, - .parent = &rbffi_abstract_memory_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static const rb_data_type_t allocated_buffer_data_type = { - .wrap_struct_name = "FFI::Buffer(allocated)", - .function = { - .dmark = NULL, - .dfree = buffer_release, - .dsize = allocated_buffer_memsize, - }, - .parent = &buffer_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - - -static VALUE BufferClass = Qnil; - -static VALUE -buffer_allocate(VALUE klass) -{ - Buffer* buffer; - VALUE obj; - - obj = TypedData_Make_Struct(klass, Buffer, &allocated_buffer_data_type, buffer); - RB_OBJ_WRITE(obj, &buffer->data.rbParent, Qnil); - buffer->memory.flags = MEM_RD | MEM_WR; - - return obj; -} - -static void -buffer_release(void *data) -{ - Buffer *ptr = (Buffer *)data; - if ((ptr->memory.flags & MEM_EMBED) == 0 && ptr->data.storage != NULL) { - xfree(ptr->data.storage); - ptr->data.storage = NULL; - } - - xfree(ptr); -} - -/* - * call-seq: initialize(size, count=1, clear=false) - * @param [Integer, Symbol, #size] Type or size in bytes of a buffer cell - * @param [Fixnum] count number of cell in the Buffer - * @param [Boolean] clear if true, set the buffer to all-zero - * @return [self] - * @raise {NoMemoryError} if failed to allocate memory for Buffer - * A new instance of Buffer. - */ -static VALUE -buffer_initialize(int argc, VALUE* argv, VALUE self) -{ - VALUE rbSize = Qnil, rbCount = Qnil, rbClear = Qnil; - Buffer* p; - int nargs; - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, p); - - nargs = rb_scan_args(argc, argv, "12", &rbSize, &rbCount, &rbClear); - p->memory.typeSize = rbffi_type_size(rbSize); - p->memory.size = p->memory.typeSize * (nargs > 1 ? NUM2LONG(rbCount) : 1); - - if (p->memory.size > BUFFER_EMBED_MAXLEN) { - p->data.storage = xmalloc(p->memory.size + 7); - if (p->data.storage == NULL) { - rb_raise(rb_eNoMemError, "Failed to allocate memory size=%lu bytes", p->memory.size); - return Qnil; - } - - /* ensure the memory is aligned on at least a 8 byte boundary */ - p->memory.address = (void *) (((uintptr_t) p->data.storage + 0x7) & (uintptr_t) ~0x7ULL); - - if (p->memory.size > 0 && (nargs < 3 || RTEST(rbClear))) { - memset(p->memory.address, 0, p->memory.size); - } - - } else { - p->memory.flags |= MEM_EMBED; - p->memory.address = (void *) &p->data.embed[0]; - } - - if (rb_block_given_p()) { - return rb_ensure(rb_yield, self, buffer_free, self); - } - - return self; -} - -/* - * call-seq: initialize_copy(other) - * @return [self] - * DO NOT CALL THIS METHOD. - */ -static VALUE -buffer_initialize_copy(VALUE self, VALUE other) -{ - AbstractMemory* src; - Buffer* dst; - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, dst); - src = rbffi_AbstractMemory_Cast(other, &buffer_data_type); - if ((dst->memory.flags & MEM_EMBED) == 0 && dst->data.storage != NULL) { - xfree(dst->data.storage); - } - dst->data.storage = xmalloc(src->size + 7); - if (dst->data.storage == NULL) { - rb_raise(rb_eNoMemError, "failed to allocate memory size=%lu bytes", src->size); - return Qnil; - } - - dst->memory.address = (void *) (((uintptr_t) dst->data.storage + 0x7) & (uintptr_t) ~0x7ULL); - dst->memory.size = src->size; - dst->memory.typeSize = src->typeSize; - - /* finally, copy the actual buffer contents */ - memcpy(dst->memory.address, src->address, src->size); - - return self; -} - -static VALUE -buffer_alloc_inout(int argc, VALUE* argv, VALUE klass) -{ - return buffer_initialize(argc, argv, buffer_allocate(klass)); -} - -static VALUE -slice(VALUE self, long offset, long len) -{ - Buffer* ptr; - Buffer* result; - VALUE obj = Qnil; - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, ptr); - checkBounds(&ptr->memory, offset, len); - - obj = TypedData_Make_Struct(BufferClass, Buffer, &buffer_data_type, result); - result->memory.address = ptr->memory.address + offset; - result->memory.size = len; - result->memory.flags = ptr->memory.flags; - result->memory.typeSize = ptr->memory.typeSize; - RB_OBJ_WRITE(obj, &result->data.rbParent, self); - - return obj; -} - -/* - * call-seq: + offset - * @param [Numeric] offset - * @return [Buffer] a new instance of Buffer pointing from offset until end of previous buffer. - * Add a Buffer with an offset - */ -static VALUE -buffer_plus(VALUE self, VALUE rbOffset) -{ - Buffer* ptr; - long offset = NUM2LONG(rbOffset); - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, ptr); - - return slice(self, offset, ptr->memory.size - offset); -} - -/* - * call-seq: slice(offset, length) - * @param [Numeric] offset - * @param [Numeric] length - * @return [Buffer] a new instance of Buffer - * Slice an existing Buffer. - */ -static VALUE -buffer_slice(VALUE self, VALUE rbOffset, VALUE rbLength) -{ - return slice(self, NUM2LONG(rbOffset), NUM2LONG(rbLength)); -} - -/* - * call-seq: inspect - * @return [String] - * Inspect a Buffer. - */ -static VALUE -buffer_inspect(VALUE self) -{ - char tmp[100]; - Buffer* ptr; - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, ptr); - - snprintf(tmp, sizeof(tmp), "#", ptr, ptr->memory.address, ptr->memory.size); - - return rb_str_new2(tmp); -} - - -#if BYTE_ORDER == LITTLE_ENDIAN -# define SWAPPED_ORDER BIG_ENDIAN -#else -# define SWAPPED_ORDER LITTLE_ENDIAN -#endif - -/* - * Set or get endianness of Buffer. - * @overload order - * @return [:big, :little] - * Get endianness of Buffer. - * @overload order(order) - * @param [:big, :little, :network] order - * @return [self] - * Set endianness of Buffer (+:network+ is an alias for +:big+). - */ -static VALUE -buffer_order(int argc, VALUE* argv, VALUE self) -{ - Buffer* ptr; - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, ptr); - if (argc == 0) { - int order = (ptr->memory.flags & MEM_SWAP) == 0 ? BYTE_ORDER : SWAPPED_ORDER; - return order == BIG_ENDIAN ? ID2SYM(rb_intern("big")) : ID2SYM(rb_intern("little")); - } else { - VALUE rbOrder = Qnil; - int order = BYTE_ORDER; - - if (rb_scan_args(argc, argv, "1", &rbOrder) < 1) { - rb_raise(rb_eArgError, "need byte order"); - } - if (SYMBOL_P(rbOrder)) { - ID id = SYM2ID(rbOrder); - if (id == rb_intern("little")) { - order = LITTLE_ENDIAN; - - } else if (id == rb_intern("big") || id == rb_intern("network")) { - order = BIG_ENDIAN; - } - } - if (order != BYTE_ORDER) { - Buffer* p2; - VALUE retval = slice(self, 0, ptr->memory.size); - - TypedData_Get_Struct(retval, Buffer, &buffer_data_type, p2); - p2->memory.flags |= MEM_SWAP; - return retval; - } - - return self; - } -} - -/* Only used to free the buffer if the yield in the initializer throws an exception */ -static VALUE -buffer_free(VALUE self) -{ - Buffer* ptr; - - TypedData_Get_Struct(self, Buffer, &buffer_data_type, ptr); - if ((ptr->memory.flags & MEM_EMBED) == 0 && ptr->data.storage != NULL) { - xfree(ptr->data.storage); - ptr->data.storage = NULL; - } - - return self; -} - -static void -buffer_mark(void *data) -{ - Buffer *ptr = (Buffer *)data; - rb_gc_mark_movable(ptr->data.rbParent); -} - -static void -buffer_compact(void *data) -{ - Buffer *ptr = (Buffer *)data; - ffi_gc_location(ptr->data.rbParent); -} - -static size_t -buffer_memsize(const void *data) -{ - return sizeof(Buffer); -} - -static size_t -allocated_buffer_memsize(const void *data) -{ - const Buffer *ptr = (const Buffer *)data; - size_t memsize = sizeof(Buffer); - if ((ptr->memory.flags & MEM_EMBED) == 0 && ptr->data.storage != NULL) { - memsize += ptr->memory.size; - } - return memsize; -} - -void -rbffi_Buffer_Init(VALUE moduleFFI) -{ - VALUE ffi_AbstractMemory = rbffi_AbstractMemoryClass; - - /* - * Document-class: FFI::Buffer < FFI::AbstractMemory - * - * A Buffer is a function argument type. It should be use with functions playing with C arrays. - */ - BufferClass = rb_define_class_under(moduleFFI, "Buffer", ffi_AbstractMemory); - - /* - * Document-variable: FFI::Buffer - */ - rb_global_variable(&BufferClass); - rb_define_alloc_func(BufferClass, buffer_allocate); - - /* - * Document-method: alloc_inout - * call-seq: alloc_inout(*args) - * Create a new Buffer for in and out arguments (alias : new_inout). - */ - rb_define_singleton_method(BufferClass, "alloc_inout", buffer_alloc_inout, -1); - /* - * Document-method: alloc_out - * call-seq: alloc_out(*args) - * Create a new Buffer for out arguments (alias : new_out). - */ - rb_define_singleton_method(BufferClass, "alloc_out", buffer_alloc_inout, -1); - /* - * Document-method: alloc_in - * call-seq: alloc_in(*args) - * Create a new Buffer for in arguments (alias : new_in). - */ - rb_define_singleton_method(BufferClass, "alloc_in", buffer_alloc_inout, -1); - rb_define_alias(rb_singleton_class(BufferClass), "new_in", "alloc_in"); - rb_define_alias(rb_singleton_class(BufferClass), "new_out", "alloc_out"); - rb_define_alias(rb_singleton_class(BufferClass), "new_inout", "alloc_inout"); - - rb_define_method(BufferClass, "initialize", buffer_initialize, -1); - rb_define_method(BufferClass, "initialize_copy", buffer_initialize_copy, 1); - rb_define_method(BufferClass, "order", buffer_order, -1); - rb_define_method(BufferClass, "inspect", buffer_inspect, 0); - rb_define_alias(BufferClass, "length", "total"); - rb_define_method(BufferClass, "+", buffer_plus, 1); - rb_define_method(BufferClass, "slice", buffer_slice, 2); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.o deleted file mode 100644 index fe5061a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.c deleted file mode 100644 index ab8f559..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.c +++ /dev/null @@ -1,498 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * Copyright (c) 2009, Luc Heinrich - * Copyright (c) 2009, Mike Dalessio - * Copyright (c) 2009, Aman Gupta. - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#if defined(HAVE_NATIVETHREAD) && !defined(_WIN32) -# include -# include -#endif -#include -#include "extconf.h" -#include "rbffi.h" -#include "compat.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "Struct.h" -#include "Function.h" -#include "Type.h" -#include "LastError.h" -#include "Call.h" -#include "MappedType.h" -#include "Thread.h" -#include "LongDouble.h" - -#ifdef USE_RAW -# ifndef __i386__ -# error "RAW argument packing only supported on i386" -# endif - -#define INT8_ADJ (4) -#define INT16_ADJ (4) -#define INT32_ADJ (4) -#define INT64_ADJ (8) -#define LONG_ADJ (sizeof(long)) -#define FLOAT32_ADJ (4) -#define FLOAT64_ADJ (8) -#define ADDRESS_ADJ (sizeof(void *)) -#define LONGDOUBLE_ADJ (ffi_type_longdouble.alignment > sizeof(long double) ? ffi_type_longdouble.alignment : sizeof(long double)) - -#endif /* USE_RAW */ - -#ifdef USE_RAW -# define ADJ(p, a) ((p) = (FFIStorage*) (((char *) p) + a##_ADJ)) -#else -# define ADJ(p, a) (++(p)) -#endif - -static void* callback_param(VALUE proc, VALUE cbinfo); -static inline void* getPointer(VALUE value, int type); - -static ID id_to_ptr, id_map_symbol, id_to_native; - -void -rbffi_SetupCallParams(int argc, VALUE* argv, int paramCount, Type** paramTypes, - FFIStorage* paramStorage, void** ffiValues, - VALUE* callbackParameters, int callbackCount, VALUE enums) -{ - VALUE callbackProc = Qnil; - FFIStorage* param = ¶mStorage[0]; - int i, argidx, cbidx, argCount; - - if (unlikely(paramCount != -1 && paramCount != argc)) { - if (argc == (paramCount - 1) && callbackCount == 1 && rb_block_given_p()) { - callbackProc = rb_block_proc(); - } else { - rb_raise(rb_eArgError, "wrong number of arguments (%d for %d)", argc, paramCount); - } - } - - argCount = paramCount != -1 ? paramCount : argc; - - for (i = 0, argidx = 0, cbidx = 0; i < argCount; ++i) { - Type* paramType = paramTypes[i]; - int type; - - - if (unlikely(paramType->nativeType == NATIVE_MAPPED)) { - VALUE values[] = { argv[argidx], Qnil }; - argv[argidx] = rb_funcall2(((MappedType *) paramType)->rbConverter, id_to_native, 2, values); - paramType = ((MappedType *) paramType)->type; - } - - type = argidx < argc ? TYPE(argv[argidx]) : T_NONE; - ffiValues[i] = param; - - switch (paramType->nativeType) { - - case NATIVE_INT8: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->s8 = NUM2INT(value); - } else { - param->s8 = NUM2INT(argv[argidx]); - } - - ++argidx; - ADJ(param, INT8); - break; - - case NATIVE_INT16: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->s16 = NUM2INT(value); - - } else { - param->s16 = NUM2INT(argv[argidx]); - } - - ++argidx; - ADJ(param, INT16); - break; - - case NATIVE_INT32: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->s32 = NUM2INT(value); - - } else { - param->s32 = NUM2INT(argv[argidx]); - } - - ++argidx; - ADJ(param, INT32); - break; - - case NATIVE_BOOL: - if (type != T_TRUE && type != T_FALSE) { - rb_raise(rb_eTypeError, "wrong argument type (expected a boolean parameter)"); - } - param->s8 = argv[argidx++] == Qtrue; - ADJ(param, INT8); - break; - - case NATIVE_UINT8: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->u8 = NUM2UINT(value); - } else { - param->u8 = NUM2UINT(argv[argidx]); - } - - ADJ(param, INT8); - ++argidx; - break; - - case NATIVE_UINT16: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->u16 = NUM2UINT(value); - } else { - param->u16 = NUM2UINT(argv[argidx]); - } - - ADJ(param, INT16); - ++argidx; - break; - - case NATIVE_UINT32: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->u32 = NUM2UINT(value); - } else { - param->u32 = NUM2UINT(argv[argidx]); - } - - ADJ(param, INT32); - ++argidx; - break; - - case NATIVE_INT64: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->i64 = NUM2LL(value); - } else { - param->i64 = NUM2LL(argv[argidx]); - } - - ADJ(param, INT64); - ++argidx; - break; - - case NATIVE_UINT64: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->u64 = NUM2ULL(value); - } else { - param->u64 = NUM2ULL(argv[argidx]); - } - - ADJ(param, INT64); - ++argidx; - break; - - case NATIVE_LONG: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - *(ffi_sarg *) param = NUM2LONG(value); - } else { - *(ffi_sarg *) param = NUM2LONG(argv[argidx]); - } - - ADJ(param, LONG); - ++argidx; - break; - - case NATIVE_ULONG: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - *(ffi_arg *) param = NUM2ULONG(value); - } else { - *(ffi_arg *) param = NUM2ULONG(argv[argidx]); - } - - ADJ(param, LONG); - ++argidx; - break; - - case NATIVE_FLOAT32: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->f32 = (float) NUM2DBL(value); - } else { - param->f32 = (float) NUM2DBL(argv[argidx]); - } - - ADJ(param, FLOAT32); - ++argidx; - break; - - case NATIVE_FLOAT64: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->f64 = NUM2DBL(value); - } else { - param->f64 = NUM2DBL(argv[argidx]); - } - - ADJ(param, FLOAT64); - ++argidx; - break; - - case NATIVE_LONGDOUBLE: - if (unlikely(type == T_SYMBOL && enums != Qnil)) { - VALUE value = rb_funcall(enums, id_map_symbol, 1, argv[argidx]); - param->ld = rbffi_num2longdouble(value); - } else { - param->ld = rbffi_num2longdouble(argv[argidx]); - } - - ADJ(param, LONGDOUBLE); - ++argidx; - break; - - - case NATIVE_STRING: - if (type == T_NIL) { - param->ptr = NULL; - - } else { - param->ptr = StringValueCStr(argv[argidx]); - } - - ADJ(param, ADDRESS); - ++argidx; - break; - - case NATIVE_POINTER: - case NATIVE_BUFFER_IN: - case NATIVE_BUFFER_OUT: - case NATIVE_BUFFER_INOUT: - param->ptr = getPointer(argv[argidx++], type); - ADJ(param, ADDRESS); - break; - - - case NATIVE_FUNCTION: - if (callbackProc != Qnil) { - param->ptr = callback_param(callbackProc, callbackParameters[cbidx++]); - } else { - param->ptr = callback_param(argv[argidx], callbackParameters[cbidx++]); - ++argidx; - } - ADJ(param, ADDRESS); - break; - - case NATIVE_STRUCT: - ffiValues[i] = getPointer(argv[argidx++], type); - break; - - default: - rb_raise(rb_eArgError, "Invalid parameter type: %d", paramType->nativeType); - } - } -} - -static void * -call_blocking_function(void* data) -{ - rbffi_blocking_call_t* b = (rbffi_blocking_call_t *) data; - ffi_call(&b->cif, FFI_FN(b->function), b->retval, b->ffiValues); - - return NULL; -} - -VALUE -rbffi_do_blocking_call(VALUE data) -{ - rb_thread_call_without_gvl(call_blocking_function, (void*)data, (rb_unblock_function_t *) -1, NULL); - - return Qnil; -} - -VALUE -rbffi_save_frame_exception(VALUE data, VALUE exc) -{ - rbffi_frame_t* frame = (rbffi_frame_t *) data; - frame->exc = exc; - return Qnil; -} - -VALUE -rbffi_CallFunction(int argc, VALUE* argv, void* function, FunctionType* fnInfo) -{ - void* retval; - void** ffiValues; - FFIStorage* params; - VALUE rbReturnValue; - rbffi_frame_t frame = { 0 }; - - retval = alloca(MAX(fnInfo->ffi_cif.rtype->size, FFI_SIZEOF_ARG)); - - if (unlikely(fnInfo->blocking)) { - rbffi_blocking_call_t* bc; - - /* allocate information passed to the blocking function on the stack */ - ffiValues = ALLOCA_N(void *, fnInfo->parameterCount); - params = ALLOCA_N(FFIStorage, fnInfo->parameterCount); - bc = ALLOCA_N(rbffi_blocking_call_t, 1); - bc->retval = retval; - bc->cif = fnInfo->ffi_cif; - bc->function = function; - bc->ffiValues = ffiValues; - bc->params = params; - bc->frame = &frame; - - rbffi_SetupCallParams(argc, argv, - fnInfo->parameterCount, fnInfo->parameterTypes, params, ffiValues, - fnInfo->callbackParameters, fnInfo->callbackCount, fnInfo->rbEnums); - - rbffi_frame_push(&frame); - rb_rescue2(rbffi_do_blocking_call, (VALUE) bc, rbffi_save_frame_exception, (VALUE) &frame, rb_eException, (VALUE) 0); - rbffi_frame_pop(&frame); - - } else { - - ffiValues = ALLOCA_N(void *, fnInfo->parameterCount); - params = ALLOCA_N(FFIStorage, fnInfo->parameterCount); - - rbffi_SetupCallParams(argc, argv, - fnInfo->parameterCount, fnInfo->parameterTypes, params, ffiValues, - fnInfo->callbackParameters, fnInfo->callbackCount, fnInfo->rbEnums); - - rbffi_frame_push(&frame); - ffi_call(&fnInfo->ffi_cif, FFI_FN(function), retval, ffiValues); - rbffi_frame_pop(&frame); - } - - if (unlikely(!fnInfo->ignoreErrno)) { - rbffi_save_errno(); - } - - if (RTEST(frame.exc) && frame.exc != Qnil) { - rb_exc_raise(frame.exc); - } - - RB_GC_GUARD(rbReturnValue) = rbffi_NativeValue_ToRuby(fnInfo->returnType, fnInfo->rbReturnType, retval); - RB_GC_GUARD(fnInfo->rbReturnType); - - return rbReturnValue; -} - -static inline void* -getPointer(VALUE value, int type) -{ - if (likely(type == T_DATA && rb_obj_is_kind_of(value, rbffi_AbstractMemoryClass))) { - - AbstractMemory *mem; - TypedData_Get_Struct(value, AbstractMemory, &rbffi_abstract_memory_data_type, mem); - return mem->address; - - } else if (type == T_DATA && rb_obj_is_kind_of(value, rbffi_StructClass)) { - - Struct* s; - AbstractMemory* memory; - - TypedData_Get_Struct(value, Struct, &rbffi_struct_data_type, s); - memory = s->pointer; - return memory != NULL ? memory->address : NULL; - - } else if (type == T_STRING) { - - return StringValuePtr(value); - - } else if (type == T_NIL) { - - return NULL; - - } else if (rb_respond_to(value, id_to_ptr)) { - - VALUE ptr = rb_funcall2(value, id_to_ptr, 0, NULL); - if (rb_obj_is_kind_of(ptr, rbffi_AbstractMemoryClass) && TYPE(ptr) == T_DATA) { - AbstractMemory *mem; - TypedData_Get_Struct(ptr, AbstractMemory, &rbffi_abstract_memory_data_type, mem); - return mem->address; - } - rb_raise(rb_eArgError, "to_ptr returned an invalid pointer"); - } - - rb_raise(rb_eArgError, ":pointer argument is not a valid pointer"); - return NULL; -} - -Invoker -rbffi_GetInvoker(FunctionType *fnInfo) -{ - return rbffi_CallFunction; -} - - -static void* -callback_param(VALUE proc, VALUE cbInfo) -{ - VALUE callback; - AbstractMemory *mem; - - if (unlikely(proc == Qnil)) { - return NULL ; - } - - /* Handle Function pointers here */ - if (rb_obj_is_kind_of(proc, rbffi_FunctionClass)) { - AbstractMemory* ptr; - TypedData_Get_Struct(proc, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - return ptr->address; - } - - callback = rbffi_Function_ForProc(cbInfo, proc); - RB_GC_GUARD(callback); - - TypedData_Get_Struct(callback, AbstractMemory, &rbffi_abstract_memory_data_type, mem); - return mem->address; -} - - -void -rbffi_Call_Init(VALUE moduleFFI) -{ - id_to_ptr = rb_intern("to_ptr"); - id_to_native = rb_intern("to_native"); - id_map_symbol = rb_intern("__map_symbol"); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.h deleted file mode 100644 index b892d85..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * Copyright (c) 2009, Luc Heinrich - * Copyright (c) 2009, Mike Dalessio - * Copyright (c) 2009, Aman Gupta. - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_CALL_H -#define RBFFI_CALL_H - -#include "Thread.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(__i386__) && \ - (defined(HAVE_RAW_API) || defined(USE_INTERNAL_LIBFFI)) && \ - !defined(_WIN32) && !defined(__WIN32__) -# define USE_RAW -#endif - -#if (defined(__i386__) || defined(__x86_64__)) && !(defined(_WIN32) || defined(__WIN32__)) -# define BYPASS_FFI 1 -#endif - -typedef union { -#ifdef USE_RAW - signed int s8, s16, s32; - unsigned int u8, u16, u32; -#else - signed char s8; - unsigned char u8; - signed short s16; - unsigned short u16; - signed int s32; - unsigned int u32; -#endif - signed long long i64; - unsigned long long u64; - signed long sl; - unsigned long ul; - void* ptr; - float f32; - double f64; - long double ld; -} FFIStorage; - -extern void rbffi_Call_Init(VALUE moduleFFI); - -extern void rbffi_SetupCallParams(int argc, VALUE* argv, int paramCount, Type** paramTypes, - FFIStorage* paramStorage, void** ffiValues, - VALUE* callbackParameters, int callbackCount, VALUE enums); - -struct FunctionType_; -extern VALUE rbffi_CallFunction(int argc, VALUE* argv, void* function, struct FunctionType_* fnInfo); - -typedef VALUE (*Invoker)(int argc, VALUE* argv, void* function, struct FunctionType_* fnInfo); - -Invoker rbffi_GetInvoker(struct FunctionType_* fnInfo); - -extern VALUE rbffi_GetEnumValue(VALUE enums, VALUE value); -extern int rbffi_GetSignedIntValue(VALUE value, int type, int minValue, int maxValue, const char* typeName, VALUE enums); - -typedef struct rbffi_blocking_call { - rbffi_frame_t* frame; - void* function; - ffi_cif cif; - void **ffiValues; - void* retval; - void* params; -} rbffi_blocking_call_t; - -VALUE rbffi_do_blocking_call(VALUE data); -VALUE rbffi_save_frame_exception(VALUE data, VALUE exc); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_CALL_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.o deleted file mode 100644 index 071e5ee..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Call.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.c deleted file mode 100644 index cfdcf6c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.c +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (c) 2009, 2010 Wayne Meissner - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -#include -#endif -#include -#if defined(__CYGWIN__) || !defined(_WIN32) -# include -#endif -#include -#include -#include -#if defined(__CYGWIN__) || !defined(_WIN32) -# include -#else -# include -# define _WINSOCKAPI_ -# include -#endif -#include -#include - -#include -#include "rbffi.h" -#include "compat.h" - -#include "Function.h" -#include "Types.h" -#include "Type.h" -#include "LastError.h" -#include "Call.h" - -#include "ClosurePool.h" - -#ifndef roundup -# define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#endif - -typedef struct Memory { - void* code; - void* data; - struct Memory* next; -} Memory; - -struct ClosurePool_ { - void* ctx; - int closureSize; - bool (*prep)(void* ctx, void *code, Closure* closure, char* errbuf, size_t errbufsize); - struct Memory* blocks; /* Keeps track of all the allocated memory for this pool */ - Closure* list; - long refcnt; -}; - -static long pageSize; - -static void* allocatePage(void); -static bool freePage(void *); -static bool protectPage(void *); - -ClosurePool* -rbffi_ClosurePool_New(int closureSize, - bool (*prep)(void* ctx, void *code, Closure* closure, char* errbuf, size_t errbufsize), - void* ctx) -{ - ClosurePool* pool; - - pool = xcalloc(1, sizeof(*pool)); - pool->closureSize = closureSize; - pool->ctx = ctx; - pool->prep = prep; - pool->refcnt = 1; - - return pool; -} - -void -cleanup_closure_pool(ClosurePool* pool) -{ - Memory* memory; - - for (memory = pool->blocks; memory != NULL; ) { - Memory* next = memory->next; -#if !USE_FFI_ALLOC - freePage(memory->code); -#else - ffi_closure_free(memory->code); -#endif - free(memory->data); - free(memory); - memory = next; - } - xfree(pool); -} - -void -rbffi_ClosurePool_Free(ClosurePool* pool) -{ - if (pool != NULL) { - long refcnt = --(pool->refcnt); - if (refcnt == 0) { - cleanup_closure_pool(pool); - } - } -} - -#if !USE_FFI_ALLOC - -Closure* -rbffi_Closure_Alloc(ClosurePool* pool) -{ - Closure *list = NULL; - Memory* block = NULL; - void *code = NULL; - char errmsg[256]; - int nclosures; - long trampolineSize; - int i; - - if (pool->list != NULL) { - Closure* closure = pool->list; - pool->list = pool->list->next; - pool->refcnt++; - - return closure; - } - - trampolineSize = roundup(pool->closureSize, 8); - nclosures = (int) (pageSize / trampolineSize); - block = calloc(1, sizeof(*block)); - list = calloc(nclosures, sizeof(*list)); - code = allocatePage(); - - if (block == NULL || list == NULL || code == NULL) { - snprintf(errmsg, sizeof(errmsg), "failed to allocate a page. errno=%d (%s)", errno, strerror(errno)); - goto error; - } - - for (i = 0; i < nclosures; ++i) { - Closure* closure = &list[i]; - closure->next = &list[i + 1]; - closure->pool = pool; - closure->code = ((char *)code + (i * trampolineSize)); - closure->pcl = closure->code; - - if (!(*pool->prep)(pool->ctx, closure->code, closure, errmsg, sizeof(errmsg))) { - goto error; - } - } - - if (!protectPage(code)) { - goto error; - } - - /* Track the allocated page + Closure memory area */ - block->data = list; - block->code = code; - block->next = pool->blocks; - pool->blocks = block; - - /* Thread the new block onto the free list, apart from the first one. */ - list[nclosures - 1].next = pool->list; - pool->list = list->next; - pool->refcnt++; - - /* Use the first one as the new handle */ - return list; - -error: - free(block); - free(list); - if (code != NULL) { - freePage(code); - } - - - rb_raise(rb_eRuntimeError, "%s", errmsg); - return NULL; -} - -#else - -Closure* -rbffi_Closure_Alloc(ClosurePool* pool) -{ - Closure *closure = NULL; - Memory* block = NULL; - void *code = NULL; - void *pcl = NULL; - char errmsg[256]; - - block = calloc(1, sizeof(*block)); - closure = calloc(1, sizeof(*closure)); - pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - - if (block == NULL || closure == NULL || pcl == NULL) { - snprintf(errmsg, sizeof(errmsg), "failed to allocate a page. errno=%d (%s)", errno, strerror(errno)); - goto error; - } - - closure->pool = pool; - closure->code = code; - closure->pcl = pcl; - - if (!(*pool->prep)(pool->ctx, closure->code, closure, errmsg, sizeof(errmsg))) { - goto error; - } - - /* Track the allocated page + Closure memory area */ - block->data = closure; - block->code = pcl; - pool->blocks = block; - - /* Thread the new block onto the free list, apart from the first one. */ - pool->refcnt++; - - return closure; - -error: - free(block); - free(closure); - if (pcl != NULL) { - ffi_closure_free(pcl); - } - - rb_raise(rb_eRuntimeError, "%s", errmsg); - return NULL; -} - -#endif /* !USE_FFI_ALLOC */ - -void -rbffi_Closure_Free(Closure* closure) -{ - if (closure != NULL) { - ClosurePool* pool = closure->pool; - long refcnt; - /* Just push it on the front of the free list */ - closure->next = pool->list; - pool->list = closure; - refcnt = --(pool->refcnt); - if (refcnt == 0) { - cleanup_closure_pool(pool); - } - } -} - -void* -rbffi_Closure_CodeAddress(Closure* handle) -{ - return handle->code; -} - - -static long -getPageSize() -{ -#if !defined(__CYGWIN__) && (defined(_WIN32) || defined(__WIN32__)) - SYSTEM_INFO si; - GetSystemInfo(&si); - return si.dwPageSize; -#else - return sysconf(_SC_PAGESIZE); -#endif -} - -#if !USE_FFI_ALLOC - -static void* -allocatePage(void) -{ -#if !defined(__CYGWIN__) && (defined(_WIN32) || defined(__WIN32__)) - return VirtualAlloc(NULL, pageSize, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); -#else - void *page = mmap(NULL, pageSize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); - return (page != (void *) -1) ? page : NULL; -#endif -} - -static bool -freePage(void *addr) -{ -#if !defined(__CYGWIN__) && (defined(_WIN32) || defined(__WIN32__)) - return VirtualFree(addr, 0, MEM_RELEASE); -#else - return munmap(addr, pageSize) == 0; -#endif -} - -static bool -protectPage(void* page) -{ -#if !defined(__CYGWIN__) && (defined(_WIN32) || defined(__WIN32__)) - DWORD oldProtect; - return VirtualProtect(page, pageSize, PAGE_EXECUTE_READ, &oldProtect); -#else - return mprotect(page, pageSize, PROT_READ | PROT_EXEC) == 0; -#endif -} - -#endif /* !USE_FFI_ALLOC */ - -void -rbffi_ClosurePool_Init(VALUE module) -{ - pageSize = getPageSize(); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.h deleted file mode 100644 index 99e3a47..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2009, 2010 Wayne Meissner - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RUBYFFI_CLOSUREPOOL_H -#define RUBYFFI_CLOSUREPOOL_H - -typedef struct ClosurePool_ ClosurePool; -typedef struct Closure_ Closure; - -struct Closure_ { - void* info; /* opaque handle for storing closure-instance specific data */ - void* function; /* closure-instance specific function, called by custom trampoline */ - void* code; /* Executable address for the native trampoline code location */ - void* pcl; /* Writeable address for the native trampoline code location */ - - struct ClosurePool_* pool; - Closure* next; -}; - -void rbffi_ClosurePool_Init(VALUE module); - -ClosurePool* rbffi_ClosurePool_New(int closureSize, - bool (*prep)(void* ctx, void *code, Closure* closure, char* errbuf, size_t errbufsize), - void* ctx); - -void rbffi_ClosurePool_Free(ClosurePool *); - -Closure* rbffi_Closure_Alloc(ClosurePool *); -void rbffi_Closure_Free(Closure *); - -void* rbffi_Closure_GetCodeAddress(Closure *); - -#endif /* RUBYFFI_CLOSUREPOOL_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.o deleted file mode 100644 index a00b3b6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.c deleted file mode 100644 index 9096e74..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.c +++ /dev/null @@ -1,397 +0,0 @@ -/* - * Copyright (c) 2008-2010 Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#if (defined(_WIN32) || defined(__WIN32__)) && !defined(__CYGWIN__) -# include -# define _WINSOCKAPI_ -# include -# include -#else -# include -#endif -#include - -#include - -#include "rbffi.h" -#include "compat.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "DynamicLibrary.h" - -typedef struct LibrarySymbol_ { - Pointer base; - VALUE name; -} LibrarySymbol; - - -static VALUE library_initialize(VALUE self, VALUE libname, VALUE libflags); -static void library_free(void *); -static size_t library_memsize(const void *); - -static VALUE symbol_allocate(VALUE klass); -static VALUE symbol_new(VALUE library, void* address, VALUE name); -static void symbol_mark(void *data); -static void symbol_compact(void *data); -static size_t symbol_memsize(const void *data); - -static const rb_data_type_t rbffi_library_data_type = { - .wrap_struct_name = "FFI::DynamicLibrary", - .function = { - .dmark = NULL, - .dfree = library_free, - .dsize = library_memsize, - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static const rb_data_type_t library_symbol_data_type = { - .wrap_struct_name = "FFI::DynamicLibrary::Symbol", - .function = { - .dmark = symbol_mark, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = symbol_memsize, - ffi_compact_callback( symbol_compact ) - }, - .parent = &rbffi_pointer_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static VALUE LibraryClass = Qnil, SymbolClass = Qnil; - -#if (defined(_WIN32) || defined(__WIN32__)) && !defined(__CYGWIN__) -static void* dl_open(const char* name, int flags); -static void dl_error(char* buf, int size); -#define dl_sym(handle, name) GetProcAddress(handle, name) -#define dl_close(handle) FreeLibrary(handle) -#else -# define dl_open(name, flags) dlopen(name, flags != 0 ? flags : RTLD_LAZY) -# define dl_error(buf, size) do { snprintf(buf, size, "%s", dlerror()); } while(0) -# define dl_sym(handle, name) dlsym(handle, name) -# define dl_close(handle) dlclose(handle) -#endif - -static VALUE -library_allocate(VALUE klass) -{ - Library* library; - return TypedData_Make_Struct(klass, Library, &rbffi_library_data_type, library); -} - -/* - * call-seq: DynamicLibrary.open(libname, libflags) - * @param libname (see #initialize) - * @param libflags (see #initialize) - * @return [FFI::DynamicLibrary] - * @raise {LoadError} if +libname+ cannot be opened - * Open a library. - */ -static VALUE -library_open(VALUE klass, VALUE libname, VALUE libflags) -{ - return library_initialize(library_allocate(klass), libname, libflags); -} - -/* - * call-seq: initialize(libname, libflags) - * @param [String] libname name of library to open - * @param [Fixnum] libflags flags for library to open - * @return [FFI::DynamicLibrary] - * @raise {LoadError} if +libname+ cannot be opened - * A new DynamicLibrary instance. - */ -static VALUE -library_initialize(VALUE self, VALUE libname, VALUE libflags) -{ - Library* library; - int flags; - - Check_Type(libflags, T_FIXNUM); - - TypedData_Get_Struct(self, Library, &rbffi_library_data_type, library); - flags = libflags != Qnil ? NUM2UINT(libflags) : 0; - - library->handle = dl_open(libname != Qnil ? StringValueCStr(libname) : NULL, flags); - if (library->handle == NULL) { - char errmsg[1024]; - dl_error(errmsg, sizeof(errmsg)); - rb_raise(rb_eLoadError, "Could not open library '%s': %s", - libname != Qnil ? StringValueCStr(libname) : "[current process]", - errmsg); - } -#ifdef __CYGWIN__ - // On Cygwin 1.7.17 "dlsym(dlopen(0,0), 'getpid')" fails. (dlerror: "No such process") - // As a workaround we can use "dlsym(RTLD_DEFAULT, 'getpid')" instead. - // Since 0 == RTLD_DEFAULT we won't call dl_close later. - if (libname == Qnil) { - dl_close(library->handle); - library->handle = RTLD_DEFAULT; - } -#endif - rb_iv_set(self, "@name", libname != Qnil ? rb_str_new_frozen(libname) : rb_str_new2("[current process]")); - - rb_obj_freeze(self); - return self; -} - -static VALUE -library_dlsym(VALUE self, VALUE name) -{ - Library* library; - void* address = NULL; - Check_Type(name, T_STRING); - - TypedData_Get_Struct(self, Library, &rbffi_library_data_type, library); - address = dl_sym(library->handle, StringValueCStr(name)); - - return address != NULL ? symbol_new(self, address, name) : Qnil; -} - -/* - * call-seq: last_error - * @return [String] library's last error string - */ -static VALUE -library_dlerror(VALUE self) -{ - char errmsg[1024]; - dl_error(errmsg, sizeof(errmsg)); - return rb_str_new2(errmsg); -} - -static void -library_free(void *data) -{ - Library *library = (Library*)data; - - /* dlclose() on MacOS tends to segfault - avoid it */ -#ifndef __APPLE__ - if (library->handle != NULL) { - dl_close(library->handle); - } -#endif - xfree(library); -} - -static size_t -library_memsize(const void *data) -{ - return sizeof(Library); -} - -#if (defined(_WIN32) || defined(__WIN32__)) && !defined(__CYGWIN__) -static void* -dl_open(const char* name, int flags) -{ - if (name == NULL) { - return GetModuleHandle(NULL); - } else { - DWORD dwFlags = PathIsRelativeA(name) ? 0 : LOAD_WITH_ALTERED_SEARCH_PATH; - return LoadLibraryExA(name, NULL, dwFlags); - } -} - -static void -dl_error(char* buf, int size) -{ - // Get the last error code - DWORD error = GetLastError(); - - // Get the associated message - LPSTR message = NULL; - FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, - NULL, error, 0, (LPSTR)&message, 0, NULL); - - // Update the passed in buffer - snprintf(buf, size, "Failed with error %d: %s", error, message); - - // Free the allocated message - LocalFree(message); -} -#endif - -static VALUE -symbol_allocate(VALUE klass) -{ - LibrarySymbol* sym; - VALUE obj = TypedData_Make_Struct(klass, LibrarySymbol, &library_symbol_data_type, sym); - RB_OBJ_WRITE(obj, &sym->base.rbParent, Qnil); - RB_OBJ_WRITE(obj, &sym->name, Qnil); - - return obj; -} - - -/* - * call-seq: initialize_copy(other) - * @param [Object] other - * @return [nil] - * DO NOT CALL THIS METHOD - */ -static VALUE -symbol_initialize_copy(VALUE self, VALUE other) -{ - rb_raise(rb_eRuntimeError, "cannot duplicate symbol"); - return Qnil; -} - -static VALUE -symbol_new(VALUE library, void* address, VALUE name) -{ - LibrarySymbol* sym; - VALUE obj = TypedData_Make_Struct(SymbolClass, LibrarySymbol, &library_symbol_data_type, sym); - - sym->base.memory.address = address; - sym->base.memory.size = LONG_MAX; - sym->base.memory.typeSize = 1; - sym->base.memory.flags = MEM_RD | MEM_WR; - RB_OBJ_WRITE(obj, &sym->base.rbParent, library); - RB_OBJ_WRITE(obj, &sym->name, rb_str_new_frozen(name)); - - rb_obj_freeze(obj); - return obj; -} - -static void -symbol_mark(void *data) -{ - LibrarySymbol *sym = (LibrarySymbol *)data; - rb_gc_mark_movable(sym->base.rbParent); - rb_gc_mark_movable(sym->name); -} - -static void -symbol_compact(void *data) -{ - LibrarySymbol *sym = (LibrarySymbol *)data; - ffi_gc_location(sym->base.rbParent); - ffi_gc_location(sym->name); -} - -static size_t -symbol_memsize(const void *data) -{ - return sizeof(LibrarySymbol); -} - -/* - * call-seq: inspect - * @return [String] - * Inspect. - */ -static VALUE -symbol_inspect(VALUE self) -{ - LibrarySymbol* sym; - char buf[256]; - - TypedData_Get_Struct(self, LibrarySymbol, &library_symbol_data_type, sym); - snprintf(buf, sizeof(buf), "#", - StringValueCStr(sym->name), sym->base.memory.address); - return rb_str_new2(buf); -} - -void -rbffi_DynamicLibrary_Init(VALUE moduleFFI) -{ - /* - * Document-class: FFI::DynamicLibrary - */ - LibraryClass = rb_define_class_under(moduleFFI, "DynamicLibrary", rb_cObject); - rb_global_variable(&LibraryClass); - /* - * Document-class: FFI::DynamicLibrary::Symbol < FFI::Pointer - * - * An instance of this class represents a library symbol. It may be a {Pointer pointer} to - * a function or to a variable. - */ - SymbolClass = rb_define_class_under(LibraryClass, "Symbol", rbffi_PointerClass); - rb_global_variable(&SymbolClass); - - /* - * Document-const: FFI::NativeLibrary - * Backward compatibility for FFI::DynamicLibrary - */ - rb_define_const(moduleFFI, "NativeLibrary", LibraryClass); /* backwards compat library */ - rb_define_alloc_func(LibraryClass, library_allocate); - rb_define_singleton_method(LibraryClass, "open", library_open, 2); - rb_define_singleton_method(LibraryClass, "last_error", library_dlerror, 0); - rb_define_method(LibraryClass, "initialize", library_initialize, 2); - /* - * Document-method: find_symbol - * call-seq: find_symbol(name) - * @param [String] name library symbol's name - * @return [FFI::DynamicLibrary::Symbol] library symbol - */ - rb_define_method(LibraryClass, "find_symbol", library_dlsym, 1); - /* - * Document-method: find_function - * call-seq: find_function(name) - * @param [String] name library function's name - * @return [FFI::DynamicLibrary::Symbol] library function symbol - */ - rb_define_method(LibraryClass, "find_function", library_dlsym, 1); - /* - * Document-method: find_variable - * call-seq: find_variable(name) - * @param [String] name library variable's name - * @return [FFI::DynamicLibrary::Symbol] library variable symbol - */ - rb_define_method(LibraryClass, "find_variable", library_dlsym, 1); - rb_define_method(LibraryClass, "last_error", library_dlerror, 0); - rb_define_attr(LibraryClass, "name", 1, 0); - - rb_define_alloc_func(SymbolClass, symbol_allocate); - rb_undef_method(SymbolClass, "new"); - rb_define_method(SymbolClass, "inspect", symbol_inspect, 0); - rb_define_method(SymbolClass, "initialize_copy", symbol_initialize_copy, 1); - -#define DEF(x) rb_define_const(LibraryClass, "RTLD_" #x, UINT2NUM(RTLD_##x)) - DEF(LAZY); - DEF(NOW); - DEF(GLOBAL); - DEF(LOCAL); - DEF(NOLOAD); - DEF(NODELETE); - DEF(FIRST); - DEF(DEEPBIND); - DEF(MEMBER); - DEF(BINDING_MASK); - DEF(LOCATION_MASK); - DEF(ALL_MASK); -#undef DEF - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.h deleted file mode 100644 index 97bf7bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2008-2010 Wayne Meissner - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _LIBRARY_H -#define _LIBRARY_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* if these aren't defined (eg. windows), we need sensible defaults */ -#ifndef RTLD_LAZY -#define RTLD_LAZY 1 -#endif - -#ifndef RTLD_NOW -#define RTLD_NOW 2 -#endif - -#ifndef RTLD_LOCAL -#define RTLD_LOCAL 4 -#endif - -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 8 -#endif - -/* If these aren't defined, they're not supported so define as 0 */ -#ifndef RTLD_NOLOAD -#define RTLD_NOLOAD 0 -#endif - -#ifndef RTLD_NODELETE -#define RTLD_NODELETE 0 -#endif - -#ifndef RTLD_FIRST -#define RTLD_FIRST 0 -#endif - -#ifndef RTLD_DEEPBIND -#define RTLD_DEEPBIND 0 -#endif - -#ifndef RTLD_MEMBER -#define RTLD_MEMBER 0 -#endif - -/* convenience */ -#ifndef RTLD_BINDING_MASK -#define RTLD_BINDING_MASK (RTLD_LAZY | RTLD_NOW) -#endif - -#ifndef RTLD_LOCATION_MASK -#define RTLD_LOCATION_MASK (RTLD_LOCAL | RTLD_GLOBAL) -#endif - -#ifndef RTLD_ALL_MASK -#define RTLD_ALL_MASK (RTLD_BINDING_MASK | RTLD_LOCATION_MASK | RTLD_NOLOAD | RTLD_NODELETE | RTLD_FIRST | RTLD_DEEPBIND | RTLD_MEMBER) -#endif - -typedef struct Library { - void* handle; -} Library; - -extern void rbffi_DynamicLibrary_Init(VALUE ffiModule); - -#ifdef __cplusplus -} -#endif - -#endif /* _LIBRARY_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.o deleted file mode 100644 index d54ed8f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.c deleted file mode 100644 index 5fabbbe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.c +++ /dev/null @@ -1,1063 +0,0 @@ -/* - * Copyright (c) 2009-2011 Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -#include -#endif -#include -#ifndef _WIN32 -# include -# include -#endif - -#include -#include -#include -#include -#include - -#if HAVE_RB_EXT_RACTOR_SAFE -#include -#endif - -#include -#if defined(HAVE_NATIVETHREAD) && !defined(_WIN32) -#include -#endif -#include - -#include "rbffi.h" -#include "compat.h" - -#include "AbstractMemory.h" -#include "Pointer.h" -#include "Struct.h" -#include "Platform.h" -#include "Type.h" -#include "LastError.h" -#include "Call.h" -#include "ClosurePool.h" -#include "MappedType.h" -#include "Thread.h" -#include "LongDouble.h" -#include "MethodHandle.h" -#include "Function.h" - -#define DEFER_ASYNC_CALLBACK 1 - -struct async_cb_dispatcher; -typedef struct Function_ { - Pointer base; - FunctionType* info; - MethodHandle* methodHandle; - bool autorelease; - Closure* closure; - VALUE rbProc; - VALUE rbFunctionInfo; -#if defined(DEFER_ASYNC_CALLBACK) - struct async_cb_dispatcher *dispatcher; -#endif -} Function; - -static void function_mark(void *data); -static void function_compact(void *data); -static void function_free(void *data); -static size_t function_memsize(const void *data); -static VALUE function_init(VALUE self, VALUE rbFunctionInfo, VALUE rbProc); -static void callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data); -static bool callback_prep(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize); -static void* callback_with_gvl(void* data); -static VALUE invoke_callback(VALUE data); -static VALUE save_callback_exception(VALUE data, VALUE exc); - -#if defined(DEFER_ASYNC_CALLBACK) -static VALUE async_cb_event(void *); -static VALUE async_cb_call(void *); -#endif - -extern int ruby_thread_has_gvl_p(void); -extern int ruby_native_thread_p(void); - -static const rb_data_type_t function_data_type = { - .wrap_struct_name = "FFI::Function", - .function = { - .dmark = function_mark, - .dfree = function_free, - .dsize = function_memsize, - ffi_compact_callback( function_compact ) - }, - .parent = &rbffi_pointer_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -VALUE rbffi_FunctionClass = Qnil; - -static ID id_call = 0, id_to_native = 0, id_from_native = 0, id_cbtable = 0, id_cb_ref = 0; - -struct gvl_callback { - Closure* closure; - void* retval; - void** parameters; - bool done; - rbffi_frame_t *frame; -#if defined(DEFER_ASYNC_CALLBACK) - struct async_cb_dispatcher *dispatcher; - struct gvl_callback* next; - - /* Signal when the callback has finished and retval is set */ -# ifndef _WIN32 - pthread_cond_t async_cond; - pthread_mutex_t async_mutex; -# else - HANDLE async_event; -# endif -#endif -}; - - -#if defined(DEFER_ASYNC_CALLBACK) -struct async_cb_dispatcher { - /* the Ractor-local dispatcher thread */ - VALUE thread; - - /* single linked list of pending callbacks */ - struct gvl_callback* async_cb_list; - - /* Signal new entries in async_cb_list */ -# ifndef _WIN32 - pthread_mutex_t async_cb_mutex; - pthread_cond_t async_cb_cond; -# else - HANDLE async_cb_cond; - CRITICAL_SECTION async_cb_lock; -# endif -}; - -#if HAVE_RB_EXT_RACTOR_SAFE -static void -async_cb_dispatcher_mark(void *ptr) -{ - struct async_cb_dispatcher *ctx = (struct async_cb_dispatcher *)ptr; - if (ctx) { - rb_gc_mark(ctx->thread); - } -} - -static void -async_cb_dispatcher_free(void *ptr) -{ - struct async_cb_dispatcher *ctx = (struct async_cb_dispatcher *)ptr; - if (ctx) { - xfree(ctx); - } -} - -struct rb_ractor_local_storage_type async_cb_dispatcher_key_type = { - async_cb_dispatcher_mark, - async_cb_dispatcher_free, -}; - -static rb_ractor_local_key_t async_cb_dispatcher_key; - -static struct async_cb_dispatcher * -async_cb_dispatcher_get(void) -{ - struct async_cb_dispatcher *ctx = (struct async_cb_dispatcher *)rb_ractor_local_storage_ptr(async_cb_dispatcher_key); - return ctx; -} - -static void -async_cb_dispatcher_set(struct async_cb_dispatcher *ctx) -{ - rb_ractor_local_storage_ptr_set(async_cb_dispatcher_key, ctx); -} -#else -// for ruby 2.x -static struct async_cb_dispatcher *async_cb_dispatcher = NULL; - -static struct async_cb_dispatcher * -async_cb_dispatcher_get(void) -{ - return async_cb_dispatcher; -} - -static void -async_cb_dispatcher_set(struct async_cb_dispatcher *ctx) -{ - async_cb_dispatcher = ctx; -} -#endif -#endif - -static VALUE -function_allocate(VALUE klass) -{ - Function *fn; - VALUE obj; - - obj = TypedData_Make_Struct(klass, Function, &function_data_type, fn); - - fn->base.memory.flags = MEM_RD; - RB_OBJ_WRITE(obj, &fn->base.rbParent, Qnil); - RB_OBJ_WRITE(obj, &fn->rbProc, Qnil); - RB_OBJ_WRITE(obj, &fn->rbFunctionInfo, Qnil); - fn->autorelease = true; - - return obj; -} - -static void -function_mark(void *data) -{ - Function *fn = (Function *)data; - rb_gc_mark_movable(fn->base.rbParent); - rb_gc_mark_movable(fn->rbProc); - rb_gc_mark_movable(fn->rbFunctionInfo); -} - -static void -function_compact(void *data) -{ - Function *fn = (Function *)data; - ffi_gc_location(fn->base.rbParent); - ffi_gc_location(fn->rbProc); - ffi_gc_location(fn->rbFunctionInfo); -} - -static void -function_free(void *data) -{ - Function *fn = (Function *)data; - if (fn->methodHandle != NULL) { - rbffi_MethodHandle_Free(fn->methodHandle); - } - - if (fn->closure != NULL && fn->autorelease) { - rbffi_Closure_Free(fn->closure); - } - - xfree(fn); -} - -static size_t -function_memsize(const void *data) -{ - const Function *fn = (const Function *)data; - size_t memsize = sizeof(Function); - - // Would be nice to better account for MethodHandle and Closure too. - if (fn->closure) { - memsize += sizeof(Closure); - } - - return memsize; -} - -/* - * @param [Type, Symbol] return_type return type for the function - * @param [Array] param_types array of parameters types - * @param [Hash] options see {FFI::FunctionType} for available options - * @return [self] - * A new Function instance. - * - * Define a function from a Proc or a block. - * - * @overload initialize(return_type, param_types, options = {}) { |i| ... } - * @yieldparam i parameters for the function - * @overload initialize(return_type, param_types, proc, options = {}) - * @param [Proc] proc - */ -static VALUE -function_initialize(int argc, VALUE* argv, VALUE self) -{ - - VALUE rbReturnType = Qnil, rbParamTypes = Qnil, rbProc = Qnil, rbOptions = Qnil; - VALUE rbFunctionInfo = Qnil; - VALUE infoArgv[3]; - int nargs; - - nargs = rb_scan_args(argc, argv, "22", &rbReturnType, &rbParamTypes, &rbProc, &rbOptions); - - /* - * Callback with block, - * e.g. Function.new(:int, [ :int ]) { |i| blah } - * or Function.new(:int, [ :int ], { :convention => :stdcall }) { |i| blah } - */ - if (rb_block_given_p()) { - if (nargs > 3) { - rb_raise(rb_eArgError, "cannot create function with both proc/address and block"); - } - rbOptions = rbProc; - rbProc = rb_block_proc(); - } else { - /* Callback with proc, or Function with address - * e.g. Function.new(:int, [ :int ], Proc.new { |i| }) - * Function.new(:int, [ :int ], Proc.new { |i| }, { :convention => :stdcall }) - * Function.new(:int, [ :int ], addr) - * Function.new(:int, [ :int ], addr, { :convention => :stdcall }) - */ - } - - infoArgv[0] = rbReturnType; - infoArgv[1] = rbParamTypes; - infoArgv[2] = rbOptions; - rbFunctionInfo = rb_class_new_instance(rbOptions != Qnil ? 3 : 2, infoArgv, rbffi_FunctionTypeClass); - - function_init(self, rbFunctionInfo, rbProc); - - return self; -} - -/* - * call-seq: initialize_copy(other) - * @return [nil] - * DO NOT CALL THIS METHOD - */ -static VALUE -function_initialize_copy(VALUE self, VALUE other) -{ - rb_raise(rb_eRuntimeError, "cannot duplicate function instances"); - return Qnil; -} - -VALUE -rbffi_Function_NewInstance(VALUE rbFunctionInfo, VALUE rbProc) -{ - return function_init(function_allocate(rbffi_FunctionClass), rbFunctionInfo, rbProc); -} - -VALUE -rbffi_Function_ForProc(VALUE rbFunctionInfo, VALUE proc) -{ - VALUE callback, cbref, cbTable; - - cbref = RTEST(rb_ivar_defined(proc, id_cb_ref)) ? rb_ivar_get(proc, id_cb_ref) : Qnil; - /* If the first callback reference has the same function function signature, use it */ - if (cbref != Qnil && CLASS_OF(cbref) == rbffi_FunctionClass) { - Function* fp; - TypedData_Get_Struct(cbref, Function, &function_data_type, fp); - if (fp->rbFunctionInfo == rbFunctionInfo) { - return cbref; - } - } - - cbTable = RTEST(rb_ivar_defined(proc, id_cbtable)) ? rb_ivar_get(proc, id_cbtable) : Qnil; - if (cbTable != Qnil && (callback = rb_hash_aref(cbTable, rbFunctionInfo)) != Qnil) { - return callback; - } - - /* No existing function for the proc with that signature, create a new one and cache it */ - callback = rbffi_Function_NewInstance(rbFunctionInfo, proc); - if (cbref == Qnil) { - /* If there is no other cb already cached for this proc, we can use the ivar slot */ - rb_ivar_set(proc, id_cb_ref, callback); - } else { - /* The proc instance has been used as more than one type of callback, store extras in a hash */ - if(cbTable == Qnil) { - cbTable = rb_hash_new(); - rb_ivar_set(proc, id_cbtable, cbTable); - } - rb_hash_aset(cbTable, rbFunctionInfo, callback); - } - - return callback; -} - -#if !defined(_WIN32) && defined(DEFER_ASYNC_CALLBACK) -static void -after_fork_callback(void) -{ - /* Ensure that a new dispatcher thread is started in a forked process */ - async_cb_dispatcher_set(NULL); -} -#endif - -static VALUE -function_init(VALUE self, VALUE rbFunctionInfo, VALUE rbProc) -{ - Function* fn = NULL; - - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - RB_OBJ_WRITE(self, &fn->rbFunctionInfo, rbFunctionInfo); - - TypedData_Get_Struct(fn->rbFunctionInfo, FunctionType, &rbffi_fntype_data_type, fn->info); - - if (rb_obj_is_kind_of(rbProc, rbffi_PointerClass)) { - Pointer* orig; - TypedData_Get_Struct(rbProc, Pointer, &rbffi_pointer_data_type, orig); - fn->base.memory = orig->memory; - RB_OBJ_WRITE(self, &fn->base.rbParent, rbProc); - - } else if (rb_obj_is_kind_of(rbProc, rb_cProc) || rb_respond_to(rbProc, id_call)) { - if (fn->info->closurePool == NULL) { - fn->info->closurePool = rbffi_ClosurePool_New(sizeof(ffi_closure), callback_prep, fn->info); - if (fn->info->closurePool == NULL) { - rb_raise(rb_eNoMemError, "failed to create closure pool"); - } - } - -#if defined(DEFER_ASYNC_CALLBACK) - { - struct async_cb_dispatcher *ctx = async_cb_dispatcher_get(); - if (ctx == NULL) { - ctx = (struct async_cb_dispatcher*)ALLOC(struct async_cb_dispatcher); - ctx->async_cb_list = NULL; - -#if !defined(_WIN32) - pthread_mutex_init(&ctx->async_cb_mutex, NULL); - pthread_cond_init(&ctx->async_cb_cond, NULL); - if( pthread_atfork(NULL, NULL, after_fork_callback) ){ - rb_warn("FFI: unable to register fork callback"); - } -#else - InitializeCriticalSection(&ctx->async_cb_lock); - ctx->async_cb_cond = CreateEvent(NULL, FALSE, FALSE, NULL); -#endif - ctx->thread = rb_thread_create(async_cb_event, ctx); - - /* Name thread, for better debugging */ - rb_funcall(ctx->thread, rb_intern("name="), 1, rb_str_new2("FFI Callback Dispatcher")); - - async_cb_dispatcher_set(ctx); - } - fn->dispatcher = ctx; - } -#endif - - fn->closure = rbffi_Closure_Alloc(fn->info->closurePool); - fn->closure->info = fn; - fn->base.memory.address = fn->closure->code; - fn->base.memory.size = sizeof(*fn->closure); - fn->autorelease = true; - - } else { - rb_raise(rb_eTypeError, "wrong argument type %s, expected pointer or proc", - rb_obj_classname(rbProc)); - } - - RB_OBJ_WRITE(self, &fn->rbProc, rbProc); - - return self; -} - -/* - * call-seq: call(*args) - * @param [Array] args function arguments - * @return [FFI::Type] - * Call the function - */ -static VALUE -function_call(int argc, VALUE* argv, VALUE self) -{ - Function* fn; - - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - return (*fn->info->invoke)(argc, argv, fn->base.memory.address, fn->info); -} - -/* - * call-seq: attach(m, name) - * @param [Module] m - * @param [String] name - * @return [self] - * Attach a Function to the Module +m+ as +name+. - */ -static VALUE -function_attach(VALUE self, VALUE module, VALUE name) -{ - Function* fn; - - StringValue(name); - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - if (fn->info->parameterCount == -1) { - rb_raise(rb_eRuntimeError, "cannot attach variadic functions"); - return Qnil; - } - - if (!rb_obj_is_kind_of(module, rb_cModule)) { - rb_raise(rb_eRuntimeError, "trying to attach function to non-module"); - return Qnil; - } - - if (fn->methodHandle == NULL) { - fn->methodHandle = rbffi_MethodHandle_Alloc(fn->info, fn->base.memory.address); - } - - rb_define_singleton_method(module, StringValueCStr(name), - rbffi_MethodHandle_CodeAddress(fn->methodHandle), -1); - - - rb_define_method(module, StringValueCStr(name), - rbffi_MethodHandle_CodeAddress(fn->methodHandle), -1); - - return self; -} - -/* - * call-seq: autorelease = autorelease - * @param [Boolean] autorelease - * @return [self] - * Set +autorelease+ attribute (See {Pointer}). - */ -static VALUE -function_set_autorelease(VALUE self, VALUE autorelease) -{ - Function* fn; - - rb_check_frozen(self); - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - fn->autorelease = RTEST(autorelease); - - return self; -} - -static VALUE -function_autorelease_p(VALUE self) -{ - Function* fn; - - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - return fn->autorelease ? Qtrue : Qfalse; -} - -static VALUE -function_type(VALUE self) -{ - Function* fn; - - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - return fn->rbFunctionInfo; -} - -/* - * call-seq: free - * @return [self] - * Free memory allocated by Function. - */ -static VALUE -function_release(VALUE self) -{ - Function* fn; - - TypedData_Get_Struct(self, Function, &function_data_type, fn); - - if (fn->closure == NULL) { - rb_raise(rb_eRuntimeError, "cannot free function which was not allocated"); - } - - rbffi_Closure_Free(fn->closure); - fn->closure = NULL; - - return self; -} - -static void -callback_invoke(ffi_cif* cif, void* retval, void** parameters, void* user_data) -{ - Function* fn; - struct gvl_callback cb = { 0 }; - - cb.closure = (Closure *) user_data; - cb.retval = retval; - cb.parameters = parameters; - cb.done = false; - cb.frame = rbffi_frame_current(); - fn = (Function *) cb.closure->info; - - if (cb.frame != NULL) cb.frame->exc = Qnil; - - if (ruby_native_thread_p()) { - if(ruby_thread_has_gvl_p()) { - callback_with_gvl(&cb); - } else { - rb_thread_call_with_gvl(callback_with_gvl, &cb); - } -#if defined(DEFER_ASYNC_CALLBACK) && !defined(_WIN32) - } else { - bool empty = false; - struct async_cb_dispatcher *ctx = fn->dispatcher; - - pthread_mutex_init(&cb.async_mutex, NULL); - pthread_cond_init(&cb.async_cond, NULL); - - /* Now signal the async callback dispatcher thread */ - pthread_mutex_lock(&ctx->async_cb_mutex); - empty = ctx->async_cb_list == NULL; - cb.next = ctx->async_cb_list; - ctx->async_cb_list = &cb; - - pthread_cond_signal(&ctx->async_cb_cond); - pthread_mutex_unlock(&ctx->async_cb_mutex); - - /* Wait for the thread executing the ruby callback to signal it is done */ - pthread_mutex_lock(&cb.async_mutex); - while (!cb.done) { - pthread_cond_wait(&cb.async_cond, &cb.async_mutex); - } - pthread_mutex_unlock(&cb.async_mutex); - pthread_cond_destroy(&cb.async_cond); - pthread_mutex_destroy(&cb.async_mutex); - -#elif defined(DEFER_ASYNC_CALLBACK) && defined(_WIN32) - } else { - bool empty = false; - struct async_cb_dispatcher *ctx = fn->dispatcher; - - cb.async_event = CreateEvent(NULL, FALSE, FALSE, NULL); - - /* Now signal the async callback dispatcher thread */ - EnterCriticalSection(&ctx->async_cb_lock); - empty = ctx->async_cb_list == NULL; - cb.next = ctx->async_cb_list; - ctx->async_cb_list = &cb; - LeaveCriticalSection(&ctx->async_cb_lock); - - SetEvent(ctx->async_cb_cond); - - /* Wait for the thread executing the ruby callback to signal it is done */ - WaitForSingleObject(cb.async_event, INFINITE); - CloseHandle(cb.async_event); -#endif - } -} - -#if defined(DEFER_ASYNC_CALLBACK) -struct async_wait { - struct async_cb_dispatcher *dispatcher; - void* cb; - bool stop; -}; - -static void * async_cb_wait(void *); -static void async_cb_stop(void *); - -static VALUE -async_cb_event(void* ptr) -{ - struct async_cb_dispatcher *ctx = (struct async_cb_dispatcher *)ptr; - struct async_wait w = { ctx }; - - w.stop = false; - while (!w.stop) { - rb_thread_call_without_gvl(async_cb_wait, &w, async_cb_stop, &w); - if (w.cb != NULL) { - /* Start up a new ruby thread to run the ruby callback */ - VALUE new_thread = rb_thread_create(async_cb_call, w.cb); - /* Name thread, for better debugging */ - rb_funcall(new_thread, rb_intern("name="), 1, rb_str_new2("FFI Callback Runner")); - } - } - - return Qnil; -} - -#ifdef _WIN32 -static void * -async_cb_wait(void *data) -{ - struct async_wait* w = (struct async_wait *) data; - struct async_cb_dispatcher *ctx = w->dispatcher; - - w->cb = NULL; - - EnterCriticalSection(&ctx->async_cb_lock); - - while (!w->stop && ctx->async_cb_list == NULL) { - LeaveCriticalSection(&ctx->async_cb_lock); - WaitForSingleObject(ctx->async_cb_cond, INFINITE); - EnterCriticalSection(&ctx->async_cb_lock); - } - - if (ctx->async_cb_list != NULL) { - w->cb = ctx->async_cb_list; - ctx->async_cb_list = ctx->async_cb_list->next; - } - - LeaveCriticalSection(&ctx->async_cb_lock); - - return NULL; -} - -static void -async_cb_stop(void *data) -{ - struct async_wait* w = (struct async_wait *) data; - struct async_cb_dispatcher *ctx = w->dispatcher; - - EnterCriticalSection(&ctx->async_cb_lock); - w->stop = true; - LeaveCriticalSection(&ctx->async_cb_lock); - SetEvent(ctx->async_cb_cond); -} - -#else -static void * -async_cb_wait(void *data) -{ - struct async_wait* w = (struct async_wait *) data; - struct async_cb_dispatcher *ctx = w->dispatcher; - - w->cb = NULL; - - pthread_mutex_lock(&ctx->async_cb_mutex); - - while (!w->stop && ctx->async_cb_list == NULL) { - pthread_cond_wait(&ctx->async_cb_cond, &ctx->async_cb_mutex); - } - - if (ctx->async_cb_list != NULL) { - w->cb = ctx->async_cb_list; - ctx->async_cb_list = ctx->async_cb_list->next; - } - - pthread_mutex_unlock(&ctx->async_cb_mutex); - - return NULL; -} - -static void -async_cb_stop(void *data) -{ - struct async_wait* w = (struct async_wait *) data; - struct async_cb_dispatcher *ctx = w->dispatcher; - - pthread_mutex_lock(&ctx->async_cb_mutex); - w->stop = true; - pthread_cond_signal(&ctx->async_cb_cond); - pthread_mutex_unlock(&ctx->async_cb_mutex); -} -#endif - -static VALUE -async_cb_call(void *data) -{ - struct gvl_callback* cb = (struct gvl_callback *) data; - - callback_with_gvl(data); - - /* Signal the original native thread that the ruby code has completed */ -#ifdef _WIN32 - SetEvent(cb->async_event); -#else - pthread_mutex_lock(&cb->async_mutex); - cb->done = true; - pthread_cond_signal(&cb->async_cond); - pthread_mutex_unlock(&cb->async_mutex); -#endif - - return Qnil; -} - -#endif - -static void * -callback_with_gvl(void* data) -{ - rb_rescue2(invoke_callback, (VALUE) data, save_callback_exception, (VALUE) data, rb_eException, (VALUE) 0); - return NULL; -} - -static VALUE -invoke_callback(VALUE data) -{ - struct gvl_callback* cb = (struct gvl_callback *) data; - - Function* fn = (Function *) cb->closure->info; - FunctionType *cbInfo = fn->info; - Type* returnType = cbInfo->returnType; - void* retval = cb->retval; - void** parameters = cb->parameters; - VALUE* rbParams; - VALUE rbReturnType = cbInfo->rbReturnType; - VALUE rbReturnValue; - int i; - - rbParams = ALLOCA_N(VALUE, cbInfo->parameterCount); - for (i = 0; i < cbInfo->parameterCount; ++i) { - VALUE param; - Type* paramType = cbInfo->parameterTypes[i]; - VALUE rbParamType = rb_ary_entry(cbInfo->rbParameterTypes, i); - - if (unlikely(paramType->nativeType == NATIVE_MAPPED)) { - rbParamType = ((MappedType *) paramType)->rbType; - paramType = ((MappedType *) paramType)->type; - } - - switch (paramType->nativeType) { - case NATIVE_INT8: - param = INT2NUM(*(int8_t *) parameters[i]); - break; - case NATIVE_UINT8: - param = UINT2NUM(*(uint8_t *) parameters[i]); - break; - case NATIVE_INT16: - param = INT2NUM(*(int16_t *) parameters[i]); - break; - case NATIVE_UINT16: - param = UINT2NUM(*(uint16_t *) parameters[i]); - break; - case NATIVE_INT32: - param = INT2NUM(*(int32_t *) parameters[i]); - break; - case NATIVE_UINT32: - param = UINT2NUM(*(uint32_t *) parameters[i]); - break; - case NATIVE_INT64: - param = LL2NUM(*(int64_t *) parameters[i]); - break; - case NATIVE_UINT64: - param = ULL2NUM(*(uint64_t *) parameters[i]); - break; - case NATIVE_LONG: - param = LONG2NUM(*(long *) parameters[i]); - break; - case NATIVE_ULONG: - param = ULONG2NUM(*(unsigned long *) parameters[i]); - break; - case NATIVE_FLOAT32: - param = rb_float_new(*(float *) parameters[i]); - break; - case NATIVE_FLOAT64: - param = rb_float_new(*(double *) parameters[i]); - break; - case NATIVE_LONGDOUBLE: - param = rbffi_longdouble_new(*(long double *) parameters[i]); - break; - case NATIVE_STRING: - param = (*(void **) parameters[i] != NULL) ? rb_str_new2(*(char **) parameters[i]) : Qnil; - break; - case NATIVE_POINTER: - param = rbffi_Pointer_NewInstance(*(void **) parameters[i]); - break; - case NATIVE_BOOL: - param = (*(uint8_t *) parameters[i]) ? Qtrue : Qfalse; - break; - - case NATIVE_FUNCTION: - case NATIVE_STRUCT: - param = rbffi_NativeValue_ToRuby(paramType, rbParamType, parameters[i]); - break; - - default: - param = Qnil; - break; - } - - /* Convert the native value into a custom ruby value */ - if (unlikely(cbInfo->parameterTypes[i]->nativeType == NATIVE_MAPPED)) { - VALUE values[] = { param, Qnil }; - param = rb_funcall2(((MappedType *) cbInfo->parameterTypes[i])->rbConverter, id_from_native, 2, values); - } - - rbParams[i] = param; - } - - rbReturnValue = rb_funcall2(fn->rbProc, id_call, cbInfo->parameterCount, rbParams); - - if (unlikely(returnType->nativeType == NATIVE_MAPPED)) { - VALUE values[] = { rbReturnValue, Qnil }; - rbReturnValue = rb_funcall2(((MappedType *) returnType)->rbConverter, id_to_native, 2, values); - rbReturnType = ((MappedType *) returnType)->rbType; - returnType = ((MappedType* ) returnType)->type; - } - - if (rbReturnValue == Qnil || TYPE(rbReturnValue) == T_NIL) { - memset(retval, 0, returnType->ffiType->size); - } else switch (returnType->nativeType) { - case NATIVE_INT8: - case NATIVE_INT16: - case NATIVE_INT32: - *((ffi_sarg *) retval) = NUM2INT(rbReturnValue); - break; - case NATIVE_UINT8: - case NATIVE_UINT16: - case NATIVE_UINT32: - *((ffi_arg *) retval) = NUM2UINT(rbReturnValue); - break; - case NATIVE_INT64: - *((int64_t *) retval) = NUM2LL(rbReturnValue); - break; - case NATIVE_UINT64: - *((uint64_t *) retval) = NUM2ULL(rbReturnValue); - break; - case NATIVE_LONG: - *((ffi_sarg *) retval) = NUM2LONG(rbReturnValue); - break; - case NATIVE_ULONG: - *((ffi_arg *) retval) = NUM2ULONG(rbReturnValue); - break; - case NATIVE_FLOAT32: - *((float *) retval) = (float) NUM2DBL(rbReturnValue); - break; - case NATIVE_FLOAT64: - *((double *) retval) = NUM2DBL(rbReturnValue); - break; - case NATIVE_LONGDOUBLE: - *((long double *) retval) = rbffi_num2longdouble(rbReturnValue); - break; - case NATIVE_POINTER: - if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_PointerClass)) { - AbstractMemory* memory; - TypedData_Get_Struct(rbReturnValue, AbstractMemory, &rbffi_abstract_memory_data_type, memory); - *((void **) retval) = memory->address; - } else { - /* Default to returning NULL if not a value pointer object. handles nil case as well */ - *((void **) retval) = NULL; - } - break; - - case NATIVE_BOOL: - *((ffi_arg *) retval) = rbReturnValue == Qtrue; - break; - - case NATIVE_FUNCTION: - if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_PointerClass)) { - AbstractMemory* memory; - TypedData_Get_Struct(rbReturnValue, AbstractMemory, &rbffi_abstract_memory_data_type, memory); - - *((void **) retval) = memory->address; - - } else if (rb_obj_is_kind_of(rbReturnValue, rb_cProc) || rb_respond_to(rbReturnValue, id_call)) { - VALUE function; - AbstractMemory* memory; - - function = rbffi_Function_ForProc(rbReturnType, rbReturnValue); - - TypedData_Get_Struct(function, AbstractMemory, &rbffi_abstract_memory_data_type, memory); - - *((void **) retval) = memory->address; - } else { - *((void **) retval) = NULL; - } - break; - - case NATIVE_STRUCT: - if (TYPE(rbReturnValue) == T_DATA && rb_obj_is_kind_of(rbReturnValue, rbffi_StructClass)) { - Struct* s; - AbstractMemory* memory; - - TypedData_Get_Struct(rbReturnValue, Struct, &rbffi_struct_data_type, s); - memory = s->pointer; - - if (memory->address != NULL) { - memcpy(retval, memory->address, returnType->ffiType->size); - - } else { - memset(retval, 0, returnType->ffiType->size); - } - - } else { - memset(retval, 0, returnType->ffiType->size); - } - break; - - default: - *((ffi_arg *) retval) = 0; - break; - } - - return Qnil; -} - -static VALUE -save_callback_exception(VALUE data, VALUE exc) -{ - struct gvl_callback* cb = (struct gvl_callback *) data; - - memset(cb->retval, 0, ((Function *) cb->closure->info)->info->returnType->ffiType->size); - if (cb->frame != NULL) cb->frame->exc = exc; - - return Qnil; -} - -static bool -callback_prep(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize) -{ - FunctionType* fnInfo = (FunctionType *) ctx; - ffi_status ffiStatus; - - ffiStatus = ffi_prep_closure_loc(closure->pcl, &fnInfo->ffi_cif, callback_invoke, closure, code); - if (ffiStatus != FFI_OK) { - snprintf(errmsg, errmsgsize, "ffi_prep_closure_loc failed. status=%#x", ffiStatus); - return false; - } - - return true; -} - -void -rbffi_Function_Init(VALUE moduleFFI) -{ - rbffi_FunctionInfo_Init(moduleFFI); - /* - * Document-class: FFI::Function < FFI::Pointer - */ - rbffi_FunctionClass = rb_define_class_under(moduleFFI, "Function", rbffi_PointerClass); - - rb_global_variable(&rbffi_FunctionClass); - rb_define_alloc_func(rbffi_FunctionClass, function_allocate); - - rb_define_method(rbffi_FunctionClass, "initialize", function_initialize, -1); - rb_define_method(rbffi_FunctionClass, "initialize_copy", function_initialize_copy, 1); - rb_define_method(rbffi_FunctionClass, "call", function_call, -1); - rb_define_method(rbffi_FunctionClass, "attach", function_attach, 2); - rb_define_method(rbffi_FunctionClass, "free", function_release, 0); - rb_define_method(rbffi_FunctionClass, "autorelease=", function_set_autorelease, 1); - rb_define_private_method(rbffi_FunctionClass, "type", function_type, 0); - /* - * call-seq: autorelease - * @return [Boolean] - * Get +autorelease+ attribute. - * Synonymous for {#autorelease?}. - */ - rb_define_method(rbffi_FunctionClass, "autorelease", function_autorelease_p, 0); - /* - * call-seq: autorelease? - * @return [Boolean] +autorelease+ attribute - * Get +autorelease+ attribute. - */ - rb_define_method(rbffi_FunctionClass, "autorelease?", function_autorelease_p, 0); - - id_call = rb_intern("call"); - id_cbtable = rb_intern("@__ffi_callback_table__"); - id_cb_ref = rb_intern("@__ffi_callback__"); - id_to_native = rb_intern("to_native"); - id_from_native = rb_intern("from_native"); -#if defined(DEFER_ASYNC_CALLBACK) && defined(HAVE_RB_EXT_RACTOR_SAFE) - async_cb_dispatcher_key = rb_ractor_local_storage_ptr_newkey(&async_cb_dispatcher_key_type); -#endif -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.h deleted file mode 100644 index 89b22ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_FUNCTION_H -#define RBFFI_FUNCTION_H - -#ifdef __cplusplus -extern "C" { -#endif - -# include - -#include - -typedef struct FunctionType_ FunctionType; - -#include "Type.h" -#include "Call.h" -#include "ClosurePool.h" - -struct FunctionType_ { - Type type; /* The native type of a FunctionInfo object */ - VALUE rbReturnType; - VALUE rbParameterTypes; - - Type* returnType; - Type** parameterTypes; - NativeType* nativeParameterTypes; - ffi_type* ffiReturnType; - ffi_type** ffiParameterTypes; - ffi_cif ffi_cif; - Invoker invoke; - ClosurePool* closurePool; - int parameterCount; - int flags; - ffi_abi abi; - int callbackCount; - VALUE* callbackParameters; - VALUE rbEnums; - bool ignoreErrno; - bool blocking; - bool hasStruct; -}; - -extern const rb_data_type_t rbffi_fntype_data_type; -extern VALUE rbffi_FunctionTypeClass, rbffi_FunctionClass; - -void rbffi_Function_Init(VALUE moduleFFI); -VALUE rbffi_Function_NewInstance(VALUE functionInfo, VALUE proc); -VALUE rbffi_Function_ForProc(VALUE cbInfo, VALUE proc); -void rbffi_FunctionInfo_Init(VALUE moduleFFI); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_FUNCTION_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.o deleted file mode 100644 index 4b962e7..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Function.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.c deleted file mode 100644 index 21568ef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.c +++ /dev/null @@ -1,322 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * Copyright (C) 2009 Andrea Fazzi - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -# include -#endif -#include -#include - -#include -#include - -#include -#include - -#include -#include "rbffi.h" -#include "compat.h" - -#include "AbstractMemory.h" -#include "Types.h" -#include "Type.h" -#include "StructByValue.h" -#include "Function.h" - -static VALUE fntype_allocate(VALUE klass); -static VALUE fntype_initialize(int argc, VALUE* argv, VALUE self); -static void fntype_mark(void *); -static void fntype_compact(void *); -static void fntype_free(void *); -static size_t fntype_memsize(const void *); - -const rb_data_type_t rbffi_fntype_data_type = { /* extern */ - .wrap_struct_name = "FFI::FunctionType", - .function = { - .dmark = fntype_mark, - .dfree = fntype_free, - .dsize = fntype_memsize, - ffi_compact_callback( fntype_compact ) - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -VALUE rbffi_FunctionTypeClass = Qnil; - -static VALUE -fntype_allocate(VALUE klass) -{ - FunctionType* fnInfo; - VALUE obj = TypedData_Make_Struct(klass, FunctionType, &rbffi_fntype_data_type, fnInfo); - - fnInfo->type.ffiType = &ffi_type_pointer; - fnInfo->type.nativeType = NATIVE_FUNCTION; - RB_OBJ_WRITE(obj, &fnInfo->rbReturnType, Qnil); - RB_OBJ_WRITE(obj, &fnInfo->rbParameterTypes, Qnil); - RB_OBJ_WRITE(obj, &fnInfo->rbEnums, Qnil); - fnInfo->invoke = rbffi_CallFunction; - fnInfo->closurePool = NULL; - - return obj; -} - -static void -fntype_mark(void *data) -{ - FunctionType *fnInfo = (FunctionType *)data; - rb_gc_mark_movable(fnInfo->rbReturnType); - rb_gc_mark_movable(fnInfo->rbParameterTypes); - rb_gc_mark_movable(fnInfo->rbEnums); - if (fnInfo->callbackCount > 0 && fnInfo->callbackParameters != NULL) { - size_t index; - for (index = 0; index < fnInfo->callbackCount; index++) { - rb_gc_mark_movable(fnInfo->callbackParameters[index]); - } - } -} - -static void -fntype_compact(void *data) -{ - FunctionType *fnInfo = (FunctionType *)data; - ffi_gc_location(fnInfo->rbReturnType); - ffi_gc_location(fnInfo->rbParameterTypes); - ffi_gc_location(fnInfo->rbEnums); - if (fnInfo->callbackCount > 0 && fnInfo->callbackParameters != NULL) { - size_t index; - for (index = 0; index < fnInfo->callbackCount; index++) { - ffi_gc_location(fnInfo->callbackParameters[index]); - } - } -} - -static void -fntype_free(void *data) -{ - FunctionType *fnInfo = (FunctionType *)data; - xfree(fnInfo->parameterTypes); - xfree(fnInfo->ffiParameterTypes); - xfree(fnInfo->nativeParameterTypes); - xfree(fnInfo->callbackParameters); - if (fnInfo->closurePool != NULL) { - rbffi_ClosurePool_Free(fnInfo->closurePool); - } - xfree(fnInfo); -} - -static size_t -fntype_memsize(const void *data) -{ - const FunctionType *fnInfo = (const FunctionType *)data; - - size_t memsize = sizeof(FunctionType); - memsize += fnInfo->callbackCount * sizeof(VALUE); - - memsize += fnInfo->parameterCount * ( - sizeof(*fnInfo->parameterTypes) - + sizeof(ffi_type *) - + sizeof(*fnInfo->nativeParameterTypes) - ); - - return memsize; -} - -/* - * call-seq: initialize(return_type, param_types, options={}) - * @param [Type, Symbol] return_type return type for the function - * @param [Array] param_types array of parameters types - * @param [Hash] options - * @option options [Boolean] :blocking set to true if the C function is a blocking call - * @option options [Symbol] :convention calling convention see {FFI::Library#calling_convention} - * @option options [FFI::Enums] :enums - * @return [self] - * A new FunctionType instance. - */ -static VALUE -fntype_initialize(int argc, VALUE* argv, VALUE self) -{ - FunctionType *fnInfo; - ffi_status status; - VALUE rbReturnType = Qnil, rbParamTypes = Qnil, rbOptions = Qnil; - VALUE rbEnums = Qnil, rbConvention = Qnil, rbBlocking = Qnil; -#if defined(X86_WIN32) - VALUE rbConventionStr; -#endif - int i, nargs; - - nargs = rb_scan_args(argc, argv, "21", &rbReturnType, &rbParamTypes, &rbOptions); - if (nargs >= 3 && rbOptions != Qnil) { - rbConvention = rb_hash_aref(rbOptions, ID2SYM(rb_intern("convention"))); - rbEnums = rb_hash_aref(rbOptions, ID2SYM(rb_intern("enums"))); - rbBlocking = rb_hash_aref(rbOptions, ID2SYM(rb_intern("blocking"))); - } - - Check_Type(rbParamTypes, T_ARRAY); - - TypedData_Get_Struct(self, FunctionType, &rbffi_fntype_data_type, fnInfo); - fnInfo->parameterCount = (int) RARRAY_LEN(rbParamTypes); - fnInfo->parameterTypes = xcalloc(fnInfo->parameterCount, sizeof(*fnInfo->parameterTypes)); - fnInfo->ffiParameterTypes = xcalloc(fnInfo->parameterCount, sizeof(ffi_type *)); - fnInfo->nativeParameterTypes = xcalloc(fnInfo->parameterCount, sizeof(*fnInfo->nativeParameterTypes)); - RB_OBJ_WRITE(self, &fnInfo->rbParameterTypes, rb_ary_new2(fnInfo->parameterCount)); - RB_OBJ_WRITE(self, &fnInfo->rbEnums, rbEnums); - fnInfo->blocking = RTEST(rbBlocking); - fnInfo->hasStruct = false; - - for (i = 0; i < fnInfo->parameterCount; ++i) { - VALUE entry = rb_ary_entry(rbParamTypes, i); - VALUE type = rbffi_Type_Lookup(entry); - - if (!RTEST(type)) { - VALUE typeName = rb_funcall2(entry, rb_intern("inspect"), 0, NULL); - rb_raise(rb_eTypeError, "Invalid parameter type (%s)", RSTRING_PTR(typeName)); - } - - if (rb_obj_is_kind_of(type, rbffi_FunctionTypeClass)) { - REALLOC_N(fnInfo->callbackParameters, VALUE, fnInfo->callbackCount + 1); - RB_OBJ_WRITE(self, &fnInfo->callbackParameters[fnInfo->callbackCount], type); - fnInfo->callbackCount++; - } - - if (rb_obj_is_kind_of(type, rbffi_StructByValueClass)) { - fnInfo->hasStruct = true; - } - - rb_ary_push(fnInfo->rbParameterTypes, type); - TypedData_Get_Struct(type, Type, &rbffi_type_data_type, fnInfo->parameterTypes[i]); - fnInfo->ffiParameterTypes[i] = fnInfo->parameterTypes[i]->ffiType; - fnInfo->nativeParameterTypes[i] = fnInfo->parameterTypes[i]->nativeType; - } - - RB_OBJ_WRITE(self, &fnInfo->rbReturnType, rbffi_Type_Lookup(rbReturnType)); - if (!RTEST(fnInfo->rbReturnType)) { - VALUE typeName = rb_funcall2(rbReturnType, rb_intern("inspect"), 0, NULL); - rb_raise(rb_eTypeError, "Invalid return type (%s)", RSTRING_PTR(typeName)); - } - - if (rb_obj_is_kind_of(fnInfo->rbReturnType, rbffi_StructByValueClass)) { - fnInfo->hasStruct = true; - } - - TypedData_Get_Struct(fnInfo->rbReturnType, Type, &rbffi_type_data_type, fnInfo->returnType); - fnInfo->ffiReturnType = fnInfo->returnType->ffiType; - -#if defined(X86_WIN32) - rbConventionStr = (rbConvention != Qnil) ? rb_funcall2(rbConvention, rb_intern("to_s"), 0, NULL) : Qnil; - fnInfo->abi = (rbConventionStr != Qnil && strcmp(StringValueCStr(rbConventionStr), "stdcall") == 0) - ? FFI_STDCALL : FFI_DEFAULT_ABI; -#else - fnInfo->abi = FFI_DEFAULT_ABI; -#endif - - status = ffi_prep_cif(&fnInfo->ffi_cif, fnInfo->abi, fnInfo->parameterCount, - fnInfo->ffiReturnType, fnInfo->ffiParameterTypes); - switch (status) { - case FFI_BAD_ABI: - rb_raise(rb_eArgError, "Invalid ABI specified"); - case FFI_BAD_TYPEDEF: - rb_raise(rb_eArgError, "Invalid argument type specified"); - case FFI_OK: - break; - default: - rb_raise(rb_eArgError, "Unknown FFI error"); - } - - fnInfo->invoke = rbffi_GetInvoker(fnInfo); - - rb_obj_freeze(fnInfo->rbParameterTypes); - rb_obj_freeze(self); - return self; -} - -/* - * call-seq: return_type - * @return [Type] - * Get the return type of the function type - */ -static VALUE -fntype_return_type(VALUE self) -{ - FunctionType* ft; - - TypedData_Get_Struct(self, FunctionType, &rbffi_fntype_data_type, ft); - - return ft->rbReturnType; -} - -/* - * call-seq: param_types - * @return [Array] - * Get parameters types. - */ -static VALUE -fntype_param_types(VALUE self) -{ - FunctionType* ft; - - TypedData_Get_Struct(self, FunctionType, &rbffi_fntype_data_type, ft); - - return rb_ary_dup(ft->rbParameterTypes); -} - -void -rbffi_FunctionInfo_Init(VALUE moduleFFI) -{ - VALUE ffi_Type; - - ffi_Type = rbffi_TypeClass; - - /* - * Document-class: FFI::FunctionType < FFI::Type - */ - rbffi_FunctionTypeClass = rb_define_class_under(moduleFFI, "FunctionType",ffi_Type); - rb_global_variable(&rbffi_FunctionTypeClass); - /* - * Document-const: FFI::CallbackInfo = FFI::FunctionType - */ - rb_define_const(moduleFFI, "CallbackInfo", rbffi_FunctionTypeClass); - /* - * Document-const: FFI::FunctionInfo = FFI::FunctionType - */ - rb_define_const(moduleFFI, "FunctionInfo", rbffi_FunctionTypeClass); - /* - * Document-const: FFI::Type::Function = FFI::FunctionType - */ - rb_define_const(ffi_Type, "Function", rbffi_FunctionTypeClass); - - rb_define_alloc_func(rbffi_FunctionTypeClass, fntype_allocate); - rb_define_method(rbffi_FunctionTypeClass, "initialize", fntype_initialize, -1); - rb_define_method(rbffi_FunctionTypeClass, "return_type", fntype_return_type, 0); - rb_define_method(rbffi_FunctionTypeClass, "param_types", fntype_param_types, 0); - -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.o deleted file mode 100644 index 31ac359..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.c deleted file mode 100644 index f4da301..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.c +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (C) 2009 Aman Gupta - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -# include -#endif -#include -#include -#include -#include -#include -#include - -#include "LastError.h" - -#if defined(HAVE_NATIVETHREAD) && !defined(_WIN32) && !defined(__WIN32__) -# include -# define USE_PTHREAD_LOCAL -#endif - -#if defined(__CYGWIN__) -typedef uint32_t DWORD; -DWORD __stdcall GetLastError(void); -void __stdcall SetLastError(DWORD); -#endif - -typedef struct ThreadData { - int td_errno; -#if defined(_WIN32) || defined(__CYGWIN__) - DWORD td_winapi_errno; -#endif -} ThreadData; - -#if defined(USE_PTHREAD_LOCAL) -static pthread_key_t threadDataKey; -#endif - -static inline ThreadData* thread_data_get(void); - -#if defined(USE_PTHREAD_LOCAL) - -static ThreadData* -thread_data_init(void) -{ - ThreadData* td = xcalloc(1, sizeof(ThreadData)); - - pthread_setspecific(threadDataKey, td); - - return td; -} - - -static inline ThreadData* -thread_data_get(void) -{ - ThreadData* td = pthread_getspecific(threadDataKey); - return td != NULL ? td : thread_data_init(); -} - -static void -thread_data_free(void *ptr) -{ - xfree(ptr); -} - -#else -static size_t -thread_data_memsize(const void *data) { - return sizeof(ThreadData); -} - -static const rb_data_type_t thread_data_data_type = { - .wrap_struct_name = "FFI::ThreadData", - .function = { - .dmark = NULL, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = thread_data_memsize, - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED -}; - -static ID id_thread_data; - -static ThreadData* -thread_data_init(void) -{ - ThreadData *td; - VALUE obj; - - obj = TypedData_Make_Struct(rb_cObject, ThreadData, &thread_data_data_type, td); - rb_thread_local_aset(rb_thread_current(), id_thread_data, obj); - - return td; -} - -static inline ThreadData* -thread_data_get(void) -{ - VALUE obj = rb_thread_local_aref(rb_thread_current(), id_thread_data); - - if (NIL_P(obj)) { - return thread_data_init(); - } - - ThreadData *td; - TypedData_Get_Struct(obj, ThreadData, &thread_data_data_type, td); - return td; -} - -#endif - - -/* - * call-seq: error - * @return [Numeric] - * Get +errno+ value. - */ -static VALUE -get_last_error(VALUE self) -{ - return INT2NUM(thread_data_get()->td_errno); -} - -#if defined(_WIN32) || defined(__CYGWIN__) -/* - * call-seq: winapi_error - * @return [Numeric] - * Get +GetLastError()+ value. Only Windows or Cygwin. - */ -static VALUE -get_last_winapi_error(VALUE self) -{ - return INT2NUM(thread_data_get()->td_winapi_errno); -} -#endif - - -/* - * call-seq: error(error) - * @param [Numeric] error - * @return [nil] - * Set +errno+ value. - */ -static VALUE -set_last_error(VALUE self, VALUE error) -{ -#ifdef _WIN32 - SetLastError(NUM2INT(error)); -#else - errno = NUM2INT(error); -#endif - - return Qnil; -} - -#if defined(_WIN32) || defined(__CYGWIN__) -/* - * call-seq: error(error) - * @param [Numeric] error - * @return [nil] - * Set +GetLastError()+ value. Only on Windows and Cygwin. - */ -static VALUE -set_last_winapi_error(VALUE self, VALUE error) -{ - SetLastError(NUM2INT(error)); - return Qnil; -} -#endif - - -void -rbffi_save_errno(void) -{ - int error = 0; -#ifdef _WIN32 - error = GetLastError(); -#else - error = errno; -#endif - -#if defined(_WIN32) || defined(__CYGWIN__) - DWORD winapi_error = GetLastError(); - thread_data_get()->td_winapi_errno = winapi_error; -#endif - - thread_data_get()->td_errno = error; -} - -void -rbffi_LastError_Init(VALUE moduleFFI) -{ - /* - * Document-module: FFI::LastError - * This module defines a couple of method to set and get +errno+ - * for current thread. - */ - VALUE moduleError = rb_define_module_under(moduleFFI, "LastError"); - - rb_define_module_function(moduleError, "error", get_last_error, 0); - rb_define_module_function(moduleError, "error=", set_last_error, 1); - -#if defined(_WIN32) || defined(__CYGWIN__) - rb_define_module_function(moduleError, "winapi_error", get_last_winapi_error, 0); - rb_define_module_function(moduleError, "winapi_error=", set_last_winapi_error, 1); -#endif - -#if defined(USE_PTHREAD_LOCAL) - pthread_key_create(&threadDataKey, thread_data_free); -#else - id_thread_data = rb_intern("ffi_thread_local_data"); -#endif /* USE_PTHREAD_LOCAL */ -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.h deleted file mode 100644 index ee1dfbb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_LASTERROR_H -#define RBFFI_LASTERROR_H - -#ifdef __cplusplus -extern "C" { -#endif - - -void rbffi_LastError_Init(VALUE moduleFFI); - -void rbffi_save_errno(void); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_LASTERROR_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.o deleted file mode 100644 index 9491c67..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LastError.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.c deleted file mode 100644 index c95f2fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "LongDouble.h" -#include -#include -#include - -#if defined (__CYGWIN__) || defined(__INTERIX) || defined(_MSC_VER) -# define strtold(str, endptr) ((long double) strtod((str), (endptr))) -#endif /* defined (__CYGWIN__) */ - -static VALUE rb_cBigDecimal = Qnil; -static VALUE bigdecimal_load(VALUE unused); -static VALUE bigdecimal_failed(VALUE value, VALUE exc); - -VALUE -rbffi_longdouble_new(long double ld) -{ - if (!RTEST(rb_cBigDecimal)) { - /* allow fallback if the bigdecimal library is unavailable in future ruby versions */ - rb_cBigDecimal = rb_rescue(bigdecimal_load, Qnil, bigdecimal_failed, rb_cObject); - } - - if (RTEST(rb_cBigDecimal) && rb_cBigDecimal != rb_cObject) { - char buf[128]; - return rb_funcall(rb_mKernel, rb_intern("BigDecimal"), 1, rb_str_new(buf, sprintf(buf, "%.35Le", ld))); - } - - /* Fall through to handling as a float */ - return rb_float_new(ld); -} - -long double -rbffi_num2longdouble(VALUE value) -{ - if (TYPE(value) == T_FLOAT) { - return rb_num2dbl(value); - } - - if (!RTEST(rb_cBigDecimal) && rb_const_defined(rb_cObject, rb_intern("BigDecimal"))) { - rb_cBigDecimal = rb_const_get(rb_cObject, rb_intern("BigDecimal")); - } - - if (RTEST(rb_cBigDecimal) && rb_cBigDecimal != rb_cObject && RTEST(rb_obj_is_kind_of(value, rb_cBigDecimal))) { - VALUE s = rb_funcall(value, rb_intern("to_s"), 1, rb_str_new2("E")); - long double ret = strtold(RSTRING_PTR(s), NULL); - RB_GC_GUARD(s); - return ret; - } - - /* Fall through to handling as a float */ - return rb_num2dbl(value); -} - - -static VALUE -bigdecimal_load(VALUE unused) -{ - rb_require("bigdecimal"); - return rb_const_get(rb_cObject, rb_intern("BigDecimal")); -} - -static VALUE -bigdecimal_failed(VALUE value, VALUE exc) -{ - return value; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.h deleted file mode 100644 index 079e890..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2012, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_LONGDOUBLE_H -#define RBFFI_LONGDOUBLE_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern VALUE rbffi_longdouble_new(long double ld); -extern long double rbffi_num2longdouble(VALUE value); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_LONGDOUBLE_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.o deleted file mode 100644 index e482144..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Makefile deleted file mode 100644 index bf30a7f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Makefile +++ /dev/null @@ -1,268 +0,0 @@ - -SHELL = /bin/sh - -# V=0 quiet, V=1 verbose. other values don't work. -V = 0 -Q1 = $(V:1=) -Q = $(Q1:0=@) -ECHO1 = $(V:1=@ :) -ECHO = $(ECHO1:0=@ echo) -NULLCMD = : - -#### Start of system configuration section. #### - -srcdir = . -topdir = /usr/include/ruby-3.0.0 -hdrdir = $(topdir) -arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0 -PATH_SEPARATOR = : -VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby -prefix = $(DESTDIR)/usr -rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) -rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) -rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) -exec_prefix = $(prefix) -vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby -sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby -rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) -vendorhdrdir = $(rubyhdrdir)/vendor_ruby -sitehdrdir = $(rubyhdrdir)/site_ruby -rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) -vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) -vendorlibdir = $(vendordir)/$(ruby_version) -vendordir = $(rubylibprefix)/vendor_ruby -sitearchdir = $(DESTDIR)./.gem.20231104-11184-t9w364 -sitelibdir = $(DESTDIR)./.gem.20231104-11184-t9w364 -sitedir = $(DESTDIR)/usr/local/lib/site_ruby -rubyarchdir = $(rubyarchprefix)/$(ruby_version) -rubylibdir = $(rubylibprefix)/$(ruby_version) -sitearchincludedir = $(includedir)/$(sitearch) -archincludedir = $(includedir)/$(arch) -sitearchlibdir = $(libdir)/$(sitearch) -archlibdir = $(libdir)/$(arch) -ridir = $(datarootdir)/$(RI_BASE_NAME) -mandir = $(datarootdir)/man -localedir = $(datarootdir)/locale -libdir = $(exec_prefix)/lib -psdir = $(docdir) -pdfdir = $(docdir) -dvidir = $(docdir) -htmldir = $(docdir) -infodir = $(datarootdir)/info -docdir = $(datarootdir)/doc/$(PACKAGE) -oldincludedir = $(DESTDIR)/usr/include -includedir = $(prefix)/include -runstatedir = $(DESTDIR)/var/run -localstatedir = $(DESTDIR)/var -sharedstatedir = $(prefix)/com -sysconfdir = $(DESTDIR)/etc -datadir = $(datarootdir) -datarootdir = $(prefix)/share -libexecdir = $(exec_prefix)/libexec -sbindir = $(exec_prefix)/sbin -bindir = $(exec_prefix)/bin -archdir = $(rubyarchdir) - - -CC_WRAPPER = -CC = x86_64-linux-gnu-gcc -CXX = x86_64-linux-gnu-g++ -LIBRUBY = $(LIBRUBY_SO) -LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a -LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) -LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) -empty = -OUTFLAG = -o $(empty) -COUTFLAG = -o $(empty) -CSRCFLAG = $(empty) - -RUBY_EXTCONF_H = extconf.h -cflags = $(optflags) $(debugflags) $(warnflags) -cxxflags = -optflags = -O3 -debugflags = -ggdb3 -warnflags = -cppflags = -CCDLFLAGS = -fPIC -CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC $(ARCH_FLAG) -INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -DEFS = -CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG) -ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--exclude-libs,ALL -pthread -dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -ARCH_FLAG = -DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) -LDSHARED = $(CC) -shared -LDSHAREDXX = $(CXX) -shared -AR = x86_64-linux-gnu-gcc-ar -EXEEXT = - -RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0 -RUBY_SO_NAME = ruby-3.0 -RUBYW_INSTALL_NAME = -RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) -RUBYW_BASE_NAME = rubyw -RUBY_BASE_NAME = ruby - -arch = x86_64-linux-gnu -sitearch = $(arch) -ruby_version = 3.0.0 -ruby = $(bindir)/$(RUBY_BASE_NAME)3.0 -RUBY = $(ruby) -ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h $(RUBY_EXTCONF_H) - -RM = rm -f -RM_RF = $(RUBY) -run -e rm -- -rf -RMDIRS = rmdir --ignore-fail-on-non-empty -p -MAKEDIRS = /usr/bin/mkdir -p -INSTALL = /usr/bin/install -c -INSTALL_PROG = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -m 644 -COPY = cp -TOUCH = exit > - -#### End of system configuration section. #### - -preload = -libpath = . $(archlibdir) -LIBPATH = -L. -L$(archlibdir) -DEFFILE = - -CLEANFILES = mkmf.log -DISTCLEANFILES = -DISTCLEANDIRS = - -extout = -extout_prefix = -target_prefix = -LOCAL_LIBS = -LIBS = $(LIBRUBYARG_SHARED) -lm -lc -ORIG_SRCS = AbstractMemory.c ArrayType.c Buffer.c Call.c ClosurePool.c DynamicLibrary.c Function.c FunctionInfo.c LastError.c LongDouble.c MappedType.c MemoryPointer.c MethodHandle.c Platform.c Pointer.c Struct.c StructByValue.c StructLayout.c Thread.c Type.c Types.c Variadic.c ffi.c -SRCS = $(ORIG_SRCS) -OBJS = AbstractMemory.o ArrayType.o Buffer.o Call.o ClosurePool.o DynamicLibrary.o Function.o FunctionInfo.o LastError.o LongDouble.o MappedType.o MemoryPointer.o MethodHandle.o Platform.o Pointer.o Struct.o StructByValue.o StructLayout.o Thread.o Type.o Types.o Variadic.o ffi.o -HDRS = $(srcdir)/AbstractMemory.h $(srcdir)/ArrayType.h $(srcdir)/Call.h $(srcdir)/ClosurePool.h $(srcdir)/DynamicLibrary.h $(srcdir)/Function.h $(srcdir)/LastError.h $(srcdir)/LongDouble.h $(srcdir)/MappedType.h $(srcdir)/MemoryPointer.h $(srcdir)/MethodHandle.h $(srcdir)/Platform.h $(srcdir)/Pointer.h $(srcdir)/Struct.h $(srcdir)/StructByValue.h $(srcdir)/Thread.h $(srcdir)/Type.h $(srcdir)/Types.h $(srcdir)/compat.h $(srcdir)/extconf.h $(srcdir)/rbffi.h $(srcdir)/rbffi_endian.h -LOCAL_HDRS = -TARGET = ffi_c -TARGET_NAME = ffi_c -TARGET_ENTRY = Init_$(TARGET_NAME) -DLLIB = $(TARGET).so -EXTSTATIC = -STATIC_LIB = - -TIMESTAMP_DIR = . -BINDIR = $(bindir) -RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = $(sitelibdir)$(target_prefix) -RUBYARCHDIR = $(sitearchdir)$(target_prefix) -HDRDIR = $(sitehdrdir)$(target_prefix) -ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) -TARGET_SO_DIR = -TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) -CLEANLIBS = $(TARGET_SO) -CLEANOBJS = *.o *.bak - -all: $(DLLIB) -static: $(STATIC_LIB) -.PHONY: all install static install-so install-rb -.PHONY: clean clean-so clean-static clean-rb - -clean-static:: -clean-rb-default:: -clean-rb:: -clean-so:: -clean: clean-so clean-static clean-rb-default clean-rb - -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time - -distclean-rb-default:: -distclean-rb:: -distclean-so:: -distclean-static:: -distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb - -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log - -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) - -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true - -realclean: distclean -install: install-so install-rb - -install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time - $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) -clean-static:: - -$(Q)$(RM) $(STATIC_LIB) -install-rb: pre-install-rb do-install-rb install-rb-default -install-rb-default: pre-install-rb-default do-install-rb-default -pre-install-rb: Makefile -pre-install-rb-default: Makefile -do-install-rb: -do-install-rb-default: -pre-install-rb-default: - @$(NULLCMD) -$(TIMESTAMP_DIR)/.sitearchdir.time: - $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) - $(Q) $(TOUCH) $@ - -site-install: site-install-so site-install-rb -site-install-so: install-so -site-install-rb: install-rb - -.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S - -.cc.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cc.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.mm.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.mm.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cxx.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cxx.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cpp.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cpp.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.c.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.c.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.m.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.m.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -$(TARGET_SO): $(OBJS) Makefile - $(ECHO) linking shared-object $(DLLIB) - -$(Q)$(RM) $(@) - $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) - - - -$(OBJS): $(HDRS) $(ruby_headers) -LIBFFI_HOST=--host=x86_64-linux-gnu -include ${srcdir}/libffi.mk diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.c deleted file mode 100644 index 2e506f2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.c +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (c) 2010, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#include -#include "rbffi.h" -#include "compat.h" - -#include "Type.h" -#include "MappedType.h" - - -static VALUE mapped_allocate(VALUE); -static VALUE mapped_initialize(VALUE, VALUE); -static void mapped_mark(void *); -static void mapped_compact(void *); -static size_t mapped_memsize(const void *); -static ID id_native_type, id_to_native, id_from_native; - -VALUE rbffi_MappedTypeClass = Qnil; - -static const rb_data_type_t mapped_type_data_type = { - .wrap_struct_name = "FFI::Type::Mapped", - .function = { - .dmark = mapped_mark, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = mapped_memsize, - ffi_compact_callback( mapped_compact ) - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - - -static VALUE -mapped_allocate(VALUE klass) -{ - MappedType* m; - - VALUE obj = TypedData_Make_Struct(klass, MappedType, &mapped_type_data_type, m); - - RB_OBJ_WRITE(obj, &m->rbConverter, Qnil); - RB_OBJ_WRITE(obj, &m->rbType, Qnil); - m->type = NULL; - m->base.nativeType = NATIVE_MAPPED; - m->base.ffiType = &ffi_type_void; - - return obj; -} - -/* - * call-seq: initialize(converter) - * @param [#native_type, #to_native, #from_native] converter +converter+ must respond to - * all these methods - * @return [self] - */ -static VALUE -mapped_initialize(VALUE self, VALUE rbConverter) -{ - MappedType* m = NULL; - - if (!rb_respond_to(rbConverter, id_native_type)) { - rb_raise(rb_eNoMethodError, "native_type method not implemented"); - } - - if (!rb_respond_to(rbConverter, id_to_native)) { - rb_raise(rb_eNoMethodError, "to_native method not implemented"); - } - - if (!rb_respond_to(rbConverter, id_from_native)) { - rb_raise(rb_eNoMethodError, "from_native method not implemented"); - } - - TypedData_Get_Struct(self, MappedType, &mapped_type_data_type, m); - RB_OBJ_WRITE(self, &m->rbType, rb_funcall2(rbConverter, id_native_type, 0, NULL)); - if (!(rb_obj_is_kind_of(m->rbType, rbffi_TypeClass))) { - rb_raise(rb_eTypeError, "native_type did not return instance of FFI::Type"); - } - - RB_OBJ_WRITE(self, &m->rbConverter, rbConverter); - TypedData_Get_Struct(m->rbType, Type, &rbffi_type_data_type, m->type); - m->base.ffiType = m->type->ffiType; - - rb_obj_freeze(self); - - return self; -} - -static void -mapped_mark(void* data) -{ - MappedType* m = (MappedType*)data; - rb_gc_mark_movable(m->rbType); - rb_gc_mark_movable(m->rbConverter); -} - -static void -mapped_compact(void* data) -{ - MappedType* m = (MappedType*)data; - ffi_gc_location(m->rbType); - ffi_gc_location(m->rbConverter); -} - -static size_t -mapped_memsize(const void *data) -{ - return sizeof(MappedType); -} - -/* - * call-seq: mapped_type.native_type - * @return [Type] - * Get native type of mapped type. - */ -static VALUE -mapped_native_type(VALUE self) -{ - MappedType*m = NULL; - TypedData_Get_Struct(self, MappedType, &mapped_type_data_type, m); - - return m->rbType; -} - -/* - * call-seq: mapped_type.to_native(*args) - * @param args depends on {FFI::DataConverter} used to initialize +self+ - */ -static VALUE -mapped_to_native(int argc, VALUE* argv, VALUE self) -{ - MappedType*m = NULL; - TypedData_Get_Struct(self, MappedType, &mapped_type_data_type, m); - - return rb_funcall2(m->rbConverter, id_to_native, argc, argv); -} - -/* - * call-seq: mapped_type.from_native(*args) - * @param args depends on {FFI::DataConverter} used to initialize +self+ - */ -static VALUE -mapped_from_native(int argc, VALUE* argv, VALUE self) -{ - MappedType*m = NULL; - TypedData_Get_Struct(self, MappedType, &mapped_type_data_type, m); - - return rb_funcall2(m->rbConverter, id_from_native, argc, argv); -} - -static VALUE -mapped_converter(VALUE self) -{ - MappedType*m = NULL; - TypedData_Get_Struct(self, MappedType, &mapped_type_data_type, m); - - return m->rbConverter; -} - -void -rbffi_MappedType_Init(VALUE moduleFFI) -{ - /* - * Document-class: FFI::Type::Mapped < FFI::Type - */ - rbffi_MappedTypeClass = rb_define_class_under(rbffi_TypeClass, "Mapped", rbffi_TypeClass); - - rb_global_variable(&rbffi_MappedTypeClass); - - id_native_type = rb_intern("native_type"); - id_to_native = rb_intern("to_native"); - id_from_native = rb_intern("from_native"); - - rb_define_alloc_func(rbffi_MappedTypeClass, mapped_allocate); - rb_define_method(rbffi_MappedTypeClass, "initialize", mapped_initialize, 1); - rb_define_method(rbffi_MappedTypeClass, "type", mapped_native_type, 0); - rb_define_method(rbffi_MappedTypeClass, "native_type", mapped_native_type, 0); - rb_define_method(rbffi_MappedTypeClass, "to_native", mapped_to_native, -1); - rb_define_method(rbffi_MappedTypeClass, "from_native", mapped_from_native, -1); - rb_define_method(rbffi_MappedTypeClass, "converter", mapped_converter, 0); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.h deleted file mode 100644 index 9f6f9ee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2010, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_MAPPEDTYPE_H -#define RBFFI_MAPPEDTYPE_H - - -#include - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct MappedType_ { - Type base; - Type* type; - VALUE rbConverter; - VALUE rbType; -} MappedType; - -void rbffi_MappedType_Init(VALUE moduleFFI); - -extern VALUE rbffi_MappedTypeClass; - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_MAPPEDTYPE_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.o deleted file mode 100644 index 772ff90..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.c deleted file mode 100644 index a60168e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.c +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (C) 2009 Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include "rbffi.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "MemoryPointer.h" - - -static VALUE memptr_allocate(VALUE klass); -static void memptr_release(void *data); -static size_t memptr_memsize(const void *data); -static VALUE memptr_malloc(VALUE self, long size, long count, bool clear); -static VALUE memptr_free(VALUE self); - -VALUE rbffi_MemoryPointerClass; - -#define MEMPTR(obj) ((MemoryPointer *) rbffi_AbstractMemory_Cast(obj, &memory_pointer_data_type)) - -VALUE -rbffi_MemoryPointer_NewInstance(long size, long count, bool clear) -{ - return memptr_malloc(memptr_allocate(rbffi_MemoryPointerClass), size, count, clear); -} - -static const rb_data_type_t memory_pointer_data_type = { - .wrap_struct_name = "FFI::MemoryPointer", - .function = { - .dmark = NULL, - .dfree = memptr_release, - .dsize = memptr_memsize, - }, - .parent = &rbffi_pointer_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static VALUE -memptr_allocate(VALUE klass) -{ - Pointer* p; - VALUE obj = TypedData_Make_Struct(klass, Pointer, &memory_pointer_data_type, p); - RB_OBJ_WRITE(obj, &p->rbParent, Qnil); - p->memory.flags = MEM_RD | MEM_WR; - - return obj; -} - -/* - * call-seq: initialize(size, count=1, clear=true) - * @param [Fixnum, Bignum, Symbol, FFI::Type] size size of a memory cell (in bytes, or type whom size will be used) - * @param [Numeric] count number of cells in memory - * @param [Boolean] clear set memory to all-zero if +true+ - * @return [self] - * A new instance of FFI::MemoryPointer. - */ -static VALUE -memptr_initialize(int argc, VALUE* argv, VALUE self) -{ - VALUE size = Qnil, count = Qnil, clear = Qnil; - int nargs = rb_scan_args(argc, argv, "12", &size, &count, &clear); - - memptr_malloc(self, rbffi_type_size(size), nargs > 1 ? NUM2LONG(count) : 1, - RTEST(clear) || clear == Qnil); - - if (rb_block_given_p()) { - return rb_ensure(rb_yield, self, memptr_free, self); - } - - return self; -} - -static VALUE -memptr_malloc(VALUE self, long size, long count, bool clear) -{ - Pointer* p; - unsigned long msize; - - TypedData_Get_Struct(self, Pointer, &memory_pointer_data_type, p); - - msize = size * count; - - p->storage = xmalloc(msize + 7); - if (p->storage == NULL) { - rb_raise(rb_eNoMemError, "Failed to allocate memory size=%ld bytes", msize); - return Qnil; - } - p->autorelease = true; - p->memory.typeSize = (int) size; - p->memory.size = msize; - /* ensure the memory is aligned on at least a 8 byte boundary */ - p->memory.address = (char *) (((uintptr_t) p->storage + 0x7) & (uintptr_t) ~0x7ULL); - p->allocated = true; - - if (clear && p->memory.size > 0) { - memset(p->memory.address, 0, p->memory.size); - } - - return self; -} - -static VALUE -memptr_free(VALUE self) -{ - Pointer* ptr; - - rb_check_frozen(self); - TypedData_Get_Struct(self, Pointer, &memory_pointer_data_type, ptr); - - if (ptr->allocated) { - if (ptr->storage != NULL) { - xfree(ptr->storage); - ptr->storage = NULL; - } - ptr->allocated = false; - } - - return self; -} - -static void -memptr_release(void *data) -{ - Pointer *ptr = (Pointer *)data; - if (ptr->autorelease && ptr->allocated && ptr->storage != NULL) { - xfree(ptr->storage); - ptr->storage = NULL; - } - xfree(ptr); -} - -static size_t -memptr_memsize(const void *data) -{ - const Pointer *ptr = (const Pointer *)data; - size_t memsize = sizeof(Pointer); - if (ptr->allocated) { - memsize += ptr->memory.size; - } - return memsize; -} - -/* - * call-seq: from_string(s) - * @param [String] s string - * @return [MemoryPointer] - * Create a {MemoryPointer} with +s+ inside. - */ -static VALUE -memptr_s_from_string(VALUE klass, VALUE to_str) -{ - VALUE s = StringValue(to_str); - VALUE args[] = { INT2FIX(1), LONG2NUM(RSTRING_LEN(s) + 1), Qfalse }; - VALUE obj = rb_class_new_instance(3, args, klass); - rb_funcall(obj, rb_intern("put_string"), 2, INT2FIX(0), s); - - return obj; -} - -void -rbffi_MemoryPointer_Init(VALUE moduleFFI) -{ - VALUE ffi_Pointer; - - ffi_Pointer = rbffi_PointerClass; - - /* - * Document-class: FFI::MemoryPointer < FFI::Pointer - * A MemoryPointer is a specific {Pointer}. It points to a memory composed of cells. All cells have the - * same size. - * - * @example Create a new MemoryPointer - * mp = FFI::MemoryPointer.new(:long, 16) # Create a pointer on a memory of 16 long ints. - * @example Create a new MemoryPointer from a String - * mp1 = FFI::MemoryPointer.from_string("this is a string") - * # same as: - * mp2 = FFI::MemoryPointer.new(:char,16) - * mp2.put_string("this is a string") - */ - rbffi_MemoryPointerClass = rb_define_class_under(moduleFFI, "MemoryPointer", ffi_Pointer); - rb_global_variable(&rbffi_MemoryPointerClass); - - rb_define_alloc_func(rbffi_MemoryPointerClass, memptr_allocate); - rb_define_method(rbffi_MemoryPointerClass, "initialize", memptr_initialize, -1); - rb_define_singleton_method(rbffi_MemoryPointerClass, "from_string", memptr_s_from_string, 1); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.h deleted file mode 100644 index 8106030..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (c) 2008, Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_MEMORYPOINTER_H -#define RBFFI_MEMORYPOINTER_H - -# include -#include - -#ifdef __cplusplus -extern "C" { -#endif - - extern void rbffi_MemoryPointer_Init(VALUE moduleFFI); - extern VALUE rbffi_MemoryPointerClass; - extern VALUE rbffi_MemoryPointer_NewInstance(long size, long count, bool clear); -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_MEMORYPOINTER_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.o deleted file mode 100644 index 5503d1c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.c deleted file mode 100644 index 83f7b77..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.c +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright (c) 2009, 2010 Wayne Meissner - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -#include -#endif -#include -#ifndef _WIN32 -# include -#endif -#include -#include -#include -#ifndef _WIN32 -# include -#endif -#include -#include -#if defined(HAVE_NATIVETHREAD) && !defined(_WIN32) && !defined(__WIN32__) -# include -#endif - -#include -#include "rbffi.h" -#include "compat.h" - -#include "Function.h" -#include "Types.h" -#include "Type.h" -#include "LastError.h" -#include "Call.h" -#include "ClosurePool.h" -#include "MethodHandle.h" - - -#define MAX_METHOD_FIXED_ARITY (6) - -#ifndef roundup -# define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#endif - -#ifdef USE_RAW -# define METHOD_CLOSURE ffi_raw_closure -# define METHOD_PARAMS ffi_raw* -#else -# define METHOD_CLOSURE ffi_closure -# define METHOD_PARAMS void** -#endif - - - -static bool prep_trampoline(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize); -static long trampoline_size(void); - -#if defined(__x86_64__) && \ - (defined(__linux__) || defined(__APPLE__)) && \ - !USE_FFI_ALLOC -# define CUSTOM_TRAMPOLINE 1 -#endif - - -struct MethodHandle { - Closure* closure; -}; - -static ClosurePool* defaultClosurePool; - - -MethodHandle* -rbffi_MethodHandle_Alloc(FunctionType* fnInfo, void* function) -{ - MethodHandle* handle; - Closure* closure = rbffi_Closure_Alloc(defaultClosurePool); - if (closure == NULL) { - rb_raise(rb_eNoMemError, "failed to allocate closure from pool"); - return NULL; - } - - handle = xcalloc(1, sizeof(*handle)); - handle->closure = closure; - closure->info = fnInfo; - closure->function = function; - - return handle; -} - -void -rbffi_MethodHandle_Free(MethodHandle* handle) -{ - if (handle != NULL) { - rbffi_Closure_Free(handle->closure); - xfree(handle); - } -} - -rbffi_function_anyargs rbffi_MethodHandle_CodeAddress(MethodHandle* handle) -{ - return (rbffi_function_anyargs) handle->closure->code; -} - -#ifndef CUSTOM_TRAMPOLINE -static void attached_method_invoke(ffi_cif* cif, void* retval, METHOD_PARAMS parameters, void* user_data); - -static ffi_type* methodHandleParamTypes[3]; - -static ffi_cif mh_cif; - -static bool -prep_trampoline(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize) -{ - ffi_status ffiStatus; - -#if defined(USE_RAW) - ffiStatus = ffi_prep_raw_closure(code, &mh_cif, attached_method_invoke, closure); -#else - ffiStatus = ffi_prep_closure_loc(closure->pcl, &mh_cif, attached_method_invoke, closure, code); -#endif - if (ffiStatus != FFI_OK) { - snprintf(errmsg, errmsgsize, "ffi_prep_closure_loc failed. status=%#x", ffiStatus); - return false; - } - - return true; -} - - -static long -trampoline_size(void) -{ - return sizeof(METHOD_CLOSURE); -} - -/* - * attached_method_invoke is used functions with more than 6 parameters, or - * with struct param or return values - */ -static void -attached_method_invoke(ffi_cif* cif, void* mretval, METHOD_PARAMS parameters, void* user_data) -{ - Closure* handle = (Closure *) user_data; - FunctionType* fnInfo = (FunctionType *) handle->info; - -#ifdef USE_RAW - int argc = parameters[0].sint; - VALUE* argv = *(VALUE **) ¶meters[1]; -#else - int argc = *(int *) parameters[0]; - VALUE* argv = *(VALUE **) parameters[1]; -#endif - - *(VALUE *) mretval = (*fnInfo->invoke)(argc, argv, handle->function, fnInfo); -} - -#endif - - - -#if defined(CUSTOM_TRAMPOLINE) -#if defined(__x86_64__) - -static VALUE custom_trampoline(int argc, VALUE* argv, VALUE self, Closure*); - -#define TRAMPOLINE_CTX_MAGIC (0xfee1deadcafebabe) -#define TRAMPOLINE_FUN_MAGIC (0xfeedfacebeeff00d) - -/* - * This is a hand-coded trampoline to speedup entry from ruby to the FFI translation - * layer for x86_64 arches. - * - * Since a ruby function has exactly 3 arguments, and the first 6 arguments are - * passed in registers for x86_64, we can tack on a context pointer by simply - * putting a value in %rcx, then jumping to the C trampoline code. - * - * This results in approx a 30% speedup for x86_64 FFI dispatch - */ -__asm__( - ".text\n\t" - ".globl ffi_trampoline\n\t" - ".globl _ffi_trampoline\n\t" - "ffi_trampoline:\n\t" - "_ffi_trampoline:\n\t" - "movabsq $0xfee1deadcafebabe, %rcx\n\t" - "movabsq $0xfeedfacebeeff00d, %r11\n\t" - "jmpq *%r11\n\t" - ".globl ffi_trampoline_end\n\t" - "ffi_trampoline_end:\n\t" - ".globl _ffi_trampoline_end\n\t" - "_ffi_trampoline_end:\n\t" -); - -static VALUE -custom_trampoline(int argc, VALUE* argv, VALUE self, Closure* handle) -{ - FunctionType* fnInfo = (FunctionType *) handle->info; - VALUE rbReturnValue; - - RB_GC_GUARD(rbReturnValue) = (*fnInfo->invoke)(argc, argv, handle->function, fnInfo); - RB_GC_GUARD(self); - - return rbReturnValue; -} - -#elif defined(__i386__) && 0 - -static VALUE custom_trampoline(void *args, Closure*); -#define TRAMPOLINE_CTX_MAGIC (0xfee1dead) -#define TRAMPOLINE_FUN_MAGIC (0xbeefcafe) - -/* - * This is a hand-coded trampoline to speed-up entry from ruby to the FFI translation - * layer for i386 arches. - * - * This does not make a discernible difference vs a raw closure, so for now, - * it is not enabled. - */ -__asm__( - ".text\n\t" - ".globl ffi_trampoline\n\t" - ".globl _ffi_trampoline\n\t" - "ffi_trampoline:\n\t" - "_ffi_trampoline:\n\t" - "subl $12, %esp\n\t" - "leal 16(%esp), %eax\n\t" - "movl %eax, (%esp)\n\t" - "movl $0xfee1dead, 4(%esp)\n\t" - "movl $0xbeefcafe, %eax\n\t" - "call *%eax\n\t" - "addl $12, %esp\n\t" - "ret\n\t" - ".globl ffi_trampoline_end\n\t" - "ffi_trampoline_end:\n\t" - ".globl _ffi_trampoline_end\n\t" - "_ffi_trampoline_end:\n\t" -); - -static VALUE -custom_trampoline(void *args, Closure* handle) -{ - FunctionType* fnInfo = (FunctionType *) handle->info; - return (*fnInfo->invoke)(*(int *) args, *(VALUE **) (args + 4), handle->function, fnInfo); -} - -#endif /* __x86_64__ else __i386__ */ - -extern void ffi_trampoline(int argc, VALUE* argv, VALUE self); -extern void ffi_trampoline_end(void); -static int trampoline_offsets(long *, long *); - -static long trampoline_ctx_offset, trampoline_func_offset; - -static long -trampoline_offset(int off, const long value) -{ - char *ptr; - for (ptr = (char *) &ffi_trampoline + off; ptr < (char *) &ffi_trampoline_end; ++ptr) { - if (*(long *) ptr == value) { - return ptr - (char *) &ffi_trampoline; - } - } - - return -1; -} - -static int -trampoline_offsets(long* ctxOffset, long* fnOffset) -{ - *ctxOffset = trampoline_offset(0, TRAMPOLINE_CTX_MAGIC); - if (*ctxOffset == -1) { - return -1; - } - - *fnOffset = trampoline_offset(0, TRAMPOLINE_FUN_MAGIC); - if (*fnOffset == -1) { - return -1; - } - - return 0; -} - -static bool -prep_trampoline(void* ctx, void* code, Closure* closure, char* errmsg, size_t errmsgsize) -{ - memcpy(code, (void*) &ffi_trampoline, trampoline_size()); - /* Patch the context and function addresses into the stub code */ - *(intptr_t *)((char*)code + trampoline_ctx_offset) = (intptr_t) closure; - *(intptr_t *)((char*)code + trampoline_func_offset) = (intptr_t) custom_trampoline; - - return true; -} - -static long -trampoline_size(void) -{ - return (char *) &ffi_trampoline_end - (char *) &ffi_trampoline; -} - -#endif /* CUSTOM_TRAMPOLINE */ - - -void -rbffi_MethodHandle_Init(VALUE module) -{ -#ifndef CUSTOM_TRAMPOLINE - ffi_status ffiStatus; -#endif - - defaultClosurePool = rbffi_ClosurePool_New((int) trampoline_size(), prep_trampoline, NULL); - -#if defined(CUSTOM_TRAMPOLINE) - if (trampoline_offsets(&trampoline_ctx_offset, &trampoline_func_offset) != 0) { - rb_raise(rb_eFatal, "Could not locate offsets in trampoline code"); - } -#else - methodHandleParamTypes[0] = &ffi_type_sint; - methodHandleParamTypes[1] = &ffi_type_pointer; - methodHandleParamTypes[2] = &ffi_type_ulong; - - ffiStatus = ffi_prep_cif(&mh_cif, FFI_DEFAULT_ABI, 3, &ffi_type_ulong, - methodHandleParamTypes); - if (ffiStatus != FFI_OK) { - rb_raise(rb_eFatal, "ffi_prep_cif failed. status=%#x", ffiStatus); - } - -#endif -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.h deleted file mode 100644 index 0dcc058..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_METHODHANDLE_H -#define RBFFI_METHODHANDLE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include "Function.h" - - -typedef struct MethodHandlePool MethodHandlePool; -typedef struct MethodHandle MethodHandle; -typedef VALUE (*rbffi_function_anyargs)(int argc, VALUE* argv, VALUE self); - - -MethodHandle* rbffi_MethodHandle_Alloc(FunctionType* fnInfo, void* function); -void rbffi_MethodHandle_Free(MethodHandle* handle); -rbffi_function_anyargs rbffi_MethodHandle_CodeAddress(MethodHandle* handle); -void rbffi_MethodHandle_Init(VALUE module); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_METHODHANDLE_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.o deleted file mode 100644 index eb9d20f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.c deleted file mode 100644 index 57f3219..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2008-2010 Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -# include -#endif -# include -#include -#include -#include -#include -#include "rbffi_endian.h" -#include "Platform.h" - -#if defined(__GNU__) || (defined(__GLIBC__) && !defined(__UCLIBC__)) -# include -#endif - -static VALUE PlatformModule = Qnil; - -static void -export_primitive_types(VALUE module) -{ -#define S(name, T) do { \ - typedef struct { char c; T v; } s; \ - rb_define_const(module, #name "_ALIGN", INT2NUM((sizeof(s) - sizeof(T)) * 8)); \ - rb_define_const(module, #name "_SIZE", INT2NUM(sizeof(T)* 8)); \ -} while(0) - S(INT8, char); - S(INT16, short); - S(INT32, int); - S(INT64, long long); - S(LONG, long); - S(FLOAT, float); - S(DOUBLE, double); - S(LONG_DOUBLE, long double); - S(ADDRESS, void*); -#undef S -} - -void -rbffi_Platform_Init(VALUE moduleFFI) -{ - PlatformModule = rb_define_module_under(moduleFFI, "Platform"); - rb_define_const(PlatformModule, "BYTE_ORDER", INT2FIX(BYTE_ORDER)); - rb_define_const(PlatformModule, "LITTLE_ENDIAN", INT2FIX(LITTLE_ENDIAN)); - rb_define_const(PlatformModule, "BIG_ENDIAN", INT2FIX(BIG_ENDIAN)); -#if defined(__GNU__) || (defined(__GLIBC__) && !defined(__UCLIBC__)) - rb_define_const(PlatformModule, "GNU_LIBC", rb_str_new2(LIBC_SO)); -#endif - export_primitive_types(PlatformModule); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.h deleted file mode 100644 index 5575e34..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2008-2010 Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_PLATFORM_H -#define RBFFI_PLATFORM_H - -#ifdef __cplusplus -extern "C" { -#endif - - extern void rbffi_Platform_Init(VALUE moduleFFI); - - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_PLATFORM_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.o deleted file mode 100644 index 622ccc3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Platform.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.c deleted file mode 100644 index dae853a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.c +++ /dev/null @@ -1,546 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include "rbffi.h" -#include "rbffi_endian.h" -#include "compat.h" -#include "AbstractMemory.h" -#include "Pointer.h" - -#define POINTER(obj) rbffi_AbstractMemory_Cast((obj), &rbffi_pointer_data_type) - -VALUE rbffi_PointerClass = Qnil; -VALUE rbffi_NullPointerSingleton = Qnil; - -static void ptr_release(void *data); -static void ptr_mark(void *data); -static void ptr_compact(void *data); -static size_t ptr_memsize(const void *data); - -const rb_data_type_t rbffi_pointer_data_type = { /* extern */ - .wrap_struct_name = "FFI::Pointer", - .function = { - .dmark = ptr_mark, - .dfree = ptr_release, - .dsize = ptr_memsize, - ffi_compact_callback( ptr_compact ) - }, - .parent = &rbffi_abstract_memory_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -VALUE -rbffi_Pointer_NewInstance(void* addr) -{ - Pointer* p; - VALUE obj; - - if (addr == NULL) { - return rbffi_NullPointerSingleton; - } - - obj = TypedData_Make_Struct(rbffi_PointerClass, Pointer, &rbffi_pointer_data_type, p); - p->memory.address = addr; - p->memory.size = LONG_MAX; - p->memory.flags = (addr == NULL) ? 0 : (MEM_RD | MEM_WR); - p->memory.typeSize = 1; - RB_OBJ_WRITE(obj, &p->rbParent, Qnil); - - return obj; -} - -static VALUE -ptr_allocate(VALUE klass) -{ - Pointer* p; - VALUE obj; - - obj = TypedData_Make_Struct(klass, Pointer, &rbffi_pointer_data_type, p); - RB_OBJ_WRITE(obj, &p->rbParent, Qnil); - p->memory.flags = MEM_RD | MEM_WR; - - return obj; -} - -/* - * @overload initialize(pointer) - * @param [Pointer] pointer another pointer to initialize from - * Create a new pointer from another {Pointer}. - * @overload initialize(type, address) - * @param [Type] type type for pointer - * @param [Integer] address base address for pointer - * Create a new pointer from a {Type} and a base address - * @return [self] - * A new instance of Pointer. - */ -static VALUE -ptr_initialize(int argc, VALUE* argv, VALUE self) -{ - Pointer* p; - VALUE rbType = Qnil, rbAddress = Qnil; - int typeSize = 1; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, p); - - switch (rb_scan_args(argc, argv, "11", &rbType, &rbAddress)) { - case 1: - rbAddress = rbType; - typeSize = 1; - break; - case 2: - typeSize = rbffi_type_size(rbType); - break; - default: - rb_raise(rb_eArgError, "Invalid arguments"); - } - - switch (TYPE(rbAddress)) { - case T_FIXNUM: - case T_BIGNUM: - p->memory.address = (void*) (uintptr_t) NUM2ULL(rbAddress); - p->memory.size = LONG_MAX; - if (p->memory.address == NULL) { - p->memory.flags = 0; - } - break; - - default: - if (rb_obj_is_kind_of(rbAddress, rbffi_PointerClass)) { - Pointer* orig; - - RB_OBJ_WRITE(self, &p->rbParent, rbAddress); - TypedData_Get_Struct(rbAddress, Pointer, &rbffi_pointer_data_type, orig); - p->memory = orig->memory; - } else { - rb_raise(rb_eTypeError, "wrong argument type, expected Integer or FFI::Pointer"); - } - break; - } - - p->memory.typeSize = typeSize; - - return self; -} - -/* - * call-seq: ptr.initialize_copy(other) - * @param [Pointer] other source for cloning or dupping - * @return [self] - * @raise {RuntimeError} if +other+ is an unbounded memory area, or is unreadable/unwritable - * @raise {NoMemError} if failed to allocate memory for new object - * DO NOT CALL THIS METHOD. - * - * This method is internally used by #dup and #clone. Memory content is copied from +other+. - */ -static VALUE -ptr_initialize_copy(VALUE self, VALUE other) -{ - AbstractMemory* src; - Pointer* dst; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, dst); - src = POINTER(other); - if (src->size == LONG_MAX) { - rb_raise(rb_eRuntimeError, "cannot duplicate unbounded memory area"); - return Qnil; - } - - if ((dst->memory.flags & (MEM_RD | MEM_WR)) != (MEM_RD | MEM_WR)) { - rb_raise(rb_eRuntimeError, "cannot duplicate unreadable/unwritable memory area"); - return Qnil; - } - - if (dst->storage != NULL) { - xfree(dst->storage); - dst->storage = NULL; - } - - dst->storage = xmalloc(src->size + 7); - if (dst->storage == NULL) { - rb_raise(rb_eNoMemError, "failed to allocate memory size=%lu bytes", src->size); - return Qnil; - } - - dst->allocated = true; - dst->autorelease = true; - dst->memory.address = (void *) (((uintptr_t) dst->storage + 0x7) & (uintptr_t) ~0x7ULL); - dst->memory.size = src->size; - dst->memory.typeSize = src->typeSize; - - /* finally, copy the actual memory contents */ - memcpy(dst->memory.address, src->address, src->size); - - return self; -} - -static VALUE -slice(VALUE self, long offset, long size) -{ - AbstractMemory* ptr; - Pointer* p; - VALUE retval; - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - checkBounds(ptr, offset, size == LONG_MAX ? 1 : size); - - retval = TypedData_Make_Struct(rbffi_PointerClass, Pointer, &rbffi_pointer_data_type, p); - - p->memory.address = ptr->address + offset; - p->memory.size = size; - p->memory.flags = ptr->flags; - p->memory.typeSize = ptr->typeSize; - RB_OBJ_WRITE(retval, &p->rbParent, self); - - return retval; -} - -/* - * Document-method: + - * call-seq: ptr + offset - * @param [Numeric] offset - * @return [Pointer] - * Return a new {Pointer} from an existing pointer and an +offset+. - */ -static VALUE -ptr_plus(VALUE self, VALUE offset) -{ - AbstractMemory* ptr; - long off = NUM2LONG(offset); - - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, ptr); - - return slice(self, off, ptr->size == LONG_MAX ? LONG_MAX : ptr->size - off); -} - -/* - * call-seq: ptr.slice(offset, length) - * @param [Numeric] offset - * @param [Numeric] length - * @return [Pointer] - * Return a new {Pointer} from an existing one. This pointer points on same contents - * from +offset+ for a length +length+. - */ -static VALUE -ptr_slice(VALUE self, VALUE rbOffset, VALUE rbLength) -{ - return slice(self, NUM2LONG(rbOffset), NUM2LONG(rbLength)); -} - -/* - * call-seq: ptr.inspect - * @return [String] - * Inspect pointer object. - */ -static VALUE -ptr_inspect(VALUE self) -{ - char buf[100]; - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - if (ptr->memory.size != LONG_MAX) { - snprintf(buf, sizeof(buf), "#<%s address=%p size=%lu>", - rb_obj_classname(self), ptr->memory.address, ptr->memory.size); - } else { - snprintf(buf, sizeof(buf), "#<%s address=%p>", rb_obj_classname(self), ptr->memory.address); - } - - return rb_str_new2(buf); -} - -/* - * Document-method: null? - * call-seq: ptr.null? - * @return [Boolean] - * Return +true+ if +self+ is a {NULL} pointer. - */ -static VALUE -ptr_null_p(VALUE self) -{ - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - return ptr->memory.address == NULL ? Qtrue : Qfalse; -} - -/* - * Document-method: == - * call-seq: ptr == other - * @param [Pointer] other - * Check equality between +self+ and +other+. Equality is tested on {#address}. - */ -static VALUE -ptr_equals(VALUE self, VALUE other) -{ - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - if (NIL_P(other)) { - return ptr->memory.address == NULL ? Qtrue : Qfalse; - } - - return ptr->memory.address == POINTER(other)->address ? Qtrue : Qfalse; -} - -/* - * call-seq: ptr.address - * @return [Numeric] pointer's base address - * Return +self+'s base address (alias: #to_i). - */ -static VALUE -ptr_address(VALUE self) -{ - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - return ULL2NUM((uintptr_t) ptr->memory.address); -} - -#if BYTE_ORDER == LITTLE_ENDIAN -# define SWAPPED_ORDER BIG_ENDIAN -#else -# define SWAPPED_ORDER LITTLE_ENDIAN -#endif - -/* - * Get or set +self+'s endianness - * @overload order - * @return [:big, :little] endianness of +self+ - * @overload order(order) - * @param [Symbol] order endianness to set (+:little+, +:big+ or +:network+). +:big+ and +:network+ - * are synonymous. - * @return a new pointer with the new order - */ -static VALUE -ptr_order(int argc, VALUE* argv, VALUE self) -{ - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - if (argc == 0) { - int order = (ptr->memory.flags & MEM_SWAP) == 0 ? BYTE_ORDER : SWAPPED_ORDER; - return order == BIG_ENDIAN ? ID2SYM(rb_intern("big")) : ID2SYM(rb_intern("little")); - } else { - VALUE rbOrder = Qnil; - int order = BYTE_ORDER; - - if (rb_scan_args(argc, argv, "1", &rbOrder) < 1) { - rb_raise(rb_eArgError, "need byte order"); - } - if (SYMBOL_P(rbOrder)) { - ID id = SYM2ID(rbOrder); - if (id == rb_intern("little")) { - order = LITTLE_ENDIAN; - - } else if (id == rb_intern("big") || id == rb_intern("network")) { - order = BIG_ENDIAN; - } else { - rb_raise(rb_eArgError, "unknown byte order"); - } - } - if (order != BYTE_ORDER) { - Pointer* p2; - VALUE retval = slice(self, 0, ptr->memory.size); - - TypedData_Get_Struct(retval, Pointer, &rbffi_pointer_data_type, p2); - p2->memory.flags |= MEM_SWAP; - return retval; - } - - return self; - } -} - - -/* - * call-seq: ptr.free - * @return [self] - * Free memory pointed by +self+. - */ -static VALUE -ptr_free(VALUE self) -{ - Pointer* ptr; - - rb_check_frozen(self); - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - if (ptr->allocated) { - if (ptr->storage != NULL) { - xfree(ptr->storage); - ptr->storage = NULL; - } - ptr->allocated = false; - - } else { - VALUE caller = rb_funcall(rb_funcall(Qnil, rb_intern("caller"), 0), rb_intern("first"), 0); - - rb_warn("calling free on non allocated pointer %s from %s", RSTRING_PTR(ptr_inspect(self)), RSTRING_PTR(rb_str_to_str(caller))); - } - - return self; -} - -static VALUE -ptr_type_size(VALUE self) -{ - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - return INT2NUM(ptr->memory.typeSize); -} - -/* - * call-seq: ptr.autorelease = autorelease - * @param [Boolean] autorelease - * @return [Boolean] +autorelease+ - * Set +autorelease+ attribute. See also Autorelease section. - */ -static VALUE -ptr_autorelease(VALUE self, VALUE autorelease) -{ - Pointer* ptr; - - rb_check_frozen(self); - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - ptr->autorelease = autorelease == Qtrue; - - return autorelease; -} - -/* - * call-seq: ptr.autorelease? - * @return [Boolean] - * Get +autorelease+ attribute. See also Autorelease section. - */ -static VALUE -ptr_autorelease_p(VALUE self) -{ - Pointer* ptr; - - TypedData_Get_Struct(self, Pointer, &rbffi_pointer_data_type, ptr); - - return ptr->autorelease ? Qtrue : Qfalse; -} - - -static void -ptr_release(void *data) -{ - Pointer *ptr = (Pointer *)data; - if (ptr->autorelease && ptr->allocated && ptr->storage != NULL) { - xfree(ptr->storage); - ptr->storage = NULL; - } - xfree(ptr); -} - -static void -ptr_mark(void *data) -{ - Pointer *ptr = (Pointer *)data; - rb_gc_mark_movable(ptr->rbParent); -} - -static void -ptr_compact(void *data) -{ - Pointer *ptr = (Pointer *)data; - ffi_gc_location(ptr->rbParent); -} - -static size_t -ptr_memsize(const void *data) -{ - const Pointer *ptr = (const Pointer *)data; - size_t memsize = sizeof(Pointer); - if (ptr->allocated) { - memsize += ptr->memory.size; - } - return memsize; -} - -void -rbffi_Pointer_Init(VALUE moduleFFI) -{ - VALUE rbNullAddress = ULL2NUM(0); - VALUE ffi_AbstractMemory = rbffi_AbstractMemoryClass; - - /* - * Document-class: FFI::Pointer < FFI::AbstractMemory - * Pointer class is used to manage C pointers with ease. A {Pointer} object is defined by his - * {#address} (as a C pointer). It permits additions with an integer for pointer arithmetic. - * - * == Autorelease - * By default a pointer object frees its content when it's garbage collected. - * Therefore it's usually not necessary to call {#free} explicit. - * This behaviour may be changed with {#autorelease=} method. - * If it's set to +false+, the memory isn't freed by the garbage collector, but stays valid until +free()+ is called on C level or when the process terminates. - */ - rbffi_PointerClass = rb_define_class_under(moduleFFI, "Pointer", ffi_AbstractMemory); - /* - * Document-variable: Pointer - */ - rb_global_variable(&rbffi_PointerClass); - - rb_define_alloc_func(rbffi_PointerClass, ptr_allocate); - rb_define_method(rbffi_PointerClass, "initialize", ptr_initialize, -1); - rb_define_method(rbffi_PointerClass, "initialize_copy", ptr_initialize_copy, 1); - rb_define_method(rbffi_PointerClass, "inspect", ptr_inspect, 0); - rb_define_method(rbffi_PointerClass, "to_s", ptr_inspect, 0); - rb_define_method(rbffi_PointerClass, "+", ptr_plus, 1); - rb_define_method(rbffi_PointerClass, "slice", ptr_slice, 2); - rb_define_method(rbffi_PointerClass, "null?", ptr_null_p, 0); - rb_define_method(rbffi_PointerClass, "address", ptr_address, 0); - rb_define_alias(rbffi_PointerClass, "to_i", "address"); - rb_define_method(rbffi_PointerClass, "==", ptr_equals, 1); - rb_define_method(rbffi_PointerClass, "order", ptr_order, -1); - rb_define_method(rbffi_PointerClass, "autorelease=", ptr_autorelease, 1); - rb_define_method(rbffi_PointerClass, "autorelease?", ptr_autorelease_p, 0); - rb_define_method(rbffi_PointerClass, "free", ptr_free, 0); - rb_define_method(rbffi_PointerClass, "type_size", ptr_type_size, 0); - - rbffi_NullPointerSingleton = rb_class_new_instance(1, &rbNullAddress, rbffi_PointerClass); - /* - * NULL pointer - */ - rb_define_const(rbffi_PointerClass, "NULL", rbffi_NullPointerSingleton); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.h deleted file mode 100644 index 0dfd8b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_POINTER_H -#define RBFFI_POINTER_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -#include "AbstractMemory.h" - -extern void rbffi_Pointer_Init(VALUE moduleFFI); -extern VALUE rbffi_Pointer_NewInstance(void* addr); -extern const rb_data_type_t rbffi_pointer_data_type; -extern VALUE rbffi_PointerClass; -extern VALUE rbffi_NullPointerSingleton; - -typedef struct Pointer { - AbstractMemory memory; - VALUE rbParent; - char* storage; /* start of malloc area */ - bool autorelease; - bool allocated; -} Pointer; - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_POINTER_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.o deleted file mode 100644 index 16d136a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.c deleted file mode 100644 index 8132159..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.c +++ /dev/null @@ -1,897 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (C) 2009 Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#ifndef _MSC_VER -# include -#endif -#include -#include -#include -#include "rbffi.h" -#include "compat.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "MemoryPointer.h" -#include "Function.h" -#include "Types.h" -#include "Function.h" -#include "StructByValue.h" -#include "ArrayType.h" -#include "MappedType.h" -#include "Struct.h" - -typedef struct InlineArray_ { - VALUE rbMemory; - VALUE rbField; - - AbstractMemory* memory; - StructField* field; - MemoryOp *op; - Type* componentType; - ArrayType* arrayType; - int length; -} InlineArray; - - -static void struct_mark(void *data); -static void struct_compact(void *data); -static void struct_free(void *data); -static size_t struct_memsize(const void *); -static VALUE struct_class_layout(VALUE klass); -static void struct_malloc(VALUE self, Struct* s); -static void inline_array_mark(void *); -static void inline_array_compact(void *); -static size_t inline_array_memsize(const void *); -static void store_reference_value(VALUE self, StructField* f, Struct* s, VALUE value); - -const rb_data_type_t rbffi_struct_data_type = { /* extern */ - .wrap_struct_name = "FFI::Struct", - .function = { - .dmark = struct_mark, - .dfree = struct_free, - .dsize = struct_memsize, - ffi_compact_callback( struct_compact ) - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; -VALUE rbffi_StructClass = Qnil; - -VALUE rbffi_StructInlineArrayClass = Qnil; -VALUE rbffi_StructLayoutCharArrayClass = Qnil; - -static ID id_pointer_ivar = 0, id_layout_ivar = 0; -static ID id_get = 0, id_put = 0, id_to_ptr = 0, id_to_s = 0, id_layout = 0; - -static inline char* -memory_address(VALUE self) -{ - AbstractMemory *mem; - TypedData_Get_Struct(self, AbstractMemory, &rbffi_abstract_memory_data_type, mem); - return mem->address; -} - -static VALUE -struct_allocate(VALUE klass) -{ - Struct* s; - VALUE obj = TypedData_Make_Struct(klass, Struct, &rbffi_struct_data_type, s); - - RB_OBJ_WRITE(obj, &s->rbPointer, Qnil); - RB_OBJ_WRITE(obj, &s->rbLayout, Qnil); - - return obj; -} - -/* - * call-seq: initialize - * @overload initialize(pointer, *args) - * @param [AbstractMemory] pointer - * @param [Array] args - * @return [self] - */ -static VALUE -struct_initialize(int argc, VALUE* argv, VALUE self) -{ - Struct* s; - VALUE rbPointer = Qnil, rest = Qnil, klass = CLASS_OF(self); - int nargs; - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - - nargs = rb_scan_args(argc, argv, "01*", &rbPointer, &rest); - - /* Call up into ruby code to adjust the layout */ - if (nargs > 1) { - VALUE rbLayout = rb_apply(CLASS_OF(self), id_layout, rest); - RB_OBJ_WRITE(self, &s->rbLayout, rbLayout); - } else { - RB_OBJ_WRITE(self, &s->rbLayout, struct_class_layout(klass)); - } - - if (!rb_obj_is_kind_of(s->rbLayout, rbffi_StructLayoutClass)) { - rb_raise(rb_eRuntimeError, "Invalid Struct layout"); - } - - TypedData_Get_Struct(s->rbLayout, StructLayout, &rbffi_struct_layout_data_type, s->layout); - - if (rbPointer != Qnil) { - s->pointer = MEMORY(rbPointer); - RB_OBJ_WRITE(self, &s->rbPointer, rbPointer); - } else { - struct_malloc(self, s); - } - - return self; -} - -/* - * call-seq: initialize_copy(other) - * @return [nil] - * DO NOT CALL THIS METHOD - */ -static VALUE -struct_initialize_copy(VALUE self, VALUE other) -{ - Struct* src; - Struct* dst; - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, dst); - TypedData_Get_Struct(other, Struct, &rbffi_struct_data_type, src); - if (dst == src) { - return self; - } - - RB_OBJ_WRITE(self, &dst->rbLayout, src->rbLayout); - dst->layout = src->layout; - - /* - * A new MemoryPointer instance is allocated here instead of just calling - * #dup on rbPointer, since the Pointer may not know its length, or may - * be longer than just this struct. - */ - if (src->pointer->address != NULL) { - RB_OBJ_WRITE(self, &dst->rbPointer, rbffi_MemoryPointer_NewInstance(1, src->layout->size, false)); - dst->pointer = MEMORY(dst->rbPointer); - memcpy(dst->pointer->address, src->pointer->address, src->layout->size); - } else { - RB_OBJ_WRITE(self, &dst->rbPointer, src->rbPointer); - dst->pointer = src->pointer; - } - - if (src->layout->referenceFieldCount > 0) { - size_t index; - - dst->rbReferences = ALLOC_N(VALUE, dst->layout->referenceFieldCount); - memcpy(dst->rbReferences, src->rbReferences, dst->layout->referenceFieldCount * sizeof(VALUE)); - for ( index = 0; index < dst->layout->referenceFieldCount; index++) { - RB_OBJ_WRITTEN(self, Qundef, &dst->rbReferences[index]); - } - } - - return self; -} - -static VALUE -struct_class_layout(VALUE klass) -{ - VALUE layout; - if (!rb_ivar_defined(klass, id_layout_ivar)) { - rb_raise(rb_eRuntimeError, "no Struct layout configured for %s", rb_class2name(klass)); - } - - layout = rb_ivar_get(klass, id_layout_ivar); - if (!rb_obj_is_kind_of(layout, rbffi_StructLayoutClass)) { - rb_raise(rb_eRuntimeError, "invalid Struct layout for %s", rb_class2name(klass)); - } - - return layout; -} - -static StructLayout* -struct_layout(VALUE self) -{ - Struct* s; - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - if (s->layout != NULL) { - return s->layout; - } - - if (s->layout == NULL) { - RB_OBJ_WRITE(self, &s->rbLayout, struct_class_layout(CLASS_OF(self))); - TypedData_Get_Struct(s->rbLayout, StructLayout, &rbffi_struct_layout_data_type, s->layout); - } - - return s->layout; -} - -static Struct* -struct_validate(VALUE self) -{ - Struct* s; - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - - if (struct_layout(self) == NULL) { - rb_raise(rb_eRuntimeError, "struct layout == null"); - } - - if (s->pointer == NULL) { - struct_malloc(self, s); - } - - return s; -} - -static void -struct_malloc(VALUE self, Struct* s) -{ - if (s->rbPointer == Qnil) { - RB_OBJ_WRITE(self, &s->rbPointer, rbffi_MemoryPointer_NewInstance(s->layout->size, 1, true)); - } else if (!rb_obj_is_kind_of(s->rbPointer, rbffi_AbstractMemoryClass)) { - rb_raise(rb_eRuntimeError, "invalid pointer in struct"); - } - - TypedData_Get_Struct(s->rbPointer, AbstractMemory, &rbffi_abstract_memory_data_type, s->pointer); -} - -static void -struct_mark(void *data) -{ - Struct *s = (Struct *)data; - rb_gc_mark_movable(s->rbPointer); - rb_gc_mark_movable(s->rbLayout); - if (s->rbReferences != NULL) { - size_t index; - for (index = 0; index < s->layout->referenceFieldCount; index++) { - rb_gc_mark_movable(s->rbReferences[index]); - } - } -} - -static void -struct_compact(void *data) -{ - Struct *s = (Struct *)data; - ffi_gc_location(s->rbPointer); - ffi_gc_location(s->rbLayout); - if (s->rbReferences != NULL) { - size_t index; - for (index = 0; index < s->layout->referenceFieldCount; index++) { - ffi_gc_location(s->rbReferences[index]); - } - } -} - -static void -struct_free(void *data) -{ - Struct *s = (Struct *)data; - xfree(s->rbReferences); - xfree(s); -} - -static size_t -struct_memsize(const void *data) -{ - const Struct *s = (const Struct *)data; - return sizeof(Struct) + (s->layout->referenceFieldCount * sizeof(VALUE)); -} - -static void -store_reference_value(VALUE self, StructField* f, Struct* s, VALUE value) -{ - if (unlikely(f->referenceIndex == -1)) { - rb_raise(rb_eRuntimeError, "put_reference_value called for non-reference type"); - return; - } - if (s->rbReferences == NULL) { - int i; - s->rbReferences = ALLOC_N(VALUE, s->layout->referenceFieldCount); - for (i = 0; i < s->layout->referenceFieldCount; ++i) { - RB_OBJ_WRITE(self, &s->rbReferences[i], Qnil); - } - } - - RB_OBJ_WRITE(self, &s->rbReferences[f->referenceIndex], value); -} - - -static StructField * -struct_field(Struct* s, VALUE fieldName) -{ - StructLayout* layout = s->layout; - struct field_cache_entry *p_ce = FIELD_CACHE_LOOKUP(layout, fieldName); - - /* Do a hash lookup only if cache entry is empty or fieldName is unexpected? */ - if (unlikely(!SYMBOL_P(fieldName) || !p_ce->fieldName || p_ce->fieldName != fieldName)) { - VALUE rbField = rb_hash_aref(layout->rbFieldMap, fieldName); - if (unlikely(NIL_P(rbField))) { - VALUE str = rb_funcall2(fieldName, id_to_s, 0, NULL); - rb_raise(rb_eArgError, "No such field '%s'", StringValueCStr(str)); - } - /* Write the retrieved coder to the cache */ - RB_OBJ_WRITE(s->rbLayout, &p_ce->fieldName, fieldName); - TypedData_Get_Struct(rbField, StructField, &rbffi_struct_field_data_type, p_ce->field); - } - - return p_ce->field; -} - -/* - * call-seq: struct[field_name] - * @param field_name field to access - * Acces to a Struct field. - */ -static VALUE -struct_aref(VALUE self, VALUE fieldName) -{ - Struct* s; - StructField* f; - - s = struct_validate(self); - - f = struct_field(s, fieldName); - if (f->memoryOp != NULL) { - return (*f->memoryOp->get)(s->pointer, f->offset); - - } else { - VALUE rbField = rb_hash_aref(s->layout->rbFieldMap, fieldName); - /* call up to the ruby code to fetch the value */ - return rb_funcall2(rbField, id_get, 1, &s->rbPointer); - } -} - -/* - * call-seq: []=(field_name, value) - * @param field_name field to access - * @param value value to set to +field_name+ - * @return [value] - * Set a field in Struct. - */ -static VALUE -struct_aset(VALUE self, VALUE fieldName, VALUE value) -{ - Struct* s; - StructField* f; - - rb_check_frozen(self); - s = struct_validate(self); - - f = struct_field(s, fieldName); - if (f->memoryOp != NULL) { - - (*f->memoryOp->put)(s->pointer, f->offset, value); - - } else { - VALUE rbField = rb_hash_aref(s->layout->rbFieldMap, fieldName); - /* call up to the ruby code to set the value */ - VALUE argv[2]; - argv[0] = s->rbPointer; - argv[1] = value; - rb_funcall2(rbField, id_put, 2, argv); - } - - if (f->referenceRequired) { - store_reference_value(self, f, s, value); - } - - return value; -} - -/* - * call-seq: pointer= pointer - * @param [AbstractMemory] pointer - * @return [self] - * Make Struct point to +pointer+. - */ -static VALUE -struct_set_pointer(VALUE self, VALUE pointer) -{ - Struct* s; - StructLayout* layout; - AbstractMemory* memory; - - rb_check_frozen(self); - if (!rb_obj_is_kind_of(pointer, rbffi_AbstractMemoryClass)) { - rb_raise(rb_eTypeError, "wrong argument type %s (expected Pointer or Buffer)", - rb_obj_classname(pointer)); - return Qnil; - } - - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - TypedData_Get_Struct(pointer, AbstractMemory, &rbffi_abstract_memory_data_type, memory); - layout = struct_layout(self); - - if ((int) layout->base.ffiType->size > memory->size) { - rb_raise(rb_eArgError, "memory of %ld bytes too small for struct %s (expected at least %ld)", - memory->size, rb_obj_classname(self), (long) layout->base.ffiType->size); - } - - s->pointer = MEMORY(pointer); - RB_OBJ_WRITE(self, &s->rbPointer, pointer); - rb_ivar_set(self, id_pointer_ivar, pointer); - - return self; -} - -/* - * call-seq: pointer - * @return [AbstractMemory] - * Get pointer to Struct contents. - */ -static VALUE -struct_get_pointer(VALUE self) -{ - Struct* s; - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - - return s->rbPointer; -} - -/* - * call-seq: layout= layout - * @param [StructLayout] layout - * @return [self] - * Set the Struct's layout. - */ -static VALUE -struct_set_layout(VALUE self, VALUE layout) -{ - Struct* s; - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - - rb_check_frozen(self); - if (!rb_obj_is_kind_of(layout, rbffi_StructLayoutClass)) { - rb_raise(rb_eTypeError, "wrong argument type %s (expected %s)", - rb_obj_classname(layout), rb_class2name(rbffi_StructLayoutClass)); - return Qnil; - } - - TypedData_Get_Struct(layout, StructLayout, &rbffi_struct_layout_data_type, s->layout); - rb_ivar_set(self, id_layout_ivar, layout); - - return self; -} - -/* - * call-seq: layout - * @return [StructLayout] - * Get the Struct's layout. - */ -static VALUE -struct_get_layout(VALUE self) -{ - Struct* s; - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - - return s->rbLayout; -} - -/* - * call-seq: null? - * @return [Boolean] - * Test if Struct's pointer is NULL - */ -static VALUE -struct_null_p(VALUE self) -{ - Struct* s; - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - - return s->pointer->address == NULL ? Qtrue : Qfalse; -} - -/* - * (see Pointer#order) - */ -static VALUE -struct_order(int argc, VALUE* argv, VALUE self) -{ - Struct* s; - - TypedData_Get_Struct(self, Struct, &rbffi_struct_data_type, s); - if (argc == 0) { - return rb_funcall(s->rbPointer, rb_intern("order"), 0); - - } else { - VALUE retval = rb_obj_dup(self); - VALUE rbPointer = rb_funcall2(s->rbPointer, rb_intern("order"), argc, argv); - struct_set_pointer(retval, rbPointer); - - return retval; - } -} - -static const rb_data_type_t inline_array_data_type = { - .wrap_struct_name = "FFI::Struct::InlineArray", - .function = { - .dmark = inline_array_mark, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = inline_array_memsize, - ffi_compact_callback( inline_array_compact ) - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static VALUE -inline_array_allocate(VALUE klass) -{ - InlineArray* array; - VALUE obj; - - obj = TypedData_Make_Struct(klass, InlineArray, &inline_array_data_type, array); - RB_OBJ_WRITE(obj, &array->rbMemory, Qnil); - RB_OBJ_WRITE(obj, &array->rbField, Qnil); - - return obj; -} - -static void -inline_array_mark(void *data) -{ - InlineArray *array = (InlineArray *)data; - rb_gc_mark_movable(array->rbField); - rb_gc_mark_movable(array->rbMemory); -} - -static void -inline_array_compact(void *data) -{ - InlineArray *array = (InlineArray *)data; - ffi_gc_location(array->rbField); - ffi_gc_location(array->rbMemory); -} - -static size_t -inline_array_memsize(const void *data) -{ - return sizeof(InlineArray); -} - -/* - * Document-method: FFI::Struct::InlineArray#initialize - * call-seq: initialize(memory, field) - * @param [AbstractMemory] memory - * @param [StructField] field - * @return [self] - */ -static VALUE -inline_array_initialize(VALUE self, VALUE rbMemory, VALUE rbField) -{ - InlineArray* array; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - RB_OBJ_WRITE(self, &array->rbMemory, rbMemory); - RB_OBJ_WRITE(self, &array->rbField, rbField); - - TypedData_Get_Struct(rbMemory, AbstractMemory, &rbffi_abstract_memory_data_type, array->memory); - TypedData_Get_Struct(rbField, StructField, &rbffi_struct_field_data_type, array->field); - TypedData_Get_Struct(array->field->rbType, ArrayType, &rbffi_array_type_data_type, array->arrayType); - TypedData_Get_Struct(array->arrayType->rbComponentType, Type, &rbffi_type_data_type, array->componentType); - - array->op = get_memory_op(array->componentType); - if (array->op == NULL && array->componentType->nativeType == NATIVE_MAPPED) { - array->op = get_memory_op(((MappedType *) array->componentType)->type); - } - - array->length = array->arrayType->length; - - return self; -} - -/* - * call-seq: size - * @return [Numeric] - * Get size - */ -static VALUE -inline_array_size(VALUE self) -{ - InlineArray* array; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - - return UINT2NUM(((ArrayType *) array->field->type)->length); -} - -static int -inline_array_offset(InlineArray* array, int index) -{ - if (index < 0 || (index >= array->length && array->length > 0)) { - rb_raise(rb_eIndexError, "index %d out of bounds", index); - } - - return (int) array->field->offset + (index * (int) array->componentType->ffiType->size); -} - -/* - * call-seq: [](index) - * @param [Numeric] index - * @return [Type, Struct] - */ -static VALUE -inline_array_aref(VALUE self, VALUE rbIndex) -{ - InlineArray* array; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - - if (array->op != NULL) { - VALUE rbNativeValue = array->op->get(array->memory, - inline_array_offset(array, NUM2INT(rbIndex))); - if (unlikely(array->componentType->nativeType == NATIVE_MAPPED)) { - return rb_funcall(((MappedType *) array->componentType)->rbConverter, - rb_intern("from_native"), 2, rbNativeValue, Qnil); - } else { - return rbNativeValue; - } - - } else if (array->componentType->nativeType == NATIVE_STRUCT) { - VALUE rbOffset = INT2NUM(inline_array_offset(array, NUM2INT(rbIndex))); - VALUE rbLength = INT2NUM(array->componentType->ffiType->size); - VALUE rbPointer = rb_funcall(array->rbMemory, rb_intern("slice"), 2, rbOffset, rbLength); - - return rb_class_new_instance(1, &rbPointer, ((StructByValue *) array->componentType)->rbStructClass); - } else { - - rb_raise(rb_eArgError, "get not supported for %s", rb_obj_classname(array->arrayType->rbComponentType)); - return Qnil; - } -} - -/* - * call-seq: []=(index, value) - * @param [Numeric] index - * @param [Type, Struct] - * @return [value] - */ -static VALUE -inline_array_aset(VALUE self, VALUE rbIndex, VALUE rbValue) -{ - InlineArray* array; - - rb_check_frozen(self); - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - - if (array->op != NULL) { - if (unlikely(array->componentType->nativeType == NATIVE_MAPPED)) { - rbValue = rb_funcall(((MappedType *) array->componentType)->rbConverter, - rb_intern("to_native"), 2, rbValue, Qnil); - } - array->op->put(array->memory, inline_array_offset(array, NUM2INT(rbIndex)), - rbValue); - - } else if (array->componentType->nativeType == NATIVE_STRUCT) { - int offset = inline_array_offset(array, NUM2INT(rbIndex)); - Struct* s; - - if (!rb_obj_is_kind_of(rbValue, rbffi_StructClass)) { - rb_raise(rb_eTypeError, "argument not an instance of struct"); - return Qnil; - } - - checkWrite(array->memory); - checkBounds(array->memory, offset, array->componentType->ffiType->size); - - TypedData_Get_Struct(rbValue, Struct, &rbffi_struct_data_type, s); - checkRead(s->pointer); - checkBounds(s->pointer, 0, array->componentType->ffiType->size); - - memcpy(array->memory->address + offset, s->pointer->address, array->componentType->ffiType->size); - - } else { - ArrayType* arrayType; - TypedData_Get_Struct(array->field->rbType, ArrayType, &rbffi_array_type_data_type, arrayType); - - rb_raise(rb_eArgError, "set not supported for %s", rb_obj_classname(arrayType->rbComponentType)); - return Qnil; - } - - return rbValue; -} - -/* - * call-seq: each - * Yield block for each element of +self+. - */ -static VALUE -inline_array_each(VALUE self) -{ - InlineArray* array; - - int i; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - - for (i = 0; i < array->length; ++i) { - rb_yield(inline_array_aref(self, INT2FIX(i))); - } - - return self; -} - -/* - * call-seq: to_a - * @return [Array] - * Convert +self+ to an array. - */ -static VALUE -inline_array_to_a(VALUE self) -{ - InlineArray* array; - VALUE obj; - int i; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - obj = rb_ary_new2(array->length); - - - for (i = 0; i < array->length; ++i) { - rb_ary_push(obj, inline_array_aref(self, INT2FIX(i))); - } - - return obj; -} - -/* - * Document-method: FFI::StructLayout::CharArray#to_s - * call-seq: to_s - * @return [String] - * Convert +self+ to a string. - */ -static VALUE -inline_array_to_s(VALUE self) -{ - InlineArray* array; - VALUE argv[2]; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - - if (array->componentType->nativeType != NATIVE_INT8 && array->componentType->nativeType != NATIVE_UINT8) { - VALUE dummy = Qnil; - return rb_call_super(0, &dummy); - } - - argv[0] = UINT2NUM(array->field->offset); - argv[1] = UINT2NUM(array->length); - - return rb_funcall2(array->rbMemory, rb_intern("get_string"), 2, argv); -} - -/* - * call-seq: to_ptr - * @return [AbstractMemory] - * Get pointer to +self+ content. - */ -static VALUE -inline_array_to_ptr(VALUE self) -{ - InlineArray* array; - - TypedData_Get_Struct(self, InlineArray, &inline_array_data_type, array); - - return rb_funcall(array->rbMemory, rb_intern("slice"), 2, - UINT2NUM(array->field->offset), UINT2NUM(array->arrayType->base.ffiType->size)); -} - - -void -rbffi_Struct_Init(VALUE moduleFFI) -{ - VALUE StructClass; - - rbffi_StructLayout_Init(moduleFFI); - - /* - * Document-class: FFI::Struct - * - * A FFI::Struct means to mirror a C struct. - * - * A Struct is defined as: - * class MyStruct < FFI::Struct - * layout :value1, :int, - * :value2, :double - * end - * and is used as: - * my_struct = MyStruct.new - * my_struct[:value1] = 12 - * - * For more information, see http://github.com/ffi/ffi/wiki/Structs - */ - rbffi_StructClass = rb_define_class_under(moduleFFI, "Struct", rb_cObject); - StructClass = rbffi_StructClass; // put on a line alone to help RDoc - rb_global_variable(&rbffi_StructClass); - - /* - * Document-class: FFI::Struct::InlineArray - */ - rbffi_StructInlineArrayClass = rb_define_class_under(rbffi_StructClass, "InlineArray", rb_cObject); - rb_global_variable(&rbffi_StructInlineArrayClass); - - /* - * Document-class: FFI::StructLayout::CharArray < FFI::Struct::InlineArray - */ - rbffi_StructLayoutCharArrayClass = rb_define_class_under(rbffi_StructLayoutClass, "CharArray", - rbffi_StructInlineArrayClass); - rb_global_variable(&rbffi_StructLayoutCharArrayClass); - - - rb_define_alloc_func(StructClass, struct_allocate); - rb_define_method(StructClass, "initialize", struct_initialize, -1); - rb_define_method(StructClass, "initialize_copy", struct_initialize_copy, 1); - rb_define_method(StructClass, "order", struct_order, -1); - - rb_define_alias(rb_singleton_class(StructClass), "alloc_in", "new"); - rb_define_alias(rb_singleton_class(StructClass), "alloc_out", "new"); - rb_define_alias(rb_singleton_class(StructClass), "alloc_inout", "new"); - rb_define_alias(rb_singleton_class(StructClass), "new_in", "new"); - rb_define_alias(rb_singleton_class(StructClass), "new_out", "new"); - rb_define_alias(rb_singleton_class(StructClass), "new_inout", "new"); - - rb_define_method(StructClass, "pointer", struct_get_pointer, 0); - rb_define_private_method(StructClass, "pointer=", struct_set_pointer, 1); - - rb_define_method(StructClass, "layout", struct_get_layout, 0); - rb_define_private_method(StructClass, "layout=", struct_set_layout, 1); - - rb_define_method(StructClass, "[]", struct_aref, 1); - rb_define_method(StructClass, "[]=", struct_aset, 2); - rb_define_method(StructClass, "null?", struct_null_p, 0); - - rb_include_module(rbffi_StructInlineArrayClass, rb_mEnumerable); - rb_define_alloc_func(rbffi_StructInlineArrayClass, inline_array_allocate); - rb_define_method(rbffi_StructInlineArrayClass, "initialize", inline_array_initialize, 2); - rb_define_method(rbffi_StructInlineArrayClass, "[]", inline_array_aref, 1); - rb_define_method(rbffi_StructInlineArrayClass, "[]=", inline_array_aset, 2); - rb_define_method(rbffi_StructInlineArrayClass, "each", inline_array_each, 0); - rb_define_method(rbffi_StructInlineArrayClass, "size", inline_array_size, 0); - rb_define_method(rbffi_StructInlineArrayClass, "to_a", inline_array_to_a, 0); - rb_define_method(rbffi_StructInlineArrayClass, "to_ptr", inline_array_to_ptr, 0); - - rb_define_method(rbffi_StructLayoutCharArrayClass, "to_s", inline_array_to_s, 0); - rb_define_alias(rbffi_StructLayoutCharArrayClass, "to_str", "to_s"); - - id_pointer_ivar = rb_intern("@pointer"); - id_layout_ivar = rb_intern("@layout"); - id_layout = rb_intern("layout"); - id_get = rb_intern("get"); - id_put = rb_intern("put"); - id_to_ptr = rb_intern("to_ptr"); - id_to_s = rb_intern("to_s"); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.h deleted file mode 100644 index b86607d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (c) 2009, Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_STRUCT_H -#define RBFFI_STRUCT_H - -#include "extconf.h" -#include "AbstractMemory.h" -#include "Type.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - - extern void rbffi_Struct_Init(VALUE ffiModule); - extern void rbffi_StructLayout_Init(VALUE ffiModule); - extern const rb_data_type_t rbffi_struct_layout_data_type; - extern const rb_data_type_t rbffi_struct_field_data_type; - - typedef struct StructField_ StructField; - typedef struct StructLayout_ StructLayout; - typedef struct Struct_ Struct; - - struct StructField_ { - Type* type; - unsigned int offset; - - int referenceIndex; - - bool referenceRequired; - VALUE rbType; - VALUE rbName; - - MemoryOp* memoryOp; - }; - - struct StructLayout_ { - Type base; - StructField** fields; - int fieldCount; - int size; - int align; - ffi_type** ffiTypes; - - /* - * We use the fieldName's minor 8 Bits as index to a 256 entry cache. - * This avoids full ruby hash lookups for repeated lookups. - */ - #define FIELD_CACHE_LOOKUP(this, sym) ( &(this)->cache_row[((sym) >> 8) & 0xff] ) - #define FIELD_CACHE_ROWS 0x100 - - struct field_cache_entry { - VALUE fieldName; - StructField *field; - } cache_row[FIELD_CACHE_ROWS]; - - /** The number of reference tracking fields in this struct */ - int referenceFieldCount; - - VALUE rbFieldNames; - VALUE rbFieldMap; - VALUE rbFields; - }; - - struct Struct_ { - StructLayout* layout; - AbstractMemory* pointer; - VALUE* rbReferences; - - VALUE rbLayout; - VALUE rbPointer; - }; - - extern const rb_data_type_t rbffi_struct_data_type; - extern const rb_data_type_t rbffi_struct_field_data_type; - extern VALUE rbffi_StructClass, rbffi_StructLayoutClass; - extern VALUE rbffi_StructLayoutFieldClass, rbffi_StructLayoutFunctionFieldClass; - extern VALUE rbffi_StructLayoutArrayFieldClass; - extern VALUE rbffi_StructInlineArrayClass; - extern VALUE rbffi_StructLayoutCharArrayClass; - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_STRUCT_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.o deleted file mode 100644 index 5230a6a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Struct.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.c deleted file mode 100644 index df03684..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -#include -#endif -#include -#include -#include -#include -#include -#include - -#include -#include "rbffi.h" -#include "compat.h" - -#include "Type.h" -#include "StructByValue.h" -#include "Struct.h" - -#define FFI_ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1) - -static VALUE sbv_allocate(VALUE); -static VALUE sbv_initialize(VALUE, VALUE); -static void sbv_mark(void *); -static void sbv_compact(void *); -static void sbv_free(void *); -static size_t sbv_memsize(const void *); - -VALUE rbffi_StructByValueClass = Qnil; - -static const rb_data_type_t sbv_type_data_type = { - .wrap_struct_name = "FFI::StructByValue", - .function = { - .dmark = sbv_mark, - .dfree = sbv_free, - .dsize = sbv_memsize, - ffi_compact_callback( sbv_compact ) - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static VALUE -sbv_allocate(VALUE klass) -{ - StructByValue* sbv; - - VALUE obj = TypedData_Make_Struct(klass, StructByValue, &sbv_type_data_type, sbv); - - RB_OBJ_WRITE(obj, &sbv->rbStructClass, Qnil); - RB_OBJ_WRITE(obj, &sbv->rbStructLayout, Qnil); - sbv->base.nativeType = NATIVE_STRUCT; - - sbv->base.ffiType = xcalloc(1, sizeof(*sbv->base.ffiType)); - sbv->base.ffiType->size = 0; - sbv->base.ffiType->alignment = 1; - sbv->base.ffiType->type = FFI_TYPE_STRUCT; - - return obj; -} - -static VALUE -sbv_initialize(VALUE self, VALUE rbStructClass) -{ - StructByValue* sbv = NULL; - StructLayout* layout = NULL; - VALUE rbLayout = Qnil; - - rbLayout = rb_ivar_get(rbStructClass, rb_intern("@layout")); - if (!rb_obj_is_instance_of(rbLayout, rbffi_StructLayoutClass)) { - rb_raise(rb_eTypeError, "wrong type in @layout ivar (expected FFI::StructLayout)"); - } - - TypedData_Get_Struct(rbLayout, StructLayout, &rbffi_struct_layout_data_type, layout); - TypedData_Get_Struct(self, StructByValue, &sbv_type_data_type, sbv); - RB_OBJ_WRITE(self, &sbv->rbStructClass, rbStructClass); - RB_OBJ_WRITE(self, &sbv->rbStructLayout, rbLayout); - - /* We can just use everything from the ffi_type directly */ - *sbv->base.ffiType = *layout->base.ffiType; - - return self; -} - -static void -sbv_mark(void *data) -{ - StructByValue *sbv = (StructByValue *)data; - rb_gc_mark_movable(sbv->rbStructClass); - rb_gc_mark_movable(sbv->rbStructLayout); -} - -static void -sbv_compact(void *data) -{ - StructByValue *sbv = (StructByValue *)data; - ffi_gc_location(sbv->rbStructClass); - ffi_gc_location(sbv->rbStructLayout); -} - -static void -sbv_free(void *data) -{ - StructByValue *sbv = (StructByValue *)data; - xfree(sbv->base.ffiType); - xfree(sbv); -} - -static size_t -sbv_memsize(const void *data) -{ - const StructByValue *sbv = (const StructByValue *)data; - return sizeof(StructByValue) + sizeof(*sbv->base.ffiType); -} - -static VALUE -sbv_layout(VALUE self) -{ - StructByValue* sbv; - - TypedData_Get_Struct(self, StructByValue, &sbv_type_data_type, sbv); - return sbv->rbStructLayout; -} - -static VALUE -sbv_struct_class(VALUE self) -{ - StructByValue* sbv; - - TypedData_Get_Struct(self, StructByValue, &sbv_type_data_type, sbv); - - return sbv->rbStructClass; -} - -void -rbffi_StructByValue_Init(VALUE moduleFFI) -{ - rbffi_StructByValueClass = rb_define_class_under(moduleFFI, "StructByValue", rbffi_TypeClass); - rb_global_variable(&rbffi_StructByValueClass); - rb_define_const(rbffi_TypeClass, "Struct", rbffi_StructByValueClass); - - rb_define_alloc_func(rbffi_StructByValueClass, sbv_allocate); - rb_define_method(rbffi_StructByValueClass, "initialize", sbv_initialize, 1); - rb_define_method(rbffi_StructByValueClass, "layout", sbv_layout, 0); - rb_define_method(rbffi_StructByValueClass, "struct_class", sbv_struct_class, 0); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.h deleted file mode 100644 index 07b2763..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_STRUCTBYVALUE_H -#define RBFFI_STRUCTBYVALUE_H - -#include -#include "Type.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct StructByValue_ { - Type base; - VALUE rbStructClass; - VALUE rbStructLayout; -} StructByValue; - -void rbffi_StructByValue_Init(VALUE moduleFFI); - -extern VALUE rbffi_StructByValueClass; - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_STRUCTBYVALUE_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.o deleted file mode 100644 index f712309..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.c deleted file mode 100644 index a56d48f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.c +++ /dev/null @@ -1,769 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (c) 2009, Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#ifndef _MSC_VER -# include -#endif -#include -#include -#include -#include "rbffi.h" -#include "compat.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "MemoryPointer.h" -#include "Function.h" -#include "Types.h" -#include "StructByValue.h" -#include "ArrayType.h" -#include "Function.h" -#include "MappedType.h" -#include "Struct.h" - -#define FFI_ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1) - -static void struct_layout_mark(void *); -static void struct_layout_compact(void *); -static void struct_layout_free(void *); -static size_t struct_layout_memsize(const void *); -static void struct_field_mark(void *); -static void struct_field_compact(void *); -static size_t struct_field_memsize(const void *); - -VALUE rbffi_StructLayoutFieldClass = Qnil; -VALUE rbffi_StructLayoutNumberFieldClass = Qnil, rbffi_StructLayoutPointerFieldClass = Qnil; -VALUE rbffi_StructLayoutStringFieldClass = Qnil; -VALUE rbffi_StructLayoutFunctionFieldClass = Qnil, rbffi_StructLayoutArrayFieldClass = Qnil; - -VALUE rbffi_StructLayoutClass = Qnil; - -const rb_data_type_t rbffi_struct_layout_data_type = { /* extern */ - .wrap_struct_name = "FFI::StructLayout", - .function = { - .dmark = struct_layout_mark, - .dfree = struct_layout_free, - .dsize = struct_layout_memsize, - ffi_compact_callback( struct_layout_compact ) - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -const rb_data_type_t rbffi_struct_field_data_type = { /* extern */ - .wrap_struct_name = "FFI::StructField", - .function = { - .dmark = struct_field_mark, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = struct_field_memsize, - ffi_compact_callback( struct_field_compact ) - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static VALUE -struct_field_allocate(VALUE klass) -{ - StructField* field; - VALUE obj; - - obj = TypedData_Make_Struct(klass, StructField, &rbffi_struct_field_data_type, field); - RB_OBJ_WRITE(obj, &field->rbType, Qnil); - RB_OBJ_WRITE(obj, &field->rbName, Qnil); - - return obj; -} - -static void -struct_field_mark(void *data) -{ - StructField *f = (StructField *)data; - rb_gc_mark_movable(f->rbType); - rb_gc_mark_movable(f->rbName); -} - -static void -struct_field_compact(void *data) -{ - StructField *f = (StructField *)data; - ffi_gc_location(f->rbType); - ffi_gc_location(f->rbName); -} - -static size_t -struct_field_memsize(const void *data) -{ - return sizeof(StructField); -} - -/* - * call-seq: initialize(name, offset, type) - * @param [String,Symbol] name - * @param [Fixnum] offset - * @param [FFI::Type] type - * @return [self] - * A new FFI::StructLayout::Field instance. - */ -static VALUE -struct_field_initialize(int argc, VALUE* argv, VALUE self) -{ - VALUE rbOffset = Qnil, rbName = Qnil, rbType = Qnil; - StructField* field; - int nargs; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, field); - - nargs = rb_scan_args(argc, argv, "3", &rbName, &rbOffset, &rbType); - - if (TYPE(rbName) != T_SYMBOL && TYPE(rbName) != T_STRING) { - rb_raise(rb_eTypeError, "wrong argument type %s (expected Symbol/String)", - rb_obj_classname(rbName)); - } - - Check_Type(rbOffset, T_FIXNUM); - - if (!rb_obj_is_kind_of(rbType, rbffi_TypeClass)) { - rb_raise(rb_eTypeError, "wrong argument type %s (expected FFI::Type)", - rb_obj_classname(rbType)); - } - - field->offset = NUM2UINT(rbOffset); - RB_OBJ_WRITE(self, &field->rbName, (TYPE(rbName) == T_SYMBOL) ? rbName : rb_str_intern(rbName)); - RB_OBJ_WRITE(self, &field->rbType, rbType); - TypedData_Get_Struct(field->rbType, Type, &rbffi_type_data_type, field->type); - field->memoryOp = get_memory_op(field->type); - field->referenceIndex = -1; - - switch (field->type->nativeType == NATIVE_MAPPED ? ((MappedType *) field->type)->type->nativeType : field->type->nativeType) { - case NATIVE_FUNCTION: - case NATIVE_POINTER: - field->referenceRequired = true; - break; - - default: - field->referenceRequired = (rb_respond_to(self, rb_intern("reference_required?")) - && RTEST(rb_funcall2(self, rb_intern("reference_required?"), 0, NULL))) - || (rb_respond_to(rbType, rb_intern("reference_required?")) - && RTEST(rb_funcall2(rbType, rb_intern("reference_required?"), 0, NULL))); - break; - } - - rb_obj_freeze(self); - - return self; -} - -/* - * call-seq: offset - * @return [Numeric] - * Get the field offset. - */ -static VALUE -struct_field_offset(VALUE self) -{ - StructField* field; - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, field); - return UINT2NUM(field->offset); -} - -/* - * call-seq: size - * @return [Numeric] - * Get the field size. - */ -static VALUE -struct_field_size(VALUE self) -{ - StructField* field; - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, field); - return UINT2NUM(field->type->ffiType->size); -} - -/* - * call-seq: alignment - * @return [Numeric] - * Get the field alignment. - */ -static VALUE -struct_field_alignment(VALUE self) -{ - StructField* field; - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, field); - return UINT2NUM(field->type->ffiType->alignment); -} - -/* - * call-seq: type - * @return [Type] - * Get the field type. - */ -static VALUE -struct_field_type(VALUE self) -{ - StructField* field; - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, field); - - return field->rbType; -} - -/* - * call-seq: name - * @return [Symbol] - * Get the field name. - */ -static VALUE -struct_field_name(VALUE self) -{ - StructField* field; - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, field); - return field->rbName; -} - -/* - * call-seq: get(pointer) - * @param [AbstractMemory] pointer pointer on a {Struct} - * @return [Object] - * Get an object of type {#type} from memory pointed by +pointer+. - */ -static VALUE -struct_field_get(VALUE self, VALUE pointer) -{ - StructField* f; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, f); - if (f->memoryOp == NULL) { - rb_raise(rb_eArgError, "get not supported for %s", rb_obj_classname(f->rbType)); - return Qnil; - } - - return (*f->memoryOp->get)(MEMORY(pointer), f->offset); -} - -/* - * call-seq: put(pointer, value) - * @param [AbstractMemory] pointer pointer on a {Struct} - * @param [Object] value this object must be a kind of {#type} - * @return [self] - * Put an object to memory pointed by +pointer+. - */ -static VALUE -struct_field_put(VALUE self, VALUE pointer, VALUE value) -{ - StructField* f; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, f); - if (f->memoryOp == NULL) { - rb_raise(rb_eArgError, "put not supported for %s", rb_obj_classname(f->rbType)); - return self; - } - - (*f->memoryOp->put)(MEMORY(pointer), f->offset, value); - - return self; -} - -/* - * call-seq: get(pointer) - * @param [AbstractMemory] pointer pointer on a {Struct} - * @return [Function] - * Get a {Function} from memory pointed by +pointer+. - */ -static VALUE -function_field_get(VALUE self, VALUE pointer) -{ - StructField* f; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, f); - - return rbffi_Function_NewInstance(f->rbType, (*rbffi_AbstractMemoryOps.pointer->get)(MEMORY(pointer), f->offset)); -} - -/* - * call-seq: put(pointer, proc) - * @param [AbstractMemory] pointer pointer to a {Struct} - * @param [Function, Proc] proc - * @return [Function] - * Set a {Function} to memory pointed by +pointer+ as a function. - * - * If a Proc is submitted as +proc+, it is automatically transformed to a {Function}. - */ -static VALUE -function_field_put(VALUE self, VALUE pointer, VALUE proc) -{ - StructField* f; - VALUE value = Qnil; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, f); - - if (NIL_P(proc) || rb_obj_is_kind_of(proc, rbffi_FunctionClass)) { - value = proc; - } else if (rb_obj_is_kind_of(proc, rb_cProc) || rb_respond_to(proc, rb_intern("call"))) { - value = rbffi_Function_ForProc(f->rbType, proc); - } else { - rb_raise(rb_eTypeError, "wrong type (expected Proc or Function)"); - } - - (*rbffi_AbstractMemoryOps.pointer->put)(MEMORY(pointer), f->offset, value); - - return self; -} - -static inline bool -isCharArray(ArrayType* arrayType) -{ - return arrayType->componentType->nativeType == NATIVE_INT8 - || arrayType->componentType->nativeType == NATIVE_UINT8; -} - -/* - * call-seq: get(pointer) - * @param [AbstractMemory] pointer pointer on a {Struct} - * @return [FFI::StructLayout::CharArray, FFI::Struct::InlineArray] - * Get an array from a {Struct}. - */ -static VALUE -array_field_get(VALUE self, VALUE pointer) -{ - StructField* f; - ArrayType* array; - VALUE argv[2]; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, f); - TypedData_Get_Struct(f->rbType, ArrayType, &rbffi_array_type_data_type, array); - - argv[0] = pointer; - argv[1] = self; - - return rb_class_new_instance(2, argv, isCharArray(array) - ? rbffi_StructLayoutCharArrayClass : rbffi_StructInlineArrayClass); -} - -/* - * call-seq: put(pointer, value) - * @param [AbstractMemory] pointer pointer on a {Struct} - * @param [String, Array] value +value+ may be a String only if array's type is a kind of +int8+ - * @return [value] - * Set an array in a {Struct}. - */ -static VALUE -array_field_put(VALUE self, VALUE pointer, VALUE value) -{ - StructField* f; - ArrayType* array; - - TypedData_Get_Struct(self, StructField, &rbffi_struct_field_data_type, f); - TypedData_Get_Struct(f->rbType, ArrayType, &rbffi_array_type_data_type, array); - - if (isCharArray(array) && rb_obj_is_instance_of(value, rb_cString)) { - VALUE argv[2]; - - argv[0] = INT2FIX(f->offset); - argv[1] = value; - - if (RSTRING_LEN(value) < array->length) { - rb_funcall2(pointer, rb_intern("put_string"), 2, argv); - } else if (RSTRING_LEN(value) == array->length) { - rb_funcall2(pointer, rb_intern("put_bytes"), 2, argv); - } else { - rb_raise(rb_eIndexError, "String is longer (%ld bytes) than the char array (%d bytes)", RSTRING_LEN(value), array->length); - } - } else { -#ifdef notyet - MemoryOp* op; - int count = RARRAY_LEN(value); - int i; - AbstractMemory* memory = MEMORY(pointer); - - if (count > array->length) { - rb_raise(rb_eIndexError, "array too large"); - } - - /* clear the contents in case of a short write */ - checkWrite(memory); - checkBounds(memory, f->offset, f->type->ffiType->size); - if (count < array->length) { - memset(memory->address + f->offset + (count * array->componentType->ffiType->size), - 0, (array->length - count) * array->componentType->ffiType->size); - } - - /* now copy each element in */ - if ((op = get_memory_op(array->componentType)) != NULL) { - - for (i = 0; i < count; ++i) { - (*op->put)(memory, f->offset + (i * array->componentType->ffiType->size), rb_ary_entry(value, i)); - } - - } else if (array->componentType->nativeType == NATIVE_STRUCT) { - - for (i = 0; i < count; ++i) { - VALUE entry = rb_ary_entry(value, i); - Struct* s; - - TypedData_Get_Struct(entry, Struct, &rbffi_struct_data_type, s); - - checkRead(s->pointer); - checkBounds(s->pointer, 0, array->componentType->ffiType->size); - - memcpy(memory->address + f->offset + (i * array->componentType->ffiType->size), - s->pointer->address, array->componentType->ffiType->size); - } - - } else { - rb_raise(rb_eNotImpError, "put not supported for arrays of type %s", rb_obj_classname(array->rbComponentType)); - } -#else - rb_raise(rb_eNotImpError, "cannot set array field"); -#endif - } - - return value; -} - - -static VALUE -struct_layout_allocate(VALUE klass) -{ - StructLayout* layout; - VALUE obj; - - obj = TypedData_Make_Struct(klass, StructLayout, &rbffi_struct_layout_data_type, layout); - layout->rbFieldMap = Qnil; - layout->rbFieldNames = Qnil; - layout->rbFields = Qnil; - layout->base.ffiType = xcalloc(1, sizeof(*layout->base.ffiType)); - layout->base.ffiType->size = 0; - layout->base.ffiType->alignment = 0; - layout->base.ffiType->type = FFI_TYPE_STRUCT; - - return obj; -} - -/* - * call-seq: initialize(fields, size, align) - * @param [Array] fields - * @param [Numeric] size - * @param [Numeric] align - * @return [self] - * A new StructLayout instance. - */ -static VALUE -struct_layout_initialize(VALUE self, VALUE fields, VALUE size, VALUE align) -{ - StructLayout* layout; - ffi_type* ltype; - int i; - - TypedData_Get_Struct(self, StructLayout, &rbffi_struct_layout_data_type, layout); - layout->fieldCount = (int) RARRAY_LEN(fields); - layout->rbFieldMap = rb_hash_new(); - layout->rbFieldNames = rb_ary_new2(layout->fieldCount); - layout->size = (int) FFI_ALIGN(NUM2INT(size), NUM2INT(align)); - layout->align = NUM2INT(align); - layout->fields = xcalloc(layout->fieldCount, sizeof(StructField *)); - layout->ffiTypes = xcalloc(layout->fieldCount + 1, sizeof(ffi_type *)); - layout->rbFields = rb_ary_new2(layout->fieldCount); - layout->referenceFieldCount = 0; - layout->base.ffiType->elements = layout->ffiTypes; - layout->base.ffiType->size = layout->size; - layout->base.ffiType->alignment = layout->align; - - ltype = layout->base.ffiType; - for (i = 0; i < (int) layout->fieldCount; ++i) { - VALUE rbField = rb_ary_entry(fields, i); - VALUE rbName; - StructField* field; - ffi_type* ftype; - - - if (!rb_obj_is_kind_of(rbField, rbffi_StructLayoutFieldClass)) { - rb_raise(rb_eTypeError, "wrong type for field %d.", i); - } - rbName = rb_funcall2(rbField, rb_intern("name"), 0, NULL); - - TypedData_Get_Struct(rbField, StructField, &rbffi_struct_field_data_type, field); - layout->fields[i] = field; - - if (field->type == NULL || field->type->ffiType == NULL) { - rb_raise(rb_eRuntimeError, "type of field %d not supported", i); - } - - ftype = field->type->ffiType; - if (ftype->size == 0 && i < ((int) layout->fieldCount - 1)) { - rb_raise(rb_eTypeError, "type of field %d has zero size", i); - } - - if (field->referenceRequired) { - field->referenceIndex = layout->referenceFieldCount++; - } - - - layout->ffiTypes[i] = ftype->size > 0 ? ftype : NULL; - rb_hash_aset(layout->rbFieldMap, rbName, rbField); - rb_ary_push(layout->rbFields, rbField); - rb_ary_push(layout->rbFieldNames, rbName); - } - - if (ltype->size == 0) { - rb_raise(rb_eRuntimeError, "Struct size is zero"); - } - - rb_obj_freeze(layout->rbFieldMap); - rb_obj_freeze(layout->rbFields); - rb_obj_freeze(layout->rbFieldNames); - rb_obj_freeze(self); - - return self; -} - -/* - * call-seq: [](field) - * @param [Symbol] field - * @return [StructLayout::Field] - * Get a field from the layout. - */ -static VALUE -struct_layout_union_bang(VALUE self) -{ - const ffi_type *alignment_types[] = { &ffi_type_sint8, &ffi_type_sint16, &ffi_type_sint32, &ffi_type_sint64, - &ffi_type_float, &ffi_type_double, &ffi_type_longdouble, NULL }; - StructLayout* layout; - ffi_type *t = NULL; - int count, i; - - TypedData_Get_Struct(self, StructLayout, &rbffi_struct_layout_data_type, layout); - - for (i = 0; alignment_types[i] != NULL; ++i) { - if (alignment_types[i]->alignment == layout->align) { - t = (ffi_type *) alignment_types[i]; - break; - } - } - if (t == NULL) { - rb_raise(rb_eRuntimeError, "cannot create libffi union representation for alignment %d", layout->align); - return Qnil; - } - - count = (int) layout->size / (int) t->size; - xfree(layout->ffiTypes); - layout->ffiTypes = xcalloc(count + 1, sizeof(ffi_type *)); - layout->base.ffiType->elements = layout->ffiTypes; - - for (i = 0; i < count; ++i) { - layout->ffiTypes[i] = t; - } - - return self; -} - -static VALUE -struct_layout_aref(VALUE self, VALUE field) -{ - StructLayout* layout; - - TypedData_Get_Struct(self, StructLayout, &rbffi_struct_layout_data_type, layout); - - return rb_hash_aref(layout->rbFieldMap, field); -} - -/* - * call-seq: fields - * @return [Array] - * Get fields list. - */ -static VALUE -struct_layout_fields(VALUE self) -{ - StructLayout* layout; - - TypedData_Get_Struct(self, StructLayout, &rbffi_struct_layout_data_type, layout); - - return rb_ary_dup(layout->rbFields); -} - -/* - * call-seq: members - * @return [Array] - * Get list of field names. - */ -static VALUE -struct_layout_members(VALUE self) -{ - StructLayout* layout; - - TypedData_Get_Struct(self, StructLayout, &rbffi_struct_layout_data_type, layout); - - return rb_ary_dup(layout->rbFieldNames); -} - -/* - * call-seq: to_a - * @return [Array] - * Get an array of fields. - */ -static VALUE -struct_layout_to_a(VALUE self) -{ - StructLayout* layout; - - TypedData_Get_Struct(self, StructLayout, &rbffi_struct_layout_data_type, layout); - - return rb_ary_dup(layout->rbFields); -} - -static void -struct_layout_mark(void *data) -{ - StructLayout *layout = (StructLayout *)data; - rb_gc_mark_movable(layout->rbFieldMap); - rb_gc_mark_movable(layout->rbFieldNames); - rb_gc_mark_movable(layout->rbFields); - /* The values stored in layout->cache_row.fieldName are primary stored in layout->rbFieldMap and are marked there */ -} - -static void -struct_layout_compact(void *data) -{ - StructLayout *layout = (StructLayout *)data; - ffi_gc_location(layout->rbFieldMap); - ffi_gc_location(layout->rbFieldNames); - ffi_gc_location(layout->rbFields); - - /* Clear the cache, to be safe from changes of fieldName VALUE by GC.compact */ - memset(&layout->cache_row, 0, sizeof(layout->cache_row)); -} - -static void -struct_layout_free(void *data) -{ - StructLayout *layout = (StructLayout *)data; - xfree(layout->ffiTypes); - xfree(layout->base.ffiType); - xfree(layout->fields); - xfree(layout); -} - - -static size_t -struct_layout_memsize(const void * data) -{ - const StructLayout *layout = (const StructLayout *)data; - size_t memsize = sizeof(StructLayout); - memsize += layout->fieldCount * (sizeof(StructField *) + sizeof(ffi_type *)); - memsize += sizeof(*layout->base.ffiType); - return memsize; -} - -void -rbffi_StructLayout_Init(VALUE moduleFFI) -{ - VALUE ffi_Type = rbffi_TypeClass; - - /* - * Document-class: FFI::StructLayout < FFI::Type - * - * This class aims at defining a struct layout. - */ - rbffi_StructLayoutClass = rb_define_class_under(moduleFFI, "StructLayout", ffi_Type); - rb_global_variable(&rbffi_StructLayoutClass); - - /* - * Document-class: FFI::StructLayout::Field - * A field in a {StructLayout}. - */ - rbffi_StructLayoutFieldClass = rb_define_class_under(rbffi_StructLayoutClass, "Field", rb_cObject); - rb_global_variable(&rbffi_StructLayoutFieldClass); - - /* - * Document-class: FFI::StructLayout::Number - * A numeric {Field} in a {StructLayout}. - */ - rbffi_StructLayoutNumberFieldClass = rb_define_class_under(rbffi_StructLayoutClass, "Number", rbffi_StructLayoutFieldClass); - rb_global_variable(&rbffi_StructLayoutNumberFieldClass); - - /* - * Document-class: FFI::StructLayout::String - * A string {Field} in a {StructLayout}. - */ - rbffi_StructLayoutStringFieldClass = rb_define_class_under(rbffi_StructLayoutClass, "String", rbffi_StructLayoutFieldClass); - rb_global_variable(&rbffi_StructLayoutStringFieldClass); - - /* - * Document-class: FFI::StructLayout::Pointer - * A pointer {Field} in a {StructLayout}. - */ - rbffi_StructLayoutPointerFieldClass = rb_define_class_under(rbffi_StructLayoutClass, "Pointer", rbffi_StructLayoutFieldClass); - rb_global_variable(&rbffi_StructLayoutPointerFieldClass); - - /* - * Document-class: FFI::StructLayout::Function - * A function pointer {Field} in a {StructLayout}. - */ - rbffi_StructLayoutFunctionFieldClass = rb_define_class_under(rbffi_StructLayoutClass, "Function", rbffi_StructLayoutFieldClass); - rb_global_variable(&rbffi_StructLayoutFunctionFieldClass); - - /* - * Document-class: FFI::StructLayout::Array - * An array {Field} in a {StructLayout}. - */ - rbffi_StructLayoutArrayFieldClass = rb_define_class_under(rbffi_StructLayoutClass, "Array", rbffi_StructLayoutFieldClass); - rb_global_variable(&rbffi_StructLayoutArrayFieldClass); - - rb_define_alloc_func(rbffi_StructLayoutFieldClass, struct_field_allocate); - rb_define_method(rbffi_StructLayoutFieldClass, "initialize", struct_field_initialize, -1); - rb_define_method(rbffi_StructLayoutFieldClass, "offset", struct_field_offset, 0); - rb_define_method(rbffi_StructLayoutFieldClass, "size", struct_field_size, 0); - rb_define_method(rbffi_StructLayoutFieldClass, "alignment", struct_field_alignment, 0); - rb_define_method(rbffi_StructLayoutFieldClass, "name", struct_field_name, 0); - rb_define_method(rbffi_StructLayoutFieldClass, "type", struct_field_type, 0); - rb_define_method(rbffi_StructLayoutFieldClass, "put", struct_field_put, 2); - rb_define_method(rbffi_StructLayoutFieldClass, "get", struct_field_get, 1); - - rb_define_method(rbffi_StructLayoutFunctionFieldClass, "put", function_field_put, 2); - rb_define_method(rbffi_StructLayoutFunctionFieldClass, "get", function_field_get, 1); - - rb_define_method(rbffi_StructLayoutArrayFieldClass, "get", array_field_get, 1); - rb_define_method(rbffi_StructLayoutArrayFieldClass, "put", array_field_put, 2); - - rb_define_alloc_func(rbffi_StructLayoutClass, struct_layout_allocate); - rb_define_method(rbffi_StructLayoutClass, "initialize", struct_layout_initialize, 3); - rb_define_method(rbffi_StructLayoutClass, "[]", struct_layout_aref, 1); - rb_define_method(rbffi_StructLayoutClass, "fields", struct_layout_fields, 0); - rb_define_method(rbffi_StructLayoutClass, "members", struct_layout_members, 0); - rb_define_method(rbffi_StructLayoutClass, "to_a", struct_layout_to_a, 0); - rb_define_method(rbffi_StructLayoutClass, "__union!", struct_layout_union_bang, 0); - -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.o deleted file mode 100644 index c68f143..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.c deleted file mode 100644 index f6a8387..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (c) 2010 Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include - -#if defined(__CYGWIN__) || !defined(_WIN32) -# include -# include -# include -# include -#else -# include -# define _WINSOCKAPI_ -# include -#endif -#include -#include "Thread.h" - -#ifdef _WIN32 -static volatile DWORD frame_thread_key = TLS_OUT_OF_INDEXES; -#else -static pthread_key_t thread_data_key; -struct thread_data { - rbffi_frame_t* frame; -}; -static inline struct thread_data* thread_data_get(void); - -#endif - -rbffi_frame_t* -rbffi_frame_current(void) -{ -#ifdef _WIN32 - return (rbffi_frame_t *) TlsGetValue(frame_thread_key); -#else - struct thread_data* td = (struct thread_data *) pthread_getspecific(thread_data_key); - return td != NULL ? td->frame : NULL; -#endif -} - -void -rbffi_frame_push(rbffi_frame_t* frame) -{ - memset(frame, 0, sizeof(*frame)); - frame->exc = Qnil; - -#ifdef _WIN32 - frame->prev = TlsGetValue(frame_thread_key); - TlsSetValue(frame_thread_key, frame); -#else - frame->td = thread_data_get(); - frame->prev = frame->td->frame; - frame->td->frame = frame; -#endif -} - -void -rbffi_frame_pop(rbffi_frame_t* frame) -{ -#ifdef _WIN32 - TlsSetValue(frame_thread_key, frame->prev); -#else - frame->td->frame = frame->prev; -#endif -} - -#ifndef _WIN32 -static struct thread_data* thread_data_init(void); - -static inline struct thread_data* -thread_data_get(void) -{ - struct thread_data* td = (struct thread_data *) pthread_getspecific(thread_data_key); - return td != NULL ? td : thread_data_init(); -} - -static struct thread_data* -thread_data_init(void) -{ - struct thread_data* td = calloc(1, sizeof(struct thread_data)); - - pthread_setspecific(thread_data_key, td); - - return td; -} - -static void -thread_data_free(void *ptr) -{ - free(ptr); -} -#endif - -void -rbffi_Thread_Init(VALUE moduleFFI) -{ -#ifdef _WIN32 - frame_thread_key = TlsAlloc(); -#else - pthread_key_create(&thread_data_key, thread_data_free); -#endif -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.h deleted file mode 100644 index 8c335e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2010 Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_THREAD_H -#define RBFFI_THREAD_H - -#include -#include -#include "extconf.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifdef _WIN32 -# include -#else -# include -#endif - -typedef struct { -#ifdef _WIN32 - DWORD id; -#else - pthread_t id; -#endif - bool valid; - bool has_gvl; - VALUE exc; -} rbffi_thread_t; - -typedef struct rbffi_frame { -#ifndef _WIN32 - struct thread_data* td; -#endif - struct rbffi_frame* prev; - VALUE exc; -} rbffi_frame_t; - -rbffi_frame_t* rbffi_frame_current(void); -void rbffi_frame_push(rbffi_frame_t* frame); -void rbffi_frame_pop(rbffi_frame_t* frame); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_THREAD_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.o deleted file mode 100644 index 92d74d4..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Thread.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.c deleted file mode 100644 index a94c009..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.c +++ /dev/null @@ -1,447 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -# include -#endif - -#include -#include -#if HAVE_RB_EXT_RACTOR_SAFE -#include -#endif -#include -#include "rbffi.h" -#include "compat.h" -#include "Types.h" -#include "Type.h" - -static size_t type_memsize(const void *); - -typedef struct BuiltinType_ { - Type type; - const char* name; -} BuiltinType; - -static size_t builtin_type_memsize(const void *); - -VALUE rbffi_TypeClass = Qnil; - -static VALUE classBuiltinType = Qnil; -static VALUE moduleNativeType = Qnil; -static VALUE typeMap = Qnil; -static ID id_type_size = 0, id_size = 0; -#if HAVE_RB_EXT_RACTOR_SAFE -static rb_ractor_local_key_t custom_typedefs_key; -#endif - -const rb_data_type_t rbffi_type_data_type = { /* extern */ - .wrap_struct_name = "FFI::Type", - .function = { - .dmark = NULL, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = type_memsize, - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static const rb_data_type_t builtin_type_data_type = { - .wrap_struct_name = "FFI::Type::Builtin", - .function = { - .dmark = NULL, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = builtin_type_memsize, - }, - .parent = &rbffi_type_data_type, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - -static size_t -type_memsize(const void *data) -{ - return sizeof(Type); -} - -static VALUE -type_allocate(VALUE klass) -{ - Type* type; - VALUE obj = TypedData_Make_Struct(klass, Type, &rbffi_type_data_type, type); - - type->nativeType = -1; - type->ffiType = &ffi_type_void; - - return obj; -} - -/* - * Document-method: initialize - * call-seq: initialize(value) - * @param [Fixnum,Type] value - * @return [self] - */ -static VALUE -type_initialize(VALUE self, VALUE value) -{ - Type* type; - Type* other; - - TypedData_Get_Struct(self, Type, &rbffi_type_data_type, type); - - if (FIXNUM_P(value)) { - type->nativeType = FIX2INT(value); - } else if (rb_obj_is_kind_of(value, rbffi_TypeClass)) { - TypedData_Get_Struct(value, Type, &rbffi_type_data_type, other); - type->nativeType = other->nativeType; - type->ffiType = other->ffiType; - } else { - rb_raise(rb_eArgError, "wrong type"); - } - - rb_obj_freeze(self); - - return self; -} - -/* - * call-seq: type.size - * @return [Fixnum] - * Return type's size, in bytes. - */ -static VALUE -type_size(VALUE self) -{ - Type *type; - - TypedData_Get_Struct(self, Type, &rbffi_type_data_type, type); - - return INT2FIX(type->ffiType->size); -} - -/* - * call-seq: type.alignment - * @return [Fixnum] - * Get Type alignment. - */ -static VALUE -type_alignment(VALUE self) -{ - Type *type; - - TypedData_Get_Struct(self, Type, &rbffi_type_data_type, type); - - return INT2FIX(type->ffiType->alignment); -} - -/* - * call-seq: type.inspect - * @return [String] - * Inspect {Type} object. - */ -static VALUE -type_inspect(VALUE self) -{ - char buf[100]; - Type *type; - - TypedData_Get_Struct(self, Type, &rbffi_type_data_type, type); - - snprintf(buf, sizeof(buf), "#<%s::%p size=%d alignment=%d>", - rb_obj_classname(self), type, (int) type->ffiType->size, (int) type->ffiType->alignment); - - return rb_str_new2(buf); -} - -static VALUE -builtin_type_new(VALUE klass, int nativeType, ffi_type* ffiType, const char* name) -{ - BuiltinType* type; - VALUE obj = Qnil; - - obj = TypedData_Make_Struct(klass, BuiltinType, &builtin_type_data_type, type); - - type->name = name; - type->type.nativeType = nativeType; - type->type.ffiType = ffiType; - - rb_obj_freeze(obj); - - return obj; -} - -static size_t -builtin_type_memsize(const void *data) -{ - return sizeof(BuiltinType) + sizeof(ffi_type); -} - -/* - * call-seq: type.inspect - * @return [String] - * Inspect {Type::Builtin} object. - */ -static VALUE -builtin_type_inspect(VALUE self) -{ - char buf[100]; - BuiltinType *type; - - TypedData_Get_Struct(self, BuiltinType, &builtin_type_data_type, type); - snprintf(buf, sizeof(buf), "#<%s::%s size=%d alignment=%d>", - rb_obj_classname(self), type->name, (int) type->type.ffiType->size, type->type.ffiType->alignment); - - return rb_str_new2(buf); -} - -int -rbffi_type_size(VALUE type) -{ - int t = TYPE(type); - - if (t == T_FIXNUM || t == T_BIGNUM) { - return NUM2INT(type); - - } else if (t == T_SYMBOL) { - /* - * Try looking up directly in the type map - */ - VALUE nType; - if ((nType = rb_hash_lookup(typeMap, type)) != Qnil) { - if (rb_obj_is_kind_of(nType, rbffi_TypeClass)) { - Type* type; - TypedData_Get_Struct(nType, Type, &rbffi_type_data_type, type); - return (int) type->ffiType->size; - - } else if (rb_respond_to(nType, id_size)) { - return NUM2INT(rb_funcall2(nType, id_size, 0, NULL)); - } - } - - /* Not found - call up to the ruby version to resolve */ - return NUM2INT(rb_funcall2(rbffi_FFIModule, id_type_size, 1, &type)); - - } else { - return NUM2INT(rb_funcall2(type, id_size, 0, NULL)); - } -} - -static VALUE -custom_typedefs(VALUE self) -{ -#if HAVE_RB_EXT_RACTOR_SAFE - VALUE hash = rb_ractor_local_storage_value(custom_typedefs_key); - if (hash == Qnil) { - hash = rb_hash_new(); - rb_ractor_local_storage_value_set(custom_typedefs_key, hash); - } -#else - static VALUE hash = Qundef; - if (hash == Qundef) { - rb_global_variable(&hash); - hash = rb_hash_new(); - } -#endif - return hash; -} - -VALUE -rbffi_Type_Lookup(VALUE name) -{ - int t = TYPE(name); - if (t == T_SYMBOL || t == T_STRING) { - /* - * Try looking up directly in the type map - */ - VALUE nType; - VALUE cust = custom_typedefs(Qnil); - - if ((nType = rb_hash_lookup(cust, name)) != Qnil && rb_obj_is_kind_of(nType, rbffi_TypeClass)) { - return nType; - } - - if ((nType = rb_hash_lookup(typeMap, name)) != Qnil && rb_obj_is_kind_of(nType, rbffi_TypeClass)) { - return nType; - } - } else if (rb_obj_is_kind_of(name, rbffi_TypeClass)) { - - return name; - } - - /* Nothing found - let caller handle raising exceptions */ - return Qnil; -} - -void -rbffi_Type_Init(VALUE moduleFFI) -{ - /* - * Document-class: FFI::Type - * This class manages C types. - * - * It embbed {FFI::Type::Builtin} objects as constants (for names, - * see {FFI::NativeType}). - */ - rbffi_TypeClass = rb_define_class_under(moduleFFI, "Type", rb_cObject); - - /* - * Document-constant: FFI::TypeDefs - */ - rb_define_const(moduleFFI, "TypeDefs", typeMap = rb_hash_new()); - rb_global_variable(&typeMap); - id_type_size = rb_intern("type_size"); - id_size = rb_intern("size"); - -#if HAVE_RB_EXT_RACTOR_SAFE - custom_typedefs_key = rb_ractor_local_storage_value_newkey(); -#endif - rb_define_module_function(moduleFFI, "custom_typedefs", custom_typedefs, 0); - - /* - * Document-class: FFI::Type::Builtin - * Class for Built-in types. - */ - classBuiltinType = rb_define_class_under(rbffi_TypeClass, "Builtin", rbffi_TypeClass); - /* - * Document-module: FFI::NativeType - * This module defines constants for native (C) types. - * - * ==Native type constants - * Native types are defined by constants : - * * INT8, SCHAR, CHAR - * * UINT8, UCHAR - * * INT16, SHORT, SSHORT - * * UINT16, USHORT - * * INT32,, INT, SINT - * * UINT32, UINT - * * INT64, LONG_LONG, SLONG_LONG - * * UINT64, ULONG_LONG - * * LONG, SLONG - * * ULONG - * * FLOAT32, FLOAT - * * FLOAT64, DOUBLE - * * POINTER - * * CALLBACK - * * FUNCTION - * * CHAR_ARRAY - * * BOOL - * * STRING (immutable string, nul terminated) - * * STRUCT (struct-b-value param or result) - * * ARRAY (array type definition) - * * MAPPED (custom native type) - * For function return type only : - * * VOID - * For function argument type only : - * * BUFFER_IN - * * BUFFER_OUT - * * VARARGS (function takes a variable number of arguments) - * - * All these constants are exported to {FFI} module prefixed with "TYPE_". - * They are objets from {FFI::Type::Builtin} class. - */ - moduleNativeType = rb_define_module_under(moduleFFI, "NativeType"); - - /* - * Document-global: FFI::Type - */ - rb_global_variable(&rbffi_TypeClass); - rb_global_variable(&classBuiltinType); - rb_global_variable(&moduleNativeType); - - rb_define_alloc_func(rbffi_TypeClass, type_allocate); - rb_define_method(rbffi_TypeClass, "initialize", type_initialize, 1); - rb_define_method(rbffi_TypeClass, "size", type_size, 0); - rb_define_method(rbffi_TypeClass, "alignment", type_alignment, 0); - rb_define_method(rbffi_TypeClass, "inspect", type_inspect, 0); - - /* Make Type::Builtin non-allocatable */ - rb_undef_method(CLASS_OF(classBuiltinType), "new"); - rb_define_method(classBuiltinType, "inspect", builtin_type_inspect, 0); - - rb_global_variable(&rbffi_TypeClass); - rb_global_variable(&classBuiltinType); - - /* Define all the builtin types */ - #define T(x, ffiType) do { \ - VALUE t = Qnil; \ - rb_define_const(rbffi_TypeClass, #x, t = builtin_type_new(classBuiltinType, NATIVE_##x, ffiType, #x)); \ - rb_define_const(moduleNativeType, #x, t); \ - rb_define_const(moduleFFI, "TYPE_" #x, t); \ - } while(0) - - #define A(old_type, new_type) do { \ - VALUE t = rb_const_get(rbffi_TypeClass, rb_intern(#old_type)); \ - rb_const_set(rbffi_TypeClass, rb_intern(#new_type), t); \ - } while(0) - - /* - * Document-constant: FFI::Type::Builtin::VOID - */ - T(VOID, &ffi_type_void); - T(INT8, &ffi_type_sint8); - A(INT8, SCHAR); - A(INT8, CHAR); - T(UINT8, &ffi_type_uint8); - A(UINT8, UCHAR); - - T(INT16, &ffi_type_sint16); - A(INT16, SHORT); - A(INT16, SSHORT); - T(UINT16, &ffi_type_uint16); - A(UINT16, USHORT); - T(INT32, &ffi_type_sint32); - A(INT32, INT); - A(INT32, SINT); - T(UINT32, &ffi_type_uint32); - A(UINT32, UINT); - T(INT64, &ffi_type_sint64); - A(INT64, LONG_LONG); - A(INT64, SLONG_LONG); - T(UINT64, &ffi_type_uint64); - A(UINT64, ULONG_LONG); - T(LONG, &ffi_type_slong); - A(LONG, SLONG); - T(ULONG, &ffi_type_ulong); - T(FLOAT32, &ffi_type_float); - A(FLOAT32, FLOAT); - T(FLOAT64, &ffi_type_double); - A(FLOAT64, DOUBLE); - T(LONGDOUBLE, &ffi_type_longdouble); - T(POINTER, &ffi_type_pointer); - T(STRING, &ffi_type_pointer); - T(BUFFER_IN, &ffi_type_pointer); - T(BUFFER_OUT, &ffi_type_pointer); - T(BUFFER_INOUT, &ffi_type_pointer); - T(BOOL, &ffi_type_uchar); - T(VARARGS, &ffi_type_void); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.h deleted file mode 100644 index b6de634..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * Copyright (C) 2009 Luc Heinrich - * - * This file is part of ruby-ffi. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * * Neither the name of the Evan Phoenix nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef RBFFI_TYPE_H -#define RBFFI_TYPE_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct Type_ Type; - -#include "Types.h" - -struct Type_ { - NativeType nativeType; - ffi_type* ffiType; -}; - -extern VALUE rbffi_TypeClass; -extern VALUE rbffi_Type_Lookup(VALUE type); - -extern const rb_data_type_t rbffi_type_data_type; - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_TYPE_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.o deleted file mode 100644 index 69e4fce..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Type.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.c deleted file mode 100644 index 8695a3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.c +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2009, Wayne Meissner - * Copyright (c) 2009, Luc Heinrich - * Copyright (c) 2009, Aman Gupta. - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include "Pointer.h" -#include "rbffi.h" -#include "Function.h" -#include "StructByValue.h" -#include "Types.h" -#include "Struct.h" -#include "MappedType.h" -#include "MemoryPointer.h" -#include "LongDouble.h" - -static ID id_from_native = 0; - - -VALUE -rbffi_NativeValue_ToRuby(Type* type, VALUE rbType, const void* ptr) -{ - switch (type->nativeType) { - case NATIVE_VOID: - return Qnil; - case NATIVE_INT8: - return INT2NUM((signed char) *(ffi_sarg *) ptr); - case NATIVE_INT16: - return INT2NUM((signed short) *(ffi_sarg *) ptr); - case NATIVE_INT32: - return INT2NUM((signed int) *(ffi_sarg *) ptr); - case NATIVE_LONG: - return LONG2NUM((signed long) *(ffi_sarg *) ptr); - case NATIVE_INT64: - return LL2NUM(*(signed long long *) ptr); - - case NATIVE_UINT8: - return UINT2NUM((unsigned char) *(ffi_arg *) ptr); - case NATIVE_UINT16: - return UINT2NUM((unsigned short) *(ffi_arg *) ptr); - case NATIVE_UINT32: - return UINT2NUM((unsigned int) *(ffi_arg *) ptr); - case NATIVE_ULONG: - return ULONG2NUM((unsigned long) *(ffi_arg *) ptr); - case NATIVE_UINT64: - return ULL2NUM(*(unsigned long long *) ptr); - - case NATIVE_FLOAT32: - return rb_float_new(*(float *) ptr); - case NATIVE_FLOAT64: - return rb_float_new(*(double *) ptr); - - case NATIVE_LONGDOUBLE: - return rbffi_longdouble_new(*(long double *) ptr); - - case NATIVE_STRING: - return (*(void **) ptr != NULL) ? rb_str_new2(*(char **) ptr) : Qnil; - case NATIVE_POINTER: - return rbffi_Pointer_NewInstance(*(void **) ptr); - case NATIVE_BOOL: - return ((unsigned char) *(ffi_arg *) ptr) ? Qtrue : Qfalse; - - case NATIVE_FUNCTION: { - return *(void **) ptr != NULL - ? rbffi_Function_NewInstance(rbType, rbffi_Pointer_NewInstance(*(void **) ptr)) - : Qnil; - } - - case NATIVE_STRUCT: { - StructByValue* sbv = (StructByValue *)type; - AbstractMemory* mem; - VALUE rbMemory = rbffi_MemoryPointer_NewInstance(1, sbv->base.ffiType->size, false); - - TypedData_Get_Struct(rbMemory, AbstractMemory, &rbffi_abstract_memory_data_type, mem); - memcpy(mem->address, ptr, sbv->base.ffiType->size); - RB_GC_GUARD(rbMemory); - RB_GC_GUARD(rbType); - - return rb_class_new_instance(1, &rbMemory, sbv->rbStructClass); - } - - case NATIVE_MAPPED: { - /* - * For mapped types, first convert to the real native type, then upcall to - * ruby to convert to the expected return type - */ - MappedType* m = (MappedType *) type; - VALUE values[2], rbReturnValue; - - values[0] = rbffi_NativeValue_ToRuby(m->type, m->rbType, ptr); - values[1] = Qnil; - - - rbReturnValue = rb_funcall2(m->rbConverter, id_from_native, 2, values); - RB_GC_GUARD(values[0]); - RB_GC_GUARD(rbType); - - return rbReturnValue; - } - - default: - rb_raise(rb_eRuntimeError, "Unknown type: %d", type->nativeType); - return Qnil; - } -} - -void -rbffi_Types_Init(VALUE moduleFFI) -{ - id_from_native = rb_intern("from_native"); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.h deleted file mode 100644 index 4b72320..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (c) 2009, Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_TYPES_H -#define RBFFI_TYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - NATIVE_VOID, - NATIVE_INT8, - NATIVE_UINT8, - NATIVE_INT16, - NATIVE_UINT16, - NATIVE_INT32, - NATIVE_UINT32, - NATIVE_INT64, - NATIVE_UINT64, - NATIVE_LONG, - NATIVE_ULONG, - NATIVE_FLOAT32, - NATIVE_FLOAT64, - NATIVE_LONGDOUBLE, - NATIVE_POINTER, - NATIVE_FUNCTION, - NATIVE_BUFFER_IN, - NATIVE_BUFFER_OUT, - NATIVE_BUFFER_INOUT, - NATIVE_CHAR_ARRAY, - NATIVE_BOOL, - - /** An immutable string. Nul terminated, but only copies in to the native function */ - NATIVE_STRING, - - /** The function takes a variable number of arguments */ - NATIVE_VARARGS, - - /** Struct-by-value param or result */ - NATIVE_STRUCT, - - /** An array type definition */ - NATIVE_ARRAY, - - /** Custom native type */ - NATIVE_MAPPED, -} NativeType; - -#include -#include "Type.h" - -VALUE rbffi_NativeValue_ToRuby(Type* type, VALUE rbType, const void* ptr); -void rbffi_Types_Init(VALUE moduleFFI); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_TYPES_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.o deleted file mode 100644 index 5094bdc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Types.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.c deleted file mode 100644 index 09d7ce8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.c +++ /dev/null @@ -1,345 +0,0 @@ -/* - * Copyright (c) 2008-2010 Wayne Meissner - * Copyright (C) 2009 Andrea Fazzi - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MSC_VER -#include -#endif -#include - -#include -#include -#include -#include -#if HAVE_RB_EXT_RACTOR_SAFE -#include -#endif - -#include -#include "rbffi.h" -#include "compat.h" - -#include "AbstractMemory.h" -#include "Pointer.h" -#include "Types.h" -#include "Type.h" -#include "LastError.h" -#include "MethodHandle.h" -#include "Call.h" -#include "Thread.h" - -typedef struct VariadicInvoker_ { - VALUE rbAddress; - VALUE rbReturnType; - VALUE rbEnums; - - Type* returnType; - ffi_abi abi; - void* function; - int paramCount; - bool blocking; -} VariadicInvoker; - -static VALUE variadic_allocate(VALUE klass); -static VALUE variadic_initialize(VALUE self, VALUE rbFunction, VALUE rbParameterTypes, - VALUE rbReturnType, VALUE options); -static void variadic_mark(void *); -static void variadic_compact(void *); -static size_t variadic_memsize(const void *); - -static VALUE classVariadicInvoker = Qnil; - -static const rb_data_type_t variadic_data_type = { - .wrap_struct_name = "FFI::VariadicInvoker", - .function = { - .dmark = variadic_mark, - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = variadic_memsize, - ffi_compact_callback( variadic_compact ) - }, - // IMPORTANT: WB_PROTECTED objects must only use the RB_OBJ_WRITE() - // macro to update VALUE references, as to trigger write barriers. - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | FFI_RUBY_TYPED_FROZEN_SHAREABLE -}; - - -static VALUE -variadic_allocate(VALUE klass) -{ - VariadicInvoker *invoker; - VALUE obj = TypedData_Make_Struct(klass, VariadicInvoker, &variadic_data_type, invoker); - - RB_OBJ_WRITE(obj, &invoker->rbAddress, Qnil); - RB_OBJ_WRITE(obj, &invoker->rbEnums, Qnil); - RB_OBJ_WRITE(obj, &invoker->rbReturnType, Qnil); - invoker->blocking = false; - - return obj; -} - -static void -variadic_mark(void *data) -{ - VariadicInvoker *invoker = (VariadicInvoker *)data; - rb_gc_mark_movable(invoker->rbEnums); - rb_gc_mark_movable(invoker->rbAddress); - rb_gc_mark_movable(invoker->rbReturnType); -} - -static void -variadic_compact(void *data) -{ - VariadicInvoker *invoker = (VariadicInvoker *)data; - ffi_gc_location(invoker->rbEnums); - ffi_gc_location(invoker->rbAddress); - ffi_gc_location(invoker->rbReturnType); -} - -static size_t -variadic_memsize(const void *data) -{ - return sizeof(VariadicInvoker); -} - -static VALUE -variadic_initialize(VALUE self, VALUE rbFunction, VALUE rbParameterTypes, VALUE rbReturnType, VALUE options) -{ - VariadicInvoker* invoker = NULL; - VALUE retval = Qnil; - VALUE convention = Qnil; - VALUE fixed = Qnil; -#if defined(X86_WIN32) - VALUE rbConventionStr; -#endif - int i; - - Check_Type(options, T_HASH); - convention = rb_hash_aref(options, ID2SYM(rb_intern("convention"))); - - TypedData_Get_Struct(self, VariadicInvoker, &variadic_data_type, invoker); - RB_OBJ_WRITE(self, &invoker->rbEnums, rb_hash_aref(options, ID2SYM(rb_intern("enums")))); - RB_OBJ_WRITE(self, &invoker->rbAddress, rbFunction); - invoker->function = rbffi_AbstractMemory_Cast(rbFunction, &rbffi_pointer_data_type)->address; - invoker->blocking = RTEST(rb_hash_aref(options, ID2SYM(rb_intern("blocking")))); - -#if defined(X86_WIN32) - rbConventionStr = rb_funcall2(convention, rb_intern("to_s"), 0, NULL); - invoker->abi = (RTEST(convention) && strcmp(StringValueCStr(rbConventionStr), "stdcall") == 0) - ? FFI_STDCALL : FFI_DEFAULT_ABI; -#else - invoker->abi = FFI_DEFAULT_ABI; -#endif - - RB_OBJ_WRITE(self, &invoker->rbReturnType, rbffi_Type_Lookup(rbReturnType)); - if (!RTEST(invoker->rbReturnType)) { - VALUE typeName = rb_funcall2(rbReturnType, rb_intern("inspect"), 0, NULL); - rb_raise(rb_eTypeError, "Invalid return type (%s)", RSTRING_PTR(typeName)); - } - - TypedData_Get_Struct(rbReturnType, Type, &rbffi_type_data_type, invoker->returnType); - - invoker->paramCount = -1; - - fixed = rb_ary_new2(RARRAY_LEN(rbParameterTypes) - 1); - for (i = 0; i < RARRAY_LEN(rbParameterTypes); ++i) { - VALUE entry = rb_ary_entry(rbParameterTypes, i); - VALUE rbType = rbffi_Type_Lookup(entry); - Type* type; - - if (!RTEST(rbType)) { - VALUE typeName = rb_funcall2(entry, rb_intern("inspect"), 0, NULL); - rb_raise(rb_eTypeError, "Invalid parameter type (%s)", RSTRING_PTR(typeName)); - } - TypedData_Get_Struct(rbType, Type, &rbffi_type_data_type, type); - if (type->nativeType != NATIVE_VARARGS) { - rb_ary_push(fixed, entry); - } - } - /* - * @fixed and @type_map are used by the parameter mangling ruby code - */ - rb_iv_set(self, "@fixed", rb_obj_freeze(fixed)); - rb_iv_set(self, "@type_map", rb_hash_aref(options, ID2SYM(rb_intern("type_map")))); - - return retval; -} - -static VALUE -variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues) -{ - VariadicInvoker* invoker; - FFIStorage* params; - void* retval; - ffi_cif cif; - void** ffiValues; - ffi_type** ffiParamTypes; - ffi_type* ffiReturnType; - Type** paramTypes; - VALUE* argv; - VALUE* callbackParameters; - int paramCount = 0, fixedCount = 0, callbackCount = 0, i; - ffi_status ffiStatus; - rbffi_frame_t frame = { 0 }; - - Check_Type(parameterTypes, T_ARRAY); - Check_Type(parameterValues, T_ARRAY); - - TypedData_Get_Struct(self, VariadicInvoker, &variadic_data_type, invoker); - paramCount = (int) RARRAY_LEN(parameterTypes); - paramTypes = ALLOCA_N(Type *, paramCount); - ffiParamTypes = ALLOCA_N(ffi_type *, paramCount); - params = ALLOCA_N(FFIStorage, paramCount); - ffiValues = ALLOCA_N(void*, paramCount); - argv = ALLOCA_N(VALUE, paramCount); - callbackParameters = ALLOCA_N(VALUE, paramCount); - retval = alloca(MAX(invoker->returnType->ffiType->size, FFI_SIZEOF_ARG)); - - for (i = 0; i < paramCount; ++i) { - VALUE rbType = rb_ary_entry(parameterTypes, i); - - if (!rb_obj_is_kind_of(rbType, rbffi_TypeClass)) { - rb_raise(rb_eTypeError, "wrong type. Expected (FFI::Type)"); - } - TypedData_Get_Struct(rbType, Type, &rbffi_type_data_type, paramTypes[i]); - - switch (paramTypes[i]->nativeType) { - case NATIVE_INT8: - case NATIVE_INT16: - case NATIVE_INT32: - rbType = rb_const_get(rbffi_TypeClass, rb_intern("INT32")); - TypedData_Get_Struct(rbType, Type, &rbffi_type_data_type, paramTypes[i]); - break; - case NATIVE_UINT8: - case NATIVE_UINT16: - case NATIVE_UINT32: - rbType = rb_const_get(rbffi_TypeClass, rb_intern("UINT32")); - TypedData_Get_Struct(rbType, Type, &rbffi_type_data_type, paramTypes[i]); - break; - - case NATIVE_FLOAT32: - rbType = rb_const_get(rbffi_TypeClass, rb_intern("DOUBLE")); - TypedData_Get_Struct(rbType, Type, &rbffi_type_data_type, paramTypes[i]); - break; - - case NATIVE_FUNCTION: - if (!rb_obj_is_kind_of(rbType, rbffi_FunctionTypeClass)) { - VALUE typeName = rb_funcall2(rbType, rb_intern("inspect"), 0, NULL); - rb_raise(rb_eTypeError, "Incorrect parameter type (%s)", RSTRING_PTR(typeName)); - } - callbackParameters[callbackCount++] = rbType; - break; - - default: - break; - } - - - ffiParamTypes[i] = paramTypes[i]->ffiType; - if (ffiParamTypes[i] == NULL) { - rb_raise(rb_eArgError, "Invalid parameter type #%x", paramTypes[i]->nativeType); - } - argv[i] = rb_ary_entry(parameterValues, i); - } - - ffiReturnType = invoker->returnType->ffiType; - if (ffiReturnType == NULL) { - rb_raise(rb_eArgError, "Invalid return type"); - } - - /*Get the number of fixed args from @fixed array*/ - fixedCount = RARRAY_LEN(rb_iv_get(self, "@fixed")); - -#ifdef HAVE_FFI_PREP_CIF_VAR - ffiStatus = ffi_prep_cif_var(&cif, invoker->abi, fixedCount, paramCount, ffiReturnType, ffiParamTypes); -#else - ffiStatus = ffi_prep_cif(&cif, invoker->abi, paramCount, ffiReturnType, ffiParamTypes); -#endif - switch (ffiStatus) { - case FFI_BAD_ABI: - rb_raise(rb_eArgError, "Invalid ABI specified"); - case FFI_BAD_TYPEDEF: - rb_raise(rb_eArgError, "Invalid argument type specified"); - case FFI_OK: - break; - default: - rb_raise(rb_eArgError, "Unknown FFI error"); - } - - rbffi_SetupCallParams(paramCount, argv, -1, paramTypes, params, - ffiValues, callbackParameters, callbackCount, invoker->rbEnums); - - rbffi_frame_push(&frame); - - if(unlikely(invoker->blocking)) { - rbffi_blocking_call_t* bc; - bc = ALLOCA_N(rbffi_blocking_call_t, 1); - bc->retval = retval; - bc->function = invoker->function; - bc->ffiValues = ffiValues; - bc->params = params; - bc->frame = &frame; - bc->cif = cif; - - rb_rescue2(rbffi_do_blocking_call, (VALUE) bc, rbffi_save_frame_exception, (VALUE) &frame, rb_eException, (VALUE) 0); - } else { - ffi_call(&cif, FFI_FN(invoker->function), retval, ffiValues); - } - - rbffi_frame_pop(&frame); - - rbffi_save_errno(); - - if (RTEST(frame.exc) && frame.exc != Qnil) { - rb_exc_raise(frame.exc); - } - - return rbffi_NativeValue_ToRuby(invoker->returnType, invoker->rbReturnType, retval); -} - -static VALUE -variadic_return_type(VALUE self) -{ - VariadicInvoker* invoker; - - TypedData_Get_Struct(self, VariadicInvoker, &variadic_data_type, invoker); - return invoker->rbReturnType; -} - -void -rbffi_Variadic_Init(VALUE moduleFFI) -{ - classVariadicInvoker = rb_define_class_under(moduleFFI, "VariadicInvoker", rb_cObject); - rb_global_variable(&classVariadicInvoker); - - rb_define_alloc_func(classVariadicInvoker, variadic_allocate); - - rb_define_method(classVariadicInvoker, "initialize", variadic_initialize, 4); - rb_define_method(classVariadicInvoker, "invoke", variadic_invoke, 2); - rb_define_method(classVariadicInvoker, "return_type", variadic_return_type, 0); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.o deleted file mode 100644 index 9abd5ed..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/compat.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/compat.h deleted file mode 100644 index a1be55d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/compat.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_COMPAT_H -#define RBFFI_COMPAT_H - -#include - -#ifndef roundup -# define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#endif - -#ifdef __GNUC__ -# define likely(x) __builtin_expect((x), 1) -# define unlikely(x) __builtin_expect((x), 0) -#else -# define likely(x) (x) -# define unlikely(x) (x) -#endif - -#ifdef _MSC_VER -#define ffi_type_longdouble ffi_type_double -#endif - -#ifndef MAX -# define MAX(a, b) ((a) < (b) ? (b) : (a)) -#endif -#ifndef MIN -# define MIN(a, b) ((a) < (b) ? (a) : (b)) -#endif - - - -/* For compatibility with ruby < 2.7 */ -#ifdef HAVE_RB_GC_MARK_MOVABLE -#define ffi_compact_callback(x) .dcompact = (x), -#define ffi_gc_location(x) x = rb_gc_location(x) -#else -#define rb_gc_mark_movable(x) rb_gc_mark(x) -#define ffi_compact_callback(x) -#define ffi_gc_location(x) -#endif - - -/* For compatibility with ruby < 3.0 */ -#ifndef RUBY_TYPED_FROZEN_SHAREABLE -#define FFI_RUBY_TYPED_FROZEN_SHAREABLE 0 -#else -#define FFI_RUBY_TYPED_FROZEN_SHAREABLE RUBY_TYPED_FROZEN_SHAREABLE -#endif - -#ifndef HAVE_RB_EXT_RACTOR_SAFE -#define rb_ractor_make_shareable(self) rb_obj_freeze(self); -#endif - -#endif /* RBFFI_COMPAT_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/extconf.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/extconf.h deleted file mode 100644 index 0bec440..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/extconf.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef EXTCONF_H -#define EXTCONF_H -#define HAVE_FFI_PREP_CIF_VAR 1 -#define USE_INTERNAL_LIBFFI 1 -#define HAVE_RB_GC_MARK_MOVABLE 1 -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb deleted file mode 100755 index b0127af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env ruby - -if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx' - require 'mkmf' - require 'rbconfig' - - def system_libffi_usable? - # We need pkg_config or ffi.h - libffi_ok = pkg_config("libffi") || - have_header("ffi.h") || - find_header("ffi.h", "/usr/local/include", "/usr/include/ffi", - "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi", - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ffi") || - (find_header("ffi.h", `xcrun --sdk macosx --show-sdk-path`.strip + "/usr/include/ffi") rescue false) - - # Ensure we can link to ffi_prep_closure_loc - libffi_ok &&= have_library("ffi", "ffi_prep_closure_loc", [ "ffi.h" ]) || - have_library("libffi", "ffi_prep_closure_loc", [ "ffi.h" ]) || - have_library("libffi-8", "ffi_prep_closure_loc", [ "ffi.h" ]) - - if RbConfig::CONFIG['host_os'] =~ /mswin/ - have_library('libffi_convenience') - have_library('shlwapi') - end - - libffi_ok - end - - dir_config("ffi_c") - - # recent versions of ruby add restrictive ansi and warning flags on a whim - kill them all - $warnflags = '' - $CFLAGS.gsub!(/[\s+]-ansi/, '') - $CFLAGS.gsub!(/[\s+]-std=[^\s]+/, '') - # solaris 10 needs -c99 for - $CFLAGS << " -g -std=c99" if RbConfig::CONFIG['host_os'] =~ /solaris(!?2\.11)/ - if enable_config("debug") - $CPPFLAGS += " #{RbConfig::CONFIG["debugflags"]}" - $LDFLAGS += " #{RbConfig::CONFIG["debugflags"]}" - end - - # Check whether we use system libffi - system_libffi = enable_config('system-libffi', :try) - - if system_libffi == :try - system_libffi = ENV['RUBY_CC_VERSION'].nil? && system_libffi_usable? - elsif system_libffi - abort "system libffi is not usable" unless system_libffi_usable? - end - - if system_libffi - have_func('ffi_prep_cif_var') - $defs << "-DHAVE_RAW_API" if have_func("ffi_raw_call") && have_func("ffi_prep_raw_closure") - else - $defs << "-DHAVE_FFI_PREP_CIF_VAR" - $defs << "-DUSE_INTERNAL_LIBFFI" - - # Ensure libffi symbols aren't exported when using static libffi. - # This is to avoid interference with other gems like fiddle. - # See https://github.com/ffi/ffi/issues/835 - append_ldflags "-Wl,--exclude-libs,ALL" - end - - have_func 'rb_gc_mark_movable' # since ruby-2.7 - - # Some linux archs need explicit linking to pthread, see https://github.com/ffi/ffi/issues/893 - append_ldflags "-pthread" - - ffi_alloc_default = RbConfig::CONFIG['host_os'] =~ /darwin/i && RbConfig::CONFIG['host'] =~ /arm|aarch64/i - ffi_alloc_default = ffi_alloc_default || RbConfig::CONFIG['host'] =~ /hppa/i - if enable_config('libffi-alloc', ffi_alloc_default) - $defs << "-DUSE_FFI_ALLOC" - end - - $defs << "-DHAVE_EXTCONF_H" if $defs.empty? # needed so create_header works - - create_header - create_makefile("ffi_c") - - unless system_libffi - File.open("Makefile", "a") do |mf| - if enable_config("debug") - mf.puts "LIBFFI_DEBUG=--enable-debug CPPFLAGS='#{RbConfig::CONFIG["debugflags"]}' LDFLAGS='#{RbConfig::CONFIG["debugflags"]}'" - end - - if RbConfig::CONFIG['host_alias'] == "i386-w64-mingw32" - host = "i686-w64-mingw32" # Work around host name without matching compiler name in rake-compiler-dock-1.3.0 on platform x86-mingw32 - elsif RbConfig::CONFIG.has_key?("host_alias") - host = RbConfig::CONFIG['host_alias'] - end - mf.puts "LIBFFI_HOST=--host=#{host}" if host - - if RbConfig::CONFIG['host_os'] =~ /darwin/i - if RbConfig::CONFIG['host'] =~ /arm|aarch64/i - mf.puts "LIBFFI_HOST=--host=aarch64-apple-#{RbConfig::CONFIG['host_os']}" - end - mf.puts "include ${srcdir}/libffi.darwin.mk" - elsif RbConfig::CONFIG['host_os'] =~ /bsd/i - mf.puts '.include "${srcdir}/libffi.bsd.mk"' - elsif RbConfig::CONFIG['host_os'] =~ /mswin64/i - mf.puts '!include $(srcdir)/libffi.vc64.mk' - elsif RbConfig::CONFIG['host_os'] =~ /mswin32/i - mf.puts '!include $(srcdir)/libffi.vc.mk' - else - mf.puts "include ${srcdir}/libffi.mk" - end - end - end - -else - File.open("Makefile", "w") do |mf| - mf.puts "# Dummy makefile for non-mri rubies" - mf.puts "all install::\n" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ffi.c deleted file mode 100644 index e297f8a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ffi.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * Copyright (C) 2009 Luc Heinrich - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include - -#include - -#include "rbffi.h" -#include "AbstractMemory.h" -#include "Pointer.h" -#include "MemoryPointer.h" -#include "Struct.h" -#include "StructByValue.h" -#include "DynamicLibrary.h" -#include "Platform.h" -#include "Types.h" -#include "LastError.h" -#include "Function.h" -#include "ClosurePool.h" -#include "MethodHandle.h" -#include "Call.h" -#include "ArrayType.h" -#include "MappedType.h" - -void Init_ffi_c(void); - -VALUE rbffi_FFIModule = Qnil; - -static VALUE moduleFFI = Qnil; - -void -Init_ffi_c(void) -{ - #ifdef HAVE_RB_EXT_RACTOR_SAFE - rb_ext_ractor_safe(1); - #endif - - /* - * Document-module: FFI - * - * This module embbed type constants from {FFI::NativeType}. - */ - rbffi_FFIModule = moduleFFI = rb_define_module("FFI"); - rb_global_variable(&rbffi_FFIModule); - - rbffi_Thread_Init(rbffi_FFIModule); - - /* FFI::Type needs to be initialized before most other classes */ - rbffi_Type_Init(moduleFFI); - - rbffi_ArrayType_Init(moduleFFI); - rbffi_LastError_Init(moduleFFI); - rbffi_Call_Init(moduleFFI); - rbffi_ClosurePool_Init(moduleFFI); - rbffi_MethodHandle_Init(moduleFFI); - rbffi_Platform_Init(moduleFFI); - rbffi_AbstractMemory_Init(moduleFFI); - rbffi_Pointer_Init(moduleFFI); - rbffi_Function_Init(moduleFFI); - rbffi_MemoryPointer_Init(moduleFFI); - rbffi_Buffer_Init(moduleFFI); - rbffi_StructByValue_Init(moduleFFI); - rbffi_Struct_Init(moduleFFI); - rbffi_DynamicLibrary_Init(moduleFFI); - rbffi_Variadic_Init(moduleFFI); - rbffi_Types_Init(moduleFFI); - rbffi_MappedType_Init(moduleFFI); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ffi.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ffi.o deleted file mode 100644 index 4c7f7c1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/ffi.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.a b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.a deleted file mode 100644 index f95d9df..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.a and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.la b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.la deleted file mode 120000 index 004dbb5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.la +++ /dev/null @@ -1 +0,0 @@ -../libffi.la \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.lai b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.lai deleted file mode 100644 index 951b498..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi.lai +++ /dev/null @@ -1,41 +0,0 @@ -# libffi.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libffi.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libffi. -current=9 -age=1 -revision=2 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/usr/local/lib/../lib' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi_convenience.a b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi_convenience.a deleted file mode 100644 index f95d9df..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi_convenience.a and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi_convenience.la b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi_convenience.la deleted file mode 120000 index 0727452..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/.libs/libffi_convenience.la +++ /dev/null @@ -1 +0,0 @@ -../libffi_convenience.la \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/Makefile deleted file mode 100644 index 1720f4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/Makefile +++ /dev/null @@ -1,2127 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -VPATH = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libffi -pkgincludedir = $(includedir)/libffi -pkglibdir = $(libdir)/libffi -pkglibexecdir = $(libexecdir)/libffi -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = x86_64-pc-linux-gnu -#am__append_1 = doc -#am__append_2 = src/debug.c -# Build debug. Define FFI_DEBUG on the commandline so that, when building with -# MSVC, it can link against the debug CRT. -#am__append_3 = -DFFI_DEBUG -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \ - $(top_srcdir)/m4/ax_cc_maxopt.m4 \ - $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_compiler_vendor.m4 \ - $(top_srcdir)/m4/ax_configure_args.m4 \ - $(top_srcdir)/m4/ax_enable_builddir.m4 \ - $(top_srcdir)/m4/ax_gcc_archflag.m4 \ - $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ - $(top_srcdir)/m4/ax_prepend_flag.m4 \ - $(top_srcdir)/m4/ax_require_defined.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(noinst_HEADERS) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = fficonfig.h -CONFIG_CLEAN_FILES = libffi.pc -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \ - "$(DESTDIR)$(pkgconfigdir)" -LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) -am__DEPENDENCIES_1 = -am__libffi_la_SOURCES_DIST = src/prep_cif.c src/types.c src/raw_api.c \ - src/java_raw_api.c src/closures.c src/tramp.c src/debug.c -am__dirstamp = $(am__leading_dot)dirstamp -#am__objects_1 = src/debug.lo -am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \ - src/java_raw_api.lo src/closures.lo src/tramp.lo \ - $(am__objects_1) -libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libffi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@ -am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) -am__libffi_convenience_la_SOURCES_DIST = src/prep_cif.c src/types.c \ - src/raw_api.c src/java_raw_api.c src/closures.c src/tramp.c \ - src/debug.c -am__objects_2 = src/prep_cif.lo src/types.lo src/raw_api.lo \ - src/java_raw_api.lo src/closures.lo src/tramp.lo \ - $(am__objects_1) -am_libffi_convenience_la_OBJECTS = $(am__objects_2) -nodist_libffi_convenience_la_OBJECTS = -libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \ - $(nodist_libffi_convenience_la_OBJECTS) -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = src/$(DEPDIR)/closures.Plo \ - src/$(DEPDIR)/debug.Plo src/$(DEPDIR)/java_raw_api.Plo \ - src/$(DEPDIR)/prep_cif.Plo src/$(DEPDIR)/raw_api.Plo \ - src/$(DEPDIR)/tramp.Plo src/$(DEPDIR)/types.Plo \ - src/aarch64/$(DEPDIR)/ffi.Plo src/aarch64/$(DEPDIR)/sysv.Plo \ - src/aarch64/$(DEPDIR)/win64_armasm.Plo \ - src/alpha/$(DEPDIR)/ffi.Plo src/alpha/$(DEPDIR)/osf.Plo \ - src/arc/$(DEPDIR)/arcompact.Plo src/arc/$(DEPDIR)/ffi.Plo \ - src/arm/$(DEPDIR)/ffi.Plo src/arm/$(DEPDIR)/sysv.Plo \ - src/arm/$(DEPDIR)/sysv_msvc_arm32.Plo \ - src/avr32/$(DEPDIR)/ffi.Plo src/avr32/$(DEPDIR)/sysv.Plo \ - src/bfin/$(DEPDIR)/ffi.Plo src/bfin/$(DEPDIR)/sysv.Plo \ - src/cris/$(DEPDIR)/ffi.Plo src/cris/$(DEPDIR)/sysv.Plo \ - src/csky/$(DEPDIR)/ffi.Plo src/csky/$(DEPDIR)/sysv.Plo \ - src/frv/$(DEPDIR)/eabi.Plo src/frv/$(DEPDIR)/ffi.Plo \ - src/ia64/$(DEPDIR)/ffi.Plo src/ia64/$(DEPDIR)/unix.Plo \ - src/kvx/$(DEPDIR)/ffi.Plo src/kvx/$(DEPDIR)/sysv.Plo \ - src/loongarch64/$(DEPDIR)/ffi.Plo \ - src/loongarch64/$(DEPDIR)/sysv.Plo src/m32r/$(DEPDIR)/ffi.Plo \ - src/m32r/$(DEPDIR)/sysv.Plo src/m68k/$(DEPDIR)/ffi.Plo \ - src/m68k/$(DEPDIR)/sysv.Plo src/m88k/$(DEPDIR)/ffi.Plo \ - src/m88k/$(DEPDIR)/obsd.Plo src/metag/$(DEPDIR)/ffi.Plo \ - src/metag/$(DEPDIR)/sysv.Plo src/microblaze/$(DEPDIR)/ffi.Plo \ - src/microblaze/$(DEPDIR)/sysv.Plo src/mips/$(DEPDIR)/ffi.Plo \ - src/mips/$(DEPDIR)/n32.Plo src/mips/$(DEPDIR)/o32.Plo \ - src/moxie/$(DEPDIR)/eabi.Plo src/moxie/$(DEPDIR)/ffi.Plo \ - src/nios2/$(DEPDIR)/ffi.Plo src/nios2/$(DEPDIR)/sysv.Plo \ - src/or1k/$(DEPDIR)/ffi.Plo src/or1k/$(DEPDIR)/sysv.Plo \ - src/pa/$(DEPDIR)/ffi.Plo src/pa/$(DEPDIR)/hpux32.Plo \ - src/pa/$(DEPDIR)/hpux64.Plo src/pa/$(DEPDIR)/linux.Plo \ - src/powerpc/$(DEPDIR)/aix.Plo \ - src/powerpc/$(DEPDIR)/aix_closure.Plo \ - src/powerpc/$(DEPDIR)/darwin.Plo \ - src/powerpc/$(DEPDIR)/darwin_closure.Plo \ - src/powerpc/$(DEPDIR)/ffi.Plo \ - src/powerpc/$(DEPDIR)/ffi_darwin.Plo \ - src/powerpc/$(DEPDIR)/ffi_linux64.Plo \ - src/powerpc/$(DEPDIR)/ffi_sysv.Plo \ - src/powerpc/$(DEPDIR)/linux64.Plo \ - src/powerpc/$(DEPDIR)/linux64_closure.Plo \ - src/powerpc/$(DEPDIR)/ppc_closure.Plo \ - src/powerpc/$(DEPDIR)/sysv.Plo src/riscv/$(DEPDIR)/ffi.Plo \ - src/riscv/$(DEPDIR)/sysv.Plo src/s390/$(DEPDIR)/ffi.Plo \ - src/s390/$(DEPDIR)/sysv.Plo src/sh/$(DEPDIR)/ffi.Plo \ - src/sh/$(DEPDIR)/sysv.Plo src/sh64/$(DEPDIR)/ffi.Plo \ - src/sh64/$(DEPDIR)/sysv.Plo src/sparc/$(DEPDIR)/ffi.Plo \ - src/sparc/$(DEPDIR)/ffi64.Plo src/sparc/$(DEPDIR)/v8.Plo \ - src/sparc/$(DEPDIR)/v9.Plo src/tile/$(DEPDIR)/ffi.Plo \ - src/tile/$(DEPDIR)/tile.Plo src/vax/$(DEPDIR)/elfbsd.Plo \ - src/vax/$(DEPDIR)/ffi.Plo src/wasm32/$(DEPDIR)/ffi.Plo \ - src/x86/$(DEPDIR)/ffi.Plo src/x86/$(DEPDIR)/ffi64.Plo \ - src/x86/$(DEPDIR)/ffiw64.Plo src/x86/$(DEPDIR)/sysv.Plo \ - src/x86/$(DEPDIR)/sysv_intel.Plo src/x86/$(DEPDIR)/unix64.Plo \ - src/x86/$(DEPDIR)/win64.Plo src/x86/$(DEPDIR)/win64_intel.Plo \ - src/xtensa/$(DEPDIR)/ffi.Plo src/xtensa/$(DEPDIR)/sysv.Plo -am__mv = mv -f -CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CCASFLAGS) $(CCASFLAGS) -AM_V_CPPAS = $(am__v_CPPAS_$(V)) -am__v_CPPAS_ = $(am__v_CPPAS_$(AM_DEFAULT_VERBOSITY)) -am__v_CPPAS_0 = @echo " CPPAS " $@; -am__v_CPPAS_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libffi_la_SOURCES) $(EXTRA_libffi_la_SOURCES) \ - $(libffi_convenience_la_SOURCES) \ - $(EXTRA_libffi_convenience_la_SOURCES) \ - $(nodist_libffi_convenience_la_SOURCES) -DIST_SOURCES = $(am__libffi_la_SOURCES_DIST) \ - $(EXTRA_libffi_la_SOURCES) \ - $(am__libffi_convenience_la_SOURCES_DIST) \ - $(EXTRA_libffi_convenience_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(pkgconfig_DATA) -HEADERS = $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ - fficonfig.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -DIST_SUBDIRS = include testsuite man doc -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \ - $(srcdir)/libffi.pc.in README.md compile config.guess \ - config.sub depcomp install-sh ltmain.sh missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -# Exists only to be overridden by the user if desired. -AM_DISTCHECK_DVI_TARGET = dvi -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AM_LTLDFLAGS = -AM_RUNTESTFLAGS = -AR = x86_64-linux-gnu-ar -AUTOCONF = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoconf -AUTOHEADER = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoheader -AUTOMAKE = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' automake-1.16 -AWK = mawk -CC = x86_64-linux-gnu-gcc -CCAS = x86_64-linux-gnu-gcc -CCASDEPMODE = depmode=none -CCASFLAGS = -CCDEPMODE = depmode=none -CFLAGS = -Wall -fexceptions -CPPFLAGS = -CSCOPE = cscope -CTAGS = ctags -CXX = x86_64-linux-gnu-g++ -CXXCPP = x86_64-linux-gnu-g++ -E -CXXDEPMODE = depmode=none -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -ETAGS = etags -EXEEXT = -FFI_EXEC_TRAMPOLINE_TABLE = 0 -FGREP = /usr/bin/grep -F -FILECMD = file -GREP = /usr/bin/grep -HAVE_LONG_DOUBLE = 1 -HAVE_LONG_DOUBLE_VARIANT = 0 -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAINT = # -MAKEINFO = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/x86_64-linux-gnu-nm -B -NMEDIT = -OBJDUMP = x86_64-linux-gnu-objdump -OBJEXT = o -OPT_LDFLAGS = -Wl,-O1 -OTOOL = -OTOOL64 = -PACKAGE = libffi -PACKAGE_BUGREPORT = http://github.com/libffi/libffi/issues -PACKAGE_NAME = libffi -PACKAGE_STRING = libffi 3.4.4 -PACKAGE_TARNAME = libffi -PACKAGE_URL = -PACKAGE_VERSION = 3.4.4 -PATH_SEPARATOR = : -PRTDIAG = -RANLIB = x86_64-linux-gnu-ranlib -READELF = x86_64-linux-gnu-readelf -SECTION_LDFLAGS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = x86_64-linux-gnu-strip -TARGET = X86_64 -TARGETDIR = x86 -TARGET_OBJ = src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -VERSION = 3.4.4 -abs_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu -abs_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -abs_top_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu -abs_top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -ac_ct_AR = -ac_ct_CC = -ac_ct_CXX = -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_enable_builddir_sed = sed -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = x86_64-linux-gnu -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -sys_symbol_underscore = no -sysconfdir = ${prefix}/etc -target = x86_64-pc-linux-gnu -target_alias = x86_64-linux-gnu -target_cpu = x86_64 -target_os = linux-gnu -target_vendor = pc -tmake_file = -toolexecdir = ${libdir}/gcc-lib/$(target_alias) -toolexeclibdir = ${libdir}/../lib -top_build_prefix = -top_builddir = . -top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -AUTOMAKE_OPTIONS = foreign subdir-objects -ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = include testsuite man $(am__append_1) -EXTRA_DIST = LICENSE ChangeLog.old \ - m4/libtool.m4 m4/lt~obsolete.m4 \ - m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \ - m4/ltversion.m4 src/debug.c msvcc.sh \ - generate-darwin-source-and-headers.py \ - libffi.xcodeproj/project.pbxproj \ - src/powerpc/t-aix \ - libtool-ldflags libtool-version configure.host README.md \ - libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl - - -# local.exp is generated by configure -DISTCLEANFILES = local.exp - -# Subdir rules rely on $(FLAGS_TO_PASS) -FLAGS_TO_PASS = $(AM_MAKEFLAGS) -MAKEOVERRIDES = -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libffi.pc -toolexeclib_LTLIBRARIES = libffi.la -noinst_LTLIBRARIES = libffi_convenience.la -libffi_la_SOURCES = src/prep_cif.c src/types.c src/raw_api.c \ - src/java_raw_api.c src/closures.c src/tramp.c $(am__append_2) -noinst_HEADERS = src/aarch64/ffitarget.h src/aarch64/internal.h \ - src/alpha/ffitarget.h src/alpha/internal.h \ - src/arc/ffitarget.h src/arm/ffitarget.h src/arm/internal.h \ - src/avr32/ffitarget.h src/bfin/ffitarget.h \ - src/cris/ffitarget.h src/csky/ffitarget.h src/frv/ffitarget.h \ - src/ia64/ffitarget.h src/ia64/ia64_flags.h \ - src/m32r/ffitarget.h src/m68k/ffitarget.h \ - src/m88k/ffitarget.h src/metag/ffitarget.h \ - src/microblaze/ffitarget.h src/mips/ffitarget.h \ - src/moxie/ffitarget.h src/nios2/ffitarget.h \ - src/or1k/ffitarget.h src/pa/ffitarget.h \ - src/powerpc/ffitarget.h src/powerpc/asm.h \ - src/powerpc/ffi_powerpc.h src/riscv/ffitarget.h \ - src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \ - src/sh64/ffitarget.h src/sparc/ffitarget.h \ - src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \ - src/wasm32/ffitarget.h \ - src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h \ - src/x86/asmnames.h src/xtensa/ffitarget.h src/dlmalloc.c \ - src/kvx/ffitarget.h src/kvx/asm.h \ - src/loongarch64/ffitarget.h - -EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \ - src/aarch64/win64_armasm.S src/alpha/ffi.c src/alpha/osf.S \ - src/arc/ffi.c src/arc/arcompact.S src/arm/ffi.c \ - src/arm/sysv.S src/arm/ffi.c src/arm/sysv_msvc_arm32.S \ - src/avr32/ffi.c src/avr32/sysv.S src/bfin/ffi.c \ - src/bfin/sysv.S src/cris/ffi.c src/cris/sysv.S src/frv/ffi.c \ - src/csky/ffi.c src/csky/sysv.S src/frv/eabi.S src/ia64/ffi.c \ - src/ia64/unix.S src/m32r/ffi.c src/m32r/sysv.S src/m68k/ffi.c \ - src/m68k/sysv.S src/m88k/ffi.c src/m88k/obsd.S \ - src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \ - src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \ - src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \ - src/nios2/ffi.c src/nios2/sysv.S src/or1k/ffi.c \ - src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \ - src/pa/hpux64.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \ - src/powerpc/ffi_linux64.c src/powerpc/sysv.S \ - src/powerpc/linux64.S src/powerpc/linux64_closure.S \ - src/powerpc/ppc_closure.S src/powerpc/aix.S \ - src/powerpc/darwin.S src/powerpc/aix_closure.S \ - src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \ - src/riscv/ffi.c src/riscv/sysv.S src/s390/ffi.c \ - src/s390/sysv.S src/sh/ffi.c src/sh/sysv.S src/sh64/ffi.c \ - src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \ - src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \ - src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \ - src/wasm32/ffi.c \ - src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \ - src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \ - src/xtensa/ffi.c src/xtensa/sysv.S src/kvx/ffi.c \ - src/kvx/sysv.S src/loongarch64/ffi.c src/loongarch64/sysv.S - -libffi_la_LIBADD = $(TARGET_OBJ) -libffi_convenience_la_SOURCES = $(libffi_la_SOURCES) -EXTRA_libffi_convenience_la_SOURCES = $(EXTRA_libffi_la_SOURCES) -libffi_convenience_la_LIBADD = $(libffi_la_LIBADD) -libffi_convenience_la_DEPENDENCIES = $(libffi_la_DEPENDENCIES) -nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES) -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS)) -AM_CFLAGS = $(am__append_3) -libffi_version_script = -##libffi_version_script = -Wl,--version-script,libffi.map -##libffi_version_script = -Wl,-M,libffi.map-sun -libffi_version_dep = -##libffi_version_dep = libffi.map -##libffi_version_dep = libffi.map-sun -libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) -libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep) -AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src -AM_CCASFLAGS = $(AM_CPPFLAGS) -all: fficonfig.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: # $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -fficonfig.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h -$(srcdir)/fficonfig.h.in: # $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f fficonfig.h stamp-h1 -libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \ - } - -uninstall-toolexeclibLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \ - done - -clean-toolexeclibLTLIBRARIES: - -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES) - @list='$(toolexeclib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -src/$(am__dirstamp): - @$(MKDIR_P) src - @: > src/$(am__dirstamp) -src/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/$(DEPDIR) - @: > src/$(DEPDIR)/$(am__dirstamp) -src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/tramp.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/aarch64/$(am__dirstamp): - @$(MKDIR_P) src/aarch64 - @: > src/aarch64/$(am__dirstamp) -src/aarch64/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/aarch64/$(DEPDIR) - @: > src/aarch64/$(DEPDIR)/$(am__dirstamp) -src/aarch64/ffi.lo: src/aarch64/$(am__dirstamp) \ - src/aarch64/$(DEPDIR)/$(am__dirstamp) -src/aarch64/sysv.lo: src/aarch64/$(am__dirstamp) \ - src/aarch64/$(DEPDIR)/$(am__dirstamp) -src/aarch64/win64_armasm.lo: src/aarch64/$(am__dirstamp) \ - src/aarch64/$(DEPDIR)/$(am__dirstamp) -src/alpha/$(am__dirstamp): - @$(MKDIR_P) src/alpha - @: > src/alpha/$(am__dirstamp) -src/alpha/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/alpha/$(DEPDIR) - @: > src/alpha/$(DEPDIR)/$(am__dirstamp) -src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \ - src/alpha/$(DEPDIR)/$(am__dirstamp) -src/alpha/osf.lo: src/alpha/$(am__dirstamp) \ - src/alpha/$(DEPDIR)/$(am__dirstamp) -src/arc/$(am__dirstamp): - @$(MKDIR_P) src/arc - @: > src/arc/$(am__dirstamp) -src/arc/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/arc/$(DEPDIR) - @: > src/arc/$(DEPDIR)/$(am__dirstamp) -src/arc/ffi.lo: src/arc/$(am__dirstamp) \ - src/arc/$(DEPDIR)/$(am__dirstamp) -src/arc/arcompact.lo: src/arc/$(am__dirstamp) \ - src/arc/$(DEPDIR)/$(am__dirstamp) -src/arm/$(am__dirstamp): - @$(MKDIR_P) src/arm - @: > src/arm/$(am__dirstamp) -src/arm/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/arm/$(DEPDIR) - @: > src/arm/$(DEPDIR)/$(am__dirstamp) -src/arm/ffi.lo: src/arm/$(am__dirstamp) \ - src/arm/$(DEPDIR)/$(am__dirstamp) -src/arm/sysv.lo: src/arm/$(am__dirstamp) \ - src/arm/$(DEPDIR)/$(am__dirstamp) -src/arm/sysv_msvc_arm32.lo: src/arm/$(am__dirstamp) \ - src/arm/$(DEPDIR)/$(am__dirstamp) -src/avr32/$(am__dirstamp): - @$(MKDIR_P) src/avr32 - @: > src/avr32/$(am__dirstamp) -src/avr32/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/avr32/$(DEPDIR) - @: > src/avr32/$(DEPDIR)/$(am__dirstamp) -src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \ - src/avr32/$(DEPDIR)/$(am__dirstamp) -src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \ - src/avr32/$(DEPDIR)/$(am__dirstamp) -src/bfin/$(am__dirstamp): - @$(MKDIR_P) src/bfin - @: > src/bfin/$(am__dirstamp) -src/bfin/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/bfin/$(DEPDIR) - @: > src/bfin/$(DEPDIR)/$(am__dirstamp) -src/bfin/ffi.lo: src/bfin/$(am__dirstamp) \ - src/bfin/$(DEPDIR)/$(am__dirstamp) -src/bfin/sysv.lo: src/bfin/$(am__dirstamp) \ - src/bfin/$(DEPDIR)/$(am__dirstamp) -src/cris/$(am__dirstamp): - @$(MKDIR_P) src/cris - @: > src/cris/$(am__dirstamp) -src/cris/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/cris/$(DEPDIR) - @: > src/cris/$(DEPDIR)/$(am__dirstamp) -src/cris/ffi.lo: src/cris/$(am__dirstamp) \ - src/cris/$(DEPDIR)/$(am__dirstamp) -src/cris/sysv.lo: src/cris/$(am__dirstamp) \ - src/cris/$(DEPDIR)/$(am__dirstamp) -src/frv/$(am__dirstamp): - @$(MKDIR_P) src/frv - @: > src/frv/$(am__dirstamp) -src/frv/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/frv/$(DEPDIR) - @: > src/frv/$(DEPDIR)/$(am__dirstamp) -src/frv/ffi.lo: src/frv/$(am__dirstamp) \ - src/frv/$(DEPDIR)/$(am__dirstamp) -src/csky/$(am__dirstamp): - @$(MKDIR_P) src/csky - @: > src/csky/$(am__dirstamp) -src/csky/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/csky/$(DEPDIR) - @: > src/csky/$(DEPDIR)/$(am__dirstamp) -src/csky/ffi.lo: src/csky/$(am__dirstamp) \ - src/csky/$(DEPDIR)/$(am__dirstamp) -src/csky/sysv.lo: src/csky/$(am__dirstamp) \ - src/csky/$(DEPDIR)/$(am__dirstamp) -src/frv/eabi.lo: src/frv/$(am__dirstamp) \ - src/frv/$(DEPDIR)/$(am__dirstamp) -src/ia64/$(am__dirstamp): - @$(MKDIR_P) src/ia64 - @: > src/ia64/$(am__dirstamp) -src/ia64/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/ia64/$(DEPDIR) - @: > src/ia64/$(DEPDIR)/$(am__dirstamp) -src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \ - src/ia64/$(DEPDIR)/$(am__dirstamp) -src/ia64/unix.lo: src/ia64/$(am__dirstamp) \ - src/ia64/$(DEPDIR)/$(am__dirstamp) -src/m32r/$(am__dirstamp): - @$(MKDIR_P) src/m32r - @: > src/m32r/$(am__dirstamp) -src/m32r/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/m32r/$(DEPDIR) - @: > src/m32r/$(DEPDIR)/$(am__dirstamp) -src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \ - src/m32r/$(DEPDIR)/$(am__dirstamp) -src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \ - src/m32r/$(DEPDIR)/$(am__dirstamp) -src/m68k/$(am__dirstamp): - @$(MKDIR_P) src/m68k - @: > src/m68k/$(am__dirstamp) -src/m68k/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/m68k/$(DEPDIR) - @: > src/m68k/$(DEPDIR)/$(am__dirstamp) -src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \ - src/m68k/$(DEPDIR)/$(am__dirstamp) -src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \ - src/m68k/$(DEPDIR)/$(am__dirstamp) -src/m88k/$(am__dirstamp): - @$(MKDIR_P) src/m88k - @: > src/m88k/$(am__dirstamp) -src/m88k/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/m88k/$(DEPDIR) - @: > src/m88k/$(DEPDIR)/$(am__dirstamp) -src/m88k/ffi.lo: src/m88k/$(am__dirstamp) \ - src/m88k/$(DEPDIR)/$(am__dirstamp) -src/m88k/obsd.lo: src/m88k/$(am__dirstamp) \ - src/m88k/$(DEPDIR)/$(am__dirstamp) -src/metag/$(am__dirstamp): - @$(MKDIR_P) src/metag - @: > src/metag/$(am__dirstamp) -src/metag/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/metag/$(DEPDIR) - @: > src/metag/$(DEPDIR)/$(am__dirstamp) -src/metag/ffi.lo: src/metag/$(am__dirstamp) \ - src/metag/$(DEPDIR)/$(am__dirstamp) -src/metag/sysv.lo: src/metag/$(am__dirstamp) \ - src/metag/$(DEPDIR)/$(am__dirstamp) -src/microblaze/$(am__dirstamp): - @$(MKDIR_P) src/microblaze - @: > src/microblaze/$(am__dirstamp) -src/microblaze/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/microblaze/$(DEPDIR) - @: > src/microblaze/$(DEPDIR)/$(am__dirstamp) -src/microblaze/ffi.lo: src/microblaze/$(am__dirstamp) \ - src/microblaze/$(DEPDIR)/$(am__dirstamp) -src/microblaze/sysv.lo: src/microblaze/$(am__dirstamp) \ - src/microblaze/$(DEPDIR)/$(am__dirstamp) -src/mips/$(am__dirstamp): - @$(MKDIR_P) src/mips - @: > src/mips/$(am__dirstamp) -src/mips/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/mips/$(DEPDIR) - @: > src/mips/$(DEPDIR)/$(am__dirstamp) -src/mips/ffi.lo: src/mips/$(am__dirstamp) \ - src/mips/$(DEPDIR)/$(am__dirstamp) -src/mips/o32.lo: src/mips/$(am__dirstamp) \ - src/mips/$(DEPDIR)/$(am__dirstamp) -src/mips/n32.lo: src/mips/$(am__dirstamp) \ - src/mips/$(DEPDIR)/$(am__dirstamp) -src/moxie/$(am__dirstamp): - @$(MKDIR_P) src/moxie - @: > src/moxie/$(am__dirstamp) -src/moxie/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/moxie/$(DEPDIR) - @: > src/moxie/$(DEPDIR)/$(am__dirstamp) -src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \ - src/moxie/$(DEPDIR)/$(am__dirstamp) -src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \ - src/moxie/$(DEPDIR)/$(am__dirstamp) -src/nios2/$(am__dirstamp): - @$(MKDIR_P) src/nios2 - @: > src/nios2/$(am__dirstamp) -src/nios2/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/nios2/$(DEPDIR) - @: > src/nios2/$(DEPDIR)/$(am__dirstamp) -src/nios2/ffi.lo: src/nios2/$(am__dirstamp) \ - src/nios2/$(DEPDIR)/$(am__dirstamp) -src/nios2/sysv.lo: src/nios2/$(am__dirstamp) \ - src/nios2/$(DEPDIR)/$(am__dirstamp) -src/or1k/$(am__dirstamp): - @$(MKDIR_P) src/or1k - @: > src/or1k/$(am__dirstamp) -src/or1k/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/or1k/$(DEPDIR) - @: > src/or1k/$(DEPDIR)/$(am__dirstamp) -src/or1k/ffi.lo: src/or1k/$(am__dirstamp) \ - src/or1k/$(DEPDIR)/$(am__dirstamp) -src/or1k/sysv.lo: src/or1k/$(am__dirstamp) \ - src/or1k/$(DEPDIR)/$(am__dirstamp) -src/pa/$(am__dirstamp): - @$(MKDIR_P) src/pa - @: > src/pa/$(am__dirstamp) -src/pa/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/pa/$(DEPDIR) - @: > src/pa/$(DEPDIR)/$(am__dirstamp) -src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp) -src/pa/linux.lo: src/pa/$(am__dirstamp) \ - src/pa/$(DEPDIR)/$(am__dirstamp) -src/pa/hpux32.lo: src/pa/$(am__dirstamp) \ - src/pa/$(DEPDIR)/$(am__dirstamp) -src/pa/hpux64.lo: src/pa/$(am__dirstamp) \ - src/pa/$(DEPDIR)/$(am__dirstamp) -src/powerpc/$(am__dirstamp): - @$(MKDIR_P) src/powerpc - @: > src/powerpc/$(am__dirstamp) -src/powerpc/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/powerpc/$(DEPDIR) - @: > src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/ffi_sysv.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/ffi_linux64.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \ - src/powerpc/$(DEPDIR)/$(am__dirstamp) -src/riscv/$(am__dirstamp): - @$(MKDIR_P) src/riscv - @: > src/riscv/$(am__dirstamp) -src/riscv/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/riscv/$(DEPDIR) - @: > src/riscv/$(DEPDIR)/$(am__dirstamp) -src/riscv/ffi.lo: src/riscv/$(am__dirstamp) \ - src/riscv/$(DEPDIR)/$(am__dirstamp) -src/riscv/sysv.lo: src/riscv/$(am__dirstamp) \ - src/riscv/$(DEPDIR)/$(am__dirstamp) -src/s390/$(am__dirstamp): - @$(MKDIR_P) src/s390 - @: > src/s390/$(am__dirstamp) -src/s390/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/s390/$(DEPDIR) - @: > src/s390/$(DEPDIR)/$(am__dirstamp) -src/s390/ffi.lo: src/s390/$(am__dirstamp) \ - src/s390/$(DEPDIR)/$(am__dirstamp) -src/s390/sysv.lo: src/s390/$(am__dirstamp) \ - src/s390/$(DEPDIR)/$(am__dirstamp) -src/sh/$(am__dirstamp): - @$(MKDIR_P) src/sh - @: > src/sh/$(am__dirstamp) -src/sh/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/sh/$(DEPDIR) - @: > src/sh/$(DEPDIR)/$(am__dirstamp) -src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp) -src/sh/sysv.lo: src/sh/$(am__dirstamp) \ - src/sh/$(DEPDIR)/$(am__dirstamp) -src/sh64/$(am__dirstamp): - @$(MKDIR_P) src/sh64 - @: > src/sh64/$(am__dirstamp) -src/sh64/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/sh64/$(DEPDIR) - @: > src/sh64/$(DEPDIR)/$(am__dirstamp) -src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \ - src/sh64/$(DEPDIR)/$(am__dirstamp) -src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \ - src/sh64/$(DEPDIR)/$(am__dirstamp) -src/sparc/$(am__dirstamp): - @$(MKDIR_P) src/sparc - @: > src/sparc/$(am__dirstamp) -src/sparc/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/sparc/$(DEPDIR) - @: > src/sparc/$(DEPDIR)/$(am__dirstamp) -src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \ - src/sparc/$(DEPDIR)/$(am__dirstamp) -src/sparc/ffi64.lo: src/sparc/$(am__dirstamp) \ - src/sparc/$(DEPDIR)/$(am__dirstamp) -src/sparc/v8.lo: src/sparc/$(am__dirstamp) \ - src/sparc/$(DEPDIR)/$(am__dirstamp) -src/sparc/v9.lo: src/sparc/$(am__dirstamp) \ - src/sparc/$(DEPDIR)/$(am__dirstamp) -src/tile/$(am__dirstamp): - @$(MKDIR_P) src/tile - @: > src/tile/$(am__dirstamp) -src/tile/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/tile/$(DEPDIR) - @: > src/tile/$(DEPDIR)/$(am__dirstamp) -src/tile/ffi.lo: src/tile/$(am__dirstamp) \ - src/tile/$(DEPDIR)/$(am__dirstamp) -src/tile/tile.lo: src/tile/$(am__dirstamp) \ - src/tile/$(DEPDIR)/$(am__dirstamp) -src/vax/$(am__dirstamp): - @$(MKDIR_P) src/vax - @: > src/vax/$(am__dirstamp) -src/vax/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/vax/$(DEPDIR) - @: > src/vax/$(DEPDIR)/$(am__dirstamp) -src/vax/ffi.lo: src/vax/$(am__dirstamp) \ - src/vax/$(DEPDIR)/$(am__dirstamp) -src/vax/elfbsd.lo: src/vax/$(am__dirstamp) \ - src/vax/$(DEPDIR)/$(am__dirstamp) -src/x86/$(am__dirstamp): - @$(MKDIR_P) src/x86 - @: > src/x86/$(am__dirstamp) -src/x86/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/x86/$(DEPDIR) - @: > src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/ffi.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/sysv.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/wasm32/$(am__dirstamp): - @$(MKDIR_P) src/wasm32 - @: > src/wasm32/$(am__dirstamp) -src/wasm32/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/wasm32/$(DEPDIR) - @: > src/wasm32/$(DEPDIR)/$(am__dirstamp) -src/wasm32/ffi.lo: src/wasm32/$(am__dirstamp) \ - src/wasm32/$(DEPDIR)/$(am__dirstamp) -src/x86/ffiw64.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/win64.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/ffi64.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/unix64.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/sysv_intel.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/x86/win64_intel.lo: src/x86/$(am__dirstamp) \ - src/x86/$(DEPDIR)/$(am__dirstamp) -src/xtensa/$(am__dirstamp): - @$(MKDIR_P) src/xtensa - @: > src/xtensa/$(am__dirstamp) -src/xtensa/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/xtensa/$(DEPDIR) - @: > src/xtensa/$(DEPDIR)/$(am__dirstamp) -src/xtensa/ffi.lo: src/xtensa/$(am__dirstamp) \ - src/xtensa/$(DEPDIR)/$(am__dirstamp) -src/xtensa/sysv.lo: src/xtensa/$(am__dirstamp) \ - src/xtensa/$(DEPDIR)/$(am__dirstamp) -src/kvx/$(am__dirstamp): - @$(MKDIR_P) src/kvx - @: > src/kvx/$(am__dirstamp) -src/kvx/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/kvx/$(DEPDIR) - @: > src/kvx/$(DEPDIR)/$(am__dirstamp) -src/kvx/ffi.lo: src/kvx/$(am__dirstamp) \ - src/kvx/$(DEPDIR)/$(am__dirstamp) -src/kvx/sysv.lo: src/kvx/$(am__dirstamp) \ - src/kvx/$(DEPDIR)/$(am__dirstamp) -src/loongarch64/$(am__dirstamp): - @$(MKDIR_P) src/loongarch64 - @: > src/loongarch64/$(am__dirstamp) -src/loongarch64/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/loongarch64/$(DEPDIR) - @: > src/loongarch64/$(DEPDIR)/$(am__dirstamp) -src/loongarch64/ffi.lo: src/loongarch64/$(am__dirstamp) \ - src/loongarch64/$(DEPDIR)/$(am__dirstamp) -src/loongarch64/sysv.lo: src/loongarch64/$(am__dirstamp) \ - src/loongarch64/$(DEPDIR)/$(am__dirstamp) - -libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) $(EXTRA_libffi_la_DEPENDENCIES) - $(AM_V_CCLD)$(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS) - -libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) $(EXTRA_libffi_convenience_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f src/*.$(OBJEXT) - -rm -f src/*.lo - -rm -f src/aarch64/*.$(OBJEXT) - -rm -f src/aarch64/*.lo - -rm -f src/alpha/*.$(OBJEXT) - -rm -f src/alpha/*.lo - -rm -f src/arc/*.$(OBJEXT) - -rm -f src/arc/*.lo - -rm -f src/arm/*.$(OBJEXT) - -rm -f src/arm/*.lo - -rm -f src/avr32/*.$(OBJEXT) - -rm -f src/avr32/*.lo - -rm -f src/bfin/*.$(OBJEXT) - -rm -f src/bfin/*.lo - -rm -f src/cris/*.$(OBJEXT) - -rm -f src/cris/*.lo - -rm -f src/csky/*.$(OBJEXT) - -rm -f src/csky/*.lo - -rm -f src/frv/*.$(OBJEXT) - -rm -f src/frv/*.lo - -rm -f src/ia64/*.$(OBJEXT) - -rm -f src/ia64/*.lo - -rm -f src/kvx/*.$(OBJEXT) - -rm -f src/kvx/*.lo - -rm -f src/loongarch64/*.$(OBJEXT) - -rm -f src/loongarch64/*.lo - -rm -f src/m32r/*.$(OBJEXT) - -rm -f src/m32r/*.lo - -rm -f src/m68k/*.$(OBJEXT) - -rm -f src/m68k/*.lo - -rm -f src/m88k/*.$(OBJEXT) - -rm -f src/m88k/*.lo - -rm -f src/metag/*.$(OBJEXT) - -rm -f src/metag/*.lo - -rm -f src/microblaze/*.$(OBJEXT) - -rm -f src/microblaze/*.lo - -rm -f src/mips/*.$(OBJEXT) - -rm -f src/mips/*.lo - -rm -f src/moxie/*.$(OBJEXT) - -rm -f src/moxie/*.lo - -rm -f src/nios2/*.$(OBJEXT) - -rm -f src/nios2/*.lo - -rm -f src/or1k/*.$(OBJEXT) - -rm -f src/or1k/*.lo - -rm -f src/pa/*.$(OBJEXT) - -rm -f src/pa/*.lo - -rm -f src/powerpc/*.$(OBJEXT) - -rm -f src/powerpc/*.lo - -rm -f src/riscv/*.$(OBJEXT) - -rm -f src/riscv/*.lo - -rm -f src/s390/*.$(OBJEXT) - -rm -f src/s390/*.lo - -rm -f src/sh/*.$(OBJEXT) - -rm -f src/sh/*.lo - -rm -f src/sh64/*.$(OBJEXT) - -rm -f src/sh64/*.lo - -rm -f src/sparc/*.$(OBJEXT) - -rm -f src/sparc/*.lo - -rm -f src/tile/*.$(OBJEXT) - -rm -f src/tile/*.lo - -rm -f src/vax/*.$(OBJEXT) - -rm -f src/vax/*.lo - -rm -f src/wasm32/*.$(OBJEXT) - -rm -f src/wasm32/*.lo - -rm -f src/x86/*.$(OBJEXT) - -rm -f src/x86/*.lo - -rm -f src/xtensa/*.$(OBJEXT) - -rm -f src/xtensa/*.lo - -distclean-compile: - -rm -f *.tab.c - -#include src/$(DEPDIR)/closures.Plo # am--include-marker -#include src/$(DEPDIR)/debug.Plo # am--include-marker -#include src/$(DEPDIR)/java_raw_api.Plo # am--include-marker -#include src/$(DEPDIR)/prep_cif.Plo # am--include-marker -#include src/$(DEPDIR)/raw_api.Plo # am--include-marker -#include src/$(DEPDIR)/tramp.Plo # am--include-marker -#include src/$(DEPDIR)/types.Plo # am--include-marker -#include src/aarch64/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/aarch64/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/aarch64/$(DEPDIR)/win64_armasm.Plo # am--include-marker -#include src/alpha/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/alpha/$(DEPDIR)/osf.Plo # am--include-marker -#include src/arc/$(DEPDIR)/arcompact.Plo # am--include-marker -#include src/arc/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/arm/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/arm/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/arm/$(DEPDIR)/sysv_msvc_arm32.Plo # am--include-marker -#include src/avr32/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/avr32/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/bfin/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/bfin/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/cris/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/cris/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/csky/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/csky/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/frv/$(DEPDIR)/eabi.Plo # am--include-marker -#include src/frv/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/ia64/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/ia64/$(DEPDIR)/unix.Plo # am--include-marker -#include src/kvx/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/kvx/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/loongarch64/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/loongarch64/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/m32r/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/m32r/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/m68k/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/m68k/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/m88k/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/m88k/$(DEPDIR)/obsd.Plo # am--include-marker -#include src/metag/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/metag/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/microblaze/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/microblaze/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/mips/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/mips/$(DEPDIR)/n32.Plo # am--include-marker -#include src/mips/$(DEPDIR)/o32.Plo # am--include-marker -#include src/moxie/$(DEPDIR)/eabi.Plo # am--include-marker -#include src/moxie/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/nios2/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/nios2/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/or1k/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/or1k/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/pa/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/pa/$(DEPDIR)/hpux32.Plo # am--include-marker -#include src/pa/$(DEPDIR)/hpux64.Plo # am--include-marker -#include src/pa/$(DEPDIR)/linux.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/aix.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/aix_closure.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/darwin.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/darwin_closure.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/ffi_darwin.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/ffi_linux64.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/ffi_sysv.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/linux64.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/linux64_closure.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/ppc_closure.Plo # am--include-marker -#include src/powerpc/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/riscv/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/riscv/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/s390/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/s390/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/sh/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/sh/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/sh64/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/sh64/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/sparc/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/sparc/$(DEPDIR)/ffi64.Plo # am--include-marker -#include src/sparc/$(DEPDIR)/v8.Plo # am--include-marker -#include src/sparc/$(DEPDIR)/v9.Plo # am--include-marker -#include src/tile/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/tile/$(DEPDIR)/tile.Plo # am--include-marker -#include src/vax/$(DEPDIR)/elfbsd.Plo # am--include-marker -#include src/vax/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/wasm32/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/x86/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/x86/$(DEPDIR)/ffi64.Plo # am--include-marker -#include src/x86/$(DEPDIR)/ffiw64.Plo # am--include-marker -#include src/x86/$(DEPDIR)/sysv.Plo # am--include-marker -#include src/x86/$(DEPDIR)/sysv_intel.Plo # am--include-marker -#include src/x86/$(DEPDIR)/unix64.Plo # am--include-marker -#include src/x86/$(DEPDIR)/win64.Plo # am--include-marker -#include src/x86/$(DEPDIR)/win64_intel.Plo # am--include-marker -#include src/xtensa/$(DEPDIR)/ffi.Plo # am--include-marker -#include src/xtensa/$(DEPDIR)/sysv.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.S.o: -# $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -# $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -# $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CPPAS)source='$<' object='$@' libtool=no -# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) - $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ $< - -.S.obj: -# $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -# $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -# $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CPPAS)source='$<' object='$@' libtool=no -# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) - $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.S.lo: -# $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -# $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -# $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CPPAS)source='$<' object='$@' libtool=yes -# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) - $(AM_V_CPPAS)$(LTCPPASCOMPILE) -c -o $@ $< - -.c.o: -# $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -# $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -# $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) - $(AM_V_CC)$(COMPILE) -c -o $@ $< - -.c.obj: -# $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -# $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -# $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) - $(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -# $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -# $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -# $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) - $(AM_V_CC)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf src/.libs src/_libs - -rm -rf src/aarch64/.libs src/aarch64/_libs - -rm -rf src/alpha/.libs src/alpha/_libs - -rm -rf src/arc/.libs src/arc/_libs - -rm -rf src/arm/.libs src/arm/_libs - -rm -rf src/avr32/.libs src/avr32/_libs - -rm -rf src/bfin/.libs src/bfin/_libs - -rm -rf src/cris/.libs src/cris/_libs - -rm -rf src/csky/.libs src/csky/_libs - -rm -rf src/frv/.libs src/frv/_libs - -rm -rf src/ia64/.libs src/ia64/_libs - -rm -rf src/kvx/.libs src/kvx/_libs - -rm -rf src/loongarch64/.libs src/loongarch64/_libs - -rm -rf src/m32r/.libs src/m32r/_libs - -rm -rf src/m68k/.libs src/m68k/_libs - -rm -rf src/m88k/.libs src/m88k/_libs - -rm -rf src/metag/.libs src/metag/_libs - -rm -rf src/microblaze/.libs src/microblaze/_libs - -rm -rf src/mips/.libs src/mips/_libs - -rm -rf src/moxie/.libs src/moxie/_libs - -rm -rf src/nios2/.libs src/nios2/_libs - -rm -rf src/or1k/.libs src/or1k/_libs - -rm -rf src/pa/.libs src/pa/_libs - -rm -rf src/powerpc/.libs src/powerpc/_libs - -rm -rf src/riscv/.libs src/riscv/_libs - -rm -rf src/s390/.libs src/s390/_libs - -rm -rf src/sh/.libs src/sh/_libs - -rm -rf src/sh64/.libs src/sh64/_libs - -rm -rf src/sparc/.libs src/sparc/_libs - -rm -rf src/tile/.libs src/tile/_libs - -rm -rf src/vax/.libs src/vax/_libs - -rm -rf src/wasm32/.libs src/wasm32/_libs - -rm -rf src/x86/.libs src/x86/_libs - -rm -rf src/xtensa/.libs src/xtensa/_libs - -distclean-libtool: - -rm -f libtool config.lt -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) fficonfig.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f src/$(DEPDIR)/$(am__dirstamp) - -rm -f src/$(am__dirstamp) - -rm -f src/aarch64/$(DEPDIR)/$(am__dirstamp) - -rm -f src/aarch64/$(am__dirstamp) - -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp) - -rm -f src/alpha/$(am__dirstamp) - -rm -f src/arc/$(DEPDIR)/$(am__dirstamp) - -rm -f src/arc/$(am__dirstamp) - -rm -f src/arm/$(DEPDIR)/$(am__dirstamp) - -rm -f src/arm/$(am__dirstamp) - -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp) - -rm -f src/avr32/$(am__dirstamp) - -rm -f src/bfin/$(DEPDIR)/$(am__dirstamp) - -rm -f src/bfin/$(am__dirstamp) - -rm -f src/cris/$(DEPDIR)/$(am__dirstamp) - -rm -f src/cris/$(am__dirstamp) - -rm -f src/csky/$(DEPDIR)/$(am__dirstamp) - -rm -f src/csky/$(am__dirstamp) - -rm -f src/frv/$(DEPDIR)/$(am__dirstamp) - -rm -f src/frv/$(am__dirstamp) - -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp) - -rm -f src/ia64/$(am__dirstamp) - -rm -f src/kvx/$(DEPDIR)/$(am__dirstamp) - -rm -f src/kvx/$(am__dirstamp) - -rm -f src/loongarch64/$(DEPDIR)/$(am__dirstamp) - -rm -f src/loongarch64/$(am__dirstamp) - -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp) - -rm -f src/m32r/$(am__dirstamp) - -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp) - -rm -f src/m68k/$(am__dirstamp) - -rm -f src/m88k/$(DEPDIR)/$(am__dirstamp) - -rm -f src/m88k/$(am__dirstamp) - -rm -f src/metag/$(DEPDIR)/$(am__dirstamp) - -rm -f src/metag/$(am__dirstamp) - -rm -f src/microblaze/$(DEPDIR)/$(am__dirstamp) - -rm -f src/microblaze/$(am__dirstamp) - -rm -f src/mips/$(DEPDIR)/$(am__dirstamp) - -rm -f src/mips/$(am__dirstamp) - -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp) - -rm -f src/moxie/$(am__dirstamp) - -rm -f src/nios2/$(DEPDIR)/$(am__dirstamp) - -rm -f src/nios2/$(am__dirstamp) - -rm -f src/or1k/$(DEPDIR)/$(am__dirstamp) - -rm -f src/or1k/$(am__dirstamp) - -rm -f src/pa/$(DEPDIR)/$(am__dirstamp) - -rm -f src/pa/$(am__dirstamp) - -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp) - -rm -f src/powerpc/$(am__dirstamp) - -rm -f src/riscv/$(DEPDIR)/$(am__dirstamp) - -rm -f src/riscv/$(am__dirstamp) - -rm -f src/s390/$(DEPDIR)/$(am__dirstamp) - -rm -f src/s390/$(am__dirstamp) - -rm -f src/sh/$(DEPDIR)/$(am__dirstamp) - -rm -f src/sh/$(am__dirstamp) - -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp) - -rm -f src/sh64/$(am__dirstamp) - -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp) - -rm -f src/sparc/$(am__dirstamp) - -rm -f src/tile/$(DEPDIR)/$(am__dirstamp) - -rm -f src/tile/$(am__dirstamp) - -rm -f src/vax/$(DEPDIR)/$(am__dirstamp) - -rm -f src/vax/$(am__dirstamp) - -rm -f src/wasm32/$(DEPDIR)/$(am__dirstamp) - -rm -f src/wasm32/$(am__dirstamp) - -rm -f src/x86/$(DEPDIR)/$(am__dirstamp) - -rm -f src/x86/$(am__dirstamp) - -rm -f src/xtensa/$(DEPDIR)/$(am__dirstamp) - -rm -f src/xtensa/$(am__dirstamp) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-toolexeclibLTLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f src/$(DEPDIR)/closures.Plo - -rm -f src/$(DEPDIR)/debug.Plo - -rm -f src/$(DEPDIR)/java_raw_api.Plo - -rm -f src/$(DEPDIR)/prep_cif.Plo - -rm -f src/$(DEPDIR)/raw_api.Plo - -rm -f src/$(DEPDIR)/tramp.Plo - -rm -f src/$(DEPDIR)/types.Plo - -rm -f src/aarch64/$(DEPDIR)/ffi.Plo - -rm -f src/aarch64/$(DEPDIR)/sysv.Plo - -rm -f src/aarch64/$(DEPDIR)/win64_armasm.Plo - -rm -f src/alpha/$(DEPDIR)/ffi.Plo - -rm -f src/alpha/$(DEPDIR)/osf.Plo - -rm -f src/arc/$(DEPDIR)/arcompact.Plo - -rm -f src/arc/$(DEPDIR)/ffi.Plo - -rm -f src/arm/$(DEPDIR)/ffi.Plo - -rm -f src/arm/$(DEPDIR)/sysv.Plo - -rm -f src/arm/$(DEPDIR)/sysv_msvc_arm32.Plo - -rm -f src/avr32/$(DEPDIR)/ffi.Plo - -rm -f src/avr32/$(DEPDIR)/sysv.Plo - -rm -f src/bfin/$(DEPDIR)/ffi.Plo - -rm -f src/bfin/$(DEPDIR)/sysv.Plo - -rm -f src/cris/$(DEPDIR)/ffi.Plo - -rm -f src/cris/$(DEPDIR)/sysv.Plo - -rm -f src/csky/$(DEPDIR)/ffi.Plo - -rm -f src/csky/$(DEPDIR)/sysv.Plo - -rm -f src/frv/$(DEPDIR)/eabi.Plo - -rm -f src/frv/$(DEPDIR)/ffi.Plo - -rm -f src/ia64/$(DEPDIR)/ffi.Plo - -rm -f src/ia64/$(DEPDIR)/unix.Plo - -rm -f src/kvx/$(DEPDIR)/ffi.Plo - -rm -f src/kvx/$(DEPDIR)/sysv.Plo - -rm -f src/loongarch64/$(DEPDIR)/ffi.Plo - -rm -f src/loongarch64/$(DEPDIR)/sysv.Plo - -rm -f src/m32r/$(DEPDIR)/ffi.Plo - -rm -f src/m32r/$(DEPDIR)/sysv.Plo - -rm -f src/m68k/$(DEPDIR)/ffi.Plo - -rm -f src/m68k/$(DEPDIR)/sysv.Plo - -rm -f src/m88k/$(DEPDIR)/ffi.Plo - -rm -f src/m88k/$(DEPDIR)/obsd.Plo - -rm -f src/metag/$(DEPDIR)/ffi.Plo - -rm -f src/metag/$(DEPDIR)/sysv.Plo - -rm -f src/microblaze/$(DEPDIR)/ffi.Plo - -rm -f src/microblaze/$(DEPDIR)/sysv.Plo - -rm -f src/mips/$(DEPDIR)/ffi.Plo - -rm -f src/mips/$(DEPDIR)/n32.Plo - -rm -f src/mips/$(DEPDIR)/o32.Plo - -rm -f src/moxie/$(DEPDIR)/eabi.Plo - -rm -f src/moxie/$(DEPDIR)/ffi.Plo - -rm -f src/nios2/$(DEPDIR)/ffi.Plo - -rm -f src/nios2/$(DEPDIR)/sysv.Plo - -rm -f src/or1k/$(DEPDIR)/ffi.Plo - -rm -f src/or1k/$(DEPDIR)/sysv.Plo - -rm -f src/pa/$(DEPDIR)/ffi.Plo - -rm -f src/pa/$(DEPDIR)/hpux32.Plo - -rm -f src/pa/$(DEPDIR)/hpux64.Plo - -rm -f src/pa/$(DEPDIR)/linux.Plo - -rm -f src/powerpc/$(DEPDIR)/aix.Plo - -rm -f src/powerpc/$(DEPDIR)/aix_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/darwin.Plo - -rm -f src/powerpc/$(DEPDIR)/darwin_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi_darwin.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi_linux64.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi_sysv.Plo - -rm -f src/powerpc/$(DEPDIR)/linux64.Plo - -rm -f src/powerpc/$(DEPDIR)/linux64_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/ppc_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/sysv.Plo - -rm -f src/riscv/$(DEPDIR)/ffi.Plo - -rm -f src/riscv/$(DEPDIR)/sysv.Plo - -rm -f src/s390/$(DEPDIR)/ffi.Plo - -rm -f src/s390/$(DEPDIR)/sysv.Plo - -rm -f src/sh/$(DEPDIR)/ffi.Plo - -rm -f src/sh/$(DEPDIR)/sysv.Plo - -rm -f src/sh64/$(DEPDIR)/ffi.Plo - -rm -f src/sh64/$(DEPDIR)/sysv.Plo - -rm -f src/sparc/$(DEPDIR)/ffi.Plo - -rm -f src/sparc/$(DEPDIR)/ffi64.Plo - -rm -f src/sparc/$(DEPDIR)/v8.Plo - -rm -f src/sparc/$(DEPDIR)/v9.Plo - -rm -f src/tile/$(DEPDIR)/ffi.Plo - -rm -f src/tile/$(DEPDIR)/tile.Plo - -rm -f src/vax/$(DEPDIR)/elfbsd.Plo - -rm -f src/vax/$(DEPDIR)/ffi.Plo - -rm -f src/wasm32/$(DEPDIR)/ffi.Plo - -rm -f src/x86/$(DEPDIR)/ffi.Plo - -rm -f src/x86/$(DEPDIR)/ffi64.Plo - -rm -f src/x86/$(DEPDIR)/ffiw64.Plo - -rm -f src/x86/$(DEPDIR)/sysv.Plo - -rm -f src/x86/$(DEPDIR)/sysv_intel.Plo - -rm -f src/x86/$(DEPDIR)/unix64.Plo - -rm -f src/x86/$(DEPDIR)/win64.Plo - -rm -f src/x86/$(DEPDIR)/win64_intel.Plo - -rm -f src/xtensa/$(DEPDIR)/ffi.Plo - -rm -f src/xtensa/$(DEPDIR)/sysv.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-pkgconfigDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-toolexeclibLTLIBRARIES - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f src/$(DEPDIR)/closures.Plo - -rm -f src/$(DEPDIR)/debug.Plo - -rm -f src/$(DEPDIR)/java_raw_api.Plo - -rm -f src/$(DEPDIR)/prep_cif.Plo - -rm -f src/$(DEPDIR)/raw_api.Plo - -rm -f src/$(DEPDIR)/tramp.Plo - -rm -f src/$(DEPDIR)/types.Plo - -rm -f src/aarch64/$(DEPDIR)/ffi.Plo - -rm -f src/aarch64/$(DEPDIR)/sysv.Plo - -rm -f src/aarch64/$(DEPDIR)/win64_armasm.Plo - -rm -f src/alpha/$(DEPDIR)/ffi.Plo - -rm -f src/alpha/$(DEPDIR)/osf.Plo - -rm -f src/arc/$(DEPDIR)/arcompact.Plo - -rm -f src/arc/$(DEPDIR)/ffi.Plo - -rm -f src/arm/$(DEPDIR)/ffi.Plo - -rm -f src/arm/$(DEPDIR)/sysv.Plo - -rm -f src/arm/$(DEPDIR)/sysv_msvc_arm32.Plo - -rm -f src/avr32/$(DEPDIR)/ffi.Plo - -rm -f src/avr32/$(DEPDIR)/sysv.Plo - -rm -f src/bfin/$(DEPDIR)/ffi.Plo - -rm -f src/bfin/$(DEPDIR)/sysv.Plo - -rm -f src/cris/$(DEPDIR)/ffi.Plo - -rm -f src/cris/$(DEPDIR)/sysv.Plo - -rm -f src/csky/$(DEPDIR)/ffi.Plo - -rm -f src/csky/$(DEPDIR)/sysv.Plo - -rm -f src/frv/$(DEPDIR)/eabi.Plo - -rm -f src/frv/$(DEPDIR)/ffi.Plo - -rm -f src/ia64/$(DEPDIR)/ffi.Plo - -rm -f src/ia64/$(DEPDIR)/unix.Plo - -rm -f src/kvx/$(DEPDIR)/ffi.Plo - -rm -f src/kvx/$(DEPDIR)/sysv.Plo - -rm -f src/loongarch64/$(DEPDIR)/ffi.Plo - -rm -f src/loongarch64/$(DEPDIR)/sysv.Plo - -rm -f src/m32r/$(DEPDIR)/ffi.Plo - -rm -f src/m32r/$(DEPDIR)/sysv.Plo - -rm -f src/m68k/$(DEPDIR)/ffi.Plo - -rm -f src/m68k/$(DEPDIR)/sysv.Plo - -rm -f src/m88k/$(DEPDIR)/ffi.Plo - -rm -f src/m88k/$(DEPDIR)/obsd.Plo - -rm -f src/metag/$(DEPDIR)/ffi.Plo - -rm -f src/metag/$(DEPDIR)/sysv.Plo - -rm -f src/microblaze/$(DEPDIR)/ffi.Plo - -rm -f src/microblaze/$(DEPDIR)/sysv.Plo - -rm -f src/mips/$(DEPDIR)/ffi.Plo - -rm -f src/mips/$(DEPDIR)/n32.Plo - -rm -f src/mips/$(DEPDIR)/o32.Plo - -rm -f src/moxie/$(DEPDIR)/eabi.Plo - -rm -f src/moxie/$(DEPDIR)/ffi.Plo - -rm -f src/nios2/$(DEPDIR)/ffi.Plo - -rm -f src/nios2/$(DEPDIR)/sysv.Plo - -rm -f src/or1k/$(DEPDIR)/ffi.Plo - -rm -f src/or1k/$(DEPDIR)/sysv.Plo - -rm -f src/pa/$(DEPDIR)/ffi.Plo - -rm -f src/pa/$(DEPDIR)/hpux32.Plo - -rm -f src/pa/$(DEPDIR)/hpux64.Plo - -rm -f src/pa/$(DEPDIR)/linux.Plo - -rm -f src/powerpc/$(DEPDIR)/aix.Plo - -rm -f src/powerpc/$(DEPDIR)/aix_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/darwin.Plo - -rm -f src/powerpc/$(DEPDIR)/darwin_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi_darwin.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi_linux64.Plo - -rm -f src/powerpc/$(DEPDIR)/ffi_sysv.Plo - -rm -f src/powerpc/$(DEPDIR)/linux64.Plo - -rm -f src/powerpc/$(DEPDIR)/linux64_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/ppc_closure.Plo - -rm -f src/powerpc/$(DEPDIR)/sysv.Plo - -rm -f src/riscv/$(DEPDIR)/ffi.Plo - -rm -f src/riscv/$(DEPDIR)/sysv.Plo - -rm -f src/s390/$(DEPDIR)/ffi.Plo - -rm -f src/s390/$(DEPDIR)/sysv.Plo - -rm -f src/sh/$(DEPDIR)/ffi.Plo - -rm -f src/sh/$(DEPDIR)/sysv.Plo - -rm -f src/sh64/$(DEPDIR)/ffi.Plo - -rm -f src/sh64/$(DEPDIR)/sysv.Plo - -rm -f src/sparc/$(DEPDIR)/ffi.Plo - -rm -f src/sparc/$(DEPDIR)/ffi64.Plo - -rm -f src/sparc/$(DEPDIR)/v8.Plo - -rm -f src/sparc/$(DEPDIR)/v9.Plo - -rm -f src/tile/$(DEPDIR)/ffi.Plo - -rm -f src/tile/$(DEPDIR)/tile.Plo - -rm -f src/vax/$(DEPDIR)/elfbsd.Plo - -rm -f src/vax/$(DEPDIR)/ffi.Plo - -rm -f src/wasm32/$(DEPDIR)/ffi.Plo - -rm -f src/x86/$(DEPDIR)/ffi.Plo - -rm -f src/x86/$(DEPDIR)/ffi64.Plo - -rm -f src/x86/$(DEPDIR)/ffiw64.Plo - -rm -f src/x86/$(DEPDIR)/sysv.Plo - -rm -f src/x86/$(DEPDIR)/sysv_intel.Plo - -rm -f src/x86/$(DEPDIR)/unix64.Plo - -rm -f src/x86/$(DEPDIR)/win64.Plo - -rm -f src/x86/$(DEPDIR)/win64_intel.Plo - -rm -f src/xtensa/$(DEPDIR)/ffi.Plo - -rm -f src/xtensa/$(DEPDIR)/sysv.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-pkgconfigDATA uninstall-toolexeclibLTLIBRARIES - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--depfiles am--refresh check check-am clean clean-cscope \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-toolexeclibLTLIBRARIES cscope cscopelist-am ctags \ - ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \ - dist-lzip dist-shar dist-tarZ dist-xz dist-zip dist-zstd \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-pkgconfigDATA \ - install-ps install-ps-am install-strip \ - install-toolexeclibLTLIBRARIES installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-pkgconfigDATA \ - uninstall-toolexeclibLTLIBRARIES - -.PRECIOUS: Makefile - -##libffi.map-sun : libffi.map $(top_srcdir)/make_sunver.pl \ -## $(libffi_la_OBJECTS) $(libffi_la_LIBADD) -## perl $(top_srcdir)/make_sunver.pl libffi.map \ -## `echo $(libffi_la_OBJECTS) $(libffi_la_LIBADD) | \ -## sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ -## > $@ || (rm -f $@ ; exit 1) - -libffi.map: $(top_srcdir)/libffi.map.in - $(COMPILE) -D$(TARGET) -DGENERATE_LIBFFI_MAP \ - -E -x assembler-with-cpp -o $@ $(top_srcdir)/libffi.map.in - -dist-hook: - d=`(cd $(distdir); pwd)`; (cd doc; make pdf; cp *.pdf $$d/doc) - if [ -d $(top_srcdir)/.git ] ; then (cd $(top_srcdir); git log --no-decorate) ; else echo 'See git log for history.' ; fi > $(distdir)/ChangeLog - s=`awk '/was released on/{ print NR; exit}' $(top_srcdir)/README.md`; tail -n +$$(($$s-1)) $(top_srcdir)/README.md > $(distdir)/README.md - -# target overrides --include $(tmake_file) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/a.out b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/a.out deleted file mode 100755 index d89e502..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/a.out and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/config.status b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/config.status deleted file mode 100755 index 2719de8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/config.status +++ /dev/null @@ -1,2407 +0,0 @@ -#! /bin/bash -# Generated by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=${CONFIG_SHELL-/bin/bash} -export SHELL -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: -if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else $as_nop - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi - -# The user is always right. -if ${PATH_SEPARATOR+false} :; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - test -r "$as_dir$0" && as_myself=$as_dir$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - printf "%s\n" "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null -then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else $as_nop - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null -then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else $as_nop - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libffi $as_me 3.4.4, which was -generated by GNU Autoconf 2.71. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -# Files that config.status was made for. -config_files=" include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile doc/Makefile libffi.pc" -config_headers=" fficonfig.h" -config_commands=" buildir depfiles libtool include src" - -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -ac_cs_config='--disable-shared --enable-static --with-pic=yes --disable-dependency-tracking --disable-docs --host=x86_64-linux-gnu host_alias=x86_64-linux-gnu' -ac_cs_version="\ -libffi config.status 3.4.4 -configured by /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure, generated by GNU Autoconf 2.71, - with options \"$ac_cs_config\" - -Copyright (C) 2021 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu' -srcdir='/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi' -INSTALL='/usr/bin/install -c' -MKDIR_P='/usr/bin/mkdir -p' -AWK='mawk' -test -n "$AWK" || AWK=awk -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - printf "%s\n" "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - printf "%s\n" "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - printf "%s\n" "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -if $ac_cs_recheck; then - set X /bin/bash '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure' '--disable-shared' '--enable-static' '--with-pic=yes' '--disable-dependency-tracking' '--disable-docs' '--host=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' $ac_configure_extra_args --no-create --no-recursion - shift - \printf "%s\n" "running CONFIG_SHELL=/bin/bash $*" >&6 - CONFIG_SHELL='/bin/bash' - export CONFIG_SHELL - exec "$@" -fi - -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - printf "%s\n" "$ac_log" -} >&5 - -# -# INIT-COMMANDS -# -ax_enable_builddir_srcdir="/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi" # /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -ax_enable_builddir_host="" # / x86_64-pc-linux-gnu -ax_enable_builddir_version="3.4.4" # 3.4.4 -ax_enable_builddir_package="libffi" # libffi -ax_enable_builddir_auxdir="/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi" # -ax_enable_builddir_sed="sed" # /usr/bin/sed -ax_enable_builddir="." # - -AMDEP_TRUE="#" MAKE="make" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -double_quote_subst='s/\(["`\\]\)/\\\1/g' -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -macro_version='2.4.7' -macro_revision='2.4.7' -enable_shared='no' -enable_static='yes' -pic_mode='yes' -enable_fast_install='needless' -shared_archive_member_spec='' -SHELL='/bin/bash' -ECHO='printf %s\n' -PATH_SEPARATOR=':' -host_alias='x86_64-linux-gnu' -host='x86_64-pc-linux-gnu' -host_os='linux-gnu' -build_alias='' -build='x86_64-pc-linux-gnu' -build_os='linux-gnu' -SED='/usr/bin/sed' -Xsed='/usr/bin/sed -e 1s/^X//' -GREP='/usr/bin/grep' -EGREP='/usr/bin/grep -E' -FGREP='/usr/bin/grep -F' -LD='/usr/bin/ld -m elf_x86_64' -NM='/usr/bin/x86_64-linux-gnu-nm -B' -LN_S='ln -s' -max_cmd_len='1572864' -ac_objext='o' -exeext='' -lt_unset='unset' -lt_SP2NL='tr \040 \012' -lt_NL2SP='tr \015\012 \040\040' -lt_cv_to_host_file_cmd='func_convert_file_noop' -lt_cv_to_tool_file_cmd='func_convert_file_noop' -reload_flag=' -r' -reload_cmds='$LD$reload_flag -o $output$reload_objs' -FILECMD='file' -OBJDUMP='x86_64-linux-gnu-objdump' -deplibs_check_method='pass_all' -file_magic_cmd='$MAGIC_CMD' -file_magic_glob='' -want_nocaseglob='no' -DLLTOOL='false' -sharedlib_from_linklib_cmd='printf %s\n' -AR='x86_64-linux-gnu-ar' -lt_ar_flags='cr' -AR_FLAGS='cr' -archiver_list_spec='@' -STRIP='x86_64-linux-gnu-strip' -RANLIB='x86_64-linux-gnu-ranlib' -old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $tool_oldlib' -old_postuninstall_cmds='' -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' -lock_old_archive_extraction='no' -CC='x86_64-linux-gnu-gcc' -CFLAGS='-Wall -fexceptions' -compiler='x86_64-linux-gnu-g++' -GCC='yes' -lt_cv_sys_global_symbol_pipe='/usr/bin/sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/bin/sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_cdecl='/usr/bin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_global_symbol_to_import='' -lt_cv_sys_global_symbol_to_c_name_address='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' -lt_cv_nm_interface='BSD nm' -nm_file_list_spec='@' -lt_sysroot='' -lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1' -objdir='.libs' -MAGIC_CMD='file' -lt_prog_compiler_no_builtin_flag=' -fno-builtin' -lt_prog_compiler_pic=' -fPIC -DPIC' -lt_prog_compiler_wl='-Wl,' -lt_prog_compiler_static='-static' -lt_cv_prog_compiler_c_o='yes' -need_locks='no' -MANIFEST_TOOL=':' -DSYMUTIL='' -NMEDIT='' -LIPO='' -OTOOL='' -OTOOL64='' -libext='a' -shrext_cmds='.so' -extract_expsyms_cmds='' -archive_cmds_need_lc='yes' -enable_shared_with_static_runtimes='no' -export_dynamic_flag_spec='$wl--export-dynamic' -whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' -compiler_needs_object='no' -old_archive_from_new_cmds='' -old_archive_from_expsyms_cmds='' -archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' -archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' -module_cmds='' -module_expsym_cmds='' -with_gnu_ld='yes' -allow_undefined_flag='' -no_undefined_flag='' -hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' -hardcode_libdir_separator='' -hardcode_direct='no' -hardcode_direct_absolute='no' -hardcode_minus_L='no' -hardcode_shlibpath_var='unsupported' -hardcode_automatic='no' -inherit_rpath='no' -link_all_deplibs='no' -always_export_symbols='no' -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -include_expsyms='' -prelink_cmds='' -postlink_cmds='' -file_list_spec='' -variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' -need_lib_prefix='no' -need_version='no' -version_type='linux' -runpath_var='LD_RUN_PATH' -shlibpath_var='LD_LIBRARY_PATH' -shlibpath_overrides_runpath='yes' -libname_spec='lib$name' -library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' -soname_spec='$libname$release$shared_ext$major' -install_override_mode='' -postinstall_cmds='' -postuninstall_cmds='' -finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -finish_eval='' -hardcode_into_libs='yes' -sys_lib_search_path_spec='/usr/lib/gcc/x86_64-linux-gnu/11 /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib ' -configure_time_dlsearch_path='/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib/i386-linux-gnu /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /usr/local/lib/i686-linux-gnu /lib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu ' -configure_time_lt_sys_library_path='' -hardcode_action='immediate' -enable_dlopen='unknown' -enable_dlopen_self='unknown' -enable_dlopen_self_static='unknown' -old_striplib='x86_64-linux-gnu-strip --strip-debug' -striplib='x86_64-linux-gnu-strip --strip-unneeded' -compiler_lib_search_dirs='' -predep_objects='' -postdep_objects='' -predeps='' -postdeps='' -compiler_lib_search_path='' -LD_CXX='/usr/bin/ld -m elf_x86_64' -reload_flag_CXX=' -r' -reload_cmds_CXX='$LD$reload_flag -o $output$reload_objs' -old_archive_cmds_CXX='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' -compiler_CXX='x86_64-linux-gnu-g++' -GCC_CXX='yes' -lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -lt_prog_compiler_pic_CXX=' -fPIC -DPIC' -lt_prog_compiler_wl_CXX='-Wl,' -lt_prog_compiler_static_CXX='-static' -lt_cv_prog_compiler_c_o_CXX='yes' -archive_cmds_need_lc_CXX='no' -enable_shared_with_static_runtimes_CXX='no' -export_dynamic_flag_spec_CXX='$wl--export-dynamic' -whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' -compiler_needs_object_CXX='no' -old_archive_from_new_cmds_CXX='' -old_archive_from_expsyms_cmds_CXX='' -archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' -archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' -module_cmds_CXX='' -module_expsym_cmds_CXX='' -with_gnu_ld_CXX='yes' -allow_undefined_flag_CXX='' -no_undefined_flag_CXX='' -hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' -hardcode_libdir_separator_CXX='' -hardcode_direct_CXX='no' -hardcode_direct_absolute_CXX='no' -hardcode_minus_L_CXX='no' -hardcode_shlibpath_var_CXX='unsupported' -hardcode_automatic_CXX='no' -inherit_rpath_CXX='no' -link_all_deplibs_CXX='no' -always_export_symbols_CXX='no' -export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -include_expsyms_CXX='' -prelink_cmds_CXX='' -postlink_cmds_CXX='' -file_list_spec_CXX='' -hardcode_action_CXX='immediate' -compiler_lib_search_dirs_CXX='/usr/lib/gcc/x86_64-linux-gnu/11 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu /usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /usr/lib/gcc/x86_64-linux-gnu/11/../../..' -predep_objects_CXX='/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o' -postdep_objects_CXX='/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o' -predeps_CXX='' -postdeps_CXX='-lstdc++ -lm -lgcc_s -lc -lgcc_s' -compiler_lib_search_path_CXX='-L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../..' - -LTCC='x86_64-linux-gnu-gcc' -LTCFLAGS='' -compiler='x86_64-linux-gnu-gcc' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL ECHO PATH_SEPARATOR SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag FILECMD OBJDUMP deplibs_check_method file_magic_cmd file_magic_glob want_nocaseglob DLLTOOL sharedlib_from_linklib_cmd AR archiver_list_spec STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_import lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix lt_cv_nm_interface nm_file_list_spec lt_cv_truncate_bin lt_prog_compiler_no_builtin_flag lt_prog_compiler_pic lt_prog_compiler_wl lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks MANIFEST_TOOL DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_separator exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec install_override_mode finish_eval old_striplib striplib compiler_lib_search_dirs predep_objects postdep_objects predeps postdeps compiler_lib_search_path LD_CXX reload_flag_CXX compiler_CXX lt_prog_compiler_no_builtin_flag_CXX lt_prog_compiler_pic_CXX lt_prog_compiler_wl_CXX lt_prog_compiler_static_CXX lt_cv_prog_compiler_c_o_CXX export_dynamic_flag_spec_CXX whole_archive_flag_spec_CXX compiler_needs_object_CXX with_gnu_ld_CXX allow_undefined_flag_CXX no_undefined_flag_CXX hardcode_libdir_flag_spec_CXX hardcode_libdir_separator_CXX exclude_expsyms_CXX include_expsyms_CXX file_list_spec_CXX compiler_lib_search_dirs_CXX predep_objects_CXX postdep_objects_CXX predeps_CXX postdeps_CXX compiler_lib_search_path_CXX; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED \"\$sed_quote_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postlink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec configure_time_dlsearch_path configure_time_lt_sys_library_path reload_cmds_CXX old_archive_cmds_CXX old_archive_from_new_cmds_CXX old_archive_from_expsyms_cmds_CXX archive_cmds_CXX archive_expsym_cmds_CXX module_cmds_CXX module_expsym_cmds_CXX export_symbols_cmds_CXX prelink_cmds_CXX postlink_cmds_CXX; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -ac_aux_dir='/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='libffi' - VERSION='3.4.4' - RM='rm -f' - ofile='libtool' - - - - - -TARGETDIR="x86" - - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;; - "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;; - "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;; - "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; - "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; - "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files - test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers - test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && -S["am__EXEEXT_FALSE"]="" -S["am__EXEEXT_TRUE"]="#" -S["LTLIBOBJS"]="" -S["LIBOBJS"]="" -S["LIBFFI_BUILD_VERSIONED_SHLIB_SUN_FALSE"]="" -S["LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE"]="#" -S["LIBFFI_BUILD_VERSIONED_SHLIB_GNU_FALSE"]="" -S["LIBFFI_BUILD_VERSIONED_SHLIB_GNU_TRUE"]="#" -S["LIBFFI_BUILD_VERSIONED_SHLIB_FALSE"]="" -S["LIBFFI_BUILD_VERSIONED_SHLIB_TRUE"]="#" -S["OPT_LDFLAGS"]="-Wl,-O1 " -S["SECTION_LDFLAGS"]="" -S["tmake_file"]="" -S["toolexeclibdir"]="${libdir}/../lib" -S["toolexecdir"]="${libdir}/gcc-lib/$(target_alias)" -S["FFI_DEBUG_FALSE"]="" -S["FFI_DEBUG_TRUE"]="#" -S["TARGET_OBJ"]=" src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo" -S["TARGETDIR"]="x86" -S["TARGET"]="X86_64" -S["BUILD_DOCS_FALSE"]="" -S["BUILD_DOCS_TRUE"]="#" -S["FFI_EXEC_TRAMPOLINE_TABLE"]="0" -S["FFI_EXEC_TRAMPOLINE_TABLE_FALSE"]="" -S["FFI_EXEC_TRAMPOLINE_TABLE_TRUE"]="#" -S["sys_symbol_underscore"]="no" -S["HAVE_LONG_DOUBLE_VARIANT"]="0" -S["HAVE_LONG_DOUBLE"]="1" -S["AM_LTLDFLAGS"]="" -S["AM_RUNTESTFLAGS"]="" -S["TESTSUBDIR_FALSE"]="#" -S["TESTSUBDIR_TRUE"]="" -S["MAINT"]="#" -S["MAINTAINER_MODE_FALSE"]="" -S["MAINTAINER_MODE_TRUE"]="#" -S["PRTDIAG"]="" -S["READELF"]="x86_64-linux-gnu-readelf" -S["CXXCPP"]="x86_64-linux-gnu-g++ -E" -S["LT_SYS_LIBRARY_PATH"]="" -S["OTOOL64"]="" -S["OTOOL"]="" -S["LIPO"]="" -S["NMEDIT"]="" -S["DSYMUTIL"]="" -S["MANIFEST_TOOL"]=":" -S["RANLIB"]="x86_64-linux-gnu-ranlib" -S["ac_ct_AR"]="" -S["AR"]="x86_64-linux-gnu-ar" -S["DLLTOOL"]="false" -S["OBJDUMP"]="x86_64-linux-gnu-objdump" -S["FILECMD"]="file" -S["LN_S"]="ln -s" -S["NM"]="/usr/bin/x86_64-linux-gnu-nm -B" -S["ac_ct_DUMPBIN"]="" -S["DUMPBIN"]="" -S["LD"]="/usr/bin/ld -m elf_x86_64" -S["FGREP"]="/usr/bin/grep -F" -S["SED"]="/usr/bin/sed" -S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool" -S["EGREP"]="/usr/bin/grep -E" -S["GREP"]="/usr/bin/grep" -S["am__fastdepCCAS_FALSE"]="" -S["am__fastdepCCAS_TRUE"]="#" -S["CCASDEPMODE"]="depmode=none" -S["CCASFLAGS"]="" -S["CCAS"]="x86_64-linux-gnu-gcc" -S["am__fastdepCXX_FALSE"]="" -S["am__fastdepCXX_TRUE"]="#" -S["CXXDEPMODE"]="depmode=none" -S["ac_ct_CXX"]="" -S["CXXFLAGS"]="-g -O2" -S["CXX"]="x86_64-linux-gnu-g++" -S["am__fastdepCC_FALSE"]="" -S["am__fastdepCC_TRUE"]="#" -S["CCDEPMODE"]="depmode=none" -S["am__nodep"]="" -S["AMDEPBACKSLASH"]="" -S["AMDEP_FALSE"]="" -S["AMDEP_TRUE"]="#" -S["am__include"]="include" -S["DEPDIR"]=".deps" -S["OBJEXT"]="o" -S["EXEEXT"]="" -S["ac_ct_CC"]="" -S["CPPFLAGS"]="" -S["LDFLAGS"]="" -S["CFLAGS"]="-Wall -fexceptions" -S["CC"]="x86_64-linux-gnu-gcc" -S["AM_BACKSLASH"]="\\" -S["AM_DEFAULT_VERBOSITY"]="1" -S["AM_DEFAULT_V"]="$(AM_DEFAULT_VERBOSITY)" -S["AM_V"]="$(V)" -S["CSCOPE"]="cscope" -S["ETAGS"]="etags" -S["CTAGS"]="ctags" -S["am__untar"]="$${TAR-tar} xf -" -S["am__tar"]="$${TAR-tar} chof - \"$$tardir\"" -S["AMTAR"]="$${TAR-tar}" -S["am__leading_dot"]="." -S["SET_MAKE"]="" -S["AWK"]="mawk" -S["mkdir_p"]="$(MKDIR_P)" -S["MKDIR_P"]="/usr/bin/mkdir -p" -S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" -S["STRIP"]="x86_64-linux-gnu-strip" -S["install_sh"]="${SHELL} /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh" -S["MAKEINFO"]="${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' makeinfo" -S["AUTOHEADER"]="${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoheader" -S["AUTOMAKE"]="${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' automake-1.16" -S["AUTOCONF"]="${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoconf" -S["ACLOCAL"]="${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' aclocal-1.16" -S["VERSION"]="3.4.4" -S["PACKAGE"]="libffi" -S["CYGPATH_W"]="echo" -S["am__isrc"]=" -I$(srcdir)" -S["INSTALL_DATA"]="${INSTALL} -m 644" -S["INSTALL_SCRIPT"]="${INSTALL}" -S["INSTALL_PROGRAM"]="${INSTALL}" -S["ax_enable_builddir_sed"]="sed" -S["target_os"]="linux-gnu" -S["target_vendor"]="pc" -S["target_cpu"]="x86_64" -S["target"]="x86_64-pc-linux-gnu" -S["host_os"]="linux-gnu" -S["host_vendor"]="pc" -S["host_cpu"]="x86_64" -S["host"]="x86_64-pc-linux-gnu" -S["build_os"]="linux-gnu" -S["build_vendor"]="pc" -S["build_cpu"]="x86_64" -S["build"]="x86_64-pc-linux-gnu" -S["target_alias"]="x86_64-linux-gnu" -S["host_alias"]="x86_64-linux-gnu" -S["build_alias"]="" -S["LIBS"]="" -S["ECHO_T"]="" -S["ECHO_N"]="-n" -S["ECHO_C"]="" -S["DEFS"]="-DHAVE_CONFIG_H" -S["mandir"]="${datarootdir}/man" -S["localedir"]="${datarootdir}/locale" -S["libdir"]="${exec_prefix}/lib" -S["psdir"]="${docdir}" -S["pdfdir"]="${docdir}" -S["dvidir"]="${docdir}" -S["htmldir"]="${docdir}" -S["infodir"]="${datarootdir}/info" -S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" -S["oldincludedir"]="/usr/include" -S["includedir"]="${prefix}/include" -S["runstatedir"]="${localstatedir}/run" -S["localstatedir"]="${prefix}/var" -S["sharedstatedir"]="${prefix}/com" -S["sysconfdir"]="${prefix}/etc" -S["datadir"]="${datarootdir}" -S["datarootdir"]="${prefix}/share" -S["libexecdir"]="${exec_prefix}/libexec" -S["sbindir"]="${exec_prefix}/sbin" -S["bindir"]="${exec_prefix}/bin" -S["program_transform_name"]="s,x,x," -S["prefix"]="/usr/local" -S["exec_prefix"]="${prefix}" -S["PACKAGE_URL"]="" -S["PACKAGE_BUGREPORT"]="http://github.com/libffi/libffi/issues" -S["PACKAGE_STRING"]="libffi 3.4.4" -S["PACKAGE_VERSION"]="3.4.4" -S["PACKAGE_TARNAME"]="libffi" -S["PACKAGE_NAME"]="libffi" -S["PATH_SEPARATOR"]=":" -S["SHELL"]="/bin/bash" -S["am__quote"]="" -_ACAWK -cat >>"$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -D["PACKAGE_NAME"]=" \"libffi\"" -D["PACKAGE_TARNAME"]=" \"libffi\"" -D["PACKAGE_VERSION"]=" \"3.4.4\"" -D["PACKAGE_STRING"]=" \"libffi 3.4.4\"" -D["PACKAGE_BUGREPORT"]=" \"http://github.com/libffi/libffi/issues\"" -D["PACKAGE_URL"]=" \"\"" -D["PACKAGE"]=" \"libffi\"" -D["VERSION"]=" \"3.4.4\"" -D["HAVE_STDIO_H"]=" 1" -D["HAVE_STDLIB_H"]=" 1" -D["HAVE_STRING_H"]=" 1" -D["HAVE_INTTYPES_H"]=" 1" -D["HAVE_STDINT_H"]=" 1" -D["HAVE_STRINGS_H"]=" 1" -D["HAVE_SYS_STAT_H"]=" 1" -D["HAVE_SYS_TYPES_H"]=" 1" -D["HAVE_UNISTD_H"]=" 1" -D["STDC_HEADERS"]=" 1" -D["HAVE_DLFCN_H"]=" 1" -D["LT_OBJDIR"]=" \".libs/\"" -D["SIZEOF_SIZE_T"]=" 8" -D["HAVE_MEMFD_CREATE"]=" 1" -D["HAVE_MEMCPY"]=" 1" -D["HAVE_ALLOCA_H"]=" 1" -D["SIZEOF_DOUBLE"]=" 8" -D["SIZEOF_LONG_DOUBLE"]=" 16" -D["HAVE_LONG_DOUBLE"]=" 1" -D["HAVE_AS_CFI_PSEUDO_OP"]=" 1" -D["HAVE_AS_X86_PCREL"]=" 1" -D["HAVE_AS_X86_64_UNWIND_SECTION_TYPE"]=" 1" -D["HAVE_RO_EH_FRAME"]=" 1" -D["EH_FRAME_FLAGS"]=" \"a\"" -D["HAVE_HIDDEN_VISIBILITY_ATTRIBUTE"]=" 1" -D["FFI_EXEC_STATIC_TRAMP"]=" 1" - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { - line = $ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -printf "%s\n" "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`printf "%s\n" "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - ac_datarootdir_hack=' - s&@datadir@&${datarootdir}&g - s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g - s&@infodir@&${datarootdir}/info&g - s&@localedir@&${datarootdir}/locale&g - s&@mandir@&${datarootdir}/man&g - s&\${datarootdir}&${prefix}/share&g' ;; -esac -ac_sed_extra=" - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - printf "%s\n" "/* $configure_input */" >&1 \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - printf "%s\n" "/* $configure_input */" >&1 \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -printf "%s\n" "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "buildir":C) ac_top_srcdir="$ax_enable_builddir_srcdir" - if test ".$ax_enable_builddir" = ".." ; then - if test -f "$top_srcdir/Makefile" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5 -printf "%s\n" "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;} - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5 -printf "%s\n" "$as_me: skipping top_srcdir/Makefile - not created" >&6;} - fi - else - if test -f "$ac_top_srcdir/Makefile" ; then - a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile` - test "$a" != "$b" && rm "$ac_top_srcdir/Makefile" - fi - if test -f "$ac_top_srcdir/Makefile" ; then - echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk - echo " @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk - eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null" - if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null - then rm $ac_top_srcdir/Makefile ; fi - cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~ ## DEBUGGING - fi - if test ! -f "$ac_top_srcdir/Makefile" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5 -printf "%s\n" "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;} - x='`' ; cat >$tmp/conftemp.sed <<_EOF -/^\$/n -x -/^\$/bS -x -/\\\\\$/{H;d;} -{H;s/.*//;x;} -bM -:S -x -/\\\\\$/{h;d;} -{h;s/.*//;x;} -:M -s/\\(\\n\\) /\\1 /g -/^ /d -/^[ ]*[\\#]/d -/^VPATH *=/d -s/^srcdir *=.*/srcdir = ./ -s/^top_srcdir *=.*/top_srcdir = ./ -/[:=]/!d -/^\\./d -/ = /b -/ .= /b -/:/!b -s/:.*/:/ -s/ / /g -s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g -s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/ -s/ / /g -/^all all-all[ :]/i\\ -all-configured : all-all -s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g -/-all-all/d -a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\ - ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ - ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\ - ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\ - ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\ - ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\ - ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done -/dist-all *:/a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\ - ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ - ; found=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\ - ; if test "\$\$found" -eq "0" ; then : \\\\\\ - ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\ - ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\ - ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done -/dist-[a-zA-Z0-9]*-all *:/a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\ - ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ - ; found=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\ - ; if test "\$\$found" -eq "0" ; then : \\\\\\ - ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\ - ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\ - ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done -/distclean-all *:/a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\ - ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\ - ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\ - ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\ - ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\ - ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\ - ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\ - ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile -_EOF - cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~" ## DEBUGGING - $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile - if test -f "$ac_top_srcdir/Makefile.mk" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5 -printf "%s\n" "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;} - cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile - fi ; xxxx="####" - echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile - # sanity check - if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5 -printf "%s\n" "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;} - $ax_enable_builddir_sed -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $ac_top_srcdir/Makefile \ - >$ac_top_srcdir/Makefile~ - (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null - fi - else - xxxx="\\#\\#\\#\\#" - # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed - echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed - $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp - cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~" ## DEBUGGING - cp "$tmp/mkfile.tmp" "$ac_top_srcdir/makefiles.out~" ## DEBUGGING - if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5 -printf "%s\n" "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;} - rm "$tmp/mkfile.tmp" - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5 -printf "%s\n" "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;} - mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile" - fi - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5 -printf "%s\n" "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;} - xxxx="####" - echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile - fi - ;; - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# A file(cmd) program that detects file types. -FILECMD=$lt_FILECMD - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - -# Flags to create an archive. -AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - "include":C) test -d include || mkdir include ;; - "src":C) -test -d src || mkdir src -test -d src/$TARGETDIR || mkdir src/$TARGETDIR - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/doc/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/doc/Makefile deleted file mode 100644 index b1da406..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/doc/Makefile +++ /dev/null @@ -1,818 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# doc/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -VPATH = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libffi -pkgincludedir = $(includedir)/libffi -pkglibdir = $(libdir)/libffi -pkglibexecdir = $(libexecdir)/libffi -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = x86_64-pc-linux-gnu -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \ - $(top_srcdir)/m4/ax_cc_maxopt.m4 \ - $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_compiler_vendor.m4 \ - $(top_srcdir)/m4/ax_configure_args.m4 \ - $(top_srcdir)/m4/ax_enable_builddir.m4 \ - $(top_srcdir)/m4/ax_gcc_archflag.m4 \ - $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ - $(top_srcdir)/m4/ax_prepend_flag.m4 \ - $(top_srcdir)/m4/ax_require_defined.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \ - $(srcdir)/stamp-vti $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/fficonfig.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -AM_V_DVIPS = $(am__v_DVIPS_$(V)) -am__v_DVIPS_ = $(am__v_DVIPS_$(AM_DEFAULT_VERBOSITY)) -am__v_DVIPS_0 = @echo " DVIPS " $@; -am__v_DVIPS_1 = -AM_V_MAKEINFO = $(am__v_MAKEINFO_$(V)) -am__v_MAKEINFO_ = $(am__v_MAKEINFO_$(AM_DEFAULT_VERBOSITY)) -am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; -am__v_MAKEINFO_1 = -AM_V_INFOHTML = $(am__v_INFOHTML_$(V)) -am__v_INFOHTML_ = $(am__v_INFOHTML_$(AM_DEFAULT_VERBOSITY)) -am__v_INFOHTML_0 = @echo " INFOHTML" $@; -am__v_INFOHTML_1 = -AM_V_TEXI2DVI = $(am__v_TEXI2DVI_$(V)) -am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_$(AM_DEFAULT_VERBOSITY)) -am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; -am__v_TEXI2DVI_1 = -AM_V_TEXI2PDF = $(am__v_TEXI2PDF_$(V)) -am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_$(AM_DEFAULT_VERBOSITY)) -am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; -am__v_TEXI2PDF_1 = -AM_V_texinfo = $(am__v_texinfo_$(V)) -am__v_texinfo_ = $(am__v_texinfo_$(AM_DEFAULT_VERBOSITY)) -am__v_texinfo_0 = -q -am__v_texinfo_1 = -AM_V_texidevnull = $(am__v_texidevnull_$(V)) -am__v_texidevnull_ = $(am__v_texidevnull_$(AM_DEFAULT_VERBOSITY)) -am__v_texidevnull_0 = > /dev/null -am__v_texidevnull_1 = -INFO_DEPS = $(srcdir)/libffi.info -am__TEXINFO_TEX_DIR = $(srcdir) -DVIS = libffi.dvi -PDFS = libffi.pdf -PSS = libffi.ps -HTMLS = libffi.html -TEXINFOS = libffi.texi -TEXI2DVI = texi2dvi -TEXI2PDF = $(TEXI2DVI) --pdf --batch -MAKEINFOHTML = $(MAKEINFO) --html -AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) -DVIPS = dvips -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__installdirs = "$(DESTDIR)$(infodir)" -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in mdate-sh texinfo.tex -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AM_LTLDFLAGS = -AM_RUNTESTFLAGS = -AR = x86_64-linux-gnu-ar -AUTOCONF = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoconf -AUTOHEADER = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoheader -AUTOMAKE = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' automake-1.16 -AWK = mawk -CC = x86_64-linux-gnu-gcc -CCAS = x86_64-linux-gnu-gcc -CCASDEPMODE = depmode=none -CCASFLAGS = -CCDEPMODE = depmode=none -CFLAGS = -Wall -fexceptions -CPPFLAGS = -CSCOPE = cscope -CTAGS = ctags -CXX = x86_64-linux-gnu-g++ -CXXCPP = x86_64-linux-gnu-g++ -E -CXXDEPMODE = depmode=none -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -ETAGS = etags -EXEEXT = -FFI_EXEC_TRAMPOLINE_TABLE = 0 -FGREP = /usr/bin/grep -F -FILECMD = file -GREP = /usr/bin/grep -HAVE_LONG_DOUBLE = 1 -HAVE_LONG_DOUBLE_VARIANT = 0 -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAINT = # -MAKEINFO = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/x86_64-linux-gnu-nm -B -NMEDIT = -OBJDUMP = x86_64-linux-gnu-objdump -OBJEXT = o -OPT_LDFLAGS = -Wl,-O1 -OTOOL = -OTOOL64 = -PACKAGE = libffi -PACKAGE_BUGREPORT = http://github.com/libffi/libffi/issues -PACKAGE_NAME = libffi -PACKAGE_STRING = libffi 3.4.4 -PACKAGE_TARNAME = libffi -PACKAGE_URL = -PACKAGE_VERSION = 3.4.4 -PATH_SEPARATOR = : -PRTDIAG = -RANLIB = x86_64-linux-gnu-ranlib -READELF = x86_64-linux-gnu-readelf -SECTION_LDFLAGS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = x86_64-linux-gnu-strip -TARGET = X86_64 -TARGETDIR = x86 -TARGET_OBJ = src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -VERSION = 3.4.4 -abs_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/doc -abs_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc -abs_top_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu -abs_top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -ac_ct_AR = -ac_ct_CC = -ac_ct_CXX = -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_enable_builddir_sed = sed -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = x86_64-linux-gnu -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc -sys_symbol_underscore = no -sysconfdir = ${prefix}/etc -target = x86_64-pc-linux-gnu -target_alias = x86_64-linux-gnu -target_cpu = x86_64 -target_os = linux-gnu -target_vendor = pc -tmake_file = -toolexecdir = ${libdir}/gcc-lib/$(target_alias) -toolexeclibdir = ${libdir}/../lib -top_build_prefix = ../ -top_builddir = .. -top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -info_TEXINFOS = libffi.texi -all: all-am - -.SUFFIXES: -.SUFFIXES: .dvi .html .info .pdf .ps .texi -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -.texi.info: - $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && $(am__cd) $(srcdir) && \ - rm -rf $$backupdir && mkdir $$backupdir && \ - if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ - else :; fi && \ - cd "$$am__cwd"; \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ $<; \ - then \ - rc=0; \ - $(am__cd) $(srcdir); \ - else \ - rc=$$?; \ - $(am__cd) $(srcdir) && \ - $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ - fi; \ - rm -rf $$backupdir; exit $$rc - -.texi.dvi: - $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ - $< - -.texi.pdf: - $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ - $< - -.texi.html: - $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) - $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $(@:.html=.htp) $<; \ - then \ - rm -rf $@ && mv $(@:.html=.htp) $@; \ - else \ - rm -rf $(@:.html=.htp); exit 1; \ - fi -$(srcdir)/libffi.info: libffi.texi $(srcdir)/version.texi -libffi.dvi: libffi.texi $(srcdir)/version.texi -libffi.pdf: libffi.texi $(srcdir)/version.texi -libffi.html: libffi.texi $(srcdir)/version.texi -$(srcdir)/version.texi: # $(srcdir)/stamp-vti -$(srcdir)/stamp-vti: libffi.texi $(top_srcdir)/configure - @(dir=.; test -f ./libffi.texi || dir=$(srcdir); \ - set `$(SHELL) $(srcdir)/mdate-sh $$dir/libffi.texi`; \ - echo "@set UPDATED $$1 $$2 $$3"; \ - echo "@set UPDATED-MONTH $$2 $$3"; \ - echo "@set EDITION $(VERSION)"; \ - echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ - (cmp -s vti.tmp$$$$ $(srcdir)/version.texi \ - || (echo "Updating $(srcdir)/version.texi" && \ - cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \ - mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \ - rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$ - @cp $(srcdir)/version.texi $@ - -mostlyclean-vti: - -rm -f vti.tmp* $(srcdir)/version.texi.tmp* - -maintainer-clean-vti: -# -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi -.dvi.ps: - $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) $(AM_V_texinfo) -o $@ $< - -uninstall-dvi-am: - @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ - rm -f "$(DESTDIR)$(dvidir)/$$f"; \ - done - -uninstall-html-am: - @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-info-am: - @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ - done; \ - else :; fi - @$(NORMAL_UNINSTALL) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ - echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ - else :; fi); \ - done - -uninstall-pdf-am: - @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ - done - -uninstall-ps-am: - @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ - rm -f "$(DESTDIR)$(psdir)/$$f"; \ - done - -dist-info: $(INFO_DEPS) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ - for base in $$list; do \ - case $$base in \ - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ - base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ - for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ - if test -f $$file; then \ - relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f "$(distdir)/$$relfile" || \ - cp -p $$file "$(distdir)/$$relfile"; \ - else :; fi; \ - done; \ - done - -mostlyclean-aminfo: - -rm -rf libffi.t2d libffi.t2p - -clean-aminfo: - -test -z "libffi.dvi libffi.pdf libffi.ps libffi.html" \ - || rm -rf libffi.dvi libffi.pdf libffi.ps libffi.html - -maintainer-clean-aminfo: - @list='$(INFO_DEPS)'; for i in $$list; do \ - i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ - echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ - rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ - done -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-info -check-am: all-am -check: check-am -all-am: Makefile $(INFO_DEPS) -installdirs: - for dir in "$(DESTDIR)$(infodir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: $(DVIS) - -html: html-am - -html-am: $(HTMLS) - -info: info-am - -info-am: $(INFO_DEPS) - -install-data-am: install-info-am - -install-dvi: install-dvi-am - -install-dvi-am: $(DVIS) - @$(NORMAL_INSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ - done -install-exec-am: - -install-html: install-html-am - -install-html-am: $(HTMLS) - @$(NORMAL_INSTALL) - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ - d2=$$d$$p; \ - if test -d "$$d2"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ - else \ - list2="$$list2 $$d2"; \ - fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ - done; } -install-info: install-info-am - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ - fi; \ - for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ - for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ - $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ - if test -f $$ifile; then \ - echo "$$ifile"; \ - else : ; fi; \ - done; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done - @$(POST_INSTALL) - @if $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ - install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ - done; \ - else : ; fi -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: $(PDFS) - @$(NORMAL_INSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done -install-ps: install-ps-am - -install-ps-am: $(PSS) - @$(NORMAL_INSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ - mostlyclean-libtool mostlyclean-vti - -pdf: pdf-am - -pdf-am: $(PDFS) - -ps: ps-am - -ps-am: $(PSS) - -uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-pdf-am uninstall-ps-am - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-aminfo clean-generic \ - clean-libtool cscopelist-am ctags-am dist-info distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-vti mostlyclean mostlyclean-aminfo \ - mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \ - pdf-am ps ps-am tags-am uninstall uninstall-am \ - uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-pdf-am uninstall-ps-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/fficonfig.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/fficonfig.h deleted file mode 100644 index e469105..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/fficonfig.h +++ /dev/null @@ -1,189 +0,0 @@ -/* fficonfig.h. Generated from fficonfig.h.in by configure. */ -/* fficonfig.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -/* #undef AC_APPLE_UNIVERSAL_BUILD */ - -/* Define to the flags needed for the .section .eh_frame directive. */ -#define EH_FRAME_FLAGS "a" - -/* Define this if you want extra debugging. */ -/* #undef FFI_DEBUG */ - -/* Define this if you want statically defined trampolines */ -#define FFI_EXEC_STATIC_TRAMP 1 - -/* Cannot use PROT_EXEC on this target, so, we revert to alternative means */ -/* #undef FFI_EXEC_TRAMPOLINE_TABLE */ - -/* Define this if you want to enable pax emulated trampolines (experimental) - */ -/* #undef FFI_MMAP_EXEC_EMUTRAMP_PAX */ - -/* Cannot use malloc on this target, so, we revert to alternative means */ -/* #undef FFI_MMAP_EXEC_WRIT */ - -/* Define this if you do not want support for the raw API. */ -/* #undef FFI_NO_RAW_API */ - -/* Define this if you do not want support for aggregate types. */ -/* #undef FFI_NO_STRUCTS */ - -/* Define to 1 if you have the header file. */ -#define HAVE_ALLOCA_H 1 - -/* Define if your assembler supports .cfi_* directives. */ -#define HAVE_AS_CFI_PSEUDO_OP 1 - -/* Define if your assembler supports .register. */ -/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ - -/* Define if the compiler uses zarch features. */ -/* #undef HAVE_AS_S390_ZARCH */ - -/* Define if your assembler and linker support unaligned PC relative relocs. - */ -/* #undef HAVE_AS_SPARC_UA_PCREL */ - -/* Define if your assembler supports unwind section type. */ -#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1 - -/* Define if your assembler supports PC relative relocs. */ -#define HAVE_AS_X86_PCREL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define if __attribute__((visibility("hidden"))) is supported. */ -#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define if you have the long double type and it is bigger than a double */ -#define HAVE_LONG_DOUBLE 1 - -/* Define if you support more than one size of the long double type */ -/* #undef HAVE_LONG_DOUBLE_VARIANT */ - -/* Define to 1 if you have the `memcpy' function. */ -#define HAVE_MEMCPY 1 - -/* Define to 1 if you have the `memfd_create' function. */ -#define HAVE_MEMFD_CREATE 1 - -/* Define if your compiler supports pointer authentication. */ -/* #undef HAVE_PTRAUTH */ - -/* Define if .eh_frame sections should be read-only. */ -#define HAVE_RO_EH_FRAME 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDIO_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_MEMFD_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if GNU symbol versioning is used for libatomic. */ -/* #undef LIBFFI_GNU_SYMBOL_VERSIONING */ - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libffi" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "http://github.com/libffi/libffi/issues" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "libffi" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libffi 3.4.4" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "libffi" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "3.4.4" - -/* The size of `double', as computed by sizeof. */ -#define SIZEOF_DOUBLE 8 - -/* The size of `long double', as computed by sizeof. */ -#define SIZEOF_LONG_DOUBLE 16 - -/* The size of `size_t', as computed by sizeof. */ -#define SIZEOF_SIZE_T 8 - -/* Define to 1 if all of the C90 standard headers exist (not just the ones - required in a freestanding environment). This macro is provided for - backward compatibility; new code need not use it. */ -#define STDC_HEADERS 1 - -/* Define if symbols are underscored. */ -/* #undef SYMBOL_UNDERSCORE */ - -/* Define this if you are using Purify and want to suppress spurious messages. - */ -/* #undef USING_PURIFY */ - -/* Version number of package */ -#define VERSION "3.4.4" - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif - - -#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE -#ifdef LIBFFI_ASM -#ifdef __APPLE__ -#define FFI_HIDDEN(name) .private_extern name -#else -#define FFI_HIDDEN(name) .hidden name -#endif -#else -#define FFI_HIDDEN __attribute__ ((visibility ("hidden"))) -#endif -#else -#ifdef LIBFFI_ASM -#define FFI_HIDDEN(name) -#else -#define FFI_HIDDEN -#endif -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/Makefile deleted file mode 100644 index 138b609..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/Makefile +++ /dev/null @@ -1,609 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# include/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -VPATH = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libffi -pkgincludedir = $(includedir)/libffi -pkglibdir = $(libdir)/libffi -pkglibexecdir = $(libexecdir)/libffi -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = x86_64-pc-linux-gnu -subdir = include -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \ - $(top_srcdir)/m4/ax_cc_maxopt.m4 \ - $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_compiler_vendor.m4 \ - $(top_srcdir)/m4/ax_configure_args.m4 \ - $(top_srcdir)/m4/ax_enable_builddir.m4 \ - $(top_srcdir)/m4/ax_gcc_archflag.m4 \ - $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ - $(top_srcdir)/m4/ax_prepend_flag.m4 \ - $(top_srcdir)/m4/ax_require_defined.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/fficonfig.h -CONFIG_CLEAN_FILES = ffi.h -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(includedir)" -HEADERS = $(nodist_include_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/ffi.h.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AM_LTLDFLAGS = -AM_RUNTESTFLAGS = -AR = x86_64-linux-gnu-ar -AUTOCONF = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoconf -AUTOHEADER = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoheader -AUTOMAKE = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' automake-1.16 -AWK = mawk -CC = x86_64-linux-gnu-gcc -CCAS = x86_64-linux-gnu-gcc -CCASDEPMODE = depmode=none -CCASFLAGS = -CCDEPMODE = depmode=none -CFLAGS = -Wall -fexceptions -CPPFLAGS = -CSCOPE = cscope -CTAGS = ctags -CXX = x86_64-linux-gnu-g++ -CXXCPP = x86_64-linux-gnu-g++ -E -CXXDEPMODE = depmode=none -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -ETAGS = etags -EXEEXT = -FFI_EXEC_TRAMPOLINE_TABLE = 0 -FGREP = /usr/bin/grep -F -FILECMD = file -GREP = /usr/bin/grep -HAVE_LONG_DOUBLE = 1 -HAVE_LONG_DOUBLE_VARIANT = 0 -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAINT = # -MAKEINFO = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/x86_64-linux-gnu-nm -B -NMEDIT = -OBJDUMP = x86_64-linux-gnu-objdump -OBJEXT = o -OPT_LDFLAGS = -Wl,-O1 -OTOOL = -OTOOL64 = -PACKAGE = libffi -PACKAGE_BUGREPORT = http://github.com/libffi/libffi/issues -PACKAGE_NAME = libffi -PACKAGE_STRING = libffi 3.4.4 -PACKAGE_TARNAME = libffi -PACKAGE_URL = -PACKAGE_VERSION = 3.4.4 -PATH_SEPARATOR = : -PRTDIAG = -RANLIB = x86_64-linux-gnu-ranlib -READELF = x86_64-linux-gnu-readelf -SECTION_LDFLAGS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = x86_64-linux-gnu-strip -TARGET = X86_64 -TARGETDIR = x86 -TARGET_OBJ = src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -VERSION = 3.4.4 -abs_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include -abs_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -abs_top_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu -abs_top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -ac_ct_AR = -ac_ct_CC = -ac_ct_CXX = -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_enable_builddir_sed = sed -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = x86_64-linux-gnu -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include -sys_symbol_underscore = no -sysconfdir = ${prefix}/etc -target = x86_64-pc-linux-gnu -target_alias = x86_64-linux-gnu -target_cpu = x86_64 -target_os = linux-gnu -target_vendor = pc -tmake_file = -toolexecdir = ${libdir}/gcc-lib/$(target_alias) -toolexeclibdir = ${libdir}/../lib -top_build_prefix = ../ -top_builddir = .. -top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -AUTOMAKE_OPTIONS = foreign -DISTCLEANFILES = ffitarget.h -noinst_HEADERS = ffi_common.h ffi_cfi.h tramp.h -EXTRA_DIST = ffi.h.in -nodist_include_HEADERS = ffi.h ffitarget.h -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign include/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -ffi.h: $(top_builddir)/config.status $(srcdir)/ffi.h.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nodist_includeHEADERS: $(nodist_include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-nodist_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nodist_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-nodist_includeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man \ - install-nodist_includeHEADERS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-nodist_includeHEADERS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffi.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffi.h deleted file mode 100644 index dfd19b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffi.h +++ /dev/null @@ -1,527 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - libffi 3.4.4 - - Copyright (c) 2011, 2014, 2019, 2021, 2022 Anthony Green - - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the ``Software''), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------- - Most of the API is documented in doc/libffi.texi. - - The raw API is designed to bypass some of the argument packing and - unpacking on architectures for which it can be avoided. Routines - are provided to emulate the raw API if the underlying platform - doesn't allow faster implementation. - - More details on the raw API can be found in: - - http://gcc.gnu.org/ml/java/1999-q3/msg00138.html - - and - - http://gcc.gnu.org/ml/java/1999-q3/msg00174.html - -------------------------------------------------------------------- */ - -#ifndef LIBFFI_H -#define LIBFFI_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Specify which architecture libffi is configured for. */ -#ifndef X86_64 -#define X86_64 -#endif - -/* ---- System configuration information --------------------------------- */ - -/* If these change, update src/mips/ffitarget.h. */ -#define FFI_TYPE_VOID 0 -#define FFI_TYPE_INT 1 -#define FFI_TYPE_FLOAT 2 -#define FFI_TYPE_DOUBLE 3 -#if 1 -#define FFI_TYPE_LONGDOUBLE 4 -#else -#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE -#endif -#define FFI_TYPE_UINT8 5 -#define FFI_TYPE_SINT8 6 -#define FFI_TYPE_UINT16 7 -#define FFI_TYPE_SINT16 8 -#define FFI_TYPE_UINT32 9 -#define FFI_TYPE_SINT32 10 -#define FFI_TYPE_UINT64 11 -#define FFI_TYPE_SINT64 12 -#define FFI_TYPE_STRUCT 13 -#define FFI_TYPE_POINTER 14 -#define FFI_TYPE_COMPLEX 15 - -/* This should always refer to the last type code (for sanity checks). */ -#define FFI_TYPE_LAST FFI_TYPE_COMPLEX - -#include - -#ifndef LIBFFI_ASM - -#if defined(_MSC_VER) && !defined(__clang__) -#define __attribute__(X) -#endif - -#include -#include - -/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). - But we can find it either under the correct ANSI name, or under GNU - C's internal name. */ - -#define FFI_64_BIT_MAX 9223372036854775807 - -#ifdef LONG_LONG_MAX -# define FFI_LONG_LONG_MAX LONG_LONG_MAX -#else -# ifdef LLONG_MAX -# define FFI_LONG_LONG_MAX LLONG_MAX -# ifdef _AIX52 /* or newer has C99 LLONG_MAX */ -# undef FFI_64_BIT_MAX -# define FFI_64_BIT_MAX 9223372036854775807LL -# endif /* _AIX52 or newer */ -# else -# ifdef __GNUC__ -# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ -# endif -# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */ -# ifndef __PPC64__ -# if defined (__IBMC__) || defined (__IBMCPP__) -# define FFI_LONG_LONG_MAX LONGLONG_MAX -# endif -# endif /* __PPC64__ */ -# undef FFI_64_BIT_MAX -# define FFI_64_BIT_MAX 9223372036854775807LL -# endif -# endif -#endif - -/* The closure code assumes that this works on pointers, i.e. a size_t - can hold a pointer. */ - -typedef struct _ffi_type -{ - size_t size; - unsigned short alignment; - unsigned short type; - struct _ffi_type **elements; -} ffi_type; - -/* Need minimal decorations for DLLs to work on Windows. GCC has - autoimport and autoexport. Always mark externally visible symbols - as dllimport for MSVC clients, even if it means an extra indirection - when using the static version of the library. - Besides, as a workaround, they can define FFI_BUILDING if they - *know* they are going to link with the static library. */ -#if defined _MSC_VER && !defined(FFI_STATIC_BUILD) -# if defined FFI_BUILDING_DLL /* Building libffi.DLL with msvcc.sh */ -# define FFI_API __declspec(dllexport) -# else /* Importing libffi.DLL */ -# define FFI_API __declspec(dllimport) -# endif -#else -# define FFI_API -#endif - -/* The externally visible type declarations also need the MSVC DLL - decorations, or they will not be exported from the object file. */ -#if defined LIBFFI_HIDE_BASIC_TYPES -# define FFI_EXTERN FFI_API -#else -# define FFI_EXTERN extern FFI_API -#endif - -#ifndef LIBFFI_HIDE_BASIC_TYPES -#if SCHAR_MAX == 127 -# define ffi_type_uchar ffi_type_uint8 -# define ffi_type_schar ffi_type_sint8 -#else - #error "char size not supported" -#endif - -#if SHRT_MAX == 32767 -# define ffi_type_ushort ffi_type_uint16 -# define ffi_type_sshort ffi_type_sint16 -#elif SHRT_MAX == 2147483647 -# define ffi_type_ushort ffi_type_uint32 -# define ffi_type_sshort ffi_type_sint32 -#else - #error "short size not supported" -#endif - -#if INT_MAX == 32767 -# define ffi_type_uint ffi_type_uint16 -# define ffi_type_sint ffi_type_sint16 -#elif INT_MAX == 2147483647 -# define ffi_type_uint ffi_type_uint32 -# define ffi_type_sint ffi_type_sint32 -#elif INT_MAX == 9223372036854775807 -# define ffi_type_uint ffi_type_uint64 -# define ffi_type_sint ffi_type_sint64 -#else - #error "int size not supported" -#endif - -#if LONG_MAX == 2147483647 -# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX - #error "no 64-bit data type supported" -# endif -#elif LONG_MAX != FFI_64_BIT_MAX - #error "long size not supported" -#endif - -#if LONG_MAX == 2147483647 -# define ffi_type_ulong ffi_type_uint32 -# define ffi_type_slong ffi_type_sint32 -#elif LONG_MAX == FFI_64_BIT_MAX -# define ffi_type_ulong ffi_type_uint64 -# define ffi_type_slong ffi_type_sint64 -#else - #error "long size not supported" -#endif - -/* These are defined in types.c. */ -FFI_EXTERN ffi_type ffi_type_void; -FFI_EXTERN ffi_type ffi_type_uint8; -FFI_EXTERN ffi_type ffi_type_sint8; -FFI_EXTERN ffi_type ffi_type_uint16; -FFI_EXTERN ffi_type ffi_type_sint16; -FFI_EXTERN ffi_type ffi_type_uint32; -FFI_EXTERN ffi_type ffi_type_sint32; -FFI_EXTERN ffi_type ffi_type_uint64; -FFI_EXTERN ffi_type ffi_type_sint64; -FFI_EXTERN ffi_type ffi_type_float; -FFI_EXTERN ffi_type ffi_type_double; -FFI_EXTERN ffi_type ffi_type_pointer; - -#if 1 -FFI_EXTERN ffi_type ffi_type_longdouble; -#else -#define ffi_type_longdouble ffi_type_double -#endif - -#ifdef FFI_TARGET_HAS_COMPLEX_TYPE -FFI_EXTERN ffi_type ffi_type_complex_float; -FFI_EXTERN ffi_type ffi_type_complex_double; -#if 1 -FFI_EXTERN ffi_type ffi_type_complex_longdouble; -#else -#define ffi_type_complex_longdouble ffi_type_complex_double -#endif -#endif -#endif /* LIBFFI_HIDE_BASIC_TYPES */ - -typedef enum { - FFI_OK = 0, - FFI_BAD_TYPEDEF, - FFI_BAD_ABI, - FFI_BAD_ARGTYPE -} ffi_status; - -typedef struct { - ffi_abi abi; - unsigned nargs; - ffi_type **arg_types; - ffi_type *rtype; - unsigned bytes; - unsigned flags; -#ifdef FFI_EXTRA_CIF_FIELDS - FFI_EXTRA_CIF_FIELDS; -#endif -} ffi_cif; - -/* ---- Definitions for the raw API -------------------------------------- */ - -#ifndef FFI_SIZEOF_ARG -# if LONG_MAX == 2147483647 -# define FFI_SIZEOF_ARG 4 -# elif LONG_MAX == FFI_64_BIT_MAX -# define FFI_SIZEOF_ARG 8 -# endif -#endif - -#ifndef FFI_SIZEOF_JAVA_RAW -# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG -#endif - -typedef union { - ffi_sarg sint; - ffi_arg uint; - float flt; - char data[FFI_SIZEOF_ARG]; - void* ptr; -} ffi_raw; - -#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 -/* This is a special case for mips64/n32 ABI (and perhaps others) where - sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ -typedef union { - signed int sint; - unsigned int uint; - float flt; - char data[FFI_SIZEOF_JAVA_RAW]; - void* ptr; -} ffi_java_raw; -#else -typedef ffi_raw ffi_java_raw; -#endif - - -FFI_API -void ffi_raw_call (ffi_cif *cif, - void (*fn)(void), - void *rvalue, - ffi_raw *avalue); - -FFI_API void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); -FFI_API void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); -FFI_API size_t ffi_raw_size (ffi_cif *cif); - -/* This is analogous to the raw API, except it uses Java parameter - packing, even on 64-bit machines. I.e. on 64-bit machines longs - and doubles are followed by an empty 64-bit word. */ - -#if !FFI_NATIVE_RAW_API -FFI_API -void ffi_java_raw_call (ffi_cif *cif, - void (*fn)(void), - void *rvalue, - ffi_java_raw *avalue) __attribute__((deprecated)); -#endif - -FFI_API -void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) __attribute__((deprecated)); -FFI_API -void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) __attribute__((deprecated)); -FFI_API -size_t ffi_java_raw_size (ffi_cif *cif) __attribute__((deprecated)); - -/* ---- Definitions for closures ----------------------------------------- */ - -#if FFI_CLOSURES - -#ifdef _MSC_VER -__declspec(align(8)) -#endif -typedef struct { -#if 0 - void *trampoline_table; - void *trampoline_table_entry; -#else - union { - char tramp[FFI_TRAMPOLINE_SIZE]; - void *ftramp; - }; -#endif - ffi_cif *cif; - void (*fun)(ffi_cif*,void*,void**,void*); - void *user_data; -#if defined(_MSC_VER) && defined(_M_IX86) - void *padding; -#endif -} ffi_closure -#ifdef __GNUC__ - __attribute__((aligned (8))) -#endif - ; - -#ifndef __GNUC__ -# ifdef __sgi -# pragma pack 0 -# endif -#endif - -FFI_API void *ffi_closure_alloc (size_t size, void **code); -FFI_API void ffi_closure_free (void *); - -FFI_API ffi_status -ffi_prep_closure (ffi_closure*, - ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data) -#if defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 405) - __attribute__((deprecated ("use ffi_prep_closure_loc instead"))) -#elif defined(__GNUC__) && __GNUC__ >= 3 - __attribute__((deprecated)) -#endif - ; - -FFI_API ffi_status -ffi_prep_closure_loc (ffi_closure*, - ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc); - -#ifdef __sgi -# pragma pack 8 -#endif -typedef struct { -#if 0 - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - ffi_cif *cif; - -#if !FFI_NATIVE_RAW_API - - /* If this is enabled, then a raw closure has the same layout - as a regular closure. We use this to install an intermediate - handler to do the translation, void** -> ffi_raw*. */ - - void (*translate_args)(ffi_cif*,void*,void**,void*); - void *this_closure; - -#endif - - void (*fun)(ffi_cif*,void*,ffi_raw*,void*); - void *user_data; - -} ffi_raw_closure; - -typedef struct { -#if 0 - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - - ffi_cif *cif; - -#if !FFI_NATIVE_RAW_API - - /* If this is enabled, then a raw closure has the same layout - as a regular closure. We use this to install an intermediate - handler to do the translation, void** -> ffi_raw*. */ - - void (*translate_args)(ffi_cif*,void*,void**,void*); - void *this_closure; - -#endif - - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); - void *user_data; - -} ffi_java_raw_closure; - -FFI_API ffi_status -ffi_prep_raw_closure (ffi_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data); - -FFI_API ffi_status -ffi_prep_raw_closure_loc (ffi_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data, - void *codeloc); - -#if !FFI_NATIVE_RAW_API -FFI_API ffi_status -ffi_prep_java_raw_closure (ffi_java_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data) __attribute__((deprecated)); - -FFI_API ffi_status -ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data, - void *codeloc) __attribute__((deprecated)); -#endif - -#endif /* FFI_CLOSURES */ - -#if FFI_GO_CLOSURES - -typedef struct { - void *tramp; - ffi_cif *cif; - void (*fun)(ffi_cif*,void*,void**,void*); -} ffi_go_closure; - -FFI_API ffi_status ffi_prep_go_closure (ffi_go_closure*, ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*)); - -FFI_API void ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure); - -#endif /* FFI_GO_CLOSURES */ - -/* ---- Public interface definition -------------------------------------- */ - -FFI_API -ffi_status ffi_prep_cif(ffi_cif *cif, - ffi_abi abi, - unsigned int nargs, - ffi_type *rtype, - ffi_type **atypes); - -FFI_API -ffi_status ffi_prep_cif_var(ffi_cif *cif, - ffi_abi abi, - unsigned int nfixedargs, - unsigned int ntotalargs, - ffi_type *rtype, - ffi_type **atypes); - -FFI_API -void ffi_call(ffi_cif *cif, - void (*fn)(void), - void *rvalue, - void **avalue); - -FFI_API -ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, - size_t *offsets); - -/* Convert between closure and function pointers. */ -#if defined(PA_LINUX) || defined(PA_HPUX) -#define FFI_FN(f) ((void (*)(void))((unsigned int)(f) | 2)) -#define FFI_CL(f) ((void *)((unsigned int)(f) & ~3)) -#else -#define FFI_FN(f) ((void (*)(void))f) -#define FFI_CL(f) ((void *)(f)) -#endif - -/* ---- Definitions shared with assembly code ---------------------------- */ - -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffitarget.h deleted file mode 100644 index 5a3399d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffitarget.h +++ /dev/null @@ -1,164 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green - Copyright (c) 1996-2003, 2010 Red Hat, Inc. - Copyright (C) 2008 Free Software Foundation, Inc. - - Target configuration macros for x86 and x86-64. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -/* For code common to all platforms on x86 and x86_64. */ -#define X86_ANY - -#if defined (X86_64) && defined (__i386__) -#undef X86_64 -#warning ****************************************************** -#warning ********** X86 IS DEFINED **************************** -#warning ****************************************************** -#define X86 -#endif - -#ifdef X86_WIN64 -#define FFI_SIZEOF_ARG 8 -#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */ -#endif - -#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION -#ifndef _MSC_VER -#define FFI_TARGET_HAS_COMPLEX_TYPE -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -#ifndef LIBFFI_ASM -#ifdef X86_WIN64 -#ifdef _MSC_VER -typedef unsigned __int64 ffi_arg; -typedef __int64 ffi_sarg; -#else -typedef unsigned long long ffi_arg; -typedef long long ffi_sarg; -#endif -#else -#if defined __x86_64__ && defined __ILP32__ -#define FFI_SIZEOF_ARG 8 -#define FFI_SIZEOF_JAVA_RAW 4 -typedef unsigned long long ffi_arg; -typedef long long ffi_sarg; -#else -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; -#endif -#endif - -typedef enum ffi_abi { -#if defined(X86_WIN64) - FFI_FIRST_ABI = 0, - FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */ - FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */ - FFI_LAST_ABI, -#ifdef __GNUC__ - FFI_DEFAULT_ABI = FFI_GNUW64 -#else - FFI_DEFAULT_ABI = FFI_WIN64 -#endif - -#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN)) - FFI_FIRST_ABI = 1, - FFI_UNIX64, - FFI_WIN64, - FFI_EFI64 = FFI_WIN64, - FFI_GNUW64, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_UNIX64 - -#elif defined(X86_WIN32) - FFI_FIRST_ABI = 0, - FFI_SYSV = 1, - FFI_STDCALL = 2, - FFI_THISCALL = 3, - FFI_FASTCALL = 4, - FFI_MS_CDECL = 5, - FFI_PASCAL = 6, - FFI_REGISTER = 7, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_MS_CDECL -#else - FFI_FIRST_ABI = 0, - FFI_SYSV = 1, - FFI_THISCALL = 3, - FFI_FASTCALL = 4, - FFI_STDCALL = 5, - FFI_PASCAL = 6, - FFI_REGISTER = 7, - FFI_MS_CDECL = 8, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -#endif -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 - -#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1) -#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2) -#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3) -#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4) - -#if defined (X86_64) || defined(X86_WIN64) \ - || (defined (__x86_64__) && defined (X86_DARWIN)) -/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP - + 8 bytes of pointer. */ -# define FFI_TRAMPOLINE_SIZE 32 -# define FFI_NATIVE_RAW_API 0 -#else -/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused - bytes. */ -# define FFI_TRAMPOLINE_SIZE 16 -# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */ -#endif - -#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__) -# include -# if (__CET__ & 1) != 0 -# define ENDBR_PRESENT -# endif -# define _CET_NOTRACK notrack -#else -# define _CET_ENDBR -# define _CET_NOTRACK -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi.la b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi.la deleted file mode 100644 index f2cef55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi.la +++ /dev/null @@ -1,41 +0,0 @@ -# libffi.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libffi.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libffi. -current=9 -age=1 -revision=2 - -# Is this an already installed library? -installed=no - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/usr/local/lib/../lib' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi.pc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi.pc deleted file mode 100644 index 26066f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr/local -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -toolexeclibdir=${libdir}/../lib -includedir=${prefix}/include - -Name: libffi -Description: Library supporting Foreign Function Interfaces -Version: 3.4.4 -Libs: -L${toolexeclibdir} -lffi -Cflags: -I${includedir} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi_convenience.la b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi_convenience.la deleted file mode 100644 index 804277b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libffi_convenience.la +++ /dev/null @@ -1,41 +0,0 @@ -# libffi_convenience.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libffi_convenience.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libffi_convenience. -current= -age= -revision= - -# Is this an already installed library? -installed=no - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libtool b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libtool deleted file mode 100755 index 8eb650c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/libtool +++ /dev/null @@ -1,12114 +0,0 @@ -#! /bin/bash -# Generated automatically by config.status (libffi) 3.4.4 -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: ${LT_SYS_LIBRARY_PATH=""} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=2.4.7 -macro_revision=2.4.7 - -# Whether or not to build shared libraries. -build_libtool_libs=no - -# Whether or not to build static libraries. -build_old_libs=yes - -# What type of objects to build. -pic_mode=yes - -# Whether or not to optimize for fast installation. -fast_install=needless - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec= - -# Shell to use when invoking shell scripts. -SHELL="/bin/bash" - -# An echo program that protects backslashes. -ECHO="printf %s\\n" - -# The PATH separator for the build system. -PATH_SEPARATOR=":" - -# The host system. -host_alias=x86_64-linux-gnu -host=x86_64-pc-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=x86_64-pc-linux-gnu -build_os=linux-gnu - -# A sed program that does not truncate output. -SED="/usr/bin/sed" - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP="/usr/bin/grep" - -# An ERE matcher. -EGREP="/usr/bin/grep -E" - -# A literal string matcher. -FGREP="/usr/bin/grep -F" - -# A BSD- or MS-compatible name lister. -NM="/usr/bin/x86_64-linux-gnu-nm -B" - -# Whether we need soft or hard links. -LN_S="ln -s" - -# What is the maximum length of a command? -max_cmd_len=1572864 - -# Object file suffix (normally "o"). -objext=o - -# Executable file suffix (normally ""). -exeext= - -# whether the shell understands "unset". -lt_unset=unset - -# turn spaces into newlines. -SP2NL="tr \\040 \\012" - -# turn newlines into spaces. -NL2SP="tr \\015\\012 \\040\\040" - -# convert $build file names to $host format. -to_host_file_cmd=func_convert_file_noop - -# convert $build files to toolchain format. -to_tool_file_cmd=func_convert_file_noop - -# A file(cmd) program that detects file types. -FILECMD="file" - -# An object symbol dumper. -OBJDUMP="x86_64-linux-gnu-objdump" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd="\$MAGIC_CMD" - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob="" - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob="no" - -# DLL creation program. -DLLTOOL="false" - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd="printf %s\\n" - -# The archiver. -AR="x86_64-linux-gnu-ar" - -# Flags to create an archive (by configure). -lt_ar_flags=cr - -# Flags to create an archive. -AR_FLAGS=${ARFLAGS-"$lt_ar_flags"} - -# How to feed a file listing to the archiver. -archiver_list_spec="@" - -# A symbol stripping program. -STRIP="x86_64-linux-gnu-strip" - -# Commands used to install an old-style archive. -RANLIB="x86_64-linux-gnu-ranlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib" -old_postuninstall_cmds="" - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=no - -# A C compiler. -LTCC="x86_64-linux-gnu-gcc" - -# LTCC compiler flags. -LTCFLAGS="-Wall -fexceptions" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="/usr/bin/sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | /usr/bin/sed '/ __gnu_lto/d'" - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl="/usr/bin/sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import="" - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address="/usr/bin/sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p'" - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix="/usr/bin/sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(lib.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/ {\"lib\\1\", (void *) \\&\\1},/p'" - -# The name lister interface. -nm_interface="BSD nm" - -# Specify filename containing input files for $NM. -nm_file_list_spec="@" - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot= - -# Command to truncate a binary pipe. -lt_truncate_bin="/usr/bin/dd bs=4096 count=1" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=file - -# Must we lock files when doing compilation? -need_locks="no" - -# Manifest tool. -MANIFEST_TOOL=":" - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL="" - -# Tool to change global to local symbols on Mac OS X. -NMEDIT="" - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO="" - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL="" - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64="" - -# Old archive suffix (normally "a"). -libext=a - -# Shared library suffix (normally ".so"). -shrext_cmds=".so" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Do we need the "lib" prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Library versioning type. -version_type=linux - -# Shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# Shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=yes - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec="\$libname\$release\$shared_ext\$versuffix \$libname\$release\$shared_ext\$major \$libname\$shared_ext" - -# The coded name of the library, if different from the real name. -soname_spec="\$libname\$release\$shared_ext\$major" - -# Permission mode override for installation of shared libraries. -install_override_mode="" - -# Command to use after installation of a shared archive. -postinstall_cmds="" - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval="" - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Compile-time system search path for libraries. -sys_lib_search_path_spec="/usr/lib/gcc/x86_64-linux-gnu/11 /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib " - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib/i386-linux-gnu /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /usr/local/lib/i686-linux-gnu /lib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu " - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path="" - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Commands to strip libraries. -old_striplib="x86_64-linux-gnu-strip --strip-debug" -striplib="x86_64-linux-gnu-strip --strip-unneeded" - - -# The linker used to build libraries. -LD="/usr/bin/ld -m elf_x86_64" - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# Commands used to build an old-style archive. -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" - -# A language specific compiler. -CC="x86_64-linux-gnu-gcc" - -# Is the compiler the GNU compiler? -with_gcc=yes - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=yes - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=no - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\$wl--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\$wl--whole-archive\$convenience \$wl--no-whole-archive" - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object="no" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build a shared archive. -archive_cmds="\$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \$wl-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | \$SED -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \$wl-soname \$wl\$soname \$wl-version-script \$wl\$output_objdir/\$libname.ver -o \$lib" - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds="" -module_expsym_cmds="" - -# Whether we are building with GNU ld or not. -with_gnu_ld="yes" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that enforces no undefined symbols. -no_undefined_flag="" - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist -hardcode_libdir_flag_spec="\$wl-rpath \$wl\$libdir" - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator="" - -# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=no - -# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting $shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=no - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=no - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=no - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=no - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=no - -# Set to "yes" if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" - -# Symbols that must always be exported. -include_expsyms="" - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds="" - -# Commands necessary for finishing linking programs. -postlink_cmds="" - -# Specify filename containing input files. -file_list_spec="" - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs="" - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects="" -postdep_objects="" -predeps="" -postdeps="" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="" - -# ### END LIBTOOL CONFIG - - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -#! /usr/bin/env sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2019-02-19.15 - -# libtool (GNU libtool) 2.4.7 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.7 Debian-2.4.7-5" -package_revision=2.4.7 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2004-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done -# These NLS vars are set unconditionally (bootstrap issue #24). Unset those -# in case the environment reset is needed later and the $save_* variant is not -# defined (see the code above). -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# func_unset VAR -# -------------- -# Portably unset VAR. -# In some shells, an 'unset VAR' statement leaves a non-zero return -# status if VAR is already unset, which might be problematic if the -# statement is used at the end of a function (thus poisoning its return -# value) or when 'set -e' is active (causing even a spurious abort of -# the script in this case). -func_unset () -{ - { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } -} - - -# Make sure CDPATH doesn't cause `cd` commands to output the target dir. -func_unset CDPATH - -# Make sure ${,E,F}GREP behave sanely. -func_unset GREP_OPTIONS - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - -# require_check_ifs_backslash -# --------------------------- -# Check if we can use backslash as IFS='\' separator, and set -# $check_ifs_backshlash_broken to ':' or 'false'. -require_check_ifs_backslash=func_require_check_ifs_backslash -func_require_check_ifs_backslash () -{ - _G_save_IFS=$IFS - IFS='\' - _G_check_ifs_backshlash='a\\b' - for _G_i in $_G_check_ifs_backshlash - do - case $_G_i in - a) - check_ifs_backshlash_broken=false - ;; - '') - break - ;; - *) - check_ifs_backshlash_broken=: - break - ;; - esac - done - IFS=$_G_save_IFS - require_check_ifs_backslash=: -} - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1+=\\ \$func_quote_arg_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1=\$$1\\ \$func_quote_arg_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_portable EVAL ARG -# ---------------------------- -# Internal function to portably implement func_quote_arg. Note that we still -# keep attention to performance here so we as much as possible try to avoid -# calling sed binary (so far O(N) complexity as long as func_append is O(1)). -func_quote_portable () -{ - $debug_cmd - - $require_check_ifs_backslash - - func_quote_portable_result=$2 - - # one-time-loop (easy break) - while true - do - if $1; then - func_quote_portable_result=`$ECHO "$2" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` - break - fi - - # Quote for eval. - case $func_quote_portable_result in - *[\\\`\"\$]*) - # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string - # contains the shell wildcard characters. - case $check_ifs_backshlash_broken$func_quote_portable_result in - :*|*[\[\*\?]*) - func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ - | $SED "$sed_quote_subst"` - break - ;; - esac - - func_quote_portable_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_portable_result - do - case $1 in - quote) - func_append func_quote_portable_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_portable_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - done - IFS=$func_quote_portable_old_IFS - ;; - *) ;; - esac - break - done - - func_quote_portable_unquoted_result=$func_quote_portable_result - case $func_quote_portable_result in - # double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # many bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_portable_result=\"$func_quote_portable_result\" - ;; - esac -} - - -# func_quotefast_eval ARG -# ----------------------- -# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', -# but optimized for speed. Result is stored in $func_quotefast_eval. -if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then - printf -v _GL_test_printf_tilde %q '~' - if test '\~' = "$_GL_test_printf_tilde"; then - func_quotefast_eval () - { - printf -v func_quotefast_eval_result %q "$1" - } - else - # Broken older Bash implementations. Make those faster too if possible. - func_quotefast_eval () - { - case $1 in - '~'*) - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - ;; - *) - printf -v func_quotefast_eval_result %q "$1" - ;; - esac - } - fi -else - func_quotefast_eval () - { - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - } -fi - - -# func_quote_arg MODEs ARG -# ------------------------ -# Quote one ARG to be evaled later. MODEs argument may contain zero or more -# specifiers listed below separated by ',' character. This function returns two -# values: -# i) func_quote_arg_result -# double-quoted (when needed), suitable for a subsequent eval -# ii) func_quote_arg_unquoted_result -# has all characters that are still active within double -# quotes backslashified. Available only if 'unquoted' is specified. -# -# Available modes: -# ---------------- -# 'eval' (default) -# - escape shell special characters -# 'expand' -# - the same as 'eval'; but do not quote variable references -# 'pretty' -# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might -# be used later in func_quote to get output like: 'echo "a b"' instead -# of 'echo a\ b'. This is slower than default on some shells. -# 'unquoted' -# - produce also $func_quote_arg_unquoted_result which does not contain -# wrapping double-quotes. -# -# Examples for 'func_quote_arg pretty,unquoted string': -# -# string | *_result | *_unquoted_result -# ------------+-----------------------+------------------- -# " | \" | \" -# a b | "a b" | a b -# "a b" | "\"a b\"" | \"a b\" -# * | "*" | * -# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" -# -# Examples for 'func_quote_arg pretty,unquoted,expand string': -# -# string | *_result | *_unquoted_result -# --------------+---------------------+-------------------- -# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" -func_quote_arg () -{ - _G_quote_expand=false - case ,$1, in - *,expand,*) - _G_quote_expand=: - ;; - esac - - case ,$1, in - *,pretty,*|*,expand,*|*,unquoted,*) - func_quote_portable $_G_quote_expand "$2" - func_quote_arg_result=$func_quote_portable_result - func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result - ;; - *) - # Faster quote-for-eval for some shells. - func_quotefast_eval "$2" - func_quote_arg_result=$func_quotefast_eval_result - ;; - esac -} - - -# func_quote MODEs ARGs... -# ------------------------ -# Quote all ARGs to be evaled later and join them into single command. See -# func_quote_arg's description for more info. -func_quote () -{ - $debug_cmd - _G_func_quote_mode=$1 ; shift - func_quote_result= - while test 0 -lt $#; do - func_quote_arg "$_G_func_quote_mode" "$1" - if test -n "$func_quote_result"; then - func_append func_quote_result " $func_quote_arg_result" - else - func_append func_quote_result "$func_quote_arg_result" - fi - shift - done -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_arg pretty,expand "$_G_cmd" - eval "func_notquiet $func_quote_arg_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_arg expand,pretty "$_G_cmd" - eval "func_echo $func_quote_arg_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# Copyright'. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug in processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# in the main code. A hook is just a list of function names that can be -# run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of hook functions to be called by -# FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_propagate_result FUNC_NAME_A FUNC_NAME_B -# --------------------------------------------- -# If the *_result variable of FUNC_NAME_A _is set_, assign its value to -# *_result variable of FUNC_NAME_B. -func_propagate_result () -{ - $debug_cmd - - func_propagate_result_result=: - if eval "test \"\${${1}_result+set}\" = set" - then - eval "${2}_result=\$${1}_result" - else - func_propagate_result_result=false - fi -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It's assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - _G_rc_run_hooks=false - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook functions." ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - func_unset "${_G_hook}_result" - eval $_G_hook '${1+"$@"}' - func_propagate_result $_G_hook func_run_hooks - if $func_propagate_result_result; then - eval set dummy "$func_run_hooks_result"; shift - fi - done -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list from your hook function. You may remove -# or edit any options that you action, and then pass back the remaining -# unprocessed options in '_result', escaped -# suitably for 'eval'. -# -# The '_result' variable is automatically unset -# before your hook gets called; for best performance, only set the -# *_result variable when necessary (i.e. don't call the 'func_quote' -# function unnecessarily because it can be an expensive operation on some -# machines). -# -# Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# # No change in '$@' (ignored completely by this hook). Leave -# # my_options_prep_result variable intact. -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# args_changed=false -# -# # Note that, for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: -# args_changed=: -# ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# args_changed=: -# ;; -# *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@" in case we need it later, -# # if $args_changed was set to 'true'. -# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -# esac -# done -# -# # Only call 'func_quote' here if we processed at least one argument. -# if $args_changed; then -# func_quote eval ${1+"$@"} -# my_silent_option_result=$func_quote_result -# fi -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll also need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options_finish [ARG]... -# ---------------------------- -# Finishing the option parse loop (call 'func_options' hooks ATM). -func_options_finish () -{ - $debug_cmd - - func_run_hooks func_options ${1+"$@"} - func_propagate_result func_run_hooks func_options_finish -} - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - _G_options_quoted=false - - for my_func in options_prep parse_options validate_options options_finish - do - func_unset func_${my_func}_result - func_unset func_run_hooks_result - eval func_$my_func '${1+"$@"}' - func_propagate_result func_$my_func func_options - if $func_propagate_result_result; then - eval set dummy "$func_options_result"; shift - _G_options_quoted=: - fi - done - - $_G_options_quoted || { - # As we (func_options) are top-level options-parser function and - # nobody quoted "$@" for us yet, we need to do it explicitly for - # caller. - func_quote eval ${1+"$@"} - func_options_result=$func_quote_result - } -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - func_propagate_result func_run_hooks func_options_prep -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - _G_parse_options_requote=false - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - func_propagate_result func_run_hooks func_parse_options - if $func_propagate_result_result; then - eval set dummy "$func_parse_options_result"; shift - # Even though we may have changed "$@", we passed the "$@" array - # down into the hook and it quoted it for us (because we are in - # this if-branch). No need to quote it again. - _G_parse_options_requote=false - fi - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - # We expect that one of the options parsed in this function matches - # and thus we remove _G_opt from "$@" and need to re-quote. - _G_match_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" >&2 - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - if test $# = 0 && func_missing_arg $_G_opt; then - _G_parse_options_requote=: - break - fi - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) _G_parse_options_requote=: ; break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift - _G_match_parse_options=false - break - ;; - esac - - if $_G_match_parse_options; then - _G_parse_options_requote=: - fi - done - - if $_G_parse_options_requote; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - func_parse_options_result=$func_quote_result - fi -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - func_propagate_result func_run_hooks func_validate_options - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables -# after splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - if test "x$func_split_equals_lhs" = "x$1"; then - func_split_equals_rhs= - fi - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs=" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -# The version message is extracted from the calling file's header -# comments, with leading '# ' stripped: -# 1. First display the progname and version -# 2. Followed by the header comment line matching /^# Written by / -# 3. Then a blank line followed by the first following line matching -# /^# Copyright / -# 4. Immediately followed by any lines between the previous matches, -# except lines preceding the intervening completely blank line. -# For example, see the header comments of this file. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /^# Written by /!b - s|^# ||; p; n - - :fwd2blnk - /./ { - n - b fwd2blnk - } - p; n - - :holdwrnt - s|^# || - s|^# *$|| - /^Copyright /!{ - /./H - n - b holdwrnt - } - - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - G - s|\(\n\)\n*|\1|g - p; q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.7' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.7-5 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - _G_rc_lt_options_prep=: - - _G_rc_lt_options_prep=: - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - *) - _G_rc_lt_options_prep=false - ;; - esac - - if $_G_rc_lt_options_prep; then - # Pass back the list of options. - func_quote eval ${1+"$@"} - libtool_options_prep_result=$func_quote_result - fi -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - _G_rc_lt_parse_options=false - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_match_lt_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"} ; shift - _G_match_lt_parse_options=false - break - ;; - esac - $_G_match_lt_parse_options && _G_rc_lt_parse_options=: - done - - if $_G_rc_lt_parse_options; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - libtool_parse_options_result=$func_quote_result - fi -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote eval ${1+"$@"} - libtool_validate_options_result=$func_quote_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_arg pretty "$libobj" - test "X$libobj" != "X$func_quote_arg_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_arg pretty "$srcfile" - qsrcfile=$func_quote_arg_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG - -Xcompiler FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wa,FLAG - -Xassembler FLAG pass linker-specific FLAG directly to the assembler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_arg pretty "$nonopt" - install_prog="$func_quote_arg_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_arg pretty "$arg" - func_append install_prog "$func_quote_arg_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_arg pretty "$arg" - func_append install_prog " $func_quote_arg_result" - if test -n "$arg2"; then - func_quote_arg pretty "$arg2" - fi - func_append install_shared_prog " $func_quote_arg_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_arg pretty "$install_override_mode" - func_append install_shared_prog " -m $func_quote_arg_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_arg expand,pretty "$relink_command" - eval "func_echo $func_quote_arg_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - func_quote_arg pretty "$ECHO" - qECHO=$func_quote_arg_result - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=$qECHO - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_arg pretty,unquoted "$arg" - qarg=$func_quote_arg_unquoted_result - func_append libtool_args " $func_quote_arg_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xassembler) - func_append compiler_flags " -Xassembler $qarg" - prev= - func_append compile_command " -Xassembler $qarg" - func_append finalize_command " -Xassembler $qarg" - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. - -pthread) - case $host in - *solaris2*) ;; - *) - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - ;; - esac - continue - ;; - -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $func_quote_arg_result" - func_append compiler_flags " $func_quote_arg_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $wl$func_quote_arg_result" - func_append compiler_flags " $wl$func_quote_arg_result" - func_append linker_flags " $func_quote_arg_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xassembler) - prev=xassembler - continue - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - # -fuse-ld=* Linker select flags for GCC - # -static-* direct GCC to link specific libraries statically - # -fcilkplus Cilk Plus language extension features for C/C++ - # -Wa,* Pass flags directly to the assembler - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type '$version_type'" - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf | midnightbsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_arg pretty "$var_value" - relink_command="$var=$func_quote_arg_result; export $var; $relink_command" - fi - done - func_quote eval cd "`pwd`" - func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" - relink_command=$func_quote_arg_unquoted_result - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_arg pretty,unquoted "$var_value" - relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - func_quote eval cd "`pwd`" - relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - func_quote_arg pretty,unquoted "$relink_command" - relink_command=$func_quote_arg_unquoted_result - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD="/usr/bin/ld -m elf_x86_64" - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# Commands used to build an old-style archive. -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" - -# A language specific compiler. -CC="x86_64-linux-gnu-g++" - -# Is the compiler the GNU compiler? -with_gcc=yes - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=no - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\$wl--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\$wl--whole-archive\$convenience \$wl--no-whole-archive" - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object="no" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build a shared archive. -archive_cmds="\$CC \$pic_flag -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \$wl-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$CC \$pic_flag -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \$wl-soname \$wl\$soname \$wl-retain-symbols-file \$wl\$export_symbols -o \$lib" - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds="" -module_expsym_cmds="" - -# Whether we are building with GNU ld or not. -with_gnu_ld="yes" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that enforces no undefined symbols. -no_undefined_flag="" - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist -hardcode_libdir_flag_spec="\$wl-rpath \$wl\$libdir" - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator="" - -# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=no - -# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting $shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=no - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=no - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=no - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=no - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=no - -# Set to "yes" if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" - -# Symbols that must always be exported. -include_expsyms="" - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds="" - -# Commands necessary for finishing linking programs. -postlink_cmds="" - -# Specify filename containing input files. -file_list_spec="" - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs="/usr/lib/gcc/x86_64-linux-gnu/11 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu /usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /usr/lib/gcc/x86_64-linux-gnu/11/../../.." - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects="/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o" -postdep_objects="/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o" -predeps="" -postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="-L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.." - -# ### END LIBTOOL TAG CONFIG: CXX diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/local.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/local.exp deleted file mode 100644 index 8f9a943..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/local.exp +++ /dev/null @@ -1,3 +0,0 @@ -set CC_FOR_TARGET "x86_64-linux-gnu-gcc" -set CXX_FOR_TARGET "x86_64-linux-gnu-g++" -set compiler_vendor "gnu" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man/Makefile deleted file mode 100644 index de3d03d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man/Makefile +++ /dev/null @@ -1,565 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# man/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -VPATH = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libffi -pkgincludedir = $(includedir)/libffi -pkglibdir = $(libdir)/libffi -pkglibexecdir = $(libexecdir)/libffi -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = x86_64-pc-linux-gnu -subdir = man -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \ - $(top_srcdir)/m4/ax_cc_maxopt.m4 \ - $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_compiler_vendor.m4 \ - $(top_srcdir)/m4/ax_configure_args.m4 \ - $(top_srcdir)/m4/ax_enable_builddir.m4 \ - $(top_srcdir)/m4/ax_gcc_archflag.m4 \ - $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ - $(top_srcdir)/m4/ax_prepend_flag.m4 \ - $(top_srcdir)/m4/ax_require_defined.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/fficonfig.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man3dir = $(mandir)/man3 -am__installdirs = "$(DESTDIR)$(man3dir)" -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AM_LTLDFLAGS = -AM_RUNTESTFLAGS = -AR = x86_64-linux-gnu-ar -AUTOCONF = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoconf -AUTOHEADER = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoheader -AUTOMAKE = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' automake-1.16 -AWK = mawk -CC = x86_64-linux-gnu-gcc -CCAS = x86_64-linux-gnu-gcc -CCASDEPMODE = depmode=none -CCASFLAGS = -CCDEPMODE = depmode=none -CFLAGS = -Wall -fexceptions -CPPFLAGS = -CSCOPE = cscope -CTAGS = ctags -CXX = x86_64-linux-gnu-g++ -CXXCPP = x86_64-linux-gnu-g++ -E -CXXDEPMODE = depmode=none -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -ETAGS = etags -EXEEXT = -FFI_EXEC_TRAMPOLINE_TABLE = 0 -FGREP = /usr/bin/grep -F -FILECMD = file -GREP = /usr/bin/grep -HAVE_LONG_DOUBLE = 1 -HAVE_LONG_DOUBLE_VARIANT = 0 -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAINT = # -MAKEINFO = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/x86_64-linux-gnu-nm -B -NMEDIT = -OBJDUMP = x86_64-linux-gnu-objdump -OBJEXT = o -OPT_LDFLAGS = -Wl,-O1 -OTOOL = -OTOOL64 = -PACKAGE = libffi -PACKAGE_BUGREPORT = http://github.com/libffi/libffi/issues -PACKAGE_NAME = libffi -PACKAGE_STRING = libffi 3.4.4 -PACKAGE_TARNAME = libffi -PACKAGE_URL = -PACKAGE_VERSION = 3.4.4 -PATH_SEPARATOR = : -PRTDIAG = -RANLIB = x86_64-linux-gnu-ranlib -READELF = x86_64-linux-gnu-readelf -SECTION_LDFLAGS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = x86_64-linux-gnu-strip -TARGET = X86_64 -TARGETDIR = x86 -TARGET_OBJ = src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -VERSION = 3.4.4 -abs_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/man -abs_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man -abs_top_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu -abs_top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -ac_ct_AR = -ac_ct_CC = -ac_ct_CXX = -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_enable_builddir_sed = sed -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = x86_64-linux-gnu -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man -sys_symbol_underscore = no -sysconfdir = ${prefix}/etc -target = x86_64-pc-linux-gnu -target_alias = x86_64-linux-gnu -target_cpu = x86_64 -target_os = linux-gnu -target_vendor = pc -tmake_file = -toolexecdir = ${libdir}/gcc-lib/$(target_alias) -toolexeclibdir = ${libdir}/../lib -top_build_prefix = ../ -top_builddir = .. -top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -AUTOMAKE_OPTIONS = foreign -EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3 -man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3 -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man3dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man3 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man3 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man3 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-man \ - uninstall-man3 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/.deps/.dirstamp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/.dirstamp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/closures.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/closures.lo deleted file mode 100644 index e88a523..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/closures.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/closures.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='closures.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/closures.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/closures.o deleted file mode 100644 index ec0cc8d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/closures.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/java_raw_api.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/java_raw_api.lo deleted file mode 100644 index 12ae67a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/java_raw_api.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/java_raw_api.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='java_raw_api.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/java_raw_api.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/java_raw_api.o deleted file mode 100644 index 2d6a1a3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/java_raw_api.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/prep_cif.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/prep_cif.lo deleted file mode 100644 index b92b5aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/prep_cif.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/prep_cif.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='prep_cif.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/prep_cif.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/prep_cif.o deleted file mode 100644 index 6ca16c8..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/prep_cif.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/raw_api.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/raw_api.lo deleted file mode 100644 index 9c00d32..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/raw_api.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/raw_api.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='raw_api.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/raw_api.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/raw_api.o deleted file mode 100644 index cc407d0..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/raw_api.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/tramp.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/tramp.lo deleted file mode 100644 index ed95fef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/tramp.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/tramp.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='tramp.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/tramp.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/tramp.o deleted file mode 100644 index 02c5589..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/tramp.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/types.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/types.lo deleted file mode 100644 index 4b77299..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/types.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/types.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='types.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/types.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/types.o deleted file mode 100644 index 57a7050..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/types.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/.deps/.dirstamp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/.dirstamp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffi64.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffi64.lo deleted file mode 100644 index f68cc5a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffi64.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/x86/ffi64.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='ffi64.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffi64.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffi64.o deleted file mode 100644 index d8fe99c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffi64.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffiw64.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffiw64.lo deleted file mode 100644 index 396817d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffiw64.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/x86/ffiw64.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='ffiw64.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffiw64.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffiw64.o deleted file mode 100644 index 29a2609..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/ffiw64.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/unix64.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/unix64.lo deleted file mode 100644 index 6ad4abf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/unix64.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/x86/unix64.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='unix64.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/unix64.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/unix64.o deleted file mode 100644 index 270c831..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/unix64.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/win64.lo b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/win64.lo deleted file mode 100644 index 8c4dab8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/win64.lo +++ /dev/null @@ -1,12 +0,0 @@ -# src/x86/win64.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object -non_pic_object='win64.o' - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/win64.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/win64.o deleted file mode 100644 index 9b9bfa3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/src/x86/win64.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/stamp-h1 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/stamp-h1 deleted file mode 100644 index e43c201..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/stamp-h1 +++ /dev/null @@ -1 +0,0 @@ -timestamp for fficonfig.h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite/Makefile deleted file mode 100644 index 157219d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite/Makefile +++ /dev/null @@ -1,664 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# testsuite/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -VPATH = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libffi -pkgincludedir = $(includedir)/libffi -pkglibdir = $(libdir)/libffi -pkglibexecdir = $(libexecdir)/libffi -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = x86_64-pc-linux-gnu -subdir = testsuite -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \ - $(top_srcdir)/m4/ax_cc_maxopt.m4 \ - $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_compiler_vendor.m4 \ - $(top_srcdir)/m4/ax_configure_args.m4 \ - $(top_srcdir)/m4/ax_enable_builddir.m4 \ - $(top_srcdir)/m4/ax_gcc_archflag.m4 \ - $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ - $(top_srcdir)/m4/ax_prepend_flag.m4 \ - $(top_srcdir)/m4/ax_require_defined.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/fficonfig.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -DEJATOOL = $(PACKAGE) -RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir -EXPECT = expect -RUNTEST = runtest -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AM_LTLDFLAGS = -AM_RUNTESTFLAGS = -AR = x86_64-linux-gnu-ar -AUTOCONF = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoconf -AUTOHEADER = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' autoheader -AUTOMAKE = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' automake-1.16 -AWK = mawk -CC = x86_64-linux-gnu-gcc -CCAS = x86_64-linux-gnu-gcc -CCASDEPMODE = depmode=none -CCASFLAGS = -CCDEPMODE = depmode=none -CFLAGS = -Wall -fexceptions -CPPFLAGS = -CSCOPE = cscope -CTAGS = ctags -CXX = x86_64-linux-gnu-g++ -CXXCPP = x86_64-linux-gnu-g++ -E -CXXDEPMODE = depmode=none -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -ETAGS = etags -EXEEXT = -FFI_EXEC_TRAMPOLINE_TABLE = 0 -FGREP = /usr/bin/grep -F -FILECMD = file -GREP = /usr/bin/grep -HAVE_LONG_DOUBLE = 1 -HAVE_LONG_DOUBLE_VARIANT = 0 -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAINT = # -MAKEINFO = ${SHELL} '/home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing' makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/x86_64-linux-gnu-nm -B -NMEDIT = -OBJDUMP = x86_64-linux-gnu-objdump -OBJEXT = o -OPT_LDFLAGS = -Wl,-O1 -OTOOL = -OTOOL64 = -PACKAGE = libffi -PACKAGE_BUGREPORT = http://github.com/libffi/libffi/issues -PACKAGE_NAME = libffi -PACKAGE_STRING = libffi 3.4.4 -PACKAGE_TARNAME = libffi -PACKAGE_URL = -PACKAGE_VERSION = 3.4.4 -PATH_SEPARATOR = : -PRTDIAG = -RANLIB = x86_64-linux-gnu-ranlib -READELF = x86_64-linux-gnu-readelf -SECTION_LDFLAGS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = x86_64-linux-gnu-strip -TARGET = X86_64 -TARGETDIR = x86 -TARGET_OBJ = src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffiw64.lo src/x86/win64.lo -VERSION = 3.4.4 -abs_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu/testsuite -abs_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite -abs_top_builddir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi-x86_64-linux-gnu -abs_top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -ac_ct_AR = -ac_ct_CC = -ac_ct_CXX = -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_enable_builddir_sed = sed -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = x86_64-linux-gnu -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite -sys_symbol_underscore = no -sysconfdir = ${prefix}/etc -target = x86_64-pc-linux-gnu -target_alias = x86_64-linux-gnu -target_cpu = x86_64 -target_os = linux-gnu -target_vendor = pc -tmake_file = -toolexecdir = ${libdir}/gcc-lib/$(target_alias) -toolexeclibdir = ${libdir}/../lib -top_build_prefix = ../ -top_builddir = .. -top_srcdir = /home/jeff/Documents/NBA_Betting/docs/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi -AUTOMAKE_OPTIONS = foreign dejagnu -EXTRA_DEJAGNU_SITE_CONFIG = ../local.exp -CLEANFILES = *.exe core* *.log *.sum -EXTRA_DIST = config/default.exp lib/libffi.exp lib/target-libpath.exp \ -lib/wrapper.exp libffi.bhaible/Makefile libffi.bhaible/README \ -libffi.bhaible/alignof.h libffi.bhaible/bhaible.exp \ -libffi.bhaible/test-call.c libffi.bhaible/test-callback.c \ -libffi.bhaible/testcases.c libffi.call/align_mixed.c \ -libffi.call/align_stdcall.c libffi.call/call.exp \ -libffi.call/err_bad_typedef.c libffi.call/ffitest.h \ -libffi.call/float.c libffi.call/float1.c libffi.call/float2.c \ -libffi.call/float3.c libffi.call/float4.c libffi.call/float_va.c \ -libffi.call/many.c libffi.call/many2.c libffi.call/many_double.c \ -libffi.call/many_mixed.c libffi.call/negint.c libffi.call/offsets.c \ -libffi.call/pr1172638.c libffi.call/promotion.c \ -libffi.call/pyobjc_tc.c libffi.call/return_dbl.c \ -libffi.call/return_dbl1.c libffi.call/return_dbl2.c \ -libffi.call/return_fl.c libffi.call/return_fl1.c \ -libffi.call/return_fl2.c libffi.call/return_fl3.c \ -libffi.call/return_ldl.c libffi.call/return_ll.c \ -libffi.call/return_ll1.c libffi.call/return_sc.c \ -libffi.call/return_sl.c libffi.call/return_uc.c \ -libffi.call/return_ul.c libffi.call/struct1.c libffi.call/struct10.c \ -libffi.call/struct2.c libffi.call/struct3.c libffi.call/struct4.c \ -libffi.call/struct5.c libffi.call/struct6.c libffi.call/struct7.c \ -libffi.call/struct8.c libffi.call/struct9.c \ -libffi.call/uninitialized.c libffi.call/va_1.c libffi.call/va_2.c \ -libffi.call/va_3.c libffi.call/va_struct1.c libffi.call/va_struct2.c \ -libffi.call/va_struct3.c libffi.call/struct_by_value_big.c \ -libffi.call/struct_return_8H.c libffi.call/struct_return_2H.c \ -libffi.call/struct_by_value_2.c libffi.call/struct_by_value_3.c \ -libffi.call/struct_by_value_4.c libffi.call/struct_by_value_small.c \ -libffi.call/strlen2.c libffi.call/strlen3.c libffi.call/strlen4.c \ -libffi.call/strlen.c libffi.call/va_3.c \ -libffi.call/struct_by_value_2.c libffi.call/struct_by_value_3.c \ -libffi.call/struct_by_value_4.c libffi.closures/closure.exp \ -libffi.call/struct_by_value_3f.c libffi.call/struct_by_value_4f.c \ -libffi.call/s55.c libffi.call/bpo-38748.c \ -libffi.closures/closure_fn0.c libffi.closures/closure_fn1.c \ -libffi.closures/closure_fn2.c libffi.closures/closure_fn3.c \ -libffi.closures/closure_fn4.c libffi.closures/closure_fn5.c \ -libffi.closures/closure_fn6.c libffi.closures/closure_loc_fn0.c \ -libffi.closures/closure_simple.c libffi.closures/cls_12byte.c \ -libffi.closures/cls_16byte.c libffi.closures/cls_18byte.c \ -libffi.closures/cls_19byte.c libffi.closures/cls_1_1byte.c \ -libffi.closures/cls_20byte.c libffi.closures/cls_20byte1.c \ -libffi.closures/cls_24byte.c libffi.closures/cls_2byte.c \ -libffi.closures/cls_3_1byte.c libffi.closures/cls_3byte1.c \ -libffi.closures/cls_3byte2.c libffi.closures/cls_3float.c \ -libffi.closures/cls_4_1byte.c libffi.closures/cls_4byte.c \ -libffi.closures/cls_5_1_byte.c libffi.closures/cls_5byte.c \ -libffi.closures/cls_64byte.c libffi.closures/cls_6_1_byte.c \ -libffi.closures/cls_6byte.c libffi.closures/cls_7_1_byte.c \ -libffi.closures/cls_7byte.c libffi.closures/cls_8byte.c \ -libffi.closures/cls_9byte1.c libffi.closures/cls_9byte2.c \ -libffi.closures/cls_align_double.c libffi.closures/cls_align_float.c \ -libffi.closures/cls_align_longdouble.c \ -libffi.closures/cls_align_pointer.c \ -libffi.closures/cls_align_sint16.c libffi.closures/cls_align_sint32.c \ -libffi.closures/cls_align_sint64.c libffi.closures/cls_align_uint16.c \ -libffi.closures/cls_align_uint32.c libffi.closures/cls_align_uint64.c \ -libffi.closures/cls_dbls_struct.c libffi.closures/cls_double.c \ -libffi.closures/cls_double_va.c libffi.closures/cls_float.c \ -libffi.closures/cls_longdouble_va.c \ -libffi.closures/cls_many_mixed_args.c \ -libffi.closures/cls_many_mixed_float_double.c \ -libffi.closures/cls_multi_schar.c libffi.closures/cls_multi_sshort.c \ -libffi.closures/cls_multi_sshortchar.c \ -libffi.closures/cls_multi_uchar.c libffi.closures/cls_multi_ushort.c \ -libffi.closures/cls_multi_ushortchar.c libffi.closures/cls_pointer.c \ -libffi.closures/cls_pointer_stack.c libffi.closures/cls_schar.c \ -libffi.closures/cls_sint.c libffi.closures/cls_sshort.c \ -libffi.closures/cls_struct_va1.c libffi.closures/cls_uchar.c \ -libffi.closures/cls_uint.c libffi.closures/cls_uint_va.c \ -libffi.closures/cls_ulong_va.c libffi.closures/cls_ulonglong.c \ -libffi.closures/cls_ushort.c libffi.closures/err_bad_abi.c \ -libffi.closures/ffitest.h libffi.closures/nested_struct.c \ -libffi.closures/nested_struct1.c libffi.closures/nested_struct10.c \ -libffi.closures/nested_struct11.c libffi.closures/nested_struct12.c \ -libffi.closures/nested_struct13.c libffi.closures/nested_struct2.c \ -libffi.closures/nested_struct3.c libffi.closures/nested_struct4.c \ -libffi.closures/nested_struct5.c libffi.closures/nested_struct6.c \ -libffi.closures/nested_struct7.c libffi.closures/nested_struct8.c \ -libffi.closures/nested_struct9.c libffi.closures/problem1.c \ -libffi.closures/single_entry_structs1.c \ -libffi.closures/single_entry_structs2.c \ -libffi.closures/single_entry_structs3.c libffi.closures/stret_large.c \ -libffi.closures/stret_large2.c libffi.closures/stret_medium.c \ -libffi.closures/stret_medium2.c libffi.closures/testclosure.c \ -libffi.closures/unwindtest.cc libffi.closures/unwindtest_ffi_call.cc \ -libffi.closures/cls_align_longdouble_split.c \ -libffi.closures/cls_align_longdouble_split2.c \ -libffi.closures/cls_longdouble.c libffi.closures/huge_struct.c \ -libffi.complex/cls_align_complex.inc \ -libffi.complex/cls_align_complex_double.c \ -libffi.complex/cls_align_complex_float.c \ -libffi.complex/cls_align_complex_longdouble.c \ -libffi.complex/cls_complex.inc libffi.complex/cls_complex_double.c \ -libffi.complex/cls_complex_float.c \ -libffi.complex/cls_complex_longdouble.c \ -libffi.complex/cls_complex_struct.inc \ -libffi.complex/cls_complex_struct_double.c \ -libffi.complex/cls_complex_struct_float.c \ -libffi.complex/cls_complex_struct_longdouble.c \ -libffi.complex/cls_complex_va.inc \ -libffi.complex/cls_complex_va_double.c \ -libffi.complex/cls_complex_va_float.c \ -libffi.complex/cls_complex_va_longdouble.c libffi.complex/complex.exp \ -libffi.complex/complex.inc libffi.complex/complex_defs_double.inc \ -libffi.complex/complex_defs_float.inc \ -libffi.complex/complex_defs_longdouble.inc \ -libffi.complex/complex_double.c libffi.complex/complex_float.c \ -libffi.complex/complex_int.c libffi.complex/complex_longdouble.c \ -libffi.complex/ffitest.h libffi.complex/many_complex.inc \ -libffi.complex/many_complex_double.c \ -libffi.complex/many_complex_float.c \ -libffi.complex/many_complex_longdouble.c \ -libffi.complex/return_complex.inc libffi.complex/return_complex1.inc \ -libffi.complex/return_complex1_double.c \ -libffi.complex/return_complex1_float.c \ -libffi.complex/return_complex1_longdouble.c \ -libffi.complex/return_complex2.inc \ -libffi.complex/return_complex2_double.c \ -libffi.complex/return_complex2_float.c \ -libffi.complex/return_complex2_longdouble.c \ -libffi.complex/return_complex_double.c \ -libffi.complex/return_complex_float.c \ -libffi.complex/return_complex_longdouble.c libffi.go/aa-direct.c \ -libffi.go/closure1.c libffi.go/ffitest.h libffi.go/go.exp \ -libffi.go/static-chain.h - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign testsuite/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -check-DEJAGNU: site.exp - srcdir='$(srcdir)'; export srcdir; \ - EXPECT=$(EXPECT); export EXPECT; \ - if $(SHELL) -c "$(RUNTEST) --version" > /dev/null 2>&1; then \ - exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \ - if $(RUNTEST) $(RUNTESTDEFAULTFLAGS) $(AM_RUNTESTFLAGS) $(RUNTESTFLAGS); \ - then :; else exit_status=1; fi; \ - done; \ - else echo "WARNING: could not find '$(RUNTEST)'" 1>&2; :;\ - fi; \ - exit $$exit_status -site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG) - @echo 'Making a new site.exp file ...' - @echo '## these variables are automatically generated by make ##' >site.tmp - @echo '# Do not edit here. If you wish to override these values' >>site.tmp - @echo '# edit the last section' >>site.tmp - @echo 'set srcdir "$(srcdir)"' >>site.tmp - @echo "set objdir \"`pwd`\"" >>site.tmp - @echo 'set build_alias "$(build_alias)"' >>site.tmp - @echo 'set build_triplet $(build_triplet)' >>site.tmp - @echo 'set host_alias "$(host_alias)"' >>site.tmp - @echo 'set host_triplet $(host_triplet)' >>site.tmp - @echo 'set target_alias "$(target_alias)"' >>site.tmp - @echo 'set target_triplet $(target_triplet)' >>site.tmp - @list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \ - echo "## Begin content included from file $$f. Do not modify. ##" \ - && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \ - && echo "## End content included from file $$f. ##" \ - || exit 1; \ - done >> site.tmp - @echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp - @if test -f site.exp; then \ - sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \ - fi - @-rm -f site.bak - @test ! -f site.exp || mv site.exp site.bak - @mv site.tmp site.exp - -distclean-DEJAGNU: - -rm -f site.exp site.bak - -l='$(DEJATOOL)'; for tool in $$l; do \ - rm -f $$tool.sum $$tool.log; \ - done -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-DEJAGNU distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-DEJAGNU distclean-generic distclean-libtool distdir \ - dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.bsd.mk b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.bsd.mk deleted file mode 100644 index 0aefcd3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.bsd.mk +++ /dev/null @@ -1,40 +0,0 @@ -# -*- makefile -*- -# -# Makefile for BSD systems -# - -LOCAL_LIBS += ${LIBFFI} -lpthread - -LIBFFI_CFLAGS = ${FFI_MMAP_EXEC} -pthread -LIBFFI_BUILD_DIR = ${.CURDIR}/libffi-${arch} -INCFLAGS := -I${LIBFFI_BUILD_DIR}/include -I${INCFLAGS} - -.if ${srcdir} == "." - LIBFFI_SRC_DIR := ${.CURDIR}/libffi -.else - LIBFFI_SRC_DIR := ${srcdir}/libffi -.endif - - -LIBFFI = ${LIBFFI_BUILD_DIR}/.libs/libffi_convenience.a -LIBFFI_AUTOGEN = ${LIBFFI_SRC_DIR}/autogen.sh -LIBFFI_CONFIGURE = ${LIBFFI_SRC_DIR}/configure --disable-shared --enable-static \ - --with-pic=yes --disable-dependency-tracking --disable-docs $(LIBFFI_DEBUG) - -$(OBJS): ${LIBFFI} - -$(LIBFFI): - @mkdir -p ${LIBFFI_BUILD_DIR} - @if [ ! -f $(LIBFFI_SRC_DIR)/configure ]; then \ - echo "Running autoreconf for libffi"; \ - cd "$(LIBFFI_SRC_DIR)" && \ - /bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \ - fi - @if [ ! -f ${LIBFFI_BUILD_DIR}/Makefile ]; then \ - echo "Configuring libffi"; \ - cd ${LIBFFI_BUILD_DIR} && \ - /usr/bin/env CC="${CC}" LD="${LD}" CFLAGS="${LIBFFI_CFLAGS}" GREP_OPTIONS="" \ - /bin/sh ${LIBFFI_CONFIGURE} ${LIBFFI_HOST} > /dev/null; \ - fi - @cd ${LIBFFI_BUILD_DIR} && ${MAKE} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.darwin.mk b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.darwin.mk deleted file mode 100644 index 893a8e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.darwin.mk +++ /dev/null @@ -1,105 +0,0 @@ -# -*- makefile -*- - -include ${srcdir}/libffi.gnu.mk - -CCACHE := $(shell type -p ccache) -BUILD_DIR := $(shell pwd) - -INCFLAGS += -I"$(BUILD_DIR)" - -# Work out which arches we need to compile the lib for -ARCHES := -ARCHFLAGS ?= $(filter -arch %, $(CFLAGS)) - -ifneq ($(findstring -arch ppc,$(ARCHFLAGS)),) - ARCHES += ppc -endif - -ifneq ($(findstring -arch i386,$(ARCHFLAGS)),) - ARCHES += i386 -endif - -ifneq ($(findstring -arch x86_64,$(ARCHFLAGS)),) - ARCHES += x86_64 -endif - -ifeq ($(strip $(ARCHES)),) -LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi-$(arch) -# Just build the one (default) architecture -$(LIBFFI): - @mkdir -p "$(LIBFFI_BUILD_DIR)" "$(@D)" - @if [ ! -f "$(LIBFFI_SRC_DIR)"/configure ]; then \ - echo "Running autoreconf for libffi"; \ - cd "$(LIBFFI_SRC_DIR)" && \ - /bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \ - fi - @if [ ! -f "$(LIBFFI_BUILD_DIR)"/Makefile ]; then \ - echo "Configuring libffi"; \ - cd "$(LIBFFI_BUILD_DIR)" && \ - /usr/bin/env CC="$(CC)" LD="$(LD)" CFLAGS="$(LIBFFI_CFLAGS)" GREP_OPTIONS="" \ - /bin/sh $(LIBFFI_CONFIGURE) $(LIBFFI_HOST) > /dev/null; \ - fi - cd "$(LIBFFI_BUILD_DIR)" && $(MAKE) - -else -LIBTARGETS = $(foreach arch,$(ARCHES),"$(BUILD_DIR)"/libffi-$(arch)/.libs/libffi_convenience.a) - -# Build a fat binary and assemble -build_ffi = \ - mkdir -p "$(BUILD_DIR)"/libffi-$(1); \ - (if [ ! -f "$(LIBFFI_SRC_DIR)"/configure ]; then \ - echo "Running autoreconf for libffi"; \ - cd "$(LIBFFI_SRC_DIR)" && \ - /bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \ - fi); \ - (if [ ! -f "$(BUILD_DIR)"/libffi-$(1)/Makefile ]; then \ - echo "Configuring libffi for $(1)"; \ - cd "$(BUILD_DIR)"/libffi-$(1) && \ - env CC="$(CCACHE) $(CC)" CFLAGS="-arch $(1) $(LIBFFI_CFLAGS)" LDFLAGS="-arch $(1)" \ - $(LIBFFI_CONFIGURE) --host=$(1)-apple-darwin > /dev/null; \ - fi); \ - $(MAKE) -C "$(BUILD_DIR)"/libffi-$(1) - -target_ffi = "$(BUILD_DIR)"/libffi-$(1)/.libs/libffi_convenience.a:; $(call build_ffi,$(1)) - -# Work out which arches we need to compile the lib for -ifneq ($(findstring ppc,$(ARCHES)),) - $(call target_ffi,ppc) -endif - -ifneq ($(findstring i386,$(ARCHES)),) - $(call target_ffi,i386) -endif - -ifneq ($(findstring x86_64,$(ARCHES)),) - $(call target_ffi,x86_64) -endif - - -$(LIBFFI): $(LIBTARGETS) - # Assemble into a FAT (x86_64, i386, ppc) library - @mkdir -p "$(@D)" - /usr/bin/libtool -static -o $@ \ - $(foreach arch, $(ARCHES),"$(BUILD_DIR)"/libffi-$(arch)/.libs/libffi_convenience.a) - @mkdir -p "$(LIBFFI_BUILD_DIR)"/include - $(RM) "$(LIBFFI_BUILD_DIR)"/include/ffi.h - @( \ - printf "#if defined(__i386__)\n"; \ - printf "#include \"libffi-i386/include/ffi.h\"\n"; \ - printf "#elif defined(__x86_64__)\n"; \ - printf "#include \"libffi-x86_64/include/ffi.h\"\n";\ - printf "#elif defined(__ppc__)\n"; \ - printf "#include \"libffi-ppc/include/ffi.h\"\n";\ - printf "#endif\n";\ - ) > "$(LIBFFI_BUILD_DIR)"/include/ffi.h - @( \ - printf "#if defined(__i386__)\n"; \ - printf "#include \"libffi-i386/include/ffitarget.h\"\n"; \ - printf "#elif defined(__x86_64__)\n"; \ - printf "#include \"libffi-x86_64/include/ffitarget.h\"\n";\ - printf "#elif defined(__ppc__)\n"; \ - printf "#include \"libffi-ppc/include/ffitarget.h\"\n";\ - printf "#endif\n";\ - ) > "$(LIBFFI_BUILD_DIR)"/include/ffitarget.h - -endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.gnu.mk b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.gnu.mk deleted file mode 100644 index ec1c4f2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.gnu.mk +++ /dev/null @@ -1,32 +0,0 @@ -# -*- makefile -*- -# -# Common definitions for all systems that use GNU make -# - - -# Tack the extra deps onto the autogenerated variables -LOCAL_LIBS += $(LIBFFI) -BUILD_DIR = $(shell pwd) -LIBFFI_CFLAGS = $(FFI_MMAP_EXEC) -LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi-$(arch) -INCFLAGS := -I"$(LIBFFI_BUILD_DIR)"/include $(INCFLAGS) - -ifeq ($(srcdir),.) - LIBFFI_SRC_DIR := $(shell pwd)/libffi -else ifeq ($(srcdir),..) - LIBFFI_SRC_DIR := $(shell pwd)/../libffi -else - LIBFFI_SRC_DIR := $(realpath $(srcdir)/libffi) -endif - -LIBFFI = "$(LIBFFI_BUILD_DIR)"/.libs/libffi_convenience.a -LIBFFI_AUTOGEN = ${LIBFFI_SRC_DIR}/autogen.sh -LIBFFI_CONFIGURE = "$(LIBFFI_SRC_DIR)"/configure --disable-shared --enable-static \ - --with-pic=yes --disable-dependency-tracking --disable-docs $(LIBFFI_DEBUG) - -$(OBJS): $(LIBFFI) - -# -# libffi.mk or libffi.darwin.mk contains rules for building the actual library -# - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.mk b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.mk deleted file mode 100644 index 3b58227..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -*- makefile -*- - -include ${srcdir}/libffi.gnu.mk - -$(LIBFFI): - @mkdir -p "$(LIBFFI_BUILD_DIR)" "$@(D)" - @if [ ! -f "$(LIBFFI_SRC_DIR)"/configure ]; then \ - echo "Running autoreconf for libffi"; \ - cd "$(LIBFFI_SRC_DIR)" && \ - /bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \ - fi - @if [ ! -f "$(LIBFFI_BUILD_DIR)"/Makefile ]; then \ - echo "Configuring libffi"; \ - cd "$(LIBFFI_BUILD_DIR)" && \ - env CFLAGS="$(LIBFFI_CFLAGS)" GREP_OPTIONS="" \ - sh $(LIBFFI_CONFIGURE) $(LIBFFI_HOST) > /dev/null; \ - fi - $(MAKE) -C "$(LIBFFI_BUILD_DIR)" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc.mk b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc.mk deleted file mode 100644 index 8cd4603..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc.mk +++ /dev/null @@ -1,26 +0,0 @@ -# -*- makefile -*- -# -# Makefile for msvc -# - -# Tack the extra deps onto the autogenerated variables -INCFLAGS = -I$(LIBFFI_BUILD_DIR)/include -I$(LIBFFI_BUILD_DIR)/src/x86 $(INCFLAGS) -LOCAL_LIBS = $(LOCAL_LIBS) $(LIBFFI) -BUILD_DIR = $(MAKEDIR) -LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi - -!IF "$(srcdir)" == "." -LIBFFI_SRC_DIR = $(MAKEDIR)/libffi -!ELSE -LIBFFI_SRC_DIR = $(srcdir)/libffi -!ENDIF - -LIBFFI = $(LIBFFI_BUILD_DIR)/.libs/libffi_convenience.lib - -$(OBJS): $(LIBFFI) - -$(LIBFFI): - @$(MAKEDIRS) $(LIBFFI_BUILD_DIR) - @cd $(LIBFFI_BUILD_DIR) && $(MAKE) -f Makefile.vc - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc64.mk b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc64.mk deleted file mode 100644 index 6f3dbbc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc64.mk +++ /dev/null @@ -1,26 +0,0 @@ -# -*- makefile -*- -# -# Makefile for msvc -# - -# Tack the extra deps onto the autogenerated variables -INCFLAGS = -I$(LIBFFI_BUILD_DIR)/include -I$(LIBFFI_BUILD_DIR)/src/x86 $(INCFLAGS) -LOCAL_LIBS = $(LOCAL_LIBS) $(LIBFFI) -BUILD_DIR = $(MAKEDIR) -LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi - -!IF "$(srcdir)" == "." -LIBFFI_SRC_DIR = $(MAKEDIR)/libffi -!ELSE -LIBFFI_SRC_DIR = $(srcdir)/libffi -!ENDIF - -LIBFFI = $(LIBFFI_BUILD_DIR)/.libs/libffi_convenience.lib - -$(OBJS): $(LIBFFI) - -$(LIBFFI): - @$(MAKEDIRS) $(LIBFFI_BUILD_DIR) - @cd $(LIBFFI_BUILD_DIR) && $(MAKE) -f Makefile.vc64 - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor.yml deleted file mode 100644 index 48fbb4d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor.yml +++ /dev/null @@ -1,84 +0,0 @@ -shallow_clone: true - -# We're currently only testing libffi built with Microsoft's -# tools. -# This matrix should be expanded to include at least: -# 32- and 64-bit gcc/cygwin -# 32- and 64-bit gcc/mingw -# 32- and 64-bit clang/mingw -# and perhaps more. - -image: Visual Studio 2017 -platform: - - x64 - - x86 - - arm - - arm64 - -configuration: - - Debug - - Release - -environment: - global: - CYG_ROOT: C:/cygwin64 - CYG_CACHE: C:/cygwin64/var/cache/setup - CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/ - VSVER: 15 - matrix: - - SHARED_ARG: "--enable-shared --disable-static" - - SHARED_ARG: "--enable-static --disable-shared" - -install: - - ps: >- - If ($env:Platform -Match "x86") { - $env:VCVARS_PLATFORM="x86" - $env:BUILD="i686-pc-cygwin" - $env:HOST="i686-pc-cygwin" - $env:MSVCC="/cygdrive/c/projects/libffi/msvcc.sh" - $env:SRC_ARCHITECTURE="x86" - } ElseIf ($env:Platform -Match "arm64") { - $env:VCVARS_PLATFORM="x86_arm64" - $env:BUILD="i686-pc-cygwin" - $env:HOST="aarch64-w64-cygwin" - $env:MSVCC="/cygdrive/c/projects/libffi/msvcc.sh -marm64" - $env:SRC_ARCHITECTURE="aarch64" - } ElseIf ($env:Platform -Match "arm") { - $env:VCVARS_PLATFORM="x86_arm" - $env:BUILD="i686-pc-cygwin" - $env:HOST="arm-w32-cygwin" - $env:MSVCC="/cygdrive/c/projects/libffi/msvcc.sh -marm" - $env:SRC_ARCHITECTURE="arm" - } Else { - $env:VCVARS_PLATFORM="amd64" - $env:BUILD="x86_64-w64-cygwin" - $env:HOST="x86_64-w64-cygwin" - $env:MSVCC="/cygdrive/c/projects/libffi/msvcc.sh -m64" - $env:SRC_ARCHITECTURE="x86" - } - If ($env:Configuration -Match "Debug") { - $env:DEBUG_ARG="--enable-debug" - } Else { - $env:DEBUG_ARG="--disable-debug" - } - - 'appveyor DownloadFile https://cygwin.com/setup-x86_64.exe -FileName setup.exe' - - 'setup.exe -qgnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P dejagnu -P autoconf -P automake -P libtool' - - '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"' - - echo call VsDevCmd to set VS150COMNTOOLS - - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" - - ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS")) - - echo "Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS%" - - call "%VSCOMNTOOLS%..\..\vc\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM% - -build_script: - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; ./autogen.sh)" - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; ./configure CC='%MSVCC%' CXX='%MSVCC%' LD='link' CPP='cl -nologo -EP' CXXCPP='cl -nologo -EP' CPPFLAGS='-DFFI_BUILDING_DLL' AR='/cygdrive/c/projects/libffi/.travis/ar-lib lib' NM='dumpbin -symbols' STRIP=':' --build=$BUILD --host=$HOST $DEBUG_ARG $SHARED_ARG)" - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; cp src/%SRC_ARCHITECTURE%/ffitarget.h include)" - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; make)" - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; cp $HOST/.libs/libffi.lib $HOST/testsuite/libffi-8.lib || true)" - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; cp `find . -name 'libffi-?.dll'` $HOST/testsuite/ || true)" - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; TERM=none make check RUNTESTFLAGS='-v -v -v -v --target '$HOST DEJAGNU=$PWD/.appveyor/site.exp SITEDIR=$PWD/.appveyor)" - - -on_finish: - - c:\cygwin64\bin\sh -lc "(cd $OLDPWD; cat `find ./ -name libffi.log`)" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/site.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/site.exp deleted file mode 100644 index 93f4773..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/site.exp +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2021 Anthony Green - -lappend boards_dir $::env(SITEDIR) - -verbose "Global Config File: target_triplet is $target_triplet" 1 -global target_list - -case "$target_triplet" in { - { "aarch*cygwin*" } { - set target_list "unix-noexec" - } - { "arm*cygwin*" } { - set target_list "unix-noexec" - } -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/unix-noexec.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/unix-noexec.exp deleted file mode 100644 index 9796cfa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/unix-noexec.exp +++ /dev/null @@ -1,7 +0,0 @@ -load_generic_config "remote" - -proc noexec_load { dest prog args } { - return "unsupported" -} - -set_board_info protocol "noexec" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/ar-lib b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/ar-lib deleted file mode 100755 index 0baa4f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/ar-lib +++ /dev/null @@ -1,270 +0,0 @@ -#! /bin/sh -# Wrapper for Microsoft lib.exe - -me=ar-lib -scriptversion=2012-03-01.08; # UTC - -# Copyright (C) 2010-2018 Free Software Foundation, Inc. -# Written by Peter Rosin . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - - -# func_error message -func_error () -{ - echo "$me: $1" 1>&2 - exit 1 -} - -file_conv= - -# func_file_conv build_file -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv in - mingw) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_at_file at_file operation archive -# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE -# for each of them. -# When interpreting the content of the @FILE, do NOT use func_file_conv, -# since the user would need to supply preconverted file names to -# binutils ar, at least for MinGW. -func_at_file () -{ - operation=$2 - archive=$3 - at_file_contents=`cat "$1"` - eval set x "$at_file_contents" - shift - - for member - do - $AR -NOLOGO $operation:"$member" "$archive" || exit $? - done -} - -case $1 in - '') - func_error "no command. Try '$0 --help' for more information." - ;; - -h | --h*) - cat <. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -warn) - eat=1 - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/install.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/install.sh deleted file mode 100755 index 446fed0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/install.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash -set -x - -if [[ $RUNNER_OS != 'Linux' ]]; then - brew update --verbose - # brew update > brew-update.log 2>&1 - # fix an issue with libtool on travis by reinstalling it - brew uninstall libtool; - brew install automake libtool dejagnu; - - # Download and extract the rlgl client - wget -qO - https://rl.gl/cli/rlgl-darwin-amd64.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - -else - # Download and extract the rlgl client - case $HOST in - aarch64-linux-gnu) - wget -qO - https://rl.gl/cli/rlgl-linux-arm.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ;; - ppc64le-linux-gnu) - wget -qO - https://rl.gl/cli/rlgl-linux-ppc64le.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ;; - s390x-linux-gnu) - wget -qO - https://rl.gl/cli/rlgl-linux-s390x.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ;; - *) - wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ;; - esac - - sudo apt-get clean # clear the cache - sudo apt-get update - - set -x - wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 -qO - https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.gz | tar -xvzf - - mkdir -p ~/i - (cd autoconf-2.71; ./configure --prefix=$HOME/i; make; make install) - - case $HOST in - mips64el-linux-gnu | sparc64-linux-gnu) - ;; - alpha-linux-gnu | arm32v7-linux-gnu | m68k-linux-gnu | sh4-linux-gnu) - sudo apt-get install qemu-user-static - ;; - hppa-linux-gnu ) - sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu - ;; - i386-pc-linux-gnu) - sudo apt-get install gcc-multilib g++-multilib; - ;; - moxie-elf) - echo 'deb [trusted=yes] https://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list - sudo apt-get clean # clear the cache - sudo apt-get update ## -qq - sudo apt-get update - sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gcc-c++ moxielogic-moxie-elf-gcc-libstdc++ moxielogic-moxie-elf-gdb-sim texinfo sharutils texlive dejagnu - ;; - x86_64-w64-mingw32) - sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 wine; - ;; - i686-w32-mingw32) - sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 wine; - ;; - esac - case $HOST in - arm32v7-linux-gnu) - # don't install host tools - ;; - *) - sudo apt-get install dejagnu texinfo sharutils - ;; - esac -fi diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/m32r-sim.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/m32r-sim.exp deleted file mode 100644 index c18123f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/m32r-sim.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 2010, 2019 Free Software Foundation, Inc. -# -# This file is part of DejaGnu. -# -# DejaGnu is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# DejaGnu is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with DejaGnu; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA. - -# This is a list of toolchains that are supported on this board. -set_board_info target_install {m32r-elf} - -# Load the generic configuration for this board. This will define a basic set -# of routines needed by the tool to communicate with the board. -load_generic_config "sim" - -# basic-sim.exp is a basic description for the standard Cygnus simulator. -load_base_board_description "basic-sim" - -# "m32r" is the name of the sim subdir in devo/sim. -setup_sim m32r - -# No multilib options needed by default. -process_multilib_options "" - -# We only support newlib on this target. We assume that all multilib -# options have been specified before we get here. - -set_board_info compiler "[find_gcc]" -set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" -set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" - -# Configuration settings for testsuites -set_board_info noargs 1 -set_board_info gdb,nosignals 1 -set_board_info gdb,noresults 1 -set_board_info gdb,cannot_call_functions 1 -set_board_info gdb,skip_float_tests 1 -set_board_info gdb,can_reverse 1 -set_board_info gdb,use_precord 1 - -# More time is needed -set_board_info gcc,timeout 800 -set_board_info gdb,timeout 60 - -# Used by a few gcc.c-torture testcases to delimit how large the stack can -# be. -set_board_info gcc,stack_size 5000 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/moxie-sim.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/moxie-sim.exp deleted file mode 100644 index 32979ea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/moxie-sim.exp +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (C) 2010 Free Software Foundation, Inc. -# -# This file is part of DejaGnu. -# -# DejaGnu is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# DejaGnu is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with DejaGnu; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA. - -# This is a list of toolchains that are supported on this board. -set_board_info target_install {moxie-elf} - -# Load the generic configuration for this board. This will define a basic set -# of routines needed by the tool to communicate with the board. -load_generic_config "sim" - -# basic-sim.exp is a basic description for the standard Cygnus simulator. -load_base_board_description "basic-sim" - -# "moxie" is the name of the sim subdir in devo/sim. -setup_sim moxie - -# No multilib options needed by default. -process_multilib_options "" - -# We only support newlib on this target. We assume that all multilib -# options have been specified before we get here. - -set_board_info compiler "[find_gcc]" -set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" -set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" -# No linker script needed. -set_board_info ldscript "-Tsim.ld" - -# Configuration settings for testsuites -set_board_info noargs 1 -set_board_info gdb,nosignals 1 -set_board_info gdb,noresults 1 -set_board_info gdb,cannot_call_functions 1 -set_board_info gdb,skip_float_tests 1 -set_board_info gdb,can_reverse 1 -set_board_info gdb,use_precord 1 - -# More time is needed -set_board_info gcc,timeout 800 -set_board_info gdb,timeout 60 - -# Used by a few gcc.c-torture testcases to delimit how large the stack can -# be. -set_board_info gcc,stack_size 5000 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/msvs-detect b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/msvs-detect deleted file mode 100755 index 601575c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/msvs-detect +++ /dev/null @@ -1,1103 +0,0 @@ -#!/usr/bin/env bash -# ################################################################################################ # -# MetaStack Solutions Ltd. # -# ################################################################################################ # -# Microsoft C Compiler Environment Detection Script # -# ################################################################################################ # -# Copyright (c) 2016, 2017, 2018, 2019, 2020 MetaStack Solutions Ltd. # -# ################################################################################################ # -# Author: David Allsopp # -# 16-Feb-2016 # -# ################################################################################################ # -# Redistribution and use in source and binary forms, with or without modification, are permitted # -# provided that the following two conditions are met: # -# 1. Redistributions of source code must retain the above copyright notice, this list of # -# conditions and the following disclaimer. # -# 2. Neither the name of MetaStack Solutions Ltd. nor the names of its contributors may be # -# used to endorse or promote products derived from this software without specific prior # -# written permission. # -# # -# This software is provided by the Copyright Holder 'as is' and any express or implied warranties # -# including, but not limited to, the implied warranties of merchantability and fitness for a # -# particular purpose are disclaimed. In no event shall the Copyright Holder be liable for any # -# direct, indirect, incidental, special, exemplary, or consequential damages (including, but not # -# limited to, procurement of substitute goods or services; loss of use, data, or profits; or # -# business interruption) however caused and on any theory of liability, whether in contract, # -# strict liability, or tort (including negligence or otherwise) arising in any way out of the use # -# of this software, even if advised of the possibility of such damage. # -# ################################################################################################ # - -VERSION=0.4.1 - -# debug [level=2] message -debug () -{ - if [[ -z ${2+x} ]] ; then - DEBUG_LEVEL=2 - else - DEBUG_LEVEL=$1 - shift - fi - - if [[ $DEBUG -ge $DEBUG_LEVEL ]] ; then - echo "$1">&2 - fi -} - -# warning message -warning () -{ - if [[ $DEBUG -gt 0 ]] ; then - echo "Warning: $1">&2 - fi -} - -# reg_string key value -# Retrieves a REG_SZ value from the registry (redirected on WOW64) -reg_string () -{ - reg query "$1" /v "$2" 2>/dev/null | tr -d '\r' | sed -ne "s/ *$2 *REG_SZ *//p" -} - -# reg64_string key value -# As reg_string, but without WOW64 redirection (i.e. guaranteed access to 64-bit registry) -reg64_string () -{ - $REG64 query "$1" /v "$2" 2>/dev/null | tr -d '\r' | sed -ne "s/ *$2 *REG_SZ *//p" -} - -# find_in list file -# Increments $RET if file does not exist in any of the directories in the *-separated list -find_in () -{ - debug 4 "Looking for $2 in $1" - if [[ -z $1 ]] ; then - STATUS=1 - else - IFS=* - STATUS=1 - for f in $1; do - if [[ -e "$f/$2" ]] ; then - STATUS=0 - break - fi - done - unset IFS - fi - if [[ $STATUS -eq 1 ]] ; then - debug 4 "$2 not found" - fi - ((RET+=STATUS)) -} - -# check_environment PATH INC LIB name arch -# By checking for the presence of various files, verifies that PATH, INC and LIB provide a complete -# compiler and indicates this in its return status. RET is assumed to be zero on entry. $ASSEMBLER -# will contain the name of assembler for this compiler series (ml.exe or ml64.exe). -# The following files are checked: -# cl.exe PATH Microsoft C compiler -# kernel32.lib LIB Implies Windows SDK present -# link.exe PATH Microsoft Linker -# ml[64].exe PATH Microsoft Assembler (ml.exe or ml64.exe) -# msvcrt.lib LIB Implies C Runtime Libraries present -# mt.exe PATH Microsoft Manifest Tool -# oldnames.lib LIB Implies C Runtime Libraries present -# rc.exe PATH Microsoft Resource Compiler (implies tools present) -# stdlib.h INC Implies Microsoft C Runtime Libraries present -# windows.h INC Implies Windows SDK present -# oldnames.lib is included, because certain SDKs and older versions don't correctly install the -# entire runtime if only some options (e.g. Dynamic Runtime and not Static) are selected. -check_environment () -{ - debug 4 "Checking $4 ($5)" - for tool in cl rc link ; do - find_in "$1" $tool.exe - done - - if [[ $RET -gt 0 ]] ; then - warning "Microsoft C Compiler tools not all found - $4 ($5) excluded" - return 1 - fi - - RET=0 - find_in "$2" windows.h - find_in "$3" kernel32.lib - if [[ $RET -gt 0 ]] ; then - warning "Windows SDK not all found - $4 ($5) excluded" - return 1 - fi - - RET=0 - find_in "$2" stdlib.h - find_in "$3" msvcrt.lib - find_in "$3" oldnames.lib - if [[ $RET -gt 0 ]] ; then - warning "Microsoft C runtime library not all found - $4 ($5) excluded" - return 1 - fi - - ASSEMBLER=ml${5#x} - ASSEMBLER=${ASSEMBLER%86}.exe - if [[ $ML_REQUIRED -eq 1 ]] ; then - RET=0 - find_in "$1" $ASSEMBLER - if [[ $RET -gt 0 ]] ; then - warning "Microsoft Assembler ($ASSEMBLER) not found - $4 ($5)" - return 1 - fi - fi - - if [[ $MT_REQUIRED -eq 1 ]] ; then - RET=0 - find_in "$1" mt.exe - if [[ $RET -gt 0 ]] ; then - warning "Microsoft Manifest Tool not found - $4 ($5)" - return 1 - fi - fi - - return 0 -} - -# output VAR value arch -# Outputs a command for setting VAR to value based on $OUTPUT. If $ENV_ARCH is arch, then an empty -# value (i.e. no change) is output. -output () -{ - if [[ $3 = $ENV_ARCH ]] ; then - VALUE= - else - VALUE=$2 - fi - case "$OUTPUT" in - 0) - echo "$1='${VALUE//\'/\'\"\'\"\'}'";; - 1) - VALUE=${VALUE//#/\\\#} - echo "$1=${VALUE//\$/\$\$}";; - esac -} - -# DEBUG Debugging level -# MODE Operation mode -# 0 - Normal -# 1 - --all -# 2 - --help -# 3 - --version -# OUTPUT --output option -# 0 - =shell -# 1 - =make -# MT_REQUIRED --with-mt -# ML_REQUIRED --with-assembler -# TARGET_ARCH Normalised --arch (x86, x64 or blank for both) -# LEFT_ARCH \ If $TARGET_ARCH is blank, these will be x86 and x64 respectively, otherwise they -# RIGHT_ARCH / equal $TARGET_ARCH -# SCAN_ENV Controls from parsing whether the environment should be queried for a compiler -DEBUG=0 -MODE=0 -OUTPUT=0 -MT_REQUIRED=0 -ML_REQUIRED=0 -TARGET_ARCH= -SCAN_ENV=0 - -# Various PATH messing around means it's sensible to know where tools are now -WHICH=$(which which) - -if [[ $(uname --operating-system 2>/dev/null) = "Msys" ]] ; then - # Prevent MSYS from translating command line switches to paths - SWITCH_PREFIX='//' -else - SWITCH_PREFIX='/' -fi - -# Parse command-line. At the moment, the short option which usefully combines with anything is -d, -# so for the time being, combining short options is not permitted, as the loop becomes even less -# clear with getopts. GNU getopt isn't installed by default on Cygwin... -if [[ $@ != "" ]] ; then - while true ; do - case "$1" in - # Mode settings ($MODE) - -a|--all) - MODE=1 - shift 1;; - -h|--help) - MODE=2 - shift;; - -v|--version) - MODE=3 - shift;; - - # Simple flags ($MT_REQUIRED and $ML_REQUIRED) - --with-mt) - MT_REQUIRED=1 - shift;; - --with-assembler) - ML_REQUIRED=1 - shift;; - - # -o, --output ($OUTPUT) - -o|--output) - case "$2" in - shell) - ;; - make) - OUTPUT=1;; - *) - echo "$0: unrecognised option for $1: '$2'">&2 - exit 2;; - esac - shift 2;; - -oshell|--output=shell) - shift;; - -omake|--output=make) - OUTPUT=1 - shift;; - -o*) - echo "$0: unrecognised option for -o: '${1#-o}'">&2 - exit 2;; - --output=*) - echo "$0: unrecognised option for --output: '${1#--output=}'">&2 - exit 2;; - - # -x, --arch ($TARGET_ARCH) - -x|--arch) - case "$2" in - 86|x86) - TARGET_ARCH=x86;; - 64|x64) - TARGET_ARCH=x64;; - *) - echo "$0: unrecognised option for $1: '$2'">&2 - exit 2 - esac - shift 2;; - -x86|-xx86|--arch=x86|--arch=86) - TARGET_ARCH=x86 - shift;; - -x64|-xx64|--arch=x64|--arch=64) - TARGET_ARCH=x64 - shift;; - -x*) - echo "$0: unrecognised option for -x: '${1#-x}'">&2 - exit 2;; - --arch=*) - echo "$0: unrecognised option for --arch: '${1#--arch}'">&2 - exit 2;; - - # -d, --debug ($DEBUG) - -d*) - DEBUG=${1#-d} - if [[ -z $DEBUG ]] ; then - DEBUG=1 - fi - shift;; - --debug=*) - DEBUG=${1#*=} - shift;; - --debug) - DEBUG=1 - shift;; - - # End of option marker - --) - shift - break;; - - # Invalid options - --*) - echo "$0: unrecognised option: '${1%%=*}'">&2 - exit 2;; - -*) - echo "$0: unrecognised option: '${1:1:1}'">&2 - exit 2;; - - # MSVS_PREFERENCE (without end-of-option marker) - *) - break;; - esac - done - - if [[ -n ${1+x} ]] ; then - if [[ $MODE -eq 1 ]] ; then - echo "$0: cannot specify MSVS_PREFERENCE and --all">&2 - exit 2 - else - MSVS_PREFERENCE="$@" - fi - fi -fi - -# Options sanitising -if [[ $MODE -eq 1 ]] ; then - if [[ -n $TARGET_ARCH ]] ; then - echo "$0: --all and --arch are mutually exclusive">&2 - exit 2 - fi - MSVS_PREFERENCE= - SCAN_ENV=1 -elif [[ -z ${MSVS_PREFERENCE+x} ]] ; then - MSVS_PREFERENCE='@;VS16.*;VS15.*;VS14.0;VS12.0;VS11.0;10.0;9.0;8.0;7.1;7.0' -fi - -MSVS_PREFERENCE=${MSVS_PREFERENCE//;/ } - -if [[ -z $TARGET_ARCH ]] ; then - LEFT_ARCH=x86 - RIGHT_ARCH=x64 -else - LEFT_ARCH=$TARGET_ARCH - RIGHT_ARCH=$TARGET_ARCH -fi - -# Command line parsing complete (MSVS_PREFERENCE pending) - -NAME="Microsoft C Compiler Environment Detection Script" -case $MODE in - 2) - echo "$NAME" - echo "Queries the environment and registry to locate Visual Studio / Windows SDK" - echo "installations and uses their initialisation scripts (SetEnv.cmd, vcvarsall.bat," - echo "etc.) to determine INCLUDE, LIB and PATH alterations." - echo - echo "Usage:" - echo " $0 [OPTIONS] [--] [MSVS_PREFERENCE]" - echo - echo "Options:" - echo " -a, --all Display all available compiler packages" - echo " -x, --arch=ARCH Only consider packages for ARCH (x86 or x64). Default is" - echo " to return packages containing both architectures" - echo " -d, --debug[=LEVEL] Set debug messages level" - echo " -h, --help Display this help screen" - echo " -o, --output=OUTPUT Set final output. Default is shell. Valid values:" - echo " shell - shell assignments, for use with eval" - echo " make - make assignments, for inclusion in a Makefile" - echo " -v, --version Display the version" - echo " --with-mt Only consider packages including the Manifest Tool" - echo " --with-assembler Only consider packages including an assembler" - echo - echo "If MSVS_PREFERENCE is not given, then the environment variable MSVS_PREFERENCE" - echo "is read. MSVS_PREFERENCE is a semicolon separated list of preferred versions." - echo "Three kinds of version notation are supported:" - echo " 1. @ - which refers to the C compiler found in PATH (if it can be identified)" - echo " (this allows the C compiler corresponding to the opposite architecture to" - echo " be selected, if possible)." - echo " 2. mm.n - which refers to a Visual Studio version (e.g. 14.0, 7.1) but which" - echo " also allows an SDK to provide the compiler (e.g. Windows SDK 7.1 provides" - echo " 10.0). Visual Studio packages are always preferred ahead of SDKs." - echo " 3. SPEC - an actual package specification. Visual Studio packages are VSmm.n" - echo " (e.g. VS14.0, VS7.1) and SDK packages are SDKm.n (e.g. SDK7.1)." - echo " Any Visual Studio 2017 update can be selected with VS15.*" - echo "The default behaviour is to match the environment compiler followed by the most" - echo "recent version of the compiler." - exit 0;; - 3) - echo "$NAME" - echo "Version $VERSION" - exit 0;; -esac - -# Known compiler packages. Visual Studio .NET 2002 onwards. Detection is in place for Visual Studio -# 2005 Express, but because it doesn't include a Windows SDK, it can only ever be detected if the -# script has been launched from within a Platform SDK command prompt (this provides the Windows -# Headers and Libraries which allows this script to detect the rest). -# Each element is either a Visual Studio or SDK package and the value is the syntax for a bash -# associative array to be eval'd. Each of these contains the following properties: -# NAME - the friendly name of the package -# ENV - (VS only) the version-specific portion of the VSCOMNTOOLS environment variable -# VERSION - (VS only) version number of the package -# ARCH - Lists the architectures available in this version -# ARCH_SWITCHES - The script is assumed to accept x86 and x64 to indicate architecture. This key -# contains another eval'd associative array allowing alternate values to be given -# SETENV_RELEASE - (SDK only) script switch necessary to select release than debugging versions -# EXPRESS - (VS only) the prefix to the registry key to detect the Express edition -# EXPRESS_ARCH - (VS only) overrides ARCH if Express edition is detected -# EXPRESS_ARCH_SWITCHES - (VS only) overrides ARCH_SWITCHES if Express edition is detected -# VC_VER - (SDK only) specifies the version of the C Compilers included in the SDK (SDK -# equivalent of the VERSION key) -# REG_KEY - (SDK only) registry key to open to identify this package installation -# REG_VALUE - (SDK only) registry value to query to identify this package installation -# VSWHERE - (VS 2017+) is 1 if the compiler can only be detected using vswhere -# For a while, Windows SDKs followed a standard pattern which is stored in the SDK element and -# copied to the appropriate version. SDKs after 7.1 do not include compilers, and so are not -# captured (as of Visual Studio 2015, the Windows SDK is official part of Visual Studio). -declare -A COMPILERS -SDK52_KEY='HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3' -COMPILERS=( - ["VS7.0"]='( - ["NAME"]="Visual Studio .NET 2002" - ["ENV"]="" - ["VERSION"]="7.0" - ["ARCH"]="x86")' - ["VS7.1"]='( - ["NAME"]="Visual Studio .NET 2003" - ["ENV"]="71" - ["VERSION"]="7.1" - ["ARCH"]="x86")' - ["VS8.0"]='( - ["NAME"]="Visual Studio 2005" - ["ENV"]="80" - ["VERSION"]="8.0" - ["EXPRESS"]="VC" - ["ARCH"]="x86 x64" - ["EXPRESS_ARCH"]="x86")' - ["VS9.0"]='( - ["NAME"]="Visual Studio 2008" - ["ENV"]="90" - ["VERSION"]="9.0" - ["EXPRESS"]="VC" - ["ARCH"]="x86 x64" - ["EXPRESS_ARCH"]="x86")' - ["VS10.0"]='( - ["NAME"]="Visual Studio 2010" - ["ENV"]="100" - ["VERSION"]="10.0" - ["EXPRESS"]="VC" - ["ARCH"]="x86 x64" - ["EXPRESS_ARCH"]="x86")' - ["VS11.0"]='( - ["NAME"]="Visual Studio 2012" - ["ENV"]="110" - ["VERSION"]="11.0" - ["EXPRESS"]="WD" - ["ARCH"]="x86 x64" - ["EXPRESS_ARCH_SWITCHES"]="([\"x64\"]=\"x86_amd64\")")' - ["VS12.0"]='( - ["NAME"]="Visual Studio 2013" - ["ENV"]="120" - ["VERSION"]="12.0" - ["EXPRESS"]="WD" - ["ARCH"]="x86 x64" - ["EXPRESS_ARCH_SWITCHES"]="([\"x64\"]=\"x86_amd64\")")' - ["VS14.0"]='( - ["NAME"]="Visual Studio 2015" - ["ENV"]="140" - ["VERSION"]="14.0" - ["ARCH"]="x86 x64")' - ["VS15.*"]='( - ["NAME"]="Visual Studio 2017" - ["VSWHERE"]="1")' - ["VS16.*"]='( - ["NAME"]="Visual Studio 2019" - ["VSWHERE"]="1")' - ["SDK5.2"]='( - ["NAME"]="Windows Server 2003 SP1 SDK" - ["VC_VER"]="8.0" - ["REG_KEY"]="$SDK52_KEY" - ["REG_VALUE"]="Install Dir" - ["SETENV_RELEASE"]="/RETAIL" - ["ARCH"]="x64" - ["ARCH_SWITCHES"]="([\"x64\"]=\"/X64\")")' - ["SDK"]='( - ["NAME"]="Generalised Windows SDK" - ["SETENV_RELEASE"]="/Release" - ["ARCH"]="x86 x64" - ["ARCH_SWITCHES"]="([\"x86\"]=\"/x86\" [\"x64\"]=\"/x64\")")' - ["SDK6.1"]='( - ["NAME"]="Windows Server 2008 with .NET 3.5 SDK" - ["VC_VER"]="9.0")' - ["SDK7.0"]='( - ["NAME"]="Windows 7 with .NET 3.5 SP1 SDK" - ["VC_VER"]="9.0")' - ["SDK7.1"]='( - ["NAME"]="Windows 7 with .NET 4 SDK" - ["VC_VER"]="10.0")' -) - -# FOUND is ultimately an associative array containing installed compiler packages. It's -# hijacked here as part of MSVS_PREFERENCE validation. -# Ultimately, it contains a copy of the value from COMPILERS with the following extra keys: -# IS_EXPRESS - (VS only) indicates whether the Express edition was located -# SETENV - (SDK only) the full location of the SetEnv.cmd script -# ASSEMBLER - the name of the assembler (ml or ml64) -# MSVS_PATH \ -# MSVS_INC > prefix values for PATH, INCLUDE and LIB determined by running the scripts. -# MSVS_LIB / -declare -A FOUND - -# Check that MSVS_PREFERENCE is valid and contains no repetitions. -for v in $MSVS_PREFERENCE ; do - if [[ -n ${FOUND[$v]+x} ]] ; then - echo "$0: corrupt MSVS_PREFERENCE: repeated '$v'">&2 - exit 2 - fi - if [[ $v != "@" ]] ; then - if [[ -z ${COMPILERS[$v]+x} && -z ${COMPILERS["VS$v"]+x} && -z ${COMPILERS[${v%.*}.*]+x} ]] ; then - echo "$0: corrupt MSVS_PREFERENCE: unknown compiler '$v'">&2 - exit 2 - fi - else - SCAN_ENV=1 - fi - FOUND["$v"]="" -done - -# Reset FOUND for later use. -FOUND=() - -# Scan the environment for a C compiler, and check that it's valid. Throughout the rest of the -# script, it is assumed that if ENV_ARCH is set then there is a valid environment compiler. -if [[ $SCAN_ENV -eq 1 ]] ; then - if "$WHICH" cl >/dev/null 2>&1 ; then - # Determine its architecture from the Microsoft Logo line. - ENV_ARCH=$(cl 2>&1 | head -1 | tr -d '\r') - case "${ENV_ARCH#* for }" in - x64|AMD64) - ENV_ARCH=x64;; - 80x86|x86) - ENV_ARCH=x86;; - *) - echo "Unable to identify C compiler architecture from '${ENV_ARCH#* for }'">&2 - echo "Environment C compiler discarded">&2 - unset ENV_ARCH;; - esac - - # Environment variable names are a bit of a nightmare on Windows - they are actually case - # sensitive (at the kernel level) but not at the user level! To compound the misery is that SDKs - # use Include and Lib where vcvars32 tends to use INCLUDE and LIB. Windows versions also contain - # a mix of Path and PATH, but fortunately Cygwin normalises that to PATH for us! For this - # reason, use env to determine the actual case of the LIB and INCLUDE variables. - if [[ -n ${ENV_ARCH+x} ]] ; then - RET=0 - ENV_INC=$(env | sed -ne 's/^\(INCLUDE\)=.*/\1/pi') - ENV_LIB=$(env | sed -ne 's/^\(LIB\)=.*/\1/pi') - if [[ -z $ENV_INC || -z $ENV_LIB ]] ; then - warning "Microsoft C Compiler Include and/or Lib not set - Environment C compiler ($ENV_ARCH) excluded" - unset ENV_ARCH - else - if check_environment "${PATH//:/*}" \ - "${!ENV_INC//;/*}" \ - "${!ENV_LIB//;/*}" \ - "Environment C compiler" \ - "$ENV_ARCH" ; then - ENV_CL=$("$WHICH" cl) - ENV_cl=${ENV_CL,,} - ENV_cl=${ENV_cl/bin\/*_/bin\/} - debug "Environment appears to include a compiler at $ENV_CL" - if [[ -n $TARGET_ARCH && $TARGET_ARCH != $ENV_ARCH ]] ; then - debug "But architecture doesn't match required value" - unset ENV_ARCH - fi - else - unset ENV_ARCH - fi - fi - fi - fi -fi - -# Even if launched from a 64-bit Command Prompt, Cygwin is usually 32-bit and so the scripts -# executed will inherit that fact. This is a problem when querying the registry, but fortunately -# WOW64 provides a mechanism to break out of the 32-bit environment by mapping $WINDIR/sysnative to -# the real 64-bit programs. -# Thus: -# MS_ROOT is the 32-bit Microsoft Registry key (all Visual Studio keys are located there) -# REG64 is the processor native version of the reg utility (allowing 64-bit keys to be read for -# the SDKs) -if [[ -n ${PROCESSOR_ARCHITEW6432+x} ]] ; then - debug "WOW64 detected" - MS_ROOT='HKLM\SOFTWARE\Microsoft' - REG64=$WINDIR/sysnative/reg -else - MS_ROOT='HKLM\SOFTWARE\Wow6432Node\Microsoft' - REG64=reg -fi - -# COMPILER contains each eval'd element from COMPILERS -declare -A COMPILER - -# Scan the registry for compiler package (vswhere is later) -for i in "${!COMPILERS[@]}" ; do - eval COMPILER=${COMPILERS[$i]} - - if [[ -n ${COMPILER["ENV"]+x} ]] ; then - # Visual Studio package - test for its environment variable - ENV=VS${COMPILER["ENV"]}COMNTOOLS - if [[ -n ${!ENV+x} ]] ; then - debug "$ENV is a candidate" - TEST_PATH=${!ENV%\"} - TEST_PATH=$(cygpath -u -f - <<< ${TEST_PATH#\"}) - if [[ -e $TEST_PATH/vsvars32.bat ]] ; then - debug "Directory pointed to by $ENV contains vsvars32.bat" - EXPRESS=0 - # Check for the primary Visual Studio registry value indicating installation - INSTALL_DIR=$(reg_string "$MS_ROOT\\VisualStudio\\${COMPILER["VERSION"]}" InstallDir) - if [[ -z $INSTALL_DIR ]] ; then - if [[ -n ${COMPILER["EXPRESS"]+x} ]] ; then - TEST_KEY="$MS_ROOT\\${COMPILER["EXPRESS"]}Express\\${COMPILER["VERSION"]}" - INSTALL_DIR=$(reg_string "$TEST_KEY" InstallDir) - # Exception for Visual Studio 2005 Express, which doesn't set the registry correctly, so - # set INSTALL_DIR to a fake value to pass the next test. - if [[ ${COMPILER["VERSION"]} = "8.0" ]] ; then - INSTALL_DIR=$(cygpath -w "$TEST_PATH") - EXPRESS=1 - else - if [[ -z $INSTALL_DIR ]] ; then - warning "vsvars32.bat found, but registry value not located (Exp or Pro)" - else - EXPRESS=1 - fi - fi - else - warning "vsvars32.bat found, but registry value not located" - fi - fi - - if [[ -n $INSTALL_DIR ]] ; then - if [[ ${TEST_PATH%/} = $(cygpath -u "$INSTALL_DIR\\..\\Tools") ]] ; then - RESULT=${COMPILERS[$i]%)} - DISPLAY=${COMPILER["NAME"]} - if [[ $EXPRESS -eq 1 ]] ; then - DISPLAY="$DISPLAY Express" - fi - FOUND+=(["$i"]="$RESULT [\"DISPLAY\"]=\"$DISPLAY\" [\"IS_EXPRESS\"]=\"$EXPRESS\")") - debug "${COMPILER["NAME"]} accepted for further detection" - else - warning "$ENV doesn't agree with registry" - fi - else - warning "vsvars32.bat found, but registry settings not found" - fi - else - warning "$ENV set, but vsvars32.bat not found" - fi - fi - elif [[ -n ${COMPILER["REG_KEY"]+x} ]] ; then - # SDK with explicit registry detection value - INSTALL_DIR=$(reg64_string "${COMPILER["REG_KEY"]}" "${COMPILER["REG_VALUE"]}") - if [[ -n $INSTALL_DIR ]] ; then - TEST_PATH=$(cygpath -u "$INSTALL_DIR") - if [[ -e $TEST_PATH/SetEnv.cmd ]] ; then - RESULT=${COMPILERS[$i]%)} - FOUND+=(["$i"]="$RESULT [\"DISPLAY\"]=\"${COMPILER["NAME"]}\" [\"SETENV\"]=\"$INSTALL_DIR\\SetEnv.cmd\")") - debug "${COMPILER["NAME"]} accepted for further detection" - else - warning "Registry set for Windows Server 2003 SDK, but SetEnv.cmd not found" - fi - fi - fi -done - -# Now enumerate installed SDKs for v6.0+ -SDK_ROOT='HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows' -for i in $(reg query "$SDK_ROOT" 2>/dev/null | tr -d '\r' | sed -ne '/Windows\\v/s/.*\\//p') ; do - debug "Analysing SDK key $SDK_ROOT\\$i" - INSTALL_DIR=$(reg_string "$SDK_ROOT\\$i" InstallationFolder) - if [[ -n $INSTALL_DIR ]] ; then - TEST_PATH=$(cygpath -u "$INSTALL_DIR") - if [[ -e $TEST_PATH/Bin/SetEnv.cmd ]] ; then - if [[ -z ${COMPILERS["SDK${i#v}"]+x} ]] ; then - warning "SDK $i is not known to this script - assuming compatibility" - DISPLAY="Windows SDK $i" - else - eval COMPILER=${COMPILERS["SDK${i#v}"]} - DISPLAY=${COMPILER['NAME']} - fi - RESULT=${COMPILERS['SDK']%)} - FOUND+=(["SDK${i/v/}"]="$RESULT [\"DISPLAY\"]=\"$DISPLAY\" [\"SETENV\"]=\"$INSTALL_DIR\\Bin\\SetEnv.cmd\")") - else - if [[ -n ${COMPILERS["SDK${i#v}"]+x} ]] ; then - warning "Registry set for Windows SDK $i, but SetEnv.cmd not found" - fi - fi - else - warning "Registry key for Windows SDK $i doesn't contain expected InstallationFolder value" - fi -done - -# Now enumerate Visual Studio 2017+ instances -VSWHERE=$(dirname $(realpath $0))/vswhere.exe -if [[ ! -x $VSWHERE ]] ; then - VSWHERE="$(printenv 'ProgramFiles(x86)')\\Microsoft Visual Studio\\Installer\\vswhere.exe" - VSWHERE=$(echo $VSWHERE| cygpath -f -) -fi -if [[ -x $VSWHERE ]] ; then - debug "$VSWHERE found" - while IFS= read -r line; do - case ${line%: *} in - instanceId) - INSTANCE=${line#*: };; - installationPath) - INSTANCE_PATH=${line#*: };; - installationVersion) - INSTANCE_VER=${line#*: } - INSTANCE_VER=${INSTANCE_VER%.*} - INSTANCE_VER=${INSTANCE_VER%.*};; - displayName) - INSTANCE_NAME=${line#*: } - debug "Looking at $INSTANCE in $INSTANCE_PATH ($INSTANCE_VER $INSTANCE_NAME)" - if [[ -e "$(echo $INSTANCE_PATH| cygpath -f -)/VC/Auxiliary/Build/vcvarsall.bat" ]] ; then - debug "vcvarsall.bat found" - FOUND+=(["VS$INSTANCE_VER"]="([\"DISPLAY\"]=\"$INSTANCE_NAME\" [\"ARCH\"]=\"x86 x64\" [\"SETENV\"]=\"$INSTANCE_PATH\\VC\\Auxiliary\\Build\\vcvarsall.bat\" [\"SETENV_RELEASE\"]=\"\")") - else - warning "vcvarsall.bat not found for $INSTANCE" - fi;; - esac - done < <("$VSWHERE" -all -nologo | tr -d '\r') -fi - -if [[ $DEBUG -gt 1 ]] ; then - for i in "${!FOUND[@]}" ; do - echo "Inspect $i">&2 - done -fi - -# Basic scanning is complete, now interrogate the packages which seem to be installed and ensure -# that they pass the check_environment tests. - -# CANDIDATES is a hash table of the keys of FOUND. The result of the next piece of processing is to -# derive two arrays PREFERENCE and TEST. TEST will contain a list of the keys of FOUND in the order -# in which they should be evaluated. PREFERENCE contains a parsed version of MSVS_PREFERENCE but -# filtered on the basis of the compiler packages already identified. The current "hoped for" -# preference is stored in $pref (the index into PREFERENCE) and $PREF (which is -# ${PREFERENCE[$pref]}). These two arrays together allow testing to complete quickly if the desired -# version is found (note that often this won't be possible as the @ environment option requires all -# packages to be tested in order to be sure that the environment compiler is not ambiguous). -declare -A CANDIDATES -for i in "${!FOUND[@]}" ; do - CANDIDATES[$i]=""; -done - -# For --all, act as though MSVS_PREFERENCE were "@" because this causes all packages to be tested. -if [[ $MODE -eq 1 ]] ; then - PREFER_ENV=1 - PREFERENCE=("@") -else - PREFER_ENV=0 - PREFERENCE=() -fi - -TEST=() -for i in $MSVS_PREFERENCE ; do - if [[ $i = "@" ]] ; then - if [[ -n ${ENV_ARCH+x} ]] ; then - PREFERENCE+=("@") - PREFER_ENV=1 - else - debug "Preference @ ignored since no environment compiler selected" - fi - else - if [[ -n ${COMPILERS[$i]+x} || -n ${COMPILERS[${i%.*}.*]+x} ]] ; then - if [[ -n ${CANDIDATES[$i]+x} ]] ; then - unset CANDIDATES[$i] - TEST+=($i) - PREFERENCE+=($i) - elif [[ ${i#*.} = "*" ]] ; then - INSTANCES= - for j in "${!CANDIDATES[@]}" ; do - if [[ "${j%.*}.*" = $i ]] ; then - unset CANDIDATES[$j] - INSTANCES="$INSTANCES $j" - fi - done - INSTANCES="$(sort -r <<< "${INSTANCES// /$'\n'}")" - eval TEST+=($INSTANCES) - eval PREFERENCE+=($INSTANCES) - fi - else - if [[ -n ${CANDIDATES["VS$i"]+x} ]] ; then - unset CANDIDATES["VS$i"] - TEST+=("VS$i") - PREFERENCE+=("VS$i") - fi - SDKS= - for j in "${!COMPILERS[@]}" ; do - eval COMPILER=${COMPILERS[$j]} - if [[ -n ${COMPILER["VC_VER"]+x} ]] ; then - if [[ $i = ${COMPILER["VC_VER"]} && -n ${CANDIDATES[$j]+x} ]] ; then - unset CANDIDATES[$j] - SDKS="$j $SDKS" - fi - fi - done - SDKS=${SDKS% } - SDKS="$(sort -r <<< "${SDKS// /$'\n'}")" - SDKS=${SDKS//$'\n'/ } - eval TEST+=($SDKS) - eval PREFERENCE+=($SDKS) - fi - fi -done - -# If MSVS_PREFERENCE includes @, add any remaining items from CANDIDATES to TEST, otherwise remove -# them from FOUND so that they don't accidentally get reported on later. -for i in "${!CANDIDATES[@]}" ; do - if [[ $PREFER_ENV -eq 1 ]] ; then - TEST+=($i) - else - unset FOUND[$i] - fi -done - -# Initialise pref and PREF to ${PREFERENCE[0]} -pref=0 -PREF=${PREFERENCE[0]} - -if [[ $DEBUG -gt 1 ]] ; then - for i in "${!TEST[@]}" ; do - echo "Test ${TEST[$i]}">&2 - done -fi - - -# Now run each compiler's environment script and then test whether it is suitable. During this loop, -# attempt to identify the environment C compiler (if one was found). The environment C compiler is -# strongly identified if the full location of cl matches the one in PATH and both LIB and INCLUDE -# contain the strings returned by the script in an otherwise empty environment (if one or both of -# the LIB and INCLUDE variables do not contain the string returned, then the compiler is weakly -# identified). If the environment compiler is strongly identified by more than one package, then it -# is not identified at all; if it is strongly identified by no packages but weakly identified by -# exactly 1, then we grudgingly accept that that's probably the one. -ENV_COMPILER= -WEAK_ENV= - -# ARCHINFO contains the appropriate ARCH_SWITCHES associative array for each compiler. -declare -A ARCHINFO - -for i in "${TEST[@]}" ; do - CURRENT=${FOUND[$i]} - eval COMPILER=$CURRENT - # At the end of this process, the keys of FOUND will be augmented with the architecture found in - # each case (so if "VS14.0" was in FOUND from the scan and both the x86 and x64 compilers are - # valid, then at the end of this loop FOUND will contain "VS14.0-x86" and "VS14.0-x64"). - unset FOUND[$i] - - if [[ ${COMPILER["IS_EXPRESS"]}0 -gt 0 && -n ${COMPILER["EXPRESS_ARCH_SWITCHES"]+x} ]] ; then - eval ARCHINFO=${COMPILER["EXPRESS_ARCH_SWITCHES"]} - elif [[ -n ${COMPILER["ARCH_SWITCHES"]+x} ]] ; then - eval ARCHINFO=${COMPILER["ARCH_SWITCHES"]} - else - ARCHINFO=() - fi - - # Determine the script to be executed and any non-architecture specific switches needed. - # $ENV is will contain the value of the environment variable for the compiler (empty for an SDK) - # which is required for Visual Studio 7.x shim later. - if [[ -n ${COMPILER["ENV"]+x} ]] ; then - ENV=VS${COMPILER["ENV"]}COMNTOOLS - ENV=${!ENV%\"} - ENV=${ENV#\"} - if [[ ${COMPILER["ENV"]}0 -ge 800 ]] ; then - SCRIPT="$(cygpath -d -f - <<< $ENV)\\..\\..\\VC\\vcvarsall.bat" - SCRIPT_SWITCHES= - else - SCRIPT="$(cygpath -d -f - <<< $ENV)\\vsvars32.bat" - SCRIPT_SWITCHES= - fi - else - ENV= - SCRIPT=${COMPILER["SETENV"]} - SCRIPT_SWITCHES=${COMPILER["SETENV_RELEASE"]} - fi - # For reasons of escaping, the script is executed using its basename so the directory needs - # prepending to PATH. - DIR=$(dirname "$SCRIPT" | cygpath -u -f -) - - if [[ ${COMPILER["IS_EXPRESS"]} -gt 0 && -n ${COMPILER["EXPRESS_ARCH"]+x} ]] ; then - ARCHS=${COMPILER["EXPRESS_ARCH"]} - else - ARCHS=${COMPILER["ARCH"]} - fi - - for arch in $ARCHS ; do - # Determine the command line switch for this architecture - if [[ -n ${ARCHINFO[$arch]+x} ]] ; then - ARCH_SWITCHES=${ARCHINFO[$arch]} - else - ARCH_SWITCHES=$arch - fi - - # Run the script in order to determine changes made to PATH, INCLUDE and LIB. These scripts - # always prepend changes to the environment variables. - MSVS_PATH= - MSVS_LIB= - MSVS_INC= - - COMMAND='%EXEC_SCRIPT% && echo XMARKER && echo !PATH! && echo !LIB! && echo !INCLUDE!' - - # Note that EXEC_SCRIPT must have ARCH_SWITCHES first for older Platform SDKs (newer ones parse - # arguments properly) - if [[ $DEBUG -gt 3 ]] ; then - printf "Scanning %s... " "$(basename "$SCRIPT") $ARCH_SWITCHES $SCRIPT_SWITCHES">&2 - fi - num=0 - while IFS= read -r line; do - case $num in - 0) - MSVS_PATH=${line%% };; - 1) - MSVS_LIB=${line%% };; - 2) - MSVS_INC=${line%% };; - esac - ((num++)) - done < <(INCLUDE='' LIB='' PATH="?msvs-detect?:$DIR:$PATH" ORIGINALPATH='' \ - EXEC_SCRIPT="$(basename "$SCRIPT") $ARCH_SWITCHES $SCRIPT_SWITCHES" \ - $(cygpath "$COMSPEC") ${SWITCH_PREFIX}v:on ${SWITCH_PREFIX}c $COMMAND 2>/dev/null | grep -F XMARKER -A 3 | tr -d '\015' | tail -3) - if [[ $DEBUG -gt 3 ]] ; then - echo done>&2 - fi - - if [[ -n $MSVS_PATH ]] ; then - # Translate MSVS_PATH back to Cygwin notation (/cygdrive, etc. and colon-separated) - MSVS_PATH=$(cygpath "$MSVS_PATH" -p) - # Remove any trailing / from elements of MSVS_PATH - MSVS_PATH=$(echo "$MSVS_PATH" | sed -e 's|\([^:]\)/\+\(:\|$\)|\1\2|g;s/?msvs-detect?.*//') - # Guarantee that MSVS_PATH ends with a single : - MSVS_PATH="${MSVS_PATH%%:}:" - fi - # Ensure that both variables end with a semi-colon (it doesn't matter if for some erroneous - # reason they have come back blank, because check_environment will shortly fail) - MSVS_LIB="${MSVS_LIB%%;};" - MSVS_INC="${MSVS_INC%%;};" - - # Visual Studio .NET 2002 and 2003 do not include mt in PATH, for not entirely clear reasons. - # This shim detects that scenario and adds the winnt folder to MSVS_PATH. - RET=0 - if [[ ${i/.*/} = "VS7" ]] ; then - find_in "${MSVS_PATH//:/*}" mt.exe - if [[ $RET -eq 1 ]] ; then - MSVS_PATH="$MSVS_PATH$(cygpath -u -f - <<< $ENV\\Bin\\winnt):" - RET=0 - fi - fi - - # Ensure that these derived values give a valid compiler. - if check_environment "${MSVS_PATH//:/*}" "${MSVS_INC//;/*}" "${MSVS_LIB//;/*}" "$i" $arch ; then - # Put the package back into FOUND, but augmented with the architecture name and with the - # derived values. - FOUND["$i-$arch"]="${CURRENT%)} [\"MSVS_PATH\"]=\"$MSVS_PATH\" \ - [\"MSVS_INC\"]=\"$MSVS_INC\" \ - [\"MSVS_LIB\"]=\"$MSVS_LIB\" \ - [\"ASSEMBLER\"]=\"$ASSEMBLER\")" #"# fixes vim syn match error - - # Check to see if this is a match for the environment C compiler. - if [[ -n ${ENV_ARCH+x} ]] ; then - TEST_cl=$(PATH="$MSVS_PATH:$PATH" "$WHICH" cl) - TEST_cl=${TEST_cl,,} - TEST_cl=${TEST_cl/bin\/*_/bin\/} - if [[ $TEST_cl = $ENV_cl ]] ; then - if [[ ${!ENV_INC/"$MSVS_INC"/} != "${!ENV_INC}" && \ - ${!ENV_LIB/"$MSVS_LIB"/} != "${!ENV_LIB}" ]] ; then - debug "$i-$arch is a strong candidate for the Environment C compiler" - if [[ -n ${ENV_COMPILER+x} ]] ; then - if [[ -z ${ENV_COMPILER} ]] ; then - ENV_COMPILER=$i-$arch - unset WEAK_ENV - else - # More than one strong candidate - no fall back available - unset ENV_COMPILER - unset WEAK_ENV - fi - fi - else - debug "$i-$arch is a weak candidate for the Environment C compiler" - if [[ -n ${WEAK_ENV+x} ]] ; then - if [[ -z ${WEAK_ENV} ]] ; then - WEAK_ENV=$i-$arch - else - # More than one weak candidate - no fall back available - unset WEAK_ENV - fi - fi - fi - fi - fi - fi - done - - # Does this package match the current preference? Note that PREFERENCE and TEST are constructed in - # a cunning (and hopefully not too "You are not expected to understand this" way) such that $PREF - # will always equal $i, unless $PREF = "@". - if [[ $PREF = $i ]] ; then - # In which case, check that the architecture(s)s were found - if [[ -n ${FOUND["$i-$LEFT_ARCH"]+x} && -n ${FOUND["$i-$RIGHT_ARCH"]+x} ]] ; then - debug "Solved TARGET_ARCH=$TARGET_ARCH with $i" - SOLUTION=$i - break - fi - fi - - if [[ $PREF != "@" ]] ; then - ((pref++)) - PREF=${PREFERENCE[$pref]} - fi -done - -# If we got this far, then either we failed to find a compiler at all, or we were looking for the -# environment compiler (or --all was specified). - -# Adopt a weak match for the environment compiler, if that's the best we can do. -if [[ -n ${ENV_COMPILER+x} && -z ${ENV_COMPILER} && -n ${WEAK_ENV} ]] ; then - warning "Assuming Environment C compiler is $WEAK_ENV" - ENV_COMPILER=$WEAK_ENV -fi - -declare -A FLIP -FLIP=(["x86"]="x64" ["x64"]="x86") - -if [[ $MODE -eq 0 ]] ; then - if [[ $PREF = "@" && -n ${ENV_COMPILER} ]] ; then - SOLUTION=${ENV_COMPILER%-$ENV_ARCH} - # If --arch wasn't specified, then ensure that the other architecture was also found. If --arch - # was specified, then validate that the compiler was valid. This should always happen, unless - # something went wrong running the script to get MSVS_PATH, MSVS_LIB and MSVS_INC. - if [[ -n ${FOUND["$SOLUTION-${FLIP[$ENV_ARCH]}"]+x} || - -n ${FOUND["$SOLUTION-$TARGET_ARCH"]+x} ]] ; then - debug "Solved with $SOLUTION" - else - unset SOLUTION - unset ENV_ARCH - fi - fi - - if [[ -z ${SOLUTION+x} ]] ; then - ((pref++)) - debug "Search remaining: ${PREFERENCE[*]}" - TEST_ARCH=$TARGET_ARCH - for i in "${PREFERENCE[@]:$pref}" ; do - if [[ -n ${FOUND["$i-$LEFT_ARCH"]+x} && -n ${FOUND["$i-$RIGHT_ARCH"]+x} ]] ; then - debug "Solved TARGET_ARCH='$TARGET_ARCH' with $i" - SOLUTION=$i - break - fi - done - fi -fi - -debug "Solution: $SOLUTION" - -if [[ -n ${ENV_COMPILER} && $MODE -eq 1 ]] ; then - echo "Identified Environment C compiler as $ENV_COMPILER" -fi - -if [[ $MODE -eq 1 ]] ; then - echo "Installed and usable packages:" - for i in "${!FOUND[@]}" ; do - echo " $i" - done | sort - exit 0 -fi - -if [[ -n $SOLUTION ]] ; then - eval COMPILER=${FOUND[$SOLUTION-$LEFT_ARCH]} - output MSVS_NAME "${COMPILER["DISPLAY"]}" $LEFT_ARCH - output MSVS_PATH "${COMPILER["MSVS_PATH"]}" $LEFT_ARCH - output MSVS_INC "${COMPILER["MSVS_INC"]}" $LEFT_ARCH - output MSVS_LIB "${COMPILER["MSVS_LIB"]}" $LEFT_ARCH - if [[ $ML_REQUIRED -eq 1 ]] ; then - output MSVS_ML "${COMPILER["ASSEMBLER"]%.exe}" always - fi - if [[ -z $TARGET_ARCH ]] ; then - eval COMPILER=${FOUND[$SOLUTION-$RIGHT_ARCH]} - output MSVS64_PATH "${COMPILER["MSVS_PATH"]}" $RIGHT_ARCH - output MSVS64_INC "${COMPILER["MSVS_INC"]}" $RIGHT_ARCH - output MSVS64_LIB "${COMPILER["MSVS_LIB"]}" $RIGHT_ARCH - if [[ $ML_REQUIRED -eq 1 ]] ; then - output MSVS64_ML "${COMPILER["ASSEMBLER"]%.exe}" always - fi - fi - exit 0 -else - exit 1 -fi diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/or1k-sim.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/or1k-sim.exp deleted file mode 100644 index 3920413..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/or1k-sim.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 2010, 2019 Free Software Foundation, Inc. -# -# This file is part of DejaGnu. -# -# DejaGnu is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# DejaGnu is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with DejaGnu; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA. - -# This is a list of toolchains that are supported on this board. -set_board_info target_install {or1k-elf} - -# Load the generic configuration for this board. This will define a basic set -# of routines needed by the tool to communicate with the board. -load_generic_config "sim" - -# basic-sim.exp is a basic description for the standard Cygnus simulator. -load_base_board_description "basic-sim" - -# "or1k" is the name of the sim subdir in devo/sim. -setup_sim or1k - -# No multilib options needed by default. -process_multilib_options "" - -# We only support newlib on this target. We assume that all multilib -# options have been specified before we get here. - -set_board_info compiler "[find_gcc]" -set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" -set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" - -# Configuration settings for testsuites -set_board_info noargs 1 -set_board_info gdb,nosignals 1 -set_board_info gdb,noresults 1 -set_board_info gdb,cannot_call_functions 1 -set_board_info gdb,skip_float_tests 1 -set_board_info gdb,can_reverse 1 -set_board_info gdb,use_precord 1 - -# More time is needed -set_board_info gcc,timeout 800 -set_board_info gdb,timeout 60 - -# Used by a few gcc.c-torture testcases to delimit how large the stack can -# be. -set_board_info gcc,stack_size 5000 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp deleted file mode 100644 index 285fd4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 2010, 2019 Free Software Foundation, Inc. -# -# This file is part of DejaGnu. -# -# DejaGnu is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# DejaGnu is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with DejaGnu; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA. - -# This is a list of toolchains that are supported on this board. -set_board_info target_install {powerpc-eabisim} - -# Load the generic configuration for this board. This will define a basic set -# of routines needed by the tool to communicate with the board. -load_generic_config "sim" - -# basic-sim.exp is a basic description for the standard Cygnus simulator. -load_base_board_description "basic-sim" - -# "powerpc" is the name of the sim subdir in devo/sim. -setup_sim powerpc - -# No multilib options needed by default. -process_multilib_options "" - -# We only support newlib on this target. We assume that all multilib -# options have been specified before we get here. - -set_board_info compiler "[find_gcc]" -set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" -set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" - -# Configuration settings for testsuites -set_board_info noargs 1 -set_board_info gdb,nosignals 1 -set_board_info gdb,noresults 1 -set_board_info gdb,cannot_call_functions 1 -set_board_info gdb,skip_float_tests 1 -set_board_info gdb,can_reverse 1 -set_board_info gdb,use_precord 1 - -# More time is needed -set_board_info gcc,timeout 800 -set_board_info gdb,timeout 60 - -# Used by a few gcc.c-torture testcases to delimit how large the stack can -# be. -set_board_info gcc,stack_size 5000 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/site.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/site.exp deleted file mode 100644 index 96c013e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/site.exp +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (C) 2008, 2010, 2018, 2019, 2021 Anthony Green - -# Make sure we look in the right place for the board description files. -if ![info exists boards_dir] { - set boards_dir {} -} - -lappend boards_dir $::env(BOARDSDIR) - -verbose "Global Config File: target_triplet is $target_triplet" 2 -global target_list - -case "$target_triplet" in { - { "bfin-elf" } { - set target_list "bfin-sim" - } - { "m32r-elf" } { - set target_list "m32r-sim" - } - { "moxie-elf" } { - set target_list "moxie-sim" - } - { "or1k-elf" } { - set target_list "or1k-sim" - } - { "powerpc-eabisim" } { - set target_list "powerpc-eabisim" - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/wine-sim.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/wine-sim.exp deleted file mode 100644 index 1ad6038..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/wine-sim.exp +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (C) 2010, 2019 Free Software Foundation, Inc. -# -# This file is part of DejaGnu. -# -# DejaGnu is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# DejaGnu is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with DejaGnu; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA. - -# This is a list of toolchains that are supported on this board. -set_board_info target_install {i686-w64-mingw32} - -# Load the generic configuration for this board. This will define a basic set -# of routines needed by the tool to communicate with the board. -load_generic_config "sim" - -set_board_info sim "wineconsole --backend=curses" -set_board_info is_simulator 1 - -# No multilib options needed by default. -process_multilib_options "" - -# We only support newlib on this target. We assume that all multilib -# options have been specified before we get here. - -set_board_info compiler "[find_gcc]" -set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" -set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" - -# Configuration settings for testsuites -set_board_info noargs 1 -set_board_info gdb,nosignals 1 -set_board_info gdb,noresults 1 -set_board_info gdb,cannot_call_functions 1 -set_board_info gdb,skip_float_tests 1 -set_board_info gdb,can_reverse 1 -set_board_info gdb,use_precord 1 - -# More time is needed -set_board_info gcc,timeout 800 -set_board_info gdb,timeout 60 - -# Used by a few gcc.c-torture testcases to delimit how large the stack can -# be. -set_board_info gcc,stack_size 5000 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.circleci/config.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.circleci/config.yml deleted file mode 100644 index bf44635..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.circleci/config.yml +++ /dev/null @@ -1,156 +0,0 @@ -version: 2.1 - -defaults: &defaults - working_directory: ~/repo - docker: - # Built from: - # https://github.com/pyodide/pyodide/blob/2ab4b0ab6aefe99fd994bb4f9ab086e5c0aebb7b/Dockerfile - - image: pyodide/pyodide-env:20230126-chrome109-firefox109-py311 - -jobs: - install-emsdk: - <<: *defaults - steps: - - checkout - - run: - name: install emsdk - command: | - git clone https://github.com/emscripten-core/emsdk.git --depth=1 - cd emsdk - ./emsdk install 3.1.30 - ./emsdk activate 3.1.30 - - - persist_to_workspace: - root: . - paths: - - emsdk - - build: - parameters: - wasm-bigint: - description: Should we build with wasm-bigint? - type: string - default: "" - environment: - WASM_BIGINT: << parameters.wasm-bigint >> - <<: *defaults - steps: - - checkout - - attach_workspace: - at: . - - - run: - name: build - command: | - source ./emsdk/emsdk_env.sh - ./testsuite/emscripten/build.sh - - - run: - name: build tests - command: | - source ./emsdk/emsdk_env.sh - cp -r testsuite/libffi.call testsuite/libffi.call.test - cp -r testsuite/libffi.closures testsuite/libffi.closures.test - ./testsuite/emscripten/build-tests.sh testsuite/libffi.call.test - ./testsuite/emscripten/build-tests.sh testsuite/libffi.closures.test - - - persist_to_workspace: - root: . - paths: - - target - - testsuite - - test: - parameters: - test-params: - description: The tests to run. - type: string - <<: *defaults - steps: - - checkout - - - attach_workspace: - at: . - - - run: - name: run tests - command: | - git reset --hard - cd testsuite/emscripten/ - mkdir test-results - pytest \ - --junitxml=test-results/junit.xml \ - test_libffi.py \ - << parameters.test-params >> - - store_test_results: - path: testsuite/emscripten/test-results - - test-dejagnu: - parameters: - params: - description: Parameters to node-tests - type: string - default: "" - - <<: *defaults - steps: - - checkout - - - attach_workspace: - at: . - - - run: - name: run tests - command: | - source ./emsdk/emsdk_env.sh - testsuite/emscripten/node-tests.sh << parameters.params >> - -workflows: - version: 2 - build-and-test: - jobs: - - install-emsdk - - - build: - name: build - requires: - - install-emsdk - - - build: - name: build-bigint - wasm-bigint: "true" - requires: - - install-emsdk - - - test: - name: test-firefox - test-params: -k firefox - requires: - - build - - test: - name: test-chrome - test-params: -k chrome - requires: - - build - - - test: - name: test-firefox-bigint - test-params: -k firefox - requires: - - build-bigint - - - test: - name: test-chrome-bigint - test-params: -k chrome - requires: - - build-bigint - - - test-dejagnu: - name: test-dejagnu - requires: - - install-emsdk - - test-dejagnu: - name: test-dejagnu-bigint - params: --wasm-bigint - requires: - - install-emsdk diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitattributes b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitattributes deleted file mode 100644 index f7d3833..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitattributes +++ /dev/null @@ -1,4 +0,0 @@ -* text=auto - -*.sln text eol=crlf -*.vcxproj* text eol=crlf diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/issue_template.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/issue_template.md deleted file mode 100644 index e197e2c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/issue_template.md +++ /dev/null @@ -1,10 +0,0 @@ -## System Details - - - - -## Problems Description - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/build.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/build.yml deleted file mode 100644 index 05d0e6a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/build.yml +++ /dev/null @@ -1,460 +0,0 @@ -name: CI - -# Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [ master ] - pull_request: - branches: [ master ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - - build-sim: - name: ${{ matrix.HOST }} ${{ matrix.CONFIGURE_OPTIONS }} ${{ matrix.MEVAL }} ${{ matrix.LIBFFI_TEST_OPTIMIZATION }} - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - include: - - HOST: "x86_64-pc-linux-gnu" - MEVAL: "export CC=clang CXX=clang" - - HOST: "i386-pc-linux-gnu" - MEVAL: 'export CC="gcc -m32" CXX="g++ -m32"' - - HOST: "x86_64-pc-linux-gnu" - CONFIGURE_OPTIONS: "--disable-shared" - - HOST: "x86_64-pc-linux-gnu" - CONFIGURE_OPTIONS: "--enable-shared" - - HOST: "m68k-linux-gnu" - MEVAL: 'export CC="m68k-linux-gnu-gcc-8 -mcpu=547x" CXX="m68k-linux-gnu-g++-8 -mcpu=547x"' - CONFIGURE_OPTIONS: '--disable-shared' - QEMU_LD_PREFIX: '/usr/m68k-linux-gnu' - QEMU_CPU: 'cfv4e' - - HOST: "sh4-linux-gnu" - CONFIGURE_OPTIONS: "--disable-shared" - QEMU_LD_PREFIX: "/usr/sh4-linux-gnu" - QEMU_CPU: 'sh7785' - - HOST: "alpha-linux-gnu" - CONFIGURE_OPTIONS: "--disable-shared" - QEMU_LD_PREFIX: "/usr/alpha-linux-gnu" - QEMU_CPU: 'ev4-alpha-cpu' - - HOST: "arm32v7-linux-gnu" - LIBFFI_TEST_OPTIMIZATION: "-O0" - QEMU_CPU: 'any' - - HOST: "arm32v7-linux-gnu" - LIBFFI_TEST_OPTIMIZATION: "-O2" - QEMU_CPU: 'any' - - HOST: "arm32v7-linux-gnu" - LIBFFI_TEST_OPTIMIZATION: "-O2 -fomit-frame-pointer" - QEMU_CPU: 'any' - - HOST: "powerpc-eabisim" - RUNTESTFLAGS: "--target_board powerpc-eabisim" - - HOST: "or1k-elf" - RUNTESTFLAGS: "--target_board or1k-sim" - - HOST: "m32r-elf" - RUNTESTFLAGS: "--target_board m32r-sim" - - HOST: "bfin-elf" - RUNTESTFLAGS: "--target_board bfin-sim" - - MEVAL: "export PATH=/opt/moxielogic/bin:$PATH CC=moxie-elf-gcc CXX=moxie-elf-g++" - HOST: "moxie-elf" - LDFLAGS: "-Tsim.ld" - RUNTESTFLAGS: "--target_board moxie-sim" - - steps: - - uses: actions/checkout@v3 - - - env: - MEVAL: ${{ matrix.MEVAL }} - HOST: ${{ matrix.HOST }} - LDFLAGS: ${{ matrix.LDFLAGS }} - RUNTESTFLAGS: ${{ matrix.RUNTESTFLAGS }} - CONFIGURE_OPTIONS: ${{ matrix.CONFIGURE_OPTIONS }} - QEMU_LD_PREFIX: ${{ matrix.QEMU_LD_PREFIX }} - QEMU_CPU: ${{ matrix.QEMU_CPU }} - run: | - if test x"$MEVAL" != x; then eval ${MEVAL}; fi - ./.ci/install.sh - ./.ci/build.sh - - build-cfarm: - name: ${{ matrix.CFARM_TRIPLE }} ${{ matrix.CFARM_CC }} - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - include: - - CFARM_HOST: gcc117.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: aarch64-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc117.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: aarch64-linux-gnu - CFARM_CC: "/home/green/gcc12/bin/gcc" - CFARM_CXX: "/home/green/gcc12/bin/g++" - - CFARM_HOST: gcc117.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: aarch64-lto-linux-gnu - CFARM_CC: "gcc -flto" - CFARM_CXX: "g++ -flto" - - CFARM_HOST: gcc400.fsffrance.org - CFARM_PORT: 25465 - CFARM_TRIPLE: loongarch64-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc230.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: mips-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc102.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: sparc64-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc102.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: sparc64-linux-gnu - CFARM_CC: "gcc -m32" - CFARM_CXX: "g++ -m32" - - CFARM_HOST: gcc91.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: riscv64-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc103.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: aarch64-m1-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc112.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: powerpc64le-linux-gnu - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - CFARM_HOST: gcc111.fsffrance.org - CFARM_PORT: 22 - CFARM_TRIPLE: powerpc-ibm-aix7.1.5.0 - CFARM_CC: "gcc" - CFARM_CXX: "g++" - - steps: - - - uses: actions/checkout@v3 - - - name: Run autogen - run: | - wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 -qO - https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.gz | tar -xvzf - - mkdir -p ~/i - (cd autoconf-2.71; ./configure --prefix=$HOME/i; make; make install) - rm -rf autoconf-2.71 - PATH=$HOME/i/bin:$PATH ./autogen.sh - echo "${{ secrets.CFARM_KEY }}" > /tmp/cfk - chmod go-rw /tmp/cfk - - - name: Generate build dir name - run: | - echo BUILD_DIR=t/$GITHUB_RUN_NUMBER-$RANDOM >> $GITHUB_ENV - - - name: Check for host availability - id: check-host - run: | - set +e - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "mkdir -p ${{ env.BUILD_DIR }}" - if test $? -ne 0; then - echo "Remote host is unavailable." - echo "HOST_OK=NO" >> $GITHUB_OUTPUT - else - echo "Remote host is available." - echo "HOST_OK=YES" >> $GITHUB_OUTPUT - fi - set -e - - - name: Show host availability - run: | - echo ${{ steps.check-host.outputs.HOST_OK }} - - - name: Copy source to remote host - if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }} - run: | - echo ${{ steps.check-host.outputs.HOST_OK }} - scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -P ${{ matrix.CFARM_PORT }} -r * ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }}:${{ env.BUILD_DIR }} - - - name: Run configure and make - if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }} - run: | - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "${{ matrix.CFARM_CC }} --version" - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd ${{ env.BUILD_DIR }}; if test -f ~/.profile; then source ~/.profile; fi; CC='${{ matrix.CFARM_CC }}' CXX='${{ matrix.CFARM_CXX }}' ./configure --host=${{ matrix.CFARM_TRIPLE }}) || true; exit 0" - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd ${{ env.BUILD_DIR }}; if test -f ~/.profile; then source ~/.profile; fi; make;) || true; exit 0" - - - name: Run tests - if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }} - run: | - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "(cd ${{ env.BUILD_DIR }}; if test -f ~/.profile; then source ~/.profile; fi; GCC_COLORS= make check & CHECKPID=\$!; while kill -0 \$CHECKPID 2>/dev/null; do echo 'Waiting for tests to finish'; sleep 5; done;)" - - - name: Copy results and clean up - if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }} - run: | - scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -P ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }}:${{ env.BUILD_DIR }}/*/testsuite/*.log . - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ConnectionAttempts=3 -i /tmp/cfk -p ${{ matrix.CFARM_PORT }} ${{ secrets.CFARM_USERNAME }}@${{ matrix.CFARM_HOST }} "rm -rf ${{ env.BUILD_DIR }}" - - - name: Install rlgl and run - if: ${{ steps.check-host.outputs.HOST_OK == 'YES' }} - run: | - wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ./rlgl l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='${{ matrix.CFARM_CC }}' -l build-host=${{ matrix.CFARM_TRIPLE }} --policy=https://github.com/libffi/rlgl-policy.git libffi.log - exit $? - - build: - name: Cygwin ${{ matrix.arch }} - runs-on: windows-latest - - strategy: - fail-fast: false - matrix: - include: - - host: i686-pc-cygwin - arch: x86 - - host: x86_64-pc-cygwin - arch: x64 - - steps: - - run: git config --global core.autocrlf input - - - uses: actions/checkout@v3 - - - name: Set up Cygwin - uses: egor-tensin/setup-cygwin@v3 - with: - platform: ${{ matrix.arch }} - packages: wget gcc-core make dejagnu automake autoconf libtool texinfo dos2unix unzip - - - run: | - set -x - cd $(cygpath $RUNNER_WORKSPACE)/libffi - wget https://rl.gl/cli/rlgl-windows-amd64.zip - unzip rlgl-windows-amd64.zip - autoreconf -f -v -i - ./configure - make -j 4 - TERM=none DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci GCC_COLORS= make check || true - ./rlgl/rlgl.exe l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl/rlgl.exe e \ - -l project=libffi \ - -l sha=${GITHUB_SHA:0:7} \ - -l CC=gcc \ - -l host=${{ matrix.host }} \ - --policy=https://github.com/libffi/rlgl-policy.git $(find . -name libffi.log) - shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}' - - build-msys2: - - runs-on: windows-latest - - strategy: - fail-fast: false - matrix: - include: - - MSYSTEM: MINGW32 - MSYS2_ARCH: i686 - - MSYSTEM: MINGW64 - MSYS2_ARCH: x86_64 - name: ${{ matrix.MSYSTEM }} - - steps: - - run: git config --global core.autocrlf input - - uses: actions/checkout@v3 - - - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.MSYSTEM }} - update: true - install: >- - base-devel - autoconf-wrapper - autoconf - automake - libtool - make - dejagnu - mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc - mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc-libs - unzip - - - run: | - set -x - cd $(cygpath $RUNNER_WORKSPACE)/libffi - wget https://rl.gl/cli/rlgl-windows-amd64.zip - unzip rlgl-windows-amd64.zip - autoreconf -f -v -i - CC=${{ matrix.MSYS2_ARCH }}-w64-mingw32-gcc CXX=${{ matrix.MSYS2_ARCH }}-w64-mingw32-g++ ./configure - make - TERM=none DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci GCC_COLORS= make check || true - ./rlgl/rlgl.exe l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl/rlgl.exe e \ - -l project=libffi \ - -l sha=${GITHUB_SHA:0:7} \ - -l CC=${{ matrix.MSYS2_ARCH }}-w64-mingw32-gcc \ - -l host=x86_64-pc-cygwin \ - --policy=https://github.com/libffi/rlgl-policy.git $(find . -name libffi.log) - shell: msys2 {0} - - build-msys2-clang: - - runs-on: windows-latest - - strategy: - fail-fast: false - matrix: - include: - - MSYSTEM: MINGW32 - MSYS2_ARCH: i686 - - MSYSTEM: MINGW64 - MSYS2_ARCH: x86_64 - name: ${{ matrix.MSYSTEM }} - - steps: - - run: git config --global core.autocrlf input - - uses: actions/checkout@v3 - - - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.MSYSTEM }} - update: true - install: >- - base-devel - autoconf-wrapper - autoconf - automake - libtool - make - dejagnu - clang - mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc - mingw-w64-${{ matrix.MSYS2_ARCH }}-gcc-libs - unzip - - - run: | - set -x - cd $(cygpath $RUNNER_WORKSPACE)/libffi - wget https://rl.gl/cli/rlgl-windows-amd64.zip - unzip rlgl-windows-amd64.zip - autoreconf -f -v -i - CC=clang CXX=clang ./configure - make - TERM=none DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci make check || true - ./rlgl/rlgl.exe l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl/rlgl.exe e \ - -l project=libffi \ - -l sha=${GITHUB_SHA:0:7} \ - -l CC=clang \ - -l host=x86_64-pc-cygwin \ - --policy=https://github.com/libffi/rlgl-policy.git $(find . -name libffi.log) - shell: msys2 {0} - - build-macos: - runs-on: ${{ matrix.platform }} - - strategy: - fail-fast: false - matrix: - platform: [macos-11, macos-12] - compilers: [CC=gcc CXX=g++, CC=clang CXX=clang] - - name: ${{ matrix.platform }} ${{ matrix.compilers }} - - steps: - - run: git config --global core.autocrlf input - - uses: actions/checkout@v3 - - run: ./.ci/install.sh - - run: ${{ matrix.compilers }} ./.ci/build.sh - - build-msvc: - name: Windows ${{ matrix.width }}-bit Visual C++ - runs-on: windows-latest - - strategy: - fail-fast: false - matrix: - include: - - host: i686-pc-cygwin - width: 32 - arch: x86 - tools: amd64_x86 - - host: x86_64-pc-cygwin - width: 64 - arch: x64 - tools: amd64 - - steps: - - run: git config --global core.autocrlf input - - uses: actions/checkout@v3 - - uses: egor-tensin/setup-cygwin@v3 - with: - platform: x64 - packages: wget make dejagnu automake autoconf libtool texinfo unzip dos2unix - - uses: ilammy/msvc-dev-cmd@v1.12.0 - with: - arch: ${{ matrix.tools }} - - - name: Build and test - run: | - # export PATH=$PATH:"/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64" - cd $(cygpath $RUNNER_WORKSPACE)/libffi - wget https://rl.gl/cli/rlgl-windows-amd64.zip - unzip rlgl-windows-amd64.zip - autoreconf -f -v -i - ./configure --host=${{ matrix.host }} CC="$(pwd)/msvcc.sh -m${{ matrix.width }}" CXX="$(pwd)/msvcc.sh -m${{ matrix.width }}" LD='link' CPP='cl -nologo -EP' CXXCPP='cl -nologo -EP' CPPFLAGS='-DFFI_BUILDING_DLL' AR='$(pwd)/.ci/ar-lib lib' NM='dumpbin -symbols' STRIP=':' $DEBUG_ARG $SHARED_ARG || cat */config.log - make - cp $(find . -name 'libffi-?.dll') ${{ matrix.host }}/testsuite/ - TERM=none DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci GCC_COLORS= make check || true - ./rlgl/rlgl.exe l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl/rlgl.exe e \ - -l project=libffi \ - -l sha=${GITHUB_SHA:0:7} \ - -l CC=msvcc.sh \ - -l host=${{ matrix.host }} \ - --policy=https://github.com/libffi/rlgl-policy.git $(find . -name libffi.log) - shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}' - - build-android: - name: Android ${{ matrix.host }} - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - host: [armv7a-linux-androideabi, aarch64-linux-android, i686-linux-android, x86_64-linux-android] - - steps: - - run: git config --global core.autocrlf input - - uses: actions/checkout@v3 - - run: ./.ci/install.sh - - env: - HOST: ${{ matrix.HOST }} - ANDROID_API_LEVEL: 23 - CONFIGURE_OPTIONS: "--disable-shared --disable-multi-os-directory" # fixes warning about unsupported -print-multi-os-directory with clang - run: | - # Relevant documentation: - # https://developer.android.com/ndk/guides/other_build_systems - # https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md - export TOOLCHAIN="${ANDROID_NDK_ROOT}"/toolchains/llvm/prebuilt/linux-x86_64 - export CC="${TOOLCHAIN}"/bin/${HOST}${ANDROID_API_LEVEL}-clang - export CXX="${TOOLCHAIN}"/bin/${HOST}${ANDROID_API_LEVEL}-clang++ - export LD="${TOOLCHAIN}"/bin/ld.lld - export AR="${TOOLCHAIN}"/bin/llvm-ar - export AS="${CC}" - export RANLIB="${TOOLCHAIN}"/bin/llvm-ranlib - export STRIP="${TOOLCHAIN}"/bin/llvm-strip - export NM="${TOOLCHAIN}"/bin/llvm-nm - export OBJDUMP="${TOOLCHAIN}"/bin/llvm-objdump - ./.ci/build.sh diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/emscripten.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/emscripten.yml deleted file mode 100644 index 1a59238..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/emscripten.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: CI emscripten - -# Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [ master ] - pull_request: - branches: [ master ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - - -env: - PYODIDE_VERSION: 0.52.1 - # PYTHON_VERSION and EMSCRIPTEN_VERSION are determined by PYODIDE_VERSION. - # The appropriate versions can be found in the Pyodide repodata.json - # "info" field, or in Makefile.envs: - # https://github.com/pyodide/pyodide/blob/main/Makefile.envs#L2 - PYTHON_VERSION: 3.10.7 - EMSCRIPTEN_VERSION: 3.1.27 - EM_CACHE_FOLDER: emsdk-cache - -jobs: - setup-emsdk-cache: - runs-on: ubuntu-22.04 - steps: - - name: Setup cache - id: cache-system-libraries - uses: actions/cache@v3 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EMSCRIPTEN_VERSION}} - - - uses: mymindstorm/setup-emsdk@v12 - with: - version: ${{ env.EMSCRIPTEN_VERSION }} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - test-dejagnu: - strategy: - matrix: - bigint: ["--wasm-bigint", ""] - runs-on: ubuntu-22.04 - needs: [setup-emsdk-cache] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: set up python - id: setup-python - uses: actions/setup-python@v4 - with: - python-version: ${{ env.PYTHON_VERSION }} - - - name: Setup cache - id: cache-system-libraries - uses: actions/cache@v3 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EMSCRIPTEN_VERSION}} - - - uses: mymindstorm/setup-emsdk@v12 - with: - version: ${{ env.EMSCRIPTEN_VERSION }} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - - name: Install dejagnu - shell: bash -l {0} - run: | - sudo apt install -y dejagnu - - - name: run tests - run: | - testsuite/emscripten/node-tests.sh ${{ matrix.bigint }} - - - name: Install rlgl and run - run: | - wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ./rlgl l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='emcc' -l host=wasm32-unknown-linux --policy=https://github.com/libffi/rlgl-policy.git testsuite/libffi.log - exit $? - - build: - strategy: - matrix: - bigint: ["--wasm-bigint", ""] - env: - WASM_BIGINT: ${{ matrix.bigint }} - runs-on: ubuntu-22.04 - needs: [setup-emsdk-cache] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup cache - id: cache-system-libraries - uses: actions/cache@v3 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EMSCRIPTEN_VERSION}} - - - uses: mymindstorm/setup-emsdk@v12 - with: - version: ${{ env.EMSCRIPTEN_VERSION }} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - - name: build - run: | - ./testsuite/emscripten/build.sh ${{ matrix.bigint }} - - - name: build tests - run: | - cp -r testsuite/libffi.call testsuite/libffi.call.test - cp -r testsuite/libffi.closures testsuite/libffi.closures.test - ./testsuite/emscripten/build-tests.sh testsuite/libffi.call.test ${{ matrix.bigint }} - ./testsuite/emscripten/build-tests.sh testsuite/libffi.closures.test ${{ matrix.bigint }} - - - name: Store artifacts - uses: actions/upload-artifact@v3 - with: - name: built-tests - path: | - ./testsuite/libffi.c*/ - - test: - strategy: - matrix: - bigint: ["--wasm-bigint", ""] - browser: ["firefox", "chrome"] - runs-on: ubuntu-22.04 - needs: [build] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download build artifact - uses: actions/download-artifact@v3 - with: - name: built-tests - path: ./testsuite/ - - - uses: conda-incubator/setup-miniconda@v2 - with: - activate-environment: pyodide-env - python-version: ${{ env.PYTHON_VERSION }} - channels: conda-forge - - name: Install test dependencies - run: | - pip install pytest-pyodide==${{ env.PYODIDE_VERSION }} - - - name: - run: | - cd testsuite/emscripten/ - mkdir test-results - pytest \ - --junitxml=test-results/junit.xml \ - test_libffi.py \ - -k ${{ matrix.browser }} \ - -s - - - name: Install rlgl and run - if: success() || failure() - run: | - wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \ - tar --strip-components=2 -xvzf - ./rlgl/rlgl; - ./rlgl l --key=0LIBFFI-0LIBFFI-0LIBFFI-0LIBFFI https://rl.gl - ./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='emcc' -l host=${{ matrix.browser }} --policy=https://github.com/libffi/rlgl-policy.git testsuite/emscripten/test-results/junit.xml - exit $? diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ChangeLog.old b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ChangeLog.old deleted file mode 100644 index 8de1ca7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ChangeLog.old +++ /dev/null @@ -1,7407 +0,0 @@ -Libffi change logs used to be maintained in separate ChangeLog files. -These days we generate them directly from the git commit messages. -The old ChangeLog files are saved here in order to maintain the historical -record. - -============================================================================= -From the old ChangeLog.libffi-3.1 file... - -2014-03-16 Josh Triplett - - * ChangeLog: Archive to ChangeLog.libffi-3.1 and delete. Future - changelogs will come from git, with autogenerated snapshots shipped in - distributed tarballs. - -2014-03-16 Josh Triplett - - Add support for stdcall, thiscall, and fastcall on non-Windows - x86-32. - - Linux supports the stdcall calling convention, either via - functions explicitly declared with the stdcall attribute, or via - code compiled with -mrtd which effectively makes stdcall the - default. - - This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on - non-Windows x86-32 platforms, as non-default calling conventions. - - * Makefile.am: Compile in src/x86/win32.S on non-Windows x86-32. - * src/x86/ffitarget.h: Add FFI_STDCALL, FFI_THISCALL, and - FFI_FASTCALL on non-Windows x86-32. Increase trampoline size to - accomodate these calling conventions, and unify some ifdeffery. - * src/x86/ffi.c: Add support for FFI_STDCALL, FFI_THISCALL, and - FFI_FASTCALL on non-Windows x86-32 platforms; update ifdeffery. - * src/x86/win32.S: Support compiling on non-Windows x86-32 - platforms. On those platforms, avoid redefining the SYSV symbols - already provided by src/x86/sysv.S. - * testsuite/libffi.call/closure_stdcall.c: Run on non-Windows. - #define __stdcall if needed. - * testsuite/libffi.call/closure_thiscall.c: Run on non-Windows. - #define __fastcall if needed. - * testsuite/libffi.call/fastthis1_win32.c: Run on non-Windows. - * testsuite/libffi.call/fastthis2_win32.c: Ditto. - * testsuite/libffi.call/fastthis3_win32.c: Ditto. - * testsuite/libffi.call/many2_win32.c: Ditto. - * testsuite/libffi.call/many_win32.c: Ditto. - * testsuite/libffi.call/strlen2_win32.c: Ditto. - * testsuite/libffi.call/strlen_win32.c: Ditto. - * testsuite/libffi.call/struct1_win32.c: Ditto. - * testsuite/libffi.call/struct2_win32.c: Ditto. - -2014-03-16 Josh Triplett - - * prep_cif.c: Remove unnecessary ifdef for X86_WIN32. - ffi_prep_cif_core had a special case for X86_WIN32, checking for - FFI_THISCALL in addition to the FFI_FIRST_ABI-to-FFI_LAST_ABI - range before returning FFI_BAD_ABI. However, on X86_WIN32, - FFI_THISCALL already falls in that range, making the special case - unnecessary. Remove it. - -2014-03-16 Josh Triplett - - * testsuite/libffi.call/closure_stdcall.c, - testsuite/libffi.call/closure_thiscall.c: Remove fragile stack - pointer checks. These files included inline assembly to save the - stack pointer before and after the call, and compare the values. - However, compilers can and do leave the stack in different states - for these two pieces of inline assembly, such as by saving a - temporary value on the stack across the call; observed with gcc - -Os, and verified as spurious through careful inspection of - disassembly. - -2014-03-16 Josh Triplett - - * testsuite/libffi.call/many.c: Avoid spurious failure due to - excess floating-point precision. - * testsuite/libffi.call/many_win32.c: Ditto. - -2014-03-16 Josh Triplett - - * libtool-ldflags: Re-add. - -2014-03-16 Josh Triplett - - * Makefile.in, aclocal.m4, compile, config.guess, config.sub, - configure, depcomp, include/Makefile.in, install-sh, - libtool-ldflags, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, - m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4, - man/Makefile.in, mdate-sh, missing, testsuite/Makefile.in: Delete - autogenerated files from version control. - * .gitignore: Add autogenerated files. - * autogen.sh: New script to generate the autogenerated files. - * README: Document requirement to run autogen.sh when building - directly from version control. - * .travis.yml: Run autogen.sh - -2014-03-14 Anthony Green - - * configure, Makefile.in: Rebuilt. - -2014-03-10 Mike Hommey - - * configure.ac: Allow building for mipsel with Android NDK r8. - * Makefile.am (AM_MAKEFLAGS): Replace double quotes with single - quotes. - -2014-03-10 Landry Breuil - - * configure.ac: Ensure the linker supports @unwind sections in libffi. - -2014-03-01 Anthony Green - - * Makefile.am (EXTRA_DIST): Replace old scripts with - generate-darwin-source-and-headers.py. - * Makefile.in: Rebuilt. - -2014-02-28 Anthony Green - - * Makefile.am (AM_CFLAGS): Reintroduce missing -DFFI_DEBUG for - --enable-debug builds. - * Makefile.in: Rebuilt. - -2014-02-28 Makoto Kato - - * src/closures.c: Fix build failure when using clang for Android. - -2014-02-28 Marcin Wojdyr - - * libffi.pc.in (toolexeclibdir): use -L${toolexeclibdir} instead - of -L${libdir}. - -2014-02-28 Paulo Pizarro - - * src/bfin/sysv.S: Calling functions in shared libraries requires - considering the GOT. - -2014-02-28 Josh Triplett - - * src/x86/ffi64.c (classify_argument): Handle case where - FFI_TYPE_LONGDOUBLE == FFI_TYPE_DOUBLE. - -2014-02-28 Anthony Green - - * ltmain.sh: Generate with libtool-2.4.2.418. - * m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4: Ditto. - * configure: Rebuilt. - -2014-02-28 Dominik Vogt - - * configure.ac (AC_ARG_ENABLE struct): Fix typo in help - message. - (AC_ARG_ENABLE raw_api): Ditto. - * configure, fficonfig.h.in: Rebuilt. - -2014-02-28 Will Newton - - * src/arm/sysv.S: Initialize IP register with FP. - -2014-02-28 Yufeng Zhang - - * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the - main CFA reg; update cfi_rel_offset. - -2014-02-15 Marcus Comstedt - - * src/powerpc/ffi_linux64.c, src/powerpc/linux64_closure.S: Remove - assumption on contents of r11 in closure. - -2014-02-09 Heiher - - * src/mips/n32.S: Fix call floating point va function. - -2014-01-21 Zachary Waldowski - - * src/aarch64/ffi.c: Fix missing semicolons on assertions under - debug mode. - -2013-12-30 Zachary Waldowski - - * .gitignore: Exclude darwin_* generated source and build_* trees. - * src/aarch64/ffi.c, src/arm/ffi.c, src/x86/ffi.c: Inhibit Clang - previous prototype warnings. - * src/arm/ffi.c: Prevent NULL dereference, fix short type warning - * src/dlmalloc.c: Fix warnings from set_segment_flags return type, - and the native use of size_t for malloc on platforms - * src/arm/sysv.S: Use unified syntax. Clang clean-ups for - ARM_FUNC_START. - * generate-osx-source-and-headers.py: Remove. - * build-ios.sh: Remove. - * libffi.xcodeproj/project.pbxproj: Rebuild targets. Include - x86_64+aarch64 pieces in library. Export headers properly. - * src/x86/ffi64.c: More Clang warning clean-ups. - * src/closures.c (open_temp_exec_file_dir): Use size_t. - * src/prep_cif.c (ffi_prep_cif_core): Cast ALIGN result. - * src/aarch64/sysv.S: Use CNAME for global symbols. Only use - .size for ELF targets. - * src/aarch64/ffi.c: Clean up for double == long double. Clean up - from Clang warnings. Use Clang cache invalidation builtin. Use - size_t in place of unsigned in many places. Accommodate for - differences in Apple AArch64 ABI. - -2013-12-02 Daniel Rodríguez Troitiño - - * generate-darwin-source-and-headers.py: Clean up, modernize, - merged version of previous scripts. - -2013-11-21 Anthony Green - - * configure, Makefile.in, include/Makefile.in, include/ffi.h.in, - man/Makefile.in, testsuite/Makefile.in, fficonfig.h.in: Rebuilt. - -2013-11-21 Alan Modra - - * Makefile.am (EXTRA_DIST): Add new src/powerpc files. - (nodist_libffi_la_SOURCES ): Likewise. - * configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc. - * include/ffi.h.in (ffi_prep_types): Declare. - * src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types. - * src/types.c (FFI_NONCONST_TYPEDEF): Define and use for - HAVE_LONG_DOUBLE_VARIANT. - * src/powerpc/ffi_powerpc.h: New file. - * src/powerpc/ffi.c: Split into.. - * src/powerpc/ffi_sysv.c: ..new file, and.. - * src/powerpc/ffi_linux64.c: ..new file, rewriting parts. - * src/powerpc/ffitarget.h (enum ffi_abi): Rewrite powerpc ABI - selection as bits controlling features. - * src/powerpc/linux64.S: For consistency, use POWERPC64 rather - than __powerpc64__. - * src/powerpc/linux64_closure.S: Likewise. - * src/powerpc/ppc_closure.S: Likewise. Move .note.FNU-stack - inside guard. - * src/powerpc/sysv.S: Likewise. - * configure: Regenerate. - * fficonfig.h.in: Regenerate. - * Makefile.in: Regenerate. - -2013-11-20 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use - NUM_FPR_ARG_REGISTERS64 and NUM_GPR_ARG_REGISTERS64 not their - 32-bit versions for 64-bit code. - * src/powerpc/linux64_closure.S: Don't use the return value area - as a parameter save area on ELFv2. - -2013-11-18 Iain Sandoe - - * src/powerpc/darwin.S (EH): Correct use of pcrel FDE encoding. - * src/powerpc/darwin_closure.S (EH): Likewise. Modernise picbase - labels. - -2013-11-18 Anthony Green - - * src/arm/ffi.c (ffi_call): Hoist declaration of temp to top of - function. - * src/arm/ffi.c (ffi_closure_inner): Moderize function declaration - to appease compiler. - Thanks for Gregory P. Smith . - -2013-11-18 Anthony Green - - * README (tested): Mention PowerPC ELFv2. - -2013-11-16 Alan Modra - - * src/powerpc/ppc_closure.S: Move errant #endif to where it belongs. - Don't bl .Luint128. - -2013-11-16 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use #if _CALL_ELF - test to select parameter save sizing for ELFv2 vs. ELFv1. - * src/powerpc/ffitarget.h (FFI_V2_TYPE_FLOAT_HOMOG, - FFI_V2_TYPE_DOUBLE_HOMOG, FFI_V2_TYPE_SMALL_STRUCT): Define. - (FFI_TRAMPOLINE_SIZE): Define variant for ELFv2. - * src/powerpc/ffi.c (FLAG_ARG_NEEDS_PSAVE): Define. - (discover_homogeneous_aggregate): New function. - (ffi_prep_args64): Adjust start of param save area for ELFv2. - Handle homogenous floating point struct parms. - (ffi_prep_cif_machdep_core): Adjust space calculation for ELFv2. - Handle ELFv2 return values. Set FLAG_ARG_NEEDS_PSAVE. Handle - homogenous floating point structs. - (ffi_call): Increase size of smst_buffer for ELFv2. Handle ELFv2. - (flush_icache): Compile for ELFv2. - (ffi_prep_closure_loc): Set up ELFv2 trampoline. - (ffi_closure_helper_LINUX64): Don't return all structs directly - to caller. Handle homogenous floating point structs. Handle - ELFv2 struct return values. - * src/powerpc/linux64.S (ffi_call_LINUX64): Set up r2 for - ELFv2. Adjust toc save location. Call function pointer using - r12. Handle FLAG_RETURNS_SMST. Don't predict branches. - * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Set up r2 - for ELFv2. Define ELFv2 versions of STACKFRAME, PARMSAVE, and - RETVAL. Handle possibly missing parameter save area. Handle - ELFv2 return values. - (.note.GNU-stack): Move inside outer #ifdef. - -2013-11-16 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_cif_machdep): Revert 2013-02-08 - change. Do not consume an int arg when returning a small struct - for FFI_SYSV ABI. - (ffi_call): Only use bounce buffer when FLAG_RETURNS_SMST. - Properly copy bounce buffer to destination. - * src/powerpc/sysv.S: Revert 2013-02-08 change. - * src/powerpc/ppc_closure.S: Remove stray '+'. - -2013-11-16 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_args64): Align struct parameters - according to __STRUCT_PARM_ALIGN__. - (ffi_prep_cif_machdep_core): Likewise. - (ffi_closure_helper_LINUX64): Likewise. - -2013-11-16 Alan Modra - - * src/powerpc/linux64.S (ffi_call_LINUX64): Tweak restore of r28. - (.note.GNU-stack): Move inside outer #ifdef. - * src/powerpc/linux64_closure.S (STACKFRAME, PARMSAVE, - RETVAL): Define and use throughout. - (ffi_closure_LINUX64): Save fprs before buying stack. - (.note.GNU-stack): Move inside outer #ifdef. - -2013-11-16 Alan Modra - - * src/powerpc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define. - (FFI_EXTRA_CIF_FIELDS): Define. - * src/powerpc/ffi.c (ffi_prep_args64): Save fprs as per the - ABI, not to both fpr and param save area. - (ffi_prep_cif_machdep_core): Renamed from ffi_prep_cif_machdep. - Keep initial flags. Formatting. Remove dead FFI_LINUX_SOFT_FLOAT - code. - (ffi_prep_cif_machdep, ffi_prep_cif_machdep_var): New functions. - (ffi_closure_helper_LINUX64): Pass floating point as per ABI, - not to both fpr and parameter save areas. - - * libffi/testsuite/libffi.call/cls_double_va.c (main): Correct - function cast and don't call ffi_prep_cif. - * libffi/testsuite/libffi.call/cls_longdouble_va.c (main): Likewise. - -2013-11-15 Andrew Haley - - * doc/libffi.texi (Closure Example): Fix the sample code. - * doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt. - -2013-11-15 Andrew Haley - - * testsuite/libffi.call/va_struct1.c (main): Fix broken test. - * testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise - * testsuite/libffi.call/cls_struct_va1.c (test_fn): Likewise. - * testsuite/libffi.call/va_1.c (main): Likewise. - -2013-11-14 David Schneider - - * src/arm/ffi.c: Fix register allocation for mixed float and - doubles. - * testsuite/libffi.call/cls_many_mixed_float_double.c: Testcase - for many mixed float and double arguments. - -2013-11-13 Alan Modra - - * doc/libffi.texi (Simple Example): Correct example code. - * doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt. - -2013-11-13 Anthony Green - - * include/ffi_common.h: Respect HAVE_ALLOCA_H for GNU compiler - based build. (Thanks to tmr111116 on github) - -2013-11-09 Anthony Green - - * m4/libtool.m4: Refresh. - * configure, Makefile.in: Rebuilt. - * README: Add more notes about next release. - -2013-11-09 Shigeharu TAKENO - - * m4/ax_gcc_archflag.m4 (ax_gcc_arch): Don't recognize - UltraSPARC-IIi as ultrasparc3. - -2013-11-06 Mark Kettenis - - * src/x86/freebsd.S (ffi_call_SYSV): Align the stack pointer to - 16-bytes. - -2013-11-06 Konstantin Belousov - - * src/x86/freebsd.S (ffi_closure_raw_SYSV): Mark the assembler - source as not requiring executable stack. - -2013-11-02 Anthony Green - - * doc/libffi.texi (The Basics): Clarify return value buffer size - requirements. Also, NULL result buffer pointers are no longer - supported. - * doc/libffi.info: Rebuilt. - -2013-11-02 Mischa Jonker - - * Makefile.am (nodist_libffi_la_SOURCES): Fix build error. - * Makefile.in: Rebuilt. - -2013-11-02 David Schneider - - * src/arm/ffi.c: more robust argument handling for closures on arm hardfloat - * testsuite/libffi.call/many_mixed.c: New file. - * testsuite/libffi.call/cls_many_mixed_args.c: More tests. - -2013-11-02 Vitaly Budovski - - * src/x86/ffi.c (ffi_prep_cif_machdep): Don't align stack for win32. - -2013-10-23 Mark H Weaver - - * src/mips/ffi.c: Fix handling of uint32_t arguments on the - MIPS N32 ABI. - -2013-10-13 Sandra Loosemore - - * README: Add Nios II to table of supported platforms. - * Makefile.am (EXTRA_DIST): Add nios2 files. - (nodist_libffi_la_SOURCES): Likewise. - * Makefile.in: Regenerated. - * configure.ac (nios2*-linux*): New host. - (NIOS2): Add AM_CONDITIONAL. - * configure: Regenerated. - * src/nios2/ffi.c: New. - * src/nios2/ffitarget.h: New. - * src/nios2/sysv.S: New. - * src/prep_cif.c (initialize_aggregate): Handle extra structure - alignment via FFI_AGGREGATE_ALIGNMENT. - (ffi_prep_cif_core): Conditionalize structure return for NIOS2. - -2013-10-10 Sandra Loosemore - - * testsuite/libffi.call/cls_many_mixed_args.c (cls_ret_double_fn): - Fix uninitialized variable. - -2013-10-11 Marcus Shawcroft - - * testsuite/libffi.call/many.c (many): Replace * with +. - -2013-10-08 Ondřej Bílka - - * src/aarch64/ffi.c, src/aarch64/sysv.S, src/arm/ffi.c, - src/arm/gentramp.sh, src/bfin/sysv.S, src/closures.c, - src/dlmalloc.c, src/ia64/ffi.c, src/microblaze/ffi.c, - src/microblaze/sysv.S, src/powerpc/darwin_closure.S, - src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/sh/ffi.c, - src/tile/tile.S, testsuite/libffi.call/nested_struct11.c: Fix - spelling errors. - -2013-10-08 Anthony Green - - * aclocal.m4, compile, config.guess, config.sub, depcomp, - install-sh, mdate-sh, missing, texinfo.tex: Update from upstream. - * configure.ac: Update version to 3.0.14-rc0. - * Makefile.in, configure, Makefile.in, include/Makefile.in, - man/Makefile.in, testsuite/Makefile.in: Rebuilt. - * README: Mention M88K and VAX. - -2013-07-15 Miod Vallat - - * Makefile.am, - configure.ac, - src/m88k/ffi.c, - src/m88k/ffitarget.h, - src/m88k/obsd.S, - src/vax/elfbsd.S, - src/vax/ffi.c, - src/vax/ffitarget.h: Add m88k and vax support. - -2013-06-24 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration - before statements. - (ffi_prep_args64): Support little-endian. - (ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise. - * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise. - * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise. - -2013-06-12 Mischa Jonker - - * configure.ac: Add support for ARC. - * Makefile.am: Likewise. - * README: Add ARC details. - * src/arc/arcompact.S: New. - * src/arc/ffi.c: Likewise. - * src/arc/ffitarget.h: Likewise. - -2013-03-28 David Schneider - - * src/arm/ffi.c: Fix support for ARM hard-float calling convention. - * src/arm/sysv.S: call different methods for SYSV and VFP ABIs. - * testsuite/libffi.call/cls_many_mixed_args.c: testcase for a closure with - mixed arguments, many doubles. - * testsuite/libffi.call/many_double.c: testcase for calling a function using - more than 8 doubles. - * testcase/libffi.call/many.c: use absolute value to check result against an - epsilon - -2013-03-17 Anthony Green - - * README: Update for 3.0.13. - * configure.ac: Ditto. - * configure: Rebuilt. - * doc/*: Update version. - -2013-03-17 Dave Korn - - * src/closures.c (is_emutramp_enabled - [!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside - enclosing #if scope. - -2013-03-17 Anthony Green - - * configure.ac: Only modify toolexecdir in certain cases. - * configure: Rebuilt. - -2013-03-16 Gilles Talis - - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use - fparg_count,etc on __NO_FPRS__ targets. - -2013-03-16 Alan Hourihane - - * src/m68k/sysv.S (epilogue): Don't use extb instruction on - m680000 machines. - -2013-03-16 Alex Gaynor - - * src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack. - -2013-03-13 Markos Chandras - - * configure.ac: Add support for Imagination Technologies Meta. - * Makefile.am: Likewise. - * README: Add Imagination Technologies Meta details. - * src/metag/ffi.c: New. - * src/metag/ffitarget.h: Likewise. - * src/metag/sysv.S: Likewise. - -2013-02-24 Andreas Schwab - - * doc/libffi.texi (Structures): Fix missing category argument of - @deftp. - -2013-02-11 Anthony Green - - * configure.ac: Update release number to 3.0.12. - * configure: Rebuilt. - * README: Update release info. - -2013-02-10 Anthony Green - - * README: Add Moxie. - * src/moxie/ffi.c: Created. - * src/moxie/eabi.S: Created. - * src/moxie/ffitarget.h: Created. - * Makefile.am (nodist_libffi_la_SOURCES): Add Moxie. - * Makefile.in: Rebuilt. - * configure.ac: Add Moxie. - * configure: Rebuilt. - * testsuite/libffi.call/huge_struct.c: Disable format string - warnings for moxie*-*-elf tests. - -2013-02-10 Anthony Green - - * Makefile.am (LTLDFLAGS): Fix reference. - * Makefile.in: Rebuilt. - -2013-02-10 Anthony Green - - * README: Update supported platforms. Update test results link. - -2013-02-09 Anthony Green - - * testsuite/libffi.call/negint.c: Remove forced -O2. - * testsuite/libffi.call/many2.c (foo): Remove GCCism. - * testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition. - - * src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong - closure return type fix developed by Martin v. Löwis for cpython - fork. - -2013-02-08 Andreas Tobler - - * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct - support. - * src/powerpc/sysv.S: Ditto. - -2013-02-08 Anthony Green - - * testsuite/libffi.call/cls_longdouble.c: Remove xfail for - arm*-*-*. - -2013-02-08 Anthony Green - - * src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC. - -2013-02-08 Matthias Klose - - * man/ffi_prep_cif.3: Clean up for debian linter. - -2013-02-08 Peter Bergner - - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed - on the stack. - -2013-02-08 Anthony Green - - * Makefile.am (EXTRA_DIST): Add missing files. - * testsuite/Makefile.am (EXTRA_DIST): Ditto. - * Makefile.in: Rebuilt. - -2013-02-08 Anthony Green - - * configure.ac: Move sparc asm config checks to within functions - for compatibility with sun tools. - * configure: Rebuilt. - * src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9 - systems. - * src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache - flusher. - -2013-02-08 Nathan Rossi - - * src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of - small big-endian structures. - (ffi_prep_args): Ditto. - -2013-02-07 Anthony Green - - * src/sparc/v8.S (ffi_call_v8): Fix typo from last patch - (effectively hiding ffi_call_v8). - -2013-02-07 Anthony Green - - * configure.ac: Update bug reporting address. - * configure.in: Rebuild. - - * src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for - Sun compiler. - * src/sparc/ffi.c (ffi_call): Remove warning. - Call ffi_flush_icache for non-GCC builds. - (ffi_prep_closure_loc): Use ffi_flush_icache. - - * Makefile.am (EXTRA_DIST): Add libtool-ldflags. - * Makefile.in: Rebuilt. - * libtool-ldflags: New file. - -2013-02-07 Daniel Schepler - - * configure.ac: Correctly identify x32 systems as 64-bit. - * m4/libtool.m4: Remove libtool expr error. - * aclocal.m4, configure: Rebuilt. - -2013-02-07 Anthony Green - - * configure.ac: Fix GCC usage test. - * configure: Rebuilt. - * README: Mention LLVM/GCC x86_64 issue. - * testsuite/Makefile.in: Rebuilt. - -2013-02-07 Anthony Green - - * testsuite/libffi.call/cls_double_va.c (main): Replace // style - comments with /* */ for xlc compiler. - * testsuite/libffi.call/stret_large.c (main): Ditto. - * testsuite/libffi.call/stret_large2.c (main): Ditto. - * testsuite/libffi.call/nested_struct1.c (main): Ditto. - * testsuite/libffi.call/huge_struct.c (main): Ditto. - * testsuite/libffi.call/float_va.c (main): Ditto. - * testsuite/libffi.call/cls_struct_va1.c (main): Ditto. - * testsuite/libffi.call/cls_pointer_stack.c (main): Ditto. - * testsuite/libffi.call/cls_pointer.c (main): Ditto. - * testsuite/libffi.call/cls_longdouble_va.c (main): Ditto. - -2013-02-06 Anthony Green - - * man/ffi_prep_cif.3: Clean up for debian lintian checker. - -2013-02-06 Anthony Green - - * Makefile.am (pkgconfigdir): Add missing pkgconfig install bits. - * Makefile.in: Rebuild. - -2013-02-02 Mark H Weaver - - * src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed - via general purpose registers. - -2013-01-21 Nathan Rossi - - * README: Add MicroBlaze details. - * Makefile.am: Add MicroBlaze support. - * configure.ac: Likewise. - * src/microblaze/ffi.c: New. - * src/microblaze/ffitarget.h: Likewise. - * src/microblaze/sysv.S: Likewise. - -2013-01-21 Nathan Rossi - * testsuite/libffi.call/return_uc.c: Fixed issue. - -2013-01-21 Chris Zankel - - * README: Add Xtensa support. - * Makefile.am: Likewise. - * configure.ac: Likewise. - * Makefile.in Regenerate. - * configure: Likewise. - * src/prep_cif.c: Handle Xtensa. - * src/xtensa: New directory. - * src/xtensa/ffi.c: New file. - * src/xtensa/ffitarget.h: Ditto. - * src/xtensa/sysv.S: Ditto. - -2013-01-11 Anthony Green - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style - comments with /* */ for xlc compiler. - * src/powerpc/aix.S (ffi_call_AIX): Ditto. - * testsuite/libffi.call/ffitest.h (allocate_mmap): Delete - deprecated inline function. - * testsuite/libffi.special/ffitestcxx.h: Ditto. - * README: Add update for AIX support. - -2013-01-11 Anthony Green - - * configure.ac: Robustify pc relative reloc check. - * m4/ax_cc_maxopt.m4: Don't -malign-double. This is an ABI - changing option for 32-bit x86. - * aclocal.m4, configure: Rebuilt. - * README: Update supported target list. - -2013-01-10 Anthony Green - - * README (tested): Add Compiler column to table. - -2013-01-10 Anthony Green - - * src/x86/ffi64.c (struct register_args): Make sse array and array - of unions for sunpro compiler compatibility. - -2013-01-10 Anthony Green - - * configure.ac: Test target platform size_t size. Handle both 32 - and 64-bit builds for x86_64-* and i?86-* targets (allowing for - CFLAG option to change default settings). - * configure, aclocal.m4: Rebuilt. - -2013-01-10 Anthony Green - - * testsuite/libffi.special/special.exp: Only run exception - handling tests when using GNU compiler. - - * m4/ax_compiler_vendor.m4: New file. - * configure.ac: Test for compiler vendor and don't use - AX_CFLAGS_WARN_ALL with the sun compiler. - * aclocal.m4, configure: Rebuilt. - -2013-01-10 Anthony Green - - * include/ffi_common.h: Don't use GCCisms to define types when - building with the SUNPRO compiler. - -2013-01-10 Anthony Green - - * configure.ac: Put local.exp in the right place. - * configure: Rebuilt. - - * src/x86/ffi.c: Update comment about regparm function attributes. - * src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires - that all function arguments be passed on the stack (no regparm - support). - -2013-01-08 Anthony Green - - * configure.ac: Generate local.exp. This sets CC_FOR_TARGET - when we are using the vendor compiler. - * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to - ../local.exp. - * configure, testsuite/Makefile.in: Rebuilt. - - * testsuite/libffi.call/call.exp: Run tests with different - options, depending on whether or not we are using gcc or the - vendor compiler. - * testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on - whether or not we are building/testing with gcc. - -2013-01-08 Anthony Green - - * configure.ac: Switch x86 solaris target to X86 by default. - * configure: Rebuilt. - -2013-01-08 Anthony Green - - * configure.ac: Fix test for read-only eh_frame. - * configure: Rebuilt. - -2013-01-08 Anthony Green - - * src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info - when building with the GNU toolchain. - * testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor - compiler. - -2013-01-07 Thorsten Glaser - - * testsuite/libffi.call/cls_uchar_va.c, - testsuite/libffi.call/cls_ushort_va.c, - testsuite/libffi.call/va_1.c: Testsuite fixes. - -2013-01-07 Thorsten Glaser - - * src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define. - (ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls. - * src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto. - -2013-01-04 Anthony Green - - * Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions - and -Wall. This is set in the configure script after testing for - GCC. - * Makefile.in: Rebuilt. - -2013-01-02 rofl0r - - * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc - when long double == double. - -2013-01-02 Reini Urban - - * Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS - (required for shared libs on cygwin/mingw). - * Makefile.in: Rebuilt. - -2012-10-31 Alan Modra - - * src/powerpc/linux64_closure.S: Add new ABI support. - * src/powerpc/linux64.S: Likewise. - -2012-10-30 Magnus Granberg - Pavel Labushev - - * configure.ac: New options pax_emutramp - * configure, fficonfig.h.in: Regenerated - * src/closures.c: New function emutramp_enabled_check() and - checks. - -2012-10-30 Frederick Cheung - - * configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain - lion) and future version. - * configure: Rebuild. - -2012-10-30 James Greenhalgh - Marcus Shawcroft - - * README: Add details of aarch64 port. - * src/aarch64/ffi.c: New. - * src/aarch64/ffitarget.h: Likewise. - * src/aarch64/sysv.S: Likewise. - * Makefile.am: Support aarch64. - * configure.ac: Support aarch64. - * Makefile.in, configure: Rebuilt. - -2012-10-30 James Greenhalgh - Marcus Shawcroft - - * testsuite/lib/libffi.exp: Add support for aarch64. - * testsuite/libffi.call/cls_struct_va1.c: New. - * testsuite/libffi.call/cls_uchar_va.c: Likewise. - * testsuite/libffi.call/cls_uint_va.c: Likewise. - * testsuite/libffi.call/cls_ulong_va.c: Likewise. - * testsuite/libffi.call/cls_ushort_va.c: Likewise. - * testsuite/libffi.call/nested_struct11.c: Likewise. - * testsuite/libffi.call/uninitialized.c: Likewise. - * testsuite/libffi.call/va_1.c: Likewise. - * testsuite/libffi.call/va_struct1.c: Likewise. - * testsuite/libffi.call/va_struct2.c: Likewise. - * testsuite/libffi.call/va_struct3.c: Likewise. - -2012-10-12 Walter Lee - - * Makefile.am: Add TILE-Gx/TILEPro support. - * configure.ac: Likewise. - * Makefile.in: Regenerate. - * configure: Likewise. - * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro. - * src/tile: New directory. - * src/tile/ffi.c: New file. - * src/tile/ffitarget.h: Ditto. - * src/tile/tile.S: Ditto. - -2012-10-12 Matthias Klose - - * generate-osx-source-and-headers.py: Normalize whitespace. - -2012-09-14 David Edelsohn - - * configure: Regenerated. - -2012-08-26 Andrew Pinski - - PR libffi/53014 - * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with - soft-float. - -2012-08-08 Uros Bizjak - - * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, - just return FFI_BAD_ABI when things are wrong. - -2012-07-18 H.J. Lu - - PR libffi/53982 - PR libffi/53973 - * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32. - (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. - -2012-05-16 H.J. Lu - - * configure: Regenerated. - -2012-05-05 Nicolas Lelong - - * libffi.xcodeproj/project.pbxproj: Fixes. - * README: Update for iOS builds. - -2012-04-23 Alexandre Keunecke I. de Mendonca - - * configure.ac: Add Blackfin/sysv support - * Makefile.am: Add Blackfin/sysv support - * src/bfin/ffi.c: Add Blackfin/sysv support - * src/bfin/ffitarget.h: Add Blackfin/sysv support - -2012-04-11 Anthony Green - - * Makefile.am (EXTRA_DIST): Add new script. - * Makefile.in: Rebuilt. - -2012-04-11 Zachary Waldowski - - * generate-ios-source-and-headers.py, - libffi.xcodeproj/project.pbxproj: Support a Mac static library via - Xcode. Set iOS compatibility to 4.0. Move iOS trampoline - generation into an Xcode "run script" phase. Include both as - Xcode build scripts. Don't always regenerate config files. - -2012-04-10 Anthony Green - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon. - -2012-04-06 Anthony Green - - * Makefile.am (EXTRA_DIST): Add new iOS/xcode files. - * Makefile.in: Rebuilt. - -2012-04-06 Mike Lewis - - * generate-ios-source-and-headers.py: New file. - * libffi.xcodeproj/project.pbxproj: New file. - * README: Update instructions on building iOS binary. - * build-ios.sh: Delete. - -2012-04-06 Anthony Green - - * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU - compilers, then use it. - -2012-04-06 H.J. Lu - - * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32. - -2012-04-06 Anthony Green - - * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases. - * testsuite/Makefile.in: Rebuilt. - -2012-04-05 Zachary Waldowski - - * include/ffi.h.in: Add missing trampoline table fields. - * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references - in CNAME. - * src/x86/ffi.c: Wrap Windows specific code in ifdefs. - -2012-04-02 Peter Bergner - - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp. - Silence casting pointer to integer of different size warning. - Delete goto to previously deleted label. - (ffi_call): Silence possibly undefined warning. - (ffi_closure_helper_SYSV): Declare variable type. - -2012-04-02 Peter Rosin - - * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return - value in the Intel version as is already done for the AT&T version. - (ffi_closure_SYSV): Likewise. - (ffi_closure_raw_SYSV): Likewise. - (ffi_closure_STDCALL): Likewise. - -2012-03-29 Peter Rosin - - * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame - generation, fix the ENDP label and remove the surplus third arg - from the 'lea' insn. - -2012-03-29 Peter Rosin - - * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label - visible outside the PROC, so that ffi_closure_raw_THISCALL can see - it. Also instruct the assembler to add a frame to the function. - -2012-03-23 Peter Rosin - - * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING. - * Makefile.in: Rebuilt. - * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations - to all data exports, when compiling libffi clients using MSVC. - -2012-03-29 Peter Rosin - - * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and - make it the default for MSVC. - (FFI_TYPE_MS_STRUCT): New structure return convention. - * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure - return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT - instead of an ordinary FFI_TYPE_STRUCT. - (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT. - (ffi_call): Likewise. - (ffi_prep_incoming_args_SYSV): Likewise. - (ffi_raw_call): Likewise. - (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV. - * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT, - return a pointer to the result structure in eax and don't pop - that pointer from the stack, the caller takes care of it. - (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT. - (ffi_closure_raw_SYSV): Likewise. - -2012-03-22 Peter Rosin - - * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline - assembly version with Intel syntax. - * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise. - -2012-03-23 Peter Rosin - - * testsuite/libffi.call/ffitest.h: Provide abstration of - __attribute__((fastcall)) in the form of a __FASTCALL__ - define. Define it to __fastcall for MSVC. - * testsuite/libffi.call/fastthis1_win32.c: Use the above. - * testsuite/libffi.call/fastthis2_win32.c: Likewise. - * testsuite/libffi.call/fastthis3_win32.c: Likewise. - * testsuite/libffi.call/strlen2_win32.c: Likewise. - * testsuite/libffi.call/struct1_win32.c: Likewise. - * testsuite/libffi.call/struct2_win32.c: Likewise. - -2012-03-22 Peter Rosin - - * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual - frame on function entry, MASM adds one automatically. - -2012-03-22 Peter Rosin - - * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing - bits in the MSVC headers. - -2012-03-22 Peter Rosin - - * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style - with no declarations after statements. - * testsuite/libffi.call/cls_16byte.c: Likewise. - * testsuite/libffi.call/cls_18byte.c: Likewise. - * testsuite/libffi.call/cls_19byte.c: Likewise. - * testsuite/libffi.call/cls_1_1byte.c: Likewise. - * testsuite/libffi.call/cls_20byte.c: Likewise. - * testsuite/libffi.call/cls_20byte1.c: Likewise. - * testsuite/libffi.call/cls_24byte.c: Likewise. - * testsuite/libffi.call/cls_2byte.c: Likewise. - * testsuite/libffi.call/cls_3_1byte.c: Likewise. - * testsuite/libffi.call/cls_3byte1.c: Likewise. - * testsuite/libffi.call/cls_3byte2.c: Likewise. - * testsuite/libffi.call/cls_4_1byte.c: Likewise. - * testsuite/libffi.call/cls_4byte.c: Likewise. - * testsuite/libffi.call/cls_5_1_byte.c: Likewise. - * testsuite/libffi.call/cls_5byte.c: Likewise. - * testsuite/libffi.call/cls_64byte.c: Likewise. - * testsuite/libffi.call/cls_6_1_byte.c: Likewise. - * testsuite/libffi.call/cls_6byte.c: Likewise. - * testsuite/libffi.call/cls_7_1_byte.c: Likewise. - * testsuite/libffi.call/cls_7byte.c: Likewise. - * testsuite/libffi.call/cls_8byte.c: Likewise. - * testsuite/libffi.call/cls_9byte1.c: Likewise. - * testsuite/libffi.call/cls_9byte2.c: Likewise. - * testsuite/libffi.call/cls_align_double.c: Likewise. - * testsuite/libffi.call/cls_align_float.c: Likewise. - * testsuite/libffi.call/cls_align_longdouble.c: Likewise. - * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise. - * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise. - * testsuite/libffi.call/cls_align_pointer.c: Likewise. - * testsuite/libffi.call/cls_align_sint16.c: Likewise. - * testsuite/libffi.call/cls_align_sint32.c: Likewise. - * testsuite/libffi.call/cls_align_sint64.c: Likewise. - * testsuite/libffi.call/cls_align_uint16.c: Likewise. - * testsuite/libffi.call/cls_align_uint32.c: Likewise. - * testsuite/libffi.call/cls_align_uint64.c: Likewise. - * testsuite/libffi.call/cls_dbls_struct.c: Likewise. - * testsuite/libffi.call/cls_pointer_stack.c: Likewise. - * testsuite/libffi.call/err_bad_typedef.c: Likewise. - * testsuite/libffi.call/huge_struct.c: Likewise. - * testsuite/libffi.call/nested_struct.c: Likewise. - * testsuite/libffi.call/nested_struct1.c: Likewise. - * testsuite/libffi.call/nested_struct10.c: Likewise. - * testsuite/libffi.call/nested_struct2.c: Likewise. - * testsuite/libffi.call/nested_struct3.c: Likewise. - * testsuite/libffi.call/nested_struct4.c: Likewise. - * testsuite/libffi.call/nested_struct5.c: Likewise. - * testsuite/libffi.call/nested_struct6.c: Likewise. - * testsuite/libffi.call/nested_struct7.c: Likewise. - * testsuite/libffi.call/nested_struct8.c: Likewise. - * testsuite/libffi.call/nested_struct9.c: Likewise. - * testsuite/libffi.call/stret_large.c: Likewise. - * testsuite/libffi.call/stret_large2.c: Likewise. - * testsuite/libffi.call/stret_medium.c: Likewise. - * testsuite/libffi.call/stret_medium2.c: Likewise. - * testsuite/libffi.call/struct1.c: Likewise. - * testsuite/libffi.call/struct1_win32.c: Likewise. - * testsuite/libffi.call/struct2.c: Likewise. - * testsuite/libffi.call/struct2_win32.c: Likewise. - * testsuite/libffi.call/struct3.c: Likewise. - * testsuite/libffi.call/struct4.c: Likewise. - * testsuite/libffi.call/struct5.c: Likewise. - * testsuite/libffi.call/struct6.c: Likewise. - * testsuite/libffi.call/struct7.c: Likewise. - * testsuite/libffi.call/struct8.c: Likewise. - * testsuite/libffi.call/struct9.c: Likewise. - * testsuite/libffi.call/testclosure.c: Likewise. - -2012-03-21 Peter Rosin - - * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when - printing doubles (%lf is for long doubles). - (main): Likewise. - -2012-03-21 Peter Rosin - - * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*] - (set_ld_library_path_env_vars): Add the library search dir to PATH - (and save PATH for later). - (restore_ld_library_path_env_vars): Restore PATH. - -2012-03-21 Peter Rosin - - * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*] - (set_ld_library_path_env_vars): Add the library search dir to PATH - (and save PATH for later). - (restore_ld_library_path_env_vars): Restore PATH. - -2012-03-20 Peter Rosin - - * testsuite/libffi.call/strlen2_win32.c (main): Remove bug. - * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label - visible outside the PROC, so that ffi_closure_THISCALL can see it. - -2012-03-20 Peter Rosin - - * testsuite/libffi.call/strlen2_win32.c (main): Remove bug. - * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label - visible outside the PROC, so that ffi_closure_THISCALL can see it. - -2012-03-19 Alan Hourihane - - * src/m68k/ffi.c: Add MINT support. - * src/m68k/sysv.S: Ditto. - -2012-03-06 Chung-Lin Tang - - * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to - ffi_call_VFP(). - (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of - ffi_closure_VFP. - * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code. - -2012-03-19 chennam - - * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure - support. - -2012-03-13 Kaz Kojima - - * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, - just return FFI_BAD_ABI when things are wrong. - * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto. - -2012-03-09 David Edelsohn - - * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64 - change to return value of ffi_closure_helper_DARWIN and load type - from return type. - -2012-03-03 H.J. Lu - - * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned - long. - (ffi_prep_closure_loc): Cast to 64bit address in trampoline. - (ffi_closure_unix64_inner): Cast return pointer to unsigned long - first. - - * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32. - (ffi_arg): Set to unsigned long long for x32. - (ffi_sarg): Set to long long for x32. - -2012-03-03 H.J. Lu - - * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI. - -2012-03-03 Andoni Morales Alastruey - - * configure.ac: Add -no-undefined for both 32- and 64-bit x86 - windows-like hosts. - * configure: Rebuilt. - -2012-02-27 Mikael Pettersson - - PR libffi/52223 - * Makefile.am (FLAGS_TO_PASS): Define. - * Makefile.in: Regenerate. - -2012-02-23 Anthony Green - - * src/*/ffitarget.h: Ensure that users never include ffitarget.h - directly. - -2012-02-23 Kai Tietz - - PR libffi/52221 - * src/x86/ffi.c (ffi_closure_raw_THISCALL): New - prototype. - (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for - thiscall-convention. - (ffi_raw_call): Use ffi_prep_args_raw. - * src/x86/win32.S (ffi_closure_raw_THISCALL): Add - implementation for stub. - -2012-02-10 Kai Tietz - - * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64 - windows target. - * configure: Regenerated. - -2012-02-08 Kai Tietz - - * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32 - also FFI_THISCALL. - * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype. - (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code. - (ffi_prep_closure_loc): Add FFI_THISCALL support. - * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size. - * src/x86/win32.S (ffi_closure_THISCALL): New closure code - for thiscall-calling convention. - * testsuite/libffi.call/closure_thiscall.c: New test. - -2012-01-28 Kai Tietz - - * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new - argument to prototype for specify calling-convention. - (ffi_call): Add support for stdcall/thiscall convention. - (ffi_prep_args): Likewise. - (ffi_raw_call): Likewise. - * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and - FFI_FASTCALL. - * src/x86/win32.S (_ffi_call_win32): Add support for - fastcall/thiscall calling-convention calls. - * testsuite/libffi.call/fastthis1_win32.c: New test. - * testsuite/libffi.call/fastthis2_win32.c: New test. - * testsuite/libffi.call/fastthis3_win32.c: New test. - * testsuite/libffi.call/strlen2_win32.c: New test. - * testsuite/libffi.call/many2_win32.c: New test. - * testsuite/libffi.call/struct1_win32.c: New test. - * testsuite/libffi.call/struct2_win32.c: New test. - -2012-01-23 Uros Bizjak - - * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI. - -2012-01-23 Anthony Green - Chris Young - - * configure.ac: Add Amiga support. - * configure: Rebuilt. - -2012-01-23 Dmitry Nadezhin - - * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions. - -2012-01-23 Andreas Schwab - - * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain - mc68000. Test for __HAVE_68881__ in addition to __MC68881__. - -2012-01-19 Jakub Jelinek - - PR rtl-optimization/48496 - * src/ia64/ffi.c (ffi_call): Fix up aliasing violations. - -2012-01-09 Rainer Orth - - * configure.ac (i?86-*-*): Set TARGET to X86_64. - * configure: Regenerate. - -2011-12-07 Andrew Pinski - - PR libffi/50051 - * src/mips/n32.S: Add ".set mips4". - -2011-11-21 Andreas Tobler - - * configure: Regenerate. - -2011-11-12 David Gilbert - - * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h, - man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3, - man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h, - src/cris/ffi.c, src/prep_cif.c, - testsuite/libffi.call/cls_double_va.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/float_va.c: Many changes to support variadic - function calls. - -2011-11-12 Kyle Moffett - - * src/powerpc/ffi.c, src/powerpc/ffitarget.h, - src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for - softfloat powerpc variants. - -2011-11-12 Petr Salinger - - * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support. - * configure: Rebuilt. - -2011-11-12 Timothy Wall - - * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max - alignment of 4 for wince on ARM. - -2011-11-12 Kyle Moffett - Anthony Green - - * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string - instructions (not available on some cores, like the PPC440). - -2011-11-12 Kimura Wataru - - * m4/ax_enable_builddir: Change from string comparison to numeric - comparison for wc output. - * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS - X 10.7. - * configure: Rebuilt. - -2011-11-12 Anthony Green - - * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly - files with debug info. - * Makefile.in: Rebuilt. - -2011-11-12 Jasper Lievisse Adriaanse - - * README: Update list of supported OpenBSD systems. - -2011-11-12 Anthony Green - - * libtool-version: Update. - * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if - FFI_DEBUG. - (libffi_la_SOURCES): Remove src/debug.c - (EXTRA_DIST): Add src/debug.c - * Makefile.in: Rebuilt. - * README: Update for 3.0.11. - -2011-11-10 Richard Henderson - - * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check. - * configure, aclocal.m4: Rebuild. - -2011-09-04 Iain Sandoe - - PR libffi/49594 - * src/powerpc/darwin_closure.S (stubs): Make the stub binding - helper reference track the architecture pointer size. - -2011-08-25 Andrew Haley - - * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly - instructions. - * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead. - -2011-07-11 Andrew Haley - - * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache. - -2011-06-29 Rainer Orth - - * testsuite/libffi.call/cls_double_va.c: Move PR number to comment. - * testsuite/libffi.call/cls_longdouble_va.c: Likewise. - -2011-06-29 Rainer Orth - - PR libffi/46660 - * testsuite/libffi.call/cls_double_va.c: xfail dg-output on - mips-sgi-irix6*. - * testsuite/libffi.call/cls_longdouble_va.c: Likewise. - -2011-06-14 Rainer Orth - - * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8, - PRId8 instead of %hhu, %hhd. - * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8, - PRIu8): Define. - [__sgi__] (PRId8, PRIu8): Define. - -2011-04-29 Rainer Orth - - * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE): - Define. - Use them to handle ELF vs. ECOFF differences. - [__osf__] (_GLOBAL__F_ffi_call_osf): Define. - -2011-03-30 Timothy Wall - - * src/powerpc/darwin.S: Fix unknown FDE encoding. - * src/powerpc/darwin_closure.S: ditto. - -2011-02-25 Anthony Green - - * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more - 32-bit ABIs. - -2011-02-15 Anthony Green - - * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math. - * configure: Rebuilt. - -2011-02-13 Ralf Wildenhues - - * configure: Regenerate. - -2011-02-13 Anthony Green - - * include/ffi_common.h (UNLIKELY, LIKELY): Define. - * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition. - * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition. - - * src/prep_cif.c (initialize_aggregate): Convert assertion into - FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0. - - * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, - just return FFI_BAD_ABI when things are wrong. - * src/arm/ffi.c (ffi_prep_closure_loc): Ditto. - * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto. - * src/mips/ffi.c (ffi_prep_closure_loc): Ditto. - * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto. - * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto. - -2011-02-11 Anthony Green - - * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, - just return FFI_BAD_ABI when things are wrong. - -2012-02-11 Eric Botcazou - - * src/sparc/v9.S (STACKFRAME): Bump to 176. - -2011-02-09 Stuart Shelton - - http://bugs.gentoo.org/show_bug.cgi?id=286911 - * src/mips/ffitarget.h: Clean up error messages. - * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to - ffi_raw*. - * include/ffi.h.in: Add pragma for SGI compiler. - -2011-02-09 Anthony Green - - * configure.ac: Add powerpc64-*-darwin* support. - -2011-02-09 Anthony Green - - * README: Mention Interix. - -2011-02-09 Jonathan Callen - - * configure.ac: Add Interix to win32/cygwin/mingw case. - * configure: Ditto. - * src/closures.c: Treat Interix like Cygwin, instead of as a - generic win32. - -2011-02-09 Anthony Green - - * testsuite/libffi.call/err_bad_typedef.c: Remove xfail. - * testsuite/libffi.call/err_bad_abi.c: Remove xfail. - * src/x86/ffi64.c (UNLIKELY, LIKELY): Define. - (ffi_prep_closure_loc): Check for bad ABI. - * src/prep_cif.c (UNLIKELY, LIKELY): Define. - (initialize_aggregate): Check for bad types. - -2011-02-09 Landon Fuller - - * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh, - src/arm/trampoline.S. - (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S. - * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define. - * src/arm/ffi.c (ffi_trampoline_table) - (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry) - (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) - (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables) - (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free): - Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS). - (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case - separately. - * src/arm/sysv.S: Handle Apple iOS host. - * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case. - * build-ios.sh: New file. - * fficonfig.h.in, configure, Makefile.in: Rebuilt. - * README: Mention ARM iOS. - -2011-02-08 Oren Held - - * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid - redefinition of mallinfo on HP-UX. - -2011-02-08 Ginn Chen - - * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio - aggregate return ABI. Flush cache. - (ffi_prep_closure_loc): Flush cache. - -2011-02-11 Anthony Green - - From Tom Honermann : - * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on - AIX. Declare .ffi_prep_args. Insert nops after branch - instructions so that the AIX linker can insert TOC reload - instructions. - * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN. - -2011-02-08 Ed - - * src/powerpc/asm.h: Fix grammar nit in comment. - -2011-02-08 Uli Link - - * include/ffi.h.in (FFI_64_BIT_MAX): Define and use. - -2011-02-09 Rainer Orth - - PR libffi/46661 - * testsuite/libffi.call/cls_pointer.c (main): Cast void * to - uintptr_t first. - * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise. - -2011-02-08 Rafael Avila de Espindola - - * configure.ac: Fix x86 test for pc related relocs. - * configure: Rebuilt. - -2011-02-07 Joel Sherrill - - * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing. - Handle case when CPU variant does not have long double support. - * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire, - and cores with soft floating point. - -2011-02-07 Joel Sherrill - - * configure.ac: Add mips*-*-rtems* support. - * configure: Regenerate. - * src/mips/ffitarget.h: Ensure needed constants are available - for targets which do not have sgidefs.h. - -2011-01-26 Dave Korn - - PR target/40125 - * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs. - * configure: Regenerate. - -2010-12-18 Iain Sandoe - - PR libffi/29152 - PR libffi/42378 - * src/powerpc/darwin_closure.S: Provide Darwin64 implementation, - update comments. - * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New, - (FFI_TRAMPOLINE_SIZE): Update for Darwin64. - * src/powerpc/darwin.S: Provide Darwin64 implementation, - update comments. - * src/powerpc/ffi_darwin.c: Likewise. - -2010-12-06 Rainer Orth - - * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double - backslashes. - (libffi_cv_as_string_pseudo_op): Likewise. - * configure: Regenerate. - -2010-12-03 Chung-Lin Tang - - * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive. - (ffi_closure_VFP): Same. - (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp' - directive. - -2010-12-01 Rainer Orth - - * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define. - (PRIuPTR): Define. - -2010-11-29 Richard Henderson - Rainer Orth - - * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define. - (.eh_frame): Use FDE_ENCODING. - (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE. - -2010-11-22 Jacek Caban - - * configure.ac: Check for symbol underscores on mingw-w64. - * configure: Rebuilt. - * src/x86/win64.S: Correctly access extern symbols in respect to - underscores. - -2010-11-15 Rainer Orth - - * testsuite/lib/libffi-dg.exp: Rename ... - * testsuite/lib/libffi.exp: ... to this. - * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp. - * libffi/testsuite/libffi.special/special.exp: Likewise. - -2010-10-28 Chung-Lin Tang - - * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling - code, new parameter, and return value. Update comments. - (ffi_prep_cif_machdep): Add case for VFP struct return values. Add - call to layout_vfp_args(). - (ffi_call_SYSV): Update declaration. - (ffi_call_VFP): New declaration. - (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP() - when ABI is FFI_VFP. - (ffi_closure_VFP): New declaration. - (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to - ffi_prep_incoming_args_SYSV(). - (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument - case handling. - (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline - construction under VFP hard-float. - (rec_vfp_type_p): New function. - (vfp_type_p): Same. - (place_vfp_arg): Same. - (layout_vfp_args): Same. - * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI - based on __ARM_PCS_VFP. - (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific - fields. - (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code. - (FFI_TYPE_STRUCT_VFP_DOUBLE): Same. - * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to - direct call. Move function pointer load upwards. - (ffi_call_VFP): New function. - (ffi_closure_VFP): Same. - - * testsuite/lib/libffi-dg.exp (check-flags): New function. - (dg-skip-if): New function. - * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-* - and compiler options include -mfloat-abi=hard. - * testsuite/libffi.call/cls_longdouble_va.c: Same. - -2010-10-01 Jakub Jelinek - - PR libffi/45677 - * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is - a multiple of 8. - * testsuite/libffi.call/many2.c: New test. - -2010-08-20 Mark Wielaard - - * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r - returns NULL. - -2010-08-09 Andreas Tobler - - * configure.ac: Add target powerpc64-*-freebsd*. - * configure: Regenerate. - * testsuite/libffi.call/cls_align_longdouble_split.c: Pass - -mlong-double-128 only to linux targets. - * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise. - * testsuite/libffi.call/cls_longdouble.c: Likewise. - * testsuite/libffi.call/huge_struct.c: Likewise. - -2010-08-05 Dan Witte - - * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the - debug CRT when --enable-debug is given. - * configure.ac: Define it. - * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately. - -2010-08-04 Dan Witte - - * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64 - platforms. - * src/x86/ffi.c: Remove redundant ifdef checks. - * src/prep_cif.c: Push stack space computation into src/x86/ffi.c - for X86_ANY so return value space doesn't get added twice. - -2010-08-03 Neil Rashbrooke - - * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy. - -2010-07-22 Dan Witte - - * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI. - * src/prep_cif.c: Fix ABI assertion. - * src/cris/ffi.c: Ditto. - -2010-07-10 Evan Phoenix - - * src/closures.c (selinux_enabled_check): Fix strncmp usage bug. - -2010-07-07 Dan Horák - - * include/ffi.h.in: Protect #define with #ifndef. - * src/powerpc/ffitarget.h: Ditto. - * src/s390/ffitarget.h: Ditto. - * src/sparc/ffitarget.h: Ditto. - -2010-07-07 Neil Roberts - - * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to - 16-bytes. - -2010-07-02 Jakub Jelinek - - * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes. - * Makefile.in: Regenerated. - -2010-05-19 Rainer Orth - - * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as - output, too. - (libffi_cv_as_ascii_pseudo_op): Check for .ascii. - (libffi_cv_as_string_pseudo_op): Check for .string. - * configure: Regenerate. - * fficonfig.h.in: Regenerate. - * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error. - -2010-05-11 Dan Witte - - * doc/libffi.tex: Document previous change. - -2010-05-11 Makoto Kato - - * src/x86/ffi.c (ffi_call): Don't copy structs passed by value. - -2010-05-05 Michael Kohler - - * src/dlmalloc.c (dlfree): Fix spelling. - * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto. - * configure.ac: Ditto. - * configure: Rebuilt. - -2010-04-13 Dan Witte - - * msvcc.sh: Build with -W3 instead of -Wall. - * src/powerpc/ffi_darwin.c: Remove build warnings. - * src/x86/ffi.c: Ditto. - * src/x86/ffitarget.h: Ditto. - -2010-04-12 Dan Witte - Walter Meinl - - * configure.ac: Add OS/2 support. - * configure: Rebuilt. - * src/closures.c: Ditto. - * src/dlmalloc.c: Ditto. - * src/x86/win32.S: Ditto. - -2010-04-07 Jakub Jelinek - - * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable. - -2010-04-02 Ralf Wildenhues - - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * include/Makefile.in: Regenerate. - * man/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2010-03-30 Dan Witte - - * msvcc.sh: Disable build warnings. - * README (tested): Clarify windows build procedure. - -2010-03-15 Rainer Orth - - * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test. - * configure: Regenerate. - * fficonfig.h.in: Regenerate. - * libffi/src/x86/unix64.S (.eh_frame) - [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type. - -2010-03-14 Matthias Klose - - * src/x86/ffi64.c: Fix typo in comment. - * src/x86/ffi.c: Use /* ... */ comment style. - -2010-02-24 Rainer Orth - - * doc/libffi.texi (The Closure API): Fix typo. - * doc/libffi.info: Remove. - -2010-02-15 Matthias Klose - - * src/arm/sysv.S (__ARM_ARCH__): Define for processor - __ARM_ARCH_7EM__. - -2010-01-15 Anthony Green - - * README: Add notes on building with Microsoft Visual C++. - -2010-01-15 Daniel Witte - - * msvcc.sh: New file. - - * src/x86/win32.S: Port assembly routines to MSVC and #ifdef. - * src/x86/ffi.c: Tweak function declaration and remove excess - parens. - * include/ffi.h.in: Add __declspec(align(8)) to typedef struct - ffi_closure. - - * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new - function ffi_call_win32 on X86_WIN32. - * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32. - (ffi_call_STDCALL): Remove. - - * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code - to ffi_prep_cif_machdep for x86. - * src/x86/ffi.c (ffi_prep_cif_machdep): To here. - -2010-01-15 Oliver Kiddle - - * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for - Sun Studio compiler compatibility. - -2010-01-12 Conrad Irwin - - * doc/libffi.texi: Add closure example. - -2010-01-07 Rainer Orth - - PR libffi/40701 - * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL, - PRIuLL, PRId64, PRIu64, PRIuPTR): Define. - * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on - alpha*-dec-osf*. - * testsuite/libffi.call/cls_align_uint64.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/return_ll1.c: Likewise. - * testsuite/libffi.call/stret_medium2.c: Likewise. - * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast - MAP_FAILED to char *. - -2010-01-06 Rainer Orth - - * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__. - -2009-12-31 Anthony Green - - * README: Update for libffi 3.0.9. - -2009-12-27 Matthias Klose - - * configure.ac (HAVE_LONG_DOUBLE): Define for mips when - appropriate. - * configure: Rebuilt. - -2009-12-26 Anthony Green - - * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for - avr32*-*-*. - * testsuite/libffi.call/cls_double_va.c: Ditto. - -2009-12-26 Andreas Tobler - - * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h - and inttypes.h. - * testsuite/libffi.special/unwindtest.cc: Ditto. - -2009-12-26 Andreas Tobler - - * configure.ac: Add amd64-*-openbsd*. - * configure: Rebuilt. - * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link - openbsd programs with -lpthread. - -2009-12-26 Anthony Green - - * testsuite/libffi.call/cls_double_va.c, - testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for - mips*-*-* and arm*-*-*. - * testsuite/libffi.call/cls_align_longdouble_split.c, - testsuite/libffi.call/cls_align_longdouble_split2.c, - testsuite/libffi.call/stret_medium2.c, - testsuite/libffi.call/stret_medium.c, - testsuite/libffi.call/stret_large.c, - testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*. - -2009-12-31 Kay Tietz - - * testsuite/libffi.call/ffitest.h, - testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix - definitions. - -2009-12-31 Carlo Bramini - - * configure.ac (AM_LTLDFLAGS): Define for windows hosts. - * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS. - * configure: Rebuilt. - * Makefile.in: Rebuilt. - -2009-12-31 Anthony Green - Blake Chaffin. - - * testsuite/libffi.call/huge_struct.c: New test case from Blake - Chaffin @ Apple. - -2009-12-28 David Edelsohn - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to - local variables. - (aix_adjust_aggregate_sizes): New function. - (ffi_prep_cif_machdep): Call it. - -2009-12-26 Andreas Tobler - - * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets. - * configure: Regenerate. - * fficonfig.h.in: Likewise. - * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for - Solaris/x86. - -2009-12-26 Andreas Schwab - - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count - when a float arguments is passed in memory. - (ffi_closure_helper_SYSV): Mark general registers as used up when - a 64bit or soft-float long double argument is passed in memory. - -2009-12-25 Matthias Klose - - * man/ffi_call.3: Fix #include in examples. - * doc/libffi.texi: Add dircategory. - -2009-12-25 Frank Everdij - - * include/ffi.h.in: Placed '__GNUC__' ifdef around - '__attribute__((aligned(8)))' in ffi_closure, fixes compile for - IRIX MIPSPro c99. - * include/ffi_common.h: Added '__sgi' define to non - '__attribute__((__mode__()))' integer typedefs. - * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32, - ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check. - (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added - FFI_LONGDOUBLE support and alignment(N32 only). - * src/mips/ffitarget.h: Corrected '#include ' for IRIX and - fixed non '__attribute__((__mode__()))' integer typedefs. - * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame' - since they are Linux/GNU Assembler specific. - -2009-12-25 Bradley Smith - - * configure.ac, Makefile.am, src/avr32/ffi.c, - src/avr32/ffitarget.h, - src/avr32/sysv.S: Add AVR32 port. - * configure, Makefile.in: Rebuilt. - -2009-12-21 Andreas Tobler - - * configure.ac: Make i?86 build on FreeBSD and OpenBSD. - * configure: Regenerate. - -2009-12-15 John David Anglin - - * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX. - -2009-12-13 John David Anglin - - * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE - type on HP-UX. - -2012-02-13 Kai Tietz - - PR libffi/52221 - * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall - support for X86_WIN32. - (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement. - -2009-12-11 Eric Botcazou - - * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long - double' arguments. - -2009-12-11 Eric Botcazou - - * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10. - -2009-12-10 Rainer Orth - - PR libffi/40700 - * src/closures.c [X86_64 && __sun__ && __svr4__] - (FFI_MMAP_EXEC_WRIT): Define. - -2009-12-08 David Daney - - * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-* - * testsuite/libffi.call/cls_align_longdouble_split2.c: Same. - * testsuite/libffi.call/stret_large.c: Same. - * testsuite/libffi.call/cls_align_longdouble_split.c: Same. - * testsuite/libffi.call/stret_large2.c: Same. - * testsuite/libffi.call/stret_medium2.c: Same. - -2009-12-07 David Edelsohn - - * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump - typo. - -2009-12-05 David Edelsohn - - * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64 - code. - * src/powerpc/aix_closure.S: Same. - -2009-12-05 Ralf Wildenhues - - * Makefile.in: Regenerate. - * configure: Regenerate. - * include/Makefile.in: Regenerate. - * man/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2009-12-04 David Edelsohn - - * src/powerpc/aix_closure.S: Reorganize 64-bit code to match - linux64_closure.S. - -2009-12-04 Uros Bizjak - - PR libffi/41908 - * src/x86/ffi64.c (classify_argument): Update from - gcc/config/i386/i386.c. - (ffi_closure_unix64_inner): Do not use the address of two consecutive - SSE registers directly. - * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail - for x86_64 linux targets. - -2009-12-04 David Edelsohn - - * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment - pfr for long double split between fpr13 and stack. - -2009-12-03 David Edelsohn - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and - fparg_count twice for long double. - -2009-12-03 David Edelsohn - - PR libffi/42243 - * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses. - -2009-12-03 Uros Bizjak - - * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string. - Remove xfails for x86 linux targets. - -2009-12-02 David Edelsohn - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64 - case. - -2009-12-01 David Edelsohn - - * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard - register usage. Call ffi_prep_args directly. Add long double - return value support. - * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment - applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo. - Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases. - (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit - mode. - (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp - into case. - * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment. - Allocate result area between params and FPRs. - -2009-11-30 David Edelsohn - - PR target/35484 - * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and - AIX64. - * src/powerpc/aix.S: Implement AIX64 version. - * src/powerpc/aix_closure.S: Implement AIX64 version. - (ffi_closure_ASM): Use extsb, lha and displament addresses. - * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64 - support. - (ffi_prep_cif_machdep): Same. - (ffi_call): Same. - (ffi_closure_helper_DARWIN): Same. - -2009-11-02 Andreas Tobler - - PR libffi/41908 - * testsuite/libffi.call/testclosure.c: New test. - -2009-09-28 Kai Tietz - - * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu - assembly version use of ___chkstk. - -2009-09-23 Matthias Klose - - PR libffi/40242, PR libffi/41443 - * src/arm/sysv.S (__ARM_ARCH__): Define for processors - __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__, - __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__. - Change the conditionals to __SOFTFP__ || __ARM_EABI__ - for -mfloat-abi=softfp to work. - -2009-09-17 Loren J. Rittle - - PR testsuite/32843 (strikes again) - * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to - enable proper extension on char and short. - -2009-09-15 David Daney - - * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special - handling for FFI_TYPE_POINTER. - * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT, - FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT, - FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT, - FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines. - (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations. - (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float. - * src/mips/n32.S (ffi_call_N32): Add handling for soft-float - structure and pointer returns. - (ffi_closure_N32): Add handling for pointer returns. - * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags, - calc_n32_return_struct_flags): Handle soft-float. - (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling. - (ffi_call_N32): Declare proper argument types. - (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle - soft-float. - -2009-08-24 Ralf Wildenhues - - * configure.ac (AC_PREREQ): Bump to 2.64. - -2009-08-22 Ralf Wildenhues - - * Makefile.am (install-html, install-pdf): Remove. - * Makefile.in: Regenerate. - - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * configure: Regenerate. - * fficonfig.h.in: Regenerate. - * include/Makefile.in: Regenerate. - * man/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2011-08-22 Jasper Lievisse Adriaanse - - * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support. - * configure: Rebuilt. - -2009-07-30 Ralf Wildenhues - - * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. - -2009-07-24 Dave Korn - - PR libffi/40807 - * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending - return types for X86_WIN32. - * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types. - (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV, - _ffi_closure_STDCALL): Likewise. - - * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin. - (dlmmap, dlmunmap): Also use these functions on Cygwin. - -2009-07-11 Richard Sandiford - - PR testsuite/40699 - PR testsuite/40707 - PR testsuite/40709 - * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and - 2009-06-30 commits. - -2009-07-01 Richard Sandiford - - * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path - to "" before adding paths. (This reinstates an assignment that - was removed by my 2009-06-30 commit, but changes the initial - value from "." to "".) - -2009-07-01 H.J. Lu - - PR testsuite/40601 - * testsuite/lib/libffi-dg.exp (libffi-init): Properly set - gccdir. Adjust ld_library_path for gcc only if gccdir isn't - empty. - -2009-06-30 Richard Sandiford - - * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "." - to ld_library_path. Use add_path. Add just find_libgcc_s - to ld_library_path, not every libgcc multilib directory. - -2009-06-16 Wim Lewis - - * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are - supposed to be callee-saved. - * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of - return buffer for odd-size structs. - -2009-06-16 Andreas Tobler - - PR libffi/40444 - * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add - allow_stack_execute for Darwin. - -2009-06-16 Andrew Haley - - * configure.ac (TARGETDIR): Add missing blank lines. - * configure: Regenerate. - -2009-06-16 Andrew Haley - - * testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/return_ll1.c, - testsuite/libffi.call/stret_medium2.c: Fix printf format - specifiers. - * testsuite/libffi.call/ffitest.h, - testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define. - -2009-06-15 Andrew Haley - - * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere. - * testsuite/libffi.call/err_bad_abi.c: Likewise. - -2009-06-12 Andrew Haley - - * Makefile.am: Remove info_TEXINFOS. - -2009-06-12 Andrew Haley - - * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/return_ll1.c, - testsuite/libffi.call/stret_medium2.c: Fix printf format - specifiers. - testsuite/libffi.special/unwindtest.cc: include stdint.h. - -2009-06-11 Timothy Wall - - * Makefile.am, - configure.ac, - include/ffi.h.in, - include/ffi_common.h, - src/closures.c, - src/dlmalloc.c, - src/x86/ffi.c, - src/x86/ffitarget.h, - src/x86/win64.S (new), - README: Added win64 support (mingw or MSVC) - * Makefile.in, - include/Makefile.in, - man/Makefile.in, - testsuite/Makefile.in, - configure, - aclocal.m4: Regenerated - * ltcf-c.sh: properly escape cygwin/w32 path - * man/ffi_call.3: Clarify size requirements for return value. - * src/x86/ffi64.c: Fix filename in comment. - * src/x86/win32.S: Remove unused extern. - - * testsuite/libffi.call/closure_fn0.c, - testsuite/libffi.call/closure_fn1.c, - testsuite/libffi.call/closure_fn2.c, - testsuite/libffi.call/closure_fn3.c, - testsuite/libffi.call/closure_fn4.c, - testsuite/libffi.call/closure_fn5.c, - testsuite/libffi.call/closure_fn6.c, - testsuite/libffi.call/closure_stdcall.c, - testsuite/libffi.call/cls_12byte.c, - testsuite/libffi.call/cls_16byte.c, - testsuite/libffi.call/cls_18byte.c, - testsuite/libffi.call/cls_19byte.c, - testsuite/libffi.call/cls_1_1byte.c, - testsuite/libffi.call/cls_20byte.c, - testsuite/libffi.call/cls_20byte1.c, - testsuite/libffi.call/cls_24byte.c, - testsuite/libffi.call/cls_2byte.c, - testsuite/libffi.call/cls_3_1byte.c, - testsuite/libffi.call/cls_3byte1.c, - testsuite/libffi.call/cls_3byte2.c, - testsuite/libffi.call/cls_4_1byte.c, - testsuite/libffi.call/cls_4byte.c, - testsuite/libffi.call/cls_5_1_byte.c, - testsuite/libffi.call/cls_5byte.c, - testsuite/libffi.call/cls_64byte.c, - testsuite/libffi.call/cls_6_1_byte.c, - testsuite/libffi.call/cls_6byte.c, - testsuite/libffi.call/cls_7_1_byte.c, - testsuite/libffi.call/cls_7byte.c, - testsuite/libffi.call/cls_8byte.c, - testsuite/libffi.call/cls_9byte1.c, - testsuite/libffi.call/cls_9byte2.c, - testsuite/libffi.call/cls_align_double.c, - testsuite/libffi.call/cls_align_float.c, - testsuite/libffi.call/cls_align_longdouble.c, - testsuite/libffi.call/cls_align_longdouble_split.c, - testsuite/libffi.call/cls_align_longdouble_split2.c, - testsuite/libffi.call/cls_align_pointer.c, - testsuite/libffi.call/cls_align_sint16.c, - testsuite/libffi.call/cls_align_sint32.c, - testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_align_uint16.c, - testsuite/libffi.call/cls_align_uint32.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_dbls_struct.c, - testsuite/libffi.call/cls_double.c, - testsuite/libffi.call/cls_double_va.c, - testsuite/libffi.call/cls_float.c, - testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_multi_schar.c, - testsuite/libffi.call/cls_multi_sshort.c, - testsuite/libffi.call/cls_multi_sshortchar.c, - testsuite/libffi.call/cls_multi_uchar.c, - testsuite/libffi.call/cls_multi_ushort.c, - testsuite/libffi.call/cls_multi_ushortchar.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c, - testsuite/libffi.call/cls_schar.c, - testsuite/libffi.call/cls_sint.c, - testsuite/libffi.call/cls_sshort.c, - testsuite/libffi.call/cls_uchar.c, - testsuite/libffi.call/cls_uint.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/cls_ushort.c, - testsuite/libffi.call/err_bad_abi.c, - testsuite/libffi.call/err_bad_typedef.c, - testsuite/libffi.call/float2.c, - testsuite/libffi.call/huge_struct.c, - testsuite/libffi.call/nested_struct.c, - testsuite/libffi.call/nested_struct1.c, - testsuite/libffi.call/nested_struct10.c, - testsuite/libffi.call/nested_struct2.c, - testsuite/libffi.call/nested_struct3.c, - testsuite/libffi.call/nested_struct4.c, - testsuite/libffi.call/nested_struct5.c, - testsuite/libffi.call/nested_struct6.c, - testsuite/libffi.call/nested_struct7.c, - testsuite/libffi.call/nested_struct8.c, - testsuite/libffi.call/nested_struct9.c, - testsuite/libffi.call/problem1.c, - testsuite/libffi.call/return_ldl.c, - testsuite/libffi.call/return_ll1.c, - testsuite/libffi.call/stret_large.c, - testsuite/libffi.call/stret_large2.c, - testsuite/libffi.call/stret_medium.c, - testsuite/libffi.call/stret_medium2.c, - testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead - of checking for MMAP. Use intptr_t instead of long casts. - -2009-06-11 Kaz Kojima - - * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*. - * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*. - * testsuite/libffi.call/err_bad_typedef.c: Likewise. - -2009-06-09 Andrew Haley - - * src/x86/freebsd.S: Add missing file. - -2009-06-08 Andrew Haley - - Import from libffi 3.0.8: - - * doc/libffi.texi: New file. - * doc/libffi.info: Likewise. - * doc/stamp-vti: Likewise. - * man/Makefile.am: New file. - * man/ffi_call.3: New file. - - * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S, - src/dlmalloc.c. - (nodist_libffi_la_SOURCES): Add X86_FREEBSD. - - * configure.ac: Bump version to 3.0.8. - parisc*-*-linux*: Add. - i386-*-freebsd* | i386-*-openbsd*: Add. - powerpc-*-beos*: Add. - AM_CONDITIONAL X86_FREEBSD: Add. - AC_CONFIG_FILES: Add man/Makefile. - - * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void). - -2009-06-08 Andrew Haley - - * README: Import from libffi 3.0.8. - -2009-06-08 Andrew Haley - - * testsuite/libffi.call/err_bad_abi.c: Add xfails. - * testsuite/libffi.call/cls_longdouble_va.c: Add xfails. - * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*. - * testsuite/libffi.call/err_bad_typedef.c: Add xfails. - - * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args. - * testsuite/libffi.call/stret_medium.c: Likewise. - * testsuite/libffi.call/stret_large2.c: Likewise. - * testsuite/libffi.call/stret_large.c: Likewise. - -2008-12-26 Timothy Wall - - * testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_align_longdouble.c, - testsuite/libffi.call/cls_align_longdouble_split.c, - testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected - failures on x86_64 cygwin/mingw. - -2008-12-22 Timothy Wall - - * testsuite/libffi.call/closure_fn0.c, - testsuite/libffi.call/closure_fn1.c, - testsuite/libffi.call/closure_fn2.c, - testsuite/libffi.call/closure_fn3.c, - testsuite/libffi.call/closure_fn4.c, - testsuite/libffi.call/closure_fn5.c, - testsuite/libffi.call/closure_fn6.c, - testsuite/libffi.call/closure_loc_fn0.c, - testsuite/libffi.call/closure_stdcall.c, - testsuite/libffi.call/cls_align_pointer.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c: use portable cast from - pointer to integer (intptr_t). - * testsuite/libffi.call/cls_longdouble.c: disable for win64. - -2008-07-24 Anthony Green - - * testsuite/libffi.call/cls_dbls_struct.c, - testsuite/libffi.call/cls_double_va.c, - testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c, - testsuite/libffi.call/err_bad_abi.c: Clean up failures from - compiler warnings. - -2008-03-04 Anthony Green - Blake Chaffin - hos@tamanegi.org - - * testsuite/libffi.call/cls_align_longdouble_split2.c - testsuite/libffi.call/cls_align_longdouble_split.c - testsuite/libffi.call/cls_dbls_struct.c - testsuite/libffi.call/cls_double_va.c - testsuite/libffi.call/cls_longdouble.c - testsuite/libffi.call/cls_longdouble_va.c - testsuite/libffi.call/cls_pointer.c - testsuite/libffi.call/cls_pointer_stack.c - testsuite/libffi.call/err_bad_abi.c - testsuite/libffi.call/err_bad_typedef.c - testsuite/libffi.call/stret_large2.c - testsuite/libffi.call/stret_large.c - testsuite/libffi.call/stret_medium2.c - testsuite/libffi.call/stret_medium.c: New tests from Apple. - -2009-06-05 Andrew Haley - - * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from - libffi. - -2009-06-04 Andrew Haley - - * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out - stdcall changes. - -2008-02-26 Anthony Green - Thomas Heller - - * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C - comment. - -2008-02-03 Timothy Wall - - * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return - offset based on code pointer, not data pointer. - -2008-01-31 Timothy Wall - - * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall - closures. - * src/x86/ffitarget.h: Increase size of trampoline for stdcall - closures. - * src/x86/win32.S: Add assembly for stdcall closure. - * src/x86/ffi.c: Initialize stdcall closure trampoline. - -2009-06-04 Andrew Haley - - * include/ffi.h.in: Change void (*)() to void (*)(void). - * src/x86/ffi.c: Likewise. - -2009-06-04 Andrew Haley - - * src/powerpc/ppc_closure.S: Insert licence header. - * src/powerpc/linux64_closure.S: Likewise. - * src/m68k/sysv.S: Likewise. - - * src/sh64/ffi.c: Change void (*)() to void (*)(void). - * src/powerpc/ffi.c: Likewise. - * src/powerpc/ffi_darwin.c: Likewise. - * src/m32r/ffi.c: Likewise. - * src/sh64/ffi.c: Likewise. - * src/x86/ffi64.c: Likewise. - * src/alpha/ffi.c: Likewise. - * src/alpha/osf.S: Likewise. - * src/frv/ffi.c: Likewise. - * src/s390/ffi.c: Likewise. - * src/pa/ffi.c: Likewise. - * src/pa/hpux32.S: Likewise. - * src/ia64/unix.S: Likewise. - * src/ia64/ffi.c: Likewise. - * src/sparc/ffi.c: Likewise. - * src/mips/ffi.c: Likewise. - * src/sh/ffi.c: Likewise. - -2008-02-15 David Daney - - * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE): - Define (conditionally), and use it to include cachectl.h. - (ffi_prep_closure_loc): Fix cache flushing. - * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define. - -2009-06-04 Andrew Haley - - include/ffi.h.in, - src/arm/ffitarget.h, - src/arm/ffi.c, - src/arm/sysv.S, - src/powerpc/ffitarget.h, - src/closures.c, - src/sh64/ffitarget.h, - src/sh64/ffi.c, - src/sh64/sysv.S, - src/types.c, - src/x86/ffi64.c, - src/x86/ffitarget.h, - src/x86/win32.S, - src/x86/darwin.S, - src/x86/ffi.c, - src/x86/sysv.S, - src/x86/unix64.S, - src/alpha/ffitarget.h, - src/alpha/ffi.c, - src/alpha/osf.S, - src/m68k/ffitarget.h, - src/frv/ffitarget.h, - src/frv/ffi.c, - src/s390/ffitarget.h, - src/s390/sysv.S, - src/cris/ffitarget.h, - src/pa/linux.S, - src/pa/ffitarget.h, - src/pa/ffi.c, - src/raw_api.c, - src/ia64/ffitarget.h, - src/ia64/unix.S, - src/ia64/ffi.c, - src/ia64/ia64_flags.h, - src/java_raw_api.c, - src/debug.c, - src/sparc/v9.S, - src/sparc/ffitarget.h, - src/sparc/ffi.c, - src/sparc/v8.S, - src/mips/ffitarget.h, - src/mips/n32.S, - src/mips/o32.S, - src/mips/ffi.c, - src/prep_cif.c, - src/sh/ffitarget.h, - src/sh/ffi.c, - src/sh/sysv.S: Update license text. - -2009-05-22 Dave Korn - - * src/x86/win32.S (_ffi_closure_STDCALL): New function. - (.eh_frame): Add FDE for it. - -2009-05-22 Dave Korn - - * configure.ac: Also check if assembler supports pc-relative - relocs on X86_WIN32 targets. - * configure: Regenerate. - * src/x86/win32.S (ffi_prep_args): Declare extern, not global. - (_ffi_call_SYSV): Add missing function type symbol .def and - add EH markup labels. - (_ffi_call_STDCALL): Likewise. - (_ffi_closure_SYSV): Likewise. - (_ffi_closure_raw_SYSV): Likewise. - (.eh_frame): Add hand-crafted EH data. - -2009-04-09 Jakub Jelinek - - * testsuite/lib/libffi-dg.exp: Change copyright header to refer to - version 3 of the GNU General Public License and to point readers - at the COPYING3 file and the FSF's license web page. - * testsuite/libffi.call/call.exp: Likewise. - * testsuite/libffi.special/special.exp: Likewise. - -2009-03-01 Ralf Wildenhues - - * configure: Regenerate. - -2008-12-18 Rainer Orth - - PR libffi/26048 - * configure.ac (HAVE_AS_X86_PCREL): New test. - * configure: Regenerate. - * fficonfig.h.in: Regenerate. - * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate - RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET, - RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler. - (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL. - * src/x86/unix64.S (.Lstore_table): Move to .text section. - (.Lload_table): Likewise. - (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL. - -2008-12-18 Ralf Wildenhues - - * configure: Regenerate. - -2008-11-21 Eric Botcazou - - * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for - signed/unsigned int8/16 return values. - * src/sparc/v8.S (ffi_call_v8): Likewise. - (ffi_closure_v8): Likewise. - -2008-09-26 Peter O'Gorman - Steve Ellcey - - * configure: Regenerate for new libtool. - * Makefile.in: Ditto. - * include/Makefile.in: Ditto. - * aclocal.m4: Ditto. - -2008-08-25 Andreas Tobler - - * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and - FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum. - Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT. - Adjust copyright notice. - * src/powerpc/ffi.c: Add two new flags to indicate if we have one - register or two register to use for FFI_SYSV structs. - (ffi_prep_cif_machdep): Pass the right register flag introduced above. - (ffi_closure_helper_SYSV): Fix the return type for - FFI_SYSV_TYPE_SMALL_STRUCT. Comment. - Adjust copyright notice. - -2008-07-16 Kaz Kojima - - * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned - int. - -2008-06-17 Ralf Wildenhues - - * configure: Regenerate. - * include/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2008-06-07 Joseph Myers - - * configure.ac (parisc*-*-linux*, powerpc-*-sysv*, - powerpc-*-beos*): Remove. - * configure: Regenerate. - -2008-05-09 Julian Brown - - * Makefile.am (LTLDFLAGS): New. - (libffi_la_LDFLAGS): Use above. - * Makefile.in: Regenerate. - -2008-04-18 Paolo Bonzini - - PR bootstrap/35457 - * aclocal.m4: Regenerate. - * configure: Regenerate. - -2008-03-26 Kaz Kojima - - * src/sh/sysv.S: Add .note.GNU-stack on Linux. - * src/sh64/sysv.S: Likewise. - -2008-03-26 Daniel Jacobowitz - - * src/arm/sysv.S: Fix ARM comment marker. - -2008-03-26 Jakub Jelinek - - * src/alpha/osf.S: Add .note.GNU-stack on Linux. - * src/s390/sysv.S: Likewise. - * src/powerpc/ppc_closure.S: Likewise. - * src/powerpc/sysv.S: Likewise. - * src/x86/unix64.S: Likewise. - * src/x86/sysv.S: Likewise. - * src/sparc/v8.S: Likewise. - * src/sparc/v9.S: Likewise. - * src/m68k/sysv.S: Likewise. - * src/arm/sysv.S: Likewise. - -2008-03-16 Ralf Wildenhues - - * aclocal.m4: Regenerate. - * configure: Likewise. - * Makefile.in: Likewise. - * include/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - -2008-02-12 Bjoern Koenig - Andreas Tobler - - * configure.ac: Add amd64-*-freebsd* target. - * configure: Regenerate. - -2008-01-30 H.J. Lu - - PR libffi/34612 - * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when - returning struct. - - * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer" - tests. - -2008-01-24 David Edelsohn - - * configure: Regenerate. - -2008-01-06 Andreas Tobler - - * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko. - -2008-01-05 Andreas Tobler - - PR testsuite/32843 - * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for - signed/unsigned int8/16 for X86_DARWIN. - Updated copyright info. - Handle one and two byte structs with special cif->flags. - * src/x86/ffitarget.h: Add special types for one and two byte structs. - Updated copyright info. - * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like - sysv.S - Remove code to pop args from the stack after call. - Special-case signed/unsigned for int8/16, one and two byte structs. - (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8, - FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32, - FFI_TYPE_SINT32. - Updated copyright info. - -2007-12-08 David Daney - - * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with - SUBU, add with ADDU and use smaller code sequences. - -2007-12-07 David Daney - - * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return - type. - -2007-12-06 David Daney - - * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already - defined. - (ffi_java_raw): New typedef. - (ffi_java_raw_call, ffi_java_ptrarray_to_raw, - ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to - ffi_java_raw. - (ffi_java_raw_closure) : Same. - (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change - parameter types. - * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with - FFI_SIZEOF_JAVA_RAW. - (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw. - Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use - sizeof(ffi_java_raw) for alignment calculations. - (ffi_java_ptrarray_to_raw): Same. - (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER - if FFI_SIZEOF_JAVA_RAW == 4. - (ffi_java_raw_to_rvalue): Same. - (ffi_java_raw_call): Change type of raw to ffi_java_raw. - (ffi_java_translate_args): Same. - (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change - parameter types. - * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI. - -2007-12-06 David Daney - - * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on - pointer values. - -2007-12-01 Andreas Tobler - - PR libffi/31937 - * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT. - Add local FFI_TYPE_UINT128 to handle soft-float long-double-128. - * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and - set the NUM_FPR_ARG_REGISTERS according to. - Add support for potential soft-float support under hard-float - architecture. - (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of - FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according - to the FFI_LINUX_SOFT_FLOAT ABI. - (ffi_prep_cif_machdep): Likewise. - (ffi_closure_helper_SYSV): Likewise. - * src/powerpc/ppc_closure.S: Make sure not to store float/double - on archs where __NO_FPRS__ is true. - Add FFI_TYPE_UINT128 support. - * src/powerpc/sysv.S: Add support for soft-float long-double-128. - Adjust copyright notice. - -2007-11-25 Andreas Tobler - - * src/closures.c: Move defintion of MAYBE_UNUSED from here to ... - * include/ffi_common.h: ... here. - Update copyright. - -2007-11-17 Andreas Tobler - - * src/powerpc/sysv.S: Load correct cr to compare if we have long double. - * src/powerpc/linux64.S: Likewise. - * src/powerpc/ffi.c: Add a comment to show which part goes into cr6. - * testsuite/libffi.call/return_ldl.c: New test. - -2007-09-04 - - * src/arm/sysv.S (UNWIND): New. - (Whole file): Conditionally compile unwinder directives. - * src/arm/sysv.S: Add unwinder directives. - - * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes. - Only treat r0 as a struct address if we're actually returning a - struct by address. - Only copy the bytes that are actually within a struct. - (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes - is returned in r0, not passed by address. - (ffi_call): Allocate a word-sized temporary for the case where - a composite is returned in r0. - (ffi_prep_incoming_args_SYSV): Align as necessary. - -2007-08-05 Steven Newbury - - * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of - directly using the sys_cacheflush syscall. - -2007-07-27 Andrew Haley - - * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float. - -2007-09-03 Maciej W. Rozycki - - * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS. - * configure.ac: Likewise. - * Makefile.in: Regenerate. - * include/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - * configure: Likewise. - -2007-08-24 David Daney - - * testsuite/libffi.call/return_sl.c: New test. - -2007-08-10 David Daney - - * testsuite/libffi.call/cls_multi_ushort.c, - testsuite/libffi.call/cls_align_uint16.c, - testsuite/libffi.call/nested_struct1.c, - testsuite/libffi.call/nested_struct3.c, - testsuite/libffi.call/cls_7_1_byte.c, - testsuite/libffi.call/nested_struct5.c, - testsuite/libffi.call/cls_double.c, - testsuite/libffi.call/nested_struct7.c, - testsuite/libffi.call/cls_sint.c, - testsuite/libffi.call/nested_struct9.c, - testsuite/libffi.call/cls_20byte1.c, - testsuite/libffi.call/cls_multi_sshortchar.c, - testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_3byte2.c, - testsuite/libffi.call/cls_multi_schar.c, - testsuite/libffi.call/cls_multi_uchar.c, - testsuite/libffi.call/cls_19byte.c, - testsuite/libffi.call/cls_9byte1.c, - testsuite/libffi.call/cls_align_float.c, - testsuite/libffi.call/closure_fn1.c, - testsuite/libffi.call/problem1.c, - testsuite/libffi.call/closure_fn3.c, - testsuite/libffi.call/cls_sshort.c, - testsuite/libffi.call/closure_fn5.c, - testsuite/libffi.call/cls_align_double.c, - testsuite/libffi.call/nested_struct.c, - testsuite/libffi.call/cls_2byte.c, - testsuite/libffi.call/nested_struct10.c, - testsuite/libffi.call/cls_4byte.c, - testsuite/libffi.call/cls_6byte.c, - testsuite/libffi.call/cls_8byte.c, - testsuite/libffi.call/cls_multi_sshort.c, - testsuite/libffi.call/cls_align_sint16.c, - testsuite/libffi.call/cls_align_uint32.c, - testsuite/libffi.call/cls_20byte.c, - testsuite/libffi.call/cls_float.c, - testsuite/libffi.call/nested_struct2.c, - testsuite/libffi.call/cls_5_1_byte.c, - testsuite/libffi.call/nested_struct4.c, - testsuite/libffi.call/cls_24byte.c, - testsuite/libffi.call/nested_struct6.c, - testsuite/libffi.call/cls_64byte.c, - testsuite/libffi.call/nested_struct8.c, - testsuite/libffi.call/cls_uint.c, - testsuite/libffi.call/cls_multi_ushortchar.c, - testsuite/libffi.call/cls_schar.c, - testsuite/libffi.call/cls_uchar.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/cls_align_longdouble.c, - testsuite/libffi.call/cls_1_1byte.c, - testsuite/libffi.call/cls_12byte.c, - testsuite/libffi.call/cls_3_1byte.c, - testsuite/libffi.call/cls_3byte1.c, - testsuite/libffi.call/cls_4_1byte.c, - testsuite/libffi.call/cls_6_1_byte.c, - testsuite/libffi.call/cls_16byte.c, - testsuite/libffi.call/cls_18byte.c, - testsuite/libffi.call/closure_fn0.c, - testsuite/libffi.call/cls_9byte2.c, - testsuite/libffi.call/closure_fn2.c, - testsuite/libffi.call/closure_fn4.c, - testsuite/libffi.call/cls_ushort.c, - testsuite/libffi.call/closure_fn6.c, - testsuite/libffi.call/cls_5byte.c, - testsuite/libffi.call/cls_align_pointer.c, - testsuite/libffi.call/cls_7byte.c, - testsuite/libffi.call/cls_align_sint32.c, - testsuite/libffi.special/unwindtest_ffi_call.cc, - testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*. - -2007-08-10 David Daney - - PR libffi/28313 - * configure.ac: Don't treat mips64 as a special case. - * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S. - * configure: Regenerate - * Makefile.in: Ditto. - * fficonfig.h.in: Ditto. - * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent. - (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros. - (FFI_DEFAULT_ABI): Set for n64 case. - (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases. - * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE. - (ffi_closure_N32): New function. - (.eh_frame): New section - * src/mips/o32.S: Clean up comments. - (ffi_closure_O32): Pass ffi_closure parameter in $12. - * src/mips/ffi.c: Use FFI_MIPS_N32 instead of - _MIPS_SIM == _ABIN32 throughout. - (FFI_MIPS_STOP_HERE): New, use in place of - ffi_stop_here. - (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite - to support n32/n64 ABIs. - (calc_n32_struct_flags): Rewrite. - (calc_n32_return_struct_flags): Remove unused variable. Reverse - position of flag bits. - (ffi_prep_cif_machdep): Rewrite n32 portion. - (ffi_call): Enable for n64. Add special handling for small structure - return values. - (ffi_prep_closure_loc): Add n32 and n64 support. - (ffi_closure_mips_inner_O32): Add cast to silence warning. - (copy_struct_N32, ffi_closure_mips_inner_N32): New functions. - -2007-08-08 David Daney - - * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition. - * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type - specifiers. - * testsuite/libffi.call/nested_struct1.c (main): Ditto. - * testsuite/libffi.call/cls_sint.c (main): Ditto. - * testsuite/libffi.call/nested_struct9.c (main): Ditto. - * testsuite/libffi.call/cls_20byte1.c (main): Ditto. - * testsuite/libffi.call/cls_9byte1.c (main): Ditto. - * testsuite/libffi.call/closure_fn1.c (main): Ditto. - * testsuite/libffi.call/closure_fn3.c (main): Ditto. - * testsuite/libffi.call/return_dbl2.c (main): Ditto. - * testsuite/libffi.call/cls_sshort.c (main): Ditto. - * testsuite/libffi.call/return_fl3.c (main): Ditto. - * testsuite/libffi.call/closure_fn5.c (main): Ditto. - * testsuite/libffi.call/nested_struct.c (main): Ditto. - * testsuite/libffi.call/nested_struct10.c (main): Ditto. - * testsuite/libffi.call/return_ll1.c (main): Ditto. - * testsuite/libffi.call/cls_8byte.c (main): Ditto. - * testsuite/libffi.call/cls_align_uint32.c (main): Ditto. - * testsuite/libffi.call/cls_align_sint16.c (main): Ditto. - * testsuite/libffi.call/cls_20byte.c (main): Ditto. - * testsuite/libffi.call/nested_struct2.c (main): Ditto. - * testsuite/libffi.call/cls_24byte.c (main): Ditto. - * testsuite/libffi.call/nested_struct6.c (main): Ditto. - * testsuite/libffi.call/cls_uint.c (main): Ditto. - * testsuite/libffi.call/cls_12byte.c (main): Ditto. - * testsuite/libffi.call/cls_16byte.c (main): Ditto. - * testsuite/libffi.call/closure_fn0.c (main): Ditto. - * testsuite/libffi.call/cls_9byte2.c (main): Ditto. - * testsuite/libffi.call/closure_fn2.c (main): Ditto. - * testsuite/libffi.call/return_dbl1.c (main): Ditto. - * testsuite/libffi.call/closure_fn4.c (main): Ditto. - * testsuite/libffi.call/closure_fn6.c (main): Ditto. - * testsuite/libffi.call/cls_align_sint32.c (main): Ditto. - -2007-08-07 Andrew Haley - - * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous - checkin. - -2007-08-06 Andrew Haley - - PR testsuite/32843 - * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8, - FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32, - FFI_TYPE_SINT32. - -2007-08-02 David Daney - - * testsuite/libffi.call/return_ul.c (main): Define return type as - ffi_arg. Use proper printf conversion specifier. - -2007-07-30 Andrew Haley - - PR testsuite/32843 - * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for - signed/unsigned int8/16. - * src/x86/sysv.S (ffi_call_SYSV): Rewrite to: - Use a jump table. - Remove code to pop args from the stack after call. - Special-case signed/unsigned int8/16. - * testsuite/libffi.call/return_sc.c (main): Revert. - -2007-07-26 Richard Guenther - - PR testsuite/32843 - * testsuite/libffi.call/return_sc.c (main): Verify call - result as signed char, not ffi_arg. - -2007-07-16 Rainer Orth - - * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64. - * configure: Regenerate. - -2007-07-11 David Daney - - * src/mips/ffi.c: Don't include sys/cachectl.h. - (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of - cacheflush(). - -2007-05-18 Aurelien Jarno - - * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted - from (ffi_prep_closure): ... this. - (FFI_INIT_TRAMPOLINE): Adjust. - -2005-12-31 Phil Blundell - - * src/arm/ffi.c (ffi_prep_incoming_args_SYSV, - ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support. - * src/arm/sysv.S(ffi_closure_SYSV): Likewise. - * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise. - (FFI_CLOSURES): Enable closure support. - -2007-07-03 Andrew Haley - - * testsuite/libffi.call/cls_multi_ushort.c, - testsuite/libffi.call/cls_align_uint16.c, - testsuite/libffi.call/nested_struct1.c, - testsuite/libffi.call/nested_struct3.c, - testsuite/libffi.call/cls_7_1_byte.c, - testsuite/libffi.call/cls_double.c, - testsuite/libffi.call/nested_struct5.c, - testsuite/libffi.call/nested_struct7.c, - testsuite/libffi.call/cls_sint.c, - testsuite/libffi.call/nested_struct9.c, - testsuite/libffi.call/cls_20byte1.c, - testsuite/libffi.call/cls_multi_sshortchar.c, - testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_3byte2.c, - testsuite/libffi.call/cls_multi_schar.c, - testsuite/libffi.call/cls_multi_uchar.c, - testsuite/libffi.call/cls_19byte.c, - testsuite/libffi.call/cls_9byte1.c, - testsuite/libffi.call/cls_align_float.c, - testsuite/libffi.call/closure_fn1.c, - testsuite/libffi.call/problem1.c, - testsuite/libffi.call/closure_fn3.c, - testsuite/libffi.call/cls_sshort.c, - testsuite/libffi.call/closure_fn5.c, - testsuite/libffi.call/cls_align_double.c, - testsuite/libffi.call/cls_2byte.c, - testsuite/libffi.call/nested_struct.c, - testsuite/libffi.call/nested_struct10.c, - testsuite/libffi.call/cls_4byte.c, - testsuite/libffi.call/cls_6byte.c, - testsuite/libffi.call/cls_8byte.c, - testsuite/libffi.call/cls_multi_sshort.c, - testsuite/libffi.call/cls_align_uint32.c, - testsuite/libffi.call/cls_align_sint16.c, - testsuite/libffi.call/cls_float.c, - testsuite/libffi.call/cls_20byte.c, - testsuite/libffi.call/cls_5_1_byte.c, - testsuite/libffi.call/nested_struct2.c, - testsuite/libffi.call/cls_24byte.c, - testsuite/libffi.call/nested_struct4.c, - testsuite/libffi.call/nested_struct6.c, - testsuite/libffi.call/cls_64byte.c, - testsuite/libffi.call/nested_struct8.c, - testsuite/libffi.call/cls_uint.c, - testsuite/libffi.call/cls_multi_ushortchar.c, - testsuite/libffi.call/cls_schar.c, - testsuite/libffi.call/cls_uchar.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/cls_align_longdouble.c, - testsuite/libffi.call/cls_1_1byte.c, - testsuite/libffi.call/cls_12byte.c, - testsuite/libffi.call/cls_3_1byte.c, - testsuite/libffi.call/cls_3byte1.c, - testsuite/libffi.call/cls_4_1byte.c, - testsuite/libffi.call/cls_6_1_byte.c, - testsuite/libffi.call/cls_16byte.c, - testsuite/libffi.call/cls_18byte.c, - testsuite/libffi.call/closure_fn0.c, - testsuite/libffi.call/cls_9byte2.c, - testsuite/libffi.call/closure_fn2.c, - testsuite/libffi.call/closure_fn4.c, - testsuite/libffi.call/cls_ushort.c, - testsuite/libffi.call/closure_fn6.c, - testsuite/libffi.call/cls_5byte.c, - testsuite/libffi.call/cls_align_pointer.c, - testsuite/libffi.call/cls_7byte.c, - testsuite/libffi.call/cls_align_sint32.c, - testsuite/libffi.special/unwindtest_ffi_call.cc, - testsuite/libffi.special/unwindtest.cc: Enable for ARM. - -2007-07-05 H.J. Lu - - * aclocal.m4: Regenerated. - -2007-06-02 Paolo Bonzini - - * configure: Regenerate. - -2007-05-23 Steve Ellcey - - * Makefile.in: Regenerate. - * configure: Regenerate. - * aclocal.m4: Regenerate. - * include/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2007-05-10 Roman Zippel - - * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV, - ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support. - * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise. - * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise. - (FFI_CLOSURES): Enable closure support. - -2007-05-10 Roman Zippel - - * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test. - * configure: Regenerate. - * fficonfig.h.in: Regenerate. - * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC, - CFI_OFFSET,CFI_DEF_CFA): New macros. - (ffi_call_SYSV): Add callframe annotation. - -2007-05-10 Roman Zippel - - * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix - numerous test suite failures. - * src/m68k/sysv.S (ffi_call_SYSV): Likewise. - -2007-04-11 Paolo Bonzini - - * Makefile.am (EXTRA_DIST): Bring up to date. - * Makefile.in: Regenerate. - * src/frv/eabi.S: Remove RCS keyword. - -2007-04-06 Richard Henderson - - * configure.ac: Tidy target case. - (HAVE_LONG_DOUBLE): Allow the target to override. - * configure: Regenerate. - * include/ffi.h.in: Don't define ffi_type_foo if - LIBFFI_HIDE_BASIC_TYPES is defined. - (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define - to ffi_type_double. - * types.c (LIBFFI_HIDE_BASIC_TYPES): Define. - (FFI_TYPEDEF, ffi_type_void): Mark the data const. - (ffi_type_longdouble): Special case for Alpha. Don't define - if long double == double. - - * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value. - (ffi_prep_cif_machdep): Handle it as the 128-bit type. - (ffi_call, ffi_closure_osf_inner): Likewise. - (ffi_closure_osf_inner): Likewise. Mark hidden. - (ffi_call_osf, ffi_closure_osf): Mark hidden. - * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition. - * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden. - (load_table): Handle 128-bit long double. - - * testsuite/libffi.call/float4.c: Add -mieee for alpha. - -2007-04-06 Tom Tromey - - PR libffi/31491: - * README: Fixed bug in example. - -2007-04-03 Jakub Jelinek - - * src/closures.c: Include sys/statfs.h. - (_GNU_SOURCE): Define on Linux. - (FFI_MMAP_EXEC_SELINUX): Define. - (selinux_enabled): New variable. - (selinux_enabled_check): New function. - (is_selinux_enabled): Define. - (dlmmap): Use it. - -2007-03-24 Uros Bizjak - - * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static. - Use 'volatile float sum' to create sum of floats to avoid false - negative due to excess precision on ix86 targets. - (main): Ditto. - -2007-03-08 Alexandre Oliva - - * src/powerpc/ffi.c (flush_icache): Fix left-over from previous - patch. - (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones. - -2007-03-07 Alexandre Oliva - - * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New. - (ffi_prep_closure_loc): New. - (ffi_prep_raw_closure_loc): New. - (ffi_prep_java_raw_closure_loc): New. - * src/closures.c: New file. - * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment): - Replace sflags with exec_offset. - [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset, - sub_segment_exec_offset): New macros. - (get_segment_flags, set_segment_flags, check_segment_merge): New - macros. - (is_mmapped_segment, is_extern_segment): Use get_segment_flags. - (add_segment, sys_alloc, create_mspace, create_mspace_with_base, - destroy_mspace): Use new macros. - (sys_alloc): Silence warning. - * Makefile.am (libffi_la_SOURCES): Add src/closures.c. - * Makefile.in: Rebuilt. - * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in - terms of ffi_prep_closure_loc. - * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted - from... - (ffi_prep_raw_closure): ... this. Re-implement in terms of the - renamed version. - * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and - adjusted from... - (ffi_prep_java_raw_closure): ... this. Re-implement in terms of - the renamed version. - * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from - (ffi_prep_closure): ... this. - * src/pa/ffi.c: Likewise. - * src/cris/ffi.c: Likewise. Adjust. - * src/frv/ffi.c: Likewise. - * src/ia64/ffi.c: Likewise. - * src/mips/ffi.c: Likewise. - * src/powerpc/ffi_darwin.c: Likewise. - * src/s390/ffi.c: Likewise. - * src/sh/ffi.c: Likewise. - * src/sh64/ffi.c: Likewise. - * src/sparc/ffi.c: Likewise. - * src/x86/ffi64.c: Likewise. - * src/x86/ffi.c: Likewise. - (FFI_INIT_TRAMPOLINE): Adjust. - (ffi_prep_raw_closure_loc): Renamed and adjusted from... - (ffi_prep_raw_closure): ... this. - * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from - (ffi_prep_closure): ... this. - (flush_icache): Adjust. - -2007-03-07 Alexandre Oliva - - * src/dlmalloc.c: New file, imported version 2.8.3 of Doug - Lea's malloc. - -2007-03-01 Brooks Moses - - * Makefile.am: Add dummy install-pdf target. - * Makefile.in: Regenerate - -2007-02-13 Andreas Krebbel - - * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep, - ffi_closure_helper_SYSV): Add long double handling. - -2007-02-02 Jakub Jelinek - - * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2 - immediately after bctrl instruction. - -2007-01-18 Alexandre Oliva - - * Makefile.am (all-recursive, install-recursive, - mostlyclean-recursive, clean-recursive, distclean-recursive, - maintainer-clean-recursive): Add missing targets. - * Makefile.in: Rebuilt. - -2006-12-14 Andreas Tobler - - * configure.ac: Add TARGET for x86_64-*-darwin*. - * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources - for X86_DARWIN. - * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*. - * src/x86/darwin64.S: New file for x86_64-*-darwin* support. - * configure: Regenerate. - * Makefile.in: Regenerate. - * include/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for - ffi_call only. - -2006-12-13 Andreas Tobler - - * aclocal.m4: Regenerate with aclocal -I .. as written in the - Makefile.am. - -2006-10-31 Geoffrey Keating - - * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New. - (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for - Darwin. - * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL. - * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL. - -2006-10-10 Paolo Bonzini - Sandro Tolaini - - * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and - conditional. - * configure: Regenerated. - * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case. - (EXTRA_DIST): Add src/x86/darwin.S. - * Makefile.in: Regenerated. - * include/Makefile.in: Regenerated. - * testsuite/Makefile.in: Regenerated. - - * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like - X86_WIN32, and additionally align stack to 16 bytes. - * src/x86/darwin.S: New, based on sysv.S. - * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs. - -2006-09-12 David Daney - - PR libffi/23935 - * include/Makefile.am: Install both ffi.h and ffitarget.h in - $(libdir)/gcc/$(target_alias)/$(gcc_version)/include. - * aclocal.m4: Regenerated for automake 1.9.6. - * Makefile.in: Regenerated. - * include/Makefile.in: Regenerated. - * testsuite/Makefile.in: Regenerated. - -2006-08-17 Andreas Tobler - - * include/ffi_common.h (struct): Revert accidental commit. - -2006-08-15 Andreas Tobler - - * include/ffi_common.h: Remove lint directives. - * include/ffi.h.in: Likewise. - -2006-07-25 Torsten Schoenfeld - - * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly - for 32-bit architectures. - * testsuite/libffi.call/return_ul.c: New test case. - -2006-07-19 David Daney - - * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips, - xfail remains for mips64. - -2006-05-23 Carlos O'Donell - - * Makefile.am: Add install-html target. Add install-html to .PHONY - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * include/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2006-05-18 John David Anglin - - * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from - stack slot. - -2006-04-22 Andreas Tobler - - * README: Remove notice about 'Crazy Comments'. - * src/debug.c: Remove lint directives. Cleanup white spaces. - * src/java_raw_api.c: Likewise. - * src/prep_cif.c: Likewise. - * src/raw_api.c: Likewise. - * src/ffitest.c: Delete. No longer needed, all test cases migrated - to the testsuite. - * src/arm/ffi.c: Remove lint directives. - * src/m32r/ffi.c: Likewise. - * src/pa/ffi.c: Likewise. - * src/powerpc/ffi.c: Likewise. - * src/powerpc/ffi_darwin.c: Likewise. - * src/sh/ffi.c: Likewise. - * src/sh64/ffi.c: Likewise. - * src/x86/ffi.c: Likewise. - * testsuite/libffi.call/float2.c: Likewise. - * testsuite/libffi.call/promotion.c: Likewise. - * testsuite/libffi.call/struct1.c: Likewise. - -2006-04-13 Andreas Tobler - - * src/pa/hpux32.S: Correct unwind offset calculation for - ffi_closure_pa32. - * src/pa/linux.S: Likewise. - -2006-04-12 James E Wilson - - PR libgcj/26483 - * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros. - (hfa_type_load): Call stf_spill. - (hfa_type_store): Call ldf_fill. - (ffi_call): Adjust calls to above routines. Add local temps for - macro result. - -2006-04-10 Matthias Klose - - * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib - directory names containing underscores. - -2006-04-07 James E Wilson - - * testsuite/libffi.call/float4.c: New testcase. - -2006-04-05 John David Anglin - Andreas Tobler - - * Makefile.am: Add PA_HPUX port. - * Makefile.in: Regenerate. - * include/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - * configure.ac: Add PA_HPUX rules. - * configure: Regenerate. - * src/pa/ffitarget.h: Rename linux target to PA_LINUX. - Add PA_HPUX and PA64_HPUX. - Rename FFI_LINUX ABI to FFI_PA32 ABI. - (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets. - (FFI_TYPE_SMALL_STRUCT2): Define. - (FFI_TYPE_SMALL_STRUCT4): Likewise. - (FFI_TYPE_SMALL_STRUCT8): Likewise. - (FFI_TYPE_SMALL_STRUCT3): Redefine. - (FFI_TYPE_SMALL_STRUCT5): Likewise. - (FFI_TYPE_SMALL_STRUCT6): Likewise. - (FFI_TYPE_SMALL_STRUCT7): Likewise. - * src/pa/ffi.c (ROUND_DOWN): Delete. - (fldw, fstw, fldd, fstd): Use '__asm__'. - (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2, - FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. - (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment. - Simplify incrementing of stack slot variable. Change type of local - 'n' to unsigned int. - (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long - double on PA_HPUX. - (ffi_prep_cif_machdep): Likewise. - (ffi_call): Likewise. - (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change - return type to ffi_status. Simplify incrementing of stack slot - variable. Only copy floating point argument registers when PA_LINUX - is true. Reformat debug statement. - Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and - FFI_TYPE_SMALL_STRUCT8. - (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to - declaration. - (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX. - Add nops to cache flush. Add trampoline for PA_HPUX. - * src/pa/hpux32.S: New file. - * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename - ffi_prep_args_LINUX to ffi_prep_args_pa32. - Localize labels. Add support for 2, 4 and 8-byte small structs. Handle - unaligned destinations in 3, 5, 6 and 7-byte small structs. Order - argument type checks so that common argument types appear first. - (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename - ffi_closure_inner_LINUX to ffi_closure_inner_pa32. - -2006-03-24 Alan Modra - - * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default - for 32-bit using IBM extended double format. Fix FFI_LAST_ABI. - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of - FFI_TYPE_LONGDOUBLE. - (ffi_prep_args64): Assert using IBM extended double. - (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type. - Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args. - (ffi_call): Handle FFI_LINUX. - (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs - gpr3 return pointer as for struct return. Handle FFI_LINUX - FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf" - unnecessarily. - * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2 - for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table. - Don't use r6 as pointer to results, instead use sp offset. Don't - make a special call to load lr with case table address, instead - use offset from previous call. - * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return. - * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double - return. - -2006-03-15 Kaz Kojima - - * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments - passed with FP registers correctly. - (ffi_closure_helper_SYSV): Likewise. - * src/sh64/sysv.S: Likewise. - -2006-03-01 Andreas Tobler - - * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif, - args and userdata unused. - (closure_test_fn1): Mark cif and userdata unused. - (main): Remove unused res. - -2006-02-28 Andreas Tobler - - * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for - -O2, -O3, -Os and the warning flags -W -Wall. - * testsuite/libffi.special/special.exp: Likewise. - * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark - unused parameter unused for gcc or else do nothing. - * testsuite/libffi.special/ffitestcxx.h: Likewise. - * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif - and userdata unused. - * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise. - * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise. - * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise. - * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise. - * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise. - * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise. - * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise. - * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise. - * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise. - * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise. - * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise. - * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise. - * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise. - * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise. - * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise. - * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise. - * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise. - * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise. - * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise. - * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise. - * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise. - * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise. - * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise. - * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast - void* to avoid compiler warning. - (main): Likewise. - (cls_struct_align_gn): Mark cif and userdata unused. - * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn): - Likewise. - * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise. - * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise. - * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and - data unused. - (main): Cast res_call to silence gcc. - * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and - data unused. - (main): Cast res_call to silence gcc. - * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif - and data unused. - (main): Cast res_call to silence gcc. - * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and - data unused. - (main): Cast res_call to silence gcc. - * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and - data unused. - (main): Cast res_call to silence gcc. - * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif - and data unused. - (main): Cast res_call to silence gcc. - * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and - userdata unused. - (cls_ret_schar_fn): Cast printf parameter to silence gcc. - * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and - userdata unused. - (cls_ret_sint_fn): Cast printf parameter to silence gcc. - * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and - userdata unused. - (cls_ret_sshort_fn): Cast printf parameter to silence gcc. - * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and - userdata unused. - (cls_ret_uchar_fn): Cast printf parameter to silence gcc. - * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and - userdata unused. - (cls_ret_uint_fn): Cast printf parameter to silence gcc. - * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif - and userdata unused. - * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and - userdata unused. - (cls_ret_ushort_fn): Cast printf parameter to silence gcc. - * testsuite/libffi.call/float.c (floating): Remove unused parameter e. - * testsuite/libffi.call/float1.c (main): Remove unused variable i. - Cleanup white spaces. - * testsuite/libffi.call/negint.c (checking): Remove unused variable i. - * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark - cif and userdata unused. - * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn): - Likewise. - * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise. - * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf - formatters to silence gcc. - (B_gn): Mark cif and userdata unused. - * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata - unused. - * testsuite/libffi.call/nested_struct4.c: Mention related PR. - (B_gn): Mark cif and userdata unused. - * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata - unused. - * testsuite/libffi.call/nested_struct6.c: Mention related PR. - (B_gn): Mark cif and userdata unused. - * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata - unused. - * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise. - * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise. - * testsuite/libffi.call/problem1.c (stub): Likewise. - * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence - gcc. - * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned - in the last commit for this test case in the test case itself. - * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as - unused. - * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise. - * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise. - * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise. - * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise. - * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise. - * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise. - -2006-02-22 Kaz Kojima - - * src/sh/sysv.S: Fix register numbers in the FDE for - ffi_closure_SYSV. - -2006-02-20 Andreas Tobler - - * testsuite/libffi.call/return_fl2.c (return_fl): Remove static - declaration to avoid a false negative on ix86. See PR323. - -2006-02-18 Kaz Kojima - - * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable - and cast integer to void * if needed. Update the pointer to - the FP register saved area correctly. - -2006-02-17 Andreas Tobler - - * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630 - is fixed. - * testsuite/libffi.call/nested_struct4.c: Likewise. - -2006-02-16 Andreas Tobler - - * testsuite/libffi.call/return_dbl.c: New test case. - * testsuite/libffi.call/return_dbl1.c: Likewise. - * testsuite/libffi.call/return_dbl2.c: Likewise. - * testsuite/libffi.call/return_fl.c: Likewise. - * testsuite/libffi.call/return_fl1.c: Likewise. - * testsuite/libffi.call/return_fl2.c: Likewise. - * testsuite/libffi.call/return_fl3.c: Likewise. - * testsuite/libffi.call/closure_fn6.c: Likewise. - - * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong - definition. - * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition - here to be used by other test cases too. - - * testsuite/libffi.call/nested_struct10.c: New test case. - * testsuite/libffi.call/nested_struct9.c: Likewise. - * testsuite/libffi.call/nested_struct8.c: Likewise. - * testsuite/libffi.call/nested_struct7.c: Likewise. - * testsuite/libffi.call/nested_struct6.c: Likewise. - * testsuite/libffi.call/nested_struct5.c: Likewise. - * testsuite/libffi.call/nested_struct4.c: Likewise. - -2006-01-21 Andreas Tobler - - * configure.ac: Enable libffi for sparc64-*-freebsd*. - * configure: Rebuilt. - -2006-01-18 Jakub Jelinek - - * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3, - instead do the shifting inline. - * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5 - shift count unconditionally. Simplify load sequences for 1, 2, 3, 4 - and 8 byte structs, for the remaining struct sizes don't call - __lshrdi3, instead do the shifting inline. - -2005-12-07 Thiemo Seufer - - * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add - missing parentheses. - * src/mips/o32.S (ffi_call_O32): Code formatting. Define - and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations. - (ffi_closure_O32): Likewise, but with newly defined A3_OFF2, - A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2, - V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2, - FA_0_0_OFF2. - * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix - endianness bugs. - (ffi_prep_closure): Improve trampoline instruction scheduling. - (ffi_closure_mips_inner_O32): Fix endianness bugs. - -2005-12-03 Alan Modra - - * src/powerpc/ffi.c: Formatting. - (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions. - (ffi_prep_args64): Likewise. - -2005-09-30 Geoffrey Keating - - * testsuite/lib/libffi-dg.exp (libffi_target_compile): For - darwin, use -shared-libgcc not -lgcc_s, and explain why. - -2005-09-26 Tom Tromey - - * testsuite/libffi.call/float1.c (value_type): New typedef. - (CANARY): New define. - (main): Check for result buffer overflow. - * src/powerpc/linux64.S: Handle linux64 long double returns. - * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant. - (ffi_prep_cif_machdep): Handle linux64 long double returns. - -2005-08-25 Alan Modra - - PR target/23404 - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack - homed fp args. - (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same. - -2005-08-11 Jakub Jelinek - - * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test. - (AH_BOTTOM): Add FFI_HIDDEN definition. - * configure: Rebuilt. - * fficonfig.h.in: Rebuilt. - * src/powerpc/ffi.c (hidden): Remove. - (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64, - ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden. - * src/powerpc/linux64_closure.S (ffi_closure_LINUX64, - .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden. - * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove, - add FFI_HIDDEN to its prototype. - (ffi_closure_SYSV_inner): New. - * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New. - * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New. - -2005-08-10 Alfred M. Szmidt - - PR libffi/21819: - * configure: Rebuilt. - * configure.ac: Handle i*86-*-gnu*. - -2005-08-09 Jakub Jelinek - - * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use - DW_CFA_offset_extended_sf rather than - DW_CFA_GNU_negative_offset_extended. - * src/powerpc/sysv.S (ffi_call_SYSV): Likewise. - -2005-07-22 SUGIOKA Toshinobu - - * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly - on sh3. - (ffi_closure_SYSV): Change the stack layout for sh3 struct argument. - * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is - partially on register. - (ffi_closure_helper_SYSV): Likewise. - (ffi_prep_cif_machdep): Don't set too many cif->flags. - -2005-07-20 Kaz Kojima - - * src/sh/ffi.c (ffi_call): Handle small structures correctly. - Remove empty line. - * src/sh64/ffi.c (simple_type): Remove. - (return_type): Handle small structures correctly. - (ffi_prep_args): Likewise. - (ffi_call): Likewise. - (ffi_closure_helper_SYSV): Likewise. - * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return. - Emit position independent code if PIC and remove wrong datalabel - prefixes from EH data. - -2005-07-19 Andreas Tobler - - * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD. - * Makefile.in: Regenerate. - * include/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - * configure.ac: Add POWERPC_FREEBSD rules. - * configure: Regenerate. - * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules. - (FFI_SYSV_TYPE_SMALL_STRUCT): Define. - * src/powerpc/ffi.c: Add flags to handle small structure returns - in ffi_call_SYSV. - (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI. - Aka FFI_SYSV. - (ffi_closure_helper_SYSV): Likewise. - * src/powerpc/ppc_closure.S: Add return types for small structures. - * src/powerpc/sysv.S: Add bits to handle small structures for - final SYSV 4 ABI. - -2005-07-10 Andreas Tobler - - * testsuite/libffi.call/cls_5_1_byte.c: New test file. - * testsuite/libffi.call/cls_6_1_byte.c: Likewise. - * testsuite/libffi.call/cls_7_1_byte.c: Likewise. - -2005-07-05 Randolph Chung - - * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1 - as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte - structures. Kill compilation warnings. - (ffi_closure_inner_LINUX): Print return values as hex in debug - message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3. - Properly handle 5-7 byte structure returns. - * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1) - (FFI_TYPE_SMALL_STRUCT2): Remove. - (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5) - (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define. - * src/pa/linux.S: Mark source file as using PA1.1 assembly. - (checksmst1, checksmst2): Remove. - (checksmst3): Optimize handling of 3-byte struct returns. - (checksmst567): Properly handle 5-7 byte struct returns. - -2005-06-15 Rainer Orth - - PR libgcj/21943 - * src/mips/n32.S: Enforce PIC code. - * src/mips/o32.S: Likewise. - -2005-06-15 Rainer Orth - - * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64. - * configure: Regenerate. - -2005-06-01 Alan Modra - - * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET - to call ffi_closure_helper_SYSV. Append @local instead. - * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV. - -2005-05-17 Kelley Cook - - * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS. - Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF. - * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config. - * aclocal.m4, configure, fficonfig.h.in, Makefile.in, - include/Makefile.in, testsuite/Makefile.in: Regenerate. - -2005-05-09 Mike Stump - - * configure: Regenerate. - -2005-05-08 Richard Henderson - - PR libffi/21285 - * src/alpha/osf.S: Update unwind into to match code. - -2005-05-04 Andreas Degert - Richard Henderson - - * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in - bit 11 of flags. - (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64. - (ffi_prep_closure): Set carry bit if sse-used flag set. - * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument. - Only load sse registers if ssecount non-zero. - (ffi_closure_unix64): Only save sse registers if carry set on entry. - -2005-04-29 Ralf Corsepius - - * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*, - powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*. - * configure: Regenerate. - -2005-04-20 Hans-Peter Nilsson - - * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use, - have Tcl8.3-compatible intermediate variable. - -2005-04-18 Simon Posnjak - Hans-Peter Nilsson - - * Makefile.am: Add CRIS support. - * configure.ac: Likewise. - * Makefile.in, configure, testsuite/Makefile.in, - include/Makefile.in: Regenerate. - * src/cris: New directory. - * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files. - * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__. - - * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with - \r?\n in output tests. - -2005-04-12 Mike Stump - - * configure: Regenerate. - -2005-03-30 Hans Boehm - - * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI. - -2005-03-30 Steve Ellcey - - * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute. - (ffi_sarg) Ditto. - * src/ia64/unix.S (ffi_closure_unix): Extend gp - to 64 bits in ILP32 mode. - Load 64 bits even for short data. - -2005-03-23 Mike Stump - - * src/powerpc/darwin.S: Update for -m64 multilib. - * src/powerpc/darwin_closure.S: Likewise. - -2005-03-21 Zack Weinberg - - * configure.ac: Do not invoke TL_AC_GCC_VERSION. - Do not set tool_include_dir. - * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in: - Regenerate. - * include/Makefile.am: Set gcc_version and toollibffidir. - * include/Makefile.in: Regenerate. - -2005-02-22 Andrew Haley - - * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to - odd-numbered register pairs for 64-bit integer types. - -2005-02-23 Andreas Tobler - - PR libffi/20104 - * testsuite/libffi.call/return_ll1.c: New test case. - -2005-02-11 Janis Johnson - - * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options. - * testsuite/libffi.call/float.c: Ditto. - * testsuite/libffi.call/float2.c: Ditto. - * testsuite/libffi.call/float3.c: Ditto. - -2005-02-08 Andreas Tobler - - * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv. - -2005-01-12 Eric Botcazou - - * testsuite/libffi.special/special.exp (cxx_options): Add - -shared-libgcc. - -2004-12-31 Richard Henderson - - * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove. - (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and - offset parameters with a type parameter; deduce size and structure - alignment. Update all users. - -2004-12-31 Richard Henderson - - * src/types.c (FFI_TYPE_POINTER): Define with sizeof. - (FFI_TYPE_LONGDOUBLE): Fix for ia64. - * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move - into ffi_prep_closure. - * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite - from scratch. - -2004-12-27 Richard Henderson - - * src/x86/unix64.S: Fix typo in unwind info. - -2004-12-25 Richard Henderson - - * src/x86/ffi64.c (struct register_args): Rename from stackLayout. - (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS. - (merge_classes): Check for it. - (SSE_CLASS_P): New. - (classify_argument): Pass byte_offset by value; perform all updates - inside struct case. - (examine_argument): Add classes argument; handle - X86_64_COMPLEX_X87_CLASS. - (ffi_prep_args): Merge into ... - (ffi_call): ... here. Share stack frame with ffi_call_unix64. - (ffi_prep_cif_machdep): Setup cif->flags for proper structure return. - (ffi_fill_return_value): Remove. - (ffi_prep_closure): Remove dead assert. - (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner. - Rewrite to use struct register_args instead of va_list. Create - flags for handling structure returns. - * src/x86/unix64.S: Remove dead strings. - (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share - stack frame with ffi_call. Handle structure returns properly. - (float2sse, floatfloat2sse, double2sse): Remove. - (sse2float, sse2double, sse2floatfloat): Remove. - (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite - to handle structure returns properly. - -2004-12-08 David Edelsohn - - * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and - PICFLAG. - * Makefile.in: Regenerated. - -2004-12-02 Richard Sandiford - - * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. - * configure, aclocal.m4, Makefile.in: Regenerate. - * include/Makefile.in, testsuite/Makefile.in: Regenerate. - -2004-11-29 Kelley Cook - - * configure: Regenerate for libtool change. - -2004-11-25 Kelley Cook - - * configure: Regenerate for libtool reversion. - -2004-11-24 Kelley Cook - - * configure: Regenerate for libtool change. - -2004-11-23 John David Anglin - - * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp. - -2004-11-23 Richard Sandiford - - * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead - of jal. Use an absolute encoding for the frame information. - -2004-11-23 Kelley Cook - - * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS. - * acinclude.m4: Delete logic for sincludes. - * aclocal.m4, Makefile.in, configure: Regenerate. - * include/Makefile: Likewise. - * testsuite/Makefile: Likewise. - -2004-11-22 Eric Botcazou - - * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers - on a 8-byte boundary. - * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments. - -2004-10-27 Richard Earnshaw - - * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return - long long values. Round stack allocation to a multiple of 8 bytes - for ATPCS compatibility. - * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register - names. Handle returning long long types. Add Thumb and interworking - support. Improve soft-float code. - -2004-10-27 Richard Earnshaw - - * testsuite/lib/libffi-db.exp (load_gcc_lib): New function. - (libffi_exit): New function. - (libffi_init): Build the testglue wrapper if needed. - -2004-10-25 Eric Botcazou - - PR other/18138 - * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc. - -2004-10-25 Kazuhiro Inaoka - - * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0. - -2004-10-20 Kaz Kojima - - * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data. - * testsuite/libffi.call/float3.c: New test case. - -2004-10-18 Kaz Kojima - - * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for - the function returning a structure pointed with R2. - * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to - the structure return value if T bit set. Emit position - independent code and EH data if PIC. - -2004-10-13 Kazuhiro Inaoka - - * Makefile.am: Add m32r support. - * configure.ac: Likewise. - * Makefile.in: Regenerate. - * confiugre: Regenerate. - * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF - (uint64, sint64, double, longdouble) - * src/m32r: New directory. - * src/m32r/ffi.c: New file. - * src/m32r/sysv.S: Likewise. - * src/m32r/ffitarget.h: Likewise. - -2004-10-02 Kaz Kojima - - * testsuite/libffi.call/negint.c: New test case. - -2004-09-14 H.J. Lu - - PR libgcj/17465 - * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path. - Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH, - LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and - DYLD_LIBRARY_PATH. - -2004-09-05 Andreas Tobler - - * testsuite/libffi.call/many_win32.c: Remove whitespaces. - * testsuite/libffi.call/promotion.c: Likewise. - * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup - whitespaces. - * testsuite/libffi.call/return_sc.c: Likewise. - * testsuite/libffi.call/return_uc.c: Likewise. - -2004-09-05 Andreas Tobler - - * src/powerpc/darwin.S: Fix comments and identation. - * src/powerpc/darwin_closure.S: Likewise. - -2004-09-02 Andreas Tobler - - * src/powerpc/ffi_darwin.c: Add flag for longdouble return values. - (ffi_prep_args): Handle longdouble arguments. - (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for - longdouble. - (ffi_closure_helper_DARWIN): Add closure handling for longdouble. - * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble - values. - * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise. - * src/types.c: Defined longdouble size and alignment for darwin. - -2004-09-02 Andreas Tobler - - * src/powerpc/aix.S: Remove whitespaces. - * src/powerpc/aix_closure.S: Likewise. - * src/powerpc/asm.h: Likewise. - * src/powerpc/ffi.c: Likewise. - * src/powerpc/ffitarget.h: Likewise. - * src/powerpc/linux64.S: Likewise. - * src/powerpc/linux64_closure.S: Likewise. - * src/powerpc/ppc_closure.S: Likewise. - * src/powerpc/sysv.S: Likewise. - -2004-08-30 Anthony Green - - * Makefile.am: Add frv support. - * Makefile.in, testsuite/Makefile.in: Rebuilt. - * configure.ac: Read configure.host. - * configure.in: Read configure.host. - * configure.host: New file. frv-elf needs libgloss. - * include/ffi.h.in: Force ffi_closure to have a nice big (8) - alignment. This is needed to frv and shouldn't harm the others. - * include/ffi_common.h (ALIGN_DOWN): New macro. - * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files. - -2004-08-24 David Daney - - * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*. - * testsuite/libffi.call/closure_fn1.c: Likewise. - * testsuite/libffi.call/closure_fn2.c Likewise. - * testsuite/libffi.call/closure_fn3.c: Likewise. - * testsuite/libffi.call/closure_fn4.c: Likewise. - * testsuite/libffi.call/closure_fn5.c: Likewise. - * testsuite/libffi.call/cls_18byte.c: Likewise. - * testsuite/libffi.call/cls_19byte.c: Likewise. - * testsuite/libffi.call/cls_1_1byte.c: Likewise. - * testsuite/libffi.call/cls_20byte.c: Likewise. - * testsuite/libffi.call/cls_20byte1.c: Likewise. - * testsuite/libffi.call/cls_24byte.c: Likewise. - * testsuite/libffi.call/cls_2byte.c: Likewise. - * testsuite/libffi.call/cls_3_1byte.c: Likewise. - * testsuite/libffi.call/cls_3byte1.c: Likewise. - * testsuite/libffi.call/cls_3byte2.c: Likewise. - * testsuite/libffi.call/cls_4_1byte.c: Likewise. - * testsuite/libffi.call/cls_4byte.c: Likewise. - * testsuite/libffi.call/cls_64byte.c: Likewise. - * testsuite/libffi.call/cls_6byte.c: Likewise. - * testsuite/libffi.call/cls_7byte.c: Likewise. - * testsuite/libffi.call/cls_8byte.c: Likewise. - * testsuite/libffi.call/cls_9byte1.c: Likewise. - * testsuite/libffi.call/cls_9byte2.c: Likewise. - * testsuite/libffi.call/cls_align_double.c: Likewise. - * testsuite/libffi.call/cls_align_float.c: Likewise. - * testsuite/libffi.call/cls_align_longdouble.c: Likewise. - * testsuite/libffi.call/cls_align_pointer.c: Likewise. - * testsuite/libffi.call/cls_align_sint16.c: Likewise. - * testsuite/libffi.call/cls_align_sint32.c: Likewise. - * testsuite/libffi.call/cls_align_sint64.c: Likewise. - * testsuite/libffi.call/cls_align_uint16.c: Likewise. - * testsuite/libffi.call/cls_align_uint32.c: Likewise. - * testsuite/libffi.call/cls_align_uint64.c: Likewise. - * testsuite/libffi.call/cls_double.c: Likewise. - * testsuite/libffi.call/cls_float.c: Likewise. - * testsuite/libffi.call/cls_multi_schar.c: Likewise. - * testsuite/libffi.call/cls_multi_sshort.c: Likewise. - * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise. - * testsuite/libffi.call/cls_multi_uchar.c: Likewise. - * testsuite/libffi.call/cls_multi_ushort.c: Likewise. - * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise. - * testsuite/libffi.call/cls_schar.c: Likewise. - * testsuite/libffi.call/cls_sint.c: Likewise. - * testsuite/libffi.call/cls_sshort.c: Likewise. - * testsuite/libffi.call/cls_uchar.c: Likewise. - * testsuite/libffi.call/cls_uint.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/cls_ushort.c: Likewise. - * testsuite/libffi.call/nested_struct.c: Likewise. - * testsuite/libffi.call/nested_struct1.c: Likewise. - * testsuite/libffi.call/nested_struct2.c: Likewise. - * testsuite/libffi.call/nested_struct3.c: Likewise. - * testsuite/libffi.call/problem1.c: Likewise. - * testsuite/libffi.special/unwindtest.cc: Likewise. - * testsuite/libffi.call/cls_12byte.c: Likewise and set return value - to zero. - * testsuite/libffi.call/cls_16byte.c: Likewise. - * testsuite/libffi.call/cls_5byte.c: Likewise. - -2004-08-23 David Daney - - PR libgcj/13141 - * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI. - * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation. - (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point - parameters and return types. - (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI. - (ffi_prep_closure): Ditto. - (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix - alignment calculations. - * src/mips/o32.S (ffi_closure_O32): Don't use floating point - instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant. - -2004-08-14 Casey Marshall - - * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to - contain `FFI_TYPE_UINT64' as return type for any 64-bit - integer (O32 ABI only). - (ffi_prep_closure): new function. - (ffi_closure_mips_inner_O32): new function. - * src/mips/ffitarget.h: Define `FFI_CLOSURES' and - `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32. - * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return - 64 bit integers correctly. - (ffi_closure_O32): new function. - Added DWARF-2 unwind info for both functions. - -2004-08-10 Andrew Haley - - * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments. - -2004-08-01 Robert Millan - - * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu. - * configure: Regenerate. - -2004-07-30 Maciej W. Rozycki - - * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for - and mmap() explicitly instead of relying on preset autoconf cache - variables. - * aclocal.m4: Regenerate. - * configure: Regenerate. - -2004-07-11 Ulrich Weigand - - * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation. - (ffi_check_float_struct): Remove unused prototype. - -2004-06-30 Geoffrey Keating - - * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment - character on Darwin, use '\n\t' instead. - -2004-06-26 Matthias Klose - - * libtool-version: Fix typo in revision/age. - -2004-06-17 Matthias Klose - - * libtool-version: New. - * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname. - * Makefile.in: Regenerate. - -2004-06-15 Paolo Bonzini - - * Makefile.am: Remove useless multilib rules. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate with automake 1.8.5. - * configure.ac: Remove useless multilib configury. - * configure: Regenerate. - -2004-06-15 Paolo Bonzini - - * .cvsignore: New file. - -2004-06-10 Jakub Jelinek - - * src/ia64/unix.S (ffi_call_unix): Insert group barrier break - fp_done. - (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever - changed from 8. - -2004-06-06 Sean McNeil - - * configure.ac: Add x86_64-*-freebsd* support. - * configure: Regenerate. - -2004-04-26 Joe Buck - - Bug 15093 - * configure.ac: Test for existence of mmap and sys/mman.h before - checking blacklist. Fix suggested by Jim Wilson. - * configure: Regenerate. - -2004-04-26 Matt Austern - - * src/powerpc/darwin.S: Go through a non-lazy pointer for initial - FDE location. - * src/powerpc/darwin_closure.S: Likewise. - -2004-04-24 Andreas Tobler - - * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization - error. Reported by Thomas Heller . - * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise. - * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise. - -2004-03-20 Matthias Klose - - * src/pa/linux.S: Fix typo. - -2004-03-19 Matthias Klose - - * Makefile.am: Update. - * Makefile.in: Regenerate. - * src/pa/ffi.h.in: Remove. - * src/pa/ffitarget.h: New file. - -2004-02-10 Randolph Chung - - * Makefile.am: Add PA support. - * Makefile.in: Regenerate. - * include/Makefile.in: Regenerate. - * configure.ac: Add PA target. - * configure: Regenerate. - * src/pa/ffi.c: New file. - * src/pa/ffi.h.in: Add PA support. - * src/pa/linux.S: New file. - * prep_cif.c: Add PA support. - -2004-03-16 Hosaka Yuji - - * src/types.c: Fix alignment size of X86_WIN32 case int64 and - double. - * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type - with ecif->cif->flags. - (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type - with cif->flags. - (ffi_prep_cif_machdep): Add X86_WIN32 struct case. - (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32. - * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b, - sc_retstruct2b): Add for 1 or 2-bytes struct case. - -2004-03-15 Kelley Cook - - * configure.in: Rename file to ... - * configure.ac: ... this. - * fficonfig.h.in: Regenerate. - * Makefile.in: Regenerate. - * include/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2004-03-12 Matt Austern - - * src/powerpc/darwin.S: Fix EH information so it corresponds to - changes in EH format resulting from addition of linkonce support. - * src/powerpc/darwin_closure.S: Likewise. - -2004-03-11 Andreas Tobler - Paolo Bonzini - - * Makefile.am (AUTOMAKE_OPTIONS): Set them. - Remove VPATH. Remove rules for object files. Remove multilib support. - (AM_CCASFLAGS): Add. - * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER. - (AC_PREREQ): Bump version to 2.59. - (AC_INIT): Fill with version info and bug address. - (ORIGINAL_LD_FOR_MULTILIBS): Remove. - (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE. - De-precious CC so that the right flags are passed down to multilibs. - (AC_MSG_ERROR): Replace obsolete macro AC_ERROR. - (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES. - (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS. - * configure: Rebuilt. - * aclocal.m4: Likewise. - * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise. - * fficonfig.h.in: Likewise. - -2004-03-11 Andreas Schwab - - * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point - arguments from fp registers only for the first 8 parameter slots. - Don't convert a float parameter when passed in memory. - -2004-03-09 Hans-Peter Nilsson - - * configure: Regenerate for config/accross.m4 correction. - -2004-02-25 Matt Kraai - - * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change - ecif->cif->bytes to bytes. - (ffi_prep_cif_machdep): Add braces around nested if statement. - -2004-02-09 Alan Modra - - * src/types.c (pointer): POWERPC64 has 8 byte pointers. - - * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling. - (ffi_closure_helper_LINUX64): Fix typo. - * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128 - for powerpc64-*-*. - * testsuite/libffi.call/float.c: Likewise. - * testsuite/libffi.call/float2.c: Likewise. - -2004-02-08 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_cif_machdep ): Correct - long double function return and long double arg handling. - (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var. - Use "end_pfr" instead of "nf". Correct long double handling. - Localise "temp". - * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double - return value. - * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate - space for long double return value. Adjust stack frame and offsets. - Load f2 long double return. - -2004-02-07 Alan Modra - - * src/types.c: Use 16 byte long double for POWERPC64. - -2004-01-25 Eric Botcazou - - * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array - when the structure return address is passed in %o0. - (ffi_V9_return_struct): Rename into ffi_v9_layout_struct. - (ffi_v9_layout_struct): Align the field following a nested structure - on a word boundary. Use memmove instead of memcpy. - (ffi_call): Update call to ffi_V9_return_struct. - (ffi_prep_closure): Define 'ctx' only for V8. - (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8 - and ffi_closure_sparc_inner_v9. - (ffi_closure_sparc_inner_v8): Return long doubles by reference. - Always skip the structure return address. For structures and long - doubles, copy the argument directly. - (ffi_closure_sparc_inner_v9): Skip the structure return address only - if required. Shift the maximum floating-point slot accordingly. For - big structures, copy the argument directly; otherwise, left-justify the - argument and call ffi_v9_layout_struct to lay out the structure on - the stack. - * src/sparc/v8.S: Undef STACKFRAME before defining it. - (ffi_closure_v8): Pass the structure return address. Update call to - ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling. - Skip the 'unimp' insn when returning long doubles and structures. - * src/sparc/v9.S: Undef STACKFRAME before defining it. - (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit - FFI_TYPE_INT handling. Load structures both in integers and - floating-point registers on return. - * README: Update status of the SPARC port. - -2004-01-24 Andreas Tobler - - * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value - as of type ffi_arg. - * testsuite/libffi.call/struct3.c (main): Fix CHECK. - -2004-01-22 Ulrich Weigand - - * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result - value as of type ffi_arg, not unsigned int. - -2004-01-21 Michael Ritzert - - * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead - of the LHS. - -2004-01-12 Andreas Tobler - - * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for - Solaris. - -2004-01-08 Rainer Orth - - * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED - to void *. - -2003-12-10 Richard Henderson - - * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to - size_t instead of int. - -2003-12-04 Hosaka Yuji - - * testsuite/libffi.call/many_win32.c: Include . - * testsuite/libffi.call/many_win32.c (main): Replace variable - int i with unsigned long ul. - - * testsuite/libffi.call/cls_align_uint64.c: New test case. - * testsuite/libffi.call/cls_align_sint64.c: Likewise. - * testsuite/libffi.call/cls_align_uint32.c: Likewise. - * testsuite/libffi.call/cls_align_sint32.c: Likewise. - * testsuite/libffi.call/cls_align_uint16.c: Likewise. - * testsuite/libffi.call/cls_align_sint16.c: Likewise. - * testsuite/libffi.call/cls_align_float.c: Likewise. - * testsuite/libffi.call/cls_align_double.c: Likewise. - * testsuite/libffi.call/cls_align_longdouble.c: Likewise. - * testsuite/libffi.call/cls_align_pointer.c: Likewise. - -2003-12-02 Hosaka Yuji - - PR other/13221 - * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): - Align arguments to 32 bits. - -2003-12-01 Andreas Tobler - - PR other/13221 - * testsuite/libffi.call/cls_multi_sshort.c: New test case. - * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise. - * testsuite/libffi.call/cls_multi_uchar.c: Likewise. - * testsuite/libffi.call/cls_multi_schar.c: Likewise. - * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise. - * testsuite/libffi.call/cls_multi_ushort.c: Likewise. - - * testsuite/libffi.special/unwindtest.cc: Cosmetics. - -2003-11-26 Kaveh R. Ghazi - - * testsuite/libffi.call/ffitest.h: Include . - * testsuite/libffi.special/ffitestcxx.h: Likewise. - -2003-11-22 Andreas Tobler - - * Makefile.in: Rebuilt. - * configure: Likewise. - * testsuite/libffi.special/unwindtest.cc: Convert the mmap to - the right type. - -2003-11-21 Andreas Jaeger - Andreas Tobler - - * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST. - * configure.in: Call AC_FUNC_MMAP_BLACKLIST. - * Makefile.in: Rebuilt. - * aclocal.m4: Likewise. - * configure: Likewise. - * fficonfig.h.in: Likewise. - * testsuite/lib/libffi-dg.exp: Add include dir. - * testsuite/libffi.call/ffitest.h: Add MMAP definitions. - * testsuite/libffi.special/ffitestcxx.h: Likewise. - * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality - for ffi_closure if available. - * testsuite/libffi.call/closure_fn1.c: Likewise. - * testsuite/libffi.call/closure_fn2.c: Likewise. - * testsuite/libffi.call/closure_fn3.c: Likewise. - * testsuite/libffi.call/closure_fn4.c: Likewise. - * testsuite/libffi.call/closure_fn5.c: Likewise. - * testsuite/libffi.call/cls_12byte.c: Likewise. - * testsuite/libffi.call/cls_16byte.c: Likewise. - * testsuite/libffi.call/cls_18byte.c: Likewise. - * testsuite/libffi.call/cls_19byte.c: Likewise. - * testsuite/libffi.call/cls_1_1byte.c: Likewise. - * testsuite/libffi.call/cls_20byte.c: Likewise. - * testsuite/libffi.call/cls_20byte1.c: Likewise. - * testsuite/libffi.call/cls_24byte.c: Likewise. - * testsuite/libffi.call/cls_2byte.c: Likewise. - * testsuite/libffi.call/cls_3_1byte.c: Likewise. - * testsuite/libffi.call/cls_3byte1.c: Likewise. - * testsuite/libffi.call/cls_3byte2.c: Likewise. - * testsuite/libffi.call/cls_4_1byte.c: Likewise. - * testsuite/libffi.call/cls_4byte.c: Likewise. - * testsuite/libffi.call/cls_5byte.c: Likewise. - * testsuite/libffi.call/cls_64byte.c: Likewise. - * testsuite/libffi.call/cls_6byte.c: Likewise. - * testsuite/libffi.call/cls_7byte.c: Likewise. - * testsuite/libffi.call/cls_8byte.c: Likewise. - * testsuite/libffi.call/cls_9byte1.c: Likewise. - * testsuite/libffi.call/cls_9byte2.c: Likewise. - * testsuite/libffi.call/cls_double.c: Likewise. - * testsuite/libffi.call/cls_float.c: Likewise. - * testsuite/libffi.call/cls_schar.c: Likewise. - * testsuite/libffi.call/cls_sint.c: Likewise. - * testsuite/libffi.call/cls_sshort.c: Likewise. - * testsuite/libffi.call/cls_uchar.c: Likewise. - * testsuite/libffi.call/cls_uint.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/cls_ushort.c: Likewise. - * testsuite/libffi.call/nested_struct.c: Likewise. - * testsuite/libffi.call/nested_struct1.c: Likewise. - * testsuite/libffi.call/nested_struct2.c: Likewise. - * testsuite/libffi.call/nested_struct3.c: Likewise. - * testsuite/libffi.call/problem1.c: Likewise. - * testsuite/libffi.special/unwindtest.cc: Likewise. - -2003-11-20 Andreas Tobler - - * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional. - -2003-11-19 Andreas Tobler - - * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin. - Add -lgcc_s to additional flags. - -2003-11-12 Andreas Tobler - - * configure.in, include/Makefile.am: PR libgcj/11147, install - the ffitarget.h header file in a gcc versioned and target - dependent place. - * configure: Regenerated. - * Makefile.in, include/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - -2003-11-09 Andreas Tobler - - * testsuite/libffi.call/closure_fn0.c: Print result and check - with dg-output to make debugging easier. - * testsuite/libffi.call/closure_fn1.c: Likewise. - * testsuite/libffi.call/closure_fn2.c: Likewise. - * testsuite/libffi.call/closure_fn3.c: Likewise. - * testsuite/libffi.call/closure_fn4.c: Likewise. - * testsuite/libffi.call/closure_fn5.c: Likewise. - * testsuite/libffi.call/cls_12byte.c: Likewise. - * testsuite/libffi.call/cls_16byte.c: Likewise. - * testsuite/libffi.call/cls_18byte.c: Likewise. - * testsuite/libffi.call/cls_19byte.c: Likewise. - * testsuite/libffi.call/cls_1_1byte.c: Likewise. - * testsuite/libffi.call/cls_20byte.c: Likewise. - * testsuite/libffi.call/cls_20byte1.c: Likewise. - * testsuite/libffi.call/cls_24byte.c: Likewise. - * testsuite/libffi.call/cls_2byte.c: Likewise. - * testsuite/libffi.call/cls_3_1byte.c: Likewise. - * testsuite/libffi.call/cls_3byte1.c: Likewise. - * testsuite/libffi.call/cls_3byte2.c: Likewise. - * testsuite/libffi.call/cls_4_1byte.c: Likewise. - * testsuite/libffi.call/cls_4byte.c: Likewise. - * testsuite/libffi.call/cls_5byte.c: Likewise. - * testsuite/libffi.call/cls_64byte.c: Likewise. - * testsuite/libffi.call/cls_6byte.c: Likewise. - * testsuite/libffi.call/cls_7byte.c: Likewise. - * testsuite/libffi.call/cls_8byte.c: Likewise. - * testsuite/libffi.call/cls_9byte1.c: Likewise. - * testsuite/libffi.call/cls_9byte2.c: Likewise. - * testsuite/libffi.call/cls_double.c: Likewise. - * testsuite/libffi.call/cls_float.c: Likewise. - * testsuite/libffi.call/cls_schar.c: Likewise. - * testsuite/libffi.call/cls_sint.c: Likewise. - * testsuite/libffi.call/cls_sshort.c: Likewise. - * testsuite/libffi.call/cls_uchar.c: Likewise. - * testsuite/libffi.call/cls_uint.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/cls_ushort.c: Likewise. - * testsuite/libffi.call/problem1.c: Likewise. - - * testsuite/libffi.special/unwindtest.cc: Make ffi_closure - static. - -2003-11-08 Andreas Tobler - - * testsuite/libffi.call/cls_9byte2.c: New test case. - * testsuite/libffi.call/cls_9byte1.c: Likewise. - * testsuite/libffi.call/cls_64byte.c: Likewise. - * testsuite/libffi.call/cls_20byte1.c: Likewise. - * testsuite/libffi.call/cls_19byte.c: Likewise. - * testsuite/libffi.call/cls_18byte.c: Likewise. - * testsuite/libffi.call/closure_fn4.c: Likewise. - * testsuite/libffi.call/closure_fn5.c: Likewise. - * testsuite/libffi.call/cls_schar.c: Likewise. - * testsuite/libffi.call/cls_sint.c: Likewise. - * testsuite/libffi.call/cls_sshort.c: Likewise. - * testsuite/libffi.call/nested_struct2.c: Likewise. - * testsuite/libffi.call/nested_struct3.c: Likewise. - -2003-11-08 Andreas Tobler - - * testsuite/libffi.call/cls_double.c: Do a check on the result. - * testsuite/libffi.call/cls_uchar.c: Likewise. - * testsuite/libffi.call/cls_uint.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/cls_ushort.c: Likewise. - * testsuite/libffi.call/return_sc.c: Cleanup whitespaces. - -2003-11-06 Andreas Tobler - - * src/prep_cif.c (ffi_prep_cif): Move the validity check after - the initialization. - -2003-10-23 Andreas Tobler - - * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace - FFI_ASSERT(FALSE) with FFI_ASSERT(0). - -2003-10-22 David Daney - - * src/mips/ffitarget.h: Replace undefined UINT32 and friends with - __attribute__((__mode__(__SI__))) and friends. - -2003-10-22 Andreas Schwab - - * src/ia64/ffi.c: Replace FALSE/TRUE with false/true. - -2003-10-21 Andreas Tobler - - * configure.in: AC_LINK_FILES(ffitarget.h). - * configure: Regenerate. - * Makefile.in: Likewise. - * include/Makefile.in: Likewise. - * testsuite/Makefile.in: Likewise. - * fficonfig.h.in: Likewise. - -2003-10-21 Paolo Bonzini - Richard Henderson - - Avoid that ffi.h includes fficonfig.h. - - * Makefile.am (EXTRA_DIST): Include ffitarget.h files - (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. - (TARGET_SRC_MIPS_SGI): Removed. - (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. - (MIPS_SGI): Removed. - (CLEANFILES): Removed. - (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New - targets. - * acconfig.h: Removed. - * configure.in: Compute sizeofs only for double and long double. - Use them to define and subst HAVE_LONG_DOUBLE. Include comments - into AC_DEFINE instead of using acconfig.h. Create - include/ffitarget.h instead of include/fficonfig.h. Rename - MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. - AC_DEFINE EH_FRAME_FLAGS. - * include/Makefile.am (DISTCLEANFILES): New automake macro. - (hack_DATA): Add ffitarget.h. - * include/ffi.h.in: Remove all system specific definitions. - Declare raw API even if it is not installed, why bother? - Use limits.h instead of SIZEOF_* to define ffi_type_*. Do - not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include - ffitarget.h instead of fficonfig.h. Remove ALIGN macro. - (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. - * include/ffi_common.h (bool): Do not define. - (ffi_assert): Accept failed assertion. - (ffi_type_test): Return void and accept file/line. - (FFI_ASSERT): Pass stringized failed assertion. - (FFI_ASSERT_AT): New macro. - (FFI_ASSERT_VALID_TYPE): New macro. - (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, - UINT64, SINT64): Define here with gcc's __attribute__ macro - instead of in ffi.h - (FLOAT32, ALIGN): Define here instead of in ffi.h - * include/ffi-mips.h: Removed. Its content moved to - src/mips/ffitarget.h after separating assembly and C sections. - * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c - src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, - src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, - src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: - SIZEOF_ARG -> FFI_SIZEOF_ARG. - * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). - * src/debug.c (ffi_assert): Accept stringized failed assertion. - (ffi_type_test): Rewritten. - * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call - FFI_ASSERT_VALID_TYPE. - * src/alpha/ffitarget.h, src/arm/ffitarget.h, - src/ia64/ffitarget.h, src/m68k/ffitarget.h, - src/mips/ffitarget.h, src/powerpc/ffitarget.h, - src/s390/ffitarget.h, src/sh/ffitarget.h, - src/sh64/ffitarget.h, src/sparc/ffitarget.h, - src/x86/ffitarget.h: New files. - * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, - src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, - src/powerpc/aix.S, src/powerpc/darwin.S, - src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, - src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, - src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, - src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, - src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: - include fficonfig.h - -2003-10-20 Rainer Orth - - * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external - _MIPS_SIM_NABI32, _MIPS_SIM_ABI32. - -2003-10-19 Andreas Tobler - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again. - Used when FFI_DEBUG = 1. - -2003-10-14 Alan Modra - - * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size - and align. - -2003-10-06 Rainer Orth - - * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs, - FFI_MIPS_O32 for O32 ABI. - -2003-10-01 Andreas Tobler - - * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for - SPARC64. Cleanup whitespaces. - -2003-09-19 Andreas Tobler - - * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm, - strongarm, xscale. Cleanup whitespaces. - * testsuite/libffi.call/closure_fn1.c: Likewise. - * testsuite/libffi.call/closure_fn2.c: Likewise. - * testsuite/libffi.call/closure_fn3.c: Likewise. - * testsuite/libffi.call/cls_12byte.c: Likewise. - * testsuite/libffi.call/cls_16byte.c: Likewise. - * testsuite/libffi.call/cls_1_1byte.c: Likewise. - * testsuite/libffi.call/cls_20byte.c: Likewise. - * testsuite/libffi.call/cls_24byte.c: Likewise. - * testsuite/libffi.call/cls_2byte.c: Likewise. - * testsuite/libffi.call/cls_3_1byte.c: Likewise. - * testsuite/libffi.call/cls_3byte1.c: Likewise. - * testsuite/libffi.call/cls_3byte2.c: Likewise. - * testsuite/libffi.call/cls_4_1byte.c: Likewise. - * testsuite/libffi.call/cls_4byte.c: Likewise. - * testsuite/libffi.call/cls_5byte.c: Likewise. - * testsuite/libffi.call/cls_6byte.c: Likewise. - * testsuite/libffi.call/cls_7byte.c: Likewise. - * testsuite/libffi.call/cls_8byte.c: Likewise. - * testsuite/libffi.call/cls_double.c: Likewise. - * testsuite/libffi.call/cls_float.c: Likewise. - * testsuite/libffi.call/cls_uchar.c: Likewise. - * testsuite/libffi.call/cls_uint.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/cls_ushort.c: Likewise. - * testsuite/libffi.call/nested_struct.c: Likewise. - * testsuite/libffi.call/nested_struct1.c: Likewise. - * testsuite/libffi.call/problem1.c: Likewise. - * testsuite/libffi.special/unwindtest.cc: Likewise. - * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces. - -2003-09-18 David Edelsohn - - * src/powerpc/aix.S: Cleanup whitespaces. - * src/powerpc/aix_closure.S: Likewise. - -2003-09-18 Andreas Tobler - - * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting. - * src/powerpc/darwin_closure.S: Likewise. - * src/powerpc/ffi_darwin.c: Likewise. - -2003-09-18 Andreas Tobler - David Edelsohn - - * src/types.c (double): Add AIX and Darwin to the right TYPEDEF. - * src/powerpc/aix_closure.S: Remove the pointer to the outgoing - parameter stack. - * src/powerpc/darwin_closure.S: Likewise. - * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures - according to the Darwin/AIX ABI. - (ffi_prep_cif_machdep): Likewise. - (ffi_closure_helper_DARWIN): Likewise. - Remove the outgoing parameter stack logic. Simplify the evaluation - of the different CASE types. - (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch - statement in the trampoline code. - -2003-09-18 Kaz Kojima - - * src/sh/ffi.c (ffi_prep_args): Take account into the alignement - for the register size. - (ffi_closure_helper_SYSV): Handle the structure return value - address correctly. - (ffi_closure_helper_SYSV): Return the appropriate type when - the registers are used for the structure return value. - * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for - the 64-bit return value. Update copyright years. - -2003-09-17 Rainer Orth - - * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in - srcdir for ffi_mips.h. - -2003-09-12 Alan Modra - - * src/prep_cif.c (initialize_aggregate): Include tail padding in - structure size. - * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct - placement of float result. - * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct - cast of "resp" for big-endian 64 bit machines. - -2003-09-11 Alan Modra - - * src/types.c (double, longdouble): Merge identical SH and ARM - typedefs, and add POWERPC64. - * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for - struct split over gpr and rest. - (ffi_prep_cif_machdep): Correct intarg_count for structures. - * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets. - -2003-09-09 Andreas Tobler - - * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct - passing correctly. - -2003-09-09 Alan Modra - - * configure: Regenerate. - -2003-09-04 Andreas Tobler - - * Makefile.am: Remove build rules for ffitest. - * Makefile.in: Rebuilt. - -2003-09-04 Andreas Tobler - - * src/java_raw_api.c: Include to fix compiler warning - about implicit declaration of abort(). - -2003-09-04 Andreas Tobler - - * Makefile.am: Add dejagnu test framework. Fixes PR other/11411. - * Makefile.in: Rebuilt. - * configure.in: Add dejagnu test framework. - * configure: Rebuilt. - - * testsuite/Makefile.am: New file. - * testsuite/Makefile.in: Built - * testsuite/lib/libffi-dg.exp: New file. - * testsuite/config/default.exp: Likewise. - * testsuite/libffi.call/call.exp: Likewise. - * testsuite/libffi.call/ffitest.h: Likewise. - * testsuite/libffi.call/closure_fn0.c: Likewise. - * testsuite/libffi.call/closure_fn1.c: Likewise. - * testsuite/libffi.call/closure_fn2.c: Likewise. - * testsuite/libffi.call/closure_fn3.c: Likewise. - * testsuite/libffi.call/cls_1_1byte.c: Likewise. - * testsuite/libffi.call/cls_3_1byte.c: Likewise. - * testsuite/libffi.call/cls_4_1byte.c: Likewise. - * testsuite/libffi.call/cls_2byte.c: Likewise. - * testsuite/libffi.call/cls_3byte1.c: Likewise. - * testsuite/libffi.call/cls_3byte2.c: Likewise. - * testsuite/libffi.call/cls_4byte.c: Likewise. - * testsuite/libffi.call/cls_5byte.c: Likewise. - * testsuite/libffi.call/cls_6byte.c: Likewise. - * testsuite/libffi.call/cls_7byte.c: Likewise. - * testsuite/libffi.call/cls_8byte.c: Likewise. - * testsuite/libffi.call/cls_12byte.c: Likewise. - * testsuite/libffi.call/cls_16byte.c: Likewise. - * testsuite/libffi.call/cls_20byte.c: Likewise. - * testsuite/libffi.call/cls_24byte.c: Likewise. - * testsuite/libffi.call/cls_double.c: Likewise. - * testsuite/libffi.call/cls_float.c: Likewise. - * testsuite/libffi.call/cls_uchar.c: Likewise. - * testsuite/libffi.call/cls_uint.c: Likewise. - * testsuite/libffi.call/cls_ulonglong.c: Likewise. - * testsuite/libffi.call/cls_ushort.c: Likewise. - * testsuite/libffi.call/float.c: Likewise. - * testsuite/libffi.call/float1.c: Likewise. - * testsuite/libffi.call/float2.c: Likewise. - * testsuite/libffi.call/many.c: Likewise. - * testsuite/libffi.call/many_win32.c: Likewise. - * testsuite/libffi.call/nested_struct.c: Likewise. - * testsuite/libffi.call/nested_struct1.c: Likewise. - * testsuite/libffi.call/pyobjc-tc.c: Likewise. - * testsuite/libffi.call/problem1.c: Likewise. - * testsuite/libffi.call/promotion.c: Likewise. - * testsuite/libffi.call/return_ll.c: Likewise. - * testsuite/libffi.call/return_sc.c: Likewise. - * testsuite/libffi.call/return_uc.c: Likewise. - * testsuite/libffi.call/strlen.c: Likewise. - * testsuite/libffi.call/strlen_win32.c: Likewise. - * testsuite/libffi.call/struct1.c: Likewise. - * testsuite/libffi.call/struct2.c: Likewise. - * testsuite/libffi.call/struct3.c: Likewise. - * testsuite/libffi.call/struct4.c: Likewise. - * testsuite/libffi.call/struct5.c: Likewise. - * testsuite/libffi.call/struct6.c: Likewise. - * testsuite/libffi.call/struct7.c: Likewise. - * testsuite/libffi.call/struct8.c: Likewise. - * testsuite/libffi.call/struct9.c: Likewise. - * testsuite/libffi.special/special.exp: New file. - * testsuite/libffi.special/ffitestcxx.h: Likewise. - * testsuite/libffi.special/unwindtest.cc: Likewise. - - -2003-08-13 Kaz Kojima - - * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update - copyright years. - -2003-08-02 Alan Modra - - * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc - structure passing. - (ffi_closure_helper_LINUX64): Likewise. - * src/powerpc/linux64.S: Remove code writing to parm save area. - * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return - address in lr from ffi_closure_helper_LINUX64 call to calculate - table address. Optimize function tail. - -2003-07-28 Andreas Tobler - - * src/sparc/ffi.c: Handle all floating point registers. - * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410. - -2003-07-11 Gerald Pfeifer - - * README: Note that libffi is not part of GCC. Update the project - URL and status. - -2003-06-19 Franz Sirl - - * src/powerpc/ppc_closure.S: Include ffi.h. - -2003-06-13 Rainer Orth - - * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives. - Use C style comments. - -2003-06-13 Kaz Kojima - - * Makefile.am: Add SHmedia support. Fix a typo of SH support. - * Makefile.in: Regenerate. - * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target. - * configure: Regenerate. - * include/ffi.h.in: Add SHmedia support. - * src/sh64/ffi.c: New file. - * src/sh64/sysv.S: New file. - -2003-05-16 Jakub Jelinek - - * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section - should be read-only. - * configure: Rebuilt. - * fficonfig.h.in: Rebuilt. - * include/ffi.h.in (EH_FRAME_FLAGS): Define. - * src/alpha/osf.S: Use EH_FRAME_FLAGS. - * src/powerpc/linux64.S: Likewise. - * src/powerpc/linux64_closure.S: Likewise. Include ffi.h. - * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding - if -fpic/-fPIC/-mrelocatable. - * src/powerpc/powerpc_closure.S: Likewise. - * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include - #write in .eh_frame flags. - * src/sparc/v9.S: Likewise. - * src/x86/unix64.S: Use EH_FRAME_FLAGS. - * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC. - * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h. - -2003-05-07 Jeff Sturm - - Fixes PR bootstrap/10656 - * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler - support for .register pseudo-op. - * src/sparc/v8.S: Use it. - * fficonfig.h.in: Rebuilt. - * configure: Rebuilt. - -2003-04-18 Jakub Jelinek - - * include/ffi.h.in (POWERPC64): Define if 64-bit. - (enum ffi_abi): Add FFI_LINUX64 on POWERPC. - Make it the default on POWERPC64. - (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64. - * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*. - * configure: Rebuilt. - * src/powerpc/ffi.c (hidden): Define. - (ffi_prep_args_SYSV): Renamed from - ffi_prep_args. Cast pointers to unsigned long to shut up warnings. - (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64, - ASM_NEEDS_REGISTERS64): New. - (ffi_prep_args64): New function. - (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI. - (ffi_call): Likewise. - (ffi_prep_closure): Likewise. - (flush_icache): Surround by #ifndef POWERPC64. - (ffi_dblfl): New union type. - (ffi_closure_helper_SYSV): Use it to avoid aliasing problems. - (ffi_closure_helper_LINUX64): New function. - * src/powerpc/ppc_closure.S: Surround whole file by #ifndef - __powerpc64__. - * src/powerpc/sysv.S: Likewise. - (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV. - * src/powerpc/linux64.S: New file. - * src/powerpc/linux64_closure.S: New file. - * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and - src/powerpc/linux64_closure.S. - (TARGET_SRC_POWERPC): Likewise. - - * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2, - closure_test_fn3): Fix result printing on big-endian 64-bit - machines. - (main): Print tst2_arg instead of uninitialized tst2_result. - - * src/ffitest.c (main): Hide what closure pointer really points to - from the compiler. - -2003-04-16 Richard Earnshaw - - * configure.in (arm-*-netbsdelf*): Add configuration. - (configure): Regenerated. - -2003-04-04 Loren J. Rittle - - * include/Makefile.in: Regenerate. - -2003-03-21 Zdenek Dvorak - - * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32 - bit mode. - * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): - Receive closure pointer through parameter, read args using - __builtin_dwarf_cfa. - (FFI_INIT_TRAMPOLINE): Send closure reference through eax. - -2003-03-12 Andreas Schwab - - * configure.in: Avoid trailing /. in toolexeclibdir. - * configure: Rebuilt. - -2003-03-03 Andreas Tobler - - * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries. - -2003-02-06 Andreas Tobler - - * libffi/src/powerpc/darwin_closure.S: - Fix alignement bug, allocate 8 bytes for the result. - * libffi/src/powerpc/aix_closure.S: - Likewise. - * libffi/src/powerpc/ffi_darwin.c: - Update stackframe description for aix/darwin_closure.S. - -2003-02-06 Jakub Jelinek - - * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility - attribute. - -2003-01-31 Christian Cornelssen , - Andreas Schwab - - * configure.in: Adjust command to source config-ml.in to account - for changes to the libffi_basedir definition. - (libffi_basedir): Remove ${srcdir} from value and include trailing - slash if nonempty. - - * configure: Regenerate. - -2003-01-29 Franz Sirl - - * src/powerpc/ppc_closure.S: Recode to fit shared libs. - -2003-01-28 Andrew Haley - - * include/ffi.h.in: Enable FFI_CLOSURES for x86_64. - * src/x86/ffi64.c (ffi_prep_closure): New. - (ffi_closure_UNIX64_inner): New. - * src/x86/unix64.S (ffi_closure_UNIX64): New. - -2003-01-27 Alexandre Oliva - - * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST. - Remove USE_LIBDIR conditional. - * Makefile.am (toolexecdir, toolexeclibdir): Don't override. - * Makefile.in, configure: Rebuilt. - -2003-01027 David Edelsohn - - * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo. - * Makefile.in: Regenerate. - -2003-01-22 Andrew Haley - - * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to - unwind info. - -2003-01-21 Andreas Tobler - - * src/powerpc/darwin.S: Add unwind info. - * src/powerpc/darwin_closure.S: Likewise. - -2003-01-14 Andrew Haley - - * src/x86/ffi64.c (ffi_prep_args): Check for void retval. - (ffi_prep_cif_machdep): Likewise. - * src/x86/unix64.S: Add unwind info. - -2003-01-14 Andreas Jaeger - - * src/ffitest.c (main): Only use ffi_closures if those are - supported. - -2003-01-13 Andreas Tobler - - * libffi/src/ffitest.c - add closure testcases - -2003-01-13 Kevin B. Hendricks - - * libffi/src/powerpc/ffi.c - fix alignment bug for float (4 byte aligned iso 8 byte) - -2003-01-09 Geoffrey Keating - - * src/powerpc/ffi_darwin.c: Remove RCS version string. - * src/powerpc/darwin.S: Remove RCS version string. - -2003-01-03 Jeff Sturm - - * include/ffi.h.in: Add closure defines for SPARC, SPARC64. - * src/ffitest.c (main): Use static storage for closure. - * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New. - * src/sparc/v8.S (ffi_closure_v8): New. - * src/sparc/v9.S (ffi_closure_v9): New. - -2002-11-10 Ranjit Mathew - - * include/ffi.h.in: Added FFI_STDCALL ffi_type - enumeration for X86_WIN32. - * src/x86/win32.S: Added ffi_call_STDCALL function - definition. - * src/x86/ffi.c (ffi_call/ffi_raw_call): Added - switch cases for recognising FFI_STDCALL and - calling ffi_call_STDCALL if target is X86_WIN32. - * src/ffitest.c (my_stdcall_strlen/stdcall_many): - stdcall versions of the "my_strlen" and "many" - test functions (for X86_WIN32). - Added test cases to test stdcall invocation using - these functions. - -2002-12-02 Kaz Kojima - - * src/sh/sysv.S: Add DWARF2 unwind info. - -2002-11-27 Ulrich Weigand - - * src/s390/sysv.S (.eh_frame section): Make section read-only. - -2002-11-26 Jim Wilson - - * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64. - -2002-11-23 H.J. Lu - - * acinclude.m4: Add dummy AM_PROG_LIBTOOL. - Include ../config/accross.m4. - * aclocal.m4; Rebuild. - * configure: Likewise. - -2002-11-15 Ulrich Weigand - - * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding. - -2002-11-11 DJ Delorie - - * configure.in: Look for common files in the right place. - -2002-10-08 Ulrich Weigand - - * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret - raw data as _Jv_word values, not ffi_raw. - (ffi_java_ptrarray_to_raw): Likewise. - (ffi_java_rvalue_to_raw): New function. - (ffi_java_raw_call): Call it. - (ffi_java_raw_to_rvalue): New function. - (ffi_java_translate_args): Call it. - * src/ffitest.c (closure_test_fn): Interpret return value - as ffi_arg, not int. - * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing - FFI_TYPE_POINTER case. - (ffi_closure_helper_SYSV): Likewise. Also, assume return - values extended to word size. - -2002-10-02 Andreas Jaeger - - * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output. - -2002-10-01 Bo Thorsen - - * include/ffi.h.in: Fix i386 win32 compilation. - -2002-09-30 Ulrich Weigand - - * configure.in: Add s390x-*-linux-* target. - * configure: Regenerate. - * include/ffi.h.in: Define S390X for s390x targets. - (FFI_CLOSURES): Define for s390/s390x. - (FFI_TRAMPOLINE_SIZE): Likewise. - (FFI_NATIVE_RAW_API): Likewise. - * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390. - * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x. - * src/s390/ffi.c: Major rework of existing code. Add support for - s390x targets. Add closure support. - * src/s390/sysv.S: Likewise. - -2002-09-29 Richard Earnshaw - - * src/arm/sysv.S: Fix typo. - -2002-09-28 Richard Earnshaw - - * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor - has defined __USER_LABEL_PREFIX__, then use it in CNAME. - (ffi_call_SYSV): Handle soft-float. - -2002-09-27 Bo Thorsen - - * include/ffi.h.in: Fix multilib x86-64 support. - -2002-09-22 Kaveh R. Ghazi - - * Makefile.am (all-multi): Fix multilib parallel build. - -2002-07-19 Kaz Kojima - - * configure.in (sh[34]*-*-linux*): Add brackets. - * configure: Regenerate. - -2002-07-18 Kaz Kojima - - * Makefile.am: Add SH support. - * Makefile.in: Regenerate. - * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target. - * configure: Regenerate. - * include/ffi.h.in: Add SH support. - * src/sh/ffi.c: New file. - * src/sh/sysv.S: New file. - * src/types.c: Add SH support. - -2002-07-16 Bo Thorsen - - * src/x86/ffi64.c: New file that adds x86-64 support. - * src/x86/unix64.S: New file that handles argument setup for - x86-64. - * src/x86/sysv.S: Don't use this on x86-64. - * src/x86/ffi.c: Don't use this on x86-64. - Remove unused vars. - * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation - for x86-64. - * src/ffitest.c (struct6): New test that tests a special case in - the x86-64 ABI. - (struct7): Likewise. - (struct8): Likewise. - (struct9): Likewise. - (closure_test_fn): Silence warning about this when it's not used. - (main): Add the new tests. - (main): Fix a couple of wrong casts and silence some compiler warnings. - * include/ffi.h.in: Add x86-64 ABI definition. - * fficonfig.h.in: Regenerate. - * Makefile.am: Add x86-64 support. - * configure.in: Likewise. - * Makefile.in: Regenerate. - * configure: Likewise. - -2002-06-24 Bo Thorsen - - * src/types.c: Merge settings for similar architectures. - Add x86-64 sizes and alignments. - -2002-06-23 Bo Thorsen - - * src/arm/ffi.c (ffi_prep_args): Remove unused vars. - * src/sparc/ffi.c (ffi_prep_args_v8): Likewise. - * src/mips/ffi.c (ffi_prep_args): Likewise. - * src/m68k/ffi.c (ffi_prep_args): Likewise. - -2002-07-18 H.J. Lu (hjl@gnu.org) - - * Makefile.am (TARGET_SRC_MIPS_LINUX): New. - (libffi_la_SOURCES): Support MIPS_LINUX. - (libffi_convenience_la_SOURCES): Likewise. - * Makefile.in: Regenerated. - - * configure.in (mips64*-*): Skip. - (mips*-*-linux*): New. - * configure: Regenerated. - - * src/mips/ffi.c: Include . - -2002-06-06 Ulrich Weigand - - * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info. - -2002-05-27 Roger Sayle - - * src/x86/ffi.c (ffi_prep_args): Remove reference to avn. - -2002-05-27 Bo Thorsen - - * src/x86/ffi.c (ffi_prep_args): Remove unused variable and - fix formatting. - -2002-05-13 Andreas Tobler - - * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at - beginning of function (for older apple cc). - -2002-05-08 Alexandre Oliva - - * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at - script entry, and set LD to it when configuring multilibs. - * configure: Rebuilt. - -2002-05-05 Jason Thorpe - - * configure.in (sparc64-*-netbsd*): Add target. - (sparc-*-netbsdelf*): Likewise. - * configure: Regenerate. - -2002-04-28 David S. Miller - - * configure.in, configure: Fix SPARC test in previous change. - -2002-04-29 Gerhard Tonn - - * Makefile.am: Add Linux for S/390 support. - * Makefile.in: Regenerate. - * configure.in: Add Linux for S/390 support. - * configure: Regenerate. - * include/ffi.h.in: Add Linux for S/390 support. - * src/s390/ffi.c: New file from libffi CVS tree. - * src/s390/sysv.S: New file from libffi CVS tree. - -2002-04-28 Jakub Jelinek - - * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working - %r_disp32(). - * src/sparc/v8.S: Use it. - * src/sparc/v9.S: Likewise. - * fficonfig.h.in: Rebuilt. - * configure: Rebuilt. - -2002-04-08 Hans Boehm - - * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE - correctly. - * src/ia64/unix.S: Add unwind information. Fix comments. - Save sp in a way that's compatible with unwind info. - (ffi_call_unix): Correctly restore sp in all cases. - * src/ia64/ffi.c: Add, fix comments. - -2002-04-08 Jakub Jelinek - - * src/sparc/v8.S: Make .eh_frame dependent on target word size. - -2002-04-06 Jason Thorpe - - * configure.in (alpha*-*-netbsd*): Add target. - * configure: Regenerate. - -2002-04-04 Jeff Sturm - - * src/sparc/v8.S: Add unwind info. - * src/sparc/v9.S: Likewise. - -2002-03-30 Krister Walfridsson - - * configure.in: Enable i*86-*-netbsdelf*. - * configure: Rebuilt. - -2002-03-29 David Billinghurst - - PR other/2620 - * src/mips/n32.s: Delete - * src/mips/o32.s: Delete - -2002-03-21 Loren J. Rittle - - * configure.in: Enable alpha*-*-freebsd*. - * configure: Rebuilt. - -2002-03-17 Bryce McKinlay - - * Makefile.am: libfficonvenience -> libffi_convenience. - * Makefile.in: Rebuilt. - - * Makefile.am: Define ffitest_OBJECTS. - * Makefile.in: Rebuilt. - -2002-03-07 Andreas Tobler - David Edelsohn - - * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files. - (TARGET_SRC_POWERPC_AIX): Add aix_closure.S. - (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S. - * Makefile.in: Regenerate. - * include/ffi.h.in: Add AIX and Darwin closure definitions. - * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function. - (flush_icache, flush_range): New functions. - (ffi_closure_helper_DARWIN): New function. - * src/powerpc/aix_closure.S: New file. - * src/powerpc/darwin_closure.S: New file. - -2002-02-24 Jeff Sturm - - * include/ffi.h.in: Add typedef for ffi_arg. - * src/ffitest.c (main): Declare rint with ffi_arg. - -2002-02-21 Andreas Tobler - - * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate - number of GPRs for floating-point arguments. - -2002-01-31 Anthony Green - - * configure: Rebuilt. - * configure.in: Replace CHECK_SIZEOF and endian tests with - cross-compiler friendly macros. - * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New - macros. - -2002-01-18 David Edelsohn - - * src/powerpc/darwin.S (_ffi_call_AIX): New. - * src/powerpc/aix.S (ffi_call_DARWIN): New. - -2002-01-17 David Edelsohn - - * Makefile.am (EXTRA_DIST): Add Darwin and AIX files. - (TARGET_SRC_POWERPC_AIX): New. - (POWERPC_AIX): New stanza. - * Makefile.in: Regenerate. - * configure.in: Add AIX case. - * configure: Regenerate. - * include/ffi.h.in (ffi_abi): Add FFI_AIX. - * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame - size. Fix "long double" support. - (ffi_call): Add FFI_AIX case. - * src/powerpc/aix.S: New. - -2001-10-09 John Hornkvist - - Implement Darwin PowerPC ABI. - * configure.in: Handle powerpc-*-darwin*. - * Makefile.am: Set source files for POWERPC_DARWIN. - * configure: Rebuilt. - * Makefile.in: Rebuilt. - * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for - POWERPC_DARWIN. - * src/powerpc/darwin.S: New file. - * src/powerpc/ffi_darwin.c: New file. - -2001-10-07 Joseph S. Myers - - * src/x86/ffi.c: Fix spelling error of "separate" as "seperate". - -2001-07-16 Rainer Orth - - * src/x86/sysv.S: Avoid gas-only .balign directive. - Use C style comments. - -2001-07-16 Rainer Orth - - * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic. - Fixes PR bootstrap/3563. - -2001-06-26 Rainer Orth - - * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF. - -2001-06-25 Rainer Orth - - * configure.in: Recognize sparc*-sun-* host. - * configure: Regenerate. - -2001-06-06 Andrew Haley - - * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF. - -2001-06-03 Andrew Haley - - * src/alpha/osf.S: Add unwind info. - * src/powerpc/sysv.S: Add unwind info. - * src/powerpc/ppc_closure.S: Likewise. - -2000-05-31 Jeff Sturm - - * configure.in: Fix AC_ARG_ENABLE usage. - * configure: Rebuilt. - -2001-05-06 Bryce McKinlay - - * configure.in: Remove warning about beta code. - * configure: Rebuilt. - -2001-04-25 Hans Boehm - - * src/ia64/unix.S: Restore stack pointer when returning from - ffi_closure_UNIX. - * src/ia64/ffi.c: Fix typo in comment. - -2001-04-18 Jim Wilson - - * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2 - to eliminate RAW DV. - -2001-04-12 Bryce McKinlay - - * Makefile.am: Make a libtool convenience library. - * Makefile.in: Rebuilt. - -2001-03-29 Bryce McKinlay - - * configure.in: Use different syntax for subdirectory creation. - * configure: Rebuilt. - -2001-03-27 Jon Beniston - - * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW). - * configure: Rebuilt. - * Makefile.am: Added X86_WIN32 target support. - * Makefile.in: Rebuilt. - - * include/ffi.h.in: Added X86_WIN32 target support. - - * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets. - * src/types.c: Added X86_WIN32 target support. - - * src/x86/win32.S: New file. Based on sysv.S, but with EH - stuff removed and made to work with CygWin's gas. - -2001-03-26 Bryce McKinlay - - * configure.in: Make target subdirectory in build dir. - * Makefile.am: Override suffix based rules to specify correct output - subdirectory. - * Makefile.in: Rebuilt. - * configure: Rebuilt. - -2001-03-23 Kevin B Hendricks - - * src/powerpc/ppc_closure.S: New file. - * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug - involving long long and register pairs. - (ffi_prep_closure): New function. - (flush_icache): Likewise. - (ffi_closure_helper_SYSV): Likewise. - * include/ffi.h.in (FFI_CLOSURES): Define on PPC. - (FFI_TRAMPOLINE_SIZE): Likewise. - (FFI_NATIVE_RAW_API): Likewise. - * Makefile.in: Rebuilt. - * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S. - (TARGET_SRC_POWERPC): Likewise. - -2001-03-19 Tom Tromey - - * Makefile.in: Rebuilt. - * Makefile.am (ffitest_LDFLAGS): New macro. - -2001-03-02 Nick Clifton - - * include/ffi.h.in: Remove RCS ident string. - * include/ffi_mips.h: Remove RCS ident string. - * src/debug.c: Remove RCS ident string. - * src/ffitest.c: Remove RCS ident string. - * src/prep_cif.c: Remove RCS ident string. - * src/types.c: Remove RCS ident string. - * src/alpha/ffi.c: Remove RCS ident string. - * src/alpha/osf.S: Remove RCS ident string. - * src/arm/ffi.c: Remove RCS ident string. - * src/arm/sysv.S: Remove RCS ident string. - * src/mips/ffi.c: Remove RCS ident string. - * src/mips/n32.S: Remove RCS ident string. - * src/mips/o32.S: Remove RCS ident string. - * src/sparc/ffi.c: Remove RCS ident string. - * src/sparc/v8.S: Remove RCS ident string. - * src/sparc/v9.S: Remove RCS ident string. - * src/x86/ffi.c: Remove RCS ident string. - * src/x86/sysv.S: Remove RCS ident string. - -2001-02-08 Joseph S. Myers - - * include/ffi.h.in: Change sourceware.cygnus.com references to - gcc.gnu.org. - -2000-12-09 Richard Henderson - - * src/alpha/ffi.c (ffi_call): Simplify struct return test. - (ffi_closure_osf_inner): Index rather than increment avalue - and arg_types. Give ffi_closure_osf the raw return value type. - * src/alpha/osf.S (ffi_closure_osf): Handle return value type - promotion. - -2000-12-07 Richard Henderson - - * src/raw_api.c (ffi_translate_args): Fix typo. - (ffi_prep_closure): Likewise. - - * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and - FFI_TRAMPOLINE_SIZE. - * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal - cif->bytes for new ffi_call_osf implementation. - (ffi_prep_args): Absorb into ... - (ffi_call): ... here. Do all stack allocation here and - avoid a callback function. - (ffi_prep_closure, ffi_closure_osf_inner): New. - * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback. - (ffi_closure_osf): New. - -2000-09-10 Alexandre Oliva - - * config.guess, config.sub, install-sh: Removed. - * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise. - * Makefile.in: Rebuilt. - - * acinclude.m4: Include libtool macros from the top level. - * aclocal.m4, configure: Rebuilt. - -2000-08-22 Alexandre Oliva - - * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set. - * configure: Rebuilt. - -2000-05-11 Scott Bambrough - - * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to - memory correctly. Use conditional instructions, not branches where - possible. - -2000-05-04 Tom Tromey - - * configure: Rebuilt. - * configure.in: Match `arm*-*-linux-*'. - From Chris Dornan . - -2000-04-28 Jakub Jelinek - - * Makefile.am (SUBDIRS): Define. - (AM_MAKEFLAGS): Likewise. - (Multilib support.): Add section. - * Makefile.in: Rebuilt. - * ltconfig (extra_compiler_flags, extra_compiler_flags_value): - New variables. Set for gcc using -print-multi-lib. Export them - to libtool. - (sparc64-*-linux-gnu*): Use libsuff 64 for search paths. - * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options - for -shared links. - (extra_compiler_flags_value, extra_compiler_flags): Check these - for extra compiler options which need to be passed down in - compiler_flags. - -2000-04-16 Anthony Green - - * configure: Rebuilt. - * configure.in: Change i*86-pc-linux* to i*86-*-linux*. - -2000-04-14 Jakub Jelinek - - * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds. - Set SPARC FFI_DEFAULT_ABI based on SPARC64 define. - * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args. - Replace all void * sizeofs with sizeof(int). - Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is - different than DOUBLE. - Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere). - (ffi_prep_args_v9): New function. - (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8. - (ffi_V9_return_struct): New function. - (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from - 32bit code (not yet cross-arch calls). - * src/sparc/v8.S: Add struct return delay nop. - Handle long long. - * src/sparc/v9.S: New file. - * src/prep_cif.c (ffi_prep_cif): Return structure pointer - is used on sparc64 only for structures larger than 32 bytes. - Pass by reference for structures is done for structure arguments - larger than 16 bytes. - * src/ffitest.c (main): Use 64bit rint on sparc64. - Run long long tests on sparc. - * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and - sparc64. - (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits - on sparc64. - * configure.in (sparc-*-linux*): New supported target. - (sparc64-*-linux*): Likewise. - * configure: Rebuilt. - * Makefile.am: Add v9.S to SPARC files. - * Makefile.in: Likewise. - (LINK): Surround $(CCLD) into double quotes, so that multilib - compiles work correctly. - -2000-04-04 Alexandre Petit-Bianco - - * configure: Rebuilt. - * configure.in: (i*86-*-solaris*): New libffi target. Patch - proposed by Bryce McKinlay. - -2000-03-20 Tom Tromey - - * Makefile.in: Hand edit for java_raw_api.lo. - -2000-03-08 Bryce McKinlay - - * config.guess, config.sub: Update from the gcc tree. - Fix for PR libgcj/168. - -2000-03-03 Tom Tromey - - * Makefile.in: Fixed ia64 by hand. - - * configure: Rebuilt. - * configure.in (--enable-multilib): New option. - (libffi_basedir): New subst. - (AC_OUTPUT): Added multilib code. - -2000-03-02 Tom Tromey - - * Makefile.in: Rebuilt. - * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as - directory name. - -2000-02-25 Hans Boehm - - * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New - files. - * src/raw_api.c (ffi_translate_args): Fixed typo in argument - list. - (ffi_prep_raw_closure): Use ffi_translate_args, not - ffi_closure_translate. - * src/java_raw_api.c: New file. - * src/ffitest.c (closure_test_fn): New function. - (main): Define `rint' as long long on IA64. Added new test when - FFI_CLOSURES is defined. - * include/ffi.h.in (ALIGN): Use size_t, not unsigned. - (ffi_abi): Recognize IA64. - (ffi_raw): Added `flt' field. - Added "Java raw API" code. - * configure.in: Recognize ia64. - * Makefile.am (TARGET_SRC_IA64): New macro. - (libffi_la_common_SOURCES): Added java_raw_api.c. - (libffi_la_SOURCES): Define in IA64 case. - -2000-01-04 Tom Tromey - - * Makefile.in: Rebuilt with newer automake. - -1999-12-31 Tom Tromey - - * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src. - -1999-09-01 Tom Tromey - - * include/ffi.h.in: Removed PACKAGE and VERSION defines and - undefs. - * fficonfig.h.in: Rebuilt. - * configure: Rebuilt. - * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE. - Use AM_PROG_LIBTOOL (automake 1.4 compatibility). - * acconfig.h: Don't #undef PACKAGE or VERSION. - -1999-08-09 Anthony Green - - * include/ffi.h.in: Try to work around messy header problem - with PACKAGE and VERSION. - - * configure: Rebuilt. - * configure.in: Change version to 2.00-beta. - - * fficonfig.h.in: Rebuilt. - * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define. - - * src/x86/ffi.c (ffi_raw_call): Rename. - -1999-08-02 Kresten Krab Thorup - - * src/x86/ffi.c (ffi_closure_SYSV): New function. - (ffi_prep_incoming_args_SYSV): Ditto. - (ffi_prep_closure): Ditto. - (ffi_closure_raw_SYSV): Ditto. - (ffi_prep_raw_closure): More ditto. - (ffi_call_raw): Final ditto. - - * include/ffi.h.in: Add definitions for closure and raw API. - - * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for - FFI_TYPE_UINT64. - - * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c - - * src/raw_api.c: New file. - - * include/ffi.h.in (ffi_raw): New type. - (UINT_ARG, SINT_ARG): New defines. - (ffi_closure, ffi_raw_closure): New types. - (ffi_prep_closure, ffi_prep_raw_closure): New declarations. - - * configure.in: Add check for endianness and sizeof void*. - - * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument, - instead of directly. - - * configure: Rebuilt. - -Thu Jul 8 14:28:42 1999 Anthony Green - - * configure.in: Add x86 and powerpc BeOS configurations. - From Makoto Kato . - -1999-05-09 Anthony Green - - * configure.in: Add warning about this being beta code. - Remove src/Makefile.am from the picture. - * configure: Rebuilt. - - * Makefile.am: Move logic from src/Makefile.am. Add changes - to support libffi as a target library. - * Makefile.in: Rebuilt. - - * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh: - Upgraded to new autoconf, automake, libtool. - - * README: Tweaks. - - * LICENSE: Update copyright date. - - * src/Makefile.am, src/Makefile.in: Removed. - -1998-11-29 Anthony Green - - * include/ChangeLog: Removed. - * src/ChangeLog: Removed. - * src/mips/ChangeLog: Removed. - * src/sparc/ChangeLog: Remboved. - * src/x86/ChangeLog: Removed. - - * ChangeLog.v1: Created. - -============================================================================= -From the old ChangeLog.libffi file.... - -2011-02-08 Andreas Tobler - - * testsuite/lib/libffi.exp: Tweak for stand-alone mode. - -2009-12-25 Samuli Suominen - - * configure.ac: Undefine _AC_ARG_VAR_PRECIOUS for autoconf 2.64. - * configure: Rebuilt. - * fficonfig.h.in: Rebuilt. - -2009-06-16 Andrew Haley - - * testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/return_ll1.c, - testsuite/libffi.call/stret_medium2.c: Fix printf format - specifiers. - * testsuite/libffi.call/huge_struct.c: Ad x86 XFAILs. - * testsuite/libffi.call/float2.c: Fix dg-excess-errors. - * testsuite/libffi.call/ffitest.h, - testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define. - -2009-06-12 Andrew Haley - - * testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/return_ll1.c, - testsuite/libffi.call/stret_medium2.c: Fix printf format - specifiers. - testsuite/libffi.special/unwindtest.cc: include stdint.h. - -2009-06-11 Timothy Wall - - * Makefile.am, - configure.ac, - include/ffi.h.in, - include/ffi_common.h, - src/closures.c, - src/dlmalloc.c, - src/x86/ffi.c, - src/x86/ffitarget.h, - src/x86/win64.S (new), - README: Added win64 support (mingw or MSVC) - * Makefile.in, - include/Makefile.in, - man/Makefile.in, - testsuite/Makefile.in, - configure, - aclocal.m4: Regenerated - * ltcf-c.sh: properly escape cygwin/w32 path - * man/ffi_call.3: Clarify size requirements for return value. - * src/x86/ffi64.c: Fix filename in comment. - * src/x86/win32.S: Remove unused extern. - - * testsuite/libffi.call/closure_fn0.c, - testsuite/libffi.call/closure_fn1.c, - testsuite/libffi.call/closure_fn2.c, - testsuite/libffi.call/closure_fn3.c, - testsuite/libffi.call/closure_fn4.c, - testsuite/libffi.call/closure_fn5.c, - testsuite/libffi.call/closure_fn6.c, - testsuite/libffi.call/closure_stdcall.c, - testsuite/libffi.call/cls_12byte.c, - testsuite/libffi.call/cls_16byte.c, - testsuite/libffi.call/cls_18byte.c, - testsuite/libffi.call/cls_19byte.c, - testsuite/libffi.call/cls_1_1byte.c, - testsuite/libffi.call/cls_20byte.c, - testsuite/libffi.call/cls_20byte1.c, - testsuite/libffi.call/cls_24byte.c, - testsuite/libffi.call/cls_2byte.c, - testsuite/libffi.call/cls_3_1byte.c, - testsuite/libffi.call/cls_3byte1.c, - testsuite/libffi.call/cls_3byte2.c, - testsuite/libffi.call/cls_4_1byte.c, - testsuite/libffi.call/cls_4byte.c, - testsuite/libffi.call/cls_5_1_byte.c, - testsuite/libffi.call/cls_5byte.c, - testsuite/libffi.call/cls_64byte.c, - testsuite/libffi.call/cls_6_1_byte.c, - testsuite/libffi.call/cls_6byte.c, - testsuite/libffi.call/cls_7_1_byte.c, - testsuite/libffi.call/cls_7byte.c, - testsuite/libffi.call/cls_8byte.c, - testsuite/libffi.call/cls_9byte1.c, - testsuite/libffi.call/cls_9byte2.c, - testsuite/libffi.call/cls_align_double.c, - testsuite/libffi.call/cls_align_float.c, - testsuite/libffi.call/cls_align_longdouble.c, - testsuite/libffi.call/cls_align_longdouble_split.c, - testsuite/libffi.call/cls_align_longdouble_split2.c, - testsuite/libffi.call/cls_align_pointer.c, - testsuite/libffi.call/cls_align_sint16.c, - testsuite/libffi.call/cls_align_sint32.c, - testsuite/libffi.call/cls_align_sint64.c, - testsuite/libffi.call/cls_align_uint16.c, - testsuite/libffi.call/cls_align_uint32.c, - testsuite/libffi.call/cls_align_uint64.c, - testsuite/libffi.call/cls_dbls_struct.c, - testsuite/libffi.call/cls_double.c, - testsuite/libffi.call/cls_double_va.c, - testsuite/libffi.call/cls_float.c, - testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_multi_schar.c, - testsuite/libffi.call/cls_multi_sshort.c, - testsuite/libffi.call/cls_multi_sshortchar.c, - testsuite/libffi.call/cls_multi_uchar.c, - testsuite/libffi.call/cls_multi_ushort.c, - testsuite/libffi.call/cls_multi_ushortchar.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c, - testsuite/libffi.call/cls_schar.c, - testsuite/libffi.call/cls_sint.c, - testsuite/libffi.call/cls_sshort.c, - testsuite/libffi.call/cls_uchar.c, - testsuite/libffi.call/cls_uint.c, - testsuite/libffi.call/cls_ulonglong.c, - testsuite/libffi.call/cls_ushort.c, - testsuite/libffi.call/err_bad_abi.c, - testsuite/libffi.call/err_bad_typedef.c, - testsuite/libffi.call/float2.c, - testsuite/libffi.call/huge_struct.c, - testsuite/libffi.call/nested_struct.c, - testsuite/libffi.call/nested_struct1.c, - testsuite/libffi.call/nested_struct10.c, - testsuite/libffi.call/nested_struct2.c, - testsuite/libffi.call/nested_struct3.c, - testsuite/libffi.call/nested_struct4.c, - testsuite/libffi.call/nested_struct5.c, - testsuite/libffi.call/nested_struct6.c, - testsuite/libffi.call/nested_struct7.c, - testsuite/libffi.call/nested_struct8.c, - testsuite/libffi.call/nested_struct9.c, - testsuite/libffi.call/problem1.c, - testsuite/libffi.call/return_ldl.c, - testsuite/libffi.call/return_ll1.c, - testsuite/libffi.call/stret_large.c, - testsuite/libffi.call/stret_large2.c, - testsuite/libffi.call/stret_medium.c, - testsuite/libffi.call/stret_medium2.c, - testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead - of checking for MMAP. Use intptr_t instead of long casts. - -2009-06-04 Andrew Haley - - * src/powerpc/ffitarget.h: Fix misapplied merge from gcc. - -2009-06-04 Andrew Haley - - * src/mips/o32.S, - src/mips/n32.S: Fix licence formatting. - -2009-06-04 Andrew Haley - - * src/x86/darwin.S: Fix licence formatting. - src/x86/win32.S: Likewise. - src/sh64/sysv.S: Likewise. - src/sh/sysv.S: Likewise. - -2009-06-04 Andrew Haley - - * src/sh64/ffi.c: Remove lint directives. Was missing from merge - of Andreas Tobler's patch from 2006-04-22. - -2009-06-04 Andrew Haley - - * src/sh/ffi.c: Apply missing hunk from Alexandre Oliva's patch of - 2007-03-07. - -2008-12-26 Timothy Wall - - * testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_align_longdouble.c, - testsuite/libffi.call/cls_align_longdouble_split.c, - testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected - failures on x86_64 cygwin/mingw. - -2008-12-22 Timothy Wall - - * testsuite/libffi.call/closure_fn0.c, - testsuite/libffi.call/closure_fn1.c, - testsuite/libffi.call/closure_fn2.c, - testsuite/libffi.call/closure_fn3.c, - testsuite/libffi.call/closure_fn4.c, - testsuite/libffi.call/closure_fn5.c, - testsuite/libffi.call/closure_fn6.c, - testsuite/libffi.call/closure_loc_fn0.c, - testsuite/libffi.call/closure_stdcall.c, - testsuite/libffi.call/cls_align_pointer.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c: use portable cast from - pointer to integer (intptr_t). - * testsuite/libffi.call/cls_longdouble.c: disable for win64. - -2008-12-19 Anthony Green - - * configure.ac: Bump version to 3.0.8. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. - -2008-11-11 Anthony Green - - * configure.ac: Bump version to 3.0.7. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. - -2008-08-25 Andreas Tobler - - * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and - FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum. - Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT. - Adjust copyright notice. - * src/powerpc/ffi.c: Add two new flags to indicate if we have one - register or two register to use for FFI_SYSV structs. - (ffi_prep_cif_machdep): Pass the right register flag introduced above. - (ffi_closure_helper_SYSV): Fix the return type for - FFI_SYSV_TYPE_SMALL_STRUCT. Comment. - Adjust copyright notice. - -2008-07-24 Anthony Green - - * testsuite/libffi.call/cls_dbls_struct.c, - testsuite/libffi.call/cls_double_va.c, - testsuite/libffi.call/cls_longdouble.c, - testsuite/libffi.call/cls_longdouble_va.c, - testsuite/libffi.call/cls_pointer.c, - testsuite/libffi.call/cls_pointer_stack.c, - testsuite/libffi.call/err_bad_abi.c: Clean up failures from - compiler warnings. - -2008-07-17 Anthony Green - - * configure.ac: Bump version to 3.0.6. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. Add documentation. - * README: Update for new release. - -2008-07-16 Kaz Kojima - - * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned - int. - -2008-07-16 Kaz Kojima - - * src/sh/sysv.S: Add .note.GNU-stack on Linux. - * src/sh64/sysv.S: Likewise. - -2008-04-03 Anthony Green - - * libffi.pc.in (Libs): Add -L${libdir}. - * configure.ac: Bump version to 3.0.5. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. - -2008-04-03 Anthony Green - Xerces Ranby - - * include/ffi.h.in: Wrap definition of target architecture to - protect from double definitions. - -2008-03-22 Moriyoshi Koizumi - - * src/x86/ffi.c (ffi_prep_closure_loc): Fix for bug revealed in - closure_loc_fn0.c. - * testsuite/libffi.call/closure_loc_fn0.c (closure_loc_test_fn0): - New test. - -2008-03-04 Anthony Green - Blake Chaffin - hos@tamanegi.org - - * testsuite/libffi.call/cls_align_longdouble_split2.c - testsuite/libffi.call/cls_align_longdouble_split.c - testsuite/libffi.call/cls_dbls_struct.c - testsuite/libffi.call/cls_double_va.c - testsuite/libffi.call/cls_longdouble.c - testsuite/libffi.call/cls_longdouble_va.c - testsuite/libffi.call/cls_pointer.c - testsuite/libffi.call/cls_pointer_stack.c - testsuite/libffi.call/err_bad_abi.c - testsuite/libffi.call/err_bad_typedef.c - testsuite/libffi.call/huge_struct.c - testsuite/libffi.call/stret_large2.c - testsuite/libffi.call/stret_large.c - testsuite/libffi.call/stret_medium2.c - testsuite/libffi.call/stret_medium.c: New tests from Apple. - -2008-02-26 Jakub Jelinek - Anthony Green - - * src/alpha/osf.S: Add .note.GNU-stack on Linux. - * src/s390/sysv.S: Likewise. - * src/powerpc/linux64.S: Likewise. - * src/powerpc/linux64_closure.S: Likewise. - * src/powerpc/ppc_closure.S: Likewise. - * src/powerpc/sysv.S: Likewise. - * src/x86/unix64.S: Likewise. - * src/x86/sysv.S: Likewise. - * src/sparc/v8.S: Likewise. - * src/sparc/v9.S: Likewise. - * src/m68k/sysv.S: Likewise. - * src/ia64/unix.S: Likewise. - * src/arm/sysv.S: Likewise. - -2008-02-26 Anthony Green - Thomas Heller - - * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C - comment. - -2008-02-26 Anthony Green - Thomas Heller - - * include/ffi.h.in: Change void (*)() to void (*)(void). - -2008-02-26 Anthony Green - Thomas Heller - - * src/alpha/ffi.c: Change void (*)() to void (*)(void). - src/alpha/osf.S, src/arm/ffi.c, src/frv/ffi.c, src/ia64/ffi.c, - src/ia64/unix.S, src/java_raw_api.c, src/m32r/ffi.c, - src/mips/ffi.c, src/pa/ffi.c, src/pa/hpux32.S, src/pa/linux.S, - src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/raw_api.c, - src/s390/ffi.c, src/sh/ffi.c, src/sh64/ffi.c, src/sparc/ffi.c, - src/x86/ffi.c, src/x86/unix64.S, src/x86/darwin64.S, - src/x86/ffi64.c: Ditto. - -2008-02-24 Anthony Green - - * configure.ac: Accept openbsd*, not just openbsd. - Bump version to 3.0.4. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. - -2008-02-22 Anthony Green - - * README: Clean up list of tested platforms. - -2008-02-22 Anthony Green - - * configure.ac: Bump version to 3.0.3. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. Clean up test docs. - -2008-02-22 Bjoern Koenig - Andreas Tobler - - * configure.ac: Add amd64-*-freebsd* target. - * configure: Regenerate. - -2008-02-22 Thomas Heller - - * configure.ac: Add x86 OpenBSD support. - * configure: Rebuilt. - -2008-02-21 Thomas Heller - - * README: Change "make test" to "make check". - -2008-02-21 Anthony Green - - * configure.ac: Bump version to 3.0.2. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. - -2008-02-21 Björn König - - * src/x86/freebsd.S: New file. - * configure.ac: Add x86 FreeBSD support. - * Makefile.am: Ditto. - -2008-02-15 Anthony Green - - * configure.ac: Bump version to 3.0.1. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * libtool-version: Increment revision. - * README: Update for new release. - -2008-02-15 David Daney - - * src/mips/ffi.c: Remove extra '>' from include directive. - (ffi_prep_closure_loc): Use clear_location instead of tramp. - -2008-02-15 Anthony Green - - * configure.ac: Bump version to 3.0.0. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - -2008-02-15 David Daney - - * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE): - Define (conditionally), and use it to include cachectl.h. - (ffi_prep_closure_loc): Fix cache flushing. - * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define. - -2008-02-15 Anthony Green - - * man/ffi_call.3, man/ffi_prep_cif.3, man/ffi.3: - Update dates and remove all references to ffi_prep_closure. - * configure.ac: Bump version to 2.99.9. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - -2008-02-15 Anthony Green - - * man/ffi_prep_closure.3: Delete. - * man/Makefile.am (EXTRA_DIST): Remove ffi_prep_closure.3. - (man_MANS): Ditto. - * man/Makefile.in: Rebuilt. - * configure.ac: Bump version to 2.99.8. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - -2008-02-14 Anthony Green - - * configure.ac: Bump version to 2.99.7. - * configure, doc/stamp-vti, doc/version.texi: Rebuilt. - * include/ffi.h.in LICENSE src/debug.c src/closures.c - src/ffitest.c src/s390/sysv.S src/s390/ffitarget.h - src/types.c src/m68k/ffitarget.h src/raw_api.c src/frv/ffi.c - src/frv/ffitarget.h src/sh/ffi.c src/sh/sysv.S - src/sh/ffitarget.h src/powerpc/ffitarget.h src/pa/ffi.c - src/pa/ffitarget.h src/pa/linux.S src/java_raw_api.c - src/cris/ffitarget.h src/x86/ffi.c src/x86/sysv.S - src/x86/unix64.S src/x86/win32.S src/x86/ffitarget.h - src/x86/ffi64.c src/x86/darwin.S src/ia64/ffi.c - src/ia64/ffitarget.h src/ia64/ia64_flags.h src/ia64/unix.S - src/sparc/ffi.c src/sparc/v9.S src/sparc/ffitarget.h - src/sparc/v8.S src/alpha/ffi.c src/alpha/ffitarget.h - src/alpha/osf.S src/sh64/ffi.c src/sh64/sysv.S - src/sh64/ffitarget.h src/mips/ffi.c src/mips/ffitarget.h - src/mips/n32.S src/mips/o32.S src/arm/ffi.c src/arm/sysv.S - src/arm/ffitarget.h src/prep_cif.c: Update license text. - -2008-02-14 Anthony Green - - * README: Update tested platforms. - * configure.ac: Bump version to 2.99.6. - * configure: Rebuilt. - -2008-02-14 Anthony Green - - * configure.ac: Bump version to 2.99.5. - * configure: Rebuilt. - * Makefile.am (EXTRA_DIST): Add darwin64.S - * Makefile.in: Rebuilt. - * testsuite/lib/libffi-dg.exp: Remove libstdc++ bits from GCC tree. - * LICENSE: Update WARRANTY. - -2008-02-14 Anthony Green - - * libffi.pc.in (libdir): Fix libdir definition. - * configure.ac: Bump version to 2.99.4. - * configure: Rebuilt. - -2008-02-14 Anthony Green - - * README: Update. - * libffi.info: New file. - * doc/stamp-vti: New file. - * configure.ac: Bump version to 2.99.3. - * configure: Rebuilt. - -2008-02-14 Anthony Green - - * Makefile.am (SUBDIRS): Add man dir. - * Makefile.in: Rebuilt. - * configure.ac: Create Makefile. - * configure: Rebuilt. - * man/ffi_call.3 man/ffi_prep_cif.3 man/ffi_prep_closure.3 - man/Makefile.am man/Makefile.in: New files. - -2008-02-14 Tom Tromey - - * aclocal.m4, Makefile.in, configure, fficonfig.h.in: Rebuilt. - * mdate-sh, texinfo.tex: New files. - * Makefile.am (info_TEXINFOS): New variable. - * doc/libffi.texi: New file. - * doc/version.texi: Likewise. - -2008-02-14 Anthony Green - - * Makefile.am (AM_CFLAGS): Don't compile with -D$(TARGET). - (lib_LTLIBRARIES): Define. - (toolexeclib_LIBRARIES): Undefine. - * Makefile.in: Rebuilt. - * configure.ac: Reset version to 2.99.1. - * configure.in: Rebuilt. - -2008-02-14 Anthony Green - - * libffi.pc.in: Use @PACKAGE_NAME@ and @PACKAGE_VERSION@. - * configure.ac: Reset version to 2.99.1. - * configure.in: Rebuilt. - * Makefile.am (EXTRA_DIST): Add ChangeLog.libffi. - * Makefile.in: Rebuilt. - * LICENSE: Update copyright notice. - -2008-02-14 Anthony Green - - * include/Makefile.am (nodist_includes_HEADERS): Define. Don't - distribute ffitarget.h or ffi.h from the build include dir. - * Makefile.in: Rebuilt. - -2008-02-14 Anthony Green - - * include/Makefile.am (includesdir): Install headers under libdir. - (pkgconfigdir): Define. Install libffi.pc. - * include/Makefile.in: Rebuilt. - * libffi.pc.in: Create. - * libtool-version: Increment CURRENT - * configure.ac: Add libffi.pc.in - * configure: Rebuilt. - -2008-02-03 Anthony Green - - * include/Makefile.am (includesdir): Fix header install with - DESTDIR. - * include/Makefile.in: Rebuilt. - -2008-02-03 Timothy Wall - - * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return - offset based on code pointer, not data pointer. - -2008-02-01 Anthony Green - - * include/Makefile.am: Fix header installs. - * Makefile.am: Ditto. - * include/Makefile.in: Rebuilt. - * Makefile.in: Ditto. - -2008-02-01 Anthony Green - - * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL, - FFI_INIT_TRAMPOLINE): Revert my broken changes to twall's last - patch. - -2008-01-31 Anthony Green - - * Makefile.am (EXTRA_DIST): Add missing files. - * testsuite/Makefile.am: Ditto. - * Makefile.in, testsuite/Makefile.in: Rebuilt. - -2008-01-31 Timothy Wall - - * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall - closures. - * src/x86/ffitarget.h: Increase size of trampoline for stdcall - closures. - * src/x86/win32.S: Add assembly for stdcall closure. - * src/x86/ffi.c: Initialize stdcall closure trampoline. - -2008-01-30 H.J. Lu - - PR libffi/34612 - * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when - returning struct. - - * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer" - tests. - -2008-01-30 Anthony Green - - * Makefile.am, include/Makefile.am: Move headers to - libffi_la_SOURCES for new automake. - * Makefile.in, include/Makefile.in: Rebuilt. - - * testsuite/lib/wrapper.exp: Copied from gcc tree to allow for - execution outside of gcc tree. - * testsuite/lib/target-libpath.exp: Ditto. - - * testsuite/lib/libffi-dg.exp: Many changes to allow for execution - outside of gcc tree. - - -============================================================================= -From the old ChangeLog.libgcj file.... - -2004-01-14 Kelley Cook - - * configure.in: Add in AC_PREREQ(2.13) - -2003-02-20 Alexandre Oliva - - * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to - config.status. - * configure: Rebuilt. - -2002-01-27 Alexandre Oliva - - * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST. - Remove USE_LIBDIR conditional. - * Makefile.am (toolexecdir, toolexeclibdir): Don't override. - * Makefile.in, configure: Rebuilt. - -Mon Aug 9 18:33:38 1999 Rainer Orth - - * include/Makefile.in: Rebuilt. - * Makefile.in: Rebuilt - * Makefile.am (toolexeclibdir): Add $(MULTISUBDIR) even for native - builds. - Use USE_LIBDIR. - - * configure: Rebuilt. - * configure.in (USE_LIBDIR): Define for native builds. - Use lowercase in configure --help explanations. - -1999-08-08 Anthony Green - - * include/ffi.h.in (FFI_FN): Remove `...'. - -1999-08-08 Anthony Green - - * Makefile.in: Rebuilt. - * Makefile.am (AM_CFLAGS): Compile with -fexceptions. - - * src/x86/sysv.S: Add exception handling metadata. - - -============================================================================= - -The libffi version 1 ChangeLog archive. - -Version 1 of libffi had per-directory ChangeLogs. Current and future -versions have a single ChangeLog file in the root directory. The -version 1 ChangeLogs have all been concatenated into this file for -future reference only. - ---- libffi ---------------------------------------------------------------- - -Mon Oct 5 02:17:50 1998 Anthony Green - - * configure.in: Boosted rev. - * configure, Makefile.in, aclocal.m4: Rebuilt. - * README: Boosted rev and updated release notes. - -Mon Oct 5 01:03:03 1998 Anthony Green - - * configure.in: Boosted rev. - * configure, Makefile.in, aclocal.m4: Rebuilt. - * README: Boosted rev and updated release notes. - -1998-07-25 Andreas Schwab - - * m68k/ffi.c (ffi_prep_cif_machdep): Use bitmask for cif->flags. - Correctly handle small structures. - (ffi_prep_args): Also handle small structures. - (ffi_call): Pass size of return type to ffi_call_SYSV. - * m68k/sysv.S: Adjust for above changes. Correctly align small - structures in the return value. - - * types.c (uint64, sint64) [M68K]: Change alignment to 4. - -Fri Apr 17 17:26:58 1998 Anthony Green - - * configure.in: Boosted rev. - * configure,Makefile.in,aclocal.m4: Rebuilt. - * README: Boosted rev and added release notes. - -Sun Feb 22 00:50:41 1998 Geoff Keating - - * configure.in: Add PowerPC config bits. - -1998-02-14 Andreas Schwab - - * configure.in: Add m68k config bits. Change AC_CANONICAL_SYSTEM - to AC_CANONICAL_HOST, this is not a compiler. Use $host instead - of $target. Remove AC_CHECK_SIZEOF(char), we already know the - result. Fix argument of AC_ARG_ENABLE. - * configure, fficonfig.h.in: Rebuilt. - -Tue Feb 10 20:53:40 1998 Richard Henderson - - * configure.in: Add Alpha config bits. - -Tue May 13 13:39:20 1997 Anthony Green - - * README: Updated dates and reworded Irix comments. - - * configure.in: Removed AC_PROG_RANLIB. - - * Makefile.in, aclocal.m4, config.guess, config.sub, configure, - ltmain.sh, */Makefile.in: libtoolized again and rebuilt with - automake and autoconf. - -Sat May 10 18:44:50 1997 Tom Tromey - - * configure, aclocal.m4: Rebuilt. - * configure.in: Don't compute EXTRADIST; now handled in - src/Makefile.in. Removed macros implied by AM_INIT_AUTOMAKE. - Don't run AM_MAINTAINER_MODE. - -Thu May 8 14:34:05 1997 Anthony Green - - * missing, ltmain.sh, ltconfig.sh: Created. These are new files - required by automake and libtool. - - * README: Boosted rev to 1.14. Added notes. - - * acconfig.h: Moved PACKAGE and VERSION for new automake. - - * configure.in: Changes for libtool. - - * Makefile.am (check): make test now make check. Uses libtool now. - - * Makefile.in, configure.in, aclocal.h, fficonfig.h.in: Rebuilt. - -Thu May 1 16:27:07 1997 Anthony Green - - * missing: Added file required by new automake. - -Tue Nov 26 14:10:42 1996 Anthony Green - - * acconfig.h: Added USING_PURIFY flag. This is defined when - --enable-purify-safety was used at configure time. - - * configure.in (allsources): Added --enable-purify-safety switch. - (VERSION): Boosted rev to 1.13. - * configure: Rebuilt. - -Fri Nov 22 06:46:12 1996 Anthony Green - - * configure.in (VERSION): Boosted rev to 1.12. - Removed special CFLAGS hack for gcc. - * configure: Rebuilt. - - * README: Boosted rev to 1.12. Added notes. - - * Many files: Cygnus Support changed to Cygnus Solutions. - -Wed Oct 30 11:15:25 1996 Anthony Green - - * configure.in (VERSION): Boosted rev to 1.11. - * configure: Rebuilt. - - * README: Boosted rev to 1.11. Added notes about GNU make. - -Tue Oct 29 12:25:12 1996 Anthony Green - - * configure.in: Fixed -Wall trick. - (VERSION): Boosted rev. - * configure: Rebuilt - - * acconfig.h: Needed for --enable-debug configure switch. - - * README: Boosted rev to 1.09. Added more notes on building - libffi, and LCLint. - - * configure.in: Added --enable-debug switch. Boosted rev to - 1.09. - * configure: Rebuilt - -Tue Oct 15 13:11:28 1996 Anthony Green - - * configure.in (VERSION): Boosted rev to 1.08 - * configure: Rebuilt. - - * README: Added n32 bug fix notes. - - * Makefile.am: Added "make lint" production. - * Makefile.in: Rebuilt. - -Mon Oct 14 10:54:46 1996 Anthony Green - - * README: Added web page reference. - - * configure.in, README: Boosted rev to 1.05 - * configure: Rebuilt. - - * README: Fixed n32 sample code. - -Fri Oct 11 17:09:28 1996 Anthony Green - - * README: Added sparc notes. - - * configure.in, README: Boosted rev to 1.04. - * configure: Rebuilt. - -Thu Oct 10 10:31:03 1996 Anthony Green - - * configure.in, README: Boosted rev to 1.03. - * configure: Rebuilt. - - * README: Added struct notes. - - * Makefile.am (EXTRA_DIST): Added LICENSE to distribution. - * Makefile.in: Rebuilt. - - * README: Removed Linux section. No special notes now - because aggregates arg/return types work. - -Wed Oct 9 16:16:42 1996 Anthony Green - - * README, configure.in (VERSION): Boosted rev to 1.02 - * configure: Rebuilt. - -Tue Oct 8 11:56:33 1996 Anthony Green - - * README (NOTE): Added n32 notes. - - * Makefile.am: Added test production. - * Makefile: Rebuilt - - * README: spell checked! - - * configure.in (VERSION): Boosted rev to 1.01 - * configure: Rebuilt. - -Mon Oct 7 15:50:22 1996 Anthony Green - - * configure.in: Added nasty bit to support SGI tools. - * configure: Rebuilt. - - * README: Added SGI notes. Added note about automake bug. - -Mon Oct 7 11:00:28 1996 Anthony Green - - * README: Rewrote intro, and fixed examples. - -Fri Oct 4 10:19:55 1996 Anthony Green - - * configure.in: -D$TARGET is no longer used as a compiler switch. - It is now inserted into ffi.h at configure time. - * configure: Rebuilt. - - * FFI_ABI and FFI_STATUS are now ffi_abi and ffi_status. - -Thu Oct 3 13:47:34 1996 Anthony Green - - * README, LICENSE: Created. Wrote some docs. - - * configure.in: Don't barf on i586-unknown-linuxaout. - Added EXTRADIST code for "make dist". - * configure: Rebuilt. - - * */Makefile.in: Rebuilt with patched automake. - -Tue Oct 1 17:12:25 1996 Anthony Green - - * Makefile.am, aclocal.m4, config.guess, config.sub, - configure.in, fficonfig.h.in, install-sh, mkinstalldirs, - stamp-h.in: Created - * Makefile.in, configure: Generated - ---- libffi/include -------------------------------------------------------- - -Tue Feb 24 13:09:36 1998 Anthony Green - - * ffi_mips.h: Updated FFI_TYPE_STRUCT_* values based on - ffi.h.in changes. This is a work-around for SGI's "simple" - assembler. - -Sun Feb 22 00:51:55 1998 Geoff Keating - - * ffi.h.in: PowerPC support. - -1998-02-14 Andreas Schwab - - * ffi.h.in: Add m68k support. - (FFI_TYPE_LONGDOUBLE): Make it a separate value. - -Tue Feb 10 20:55:16 1998 Richard Henderson - - * ffi.h.in (SIZEOF_ARG): Use a pointer type by default. - - * ffi.h.in: Alpha support. - -Fri Nov 22 06:48:45 1996 Anthony Green - - * ffi.h.in, ffi_common.h: Cygnus Support -> Cygnus Solutions. - -Wed Nov 20 22:31:01 1996 Anthony Green - - * ffi.h.in: Added ffi_type_void definition. - -Tue Oct 29 12:22:40 1996 Anthony Green - - * Makefile.am (hack_DATA): Always install ffi_mips.h. - - * ffi.h.in: Removed FFI_DEBUG. It's now in the correct - place (acconfig.h). - Added #include for size_t definition. - -Tue Oct 15 17:23:35 1996 Anthony Green - - * ffi.h.in, ffi_common.h, ffi_mips.h: More clean up. - Commented out #define of FFI_DEBUG. - -Tue Oct 15 13:01:06 1996 Anthony Green - - * ffi_common.h: Added bool definition. - - * ffi.h.in, ffi_common.h: Clean up based on LCLint output. - Added funny /*@...@*/ comments to annotate source. - -Mon Oct 14 12:29:23 1996 Anthony Green - - * ffi.h.in: Interface changes based on feedback from Jim - Blandy. - -Fri Oct 11 16:49:35 1996 Anthony Green - - * ffi.h.in: Small change for sparc support. - -Thu Oct 10 14:53:37 1996 Anthony Green - - * ffi_mips.h: Added FFI_TYPE_STRUCT_* definitions for - special structure return types. - -Wed Oct 9 13:55:57 1996 Anthony Green - - * ffi.h.in: Added SIZEOF_ARG definition for X86 - -Tue Oct 8 11:40:36 1996 Anthony Green - - * ffi.h.in (FFI_FN): Added macro for eliminating compiler warnings. - Use it to case your function pointers to the proper type. - - * ffi_mips.h (SIZEOF_ARG): Added magic to fix type promotion bug. - - * Makefile.am (EXTRA_DIST): Added ffi_mips.h to EXTRA_DIST. - * Makefile: Rebuilt. - - * ffi_mips.h: Created. Moved all common mips definitions here. - -Mon Oct 7 10:58:12 1996 Anthony Green - - * ffi.h.in: The SGI assember is very picky about parens. Redefined - some macros to avoid problems. - - * ffi.h.in: Added FFI_DEFAULT_ABI definitions. Also added - externs for pointer, and 64bit integral ffi_types. - -Fri Oct 4 09:51:37 1996 Anthony Green - - * ffi.h.in: Added FFI_ABI member to ffi_cif and changed - function prototypes accordingly. - Added #define @TARGET@. Now programs including ffi.h don't - have to specify this themselves. - -Thu Oct 3 15:36:44 1996 Anthony Green - - * ffi.h.in: Changed ffi_prep_cif's values from void* to void** - - * Makefile.am (EXTRA_DIST): Added EXTRA_DIST for "make dist" - to work. - * Makefile.in: Regenerated. - -Wed Oct 2 10:16:59 1996 Anthony Green - - * Makefile.am: Created - * Makefile.in: Generated - - * ffi_common.h: Added rcsid comment - -Tue Oct 1 17:13:51 1996 Anthony Green - - * ffi.h.in, ffi_common.h: Created - ---- libffi/src ------------------------------------------------------------ - -Mon Oct 5 02:17:50 1998 Anthony Green - - * arm/ffi.c, arm/sysv.S: Created. - - * Makefile.am: Added arm files. - * Makefile.in: Rebuilt. - -Mon Oct 5 01:41:38 1998 Anthony Green - - * Makefile.am (libffi_la_LDFLAGS): Incremented revision. - -Sun Oct 4 16:27:17 1998 Anthony Green - - * alpha/osf.S (ffi_call_osf): Patch for DU assembler. - - * ffitest.c (main): long long and long double return values work - for x86. - -Fri Apr 17 11:50:58 1998 Anthony Green - - * Makefile.in: Rebuilt. - - * ffitest.c (main): Floating point tests not executed for systems - with broken lond double (SunOS 4 w/ GCC). - - * types.c: Fixed x86 alignment info for long long types. - -Thu Apr 16 07:15:28 1998 Anthony Green - - * ffitest.c: Added more notes about GCC bugs under Irix 6. - -Wed Apr 15 08:42:22 1998 Anthony Green - - * ffitest.c (struct5): New test function. - (main): New test with struct5. - -Thu Mar 5 10:48:11 1998 Anthony Green - - * prep_cif.c (initialize_aggregate): Fix assertion for - nested structures. - -Tue Feb 24 16:33:41 1998 Anthony Green - - * prep_cif.c (ffi_prep_cif): Added long double support for sparc. - -Sun Feb 22 00:52:18 1998 Geoff Keating - - * powerpc/asm.h: New file. - * powerpc/ffi.c: New file. - * powerpc/sysv.S: New file. - * Makefile.am: PowerPC port. - * ffitest.c (main): Allow all tests to run even in presence of gcc - bug on PowerPC. - -1998-02-17 Anthony Green - - * mips/ffi.c: Fixed comment typo. - - * x86/ffi.c (ffi_prep_cif_machdep), x86/sysv.S (retfloat): - Fixed x86 long double return handling. - - * types.c: Fixed x86 long double alignment info. - -1998-02-14 Andreas Schwab - - * types.c: Add m68k support. - - * ffitest.c (floating): Add long double parameter. - (return_ll, ldblit): New functions to test long long and long - double return value. - (main): Fix type error in assignment of ts[1-4]_type.elements. - Add tests for long long and long double arguments and return - values. - - * prep_cif.c (ffi_prep_cif) [M68K]: Don't allocate argument for - struct value pointer. - - * m68k/ffi.c, m68k/sysv.S: New files. - * Makefile.am: Add bits for m68k port. Add kludge to work around - automake deficiency. - (test): Don't require "." in $PATH. - * Makefile.in: Rebuilt. - -Wed Feb 11 07:36:50 1998 Anthony Green - - * Makefile.in: Rebuilt. - -Tue Feb 10 20:56:00 1998 Richard Henderson - - * alpha/ffi.c, alpha/osf.S: New files. - * Makefile.am: Alpha port. - -Tue Nov 18 14:12:07 1997 Anthony Green - - * mips/ffi.c (ffi_prep_cif_machdep): Initialize rstruct_flag - for n32. - -Tue Jun 3 17:18:20 1997 Anthony Green - - * ffitest.c (main): Added hack to get structure tests working - correctly. - -Sat May 10 19:06:42 1997 Tom Tromey - - * Makefile.in: Rebuilt. - * Makefile.am (EXTRA_DIST): Explicitly list all distributable - files in subdirs. - (VERSION, CC): Removed. - -Thu May 8 17:19:01 1997 Anthony Green - - * Makefile.am: Many changes for new automake and libtool. - * Makefile.in: Rebuilt. - -Fri Nov 22 06:57:56 1996 Anthony Green - - * ffitest.c (main): Fixed test case for non mips machines. - -Wed Nov 20 22:31:59 1996 Anthony Green - - * types.c: Added ffi_type_void declaration. - -Tue Oct 29 13:07:19 1996 Anthony Green - - * ffitest.c (main): Fixed character constants. - (main): Emit warning for structure test 3 failure on Sun. - - * Makefile.am (VPATH): Fixed VPATH def'n so automake won't - strip it out. - Moved distdir hack from libffi to automake. - (ffitest): Added missing -c for $(COMPILE) (change in automake). - * Makefile.in: Rebuilt. - -Tue Oct 15 13:08:20 1996 Anthony Green - - * Makefile.am: Added "make lint" production. - * Makefile.in: Rebuilt. - - * prep_cif.c (STACK_ARG_SIZE): Improved STACK_ARG_SIZE macro. - Clean up based on LCLint output. Added funny /*@...@*/ comments to - annotate source. - - * ffitest.c, debug.c: Cleaned up code. - -Mon Oct 14 12:26:56 1996 Anthony Green - - * ffitest.c: Changes based on interface changes. - - * prep_cif.c (ffi_prep_cif): Cleaned up interface based on - feedback from Jim Blandy. - -Fri Oct 11 15:53:18 1996 Anthony Green - - * ffitest.c: Reordered tests while porting to sparc. - Made changes to handle lame structure passing for sparc. - Removed calls to fflush(). - - * prep_cif.c (ffi_prep_cif): Added special case for sparc - aggregate type arguments. - -Thu Oct 10 09:56:51 1996 Anthony Green - - * ffitest.c (main): Added structure passing/returning tests. - - * prep_cif.c (ffi_prep_cif): Perform proper initialization - of structure return types if needed. - (initialize_aggregate): Bug fix - -Wed Oct 9 16:04:20 1996 Anthony Green - - * types.c: Added special definitions for x86 (double doesn't - need double word alignment). - - * ffitest.c: Added many tests - -Tue Oct 8 09:19:22 1996 Anthony Green - - * prep_cif.c (ffi_prep_cif): Fixed assertion. - - * debug.c (ffi_assert): Must return a non void now. - - * Makefile.am: Added test production. - * Makefile: Rebuilt. - - * ffitest.c (main): Created. - - * types.c: Created. Stripped common code out of */ffi.c. - - * prep_cif.c: Added missing stdlib.h include. - - * debug.c (ffi_type_test): Used "a" to eliminate compiler - warnings in non-debug builds. Included ffi_common.h. - -Mon Oct 7 15:36:42 1996 Anthony Green - - * Makefile.am: Added a rule for .s -> .o - This is required by the SGI compiler. - * Makefile: Rebuilt. - -Fri Oct 4 09:51:08 1996 Anthony Green - - * prep_cif.c (initialize_aggregate): Moved abi specification - to ffi_prep_cif(). - -Thu Oct 3 15:37:37 1996 Anthony Green - - * prep_cif.c (ffi_prep_cif): Changed values from void* to void**. - (initialize_aggregate): Fixed aggregate type initialization. - - * Makefile.am (EXTRA_DIST): Added support code for "make dist". - * Makefile.in: Regenerated. - -Wed Oct 2 11:41:57 1996 Anthony Green - - * debug.c, prep_cif: Created. - - * Makefile.am: Added debug.o and prep_cif.o to OBJ. - * Makefile.in: Regenerated. - - * Makefile.am (INCLUDES): Added missing -I../include - * Makefile.in: Regenerated. - -Tue Oct 1 17:11:51 1996 Anthony Green - - * error.c, Makefile.am: Created. - * Makefile.in: Generated. - ---- libffi/src/x86 -------------------------------------------------------- - -Sun Oct 4 16:27:17 1998 Anthony Green - - * sysv.S (retlongdouble): Fixed long long return value support. - * ffi.c (ffi_prep_cif_machdep): Ditto. - -Wed May 13 04:30:33 1998 Anthony Green - - * ffi.c (ffi_prep_cif_machdep): Fixed long double return value - support. - -Wed Apr 15 08:43:20 1998 Anthony Green - - * ffi.c (ffi_prep_args): small struct support was missing. - -Thu May 8 16:53:58 1997 Anthony Green - - * objects.mak: Removed. - -Mon Dec 2 15:12:58 1996 Tom Tromey - - * sysv.S: Use .balign, for a.out Linux boxes. - -Tue Oct 15 13:06:50 1996 Anthony Green - - * ffi.c: Clean up based on LCLint output. - Added funny /*@...@*/ comments to annotate source. - -Fri Oct 11 16:43:38 1996 Anthony Green - - * ffi.c (ffi_call): Added assertion for bad ABIs. - -Wed Oct 9 13:57:27 1996 Anthony Green - - * sysv.S (retdouble): Fixed double return problems. - - * ffi.c (ffi_call): Corrected fn arg definition. - (ffi_prep_cif_machdep): Fixed double return problems - -Tue Oct 8 12:12:49 1996 Anthony Green - - * ffi.c: Moved ffi_type definitions to types.c. - (ffi_prep_args): Fixed type promotion bug. - -Mon Oct 7 15:53:06 1996 Anthony Green - - * ffi.c (FFI_*_TYPEDEF): Removed redundant ';' - -Fri Oct 4 09:54:53 1996 Anthony Green - - * ffi.c (ffi_call): Removed FFI_ABI arg, and swapped - remaining args. - -Wed Oct 2 10:07:05 1996 Anthony Green - - * ffi.c, sysv.S, objects.mak: Created. - (ffi_prep_cif): cif->rvalue no longer initialized to NULL. - (ffi_prep_cif_machdep): Moved machine independent cif processing - to src/prep_cif.c. Introduced ffi_prep_cif_machdep(). - ---- libffi/src/mips ------------------------------------------------------- - -Tue Feb 17 17:18:07 1998 Anthony Green - - * o32.S: Fixed typo in comment. - - * ffi.c (ffi_prep_cif_machdep): Fixed argument processing. - -Thu May 8 16:53:58 1997 Anthony Green - - * o32.s, n32.s: Wrappers for SGI tool support. - - * objects.mak: Removed. - -Tue Oct 29 14:37:45 1996 Anthony Green - - * ffi.c (ffi_prep_args): Changed int z to size_t z. - -Tue Oct 15 13:17:25 1996 Anthony Green - - * n32.S: Fixed bad stack munging. - - * ffi.c: Moved prototypes for ffi_call_?32() to here from - ffi_mips.h because extended_cif is not defined in ffi_mips.h. - -Mon Oct 14 12:42:02 1996 Anthony Green - - * ffi.c: Interface changes based on feedback from Jim Blandy. - -Thu Oct 10 11:22:16 1996 Anthony Green - - * n32.S, ffi.c: Lots of changes to support passing and - returning structures with the n32 calling convention. - - * n32.S: Fixed fn pointer bug. - - * ffi.c (ffi_prep_cif_machdep): Fix for o32 structure - return values. - (ffi_prep_args): Fixed n32 structure passing when structures - partially fit in registers. - -Wed Oct 9 13:49:25 1996 Anthony Green - - * objects.mak: Added n32.o. - - * n32.S: Created. - - * ffi.c (ffi_prep_args): Added magic to support proper - n32 processing. - -Tue Oct 8 10:37:35 1996 Anthony Green - - * ffi.c: Moved ffi_type definitions to types.c. - (ffi_prep_args): Fixed type promotion bug. - - * o32.S: This code is only built for o32 compiles. - A lot of the #define cruft has moved to ffi_mips.h. - - * ffi.c (ffi_prep_cif_machdep): Fixed arg flags. Second arg - is only processed if the first is either a float or double. - -Mon Oct 7 15:33:59 1996 Anthony Green - - * o32.S: Modified to compile under each of o32, n32 and n64. - - * ffi.c (FFI_*_TYPEDEF): Removed redundant ';' - -Fri Oct 4 09:53:25 1996 Anthony Green - - * ffi.c (ffi_call): Removed FFI_ABI arg, and swapped - remaining args. - -Wed Oct 2 17:41:22 1996 Anthony Green - - * o32.S: Removed crufty definitions. - -Wed Oct 2 12:53:42 1996 Anthony Green - - * ffi.c (ffi_prep_cif): cif->rvalue no longer initialized to NULL. - (ffi_prep_cif_machdep): Moved all machine independent cif processing - to src/prep_cif.c. Introduced ffi_prep_cif_machdep. Return types - of FFI_TYPE_STRUCT are no different than FFI_TYPE_INT. - -Tue Oct 1 17:11:02 1996 Anthony Green - - * ffi.c, o32.S, object.mak: Created - ---- libffi/src/sparc ------------------------------------------------------ - -Tue Feb 24 16:33:18 1998 Anthony Green - - * ffi.c (ffi_prep_args): Added long double support. - -Thu May 8 16:53:58 1997 Anthony Green - - * objects.mak: Removed. - -Thu May 1 16:07:56 1997 Anthony Green - - * v8.S: Fixed minor portability problem reported by - Russ McManus . - -Tue Nov 26 14:12:43 1996 Anthony Green - - * v8.S: Used STACKFRAME define elsewhere. - - * ffi.c (ffi_prep_args): Zero out space when USING_PURIFY - is set. - (ffi_prep_cif_machdep): Allocate the correct stack frame - space for functions with < 6 args. - -Tue Oct 29 15:08:55 1996 Anthony Green - - * ffi.c (ffi_prep_args): int z is now size_t z. - -Mon Oct 14 13:31:24 1996 Anthony Green - - * v8.S (ffi_call_V8): Gordon rewrites this again. It looks - great now. - - * ffi.c (ffi_call): The comment about hijacked registers - is no longer valid after gordoni hacked v8.S. - - * v8.S (ffi_call_V8): Rewrote with gordoni. Much simpler. - - * v8.S, ffi.c: ffi_call() had changed to accept more than - two args, so v8.S had to change (because it hijacks incoming - arg registers). - - * ffi.c: Interface changes based on feedback from Jim Blandy. - -Thu Oct 10 17:48:16 1996 Anthony Green - - * ffi.c, v8.S, objects.mak: Created. - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE deleted file mode 100644 index 75d1bce..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -libffi - Copyright (c) 1996-2022 Anthony Green, Red Hat, Inc and others. -See source files for details. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE-BUILDTOOLS b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE-BUILDTOOLS deleted file mode 100644 index d1d626e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +++ /dev/null @@ -1,353 +0,0 @@ -The libffi source distribution contains certain code that is not part -of libffi, and is only used as tooling to assist with the building and -testing of libffi. This includes the msvcc.sh script used to wrap the -Microsoft compiler with GNU compatible command-line options, -make_sunver.pl, and the libffi test code distributed in the -testsuite/libffi.bhaible directory. This code is distributed with -libffi for the purpose of convenience only, and libffi is in no way -derived from this code. - -msvcc.sh an testsuite/libffi.bhaible are both distributed under the -terms of the GNU GPL version 2, as below. - - - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.am b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.am deleted file mode 100644 index 3de0bea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.am +++ /dev/null @@ -1,157 +0,0 @@ -## Process this with automake to create Makefile.in - -AUTOMAKE_OPTIONS = foreign subdir-objects - -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = include testsuite man -if BUILD_DOCS -## This hack is needed because it doesn't seem possible to make a -## conditional info_TEXINFOS in Automake. At least Automake 1.14 -## either gives errors -- if this attempted in the most -## straightforward way -- or simply unconditionally tries to build the -## info file. -SUBDIRS += doc -endif - -EXTRA_DIST = LICENSE ChangeLog.old \ - m4/libtool.m4 m4/lt~obsolete.m4 \ - m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \ - m4/ltversion.m4 src/debug.c msvcc.sh \ - generate-darwin-source-and-headers.py \ - libffi.xcodeproj/project.pbxproj \ - src/powerpc/t-aix \ - libtool-ldflags libtool-version configure.host README.md \ - libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl - -# local.exp is generated by configure -DISTCLEANFILES = local.exp - -# Subdir rules rely on $(FLAGS_TO_PASS) -FLAGS_TO_PASS = $(AM_MAKEFLAGS) - -MAKEOVERRIDES= - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libffi.pc - -toolexeclib_LTLIBRARIES = libffi.la -noinst_LTLIBRARIES = libffi_convenience.la - -libffi_la_SOURCES = src/prep_cif.c src/types.c \ - src/raw_api.c src/java_raw_api.c src/closures.c \ - src/tramp.c - -if FFI_DEBUG -libffi_la_SOURCES += src/debug.c -endif - -noinst_HEADERS = src/aarch64/ffitarget.h src/aarch64/internal.h \ - src/alpha/ffitarget.h src/alpha/internal.h \ - src/arc/ffitarget.h src/arm/ffitarget.h src/arm/internal.h \ - src/avr32/ffitarget.h src/bfin/ffitarget.h \ - src/cris/ffitarget.h src/csky/ffitarget.h src/frv/ffitarget.h \ - src/ia64/ffitarget.h src/ia64/ia64_flags.h \ - src/m32r/ffitarget.h src/m68k/ffitarget.h \ - src/m88k/ffitarget.h src/metag/ffitarget.h \ - src/microblaze/ffitarget.h src/mips/ffitarget.h \ - src/moxie/ffitarget.h src/nios2/ffitarget.h \ - src/or1k/ffitarget.h src/pa/ffitarget.h \ - src/powerpc/ffitarget.h src/powerpc/asm.h \ - src/powerpc/ffi_powerpc.h src/riscv/ffitarget.h \ - src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \ - src/sh64/ffitarget.h src/sparc/ffitarget.h \ - src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \ - src/wasm32/ffitarget.h \ - src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h \ - src/x86/asmnames.h src/xtensa/ffitarget.h src/dlmalloc.c \ - src/kvx/ffitarget.h src/kvx/asm.h \ - src/loongarch64/ffitarget.h - -EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \ - src/aarch64/win64_armasm.S src/alpha/ffi.c src/alpha/osf.S \ - src/arc/ffi.c src/arc/arcompact.S src/arm/ffi.c \ - src/arm/sysv.S src/arm/ffi.c src/arm/sysv_msvc_arm32.S \ - src/avr32/ffi.c src/avr32/sysv.S src/bfin/ffi.c \ - src/bfin/sysv.S src/cris/ffi.c src/cris/sysv.S src/frv/ffi.c \ - src/csky/ffi.c src/csky/sysv.S src/frv/eabi.S src/ia64/ffi.c \ - src/ia64/unix.S src/m32r/ffi.c src/m32r/sysv.S src/m68k/ffi.c \ - src/m68k/sysv.S src/m88k/ffi.c src/m88k/obsd.S \ - src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \ - src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \ - src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \ - src/nios2/ffi.c src/nios2/sysv.S src/or1k/ffi.c \ - src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \ - src/pa/hpux64.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \ - src/powerpc/ffi_linux64.c src/powerpc/sysv.S \ - src/powerpc/linux64.S src/powerpc/linux64_closure.S \ - src/powerpc/ppc_closure.S src/powerpc/aix.S \ - src/powerpc/darwin.S src/powerpc/aix_closure.S \ - src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \ - src/riscv/ffi.c src/riscv/sysv.S src/s390/ffi.c \ - src/s390/sysv.S src/sh/ffi.c src/sh/sysv.S src/sh64/ffi.c \ - src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \ - src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \ - src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \ - src/wasm32/ffi.c \ - src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \ - src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \ - src/xtensa/ffi.c src/xtensa/sysv.S src/kvx/ffi.c \ - src/kvx/sysv.S src/loongarch64/ffi.c src/loongarch64/sysv.S - -TARGET_OBJ = @TARGET_OBJ@ -libffi_la_LIBADD = $(TARGET_OBJ) - -libffi_convenience_la_SOURCES = $(libffi_la_SOURCES) -EXTRA_libffi_convenience_la_SOURCES = $(EXTRA_libffi_la_SOURCES) -libffi_convenience_la_LIBADD = $(libffi_la_LIBADD) -libffi_convenience_la_DEPENDENCIES = $(libffi_la_DEPENDENCIES) -nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES) - -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS)) - -AM_CFLAGS = -if FFI_DEBUG -# Build debug. Define FFI_DEBUG on the commandline so that, when building with -# MSVC, it can link against the debug CRT. -AM_CFLAGS += -DFFI_DEBUG -endif - -if LIBFFI_BUILD_VERSIONED_SHLIB -if LIBFFI_BUILD_VERSIONED_SHLIB_GNU -libffi_version_script = -Wl,--version-script,libffi.map -libffi_version_dep = libffi.map -endif -if LIBFFI_BUILD_VERSIONED_SHLIB_SUN -libffi_version_script = -Wl,-M,libffi.map-sun -libffi_version_dep = libffi.map-sun -libffi.map-sun : libffi.map $(top_srcdir)/make_sunver.pl \ - $(libffi_la_OBJECTS) $(libffi_la_LIBADD) - perl $(top_srcdir)/make_sunver.pl libffi.map \ - `echo $(libffi_la_OBJECTS) $(libffi_la_LIBADD) | \ - sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ - > $@ || (rm -f $@ ; exit 1) -endif -else -libffi_version_script = -libffi_version_dep = -endif -libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` - -libffi.map: $(top_srcdir)/libffi.map.in - $(COMPILE) -D$(TARGET) -DGENERATE_LIBFFI_MAP \ - -E -x assembler-with-cpp -o $@ $(top_srcdir)/libffi.map.in - -libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) -libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep) - -AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src -AM_CCASFLAGS = $(AM_CPPFLAGS) - -dist-hook: - d=`(cd $(distdir); pwd)`; (cd doc; make pdf; cp *.pdf $$d/doc) - if [ -d $(top_srcdir)/.git ] ; then (cd $(top_srcdir); git log --no-decorate) ; else echo 'See git log for history.' ; fi > $(distdir)/ChangeLog - s=`awk '/was released on/{ print NR; exit}' $(top_srcdir)/README.md`; tail -n +$$(($$s-1)) $(top_srcdir)/README.md > $(distdir)/README.md - -# target overrides --include $(tmake_file) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/README.md deleted file mode 100644 index 7029f83..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/README.md +++ /dev/null @@ -1,526 +0,0 @@ -Status -====== - -libffi-3.4.4 was released on October 23, 2022. Check the libffi web -page for updates: . - - -What is libffi? -=============== - -Compilers for high level languages generate code that follow certain -conventions. These conventions are necessary, in part, for separate -compilation to work. One such convention is the "calling -convention". The "calling convention" is essentially a set of -assumptions made by the compiler about where function arguments will -be found on entry to a function. A "calling convention" also specifies -where the return value for a function is found. - -Some programs may not know at the time of compilation what arguments -are to be passed to a function. For instance, an interpreter may be -told at run-time about the number and types of arguments used to call -a given function. Libffi can be used in such programs to provide a -bridge from the interpreter program to compiled code. - -The libffi library provides a portable, high level programming -interface to various calling conventions. This allows a programmer to -call any function specified by a call interface description at run -time. - -FFI stands for Foreign Function Interface. A foreign function -interface is the popular name for the interface that allows code -written in one language to call code written in another language. The -libffi library really only provides the lowest, machine dependent -layer of a fully featured foreign function interface. A layer must -exist above libffi that handles type conversions for values passed -between the two languages. - - -Supported Platforms -=================== - -Libffi has been ported to many different platforms. - -At the time of release, the following basic configurations have been -tested: - -| Architecture | Operating System | Compiler | -| --------------- | ---------------- | ----------------------- | -| AArch64 (ARM64) | iOS | Clang | -| AArch64 | Linux | GCC | -| AArch64 | Windows | MSVC | -| Alpha | Linux | GCC | -| Alpha | Tru64 | GCC | -| ARC | Linux | GCC | -| ARC32 | Linux | GCC | -| ARC64 | Linux | GCC | -| ARM | Linux | GCC | -| ARM | iOS | GCC | -| ARM | Windows | MSVC | -| AVR32 | Linux | GCC | -| Blackfin | uClinux | GCC | -| CSKY | Linux | GCC | -| HPPA | HPUX | GCC | -| HPPA64 | HPUX | GCC | -| KVX | Linux | GCC | -| IA-64 | Linux | GCC | -| LoongArch64 | Linux | GCC | -| M68K | FreeMiNT | GCC | -| M68K | Linux | GCC | -| M68K | RTEMS | GCC | -| M88K | OpenBSD/mvme88k | GCC | -| Meta | Linux | GCC | -| MicroBlaze | Linux | GCC | -| MIPS | IRIX | GCC | -| MIPS | Linux | GCC | -| MIPS | RTEMS | GCC | -| MIPS64 | Linux | GCC | -| Moxie | Bare metal | GCC | -| Nios II | Linux | GCC | -| OpenRISC | Linux | GCC | -| PowerPC 32-bit | AIX | GCC | -| PowerPC 32-bit | AIX | IBM XL C | -| PowerPC 64-bit | AIX | IBM XL C | -| PowerPC | AMIGA | GCC | -| PowerPC | Linux | GCC | -| PowerPC | Mac OSX | GCC | -| PowerPC | FreeBSD | GCC | -| PowerPC 64-bit | FreeBSD | GCC | -| PowerPC 64-bit | Linux ELFv1 | GCC | -| PowerPC 64-bit | Linux ELFv2 | GCC | -| RISC-V 32-bit | Linux | GCC | -| RISC-V 64-bit | Linux | GCC | -| S390 | Linux | GCC | -| S390X | Linux | GCC | -| SPARC | Linux | GCC | -| SPARC | Solaris | GCC | -| SPARC | Solaris | Oracle Solaris Studio C | -| SPARC64 | Linux | GCC | -| SPARC64 | FreeBSD | GCC | -| SPARC64 | Solaris | Oracle Solaris Studio C | -| TILE-Gx/TILEPro | Linux | GCC | -| VAX | OpenBSD/vax | GCC | -| WASM32 | Emscripten | EMCC | -| X86 | FreeBSD | GCC | -| X86 | GNU HURD | GCC | -| X86 | Interix | GCC | -| X86 | kFreeBSD | GCC | -| X86 | Linux | GCC | -| X86 | OpenBSD | GCC | -| X86 | OS/2 | GCC | -| X86 | Solaris | GCC | -| X86 | Solaris | Oracle Solaris Studio C | -| X86 | Windows/Cygwin | GCC | -| X86 | Windows/MinGW | GCC | -| X86-64 | FreeBSD | GCC | -| X86-64 | Linux | GCC | -| X86-64 | Linux/x32 | GCC | -| X86-64 | OpenBSD | GCC | -| X86-64 | Solaris | Oracle Solaris Studio C | -| X86-64 | Windows/Cygwin | GCC | -| X86-64 | Windows/MinGW | GCC | -| X86-64 | Mac OSX | GCC | -| Xtensa | Linux | GCC | - -Please send additional platform test results to -libffi-discuss@sourceware.org. - -Installing libffi -================= - -First you must configure the distribution for your particular -system. Go to the directory you wish to build libffi in and run the -"configure" program found in the root directory of the libffi source -distribution. Note that building libffi requires a C99 compatible -compiler. - -If you're building libffi directly from git hosted sources, configure -won't exist yet; run ./autogen.sh first. This will require that you -install autoconf, automake and libtool. - -You may want to tell configure where to install the libffi library and -header files. To do that, use the ``--prefix`` configure switch. Libffi -will install under /usr/local by default. - -If you want to enable extra run-time debugging checks use the the -``--enable-debug`` configure switch. This is useful when your program dies -mysteriously while using libffi. - -Another useful configure switch is ``--enable-purify-safety``. Using this -will add some extra code which will suppress certain warnings when you -are using Purify with libffi. Only use this switch when using -Purify, as it will slow down the library. - -If you don't want to build documentation, use the ``--disable-docs`` -configure switch. - -It's also possible to build libffi on Windows platforms with -Microsoft's Visual C++ compiler. In this case, use the msvcc.sh -wrapper script during configuration like so: - - path/to/configure CC=path/to/msvcc.sh CXX=path/to/msvcc.sh LD=link CPP="cl -nologo -EP" CPPFLAGS="-DFFI_BUILDING_DLL" - -For 64-bit Windows builds, use ``CC="path/to/msvcc.sh -m64"`` and -``CXX="path/to/msvcc.sh -m64"``. You may also need to specify -``--build`` appropriately. - -It is also possible to build libffi on Windows platforms with the LLVM -project's clang-cl compiler, like below: - - path/to/configure CC="path/to/msvcc.sh -clang-cl" CXX="path/to/msvcc.sh -clang-cl" LD=link CPP="clang-cl -EP" - -When building with MSVC under a MingW environment, you may need to -remove the line in configure that sets 'fix_srcfile_path' to a 'cygpath' -command. ('cygpath' is not present in MingW, and is not required when -using MingW-style paths.) - -To build static library for ARM64 with MSVC using visual studio solution, msvc_build folder have - aarch64/Ffi_staticLib.sln - required header files in aarch64/aarch64_include/ - - -SPARC Solaris builds require the use of the GNU assembler and linker. -Point ``AS`` and ``LD`` environment variables at those tool prior to -configuration. - -For iOS builds, the ``libffi.xcodeproj`` Xcode project is available. - -Configure has many other options. Use ``configure --help`` to see them all. - -Once configure has finished, type "make". Note that you must be using -GNU make. You can ftp GNU make from ftp.gnu.org:/pub/gnu/make . - -To ensure that libffi is working as advertised, type "make check". -This will require that you have DejaGNU installed. - -To install the library and header files, type ``make install``. - - -History -======= - -See the git log for details at http://github.com/libffi/libffi. - - TBD - TBD - Add support for wasm32. - Add support for HPPA64, and many HPPA fixes. - Add support for ARCv3: ARC32 & ARC64. - Many x86 Darwin fixes. - - 3.4.4 Oct-23-2022 - Important aarch64 fixes, including support for linux builds - with Link Time Optimization (-flto). - Fix x86 stdcall stack alignment. - Fix x86 Windows msvc assembler compatibility. - Fix moxie and or1k small structure args. - - 3.4.3 Sep-19-2022 - All struct args are passed by value, regardless of size, as per ABIs. - Enable static trampolines for Cygwin. - Add support for Loongson's LoongArch64 architecture. - Fix x32 static trampolines. - Fix 32-bit x86 stdcall stack corruption. - Fix ILP32 aarch64 support. - - 3.4.2 Jun-28-2021 - Add static trampoline support for Linux on x86_64 and ARM64. - Add support for Alibaba's CSKY architecture. - Add support for Kalray's KVX architecture. - Add support for Intel Control-flow Enforcement Technology (CET). - Add support for ARM Pointer Authentication (PA). - Fix 32-bit PPC regression. - Fix MIPS soft-float problem. - Enable tmpdir override with the $LIBFFI_TMPDIR environment variable. - Enable compatibility with MSVC runtime stack checking. - Reject float and small integer argument in ffi_prep_cif_var(). - Callers must promote these types themselves. - - 3.3 Nov-23-2019 - Add RISC-V support. - New API in support of GO closures. - Add IEEE754 binary128 long double support for 64-bit Power - Default to Microsoft's 64 bit long double ABI with Visual C++. - GNU compiler uses 80 bits (128 in memory) FFI_GNUW64 ABI. - Add Windows on ARM64 (WOA) support. - Add Windows 32-bit ARM support. - Raw java (gcj) API deprecated. - Add pre-built PDF documentation to source distribution. - Many new test cases and bug fixes. - - 3.2.1 Nov-12-2014 - Build fix for non-iOS AArch64 targets. - - 3.2 Nov-11-2014 - Add C99 Complex Type support (currently only supported on - s390). - Add support for PASCAL and REGISTER calling conventions on x86 - Windows/Linux. - Add OpenRISC and Cygwin-64 support. - Bug fixes. - - 3.1 May-19-2014 - Add AArch64 (ARM64) iOS support. - Add Nios II support. - Add m88k and DEC VAX support. - Add support for stdcall, thiscall, and fastcall on non-Windows - 32-bit x86 targets such as Linux. - Various Android, MIPS N32, x86, FreeBSD and UltraSPARC IIi - fixes. - Make the testsuite more robust: eliminate several spurious - failures, and respect the $CC and $CXX environment variables. - Archive off the manually maintained ChangeLog in favor of git - log. - - 3.0.13 Mar-17-2013 - Add Meta support. - Add missing Moxie bits. - Fix stack alignment bug on 32-bit x86. - Build fix for m68000 targets. - Build fix for soft-float Power targets. - Fix the install dir location for some platforms when building - with GCC (OS X, Solaris). - Fix Cygwin regression. - - 3.0.12 Feb-11-2013 - Add Moxie support. - Add AArch64 support. - Add Blackfin support. - Add TILE-Gx/TILEPro support. - Add MicroBlaze support. - Add Xtensa support. - Add support for PaX enabled kernels with MPROTECT. - Add support for native vendor compilers on - Solaris and AIX. - Work around LLVM/GCC interoperability issue on x86_64. - - 3.0.11 Apr-11-2012 - Lots of build fixes. - Add support for variadic functions (ffi_prep_cif_var). - Add Linux/x32 support. - Add thiscall, fastcall and MSVC cdecl support on Windows. - Add Amiga and newer MacOS support. - Add m68k FreeMiNT support. - Integration with iOS' xcode build tools. - Fix Octeon and MC68881 support. - Fix code pessimizations. - - 3.0.10 Aug-23-2011 - Add support for Apple's iOS. - Add support for ARM VFP ABI. - Add RTEMS support for MIPS and M68K. - Fix instruction cache clearing problems on - ARM and SPARC. - Fix the N64 build on mips-sgi-irix6.5. - Enable builds with Microsoft's compiler. - Enable x86 builds with Oracle's Solaris compiler. - Fix support for calling code compiled with Oracle's Sparc - Solaris compiler. - Testsuite fixes for Tru64 Unix. - Additional platform support. - - 3.0.9 Dec-31-2009 - Add AVR32 and win64 ports. Add ARM softfp support. - Many fixes for AIX, Solaris, HP-UX, *BSD. - Several PowerPC and x86-64 bug fixes. - Build DLL for windows. - - 3.0.8 Dec-19-2008 - Add *BSD, BeOS, and PA-Linux support. - - 3.0.7 Nov-11-2008 - Fix for ppc FreeBSD. - (thanks to Andreas Tobler) - - 3.0.6 Jul-17-2008 - Fix for closures on sh. - Mark the sh/sh64 stack as non-executable. - (both thanks to Kaz Kojima) - - 3.0.5 Apr-3-2008 - Fix libffi.pc file. - Fix #define ARM for IcedTea users. - Fix x86 closure bug. - - 3.0.4 Feb-24-2008 - Fix x86 OpenBSD configury. - - 3.0.3 Feb-22-2008 - Enable x86 OpenBSD thanks to Thomas Heller, and - x86-64 FreeBSD thanks to Björn König and Andreas Tobler. - Clean up test instruction in README. - - 3.0.2 Feb-21-2008 - Improved x86 FreeBSD support. - Thanks to Björn König. - - 3.0.1 Feb-15-2008 - Fix instruction cache flushing bug on MIPS. - Thanks to David Daney. - - 3.0.0 Feb-15-2008 - Many changes, mostly thanks to the GCC project. - Cygnus Solutions is now Red Hat. - - [10 years go by...] - - 1.20 Oct-5-1998 - Raffaele Sena produces ARM port. - - 1.19 Oct-5-1998 - Fixed x86 long double and long long return support. - m68k bug fixes from Andreas Schwab. - Patch for DU assembler compatibility for the Alpha from Richard - Henderson. - - 1.18 Apr-17-1998 - Bug fixes and MIPS configuration changes. - - 1.17 Feb-24-1998 - Bug fixes and m68k port from Andreas Schwab. PowerPC port from - Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes. - - 1.16 Feb-11-1998 - Richard Henderson produces Alpha port. - - 1.15 Dec-4-1997 - Fixed an n32 ABI bug. New libtool, auto* support. - - 1.14 May-13-97 - libtool is now used to generate shared and static libraries. - Fixed a minor portability problem reported by Russ McManus - . - - 1.13 Dec-2-1996 - Added --enable-purify-safety to keep Purify from complaining - about certain low level code. - Sparc fix for calling functions with < 6 args. - Linux x86 a.out fix. - - 1.12 Nov-22-1996 - Added missing ffi_type_void, needed for supporting void return - types. Fixed test case for non MIPS machines. Cygnus Support - is now Cygnus Solutions. - - 1.11 Oct-30-1996 - Added notes about GNU make. - - 1.10 Oct-29-1996 - Added configuration fix for non GNU compilers. - - 1.09 Oct-29-1996 - Added --enable-debug configure switch. Clean-ups based on LCLint - feedback. ffi_mips.h is always installed. Many configuration - fixes. Fixed ffitest.c for sparc builds. - - 1.08 Oct-15-1996 - Fixed n32 problem. Many clean-ups. - - 1.07 Oct-14-1996 - Gordon Irlam rewrites v8.S again. Bug fixes. - - 1.06 Oct-14-1996 - Gordon Irlam improved the sparc port. - - 1.05 Oct-14-1996 - Interface changes based on feedback. - - 1.04 Oct-11-1996 - Sparc port complete (modulo struct passing bug). - - 1.03 Oct-10-1996 - Passing struct args, and returning struct values works for - all architectures/calling conventions. Expanded tests. - - 1.02 Oct-9-1996 - Added SGI n32 support. Fixed bugs in both o32 and Linux support. - Added "make test". - - 1.01 Oct-8-1996 - Fixed float passing bug in mips version. Restructured some - of the code. Builds cleanly with SGI tools. - - 1.00 Oct-7-1996 - First release. No public announcement. - -Authors & Credits -================= - -libffi was originally written by Anthony Green . - -The developers of the GNU Compiler Collection project have made -innumerable valuable contributions. See the ChangeLog file for -details. - -Some of the ideas behind libffi were inspired by Gianni Mariani's free -gencall library for Silicon Graphics machines. - -The closure mechanism was designed and implemented by Kresten Krab -Thorup. - -Major processor architecture ports were contributed by the following -developers: - - aarch64 Marcus Shawcroft, James Greenhalgh - alpha Richard Henderson - arc Hackers at Synopsis - arm Raffaele Sena - avr32 Bradley Smith - blackfin Alexandre Keunecke I. de Mendonca - cris Simon Posnjak, Hans-Peter Nilsson - csky Ma Jun, Zhang Wenmeng - frv Anthony Green - ia64 Hans Boehm - kvx Yann Sionneau - loongarch64 Cheng Lulu, Xi Ruoyao, Xu Hao, - Zhang Wenlong, Pan Xuefeng - m32r Kazuhiro Inaoka - m68k Andreas Schwab - m88k Miod Vallat - metag Hackers at Imagination Technologies - microblaze Nathan Rossi - mips Anthony Green, Casey Marshall - mips64 David Daney - moxie Anthony Green - nios ii Sandra Loosemore - openrisc Sebastian Macke - pa Randolph Chung, Dave Anglin, Andreas Tobler - pa64 Dave Anglin - powerpc Geoffrey Keating, Andreas Tobler, - David Edelsohn, John Hornkvist - powerpc64 Jakub Jelinek - riscv Michael Knyszek, Andrew Waterman, Stef O'Rear - s390 Gerhard Tonn, Ulrich Weigand - sh Kaz Kojima - sh64 Kaz Kojima - sparc Anthony Green, Gordon Irlam - tile-gx/tilepro Walter Lee - vax Miod Vallat - wasm32 Hood Chatham, Brion Vibber, Kleis Auke Wolthuizen - x86 Anthony Green, Jon Beniston - x86-64 Bo Thorsen - xtensa Chris Zankel - -Jesper Skov and Andrew Haley both did more than their fair share of -stepping through the code and tracking down bugs. - -Thanks also to Tom Tromey for bug fixes, documentation and -configuration help. - -Thanks to Jim Blandy, who provided some useful feedback on the libffi -interface. - -Andreas Tobler has done a tremendous amount of work on the testsuite. - -Alex Oliva solved the executable page problem for SElinux. - -The list above is almost certainly incomplete and inaccurate. I'm -happy to make corrections or additions upon request. - -If you have a problem, or have found a bug, please file an issue on -our issue tracker at https://github.com/libffi/libffi/issues. - -The author can be reached at green@moxielogic.com. - -To subscribe/unsubscribe to our mailing lists, visit: -https://sourceware.org/mailman/listinfo/libffi-announce -https://sourceware.org/mailman/listinfo/libffi-discuss diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/acinclude.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/acinclude.m4 deleted file mode 100644 index 9ef93a8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/acinclude.m4 +++ /dev/null @@ -1,377 +0,0 @@ -# mmap(2) blacklisting. Some platforms provide the mmap library routine -# but don't support all of the features we need from it. -AC_DEFUN([AC_FUNC_MMAP_BLACKLIST], -[ -AC_CHECK_HEADER([sys/mman.h], - [libffi_header_sys_mman_h=yes], [libffi_header_sys_mman_h=no]) -AC_CHECK_FUNC([mmap], [libffi_func_mmap=yes], [libffi_func_mmap=no]) -if test "$libffi_header_sys_mman_h" != yes \ - || test "$libffi_func_mmap" != yes; then - ac_cv_func_mmap_file=no - ac_cv_func_mmap_dev_zero=no - ac_cv_func_mmap_anon=no -else - AC_CACHE_CHECK([whether read-only mmap of a plain file works], - ac_cv_func_mmap_file, - [# Add a system to this blacklist if - # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a - # memory area containing the same data that you'd get if you applied - # read() to the same fd. The only system known to have a problem here - # is VMS, where text files have record structure. - case "$host_os" in - vms* | ultrix*) - ac_cv_func_mmap_file=no ;; - *) - ac_cv_func_mmap_file=yes;; - esac]) - AC_CACHE_CHECK([whether mmap from /dev/zero works], - ac_cv_func_mmap_dev_zero, - [# Add a system to this blacklist if it has mmap() but /dev/zero - # does not exist, or if mmapping /dev/zero does not give anonymous - # zeroed pages with both the following properties: - # 1. If you map N consecutive pages in with one call, and then - # unmap any subset of those pages, the pages that were not - # explicitly unmapped remain accessible. - # 2. If you map two adjacent blocks of memory and then unmap them - # both at once, they must both go away. - # Systems known to be in this category are Windows (all variants), - # VMS, and Darwin. - case "$host_os" in - vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) - ac_cv_func_mmap_dev_zero=no ;; - *) - ac_cv_func_mmap_dev_zero=yes;; - esac]) - - # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for. - AC_CACHE_CHECK([for MAP_ANON(YMOUS)], ac_cv_decl_map_anon, - [AC_COMPILE_IFELSE( -[AC_LANG_PROGRAM([[#include -#include -#include - -#ifndef MAP_ANONYMOUS -#define MAP_ANONYMOUS MAP_ANON -#endif -]], -[[int n = MAP_ANONYMOUS;]])], - ac_cv_decl_map_anon=yes, - ac_cv_decl_map_anon=no)]) - - if test $ac_cv_decl_map_anon = no; then - ac_cv_func_mmap_anon=no - else - AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works], - ac_cv_func_mmap_anon, - [# Add a system to this blacklist if it has mmap() and MAP_ANON or - # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) - # doesn't give anonymous zeroed pages with the same properties listed - # above for use of /dev/zero. - # Systems known to be in this category are Windows, VMS, and SCO Unix. - case "$host_os" in - vms* | cygwin* | pe | mingw* | sco* | udk* ) - ac_cv_func_mmap_anon=no ;; - *) - ac_cv_func_mmap_anon=yes;; - esac]) - fi -fi - -if test $ac_cv_func_mmap_file = yes; then - AC_DEFINE(HAVE_MMAP_FILE, 1, - [Define if read-only mmap of a plain file works.]) -fi -if test $ac_cv_func_mmap_dev_zero = yes; then - AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1, - [Define if mmap of /dev/zero works.]) -fi -if test $ac_cv_func_mmap_anon = yes; then - AC_DEFINE(HAVE_MMAP_ANON, 1, - [Define if mmap with MAP_ANON(YMOUS) works.]) -fi -]) - -dnl ---------------------------------------------------------------------- -dnl This whole bit snagged from libstdc++-v3, via libatomic. - -dnl -dnl LIBFFI_ENABLE -dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING) -dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c) -dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER) -dnl -dnl See docs/html/17_intro/configury.html#enable for documentation. -dnl -m4_define([LIBFFI_ENABLE],[dnl -m4_define([_g_switch],[--enable-$1])dnl -m4_define([_g_help],[AS_HELP_STRING([_g_switch$3],[$4 @<:@default=$2@:>@])])dnl - AC_ARG_ENABLE($1,_g_help, - m4_bmatch([$5], - [^permit ], - [[ - case "$enableval" in - m4_bpatsubst([$5],[permit ])) ;; - *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;; - dnl Idea for future: generate a URL pointing to - dnl "onlinedocs/configopts.html#whatever" - esac - ]], - [^$], - [[ - case "$enableval" in - yes|no) ;; - *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;; - esac - ]], - [[$5]]), - [enable_]m4_bpatsubst([$1],-,_)[=][$2]) -m4_undefine([_g_switch])dnl -m4_undefine([_g_help])dnl -]) - -dnl -dnl If GNU ld is in use, check to see if tricky linker opts can be used. If -dnl the native linker is in use, all variables will be defined to something -dnl safe (like an empty string). -dnl -dnl Defines: -dnl SECTION_LDFLAGS='-Wl,--gc-sections' if possible -dnl OPT_LDFLAGS='-Wl,-O1' if possible -dnl LD (as a side effect of testing) -dnl Sets: -dnl with_gnu_ld -dnl libat_ld_is_gold (possibly) -dnl libat_gnu_ld_version (possibly) -dnl -dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will -dnl set libat_gnu_ld_version to 12345. Zeros cause problems. -dnl -AC_DEFUN([LIBFFI_CHECK_LINKER_FEATURES], [ - # If we're not using GNU ld, then there's no point in even trying these - # tests. Check for that first. We should have already tested for gld - # by now (in libtool), but require it now just to be safe... - test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS='' - test -z "$OPT_LDFLAGS" && OPT_LDFLAGS='' - AC_REQUIRE([LT_PATH_LD]) - AC_REQUIRE([AC_PROG_AWK]) - - # The name set by libtool depends on the version of libtool. Shame on us - # for depending on an impl detail, but c'est la vie. Older versions used - # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on - # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually - # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't - # set (hence we're using an older libtool), then set it. - if test x${with_gnu_ld+set} != xset; then - if test x${ac_cv_prog_gnu_ld+set} != xset; then - # We got through "ac_require(ac_prog_ld)" and still not set? Huh? - with_gnu_ld=no - else - with_gnu_ld=$ac_cv_prog_gnu_ld - fi - fi - - # Start by getting the version number. I think the libtool test already - # does some of this, but throws away the result. - libat_ld_is_gold=no - if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then - libat_ld_is_gold=yes - fi - libat_ld_is_lld=no - if $LD --version 2>/dev/null | grep 'LLD '> /dev/null 2>&1; then - libat_ld_is_lld=yes - fi - changequote(,) - ldver=`$LD --version 2>/dev/null | - sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'` - changequote([,]) - libat_gnu_ld_version=`echo $ldver | \ - $AWK -F. '{ if (NF<3) [$]3=0; print ([$]1*100+[$]2)*100+[$]3 }'` - - # Set --gc-sections. - if test "$with_gnu_ld" = "notbroken"; then - # GNU ld it is! Joy and bunny rabbits! - - # All these tests are for C++; save the language and the compiler flags. - # Need to do this so that g++ won't try to link in libstdc++ - ac_test_CFLAGS="${CFLAGS+set}" - ac_save_CFLAGS="$CFLAGS" - CFLAGS='-x c++ -Wl,--gc-sections' - - # Check for -Wl,--gc-sections - # XXX This test is broken at the moment, as symbols required for linking - # are now in libsupc++ (not built yet). In addition, this test has - # cored on solaris in the past. In addition, --gc-sections doesn't - # really work at the moment (keeps on discarding used sections, first - # .eh_frame and now some of the glibc sections for iconv). - # Bzzzzt. Thanks for playing, maybe next time. - AC_MSG_CHECKING([for ld that supports -Wl,--gc-sections]) - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - int main(void) - { - try { throw 1; } - catch (...) { }; - return 0; - } - ]])],[ac_sectionLDflags=yes],[ac_sectionLDflags=no],[ac_sectionLDflags=yes]) - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - else - # this is the suspicious part - CFLAGS='' - fi - if test "$ac_sectionLDflags" = "yes"; then - SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS" - fi - AC_MSG_RESULT($ac_sectionLDflags) - fi - - # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes"; then - OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" - fi - - AC_SUBST(SECTION_LDFLAGS) - AC_SUBST(OPT_LDFLAGS) -]) - - -dnl -dnl Add version tags to symbols in shared library (or not), additionally -dnl marking other symbols as private/local (or not). -dnl -dnl --enable-symvers=style adds a version script to the linker call when -dnl creating the shared library. The choice of version script is -dnl controlled by 'style'. -dnl --disable-symvers does not. -dnl + Usage: LIBFFI_ENABLE_SYMVERS[(DEFAULT)] -dnl Where DEFAULT is either 'yes' or 'no'. Passing `yes' tries to -dnl choose a default style based on linker characteristics. Passing -dnl 'no' disables versioning. -dnl -AC_DEFUN([LIBFFI_ENABLE_SYMVERS], [ - -LIBFFI_ENABLE(symvers,yes,[=STYLE], - [enables symbol versioning of the shared library], - [permit yes|no|gnu*|sun]) - -# If we never went through the LIBFFI_CHECK_LINKER_FEATURES macro, then we -# don't know enough about $LD to do tricks... -AC_REQUIRE([LIBFFI_CHECK_LINKER_FEATURES]) - -# Turn a 'yes' into a suitable default. -if test x$enable_symvers = xyes ; then - # FIXME The following test is too strict, in theory. - if test $enable_shared = no || test "x$LD" = x; then - enable_symvers=no - else - if test $with_gnu_ld = yes ; then - enable_symvers=gnu - else - case ${target_os} in - # Sun symbol versioning exists since Solaris 2.5. - solaris2.[[5-9]]* | solaris2.1[[0-9]]*) - enable_symvers=sun ;; - *) - enable_symvers=no ;; - esac - fi - fi -fi - -# Check if 'sun' was requested on non-Solaris 2 platforms. -if test x$enable_symvers = xsun ; then - case ${target_os} in - solaris2*) - # All fine. - ;; - *) - # Unlikely to work. - AC_MSG_WARN([=== You have requested Sun symbol versioning, but]) - AC_MSG_WARN([=== you are not targetting Solaris 2.]) - AC_MSG_WARN([=== Symbol versioning will be disabled.]) - enable_symvers=no - ;; - esac -fi - -# Check to see if libgcc_s exists, indicating that shared libgcc is possible. -if test $enable_symvers != no; then - AC_MSG_CHECKING([for shared libgcc]) - ac_save_CFLAGS="$CFLAGS" - CFLAGS=' -lgcc_s' - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[libat_shared_libgcc=yes],[libat_shared_libgcc=no]) - CFLAGS="$ac_save_CFLAGS" - if test $libat_shared_libgcc = no; then - cat > conftest.c <&1 >/dev/null \ - | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` -changequote([,])dnl - rm -f conftest.c conftest.so - if test x${libat_libgcc_s_suffix+set} = xset; then - CFLAGS=" -lgcc_s$libat_libgcc_s_suffix" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[libat_shared_libgcc=yes],[]) - CFLAGS="$ac_save_CFLAGS" - fi - fi - AC_MSG_RESULT($libat_shared_libgcc) -fi - -# For GNU ld, we need at least this version. The format is described in -# LIBFFI_CHECK_LINKER_FEATURES above. -libat_min_gnu_ld_version=21400 -# XXXXXXXXXXX libat_gnu_ld_version=21390 - -# Check to see if unspecified "yes" value can win, given results above. -# Change "yes" into either "no" or a style name. -if test $enable_symvers != no && test $libat_shared_libgcc = yes; then - if test $with_gnu_ld = yes; then - if test $libat_gnu_ld_version -ge $libat_min_gnu_ld_version ; then - enable_symvers=gnu - elif test $libat_ld_is_gold = yes ; then - enable_symvers=gnu - elif test $libat_ld_is_lld = yes ; then - enable_symvers=gnu - else - # The right tools, the right setup, but too old. Fallbacks? - AC_MSG_WARN(=== Linker version $libat_gnu_ld_version is too old for) - AC_MSG_WARN(=== full symbol versioning support in this release of GCC.) - AC_MSG_WARN(=== You would need to upgrade your binutils to version) - AC_MSG_WARN(=== $libat_min_gnu_ld_version or later and rebuild GCC.) - if test $libat_gnu_ld_version -ge 21200 ; then - # Globbing fix is present, proper block support is not. - dnl AC_MSG_WARN([=== Dude, you are soooo close. Maybe we can fake it.]) - dnl enable_symvers=??? - AC_MSG_WARN([=== Symbol versioning will be disabled.]) - enable_symvers=no - else - # 2.11 or older. - AC_MSG_WARN([=== Symbol versioning will be disabled.]) - enable_symvers=no - fi - fi - elif test $enable_symvers = sun; then - : All interesting versions of Sun ld support sun style symbol versioning. - else - # just fail for now - AC_MSG_WARN([=== You have requested some kind of symbol versioning, but]) - AC_MSG_WARN([=== either you are not using a supported linker, or you are]) - AC_MSG_WARN([=== not building a shared libgcc_s (which is required).]) - AC_MSG_WARN([=== Symbol versioning will be disabled.]) - enable_symvers=no - fi -fi -if test $enable_symvers = gnu; then - AC_DEFINE(LIBFFI_GNU_SYMBOL_VERSIONING, 1, - [Define to 1 if GNU symbol versioning is used for libatomic.]) -fi - -AM_CONDITIONAL(LIBFFI_BUILD_VERSIONED_SHLIB, test $enable_symvers != no) -AM_CONDITIONAL(LIBFFI_BUILD_VERSIONED_SHLIB_GNU, test $enable_symvers = gnu) -AM_CONDITIONAL(LIBFFI_BUILD_VERSIONED_SHLIB_SUN, test $enable_symvers = sun) -AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers) -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/autogen.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/autogen.sh deleted file mode 100755 index fb014a3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/autogen.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec autoreconf -v -i diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.guess b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.guess deleted file mode 100644 index 7f76b62..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.guess +++ /dev/null @@ -1,1754 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2022 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2022-01-09' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess -# -# Please send patches to . - - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2022 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -# Just in case it came from the environment. -GUESS= - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039,SC3028 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD=$driver - break - fi - done - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; - esac -} - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if test -f /.attbin/uname ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case $UNAME_SYSTEM in -Linux|GNU|GNU/*) - LIBC=unknown - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #elif defined(__GLIBC__) - LIBC=gnu - #else - #include - /* First heuristic to detect musl libc. */ - #ifdef __DEFINED_va_list - LIBC=musl - #endif - #endif - EOF - cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - eval "$cc_set_libc" - - # Second heuristic to detect musl libc. - if [ "$LIBC" = unknown ] && - command -v ldd >/dev/null && - ldd --version 2>&1 | grep -q ^musl; then - LIBC=musl - fi - - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - if [ "$LIBC" = unknown ]; then - LIBC=gnu - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - echo unknown)` - case $UNAME_MACHINE_ARCH in - aarch64eb) machine=aarch64_be-unknown ;; - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=$UNAME_MACHINE_ARCH-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case $UNAME_MACHINE_ARCH in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case $UNAME_MACHINE_ARCH in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case $UNAME_VERSION in - Debian*) - release='-gnu' - ;; - *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - GUESS=$machine-${os}${release}${abi-} - ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE - ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE - ;; - *:SecBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE - ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE - ;; - *:MidnightBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE - ;; - *:ekkoBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE - ;; - *:SolidBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE - ;; - *:OS108:*:*) - GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE - ;; - macppc:MirBSD:*:*) - GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE - ;; - *:MirBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE - ;; - *:Sortix:*:*) - GUESS=$UNAME_MACHINE-unknown-sortix - ;; - *:Twizzler:*:*) - GUESS=$UNAME_MACHINE-unknown-twizzler - ;; - *:Redox:*:*) - GUESS=$UNAME_MACHINE-unknown-redox - ;; - mips:OSF1:*.*) - GUESS=mips-dec-osf1 - ;; - alpha:OSF1:*:*) - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - trap '' 0 - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case $ALPHA_CPU_TYPE in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - GUESS=$UNAME_MACHINE-dec-osf$OSF_REL - ;; - Amiga*:UNIX_System_V:4.0:*) - GUESS=m68k-unknown-sysv4 - ;; - *:[Aa]miga[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-amigaos - ;; - *:[Mm]orph[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-morphos - ;; - *:OS/390:*:*) - GUESS=i370-ibm-openedition - ;; - *:z/VM:*:*) - GUESS=s390-ibm-zvmoe - ;; - *:OS400:*:*) - GUESS=powerpc-ibm-os400 - ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - GUESS=arm-acorn-riscix$UNAME_RELEASE - ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - GUESS=arm-unknown-riscos - ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - GUESS=hppa1.1-hitachi-hiuxmpp - ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - case `(/bin/universe) 2>/dev/null` in - att) GUESS=pyramid-pyramid-sysv3 ;; - *) GUESS=pyramid-pyramid-bsd ;; - esac - ;; - NILE*:*:*:dcosx) - GUESS=pyramid-pyramid-svr4 - ;; - DRS?6000:unix:4.0:6*) - GUESS=sparc-icl-nx6 - ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) GUESS=sparc-icl-nx7 ;; - esac - ;; - s390x:SunOS:*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL - ;; - sun4H:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-hal-solaris2$SUN_REL - ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris2$SUN_REL - ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - GUESS=i386-pc-auroraux$UNAME_RELEASE - ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$SUN_ARCH-pc-solaris2$SUN_REL - ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris3$SUN_REL - ;; - sun4*:SunOS:*:*) - case `/usr/bin/arch -k` in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` - GUESS=sparc-sun-sunos$SUN_REL - ;; - sun3*:SunOS:*:*) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case `/bin/arch` in - sun3) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun4) - GUESS=sparc-sun-sunos$UNAME_RELEASE - ;; - esac - ;; - aushp:SunOS:*:*) - GUESS=sparc-auspex-sunos$UNAME_RELEASE - ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - GUESS=m68k-milan-mint$UNAME_RELEASE - ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - GUESS=m68k-hades-mint$UNAME_RELEASE - ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - GUESS=m68k-unknown-mint$UNAME_RELEASE - ;; - m68k:machten:*:*) - GUESS=m68k-apple-machten$UNAME_RELEASE - ;; - powerpc:machten:*:*) - GUESS=powerpc-apple-machten$UNAME_RELEASE - ;; - RISC*:Mach:*:*) - GUESS=mips-dec-mach_bsd4.3 - ;; - RISC*:ULTRIX:*:*) - GUESS=mips-dec-ultrix$UNAME_RELEASE - ;; - VAX*:ULTRIX*:*:*) - GUESS=vax-dec-ultrix$UNAME_RELEASE - ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - GUESS=clipper-intergraph-clix$UNAME_RELEASE - ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - GUESS=mips-mips-riscos$UNAME_RELEASE - ;; - Motorola:PowerMAX_OS:*:*) - GUESS=powerpc-motorola-powermax - ;; - Motorola:*:4.3:PL8-*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:Power_UNIX:*:*) - GUESS=powerpc-harris-powerunix - ;; - m88k:CX/UX:7*:*) - GUESS=m88k-harris-cxux7 - ;; - m88k:*:4*:R4*) - GUESS=m88k-motorola-sysv4 - ;; - m88k:*:3*:R3*) - GUESS=m88k-motorola-sysv3 - ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 - then - if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - test "$TARGET_BINARY_INTERFACE"x = x - then - GUESS=m88k-dg-dgux$UNAME_RELEASE - else - GUESS=m88k-dg-dguxbcs$UNAME_RELEASE - fi - else - GUESS=i586-dg-dgux$UNAME_RELEASE - fi - ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - GUESS=m88k-dolphin-sysv3 - ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - GUESS=m88k-motorola-sysv3 - ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - GUESS=m88k-tektronix-sysv3 - ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - GUESS=m68k-tektronix-bsd - ;; - *:IRIX*:*:*) - IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` - GUESS=mips-sgi-irix$IRIX_REL - ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id - ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - GUESS=i386-ibm-aix - ;; - ia64:AIX:*:*) - if test -x /usr/bin/oslevel ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV - ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - GUESS=$SYSTEM_NAME - else - GUESS=rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - GUESS=rs6000-ibm-aix3.2.4 - else - GUESS=rs6000-ibm-aix3.2 - fi - ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if test -x /usr/bin/lslpp ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$IBM_ARCH-ibm-aix$IBM_REV - ;; - *:AIX:*:*) - GUESS=rs6000-ibm-aix - ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - GUESS=romp-ibm-bsd4.4 - ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to - ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - GUESS=rs6000-bull-bosx - ;; - DPX/2?00:B.O.S.:*:*) - GUESS=m68k-bull-sysv3 - ;; - 9000/[34]??:4.3bsd:1.*:*) - GUESS=m68k-hp-bsd - ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - GUESS=m68k-hp-bsd4.4 - ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - case $UNAME_MACHINE in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if test -x /usr/bin/getconf; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case $sc_cpu_version in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case $sc_kernel_bits in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if test "$HP_ARCH" = ""; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if test "$HP_ARCH" = hppa2.0w - then - set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - GUESS=$HP_ARCH-hp-hpux$HPUX_REV - ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - GUESS=ia64-hp-hpux$HPUX_REV - ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - GUESS=unknown-hitachi-hiuxwe2 - ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - GUESS=hppa1.1-hp-bsd - ;; - 9000/8??:4.3bsd:*:*) - GUESS=hppa1.0-hp-bsd - ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - GUESS=hppa1.0-hp-mpeix - ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - GUESS=hppa1.1-hp-osf - ;; - hp8??:OSF1:*:*) - GUESS=hppa1.0-hp-osf - ;; - i*86:OSF1:*:*) - if test -x /usr/sbin/sysversion ; then - GUESS=$UNAME_MACHINE-unknown-osf1mk - else - GUESS=$UNAME_MACHINE-unknown-osf1 - fi - ;; - parisc*:Lites*:*:*) - GUESS=hppa1.1-hp-lites - ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - GUESS=c1-convex-bsd - ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - GUESS=c34-convex-bsd - ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - GUESS=c38-convex-bsd - ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - GUESS=c4-convex-bsd - ;; - CRAY*Y-MP:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=ymp-cray-unicos$CRAY_REL - ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=t90-cray-unicos$CRAY_REL - ;; - CRAY*T3E:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=alphaev5-cray-unicosmk$CRAY_REL - ;; - CRAY*SV1:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=sv1-cray-unicos$CRAY_REL - ;; - *:UNICOS/mp:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=craynv-cray-unicosmp$CRAY_REL - ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE - ;; - sparc*:BSD/OS:*:*) - GUESS=sparc-unknown-bsdi$UNAME_RELEASE - ;; - *:BSD/OS:*:*) - GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE - ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi - else - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf - fi - ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case $UNAME_PROCESSOR in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL - ;; - i*:CYGWIN*:*) - GUESS=$UNAME_MACHINE-pc-cygwin - ;; - *:MINGW64*:*) - GUESS=$UNAME_MACHINE-pc-mingw64 - ;; - *:MINGW*:*) - GUESS=$UNAME_MACHINE-pc-mingw32 - ;; - *:MSYS*:*) - GUESS=$UNAME_MACHINE-pc-msys - ;; - i*:PW*:*) - GUESS=$UNAME_MACHINE-pc-pw32 - ;; - *:SerenityOS:*:*) - GUESS=$UNAME_MACHINE-pc-serenity - ;; - *:Interix*:*) - case $UNAME_MACHINE in - x86) - GUESS=i586-pc-interix$UNAME_RELEASE - ;; - authenticamd | genuineintel | EM64T) - GUESS=x86_64-unknown-interix$UNAME_RELEASE - ;; - IA64) - GUESS=ia64-unknown-interix$UNAME_RELEASE - ;; - esac ;; - i*:UWIN*:*) - GUESS=$UNAME_MACHINE-pc-uwin - ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - GUESS=x86_64-pc-cygwin - ;; - prep*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=powerpcle-unknown-solaris2$SUN_REL - ;; - *:GNU:*:*) - # the GNU system - GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` - GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL - ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC - ;; - *:Minix:*:*) - GUESS=$UNAME_MACHINE-unknown-minix - ;; - aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi - else - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf - fi - fi - ;; - avr32*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - cris:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - crisv32:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - e2k:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - frv:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - hexagon:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:Linux:*:*) - GUESS=$UNAME_MACHINE-pc-linux-$LIBC - ;; - ia64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - k1om:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m32r*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m68*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= - #else - MIPS_ENDIAN= - #endif - #endif -EOF - cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` - eval "$cc_set_vars" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } - ;; - mips64el:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - openrisc*:Linux:*:*) - GUESS=or1k-unknown-linux-$LIBC - ;; - or32:Linux:*:* | or1k*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - padre:Linux:*:*) - GUESS=sparc-unknown-linux-$LIBC - ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - GUESS=hppa64-unknown-linux-$LIBC - ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; - PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; - *) GUESS=hppa-unknown-linux-$LIBC ;; - esac - ;; - ppc64:Linux:*:*) - GUESS=powerpc64-unknown-linux-$LIBC - ;; - ppc:Linux:*:*) - GUESS=powerpc-unknown-linux-$LIBC - ;; - ppc64le:Linux:*:*) - GUESS=powerpc64le-unknown-linux-$LIBC - ;; - ppcle:Linux:*:*) - GUESS=powerpcle-unknown-linux-$LIBC - ;; - riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - s390:Linux:*:* | s390x:Linux:*:*) - GUESS=$UNAME_MACHINE-ibm-linux-$LIBC - ;; - sh64*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sh*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - tile*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - vax:Linux:*:*) - GUESS=$UNAME_MACHINE-dec-linux-$LIBC - ;; - x86_64:Linux:*:*) - set_cc_for_build - LIBCABI=$LIBC - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI=${LIBC}x32 - fi - fi - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI - ;; - xtensa*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - GUESS=i386-sequent-sysv4 - ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION - ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - GUESS=$UNAME_MACHINE-pc-os2-emx - ;; - i*86:XTS-300:*:STOP) - GUESS=$UNAME_MACHINE-unknown-stop - ;; - i*86:atheos:*:*) - GUESS=$UNAME_MACHINE-unknown-atheos - ;; - i*86:syllable:*:*) - GUESS=$UNAME_MACHINE-pc-syllable - ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - GUESS=i386-unknown-lynxos$UNAME_RELEASE - ;; - i*86:*DOS:*:*) - GUESS=$UNAME_MACHINE-pc-msdosdjgpp - ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL - fi - ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv32 - fi - ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - GUESS=i586-pc-msdosdjgpp - ;; - Intel:Mach:3*:*) - GUESS=i386-pc-mach3 - ;; - paragon:*:*:*) - GUESS=i860-intel-osf1 - ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 - fi - ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - GUESS=m68010-convergent-sysv - ;; - mc68k:UNIX:SYSTEM5:3.51m) - GUESS=m68k-convergent-sysv - ;; - M680?0:D-NIX:5.3:*) - GUESS=m68k-diab-dnix - ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - GUESS=m68k-unknown-lynxos$UNAME_RELEASE - ;; - mc68030:UNIX_System_V:4.*:*) - GUESS=m68k-atari-sysv4 - ;; - TSUNAMI:LynxOS:2.*:*) - GUESS=sparc-unknown-lynxos$UNAME_RELEASE - ;; - rs6000:LynxOS:2.*:*) - GUESS=rs6000-unknown-lynxos$UNAME_RELEASE - ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - GUESS=powerpc-unknown-lynxos$UNAME_RELEASE - ;; - SM[BE]S:UNIX_SV:*:*) - GUESS=mips-dde-sysv$UNAME_RELEASE - ;; - RM*:ReliantUNIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - RM*:SINIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - GUESS=$UNAME_MACHINE-sni-sysv4 - else - GUESS=ns32k-sni-sysv - fi - ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - GUESS=i586-unisys-sysv4 - ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - GUESS=hppa1.1-stratus-sysv4 - ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - GUESS=i860-stratus-sysv4 - ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=$UNAME_MACHINE-stratus-vos - ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=hppa1.1-stratus-vos - ;; - mc68*:A/UX:*:*) - GUESS=m68k-apple-aux$UNAME_RELEASE - ;; - news*:NEWS-OS:6*:*) - GUESS=mips-sony-newsos6 - ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if test -d /usr/nec; then - GUESS=mips-nec-sysv$UNAME_RELEASE - else - GUESS=mips-unknown-sysv$UNAME_RELEASE - fi - ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - GUESS=powerpc-be-beos - ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - GUESS=powerpc-apple-beos - ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - GUESS=i586-pc-beos - ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - GUESS=i586-pc-haiku - ;; - x86_64:Haiku:*:*) - GUESS=x86_64-unknown-haiku - ;; - SX-4:SUPER-UX:*:*) - GUESS=sx4-nec-superux$UNAME_RELEASE - ;; - SX-5:SUPER-UX:*:*) - GUESS=sx5-nec-superux$UNAME_RELEASE - ;; - SX-6:SUPER-UX:*:*) - GUESS=sx6-nec-superux$UNAME_RELEASE - ;; - SX-7:SUPER-UX:*:*) - GUESS=sx7-nec-superux$UNAME_RELEASE - ;; - SX-8:SUPER-UX:*:*) - GUESS=sx8-nec-superux$UNAME_RELEASE - ;; - SX-8R:SUPER-UX:*:*) - GUESS=sx8r-nec-superux$UNAME_RELEASE - ;; - SX-ACE:SUPER-UX:*:*) - GUESS=sxace-nec-superux$UNAME_RELEASE - ;; - Power*:Rhapsody:*:*) - GUESS=powerpc-apple-rhapsody$UNAME_RELEASE - ;; - *:Rhapsody:*:*) - GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE - ;; - arm64:Darwin:*:*) - GUESS=aarch64-apple-darwin$UNAME_RELEASE - ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build - fi - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE - fi - GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE - ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE - ;; - *:QNX:*:4*) - GUESS=i386-pc-qnx - ;; - NEO-*:NONSTOP_KERNEL:*:*) - GUESS=neo-tandem-nsk$UNAME_RELEASE - ;; - NSE-*:NONSTOP_KERNEL:*:*) - GUESS=nse-tandem-nsk$UNAME_RELEASE - ;; - NSR-*:NONSTOP_KERNEL:*:*) - GUESS=nsr-tandem-nsk$UNAME_RELEASE - ;; - NSV-*:NONSTOP_KERNEL:*:*) - GUESS=nsv-tandem-nsk$UNAME_RELEASE - ;; - NSX-*:NONSTOP_KERNEL:*:*) - GUESS=nsx-tandem-nsk$UNAME_RELEASE - ;; - *:NonStop-UX:*:*) - GUESS=mips-compaq-nonstopux - ;; - BS2000:POSIX*:*:*) - GUESS=bs2000-siemens-sysv - ;; - DS/*:UNIX_System_V:*:*) - GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE - ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "${cputype-}" = 386; then - UNAME_MACHINE=i386 - elif test "x${cputype-}" != x; then - UNAME_MACHINE=$cputype - fi - GUESS=$UNAME_MACHINE-unknown-plan9 - ;; - *:TOPS-10:*:*) - GUESS=pdp10-unknown-tops10 - ;; - *:TENEX:*:*) - GUESS=pdp10-unknown-tenex - ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - GUESS=pdp10-dec-tops20 - ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - GUESS=pdp10-xkl-tops20 - ;; - *:TOPS-20:*:*) - GUESS=pdp10-unknown-tops20 - ;; - *:ITS:*:*) - GUESS=pdp10-unknown-its - ;; - SEI:*:*:SEIUX) - GUESS=mips-sei-seiux$UNAME_RELEASE - ;; - *:DragonFly:*:*) - DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL - ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case $UNAME_MACHINE in - A*) GUESS=alpha-dec-vms ;; - I*) GUESS=ia64-dec-vms ;; - V*) GUESS=vax-dec-vms ;; - esac ;; - *:XENIX:*:SysV) - GUESS=i386-pc-xenix - ;; - i*86:skyos:*:*) - SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` - GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL - ;; - i*86:rdos:*:*) - GUESS=$UNAME_MACHINE-pc-rdos - ;; - i*86:Fiwix:*:*) - GUESS=$UNAME_MACHINE-pc-fiwix - ;; - *:AROS:*:*) - GUESS=$UNAME_MACHINE-unknown-aros - ;; - x86_64:VMkernel:*:*) - GUESS=$UNAME_MACHINE-unknown-esx - ;; - amd64:Isilon\ OneFS:*:*) - GUESS=x86_64-unknown-onefs - ;; - *:Unleashed:*:*) - GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE - ;; -esac - -# Do we have a guess based on uname results? -if test "x$GUESS" != x; then - echo "$GUESS" - exit -fi - -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" < -#include -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include -#if defined(_SIZE_T_) || defined(SIGLOST) -#include -#endif -#endif -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); -#endif - -#if defined (vax) -#if !defined (ultrix) -#include -#if defined (BSD) -#if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -#else -#if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#endif -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#else -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. -test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } - -echo "$0: unable to guess system type" >&2 - -case $UNAME_MACHINE:$UNAME_SYSTEM in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&2 <&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = "$UNAME_MACHINE" -UNAME_RELEASE = "$UNAME_RELEASE" -UNAME_SYSTEM = "$UNAME_SYSTEM" -UNAME_VERSION = "$UNAME_VERSION" -EOF -fi - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.sub b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.sub deleted file mode 100755 index 630b5d9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.sub +++ /dev/null @@ -1,1892 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2022 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2022-01-03' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2022 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Split fields of configuration type -# shellcheck disable=SC2162 -saved_IFS=$IFS -IFS="-" read field1 field2 field3 field4 <&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - basic_os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) - basic_machine=$field1 - basic_os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - basic_os=linux-android - ;; - *) - basic_machine=$field1-$field2 - basic_os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - basic_os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - basic_os=$field2 - ;; - zephyr*) - basic_machine=$field1-unknown - basic_os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - basic_os= - ;; - *) - basic_machine=$field1 - basic_os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - basic_os=bsd - ;; - a29khif) - basic_machine=a29k-amd - basic_os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - basic_os=scout - ;; - alliant) - basic_machine=fx80-alliant - basic_os= - ;; - altos | altos3068) - basic_machine=m68k-altos - basic_os= - ;; - am29k) - basic_machine=a29k-none - basic_os=bsd - ;; - amdahl) - basic_machine=580-amdahl - basic_os=sysv - ;; - amiga) - basic_machine=m68k-unknown - basic_os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - basic_os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - basic_os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - basic_os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - basic_os=bsd - ;; - aros) - basic_machine=i386-pc - basic_os=aros - ;; - aux) - basic_machine=m68k-apple - basic_os=aux - ;; - balance) - basic_machine=ns32k-sequent - basic_os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - basic_os=linux - ;; - cegcc) - basic_machine=arm-unknown - basic_os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - basic_os=bsd - ;; - convex-c2) - basic_machine=c2-convex - basic_os=bsd - ;; - convex-c32) - basic_machine=c32-convex - basic_os=bsd - ;; - convex-c34) - basic_machine=c34-convex - basic_os=bsd - ;; - convex-c38) - basic_machine=c38-convex - basic_os=bsd - ;; - cray) - basic_machine=j90-cray - basic_os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - basic_os= - ;; - da30) - basic_machine=m68k-da30 - basic_os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - basic_os= - ;; - delta88) - basic_machine=m88k-motorola - basic_os=sysv3 - ;; - dicos) - basic_machine=i686-pc - basic_os=dicos - ;; - djgpp) - basic_machine=i586-pc - basic_os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - basic_os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - basic_os=ose - ;; - gmicro) - basic_machine=tron-gmicro - basic_os=sysv - ;; - go32) - basic_machine=i386-pc - basic_os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - basic_os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - basic_os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - basic_os=hms - ;; - harris) - basic_machine=m88k-harris - basic_os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - basic_os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - basic_os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - basic_os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - basic_os=proelf - ;; - i386mach) - basic_machine=i386-mach - basic_os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - basic_os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - basic_os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - basic_os=sysv - ;; - merlin) - basic_machine=ns32k-utek - basic_os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - basic_os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - basic_os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - basic_os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - basic_os=coff - ;; - morphos) - basic_machine=powerpc-unknown - basic_os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - basic_os=moxiebox - ;; - msdos) - basic_machine=i386-pc - basic_os=msdos - ;; - msys) - basic_machine=i686-pc - basic_os=msys - ;; - mvs) - basic_machine=i370-ibm - basic_os=mvs - ;; - nacl) - basic_machine=le32-unknown - basic_os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - basic_os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - basic_os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - basic_os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - basic_os=newsos - ;; - news1000) - basic_machine=m68030-sony - basic_os=newsos - ;; - necv70) - basic_machine=v70-nec - basic_os=sysv - ;; - nh3000) - basic_machine=m68k-harris - basic_os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - basic_os=cxux - ;; - nindy960) - basic_machine=i960-intel - basic_os=nindy - ;; - mon960) - basic_machine=i960-intel - basic_os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - basic_os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - basic_os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - basic_os=ose - ;; - os68k) - basic_machine=m68k-none - basic_os=os68k - ;; - paragon) - basic_machine=i860-intel - basic_os=osf - ;; - parisc) - basic_machine=hppa-unknown - basic_os=linux - ;; - psp) - basic_machine=mipsallegrexel-sony - basic_os=psp - ;; - pw32) - basic_machine=i586-unknown - basic_os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - basic_os=rdos - ;; - rdos32) - basic_machine=i386-pc - basic_os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - basic_os=coff - ;; - sa29200) - basic_machine=a29k-amd - basic_os=udi - ;; - sei) - basic_machine=mips-sei - basic_os=seiux - ;; - sequent) - basic_machine=i386-sequent - basic_os= - ;; - sps7) - basic_machine=m68k-bull - basic_os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - basic_os= - ;; - stratus) - basic_machine=i860-stratus - basic_os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - basic_os= - ;; - sun2os3) - basic_machine=m68000-sun - basic_os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - basic_os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - basic_os= - ;; - sun3os3) - basic_machine=m68k-sun - basic_os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - basic_os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - basic_os= - ;; - sun4os3) - basic_machine=sparc-sun - basic_os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - basic_os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - basic_os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - basic_os= - ;; - sv1) - basic_machine=sv1-cray - basic_os=unicos - ;; - symmetry) - basic_machine=i386-sequent - basic_os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - basic_os=unicos - ;; - t90) - basic_machine=t90-cray - basic_os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - basic_os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - basic_os=tpf - ;; - udi29k) - basic_machine=a29k-amd - basic_os=udi - ;; - ultra3) - basic_machine=a29k-nyu - basic_os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - basic_os=none - ;; - vaxv) - basic_machine=vax-dec - basic_os=sysv - ;; - vms) - basic_machine=vax-dec - basic_os=vms - ;; - vsta) - basic_machine=i386-pc - basic_os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - basic_os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - basic_os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - basic_os=vxworks - ;; - xbox) - basic_machine=i686-pc - basic_os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - basic_os=unicos - ;; - *) - basic_machine=$1 - basic_os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # Here we handle the default manufacturer of certain CPU types. It is in - # some cases the only manufacturer, in others, it is the most popular. - w89k) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - basic_os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - basic_os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - basic_os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - basic_os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - basic_os=${basic_os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv32 - ;; - i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv4 - ;; - i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv - ;; - i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - basic_os=${basic_os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $basic_os in - irix*) - ;; - *) - basic_os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - basic_os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - basic_os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $basic_os in - openstep*) - ;; - nextstep*) - ;; - ns2*) - basic_os=nextstep2 - ;; - *) - basic_os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - basic_os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - basic_os=${basic_os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - basic_os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - basic_os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` - ;; - - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read cpu vendor <&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if test x$basic_os != x -then - -# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just -# set os. -case $basic_os in - gnu/linux*) - kernel=linux - os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` - ;; - os2-emx) - kernel=os2 - os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` - ;; - nto-qnx*) - kernel=nto - os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` - ;; - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read kernel os <&2 - exit 1 - ;; -esac - -# As a final step for OS-related things, validate the OS-kernel combination -# (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) - ;; - uclinux-uclibc* ) - ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) - # These are just libc implementations, not actual OSes, and thus - # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) - ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) - ;; - nto-qnx*) - ;; - os2-emx) - ;; - ios*-simulator | tvos*-simulator | watchos*-simulator) - ;; - *-eabi* | *-gnueabi*) - ;; - -*) - # Blank kernel with real OS is always fine. - ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 - exit 1 - ;; -esac - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) - case $cpu-$os in - *-riscix*) - vendor=acorn - ;; - *-sunos*) - vendor=sun - ;; - *-cnk* | *-aix*) - vendor=ibm - ;; - *-beos*) - vendor=be - ;; - *-hpux*) - vendor=hp - ;; - *-mpeix*) - vendor=hp - ;; - *-hiux*) - vendor=hitachi - ;; - *-unos*) - vendor=crds - ;; - *-dgux*) - vendor=dg - ;; - *-luna*) - vendor=omron - ;; - *-genix*) - vendor=ns - ;; - *-clix*) - vendor=intergraph - ;; - *-mvs* | *-opened*) - vendor=ibm - ;; - *-os400*) - vendor=ibm - ;; - s390-* | s390x-*) - vendor=ibm - ;; - *-ptx*) - vendor=sequent - ;; - *-tpf*) - vendor=ibm - ;; - *-vxsim* | *-vxworks* | *-windiss*) - vendor=wrs - ;; - *-aux*) - vendor=apple - ;; - *-hms*) - vendor=hitachi - ;; - *-mpw* | *-macos*) - vendor=apple - ;; - *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) - vendor=atari - ;; - *-vos*) - vendor=stratus - ;; - esac - ;; -esac - -echo "$cpu-$vendor-${kernel:+$kernel-}$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.ac b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.ac deleted file mode 100644 index 9a98343..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.ac +++ /dev/null @@ -1,451 +0,0 @@ -dnl Process this with autoconf to create configure - -AC_PREREQ([2.71]) - -AC_INIT([libffi],[3.4.4],[http://github.com/libffi/libffi/issues]) -AC_CONFIG_HEADERS([fficonfig.h]) - -AC_CANONICAL_TARGET -target_alias=${target_alias-$host_alias} - -case "${host}" in - frv*-elf) - LDFLAGS=`echo $LDFLAGS | sed "s/\-B[^ ]*libgloss\/frv\///"`\ -B`pwd`/../libgloss/frv/ - ;; -esac - -AX_ENABLE_BUILDDIR - -AM_INIT_AUTOMAKE - -# The same as in boehm-gc and libstdc++. Have to borrow it from there. -# We must force CC to /not/ be precious variables; otherwise -# the wrong, non-multilib-adjusted value will be used in multilibs. -# As a side effect, we have to subst CFLAGS ourselves. -# Also save and restore CFLAGS, since AC_PROG_CC will come up with -# defaults of its own if none are provided. - -m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) -m4_define([_AC_ARG_VAR_PRECIOUS],[]) -save_CFLAGS=$CFLAGS -AC_PROG_CC -AC_PROG_CXX -CFLAGS=$save_CFLAGS -m4_undefine([_AC_ARG_VAR_PRECIOUS]) -m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) - -AC_SUBST(CFLAGS) - -AM_PROG_AS -AM_PROG_CC_C_O -AC_PROG_EGREP -LT_INIT -AC_CONFIG_MACRO_DIR([m4]) - -AC_CHECK_TOOL(READELF, readelf) - -# Test for 64-bit build. -AC_CHECK_SIZEOF([size_t]) - -AX_COMPILER_VENDOR -AX_CC_MAXOPT -# The AX_CFLAGS_WARN_ALL macro doesn't currently work for sunpro -# compiler. -if test "$ax_cv_c_compiler_vendor" != "sun"; then - AX_CFLAGS_WARN_ALL -fi - -if test "x$GCC" = "xyes"; then - CFLAGS="$CFLAGS -fexceptions" -fi - -cat > local.exp < conftest.s - if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then - libffi_cv_as_x86_pcrel=yes - fi - ]) - if test "x$libffi_cv_as_x86_pcrel" = xyes; then - AC_DEFINE(HAVE_AS_X86_PCREL, 1, - [Define if your assembler supports PC relative relocs.]) - fi - ;; - - S390) - AC_CACHE_CHECK([compiler uses zarch features], - libffi_cv_as_s390_zarch, [ - libffi_cv_as_s390_zarch=no - echo 'void foo(void) { bar(); bar(); }' > conftest.c - if $CC $CFLAGS -S conftest.c > /dev/null 2>&1; then - if grep -q brasl conftest.s; then - libffi_cv_as_s390_zarch=yes - fi - fi - ]) - if test "x$libffi_cv_as_s390_zarch" = xyes; then - AC_DEFINE(HAVE_AS_S390_ZARCH, 1, - [Define if the compiler uses zarch features.]) - fi - ;; -esac - -AC_CACHE_CHECK([whether compiler supports pointer authentication], - libffi_cv_as_ptrauth, [ - libffi_cv_as_ptrauth=unknown - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ -#ifdef __clang__ -# if __has_feature(ptrauth_calls) -# define HAVE_PTRAUTH 1 -# endif -#endif - -#ifndef HAVE_PTRAUTH -# error Pointer authentication not supported -#endif - ]])],[libffi_cv_as_ptrauth=yes],[libffi_cv_as_ptrauth=no]) -]) -if test "x$libffi_cv_as_ptrauth" = xyes; then - AC_DEFINE(HAVE_PTRAUTH, 1, - [Define if your compiler supports pointer authentication.]) -fi - -# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC; -# if EMUTRAMP is active too ffi could try mapping without PROT_EXEC, -# but the kernel needs to recognize the trampoline generated by ffi. -# Otherwise fallback to double mmap trick. -AC_ARG_ENABLE(pax_emutramp, - [ --enable-pax_emutramp enable pax emulated trampolines (experimental)], - if test "$enable_pax_emutramp" = "yes"; then - AC_MSG_WARN([EMUTRAMP is experimental only. Use --enable-pax_emutramp=experimental to enforce.]) - elif test "$enable_pax_emutramp" = "experimental"; then - AC_DEFINE(FFI_MMAP_EXEC_EMUTRAMP_PAX, 1, - [Define this if you want to enable pax emulated trampolines (experimental)]) - fi) - -LT_SYS_SYMBOL_USCORE -if test "x$sys_symbol_underscore" = xyes; then - AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.]) -fi - -FFI_EXEC_TRAMPOLINE_TABLE=0 -case "$target" in - *arm*-apple-* | aarch64-apple-*) - FFI_EXEC_TRAMPOLINE_TABLE=1 - AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1, - [Cannot use PROT_EXEC on this target, so, we revert to - alternative means]) - ;; - *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris* | *-linux-android*) - AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1, - [Cannot use malloc on this target, so, we revert to - alternative means]) - ;; -esac -AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) -AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) - -if test x$TARGET = xX86_64; then - AC_CACHE_CHECK([toolchain supports unwind section type], - libffi_cv_as_x86_64_unwind_section_type, [ - cat > conftest1.s << EOF -.text -.globl foo -foo: -jmp bar -.section .eh_frame,"a",@unwind -bar: -EOF - - cat > conftest2.c << EOF -extern void foo(); -int main(){foo();} -EOF - - libffi_cv_as_x86_64_unwind_section_type=no - # we ensure that we can compile _and_ link an assembly file containing an @unwind section - # since the compiler can support it and not the linker (ie old binutils) - if $CC -Wa,--fatal-warnings $CFLAGS -c conftest1.s > /dev/null 2>&1 && \ - $CC conftest2.c conftest1.o > /dev/null 2>&1 ; then - libffi_cv_as_x86_64_unwind_section_type=yes - fi - ]) - if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then - AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1, - [Define if your assembler supports unwind section type.]) - fi -fi - -if test "x$GCC" = "xyes"; then - AX_CHECK_COMPILE_FLAG(-fno-lto, libffi_cv_no_lto=-fno-lto) - - AC_CACHE_CHECK([whether .eh_frame section should be read-only], - libffi_cv_ro_eh_frame, [ - libffi_cv_ro_eh_frame=yes - echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c - if $CC $CFLAGS -c -fpic -fexceptions $libffi_cv_no_lto -o conftest.o conftest.c > /dev/null 2>&1; then - if $READELF -WS conftest.o 2>/dev/null | grep -q -n 'eh_frame .* WA'; then - libffi_cv_ro_eh_frame=no - fi - fi - rm -f conftest.* - ]) - if test "x$libffi_cv_ro_eh_frame" = xyes; then - AC_DEFINE(HAVE_RO_EH_FRAME, 1, - [Define if .eh_frame sections should be read-only.]) - AC_DEFINE(EH_FRAME_FLAGS, "a", - [Define to the flags needed for the .section .eh_frame directive. ]) - else - AC_DEFINE(EH_FRAME_FLAGS, "aw", - [Define to the flags needed for the .section .eh_frame directive. ]) - fi - - AC_CACHE_CHECK([for __attribute__((visibility("hidden")))], - libffi_cv_hidden_visibility_attribute, [ - echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c - libffi_cv_hidden_visibility_attribute=no - if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then - if $EGREP '(\.hidden|\.private_extern).*foo' conftest.s >/dev/null; then - libffi_cv_hidden_visibility_attribute=yes - fi - fi - rm -f conftest.* - ]) - if test $libffi_cv_hidden_visibility_attribute = yes; then - AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1, - [Define if __attribute__((visibility("hidden"))) is supported.]) - fi -fi - -AC_ARG_ENABLE(docs, - AS_HELP_STRING([--disable-docs],[Disable building of docs (default: no)]), - [enable_docs=no], - [enable_docs=yes]) -AM_CONDITIONAL(BUILD_DOCS, [test x$enable_docs = xyes]) - -AH_BOTTOM([ -#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE -#ifdef LIBFFI_ASM -#ifdef __APPLE__ -#define FFI_HIDDEN(name) .private_extern name -#else -#define FFI_HIDDEN(name) .hidden name -#endif -#else -#define FFI_HIDDEN __attribute__ ((visibility ("hidden"))) -#endif -#else -#ifdef LIBFFI_ASM -#define FFI_HIDDEN(name) -#else -#define FFI_HIDDEN -#endif -#endif -]) - -AC_SUBST(TARGET) -AC_SUBST(TARGETDIR) - -changequote(<,>) -TARGET_OBJ= -for i in $SOURCES; do - TARGET_OBJ="${TARGET_OBJ} src/${TARGETDIR}/"`echo $i | sed 's/[cS]$/lo/'` -done -changequote([,]) -AC_SUBST(TARGET_OBJ) - -AC_SUBST(SHELL) - -AC_ARG_ENABLE(debug, -[ --enable-debug debugging mode], - if test "$enable_debug" = "yes"; then - AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.]) - fi) -AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes") - -AC_ARG_ENABLE(structs, -[ --disable-structs omit code for struct support], - if test "$enable_structs" = "no"; then - AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this if you do not want support for aggregate types.]) - fi) -AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes") - -AC_ARG_ENABLE(raw-api, -[ --disable-raw-api make the raw api unavailable], - if test "$enable_raw_api" = "no"; then - AC_DEFINE(FFI_NO_RAW_API, 1, [Define this if you do not want support for the raw API.]) - fi) - -AC_ARG_ENABLE(exec-static-tramp, -[ --disable-exec-static-tramp disable use of static exec trampolines (enabled by default)]) - -if test "$enable_exec_static_tramp" != no; then -case "$target" in - *-cygwin* | *-msys*) - # Only define static trampolines if we are using the cygwin runtime. - # Will this need to be changed for mingw? - if test "x$GCC" = "xyes"; then - AC_DEFINE(FFI_EXEC_STATIC_TRAMP, 1, - [Define this if you want statically defined trampolines]) - fi - ;; - *arm*-*-linux-* | aarch64*-*-linux-* | i*86-*-linux-* | x86_64-*-linux-* | loongarch*-*-linux-*) - AC_DEFINE(FFI_EXEC_STATIC_TRAMP, 1, - [Define this if you want statically defined trampolines]) - ;; -esac -fi - -AC_ARG_ENABLE(purify-safety, -[ --enable-purify-safety purify-safe mode], - if test "$enable_purify_safety" = "yes"; then - AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.]) - fi) - -AC_ARG_ENABLE(multi-os-directory, -[ --disable-multi-os-directory - disable use of gcc --print-multi-os-directory to change the library installation directory]) - -# These variables are only ever used when we cross-build to X86_WIN32. -# And we only support this with GCC, so... -if test "x$GCC" = "xyes"; then - if test -n "$with_cross_host" && - test x"$with_cross_host" != x"no"; then - toolexecdir='${exec_prefix}'/'$(target_alias)' - toolexeclibdir='${toolexecdir}'/lib - else - toolexecdir='${libdir}'/gcc-lib/'$(target_alias)' - toolexeclibdir='${libdir}' - fi - if test x"$enable_multi_os_directory" != x"no"; then - multi_os_directory=`$CC $CFLAGS -print-multi-os-directory` - case $multi_os_directory in - .) ;; # Avoid trailing /. - ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; - esac - fi - AC_SUBST(toolexecdir) -else - toolexeclibdir='${libdir}' -fi -AC_SUBST(toolexeclibdir) - -# Conditionalize the makefile for this target machine. -tmake_file_= -for f in ${tmake_file}; do - if test -f ${srcdir}/src/$TARGETDIR/$f; then - tmake_file_="${tmake_file_} \$(srcdir)/src/$TARGETDIR/$f" - fi -done -tmake_file="${tmake_file_}" -AC_SUBST(tmake_file) - -# Check linker support. -LIBFFI_ENABLE_SYMVERS - -AC_CONFIG_COMMANDS(include, [test -d include || mkdir include]) -AC_CONFIG_COMMANDS(src, [ -test -d src || mkdir src -test -d src/$TARGETDIR || mkdir src/$TARGETDIR -], [TARGETDIR="$TARGETDIR"]) - -AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile doc/Makefile libffi.pc) - -AC_OUTPUT - -# Copy this file instead of using AC_CONFIG_LINK in order to support -# compiling with MSVC, which won't understand cygwin style symlinks. -cp ${srcdir}/src/$TARGETDIR/ffitarget.h include/ffitarget.h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.host b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.host deleted file mode 100644 index b291bd0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.host +++ /dev/null @@ -1,337 +0,0 @@ -# configure.host -# -# This shell script handles all host based configuration for libffi. -# - -# THIS TABLE IS SORTED. KEEP IT THAT WAY. -# Most of the time we can define all the variables all at once... -case "${host}" in - aarch64*-*-cygwin* | aarch64*-*-msys* | aarch64*-*-mingw* | aarch64*-*-win* ) - TARGET=ARM_WIN64; TARGETDIR=aarch64 - if test "${ax_cv_c_compiler_vendor}" = "microsoft"; then - MSVC=1 - fi - ;; - - aarch64*-*-*) - TARGET=AARCH64; TARGETDIR=aarch64 - SOURCES="ffi.c sysv.S" - ;; - - alpha*-*-*) - TARGET=ALPHA; TARGETDIR=alpha; - # Support 128-bit long double, changeable via command-line switch. - HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)' - SOURCES="ffi.c osf.S" - ;; - - arc*-*-*) - TARGET=ARC; TARGETDIR=arc - SOURCES="ffi.c arcompact.S" - ;; - - arm*-*-cygwin* | arm*-*-msys* | arm*-*-mingw* | arm*-*-win* ) - TARGET=ARM_WIN32; TARGETDIR=arm - if test "${ax_cv_c_compiler_vendor}" = "microsoft"; then - MSVC=1 - fi - ;; - - arm*-*-*) - TARGET=ARM; TARGETDIR=arm - SOURCES="ffi.c sysv.S" - ;; - - avr32*-*-*) - TARGET=AVR32; TARGETDIR=avr32 - SOURCES="ffi.c sysv.S" - ;; - - bfin*) - TARGET=BFIN; TARGETDIR=bfin - SOURCES="ffi.c sysv.S" - ;; - - cris-*-*) - TARGET=LIBFFI_CRIS; TARGETDIR=cris - SOURCES="ffi.c sysv.S" - ;; - - csky-*-*) - TARGET=CSKY; TARGETDIR=csky - SOURCES="ffi.c sysv.S" - ;; - - frv-*-*) - TARGET=FRV; TARGETDIR=frv - SOURCES="ffi.c eabi.S" - ;; - - hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*) - TARGET=PA_LINUX; TARGETDIR=pa - SOURCES="ffi.c linux.S" - ;; - hppa*64-*-hpux*) - TARGET=PA64_HPUX; TARGETDIR=pa - SOURCES="ffi64.c hpux64.S" - ;; - hppa*-*-hpux*) - TARGET=PA_HPUX; TARGETDIR=pa - SOURCES="ffi.c hpux32.S" - ;; - - i?86-*-freebsd* | i?86-*-openbsd*) - TARGET=X86_FREEBSD; TARGETDIR=x86 - ;; - - i?86-*-cygwin* | i?86-*-msys* | i?86-*-mingw* | i?86-*-win* | i?86-*-os2* | i?86-*-interix* \ - | x86_64-*-cygwin* | x86_64-*-msys* | x86_64-*-mingw* | x86_64-*-win* ) - TARGETDIR=x86 - if test $ac_cv_sizeof_size_t = 4; then - TARGET=X86_WIN32 - else - TARGET=X86_WIN64 - fi - if test "${ax_cv_c_compiler_vendor}" = "microsoft"; then - MSVC=1 - fi - # All mingw/cygwin/win32 builds require -no-undefined for sharedlib. - # We must also check with_cross_host to decide if this is a native - # or cross-build and select where to install dlls appropriately. - if test -n "$with_cross_host" && - test x"$with_cross_host" != x"no"; then - AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"'; - else - AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"'; - fi - ;; - - i?86-*-darwin* | x86_64-*-darwin* | i?86-*-ios | x86_64-*-ios) - TARGETDIR=x86 - if test $ac_cv_sizeof_size_t = 4; then - TARGET=X86_DARWIN - else - TARGET=X86_64 - fi - ;; - - i?86-*-* | x86_64-*-* | amd64-*) - TARGETDIR=x86 - if test $ac_cv_sizeof_size_t = 4; then - echo 'int foo (void) { return __x86_64__; }' > conftest.c - if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then - TARGET_X32=yes - TARGET=X86_64 - else - TARGET=X86; - fi - rm -f conftest.* - else - TARGET=X86_64; - fi - ;; - - ia64*-*-*) - TARGET=IA64; TARGETDIR=ia64 - SOURCES="ffi.c unix.S" - ;; - - kvx-*-*) - TARGET=KVX; TARGETDIR=kvx - SOURCES="ffi.c sysv.S" - ;; - - loongarch64-*-*) - TARGET=LOONGARCH64; TARGETDIR=loongarch64 - SOURCES="ffi.c sysv.S" - ;; - - m32r*-*-*) - TARGET=M32R; TARGETDIR=m32r - SOURCES="ffi.c sysv.S" - ;; - - m68k-*-*) - TARGET=M68K; TARGETDIR=m68k - SOURCES="ffi.c sysv.S" - ;; - - m88k-*-*) - TARGET=M88K; TARGETDIR=m88k - SOURCES="ffi.c obsd.S" - ;; - - microblaze*-*-*) - TARGET=MICROBLAZE; TARGETDIR=microblaze - SOURCES="ffi.c sysv.S" - ;; - - moxie-*-*) - TARGET=MOXIE; TARGETDIR=moxie - SOURCES="ffi.c eabi.S" - ;; - - metag-*-*) - TARGET=METAG; TARGETDIR=metag - SOURCES="ffi.c sysv.S" - ;; - - mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*) - TARGET=MIPS; TARGETDIR=mips - ;; - mips*-*linux* | mips*-*-openbsd* | mips*-*-freebsd*) - # Support 128-bit long double for NewABI. - HAVE_LONG_DOUBLE='defined(__mips64)' - TARGET=MIPS; TARGETDIR=mips - ;; - - nios2*-linux*) - TARGET=NIOS2; TARGETDIR=nios2 - SOURCES="ffi.c sysv.S" - ;; - - or1k*-*-*) - TARGET=OR1K; TARGETDIR=or1k - SOURCES="ffi.c sysv.S" - ;; - - powerpc*-*-linux* | powerpc-*-sysv*) - TARGET=POWERPC; TARGETDIR=powerpc - HAVE_LONG_DOUBLE_VARIANT=1 - ;; - powerpc-*-amigaos*) - TARGET=POWERPC; TARGETDIR=powerpc - ;; - powerpc-*-eabi*) - TARGET=POWERPC; TARGETDIR=powerpc - ;; - powerpc-*-beos*) - TARGET=POWERPC; TARGETDIR=powerpc - ;; - powerpc-*-darwin* | powerpc64-*-darwin*) - TARGET=POWERPC_DARWIN; TARGETDIR=powerpc - ;; - powerpc-*-aix* | rs6000-*-aix*) - TARGET=POWERPC_AIX; TARGETDIR=powerpc - # Create AIX-style "FAT" libraries. - tmake_file="t-aix" - ;; - powerpc-*-freebsd* | powerpc-*-openbsd* | powerpc-*-netbsd*) - TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc - HAVE_LONG_DOUBLE_VARIANT=1 - ;; - powerpcspe-*-freebsd*) - TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc - CFLAGS="$CFLAGS -D__NO_FPRS__" - ;; - powerpc64-*-freebsd* | powerpc64le-*-freebsd*) - TARGET=POWERPC; TARGETDIR=powerpc - ;; - powerpc*-*-rtems*) - TARGET=POWERPC; TARGETDIR=powerpc - ;; - - riscv*-*) - TARGET=RISCV; TARGETDIR=riscv - SOURCES="ffi.c sysv.S" - ;; - - s390-*-* | s390x-*-*) - TARGET=S390; TARGETDIR=s390 - SOURCES="ffi.c sysv.S" - ;; - - sh-*-* | sh[34]*-*-*) - TARGET=SH; TARGETDIR=sh - SOURCES="ffi.c sysv.S" - ;; - sh64-*-* | sh5*-*-*) - TARGET=SH64; TARGETDIR=sh64 - SOURCES="ffi.c sysv.S" - ;; - - sparc*-*-*) - TARGET=SPARC; TARGETDIR=sparc - SOURCES="ffi.c ffi64.c v8.S v9.S" - ;; - - tile*-*) - TARGET=TILE; TARGETDIR=tile - SOURCES="ffi.c tile.S" - ;; - - vax-*-*) - TARGET=VAX; TARGETDIR=vax - SOURCES="ffi.c elfbsd.S" - ;; - - wasm32-*-*) - TARGET=wasm32; TARGETDIR=wasm32 - SOURCES="ffi.c" - ;; - - xtensa*-*) - TARGET=XTENSA; TARGETDIR=xtensa - SOURCES="ffi.c sysv.S" - ;; -esac - -# ... but some of the cases above share configury. -case "${TARGET}" in - ARM_WIN32) - if test "$MSVC" = 1; then - SOURCES="ffi.c sysv_msvc_arm32.S" - else - SOURCES="ffi.c sysv.S" - fi - ;; - ARM_WIN64) - if test "$MSVC" = 1; then - SOURCES="ffi.c win64_armasm.S" - else - SOURCES="ffi.c sysv.S" - fi - ;; - MIPS) - SOURCES="ffi.c o32.S n32.S" - ;; - POWERPC) - SOURCES="ffi.c ffi_sysv.c ffi_linux64.c sysv.S ppc_closure.S" - SOURCES="${SOURCES} linux64.S linux64_closure.S" - ;; - POWERPC_AIX) - SOURCES="ffi_darwin.c aix.S aix_closure.S" - ;; - POWERPC_DARWIN) - SOURCES="ffi_darwin.c darwin.S darwin_closure.S" - ;; - POWERPC_FREEBSD) - SOURCES="ffi.c ffi_sysv.c sysv.S ppc_closure.S" - ;; - X86 | X86_DARWIN | X86_FREEBSD | X86_WIN32) - if test "$MSVC" = 1; then - SOURCES="ffi.c sysv_intel.S" - else - SOURCES="ffi.c sysv.S" - fi - ;; - X86_64) - if test x"$TARGET_X32" = xyes; then - SOURCES="ffi64.c unix64.S" - else - SOURCES="ffi64.c unix64.S ffiw64.c win64.S" - fi - ;; - X86_WIN64) - if test "$MSVC" = 1; then - SOURCES="ffiw64.c win64_intel.S" - else - SOURCES="ffiw64.c win64.S" - fi - ;; -esac - -# If we failed to configure SOURCES, we can't do anything. -if test -z "${SOURCES}"; then - UNSUPPORTED=1 -fi diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.am b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.am deleted file mode 100644 index 43b650a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Process this with automake to create Makefile.in - -info_TEXINFOS = libffi.texi diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/libffi.texi b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/libffi.texi deleted file mode 100644 index 88daab5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/libffi.texi +++ /dev/null @@ -1,1046 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename libffi.info -@include version.texi -@settitle libffi: the portable foreign function interface library -@setchapternewpage off -@c %**end of header - -@c Merge the standard indexes into a single one. -@syncodeindex fn cp -@syncodeindex vr cp -@syncodeindex ky cp -@syncodeindex pg cp -@syncodeindex tp cp - -@copying - -This manual is for libffi, a portable foreign function interface -library. - -Copyright @copyright{} 2008--2019, 2021, 2022 Anthony Green and Red Hat, Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@end copying - -@dircategory Development -@direntry -* libffi: (libffi). Portable foreign function interface library. -@end direntry - -@titlepage -@title libffi: a foreign function interface library -@subtitle For Version @value{VERSION} of libffi -@author Anthony Green -@page -@vskip 0pt plus 1filll -@insertcopying -@end titlepage - - -@ifnottex -@node Top -@top libffi - -@insertcopying - -@menu -* Introduction:: What is libffi? -* Using libffi:: How to use libffi. -* Memory Usage:: Where memory for closures comes from. -* Missing Features:: Things libffi can't do. -* Index:: Index. -@end menu - -@end ifnottex - - -@node Introduction -@chapter What is libffi? - -Compilers for high level languages generate code that follow certain -conventions. These conventions are necessary, in part, for separate -compilation to work. One such convention is the @dfn{calling -convention}. The calling convention is a set of assumptions made by -the compiler about where function arguments will be found on entry to -a function. A calling convention also specifies where the return -value for a function is found. The calling convention is also -sometimes called the @dfn{ABI} or @dfn{Application Binary Interface}. -@cindex calling convention -@cindex ABI -@cindex Application Binary Interface - -Some programs may not know at the time of compilation what arguments -are to be passed to a function. For instance, an interpreter may be -told at run-time about the number and types of arguments used to call -a given function. @code{libffi} can be used in such programs to -provide a bridge from the interpreter program to compiled code. - -The @code{libffi} library provides a portable, high level programming -interface to various calling conventions. This allows a programmer to -call any function specified by a call interface description at run -time. - -@acronym{FFI} stands for Foreign Function Interface. A foreign -function interface is the popular name for the interface that allows -code written in one language to call code written in another language. -The @code{libffi} library really only provides the lowest, machine -dependent layer of a fully featured foreign function interface. A -layer must exist above @code{libffi} that handles type conversions for -values passed between the two languages. -@cindex FFI -@cindex Foreign Function Interface - - -@node Using libffi -@chapter Using libffi - -@menu -* The Basics:: The basic libffi API. -* Simple Example:: A simple example. -* Types:: libffi type descriptions. -* Multiple ABIs:: Different passing styles on one platform. -* The Closure API:: Writing a generic function. -* Closure Example:: A closure example. -* Thread Safety:: Thread safety. -@end menu - - -@node The Basics -@section The Basics - -@code{libffi} assumes that you have a pointer to the function you wish -to call and that you know the number and types of arguments to pass -it, as well as the return type of the function. - -The first thing you must do is create an @code{ffi_cif} object that -matches the signature of the function you wish to call. This is a -separate step because it is common to make multiple calls using a -single @code{ffi_cif}. The @dfn{cif} in @code{ffi_cif} stands for -Call InterFace. To prepare a call interface object, use the function -@code{ffi_prep_cif}. -@cindex cif - -@findex ffi_prep_cif -@defun ffi_status ffi_prep_cif (ffi_cif *@var{cif}, ffi_abi @var{abi}, unsigned int @var{nargs}, ffi_type *@var{rtype}, ffi_type **@var{argtypes}) -This initializes @var{cif} according to the given parameters. - -@var{abi} is the ABI to use; normally @code{FFI_DEFAULT_ABI} is what -you want. @ref{Multiple ABIs} for more information. - -@var{nargs} is the number of arguments that this function accepts. - -@var{rtype} is a pointer to an @code{ffi_type} structure that -describes the return type of the function. @xref{Types}. - -@var{argtypes} is a vector of @code{ffi_type} pointers. -@var{argtypes} must have @var{nargs} elements. If @var{nargs} is 0, -this argument is ignored. - -@code{ffi_prep_cif} returns a @code{libffi} status code, of type -@code{ffi_status}. This will be either @code{FFI_OK} if everything -worked properly; @code{FFI_BAD_TYPEDEF} if one of the @code{ffi_type} -objects is incorrect; or @code{FFI_BAD_ABI} if the @var{abi} parameter -is invalid. -@end defun - -If the function being called is variadic (varargs) then -@code{ffi_prep_cif_var} must be used instead of @code{ffi_prep_cif}. - -@findex ffi_prep_cif_var -@defun ffi_status ffi_prep_cif_var (ffi_cif *@var{cif}, ffi_abi @var{abi}, unsigned int @var{nfixedargs}, unsigned int @var{ntotalargs}, ffi_type *@var{rtype}, ffi_type **@var{argtypes}) -This initializes @var{cif} according to the given parameters for -a call to a variadic function. In general its operation is the -same as for @code{ffi_prep_cif} except that: - -@var{nfixedargs} is the number of fixed arguments, prior to any -variadic arguments. It must be greater than zero. - -@var{ntotalargs} the total number of arguments, including variadic -and fixed arguments. @var{argtypes} must have this many elements. - -@code{ffi_prep_cif_var} will return @code{FFI_BAD_ARGTYPE} if any of -the variable argument types are @code{ffi_type_float} (promote to -@code{ffi_type_double} first), or any integer type small than an int -(promote to an int-sized type first). - -Note that, different cif's must be prepped for calls to the same -function when different numbers of arguments are passed. - -Also note that a call to @code{ffi_prep_cif_var} with -@var{nfixedargs}=@var{nototalargs} is NOT equivalent to a call to -@code{ffi_prep_cif}. - -@end defun - -Note that the resulting @code{ffi_cif} holds pointers to all the -@code{ffi_type} objects that were used during initialization. You -must ensure that these type objects have a lifetime at least as long -as that of the @code{ffi_cif}. - -To call a function using an initialized @code{ffi_cif}, use the -@code{ffi_call} function: - -@findex ffi_call -@defun void ffi_call (ffi_cif *@var{cif}, void *@var{fn}, void *@var{rvalue}, void **@var{avalues}) -This calls the function @var{fn} according to the description given in -@var{cif}. @var{cif} must have already been prepared using -@code{ffi_prep_cif}. - -@var{rvalue} is a pointer to a chunk of memory that will hold the -result of the function call. This must be large enough to hold the -result, no smaller than the system register size (generally 32 or 64 -bits), and must be suitably aligned; it is the caller's responsibility -to ensure this. If @var{cif} declares that the function returns -@code{void} (using @code{ffi_type_void}), then @var{rvalue} is -ignored. - -In most situations, @code{libffi} will handle promotion according to -the ABI. However, for historical reasons, there is a special case -with return values that must be handled by your code. In particular, -for integral (not @code{struct}) types that are narrower than the -system register size, the return value will be widened by -@code{libffi}. @code{libffi} provides a type, @code{ffi_arg}, that -can be used as the return type. For example, if the CIF was defined -with a return type of @code{char}, @code{libffi} will try to store a -full @code{ffi_arg} into the return value. - -@var{avalues} is a vector of @code{void *} pointers that point to the -memory locations holding the argument values for a call. If @var{cif} -declares that the function has no arguments (i.e., @var{nargs} was 0), -then @var{avalues} is ignored. - -Note that while the return value must be register-sized, arguments -should exactly match their declared type. For example, if an argument -is a @code{short}, then the entry in @var{avalues} should point to an -object declared as @code{short}; but if the return type is -@code{short}, then @var{rvalue} should point to an object declared as -a larger type -- usually @code{ffi_arg}. -@end defun - - -@node Simple Example -@section Simple Example - -Here is a trivial example that calls @code{puts} a few times. - -@example -#include -#include - -int main() -@{ - ffi_cif cif; - ffi_type *args[1]; - void *values[1]; - char *s; - ffi_arg rc; - - /* Initialize the argument info vectors */ - args[0] = &ffi_type_pointer; - values[0] = &s; - - /* Initialize the cif */ - if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_sint, args) == FFI_OK) - @{ - s = "Hello World!"; - ffi_call(&cif, puts, &rc, values); - /* rc now holds the result of the call to puts */ - - /* values holds a pointer to the function's arg, so to - call puts() again all we need to do is change the - value of s */ - s = "This is cool!"; - ffi_call(&cif, puts, &rc, values); - @} - - return 0; -@} -@end example - - -@node Types -@section Types - -@menu -* Primitive Types:: Built-in types. -* Structures:: Structure types. -* Size and Alignment:: Size and alignment of types. -* Arrays Unions Enums:: Arrays, unions, and enumerations. -* Type Example:: Structure type example. -* Complex:: Complex types. -* Complex Type Example:: Complex type example. -@end menu - -@node Primitive Types -@subsection Primitive Types - -@code{Libffi} provides a number of built-in type descriptors that can -be used to describe argument and return types: - -@table @code -@item ffi_type_void -@tindex ffi_type_void -The type @code{void}. This cannot be used for argument types, only -for return values. - -@item ffi_type_uint8 -@tindex ffi_type_uint8 -An unsigned, 8-bit integer type. - -@item ffi_type_sint8 -@tindex ffi_type_sint8 -A signed, 8-bit integer type. - -@item ffi_type_uint16 -@tindex ffi_type_uint16 -An unsigned, 16-bit integer type. - -@item ffi_type_sint16 -@tindex ffi_type_sint16 -A signed, 16-bit integer type. - -@item ffi_type_uint32 -@tindex ffi_type_uint32 -An unsigned, 32-bit integer type. - -@item ffi_type_sint32 -@tindex ffi_type_sint32 -A signed, 32-bit integer type. - -@item ffi_type_uint64 -@tindex ffi_type_uint64 -An unsigned, 64-bit integer type. - -@item ffi_type_sint64 -@tindex ffi_type_sint64 -A signed, 64-bit integer type. - -@item ffi_type_float -@tindex ffi_type_float -The C @code{float} type. - -@item ffi_type_double -@tindex ffi_type_double -The C @code{double} type. - -@item ffi_type_uchar -@tindex ffi_type_uchar -The C @code{unsigned char} type. - -@item ffi_type_schar -@tindex ffi_type_schar -The C @code{signed char} type. (Note that there is not an exact -equivalent to the C @code{char} type in @code{libffi}; ordinarily you -should either use @code{ffi_type_schar} or @code{ffi_type_uchar} -depending on whether @code{char} is signed.) - -@item ffi_type_ushort -@tindex ffi_type_ushort -The C @code{unsigned short} type. - -@item ffi_type_sshort -@tindex ffi_type_sshort -The C @code{short} type. - -@item ffi_type_uint -@tindex ffi_type_uint -The C @code{unsigned int} type. - -@item ffi_type_sint -@tindex ffi_type_sint -The C @code{int} type. - -@item ffi_type_ulong -@tindex ffi_type_ulong -The C @code{unsigned long} type. - -@item ffi_type_slong -@tindex ffi_type_slong -The C @code{long} type. - -@item ffi_type_longdouble -@tindex ffi_type_longdouble -On platforms that have a C @code{long double} type, this is defined. -On other platforms, it is not. - -@item ffi_type_pointer -@tindex ffi_type_pointer -A generic @code{void *} pointer. You should use this for all -pointers, regardless of their real type. - -@item ffi_type_complex_float -@tindex ffi_type_complex_float -The C @code{_Complex float} type. - -@item ffi_type_complex_double -@tindex ffi_type_complex_double -The C @code{_Complex double} type. - -@item ffi_type_complex_longdouble -@tindex ffi_type_complex_longdouble -The C @code{_Complex long double} type. -On platforms that have a C @code{long double} type, this is defined. -On other platforms, it is not. -@end table - -Each of these is of type @code{ffi_type}, so you must take the address -when passing to @code{ffi_prep_cif}. - - -@node Structures -@subsection Structures - -@code{libffi} is perfectly happy passing structures back and forth. -You must first describe the structure to @code{libffi} by creating a -new @code{ffi_type} object for it. - -@tindex ffi_type -@deftp {Data type} ffi_type -The @code{ffi_type} has the following members: -@table @code -@item size_t size -This is set by @code{libffi}; you should initialize it to zero. - -@item unsigned short alignment -This is set by @code{libffi}; you should initialize it to zero. - -@item unsigned short type -For a structure, this should be set to @code{FFI_TYPE_STRUCT}. - -@item ffi_type **elements -This is a @samp{NULL}-terminated array of pointers to @code{ffi_type} -objects. There is one element per field of the struct. - -Note that @code{libffi} has no special support for bit-fields. You -must manage these manually. -@end table -@end deftp - -The @code{size} and @code{alignment} fields will be filled in by -@code{ffi_prep_cif} or @code{ffi_prep_cif_var}, as needed. - -@node Size and Alignment -@subsection Size and Alignment - -@code{libffi} will set the @code{size} and @code{alignment} fields of -an @code{ffi_type} object for you. It does so using its knowledge of -the ABI. - -You might expect that you can simply read these fields for a type that -has been laid out by @code{libffi}. However, there are some caveats. - -@itemize @bullet -@item -The size or alignment of some of the built-in types may vary depending -on the chosen ABI. - -@item -The size and alignment of a new structure type will not be set by -@code{libffi} until it has been passed to @code{ffi_prep_cif} or -@code{ffi_get_struct_offsets}. - -@item -A structure type cannot be shared across ABIs. Instead each ABI needs -its own copy of the structure type. -@end itemize - -So, before examining these fields, it is safest to pass the -@code{ffi_type} object to @code{ffi_prep_cif} or -@code{ffi_get_struct_offsets} first. This function will do all the -needed setup. - -@example -ffi_type *desired_type; -ffi_abi desired_abi; -@dots{} -ffi_cif cif; -if (ffi_prep_cif (&cif, desired_abi, 0, desired_type, NULL) == FFI_OK) - @{ - size_t size = desired_type->size; - unsigned short alignment = desired_type->alignment; - @} -@end example - -@code{libffi} also provides a way to get the offsets of the members of -a structure. - -@findex ffi_get_struct_offsets -@defun ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, size_t *offsets) -Compute the offset of each element of the given structure type. -@var{abi} is the ABI to use; this is needed because in some cases the -layout depends on the ABI. - -@var{offsets} is an out parameter. The caller is responsible for -providing enough space for all the results to be written -- one -element per element type in @var{struct_type}. If @var{offsets} is -@code{NULL}, then the type will be laid out but not otherwise -modified. This can be useful for accessing the type's size or layout, -as mentioned above. - -This function returns @code{FFI_OK} on success; @code{FFI_BAD_ABI} if -@var{abi} is invalid; or @code{FFI_BAD_TYPEDEF} if @var{struct_type} -is invalid in some way. Note that only @code{FFI_STRUCT} types are -valid here. -@end defun - -@node Arrays Unions Enums -@subsection Arrays, Unions, and Enumerations - -@subsubsection Arrays - -@code{libffi} does not have direct support for arrays or unions. -However, they can be emulated using structures. - -To emulate an array, simply create an @code{ffi_type} using -@code{FFI_TYPE_STRUCT} with as many members as there are elements in -the array. - -@example -ffi_type array_type; -ffi_type **elements -int i; - -elements = malloc ((n + 1) * sizeof (ffi_type *)); -for (i = 0; i < n; ++i) - elements[i] = array_element_type; -elements[n] = NULL; - -array_type.size = array_type.alignment = 0; -array_type.type = FFI_TYPE_STRUCT; -array_type.elements = elements; -@end example - -Note that arrays cannot be passed or returned by value in C -- -structure types created like this should only be used to refer to -members of real @code{FFI_TYPE_STRUCT} objects. - -However, a phony array type like this will not cause any errors from -@code{libffi} if you use it as an argument or return type. This may -be confusing. - -@subsubsection Unions - -A union can also be emulated using @code{FFI_TYPE_STRUCT}. In this -case, however, you must make sure that the size and alignment match -the real requirements of the union. - -One simple way to do this is to ensue that each element type is laid -out. Then, give the new structure type a single element; the size of -the largest element; and the largest alignment seen as well. - -This example uses the @code{ffi_prep_cif} trick to ensure that each -element type is laid out. - -@example -ffi_abi desired_abi; -ffi_type union_type; -ffi_type **union_elements; - -int i; -ffi_type element_types[2]; - -element_types[1] = NULL; - -union_type.size = union_type.alignment = 0; -union_type.type = FFI_TYPE_STRUCT; -union_type.elements = element_types; - -for (i = 0; union_elements[i]; ++i) - @{ - ffi_cif cif; - if (ffi_prep_cif (&cif, desired_abi, 0, union_elements[i], NULL) == FFI_OK) - @{ - if (union_elements[i]->size > union_type.size) - @{ - union_type.size = union_elements[i]; - size = union_elements[i]->size; - @} - if (union_elements[i]->alignment > union_type.alignment) - union_type.alignment = union_elements[i]->alignment; - @} - @} -@end example - -@subsubsection Enumerations - -@code{libffi} does not have any special support for C @code{enum}s. -Although any given @code{enum} is implemented using a specific -underlying integral type, exactly which type will be used cannot be -determined by @code{libffi} -- it may depend on the values in the -enumeration or on compiler flags such as @option{-fshort-enums}. -@xref{Structures unions enumerations and bit-fields implementation, , , gcc}, -for more information about how GCC handles enumerations. - -@node Type Example -@subsection Type Example - -The following example initializes a @code{ffi_type} object -representing the @code{tm} struct from Linux's @file{time.h}. - -Here is how the struct is defined: - -@example -struct tm @{ - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; - /* Those are for future use. */ - long int __tm_gmtoff__; - __const char *__tm_zone__; -@}; -@end example - -Here is the corresponding code to describe this struct to -@code{libffi}: - -@example - @{ - ffi_type tm_type; - ffi_type *tm_type_elements[12]; - int i; - - tm_type.size = tm_type.alignment = 0; - tm_type.type = FFI_TYPE_STRUCT; - tm_type.elements = &tm_type_elements; - - for (i = 0; i < 9; i++) - tm_type_elements[i] = &ffi_type_sint; - - tm_type_elements[9] = &ffi_type_slong; - tm_type_elements[10] = &ffi_type_pointer; - tm_type_elements[11] = NULL; - - /* tm_type can now be used to represent tm argument types and - return types for ffi_prep_cif() */ - @} -@end example - -@node Complex -@subsection Complex Types - -@code{libffi} supports the complex types defined by the C99 -standard (@code{_Complex float}, @code{_Complex double} and -@code{_Complex long double} with the built-in type descriptors -@code{ffi_type_complex_float}, @code{ffi_type_complex_double} and -@code{ffi_type_complex_longdouble}. - -Custom complex types like @code{_Complex int} can also be used. -An @code{ffi_type} object has to be defined to describe the -complex type to @code{libffi}. - -@tindex ffi_type -@deftp {Data type} ffi_type -@table @code -@item size_t size -This must be manually set to the size of the complex type. - -@item unsigned short alignment -This must be manually set to the alignment of the complex type. - -@item unsigned short type -For a complex type, this must be set to @code{FFI_TYPE_COMPLEX}. - -@item ffi_type **elements - -This is a @samp{NULL}-terminated array of pointers to -@code{ffi_type} objects. The first element is set to the -@code{ffi_type} of the complex's base type. The second element -must be set to @code{NULL}. -@end table -@end deftp - -The section @ref{Complex Type Example} shows a way to determine -the @code{size} and @code{alignment} members in a platform -independent way. - -For platforms that have no complex support in @code{libffi} yet, -the functions @code{ffi_prep_cif} and @code{ffi_prep_args} abort -the program if they encounter a complex type. - -@node Complex Type Example -@subsection Complex Type Example - -This example demonstrates how to use complex types: - -@example -#include -#include -#include - -void complex_fn(_Complex float cf, - _Complex double cd, - _Complex long double cld) -@{ - printf("cf=%f+%fi\ncd=%f+%fi\ncld=%f+%fi\n", - (float)creal (cf), (float)cimag (cf), - (float)creal (cd), (float)cimag (cd), - (float)creal (cld), (float)cimag (cld)); -@} - -int main() -@{ - ffi_cif cif; - ffi_type *args[3]; - void *values[3]; - _Complex float cf; - _Complex double cd; - _Complex long double cld; - - /* Initialize the argument info vectors */ - args[0] = &ffi_type_complex_float; - args[1] = &ffi_type_complex_double; - args[2] = &ffi_type_complex_longdouble; - values[0] = &cf; - values[1] = &cd; - values[2] = &cld; - - /* Initialize the cif */ - if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_void, args) == FFI_OK) - @{ - cf = 1.0 + 20.0 * I; - cd = 300.0 + 4000.0 * I; - cld = 50000.0 + 600000.0 * I; - /* Call the function */ - ffi_call(&cif, (void (*)(void))complex_fn, 0, values); - @} - - return 0; -@} -@end example - -This is an example for defining a custom complex type descriptor -for compilers that support them: - -@example -/* - * This macro can be used to define new complex type descriptors - * in a platform independent way. - * - * name: Name of the new descriptor is ffi_type_complex_. - * type: The C base type of the complex type. - */ -#define FFI_COMPLEX_TYPEDEF(name, type, ffitype) \ - static ffi_type *ffi_elements_complex_##name [2] = @{ \ - (ffi_type *)(&ffitype), NULL \ - @}; \ - struct struct_align_complex_##name @{ \ - char c; \ - _Complex type x; \ - @}; \ - ffi_type ffi_type_complex_##name = @{ \ - sizeof(_Complex type), \ - offsetof(struct struct_align_complex_##name, x), \ - FFI_TYPE_COMPLEX, \ - (ffi_type **)ffi_elements_complex_##name \ - @} - -/* Define new complex type descriptors using the macro: */ -/* ffi_type_complex_sint */ -FFI_COMPLEX_TYPEDEF(sint, int, ffi_type_sint); -/* ffi_type_complex_uchar */ -FFI_COMPLEX_TYPEDEF(uchar, unsigned char, ffi_type_uint8); -@end example - -The new type descriptors can then be used like one of the built-in -type descriptors in the previous example. - -@node Multiple ABIs -@section Multiple ABIs - -A given platform may provide multiple different ABIs at once. For -instance, the x86 platform has both @samp{stdcall} and @samp{fastcall} -functions. - -@code{libffi} provides some support for this. However, this is -necessarily platform-specific. - -@c FIXME: document the platforms - -@node The Closure API -@section The Closure API - -@code{libffi} also provides a way to write a generic function -- a -function that can accept and decode any combination of arguments. -This can be useful when writing an interpreter, or to provide wrappers -for arbitrary functions. - -This facility is called the @dfn{closure API}. Closures are not -supported on all platforms; you can check the @code{FFI_CLOSURES} -define to determine whether they are supported on the current -platform. -@cindex closures -@cindex closure API -@findex FFI_CLOSURES - -Because closures work by assembling a tiny function at runtime, they -require special allocation on platforms that have a non-executable -heap. Memory management for closures is handled by a pair of -functions: - -@findex ffi_closure_alloc -@defun void *ffi_closure_alloc (size_t @var{size}, void **@var{code}) -Allocate a chunk of memory holding @var{size} bytes. This returns a -pointer to the writable address, and sets *@var{code} to the -corresponding executable address. - -@var{size} should be sufficient to hold a @code{ffi_closure} object. -@end defun - -@findex ffi_closure_free -@defun void ffi_closure_free (void *@var{writable}) -Free memory allocated using @code{ffi_closure_alloc}. The argument is -the writable address that was returned. -@end defun - -Once you have allocated the memory for a closure, you must construct a -@code{ffi_cif} describing the function call. Finally you can prepare -the closure function: - -@findex ffi_prep_closure_loc -@defun ffi_status ffi_prep_closure_loc (ffi_closure *@var{closure}, ffi_cif *@var{cif}, void (*@var{fun}) (ffi_cif *@var{cif}, void *@var{ret}, void **@var{args}, void *@var{user_data}), void *@var{user_data}, void *@var{codeloc}) -Prepare a closure function. The arguments to -@code{ffi_prep_closure_loc} are: - -@table @var -@item closure -The address of a @code{ffi_closure} object; this is the writable -address returned by @code{ffi_closure_alloc}. - -@item cif -The @code{ffi_cif} describing the function parameters. Note that this -object, and the types to which it refers, must be kept alive until the -closure itself is freed. - -@item user_data -An arbitrary datum that is passed, uninterpreted, to your closure -function. - -@item codeloc -The executable address returned by @code{ffi_closure_alloc}. - -@item fun -The function which will be called when the closure is invoked. It is -called with the arguments: - -@table @var -@item cif -The @code{ffi_cif} passed to @code{ffi_prep_closure_loc}. - -@item ret -A pointer to the memory used for the function's return value. - -If the function is declared as returning @code{void}, then this value -is garbage and should not be used. - -Otherwise, @var{fun} must fill the object to which this points, -following the same special promotion behavior as @code{ffi_call}. -That is, in most cases, @var{ret} points to an object of exactly the -size of the type specified when @var{cif} was constructed. However, -integral types narrower than the system register size are widened. In -these cases your program may assume that @var{ret} points to an -@code{ffi_arg} object. - -@item args -A vector of pointers to memory holding the arguments to the function. - -@item user_data -The same @var{user_data} that was passed to -@code{ffi_prep_closure_loc}. -@end table -@end table - -@code{ffi_prep_closure_loc} will return @code{FFI_OK} if everything -went ok, and one of the other @code{ffi_status} values on error. - -After calling @code{ffi_prep_closure_loc}, you can cast @var{codeloc} -to the appropriate pointer-to-function type. -@end defun - -You may see old code referring to @code{ffi_prep_closure}. This -function is deprecated, as it cannot handle the need for separate -writable and executable addresses. - -@node Closure Example -@section Closure Example - -A trivial example that creates a new @code{puts} by binding -@code{fputs} with @code{stdout}. - -@example -#include -#include - -/* Acts like puts with the file given at time of enclosure. */ -void puts_binding(ffi_cif *cif, void *ret, void* args[], - void *stream) -@{ - *(ffi_arg *)ret = fputs(*(char **)args[0], (FILE *)stream); -@} - -typedef int (*puts_t)(char *); - -int main() -@{ - ffi_cif cif; - ffi_type *args[1]; - ffi_closure *closure; - - void *bound_puts; - int rc; - - /* Allocate closure and bound_puts */ - closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts); - - if (closure) - @{ - /* Initialize the argument info vectors */ - args[0] = &ffi_type_pointer; - - /* Initialize the cif */ - if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_sint, args) == FFI_OK) - @{ - /* Initialize the closure, setting stream to stdout */ - if (ffi_prep_closure_loc(closure, &cif, puts_binding, - stdout, bound_puts) == FFI_OK) - @{ - rc = ((puts_t)bound_puts)("Hello World!"); - /* rc now holds the result of the call to fputs */ - @} - @} - @} - - /* Deallocate both closure, and bound_puts */ - ffi_closure_free(closure); - - return 0; -@} - -@end example - -@node Thread Safety -@section Thread Safety - -@code{libffi} is not completely thread-safe. However, many parts are, -and if you follow some simple rules, you can use it safely in a -multi-threaded program. - -@itemize @bullet -@item -@code{ffi_prep_cif} may modify the @code{ffi_type} objects passed to -it. It is best to ensure that only a single thread prepares a given -@code{ffi_cif} at a time. - -@item -On some platforms, @code{ffi_prep_cif} may modify the size and -alignment of some types, depending on the chosen ABI. On these -platforms, if you switch between ABIs, you must ensure that there is -only one call to @code{ffi_prep_cif} at a time. - -Currently the only affected platform is PowerPC and the only affected -type is @code{long double}. -@end itemize - -@node Memory Usage -@chapter Memory Usage - -Note that memory allocated by @code{ffi_closure_alloc} and freed by -@code{ffi_closure_free} does not come from the same general pool of -memory that @code{malloc} and @code{free} use. To accomodate security -settings, @code{libffi} may aquire memory, for example, by mapping -temporary files into multiple places in the address space (once to -write out the closure, a second to execute it). The search follows -this list, using the first that works: - -@itemize @bullet - -@item -A anonymous mapping (i.e. not file-backed) - -@item -@code{memfd_create()}, if the kernel supports it. - -@item -A file created in the directory referenced by the environment variable -@code{LIBFFI_TMPDIR}. - -@item -Likewise for the environment variable @code{TMPDIR}. - -@item -A file created in @code{/tmp}. - -@item -A file created in @code{/var/tmp}. - -@item -A file created in @code{/dev/shm}. - -@item -A file created in the user's home directory (@code{$HOME}). - -@item -A file created in any directory listed in @code{/etc/mtab}. - -@item -A file created in any directory listed in @code{/proc/mounts}. - -@end itemize - -If security settings prohibit using any of these for closures, -@code{ffi_closure_alloc} will fail. - -@node Missing Features -@chapter Missing Features - -@code{libffi} is missing a few features. We welcome patches to add -support for these. - -@itemize @bullet -@item -Variadic closures. - -@item -There is no support for bit fields in structures. - -@item -The ``raw'' API is undocumented. -@c anything else? - -@item -The Go API is undocumented. -@end itemize - -@node Index -@unnumbered Index - -@printindex cp - -@bye diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/version.texi b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/version.texi deleted file mode 100644 index 6056fad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/version.texi +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 23 October 2022 -@set UPDATED-MONTH October 2022 -@set EDITION 3.4.4 -@set VERSION 3.4.4 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/generate-darwin-source-and-headers.py b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/generate-darwin-source-and-headers.py deleted file mode 100755 index c801dc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +++ /dev/null @@ -1,312 +0,0 @@ -#!/usr/bin/env python -import subprocess -import os -import errno -import collections -import glob -import argparse - - -class Platform(object): - pass - - -class i386_platform(Platform): - arch = 'i386' - - prefix = "#ifdef __i386__\n\n" - suffix = "\n\n#endif" - src_dir = 'x86' - src_files = ['sysv.S', 'ffi.c', 'internal.h'] - - -class x86_64_platform(Platform): - arch = 'x86_64' - - prefix = "#ifdef __x86_64__\n\n" - suffix = "\n\n#endif" - src_dir = 'x86' - src_files = ['unix64.S', 'ffi64.c', 'ffiw64.c', 'win64.S', 'internal64.h', 'asmnames.h'] - - -class arm64_platform(Platform): - arch = 'arm64' - - prefix = "#ifdef __arm64__\n\n" - suffix = "\n\n#endif" - src_dir = 'aarch64' - src_files = ['sysv.S', 'ffi.c', 'internal.h'] - - -class armv7_platform(Platform): - arch = 'armv7' - - prefix = "#ifdef __arm__\n\n" - suffix = "\n\n#endif" - src_dir = 'arm' - src_files = ['sysv.S', 'ffi.c', 'internal.h'] - - -class ios_simulator_i386_platform(i386_platform): - target = 'i386-apple-ios-simulator' - directory = 'darwin_ios' - sdk = 'iphonesimulator' - version_min = '-miphoneos-version-min=7.0' - - -class ios_simulator_x86_64_platform(x86_64_platform): - target = 'x86_64-apple-ios-simulator' - directory = 'darwin_ios' - sdk = 'iphonesimulator' - version_min = '-miphoneos-version-min=7.0' - - -class ios_simulator_arm64_platform(arm64_platform): - target = 'arm64-apple-ios-simulator' - directory = 'darwin_ios' - sdk = 'iphonesimulator' - version_min = '-miphoneos-version-min=7.0' - - -class ios_device_armv7_platform(armv7_platform): - target = 'armv7-apple-ios' - directory = 'darwin_ios' - sdk = 'iphoneos' - version_min = '-miphoneos-version-min=7.0' - - -class ios_device_arm64_platform(arm64_platform): - target = 'arm64-apple-ios' - directory = 'darwin_ios' - sdk = 'iphoneos' - version_min = '-miphoneos-version-min=7.0' - - -class desktop_x86_64_platform(x86_64_platform): - target = 'x86_64-apple-macos' - directory = 'darwin_osx' - sdk = 'macosx' - version_min = '-mmacosx-version-min=10.6' - - -class desktop_arm64_platform(arm64_platform): - target = 'arm64-apple-macos' - directory = 'darwin_osx' - sdk = 'macosx' - version_min = '-mmacosx-version-min=11.0' - - -class tvos_simulator_x86_64_platform(x86_64_platform): - target = 'x86_64-apple-tvos-simulator' - directory = 'darwin_tvos' - sdk = 'appletvsimulator' - version_min = '-mtvos-version-min=9.0' - - -class tvos_simulator_arm64_platform(arm64_platform): - target = 'arm64-apple-tvos-simulator' - directory = 'darwin_tvos' - sdk = 'appletvsimulator' - version_min = '-mtvos-version-min=9.0' - - -class tvos_device_arm64_platform(arm64_platform): - target = 'arm64-apple-tvos' - directory = 'darwin_tvos' - sdk = 'appletvos' - version_min = '-mtvos-version-min=9.0' - - -class watchos_simulator_i386_platform(i386_platform): - target = 'i386-apple-watchos-simulator' - directory = 'darwin_watchos' - sdk = 'watchsimulator' - version_min = '-mwatchos-version-min=4.0' - - -class watchos_simulator_x86_64_platform(x86_64_platform): - target = 'x86_64-apple-watchos-simulator' - directory = 'darwin_watchos' - sdk = 'watchsimulator' - version_min = '-mwatchos-version-min=4.0' - - -class watchos_simulator_arm64_platform(arm64_platform): - target = 'arm64-apple-watchos-simulator' - directory = 'darwin_watchos' - sdk = 'watchsimulator' - version_min = '-mwatchos-version-min=4.0' - - -class watchos_device_armv7k_platform(armv7_platform): - target = 'armv7k-apple-watchos' - directory = 'darwin_watchos' - sdk = 'watchos' - arch = 'armv7k' - version_min = '-mwatchos-version-min=4.0' - - -class watchos_device_arm64_32_platform(arm64_platform): - target = 'arm64_32-apple-watchos' - directory = 'darwin_watchos' - sdk = 'watchos' - arch = 'arm64_32' - version_min = '-mwatchos-version-min=4.0' - - -def mkdir_p(path): - try: - os.makedirs(path) - except OSError as exc: # Python >2.5 - if exc.errno != errno.EEXIST: - raise - - -def move_file(src_dir, dst_dir, filename, file_suffix=None, prefix='', suffix=''): - mkdir_p(dst_dir) - out_filename = filename - - if file_suffix: - if filename in ['internal64.h', 'asmnames.h', 'internal.h']: - out_filename = filename - else: - split_name = os.path.splitext(filename) - out_filename = "%s_%s%s" % (split_name[0], file_suffix, split_name[1]) - - with open(os.path.join(src_dir, filename)) as in_file: - with open(os.path.join(dst_dir, out_filename), 'w') as out_file: - if prefix: - out_file.write(prefix) - - out_file.write(in_file.read()) - - if suffix: - out_file.write(suffix) - - -def list_files(src_dir, pattern=None, filelist=None): - if pattern: filelist = glob.iglob(os.path.join(src_dir, pattern)) - for file in filelist: - yield os.path.basename(file) - - -def copy_files(src_dir, dst_dir, pattern=None, filelist=None, file_suffix=None, prefix=None, suffix=None): - for filename in list_files(src_dir, pattern=pattern, filelist=filelist): - move_file(src_dir, dst_dir, filename, file_suffix=file_suffix, prefix=prefix, suffix=suffix) - - -def copy_src_platform_files(platform): - src_dir = os.path.join('src', platform.src_dir) - dst_dir = os.path.join(platform.directory, 'src', platform.src_dir) - copy_files(src_dir, dst_dir, filelist=platform.src_files, file_suffix=platform.arch, prefix=platform.prefix, suffix=platform.suffix) - - -def build_target(platform, platform_headers): - def xcrun_cmd(cmd): - return 'xcrun -sdk %s %s -target %s' % (platform.sdk, cmd, platform.target) - - tag='%s-%s' % (platform.sdk, platform.arch) - build_dir = 'build_%s' % tag - mkdir_p(build_dir) - env = dict(CC=xcrun_cmd('clang'), - LD=xcrun_cmd('ld'), - CFLAGS='%s -fembed-bitcode' % (platform.version_min)) - working_dir = os.getcwd() - try: - os.chdir(build_dir) - subprocess.check_call( - [ - "../configure", - f"--host={platform.target}", - ] + ( - [] if platform.sdk == "macosx" else [f"--build={os.uname().machine}-apple-darwin"] - ), - env=env - ) - finally: - os.chdir(working_dir) - - for src_dir in [build_dir, os.path.join(build_dir, 'include')]: - copy_files(src_dir, - os.path.join(platform.directory, 'include'), - pattern='*.h', - file_suffix=platform.arch, - prefix=platform.prefix, - suffix=platform.suffix) - - for filename in list_files(src_dir, pattern='*.h'): - platform_headers[filename].add((platform.prefix, platform.arch, platform.suffix)) - - -def generate_source_and_headers( - generate_osx=True, - generate_ios=True, - generate_tvos=True, - generate_watchos=True, -): - copy_files('src', 'darwin_common/src', pattern='*.c') - copy_files('include', 'darwin_common/include', pattern='*.h') - - if generate_ios: - copy_src_platform_files(ios_simulator_i386_platform) - copy_src_platform_files(ios_simulator_x86_64_platform) - copy_src_platform_files(ios_simulator_arm64_platform) - copy_src_platform_files(ios_device_armv7_platform) - copy_src_platform_files(ios_device_arm64_platform) - if generate_osx: - copy_src_platform_files(desktop_x86_64_platform) - copy_src_platform_files(desktop_arm64_platform) - if generate_tvos: - copy_src_platform_files(tvos_simulator_x86_64_platform) - copy_src_platform_files(tvos_simulator_arm64_platform) - copy_src_platform_files(tvos_device_arm64_platform) - if generate_watchos: - copy_src_platform_files(watchos_simulator_i386_platform) - copy_src_platform_files(watchos_simulator_x86_64_platform) - copy_src_platform_files(watchos_simulator_arm64_platform) - copy_src_platform_files(watchos_device_armv7k_platform) - copy_src_platform_files(watchos_device_arm64_32_platform) - - platform_headers = collections.defaultdict(set) - - if generate_ios: - build_target(ios_simulator_i386_platform, platform_headers) - build_target(ios_simulator_x86_64_platform, platform_headers) - build_target(ios_simulator_arm64_platform, platform_headers) - build_target(ios_device_armv7_platform, platform_headers) - build_target(ios_device_arm64_platform, platform_headers) - if generate_osx: - build_target(desktop_x86_64_platform, platform_headers) - build_target(desktop_arm64_platform, platform_headers) - if generate_tvos: - build_target(tvos_simulator_x86_64_platform, platform_headers) - build_target(tvos_simulator_arm64_platform, platform_headers) - build_target(tvos_device_arm64_platform, platform_headers) - if generate_watchos: - build_target(watchos_simulator_i386_platform, platform_headers) - build_target(watchos_simulator_x86_64_platform, platform_headers) - build_target(watchos_simulator_arm64_platform, platform_headers) - build_target(watchos_device_armv7k_platform, platform_headers) - build_target(watchos_device_arm64_32_platform, platform_headers) - - mkdir_p('darwin_common/include') - for header_name, tag_tuples in platform_headers.items(): - basename, suffix = os.path.splitext(header_name) - with open(os.path.join('darwin_common/include', header_name), 'w') as header: - for tag_tuple in tag_tuples: - header.write('%s#include <%s_%s%s>\n%s\n' % (tag_tuple[0], basename, tag_tuple[1], suffix, tag_tuple[2])) - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('--only-ios', action='store_true', default=False) - parser.add_argument('--only-osx', action='store_true', default=False) - parser.add_argument('--only-tvos', action='store_true', default=False) - parser.add_argument('--only-watchos', action='store_true', default=False) - args = parser.parse_args() - - generate_source_and_headers( - generate_osx=not args.only_ios and not args.only_tvos and not args.only_watchos, - generate_ios=not args.only_osx and not args.only_tvos and not args.only_watchos, - generate_tvos=not args.only_ios and not args.only_osx and not args.only_watchos, - generate_watchos=not args.only_ios and not args.only_osx and not args.only_tvos, - ) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.am b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.am deleted file mode 100644 index 5f0d406..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -## Process this with automake to create Makefile.in - -AUTOMAKE_OPTIONS=foreign - -DISTCLEANFILES=ffitarget.h -noinst_HEADERS=ffi_common.h ffi_cfi.h tramp.h -EXTRA_DIST=ffi.h.in - -nodist_include_HEADERS = ffi.h ffitarget.h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi.h.in b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi.h.in deleted file mode 100644 index e7fe963..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi.h.in +++ /dev/null @@ -1,527 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - libffi @VERSION@ - - Copyright (c) 2011, 2014, 2019, 2021, 2022 Anthony Green - - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the ``Software''), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------- - Most of the API is documented in doc/libffi.texi. - - The raw API is designed to bypass some of the argument packing and - unpacking on architectures for which it can be avoided. Routines - are provided to emulate the raw API if the underlying platform - doesn't allow faster implementation. - - More details on the raw API can be found in: - - http://gcc.gnu.org/ml/java/1999-q3/msg00138.html - - and - - http://gcc.gnu.org/ml/java/1999-q3/msg00174.html - -------------------------------------------------------------------- */ - -#ifndef LIBFFI_H -#define LIBFFI_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Specify which architecture libffi is configured for. */ -#ifndef @TARGET@ -#define @TARGET@ -#endif - -/* ---- System configuration information --------------------------------- */ - -/* If these change, update src/mips/ffitarget.h. */ -#define FFI_TYPE_VOID 0 -#define FFI_TYPE_INT 1 -#define FFI_TYPE_FLOAT 2 -#define FFI_TYPE_DOUBLE 3 -#if @HAVE_LONG_DOUBLE@ -#define FFI_TYPE_LONGDOUBLE 4 -#else -#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE -#endif -#define FFI_TYPE_UINT8 5 -#define FFI_TYPE_SINT8 6 -#define FFI_TYPE_UINT16 7 -#define FFI_TYPE_SINT16 8 -#define FFI_TYPE_UINT32 9 -#define FFI_TYPE_SINT32 10 -#define FFI_TYPE_UINT64 11 -#define FFI_TYPE_SINT64 12 -#define FFI_TYPE_STRUCT 13 -#define FFI_TYPE_POINTER 14 -#define FFI_TYPE_COMPLEX 15 - -/* This should always refer to the last type code (for sanity checks). */ -#define FFI_TYPE_LAST FFI_TYPE_COMPLEX - -#include - -#ifndef LIBFFI_ASM - -#if defined(_MSC_VER) && !defined(__clang__) -#define __attribute__(X) -#endif - -#include -#include - -/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). - But we can find it either under the correct ANSI name, or under GNU - C's internal name. */ - -#define FFI_64_BIT_MAX 9223372036854775807 - -#ifdef LONG_LONG_MAX -# define FFI_LONG_LONG_MAX LONG_LONG_MAX -#else -# ifdef LLONG_MAX -# define FFI_LONG_LONG_MAX LLONG_MAX -# ifdef _AIX52 /* or newer has C99 LLONG_MAX */ -# undef FFI_64_BIT_MAX -# define FFI_64_BIT_MAX 9223372036854775807LL -# endif /* _AIX52 or newer */ -# else -# ifdef __GNUC__ -# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ -# endif -# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */ -# ifndef __PPC64__ -# if defined (__IBMC__) || defined (__IBMCPP__) -# define FFI_LONG_LONG_MAX LONGLONG_MAX -# endif -# endif /* __PPC64__ */ -# undef FFI_64_BIT_MAX -# define FFI_64_BIT_MAX 9223372036854775807LL -# endif -# endif -#endif - -/* The closure code assumes that this works on pointers, i.e. a size_t - can hold a pointer. */ - -typedef struct _ffi_type -{ - size_t size; - unsigned short alignment; - unsigned short type; - struct _ffi_type **elements; -} ffi_type; - -/* Need minimal decorations for DLLs to work on Windows. GCC has - autoimport and autoexport. Always mark externally visible symbols - as dllimport for MSVC clients, even if it means an extra indirection - when using the static version of the library. - Besides, as a workaround, they can define FFI_BUILDING if they - *know* they are going to link with the static library. */ -#if defined _MSC_VER && !defined(FFI_STATIC_BUILD) -# if defined FFI_BUILDING_DLL /* Building libffi.DLL with msvcc.sh */ -# define FFI_API __declspec(dllexport) -# else /* Importing libffi.DLL */ -# define FFI_API __declspec(dllimport) -# endif -#else -# define FFI_API -#endif - -/* The externally visible type declarations also need the MSVC DLL - decorations, or they will not be exported from the object file. */ -#if defined LIBFFI_HIDE_BASIC_TYPES -# define FFI_EXTERN FFI_API -#else -# define FFI_EXTERN extern FFI_API -#endif - -#ifndef LIBFFI_HIDE_BASIC_TYPES -#if SCHAR_MAX == 127 -# define ffi_type_uchar ffi_type_uint8 -# define ffi_type_schar ffi_type_sint8 -#else - #error "char size not supported" -#endif - -#if SHRT_MAX == 32767 -# define ffi_type_ushort ffi_type_uint16 -# define ffi_type_sshort ffi_type_sint16 -#elif SHRT_MAX == 2147483647 -# define ffi_type_ushort ffi_type_uint32 -# define ffi_type_sshort ffi_type_sint32 -#else - #error "short size not supported" -#endif - -#if INT_MAX == 32767 -# define ffi_type_uint ffi_type_uint16 -# define ffi_type_sint ffi_type_sint16 -#elif INT_MAX == 2147483647 -# define ffi_type_uint ffi_type_uint32 -# define ffi_type_sint ffi_type_sint32 -#elif INT_MAX == 9223372036854775807 -# define ffi_type_uint ffi_type_uint64 -# define ffi_type_sint ffi_type_sint64 -#else - #error "int size not supported" -#endif - -#if LONG_MAX == 2147483647 -# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX - #error "no 64-bit data type supported" -# endif -#elif LONG_MAX != FFI_64_BIT_MAX - #error "long size not supported" -#endif - -#if LONG_MAX == 2147483647 -# define ffi_type_ulong ffi_type_uint32 -# define ffi_type_slong ffi_type_sint32 -#elif LONG_MAX == FFI_64_BIT_MAX -# define ffi_type_ulong ffi_type_uint64 -# define ffi_type_slong ffi_type_sint64 -#else - #error "long size not supported" -#endif - -/* These are defined in types.c. */ -FFI_EXTERN ffi_type ffi_type_void; -FFI_EXTERN ffi_type ffi_type_uint8; -FFI_EXTERN ffi_type ffi_type_sint8; -FFI_EXTERN ffi_type ffi_type_uint16; -FFI_EXTERN ffi_type ffi_type_sint16; -FFI_EXTERN ffi_type ffi_type_uint32; -FFI_EXTERN ffi_type ffi_type_sint32; -FFI_EXTERN ffi_type ffi_type_uint64; -FFI_EXTERN ffi_type ffi_type_sint64; -FFI_EXTERN ffi_type ffi_type_float; -FFI_EXTERN ffi_type ffi_type_double; -FFI_EXTERN ffi_type ffi_type_pointer; - -#if @HAVE_LONG_DOUBLE@ -FFI_EXTERN ffi_type ffi_type_longdouble; -#else -#define ffi_type_longdouble ffi_type_double -#endif - -#ifdef FFI_TARGET_HAS_COMPLEX_TYPE -FFI_EXTERN ffi_type ffi_type_complex_float; -FFI_EXTERN ffi_type ffi_type_complex_double; -#if @HAVE_LONG_DOUBLE@ -FFI_EXTERN ffi_type ffi_type_complex_longdouble; -#else -#define ffi_type_complex_longdouble ffi_type_complex_double -#endif -#endif -#endif /* LIBFFI_HIDE_BASIC_TYPES */ - -typedef enum { - FFI_OK = 0, - FFI_BAD_TYPEDEF, - FFI_BAD_ABI, - FFI_BAD_ARGTYPE -} ffi_status; - -typedef struct { - ffi_abi abi; - unsigned nargs; - ffi_type **arg_types; - ffi_type *rtype; - unsigned bytes; - unsigned flags; -#ifdef FFI_EXTRA_CIF_FIELDS - FFI_EXTRA_CIF_FIELDS; -#endif -} ffi_cif; - -/* ---- Definitions for the raw API -------------------------------------- */ - -#ifndef FFI_SIZEOF_ARG -# if LONG_MAX == 2147483647 -# define FFI_SIZEOF_ARG 4 -# elif LONG_MAX == FFI_64_BIT_MAX -# define FFI_SIZEOF_ARG 8 -# endif -#endif - -#ifndef FFI_SIZEOF_JAVA_RAW -# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG -#endif - -typedef union { - ffi_sarg sint; - ffi_arg uint; - float flt; - char data[FFI_SIZEOF_ARG]; - void* ptr; -} ffi_raw; - -#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 -/* This is a special case for mips64/n32 ABI (and perhaps others) where - sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ -typedef union { - signed int sint; - unsigned int uint; - float flt; - char data[FFI_SIZEOF_JAVA_RAW]; - void* ptr; -} ffi_java_raw; -#else -typedef ffi_raw ffi_java_raw; -#endif - - -FFI_API -void ffi_raw_call (ffi_cif *cif, - void (*fn)(void), - void *rvalue, - ffi_raw *avalue); - -FFI_API void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); -FFI_API void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); -FFI_API size_t ffi_raw_size (ffi_cif *cif); - -/* This is analogous to the raw API, except it uses Java parameter - packing, even on 64-bit machines. I.e. on 64-bit machines longs - and doubles are followed by an empty 64-bit word. */ - -#if !FFI_NATIVE_RAW_API -FFI_API -void ffi_java_raw_call (ffi_cif *cif, - void (*fn)(void), - void *rvalue, - ffi_java_raw *avalue) __attribute__((deprecated)); -#endif - -FFI_API -void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) __attribute__((deprecated)); -FFI_API -void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) __attribute__((deprecated)); -FFI_API -size_t ffi_java_raw_size (ffi_cif *cif) __attribute__((deprecated)); - -/* ---- Definitions for closures ----------------------------------------- */ - -#if FFI_CLOSURES - -#ifdef _MSC_VER -__declspec(align(8)) -#endif -typedef struct { -#if @FFI_EXEC_TRAMPOLINE_TABLE@ - void *trampoline_table; - void *trampoline_table_entry; -#else - union { - char tramp[FFI_TRAMPOLINE_SIZE]; - void *ftramp; - }; -#endif - ffi_cif *cif; - void (*fun)(ffi_cif*,void*,void**,void*); - void *user_data; -#if defined(_MSC_VER) && defined(_M_IX86) - void *padding; -#endif -} ffi_closure -#ifdef __GNUC__ - __attribute__((aligned (8))) -#endif - ; - -#ifndef __GNUC__ -# ifdef __sgi -# pragma pack 0 -# endif -#endif - -FFI_API void *ffi_closure_alloc (size_t size, void **code); -FFI_API void ffi_closure_free (void *); - -FFI_API ffi_status -ffi_prep_closure (ffi_closure*, - ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data) -#if defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 405) - __attribute__((deprecated ("use ffi_prep_closure_loc instead"))) -#elif defined(__GNUC__) && __GNUC__ >= 3 - __attribute__((deprecated)) -#endif - ; - -FFI_API ffi_status -ffi_prep_closure_loc (ffi_closure*, - ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc); - -#ifdef __sgi -# pragma pack 8 -#endif -typedef struct { -#if @FFI_EXEC_TRAMPOLINE_TABLE@ - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - ffi_cif *cif; - -#if !FFI_NATIVE_RAW_API - - /* If this is enabled, then a raw closure has the same layout - as a regular closure. We use this to install an intermediate - handler to do the translation, void** -> ffi_raw*. */ - - void (*translate_args)(ffi_cif*,void*,void**,void*); - void *this_closure; - -#endif - - void (*fun)(ffi_cif*,void*,ffi_raw*,void*); - void *user_data; - -} ffi_raw_closure; - -typedef struct { -#if @FFI_EXEC_TRAMPOLINE_TABLE@ - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - - ffi_cif *cif; - -#if !FFI_NATIVE_RAW_API - - /* If this is enabled, then a raw closure has the same layout - as a regular closure. We use this to install an intermediate - handler to do the translation, void** -> ffi_raw*. */ - - void (*translate_args)(ffi_cif*,void*,void**,void*); - void *this_closure; - -#endif - - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); - void *user_data; - -} ffi_java_raw_closure; - -FFI_API ffi_status -ffi_prep_raw_closure (ffi_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data); - -FFI_API ffi_status -ffi_prep_raw_closure_loc (ffi_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data, - void *codeloc); - -#if !FFI_NATIVE_RAW_API -FFI_API ffi_status -ffi_prep_java_raw_closure (ffi_java_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data) __attribute__((deprecated)); - -FFI_API ffi_status -ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data, - void *codeloc) __attribute__((deprecated)); -#endif - -#endif /* FFI_CLOSURES */ - -#if FFI_GO_CLOSURES - -typedef struct { - void *tramp; - ffi_cif *cif; - void (*fun)(ffi_cif*,void*,void**,void*); -} ffi_go_closure; - -FFI_API ffi_status ffi_prep_go_closure (ffi_go_closure*, ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*)); - -FFI_API void ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure); - -#endif /* FFI_GO_CLOSURES */ - -/* ---- Public interface definition -------------------------------------- */ - -FFI_API -ffi_status ffi_prep_cif(ffi_cif *cif, - ffi_abi abi, - unsigned int nargs, - ffi_type *rtype, - ffi_type **atypes); - -FFI_API -ffi_status ffi_prep_cif_var(ffi_cif *cif, - ffi_abi abi, - unsigned int nfixedargs, - unsigned int ntotalargs, - ffi_type *rtype, - ffi_type **atypes); - -FFI_API -void ffi_call(ffi_cif *cif, - void (*fn)(void), - void *rvalue, - void **avalue); - -FFI_API -ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, - size_t *offsets); - -/* Convert between closure and function pointers. */ -#if defined(PA_LINUX) || defined(PA_HPUX) -#define FFI_FN(f) ((void (*)(void))((unsigned int)(f) | 2)) -#define FFI_CL(f) ((void *)((unsigned int)(f) & ~3)) -#else -#define FFI_FN(f) ((void (*)(void))f) -#define FFI_CL(f) ((void *)(f)) -#endif - -/* ---- Definitions shared with assembly code ---------------------------- */ - -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_cfi.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_cfi.h deleted file mode 100644 index f4c292d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_cfi.h +++ /dev/null @@ -1,76 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_cfi.h - Copyright (c) 2014 Red Hat, Inc. - - Conditionally assemble cfi directives. Only necessary for building libffi. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the ``Software''), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef FFI_CFI_H -#define FFI_CFI_H - -#ifdef HAVE_AS_CFI_PSEUDO_OP - -# define cfi_startproc .cfi_startproc -# define cfi_endproc .cfi_endproc -# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off -# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg -# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off -# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off -# define cfi_offset(reg, off) .cfi_offset reg, off -# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off -# define cfi_register(r1, r2) .cfi_register r1, r2 -# define cfi_return_column(reg) .cfi_return_column reg -# define cfi_restore(reg) .cfi_restore reg -# define cfi_same_value(reg) .cfi_same_value reg -# define cfi_undefined(reg) .cfi_undefined reg -# define cfi_remember_state .cfi_remember_state -# define cfi_restore_state .cfi_restore_state -# define cfi_window_save .cfi_window_save -# define cfi_personality(enc, exp) .cfi_personality enc, exp -# define cfi_lsda(enc, exp) .cfi_lsda enc, exp -# define cfi_escape(...) .cfi_escape __VA_ARGS__ - -#else - -# define cfi_startproc -# define cfi_endproc -# define cfi_def_cfa(reg, off) -# define cfi_def_cfa_register(reg) -# define cfi_def_cfa_offset(off) -# define cfi_adjust_cfa_offset(off) -# define cfi_offset(reg, off) -# define cfi_rel_offset(reg, off) -# define cfi_register(r1, r2) -# define cfi_return_column(reg) -# define cfi_restore(reg) -# define cfi_same_value(reg) -# define cfi_undefined(reg) -# define cfi_remember_state -# define cfi_restore_state -# define cfi_window_save -# define cfi_personality(enc, exp) -# define cfi_lsda(enc, exp) -# define cfi_escape(...) - -#endif /* HAVE_AS_CFI_PSEUDO_OP */ -#endif /* FFI_CFI_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_common.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_common.h deleted file mode 100644 index c53a794..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_common.h +++ /dev/null @@ -1,182 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_common.h - Copyright (C) 2011, 2012, 2013 Anthony Green - Copyright (C) 2007 Free Software Foundation, Inc - Copyright (c) 1996 Red Hat, Inc. - - Common internal definitions and macros. Only necessary for building - libffi. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the ``Software''), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef FFI_COMMON_H -#define FFI_COMMON_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* Do not move this. Some versions of AIX are very picky about where - this is positioned. */ -#ifdef __GNUC__ -# if HAVE_ALLOCA_H -# include -# else - /* mingw64 defines this already in malloc.h. */ -# ifndef alloca -# define alloca __builtin_alloca -# endif -# endif -# define MAYBE_UNUSED __attribute__((__unused__)) -#else -# define MAYBE_UNUSED -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX -# pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -# ifdef _MSC_VER -# define alloca _alloca -# else -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -/* Check for the existence of memcpy. */ -#if STDC_HEADERS -# include -#else -# ifndef HAVE_MEMCPY -# define memcpy(d, s, n) bcopy ((s), (d), (n)) -# endif -#endif - -#if defined(FFI_DEBUG) -#include -#endif - -#ifdef FFI_DEBUG -void ffi_assert(char *expr, char *file, int line); -void ffi_stop_here(void); -void ffi_type_test(ffi_type *a, char *file, int line); - -#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__)) -#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l))) -#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__) -#else -#define FFI_ASSERT(x) -#define FFI_ASSERT_AT(x, f, l) -#define FFI_ASSERT_VALID_TYPE(x) -#endif - -/* v cast to size_t and aligned up to a multiple of a */ -#define FFI_ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1) -/* v cast to size_t and aligned down to a multiple of a */ -#define FFI_ALIGN_DOWN(v, a) (((size_t) (v)) & -a) - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif); -ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, - unsigned int nfixedargs, unsigned int ntotalargs); - - -#if HAVE_LONG_DOUBLE_VARIANT -/* Used to adjust size/alignment of ffi types. */ -void ffi_prep_types (ffi_abi abi); -#endif - -/* Used internally, but overridden by some architectures */ -ffi_status ffi_prep_cif_core(ffi_cif *cif, - ffi_abi abi, - unsigned int isvariadic, - unsigned int nfixedargs, - unsigned int ntotalargs, - ffi_type *rtype, - ffi_type **atypes); - -/* Translate a data pointer to a code pointer. Needed for closures on - some targets. */ -void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN; - -/* The arch code calls this to determine if a given closure has a - static trampoline. */ -int ffi_tramp_is_present (void *closure) FFI_HIDDEN; - -/* Return a file descriptor of a temporary zero-sized file in a - writable and executable filesystem. */ -int open_temp_exec_file(void) FFI_HIDDEN; - -/* Extended cif, used in callback from assembly routine */ -typedef struct -{ - ffi_cif *cif; - void *rvalue; - void **avalue; -} extended_cif; - -/* Terse sized type definitions. */ -#if defined(_MSC_VER) || defined(__sgi) || defined(__SUNPRO_C) -typedef unsigned char UINT8; -typedef signed char SINT8; -typedef unsigned short UINT16; -typedef signed short SINT16; -typedef unsigned int UINT32; -typedef signed int SINT32; -# ifdef _MSC_VER -typedef unsigned __int64 UINT64; -typedef signed __int64 SINT64; -# else -# include -typedef uint64_t UINT64; -typedef int64_t SINT64; -# endif -#else -typedef unsigned int UINT8 __attribute__((__mode__(__QI__))); -typedef signed int SINT8 __attribute__((__mode__(__QI__))); -typedef unsigned int UINT16 __attribute__((__mode__(__HI__))); -typedef signed int SINT16 __attribute__((__mode__(__HI__))); -typedef unsigned int UINT32 __attribute__((__mode__(__SI__))); -typedef signed int SINT32 __attribute__((__mode__(__SI__))); -typedef unsigned int UINT64 __attribute__((__mode__(__DI__))); -typedef signed int SINT64 __attribute__((__mode__(__DI__))); -#endif - -typedef float FLOAT32; - -#ifndef __GNUC__ -#define __builtin_expect(x, expected_value) (x) -#endif -#define LIKELY(x) __builtin_expect(!!(x),1) -#define UNLIKELY(x) __builtin_expect((x)!=0,0) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/tramp.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/tramp.h deleted file mode 100644 index e14e463..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/tramp.h +++ /dev/null @@ -1,45 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_tramp.h - Copyright (C) 2021 Microsoft, Inc. - - Static trampoline definitions. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the ``Software''), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef FFI_TRAMP_H -#define FFI_TRAMP_H - -#ifdef __cplusplus -extern "C" { -#endif - -int ffi_tramp_is_supported(void); -void *ffi_tramp_alloc (int flags); -void ffi_tramp_set_parms (void *tramp, void *data, void *code); -void *ffi_tramp_get_addr (void *tramp); -void ffi_tramp_free (void *tramp); - -#ifdef __cplusplus -} -#endif - -#endif /* FFI_TRAMP_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.map.in b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.map.in deleted file mode 100644 index de8778a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.map.in +++ /dev/null @@ -1,76 +0,0 @@ -#define LIBFFI_ASM -#define LIBFFI_H -#include -#include - -/* These version numbers correspond to the libtool-version abi numbers, - not to the libffi release numbers. */ - -LIBFFI_BASE_8.0 { - global: - /* Exported data variables. */ - ffi_type_void; - ffi_type_uint8; - ffi_type_sint8; - ffi_type_uint16; - ffi_type_sint16; - ffi_type_uint32; - ffi_type_sint32; - ffi_type_uint64; - ffi_type_sint64; - ffi_type_float; - ffi_type_double; - ffi_type_longdouble; - ffi_type_pointer; - - /* Exported functions. */ - ffi_call; - ffi_prep_cif; - ffi_prep_cif_var; - - ffi_raw_call; - ffi_ptrarray_to_raw; - ffi_raw_to_ptrarray; - ffi_raw_size; - - ffi_java_raw_call; - ffi_java_ptrarray_to_raw; - ffi_java_raw_to_ptrarray; - ffi_java_raw_size; - - ffi_get_struct_offsets; - local: - *; -}; - -#ifdef FFI_TARGET_HAS_COMPLEX_TYPE -LIBFFI_COMPLEX_8.0 { - global: - /* Exported data variables. */ - ffi_type_complex_float; - ffi_type_complex_double; - ffi_type_complex_longdouble; -} LIBFFI_BASE_8.0; -#endif - -#if FFI_CLOSURES -LIBFFI_CLOSURE_8.0 { - global: - ffi_closure_alloc; - ffi_closure_free; - ffi_prep_closure; - ffi_prep_closure_loc; - ffi_prep_raw_closure; - ffi_prep_raw_closure_loc; - ffi_prep_java_raw_closure; - ffi_prep_java_raw_closure_loc; -} LIBFFI_BASE_8.0; -#endif - -#if FFI_GO_CLOSURES -LIBFFI_GO_CLOSURE_8.0 { - global: - ffi_call_go; - ffi_prep_go_closure; -} LIBFFI_CLOSURE_8.0; -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.pc.in b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.pc.in deleted file mode 100644 index 6fad83b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -toolexeclibdir=@toolexeclibdir@ -includedir=@includedir@ - -Name: @PACKAGE_NAME@ -Description: Library supporting Foreign Function Interfaces -Version: @PACKAGE_VERSION@ -Libs: -L${toolexeclibdir} -lffi -Cflags: -I${includedir} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj deleted file mode 100644 index 480c4a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +++ /dev/null @@ -1,997 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 43B5D3F81D35473200D1E1FD /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */; }; - 43B5D3FA1D3547CE00D1E1FD /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */; }; - 43E9A5C81D352C1500926A8F /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */; }; - DBFA714A187F1D8600A76262 /* ffi.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; }; - DBFA714B187F1D8600A76262 /* ffi_common.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA713F187F1D8600A76262 /* ffi_common.h */; }; - DBFA714C187F1D8600A76262 /* fficonfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7140187F1D8600A76262 /* fficonfig.h */; }; - DBFA714D187F1D8600A76262 /* ffitarget.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; }; - DBFA714E187F1D8600A76262 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; }; - DBFA714F187F1D8600A76262 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; }; - DBFA7156187F1D8600A76262 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; }; - DBFA7157187F1D8600A76262 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; }; - DBFA7158187F1D8600A76262 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; }; - DBFA7159187F1D8600A76262 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; }; - DBFA715A187F1D8600A76262 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; }; - DBFA715B187F1D8600A76262 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; }; - DBFA7177187F1D9B00A76262 /* ffi_arm64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716C187F1D9B00A76262 /* ffi_arm64.c */; }; - DBFA7178187F1D9B00A76262 /* sysv_arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716D187F1D9B00A76262 /* sysv_arm64.S */; }; - DBFA7179187F1D9B00A76262 /* ffi_armv7.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716F187F1D9B00A76262 /* ffi_armv7.c */; }; - DBFA717A187F1D9B00A76262 /* sysv_armv7.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7170187F1D9B00A76262 /* sysv_armv7.S */; }; - DBFA717E187F1D9B00A76262 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */; }; - DBFA718F187F1DA100A76262 /* ffi_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7183187F1DA100A76262 /* ffi_x86_64.h */; }; - DBFA7191187F1DA100A76262 /* fficonfig_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */; }; - DBFA7193187F1DA100A76262 /* ffitarget_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */; }; - DBFA7194187F1DA100A76262 /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718A187F1DA100A76262 /* unix64_x86_64.S */; }; - DBFA7196187F1DA100A76262 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */; }; - FDB52FB31F6144FA00AA92E6 /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */; }; - FDB52FB51F6144FA00AA92E6 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */; }; - FDB52FB61F6144FA00AA92E6 /* ffi_armv7.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716F187F1D9B00A76262 /* ffi_armv7.c */; }; - FDB52FB71F6144FA00AA92E6 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; }; - FDB52FB81F6144FA00AA92E6 /* sysv_armv7.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7170187F1D9B00A76262 /* sysv_armv7.S */; }; - FDB52FB91F6144FA00AA92E6 /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */; }; - FDB52FBA1F6144FA00AA92E6 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; }; - FDB52FBC1F6144FA00AA92E6 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; }; - FDB52FBD1F6144FA00AA92E6 /* sysv_arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716D187F1D9B00A76262 /* sysv_arm64.S */; }; - FDB52FBE1F6144FA00AA92E6 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; }; - FDB52FBF1F6144FA00AA92E6 /* ffi_arm64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716C187F1D9B00A76262 /* ffi_arm64.c */; }; - FDB52FC01F6144FA00AA92E6 /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */; }; - FDB52FD01F614A8B00AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; }; - FDB52FD11F614AA700AA92E6 /* ffi_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715E187F1D9B00A76262 /* ffi_arm64.h */; }; - FDB52FD21F614AAB00AA92E6 /* ffi_armv7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715F187F1D9B00A76262 /* ffi_armv7.h */; }; - FDB52FD41F614AB500AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */; }; - FDB52FD51F614AE200AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; }; - FDB52FD61F614AEA00AA92E6 /* ffi_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715E187F1D9B00A76262 /* ffi_arm64.h */; }; - FDB52FD71F614AED00AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */; }; - FDB52FD81F614B8700AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; }; - FDB52FD91F614B8E00AA92E6 /* ffitarget_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */; }; - FDB52FDA1F614B9300AA92E6 /* ffitarget_armv7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */; }; - FDB52FDD1F614BA900AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */; }; - FDB52FDE1F6155E300AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; }; - FDB52FDF1F6155EA00AA92E6 /* ffitarget_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */; }; - FDB52FE01F6155EF00AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */; }; - FDB52FE21F6156FA00AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; }; - FDB52FE31F61571A00AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7183187F1DA100A76262 /* ffi_x86_64.h */; }; - FDB52FE41F61571D00AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; }; - FDB52FE61F61573100AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */; }; - FDDB2F411F5D66E200EF414E /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */; }; - FDDB2F461F5D691E00EF414E /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F441F5D68C900EF414E /* win64_x86_64.S */; }; - FDDB2F4A1F5D846400EF414E /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */; }; - FDDB2F4C1F5D846400EF414E /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; }; - FDDB2F4E1F5D846400EF414E /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */; }; - FDDB2F4F1F5D846400EF414E /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; }; - FDDB2F501F5D846400EF414E /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; }; - FDDB2F511F5D846400EF414E /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; }; - FDDB2F521F5D846400EF414E /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718A187F1DA100A76262 /* unix64_x86_64.S */; }; - FDDB2F531F5D846400EF414E /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F441F5D68C900EF414E /* win64_x86_64.S */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - DB13B1641849DF1E0010F42D /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 12; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - FDB52FD01F614A8B00AA92E6 /* ffi.h in CopyFiles */, - FDB52FD11F614AA700AA92E6 /* ffi_arm64.h in CopyFiles */, - FDB52FD21F614AAB00AA92E6 /* ffi_armv7.h in CopyFiles */, - FDB52FD41F614AB500AA92E6 /* ffi_x86_64.h in CopyFiles */, - FDB52FD81F614B8700AA92E6 /* ffitarget.h in CopyFiles */, - FDB52FD91F614B8E00AA92E6 /* ffitarget_arm64.h in CopyFiles */, - FDB52FDA1F614B9300AA92E6 /* ffitarget_armv7.h in CopyFiles */, - FDB52FDD1F614BA900AA92E6 /* ffitarget_x86_64.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FDB52FC11F6144FA00AA92E6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 12; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - FDB52FD51F614AE200AA92E6 /* ffi.h in CopyFiles */, - FDB52FD61F614AEA00AA92E6 /* ffi_arm64.h in CopyFiles */, - FDB52FD71F614AED00AA92E6 /* ffi_x86_64.h in CopyFiles */, - FDB52FDE1F6155E300AA92E6 /* ffitarget.h in CopyFiles */, - FDB52FDF1F6155EA00AA92E6 /* ffitarget_arm64.h in CopyFiles */, - FDB52FE01F6155EF00AA92E6 /* ffitarget_x86_64.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FDB52FE11F6156E000AA92E6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - FDB52FE21F6156FA00AA92E6 /* ffi.h in CopyFiles */, - FDB52FE31F61571A00AA92E6 /* ffi_x86_64.h in CopyFiles */, - FDB52FE41F61571D00AA92E6 /* ffitarget.h in CopyFiles */, - FDB52FE61F61573100AA92E6 /* ffitarget_x86_64.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffiw64_x86_64.c; sourceTree = ""; }; - 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = win64_x86_64.S; sourceTree = ""; }; - 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = unix64_x86_64.S; sourceTree = ""; }; - 43E9A5DA1D35373600926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; }; - 43E9A5DB1D35374400926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; }; - 43E9A5DC1D35375400926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; }; - 43E9A5DD1D35375400926A8F /* internal64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal64.h; sourceTree = ""; }; - DB13B1661849DF1E0010F42D /* libffi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DB13B1911849DF510010F42D /* ffi.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = ffi.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - DBFA713E187F1D8600A76262 /* ffi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi.h; sourceTree = ""; }; - DBFA713F187F1D8600A76262 /* ffi_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_common.h; sourceTree = ""; }; - DBFA7140187F1D8600A76262 /* fficonfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig.h; sourceTree = ""; }; - DBFA7141187F1D8600A76262 /* ffitarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget.h; sourceTree = ""; }; - DBFA7143187F1D8600A76262 /* closures.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = closures.c; sourceTree = ""; }; - DBFA7145187F1D8600A76262 /* dlmalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dlmalloc.c; sourceTree = ""; }; - DBFA7147187F1D8600A76262 /* prep_cif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prep_cif.c; sourceTree = ""; }; - DBFA7148187F1D8600A76262 /* raw_api.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = raw_api.c; sourceTree = ""; }; - DBFA7149187F1D8600A76262 /* types.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = types.c; sourceTree = ""; }; - DBFA715E187F1D9B00A76262 /* ffi_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_arm64.h; sourceTree = ""; }; - DBFA715F187F1D9B00A76262 /* ffi_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_armv7.h; sourceTree = ""; }; - DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_x86_64.h; sourceTree = ""; }; - DBFA7162187F1D9B00A76262 /* fficonfig_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_arm64.h; sourceTree = ""; }; - DBFA7163187F1D9B00A76262 /* fficonfig_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_armv7.h; sourceTree = ""; }; - DBFA7165187F1D9B00A76262 /* fficonfig_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_x86_64.h; sourceTree = ""; }; - DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_arm64.h; sourceTree = ""; }; - DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_armv7.h; sourceTree = ""; }; - DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_x86_64.h; sourceTree = ""; }; - DBFA716C187F1D9B00A76262 /* ffi_arm64.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi_arm64.c; sourceTree = ""; }; - DBFA716D187F1D9B00A76262 /* sysv_arm64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_arm64.S; sourceTree = ""; }; - DBFA716F187F1D9B00A76262 /* ffi_armv7.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi_armv7.c; sourceTree = ""; }; - DBFA7170187F1D9B00A76262 /* sysv_armv7.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_armv7.S; sourceTree = ""; }; - DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffi64_x86_64.c; sourceTree = ""; }; - DBFA7183187F1DA100A76262 /* ffi_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_x86_64.h; sourceTree = ""; }; - DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_x86_64.h; sourceTree = ""; }; - DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_x86_64.h; sourceTree = ""; }; - DBFA718A187F1DA100A76262 /* unix64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = unix64_x86_64.S; sourceTree = ""; }; - DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi64_x86_64.c; sourceTree = ""; }; - FDB52FC51F6144FA00AA92E6 /* libffi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FDDB2F3E1F5D61BC00EF414E /* asmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asmnames.h; sourceTree = ""; }; - FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffiw64_x86_64.c; sourceTree = ""; }; - FDDB2F421F5D68C900EF414E /* internal64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal64.h; sourceTree = ""; }; - FDDB2F431F5D68C900EF414E /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; }; - FDDB2F441F5D68C900EF414E /* win64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = win64_x86_64.S; sourceTree = ""; }; - FDDB2F621F5D846400EF414E /* libffi.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXGroup section */ - DB13B15B1849DEB70010F42D = { - isa = PBXGroup; - children = ( - DBFA713C187F1D8600A76262 /* darwin_common */, - DBFA715C187F1D9B00A76262 /* darwin_ios */, - DBFA7180187F1DA100A76262 /* darwin_osx */, - DB13B1671849DF1E0010F42D /* Products */, - ); - sourceTree = ""; - }; - DB13B1671849DF1E0010F42D /* Products */ = { - isa = PBXGroup; - children = ( - DB13B1661849DF1E0010F42D /* libffi.a */, - DB13B1911849DF510010F42D /* ffi.dylib */, - FDDB2F621F5D846400EF414E /* libffi.a */, - FDB52FC51F6144FA00AA92E6 /* libffi.a */, - ); - name = Products; - sourceTree = ""; - }; - DBFA713C187F1D8600A76262 /* darwin_common */ = { - isa = PBXGroup; - children = ( - DBFA713D187F1D8600A76262 /* include */, - DBFA7142187F1D8600A76262 /* src */, - ); - path = darwin_common; - sourceTree = ""; - }; - DBFA713D187F1D8600A76262 /* include */ = { - isa = PBXGroup; - children = ( - DBFA713E187F1D8600A76262 /* ffi.h */, - DBFA713F187F1D8600A76262 /* ffi_common.h */, - DBFA7140187F1D8600A76262 /* fficonfig.h */, - DBFA7141187F1D8600A76262 /* ffitarget.h */, - ); - path = include; - sourceTree = ""; - }; - DBFA7142187F1D8600A76262 /* src */ = { - isa = PBXGroup; - children = ( - DBFA7143187F1D8600A76262 /* closures.c */, - DBFA7145187F1D8600A76262 /* dlmalloc.c */, - DBFA7147187F1D8600A76262 /* prep_cif.c */, - DBFA7148187F1D8600A76262 /* raw_api.c */, - DBFA7149187F1D8600A76262 /* types.c */, - ); - path = src; - sourceTree = ""; - }; - DBFA715C187F1D9B00A76262 /* darwin_ios */ = { - isa = PBXGroup; - children = ( - DBFA715D187F1D9B00A76262 /* include */, - DBFA716A187F1D9B00A76262 /* src */, - ); - path = darwin_ios; - sourceTree = ""; - }; - DBFA715D187F1D9B00A76262 /* include */ = { - isa = PBXGroup; - children = ( - DBFA715E187F1D9B00A76262 /* ffi_arm64.h */, - DBFA715F187F1D9B00A76262 /* ffi_armv7.h */, - DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */, - DBFA7162187F1D9B00A76262 /* fficonfig_arm64.h */, - DBFA7163187F1D9B00A76262 /* fficonfig_armv7.h */, - DBFA7165187F1D9B00A76262 /* fficonfig_x86_64.h */, - DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */, - DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */, - DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */, - ); - path = include; - sourceTree = ""; - }; - DBFA716A187F1D9B00A76262 /* src */ = { - isa = PBXGroup; - children = ( - DBFA716B187F1D9B00A76262 /* aarch64 */, - DBFA716E187F1D9B00A76262 /* arm */, - DBFA7172187F1D9B00A76262 /* x86 */, - ); - path = src; - sourceTree = ""; - }; - DBFA716B187F1D9B00A76262 /* aarch64 */ = { - isa = PBXGroup; - children = ( - 43E9A5DA1D35373600926A8F /* internal.h */, - DBFA716C187F1D9B00A76262 /* ffi_arm64.c */, - DBFA716D187F1D9B00A76262 /* sysv_arm64.S */, - ); - path = aarch64; - sourceTree = ""; - }; - DBFA716E187F1D9B00A76262 /* arm */ = { - isa = PBXGroup; - children = ( - 43E9A5DB1D35374400926A8F /* internal.h */, - DBFA716F187F1D9B00A76262 /* ffi_armv7.c */, - DBFA7170187F1D9B00A76262 /* sysv_armv7.S */, - ); - path = arm; - sourceTree = ""; - }; - DBFA7172187F1D9B00A76262 /* x86 */ = { - isa = PBXGroup; - children = ( - 43E9A5DC1D35375400926A8F /* internal.h */, - 43E9A5DD1D35375400926A8F /* internal64.h */, - DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */, - 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */, - 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */, - 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */, - ); - path = x86; - sourceTree = ""; - }; - DBFA7180187F1DA100A76262 /* darwin_osx */ = { - isa = PBXGroup; - children = ( - DBFA7181187F1DA100A76262 /* include */, - DBFA7188187F1DA100A76262 /* src */, - ); - path = darwin_osx; - sourceTree = ""; - }; - DBFA7181187F1DA100A76262 /* include */ = { - isa = PBXGroup; - children = ( - DBFA7183187F1DA100A76262 /* ffi_x86_64.h */, - DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */, - DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */, - ); - path = include; - sourceTree = ""; - }; - DBFA7188187F1DA100A76262 /* src */ = { - isa = PBXGroup; - children = ( - DBFA7189187F1DA100A76262 /* x86 */, - ); - path = src; - sourceTree = ""; - }; - DBFA7189187F1DA100A76262 /* x86 */ = { - isa = PBXGroup; - children = ( - FDDB2F431F5D68C900EF414E /* internal.h */, - FDDB2F421F5D68C900EF414E /* internal64.h */, - FDDB2F3E1F5D61BC00EF414E /* asmnames.h */, - DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */, - FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */, - DBFA718A187F1DA100A76262 /* unix64_x86_64.S */, - FDDB2F441F5D68C900EF414E /* win64_x86_64.S */, - ); - path = x86; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - DB13B18F1849DF510010F42D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - DBFA714C187F1D8600A76262 /* fficonfig.h in Headers */, - DBFA714D187F1D8600A76262 /* ffitarget.h in Headers */, - DBFA714A187F1D8600A76262 /* ffi.h in Headers */, - DBFA718F187F1DA100A76262 /* ffi_x86_64.h in Headers */, - DBFA7191187F1DA100A76262 /* fficonfig_x86_64.h in Headers */, - DBFA714B187F1D8600A76262 /* ffi_common.h in Headers */, - DBFA7193187F1DA100A76262 /* ffitarget_x86_64.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - DB13B1651849DF1E0010F42D /* libffi-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = DB13B18B1849DF1E0010F42D /* Build configuration list for PBXNativeTarget "libffi-iOS" */; - buildPhases = ( - 43B5D3FB1D35480D00D1E1FD /* Run Script */, - DB13B1621849DF1E0010F42D /* Sources */, - DB13B1641849DF1E0010F42D /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "libffi-iOS"; - productName = ffi; - productReference = DB13B1661849DF1E0010F42D /* libffi.a */; - productType = "com.apple.product-type.library.static"; - }; - DB13B1901849DF510010F42D /* libffi-Mac */ = { - isa = PBXNativeTarget; - buildConfigurationList = DB13B1B01849DF520010F42D /* Build configuration list for PBXNativeTarget "libffi-Mac" */; - buildPhases = ( - DB13B3061849E0490010F42D /* ShellScript */, - DB13B18D1849DF510010F42D /* Sources */, - DB13B18F1849DF510010F42D /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "libffi-Mac"; - productName = ffi; - productReference = DB13B1911849DF510010F42D /* ffi.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; - FDB52FB01F6144FA00AA92E6 /* libffi-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = FDB52FC21F6144FA00AA92E6 /* Build configuration list for PBXNativeTarget "libffi-tvOS" */; - buildPhases = ( - FDB52FB11F6144FA00AA92E6 /* Run Script */, - FDB52FB21F6144FA00AA92E6 /* Sources */, - FDB52FC11F6144FA00AA92E6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "libffi-tvOS"; - productName = ffi; - productReference = FDB52FC51F6144FA00AA92E6 /* libffi.a */; - productType = "com.apple.product-type.library.static"; - }; - FDDB2F471F5D846400EF414E /* libffi-static-Mac */ = { - isa = PBXNativeTarget; - buildConfigurationList = FDDB2F5F1F5D846400EF414E /* Build configuration list for PBXNativeTarget "libffi-static-Mac" */; - buildPhases = ( - FDDB2F481F5D846400EF414E /* ShellScript */, - FDDB2F491F5D846400EF414E /* Sources */, - FDB52FE11F6156E000AA92E6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "libffi-static-Mac"; - productName = ffi; - productReference = FDDB2F621F5D846400EF414E /* libffi.a */; - productType = "com.apple.product-type.library.dynamic"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - DB13B15C1849DEB70010F42D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0830; - }; - buildConfigurationList = DB13B15F1849DEB70010F42D /* Build configuration list for PBXProject "libffi" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = DB13B15B1849DEB70010F42D; - productRefGroup = DB13B1671849DF1E0010F42D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - DB13B1651849DF1E0010F42D /* libffi-iOS */, - FDB52FB01F6144FA00AA92E6 /* libffi-tvOS */, - DB13B1901849DF510010F42D /* libffi-Mac */, - FDDB2F471F5D846400EF414E /* libffi-static-Mac */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXShellScriptBuildPhase section */ - 43B5D3FB1D35480D00D1E1FD /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-ios\nfi"; - }; - DB13B3061849E0490010F42D /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-osx\nfi"; - }; - FDB52FB11F6144FA00AA92E6 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-ios\nfi"; - }; - FDDB2F481F5D846400EF414E /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-osx\nfi"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - DB13B1621849DF1E0010F42D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 43E9A5C81D352C1500926A8F /* unix64_x86_64.S in Sources */, - DBFA717E187F1D9B00A76262 /* ffi64_x86_64.c in Sources */, - DBFA7179187F1D9B00A76262 /* ffi_armv7.c in Sources */, - DBFA714E187F1D8600A76262 /* closures.c in Sources */, - DBFA717A187F1D9B00A76262 /* sysv_armv7.S in Sources */, - 43B5D3F81D35473200D1E1FD /* ffiw64_x86_64.c in Sources */, - DBFA7156187F1D8600A76262 /* prep_cif.c in Sources */, - DBFA7158187F1D8600A76262 /* raw_api.c in Sources */, - DBFA7178187F1D9B00A76262 /* sysv_arm64.S in Sources */, - DBFA715A187F1D8600A76262 /* types.c in Sources */, - DBFA7177187F1D9B00A76262 /* ffi_arm64.c in Sources */, - 43B5D3FA1D3547CE00D1E1FD /* win64_x86_64.S in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DB13B18D1849DF510010F42D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DBFA7196187F1DA100A76262 /* ffi64_x86_64.c in Sources */, - DBFA7157187F1D8600A76262 /* prep_cif.c in Sources */, - FDDB2F411F5D66E200EF414E /* ffiw64_x86_64.c in Sources */, - DBFA715B187F1D8600A76262 /* types.c in Sources */, - DBFA7159187F1D8600A76262 /* raw_api.c in Sources */, - DBFA714F187F1D8600A76262 /* closures.c in Sources */, - DBFA7194187F1DA100A76262 /* unix64_x86_64.S in Sources */, - FDDB2F461F5D691E00EF414E /* win64_x86_64.S in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FDB52FB21F6144FA00AA92E6 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FDB52FB31F6144FA00AA92E6 /* unix64_x86_64.S in Sources */, - FDB52FB51F6144FA00AA92E6 /* ffi64_x86_64.c in Sources */, - FDB52FB61F6144FA00AA92E6 /* ffi_armv7.c in Sources */, - FDB52FB71F6144FA00AA92E6 /* closures.c in Sources */, - FDB52FB81F6144FA00AA92E6 /* sysv_armv7.S in Sources */, - FDB52FB91F6144FA00AA92E6 /* ffiw64_x86_64.c in Sources */, - FDB52FBA1F6144FA00AA92E6 /* prep_cif.c in Sources */, - FDB52FBC1F6144FA00AA92E6 /* raw_api.c in Sources */, - FDB52FBD1F6144FA00AA92E6 /* sysv_arm64.S in Sources */, - FDB52FBE1F6144FA00AA92E6 /* types.c in Sources */, - FDB52FBF1F6144FA00AA92E6 /* ffi_arm64.c in Sources */, - FDB52FC01F6144FA00AA92E6 /* win64_x86_64.S in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FDDB2F491F5D846400EF414E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FDDB2F4A1F5D846400EF414E /* ffi64_x86_64.c in Sources */, - FDDB2F4C1F5D846400EF414E /* prep_cif.c in Sources */, - FDDB2F4E1F5D846400EF414E /* ffiw64_x86_64.c in Sources */, - FDDB2F4F1F5D846400EF414E /* types.c in Sources */, - FDDB2F501F5D846400EF414E /* raw_api.c in Sources */, - FDDB2F511F5D846400EF414E /* closures.c in Sources */, - FDDB2F521F5D846400EF414E /* unix64_x86_64.S in Sources */, - FDDB2F531F5D846400EF414E /* win64_x86_64.S in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - DB13B1601849DEB70010F42D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_common/include, - ); - ONLY_ACTIVE_ARCH = YES; - }; - name = Debug; - }; - DB13B1611849DEB70010F42D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_common/include, - ); - }; - name = Release; - }; - DB13B1871849DF1E0010F42D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/ffi.dst; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_ios/include, - ); - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - PRODUCT_NAME = ffi; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALID_ARCHS = "arm64 armv7 armv7s x86_64"; - }; - name = Debug; - }; - DB13B1881849DF1E0010F42D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/ffi.dst; - ENABLE_NS_ASSERTIONS = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_ios/include, - ); - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - PRODUCT_NAME = ffi; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - VALID_ARCHS = "arm64 armv7 armv7s x86_64"; - }; - name = Release; - }; - DB13B1B11849DF520010F42D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_osx/include, - ); - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = "-Wl,-no_compact_unwind"; - PRODUCT_NAME = ffi; - SDKROOT = macosx; - }; - name = Debug; - }; - DB13B1B21849DF520010F42D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_osx/include, - ); - MACOSX_DEPLOYMENT_TARGET = 10.6; - OTHER_LDFLAGS = "-Wl,-no_compact_unwind"; - PRODUCT_NAME = ffi; - SDKROOT = macosx; - }; - name = Release; - }; - FDB52FC31F6144FA00AA92E6 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_ios/include, - ); - PRODUCT_NAME = ffi; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - FDB52FC41F6144FA00AA92E6 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_ios/include, - ); - PRODUCT_NAME = ffi; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 9.0; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - FDDB2F601F5D846400EF414E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - EXECUTABLE_EXTENSION = a; - EXECUTABLE_PREFIX = lib; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_osx/include, - ); - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = ffi; - SDKROOT = macosx; - }; - name = Debug; - }; - FDDB2F611F5D846400EF414E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - EXECUTABLE_EXTENSION = a; - EXECUTABLE_PREFIX = lib; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - darwin_osx/include, - ); - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.6; - PRODUCT_NAME = ffi; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - DB13B15F1849DEB70010F42D /* Build configuration list for PBXProject "libffi" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DB13B1601849DEB70010F42D /* Debug */, - DB13B1611849DEB70010F42D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DB13B18B1849DF1E0010F42D /* Build configuration list for PBXNativeTarget "libffi-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DB13B1871849DF1E0010F42D /* Debug */, - DB13B1881849DF1E0010F42D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DB13B1B01849DF520010F42D /* Build configuration list for PBXNativeTarget "libffi-Mac" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DB13B1B11849DF520010F42D /* Debug */, - DB13B1B21849DF520010F42D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FDB52FC21F6144FA00AA92E6 /* Build configuration list for PBXNativeTarget "libffi-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FDB52FC31F6144FA00AA92E6 /* Debug */, - FDB52FC41F6144FA00AA92E6 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FDDB2F5F1F5D846400EF414E /* Build configuration list for PBXNativeTarget "libffi-static-Mac" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FDDB2F601F5D846400EF414E /* Debug */, - FDDB2F611F5D846400EF414E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = DB13B15C1849DEB70010F42D /* Project object */; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-ldflags b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-ldflags deleted file mode 100755 index e32e37b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-ldflags +++ /dev/null @@ -1,106 +0,0 @@ -#! /bin/sh - -# Script to translate LDFLAGS into a form suitable for use with libtool. - -# Copyright (C) 2005 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA. - -# Contributed by CodeSourcery, LLC. - -# This script is designed to be used from a Makefile that uses libtool -# to build libraries as follows: -# -# LTLDFLAGS = $(shell libtool-ldflags $(LDFLAGS)) -# -# Then, use (LTLDFLAGS) in place of $(LDFLAGS) in your link line. - -# The output of the script. This string is built up as we process the -# arguments. -result= -prev_arg= - -for arg -do - case $arg in - -f*|--*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will - # think these options are linker options, and prefix them - # with "-Wl,". Then, the compiler driver will ignore the - # options. So, we prefix these options with -Xcompiler to - # make clear to libtool that they are in fact compiler - # options. - case $prev_arg in - -Xpreprocessor|-Xcompiler|-Xlinker) - # This option is already prefixed; don't prefix it again. - ;; - *) - result="$result -Xcompiler" - ;; - esac - ;; - *) - # We do not want to add -Xcompiler to other options because - # that would prevent libtool itself from recognizing them. - ;; - esac - prev_arg=$arg - - # If $(LDFLAGS) is (say): - # a "b'c d" e - # then the user expects that: - # $(LD) $(LDFLAGS) - # will pass three arguments to $(LD): - # 1) a - # 2) b'c d - # 3) e - # We must ensure, therefore, that the arguments are appropriately - # quoted so that using: - # libtool --mode=link ... $(LTLDFLAGS) - # will result in the same number of arguments being passed to - # libtool. In other words, when this script was invoked, the shell - # removed one level of quoting, present in $(LDFLAGS); we have to put - # it back. - - # Quote any embedded single quotes. - case $arg in - *"'"*) - # The following command creates the script: - # 1s,^X,,;s|'|'"'"'|g - # which removes a leading X, and then quotes and embedded single - # quotes. - sed_script="1s,^X,,;s|'|'\"'\"'|g" - # Add a leading "X" so that if $arg starts with a dash, - # the echo command will not try to interpret the argument - # as a command-line option. - arg="X$arg" - # Generate the quoted string. - quoted_arg=`echo "$arg" | sed -e "$sed_script"` - ;; - *) - quoted_arg=$arg - ;; - esac - # Surround the entire argument with single quotes. - quoted_arg="'"$quoted_arg"'" - - # Add it to the string. - result="$result $quoted_arg" -done - -# Output the string we have built up. -echo "$result" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-version b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-version deleted file mode 100644 index 03f5402..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-version +++ /dev/null @@ -1,29 +0,0 @@ -# This file is used to maintain libtool version info for libffi. See -# the libtool manual to understand the meaning of the fields. This is -# a separate file so that version updates don't involve re-running -# automake. -# -# Here are a set of rules to help you update your library version -# information: -# -# 1. Start with version information of `0:0:0' for each libtool library. -# -# 2. Update the version information only immediately before a public -# release of your software. More frequent updates are unnecessary, -# and only guarantee that the current interface number gets larger -# faster. -# -# 3. If the library source code has changed at all since the last -# update, then increment revision (`c:r:a' becomes `c:r+1:a'). -# -# 4. If any interfaces have been added, removed, or changed since the -# last update, increment current, and set revision to 0. -# -# 5. If any interfaces have been added since the last public release, -# then increment age. -# -# 6. If any interfaces have been removed since the last public -# release, then set age to 0. -# -# CURRENT:REVISION:AGE -9:2:1 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/asmcfi.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/asmcfi.m4 deleted file mode 100644 index 3e28602..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/asmcfi.m4 +++ /dev/null @@ -1,13 +0,0 @@ -AC_DEFUN([GCC_AS_CFI_PSEUDO_OP], -[AC_CACHE_CHECK([assembler .cfi pseudo-op support], - gcc_cv_as_cfi_pseudo_op, [ - gcc_cv_as_cfi_pseudo_op=unknown - AC_TRY_COMPILE([asm (".cfi_sections\n\t.cfi_startproc\n\t.cfi_endproc");],, - [gcc_cv_as_cfi_pseudo_op=yes], - [gcc_cv_as_cfi_pseudo_op=no]) - ]) - if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then - AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1, - [Define if your assembler supports .cfi_* directives.]) - fi -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_append_flag.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_append_flag.m4 deleted file mode 100644 index dd6d8b6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_append_flag.m4 +++ /dev/null @@ -1,50 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_append_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE]) -# -# DESCRIPTION -# -# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space -# added in between. -# -# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. -# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains -# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly -# FLAG. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 8 - -AC_DEFUN([AX_APPEND_FLAG], -[dnl -AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF -AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) -AS_VAR_SET_IF(FLAGS,[ - AS_CASE([" AS_VAR_GET(FLAGS) "], - [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], - [ - AS_VAR_APPEND(FLAGS,[" $1"]) - AC_RUN_LOG([: FLAGS="$FLAGS"]) - ]) - ], - [ - AS_VAR_SET(FLAGS,[$1]) - AC_RUN_LOG([: FLAGS="$FLAGS"]) - ]) -AS_VAR_POPDEF([FLAGS])dnl -])dnl AX_APPEND_FLAG diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 deleted file mode 100644 index 2f447af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +++ /dev/null @@ -1,198 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CC_MAXOPT -# -# DESCRIPTION -# -# Try to turn on "good" C optimization flags for various compilers and -# architectures, for some definition of "good". (In our case, good for -# FFTW and hopefully for other scientific codes. Modify as needed.) -# -# The user can override the flags by setting the CFLAGS environment -# variable. The user can also specify --enable-portable-binary in order to -# disable any optimization flags that might result in a binary that only -# runs on the host architecture. -# -# Note also that the flags assume that ANSI C aliasing rules are followed -# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point -# computations can be re-ordered as needed. -# -# Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR, -# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2008 Matteo Frigo -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 22 - -AC_DEFUN([AX_CC_MAXOPT], -[ -AC_REQUIRE([AC_PROG_CC]) -AC_REQUIRE([AX_COMPILER_VENDOR]) -AC_REQUIRE([AC_CANONICAL_HOST]) - -AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])], - acx_maxopt_portable=$enableval, acx_maxopt_portable=no) - -# Try to determine "good" native compiler flags if none specified via CFLAGS -if test "x$ac_test_CFLAGS" = "x"; then - case $ax_cv_c_compiler_vendor in - dec) CFLAGS="$CFLAGS -newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host" - if test "x$acx_maxopt_portable" = xno; then - CFLAGS="$CFLAGS -arch host" - fi;; - - sun) CFLAGS="$CFLAGS -native -fast -xO5 -dalign" - if test "x$acx_maxopt_portable" = xyes; then - CFLAGS="$CFLAGS -xarch=generic" - fi;; - - hp) CFLAGS="$CFLAGS +Oall +Optrs_ansi +DSnative" - if test "x$acx_maxopt_portable" = xyes; then - CFLAGS="$CFLAGS +DAportable" - fi;; - - ibm) if test "x$acx_maxopt_portable" = xno; then - xlc_opt="-qarch=auto -qtune=auto" - else - xlc_opt="-qtune=auto" - fi - AX_CHECK_COMPILE_FLAG($xlc_opt, - CFLAGS="$CFLAGS -O3 -qansialias -w $xlc_opt", - [CFLAGS="$CFLAGS -O3 -qansialias -w" - echo "******************************************************" - echo "* You seem to have the IBM C compiler. It is *" - echo "* recommended for best performance that you use: *" - echo "* *" - echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *" - echo "* ^^^ ^^^ *" - echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *" - echo "* CPU you have. (Set the CFLAGS environment var. *" - echo "* and re-run configure.) For more info, man cc. *" - echo "******************************************************"]) - ;; - - intel) CFLAGS="$CFLAGS -O3 -ansi_alias" - if test "x$acx_maxopt_portable" = xno; then - icc_archflag=unknown - icc_flags="" - case $host_cpu in - i686*|x86_64*) - # icc accepts gcc assembly syntax, so these should work: - AX_GCC_X86_CPUID(0) - AX_GCC_X86_CPUID(1) - case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG - *:756e6547:6c65746e:49656e69) # Intel - case $ax_cv_gcc_x86_cpuid_1 in - *0?6[[78ab]]?:*:*:*|?6[[78ab]]?:*:*:*|6[[78ab]]?:*:*:*) icc_flags="-xK" ;; - *0?6[[9d]]?:*:*:*|?6[[9d]]?:*:*:*|6[[9d]]?:*:*:*|*1?65?:*:*:*) icc_flags="-xSSE2 -xB -xK" ;; - *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) icc_flags="-xSSE3 -xP -xO -xB -xK" ;; - *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) icc_flags="-xSSSE3 -xT -xB -xK" ;; - *1?6[[7d]]?:*:*:*) icc_flags="-xSSE4.1 -xS -xT -xB -xK" ;; - *1?6[[aef]]?:*:*:*|*2?6[[5cef]]?:*:*:*) icc_flags="-xSSE4.2 -xS -xT -xB -xK" ;; - *2?6[[ad]]?:*:*:*) icc_flags="-xAVX -SSE4.2 -xS -xT -xB -xK" ;; - *3?6[[ae]]?:*:*:*) icc_flags="-xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;; - *3?6[[cf]]?:*:*:*|*4?6[[56]]?:*:*:*) icc_flags="-xCORE-AVX2 -xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;; - *000?f[[346]]?:*:*:*|?f[[346]]?:*:*:*|f[[346]]?:*:*:*) icc_flags="-xSSE3 -xP -xO -xN -xW -xK" ;; - *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) icc_flags="-xSSE2 -xN -xW -xK" ;; - esac ;; - esac ;; - esac - if test "x$icc_flags" != x; then - for flag in $icc_flags; do - AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break]) - done - fi - AC_MSG_CHECKING([for icc architecture flag]) - AC_MSG_RESULT($icc_archflag) - if test "x$icc_archflag" != xunknown; then - CFLAGS="$CFLAGS $icc_archflag" - fi - fi - ;; - - nvhpc) - # default optimization flags for nvhpc - CFLAGS="$CFLAGS -O3" - ;; - - gnu) - # default optimization flags for gcc on all systems - CFLAGS="$CFLAGS -O3 -fomit-frame-pointer" - - # -malign-double for x86 systems - # LIBFFI_LOCAL: don't do this. - # The testsuite doesn't use these flags and we'll get test failures. - # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double") - - # -fstrict-aliasing for gcc-2.95+ - AX_CHECK_COMPILE_FLAG(-fstrict-aliasing, - CFLAGS="$CFLAGS -fstrict-aliasing") - - # note that we enable "unsafe" fp optimization with other compilers, too - AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math") - - AX_GCC_ARCHFLAG($acx_maxopt_portable) - ;; - - microsoft) - # default optimization flags for MSVC opt builds - CFLAGS="$CFLAGS -O2" - ;; - esac - - if test -z "$CFLAGS"; then - echo "" - echo "********************************************************" - echo "* WARNING: Don't know the best CFLAGS for this system *" - echo "* Use ./configure CFLAGS=... to specify your own flags *" - echo "* (otherwise, a default of CFLAGS=-O3 will be used) *" - echo "********************************************************" - echo "" - CFLAGS="$CFLAGS -O3" - fi - - AX_CHECK_COMPILE_FLAG($CFLAGS, [], [ - echo "" - echo "********************************************************" - echo "* WARNING: The guessed CFLAGS don't seem to work with *" - echo "* your compiler. *" - echo "* Use ./configure CFLAGS=... to specify your own flags *" - echo "********************************************************" - echo "" - ]) - -fi -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 deleted file mode 100644 index 9235a18..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +++ /dev/null @@ -1,158 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CFLAGS_WARN_ALL [(shellvar[, default[, action-if-found[, action-if-not-found]]])] -# AX_CXXFLAGS_WARN_ALL [(shellvar[, default[, action-if-found[, action-if-not-found]]])] -# AX_FCFLAGS_WARN_ALL [(shellvar[, default[, action-if-found[, action-if-not-found]]])] -# -# DESCRIPTION -# -# Specify compiler options that enable most reasonable warnings. For the -# GNU Compiler Collection (GCC), for example, it will be "-Wall". The -# result is added to shellvar, one of CFLAGS, CXXFLAGS or FCFLAGS if the -# first parameter is not specified. -# -# Each of these macros accepts the following optional arguments: -# -# - $1 - shellvar -# shell variable to use (CFLAGS, CXXFLAGS or FCFLAGS if not -# specified, depending on macro) -# -# - $2 - default -# value to use for flags if compiler vendor cannot be determined (by -# default, "") -# -# - $3 - action-if-found -# action to take if the compiler vendor has been successfully -# determined (by default, add the appropriate compiler flags to -# shellvar) -# -# - $4 - action-if-not-found -# action to take if the compiler vendor has not been determined or -# is unknown (by default, add the default flags, or "" if not -# specified, to shellvar) -# -# These macros use AX_COMPILER_VENDOR to determine which flags should be -# returned for a given compiler. Not all compilers currently have flags -# defined for them; patches are welcome. If need be, compiler flags may -# be made language-dependent: use a construct like the following: -# -# [vendor_name], [m4_if(_AC_LANG_PREFIX,[C], VAR="--relevant-c-flags",dnl -# m4_if(_AC_LANG_PREFIX,[CXX], VAR="--relevant-c++-flags",dnl -# m4_if(_AC_LANG_PREFIX,[FC], VAR="--relevant-fortran-flags",dnl -# VAR="$2"; FOUND="no")))], -# -# Note: These macros also depend on AX_PREPEND_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2010 Rhys Ulerich -# Copyright (c) 2018 John Zaitseff -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 25 - -AC_DEFUN([AX_FLAGS_WARN_ALL], [ - AX_REQUIRE_DEFINED([AX_PREPEND_FLAG])dnl - AC_REQUIRE([AX_COMPILER_VENDOR])dnl - - AS_VAR_PUSHDEF([FLAGS], [m4_default($1,_AC_LANG_PREFIX[]FLAGS)])dnl - AS_VAR_PUSHDEF([VAR], [ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl - AS_VAR_PUSHDEF([FOUND], [ac_save_[]_AC_LANG_ABBREV[]flags_warn_all_found])dnl - - AC_CACHE_CHECK([FLAGS for most reasonable warnings], VAR, [ - VAR="" - FOUND="yes" - dnl Cases are listed in the order found in ax_compiler_vendor.m4 - AS_CASE("$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor", - [intel], [VAR="-w2"], - [ibm], [VAR="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"], - [pathscale], [], - [clang], [VAR="-Wall"], - [cray], [VAR="-h msglevel 2"], - [fujitsu], [], - [sdcc], [], - [sx], [VAR="-pvctl[,]fullmsg"], - [portland], [], - [gnu], [VAR="-Wall"], - [sun], [VAR="-v"], - [hp], [VAR="+w1"], - [dec], [VAR="-verbose -w0 -warnprotos"], - [borland], [], - [comeau], [], - [kai], [], - [lcc], [], - [sgi], [VAR="-fullwarn"], - [microsoft], [], - [metrowerks], [], - [watcom], [], - [tcc], [], - [unknown], [ - VAR="$2" - FOUND="no" - ], - [ - AC_MSG_WARN([Unknown compiler vendor returned by [AX_COMPILER_VENDOR]]) - VAR="$2" - FOUND="no" - ] - ) - - AS_IF([test "x$FOUND" = "xyes"], [dnl - m4_default($3, [AS_IF([test "x$VAR" != "x"], [AX_PREPEND_FLAG([$VAR], [FLAGS])])]) - ], [dnl - m4_default($4, [m4_ifval($2, [AX_PREPEND_FLAG([$VAR], [FLAGS])], [true])]) - ])dnl - ])dnl - - AS_VAR_POPDEF([FOUND])dnl - AS_VAR_POPDEF([VAR])dnl - AS_VAR_POPDEF([FLAGS])dnl -])dnl AX_FLAGS_WARN_ALL - -AC_DEFUN([AX_CFLAGS_WARN_ALL], [dnl - AC_LANG_PUSH([C]) - AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) - AC_LANG_POP([C]) -])dnl - -AC_DEFUN([AX_CXXFLAGS_WARN_ALL], [dnl - AC_LANG_PUSH([C++]) - AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) - AC_LANG_POP([C++]) -])dnl - -AC_DEFUN([AX_FCFLAGS_WARN_ALL], [dnl - AC_LANG_PUSH([Fortran]) - AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) - AC_LANG_POP([Fortran]) -])dnl diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 deleted file mode 100644 index bd753b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +++ /dev/null @@ -1,53 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) -# -# DESCRIPTION -# -# Check whether the given FLAG works with the current language's compiler -# or gives an error. (Warnings, however, are ignored) -# -# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -# success/failure. -# -# If EXTRA-FLAGS is defined, it is added to the current language's default -# flags (e.g. CFLAGS) when the check is done. The check is thus made with -# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to -# force the compiler to issue an error when a bad flag is given. -# -# INPUT gives an alternative input source to AC_COMPILE_IFELSE. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 6 - -AC_DEFUN([AX_CHECK_COMPILE_FLAG], -[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_VAR_IF(CACHEVAR,yes, - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -])dnl AX_CHECK_COMPILE_FLAGS diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 deleted file mode 100644 index 039f99d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +++ /dev/null @@ -1,119 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_COMPILER_VENDOR -# -# DESCRIPTION -# -# Determine the vendor of the C, C++ or Fortran compiler. The vendor is -# returned in the cache variable $ax_cv_c_compiler_vendor for C, -# $ax_cv_cxx_compiler_vendor for C++ or $ax_cv_fc_compiler_vendor for -# (modern) Fortran. The value is one of "intel", "ibm", "pathscale", -# "clang" (LLVM), "cray", "fujitsu", "sdcc", "sx", "nvhpc" (NVIDIA HPC -# Compiler), "portland" (PGI), "gnu" (GCC), "sun" (Oracle Developer -# Studio), "hp", "dec", "borland", "comeau", "kai", "lcc", "sgi", -# "microsoft", "metrowerks", "watcom", "tcc" (Tiny CC) or "unknown" (if -# the compiler cannot be determined). -# -# To check for a Fortran compiler, you must first call AC_FC_PP_SRCEXT -# with an appropriate preprocessor-enabled extension. For example: -# -# AC_LANG_PUSH([Fortran]) -# AC_PROG_FC -# AC_FC_PP_SRCEXT([F]) -# AX_COMPILER_VENDOR -# AC_LANG_POP([Fortran]) -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2008 Matteo Frigo -# Copyright (c) 2018-19 John Zaitseff -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 32 - -AC_DEFUN([AX_COMPILER_VENDOR], [dnl - AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, [dnl - dnl If you modify this list of vendors, please add similar support - dnl to ax_compiler_version.m4 if at all possible. - dnl - dnl Note: Do NOT check for GCC first since some other compilers - dnl define __GNUC__ to remain compatible with it. Compilers that - dnl are very slow to start (such as Intel) are listed first. - - vendors=" - intel: __ICC,__ECC,__INTEL_COMPILER - ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__,__ibmxl__ - pathscale: __PATHCC__,__PATHSCALE__ - clang: __clang__ - cray: _CRAYC - fujitsu: __FUJITSU - sdcc: SDCC,__SDCC - sx: _SX - nvhpc: __NVCOMPILER - portland: __PGI - gnu: __GNUC__ - sun: __SUNPRO_C,__SUNPRO_CC,__SUNPRO_F90,__SUNPRO_F95 - hp: __HP_cc,__HP_aCC - dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER - borland: __BORLANDC__,__CODEGEARC__,__TURBOC__ - comeau: __COMO__ - kai: __KCC - lcc: __LCC__ - sgi: __sgi,sgi - microsoft: _MSC_VER - metrowerks: __MWERKS__ - watcom: __WATCOMC__ - tcc: __TINYC__ - unknown: UNKNOWN - " - for ventest in $vendors; do - case $ventest in - *:) - vendor=$ventest - continue - ;; - *) - vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" - ;; - esac - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ -#if !($vencpp) - thisisanerror; -#endif - ]])], [break]) - done - - ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1` - ]) -])dnl diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_configure_args.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_configure_args.m4 deleted file mode 100644 index 9237efe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_configure_args.m4 +++ /dev/null @@ -1,49 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_configure_args.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CONFIGURE_ARGS -# -# DESCRIPTION -# -# Helper macro for AX_ENABLE_BUILDDIR. -# -# The traditional way of starting a subdir-configure is running the script -# with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have -# to rely on eval'ing $ac_configure_args however some old autoconf -# versions do not provide that. To ensure maximum portability of autoconf -# extension macros this helper can be AC_REQUIRE'd so that -# $ac_configure_args will always be present. -# -# Sadly, the traditional "exec $SHELL" of the enable_builddir macros is -# spoiled now and must be replaced by "eval + exit $?". -# -# Example: -# -# AC_DEFUN([AX_ENABLE_SUBDIR],[dnl -# AC_REQUIRE([AX_CONFIGURE_ARGS])dnl -# eval $SHELL $ac_configure_args || exit $? -# ...]) -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 14 - -AC_DEFUN([AX_CONFIGURE_ARGS],[ - # [$]@ is unusable in 2.60+ but earlier autoconf had no ac_configure_args - if test "${ac_configure_args+set}" != "set" ; then - ac_configure_args= - for ac_arg in ${1+"[$]@"}; do - ac_configure_args="$ac_configure_args '$ac_arg'" - done - fi -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 deleted file mode 100644 index 710384d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +++ /dev/null @@ -1,302 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])] -# -# DESCRIPTION -# -# If the current configure was run within the srcdir then we move all -# configure-files into a subdir and let the configure steps continue -# there. We provide an option --disable-builddir to suppress the move into -# a separate builddir. -# -# Defaults: -# -# $1 = $host (overridden with $HOST) -# $2 = Makefile.mk -# $3 = -all -# -# This macro must be called before AM_INIT_AUTOMAKE. It creates a default -# toplevel srcdir Makefile from the information found in the created -# toplevel builddir Makefile. It just copies the variables and -# rule-targets, each extended with a default rule-execution that recurses -# into the build directory of the current "HOST". You can override the -# auto-detection through `config.guess` and build-time of course, as in -# -# make HOST=i386-mingw-cross -# -# which can of course set at configure time as well using -# -# configure --host=i386-mingw-cross -# -# After the default has been created, additional rules can be appended -# that will not just recurse into the subdirectories and only ever exist -# in the srcdir toplevel makefile - these parts are read from the $2 = -# Makefile.mk file -# -# The automatic rules are usually scanning the toplevel Makefile for lines -# like '#### $host |$builddir' to recognize the place where to recurse -# into. Usually, the last one is the only one used. However, almost all -# targets have an additional "*-all" rule which makes the script to -# recurse into _all_ variants of the current HOST (!!) setting. The "-all" -# suffix can be overridden for the macro as well. -# -# a special rule is only given for things like "dist" that will copy the -# tarball from the builddir to the sourcedir (or $(PUB)) for reason of -# convenience. -# -# LICENSE -# -# Copyright (c) 2009 Guido U. Draheim -# Copyright (c) 2009 Alan Jenkins -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 30 - -AC_DEFUN([AX_ENABLE_BUILDDIR],[ -AC_REQUIRE([AC_CANONICAL_HOST])[]dnl -AC_REQUIRE([AC_CANONICAL_TARGET])[]dnl -AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl -AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl -AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl -AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl -AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl -SUB="." -AC_ARG_ENABLE([builddir], AS_HELP_STRING( - [--disable-builddir],[disable automatic build in subdir of sources]) - ,[SUB="$enableval"], [SUB="auto"]) -if test ".$ac_srcdir_defaulted" != ".no" ; then -if test ".$srcdir" = ".." ; then - if test -f config.status ; then - AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build) - else - test ".$SUB" = "." && SUB="." - test ".$SUB" = ".no" && SUB="." - test ".$TARGET" = "." && TARGET="$target" - test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])" - if test ".$SUB" != ".." ; then # we know where to go and - AS_MKDIR_P([$SUB]) - echo __.$SUB.__ > $SUB/conftest.tmp - cd $SUB - if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then - rm conftest.tmp - AC_MSG_RESULT([continue configure in default builddir "./$SUB"]) - else - AC_MSG_ERROR([could not change to default builddir "./$SUB"]) - fi - srcdir=`echo "$SUB" | - sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'` - # going to restart from subdirectory location - test -f $srcdir/config.log && mv $srcdir/config.log . - test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h . - test -f $srcdir/conftest.log && mv $srcdir/conftest.log . - test -f $srcdir/$cache_file && mv $srcdir/$cache_file . - AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"}) - case "[$]0" in # restart - [[\\/]]* | ?:[[\\/]]*) # Absolute name - eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;; - *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;; - esac ; exit $? - fi - fi -fi fi -test ".$SUB" = ".auto" && SUB="." -dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec" -AC_PATH_PROG(SED,gsed sed, sed) -AUX="$am_aux_dir" -AS_VAR_POPDEF([SED])dnl -AS_VAR_POPDEF([AUX])dnl -AS_VAR_POPDEF([SUB])dnl -AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status .............. -AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl -AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl -AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl -AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl -AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl -pushdef([END],[Makefile.mk])dnl -pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl - SRC="$ax_enable_builddir_srcdir" - if test ".$SUB" = ".." ; then - if test -f "$TOP/Makefile" ; then - AC_MSG_NOTICE([skipping TOP/Makefile - left untouched]) - else - AC_MSG_NOTICE([skipping TOP/Makefile - not created]) - fi - else - if test -f "$SRC/Makefile" ; then - a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile` - test "$a" != "$b" && rm "$SRC/Makefile" - fi - if test -f "$SRC/Makefile" ; then - echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk - echo " []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk - eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null" - if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null - then rm $SRC/Makefile ; fi - cp $tmp/conftemp.mk $SRC/makefiles.mk~ ## DEBUGGING - fi - if test ! -f "$SRC/Makefile" ; then - AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile]) - x='`' ; cat >$tmp/conftemp.sed <<_EOF -/^\$/n -x -/^\$/bS -x -/\\\\\$/{H;d;} -{H;s/.*//;x;} -bM -:S -x -/\\\\\$/{h;d;} -{h;s/.*//;x;} -:M -s/\\(\\n\\) /\\1 /g -/^ /d -/^[[ ]]*[[\\#]]/d -/^VPATH *=/d -s/^srcdir *=.*/srcdir = ./ -s/^top_srcdir *=.*/top_srcdir = ./ -/[[:=]]/!d -/^\\./d -dnl Now handle rules (i.e. lines containing ":" but not " = "). -/ = /b -/ .= /b -/:/!b -s/:.*/:/ -s/ / /g -s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g -s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/ -s/ / /g -/^all all[]_ALL[[ :]]/i\\ -all-configured : all[]_ALL -dnl dist-all exists... and would make for dist-all-all -s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g -/[]_ALL[]_ALL/d -a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\ - ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ - ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\ - ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\ - ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\ - ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\ - ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done -dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree) -/dist[]_ALL *:/a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\ - ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ - ; found=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\ - ; if test "\$\$found" -eq "0" ; then : \\\\\\ - ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\ - ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\ - ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done -dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree) -/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\ - ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ - ; found=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\ - ; if test "\$\$found" -eq "0" ; then : \\\\\\ - ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\ - ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\ - ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done -dnl special rule add-on: "distclean" removes all local builddirs completely -/distclean[]_ALL *:/a\\ - @ HOST="\$(HOST)\" \\\\\\ - ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\ - ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\ - ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\ - ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\ - ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\ - ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\ - ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ - ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\ - ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\ - ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile -_EOF - cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING - $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile - if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then - AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])]) - cat $SRC/END >>$SRC/Makefile - fi ; xxxx="####" - echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile - # sanity check - if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then - AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts]) - $SED -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $SRC/Makefile \ - >$SRC/Makefile~ - (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null - fi - else - xxxx="\\#\\#\\#\\#" - # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed - echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed - $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp - cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~" ## DEBUGGING - cp "$tmp/mkfile.tmp" "$SRC/makefiles.out~" ## DEBUGGING - if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then - AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure]) - rm "$tmp/mkfile.tmp" - else - AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure]) - mv "$tmp/mkfile.tmp" "$SRC/Makefile" - fi - fi - AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)]) - xxxx="####" - echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile - fi -popdef([END])dnl -AS_VAR_POPDEF([SED])dnl -AS_VAR_POPDEF([AUX])dnl -AS_VAR_POPDEF([SRC])dnl -AS_VAR_POPDEF([TOP])dnl -AS_VAR_POPDEF([SUB])dnl -],[dnl -ax_enable_builddir_srcdir="$srcdir" # $srcdir -ax_enable_builddir_host="$HOST" # $HOST / $host -ax_enable_builddir_version="$VERSION" # $VERSION -ax_enable_builddir_package="$PACKAGE" # $PACKAGE -ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX -ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED -ax_enable_builddir="$ax_enable_builddir" # $SUB -])dnl -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 deleted file mode 100644 index c52b9b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +++ /dev/null @@ -1,267 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE]) -# -# DESCRIPTION -# -# This macro tries to guess the "native" arch corresponding to the target -# architecture for use with gcc's -march=arch or -mtune=arch flags. If -# found, the cache variable $ax_cv_gcc_archflag is set to this flag and -# ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to -# "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is -# to add $ax_cv_gcc_archflag to the end of $CFLAGS. -# -# PORTABLE? should be either [yes] (default) or [no]. In the former case, -# the flag is set to -mtune (or equivalent) so that the architecture is -# only used for tuning, but the instruction set used is still portable. In -# the latter case, the flag is set to -march (or equivalent) so that -# architecture-specific instructions are enabled. -# -# The user can specify --with-gcc-arch= in order to override the -# macro's choice of architecture, or --without-gcc-arch to disable this. -# -# When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is -# called unless the user specified --with-gcc-arch manually. -# -# Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID -# -# (The main emphasis here is on recent CPUs, on the principle that doing -# high-performance computing on old hardware is uncommon.) -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2008 Matteo Frigo -# Copyright (c) 2014 Tsukasa Oi -# Copyright (c) 2017-2018 Alexey Kopytov -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 22 - -AC_DEFUN([AX_GCC_ARCHFLAG], -[AC_REQUIRE([AC_PROG_CC]) -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_SED]) -AC_REQUIRE([AX_COMPILER_VENDOR]) - -AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=], [use architecture for gcc -march/-mtune, instead of guessing])], - ax_gcc_arch=$withval, ax_gcc_arch=yes) - -AC_MSG_CHECKING([for gcc architecture flag]) -AC_MSG_RESULT([]) -AC_CACHE_VAL(ax_cv_gcc_archflag, -[ -ax_cv_gcc_archflag="unknown" - -if test "$GCC" = yes; then - -if test "x$ax_gcc_arch" = xyes; then -ax_gcc_arch="" -if test "$cross_compiling" = no; then -case $host_cpu in - i[[3456]]86*|x86_64*|amd64*) # use cpuid codes - AX_GCC_X86_CPUID(0) - AX_GCC_X86_CPUID(1) - case $ax_cv_gcc_x86_cpuid_0 in - *:756e6547:6c65746e:49656e69) # Intel - case $ax_cv_gcc_x86_cpuid_1 in - *5[[4578]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;; - *5[[123]]?:*:*:*) ax_gcc_arch=pentium ;; - *0?61?:*:*:*|?61?:*:*:*|61?:*:*:*) ax_gcc_arch=pentiumpro ;; - *0?6[[356]]?:*:*:*|?6[[356]]?:*:*:*|6[[356]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;; - *0?6[[78ab]]?:*:*:*|?6[[78ab]]?:*:*:*|6[[78ab]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;; - *0?6[[9d]]?:*:*:*|?6[[9d]]?:*:*:*|6[[9d]]?:*:*:*|*1?65?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;; - *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) ax_gcc_arch="yonah pentium-m pentium3 pentiumpro" ;; - *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;; - *1?6[[7d]]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;; - *1?6[[aef]]?:*:*:*|*2?6e?:*:*:*) ax_gcc_arch="nehalem corei7 core2 pentium-m pentium3 pentiumpro" ;; - *2?6[[5cf]]?:*:*:*) ax_gcc_arch="westmere corei7 core2 pentium-m pentium3 pentiumpro" ;; - *2?6[[ad]]?:*:*:*) ax_gcc_arch="sandybridge corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *3?6[[ae]]?:*:*:*) ax_gcc_arch="ivybridge core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *3?6[[cf]]?:*:*:*|*4?6[[56]]?:*:*:*) ax_gcc_arch="haswell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *3?6d?:*:*:*|*4?6[[7f]]?:*:*:*|*5?66?:*:*:*) ax_gcc_arch="broadwell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; - *1?6c?:*:*:*|*2?6[[67]]?:*:*:*|*3?6[[56]]?:*:*:*) ax_gcc_arch="bonnell atom core2 pentium-m pentium3 pentiumpro" ;; - *3?67?:*:*:*|*[[45]]?6[[ad]]?:*:*:*) ax_gcc_arch="silvermont atom core2 pentium-m pentium3 pentiumpro" ;; - *000?f[[012]]?:*:*:*|?f[[012]]?:*:*:*|f[[012]]?:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;; - *000?f[[346]]?:*:*:*|?f[[346]]?:*:*:*|f[[346]]?:*:*:*) ax_gcc_arch="nocona prescott pentium4 pentiumpro" ;; - # fallback - *5??:*:*:*) ax_gcc_arch=pentium ;; - *??6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;; - *6??:*:*:*) ax_gcc_arch=pentiumpro ;; - *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;; - esac ;; - *:68747541:444d4163:69746e65) # AMD - case $ax_cv_gcc_x86_cpuid_1 in - *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;; - *5[[8]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;; - *5[[9d]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;; - *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;; - *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;; - *6[[678a]]?:*:*:*) ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;; - *000?f[[4578bcef]]?:*:*:*|?f[[4578bcef]]?:*:*:*|f[[4578bcef]]?:*:*:*|*001?f[[4578bcf]]?:*:*:*|1?f[[4578bcf]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;; - *002?f[[13457bcf]]?:*:*:*|2?f[[13457bcf]]?:*:*:*|*004?f[[138bcf]]?:*:*:*|4?f[[138bcf]]?:*:*:*|*005?f[[df]]?:*:*:*|5?f[[df]]?:*:*:*|*006?f[[8bcf]]?:*:*:*|6?f[[8bcf]]?:*:*:*|*007?f[[cf]]?:*:*:*|7?f[[cf]]?:*:*:*|*00c?f1?:*:*:*|c?f1?:*:*:*|*020?f3?:*:*:*|20?f3?:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;; - *010?f[[245689a]]?:*:*:*|10?f[[245689a]]?:*:*:*|*030?f1?:*:*:*|30?f1?:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;; - *050?f[[12]]?:*:*:*|50?f[[12]]?:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;; - *060?f1?:*:*:*|60?f1?:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;; - *060?f2?:*:*:*|60?f2?:*:*:*|*061?f[[03]]?:*:*:*|61?f[[03]]?:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;; - *063?f0?:*:*:*|63?f0?:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;; - *07[[03]]?f0?:*:*:*|7[[03]]?f0?:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;; - # fallback - *0[[13]]??f??:*:*:*|[[13]]??f??:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;; - *020?f??:*:*:*|20?f??:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;; - *05??f??:*:*:*|5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;; - *060?f??:*:*:*|60?f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;; - *061?f??:*:*:*|61?f??:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;; - *06??f??:*:*:*|6??f??:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;; - *070?f??:*:*:*|70?f??:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;; - *???f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;; - esac ;; - *:746e6543:736c7561:48727561) # IDT / VIA (Centaur) - case $ax_cv_gcc_x86_cpuid_1 in - *54?:*:*:*) ax_gcc_arch=winchip-c6 ;; - *5[[89]]?:*:*:*) ax_gcc_arch=winchip2 ;; - *66?:*:*:*) ax_gcc_arch=winchip2 ;; - *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;; - *6[[9adf]]?:*:*:*) ax_gcc_arch="c3-2 c3" ;; - esac ;; - esac - if test x"$ax_gcc_arch" = x; then # fallback - case $host_cpu in - i586*) ax_gcc_arch=pentium ;; - i686*) ax_gcc_arch=pentiumpro ;; - esac - fi - ;; - - sparc*) - AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/]) - cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null` - cputype=`echo "$cputype" | tr -d ' -' | $SED 's/SPARCIIi/SPARCII/' |tr $as_cr_LETTERS $as_cr_letters` - case $cputype in - *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;; - *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;; - *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;; - *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;; - *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;; - *cypress*) ax_gcc_arch=cypress ;; - esac ;; - - alphaev5) ax_gcc_arch=ev5 ;; - alphaev56) ax_gcc_arch=ev56 ;; - alphapca56) ax_gcc_arch="pca56 ev56" ;; - alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;; - alphaev6) ax_gcc_arch=ev6 ;; - alphaev67) ax_gcc_arch=ev67 ;; - alphaev68) ax_gcc_arch="ev68 ev67" ;; - alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;; - alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;; - alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;; - - powerpc*) - cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | $SED 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null` - cputype=`echo $cputype | $SED -e 's/ppc//g;s/ *//g'` - case $cputype in - *750*) ax_gcc_arch="750 G3" ;; - *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;; - *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;; - *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;; - *970*) ax_gcc_arch="970 G5 power4";; - *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";; - *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";; - 603ev|8240) ax_gcc_arch="$cputype 603e 603";; - *POWER7*) ax_gcc_arch="power7";; - *POWER8*) ax_gcc_arch="power8";; - *POWER9*) ax_gcc_arch="power9";; - *POWER10*) ax_gcc_arch="power10";; - *) ax_gcc_arch=$cputype ;; - esac - ax_gcc_arch="$ax_gcc_arch powerpc" - ;; - aarch64) - cpuimpl=`grep 'CPU implementer' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` - cpuarch=`grep 'CPU architecture' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` - cpuvar=`grep 'CPU variant' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` - case $cpuimpl in - 0x42) case $cpuarch in - 8) case $cpuvar in - 0x0) ax_gcc_arch="thunderx2t99 vulcan armv8.1-a armv8-a+lse armv8-a native" ;; - esac - ;; - esac - ;; - 0x43) case $cpuarch in - 8) case $cpuvar in - 0x0) ax_gcc_arch="thunderx armv8-a native" ;; - 0x1) ax_gcc_arch="thunderx+lse armv8.1-a armv8-a+lse armv8-a native" ;; - esac - ;; - esac - ;; - esac - ;; -esac -fi # not cross-compiling -fi # guess arch - -if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then -if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code - flag_prefixes="-mtune=" - if test "x$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" = xclang; then flag_prefixes="-march="; fi - # -mcpu=$arch and m$arch generate nonportable code on every arch except - # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr. - case $host_cpu in i*86|x86_64*|amd64*) flag_prefixes="$flag_prefixes -mcpu= -m";; esac -else - flag_prefixes="-march= -mcpu= -m" -fi -for flag_prefix in $flag_prefixes; do - for arch in $ax_gcc_arch; do - flag="$flag_prefix$arch" - AX_CHECK_COMPILE_FLAG($flag, [if test "x$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" = xclang; then - if test "x[]m4_default([$1],yes)" = xyes; then - if test "x$flag" = "x-march=$arch"; then flag=-mtune=$arch; fi - fi - fi; ax_cv_gcc_archflag=$flag; break]) - done - test "x$ax_cv_gcc_archflag" = xunknown || break -done -fi - -fi # $GCC=yes -]) -AC_MSG_CHECKING([for gcc architecture flag]) -AC_MSG_RESULT($ax_cv_gcc_archflag) -if test "x$ax_cv_gcc_archflag" = xunknown; then - m4_default([$3],:) -else - m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"]) -fi -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 deleted file mode 100644 index df95465..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +++ /dev/null @@ -1,89 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_GCC_X86_CPUID(OP) -# AX_GCC_X86_CPUID_COUNT(OP, COUNT) -# -# DESCRIPTION -# -# On Pentium and later x86 processors, with gcc or a compiler that has a -# compatible syntax for inline assembly instructions, run a small program -# that executes the cpuid instruction with input OP. This can be used to -# detect the CPU type. AX_GCC_X86_CPUID_COUNT takes an additional COUNT -# parameter that gets passed into register ECX before calling cpuid. -# -# On output, the values of the eax, ebx, ecx, and edx registers are stored -# as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable -# ax_cv_gcc_x86_cpuid_OP. -# -# If the cpuid instruction fails (because you are running a -# cross-compiler, or because you are not using gcc, or because you are on -# a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP -# is set to the string "unknown". -# -# This macro mainly exists to be used in AX_GCC_ARCHFLAG. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2008 Matteo Frigo -# Copyright (c) 2015 Michael Petch -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 10 - -AC_DEFUN([AX_GCC_X86_CPUID], -[AX_GCC_X86_CPUID_COUNT($1, 0) -]) - -AC_DEFUN([AX_GCC_X86_CPUID_COUNT], -[AC_REQUIRE([AC_PROG_CC]) -AC_LANG_PUSH([C]) -AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1, - [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include ], [ - int op = $1, level = $2, eax, ebx, ecx, edx; - FILE *f; - __asm__ __volatile__ ("xchg %%ebx, %1\n" - "cpuid\n" - "xchg %%ebx, %1\n" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "a" (op), "2" (level)); - - f = fopen("conftest_cpuid", "w"); if (!f) return 1; - fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); - fclose(f); - return 0; -])], - [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid], - [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid], - [ax_cv_gcc_x86_cpuid_$1=unknown])]) -AC_LANG_POP([C]) -]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 deleted file mode 100644 index adac8c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +++ /dev/null @@ -1,51 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_prepend_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_PREPEND_FLAG(FLAG, [FLAGS-VARIABLE]) -# -# DESCRIPTION -# -# FLAG is added to the front of the FLAGS-VARIABLE shell variable, with a -# space added in between. -# -# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. -# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains -# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly -# FLAG. -# -# NOTE: Implementation based on AX_APPEND_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# Copyright (c) 2018 John Zaitseff -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 2 - -AC_DEFUN([AX_PREPEND_FLAG], -[dnl -AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF -AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) -AS_VAR_SET_IF(FLAGS,[ - AS_CASE([" AS_VAR_GET(FLAGS) "], - [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], - [ - FLAGS="$1 $FLAGS" - AC_RUN_LOG([: FLAGS="$FLAGS"]) - ]) - ], - [ - AS_VAR_SET(FLAGS,[$1]) - AC_RUN_LOG([: FLAGS="$FLAGS"]) - ]) -AS_VAR_POPDEF([FLAGS])dnl -])dnl AX_PREPEND_FLAG diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_require_defined.m4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_require_defined.m4 deleted file mode 100644 index 17c3eab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_require_defined.m4 +++ /dev/null @@ -1,37 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_require_defined.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_REQUIRE_DEFINED(MACRO) -# -# DESCRIPTION -# -# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have -# been defined and thus are available for use. This avoids random issues -# where a macro isn't expanded. Instead the configure script emits a -# non-fatal: -# -# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found -# -# It's like AC_REQUIRE except it doesn't expand the required macro. -# -# Here's an example: -# -# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) -# -# LICENSE -# -# Copyright (c) 2014 Mike Frysinger -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 2 - -AC_DEFUN([AX_REQUIRE_DEFINED], [dnl - m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])]) -])dnl AX_REQUIRE_DEFINED diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/make_sunver.pl b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/make_sunver.pl deleted file mode 100644 index 8a90b1f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/make_sunver.pl +++ /dev/null @@ -1,333 +0,0 @@ -#!/usr/bin/perl -w - -# make_sunver.pl -# -# This script takes at least two arguments, a GNU style version script and -# a list of object and archive files, and generates a corresponding Sun -# style version script as follows: -# -# Each glob pattern, C++ mangled pattern or literal in the input script is -# matched against all global symbols in the input objects, emitting those -# that matched (or nothing if no match was found). -# A comment with the original pattern and its type is left in the output -# file to make it easy to understand the matches. -# -# It uses elfdump when present (native), GNU readelf otherwise. -# It depends on the GNU version of c++filt, since it must understand the -# GNU mangling style. - -use FileHandle; -use IPC::Open2; - -# Enforce C locale. -$ENV{'LC_ALL'} = "C"; -$ENV{'LANG'} = "C"; - -# Input version script, GNU style. -my $symvers = shift; - -########## -# Get all the symbols from the library, match them, and add them to a hash. - -my %sym_hash = (); - -# List of objects and archives to process. -my @OBJECTS = (); - -# List of shared objects to omit from processing. -my @SHAREDOBJS = (); - -# Filter out those input archives that have corresponding shared objects to -# avoid adding all symbols matched in the archive to the output map. -foreach $file (@ARGV) { - if (($so = $file) =~ s/\.a$/.so/ && -e $so) { - printf STDERR "omitted $file -> $so\n"; - push (@SHAREDOBJS, $so); - } else { - push (@OBJECTS, $file); - } -} - -# We need to detect and ignore hidden symbols. Solaris nm can only detect -# this in the harder to parse default output format, and GNU nm not at all, -# so use elfdump -s in the native case and GNU readelf -s otherwise. -# GNU objdump -t cannot be used since it produces a variable number of -# columns. - -# The path to elfdump. -my $elfdump = "/usr/ccs/bin/elfdump"; - -if (-f $elfdump) { - open ELFDUMP,$elfdump.' -s '.(join ' ',@OBJECTS).'|' or die $!; - my $skip_arsym = 0; - - while () { - chomp; - - # Ignore empty lines. - if (/^$/) { - # End of archive symbol table, stop skipping. - $skip_arsym = 0 if $skip_arsym; - next; - } - - # Keep skipping until end of archive symbol table. - next if ($skip_arsym); - - # Ignore object name header for individual objects and archives. - next if (/:$/); - - # Ignore table header lines. - next if (/^Symbol Table Section:/); - next if (/index.*value.*size/); - - # Start of archive symbol table: start skipping. - if (/^Symbol Table: \(archive/) { - $skip_arsym = 1; - next; - } - - # Split table. - (undef, undef, undef, undef, $bind, $oth, undef, $shndx, $name) = split; - - # Error out for unknown input. - die "unknown input line:\n$_" unless defined($bind); - - # Ignore local symbols. - next if ($bind eq "LOCL"); - # Ignore hidden symbols. - next if ($oth eq "H"); - # Ignore undefined symbols. - next if ($shndx eq "UNDEF"); - # Error out for unhandled cases. - if ($bind !~ /^(GLOB|WEAK)/ or $oth ne "D") { - die "unhandled symbol:\n$_"; - } - - # Remember symbol. - $sym_hash{$name}++; - } - close ELFDUMP or die "$elfdump error"; -} else { - open READELF, 'readelf -s -W '.(join ' ',@OBJECTS).'|' or die $!; - # Process each symbol. - while () { - chomp; - - # Ignore empty lines. - next if (/^$/); - - # Ignore object name header. - next if (/^File: .*$/); - - # Ignore table header lines. - next if (/^Symbol table.*contains.*:/); - next if (/Num:.*Value.*Size/); - - # Split table. - (undef, undef, undef, undef, $bind, $vis, $ndx, $name) = split; - - # Error out for unknown input. - die "unknown input line:\n$_" unless defined($bind); - - # Ignore local symbols. - next if ($bind eq "LOCAL"); - # Ignore hidden symbols. - next if ($vis eq "HIDDEN"); - # Ignore undefined symbols. - next if ($ndx eq "UND"); - # Error out for unhandled cases. - if ($bind !~ /^(GLOBAL|WEAK)/ or $vis ne "DEFAULT") { - die "unhandled symbol:\n$_"; - } - - # Remember symbol. - $sym_hash{$name}++; - } - close READELF or die "readelf error"; -} - -########## -# The various types of glob patterns. -# -# A glob pattern that is to be applied to the demangled name: 'cxx'. -# A glob patterns that applies directly to the name in the .o files: 'glob'. -# This pattern is ignored; used for local variables (usually just '*'): 'ign'. - -# The type of the current pattern. -my $glob = 'glob'; - -# We're currently inside `extern "C++"', which Sun ld doesn't understand. -my $in_extern = 0; - -# The c++filt command to use. This *must* be GNU c++filt; the Sun Studio -# c++filt doesn't handle the GNU mangling style. -my $cxxfilt = $ENV{'CXXFILT'} || "c++filt"; - -# The current version name. -my $current_version = ""; - -# Was there any attempt to match a symbol to this version? -my $matches_attempted; - -# The number of versions which matched this symbol. -my $matched_symbols; - -open F,$symvers or die $!; - -# Print information about generating this file -print "# This file was generated by make_sunver.pl. DO NOT EDIT!\n"; -print "# It was generated by:\n"; -printf "# %s %s %s\n", $0, $symvers, (join ' ',@ARGV); -printf "# Omitted archives with corresponding shared libraries: %s\n", - (join ' ', @SHAREDOBJS) if $#SHAREDOBJS >= 0; -print "#\n\n"; - -while () { - # Lines of the form '};' - if (/^([ \t]*)(\}[ \t]*;[ \t]*)$/) { - $glob = 'glob'; - if ($in_extern) { - $in_extern--; - print "$1##$2\n"; - } else { - print; - } - next; - } - - # Lines of the form '} SOME_VERSION_NAME_1.0;' - if (/^[ \t]*\}[ \tA-Z0-9_.a-z]+;[ \t]*$/) { - $glob = 'glob'; - # We tried to match symbols agains this version, but none matched. - # Emit dummy hidden symbol to avoid marking this version WEAK. - if ($matches_attempted && $matched_symbols == 0) { - print " hidden:\n"; - print " .force_WEAK_off_$current_version = DATA S0x0 V0x0;\n"; - } - print; next; - } - - # Comment and blank lines - if (/^[ \t]*\#/) { print; next; } - if (/^[ \t]*$/) { print; next; } - - # Lines of the form '{' - if (/^([ \t]*){$/) { - if ($in_extern) { - print "$1##{\n"; - } else { - print; - } - next; - } - - # Lines of the form 'SOME_VERSION_NAME_1.1 {' - if (/^([A-Z0-9_.]+)[ \t]+{$/) { - # Record version name. - $current_version = $1; - # Reset match attempts, #matched symbols for this version. - $matches_attempted = 0; - $matched_symbols = 0; - print; - next; - } - - # Ignore 'global:' - if (/^[ \t]*global:$/) { print; next; } - - # After 'local:', globs should be ignored, they won't be exported. - if (/^[ \t]*local:$/) { - $glob = 'ign'; - print; - next; - } - - # After 'extern "C++"', globs are C++ patterns - if (/^([ \t]*)(extern \"C\+\+\"[ \t]*)$/) { - $in_extern++; - $glob = 'cxx'; - # Need to comment, Sun ld cannot handle this. - print "$1##$2\n"; next; - } - - # Chomp newline now we're done with passing through the input file. - chomp; - - # Catch globs. Note that '{}' is not allowed in globs by this script, - # so only '*' and '[]' are available. - if (/^([ \t]*)([^ \t;{}#]+);?[ \t]*$/) { - my $ws = $1; - my $ptn = $2; - # Turn the glob into a regex by replacing '*' with '.*', '?' with '.'. - # Keep $ptn so we can still print the original form. - ($pattern = $ptn) =~ s/\*/\.\*/g; - $pattern =~ s/\?/\./g; - - if ($glob eq 'ign') { - # We're in a local: * section; just continue. - print "$_\n"; - next; - } - - # Print the glob commented for human readers. - print "$ws##$ptn ($glob)\n"; - # We tried to match a symbol to this version. - $matches_attempted++; - - if ($glob eq 'glob') { - my %ptn_syms = (); - - # Match ptn against symbols in %sym_hash. - foreach my $sym (keys %sym_hash) { - # Maybe it matches one of the patterns based on the symbol in - # the .o file. - $ptn_syms{$sym}++ if ($sym =~ /^$pattern$/); - } - - foreach my $sym (sort keys(%ptn_syms)) { - $matched_symbols++; - print "$ws$sym;\n"; - } - } elsif ($glob eq 'cxx') { - my %dem_syms = (); - - # Verify that we're actually using GNU c++filt. Other versions - # most likely cannot handle GNU style symbol mangling. - my $cxxout = `$cxxfilt --version 2>&1`; - $cxxout =~ m/GNU/ or die "$0 requires GNU c++filt to function"; - - # Talk to c++filt through a pair of file descriptors. - # Need to start a fresh instance per pattern, otherwise the - # process grows to 500+ MB. - my $pid = open2(*FILTIN, *FILTOUT, $cxxfilt) or die $!; - - # Match ptn against symbols in %sym_hash. - foreach my $sym (keys %sym_hash) { - # No? Well, maybe its demangled form matches one of those - # patterns. - printf FILTOUT "%s\n",$sym; - my $dem = ; - chomp $dem; - $dem_syms{$sym}++ if ($dem =~ /^$pattern$/); - } - - close FILTOUT or die "c++filt error"; - close FILTIN or die "c++filt error"; - # Need to wait for the c++filt process to avoid lots of zombies. - waitpid $pid, 0; - - foreach my $sym (sort keys(%dem_syms)) { - $matched_symbols++; - print "$ws$sym;\n"; - } - } else { - # No? Well, then ignore it. - } - next; - } - # Important sanity check. This script can't handle lots of formats - # that GNU ld can, so be sure to error out if one is seen! - die "strange line `$_'"; -} -close F; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.am b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.am deleted file mode 100644 index afcbfb6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -## Process this with automake to create Makefile.in - -AUTOMAKE_OPTIONS=foreign - -EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3 - -man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi.3 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi.3 deleted file mode 100644 index 1f1d303..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi.3 +++ /dev/null @@ -1,41 +0,0 @@ -.Dd February 15, 2008 -.Dt FFI 3 -.Sh NAME -.Nm FFI -.Nd Foreign Function Interface -.Sh LIBRARY -libffi, -lffi -.Sh SYNOPSIS -.In ffi.h -.Ft ffi_status -.Fo ffi_prep_cif -.Fa "ffi_cif *cif" -.Fa "ffi_abi abi" -.Fa "unsigned int nargs" -.Fa "ffi_type *rtype" -.Fa "ffi_type **atypes" -.Fc -.Ft void -.Fo ffi_prep_cif_var -.Fa "ffi_cif *cif" -.Fa "ffi_abi abi" -.Fa "unsigned int nfixedargs" -.Fa "unsigned int ntotalargs" -.Fa "ffi_type *rtype" -.Fa "ffi_type **atypes" -.Fc -.Ft void -.Fo ffi_call -.Fa "ffi_cif *cif" -.Fa "void (*fn)(void)" -.Fa "void *rvalue" -.Fa "void **avalue" -.Fc -.Sh DESCRIPTION -The foreign function interface provides a mechanism by which a function can -generate a call to another function at runtime without requiring knowledge of -the called function's interface at compile time. -.Sh SEE ALSO -.Xr ffi_prep_cif 3 , -.Xr ffi_prep_cif_var 3 , -.Xr ffi_call 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_call.3 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_call.3 deleted file mode 100644 index 5351513..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_call.3 +++ /dev/null @@ -1,103 +0,0 @@ -.Dd February 15, 2008 -.Dt ffi_call 3 -.Sh NAME -.Nm ffi_call -.Nd Invoke a foreign function. -.Sh SYNOPSIS -.In ffi.h -.Ft void -.Fo ffi_call -.Fa "ffi_cif *cif" -.Fa "void (*fn)(void)" -.Fa "void *rvalue" -.Fa "void **avalue" -.Fc -.Sh DESCRIPTION -The -.Nm ffi_call -function provides a simple mechanism for invoking a function without -requiring knowledge of the function's interface at compile time. -.Fa fn -is called with the values retrieved from the pointers in the -.Fa avalue -array. The return value from -.Fa fn -is placed in storage pointed to by -.Fa rvalue . -.Fa cif -contains information describing the data types, sizes and alignments of the -arguments to and return value from -.Fa fn , -and must be initialized with -.Nm ffi_prep_cif -before it is used with -.Nm ffi_call . -.Pp -.Fa rvalue -must point to storage that is sizeof(ffi_arg) or larger for non-floating point -types. For smaller-sized return value types, the -.Nm ffi_arg -or -.Nm ffi_sarg -integral type must be used to hold -the return value. -.Sh EXAMPLES -.Bd -literal -#include -#include - -unsigned char -foo(unsigned int, float); - -int -main(int argc, const char **argv) -{ - ffi_cif cif; - ffi_type *arg_types[2]; - void *arg_values[2]; - ffi_status status; - - // Because the return value from foo() is smaller than sizeof(long), it - // must be passed as ffi_arg or ffi_sarg. - ffi_arg result; - - // Specify the data type of each argument. Available types are defined - // in . - arg_types[0] = &ffi_type_uint; - arg_types[1] = &ffi_type_float; - - // Prepare the ffi_cif structure. - if ((status = ffi_prep_cif(&cif, FFI_DEFAULT_ABI, - 2, &ffi_type_uint8, arg_types)) != FFI_OK) - { - // Handle the ffi_status error. - } - - // Specify the values of each argument. - unsigned int arg1 = 42; - float arg2 = 5.1; - - arg_values[0] = &arg1; - arg_values[1] = &arg2; - - // Invoke the function. - ffi_call(&cif, FFI_FN(foo), &result, arg_values); - - // The ffi_arg 'result' now contains the unsigned char returned from foo(), - // which can be accessed by a typecast. - printf("result is %hhu", (unsigned char)result); - - return 0; -} - -// The target function. -unsigned char -foo(unsigned int x, float y) -{ - unsigned char result = x - y; - return result; -} -.Ed -.Sh SEE ALSO -.Xr ffi 3 , -.Xr ffi_prep_cif 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif.3 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif.3 deleted file mode 100644 index ab2be8a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif.3 +++ /dev/null @@ -1,68 +0,0 @@ -.Dd February 15, 2008 -.Dt ffi_prep_cif 3 -.Sh NAME -.Nm ffi_prep_cif -.Nd Prepare a -.Nm ffi_cif -structure for use with -.Nm ffi_call -. -.Sh SYNOPSIS -.In ffi.h -.Ft ffi_status -.Fo ffi_prep_cif -.Fa "ffi_cif *cif" -.Fa "ffi_abi abi" -.Fa "unsigned int nargs" -.Fa "ffi_type *rtype" -.Fa "ffi_type **atypes" -.Fc -.Sh DESCRIPTION -The -.Nm ffi_prep_cif -function prepares a -.Nm ffi_cif -structure for use with -.Nm ffi_call -. -.Fa abi -specifies a set of calling conventions to use. -.Fa atypes -is an array of -.Fa nargs -pointers to -.Nm ffi_type -structs that describe the data type, size and alignment of each argument. -.Fa rtype -points to an -.Nm ffi_type -that describes the data type, size and alignment of the -return value. Note that to call a variadic function -.Nm ffi_prep_cif_var -must be used instead. -.Sh RETURN VALUES -Upon successful completion, -.Nm ffi_prep_cif -returns -.Nm FFI_OK . -It will return -.Nm FFI_BAD_TYPEDEF -if -.Fa cif -is -.Nm NULL -or -.Fa atypes -or -.Fa rtype -is malformed. If -.Fa abi -does not refer to a valid ABI, -.Nm FFI_BAD_ABI -will be returned. Available ABIs are -defined in -.Nm . -.Sh SEE ALSO -.Xr ffi 3 , -.Xr ffi_call 3 , -.Xr ffi_prep_cif_var 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 deleted file mode 100644 index 7e19d0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +++ /dev/null @@ -1,73 +0,0 @@ -.Dd January 25, 2011 -.Dt ffi_prep_cif_var 3 -.Sh NAME -.Nm ffi_prep_cif_var -.Nd Prepare a -.Nm ffi_cif -structure for use with -.Nm ffi_call -for variadic functions. -.Sh SYNOPSIS -.In ffi.h -.Ft ffi_status -.Fo ffi_prep_cif_var -.Fa "ffi_cif *cif" -.Fa "ffi_abi abi" -.Fa "unsigned int nfixedargs" -.Fa "unsigned int ntotalargs" -.Fa "ffi_type *rtype" -.Fa "ffi_type **atypes" -.Fc -.Sh DESCRIPTION -The -.Nm ffi_prep_cif_var -function prepares a -.Nm ffi_cif -structure for use with -.Nm ffi_call -for variadic functions. -.Fa abi -specifies a set of calling conventions to use. -.Fa atypes -is an array of -.Fa ntotalargs -pointers to -.Nm ffi_type -structs that describe the data type, size and alignment of each argument. -.Fa rtype -points to an -.Nm ffi_type -that describes the data type, size and alignment of the -return value. -.Fa nfixedargs -must contain the number of fixed (non-variadic) arguments. -Note that to call a non-variadic function -.Nm ffi_prep_cif -must be used. -.Sh RETURN VALUES -Upon successful completion, -.Nm ffi_prep_cif_var -returns -.Nm FFI_OK . -It will return -.Nm FFI_BAD_TYPEDEF -if -.Fa cif -is -.Nm NULL -or -.Fa atypes -or -.Fa rtype -is malformed. If -.Fa abi -does not refer to a valid ABI, -.Nm FFI_BAD_ABI -will be returned. Available ABIs are -defined in -.Nm -. -.Sh SEE ALSO -.Xr ffi 3 , -.Xr ffi_call 3 , -.Xr ffi_prep_cif 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln deleted file mode 100644 index d9119df..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +++ /dev/null @@ -1,33 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28302.56 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ffi_staticLib_arm64", "Ffi_staticLib.vcxproj", "{115502C0-BE05-4767-BF19-5C87D805FAD6}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Debug|ARM64.Build.0 = Debug|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Debug|x64.ActiveCfg = Debug|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Debug|x86.ActiveCfg = Debug|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Release|ARM64.ActiveCfg = Release|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Release|ARM64.Build.0 = Release|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Release|x64.ActiveCfg = Release|ARM64 - {115502C0-BE05-4767-BF19-5C87D805FAD6}.Release|x86.ActiveCfg = Release|ARM64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {241C54C7-20DD-4897-9376-E6B6D1B43BD5} - EndGlobalSection -EndGlobal diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj deleted file mode 100644 index 3187699..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Debug - ARM64 - - - Release - ARM64 - - - - 15.0 - {115502C0-BE05-4767-BF19-5C87D805FAD6} - Win32Proj - FfistaticLib - 10.0.17763.0 - Ffi_staticLib_arm64 - - - - StaticLibrary - true - v141 - Unicode - - - StaticLibrary - false - v141 - true - Unicode - - - - - - - - - - - - - - - true - - - false - - - - NotUsing - Level3 - Disabled - true - FFI_BUILDING_DLL;_DEBUG;_LIB;USE_DL_PREFIX;ARM64;_M_ARM64;NDEBUG;%(PreprocessorDefinitions) - true - ..\..\include;.\aarch64_include;..\..\src\aarch64;%(AdditionalIncludeDirectories) - false - true - - - false - - - Windows - true - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - FFI_BUILDING_DLL;USE_DL_PREFIX;ARM64;NDEBUG;_LIB;%(PreprocessorDefinitions) - true - ..\..\include;.\aarch64_include;..\..\src\aarch64;%(AdditionalIncludeDirectories) - true - Speed - true - ..\..\src;..\..\src\aarch64;%(AdditionalUsingDirectories) - - - Windows - true - true - true - - - true - - - - - - - - - - - - - - - - - - - - - - - cl /FA /EP /nologo /I"..\..\include" /I".\aarch64_include" /I"..\..\src\aarch64" "%(FullPath)" > $(IntDir)win64_armasm.i - armasm64 $(IntDir)win64_armasm.i /I"src\" /I"..\..\include" /I"..\..\src\aarch64" -o "$(IntDir)win64_armasm.obj" - - win64_armasm.obj;%(Outputs) - - - - - - \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters deleted file mode 100644 index 1f8c6e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - - \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user deleted file mode 100644 index be25078..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h deleted file mode 100644 index 8aed525..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +++ /dev/null @@ -1,511 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - libffi 3.3-rc0 - Copyright (c) 2011, 2014 Anthony Green - - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the ``Software''), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------- - Most of the API is documented in doc/libffi.texi. - - The raw API is designed to bypass some of the argument packing and - unpacking on architectures for which it can be avoided. Routines - are provided to emulate the raw API if the underlying platform - doesn't allow faster implementation. - - More details on the raw API can be found in: - - http://gcc.gnu.org/ml/java/1999-q3/msg00138.html - - and - - http://gcc.gnu.org/ml/java/1999-q3/msg00174.html - -------------------------------------------------------------------- */ - -#ifndef LIBFFI_H -#define LIBFFI_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Specify which architecture libffi is configured for. */ -#ifndef AARCH64 -#define AARCH64 -#endif - -/* ---- System configuration information --------------------------------- */ - -#include - -#ifndef LIBFFI_ASM - -#if defined(_MSC_VER) && !defined(__clang__) -#define __attribute__(X) -#endif - -#include -#include - -/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). - But we can find it either under the correct ANSI name, or under GNU - C's internal name. */ - -#define FFI_64_BIT_MAX 9223372036854775807 - -#ifdef LONG_LONG_MAX -# define FFI_LONG_LONG_MAX LONG_LONG_MAX -#else -# ifdef LLONG_MAX -# define FFI_LONG_LONG_MAX LLONG_MAX -# ifdef _AIX52 /* or newer has C99 LLONG_MAX */ -# undef FFI_64_BIT_MAX -# define FFI_64_BIT_MAX 9223372036854775807LL -# endif /* _AIX52 or newer */ -# else -# ifdef __GNUC__ -# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ -# endif -# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */ -# ifndef __PPC64__ -# if defined (__IBMC__) || defined (__IBMCPP__) -# define FFI_LONG_LONG_MAX LONGLONG_MAX -# endif -# endif /* __PPC64__ */ -# undef FFI_64_BIT_MAX -# define FFI_64_BIT_MAX 9223372036854775807LL -# endif -# endif -#endif - -/* The closure code assumes that this works on pointers, i.e. a size_t - can hold a pointer. */ - -typedef struct _ffi_type -{ - size_t size; - unsigned short alignment; - unsigned short type; - struct _ffi_type **elements; -} ffi_type; - -/* Need minimal decorations for DLLs to work on Windows. GCC has - autoimport and autoexport. Always mark externally visible symbols - as dllimport for MSVC clients, even if it means an extra indirection - when using the static version of the library. - Besides, as a workaround, they can define FFI_BUILDING if they - *know* they are going to link with the static library. */ -#if defined _MSC_VER -# if defined FFI_BUILDING_DLL /* Building libffi.DLL with msvcc.sh */ -# define FFI_API __declspec(dllexport) -# elif !defined FFI_BUILDING /* Importing libffi.DLL */ -# define FFI_API __declspec(dllimport) -# else /* Building/linking static library */ -# define FFI_API -# endif -#else -# define FFI_API -#endif - -/* The externally visible type declarations also need the MSVC DLL - decorations, or they will not be exported from the object file. */ -#if defined LIBFFI_HIDE_BASIC_TYPES -# define FFI_EXTERN FFI_API -#else -# define FFI_EXTERN extern FFI_API -#endif - -#ifndef LIBFFI_HIDE_BASIC_TYPES -#if SCHAR_MAX == 127 -# define ffi_type_uchar ffi_type_uint8 -# define ffi_type_schar ffi_type_sint8 -#else - #error "char size not supported" -#endif - -#if SHRT_MAX == 32767 -# define ffi_type_ushort ffi_type_uint16 -# define ffi_type_sshort ffi_type_sint16 -#elif SHRT_MAX == 2147483647 -# define ffi_type_ushort ffi_type_uint32 -# define ffi_type_sshort ffi_type_sint32 -#else - #error "short size not supported" -#endif - -#if INT_MAX == 32767 -# define ffi_type_uint ffi_type_uint16 -# define ffi_type_sint ffi_type_sint16 -#elif INT_MAX == 2147483647 -# define ffi_type_uint ffi_type_uint32 -# define ffi_type_sint ffi_type_sint32 -#elif INT_MAX == 9223372036854775807 -# define ffi_type_uint ffi_type_uint64 -# define ffi_type_sint ffi_type_sint64 -#else - #error "int size not supported" -#endif - -#if LONG_MAX == 2147483647 -# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX - #error "no 64-bit data type supported" -# endif -#elif LONG_MAX != FFI_64_BIT_MAX - #error "long size not supported" -#endif - -#if LONG_MAX == 2147483647 -# define ffi_type_ulong ffi_type_uint32 -# define ffi_type_slong ffi_type_sint32 -#elif LONG_MAX == FFI_64_BIT_MAX -# define ffi_type_ulong ffi_type_uint64 -# define ffi_type_slong ffi_type_sint64 -#else - #error "long size not supported" -#endif - -/* These are defined in types.c. */ -FFI_EXTERN ffi_type ffi_type_void; -FFI_EXTERN ffi_type ffi_type_uint8; -FFI_EXTERN ffi_type ffi_type_sint8; -FFI_EXTERN ffi_type ffi_type_uint16; -FFI_EXTERN ffi_type ffi_type_sint16; -FFI_EXTERN ffi_type ffi_type_uint32; -FFI_EXTERN ffi_type ffi_type_sint32; -FFI_EXTERN ffi_type ffi_type_uint64; -FFI_EXTERN ffi_type ffi_type_sint64; -FFI_EXTERN ffi_type ffi_type_float; -FFI_EXTERN ffi_type ffi_type_double; -FFI_EXTERN ffi_type ffi_type_pointer; - -#ifndef _M_ARM64 -FFI_EXTERN ffi_type ffi_type_longdouble; -#else -#define ffi_type_longdouble ffi_type_double -#endif - -#ifdef FFI_TARGET_HAS_COMPLEX_TYPE -FFI_EXTERN ffi_type ffi_type_complex_float; -FFI_EXTERN ffi_type ffi_type_complex_double; -#if 1 -FFI_EXTERN ffi_type ffi_type_complex_longdouble; -#else -#define ffi_type_complex_longdouble ffi_type_complex_double -#endif -#endif -#endif /* LIBFFI_HIDE_BASIC_TYPES */ - -typedef enum { - FFI_OK = 0, - FFI_BAD_TYPEDEF, - FFI_BAD_ABI -} ffi_status; - -typedef struct { - ffi_abi abi; - unsigned nargs; - ffi_type **arg_types; - ffi_type *rtype; - unsigned bytes; - unsigned flags; -#ifdef FFI_EXTRA_CIF_FIELDS - FFI_EXTRA_CIF_FIELDS; -#endif -} ffi_cif; - -/* ---- Definitions for the raw API -------------------------------------- */ - -#ifndef FFI_SIZEOF_ARG -# if LONG_MAX == 2147483647 -# define FFI_SIZEOF_ARG 4 -# elif LONG_MAX == FFI_64_BIT_MAX -# define FFI_SIZEOF_ARG 8 -# endif -#endif - -#ifndef FFI_SIZEOF_JAVA_RAW -# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG -#endif - -typedef union { - ffi_sarg sint; - ffi_arg uint; - float flt; - char data[FFI_SIZEOF_ARG]; - void* ptr; -} ffi_raw; - -#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 -/* This is a special case for mips64/n32 ABI (and perhaps others) where - sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ -typedef union { - signed int sint; - unsigned int uint; - float flt; - char data[FFI_SIZEOF_JAVA_RAW]; - void* ptr; -} ffi_java_raw; -#else -typedef ffi_raw ffi_java_raw; -#endif - - -FFI_API -void ffi_raw_call (ffi_cif *cif, - void (*fn)(void), - void *rvalue, - ffi_raw *avalue); - -FFI_API void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); -FFI_API void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); -FFI_API size_t ffi_raw_size (ffi_cif *cif); - -/* This is analogous to the raw API, except it uses Java parameter - packing, even on 64-bit machines. I.e. on 64-bit machines longs - and doubles are followed by an empty 64-bit word. */ - -FFI_API -void ffi_java_raw_call (ffi_cif *cif, - void (*fn)(void), - void *rvalue, - ffi_java_raw *avalue); - -FFI_API -void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw); -FFI_API -void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args); -FFI_API -size_t ffi_java_raw_size (ffi_cif *cif); - -/* ---- Definitions for closures ----------------------------------------- */ - -#if FFI_CLOSURES - -#ifdef _MSC_VER -__declspec(align(8)) -#endif -typedef struct { -#if 0 - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - ffi_cif *cif; - void (*fun)(ffi_cif*,void*,void**,void*); - void *user_data; -} ffi_closure -#ifdef __GNUC__ - __attribute__((aligned (8))) -#endif - ; - -#ifndef __GNUC__ -# ifdef __sgi -# pragma pack 0 -# endif -#endif - -FFI_API void *ffi_closure_alloc (size_t size, void **code); -FFI_API void ffi_closure_free (void *); - -FFI_API ffi_status -ffi_prep_closure (ffi_closure*, - ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data) -#if defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 405) - __attribute__((deprecated ("use ffi_prep_closure_loc instead"))) -#elif defined(__GNUC__) && __GNUC__ >= 3 - __attribute__((deprecated)) -#endif - ; - -FFI_API ffi_status -ffi_prep_closure_loc (ffi_closure*, - ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void*codeloc); - -#ifdef __sgi -# pragma pack 8 -#endif -typedef struct { -#if 0 - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - ffi_cif *cif; - -#if !FFI_NATIVE_RAW_API - - /* If this is enabled, then a raw closure has the same layout - as a regular closure. We use this to install an intermediate - handler to do the translation, void** -> ffi_raw*. */ - - void (*translate_args)(ffi_cif*,void*,void**,void*); - void *this_closure; - -#endif - - void (*fun)(ffi_cif*,void*,ffi_raw*,void*); - void *user_data; - -} ffi_raw_closure; - -typedef struct { -#if 0 - void *trampoline_table; - void *trampoline_table_entry; -#else - char tramp[FFI_TRAMPOLINE_SIZE]; -#endif - - ffi_cif *cif; - -#if !FFI_NATIVE_RAW_API - - /* If this is enabled, then a raw closure has the same layout - as a regular closure. We use this to install an intermediate - handler to do the translation, void** -> ffi_raw*. */ - - void (*translate_args)(ffi_cif*,void*,void**,void*); - void *this_closure; - -#endif - - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); - void *user_data; - -} ffi_java_raw_closure; - -FFI_API ffi_status -ffi_prep_raw_closure (ffi_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data); - -FFI_API ffi_status -ffi_prep_raw_closure_loc (ffi_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data, - void *codeloc); - -FFI_API ffi_status -ffi_prep_java_raw_closure (ffi_java_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data); - -FFI_API ffi_status -ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data, - void *codeloc); - -#endif /* FFI_CLOSURES */ - -#if FFI_GO_CLOSURES - -typedef struct { - void *tramp; - ffi_cif *cif; - void (*fun)(ffi_cif*,void*,void**,void*); -} ffi_go_closure; - -FFI_API ffi_status ffi_prep_go_closure (ffi_go_closure*, ffi_cif *, - void (*fun)(ffi_cif*,void*,void**,void*)); - -FFI_API void ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure); - -#endif /* FFI_GO_CLOSURES */ - -/* ---- Public interface definition -------------------------------------- */ - -FFI_API -ffi_status ffi_prep_cif(ffi_cif *cif, - ffi_abi abi, - unsigned int nargs, - ffi_type *rtype, - ffi_type **atypes); - -FFI_API -ffi_status ffi_prep_cif_var(ffi_cif *cif, - ffi_abi abi, - unsigned int nfixedargs, - unsigned int ntotalargs, - ffi_type *rtype, - ffi_type **atypes); - -FFI_API -void ffi_call(ffi_cif *cif, - void (*fn)(void), - void *rvalue, - void **avalue); - -FFI_API -ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, - size_t *offsets); - -/* Useful for eliminating compiler warnings. */ -#define FFI_FN(f) ((void (*)(void))f) - -/* ---- Definitions shared with assembly code ---------------------------- */ - -#endif - -/* If these change, update src/mips/ffitarget.h. */ -#define FFI_TYPE_VOID 0 -#define FFI_TYPE_INT 1 -#define FFI_TYPE_FLOAT 2 -#define FFI_TYPE_DOUBLE 3 -#ifndef _M_ARM64 -#define FFI_TYPE_LONGDOUBLE 4 -#else -#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE -#endif -#define FFI_TYPE_UINT8 5 -#define FFI_TYPE_SINT8 6 -#define FFI_TYPE_UINT16 7 -#define FFI_TYPE_SINT16 8 -#define FFI_TYPE_UINT32 9 -#define FFI_TYPE_SINT32 10 -#define FFI_TYPE_UINT64 11 -#define FFI_TYPE_SINT64 12 -#define FFI_TYPE_STRUCT 13 -#define FFI_TYPE_POINTER 14 -#define FFI_TYPE_COMPLEX 15 -/* This should always refer to the last type code (for sanity checks). */ -#define FFI_TYPE_LAST FFI_TYPE_COMPLEX - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvcc.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvcc.sh deleted file mode 100755 index 301e2fb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvcc.sh +++ /dev/null @@ -1,353 +0,0 @@ -#!/bin/sh - -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (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.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is the MSVC wrappificator. -# -# The Initial Developer of the Original Code is -# Timothy Wall . -# Portions created by the Initial Developer are Copyright (C) 2009 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Daniel Witte -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -# -# GCC-compatible wrapper for cl.exe and ml.exe. Arguments are given in GCC -# format and translated into something sensible for cl or ml. -# - -args_orig=$@ -args="-nologo -W3" -linkargs= -static_crt= -debug_crt= -cl="cl" -ml="ml" -safeseh="-safeseh" -output= -libpaths= -libversion=8 -verbose= - -while [ $# -gt 0 ] -do - case $1 - in - --verbose) - verbose=1 - shift 1 - ;; - --version) - args="-help" - shift 1 - ;; - -fexceptions) - # Don't enable exceptions for now. - #args="$args -EHac" - shift 1 - ;; - -m32) - shift 1 - ;; - -m64) - ml="ml64" # "$MSVC/x86_amd64/ml64" - safeseh= - shift 1 - ;; - -marm) - ml='armasm' - safeseh= - shift 1 - ;; - -marm64) - ml='armasm64' - safeseh= - shift 1 - ;; - -clang-cl) - cl="clang-cl" - shift 1 - ;; - -O0) - args="$args -Od" - shift 1 - ;; - -O*) - # Runtime error checks (enabled by setting -RTC1 in the -DFFI_DEBUG - # case below) are not compatible with optimization flags and will - # cause the build to fail. Therefore, drop the optimization flag if - # -DFFI_DEBUG is also set. - case $args_orig in - *-DFFI_DEBUG*) - args="$args" - ;; - *) - # The ax_cc_maxopt.m4 macro from the upstream autoconf-archive - # project doesn't support MSVC and therefore ends up trying to - # use -O3. Use the equivalent "max optimization" flag for MSVC - # instead of erroring out. - case $1 in - -O3) - args="$args -O2" - ;; - *) - args="$args $1" - ;; - esac - opt="true" - ;; - esac - shift 1 - ;; - -g) - # Enable debug symbol generation. - args="$args -Zi" - shift 1 - ;; - -DFFI_DEBUG) - # Enable runtime error checks. - args="$args -RTC1" - defines="$defines $1" - shift 1 - ;; - -DUSE_STATIC_RTL) - # Link against static CRT. - static_crt=1 - shift 1 - ;; - -DUSE_DEBUG_RTL) - # Link against debug CRT. - debug_crt=1 - shift 1 - ;; - -c) - args="$args -c" - args="$(echo $args | sed 's%/Fe%/Fo%g')" - single="-c" - shift 1 - ;; - -D*=*) - name="$(echo $1|sed 's/-D\([^=][^=]*\)=.*/\1/g')" - value="$(echo $1|sed 's/-D[^=][^=]*=//g')" - args="$args -D${name}='$value'" - defines="$defines -D${name}='$value'" - shift 1 - ;; - -D*) - args="$args $1" - defines="$defines $1" - shift 1 - ;; - -I) - p=$(cygpath -ma "$2") - args="$args -I\"$p\"" - includes="$includes -I\"$p\"" - shift 2 - ;; - -I*) - p=$(cygpath -ma "${1#-I}") - args="$args -I\"$p\"" - includes="$includes -I\"$p\"" - shift 1 - ;; - -L) - p=$(cygpath -ma $2) - linkargs="$linkargs -LIBPATH:$p" - shift 2 - ;; - -L*) - p=$(cygpath -ma ${1#-L}) - linkargs="$linkargs -LIBPATH:$p" - shift 1 - ;; - -link) - # add next argument verbatim to linker args - linkargs="$linkargs $2" - shift 2 - ;; - -l*) - case $1 - in - -lffi) - linkargs="$linkargs lib${1#-l}-${libversion}.lib" - ;; - *) - # ignore other libraries like -lm, hope they are - # covered by MSVCRT - # linkargs="$linkargs ${1#-l}.lib" - ;; - esac - shift 1 - ;; - -W|-Wextra) - # TODO map extra warnings - shift 1 - ;; - -Wall) - # -Wall on MSVC is overzealous, and we already build with -W3. Nothing - # to do here. - shift 1 - ;; - -pedantic) - # libffi tests -pedantic with -Wall, so drop it also. - shift 1 - ;; - -warn) - # ignore -warn all from libtool as well. - if test "$2" = "all"; then - shift 2 - else - args="$args -warn" - shift 1 - fi - ;; - -Werror) - args="$args -WX" - shift 1 - ;; - -W*) - # TODO map specific warnings - shift 1 - ;; - -S) - args="$args -FAs" - shift 1 - ;; - -o) - outdir="$(dirname $2)" - base="$(basename $2|sed 's/\.[^.]*//g')" - if [ -n "$single" ]; then - output="-Fo$2" - else - output="-Fe$2" - fi - armasm_output="-o $2" - if [ -n "$assembly" ]; then - args="$args $output" - else - args="$args $output -Fd$outdir/$base -Fp$outdir/$base -Fa$outdir/$base" - fi - shift 2 - ;; - *.S) - src="$(cygpath -ma $1)" - assembly="true" - shift 1 - ;; - *.c) - args="$args $(cygpath -ma $1)" - shift 1 - ;; - *) - # Assume it's an MSVC argument, and pass it through. - args="$args $1" - shift 1 - ;; - esac -done - -if [ -n "$linkargs" ]; then - - # If -Zi is specified, certain optimizations are implicitly disabled - # by MSVC. Add back those optimizations if this is an optimized build. - # NOTE: These arguments must come after all others. - if [ -n "$opt" ]; then - linkargs="$linkargs -OPT:REF -OPT:ICF -INCREMENTAL:NO" - fi - - args="$args -link $linkargs" -fi - -if [ -n "$static_crt" ]; then - md=-MT -else - md=-MD -fi - -if [ -n "$debug_crt" ]; then - md="${md}d" -fi - -if [ -n "$assembly" ]; then - if [ -z "$outdir" ]; then - outdir="." - fi - ppsrc="$outdir/$(basename $src|sed 's/.S$/.asm/g')" - - if [ $ml = "armasm" ]; then - defines="$defines -D_M_ARM" - fi - - if [ $ml = "armasm64" ]; then - defines="$defines -D_M_ARM64" - fi - - if test -n "$verbose"; then - echo "$cl -nologo -EP $includes $defines $src > $ppsrc" - fi - - eval "\"$cl\" -nologo -EP $includes $defines $src" > $ppsrc || exit $? - output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')" - if [ $ml = "armasm" ]; then - args="-nologo -g -oldit $armasm_output $ppsrc -errorReport:prompt" - elif [ $ml = "armasm64" ]; then - args="-nologo -g $armasm_output $ppsrc -errorReport:prompt" - else - args="-nologo $safeseh $single $output $ppsrc" - fi - - if test -n "$verbose"; then - echo "$ml $args" - fi - - eval "\"$ml\" $args" - result=$? - - # required to fix ml64 broken output? - #mv *.obj $outdir -else - args="$md $args" - - if test -n "$verbose"; then - echo "$cl $args" - fi - # Return an error code of 1 if an invalid command line parameter is passed - # instead of just ignoring it. Any output that is not a warning or an - # error is filtered so this command behaves more like gcc. cl.exe prints - # the name of the compiled file otherwise, which breaks the dejagnu checks - # for excess warnings and errors. - eval "(\"$cl\" $args 2>&1 1>&3 | \ - awk '{print \$0} /D9002/ {error=1} END{exit error}' >&2) 3>&1 | \ - awk '/warning|error/'" - result=$? -fi - -exit $result - -# vim: noai:ts=4:sw=4 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffi.c deleted file mode 100644 index 6544ac0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffi.c +++ /dev/null @@ -1,1129 +0,0 @@ -/* Copyright (c) 2009, 2010, 2011, 2012 ARM Ltd. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#if defined(__aarch64__) || defined(__arm64__)|| defined (_M_ARM64) -#include -#include -#include -#include -#include -#include -#include "internal.h" -#ifdef _WIN32 -#include /* FlushInstructionCache */ -#endif -#include - -/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE; - all further uses in this file will refer to the 128-bit type. */ -#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE -# if FFI_TYPE_LONGDOUBLE != 4 -# error FFI_TYPE_LONGDOUBLE out of date -# endif -#else -# undef FFI_TYPE_LONGDOUBLE -# define FFI_TYPE_LONGDOUBLE 4 -#endif - -union _d -{ - UINT64 d; - UINT32 s[2]; -}; - -struct _v -{ - union _d d[2] __attribute__((aligned(16))); -}; - -struct call_context -{ - struct _v v[N_V_ARG_REG]; - UINT64 x[N_X_ARG_REG]; -}; - -#if FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ -#ifdef HAVE_PTRAUTH -#include -#endif -#include -#endif - -#else - -#if defined (__clang__) && defined (__APPLE__) -extern void sys_icache_invalidate (void *start, size_t len); -#endif - -static inline void -ffi_clear_cache (void *start, void *end) -{ -#if defined (__clang__) && defined (__APPLE__) - sys_icache_invalidate (start, (char *)end - (char *)start); -#elif defined (__GNUC__) - __builtin___clear_cache (start, end); -#elif defined (_WIN32) - FlushInstructionCache(GetCurrentProcess(), start, (char*)end - (char*)start); -#else -#error "Missing builtin to flush instruction cache" -#endif -} - -#endif - -/* A subroutine of is_vfp_type. Given a structure type, return the type code - of the first non-structure element. Recurse for structure elements. - Return -1 if the structure is in fact empty, i.e. no nested elements. */ - -static int -is_hfa0 (const ffi_type *ty) -{ - ffi_type **elements = ty->elements; - int i, ret = -1; - - if (elements != NULL) - for (i = 0; elements[i]; ++i) - { - ret = elements[i]->type; - if (ret == FFI_TYPE_STRUCT || ret == FFI_TYPE_COMPLEX) - { - ret = is_hfa0 (elements[i]); - if (ret < 0) - continue; - } - break; - } - - return ret; -} - -/* A subroutine of is_vfp_type. Given a structure type, return true if all - of the non-structure elements are the same as CANDIDATE. */ - -static int -is_hfa1 (const ffi_type *ty, int candidate) -{ - ffi_type **elements = ty->elements; - int i; - - if (elements != NULL) - for (i = 0; elements[i]; ++i) - { - int t = elements[i]->type; - if (t == FFI_TYPE_STRUCT || t == FFI_TYPE_COMPLEX) - { - if (!is_hfa1 (elements[i], candidate)) - return 0; - } - else if (t != candidate) - return 0; - } - - return 1; -} - -/* Determine if TY may be allocated to the FP registers. This is both an - fp scalar type as well as an homogenous floating point aggregate (HFA). - That is, a structure consisting of 1 to 4 members of all the same type, - where that type is an fp scalar. - - Returns non-zero iff TY is an HFA. The result is the AARCH64_RET_* - constant for the type. */ - -static int -is_vfp_type (const ffi_type *ty) -{ - ffi_type **elements; - int candidate, i; - size_t size, ele_count; - - /* Quickest tests first. */ - candidate = ty->type; - switch (candidate) - { - default: - return 0; - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - ele_count = 1; - goto done; - case FFI_TYPE_COMPLEX: - candidate = ty->elements[0]->type; - switch (candidate) - { - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - ele_count = 2; - goto done; - } - return 0; - case FFI_TYPE_STRUCT: - break; - } - - /* No HFA types are smaller than 4 bytes, or larger than 64 bytes. */ - size = ty->size; - if (size < 4 || size > 64) - return 0; - - /* Find the type of the first non-structure member. */ - elements = ty->elements; - candidate = elements[0]->type; - if (candidate == FFI_TYPE_STRUCT || candidate == FFI_TYPE_COMPLEX) - { - for (i = 0; ; ++i) - { - candidate = is_hfa0 (elements[i]); - if (candidate >= 0) - break; - } - } - - /* If the first member is not a floating point type, it's not an HFA. - Also quickly re-check the size of the structure. */ - switch (candidate) - { - case FFI_TYPE_FLOAT: - ele_count = size / sizeof(float); - if (size != ele_count * sizeof(float)) - return 0; - break; - case FFI_TYPE_DOUBLE: - ele_count = size / sizeof(double); - if (size != ele_count * sizeof(double)) - return 0; - break; - case FFI_TYPE_LONGDOUBLE: - ele_count = size / sizeof(long double); - if (size != ele_count * sizeof(long double)) - return 0; - break; - default: - return 0; - } - if (ele_count > 4) - return 0; - - /* Finally, make sure that all scalar elements are the same type. */ - for (i = 0; elements[i]; ++i) - { - int t = elements[i]->type; - if (t == FFI_TYPE_STRUCT || t == FFI_TYPE_COMPLEX) - { - if (!is_hfa1 (elements[i], candidate)) - return 0; - } - else if (t != candidate) - return 0; - } - - /* All tests succeeded. Encode the result. */ - done: - return candidate * 4 + (4 - (int)ele_count); -} - -/* Representation of the procedure call argument marshalling - state. - - The terse state variable names match the names used in the AARCH64 - PCS. - - The struct area is allocated downwards from the top of the argument - area. It is used to hold copies of structures passed by value that are - bigger than 16 bytes. */ - -struct arg_state -{ - unsigned ngrn; /* Next general-purpose register number. */ - unsigned nsrn; /* Next vector register number. */ - size_t nsaa; /* Next stack offset. */ - size_t next_struct_area; /* Place to allocate big structs. */ - -#if defined (__APPLE__) - unsigned allocating_variadic; -#endif -}; - -/* Initialize a procedure call argument marshalling state. */ -static void -arg_init (struct arg_state *state, size_t size) -{ - state->ngrn = 0; - state->nsrn = 0; - state->nsaa = 0; - state->next_struct_area = size; -#if defined (__APPLE__) - state->allocating_variadic = 0; -#endif -} - -/* Allocate an aligned slot on the stack and return a pointer to it. */ -static void * -allocate_to_stack (struct arg_state *state, void *stack, - size_t alignment, size_t size) -{ - size_t nsaa = state->nsaa; - - /* Round up the NSAA to the larger of 8 or the natural - alignment of the argument's type. */ -#if defined (__APPLE__) - if (state->allocating_variadic && alignment < 8) - alignment = 8; -#else - if (alignment < 8) - alignment = 8; -#endif - - nsaa = FFI_ALIGN (nsaa, alignment); - state->nsaa = nsaa + size; - - return (char *)stack + nsaa; -} - -/* Allocate and copy a structure that is passed by value on the stack and - return a pointer to it. */ -static void * -allocate_and_copy_struct_to_stack (struct arg_state *state, void *stack, - size_t alignment, size_t size, void *value) -{ - size_t dest = state->next_struct_area - size; - - /* Round down to the natural alignment of the value. */ - dest = FFI_ALIGN_DOWN (dest, alignment); - state->next_struct_area = dest; - - return memcpy ((char *) stack + dest, value, size); -} - -static ffi_arg -extend_integer_type (void *source, int type) -{ - switch (type) - { - case FFI_TYPE_UINT8: - { - UINT8 u8; - memcpy (&u8, source, sizeof (u8)); - return u8; - } - case FFI_TYPE_SINT8: - { - SINT8 s8; - memcpy (&s8, source, sizeof (s8)); - return s8; - } - case FFI_TYPE_UINT16: - { - UINT16 u16; - memcpy (&u16, source, sizeof (u16)); - return u16; - } - case FFI_TYPE_SINT16: - { - SINT16 s16; - memcpy (&s16, source, sizeof (s16)); - return s16; - } - case FFI_TYPE_UINT32: - { - UINT32 u32; - memcpy (&u32, source, sizeof (u32)); - return u32; - } - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - { - SINT32 s32; - memcpy (&s32, source, sizeof (s32)); - return s32; - } - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - { - UINT64 u64; - memcpy (&u64, source, sizeof (u64)); - return u64; - } - case FFI_TYPE_POINTER: - { - uintptr_t uptr; - memcpy (&uptr, source, sizeof (uptr)); - return uptr; - } - default: - abort(); - } -} - -#if defined(_MSC_VER) -void extend_hfa_type (void *dest, void *src, int h); -#else -static void -extend_hfa_type (void *dest, void *src, int h) -{ - ssize_t f = h - AARCH64_RET_S4; - void *x0; - - asm volatile ( - "adr %0, 0f\n" -" add %0, %0, %1\n" -" br %0\n" -"0: ldp s16, s17, [%3]\n" /* S4 */ -" ldp s18, s19, [%3, #8]\n" -" b 4f\n" -" ldp s16, s17, [%3]\n" /* S3 */ -" ldr s18, [%3, #8]\n" -" b 3f\n" -" ldp s16, s17, [%3]\n" /* S2 */ -" b 2f\n" -" nop\n" -" ldr s16, [%3]\n" /* S1 */ -" b 1f\n" -" nop\n" -" ldp d16, d17, [%3]\n" /* D4 */ -" ldp d18, d19, [%3, #16]\n" -" b 4f\n" -" ldp d16, d17, [%3]\n" /* D3 */ -" ldr d18, [%3, #16]\n" -" b 3f\n" -" ldp d16, d17, [%3]\n" /* D2 */ -" b 2f\n" -" nop\n" -" ldr d16, [%3]\n" /* D1 */ -" b 1f\n" -" nop\n" -" ldp q16, q17, [%3]\n" /* Q4 */ -" ldp q18, q19, [%3, #32]\n" -" b 4f\n" -" ldp q16, q17, [%3]\n" /* Q3 */ -" ldr q18, [%3, #32]\n" -" b 3f\n" -" ldp q16, q17, [%3]\n" /* Q2 */ -" b 2f\n" -" nop\n" -" ldr q16, [%3]\n" /* Q1 */ -" b 1f\n" -"4: str q19, [%2, #48]\n" -"3: str q18, [%2, #32]\n" -"2: str q17, [%2, #16]\n" -"1: str q16, [%2]" - : "=&r"(x0) - : "r"(f * 12), "r"(dest), "r"(src) - : "memory", "v16", "v17", "v18", "v19"); -} -#endif - -#if defined(_MSC_VER) -void* compress_hfa_type (void *dest, void *src, int h); -#else -static void * -compress_hfa_type (void *dest, void *reg, int h) -{ - switch (h) - { - case AARCH64_RET_S1: - if (dest == reg) - { -#ifdef __AARCH64EB__ - dest += 12; -#endif - } - else - *(float *)dest = *(float *)reg; - break; - case AARCH64_RET_S2: - asm ("ldp q16, q17, [%1]\n\t" - "st2 { v16.s, v17.s }[0], [%0]" - : : "r"(dest), "r"(reg) : "memory", "v16", "v17"); - break; - case AARCH64_RET_S3: - asm ("ldp q16, q17, [%1]\n\t" - "ldr q18, [%1, #32]\n\t" - "st3 { v16.s, v17.s, v18.s }[0], [%0]" - : : "r"(dest), "r"(reg) : "memory", "v16", "v17", "v18"); - break; - case AARCH64_RET_S4: - asm ("ldp q16, q17, [%1]\n\t" - "ldp q18, q19, [%1, #32]\n\t" - "st4 { v16.s, v17.s, v18.s, v19.s }[0], [%0]" - : : "r"(dest), "r"(reg) : "memory", "v16", "v17", "v18", "v19"); - break; - - case AARCH64_RET_D1: - if (dest == reg) - { -#ifdef __AARCH64EB__ - dest += 8; -#endif - } - else - *(double *)dest = *(double *)reg; - break; - case AARCH64_RET_D2: - asm ("ldp q16, q17, [%1]\n\t" - "st2 { v16.d, v17.d }[0], [%0]" - : : "r"(dest), "r"(reg) : "memory", "v16", "v17"); - break; - case AARCH64_RET_D3: - asm ("ldp q16, q17, [%1]\n\t" - "ldr q18, [%1, #32]\n\t" - "st3 { v16.d, v17.d, v18.d }[0], [%0]" - : : "r"(dest), "r"(reg) : "memory", "v16", "v17", "v18"); - break; - case AARCH64_RET_D4: - asm ("ldp q16, q17, [%1]\n\t" - "ldp q18, q19, [%1, #32]\n\t" - "st4 { v16.d, v17.d, v18.d, v19.d }[0], [%0]" - : : "r"(dest), "r"(reg) : "memory", "v16", "v17", "v18", "v19"); - break; - - default: - if (dest != reg) - return memcpy (dest, reg, 16 * (4 - (h & 3))); - break; - } - return dest; -} -#endif - -/* Either allocate an appropriate register for the argument type, or if - none are available, allocate a stack slot and return a pointer - to the allocated space. */ - -static void * -allocate_int_to_reg_or_stack (struct call_context *context, - struct arg_state *state, - void *stack, size_t size) -{ - if (state->ngrn < N_X_ARG_REG) - return &context->x[state->ngrn++]; - - state->ngrn = N_X_ARG_REG; - return allocate_to_stack (state, stack, size, size); -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep (ffi_cif *cif) -{ - ffi_type *rtype = cif->rtype; - size_t bytes = cif->bytes; - int flags, i, n; - - switch (rtype->type) - { - case FFI_TYPE_VOID: - flags = AARCH64_RET_VOID; - break; - case FFI_TYPE_UINT8: - flags = AARCH64_RET_UINT8; - break; - case FFI_TYPE_UINT16: - flags = AARCH64_RET_UINT16; - break; - case FFI_TYPE_UINT32: - flags = AARCH64_RET_UINT32; - break; - case FFI_TYPE_SINT8: - flags = AARCH64_RET_SINT8; - break; - case FFI_TYPE_SINT16: - flags = AARCH64_RET_SINT16; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - flags = AARCH64_RET_SINT32; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - flags = AARCH64_RET_INT64; - break; - case FFI_TYPE_POINTER: - flags = (sizeof(void *) == 4 ? AARCH64_RET_UINT32 : AARCH64_RET_INT64); - break; - - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: - flags = is_vfp_type (rtype); - if (flags == 0) - { - size_t s = rtype->size; - if (s > 16) - { - flags = AARCH64_RET_VOID | AARCH64_RET_IN_MEM; - bytes += 8; - } - else if (s == 16) - flags = AARCH64_RET_INT128; - else if (s == 8) - flags = AARCH64_RET_INT64; - else - flags = AARCH64_RET_INT128 | AARCH64_RET_NEED_COPY; - } - break; - - default: - abort(); - } - - for (i = 0, n = cif->nargs; i < n; i++) - if (is_vfp_type (cif->arg_types[i])) - { - flags |= AARCH64_FLAG_ARG_V; - break; - } - - /* Round the stack up to a multiple of the stack alignment requirement. */ - cif->bytes = (unsigned) FFI_ALIGN(bytes, 16); - cif->flags = flags; -#if defined (__APPLE__) - cif->aarch64_nfixedargs = 0; -#endif - - return FFI_OK; -} - -#if defined (__APPLE__) -/* Perform Apple-specific cif processing for variadic calls */ -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, - unsigned int ntotalargs) -{ - ffi_status status = ffi_prep_cif_machdep (cif); - cif->aarch64_nfixedargs = nfixedargs; - return status; -} -#else -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) -{ - ffi_status status = ffi_prep_cif_machdep (cif); - cif->flags |= AARCH64_FLAG_VARARG; - return status; -} -#endif /* __APPLE__ */ - -extern void ffi_call_SYSV (struct call_context *context, void *frame, - void (*fn)(void), void *rvalue, int flags, - void *closure) FFI_HIDDEN; - -/* Call a function with the provided arguments and capture the return - value. */ -static void -ffi_call_int (ffi_cif *cif, void (*fn)(void), void *orig_rvalue, - void **avalue, void *closure) -{ - struct call_context *context; - void *stack, *frame, *rvalue; - struct arg_state state; - size_t stack_bytes, rtype_size, rsize; - int i, nargs, flags, isvariadic = 0; - ffi_type *rtype; - - flags = cif->flags; - rtype = cif->rtype; - rtype_size = rtype->size; - stack_bytes = cif->bytes; - - if (flags & AARCH64_FLAG_VARARG) - { - isvariadic = 1; - flags &= ~AARCH64_FLAG_VARARG; - } - - /* If the target function returns a structure via hidden pointer, - then we cannot allow a null rvalue. Otherwise, mash a null - rvalue to void return type. */ - rsize = 0; - if (flags & AARCH64_RET_IN_MEM) - { - if (orig_rvalue == NULL) - rsize = rtype_size; - } - else if (orig_rvalue == NULL) - flags &= AARCH64_FLAG_ARG_V; - else if (flags & AARCH64_RET_NEED_COPY) - rsize = 16; - - /* Allocate consectutive stack for everything we'll need. - The frame uses 40 bytes for: lr, fp, rvalue, flags, sp */ - context = alloca (sizeof(struct call_context) + stack_bytes + 40 + rsize); - stack = context + 1; - frame = (void*)((uintptr_t)stack + (uintptr_t)stack_bytes); - rvalue = (rsize ? (void*)((uintptr_t)frame + 40) : orig_rvalue); - - arg_init (&state, stack_bytes); - for (i = 0, nargs = cif->nargs; i < nargs; i++) - { - ffi_type *ty = cif->arg_types[i]; - size_t s = ty->size; - void *a = avalue[i]; - int h, t; - void *dest; - - t = ty->type; - switch (t) - { - case FFI_TYPE_VOID: - FFI_ASSERT (0); - break; - - /* If the argument is a basic type the argument is allocated to an - appropriate register, or if none are available, to the stack. */ - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - do_pointer: - { - ffi_arg ext = extend_integer_type (a, t); - if (state.ngrn < N_X_ARG_REG) - context->x[state.ngrn++] = ext; - else - { - void *d = allocate_to_stack (&state, stack, ty->alignment, s); - state.ngrn = N_X_ARG_REG; - /* Note that the default abi extends each argument - to a full 64-bit slot, while the iOS abi allocates - only enough space. */ -#ifdef __APPLE__ - memcpy(d, a, s); -#else - *(ffi_arg *)d = ext; -#endif - } - } - break; - - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: - { - h = is_vfp_type (ty); - if (h) - { - int elems = 4 - (h & 3); - if (cif->abi == FFI_WIN64 && isvariadic) - { - if (state.ngrn + elems <= N_X_ARG_REG) - { - dest = &context->x[state.ngrn]; - state.ngrn += elems; - extend_hfa_type(dest, a, h); - break; - } - state.nsrn = N_X_ARG_REG; - dest = allocate_to_stack(&state, stack, ty->alignment, s); - } - else - { - if (state.nsrn + elems <= N_V_ARG_REG) - { - dest = &context->v[state.nsrn]; - state.nsrn += elems; - extend_hfa_type (dest, a, h); - break; - } - state.nsrn = N_V_ARG_REG; - dest = allocate_to_stack (&state, stack, ty->alignment, s); - } - } - else if (s > 16) - { - /* If the argument is a composite type that is larger than 16 - bytes, then the argument is copied to memory, and - the argument is replaced by a pointer to the copy. */ - dest = allocate_and_copy_struct_to_stack (&state, stack, - ty->alignment, s, - avalue[i]); - a = &dest; - t = FFI_TYPE_POINTER; - s = sizeof (void *); - goto do_pointer; - } - else - { - size_t n = (s + 7) / 8; - if (state.ngrn + n <= N_X_ARG_REG) - { - /* If the argument is a composite type and the size in - double-words is not more than the number of available - X registers, then the argument is copied into - consecutive X registers. */ - dest = &context->x[state.ngrn]; - state.ngrn += (unsigned int)n; - } - else - { - /* Otherwise, there are insufficient X registers. Further - X register allocations are prevented, the NSAA is - adjusted and the argument is copied to memory at the - adjusted NSAA. */ - state.ngrn = N_X_ARG_REG; - dest = allocate_to_stack (&state, stack, ty->alignment, s); - } - } - memcpy (dest, a, s); - } - break; - - default: - abort(); - } - -#if defined (__APPLE__) - if (i + 1 == cif->aarch64_nfixedargs) - { - state.ngrn = N_X_ARG_REG; - state.nsrn = N_V_ARG_REG; - state.allocating_variadic = 1; - } -#endif - } - - ffi_call_SYSV (context, frame, fn, rvalue, flags, closure); - - if (flags & AARCH64_RET_NEED_COPY) - memcpy (orig_rvalue, rvalue, rtype_size); -} - -void -ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -#if FFI_CLOSURES - -#ifdef FFI_GO_CLOSURES -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} -#endif /* FFI_GO_CLOSURES */ - -/* Build a trampoline. */ - -extern void ffi_closure_SYSV (void) FFI_HIDDEN; -extern void ffi_closure_SYSV_V (void) FFI_HIDDEN; -#if defined(FFI_EXEC_STATIC_TRAMP) -extern void ffi_closure_SYSV_alt (void) FFI_HIDDEN; -extern void ffi_closure_SYSV_V_alt (void) FFI_HIDDEN; -#endif - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - if (cif->abi != FFI_SYSV && cif->abi != FFI_WIN64) - return FFI_BAD_ABI; - - void (*start)(void); - - if (cif->flags & AARCH64_FLAG_ARG_V) - start = ffi_closure_SYSV_V; - else - start = ffi_closure_SYSV; - -#if FFI_EXEC_TRAMPOLINE_TABLE -# ifdef __MACH__ -# ifdef HAVE_PTRAUTH - codeloc = ptrauth_auth_data(codeloc, ptrauth_key_function_pointer, 0); -# endif - void **config = (void **)((uint8_t *)codeloc - PAGE_MAX_SIZE); - config[0] = closure; - config[1] = start; -# endif -#else - static const unsigned char trampoline[16] = { - 0x90, 0x00, 0x00, 0x58, /* ldr x16, tramp+16 */ - 0xf1, 0xff, 0xff, 0x10, /* adr x17, tramp+0 */ - 0x00, 0x02, 0x1f, 0xd6 /* br x16 */ - }; - char *tramp = closure->tramp; - -# if defined(FFI_EXEC_STATIC_TRAMP) - if (ffi_tramp_is_present(closure)) - { - /* Initialize the static trampoline's parameters. */ - if (start == ffi_closure_SYSV_V) - start = ffi_closure_SYSV_V_alt; - else - start = ffi_closure_SYSV_alt; - ffi_tramp_set_parms (closure->ftramp, start, closure); - goto out; - } -# endif - - /* Initialize the dynamic trampoline. */ - memcpy (tramp, trampoline, sizeof(trampoline)); - - *(UINT64 *)(tramp + 16) = (uintptr_t)start; - - ffi_clear_cache(tramp, tramp + FFI_TRAMPOLINE_SIZE); - - /* Also flush the cache for code mapping. */ -# ifdef _WIN32 - // Not using dlmalloc.c for Windows ARM64 builds - // so calling ffi_data_to_code_pointer() isn't necessary - unsigned char *tramp_code = tramp; -# else - unsigned char *tramp_code = ffi_data_to_code_pointer (tramp); -# endif - ffi_clear_cache (tramp_code, tramp_code + FFI_TRAMPOLINE_SIZE); -# if defined(FFI_EXEC_STATIC_TRAMP) -out: -# endif -#endif - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -#ifdef FFI_GO_CLOSURES -extern void ffi_go_closure_SYSV (void) FFI_HIDDEN; -extern void ffi_go_closure_SYSV_V (void) FFI_HIDDEN; - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*)) -{ - void (*start)(void); - - if (cif->abi != FFI_SYSV && cif->abi != FFI_WIN64) - return FFI_BAD_ABI; - - if (cif->flags & AARCH64_FLAG_ARG_V) - start = ffi_go_closure_SYSV_V; - else - start = ffi_go_closure_SYSV; - - closure->tramp = start; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} -#endif /* FFI_GO_CLOSURES */ - -/* Primary handler to setup and invoke a function within a closure. - - A closure when invoked enters via the assembler wrapper - ffi_closure_SYSV(). The wrapper allocates a call context on the - stack, saves the interesting registers (from the perspective of - the calling convention) into the context then passes control to - ffi_closure_SYSV_inner() passing the saved context and a pointer to - the stack at the point ffi_closure_SYSV() was invoked. - - On the return path the assembler wrapper will reload call context - registers. - - ffi_closure_SYSV_inner() marshalls the call context into ffi value - descriptors, invokes the wrapped function, then marshalls the return - value back into the call context. */ - -int FFI_HIDDEN -ffi_closure_SYSV_inner (ffi_cif *cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - struct call_context *context, - void *stack, void *rvalue, void *struct_rvalue) -{ - void **avalue = (void**) alloca (cif->nargs * sizeof (void*)); - int i, h, nargs, flags, isvariadic = 0; - struct arg_state state; - - arg_init (&state, cif->bytes); - - flags = cif->flags; - if (flags & AARCH64_FLAG_VARARG) - { - isvariadic = 1; - flags &= ~AARCH64_FLAG_VARARG; - } - - for (i = 0, nargs = cif->nargs; i < nargs; i++) - { - ffi_type *ty = cif->arg_types[i]; - int t = ty->type; - size_t n, s = ty->size; - - switch (t) - { - case FFI_TYPE_VOID: - FFI_ASSERT (0); - break; - - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - avalue[i] = allocate_int_to_reg_or_stack (context, &state, stack, s); - break; - - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: - h = is_vfp_type (ty); - if (h) - { - n = 4 - (h & 3); - if (cif->abi == FFI_WIN64 && isvariadic) - { - if (state.ngrn + n <= N_X_ARG_REG) - { - void *reg = &context->x[state.ngrn]; - state.ngrn += (unsigned int)n; - - /* Eeek! We need a pointer to the structure, however the - homogeneous float elements are being passed in individual - registers, therefore for float and double the structure - is not represented as a contiguous sequence of bytes in - our saved register context. We don't need the original - contents of the register storage, so we reformat the - structure into the same memory. */ - avalue[i] = compress_hfa_type(reg, reg, h); - } - else - { - state.ngrn = N_X_ARG_REG; - state.nsrn = N_V_ARG_REG; - avalue[i] = allocate_to_stack(&state, stack, - ty->alignment, s); - } - } - else - { - if (state.nsrn + n <= N_V_ARG_REG) - { - void *reg = &context->v[state.nsrn]; - state.nsrn += (unsigned int)n; - avalue[i] = compress_hfa_type(reg, reg, h); - } - else - { - state.nsrn = N_V_ARG_REG; - avalue[i] = allocate_to_stack(&state, stack, - ty->alignment, s); - } - } - } - else if (s > 16) - { - /* Replace Composite type of size greater than 16 with a - pointer. */ -#ifdef __ILP32__ - UINT64 avalue_tmp; - memcpy (&avalue_tmp, - allocate_int_to_reg_or_stack (context, &state, - stack, sizeof (void *)), - sizeof (UINT64)); - avalue[i] = (void *)(UINT32)avalue_tmp; -#else - avalue[i] = *(void **) - allocate_int_to_reg_or_stack (context, &state, stack, - sizeof (void *)); -#endif - } - else - { - n = (s + 7) / 8; - if (state.ngrn + n <= N_X_ARG_REG) - { - avalue[i] = &context->x[state.ngrn]; - state.ngrn += (unsigned int)n; - } - else - { - state.ngrn = N_X_ARG_REG; - avalue[i] = allocate_to_stack(&state, stack, - ty->alignment, s); - } - } - break; - - default: - abort(); - } - -#if defined (__APPLE__) - if (i + 1 == cif->aarch64_nfixedargs) - { - state.ngrn = N_X_ARG_REG; - state.nsrn = N_V_ARG_REG; - state.allocating_variadic = 1; - } -#endif - } - - if (flags & AARCH64_RET_IN_MEM) - rvalue = struct_rvalue; - - fun (cif, rvalue, avalue, user_data); - - return flags; -} - -#if defined(FFI_EXEC_STATIC_TRAMP) -void * -ffi_tramp_arch (size_t *tramp_size, size_t *map_size) -{ - extern void *trampoline_code_table; - - *tramp_size = AARCH64_TRAMP_SIZE; - *map_size = AARCH64_TRAMP_MAP_SIZE; - return &trampoline_code_table; -} -#endif - -#endif /* FFI_CLOSURES */ - -#endif /* (__aarch64__) || defined(__arm64__)|| defined (_M_ARM64)*/ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffitarget.h deleted file mode 100644 index d5622e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffitarget.h +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright (c) 2009, 2010, 2011, 2012 ARM Ltd. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -#ifdef __ILP32__ -#define FFI_SIZEOF_ARG 8 -#define FFI_SIZEOF_JAVA_RAW 4 -typedef unsigned long long ffi_arg; -typedef signed long long ffi_sarg; -#elif defined(_WIN32) -#define FFI_SIZEOF_ARG 8 -typedef unsigned long long ffi_arg; -typedef signed long long ffi_sarg; -#else -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; -#endif - -typedef enum ffi_abi - { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_WIN64, - FFI_LAST_ABI, -#if defined(_WIN32) - FFI_DEFAULT_ABI = FFI_WIN64 -#else - FFI_DEFAULT_ABI = FFI_SYSV -#endif - } ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -#if defined (FFI_EXEC_TRAMPOLINE_TABLE) && FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ -#define FFI_TRAMPOLINE_SIZE 16 -#define FFI_TRAMPOLINE_CLOSURE_OFFSET 16 -#else -#error "No trampoline table implementation" -#endif - -#else -#define FFI_TRAMPOLINE_SIZE 24 -#define FFI_TRAMPOLINE_CLOSURE_OFFSET FFI_TRAMPOLINE_SIZE -#endif - -#ifdef _WIN32 -#define FFI_EXTRA_CIF_FIELDS unsigned is_variadic -#endif -#define FFI_TARGET_SPECIFIC_VARIADIC - -/* ---- Internal ---- */ - -#if defined (__APPLE__) -#define FFI_EXTRA_CIF_FIELDS unsigned aarch64_nfixedargs -#elif !defined(_WIN32) -/* iOS and Windows reserve x18 for the system. Disable Go closures until - a new static chain is chosen. */ -#define FFI_GO_CLOSURES 1 -#endif - -#ifndef _WIN32 -/* No complex type on Windows */ -#define FFI_TARGET_HAS_COMPLEX_TYPE -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/internal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/internal.h deleted file mode 100644 index b5d102b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/internal.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#define AARCH64_RET_VOID 0 -#define AARCH64_RET_INT64 1 -#define AARCH64_RET_INT128 2 - -#define AARCH64_RET_UNUSED3 3 -#define AARCH64_RET_UNUSED4 4 -#define AARCH64_RET_UNUSED5 5 -#define AARCH64_RET_UNUSED6 6 -#define AARCH64_RET_UNUSED7 7 - -/* Note that FFI_TYPE_FLOAT == 2, _DOUBLE == 3, _LONGDOUBLE == 4, - so _S4 through _Q1 are layed out as (TYPE * 4) + (4 - COUNT). */ -#define AARCH64_RET_S4 8 -#define AARCH64_RET_S3 9 -#define AARCH64_RET_S2 10 -#define AARCH64_RET_S1 11 - -#define AARCH64_RET_D4 12 -#define AARCH64_RET_D3 13 -#define AARCH64_RET_D2 14 -#define AARCH64_RET_D1 15 - -#define AARCH64_RET_Q4 16 -#define AARCH64_RET_Q3 17 -#define AARCH64_RET_Q2 18 -#define AARCH64_RET_Q1 19 - -/* Note that each of the sub-64-bit integers gets two entries. */ -#define AARCH64_RET_UINT8 20 -#define AARCH64_RET_UINT16 22 -#define AARCH64_RET_UINT32 24 - -#define AARCH64_RET_SINT8 26 -#define AARCH64_RET_SINT16 28 -#define AARCH64_RET_SINT32 30 - -#define AARCH64_RET_MASK 31 - -#define AARCH64_RET_IN_MEM (1 << 5) -#define AARCH64_RET_NEED_COPY (1 << 6) - -#define AARCH64_FLAG_ARG_V_BIT 7 -#define AARCH64_FLAG_ARG_V (1 << AARCH64_FLAG_ARG_V_BIT) -#define AARCH64_FLAG_VARARG (1 << 8) - -#define N_X_ARG_REG 8 -#define N_V_ARG_REG 8 -#define CALL_CONTEXT_SIZE (N_V_ARG_REG * 16 + N_X_ARG_REG * 8) - -#if defined(FFI_EXEC_STATIC_TRAMP) -/* - * For the trampoline code table mapping, a mapping size of 16K is chosen to - * cover the base page sizes of 4K and 16K. - */ -#define AARCH64_TRAMP_MAP_SHIFT 14 -#define AARCH64_TRAMP_MAP_SIZE (1 << AARCH64_TRAMP_MAP_SHIFT) -#define AARCH64_TRAMP_SIZE 32 - -#endif - -/* Helpers for writing assembly compatible with arm ptr auth */ -#ifdef LIBFFI_ASM - -#ifdef HAVE_PTRAUTH -#define SIGN_LR pacibsp -#define SIGN_LR_WITH_REG(x) pacib lr, x -#define AUTH_LR_AND_RET retab -#define AUTH_LR_WITH_REG(x) autib lr, x -#define BRANCH_AND_LINK_TO_REG blraaz -#define BRANCH_TO_REG braaz -#else -#define SIGN_LR -#define SIGN_LR_WITH_REG(x) -#define AUTH_LR_AND_RET ret -#define AUTH_LR_WITH_REG(x) -#define BRANCH_AND_LINK_TO_REG blr -#define BRANCH_TO_REG br -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/sysv.S deleted file mode 100644 index 286f1f1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/sysv.S +++ /dev/null @@ -1,543 +0,0 @@ -/* Copyright (c) 2009, 2010, 2011, 2012 ARM Ltd. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#if defined(__aarch64__) || defined(__arm64__) -#define LIBFFI_ASM -#include -#include -#include -#include "internal.h" - -#ifdef HAVE_MACHINE_ASM_H -#include -#else -#ifdef __USER_LABEL_PREFIX__ -#define CONCAT1(a, b) CONCAT2(a, b) -#define CONCAT2(a, b) a ## b - -/* Use the right prefix for global labels. */ -#define CNAME(x) CONCAT1 (__USER_LABEL_PREFIX__, x) -#else -#define CNAME(x) x -#endif -#endif - -#ifdef __APPLE__ -# define L(X) CONCAT1(L, X) -#else -# define L(X) CONCAT1(.L, X) -#endif - -#ifdef __AARCH64EB__ -# define BE(X) X -#else -# define BE(X) 0 -#endif - -#ifdef __ILP32__ -#define PTR_REG(n) w##n -#else -#define PTR_REG(n) x##n -#endif - -#ifdef __ILP32__ -#define PTR_SIZE 4 -#else -#define PTR_SIZE 8 -#endif - - .text - .align 4 - -/* ffi_call_SYSV - extern void ffi_call_SYSV (void *stack, void *frame, - void (*fn)(void), void *rvalue, - int flags, void *closure); - - Therefore on entry we have: - - x0 stack - x1 frame - x2 fn - x3 rvalue - x4 flags - x5 closure -*/ - - cfi_startproc -CNAME(ffi_call_SYSV): - /* Sign the lr with x1 since that is where it will be stored */ - SIGN_LR_WITH_REG(x1) - - /* Use a stack frame allocated by our caller. */ -#if defined(HAVE_PTRAUTH) && defined(__APPLE__) - /* darwin's libunwind assumes that the cfa is the sp and that's the data - * used to sign the lr. In order to allow unwinding through this - * function it is necessary to point the cfa at the signing register. - */ - cfi_def_cfa(x1, 0); -#else - cfi_def_cfa(x1, 40); -#endif - stp x29, x30, [x1] - mov x9, sp - str x9, [x1, #32] - mov x29, x1 - mov sp, x0 - cfi_def_cfa_register(x29) - cfi_rel_offset (x29, 0) - cfi_rel_offset (x30, 8) - - mov x9, x2 /* save fn */ - mov x8, x3 /* install structure return */ -#ifdef FFI_GO_CLOSURES - mov x18, x5 /* install static chain */ -#endif - stp x3, x4, [x29, #16] /* save rvalue and flags */ - - /* Load the vector argument passing registers, if necessary. */ - tbz w4, #AARCH64_FLAG_ARG_V_BIT, 1f - ldp q0, q1, [sp, #0] - ldp q2, q3, [sp, #32] - ldp q4, q5, [sp, #64] - ldp q6, q7, [sp, #96] -1: - /* Load the core argument passing registers, including - the structure return pointer. */ - ldp x0, x1, [sp, #16*N_V_ARG_REG + 0] - ldp x2, x3, [sp, #16*N_V_ARG_REG + 16] - ldp x4, x5, [sp, #16*N_V_ARG_REG + 32] - ldp x6, x7, [sp, #16*N_V_ARG_REG + 48] - - /* Deallocate the context, leaving the stacked arguments. */ - add sp, sp, #CALL_CONTEXT_SIZE - - BRANCH_AND_LINK_TO_REG x9 /* call fn */ - - ldp x3, x4, [x29, #16] /* reload rvalue and flags */ - - /* Partially deconstruct the stack frame. */ - ldr x9, [x29, #32] - mov sp, x9 - cfi_def_cfa_register (sp) - mov x2, x29 /* Preserve for auth */ - ldp x29, x30, [x29] - - /* Save the return value as directed. */ - adr x5, 0f - and w4, w4, #AARCH64_RET_MASK - add x5, x5, x4, lsl #3 - br x5 - - /* Note that each table entry is 2 insns, and thus 8 bytes. - For integer data, note that we're storing into ffi_arg - and therefore we want to extend to 64 bits; these types - have two consecutive entries allocated for them. */ - .align 4 -0: b 99f /* VOID */ - nop -1: str x0, [x3] /* INT64 */ - b 99f -2: stp x0, x1, [x3] /* INT128 */ - b 99f -3: brk #1000 /* UNUSED */ - b 99f -4: brk #1000 /* UNUSED */ - b 99f -5: brk #1000 /* UNUSED */ - b 99f -6: brk #1000 /* UNUSED */ - b 99f -7: brk #1000 /* UNUSED */ - b 99f -8: st4 { v0.s, v1.s, v2.s, v3.s }[0], [x3] /* S4 */ - b 99f -9: st3 { v0.s, v1.s, v2.s }[0], [x3] /* S3 */ - b 99f -10: stp s0, s1, [x3] /* S2 */ - b 99f -11: str s0, [x3] /* S1 */ - b 99f -12: st4 { v0.d, v1.d, v2.d, v3.d }[0], [x3] /* D4 */ - b 99f -13: st3 { v0.d, v1.d, v2.d }[0], [x3] /* D3 */ - b 99f -14: stp d0, d1, [x3] /* D2 */ - b 99f -15: str d0, [x3] /* D1 */ - b 99f -16: str q3, [x3, #48] /* Q4 */ - nop -17: str q2, [x3, #32] /* Q3 */ - nop -18: stp q0, q1, [x3] /* Q2 */ - b 99f -19: str q0, [x3] /* Q1 */ - b 99f -20: uxtb w0, w0 /* UINT8 */ - str x0, [x3] -21: b 99f /* reserved */ - nop -22: uxth w0, w0 /* UINT16 */ - str x0, [x3] -23: b 99f /* reserved */ - nop -24: mov w0, w0 /* UINT32 */ - str x0, [x3] -25: b 99f /* reserved */ - nop -26: sxtb x0, w0 /* SINT8 */ - str x0, [x3] -27: b 99f /* reserved */ - nop -28: sxth x0, w0 /* SINT16 */ - str x0, [x3] -29: b 99f /* reserved */ - nop -30: sxtw x0, w0 /* SINT32 */ - str x0, [x3] -31: b 99f /* reserved */ - nop - - /* Return now that result has been populated. */ -99: - AUTH_LR_WITH_REG(x2) - ret - - cfi_endproc - - .globl CNAME(ffi_call_SYSV) - FFI_HIDDEN(CNAME(ffi_call_SYSV)) -#ifdef __ELF__ - .type CNAME(ffi_call_SYSV), #function - .size CNAME(ffi_call_SYSV), .-CNAME(ffi_call_SYSV) -#endif - -#if FFI_CLOSURES - -/* ffi_closure_SYSV - - Closure invocation glue. This is the low level code invoked directly by - the closure trampoline to setup and call a closure. - - On entry x17 points to a struct ffi_closure, x16 has been clobbered - all other registers are preserved. - - We allocate a call context and save the argument passing registers, - then invoked the generic C ffi_closure_SYSV_inner() function to do all - the real work, on return we load the result passing registers back from - the call context. -*/ - -#define ffi_closure_SYSV_FS (8*2 + CALL_CONTEXT_SIZE + 64) - - .align 4 -CNAME(ffi_closure_SYSV_V): - cfi_startproc - SIGN_LR - stp x29, x30, [sp, #-ffi_closure_SYSV_FS]! - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) - cfi_rel_offset (x29, 0) - cfi_rel_offset (x30, 8) - - /* Save the argument passing vector registers. */ - stp q0, q1, [sp, #16 + 0] - stp q2, q3, [sp, #16 + 32] - stp q4, q5, [sp, #16 + 64] - stp q6, q7, [sp, #16 + 96] - b 0f - cfi_endproc - - .globl CNAME(ffi_closure_SYSV_V) - FFI_HIDDEN(CNAME(ffi_closure_SYSV_V)) -#ifdef __ELF__ - .type CNAME(ffi_closure_SYSV_V), #function - .size CNAME(ffi_closure_SYSV_V), . - CNAME(ffi_closure_SYSV_V) -#endif - - .align 4 - cfi_startproc -CNAME(ffi_closure_SYSV): - SIGN_LR - stp x29, x30, [sp, #-ffi_closure_SYSV_FS]! - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) - cfi_rel_offset (x29, 0) - cfi_rel_offset (x30, 8) -0: - mov x29, sp - - /* Save the argument passing core registers. */ - stp x0, x1, [sp, #16 + 16*N_V_ARG_REG + 0] - stp x2, x3, [sp, #16 + 16*N_V_ARG_REG + 16] - stp x4, x5, [sp, #16 + 16*N_V_ARG_REG + 32] - stp x6, x7, [sp, #16 + 16*N_V_ARG_REG + 48] - - /* Load ffi_closure_inner arguments. */ - ldp PTR_REG(0), PTR_REG(1), [x17, #FFI_TRAMPOLINE_CLOSURE_OFFSET] /* load cif, fn */ - ldr PTR_REG(2), [x17, #FFI_TRAMPOLINE_CLOSURE_OFFSET+PTR_SIZE*2] /* load user_data */ -#ifdef FFI_GO_CLOSURES -L(do_closure): -#endif - add x3, sp, #16 /* load context */ - add x4, sp, #ffi_closure_SYSV_FS /* load stack */ - add x5, sp, #16+CALL_CONTEXT_SIZE /* load rvalue */ - mov x6, x8 /* load struct_rval */ - bl CNAME(ffi_closure_SYSV_inner) - - /* Load the return value as directed. */ - adr x1, 0f - and w0, w0, #AARCH64_RET_MASK - add x1, x1, x0, lsl #3 - add x3, sp, #16+CALL_CONTEXT_SIZE - br x1 - - /* Note that each table entry is 2 insns, and thus 8 bytes. */ - .align 4 -0: b 99f /* VOID */ - nop -1: ldr x0, [x3] /* INT64 */ - b 99f -2: ldp x0, x1, [x3] /* INT128 */ - b 99f -3: brk #1000 /* UNUSED */ - nop -4: brk #1000 /* UNUSED */ - nop -5: brk #1000 /* UNUSED */ - nop -6: brk #1000 /* UNUSED */ - nop -7: brk #1000 /* UNUSED */ - nop -8: ldr s3, [x3, #12] /* S4 */ - nop -9: ldr s2, [x3, #8] /* S3 */ - nop -10: ldp s0, s1, [x3] /* S2 */ - b 99f -11: ldr s0, [x3] /* S1 */ - b 99f -12: ldr d3, [x3, #24] /* D4 */ - nop -13: ldr d2, [x3, #16] /* D3 */ - nop -14: ldp d0, d1, [x3] /* D2 */ - b 99f -15: ldr d0, [x3] /* D1 */ - b 99f -16: ldr q3, [x3, #48] /* Q4 */ - nop -17: ldr q2, [x3, #32] /* Q3 */ - nop -18: ldp q0, q1, [x3] /* Q2 */ - b 99f -19: ldr q0, [x3] /* Q1 */ - b 99f -20: ldrb w0, [x3, #BE(7)] /* UINT8 */ - b 99f -21: brk #1000 /* reserved */ - nop -22: ldrh w0, [x3, #BE(6)] /* UINT16 */ - b 99f -23: brk #1000 /* reserved */ - nop -24: ldr w0, [x3, #BE(4)] /* UINT32 */ - b 99f -25: brk #1000 /* reserved */ - nop -26: ldrsb x0, [x3, #BE(7)] /* SINT8 */ - b 99f -27: brk #1000 /* reserved */ - nop -28: ldrsh x0, [x3, #BE(6)] /* SINT16 */ - b 99f -29: brk #1000 /* reserved */ - nop -30: ldrsw x0, [x3, #BE(4)] /* SINT32 */ - nop -31: /* reserved */ -99: ldp x29, x30, [sp], #ffi_closure_SYSV_FS - cfi_adjust_cfa_offset (-ffi_closure_SYSV_FS) - cfi_restore (x29) - cfi_restore (x30) - AUTH_LR_AND_RET - cfi_endproc - - .globl CNAME(ffi_closure_SYSV) - FFI_HIDDEN(CNAME(ffi_closure_SYSV)) -#ifdef __ELF__ - .type CNAME(ffi_closure_SYSV), #function - .size CNAME(ffi_closure_SYSV), . - CNAME(ffi_closure_SYSV) -#endif - -#if defined(FFI_EXEC_STATIC_TRAMP) - .align 4 -CNAME(ffi_closure_SYSV_V_alt): - /* See the comments above trampoline_code_table. */ - ldr x17, [sp, #8] /* Load closure in x17 */ - add sp, sp, #16 /* Restore the stack */ - b CNAME(ffi_closure_SYSV_V) - - .globl CNAME(ffi_closure_SYSV_V_alt) - FFI_HIDDEN(CNAME(ffi_closure_SYSV_V_alt)) -#ifdef __ELF__ - .type CNAME(ffi_closure_SYSV_V_alt), #function - .size CNAME(ffi_closure_SYSV_V_alt), . - CNAME(ffi_closure_SYSV_V_alt) -#endif - - .align 4 -CNAME(ffi_closure_SYSV_alt): - /* See the comments above trampoline_code_table. */ - ldr x17, [sp, #8] /* Load closure in x17 */ - add sp, sp, #16 /* Restore the stack */ - b CNAME(ffi_closure_SYSV) - - .globl CNAME(ffi_closure_SYSV_alt) - FFI_HIDDEN(CNAME(ffi_closure_SYSV_alt)) -#ifdef __ELF__ - .type CNAME(ffi_closure_SYSV_alt), #function - .size CNAME(ffi_closure_SYSV_alt), . - CNAME(ffi_closure_SYSV_alt) -#endif - -/* - * Below is the definition of the trampoline code table. Each element in - * the code table is a trampoline. - */ -/* - * The trampoline uses register x17. It saves the original value of x17 on - * the stack. - * - * The trampoline has two parameters - target code to jump to and data for - * the target code. The trampoline extracts the parameters from its parameter - * block (see tramp_table_map()). The trampoline saves the data address on - * the stack. Finally, it jumps to the target code. - * - * The target code can choose to: - * - * - restore the value of x17 - * - load the data address in a register - * - restore the stack pointer to what it was when the trampoline was invoked. - */ - .align AARCH64_TRAMP_MAP_SHIFT -CNAME(trampoline_code_table): - .rept AARCH64_TRAMP_MAP_SIZE / AARCH64_TRAMP_SIZE - sub sp, sp, #16 /* Make space on the stack */ - str x17, [sp] /* Save x17 on stack */ - adr x17, #16376 /* Get data address */ - ldr x17, [x17] /* Copy data into x17 */ - str x17, [sp, #8] /* Save data on stack */ - adr x17, #16372 /* Get code address */ - ldr x17, [x17] /* Load code address into x17 */ - br x17 /* Jump to code */ - .endr - - .globl CNAME(trampoline_code_table) - FFI_HIDDEN(CNAME(trampoline_code_table)) -#ifdef __ELF__ - .type CNAME(trampoline_code_table), #function - .size CNAME(trampoline_code_table), . - CNAME(trampoline_code_table) -#endif - .align AARCH64_TRAMP_MAP_SHIFT -#endif /* FFI_EXEC_STATIC_TRAMP */ - -#if FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ -#include - .align PAGE_MAX_SHIFT -CNAME(ffi_closure_trampoline_table_page): - .rept PAGE_MAX_SIZE / FFI_TRAMPOLINE_SIZE - adr x16, -PAGE_MAX_SIZE - ldp x17, x16, [x16] - br x16 - nop /* each entry in the trampoline config page is 2*sizeof(void*) so the trampoline itself cannot be smaller than 16 bytes */ - .endr - - .globl CNAME(ffi_closure_trampoline_table_page) - FFI_HIDDEN(CNAME(ffi_closure_trampoline_table_page)) - #ifdef __ELF__ - .type CNAME(ffi_closure_trampoline_table_page), #function - .size CNAME(ffi_closure_trampoline_table_page), . - CNAME(ffi_closure_trampoline_table_page) - #endif -#endif - -#endif /* FFI_EXEC_TRAMPOLINE_TABLE */ - -#ifdef FFI_GO_CLOSURES - .align 4 -CNAME(ffi_go_closure_SYSV_V): - cfi_startproc - stp x29, x30, [sp, #-ffi_closure_SYSV_FS]! - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) - cfi_rel_offset (x29, 0) - cfi_rel_offset (x30, 8) - - /* Save the argument passing vector registers. */ - stp q0, q1, [sp, #16 + 0] - stp q2, q3, [sp, #16 + 32] - stp q4, q5, [sp, #16 + 64] - stp q6, q7, [sp, #16 + 96] - b 0f - cfi_endproc - - .globl CNAME(ffi_go_closure_SYSV_V) - FFI_HIDDEN(CNAME(ffi_go_closure_SYSV_V)) -#ifdef __ELF__ - .type CNAME(ffi_go_closure_SYSV_V), #function - .size CNAME(ffi_go_closure_SYSV_V), . - CNAME(ffi_go_closure_SYSV_V) -#endif - - .align 4 - cfi_startproc -CNAME(ffi_go_closure_SYSV): - stp x29, x30, [sp, #-ffi_closure_SYSV_FS]! - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) - cfi_rel_offset (x29, 0) - cfi_rel_offset (x30, 8) -0: - mov x29, sp - - /* Save the argument passing core registers. */ - stp x0, x1, [sp, #16 + 16*N_V_ARG_REG + 0] - stp x2, x3, [sp, #16 + 16*N_V_ARG_REG + 16] - stp x4, x5, [sp, #16 + 16*N_V_ARG_REG + 32] - stp x6, x7, [sp, #16 + 16*N_V_ARG_REG + 48] - - /* Load ffi_closure_inner arguments. */ - ldp PTR_REG(0), PTR_REG(1), [x18, #PTR_SIZE]/* load cif, fn */ - mov x2, x18 /* load user_data */ - b L(do_closure) - cfi_endproc - - .globl CNAME(ffi_go_closure_SYSV) - FFI_HIDDEN(CNAME(ffi_go_closure_SYSV)) -#ifdef __ELF__ - .type CNAME(ffi_go_closure_SYSV), #function - .size CNAME(ffi_go_closure_SYSV), . - CNAME(ffi_go_closure_SYSV) -#endif -#endif /* FFI_GO_CLOSURES */ -#endif /* FFI_CLOSURES */ -#endif /* __arm64__ */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",%progbits -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/win64_armasm.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/win64_armasm.S deleted file mode 100644 index 7fc185b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +++ /dev/null @@ -1,506 +0,0 @@ -/* Copyright (c) 2009, 2010, 2011, 2012 ARM Ltd. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#define LIBFFI_ASM -#include -#include -#include -#include "internal.h" - - OPT 2 /*disable listing */ -/* For some macros to add unwind information */ -#include "ksarm64.h" - OPT 1 /*re-enable listing */ - -#define BE(X) 0 -#define PTR_REG(n) x##n -#define PTR_SIZE 8 - - IMPORT ffi_closure_SYSV_inner - EXPORT ffi_call_SYSV - EXPORT ffi_closure_SYSV_V - EXPORT ffi_closure_SYSV - EXPORT extend_hfa_type - EXPORT compress_hfa_type -#ifdef FFI_GO_CLOSURES - EXPORT ffi_go_closure_SYSV_V - EXPORT ffi_go_closure_SYSV -#endif - - TEXTAREA, ALIGN=8 - -/* ffi_call_SYSV - extern void ffi_call_SYSV (void *stack, void *frame, - void (*fn)(void), void *rvalue, - int flags, void *closure); - Therefore on entry we have: - x0 stack - x1 frame - x2 fn - x3 rvalue - x4 flags - x5 closure -*/ - - NESTED_ENTRY ffi_call_SYSV_fake - - /* For unwind information, Windows has to store fp and lr */ - PROLOG_SAVE_REG_PAIR x29, x30, #-32! - - ALTERNATE_ENTRY ffi_call_SYSV - /* Use a stack frame allocated by our caller. */ - stp x29, x30, [x1] - mov x29, x1 - mov sp, x0 - - mov x9, x2 /* save fn */ - mov x8, x3 /* install structure return */ -#ifdef FFI_GO_CLOSURES - /*mov x18, x5 install static chain */ -#endif - stp x3, x4, [x29, #16] /* save rvalue and flags */ - - /* Load the vector argument passing registers, if necessary. */ - tbz x4, #AARCH64_FLAG_ARG_V_BIT, ffi_call_SYSV_L1 - ldp q0, q1, [sp, #0] - ldp q2, q3, [sp, #32] - ldp q4, q5, [sp, #64] - ldp q6, q7, [sp, #96] - -ffi_call_SYSV_L1 - /* Load the core argument passing registers, including - the structure return pointer. */ - ldp x0, x1, [sp, #16*N_V_ARG_REG + 0] - ldp x2, x3, [sp, #16*N_V_ARG_REG + 16] - ldp x4, x5, [sp, #16*N_V_ARG_REG + 32] - ldp x6, x7, [sp, #16*N_V_ARG_REG + 48] - - /* Deallocate the context, leaving the stacked arguments. */ - add sp, sp, #CALL_CONTEXT_SIZE - - blr x9 /* call fn */ - - ldp x3, x4, [x29, #16] /* reload rvalue and flags */ - - /* Partially deconstruct the stack frame. */ - mov sp, x29 - ldp x29, x30, [x29] - - /* Save the return value as directed. */ - adr x5, ffi_call_SYSV_return - and w4, w4, #AARCH64_RET_MASK - add x5, x5, x4, lsl #3 - br x5 - - /* Note that each table entry is 2 insns, and thus 8 bytes. - For integer data, note that we're storing into ffi_arg - and therefore we want to extend to 64 bits; these types - have two consecutive entries allocated for them. */ - ALIGN 4 -ffi_call_SYSV_return - ret /* VOID */ - nop - str x0, [x3] /* INT64 */ - ret - stp x0, x1, [x3] /* INT128 */ - ret - brk #1000 /* UNUSED */ - ret - brk #1000 /* UNUSED */ - ret - brk #1000 /* UNUSED */ - ret - brk #1000 /* UNUSED */ - ret - brk #1000 /* UNUSED */ - ret - st4 { v0.s, v1.s, v2.s, v3.s }[0], [x3] /* S4 */ - ret - st3 { v0.s, v1.s, v2.s }[0], [x3] /* S3 */ - ret - stp s0, s1, [x3] /* S2 */ - ret - str s0, [x3] /* S1 */ - ret - st4 { v0.d, v1.d, v2.d, v3.d }[0], [x3] /* D4 */ - ret - st3 { v0.d, v1.d, v2.d }[0], [x3] /* D3 */ - ret - stp d0, d1, [x3] /* D2 */ - ret - str d0, [x3] /* D1 */ - ret - str q3, [x3, #48] /* Q4 */ - nop - str q2, [x3, #32] /* Q3 */ - nop - stp q0, q1, [x3] /* Q2 */ - ret - str q0, [x3] /* Q1 */ - ret - uxtb w0, w0 /* UINT8 */ - str x0, [x3] - ret /* reserved */ - nop - uxth w0, w0 /* UINT16 */ - str x0, [x3] - ret /* reserved */ - nop - mov w0, w0 /* UINT32 */ - str x0, [x3] - ret /* reserved */ - nop - sxtb x0, w0 /* SINT8 */ - str x0, [x3] - ret /* reserved */ - nop - sxth x0, w0 /* SINT16 */ - str x0, [x3] - ret /* reserved */ - nop - sxtw x0, w0 /* SINT32 */ - str x0, [x3] - ret /* reserved */ - nop - - - NESTED_END ffi_call_SYSV_fake - - -/* ffi_closure_SYSV - Closure invocation glue. This is the low level code invoked directly by - the closure trampoline to setup and call a closure. - On entry x17 points to a struct ffi_closure, x16 has been clobbered - all other registers are preserved. - We allocate a call context and save the argument passing registers, - then invoked the generic C ffi_closure_SYSV_inner() function to do all - the real work, on return we load the result passing registers back from - the call context. -*/ - -#define ffi_closure_SYSV_FS (8*2 + CALL_CONTEXT_SIZE + 64) - - NESTED_ENTRY ffi_closure_SYSV_V - PROLOG_SAVE_REG_PAIR x29, x30, #-ffi_closure_SYSV_FS! - - /* Save the argument passing vector registers. */ - stp q0, q1, [sp, #16 + 0] - stp q2, q3, [sp, #16 + 32] - stp q4, q5, [sp, #16 + 64] - stp q6, q7, [sp, #16 + 96] - - b ffi_closure_SYSV_save_argument - NESTED_END ffi_closure_SYSV_V - - NESTED_ENTRY ffi_closure_SYSV - PROLOG_SAVE_REG_PAIR x29, x30, #-ffi_closure_SYSV_FS! - -ffi_closure_SYSV_save_argument - /* Save the argument passing core registers. */ - stp x0, x1, [sp, #16 + 16*N_V_ARG_REG + 0] - stp x2, x3, [sp, #16 + 16*N_V_ARG_REG + 16] - stp x4, x5, [sp, #16 + 16*N_V_ARG_REG + 32] - stp x6, x7, [sp, #16 + 16*N_V_ARG_REG + 48] - - /* Load ffi_closure_inner arguments. */ - ldp PTR_REG(0), PTR_REG(1), [x17, #FFI_TRAMPOLINE_CLOSURE_OFFSET] /* load cif, fn */ - ldr PTR_REG(2), [x17, #FFI_TRAMPOLINE_CLOSURE_OFFSET+PTR_SIZE*2] /* load user_data */ - -do_closure - add x3, sp, #16 /* load context */ - add x4, sp, #ffi_closure_SYSV_FS /* load stack */ - add x5, sp, #16+CALL_CONTEXT_SIZE /* load rvalue */ - mov x6, x8 /* load struct_rval */ - - bl ffi_closure_SYSV_inner - - /* Load the return value as directed. */ - adr x1, ffi_closure_SYSV_return_base - and w0, w0, #AARCH64_RET_MASK - add x1, x1, x0, lsl #3 - add x3, sp, #16+CALL_CONTEXT_SIZE - br x1 - - /* Note that each table entry is 2 insns, and thus 8 bytes. */ - ALIGN 8 -ffi_closure_SYSV_return_base - b ffi_closure_SYSV_epilog /* VOID */ - nop - ldr x0, [x3] /* INT64 */ - b ffi_closure_SYSV_epilog - ldp x0, x1, [x3] /* INT128 */ - b ffi_closure_SYSV_epilog - brk #1000 /* UNUSED */ - nop - brk #1000 /* UNUSED */ - nop - brk #1000 /* UNUSED */ - nop - brk #1000 /* UNUSED */ - nop - brk #1000 /* UNUSED */ - nop - ldr s3, [x3, #12] /* S4 */ - nop - ldr s2, [x3, #8] /* S3 */ - nop - ldp s0, s1, [x3] /* S2 */ - b ffi_closure_SYSV_epilog - ldr s0, [x3] /* S1 */ - b ffi_closure_SYSV_epilog - ldr d3, [x3, #24] /* D4 */ - nop - ldr d2, [x3, #16] /* D3 */ - nop - ldp d0, d1, [x3] /* D2 */ - b ffi_closure_SYSV_epilog - ldr d0, [x3] /* D1 */ - b ffi_closure_SYSV_epilog - ldr q3, [x3, #48] /* Q4 */ - nop - ldr q2, [x3, #32] /* Q3 */ - nop - ldp q0, q1, [x3] /* Q2 */ - b ffi_closure_SYSV_epilog - ldr q0, [x3] /* Q1 */ - b ffi_closure_SYSV_epilog - ldrb w0, [x3, #BE(7)] /* UINT8 */ - b ffi_closure_SYSV_epilog - brk #1000 /* reserved */ - nop - ldrh w0, [x3, #BE(6)] /* UINT16 */ - b ffi_closure_SYSV_epilog - brk #1000 /* reserved */ - nop - ldr w0, [x3, #BE(4)] /* UINT32 */ - b ffi_closure_SYSV_epilog - brk #1000 /* reserved */ - nop - ldrsb x0, [x3, #BE(7)] /* SINT8 */ - b ffi_closure_SYSV_epilog - brk #1000 /* reserved */ - nop - ldrsh x0, [x3, #BE(6)] /* SINT16 */ - b ffi_closure_SYSV_epilog - brk #1000 /* reserved */ - nop - ldrsw x0, [x3, #BE(4)] /* SINT32 */ - nop - /* reserved */ - -ffi_closure_SYSV_epilog - EPILOG_RESTORE_REG_PAIR x29, x30, #ffi_closure_SYSV_FS! - EPILOG_RETURN - NESTED_END ffi_closure_SYSV - - -#ifdef FFI_GO_CLOSURES - NESTED_ENTRY ffi_go_closure_SYSV_V - PROLOG_SAVE_REG_PAIR x29, x30, #-ffi_closure_SYSV_FS! - - /* Save the argument passing vector registers. */ - stp q0, q1, [sp, #16 + 0] - stp q2, q3, [sp, #16 + 32] - stp q4, q5, [sp, #16 + 64] - stp q6, q7, [sp, #16 + 96] - b ffi_go_closure_SYSV_save_argument - NESTED_END ffi_go_closure_SYSV_V - - NESTED_ENTRY ffi_go_closure_SYSV - PROLOG_SAVE_REG_PAIR x29, x30, #-ffi_closure_SYSV_FS! - -ffi_go_closure_SYSV_save_argument - /* Save the argument passing core registers. */ - stp x0, x1, [sp, #16 + 16*N_V_ARG_REG + 0] - stp x2, x3, [sp, #16 + 16*N_V_ARG_REG + 16] - stp x4, x5, [sp, #16 + 16*N_V_ARG_REG + 32] - stp x6, x7, [sp, #16 + 16*N_V_ARG_REG + 48] - - /* Load ffi_closure_inner arguments. */ - ldp PTR_REG(0), PTR_REG(1), [x18, #PTR_SIZE]/* load cif, fn */ - mov x2, x18 /* load user_data */ - b do_closure - NESTED_END ffi_go_closure_SYSV - -#endif /* FFI_GO_CLOSURES */ - - -/* void extend_hfa_type (void *dest, void *src, int h) */ - - LEAF_ENTRY extend_hfa_type - - adr x3, extend_hfa_type_jump_base - and w2, w2, #AARCH64_RET_MASK - sub x2, x2, #AARCH64_RET_S4 - add x3, x3, x2, lsl #4 - br x3 - - ALIGN 4 -extend_hfa_type_jump_base - ldp s16, s17, [x1] /* S4 */ - ldp s18, s19, [x1, #8] - b extend_hfa_type_store_4 - nop - - ldp s16, s17, [x1] /* S3 */ - ldr s18, [x1, #8] - b extend_hfa_type_store_3 - nop - - ldp s16, s17, [x1] /* S2 */ - b extend_hfa_type_store_2 - nop - nop - - ldr s16, [x1] /* S1 */ - b extend_hfa_type_store_1 - nop - nop - - ldp d16, d17, [x1] /* D4 */ - ldp d18, d19, [x1, #16] - b extend_hfa_type_store_4 - nop - - ldp d16, d17, [x1] /* D3 */ - ldr d18, [x1, #16] - b extend_hfa_type_store_3 - nop - - ldp d16, d17, [x1] /* D2 */ - b extend_hfa_type_store_2 - nop - nop - - ldr d16, [x1] /* D1 */ - b extend_hfa_type_store_1 - nop - nop - - ldp q16, q17, [x1] /* Q4 */ - ldp q18, q19, [x1, #16] - b extend_hfa_type_store_4 - nop - - ldp q16, q17, [x1] /* Q3 */ - ldr q18, [x1, #16] - b extend_hfa_type_store_3 - nop - - ldp q16, q17, [x1] /* Q2 */ - b extend_hfa_type_store_2 - nop - nop - - ldr q16, [x1] /* Q1 */ - b extend_hfa_type_store_1 - -extend_hfa_type_store_4 - str q19, [x0, #48] -extend_hfa_type_store_3 - str q18, [x0, #32] -extend_hfa_type_store_2 - str q17, [x0, #16] -extend_hfa_type_store_1 - str q16, [x0] - ret - - LEAF_END extend_hfa_type - - -/* void compress_hfa_type (void *dest, void *reg, int h) */ - - LEAF_ENTRY compress_hfa_type - - adr x3, compress_hfa_type_jump_base - and w2, w2, #AARCH64_RET_MASK - sub x2, x2, #AARCH64_RET_S4 - add x3, x3, x2, lsl #4 - br x3 - - ALIGN 4 -compress_hfa_type_jump_base - ldp q16, q17, [x1] /* S4 */ - ldp q18, q19, [x1, #32] - st4 { v16.s, v17.s, v18.s, v19.s }[0], [x0] - ret - - ldp q16, q17, [x1] /* S3 */ - ldr q18, [x1, #32] - st3 { v16.s, v17.s, v18.s }[0], [x0] - ret - - ldp q16, q17, [x1] /* S2 */ - st2 { v16.s, v17.s }[0], [x0] - ret - nop - - ldr q16, [x1] /* S1 */ - st1 { v16.s }[0], [x0] - ret - nop - - ldp q16, q17, [x1] /* D4 */ - ldp q18, q19, [x1, #32] - st4 { v16.d, v17.d, v18.d, v19.d }[0], [x0] - ret - - ldp q16, q17, [x1] /* D3 */ - ldr q18, [x1, #32] - st3 { v16.d, v17.d, v18.d }[0], [x0] - ret - - ldp q16, q17, [x1] /* D2 */ - st2 { v16.d, v17.d }[0], [x0] - ret - nop - - ldr q16, [x1] /* D1 */ - st1 { v16.d }[0], [x0] - ret - nop - - ldp q16, q17, [x1] /* Q4 */ - ldp q18, q19, [x1, #32] - b compress_hfa_type_store_q4 - nop - - ldp q16, q17, [x1] /* Q3 */ - ldr q18, [x1, #32] - b compress_hfa_type_store_q3 - nop - - ldp q16, q17, [x1] /* Q2 */ - stp q16, q17, [x0] - ret - nop - - ldr q16, [x1] /* Q1 */ - str q16, [x0] - ret - -compress_hfa_type_store_q4 - str q19, [x0, #48] -compress_hfa_type_store_q3 - str q18, [x0, #32] - stp q16, q17, [x0] - ret - - LEAF_END compress_hfa_type - - END \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffi.c deleted file mode 100644 index 7a95e97..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffi.c +++ /dev/null @@ -1,521 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2012 Anthony Green - Copyright (c) 1998, 2001, 2007, 2008 Red Hat, Inc. - - Alpha Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include -#include -#include "internal.h" - -/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE; - all further uses in this file will refer to the 128-bit type. */ -#if defined(__LONG_DOUBLE_128__) -# if FFI_TYPE_LONGDOUBLE != 4 -# error FFI_TYPE_LONGDOUBLE out of date -# endif -#else -# undef FFI_TYPE_LONGDOUBLE -# define FFI_TYPE_LONGDOUBLE 4 -#endif - -extern void ffi_call_osf(void *stack, void *frame, unsigned flags, - void *raddr, void (*fn)(void), void *closure) - FFI_HIDDEN; -extern void ffi_closure_osf(void) FFI_HIDDEN; -extern void ffi_go_closure_osf(void) FFI_HIDDEN; - -/* Promote a float value to its in-register double representation. - Unlike actually casting to double, this does not trap on NaN. */ -static inline UINT64 lds(void *ptr) -{ - UINT64 ret; - asm("lds %0,%1" : "=f"(ret) : "m"(*(UINT32 *)ptr)); - return ret; -} - -/* And the reverse. */ -static inline void sts(void *ptr, UINT64 val) -{ - asm("sts %1,%0" : "=m"(*(UINT32 *)ptr) : "f"(val)); -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep(ffi_cif *cif) -{ - size_t bytes = 0; - int flags, i, avn; - ffi_type *rtype, *itype; - - if (cif->abi != FFI_OSF) - return FFI_BAD_ABI; - - /* Compute the size of the argument area. */ - for (i = 0, avn = cif->nargs; i < avn; i++) - { - itype = cif->arg_types[i]; - switch (itype->type) - { - case FFI_TYPE_INT: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - /* All take one 8 byte slot. */ - bytes += 8; - break; - - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - /* Passed by value in N slots. */ - bytes += FFI_ALIGN(itype->size, FFI_SIZEOF_ARG); - break; - - case FFI_TYPE_COMPLEX: - /* _Complex long double passed by reference; others in 2 slots. */ - if (itype->elements[0]->type == FFI_TYPE_LONGDOUBLE) - bytes += 8; - else - bytes += 16; - break; - - default: - abort(); - } - } - - /* Set the return type flag */ - rtype = cif->rtype; - switch (rtype->type) - { - case FFI_TYPE_VOID: - flags = ALPHA_FLAGS(ALPHA_ST_VOID, ALPHA_LD_VOID); - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_INT32); - break; - case FFI_TYPE_FLOAT: - flags = ALPHA_FLAGS(ALPHA_ST_FLOAT, ALPHA_LD_FLOAT); - break; - case FFI_TYPE_DOUBLE: - flags = ALPHA_FLAGS(ALPHA_ST_DOUBLE, ALPHA_LD_DOUBLE); - break; - case FFI_TYPE_UINT8: - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_UINT8); - break; - case FFI_TYPE_SINT8: - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_SINT8); - break; - case FFI_TYPE_UINT16: - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_UINT16); - break; - case FFI_TYPE_SINT16: - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_SINT16); - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_INT64); - break; - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_STRUCT: - /* Passed in memory, with a hidden pointer. */ - flags = ALPHA_RET_IN_MEM; - break; - case FFI_TYPE_COMPLEX: - itype = rtype->elements[0]; - switch (itype->type) - { - case FFI_TYPE_FLOAT: - flags = ALPHA_FLAGS(ALPHA_ST_CPLXF, ALPHA_LD_CPLXF); - break; - case FFI_TYPE_DOUBLE: - flags = ALPHA_FLAGS(ALPHA_ST_CPLXD, ALPHA_LD_CPLXD); - break; - default: - if (rtype->size <= 8) - flags = ALPHA_FLAGS(ALPHA_ST_INT, ALPHA_LD_INT64); - else - flags = ALPHA_RET_IN_MEM; - break; - } - break; - default: - abort(); - } - cif->flags = flags; - - /* Include the hidden structure pointer in args requirement. */ - if (flags == ALPHA_RET_IN_MEM) - bytes += 8; - /* Minimum size is 6 slots, so that ffi_call_osf can pop them. */ - if (bytes < 6*8) - bytes = 6*8; - cif->bytes = bytes; - - return FFI_OK; -} - -static unsigned long -extend_basic_type(void *valp, int type, int argn) -{ - switch (type) - { - case FFI_TYPE_SINT8: - return *(SINT8 *)valp; - case FFI_TYPE_UINT8: - return *(UINT8 *)valp; - case FFI_TYPE_SINT16: - return *(SINT16 *)valp; - case FFI_TYPE_UINT16: - return *(UINT16 *)valp; - - case FFI_TYPE_FLOAT: - if (argn < 6) - return lds(valp); - /* FALLTHRU */ - - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - /* Note that unsigned 32-bit quantities are sign extended. */ - return *(SINT32 *)valp; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - case FFI_TYPE_DOUBLE: - return *(UINT64 *)valp; - - default: - abort(); - } -} - -static void -ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - unsigned long *argp; - long i, avn, argn, flags = cif->flags; - ffi_type **arg_types; - void *frame; - - /* If the return value is a struct and we don't have a return - value address then we need to make one. */ - if (rvalue == NULL && flags == ALPHA_RET_IN_MEM) - rvalue = alloca(cif->rtype->size); - - /* Allocate the space for the arguments, plus 4 words of temp - space for ffi_call_osf. */ - argp = frame = alloca(cif->bytes + 4*FFI_SIZEOF_ARG); - frame += cif->bytes; - - argn = 0; - if (flags == ALPHA_RET_IN_MEM) - argp[argn++] = (unsigned long)rvalue; - - avn = cif->nargs; - arg_types = cif->arg_types; - - for (i = 0, avn = cif->nargs; i < avn; i++) - { - ffi_type *ty = arg_types[i]; - void *valp = avalue[i]; - int type = ty->type; - size_t size; - - switch (type) - { - case FFI_TYPE_INT: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - argp[argn] = extend_basic_type(valp, type, argn); - argn++; - break; - - case FFI_TYPE_LONGDOUBLE: - by_reference: - /* Note that 128-bit long double is passed by reference. */ - argp[argn++] = (unsigned long)valp; - break; - - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - size = ty->size; - memcpy(argp + argn, valp, size); - argn += FFI_ALIGN(size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; - break; - - case FFI_TYPE_COMPLEX: - type = ty->elements[0]->type; - if (type == FFI_TYPE_LONGDOUBLE) - goto by_reference; - - /* Most complex types passed as two separate arguments. */ - size = ty->elements[0]->size; - argp[argn] = extend_basic_type(valp, type, argn); - argp[argn + 1] = extend_basic_type(valp + size, type, argn + 1); - argn += 2; - break; - - default: - abort(); - } - } - - flags = (flags >> ALPHA_ST_SHIFT) & 0xff; - ffi_call_osf(argp, frame, flags, rvalue, fn, closure); -} - -void -ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int(cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int(cif, fn, rvalue, avalue, closure); -} - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp; - - if (cif->abi != FFI_OSF) - return FFI_BAD_ABI; - - tramp = (unsigned int *) &closure->tramp[0]; - tramp[0] = 0x47fb0401; /* mov $27,$1 */ - tramp[1] = 0xa77b0010; /* ldq $27,16($27) */ - tramp[2] = 0x6bfb0000; /* jmp $31,($27),0 */ - tramp[3] = 0x47ff041f; /* nop */ - *(void **) &tramp[4] = ffi_closure_osf; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - /* Flush the Icache. - - Tru64 UNIX as doesn't understand the imb mnemonic, so use call_pal - instead, since both Compaq as and gas can handle it. - - 0x86 is PAL_imb in Tru64 UNIX . */ - asm volatile ("call_pal 0x86" : : : "memory"); - - return FFI_OK; -} - -ffi_status -ffi_prep_go_closure (ffi_go_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*)) -{ - if (cif->abi != FFI_OSF) - return FFI_BAD_ABI; - - closure->tramp = (void *)ffi_go_closure_osf; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -long FFI_HIDDEN -ffi_closure_osf_inner (ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *rvalue, unsigned long *argp) -{ - void **avalue; - ffi_type **arg_types; - long i, avn, argn, flags; - - avalue = alloca(cif->nargs * sizeof(void *)); - flags = cif->flags; - argn = 0; - - /* Copy the caller's structure return address to that the closure - returns the data directly to the caller. */ - if (flags == ALPHA_RET_IN_MEM) - { - rvalue = (void *) argp[0]; - argn = 1; - } - - arg_types = cif->arg_types; - - /* Grab the addresses of the arguments from the stack frame. */ - for (i = 0, avn = cif->nargs; i < avn; i++) - { - ffi_type *ty = arg_types[i]; - int type = ty->type; - void *valp = &argp[argn]; - size_t size; - - switch (type) - { - case FFI_TYPE_INT: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - argn += 1; - break; - - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - size = ty->size; - argn += FFI_ALIGN(size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; - break; - - case FFI_TYPE_FLOAT: - /* Floats coming from registers need conversion from double - back to float format. */ - if (argn < 6) - { - valp = &argp[argn - 6]; - sts(valp, argp[argn - 6]); - } - argn += 1; - break; - - case FFI_TYPE_DOUBLE: - if (argn < 6) - valp = &argp[argn - 6]; - argn += 1; - break; - - case FFI_TYPE_LONGDOUBLE: - by_reference: - /* 128-bit long double is passed by reference. */ - valp = (void *)argp[argn]; - argn += 1; - break; - - case FFI_TYPE_COMPLEX: - type = ty->elements[0]->type; - switch (type) - { - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - /* Passed as separate arguments, but they wind up sequential. */ - break; - - case FFI_TYPE_INT: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - /* Passed as separate arguments. Disjoint, but there's room - enough in one slot to hold the pair. */ - size = ty->elements[0]->size; - memcpy(valp + size, valp + 8, size); - break; - - case FFI_TYPE_FLOAT: - /* Passed as separate arguments. Disjoint, and each piece - may need conversion back to float. */ - if (argn < 6) - { - valp = &argp[argn - 6]; - sts(valp, argp[argn - 6]); - } - if (argn + 1 < 6) - sts(valp + 4, argp[argn + 1 - 6]); - else - *(UINT32 *)(valp + 4) = argp[argn + 1]; - break; - - case FFI_TYPE_DOUBLE: - /* Passed as separate arguments. Only disjoint if one part - is in fp regs and the other is on the stack. */ - if (argn < 5) - valp = &argp[argn - 6]; - else if (argn == 5) - { - valp = alloca(16); - ((UINT64 *)valp)[0] = argp[5 - 6]; - ((UINT64 *)valp)[1] = argp[6]; - } - break; - - case FFI_TYPE_LONGDOUBLE: - goto by_reference; - - default: - abort(); - } - argn += 2; - break; - - default: - abort (); - } - - avalue[i] = valp; - } - - /* Invoke the closure. */ - fun (cif, rvalue, avalue, user_data); - - /* Tell ffi_closure_osf how to perform return type promotions. */ - return (flags >> ALPHA_LD_SHIFT) & 0xff; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffitarget.h deleted file mode 100644 index a02dbd0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffitarget.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for Alpha. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_OSF, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_OSF -} ffi_abi; -#endif - -#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION -#define FFI_TARGET_HAS_COMPLEX_TYPE - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 24 -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/internal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/internal.h deleted file mode 100644 index 44da192..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/internal.h +++ /dev/null @@ -1,23 +0,0 @@ -#define ALPHA_ST_VOID 0 -#define ALPHA_ST_INT 1 -#define ALPHA_ST_FLOAT 2 -#define ALPHA_ST_DOUBLE 3 -#define ALPHA_ST_CPLXF 4 -#define ALPHA_ST_CPLXD 5 - -#define ALPHA_LD_VOID 0 -#define ALPHA_LD_INT64 1 -#define ALPHA_LD_INT32 2 -#define ALPHA_LD_UINT16 3 -#define ALPHA_LD_SINT16 4 -#define ALPHA_LD_UINT8 5 -#define ALPHA_LD_SINT8 6 -#define ALPHA_LD_FLOAT 7 -#define ALPHA_LD_DOUBLE 8 -#define ALPHA_LD_CPLXF 9 -#define ALPHA_LD_CPLXD 10 - -#define ALPHA_ST_SHIFT 0 -#define ALPHA_LD_SHIFT 8 -#define ALPHA_RET_IN_MEM 0x10000 -#define ALPHA_FLAGS(S, L) (((L) << ALPHA_LD_SHIFT) | (S)) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/osf.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/osf.S deleted file mode 100644 index b031828..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/osf.S +++ /dev/null @@ -1,282 +0,0 @@ -/* ----------------------------------------------------------------------- - osf.S - Copyright (c) 1998, 2001, 2007, 2008, 2011, 2014 Red Hat - - Alpha/OSF Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#include -#include "internal.h" - - .arch ev6 - .text - -/* Aid in building a direct addressed jump table, 4 insns per entry. */ -.macro E index - .align 4 - .org 99b + \index * 16 -.endm - -/* ffi_call_osf (void *stack, void *frame, unsigned flags, - void *raddr, void (*fnaddr)(void), void *closure) - - Bit o trickiness here -- FRAME is the base of the stack frame - for this function. This has been allocated by ffi_call. We also - deallocate some of the stack that has been alloca'd. */ - - .align 4 - .globl ffi_call_osf - .ent ffi_call_osf - FFI_HIDDEN(ffi_call_osf) - -ffi_call_osf: - cfi_startproc - cfi_def_cfa($17, 32) - mov $16, $30 - stq $26, 0($17) - stq $15, 8($17) - mov $17, $15 - .prologue 0 - cfi_def_cfa_register($15) - cfi_rel_offset($26, 0) - cfi_rel_offset($15, 8) - - stq $18, 16($17) # save flags into frame - stq $19, 24($17) # save rvalue into frame - mov $20, $27 # fn into place for call - mov $21, $1 # closure into static chain - - # Load up all of the (potential) argument registers. - ldq $16, 0($30) - ldt $f16, 0($30) - ldt $f17, 8($30) - ldq $17, 8($30) - ldt $f18, 16($30) - ldq $18, 16($30) - ldt $f19, 24($30) - ldq $19, 24($30) - ldt $f20, 32($30) - ldq $20, 32($30) - ldt $f21, 40($30) - ldq $21, 40($30) - - # Deallocate the register argument area. - lda $30, 48($30) - - jsr $26, ($27), 0 -0: - ldah $29, 0($26) !gpdisp!1 - ldq $2, 24($15) # reload rvalue - lda $29, 0($29) !gpdisp!1 - ldq $3, 16($15) # reload flags - lda $1, 99f-0b($26) - ldq $26, 0($15) - ldq $15, 8($15) - cfi_restore($26) - cfi_restore($15) - cfi_def_cfa($sp, 0) - cmoveq $2, ALPHA_ST_VOID, $3 # mash null rvalue to void - addq $3, $3, $3 - s8addq $3, $1, $1 # 99f + stcode * 16 - jmp $31, ($1), $st_int - - .align 4 -99: -E ALPHA_ST_VOID - ret -E ALPHA_ST_INT -$st_int: - stq $0, 0($2) - ret -E ALPHA_ST_FLOAT - sts $f0, 0($2) - ret -E ALPHA_ST_DOUBLE - stt $f0, 0($2) - ret -E ALPHA_ST_CPLXF - sts $f0, 0($2) - sts $f1, 4($2) - ret -E ALPHA_ST_CPLXD - stt $f0, 0($2) - stt $f1, 8($2) - ret - - cfi_endproc - .end ffi_call_osf - -/* ffi_closure_osf(...) - - Receives the closure argument in $1. */ - -#define CLOSURE_FS (16*8) - - .align 4 - .globl ffi_go_closure_osf - .ent ffi_go_closure_osf - FFI_HIDDEN(ffi_go_closure_osf) - -ffi_go_closure_osf: - cfi_startproc - ldgp $29, 0($27) - subq $30, CLOSURE_FS, $30 - cfi_adjust_cfa_offset(CLOSURE_FS) - stq $26, 0($30) - .prologue 1 - cfi_rel_offset($26, 0) - - stq $16, 10*8($30) - stq $17, 11*8($30) - stq $18, 12*8($30) - - ldq $16, 8($1) # load cif - ldq $17, 16($1) # load fun - mov $1, $18 # closure is user_data - br $do_closure - - cfi_endproc - .end ffi_go_closure_osf - - .align 4 - .globl ffi_closure_osf - .ent ffi_closure_osf - FFI_HIDDEN(ffi_closure_osf) - -ffi_closure_osf: - cfi_startproc - ldgp $29, 0($27) - subq $30, CLOSURE_FS, $30 - cfi_adjust_cfa_offset(CLOSURE_FS) - stq $26, 0($30) - .prologue 1 - cfi_rel_offset($26, 0) - - # Store all of the potential argument registers in va_list format. - stq $16, 10*8($30) - stq $17, 11*8($30) - stq $18, 12*8($30) - - ldq $16, 24($1) # load cif - ldq $17, 32($1) # load fun - ldq $18, 40($1) # load user_data - -$do_closure: - stq $19, 13*8($30) - stq $20, 14*8($30) - stq $21, 15*8($30) - stt $f16, 4*8($30) - stt $f17, 5*8($30) - stt $f18, 6*8($30) - stt $f19, 7*8($30) - stt $f20, 8*8($30) - stt $f21, 9*8($30) - - # Call ffi_closure_osf_inner to do the bulk of the work. - lda $19, 2*8($30) - lda $20, 10*8($30) - jsr $26, ffi_closure_osf_inner -0: - ldah $29, 0($26) !gpdisp!2 - lda $2, 99f-0b($26) - s4addq $0, 0, $1 # ldcode * 4 - ldq $0, 16($30) # preload return value - s4addq $1, $2, $1 # 99f + ldcode * 16 - lda $29, 0($29) !gpdisp!2 - ldq $26, 0($30) - cfi_restore($26) - jmp $31, ($1), $load_32 - -.macro epilogue - addq $30, CLOSURE_FS, $30 - cfi_adjust_cfa_offset(-CLOSURE_FS) - ret - .align 4 - cfi_adjust_cfa_offset(CLOSURE_FS) -.endm - - .align 4 -99: -E ALPHA_LD_VOID - epilogue - -E ALPHA_LD_INT64 - epilogue - -E ALPHA_LD_INT32 -$load_32: - sextl $0, $0 - epilogue - -E ALPHA_LD_UINT16 - zapnot $0, 3, $0 - epilogue - -E ALPHA_LD_SINT16 -#ifdef __alpha_bwx__ - sextw $0, $0 -#else - sll $0, 48, $0 - sra $0, 48, $0 -#endif - epilogue - -E ALPHA_LD_UINT8 - and $0, 0xff, $0 - epilogue - -E ALPHA_LD_SINT8 -#ifdef __alpha_bwx__ - sextb $0, $0 -#else - sll $0, 56, $0 - sra $0, 56, $0 -#endif - epilogue - -E ALPHA_LD_FLOAT - lds $f0, 16($sp) - epilogue - -E ALPHA_LD_DOUBLE - ldt $f0, 16($sp) - epilogue - -E ALPHA_LD_CPLXF - lds $f0, 16($sp) - lds $f1, 20($sp) - epilogue - -E ALPHA_LD_CPLXD - ldt $f0, 16($sp) - ldt $f1, 24($sp) - epilogue - - cfi_endproc - .end ffi_closure_osf - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/arcompact.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/arcompact.S deleted file mode 100644 index 1d7f1a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/arcompact.S +++ /dev/null @@ -1,210 +0,0 @@ -/* ----------------------------------------------------------------------- - arcompact.S - Copyright (c) 2013 Synposys, Inc. (www.synopsys.com) - - ARCompact Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#ifdef HAVE_MACHINE_ASM_H -#include -#else -#define CNAME(x) x -#define ENTRY(x) .globl CNAME(x)` .type CNAME(x),%function` CNAME(x): -#endif - -#if __SIZEOF_POINTER__ == 8 -#define PTRS 8 -#define FLTS 8 -#define LARG ldl -#define SARG stl -#define ADDPTR addl -#define MOVPTR movl_s -#else -#define PTRS 4 -#define FLTS 4 -#define LARG ld -#define SARG st -#define ADDPTR add -#define MOVPTR mov_s -#endif - -#define FRAME_LEN (8 * PTRS + 16) - -.text - -ENTRY(ffi_call_asm) - .cfi_startproc - - /* Save registers. */ - .cfi_def_cfa r1, FRAME_LEN - SARG fp, [r1, FRAME_LEN - 2*PTRS] - .cfi_offset fp, -2*PTRS - SARG blink, [r1, FRAME_LEN - 1*PTRS] - .cfi_offset blink, -1*PTRS - ADDPTR fp, r1, FRAME_LEN - MOVPTR sp, r0 - .cfi_def_cfa fp, 0 - - /* Load arguments. */ - MOVPTR r11, r2 /* fn */ - MOVPTR r12, r3 /* closure */ - - /* Save arguments. */ - LARG r0, [fp, -FRAME_LEN+0*PTRS] - LARG r1, [fp, -FRAME_LEN+1*PTRS] - LARG r2, [fp, -FRAME_LEN+2*PTRS] - LARG r3, [fp, -FRAME_LEN+3*PTRS] - LARG r4, [fp, -FRAME_LEN+4*PTRS] - LARG r5, [fp, -FRAME_LEN+5*PTRS] - LARG r6, [fp, -FRAME_LEN+6*PTRS] - LARG r7, [fp, -FRAME_LEN+7*PTRS] - - /* Call the function. */ - jl [r11] - - /* Save return value (r0/r1) */ - SARG r0, [fp, -FRAME_LEN+0*PTRS] - SARG r1, [fp, -FRAME_LEN+1*PTRS] - - /* Restore and return. */ - add sp, fp, -FRAME_LEN - .cfi_def_cfa sp, FRAME_LEN - LARG blink, [fp, -1*PTRS] - .cfi_restore blink - LARG fp, [fp, -2*PTRS] - .cfi_restore fp - j_s [blink] - .cfi_endproc - .size ffi_call_asm, .-ffi_call_asm - -/* - ffi_closure_asm. Expects address of the passed-in ffi_closure in r8. - void ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stackargs, struct call_context *regargs) -*/ - -ENTRY(ffi_closure_asm) - .cfi_startproc - - ADDPTR sp, sp, -FRAME_LEN - .cfi_def_cfa_offset FRAME_LEN - - /* Make a frame. */ - SARG fp, [sp, FRAME_LEN-2*PTRS] - .cfi_offset fp, -2*PTRS - SARG blink, [sp, FRAME_LEN-1*PTRS] - .cfi_offset blink, -1*PTRS - ADDPTR fp, sp, FRAME_LEN - - /* Save arguments. */ - SARG r0, [sp, 0*PTRS] - SARG r1, [sp, 1*PTRS] - SARG r2, [sp, 2*PTRS] - SARG r3, [sp, 3*PTRS] - SARG r4, [sp, 4*PTRS] - SARG r5, [sp, 5*PTRS] - SARG r6, [sp, 6*PTRS] - SARG r7, [sp, 7*PTRS] - - /* Enter C. */ - LARG r0, [r8, FFI_TRAMPOLINE_SIZE+0*PTRS] - LARG r1, [r8, FFI_TRAMPOLINE_SIZE+1*PTRS] - LARG r2, [r8, FFI_TRAMPOLINE_SIZE+2*PTRS] - ADDPTR r3, sp, FRAME_LEN - MOVPTR r4, sp - - /* Call the C code. */ - bl ffi_closure_inner - - /* Return values. */ - LARG r0, [sp, 0*PTRS] - LARG r1, [sp, 1*PTRS] - - /* Restore and return. */ - LARG blink, [sp, FRAME_LEN-1*PTRS] - .cfi_restore blink - LARG fp, [sp, FRAME_LEN-2*PTRS] - .cfi_restore fp - ADDPTR sp, sp, FRAME_LEN - .cfi_def_cfa_offset 0 - j_s [blink] - .cfi_endproc - .size ffi_closure_asm, .-ffi_closure_asm - -/* - ffi_go_closure_asm. Expects address of the passed-in ffi_go_closure in r12. - void ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stackargs, struct call_context *regargs) -*/ - -ENTRY(ffi_go_closure_asm) - .cfi_startproc - - ADDPTR sp, sp, -FRAME_LEN - .cfi_def_cfa_offset FRAME_LEN - - /* make a frame */ - SARG fp, [sp, FRAME_LEN-2*PTRS] - .cfi_offset fp, -2*PTRS - SARG blink, [sp, FRAME_LEN-1*PTRS] - .cfi_offset blink, -1*PTRS - ADDPTR fp, sp, FRAME_LEN - - /* save arguments */ - SARG r0, [sp, 0*PTRS] - SARG r1, [sp, 1*PTRS] - SARG r2, [sp, 2*PTRS] - SARG r3, [sp, 3*PTRS] - SARG r4, [sp, 4*PTRS] - SARG r5, [sp, 5*PTRS] - SARG r6, [sp, 6*PTRS] - SARG r7, [sp, 7*PTRS] - - /* enter C */ - LARG r0, [r12, 1*PTRS] - LARG r1, [r12, 2*PTRS] - MOVPTR r2, r12 - ADDPTR r3, sp, FRAME_LEN - MOVPTR r4, sp - - bl ffi_closure_inner - - /* Return values. */ - LARG r0, [sp, 0*PTRS] - LARG r1, [sp, 1*PTRS] - - - LARG blink, [sp, FRAME_LEN-1*PTRS] - .cfi_restore blink - LARG fp, [sp, FRAME_LEN-2*PTRS] - .cfi_restore fp - ADDPTR sp, sp, FRAME_LEN - .cfi_def_cfa_offset 0 - j_s [blink] - .cfi_endproc - .size ffi_go_closure_asm, .-ffi_go_closure_asm diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffi.c deleted file mode 100644 index d729274..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffi.c +++ /dev/null @@ -1,443 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2013 Synopsys, Inc. (www.synopsys.com) - - ARC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include - -#include - -#define NARGREG 8 -#define STKALIGN 4 -#define MAXCOPYARG (2 * sizeof(double)) - -typedef struct call_context -{ - size_t r[8]; - /* used by the assembly code to in-place construct its own stack frame */ - char frame[16]; -} call_context; - -typedef struct call_builder -{ - call_context *aregs; - int used_integer; - //int used_float; - size_t *used_stack; - void *struct_stack; -} call_builder; - -/* integer (not pointer) less than ABI XLEN */ -/* FFI_TYPE_INT does not appear to be used */ -#if defined(__ARC64_ARCH64__) -#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) -#else -#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) -#endif - -/* for little endian ARC, the code is in fact stored as mixed endian for - performance reasons */ -#if __BIG_ENDIAN__ -#define CODE_ENDIAN(x) (x) -#else -#define CODE_ENDIAN(x) ( (((uint32_t) (x)) << 16) | (((uint32_t) (x)) >> 16)) -#endif - -/* Perform machine dependent cif processing. */ -ffi_status -ffi_prep_cif_machdep (ffi_cif * cif) -{ - /* Set the return type flag. */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - cif->flags = (unsigned) cif->rtype->type; - break; - - case FFI_TYPE_STRUCT: - cif->flags = (unsigned) cif->rtype->type; - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: - cif->flags = FFI_TYPE_DOUBLE; - break; - - case FFI_TYPE_FLOAT: - default: - cif->flags = FFI_TYPE_INT; - break; - } - - return FFI_OK; -} - -/* allocates a single register, float register, or XLEN-sized stack slot to a datum */ -static void marshal_atom(call_builder *cb, int type, void *data) { - size_t value = 0; - switch (type) { - case FFI_TYPE_UINT8: value = *(uint8_t *)data; break; - case FFI_TYPE_SINT8: value = *(int8_t *)data; break; - case FFI_TYPE_UINT16: value = *(uint16_t *)data; break; - case FFI_TYPE_SINT16: value = *(int16_t *)data; break; - /* 32-bit quantities are always sign-extended in the ABI */ - case FFI_TYPE_UINT32: value = *(int32_t *)data; break; - case FFI_TYPE_SINT32: value = *(int32_t *)data; break; -#if defined(__ARC64_ARCH64__) - case FFI_TYPE_UINT64: value = *(uint64_t *)data; break; - case FFI_TYPE_SINT64: value = *(int64_t *)data; break; -#endif - case FFI_TYPE_POINTER: value = *(size_t *)data; break; - default: FFI_ASSERT(0); break; - } - - if (cb->used_integer == NARGREG) { - *cb->used_stack++ = value; - } else { - cb->aregs->r[cb->used_integer++] = value; - } -} - -/* adds an argument to a call, or a not by reference return value */ -static void marshal(call_builder *cb, ffi_type *type, int var, void *data) { - size_t realign[2]; - -#if (defined(__ARC64_ARCH64__) || defined(__ARC64_ARCH32__)) - if (type->size > 2 * __SIZEOF_POINTER__) { - if (var) { - marshal_atom(cb, FFI_TYPE_POINTER, &data); - } else { - /* copy to stack and pass by reference */ - data = memcpy (cb->struct_stack, data, type->size); - cb->struct_stack = (size_t *) FFI_ALIGN ((char *) cb->struct_stack + type->size, __SIZEOF_POINTER__); - marshal_atom(cb, FFI_TYPE_POINTER, &data); - } - } -#else - if (type->type == FFI_TYPE_STRUCT) { - if (var) { - if (type->size > 0) - marshal_atom(cb, FFI_TYPE_POINTER, data); - } else { - int i; - - for (i = 0; i < type->size; i += sizeof(size_t)) { - marshal_atom(cb, FFI_TYPE_POINTER, data); - data += sizeof(size_t); - } - } - } -#endif - else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { - marshal_atom(cb, type->type, data); - } else { - memcpy(realign, data, type->size); - if (type->size > 0) - marshal_atom(cb, FFI_TYPE_POINTER, realign); - if (type->size > __SIZEOF_POINTER__) - marshal_atom(cb, FFI_TYPE_POINTER, realign + 1); - } -} - -static void unmarshal_atom(call_builder *cb, int type, void *data) { - size_t value; - - if (cb->used_integer == NARGREG) { - value = *cb->used_stack++; - } else { - value = cb->aregs->r[cb->used_integer++]; - } - - switch (type) { - case FFI_TYPE_UINT8: *(uint8_t *)data = value; break; - case FFI_TYPE_SINT8: *(uint8_t *)data = value; break; - case FFI_TYPE_UINT16: *(uint16_t *)data = value; break; - case FFI_TYPE_SINT16: *(uint16_t *)data = value; break; - case FFI_TYPE_UINT32: *(uint32_t *)data = value; break; - case FFI_TYPE_SINT32: *(uint32_t *)data = value; break; -#if defined(__ARC64_ARCH64__) - case FFI_TYPE_UINT64: *(uint64_t *)data = value; break; - case FFI_TYPE_SINT64: *(uint64_t *)data = value; break; -#endif - case FFI_TYPE_POINTER: *(size_t *)data = value; break; - default: FFI_ASSERT(0); break; - } -} - -/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */ -static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) { - size_t realign[2]; - void *pointer; - -#if defined(__ARC64_ARCH64__) - if (type->size > 2 * __SIZEOF_POINTER__) { - /* pass by reference */ - unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer); - return pointer; - } -#elif defined(__ARC64_ARCH32__) - if (type->type == FFI_TYPE_STRUCT) { - if (type->size > 2 * __SIZEOF_POINTER__) { - unmarshal_atom(cb, FFI_TYPE_POINTER, &realign[0]); - memcpy(data, (const void*)realign[0], type->size); - return data; - } else { - int i; - void *pdata = data; - - for (i = 0; i < type->size; i += sizeof(size_t)) { - unmarshal_atom(cb, FFI_TYPE_POINTER, pdata); - pdata += sizeof(size_t); - } - return data; - } - } -#else - if (type->type == FFI_TYPE_STRUCT) { - - if (var) { - int i; - void *pdata = data; - - for (i = 0; i < type->size; i += sizeof(size_t)) { - unmarshal_atom(cb, FFI_TYPE_POINTER, pdata); - pdata += sizeof(size_t); - } - return data; - } else { - if (type->size > 0) - unmarshal_atom(cb, FFI_TYPE_POINTER, &realign[0]); - memcpy(data, (const void*)realign[0], type->size); - return data; - } - } -#endif - else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { - unmarshal_atom(cb, type->type, data); - return data; - } else { - if (type->size > 0) - unmarshal_atom(cb, FFI_TYPE_POINTER, realign); - if (type->size > __SIZEOF_POINTER__) - unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1); - memcpy(data, realign, type->size); - return data; - } -} - -static int passed_by_ref(ffi_type *type, int var) { - if (type->type == FFI_TYPE_STRUCT) - return 1; - - return type->size > 2 * __SIZEOF_POINTER__; -} - -/* Low level routine for calling functions */ -extern void ffi_call_asm (void *stack, struct call_context *regs, - void (*fn) (void), void *closure) FFI_HIDDEN; - -static void -ffi_call_int (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, - void *closure) -{ - int return_by_ref = passed_by_ref(cif->rtype, 0); - - /* Allocate space for stack arg parameters. */ - size_t arg_bytes = FFI_ALIGN(2 * sizeof(size_t) * cif->nargs, STKALIGN); - /* Allocate space for copies of big structures. */ - size_t struct_bytes = FFI_ALIGN(cif->bytes, STKALIGN); - // size_t rval_bytes = 0; - // if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__) - // rval_bytes = FFI_ALIGN(cif->rtype->size, STKALIGN); - size_t alloc_size = arg_bytes + /*rval_bytes +*/ struct_bytes + sizeof(call_context); - size_t alloc_base = (size_t)alloca(alloc_size); - - // if (rval_bytes) - // rvalue = (void*)(alloc_base + arg_bytes); - - call_builder cb; - cb.used_integer = 0; - cb.aregs = (call_context*)(alloc_base + arg_bytes /*+ rval_bytes*/ + struct_bytes); - cb.used_stack = (void*)alloc_base; - cb.struct_stack = (void *)(alloc_base + arg_bytes /*+ rval_bytes*/); - - // if (cif->rtype->type == FFI_TYPE_STRUCT) - // marshal(&cb, &ffi_type_pointer, 0, &rvalue); - - if (return_by_ref) - marshal(&cb, &ffi_type_pointer, 0, &rvalue); - - int i; - for (i = 0; i < cif->nargs; i++) - marshal(&cb, cif->arg_types[i], 0, avalue[i]); - - ffi_call_asm ((void *) alloc_base, cb.aregs, fn, closure); - - cb.used_integer = 0; - if (!return_by_ref && rvalue) - { - if (IS_INT(cif->rtype->type) - && cif->rtype->size < sizeof (ffi_arg)) - { - /* Integer types smaller than ffi_arg need to be extended. */ - switch (cif->rtype->type) { - case FFI_TYPE_SINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_SINT32: - unmarshal_atom (&cb, (sizeof (ffi_arg) > 4 - ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32), - rvalue); - break; - case FFI_TYPE_UINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_UINT32: - unmarshal_atom (&cb, (sizeof (ffi_arg) > 4 - ? FFI_TYPE_UINT64 : FFI_TYPE_UINT32), - rvalue); - break; - } - } - else - unmarshal(&cb, cif->rtype, 0, rvalue); - } -} - -void -ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - ffi_call_int(cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int(cif, fn, rvalue, avalue, closure); -} - -extern void ffi_closure_asm(void) FFI_HIDDEN; - -ffi_status -ffi_prep_closure_loc (ffi_closure * closure, ffi_cif * cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, void *codeloc) -{ - uint32_t *tramp = (uint32_t *) & (closure->tramp[0]); - size_t address_ffi_closure = (size_t) ffi_closure_asm; - - switch (cif->abi) - { -#if defined(__ARC64_ARCH64__) - case FFI_ARC64: - FFI_ASSERT (tramp == codeloc); - tramp[0] = CODE_ENDIAN (0x580a1fc0); /* movl r8, pcl */ - tramp[1] = CODE_ENDIAN (0x5c0b1f80); /* movhl r12, limm */ - tramp[2] = CODE_ENDIAN ((uint32_t)(address_ffi_closure >> 32)); - tramp[3] = CODE_ENDIAN (0x5c051f8c); /* orl r12, r12, limm */ - tramp[4] = CODE_ENDIAN ((uint32_t)(address_ffi_closure & 0xffffffff)); - tramp[5] = CODE_ENDIAN (0x20200300); /* j [r12] */ - break; -#else - case FFI_ARCOMPACT: - FFI_ASSERT (tramp == codeloc); - tramp[0] = CODE_ENDIAN (0x200a1fc0); /* mov r8, pcl */ - tramp[1] = CODE_ENDIAN (0x20200f80); /* j [long imm] */ - tramp[2] = CODE_ENDIAN (ffi_closure_asm); - break; -#endif - - default: - return FFI_BAD_ABI; - } - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - cacheflush (codeloc, FFI_TRAMPOLINE_SIZE, BCACHE); - - return FFI_OK; -} - -extern void ffi_go_closure_asm (void) FFI_HIDDEN; - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *)) -{ - if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - closure->tramp = (void *) ffi_go_closure_asm; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -/* Called by the assembly code with aregs pointing to saved argument registers - and stack pointing to the stacked arguments. Return values passed in - registers will be reloaded from aregs. */ -void FFI_HIDDEN -ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stack, call_context *aregs) -{ - void **avalue = alloca(cif->nargs * sizeof(void*)); - /* storage for arguments which will be copied by unmarshal(). We could - theoretically avoid the copies in many cases and use at most 128 bytes - of memory, but allocating disjoint storage for each argument is - simpler. */ - char *astorage = alloca(cif->bytes); - char *ptr = astorage; - void *rvalue; - call_builder cb; - int i; - - cb.aregs = aregs; - cb.used_integer = 0; - cb.used_stack = stack; - - /* handle hidden argument */ - if (cif->flags == FFI_TYPE_STRUCT) - unmarshal(&cb, &ffi_type_pointer, 0, &rvalue); - else - rvalue = alloca(cif->rtype->size); - - for (i = 0; i < cif->nargs; i++) { - avalue[i] = unmarshal(&cb, cif->arg_types[i], 1, ptr); - ptr += cif->arg_types[i]->size; - } - - fun (cif, rvalue, avalue, user_data); - - if (cif->rtype->type != FFI_TYPE_VOID) { - cb.used_integer = 0; - marshal(&cb, cif->rtype, 1, rvalue); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffitarget.h deleted file mode 100644 index 5b36902..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffitarget.h +++ /dev/null @@ -1,67 +0,0 @@ -/* ----------------------------------------------------------------------- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 2013 Synopsys, Inc. (www.synopsys.com) - Target configuration macros for ARC. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi -{ - FFI_FIRST_ABI = 0, -#if __SIZEOF_POINTER__ == 8 - FFI_ARC64, -#else - FFI_ARCOMPACT, -#endif - FFI_LAST_ABI, -#if __SIZEOF_POINTER__ == 8 - FFI_DEFAULT_ABI = FFI_ARC64 -#else - FFI_DEFAULT_ABI = FFI_ARCOMPACT -#endif -} ffi_abi; -#endif - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#if __SIZEOF_POINTER__ == 8 -#define FFI_TRAMPOLINE_SIZE 24 -#else -#define FFI_TRAMPOLINE_SIZE 12 -#endif - -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffi.c deleted file mode 100644 index cfd3e9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffi.c +++ /dev/null @@ -1,921 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2011 Timothy Wall - Copyright (c) 2011 Plausible Labs Cooperative, Inc. - Copyright (c) 2011 Anthony Green - Copyright (c) 2011 Free Software Foundation - Copyright (c) 1998, 2008, 2011 Red Hat, Inc. - - ARM Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#if defined(__arm__) || defined(_M_ARM) -#include -#include -#include -#include -#include -#include -#include "internal.h" - -#if defined(_WIN32) -#define WIN32_LEAN_AND_MEAN -#include -#endif - -#if FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ -#include -#endif - -#else -#ifndef _WIN32 -extern unsigned int ffi_arm_trampoline[2] FFI_HIDDEN; -#else -// Declare this as an array of char, instead of array of int, -// otherwise Clang optimizes out the "& 0xFFFFFFFE" for clearing -// the thumb bit. -extern unsigned char ffi_arm_trampoline[12] FFI_HIDDEN; -#endif -#endif - -#if defined(__FreeBSD__) && defined(__arm__) -#include -#include -#endif - -#if defined(__QNX__) -#include -#endif - -/* Forward declares. */ -static int vfp_type_p (const ffi_type *); -static void layout_vfp_args (ffi_cif *); - -static void * -ffi_align (ffi_type *ty, void *p) -{ - /* Align if necessary */ - size_t alignment; -#ifdef _WIN32_WCE - alignment = 4; -#else - alignment = ty->alignment; - if (alignment < 4) - alignment = 4; -#endif - return (void *) FFI_ALIGN (p, alignment); -} - -static size_t -ffi_put_arg (ffi_type *ty, void *src, void *dst) -{ - size_t z = ty->size; - - switch (ty->type) - { - case FFI_TYPE_SINT8: - *(UINT32 *)dst = *(SINT8 *)src; - break; - case FFI_TYPE_UINT8: - *(UINT32 *)dst = *(UINT8 *)src; - break; - case FFI_TYPE_SINT16: - *(UINT32 *)dst = *(SINT16 *)src; - break; - case FFI_TYPE_UINT16: - *(UINT32 *)dst = *(UINT16 *)src; - break; - - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: -#ifndef _WIN32 - case FFI_TYPE_FLOAT: -#endif - *(UINT32 *)dst = *(UINT32 *)src; - break; - -#ifdef _WIN32 - // casting a float* to a UINT32* doesn't work on Windows - case FFI_TYPE_FLOAT: - *(uintptr_t *)dst = 0; - *(float *)dst = *(float *)src; - break; -#endif - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: - *(UINT64 *)dst = *(UINT64 *)src; - break; - - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: - memcpy (dst, src, z); - break; - - default: - abort(); - } - - return FFI_ALIGN (z, 4); -} - -/* ffi_prep_args is called once stack space has been allocated - for the function's arguments. - - The vfp_space parameter is the load area for VFP regs, the return - value is cif->vfp_used (word bitset of VFP regs used for passing - arguments). These are only used for the VFP hard-float ABI. -*/ -static void -ffi_prep_args_SYSV (ffi_cif *cif, int flags, void *rvalue, - void **avalue, char *argp) -{ - ffi_type **arg_types = cif->arg_types; - int i, n; - - if (flags == ARM_TYPE_STRUCT) - { - *(void **) argp = rvalue; - argp += 4; - } - - for (i = 0, n = cif->nargs; i < n; i++) - { - ffi_type *ty = arg_types[i]; - argp = ffi_align (ty, argp); - argp += ffi_put_arg (ty, avalue[i], argp); - } -} - -static void -ffi_prep_args_VFP (ffi_cif *cif, int flags, void *rvalue, - void **avalue, char *stack, char *vfp_space) -{ - ffi_type **arg_types = cif->arg_types; - int i, n, vi = 0; - char *argp, *regp, *eo_regp; - char stack_used = 0; - char done_with_regs = 0; - - /* The first 4 words on the stack are used for values - passed in core registers. */ - regp = stack; - eo_regp = argp = regp + 16; - - /* If the function returns an FFI_TYPE_STRUCT in memory, - that address is passed in r0 to the function. */ - if (flags == ARM_TYPE_STRUCT) - { - *(void **) regp = rvalue; - regp += 4; - } - - for (i = 0, n = cif->nargs; i < n; i++) - { - ffi_type *ty = arg_types[i]; - void *a = avalue[i]; - int is_vfp_type = vfp_type_p (ty); - - /* Allocated in VFP registers. */ - if (vi < cif->vfp_nargs && is_vfp_type) - { - char *vfp_slot = vfp_space + cif->vfp_args[vi++] * 4; - ffi_put_arg (ty, a, vfp_slot); - continue; - } - /* Try allocating in core registers. */ - else if (!done_with_regs && !is_vfp_type) - { - char *tregp = ffi_align (ty, regp); - size_t size = ty->size; - size = (size < 4) ? 4 : size; // pad - /* Check if there is space left in the aligned register - area to place the argument. */ - if (tregp + size <= eo_regp) - { - regp = tregp + ffi_put_arg (ty, a, tregp); - done_with_regs = (regp == argp); - // ensure we did not write into the stack area - FFI_ASSERT (regp <= argp); - continue; - } - /* In case there are no arguments in the stack area yet, - the argument is passed in the remaining core registers - and on the stack. */ - else if (!stack_used) - { - stack_used = 1; - done_with_regs = 1; - argp = tregp + ffi_put_arg (ty, a, tregp); - FFI_ASSERT (eo_regp < argp); - continue; - } - } - /* Base case, arguments are passed on the stack */ - stack_used = 1; - argp = ffi_align (ty, argp); - argp += ffi_put_arg (ty, a, argp); - } -} - -/* Perform machine dependent cif processing */ -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep (ffi_cif *cif) -{ - int flags = 0, cabi = cif->abi; - size_t bytes = cif->bytes; - - /* Map out the register placements of VFP register args. The VFP - hard-float calling conventions are slightly more sophisticated - than the base calling conventions, so we do it here instead of - in ffi_prep_args(). */ - if (cabi == FFI_VFP) - layout_vfp_args (cif); - - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - flags = ARM_TYPE_VOID; - break; - - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - flags = ARM_TYPE_INT; - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - flags = ARM_TYPE_INT64; - break; - - case FFI_TYPE_FLOAT: - flags = (cabi == FFI_VFP ? ARM_TYPE_VFP_S : ARM_TYPE_INT); - break; - case FFI_TYPE_DOUBLE: - flags = (cabi == FFI_VFP ? ARM_TYPE_VFP_D : ARM_TYPE_INT64); - break; - - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: - if (cabi == FFI_VFP) - { - int h = vfp_type_p (cif->rtype); - - flags = ARM_TYPE_VFP_N; - if (h == 0x100 + FFI_TYPE_FLOAT) - flags = ARM_TYPE_VFP_S; - if (h == 0x100 + FFI_TYPE_DOUBLE) - flags = ARM_TYPE_VFP_D; - if (h != 0) - break; - } - - /* A Composite Type not larger than 4 bytes is returned in r0. - A Composite Type larger than 4 bytes, or whose size cannot - be determined statically ... is stored in memory at an - address passed [in r0]. */ - if (cif->rtype->size <= 4) - flags = ARM_TYPE_INT; - else - { - flags = ARM_TYPE_STRUCT; - bytes += 4; - } - break; - - default: - abort(); - } - - /* Round the stack up to a multiple of 8 bytes. This isn't needed - everywhere, but it is on some platforms, and it doesn't harm anything - when it isn't needed. */ - bytes = FFI_ALIGN (bytes, 8); - - /* Minimum stack space is the 4 register arguments that we pop. */ - if (bytes < 4*4) - bytes = 4*4; - - cif->bytes = bytes; - cif->flags = flags; - - return FFI_OK; -} - -/* Perform machine dependent cif processing for variadic calls */ -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep_var (ffi_cif * cif, - unsigned int nfixedargs, unsigned int ntotalargs) -{ - /* VFP variadic calls actually use the SYSV ABI */ - if (cif->abi == FFI_VFP) - cif->abi = FFI_SYSV; - - return ffi_prep_cif_machdep (cif); -} - -/* Prototypes for assembly functions, in sysv.S. */ - -struct call_frame -{ - void *fp; - void *lr; - void *rvalue; - int flags; - void *closure; -}; - -extern void ffi_call_SYSV (void *stack, struct call_frame *, - void (*fn) (void)) FFI_HIDDEN; -extern void ffi_call_VFP (void *vfp_space, struct call_frame *, - void (*fn) (void), unsigned vfp_used) FFI_HIDDEN; - -static void -ffi_call_int (ffi_cif * cif, void (*fn) (void), void *rvalue, - void **avalue, void *closure) -{ - int flags = cif->flags; - ffi_type *rtype = cif->rtype; - size_t bytes, rsize, vfp_size; - char *stack, *vfp_space, *new_rvalue; - struct call_frame *frame; - - rsize = 0; - if (rvalue == NULL) - { - /* If the return value is a struct and we don't have a return - value address then we need to make one. Otherwise the return - value is in registers and we can ignore them. */ - if (flags == ARM_TYPE_STRUCT) - rsize = rtype->size; - else - flags = ARM_TYPE_VOID; - } - else if (flags == ARM_TYPE_VFP_N) - { - /* Largest case is double x 4. */ - rsize = 32; - } - else if (flags == ARM_TYPE_INT && rtype->type == FFI_TYPE_STRUCT) - rsize = 4; - - /* Largest case. */ - vfp_size = (cif->abi == FFI_VFP && cif->vfp_used ? 8*8: 0); - - bytes = cif->bytes; - stack = alloca (vfp_size + bytes + sizeof(struct call_frame) + rsize); - - vfp_space = NULL; - if (vfp_size) - { - vfp_space = stack; - stack += vfp_size; - } - - frame = (struct call_frame *)(stack + bytes); - - new_rvalue = rvalue; - if (rsize) - new_rvalue = (void *)(frame + 1); - - frame->rvalue = new_rvalue; - frame->flags = flags; - frame->closure = closure; - - if (vfp_space) - { - ffi_prep_args_VFP (cif, flags, new_rvalue, avalue, stack, vfp_space); - ffi_call_VFP (vfp_space, frame, fn, cif->vfp_used); - } - else - { - ffi_prep_args_SYSV (cif, flags, new_rvalue, avalue, stack); - ffi_call_SYSV (stack, frame, fn); - } - - if (rvalue && rvalue != new_rvalue) - memcpy (rvalue, new_rvalue, rtype->size); -} - -void -ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -#ifdef FFI_GO_CLOSURES -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} -#endif - -static void * -ffi_prep_incoming_args_SYSV (ffi_cif *cif, void *rvalue, - char *argp, void **avalue) -{ - ffi_type **arg_types = cif->arg_types; - int i, n; - - if (cif->flags == ARM_TYPE_STRUCT) - { - rvalue = *(void **) argp; - argp += 4; - } - else - { - if (cif->rtype->size && cif->rtype->size < 4) - *(uint32_t *) rvalue = 0; - } - - for (i = 0, n = cif->nargs; i < n; i++) - { - ffi_type *ty = arg_types[i]; - size_t z = ty->size; - - argp = ffi_align (ty, argp); - avalue[i] = (void *) argp; - argp += z; - } - - return rvalue; -} - -static void * -ffi_prep_incoming_args_VFP (ffi_cif *cif, void *rvalue, char *stack, - char *vfp_space, void **avalue) -{ - ffi_type **arg_types = cif->arg_types; - int i, n, vi = 0; - char *argp, *regp, *eo_regp; - char done_with_regs = 0; - char stack_used = 0; - - regp = stack; - eo_regp = argp = regp + 16; - - if (cif->flags == ARM_TYPE_STRUCT) - { - rvalue = *(void **) regp; - regp += 4; - } - - for (i = 0, n = cif->nargs; i < n; i++) - { - ffi_type *ty = arg_types[i]; - int is_vfp_type = vfp_type_p (ty); - size_t z = ty->size; - - if (vi < cif->vfp_nargs && is_vfp_type) - { - avalue[i] = vfp_space + cif->vfp_args[vi++] * 4; - continue; - } - else if (!done_with_regs && !is_vfp_type) - { - char *tregp = ffi_align (ty, regp); - - z = (z < 4) ? 4 : z; // pad - - /* If the arguments either fits into the registers or uses registers - and stack, while we haven't read other things from the stack */ - if (tregp + z <= eo_regp || !stack_used) - { - /* Because we're little endian, this is what it turns into. */ - avalue[i] = (void *) tregp; - regp = tregp + z; - - /* If we read past the last core register, make sure we - have not read from the stack before and continue - reading after regp. */ - if (regp > eo_regp) - { - FFI_ASSERT (!stack_used); - argp = regp; - } - if (regp >= eo_regp) - { - done_with_regs = 1; - stack_used = 1; - } - continue; - } - } - - stack_used = 1; - argp = ffi_align (ty, argp); - avalue[i] = (void *) argp; - argp += z; - } - - return rvalue; -} - -#if FFI_CLOSURES - -struct closure_frame -{ - char vfp_space[8*8] __attribute__((aligned(8))); - char result[8*4]; - char argp[]; -}; - -int FFI_HIDDEN -ffi_closure_inner_SYSV (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - struct closure_frame *frame) -{ - void **avalue = (void **) alloca (cif->nargs * sizeof (void *)); - void *rvalue = ffi_prep_incoming_args_SYSV (cif, frame->result, - frame->argp, avalue); - fun (cif, rvalue, avalue, user_data); - return cif->flags; -} - -int FFI_HIDDEN -ffi_closure_inner_VFP (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - struct closure_frame *frame) -{ - void **avalue = (void **) alloca (cif->nargs * sizeof (void *)); - void *rvalue = ffi_prep_incoming_args_VFP (cif, frame->result, frame->argp, - frame->vfp_space, avalue); - fun (cif, rvalue, avalue, user_data); - return cif->flags; -} - -void ffi_closure_SYSV (void) FFI_HIDDEN; -void ffi_closure_VFP (void) FFI_HIDDEN; -#if defined(FFI_EXEC_STATIC_TRAMP) -void ffi_closure_SYSV_alt (void) FFI_HIDDEN; -void ffi_closure_VFP_alt (void) FFI_HIDDEN; -#endif - -#ifdef FFI_GO_CLOSURES -void ffi_go_closure_SYSV (void) FFI_HIDDEN; -void ffi_go_closure_VFP (void) FFI_HIDDEN; -#endif - -/* the cif must already be prep'ed */ - -#if defined(__FreeBSD__) && defined(__arm__) -#define __clear_cache(start, end) do { \ - struct arm_sync_icache_args ua; \ - \ - ua.addr = (uintptr_t)(start); \ - ua.len = (char *)(end) - (char *)start; \ - sysarch(ARM_SYNC_ICACHE, &ua); \ - } while (0); -#endif - -ffi_status -ffi_prep_closure_loc (ffi_closure * closure, - ffi_cif * cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, void *codeloc) -{ - void (*closure_func) (void) = ffi_closure_SYSV; - - if (cif->abi == FFI_VFP) - { - /* We only need take the vfp path if there are vfp arguments. */ - if (cif->vfp_used) - closure_func = ffi_closure_VFP; - } - else if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - -#if FFI_EXEC_TRAMPOLINE_TABLE - void **config = (void **)((uint8_t *)codeloc - PAGE_MAX_SIZE); - config[0] = closure; - config[1] = closure_func; -#else - -# if defined(FFI_EXEC_STATIC_TRAMP) - if (ffi_tramp_is_present(closure)) - { - /* Initialize the static trampoline's parameters. */ - if (closure_func == ffi_closure_SYSV) - closure_func = ffi_closure_SYSV_alt; - else - closure_func = ffi_closure_VFP_alt; - ffi_tramp_set_parms (closure->ftramp, closure_func, closure); - goto out; - } -# endif - - /* Initialize the dynamic trampoline. */ -# ifndef _WIN32 - memcpy(closure->tramp, ffi_arm_trampoline, 8); -# else - // cast away function type so MSVC doesn't set the lower bit of the function pointer - memcpy(closure->tramp, (void*)((uintptr_t)ffi_arm_trampoline & 0xFFFFFFFE), FFI_TRAMPOLINE_CLOSURE_OFFSET); -# endif - -# if defined(__QNX__) - msync (closure->tramp, 8, MS_INVALIDATE_ICACHE); /* clear data map */ - msync (codeloc, 8, MS_INVALIDATE_ICACHE); /* clear insn map */ -# elif defined(_WIN32) - FlushInstructionCache(GetCurrentProcess(), closure->tramp, FFI_TRAMPOLINE_SIZE); -# else - __clear_cache(closure->tramp, closure->tramp + 8); /* clear data map */ - __clear_cache(codeloc, codeloc + 8); /* clear insn map */ -# endif -# ifdef _WIN32 - *(void(**)(void))(closure->tramp + FFI_TRAMPOLINE_CLOSURE_FUNCTION) = closure_func; -# else - *(void (**)(void))(closure->tramp + 8) = closure_func; -# endif -# if defined(FFI_EXEC_STATIC_TRAMP) -out: -# endif -#endif - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -#ifdef FFI_GO_CLOSURES -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *)) -{ - void (*closure_func) (void) = ffi_go_closure_SYSV; - - if (cif->abi == FFI_VFP) - { - /* We only need take the vfp path if there are vfp arguments. */ - if (cif->vfp_used) - closure_func = ffi_go_closure_VFP; - } - else if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - closure->tramp = closure_func; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} -#endif - -#endif /* FFI_CLOSURES */ - -/* Below are routines for VFP hard-float support. */ - -/* A subroutine of vfp_type_p. Given a structure type, return the type code - of the first non-structure element. Recurse for structure elements. - Return -1 if the structure is in fact empty, i.e. no nested elements. */ - -static int -is_hfa0 (const ffi_type *ty) -{ - ffi_type **elements = ty->elements; - int i, ret = -1; - - if (elements != NULL) - for (i = 0; elements[i]; ++i) - { - ret = elements[i]->type; - if (ret == FFI_TYPE_STRUCT || ret == FFI_TYPE_COMPLEX) - { - ret = is_hfa0 (elements[i]); - if (ret < 0) - continue; - } - break; - } - - return ret; -} - -/* A subroutine of vfp_type_p. Given a structure type, return true if all - of the non-structure elements are the same as CANDIDATE. */ - -static int -is_hfa1 (const ffi_type *ty, int candidate) -{ - ffi_type **elements = ty->elements; - int i; - - if (elements != NULL) - for (i = 0; elements[i]; ++i) - { - int t = elements[i]->type; - if (t == FFI_TYPE_STRUCT || t == FFI_TYPE_COMPLEX) - { - if (!is_hfa1 (elements[i], candidate)) - return 0; - } - else if (t != candidate) - return 0; - } - - return 1; -} - -/* Determine if TY is an homogenous floating point aggregate (HFA). - That is, a structure consisting of 1 to 4 members of all the same type, - where that type is a floating point scalar. - - Returns non-zero iff TY is an HFA. The result is an encoded value where - bits 0-7 contain the type code, and bits 8-10 contain the element count. */ - -static int -vfp_type_p (const ffi_type *ty) -{ - ffi_type **elements; - int candidate, i; - size_t size, ele_count; - - /* Quickest tests first. */ - candidate = ty->type; - switch (ty->type) - { - default: - return 0; - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - ele_count = 1; - goto done; - case FFI_TYPE_COMPLEX: - candidate = ty->elements[0]->type; - if (candidate != FFI_TYPE_FLOAT && candidate != FFI_TYPE_DOUBLE) - return 0; - ele_count = 2; - goto done; - case FFI_TYPE_STRUCT: - break; - } - - /* No HFA types are smaller than 4 bytes, or larger than 32 bytes. */ - size = ty->size; - if (size < 4 || size > 32) - return 0; - - /* Find the type of the first non-structure member. */ - elements = ty->elements; - candidate = elements[0]->type; - if (candidate == FFI_TYPE_STRUCT || candidate == FFI_TYPE_COMPLEX) - { - for (i = 0; ; ++i) - { - candidate = is_hfa0 (elements[i]); - if (candidate >= 0) - break; - } - } - - /* If the first member is not a floating point type, it's not an HFA. - Also quickly re-check the size of the structure. */ - switch (candidate) - { - case FFI_TYPE_FLOAT: - ele_count = size / sizeof(float); - if (size != ele_count * sizeof(float)) - return 0; - break; - case FFI_TYPE_DOUBLE: - ele_count = size / sizeof(double); - if (size != ele_count * sizeof(double)) - return 0; - break; - default: - return 0; - } - if (ele_count > 4) - return 0; - - /* Finally, make sure that all scalar elements are the same type. */ - for (i = 0; elements[i]; ++i) - { - int t = elements[i]->type; - if (t == FFI_TYPE_STRUCT || t == FFI_TYPE_COMPLEX) - { - if (!is_hfa1 (elements[i], candidate)) - return 0; - } - else if (t != candidate) - return 0; - } - - /* All tests succeeded. Encode the result. */ - done: - return (ele_count << 8) | candidate; -} - -static int -place_vfp_arg (ffi_cif *cif, int h) -{ - unsigned short reg = cif->vfp_reg_free; - int align = 1, nregs = h >> 8; - - if ((h & 0xff) == FFI_TYPE_DOUBLE) - align = 2, nregs *= 2; - - /* Align register number. */ - if ((reg & 1) && align == 2) - reg++; - - while (reg + nregs <= 16) - { - int s, new_used = 0; - for (s = reg; s < reg + nregs; s++) - { - new_used |= (1 << s); - if (cif->vfp_used & (1 << s)) - { - reg += align; - goto next_reg; - } - } - /* Found regs to allocate. */ - cif->vfp_used |= new_used; - cif->vfp_args[cif->vfp_nargs++] = (signed char)reg; - - /* Update vfp_reg_free. */ - if (cif->vfp_used & (1 << cif->vfp_reg_free)) - { - reg += nregs; - while (cif->vfp_used & (1 << reg)) - reg += 1; - cif->vfp_reg_free = reg; - } - return 0; - next_reg:; - } - // done, mark all regs as used - cif->vfp_reg_free = 16; - cif->vfp_used = 0xFFFF; - return 1; -} - -static void -layout_vfp_args (ffi_cif * cif) -{ - unsigned int i; - /* Init VFP fields */ - cif->vfp_used = 0; - cif->vfp_nargs = 0; - cif->vfp_reg_free = 0; - memset (cif->vfp_args, -1, 16); /* Init to -1. */ - - for (i = 0; i < cif->nargs; i++) - { - int h = vfp_type_p (cif->arg_types[i]); - if (h && place_vfp_arg (cif, h) == 1) - break; - } -} - -#if defined(FFI_EXEC_STATIC_TRAMP) -void * -ffi_tramp_arch (size_t *tramp_size, size_t *map_size) -{ - extern void *trampoline_code_table; - - *tramp_size = ARM_TRAMP_SIZE; - *map_size = ARM_TRAMP_MAP_SIZE; - return &trampoline_code_table; -} -#endif - -#endif /* __arm__ or _M_ARM */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffitarget.h deleted file mode 100644 index 12d5d20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffitarget.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 2010 CodeSourcery - Copyright (c) 1996-2003 Red Hat, Inc. - - Target configuration macros for ARM. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_VFP, - FFI_LAST_ABI, -#if defined(__ARM_PCS_VFP) || defined(_WIN32) - FFI_DEFAULT_ABI = FFI_VFP, -#else - FFI_DEFAULT_ABI = FFI_SYSV, -#endif -} ffi_abi; -#endif - -#define FFI_EXTRA_CIF_FIELDS \ - int vfp_used; \ - unsigned short vfp_reg_free, vfp_nargs; \ - signed char vfp_args[16] \ - -#define FFI_TARGET_SPECIFIC_VARIADIC -#ifndef _WIN32 -#define FFI_TARGET_HAS_COMPLEX_TYPE -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -#if defined (FFI_EXEC_TRAMPOLINE_TABLE) && FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ -#define FFI_TRAMPOLINE_SIZE 12 -#define FFI_TRAMPOLINE_CLOSURE_OFFSET 8 -#else -#error "No trampoline table implementation" -#endif - -#else -#ifdef _WIN32 -#define FFI_TRAMPOLINE_SIZE 16 -#define FFI_TRAMPOLINE_CLOSURE_FUNCTION 12 -#else -#define FFI_TRAMPOLINE_SIZE 12 -#endif -#define FFI_TRAMPOLINE_CLOSURE_OFFSET FFI_TRAMPOLINE_SIZE -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/internal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/internal.h deleted file mode 100644 index fa8ab0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/internal.h +++ /dev/null @@ -1,17 +0,0 @@ -#define ARM_TYPE_VFP_S 0 -#define ARM_TYPE_VFP_D 1 -#define ARM_TYPE_VFP_N 2 -#define ARM_TYPE_INT64 3 -#define ARM_TYPE_INT 4 -#define ARM_TYPE_VOID 5 -#define ARM_TYPE_STRUCT 6 - -#if defined(FFI_EXEC_STATIC_TRAMP) -/* - * For the trampoline table mapping, a mapping size of 4K (base page size) - * is chosen. - */ -#define ARM_TRAMP_MAP_SHIFT 12 -#define ARM_TRAMP_MAP_SIZE (1 << ARM_TRAMP_MAP_SHIFT) -#define ARM_TRAMP_SIZE 20 -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv.S deleted file mode 100644 index e4272a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv.S +++ /dev/null @@ -1,456 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 1998, 2008, 2011 Red Hat, Inc. - Copyright (c) 2011 Plausible Labs Cooperative, Inc. - - ARM Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifdef __arm__ -#define LIBFFI_ASM -#include -#include -#include -#include "internal.h" - -/* GCC 4.8 provides __ARM_ARCH; construct it otherwise. */ -#ifndef __ARM_ARCH -# if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ - || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ - || defined(__ARM_ARCH_7EM__) -# define __ARM_ARCH 7 -# elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ - || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \ - || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \ - || defined(__ARM_ARCH_6M__) -# define __ARM_ARCH 6 -# elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) \ - || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) \ - || defined(__ARM_ARCH_5TEJ__) -# define __ARM_ARCH 5 -# else -# define __ARM_ARCH 4 -# endif -#endif - -/* Conditionally compile unwinder directives. */ -#ifdef __ARM_EABI__ -# define UNWIND(...) __VA_ARGS__ -#else -# define UNWIND(...) -#endif - -#if defined(HAVE_AS_CFI_PSEUDO_OP) && defined(__ARM_EABI__) - .cfi_sections .debug_frame -#endif - -#define CONCAT(a, b) CONCAT2(a, b) -#define CONCAT2(a, b) a ## b - -#ifdef __USER_LABEL_PREFIX__ -# define CNAME(X) CONCAT (__USER_LABEL_PREFIX__, X) -#else -# define CNAME(X) X -#endif -#ifdef __ELF__ -# define SIZE(X) .size CNAME(X), . - CNAME(X) -# define TYPE(X, Y) .type CNAME(X), Y -#else -# define SIZE(X) -# define TYPE(X, Y) -#endif - -#define ARM_FUNC_START_LOCAL(name) \ - .align 3; \ - TYPE(CNAME(name), %function); \ - CNAME(name): - -#define ARM_FUNC_START(name) \ - .globl CNAME(name); \ - FFI_HIDDEN(CNAME(name)); \ - ARM_FUNC_START_LOCAL(name) - -#define ARM_FUNC_END(name) \ - SIZE(name) - - .text - .syntax unified -#if defined(_WIN32) - /* Windows on ARM is thumb-only */ - .thumb -#else - /* Keep the assembly in ARM mode in other cases, for simplicity - * (to avoid interworking issues). */ -#undef __thumb__ - .arm -#endif - -/* Aid in defining a jump table with 8 bytes between entries. */ -#ifdef __thumb__ -/* In thumb mode, instructions can be shorter than expected in arm mode, so - * we need to align the start of each case. */ -# define E(index) .align 3 -#elif defined(__clang__) -/* ??? The clang assembler doesn't handle .if with symbolic expressions. */ -# define E(index) -#else -# define E(index) \ - .if . - 0b - 8*index; \ - .error "type table out of sync"; \ - .endif -#endif - - -#ifndef __clang__ - /* We require interworking on LDM, which implies ARMv5T, - which implies the existance of BLX. */ - .arch armv5t -#endif - - /* Note that we use STC and LDC to encode VFP instructions, - so that we do not need ".fpu vfp", nor get that added to - the object file attributes. These will not be executed - unless the FFI_VFP abi is used. */ - - @ r0: stack - @ r1: frame - @ r2: fn - @ r3: vfp_used - -ARM_FUNC_START(ffi_call_VFP) - UNWIND(.fnstart) - cfi_startproc - - cmp r3, #3 @ load only d0 if possible - ite le - ldcle p11, cr0, [r0] @ vldrle d0, [r0] - ldcgt p11, cr0, [r0], {16} @ vldmgt r0, {d0-d7} - add r0, r0, #64 @ discard the vfp register args - /* FALLTHRU */ -ARM_FUNC_END(ffi_call_VFP) - -ARM_FUNC_START(ffi_call_SYSV) - stm r1, {fp, lr} - mov fp, r1 - - @ This is a bit of a lie wrt the origin of the unwind info, but - @ now we've got the usual frame pointer and two saved registers. - UNWIND(.save {fp,lr}) - UNWIND(.setfp fp, sp) - cfi_def_cfa(fp, 8) - cfi_rel_offset(fp, 0) - cfi_rel_offset(lr, 4) - - mov sp, r0 @ install the stack pointer - mov lr, r2 @ move the fn pointer out of the way - ldr ip, [fp, #16] @ install the static chain - ldmia sp!, {r0-r3} @ move first 4 parameters in registers. - blx lr @ call fn - - @ Load r2 with the pointer to storage for the return value - @ Load r3 with the return type code - ldr r2, [fp, #8] - ldr r3, [fp, #12] - - @ Deallocate the stack with the arguments. - mov sp, fp - cfi_def_cfa_register(sp) - - @ Store values stored in registers. -#ifndef __thumb__ - .align 3 - add pc, pc, r3, lsl #3 - nop -#else - adr ip, 0f - add ip, ip, r3, lsl #3 - mov pc, ip - .align 3 -#endif -0: -E(ARM_TYPE_VFP_S) - stc p10, cr0, [r2] @ vstr s0, [r2] - pop {fp,pc} -E(ARM_TYPE_VFP_D) - stc p11, cr0, [r2] @ vstr d0, [r2] - pop {fp,pc} -E(ARM_TYPE_VFP_N) - stc p11, cr0, [r2], {8} @ vstm r2, {d0-d3} - pop {fp,pc} -E(ARM_TYPE_INT64) - str r1, [r2, #4] - nop -E(ARM_TYPE_INT) - str r0, [r2] - pop {fp,pc} -E(ARM_TYPE_VOID) - pop {fp,pc} - nop -E(ARM_TYPE_STRUCT) - pop {fp,pc} - - cfi_endproc - UNWIND(.fnend) -ARM_FUNC_END(ffi_call_SYSV) - -#if FFI_CLOSURES - -/* - int ffi_closure_inner_* (cif, fun, user_data, frame) -*/ - -ARM_FUNC_START(ffi_go_closure_SYSV) - cfi_startproc - stmdb sp!, {r0-r3} @ save argument regs - cfi_adjust_cfa_offset(16) - ldr r0, [ip, #4] @ load cif - ldr r1, [ip, #8] @ load fun - mov r2, ip @ load user_data - b 0f - cfi_endproc -ARM_FUNC_END(ffi_go_closure_SYSV) - -ARM_FUNC_START(ffi_closure_SYSV) - UNWIND(.fnstart) - cfi_startproc -#ifdef _WIN32 - ldmfd sp!, {r0, ip} @ restore fp (r0 is used for stack alignment) -#endif - stmdb sp!, {r0-r3} @ save argument regs - cfi_adjust_cfa_offset(16) - -#if FFI_EXEC_TRAMPOLINE_TABLE - ldr ip, [ip] @ ip points to the config page, dereference to get the ffi_closure* -#endif - ldr r0, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET] @ load cif - ldr r1, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+4] @ load fun - ldr r2, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+8] @ load user_data -0: - add ip, sp, #16 @ compute entry sp - sub sp, sp, #64+32 @ allocate frame - cfi_adjust_cfa_offset(64+32) - stmdb sp!, {ip,lr} - - /* Remember that EABI unwind info only applies at call sites. - We need do nothing except note the save of the stack pointer - and the link registers. */ - UNWIND(.save {sp,lr}) - cfi_adjust_cfa_offset(8) - cfi_rel_offset(lr, 4) - - add r3, sp, #8 @ load frame - bl CNAME(ffi_closure_inner_SYSV) - - @ Load values returned in registers. - add r2, sp, #8+64 @ load result - adr r3, CNAME(ffi_closure_ret) -#ifndef __thumb__ - add pc, r3, r0, lsl #3 -#else - add r3, r3, r0, lsl #3 - mov pc, r3 -#endif - cfi_endproc - UNWIND(.fnend) -ARM_FUNC_END(ffi_closure_SYSV) - -ARM_FUNC_START(ffi_go_closure_VFP) - cfi_startproc - stmdb sp!, {r0-r3} @ save argument regs - cfi_adjust_cfa_offset(16) - ldr r0, [ip, #4] @ load cif - ldr r1, [ip, #8] @ load fun - mov r2, ip @ load user_data - b 0f - cfi_endproc -ARM_FUNC_END(ffi_go_closure_VFP) - -ARM_FUNC_START(ffi_closure_VFP) - UNWIND(.fnstart) - cfi_startproc -#ifdef _WIN32 - ldmfd sp!, {r0, ip} @ restore fp (r0 is used for stack alignment) -#endif - stmdb sp!, {r0-r3} @ save argument regs - cfi_adjust_cfa_offset(16) - -#if FFI_EXEC_TRAMPOLINE_TABLE - ldr ip, [ip] @ ip points to the config page, dereference to get the ffi_closure* -#endif - ldr r0, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET] @ load cif - ldr r1, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+4] @ load fun - ldr r2, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+8] @ load user_data -0: - add ip, sp, #16 - sub sp, sp, #64+32 @ allocate frame - cfi_adjust_cfa_offset(64+32) - stc p11, cr0, [sp], {16} @ vstm sp, {d0-d7} - stmdb sp!, {ip,lr} - - /* See above. */ - UNWIND(.save {sp,lr}) - cfi_adjust_cfa_offset(8) - cfi_rel_offset(lr, 4) - - add r3, sp, #8 @ load frame - bl CNAME(ffi_closure_inner_VFP) - - @ Load values returned in registers. - add r2, sp, #8+64 @ load result - adr r3, CNAME(ffi_closure_ret) -#ifndef __thumb__ - add pc, r3, r0, lsl #3 -#else - add r3, r3, r0, lsl #3 - mov pc, r3 -#endif - cfi_endproc - UNWIND(.fnend) -ARM_FUNC_END(ffi_closure_VFP) - -/* Load values returned in registers for both closure entry points. - Note that we use LDM with SP in the register set. This is deprecated - by ARM, but not yet unpredictable. */ - -ARM_FUNC_START_LOCAL(ffi_closure_ret) - cfi_startproc - cfi_rel_offset(sp, 0) - cfi_rel_offset(lr, 4) -0: -E(ARM_TYPE_VFP_S) - ldc p10, cr0, [r2] @ vldr s0, [r2] - b call_epilogue -E(ARM_TYPE_VFP_D) - ldc p11, cr0, [r2] @ vldr d0, [r2] - b call_epilogue -E(ARM_TYPE_VFP_N) - ldc p11, cr0, [r2], {8} @ vldm r2, {d0-d3} - b call_epilogue -E(ARM_TYPE_INT64) - ldr r1, [r2, #4] - nop -E(ARM_TYPE_INT) - ldr r0, [r2] - b call_epilogue -E(ARM_TYPE_VOID) - b call_epilogue - nop -E(ARM_TYPE_STRUCT) - b call_epilogue -call_epilogue: -#ifndef __thumb__ - ldm sp, {sp,pc} -#else - ldm sp, {ip,lr} - mov sp, ip - bx lr -#endif - cfi_endproc -ARM_FUNC_END(ffi_closure_ret) - -#if defined(FFI_EXEC_STATIC_TRAMP) -ARM_FUNC_START(ffi_closure_SYSV_alt) - /* See the comments above trampoline_code_table. */ - ldr ip, [sp, #4] /* Load closure in ip */ - add sp, sp, 8 /* Restore the stack */ - b CNAME(ffi_closure_SYSV) -ARM_FUNC_END(ffi_closure_SYSV_alt) - -ARM_FUNC_START(ffi_closure_VFP_alt) - /* See the comments above trampoline_code_table. */ - ldr ip, [sp, #4] /* Load closure in ip */ - add sp, sp, 8 /* Restore the stack */ - b CNAME(ffi_closure_VFP) -ARM_FUNC_END(ffi_closure_VFP_alt) - -/* - * Below is the definition of the trampoline code table. Each element in - * the code table is a trampoline. - */ -/* - * The trampoline uses register ip (r12). It saves the original value of ip - * on the stack. - * - * The trampoline has two parameters - target code to jump to and data for - * the target code. The trampoline extracts the parameters from its parameter - * block (see tramp_table_map()). The trampoline saves the data address on - * the stack. Finally, it jumps to the target code. - * - * The target code can choose to: - * - * - restore the value of ip - * - load the data address in a register - * - restore the stack pointer to what it was when the trampoline was invoked. - */ - .align ARM_TRAMP_MAP_SHIFT -ARM_FUNC_START(trampoline_code_table) - .rept ARM_TRAMP_MAP_SIZE / ARM_TRAMP_SIZE - sub sp, sp, #8 /* Make space on the stack */ - str ip, [sp] /* Save ip on stack */ - ldr ip, [pc, #4080] /* Copy data into ip */ - str ip, [sp, #4] /* Save data on stack */ - ldr pc, [pc, #4076] /* Copy code into PC */ - .endr -ARM_FUNC_END(trampoline_code_table) - .align ARM_TRAMP_MAP_SHIFT -#endif /* FFI_EXEC_STATIC_TRAMP */ - -#endif /* FFI_CLOSURES */ - -#if FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ -#include - -.align PAGE_MAX_SHIFT -ARM_FUNC_START(ffi_closure_trampoline_table_page) -.rept PAGE_MAX_SIZE / FFI_TRAMPOLINE_SIZE - adr ip, #-PAGE_MAX_SIZE @ the config page is PAGE_MAX_SIZE behind the trampoline page - sub ip, #8 @ account for pc bias - ldr pc, [ip, #4] @ jump to ffi_closure_SYSV or ffi_closure_VFP -.endr -ARM_FUNC_END(ffi_closure_trampoline_table_page) -#endif - -#elif defined(_WIN32) - -ARM_FUNC_START(ffi_arm_trampoline) -0: adr ip, 0b - stmdb sp!, {r0, ip} - ldr pc, 1f -1: .long 0 -ARM_FUNC_END(ffi_arm_trampoline) - -#else - -ARM_FUNC_START(ffi_arm_trampoline) -0: adr ip, 0b - ldr pc, 1f -1: .long 0 -ARM_FUNC_END(ffi_arm_trampoline) - -#endif /* FFI_EXEC_TRAMPOLINE_TABLE */ -#endif /* __arm__ */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",%progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S deleted file mode 100644 index 5c99d02..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +++ /dev/null @@ -1,311 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 1998, 2008, 2011 Red Hat, Inc. - Copyright (c) 2011 Plausible Labs Cooperative, Inc. - Copyright (c) 2019 Microsoft Corporation. - - ARM Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#include -#include "internal.h" -#include "ksarm.h" - - - ; 8 byte aligned AREA to support 8 byte aligned jump tables - MACRO - NESTED_ENTRY_FFI $FuncName, $AreaName, $ExceptHandler - - ; compute the function's labels - __DeriveFunctionLabels $FuncName - - ; determine the area we will put the function into -__FuncArea SETS "|.text|" - IF "$AreaName" != "" -__FuncArea SETS "$AreaName" - ENDIF - - ; set up the exception handler itself -__FuncExceptionHandler SETS "" - IF "$ExceptHandler" != "" -__FuncExceptionHandler SETS "|$ExceptHandler|" - ENDIF - - ; switch to the specified area, jump tables require 8 byte alignment - AREA $__FuncArea,CODE,CODEALIGN,ALIGN=3,READONLY - - ; export the function name - __ExportProc $FuncName - - ; flush any pending literal pool stuff - ROUT - - ; reset the state of the unwind code tracking - __ResetUnwindState - - MEND - -; MACRO -; TABLE_ENTRY $Type, $Table -;$Type_$Table -; MEND - -#define E(index,table) return_##index##_##table - - ; r0: stack - ; r1: frame - ; r2: fn - ; r3: vfp_used - - ; fake entry point exists only to generate exists only to - ; generate .pdata for exception unwinding - NESTED_ENTRY_FFI ffi_call_VFP_fake - PROLOG_PUSH {r11, lr} ; save fp and lr for unwind - - ALTERNATE_ENTRY ffi_call_VFP - cmp r3, #3 ; load only d0 if possible - vldrle d0, [r0] - vldmgt r0, {d0-d7} - add r0, r0, #64 ; discard the vfp register args - b ffi_call_SYSV - NESTED_END ffi_call_VFP_fake - - ; fake entry point exists only to generate exists only to - ; generate .pdata for exception unwinding - NESTED_ENTRY_FFI ffi_call_SYSV_fake - PROLOG_PUSH {r11, lr} ; save fp and lr for unwind - - ALTERNATE_ENTRY ffi_call_SYSV - stm r1, {fp, lr} - mov fp, r1 - - mov sp, r0 ; install the stack pointer - mov lr, r2 ; move the fn pointer out of the way - ldr ip, [fp, #16] ; install the static chain - ldmia sp!, {r0-r3} ; move first 4 parameters in registers. - blx lr ; call fn - - ; Load r2 with the pointer to storage for the return value - ; Load r3 with the return type code - ldr r2, [fp, #8] - ldr r3, [fp, #12] - - ; Deallocate the stack with the arguments. - mov sp, fp - - ; Store values stored in registers. - ALIGN 8 - lsl r3, #3 - add r3, r3, pc - add r3, #8 - mov pc, r3 - - -E(ARM_TYPE_VFP_S, ffi_call) - ALIGN 8 - vstr s0, [r2] - pop {fp,pc} -E(ARM_TYPE_VFP_D, ffi_call) - ALIGN 8 - vstr d0, [r2] - pop {fp,pc} -E(ARM_TYPE_VFP_N, ffi_call) - ALIGN 8 - vstm r2, {d0-d3} - pop {fp,pc} -E(ARM_TYPE_INT64, ffi_call) - ALIGN 8 - str r1, [r2, #4] - nop -E(ARM_TYPE_INT, ffi_call) - ALIGN 8 - str r0, [r2] - pop {fp,pc} -E(ARM_TYPE_VOID, ffi_call) - ALIGN 8 - pop {fp,pc} - nop -E(ARM_TYPE_STRUCT, ffi_call) - ALIGN 8 - cmp r3, #ARM_TYPE_STRUCT - pop {fp,pc} - NESTED_END ffi_call_SYSV_fake - - IMPORT |ffi_closure_inner_SYSV| - /* - int ffi_closure_inner_SYSV - ( - cif, ; r0 - fun, ; r1 - user_data, ; r2 - frame ; r3 - ) - */ - - NESTED_ENTRY_FFI ffi_go_closure_SYSV - stmdb sp!, {r0-r3} ; save argument regs - ldr r0, [ip, #4] ; load cif - ldr r1, [ip, #8] ; load fun - mov r2, ip ; load user_data - b ffi_go_closure_SYSV_0 - NESTED_END ffi_go_closure_SYSV - - ; r3: ffi_closure - - ; fake entry point exists only to generate exists only to - ; generate .pdata for exception unwinding - NESTED_ENTRY_FFI ffi_closure_SYSV_fake - PROLOG_PUSH {r11, lr} ; save fp and lr for unwind - ALTERNATE_ENTRY ffi_closure_SYSV - ldmfd sp!, {ip,r0} ; restore fp (r0 is used for stack alignment) - stmdb sp!, {r0-r3} ; save argument regs - - ldr r0, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET] ; ffi_closure->cif - ldr r1, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+4] ; ffi_closure->fun - ldr r2, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+8] ; ffi_closure->user_data - - ALTERNATE_ENTRY ffi_go_closure_SYSV_0 - add ip, sp, #16 ; compute entry sp - - sub sp, sp, #64+32 ; allocate frame parameter (sizeof(vfp_space) = 64, sizeof(result) = 32) - mov r3, sp ; set frame parameter - stmdb sp!, {ip,lr} - - bl ffi_closure_inner_SYSV ; call the Python closure - - ; Load values returned in registers. - add r2, sp, #64+8 ; address of closure_frame->result - bl ffi_closure_ret ; move result to correct register or memory for type - - ldmfd sp!, {ip,lr} - mov sp, ip ; restore stack pointer - mov pc, lr - NESTED_END ffi_closure_SYSV_fake - - IMPORT |ffi_closure_inner_VFP| - /* - int ffi_closure_inner_VFP - ( - cif, ; r0 - fun, ; r1 - user_data, ; r2 - frame ; r3 - ) - */ - - NESTED_ENTRY_FFI ffi_go_closure_VFP - stmdb sp!, {r0-r3} ; save argument regs - ldr r0, [ip, #4] ; load cif - ldr r1, [ip, #8] ; load fun - mov r2, ip ; load user_data - b ffi_go_closure_VFP_0 - NESTED_END ffi_go_closure_VFP - - ; fake entry point exists only to generate exists only to - ; generate .pdata for exception unwinding - ; r3: closure - NESTED_ENTRY_FFI ffi_closure_VFP_fake - PROLOG_PUSH {r11, lr} ; save fp and lr for unwind - - ALTERNATE_ENTRY ffi_closure_VFP - ldmfd sp!, {ip,r0} ; restore fp (r0 is used for stack alignment) - stmdb sp!, {r0-r3} ; save argument regs - - ldr r0, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET] ; load cif - ldr r1, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+4] ; load fun - ldr r2, [ip, #FFI_TRAMPOLINE_CLOSURE_OFFSET+8] ; load user_data - - ALTERNATE_ENTRY ffi_go_closure_VFP_0 - add ip, sp, #16 ; compute entry sp - sub sp, sp, #32 ; save space for closure_frame->result - vstmdb sp!, {d0-d7} ; push closure_frame->vfp_space - - mov r3, sp ; save closure_frame - stmdb sp!, {ip,lr} - - bl ffi_closure_inner_VFP - - ; Load values returned in registers. - add r2, sp, #64+8 ; load result - bl ffi_closure_ret - ldmfd sp!, {ip,lr} - mov sp, ip ; restore stack pointer - mov pc, lr - NESTED_END ffi_closure_VFP_fake - -/* Load values returned in registers for both closure entry points. - Note that we use LDM with SP in the register set. This is deprecated - by ARM, but not yet unpredictable. */ - - NESTED_ENTRY_FFI ffi_closure_ret - stmdb sp!, {fp,lr} - - ALIGN 8 - lsl r0, #3 - add r0, r0, pc - add r0, #8 - mov pc, r0 - -E(ARM_TYPE_VFP_S, ffi_closure) - ALIGN 8 - vldr s0, [r2] - b call_epilogue -E(ARM_TYPE_VFP_D, ffi_closure) - ALIGN 8 - vldr d0, [r2] - b call_epilogue -E(ARM_TYPE_VFP_N, ffi_closure) - ALIGN 8 - vldm r2, {d0-d3} - b call_epilogue -E(ARM_TYPE_INT64, ffi_closure) - ALIGN 8 - ldr r1, [r2, #4] - nop -E(ARM_TYPE_INT, ffi_closure) - ALIGN 8 - ldr r0, [r2] - b call_epilogue -E(ARM_TYPE_VOID, ffi_closure) - ALIGN 8 - b call_epilogue - nop -E(ARM_TYPE_STRUCT, ffi_closure) - ALIGN 8 - b call_epilogue -call_epilogue - ldmfd sp!, {fp,pc} - NESTED_END ffi_closure_ret - - AREA |.trampoline|, DATA, THUMB, READONLY - EXPORT |ffi_arm_trampoline| -|ffi_arm_trampoline| DATA -thisproc adr ip, thisproc - stmdb sp!, {ip, r0} - ldr pc, [pc, #0] - DCD 0 - ;ENDP - - END \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffi.c deleted file mode 100644 index 3d43397..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffi.c +++ /dev/null @@ -1,423 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2011 Anthony Green - Copyright (c) 2009 Bradley Smith - - AVR32 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include -#include -#include - -/* #define DEBUG */ - -extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *, - unsigned int, unsigned int, unsigned int*, unsigned int, - void (*fn)(void)); -extern void ffi_closure_SYSV (ffi_closure *); - -unsigned int pass_struct_on_stack(ffi_type *type) -{ - if(type->type != FFI_TYPE_STRUCT) - return 0; - - if(type->alignment < type->size && - !(type->size == 4 || type->size == 8) && - !(type->size == 8 && type->alignment >= 4)) - return 1; - - if(type->size == 3 || type->size == 5 || type->size == 6 || - type->size == 7) - return 1; - - return 0; -} - -/* ffi_prep_args is called by the assembly routine once stack space - * has been allocated for the function's arguments - * - * This is annoyingly complex since we need to keep track of used - * registers. - */ - -void ffi_prep_args(char *stack, extended_cif *ecif) -{ - unsigned int i; - void **p_argv; - ffi_type **p_arg; - char *reg_base = stack; - char *stack_base = stack + 20; - unsigned int stack_offset = 0; - unsigned int reg_mask = 0; - - p_argv = ecif->avalue; - - /* If cif->flags is struct then we know it's not passed in registers */ - if(ecif->cif->flags == FFI_TYPE_STRUCT) - { - *(void**)reg_base = ecif->rvalue; - reg_mask |= 1; - } - - for(i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; - i++, p_arg++) - { - size_t z = (*p_arg)->size; - int alignment = (*p_arg)->alignment; - int type = (*p_arg)->type; - char *addr = 0; - - if(z % 4 != 0) - z += (4 - z % 4); - - if(reg_mask != 0x1f) - { - if(pass_struct_on_stack(*p_arg)) - { - addr = stack_base + stack_offset; - stack_offset += z; - } - else if(z == sizeof(int)) - { - char index = 0; - - while((reg_mask >> index) & 1) - index++; - - addr = reg_base + (index * 4); - reg_mask |= (1 << index); - } - else if(z == 2 * sizeof(int)) - { - if(!((reg_mask >> 1) & 1)) - { - addr = reg_base + 4; - reg_mask |= (3 << 1); - } - else if(!((reg_mask >> 3) & 1)) - { - addr = reg_base + 12; - reg_mask |= (3 << 3); - } - } - } - - if(!addr) - { - addr = stack_base + stack_offset; - stack_offset += z; - } - - if(type == FFI_TYPE_STRUCT && (*p_arg)->elements[1] == NULL) - type = (*p_arg)->elements[0]->type; - - switch(type) - { - case FFI_TYPE_UINT8: - *(unsigned int *)addr = (unsigned int)*(UINT8 *)(*p_argv); - break; - case FFI_TYPE_SINT8: - *(signed int *)addr = (signed int)*(SINT8 *)(*p_argv); - break; - case FFI_TYPE_UINT16: - *(unsigned int *)addr = (unsigned int)*(UINT16 *)(*p_argv); - break; - case FFI_TYPE_SINT16: - *(signed int *)addr = (signed int)*(SINT16 *)(*p_argv); - break; - default: - memcpy(addr, *p_argv, z); - } - - p_argv++; - } - -#ifdef DEBUG - /* Debugging */ - for(i = 0; i < 5; i++) - { - if((reg_mask & (1 << i)) == 0) - printf("r%d: (unused)\n", 12 - i); - else - printf("r%d: 0x%08x\n", 12 - i, ((unsigned int*)reg_base)[i]); - } - - for(i = 0; i < stack_offset / 4; i++) - { - printf("sp+%d: 0x%08x\n", i*4, ((unsigned int*)stack_base)[i]); - } -#endif -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* Round the stack up to a multiple of 8 bytes. This isn't needed - * everywhere, but it is on some platforms, and it doesn't harm - * anything when it isn't needed. */ - cif->bytes = (cif->bytes + 7) & ~7; - - /* Flag to indicate that he return value is in fact a struct */ - cif->rstruct_flag = 0; - - /* Set the return type flag */ - switch(cif->rtype->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - cif->flags = (unsigned)FFI_TYPE_UINT8; - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - cif->flags = (unsigned)FFI_TYPE_UINT16; - break; - case FFI_TYPE_FLOAT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - cif->flags = (unsigned)FFI_TYPE_UINT32; - break; - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = (unsigned)FFI_TYPE_UINT64; - break; - case FFI_TYPE_STRUCT: - cif->rstruct_flag = 1; - if(!pass_struct_on_stack(cif->rtype)) - { - if(cif->rtype->size <= 1) - cif->flags = (unsigned)FFI_TYPE_UINT8; - else if(cif->rtype->size <= 2) - cif->flags = (unsigned)FFI_TYPE_UINT16; - else if(cif->rtype->size <= 4) - cif->flags = (unsigned)FFI_TYPE_UINT32; - else if(cif->rtype->size <= 8) - cif->flags = (unsigned)FFI_TYPE_UINT64; - else - cif->flags = (unsigned)cif->rtype->type; - } - else - cif->flags = (unsigned)cif->rtype->type; - break; - default: - cif->flags = (unsigned)cif->rtype->type; - break; - } - - return FFI_OK; -} - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - - unsigned int size = 0, i = 0; - ffi_type **p_arg; - - ecif.cif = cif; - ecif.avalue = avalue; - - for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++) - size += (*p_arg)->size + (4 - (*p_arg)->size % 4); - - /* If the return value is a struct and we don't have a return value - * address then we need to make one */ - - /* If cif->flags is struct then it's not suitable for registers */ - if((rvalue == NULL) && (cif->flags == FFI_TYPE_STRUCT)) - ecif.rvalue = alloca(cif->rtype->size); - else - ecif.rvalue = rvalue; - - switch(cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV(ffi_prep_args, &ecif, size, cif->flags, - ecif.rvalue, cif->rstruct_flag, fn); - break; - default: - FFI_ASSERT(0); - break; - } -} - -static void ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, - void **avalue, ffi_cif *cif) -{ - register unsigned int i, reg_mask = 0; - register void **p_argv; - register ffi_type **p_arg; - register char *reg_base = stack; - register char *stack_base = stack + 20; - register unsigned int stack_offset = 0; - -#ifdef DEBUG - /* Debugging */ - for(i = 0; i < cif->nargs + 7; i++) - { - printf("sp+%d: 0x%08x\n", i*4, ((unsigned int*)stack)[i]); - } -#endif - - /* If cif->flags is struct then we know it's not passed in registers */ - if(cif->flags == FFI_TYPE_STRUCT) - { - *rvalue = *(void **)reg_base; - reg_mask |= 1; - } - - p_argv = avalue; - - for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++) - { - size_t z = (*p_arg)->size; - int alignment = (*p_arg)->alignment; - - *p_argv = 0; - - if(z % 4 != 0) - z += (4 - z % 4); - - if(reg_mask != 0x1f) - { - if(pass_struct_on_stack(*p_arg)) - { - *p_argv = (void*)stack_base + stack_offset; - stack_offset += z; - } - else if(z <= sizeof(int)) - { - char index = 0; - - while((reg_mask >> index) & 1) - index++; - - *p_argv = (void*)reg_base + (index * 4); - reg_mask |= (1 << index); - } - else if(z == 2 * sizeof(int)) - { - if(!((reg_mask >> 1) & 1)) - { - *p_argv = (void*)reg_base + 4; - reg_mask |= (3 << 1); - } - else if(!((reg_mask >> 3) & 1)) - { - *p_argv = (void*)reg_base + 12; - reg_mask |= (3 << 3); - } - } - } - - if(!*p_argv) - { - *p_argv = (void*)stack_base + stack_offset; - stack_offset += z; - } - - if((*p_arg)->type != FFI_TYPE_STRUCT || - (*p_arg)->elements[1] == NULL) - { - if(alignment == 1) - **(unsigned int**)p_argv <<= 24; - else if(alignment == 2) - **(unsigned int**)p_argv <<= 16; - } - - p_argv++; - } - -#ifdef DEBUG - /* Debugging */ - for(i = 0; i < cif->nargs; i++) - { - printf("sp+%d: 0x%08x\n", i*4, *(((unsigned int**)avalue)[i])); - } -#endif -} - -/* This function is jumped to by the trampoline */ - -unsigned int ffi_closure_SYSV_inner(ffi_closure *closure, void **respp, - void *args) -{ - ffi_cif *cif; - void **arg_area; - unsigned int i, size = 0; - ffi_type **p_arg; - - cif = closure->cif; - - for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++) - size += (*p_arg)->size + (4 - (*p_arg)->size % 4); - - arg_area = (void **)alloca(size); - - /* this call will initialize ARG_AREA, such that each element in that - * array points to the corresponding value on the stack; and if the - * function returns a structure, it will re-set RESP to point to the - * structure return address. */ - - ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif); - - (closure->fun)(cif, *respp, arg_area, closure->user_data); - - return cif->flags; -} - -ffi_status ffi_prep_closure_loc(ffi_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), void *user_data, - void *codeloc) -{ - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - unsigned char *__tramp = (unsigned char*)(&closure->tramp[0]); - unsigned int __fun = (unsigned int)(&ffi_closure_SYSV); - unsigned int __ctx = (unsigned int)(codeloc); - unsigned int __rstruct_flag = (unsigned int)(cif->rstruct_flag); - unsigned int __inner = (unsigned int)(&ffi_closure_SYSV_inner); - *(unsigned int*) &__tramp[0] = 0xebcd1f00; /* pushm r8-r12 */ - *(unsigned int*) &__tramp[4] = 0xfefc0010; /* ld.w r12, pc[16] */ - *(unsigned int*) &__tramp[8] = 0xfefb0010; /* ld.w r11, pc[16] */ - *(unsigned int*) &__tramp[12] = 0xfefa0010; /* ld.w r10, pc[16] */ - *(unsigned int*) &__tramp[16] = 0xfeff0010; /* ld.w pc, pc[16] */ - *(unsigned int*) &__tramp[20] = __ctx; - *(unsigned int*) &__tramp[24] = __rstruct_flag; - *(unsigned int*) &__tramp[28] = __inner; - *(unsigned int*) &__tramp[32] = __fun; - syscall(__NR_cacheflush, 0, (&__tramp[0]), 36); - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffitarget.h deleted file mode 100644 index d0c7586..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffitarget.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 2009 Bradley Smith - Target configuration macros for AVR32. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -#define FFI_EXTRA_CIF_FIELDS unsigned int rstruct_flag - -/* Definitions for closures */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 36 -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/sysv.S deleted file mode 100644 index a984b3c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/sysv.S +++ /dev/null @@ -1,208 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2009 Bradley Smith - - AVR32 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - /* r12: ffi_prep_args - * r11: &ecif - * r10: size - * r9: cif->flags - * r8: ecif.rvalue - * sp+0: cif->rstruct_flag - * sp+4: fn */ - - .text - .align 1 - .globl ffi_call_SYSV - .type ffi_call_SYSV, @function -ffi_call_SYSV: - stm --sp, r0,r1,lr - stm --sp, r8-r12 - mov r0, sp - - /* Make room for all of the new args. */ - sub sp, r10 - /* Pad to make way for potential skipped registers */ - sub sp, 20 - - /* Call ffi_prep_args(stack, &ecif). */ - /* r11 already set */ - mov r1, r12 - mov r12, sp - icall r1 - - /* Save new argument size */ - mov r1, r12 - - /* Move first 5 parameters in registers. */ - ldm sp++, r8-r12 - - /* call (fn) (...). */ - ld.w r1, r0[36] - icall r1 - - /* Remove the space we pushed for the args. */ - mov sp, r0 - - /* Load r1 with the rstruct flag. */ - ld.w r1, sp[32] - - /* Load r9 with the return type code. */ - ld.w r9, sp[12] - - /* Load r8 with the return value pointer. */ - ld.w r8, sp[16] - - /* If the return value pointer is NULL, assume no return value. */ - cp.w r8, 0 - breq .Lend - - /* Check if return type is actually a struct */ - cp.w r1, 0 - breq 1f - - /* Return 8bit */ - cp.w r9, FFI_TYPE_UINT8 - breq .Lstore8 - - /* Return 16bit */ - cp.w r9, FFI_TYPE_UINT16 - breq .Lstore16 - -1: - /* Return 32bit */ - cp.w r9, FFI_TYPE_UINT32 - breq .Lstore32 - cp.w r9, FFI_TYPE_UINT16 - breq .Lstore32 - cp.w r9, FFI_TYPE_UINT8 - breq .Lstore32 - - /* Return 64bit */ - cp.w r9, FFI_TYPE_UINT64 - breq .Lstore64 - - /* Didn't match anything */ - bral .Lend - -.Lstore64: - st.w r8[0], r11 - st.w r8[4], r10 - bral .Lend - -.Lstore32: - st.w r8[0], r12 - bral .Lend - -.Lstore16: - st.h r8[0], r12 - bral .Lend - -.Lstore8: - st.b r8[0], r12 - bral .Lend - -.Lend: - sub sp, -20 - ldm sp++, r0,r1,pc - - .size ffi_call_SYSV, . - ffi_call_SYSV - - - /* r12: __ctx - * r11: __rstruct_flag - * r10: __inner */ - - .align 1 - .globl ffi_closure_SYSV - .type ffi_closure_SYSV, @function -ffi_closure_SYSV: - stm --sp, r0,lr - mov r0, r11 - mov r8, r10 - sub r10, sp, -8 - sub sp, 12 - st.w sp[8], sp - sub r11, sp, -8 - icall r8 - - /* Check if return type is actually a struct */ - cp.w r0, 0 - breq 1f - - /* Return 8bit */ - cp.w r12, FFI_TYPE_UINT8 - breq .Lget8 - - /* Return 16bit */ - cp.w r12, FFI_TYPE_UINT16 - breq .Lget16 - -1: - /* Return 32bit */ - cp.w r12, FFI_TYPE_UINT32 - breq .Lget32 - cp.w r12, FFI_TYPE_UINT16 - breq .Lget32 - cp.w r12, FFI_TYPE_UINT8 - breq .Lget32 - - /* Return 64bit */ - cp.w r12, FFI_TYPE_UINT64 - breq .Lget64 - - /* Didn't match anything */ - bral .Lclend - -.Lget64: - ld.w r11, sp[0] - ld.w r10, sp[4] - bral .Lclend - -.Lget32: - ld.w r12, sp[0] - bral .Lclend - -.Lget16: - ld.uh r12, sp[0] - bral .Lclend - -.Lget8: - ld.ub r12, sp[0] - bral .Lclend - -.Lclend: - sub sp, -12 - ldm sp++, r0,lr - sub sp, -20 - mov pc, lr - - .size ffi_closure_SYSV, . - ffi_closure_SYSV - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffi.c deleted file mode 100644 index 22a2acd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffi.c +++ /dev/null @@ -1,196 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2012 Alexandre K. I. de Mendonca , - Paulo Pizarro - - Blackfin Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ -#include -#include - -#include -#include - -/* Maximum number of GPRs available for argument passing. */ -#define MAX_GPRARGS 3 - -/* - * Return types - */ -#define FFIBFIN_RET_VOID 0 -#define FFIBFIN_RET_BYTE 1 -#define FFIBFIN_RET_HALFWORD 2 -#define FFIBFIN_RET_INT64 3 -#define FFIBFIN_RET_INT32 4 - -/*====================================================================*/ -/* PROTOTYPE * - /*====================================================================*/ -void ffi_prep_args(unsigned char *, extended_cif *); - -/*====================================================================*/ -/* Externals */ -/* (Assembly) */ -/*====================================================================*/ - -extern void ffi_call_SYSV(unsigned, extended_cif *, void(*)(unsigned char *, extended_cif *), unsigned, void *, void(*fn)(void)); - -/*====================================================================*/ -/* Implementation */ -/* */ -/*====================================================================*/ - - -/* - * This function calculates the return type (size) based on type. - */ - -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* --------------------------------------* - * Return handling * - * --------------------------------------*/ - switch (cif->rtype->type) { - case FFI_TYPE_VOID: - cif->flags = FFIBFIN_RET_VOID; - break; - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - cif->flags = FFIBFIN_RET_HALFWORD; - break; - case FFI_TYPE_UINT8: - cif->flags = FFIBFIN_RET_BYTE; - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_FLOAT: - case FFI_TYPE_POINTER: - case FFI_TYPE_SINT8: - cif->flags = FFIBFIN_RET_INT32; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: - cif->flags = FFIBFIN_RET_INT64; - break; - case FFI_TYPE_STRUCT: - if (cif->rtype->size <= 4){ - cif->flags = FFIBFIN_RET_INT32; - }else if (cif->rtype->size == 8){ - cif->flags = FFIBFIN_RET_INT64; - }else{ - //it will return via a hidden pointer in P0 - cif->flags = FFIBFIN_RET_VOID; - } - break; - default: - FFI_ASSERT(0); - break; - } - return FFI_OK; -} - -/* - * This will prepare the arguments and will call the assembly routine - * cif = the call interface - * fn = the function to be called - * rvalue = the return value - * avalue = the arguments - */ -void ffi_call(ffi_cif *cif, void(*fn)(void), void *rvalue, void **avalue) -{ - int ret_type = cif->flags; - extended_cif ecif; - ecif.cif = cif; - ecif.avalue = avalue; - ecif.rvalue = rvalue; - - switch (cif->abi) { - case FFI_SYSV: - ffi_call_SYSV(cif->bytes, &ecif, ffi_prep_args, ret_type, ecif.rvalue, fn); - break; - default: - FFI_ASSERT(0); - break; - } -} - - -/* -* This function prepares the parameters (copies them from the ecif to the stack) -* to call the function (ffi_prep_args is called by the assembly routine in file -* sysv.S, which also calls the actual function) -*/ -void ffi_prep_args(unsigned char *stack, extended_cif *ecif) -{ - register unsigned int i = 0; - void **p_argv; - unsigned char *argp; - ffi_type **p_arg; - argp = stack; - p_argv = ecif->avalue; - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - (i != 0); - i--, p_arg++) { - size_t z; - z = (*p_arg)->size; - if (z < sizeof(int)) { - z = sizeof(int); - switch ((*p_arg)->type) { - case FFI_TYPE_SINT8: { - signed char v = *(SINT8 *)(* p_argv); - signed int t = v; - *(signed int *) argp = t; - } - break; - case FFI_TYPE_UINT8: { - unsigned char v = *(UINT8 *)(* p_argv); - unsigned int t = v; - *(unsigned int *) argp = t; - } - break; - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int) * (SINT16 *)(* p_argv); - break; - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int) * (UINT16 *)(* p_argv); - break; - case FFI_TYPE_STRUCT: - memcpy(argp, *p_argv, (*p_arg)->size); - break; - default: - FFI_ASSERT(0); - break; - } - } else if (z == sizeof(int)) { - *(unsigned int *) argp = (unsigned int) * (UINT32 *)(* p_argv); - } else { - memcpy(argp, *p_argv, z); - } - p_argv++; - argp += z; - } -} - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffitarget.h deleted file mode 100644 index 2175c01..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffitarget.h +++ /dev/null @@ -1,43 +0,0 @@ -/* ----------------------------------------------------------------------- - ffitarget.h - Copyright (c) 2012 Alexandre K. I. de Mendonca - - Blackfin Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/sysv.S deleted file mode 100644 index f4278be..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/sysv.S +++ /dev/null @@ -1,179 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2012 Alexandre K. I. de Mendonca , - Paulo Pizarro - - Blackfin Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -.text -.align 4 - - /* - There is a "feature" in the bfin toolchain that it puts a _ before function names - that's why the function here it's called _ffi_call_SYSV and not ffi_call_SYSV - */ - .global _ffi_call_SYSV; - .type _ffi_call_SYSV, STT_FUNC; - .func ffi_call_SYSV - - /* - cif->bytes = R0 (fp+8) - &ecif = R1 (fp+12) - ffi_prep_args = R2 (fp+16) - ret_type = stack (fp+20) - ecif.rvalue = stack (fp+24) - fn = stack (fp+28) - got (fp+32) - - There is room for improvement here (we can use temporary registers - instead of saving the values in the memory) - REGS: - P5 => Stack pointer (function arguments) - R5 => cif->bytes - R4 => ret->type - - FP-20 = P3 - FP-16 = SP (parameters area) - FP-12 = SP (temp) - FP-08 = function return part 1 [R0] - FP-04 = function return part 2 [R1] - */ - -_ffi_call_SYSV: -.prologue: - LINK 20; - [FP-20] = P3; - [FP+8] = R0; - [FP+12] = R1; - [FP+16] = R2; - -.allocate_stack: - //alocate cif->bytes into the stack - R1 = [FP+8]; - R0 = SP; - R0 = R0 - R1; - R1 = 4; - R0 = R0 - R1; - [FP-12] = SP; - SP = R0; - [FP-16] = SP; - -.call_prep_args: - //get the addr of prep_args - P0 = [P3 + _ffi_prep_args@FUNCDESC_GOT17M4]; - P1 = [P0]; - P3 = [P0+4]; - R0 = [FP-16];//SP (parameter area) - R1 = [FP+12];//ecif - call (P1); - -.call_user_function: - //ajust SP so as to allow the user function access the parameters on the stack - SP = [FP-16]; //point to function parameters - R0 = [SP]; - R1 = [SP+4]; - R2 = [SP+8]; - //load user function address - P0 = FP; - P0 +=28; - P1 = [P0]; - P1 = [P1]; - P3 = [P0+4]; - /* - For functions returning aggregate values (struct) occupying more than 8 bytes, - the caller allocates the return value object on the stack and the address - of this object is passed to the callee as a hidden argument in register P0. - */ - P0 = [FP+24]; - - call (P1); - SP = [FP-12]; -.compute_return: - P2 = [FP-20]; - [FP-8] = R0; - [FP-4] = R1; - - R0 = [FP+20]; - R1 = R0 << 2; - - R0 = [P2+.rettable@GOT17M4]; - R0 = R1 + R0; - P2 = R0; - R1 = [P2]; - - P2 = [FP+-20]; - R0 = [P2+.rettable@GOT17M4]; - R0 = R1 + R0; - P2 = R0; - R0 = [FP-8]; - R1 = [FP-4]; - jump (P2); - -/* -#define FFIBFIN_RET_VOID 0 -#define FFIBFIN_RET_BYTE 1 -#define FFIBFIN_RET_HALFWORD 2 -#define FFIBFIN_RET_INT64 3 -#define FFIBFIN_RET_INT32 4 -*/ -.align 4 -.align 4 -.rettable: - .dd .epilogue - .rettable - .dd .rbyte - .rettable; - .dd .rhalfword - .rettable; - .dd .rint64 - .rettable; - .dd .rint32 - .rettable; - -.rbyte: - P0 = [FP+24]; - R0 = R0.B (Z); - [P0] = R0; - JUMP .epilogue -.rhalfword: - P0 = [FP+24]; - R0 = R0.L; - [P0] = R0; - JUMP .epilogue -.rint64: - P0 = [FP+24];// &rvalue - [P0] = R0; - [P0+4] = R1; - JUMP .epilogue -.rint32: - P0 = [FP+24]; - [P0] = R0; -.epilogue: - R0 = [FP+8]; - R1 = [FP+12]; - R2 = [FP+16]; - P3 = [FP-20]; - UNLINK; - RTS; - -.size _ffi_call_SYSV,.-_ffi_call_SYSV; -.endfunc diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c deleted file mode 100644 index 0f2d619..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c +++ /dev/null @@ -1,1107 +0,0 @@ -/* ----------------------------------------------------------------------- - closures.c - Copyright (c) 2019, 2022 Anthony Green - Copyright (c) 2007, 2009, 2010 Red Hat, Inc. - Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc - Copyright (c) 2011 Plausible Labs Cooperative, Inc. - - Code to allocate and deallocate memory for closures. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#if (defined __linux__ || defined __CYGWIN__) && !defined _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif - -#ifndef __EMSCRIPTEN__ - -#include -#include -#include -#include - -#ifdef __NetBSD__ -#include -#endif - -#if __NetBSD_Version__ - 0 >= 799007200 -/* NetBSD with PROT_MPROTECT */ -#include - -#include -#include -#ifdef HAVE_SYS_MEMFD_H -#include -#endif - -static const size_t overhead = - (sizeof(max_align_t) > sizeof(void *) + sizeof(size_t)) ? - sizeof(max_align_t) - : sizeof(void *) + sizeof(size_t); - -#define ADD_TO_POINTER(p, d) ((void *)((uintptr_t)(p) + (d))) - -void * -ffi_closure_alloc (size_t size, void **code) -{ - static size_t page_size; - size_t rounded_size; - void *codeseg, *dataseg; - int prot; - - /* Expect that PAX mprotect is active and a separate code mapping is necessary. */ - if (!code) - return NULL; - - /* Obtain system page size. */ - if (!page_size) - page_size = sysconf(_SC_PAGESIZE); - - /* Round allocation size up to the next page, keeping in mind the size field and pointer to code map. */ - rounded_size = (size + overhead + page_size - 1) & ~(page_size - 1); - - /* Primary mapping is RW, but request permission to switch to PROT_EXEC later. */ - prot = PROT_READ | PROT_WRITE | PROT_MPROTECT(PROT_EXEC); - dataseg = mmap(NULL, rounded_size, prot, MAP_ANON | MAP_PRIVATE, -1, 0); - if (dataseg == MAP_FAILED) - return NULL; - - /* Create secondary mapping and switch it to RX. */ - codeseg = mremap(dataseg, rounded_size, NULL, rounded_size, MAP_REMAPDUP); - if (codeseg == MAP_FAILED) { - munmap(dataseg, rounded_size); - return NULL; - } - if (mprotect(codeseg, rounded_size, PROT_READ | PROT_EXEC) == -1) { - munmap(codeseg, rounded_size); - munmap(dataseg, rounded_size); - return NULL; - } - - /* Remember allocation size and location of the secondary mapping for ffi_closure_free. */ - memcpy(dataseg, &rounded_size, sizeof(rounded_size)); - memcpy(ADD_TO_POINTER(dataseg, sizeof(size_t)), &codeseg, sizeof(void *)); - *code = ADD_TO_POINTER(codeseg, overhead); - return ADD_TO_POINTER(dataseg, overhead); -} - -void -ffi_closure_free (void *ptr) -{ - void *codeseg, *dataseg; - size_t rounded_size; - - dataseg = ADD_TO_POINTER(ptr, -overhead); - memcpy(&rounded_size, dataseg, sizeof(rounded_size)); - memcpy(&codeseg, ADD_TO_POINTER(dataseg, sizeof(size_t)), sizeof(void *)); - munmap(dataseg, rounded_size); - munmap(codeseg, rounded_size); -} - -int -ffi_tramp_is_present (__attribute__((unused)) void *ptr) -{ - return 0; -} -#else /* !NetBSD with PROT_MPROTECT */ - -#if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE -# if __linux__ && !defined(__ANDROID__) -/* This macro indicates it may be forbidden to map anonymous memory - with both write and execute permission. Code compiled when this - option is defined will attempt to map such pages once, but if it - fails, it falls back to creating a temporary file in a writable and - executable filesystem and mapping pages from it into separate - locations in the virtual memory space, one location writable and - another executable. */ -# define FFI_MMAP_EXEC_WRIT 1 -# define HAVE_MNTENT 1 -# endif -# if defined(__CYGWIN__) || defined(_WIN32) || defined(__OS2__) -/* Windows systems may have Data Execution Protection (DEP) enabled, - which requires the use of VirtualMalloc/VirtualFree to alloc/free - executable memory. */ -# define FFI_MMAP_EXEC_WRIT 1 -# endif -#endif - -#if FFI_MMAP_EXEC_WRIT && defined(__linux__) && !defined(__ANDROID__) -# if !defined FFI_MMAP_EXEC_SELINUX -/* When defined to 1 check for SELinux and if SELinux is active, - don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that - might cause audit messages. */ -# define FFI_MMAP_EXEC_SELINUX 1 -# endif /* !defined FFI_MMAP_EXEC_SELINUX */ -# if !defined FFI_MMAP_PAX -/* Also check for PaX MPROTECT */ -# define FFI_MMAP_PAX 1 -# endif /* !defined FFI_MMAP_PAX */ -#endif /* FFI_MMAP_EXEC_WRIT && defined(__linux__) && !defined(__ANDROID__) */ - -#if FFI_CLOSURES - -#if FFI_EXEC_TRAMPOLINE_TABLE - -#ifdef __MACH__ - -#include -#include -#ifdef HAVE_PTRAUTH -#include -#endif -#include -#include - -extern void *ffi_closure_trampoline_table_page; - -typedef struct ffi_trampoline_table ffi_trampoline_table; -typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry; - -struct ffi_trampoline_table -{ - /* contiguous writable and executable pages */ - vm_address_t config_page; - - /* free list tracking */ - uint16_t free_count; - ffi_trampoline_table_entry *free_list; - ffi_trampoline_table_entry *free_list_pool; - - ffi_trampoline_table *prev; - ffi_trampoline_table *next; -}; - -struct ffi_trampoline_table_entry -{ - void *(*trampoline) (void); - ffi_trampoline_table_entry *next; -}; - -/* Total number of trampolines that fit in one trampoline table */ -#define FFI_TRAMPOLINE_COUNT (PAGE_MAX_SIZE / FFI_TRAMPOLINE_SIZE) - -static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER; -static ffi_trampoline_table *ffi_trampoline_tables = NULL; - -static ffi_trampoline_table * -ffi_trampoline_table_alloc (void) -{ - ffi_trampoline_table *table; - vm_address_t config_page; - vm_address_t trampoline_page; - vm_address_t trampoline_page_template; - vm_prot_t cur_prot; - vm_prot_t max_prot; - kern_return_t kt; - uint16_t i; - - /* Allocate two pages -- a config page and a placeholder page */ - config_page = 0x0; - kt = vm_allocate (mach_task_self (), &config_page, PAGE_MAX_SIZE * 2, - VM_FLAGS_ANYWHERE); - if (kt != KERN_SUCCESS) - return NULL; - - /* Remap the trampoline table on top of the placeholder page */ - trampoline_page = config_page + PAGE_MAX_SIZE; - -#ifdef HAVE_PTRAUTH - trampoline_page_template = (vm_address_t)(uintptr_t)ptrauth_auth_data((void *)&ffi_closure_trampoline_table_page, ptrauth_key_function_pointer, 0); -#else - trampoline_page_template = (vm_address_t)&ffi_closure_trampoline_table_page; -#endif - -#ifdef __arm__ - /* ffi_closure_trampoline_table_page can be thumb-biased on some ARM archs */ - trampoline_page_template &= ~1UL; -#endif - kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_MAX_SIZE, 0x0, - VM_FLAGS_OVERWRITE, mach_task_self (), trampoline_page_template, - FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE); - if (kt != KERN_SUCCESS) - { - vm_deallocate (mach_task_self (), config_page, PAGE_MAX_SIZE * 2); - return NULL; - } - - if (!(cur_prot & VM_PROT_EXECUTE)) - { - /* If VM_PROT_EXECUTE isn't set on the remapped trampoline page, set it */ - kt = vm_protect (mach_task_self (), trampoline_page, PAGE_MAX_SIZE, - FALSE, cur_prot | VM_PROT_EXECUTE); - if (kt != KERN_SUCCESS) - { - vm_deallocate (mach_task_self (), config_page, PAGE_MAX_SIZE * 2); - return NULL; - } - } - - /* We have valid trampoline and config pages */ - table = calloc (1, sizeof (ffi_trampoline_table)); - table->free_count = FFI_TRAMPOLINE_COUNT; - table->config_page = config_page; - - /* Create and initialize the free list */ - table->free_list_pool = - calloc (FFI_TRAMPOLINE_COUNT, sizeof (ffi_trampoline_table_entry)); - - for (i = 0; i < table->free_count; i++) - { - ffi_trampoline_table_entry *entry = &table->free_list_pool[i]; - entry->trampoline = - (void *) (trampoline_page + (i * FFI_TRAMPOLINE_SIZE)); -#ifdef HAVE_PTRAUTH - entry->trampoline = ptrauth_sign_unauthenticated(entry->trampoline, ptrauth_key_function_pointer, 0); -#endif - - if (i < table->free_count - 1) - entry->next = &table->free_list_pool[i + 1]; - } - - table->free_list = table->free_list_pool; - - return table; -} - -static void -ffi_trampoline_table_free (ffi_trampoline_table *table) -{ - /* Remove from the list */ - if (table->prev != NULL) - table->prev->next = table->next; - - if (table->next != NULL) - table->next->prev = table->prev; - - /* Deallocate pages */ - vm_deallocate (mach_task_self (), table->config_page, PAGE_MAX_SIZE * 2); - - /* Deallocate free list */ - free (table->free_list_pool); - free (table); -} - -void * -ffi_closure_alloc (size_t size, void **code) -{ - /* Create the closure */ - ffi_closure *closure = malloc (size); - if (closure == NULL) - return NULL; - - pthread_mutex_lock (&ffi_trampoline_lock); - - /* Check for an active trampoline table with available entries. */ - ffi_trampoline_table *table = ffi_trampoline_tables; - if (table == NULL || table->free_list == NULL) - { - table = ffi_trampoline_table_alloc (); - if (table == NULL) - { - pthread_mutex_unlock (&ffi_trampoline_lock); - free (closure); - return NULL; - } - - /* Insert the new table at the top of the list */ - table->next = ffi_trampoline_tables; - if (table->next != NULL) - table->next->prev = table; - - ffi_trampoline_tables = table; - } - - /* Claim the free entry */ - ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list; - ffi_trampoline_tables->free_list = entry->next; - ffi_trampoline_tables->free_count--; - entry->next = NULL; - - pthread_mutex_unlock (&ffi_trampoline_lock); - - /* Initialize the return values */ - *code = entry->trampoline; - closure->trampoline_table = table; - closure->trampoline_table_entry = entry; - - return closure; -} - -void -ffi_closure_free (void *ptr) -{ - ffi_closure *closure = ptr; - - pthread_mutex_lock (&ffi_trampoline_lock); - - /* Fetch the table and entry references */ - ffi_trampoline_table *table = closure->trampoline_table; - ffi_trampoline_table_entry *entry = closure->trampoline_table_entry; - - /* Return the entry to the free list */ - entry->next = table->free_list; - table->free_list = entry; - table->free_count++; - - /* If all trampolines within this table are free, and at least one other table exists, deallocate - * the table */ - if (table->free_count == FFI_TRAMPOLINE_COUNT - && ffi_trampoline_tables != table) - { - ffi_trampoline_table_free (table); - } - else if (ffi_trampoline_tables != table) - { - /* Otherwise, bump this table to the top of the list */ - table->prev = NULL; - table->next = ffi_trampoline_tables; - if (ffi_trampoline_tables != NULL) - ffi_trampoline_tables->prev = table; - - ffi_trampoline_tables = table; - } - - pthread_mutex_unlock (&ffi_trampoline_lock); - - /* Free the closure */ - free (closure); -} - -#endif - -// Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations. - -#elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */ - -#define USE_LOCKS 1 -#define USE_DL_PREFIX 1 -#ifdef __GNUC__ -#ifndef USE_BUILTIN_FFS -#define USE_BUILTIN_FFS 1 -#endif -#endif - -/* We need to use mmap, not sbrk. */ -#define HAVE_MORECORE 0 - -/* We could, in theory, support mremap, but it wouldn't buy us anything. */ -#define HAVE_MREMAP 0 - -/* We have no use for this, so save some code and data. */ -#define NO_MALLINFO 1 - -/* We need all allocations to be in regular segments, otherwise we - lose track of the corresponding code address. */ -#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T - -/* Don't allocate more than a page unless needed. */ -#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize) - -#include -#include -#include -#include -#ifndef _MSC_VER -#include -#endif -#include -#include -#if !defined(_WIN32) -#ifdef HAVE_MNTENT -#include -#endif /* HAVE_MNTENT */ -#include -#include - -/* We don't want sys/mman.h to be included after we redefine mmap and - dlmunmap. */ -#include -#define LACKS_SYS_MMAN_H 1 - -#if FFI_MMAP_EXEC_SELINUX -#include -#include - -static int selinux_enabled = -1; - -static int -selinux_enabled_check (void) -{ - struct statfs sfs; - FILE *f; - char *buf = NULL; - size_t len = 0; - - if (statfs ("/selinux", &sfs) >= 0 - && (unsigned int) sfs.f_type == 0xf97cff8cU) - return 1; - f = fopen ("/proc/mounts", "r"); - if (f == NULL) - return 0; - while (getline (&buf, &len, f) >= 0) - { - char *p = strchr (buf, ' '); - if (p == NULL) - break; - p = strchr (p + 1, ' '); - if (p == NULL) - break; - if (strncmp (p + 1, "selinuxfs ", 10) == 0) - { - free (buf); - fclose (f); - return 1; - } - } - free (buf); - fclose (f); - return 0; -} - -#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \ - : (selinux_enabled = selinux_enabled_check ())) - -#else - -#define is_selinux_enabled() 0 - -#endif /* !FFI_MMAP_EXEC_SELINUX */ - -/* On PaX enable kernels that have MPROTECT enabled we can't use PROT_EXEC. */ -#if defined FFI_MMAP_PAX -#include - -enum { - PAX_MPROTECT = (1 << 0), - PAX_EMUTRAMP = (1 << 1), -}; -static int cached_pax_flags = -1; - -static int -pax_flags_check (void) -{ - char *buf = NULL; - size_t len = 0; - FILE *f; - int ret; - f = fopen ("/proc/self/status", "r"); - if (f == NULL) - return 0; - ret = 0; - - while (getline (&buf, &len, f) != -1) - if (!strncmp (buf, "PaX:", 4)) - { - if (NULL != strchr (buf + 4, 'M')) - ret |= PAX_MPROTECT; - if (NULL != strchr (buf + 4, 'E')) - ret |= PAX_EMUTRAMP; - break; - } - free (buf); - fclose (f); - return ret; -} - -#define get_pax_flags() (cached_pax_flags >= 0 ? cached_pax_flags \ - : (cached_pax_flags = pax_flags_check ())) -#define has_pax_flags(flags) ((flags) == ((flags) & get_pax_flags ())) -#define is_mprotect_enabled() (has_pax_flags (PAX_MPROTECT)) -#define is_emutramp_enabled() (has_pax_flags (PAX_EMUTRAMP)) - -#endif /* defined FFI_MMAP_PAX */ - -#elif defined (__CYGWIN__) || defined(__INTERIX) - -#include - -/* Cygwin is Linux-like, but not quite that Linux-like. */ -#define is_selinux_enabled() 0 - -#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */ - -#if !defined FFI_MMAP_PAX -# define is_mprotect_enabled() 0 -# define is_emutramp_enabled() 0 -#endif /* !defined FFI_MMAP_PAX */ - -/* Declare all functions defined in dlmalloc.c as static. */ -static void *dlmalloc(size_t); -static void dlfree(void*); -static void *dlcalloc(size_t, size_t) MAYBE_UNUSED; -static void *dlrealloc(void *, size_t) MAYBE_UNUSED; -static void *dlmemalign(size_t, size_t) MAYBE_UNUSED; -static void *dlvalloc(size_t) MAYBE_UNUSED; -static int dlmallopt(int, int) MAYBE_UNUSED; -static size_t dlmalloc_footprint(void) MAYBE_UNUSED; -static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED; -static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED; -static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED; -static void *dlpvalloc(size_t) MAYBE_UNUSED; -static int dlmalloc_trim(size_t) MAYBE_UNUSED; -static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED; -static void dlmalloc_stats(void) MAYBE_UNUSED; - -#if !(defined(_WIN32) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) -/* Use these for mmap and munmap within dlmalloc.c. */ -static void *dlmmap(void *, size_t, int, int, int, off_t); -static int dlmunmap(void *, size_t); -#endif /* !(defined(_WIN32) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */ - -#define mmap dlmmap -#define munmap dlmunmap - -#include "dlmalloc.c" - -#undef mmap -#undef munmap - -#if !(defined(_WIN32) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) - -/* A mutex used to synchronize access to *exec* variables in this file. */ -static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER; - -/* A file descriptor of a temporary file from which we'll map - executable pages. */ -static int execfd = -1; - -/* The amount of space already allocated from the temporary file. */ -static size_t execsize = 0; - -#ifdef HAVE_MEMFD_CREATE -/* Open a temporary file name, and immediately unlink it. */ -static int -open_temp_exec_file_memfd (const char *name) -{ - int fd; - fd = memfd_create (name, MFD_CLOEXEC); - return fd; -} -#endif - -/* Open a temporary file name, and immediately unlink it. */ -static int -open_temp_exec_file_name (char *name, int flags) -{ - int fd; - -#ifdef HAVE_MKOSTEMP - fd = mkostemp (name, flags); -#else - fd = mkstemp (name); -#endif - - if (fd != -1) - unlink (name); - - return fd; -} - -/* Open a temporary file in the named directory. */ -static int -open_temp_exec_file_dir (const char *dir) -{ - static const char suffix[] = "/ffiXXXXXX"; - int lendir, flags; - char *tempname; -#ifdef O_TMPFILE - int fd; -#endif - -#ifdef O_CLOEXEC - flags = O_CLOEXEC; -#else - flags = 0; -#endif - -#ifdef O_TMPFILE - fd = open (dir, flags | O_RDWR | O_EXCL | O_TMPFILE, 0700); - /* If the running system does not support the O_TMPFILE flag then retry without it. */ - if (fd != -1 || (errno != EINVAL && errno != EISDIR && errno != EOPNOTSUPP)) { - return fd; - } else { - errno = 0; - } -#endif - - lendir = (int) strlen (dir); - tempname = __builtin_alloca (lendir + sizeof (suffix)); - - if (!tempname) - return -1; - - memcpy (tempname, dir, lendir); - memcpy (tempname + lendir, suffix, sizeof (suffix)); - - return open_temp_exec_file_name (tempname, flags); -} - -/* Open a temporary file in the directory in the named environment - variable. */ -static int -open_temp_exec_file_env (const char *envvar) -{ - const char *value = getenv (envvar); - - if (!value) - return -1; - - return open_temp_exec_file_dir (value); -} - -#ifdef HAVE_MNTENT -/* Open a temporary file in an executable and writable mount point - listed in the mounts file. Subsequent calls with the same mounts - keep searching for mount points in the same file. Providing NULL - as the mounts file closes the file. */ -static int -open_temp_exec_file_mnt (const char *mounts) -{ - static const char *last_mounts; - static FILE *last_mntent; - - if (mounts != last_mounts) - { - if (last_mntent) - endmntent (last_mntent); - - last_mounts = mounts; - - if (mounts) - last_mntent = setmntent (mounts, "r"); - else - last_mntent = NULL; - } - - if (!last_mntent) - return -1; - - for (;;) - { - int fd; - struct mntent mnt; - char buf[MAXPATHLEN * 3]; - - if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL) - return -1; - - if (hasmntopt (&mnt, "ro") - || hasmntopt (&mnt, "noexec") - || access (mnt.mnt_dir, W_OK)) - continue; - - fd = open_temp_exec_file_dir (mnt.mnt_dir); - - if (fd != -1) - return fd; - } -} -#endif /* HAVE_MNTENT */ - -/* Instructions to look for a location to hold a temporary file that - can be mapped in for execution. */ -static struct -{ - int (*func)(const char *); - const char *arg; - int repeat; -} open_temp_exec_file_opts[] = { -#ifdef HAVE_MEMFD_CREATE - { open_temp_exec_file_memfd, "libffi", 0 }, -#endif - { open_temp_exec_file_env, "LIBFFI_TMPDIR", 0 }, - { open_temp_exec_file_env, "TMPDIR", 0 }, - { open_temp_exec_file_dir, "/tmp", 0 }, - { open_temp_exec_file_dir, "/var/tmp", 0 }, - { open_temp_exec_file_dir, "/dev/shm", 0 }, - { open_temp_exec_file_env, "HOME", 0 }, -#ifdef HAVE_MNTENT - { open_temp_exec_file_mnt, "/etc/mtab", 1 }, - { open_temp_exec_file_mnt, "/proc/mounts", 1 }, -#endif /* HAVE_MNTENT */ -}; - -/* Current index into open_temp_exec_file_opts. */ -static int open_temp_exec_file_opts_idx = 0; - -/* Reset a current multi-call func, then advances to the next entry. - If we're at the last, go back to the first and return nonzero, - otherwise return zero. */ -static int -open_temp_exec_file_opts_next (void) -{ - if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat) - open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL); - - open_temp_exec_file_opts_idx++; - if (open_temp_exec_file_opts_idx - == (sizeof (open_temp_exec_file_opts) - / sizeof (*open_temp_exec_file_opts))) - { - open_temp_exec_file_opts_idx = 0; - return 1; - } - - return 0; -} - -/* Return a file descriptor of a temporary zero-sized file in a - writable and executable filesystem. */ -int -open_temp_exec_file (void) -{ - int fd; - - do - { - fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func - (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg); - - if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat - || fd == -1) - { - if (open_temp_exec_file_opts_next ()) - break; - } - } - while (fd == -1); - - return fd; -} - -/* We need to allocate space in a file that will be backing a writable - mapping. Several problems exist with the usual approaches: - - fallocate() is Linux-only - - posix_fallocate() is not available on all platforms - - ftruncate() does not allocate space on filesystems with sparse files - Failure to allocate the space will cause SIGBUS to be thrown when - the mapping is subsequently written to. */ -static int -allocate_space (int fd, off_t offset, off_t len) -{ - static long page_size; - - /* Obtain system page size. */ - if (!page_size) - page_size = sysconf(_SC_PAGESIZE); - - unsigned char buf[page_size]; - memset (buf, 0, page_size); - - while (len > 0) - { - off_t to_write = (len < page_size) ? len : page_size; - if (write (fd, buf, to_write) < to_write) - return -1; - len -= to_write; - } - - return 0; -} - -/* Map in a chunk of memory from the temporary exec file into separate - locations in the virtual memory address space, one writable and one - executable. Returns the address of the writable portion, after - storing an offset to the corresponding executable portion at the - last word of the requested chunk. */ -static void * -dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset) -{ - void *ptr; - - if (execfd == -1) - { - open_temp_exec_file_opts_idx = 0; - retry_open: - execfd = open_temp_exec_file (); - if (execfd == -1) - return MFAIL; - } - - offset = execsize; - - if (allocate_space (execfd, offset, length)) - return MFAIL; - - flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS); - flags |= MAP_SHARED; - - ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC, - flags, execfd, offset); - if (ptr == MFAIL) - { - if (!offset) - { - close (execfd); - goto retry_open; - } - if (ftruncate (execfd, offset) != 0) - { - /* Fixme : Error logs can be added here. Returning an error for - * ftruncte() will not add any advantage as it is being - * validating in the error case. */ - } - - return MFAIL; - } - else if (!offset - && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat) - open_temp_exec_file_opts_next (); - - start = mmap (start, length, prot, flags, execfd, offset); - - if (start == MFAIL) - { - munmap (ptr, length); - if (ftruncate (execfd, offset) != 0) - { - /* Fixme : Error logs can be added here. Returning an error for - * ftruncte() will not add any advantage as it is being - * validating in the error case. */ - } - return start; - } - - mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start; - - execsize += length; - - return start; -} - -/* Map in a writable and executable chunk of memory if possible. - Failing that, fall back to dlmmap_locked. */ -static void * -dlmmap (void *start, size_t length, int prot, - int flags, int fd, off_t offset) -{ - void *ptr; - - assert (start == NULL && length % malloc_getpagesize == 0 - && prot == (PROT_READ | PROT_WRITE) - && flags == (MAP_PRIVATE | MAP_ANONYMOUS) - && fd == -1 && offset == 0); - - if (execfd == -1 && ffi_tramp_is_supported ()) - { - ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset); - return ptr; - } - - /* -1 != execfd hints that we already decided to use dlmmap_locked - last time. */ - if (execfd == -1 && is_mprotect_enabled ()) - { -#ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX - if (is_emutramp_enabled ()) - { - /* emutramp requires the kernel recognizing the trampoline pattern - generated by ffi_prep_closure_loc; there is no way to test - in advance whether this will work, so this is experimental. */ - ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset); - return ptr; - } -#endif - /* fallback to dlmmap_locked. */ - } - else if (execfd == -1 && !is_selinux_enabled ()) - { - ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset); - - if (ptr != MFAIL || (errno != EPERM && errno != EACCES)) - /* Cool, no need to mess with separate segments. */ - return ptr; - - /* If MREMAP_DUP is ever introduced and implemented, try mmap - with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with - MREMAP_DUP and prot at this point. */ - } - - pthread_mutex_lock (&open_temp_exec_file_mutex); - ptr = dlmmap_locked (start, length, prot, flags, offset); - pthread_mutex_unlock (&open_temp_exec_file_mutex); - - return ptr; -} - -/* Release memory at the given address, as well as the corresponding - executable page if it's separate. */ -static int -dlmunmap (void *start, size_t length) -{ - /* We don't bother decreasing execsize or truncating the file, since - we can't quite tell whether we're unmapping the end of the file. - We don't expect frequent deallocation anyway. If we did, we - could locate pages in the file by writing to the pages being - deallocated and checking that the file contents change. - Yuck. */ - msegmentptr seg = segment_holding (gm, start); - void *code; - - if (seg && (code = add_segment_exec_offset (start, seg)) != start) - { - int ret = munmap (code, length); - if (ret) - return ret; - } - - return munmap (start, length); -} - -#if FFI_CLOSURE_FREE_CODE -/* Return segment holding given code address. */ -static msegmentptr -segment_holding_code (mstate m, char* addr) -{ - msegmentptr sp = &m->seg; - for (;;) { - if (addr >= add_segment_exec_offset (sp->base, sp) - && addr < add_segment_exec_offset (sp->base, sp) + sp->size) - return sp; - if ((sp = sp->next) == 0) - return 0; - } -} -#endif - -#endif /* !(defined(_WIN32) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */ - -/* Allocate a chunk of memory with the given size. Returns a pointer - to the writable address, and sets *CODE to the executable - corresponding virtual address. */ -void * -ffi_closure_alloc (size_t size, void **code) -{ - void *ptr, *ftramp; - - if (!code) - return NULL; - - ptr = dlmalloc (size); - - if (ptr) - { - msegmentptr seg = segment_holding (gm, ptr); - - *code = FFI_FN (add_segment_exec_offset (ptr, seg)); - if (!ffi_tramp_is_supported ()) - return ptr; - - ftramp = ffi_tramp_alloc (0); - if (ftramp == NULL) - { - dlfree (ptr); - return NULL; - } - *code = FFI_FN (ffi_tramp_get_addr (ftramp)); - ((ffi_closure *) ptr)->ftramp = ftramp; - } - - return ptr; -} - -void * -ffi_data_to_code_pointer (void *data) -{ - msegmentptr seg = segment_holding (gm, data); - /* We expect closures to be allocated with ffi_closure_alloc(), in - which case seg will be non-NULL. However, some users take on the - burden of managing this memory themselves, in which case this - we'll just return data. */ - if (seg) - { - if (!ffi_tramp_is_supported ()) - return add_segment_exec_offset (data, seg); - return ffi_tramp_get_addr (((ffi_closure *) data)->ftramp); - } - else - return data; -} - -/* Release a chunk of memory allocated with ffi_closure_alloc. If - FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the - writable or the executable address given. Otherwise, only the - writable address can be provided here. */ -void -ffi_closure_free (void *ptr) -{ -#if FFI_CLOSURE_FREE_CODE - msegmentptr seg = segment_holding_code (gm, ptr); - - if (seg) - ptr = sub_segment_exec_offset (ptr, seg); -#endif - if (ffi_tramp_is_supported ()) - ffi_tramp_free (((ffi_closure *) ptr)->ftramp); - - dlfree (ptr); -} - -int -ffi_tramp_is_present (void *ptr) -{ - msegmentptr seg = segment_holding (gm, ptr); - return seg != NULL && ffi_tramp_is_supported(); -} - -# else /* ! FFI_MMAP_EXEC_WRIT */ - -/* On many systems, memory returned by malloc is writable and - executable, so just use it. */ - -#include - -void * -ffi_closure_alloc (size_t size, void **code) -{ - void *c; - - if (!code) - return NULL; - - c = malloc (size); - *code = FFI_FN (c); - return c; -} - -void -ffi_closure_free (void *ptr) -{ - free (ptr); -} - -void * -ffi_data_to_code_pointer (void *data) -{ - return data; -} - -int -ffi_tramp_is_present (__attribute__((unused)) void *ptr) -{ - return 0; -} - -# endif /* ! FFI_MMAP_EXEC_WRIT */ -#endif /* FFI_CLOSURES */ - -#endif /* NetBSD with PROT_MPROTECT */ -#endif /* __EMSCRIPTEN__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffi.c deleted file mode 100644 index 9011fde..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffi.c +++ /dev/null @@ -1,386 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 1998 Cygnus Solutions - Copyright (c) 2004 Simon Posnjak - Copyright (c) 2005 Axis Communications AB - Copyright (C) 2007 Free Software Foundation, Inc. - - CRIS Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#define STACK_ARG_SIZE(x) FFI_ALIGN(x, FFI_SIZEOF_ARG) - -static ffi_status -initialize_aggregate_packed_struct (ffi_type * arg) -{ - ffi_type **ptr; - - FFI_ASSERT (arg != NULL); - - FFI_ASSERT (arg->elements != NULL); - FFI_ASSERT (arg->size == 0); - FFI_ASSERT (arg->alignment == 0); - - ptr = &(arg->elements[0]); - - while ((*ptr) != NULL) - { - if (((*ptr)->size == 0) - && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK)) - return FFI_BAD_TYPEDEF; - - FFI_ASSERT (ffi_type_test ((*ptr))); - - arg->size += (*ptr)->size; - - arg->alignment = (arg->alignment > (*ptr)->alignment) ? - arg->alignment : (*ptr)->alignment; - - ptr++; - } - - if (arg->size == 0) - return FFI_BAD_TYPEDEF; - else - return FFI_OK; -} - -int -ffi_prep_args (char *stack, extended_cif * ecif) -{ - unsigned int i; - unsigned int struct_count = 0; - void **p_argv; - char *argp; - ffi_type **p_arg; - - argp = stack; - - p_argv = ecif->avalue; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - (i != 0); i--, p_arg++) - { - size_t z; - - switch ((*p_arg)->type) - { - case FFI_TYPE_STRUCT: - { - z = (*p_arg)->size; - if (z <= 4) - { - memcpy (argp, *p_argv, z); - z = 4; - } - else if (z <= 8) - { - memcpy (argp, *p_argv, z); - z = 8; - } - else - { - unsigned int uiLocOnStack; - z = sizeof (void *); - uiLocOnStack = 4 * ecif->cif->nargs + struct_count; - struct_count = struct_count + (*p_arg)->size; - *(unsigned int *) argp = - (unsigned int) (UINT32 *) (stack + uiLocOnStack); - memcpy ((stack + uiLocOnStack), *p_argv, (*p_arg)->size); - } - break; - } - default: - z = (*p_arg)->size; - if (z < sizeof (int)) - { - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int) *(SINT8 *) (*p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = - (unsigned int) *(UINT8 *) (*p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int) *(SINT16 *) (*p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = - (unsigned int) *(UINT16 *) (*p_argv); - break; - - default: - FFI_ASSERT (0); - } - z = sizeof (int); - } - else if (z == sizeof (int)) - *(unsigned int *) argp = (unsigned int) *(UINT32 *) (*p_argv); - else - memcpy (argp, *p_argv, z); - break; - } - p_argv++; - argp += z; - } - - return (struct_count); -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_core (ffi_cif * cif, - ffi_abi abi, unsigned int isvariadic, - unsigned int nfixedargs, unsigned int ntotalargs, - ffi_type * rtype, ffi_type ** atypes) -{ - unsigned bytes = 0; - unsigned int i; - ffi_type **ptr; - - FFI_ASSERT (cif != NULL); - FFI_ASSERT((!isvariadic) || (nfixedargs >= 1)); - FFI_ASSERT(nfixedargs <= ntotalargs); - FFI_ASSERT (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI); - - cif->abi = abi; - cif->arg_types = atypes; - cif->nargs = ntotalargs; - cif->rtype = rtype; - - cif->flags = 0; - - if ((cif->rtype->size == 0) - && (initialize_aggregate_packed_struct (cif->rtype) != FFI_OK)) - return FFI_BAD_TYPEDEF; - - FFI_ASSERT_VALID_TYPE (cif->rtype); - - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) - { - if (((*ptr)->size == 0) - && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK)) - return FFI_BAD_TYPEDEF; - - FFI_ASSERT_VALID_TYPE (*ptr); - - if (((*ptr)->alignment - 1) & bytes) - bytes = FFI_ALIGN (bytes, (*ptr)->alignment); - if ((*ptr)->type == FFI_TYPE_STRUCT) - { - if ((*ptr)->size > 8) - { - bytes += (*ptr)->size; - bytes += sizeof (void *); - } - else - { - if ((*ptr)->size > 4) - bytes += 8; - else - bytes += 4; - } - } - else - bytes += STACK_ARG_SIZE ((*ptr)->size); - } - - cif->bytes = bytes; - - return ffi_prep_cif_machdep (cif); -} - -ffi_status -ffi_prep_cif_machdep (ffi_cif * cif) -{ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = (unsigned) cif->rtype->type; - break; - - default: - cif->flags = FFI_TYPE_INT; - break; - } - - return FFI_OK; -} - -extern void ffi_call_SYSV (int (*)(char *, extended_cif *), - extended_cif *, - unsigned, unsigned, unsigned *, void (*fn) ()) - __attribute__ ((__visibility__ ("hidden"))); - -void -ffi_call (ffi_cif * cif, void (*fn) (), void *rvalue, void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca (cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV (ffi_prep_args, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn); - break; - default: - FFI_ASSERT (0); - break; - } -} - -/* Because the following variables are not exported outside libffi, we - mark them hidden. */ - -/* Assembly code for the jump stub. */ -extern const char ffi_cris_trampoline_template[] - __attribute__ ((__visibility__ ("hidden"))); - -/* Offset into ffi_cris_trampoline_template of where to put the - ffi_prep_closure_inner function. */ -extern const int ffi_cris_trampoline_fn_offset - __attribute__ ((__visibility__ ("hidden"))); - -/* Offset into ffi_cris_trampoline_template of where to put the - closure data. */ -extern const int ffi_cris_trampoline_closure_offset - __attribute__ ((__visibility__ ("hidden"))); - -/* This function is sibling-called (jumped to) by the closure - trampoline. We get R10..R13 at PARAMS[0..3] and a copy of [SP] at - PARAMS[4] to simplify handling of a straddling parameter. A copy - of R9 is at PARAMS[5] and SP at PARAMS[6]. These parameters are - put at the appropriate place in CLOSURE which is then executed and - the return value is passed back to the caller. */ - -static unsigned long long -ffi_prep_closure_inner (void **params, ffi_closure* closure) -{ - char *register_args = (char *) params; - void *struct_ret = params[5]; - char *stack_args = params[6]; - char *ptr = register_args; - ffi_cif *cif = closure->cif; - ffi_type **arg_types = cif->arg_types; - - /* Max room needed is number of arguments as 64-bit values. */ - void **avalue = alloca (closure->cif->nargs * sizeof(void *)); - int i; - int doing_regs; - long long llret = 0; - - /* Find the address of each argument. */ - for (i = 0, doing_regs = 1; i < cif->nargs; i++) - { - /* Types up to and including 8 bytes go by-value. */ - if (arg_types[i]->size <= 4) - { - avalue[i] = ptr; - ptr += 4; - } - else if (arg_types[i]->size <= 8) - { - avalue[i] = ptr; - ptr += 8; - } - else - { - FFI_ASSERT (arg_types[i]->type == FFI_TYPE_STRUCT); - - /* Passed by-reference, so copy the pointer. */ - avalue[i] = *(void **) ptr; - ptr += 4; - } - - /* If we've handled more arguments than fit in registers, start - looking at the those passed on the stack. Step over the - first one if we had a straddling parameter. */ - if (doing_regs && ptr >= register_args + 4*4) - { - ptr = stack_args + ((ptr > register_args + 4*4) ? 4 : 0); - doing_regs = 0; - } - } - - /* Invoke the closure. */ - (closure->fun) (cif, - - cif->rtype->type == FFI_TYPE_STRUCT - /* The caller allocated space for the return - structure, and passed a pointer to this space in - R9. */ - ? struct_ret - - /* We take advantage of being able to ignore that - the high part isn't set if the return value is - not in R10:R11, but in R10 only. */ - : (void *) &llret, - - avalue, closure->user_data); - - return llret; -} - -/* API function: Prepare the trampoline. */ - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif *, void *, void **, void*), - void *user_data, - void *codeloc) -{ - void *innerfn = ffi_prep_closure_inner; - FFI_ASSERT (cif->abi == FFI_SYSV); - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - memcpy (closure->tramp, ffi_cris_trampoline_template, - FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE); - memcpy (closure->tramp + ffi_cris_trampoline_fn_offset, - &innerfn, sizeof (void *)); - memcpy (closure->tramp + ffi_cris_trampoline_closure_offset, - &codeloc, sizeof (void *)); - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffitarget.h deleted file mode 100644 index b837e97..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffitarget.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for CRIS. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE 36 -#define FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE (7*4) -#define FFI_TRAMPOLINE_SIZE \ - (FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE + FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE) -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/sysv.S deleted file mode 100644 index 79abaee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/sysv.S +++ /dev/null @@ -1,215 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2004 Simon Posnjak - Copyright (c) 2005 Axis Communications AB - - CRIS Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#define CONCAT(x,y) x ## y -#define XCONCAT(x,y) CONCAT (x, y) -#define L(x) XCONCAT (__USER_LABEL_PREFIX__, x) - - .text - - ;; OK, when we get called we should have this (according to - ;; AXIS ETRAX 100LX Programmer's Manual chapter 6.3). - ;; - ;; R10: ffi_prep_args (func. pointer) - ;; R11: &ecif - ;; R12: cif->bytes - ;; R13: fig->flags - ;; sp+0: ecif.rvalue - ;; sp+4: fn (function pointer to the function that we need to call) - - .globl L(ffi_call_SYSV) - .type L(ffi_call_SYSV),@function - .hidden L(ffi_call_SYSV) - -L(ffi_call_SYSV): - ;; Save the regs to the stack. - push $srp - ;; Used for stack pointer saving. - push $r6 - ;; Used for function address pointer. - push $r7 - ;; Used for stack pointer saving. - push $r8 - ;; We save fig->flags to stack we will need them after we - ;; call The Function. - push $r13 - - ;; Saving current stack pointer. - move.d $sp,$r8 - move.d $sp,$r6 - - ;; Move address of ffi_prep_args to r13. - move.d $r10,$r13 - - ;; Make room on the stack for the args of fn. - sub.d $r12,$sp - - ;; Function void ffi_prep_args(char *stack, extended_cif *ecif) parameters are: - ;; r10 <-- stack pointer - ;; r11 <-- &ecif (already there) - move.d $sp,$r10 - - ;; Call the function. - jsr $r13 - - ;; Save the size of the structures which are passed on stack. - move.d $r10,$r7 - - ;; Move first four args in to r10..r13. - move.d [$sp+0],$r10 - move.d [$sp+4],$r11 - move.d [$sp+8],$r12 - move.d [$sp+12],$r13 - - ;; Adjust the stack and check if any parameters are given on stack. - addq 16,$sp - sub.d $r7,$r6 - cmp.d $sp,$r6 - - bpl go_on - nop - -go_on_no_params_on_stack: - move.d $r6,$sp - -go_on: - ;; Discover if we need to put rval address in to r9. - move.d [$r8+0],$r7 - cmpq FFI_TYPE_STRUCT,$r7 - bne call_now - nop - - ;; Move rval address to $r9. - move.d [$r8+20],$r9 - -call_now: - ;; Move address of The Function in to r7. - move.d [$r8+24],$r7 - - ;; Call The Function. - jsr $r7 - - ;; Reset stack. - move.d $r8,$sp - - ;; Load rval type (fig->flags) in to r13. - pop $r13 - - ;; Detect rval type. - cmpq FFI_TYPE_VOID,$r13 - beq epilogue - - cmpq FFI_TYPE_STRUCT,$r13 - beq epilogue - - cmpq FFI_TYPE_DOUBLE,$r13 - beq return_double_or_longlong - - cmpq FFI_TYPE_UINT64,$r13 - beq return_double_or_longlong - - cmpq FFI_TYPE_SINT64,$r13 - beq return_double_or_longlong - nop - - ;; Just return the 32 bit value. - ba return - nop - -return_double_or_longlong: - ;; Load half of the rval to r10 and the other half to r11. - move.d [$sp+16],$r13 - move.d $r10,[$r13] - addq 4,$r13 - move.d $r11,[$r13] - ba epilogue - nop - -return: - ;; Load the rval to r10. - move.d [$sp+16],$r13 - move.d $r10,[$r13] - -epilogue: - pop $r8 - pop $r7 - pop $r6 - Jump [$sp+] - - .size ffi_call_SYSV,.-ffi_call_SYSV - -/* Save R10..R13 into an array, somewhat like varargs. Copy the next - argument too, to simplify handling of any straddling parameter. - Save R9 and SP after those. Jump to function handling the rest. - Since this is a template, copied and the main function filled in by - the user. */ - - .globl L(ffi_cris_trampoline_template) - .type L(ffi_cris_trampoline_template),@function - .hidden L(ffi_cris_trampoline_template) - -L(ffi_cris_trampoline_template): -0: - /* The value we get for "PC" is right after the prefix instruction, - two bytes from the beginning, i.e. 0b+2. */ - move.d $r10,[$pc+2f-(0b+2)] - move.d $pc,$r10 -1: - addq 2f-1b+4,$r10 - move.d $r11,[$r10+] - move.d $r12,[$r10+] - move.d $r13,[$r10+] - move.d [$sp],$r11 - move.d $r11,[$r10+] - move.d $r9,[$r10+] - move.d $sp,[$r10+] - subq FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE,$r10 - move.d 0,$r11 -3: - jump 0 -2: - .size ffi_cris_trampoline_template,.-0b - -/* This macro create a constant usable as "extern const int \name" in - C from within libffi, when \name has no prefix decoration. */ - - .macro const name,value - .globl \name - .type \name,@object - .hidden \name -\name: - .dword \value - .size \name,4 - .endm - -/* Constants for offsets within the trampoline. We could do this with - just symbols, avoiding memory contents and memory accesses, but the - C usage code would look a bit stranger. */ - - const L(ffi_cris_trampoline_fn_offset),2b-4-0b - const L(ffi_cris_trampoline_closure_offset),3b-4-0b diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffi.c deleted file mode 100644 index af50b7c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffi.c +++ /dev/null @@ -1,395 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - - CSKY Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments -*/ -void ffi_prep_args(char *stack, extended_cif *ecif) -{ - register unsigned int i; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - - argp = stack; - - if ( ecif->cif->flags == FFI_TYPE_STRUCT ) { - *(void **) argp = ecif->rvalue; - argp += 4; - } - - p_argv = ecif->avalue; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - (i != 0); - i--, p_arg++) - { - size_t z; - size_t alignment; - - /* Align if necessary */ - alignment = (*p_arg)->alignment; -#ifdef __CSKYABIV1__ - /* - * Adapt ABIV1 bug. - * If struct's size is larger than 8 bytes, then it always alignment as 4 bytes. - */ - if (((*p_arg)->type == FFI_TYPE_STRUCT) && ((*p_arg)->size > 8) && (alignment == 8)) { - alignment = 4; - } -#endif - - if ((alignment - 1) & (unsigned) argp) { - argp = (char *) FFI_ALIGN(argp, alignment); - } - - if ((*p_arg)->type == FFI_TYPE_STRUCT) - argp = (char *) FFI_ALIGN(argp, 4); - - z = (*p_arg)->size; - if (z < sizeof(int)) - { - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - break; - - case FFI_TYPE_STRUCT: -#ifdef __CSKYBE__ - memcpy((argp + 4 - (*p_arg)->size), *p_argv, (*p_arg)->size); -#else - memcpy(argp, *p_argv, (*p_arg)->size); -#endif - break; - - default: - FFI_ASSERT(0); - } - } - else if (z == sizeof(int)) - { - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - } - else - { - memcpy(argp, *p_argv, z); - } - p_argv++; - argp += z; - } - - return; -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* Round the stack up to a multiple of 8 bytes. This isn't needed - everywhere, but it is on some platforms, and it doesn't hcsky anything - when it isn't needed. */ - cif->bytes = (cif->bytes + 7) & ~7; - - /* Set the return type flag */ - switch (cif->rtype->type) - { - - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = (unsigned) FFI_TYPE_SINT64; - break; - - case FFI_TYPE_STRUCT: - if (cif->rtype->size <= 4) - /* A Composite Type not larger than 4 bytes is returned in r0. */ - cif->flags = (unsigned)FFI_TYPE_INT; - else if (cif->rtype->size <= 8) - /* A Composite Type not larger than 8 bytes is returned in r0, r1. */ - cif->flags = (unsigned)FFI_TYPE_SINT64; - else - /* A Composite Type larger than 8 bytes, or whose size cannot - be determined statically ... is stored in memory at an - address passed [in r0]. */ - cif->flags = (unsigned)FFI_TYPE_STRUCT; - break; - - default: - cif->flags = FFI_TYPE_INT; - break; - } - - return FFI_OK; -} - -/* Perform machine dependent cif processing for variadic calls */ -ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, - unsigned int nfixedargs, - unsigned int ntotalargs) -{ - return ffi_prep_cif_machdep(cif); -} - -/* Prototypes for assembly functions, in sysv.S */ -extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *); - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - - int small_struct = (cif->flags == FFI_TYPE_INT - && cif->rtype->type == FFI_TYPE_STRUCT); - - ecif.cif = cif; - ecif.avalue = avalue; - - unsigned int temp; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - - if ((rvalue == NULL) && - (cif->flags == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca(cif->rtype->size); - } - else if (small_struct) - ecif.rvalue = &temp; - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue); - break; - - default: - FFI_ASSERT(0); - break; - } - if (small_struct) -#ifdef __CSKYBE__ - memcpy (rvalue, ((unsigned char *)&temp + (4 - cif->rtype->size)), cif->rtype->size); -#else - memcpy (rvalue, &temp, cif->rtype->size); -#endif -} - -/** private members **/ - -static void ffi_prep_incoming_args_SYSV (char *stack, void **ret, - void** args, ffi_cif* cif); - -void ffi_closure_SYSV (ffi_closure *); - -/* This function is jumped to by the trampoline */ - -unsigned int -ffi_closure_SYSV_inner (closure, respp, args) - ffi_closure *closure; - void **respp; - void *args; -{ - // our various things... - ffi_cif *cif; - void **arg_area; - - cif = closure->cif; - arg_area = (void**) alloca (cif->nargs * sizeof (void*)); - - /* this call will initialize ARG_AREA, such that each - * element in that array points to the corresponding - * value on the stack; and if the function returns - * a structure, it will re-set RESP to point to the - * structure return address. */ - - ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif); - - (closure->fun) (cif, *respp, arg_area, closure->user_data); - -#ifdef __CSKYBE__ - if (cif->flags == FFI_TYPE_INT && cif->rtype->type == FFI_TYPE_STRUCT) { - unsigned int tmp = 0; - tmp = *(unsigned int *)(*respp); - *(unsigned int *)(*respp) = (tmp >> ((4 - cif->rtype->size) * 8)); - } -#endif - - return cif->flags; -} - - -static void -ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, - void **avalue, ffi_cif *cif) -{ - register unsigned int i; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - - argp = stack; - - if ( cif->flags == FFI_TYPE_STRUCT ) { - *rvalue = *(void **) argp; - argp += 4; - } - - p_argv = avalue; - - for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++) - { - size_t z; - size_t alignment; - - alignment = (*p_arg)->alignment; - if (alignment < 4) - alignment = 4; - -#ifdef __CSKYABIV1__ - /* - * Adapt ABIV1 bug. - * If struct's size is larger than 8 bytes, then it always alignment as 4 bytes. - */ - if (((*p_arg)->type == FFI_TYPE_STRUCT) && ((*p_arg)->size > 8) && (alignment == 8)) { - alignment = 4; - } -#endif - - /* Align if necessary */ - if ((alignment - 1) & (unsigned) argp) { - argp = (char *) FFI_ALIGN(argp, alignment); - } - - z = (*p_arg)->size; - -#ifdef __CSKYBE__ - unsigned int tmp = 0; - if ((*p_arg)->size < 4) { - tmp = *(unsigned int *)argp; - memcpy(argp, ((unsigned char *)&tmp + (4 - (*p_arg)->size)), (*p_arg)->size); - } -#else - /* because we're little endian, this is what it turns into. */ -#endif - *p_argv = (void*) argp; - - p_argv++; - argp += z; - } - - return; -} - -/* How to make a trampoline. */ - -extern unsigned char ffi_csky_trampoline[TRAMPOLINE_SIZE]; - -/* - * Since there is no __clear_cache in libgcc in csky toolchain. - * define ffi_csky_cacheflush in sysv.S. - * void ffi_csky_cacheflush(uint32 start_addr, uint32 size, int cache) - */ -#define CACHEFLUSH_IN_FFI 1 -#if CACHEFLUSH_IN_FFI -extern void ffi_csky_cacheflush(unsigned char *__tramp, unsigned int k, - int i); -#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \ -({ unsigned char *__tramp = (unsigned char*)(TRAMP); \ - unsigned int __fun = (unsigned int)(FUN); \ - unsigned int __ctx = (unsigned int)(CTX); \ - unsigned char *insns = (unsigned char *)(CTX); \ - memcpy (__tramp, ffi_csky_trampoline, TRAMPOLINE_SIZE); \ - *(unsigned int*) &__tramp[TRAMPOLINE_SIZE] = __ctx; \ - *(unsigned int*) &__tramp[TRAMPOLINE_SIZE + 4] = __fun; \ - ffi_csky_cacheflush(&__tramp[0], TRAMPOLINE_SIZE, 3); /* Clear data mapping. */ \ - ffi_csky_cacheflush(insns, TRAMPOLINE_SIZE, 3); \ - /* Clear instruction \ - mapping. */ \ - }) -#else -#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \ -({ unsigned char *__tramp = (unsigned char*)(TRAMP); \ - unsigned int __fun = (unsigned int)(FUN); \ - unsigned int __ctx = (unsigned int)(CTX); \ - unsigned char *insns = (unsigned char *)(CTX); \ - memcpy (__tramp, ffi_csky_trampoline, TRAMPOLINE_SIZE); \ - *(unsigned int*) &__tramp[TRAMPOLINE_SIZE] = __ctx; \ - *(unsigned int*) &__tramp[TRAMPOLINE_SIZE + 4] = __fun; \ - __clear_cache((&__tramp[0]), (&__tramp[TRAMPOLINE_SIZE-1])); /* Clear data mapping. */ \ - __clear_cache(insns, insns + TRAMPOLINE_SIZE); \ - /* Clear instruction \ - mapping. */ \ - }) -#endif - -/* the cif must already be prep'ed */ - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - void (*closure_func)(ffi_closure*) = NULL; - - if (cif->abi == FFI_SYSV) - closure_func = &ffi_closure_SYSV; - else - return FFI_BAD_ABI; - - FFI_INIT_TRAMPOLINE (&closure->tramp[0], \ - closure_func, \ - codeloc); - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffitarget.h deleted file mode 100644 index f770aac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffitarget.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 2010 CodeSourcery - Copyright (c) 1996-2003 Red Hat, Inc. - - Target configuration macros for CSKY. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV, -} ffi_abi; -#endif - -#ifdef __CSKYABIV2__ -#define FFI_ASM_ARGREG_SIZE 16 -#define TRAMPOLINE_SIZE 16 -#define FFI_TRAMPOLINE_SIZE 24 -#else -#define FFI_ASM_ARGREG_SIZE 24 -#define TRAMPOLINE_SIZE 20 -#define FFI_TRAMPOLINE_SIZE 28 -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/sysv.S deleted file mode 100644 index 21670bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/sysv.S +++ /dev/null @@ -1,371 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - - CSKY Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -.macro CSKY_FUNC_START name - .text - .align 2 - .globl \name - .type \name, @function - \name: -.endm - -#ifdef __CSKYABIV2__ - - /* - * a0: fn - * a1: &ecif - * a2: cif->bytes - * a3: fig->flags - * sp+0: ecif.rvalue - */ -CSKY_FUNC_START ffi_call_SYSV - /* Save registers */ - .cfi_startproc - subi sp, 28 - .cfi_def_cfa_offset 28 - stw a0, (sp, 0x0) - .cfi_offset 0, -28 - stw a1, (sp, 0x4) - .cfi_offset 1, -24 - stw a2, (sp, 0x8) - .cfi_offset 2, -20 - stw a3, (sp, 0xC) - .cfi_offset 3, -16 - stw l0, (sp, 0x10) - .cfi_offset 4, -12 - stw l1, (sp, 0x14) - .cfi_offset 5, -8 - stw lr, (sp, 0x18) - .cfi_offset 15, -4 - - mov l0, sp - .cfi_def_cfa_register 4 - - /* Make room for all of the new args. */ - subu sp, sp, a2 - - /* Place all of the ffi_prep_args in position */ - mov a0, sp - /* a1 already set */ - - /* Call ffi_prep_args(stack, &ecif) */ - jsri ffi_prep_args - - /* move first 4 parameters in registers */ - ldw a0, (sp, 0x0) - ldw a1, (sp, 0x4) - ldw a2, (sp, 0x8) - ldw a3, (sp, 0xC) - - /* and adjust stack */ - subu lr, l0, sp /* cif->bytes == l0 - sp */ - cmphsi lr, 16 - movi l1, 16 - movt lr, l1 - addu sp, sp, lr - - ldw l1, (l0, 0) /* load fn() in advance */ - - /* call (fn) (...) */ - jsr l1 - - /* Remove the space we pushed for the args */ - mov sp, l0 - - /* Load r2 with the pointer to storage for the return value */ - ldw a2, (sp, 0x1C) - - /* Load r3 with the return type code */ - ldw a3, (sp, 0xC) - - /* If the return value pointer is NULL, assume no return value. */ - cmpnei a2, 0 - bf .Lepilogue - - cmpnei a3, FFI_TYPE_STRUCT - bf .Lepilogue - - /* return INT64 */ - cmpnei a3, FFI_TYPE_SINT64 - bt .Lretint - /* stw a0, (a2, 0x0) at .Lretint */ - stw a1, (a2, 0x4) - -.Lretint: - /* return INT */ - stw a0, (a2, 0x0) - -.Lepilogue: - ldw a0, (sp, 0x0) - ldw a1, (sp, 0x4) - ldw a2, (sp, 0x8) - ldw a3, (sp, 0xC) - ldw l0, (sp, 0x10) - ldw l1, (sp, 0x14) - ldw lr, (sp, 0x18) - addi sp, sp, 28 - rts - .cfi_endproc - .size ffi_call_SYSV, .-ffi_call_SYSV - - - /* - * unsigned int FFI_HIDDEN - * ffi_closure_SYSV_inner (closure, respp, args) - * ffi_closure *closure; - * void **respp; - * void *args; - */ -CSKY_FUNC_START ffi_closure_SYSV - .cfi_startproc - mov a2, sp - addi a1, sp, 16 - subi sp, sp, 24 - .cfi_def_cfa_offset 40 - stw a1, (sp, 0x10) - .cfi_offset 1, -24 - stw lr, (sp, 0x14) - .cfi_offset 15, -20 - stw sp, (sp, 0x8) - addi a1, sp, 8 - jsri ffi_closure_SYSV_inner - ldw a0, (sp, 0x0) - /* - * if FFI_TYPE_SINT64, need a1. - * if FFI_TYPE_INT, ignore a1. - */ - ldw a1, (sp, 0x4) - - ldw lr, (sp, 0x14) - addi sp, sp, 40 - rts - .cfi_endproc - .size ffi_closure_SYSV, .-ffi_closure_SYSV - -CSKY_FUNC_START ffi_csky_trampoline - subi sp, sp, 16 - stw a0, (sp, 0x0) - stw a1, (sp, 0x4) - stw a2, (sp, 0x8) - stw a3, (sp, 0xC) - lrw a0, [.Lctx] - lrw a1, [.Lfun] - jmp a1 -.Lctx: - mov a0, a0 - mov a0, a0 -.Lfun: - - .size ffi_csky_trampoline, .-ffi_csky_trampoline - -CSKY_FUNC_START ffi_csky_cacheflush - mov t0, r7 - movi r7, 123 - trap 0 - mov r7, t0 - rts - - .size ffi_csky_cacheflush, .-ffi_csky_cacheflush - -#else /* !__CSKYABIV2__ */ - - /* - * a0: fn - * a1: &ecif - * a2: cif->bytes - * a3: fig->flags - * a4: ecif.rvalue - */ -CSKY_FUNC_START ffi_call_SYSV - /* Save registers */ - .cfi_startproc - subi sp, 32 - subi sp, 8 - .cfi_def_cfa_offset 40 - stw a0, (sp, 0x0) - .cfi_offset 2, -40 - stw a1, (sp, 0x4) - .cfi_offset 3, -36 - stw a2, (sp, 0x8) - .cfi_offset 4, -32 - stw a3, (sp, 0xC) - .cfi_offset 5, -28 - stw a4, (sp, 0x10) - .cfi_offset 6, -24 - stw a5, (sp, 0x14) - .cfi_offset 7, -20 - stw l0, (sp, 0x18) - .cfi_offset 8, -16 - stw l1, (sp, 0x1C) - .cfi_offset 9, -12 - stw lr, (sp, 0x20) - .cfi_offset 15, -8 - - mov l0, sp - .cfi_def_cfa_register 8 - - /* Make room for all of the new args. */ - subu sp, sp, a2 - - /* Place all of the ffi_prep_args in position */ - mov a0, sp - /* a1 already set */ - - /* Call ffi_prep_args(stack, &ecif) */ - jsri ffi_prep_args - - /* move first 4 parameters in registers */ - ldw a0, (sp, 0x0) - ldw a1, (sp, 0x4) - ldw a2, (sp, 0x8) - ldw a3, (sp, 0xC) - ldw a4, (sp, 0x10) - ldw a5, (sp, 0x14) - - /* and adjust stack */ - mov lr, l0 - subu lr, sp /* cif->bytes == l0 - sp */ - movi l1, 24 - cmphs lr, l1 - movt lr, l1 - addu sp, sp, lr - - ldw l1, (l0, 0) /* load fn() in advance */ - - /* call (fn) (...) */ - jsr l1 - - /* Remove the space we pushed for the args */ - mov sp, l0 - - /* Load r2 with the pointer to storage for the return value */ - ldw a2, (sp, 0x10) - - /* Load r3 with the return type code */ - ldw a3, (sp, 0xC) - - /* If the return value pointer is NULL, assume no return value. */ - cmpnei a2, 0 - bf .Lepilogue - - cmpnei a3, FFI_TYPE_STRUCT - bf .Lepilogue - - /* return INT64 */ - cmpnei a3, FFI_TYPE_SINT64 - bt .Lretint - /* stw a0, (a2, 0x0) at .Lretint */ - stw a1, (a2, 0x4) - -.Lretint: - /* return INT */ - stw a0, (a2, 0x0) - -.Lepilogue: - ldw a0, (sp, 0x0) - ldw a1, (sp, 0x4) - ldw a2, (sp, 0x8) - ldw a3, (sp, 0xC) - ldw a4, (sp, 0x10) - ldw a5, (sp, 0x14) - ldw l0, (sp, 0x18) - ldw l1, (sp, 0x1C) - ldw lr, (sp, 0x20) - addi sp, sp, 32 - addi sp, sp, 8 - rts - .cfi_endproc - - .size ffi_call_SYSV, .-ffi_call_SYSV - - - /* - * unsigned int FFI_HIDDEN - * ffi_closure_SYSV_inner (closure, respp, args) - * ffi_closure *closure; - * void **respp; - * void *args; - */ -CSKY_FUNC_START ffi_closure_SYSV - .cfi_startproc - mov a2, sp - mov a1, sp - addi a1, 24 - subi sp, sp, 24 - .cfi_def_cfa_offset 48 - stw a1, (sp, 0x10) - .cfi_offset 3, -32 - stw lr, (sp, 0x14) - .cfi_offset 15, -28 - stw sp, (sp, 0x8) - mov a1, sp - addi a1, 8 - jsri ffi_closure_SYSV_inner - ldw a0, (sp, 0x0) - /* - * if FFI_TYPE_SINT64, need a1. - * if FFI_TYPE_INT, ignore a1. - */ - ldw a1, (sp, 0x4) - - ldw lr, (sp, 0x14) - addi sp, sp, 24 - addi sp, sp, 24 - rts - .cfi_endproc - - .size ffi_closure_SYSV, .-ffi_closure_SYSV - -CSKY_FUNC_START ffi_csky_trampoline - subi sp, 24 - stw a0, (sp, 0x0) - stw a1, (sp, 0x4) - stw a2, (sp, 0x8) - stw a3, (sp, 0xC) - stw a4, (sp, 0x10) - stw a5, (sp, 0x14) - lrw a0, [.Lctx] - lrw a1, [.Lfun] - jmp a1 -.Lctx: - mov a0, a0 - mov a0, a0 -.Lfun: - - .size ffi_csky_trampoline, .-ffi_csky_trampoline - -CSKY_FUNC_START ffi_csky_cacheflush - lrw r1, 123 - trap 0 - rts - - .size ffi_csky_cacheflush, .-ffi_csky_cacheflush - -#endif /* __CSKYABIV2__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/debug.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/debug.c deleted file mode 100644 index f3172b1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/debug.c +++ /dev/null @@ -1,64 +0,0 @@ -/* ----------------------------------------------------------------------- - debug.c - Copyright (c) 1996 Red Hat, Inc. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include -#include -#include - -/* General debugging routines */ - -void ffi_stop_here(void) -{ - /* This function is only useful for debugging purposes. - Place a breakpoint on ffi_stop_here to be notified of - significant events. */ -} - -/* This function should only be called via the FFI_ASSERT() macro */ - -void ffi_assert(char *expr, char *file, int line) -{ - fprintf(stderr, "ASSERTION FAILURE: %s at %s:%d\n", expr, file, line); - ffi_stop_here(); - abort(); -} - -/* Perform a sanity check on an ffi_type structure */ - -void ffi_type_test(ffi_type *a, char *file, int line) -{ - FFI_ASSERT_AT(a != NULL, file, line); - - FFI_ASSERT_AT(a->type <= FFI_TYPE_LAST, file, line); - FFI_ASSERT_AT(a->type == FFI_TYPE_VOID || a->size > 0, file, line); - FFI_ASSERT_AT(a->type == FFI_TYPE_VOID || a->alignment > 0, file, line); - FFI_ASSERT_AT((a->type != FFI_TYPE_STRUCT && a->type != FFI_TYPE_COMPLEX) - || a->elements != NULL, file, line); - FFI_ASSERT_AT(a->type != FFI_TYPE_COMPLEX - || (a->elements != NULL - && a->elements[0] != NULL && a->elements[1] == NULL), - file, line); - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/dlmalloc.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/dlmalloc.c deleted file mode 100644 index 6f4a5f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/dlmalloc.c +++ /dev/null @@ -1,5171 +0,0 @@ -/* - This is a version (aka dlmalloc) of malloc/free/realloc written by - Doug Lea and released to the public domain, as explained at - http://creativecommons.org/licenses/publicdomain. Send questions, - comments, complaints, performance data, etc to dl@cs.oswego.edu - -* Version 2.8.3 Thu Sep 22 11:16:15 2005 Doug Lea (dl at gee) - - Note: There may be an updated version of this malloc obtainable at - ftp://gee.cs.oswego.edu/pub/misc/malloc.c - Check before installing! - -* Quickstart - - This library is all in one file to simplify the most common usage: - ftp it, compile it (-O3), and link it into another program. All of - the compile-time options default to reasonable values for use on - most platforms. You might later want to step through various - compile-time and dynamic tuning options. - - For convenience, an include file for code using this malloc is at: - ftp://gee.cs.oswego.edu/pub/misc/malloc-2.8.3.h - You don't really need this .h file unless you call functions not - defined in your system include files. The .h file contains only the - excerpts from this file needed for using this malloc on ANSI C/C++ - systems, so long as you haven't changed compile-time options about - naming and tuning parameters. If you do, then you can create your - own malloc.h that does include all settings by cutting at the point - indicated below. Note that you may already by default be using a C - library containing a malloc that is based on some version of this - malloc (for example in linux). You might still want to use the one - in this file to customize settings or to avoid overheads associated - with library versions. - -* Vital statistics: - - Supported pointer/size_t representation: 4 or 8 bytes - size_t MUST be an unsigned type of the same width as - pointers. (If you are using an ancient system that declares - size_t as a signed type, or need it to be a different width - than pointers, you can use a previous release of this malloc - (e.g. 2.7.2) supporting these.) - - Alignment: 8 bytes (default) - This suffices for nearly all current machines and C compilers. - However, you can define MALLOC_ALIGNMENT to be wider than this - if necessary (up to 128bytes), at the expense of using more space. - - Minimum overhead per allocated chunk: 4 or 8 bytes (if 4byte sizes) - 8 or 16 bytes (if 8byte sizes) - Each malloced chunk has a hidden word of overhead holding size - and status information, and additional cross-check word - if FOOTERS is defined. - - Minimum allocated size: 4-byte ptrs: 16 bytes (including overhead) - 8-byte ptrs: 32 bytes (including overhead) - - Even a request for zero bytes (i.e., malloc(0)) returns a - pointer to something of the minimum allocatable size. - The maximum overhead wastage (i.e., number of extra bytes - allocated than were requested in malloc) is less than or equal - to the minimum size, except for requests >= mmap_threshold that - are serviced via mmap(), where the worst case wastage is about - 32 bytes plus the remainder from a system page (the minimal - mmap unit); typically 4096 or 8192 bytes. - - Security: static-safe; optionally more or less - The "security" of malloc refers to the ability of malicious - code to accentuate the effects of errors (for example, freeing - space that is not currently malloc'ed or overwriting past the - ends of chunks) in code that calls malloc. This malloc - guarantees not to modify any memory locations below the base of - heap, i.e., static variables, even in the presence of usage - errors. The routines additionally detect most improper frees - and reallocs. All this holds as long as the static bookkeeping - for malloc itself is not corrupted by some other means. This - is only one aspect of security -- these checks do not, and - cannot, detect all possible programming errors. - - If FOOTERS is defined nonzero, then each allocated chunk - carries an additional check word to verify that it was malloced - from its space. These check words are the same within each - execution of a program using malloc, but differ across - executions, so externally crafted fake chunks cannot be - freed. This improves security by rejecting frees/reallocs that - could corrupt heap memory, in addition to the checks preventing - writes to statics that are always on. This may further improve - security at the expense of time and space overhead. (Note that - FOOTERS may also be worth using with MSPACES.) - - By default detected errors cause the program to abort (calling - "abort()"). You can override this to instead proceed past - errors by defining PROCEED_ON_ERROR. In this case, a bad free - has no effect, and a malloc that encounters a bad address - caused by user overwrites will ignore the bad address by - dropping pointers and indices to all known memory. This may - be appropriate for programs that should continue if at all - possible in the face of programming errors, although they may - run out of memory because dropped memory is never reclaimed. - - If you don't like either of these options, you can define - CORRUPTION_ERROR_ACTION and USAGE_ERROR_ACTION to do anything - else. And if if you are sure that your program using malloc has - no errors or vulnerabilities, you can define INSECURE to 1, - which might (or might not) provide a small performance improvement. - - Thread-safety: NOT thread-safe unless USE_LOCKS defined - When USE_LOCKS is defined, each public call to malloc, free, - etc is surrounded with either a pthread mutex or a win32 - spinlock (depending on WIN32). This is not especially fast, and - can be a major bottleneck. It is designed only to provide - minimal protection in concurrent environments, and to provide a - basis for extensions. If you are using malloc in a concurrent - program, consider instead using ptmalloc, which is derived from - a version of this malloc. (See http://www.malloc.de). - - System requirements: Any combination of MORECORE and/or MMAP/MUNMAP - This malloc can use unix sbrk or any emulation (invoked using - the CALL_MORECORE macro) and/or mmap/munmap or any emulation - (invoked using CALL_MMAP/CALL_MUNMAP) to get and release system - memory. On most unix systems, it tends to work best if both - MORECORE and MMAP are enabled. On Win32, it uses emulations - based on VirtualAlloc. It also uses common C library functions - like memset. - - Compliance: I believe it is compliant with the Single Unix Specification - (See http://www.unix.org). Also SVID/XPG, ANSI C, and probably - others as well. - -* Overview of algorithms - - This is not the fastest, most space-conserving, most portable, or - most tunable malloc ever written. However it is among the fastest - while also being among the most space-conserving, portable and - tunable. Consistent balance across these factors results in a good - general-purpose allocator for malloc-intensive programs. - - In most ways, this malloc is a best-fit allocator. Generally, it - chooses the best-fitting existing chunk for a request, with ties - broken in approximately least-recently-used order. (This strategy - normally maintains low fragmentation.) However, for requests less - than 256bytes, it deviates from best-fit when there is not an - exactly fitting available chunk by preferring to use space adjacent - to that used for the previous small request, as well as by breaking - ties in approximately most-recently-used order. (These enhance - locality of series of small allocations.) And for very large requests - (>= 256Kb by default), it relies on system memory mapping - facilities, if supported. (This helps avoid carrying around and - possibly fragmenting memory used only for large chunks.) - - All operations (except malloc_stats and mallinfo) have execution - times that are bounded by a constant factor of the number of bits in - a size_t, not counting any clearing in calloc or copying in realloc, - or actions surrounding MORECORE and MMAP that have times - proportional to the number of non-contiguous regions returned by - system allocation routines, which is often just 1. - - The implementation is not very modular and seriously overuses - macros. Perhaps someday all C compilers will do as good a job - inlining modular code as can now be done by brute-force expansion, - but now, enough of them seem not to. - - Some compilers issue a lot of warnings about code that is - dead/unreachable only on some platforms, and also about intentional - uses of negation on unsigned types. All known cases of each can be - ignored. - - For a longer but out of date high-level description, see - http://gee.cs.oswego.edu/dl/html/malloc.html - -* MSPACES - If MSPACES is defined, then in addition to malloc, free, etc., - this file also defines mspace_malloc, mspace_free, etc. These - are versions of malloc routines that take an "mspace" argument - obtained using create_mspace, to control all internal bookkeeping. - If ONLY_MSPACES is defined, only these versions are compiled. - So if you would like to use this allocator for only some allocations, - and your system malloc for others, you can compile with - ONLY_MSPACES and then do something like... - static mspace mymspace = create_mspace(0,0); // for example - #define mymalloc(bytes) mspace_malloc(mymspace, bytes) - - (Note: If you only need one instance of an mspace, you can instead - use "USE_DL_PREFIX" to relabel the global malloc.) - - You can similarly create thread-local allocators by storing - mspaces as thread-locals. For example: - static __thread mspace tlms = 0; - void* tlmalloc(size_t bytes) { - if (tlms == 0) tlms = create_mspace(0, 0); - return mspace_malloc(tlms, bytes); - } - void tlfree(void* mem) { mspace_free(tlms, mem); } - - Unless FOOTERS is defined, each mspace is completely independent. - You cannot allocate from one and free to another (although - conformance is only weakly checked, so usage errors are not always - caught). If FOOTERS is defined, then each chunk carries around a tag - indicating its originating mspace, and frees are directed to their - originating spaces. - - ------------------------- Compile-time options --------------------------- - -Be careful in setting #define values for numerical constants of type -size_t. On some systems, literal values are not automatically extended -to size_t precision unless they are explicitly casted. - -WIN32 default: defined if _WIN32 defined - Defining WIN32 sets up defaults for MS environment and compilers. - Otherwise defaults are for unix. - -MALLOC_ALIGNMENT default: (size_t)8 - Controls the minimum alignment for malloc'ed chunks. It must be a - power of two and at least 8, even on machines for which smaller - alignments would suffice. It may be defined as larger than this - though. Note however that code and data structures are optimized for - the case of 8-byte alignment. - -MSPACES default: 0 (false) - If true, compile in support for independent allocation spaces. - This is only supported if HAVE_MMAP is true. - -ONLY_MSPACES default: 0 (false) - If true, only compile in mspace versions, not regular versions. - -USE_LOCKS default: 0 (false) - Causes each call to each public routine to be surrounded with - pthread or WIN32 mutex lock/unlock. (If set true, this can be - overridden on a per-mspace basis for mspace versions.) - -FOOTERS default: 0 - If true, provide extra checking and dispatching by placing - information in the footers of allocated chunks. This adds - space and time overhead. - -INSECURE default: 0 - If true, omit checks for usage errors and heap space overwrites. - -USE_DL_PREFIX default: NOT defined - Causes compiler to prefix all public routines with the string 'dl'. - This can be useful when you only want to use this malloc in one part - of a program, using your regular system malloc elsewhere. - -ABORT default: defined as abort() - Defines how to abort on failed checks. On most systems, a failed - check cannot die with an "assert" or even print an informative - message, because the underlying print routines in turn call malloc, - which will fail again. Generally, the best policy is to simply call - abort(). It's not very useful to do more than this because many - errors due to overwriting will show up as address faults (null, odd - addresses etc) rather than malloc-triggered checks, so will also - abort. Also, most compilers know that abort() does not return, so - can better optimize code conditionally calling it. - -PROCEED_ON_ERROR default: defined as 0 (false) - Controls whether detected bad addresses cause them to bypassed - rather than aborting. If set, detected bad arguments to free and - realloc are ignored. And all bookkeeping information is zeroed out - upon a detected overwrite of freed heap space, thus losing the - ability to ever return it from malloc again, but enabling the - application to proceed. If PROCEED_ON_ERROR is defined, the - static variable malloc_corruption_error_count is compiled in - and can be examined to see if errors have occurred. This option - generates slower code than the default abort policy. - -DEBUG default: NOT defined - The DEBUG setting is mainly intended for people trying to modify - this code or diagnose problems when porting to new platforms. - However, it may also be able to better isolate user errors than just - using runtime checks. The assertions in the check routines spell - out in more detail the assumptions and invariants underlying the - algorithms. The checking is fairly extensive, and will slow down - execution noticeably. Calling malloc_stats or mallinfo with DEBUG - set will attempt to check every non-mmapped allocated and free chunk - in the course of computing the summaries. - -ABORT_ON_ASSERT_FAILURE default: defined as 1 (true) - Debugging assertion failures can be nearly impossible if your - version of the assert macro causes malloc to be called, which will - lead to a cascade of further failures, blowing the runtime stack. - ABORT_ON_ASSERT_FAILURE cause assertions failures to call abort(), - which will usually make debugging easier. - -MALLOC_FAILURE_ACTION default: sets errno to ENOMEM, or no-op on win32 - The action to take before "return 0" when malloc fails to be able to - return memory because there is none available. - -HAVE_MORECORE default: 1 (true) unless win32 or ONLY_MSPACES - True if this system supports sbrk or an emulation of it. - -MORECORE default: sbrk - The name of the sbrk-style system routine to call to obtain more - memory. See below for guidance on writing custom MORECORE - functions. The type of the argument to sbrk/MORECORE varies across - systems. It cannot be size_t, because it supports negative - arguments, so it is normally the signed type of the same width as - size_t (sometimes declared as "intptr_t"). It doesn't much matter - though. Internally, we only call it with arguments less than half - the max value of a size_t, which should work across all reasonable - possibilities, although sometimes generating compiler warnings. See - near the end of this file for guidelines for creating a custom - version of MORECORE. - -MORECORE_CONTIGUOUS default: 1 (true) - If true, take advantage of fact that consecutive calls to MORECORE - with positive arguments always return contiguous increasing - addresses. This is true of unix sbrk. It does not hurt too much to - set it true anyway, since malloc copes with non-contiguities. - Setting it false when definitely non-contiguous saves time - and possibly wasted space it would take to discover this though. - -MORECORE_CANNOT_TRIM default: NOT defined - True if MORECORE cannot release space back to the system when given - negative arguments. This is generally necessary only if you are - using a hand-crafted MORECORE function that cannot handle negative - arguments. - -HAVE_MMAP default: 1 (true) - True if this system supports mmap or an emulation of it. If so, and - HAVE_MORECORE is not true, MMAP is used for all system - allocation. If set and HAVE_MORECORE is true as well, MMAP is - primarily used to directly allocate very large blocks. It is also - used as a backup strategy in cases where MORECORE fails to provide - space from system. Note: A single call to MUNMAP is assumed to be - able to unmap memory that may have be allocated using multiple calls - to MMAP, so long as they are adjacent. - -HAVE_MREMAP default: 1 on linux, else 0 - If true realloc() uses mremap() to re-allocate large blocks and - extend or shrink allocation spaces. - -MMAP_CLEARS default: 1 on unix - True if mmap clears memory so calloc doesn't need to. This is true - for standard unix mmap using /dev/zero. - -USE_BUILTIN_FFS default: 0 (i.e., not used) - Causes malloc to use the builtin ffs() function to compute indices. - Some compilers may recognize and intrinsify ffs to be faster than the - supplied C version. Also, the case of x86 using gcc is special-cased - to an asm instruction, so is already as fast as it can be, and so - this setting has no effect. (On most x86s, the asm version is only - slightly faster than the C version.) - -malloc_getpagesize default: derive from system includes, or 4096. - The system page size. To the extent possible, this malloc manages - memory from the system in page-size units. This may be (and - usually is) a function rather than a constant. This is ignored - if WIN32, where page size is determined using getSystemInfo during - initialization. - -USE_DEV_RANDOM default: 0 (i.e., not used) - Causes malloc to use /dev/random to initialize secure magic seed for - stamping footers. Otherwise, the current time is used. - -NO_MALLINFO default: 0 - If defined, don't compile "mallinfo". This can be a simple way - of dealing with mismatches between system declarations and - those in this file. - -MALLINFO_FIELD_TYPE default: size_t - The type of the fields in the mallinfo struct. This was originally - defined as "int" in SVID etc, but is more usefully defined as - size_t. The value is used only if HAVE_USR_INCLUDE_MALLOC_H is not set - -REALLOC_ZERO_BYTES_FREES default: not defined - This should be set if a call to realloc with zero bytes should - be the same as a call to free. Some people think it should. Otherwise, - since this malloc returns a unique pointer for malloc(0), so does - realloc(p, 0). - -LACKS_UNISTD_H, LACKS_FCNTL_H, LACKS_SYS_PARAM_H, LACKS_SYS_MMAN_H -LACKS_STRINGS_H, LACKS_STRING_H, LACKS_SYS_TYPES_H, LACKS_ERRNO_H -LACKS_STDLIB_H default: NOT defined unless on WIN32 - Define these if your system does not have these header files. - You might need to manually insert some of the declarations they provide. - -DEFAULT_GRANULARITY default: page size if MORECORE_CONTIGUOUS, - system_info.dwAllocationGranularity in WIN32, - otherwise 64K. - Also settable using mallopt(M_GRANULARITY, x) - The unit for allocating and deallocating memory from the system. On - most systems with contiguous MORECORE, there is no reason to - make this more than a page. However, systems with MMAP tend to - either require or encourage larger granularities. You can increase - this value to prevent system allocation functions to be called so - often, especially if they are slow. The value must be at least one - page and must be a power of two. Setting to 0 causes initialization - to either page size or win32 region size. (Note: In previous - versions of malloc, the equivalent of this option was called - "TOP_PAD") - -DEFAULT_TRIM_THRESHOLD default: 2MB - Also settable using mallopt(M_TRIM_THRESHOLD, x) - The maximum amount of unused top-most memory to keep before - releasing via malloc_trim in free(). Automatic trimming is mainly - useful in long-lived programs using contiguous MORECORE. Because - trimming via sbrk can be slow on some systems, and can sometimes be - wasteful (in cases where programs immediately afterward allocate - more large chunks) the value should be high enough so that your - overall system performance would improve by releasing this much - memory. As a rough guide, you might set to a value close to the - average size of a process (program) running on your system. - Releasing this much memory would allow such a process to run in - memory. Generally, it is worth tuning trim thresholds when a - program undergoes phases where several large chunks are allocated - and released in ways that can reuse each other's storage, perhaps - mixed with phases where there are no such chunks at all. The trim - value must be greater than page size to have any useful effect. To - disable trimming completely, you can set to MAX_SIZE_T. Note that the trick - some people use of mallocing a huge space and then freeing it at - program startup, in an attempt to reserve system memory, doesn't - have the intended effect under automatic trimming, since that memory - will immediately be returned to the system. - -DEFAULT_MMAP_THRESHOLD default: 256K - Also settable using mallopt(M_MMAP_THRESHOLD, x) - The request size threshold for using MMAP to directly service a - request. Requests of at least this size that cannot be allocated - using already-existing space will be serviced via mmap. (If enough - normal freed space already exists it is used instead.) Using mmap - segregates relatively large chunks of memory so that they can be - individually obtained and released from the host system. A request - serviced through mmap is never reused by any other request (at least - not directly; the system may just so happen to remap successive - requests to the same locations). Segregating space in this way has - the benefits that: Mmapped space can always be individually released - back to the system, which helps keep the system level memory demands - of a long-lived program low. Also, mapped memory doesn't become - `locked' between other chunks, as can happen with normally allocated - chunks, which means that even trimming via malloc_trim would not - release them. However, it has the disadvantage that the space - cannot be reclaimed, consolidated, and then used to service later - requests, as happens with normal chunks. The advantages of mmap - nearly always outweigh disadvantages for "large" chunks, but the - value of "large" may vary across systems. The default is an - empirically derived value that works well in most systems. You can - disable mmap by setting to MAX_SIZE_T. - -*/ - -#if defined __linux__ && !defined _GNU_SOURCE -/* mremap() on Linux requires this via sys/mman.h */ -#define _GNU_SOURCE 1 -#endif - -#ifndef WIN32 -#ifdef _WIN32 -#define WIN32 1 -#endif /* _WIN32 */ -#endif /* WIN32 */ -#ifdef WIN32 -#define WIN32_LEAN_AND_MEAN -#include -#define HAVE_MMAP 1 -#define HAVE_MORECORE 0 -#define LACKS_UNISTD_H -#define LACKS_SYS_PARAM_H -#define LACKS_SYS_MMAN_H -#define LACKS_STRING_H -#define LACKS_STRINGS_H -#define LACKS_SYS_TYPES_H -#define LACKS_ERRNO_H -#define MALLOC_FAILURE_ACTION -#define MMAP_CLEARS 0 /* WINCE and some others apparently don't clear */ -#endif /* WIN32 */ - -#ifdef __OS2__ -#define INCL_DOS -#include -#define HAVE_MMAP 1 -#define HAVE_MORECORE 0 -#define LACKS_SYS_MMAN_H -#endif /* __OS2__ */ - -#if defined(DARWIN) || defined(_DARWIN) -/* Mac OSX docs advise not to use sbrk; it seems better to use mmap */ -#ifndef HAVE_MORECORE -#define HAVE_MORECORE 0 -#define HAVE_MMAP 1 -#endif /* HAVE_MORECORE */ -#endif /* DARWIN */ - -#ifndef LACKS_SYS_TYPES_H -#include /* For size_t */ -#endif /* LACKS_SYS_TYPES_H */ - -/* The maximum possible size_t value has all bits set */ -#define MAX_SIZE_T (~(size_t)0) - -#ifndef ONLY_MSPACES -#define ONLY_MSPACES 0 -#endif /* ONLY_MSPACES */ -#ifndef MSPACES -#if ONLY_MSPACES -#define MSPACES 1 -#else /* ONLY_MSPACES */ -#define MSPACES 0 -#endif /* ONLY_MSPACES */ -#endif /* MSPACES */ -#ifndef MALLOC_ALIGNMENT -#define MALLOC_ALIGNMENT ((size_t)8U) -#endif /* MALLOC_ALIGNMENT */ -#ifndef FOOTERS -#define FOOTERS 0 -#endif /* FOOTERS */ -#ifndef ABORT -#define ABORT abort() -#endif /* ABORT */ -#ifndef ABORT_ON_ASSERT_FAILURE -#define ABORT_ON_ASSERT_FAILURE 1 -#endif /* ABORT_ON_ASSERT_FAILURE */ -#ifndef PROCEED_ON_ERROR -#define PROCEED_ON_ERROR 0 -#endif /* PROCEED_ON_ERROR */ -#ifndef USE_LOCKS -#define USE_LOCKS 0 -#endif /* USE_LOCKS */ -#ifndef INSECURE -#define INSECURE 0 -#endif /* INSECURE */ -#ifndef HAVE_MMAP -#define HAVE_MMAP 1 -#endif /* HAVE_MMAP */ -#ifndef MMAP_CLEARS -#define MMAP_CLEARS 1 -#endif /* MMAP_CLEARS */ -#ifndef HAVE_MREMAP -#ifdef linux -#define HAVE_MREMAP 1 -#else /* linux */ -#define HAVE_MREMAP 0 -#endif /* linux */ -#endif /* HAVE_MREMAP */ -#ifndef MALLOC_FAILURE_ACTION -#define MALLOC_FAILURE_ACTION errno = ENOMEM; -#endif /* MALLOC_FAILURE_ACTION */ -#ifndef HAVE_MORECORE -#if ONLY_MSPACES -#define HAVE_MORECORE 0 -#else /* ONLY_MSPACES */ -#define HAVE_MORECORE 1 -#endif /* ONLY_MSPACES */ -#endif /* HAVE_MORECORE */ -#if !HAVE_MORECORE -#define MORECORE_CONTIGUOUS 0 -#else /* !HAVE_MORECORE */ -#ifndef MORECORE -#define MORECORE sbrk -#endif /* MORECORE */ -#ifndef MORECORE_CONTIGUOUS -#define MORECORE_CONTIGUOUS 1 -#endif /* MORECORE_CONTIGUOUS */ -#endif /* HAVE_MORECORE */ -#ifndef DEFAULT_GRANULARITY -#if MORECORE_CONTIGUOUS -#define DEFAULT_GRANULARITY (0) /* 0 means to compute in init_mparams */ -#else /* MORECORE_CONTIGUOUS */ -#define DEFAULT_GRANULARITY ((size_t)64U * (size_t)1024U) -#endif /* MORECORE_CONTIGUOUS */ -#endif /* DEFAULT_GRANULARITY */ -#ifndef DEFAULT_TRIM_THRESHOLD -#ifndef MORECORE_CANNOT_TRIM -#define DEFAULT_TRIM_THRESHOLD ((size_t)2U * (size_t)1024U * (size_t)1024U) -#else /* MORECORE_CANNOT_TRIM */ -#define DEFAULT_TRIM_THRESHOLD MAX_SIZE_T -#endif /* MORECORE_CANNOT_TRIM */ -#endif /* DEFAULT_TRIM_THRESHOLD */ -#ifndef DEFAULT_MMAP_THRESHOLD -#if HAVE_MMAP -#define DEFAULT_MMAP_THRESHOLD ((size_t)256U * (size_t)1024U) -#else /* HAVE_MMAP */ -#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T -#endif /* HAVE_MMAP */ -#endif /* DEFAULT_MMAP_THRESHOLD */ -#ifndef USE_BUILTIN_FFS -#define USE_BUILTIN_FFS 0 -#endif /* USE_BUILTIN_FFS */ -#ifndef USE_DEV_RANDOM -#define USE_DEV_RANDOM 0 -#endif /* USE_DEV_RANDOM */ -#ifndef NO_MALLINFO -#define NO_MALLINFO 0 -#endif /* NO_MALLINFO */ -#ifndef MALLINFO_FIELD_TYPE -#define MALLINFO_FIELD_TYPE size_t -#endif /* MALLINFO_FIELD_TYPE */ - -/* - mallopt tuning options. SVID/XPG defines four standard parameter - numbers for mallopt, normally defined in malloc.h. None of these - are used in this malloc, so setting them has no effect. But this - malloc does support the following options. -*/ - -/* The system's malloc.h may have conflicting defines. */ -#undef M_TRIM_THRESHOLD -#undef M_GRANULARITY -#undef M_MMAP_THRESHOLD - -#define M_TRIM_THRESHOLD (-1) -#define M_GRANULARITY (-2) -#define M_MMAP_THRESHOLD (-3) - -/* ------------------------ Mallinfo declarations ------------------------ */ - -#if !NO_MALLINFO -/* - This version of malloc supports the standard SVID/XPG mallinfo - routine that returns a struct containing usage properties and - statistics. It should work on any system that has a - /usr/include/malloc.h defining struct mallinfo. The main - declaration needed is the mallinfo struct that is returned (by-copy) - by mallinfo(). The malloinfo struct contains a bunch of fields that - are not even meaningful in this version of malloc. These fields are - are instead filled by mallinfo() with other numbers that might be of - interest. - - HAVE_USR_INCLUDE_MALLOC_H should be set if you have a - /usr/include/malloc.h file that includes a declaration of struct - mallinfo. If so, it is included; else a compliant version is - declared below. These must be precisely the same for mallinfo() to - work. The original SVID version of this struct, defined on most - systems with mallinfo, declares all fields as ints. But some others - define as unsigned long. If your system defines the fields using a - type of different width than listed here, you MUST #include your - system version and #define HAVE_USR_INCLUDE_MALLOC_H. -*/ - -/* #define HAVE_USR_INCLUDE_MALLOC_H */ - -#ifdef HAVE_USR_INCLUDE_MALLOC_H -#include "/usr/include/malloc.h" -#else /* HAVE_USR_INCLUDE_MALLOC_H */ - -/* HP-UX's stdlib.h redefines mallinfo unless _STRUCT_MALLINFO is defined */ -#define _STRUCT_MALLINFO - -struct mallinfo { - MALLINFO_FIELD_TYPE arena; /* non-mmapped space allocated from system */ - MALLINFO_FIELD_TYPE ordblks; /* number of free chunks */ - MALLINFO_FIELD_TYPE smblks; /* always 0 */ - MALLINFO_FIELD_TYPE hblks; /* always 0 */ - MALLINFO_FIELD_TYPE hblkhd; /* space in mmapped regions */ - MALLINFO_FIELD_TYPE usmblks; /* maximum total allocated space */ - MALLINFO_FIELD_TYPE fsmblks; /* always 0 */ - MALLINFO_FIELD_TYPE uordblks; /* total allocated space */ - MALLINFO_FIELD_TYPE fordblks; /* total free space */ - MALLINFO_FIELD_TYPE keepcost; /* releasable (via malloc_trim) space */ -}; - -#endif /* HAVE_USR_INCLUDE_MALLOC_H */ -#endif /* NO_MALLINFO */ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#if !ONLY_MSPACES - -/* ------------------- Declarations of public routines ------------------- */ - -#ifndef USE_DL_PREFIX -#define dlcalloc calloc -#define dlfree free -#define dlmalloc malloc -#define dlmemalign memalign -#define dlrealloc realloc -#define dlvalloc valloc -#define dlpvalloc pvalloc -#define dlmallinfo mallinfo -#define dlmallopt mallopt -#define dlmalloc_trim malloc_trim -#define dlmalloc_stats malloc_stats -#define dlmalloc_usable_size malloc_usable_size -#define dlmalloc_footprint malloc_footprint -#define dlmalloc_max_footprint malloc_max_footprint -#define dlindependent_calloc independent_calloc -#define dlindependent_comalloc independent_comalloc -#endif /* USE_DL_PREFIX */ - - -/* - malloc(size_t n) - Returns a pointer to a newly allocated chunk of at least n bytes, or - null if no space is available, in which case errno is set to ENOMEM - on ANSI C systems. - - If n is zero, malloc returns a minimum-sized chunk. (The minimum - size is 16 bytes on most 32bit systems, and 32 bytes on 64bit - systems.) Note that size_t is an unsigned type, so calls with - arguments that would be negative if signed are interpreted as - requests for huge amounts of space, which will often fail. The - maximum supported value of n differs across systems, but is in all - cases less than the maximum representable value of a size_t. -*/ -void* dlmalloc(size_t); - -/* - free(void* p) - Releases the chunk of memory pointed to by p, that had been previously - allocated using malloc or a related routine such as realloc. - It has no effect if p is null. If p was not malloced or already - freed, free(p) will by default cause the current program to abort. -*/ -void dlfree(void*); - -/* - calloc(size_t n_elements, size_t element_size); - Returns a pointer to n_elements * element_size bytes, with all locations - set to zero. -*/ -void* dlcalloc(size_t, size_t); - -/* - realloc(void* p, size_t n) - Returns a pointer to a chunk of size n that contains the same data - as does chunk p up to the minimum of (n, p's size) bytes, or null - if no space is available. - - The returned pointer may or may not be the same as p. The algorithm - prefers extending p in most cases when possible, otherwise it - employs the equivalent of a malloc-copy-free sequence. - - If p is null, realloc is equivalent to malloc. - - If space is not available, realloc returns null, errno is set (if on - ANSI) and p is NOT freed. - - if n is for fewer bytes than already held by p, the newly unused - space is lopped off and freed if possible. realloc with a size - argument of zero (re)allocates a minimum-sized chunk. - - The old unix realloc convention of allowing the last-free'd chunk - to be used as an argument to realloc is not supported. -*/ - -void* dlrealloc(void*, size_t); - -/* - memalign(size_t alignment, size_t n); - Returns a pointer to a newly allocated chunk of n bytes, aligned - in accord with the alignment argument. - - The alignment argument should be a power of two. If the argument is - not a power of two, the nearest greater power is used. - 8-byte alignment is guaranteed by normal malloc calls, so don't - bother calling memalign with an argument of 8 or less. - - Overreliance on memalign is a sure way to fragment space. -*/ -void* dlmemalign(size_t, size_t); - -/* - valloc(size_t n); - Equivalent to memalign(pagesize, n), where pagesize is the page - size of the system. If the pagesize is unknown, 4096 is used. -*/ -void* dlvalloc(size_t); - -/* - mallopt(int parameter_number, int parameter_value) - Sets tunable parameters The format is to provide a - (parameter-number, parameter-value) pair. mallopt then sets the - corresponding parameter to the argument value if it can (i.e., so - long as the value is meaningful), and returns 1 if successful else - 0. SVID/XPG/ANSI defines four standard param numbers for mallopt, - normally defined in malloc.h. None of these are use in this malloc, - so setting them has no effect. But this malloc also supports other - options in mallopt. See below for details. Briefly, supported - parameters are as follows (listed defaults are for "typical" - configurations). - - Symbol param # default allowed param values - M_TRIM_THRESHOLD -1 2*1024*1024 any (MAX_SIZE_T disables) - M_GRANULARITY -2 page size any power of 2 >= page size - M_MMAP_THRESHOLD -3 256*1024 any (or 0 if no MMAP support) -*/ -int dlmallopt(int, int); - -/* - malloc_footprint(); - Returns the number of bytes obtained from the system. The total - number of bytes allocated by malloc, realloc etc., is less than this - value. Unlike mallinfo, this function returns only a precomputed - result, so can be called frequently to monitor memory consumption. - Even if locks are otherwise defined, this function does not use them, - so results might not be up to date. -*/ -size_t dlmalloc_footprint(void); - -/* - malloc_max_footprint(); - Returns the maximum number of bytes obtained from the system. This - value will be greater than current footprint if deallocated space - has been reclaimed by the system. The peak number of bytes allocated - by malloc, realloc etc., is less than this value. Unlike mallinfo, - this function returns only a precomputed result, so can be called - frequently to monitor memory consumption. Even if locks are - otherwise defined, this function does not use them, so results might - not be up to date. -*/ -size_t dlmalloc_max_footprint(void); - -#if !NO_MALLINFO -/* - mallinfo() - Returns (by copy) a struct containing various summary statistics: - - arena: current total non-mmapped bytes allocated from system - ordblks: the number of free chunks - smblks: always zero. - hblks: current number of mmapped regions - hblkhd: total bytes held in mmapped regions - usmblks: the maximum total allocated space. This will be greater - than current total if trimming has occurred. - fsmblks: always zero - uordblks: current total allocated space (normal or mmapped) - fordblks: total free space - keepcost: the maximum number of bytes that could ideally be released - back to system via malloc_trim. ("ideally" means that - it ignores page restrictions etc.) - - Because these fields are ints, but internal bookkeeping may - be kept as longs, the reported values may wrap around zero and - thus be inaccurate. -*/ -struct mallinfo dlmallinfo(void); -#endif /* NO_MALLINFO */ - -/* - independent_calloc(size_t n_elements, size_t element_size, void* chunks[]); - - independent_calloc is similar to calloc, but instead of returning a - single cleared space, it returns an array of pointers to n_elements - independent elements that can hold contents of size elem_size, each - of which starts out cleared, and can be independently freed, - realloc'ed etc. The elements are guaranteed to be adjacently - allocated (this is not guaranteed to occur with multiple callocs or - mallocs), which may also improve cache locality in some - applications. - - The "chunks" argument is optional (i.e., may be null, which is - probably the most typical usage). If it is null, the returned array - is itself dynamically allocated and should also be freed when it is - no longer needed. Otherwise, the chunks array must be of at least - n_elements in length. It is filled in with the pointers to the - chunks. - - In either case, independent_calloc returns this pointer array, or - null if the allocation failed. If n_elements is zero and "chunks" - is null, it returns a chunk representing an array with zero elements - (which should be freed if not wanted). - - Each element must be individually freed when it is no longer - needed. If you'd like to instead be able to free all at once, you - should instead use regular calloc and assign pointers into this - space to represent elements. (In this case though, you cannot - independently free elements.) - - independent_calloc simplifies and speeds up implementations of many - kinds of pools. It may also be useful when constructing large data - structures that initially have a fixed number of fixed-sized nodes, - but the number is not known at compile time, and some of the nodes - may later need to be freed. For example: - - struct Node { int item; struct Node* next; }; - - struct Node* build_list() { - struct Node** pool; - int n = read_number_of_nodes_needed(); - if (n <= 0) return 0; - pool = (struct Node**)(independent_calloc(n, sizeof(struct Node), 0); - if (pool == 0) die(); - // organize into a linked list... - struct Node* first = pool[0]; - for (i = 0; i < n-1; ++i) - pool[i]->next = pool[i+1]; - free(pool); // Can now free the array (or not, if it is needed later) - return first; - } -*/ -void** dlindependent_calloc(size_t, size_t, void**); - -/* - independent_comalloc(size_t n_elements, size_t sizes[], void* chunks[]); - - independent_comalloc allocates, all at once, a set of n_elements - chunks with sizes indicated in the "sizes" array. It returns - an array of pointers to these elements, each of which can be - independently freed, realloc'ed etc. The elements are guaranteed to - be adjacently allocated (this is not guaranteed to occur with - multiple callocs or mallocs), which may also improve cache locality - in some applications. - - The "chunks" argument is optional (i.e., may be null). If it is null - the returned array is itself dynamically allocated and should also - be freed when it is no longer needed. Otherwise, the chunks array - must be of at least n_elements in length. It is filled in with the - pointers to the chunks. - - In either case, independent_comalloc returns this pointer array, or - null if the allocation failed. If n_elements is zero and chunks is - null, it returns a chunk representing an array with zero elements - (which should be freed if not wanted). - - Each element must be individually freed when it is no longer - needed. If you'd like to instead be able to free all at once, you - should instead use a single regular malloc, and assign pointers at - particular offsets in the aggregate space. (In this case though, you - cannot independently free elements.) - - independent_comallac differs from independent_calloc in that each - element may have a different size, and also that it does not - automatically clear elements. - - independent_comalloc can be used to speed up allocation in cases - where several structs or objects must always be allocated at the - same time. For example: - - struct Head { ... } - struct Foot { ... } - - void send_message(char* msg) { - int msglen = strlen(msg); - size_t sizes[3] = { sizeof(struct Head), msglen, sizeof(struct Foot) }; - void* chunks[3]; - if (independent_comalloc(3, sizes, chunks) == 0) - die(); - struct Head* head = (struct Head*)(chunks[0]); - char* body = (char*)(chunks[1]); - struct Foot* foot = (struct Foot*)(chunks[2]); - // ... - } - - In general though, independent_comalloc is worth using only for - larger values of n_elements. For small values, you probably won't - detect enough difference from series of malloc calls to bother. - - Overuse of independent_comalloc can increase overall memory usage, - since it cannot reuse existing noncontiguous small chunks that - might be available for some of the elements. -*/ -void** dlindependent_comalloc(size_t, size_t*, void**); - - -/* - pvalloc(size_t n); - Equivalent to valloc(minimum-page-that-holds(n)), that is, - round up n to nearest pagesize. - */ -void* dlpvalloc(size_t); - -/* - malloc_trim(size_t pad); - - If possible, gives memory back to the system (via negative arguments - to sbrk) if there is unused memory at the `high' end of the malloc - pool or in unused MMAP segments. You can call this after freeing - large blocks of memory to potentially reduce the system-level memory - requirements of a program. However, it cannot guarantee to reduce - memory. Under some allocation patterns, some large free blocks of - memory will be locked between two used chunks, so they cannot be - given back to the system. - - The `pad' argument to malloc_trim represents the amount of free - trailing space to leave untrimmed. If this argument is zero, only - the minimum amount of memory to maintain internal data structures - will be left. Non-zero arguments can be supplied to maintain enough - trailing space to service future expected allocations without having - to re-obtain memory from the system. - - Malloc_trim returns 1 if it actually released any memory, else 0. -*/ -int dlmalloc_trim(size_t); - -/* - malloc_usable_size(void* p); - - Returns the number of bytes you can actually use in - an allocated chunk, which may be more than you requested (although - often not) due to alignment and minimum size constraints. - You can use this many bytes without worrying about - overwriting other allocated objects. This is not a particularly great - programming practice. malloc_usable_size can be more useful in - debugging and assertions, for example: - - p = malloc(n); - assert(malloc_usable_size(p) >= 256); -*/ -size_t dlmalloc_usable_size(void*); - -/* - malloc_stats(); - Prints on stderr the amount of space obtained from the system (both - via sbrk and mmap), the maximum amount (which may be more than - current if malloc_trim and/or munmap got called), and the current - number of bytes allocated via malloc (or realloc, etc) but not yet - freed. Note that this is the number of bytes allocated, not the - number requested. It will be larger than the number requested - because of alignment and bookkeeping overhead. Because it includes - alignment wastage as being in use, this figure may be greater than - zero even when no user-level chunks are allocated. - - The reported current and maximum system memory can be inaccurate if - a program makes other calls to system memory allocation functions - (normally sbrk) outside of malloc. - - malloc_stats prints only the most commonly interesting statistics. - More information can be obtained by calling mallinfo. -*/ -void dlmalloc_stats(void); - -#endif /* ONLY_MSPACES */ - -#if MSPACES - -/* - mspace is an opaque type representing an independent - region of space that supports mspace_malloc, etc. -*/ -typedef void* mspace; - -/* - create_mspace creates and returns a new independent space with the - given initial capacity, or, if 0, the default granularity size. It - returns null if there is no system memory available to create the - space. If argument locked is non-zero, the space uses a separate - lock to control access. The capacity of the space will grow - dynamically as needed to service mspace_malloc requests. You can - control the sizes of incremental increases of this space by - compiling with a different DEFAULT_GRANULARITY or dynamically - setting with mallopt(M_GRANULARITY, value). -*/ -mspace create_mspace(size_t capacity, int locked); - -/* - destroy_mspace destroys the given space, and attempts to return all - of its memory back to the system, returning the total number of - bytes freed. After destruction, the results of access to all memory - used by the space become undefined. -*/ -size_t destroy_mspace(mspace msp); - -/* - create_mspace_with_base uses the memory supplied as the initial base - of a new mspace. Part (less than 128*sizeof(size_t) bytes) of this - space is used for bookkeeping, so the capacity must be at least this - large. (Otherwise 0 is returned.) When this initial space is - exhausted, additional memory will be obtained from the system. - Destroying this space will deallocate all additionally allocated - space (if possible) but not the initial base. -*/ -mspace create_mspace_with_base(void* base, size_t capacity, int locked); - -/* - mspace_malloc behaves as malloc, but operates within - the given space. -*/ -void* mspace_malloc(mspace msp, size_t bytes); - -/* - mspace_free behaves as free, but operates within - the given space. - - If compiled with FOOTERS==1, mspace_free is not actually needed. - free may be called instead of mspace_free because freed chunks from - any space are handled by their originating spaces. -*/ -void mspace_free(mspace msp, void* mem); - -/* - mspace_realloc behaves as realloc, but operates within - the given space. - - If compiled with FOOTERS==1, mspace_realloc is not actually - needed. realloc may be called instead of mspace_realloc because - realloced chunks from any space are handled by their originating - spaces. -*/ -void* mspace_realloc(mspace msp, void* mem, size_t newsize); - -/* - mspace_calloc behaves as calloc, but operates within - the given space. -*/ -void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size); - -/* - mspace_memalign behaves as memalign, but operates within - the given space. -*/ -void* mspace_memalign(mspace msp, size_t alignment, size_t bytes); - -/* - mspace_independent_calloc behaves as independent_calloc, but - operates within the given space. -*/ -void** mspace_independent_calloc(mspace msp, size_t n_elements, - size_t elem_size, void* chunks[]); - -/* - mspace_independent_comalloc behaves as independent_comalloc, but - operates within the given space. -*/ -void** mspace_independent_comalloc(mspace msp, size_t n_elements, - size_t sizes[], void* chunks[]); - -/* - mspace_footprint() returns the number of bytes obtained from the - system for this space. -*/ -size_t mspace_footprint(mspace msp); - -/* - mspace_max_footprint() returns the peak number of bytes obtained from the - system for this space. -*/ -size_t mspace_max_footprint(mspace msp); - - -#if !NO_MALLINFO -/* - mspace_mallinfo behaves as mallinfo, but reports properties of - the given space. -*/ -struct mallinfo mspace_mallinfo(mspace msp); -#endif /* NO_MALLINFO */ - -/* - mspace_malloc_stats behaves as malloc_stats, but reports - properties of the given space. -*/ -void mspace_malloc_stats(mspace msp); - -/* - mspace_trim behaves as malloc_trim, but - operates within the given space. -*/ -int mspace_trim(mspace msp, size_t pad); - -/* - An alias for mallopt. -*/ -int mspace_mallopt(int, int); - -#endif /* MSPACES */ - -#ifdef __cplusplus -}; /* end of extern "C" */ -#endif /* __cplusplus */ - -/* - ======================================================================== - To make a fully customizable malloc.h header file, cut everything - above this line, put into file malloc.h, edit to suit, and #include it - on the next line, as well as in programs that use this malloc. - ======================================================================== -*/ - -/* #include "malloc.h" */ - -/*------------------------------ internal #includes ---------------------- */ - -#ifdef _MSC_VER -#pragma warning( disable : 4146 ) /* no "unsigned" warnings */ -#endif /* _MSC_VER */ - -#include /* for printing in malloc_stats */ - -#ifndef LACKS_ERRNO_H -#include /* for MALLOC_FAILURE_ACTION */ -#endif /* LACKS_ERRNO_H */ -#if FOOTERS -#include /* for magic initialization */ -#endif /* FOOTERS */ -#ifndef LACKS_STDLIB_H -#include /* for abort() */ -#endif /* LACKS_STDLIB_H */ -#ifdef DEBUG -#if ABORT_ON_ASSERT_FAILURE -#define assert(x) if(!(x)) ABORT -#else /* ABORT_ON_ASSERT_FAILURE */ -#include -#endif /* ABORT_ON_ASSERT_FAILURE */ -#else /* DEBUG */ -#define assert(x) -#endif /* DEBUG */ -#ifndef LACKS_STRING_H -#include /* for memset etc */ -#endif /* LACKS_STRING_H */ -#if USE_BUILTIN_FFS -#ifndef LACKS_STRINGS_H -#include /* for ffs */ -#endif /* LACKS_STRINGS_H */ -#endif /* USE_BUILTIN_FFS */ -#if HAVE_MMAP -#ifndef LACKS_SYS_MMAN_H -#include /* for mmap */ -#endif /* LACKS_SYS_MMAN_H */ -#ifndef LACKS_FCNTL_H -#include -#endif /* LACKS_FCNTL_H */ -#endif /* HAVE_MMAP */ -#if HAVE_MORECORE -#ifndef LACKS_UNISTD_H -#include /* for sbrk */ -#else /* LACKS_UNISTD_H */ -#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) -extern void* sbrk(ptrdiff_t); -#endif /* FreeBSD etc */ -#endif /* LACKS_UNISTD_H */ -#endif /* HAVE_MMAP */ - -#ifndef WIN32 -#ifndef malloc_getpagesize -# ifdef _SC_PAGESIZE /* some SVR4 systems omit an underscore */ -# ifndef _SC_PAGE_SIZE -# define _SC_PAGE_SIZE _SC_PAGESIZE -# endif -# endif -# ifdef _SC_PAGE_SIZE -# define malloc_getpagesize sysconf(_SC_PAGE_SIZE) -# else -# if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE) - extern size_t getpagesize(); -# define malloc_getpagesize getpagesize() -# else -# ifdef WIN32 /* use supplied emulation of getpagesize */ -# define malloc_getpagesize getpagesize() -# else -# ifndef LACKS_SYS_PARAM_H -# include -# endif -# ifdef EXEC_PAGESIZE -# define malloc_getpagesize EXEC_PAGESIZE -# else -# ifdef NBPG -# ifndef CLSIZE -# define malloc_getpagesize NBPG -# else -# define malloc_getpagesize (NBPG * CLSIZE) -# endif -# else -# ifdef NBPC -# define malloc_getpagesize NBPC -# else -# ifdef PAGESIZE -# define malloc_getpagesize PAGESIZE -# else /* just guess */ -# define malloc_getpagesize ((size_t)4096U) -# endif -# endif -# endif -# endif -# endif -# endif -# endif -#endif -#endif - -/* ------------------- size_t and alignment properties -------------------- */ - -/* The byte and bit size of a size_t */ -#define SIZE_T_SIZE (sizeof(size_t)) -#define SIZE_T_BITSIZE (sizeof(size_t) << 3) - -/* Some constants coerced to size_t */ -/* Annoying but necessary to avoid errors on some platforms */ -#define SIZE_T_ZERO ((size_t)0) -#define SIZE_T_ONE ((size_t)1) -#define SIZE_T_TWO ((size_t)2) -#define TWO_SIZE_T_SIZES (SIZE_T_SIZE<<1) -#define FOUR_SIZE_T_SIZES (SIZE_T_SIZE<<2) -#define SIX_SIZE_T_SIZES (FOUR_SIZE_T_SIZES+TWO_SIZE_T_SIZES) -#define HALF_MAX_SIZE_T (MAX_SIZE_T / 2U) - -/* The bit mask value corresponding to MALLOC_ALIGNMENT */ -#define CHUNK_ALIGN_MASK (MALLOC_ALIGNMENT - SIZE_T_ONE) - -/* True if address a has acceptable alignment */ -#define is_aligned(A) (((size_t)((A)) & (CHUNK_ALIGN_MASK)) == 0) - -/* the number of bytes to offset an address to align it */ -#define align_offset(A)\ - ((((size_t)(A) & CHUNK_ALIGN_MASK) == 0)? 0 :\ - ((MALLOC_ALIGNMENT - ((size_t)(A) & CHUNK_ALIGN_MASK)) & CHUNK_ALIGN_MASK)) - -/* -------------------------- MMAP preliminaries ------------------------- */ - -/* - If HAVE_MORECORE or HAVE_MMAP are false, we just define calls and - checks to fail so compiler optimizer can delete code rather than - using so many "#if"s. -*/ - - -/* MORECORE and MMAP must return MFAIL on failure */ -#define MFAIL ((void*)(MAX_SIZE_T)) -#define CMFAIL ((char*)(MFAIL)) /* defined for convenience */ - -#if !HAVE_MMAP -#define IS_MMAPPED_BIT (SIZE_T_ZERO) -#define USE_MMAP_BIT (SIZE_T_ZERO) -#define CALL_MMAP(s) MFAIL -#define CALL_MUNMAP(a, s) (-1) -#define DIRECT_MMAP(s) MFAIL - -#else /* HAVE_MMAP */ -#define IS_MMAPPED_BIT (SIZE_T_ONE) -#define USE_MMAP_BIT (SIZE_T_ONE) - -#if !defined(WIN32) && !defined (__OS2__) -#define CALL_MUNMAP(a, s) munmap((a), (s)) -#define MMAP_PROT (PROT_READ|PROT_WRITE) -#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) -#define MAP_ANONYMOUS MAP_ANON -#endif /* MAP_ANON */ -#ifdef MAP_ANONYMOUS -#define MMAP_FLAGS (MAP_PRIVATE|MAP_ANONYMOUS) -#define CALL_MMAP(s) mmap(0, (s), MMAP_PROT, MMAP_FLAGS, -1, 0) -#else /* MAP_ANONYMOUS */ -/* - Nearly all versions of mmap support MAP_ANONYMOUS, so the following - is unlikely to be needed, but is supplied just in case. -*/ -#define MMAP_FLAGS (MAP_PRIVATE) -static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */ -#define CALL_MMAP(s) ((dev_zero_fd < 0) ? \ - (dev_zero_fd = open("/dev/zero", O_RDWR), \ - mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0)) : \ - mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0)) -#endif /* MAP_ANONYMOUS */ - -#define DIRECT_MMAP(s) CALL_MMAP(s) - -#elif defined(__OS2__) - -/* OS/2 MMAP via DosAllocMem */ -static void* os2mmap(size_t size) { - void* ptr; - if (DosAllocMem(&ptr, size, OBJ_ANY|PAG_COMMIT|PAG_READ|PAG_WRITE) && - DosAllocMem(&ptr, size, PAG_COMMIT|PAG_READ|PAG_WRITE)) - return MFAIL; - return ptr; -} - -#define os2direct_mmap(n) os2mmap(n) - -/* This function supports releasing coalesed segments */ -static int os2munmap(void* ptr, size_t size) { - while (size) { - ULONG ulSize = size; - ULONG ulFlags = 0; - if (DosQueryMem(ptr, &ulSize, &ulFlags) != 0) - return -1; - if ((ulFlags & PAG_BASE) == 0 ||(ulFlags & PAG_COMMIT) == 0 || - ulSize > size) - return -1; - if (DosFreeMem(ptr) != 0) - return -1; - ptr = ( void * ) ( ( char * ) ptr + ulSize ); - size -= ulSize; - } - return 0; -} - -#define CALL_MMAP(s) os2mmap(s) -#define CALL_MUNMAP(a, s) os2munmap((a), (s)) -#define DIRECT_MMAP(s) os2direct_mmap(s) - -#else /* WIN32 */ - -/* Win32 MMAP via VirtualAlloc */ -static void* win32mmap(size_t size) { - void* ptr = VirtualAlloc(0, size, MEM_RESERVE|MEM_COMMIT, PAGE_EXECUTE_READWRITE); - return (ptr != 0)? ptr: MFAIL; -} - -/* For direct MMAP, use MEM_TOP_DOWN to minimize interference */ -static void* win32direct_mmap(size_t size) { - void* ptr = VirtualAlloc(0, size, MEM_RESERVE|MEM_COMMIT|MEM_TOP_DOWN, - PAGE_EXECUTE_READWRITE); - return (ptr != 0)? ptr: MFAIL; -} - -/* This function supports releasing coalesed segments */ -static int win32munmap(void* ptr, size_t size) { - MEMORY_BASIC_INFORMATION minfo; - char* cptr = ptr; - while (size) { - if (VirtualQuery(cptr, &minfo, sizeof(minfo)) == 0) - return -1; - if (minfo.BaseAddress != cptr || minfo.AllocationBase != cptr || - minfo.State != MEM_COMMIT || minfo.RegionSize > size) - return -1; - if (VirtualFree(cptr, 0, MEM_RELEASE) == 0) - return -1; - cptr += minfo.RegionSize; - size -= minfo.RegionSize; - } - return 0; -} - -#define CALL_MMAP(s) win32mmap(s) -#define CALL_MUNMAP(a, s) win32munmap((a), (s)) -#define DIRECT_MMAP(s) win32direct_mmap(s) -#endif /* WIN32 */ -#endif /* HAVE_MMAP */ - -#if HAVE_MMAP && HAVE_MREMAP -#define CALL_MREMAP(addr, osz, nsz, mv) mremap((addr), (osz), (nsz), (mv)) -#else /* HAVE_MMAP && HAVE_MREMAP */ -#define CALL_MREMAP(addr, osz, nsz, mv) MFAIL -#endif /* HAVE_MMAP && HAVE_MREMAP */ - -#if HAVE_MORECORE -#define CALL_MORECORE(S) MORECORE(S) -#else /* HAVE_MORECORE */ -#define CALL_MORECORE(S) MFAIL -#endif /* HAVE_MORECORE */ - -/* mstate bit set if contiguous morecore disabled or failed */ -#define USE_NONCONTIGUOUS_BIT (4U) - -/* segment bit set in create_mspace_with_base */ -#define EXTERN_BIT (8U) - - -/* --------------------------- Lock preliminaries ------------------------ */ - -#if USE_LOCKS - -/* - When locks are defined, there are up to two global locks: - - * If HAVE_MORECORE, morecore_mutex protects sequences of calls to - MORECORE. In many cases sys_alloc requires two calls, that should - not be interleaved with calls by other threads. This does not - protect against direct calls to MORECORE by other threads not - using this lock, so there is still code to cope the best we can on - interference. - - * magic_init_mutex ensures that mparams.magic and other - unique mparams values are initialized only once. -*/ - -#if !defined(WIN32) && !defined(__OS2__) -/* By default use posix locks */ -#include -#define MLOCK_T pthread_mutex_t -#define INITIAL_LOCK(l) pthread_mutex_init(l, NULL) -#define ACQUIRE_LOCK(l) pthread_mutex_lock(l) -#define RELEASE_LOCK(l) pthread_mutex_unlock(l) - -#if HAVE_MORECORE -static MLOCK_T morecore_mutex = PTHREAD_MUTEX_INITIALIZER; -#endif /* HAVE_MORECORE */ - -static MLOCK_T magic_init_mutex = PTHREAD_MUTEX_INITIALIZER; - -#elif defined(__OS2__) -#define MLOCK_T HMTX -#define INITIAL_LOCK(l) DosCreateMutexSem(0, l, 0, FALSE) -#define ACQUIRE_LOCK(l) DosRequestMutexSem(*l, SEM_INDEFINITE_WAIT) -#define RELEASE_LOCK(l) DosReleaseMutexSem(*l) -#if HAVE_MORECORE -static MLOCK_T morecore_mutex; -#endif /* HAVE_MORECORE */ -static MLOCK_T magic_init_mutex; - -#else /* WIN32 */ -/* - Because lock-protected regions have bounded times, and there - are no recursive lock calls, we can use simple spinlocks. -*/ - -#define MLOCK_T long -static int win32_acquire_lock (MLOCK_T *sl) { - for (;;) { -#ifdef InterlockedCompareExchangePointer - if (!InterlockedCompareExchange(sl, 1, 0)) - return 0; -#else /* Use older void* version */ - if (!InterlockedCompareExchange((void**)sl, (void*)1, (void*)0)) - return 0; -#endif /* InterlockedCompareExchangePointer */ - Sleep (0); - } -} - -static void win32_release_lock (MLOCK_T *sl) { - InterlockedExchange (sl, 0); -} - -#define INITIAL_LOCK(l) *(l)=0 -#define ACQUIRE_LOCK(l) win32_acquire_lock(l) -#define RELEASE_LOCK(l) win32_release_lock(l) -#if HAVE_MORECORE -static MLOCK_T morecore_mutex; -#endif /* HAVE_MORECORE */ -static MLOCK_T magic_init_mutex; -#endif /* WIN32 */ - -#define USE_LOCK_BIT (2U) -#else /* USE_LOCKS */ -#define USE_LOCK_BIT (0U) -#define INITIAL_LOCK(l) -#endif /* USE_LOCKS */ - -#if USE_LOCKS && HAVE_MORECORE -#define ACQUIRE_MORECORE_LOCK() ACQUIRE_LOCK(&morecore_mutex); -#define RELEASE_MORECORE_LOCK() RELEASE_LOCK(&morecore_mutex); -#else /* USE_LOCKS && HAVE_MORECORE */ -#define ACQUIRE_MORECORE_LOCK() -#define RELEASE_MORECORE_LOCK() -#endif /* USE_LOCKS && HAVE_MORECORE */ - -#if USE_LOCKS -#define ACQUIRE_MAGIC_INIT_LOCK() ACQUIRE_LOCK(&magic_init_mutex); -#define RELEASE_MAGIC_INIT_LOCK() RELEASE_LOCK(&magic_init_mutex); -#else /* USE_LOCKS */ -#define ACQUIRE_MAGIC_INIT_LOCK() -#define RELEASE_MAGIC_INIT_LOCK() -#endif /* USE_LOCKS */ - - -/* ----------------------- Chunk representations ------------------------ */ - -/* - (The following includes lightly edited explanations by Colin Plumb.) - - The malloc_chunk declaration below is misleading (but accurate and - necessary). It declares a "view" into memory allowing access to - necessary fields at known offsets from a given base. - - Chunks of memory are maintained using a `boundary tag' method as - originally described by Knuth. (See the paper by Paul Wilson - ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps for a survey of such - techniques.) Sizes of free chunks are stored both in the front of - each chunk and at the end. This makes consolidating fragmented - chunks into bigger chunks fast. The head fields also hold bits - representing whether chunks are free or in use. - - Here are some pictures to make it clearer. They are "exploded" to - show that the state of a chunk can be thought of as extending from - the high 31 bits of the head field of its header through the - prev_foot and PINUSE_BIT bit of the following chunk header. - - A chunk that's in use looks like: - - chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Size of previous chunk (if P = 1) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P| - | Size of this chunk 1| +-+ - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | | - +- -+ - | | - +- -+ - | : - +- size - sizeof(size_t) available payload bytes -+ - : | - chunk-> +- -+ - | | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| - | Size of next chunk (may or may not be in use) | +-+ - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - And if it's free, it looks like this: - - chunk-> +- -+ - | User payload (must be in use, or we would have merged!) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P| - | Size of this chunk 0| +-+ - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Next pointer | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Prev pointer | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | : - +- size - sizeof(struct chunk) unused bytes -+ - : | - chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Size of this chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0| - | Size of next chunk (must be in use, or we would have merged)| +-+ - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | : - +- User payload -+ - : | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |0| - +-+ - Note that since we always merge adjacent free chunks, the chunks - adjacent to a free chunk must be in use. - - Given a pointer to a chunk (which can be derived trivially from the - payload pointer) we can, in O(1) time, find out whether the adjacent - chunks are free, and if so, unlink them from the lists that they - are on and merge them with the current chunk. - - Chunks always begin on even word boundaries, so the mem portion - (which is returned to the user) is also on an even word boundary, and - thus at least double-word aligned. - - The P (PINUSE_BIT) bit, stored in the unused low-order bit of the - chunk size (which is always a multiple of two words), is an in-use - bit for the *previous* chunk. If that bit is *clear*, then the - word before the current chunk size contains the previous chunk - size, and can be used to find the front of the previous chunk. - The very first chunk allocated always has this bit set, preventing - access to non-existent (or non-owned) memory. If pinuse is set for - any given chunk, then you CANNOT determine the size of the - previous chunk, and might even get a memory addressing fault when - trying to do so. - - The C (CINUSE_BIT) bit, stored in the unused second-lowest bit of - the chunk size redundantly records whether the current chunk is - inuse. This redundancy enables usage checks within free and realloc, - and reduces indirection when freeing and consolidating chunks. - - Each freshly allocated chunk must have both cinuse and pinuse set. - That is, each allocated chunk borders either a previously allocated - and still in-use chunk, or the base of its memory arena. This is - ensured by making all allocations from the the `lowest' part of any - found chunk. Further, no free chunk physically borders another one, - so each free chunk is known to be preceded and followed by either - inuse chunks or the ends of memory. - - Note that the `foot' of the current chunk is actually represented - as the prev_foot of the NEXT chunk. This makes it easier to - deal with alignments etc but can be very confusing when trying - to extend or adapt this code. - - The exceptions to all this are - - 1. The special chunk `top' is the top-most available chunk (i.e., - the one bordering the end of available memory). It is treated - specially. Top is never included in any bin, is used only if - no other chunk is available, and is released back to the - system if it is very large (see M_TRIM_THRESHOLD). In effect, - the top chunk is treated as larger (and thus less well - fitting) than any other available chunk. The top chunk - doesn't update its trailing size field since there is no next - contiguous chunk that would have to index off it. However, - space is still allocated for it (TOP_FOOT_SIZE) to enable - separation or merging when space is extended. - - 3. Chunks allocated via mmap, which have the lowest-order bit - (IS_MMAPPED_BIT) set in their prev_foot fields, and do not set - PINUSE_BIT in their head fields. Because they are allocated - one-by-one, each must carry its own prev_foot field, which is - also used to hold the offset this chunk has within its mmapped - region, which is needed to preserve alignment. Each mmapped - chunk is trailed by the first two fields of a fake next-chunk - for sake of usage checks. - -*/ - -struct malloc_chunk { - size_t prev_foot; /* Size of previous chunk (if free). */ - size_t head; /* Size and inuse bits. */ - struct malloc_chunk* fd; /* double links -- used only if free. */ - struct malloc_chunk* bk; -}; - -typedef struct malloc_chunk mchunk; -typedef struct malloc_chunk* mchunkptr; -typedef struct malloc_chunk* sbinptr; /* The type of bins of chunks */ -typedef size_t bindex_t; /* Described below */ -typedef unsigned int binmap_t; /* Described below */ -typedef unsigned int flag_t; /* The type of various bit flag sets */ - -/* ------------------- Chunks sizes and alignments ----------------------- */ - -#define MCHUNK_SIZE (sizeof(mchunk)) - -#if FOOTERS -#define CHUNK_OVERHEAD (TWO_SIZE_T_SIZES) -#else /* FOOTERS */ -#define CHUNK_OVERHEAD (SIZE_T_SIZE) -#endif /* FOOTERS */ - -/* MMapped chunks need a second word of overhead ... */ -#define MMAP_CHUNK_OVERHEAD (TWO_SIZE_T_SIZES) -/* ... and additional padding for fake next-chunk at foot */ -#define MMAP_FOOT_PAD (FOUR_SIZE_T_SIZES) - -/* The smallest size we can malloc is an aligned minimal chunk */ -#define MIN_CHUNK_SIZE\ - ((MCHUNK_SIZE + CHUNK_ALIGN_MASK) & ~CHUNK_ALIGN_MASK) - -/* conversion from malloc headers to user pointers, and back */ -#define chunk2mem(p) ((void*)((char*)(p) + TWO_SIZE_T_SIZES)) -#define mem2chunk(mem) ((mchunkptr)((char*)(mem) - TWO_SIZE_T_SIZES)) -/* chunk associated with aligned address A */ -#define align_as_chunk(A) (mchunkptr)((A) + align_offset(chunk2mem(A))) - -/* Bounds on request (not chunk) sizes. */ -#define MAX_REQUEST ((-MIN_CHUNK_SIZE) << 2) -#define MIN_REQUEST (MIN_CHUNK_SIZE - CHUNK_OVERHEAD - SIZE_T_ONE) - -/* pad request bytes into a usable size */ -#define pad_request(req) \ - (((req) + CHUNK_OVERHEAD + CHUNK_ALIGN_MASK) & ~CHUNK_ALIGN_MASK) - -/* pad request, checking for minimum (but not maximum) */ -#define request2size(req) \ - (((req) < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(req)) - - -/* ------------------ Operations on head and foot fields ----------------- */ - -/* - The head field of a chunk is or'ed with PINUSE_BIT when previous - adjacent chunk in use, and or'ed with CINUSE_BIT if this chunk is in - use. If the chunk was obtained with mmap, the prev_foot field has - IS_MMAPPED_BIT set, otherwise holding the offset of the base of the - mmapped region to the base of the chunk. -*/ - -#define PINUSE_BIT (SIZE_T_ONE) -#define CINUSE_BIT (SIZE_T_TWO) -#define INUSE_BITS (PINUSE_BIT|CINUSE_BIT) - -/* Head value for fenceposts */ -#define FENCEPOST_HEAD (INUSE_BITS|SIZE_T_SIZE) - -/* extraction of fields from head words */ -#define cinuse(p) ((p)->head & CINUSE_BIT) -#define pinuse(p) ((p)->head & PINUSE_BIT) -#define chunksize(p) ((p)->head & ~(INUSE_BITS)) - -#define clear_pinuse(p) ((p)->head &= ~PINUSE_BIT) -#define clear_cinuse(p) ((p)->head &= ~CINUSE_BIT) - -/* Treat space at ptr +/- offset as a chunk */ -#define chunk_plus_offset(p, s) ((mchunkptr)(((char*)(p)) + (s))) -#define chunk_minus_offset(p, s) ((mchunkptr)(((char*)(p)) - (s))) - -/* Ptr to next or previous physical malloc_chunk. */ -#define next_chunk(p) ((mchunkptr)( ((char*)(p)) + ((p)->head & ~INUSE_BITS))) -#define prev_chunk(p) ((mchunkptr)( ((char*)(p)) - ((p)->prev_foot) )) - -/* extract next chunk's pinuse bit */ -#define next_pinuse(p) ((next_chunk(p)->head) & PINUSE_BIT) - -/* Get/set size at footer */ -#define get_foot(p, s) (((mchunkptr)((char*)(p) + (s)))->prev_foot) -#define set_foot(p, s) (((mchunkptr)((char*)(p) + (s)))->prev_foot = (s)) - -/* Set size, pinuse bit, and foot */ -#define set_size_and_pinuse_of_free_chunk(p, s)\ - ((p)->head = (s|PINUSE_BIT), set_foot(p, s)) - -/* Set size, pinuse bit, foot, and clear next pinuse */ -#define set_free_with_pinuse(p, s, n)\ - (clear_pinuse(n), set_size_and_pinuse_of_free_chunk(p, s)) - -#define is_mmapped(p)\ - (!((p)->head & PINUSE_BIT) && ((p)->prev_foot & IS_MMAPPED_BIT)) - -/* Get the internal overhead associated with chunk p */ -#define overhead_for(p)\ - (is_mmapped(p)? MMAP_CHUNK_OVERHEAD : CHUNK_OVERHEAD) - -/* Return true if malloced space is not necessarily cleared */ -#if MMAP_CLEARS -#define calloc_must_clear(p) (!is_mmapped(p)) -#else /* MMAP_CLEARS */ -#define calloc_must_clear(p) (1) -#endif /* MMAP_CLEARS */ - -/* ---------------------- Overlaid data structures ----------------------- */ - -/* - When chunks are not in use, they are treated as nodes of either - lists or trees. - - "Small" chunks are stored in circular doubly-linked lists, and look - like this: - - chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Size of previous chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `head:' | Size of chunk, in bytes |P| - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Forward pointer to next chunk in list | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Back pointer to previous chunk in list | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Unused space (may be 0 bytes long) . - . . - . | -nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `foot:' | Size of chunk, in bytes | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - Larger chunks are kept in a form of bitwise digital trees (aka - tries) keyed on chunksizes. Because malloc_tree_chunks are only for - free chunks greater than 256 bytes, their size doesn't impose any - constraints on user chunk sizes. Each node looks like: - - chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Size of previous chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `head:' | Size of chunk, in bytes |P| - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Forward pointer to next chunk of same size | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Back pointer to previous chunk of same size | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Pointer to left child (child[0]) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Pointer to right child (child[1]) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Pointer to parent | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | bin index of this chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Unused space . - . | -nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `foot:' | Size of chunk, in bytes | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - Each tree holding treenodes is a tree of unique chunk sizes. Chunks - of the same size are arranged in a circularly-linked list, with only - the oldest chunk (the next to be used, in our FIFO ordering) - actually in the tree. (Tree members are distinguished by a non-null - parent pointer.) If a chunk with the same size an an existing node - is inserted, it is linked off the existing node using pointers that - work in the same way as fd/bk pointers of small chunks. - - Each tree contains a power of 2 sized range of chunk sizes (the - smallest is 0x100 <= x < 0x180), which is is divided in half at each - tree level, with the chunks in the smaller half of the range (0x100 - <= x < 0x140 for the top nose) in the left subtree and the larger - half (0x140 <= x < 0x180) in the right subtree. This is, of course, - done by inspecting individual bits. - - Using these rules, each node's left subtree contains all smaller - sizes than its right subtree. However, the node at the root of each - subtree has no particular ordering relationship to either. (The - dividing line between the subtree sizes is based on trie relation.) - If we remove the last chunk of a given size from the interior of the - tree, we need to replace it with a leaf node. The tree ordering - rules permit a node to be replaced by any leaf below it. - - The smallest chunk in a tree (a common operation in a best-fit - allocator) can be found by walking a path to the leftmost leaf in - the tree. Unlike a usual binary tree, where we follow left child - pointers until we reach a null, here we follow the right child - pointer any time the left one is null, until we reach a leaf with - both child pointers null. The smallest chunk in the tree will be - somewhere along that path. - - The worst case number of steps to add, find, or remove a node is - bounded by the number of bits differentiating chunks within - bins. Under current bin calculations, this ranges from 6 up to 21 - (for 32 bit sizes) or up to 53 (for 64 bit sizes). The typical case - is of course much better. -*/ - -struct malloc_tree_chunk { - /* The first four fields must be compatible with malloc_chunk */ - size_t prev_foot; - size_t head; - struct malloc_tree_chunk* fd; - struct malloc_tree_chunk* bk; - - struct malloc_tree_chunk* child[2]; - struct malloc_tree_chunk* parent; - bindex_t index; -}; - -typedef struct malloc_tree_chunk tchunk; -typedef struct malloc_tree_chunk* tchunkptr; -typedef struct malloc_tree_chunk* tbinptr; /* The type of bins of trees */ - -/* A little helper macro for trees */ -#define leftmost_child(t) ((t)->child[0] != 0? (t)->child[0] : (t)->child[1]) - -/* ----------------------------- Segments -------------------------------- */ - -/* - Each malloc space may include non-contiguous segments, held in a - list headed by an embedded malloc_segment record representing the - top-most space. Segments also include flags holding properties of - the space. Large chunks that are directly allocated by mmap are not - included in this list. They are instead independently created and - destroyed without otherwise keeping track of them. - - Segment management mainly comes into play for spaces allocated by - MMAP. Any call to MMAP might or might not return memory that is - adjacent to an existing segment. MORECORE normally contiguously - extends the current space, so this space is almost always adjacent, - which is simpler and faster to deal with. (This is why MORECORE is - used preferentially to MMAP when both are available -- see - sys_alloc.) When allocating using MMAP, we don't use any of the - hinting mechanisms (inconsistently) supported in various - implementations of unix mmap, or distinguish reserving from - committing memory. Instead, we just ask for space, and exploit - contiguity when we get it. It is probably possible to do - better than this on some systems, but no general scheme seems - to be significantly better. - - Management entails a simpler variant of the consolidation scheme - used for chunks to reduce fragmentation -- new adjacent memory is - normally prepended or appended to an existing segment. However, - there are limitations compared to chunk consolidation that mostly - reflect the fact that segment processing is relatively infrequent - (occurring only when getting memory from system) and that we - don't expect to have huge numbers of segments: - - * Segments are not indexed, so traversal requires linear scans. (It - would be possible to index these, but is not worth the extra - overhead and complexity for most programs on most platforms.) - * New segments are only appended to old ones when holding top-most - memory; if they cannot be prepended to others, they are held in - different segments. - - Except for the top-most segment of an mstate, each segment record - is kept at the tail of its segment. Segments are added by pushing - segment records onto the list headed by &mstate.seg for the - containing mstate. - - Segment flags control allocation/merge/deallocation policies: - * If EXTERN_BIT set, then we did not allocate this segment, - and so should not try to deallocate or merge with others. - (This currently holds only for the initial segment passed - into create_mspace_with_base.) - * If IS_MMAPPED_BIT set, the segment may be merged with - other surrounding mmapped segments and trimmed/de-allocated - using munmap. - * If neither bit is set, then the segment was obtained using - MORECORE so can be merged with surrounding MORECORE'd segments - and deallocated/trimmed using MORECORE with negative arguments. -*/ - -struct malloc_segment { - char* base; /* base address */ - size_t size; /* allocated size */ - struct malloc_segment* next; /* ptr to next segment */ -#if FFI_MMAP_EXEC_WRIT - /* The mmap magic is supposed to store the address of the executable - segment at the very end of the requested block. */ - -# define mmap_exec_offset(b,s) (*(ptrdiff_t*)((b)+(s)-sizeof(ptrdiff_t))) - - /* We can only merge segments if their corresponding executable - segments are at identical offsets. */ -# define check_segment_merge(S,b,s) \ - (mmap_exec_offset((b),(s)) == (S)->exec_offset) - -# define add_segment_exec_offset(p,S) ((char*)(p) + (S)->exec_offset) -# define sub_segment_exec_offset(p,S) ((char*)(p) - (S)->exec_offset) - - /* The removal of sflags only works with HAVE_MORECORE == 0. */ - -# define get_segment_flags(S) (IS_MMAPPED_BIT) -# define set_segment_flags(S,v) \ - (((v) != IS_MMAPPED_BIT) ? (ABORT, (v)) : \ - (((S)->exec_offset = \ - mmap_exec_offset((S)->base, (S)->size)), \ - (mmap_exec_offset((S)->base + (S)->exec_offset, (S)->size) != \ - (S)->exec_offset) ? (ABORT, (v)) : \ - (mmap_exec_offset((S)->base, (S)->size) = 0), (v))) - - /* We use an offset here, instead of a pointer, because then, when - base changes, we don't have to modify this. On architectures - with segmented addresses, this might not work. */ - ptrdiff_t exec_offset; -#else - -# define get_segment_flags(S) ((S)->sflags) -# define set_segment_flags(S,v) ((S)->sflags = (v)) -# define check_segment_merge(S,b,s) (1) - - flag_t sflags; /* mmap and extern flag */ -#endif -}; - -#define is_mmapped_segment(S) (get_segment_flags(S) & IS_MMAPPED_BIT) -#define is_extern_segment(S) (get_segment_flags(S) & EXTERN_BIT) - -typedef struct malloc_segment msegment; -typedef struct malloc_segment* msegmentptr; - -/* ---------------------------- malloc_state ----------------------------- */ - -/* - A malloc_state holds all of the bookkeeping for a space. - The main fields are: - - Top - The topmost chunk of the currently active segment. Its size is - cached in topsize. The actual size of topmost space is - topsize+TOP_FOOT_SIZE, which includes space reserved for adding - fenceposts and segment records if necessary when getting more - space from the system. The size at which to autotrim top is - cached from mparams in trim_check, except that it is disabled if - an autotrim fails. - - Designated victim (dv) - This is the preferred chunk for servicing small requests that - don't have exact fits. It is normally the chunk split off most - recently to service another small request. Its size is cached in - dvsize. The link fields of this chunk are not maintained since it - is not kept in a bin. - - SmallBins - An array of bin headers for free chunks. These bins hold chunks - with sizes less than MIN_LARGE_SIZE bytes. Each bin contains - chunks of all the same size, spaced 8 bytes apart. To simplify - use in double-linked lists, each bin header acts as a malloc_chunk - pointing to the real first node, if it exists (else pointing to - itself). This avoids special-casing for headers. But to avoid - waste, we allocate only the fd/bk pointers of bins, and then use - repositioning tricks to treat these as the fields of a chunk. - - TreeBins - Treebins are pointers to the roots of trees holding a range of - sizes. There are 2 equally spaced treebins for each power of two - from TREE_SHIFT to TREE_SHIFT+16. The last bin holds anything - larger. - - Bin maps - There is one bit map for small bins ("smallmap") and one for - treebins ("treemap). Each bin sets its bit when non-empty, and - clears the bit when empty. Bit operations are then used to avoid - bin-by-bin searching -- nearly all "search" is done without ever - looking at bins that won't be selected. The bit maps - conservatively use 32 bits per map word, even if on 64bit system. - For a good description of some of the bit-based techniques used - here, see Henry S. Warren Jr's book "Hacker's Delight" (and - supplement at http://hackersdelight.org/). Many of these are - intended to reduce the branchiness of paths through malloc etc, as - well as to reduce the number of memory locations read or written. - - Segments - A list of segments headed by an embedded malloc_segment record - representing the initial space. - - Address check support - The least_addr field is the least address ever obtained from - MORECORE or MMAP. Attempted frees and reallocs of any address less - than this are trapped (unless INSECURE is defined). - - Magic tag - A cross-check field that should always hold same value as mparams.magic. - - Flags - Bits recording whether to use MMAP, locks, or contiguous MORECORE - - Statistics - Each space keeps track of current and maximum system memory - obtained via MORECORE or MMAP. - - Locking - If USE_LOCKS is defined, the "mutex" lock is acquired and released - around every public call using this mspace. -*/ - -/* Bin types, widths and sizes */ -#define NSMALLBINS (32U) -#define NTREEBINS (32U) -#define SMALLBIN_SHIFT (3U) -#define SMALLBIN_WIDTH (SIZE_T_ONE << SMALLBIN_SHIFT) -#define TREEBIN_SHIFT (8U) -#define MIN_LARGE_SIZE (SIZE_T_ONE << TREEBIN_SHIFT) -#define MAX_SMALL_SIZE (MIN_LARGE_SIZE - SIZE_T_ONE) -#define MAX_SMALL_REQUEST (MAX_SMALL_SIZE - CHUNK_ALIGN_MASK - CHUNK_OVERHEAD) - -struct malloc_state { - binmap_t smallmap; - binmap_t treemap; - size_t dvsize; - size_t topsize; - char* least_addr; - mchunkptr dv; - mchunkptr top; - size_t trim_check; - size_t magic; - mchunkptr smallbins[(NSMALLBINS+1)*2]; - tbinptr treebins[NTREEBINS]; - size_t footprint; - size_t max_footprint; - flag_t mflags; -#if USE_LOCKS - MLOCK_T mutex; /* locate lock among fields that rarely change */ -#endif /* USE_LOCKS */ - msegment seg; -}; - -typedef struct malloc_state* mstate; - -/* ------------- Global malloc_state and malloc_params ------------------- */ - -/* - malloc_params holds global properties, including those that can be - dynamically set using mallopt. There is a single instance, mparams, - initialized in init_mparams. -*/ - -struct malloc_params { - size_t magic; - size_t page_size; - size_t granularity; - size_t mmap_threshold; - size_t trim_threshold; - flag_t default_mflags; -}; - -static struct malloc_params mparams; - -/* The global malloc_state used for all non-"mspace" calls */ -static struct malloc_state _gm_; -#define gm (&_gm_) -#define is_global(M) ((M) == &_gm_) -#define is_initialized(M) ((M)->top != 0) - -/* -------------------------- system alloc setup ------------------------- */ - -/* Operations on mflags */ - -#define use_lock(M) ((M)->mflags & USE_LOCK_BIT) -#define enable_lock(M) ((M)->mflags |= USE_LOCK_BIT) -#define disable_lock(M) ((M)->mflags &= ~USE_LOCK_BIT) - -#define use_mmap(M) ((M)->mflags & USE_MMAP_BIT) -#define enable_mmap(M) ((M)->mflags |= USE_MMAP_BIT) -#define disable_mmap(M) ((M)->mflags &= ~USE_MMAP_BIT) - -#define use_noncontiguous(M) ((M)->mflags & USE_NONCONTIGUOUS_BIT) -#define disable_contiguous(M) ((M)->mflags |= USE_NONCONTIGUOUS_BIT) - -#define set_lock(M,L)\ - ((M)->mflags = (L)?\ - ((M)->mflags | USE_LOCK_BIT) :\ - ((M)->mflags & ~USE_LOCK_BIT)) - -/* page-align a size */ -#define page_align(S)\ - (((S) + (mparams.page_size)) & ~(mparams.page_size - SIZE_T_ONE)) - -/* granularity-align a size */ -#define granularity_align(S)\ - (((S) + (mparams.granularity)) & ~(mparams.granularity - SIZE_T_ONE)) - -#define is_page_aligned(S)\ - (((size_t)(S) & (mparams.page_size - SIZE_T_ONE)) == 0) -#define is_granularity_aligned(S)\ - (((size_t)(S) & (mparams.granularity - SIZE_T_ONE)) == 0) - -/* True if segment S holds address A */ -#define segment_holds(S, A)\ - ((char*)(A) >= S->base && (char*)(A) < S->base + S->size) - -/* Return segment holding given address */ -static msegmentptr segment_holding(mstate m, char* addr) { - msegmentptr sp = &m->seg; - for (;;) { - if (addr >= sp->base && addr < sp->base + sp->size) - return sp; - if ((sp = sp->next) == 0) - return 0; - } -} - -/* Return true if segment contains a segment link */ -static int has_segment_link(mstate m, msegmentptr ss) { - msegmentptr sp = &m->seg; - for (;;) { - if ((char*)sp >= ss->base && (char*)sp < ss->base + ss->size) - return 1; - if ((sp = sp->next) == 0) - return 0; - } -} - -#ifndef MORECORE_CANNOT_TRIM -#define should_trim(M,s) ((s) > (M)->trim_check) -#else /* MORECORE_CANNOT_TRIM */ -#define should_trim(M,s) (0) -#endif /* MORECORE_CANNOT_TRIM */ - -/* - TOP_FOOT_SIZE is padding at the end of a segment, including space - that may be needed to place segment records and fenceposts when new - noncontiguous segments are added. -*/ -#define TOP_FOOT_SIZE\ - (align_offset(chunk2mem(0))+pad_request(sizeof(struct malloc_segment))+MIN_CHUNK_SIZE) - - -/* ------------------------------- Hooks -------------------------------- */ - -/* - PREACTION should be defined to return 0 on success, and nonzero on - failure. If you are not using locking, you can redefine these to do - anything you like. -*/ - -#if USE_LOCKS - -/* Ensure locks are initialized */ -#define GLOBALLY_INITIALIZE() (mparams.page_size == 0 && init_mparams()) - -#define PREACTION(M) ((GLOBALLY_INITIALIZE() || use_lock(M))? ACQUIRE_LOCK(&(M)->mutex) : 0) -#define POSTACTION(M) { if (use_lock(M)) RELEASE_LOCK(&(M)->mutex); } -#else /* USE_LOCKS */ - -#ifndef PREACTION -#define PREACTION(M) (0) -#endif /* PREACTION */ - -#ifndef POSTACTION -#define POSTACTION(M) -#endif /* POSTACTION */ - -#endif /* USE_LOCKS */ - -/* - CORRUPTION_ERROR_ACTION is triggered upon detected bad addresses. - USAGE_ERROR_ACTION is triggered on detected bad frees and - reallocs. The argument p is an address that might have triggered the - fault. It is ignored by the two predefined actions, but might be - useful in custom actions that try to help diagnose errors. -*/ - -#if PROCEED_ON_ERROR - -/* A count of the number of corruption errors causing resets */ -int malloc_corruption_error_count; - -/* default corruption action */ -static void reset_on_error(mstate m); - -#define CORRUPTION_ERROR_ACTION(m) reset_on_error(m) -#define USAGE_ERROR_ACTION(m, p) - -#else /* PROCEED_ON_ERROR */ - -#ifndef CORRUPTION_ERROR_ACTION -#define CORRUPTION_ERROR_ACTION(m) ABORT -#endif /* CORRUPTION_ERROR_ACTION */ - -#ifndef USAGE_ERROR_ACTION -#define USAGE_ERROR_ACTION(m,p) ABORT -#endif /* USAGE_ERROR_ACTION */ - -#endif /* PROCEED_ON_ERROR */ - -/* -------------------------- Debugging setup ---------------------------- */ - -#if ! DEBUG - -#define check_free_chunk(M,P) -#define check_inuse_chunk(M,P) -#define check_malloced_chunk(M,P,N) -#define check_mmapped_chunk(M,P) -#define check_malloc_state(M) -#define check_top_chunk(M,P) - -#else /* DEBUG */ -#define check_free_chunk(M,P) do_check_free_chunk(M,P) -#define check_inuse_chunk(M,P) do_check_inuse_chunk(M,P) -#define check_top_chunk(M,P) do_check_top_chunk(M,P) -#define check_malloced_chunk(M,P,N) do_check_malloced_chunk(M,P,N) -#define check_mmapped_chunk(M,P) do_check_mmapped_chunk(M,P) -#define check_malloc_state(M) do_check_malloc_state(M) - -static void do_check_any_chunk(mstate m, mchunkptr p); -static void do_check_top_chunk(mstate m, mchunkptr p); -static void do_check_mmapped_chunk(mstate m, mchunkptr p); -static void do_check_inuse_chunk(mstate m, mchunkptr p); -static void do_check_free_chunk(mstate m, mchunkptr p); -static void do_check_malloced_chunk(mstate m, void* mem, size_t s); -static void do_check_tree(mstate m, tchunkptr t); -static void do_check_treebin(mstate m, bindex_t i); -static void do_check_smallbin(mstate m, bindex_t i); -static void do_check_malloc_state(mstate m); -static int bin_find(mstate m, mchunkptr x); -static size_t traverse_and_check(mstate m); -#endif /* DEBUG */ - -/* ---------------------------- Indexing Bins ---------------------------- */ - -#define is_small(s) (((s) >> SMALLBIN_SHIFT) < NSMALLBINS) -#define small_index(s) ((s) >> SMALLBIN_SHIFT) -#define small_index2size(i) ((i) << SMALLBIN_SHIFT) -#define MIN_SMALL_INDEX (small_index(MIN_CHUNK_SIZE)) - -/* addressing by index. See above about smallbin repositioning */ -#define smallbin_at(M, i) ((sbinptr)((char*)&((M)->smallbins[(i)<<1]))) -#define treebin_at(M,i) (&((M)->treebins[i])) - -/* assign tree index for size S to variable I */ -#if defined(__GNUC__) && defined(__i386__) -#define compute_tree_index(S, I)\ -{\ - size_t X = S >> TREEBIN_SHIFT;\ - if (X == 0)\ - I = 0;\ - else if (X > 0xFFFF)\ - I = NTREEBINS-1;\ - else {\ - unsigned int K;\ - __asm__("bsrl %1,%0\n\t" : "=r" (K) : "rm" (X));\ - I = (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT-1)) & 1)));\ - }\ -} -#else /* GNUC */ -#define compute_tree_index(S, I)\ -{\ - size_t X = S >> TREEBIN_SHIFT;\ - if (X == 0)\ - I = 0;\ - else if (X > 0xFFFF)\ - I = NTREEBINS-1;\ - else {\ - unsigned int Y = (unsigned int)X;\ - unsigned int N = ((Y - 0x100) >> 16) & 8;\ - unsigned int K = (((Y <<= N) - 0x1000) >> 16) & 4;\ - N += K;\ - N += K = (((Y <<= K) - 0x4000) >> 16) & 2;\ - K = 14 - N + ((Y <<= K) >> 15);\ - I = (K << 1) + ((S >> (K + (TREEBIN_SHIFT-1)) & 1));\ - }\ -} -#endif /* GNUC */ - -/* Bit representing maximum resolved size in a treebin at i */ -#define bit_for_tree_index(i) \ - (i == NTREEBINS-1)? (SIZE_T_BITSIZE-1) : (((i) >> 1) + TREEBIN_SHIFT - 2) - -/* Shift placing maximum resolved bit in a treebin at i as sign bit */ -#define leftshift_for_tree_index(i) \ - ((i == NTREEBINS-1)? 0 : \ - ((SIZE_T_BITSIZE-SIZE_T_ONE) - (((i) >> 1) + TREEBIN_SHIFT - 2))) - -/* The size of the smallest chunk held in bin with index i */ -#define minsize_for_tree_index(i) \ - ((SIZE_T_ONE << (((i) >> 1) + TREEBIN_SHIFT)) | \ - (((size_t)((i) & SIZE_T_ONE)) << (((i) >> 1) + TREEBIN_SHIFT - 1))) - - -/* ------------------------ Operations on bin maps ----------------------- */ - -/* bit corresponding to given index */ -#define idx2bit(i) ((binmap_t)(1) << (i)) - -/* Mark/Clear bits with given index */ -#define mark_smallmap(M,i) ((M)->smallmap |= idx2bit(i)) -#define clear_smallmap(M,i) ((M)->smallmap &= ~idx2bit(i)) -#define smallmap_is_marked(M,i) ((M)->smallmap & idx2bit(i)) - -#define mark_treemap(M,i) ((M)->treemap |= idx2bit(i)) -#define clear_treemap(M,i) ((M)->treemap &= ~idx2bit(i)) -#define treemap_is_marked(M,i) ((M)->treemap & idx2bit(i)) - -/* index corresponding to given bit */ - -#if defined(__GNUC__) && defined(__i386__) -#define compute_bit2idx(X, I)\ -{\ - unsigned int J;\ - __asm__("bsfl %1,%0\n\t" : "=r" (J) : "rm" (X));\ - I = (bindex_t)J;\ -} - -#else /* GNUC */ -#if USE_BUILTIN_FFS -#define compute_bit2idx(X, I) I = __builtin_ffs(X)-1 - -#else /* USE_BUILTIN_FFS */ -#define compute_bit2idx(X, I)\ -{\ - unsigned int Y = X - 1;\ - unsigned int K = Y >> (16-4) & 16;\ - unsigned int N = K; Y >>= K;\ - N += K = Y >> (8-3) & 8; Y >>= K;\ - N += K = Y >> (4-2) & 4; Y >>= K;\ - N += K = Y >> (2-1) & 2; Y >>= K;\ - N += K = Y >> (1-0) & 1; Y >>= K;\ - I = (bindex_t)(N + Y);\ -} -#endif /* USE_BUILTIN_FFS */ -#endif /* GNUC */ - -/* isolate the least set bit of a bitmap */ -#define least_bit(x) ((x) & -(x)) - -/* mask with all bits to left of least bit of x on */ -#define left_bits(x) ((x<<1) | -(x<<1)) - -/* mask with all bits to left of or equal to least bit of x on */ -#define same_or_left_bits(x) ((x) | -(x)) - - -/* ----------------------- Runtime Check Support ------------------------- */ - -/* - For security, the main invariant is that malloc/free/etc never - writes to a static address other than malloc_state, unless static - malloc_state itself has been corrupted, which cannot occur via - malloc (because of these checks). In essence this means that we - believe all pointers, sizes, maps etc held in malloc_state, but - check all of those linked or offsetted from other embedded data - structures. These checks are interspersed with main code in a way - that tends to minimize their run-time cost. - - When FOOTERS is defined, in addition to range checking, we also - verify footer fields of inuse chunks, which can be used guarantee - that the mstate controlling malloc/free is intact. This is a - streamlined version of the approach described by William Robertson - et al in "Run-time Detection of Heap-based Overflows" LISA'03 - http://www.usenix.org/events/lisa03/tech/robertson.html The footer - of an inuse chunk holds the xor of its mstate and a random seed, - that is checked upon calls to free() and realloc(). This is - (probablistically) unguessable from outside the program, but can be - computed by any code successfully malloc'ing any chunk, so does not - itself provide protection against code that has already broken - security through some other means. Unlike Robertson et al, we - always dynamically check addresses of all offset chunks (previous, - next, etc). This turns out to be cheaper than relying on hashes. -*/ - -#if !INSECURE -/* Check if address a is at least as high as any from MORECORE or MMAP */ -#define ok_address(M, a) ((char*)(a) >= (M)->least_addr) -/* Check if address of next chunk n is higher than base chunk p */ -#define ok_next(p, n) ((char*)(p) < (char*)(n)) -/* Check if p has its cinuse bit on */ -#define ok_cinuse(p) cinuse(p) -/* Check if p has its pinuse bit on */ -#define ok_pinuse(p) pinuse(p) - -#else /* !INSECURE */ -#define ok_address(M, a) (1) -#define ok_next(b, n) (1) -#define ok_cinuse(p) (1) -#define ok_pinuse(p) (1) -#endif /* !INSECURE */ - -#if (FOOTERS && !INSECURE) -/* Check if (alleged) mstate m has expected magic field */ -#define ok_magic(M) ((M)->magic == mparams.magic) -#else /* (FOOTERS && !INSECURE) */ -#define ok_magic(M) (1) -#endif /* (FOOTERS && !INSECURE) */ - - -/* In gcc, use __builtin_expect to minimize impact of checks */ -#if !INSECURE -#if defined(__GNUC__) && __GNUC__ >= 3 -#define RTCHECK(e) __builtin_expect(e, 1) -#else /* GNUC */ -#define RTCHECK(e) (e) -#endif /* GNUC */ -#else /* !INSECURE */ -#define RTCHECK(e) (1) -#endif /* !INSECURE */ - -/* macros to set up inuse chunks with or without footers */ - -#if !FOOTERS - -#define mark_inuse_foot(M,p,s) - -/* Set cinuse bit and pinuse bit of next chunk */ -#define set_inuse(M,p,s)\ - ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\ - ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT) - -/* Set cinuse and pinuse of this chunk and pinuse of next chunk */ -#define set_inuse_and_pinuse(M,p,s)\ - ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\ - ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT) - -/* Set size, cinuse and pinuse bit of this chunk */ -#define set_size_and_pinuse_of_inuse_chunk(M, p, s)\ - ((p)->head = (s|PINUSE_BIT|CINUSE_BIT)) - -#else /* FOOTERS */ - -/* Set foot of inuse chunk to be xor of mstate and seed */ -#define mark_inuse_foot(M,p,s)\ - (((mchunkptr)((char*)(p) + (s)))->prev_foot = ((size_t)(M) ^ mparams.magic)) - -#define get_mstate_for(p)\ - ((mstate)(((mchunkptr)((char*)(p) +\ - (chunksize(p))))->prev_foot ^ mparams.magic)) - -#define set_inuse(M,p,s)\ - ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\ - (((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT), \ - mark_inuse_foot(M,p,s)) - -#define set_inuse_and_pinuse(M,p,s)\ - ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\ - (((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT),\ - mark_inuse_foot(M,p,s)) - -#define set_size_and_pinuse_of_inuse_chunk(M, p, s)\ - ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\ - mark_inuse_foot(M, p, s)) - -#endif /* !FOOTERS */ - -/* ---------------------------- setting mparams -------------------------- */ - -/* Initialize mparams */ -static int init_mparams(void) { - if (mparams.page_size == 0) { - size_t s; - - mparams.mmap_threshold = DEFAULT_MMAP_THRESHOLD; - mparams.trim_threshold = DEFAULT_TRIM_THRESHOLD; -#if MORECORE_CONTIGUOUS - mparams.default_mflags = USE_LOCK_BIT|USE_MMAP_BIT; -#else /* MORECORE_CONTIGUOUS */ - mparams.default_mflags = USE_LOCK_BIT|USE_MMAP_BIT|USE_NONCONTIGUOUS_BIT; -#endif /* MORECORE_CONTIGUOUS */ - -#if (FOOTERS && !INSECURE) - { -#if USE_DEV_RANDOM - int fd; - unsigned char buf[sizeof(size_t)]; - /* Try to use /dev/urandom, else fall back on using time */ - if ((fd = open("/dev/urandom", O_RDONLY)) >= 0 && - read(fd, buf, sizeof(buf)) == sizeof(buf)) { - s = *((size_t *) buf); - close(fd); - } - else -#endif /* USE_DEV_RANDOM */ - s = (size_t)(time(0) ^ (size_t)0x55555555U); - - s |= (size_t)8U; /* ensure nonzero */ - s &= ~(size_t)7U; /* improve chances of fault for bad values */ - - } -#else /* (FOOTERS && !INSECURE) */ - s = (size_t)0x58585858U; -#endif /* (FOOTERS && !INSECURE) */ - ACQUIRE_MAGIC_INIT_LOCK(); - if (mparams.magic == 0) { - mparams.magic = s; - /* Set up lock for main malloc area */ - INITIAL_LOCK(&gm->mutex); - gm->mflags = mparams.default_mflags; - } - RELEASE_MAGIC_INIT_LOCK(); - -#if !defined(WIN32) && !defined(__OS2__) - mparams.page_size = malloc_getpagesize; - mparams.granularity = ((DEFAULT_GRANULARITY != 0)? - DEFAULT_GRANULARITY : mparams.page_size); -#elif defined (__OS2__) - /* if low-memory is used, os2munmap() would break - if it were anything other than 64k */ - mparams.page_size = 4096u; - mparams.granularity = 65536u; -#else /* WIN32 */ - { - SYSTEM_INFO system_info; - GetSystemInfo(&system_info); - mparams.page_size = system_info.dwPageSize; - mparams.granularity = system_info.dwAllocationGranularity; - } -#endif /* WIN32 */ - - /* Sanity-check configuration: - size_t must be unsigned and as wide as pointer type. - ints must be at least 4 bytes. - alignment must be at least 8. - Alignment, min chunk size, and page size must all be powers of 2. - */ - if ((sizeof(size_t) != sizeof(char*)) || - (MAX_SIZE_T < MIN_CHUNK_SIZE) || - (sizeof(int) < 4) || - (MALLOC_ALIGNMENT < (size_t)8U) || - ((MALLOC_ALIGNMENT & (MALLOC_ALIGNMENT-SIZE_T_ONE)) != 0) || - ((MCHUNK_SIZE & (MCHUNK_SIZE-SIZE_T_ONE)) != 0) || - ((mparams.granularity & (mparams.granularity-SIZE_T_ONE)) != 0) || - ((mparams.page_size & (mparams.page_size-SIZE_T_ONE)) != 0)) - ABORT; - } - return 0; -} - -/* support for mallopt */ -static int change_mparam(int param_number, int value) { - size_t val = (size_t)value; - init_mparams(); - switch(param_number) { - case M_TRIM_THRESHOLD: - mparams.trim_threshold = val; - return 1; - case M_GRANULARITY: - if (val >= mparams.page_size && ((val & (val-1)) == 0)) { - mparams.granularity = val; - return 1; - } - else - return 0; - case M_MMAP_THRESHOLD: - mparams.mmap_threshold = val; - return 1; - default: - return 0; - } -} - -#if DEBUG -/* ------------------------- Debugging Support --------------------------- */ - -/* Check properties of any chunk, whether free, inuse, mmapped etc */ -static void do_check_any_chunk(mstate m, mchunkptr p) { - assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD)); - assert(ok_address(m, p)); -} - -/* Check properties of top chunk */ -static void do_check_top_chunk(mstate m, mchunkptr p) { - msegmentptr sp = segment_holding(m, (char*)p); - size_t sz = chunksize(p); - assert(sp != 0); - assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD)); - assert(ok_address(m, p)); - assert(sz == m->topsize); - assert(sz > 0); - assert(sz == ((sp->base + sp->size) - (char*)p) - TOP_FOOT_SIZE); - assert(pinuse(p)); - assert(!next_pinuse(p)); -} - -/* Check properties of (inuse) mmapped chunks */ -static void do_check_mmapped_chunk(mstate m, mchunkptr p) { - size_t sz = chunksize(p); - size_t len = (sz + (p->prev_foot & ~IS_MMAPPED_BIT) + MMAP_FOOT_PAD); - assert(is_mmapped(p)); - assert(use_mmap(m)); - assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD)); - assert(ok_address(m, p)); - assert(!is_small(sz)); - assert((len & (mparams.page_size-SIZE_T_ONE)) == 0); - assert(chunk_plus_offset(p, sz)->head == FENCEPOST_HEAD); - assert(chunk_plus_offset(p, sz+SIZE_T_SIZE)->head == 0); -} - -/* Check properties of inuse chunks */ -static void do_check_inuse_chunk(mstate m, mchunkptr p) { - do_check_any_chunk(m, p); - assert(cinuse(p)); - assert(next_pinuse(p)); - /* If not pinuse and not mmapped, previous chunk has OK offset */ - assert(is_mmapped(p) || pinuse(p) || next_chunk(prev_chunk(p)) == p); - if (is_mmapped(p)) - do_check_mmapped_chunk(m, p); -} - -/* Check properties of free chunks */ -static void do_check_free_chunk(mstate m, mchunkptr p) { - size_t sz = p->head & ~(PINUSE_BIT|CINUSE_BIT); - mchunkptr next = chunk_plus_offset(p, sz); - do_check_any_chunk(m, p); - assert(!cinuse(p)); - assert(!next_pinuse(p)); - assert (!is_mmapped(p)); - if (p != m->dv && p != m->top) { - if (sz >= MIN_CHUNK_SIZE) { - assert((sz & CHUNK_ALIGN_MASK) == 0); - assert(is_aligned(chunk2mem(p))); - assert(next->prev_foot == sz); - assert(pinuse(p)); - assert (next == m->top || cinuse(next)); - assert(p->fd->bk == p); - assert(p->bk->fd == p); - } - else /* markers are always of size SIZE_T_SIZE */ - assert(sz == SIZE_T_SIZE); - } -} - -/* Check properties of malloced chunks at the point they are malloced */ -static void do_check_malloced_chunk(mstate m, void* mem, size_t s) { - if (mem != 0) { - mchunkptr p = mem2chunk(mem); - size_t sz = p->head & ~(PINUSE_BIT|CINUSE_BIT); - do_check_inuse_chunk(m, p); - assert((sz & CHUNK_ALIGN_MASK) == 0); - assert(sz >= MIN_CHUNK_SIZE); - assert(sz >= s); - /* unless mmapped, size is less than MIN_CHUNK_SIZE more than request */ - assert(is_mmapped(p) || sz < (s + MIN_CHUNK_SIZE)); - } -} - -/* Check a tree and its subtrees. */ -static void do_check_tree(mstate m, tchunkptr t) { - tchunkptr head = 0; - tchunkptr u = t; - bindex_t tindex = t->index; - size_t tsize = chunksize(t); - bindex_t idx; - compute_tree_index(tsize, idx); - assert(tindex == idx); - assert(tsize >= MIN_LARGE_SIZE); - assert(tsize >= minsize_for_tree_index(idx)); - assert((idx == NTREEBINS-1) || (tsize < minsize_for_tree_index((idx+1)))); - - do { /* traverse through chain of same-sized nodes */ - do_check_any_chunk(m, ((mchunkptr)u)); - assert(u->index == tindex); - assert(chunksize(u) == tsize); - assert(!cinuse(u)); - assert(!next_pinuse(u)); - assert(u->fd->bk == u); - assert(u->bk->fd == u); - if (u->parent == 0) { - assert(u->child[0] == 0); - assert(u->child[1] == 0); - } - else { - assert(head == 0); /* only one node on chain has parent */ - head = u; - assert(u->parent != u); - assert (u->parent->child[0] == u || - u->parent->child[1] == u || - *((tbinptr*)(u->parent)) == u); - if (u->child[0] != 0) { - assert(u->child[0]->parent == u); - assert(u->child[0] != u); - do_check_tree(m, u->child[0]); - } - if (u->child[1] != 0) { - assert(u->child[1]->parent == u); - assert(u->child[1] != u); - do_check_tree(m, u->child[1]); - } - if (u->child[0] != 0 && u->child[1] != 0) { - assert(chunksize(u->child[0]) < chunksize(u->child[1])); - } - } - u = u->fd; - } while (u != t); - assert(head != 0); -} - -/* Check all the chunks in a treebin. */ -static void do_check_treebin(mstate m, bindex_t i) { - tbinptr* tb = treebin_at(m, i); - tchunkptr t = *tb; - int empty = (m->treemap & (1U << i)) == 0; - if (t == 0) - assert(empty); - if (!empty) - do_check_tree(m, t); -} - -/* Check all the chunks in a smallbin. */ -static void do_check_smallbin(mstate m, bindex_t i) { - sbinptr b = smallbin_at(m, i); - mchunkptr p = b->bk; - unsigned int empty = (m->smallmap & (1U << i)) == 0; - if (p == b) - assert(empty); - if (!empty) { - for (; p != b; p = p->bk) { - size_t size = chunksize(p); - mchunkptr q; - /* each chunk claims to be free */ - do_check_free_chunk(m, p); - /* chunk belongs in bin */ - assert(small_index(size) == i); - assert(p->bk == b || chunksize(p->bk) == chunksize(p)); - /* chunk is followed by an inuse chunk */ - q = next_chunk(p); - if (q->head != FENCEPOST_HEAD) - do_check_inuse_chunk(m, q); - } - } -} - -/* Find x in a bin. Used in other check functions. */ -static int bin_find(mstate m, mchunkptr x) { - size_t size = chunksize(x); - if (is_small(size)) { - bindex_t sidx = small_index(size); - sbinptr b = smallbin_at(m, sidx); - if (smallmap_is_marked(m, sidx)) { - mchunkptr p = b; - do { - if (p == x) - return 1; - } while ((p = p->fd) != b); - } - } - else { - bindex_t tidx; - compute_tree_index(size, tidx); - if (treemap_is_marked(m, tidx)) { - tchunkptr t = *treebin_at(m, tidx); - size_t sizebits = size << leftshift_for_tree_index(tidx); - while (t != 0 && chunksize(t) != size) { - t = t->child[(sizebits >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1]; - sizebits <<= 1; - } - if (t != 0) { - tchunkptr u = t; - do { - if (u == (tchunkptr)x) - return 1; - } while ((u = u->fd) != t); - } - } - } - return 0; -} - -/* Traverse each chunk and check it; return total */ -static size_t traverse_and_check(mstate m) { - size_t sum = 0; - if (is_initialized(m)) { - msegmentptr s = &m->seg; - sum += m->topsize + TOP_FOOT_SIZE; - while (s != 0) { - mchunkptr q = align_as_chunk(s->base); - mchunkptr lastq = 0; - assert(pinuse(q)); - while (segment_holds(s, q) && - q != m->top && q->head != FENCEPOST_HEAD) { - sum += chunksize(q); - if (cinuse(q)) { - assert(!bin_find(m, q)); - do_check_inuse_chunk(m, q); - } - else { - assert(q == m->dv || bin_find(m, q)); - assert(lastq == 0 || cinuse(lastq)); /* Not 2 consecutive free */ - do_check_free_chunk(m, q); - } - lastq = q; - q = next_chunk(q); - } - s = s->next; - } - } - return sum; -} - -/* Check all properties of malloc_state. */ -static void do_check_malloc_state(mstate m) { - bindex_t i; - size_t total; - /* check bins */ - for (i = 0; i < NSMALLBINS; ++i) - do_check_smallbin(m, i); - for (i = 0; i < NTREEBINS; ++i) - do_check_treebin(m, i); - - if (m->dvsize != 0) { /* check dv chunk */ - do_check_any_chunk(m, m->dv); - assert(m->dvsize == chunksize(m->dv)); - assert(m->dvsize >= MIN_CHUNK_SIZE); - assert(bin_find(m, m->dv) == 0); - } - - if (m->top != 0) { /* check top chunk */ - do_check_top_chunk(m, m->top); - assert(m->topsize == chunksize(m->top)); - assert(m->topsize > 0); - assert(bin_find(m, m->top) == 0); - } - - total = traverse_and_check(m); - assert(total <= m->footprint); - assert(m->footprint <= m->max_footprint); -} -#endif /* DEBUG */ - -/* ----------------------------- statistics ------------------------------ */ - -#if !NO_MALLINFO -static struct mallinfo internal_mallinfo(mstate m) { - struct mallinfo nm = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - if (!PREACTION(m)) { - check_malloc_state(m); - if (is_initialized(m)) { - size_t nfree = SIZE_T_ONE; /* top always free */ - size_t mfree = m->topsize + TOP_FOOT_SIZE; - size_t sum = mfree; - msegmentptr s = &m->seg; - while (s != 0) { - mchunkptr q = align_as_chunk(s->base); - while (segment_holds(s, q) && - q != m->top && q->head != FENCEPOST_HEAD) { - size_t sz = chunksize(q); - sum += sz; - if (!cinuse(q)) { - mfree += sz; - ++nfree; - } - q = next_chunk(q); - } - s = s->next; - } - - nm.arena = sum; - nm.ordblks = nfree; - nm.hblkhd = m->footprint - sum; - nm.usmblks = m->max_footprint; - nm.uordblks = m->footprint - mfree; - nm.fordblks = mfree; - nm.keepcost = m->topsize; - } - - POSTACTION(m); - } - return nm; -} -#endif /* !NO_MALLINFO */ - -static void internal_malloc_stats(mstate m) { - if (!PREACTION(m)) { - size_t maxfp = 0; - size_t fp = 0; - size_t used = 0; - check_malloc_state(m); - if (is_initialized(m)) { - msegmentptr s = &m->seg; - maxfp = m->max_footprint; - fp = m->footprint; - used = fp - (m->topsize + TOP_FOOT_SIZE); - - while (s != 0) { - mchunkptr q = align_as_chunk(s->base); - while (segment_holds(s, q) && - q != m->top && q->head != FENCEPOST_HEAD) { - if (!cinuse(q)) - used -= chunksize(q); - q = next_chunk(q); - } - s = s->next; - } - } - - fprintf(stderr, "max system bytes = %10lu\n", (unsigned long)(maxfp)); - fprintf(stderr, "system bytes = %10lu\n", (unsigned long)(fp)); - fprintf(stderr, "in use bytes = %10lu\n", (unsigned long)(used)); - - POSTACTION(m); - } -} - -/* ----------------------- Operations on smallbins ----------------------- */ - -/* - Various forms of linking and unlinking are defined as macros. Even - the ones for trees, which are very long but have very short typical - paths. This is ugly but reduces reliance on inlining support of - compilers. -*/ - -/* Link a free chunk into a smallbin */ -#define insert_small_chunk(M, P, S) {\ - bindex_t I = small_index(S);\ - mchunkptr B = smallbin_at(M, I);\ - mchunkptr F = B;\ - assert(S >= MIN_CHUNK_SIZE);\ - if (!smallmap_is_marked(M, I))\ - mark_smallmap(M, I);\ - else if (RTCHECK(ok_address(M, B->fd)))\ - F = B->fd;\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - }\ - B->fd = P;\ - F->bk = P;\ - P->fd = F;\ - P->bk = B;\ -} - -/* Unlink a chunk from a smallbin */ -#define unlink_small_chunk(M, P, S) {\ - mchunkptr F = P->fd;\ - mchunkptr B = P->bk;\ - bindex_t I = small_index(S);\ - assert(P != B);\ - assert(P != F);\ - assert(chunksize(P) == small_index2size(I));\ - if (F == B)\ - clear_smallmap(M, I);\ - else if (RTCHECK((F == smallbin_at(M,I) || ok_address(M, F)) &&\ - (B == smallbin_at(M,I) || ok_address(M, B)))) {\ - F->bk = B;\ - B->fd = F;\ - }\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - }\ -} - -/* Unlink the first chunk from a smallbin */ -#define unlink_first_small_chunk(M, B, P, I) {\ - mchunkptr F = P->fd;\ - assert(P != B);\ - assert(P != F);\ - assert(chunksize(P) == small_index2size(I));\ - if (B == F)\ - clear_smallmap(M, I);\ - else if (RTCHECK(ok_address(M, F))) {\ - B->fd = F;\ - F->bk = B;\ - }\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - }\ -} - -/* Replace dv node, binning the old one */ -/* Used only when dvsize known to be small */ -#define replace_dv(M, P, S) {\ - size_t DVS = M->dvsize;\ - if (DVS != 0) {\ - mchunkptr DV = M->dv;\ - assert(is_small(DVS));\ - insert_small_chunk(M, DV, DVS);\ - }\ - M->dvsize = S;\ - M->dv = P;\ -} - -/* ------------------------- Operations on trees ------------------------- */ - -/* Insert chunk into tree */ -#define insert_large_chunk(M, X, S) {\ - tbinptr* H;\ - bindex_t I;\ - compute_tree_index(S, I);\ - H = treebin_at(M, I);\ - X->index = I;\ - X->child[0] = X->child[1] = 0;\ - if (!treemap_is_marked(M, I)) {\ - mark_treemap(M, I);\ - *H = X;\ - X->parent = (tchunkptr)H;\ - X->fd = X->bk = X;\ - }\ - else {\ - tchunkptr T = *H;\ - size_t K = S << leftshift_for_tree_index(I);\ - for (;;) {\ - if (chunksize(T) != S) {\ - tchunkptr* C = &(T->child[(K >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1]);\ - K <<= 1;\ - if (*C != 0)\ - T = *C;\ - else if (RTCHECK(ok_address(M, C))) {\ - *C = X;\ - X->parent = T;\ - X->fd = X->bk = X;\ - break;\ - }\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - break;\ - }\ - }\ - else {\ - tchunkptr F = T->fd;\ - if (RTCHECK(ok_address(M, T) && ok_address(M, F))) {\ - T->fd = F->bk = X;\ - X->fd = F;\ - X->bk = T;\ - X->parent = 0;\ - break;\ - }\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - break;\ - }\ - }\ - }\ - }\ -} - -/* - Unlink steps: - - 1. If x is a chained node, unlink it from its same-sized fd/bk links - and choose its bk node as its replacement. - 2. If x was the last node of its size, but not a leaf node, it must - be replaced with a leaf node (not merely one with an open left or - right), to make sure that lefts and rights of descendants - correspond properly to bit masks. We use the rightmost descendant - of x. We could use any other leaf, but this is easy to locate and - tends to counteract removal of leftmosts elsewhere, and so keeps - paths shorter than minimally guaranteed. This doesn't loop much - because on average a node in a tree is near the bottom. - 3. If x is the base of a chain (i.e., has parent links) relink - x's parent and children to x's replacement (or null if none). -*/ - -#define unlink_large_chunk(M, X) {\ - tchunkptr XP = X->parent;\ - tchunkptr R;\ - if (X->bk != X) {\ - tchunkptr F = X->fd;\ - R = X->bk;\ - if (RTCHECK(ok_address(M, F))) {\ - F->bk = R;\ - R->fd = F;\ - }\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - }\ - }\ - else {\ - tchunkptr* RP;\ - if (((R = *(RP = &(X->child[1]))) != 0) ||\ - ((R = *(RP = &(X->child[0]))) != 0)) {\ - tchunkptr* CP;\ - while ((*(CP = &(R->child[1])) != 0) ||\ - (*(CP = &(R->child[0])) != 0)) {\ - R = *(RP = CP);\ - }\ - if (RTCHECK(ok_address(M, RP)))\ - *RP = 0;\ - else {\ - CORRUPTION_ERROR_ACTION(M);\ - }\ - }\ - }\ - if (XP != 0) {\ - tbinptr* H = treebin_at(M, X->index);\ - if (X == *H) {\ - if ((*H = R) == 0) \ - clear_treemap(M, X->index);\ - }\ - else if (RTCHECK(ok_address(M, XP))) {\ - if (XP->child[0] == X) \ - XP->child[0] = R;\ - else \ - XP->child[1] = R;\ - }\ - else\ - CORRUPTION_ERROR_ACTION(M);\ - if (R != 0) {\ - if (RTCHECK(ok_address(M, R))) {\ - tchunkptr C0, C1;\ - R->parent = XP;\ - if ((C0 = X->child[0]) != 0) {\ - if (RTCHECK(ok_address(M, C0))) {\ - R->child[0] = C0;\ - C0->parent = R;\ - }\ - else\ - CORRUPTION_ERROR_ACTION(M);\ - }\ - if ((C1 = X->child[1]) != 0) {\ - if (RTCHECK(ok_address(M, C1))) {\ - R->child[1] = C1;\ - C1->parent = R;\ - }\ - else\ - CORRUPTION_ERROR_ACTION(M);\ - }\ - }\ - else\ - CORRUPTION_ERROR_ACTION(M);\ - }\ - }\ -} - -/* Relays to large vs small bin operations */ - -#define insert_chunk(M, P, S)\ - if (is_small(S)) insert_small_chunk(M, P, S)\ - else { tchunkptr TP = (tchunkptr)(P); insert_large_chunk(M, TP, S); } - -#define unlink_chunk(M, P, S)\ - if (is_small(S)) unlink_small_chunk(M, P, S)\ - else { tchunkptr TP = (tchunkptr)(P); unlink_large_chunk(M, TP); } - - -/* Relays to internal calls to malloc/free from realloc, memalign etc */ - -#if ONLY_MSPACES -#define internal_malloc(m, b) mspace_malloc(m, b) -#define internal_free(m, mem) mspace_free(m,mem); -#else /* ONLY_MSPACES */ -#if MSPACES -#define internal_malloc(m, b)\ - (m == gm)? dlmalloc(b) : mspace_malloc(m, b) -#define internal_free(m, mem)\ - if (m == gm) dlfree(mem); else mspace_free(m,mem); -#else /* MSPACES */ -#define internal_malloc(m, b) dlmalloc(b) -#define internal_free(m, mem) dlfree(mem) -#endif /* MSPACES */ -#endif /* ONLY_MSPACES */ - -/* ----------------------- Direct-mmapping chunks ----------------------- */ - -/* - Directly mmapped chunks are set up with an offset to the start of - the mmapped region stored in the prev_foot field of the chunk. This - allows reconstruction of the required argument to MUNMAP when freed, - and also allows adjustment of the returned chunk to meet alignment - requirements (especially in memalign). There is also enough space - allocated to hold a fake next chunk of size SIZE_T_SIZE to maintain - the PINUSE bit so frees can be checked. -*/ - -/* Malloc using mmap */ -static void* mmap_alloc(mstate m, size_t nb) { - size_t mmsize = granularity_align(nb + SIX_SIZE_T_SIZES + CHUNK_ALIGN_MASK); - if (mmsize > nb) { /* Check for wrap around 0 */ - char* mm = (char*)(DIRECT_MMAP(mmsize)); - if (mm != CMFAIL) { - size_t offset = align_offset(chunk2mem(mm)); - size_t psize = mmsize - offset - MMAP_FOOT_PAD; - mchunkptr p = (mchunkptr)(mm + offset); - p->prev_foot = offset | IS_MMAPPED_BIT; - (p)->head = (psize|CINUSE_BIT); - mark_inuse_foot(m, p, psize); - chunk_plus_offset(p, psize)->head = FENCEPOST_HEAD; - chunk_plus_offset(p, psize+SIZE_T_SIZE)->head = 0; - - if (mm < m->least_addr) - m->least_addr = mm; - if ((m->footprint += mmsize) > m->max_footprint) - m->max_footprint = m->footprint; - assert(is_aligned(chunk2mem(p))); - check_mmapped_chunk(m, p); - return chunk2mem(p); - } - } - return 0; -} - -/* Realloc using mmap */ -static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb) { - size_t oldsize = chunksize(oldp); - if (is_small(nb)) /* Can't shrink mmap regions below small size */ - return 0; - /* Keep old chunk if big enough but not too big */ - if (oldsize >= nb + SIZE_T_SIZE && - (oldsize - nb) <= (mparams.granularity << 1)) - return oldp; - else { - size_t offset = oldp->prev_foot & ~IS_MMAPPED_BIT; - size_t oldmmsize = oldsize + offset + MMAP_FOOT_PAD; - size_t newmmsize = granularity_align(nb + SIX_SIZE_T_SIZES + - CHUNK_ALIGN_MASK); - char* cp = (char*)CALL_MREMAP((char*)oldp - offset, - oldmmsize, newmmsize, 1); - if (cp != CMFAIL) { - mchunkptr newp = (mchunkptr)(cp + offset); - size_t psize = newmmsize - offset - MMAP_FOOT_PAD; - newp->head = (psize|CINUSE_BIT); - mark_inuse_foot(m, newp, psize); - chunk_plus_offset(newp, psize)->head = FENCEPOST_HEAD; - chunk_plus_offset(newp, psize+SIZE_T_SIZE)->head = 0; - - if (cp < m->least_addr) - m->least_addr = cp; - if ((m->footprint += newmmsize - oldmmsize) > m->max_footprint) - m->max_footprint = m->footprint; - check_mmapped_chunk(m, newp); - return newp; - } - } - return 0; -} - -/* -------------------------- mspace management -------------------------- */ - -/* Initialize top chunk and its size */ -static void init_top(mstate m, mchunkptr p, size_t psize) { - /* Ensure alignment */ - size_t offset = align_offset(chunk2mem(p)); - p = (mchunkptr)((char*)p + offset); - psize -= offset; - - m->top = p; - m->topsize = psize; - p->head = psize | PINUSE_BIT; - /* set size of fake trailing chunk holding overhead space only once */ - chunk_plus_offset(p, psize)->head = TOP_FOOT_SIZE; - m->trim_check = mparams.trim_threshold; /* reset on each update */ -} - -/* Initialize bins for a new mstate that is otherwise zeroed out */ -static void init_bins(mstate m) { - /* Establish circular links for smallbins */ - bindex_t i; - for (i = 0; i < NSMALLBINS; ++i) { - sbinptr bin = smallbin_at(m,i); - bin->fd = bin->bk = bin; - } -} - -#if PROCEED_ON_ERROR - -/* default corruption action */ -static void reset_on_error(mstate m) { - int i; - ++malloc_corruption_error_count; - /* Reinitialize fields to forget about all memory */ - m->smallbins = m->treebins = 0; - m->dvsize = m->topsize = 0; - m->seg.base = 0; - m->seg.size = 0; - m->seg.next = 0; - m->top = m->dv = 0; - for (i = 0; i < NTREEBINS; ++i) - *treebin_at(m, i) = 0; - init_bins(m); -} -#endif /* PROCEED_ON_ERROR */ - -/* Allocate chunk and prepend remainder with chunk in successor base. */ -static void* prepend_alloc(mstate m, char* newbase, char* oldbase, - size_t nb) { - mchunkptr p = align_as_chunk(newbase); - mchunkptr oldfirst = align_as_chunk(oldbase); - size_t psize = (char*)oldfirst - (char*)p; - mchunkptr q = chunk_plus_offset(p, nb); - size_t qsize = psize - nb; - set_size_and_pinuse_of_inuse_chunk(m, p, nb); - - assert((char*)oldfirst > (char*)q); - assert(pinuse(oldfirst)); - assert(qsize >= MIN_CHUNK_SIZE); - - /* consolidate remainder with first chunk of old base */ - if (oldfirst == m->top) { - size_t tsize = m->topsize += qsize; - m->top = q; - q->head = tsize | PINUSE_BIT; - check_top_chunk(m, q); - } - else if (oldfirst == m->dv) { - size_t dsize = m->dvsize += qsize; - m->dv = q; - set_size_and_pinuse_of_free_chunk(q, dsize); - } - else { - if (!cinuse(oldfirst)) { - size_t nsize = chunksize(oldfirst); - unlink_chunk(m, oldfirst, nsize); - oldfirst = chunk_plus_offset(oldfirst, nsize); - qsize += nsize; - } - set_free_with_pinuse(q, qsize, oldfirst); - insert_chunk(m, q, qsize); - check_free_chunk(m, q); - } - - check_malloced_chunk(m, chunk2mem(p), nb); - return chunk2mem(p); -} - - -/* Add a segment to hold a new noncontiguous region */ -static void add_segment(mstate m, char* tbase, size_t tsize, flag_t mmapped) { - /* Determine locations and sizes of segment, fenceposts, old top */ - char* old_top = (char*)m->top; - msegmentptr oldsp = segment_holding(m, old_top); - char* old_end = oldsp->base + oldsp->size; - size_t ssize = pad_request(sizeof(struct malloc_segment)); - char* rawsp = old_end - (ssize + FOUR_SIZE_T_SIZES + CHUNK_ALIGN_MASK); - size_t offset = align_offset(chunk2mem(rawsp)); - char* asp = rawsp + offset; - char* csp = (asp < (old_top + MIN_CHUNK_SIZE))? old_top : asp; - mchunkptr sp = (mchunkptr)csp; - msegmentptr ss = (msegmentptr)(chunk2mem(sp)); - mchunkptr tnext = chunk_plus_offset(sp, ssize); - mchunkptr p = tnext; - int nfences = 0; - - /* reset top to new space */ - init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE); - - /* Set up segment record */ - assert(is_aligned(ss)); - set_size_and_pinuse_of_inuse_chunk(m, sp, ssize); - *ss = m->seg; /* Push current record */ - m->seg.base = tbase; - m->seg.size = tsize; - (void)set_segment_flags(&m->seg, mmapped); - m->seg.next = ss; - - /* Insert trailing fenceposts */ - for (;;) { - mchunkptr nextp = chunk_plus_offset(p, SIZE_T_SIZE); - p->head = FENCEPOST_HEAD; - ++nfences; - if ((char*)(&(nextp->head)) < old_end) - p = nextp; - else - break; - } - assert(nfences >= 2); - - /* Insert the rest of old top into a bin as an ordinary free chunk */ - if (csp != old_top) { - mchunkptr q = (mchunkptr)old_top; - size_t psize = csp - old_top; - mchunkptr tn = chunk_plus_offset(q, psize); - set_free_with_pinuse(q, psize, tn); - insert_chunk(m, q, psize); - } - - check_top_chunk(m, m->top); -} - -/* -------------------------- System allocation -------------------------- */ - -/* Get memory from system using MORECORE or MMAP */ -static void* sys_alloc(mstate m, size_t nb) { - char* tbase = CMFAIL; - size_t tsize = 0; - flag_t mmap_flag = 0; - - init_mparams(); - - /* Directly map large chunks */ - if (use_mmap(m) && nb >= mparams.mmap_threshold) { - void* mem = mmap_alloc(m, nb); - if (mem != 0) - return mem; - } - - /* - Try getting memory in any of three ways (in most-preferred to - least-preferred order): - 1. A call to MORECORE that can normally contiguously extend memory. - (disabled if not MORECORE_CONTIGUOUS or not HAVE_MORECORE or - or main space is mmapped or a previous contiguous call failed) - 2. A call to MMAP new space (disabled if not HAVE_MMAP). - Note that under the default settings, if MORECORE is unable to - fulfill a request, and HAVE_MMAP is true, then mmap is - used as a noncontiguous system allocator. This is a useful backup - strategy for systems with holes in address spaces -- in this case - sbrk cannot contiguously expand the heap, but mmap may be able to - find space. - 3. A call to MORECORE that cannot usually contiguously extend memory. - (disabled if not HAVE_MORECORE) - */ - - if (MORECORE_CONTIGUOUS && !use_noncontiguous(m)) { - char* br = CMFAIL; - msegmentptr ss = (m->top == 0)? 0 : segment_holding(m, (char*)m->top); - size_t asize = 0; - ACQUIRE_MORECORE_LOCK(); - - if (ss == 0) { /* First time through or recovery */ - char* base = (char*)CALL_MORECORE(0); - if (base != CMFAIL) { - asize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE); - /* Adjust to end on a page boundary */ - if (!is_page_aligned(base)) - asize += (page_align((size_t)base) - (size_t)base); - /* Can't call MORECORE if size is negative when treated as signed */ - if (asize < HALF_MAX_SIZE_T && - (br = (char*)(CALL_MORECORE(asize))) == base) { - tbase = base; - tsize = asize; - } - } - } - else { - /* Subtract out existing available top space from MORECORE request. */ - asize = granularity_align(nb - m->topsize + TOP_FOOT_SIZE + SIZE_T_ONE); - /* Use mem here only if it did continuously extend old space */ - if (asize < HALF_MAX_SIZE_T && - (br = (char*)(CALL_MORECORE(asize))) == ss->base+ss->size) { - tbase = br; - tsize = asize; - } - } - - if (tbase == CMFAIL) { /* Cope with partial failure */ - if (br != CMFAIL) { /* Try to use/extend the space we did get */ - if (asize < HALF_MAX_SIZE_T && - asize < nb + TOP_FOOT_SIZE + SIZE_T_ONE) { - size_t esize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE - asize); - if (esize < HALF_MAX_SIZE_T) { - char* end = (char*)CALL_MORECORE(esize); - if (end != CMFAIL) - asize += esize; - else { /* Can't use; try to release */ - (void)CALL_MORECORE(-asize); - br = CMFAIL; - } - } - } - } - if (br != CMFAIL) { /* Use the space we did get */ - tbase = br; - tsize = asize; - } - else - disable_contiguous(m); /* Don't try contiguous path in the future */ - } - - RELEASE_MORECORE_LOCK(); - } - - if (HAVE_MMAP && tbase == CMFAIL) { /* Try MMAP */ - size_t req = nb + TOP_FOOT_SIZE + SIZE_T_ONE; - size_t rsize = granularity_align(req); - if (rsize > nb) { /* Fail if wraps around zero */ - char* mp = (char*)(CALL_MMAP(rsize)); - if (mp != CMFAIL) { - tbase = mp; - tsize = rsize; - mmap_flag = IS_MMAPPED_BIT; - } - } - } - - if (HAVE_MORECORE && tbase == CMFAIL) { /* Try noncontiguous MORECORE */ - size_t asize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE); - if (asize < HALF_MAX_SIZE_T) { - char* br = CMFAIL; - char* end = CMFAIL; - ACQUIRE_MORECORE_LOCK(); - br = (char*)(CALL_MORECORE(asize)); - end = (char*)(CALL_MORECORE(0)); - RELEASE_MORECORE_LOCK(); - if (br != CMFAIL && end != CMFAIL && br < end) { - size_t ssize = end - br; - if (ssize > nb + TOP_FOOT_SIZE) { - tbase = br; - tsize = ssize; - } - } - } - } - - if (tbase != CMFAIL) { - - if ((m->footprint += tsize) > m->max_footprint) - m->max_footprint = m->footprint; - - if (!is_initialized(m)) { /* first-time initialization */ - m->seg.base = m->least_addr = tbase; - m->seg.size = tsize; - (void)set_segment_flags(&m->seg, mmap_flag); - m->magic = mparams.magic; - init_bins(m); - if (is_global(m)) - init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE); - else { - /* Offset top by embedded malloc_state */ - mchunkptr mn = next_chunk(mem2chunk(m)); - init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) -TOP_FOOT_SIZE); - } - } - - else { - /* Try to merge with an existing segment */ - msegmentptr sp = &m->seg; - while (sp != 0 && tbase != sp->base + sp->size) - sp = sp->next; - if (sp != 0 && - !is_extern_segment(sp) && - check_segment_merge(sp, tbase, tsize) && - (get_segment_flags(sp) & IS_MMAPPED_BIT) == mmap_flag && - segment_holds(sp, m->top)) { /* append */ - sp->size += tsize; - init_top(m, m->top, m->topsize + tsize); - } - else { - if (tbase < m->least_addr) - m->least_addr = tbase; - sp = &m->seg; - while (sp != 0 && sp->base != tbase + tsize) - sp = sp->next; - if (sp != 0 && - !is_extern_segment(sp) && - check_segment_merge(sp, tbase, tsize) && - (get_segment_flags(sp) & IS_MMAPPED_BIT) == mmap_flag) { - char* oldbase = sp->base; - sp->base = tbase; - sp->size += tsize; - return prepend_alloc(m, tbase, oldbase, nb); - } - else - add_segment(m, tbase, tsize, mmap_flag); - } - } - - if (nb < m->topsize) { /* Allocate from new or extended top space */ - size_t rsize = m->topsize -= nb; - mchunkptr p = m->top; - mchunkptr r = m->top = chunk_plus_offset(p, nb); - r->head = rsize | PINUSE_BIT; - set_size_and_pinuse_of_inuse_chunk(m, p, nb); - check_top_chunk(m, m->top); - check_malloced_chunk(m, chunk2mem(p), nb); - return chunk2mem(p); - } - } - - MALLOC_FAILURE_ACTION; - return 0; -} - -/* ----------------------- system deallocation -------------------------- */ - -/* Unmap and unlink any mmapped segments that don't contain used chunks */ -static size_t release_unused_segments(mstate m) { - size_t released = 0; - msegmentptr pred = &m->seg; - msegmentptr sp = pred->next; - while (sp != 0) { - char* base = sp->base; - size_t size = sp->size; - msegmentptr next = sp->next; - if (is_mmapped_segment(sp) && !is_extern_segment(sp)) { - mchunkptr p = align_as_chunk(base); - size_t psize = chunksize(p); - /* Can unmap if first chunk holds entire segment and not pinned */ - if (!cinuse(p) && (char*)p + psize >= base + size - TOP_FOOT_SIZE) { - tchunkptr tp = (tchunkptr)p; - assert(segment_holds(sp, (char*)sp)); - if (p == m->dv) { - m->dv = 0; - m->dvsize = 0; - } - else { - unlink_large_chunk(m, tp); - } - if (CALL_MUNMAP(base, size) == 0) { - released += size; - m->footprint -= size; - /* unlink obsoleted record */ - sp = pred; - sp->next = next; - } - else { /* back out if cannot unmap */ - insert_large_chunk(m, tp, psize); - } - } - } - pred = sp; - sp = next; - } - return released; -} - -static int sys_trim(mstate m, size_t pad) { - size_t released = 0; - if (pad < MAX_REQUEST && is_initialized(m)) { - pad += TOP_FOOT_SIZE; /* ensure enough room for segment overhead */ - - if (m->topsize > pad) { - /* Shrink top space in granularity-size units, keeping at least one */ - size_t unit = mparams.granularity; - size_t extra = ((m->topsize - pad + (unit - SIZE_T_ONE)) / unit - - SIZE_T_ONE) * unit; - msegmentptr sp = segment_holding(m, (char*)m->top); - - if (!is_extern_segment(sp)) { - if (is_mmapped_segment(sp)) { - if (HAVE_MMAP && - sp->size >= extra && - !has_segment_link(m, sp)) { /* can't shrink if pinned */ - size_t newsize = sp->size - extra; - /* Prefer mremap, fall back to munmap */ - if ((CALL_MREMAP(sp->base, sp->size, newsize, 0) != MFAIL) || - (CALL_MUNMAP(sp->base + newsize, extra) == 0)) { - released = extra; - } - } - } - else if (HAVE_MORECORE) { - if (extra >= HALF_MAX_SIZE_T) /* Avoid wrapping negative */ - extra = (HALF_MAX_SIZE_T) + SIZE_T_ONE - unit; - ACQUIRE_MORECORE_LOCK(); - { - /* Make sure end of memory is where we last set it. */ - char* old_br = (char*)(CALL_MORECORE(0)); - if (old_br == sp->base + sp->size) { - char* rel_br = (char*)(CALL_MORECORE(-extra)); - char* new_br = (char*)(CALL_MORECORE(0)); - if (rel_br != CMFAIL && new_br < old_br) - released = old_br - new_br; - } - } - RELEASE_MORECORE_LOCK(); - } - } - - if (released != 0) { - sp->size -= released; - m->footprint -= released; - init_top(m, m->top, m->topsize - released); - check_top_chunk(m, m->top); - } - } - - /* Unmap any unused mmapped segments */ - if (HAVE_MMAP) - released += release_unused_segments(m); - - /* On failure, disable autotrim to avoid repeated failed future calls */ - if (released == 0) - m->trim_check = MAX_SIZE_T; - } - - return (released != 0)? 1 : 0; -} - -/* ---------------------------- malloc support --------------------------- */ - -/* allocate a large request from the best fitting chunk in a treebin */ -static void* tmalloc_large(mstate m, size_t nb) { - tchunkptr v = 0; - size_t rsize = -nb; /* Unsigned negation */ - tchunkptr t; - bindex_t idx; - compute_tree_index(nb, idx); - - if ((t = *treebin_at(m, idx)) != 0) { - /* Traverse tree for this bin looking for node with size == nb */ - size_t sizebits = nb << leftshift_for_tree_index(idx); - tchunkptr rst = 0; /* The deepest untaken right subtree */ - for (;;) { - tchunkptr rt; - size_t trem = chunksize(t) - nb; - if (trem < rsize) { - v = t; - if ((rsize = trem) == 0) - break; - } - rt = t->child[1]; - t = t->child[(sizebits >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1]; - if (rt != 0 && rt != t) - rst = rt; - if (t == 0) { - t = rst; /* set t to least subtree holding sizes > nb */ - break; - } - sizebits <<= 1; - } - } - - if (t == 0 && v == 0) { /* set t to root of next non-empty treebin */ - binmap_t leftbits = left_bits(idx2bit(idx)) & m->treemap; - if (leftbits != 0) { - bindex_t i; - binmap_t leastbit = least_bit(leftbits); - compute_bit2idx(leastbit, i); - t = *treebin_at(m, i); - } - } - - while (t != 0) { /* find smallest of tree or subtree */ - size_t trem = chunksize(t) - nb; - if (trem < rsize) { - rsize = trem; - v = t; - } - t = leftmost_child(t); - } - - /* If dv is a better fit, return 0 so malloc will use it */ - if (v != 0 && rsize < (size_t)(m->dvsize - nb)) { - if (RTCHECK(ok_address(m, v))) { /* split */ - mchunkptr r = chunk_plus_offset(v, nb); - assert(chunksize(v) == rsize + nb); - if (RTCHECK(ok_next(v, r))) { - unlink_large_chunk(m, v); - if (rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(m, v, (rsize + nb)); - else { - set_size_and_pinuse_of_inuse_chunk(m, v, nb); - set_size_and_pinuse_of_free_chunk(r, rsize); - insert_chunk(m, r, rsize); - } - return chunk2mem(v); - } - } - CORRUPTION_ERROR_ACTION(m); - } - return 0; -} - -/* allocate a small request from the best fitting chunk in a treebin */ -static void* tmalloc_small(mstate m, size_t nb) { - tchunkptr t, v; - size_t rsize; - bindex_t i; - binmap_t leastbit = least_bit(m->treemap); - compute_bit2idx(leastbit, i); - - v = t = *treebin_at(m, i); - rsize = chunksize(t) - nb; - - while ((t = leftmost_child(t)) != 0) { - size_t trem = chunksize(t) - nb; - if (trem < rsize) { - rsize = trem; - v = t; - } - } - - if (RTCHECK(ok_address(m, v))) { - mchunkptr r = chunk_plus_offset(v, nb); - assert(chunksize(v) == rsize + nb); - if (RTCHECK(ok_next(v, r))) { - unlink_large_chunk(m, v); - if (rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(m, v, (rsize + nb)); - else { - set_size_and_pinuse_of_inuse_chunk(m, v, nb); - set_size_and_pinuse_of_free_chunk(r, rsize); - replace_dv(m, r, rsize); - } - return chunk2mem(v); - } - } - - CORRUPTION_ERROR_ACTION(m); - return 0; -} - -/* --------------------------- realloc support --------------------------- */ - -static void* internal_realloc(mstate m, void* oldmem, size_t bytes) { - if (bytes >= MAX_REQUEST) { - MALLOC_FAILURE_ACTION; - return 0; - } - if (!PREACTION(m)) { - mchunkptr oldp = mem2chunk(oldmem); - size_t oldsize = chunksize(oldp); - mchunkptr next = chunk_plus_offset(oldp, oldsize); - mchunkptr newp = 0; - void* extra = 0; - - /* Try to either shrink or extend into top. Else malloc-copy-free */ - - if (RTCHECK(ok_address(m, oldp) && ok_cinuse(oldp) && - ok_next(oldp, next) && ok_pinuse(next))) { - size_t nb = request2size(bytes); - if (is_mmapped(oldp)) - newp = mmap_resize(m, oldp, nb); - else if (oldsize >= nb) { /* already big enough */ - size_t rsize = oldsize - nb; - newp = oldp; - if (rsize >= MIN_CHUNK_SIZE) { - mchunkptr remainder = chunk_plus_offset(newp, nb); - set_inuse(m, newp, nb); - set_inuse(m, remainder, rsize); - extra = chunk2mem(remainder); - } - } - else if (next == m->top && oldsize + m->topsize > nb) { - /* Expand into top */ - size_t newsize = oldsize + m->topsize; - size_t newtopsize = newsize - nb; - mchunkptr newtop = chunk_plus_offset(oldp, nb); - set_inuse(m, oldp, nb); - newtop->head = newtopsize |PINUSE_BIT; - m->top = newtop; - m->topsize = newtopsize; - newp = oldp; - } - } - else { - USAGE_ERROR_ACTION(m, oldmem); - POSTACTION(m); - return 0; - } - - POSTACTION(m); - - if (newp != 0) { - if (extra != 0) { - internal_free(m, extra); - } - check_inuse_chunk(m, newp); - return chunk2mem(newp); - } - else { - void* newmem = internal_malloc(m, bytes); - if (newmem != 0) { - size_t oc = oldsize - overhead_for(oldp); - memcpy(newmem, oldmem, (oc < bytes)? oc : bytes); - internal_free(m, oldmem); - } - return newmem; - } - } - return 0; -} - -/* --------------------------- memalign support -------------------------- */ - -static void* internal_memalign(mstate m, size_t alignment, size_t bytes) { - if (alignment <= MALLOC_ALIGNMENT) /* Can just use malloc */ - return internal_malloc(m, bytes); - if (alignment < MIN_CHUNK_SIZE) /* must be at least a minimum chunk size */ - alignment = MIN_CHUNK_SIZE; - if ((alignment & (alignment-SIZE_T_ONE)) != 0) {/* Ensure a power of 2 */ - size_t a = MALLOC_ALIGNMENT << 1; - while (a < alignment) a <<= 1; - alignment = a; - } - - if (bytes >= MAX_REQUEST - alignment) { - if (m != 0) { /* Test isn't needed but avoids compiler warning */ - MALLOC_FAILURE_ACTION; - } - } - else { - size_t nb = request2size(bytes); - size_t req = nb + alignment + MIN_CHUNK_SIZE - CHUNK_OVERHEAD; - char* mem = (char*)internal_malloc(m, req); - if (mem != 0) { - void* leader = 0; - void* trailer = 0; - mchunkptr p = mem2chunk(mem); - - if (PREACTION(m)) return 0; - if ((((size_t)(mem)) % alignment) != 0) { /* misaligned */ - /* - Find an aligned spot inside chunk. Since we need to give - back leading space in a chunk of at least MIN_CHUNK_SIZE, if - the first calculation places us at a spot with less than - MIN_CHUNK_SIZE leader, we can move to the next aligned spot. - We've allocated enough total room so that this is always - possible. - */ - char* br = (char*)mem2chunk((size_t)(((size_t)(mem + - alignment - - SIZE_T_ONE)) & - -alignment)); - char* pos = ((size_t)(br - (char*)(p)) >= MIN_CHUNK_SIZE)? - br : br+alignment; - mchunkptr newp = (mchunkptr)pos; - size_t leadsize = pos - (char*)(p); - size_t newsize = chunksize(p) - leadsize; - - if (is_mmapped(p)) { /* For mmapped chunks, just adjust offset */ - newp->prev_foot = p->prev_foot + leadsize; - newp->head = (newsize|CINUSE_BIT); - } - else { /* Otherwise, give back leader, use the rest */ - set_inuse(m, newp, newsize); - set_inuse(m, p, leadsize); - leader = chunk2mem(p); - } - p = newp; - } - - /* Give back spare room at the end */ - if (!is_mmapped(p)) { - size_t size = chunksize(p); - if (size > nb + MIN_CHUNK_SIZE) { - size_t remainder_size = size - nb; - mchunkptr remainder = chunk_plus_offset(p, nb); - set_inuse(m, p, nb); - set_inuse(m, remainder, remainder_size); - trailer = chunk2mem(remainder); - } - } - - assert (chunksize(p) >= nb); - assert((((size_t)(chunk2mem(p))) % alignment) == 0); - check_inuse_chunk(m, p); - POSTACTION(m); - if (leader != 0) { - internal_free(m, leader); - } - if (trailer != 0) { - internal_free(m, trailer); - } - return chunk2mem(p); - } - } - return 0; -} - -/* ------------------------ comalloc/coalloc support --------------------- */ - -static void** ialloc(mstate m, - size_t n_elements, - size_t* sizes, - int opts, - void* chunks[]) { - /* - This provides common support for independent_X routines, handling - all of the combinations that can result. - - The opts arg has: - bit 0 set if all elements are same size (using sizes[0]) - bit 1 set if elements should be zeroed - */ - - size_t element_size; /* chunksize of each element, if all same */ - size_t contents_size; /* total size of elements */ - size_t array_size; /* request size of pointer array */ - void* mem; /* malloced aggregate space */ - mchunkptr p; /* corresponding chunk */ - size_t remainder_size; /* remaining bytes while splitting */ - void** marray; /* either "chunks" or malloced ptr array */ - mchunkptr array_chunk; /* chunk for malloced ptr array */ - flag_t was_enabled; /* to disable mmap */ - size_t size; - size_t i; - - /* compute array length, if needed */ - if (chunks != 0) { - if (n_elements == 0) - return chunks; /* nothing to do */ - marray = chunks; - array_size = 0; - } - else { - /* if empty req, must still return chunk representing empty array */ - if (n_elements == 0) - return (void**)internal_malloc(m, 0); - marray = 0; - array_size = request2size(n_elements * (sizeof(void*))); - } - - /* compute total element size */ - if (opts & 0x1) { /* all-same-size */ - element_size = request2size(*sizes); - contents_size = n_elements * element_size; - } - else { /* add up all the sizes */ - element_size = 0; - contents_size = 0; - for (i = 0; i != n_elements; ++i) - contents_size += request2size(sizes[i]); - } - - size = contents_size + array_size; - - /* - Allocate the aggregate chunk. First disable direct-mmapping so - malloc won't use it, since we would not be able to later - free/realloc space internal to a segregated mmap region. - */ - was_enabled = use_mmap(m); - disable_mmap(m); - mem = internal_malloc(m, size - CHUNK_OVERHEAD); - if (was_enabled) - enable_mmap(m); - if (mem == 0) - return 0; - - if (PREACTION(m)) return 0; - p = mem2chunk(mem); - remainder_size = chunksize(p); - - assert(!is_mmapped(p)); - - if (opts & 0x2) { /* optionally clear the elements */ - memset((size_t*)mem, 0, remainder_size - SIZE_T_SIZE - array_size); - } - - /* If not provided, allocate the pointer array as final part of chunk */ - if (marray == 0) { - size_t array_chunk_size; - array_chunk = chunk_plus_offset(p, contents_size); - array_chunk_size = remainder_size - contents_size; - marray = (void**) (chunk2mem(array_chunk)); - set_size_and_pinuse_of_inuse_chunk(m, array_chunk, array_chunk_size); - remainder_size = contents_size; - } - - /* split out elements */ - for (i = 0; ; ++i) { - marray[i] = chunk2mem(p); - if (i != n_elements-1) { - if (element_size != 0) - size = element_size; - else - size = request2size(sizes[i]); - remainder_size -= size; - set_size_and_pinuse_of_inuse_chunk(m, p, size); - p = chunk_plus_offset(p, size); - } - else { /* the final element absorbs any overallocation slop */ - set_size_and_pinuse_of_inuse_chunk(m, p, remainder_size); - break; - } - } - -#if DEBUG - if (marray != chunks) { - /* final element must have exactly exhausted chunk */ - if (element_size != 0) { - assert(remainder_size == element_size); - } - else { - assert(remainder_size == request2size(sizes[i])); - } - check_inuse_chunk(m, mem2chunk(marray)); - } - for (i = 0; i != n_elements; ++i) - check_inuse_chunk(m, mem2chunk(marray[i])); - -#endif /* DEBUG */ - - POSTACTION(m); - return marray; -} - - -/* -------------------------- public routines ---------------------------- */ - -#if !ONLY_MSPACES - -void* dlmalloc(size_t bytes) { - /* - Basic algorithm: - If a small request (< 256 bytes minus per-chunk overhead): - 1. If one exists, use a remainderless chunk in associated smallbin. - (Remainderless means that there are too few excess bytes to - represent as a chunk.) - 2. If it is big enough, use the dv chunk, which is normally the - chunk adjacent to the one used for the most recent small request. - 3. If one exists, split the smallest available chunk in a bin, - saving remainder in dv. - 4. If it is big enough, use the top chunk. - 5. If available, get memory from system and use it - Otherwise, for a large request: - 1. Find the smallest available binned chunk that fits, and use it - if it is better fitting than dv chunk, splitting if necessary. - 2. If better fitting than any binned chunk, use the dv chunk. - 3. If it is big enough, use the top chunk. - 4. If request size >= mmap threshold, try to directly mmap this chunk. - 5. If available, get memory from system and use it - - The ugly goto's here ensure that postaction occurs along all paths. - */ - - if (!PREACTION(gm)) { - void* mem; - size_t nb; - if (bytes <= MAX_SMALL_REQUEST) { - bindex_t idx; - binmap_t smallbits; - nb = (bytes < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(bytes); - idx = small_index(nb); - smallbits = gm->smallmap >> idx; - - if ((smallbits & 0x3U) != 0) { /* Remainderless fit to a smallbin. */ - mchunkptr b, p; - idx += ~smallbits & 1; /* Uses next bin if idx empty */ - b = smallbin_at(gm, idx); - p = b->fd; - assert(chunksize(p) == small_index2size(idx)); - unlink_first_small_chunk(gm, b, p, idx); - set_inuse_and_pinuse(gm, p, small_index2size(idx)); - mem = chunk2mem(p); - check_malloced_chunk(gm, mem, nb); - goto postaction; - } - - else if (nb > gm->dvsize) { - if (smallbits != 0) { /* Use chunk in next nonempty smallbin */ - mchunkptr b, p, r; - size_t rsize; - bindex_t i; - binmap_t leftbits = (smallbits << idx) & left_bits(idx2bit(idx)); - binmap_t leastbit = least_bit(leftbits); - compute_bit2idx(leastbit, i); - b = smallbin_at(gm, i); - p = b->fd; - assert(chunksize(p) == small_index2size(i)); - unlink_first_small_chunk(gm, b, p, i); - rsize = small_index2size(i) - nb; - /* Fit here cannot be remainderless if 4byte sizes */ - if (SIZE_T_SIZE != 4 && rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(gm, p, small_index2size(i)); - else { - set_size_and_pinuse_of_inuse_chunk(gm, p, nb); - r = chunk_plus_offset(p, nb); - set_size_and_pinuse_of_free_chunk(r, rsize); - replace_dv(gm, r, rsize); - } - mem = chunk2mem(p); - check_malloced_chunk(gm, mem, nb); - goto postaction; - } - - else if (gm->treemap != 0 && (mem = tmalloc_small(gm, nb)) != 0) { - check_malloced_chunk(gm, mem, nb); - goto postaction; - } - } - } - else if (bytes >= MAX_REQUEST) - nb = MAX_SIZE_T; /* Too big to allocate. Force failure (in sys alloc) */ - else { - nb = pad_request(bytes); - if (gm->treemap != 0 && (mem = tmalloc_large(gm, nb)) != 0) { - check_malloced_chunk(gm, mem, nb); - goto postaction; - } - } - - if (nb <= gm->dvsize) { - size_t rsize = gm->dvsize - nb; - mchunkptr p = gm->dv; - if (rsize >= MIN_CHUNK_SIZE) { /* split dv */ - mchunkptr r = gm->dv = chunk_plus_offset(p, nb); - gm->dvsize = rsize; - set_size_and_pinuse_of_free_chunk(r, rsize); - set_size_and_pinuse_of_inuse_chunk(gm, p, nb); - } - else { /* exhaust dv */ - size_t dvs = gm->dvsize; - gm->dvsize = 0; - gm->dv = 0; - set_inuse_and_pinuse(gm, p, dvs); - } - mem = chunk2mem(p); - check_malloced_chunk(gm, mem, nb); - goto postaction; - } - - else if (nb < gm->topsize) { /* Split top */ - size_t rsize = gm->topsize -= nb; - mchunkptr p = gm->top; - mchunkptr r = gm->top = chunk_plus_offset(p, nb); - r->head = rsize | PINUSE_BIT; - set_size_and_pinuse_of_inuse_chunk(gm, p, nb); - mem = chunk2mem(p); - check_top_chunk(gm, gm->top); - check_malloced_chunk(gm, mem, nb); - goto postaction; - } - - mem = sys_alloc(gm, nb); - - postaction: - POSTACTION(gm); - return mem; - } - - return 0; -} - -void dlfree(void* mem) { - /* - Consolidate freed chunks with preceding or succeeding bordering - free chunks, if they exist, and then place in a bin. Intermixed - with special cases for top, dv, mmapped chunks, and usage errors. - */ - - if (mem != 0) { - mchunkptr p = mem2chunk(mem); -#if FOOTERS - mstate fm = get_mstate_for(p); - if (!ok_magic(fm)) { - USAGE_ERROR_ACTION(fm, p); - return; - } -#else /* FOOTERS */ -#define fm gm -#endif /* FOOTERS */ - if (!PREACTION(fm)) { - check_inuse_chunk(fm, p); - if (RTCHECK(ok_address(fm, p) && ok_cinuse(p))) { - size_t psize = chunksize(p); - mchunkptr next = chunk_plus_offset(p, psize); - if (!pinuse(p)) { - size_t prevsize = p->prev_foot; - if ((prevsize & IS_MMAPPED_BIT) != 0) { - prevsize &= ~IS_MMAPPED_BIT; - psize += prevsize + MMAP_FOOT_PAD; - if (CALL_MUNMAP((char*)p - prevsize, psize) == 0) - fm->footprint -= psize; - goto postaction; - } - else { - mchunkptr prev = chunk_minus_offset(p, prevsize); - psize += prevsize; - p = prev; - if (RTCHECK(ok_address(fm, prev))) { /* consolidate backward */ - if (p != fm->dv) { - unlink_chunk(fm, p, prevsize); - } - else if ((next->head & INUSE_BITS) == INUSE_BITS) { - fm->dvsize = psize; - set_free_with_pinuse(p, psize, next); - goto postaction; - } - } - else - goto erroraction; - } - } - - if (RTCHECK(ok_next(p, next) && ok_pinuse(next))) { - if (!cinuse(next)) { /* consolidate forward */ - if (next == fm->top) { - size_t tsize = fm->topsize += psize; - fm->top = p; - p->head = tsize | PINUSE_BIT; - if (p == fm->dv) { - fm->dv = 0; - fm->dvsize = 0; - } - if (should_trim(fm, tsize)) - sys_trim(fm, 0); - goto postaction; - } - else if (next == fm->dv) { - size_t dsize = fm->dvsize += psize; - fm->dv = p; - set_size_and_pinuse_of_free_chunk(p, dsize); - goto postaction; - } - else { - size_t nsize = chunksize(next); - psize += nsize; - unlink_chunk(fm, next, nsize); - set_size_and_pinuse_of_free_chunk(p, psize); - if (p == fm->dv) { - fm->dvsize = psize; - goto postaction; - } - } - } - else - set_free_with_pinuse(p, psize, next); - insert_chunk(fm, p, psize); - check_free_chunk(fm, p); - goto postaction; - } - } - erroraction: - USAGE_ERROR_ACTION(fm, p); - postaction: - POSTACTION(fm); - } - } -#if !FOOTERS -#undef fm -#endif /* FOOTERS */ -} - -void* dlcalloc(size_t n_elements, size_t elem_size) { - void* mem; - size_t req = 0; - if (n_elements != 0) { - req = n_elements * elem_size; - if (((n_elements | elem_size) & ~(size_t)0xffff) && - (req / n_elements != elem_size)) - req = MAX_SIZE_T; /* force downstream failure on overflow */ - } - mem = dlmalloc(req); - if (mem != 0 && calloc_must_clear(mem2chunk(mem))) - memset(mem, 0, req); - return mem; -} - -void* dlrealloc(void* oldmem, size_t bytes) { - if (oldmem == 0) - return dlmalloc(bytes); -#ifdef REALLOC_ZERO_BYTES_FREES - if (bytes == 0) { - dlfree(oldmem); - return 0; - } -#endif /* REALLOC_ZERO_BYTES_FREES */ - else { -#if ! FOOTERS - mstate m = gm; -#else /* FOOTERS */ - mstate m = get_mstate_for(mem2chunk(oldmem)); - if (!ok_magic(m)) { - USAGE_ERROR_ACTION(m, oldmem); - return 0; - } -#endif /* FOOTERS */ - return internal_realloc(m, oldmem, bytes); - } -} - -void* dlmemalign(size_t alignment, size_t bytes) { - return internal_memalign(gm, alignment, bytes); -} - -void** dlindependent_calloc(size_t n_elements, size_t elem_size, - void* chunks[]) { - size_t sz = elem_size; /* serves as 1-element array */ - return ialloc(gm, n_elements, &sz, 3, chunks); -} - -void** dlindependent_comalloc(size_t n_elements, size_t sizes[], - void* chunks[]) { - return ialloc(gm, n_elements, sizes, 0, chunks); -} - -void* dlvalloc(size_t bytes) { - size_t pagesz; - init_mparams(); - pagesz = mparams.page_size; - return dlmemalign(pagesz, bytes); -} - -void* dlpvalloc(size_t bytes) { - size_t pagesz; - init_mparams(); - pagesz = mparams.page_size; - return dlmemalign(pagesz, (bytes + pagesz - SIZE_T_ONE) & ~(pagesz - SIZE_T_ONE)); -} - -int dlmalloc_trim(size_t pad) { - int result = 0; - if (!PREACTION(gm)) { - result = sys_trim(gm, pad); - POSTACTION(gm); - } - return result; -} - -size_t dlmalloc_footprint(void) { - return gm->footprint; -} - -size_t dlmalloc_max_footprint(void) { - return gm->max_footprint; -} - -#if !NO_MALLINFO -struct mallinfo dlmallinfo(void) { - return internal_mallinfo(gm); -} -#endif /* NO_MALLINFO */ - -void dlmalloc_stats() { - internal_malloc_stats(gm); -} - -size_t dlmalloc_usable_size(void* mem) { - if (mem != 0) { - mchunkptr p = mem2chunk(mem); - if (cinuse(p)) - return chunksize(p) - overhead_for(p); - } - return 0; -} - -int dlmallopt(int param_number, int value) { - return change_mparam(param_number, value); -} - -#endif /* !ONLY_MSPACES */ - -/* ----------------------------- user mspaces ---------------------------- */ - -#if MSPACES - -static mstate init_user_mstate(char* tbase, size_t tsize) { - size_t msize = pad_request(sizeof(struct malloc_state)); - mchunkptr mn; - mchunkptr msp = align_as_chunk(tbase); - mstate m = (mstate)(chunk2mem(msp)); - memset(m, 0, msize); - INITIAL_LOCK(&m->mutex); - msp->head = (msize|PINUSE_BIT|CINUSE_BIT); - m->seg.base = m->least_addr = tbase; - m->seg.size = m->footprint = m->max_footprint = tsize; - m->magic = mparams.magic; - m->mflags = mparams.default_mflags; - disable_contiguous(m); - init_bins(m); - mn = next_chunk(mem2chunk(m)); - init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) - TOP_FOOT_SIZE); - check_top_chunk(m, m->top); - return m; -} - -mspace create_mspace(size_t capacity, int locked) { - mstate m = 0; - size_t msize = pad_request(sizeof(struct malloc_state)); - init_mparams(); /* Ensure pagesize etc initialized */ - - if (capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) { - size_t rs = ((capacity == 0)? mparams.granularity : - (capacity + TOP_FOOT_SIZE + msize)); - size_t tsize = granularity_align(rs); - char* tbase = (char*)(CALL_MMAP(tsize)); - if (tbase != CMFAIL) { - m = init_user_mstate(tbase, tsize); - set_segment_flags(&m->seg, IS_MMAPPED_BIT); - set_lock(m, locked); - } - } - return (mspace)m; -} - -mspace create_mspace_with_base(void* base, size_t capacity, int locked) { - mstate m = 0; - size_t msize = pad_request(sizeof(struct malloc_state)); - init_mparams(); /* Ensure pagesize etc initialized */ - - if (capacity > msize + TOP_FOOT_SIZE && - capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) { - m = init_user_mstate((char*)base, capacity); - set_segment_flags(&m->seg, EXTERN_BIT); - set_lock(m, locked); - } - return (mspace)m; -} - -size_t destroy_mspace(mspace msp) { - size_t freed = 0; - mstate ms = (mstate)msp; - if (ok_magic(ms)) { - msegmentptr sp = &ms->seg; - while (sp != 0) { - char* base = sp->base; - size_t size = sp->size; - flag_t flag = get_segment_flags(sp); - sp = sp->next; - if ((flag & IS_MMAPPED_BIT) && !(flag & EXTERN_BIT) && - CALL_MUNMAP(base, size) == 0) - freed += size; - } - } - else { - USAGE_ERROR_ACTION(ms,ms); - } - return freed; -} - -/* - mspace versions of routines are near-clones of the global - versions. This is not so nice but better than the alternatives. -*/ - - -void* mspace_malloc(mspace msp, size_t bytes) { - mstate ms = (mstate)msp; - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - return 0; - } - if (!PREACTION(ms)) { - void* mem; - size_t nb; - if (bytes <= MAX_SMALL_REQUEST) { - bindex_t idx; - binmap_t smallbits; - nb = (bytes < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(bytes); - idx = small_index(nb); - smallbits = ms->smallmap >> idx; - - if ((smallbits & 0x3U) != 0) { /* Remainderless fit to a smallbin. */ - mchunkptr b, p; - idx += ~smallbits & 1; /* Uses next bin if idx empty */ - b = smallbin_at(ms, idx); - p = b->fd; - assert(chunksize(p) == small_index2size(idx)); - unlink_first_small_chunk(ms, b, p, idx); - set_inuse_and_pinuse(ms, p, small_index2size(idx)); - mem = chunk2mem(p); - check_malloced_chunk(ms, mem, nb); - goto postaction; - } - - else if (nb > ms->dvsize) { - if (smallbits != 0) { /* Use chunk in next nonempty smallbin */ - mchunkptr b, p, r; - size_t rsize; - bindex_t i; - binmap_t leftbits = (smallbits << idx) & left_bits(idx2bit(idx)); - binmap_t leastbit = least_bit(leftbits); - compute_bit2idx(leastbit, i); - b = smallbin_at(ms, i); - p = b->fd; - assert(chunksize(p) == small_index2size(i)); - unlink_first_small_chunk(ms, b, p, i); - rsize = small_index2size(i) - nb; - /* Fit here cannot be remainderless if 4byte sizes */ - if (SIZE_T_SIZE != 4 && rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(ms, p, small_index2size(i)); - else { - set_size_and_pinuse_of_inuse_chunk(ms, p, nb); - r = chunk_plus_offset(p, nb); - set_size_and_pinuse_of_free_chunk(r, rsize); - replace_dv(ms, r, rsize); - } - mem = chunk2mem(p); - check_malloced_chunk(ms, mem, nb); - goto postaction; - } - - else if (ms->treemap != 0 && (mem = tmalloc_small(ms, nb)) != 0) { - check_malloced_chunk(ms, mem, nb); - goto postaction; - } - } - } - else if (bytes >= MAX_REQUEST) - nb = MAX_SIZE_T; /* Too big to allocate. Force failure (in sys alloc) */ - else { - nb = pad_request(bytes); - if (ms->treemap != 0 && (mem = tmalloc_large(ms, nb)) != 0) { - check_malloced_chunk(ms, mem, nb); - goto postaction; - } - } - - if (nb <= ms->dvsize) { - size_t rsize = ms->dvsize - nb; - mchunkptr p = ms->dv; - if (rsize >= MIN_CHUNK_SIZE) { /* split dv */ - mchunkptr r = ms->dv = chunk_plus_offset(p, nb); - ms->dvsize = rsize; - set_size_and_pinuse_of_free_chunk(r, rsize); - set_size_and_pinuse_of_inuse_chunk(ms, p, nb); - } - else { /* exhaust dv */ - size_t dvs = ms->dvsize; - ms->dvsize = 0; - ms->dv = 0; - set_inuse_and_pinuse(ms, p, dvs); - } - mem = chunk2mem(p); - check_malloced_chunk(ms, mem, nb); - goto postaction; - } - - else if (nb < ms->topsize) { /* Split top */ - size_t rsize = ms->topsize -= nb; - mchunkptr p = ms->top; - mchunkptr r = ms->top = chunk_plus_offset(p, nb); - r->head = rsize | PINUSE_BIT; - set_size_and_pinuse_of_inuse_chunk(ms, p, nb); - mem = chunk2mem(p); - check_top_chunk(ms, ms->top); - check_malloced_chunk(ms, mem, nb); - goto postaction; - } - - mem = sys_alloc(ms, nb); - - postaction: - POSTACTION(ms); - return mem; - } - - return 0; -} - -void mspace_free(mspace msp, void* mem) { - if (mem != 0) { - mchunkptr p = mem2chunk(mem); -#if FOOTERS - mstate fm = get_mstate_for(p); -#else /* FOOTERS */ - mstate fm = (mstate)msp; -#endif /* FOOTERS */ - if (!ok_magic(fm)) { - USAGE_ERROR_ACTION(fm, p); - return; - } - if (!PREACTION(fm)) { - check_inuse_chunk(fm, p); - if (RTCHECK(ok_address(fm, p) && ok_cinuse(p))) { - size_t psize = chunksize(p); - mchunkptr next = chunk_plus_offset(p, psize); - if (!pinuse(p)) { - size_t prevsize = p->prev_foot; - if ((prevsize & IS_MMAPPED_BIT) != 0) { - prevsize &= ~IS_MMAPPED_BIT; - psize += prevsize + MMAP_FOOT_PAD; - if (CALL_MUNMAP((char*)p - prevsize, psize) == 0) - fm->footprint -= psize; - goto postaction; - } - else { - mchunkptr prev = chunk_minus_offset(p, prevsize); - psize += prevsize; - p = prev; - if (RTCHECK(ok_address(fm, prev))) { /* consolidate backward */ - if (p != fm->dv) { - unlink_chunk(fm, p, prevsize); - } - else if ((next->head & INUSE_BITS) == INUSE_BITS) { - fm->dvsize = psize; - set_free_with_pinuse(p, psize, next); - goto postaction; - } - } - else - goto erroraction; - } - } - - if (RTCHECK(ok_next(p, next) && ok_pinuse(next))) { - if (!cinuse(next)) { /* consolidate forward */ - if (next == fm->top) { - size_t tsize = fm->topsize += psize; - fm->top = p; - p->head = tsize | PINUSE_BIT; - if (p == fm->dv) { - fm->dv = 0; - fm->dvsize = 0; - } - if (should_trim(fm, tsize)) - sys_trim(fm, 0); - goto postaction; - } - else if (next == fm->dv) { - size_t dsize = fm->dvsize += psize; - fm->dv = p; - set_size_and_pinuse_of_free_chunk(p, dsize); - goto postaction; - } - else { - size_t nsize = chunksize(next); - psize += nsize; - unlink_chunk(fm, next, nsize); - set_size_and_pinuse_of_free_chunk(p, psize); - if (p == fm->dv) { - fm->dvsize = psize; - goto postaction; - } - } - } - else - set_free_with_pinuse(p, psize, next); - insert_chunk(fm, p, psize); - check_free_chunk(fm, p); - goto postaction; - } - } - erroraction: - USAGE_ERROR_ACTION(fm, p); - postaction: - POSTACTION(fm); - } - } -} - -void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size) { - void* mem; - size_t req = 0; - mstate ms = (mstate)msp; - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - return 0; - } - if (n_elements != 0) { - req = n_elements * elem_size; - if (((n_elements | elem_size) & ~(size_t)0xffff) && - (req / n_elements != elem_size)) - req = MAX_SIZE_T; /* force downstream failure on overflow */ - } - mem = internal_malloc(ms, req); - if (mem != 0 && calloc_must_clear(mem2chunk(mem))) - memset(mem, 0, req); - return mem; -} - -void* mspace_realloc(mspace msp, void* oldmem, size_t bytes) { - if (oldmem == 0) - return mspace_malloc(msp, bytes); -#ifdef REALLOC_ZERO_BYTES_FREES - if (bytes == 0) { - mspace_free(msp, oldmem); - return 0; - } -#endif /* REALLOC_ZERO_BYTES_FREES */ - else { -#if FOOTERS - mchunkptr p = mem2chunk(oldmem); - mstate ms = get_mstate_for(p); -#else /* FOOTERS */ - mstate ms = (mstate)msp; -#endif /* FOOTERS */ - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - return 0; - } - return internal_realloc(ms, oldmem, bytes); - } -} - -void* mspace_memalign(mspace msp, size_t alignment, size_t bytes) { - mstate ms = (mstate)msp; - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - return 0; - } - return internal_memalign(ms, alignment, bytes); -} - -void** mspace_independent_calloc(mspace msp, size_t n_elements, - size_t elem_size, void* chunks[]) { - size_t sz = elem_size; /* serves as 1-element array */ - mstate ms = (mstate)msp; - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - return 0; - } - return ialloc(ms, n_elements, &sz, 3, chunks); -} - -void** mspace_independent_comalloc(mspace msp, size_t n_elements, - size_t sizes[], void* chunks[]) { - mstate ms = (mstate)msp; - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - return 0; - } - return ialloc(ms, n_elements, sizes, 0, chunks); -} - -int mspace_trim(mspace msp, size_t pad) { - int result = 0; - mstate ms = (mstate)msp; - if (ok_magic(ms)) { - if (!PREACTION(ms)) { - result = sys_trim(ms, pad); - POSTACTION(ms); - } - } - else { - USAGE_ERROR_ACTION(ms,ms); - } - return result; -} - -void mspace_malloc_stats(mspace msp) { - mstate ms = (mstate)msp; - if (ok_magic(ms)) { - internal_malloc_stats(ms); - } - else { - USAGE_ERROR_ACTION(ms,ms); - } -} - -size_t mspace_footprint(mspace msp) { - size_t result; - mstate ms = (mstate)msp; - if (ok_magic(ms)) { - result = ms->footprint; - } - USAGE_ERROR_ACTION(ms,ms); - return result; -} - - -size_t mspace_max_footprint(mspace msp) { - size_t result; - mstate ms = (mstate)msp; - if (ok_magic(ms)) { - result = ms->max_footprint; - } - USAGE_ERROR_ACTION(ms,ms); - return result; -} - - -#if !NO_MALLINFO -struct mallinfo mspace_mallinfo(mspace msp) { - mstate ms = (mstate)msp; - if (!ok_magic(ms)) { - USAGE_ERROR_ACTION(ms,ms); - } - return internal_mallinfo(ms); -} -#endif /* NO_MALLINFO */ - -int mspace_mallopt(int param_number, int value) { - return change_mparam(param_number, value); -} - -#endif /* MSPACES */ - -/* -------------------- Alternative MORECORE functions ------------------- */ - -/* - Guidelines for creating a custom version of MORECORE: - - * For best performance, MORECORE should allocate in multiples of pagesize. - * MORECORE may allocate more memory than requested. (Or even less, - but this will usually result in a malloc failure.) - * MORECORE must not allocate memory when given argument zero, but - instead return one past the end address of memory from previous - nonzero call. - * For best performance, consecutive calls to MORECORE with positive - arguments should return increasing addresses, indicating that - space has been contiguously extended. - * Even though consecutive calls to MORECORE need not return contiguous - addresses, it must be OK for malloc'ed chunks to span multiple - regions in those cases where they do happen to be contiguous. - * MORECORE need not handle negative arguments -- it may instead - just return MFAIL when given negative arguments. - Negative arguments are always multiples of pagesize. MORECORE - must not misinterpret negative args as large positive unsigned - args. You can suppress all such calls from even occurring by defining - MORECORE_CANNOT_TRIM, - - As an example alternative MORECORE, here is a custom allocator - kindly contributed for pre-OSX macOS. It uses virtually but not - necessarily physically contiguous non-paged memory (locked in, - present and won't get swapped out). You can use it by uncommenting - this section, adding some #includes, and setting up the appropriate - defines above: - - #define MORECORE osMoreCore - - There is also a shutdown routine that should somehow be called for - cleanup upon program exit. - - #define MAX_POOL_ENTRIES 100 - #define MINIMUM_MORECORE_SIZE (64 * 1024U) - static int next_os_pool; - void *our_os_pools[MAX_POOL_ENTRIES]; - - void *osMoreCore(int size) - { - void *ptr = 0; - static void *sbrk_top = 0; - - if (size > 0) - { - if (size < MINIMUM_MORECORE_SIZE) - size = MINIMUM_MORECORE_SIZE; - if (CurrentExecutionLevel() == kTaskLevel) - ptr = PoolAllocateResident(size + RM_PAGE_SIZE, 0); - if (ptr == 0) - { - return (void *) MFAIL; - } - // save ptrs so they can be freed during cleanup - our_os_pools[next_os_pool] = ptr; - next_os_pool++; - ptr = (void *) ((((size_t) ptr) + RM_PAGE_MASK) & ~RM_PAGE_MASK); - sbrk_top = (char *) ptr + size; - return ptr; - } - else if (size < 0) - { - // we don't currently support shrink behavior - return (void *) MFAIL; - } - else - { - return sbrk_top; - } - } - - // cleanup any allocated memory pools - // called as last thing before shutting down driver - - void osCleanupMem(void) - { - void **ptr; - - for (ptr = our_os_pools; ptr < &our_os_pools[MAX_POOL_ENTRIES]; ptr++) - if (*ptr) - { - PoolDeallocate(*ptr); - *ptr = 0; - } - } - -*/ - - -/* ----------------------------------------------------------------------- -History: - V2.8.3 Thu Sep 22 11:16:32 2005 Doug Lea (dl at gee) - * Add max_footprint functions - * Ensure all appropriate literals are size_t - * Fix conditional compilation problem for some #define settings - * Avoid concatenating segments with the one provided - in create_mspace_with_base - * Rename some variables to avoid compiler shadowing warnings - * Use explicit lock initialization. - * Better handling of sbrk interference. - * Simplify and fix segment insertion, trimming and mspace_destroy - * Reinstate REALLOC_ZERO_BYTES_FREES option from 2.7.x - * Thanks especially to Dennis Flanagan for help on these. - - V2.8.2 Sun Jun 12 16:01:10 2005 Doug Lea (dl at gee) - * Fix memalign brace error. - - V2.8.1 Wed Jun 8 16:11:46 2005 Doug Lea (dl at gee) - * Fix improper #endif nesting in C++ - * Add explicit casts needed for C++ - - V2.8.0 Mon May 30 14:09:02 2005 Doug Lea (dl at gee) - * Use trees for large bins - * Support mspaces - * Use segments to unify sbrk-based and mmap-based system allocation, - removing need for emulation on most platforms without sbrk. - * Default safety checks - * Optional footer checks. Thanks to William Robertson for the idea. - * Internal code refactoring - * Incorporate suggestions and platform-specific changes. - Thanks to Dennis Flanagan, Colin Plumb, Niall Douglas, - Aaron Bachmann, Emery Berger, and others. - * Speed up non-fastbin processing enough to remove fastbins. - * Remove useless cfree() to avoid conflicts with other apps. - * Remove internal memcpy, memset. Compilers handle builtins better. - * Remove some options that no one ever used and rename others. - - V2.7.2 Sat Aug 17 09:07:30 2002 Doug Lea (dl at gee) - * Fix malloc_state bitmap array misdeclaration - - V2.7.1 Thu Jul 25 10:58:03 2002 Doug Lea (dl at gee) - * Allow tuning of FIRST_SORTED_BIN_SIZE - * Use PTR_UINT as type for all ptr->int casts. Thanks to John Belmonte. - * Better detection and support for non-contiguousness of MORECORE. - Thanks to Andreas Mueller, Conal Walsh, and Wolfram Gloger - * Bypass most of malloc if no frees. Thanks To Emery Berger. - * Fix freeing of old top non-contiguous chunk im sysmalloc. - * Raised default trim and map thresholds to 256K. - * Fix mmap-related #defines. Thanks to Lubos Lunak. - * Fix copy macros; added LACKS_FCNTL_H. Thanks to Neal Walfield. - * Branch-free bin calculation - * Default trim and mmap thresholds now 256K. - - V2.7.0 Sun Mar 11 14:14:06 2001 Doug Lea (dl at gee) - * Introduce independent_comalloc and independent_calloc. - Thanks to Michael Pachos for motivation and help. - * Make optional .h file available - * Allow > 2GB requests on 32bit systems. - * new WIN32 sbrk, mmap, munmap, lock code from . - Thanks also to Andreas Mueller , - and Anonymous. - * Allow override of MALLOC_ALIGNMENT (Thanks to Ruud Waij for - helping test this.) - * memalign: check alignment arg - * realloc: don't try to shift chunks backwards, since this - leads to more fragmentation in some programs and doesn't - seem to help in any others. - * Collect all cases in malloc requiring system memory into sysmalloc - * Use mmap as backup to sbrk - * Place all internal state in malloc_state - * Introduce fastbins (although similar to 2.5.1) - * Many minor tunings and cosmetic improvements - * Introduce USE_PUBLIC_MALLOC_WRAPPERS, USE_MALLOC_LOCK - * Introduce MALLOC_FAILURE_ACTION, MORECORE_CONTIGUOUS - Thanks to Tony E. Bennett and others. - * Include errno.h to support default failure action. - - V2.6.6 Sun Dec 5 07:42:19 1999 Doug Lea (dl at gee) - * return null for negative arguments - * Added Several WIN32 cleanups from Martin C. Fong - * Add 'LACKS_SYS_PARAM_H' for those systems without 'sys/param.h' - (e.g. WIN32 platforms) - * Cleanup header file inclusion for WIN32 platforms - * Cleanup code to avoid Microsoft Visual C++ compiler complaints - * Add 'USE_DL_PREFIX' to quickly allow co-existence with existing - memory allocation routines - * Set 'malloc_getpagesize' for WIN32 platforms (needs more work) - * Use 'assert' rather than 'ASSERT' in WIN32 code to conform to - usage of 'assert' in non-WIN32 code - * Improve WIN32 'sbrk()' emulation's 'findRegion()' routine to - avoid infinite loop - * Always call 'fREe()' rather than 'free()' - - V2.6.5 Wed Jun 17 15:57:31 1998 Doug Lea (dl at gee) - * Fixed ordering problem with boundary-stamping - - V2.6.3 Sun May 19 08:17:58 1996 Doug Lea (dl at gee) - * Added pvalloc, as recommended by H.J. Liu - * Added 64bit pointer support mainly from Wolfram Gloger - * Added anonymously donated WIN32 sbrk emulation - * Malloc, calloc, getpagesize: add optimizations from Raymond Nijssen - * malloc_extend_top: fix mask error that caused wastage after - foreign sbrks - * Add linux mremap support code from HJ Liu - - V2.6.2 Tue Dec 5 06:52:55 1995 Doug Lea (dl at gee) - * Integrated most documentation with the code. - * Add support for mmap, with help from - Wolfram Gloger (Gloger@lrz.uni-muenchen.de). - * Use last_remainder in more cases. - * Pack bins using idea from colin@nyx10.cs.du.edu - * Use ordered bins instead of best-fit threshold - * Eliminate block-local decls to simplify tracing and debugging. - * Support another case of realloc via move into top - * Fix error occurring when initial sbrk_base not word-aligned. - * Rely on page size for units instead of SBRK_UNIT to - avoid surprises about sbrk alignment conventions. - * Add mallinfo, mallopt. Thanks to Raymond Nijssen - (raymond@es.ele.tue.nl) for the suggestion. - * Add `pad' argument to malloc_trim and top_pad mallopt parameter. - * More precautions for cases where other routines call sbrk, - courtesy of Wolfram Gloger (Gloger@lrz.uni-muenchen.de). - * Added macros etc., allowing use in linux libc from - H.J. Lu (hjl@gnu.ai.mit.edu) - * Inverted this history list - - V2.6.1 Sat Dec 2 14:10:57 1995 Doug Lea (dl at gee) - * Re-tuned and fixed to behave more nicely with V2.6.0 changes. - * Removed all preallocation code since under current scheme - the work required to undo bad preallocations exceeds - the work saved in good cases for most test programs. - * No longer use return list or unconsolidated bins since - no scheme using them consistently outperforms those that don't - given above changes. - * Use best fit for very large chunks to prevent some worst-cases. - * Added some support for debugging - - V2.6.0 Sat Nov 4 07:05:23 1995 Doug Lea (dl at gee) - * Removed footers when chunks are in use. Thanks to - Paul Wilson (wilson@cs.texas.edu) for the suggestion. - - V2.5.4 Wed Nov 1 07:54:51 1995 Doug Lea (dl at gee) - * Added malloc_trim, with help from Wolfram Gloger - (wmglo@Dent.MED.Uni-Muenchen.DE). - - V2.5.3 Tue Apr 26 10:16:01 1994 Doug Lea (dl at g) - - V2.5.2 Tue Apr 5 16:20:40 1994 Doug Lea (dl at g) - * realloc: try to expand in both directions - * malloc: swap order of clean-bin strategy; - * realloc: only conditionally expand backwards - * Try not to scavenge used bins - * Use bin counts as a guide to preallocation - * Occasionally bin return list chunks in first scan - * Add a few optimizations from colin@nyx10.cs.du.edu - - V2.5.1 Sat Aug 14 15:40:43 1993 Doug Lea (dl at g) - * faster bin computation & slightly different binning - * merged all consolidations to one part of malloc proper - (eliminating old malloc_find_space & malloc_clean_bin) - * Scan 2 returns chunks (not just 1) - * Propagate failure in realloc if malloc returns 0 - * Add stuff to allow compilation on non-ANSI compilers - from kpv@research.att.com - - V2.5 Sat Aug 7 07:41:59 1993 Doug Lea (dl at g.oswego.edu) - * removed potential for odd address access in prev_chunk - * removed dependency on getpagesize.h - * misc cosmetics and a bit more internal documentation - * anticosmetics: mangled names in macros to evade debugger strangeness - * tested on sparc, hp-700, dec-mips, rs6000 - with gcc & native cc (hp, dec only) allowing - Detlefs & Zorn comparison study (in SIGPLAN Notices.) - - Trial version Fri Aug 28 13:14:29 1992 Doug Lea (dl at g.oswego.edu) - * Based loosely on libg++-1.2X malloc. (It retains some of the overall - structure of old version, but most details differ.) - -*/ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/eabi.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/eabi.S deleted file mode 100644 index 379ea4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/eabi.S +++ /dev/null @@ -1,128 +0,0 @@ -/* ----------------------------------------------------------------------- - eabi.S - Copyright (c) 2004 Anthony Green - - FR-V Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .globl ffi_prep_args_EABI - - .text - .p2align 4 - .globl ffi_call_EABI - .type ffi_call_EABI, @function - - # gr8 : ffi_prep_args - # gr9 : &ecif - # gr10: cif->bytes - # gr11: fig->flags - # gr12: ecif.rvalue - # gr13: fn - -ffi_call_EABI: - addi sp, #-80, sp - sti fp, @(sp, #24) - addi sp, #24, fp - movsg lr, gr5 - - /* Make room for the new arguments. */ - /* subi sp, fp, gr10 */ - - /* Store return address and incoming args on stack. */ - sti gr5, @(fp, #8) - sti gr8, @(fp, #-4) - sti gr9, @(fp, #-8) - sti gr10, @(fp, #-12) - sti gr11, @(fp, #-16) - sti gr12, @(fp, #-20) - sti gr13, @(fp, #-24) - - sub sp, gr10, sp - - /* Call ffi_prep_args. */ - ldi @(fp, #-4), gr4 - addi sp, #0, gr8 - ldi @(fp, #-8), gr9 -#ifdef __FRV_FDPIC__ - ldd @(gr4, gr0), gr14 - calll @(gr14, gr0) -#else - calll @(gr4, gr0) -#endif - - /* ffi_prep_args returns the new stack pointer. */ - mov gr8, gr4 - - ldi @(sp, #0), gr8 - ldi @(sp, #4), gr9 - ldi @(sp, #8), gr10 - ldi @(sp, #12), gr11 - ldi @(sp, #16), gr12 - ldi @(sp, #20), gr13 - - /* Always copy the return value pointer into the hidden - parameter register. This is only strictly necessary - when we're returning an aggregate type, but it doesn't - hurt to do this all the time, and it saves a branch. */ - ldi @(fp, #-20), gr3 - - /* Use the ffi_prep_args return value for the new sp. */ - mov gr4, sp - - /* Call the target function. */ - ldi @(fp, -24), gr4 -#ifdef __FRV_FDPIC__ - ldd @(gr4, gr0), gr14 - calll @(gr14, gr0) -#else - calll @(gr4, gr0) -#endif - - /* Store the result. */ - ldi @(fp, #-16), gr10 /* fig->flags */ - ldi @(fp, #-20), gr4 /* ecif.rvalue */ - - /* Is the return value stored in two registers? */ - cmpi gr10, #8, icc0 - bne icc0, 0, .L2 - /* Yes, save them. */ - sti gr8, @(gr4, #0) - sti gr9, @(gr4, #4) - bra .L3 -.L2: - /* Is the return value a structure? */ - cmpi gr10, #-1, icc0 - beq icc0, 0, .L3 - /* No, save a 4 byte return value. */ - sti gr8, @(gr4, #0) -.L3: - - /* Restore the stack, and return. */ - ldi @(fp, 8), gr5 - ld @(fp, gr0), fp - addi sp,#80,sp - jmpl @(gr5,gr0) - .size ffi_call_EABI, .-ffi_call_EABI - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffi.c deleted file mode 100644 index ed1c65a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffi.c +++ /dev/null @@ -1,292 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (C) 2004 Anthony Green - Copyright (C) 2007 Free Software Foundation, Inc. - Copyright (C) 2008 Red Hat, Inc. - - FR-V Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -void *ffi_prep_args(char *stack, extended_cif *ecif) -{ - register unsigned int i; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - register int count = 0; - - p_argv = ecif->avalue; - argp = stack; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - (i != 0); - i--, p_arg++) - { - size_t z; - - z = (*p_arg)->size; - - if ((*p_arg)->type == FFI_TYPE_STRUCT) - { - z = sizeof(void*); - *(void **) argp = *p_argv; - } - /* if ((*p_arg)->type == FFI_TYPE_FLOAT) - { - if (count > 24) - { - // This is going on the stack. Turn it into a double. - *(double *) argp = (double) *(float*)(* p_argv); - z = sizeof(double); - } - else - *(void **) argp = *(void **)(* p_argv); - } */ - else if (z < sizeof(int)) - { - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - break; - - default: - FFI_ASSERT(0); - } - } - else if (z == sizeof(int)) - { - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - } - else - { - memcpy(argp, *p_argv, z); - } - p_argv++; - argp += z; - count += z; - } - - return (stack + ((count > 24) ? 24 : FFI_ALIGN_DOWN(count, 8))); -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - if (cif->rtype->type == FFI_TYPE_STRUCT) - cif->flags = -1; - else - cif->flags = cif->rtype->size; - - cif->bytes = FFI_ALIGN (cif->bytes, 8); - - return FFI_OK; -} - -extern void ffi_call_EABI(void *(*)(char *, extended_cif *), - extended_cif *, - unsigned, unsigned, - unsigned *, - void (*fn)(void)); - -void ffi_call(ffi_cif *cif, - void (*fn)(void), - void *rvalue, - void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - - if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca(cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - - switch (cif->abi) - { - case FFI_EABI: - ffi_call_EABI(ffi_prep_args, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn); - break; - default: - FFI_ASSERT(0); - break; - } -} - -void ffi_closure_eabi (unsigned arg1, unsigned arg2, unsigned arg3, - unsigned arg4, unsigned arg5, unsigned arg6) -{ - /* This function is called by a trampoline. The trampoline stows a - pointer to the ffi_closure object in gr7. We must save this - pointer in a place that will persist while we do our work. */ - register ffi_closure *creg __asm__ ("gr7"); - ffi_closure *closure = creg; - - /* Arguments that don't fit in registers are found on the stack - at a fixed offset above the current frame pointer. */ - register char *frame_pointer __asm__ ("fp"); - char *stack_args = frame_pointer + 16; - - /* Lay the register arguments down in a continuous chunk of memory. */ - unsigned register_args[6] = - { arg1, arg2, arg3, arg4, arg5, arg6 }; - - ffi_cif *cif = closure->cif; - ffi_type **arg_types = cif->arg_types; - void **avalue = alloca (cif->nargs * sizeof(void *)); - char *ptr = (char *) register_args; - int i; - - /* Find the address of each argument. */ - for (i = 0; i < cif->nargs; i++) - { - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = ptr + 3; - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = ptr + 2; - break; - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - avalue[i] = ptr; - break; - case FFI_TYPE_STRUCT: - avalue[i] = *(void**)ptr; - break; - default: - /* This is an 8-byte value. */ - avalue[i] = ptr; - ptr += 4; - break; - } - ptr += 4; - - /* If we've handled more arguments than fit in registers, - start looking at the those passed on the stack. */ - if (ptr == ((char *)register_args + (6*4))) - ptr = stack_args; - } - - /* Invoke the closure. */ - if (cif->rtype->type == FFI_TYPE_STRUCT) - { - /* The caller allocates space for the return structure, and - passes a pointer to this space in gr3. Use this value directly - as the return value. */ - register void *return_struct_ptr __asm__("gr3"); - (closure->fun) (cif, return_struct_ptr, avalue, closure->user_data); - } - else - { - /* Allocate space for the return value and call the function. */ - long long rvalue; - (closure->fun) (cif, &rvalue, avalue, closure->user_data); - - /* Functions return 4-byte or smaller results in gr8. 8-byte - values also use gr9. We fill the both, even for small return - values, just to avoid a branch. */ - asm ("ldi @(%0, #0), gr8" : : "r" (&rvalue)); - asm ("ldi @(%0, #0), gr9" : : "r" (&((int *) &rvalue)[1])); - } -} - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp = (unsigned int *) &closure->tramp[0]; - unsigned long fn = (long) ffi_closure_eabi; - unsigned long cls = (long) codeloc; -#ifdef __FRV_FDPIC__ - register void *got __asm__("gr15"); -#endif - int i; - - fn = (unsigned long) ffi_closure_eabi; - -#ifdef __FRV_FDPIC__ - tramp[0] = &((unsigned int *)codeloc)[2]; - tramp[1] = got; - tramp[2] = 0x8cfc0000 + (fn & 0xffff); /* setlos lo(fn), gr6 */ - tramp[3] = 0x8efc0000 + (cls & 0xffff); /* setlos lo(cls), gr7 */ - tramp[4] = 0x8cf80000 + (fn >> 16); /* sethi hi(fn), gr6 */ - tramp[5] = 0x8ef80000 + (cls >> 16); /* sethi hi(cls), gr7 */ - tramp[6] = 0x9cc86000; /* ldi @(gr6, #0), gr14 */ - tramp[7] = 0x8030e000; /* jmpl @(gr14, gr0) */ -#else - tramp[0] = 0x8cfc0000 + (fn & 0xffff); /* setlos lo(fn), gr6 */ - tramp[1] = 0x8efc0000 + (cls & 0xffff); /* setlos lo(cls), gr7 */ - tramp[2] = 0x8cf80000 + (fn >> 16); /* sethi hi(fn), gr6 */ - tramp[3] = 0x8ef80000 + (cls >> 16); /* sethi hi(cls), gr7 */ - tramp[4] = 0x80300006; /* jmpl @(gr0, gr6) */ -#endif - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - /* Cache flushing. */ - for (i = 0; i < FFI_TRAMPOLINE_SIZE; i++) - __asm__ volatile ("dcf @(%0,%1)\n\tici @(%2,%1)" :: "r" (tramp), "r" (i), - "r" (codeloc)); - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffitarget.h deleted file mode 100644 index d42540e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffitarget.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2004 Red Hat, Inc. - Target configuration macros for FR-V - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_EABI, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_EABI -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -#ifdef __FRV_FDPIC__ -/* Trampolines are 8 4-byte instructions long. */ -#define FFI_TRAMPOLINE_SIZE (8*4) -#else -/* Trampolines are 5 4-byte instructions long. */ -#define FFI_TRAMPOLINE_SIZE (5*4) -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffi.c deleted file mode 100644 index 1395f26..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffi.c +++ /dev/null @@ -1,616 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 1998, 2007, 2008, 2012 Red Hat, Inc. - Copyright (c) 2000 Hewlett Packard Company - Copyright (c) 2011 Anthony Green - - IA64 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include -#include - -#include "ia64_flags.h" - -/* A 64-bit pointer value. In LP64 mode, this is effectively a plain - pointer. In ILP32 mode, it's a pointer that's been extended to - 64 bits by "addp4". */ -#ifdef __hpux -typedef void *PTR64; -#else // some other unix -typedef void *PTR64 __attribute__((mode(DI))); -#endif - -/* Memory image of fp register contents. This is the implementation - specific format used by ldf.fill/stf.spill. All we care about is - that it wants a 16 byte aligned slot. */ -typedef struct -{ - UINT64 x[2] __attribute__((aligned(16))); -} fpreg; - - -/* The stack layout given to ffi_call_unix and ffi_closure_unix_inner. */ - -struct ia64_args -{ - fpreg fp_regs[8]; /* Contents of 8 fp arg registers. */ - UINT64 gp_regs[8]; /* Contents of 8 gp arg registers. */ - UINT64 other_args[]; /* Arguments passed on stack, variable size. */ -}; - - -/* Adjust ADDR, a pointer to an 8 byte slot, to point to the low LEN bytes. */ - -static inline void * -endian_adjust (void *addr, size_t len) -{ -#ifdef __BIG_ENDIAN__ - return addr + (8 - len); -#else - return addr; -#endif -} - -/* Store VALUE to ADDR in the current cpu implementation's fp spill format. - This is a macro instead of a function, so that it works for all 3 floating - point types without type conversions. Type conversion to long double breaks - the denorm support. */ - -#ifdef __hpux -#define stf_spill(addr, value) -#else -#define stf_spill(addr, value) \ - asm ("stf.spill %0 = %1%P0" : "=m" (*addr) : "f"(value)); -#endif - -/* Load a value from ADDR, which is in the current cpu implementation's - fp spill format. As above, this must also be a macro. */ - -#ifdef __hpux -#define ldf_fill(result, addr) -#else -#define ldf_fill(result, addr) \ - asm ("ldf.fill %0 = %1%P1" : "=f"(result) : "m"(*addr)); -#endif - -/* Return the size of the C type associated with with TYPE. Which will - be one of the FFI_IA64_TYPE_HFA_* values. */ - -static size_t -hfa_type_size (int type) -{ - switch (type) - { - case FFI_IA64_TYPE_HFA_FLOAT: - return sizeof(float); - case FFI_IA64_TYPE_HFA_DOUBLE: - return sizeof(double); - case FFI_IA64_TYPE_HFA_LDOUBLE: - return sizeof(__float80); - default: - abort (); - } -} - -/* Load from ADDR a value indicated by TYPE. Which will be one of - the FFI_IA64_TYPE_HFA_* values. */ - -static void -hfa_type_load (fpreg *fpaddr, int type, void *addr) -{ - switch (type) - { - case FFI_IA64_TYPE_HFA_FLOAT: - stf_spill (fpaddr, *(float *) addr); - return; - case FFI_IA64_TYPE_HFA_DOUBLE: - stf_spill (fpaddr, *(double *) addr); - return; - case FFI_IA64_TYPE_HFA_LDOUBLE: - stf_spill (fpaddr, *(__float80 *) addr); - return; - default: - abort (); - } -} - -/* Load VALUE into ADDR as indicated by TYPE. Which will be one of - the FFI_IA64_TYPE_HFA_* values. */ - -static void -hfa_type_store (int type, void *addr, fpreg *fpaddr) -{ - switch (type) - { - case FFI_IA64_TYPE_HFA_FLOAT: - { - float result; - ldf_fill (result, fpaddr); - *(float *) addr = result; - break; - } - case FFI_IA64_TYPE_HFA_DOUBLE: - { - double result; - ldf_fill (result, fpaddr); - *(double *) addr = result; - break; - } - case FFI_IA64_TYPE_HFA_LDOUBLE: - { - __float80 result; - ldf_fill (result, fpaddr); - *(__float80 *) addr = result; - break; - } - default: - abort (); - } -} - -/* Is TYPE a struct containing floats, doubles, or extended doubles, - all of the same fp type? If so, return the element type. Return - FFI_TYPE_VOID if not. */ - -static int -hfa_element_type (ffi_type *type, int nested) -{ - int element = FFI_TYPE_VOID; - - switch (type->type) - { - case FFI_TYPE_FLOAT: - /* We want to return VOID for raw floating-point types, but the - synthetic HFA type if we're nested within an aggregate. */ - if (nested) - element = FFI_IA64_TYPE_HFA_FLOAT; - break; - - case FFI_TYPE_DOUBLE: - /* Similarly. */ - if (nested) - element = FFI_IA64_TYPE_HFA_DOUBLE; - break; - - case FFI_TYPE_LONGDOUBLE: - /* Similarly, except that that HFA is true for double extended, - but not quad precision. Both have sizeof == 16, so tell the - difference based on the precision. */ - if (LDBL_MANT_DIG == 64 && nested) - element = FFI_IA64_TYPE_HFA_LDOUBLE; - break; - - case FFI_TYPE_STRUCT: - { - ffi_type **ptr = &type->elements[0]; - - for (ptr = &type->elements[0]; *ptr ; ptr++) - { - int sub_element = hfa_element_type (*ptr, 1); - if (sub_element == FFI_TYPE_VOID) - return FFI_TYPE_VOID; - - if (element == FFI_TYPE_VOID) - element = sub_element; - else if (element != sub_element) - return FFI_TYPE_VOID; - } - } - break; - - default: - return FFI_TYPE_VOID; - } - - return element; -} - - -/* Perform machine dependent cif processing. */ - -static ffi_status -ffi_prep_cif_machdep_core(ffi_cif *cif) -{ - int flags; - - /* Adjust cif->bytes to include space for the bits of the ia64_args frame - that precedes the integer register portion. The estimate that the - generic bits did for the argument space required is good enough for the - integer component. */ - cif->bytes += offsetof(struct ia64_args, gp_regs[0]); - if (cif->bytes < sizeof(struct ia64_args)) - cif->bytes = sizeof(struct ia64_args); - - /* Set the return type flag. */ - flags = cif->rtype->type; - switch (cif->rtype->type) - { - case FFI_TYPE_LONGDOUBLE: - /* Leave FFI_TYPE_LONGDOUBLE as meaning double extended precision, - and encode quad precision as a two-word integer structure. */ - if (LDBL_MANT_DIG != 64) - flags = FFI_IA64_TYPE_SMALL_STRUCT | (16 << 8); - break; - - case FFI_TYPE_STRUCT: - { - size_t size = cif->rtype->size; - int hfa_type = hfa_element_type (cif->rtype, 0); - - if (hfa_type != FFI_TYPE_VOID) - { - size_t nelts = size / hfa_type_size (hfa_type); - if (nelts <= 8) - flags = hfa_type | (size << 8); - } - else - { - if (size <= 32) - flags = FFI_IA64_TYPE_SMALL_STRUCT | (size << 8); - } - } - break; - - default: - break; - } - cif->flags = flags; - - return FFI_OK; -} - -ffi_status -ffi_prep_cif_machdep(ffi_cif *cif) -{ - cif->nfixedargs = cif->nargs; - return ffi_prep_cif_machdep_core(cif); -} - -ffi_status -ffi_prep_cif_machdep_var(ffi_cif *cif, - unsigned int nfixedargs, - unsigned int ntotalargs MAYBE_UNUSED) -{ - cif->nfixedargs = nfixedargs; - return ffi_prep_cif_machdep_core(cif); -} - -extern int ffi_call_unix (struct ia64_args *, PTR64, void (*)(void), UINT64); - -void -ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - struct ia64_args *stack; - long i, avn, gpcount, fpcount; - ffi_type **p_arg; - - FFI_ASSERT (cif->abi == FFI_UNIX); - - /* If we have no spot for a return value, make one. */ - if (rvalue == NULL && cif->rtype->type != FFI_TYPE_VOID) - rvalue = alloca (cif->rtype->size); - - /* Allocate the stack frame. */ - stack = alloca (cif->bytes); - - gpcount = fpcount = 0; - avn = cif->nargs; - for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++) - { - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - stack->gp_regs[gpcount++] = *(SINT8 *)avalue[i]; - break; - case FFI_TYPE_UINT8: - stack->gp_regs[gpcount++] = *(UINT8 *)avalue[i]; - break; - case FFI_TYPE_SINT16: - stack->gp_regs[gpcount++] = *(SINT16 *)avalue[i]; - break; - case FFI_TYPE_UINT16: - stack->gp_regs[gpcount++] = *(UINT16 *)avalue[i]; - break; - case FFI_TYPE_SINT32: - stack->gp_regs[gpcount++] = *(SINT32 *)avalue[i]; - break; - case FFI_TYPE_UINT32: - stack->gp_regs[gpcount++] = *(UINT32 *)avalue[i]; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - stack->gp_regs[gpcount++] = *(UINT64 *)avalue[i]; - break; - - case FFI_TYPE_POINTER: - stack->gp_regs[gpcount++] = (UINT64)(PTR64) *(void **)avalue[i]; - break; - - case FFI_TYPE_FLOAT: - if (gpcount < 8 && fpcount < 8) - stf_spill (&stack->fp_regs[fpcount++], *(float *)avalue[i]); - { - UINT32 tmp; - memcpy (&tmp, avalue[i], sizeof (UINT32)); - stack->gp_regs[gpcount++] = tmp; - } - break; - - case FFI_TYPE_DOUBLE: - if (gpcount < 8 && fpcount < 8) - stf_spill (&stack->fp_regs[fpcount++], *(double *)avalue[i]); - memcpy (&stack->gp_regs[gpcount++], avalue[i], sizeof (UINT64)); - break; - - case FFI_TYPE_LONGDOUBLE: - if (gpcount & 1) - gpcount++; - if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8) - stf_spill (&stack->fp_regs[fpcount++], *(__float80 *)avalue[i]); - memcpy (&stack->gp_regs[gpcount], avalue[i], 16); - gpcount += 2; - break; - - case FFI_TYPE_STRUCT: - { - size_t size = (*p_arg)->size; - size_t align = (*p_arg)->alignment; - int hfa_type = hfa_element_type (*p_arg, 0); - - FFI_ASSERT (align <= 16); - if (align == 16 && (gpcount & 1)) - gpcount++; - - if (hfa_type != FFI_TYPE_VOID) - { - size_t hfa_size = hfa_type_size (hfa_type); - size_t offset = 0; - size_t gp_offset = gpcount * 8; - - while (fpcount < 8 - && offset < size - && gp_offset < 8 * 8) - { - hfa_type_load (&stack->fp_regs[fpcount], hfa_type, - avalue[i] + offset); - offset += hfa_size; - gp_offset += hfa_size; - fpcount += 1; - } - } - - memcpy (&stack->gp_regs[gpcount], avalue[i], size); - gpcount += (size + 7) / 8; - } - break; - - default: - abort (); - } - } - - ffi_call_unix (stack, rvalue, fn, cif->flags); -} - -/* Closures represent a pair consisting of a function pointer, and - some user data. A closure is invoked by reinterpreting the closure - as a function pointer, and branching to it. Thus we can make an - interpreted function callable as a C function: We turn the - interpreter itself, together with a pointer specifying the - interpreted procedure, into a closure. - - For IA64, function pointer are already pairs consisting of a code - pointer, and a gp pointer. The latter is needed to access global - variables. Here we set up such a pair as the first two words of - the closure (in the "trampoline" area), but we replace the gp - pointer with a pointer to the closure itself. We also add the real - gp pointer to the closure. This allows the function entry code to - both retrieve the user data, and to restore the correct gp pointer. */ - -extern void ffi_closure_unix (); - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - /* The layout of a function descriptor. A C function pointer really - points to one of these. */ - struct ia64_fd - { - UINT64 code_pointer; - UINT64 gp; - }; - - struct ffi_ia64_trampoline_struct - { - UINT64 code_pointer; /* Pointer to ffi_closure_unix. */ - UINT64 fake_gp; /* Pointer to closure, installed as gp. */ - UINT64 real_gp; /* Real gp value. */ - }; - - struct ffi_ia64_trampoline_struct *tramp; - struct ia64_fd *fd; - - if (cif->abi != FFI_UNIX) - return FFI_BAD_ABI; - - tramp = (struct ffi_ia64_trampoline_struct *)closure->tramp; - fd = (struct ia64_fd *)(void *)ffi_closure_unix; - - tramp->code_pointer = fd->code_pointer; - tramp->real_gp = fd->gp; - tramp->fake_gp = (UINT64)(PTR64)codeloc; - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} - - -UINT64 -ffi_closure_unix_inner (ffi_closure *closure, struct ia64_args *stack, - void *rvalue, void *r8) -{ - ffi_cif *cif; - void **avalue; - ffi_type **p_arg; - long i, avn, gpcount, fpcount, nfixedargs; - - cif = closure->cif; - avn = cif->nargs; - nfixedargs = cif->nfixedargs; - avalue = alloca (avn * sizeof (void *)); - - /* If the structure return value is passed in memory get that location - from r8 so as to pass the value directly back to the caller. */ - if (cif->flags == FFI_TYPE_STRUCT) - rvalue = r8; - - gpcount = fpcount = 0; - for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++) - { - int named = i < nfixedargs; - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 1); - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 2); - break; - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 4); - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - avalue[i] = &stack->gp_regs[gpcount++]; - break; - case FFI_TYPE_POINTER: - avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], sizeof(void*)); - break; - - case FFI_TYPE_FLOAT: - if (named && gpcount < 8 && fpcount < 8) - { - fpreg *addr = &stack->fp_regs[fpcount++]; - float result; - avalue[i] = addr; - ldf_fill (result, addr); - *(float *)addr = result; - } - else - avalue[i] = endian_adjust(&stack->gp_regs[gpcount], 4); - gpcount++; - break; - - case FFI_TYPE_DOUBLE: - if (named && gpcount < 8 && fpcount < 8) - { - fpreg *addr = &stack->fp_regs[fpcount++]; - double result; - avalue[i] = addr; - ldf_fill (result, addr); - *(double *)addr = result; - } - else - avalue[i] = &stack->gp_regs[gpcount]; - gpcount++; - break; - - case FFI_TYPE_LONGDOUBLE: - if (gpcount & 1) - gpcount++; - if (LDBL_MANT_DIG == 64 && named && gpcount < 8 && fpcount < 8) - { - fpreg *addr = &stack->fp_regs[fpcount++]; - __float80 result; - avalue[i] = addr; - ldf_fill (result, addr); - *(__float80 *)addr = result; - } - else - avalue[i] = &stack->gp_regs[gpcount]; - gpcount += 2; - break; - - case FFI_TYPE_STRUCT: - { - size_t size = (*p_arg)->size; - size_t align = (*p_arg)->alignment; - int hfa_type = hfa_element_type (*p_arg, 0); - - FFI_ASSERT (align <= 16); - if (align == 16 && (gpcount & 1)) - gpcount++; - - if (hfa_type != FFI_TYPE_VOID) - { - size_t hfa_size = hfa_type_size (hfa_type); - size_t offset = 0; - size_t gp_offset = gpcount * 8; - void *addr = alloca (size); - - avalue[i] = addr; - - while (fpcount < 8 - && offset < size - && gp_offset < 8 * 8) - { - hfa_type_store (hfa_type, addr + offset, - &stack->fp_regs[fpcount]); - offset += hfa_size; - gp_offset += hfa_size; - fpcount += 1; - } - - if (offset < size) - memcpy (addr + offset, (char *)stack->gp_regs + gp_offset, - size - offset); - } - else - avalue[i] = &stack->gp_regs[gpcount]; - - gpcount += (size + 7) / 8; - } - break; - - default: - abort (); - } - } - - closure->fun (cif, rvalue, avalue, closure->user_data); - - return cif->flags; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffitarget.h deleted file mode 100644 index fd5b9a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffitarget.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for IA-64. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long long ffi_arg; -typedef signed long long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_UNIX, /* Linux and all Unix variants use the same conventions */ - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_UNIX -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 24 /* Really the following struct, which */ - /* can be interpreted as a C function */ - /* descriptor: */ -#define FFI_TARGET_SPECIFIC_VARIADIC 1 -#define FFI_EXTRA_CIF_FIELDS unsigned nfixedargs - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ia64_flags.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ia64_flags.h deleted file mode 100644 index 9d652ce..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ia64_flags.h +++ /dev/null @@ -1,40 +0,0 @@ -/* ----------------------------------------------------------------------- - ia64_flags.h - Copyright (c) 2000 Hewlett Packard Company - - IA64/unix Foreign Function Interface - - Original author: Hans Boehm, HP Labs - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -/* "Type" codes used between assembly and C. When used as a part of - a cfi->flags value, the low byte will be these extra type codes, - and bits 8-31 will be the actual size of the type. */ - -/* Small structures containing N words in integer registers. */ -#define FFI_IA64_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 1) - -/* Homogeneous Floating Point Aggregates (HFAs) which are returned - in FP registers. */ -#define FFI_IA64_TYPE_HFA_FLOAT (FFI_TYPE_LAST + 2) -#define FFI_IA64_TYPE_HFA_DOUBLE (FFI_TYPE_LAST + 3) -#define FFI_IA64_TYPE_HFA_LDOUBLE (FFI_TYPE_LAST + 4) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/unix.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/unix.S deleted file mode 100644 index 0490836..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/unix.S +++ /dev/null @@ -1,585 +0,0 @@ -/* ----------------------------------------------------------------------- - unix.S - Copyright (c) 1998, 2008 Red Hat, Inc. - Copyright (c) 2000 Hewlett Packard Company - - IA64/unix Foreign Function Interface - - Primary author: Hans Boehm, HP Labs - - Loosely modeled on Cygnus code for other platforms. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#include "ia64_flags.h" - - .pred.safe_across_calls p1-p5,p16-p63 -.text -/* HPUX assembler needs to see these symbols, otherwise compilation - fails */ -#ifdef __hpux - .global memcpy - .global ffi_closure_unix_inner -#endif - -/* int ffi_call_unix (struct ia64_args *stack, PTR64 rvalue, - void (*fn)(void), int flags); - */ - - .align 16 - .global ffi_call_unix - .proc ffi_call_unix -ffi_call_unix: - .prologue - /* Bit o trickiness. We actually share a stack frame with ffi_call. - Rely on the fact that ffi_call uses a vframe and don't bother - tracking one here at all. */ - .fframe 0 - .save ar.pfs, r36 // loc0 - alloc loc0 = ar.pfs, 4, 3, 8, 0 - .save rp, loc1 - mov loc1 = b0 - .body - add r16 = 16, in0 - mov loc2 = gp - mov r8 = in1 - ;; - - /* Load up all of the argument registers. */ - ldf.fill f8 = [in0], 32 - ldf.fill f9 = [r16], 32 - ;; - ldf.fill f10 = [in0], 32 - ldf.fill f11 = [r16], 32 - ;; - ldf.fill f12 = [in0], 32 - ldf.fill f13 = [r16], 32 - ;; - ldf.fill f14 = [in0], 32 - ldf.fill f15 = [r16], 24 - ;; - ld8 out0 = [in0], 16 - ld8 out1 = [r16], 16 - ;; - ld8 out2 = [in0], 16 - ld8 out3 = [r16], 16 - ;; - ld8 out4 = [in0], 16 - ld8 out5 = [r16], 16 - ;; - ld8 out6 = [in0] - ld8 out7 = [r16] - ;; - - /* Deallocate the register save area from the stack frame. */ - mov sp = in0 - - /* Call the target function. */ - ld8 r16 = [in2], 8 - ;; - ld8 gp = [in2] - mov b6 = r16 - br.call.sptk.many b0 = b6 - ;; - - /* Dispatch to handle return value. */ - mov gp = loc2 - zxt1 r16 = in3 - ;; - mov ar.pfs = loc0 - addl r18 = @ltoffx(.Lst_table), gp - ;; - /* default assembler on HP-UX does not support LDXMOV */ -#ifdef __hpux - ld8 r18 = [r18] -#else - ld8.mov r18 = [r18], .Lst_table -#endif - mov b0 = loc1 - ;; - shladd r18 = r16, 3, r18 - ;; - ld8 r17 = [r18] - shr in3 = in3, 8 - ;; - add r17 = r17, r18 - ;; - mov b6 = r17 - br b6 - ;; - -.Lst_void: - br.ret.sptk.many b0 - ;; -.Lst_uint8: - zxt1 r8 = r8 - ;; - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_sint8: - sxt1 r8 = r8 - ;; - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_uint16: - zxt2 r8 = r8 - ;; - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_sint16: - sxt2 r8 = r8 - ;; - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_uint32: - zxt4 r8 = r8 - ;; - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_sint32: - sxt4 r8 = r8 - ;; - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_int64: - st8 [in1] = r8 - br.ret.sptk.many b0 - ;; -.Lst_float: - stfs [in1] = f8 - br.ret.sptk.many b0 - ;; -.Lst_double: - stfd [in1] = f8 - br.ret.sptk.many b0 - ;; -.Lst_ldouble: - stfe [in1] = f8 - br.ret.sptk.many b0 - ;; - -.Lst_small_struct: - cmp.lt p6, p0 = 8, in3 - cmp.lt p7, p0 = 16, in3 - cmp.lt p8, p0 = 24, in3 - ;; - add r16 = 8, sp - add r17 = 16, sp - add r18 = 24, sp - ;; - st8 [sp] = r8 -(p6) st8 [r16] = r9 - mov out0 = in1 -(p7) st8 [r17] = r10 -(p8) st8 [r18] = r11 - mov out1 = sp - mov out2 = in3 - ;; - // ia64 software calling convention requires - // top 16 bytes of stack to be scratch space - // PLT resolver uses that scratch space at - // 'memcpy' symbol reolution time - add sp = -16, sp - br.call.sptk.many b0 = memcpy# - ;; - mov ar.pfs = loc0 - mov b0 = loc1 - mov gp = loc2 - br.ret.sptk.many b0 - -.Lst_hfa_float: - add r16 = 4, in1 - cmp.lt p6, p0 = 4, in3 - ;; - stfs [in1] = f8, 8 -(p6) stfs [r16] = f9, 8 - cmp.lt p7, p0 = 8, in3 - cmp.lt p8, p0 = 12, in3 - ;; -(p7) stfs [in1] = f10, 8 -(p8) stfs [r16] = f11, 8 - cmp.lt p9, p0 = 16, in3 - cmp.lt p10, p0 = 20, in3 - ;; -(p9) stfs [in1] = f12, 8 -(p10) stfs [r16] = f13, 8 - cmp.lt p6, p0 = 24, in3 - cmp.lt p7, p0 = 28, in3 - ;; -(p6) stfs [in1] = f14 -(p7) stfs [r16] = f15 - br.ret.sptk.many b0 - ;; - -.Lst_hfa_double: - add r16 = 8, in1 - cmp.lt p6, p0 = 8, in3 - ;; - stfd [in1] = f8, 16 -(p6) stfd [r16] = f9, 16 - cmp.lt p7, p0 = 16, in3 - cmp.lt p8, p0 = 24, in3 - ;; -(p7) stfd [in1] = f10, 16 -(p8) stfd [r16] = f11, 16 - cmp.lt p9, p0 = 32, in3 - cmp.lt p10, p0 = 40, in3 - ;; -(p9) stfd [in1] = f12, 16 -(p10) stfd [r16] = f13, 16 - cmp.lt p6, p0 = 48, in3 - cmp.lt p7, p0 = 56, in3 - ;; -(p6) stfd [in1] = f14 -(p7) stfd [r16] = f15 - br.ret.sptk.many b0 - ;; - -.Lst_hfa_ldouble: - add r16 = 16, in1 - cmp.lt p6, p0 = 16, in3 - ;; - stfe [in1] = f8, 32 -(p6) stfe [r16] = f9, 32 - cmp.lt p7, p0 = 32, in3 - cmp.lt p8, p0 = 48, in3 - ;; -(p7) stfe [in1] = f10, 32 -(p8) stfe [r16] = f11, 32 - cmp.lt p9, p0 = 64, in3 - cmp.lt p10, p0 = 80, in3 - ;; -(p9) stfe [in1] = f12, 32 -(p10) stfe [r16] = f13, 32 - cmp.lt p6, p0 = 96, in3 - cmp.lt p7, p0 = 112, in3 - ;; -(p6) stfe [in1] = f14 -(p7) stfe [r16] = f15 - br.ret.sptk.many b0 - ;; - - .endp ffi_call_unix - - .align 16 - .global ffi_closure_unix - .proc ffi_closure_unix - -#define FRAME_SIZE (8*16 + 8*8 + 8*16) - -ffi_closure_unix: - .prologue - .save ar.pfs, r40 // loc0 - alloc loc0 = ar.pfs, 8, 4, 4, 0 - .fframe FRAME_SIZE - add r12 = -FRAME_SIZE, r12 - .save rp, loc1 - mov loc1 = b0 - .save ar.unat, loc2 - mov loc2 = ar.unat - .body - - /* Retrieve closure pointer and real gp. */ -#ifdef _ILP32 - addp4 out0 = 0, gp - addp4 gp = 16, gp -#else - mov out0 = gp - add gp = 16, gp -#endif - ;; - ld8 gp = [gp] - - /* Spill all of the possible argument registers. */ - add r16 = 16 + 8*16, sp - add r17 = 16 + 8*16 + 16, sp - ;; - stf.spill [r16] = f8, 32 - stf.spill [r17] = f9, 32 - mov loc3 = gp - ;; - stf.spill [r16] = f10, 32 - stf.spill [r17] = f11, 32 - ;; - stf.spill [r16] = f12, 32 - stf.spill [r17] = f13, 32 - ;; - stf.spill [r16] = f14, 32 - stf.spill [r17] = f15, 24 - ;; - .mem.offset 0, 0 - st8.spill [r16] = in0, 16 - .mem.offset 8, 0 - st8.spill [r17] = in1, 16 - add out1 = 16 + 8*16, sp - ;; - .mem.offset 0, 0 - st8.spill [r16] = in2, 16 - .mem.offset 8, 0 - st8.spill [r17] = in3, 16 - add out2 = 16, sp - ;; - .mem.offset 0, 0 - st8.spill [r16] = in4, 16 - .mem.offset 8, 0 - st8.spill [r17] = in5, 16 - mov out3 = r8 - ;; - .mem.offset 0, 0 - st8.spill [r16] = in6 - .mem.offset 8, 0 - st8.spill [r17] = in7 - - /* Invoke ffi_closure_unix_inner for the hard work. */ - br.call.sptk.many b0 = ffi_closure_unix_inner - ;; - - /* Dispatch to handle return value. */ - mov gp = loc3 - zxt1 r16 = r8 - ;; - addl r18 = @ltoffx(.Lld_table), gp - mov ar.pfs = loc0 - ;; -#ifdef __hpux - ld8 r18 = [r18] -#else - ld8.mov r18 = [r18], .Lst_table -#endif - mov b0 = loc1 - ;; - shladd r18 = r16, 3, r18 - mov ar.unat = loc2 - ;; - ld8 r17 = [r18] - shr r8 = r8, 8 - ;; - add r17 = r17, r18 - add r16 = 16, sp - ;; - mov b6 = r17 - br b6 - ;; - .label_state 1 - -.Lld_void: - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; -.Lld_int: - .body - .copy_state 1 - ld8 r8 = [r16] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; -.Lld_float: - .body - .copy_state 1 - ldfs f8 = [r16] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; -.Lld_double: - .body - .copy_state 1 - ldfd f8 = [r16] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; -.Lld_ldouble: - .body - .copy_state 1 - ldfe f8 = [r16] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; - -.Lld_small_struct: - .body - .copy_state 1 - add r17 = 8, r16 - cmp.lt p6, p0 = 8, r8 - cmp.lt p7, p0 = 16, r8 - cmp.lt p8, p0 = 24, r8 - ;; - ld8 r8 = [r16], 16 -(p6) ld8 r9 = [r17], 16 - ;; -(p7) ld8 r10 = [r16] -(p8) ld8 r11 = [r17] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; - -.Lld_hfa_float: - .body - .copy_state 1 - add r17 = 4, r16 - cmp.lt p6, p0 = 4, r8 - ;; - ldfs f8 = [r16], 8 -(p6) ldfs f9 = [r17], 8 - cmp.lt p7, p0 = 8, r8 - cmp.lt p8, p0 = 12, r8 - ;; -(p7) ldfs f10 = [r16], 8 -(p8) ldfs f11 = [r17], 8 - cmp.lt p9, p0 = 16, r8 - cmp.lt p10, p0 = 20, r8 - ;; -(p9) ldfs f12 = [r16], 8 -(p10) ldfs f13 = [r17], 8 - cmp.lt p6, p0 = 24, r8 - cmp.lt p7, p0 = 28, r8 - ;; -(p6) ldfs f14 = [r16] -(p7) ldfs f15 = [r17] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; - -.Lld_hfa_double: - .body - .copy_state 1 - add r17 = 8, r16 - cmp.lt p6, p0 = 8, r8 - ;; - ldfd f8 = [r16], 16 -(p6) ldfd f9 = [r17], 16 - cmp.lt p7, p0 = 16, r8 - cmp.lt p8, p0 = 24, r8 - ;; -(p7) ldfd f10 = [r16], 16 -(p8) ldfd f11 = [r17], 16 - cmp.lt p9, p0 = 32, r8 - cmp.lt p10, p0 = 40, r8 - ;; -(p9) ldfd f12 = [r16], 16 -(p10) ldfd f13 = [r17], 16 - cmp.lt p6, p0 = 48, r8 - cmp.lt p7, p0 = 56, r8 - ;; -(p6) ldfd f14 = [r16] -(p7) ldfd f15 = [r17] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; - -.Lld_hfa_ldouble: - .body - .copy_state 1 - add r17 = 16, r16 - cmp.lt p6, p0 = 16, r8 - ;; - ldfe f8 = [r16], 32 -(p6) ldfe f9 = [r17], 32 - cmp.lt p7, p0 = 32, r8 - cmp.lt p8, p0 = 48, r8 - ;; -(p7) ldfe f10 = [r16], 32 -(p8) ldfe f11 = [r17], 32 - cmp.lt p9, p0 = 64, r8 - cmp.lt p10, p0 = 80, r8 - ;; -(p9) ldfe f12 = [r16], 32 -(p10) ldfe f13 = [r17], 32 - cmp.lt p6, p0 = 96, r8 - cmp.lt p7, p0 = 112, r8 - ;; -(p6) ldfe f14 = [r16] -(p7) ldfe f15 = [r17] - .restore sp - add sp = FRAME_SIZE, sp - br.ret.sptk.many b0 - ;; - - .endp ffi_closure_unix -#ifdef __hpux - .rodata -#else - .section .rodata -#endif - .align 8 -.Lst_table: - data8 @pcrel(.Lst_void) // FFI_TYPE_VOID - data8 @pcrel(.Lst_sint32) // FFI_TYPE_INT - data8 @pcrel(.Lst_float) // FFI_TYPE_FLOAT - data8 @pcrel(.Lst_double) // FFI_TYPE_DOUBLE - data8 @pcrel(.Lst_ldouble) // FFI_TYPE_LONGDOUBLE - data8 @pcrel(.Lst_uint8) // FFI_TYPE_UINT8 - data8 @pcrel(.Lst_sint8) // FFI_TYPE_SINT8 - data8 @pcrel(.Lst_uint16) // FFI_TYPE_UINT16 - data8 @pcrel(.Lst_sint16) // FFI_TYPE_SINT16 - data8 @pcrel(.Lst_uint32) // FFI_TYPE_UINT32 - data8 @pcrel(.Lst_sint32) // FFI_TYPE_SINT32 - data8 @pcrel(.Lst_int64) // FFI_TYPE_UINT64 - data8 @pcrel(.Lst_int64) // FFI_TYPE_SINT64 - data8 @pcrel(.Lst_void) // FFI_TYPE_STRUCT - data8 @pcrel(.Lst_int64) // FFI_TYPE_POINTER - data8 @pcrel(.Lst_void) // FFI_TYPE_COMPLEX (not implemented) - data8 @pcrel(.Lst_small_struct) // FFI_IA64_TYPE_SMALL_STRUCT - data8 @pcrel(.Lst_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT - data8 @pcrel(.Lst_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE - data8 @pcrel(.Lst_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE - -.Lld_table: - data8 @pcrel(.Lld_void) // FFI_TYPE_VOID - data8 @pcrel(.Lld_int) // FFI_TYPE_INT - data8 @pcrel(.Lld_float) // FFI_TYPE_FLOAT - data8 @pcrel(.Lld_double) // FFI_TYPE_DOUBLE - data8 @pcrel(.Lld_ldouble) // FFI_TYPE_LONGDOUBLE - data8 @pcrel(.Lld_int) // FFI_TYPE_UINT8 - data8 @pcrel(.Lld_int) // FFI_TYPE_SINT8 - data8 @pcrel(.Lld_int) // FFI_TYPE_UINT16 - data8 @pcrel(.Lld_int) // FFI_TYPE_SINT16 - data8 @pcrel(.Lld_int) // FFI_TYPE_UINT32 - data8 @pcrel(.Lld_int) // FFI_TYPE_SINT32 - data8 @pcrel(.Lld_int) // FFI_TYPE_UINT64 - data8 @pcrel(.Lld_int) // FFI_TYPE_SINT64 - data8 @pcrel(.Lld_void) // FFI_TYPE_STRUCT - data8 @pcrel(.Lld_int) // FFI_TYPE_POINTER - data8 @pcrel(.Lld_void) // FFI_TYPE_COMPLEX (not implemented) - data8 @pcrel(.Lld_small_struct) // FFI_IA64_TYPE_SMALL_STRUCT - data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT - data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE - data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c deleted file mode 100644 index 114d3e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c +++ /dev/null @@ -1,374 +0,0 @@ -/* ----------------------------------------------------------------------- - java_raw_api.c - Copyright (c) 1999, 2007, 2008 Red Hat, Inc. - - Cloned from raw_api.c - - Raw_api.c author: Kresten Krab Thorup - Java_raw_api.c author: Hans-J. Boehm - - $Id $ - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -/* This defines a Java- and 64-bit specific variant of the raw API. */ -/* It assumes that "raw" argument blocks look like Java stacks on a */ -/* 64-bit machine. Arguments that can be stored in a single stack */ -/* stack slots (longs, doubles) occupy 128 bits, but only the first */ -/* 64 bits are actually used. */ - -#include -#include -#include - -#if !defined(NO_JAVA_RAW_API) - -size_t -ffi_java_raw_size (ffi_cif *cif) -{ - size_t result = 0; - int i; - - ffi_type **at = cif->arg_types; - - for (i = cif->nargs-1; i >= 0; i--, at++) - { - switch((*at) -> type) { - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_DOUBLE: - result += 2 * FFI_SIZEOF_JAVA_RAW; - break; - case FFI_TYPE_STRUCT: - /* No structure parameters in Java. */ - abort(); - case FFI_TYPE_COMPLEX: - /* Not supported yet. */ - abort(); - default: - result += FFI_SIZEOF_JAVA_RAW; - } - } - - return result; -} - - -void -ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) -{ - unsigned i; - ffi_type **tp = cif->arg_types; - -#if WORDS_BIGENDIAN - - for (i = 0; i < cif->nargs; i++, tp++, args++) - { - switch ((*tp)->type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - *args = (void*) ((char*)(raw++) + 3); - break; - - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - *args = (void*) ((char*)(raw++) + 2); - break; - -#if FFI_SIZEOF_JAVA_RAW == 8 - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_DOUBLE: - *args = (void *)raw; - raw += 2; - break; -#endif - - case FFI_TYPE_POINTER: - *args = (void*) &(raw++)->ptr; - break; - - case FFI_TYPE_COMPLEX: - /* Not supported yet. */ - abort(); - - default: - *args = raw; - raw += - FFI_ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw); - } - } - -#else /* WORDS_BIGENDIAN */ - -#if !PDP - - /* then assume little endian */ - for (i = 0; i < cif->nargs; i++, tp++, args++) - { -#if FFI_SIZEOF_JAVA_RAW == 8 - switch((*tp)->type) { - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_DOUBLE: - *args = (void*) raw; - raw += 2; - break; - case FFI_TYPE_COMPLEX: - /* Not supported yet. */ - abort(); - default: - *args = (void*) raw++; - } -#else /* FFI_SIZEOF_JAVA_RAW != 8 */ - *args = (void*) raw; - raw += - FFI_ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw); -#endif /* FFI_SIZEOF_JAVA_RAW == 8 */ - } - -#else -#error "pdp endian not supported" -#endif /* ! PDP */ - -#endif /* WORDS_BIGENDIAN */ -} - -void -ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) -{ - unsigned i; - ffi_type **tp = cif->arg_types; - - for (i = 0; i < cif->nargs; i++, tp++, args++) - { - switch ((*tp)->type) - { - case FFI_TYPE_UINT8: -#if WORDS_BIGENDIAN - *(UINT32*)(raw++) = *(UINT8*) (*args); -#else - (raw++)->uint = *(UINT8*) (*args); -#endif - break; - - case FFI_TYPE_SINT8: -#if WORDS_BIGENDIAN - *(SINT32*)(raw++) = *(SINT8*) (*args); -#else - (raw++)->sint = *(SINT8*) (*args); -#endif - break; - - case FFI_TYPE_UINT16: -#if WORDS_BIGENDIAN - *(UINT32*)(raw++) = *(UINT16*) (*args); -#else - (raw++)->uint = *(UINT16*) (*args); -#endif - break; - - case FFI_TYPE_SINT16: -#if WORDS_BIGENDIAN - *(SINT32*)(raw++) = *(SINT16*) (*args); -#else - (raw++)->sint = *(SINT16*) (*args); -#endif - break; - - case FFI_TYPE_UINT32: -#if WORDS_BIGENDIAN - *(UINT32*)(raw++) = *(UINT32*) (*args); -#else - (raw++)->uint = *(UINT32*) (*args); -#endif - break; - - case FFI_TYPE_SINT32: -#if WORDS_BIGENDIAN - *(SINT32*)(raw++) = *(SINT32*) (*args); -#else - (raw++)->sint = *(SINT32*) (*args); -#endif - break; - - case FFI_TYPE_FLOAT: - (raw++)->flt = *(FLOAT32*) (*args); - break; - -#if FFI_SIZEOF_JAVA_RAW == 8 - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_DOUBLE: - raw->uint = *(UINT64*) (*args); - raw += 2; - break; -#endif - - case FFI_TYPE_POINTER: - (raw++)->ptr = **(void***) args; - break; - - default: -#if FFI_SIZEOF_JAVA_RAW == 8 - FFI_ASSERT(0); /* Should have covered all cases */ -#else - memcpy ((void*) raw->data, (void*)*args, (*tp)->size); - raw += - FFI_ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw); -#endif - } - } -} - -#if !FFI_NATIVE_RAW_API - -static void -ffi_java_rvalue_to_raw (ffi_cif *cif, void *rvalue) -{ -#if WORDS_BIGENDIAN && FFI_SIZEOF_ARG == 8 - switch (cif->rtype->type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_UINT32: - *(UINT64 *)rvalue <<= 32; - break; - - case FFI_TYPE_SINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_INT: -#if FFI_SIZEOF_JAVA_RAW == 4 - case FFI_TYPE_POINTER: -#endif - *(SINT64 *)rvalue <<= 32; - break; - - case FFI_TYPE_COMPLEX: - /* Not supported yet. */ - abort(); - - default: - break; - } -#endif -} - -static void -ffi_java_raw_to_rvalue (ffi_cif *cif, void *rvalue) -{ -#if WORDS_BIGENDIAN && FFI_SIZEOF_ARG == 8 - switch (cif->rtype->type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_UINT32: - *(UINT64 *)rvalue >>= 32; - break; - - case FFI_TYPE_SINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_INT: - *(SINT64 *)rvalue >>= 32; - break; - - case FFI_TYPE_COMPLEX: - /* Not supported yet. */ - abort(); - - default: - break; - } -#endif -} - -/* This is a generic definition of ffi_raw_call, to be used if the - * native system does not provide a machine-specific implementation. - * Having this, allows code to be written for the raw API, without - * the need for system-specific code to handle input in that format; - * these following couple of functions will handle the translation forth - * and back automatically. */ - -void ffi_java_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue, - ffi_java_raw *raw) -{ - void **avalue = (void**) alloca (cif->nargs * sizeof (void*)); - ffi_java_raw_to_ptrarray (cif, raw, avalue); - ffi_call (cif, fn, rvalue, avalue); - ffi_java_rvalue_to_raw (cif, rvalue); -} - -#if FFI_CLOSURES /* base system provides closures */ - -static void -ffi_java_translate_args (ffi_cif *cif, void *rvalue, - void **avalue, void *user_data) -{ - ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif)); - ffi_raw_closure *cl = (ffi_raw_closure*)user_data; - - ffi_java_ptrarray_to_raw (cif, avalue, raw); - (*cl->fun) (cif, rvalue, (ffi_raw*)raw, cl->user_data); - ffi_java_raw_to_rvalue (cif, rvalue); -} - -ffi_status -ffi_prep_java_raw_closure_loc (ffi_java_raw_closure* cl, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data, - void *codeloc) -{ - ffi_status status; - - status = ffi_prep_closure_loc ((ffi_closure*) cl, - cif, - &ffi_java_translate_args, - codeloc, - codeloc); - if (status == FFI_OK) - { - cl->fun = fun; - cl->user_data = user_data; - } - - return status; -} - -/* Again, here is the generic version of ffi_prep_raw_closure, which - * will install an intermediate "hub" for translation of arguments from - * the pointer-array format, to the raw format */ - -ffi_status -ffi_prep_java_raw_closure (ffi_java_raw_closure* cl, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), - void *user_data) -{ - return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl); -} - -#endif /* FFI_CLOSURES */ -#endif /* !FFI_NATIVE_RAW_API */ -#endif /* !NO_JAVA_RAW_API */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/asm.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/asm.h deleted file mode 100644 index 4edba41..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/asm.h +++ /dev/null @@ -1,5 +0,0 @@ -/* args are passed on registers from r0 up to r11 => 12*8 bytes */ -#define REG_ARGS_SIZE (12*8) -#define KVX_REGISTER_SIZE (8) -#define KVX_ABI_SLOT_SIZE (KVX_REGISTER_SIZE) -#define KVX_ABI_MAX_AGGREGATE_IN_REG_SIZE (4*KVX_ABI_SLOT_SIZE) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffi.c deleted file mode 100644 index 58f6aef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffi.c +++ /dev/null @@ -1,273 +0,0 @@ -/* Copyright (c) 2020 Kalray - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#if defined(__kvx__) -#include -#include -#include -#include -#include -#include "ffi_common.h" -#include "asm.h" - -#define ALIGN(x, a) ALIGN_MASK(x, (typeof(x))(a) - 1) -#define ALIGN_MASK(x, mask) (((x) + (mask)) & ~(mask)) -#define KVX_ABI_STACK_ALIGNMENT (32) -#define KVX_ABI_STACK_ARG_ALIGNMENT (8) -#define max(a,b) ((a) > (b) ? (a) : (b)) - -#ifdef FFI_DEBUG -#define DEBUG_PRINT(...) do{ fprintf( stderr, __VA_ARGS__ ); } while(0) -#else -#define DEBUG_PRINT(...) -#endif - -struct ret_value { - unsigned long int r0; - unsigned long int r1; - unsigned long int r2; - unsigned long int r3; -}; - -extern struct ret_value ffi_call_SYSV(unsigned total_size, - unsigned size, - extended_cif *ecif, - unsigned *rvalue_addr, - void *fn, - unsigned int_ext_method); - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - cif->flags = cif->rtype->size; - return FFI_OK; -} - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -void *ffi_prep_args(char *stack, unsigned int arg_slots_size, extended_cif *ecif) -{ - char *stacktemp = stack; - char *current_arg_passed_by_value = stack + arg_slots_size; - int i, s; - ffi_type **arg; - int count = 0; - ffi_cif *cif = ecif->cif; - void **argv = ecif->avalue; - - arg = cif->arg_types; - - DEBUG_PRINT("stack: %p\n", stack); - DEBUG_PRINT("arg_slots_size: %u\n", arg_slots_size); - DEBUG_PRINT("current_arg_passed_by_value: %p\n", current_arg_passed_by_value); - DEBUG_PRINT("ecif: %p\n", ecif); - DEBUG_PRINT("ecif->avalue: %p\n", ecif->avalue); - - for (i = 0; i < cif->nargs; i++) { - - s = KVX_ABI_SLOT_SIZE; - switch((*arg)->type) { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - DEBUG_PRINT("INT64/32/16/8/FLOAT/DOUBLE or POINTER @%p\n", stack); - *(uint64_t *) stack = *(uint64_t *)(* argv); - break; - - case FFI_TYPE_COMPLEX: - if ((*arg)->size == 8) - *(_Complex float *) stack = *(_Complex float *)(* argv); - else if ((*arg)->size == 16) { - *(_Complex double *) stack = *(_Complex double *)(* argv); - s = 16; - } else - abort(); - break; - case FFI_TYPE_STRUCT: { - char *value; - unsigned int written_size = 0; - DEBUG_PRINT("struct by value @%p\n", stack); - if ((*arg)->size > KVX_ABI_MAX_AGGREGATE_IN_REG_SIZE) { - DEBUG_PRINT("big struct\n"); - *(uint64_t *) stack = (uintptr_t)current_arg_passed_by_value; - value = current_arg_passed_by_value; - current_arg_passed_by_value += (*arg)->size; - written_size = KVX_ABI_SLOT_SIZE; - } else { - value = stack; - written_size = (*arg)->size; - } - memcpy(value, *argv, (*arg)->size); - s = ALIGN(written_size, KVX_ABI_STACK_ARG_ALIGNMENT); - break; - } - default: - printf("Error: unsupported arg type %d\n", (*arg)->type); - abort(); - break; - - } - stack += s; - count += s; - argv++; - arg++; - } -#ifdef FFI_DEBUG - FFI_ASSERT(((intptr_t)(stacktemp + REG_ARGS_SIZE) & (KVX_ABI_STACK_ALIGNMENT-1)) == 0); -#endif - return stacktemp + REG_ARGS_SIZE; -} - -/* Perform machine dependent cif processing when we have a variadic function */ - -ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, - unsigned int ntotalargs) -{ - cif->flags = cif->rtype->size; - return FFI_OK; -} - -static unsigned long handle_small_int_ext(kvx_intext_method *int_ext_method, - const ffi_type *rtype) -{ - switch (rtype->type) { - case FFI_TYPE_SINT8: - *int_ext_method = KVX_RET_SXBD; - return KVX_REGISTER_SIZE; - - case FFI_TYPE_SINT16: - *int_ext_method = KVX_RET_SXHD; - return KVX_REGISTER_SIZE; - - case FFI_TYPE_SINT32: - *int_ext_method = KVX_RET_SXWD; - return KVX_REGISTER_SIZE; - - case FFI_TYPE_UINT8: - *int_ext_method = KVX_RET_ZXBD; - return KVX_REGISTER_SIZE; - - case FFI_TYPE_UINT16: - *int_ext_method = KVX_RET_ZXHD; - return KVX_REGISTER_SIZE; - - case FFI_TYPE_UINT32: - *int_ext_method = KVX_RET_ZXWD; - return KVX_REGISTER_SIZE; - - default: - *int_ext_method = KVX_RET_NONE; - return rtype->size; - } -} - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - int i; - unsigned long int slot_fitting_args_size = 0; - unsigned long int total_size = 0; - unsigned long int big_struct_size = 0; - kvx_intext_method int_extension_method; - ffi_type **arg; - struct ret_value local_rvalue = {0}; - size_t wb_size; - - - /* Calculate size to allocate on stack */ - for (i = 0, arg = cif->arg_types; i < cif->nargs; i++, arg++) { - DEBUG_PRINT("argument %d, type %d, size %lu\n", i, (*arg)->type, (*arg)->size); - if (((*arg)->type == FFI_TYPE_STRUCT) || ((*arg)->type == FFI_TYPE_COMPLEX)) { - if ((*arg)->size <= KVX_ABI_MAX_AGGREGATE_IN_REG_SIZE) { - slot_fitting_args_size += ALIGN((*arg)->size, KVX_ABI_SLOT_SIZE); - } else { - slot_fitting_args_size += KVX_ABI_SLOT_SIZE; /* aggregate passed by reference */ - big_struct_size += ALIGN((*arg)->size, KVX_ABI_SLOT_SIZE); - } - } else if ((*arg)->size <= KVX_ABI_SLOT_SIZE) { - slot_fitting_args_size += KVX_ABI_SLOT_SIZE; - } else { - printf("Error: unsupported arg size %ld arg type %d\n", (*arg)->size, (*arg)->type); - abort(); /* should never happen? */ - } - } - - extended_cif ecif; - ecif.cif = cif; - ecif.avalue = avalue; - ecif.rvalue = rvalue; - - /* This implementation allocates anyway for all register based args */ - slot_fitting_args_size = max(slot_fitting_args_size, REG_ARGS_SIZE); - total_size = slot_fitting_args_size + big_struct_size; - total_size = ALIGN(total_size, KVX_ABI_STACK_ALIGNMENT); - - /* wb_size: write back size, the size we will need to write back to user - * provided buffer. In theory it should always be cif->flags which is - * cif->rtype->size. But libffi API mandates that for integral types - * of size <= system register size, then we *MUST* write back - * the size of system register size. - * in our case, if size <= 8 bytes we must write back 8 bytes. - * floats, complex and structs are not affected, only integrals. - */ - wb_size = handle_small_int_ext(&int_extension_method, cif->rtype); - - switch (cif->abi) { - case FFI_SYSV: - DEBUG_PRINT("total_size: %lu\n", total_size); - DEBUG_PRINT("slot fitting args size: %lu\n", slot_fitting_args_size); - DEBUG_PRINT("rvalue: %p\n", rvalue); - DEBUG_PRINT("fn: %p\n", fn); - DEBUG_PRINT("rsize: %u\n", cif->flags); - DEBUG_PRINT("wb_size: %u\n", wb_size); - DEBUG_PRINT("int_extension_method: %u\n", int_extension_method); - local_rvalue = ffi_call_SYSV(total_size, slot_fitting_args_size, - &ecif, rvalue, fn, int_extension_method); - if ((cif->flags <= KVX_ABI_MAX_AGGREGATE_IN_REG_SIZE) - && (cif->rtype->type != FFI_TYPE_VOID)) - memcpy(rvalue, &local_rvalue, wb_size); - break; - default: - abort(); - break; - } -} - -/* Closures not supported yet */ -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - return FFI_BAD_ABI; -} - -#endif /* (__kvx__) */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffitarget.h deleted file mode 100644 index 8df8735..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffitarget.h +++ /dev/null @@ -1,75 +0,0 @@ -/* ----------------------------------------------------------------------- - ffitarget.h - Copyright (c) 2020 Kalray - - KVX Target configuration macros - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; - -/* Those values are set depending on return type - * they are used in the assembly code in sysv.S - */ -typedef enum kvx_intext_method { - KVX_RET_NONE = 0, - KVX_RET_SXBD = 1, - KVX_RET_SXHD = 2, - KVX_RET_SXWD = 3, - KVX_RET_ZXBD = 4, - KVX_RET_ZXHD = 5, - KVX_RET_ZXWD = 6 -} kvx_intext_method; - -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -/* This is only to allow Python to compile - * but closures are not supported yet - */ -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 0 - -#define FFI_NATIVE_RAW_API 0 -#define FFI_TARGET_SPECIFIC_VARIADIC 1 -#define FFI_TARGET_HAS_COMPLEX_TYPE - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/sysv.S deleted file mode 100644 index 952afc7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/sysv.S +++ /dev/null @@ -1,127 +0,0 @@ -/* Copyright (c) 2020 Kalray - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -``Software''), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#if defined(__kvx__) -#define LIBFFI_ASM -#include -#include -#include -#include - -.text -.global ffi_call_SYSV -.type ffi_call_SYSV, @function -.type ffi_prep_args, @function -.align 8 - -/* ffi_call_SYSV - - r0: total size to allocate on stack - r1: size of arg slots - r2: extended cif structure, DO NOT REMOVE: it is used by ffi_prep_args() - r3: return value address - r4: function to call - r5: integer sign extension method to be used -*/ -ffi_call_SYSV: - addd $r12 = $r12, -64 - so (-32)[$r12] = $r20r21r22r23 - ;; - sd (0)[$r12] = $r24 - ;; - get $r23 = $ra - copyd $r20 = $r12 - sbfd $r12 = $r0, $r12 - ;; - copyd $r0 = $r12 - copyd $r21 = $r3 - copyd $r22 = $r4 - copyd $r24 = $r5 - call ffi_prep_args - ;; - lo $r8r9r10r11 = (64)[$r12] - ;; - lo $r4r5r6r7 = (32)[$r12] - ;; - lo $r0r1r2r3 = (0)[$r12] - copyd $r12 = $r0 - /* $r15 is the register used by the ABI to return big (>32 bytes) - * structs by value. - * It is also referred to as the "struct register" in the ABI. - */ - copyd $r15 = $r21 - icall $r22 - ;; - pcrel $r4 = @pcrel(.Ltable) - cb.deqz $r24 ? .Lend - ;; - addx8d $r24 = $r24, $r4 - ;; - igoto $r24 - ;; -.Ltable: -0: /* we should never arrive here */ - goto .Lerror - nop - ;; -1: /* Sign extend byte to double */ - sxbd $r0 = $r0 - goto .Lend - ;; -2: /* Sign extend half to double */ - sxhd $r0 = $r0 - goto .Lend - ;; -3: /* Sign extend word to double */ - sxwd $r0 = $r0 - goto .Lend - ;; -4: /* Zero extend byte to double */ - zxbd $r0 = $r0 - goto .Lend - ;; -5: /* Zero extend half to double */ - zxhd $r0 = $r0 - goto .Lend - ;; -6: /* Zero extend word to double */ - zxwd $r0 = $r0 - /* Fallthrough to .Lend */ - ;; -.Lend: - ld $r24 = (0)[$r12] - ;; - set $ra = $r23 - lo $r20r21r22r23 = (32)[$r20] - addd $r12 = $r20, 64 - ;; - ret - ;; -.Lerror: - errop - ;; - -#endif /* __kvx__ */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",%progbits -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffi.c deleted file mode 100644 index 140be3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffi.c +++ /dev/null @@ -1,621 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2022 Xu Chenghua - 2022 Cheng Lulu - Based on RISC-V port - - LoongArch Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include - -#if defined(__loongarch_soft_float) -# define ABI_FRLEN 0 -#elif defined(__loongarch_single_float) -# define ABI_FRLEN 32 -# define ABI_FLOAT float -#elif defined(__loongarch_double_float) -# define ABI_FRLEN 64 -# define ABI_FLOAT double -#else -#error unsupported LoongArch floating-point ABI -#endif - -#define NARGREG 8 -#define STKALIGN 16 -#define MAXCOPYARG (2 * sizeof (double)) - -/* call_context registers - - 8 floating point parameter/result registers. - - 8 integer parameter/result registers. - - 2 registers used by the assembly code to in-place construct its own - stack frame - - frame register - - return register -*/ -typedef struct call_context -{ - ABI_FLOAT fa[8]; - size_t a[10]; -} call_context; - -typedef struct call_builder -{ - call_context *aregs; - int used_integer; - int used_float; - size_t *used_stack; - size_t *stack; - size_t next_struct_area; -} call_builder; - -/* Integer (not pointer) less than ABI GRLEN. */ -/* FFI_TYPE_INT does not appear to be used. */ -#if __SIZEOF_POINTER__ == 8 -# define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) -#else -# define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) -#endif - -#if ABI_FRLEN -typedef struct float_struct_info -{ - char as_elements; - char type1; - char offset2; - char type2; -} float_struct_info; - -#if ABI_FRLEN >= 64 -# define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE) -#else -# define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT) -#endif - -static ffi_type ** -flatten_struct (ffi_type *in, ffi_type **out, ffi_type **out_end) -{ - int i; - - if (out == out_end) - return out; - if (in->type != FFI_TYPE_STRUCT) - *(out++) = in; - else - for (i = 0; in->elements[i]; i++) - out = flatten_struct (in->elements[i], out, out_end); - return out; -} - -/* Structs with at most two fields after flattening, one of which is of - floating point type, are passed in multiple registers if sufficient - registers are available. */ -static float_struct_info -struct_passed_as_elements (call_builder *cb, ffi_type *top) -{ - float_struct_info ret = {0, 0, 0, 0}; - ffi_type *fields[3]; - int num_floats, num_ints; - int num_fields = flatten_struct (top, fields, fields + 3) - fields; - - if (num_fields == 1) - { - if (IS_FLOAT (fields[0]->type)) - { - ret.as_elements = 1; - ret.type1 = fields[0]->type; - } - } - else if (num_fields == 2) - { - num_floats = IS_FLOAT (fields[0]->type) + IS_FLOAT (fields[1]->type); - num_ints = IS_INT (fields[0]->type) + IS_INT (fields[1]->type); - if (num_floats == 0 || num_floats + num_ints != 2) - return ret; - if (cb->used_float + num_floats > NARGREG - || cb->used_integer + (2 - num_floats) > NARGREG) - return ret; - if (!IS_FLOAT (fields[0]->type) && !IS_FLOAT (fields[1]->type)) - return ret; - - ret.type1 = fields[0]->type; - ret.type2 = fields[1]->type; - ret.offset2 = FFI_ALIGN (fields[0]->size, fields[1]->alignment); - ret.as_elements = 1; - } - return ret; -} -#endif - -/* Allocates a single register, float register, or GRLEN-sized stack slot to a - datum. */ -static void -marshal_atom (call_builder *cb, int type, void *data) -{ - size_t value = 0; - switch (type) - { - case FFI_TYPE_UINT8: - value = *(uint8_t *) data; - break; - case FFI_TYPE_SINT8: - value = *(int8_t *) data; - break; - case FFI_TYPE_UINT16: - value = *(uint16_t *) data; - break; - case FFI_TYPE_SINT16: - value = *(int16_t *) data; - break; - /* 32-bit quantities are always sign-extended in the ABI. */ - case FFI_TYPE_UINT32: - value = *(int32_t *) data; - break; - case FFI_TYPE_SINT32: - value = *(int32_t *) data; - break; -#if __SIZEOF_POINTER__ == 8 - case FFI_TYPE_UINT64: - value = *(uint64_t *) data; - break; - case FFI_TYPE_SINT64: - value = *(int64_t *) data; - break; -#endif - case FFI_TYPE_POINTER: - value = *(size_t *) data; - break; - -#if ABI_FRLEN >= 32 - case FFI_TYPE_FLOAT: - *(float *)(cb->aregs->fa + cb->used_float++) = *(float *) data; - return; -#endif -#if ABI_FRLEN >= 64 - case FFI_TYPE_DOUBLE: - (cb->aregs->fa[cb->used_float++]) = *(double *) data; - return; -#endif - default: - FFI_ASSERT (0); - break; - } - - if (cb->used_integer == NARGREG) - *cb->used_stack++ = value; - else - cb->aregs->a[cb->used_integer++] = value; -} - -static void -unmarshal_atom (call_builder *cb, int type, void *data) -{ - size_t value; - switch (type) - { -#if ABI_FRLEN >= 32 - case FFI_TYPE_FLOAT: - *(float *) data = *(float *)(cb->aregs->fa + cb->used_float++); - return; -#endif -#if ABI_FRLEN >= 64 - case FFI_TYPE_DOUBLE: - *(double *) data = cb->aregs->fa[cb->used_float++]; - return; -#endif - } - - if (cb->used_integer == NARGREG) - value = *cb->used_stack++; - else - value = cb->aregs->a[cb->used_integer++]; - - switch (type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: -#if __SIZEOF_POINTER__ == 8 - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#endif - case FFI_TYPE_POINTER: - *(ffi_arg *)data = value; - break; - default: - FFI_ASSERT (0); - break; - } -} - -/* Allocate and copy a structure that is passed by value on the stack and - return a pointer to it. */ -static void * -allocate_and_copy_struct_to_stack (call_builder *cb, void *data, - ffi_type *type) -{ - size_t dest = cb->next_struct_area - type->size; - - dest = FFI_ALIGN_DOWN (dest, type->alignment); - cb->next_struct_area = dest; - - return memcpy ((char *)cb->stack + dest, data, type->size); -} - -/* Adds an argument to a call, or a not by reference return value. */ -static void -marshal (call_builder *cb, ffi_type *type, int var, void *data) -{ - size_t realign[2]; - -#if ABI_FRLEN - if (!var && type->type == FFI_TYPE_STRUCT) - { - float_struct_info fsi = struct_passed_as_elements (cb, type); - if (fsi.as_elements) - { - marshal_atom (cb, fsi.type1, data); - if (fsi.offset2) - marshal_atom (cb, fsi.type2, ((char *) data) + fsi.offset2); - return; - } - } - - if (!var && cb->used_float < NARGREG - && IS_FLOAT (type->type)) - { - marshal_atom (cb, type->type, data); - return; - } - - double promoted; - if (var && type->type == FFI_TYPE_FLOAT) - { - /* C standard requires promoting float -> double for variable arg. */ - promoted = *(float *) data; - type = &ffi_type_double; - data = &promoted; - } -#endif - - if (type->size > 2 * __SIZEOF_POINTER__) - /* Pass by reference. */ - { - allocate_and_copy_struct_to_stack (cb, data, type); - data = (char *)cb->stack + cb->next_struct_area; - marshal_atom (cb, FFI_TYPE_POINTER, &data); - } - else if (IS_INT (type->type) || type->type == FFI_TYPE_POINTER) - marshal_atom (cb, type->type, data); - else - { - /* Overlong integers, soft-float floats, and structs without special - float handling are treated identically from this point on. */ - - /* Variadics are aligned even in registers. */ - if (type->alignment > __SIZEOF_POINTER__) - { - if (var) - cb->used_integer = FFI_ALIGN (cb->used_integer, 2); - cb->used_stack - = (size_t *) FFI_ALIGN (cb->used_stack, 2 * __SIZEOF_POINTER__); - } - - memcpy (realign, data, type->size); - if (type->size > 0) - marshal_atom (cb, FFI_TYPE_POINTER, realign); - if (type->size > __SIZEOF_POINTER__) - marshal_atom (cb, FFI_TYPE_POINTER, realign + 1); - } -} - -/* For arguments passed by reference returns the pointer, otherwise the arg - is copied (up to MAXCOPYARG bytes). */ -static void * -unmarshal (call_builder *cb, ffi_type *type, int var, void *data) -{ - size_t realign[2]; - void *pointer; - -#if ABI_FRLEN - if (!var && type->type == FFI_TYPE_STRUCT) - { - float_struct_info fsi = struct_passed_as_elements (cb, type); - if (fsi.as_elements) - { - unmarshal_atom (cb, fsi.type1, data); - if (fsi.offset2) - unmarshal_atom (cb, fsi.type2, ((char *) data) + fsi.offset2); - return data; - } - } - - if (!var && cb->used_float < NARGREG - && IS_FLOAT (type->type)) - { - unmarshal_atom (cb, type->type, data); - return data; - } - - if (var && type->type == FFI_TYPE_FLOAT) - { - int m = cb->used_integer; - void *promoted - = m < NARGREG ? cb->aregs->a + m : cb->used_stack + m - NARGREG + 1; - *(float *) promoted = *(double *) promoted; - } -#endif - - if (type->size > 2 * __SIZEOF_POINTER__) - { - /* Pass by reference. */ - unmarshal_atom (cb, FFI_TYPE_POINTER, (char *) &pointer); - return pointer; - } - else if (IS_INT (type->type) || type->type == FFI_TYPE_POINTER) - { - unmarshal_atom (cb, type->type, data); - return data; - } - else - { - /* Overlong integers, soft-float floats, and structs without special - float handling are treated identically from this point on. */ - - /* Variadics are aligned even in registers. */ - if (type->alignment > __SIZEOF_POINTER__) - { - if (var) - cb->used_integer = FFI_ALIGN (cb->used_integer, 2); - cb->used_stack - = (size_t *) FFI_ALIGN (cb->used_stack, 2 * __SIZEOF_POINTER__); - } - - if (type->size > 0) - unmarshal_atom (cb, FFI_TYPE_POINTER, realign); - if (type->size > __SIZEOF_POINTER__) - unmarshal_atom (cb, FFI_TYPE_POINTER, realign + 1); - memcpy (data, realign, type->size); - return data; - } -} - -static int -passed_by_ref (call_builder *cb, ffi_type *type, int var) -{ -#if ABI_FRLEN - if (!var && type->type == FFI_TYPE_STRUCT) - { - float_struct_info fsi = struct_passed_as_elements (cb, type); - if (fsi.as_elements) - return 0; - } -#endif - - return type->size > 2 * __SIZEOF_POINTER__; -} - -/* Perform machine dependent cif processing. */ -ffi_status -ffi_prep_cif_machdep (ffi_cif *cif) -{ - cif->loongarch_nfixedargs = cif->nargs; - return FFI_OK; -} - -/* Perform machine dependent cif processing when we have a variadic - function. */ -ffi_status -ffi_prep_cif_machdep_var (ffi_cif *cif, unsigned int nfixedargs, - unsigned int ntotalargs) -{ - cif->loongarch_nfixedargs = nfixedargs; - return FFI_OK; -} - -/* Low level routine for calling functions. */ -extern void ffi_call_asm (void *stack, struct call_context *regs, - void (*fn) (void), void *closure) FFI_HIDDEN; - -static void -ffi_call_int (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, - void *closure) -{ - /* This is a conservative estimate, assuming a complex return value and - that all remaining arguments are long long / __int128 */ - size_t arg_bytes = cif->bytes; - size_t rval_bytes = 0; - if (rvalue == NULL && cif->rtype->size > 2 * __SIZEOF_POINTER__) - rval_bytes = FFI_ALIGN (cif->rtype->size, STKALIGN); - size_t alloc_size = arg_bytes + rval_bytes + sizeof (call_context); - - /* The assembly code will deallocate all stack data at lower addresses - than the argument region, so we need to allocate the frame and the - return value after the arguments in a single allocation. */ - size_t alloc_base; - /* Argument region must be 16-byte aligned in LP64 ABIs. */ - if (_Alignof(max_align_t) >= STKALIGN) - /* Since sizeof long double is normally 16, the compiler will - guarantee alloca alignment to at least that much. */ - alloc_base = (size_t) alloca (alloc_size); - else - alloc_base = FFI_ALIGN (alloca (alloc_size + STKALIGN - 1), STKALIGN); - - if (rval_bytes) - rvalue = (void *) (alloc_base + arg_bytes); - - call_builder cb; - cb.used_float = cb.used_integer = 0; - cb.aregs = (call_context *) (alloc_base + arg_bytes + rval_bytes); - cb.used_stack = (void *) alloc_base; - cb.stack = (void *) alloc_base; - cb.next_struct_area = arg_bytes; - - int return_by_ref = passed_by_ref (&cb, cif->rtype, 0); - if (return_by_ref) - cb.aregs->a[cb.used_integer++] = (size_t)rvalue; - - int i; - for (i = 0; i < cif->nargs; i++) - marshal (&cb, cif->arg_types[i], i >= cif->loongarch_nfixedargs, - avalue[i]); - - ffi_call_asm ((void *) alloc_base, cb.aregs, fn, closure); - - cb.used_float = cb.used_integer = 0; - if (!return_by_ref && rvalue) - unmarshal (&cb, cif->rtype, 0, rvalue); -} - -void -ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, - void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} - -extern void ffi_closure_asm (void) FFI_HIDDEN; - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, void *codeloc) -{ - uint32_t *tramp = (uint32_t *) &closure->tramp[0]; - uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm; - - if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - -#if defined(FFI_EXEC_STATIC_TRAMP) - if (ffi_tramp_is_present(closure)) - { - ffi_tramp_set_parms (closure->ftramp, ffi_closure_asm, closure); - goto out; - } -#endif - - /* Fill the dynamic trampoline. We will call ffi_closure_inner with codeloc, - not closure, but as long as the memory is readable it should work. */ - tramp[0] = 0x1800000c; /* pcaddi $t0, 0 (i.e. $t0 <- tramp) */ - tramp[1] = 0x28c0418d; /* ld.d $t1, $t0, 16 */ - tramp[2] = 0x4c0001a0; /* jirl $zero, $t1, 0 */ - tramp[3] = 0x03400000; /* nop */ - tramp[4] = fn; - tramp[5] = fn >> 32; - - __builtin___clear_cache (codeloc, codeloc + FFI_TRAMPOLINE_SIZE); - -#if defined(FFI_EXEC_STATIC_TRAMP) -out: -#endif - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -extern void ffi_go_closure_asm (void) FFI_HIDDEN; - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *)) -{ - if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - closure->tramp = (void *) ffi_go_closure_asm; - closure->cif = cif; - closure->fun = fun; - return FFI_OK; -} - -/* Called by the assembly code with aregs pointing to saved argument registers - and stack pointing to the stacked arguments. Return values passed in - registers will be reloaded from aregs. */ -void FFI_HIDDEN -ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, size_t *stack, call_context *aregs) -{ - void **avalue = alloca (cif->nargs * sizeof (void *)); - /* Storage for arguments which will be copied by unmarshal(). We could - theoretically avoid the copies in many cases and use at most 128 bytes - of memory, but allocating disjoint storage for each argument is - simpler. */ - char *astorage = alloca (cif->nargs * MAXCOPYARG); - void *rvalue; - call_builder cb; - int return_by_ref; - int i; - - cb.aregs = aregs; - cb.used_integer = cb.used_float = 0; - cb.used_stack = stack; - - return_by_ref = passed_by_ref (&cb, cif->rtype, 0); - if (return_by_ref) - unmarshal (&cb, &ffi_type_pointer, 0, &rvalue); - else - rvalue = alloca (cif->rtype->size); - - for (i = 0; i < cif->nargs; i++) - avalue[i] - = unmarshal (&cb, cif->arg_types[i], i >= cif->loongarch_nfixedargs, - astorage + i * MAXCOPYARG); - - fun (cif, rvalue, avalue, user_data); - - if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) - { - cb.used_integer = cb.used_float = 0; - marshal (&cb, cif->rtype, 0, rvalue); - } -} - -#if defined(FFI_EXEC_STATIC_TRAMP) -void * -ffi_tramp_arch (size_t *tramp_size, size_t *map_size) -{ - extern void *trampoline_code_table; - - *tramp_size = 16; - /* A mapping size of 64K is chosen to cover the page sizes of 4K, 16K, and - 64K. */ - *map_size = 1 << 16; - return &trampoline_code_table; -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffitarget.h deleted file mode 100644 index 5a4698a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +++ /dev/null @@ -1,82 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2022 Xu Chenghua - 2022 Cheng Lulu - - Target configuration macros for LoongArch. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error \ - "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef __loongarch__ -#error \ - "libffi was configured for a LoongArch target but this does not appear to be a LoongArch compiler." -#endif - -#ifndef LIBFFI_ASM - -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi -{ - FFI_FIRST_ABI = 0, - FFI_LP64S, - FFI_LP64F, - FFI_LP64D, - FFI_LAST_ABI, - -#if defined(__loongarch64) -#if defined(__loongarch_soft_float) - FFI_DEFAULT_ABI = FFI_LP64S -#elif defined(__loongarch_single_float) - FFI_DEFAULT_ABI = FFI_LP64F -#elif defined(__loongarch_double_float) - FFI_DEFAULT_ABI = FFI_LP64D -#else -#error unsupported LoongArch floating-point ABI -#endif -#else -#error unsupported LoongArch base architecture -#endif -} ffi_abi; - -#endif /* LIBFFI_ASM */ - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 24 -#define FFI_NATIVE_RAW_API 0 -#define FFI_EXTRA_CIF_FIELDS \ - unsigned loongarch_nfixedargs; \ - unsigned loongarch_unused; -#define FFI_TARGET_SPECIFIC_VARIADIC -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/sysv.S deleted file mode 100644 index aa7bde2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/sysv.S +++ /dev/null @@ -1,327 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2022 Xu Chenghua - 2022 Cheng Lulu - - LoongArch Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -/* Define aliases so that we can handle all ABIs uniformly. */ - -#if __SIZEOF_POINTER__ == 8 -# define PTRS 8 -# define LARG ld.d -# define SARG st.d -#else -# define PTRS 4 -# define LARG ld.w -# define SARG st.w -#endif - -#if defined(__loongarch_single_float) -# define FLTS 4 -# define FLD fld.w -# define FST fst.w -#elif defined(__loongarch_double_float) -# define FLTS 8 -# define FLARG fld.d -# define FSARG fst.d -#elif defined(__loongarch_soft_float) -# define FLTS 0 -#else -#error unsupported LoongArch floating-point ABI -#endif - - .text - .globl ffi_call_asm - .type ffi_call_asm, @function - .hidden ffi_call_asm -/* struct call_context - { - ABI_FLOAT fa[8]; - size_t a[10]; - } - - - 8 floating point parameter/result registers (fa[0] - fa[7]) - - 8 integer parameter/result registers (a[0] - a[7]) - - 2 registers used by the assembly code to in-place construct its own stack - frame. - - frame pointer (a[8]) - - return address (a[9]) - - void ffi_call_asm (size_t *stackargs, struct call_context *regargs, - void (*fn)(void), void *closure); */ - -#define FRAME_LEN (8 * FLTS + 10 * PTRS) - -ffi_call_asm: - .cfi_startproc - - /* We are NOT going to set up an ordinary stack frame. In order to pass - the stacked args to the called function, we adjust our stack pointer - to a0, which is in the _caller's_ alloca area. We establish our own - stack frame at the end of the call_context. - - Anything below the arguments will be freed at this point, although - we preserve the call_context so that it can be read back in the - caller. */ - - .cfi_def_cfa 5, FRAME_LEN # Interim CFA based on a1. - SARG $fp, $a1, FRAME_LEN - 2*PTRS - .cfi_offset 22, -2*PTRS - SARG $ra, $a1, FRAME_LEN - 1*PTRS - .cfi_offset 1, -1*PTRS - - addi.d $fp, $a1, FRAME_LEN - move $sp, $a0 - .cfi_def_cfa 22, 0 # Our frame is fully set up. - - # Load arguments. - move $t1, $a2 - move $t2, $a3 - -#if FLTS - FLARG $fa0, $fp, -FRAME_LEN+0*FLTS - FLARG $fa1, $fp, -FRAME_LEN+1*FLTS - FLARG $fa2, $fp, -FRAME_LEN+2*FLTS - FLARG $fa3, $fp, -FRAME_LEN+3*FLTS - FLARG $fa4, $fp, -FRAME_LEN+4*FLTS - FLARG $fa5, $fp, -FRAME_LEN+5*FLTS - FLARG $fa6, $fp, -FRAME_LEN+6*FLTS - FLARG $fa7, $fp, -FRAME_LEN+7*FLTS -#endif - - LARG $a0, $fp, -FRAME_LEN+8*FLTS+0*PTRS - LARG $a1, $fp, -FRAME_LEN+8*FLTS+1*PTRS - LARG $a2, $fp, -FRAME_LEN+8*FLTS+2*PTRS - LARG $a3, $fp, -FRAME_LEN+8*FLTS+3*PTRS - LARG $a4, $fp, -FRAME_LEN+8*FLTS+4*PTRS - LARG $a5, $fp, -FRAME_LEN+8*FLTS+5*PTRS - LARG $a6, $fp, -FRAME_LEN+8*FLTS+6*PTRS - LARG $a7, $fp, -FRAME_LEN+8*FLTS+7*PTRS - - /* Call */ - jirl $ra, $t1, 0 - -#if FLTS - /* Save return values - only a0/a1 (fa0/fa1) are used. */ - FSARG $fa0, $fp, -FRAME_LEN+0*FLTS - FSARG $fa1, $fp, -FRAME_LEN+1*FLTS -#endif - - SARG $a0, $fp, -FRAME_LEN+8*FLTS+0*PTRS - SARG $a1, $fp, -FRAME_LEN+8*FLTS+1*PTRS - - /* Restore and return. */ - addi.d $sp, $fp, -FRAME_LEN - .cfi_def_cfa 3, FRAME_LEN - LARG $ra, $fp, -1*PTRS - .cfi_restore 1 - LARG $fp, $fp, -2*PTRS - .cfi_restore 22 - jr $ra - .cfi_endproc - .size ffi_call_asm, .-ffi_call_asm - - -/* ffi_closure_asm. Expects address of the passed-in ffi_closure in t0. - void ffi_closure_inner (ffi_cif *cif, - void (*fun)(ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stackargs, struct call_context *regargs) */ - - .globl ffi_closure_asm - .hidden ffi_closure_asm - .type ffi_closure_asm, @function - -ffi_closure_asm: - .cfi_startproc - addi.d $sp, $sp, -FRAME_LEN - .cfi_def_cfa_offset FRAME_LEN - - /* Make a frame. */ - SARG $fp, $sp, FRAME_LEN - 2*PTRS - .cfi_offset 22, -2*PTRS - SARG $ra, $sp, FRAME_LEN - 1*PTRS - .cfi_offset 1, -1*PTRS - addi.d $fp, $sp, FRAME_LEN - - /* Save arguments. */ -#if FLTS - FSARG $fa0, $sp, 0*FLTS - FSARG $fa1, $sp, 1*FLTS - FSARG $fa2, $sp, 2*FLTS - FSARG $fa3, $sp, 3*FLTS - FSARG $fa4, $sp, 4*FLTS - FSARG $fa5, $sp, 5*FLTS - FSARG $fa6, $sp, 6*FLTS - FSARG $fa7, $sp, 7*FLTS -#endif - - SARG $a0, $sp, 8*FLTS+0*PTRS - SARG $a1, $sp, 8*FLTS+1*PTRS - SARG $a2, $sp, 8*FLTS+2*PTRS - SARG $a3, $sp, 8*FLTS+3*PTRS - SARG $a4, $sp, 8*FLTS+4*PTRS - SARG $a5, $sp, 8*FLTS+5*PTRS - SARG $a6, $sp, 8*FLTS+6*PTRS - SARG $a7, $sp, 8*FLTS+7*PTRS - - /* Enter C */ - LARG $a0, $t0, FFI_TRAMPOLINE_SIZE+0*PTRS - LARG $a1, $t0, FFI_TRAMPOLINE_SIZE+1*PTRS - LARG $a2, $t0, FFI_TRAMPOLINE_SIZE+2*PTRS - addi.d $a3, $sp, FRAME_LEN - move $a4, $sp - - bl ffi_closure_inner - - /* Return values. */ -#if FLTS - FLARG $fa0, $sp, 0*FLTS - FLARG $fa1, $sp, 1*FLTS -#endif - - LARG $a0, $sp, 8*FLTS+0*PTRS - LARG $a1, $sp, 8*FLTS+1*PTRS - - /* Restore and return. */ - LARG $ra, $sp, FRAME_LEN-1*PTRS - .cfi_restore 1 - LARG $fp, $sp, FRAME_LEN-2*PTRS - .cfi_restore 22 - addi.d $sp, $sp, FRAME_LEN - .cfi_def_cfa_offset 0 - jr $ra - .cfi_endproc - .size ffi_closure_asm, .-ffi_closure_asm - -/* Static trampoline code table, in which each element is a trampoline. - - The trampoline clobbers t0 and t1, but we don't save them on the stack - because our psABI explicitly says they are scratch registers, at least for - ELF. Our dynamic trampoline is already clobbering them anyway. - - The trampoline has two parameters - target code to jump to and data for - the target code. The trampoline extracts the parameters from its parameter - block (see tramp_table_map()). The trampoline saves the data address in - t0 and jumps to the target code. As ffi_closure_asm() already expects the - data address to be in t0, we don't need a "ffi_closure_asm_alt". */ - -#if defined(FFI_EXEC_STATIC_TRAMP) - .align 16 - .globl trampoline_code_table - .hidden trampoline_code_table - .type trampoline_code_table, @function - -trampoline_code_table: - - .rept 65536 / 16 - pcaddu12i $t1, 16 # 65536 >> 12 - ld.d $t0, $t1, 0 - ld.d $t1, $t1, 8 - jirl $zero, $t1, 0 - .endr - .size trampoline_code_table, .-trampoline_code_table - - .align 2 -#endif - -/* ffi_go_closure_asm. Expects address of the passed-in ffi_go_closure in t2. - void ffi_closure_inner (ffi_cif *cif, - void (*fun)(ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stackargs, struct call_context *regargs) */ - - .globl ffi_go_closure_asm - .hidden ffi_go_closure_asm - .type ffi_go_closure_asm, @function - -ffi_go_closure_asm: - .cfi_startproc - addi.d $sp, $sp, -FRAME_LEN - .cfi_def_cfa_offset FRAME_LEN - - /* Make a frame. */ - SARG $fp, $sp, FRAME_LEN - 2*PTRS - .cfi_offset 22, -2*PTRS - SARG $ra, $sp, FRAME_LEN - 1*PTRS - .cfi_offset 1, -1*PTRS - addi.d $fp, $sp, FRAME_LEN - - /* Save arguments. */ -#if FLTS - FSARG $fa0, $sp, 0*FLTS - FSARG $fa1, $sp, 1*FLTS - FSARG $fa2, $sp, 2*FLTS - FSARG $fa3, $sp, 3*FLTS - FSARG $fa4, $sp, 4*FLTS - FSARG $fa5, $sp, 5*FLTS - FSARG $fa6, $sp, 6*FLTS - FSARG $fa7, $sp, 7*FLTS -#endif - - SARG $a0, $sp, 8*FLTS+0*PTRS - SARG $a1, $sp, 8*FLTS+1*PTRS - SARG $a2, $sp, 8*FLTS+2*PTRS - SARG $a3, $sp, 8*FLTS+3*PTRS - SARG $a4, $sp, 8*FLTS+4*PTRS - SARG $a5, $sp, 8*FLTS+5*PTRS - SARG $a6, $sp, 8*FLTS+6*PTRS - SARG $a7, $sp, 8*FLTS+7*PTRS - - /* Enter C */ - LARG $a0, $t2, 1*PTRS - LARG $a1, $t2, 2*PTRS - move $a2, $t2 - addi.d $a3, $sp, FRAME_LEN - move $a4, $sp - - bl ffi_closure_inner - - /* Return values. */ -#if FLTS - FLARG $fa0, $sp, 0*FLTS - FLARG $fa1, $sp, 1*FLTS -#endif - - LARG $a0, $sp, 8*FLTS+0*PTRS - LARG $a1, $sp, 8*FLTS+1*PTRS - - /* Restore and return. */ - LARG $ra, $sp, FRAME_LEN-1*PTRS - .cfi_restore 1 - LARG $fp, $sp, FRAME_LEN-2*PTRS - .cfi_restore 22 - addi.d $sp, $sp, FRAME_LEN - .cfi_def_cfa_offset 0 - jr $ra - .cfi_endproc - .size ffi_go_closure_asm, .-ffi_go_closure_asm - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",%progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffi.c deleted file mode 100644 index 6fab50b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffi.c +++ /dev/null @@ -1,249 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2004 Renesas Technology - Copyright (c) 2008 Red Hat, Inc. - Copyright (c) 2022 Anthony Green - - M32R Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -/* ffi_prep_args is called by the assembly routine once stack - space has been allocated for the function's arguments. */ - -void ffi_prep_args(char *stack, extended_cif *ecif) -{ - unsigned int i; - int tmp; - unsigned int avn; - void **p_argv; - char *argp; - ffi_type **p_arg; - - tmp = 0; - argp = stack; - - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT && ecif->cif->rtype->size > 8) - { - *(void **) argp = ecif->rvalue; - argp += 4; - } - - avn = ecif->cif->nargs; - p_argv = ecif->avalue; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - (i != 0) && (avn != 0); - i--, p_arg++) - { - size_t z; - - /* Align if necessary. */ - if (((*p_arg)->alignment - 1) & (unsigned) argp) - argp = (char *) FFI_ALIGN (argp, (*p_arg)->alignment); - - if (avn != 0) - { - avn--; - z = (*p_arg)->size; - if (z < sizeof (int)) - { - z = sizeof (int); - - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - break; - - case FFI_TYPE_STRUCT: - z = (*p_arg)->size; - if ((*p_arg)->alignment != 1) - memcpy (argp, *p_argv, z); - else - memcpy (argp + 4 - z, *p_argv, z); - z = sizeof (int); - break; - - default: - FFI_ASSERT(0); - } - } - else if (z == sizeof (int)) - { - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - } - else - { - if ((*p_arg)->type == FFI_TYPE_STRUCT) - { - if (z > 8) - { - *(unsigned int *) argp = (unsigned int)(void *)(* p_argv); - z = sizeof(void *); - } - else - { - memcpy(argp, *p_argv, z); - z = 8; - } - } - else - { - /* Double or long long 64bit. */ - memcpy (argp, *p_argv, z); - } - } - p_argv++; - argp += z; - } - } - - return; -} - -/* Perform machine dependent cif processing. */ -ffi_status -ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* Set the return type flag. */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - cif->flags = (unsigned) cif->rtype->type; - break; - - case FFI_TYPE_STRUCT: - if (cif->rtype->size <= 4) - cif->flags = FFI_TYPE_INT; - - else if (cif->rtype->size <= 8) - cif->flags = FFI_TYPE_DOUBLE; - - else - cif->flags = (unsigned) cif->rtype->type; - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: - cif->flags = FFI_TYPE_DOUBLE; - break; - - case FFI_TYPE_FLOAT: - default: - cif->flags = FFI_TYPE_INT; - break; - } - - return FFI_OK; -} - -extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *, - unsigned, unsigned, unsigned *, void (*fn)(void)); - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - ffi_type **arg_types = cif->arg_types; - int i, nargs = cif->nargs; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have - a return value address then we need to make one. */ - if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca (cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - for (i = 0; i < nargs; i++) - { - ffi_type *at = arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT && size > 4) - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn); - if (cif->rtype->type == FFI_TYPE_STRUCT) - { - int size = cif->rtype->size; - int align = cif->rtype->alignment; - - if (size < 4) - { - if (align == 1) - *(unsigned long *)(ecif.rvalue) <<= (4 - size) * 8; - } - else if (4 < size && size < 8) - { - if (align == 1) - { - memcpy (ecif.rvalue, ecif.rvalue + 8-size, size); - } - else if (align == 2) - { - if (size & 1) - size += 1; - - if (size != 8) - memcpy (ecif.rvalue, ecif.rvalue + 8-size, size); - } - } - } - break; - - default: - FFI_ASSERT(0); - break; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffitarget.h deleted file mode 100644 index 6c34801..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffitarget.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 2004 Renesas Technology. - Target configuration macros for M32R. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi - { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV - } ffi_abi; -#endif - -#define FFI_CLOSURES 0 -#define FFI_TRAMPOLINE_SIZE 24 -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/sysv.S deleted file mode 100644 index 06b75c2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/sysv.S +++ /dev/null @@ -1,121 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2004 Renesas Technology - - M32R Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#ifdef HAVE_MACHINE_ASM_H -#include -#else -/* XXX these lose for some platforms, I'm sure. */ -#define CNAME(x) x -#define ENTRY(x) .globl CNAME(x)! .type CNAME(x),%function! CNAME(x): -#endif - -.text - - /* R0: ffi_prep_args */ - /* R1: &ecif */ - /* R2: cif->bytes */ - /* R3: fig->flags */ - /* sp+0: ecif.rvalue */ - /* sp+4: fn */ - - /* This assumes we are using gas. */ -ENTRY(ffi_call_SYSV) - /* Save registers. */ - push fp - push lr - push r3 - push r2 - push r1 - push r0 - mv fp, sp - - /* Make room for all of the new args. */ - sub sp, r2 - - /* Place all of the ffi_prep_args in position. */ - mv lr, r0 - mv r0, sp - /* R1 already set. */ - - /* And call. */ - jl lr - - /* Move first 4 parameters in registers... */ - ld r0, @(0,sp) - ld r1, @(4,sp) - ld r2, @(8,sp) - ld r3, @(12,sp) - - /* ...and adjust the stack. */ - ld lr, @(8,fp) - cmpi lr, #16 - bc adjust_stack - ldi lr, #16 -adjust_stack: - add sp, lr - - /* Call the function. */ - ld lr, @(28,fp) - jl lr - - /* Remove the space we pushed for the args. */ - mv sp, fp - - /* Load R2 with the pointer to storage for the return value. */ - ld r2, @(24,sp) - - /* Load R3 with the return type code. */ - ld r3, @(12,sp) - - /* If the return value pointer is NULL, assume no return value. */ - beqz r2, epilogue - - /* Return INT. */ - ldi r4, #FFI_TYPE_INT - bne r3, r4, return_double - st r0, @r2 - bra epilogue - -return_double: - /* Return DOUBLE or LONGDOUBLE. */ - ldi r4, #FFI_TYPE_DOUBLE - bne r3, r4, epilogue - st r0, @r2 - st r1, @(4,r2) - -epilogue: - pop r0 - pop r1 - pop r2 - pop r3 - pop lr - pop fp - jmp lr - -.ffi_call_SYSV_end: - .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffi.c deleted file mode 100644 index 0330184..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffi.c +++ /dev/null @@ -1,362 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - - m68k Foreign Function Interface - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include -#ifdef __rtems__ -void rtems_cache_flush_multiple_data_lines( const void *, size_t ); -#else -#include -#ifdef __MINT__ -#include -#include -#else -#include -#endif -#endif - -void ffi_call_SYSV (extended_cif *, - unsigned, unsigned, - void *, void (*fn) ()); -void *ffi_prep_args (void *stack, extended_cif *ecif); -void ffi_closure_SYSV (ffi_closure *); -void ffi_closure_struct_SYSV (ffi_closure *); -unsigned int ffi_closure_SYSV_inner (ffi_closure *closure, - void *resp, void *args); - -/* ffi_prep_args is called by the assembly routine once stack space has - been allocated for the function's arguments. */ - -void * -ffi_prep_args (void *stack, extended_cif *ecif) -{ - unsigned int i; - void **p_argv; - char *argp; - ffi_type **p_arg; - void *struct_value_ptr; - - argp = stack; - - if ( -#ifdef __MINT__ - (ecif->cif->rtype->type == FFI_TYPE_LONGDOUBLE) || -#endif - (((ecif->cif->rtype->type == FFI_TYPE_STRUCT) - && !ecif->cif->flags))) - struct_value_ptr = ecif->rvalue; - else - struct_value_ptr = NULL; - - p_argv = ecif->avalue; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - i != 0; - i--, p_arg++) - { - size_t z = (*p_arg)->size; - int type = (*p_arg)->type; - - if (z < sizeof (int)) - { - switch (type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int) *(SINT8 *) *p_argv; - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv; - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int) *(SINT16 *) *p_argv; - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv; - break; - - case FFI_TYPE_STRUCT: -#ifdef __MINT__ - if (z == 1 || z == 2) - memcpy (argp + 2, *p_argv, z); - else - memcpy (argp, *p_argv, z); -#else - memcpy (argp + sizeof (int) - z, *p_argv, z); -#endif - break; - - default: - FFI_ASSERT (0); - } - z = sizeof (int); - } - else - { - memcpy (argp, *p_argv, z); - - /* Align if necessary. */ - if ((sizeof(int) - 1) & z) - z = FFI_ALIGN(z, sizeof(int)); - } - - p_argv++; - argp += z; - } - - return struct_value_ptr; -} - -#define CIF_FLAGS_INT 1 -#define CIF_FLAGS_DINT 2 -#define CIF_FLAGS_FLOAT 4 -#define CIF_FLAGS_DOUBLE 8 -#define CIF_FLAGS_LDOUBLE 16 -#define CIF_FLAGS_POINTER 32 -#define CIF_FLAGS_STRUCT1 64 -#define CIF_FLAGS_STRUCT2 128 -#define CIF_FLAGS_SINT8 256 -#define CIF_FLAGS_SINT16 512 - -/* Perform machine dependent cif processing */ -ffi_status -ffi_prep_cif_machdep (ffi_cif *cif) -{ - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - cif->flags = 0; - break; - - case FFI_TYPE_STRUCT: - if (cif->rtype->elements[0]->type == FFI_TYPE_STRUCT && - cif->rtype->elements[1]) - { - cif->flags = 0; - break; - } - - switch (cif->rtype->size) - { - case 1: -#ifdef __MINT__ - cif->flags = CIF_FLAGS_STRUCT2; -#else - cif->flags = CIF_FLAGS_STRUCT1; -#endif - break; - case 2: - cif->flags = CIF_FLAGS_STRUCT2; - break; -#ifdef __MINT__ - case 3: -#endif - case 4: - cif->flags = CIF_FLAGS_INT; - break; -#ifdef __MINT__ - case 7: -#endif - case 8: - cif->flags = CIF_FLAGS_DINT; - break; - default: - cif->flags = 0; - break; - } - break; - - case FFI_TYPE_FLOAT: - cif->flags = CIF_FLAGS_FLOAT; - break; - - case FFI_TYPE_DOUBLE: - cif->flags = CIF_FLAGS_DOUBLE; - break; - -#if (FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE) - case FFI_TYPE_LONGDOUBLE: -#ifdef __MINT__ - cif->flags = 0; -#else - cif->flags = CIF_FLAGS_LDOUBLE; -#endif - break; -#endif - - case FFI_TYPE_POINTER: - cif->flags = CIF_FLAGS_POINTER; - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = CIF_FLAGS_DINT; - break; - - case FFI_TYPE_SINT16: - cif->flags = CIF_FLAGS_SINT16; - break; - - case FFI_TYPE_SINT8: - cif->flags = CIF_FLAGS_SINT8; - break; - - default: - cif->flags = CIF_FLAGS_INT; - break; - } - - return FFI_OK; -} - -void -ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return value - address then we need to make one. */ - - if (rvalue == NULL - && cif->rtype->type == FFI_TYPE_STRUCT - && cif->rtype->size > 8) - ecif.rvalue = alloca (cif->rtype->size); - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV (&ecif, cif->bytes, cif->flags, - ecif.rvalue, fn); - break; - - default: - FFI_ASSERT (0); - break; - } -} - -static void -ffi_prep_incoming_args_SYSV (char *stack, void **avalue, ffi_cif *cif) -{ - unsigned int i; - void **p_argv; - char *argp; - ffi_type **p_arg; - - argp = stack; - p_argv = avalue; - - for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++) - { - size_t z; - - z = (*p_arg)->size; -#ifdef __MINT__ - if (cif->flags && - cif->rtype->type == FFI_TYPE_STRUCT && - (z == 1 || z == 2)) - { - *p_argv = (void *) (argp + 2); - - z = 4; - } - else - if (cif->flags && - cif->rtype->type == FFI_TYPE_STRUCT && - (z == 3 || z == 4)) - { - *p_argv = (void *) (argp); - - z = 4; - } - else -#endif - if (z <= 4) - { - *p_argv = (void *) (argp + 4 - z); - - z = 4; - } - else - { - *p_argv = (void *) argp; - - /* Align if necessary */ - if ((sizeof(int) - 1) & z) - z = FFI_ALIGN(z, sizeof(int)); - } - - p_argv++; - argp += z; - } -} - -unsigned int -ffi_closure_SYSV_inner (ffi_closure *closure, void *resp, void *args) -{ - ffi_cif *cif; - void **arg_area; - - cif = closure->cif; - arg_area = (void**) alloca (cif->nargs * sizeof (void *)); - - ffi_prep_incoming_args_SYSV(args, arg_area, cif); - - (closure->fun) (cif, resp, arg_area, closure->user_data); - - return cif->flags; -} - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - *(unsigned short *)closure->tramp = 0x207c; - *(void **)(closure->tramp + 2) = codeloc; - *(unsigned short *)(closure->tramp + 6) = 0x4ef9; - - if ( -#ifdef __MINT__ - (cif->rtype->type == FFI_TYPE_LONGDOUBLE) || -#endif - (((cif->rtype->type == FFI_TYPE_STRUCT) - && !cif->flags))) - *(void **)(closure->tramp + 8) = ffi_closure_struct_SYSV; - else - *(void **)(closure->tramp + 8) = ffi_closure_SYSV; - -#ifdef __rtems__ - rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE ); -#elif defined(__MINT__) - Ssystem(S_FLUSHCACHE, codeloc, FFI_TRAMPOLINE_SIZE); -#else - syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE, - FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE); -#endif - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffitarget.h deleted file mode 100644 index e81dde2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffitarget.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for Motorola 68K. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 16 -#define FFI_NATIVE_RAW_API 0 - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/sysv.S deleted file mode 100644 index ea40f11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/sysv.S +++ /dev/null @@ -1,357 +0,0 @@ -/* ----------------------------------------------------------------------- - - sysv.S - Copyright (c) 2012 Alan Hourihane - Copyright (c) 1998, 2012 Andreas Schwab - Copyright (c) 2008 Red Hat, Inc. - Copyright (c) 2012, 2016 Thorsten Glaser - - m68k Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -#ifdef HAVE_AS_CFI_PSEUDO_OP -#define CFI_STARTPROC() .cfi_startproc -#define CFI_OFFSET(reg,off) .cfi_offset reg,off -#define CFI_DEF_CFA(reg,off) .cfi_def_cfa reg,off -#define CFI_ENDPROC() .cfi_endproc -#else -#define CFI_STARTPROC() -#define CFI_OFFSET(reg,off) -#define CFI_DEF_CFA(reg,off) -#define CFI_ENDPROC() -#endif - -#ifdef __MINT__ -#define CALLFUNC(funcname) _ ## funcname -#else -#define CALLFUNC(funcname) funcname -#endif - - .text - - .globl CALLFUNC(ffi_call_SYSV) - .type CALLFUNC(ffi_call_SYSV),@function - .align 4 - -CALLFUNC(ffi_call_SYSV): - CFI_STARTPROC() - link %fp,#0 - CFI_OFFSET(14,-8) - CFI_DEF_CFA(14,8) - move.l %d2,-(%sp) - CFI_OFFSET(2,-12) - - | Make room for all of the new args. - sub.l 12(%fp),%sp - - | Call ffi_prep_args - move.l 8(%fp),-(%sp) - pea 4(%sp) -#if !defined __PIC__ - jsr CALLFUNC(ffi_prep_args) -#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) - move.l _current_shared_library_a5_offset_(%a5),%a0 - move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0 - jsr (%a0) -#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) - move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 - lea (-6,%pc,%a0),%a0 - move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0 - jsr (%a0) -#else - bsr.l CALLFUNC(ffi_prep_args@PLTPC) -#endif - addq.l #8,%sp - - | Pass pointer to struct value, if any -#ifdef __MINT__ - move.l %d0,%a1 -#else - move.l %a0,%a1 -#endif - - | Call the function - move.l 24(%fp),%a0 - jsr (%a0) - - | Remove the space we pushed for the args - add.l 12(%fp),%sp - - | Load the pointer to storage for the return value - move.l 20(%fp),%a1 - - | Load the return type code - move.l 16(%fp),%d2 - - | If the return value pointer is NULL, assume no return value. - | NOTE: On the mc68000, tst on an address register is not supported. -#if !defined(__mc68020__) && !defined(__mc68030__) && !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcoldfire__) - cmp.w #0, %a1 -#else - tst.l %a1 -#endif - jbeq noretval - - btst #0,%d2 - jbeq retlongint - move.l %d0,(%a1) - jbra epilogue - -retlongint: - btst #1,%d2 - jbeq retfloat - move.l %d0,(%a1) - move.l %d1,4(%a1) - jbra epilogue - -retfloat: - btst #2,%d2 - jbeq retdouble -#if defined(__MC68881__) || defined(__HAVE_68881__) - fmove.s %fp0,(%a1) -#else - move.l %d0,(%a1) -#endif - jbra epilogue - -retdouble: - btst #3,%d2 - jbeq retlongdouble -#if defined(__MC68881__) || defined(__HAVE_68881__) - fmove.d %fp0,(%a1) -#else - move.l %d0,(%a1)+ - move.l %d1,(%a1) -#endif - jbra epilogue - -retlongdouble: - btst #4,%d2 - jbeq retpointer -#if defined(__MC68881__) || defined(__HAVE_68881__) - fmove.x %fp0,(%a1) -#else - move.l %d0,(%a1)+ - move.l %d1,(%a1)+ - move.l %d2,(%a1) -#endif - jbra epilogue - -retpointer: - btst #5,%d2 - jbeq retstruct1 -#ifdef __MINT__ - move.l %d0,(%a1) -#else - move.l %a0,(%a1) -#endif - jbra epilogue - -retstruct1: - btst #6,%d2 - jbeq retstruct2 - move.b %d0,(%a1) - jbra epilogue - -retstruct2: - btst #7,%d2 - jbeq retsint8 - move.w %d0,(%a1) - jbra epilogue - -retsint8: - btst #8,%d2 - jbeq retsint16 - | NOTE: On the mc68000, extb is not supported. 8->16, then 16->32. -#if !defined(__mc68020__) && !defined(__mc68030__) && !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcoldfire__) - ext.w %d0 - ext.l %d0 -#else - extb.l %d0 -#endif - move.l %d0,(%a1) - jbra epilogue - -retsint16: - btst #9,%d2 - jbeq noretval - ext.l %d0 - move.l %d0,(%a1) - -noretval: -epilogue: - move.l (%sp)+,%d2 - unlk %fp - rts - CFI_ENDPROC() - .size CALLFUNC(ffi_call_SYSV),.-CALLFUNC(ffi_call_SYSV) - - .globl CALLFUNC(ffi_closure_SYSV) - .type CALLFUNC(ffi_closure_SYSV), @function - .align 4 - -CALLFUNC(ffi_closure_SYSV): - CFI_STARTPROC() - link %fp,#-12 - CFI_OFFSET(14,-8) - CFI_DEF_CFA(14,8) - move.l %sp,-12(%fp) - pea 8(%fp) - pea -12(%fp) - move.l %a0,-(%sp) -#if !defined __PIC__ - jsr CALLFUNC(ffi_closure_SYSV_inner) -#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) - move.l _current_shared_library_a5_offset_(%a5),%a0 - move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 - jsr (%a0) -#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) - move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 - lea (-6,%pc,%a0),%a0 - move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 - jsr (%a0) -#else - bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC) -#endif - - lsr.l #1,%d0 - jne 1f - jcc .Lcls_epilogue - | CIF_FLAGS_INT - move.l -12(%fp),%d0 -.Lcls_epilogue: - | no CIF_FLAGS_* - unlk %fp - rts -1: - lea -12(%fp),%a0 - lsr.l #2,%d0 - jne 1f - jcs .Lcls_ret_float - | CIF_FLAGS_DINT - move.l (%a0)+,%d0 - move.l (%a0),%d1 - jra .Lcls_epilogue -.Lcls_ret_float: -#if defined(__MC68881__) || defined(__HAVE_68881__) - fmove.s (%a0),%fp0 -#else - move.l (%a0),%d0 -#endif - jra .Lcls_epilogue -1: - lsr.l #2,%d0 - jne 1f - jcs .Lcls_ret_ldouble - | CIF_FLAGS_DOUBLE -#if defined(__MC68881__) || defined(__HAVE_68881__) - fmove.d (%a0),%fp0 -#else - move.l (%a0)+,%d0 - move.l (%a0),%d1 -#endif - jra .Lcls_epilogue -.Lcls_ret_ldouble: -#if defined(__MC68881__) || defined(__HAVE_68881__) - fmove.x (%a0),%fp0 -#else - move.l (%a0)+,%d0 - move.l (%a0)+,%d1 - move.l (%a0),%d2 -#endif - jra .Lcls_epilogue -1: - lsr.l #2,%d0 - jne 1f - jcs .Lcls_ret_struct1 - | CIF_FLAGS_POINTER - move.l (%a0),%a0 - move.l %a0,%d0 - jra .Lcls_epilogue -.Lcls_ret_struct1: - move.b (%a0),%d0 - jra .Lcls_epilogue -1: - lsr.l #2,%d0 - jne 1f - jcs .Lcls_ret_sint8 - | CIF_FLAGS_STRUCT2 - move.w (%a0),%d0 - jra .Lcls_epilogue -.Lcls_ret_sint8: - move.l (%a0),%d0 - | NOTE: On the mc68000, extb is not supported. 8->16, then 16->32. -#if !defined(__mc68020__) && !defined(__mc68030__) && !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcoldfire__) - ext.w %d0 - ext.l %d0 -#else - extb.l %d0 -#endif - jra .Lcls_epilogue -1: - | CIF_FLAGS_SINT16 - move.l (%a0),%d0 - ext.l %d0 - jra .Lcls_epilogue - CFI_ENDPROC() - - .size CALLFUNC(ffi_closure_SYSV),.-CALLFUNC(ffi_closure_SYSV) - - .globl CALLFUNC(ffi_closure_struct_SYSV) - .type CALLFUNC(ffi_closure_struct_SYSV), @function - .align 4 - -CALLFUNC(ffi_closure_struct_SYSV): - CFI_STARTPROC() - link %fp,#0 - CFI_OFFSET(14,-8) - CFI_DEF_CFA(14,8) - move.l %sp,-12(%fp) - pea 8(%fp) - move.l %a1,-(%sp) - move.l %a0,-(%sp) -#if !defined __PIC__ - jsr CALLFUNC(ffi_closure_SYSV_inner) -#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) - move.l _current_shared_library_a5_offset_(%a5),%a0 - move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 - jsr (%a0) -#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) - move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 - lea (-6,%pc,%a0),%a0 - move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 - jsr (%a0) -#else - bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC) -#endif - unlk %fp - rts - CFI_ENDPROC() - .size CALLFUNC(ffi_closure_struct_SYSV),.-CALLFUNC(ffi_closure_struct_SYSV) - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffi.c deleted file mode 100644 index 57b344f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffi.c +++ /dev/null @@ -1,400 +0,0 @@ -/* - * Copyright (c) 2013 Miodrag Vallat. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * ``Software''), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * m88k Foreign Function Interface - * - * This file attempts to provide all the FFI entry points which can reliably - * be implemented in C. - * - * Only OpenBSD/m88k is currently supported; other platforms (such as - * Motorola's SysV/m88k) could be supported with the following tweaks: - * - * - non-OpenBSD systems use an `outgoing parameter area' as part of the - * 88BCS calling convention, which is not supported under OpenBSD from - * release 3.6 onwards. Supporting it should be as easy as taking it - * into account when adjusting the stack, in the assembly code. - * - * - the logic deciding whether a function argument gets passed through - * registers, or on the stack, has changed several times in OpenBSD in - * edge cases (especially for structs larger than 32 bytes being passed - * by value). The code below attemps to match the logic used by the - * system compiler of OpenBSD 5.3, i.e. gcc 3.3.6 with many m88k backend - * fixes. - */ - -#include -#include - -#include -#include - -void ffi_call_OBSD (unsigned int, extended_cif *, unsigned int, void *, - void (*fn) ()); -void *ffi_prep_args (void *, extended_cif *); -void ffi_closure_OBSD (ffi_closure *); -void ffi_closure_struct_OBSD (ffi_closure *); -unsigned int ffi_closure_OBSD_inner (ffi_closure *, void *, unsigned int *, - char *); -void ffi_cacheflush_OBSD (unsigned int, unsigned int); - -#define CIF_FLAGS_INT (1 << 0) -#define CIF_FLAGS_DINT (1 << 1) - -/* - * Foreign Function Interface API - */ - -/* ffi_prep_args is called by the assembly routine once stack space has - been allocated for the function's arguments. */ - -void * -ffi_prep_args (void *stack, extended_cif *ecif) -{ - unsigned int i; - void **p_argv; - char *argp, *stackp; - unsigned int *regp; - unsigned int regused; - ffi_type **p_arg; - void *struct_value_ptr; - - regp = (unsigned int *)stack; - stackp = (char *)(regp + 8); - regused = 0; - - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT - && !ecif->cif->flags) - struct_value_ptr = ecif->rvalue; - else - struct_value_ptr = NULL; - - p_argv = ecif->avalue; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i != 0; i--, p_arg++) - { - size_t z; - unsigned short t, a; - - z = (*p_arg)->size; - t = (*p_arg)->type; - a = (*p_arg)->alignment; - - /* - * Figure out whether the argument can be passed through registers - * or on the stack. - * The rule is that registers can only receive simple types not larger - * than 64 bits, or structs the exact size of a register and aligned to - * the size of a register. - */ - if (t == FFI_TYPE_STRUCT) - { - if (z == sizeof (int) && a == sizeof (int) && regused < 8) - argp = (char *)regp; - else - argp = stackp; - } - else - { - if (z > sizeof (int) && regused < 8 - 1) - { - /* align to an even register pair */ - if (regused & 1) - { - regp++; - regused++; - } - } - if (regused < 8) - argp = (char *)regp; - else - argp = stackp; - } - - /* Enforce proper stack alignment of 64-bit types */ - if (argp == stackp && a > sizeof (int)) - { - stackp = (char *) FFI_ALIGN(stackp, a); - argp = stackp; - } - - switch (t) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int) *(SINT8 *) *p_argv; - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv; - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int) *(SINT16 *) *p_argv; - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv; - break; - - case FFI_TYPE_INT: - case FFI_TYPE_FLOAT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - *(unsigned int *) argp = *(unsigned int *) *p_argv; - break; - - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_STRUCT: - memcpy (argp, *p_argv, z); - break; - - default: - FFI_ASSERT (0); - } - - /* Align if necessary. */ - if ((sizeof (int) - 1) & z) - z = FFI_ALIGN(z, sizeof (int)); - - p_argv++; - - /* Be careful, once all registers are filled, and about to continue - on stack, regp == stackp. Therefore the check for regused as well. */ - if (argp == (char *)regp && regused < 8) - { - regp += z / sizeof (int); - regused += z / sizeof (int); - } - else - stackp += z; - } - - return struct_value_ptr; -} - -/* Perform machine dependent cif processing */ -ffi_status -ffi_prep_cif_machdep (ffi_cif *cif) -{ - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - cif->flags = 0; - break; - - case FFI_TYPE_STRUCT: - if (cif->rtype->size == sizeof (int) && - cif->rtype->alignment == sizeof (int)) - cif->flags = CIF_FLAGS_INT; - else - cif->flags = 0; - break; - - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = CIF_FLAGS_DINT; - break; - - default: - cif->flags = CIF_FLAGS_INT; - break; - } - - return FFI_OK; -} - -void -ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return value - address then we need to make one. */ - - if (rvalue == NULL - && cif->rtype->type == FFI_TYPE_STRUCT - && (cif->rtype->size != sizeof (int) - || cif->rtype->alignment != sizeof (int))) - ecif.rvalue = alloca (cif->rtype->size); - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_OBSD: - ffi_call_OBSD (cif->bytes, &ecif, cif->flags, ecif.rvalue, fn); - break; - - default: - FFI_ASSERT (0); - break; - } -} - -/* - * Closure API - */ - -static void -ffi_prep_closure_args_OBSD (ffi_cif *cif, void **avalue, unsigned int *regp, - char *stackp) -{ - unsigned int i; - void **p_argv; - char *argp; - unsigned int regused; - ffi_type **p_arg; - - regused = 0; - - p_argv = avalue; - - for (i = cif->nargs, p_arg = cif->arg_types; i != 0; i--, p_arg++) - { - size_t z; - unsigned short t, a; - - z = (*p_arg)->size; - t = (*p_arg)->type; - a = (*p_arg)->alignment; - - /* - * Figure out whether the argument has been passed through registers - * or on the stack. - * The rule is that registers can only receive simple types not larger - * than 64 bits, or structs the exact size of a register and aligned to - * the size of a register. - */ - if (t == FFI_TYPE_STRUCT) - { - if (z == sizeof (int) && a == sizeof (int) && regused < 8) - argp = (char *)regp; - else - argp = stackp; - } - else - { - if (z > sizeof (int) && regused < 8 - 1) - { - /* align to an even register pair */ - if (regused & 1) - { - regp++; - regused++; - } - } - if (regused < 8) - argp = (char *)regp; - else - argp = stackp; - } - - /* Enforce proper stack alignment of 64-bit types */ - if (argp == stackp && a > sizeof (int)) - { - stackp = (char *) FFI_ALIGN(stackp, a); - argp = stackp; - } - - if (z < sizeof (int) && t != FFI_TYPE_STRUCT) - *p_argv = (void *) (argp + sizeof (int) - z); - else - *p_argv = (void *) argp; - - /* Align if necessary */ - if ((sizeof (int) - 1) & z) - z = FFI_ALIGN(z, sizeof (int)); - - p_argv++; - - /* Be careful, once all registers are exhausted, and about to fetch from - stack, regp == stackp. Therefore the check for regused as well. */ - if (argp == (char *)regp && regused < 8) - { - regp += z / sizeof (int); - regused += z / sizeof (int); - } - else - stackp += z; - } -} - -unsigned int -ffi_closure_OBSD_inner (ffi_closure *closure, void *resp, unsigned int *regp, - char *stackp) -{ - ffi_cif *cif; - void **arg_area; - - cif = closure->cif; - arg_area = (void**) alloca (cif->nargs * sizeof (void *)); - - ffi_prep_closure_args_OBSD(cif, arg_area, regp, stackp); - - (closure->fun) (cif, resp, arg_area, closure->user_data); - - return cif->flags; -} - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, void *codeloc) -{ - unsigned int *tramp = (unsigned int *) codeloc; - void *fn; - - FFI_ASSERT (cif->abi == FFI_OBSD); - - if (cif->rtype->type == FFI_TYPE_STRUCT && !cif->flags) - fn = &ffi_closure_struct_OBSD; - else - fn = &ffi_closure_OBSD; - - /* or.u %r10, %r0, %hi16(fn) */ - tramp[0] = 0x5d400000 | (((unsigned int)fn) >> 16); - /* or.u %r13, %r0, %hi16(closure) */ - tramp[1] = 0x5da00000 | ((unsigned int)closure >> 16); - /* or %r10, %r10, %lo16(fn) */ - tramp[2] = 0x594a0000 | (((unsigned int)fn) & 0xffff); - /* jmp.n %r10 */ - tramp[3] = 0xf400c40a; - /* or %r13, %r13, %lo16(closure) */ - tramp[4] = 0x59ad0000 | ((unsigned int)closure & 0xffff); - - ffi_cacheflush_OBSD((unsigned int)codeloc, FFI_TRAMPOLINE_SIZE); - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffitarget.h deleted file mode 100644 index e52bf9f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffitarget.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2013 Miodrag Vallat. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * ``Software''), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * m88k Foreign Function Interface - */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_OBSD, - FFI_DEFAULT_ABI = FFI_OBSD, - FFI_LAST_ABI = FFI_DEFAULT_ABI + 1 -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 0x14 -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/obsd.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/obsd.S deleted file mode 100644 index 1944a23..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/obsd.S +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Copyright (c) 2013 Miodrag Vallat. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * ``Software''), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * m88k Foreign Function Interface - */ - -#define LIBFFI_ASM -#include -#include - - .text - -/* - * ffi_cacheflush_OBSD(unsigned int addr, %r2 - * unsigned int size); %r3 - */ - .align 4 - .globl ffi_cacheflush_OBSD - .type ffi_cacheflush_OBSD,@function -ffi_cacheflush_OBSD: - tb0 0, %r0, 451 - or %r0, %r0, %r0 - jmp %r1 - .size ffi_cacheflush_OBSD, . - ffi_cacheflush_OBSD - -/* - * ffi_call_OBSD(unsigned bytes, %r2 - * extended_cif *ecif, %r3 - * unsigned flags, %r4 - * void *rvalue, %r5 - * void (*fn)()); %r6 - */ - .align 4 - .globl ffi_call_OBSD - .type ffi_call_OBSD,@function -ffi_call_OBSD: - subu %r31, %r31, 32 - st %r30, %r31, 4 - st %r1, %r31, 0 - addu %r30, %r31, 32 - - | Save the few arguments we'll need after ffi_prep_args() - st.d %r4, %r31, 8 - st %r6, %r31, 16 - - | Allocate room for the image of r2-r9, and the stack space for - | the args (rounded to a 16-byte boundary) - addu %r2, %r2, (8 * 4) + 15 - clr %r2, %r2, 4<0> - subu %r31, %r31, %r2 - - | Fill register and stack image - or %r2, %r31, %r0 -#ifdef PIC - bsr ffi_prep_args#plt -#else - bsr ffi_prep_args -#endif - - | Save pointer to return struct address, if any - or %r12, %r2, %r0 - - | Get function pointer - subu %r4, %r30, 32 - ld %r1, %r4, 16 - - | Fetch the register arguments - ld.d %r2, %r31, (0 * 4) - ld.d %r4, %r31, (2 * 4) - ld.d %r6, %r31, (4 * 4) - ld.d %r8, %r31, (6 * 4) - addu %r31, %r31, (8 * 4) - - | Invoke the function - jsr %r1 - - | Restore stack now that we don't need the args anymore - subu %r31, %r30, 32 - - | Figure out what to return as the function's return value - ld %r5, %r31, 12 | rvalue - ld %r4, %r31, 8 | flags - - bcnd eq0, %r5, 9f - - bb0 0, %r4, 1f | CIF_FLAGS_INT - st %r2, %r5, 0 - br 9f - -1: - bb0 1, %r4, 1f | CIF_FLAGS_DINT - st.d %r2, %r5, 0 - br 9f - -1: -9: - ld %r1, %r31, 0 - ld %r30, %r31, 4 - jmp.n %r1 - addu %r31, %r31, 32 - .size ffi_call_OBSD, . - ffi_call_OBSD - -/* - * ffi_closure_OBSD(ffi_closure *closure); %r13 - */ - .align 4 - .globl ffi_closure_OBSD - .type ffi_closure_OBSD, @function -ffi_closure_OBSD: - subu %r31, %r31, 16 - st %r30, %r31, 4 - st %r1, %r31, 0 - addu %r30, %r31, 16 - - | Make room on the stack for saved register arguments and return - | value - subu %r31, %r31, (8 * 4) + (2 * 4) - st.d %r2, %r31, (0 * 4) - st.d %r4, %r31, (2 * 4) - st.d %r6, %r31, (4 * 4) - st.d %r8, %r31, (6 * 4) - - | Invoke the closure function - or %r5, %r30, 0 | calling stack - addu %r4, %r31, 0 | saved registers - addu %r3, %r31, (8 * 4) | return value - or %r2, %r13, %r0 | closure -#ifdef PIC - bsr ffi_closure_OBSD_inner#plt -#else - bsr ffi_closure_OBSD_inner -#endif - - | Figure out what to return as the function's return value - bb0 0, %r2, 1f | CIF_FLAGS_INT - ld %r2, %r31, (8 * 4) - br 9f - -1: - bb0 1, %r2, 1f | CIF_FLAGS_DINT - ld.d %r2, %r31, (8 * 4) - br 9f - -1: -9: - subu %r31, %r30, 16 - ld %r1, %r31, 0 - ld %r30, %r31, 4 - jmp.n %r1 - addu %r31, %r31, 16 - .size ffi_closure_OBSD,.-ffi_closure_OBSD - -/* - * ffi_closure_struct_OBSD(ffi_closure *closure); %r13 - */ - .align 4 - .globl ffi_closure_struct_OBSD - .type ffi_closure_struct_OBSD, @function -ffi_closure_struct_OBSD: - subu %r31, %r31, 16 - st %r30, %r31, 4 - st %r1, %r31, 0 - addu %r30, %r31, 16 - - | Make room on the stack for saved register arguments - subu %r31, %r31, (8 * 4) - st.d %r2, %r31, (0 * 4) - st.d %r4, %r31, (2 * 4) - st.d %r6, %r31, (4 * 4) - st.d %r8, %r31, (6 * 4) - - | Invoke the closure function - or %r5, %r30, 0 | calling stack - addu %r4, %r31, 0 | saved registers - or %r3, %r12, 0 | return value - or %r2, %r13, %r0 | closure -#ifdef PIC - bsr ffi_closure_OBSD_inner#plt -#else - bsr ffi_closure_OBSD_inner -#endif - - subu %r31, %r30, 16 - ld %r1, %r31, 0 - ld %r30, %r31, 4 - jmp.n %r1 - addu %r31, %r31, 16 - .size ffi_closure_struct_OBSD,.-ffi_closure_struct_OBSD diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffi.c deleted file mode 100644 index 3aecb0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffi.c +++ /dev/null @@ -1,330 +0,0 @@ -/* ---------------------------------------------------------------------- - ffi.c - Copyright (c) 2013 Imagination Technologies - - Meta Foreign Function Interface - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - `Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED `AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------ */ - -#include -#include - -#include - -#define MIN(a,b) (((a) < (b)) ? (a) : (b)) - -/* - * ffi_prep_args is called by the assembly routine once stack space has been - * allocated for the function's arguments - */ - -unsigned int ffi_prep_args(char *stack, extended_cif *ecif) -{ - register unsigned int i; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - - argp = stack; - - /* Store return value */ - if ( ecif->cif->flags == FFI_TYPE_STRUCT ) { - argp -= 4; - *(void **) argp = ecif->rvalue; - } - - p_argv = ecif->avalue; - - /* point to next location */ - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; (i != 0); i--, p_arg++, p_argv++) - { - size_t z; - - /* Move argp to address of argument */ - z = (*p_arg)->size; - argp -= z; - - /* Align if necessary */ - argp = (char *) FFI_ALIGN_DOWN(FFI_ALIGN_DOWN(argp, (*p_arg)->alignment), 4); - - if (z < sizeof(int)) { - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - case FFI_TYPE_STRUCT: - memcpy(argp, *p_argv, (*p_arg)->size); - break; - default: - FFI_ASSERT(0); - } - } else if ( z == sizeof(int)) { - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - } else { - memcpy(argp, *p_argv, z); - } - } - - /* return the size of the arguments to be passed in registers, - padded to an 8 byte boundary to preserve stack alignment */ - return FFI_ALIGN(MIN(stack - argp, 6*4), 8); -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - ffi_type **ptr; - unsigned i, bytes = 0; - - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) { - if ((*ptr)->size == 0) - return FFI_BAD_TYPEDEF; - - /* Perform a sanity check on the argument type, do this - check after the initialization. */ - FFI_ASSERT_VALID_TYPE(*ptr); - - /* Add any padding if necessary */ - if (((*ptr)->alignment - 1) & bytes) - bytes = FFI_ALIGN(bytes, (*ptr)->alignment); - - bytes += FFI_ALIGN((*ptr)->size, 4); - } - - /* Ensure arg space is aligned to an 8-byte boundary */ - bytes = FFI_ALIGN(bytes, 8); - - /* Make space for the return structure pointer */ - if (cif->rtype->type == FFI_TYPE_STRUCT) { - bytes += sizeof(void*); - - /* Ensure stack is aligned to an 8-byte boundary */ - bytes = FFI_ALIGN(bytes, 8); - } - - cif->bytes = bytes; - - /* Set the return type flag */ - switch (cif->rtype->type) { - case FFI_TYPE_VOID: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - cif->flags = (unsigned) cif->rtype->type; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = (unsigned) FFI_TYPE_SINT64; - break; - case FFI_TYPE_STRUCT: - /* Meta can store return values which are <= 64 bits */ - if (cif->rtype->size <= 4) - /* Returned to D0Re0 as 32-bit value */ - cif->flags = (unsigned)FFI_TYPE_INT; - else if ((cif->rtype->size > 4) && (cif->rtype->size <= 8)) - /* Returned valued is stored to D1Re0|R0Re0 */ - cif->flags = (unsigned)FFI_TYPE_DOUBLE; - else - /* value stored in memory */ - cif->flags = (unsigned)FFI_TYPE_STRUCT; - break; - default: - cif->flags = (unsigned)FFI_TYPE_INT; - break; - } - return FFI_OK; -} - -extern void ffi_call_SYSV(void (*fn)(void), extended_cif *, unsigned, unsigned, double *); - -/* - * Exported in API. Entry point - * cif -> ffi_cif object - * fn -> function pointer - * rvalue -> pointer to return value - * avalue -> vector of void * pointers pointing to memory locations holding the - * arguments - */ -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - - int small_struct = (((cif->flags == FFI_TYPE_INT) || (cif->flags == FFI_TYPE_DOUBLE)) && (cif->rtype->type == FFI_TYPE_STRUCT)); - ecif.cif = cif; - ecif.avalue = avalue; - - double temp; - - /* - * If the return value is a struct and we don't have a return value address - * then we need to make one - */ - - if ((rvalue == NULL ) && (cif->flags == FFI_TYPE_STRUCT)) - ecif.rvalue = alloca(cif->rtype->size); - else if (small_struct) - ecif.rvalue = &temp; - else - ecif.rvalue = rvalue; - - switch (cif->abi) { - case FFI_SYSV: - ffi_call_SYSV(fn, &ecif, cif->bytes, cif->flags, ecif.rvalue); - break; - default: - FFI_ASSERT(0); - break; - } - - if (small_struct) - memcpy (rvalue, &temp, cif->rtype->size); -} - -/* private members */ - -static void ffi_prep_incoming_args_SYSV (char *, void **, void **, - ffi_cif*, float *); - -void ffi_closure_SYSV (ffi_closure *); - -/* Do NOT change that without changing the FFI_TRAMPOLINE_SIZE */ -extern unsigned int ffi_metag_trampoline[10]; /* 10 instructions */ - -/* end of private members */ - -/* - * __tramp: trampoline memory location - * __fun: assembly routine - * __ctx: memory location for wrapper - * - * At this point, tramp[0] == __ctx ! - */ -void ffi_init_trampoline(unsigned char *__tramp, unsigned int __fun, unsigned int __ctx) { - memcpy (__tramp, ffi_metag_trampoline, sizeof(ffi_metag_trampoline)); - *(unsigned int*) &__tramp[40] = __ctx; - *(unsigned int*) &__tramp[44] = __fun; - /* This will flush the instruction cache */ - __builtin_meta2_cachewd(&__tramp[0], 1); - __builtin_meta2_cachewd(&__tramp[47], 1); -} - - - -/* the cif must already be prepared */ - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - void (*closure_func)(ffi_closure*) = NULL; - - if (cif->abi == FFI_SYSV) - closure_func = &ffi_closure_SYSV; - else - return FFI_BAD_ABI; - - ffi_init_trampoline( - (unsigned char*)&closure->tramp[0], - (unsigned int)closure_func, - (unsigned int)codeloc); - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} - - -/* This function is jumped to by the trampoline */ -unsigned int ffi_closure_SYSV_inner (closure, respp, args, vfp_args) - ffi_closure *closure; - void **respp; - void *args; - void *vfp_args; -{ - ffi_cif *cif; - void **arg_area; - - cif = closure->cif; - arg_area = (void**) alloca (cif->nargs * sizeof (void*)); - - /* - * This call will initialize ARG_AREA, such that each - * element in that array points to the corresponding - * value on the stack; and if the function returns - * a structure, it will re-set RESP to point to the - * structure return address. - */ - ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args); - - (closure->fun) ( cif, *respp, arg_area, closure->user_data); - - return cif->flags; -} - -static void ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, - void **avalue, ffi_cif *cif, - float *vfp_stack) -{ - register unsigned int i; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - - /* stack points to original arguments */ - argp = stack; - - /* Store return value */ - if ( cif->flags == FFI_TYPE_STRUCT ) { - argp -= 4; - *rvalue = *(void **) argp; - } - - p_argv = avalue; - - for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++) { - size_t z; - size_t alignment; - - alignment = (*p_arg)->alignment; - if (alignment < 4) - alignment = 4; - if ((alignment - 1) & (unsigned)argp) - argp = (char *) FFI_ALIGN(argp, alignment); - - z = (*p_arg)->size; - *p_argv = (void*) argp; - p_argv++; - argp -= z; - } - return; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffitarget.h deleted file mode 100644 index 7b9dbeb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffitarget.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2013 Imagination Technologies Ltd. - Target configuration macros for Meta - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_DEFAULT_ABI = FFI_SYSV, - FFI_LAST_ABI = FFI_DEFAULT_ABI + 1, -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 48 -#define FFI_NATIVE_RAW_API 0 - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/sysv.S deleted file mode 100644 index b4b2a3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/sysv.S +++ /dev/null @@ -1,311 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2013 Imagination Technologies Ltd. - - Meta Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#ifdef HAVE_MACHINE_ASM_H -#include -#else -#ifdef __USER_LABEL_PREFIX__ -#define CONCAT1(a, b) CONCAT2(a, b) -#define CONCAT2(a, b) a ## b - -/* Use the right prefix for global labels. */ -#define CNAME(x) CONCAT1 (__USER_LABEL_PREFIX__, x) -#else -#define CNAME(x) x -#endif -#define ENTRY(x) .globl CNAME(x); .type CNAME(x), %function; CNAME(x): -#endif - -#ifdef __ELF__ -#define LSYM(x) .x -#else -#define LSYM(x) x -#endif - -.macro call_reg x= - .text - .balign 4 - mov D1RtP, \x - swap D1RtP, PC -.endm - -! Save register arguments -.macro SAVE_ARGS - .text - .balign 4 - setl [A0StP++], D0Ar6, D1Ar5 - setl [A0StP++], D0Ar4, D1Ar3 - setl [A0StP++], D0Ar2, D1Ar1 -.endm - -! Save retrun, frame pointer and other regs -.macro SAVE_REGS regs= - .text - .balign 4 - setl [A0StP++], D0FrT, D1RtP - ! Needs to be a pair of regs - .ifnc "\regs","" - setl [A0StP++], \regs - .endif -.endm - -! Declare a global function -.macro METAG_FUNC_START name - .text - .balign 4 - ENTRY(\name) -.endm - -! Return registers from the stack. Reverse SAVE_REGS operation -.macro RET_REGS regs=, cond= - .ifnc "\regs", "" - getl \regs, [--A0StP] - .endif - getl D0FrT, D1RtP, [--A0StP] -.endm - -! Return arguments -.macro RET_ARGS - getl D0Ar2, D1Ar1, [--A0StP] - getl D0Ar4, D1Ar3, [--A0StP] - getl D0Ar6, D1Ar5, [--A0StP] -.endm - - - ! D1Ar1: fn - ! D0Ar2: &ecif - ! D1Ar3: cif->bytes - ! D0Ar4: fig->flags - ! D1Ar5: ecif.rvalue - - ! This assumes we are using GNU as -METAG_FUNC_START ffi_call_SYSV - ! Save argument registers - - SAVE_ARGS - - ! new frame - mov D0FrT, A0FrP - add A0FrP, A0StP, #0 - - ! Preserve the old frame pointer - SAVE_REGS "D1.5, D0.5" - - ! Make room for new args. cifs->bytes is the total space for input - ! and return arguments - - add A0StP, A0StP, D1Ar3 - - ! Preserve cifs->bytes & fn - mov D0.5, D1Ar3 - mov D1.5, D1Ar1 - - ! Place all of the ffi_prep_args in position - mov D1Ar1, A0StP - - ! Call ffi_prep_args(stack, &ecif) -#ifdef __PIC__ - callr D1RtP, CNAME(ffi_prep_args@PLT) -#else - callr D1RtP, CNAME(ffi_prep_args) -#endif - - ! Restore fn pointer - - ! The foreign stack should look like this - ! XXXXX XXXXXX <--- stack pointer - ! FnArgN rvalue - ! FnArgN+2 FnArgN+1 - ! FnArgN+4 FnArgN+3 - ! .... - ! - - ! A0StP now points to the first (or return) argument + 4 - - ! Preserve cif->bytes - getl D0Ar2, D1Ar1, [--A0StP] - getl D0Ar4, D1Ar3, [--A0StP] - getl D0Ar6, D1Ar5, [--A0StP] - - ! Place A0StP to the first argument again - add A0StP, A0StP, #24 ! That's because we loaded 6 regs x 4 byte each - - ! A0FrP points to the initial stack without the reserved space for the - ! cifs->bytes, whilst A0StP points to the stack after the space allocation - - ! fn was the first argument of ffi_call_SYSV. - ! The stack at this point looks like this: - ! - ! A0StP(on entry to _SYSV) -> Arg6 Arg5 | low - ! Arg4 Arg3 | - ! Arg2 Arg1 | - ! A0FrP ----> D0FrtP D1RtP | - ! D1.5 D0.5 | - ! A0StP(bf prep_args) -> FnArgn FnArgn-1 | - ! FnArgn-2FnArgn-3 | - ! ................ | <= cifs->bytes - ! FnArg4 FnArg3 | - ! A0StP (prv_A0StP+cifs->bytes) FnArg2 FnArg1 | high - ! - ! fn was in Arg1 so it's located in in A0FrP+#-0xC - ! - - ! D0Re0 contains the size of arguments stored in registers - sub A0StP, A0StP, D0Re0 - - ! Arg1 is the function pointer for the foreign call. This has been - ! preserved in D1.5 - - ! Time to call (fn). Arguments should be like this: - ! Arg1-Arg6 are loaded to regs - ! The rest of the arguments are stored in stack pointed by A0StP - - call_reg D1.5 - - ! Reset stack. - - mov A0StP, A0FrP - - ! Load Arg1 with the pointer to storage for the return type - ! This was stored in Arg5 - - getd D1Ar1, [A0FrP+#-20] - - ! Load D0Ar2 with the return type code. This was stored in Arg4 (flags) - - getd D0Ar2, [A0FrP+#-16] - - ! We are ready to start processing the return value - ! D0Re0 (and D1Re0) hold the return value - - ! If the return value is NULL, assume no return value - cmp D1Ar1, #0 - beq LSYM(Lepilogue) - - ! return INT - cmp D0Ar2, #FFI_TYPE_INT - ! Sadly, there is no setd{cc} instruction so we need to workaround that - bne .INT64 - setd [D1Ar1], D0Re0 - b LSYM(Lepilogue) - - ! return INT64 -.INT64: - cmp D0Ar2, #FFI_TYPE_SINT64 - setleq [D1Ar1], D0Re0, D1Re0 - - ! return DOUBLE - cmp D0Ar2, #FFI_TYPE_DOUBLE - setl [D1AR1++], D0Re0, D1Re0 - -LSYM(Lepilogue): - ! At this point, the stack pointer points right after the argument - ! saved area. We need to restore 4 regs, therefore we need to move - ! 16 bytes ahead. - add A0StP, A0StP, #16 - RET_REGS "D1.5, D0.5" - RET_ARGS - getd D0Re0, [A0StP] - mov A0FrP, D0FrT - swap D1RtP, PC - -.ffi_call_SYSV_end: - .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV) - - -/* - (called by ffi_metag_trampoline) - void ffi_closure_SYSV (ffi_closure*) - - (called by ffi_closure_SYSV) - unsigned int FFI_HIDDEN - ffi_closure_SYSV_inner (closure,respp, args) - ffi_closure *closure; - void **respp; - void *args; -*/ - -METAG_FUNC_START ffi_closure_SYSV - ! We assume that D1Ar1 holds the address of the - ! ffi_closure struct. We will use that to fetch the - ! arguments. The stack pointer points to an empty space - ! and it is ready to store more data. - - ! D1Ar1 is ready - ! Allocate stack space for return value - add A0StP, A0StP, #8 - ! Store it to D0Ar2 - sub D0Ar2, A0StP, #8 - - sub D1Ar3, A0FrP, #4 - - ! D1Ar3 contains the address of the original D1Ar1 argument - ! We need to subtract #4 later on - - ! Preverve D0Ar2 - mov D0.5, D0Ar2 - -#ifdef __PIC__ - callr D1RtP, CNAME(ffi_closure_SYSV_inner@PLT) -#else - callr D1RtP, CNAME(ffi_closure_SYSV_inner) -#endif - - ! Check the return value and store it to D0.5 - cmp D0Re0, #FFI_TYPE_INT - beq .Lretint - cmp D0Re0, #FFI_TYPE_DOUBLE - beq .Lretdouble -.Lclosure_epilogue: - sub A0StP, A0StP, #8 - RET_REGS "D1.5, D0.5" - RET_ARGS - swap D1RtP, PC - -.Lretint: - setd [D0.5], D0Re0 - b .Lclosure_epilogue -.Lretdouble: - setl [D0.5++], D0Re0, D1Re0 - b .Lclosure_epilogue -.ffi_closure_SYSV_end: -.size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) - - -ENTRY(ffi_metag_trampoline) - SAVE_ARGS - ! New frame - mov A0FrP, A0StP - SAVE_REGS "D1.5, D0.5" - mov D0.5, PC - ! Load D1Ar1 the value of ffi_metag_trampoline - getd D1Ar1, [D0.5 + #8] - ! Jump to ffi_closure_SYSV - getd PC, [D0.5 + #12] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffi.c deleted file mode 100644 index df6e33c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffi.c +++ /dev/null @@ -1,321 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2012, 2013 Xilinx, Inc - - MicroBlaze Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -extern void ffi_call_SYSV(void (*)(void*, extended_cif*), extended_cif*, - unsigned int, unsigned int, unsigned int*, void (*fn)(void), - unsigned int, unsigned int); - -extern void ffi_closure_SYSV(void); - -#define WORD_SIZE sizeof(unsigned int) -#define ARGS_REGISTER_SIZE (WORD_SIZE * 6) -#define WORD_FFI_ALIGN(x) FFI_ALIGN(x, WORD_SIZE) - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ -void ffi_prep_args(void* stack, extended_cif* ecif) -{ - unsigned int i; - ffi_type** p_arg; - void** p_argv; - void* stack_args_p = stack; - - if (ecif == NULL || ecif->cif == NULL) { - return; /* no description to prepare */ - } - - p_argv = ecif->avalue; - - if ((ecif->cif->rtype != NULL) && - (ecif->cif->rtype->type == FFI_TYPE_STRUCT)) - { - /* if return type is a struct which is referenced on the stack/reg5, - * by a pointer. Stored the return value pointer in r5. - */ - char* addr = stack_args_p; - memcpy(addr, &(ecif->rvalue), WORD_SIZE); - stack_args_p += WORD_SIZE; - } - - if (ecif->avalue == NULL) { - return; /* no arguments to prepare */ - } - - for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; - i++, p_arg++) - { - size_t size = (*p_arg)->size; - int type = (*p_arg)->type; - void* value = p_argv[i]; - char* addr = stack_args_p; - int aligned_size = WORD_FFI_ALIGN(size); - - /* force word alignment on the stack */ - stack_args_p += aligned_size; - - switch (type) - { - case FFI_TYPE_UINT8: - *(unsigned int *)addr = (unsigned int)*(UINT8*)(value); - break; - case FFI_TYPE_SINT8: - *(signed int *)addr = (signed int)*(SINT8*)(value); - break; - case FFI_TYPE_UINT16: - *(unsigned int *)addr = (unsigned int)*(UINT16*)(value); - break; - case FFI_TYPE_SINT16: - *(signed int *)addr = (signed int)*(SINT16*)(value); - break; - case FFI_TYPE_STRUCT: -#if __BIG_ENDIAN__ - /* - * MicroBlaze toolchain appears to emit: - * bsrli r5, r5, 8 (caller) - * ... - * - * ... - * bslli r5, r5, 8 (callee) - * - * For structs like "struct a { uint8_t a[3]; };", when passed - * by value. - * - * Structs like "struct b { uint16_t a; };" are also expected - * to be packed strangely in registers. - * - * This appears to be because the microblaze toolchain expects - * "struct b == uint16_t", which is only any issue for big - * endian. - * - * The following is a work around for big-endian only, for the - * above mentioned case, it will re-align the contents of a - * <= 3-byte struct value. - */ - if (size < WORD_SIZE) - { - memcpy (addr + (WORD_SIZE - size), value, size); - break; - } -#endif - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: - default: - memcpy(addr, value, aligned_size); - } - } -} - -ffi_status ffi_prep_cif_machdep(ffi_cif* cif) -{ - /* check ABI */ - switch (cif->abi) - { - case FFI_SYSV: - break; - default: - return FFI_BAD_ABI; - } - return FFI_OK; -} - -void ffi_call(ffi_cif* cif, void (*fn)(void), void* rvalue, void** avalue) -{ - extended_cif ecif; - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT)) { - ecif.rvalue = alloca(cif->rtype->size); - } else { - ecif.rvalue = rvalue; - } - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, - ecif.rvalue, fn, cif->rtype->type, cif->rtype->size); - break; - default: - FFI_ASSERT(0); - break; - } -} - -void ffi_closure_call_SYSV(void* register_args, void* stack_args, - ffi_closure* closure, void* rvalue, - unsigned int* rtype, unsigned int* rsize) -{ - /* prepare arguments for closure call */ - ffi_cif* cif = closure->cif; - ffi_type** arg_types = cif->arg_types; - - /* re-allocate data for the args. This needs to be done in order to keep - * multi-word objects (e.g. structs) in contiguous memory. Callers are not - * required to store the value of args in the lower 6 words in the stack - * (although they are allocated in the stack). - */ - char* stackclone = alloca(cif->bytes); - void** avalue = alloca(cif->nargs * sizeof(void*)); - void* struct_rvalue = NULL; - char* ptr = stackclone; - int i; - - /* copy registers into stack clone */ - int registers_used = cif->bytes; - if (registers_used > ARGS_REGISTER_SIZE) { - registers_used = ARGS_REGISTER_SIZE; - } - memcpy(stackclone, register_args, registers_used); - - /* copy stack allocated args into stack clone */ - if (cif->bytes > ARGS_REGISTER_SIZE) { - int stack_used = cif->bytes - ARGS_REGISTER_SIZE; - memcpy(stackclone + ARGS_REGISTER_SIZE, stack_args, stack_used); - } - - /* preserve struct type return pointer passing */ - if ((cif->rtype != NULL) && (cif->rtype->type == FFI_TYPE_STRUCT)) { - struct_rvalue = *((void**)ptr); - ptr += WORD_SIZE; - } - - /* populate arg pointer list */ - for (i = 0; i < cif->nargs; i++) - { - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: -#ifdef __BIG_ENDIAN__ - avalue[i] = ptr + 3; -#else - avalue[i] = ptr; -#endif - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: -#ifdef __BIG_ENDIAN__ - avalue[i] = ptr + 2; -#else - avalue[i] = ptr; -#endif - break; - case FFI_TYPE_STRUCT: -#if __BIG_ENDIAN__ - /* - * Work around strange ABI behaviour. - * (see info in ffi_prep_args) - */ - if (arg_types[i]->size < WORD_SIZE) - { - memcpy (ptr, ptr + (WORD_SIZE - arg_types[i]->size), arg_types[i]->size); - } -#endif - avalue[i] = (void*)ptr; - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_DOUBLE: - avalue[i] = ptr; - break; - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - default: - /* default 4-byte argument */ - avalue[i] = ptr; - break; - } - ptr += WORD_FFI_ALIGN(arg_types[i]->size); - } - - /* set the return type info passed back to the wrapper */ - *rsize = cif->rtype->size; - *rtype = cif->rtype->type; - if (struct_rvalue != NULL) { - closure->fun(cif, struct_rvalue, avalue, closure->user_data); - /* copy struct return pointer value into function return value */ - *((void**)rvalue) = struct_rvalue; - } else { - closure->fun(cif, rvalue, avalue, closure->user_data); - } -} - -ffi_status ffi_prep_closure_loc( - ffi_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void* user_data, void* codeloc) -{ - unsigned long* tramp = (unsigned long*)&(closure->tramp[0]); - unsigned long cls = (unsigned long)codeloc; - unsigned long fn = 0; - unsigned long fn_closure_call_sysv = (unsigned long)ffi_closure_call_SYSV; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - switch (cif->abi) - { - case FFI_SYSV: - fn = (unsigned long)ffi_closure_SYSV; - - /* load r11 (temp) with fn */ - /* imm fn(upper) */ - tramp[0] = 0xb0000000 | ((fn >> 16) & 0xffff); - /* addik r11, r0, fn(lower) */ - tramp[1] = 0x31600000 | (fn & 0xffff); - - /* load r12 (temp) with cls */ - /* imm cls(upper) */ - tramp[2] = 0xb0000000 | ((cls >> 16) & 0xffff); - /* addik r12, r0, cls(lower) */ - tramp[3] = 0x31800000 | (cls & 0xffff); - - /* load r3 (temp) with ffi_closure_call_SYSV */ - /* imm fn_closure_call_sysv(upper) */ - tramp[4] = 0xb0000000 | ((fn_closure_call_sysv >> 16) & 0xffff); - /* addik r3, r0, fn_closure_call_sysv(lower) */ - tramp[5] = 0x30600000 | (fn_closure_call_sysv & 0xffff); - /* branch/jump to address stored in r11 (fn) */ - tramp[6] = 0x98085800; /* bra r11 */ - - break; - default: - return FFI_BAD_ABI; - } - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffitarget.h deleted file mode 100644 index c6fa5a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffitarget.h +++ /dev/null @@ -1,53 +0,0 @@ -/* ----------------------------------------------------------------------- - ffitarget.h - Copyright (c) 2012, 2013 Xilinx, Inc - - Target configuration macros for MicroBlaze. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -/* Definitions for closures */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -#define FFI_TRAMPOLINE_SIZE (4*8) - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/sysv.S deleted file mode 100644 index ea43e9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/sysv.S +++ /dev/null @@ -1,302 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2012, 2013 Xilinx, Inc - - MicroBlaze Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - /* - * arg[0] (r5) = ffi_prep_args, - * arg[1] (r6) = &ecif, - * arg[2] (r7) = cif->bytes, - * arg[3] (r8) = cif->flags, - * arg[4] (r9) = ecif.rvalue, - * arg[5] (r10) = fn - * arg[6] (sp[0]) = cif->rtype->type - * arg[7] (sp[4]) = cif->rtype->size - */ - .text - .globl ffi_call_SYSV - .type ffi_call_SYSV, @function -ffi_call_SYSV: - /* push callee saves */ - addik r1, r1, -20 - swi r19, r1, 0 /* Frame Pointer */ - swi r20, r1, 4 /* PIC register */ - swi r21, r1, 8 /* PIC register */ - swi r22, r1, 12 /* save for locals */ - swi r23, r1, 16 /* save for locals */ - - /* save the r5-r10 registers in the stack */ - addik r1, r1, -24 /* increment sp to store 6x 32-bit words */ - swi r5, r1, 0 - swi r6, r1, 4 - swi r7, r1, 8 - swi r8, r1, 12 - swi r9, r1, 16 - swi r10, r1, 20 - - /* save function pointer */ - addik r3, r5, 0 /* copy ffi_prep_args into r3 */ - addik r22, r1, 0 /* save sp for unallocated args into r22 (callee-saved) */ - addik r23, r10, 0 /* save function address into r23 (callee-saved) */ - - /* prepare stack with allocation for n (bytes = r7) args */ - rsub r1, r7, r1 /* subtract bytes from sp */ - - /* prep args for ffi_prep_args call */ - addik r5, r1, 0 /* store stack pointer into arg[0] */ - /* r6 still holds ecif for arg[1] */ - - /* Call ffi_prep_args(stack, &ecif). */ - addik r1, r1, -4 - swi r15, r1, 0 /* store the link register in the frame */ - brald r15, r3 - nop /* branch has delay slot */ - lwi r15, r1, 0 - addik r1, r1, 4 /* restore the link register from the frame */ - /* returns calling stack pointer location */ - - /* prepare args for fn call, prep_args populates them onto the stack */ - lwi r5, r1, 0 /* arg[0] */ - lwi r6, r1, 4 /* arg[1] */ - lwi r7, r1, 8 /* arg[2] */ - lwi r8, r1, 12 /* arg[3] */ - lwi r9, r1, 16 /* arg[4] */ - lwi r10, r1, 20 /* arg[5] */ - - /* call (fn) (...). */ - addik r1, r1, -4 - swi r15, r1, 0 /* store the link register in the frame */ - brald r15, r23 - nop /* branch has delay slot */ - lwi r15, r1, 0 - addik r1, r1, 4 /* restore the link register from the frame */ - - /* Remove the space we pushed for the args. */ - addik r1, r22, 0 /* restore old SP */ - - /* restore this functions parameters */ - lwi r5, r1, 0 /* arg[0] */ - lwi r6, r1, 4 /* arg[1] */ - lwi r7, r1, 8 /* arg[2] */ - lwi r8, r1, 12 /* arg[3] */ - lwi r9, r1, 16 /* arg[4] */ - lwi r10, r1, 20 /* arg[5] */ - addik r1, r1, 24 /* decrement sp to de-allocate 6x 32-bit words */ - - /* If the return value pointer is NULL, assume no return value. */ - beqi r9, ffi_call_SYSV_end - - lwi r22, r1, 48 /* get return type (20 for locals + 28 for arg[6]) */ - lwi r23, r1, 52 /* get return size (20 for locals + 32 for arg[7]) */ - - /* Check if return type is actually a struct, do nothing */ - rsubi r11, r22, FFI_TYPE_STRUCT - beqi r11, ffi_call_SYSV_end - - /* Return 8bit */ - rsubi r11, r23, 1 - beqi r11, ffi_call_SYSV_store8 - - /* Return 16bit */ - rsubi r11, r23, 2 - beqi r11, ffi_call_SYSV_store16 - - /* Return 32bit */ - rsubi r11, r23, 4 - beqi r11, ffi_call_SYSV_store32 - - /* Return 64bit */ - rsubi r11, r23, 8 - beqi r11, ffi_call_SYSV_store64 - - /* Didn't match anything */ - bri ffi_call_SYSV_end - -ffi_call_SYSV_store64: - swi r3, r9, 0 /* store word r3 into return value */ - swi r4, r9, 4 /* store word r4 into return value */ - bri ffi_call_SYSV_end - -ffi_call_SYSV_store32: - swi r3, r9, 0 /* store word r3 into return value */ - bri ffi_call_SYSV_end - -ffi_call_SYSV_store16: -#ifdef __BIG_ENDIAN__ - shi r3, r9, 2 /* store half-word r3 into return value */ -#else - shi r3, r9, 0 /* store half-word r3 into return value */ -#endif - bri ffi_call_SYSV_end - -ffi_call_SYSV_store8: -#ifdef __BIG_ENDIAN__ - sbi r3, r9, 3 /* store byte r3 into return value */ -#else - sbi r3, r9, 0 /* store byte r3 into return value */ -#endif - bri ffi_call_SYSV_end - -ffi_call_SYSV_end: - /* callee restores */ - lwi r19, r1, 0 /* frame pointer */ - lwi r20, r1, 4 /* PIC register */ - lwi r21, r1, 8 /* PIC register */ - lwi r22, r1, 12 - lwi r23, r1, 16 - addik r1, r1, 20 - - /* return from sub-routine (with delay slot) */ - rtsd r15, 8 - nop - - .size ffi_call_SYSV, . - ffi_call_SYSV - -/* ------------------------------------------------------------------------- */ - - /* - * args passed into this function, are passed down to the callee. - * this function is the target of the closure trampoline, as such r12 is - * a pointer to the closure object. - */ - .text - .globl ffi_closure_SYSV - .type ffi_closure_SYSV, @function -ffi_closure_SYSV: - /* push callee saves */ - addik r11, r1, 28 /* save stack args start location (excluding regs/link) */ - addik r1, r1, -12 - swi r19, r1, 0 /* Frame Pointer */ - swi r20, r1, 4 /* PIC register */ - swi r21, r1, 8 /* PIC register */ - - /* store register args on stack */ - addik r1, r1, -24 - swi r5, r1, 0 - swi r6, r1, 4 - swi r7, r1, 8 - swi r8, r1, 12 - swi r9, r1, 16 - swi r10, r1, 20 - - /* setup args */ - addik r5, r1, 0 /* register_args */ - addik r6, r11, 0 /* stack_args */ - addik r7, r12, 0 /* closure object */ - addik r1, r1, -8 /* allocate return value */ - addik r8, r1, 0 /* void* rvalue */ - addik r1, r1, -8 /* allocate for return type/size values */ - addik r9, r1, 0 /* void* rtype */ - addik r10, r1, 4 /* void* rsize */ - - /* call the wrap_call function */ - addik r1, r1, -28 /* allocate args + link reg */ - swi r15, r1, 0 /* store the link register in the frame */ - brald r15, r3 - nop /* branch has delay slot */ - lwi r15, r1, 0 - addik r1, r1, 28 /* restore the link register from the frame */ - -ffi_closure_SYSV_prepare_return: - lwi r9, r1, 0 /* rtype */ - lwi r10, r1, 4 /* rsize */ - addik r1, r1, 8 /* de-allocate return info values */ - - /* Check if return type is actually a struct, store 4 bytes */ - rsubi r11, r9, FFI_TYPE_STRUCT - beqi r11, ffi_closure_SYSV_store32 - - /* Return 8bit */ - rsubi r11, r10, 1 - beqi r11, ffi_closure_SYSV_store8 - - /* Return 16bit */ - rsubi r11, r10, 2 - beqi r11, ffi_closure_SYSV_store16 - - /* Return 32bit */ - rsubi r11, r10, 4 - beqi r11, ffi_closure_SYSV_store32 - - /* Return 64bit */ - rsubi r11, r10, 8 - beqi r11, ffi_closure_SYSV_store64 - - /* Didn't match anything */ - bri ffi_closure_SYSV_end - -ffi_closure_SYSV_store64: - lwi r3, r1, 0 /* store word r3 into return value */ - lwi r4, r1, 4 /* store word r4 into return value */ - /* 64 bits == 2 words, no sign extend occurs */ - bri ffi_closure_SYSV_end - -ffi_closure_SYSV_store32: - lwi r3, r1, 0 /* store word r3 into return value */ - /* 32 bits == 1 word, no sign extend occurs */ - bri ffi_closure_SYSV_end - -ffi_closure_SYSV_store16: -#ifdef __BIG_ENDIAN__ - lhui r3, r1, 2 /* store half-word r3 into return value */ -#else - lhui r3, r1, 0 /* store half-word r3 into return value */ -#endif - rsubi r11, r9, FFI_TYPE_SINT16 - bnei r11, ffi_closure_SYSV_end - sext16 r3, r3 /* fix sign extend of sint8 */ - bri ffi_closure_SYSV_end - -ffi_closure_SYSV_store8: -#ifdef __BIG_ENDIAN__ - lbui r3, r1, 3 /* store byte r3 into return value */ -#else - lbui r3, r1, 0 /* store byte r3 into return value */ -#endif - rsubi r11, r9, FFI_TYPE_SINT8 - bnei r11, ffi_closure_SYSV_end - sext8 r3, r3 /* fix sign extend of sint8 */ - bri ffi_closure_SYSV_end - -ffi_closure_SYSV_end: - addik r1, r1, 8 /* de-allocate return value */ - - /* de-allocate stored args */ - addik r1, r1, 24 - - /* callee restores */ - lwi r19, r1, 0 /* frame pointer */ - lwi r20, r1, 4 /* PIC register */ - lwi r21, r1, 8 /* PIC register */ - addik r1, r1, 12 - - /* return from sub-routine (with delay slot) */ - rtsd r15, 8 - nop - - .size ffi_closure_SYSV, . - ffi_closure_SYSV diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffi.c deleted file mode 100644 index e704325..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffi.c +++ /dev/null @@ -1,1309 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2011 Anthony Green - Copyright (c) 2008 David Daney - Copyright (c) 1996, 2007, 2008, 2011 Red Hat, Inc. - - MIPS Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include -#include - -#ifdef __GNUC__ -# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) -# define USE__BUILTIN___CLEAR_CACHE 1 -# endif -#endif - -#ifndef USE__BUILTIN___CLEAR_CACHE -# if defined(__FreeBSD__) -# include -# elif defined(__OpenBSD__) -# include -# else -# include -# endif -#endif - -#ifdef FFI_DEBUG -# define FFI_MIPS_STOP_HERE() ffi_stop_here() -#else -# define FFI_MIPS_STOP_HERE() do {} while(0) -#endif - -#ifdef FFI_MIPS_N32 -#define FIX_ARGP \ -FFI_ASSERT(argp <= &stack[bytes]); \ -if (argp == &stack[bytes]) \ -{ \ - argp = stack; \ - FFI_MIPS_STOP_HERE(); \ -} -#else -#define FIX_ARGP -#endif - - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -static void ffi_prep_args(char *stack, - extended_cif *ecif, - int bytes, - int flags) -{ - int i; - void **p_argv; - char *argp, *argp_f; - ffi_type **p_arg; - - memset(stack, 0, bytes); - -#ifdef FFI_MIPS_N32 - int soft_float = (ecif->cif->abi == FFI_N32_SOFT_FLOAT - || ecif->cif->abi == FFI_N64_SOFT_FLOAT); - /* If more than 8 double words are used, the remainder go - on the stack. We reorder stuff on the stack here to - support this easily. */ - /* if ret is _Complex long double, args reg shift2, and a0 should holds pointer to rvalue */ - if (ecif->cif->rtype->type == FFI_TYPE_COMPLEX && ecif->cif->rtype->elements[0]->type == FFI_TYPE_LONGDOUBLE) - { - if (bytes + 16 > 8 * sizeof(ffi_arg)) - argp = &stack[bytes - (8 * sizeof(ffi_arg))]; - else - argp = stack; - * (unsigned long *) argp = (unsigned long) ecif->rvalue; - argp += 16; - } - else - { - if (bytes > 8 * sizeof(ffi_arg)) - argp = &stack[bytes - (8 * sizeof(ffi_arg))]; - else - argp = stack; - } -#else - argp = stack; -#endif - - argp_f = argp; - -#ifdef FFI_MIPS_N32 - if ( ecif->cif->rstruct_flag != 0 ) -#else - if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT ) -#endif - { - *(ffi_arg *) argp = (ffi_arg) ecif->rvalue; - argp += sizeof(ffi_arg); - FIX_ARGP; - } - - p_argv = ecif->avalue; - - for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; i++, p_arg++) - { - size_t z; - unsigned int a; - - /* Align if necessary. */ - a = (*p_arg)->alignment; - if (a < sizeof(ffi_arg)) - a = sizeof(ffi_arg); - - if ((a - 1) & (unsigned long) argp) - { - argp = (char *) FFI_ALIGN(argp, a); - FIX_ARGP; - } - - z = (*p_arg)->size; - if (z <= sizeof(ffi_arg)) - { - int type = (*p_arg)->type; - z = sizeof(ffi_arg); - - /* The size of a pointer depends on the ABI */ - if (type == FFI_TYPE_POINTER) - type = (ecif->cif->abi == FFI_N64 - || ecif->cif->abi == FFI_N64_SOFT_FLOAT) - ? FFI_TYPE_SINT64 : FFI_TYPE_UINT32; - - if (i < 8 && (ecif->cif->abi == FFI_N32_SOFT_FLOAT - || ecif->cif->abi == FFI_N64_SOFT_FLOAT)) - { - switch (type) - { - case FFI_TYPE_FLOAT: - type = FFI_TYPE_UINT32; - break; - case FFI_TYPE_DOUBLE: - type = FFI_TYPE_UINT64; - break; - default: - break; - } - } - switch (type) - { - case FFI_TYPE_SINT8: - *(ffi_arg *)argp = *(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(ffi_arg *)argp = *(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(ffi_arg *)argp = *(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(ffi_arg *)argp = *(UINT16 *)(* p_argv); - break; - - case FFI_TYPE_SINT32: - *(ffi_arg *)argp = *(SINT32 *)(* p_argv); - break; - - case FFI_TYPE_UINT32: -#ifdef FFI_MIPS_N32 - /* The N32 ABI requires that 32-bit integers - be sign-extended to 64-bits, regardless of - whether they are signed or unsigned. */ - *(ffi_arg *)argp = *(SINT32 *)(* p_argv); -#else - *(ffi_arg *)argp = *(UINT32 *)(* p_argv); -#endif - break; - -#ifdef FFI_MIPS_N32 - case FFI_TYPE_COMPLEX: - /* expand from 4+4 to 8+8 if pass with fpr reg */ - /* argp will wind back to stack when we process all of reg args */ - /* all var_args passed with gpr, should be expand */ - if(!soft_float - && (*p_arg)->elements[0]->type == FFI_TYPE_FLOAT - && argp>=argp_f - && i < ecif->cif->mips_nfixedargs) - { - *(float *) argp = *(float *)(* p_argv); - argp += z; - char *tmp = (void *) (*p_argv); - *(float *) argp = *(float *)(tmp+4); - } - else - memcpy(argp, *p_argv, (*p_arg)->size); - break; -#endif - /* This can only happen with 64bit slots. */ - case FFI_TYPE_FLOAT: - *(float *) argp = *(float *)(* p_argv); - break; - - /* Handle structures. */ - default: - memcpy(argp, *p_argv, (*p_arg)->size); - break; - } - } - else - { -#ifdef FFI_MIPS_O32 - memcpy(argp, *p_argv, z); -#else - { - unsigned long end = (unsigned long) argp + z; - unsigned long cap = (unsigned long) stack + bytes; - - /* Check if the data will fit within the register space. - Handle it if it doesn't. */ - - if (end <= cap) - memcpy(argp, *p_argv, z); - else - { - unsigned long portion = cap - (unsigned long)argp; - - memcpy(argp, *p_argv, portion); - argp = stack; - z -= portion; - memcpy(argp, (void*)((unsigned long)(*p_argv) + portion), - z); - } - } -#endif - } - p_argv++; - argp += z; - FIX_ARGP; - } -} - -#ifdef FFI_MIPS_N32 - -/* The n32 spec says that if "a chunk consists solely of a double - float field (but not a double, which is part of a union), it - is passed in a floating point register. Any other chunk is - passed in an integer register". This code traverses structure - definitions and generates the appropriate flags. */ - -static int -calc_n32_struct_flags_element(unsigned *flags, ffi_type *e, - unsigned *loc, unsigned *arg_reg) -{ - /* Align this object. */ - *loc = FFI_ALIGN(*loc, e->alignment); - if (e->type == FFI_TYPE_DOUBLE) - { - /* Already aligned to FFI_SIZEOF_ARG. */ - *arg_reg = *loc / FFI_SIZEOF_ARG; - if (*arg_reg > 7) - return 1; - *flags += (FFI_TYPE_DOUBLE << (*arg_reg * FFI_FLAG_BITS)); - } - *loc += e->size; - return 0; -} - -static unsigned -calc_n32_struct_flags(int soft_float, ffi_type *arg, - unsigned *loc, unsigned *arg_reg) -{ - unsigned flags = 0; - unsigned index = 0; - - ffi_type *e; - - if (soft_float) - return 0; - - while ((e = arg->elements[index])) - { - if (e->type == FFI_TYPE_COMPLEX) - { - if (calc_n32_struct_flags_element(&flags, e->elements[0], loc, arg_reg)) - break; - if (calc_n32_struct_flags_element(&flags, e->elements[0], loc, arg_reg)) - break; - } - else - if (calc_n32_struct_flags_element(&flags, e, loc, arg_reg)) - break; - index++; - } - /* Next Argument register at alignment of FFI_SIZEOF_ARG. */ - *arg_reg = FFI_ALIGN(*loc, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; - - return flags; -} - -static unsigned -calc_n32_return_struct_flags(int soft_float, ffi_type *arg) -{ - unsigned flags; - unsigned small = FFI_TYPE_SMALLSTRUCT; - ffi_type *e; - - /* Returning structures under n32 is a tricky thing. - A struct with only one or two floating point fields - is returned in $f0 (and $f2 if necessary). Any other - struct results at most 128 bits are returned in $2 - (the first 64 bits) and $3 (remainder, if necessary). - Larger structs are handled normally. */ - - if (arg->size > 16) - return 0; - - if (arg->size > 8) - small = FFI_TYPE_SMALLSTRUCT2; - - e = arg->elements[0]; - - if (e->type == FFI_TYPE_COMPLEX) - { - int type = e->elements[0]->type; - - if (type != FFI_TYPE_DOUBLE && type != FFI_TYPE_FLOAT) - return small; - - if (arg->elements[1]) - { - /* Two floating point fields with more fields! - This must be passed the old way. */ - return small; - } - - flags = (type << FFI_FLAG_BITS) + type; - } - else - { - if (e->type != FFI_TYPE_DOUBLE && e->type != FFI_TYPE_FLOAT) - return small; - - flags = e->type; - - if (arg->elements[1]) - { - e = arg->elements[1]; - if (e->type != FFI_TYPE_DOUBLE && e->type != FFI_TYPE_FLOAT) - return small; - - if (arg->elements[2]) - { - /* There are three arguments and the first two are - floats! This must be passed the old way. */ - return small; - } - - flags += e->type << FFI_FLAG_BITS; - } - } - - if (soft_float) - flags += FFI_TYPE_STRUCT_SOFT; - return flags; -} - -#endif - -/* Perform machine dependent cif processing */ -static ffi_status ffi_prep_cif_machdep_int(ffi_cif *cif, unsigned nfixedargs) -{ - cif->flags = 0; - cif->mips_nfixedargs = nfixedargs; - -#ifdef FFI_MIPS_O32 - /* Set the flags necessary for O32 processing. FFI_O32_SOFT_FLOAT - * does not have special handling for floating point args. - */ - - if (cif->rtype->type != FFI_TYPE_STRUCT && cif->rtype->type != FFI_TYPE_COMPLEX && cif->abi == FFI_O32) - { - if (cif->nargs > 0 && cif->nargs == nfixedargs) - { - switch ((cif->arg_types)[0]->type) - { - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - cif->flags += (cif->arg_types)[0]->type; - break; - - default: - break; - } - - if (cif->nargs > 1) - { - /* Only handle the second argument if the first - is a float or double. */ - if (cif->flags) - { - switch ((cif->arg_types)[1]->type) - { - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - cif->flags += (cif->arg_types)[1]->type << FFI_FLAG_BITS; - break; - - default: - break; - } - } - } - } - } - - /* Set the return type flag */ - - if (cif->abi == FFI_O32_SOFT_FLOAT) - { - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2); - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: - cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2); - break; - - case FFI_TYPE_FLOAT: - default: - cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2); - break; - } - } - else - { - /* FFI_O32 */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_COMPLEX: - cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2); - if (cif->rtype->type == FFI_TYPE_COMPLEX) - cif->flags += ((*cif->rtype->elements[0]).type) << (FFI_FLAG_BITS * 4); - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2); - break; - - default: - cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2); - break; - } - } -#endif - -#ifdef FFI_MIPS_N32 - /* Set the flags necessary for N32 processing */ - { - unsigned arg_reg = 0; - unsigned loc = 0; - unsigned count = (cif->nargs < 8) ? cif->nargs : 8; - unsigned index = 0; - - unsigned struct_flags = 0; - int soft_float = (cif->abi == FFI_N32_SOFT_FLOAT - || cif->abi == FFI_N64_SOFT_FLOAT); - - if (cif->rtype->type == FFI_TYPE_STRUCT) - { - struct_flags = calc_n32_return_struct_flags(soft_float, cif->rtype); - - if (struct_flags == 0) - { - /* This means that the structure is being passed as - a hidden argument */ - - arg_reg = 1; - count = (cif->nargs < 7) ? cif->nargs : 7; - - cif->rstruct_flag = !0; - } - else - cif->rstruct_flag = 0; - } - else - cif->rstruct_flag = 0; - - while (count-- > 0 && arg_reg < 8) - { - ffi_type *t = cif->arg_types[index]; - - switch (t->type) - { - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - if (!soft_float && index < nfixedargs) - cif->flags += t->type << (arg_reg * FFI_FLAG_BITS); - arg_reg++; - break; - case FFI_TYPE_LONGDOUBLE: - /* Align it. */ - arg_reg = FFI_ALIGN(arg_reg, 2); - /* Treat it as two adjacent doubles. */ - if (soft_float || index >= nfixedargs) - { - arg_reg += 2; - } - else - { - cif->flags += - (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS)); - arg_reg++; - if (arg_reg >= 8) - continue; - cif->flags += - (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS)); - arg_reg++; - } - break; - - case FFI_TYPE_COMPLEX: - switch (t->elements[0]->type) - { - case FFI_TYPE_LONGDOUBLE: - arg_reg = FFI_ALIGN(arg_reg, 2); - if (soft_float || index >= nfixedargs) - { - arg_reg += 2; - } - else - { - cif->flags += - (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS)); - arg_reg++; - if (arg_reg >= 8) - continue; - cif->flags += - (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS)); - arg_reg++; - if (arg_reg >= 8) - continue; - } - /* passthrough */ - case FFI_TYPE_FLOAT: - // one fpr can only holds one arg even it is single - cif->bytes += 16; - /* passthrough */ - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_DOUBLE: - if (soft_float || index >= nfixedargs) - { - arg_reg += 2; - } - else - { - uint32_t type = t->elements[0]->type != FFI_TYPE_LONGDOUBLE? t->elements[0]->type: FFI_TYPE_DOUBLE; - cif->flags += - (type << (arg_reg * FFI_FLAG_BITS)); - arg_reg++; - if (arg_reg >= 8) - continue; - cif->flags += - (type << (arg_reg * FFI_FLAG_BITS)); - arg_reg++; - } - break; - default: - arg_reg += 2; - break; - } - break; - - case FFI_TYPE_STRUCT: - loc = arg_reg * FFI_SIZEOF_ARG; - cif->flags += calc_n32_struct_flags(soft_float || index >= nfixedargs, - t, &loc, &arg_reg); - break; - - default: - arg_reg++; - break; - } - - index++; - } - - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_STRUCT: - { - if (struct_flags == 0) - { - /* The structure is returned through a hidden - first argument. Do nothing, 'cause FFI_TYPE_VOID - is 0 */ - } - else - { - /* The structure is returned via some tricky - mechanism */ - cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8); - cif->flags += struct_flags << (4 + (FFI_FLAG_BITS * 8)); - } - break; - } - - case FFI_TYPE_VOID: - /* Do nothing, 'cause FFI_TYPE_VOID is 0 */ - break; - - case FFI_TYPE_POINTER: - if (cif->abi == FFI_N32_SOFT_FLOAT || cif->abi == FFI_N32) - cif->flags += FFI_TYPE_UINT32 << (FFI_FLAG_BITS * 8); - else - cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8); - break; - - case FFI_TYPE_FLOAT: - if (soft_float) - { - cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8); - break; - } - /* else fall through */ - case FFI_TYPE_DOUBLE: - if (soft_float) - cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8); - else - cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8); - break; - - case FFI_TYPE_LONGDOUBLE: - /* Long double is returned as if it were a struct containing - two doubles. */ - if (soft_float) - { - /* if ret is long double, the ret is given by v0 and a0, no idea why - * Let's us VOID | VOID | LONGDOUBLE for it*/ - cif->flags += FFI_TYPE_LONGDOUBLE << (FFI_FLAG_BITS * 8); - } - else - { - cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8); - cif->flags += (FFI_TYPE_DOUBLE - + (FFI_TYPE_DOUBLE << FFI_FLAG_BITS)) - << (4 + (FFI_FLAG_BITS * 8)); - } - break; - case FFI_TYPE_COMPLEX: - { - int type = cif->rtype->elements[0]->type; - - cif->flags += (FFI_TYPE_COMPLEX << (FFI_FLAG_BITS * 8)); - if (soft_float || (type != FFI_TYPE_FLOAT && type != FFI_TYPE_DOUBLE && type != FFI_TYPE_LONGDOUBLE)) - { - switch (type) - { - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_INT: - type = FFI_TYPE_SMALLSTRUCT2; - break; - case FFI_TYPE_LONGDOUBLE: - type = FFI_TYPE_LONGDOUBLE; - break; - case FFI_TYPE_FLOAT: - default: - type = FFI_TYPE_SMALLSTRUCT; - } - cif->flags += type << (4 + (FFI_FLAG_BITS * 8)); - } - else - { - //cif->flags += (type + (type << FFI_FLAG_BITS)) - // << (4 + (FFI_FLAG_BITS * 8)); - cif->flags += type << (4 + (FFI_FLAG_BITS * 8)); - } - break; - } - default: - cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8); - break; - } - } -#endif - return FFI_OK; -} - -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - return ffi_prep_cif_machdep_int(cif, cif->nargs); -} - -ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, - unsigned nfixedargs, - unsigned ntotalargs MAYBE_UNUSED) -{ - return ffi_prep_cif_machdep_int(cif, nfixedargs); -} - -/* Low level routine for calling O32 functions */ -extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int), - extended_cif *, unsigned, - unsigned, unsigned *, void (*)(void), void *closure); - -/* Low level routine for calling N32 functions */ -extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int), - extended_cif *, unsigned, - unsigned, void *, void (*)(void), void *closure); - -void ffi_call_int(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - - if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT || cif->rtype->type == FFI_TYPE_COMPLEX)) - ecif.rvalue = alloca(cif->rtype->size); - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { -#ifdef FFI_MIPS_O32 - case FFI_O32: - case FFI_O32_SOFT_FLOAT: - ffi_call_O32(ffi_prep_args, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn, closure); - break; -#endif - -#ifdef FFI_MIPS_N32 - case FFI_N32: - case FFI_N32_SOFT_FLOAT: - case FFI_N64: - case FFI_N64_SOFT_FLOAT: - { - int copy_rvalue = 0; - int copy_offset = 0; - char *rvalue_copy = ecif.rvalue; - if (cif->rtype->type == FFI_TYPE_STRUCT && cif->rtype->size < 16) - { - /* For structures smaller than 16 bytes we clobber memory - in 8 byte increments. Make a copy so we don't clobber - the callers memory outside of the struct bounds. */ - rvalue_copy = alloca(16); - copy_rvalue = 1; - } - else if (cif->rtype->type == FFI_TYPE_FLOAT - && (cif->abi == FFI_N64_SOFT_FLOAT - || cif->abi == FFI_N32_SOFT_FLOAT)) - { - rvalue_copy = alloca (8); - copy_rvalue = 1; -#if defined(__MIPSEB__) || defined(_MIPSEB) - copy_offset = 4; -#endif - } - ffi_call_N32(ffi_prep_args, &ecif, cif->bytes, - cif->flags, rvalue_copy, fn, closure); - if (copy_rvalue) - memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size); - } - break; -#endif - - default: - FFI_ASSERT(0); - break; - } -} - -void -ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} - - -#if FFI_CLOSURES -#if defined(FFI_MIPS_O32) -extern void ffi_closure_O32(void); -extern void ffi_go_closure_O32(void); -#else -extern void ffi_closure_N32(void); -extern void ffi_go_closure_N32(void); -#endif /* FFI_MIPS_O32 */ - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp = (unsigned int *) &closure->tramp[0]; - void * fn; - char *clear_location = (char *) codeloc; - -#if defined(FFI_MIPS_O32) - if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT) - return FFI_BAD_ABI; - fn = ffi_closure_O32; -#else -#if _MIPS_SIM ==_ABIN32 - if (cif->abi != FFI_N32 - && cif->abi != FFI_N32_SOFT_FLOAT) - return FFI_BAD_ABI; -#else - if (cif->abi != FFI_N64 - && cif->abi != FFI_N64_SOFT_FLOAT) - return FFI_BAD_ABI; -#endif - fn = ffi_closure_N32; -#endif /* FFI_MIPS_O32 */ - -#if defined(FFI_MIPS_O32) || (_MIPS_SIM ==_ABIN32) - /* lui $25,high(fn) */ - tramp[0] = 0x3c190000 | ((unsigned)fn >> 16); - /* ori $25,low(fn) */ - tramp[1] = 0x37390000 | ((unsigned)fn & 0xffff); - /* lui $12,high(codeloc) */ - tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16); - /* jr $25 */ -#if !defined(__mips_isa_rev) || (__mips_isa_rev<6) - tramp[3] = 0x03200008; -#else - tramp[3] = 0x03200009; -#endif - /* ori $12,low(codeloc) */ - tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff); -#else - /* N64 has a somewhat larger trampoline. */ - /* lui $25,high(fn) */ - tramp[0] = 0x3c190000 | ((unsigned long)fn >> 48); - /* lui $12,high(codeloc) */ - tramp[1] = 0x3c0c0000 | ((unsigned long)codeloc >> 48); - /* ori $25,mid-high(fn) */ - tramp[2] = 0x37390000 | (((unsigned long)fn >> 32 ) & 0xffff); - /* ori $12,mid-high(codeloc) */ - tramp[3] = 0x358c0000 | (((unsigned long)codeloc >> 32) & 0xffff); - /* dsll $25,$25,16 */ - tramp[4] = 0x0019cc38; - /* dsll $12,$12,16 */ - tramp[5] = 0x000c6438; - /* ori $25,mid-low(fn) */ - tramp[6] = 0x37390000 | (((unsigned long)fn >> 16 ) & 0xffff); - /* ori $12,mid-low(codeloc) */ - tramp[7] = 0x358c0000 | (((unsigned long)codeloc >> 16) & 0xffff); - /* dsll $25,$25,16 */ - tramp[8] = 0x0019cc38; - /* dsll $12,$12,16 */ - tramp[9] = 0x000c6438; - /* ori $25,low(fn) */ - tramp[10] = 0x37390000 | ((unsigned long)fn & 0xffff); - /* jr $25 */ -#if !defined(__mips_isa_rev) || (__mips_isa_rev<6) - tramp[11] = 0x03200008; -#else - tramp[11] = 0x03200009; -#endif - /* ori $12,low(codeloc) */ - tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff); - -#endif - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - -#if !defined(__FreeBSD__) -#ifdef USE__BUILTIN___CLEAR_CACHE - __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE); -#else - cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE); -#endif -#endif /* ! __FreeBSD__ */ - return FFI_OK; -} - -/* - * Decodes the arguments to a function, which will be stored on the - * stack. AR is the pointer to the beginning of the integer arguments - * (and, depending upon the arguments, some floating-point arguments - * as well). FPR is a pointer to the area where floating point - * registers have been saved, if any. - * - * RVALUE is the location where the function return value will be - * stored. CLOSURE is the prepared closure to invoke. - * - * This function should only be called from assembly, which is in - * turn called from a trampoline. - * - * Returns the function return type. - * - * Based on the similar routine for sparc. - */ -int -ffi_closure_mips_inner_O32 (ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *rvalue, ffi_arg *ar, - double *fpr) -{ - void **avaluep; - ffi_arg *avalue; - ffi_type **arg_types; - int i, avn, argn, seen_int; - - avalue = alloca (cif->nargs * sizeof (ffi_arg)); - avaluep = alloca (cif->nargs * sizeof (ffi_arg)); - - seen_int = (cif->abi == FFI_O32_SOFT_FLOAT) || (cif->mips_nfixedargs != cif->nargs); - argn = 0; - - if ((cif->flags >> (FFI_FLAG_BITS * 2)) == FFI_TYPE_STRUCT) - { - rvalue = (void *)(uintptr_t)ar[0]; - argn = 1; - seen_int = 1; - } - if ((cif->flags >> (FFI_FLAG_BITS * 2)) == FFI_TYPE_COMPLEX) - { - rvalue = fpr; - argn = 1; - } - - i = 0; - avn = cif->nargs; - arg_types = cif->arg_types; - - while (i < avn) - { - if (arg_types[i]->alignment == 8 && (argn & 0x1)) - argn++; - if (i < 2 && !seen_int && - (arg_types[i]->type == FFI_TYPE_FLOAT || - arg_types[i]->type == FFI_TYPE_DOUBLE || - arg_types[i]->type == FFI_TYPE_LONGDOUBLE)) - { -#if defined(__MIPSEB__) || defined(_MIPSEB) - if (arg_types[i]->type == FFI_TYPE_FLOAT) - avaluep[i] = ((char *) &fpr[i]) + sizeof (float); - else -#endif - avaluep[i] = (char *) &fpr[i]; - } - else - { - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - avaluep[i] = &avalue[i]; - *(SINT8 *) &avalue[i] = (SINT8) ar[argn]; - break; - - case FFI_TYPE_UINT8: - avaluep[i] = &avalue[i]; - *(UINT8 *) &avalue[i] = (UINT8) ar[argn]; - break; - - case FFI_TYPE_SINT16: - avaluep[i] = &avalue[i]; - *(SINT16 *) &avalue[i] = (SINT16) ar[argn]; - break; - - case FFI_TYPE_UINT16: - avaluep[i] = &avalue[i]; - *(UINT16 *) &avalue[i] = (UINT16) ar[argn]; - break; - - default: - avaluep[i] = (char *) &ar[argn]; - break; - } - seen_int = 1; - } - argn += FFI_ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; - i++; - } - - /* Invoke the closure. */ - fun(cif, rvalue, avaluep, user_data); - - if (cif->abi == FFI_O32_SOFT_FLOAT) - { - switch (cif->rtype->type) - { - case FFI_TYPE_FLOAT: - return FFI_TYPE_INT; - case FFI_TYPE_DOUBLE: - return FFI_TYPE_UINT64; - default: - return cif->rtype->type; - } - } - else - { - if (cif->rtype->type == FFI_TYPE_COMPLEX) { - __asm__ volatile ("move $v1, %0" : : "r"(cif->rtype->size)); - } - return cif->rtype->type; - } -} - -#if defined(FFI_MIPS_N32) - -static void -copy_struct_N32(char *target, unsigned offset, ffi_abi abi, ffi_type *type, - int argn, unsigned arg_offset, ffi_arg *ar, - ffi_arg *fpr, int soft_float) -{ - ffi_type **elt_typep = type->elements; - while(*elt_typep) - { - ffi_type *elt_type = *elt_typep; - unsigned o; - char *tp; - char *argp; - char *fpp; - - o = FFI_ALIGN(offset, elt_type->alignment); - arg_offset += o - offset; - offset = o; - argn += arg_offset / sizeof(ffi_arg); - arg_offset = arg_offset % sizeof(ffi_arg); - - argp = (char *)(ar + argn); - fpp = (char *)(argn >= 8 ? ar + argn : fpr + argn); - - tp = target + offset; - - if (elt_type->type == FFI_TYPE_DOUBLE && !soft_float) - *(double *)tp = *(double *)fpp; - else - memcpy(tp, argp + arg_offset, elt_type->size); - - offset += elt_type->size; - arg_offset += elt_type->size; - elt_typep++; - argn += arg_offset / sizeof(ffi_arg); - arg_offset = arg_offset % sizeof(ffi_arg); - } -} - -/* - * Decodes the arguments to a function, which will be stored on the - * stack. AR is the pointer to the beginning of the integer - * arguments. FPR is a pointer to the area where floating point - * registers have been saved. - * - * RVALUE is the location where the function return value will be - * stored. CLOSURE is the prepared closure to invoke. - * - * This function should only be called from assembly, which is in - * turn called from a trampoline. - * - * Returns the function return flags. - * - */ -int -ffi_closure_mips_inner_N32 (ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *rvalue, ffi_arg *ar, - ffi_arg *fpr) -{ - void **avaluep; - ffi_arg *avalue; - ffi_type **arg_types; - int i, avn, argn; - int soft_float; - ffi_arg *argp; - - soft_float = cif->abi == FFI_N64_SOFT_FLOAT - || cif->abi == FFI_N32_SOFT_FLOAT; - avalue = alloca (cif->nargs * sizeof (ffi_arg)); - avaluep = alloca (cif->nargs * sizeof (ffi_arg)); - - argn = 0; - - if (cif->rstruct_flag) - { -#if _MIPS_SIM==_ABIN32 - rvalue = (void *)(UINT32)ar[0]; -#else /* N64 */ - rvalue = (void *)ar[0]; -#endif - argn = 1; - } - if (cif->rtype->type == FFI_TYPE_COMPLEX && cif->rtype->elements[0]->type == FFI_TYPE_LONGDOUBLE) - argn = 2; - - i = 0; - avn = cif->nargs; - arg_types = cif->arg_types; - - while (i < avn) - { - if (arg_types[i]->type == FFI_TYPE_FLOAT - || arg_types[i]->type == FFI_TYPE_DOUBLE - || arg_types[i]->type == FFI_TYPE_LONGDOUBLE) - { - argp = (argn >= 8 || i >= cif->mips_nfixedargs || soft_float) ? ar + argn : fpr + argn; - if ((arg_types[i]->type == FFI_TYPE_LONGDOUBLE) && ((uintptr_t)argp & (arg_types[i]->alignment-1))) - { - argp=(ffi_arg*)FFI_ALIGN(argp,arg_types[i]->alignment); - argn++; - } -#if defined(__MIPSEB__) || defined(_MIPSEB) - if (arg_types[i]->type == FFI_TYPE_FLOAT && argn < 8) - avaluep[i] = ((char *) argp) + sizeof (float); - else -#endif - avaluep[i] = (char *) argp; - } - else if (arg_types[i]->type == FFI_TYPE_COMPLEX && arg_types[i]->elements[0]->type == FFI_TYPE_DOUBLE) - { - argp = (argn >= 8 || i >= cif->mips_nfixedargs || soft_float) ? ar + argn : fpr + argn; - avaluep[i] = (char *) argp; - } - else if (arg_types[i]->type == FFI_TYPE_COMPLEX && arg_types[i]->elements[0]->type == FFI_TYPE_LONGDOUBLE) - { - /* align long double */ - argn += ((argn & 0x1)? 1 : 0); - argp = (argn >= 8 || i >= cif->mips_nfixedargs || soft_float) ? ar + argn : fpr + argn; - avaluep[i] = (char *) argp; - } - else if (arg_types[i]->type == FFI_TYPE_COMPLEX && arg_types[i]->elements[0]->type == FFI_TYPE_FLOAT) - { - if (argn >= 8 || i >= cif->mips_nfixedargs || soft_float) - argp = ar + argn; - else - { - argp = fpr + argn; - /* the normal args for function holds 8bytes, while here we convert it to ptr */ - uint32_t *tmp = (uint32_t *)argp; - tmp[1] = tmp[2]; - } - avaluep[i] = (char *) argp; - } - else - { - unsigned type = arg_types[i]->type; - - if (arg_types[i]->alignment > sizeof(ffi_arg)) - argn = FFI_ALIGN(argn, arg_types[i]->alignment / sizeof(ffi_arg)); - - argp = ar + argn; - - /* The size of a pointer depends on the ABI */ - if (type == FFI_TYPE_POINTER) - type = (cif->abi == FFI_N64 || cif->abi == FFI_N64_SOFT_FLOAT) - ? FFI_TYPE_SINT64 : FFI_TYPE_UINT32; - - if (soft_float && type == FFI_TYPE_FLOAT) - type = FFI_TYPE_SINT32; - - switch (type) - { - case FFI_TYPE_SINT8: - avaluep[i] = &avalue[i]; - *(SINT8 *) &avalue[i] = (SINT8) *argp; - break; - - case FFI_TYPE_UINT8: - avaluep[i] = &avalue[i]; - *(UINT8 *) &avalue[i] = (UINT8) *argp; - break; - - case FFI_TYPE_SINT16: - avaluep[i] = &avalue[i]; - *(SINT16 *) &avalue[i] = (SINT16) *argp; - break; - - case FFI_TYPE_UINT16: - avaluep[i] = &avalue[i]; - *(UINT16 *) &avalue[i] = (UINT16) *argp; - break; - - case FFI_TYPE_SINT32: - avaluep[i] = &avalue[i]; - *(SINT32 *) &avalue[i] = (SINT32) *argp; - break; - - case FFI_TYPE_UINT32: - avaluep[i] = &avalue[i]; - *(UINT32 *) &avalue[i] = (UINT32) *argp; - break; - - case FFI_TYPE_STRUCT: - if (argn < 8) - { - /* Allocate space for the struct as at least part of - it was passed in registers. */ - avaluep[i] = alloca(arg_types[i]->size); - copy_struct_N32(avaluep[i], 0, cif->abi, arg_types[i], - argn, 0, ar, fpr, i >= cif->mips_nfixedargs || soft_float); - - break; - } - /* Else fall through. */ - default: - avaluep[i] = (char *) argp; - break; - } - } - argn += FFI_ALIGN(arg_types[i]->size, sizeof(ffi_arg)) / sizeof(ffi_arg); - i++; - } - - /* Invoke the closure. */ - fun (cif, rvalue, avaluep, user_data); - - return cif->flags >> (FFI_FLAG_BITS * 8); -} - -#endif /* FFI_MIPS_N32 */ - -#if defined(FFI_MIPS_O32) -extern void ffi_closure_O32(void); -extern void ffi_go_closure_O32(void); -#else -extern void ffi_closure_N32(void); -extern void ffi_go_closure_N32(void); -#endif /* FFI_MIPS_O32 */ - -ffi_status -ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*)) -{ - void * fn; - -#if defined(FFI_MIPS_O32) - if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT) - return FFI_BAD_ABI; - fn = ffi_go_closure_O32; -#else -#if _MIPS_SIM ==_ABIN32 - if (cif->abi != FFI_N32 - && cif->abi != FFI_N32_SOFT_FLOAT) - return FFI_BAD_ABI; -#else - if (cif->abi != FFI_N64 - && cif->abi != FFI_N64_SOFT_FLOAT) - return FFI_BAD_ABI; -#endif - fn = ffi_go_closure_N32; -#endif /* FFI_MIPS_O32 */ - - closure->tramp = (void *)fn; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -#endif /* FFI_CLOSURES */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffitarget.h deleted file mode 100644 index 294c3ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffitarget.h +++ /dev/null @@ -1,251 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for MIPS. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifdef __linux__ -# include -#elif defined(__rtems__) -/* - * Subprogram calling convention - copied from sgidefs.h - */ -#define _MIPS_SIM_ABI32 1 -#define _MIPS_SIM_NABI32 2 -#define _MIPS_SIM_ABI64 3 -#elif !defined(__OpenBSD__) && !defined(__FreeBSD__) -# include -#endif - -# ifndef _ABIN32 -# define _ABIN32 _MIPS_SIM_NABI32 -# endif -# ifndef _ABI64 -# define _ABI64 _MIPS_SIM_ABI64 -# endif -# ifndef _ABIO32 -# define _ABIO32 _MIPS_SIM_ABI32 -# endif - -#if !defined(_MIPS_SIM) -# error -- something is very wrong -- -#else -# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64)) -# define FFI_MIPS_N32 -# else -# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32)) -# define FFI_MIPS_O32 -# else -# error -- this is an unsupported platform -- -# endif -# endif -#endif - -#ifdef FFI_MIPS_O32 -/* O32 stack frames have 32bit integer args */ -# define FFI_SIZEOF_ARG 4 -#else -/* N32 and N64 frames have 64bit integer args */ -# define FFI_SIZEOF_ARG 8 -# if _MIPS_SIM == _ABIN32 -# define FFI_SIZEOF_JAVA_RAW 4 -# endif -#endif - -#define FFI_TARGET_HAS_COMPLEX_TYPE 1 -#define FFI_FLAG_BITS 2 - -/* SGI's strange assembler requires that we multiply by 4 rather - than shift left by FFI_FLAG_BITS */ - -#define FFI_ARGS_D FFI_TYPE_DOUBLE -#define FFI_ARGS_F FFI_TYPE_FLOAT -#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE -#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT -#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT -#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE - -/* Needed for N32 structure returns */ -#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8 -#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8 - -#if 0 -/* The SGI assembler can't handle this.. */ -#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT -/* (and so on) */ -#else -/* ...so we calculate these by hand! */ -#define FFI_TYPE_STRUCT_D 61 -#define FFI_TYPE_STRUCT_F 45 -#define FFI_TYPE_STRUCT_DD 253 -#define FFI_TYPE_STRUCT_FF 173 -#define FFI_TYPE_STRUCT_FD 237 -#define FFI_TYPE_STRUCT_DF 189 -#define FFI_TYPE_STRUCT_SMALL 93 -#define FFI_TYPE_STRUCT_SMALL2 109 - -#define FFI_TYPE_COMPLEX_SMALL 95 -#define FFI_TYPE_COMPLEX_SMALL2 111 -#define FFI_TYPE_COMPLEX_FF 47 -#define FFI_TYPE_COMPLEX_DD 63 -#define FFI_TYPE_COMPLEX_LDLD 79 - -/* and for n32 soft float, add 16 * 2^4 */ -#define FFI_TYPE_STRUCT_D_SOFT 317 -#define FFI_TYPE_STRUCT_F_SOFT 301 -#define FFI_TYPE_STRUCT_DD_SOFT 509 -#define FFI_TYPE_STRUCT_FF_SOFT 429 -#define FFI_TYPE_STRUCT_FD_SOFT 493 -#define FFI_TYPE_STRUCT_DF_SOFT 445 -#define FFI_TYPE_STRUCT_SOFT 16 -#endif - -#ifdef LIBFFI_ASM -#define v0 $2 -#define v1 $3 -#define a0 $4 -#define a1 $5 -#define a2 $6 -#define a3 $7 -#define a4 $8 -#define a5 $9 -#define a6 $10 -#define a7 $11 -#define t0 $8 -#define t1 $9 -#define t2 $10 -#define t3 $11 -#define t4 $12 -#define t5 $13 -#define t6 $14 -#define t7 $15 -#define t8 $24 -#define t9 $25 -#define ra $31 - -#ifdef FFI_MIPS_O32 -# define REG_L lw -# define REG_S sw -# define SUBU subu -# define ADDU addu -# define SRL srl -# define LI li -#else /* !FFI_MIPS_O32 */ -# define REG_L ld -# define REG_S sd -# define SUBU dsubu -# define ADDU daddu -# define SRL dsrl -# define LI dli -# if (_MIPS_SIM==_ABI64) -# define LA dla -# define EH_FRAME_ALIGN 3 -# define FDE_ADDR_BYTES .8byte -# else -# define LA la -# define EH_FRAME_ALIGN 2 -# define FDE_ADDR_BYTES .4byte -# endif /* _MIPS_SIM==_ABI64 */ -#endif /* !FFI_MIPS_O32 */ -#else /* !LIBFFI_ASM */ -# ifdef __GNUC__ -# ifdef FFI_MIPS_O32 -/* O32 stack frames have 32bit integer args */ -typedef unsigned int ffi_arg __attribute__((__mode__(__SI__))); -typedef signed int ffi_sarg __attribute__((__mode__(__SI__))); -#else -/* N32 and N64 frames have 64bit integer args */ -typedef unsigned int ffi_arg __attribute__((__mode__(__DI__))); -typedef signed int ffi_sarg __attribute__((__mode__(__DI__))); -# endif -# else -# ifdef FFI_MIPS_O32 -/* O32 stack frames have 32bit integer args */ -typedef __uint32_t ffi_arg; -typedef __int32_t ffi_sarg; -# else -/* N32 and N64 frames have 64bit integer args */ -typedef __uint64_t ffi_arg; -typedef __int64_t ffi_sarg; -# endif -# endif /* __GNUC__ */ - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_O32, - FFI_N32, - FFI_N64, - FFI_O32_SOFT_FLOAT, - FFI_N32_SOFT_FLOAT, - FFI_N64_SOFT_FLOAT, - FFI_LAST_ABI, - -#ifdef FFI_MIPS_O32 -#ifdef __mips_soft_float - FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT -#else - FFI_DEFAULT_ABI = FFI_O32 -#endif -#else -# if _MIPS_SIM==_ABI64 -# ifdef __mips_soft_float - FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT -# else - FFI_DEFAULT_ABI = FFI_N64 -# endif -# else -# ifdef __mips_soft_float - FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT -# else - FFI_DEFAULT_ABI = FFI_N32 -# endif -# endif -#endif -} ffi_abi; - -#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag; unsigned mips_nfixedargs -#define FFI_TARGET_SPECIFIC_VARIADIC -#endif /* !LIBFFI_ASM */ - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -#if defined(FFI_MIPS_O32) || (_MIPS_SIM ==_ABIN32) -# define FFI_TRAMPOLINE_SIZE 20 -#else -# define FFI_TRAMPOLINE_SIZE 56 -#endif - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/n32.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/n32.S deleted file mode 100644 index e1938d1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/n32.S +++ /dev/null @@ -1,772 +0,0 @@ -/* ----------------------------------------------------------------------- - n32.S - Copyright (c) 1996, 1998, 2005, 2007, 2009, 2010 Red Hat, Inc. - - MIPS Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -/* Only build this code if we are compiling for n32 */ - -#if defined(FFI_MIPS_N32) - -#define callback a0 -#define bytes a2 -#define flags a3 -#define raddr a4 -#define fn a5 -#define closure a6 - -/* Note: to keep stack 16 byte aligned we need even number slots - used 9 slots here -*/ -#define SIZEOF_FRAME ( 10 * FFI_SIZEOF_ARG ) - -#ifdef __GNUC__ - .abicalls -#endif -#if !defined(__mips_isa_rev) || (__mips_isa_rev<6) - .set mips4 -#endif - .text - .align 2 - .globl ffi_call_N32 - .ent ffi_call_N32 -ffi_call_N32: -.LFB0: - .frame $fp, SIZEOF_FRAME, ra - .mask 0xc0000000,-FFI_SIZEOF_ARG - .fmask 0x00000000,0 - - # Prologue - SUBU $sp, SIZEOF_FRAME # Frame size -.LCFI00: - REG_S $fp, SIZEOF_FRAME - 2*FFI_SIZEOF_ARG($sp) # Save frame pointer - REG_S ra, SIZEOF_FRAME - 1*FFI_SIZEOF_ARG($sp) # Save return address -.LCFI01: - move $fp, $sp -.LCFI02: - move t9, callback # callback function pointer - REG_S bytes, 2*FFI_SIZEOF_ARG($fp) # bytes - REG_S flags, 3*FFI_SIZEOF_ARG($fp) # flags - REG_S raddr, 4*FFI_SIZEOF_ARG($fp) # raddr - REG_S fn, 5*FFI_SIZEOF_ARG($fp) # fn - REG_S closure, 6*FFI_SIZEOF_ARG($fp) # closure - - # Allocate at least 4 words in the argstack - move v0, bytes - bge bytes, 4 * FFI_SIZEOF_ARG, bigger - LI v0, 4 * FFI_SIZEOF_ARG - b sixteen - - bigger: - ADDU t4, v0, 2 * FFI_SIZEOF_ARG -1 # make sure it is aligned - and v0, t4, -2 * FFI_SIZEOF_ARG # to a proper boundry. - -sixteen: - SUBU $sp, $sp, v0 # move the stack pointer to reflect the - # arg space - - move a0, $sp # 4 * FFI_SIZEOF_ARG - ADDU a3, $fp, 3 * FFI_SIZEOF_ARG - - # Call ffi_prep_args - jal t9 - - # Copy the stack pointer to t9 - move t9, $sp - - # Fix the stack if there are more than 8 64bit slots worth - # of arguments. - - # Load the number of bytes - REG_L t6, 2*FFI_SIZEOF_ARG($fp) - - # Is it bigger than 8 * FFI_SIZEOF_ARG? - daddiu t8, t6, -(8 * FFI_SIZEOF_ARG) - bltz t8, loadregs - - ADDU t9, t9, t8 - -loadregs: - - REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6. - - # when retval is _Complex long double, $f12/$a0, $f13/$a1 will be skipped - # no idea why, but gcc does it. - SRL t4, t6, 8*FFI_FLAG_BITS - move t8, t6 - bne t4, FFI_TYPE_COMPLEX_LDLD, loadregs1 - - SLL t8, t6, 2*FFI_FLAG_BITS - - -loadregs1: -#ifdef __mips_soft_float - REG_L a0, 0*FFI_SIZEOF_ARG(t9) - REG_L a1, 1*FFI_SIZEOF_ARG(t9) - REG_L a2, 2*FFI_SIZEOF_ARG(t9) - REG_L a3, 3*FFI_SIZEOF_ARG(t9) - REG_L a4, 4*FFI_SIZEOF_ARG(t9) - REG_L a5, 5*FFI_SIZEOF_ARG(t9) - REG_L a6, 6*FFI_SIZEOF_ARG(t9) - REG_L a7, 7*FFI_SIZEOF_ARG(t9) -#else - and t4, t8, ((1< -#include - -/* Only build this code if we are compiling for o32 */ - -#if defined(FFI_MIPS_O32) - -#define callback a0 -#define bytes a2 -#define flags a3 - -#define SIZEOF_FRAME (4 * FFI_SIZEOF_ARG + 2 * FFI_SIZEOF_ARG) -#define A3_OFF (SIZEOF_FRAME + 3 * FFI_SIZEOF_ARG) -#define FP_OFF (SIZEOF_FRAME - 2 * FFI_SIZEOF_ARG) -#define RA_OFF (SIZEOF_FRAME - 1 * FFI_SIZEOF_ARG) - - .abicalls - .text - .align 2 - .globl ffi_call_O32 - .ent ffi_call_O32 -ffi_call_O32: -$LFB0: - # Prologue - SUBU $sp, SIZEOF_FRAME # Frame size -$LCFI00: - REG_S $fp, FP_OFF($sp) # Save frame pointer -$LCFI01: - REG_S ra, RA_OFF($sp) # Save return address -$LCFI02: - move $fp, $sp - -$LCFI03: - move t9, callback # callback function pointer - REG_S flags, A3_OFF($fp) # flags - - # Allocate at least 4 words in the argstack - LI v0, 4 * FFI_SIZEOF_ARG - blt bytes, v0, sixteen - - ADDU v0, bytes, 7 # make sure it is aligned - and v0, -8 # to an 8 byte boundry - -sixteen: - SUBU $sp, v0 # move the stack pointer to reflect the - # arg space - - ADDU a0, $sp, 4 * FFI_SIZEOF_ARG - - jalr t9 - - REG_L t0, A3_OFF($fp) # load the flags word - SRL t2, t0, 4 # shift our arg info - and t0, ((1<<4)-1) # mask out the return type - - ADDU $sp, 4 * FFI_SIZEOF_ARG # adjust $sp to new args - -#ifndef __mips_soft_float - bnez t0, pass_d # make it quick for int -#endif - REG_L a0, 0*FFI_SIZEOF_ARG($sp) # just go ahead and load the - REG_L a1, 1*FFI_SIZEOF_ARG($sp) # four regs. - REG_L a2, 2*FFI_SIZEOF_ARG($sp) - REG_L a3, 3*FFI_SIZEOF_ARG($sp) - b call_it - -#ifndef __mips_soft_float -pass_d: - bne t0, FFI_ARGS_D, pass_f - l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - REG_L a2, 2*FFI_SIZEOF_ARG($sp) # passing a double - REG_L a3, 3*FFI_SIZEOF_ARG($sp) - b call_it - -pass_f: - bne t0, FFI_ARGS_F, pass_d_d - l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - REG_L a1, 1*FFI_SIZEOF_ARG($sp) # passing a float - REG_L a2, 2*FFI_SIZEOF_ARG($sp) - REG_L a3, 3*FFI_SIZEOF_ARG($sp) - b call_it - -pass_d_d: - bne t0, FFI_ARGS_DD, pass_f_f - l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing two doubles - b call_it - -pass_f_f: - bne t0, FFI_ARGS_FF, pass_d_f - l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - l.s $f14, 1*FFI_SIZEOF_ARG($sp) # passing two floats - REG_L a2, 2*FFI_SIZEOF_ARG($sp) - REG_L a3, 3*FFI_SIZEOF_ARG($sp) - b call_it - -pass_d_f: - bne t0, FFI_ARGS_DF, pass_f_d - l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - l.s $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float - REG_L a3, 3*FFI_SIZEOF_ARG($sp) - b call_it - -pass_f_d: - # assume that the only other combination must be float then double - # bne t0, FFI_ARGS_F_D, call_it - l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float - -#endif - -call_it: - # Load the static chain pointer - REG_L t7, SIZEOF_FRAME + 6*FFI_SIZEOF_ARG($fp) - - # Load the function pointer - REG_L t9, SIZEOF_FRAME + 5*FFI_SIZEOF_ARG($fp) - - # If the return value pointer is NULL, assume no return value. - REG_L t1, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) - beqz t1, noretval - - and t1, t2, ((1<<4)-1) - bne t1, FFI_TYPE_INT, retlonglong - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) - REG_S v0, 0(t0) - b epilogue - -retlonglong: - # Really any 64-bit int, signed or not. - bne t1, FFI_TYPE_UINT64, retfloat - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) - REG_S v1, 4(t0) - REG_S v0, 0(t0) - b epilogue - -retfloat: - bne t1, FFI_TYPE_FLOAT, retdouble - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) -#ifndef __mips_soft_float - s.s $f0, 0(t0) -#else - REG_S v0, 0(t0) -#endif - b epilogue - -retdouble: - bne t1, FFI_TYPE_DOUBLE, retcomplex - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) -#ifndef __mips_soft_float - s.d $f0, 0(t0) -#else - REG_S v1, 4(t0) - REG_S v0, 0(t0) -#endif - b epilogue - -retcomplex: - # mask out the complex elements type. - # the struct of flags (bits): - # 0-1: arg0 - # 2-3: arg1 - # 4-7: return type - # 8-11: rtype elements type: for complex - # Note here: t2 is flags>>4 - bne t1, FFI_TYPE_COMPLEX, noretval - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) - REG_L t1, A3_OFF($fp) # load the flags word - SRL t1, t1, 8 - li t3, 3 - beq t1, t3, 3f # double - li t3, 2 - beq t1, t3, 2f # float - # FIXME: long double - slti t3, t1, 5 - beqz t3, 5f # (u)int8/16/32/64 -2: -#ifndef __mips_soft_float - s.s $f0, 0(t0) - s.s $f2, 4(t0) -#else - # FIXME: do nothing can pass all of the testsuite -#endif - b epilogue -3: -#ifndef __mips_soft_float - s.d $f0, 0(t0) - s.d $f2, 8(t0) -#else - # FIXME: do nothing can pass all of the testsuite -#endif - b epilogue - -5: - REG_S v1, 4(t0) - REG_S v0, 0(t0) - b epilogue - -noretval: - jalr t9 - - # Epilogue -epilogue: - move $sp, $fp - REG_L $fp, FP_OFF($sp) # Restore frame pointer - REG_L ra, RA_OFF($sp) # Restore return address - ADDU $sp, SIZEOF_FRAME # Fix stack pointer - j ra - -$LFE0: - .end ffi_call_O32 - - -/* ffi_closure_O32. Expects address of the passed-in ffi_closure - in t4 ($12). Stores any arguments passed in registers onto the - stack, then calls ffi_closure_mips_inner_O32, which - then decodes them. - - Stack layout: - - 3 - a3 save - 2 - a2 save - 1 - a1 save - 0 - a0 save, original sp - -1 - ra save - -2 - fp save - -3 - $16 (s0) save - -4 - cprestore - -5 - return value high (v1) - -6 - return value low (v0) - -7 - f14 (le high, be low) - -8 - f14 (le low, be high) - -9 - f12 (le high, be low) - -10 - f12 (le low, be high) - -11 - Called function a5 save - -12 - Called function a4 save - -13 - Called function a3 save - -14 - Called function a2 save - -15 - Called function a1 save - -16 - Called function a0 save, our sp and fp point here - */ - -#define SIZEOF_FRAME2 (16 * FFI_SIZEOF_ARG) -#define A3_OFF2 (SIZEOF_FRAME2 + 3 * FFI_SIZEOF_ARG) -#define A2_OFF2 (SIZEOF_FRAME2 + 2 * FFI_SIZEOF_ARG) -#define A1_OFF2 (SIZEOF_FRAME2 + 1 * FFI_SIZEOF_ARG) -#define A0_OFF2 (SIZEOF_FRAME2 + 0 * FFI_SIZEOF_ARG) -#define RA_OFF2 (SIZEOF_FRAME2 - 1 * FFI_SIZEOF_ARG) -#define FP_OFF2 (SIZEOF_FRAME2 - 2 * FFI_SIZEOF_ARG) -#define S0_OFF2 (SIZEOF_FRAME2 - 3 * FFI_SIZEOF_ARG) -#define GP_OFF2 (SIZEOF_FRAME2 - 4 * FFI_SIZEOF_ARG) -#define V1_OFF2 (SIZEOF_FRAME2 - 5 * FFI_SIZEOF_ARG) -#define V0_OFF2 (SIZEOF_FRAME2 - 6 * FFI_SIZEOF_ARG) -#define FA_1_1_OFF2 (SIZEOF_FRAME2 - 7 * FFI_SIZEOF_ARG) -#define FA_1_0_OFF2 (SIZEOF_FRAME2 - 8 * FFI_SIZEOF_ARG) -#define FA_0_1_OFF2 (SIZEOF_FRAME2 - 9 * FFI_SIZEOF_ARG) -#define FA_0_0_OFF2 (SIZEOF_FRAME2 - 10 * FFI_SIZEOF_ARG) -#define CALLED_A5_OFF2 (SIZEOF_FRAME2 - 11 * FFI_SIZEOF_ARG) -#define CALLED_A4_OFF2 (SIZEOF_FRAME2 - 12 * FFI_SIZEOF_ARG) - - .text - - .align 2 - .globl ffi_go_closure_O32 - .ent ffi_go_closure_O32 -ffi_go_closure_O32: -$LFB1: - # Prologue - .frame $fp, SIZEOF_FRAME2, ra - .set noreorder - .cpload t9 - .set reorder - SUBU $sp, SIZEOF_FRAME2 - .cprestore GP_OFF2 -$LCFI10: - - REG_S $16, S0_OFF2($sp) # Save s0 - REG_S $fp, FP_OFF2($sp) # Save frame pointer - REG_S ra, RA_OFF2($sp) # Save return address -$LCFI11: - - move $fp, $sp -$LCFI12: - - REG_S a0, A0_OFF2($fp) - REG_S a1, A1_OFF2($fp) - REG_S a2, A2_OFF2($fp) - REG_S a3, A3_OFF2($fp) - - # Load ABI enum to s0 - REG_L $16, 4($15) # cif - REG_L $16, 0($16) # abi is first member. - - li $13, 1 # FFI_O32 - bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT - -#ifndef __mips_soft_float - # Store all possible float/double registers. - s.d $f12, FA_0_0_OFF2($fp) - s.d $f14, FA_1_0_OFF2($fp) -#endif -1: - # prepare arguments for ffi_closure_mips_inner_O32 - REG_L a0, 4($15) # cif - REG_L a1, 8($15) # fun - move a2, $15 # user_data = go closure - addu a3, $fp, V0_OFF2 # rvalue - - addu t9, $fp, A0_OFF2 # ar - REG_S t9, CALLED_A4_OFF2($fp) - - addu t9, $fp, FA_0_0_OFF2 #fpr - REG_S t9, CALLED_A5_OFF2($fp) - - b $do_closure - -$LFE1: - .end ffi_go_closure_O32 - - .align 2 - .globl ffi_closure_O32 - .ent ffi_closure_O32 -ffi_closure_O32: -$LFB2: - # Prologue - .frame $fp, SIZEOF_FRAME2, ra - .set noreorder - .cpload t9 - .set reorder - SUBU $sp, SIZEOF_FRAME2 - .cprestore GP_OFF2 -$LCFI20: - REG_S $16, S0_OFF2($sp) # Save s0 - REG_S $fp, FP_OFF2($sp) # Save frame pointer - REG_S ra, RA_OFF2($sp) # Save return address -$LCFI21: - move $fp, $sp - -$LCFI22: - # Store all possible argument registers. If there are more than - # four arguments, then they are stored above where we put a3. - REG_S a0, A0_OFF2($fp) - REG_S a1, A1_OFF2($fp) - REG_S a2, A2_OFF2($fp) - REG_S a3, A3_OFF2($fp) - - # Load ABI enum to s0 - REG_L $16, 20($12) # cif pointer follows tramp. - REG_L $16, 0($16) # abi is first member. - - li $13, 1 # FFI_O32 - bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT - -#ifndef __mips_soft_float - # Store all possible float/double registers. - s.d $f12, FA_0_0_OFF2($fp) - s.d $f14, FA_1_0_OFF2($fp) -#endif -1: - # prepare arguments for ffi_closure_mips_inner_O32 - REG_L a0, 20($12) # cif pointer follows tramp. - REG_L a1, 24($12) # fun - REG_L a2, 28($12) # user_data - addu a3, $fp, V0_OFF2 # rvalue - - addu t9, $fp, A0_OFF2 # ar - REG_S t9, CALLED_A4_OFF2($fp) - - addu t9, $fp, FA_0_0_OFF2 #fpr - REG_S t9, CALLED_A5_OFF2($fp) - -$do_closure: - la t9, ffi_closure_mips_inner_O32 - # Call ffi_closure_mips_inner_O32 to do the work. - jalr t9 - - # Load the return value into the appropriate register. - move $8, $2 - li $9, FFI_TYPE_VOID - beq $8, $9, closure_done - - li $13, 1 # FFI_O32 - bne $16, $13, 1f # Skip fp restore if FFI_O32_SOFT_FLOAT - -#ifndef __mips_soft_float - li $9, FFI_TYPE_FLOAT - l.s $f0, V0_OFF2($fp) - beq $8, $9, closure_done - - li $9, FFI_TYPE_DOUBLE - l.d $f0, V0_OFF2($fp) - beq $8, $9, closure_done - - li $9, FFI_TYPE_COMPLEX - bne $8, $9, 1f - - li $9, 8 - l.s $f0, V0_OFF2($fp) - l.s $f2, V1_OFF2($fp) - beq $3, $9, closure_done - - li $9, 16 - l.d $f0, V0_OFF2($fp) - l.d $f2, (V0_OFF2+8)($fp) - beq $3, $9, closure_done -#endif -1: - REG_L $3, V1_OFF2($fp) - REG_L $2, V0_OFF2($fp) - -closure_done: - # Epilogue - move $sp, $fp - REG_L $16, S0_OFF2($sp) # Restore s0 - REG_L $fp, FP_OFF2($sp) # Restore frame pointer - REG_L ra, RA_OFF2($sp) # Restore return address - ADDU $sp, SIZEOF_FRAME2 - j ra -$LFE2: - .end ffi_closure_O32 - -/* DWARF-2 unwind info. */ - - .section .eh_frame,"a",@progbits -$Lframe0: - .4byte $LECIE0-$LSCIE0 # Length of Common Information Entry -$LSCIE0: - .4byte 0x0 # CIE Identifier Tag - .byte 0x1 # CIE Version - .ascii "zR\0" # CIE Augmentation - .uleb128 0x1 # CIE Code Alignment Factor - .sleb128 4 # CIE Data Alignment Factor - .byte 0x1f # CIE RA Column - .uleb128 0x1 # Augmentation size - .byte 0x00 # FDE Encoding (absptr) - .byte 0xc # DW_CFA_def_cfa - .uleb128 0x1d - .uleb128 0x0 - .align 2 -$LECIE0: - -$LSFDE0: - .4byte $LEFDE0-$LASFDE0 # FDE Length -$LASFDE0: - .4byte $LASFDE0-$Lframe0 # FDE CIE offset - .4byte $LFB0 # FDE initial location - .4byte $LFE0-$LFB0 # FDE address range - .uleb128 0x0 # Augmentation size - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI00-$LFB0 - .byte 0xe # DW_CFA_def_cfa_offset - .uleb128 0x18 - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI01-$LCFI00 - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x1e # $fp - .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp) - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x1f # $ra - .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp) - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI02-$LCFI01 - .byte 0xc # DW_CFA_def_cfa - .uleb128 0x1e - .uleb128 0x18 - .align 2 -$LEFDE0: - -$LSFDE1: - .4byte $LEFDE1-$LASFDE1 # FDE Length -$LASFDE1: - .4byte $LASFDE1-$Lframe0 # FDE CIE offset - .4byte $LFB1 # FDE initial location - .4byte $LFE1-$LFB1 # FDE address range - .uleb128 0x0 # Augmentation size - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI10-$LFB1 - .byte 0xe # DW_CFA_def_cfa_offset - .uleb128 SIZEOF_FRAME2 - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI11-$LCFI10 - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x10 # $16 - .sleb128 -3 # SIZEOF_FRAME2 - 3*FFI_SIZEOF_ARG($sp) - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x1e # $fp - .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp) - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x1f # $ra - .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp) - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI12-$LCFI11 - .byte 0xc # DW_CFA_def_cfa - .uleb128 0x1e - .uleb128 SIZEOF_FRAME2 - .align 2 -$LEFDE1: - -$LSFDE2: - .4byte $LEFDE2-$LASFDE2 # FDE Length -$LASFDE2: - .4byte $LASFDE2-$Lframe0 # FDE CIE offset - .4byte $LFB2 # FDE initial location - .4byte $LFE2-$LFB2 # FDE address range - .uleb128 0x0 # Augmentation size - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI20-$LFB2 - .byte 0xe # DW_CFA_def_cfa_offset - .uleb128 SIZEOF_FRAME2 - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI21-$LCFI20 - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x10 # $16 - .sleb128 -3 # SIZEOF_FRAME2 - 3*FFI_SIZEOF_ARG($sp) - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x1e # $fp - .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp) - .byte 0x11 # DW_CFA_offset_extended_sf - .uleb128 0x1f # $ra - .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp) - .byte 0x4 # DW_CFA_advance_loc4 - .4byte $LCFI22-$LCFI21 - .byte 0xc # DW_CFA_def_cfa - .uleb128 0x1e - .uleb128 SIZEOF_FRAME2 - .align 2 -$LEFDE2: - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/eabi.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/eabi.S deleted file mode 100644 index 10cfb04..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/eabi.S +++ /dev/null @@ -1,101 +0,0 @@ -/* ----------------------------------------------------------------------- - eabi.S - Copyright (c) 2012, 2013 Anthony Green - - Moxie Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .globl ffi_prep_args_EABI - - .text - .p2align 4 - .globl ffi_call_EABI - .type ffi_call_EABI, @function - - # $r0 : ffi_prep_args - # $r1 : &ecif - # $r2 : cif->bytes - # $r3 : fig->flags - # $r4 : ecif.rvalue - # $r5 : fn - -ffi_call_EABI: - push $sp, $r6 - push $sp, $r7 - push $sp, $r8 - dec $sp, 24 - - /* Store incoming args on stack. */ - sto.l 0($sp), $r0 /* ffi_prep_args */ - sto.l 4($sp), $r1 /* ecif */ - sto.l 8($sp), $r2 /* bytes */ - sto.l 12($sp), $r3 /* flags */ - sto.l 16($sp), $r4 /* &rvalue */ - sto.l 20($sp), $r5 /* fn */ - - /* Call ffi_prep_args. */ - mov $r6, $r4 /* Save result buffer */ - mov $r7, $r5 /* Save the target fn */ - mov $r8, $r3 /* Save the flags */ - sub $sp, $r2 /* Allocate stack space */ - mov $r0, $sp /* We can stomp over $r0 */ - /* $r1 is already set up */ - jsra ffi_prep_args - - /* Load register arguments. */ - ldo.l $r0, 0($sp) - ldo.l $r1, 4($sp) - ldo.l $r2, 8($sp) - ldo.l $r3, 12($sp) - ldo.l $r4, 16($sp) - ldo.l $r5, 20($sp) - - /* Call the target function. */ - jsr $r7 - - ldi.l $r7, 0xffffffff - cmp $r8, $r7 - beq retstruct - - ldi.l $r7, 4 - cmp $r8, $r7 - bgt ret2reg - - st.l ($r6), $r0 - jmpa retdone - -ret2reg: - st.l ($r6), $r0 - sto.l 4($r6), $r1 - -retstruct: -retdone: - /* Return. */ - ldo.l $r6, -4($fp) - ldo.l $r7, -8($fp) - ldo.l $r8, -12($fp) - ret - .size ffi_call_EABI, .-ffi_call_EABI - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffi.c deleted file mode 100644 index 99bcf40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffi.c +++ /dev/null @@ -1,310 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (C) 2012, 2013, 2018, 2021, 2022 Anthony Green - - Moxie Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -void *ffi_prep_args(char *stack, extended_cif *ecif) -{ - register unsigned int i; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - register int count = 0; - - p_argv = ecif->avalue; - argp = stack; - - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT) - { - *(void **) argp = ecif->rvalue; - argp += 4; - } - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - (i != 0); - i--, p_arg++) - { - size_t z; - - z = (*p_arg)->size; - - if ((*p_arg)->type == FFI_TYPE_STRUCT) - { - z = sizeof(void*); - *(void **) argp = *p_argv; - } - else if (z < sizeof(int)) - { - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - break; - - default: - FFI_ASSERT(0); - } - } - else if (z == sizeof(int)) - { - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - } - else - { - memcpy(argp, *p_argv, z); - } - p_argv++; - argp += z; - count += z; - } - - return (stack + ((count > 24) ? 24 : FFI_ALIGN_DOWN(count, 8))); -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - if (cif->rtype->type == FFI_TYPE_STRUCT) - cif->flags = -1; - else - cif->flags = cif->rtype->size; - - cif->bytes = FFI_ALIGN (cif->bytes, 8); - - return FFI_OK; -} - -extern void ffi_call_EABI(void *(*)(char *, extended_cif *), - extended_cif *, - unsigned, unsigned, - unsigned *, - void (*fn)(void)); - -void ffi_call(ffi_cif *cif, - void (*fn)(void), - void *rvalue, - void **avalue) -{ - extended_cif ecif; - ffi_type **arg_types = cif->arg_types; - int i, nargs = cif->nargs; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - - if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca(cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - for (i = 0; i < nargs; i++) - { - ffi_type *at = arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT) /* && size > 4) All struct args?? */ - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - - switch (cif->abi) - { - case FFI_EABI: - ffi_call_EABI(ffi_prep_args, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn); - break; - default: - FFI_ASSERT(0); - break; - } -} - -void ffi_closure_eabi (unsigned arg1, unsigned arg2, unsigned arg3, - unsigned arg4, unsigned arg5, unsigned arg6) -{ - /* This function is called by a trampoline. The trampoline stows a - pointer to the ffi_closure object in $r12. We must save this - pointer in a place that will persist while we do our work. */ - register ffi_closure *creg __asm__ ("$r12"); - ffi_closure *closure = creg; - - /* Arguments that don't fit in registers are found on the stack - at a fixed offset above the current frame pointer. */ - register char *frame_pointer __asm__ ("$fp"); - - /* Pointer to a struct return value. */ - void *struct_rvalue = (void *) arg1; - - /* 6 words reserved for register args + 3 words from jsr */ - char *stack_args = frame_pointer + 9*4; - - /* Lay the register arguments down in a continuous chunk of memory. */ - unsigned register_args[6] = - { arg1, arg2, arg3, arg4, arg5, arg6 }; - char *register_args_ptr = (char *) register_args; - - ffi_cif *cif = closure->cif; - ffi_type **arg_types = cif->arg_types; - void **avalue = alloca (cif->nargs * sizeof(void *)); - char *ptr = (char *) register_args; - int i; - - /* preserve struct type return pointer passing */ - if ((cif->rtype != NULL) && (cif->rtype->type == FFI_TYPE_STRUCT)) { - ptr += 4; - register_args_ptr = (char *)®ister_args[1]; - } - - /* Find the address of each argument. */ - for (i = 0; i < cif->nargs; i++) - { - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = ptr + 3; - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = ptr + 2; - break; - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - case FFI_TYPE_POINTER: - avalue[i] = ptr; - break; - case FFI_TYPE_STRUCT: - { - if (arg_types[i]->size > 4) - { - void *copy = alloca(arg_types[i]->size); - memcpy(copy, *(void**)ptr, arg_types[i]->size); - avalue[i] = copy; - } - else - avalue[i] = *(void**)ptr; - } - break; - default: - /* This is an 8-byte value. */ - if (ptr == (char *) ®ister_args[5]) - { - /* The value is split across two locations */ - unsigned *ip = alloca(8); - avalue[i] = ip; - ip[0] = *(unsigned *) ptr; - ip[1] = *(unsigned *) stack_args; - } - else - { - avalue[i] = ptr; - } - ptr += 4; - break; - } - ptr += 4; - - /* If we've handled more arguments than fit in registers, - start looking at the those passed on the stack. */ - if (ptr == (char *) ®ister_args[6]) - ptr = stack_args; - else if (ptr == (char *) ®ister_args[7]) - ptr = stack_args + 4; - } - - /* Invoke the closure. */ - if (cif->rtype && (cif->rtype->type == FFI_TYPE_STRUCT)) - { - (closure->fun) (cif, struct_rvalue, avalue, closure->user_data); - } - else - { - /* Allocate space for the return value and call the function. */ - long long rvalue; - (closure->fun) (cif, &rvalue, avalue, closure->user_data); - asm ("mov $r12, %0\n ld.l $r0, ($r12)\n ldo.l $r1, 4($r12)" : : "r" (&rvalue)); - } -} - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned short *tramp = (unsigned short *) &closure->tramp[0]; - unsigned long fn = (long) ffi_closure_eabi; - unsigned long cls = (long) codeloc; - - if (cif->abi != FFI_EABI) - return FFI_BAD_ABI; - - fn = (unsigned long) ffi_closure_eabi; - - tramp[0] = 0x01e0; /* ldi.l $r12, .... */ - tramp[1] = cls >> 16; - tramp[2] = cls & 0xffff; - tramp[3] = 0x1a00; /* jmpa .... */ - tramp[4] = fn >> 16; - tramp[5] = fn & 0xffff; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffitarget.h deleted file mode 100644 index 623e3ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffitarget.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012, 2013 Anthony Green - Target configuration macros for Moxie - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -/* ---- System specific configurations ----------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_EABI, - FFI_DEFAULT_ABI = FFI_EABI, - FFI_LAST_ABI = FFI_DEFAULT_ABI + 1 -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -/* Trampolines are 12-bytes long. See ffi_prep_closure_loc. */ -#define FFI_TRAMPOLINE_SIZE (12) - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffi.c deleted file mode 100644 index 721080d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffi.c +++ /dev/null @@ -1,304 +0,0 @@ -/* libffi support for Altera Nios II. - - Copyright (c) 2013 Mentor Graphics. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - - -#include -#include - -#include - -/* The Nios II Processor Reference Handbook defines the procedure call - ABI as follows. - - Arguments are passed as if a structure containing the types of - the arguments were constructed. The first 16 bytes are passed in r4 - through r7, the remainder on the stack. The first 16 bytes of a function - taking variable arguments are passed in r4-r7 in the same way. - - Return values of types up to 8 bytes are returned in r2 and r3. For - return values greater than 8 bytes, the caller must allocate memory for - the result and pass the address as if it were argument 0. - - While this isn't specified explicitly in the ABI documentation, GCC - promotes integral arguments smaller than int size to 32 bits. - - Also of note, the ABI specifies that all structure objects are - aligned to 32 bits even if all their fields have a smaller natural - alignment. See FFI_AGGREGATE_ALIGNMENT. */ - - -/* Declare the assembly language hooks. */ - -extern UINT64 ffi_call_sysv (void (*) (char *, extended_cif *), - extended_cif *, - unsigned, - void (*fn) (void)); -extern void ffi_closure_sysv (void); - -/* Perform machine-dependent cif processing. */ - -ffi_status ffi_prep_cif_machdep (ffi_cif *cif) -{ - /* We always want at least 16 bytes in the parameter block since it - simplifies the low-level call function. Also round the parameter - block size up to a multiple of 4 bytes to preserve - 32-bit alignment of the stack pointer. */ - if (cif->bytes < 16) - cif->bytes = 16; - else - cif->bytes = (cif->bytes + 3) & ~3; - - return FFI_OK; -} - - -/* ffi_prep_args is called by the assembly routine to transfer arguments - to the stack using the pointers in the ecif array. - Note that the stack buffer is big enough to fit all the arguments, - but the first 16 bytes will be copied to registers for the actual - call. */ - -void ffi_prep_args (char *stack, extended_cif *ecif) -{ - char *argp = stack; - unsigned int i; - - /* The implicit return value pointer is passed as if it were a hidden - first argument. */ - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT - && ecif->cif->rtype->size > 8) - { - (*(void **) argp) = ecif->rvalue; - argp += 4; - } - - for (i = 0; i < ecif->cif->nargs; i++) - { - void *avalue = ecif->avalue[i]; - ffi_type *atype = ecif->cif->arg_types[i]; - size_t size = atype->size; - size_t alignment = atype->alignment; - - /* Align argp as appropriate for the argument type. */ - if ((alignment - 1) & (unsigned) argp) - argp = (char *) FFI_ALIGN (argp, alignment); - - /* Copy the argument, promoting integral types smaller than a - word to word size. */ - if (size < sizeof (int)) - { - size = sizeof (int); - switch (atype->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int) *(SINT8 *) avalue; - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int) *(UINT8 *) avalue; - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int) *(SINT16 *) avalue; - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int) *(UINT16 *) avalue; - break; - - case FFI_TYPE_STRUCT: - memcpy (argp, avalue, atype->size); - break; - - default: - FFI_ASSERT(0); - } - } - else if (size == sizeof (int)) - *(unsigned int *) argp = (unsigned int) *(UINT32 *) avalue; - else - memcpy (argp, avalue, size); - argp += size; - } -} - - -/* Call FN using the prepared CIF. RVALUE points to space allocated by - the caller for the return value, and AVALUE is an array of argument - pointers. */ - -void ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - - extended_cif ecif; - UINT64 result; - - /* If bigret is true, this is the case where a return value of larger - than 8 bytes is handled by being passed by reference as an implicit - argument. */ - int bigret = (cif->rtype->type == FFI_TYPE_STRUCT - && cif->rtype->size > 8); - - ecif.cif = cif; - ecif.avalue = avalue; - - /* Allocate space for return value if this is the pass-by-reference case - and the caller did not provide a buffer. */ - if (rvalue == NULL && bigret) - ecif.rvalue = alloca (cif->rtype->size); - else - ecif.rvalue = rvalue; - - result = ffi_call_sysv (ffi_prep_args, &ecif, cif->bytes, fn); - - /* Now result contains the 64 bit contents returned from fn in - r2 and r3. Copy the value of the appropriate size to the user-provided - rvalue buffer. */ - if (rvalue && !bigret) - switch (cif->rtype->size) - { - case 1: - *(UINT8 *)rvalue = (UINT8) result; - break; - case 2: - *(UINT16 *)rvalue = (UINT16) result; - break; - case 4: - *(UINT32 *)rvalue = (UINT32) result; - break; - case 8: - *(UINT64 *)rvalue = (UINT64) result; - break; - default: - memcpy (rvalue, (void *)&result, cif->rtype->size); - break; - } -} - -/* This function is invoked from the closure trampoline to invoke - CLOSURE with argument block ARGS. Parse ARGS according to - CLOSURE->cfi and invoke CLOSURE->fun. */ - -static UINT64 -ffi_closure_helper (unsigned char *args, - ffi_closure *closure) -{ - ffi_cif *cif = closure->cif; - unsigned char *argp = args; - void **parsed_args = alloca (cif->nargs * sizeof (void *)); - UINT64 result; - void *retptr; - unsigned int i; - - /* First figure out what to do about the return type. If this is the - big-structure-return case, the first arg is the hidden return buffer - allocated by the caller. */ - if (cif->rtype->type == FFI_TYPE_STRUCT - && cif->rtype->size > 8) - { - retptr = *((void **) argp); - argp += 4; - } - else - retptr = (void *) &result; - - /* Fill in the array of argument pointers. */ - for (i = 0; i < cif->nargs; i++) - { - size_t size = cif->arg_types[i]->size; - size_t alignment = cif->arg_types[i]->alignment; - - /* Align argp as appropriate for the argument type. */ - if ((alignment - 1) & (unsigned) argp) - argp = (char *) FFI_ALIGN (argp, alignment); - - /* Arguments smaller than an int are promoted to int. */ - if (size < sizeof (int)) - size = sizeof (int); - - /* Store the pointer. */ - parsed_args[i] = argp; - argp += size; - } - - /* Call the user-supplied function. */ - (closure->fun) (cif, retptr, parsed_args, closure->user_data); - return result; -} - - -/* Initialize CLOSURE with a trampoline to call FUN with - CIF and USER_DATA. */ -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun) (ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp = (unsigned int *) &closure->tramp[0]; - int i; - - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - /* The trampoline looks like: - movhi r8, %hi(ffi_closure_sysv) - ori r8, r8, %lo(ffi_closure_sysv) - movhi r9, %hi(ffi_closure_helper) - ori r0, r9, %lo(ffi_closure_helper) - movhi r10, %hi(closure) - ori r10, r10, %lo(closure) - jmp r8 - and then ffi_closure_sysv retrieves the closure pointer out of r10 - in addition to the arguments passed in the normal way for the call, - and invokes ffi_closure_helper. We encode the pointer to - ffi_closure_helper in the trampoline because making a PIC call - to it in ffi_closure_sysv would be messy (it would have to indirect - through the GOT). */ - -#define HI(x) ((((unsigned int) (x)) >> 16) & 0xffff) -#define LO(x) (((unsigned int) (x)) & 0xffff) - tramp[0] = (0 << 27) | (8 << 22) | (HI (ffi_closure_sysv) << 6) | 0x34; - tramp[1] = (8 << 27) | (8 << 22) | (LO (ffi_closure_sysv) << 6) | 0x14; - tramp[2] = (0 << 27) | (9 << 22) | (HI (ffi_closure_helper) << 6) | 0x34; - tramp[3] = (9 << 27) | (9 << 22) | (LO (ffi_closure_helper) << 6) | 0x14; - tramp[4] = (0 << 27) | (10 << 22) | (HI (closure) << 6) | 0x34; - tramp[5] = (10 << 27) | (10 << 22) | (LO (closure) << 6) | 0x14; - tramp[6] = (8 << 27) | (0x0d << 11) | 0x3a; -#undef HI -#undef LO - - /* Flush the caches. - See Example 9-4 in the Nios II Software Developer's Handbook. */ - for (i = 0; i < 7; i++) - asm volatile ("flushd 0(%0); flushi %0" :: "r"(tramp + i) : "memory"); - asm volatile ("flushp" ::: "memory"); - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffitarget.h deleted file mode 100644 index 134d118..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffitarget.h +++ /dev/null @@ -1,52 +0,0 @@ -/* libffi target includes for Altera Nios II. - - Copyright (c) 2013 Mentor Graphics. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -/* Structures have a 4-byte alignment even if all the fields have lesser - alignment requirements. */ -#define FFI_AGGREGATE_ALIGNMENT 4 - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 28 /* 7 instructions */ -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/sysv.S deleted file mode 100644 index 75f442b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/sysv.S +++ /dev/null @@ -1,136 +0,0 @@ -/* Low-level libffi support for Altera Nios II. - - Copyright (c) 2013 Mentor Graphics. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -/* This function is declared on the C side as - - extern UINT64 ffi_call_sysv (void (*arghook) (char *, extended_cif *), - extended_cif *ecif, - unsigned nbytes, - void (*fn) (void)); - - On input, the arguments appear as - r4 = arghook - r5 = ecif - r6 = nbytes - r7 = fn -*/ - - .section .text - .align 2 - .global ffi_call_sysv - .type ffi_call_sysv, @function - -ffi_call_sysv: - .cfi_startproc - - /* Create the stack frame, saving r16 so we can use it locally. */ - addi sp, sp, -12 - .cfi_def_cfa_offset 12 - stw ra, 8(sp) - stw fp, 4(sp) - stw r16, 0(sp) - .cfi_offset 31, -4 - .cfi_offset 28, -8 - .cfi_offset 16, -12 - mov fp, sp - .cfi_def_cfa_register 28 - mov r16, r7 - - /* Adjust the stack pointer to create the argument buffer - nbytes long. */ - sub sp, sp, r6 - - /* Call the arghook function. */ - mov r2, r4 /* fn */ - mov r4, sp /* argbuffer */ - callr r2 /* r5 already contains ecif */ - - /* Pop off the first 16 bytes of the argument buffer on the stack, - transferring the contents to the argument registers. */ - ldw r4, 0(sp) - ldw r5, 4(sp) - ldw r6, 8(sp) - ldw r7, 12(sp) - addi sp, sp, 16 - - /* Call the user function, which leaves its result in r2 and r3. */ - callr r16 - - /* Pop off the stack frame. */ - mov sp, fp - ldw ra, 8(sp) - ldw fp, 4(sp) - ldw r16, 0(sp) - addi sp, sp, 12 - ret - .cfi_endproc - .size ffi_call_sysv, .-ffi_call_sysv - - -/* Closure trampolines jump here after putting the C helper address - in r9 and the closure pointer in r10. The user-supplied arguments - to the closure are in the normal places, in r4-r7 and on the - stack. Push the register arguments on the stack too and then call the - C helper function to deal with them. */ - - .section .text - .align 2 - .global ffi_closure_sysv - .type ffi_closure_sysv, @function - -ffi_closure_sysv: - .cfi_startproc - - /* Create the stack frame, pushing the register args on the stack - just below the stack args. This is the same trick illustrated - in Figure 7-3 in the Nios II Processor Reference Handbook, used - for variable arguments and structures passed by value. */ - addi sp, sp, -20 - .cfi_def_cfa_offset 20 - stw ra, 0(sp) - .cfi_offset 31, -20 - stw r4, 4(sp) - .cfi_offset 4, -16 - stw r5, 8(sp) - .cfi_offset 5, -12 - stw r6, 12(sp) - .cfi_offset 6, -8 - stw r7, 16(sp) - .cfi_offset 7, -4 - - /* Call the helper. - r4 = pointer to arguments on stack - r5 = closure pointer (loaded in r10 by the trampoline) - r9 = address of helper function (loaded by trampoline) */ - addi r4, sp, 4 - mov r5, r10 - callr r9 - - /* Pop the stack and return. */ - ldw ra, 0(sp) - addi sp, sp, 20 - .cfi_def_cfa_offset -20 - ret - .cfi_endproc - .size ffi_closure_sysv, .-ffi_closure_sysv - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffi.c deleted file mode 100644 index 9451d4e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffi.c +++ /dev/null @@ -1,341 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2014 Sebastian Macke - - OpenRISC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include "ffi_common.h" - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -void* ffi_prep_args(char *stack, extended_cif *ecif) -{ - char *stacktemp = stack; - int i, s; - ffi_type **arg; - int count = 0; - int nfixedargs; - - nfixedargs = ecif->cif->nfixedargs; - arg = ecif->cif->arg_types; - void **argv = ecif->avalue; - - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT) - { - *(void **) stack = ecif->rvalue; - stack += 4; - count = 4; - } - for(i=0; icif->nargs; i++) - { - - /* variadic args are saved on stack */ - if ((nfixedargs == 0) && (count < 24)) - { - count = 24; - stack = stacktemp + 24; - } - nfixedargs--; - - s = 4; - switch((*arg)->type) - { - case FFI_TYPE_STRUCT: - *(void **)stack = *argv; - break; - - case FFI_TYPE_SINT8: - *(signed int *) stack = (signed int)*(SINT8 *)(* argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) stack = (unsigned int)*(UINT8 *)(* argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) stack = (signed int)*(SINT16 *)(* argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) stack = (unsigned int)*(UINT16 *)(* argv); - break; - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - case FFI_TYPE_POINTER: - *(int *)stack = *(int*)(*argv); - break; - - default: /* 8 byte types */ - if (count == 20) /* never split arguments */ - { - stack += 4; - count += 4; - } - s = (*arg)->size; - memcpy(stack, *argv, s); - break; - } - - stack += s; - count += s; - argv++; - arg++; - } - return stacktemp + ((count>24)?24:0); -} - -extern void ffi_call_SYSV(unsigned, - extended_cif *, - void *(*)(int *, extended_cif *), - unsigned *, - void (*fn)(void), - unsigned); - - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - int i; - int size; - ffi_type **arg; - - /* Calculate size to allocate on stack */ - - for(i = 0, arg = cif->arg_types, size=0; i < cif->nargs; i++, arg++) - { - if ((*arg)->type == FFI_TYPE_STRUCT) - size += 4; - else - if ((*arg)->size <= 4) - size += 4; - else - size += 8; - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - { - ffi_type *at = cif->arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT) /* && size > 4) All struct args? */ - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - } - - /* for variadic functions more space is needed on the stack */ - if (cif->nargs != cif->nfixedargs) - size += 24; - - if (cif->rtype->type == FFI_TYPE_STRUCT) - size += 4; - - - extended_cif ecif; - ecif.cif = cif; - ecif.avalue = avalue; - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV(size, &ecif, ffi_prep_args, rvalue, fn, cif->flags); - break; - default: - FFI_ASSERT(0); - break; - } -} - - -void ffi_closure_SYSV(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7, unsigned long r8) -{ - register int *sp __asm__ ("r17"); - register int *r13 __asm__ ("r13"); - - ffi_closure* closure = (ffi_closure*) r13; - char *stack_args = sp; - - /* Lay the register arguments down in a continuous chunk of memory. */ - unsigned register_args[6] = - { r3, r4, r5, r6, r7, r8 }; - - /* Pointer to a struct return value. */ - void *struct_rvalue = (void *) r3; - - ffi_cif *cif = closure->cif; - ffi_type **arg_types = cif->arg_types; - void **avalue = alloca (cif->nargs * sizeof(void *)); - char *ptr = (char *) register_args; - int count = 0; - int nfixedargs = cif->nfixedargs; - int i; - - /* preserve struct type return pointer passing */ - - if ((cif->rtype != NULL) && (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ptr += 4; - count = 4; - } - - /* Find the address of each argument. */ - for (i = 0; i < cif->nargs; i++) - { - - /* variadic args are saved on stack */ - if ((nfixedargs == 0) && (count < 24)) - { - ptr = stack_args; - count = 24; - } - nfixedargs--; - - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = ptr + 3; - break; - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = ptr + 2; - break; - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - case FFI_TYPE_POINTER: - avalue[i] = ptr; - break; - - case FFI_TYPE_STRUCT: - avalue[i] = *(void**)ptr; - break; - - default: - /* 8-byte values */ - - /* arguments are never splitted */ - if (ptr == ®ister_args[5]) - ptr = stack_args; - avalue[i] = ptr; - ptr += 4; - count += 4; - break; - } - ptr += 4; - count += 4; - - /* If we've handled more arguments than fit in registers, - start looking at the those passed on the stack. */ - - if (count == 24) - ptr = stack_args; - } - - if (cif->rtype && (cif->rtype->type == FFI_TYPE_STRUCT)) - { - (closure->fun) (cif, struct_rvalue, avalue, closure->user_data); - } else - { - long long rvalue; - (closure->fun) (cif, &rvalue, avalue, closure->user_data); - if (cif->rtype) - asm ("l.ori r12, %0, 0x0\n l.lwz r11, 0(r12)\n l.lwz r12, 4(r12)" : : "r" (&rvalue)); - } -} - - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - unsigned short *tramp = (unsigned short *) closure->tramp; - unsigned long fn = (unsigned long) ffi_closure_SYSV; - unsigned long cls = (unsigned long) codeloc; - - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - /* write pointers to temporary registers */ - tramp[0] = (0x6 << 10) | (13 << 5); /* l.movhi r13, ... */ - tramp[1] = cls >> 16; - tramp[2] = (0x2a << 10) | (13 << 5) | 13; /* l.ori r13, r13, ... */ - tramp[3] = cls & 0xFFFF; - - tramp[4] = (0x6 << 10) | (15 << 5); /* l.movhi r15, ... */ - tramp[5] = fn >> 16; - tramp[6] = (0x2a << 10) | (15 << 5) | 15; /* l.ori r15, r15 ... */ - tramp[7] = fn & 0xFFFF; - - tramp[8] = (0x11 << 10); /* l.jr r15 */ - tramp[9] = 15 << 11; - - tramp[10] = (0x2a << 10) | (17 << 5) | 1; /* l.ori r17, r1, ... */ - tramp[11] = 0x0; - - return FFI_OK; -} - - -ffi_status ffi_prep_cif_machdep (ffi_cif *cif) -{ - cif->flags = 0; - - /* structures are returned as pointers */ - if (cif->rtype->type == FFI_TYPE_STRUCT) - cif->flags = FFI_TYPE_STRUCT; - else - if (cif->rtype->size > 4) - cif->flags = FFI_TYPE_UINT64; - - cif->nfixedargs = cif->nargs; - - return FFI_OK; -} - - -ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, - unsigned int nfixedargs, unsigned int ntotalargs) -{ - ffi_status status; - - status = ffi_prep_cif_machdep (cif); - cif->nfixedargs = nfixedargs; - return status; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffitarget.h deleted file mode 100644 index e55da28..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffitarget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* ----------------------------------------------------------------------- - ffitarget.h - Copyright (c) 2014 Sebastian Macke - - OpenRISC Target configuration macros - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 -#define FFI_TRAMPOLINE_SIZE (24) - -#define FFI_TARGET_SPECIFIC_VARIADIC 1 -#define FFI_EXTRA_CIF_FIELDS unsigned nfixedargs; - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/sysv.S deleted file mode 100644 index df6570b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/sysv.S +++ /dev/null @@ -1,107 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2014 Sebastian Macke - - OpenRISC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -.text - .globl ffi_call_SYSV - .type ffi_call_SYSV, @function -/* - r3: size to allocate on stack - r4: extended cif structure - r5: function pointer ffi_prep_args - r6: ret address - r7: function to call - r8: flag for return type -*/ - -ffi_call_SYSV: - /* Store registers used on stack */ - l.sw -4(r1), r9 /* return address */ - l.sw -8(r1), r1 /* stack address */ - l.sw -12(r1), r14 /* callee saved registers */ - l.sw -16(r1), r16 - l.sw -20(r1), r18 - l.sw -24(r1), r20 - - l.ori r14, r1, 0x0 /* save stack pointer */ - l.addi r1, r1, -24 - - l.ori r16, r7, 0x0 /* save function address */ - l.ori r18, r6, 0x0 /* save ret address */ - l.ori r20, r8, 0x0 /* save flag */ - - l.sub r1, r1, r3 /* reserve space on stack */ - - /* Call ffi_prep_args */ - l.ori r3, r1, 0x0 /* first argument stack address, second already ecif */ - l.jalr r5 - l.nop - - /* Load register arguments and call*/ - - l.lwz r3, 0(r1) - l.lwz r4, 4(r1) - l.lwz r5, 8(r1) - l.lwz r6, 12(r1) - l.lwz r7, 16(r1) - l.lwz r8, 20(r1) - l.ori r1, r11, 0x0 /* new stack pointer */ - l.jalr r16 - l.nop - - /* handle return values */ - - l.sfeqi r20, FFI_TYPE_STRUCT - l.bf ret /* structs don't return an rvalue */ - l.nop - - /* copy ret address */ - - l.sfeqi r20, FFI_TYPE_UINT64 - l.bnf four_byte_ret /* 8 byte value is returned */ - l.nop - - l.sw 4(r18), r12 - -four_byte_ret: - l.sw 0(r18), r11 - -ret: - /* return */ - l.ori r1, r14, 0x0 /* reset stack pointer */ - l.lwz r9, -4(r1) - l.lwz r1, -8(r1) - l.lwz r14, -12(r1) - l.lwz r16, -16(r1) - l.lwz r18, -20(r1) - l.lwz r20, -24(r1) - l.jr r9 - l.nop - -.size ffi_call_SYSV, .-ffi_call_SYSV diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi.c deleted file mode 100644 index f601239..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi.c +++ /dev/null @@ -1,673 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - (c) 2011 Anthony Green - (c) 2008 Red Hat, Inc. - (c) 2006 Free Software Foundation, Inc. - (c) 2003-2004 Randolph Chung - - HPPA Foreign Function Interface - HP-UX PA ABI support - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include - -#define ROUND_UP(v, a) (((size_t)(v) + (a) - 1) & ~((a) - 1)) - -#define MIN_STACK_SIZE 64 -#define FIRST_ARG_SLOT 9 -#define DEBUG_LEVEL 0 - -#define fldw(addr, fpreg) \ - __asm__ volatile ("fldw 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg) -#define fstw(fpreg, addr) \ - __asm__ volatile ("fstw %%" #fpreg "L, 0(%0)" : : "r"(addr)) -#define fldd(addr, fpreg) \ - __asm__ volatile ("fldd 0(%0), %%" #fpreg : : "r"(addr) : #fpreg) -#define fstd(fpreg, addr) \ - __asm__ volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr)) - -#define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) - -static inline int ffi_struct_type(ffi_type *t) -{ - size_t sz = t->size; - - /* Small structure results are passed in registers, - larger ones are passed by pointer. Note that small - structures differ from the corresponding integer - types in that they have different alignment requirements. */ - - if (sz <= 8) - return -sz; - else - return FFI_TYPE_STRUCT; /* else, we pass it by pointer. */ -} - -/* PA has a downward growing stack, which looks like this: - - Offset - [ Variable args ] - SP = (4*(n+9)) arg word N - ... - SP-52 arg word 4 - [ Fixed args ] - SP-48 arg word 3 - SP-44 arg word 2 - SP-40 arg word 1 - SP-36 arg word 0 - [ Frame marker ] - ... - SP-20 RP - SP-4 previous SP - - The first four argument words on the stack are reserved for use by - the callee. Instead, the general and floating registers replace - the first four argument slots. Non FP arguments are passed solely - in the general registers. FP arguments are passed in both general - and floating registers when using libffi. - - Non-FP 32-bit args are passed in gr26, gr25, gr24 and gr23. - Non-FP 64-bit args are passed in register pairs, starting - on an odd numbered register (i.e. r25+r26 and r23+r24). - FP 32-bit arguments are passed in fr4L, fr5L, fr6L and fr7L. - FP 64-bit arguments are passed in fr5 and fr7. - - The registers are allocated in the same manner as stack slots. - This allows the callee to save its arguments on the stack if - necessary: - - arg word 3 -> gr23 or fr7L - arg word 2 -> gr24 or fr6L or fr7R - arg word 1 -> gr25 or fr5L - arg word 0 -> gr26 or fr4L or fr5R - - Note that fr4R and fr6R are never used for arguments (i.e., - doubles are not passed in fr4 or fr6). - - The rest of the arguments are passed on the stack starting at SP-52, - but 64-bit arguments need to be aligned to an 8-byte boundary - - This means we can have holes either in the register allocation, - or in the stack. */ - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments - - The following code will put everything into the stack frame - (which was allocated by the asm routine), and on return - the asm routine will load the arguments that should be - passed by register into the appropriate registers - - NOTE: We load floating point args in this function... that means we - assume gcc will not mess with fp regs in here. */ - -void ffi_prep_args_pa32(UINT32 *stack, extended_cif *ecif, unsigned bytes) -{ - register unsigned int i; - register ffi_type **p_arg; - register void **p_argv; - unsigned int slot = FIRST_ARG_SLOT; - char *dest_cpy; - size_t len; - - debug(1, "%s: stack = %p, ecif = %p, bytes = %u\n", __FUNCTION__, stack, - ecif, bytes); - - p_arg = ecif->cif->arg_types; - p_argv = ecif->avalue; - - for (i = 0; i < ecif->cif->nargs; i++) - { - int type = (*p_arg)->type; - - switch (type) - { - case FFI_TYPE_SINT8: - *(SINT32 *)(stack - slot) = *(SINT8 *)(*p_argv); - break; - - case FFI_TYPE_UINT8: - *(UINT32 *)(stack - slot) = *(UINT8 *)(*p_argv); - break; - - case FFI_TYPE_SINT16: - *(SINT32 *)(stack - slot) = *(SINT16 *)(*p_argv); - break; - - case FFI_TYPE_UINT16: - *(UINT32 *)(stack - slot) = *(UINT16 *)(*p_argv); - break; - - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - debug(3, "Storing UINT32 %u in slot %u\n", *(UINT32 *)(*p_argv), - slot); - *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv); - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - /* Align slot for 64-bit type. */ - slot += (slot & 1) ? 1 : 2; - *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv); - break; - - case FFI_TYPE_FLOAT: - /* First 4 args go in fr4L - fr7L. */ - debug(3, "Storing UINT32(float) in slot %u\n", slot); - *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv); - switch (slot - FIRST_ARG_SLOT) - { - /* First 4 args go in fr4L - fr7L. */ - case 0: fldw(stack - slot, fr4); break; - case 1: fldw(stack - slot, fr5); break; - case 2: fldw(stack - slot, fr6); break; - case 3: fldw(stack - slot, fr7); break; - } - break; - - case FFI_TYPE_DOUBLE: - /* Align slot for 64-bit type. */ - slot += (slot & 1) ? 1 : 2; - debug(3, "Storing UINT64(double) at slot %u\n", slot); - *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv); - switch (slot - FIRST_ARG_SLOT) - { - /* First 2 args go in fr5, fr7. */ - case 1: fldd(stack - slot, fr5); break; - case 3: fldd(stack - slot, fr7); break; - } - break; - -#ifdef PA_HPUX - case FFI_TYPE_LONGDOUBLE: - /* Long doubles are passed in the same manner as structures - larger than 8 bytes. */ - *(UINT32 *)(stack - slot) = (UINT32)(*p_argv); - break; -#endif - - case FFI_TYPE_STRUCT: - - /* Structs smaller or equal than 4 bytes are passed in one - register. Structs smaller or equal 8 bytes are passed in two - registers. Larger structures are passed by pointer. */ - - len = (*p_arg)->size; - if (len <= 4) - { - dest_cpy = (char *)(stack - slot) + 4 - len; - memcpy(dest_cpy, (char *)*p_argv, len); - } - else if (len <= 8) - { - slot += (slot & 1) ? 1 : 2; - dest_cpy = (char *)(stack - slot) + 8 - len; - memcpy(dest_cpy, (char *)*p_argv, len); - } - else - *(UINT32 *)(stack - slot) = (UINT32)(*p_argv); - break; - - default: - FFI_ASSERT(0); - } - - slot++; - p_arg++; - p_argv++; - } - - /* Make sure we didn't mess up and scribble on the stack. */ - { - unsigned int n; - - debug(5, "Stack setup:\n"); - for (n = 0; n < (bytes + 3) / 4; n++) - { - if ((n%4) == 0) { debug(5, "\n%08x: ", (unsigned int)(stack - n)); } - debug(5, "%08x ", *(stack - n)); - } - debug(5, "\n"); - } - - FFI_ASSERT(slot * 4 <= bytes); - - return; -} - -static void ffi_size_stack_pa32(ffi_cif *cif) -{ - ffi_type **ptr; - int i; - int z = 0; /* # stack slots */ - - for (ptr = cif->arg_types, i = 0; i < cif->nargs; ptr++, i++) - { - int type = (*ptr)->type; - - switch (type) - { - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - z += 2 + (z & 1); /* must start on even regs, so we may waste one */ - break; - -#ifdef PA_HPUX - case FFI_TYPE_LONGDOUBLE: -#endif - case FFI_TYPE_STRUCT: - z += 1; /* pass by ptr, callee will copy */ - break; - - default: /* <= 32-bit values */ - z++; - } - } - - /* We can fit up to 6 args in the default 64-byte stack frame, - if we need more, we need more stack. */ - if (z <= 6) - cif->bytes = MIN_STACK_SIZE; /* min stack size */ - else - cif->bytes = 64 + ROUND_UP((z - 6) * sizeof(UINT32), MIN_STACK_SIZE); - - debug(3, "Calculated stack size is %u bytes\n", cif->bytes); -} - -/* Perform machine dependent cif processing. */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - cif->flags = (unsigned) cif->rtype->type; - break; - -#ifdef PA_HPUX - case FFI_TYPE_LONGDOUBLE: - /* Long doubles are treated like a structure. */ - cif->flags = FFI_TYPE_STRUCT; - break; -#endif - - case FFI_TYPE_STRUCT: - /* For the return type we have to check the size of the structures. - If the size is smaller or equal 4 bytes, the result is given back - in one register. If the size is smaller or equal 8 bytes than we - return the result in two registers. But if the size is bigger than - 8 bytes, we work with pointers. */ - cif->flags = ffi_struct_type(cif->rtype); - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - cif->flags = FFI_TYPE_UINT64; - break; - - default: - cif->flags = FFI_TYPE_INT; - break; - } - - /* Lucky us, because of the unique PA ABI we get to do our - own stack sizing. */ - switch (cif->abi) - { - case FFI_PA32: - ffi_size_stack_pa32(cif); - break; - - default: - FFI_ASSERT(0); - break; - } - - return FFI_OK; -} - -extern void ffi_call_pa32(void (*)(UINT32 *, extended_cif *, unsigned), - extended_cif *, unsigned, unsigned, unsigned *, - void (*fn)(void)); - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - size_t i, nargs = cif->nargs; - ffi_type **arg_types = cif->arg_types; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - for (i = 0; i < nargs; i++) - { - ffi_type *at = arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT && size > 8) - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - - /* If the return value is a struct and we don't have a return - value address then we need to make one. */ - - if (rvalue == NULL -#ifdef PA_HPUX - && (cif->rtype->type == FFI_TYPE_STRUCT - || cif->rtype->type == FFI_TYPE_LONGDOUBLE)) -#else - && cif->rtype->type == FFI_TYPE_STRUCT) -#endif - { - ecif.rvalue = alloca(cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - - switch (cif->abi) - { - case FFI_PA32: - debug(3, "Calling ffi_call_pa32: ecif=%p, bytes=%u, flags=%u, rvalue=%p, fn=%p\n", &ecif, cif->bytes, cif->flags, ecif.rvalue, (void *)fn); - ffi_call_pa32(ffi_prep_args_pa32, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn); - break; - - default: - FFI_ASSERT(0); - break; - } -} - -#if FFI_CLOSURES -/* This is more-or-less an inverse of ffi_call -- we have arguments on - the stack, and we need to fill them into a cif structure and invoke - the user function. This really ought to be in asm to make sure - the compiler doesn't do things we don't expect. */ -ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack) -{ - ffi_cif *cif; - void **avalue; - void *rvalue; - /* Functions can return up to 64-bits in registers. Return address - must be double word aligned. */ - union { double rd; UINT32 ret[2]; } u; - ffi_type **p_arg; - char *tmp; - int i, avn; - unsigned int slot = FIRST_ARG_SLOT; - register UINT32 r28 asm("r28"); - - cif = closure->cif; - - /* If returning via structure, callee will write to our pointer. */ - if (cif->flags == FFI_TYPE_STRUCT) - rvalue = (void *)r28; - else - rvalue = &u; - - avalue = (void **)alloca(cif->nargs * FFI_SIZEOF_ARG); - avn = cif->nargs; - p_arg = cif->arg_types; - - for (i = 0; i < avn; i++) - { - int type = (*p_arg)->type; - - switch (type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - avalue[i] = (char *)(stack - slot) + sizeof(UINT32) - (*p_arg)->size; - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - slot += (slot & 1) ? 1 : 2; - avalue[i] = (void *)(stack - slot); - break; - - case FFI_TYPE_FLOAT: -#ifdef PA_LINUX - /* The closure call is indirect. In Linux, floating point - arguments in indirect calls with a prototype are passed - in the floating point registers instead of the general - registers. So, we need to replace what was previously - stored in the current slot with the value in the - corresponding floating point register. */ - switch (slot - FIRST_ARG_SLOT) - { - case 0: fstw(fr4, (void *)(stack - slot)); break; - case 1: fstw(fr5, (void *)(stack - slot)); break; - case 2: fstw(fr6, (void *)(stack - slot)); break; - case 3: fstw(fr7, (void *)(stack - slot)); break; - } -#endif - avalue[i] = (void *)(stack - slot); - break; - - case FFI_TYPE_DOUBLE: - slot += (slot & 1) ? 1 : 2; -#ifdef PA_LINUX - /* See previous comment for FFI_TYPE_FLOAT. */ - switch (slot - FIRST_ARG_SLOT) - { - case 1: fstd(fr5, (void *)(stack - slot)); break; - case 3: fstd(fr7, (void *)(stack - slot)); break; - } -#endif - avalue[i] = (void *)(stack - slot); - break; - -#ifdef PA_HPUX - case FFI_TYPE_LONGDOUBLE: - /* Long doubles are treated like a big structure. */ - avalue[i] = (void *) *(stack - slot); - break; -#endif - - case FFI_TYPE_STRUCT: - /* Structs smaller or equal than 4 bytes are passed in one - register. Structs smaller or equal 8 bytes are passed in two - registers. Larger structures are passed by pointer. */ - if((*p_arg)->size <= 4) - { - avalue[i] = (void *)(stack - slot) + sizeof(UINT32) - - (*p_arg)->size; - } - else if ((*p_arg)->size <= 8) - { - slot += (slot & 1) ? 1 : 2; - avalue[i] = (void *)(stack - slot) + sizeof(UINT64) - - (*p_arg)->size; - } - else - avalue[i] = (void *) *(stack - slot); - break; - - default: - FFI_ASSERT(0); - } - - slot++; - p_arg++; - } - - /* Invoke the closure. */ - (closure->fun) (cif, rvalue, avalue, closure->user_data); - - debug(3, "after calling function, ret[0] = %08x, ret[1] = %08x\n", u.ret[0], - u.ret[1]); - - /* Store the result using the lower 2 bytes of the flags. */ - switch (cif->flags) - { - case FFI_TYPE_UINT8: - *(stack - FIRST_ARG_SLOT) = (UINT8)u.ret[0]; - break; - case FFI_TYPE_SINT8: - *(stack - FIRST_ARG_SLOT) = (SINT8)u.ret[0]; - break; - case FFI_TYPE_UINT16: - *(stack - FIRST_ARG_SLOT) = (UINT16)u.ret[0]; - break; - case FFI_TYPE_SINT16: - *(stack - FIRST_ARG_SLOT) = (SINT16)u.ret[0]; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - *(stack - FIRST_ARG_SLOT) = u.ret[0]; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - *(stack - FIRST_ARG_SLOT) = u.ret[0]; - *(stack - FIRST_ARG_SLOT - 1) = u.ret[1]; - break; - - case FFI_TYPE_DOUBLE: - fldd(rvalue, fr4); - break; - - case FFI_TYPE_FLOAT: - fldw(rvalue, fr4); - break; - - case FFI_TYPE_STRUCT: - /* Don't need a return value, done by caller. */ - break; - - case FFI_TYPE_SMALL_STRUCT1: - case FFI_TYPE_SMALL_STRUCT2: - case FFI_TYPE_SMALL_STRUCT3: - case FFI_TYPE_SMALL_STRUCT4: - tmp = (void*)(stack - FIRST_ARG_SLOT); - tmp += 4 - cif->rtype->size; - memcpy((void*)tmp, &u, cif->rtype->size); - break; - - case FFI_TYPE_SMALL_STRUCT5: - case FFI_TYPE_SMALL_STRUCT6: - case FFI_TYPE_SMALL_STRUCT7: - case FFI_TYPE_SMALL_STRUCT8: - { - unsigned int ret2[2]; - int off; - - /* Right justify ret[0] and ret[1] */ - switch (cif->flags) - { - case FFI_TYPE_SMALL_STRUCT5: off = 3; break; - case FFI_TYPE_SMALL_STRUCT6: off = 2; break; - case FFI_TYPE_SMALL_STRUCT7: off = 1; break; - default: off = 0; break; - } - - memset (ret2, 0, sizeof (ret2)); - memcpy ((char *)ret2 + off, &u, 8 - off); - - *(stack - FIRST_ARG_SLOT) = ret2[0]; - *(stack - FIRST_ARG_SLOT - 1) = ret2[1]; - } - break; - - case FFI_TYPE_POINTER: - case FFI_TYPE_VOID: - break; - - default: - debug(0, "assert with cif->flags: %d\n",cif->flags); - FFI_ASSERT(0); - break; - } - return FFI_OK; -} - -/* Fill in a closure to refer to the specified fun and user_data. - cif specifies the argument and result types for fun. - The cif must already be prep'ed. */ - -extern void ffi_closure_pa32(void); - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - /* The layout of a function descriptor. A function pointer with the PLABEL - bit set points to a function descriptor. */ - struct pa32_fd - { - UINT32 code_pointer; - UINT32 gp; - }; - - struct ffi_pa32_trampoline_struct - { - UINT32 code_pointer; /* Pointer to ffi_closure_unix. */ - UINT32 fake_gp; /* Pointer to closure, installed as gp. */ - UINT32 real_gp; /* Real gp value. */ - }; - - struct ffi_pa32_trampoline_struct *tramp; - struct pa32_fd *fd; - - if (cif->abi != FFI_PA32) - return FFI_BAD_ABI; - - /* Get function descriptor address for ffi_closure_pa32. */ - fd = (struct pa32_fd *)((UINT32)ffi_closure_pa32 & ~3); - - /* Setup trampoline. */ - tramp = (struct ffi_pa32_trampoline_struct *)closure->tramp; - tramp->code_pointer = fd->code_pointer; - tramp->fake_gp = (UINT32)codeloc & ~3; - tramp->real_gp = fd->gp; - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi64.c deleted file mode 100644 index 08807c8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi64.c +++ /dev/null @@ -1,614 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi64.c - (c) 2022 John David Anglin - - HPPA Foreign Function Interface - PA 64-Bit ABI support - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include - -#define ROUND_UP(v, a) (((size_t)(v) + (a) - 1) & ~((a) - 1)) - -#define FIRST_ARG_SLOT 0 -#define DEBUG_LEVEL 0 - -#define fldw(addr, fpreg) \ - __asm__ volatile ("fldw 4(%0), %%" #fpreg "R" : : "r"(addr) : #fpreg) -#define fstw(fpreg, addr) \ - __asm__ volatile ("fstw %%" #fpreg "R, 4(%0)" : : "r"(addr)) -#define fldd(addr, fpreg) \ - __asm__ volatile ("fldd 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg) -#define fstd(fpreg, addr) \ - __asm__ volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr)) - -#define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) - -static inline int ffi_struct_type(ffi_type *t) -{ - int sz = t->size; - - /* Small structure results are returned in registers 28 and 29, - larger ones are in a buffer allocated by the callee. The - address of the buffer is passed in r28. The buffer is supposed - to be aligned on a 16-byte boundary. Register return values are - padded on the right. The pad bits on the right are undefined. */ - - if (sz <= 16) - return -sz; - else - return FFI_TYPE_STRUCT; -} - -/* PA has a downward growing stack, which looks like this. Stack - arguments are offset from the argument ponter (AP) in r29. - - Offset - [ Fixed args ] - AP-64 arg word 0 (r26, fr4) - AP-56 arg word 1 (r25, fr5) - AP-48 arg word 2 (r24, fr6) - AP-40 arg word 3 (r23, fr7) - AP-32 arg word 4 (r22, fr8) - AP-24 arg word 5 (r21, fr9) - AP-16 arg word 6 (r20, fr10) - AP-8 arg word 7 (r19, fr11) - [ Variable args; AP = SP-16 if there are no variable args ] - AP stack arg 0 - AP+8 stack arg 1 - ... - [ Frame marker ] - SP-16 RP - SP-8 previous SP - - The first eight argument words on the stack are reserved for use by - the callee. Instead, the general and floating registers replace - the first four argument slots. Non FP arguments are passed solely - in the general registers. Single and double FP arguments are passed - in both general and floating registers when using libffi. - - The registers are allocated in the same manner as stack slots. - This allows the callee to save its arguments on the stack if - necessary: - - arg word 0 -> gr26 or fr4L or fr4R - arg word 1 -> gr25 or fr5L or fr5R - arg word 2 -> gr24 or fr6L or fr6R - arg word 3 -> gr23 or fr7L or fr7R - ... - - Single Single-precision floating-point parameters, when passed in - floating-point registers, are passed in the right halves of the - floating point registers; the left halves are unused. - - Quad-precision floating-point parameters within the first 64 bytes of - the parameter list are always passed in general registers. - - The rest of the arguments are passed on the stack starting at AP. - - This means we can have holes either in the register allocation, - or in the stack. */ - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments - - The following code will put everything into the stack frame - (which was allocated by the asm routine), and on return - the asm routine will load the arguments that should be - passed by register into the appropriate registers - - NOTE: We load floating point args in this function... that means we - assume gcc will not mess with fp regs in here. */ - -void ffi_prep_args_pa64(UINT64 *stack, extended_cif *ecif, unsigned bytes) -{ - register unsigned int i; - register ffi_type **p_arg; - register void **p_argv; - unsigned int slot = FIRST_ARG_SLOT; - size_t len; - - debug(1, "%s: stack = %p, ecif = %p, bytes = %u\n", __FUNCTION__, stack, - ecif, bytes); - - p_arg = ecif->cif->arg_types; - p_argv = ecif->avalue; - - for (i = 0; i < ecif->cif->nargs; i++) - { - int type = (*p_arg)->type; - - len = (*p_arg)->size; - - switch (type) - { - case FFI_TYPE_SINT8: - *(SINT64 *)(stack + slot) = *(SINT8 *)(*p_argv); - break; - - case FFI_TYPE_UINT8: - *(UINT64 *)(stack + slot) = *(UINT8 *)(*p_argv); - break; - - case FFI_TYPE_SINT16: - *(SINT64 *)(stack + slot) = *(SINT16 *)(*p_argv); - break; - - case FFI_TYPE_UINT16: - *(UINT64 *)(stack + slot) = *(UINT16 *)(*p_argv); - break; - - case FFI_TYPE_SINT32: - *(SINT64 *)(stack + slot) = *(SINT32 *)(*p_argv); - break; - - case FFI_TYPE_UINT32: - *(UINT64 *)(stack + slot) = *(UINT32 *)(*p_argv); - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - debug(3, "Storing UINT64 %lu in slot %u\n", *(UINT64 *)(*p_argv), - slot); - *(UINT64 *)(stack + slot) = *(UINT64 *)(*p_argv); - break; - - case FFI_TYPE_FLOAT: - /* First 8 args go in fr4L - fr11L. */ - debug(3, "Storing UINT32(float) in slot %u\n", slot); - *(UINT64 *)(stack + slot) = *(UINT32 *)(*p_argv); - switch (slot - FIRST_ARG_SLOT) - { - /* First 4 args go in fr4L - fr7L. */ - case 0: fldw(stack + slot, fr4); break; - case 1: fldw(stack + slot, fr5); break; - case 2: fldw(stack + slot, fr6); break; - case 3: fldw(stack + slot, fr7); break; - case 4: fldw(stack + slot, fr8); break; - case 5: fldw(stack + slot, fr9); break; - case 6: fldw(stack + slot, fr10); break; - case 7: fldw(stack + slot, fr11); break; - } - break; - - case FFI_TYPE_DOUBLE: - debug(3, "Storing UINT64(double) at slot %u\n", slot); - *(UINT64 *)(stack + slot) = *(UINT64 *)(*p_argv); - switch (slot - FIRST_ARG_SLOT) - { - /* First 8 args go in fr4 to fr11. */ - case 0: fldd(stack + slot, fr4); break; - case 1: fldd(stack + slot, fr5); break; - case 2: fldd(stack + slot, fr6); break; - case 3: fldd(stack + slot, fr7); break; - case 4: fldd(stack + slot, fr8); break; - case 5: fldd(stack + slot, fr9); break; - case 6: fldd(stack + slot, fr10); break; - case 7: fldd(stack + slot, fr11); break; - } - break; - -#ifdef PA64_HPUX - case FFI_TYPE_LONGDOUBLE: - /* Align slot to a 16-byte boundary. */ - slot += (slot & 1); - *(UINT64 *)(stack + slot) = *(UINT64 *)(*p_argv); - *(UINT64 *)(stack + slot + 1) = *(UINT64 *)(*p_argv + 8); - break; -#endif - - case FFI_TYPE_STRUCT: - /* Structs larger than 8 bytes are aligned on a 16-byte boundary. */ - if (len > 8) - slot += (slot & 1); - memcpy((char *)(stack + slot), (char *)*p_argv, len); - break; - - default: - FFI_ASSERT(0); - } - - slot += ROUND_UP (len, 8) >> 3; - p_arg++; - p_argv++; - } - - FFI_ASSERT(slot * 8 <= bytes); - - return; -} - -static void ffi_size_stack_pa64(ffi_cif *cif) -{ - ffi_type **ptr; - int i; - int z = 0; /* # stack slots */ - - for (ptr = cif->arg_types, i = 0; i < cif->nargs; ptr++, i++) - { - int type = (*ptr)->type; - int size = (*ptr)->size; - - switch (type) - { -#ifdef PA64_HPUX - case FFI_TYPE_LONGDOUBLE: - z += 2 + (z & 1); - break; -#endif - - case FFI_TYPE_STRUCT: - if (size > 8) - z += (z & 1); - z += ROUND_UP (size, 8) >> 3; - break; - - default: /* 64-bit values */ - z++; - } - } - - /* We need a minimum of 8 argument slots. Stack must be 16-byte - aligned. */ - if (z <= 8) - z = 8; - else - z += (z & 1); - - /* Add 16 bytes for frame marker. */ - cif->bytes = z * 8 + 64; - debug(3, "Calculated stack size is %u bytes\n", cif->bytes); -} - -/* Perform machine dependent cif processing. */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* Set the return type flag for jump table. */ - switch (cif->rtype->type) - { - case FFI_TYPE_COMPLEX: - case FFI_TYPE_STRUCT: - /* For the return type we have to check the size of the structures. - If the size is smaller or equal 8 bytes, the result is given back - in one register. If the size is smaller or equal 16 bytes than we - return the result in two registers. If the size is bigger than - 16 bytes, the return is in a buffer allocated by the caller. */ - cif->flags = ffi_struct_type(cif->rtype); - break; - - default: - cif->flags = (unsigned) cif->rtype->type; - break; - } - - /* Lucky us, because of the unique PA ABI we get to do our - own stack sizing. */ - switch (cif->abi) - { - case FFI_PA64: - ffi_size_stack_pa64(cif); - break; - - default: - FFI_ASSERT(0); - break; - } - - return FFI_OK; -} - -extern void ffi_call_pa64(void (*)(UINT64 *, extended_cif *, unsigned), - extended_cif *, unsigned, unsigned, unsigned *, - void (*fn)(void)); - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return - value address then we need to make one. */ - - if (rvalue == NULL - && (cif->rtype->type == FFI_TYPE_STRUCT - || cif->rtype->type == FFI_TYPE_COMPLEX) - && cif->rtype->size > 16) - ecif.rvalue = alloca(ROUND_UP (cif->rtype->size, 16)); - else - ecif.rvalue = rvalue; - - - switch (cif->abi) - { - case FFI_PA64: - debug(3, "Calling ffi_call_pa64: ecif=%p, bytes=%u, flags=%u, rvalue=%p, fn=%p\n", &ecif, cif->bytes, cif->flags, ecif.rvalue, (void *)fn); - ffi_call_pa64(ffi_prep_args_pa64, &ecif, cif->bytes, - cif->flags, ecif.rvalue, fn); - break; - - default: - FFI_ASSERT(0); - break; - } -} - -#if FFI_CLOSURES -/* This is more-or-less an inverse of ffi_call -- we have arguments on - the stack, and we need to fill them into a cif structure and invoke - the user function. This really ought to be in asm to make sure - the compiler doesn't do things we don't expect. */ -ffi_status ffi_closure_inner_pa64(ffi_closure *closure, UINT64 *stack) -{ - ffi_cif *cif; - void **avalue; - void *rvalue; - /* Functions can return up to 128-bits in registers. Return address - must be double word aligned. */ - union { long double rld; UINT64 ret[2]; } u; - ffi_type **p_arg; - char *tmp; - int i, avn; - unsigned int slot = FIRST_ARG_SLOT; - register UINT64 r28 asm("r28"); - - cif = closure->cif; - - /* If returning via structure, callee will write to our pointer. */ - if (cif->flags == FFI_TYPE_STRUCT) - rvalue = (void *)r28; - else - rvalue = &u; - - avalue = (void **)alloca(cif->nargs * FFI_SIZEOF_ARG); - avn = cif->nargs; - p_arg = cif->arg_types; - - for (i = 0; i < avn; i++) - { - int type = (*p_arg)->type; - - switch (type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = (void *)(stack + slot) + 7; - break; - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = (void *)(stack + slot) + 6; - break; - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - avalue[i] = (void *)(stack + slot) + 4; - break; - - case FFI_TYPE_POINTER: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - avalue[i] = (void *)(stack + slot); - break; - - case FFI_TYPE_FLOAT: - /* The closure call is indirect. In Linux, floating point - arguments in indirect calls with a prototype are passed - in the floating point registers instead of the general - registers. So, we need to replace what was previously - stored in the current slot with the value in the - corresponding floating point register. */ - switch (slot + FIRST_ARG_SLOT) - { - case 0: fstw(fr4, (void *)(stack + slot)); break; - case 1: fstw(fr5, (void *)(stack + slot)); break; - case 2: fstw(fr6, (void *)(stack + slot)); break; - case 3: fstw(fr7, (void *)(stack + slot)); break; - case 4: fstw(fr8, (void *)(stack + slot)); break; - case 5: fstw(fr9, (void *)(stack + slot)); break; - case 6: fstw(fr10, (void *)(stack + slot)); break; - case 7: fstw(fr11, (void *)(stack + slot)); break; - } - avalue[i] = (void *)(stack + slot) + 4; - break; - - case FFI_TYPE_DOUBLE: - /* See previous comment for FFI_TYPE_FLOAT. */ - switch (slot + FIRST_ARG_SLOT) - { - case 0: fstd(fr4, (void *)(stack + slot)); break; - case 1: fstd(fr5, (void *)(stack + slot)); break; - case 2: fstd(fr6, (void *)(stack + slot)); break; - case 3: fstd(fr7, (void *)(stack + slot)); break; - case 4: fstd(fr8, (void *)(stack + slot)); break; - case 5: fstd(fr9, (void *)(stack + slot)); break; - case 6: fstd(fr10, (void *)(stack + slot)); break; - case 7: fstd(fr11, (void *)(stack + slot)); break; - } - avalue[i] = (void *)(stack + slot); - break; - -#ifdef PA64_HPUX - case FFI_TYPE_LONGDOUBLE: - /* Long doubles are treated like a big structure. */ - slot += (slot & 1); - avalue[i] = (void *)(stack + slot); - break; -#endif - - case FFI_TYPE_STRUCT: - /* All structs are passed in registers. Structs larger - than 8 bytes are aligned on a 16-byte boundary. */ - if((*p_arg)->size > 8) - slot += (slot & 1); - avalue[i] = (void *) (stack + slot); - break; - - default: - FFI_ASSERT(0); - } - - slot += (ROUND_UP ((*p_arg)->size, 8) >> 3); - p_arg++; - } - - /* Invoke the closure. */ - (closure->fun) (cif, rvalue, avalue, closure->user_data); - - debug(3, "after calling function, ret[0] = %16lx, ret[1] = %16lx\n", u.ret[0], - u.ret[1]); - - /* Store the result using the lower 2 bytes of the flags. */ - switch (cif->flags) - { - case FFI_TYPE_UINT8: - *(stack + FIRST_ARG_SLOT) = (UINT8)u.ret[0]; - break; - case FFI_TYPE_SINT8: - *(stack + FIRST_ARG_SLOT) = (SINT8)u.ret[0]; - break; - case FFI_TYPE_UINT16: - *(stack + FIRST_ARG_SLOT) = (UINT16)u.ret[0]; - break; - case FFI_TYPE_SINT16: - *(stack + FIRST_ARG_SLOT) = (SINT16)u.ret[0]; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - *(stack + FIRST_ARG_SLOT) = (SINT32)u.ret[0]; - break; - case FFI_TYPE_UINT32: - *(stack - FIRST_ARG_SLOT) = (UINT32)u.ret[0]; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - *(stack - FIRST_ARG_SLOT) = u.ret[0]; - break; - - case FFI_TYPE_LONGDOUBLE: - *(stack + FIRST_ARG_SLOT) = u.ret[0]; - *(stack + FIRST_ARG_SLOT + 1) = u.ret[1]; - break; - - case FFI_TYPE_DOUBLE: - fldd(rvalue, fr4); - break; - - case FFI_TYPE_FLOAT: - /* Adjust for address adjustment in fldw macro. */ - fldw(rvalue - 4, fr4); - break; - - case FFI_TYPE_STRUCT: - /* Don't need a return value, done by caller. */ - break; - - case -1: - case -2: - case -3: - case -4: - case -5: - case -6: - case -7: - case -8: - case -9: - case -10: - case -11: - case -12: - case -13: - case -14: - case -15: - case -16: - tmp = (void*)(stack + FIRST_ARG_SLOT); - memcpy((void*)tmp, &u, cif->rtype->size); - break; - - case FFI_TYPE_VOID: - break; - - default: - debug(0, "assert with cif->flags: %d\n",cif->flags); - FFI_ASSERT(0); - break; - } - return FFI_OK; -} - -/* Fill in a closure to refer to the specified fun and user_data. - cif specifies the argument and result types for fun. - The cif must already be prep'ed. */ - -extern void ffi_closure_pa64(void); - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - /* The layout of a function descriptor. */ - struct pa64_fd - { - UINT64 tmp1; - UINT64 tmp2; - UINT64 code_pointer; - UINT64 gp; - }; - - struct ffi_pa64_trampoline_struct - { - UINT64 real_gp; /* Real gp value. */ - UINT64 tmp2; - UINT64 code_pointer; /* Pointer to ffi_closure_unix. */ - UINT64 fake_gp; /* Pointer to closure, installed as gp. */ - }; - - struct ffi_pa64_trampoline_struct *tramp; - struct pa64_fd *fd; - - if (cif->abi != FFI_PA64) - return FFI_BAD_ABI; - - /* Get function descriptor address for ffi_closure_pa64. */ - fd = (struct pa64_fd *)((UINT64)ffi_closure_pa64); - - /* Setup trampoline. */ - tramp = (struct ffi_pa64_trampoline_struct *)closure->tramp; - tramp->code_pointer = fd->code_pointer; - tramp->fake_gp = (UINT64)codeloc; - tramp->real_gp = fd->gp; - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffitarget.h deleted file mode 100644 index dae854a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffitarget.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for hppa. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - -#ifdef PA_LINUX - FFI_PA32, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_PA32 -#endif - -#ifdef PA_HPUX - FFI_PA32, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_PA32 -#endif - -#ifdef PA64_HPUX - FFI_PA64, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_PA64 -#endif -} ffi_abi; -#endif - -#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 -#if defined(PA64_HPUX) -#define FFI_TRAMPOLINE_SIZE 32 -#else -#define FFI_TRAMPOLINE_SIZE 12 -#endif - -#define FFI_TYPE_SMALL_STRUCT1 -1 -#define FFI_TYPE_SMALL_STRUCT2 -2 -#define FFI_TYPE_SMALL_STRUCT3 -3 -#define FFI_TYPE_SMALL_STRUCT4 -4 -#define FFI_TYPE_SMALL_STRUCT5 -5 -#define FFI_TYPE_SMALL_STRUCT6 -6 -#define FFI_TYPE_SMALL_STRUCT7 -7 -#define FFI_TYPE_SMALL_STRUCT8 -8 - -/* linux.S and hpux32.S expect FFI_TYPE_COMPLEX is the last generic type. */ -#define FFI_PA_TYPE_LAST FFI_TYPE_COMPLEX - -/* If new generic types are added, the jump tables in linux.S and hpux32.S - likely need updating. */ -#if FFI_TYPE_LAST != FFI_PA_TYPE_LAST -# error "You likely have broken jump tables" -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux32.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux32.S deleted file mode 100644 index 1629c03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux32.S +++ /dev/null @@ -1,417 +0,0 @@ -/* ----------------------------------------------------------------------- - hpux32.S - Copyright (c) 2006 Free Software Foundation, Inc. - (c) 2008 Red Hat, Inc. - based on src/pa/linux.S - - HP-UX PA Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .LEVEL 1.1 - .SPACE $PRIVATE$ - .IMPORT $global$,DATA - .IMPORT $$dyncall,MILLICODE - .SUBSPA $DATA$ - .align 4 - - /* void ffi_call_pa32(void (*)(char *, extended_cif *), - extended_cif *ecif, - unsigned bytes, - unsigned flags, - unsigned *rvalue, - void (*fn)(void)); - */ - - .export ffi_call_pa32,ENTRY,PRIV_LEV=3 - .import ffi_prep_args_pa32,CODE - - .SPACE $TEXT$ - .SUBSPA $CODE$ - .align 4 - -L$FB1 -ffi_call_pa32 - .proc - .callinfo FRAME=64,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=4 - .entry - stw %rp, -20(%sp) - copy %r3, %r1 -L$CFI11 - copy %sp, %r3 -L$CFI12 - - /* Setup the stack for calling prep_args... - We want the stack to look like this: - - [ Previous stack ] <- %r3 - - [ 64-bytes register save area ] <- %r4 - - [ Stack space for actual call, passed as ] <- %arg0 - [ arg0 to ffi_prep_args_pa32 ] - - [ Stack for calling prep_args ] <- %sp - */ - - stwm %r1, 64(%sp) - stw %r4, 12(%r3) -L$CFI13 - copy %sp, %r4 - - addl %arg2, %r4, %arg0 ; arg stack - stw %arg3, -48(%r3) ; save flags we need it later - - /* Call prep_args: - %arg0(stack) -- set up above - %arg1(ecif) -- same as incoming param - %arg2(bytes) -- same as incoming param */ - bl ffi_prep_args_pa32,%r2 - ldo 64(%arg0), %sp - ldo -64(%sp), %sp - - /* now %sp should point where %arg0 was pointing. */ - - /* Load the arguments that should be passed in registers - The fp args are loaded by the prep_args function. */ - ldw -36(%sp), %arg0 - ldw -40(%sp), %arg1 - ldw -44(%sp), %arg2 - ldw -48(%sp), %arg3 - - /* in case the function is going to return a structure - we need to give it a place to put the result. */ - ldw -52(%r3), %ret0 ; %ret0 <- rvalue - ldw -56(%r3), %r22 ; %r22 <- function to call - bl $$dyncall, %r31 ; Call the user function - copy %r31, %rp - - /* Prepare to store the result; we need to recover flags and rvalue. */ - ldw -48(%r3), %r21 ; r21 <- flags - - /* Adjust flags range from [-8, 15] to [0, 23]. */ - addi 8, %r21, %r21 - - blr %r21, %r0 - ldw -52(%r3), %r20 ; r20 <- rvalue - - /* Giant jump table */ - /* 8-byte small struct */ - b,n L$smst8 - nop - /* 7-byte small struct */ - b,n L$smst7 - nop - /* 6-byte small struct */ - b,n L$smst6 - nop - /* 5-byte small struct */ - b,n L$smst5 - nop - /* 4-byte small struct */ - b,n L$smst4 - nop - /* 3-byte small struct */ - b,n L$smst3 - nop - /* 2-byte small struct */ - b,n L$smst2 - nop - /* 1-byte small struct */ - b L$done - stb %ret0, 0(%r20) - /* void */ - b,n L$done - nop - /* int */ - b L$done - stw %ret0, 0(%r20) - /* float */ - b L$done - fstw %fr4L,0(%r20) - /* double */ - b L$done - fstd %fr4,0(%r20) - /* long double */ - b,n L$done - nop - /* unsigned int8 */ - b L$done - stw %ret0, 0(%r20) - /* signed int8 */ - b L$done - stw %ret0, 0(%r20) - /* unsigned int16 */ - b L$done - stw %ret0, 0(%r20) - /* signed int16 */ - b L$done - stw %ret0, 0(%r20) - /* unsigned int32 */ - b L$done - stw %ret0, 0(%r20) - /* signed int32 */ - b L$done - stw %ret0, 0(%r20) - /* unsigned int64 */ - b,n L$uint64 - nop - /* signed int64 */ - b,n L$sint64 - nop - /* large struct */ - b,n L$done - nop - /* pointer */ - b L$done - stw %ret0, 0(%r20) - /* complex */ - b,n L$done - nop - - /* Store the result according to the return type. The most - likely types should come first. */ - -L$uint64 -L$sint64 - stw %ret0, 0(%r20) - b L$done - stw %ret1, 4(%r20) - -L$smst2 - /* 2-byte structs are returned in ret0 as ????xxyy. */ - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b L$done - stb %ret0, 0(%r20) - -L$smst3 - /* 3-byte structs are returned in ret0 as ??xxyyzz. */ - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b L$done - stb %ret0, 0(%r20) - -L$smst4 - /* 4-byte structs are returned in ret0 as wwxxyyzz. */ - extru %ret0, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b L$done - stb %ret0, 0(%r20) - -L$smst5 - /* 5 byte values are returned right justified: - ret0 ret1 - 5: ??????aa bbccddee */ - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b L$done - stb %ret1, 0(%r20) - -L$smst6 - /* 6 byte values are returned right justified: - ret0 ret1 - 6: ????aabb ccddeeff */ - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b L$done - stb %ret1, 0(%r20) - -L$smst7 - /* 7 byte values are returned right justified: - ret0 ret1 - 7: ??aabbcc ddeeffgg */ - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b L$done - stb %ret1, 0(%r20) - -L$smst8 - /* 8 byte values are returned right justified: - ret0 ret1 - 8: aabbccdd eeffgghh */ - extru %ret0, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stb %ret1, 0(%r20) - -L$done - /* all done, return */ - copy %r4, %sp ; pop arg stack - ldw 12(%r3), %r4 - ldwm -64(%sp), %r3 ; .. and pop stack - ldw -20(%sp), %rp - bv %r0(%rp) - nop - .exit - .procend -L$FE1 - - /* void ffi_closure_pa32(void); - Called with closure argument in %r19 */ - - .SPACE $TEXT$ - .SUBSPA $CODE$ - .export ffi_closure_pa32,ENTRY,PRIV_LEV=3,RTNVAL=GR - .import ffi_closure_inner_pa32,CODE - .align 4 -L$FB2 -ffi_closure_pa32 - .proc - .callinfo FRAME=64,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 - .entry - - stw %rp, -20(%sp) - copy %r3, %r1 -L$CFI21 - copy %sp, %r3 -L$CFI22 - stwm %r1, 64(%sp) - - /* Put arguments onto the stack and call ffi_closure_inner. */ - stw %arg0, -36(%r3) - stw %arg1, -40(%r3) - stw %arg2, -44(%r3) - stw %arg3, -48(%r3) - - /* Retrieve closure pointer and real gp. */ - copy %r19, %arg0 - ldw 8(%r19), %r19 - bl ffi_closure_inner_pa32, %r2 - copy %r3, %arg1 - ldwm -64(%sp), %r3 - ldw -20(%sp), %rp - ldw -36(%sp), %ret0 - bv %r0(%rp) - ldw -40(%sp), %ret1 - .exit - .procend -L$FE2: - - .SPACE $PRIVATE$ - .SUBSPA $DATA$ - - .align 4 - .EXPORT _GLOBAL__F_ffi_call_pa32,DATA -_GLOBAL__F_ffi_call_pa32 -L$frame1: - .word L$ECIE1-L$SCIE1 ;# Length of Common Information Entry -L$SCIE1: - .word 0x0 ;# CIE Identifier Tag - .byte 0x1 ;# CIE Version - .ascii "\0" ;# CIE Augmentation - .uleb128 0x1 ;# CIE Code Alignment Factor - .sleb128 4 ;# CIE Data Alignment Factor - .byte 0x2 ;# CIE RA Column - .byte 0xc ;# DW_CFA_def_cfa - .uleb128 0x1e - .uleb128 0x0 - .align 4 -L$ECIE1: -L$SFDE1: - .word L$EFDE1-L$ASFDE1 ;# FDE Length -L$ASFDE1: - .word L$ASFDE1-L$frame1 ;# FDE CIE offset - .word L$FB1 ;# FDE initial location - .word L$FE1-L$FB1 ;# FDE address range - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI11-L$FB1 - .byte 0x83 ;# DW_CFA_offset, column 0x3 - .uleb128 0x0 - .byte 0x11 ;# DW_CFA_offset_extended_sf; save r2 at [r30-20] - .uleb128 0x2 - .sleb128 -5 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI12-L$CFI11 - .byte 0xd ;# DW_CFA_def_cfa_register = r3 - .uleb128 0x3 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI13-L$CFI12 - .byte 0x84 ;# DW_CFA_offset, column 0x4 - .uleb128 0x3 - - .align 4 -L$EFDE1: - -L$SFDE2: - .word L$EFDE2-L$ASFDE2 ;# FDE Length -L$ASFDE2: - .word L$ASFDE2-L$frame1 ;# FDE CIE offset - .word L$FB2 ;# FDE initial location - .word L$FE2-L$FB2 ;# FDE address range - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI21-L$FB2 - .byte 0x83 ;# DW_CFA_offset, column 0x3 - .uleb128 0x0 - .byte 0x11 ;# DW_CFA_offset_extended_sf - .uleb128 0x2 - .sleb128 -5 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI22-L$CFI21 - .byte 0xd ;# DW_CFA_def_cfa_register = r3 - .uleb128 0x3 - - .align 4 -L$EFDE2: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux64.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux64.S deleted file mode 100644 index 6a82b57..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux64.S +++ /dev/null @@ -1,681 +0,0 @@ -/* ----------------------------------------------------------------------- - hpux64.S - (c) 2005-2022 John David Anglin - - HPUX PA 64-Bit Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .LEVEL 2.0w - .text - .align 4 - - /* void ffi_call_pa64(void (*)(char *, extended_cif *), - extended_cif *ecif, - unsigned bytes, - unsigned flags, - unsigned *rvalue, - void (*fn)()); - */ - - .export ffi_call_pa64,code - .import ffi_prep_args_pa64,code - - .align 4 - -L$FB1 -ffi_call_pa64 - .proc - .callinfo FRAME=48,CALLS,SAVE_RP,ENTRY_GR=4 - .entry - std %rp, -16(%sp) - copy %r3, %r1 -L$CFI11 - copy %sp, %r3 -L$CFI12 - std,ma %r1, 48(%sp) - - /* Setup the stack for calling prep_args... - We want the stack to look like this: - - [ Previous stack ] <- %r3 - - [ 48-byte register save area ] - - [ Stack space for call arguments ] <- %r4 - - [ 16-byte rame marker ] - - [ 128-byte stack for calling prep_args ] <- %sp - */ - - std %r4, 8(%r3) ; save r4 -L$CFI13 - std %r23, 16(%r3) ; save flags we need it later - std %r22, 24(%r3) ; save rvalue - std %r21, 32(%r3) ; save fn pointer - - copy %sp, %r4 - copy %r4, %r26 ; argument stack pointer - addl %r24, %sp, %sp ; allocate argument space - - ldo 112(%sp), %r29 ; arg pointer for prep args - - /* Call prep_args: - %arg0(stack) -- set up above to point to call arguments - %arg1(ecif) -- same as incoming param - %arg2(bytes) -- same as incoming param */ - bl ffi_prep_args_pa64,%r2 - ldo 128(%sp), %sp - ldo -128(%sp), %sp - - /* Load the arguments that should be passed in registers - The fp args were loaded by the prep_args function. */ - ldd 0(%r4), %r26 - ldd 8(%r4), %r25 - ldd 16(%r4), %r24 - ldd 24(%r4), %r23 - ldd 32(%r4), %r22 - ldd 40(%r4), %r21 - ldd 48(%r4), %r20 - ldd 56(%r4), %r19 - - ldd 24(%r3), %ret0 ; %ret0 <- rvalue - - ldd 32(%r3), %r1 ; %r1 <- function pointer - ldd 16(%r1), %rp ; fn address - ldd 24(%r1), %dp ; New gp - bve,l (%rp), %r2 ; Call the user function - ldo 64(%r4), %r29 ; Argument pointer - - /* Prepare to store the result; recover flags and rvalue. */ - ldd 16(%r3), %r21 ; r21 <- flags - extrd,s %r21, 63, 32, %r21 ; sign extend flags for blr - - /* Adjust flags range from [-16, 15] to [0, 31]. */ - addi 16, %r21, %r21 - - blr %r21, %r0 - ldd 24(%r3), %r20 ; r20 <- rvalue - - /* Giant jump table */ - /* 16-byte small struct */ - b,n L$smst16 - nop - /* 15-byte small struct */ - b,n L$smst15 - nop - /* 14-byte small struct */ - b,n L$smst14 - nop - /* 13-byte small struct */ - b,n L$smst13 - nop - /* 12-byte small struct */ - b,n L$smst12 - nop - /* 11-byte small struct */ - b,n L$smst11 - nop - /* 10-byte small struct */ - b,n L$smst10 - nop - /* 9-byte small struct */ - b,n L$smst9 - nop - /* 8-byte small struct */ - b,n L$smst8 - nop - /* 7-byte small struct */ - b,n L$smst7 - nop - /* 6-byte small struct */ - b,n L$smst6 - nop - /* 5-byte small struct */ - b,n L$smst5 - nop - /* 4-byte small struct */ - b,n L$smst4 - nop - /* 3-byte small struct */ - b,n L$smst3 - nop - /* 2-byte small struct */ - b,n L$smst2 - nop - /* 1-byte small struct */ - b,n L$smst1 - nop - /* void */ - b,n L$done - nop - /* int */ - b L$done - std %ret0, 0(%r20) - /* float */ - b L$done - fstw %fr4R, 0(%r20) - /* double */ - b L$done - fstd %fr4, 0(%r20) - /* long double */ - b,n L$longdouble - nop - /* unsigned int8 */ - b L$done - std %ret0, 0(%r20) - /* signed int8 */ - b L$done - std %ret0, 0(%r20) - /* unsigned int16 */ - b L$done - std %ret0, 0(%r20) - /* signed int16 */ - b L$done - std %ret0, 0(%r20) - /* unsigned int32 */ - b L$done - std %ret0, 0(%r20) - /* signed int32 */ - b L$done - std %ret0, 0(%r20) - /* unsigned int64 */ - b L$done - std %ret0, 0(%r20) - /* signed int64 */ - b L$done - std %ret0, 0(%r20) - /* large struct */ - b,n L$done - nop - /* pointer */ - b L$done - std %ret0, 0(%r20) - /* complex */ - b,n L$done - nop - -L$longdouble - std %ret0, 0(%r20) - b L$done - std %ret1, 8(%r20) - - /* We need to copy byte-by-byte the exact number bytes - in the struct to avoid clobbering other data. */ -L$smst1 - extrd,u %ret0, 7, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst2 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst3 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst4 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst5 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst6 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst7 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst8 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - b L$done - stb %ret0, 0(%r20) - -L$smst9 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst10 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst11 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 23, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst12 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 31, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst13 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 39, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst14 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 47, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst15 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 55, 8, %r22 - b L$done - stb %r22, 0(%r20) - -L$smst16 - extrd,u %ret0, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret0, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb,ma %ret0, 1(%r20) - extrd,u %ret1, 7, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 15, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 23, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 31, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 39, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 47, 8, %r22 - stb,ma %r22, 1(%r20) - extrd,u %ret1, 55, 8, %r22 - stb,ma %r22, 1(%r20) - stb %ret1, 0(%r20) - -L$done - /* all done, restore registers and return */ - copy %r4, %sp - ldd 8(%r3), %r4 - ldd -16(%r3), %rp - bve (%rp) - ldd,mb -48(%sp), %r3 - .exit - .procend -L$FE1 - .size ffi_call_pa64, .-ffi_call_pa64 - - /* void ffi_closure_pa64(void); - Called with closure argument in %r21 */ - - .export ffi_closure_pa64,code - .import ffi_closure_inner_pa64,code - .align 4 -L$FB2 -ffi_closure_pa64 - .proc - .callinfo FRAME=128,CALLS,SAVE_RP,ENTRY_GR=3 - .entry - - std %rp, -16(%sp) - copy %r3, %r1 -L$CFI21 - copy %sp, %r3 -L$CFI22 - std,ma %r1, 128(%sp) -L$CFI23 - - /* Put arguments onto the stack and call ffi_closure_inner. */ - std %r26, -64(%r29) - std %r25, -56(%r29) - std %r24, -48(%r29) - std %r23, -40(%r29) - std %r22, -32(%r29) - std %r21, -24(%r29) - std %r20, -16(%r29) - std %r19, -8(%r29) - - /* Load and save start of argument stack. */ - ldo -64(%r29), %r25 - std %r25, 8(%r3) - - /* Setup arg pointer. */ - ldo -16(%sp), %ret1 - - /* Retrieve closure pointer and real gp. */ - copy %dp, %r26 - bl ffi_closure_inner_pa64, %r2 - ldd 0(%dp), %dp - - /* Retrieve start of argument stack. */ - ldd 8(%r3), %r1 - - /* Restore r3 and op stack. */ - ldd,mb -128(%sp), %r3 - - /* Load return address. */ - ldd -16(%sp), %rp - - /* Load return values from first and second stack slots. */ - ldd 0(%r1), %ret0 - bve (%rp) - ldd 8(%r1), %ret1 - - .exit - .procend - .end -L$FE2: - .size ffi_closure_pa64, .-ffi_closure_pa64 - - .section .eh_frame,"aw",@progbits -L$frame1: - .word L$ECIE1-L$SCIE1 ;# Length of Common Information Entry -L$SCIE1: - .word 0x0 ;# CIE Identifier Tag - .byte 0x3 ;# CIE Version - .stringz "" ;# CIE Augmentation - .uleb128 0x1 ;# CIE Code Alignment Factor - .sleb128 8 ;# CIE Data Alignment Factor - .byte 0x2 ;# CIE RA Column - .byte 0xc ;# DW_CFA_def_cfa - .uleb128 0x1e - .uleb128 0x0 - .align 8 -L$ECIE1: -L$SFDE1: - .word L$EFDE1-L$ASFDE1 ;# FDE Length -L$ASFDE1: - .word L$ASFDE1-L$frame1 ;# FDE CIE offset - .dword L$FB1 ;# FDE initial location - .dword L$FE1-L$FB1 ;# FDE address range - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI11-L$FB1 - .byte 0x9 ;# DW_CFA_register: r3 in r1 - .uleb128 0x3 - .uleb128 0x1 - .byte 0x11 ;# DW_CFA_offset_extended_sf: r2 at cfa-16 - .uleb128 0x2 - .sleb128 -2 - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI12-L$CFI11 - .byte 0xd ;# DW_CFA_def_cfa_register: r3 - .uleb128 0x3 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI13-L$CFI12 - .byte 0x83 ;# DW_CFA_offset: r3 at cfa+0 - .uleb128 0 - .byte 0x84 ;# DW_CFA_offset: r4 at cfa+8 - .uleb128 1 - - .align 8 -L$EFDE1: - -L$SFDE2: - .word L$EFDE2-L$ASFDE2 ;# FDE Length -L$ASFDE2: - .word L$ASFDE2-L$frame1 ;# FDE CIE offset - .dword L$FB2 ;# FDE initial location - .dword L$FE2-L$FB2 ;# FDE address range - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI21-L$FB2 - .byte 0x9 ;# DW_CFA_register: r3 in r1 - .uleb128 0x3 - .uleb128 0x1 - .byte 0x11 ;# DW_CFA_offset_extended_sf: r2 at cfa-16 - .uleb128 0x2 - .sleb128 -2 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI22-L$CFI21 - .byte 0xd ;# DW_CFA_def_cfa_register: r3 - .uleb128 0x3 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word L$CFI23-L$CFI22 - .byte 0x83 ;# DW_CFA_offset: r3 at cfa+0 - .uleb128 0 - - .align 8 -L$EFDE2: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/linux.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/linux.S deleted file mode 100644 index 2d3b036..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/linux.S +++ /dev/null @@ -1,427 +0,0 @@ -/* ----------------------------------------------------------------------- - linux.S - (c) 2003-2004 Randolph Chung - (c) 2008 Red Hat, Inc. - - HPPA Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .text - .level 1.1 - .align 4 - - /* void ffi_call_pa32(void (*)(char *, extended_cif *), - extended_cif *ecif, - unsigned bytes, - unsigned flags, - unsigned *rvalue, - void (*fn)(void)); - */ - - .export ffi_call_pa32,code - .import ffi_prep_args_pa32,code - - .type ffi_call_pa32, @function -.LFB1: -ffi_call_pa32: - .proc - .callinfo FRAME=64,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=4 - .entry - stw %rp, -20(%sp) - copy %r3, %r1 -.LCFI11: - - copy %sp, %r3 -.LCFI12: - - /* Setup the stack for calling prep_args... - We want the stack to look like this: - - [ Previous stack ] <- %r3 - - [ 64-bytes register save area ] <- %r4 - - [ Stack space for actual call, passed as ] <- %arg0 - [ arg0 to ffi_prep_args_pa32 ] - - [ Stack for calling prep_args ] <- %sp - */ - - stwm %r1, 64(%sp) - stw %r4, 12(%r3) -.LCFI13: - copy %sp, %r4 - - addl %arg2, %r4, %arg0 /* arg stack */ - stw %arg3, -48(%r3) /* save flags; we need it later */ - - /* Call prep_args: - %arg0(stack) -- set up above - %arg1(ecif) -- same as incoming param - %arg2(bytes) -- same as incoming param */ - bl ffi_prep_args_pa32,%r2 - ldo 64(%arg0), %sp - ldo -64(%sp), %sp - - /* now %sp should point where %arg0 was pointing. */ - - /* Load the arguments that should be passed in registers - The fp args were loaded by the prep_args function. */ - ldw -36(%sp), %arg0 - ldw -40(%sp), %arg1 - ldw -44(%sp), %arg2 - ldw -48(%sp), %arg3 - - /* in case the function is going to return a structure - we need to give it a place to put the result. */ - ldw -52(%r3), %ret0 /* %ret0 <- rvalue */ - ldw -56(%r3), %r22 /* %r22 <- function to call */ - bl $$dyncall, %r31 /* Call the user function */ - copy %r31, %rp - - /* Prepare to store the result; we need to recover flags and rvalue. */ - ldw -48(%r3), %r21 /* r21 <- flags */ - - /* Adjust flags range from [-8, 15] to [0, 23]. */ - addi 8, %r21, %r21 - - blr %r21, %r0 - ldw -52(%r3), %r20 /* r20 <- rvalue */ - - /* Giant jump table */ - /* 8-byte small struct */ - b,n .Lsmst8 - nop - /* 7-byte small struct */ - b,n .Lsmst7 - nop - /* 6-byte small struct */ - b,n .Lsmst6 - nop - /* 5-byte small struct */ - b,n .Lsmst5 - nop - /* 4-byte small struct */ - b,n .Lsmst4 - nop - /* 3-byte small struct */ - b,n .Lsmst3 - nop - /* 2-byte small struct */ - b,n .Lsmst2 - nop - /* 1-byte small struct */ - b .Ldone - stb %ret0, 0(%r20) - /* void */ - b,n .Ldone - nop - /* int */ - b .Ldone - stw %ret0, 0(%r20) - /* float */ - b .Ldone - fstw %fr4L,0(%r20) - /* double */ - b .Ldone - fstd %fr4,0(%r20) - /* long double */ - b .Ldone - fstd %fr4,0(%r20) - /* unsigned int8 */ - b .Ldone - stw %ret0, 0(%r20) - /* sint8 */ - b .Ldone - stw %ret0, 0(%r20) - /* unsigned int16 */ - b .Ldone - stw %ret0, 0(%r20) - /* sint16 */ - b .Ldone - stw %ret0, 0(%r20) - /* unsigned int32 */ - b .Ldone - stw %ret0, 0(%r20) - /* sint32 */ - b .Ldone - stw %ret0, 0(%r20) - /* unsigned int64 */ - b,n .Luint64 - nop - /* signed int64 */ - b,n .Lsint64 - nop - /* large struct */ - b,n .Ldone - nop - /* pointer */ - b .Ldone - stw %ret0, 0(%r20) - /* complex */ - b,n .Ldone - nop - - /* Store the result according to the return type. */ - -.Luint64: -.Lsint64: - stw %ret0, 0(%r20) - b .Ldone - stw %ret1, 4(%r20) - -.Lsmst2: - /* 2-byte structs are returned in ret0 as ????xxyy. */ - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b .Ldone - stb %ret0, 0(%r20) - -.Lsmst3: - /* 3-byte structs are returned in ret0 as ??xxyyzz. */ - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b .Ldone - stb %ret0, 0(%r20) - -.Lsmst4: - /* 4-byte structs are returned in ret0 as wwxxyyzz. */ - extru %ret0, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b .Ldone - stb %ret0, 0(%r20) - -.Lsmst5: - /* 5 byte values are returned right justified: - ret0 ret1 - 5: ??????aa bbccddee */ - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b .Ldone - stb %ret1, 0(%r20) - -.Lsmst6: - /* 6 byte values are returned right justified: - ret0 ret1 - 6: ????aabb ccddeeff */ - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b .Ldone - stb %ret1, 0(%r20) - -.Lsmst7: - /* 7 byte values are returned right justified: - ret0 ret1 - 7: ??aabbcc ddeeffgg */ - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - b .Ldone - stb %ret1, 0(%r20) - -.Lsmst8: - /* 8 byte values are returned right justified: - ret0 ret1 - 8: aabbccdd eeffgghh */ - extru %ret0, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret0, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stbs,ma %ret0, 1(%r20) - extru %ret1, 7, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 15, 8, %r22 - stbs,ma %r22, 1(%r20) - extru %ret1, 23, 8, %r22 - stbs,ma %r22, 1(%r20) - stb %ret1, 0(%r20) - -.Ldone: - /* all done, return */ - copy %r4, %sp /* pop arg stack */ - ldw 12(%r3), %r4 - ldwm -64(%sp), %r3 /* .. and pop stack */ - ldw -20(%sp), %rp - bv %r0(%rp) - nop - .exit - .procend -.LFE1: - - /* void ffi_closure_pa32(void); - Called with closure argument in %r19 */ - .export ffi_closure_pa32,code - .import ffi_closure_inner_pa32,code - - .type ffi_closure_pa32, @function -.LFB2: -ffi_closure_pa32: - .proc - .callinfo FRAME=64,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 - .entry - - stw %rp, -20(%sp) -.LCFI20: - copy %r3, %r1 -.LCFI21: - copy %sp, %r3 -.LCFI22: - stwm %r1, 64(%sp) - - /* Put arguments onto the stack and call ffi_closure_inner. */ - stw %arg0, -36(%r3) - stw %arg1, -40(%r3) - stw %arg2, -44(%r3) - stw %arg3, -48(%r3) - - /* Retrieve closure pointer and real gp. */ - copy %r19, %arg0 - ldw 8(%r19), %r19 - bl ffi_closure_inner_pa32, %r2 - copy %r3, %arg1 - - ldwm -64(%sp), %r3 - ldw -20(%sp), %rp - ldw -36(%sp), %ret0 - bv %r0(%r2) - ldw -40(%sp), %ret1 - - .exit - .procend -.LFE2: - - .section ".eh_frame",EH_FRAME_FLAGS,@progbits -.Lframe1: - .word .LECIE1-.LSCIE1 ;# Length of Common Information Entry -.LSCIE1: - .word 0x0 ;# CIE Identifier Tag - .byte 0x1 ;# CIE Version -#ifdef __PIC__ - .ascii "zR\0" ;# CIE Augmentation: 'z' - data, 'R' - DW_EH_PE_... data -#else - .ascii "\0" ;# CIE Augmentation -#endif - .uleb128 0x1 ;# CIE Code Alignment Factor - .sleb128 4 ;# CIE Data Alignment Factor - .byte 0x2 ;# CIE RA Column -#ifdef __PIC__ - .uleb128 0x1 ;# Augmentation size - .byte 0x1b ;# FDE Encoding (DW_EH_PE_pcrel|DW_EH_PE_sdata4) -#endif - .byte 0xc ;# DW_CFA_def_cfa - .uleb128 0x1e - .uleb128 0x0 - .align 4 -.LECIE1: -.LSFDE1: - .word .LEFDE1-.LASFDE1 ;# FDE Length -.LASFDE1: - .word .LASFDE1-.Lframe1 ;# FDE CIE offset -#ifdef __PIC__ - .word .LFB1-. ;# FDE initial location -#else - .word .LFB1 ;# FDE initial location -#endif - .word .LFE1-.LFB1 ;# FDE address range -#ifdef __PIC__ - .uleb128 0x0 ;# Augmentation size: no data -#endif - .byte 0x4 ;# DW_CFA_advance_loc4 - .word .LCFI11-.LFB1 - .byte 0x83 ;# DW_CFA_offset, column 0x3 - .uleb128 0x0 - .byte 0x11 ;# DW_CFA_offset_extended_sf; save r2 at [r30-20] - .uleb128 0x2 - .sleb128 -5 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word .LCFI12-.LCFI11 - .byte 0xd ;# DW_CFA_def_cfa_register = r3 - .uleb128 0x3 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word .LCFI13-.LCFI12 - .byte 0x84 ;# DW_CFA_offset, column 0x4 - .uleb128 0x3 - - .align 4 -.LEFDE1: - -.LSFDE2: - .word .LEFDE2-.LASFDE2 ;# FDE Length -.LASFDE2: - .word .LASFDE2-.Lframe1 ;# FDE CIE offset -#ifdef __PIC__ - .word .LFB2-. ;# FDE initial location -#else - .word .LFB2 ;# FDE initial location -#endif - .word .LFE2-.LFB2 ;# FDE address range -#ifdef __PIC__ - .uleb128 0x0 ;# Augmentation size: no data -#endif - .byte 0x4 ;# DW_CFA_advance_loc4 - .word .LCFI21-.LFB2 - .byte 0x83 ;# DW_CFA_offset, column 0x3 - .uleb128 0x0 - .byte 0x11 ;# DW_CFA_offset_extended_sf - .uleb128 0x2 - .sleb128 -5 - - .byte 0x4 ;# DW_CFA_advance_loc4 - .word .LCFI22-.LCFI21 - .byte 0xd ;# DW_CFA_def_cfa_register = r3 - .uleb128 0x3 - - .align 4 -.LEFDE2: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix.S deleted file mode 100644 index 7ba5415..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix.S +++ /dev/null @@ -1,566 +0,0 @@ -/* ----------------------------------------------------------------------- - aix.S - Copyright (c) 2002, 2009 Free Software Foundation, Inc. - based on darwin.S by John Hornkvist - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - - .set r0,0 - .set r1,1 - .set r2,2 - .set r3,3 - .set r4,4 - .set r5,5 - .set r6,6 - .set r7,7 - .set r8,8 - .set r9,9 - .set r10,10 - .set r11,11 - .set r12,12 - .set r13,13 - .set r14,14 - .set r15,15 - .set r16,16 - .set r17,17 - .set r18,18 - .set r19,19 - .set r20,20 - .set r21,21 - .set r22,22 - .set r23,23 - .set r24,24 - .set r25,25 - .set r26,26 - .set r27,27 - .set r28,28 - .set r29,29 - .set r30,30 - .set r31,31 - .set f0,0 - .set f1,1 - .set f2,2 - .set f3,3 - .set f4,4 - .set f5,5 - .set f6,6 - .set f7,7 - .set f8,8 - .set f9,9 - .set f10,10 - .set f11,11 - .set f12,12 - .set f13,13 - .set f14,14 - .set f15,15 - .set f16,16 - .set f17,17 - .set f18,18 - .set f19,19 - .set f20,20 - .set f21,21 - - .extern .ffi_prep_args - -#define LIBFFI_ASM -#include -#include -#define JUMPTARGET(name) name -#define L(x) x - .file "aix.S" - .toc - - /* void ffi_call_AIX(extended_cif *ecif, unsigned long bytes, - * unsigned int flags, unsigned int *rvalue, - * void (*fn)(), - * void (*prep_args)(extended_cif*, unsigned *const)); - * r3=ecif, r4=bytes, r5=flags, r6=rvalue, r7=fn, r8=prep_args - */ - -.csect .text[PR] - .align 2 - .globl ffi_call_AIX - .globl .ffi_call_AIX -.csect ffi_call_AIX[DS] -ffi_call_AIX: -#ifdef __64BIT__ - .llong .ffi_call_AIX, TOC[tc0], 0 - .csect .text[PR] -.ffi_call_AIX: - .function .ffi_call_AIX,.ffi_call_AIX,16,044,LFE..0-LFB..0 - .bf __LINE__ - .line 1 -LFB..0: - /* Save registers we use. */ - mflr r0 - - std r28,-32(r1) - std r29,-24(r1) - std r30,-16(r1) - std r31, -8(r1) - - std r0, 16(r1) -LCFI..0: - mr r28, r1 /* our AP. */ - stdux r1, r1, r4 -LCFI..1: - - /* Save arguments over call... */ - mr r31, r5 /* flags, */ - mr r30, r6 /* rvalue, */ - mr r29, r7 /* function address. */ - std r2, 40(r1) - - /* Call ffi_prep_args. */ - mr r4, r1 - bl .ffi_prep_args - nop - - /* Now do the call. */ - ld r0, 0(r29) - ld r2, 8(r29) - ld r11, 16(r29) - /* Set up cr1 with bits 4-7 of the flags. */ - mtcrf 0x40, r31 - mtctr r0 - /* Load all those argument registers. */ - /* We have set up a nice stack frame, just load it into registers. */ - ld r3, 40+(1*8)(r1) - ld r4, 40+(2*8)(r1) - ld r5, 40+(3*8)(r1) - ld r6, 40+(4*8)(r1) - nop - ld r7, 40+(5*8)(r1) - ld r8, 40+(6*8)(r1) - ld r9, 40+(7*8)(r1) - ld r10,40+(8*8)(r1) - -L1: - /* Load all the FP registers. */ - bf 6,L2 /* 2f + 0x18 */ - lfd f1,-32-(13*8)(r28) - lfd f2,-32-(12*8)(r28) - lfd f3,-32-(11*8)(r28) - lfd f4,-32-(10*8)(r28) - nop - lfd f5,-32-(9*8)(r28) - lfd f6,-32-(8*8)(r28) - lfd f7,-32-(7*8)(r28) - lfd f8,-32-(6*8)(r28) - nop - lfd f9,-32-(5*8)(r28) - lfd f10,-32-(4*8)(r28) - lfd f11,-32-(3*8)(r28) - lfd f12,-32-(2*8)(r28) - nop - lfd f13,-32-(1*8)(r28) - -L2: - /* Make the call. */ - bctrl - ld r2, 40(r1) - - /* Now, deal with the return value. */ - mtcrf 0x01, r31 - - bt 30, L(done_return_value) - bt 29, L(fp_return_value) - std r3, 0(r30) - - /* Fall through... */ - -L(done_return_value): - /* Restore the registers we used and return. */ - mr r1, r28 - ld r0, 16(r28) - ld r28, -32(r1) - mtlr r0 - ld r29, -24(r1) - ld r30, -16(r1) - ld r31, -8(r1) - blr - -L(fp_return_value): - bf 28, L(float_return_value) - stfd f1, 0(r30) - bf 31, L(done_return_value) - stfd f2, 8(r30) - b L(done_return_value) -L(float_return_value): - stfs f1, 0(r30) - b L(done_return_value) -LFE..0: -#else /* ! __64BIT__ */ - - .long .ffi_call_AIX, TOC[tc0], 0 - .csect .text[PR] -.ffi_call_AIX: - .function .ffi_call_AIX,.ffi_call_AIX,16,044,LFE..0-LFB..0 - .bf __LINE__ - .line 1 -LFB..0: - /* Save registers we use. */ - mflr r0 - - stw r28,-16(r1) - stw r29,-12(r1) - stw r30, -8(r1) - stw r31, -4(r1) - - stw r0, 8(r1) -LCFI..0: - mr r28, r1 /* out AP. */ - stwux r1, r1, r4 -LCFI..1: - - /* Save arguments over call... */ - mr r31, r5 /* flags, */ - mr r30, r6 /* rvalue, */ - mr r29, r7 /* function address, */ - stw r2, 20(r1) - - /* Call ffi_prep_args. */ - mr r4, r1 - bl .ffi_prep_args - nop - - /* Now do the call. */ - lwz r0, 0(r29) - lwz r2, 4(r29) - lwz r11, 8(r29) - /* Set up cr1 with bits 4-7 of the flags. */ - mtcrf 0x40, r31 - mtctr r0 - /* Load all those argument registers. */ - /* We have set up a nice stack frame, just load it into registers. */ - lwz r3, 20+(1*4)(r1) - lwz r4, 20+(2*4)(r1) - lwz r5, 20+(3*4)(r1) - lwz r6, 20+(4*4)(r1) - nop - lwz r7, 20+(5*4)(r1) - lwz r8, 20+(6*4)(r1) - lwz r9, 20+(7*4)(r1) - lwz r10,20+(8*4)(r1) - -L1: - /* Load all the FP registers. */ - bf 6,L2 /* 2f + 0x18 */ - lfd f1,-16-(13*8)(r28) - lfd f2,-16-(12*8)(r28) - lfd f3,-16-(11*8)(r28) - lfd f4,-16-(10*8)(r28) - nop - lfd f5,-16-(9*8)(r28) - lfd f6,-16-(8*8)(r28) - lfd f7,-16-(7*8)(r28) - lfd f8,-16-(6*8)(r28) - nop - lfd f9,-16-(5*8)(r28) - lfd f10,-16-(4*8)(r28) - lfd f11,-16-(3*8)(r28) - lfd f12,-16-(2*8)(r28) - nop - lfd f13,-16-(1*8)(r28) - -L2: - /* Make the call. */ - bctrl - lwz r2, 20(r1) - - /* Now, deal with the return value. */ - mtcrf 0x01, r31 - - bt 30, L(done_return_value) - bt 29, L(fp_return_value) - stw r3, 0(r30) - bf 28, L(done_return_value) - stw r4, 4(r30) - - /* Fall through... */ - -L(done_return_value): - /* Restore the registers we used and return. */ - mr r1, r28 - lwz r0, 8(r28) - lwz r28,-16(r1) - mtlr r0 - lwz r29,-12(r1) - lwz r30, -8(r1) - lwz r31, -4(r1) - blr - -L(fp_return_value): - bf 28, L(float_return_value) - stfd f1, 0(r30) - b L(done_return_value) -L(float_return_value): - stfs f1, 0(r30) - b L(done_return_value) -LFE..0: -#endif - .ef __LINE__ - .long 0 - .byte 0,0,0,1,128,4,0,0 -/* END(ffi_call_AIX) */ - - /* void ffi_call_go_AIX(extended_cif *ecif, unsigned long bytes, - * unsigned int flags, unsigned int *rvalue, - * void (*fn)(), - * void (*prep_args)(extended_cif*, unsigned *const), - * void *closure); - * r3=ecif, r4=bytes, r5=flags, r6=rvalue, r7=fn, r8=prep_args, r9=closure - */ - -.csect .text[PR] - .align 2 - .globl ffi_call_go_AIX - .globl .ffi_call_go_AIX -.csect ffi_call_go_AIX[DS] -ffi_call_go_AIX: -#ifdef __64BIT__ - .llong .ffi_call_go_AIX, TOC[tc0], 0 - .csect .text[PR] -.ffi_call_go_AIX: - .function .ffi_call_go_AIX,.ffi_call_go_AIX,16,044,LFE..1-LFB..1 - .bf __LINE__ - .line 1 -LFB..1: - /* Save registers we use. */ - mflr r0 - - std r28,-32(r1) - std r29,-24(r1) - std r30,-16(r1) - std r31, -8(r1) - - std r9, 8(r1) /* closure, saved in cr field. */ - std r0, 16(r1) -LCFI..2: - mr r28, r1 /* our AP. */ - stdux r1, r1, r4 -LCFI..3: - - /* Save arguments over call... */ - mr r31, r5 /* flags, */ - mr r30, r6 /* rvalue, */ - mr r29, r7 /* function address, */ - std r2, 40(r1) - - /* Call ffi_prep_args. */ - mr r4, r1 - bl .ffi_prep_args - nop - - /* Now do the call. */ - ld r0, 0(r29) - ld r2, 8(r29) - ld r11, 8(r28) /* closure */ - /* Set up cr1 with bits 4-7 of the flags. */ - mtcrf 0x40, r31 - mtctr r0 - /* Load all those argument registers. */ - /* We have set up a nice stack frame, just load it into registers. */ - ld r3, 40+(1*8)(r1) - ld r4, 40+(2*8)(r1) - ld r5, 40+(3*8)(r1) - ld r6, 40+(4*8)(r1) - nop - ld r7, 40+(5*8)(r1) - ld r8, 40+(6*8)(r1) - ld r9, 40+(7*8)(r1) - ld r10,40+(8*8)(r1) - - b L1 -LFE..1: -#else /* ! __64BIT__ */ - - .long .ffi_call_go_AIX, TOC[tc0], 0 - .csect .text[PR] -.ffi_call_go_AIX: - .function .ffi_call_go_AIX,.ffi_call_go_AIX,16,044,LFE..1-LFB..1 - .bf __LINE__ - .line 1 - /* Save registers we use. */ -LFB..1: - mflr r0 - - stw r28,-16(r1) - stw r29,-12(r1) - stw r30, -8(r1) - stw r31, -4(r1) - - stw r9, 4(r1) /* closure, saved in cr field. */ - stw r0, 8(r1) -LCFI..2: - mr r28, r1 /* out AP. */ - stwux r1, r1, r4 -LCFI..3: - - /* Save arguments over call... */ - mr r31, r5 /* flags, */ - mr r30, r6 /* rvalue, */ - mr r29, r7 /* function address, */ - stw r2, 20(r1) - - /* Call ffi_prep_args. */ - mr r4, r1 - bl .ffi_prep_args - nop - - /* Now do the call. */ - lwz r0, 0(r29) - lwz r2, 4(r29) - lwz r11, 4(r28) /* closure */ - /* Set up cr1 with bits 4-7 of the flags. */ - mtcrf 0x40, r31 - mtctr r0 - /* Load all those argument registers. */ - /* We have set up a nice stack frame, just load it into registers. */ - lwz r3, 20+(1*4)(r1) - lwz r4, 20+(2*4)(r1) - lwz r5, 20+(3*4)(r1) - lwz r6, 20+(4*4)(r1) - nop - lwz r7, 20+(5*4)(r1) - lwz r8, 20+(6*4)(r1) - lwz r9, 20+(7*4)(r1) - lwz r10,20+(8*4)(r1) - - b L1 -LFE..1: -#endif - .ef __LINE__ - .long 0 - .byte 0,0,0,1,128,4,0,0 -/* END(ffi_call_go_AIX) */ - -.csect .text[PR] - .align 2 - .globl ffi_call_DARWIN - .globl .ffi_call_DARWIN -.csect ffi_call_DARWIN[DS] -ffi_call_DARWIN: -#ifdef __64BIT__ - .llong .ffi_call_DARWIN, TOC[tc0], 0 -#else - .long .ffi_call_DARWIN, TOC[tc0], 0 -#endif - .csect .text[PR] -.ffi_call_DARWIN: - blr - .long 0 - .byte 0,0,0,0,0,0,0,0 -/* END(ffi_call_DARWIN) */ - -/* EH frame stuff. */ - -#define LR_REGNO 0x41 /* Link Register (65), see rs6000.md */ -#ifdef __64BIT__ -#define PTRSIZE 8 -#define LOG2_PTRSIZE 3 -#define FDE_ENCODING 0x1c /* DW_EH_PE_pcrel|DW_EH_PE_sdata8 */ -#define EH_DATA_ALIGN_FACT 0x78 /* LEB128 -8 */ -#else -#define PTRSIZE 4 -#define LOG2_PTRSIZE 2 -#define FDE_ENCODING 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4 */ -#define EH_DATA_ALIGN_FACT 0x7c /* LEB128 -4 */ -#endif - .csect _unwind.ro_[RO],4 - .align LOG2_PTRSIZE - .globl _GLOBAL__F_libffi_src_powerpc_aix -_GLOBAL__F_libffi_src_powerpc_aix: -Lframe..1: - .vbyte 4,LECIE..1-LSCIE..1 /* CIE Length */ -LSCIE..1: - .vbyte 4,0 /* CIE Identifier Tag */ - .byte 0x3 /* CIE Version */ - .byte "zR" /* CIE Augmentation */ - .byte 0 - .byte 0x1 /* uleb128 0x1; CIE Code Alignment Factor */ - .byte EH_DATA_ALIGN_FACT /* leb128 -4/-8; CIE Data Alignment Factor */ - .byte 0x41 /* CIE RA Column */ - .byte 0x1 /* uleb128 0x1; Augmentation size */ - .byte FDE_ENCODING /* FDE Encoding (pcrel|sdata4/8) */ - .byte 0xc /* DW_CFA_def_cfa */ - .byte 0x1 /* uleb128 0x1; Register r1 */ - .byte 0 /* uleb128 0x0; Offset 0 */ - .align LOG2_PTRSIZE -LECIE..1: -LSFDE..1: - .vbyte 4,LEFDE..1-LASFDE..1 /* FDE Length */ -LASFDE..1: - .vbyte 4,LASFDE..1-Lframe..1 /* FDE CIE offset */ - .vbyte PTRSIZE,LFB..0-$ /* FDE initial location */ - .vbyte PTRSIZE,LFE..0-LFB..0 /* FDE address range */ - .byte 0 /* uleb128 0x0; Augmentation size */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..0-LFB..0 - .byte 0x11 /* DW_CFA_def_offset_extended_sf */ - .byte LR_REGNO /* uleb128 LR_REGNO; Register LR */ - .byte 0x7e /* leb128 -2; Offset -2 (8/16) */ - .byte 0x9f /* DW_CFA_offset Register r31 */ - .byte 0x1 /* uleb128 0x1; Offset 1 (-4/-8) */ - .byte 0x9e /* DW_CFA_offset Register r30 */ - .byte 0x2 /* uleb128 0x2; Offset 2 (-8/-16) */ - .byte 0x9d /* DW_CFA_offset Register r29 */ - .byte 0x3 /* uleb128 0x3; Offset 3 (-12/-24) */ - .byte 0x9c /* DW_CFA_offset Register r28 */ - .byte 0x4 /* uleb128 0x4; Offset 4 (-16/-32) */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..1-LCFI..0 - .byte 0xd /* DW_CFA_def_cfa_register */ - .byte 0x1c /* uleb128 28; Register r28 */ - .align LOG2_PTRSIZE -LEFDE..1: -LSFDE..2: - .vbyte 4,LEFDE..2-LASFDE..2 /* FDE Length */ -LASFDE..2: - .vbyte 4,LASFDE..2-Lframe..1 /* FDE CIE offset */ - .vbyte PTRSIZE,LFB..1-$ /* FDE initial location */ - .vbyte PTRSIZE,LFE..1-LFB..1 /* FDE address range */ - .byte 0 /* uleb128 0x0; Augmentation size */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..2-LFB..1 - .byte 0x11 /* DW_CFA_def_offset_extended_sf */ - .byte LR_REGNO /* uleb128 LR_REGNO; Register LR */ - .byte 0x7e /* leb128 -2; Offset -2 (8/16) */ - .byte 0x9f /* DW_CFA_offset Register r31 */ - .byte 0x1 /* uleb128 0x1; Offset 1 (-4/-8) */ - .byte 0x9e /* DW_CFA_offset Register r30 */ - .byte 0x2 /* uleb128 0x2; Offset 2 (-8/-16) */ - .byte 0x9d /* DW_CFA_offset Register r29 */ - .byte 0x3 /* uleb128 0x3; Offset 3 (-12/-24) */ - .byte 0x9c /* DW_CFA_offset Register r28 */ - .byte 0x4 /* uleb128 0x4; Offset 4 (-16/-32) */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..3-LCFI..2 - .byte 0xd /* DW_CFA_def_cfa_register */ - .byte 0x1c /* uleb128 28; Register r28 */ - .align LOG2_PTRSIZE -LEFDE..2: - .vbyte 4,0 /* End of FDEs */ - - .csect .text[PR] - .ref _GLOBAL__F_libffi_src_powerpc_aix /* Prevents garbage collection by AIX linker */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix_closure.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix_closure.S deleted file mode 100644 index 132c785..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix_closure.S +++ /dev/null @@ -1,694 +0,0 @@ -/* ----------------------------------------------------------------------- - aix_closure.S - Copyright (c) 2002, 2003, 2009 Free Software Foundation, Inc. - based on darwin_closure.S - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - - .set r0,0 - .set r1,1 - .set r2,2 - .set r3,3 - .set r4,4 - .set r5,5 - .set r6,6 - .set r7,7 - .set r8,8 - .set r9,9 - .set r10,10 - .set r11,11 - .set r12,12 - .set r13,13 - .set r14,14 - .set r15,15 - .set r16,16 - .set r17,17 - .set r18,18 - .set r19,19 - .set r20,20 - .set r21,21 - .set r22,22 - .set r23,23 - .set r24,24 - .set r25,25 - .set r26,26 - .set r27,27 - .set r28,28 - .set r29,29 - .set r30,30 - .set r31,31 - .set f0,0 - .set f1,1 - .set f2,2 - .set f3,3 - .set f4,4 - .set f5,5 - .set f6,6 - .set f7,7 - .set f8,8 - .set f9,9 - .set f10,10 - .set f11,11 - .set f12,12 - .set f13,13 - .set f14,14 - .set f15,15 - .set f16,16 - .set f17,17 - .set f18,18 - .set f19,19 - .set f20,20 - .set f21,21 - - .extern .ffi_closure_helper_DARWIN - .extern .ffi_go_closure_helper_DARWIN - -#define LIBFFI_ASM -#define JUMPTARGET(name) name -#define L(x) x - .file "aix_closure.S" - .toc -LC..60: - .tc L..60[TC],L..60 - .csect .text[PR] - .align 2 - -.csect .text[PR] - .align 2 - .globl ffi_closure_ASM - .globl .ffi_closure_ASM -.csect ffi_closure_ASM[DS] -ffi_closure_ASM: -#ifdef __64BIT__ - .llong .ffi_closure_ASM, TOC[tc0], 0 - .csect .text[PR] -.ffi_closure_ASM: - .function .ffi_closure_ASM,.ffi_closure_ASM,16,044,LFE..0-LFB..0 - .bf __LINE__ - .line 1 -LFB..0: -/* we want to build up an area for the parameters passed */ -/* in registers (both floating point and integer) */ - - /* we store gpr 3 to gpr 10 (aligned to 4) - in the parents outgoing area */ - std r3, 48+(0*8)(r1) - std r4, 48+(1*8)(r1) - std r5, 48+(2*8)(r1) - std r6, 48+(3*8)(r1) - mflr r0 - - std r7, 48+(4*8)(r1) - std r8, 48+(5*8)(r1) - std r9, 48+(6*8)(r1) - std r10, 48+(7*8)(r1) - std r0, 16(r1) /* save the return address */ -LCFI..0: - /* 48 Bytes (Linkage Area) */ - /* 64 Bytes (params) */ - /* 16 Bytes (result) */ - /* 104 Bytes (13*8 from FPR) */ - /* 8 Bytes (alignment) */ - /* 240 Bytes */ - - stdu r1, -240(r1) /* skip over caller save area - keep stack aligned to 16 */ -LCFI..1: - - /* next save fpr 1 to fpr 13 (aligned to 8) */ - stfd f1, 128+(0*8)(r1) - stfd f2, 128+(1*8)(r1) - stfd f3, 128+(2*8)(r1) - stfd f4, 128+(3*8)(r1) - stfd f5, 128+(4*8)(r1) - stfd f6, 128+(5*8)(r1) - stfd f7, 128+(6*8)(r1) - stfd f8, 128+(7*8)(r1) - stfd f9, 128+(8*8)(r1) - stfd f10, 128+(9*8)(r1) - stfd f11, 128+(10*8)(r1) - stfd f12, 128+(11*8)(r1) - stfd f13, 128+(12*8)(r1) - - /* set up registers for the routine that actually does the work */ - /* get the context pointer from the trampoline */ - mr r3, r11 - - /* now load up the pointer to the result storage */ - addi r4, r1, 112 - - /* now load up the pointer to the saved gpr registers */ - addi r5, r1, 288 - - /* now load up the pointer to the saved fpr registers */ - addi r6, r1, 128 - - /* make the call */ - bl .ffi_closure_helper_DARWIN - nop - -.Ldoneclosure: - - /* now r3 contains the return type */ - /* so use it to look up in a table */ - /* so we know how to deal with each type */ - - /* look up the proper starting point in table */ - /* by using return type as offset */ - lhz r3, 10(r3) /* load type from return type */ - ld r4, LC..60(2) /* get address of jump table */ - sldi r3, r3, 4 /* now multiply return type by 16 */ - ld r0, 240+16(r1) /* load return address */ - add r3, r3, r4 /* add contents of table to table address */ - mtctr r3 - bctr /* jump to it */ - -/* Each fragment must be exactly 16 bytes long (4 instructions). - Align to 16 byte boundary for cache and dispatch efficiency. */ - .align 4 - -L..60: -/* case FFI_TYPE_VOID */ - mtlr r0 - addi r1, r1, 240 - blr - nop - -/* case FFI_TYPE_INT */ - lwa r3, 112+4(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_FLOAT */ - lfs f1, 112+0(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_DOUBLE */ - lfd f1, 112+0(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_LONGDOUBLE */ - lfd f1, 112+0(r1) - mtlr r0 - lfd f2, 112+8(r1) - b L..finish - -/* case FFI_TYPE_UINT8 */ - lbz r3, 112+7(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_SINT8 */ - lbz r3, 112+7(r1) - mtlr r0 - extsb r3, r3 - b L..finish - -/* case FFI_TYPE_UINT16 */ - lhz r3, 112+6(r1) - mtlr r0 -L..finish: - addi r1, r1, 240 - blr - -/* case FFI_TYPE_SINT16 */ - lha r3, 112+6(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_UINT32 */ - lwz r3, 112+4(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_SINT32 */ - lwa r3, 112+4(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_UINT64 */ - ld r3, 112+0(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_SINT64 */ - ld r3, 112+0(r1) - mtlr r0 - addi r1, r1, 240 - blr - -/* case FFI_TYPE_STRUCT */ - mtlr r0 - addi r1, r1, 240 - blr - nop - -/* case FFI_TYPE_POINTER */ - ld r3, 112+0(r1) - mtlr r0 - addi r1, r1, 240 - blr -LFE..0: - -#else /* ! __64BIT__ */ - - .long .ffi_closure_ASM, TOC[tc0], 0 - .csect .text[PR] -.ffi_closure_ASM: - .function .ffi_closure_ASM,.ffi_closure_ASM,16,044,LFE..0-LFB..0 - .bf __LINE__ - .line 1 -LFB..0: -/* we want to build up an area for the parameters passed */ -/* in registers (both floating point and integer) */ - - /* we store gpr 3 to gpr 10 (aligned to 4) - in the parents outgoing area */ - stw r3, 24+(0*4)(r1) - stw r4, 24+(1*4)(r1) - stw r5, 24+(2*4)(r1) - stw r6, 24+(3*4)(r1) - mflr r0 - - stw r7, 24+(4*4)(r1) - stw r8, 24+(5*4)(r1) - stw r9, 24+(6*4)(r1) - stw r10, 24+(7*4)(r1) - stw r0, 8(r1) -LCFI..0: - /* 24 Bytes (Linkage Area) */ - /* 32 Bytes (params) */ - /* 16 Bytes (result) */ - /* 104 Bytes (13*8 from FPR) */ - /* 176 Bytes */ - - stwu r1, -176(r1) /* skip over caller save area - keep stack aligned to 16 */ -LCFI..1: - - /* next save fpr 1 to fpr 13 (aligned to 8) */ - stfd f1, 72+(0*8)(r1) - stfd f2, 72+(1*8)(r1) - stfd f3, 72+(2*8)(r1) - stfd f4, 72+(3*8)(r1) - stfd f5, 72+(4*8)(r1) - stfd f6, 72+(5*8)(r1) - stfd f7, 72+(6*8)(r1) - stfd f8, 72+(7*8)(r1) - stfd f9, 72+(8*8)(r1) - stfd f10, 72+(9*8)(r1) - stfd f11, 72+(10*8)(r1) - stfd f12, 72+(11*8)(r1) - stfd f13, 72+(12*8)(r1) - - /* set up registers for the routine that actually does the work */ - /* get the context pointer from the trampoline */ - mr r3, r11 - - /* now load up the pointer to the result storage */ - addi r4, r1, 56 - - /* now load up the pointer to the saved gpr registers */ - addi r5, r1, 200 - - /* now load up the pointer to the saved fpr registers */ - addi r6, r1, 72 - - /* make the call */ - bl .ffi_closure_helper_DARWIN - nop - -.Ldoneclosure: - - /* now r3 contains the return type */ - /* so use it to look up in a table */ - /* so we know how to deal with each type */ - - /* look up the proper starting point in table */ - /* by using return type as offset */ - lhz r3, 6(r3) /* load type from return type */ - lwz r4, LC..60(2) /* get address of jump table */ - slwi r3, r3, 4 /* now multiply return type by 16 */ - lwz r0, 176+8(r1) /* load return address */ - add r3, r3, r4 /* add contents of table to table address */ - mtctr r3 - bctr /* jump to it */ - -/* Each fragment must be exactly 16 bytes long (4 instructions). - Align to 16 byte boundary for cache and dispatch efficiency. */ - .align 4 - -L..60: -/* case FFI_TYPE_VOID */ - mtlr r0 - addi r1, r1, 176 - blr - nop - -/* case FFI_TYPE_INT */ - lwz r3, 56+0(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_FLOAT */ - lfs f1, 56+0(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_DOUBLE */ - lfd f1, 56+0(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_LONGDOUBLE */ - lfd f1, 56+0(r1) - mtlr r0 - lfd f2, 56+8(r1) - b L..finish - -/* case FFI_TYPE_UINT8 */ - lbz r3, 56+3(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_SINT8 */ - lbz r3, 56+3(r1) - mtlr r0 - extsb r3, r3 - b L..finish - -/* case FFI_TYPE_UINT16 */ - lhz r3, 56+2(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_SINT16 */ - lha r3, 56+2(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_UINT32 */ - lwz r3, 56+0(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_SINT32 */ - lwz r3, 56+0(r1) - mtlr r0 - addi r1, r1, 176 - blr - -/* case FFI_TYPE_UINT64 */ - lwz r3, 56+0(r1) - mtlr r0 - lwz r4, 56+4(r1) - b L..finish - -/* case FFI_TYPE_SINT64 */ - lwz r3, 56+0(r1) - mtlr r0 - lwz r4, 56+4(r1) - b L..finish - -/* case FFI_TYPE_STRUCT */ - mtlr r0 - addi r1, r1, 176 - blr - nop - -/* case FFI_TYPE_POINTER */ - lwz r3, 56+0(r1) - mtlr r0 -L..finish: - addi r1, r1, 176 - blr -LFE..0: -#endif - .ef __LINE__ -/* END(ffi_closure_ASM) */ - - -.csect .text[PR] - .align 2 - .globl ffi_go_closure_ASM - .globl .ffi_go_closure_ASM -.csect ffi_go_closure_ASM[DS] -ffi_go_closure_ASM: -#ifdef __64BIT__ - .llong .ffi_go_closure_ASM, TOC[tc0], 0 - .csect .text[PR] -.ffi_go_closure_ASM: - .function .ffi_go_closure_ASM,.ffi_go_closure_ASM,16,044,LFE..1-LFB..1 - .bf __LINE__ - .line 1 -LFB..1: -/* we want to build up an area for the parameters passed */ -/* in registers (both floating point and integer) */ - - /* we store gpr 3 to gpr 10 (aligned to 4) - in the parents outgoing area */ - std r3, 48+(0*8)(r1) - std r4, 48+(1*8)(r1) - std r5, 48+(2*8)(r1) - std r6, 48+(3*8)(r1) - mflr r0 - - std r7, 48+(4*8)(r1) - std r8, 48+(5*8)(r1) - std r9, 48+(6*8)(r1) - std r10, 48+(7*8)(r1) - std r0, 16(r1) /* save the return address */ -LCFI..2: - /* 48 Bytes (Linkage Area) */ - /* 64 Bytes (params) */ - /* 16 Bytes (result) */ - /* 104 Bytes (13*8 from FPR) */ - /* 8 Bytes (alignment) */ - /* 240 Bytes */ - - stdu r1, -240(r1) /* skip over caller save area - keep stack aligned to 16 */ -LCFI..3: - - /* next save fpr 1 to fpr 13 (aligned to 8) */ - stfd f1, 128+(0*8)(r1) - stfd f2, 128+(1*8)(r1) - stfd f3, 128+(2*8)(r1) - stfd f4, 128+(3*8)(r1) - stfd f5, 128+(4*8)(r1) - stfd f6, 128+(5*8)(r1) - stfd f7, 128+(6*8)(r1) - stfd f8, 128+(7*8)(r1) - stfd f9, 128+(8*8)(r1) - stfd f10, 128+(9*8)(r1) - stfd f11, 128+(10*8)(r1) - stfd f12, 128+(11*8)(r1) - stfd f13, 128+(12*8)(r1) - - /* set up registers for the routine that actually does the work */ - mr r3, r11 /* go closure */ - - /* now load up the pointer to the result storage */ - addi r4, r1, 112 - - /* now load up the pointer to the saved gpr registers */ - addi r5, r1, 288 - - /* now load up the pointer to the saved fpr registers */ - addi r6, r1, 128 - - /* make the call */ - bl .ffi_go_closure_helper_DARWIN - nop - - b .Ldoneclosure -LFE..1: - -#else /* ! __64BIT__ */ - - .long .ffi_go_closure_ASM, TOC[tc0], 0 - .csect .text[PR] -.ffi_go_closure_ASM: - .function .ffi_go_closure_ASM,.ffi_go_closure_ASM,16,044,LFE..1-LFB..1 - .bf __LINE__ - .line 1 -LFB..1: -/* we want to build up an area for the parameters passed */ -/* in registers (both floating point and integer) */ - - /* we store gpr 3 to gpr 10 (aligned to 4) - in the parents outgoing area */ - stw r3, 24+(0*4)(r1) - stw r4, 24+(1*4)(r1) - stw r5, 24+(2*4)(r1) - stw r6, 24+(3*4)(r1) - mflr r0 - - stw r7, 24+(4*4)(r1) - stw r8, 24+(5*4)(r1) - stw r9, 24+(6*4)(r1) - stw r10, 24+(7*4)(r1) - stw r0, 8(r1) -LCFI..2: - /* 24 Bytes (Linkage Area) */ - /* 32 Bytes (params) */ - /* 16 Bytes (result) */ - /* 104 Bytes (13*8 from FPR) */ - /* 176 Bytes */ - - stwu r1, -176(r1) /* skip over caller save area - keep stack aligned to 16 */ -LCFI..3: - - /* next save fpr 1 to fpr 13 (aligned to 8) */ - stfd f1, 72+(0*8)(r1) - stfd f2, 72+(1*8)(r1) - stfd f3, 72+(2*8)(r1) - stfd f4, 72+(3*8)(r1) - stfd f5, 72+(4*8)(r1) - stfd f6, 72+(5*8)(r1) - stfd f7, 72+(6*8)(r1) - stfd f8, 72+(7*8)(r1) - stfd f9, 72+(8*8)(r1) - stfd f10, 72+(9*8)(r1) - stfd f11, 72+(10*8)(r1) - stfd f12, 72+(11*8)(r1) - stfd f13, 72+(12*8)(r1) - - /* set up registers for the routine that actually does the work */ - mr r3, 11 /* go closure */ - - /* now load up the pointer to the result storage */ - addi r4, r1, 56 - - /* now load up the pointer to the saved gpr registers */ - addi r5, r1, 200 - - /* now load up the pointer to the saved fpr registers */ - addi r6, r1, 72 - - /* make the call */ - bl .ffi_go_closure_helper_DARWIN - nop - - b .Ldoneclosure -LFE..1: -#endif - .ef __LINE__ -/* END(ffi_go_closure_ASM) */ - -/* EH frame stuff. */ - -#define LR_REGNO 0x41 /* Link Register (65), see rs6000.md */ -#ifdef __64BIT__ -#define PTRSIZE 8 -#define LOG2_PTRSIZE 3 -#define CFA_OFFSET 0xf0,0x01 /* LEB128 240 */ -#define FDE_ENCODING 0x1c /* DW_EH_PE_pcrel|DW_EH_PE_sdata8 */ -#define EH_DATA_ALIGN_FACT 0x78 /* LEB128 -8 */ -#else -#define PTRSIZE 4 -#define LOG2_PTRSIZE 2 -#define CFA_OFFSET 0xb0,0x01 /* LEB128 176 */ -#define FDE_ENCODING 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4 */ -#define EH_DATA_ALIGN_FACT 0x7c /* LEB128 -4 */ -#endif - - .csect _unwind.ro_[RO],4 - .align LOG2_PTRSIZE - .globl _GLOBAL__F_libffi_src_powerpc_aix_closure -_GLOBAL__F_libffi_src_powerpc_aix_closure: -Lframe..1: - .vbyte 4,LECIE..1-LSCIE..1 /* CIE Length */ -LSCIE..1: - .vbyte 4,0 /* CIE Identifier Tag */ - .byte 0x3 /* CIE Version */ - .byte "zR" /* CIE Augmentation */ - .byte 0 - .byte 0x1 /* uleb128 0x1; CIE Code Alignment Factor */ - .byte EH_DATA_ALIGN_FACT /* leb128 -4/-8; CIE Data Alignment Factor */ - .byte LR_REGNO /* CIE RA Column */ - .byte 0x1 /* uleb128 0x1; Augmentation size */ - .byte FDE_ENCODING /* FDE Encoding (pcrel|sdata4/8) */ - .byte 0xc /* DW_CFA_def_cfa */ - .byte 0x1 /* uleb128 0x1; Register r1 */ - .byte 0 /* uleb128 0x0; Offset 0 */ - .align LOG2_PTRSIZE -LECIE..1: -LSFDE..1: - .vbyte 4,LEFDE..1-LASFDE..1 /* FDE Length */ -LASFDE..1: - .vbyte 4,LASFDE..1-Lframe..1 /* FDE CIE offset */ - .vbyte PTRSIZE,LFB..0-$ /* FDE initial location */ - .vbyte PTRSIZE,LFE..0-LFB..0 /* FDE address range */ - .byte 0 /* uleb128 0x0; Augmentation size */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..1-LCFI..0 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte CFA_OFFSET /* uleb128 176/240 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..0-LFB..0 - .byte 0x11 /* DW_CFA_offset_extended_sf */ - .byte LR_REGNO /* uleb128 LR_REGNO; Register LR */ - .byte 0x7e /* leb128 -2; Offset -2 (8/16) */ - .align LOG2_PTRSIZE -LEFDE..1: -LSFDE..2: - .vbyte 4,LEFDE..2-LASFDE..2 /* FDE Length */ -LASFDE..2: - .vbyte 4,LASFDE..2-Lframe..1 /* FDE CIE offset */ - .vbyte PTRSIZE,LFB..1-$ /* FDE initial location */ - .vbyte PTRSIZE,LFE..1-LFB..1 /* FDE address range */ - .byte 0 /* uleb128 0x0; Augmentation size */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..3-LCFI..2 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte CFA_OFFSET /* uleb128 176/240 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .vbyte 4,LCFI..2-LFB..1 - .byte 0x11 /* DW_CFA_offset_extended_sf */ - .byte LR_REGNO /* uleb128 LR_REGNO; Register LR */ - .byte 0x7e /* leb128 -2; Offset -2 (8/16) */ - .align LOG2_PTRSIZE -LEFDE..2: - .vbyte 4,0 /* End of FDEs */ - - .csect .text[PR] - .ref _GLOBAL__F_libffi_src_powerpc_aix_closure /* Prevents garbage collection by AIX linker */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/asm.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/asm.h deleted file mode 100644 index 27b22f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/asm.h +++ /dev/null @@ -1,125 +0,0 @@ -/* ----------------------------------------------------------------------- - asm.h - Copyright (c) 1998 Geoffrey Keating - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define ASM_GLOBAL_DIRECTIVE .globl - - -#define C_SYMBOL_NAME(name) name -/* Macro for a label. */ -#ifdef __STDC__ -#define C_LABEL(name) name##: -#else -#define C_LABEL(name) name/**/: -#endif - -/* This seems to always be the case on PPC. */ -#define ALIGNARG(log2) log2 -/* For ELF we need the `.type' directive to make shared libs work right. */ -#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg; -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name - -/* If compiled for profiling, call `_mcount' at the start of each function. */ -#ifdef PROF -/* The mcount code relies on the return address being on the stack - to locate our caller and so it can restore it; so store one just - for its benefit. */ -#ifdef PIC -#define CALL_MCOUNT \ - .pushsection; \ - .section ".data"; \ - .align ALIGNARG(2); \ -0:.long 0; \ - .previous; \ - mflr %r0; \ - stw %r0,4(%r1); \ - bl _GLOBAL_OFFSET_TABLE_@local-4; \ - mflr %r11; \ - lwz %r0,0b@got(%r11); \ - bl JUMPTARGET(_mcount); -#else /* PIC */ -#define CALL_MCOUNT \ - .section ".data"; \ - .align ALIGNARG(2); \ -0:.long 0; \ - .previous; \ - mflr %r0; \ - lis %r11,0b@ha; \ - stw %r0,4(%r1); \ - addi %r0,%r11,0b@l; \ - bl JUMPTARGET(_mcount); -#endif /* PIC */ -#else /* PROF */ -#define CALL_MCOUNT /* Do nothing. */ -#endif /* PROF */ - -#define ENTRY(name) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \ - ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ - .align ALIGNARG(2); \ - C_LABEL(name) \ - CALL_MCOUNT - -#define EALIGN_W_0 /* No words to insert. */ -#define EALIGN_W_1 nop -#define EALIGN_W_2 nop;nop -#define EALIGN_W_3 nop;nop;nop -#define EALIGN_W_4 EALIGN_W_3;nop -#define EALIGN_W_5 EALIGN_W_4;nop -#define EALIGN_W_6 EALIGN_W_5;nop -#define EALIGN_W_7 EALIGN_W_6;nop - -/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes - past a 2^align boundary. */ -#ifdef PROF -#define EFFI_ALIGN(name, alignt, words) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \ - ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ - .align ALIGNARG(2); \ - C_LABEL(name) \ - CALL_MCOUNT \ - b 0f; \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - 0: -#else /* PROF */ -#define EFFI_ALIGN(name, alignt, words) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \ - ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - C_LABEL(name) -#endif - -#define END(name) \ - ASM_SIZE_DIRECTIVE(name) - -#ifdef PIC -#define JUMPTARGET(name) name##@plt -#else -#define JUMPTARGET(name) name -#endif - -/* Local labels stripped out by the linker. */ -#define L(x) .L##x diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin.S deleted file mode 100644 index 066eb82..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin.S +++ /dev/null @@ -1,378 +0,0 @@ -/* ----------------------------------------------------------------------- - darwin.S - Copyright (c) 2000 John Hornkvist - Copyright (c) 2004, 2010 Free Software Foundation, Inc. - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#if defined(__ppc64__) -#define MODE_CHOICE(x, y) y -#else -#define MODE_CHOICE(x, y) x -#endif - -#define machine_choice MODE_CHOICE(ppc7400,ppc64) - -; Define some pseudo-opcodes for size-independent load & store of GPRs ... -#define lgu MODE_CHOICE(lwzu, ldu) -#define lg MODE_CHOICE(lwz,ld) -#define sg MODE_CHOICE(stw,std) -#define sgu MODE_CHOICE(stwu,stdu) -#define sgux MODE_CHOICE(stwux,stdux) - -; ... and the size of GPRs and their storage indicator. -#define GPR_BYTES MODE_CHOICE(4,8) -#define LOG2_GPR_BYTES MODE_CHOICE(2,3) /* log2(GPR_BYTES) */ -#define g_long MODE_CHOICE(long, quad) /* usage is ".g_long" */ - -; From the ABI doc: "Mac OS X ABI Function Call Guide" Version 2009-02-04. -#define LINKAGE_SIZE MODE_CHOICE(24,48) -#define PARAM_AREA MODE_CHOICE(32,64) -#define SAVED_LR_OFFSET MODE_CHOICE(8,16) /* save position for lr */ - -/* If there is any FP stuff we make space for all of the regs. */ -#define SAVED_FPR_COUNT 13 -#define FPR_SIZE 8 -#define RESULT_BYTES 16 - -/* This should be kept in step with the same value in ffi_darwin.c. */ -#define ASM_NEEDS_REGISTERS 4 -#define SAVE_REGS_SIZE (ASM_NEEDS_REGISTERS * GPR_BYTES) - -#include -#include - -#define JUMPTARGET(name) name -#define L(x) x - - .text - .align 2 - .globl _ffi_prep_args - - .align 2 - .globl _ffi_call_DARWIN - - /* We arrive here with: - r3 = ptr to extended cif. - r4 = -bytes. - r5 = cif flags. - r6 = ptr to return value. - r7 = fn pointer (user func). - r8 = fn pointer (ffi_prep_args). - r9 = ffi_type* for the ret val. */ - -_ffi_call_DARWIN: -Lstartcode: - mr r12,r8 /* We only need r12 until the call, - so it does not have to be saved. */ -LFB1: - /* Save the old stack pointer as AP. */ - mr r8,r1 -LCFI0: - - /* Save the retval type in parents frame. */ - sg r9,(LINKAGE_SIZE+6*GPR_BYTES)(r8) - - /* Allocate the stack space we need. */ - sgux r1,r1,r4 - - /* Save registers we use. */ - mflr r9 - sg r9,SAVED_LR_OFFSET(r8) - - sg r28,-(4 * GPR_BYTES)(r8) - sg r29,-(3 * GPR_BYTES)(r8) - sg r30,-(2 * GPR_BYTES)(r8) - sg r31,-( GPR_BYTES)(r8) - -#if !defined(POWERPC_DARWIN) - /* The TOC slot is reserved in the Darwin ABI and r2 is volatile. */ - sg r2,(5 * GPR_BYTES)(r1) -#endif - -LCFI1: - - /* Save arguments over call. */ - mr r31,r5 /* flags, */ - mr r30,r6 /* rvalue, */ - mr r29,r7 /* function address, */ - mr r28,r8 /* our AP. */ -LCFI2: - /* Call ffi_prep_args. r3 = extended cif, r4 = stack ptr copy. */ - mr r4,r1 - li r9,0 - - mtctr r12 /* r12 holds address of _ffi_prep_args. */ - bctrl - -#if !defined(POWERPC_DARWIN) - /* The TOC slot is reserved in the Darwin ABI and r2 is volatile. */ - lg r2,(5 * GPR_BYTES)(r1) -#endif - /* Now do the call. - Set up cr1 with bits 4-7 of the flags. */ - mtcrf 0x40,r31 - /* Get the address to call into CTR. */ - mtctr r29 - /* Load all those argument registers. - We have set up a nice stack frame, just load it into registers. */ - lg r3, (LINKAGE_SIZE )(r1) - lg r4, (LINKAGE_SIZE + GPR_BYTES)(r1) - lg r5, (LINKAGE_SIZE + 2 * GPR_BYTES)(r1) - lg r6, (LINKAGE_SIZE + 3 * GPR_BYTES)(r1) - nop - lg r7, (LINKAGE_SIZE + 4 * GPR_BYTES)(r1) - lg r8, (LINKAGE_SIZE + 5 * GPR_BYTES)(r1) - lg r9, (LINKAGE_SIZE + 6 * GPR_BYTES)(r1) - lg r10,(LINKAGE_SIZE + 7 * GPR_BYTES)(r1) - -L1: - /* ... Load all the FP registers. */ - bf 6,L2 /* No floats to load. */ - lfd f1, -SAVE_REGS_SIZE-(13*FPR_SIZE)(r28) - lfd f2, -SAVE_REGS_SIZE-(12*FPR_SIZE)(r28) - lfd f3, -SAVE_REGS_SIZE-(11*FPR_SIZE)(r28) - lfd f4, -SAVE_REGS_SIZE-(10*FPR_SIZE)(r28) - nop - lfd f5, -SAVE_REGS_SIZE-( 9*FPR_SIZE)(r28) - lfd f6, -SAVE_REGS_SIZE-( 8*FPR_SIZE)(r28) - lfd f7, -SAVE_REGS_SIZE-( 7*FPR_SIZE)(r28) - lfd f8, -SAVE_REGS_SIZE-( 6*FPR_SIZE)(r28) - nop - lfd f9, -SAVE_REGS_SIZE-( 5*FPR_SIZE)(r28) - lfd f10,-SAVE_REGS_SIZE-( 4*FPR_SIZE)(r28) - lfd f11,-SAVE_REGS_SIZE-( 3*FPR_SIZE)(r28) - lfd f12,-SAVE_REGS_SIZE-( 2*FPR_SIZE)(r28) - nop - lfd f13,-SAVE_REGS_SIZE-( 1*FPR_SIZE)(r28) - -L2: - mr r12,r29 /* Put the target address in r12 as specified. */ - mtctr r12 - nop - nop - - /* Make the call. */ - bctrl - - /* Now, deal with the return value. */ - - /* m64 structure returns can occupy the same set of registers as - would be used to pass such a structure as arg0 - so take care - not to step on any possibly hot regs. */ - - /* Get the flags.. */ - mtcrf 0x03,r31 ; we need c6 & cr7 now. - ; FLAG_RETURNS_NOTHING also covers struct ret-by-ref. - bt 30,L(done_return_value) ; FLAG_RETURNS_NOTHING - bf 27,L(scalar_return_value) ; not FLAG_RETURNS_STRUCT - - /* OK, so we have a struct. */ -#if defined(__ppc64__) - bt 31,L(maybe_return_128) ; FLAG_RETURNS_128BITS, special case - - /* OK, we have to map the return back to a mem struct. - We are about to trample the parents param area, so recover the - return type. r29 is free, since the call is done. */ - lg r29,(LINKAGE_SIZE + 6 * GPR_BYTES)(r28) - - sg r3, (LINKAGE_SIZE )(r28) - sg r4, (LINKAGE_SIZE + GPR_BYTES)(r28) - sg r5, (LINKAGE_SIZE + 2 * GPR_BYTES)(r28) - sg r6, (LINKAGE_SIZE + 3 * GPR_BYTES)(r28) - nop - sg r7, (LINKAGE_SIZE + 4 * GPR_BYTES)(r28) - sg r8, (LINKAGE_SIZE + 5 * GPR_BYTES)(r28) - sg r9, (LINKAGE_SIZE + 6 * GPR_BYTES)(r28) - sg r10,(LINKAGE_SIZE + 7 * GPR_BYTES)(r28) - /* OK, so do the block move - we trust that memcpy will not trample - the fprs... */ - mr r3,r30 ; dest - addi r4,r28,LINKAGE_SIZE ; source - /* The size is a size_t, should be long. */ - lg r5,0(r29) - /* Figure out small structs */ - cmpi 0,r5,4 - bgt L3 ; 1, 2 and 4 bytes have special rules. - cmpi 0,r5,3 - beq L3 ; not 3 - addi r4,r4,8 - subf r4,r5,r4 -L3: - bl _memcpy - - /* ... do we need the FP registers? - recover the flags.. */ - mtcrf 0x03,r31 ; we need c6 & cr7 now. - bf 29,L(done_return_value) /* No floats in the struct. */ - stfd f1, -SAVE_REGS_SIZE-(13*FPR_SIZE)(r28) - stfd f2, -SAVE_REGS_SIZE-(12*FPR_SIZE)(r28) - stfd f3, -SAVE_REGS_SIZE-(11*FPR_SIZE)(r28) - stfd f4, -SAVE_REGS_SIZE-(10*FPR_SIZE)(r28) - nop - stfd f5, -SAVE_REGS_SIZE-( 9*FPR_SIZE)(r28) - stfd f6, -SAVE_REGS_SIZE-( 8*FPR_SIZE)(r28) - stfd f7, -SAVE_REGS_SIZE-( 7*FPR_SIZE)(r28) - stfd f8, -SAVE_REGS_SIZE-( 6*FPR_SIZE)(r28) - nop - stfd f9, -SAVE_REGS_SIZE-( 5*FPR_SIZE)(r28) - stfd f10,-SAVE_REGS_SIZE-( 4*FPR_SIZE)(r28) - stfd f11,-SAVE_REGS_SIZE-( 3*FPR_SIZE)(r28) - stfd f12,-SAVE_REGS_SIZE-( 2*FPR_SIZE)(r28) - nop - stfd f13,-SAVE_REGS_SIZE-( 1*FPR_SIZE)(r28) - - mr r3,r29 ; ffi_type * - mr r4,r30 ; dest - addi r5,r28,-SAVE_REGS_SIZE-(13*FPR_SIZE) ; fprs - xor r6,r6,r6 - sg r6,(LINKAGE_SIZE + 7 * GPR_BYTES)(r28) - addi r6,r28,(LINKAGE_SIZE + 7 * GPR_BYTES) ; point to a zeroed counter. - bl _darwin64_struct_floats_to_mem - - b L(done_return_value) -#else - stw r3,0(r30) ; m32 the only struct return in reg is 4 bytes. -#endif - b L(done_return_value) - -L(fp_return_value): - /* Do we have long double to store? */ - bf 31,L(fd_return_value) ; FLAG_RETURNS_128BITS - stfd f1,0(r30) - stfd f2,FPR_SIZE(r30) - b L(done_return_value) - -L(fd_return_value): - /* Do we have double to store? */ - bf 28,L(float_return_value) - stfd f1,0(r30) - b L(done_return_value) - -L(float_return_value): - /* We only have a float to store. */ - stfs f1,0(r30) - b L(done_return_value) - -L(scalar_return_value): - bt 29,L(fp_return_value) ; FLAG_RETURNS_FP - ; ffi_arg is defined as unsigned long. - sg r3,0(r30) ; Save the reg. - bf 28,L(done_return_value) ; not FLAG_RETURNS_64BITS - -#if defined(__ppc64__) -L(maybe_return_128): - std r3,0(r30) - bf 31,L(done_return_value) ; not FLAG_RETURNS_128BITS - std r4,8(r30) -#else - stw r4,4(r30) -#endif - - /* Fall through. */ - /* We want this at the end to simplify eh epilog computation. */ - -L(done_return_value): - /* Restore the registers we used and return. */ - lg r29,SAVED_LR_OFFSET(r28) - ; epilog - lg r31,-(1 * GPR_BYTES)(r28) - mtlr r29 - lg r30,-(2 * GPR_BYTES)(r28) - lg r29,-(3 * GPR_BYTES)(r28) - lg r28,-(4 * GPR_BYTES)(r28) - lg r1,0(r1) - blr -LFE1: - .align 1 -/* END(_ffi_call_DARWIN) */ - -/* Provide a null definition of _ffi_call_AIX. */ - .text - .globl _ffi_call_AIX - .align 2 -_ffi_call_AIX: - blr -/* END(_ffi_call_AIX) */ - -/* EH stuff. */ - -#define EH_DATA_ALIGN_FACT MODE_CHOICE(0x7c,0x78) - - .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support -EH_frame1: - .set L$set$0,LECIE1-LSCIE1 - .long L$set$0 ; Length of Common Information Entry -LSCIE1: - .long 0x0 ; CIE Identifier Tag - .byte 0x1 ; CIE Version - .ascii "zR\0" ; CIE Augmentation - .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor - .byte EH_DATA_ALIGN_FACT ; sleb128 -4; CIE Data Alignment Factor - .byte 0x41 ; CIE RA Column - .byte 0x1 ; uleb128 0x1; Augmentation size - .byte 0x10 ; FDE Encoding (pcrel) - .byte 0xc ; DW_CFA_def_cfa - .byte 0x1 ; uleb128 0x1 - .byte 0x0 ; uleb128 0x0 - .align LOG2_GPR_BYTES -LECIE1: - - .globl _ffi_call_DARWIN.eh -_ffi_call_DARWIN.eh: -LSFDE1: - .set L$set$1,LEFDE1-LASFDE1 - .long L$set$1 ; FDE Length -LASFDE1: - .long LASFDE1-EH_frame1 ; FDE CIE offset - .g_long Lstartcode-. ; FDE initial location - .set L$set$3,LFE1-Lstartcode - .g_long L$set$3 ; FDE address range - .byte 0x0 ; uleb128 0x0; Augmentation size - .byte 0x4 ; DW_CFA_advance_loc4 - .set L$set$4,LCFI0-Lstartcode - .long L$set$4 - .byte 0xd ; DW_CFA_def_cfa_register - .byte 0x08 ; uleb128 0x08 - .byte 0x4 ; DW_CFA_advance_loc4 - .set L$set$5,LCFI1-LCFI0 - .long L$set$5 - .byte 0x11 ; DW_CFA_offset_extended_sf - .byte 0x41 ; uleb128 0x41 - .byte 0x7e ; sleb128 -2 - .byte 0x9f ; DW_CFA_offset, column 0x1f - .byte 0x1 ; uleb128 0x1 - .byte 0x9e ; DW_CFA_offset, column 0x1e - .byte 0x2 ; uleb128 0x2 - .byte 0x9d ; DW_CFA_offset, column 0x1d - .byte 0x3 ; uleb128 0x3 - .byte 0x9c ; DW_CFA_offset, column 0x1c - .byte 0x4 ; uleb128 0x4 - .byte 0x4 ; DW_CFA_advance_loc4 - .set L$set$6,LCFI2-LCFI1 - .long L$set$6 - .byte 0xd ; DW_CFA_def_cfa_register - .byte 0x1c ; uleb128 0x1c - .align LOG2_GPR_BYTES -LEFDE1: - .align 1 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin_closure.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin_closure.S deleted file mode 100644 index 3121e6a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +++ /dev/null @@ -1,571 +0,0 @@ -/* ----------------------------------------------------------------------- - darwin_closure.S - Copyright (c) 2002, 2003, 2004, 2010, - Free Software Foundation, Inc. - based on ppc_closure.S - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#define L(x) x - -#if defined(__ppc64__) -#define MODE_CHOICE(x, y) y -#else -#define MODE_CHOICE(x, y) x -#endif - -#define machine_choice MODE_CHOICE(ppc7400,ppc64) - -; Define some pseudo-opcodes for size-independent load & store of GPRs ... -#define lgu MODE_CHOICE(lwzu, ldu) -#define lg MODE_CHOICE(lwz,ld) -#define sg MODE_CHOICE(stw,std) -#define sgu MODE_CHOICE(stwu,stdu) - -; ... and the size of GPRs and their storage indicator. -#define GPR_BYTES MODE_CHOICE(4,8) -#define LOG2_GPR_BYTES MODE_CHOICE(2,3) /* log2(GPR_BYTES) */ -#define g_long MODE_CHOICE(long, quad) /* usage is ".g_long" */ - -; From the ABI doc: "Mac OS X ABI Function Call Guide" Version 2009-02-04. -#define LINKAGE_SIZE MODE_CHOICE(24,48) -#define PARAM_AREA MODE_CHOICE(32,64) - -#define SAVED_CR_OFFSET MODE_CHOICE(4,8) /* save position for CR */ -#define SAVED_LR_OFFSET MODE_CHOICE(8,16) /* save position for lr */ - -/* WARNING: if ffi_type is changed... here be monsters. - Offsets of items within the result type. */ -#define FFI_TYPE_TYPE MODE_CHOICE(6,10) -#define FFI_TYPE_ELEM MODE_CHOICE(8,16) - -#define SAVED_FPR_COUNT 13 -#define FPR_SIZE 8 -/* biggest m64 struct ret is 8GPRS + 13FPRS = 168 bytes - rounded to 16bytes = 176. */ -#define RESULT_BYTES MODE_CHOICE(16,176) - -; The whole stack frame **MUST** be 16byte-aligned. -#define SAVE_SIZE (((LINKAGE_SIZE+PARAM_AREA+SAVED_FPR_COUNT*FPR_SIZE+RESULT_BYTES)+15) & -16LL) -#define PAD_SIZE (SAVE_SIZE-(LINKAGE_SIZE+PARAM_AREA+SAVED_FPR_COUNT*FPR_SIZE+RESULT_BYTES)) - -#define PARENT_PARM_BASE (SAVE_SIZE+LINKAGE_SIZE) -#define FP_SAVE_BASE (LINKAGE_SIZE+PARAM_AREA) - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 -; We no longer need the pic symbol stub for Darwin >= 9. -#define BLCLS_HELP _ffi_closure_helper_DARWIN -#define STRUCT_RETVALUE_P _darwin64_struct_ret_by_value_p -#define PASS_STR_FLOATS _darwin64_pass_struct_floats -#undef WANT_STUB -#else -#define BLCLS_HELP L_ffi_closure_helper_DARWIN$stub -#define STRUCT_RETVALUE_P L_darwin64_struct_ret_by_value_p$stub -#define PASS_STR_FLOATS L_darwin64_pass_struct_floats$stub -#define WANT_STUB -#endif - -/* m32/m64 - - The stack layout looks like this: - - | Additional params... | | Higher address - ~ ~ ~ - | Parameters (at least 8*4/8=32/64) | | NUM_GPR_ARG_REGISTERS - |--------------------------------------------| | - | TOC=R2 (AIX) Reserved (Darwin) 4/8 | | - |--------------------------------------------| | - | Reserved 2*4/8 | | - |--------------------------------------------| | - | Space for callee`s LR 4/8 | | - |--------------------------------------------| | - | Saved CR [low word for m64] 4/8 | | - |--------------------------------------------| | - | Current backchain pointer 4/8 |-/ Parent`s frame. - |--------------------------------------------| <+ <<< on entry to - | Result Bytes 16/176 | | - |--------------------------------------------| | - ~ padding to 16-byte alignment ~ ~ - |--------------------------------------------| | - | NUM_FPR_ARG_REGISTERS slots | | - | here fp13 .. fp1 13*8 | | - |--------------------------------------------| | - | R3..R10 8*4/8=32/64 | | NUM_GPR_ARG_REGISTERS - |--------------------------------------------| | - | TOC=R2 (AIX) Reserved (Darwin) 4/8 | | - |--------------------------------------------| | stack | - | Reserved [compiler,binder] 2*4/8 | | grows | - |--------------------------------------------| | down V - | Space for callees LR 4/8 | | - |--------------------------------------------| | lower addresses - | Saved CR [low word for m64] 4/8 | | - |--------------------------------------------| | stack pointer here - | Current backchain pointer 4/8 |-/ during - |--------------------------------------------| <<< call. - -*/ - - .file "darwin_closure.S" - - .machine machine_choice - - .text - .globl _ffi_closure_ASM - .align LOG2_GPR_BYTES -_ffi_closure_ASM: -LFB1: -Lstartcode: - mflr r0 /* extract return address */ - sg r0,SAVED_LR_OFFSET(r1) /* save the return address */ -LCFI0: - sgu r1,-SAVE_SIZE(r1) /* skip over caller save area - keep stack aligned to 16. */ -LCFI1: - /* We want to build up an area for the parameters passed - in registers. (both floating point and integer) */ - - /* Put gpr 3 to gpr 10 in the parents outgoing area... - ... the remainder of any params that overflowed the regs will - follow here. */ - sg r3, (PARENT_PARM_BASE )(r1) - sg r4, (PARENT_PARM_BASE + GPR_BYTES )(r1) - sg r5, (PARENT_PARM_BASE + GPR_BYTES * 2)(r1) - sg r6, (PARENT_PARM_BASE + GPR_BYTES * 3)(r1) - sg r7, (PARENT_PARM_BASE + GPR_BYTES * 4)(r1) - sg r8, (PARENT_PARM_BASE + GPR_BYTES * 5)(r1) - sg r9, (PARENT_PARM_BASE + GPR_BYTES * 6)(r1) - sg r10,(PARENT_PARM_BASE + GPR_BYTES * 7)(r1) - - /* We save fpr 1 to fpr 14 in our own save frame. */ - stfd f1, (FP_SAVE_BASE )(r1) - stfd f2, (FP_SAVE_BASE + FPR_SIZE )(r1) - stfd f3, (FP_SAVE_BASE + FPR_SIZE * 2 )(r1) - stfd f4, (FP_SAVE_BASE + FPR_SIZE * 3 )(r1) - stfd f5, (FP_SAVE_BASE + FPR_SIZE * 4 )(r1) - stfd f6, (FP_SAVE_BASE + FPR_SIZE * 5 )(r1) - stfd f7, (FP_SAVE_BASE + FPR_SIZE * 6 )(r1) - stfd f8, (FP_SAVE_BASE + FPR_SIZE * 7 )(r1) - stfd f9, (FP_SAVE_BASE + FPR_SIZE * 8 )(r1) - stfd f10,(FP_SAVE_BASE + FPR_SIZE * 9 )(r1) - stfd f11,(FP_SAVE_BASE + FPR_SIZE * 10)(r1) - stfd f12,(FP_SAVE_BASE + FPR_SIZE * 11)(r1) - stfd f13,(FP_SAVE_BASE + FPR_SIZE * 12)(r1) - - /* Set up registers for the routine that actually does the work - get the context pointer from the trampoline. */ - mr r3,r11 - - /* Now load up the pointer to the result storage. */ - addi r4,r1,(SAVE_SIZE-RESULT_BYTES) - - /* Now load up the pointer to the saved gpr registers. */ - addi r5,r1,PARENT_PARM_BASE - - /* Now load up the pointer to the saved fpr registers. */ - addi r6,r1,FP_SAVE_BASE - - /* Make the call. */ - bl BLCLS_HELP - - /* r3 contains the rtype pointer... save it since we will need - it later. */ - sg r3,LINKAGE_SIZE(r1) ; ffi_type * result_type - lg r0,0(r3) ; size => r0 - lhz r3,FFI_TYPE_TYPE(r3) ; type => r3 - - /* The helper will have intercepted structure returns and inserted - the caller`s destination address for structs returned by ref. */ - - /* r3 contains the return type so use it to look up in a table - so we know how to deal with each type. */ - - addi r5,r1,(SAVE_SIZE-RESULT_BYTES) /* Otherwise, our return is here. */ - bl Lget_ret_type0_addr /* Get pointer to Lret_type0 into LR. */ - mflr r4 /* Move to r4. */ - slwi r3,r3,4 /* Now multiply return type by 16. */ - add r3,r3,r4 /* Add contents of table to table address. */ - mtctr r3 - bctr /* Jump to it. */ -LFE1: -/* Each of the ret_typeX code fragments has to be exactly 16 bytes long - (4 instructions). For cache effectiveness we align to a 16 byte boundary - first. */ - - .align 4 - - nop - nop - nop -Lget_ret_type0_addr: - blrl - -/* case FFI_TYPE_VOID */ -Lret_type0: - b Lfinish - nop - nop - nop - -/* case FFI_TYPE_INT */ -Lret_type1: - lg r3,0(r5) - b Lfinish - nop - nop - -/* case FFI_TYPE_FLOAT */ -Lret_type2: - lfs f1,0(r5) - b Lfinish - nop - nop - -/* case FFI_TYPE_DOUBLE */ -Lret_type3: - lfd f1,0(r5) - b Lfinish - nop - nop - -/* case FFI_TYPE_LONGDOUBLE */ -Lret_type4: - lfd f1,0(r5) - lfd f2,8(r5) - b Lfinish - nop - -/* case FFI_TYPE_UINT8 */ -Lret_type5: -#if defined(__ppc64__) - lbz r3,7(r5) -#else - lbz r3,3(r5) -#endif - b Lfinish - nop - nop - -/* case FFI_TYPE_SINT8 */ -Lret_type6: -#if defined(__ppc64__) - lbz r3,7(r5) -#else - lbz r3,3(r5) -#endif - extsb r3,r3 - b Lfinish - nop - -/* case FFI_TYPE_UINT16 */ -Lret_type7: -#if defined(__ppc64__) - lhz r3,6(r5) -#else - lhz r3,2(r5) -#endif - b Lfinish - nop - nop - -/* case FFI_TYPE_SINT16 */ -Lret_type8: -#if defined(__ppc64__) - lha r3,6(r5) -#else - lha r3,2(r5) -#endif - b Lfinish - nop - nop - -/* case FFI_TYPE_UINT32 */ -Lret_type9: -#if defined(__ppc64__) - lwz r3,4(r5) -#else - lwz r3,0(r5) -#endif - b Lfinish - nop - nop - -/* case FFI_TYPE_SINT32 */ -Lret_type10: -#if defined(__ppc64__) - lwz r3,4(r5) -#else - lwz r3,0(r5) -#endif - b Lfinish - nop - nop - -/* case FFI_TYPE_UINT64 */ -Lret_type11: -#if defined(__ppc64__) - lg r3,0(r5) - b Lfinish - nop -#else - lwz r3,0(r5) - lwz r4,4(r5) - b Lfinish -#endif - nop - -/* case FFI_TYPE_SINT64 */ -Lret_type12: -#if defined(__ppc64__) - lg r3,0(r5) - b Lfinish - nop -#else - lwz r3,0(r5) - lwz r4,4(r5) - b Lfinish -#endif - nop - -/* case FFI_TYPE_STRUCT */ -Lret_type13: -#if defined(__ppc64__) - lg r3,0(r5) ; we need at least this... - cmpi 0,r0,4 - bgt Lstructend ; not a special small case - b Lsmallstruct ; see if we need more. -#else - cmpwi 0,r0,4 - bgt Lfinish ; not by value - lg r3,0(r5) - b Lfinish -#endif -/* case FFI_TYPE_POINTER */ -Lret_type14: - lg r3,0(r5) - b Lfinish - nop - nop - -#if defined(__ppc64__) -Lsmallstruct: - beq Lfour ; continuation of Lret13. - cmpi 0,r0,3 - beq Lfinish ; don`t adjust this - can`t be any floats here... - srdi r3,r3,48 - cmpi 0,r0,2 - beq Lfinish ; .. or here .. - srdi r3,r3,8 - b Lfinish ; .. or here. - -Lfour: - lg r6,LINKAGE_SIZE(r1) ; get the result type - lg r6,FFI_TYPE_ELEM(r6) ; elements array pointer - lg r6,0(r6) ; first element - lhz r0,FFI_TYPE_TYPE(r6) ; OK go the type - cmpi 0,r0,2 ; FFI_TYPE_FLOAT - bne Lfourint - lfs f1,0(r5) ; just one float in the struct. - b Lfinish - -Lfourint: - srdi r3,r3,32 ; four bytes. - b Lfinish - -Lstructend: - lg r3,LINKAGE_SIZE(r1) ; get the result type - bl STRUCT_RETVALUE_P - cmpi 0,r3,0 - beq Lfinish ; nope. - /* Recover a pointer to the results. */ - addi r11,r1,(SAVE_SIZE-RESULT_BYTES) - lg r3,0(r11) ; we need at least this... - lg r4,8(r11) - cmpi 0,r0,16 - beq Lfinish ; special case 16 bytes we don't consider floats. - - /* OK, frustratingly, the process of saving the struct to mem might have - messed with the FPRs, so we have to re-load them :(. - We`ll use our FPRs space again - calling: - void darwin64_pass_struct_floats (ffi_type *s, char *src, - unsigned *nfpr, double **fprs) - We`ll temporarily pinch the first two slots of the param area for local - vars used by the routine. */ - xor r6,r6,r6 - addi r5,r1,PARENT_PARM_BASE ; some space - sg r6,0(r5) ; *nfpr zeroed. - addi r6,r5,8 ; **fprs - addi r3,r1,FP_SAVE_BASE ; pointer to FPRs space - sg r3,0(r6) - mr r4,r11 ; the struct is here... - lg r3,LINKAGE_SIZE(r1) ; ffi_type * result_type. - bl PASS_STR_FLOATS ; get struct floats into FPR save space. - /* See if we used any floats */ - lwz r0,(SAVE_SIZE-RESULT_BYTES)(r1) - cmpi 0,r0,0 - beq Lstructints ; nope. - /* OK load `em up... */ - lfd f1, (FP_SAVE_BASE )(r1) - lfd f2, (FP_SAVE_BASE + FPR_SIZE )(r1) - lfd f3, (FP_SAVE_BASE + FPR_SIZE * 2 )(r1) - lfd f4, (FP_SAVE_BASE + FPR_SIZE * 3 )(r1) - lfd f5, (FP_SAVE_BASE + FPR_SIZE * 4 )(r1) - lfd f6, (FP_SAVE_BASE + FPR_SIZE * 5 )(r1) - lfd f7, (FP_SAVE_BASE + FPR_SIZE * 6 )(r1) - lfd f8, (FP_SAVE_BASE + FPR_SIZE * 7 )(r1) - lfd f9, (FP_SAVE_BASE + FPR_SIZE * 8 )(r1) - lfd f10,(FP_SAVE_BASE + FPR_SIZE * 9 )(r1) - lfd f11,(FP_SAVE_BASE + FPR_SIZE * 10)(r1) - lfd f12,(FP_SAVE_BASE + FPR_SIZE * 11)(r1) - lfd f13,(FP_SAVE_BASE + FPR_SIZE * 12)(r1) - - /* point back at our saved struct. */ -Lstructints: - addi r11,r1,(SAVE_SIZE-RESULT_BYTES) - lg r3,0(r11) ; we end up picking the - lg r4,8(r11) ; first two again. - lg r5,16(r11) - lg r6,24(r11) - lg r7,32(r11) - lg r8,40(r11) - lg r9,48(r11) - lg r10,56(r11) -#endif - -/* case done */ -Lfinish: - addi r1,r1,SAVE_SIZE /* Restore stack pointer. */ - lg r0,SAVED_LR_OFFSET(r1) /* Get return address. */ - mtlr r0 /* Reset link register. */ - blr -Lendcode: - .align 1 - -/* END(ffi_closure_ASM) */ - -/* EH frame stuff. */ -#define EH_DATA_ALIGN_FACT MODE_CHOICE(0x7c,0x78) -/* 176, 400 */ -#define EH_FRAME_OFFSETA MODE_CHOICE(176,0x90) -#define EH_FRAME_OFFSETB MODE_CHOICE(1,3) - - .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support -EH_frame1: - .set L$set$0,LECIE1-LSCIE1 - .long L$set$0 ; Length of Common Information Entry -LSCIE1: - .long 0x0 ; CIE Identifier Tag - .byte 0x1 ; CIE Version - .ascii "zR\0" ; CIE Augmentation - .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor - .byte EH_DATA_ALIGN_FACT ; sleb128 -4; CIE Data Alignment Factor - .byte 0x41 ; CIE RA Column - .byte 0x1 ; uleb128 0x1; Augmentation size - .byte 0x10 ; FDE Encoding (pcrel) - .byte 0xc ; DW_CFA_def_cfa - .byte 0x1 ; uleb128 0x1 - .byte 0x0 ; uleb128 0x0 - .align LOG2_GPR_BYTES -LECIE1: - .globl _ffi_closure_ASM.eh -_ffi_closure_ASM.eh: -LSFDE1: - .set L$set$1,LEFDE1-LASFDE1 - .long L$set$1 ; FDE Length - -LASFDE1: - .long LASFDE1-EH_frame1 ; FDE CIE offset - .g_long Lstartcode-. ; FDE initial location - .set L$set$2,LFE1-Lstartcode - .g_long L$set$2 ; FDE address range - .byte 0x0 ; uleb128 0x0; Augmentation size - .byte 0x4 ; DW_CFA_advance_loc4 - .set L$set$3,LCFI1-LCFI0 - .long L$set$3 - .byte 0xe ; DW_CFA_def_cfa_offset - .byte EH_FRAME_OFFSETA,EH_FRAME_OFFSETB ; uleb128 176,1/190,3 - .byte 0x4 ; DW_CFA_advance_loc4 - .set L$set$4,LCFI0-Lstartcode - .long L$set$4 - .byte 0x11 ; DW_CFA_offset_extended_sf - .byte 0x41 ; uleb128 0x41 - .byte 0x7e ; sleb128 -2 - .align LOG2_GPR_BYTES -LEFDE1: - .align 1 - -#ifdef WANT_STUB - .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 - .align 5 -L_ffi_closure_helper_DARWIN$stub: - .indirect_symbol _ffi_closure_helper_DARWIN - mflr r0 - bcl 20,31,"L1$spb" -"L1$spb": - mflr r11 - addis r11,r11,ha16(L_ffi_closure_helper_DARWIN$lazy_ptr-"L1$spb") - mtlr r0 - lwzu r12,lo16(L_ffi_closure_helper_DARWIN$lazy_ptr-"L1$spb")(r11) - mtctr r12 - bctr - .lazy_symbol_pointer -L_ffi_closure_helper_DARWIN$lazy_ptr: - .indirect_symbol _ffi_closure_helper_DARWIN - .g_long dyld_stub_binding_helper - -#if defined(__ppc64__) - .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 - .align 5 -L_darwin64_struct_ret_by_value_p$stub: - .indirect_symbol _darwin64_struct_ret_by_value_p - mflr r0 - bcl 20,31,"L2$spb" -"L2$spb": - mflr r11 - addis r11,r11,ha16(L_darwin64_struct_ret_by_value_p$lazy_ptr-"L2$spb") - mtlr r0 - lwzu r12,lo16(L_darwin64_struct_ret_by_value_p$lazy_ptr-"L2$spb")(r11) - mtctr r12 - bctr - .lazy_symbol_pointer -L_darwin64_struct_ret_by_value_p$lazy_ptr: - .indirect_symbol _darwin64_struct_ret_by_value_p - .g_long dyld_stub_binding_helper - - .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 - .align 5 -L_darwin64_pass_struct_floats$stub: - .indirect_symbol _darwin64_pass_struct_floats - mflr r0 - bcl 20,31,"L3$spb" -"L3$spb": - mflr r11 - addis r11,r11,ha16(L_darwin64_pass_struct_floats$lazy_ptr-"L3$spb") - mtlr r0 - lwzu r12,lo16(L_darwin64_pass_struct_floats$lazy_ptr-"L3$spb")(r11) - mtctr r12 - bctr - .lazy_symbol_pointer -L_darwin64_pass_struct_floats$lazy_ptr: - .indirect_symbol _darwin64_pass_struct_floats - .g_long dyld_stub_binding_helper -# endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi.c deleted file mode 100644 index a19bcbb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi.c +++ /dev/null @@ -1,175 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (C) 2013 IBM - Copyright (C) 2011 Anthony Green - Copyright (C) 2011 Kyle Moffett - Copyright (C) 2008 Red Hat, Inc - Copyright (C) 2007, 2008 Free Software Foundation, Inc - Copyright (c) 1998 Geoffrey Keating - - PowerPC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include "ffi.h" -#include "ffi_common.h" -#include "ffi_powerpc.h" - -#if HAVE_LONG_DOUBLE_VARIANT -/* Adjust ffi_type_longdouble. */ -void FFI_HIDDEN -ffi_prep_types (ffi_abi abi) -{ -# if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -# ifdef POWERPC64 - ffi_prep_types_linux64 (abi); -# else - ffi_prep_types_sysv (abi); -# endif -# endif -} -#endif - -/* Perform machine dependent cif processing */ -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep (ffi_cif *cif) -{ -#ifdef POWERPC64 - return ffi_prep_cif_linux64 (cif); -#else - return ffi_prep_cif_sysv (cif); -#endif -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep_var (ffi_cif *cif, - unsigned int nfixedargs MAYBE_UNUSED, - unsigned int ntotalargs MAYBE_UNUSED) -{ -#ifdef POWERPC64 - return ffi_prep_cif_linux64_var (cif, nfixedargs, ntotalargs); -#else - return ffi_prep_cif_sysv (cif); -#endif -} - -static void -ffi_call_int (ffi_cif *cif, - void (*fn) (void), - void *rvalue, - void **avalue, - void *closure) -{ - /* The final SYSV ABI says that structures smaller or equal 8 bytes - are returned in r3/r4. A draft ABI used by linux instead returns - them in memory. - - We bounce-buffer SYSV small struct return values so that sysv.S - can write r3 and r4 to memory without worrying about struct size. - - For ELFv2 ABI, use a bounce buffer for homogeneous structs too, - for similar reasons. This bounce buffer must be aligned to 16 - bytes for use with homogeneous structs of vectors (float128). */ - float128 smst_buffer[8]; - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - ecif.rvalue = rvalue; - if ((cif->flags & FLAG_RETURNS_SMST) != 0) - ecif.rvalue = smst_buffer; - /* Ensure that we have a valid struct return value. - FIXME: Isn't this just papering over a user problem? */ - else if (!rvalue && cif->rtype->type == FFI_TYPE_STRUCT) - ecif.rvalue = alloca (cif->rtype->size); - -#ifdef POWERPC64 - ffi_call_LINUX64 (&ecif, fn, ecif.rvalue, cif->flags, closure, - -(long) cif->bytes); -#else - ffi_call_SYSV (&ecif, fn, ecif.rvalue, cif->flags, closure, -cif->bytes); -#endif - - /* Check for a bounce-buffered return value */ - if (rvalue && ecif.rvalue == smst_buffer) - { - unsigned int rsize = cif->rtype->size; -#ifndef __LITTLE_ENDIAN__ - /* The SYSV ABI returns a structure of up to 4 bytes in size - left-padded in r3. */ -# ifndef POWERPC64 - if (rsize <= 4) - memcpy (rvalue, (char *) smst_buffer + 4 - rsize, rsize); - else -# endif - /* The SYSV ABI returns a structure of up to 8 bytes in size - left-padded in r3/r4, and the ELFv2 ABI similarly returns a - structure of up to 8 bytes in size left-padded in r3. But - note that a structure of a single float is not paddded. */ - if (rsize <= 8 && (cif->flags & FLAG_RETURNS_FP) == 0) - memcpy (rvalue, (char *) smst_buffer + 8 - rsize, rsize); - else -#endif - memcpy (rvalue, smst_buffer, rsize); - } -} - -void -ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, - void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - void *codeloc) -{ -#ifdef POWERPC64 - return ffi_prep_closure_loc_linux64 (closure, cif, fun, user_data, codeloc); -#else - return ffi_prep_closure_loc_sysv (closure, cif, fun, user_data, codeloc); -#endif -} - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, - ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *)) -{ -#ifdef POWERPC64 - closure->tramp = ffi_go_closure_linux64; -#else - closure->tramp = ffi_go_closure_sysv; -#endif - closure->cif = cif; - closure->fun = fun; - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c deleted file mode 100644 index 64bb94d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +++ /dev/null @@ -1,1452 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_darwin.c - - Copyright (C) 1998 Geoffrey Keating - Copyright (C) 2001 John Hornkvist - Copyright (C) 2002, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. - - FFI support for Darwin and AIX. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -extern void ffi_closure_ASM (void); - -#if defined (FFI_GO_CLOSURES) -extern void ffi_go_closure_ASM (void); -#endif - -enum { - /* The assembly depends on these exact flags. - For Darwin64 (when FLAG_RETURNS_STRUCT is set): - FLAG_RETURNS_FP indicates that the structure embeds FP data. - FLAG_RETURNS_128BITS signals a special struct size that is not - expanded for float content. */ - FLAG_RETURNS_128BITS = 1 << (31-31), /* These go in cr7 */ - FLAG_RETURNS_NOTHING = 1 << (31-30), - FLAG_RETURNS_FP = 1 << (31-29), - FLAG_RETURNS_64BITS = 1 << (31-28), - - FLAG_RETURNS_STRUCT = 1 << (31-27), /* This goes in cr6 */ - - FLAG_ARG_NEEDS_COPY = 1 << (31- 7), - FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */ - FLAG_4_GPR_ARGUMENTS = 1 << (31- 5), - FLAG_RETVAL_REFERENCE = 1 << (31- 4) -}; - -/* About the DARWIN ABI. */ -enum { - NUM_GPR_ARG_REGISTERS = 8, - NUM_FPR_ARG_REGISTERS = 13, - LINKAGE_AREA_GPRS = 6 -}; - -enum { ASM_NEEDS_REGISTERS = 4 }; /* r28-r31 */ - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments. - - m32/m64 - - The stack layout we want looks like this: - - | Return address from ffi_call_DARWIN | higher addresses - |--------------------------------------------| - | Previous backchain pointer 4/8 | stack pointer here - |--------------------------------------------|<+ <<< on entry to - | ASM_NEEDS_REGISTERS=r28-r31 4*(4/8) | | ffi_call_DARWIN - |--------------------------------------------| | - | When we have any FP activity... the | | - | FPRs occupy NUM_FPR_ARG_REGISTERS slots | | - | here fp13 .. fp1 from high to low addr. | | - ~ ~ ~ - | Parameters (at least 8*4/8=32/64) | | NUM_GPR_ARG_REGISTERS - |--------------------------------------------| | - | TOC=R2 (AIX) Reserved (Darwin) 4/8 | | - |--------------------------------------------| | stack | - | Reserved 2*4/8 | | grows | - |--------------------------------------------| | down V - | Space for callee's LR 4/8 | | - |--------------------------------------------| | lower addresses - | Saved CR [low word for m64] 4/8 | | - |--------------------------------------------| | stack pointer here - | Current backchain pointer 4/8 |-/ during - |--------------------------------------------| <<< ffi_call_DARWIN - - */ - -#if defined(POWERPC_DARWIN64) -static void -darwin64_pass_struct_by_value - (ffi_type *, char *, unsigned, unsigned *, double **, unsigned long **); -#endif - -/* This depends on GPR_SIZE = sizeof (unsigned long) */ - -void -ffi_prep_args (extended_cif *ecif, unsigned long *const stack) -{ - const unsigned bytes = ecif->cif->bytes; - const unsigned flags = ecif->cif->flags; - const unsigned nargs = ecif->cif->nargs; -#if !defined(POWERPC_DARWIN64) - const ffi_abi abi = ecif->cif->abi; -#endif - - /* 'stacktop' points at the previous backchain pointer. */ - unsigned long *const stacktop = stack + (bytes / sizeof(unsigned long)); - - /* 'fpr_base' points at the space for fpr1, and grows upwards as - we use FPR registers. */ - double *fpr_base = (double *) (stacktop - ASM_NEEDS_REGISTERS) - NUM_FPR_ARG_REGISTERS; - int gp_count = 0, fparg_count = 0; - - /* 'next_arg' grows up as we put parameters in it. */ - unsigned long *next_arg = stack + LINKAGE_AREA_GPRS; /* 6 reserved positions. */ - - int i; - double double_tmp; - void **p_argv = ecif->avalue; - unsigned long gprvalue; - ffi_type** ptr = ecif->cif->arg_types; -#if !defined(POWERPC_DARWIN64) - char *dest_cpy; -#endif - unsigned size_al = 0; - - /* Check that everything starts aligned properly. */ - FFI_ASSERT(((unsigned) (char *) stack & 0xF) == 0); - FFI_ASSERT(((unsigned) (char *) stacktop & 0xF) == 0); - FFI_ASSERT((bytes & 0xF) == 0); - - /* Deal with return values that are actually pass-by-reference. - Rule: - Return values are referenced by r3, so r4 is the first parameter. */ - - if (flags & FLAG_RETVAL_REFERENCE) - *next_arg++ = (unsigned long) (char *) ecif->rvalue; - - /* Now for the arguments. */ - for (i = nargs; i > 0; i--, ptr++, p_argv++) - { - switch ((*ptr)->type) - { - /* If a floating-point parameter appears before all of the general- - purpose registers are filled, the corresponding GPRs that match - the size of the floating-point parameter are skipped. */ - case FFI_TYPE_FLOAT: - double_tmp = *(float *) *p_argv; - if (fparg_count < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = double_tmp; -#if defined(POWERPC_DARWIN) - *(float *)next_arg = *(float *) *p_argv; -#else - *(double *)next_arg = double_tmp; -#endif - next_arg++; - gp_count++; - fparg_count++; - FFI_ASSERT(flags & FLAG_FP_ARGUMENTS); - break; - - case FFI_TYPE_DOUBLE: - double_tmp = *(double *) *p_argv; - if (fparg_count < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = double_tmp; - *(double *)next_arg = double_tmp; -#ifdef POWERPC64 - next_arg++; - gp_count++; -#else - next_arg += 2; - gp_count += 2; -#endif - fparg_count++; - FFI_ASSERT(flags & FLAG_FP_ARGUMENTS); - break; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - - case FFI_TYPE_LONGDOUBLE: -# if defined(POWERPC64) && !defined(POWERPC_DARWIN64) - /* ??? This will exceed the regs count when the value starts at fp13 - and it will not put the extra bit on the stack. */ - if (fparg_count < NUM_FPR_ARG_REGISTERS) - *(long double *) fpr_base++ = *(long double *) *p_argv; - else - *(long double *) next_arg = *(long double *) *p_argv; - next_arg += 2; - fparg_count += 2; -# else - double_tmp = ((double *) *p_argv)[0]; - if (fparg_count < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = double_tmp; - *(double *) next_arg = double_tmp; -# if defined(POWERPC_DARWIN64) - next_arg++; - gp_count++; -# else - next_arg += 2; - gp_count += 2; -# endif - fparg_count++; - double_tmp = ((double *) *p_argv)[1]; - if (fparg_count < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = double_tmp; - *(double *) next_arg = double_tmp; -# if defined(POWERPC_DARWIN64) - next_arg++; - gp_count++; -# else - next_arg += 2; - gp_count += 2; -# endif - fparg_count++; -# endif - FFI_ASSERT(flags & FLAG_FP_ARGUMENTS); - break; -#endif - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#ifdef POWERPC64 - gprvalue = *(long long *) *p_argv; - goto putgpr; -#else - *(long long *) next_arg = *(long long *) *p_argv; - next_arg += 2; - gp_count += 2; -#endif - break; - case FFI_TYPE_POINTER: - gprvalue = *(unsigned long *) *p_argv; - goto putgpr; - case FFI_TYPE_UINT8: - gprvalue = *(unsigned char *) *p_argv; - goto putgpr; - case FFI_TYPE_SINT8: - gprvalue = *(signed char *) *p_argv; - goto putgpr; - case FFI_TYPE_UINT16: - gprvalue = *(unsigned short *) *p_argv; - goto putgpr; - case FFI_TYPE_SINT16: - gprvalue = *(signed short *) *p_argv; - goto putgpr; - - case FFI_TYPE_STRUCT: - size_al = (*ptr)->size; -#if defined(POWERPC_DARWIN64) - next_arg = (unsigned long *)FFI_ALIGN((char *)next_arg, (*ptr)->alignment); - darwin64_pass_struct_by_value (*ptr, (char *) *p_argv, - (unsigned) size_al, - (unsigned int *) &fparg_count, - &fpr_base, &next_arg); -#else - dest_cpy = (char *) next_arg; - - /* If the first member of the struct is a double, then include enough - padding in the struct size to align it to double-word. */ - if ((*ptr)->elements[0]->type == FFI_TYPE_DOUBLE) - size_al = FFI_ALIGN((*ptr)->size, 8); - -# if defined(POWERPC64) - FFI_ASSERT (abi != FFI_DARWIN); - memcpy ((char *) dest_cpy, (char *) *p_argv, size_al); - next_arg += (size_al + 7) / 8; -# else - /* Structures that match the basic modes (QI 1 byte, HI 2 bytes, - SI 4 bytes) are aligned as if they were those modes. - Structures with 3 byte in size are padded upwards. */ - if (size_al < 3 && abi == FFI_DARWIN) - dest_cpy += 4 - size_al; - - memcpy((char *) dest_cpy, (char *) *p_argv, size_al); - next_arg += (size_al + 3) / 4; -# endif -#endif - break; - - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - gprvalue = *(signed int *) *p_argv; - goto putgpr; - - case FFI_TYPE_UINT32: - gprvalue = *(unsigned int *) *p_argv; - putgpr: - *next_arg++ = gprvalue; - gp_count++; - break; - default: - break; - } - } - - /* Check that we didn't overrun the stack... */ - /* FFI_ASSERT(gpr_base <= stacktop - ASM_NEEDS_REGISTERS); - FFI_ASSERT((unsigned *)fpr_base - <= stacktop - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS); - FFI_ASSERT(flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4); */ -} - -#if defined(POWERPC_DARWIN64) - -/* See if we can put some of the struct into fprs. - This should not be called for structures of size 16 bytes, since these are not - broken out this way. */ -static void -darwin64_scan_struct_for_floats (ffi_type *s, unsigned *nfpr) -{ - int i; - - FFI_ASSERT (s->type == FFI_TYPE_STRUCT) - - for (i = 0; s->elements[i] != NULL; i++) - { - ffi_type *p = s->elements[i]; - switch (p->type) - { - case FFI_TYPE_STRUCT: - darwin64_scan_struct_for_floats (p, nfpr); - break; - case FFI_TYPE_LONGDOUBLE: - (*nfpr) += 2; - break; - case FFI_TYPE_DOUBLE: - case FFI_TYPE_FLOAT: - (*nfpr) += 1; - break; - default: - break; - } - } -} - -static int -darwin64_struct_size_exceeds_gprs_p (ffi_type *s, char *src, unsigned *nfpr) -{ - unsigned struct_offset=0, i; - - for (i = 0; s->elements[i] != NULL; i++) - { - char *item_base; - ffi_type *p = s->elements[i]; - /* Find the start of this item (0 for the first one). */ - if (i > 0) - struct_offset = FFI_ALIGN(struct_offset, p->alignment); - - item_base = src + struct_offset; - - switch (p->type) - { - case FFI_TYPE_STRUCT: - if (darwin64_struct_size_exceeds_gprs_p (p, item_base, nfpr)) - return 1; - break; - case FFI_TYPE_LONGDOUBLE: - if (*nfpr >= NUM_FPR_ARG_REGISTERS) - return 1; - (*nfpr) += 1; - item_base += 8; - /* FALL THROUGH */ - case FFI_TYPE_DOUBLE: - if (*nfpr >= NUM_FPR_ARG_REGISTERS) - return 1; - (*nfpr) += 1; - break; - case FFI_TYPE_FLOAT: - if (*nfpr >= NUM_FPR_ARG_REGISTERS) - return 1; - (*nfpr) += 1; - break; - default: - /* If we try and place any item, that is non-float, once we've - exceeded the 8 GPR mark, then we can't fit the struct. */ - if ((unsigned long)item_base >= 8*8) - return 1; - break; - } - /* now count the size of what we just used. */ - struct_offset += p->size; - } - return 0; -} - -/* Can this struct be returned by value? */ -int -darwin64_struct_ret_by_value_p (ffi_type *s) -{ - unsigned nfp = 0; - - FFI_ASSERT (s && s->type == FFI_TYPE_STRUCT); - - /* The largest structure we can return is 8long + 13 doubles. */ - if (s->size > 168) - return 0; - - /* We can't pass more than 13 floats. */ - darwin64_scan_struct_for_floats (s, &nfp); - if (nfp > 13) - return 0; - - /* If there are not too many floats, and the struct is - small enough to accommodate in the GPRs, then it must be OK. */ - if (s->size <= 64) - return 1; - - /* Well, we have to look harder. */ - nfp = 0; - if (darwin64_struct_size_exceeds_gprs_p (s, NULL, &nfp)) - return 0; - - return 1; -} - -void -darwin64_pass_struct_floats (ffi_type *s, char *src, - unsigned *nfpr, double **fprs) -{ - int i; - double *fpr_base = *fprs; - unsigned struct_offset = 0; - - /* We don't assume anything about the alignment of the source. */ - for (i = 0; s->elements[i] != NULL; i++) - { - char *item_base; - ffi_type *p = s->elements[i]; - /* Find the start of this item (0 for the first one). */ - if (i > 0) - struct_offset = FFI_ALIGN(struct_offset, p->alignment); - item_base = src + struct_offset; - - switch (p->type) - { - case FFI_TYPE_STRUCT: - darwin64_pass_struct_floats (p, item_base, nfpr, - &fpr_base); - break; - case FFI_TYPE_LONGDOUBLE: - if (*nfpr < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = *(double *)item_base; - (*nfpr) += 1; - item_base += 8; - /* FALL THROUGH */ - case FFI_TYPE_DOUBLE: - if (*nfpr < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = *(double *)item_base; - (*nfpr) += 1; - break; - case FFI_TYPE_FLOAT: - if (*nfpr < NUM_FPR_ARG_REGISTERS) - *fpr_base++ = (double) *(float *)item_base; - (*nfpr) += 1; - break; - default: - break; - } - /* now count the size of what we just used. */ - struct_offset += p->size; - } - /* Update the scores. */ - *fprs = fpr_base; -} - -/* Darwin64 special rules. - Break out a struct into params and float registers. */ -static void -darwin64_pass_struct_by_value (ffi_type *s, char *src, unsigned size, - unsigned *nfpr, double **fprs, unsigned long **arg) -{ - unsigned long *next_arg = *arg; - char *dest_cpy = (char *)next_arg; - - FFI_ASSERT (s->type == FFI_TYPE_STRUCT) - - if (!size) - return; - - /* First... special cases. */ - if (size < 3 - || (size == 4 - && s->elements[0] - && s->elements[0]->type != FFI_TYPE_FLOAT)) - { - /* Must be at least one GPR, padding is unspecified in value, - let's make it zero. */ - *next_arg = 0UL; - dest_cpy += 8 - size; - memcpy ((char *) dest_cpy, src, size); - next_arg++; - } - else if (size == 16) - { - memcpy ((char *) dest_cpy, src, size); - next_arg += 2; - } - else - { - /* now the general case, we consider embedded floats. */ - memcpy ((char *) dest_cpy, src, size); - darwin64_pass_struct_floats (s, src, nfpr, fprs); - next_arg += (size+7)/8; - } - - *arg = next_arg; -} - -double * -darwin64_struct_floats_to_mem (ffi_type *s, char *dest, double *fprs, unsigned *nf) -{ - int i; - unsigned struct_offset = 0; - - /* We don't assume anything about the alignment of the source. */ - for (i = 0; s->elements[i] != NULL; i++) - { - char *item_base; - ffi_type *p = s->elements[i]; - /* Find the start of this item (0 for the first one). */ - if (i > 0) - struct_offset = FFI_ALIGN(struct_offset, p->alignment); - item_base = dest + struct_offset; - - switch (p->type) - { - case FFI_TYPE_STRUCT: - fprs = darwin64_struct_floats_to_mem (p, item_base, fprs, nf); - break; - case FFI_TYPE_LONGDOUBLE: - if (*nf < NUM_FPR_ARG_REGISTERS) - { - *(double *)item_base = *fprs++ ; - (*nf) += 1; - } - item_base += 8; - /* FALL THROUGH */ - case FFI_TYPE_DOUBLE: - if (*nf < NUM_FPR_ARG_REGISTERS) - { - *(double *)item_base = *fprs++ ; - (*nf) += 1; - } - break; - case FFI_TYPE_FLOAT: - if (*nf < NUM_FPR_ARG_REGISTERS) - { - *(float *)item_base = (float) *fprs++ ; - (*nf) += 1; - } - break; - default: - break; - } - /* now count the size of what we just used. */ - struct_offset += p->size; - } - return fprs; -} - -#endif - -/* Adjust the size of S to be correct for Darwin. - On Darwin m32, the first field of a structure has natural alignment. - On Darwin m64, all fields have natural alignment. */ - -static void -darwin_adjust_aggregate_sizes (ffi_type *s) -{ - int i; - - if (s->type != FFI_TYPE_STRUCT) - return; - - s->size = 0; - for (i = 0; s->elements[i] != NULL; i++) - { - ffi_type *p; - int align; - - p = s->elements[i]; - if (p->type == FFI_TYPE_STRUCT) - darwin_adjust_aggregate_sizes (p); -#if defined(POWERPC_DARWIN64) - /* Natural alignment for all items. */ - align = p->alignment; -#else - /* Natural alignment for the first item... */ - if (i == 0) - align = p->alignment; - else if (p->alignment == 16 || p->alignment < 4) - /* .. subsequent items with vector or align < 4 have natural align. */ - align = p->alignment; - else - /* .. or align is 4. */ - align = 4; -#endif - /* Pad, if necessary, before adding the current item. */ - s->size = FFI_ALIGN(s->size, align) + p->size; - } - - s->size = FFI_ALIGN(s->size, s->alignment); - - /* This should not be necessary on m64, but harmless. */ - if (s->elements[0]->type == FFI_TYPE_UINT64 - || s->elements[0]->type == FFI_TYPE_SINT64 - || s->elements[0]->type == FFI_TYPE_DOUBLE - || s->elements[0]->alignment == 8) - s->alignment = s->alignment > 8 ? s->alignment : 8; - /* Do not add additional tail padding. */ -} - -/* Adjust the size of S to be correct for AIX. - Word-align double unless it is the first member of a structure. */ - -static void -aix_adjust_aggregate_sizes (ffi_type *s) -{ - int i; - - if (s->type != FFI_TYPE_STRUCT) - return; - - s->size = 0; - for (i = 0; s->elements[i] != NULL; i++) - { - ffi_type *p; - int align; - - p = s->elements[i]; - aix_adjust_aggregate_sizes (p); - align = p->alignment; - if (i != 0 && p->type == FFI_TYPE_DOUBLE) - align = 4; - s->size = FFI_ALIGN(s->size, align) + p->size; - } - - s->size = FFI_ALIGN(s->size, s->alignment); - - if (s->elements[0]->type == FFI_TYPE_UINT64 - || s->elements[0]->type == FFI_TYPE_SINT64 - || s->elements[0]->type == FFI_TYPE_DOUBLE - || s->elements[0]->alignment == 8) - s->alignment = s->alignment > 8 ? s->alignment : 8; - /* Do not add additional tail padding. */ -} - -/* Perform machine dependent cif processing. */ -ffi_status -ffi_prep_cif_machdep (ffi_cif *cif) -{ - /* All this is for the DARWIN ABI. */ - unsigned i; - ffi_type **ptr; - unsigned bytes; - unsigned fparg_count = 0, intarg_count = 0; - unsigned flags = 0; - unsigned size_al = 0; - - /* All the machine-independent calculation of cif->bytes will be wrong. - All the calculation of structure sizes will also be wrong. - Redo the calculation for DARWIN. */ - - if (cif->abi == FFI_DARWIN) - { - darwin_adjust_aggregate_sizes (cif->rtype); - for (i = 0; i < cif->nargs; i++) - darwin_adjust_aggregate_sizes (cif->arg_types[i]); - } - - if (cif->abi == FFI_AIX) - { - aix_adjust_aggregate_sizes (cif->rtype); - for (i = 0; i < cif->nargs; i++) - aix_adjust_aggregate_sizes (cif->arg_types[i]); - } - - /* Space for the frame pointer, callee's LR, CR, etc, and for - the asm's temp regs. */ - - bytes = (LINKAGE_AREA_GPRS + ASM_NEEDS_REGISTERS) * sizeof(unsigned long); - - /* Return value handling. - The rules m32 are as follows: - - 32-bit (or less) integer values are returned in gpr3; - - structures of size <= 4 bytes also returned in gpr3; - - 64-bit integer values [??? and structures between 5 and 8 bytes] are - returned in gpr3 and gpr4; - - Single/double FP values are returned in fpr1; - - Long double FP (if not equivalent to double) values are returned in - fpr1 and fpr2; - m64: - - 64-bit or smaller integral values are returned in GPR3 - - Single/double FP values are returned in fpr1; - - Long double FP values are returned in fpr1 and fpr2; - m64 Structures: - - If the structure could be accommodated in registers were it to be the - first argument to a routine, then it is returned in those registers. - m32/m64 structures otherwise: - - Larger structures values are allocated space and a pointer is passed - as the first argument. */ - switch (cif->rtype->type) - { - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - flags |= FLAG_RETURNS_128BITS; - flags |= FLAG_RETURNS_FP; - break; -#endif - - case FFI_TYPE_DOUBLE: - flags |= FLAG_RETURNS_64BITS; - /* Fall through. */ - case FFI_TYPE_FLOAT: - flags |= FLAG_RETURNS_FP; - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#ifdef POWERPC64 - case FFI_TYPE_POINTER: -#endif - flags |= FLAG_RETURNS_64BITS; - break; - - case FFI_TYPE_STRUCT: -#if defined(POWERPC_DARWIN64) - { - /* Can we fit the struct into regs? */ - if (darwin64_struct_ret_by_value_p (cif->rtype)) - { - unsigned nfpr = 0; - flags |= FLAG_RETURNS_STRUCT; - if (cif->rtype->size != 16) - darwin64_scan_struct_for_floats (cif->rtype, &nfpr) ; - else - flags |= FLAG_RETURNS_128BITS; - /* Will be 0 for 16byte struct. */ - if (nfpr) - flags |= FLAG_RETURNS_FP; - } - else /* By ref. */ - { - flags |= FLAG_RETVAL_REFERENCE; - flags |= FLAG_RETURNS_NOTHING; - intarg_count++; - } - } -#elif defined(DARWIN_PPC) - if (cif->rtype->size <= 4) - flags |= FLAG_RETURNS_STRUCT; - else /* else by reference. */ - { - flags |= FLAG_RETVAL_REFERENCE; - flags |= FLAG_RETURNS_NOTHING; - intarg_count++; - } -#else /* assume we pass by ref. */ - flags |= FLAG_RETVAL_REFERENCE; - flags |= FLAG_RETURNS_NOTHING; - intarg_count++; -#endif - break; - case FFI_TYPE_VOID: - flags |= FLAG_RETURNS_NOTHING; - break; - - default: - /* Returns 32-bit integer, or similar. Nothing to do here. */ - break; - } - - /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the - first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest - goes on the stack. - ??? Structures are passed as a pointer to a copy of the structure. - Stuff on the stack needs to keep proper alignment. - For m64 the count is effectively of half-GPRs. */ - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) - { - unsigned align_words; - switch ((*ptr)->type) - { - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - fparg_count++; -#if !defined(POWERPC_DARWIN64) - /* If this FP arg is going on the stack, it must be - 8-byte-aligned. */ - if (fparg_count > NUM_FPR_ARG_REGISTERS - && (intarg_count & 0x01) != 0) - intarg_count++; -#endif - break; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - fparg_count += 2; - /* If this FP arg is going on the stack, it must be - 16-byte-aligned. */ - if (fparg_count >= NUM_FPR_ARG_REGISTERS) -#if defined (POWERPC64) - intarg_count = FFI_ALIGN(intarg_count, 2); -#else - intarg_count = FFI_ALIGN(intarg_count, 4); -#endif - break; -#endif - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#if defined(POWERPC64) - intarg_count++; -#else - /* 'long long' arguments are passed as two words, but - either both words must fit in registers or both go - on the stack. If they go on the stack, they must - be 8-byte-aligned. */ - if (intarg_count == NUM_GPR_ARG_REGISTERS-1 - || (intarg_count >= NUM_GPR_ARG_REGISTERS - && (intarg_count & 0x01) != 0)) - intarg_count++; - intarg_count += 2; -#endif - break; - - case FFI_TYPE_STRUCT: - size_al = (*ptr)->size; -#if defined(POWERPC_DARWIN64) - align_words = (*ptr)->alignment >> 3; - if (align_words) - intarg_count = FFI_ALIGN(intarg_count, align_words); - /* Base size of the struct. */ - intarg_count += (size_al + 7) / 8; - /* If 16 bytes then don't worry about floats. */ - if (size_al != 16) - /* Scan through for floats to be placed in regs. */ - darwin64_scan_struct_for_floats (*ptr, &fparg_count) ; -#else - align_words = (*ptr)->alignment >> 2; - if (align_words) - intarg_count = FFI_ALIGN(intarg_count, align_words); - /* If the first member of the struct is a double, then align - the struct to double-word. - if ((*ptr)->elements[0]->type == FFI_TYPE_DOUBLE) - size_al = FFI_ALIGN((*ptr)->size, 8); */ -# ifdef POWERPC64 - intarg_count += (size_al + 7) / 8; -# else - intarg_count += (size_al + 3) / 4; -# endif -#endif - break; - - default: - /* Everything else is passed as a 4-byte word in a GPR, either - the object itself or a pointer to it. */ - intarg_count++; - break; - } - } - - if (fparg_count != 0) - flags |= FLAG_FP_ARGUMENTS; - -#if defined(POWERPC_DARWIN64) - /* Space to image the FPR registers, if needed - which includes when they might be - used in a struct return. */ - if (fparg_count != 0 - || ((flags & FLAG_RETURNS_STRUCT) - && (flags & FLAG_RETURNS_FP))) - bytes += NUM_FPR_ARG_REGISTERS * sizeof(double); -#else - /* Space for the FPR registers, if needed. */ - if (fparg_count != 0) - bytes += NUM_FPR_ARG_REGISTERS * sizeof(double); -#endif - - /* Stack space. */ -#ifdef POWERPC64 - if ((intarg_count + fparg_count) > NUM_GPR_ARG_REGISTERS) - bytes += (intarg_count + fparg_count) * sizeof(long); -#else - if ((intarg_count + 2 * fparg_count) > NUM_GPR_ARG_REGISTERS) - bytes += (intarg_count + 2 * fparg_count) * sizeof(long); -#endif - else - bytes += NUM_GPR_ARG_REGISTERS * sizeof(long); - - /* The stack space allocated needs to be a multiple of 16 bytes. */ - bytes = FFI_ALIGN(bytes, 16) ; - - cif->flags = flags; - cif->bytes = bytes; - - return FFI_OK; -} - -extern void ffi_call_AIX(extended_cif *, long, unsigned, unsigned *, - void (*fn)(void), void (*fn2)(void)); - -#if defined (FFI_GO_CLOSURES) -extern void ffi_call_go_AIX(extended_cif *, long, unsigned, unsigned *, - void (*fn)(void), void (*fn2)(void), void *closure); -#endif - -extern void ffi_call_DARWIN(extended_cif *, long, unsigned, unsigned *, - void (*fn)(void), void (*fn2)(void), ffi_type*); - -void -ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return - value address then we need to make one. */ - - if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca (cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_AIX: - ffi_call_AIX(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn, - FFI_FN(ffi_prep_args)); - break; - case FFI_DARWIN: - ffi_call_DARWIN(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn, - FFI_FN(ffi_prep_args), cif->rtype); - break; - default: - FFI_ASSERT(0); - break; - } -} - -#if defined (FFI_GO_CLOSURES) -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, - void *closure) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return - value address then we need to make one. */ - - if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca (cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_AIX: - ffi_call_go_AIX(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn, - FFI_FN(ffi_prep_args), closure); - break; - default: - FFI_ASSERT(0); - break; - } -} -#endif - -static void flush_icache(char *); -static void flush_range(char *, int); - -/* The layout of a function descriptor. A C function pointer really - points to one of these. */ - -typedef struct aix_fd_struct { - void *code_pointer; - void *toc; -} aix_fd; - -/* here I'd like to add the stack frame layout we use in darwin_closure.S - and aix_closure.S - - m32/m64 - - The stack layout looks like this: - - | Additional params... | | Higher address - ~ ~ ~ - | Parameters (at least 8*4/8=32/64) | | NUM_GPR_ARG_REGISTERS - |--------------------------------------------| | - | TOC=R2 (AIX) Reserved (Darwin) 4/8 | | - |--------------------------------------------| | - | Reserved 2*4/8 | | - |--------------------------------------------| | - | Space for callee's LR 4/8 | | - |--------------------------------------------| | - | Saved CR [low word for m64] 4/8 | | - |--------------------------------------------| | - | Current backchain pointer 4/8 |-/ Parent's frame. - |--------------------------------------------| <+ <<< on entry to ffi_closure_ASM - | Result Bytes 16 | | - |--------------------------------------------| | - ~ padding to 16-byte alignment ~ ~ - |--------------------------------------------| | - | NUM_FPR_ARG_REGISTERS slots | | - | here fp13 .. fp1 13*8 | | - |--------------------------------------------| | - | R3..R10 8*4/8=32/64 | | NUM_GPR_ARG_REGISTERS - |--------------------------------------------| | - | TOC=R2 (AIX) Reserved (Darwin) 4/8 | | - |--------------------------------------------| | stack | - | Reserved [compiler,binder] 2*4/8 | | grows | - |--------------------------------------------| | down V - | Space for callee's LR 4/8 | | - |--------------------------------------------| | lower addresses - | Saved CR [low word for m64] 4/8 | | - |--------------------------------------------| | stack pointer here - | Current backchain pointer 4/8 |-/ during - |--------------------------------------------| <<< ffi_closure_ASM. - -*/ - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp; - struct ffi_aix_trampoline_struct *tramp_aix; - aix_fd *fd; - - switch (cif->abi) - { - case FFI_DARWIN: - - FFI_ASSERT (cif->abi == FFI_DARWIN); - - tramp = (unsigned int *) &closure->tramp[0]; -#if defined(POWERPC_DARWIN64) - tramp[0] = 0x7c0802a6; /* mflr r0 */ - tramp[1] = 0x429f0015; /* bcl- 20,4*cr7+so, +0x18 (L1) */ - /* We put the addresses here. */ - tramp[6] = 0x7d6802a6; /*L1: mflr r11 */ - tramp[7] = 0xe98b0000; /* ld r12,0(r11) function address */ - tramp[8] = 0x7c0803a6; /* mtlr r0 */ - tramp[9] = 0x7d8903a6; /* mtctr r12 */ - tramp[10] = 0xe96b0008; /* lwz r11,8(r11) static chain */ - tramp[11] = 0x4e800420; /* bctr */ - - *((unsigned long *)&tramp[2]) = (unsigned long) ffi_closure_ASM; /* function */ - *((unsigned long *)&tramp[4]) = (unsigned long) codeloc; /* context */ -#else - tramp[0] = 0x7c0802a6; /* mflr r0 */ - tramp[1] = 0x429f000d; /* bcl- 20,4*cr7+so,0x10 */ - tramp[4] = 0x7d6802a6; /* mflr r11 */ - tramp[5] = 0x818b0000; /* lwz r12,0(r11) function address */ - tramp[6] = 0x7c0803a6; /* mtlr r0 */ - tramp[7] = 0x7d8903a6; /* mtctr r12 */ - tramp[8] = 0x816b0004; /* lwz r11,4(r11) static chain */ - tramp[9] = 0x4e800420; /* bctr */ - tramp[2] = (unsigned long) ffi_closure_ASM; /* function */ - tramp[3] = (unsigned long) codeloc; /* context */ -#endif - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - /* Flush the icache. Only necessary on Darwin. */ - flush_range(codeloc, FFI_TRAMPOLINE_SIZE); - - break; - - case FFI_AIX: - - tramp_aix = (struct ffi_aix_trampoline_struct *) (closure->tramp); - fd = (aix_fd *)(void *)ffi_closure_ASM; - - FFI_ASSERT (cif->abi == FFI_AIX); - - tramp_aix->code_pointer = fd->code_pointer; - tramp_aix->toc = fd->toc; - tramp_aix->static_chain = codeloc; - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - break; - - default: - return FFI_BAD_ABI; - break; - } - return FFI_OK; -} - -#if defined (FFI_GO_CLOSURES) -ffi_status -ffi_prep_go_closure (ffi_go_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*)) -{ - switch (cif->abi) - { - case FFI_AIX: - - FFI_ASSERT (cif->abi == FFI_AIX); - - closure->tramp = (void *)ffi_go_closure_ASM; - closure->cif = cif; - closure->fun = fun; - return FFI_OK; - - // For now, ffi_prep_go_closure is only implemented for AIX, not for Darwin - default: - return FFI_BAD_ABI; - break; - } - return FFI_OK; -} -#endif - -static void -flush_icache(char *addr) -{ -#ifndef _AIX - __asm__ volatile ( - "dcbf 0,%0\n" - "\tsync\n" - "\ticbi 0,%0\n" - "\tsync\n" - "\tisync" - : : "r"(addr) : "memory"); -#endif -} - -static void -flush_range(char * addr1, int size) -{ -#define MIN_LINE_SIZE 32 - int i; - for (i = 0; i < size; i += MIN_LINE_SIZE) - flush_icache(addr1+i); - flush_icache(addr1+size-1); -} - -typedef union -{ - float f; - double d; -} ffi_dblfl; - -ffi_type * -ffi_closure_helper_DARWIN (ffi_closure *, void *, - unsigned long *, ffi_dblfl *); - -#if defined (FFI_GO_CLOSURES) -ffi_type * -ffi_go_closure_helper_DARWIN (ffi_go_closure*, void *, - unsigned long *, ffi_dblfl *); -#endif - -/* Basically the trampoline invokes ffi_closure_ASM, and on - entry, r11 holds the address of the closure. - After storing the registers that could possibly contain - parameters to be passed into the stack frame and setting - up space for a return value, ffi_closure_ASM invokes the - following helper function to do most of the work. */ - -static ffi_type * -ffi_closure_helper_common (ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, void *rvalue, - unsigned long *pgr, ffi_dblfl *pfr) -{ - /* rvalue is the pointer to space for return value in closure assembly - pgr is the pointer to where r3-r10 are stored in ffi_closure_ASM - pfr is the pointer to where f1-f13 are stored in ffi_closure_ASM. */ - - typedef double ldbits[2]; - - union ldu - { - ldbits lb; - long double ld; - }; - - void ** avalue; - ffi_type ** arg_types; - long i, avn; - ffi_dblfl * end_pfr = pfr + NUM_FPR_ARG_REGISTERS; - unsigned size_al; -#if defined(POWERPC_DARWIN64) - unsigned fpsused = 0; -#endif - - avalue = alloca (cif->nargs * sizeof(void *)); - - if (cif->rtype->type == FFI_TYPE_STRUCT) - { -#if defined(POWERPC_DARWIN64) - if (!darwin64_struct_ret_by_value_p (cif->rtype)) - { - /* Won't fit into the regs - return by ref. */ - rvalue = (void *) *pgr; - pgr++; - } -#elif defined(DARWIN_PPC) - if (cif->rtype->size > 4) - { - rvalue = (void *) *pgr; - pgr++; - } -#else /* assume we return by ref. */ - rvalue = (void *) *pgr; - pgr++; -#endif - } - - i = 0; - avn = cif->nargs; - arg_types = cif->arg_types; - - /* Grab the addresses of the arguments from the stack frame. */ - while (i < avn) - { - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: -#if defined(POWERPC64) - avalue[i] = (char *) pgr + 7; -#else - avalue[i] = (char *) pgr + 3; -#endif - pgr++; - break; - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: -#if defined(POWERPC64) - avalue[i] = (char *) pgr + 6; -#else - avalue[i] = (char *) pgr + 2; -#endif - pgr++; - break; - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: -#if defined(POWERPC64) - avalue[i] = (char *) pgr + 4; -#else - case FFI_TYPE_POINTER: - avalue[i] = pgr; -#endif - pgr++; - break; - - case FFI_TYPE_STRUCT: - size_al = arg_types[i]->size; -#if defined(POWERPC_DARWIN64) - pgr = (unsigned long *)FFI_ALIGN((char *)pgr, arg_types[i]->alignment); - if (size_al < 3 || size_al == 4) - { - avalue[i] = ((char *)pgr)+8-size_al; - if (arg_types[i]->elements[0]->type == FFI_TYPE_FLOAT - && fpsused < NUM_FPR_ARG_REGISTERS) - { - *(float *)pgr = (float) *(double *)pfr; - pfr++; - fpsused++; - } - } - else - { - if (size_al != 16) - pfr = (ffi_dblfl *) - darwin64_struct_floats_to_mem (arg_types[i], (char *)pgr, - (double *)pfr, &fpsused); - avalue[i] = pgr; - } - pgr += (size_al + 7) / 8; -#else - /* If the first member of the struct is a double, then align - the struct to double-word. */ - if (arg_types[i]->elements[0]->type == FFI_TYPE_DOUBLE) - size_al = FFI_ALIGN(arg_types[i]->size, 8); -# if defined(POWERPC64) - FFI_ASSERT (cif->abi != FFI_DARWIN); - avalue[i] = pgr; - pgr += (size_al + 7) / 8; -# else - /* Structures that match the basic modes (QI 1 byte, HI 2 bytes, - SI 4 bytes) are aligned as if they were those modes. */ - if (size_al < 3 && cif->abi == FFI_DARWIN) - avalue[i] = (char*) pgr + 4 - size_al; - else - avalue[i] = pgr; - pgr += (size_al + 3) / 4; -# endif -#endif - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: -#if defined(POWERPC64) - case FFI_TYPE_POINTER: - avalue[i] = pgr; - pgr++; - break; -#else - /* Long long ints are passed in two gpr's. */ - avalue[i] = pgr; - pgr += 2; - break; -#endif - - case FFI_TYPE_FLOAT: - /* A float value consumes a GPR. - There are 13 64bit floating point registers. */ - if (pfr < end_pfr) - { - double temp = pfr->d; - pfr->f = (float) temp; - avalue[i] = pfr; - pfr++; - } - else - { - avalue[i] = pgr; - } - pgr++; - break; - - case FFI_TYPE_DOUBLE: - /* A double value consumes two GPRs. - There are 13 64bit floating point registers. */ - if (pfr < end_pfr) - { - avalue[i] = pfr; - pfr++; - } - else - { - avalue[i] = pgr; - } -#ifdef POWERPC64 - pgr++; -#else - pgr += 2; -#endif - break; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - - case FFI_TYPE_LONGDOUBLE: -#ifdef POWERPC64 - if (pfr + 1 < end_pfr) - { - avalue[i] = pfr; - pfr += 2; - } - else - { - if (pfr < end_pfr) - { - *pgr = *(unsigned long *) pfr; - pfr++; - } - avalue[i] = pgr; - } - pgr += 2; -#else /* POWERPC64 */ - /* A long double value consumes four GPRs and two FPRs. - There are 13 64bit floating point registers. */ - if (pfr + 1 < end_pfr) - { - avalue[i] = pfr; - pfr += 2; - } - /* Here we have the situation where one part of the long double - is stored in fpr13 and the other part is already on the stack. - We use a union to pass the long double to avalue[i]. */ - else if (pfr + 1 == end_pfr) - { - union ldu temp_ld; - memcpy (&temp_ld.lb[0], pfr, sizeof(ldbits)); - memcpy (&temp_ld.lb[1], pgr + 2, sizeof(ldbits)); - avalue[i] = &temp_ld.ld; - pfr++; - } - else - { - avalue[i] = pgr; - } - pgr += 4; -#endif /* POWERPC64 */ - break; -#endif - default: - FFI_ASSERT(0); - } - i++; - } - - (fun) (cif, rvalue, avalue, user_data); - - /* Tell ffi_closure_ASM to perform return type promotions. */ - return cif->rtype; -} - -ffi_type * -ffi_closure_helper_DARWIN (ffi_closure *closure, void *rvalue, - unsigned long *pgr, ffi_dblfl *pfr) -{ - return ffi_closure_helper_common (closure->cif, closure->fun, - closure->user_data, rvalue, pgr, pfr); -} - -#if defined (FFI_GO_CLOSURES) -ffi_type * -ffi_go_closure_helper_DARWIN (ffi_go_closure *closure, void *rvalue, - unsigned long *pgr, ffi_dblfl *pfr) -{ - return ffi_closure_helper_common (closure->cif, closure->fun, - closure, rvalue, pgr, pfr); -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c deleted file mode 100644 index 3454dac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +++ /dev/null @@ -1,1153 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_linux64.c - Copyright (C) 2013 IBM - Copyright (C) 2011 Anthony Green - Copyright (C) 2011 Kyle Moffett - Copyright (C) 2008 Red Hat, Inc - Copyright (C) 2007, 2008 Free Software Foundation, Inc - Copyright (c) 1998 Geoffrey Keating - - PowerPC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include "ffi.h" - -#ifdef POWERPC64 -#include "ffi_common.h" -#include "ffi_powerpc.h" - - -/* About the LINUX64 ABI. */ -enum { - NUM_GPR_ARG_REGISTERS64 = 8, - NUM_FPR_ARG_REGISTERS64 = 13, - NUM_VEC_ARG_REGISTERS64 = 12, -}; -enum { ASM_NEEDS_REGISTERS64 = 4 }; - - -#if HAVE_LONG_DOUBLE_VARIANT && FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -/* Adjust size of ffi_type_longdouble. */ -void FFI_HIDDEN -ffi_prep_types_linux64 (ffi_abi abi) -{ - if ((abi & (FFI_LINUX | FFI_LINUX_LONG_DOUBLE_128)) == FFI_LINUX) - { - ffi_type_longdouble.size = 8; - ffi_type_longdouble.alignment = 8; - } - else - { - ffi_type_longdouble.size = 16; - ffi_type_longdouble.alignment = 16; - } -} -#endif - - -static unsigned int -discover_homogeneous_aggregate (ffi_abi abi, - const ffi_type *t, - unsigned int *elnum) -{ - switch (t->type) - { -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - /* 64-bit long doubles are equivalent to doubles. */ - if ((abi & FFI_LINUX_LONG_DOUBLE_128) == 0) - { - *elnum = 1; - return FFI_TYPE_DOUBLE; - } - /* IBM extended precision values use unaligned pairs - of FPRs, but according to the ABI must be considered - distinct from doubles. They are also limited to a - maximum of four members in a homogeneous aggregate. */ - else if ((abi & FFI_LINUX_LONG_DOUBLE_IEEE128) == 0) - { - *elnum = 2; - return FFI_TYPE_LONGDOUBLE; - } - /* Fall through. */ -#endif - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - *elnum = 1; - return (int) t->type; - - case FFI_TYPE_STRUCT:; - { - unsigned int base_elt = 0, total_elnum = 0; - ffi_type **el = t->elements; - while (*el) - { - unsigned int el_elt, el_elnum = 0; - el_elt = discover_homogeneous_aggregate (abi, *el, &el_elnum); - if (el_elt == 0 - || (base_elt && base_elt != el_elt)) - return 0; - base_elt = el_elt; - total_elnum += el_elnum; -#if _CALL_ELF == 2 - if (total_elnum > 8) - return 0; -#else - if (total_elnum > 1) - return 0; -#endif - el++; - } - *elnum = total_elnum; - return base_elt; - } - - default: - return 0; - } -} - - -/* Perform machine dependent cif processing */ -static ffi_status -ffi_prep_cif_linux64_core (ffi_cif *cif) -{ - ffi_type **ptr; - unsigned bytes; - unsigned i, fparg_count = 0, intarg_count = 0, vecarg_count = 0; - unsigned flags = cif->flags; - unsigned elt, elnum, rtype; - -#if FFI_TYPE_LONGDOUBLE == FFI_TYPE_DOUBLE - /* If compiled without long double support... */ - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_128) != 0 || - (cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - return FFI_BAD_ABI; -#elif !defined(__VEC__) - /* If compiled without vector register support (used by assembly)... */ - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - return FFI_BAD_ABI; -#else - /* If the IEEE128 flag is set, but long double is only 64 bits wide... */ - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_128) == 0 && - (cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - return FFI_BAD_ABI; -#endif - - /* The machine-independent calculation of cif->bytes doesn't work - for us. Redo the calculation. */ -#if _CALL_ELF == 2 - /* Space for backchain, CR, LR, TOC and the asm's temp regs. */ - bytes = (4 + ASM_NEEDS_REGISTERS64) * sizeof (long); - - /* Space for the general registers. */ - bytes += NUM_GPR_ARG_REGISTERS64 * sizeof (long); -#else - /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp - regs. */ - bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long); - - /* Space for the mandatory parm save area and general registers. */ - bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long); -#endif - - /* Return value handling. */ - rtype = cif->rtype->type; -#if _CALL_ELF == 2 -homogeneous: -#endif - switch (rtype) - { -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - flags |= FLAG_RETURNS_VEC; - break; - } - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_128) != 0) - flags |= FLAG_RETURNS_128BITS; - /* Fall through. */ -#endif - case FFI_TYPE_DOUBLE: - flags |= FLAG_RETURNS_64BITS; - /* Fall through. */ - case FFI_TYPE_FLOAT: - flags |= FLAG_RETURNS_FP; - break; - - case FFI_TYPE_UINT128: - flags |= FLAG_RETURNS_128BITS; - /* Fall through. */ - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - flags |= FLAG_RETURNS_64BITS; - break; - - case FFI_TYPE_STRUCT: -#if _CALL_ELF == 2 - elt = discover_homogeneous_aggregate (cif->abi, cif->rtype, &elnum); - if (elt) - { - flags |= FLAG_RETURNS_SMST; - rtype = elt; - goto homogeneous; - } - if (cif->rtype->size <= 16) - { - flags |= FLAG_RETURNS_SMST; - break; - } -#endif - intarg_count++; - flags |= FLAG_RETVAL_REFERENCE; - /* Fall through. */ - case FFI_TYPE_VOID: - flags |= FLAG_RETURNS_NOTHING; - break; - - default: - /* Returns 32-bit integer, or similar. Nothing to do here. */ - break; - } - - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) - { - unsigned int align; - - switch ((*ptr)->type) - { -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - vecarg_count++; - /* Align to 16 bytes, plus the 16-byte argument. */ - intarg_count = (intarg_count + 3) & ~0x1; - if (vecarg_count > NUM_VEC_ARG_REGISTERS64) - flags |= FLAG_ARG_NEEDS_PSAVE; - break; - } - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_128) != 0) - { - fparg_count++; - intarg_count++; - } - /* Fall through. */ -#endif - case FFI_TYPE_DOUBLE: - case FFI_TYPE_FLOAT: - fparg_count++; - intarg_count++; - if (fparg_count > NUM_FPR_ARG_REGISTERS64) - flags |= FLAG_ARG_NEEDS_PSAVE; - break; - - case FFI_TYPE_STRUCT: - if ((cif->abi & FFI_LINUX_STRUCT_ALIGN) != 0) - { - align = (*ptr)->alignment; - if (align > 16) - align = 16; - align = align / 8; - if (align > 1) - intarg_count = FFI_ALIGN (intarg_count, align); - } - intarg_count += ((*ptr)->size + 7) / 8; - elt = discover_homogeneous_aggregate (cif->abi, *ptr, &elnum); -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - if (elt == FFI_TYPE_LONGDOUBLE && - (cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - vecarg_count += elnum; - if (vecarg_count > NUM_VEC_ARG_REGISTERS64) - flags |= FLAG_ARG_NEEDS_PSAVE; - break; - } - else -#endif - if (elt) - { - fparg_count += elnum; - if (fparg_count > NUM_FPR_ARG_REGISTERS64) - flags |= FLAG_ARG_NEEDS_PSAVE; - } - else - { - if (intarg_count > NUM_GPR_ARG_REGISTERS64) - flags |= FLAG_ARG_NEEDS_PSAVE; - } - break; - - case FFI_TYPE_POINTER: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - /* Everything else is passed as a 8-byte word in a GPR, either - the object itself or a pointer to it. */ - intarg_count++; - if (intarg_count > NUM_GPR_ARG_REGISTERS64) - flags |= FLAG_ARG_NEEDS_PSAVE; - break; - default: - FFI_ASSERT (0); - } - } - - if (fparg_count != 0) - flags |= FLAG_FP_ARGUMENTS; - if (intarg_count > 4) - flags |= FLAG_4_GPR_ARGUMENTS; - if (vecarg_count != 0) - flags |= FLAG_VEC_ARGUMENTS; - - /* Space for the FPR registers, if needed. */ - if (fparg_count != 0) - bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double); - /* Space for the vector registers, if needed, aligned to 16 bytes. */ - if (vecarg_count != 0) { - bytes = (bytes + 15) & ~0xF; - bytes += NUM_VEC_ARG_REGISTERS64 * sizeof (float128); - } - - /* Stack space. */ -#if _CALL_ELF == 2 - if ((flags & FLAG_ARG_NEEDS_PSAVE) != 0) - bytes += intarg_count * sizeof (long); -#else - if (intarg_count > NUM_GPR_ARG_REGISTERS64) - bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long); -#endif - - /* The stack space allocated needs to be a multiple of 16 bytes. */ - bytes = (bytes + 15) & ~0xF; - - cif->flags = flags; - cif->bytes = bytes; - - return FFI_OK; -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_linux64 (ffi_cif *cif) -{ - if ((cif->abi & FFI_LINUX) != 0) - cif->nfixedargs = cif->nargs; -#if _CALL_ELF != 2 - else if (cif->abi == FFI_COMPAT_LINUX64) - { - /* This call is from old code. Don't touch cif->nfixedargs - since old code will be using a smaller cif. */ - cif->flags |= FLAG_COMPAT; - /* Translate to new abi value. */ - cif->abi = FFI_LINUX | FFI_LINUX_LONG_DOUBLE_128; - } -#endif - else - return FFI_BAD_ABI; - return ffi_prep_cif_linux64_core (cif); -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_linux64_var (ffi_cif *cif, - unsigned int nfixedargs, - unsigned int ntotalargs MAYBE_UNUSED) -{ - if ((cif->abi & FFI_LINUX) != 0) - cif->nfixedargs = nfixedargs; -#if _CALL_ELF != 2 - else if (cif->abi == FFI_COMPAT_LINUX64) - { - /* This call is from old code. Don't touch cif->nfixedargs - since old code will be using a smaller cif. */ - cif->flags |= FLAG_COMPAT; - /* Translate to new abi value. */ - cif->abi = FFI_LINUX | FFI_LINUX_LONG_DOUBLE_128; - } -#endif - else - return FFI_BAD_ABI; -#if _CALL_ELF == 2 - cif->flags |= FLAG_ARG_NEEDS_PSAVE; -#endif - return ffi_prep_cif_linux64_core (cif); -} - - -/* ffi_prep_args64 is called by the assembly routine once stack space - has been allocated for the function's arguments. - - The stack layout we want looks like this: - - | Ret addr from ffi_call_LINUX64 8bytes | higher addresses - |--------------------------------------------| - | CR save area 8bytes | - |--------------------------------------------| - | Previous backchain pointer 8 | stack pointer here - |--------------------------------------------|<+ <<< on entry to - | Saved r28-r31 4*8 | | ffi_call_LINUX64 - |--------------------------------------------| | - | GPR registers r3-r10 8*8 | | - |--------------------------------------------| | - | FPR registers f1-f13 (optional) 13*8 | | - |--------------------------------------------| | - | VEC registers v2-v13 (optional) 12*16 | | - |--------------------------------------------| | - | Parameter save area | | - |--------------------------------------------| | - | TOC save area 8 | | - |--------------------------------------------| | stack | - | Linker doubleword 8 | | grows | - |--------------------------------------------| | down V - | Compiler doubleword 8 | | - |--------------------------------------------| | lower addresses - | Space for callee's LR 8 | | - |--------------------------------------------| | - | CR save area 8 | | - |--------------------------------------------| | stack pointer here - | Current backchain pointer 8 |-/ during - |--------------------------------------------| <<< ffi_call_LINUX64 - -*/ - -void FFI_HIDDEN -ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) -{ - const unsigned long bytes = ecif->cif->bytes; - const unsigned long flags = ecif->cif->flags; - - typedef union - { - char *c; - unsigned long *ul; - float *f; - double *d; - float128 *f128; - size_t p; - } valp; - - /* 'stacktop' points at the previous backchain pointer. */ - valp stacktop; - - /* 'next_arg' points at the space for gpr3, and grows upwards as - we use GPR registers, then continues at rest. */ - valp gpr_base; - valp gpr_end; - valp rest; - valp next_arg; - - /* 'fpr_base' points at the space for f1, and grows upwards as - we use FPR registers. */ - valp fpr_base; - unsigned int fparg_count; - - /* 'vec_base' points at the space for v2, and grows upwards as - we use vector registers. */ - valp vec_base; - unsigned int vecarg_count; - - unsigned int i, words, nargs, nfixedargs; - ffi_type **ptr; - double double_tmp; - union - { - void **v; - char **c; - signed char **sc; - unsigned char **uc; - signed short **ss; - unsigned short **us; - signed int **si; - unsigned int **ui; - unsigned long **ul; - float **f; - double **d; - float128 **f128; - } p_argv; - unsigned long gprvalue; - unsigned long align; - - stacktop.c = (char *) stack + bytes; - gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64; - gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64; -#if _CALL_ELF == 2 - rest.ul = stack + 4 + NUM_GPR_ARG_REGISTERS64; -#else - rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64; -#endif - fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64; - fparg_count = 0; - /* Place the vector args below the FPRs, if used, else the GPRs. */ - if (ecif->cif->flags & FLAG_FP_ARGUMENTS) - vec_base.p = fpr_base.p & ~0xF; - else - vec_base.p = gpr_base.p; - vec_base.f128 -= NUM_VEC_ARG_REGISTERS64; - vecarg_count = 0; - next_arg.ul = gpr_base.ul; - - /* Check that everything starts aligned properly. */ - FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0); - FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0); - FFI_ASSERT (((unsigned long) gpr_base.c & 0xF) == 0); - FFI_ASSERT (((unsigned long) gpr_end.c & 0xF) == 0); - FFI_ASSERT (((unsigned long) vec_base.c & 0xF) == 0); - FFI_ASSERT ((bytes & 0xF) == 0); - - /* Deal with return values that are actually pass-by-reference. */ - if (flags & FLAG_RETVAL_REFERENCE) - *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue; - - /* Now for the arguments. */ - p_argv.v = ecif->avalue; - nargs = ecif->cif->nargs; -#if _CALL_ELF != 2 - nfixedargs = (unsigned) -1; - if ((flags & FLAG_COMPAT) == 0) -#endif - nfixedargs = ecif->cif->nfixedargs; - for (ptr = ecif->cif->arg_types, i = 0; - i < nargs; - i++, ptr++, p_argv.v++) - { - unsigned int elt, elnum; - - switch ((*ptr)->type) - { -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - if ((ecif->cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - next_arg.p = FFI_ALIGN (next_arg.p, 16); - if (next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs) - memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128)); - else - memcpy (next_arg.f128, *p_argv.f128, sizeof (float128)); - if (++next_arg.f128 == gpr_end.f128) - next_arg.f128 = rest.f128; - vecarg_count++; - FFI_ASSERT (__LDBL_MANT_DIG__ == 113); - FFI_ASSERT (flags & FLAG_VEC_ARGUMENTS); - break; - } - if ((ecif->cif->abi & FFI_LINUX_LONG_DOUBLE_128) != 0) - { - double_tmp = (*p_argv.d)[0]; - if (fparg_count < NUM_FPR_ARG_REGISTERS64 && i < nfixedargs) - { - *fpr_base.d++ = double_tmp; -# if _CALL_ELF != 2 - if ((flags & FLAG_COMPAT) != 0) - *next_arg.d = double_tmp; -# endif - } - else - *next_arg.d = double_tmp; - if (++next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - fparg_count++; - double_tmp = (*p_argv.d)[1]; - if (fparg_count < NUM_FPR_ARG_REGISTERS64 && i < nfixedargs) - { - *fpr_base.d++ = double_tmp; -# if _CALL_ELF != 2 - if ((flags & FLAG_COMPAT) != 0) - *next_arg.d = double_tmp; -# endif - } - else - *next_arg.d = double_tmp; - if (++next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - fparg_count++; - FFI_ASSERT (__LDBL_MANT_DIG__ == 106); - FFI_ASSERT (flags & FLAG_FP_ARGUMENTS); - break; - } - /* Fall through. */ -#endif - case FFI_TYPE_DOUBLE: -#if _CALL_ELF != 2 - do_double: -#endif - double_tmp = **p_argv.d; - if (fparg_count < NUM_FPR_ARG_REGISTERS64 && i < nfixedargs) - { - *fpr_base.d++ = double_tmp; -#if _CALL_ELF != 2 - if ((flags & FLAG_COMPAT) != 0) - *next_arg.d = double_tmp; -#endif - } - else - *next_arg.d = double_tmp; - if (++next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - fparg_count++; - FFI_ASSERT (flags & FLAG_FP_ARGUMENTS); - break; - - case FFI_TYPE_FLOAT: -#if _CALL_ELF != 2 - do_float: -#endif - double_tmp = **p_argv.f; - if (fparg_count < NUM_FPR_ARG_REGISTERS64 && i < nfixedargs) - { - *fpr_base.d++ = double_tmp; -#if _CALL_ELF != 2 - if ((flags & FLAG_COMPAT) != 0) - { -# ifndef __LITTLE_ENDIAN__ - next_arg.f[1] = (float) double_tmp; -# else - next_arg.f[0] = (float) double_tmp; -# endif - } -#endif - } - else - { -# ifndef __LITTLE_ENDIAN__ - next_arg.f[1] = (float) double_tmp; -# else - next_arg.f[0] = (float) double_tmp; -# endif - } - if (++next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - fparg_count++; - FFI_ASSERT (flags & FLAG_FP_ARGUMENTS); - break; - - case FFI_TYPE_STRUCT: - if ((ecif->cif->abi & FFI_LINUX_STRUCT_ALIGN) != 0) - { - align = (*ptr)->alignment; - if (align > 16) - align = 16; - if (align > 1) - { - next_arg.p = FFI_ALIGN (next_arg.p, align); - if (next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - } - } - elt = discover_homogeneous_aggregate (ecif->cif->abi, *ptr, &elnum); - if (elt) - { -#if _CALL_ELF == 2 - union { - void *v; - float *f; - double *d; - float128 *f128; - } arg; - - arg.v = *p_argv.v; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - if (elt == FFI_TYPE_LONGDOUBLE && - (ecif->cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - do - { - if (vecarg_count < NUM_VEC_ARG_REGISTERS64 - && i < nfixedargs) - memcpy (vec_base.f128++, arg.f128++, sizeof (float128)); - else - memcpy (next_arg.f128, arg.f128++, sizeof (float128)); - if (++next_arg.f128 == gpr_end.f128) - next_arg.f128 = rest.f128; - vecarg_count++; - } - while (--elnum != 0); - } - else -#endif - if (elt == FFI_TYPE_FLOAT) - { - do - { - double_tmp = *arg.f++; - if (fparg_count < NUM_FPR_ARG_REGISTERS64 - && i < nfixedargs) - *fpr_base.d++ = double_tmp; - else - *next_arg.f = (float) double_tmp; - if (++next_arg.f == gpr_end.f) - next_arg.f = rest.f; - fparg_count++; - } - while (--elnum != 0); - if ((next_arg.p & 7) != 0) - if (++next_arg.f == gpr_end.f) - next_arg.f = rest.f; - } - else - do - { - double_tmp = *arg.d++; - if (fparg_count < NUM_FPR_ARG_REGISTERS64 && i < nfixedargs) - *fpr_base.d++ = double_tmp; - else - *next_arg.d = double_tmp; - if (++next_arg.d == gpr_end.d) - next_arg.d = rest.d; - fparg_count++; - } - while (--elnum != 0); -#else - if (elt == FFI_TYPE_FLOAT) - goto do_float; - else - goto do_double; -#endif - } - else - { - words = ((*ptr)->size + 7) / 8; - if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul) - { - size_t first = gpr_end.c - next_arg.c; - memcpy (next_arg.c, *p_argv.c, first); - memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first); - next_arg.c = rest.c + words * 8 - first; - } - else - { - char *where = next_arg.c; - -#ifndef __LITTLE_ENDIAN__ - /* Structures with size less than eight bytes are passed - left-padded. */ - if ((*ptr)->size < 8) - where += 8 - (*ptr)->size; -#endif - memcpy (where, *p_argv.c, (*ptr)->size); - next_arg.ul += words; - if (next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - } - } - break; - - case FFI_TYPE_UINT8: - gprvalue = **p_argv.uc; - goto putgpr; - case FFI_TYPE_SINT8: - gprvalue = **p_argv.sc; - goto putgpr; - case FFI_TYPE_UINT16: - gprvalue = **p_argv.us; - goto putgpr; - case FFI_TYPE_SINT16: - gprvalue = **p_argv.ss; - goto putgpr; - case FFI_TYPE_UINT32: - gprvalue = **p_argv.ui; - goto putgpr; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - gprvalue = **p_argv.si; - goto putgpr; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - gprvalue = **p_argv.ul; - putgpr: - *next_arg.ul++ = gprvalue; - if (next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - break; - } - } - - FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS - || (next_arg.ul >= gpr_base.ul - && next_arg.ul <= gpr_base.ul + 4)); -} - - -#if _CALL_ELF == 2 -#define MIN_CACHE_LINE_SIZE 8 - -static void -flush_icache (char *wraddr, char *xaddr, int size) -{ - int i; - for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE) - __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" - : : "r" (xaddr + i), "r" (wraddr + i) : "memory"); - __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;" - : : "r"(xaddr + size - 1), "r"(wraddr + size - 1) - : "memory"); -} -#endif - - -ffi_status FFI_HIDDEN -ffi_prep_closure_loc_linux64 (ffi_closure *closure, - ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - void *codeloc) -{ -#if _CALL_ELF == 2 - unsigned int *tramp = (unsigned int *) &closure->tramp[0]; - - if (cif->abi < FFI_LINUX || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - tramp[0] = 0xe96c0018; /* 0: ld 11,2f-0b(12) */ - tramp[1] = 0xe98c0010; /* ld 12,1f-0b(12) */ - tramp[2] = 0x7d8903a6; /* mtctr 12 */ - tramp[3] = 0x4e800420; /* bctr */ - /* 1: .quad function_addr */ - /* 2: .quad context */ - *(void **) &tramp[4] = (void *) ffi_closure_LINUX64; - *(void **) &tramp[6] = codeloc; - flush_icache ((char *) tramp, (char *) codeloc, 4 * 4); -#else - void **tramp = (void **) &closure->tramp[0]; - - if (cif->abi < FFI_LINUX || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - /* Copy function address and TOC from ffi_closure_LINUX64 OPD. */ - memcpy (&tramp[0], (void **) ffi_closure_LINUX64, sizeof (void *)); - tramp[1] = codeloc; - memcpy (&tramp[2], (void **) ffi_closure_LINUX64 + 1, sizeof (void *)); -#endif - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - - -int FFI_HIDDEN -ffi_closure_helper_LINUX64 (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - void *rvalue, - unsigned long *pst, - ffi_dblfl *pfr, - float128 *pvec) -{ - /* rvalue is the pointer to space for return value in closure assembly */ - /* pst is the pointer to parameter save area - (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */ - /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */ - /* pvec is the pointer to where v2-v13 are stored in ffi_closure_LINUX64 */ - - void **avalue; - ffi_type **arg_types; - unsigned long i, avn, nfixedargs; - ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64; - float128 *end_pvec = pvec + NUM_VEC_ARG_REGISTERS64; - unsigned long align; - - avalue = alloca (cif->nargs * sizeof (void *)); - - /* Copy the caller's structure return value address so that the - closure returns the data directly to the caller. */ - if (cif->rtype->type == FFI_TYPE_STRUCT - && (cif->flags & FLAG_RETURNS_SMST) == 0) - { - rvalue = (void *) *pst; - pst++; - } - - i = 0; - avn = cif->nargs; -#if _CALL_ELF != 2 - nfixedargs = (unsigned) -1; - if ((cif->flags & FLAG_COMPAT) == 0) -#endif - nfixedargs = cif->nfixedargs; - arg_types = cif->arg_types; - - /* Grab the addresses of the arguments from the stack frame. */ - while (i < avn) - { - unsigned int elt, elnum; - - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: -#ifndef __LITTLE_ENDIAN__ - avalue[i] = (char *) pst + 7; - pst++; - break; -#endif - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: -#ifndef __LITTLE_ENDIAN__ - avalue[i] = (char *) pst + 6; - pst++; - break; -#endif - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: -#ifndef __LITTLE_ENDIAN__ - avalue[i] = (char *) pst + 4; - pst++; - break; -#endif - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - avalue[i] = pst; - pst++; - break; - - case FFI_TYPE_STRUCT: - if ((cif->abi & FFI_LINUX_STRUCT_ALIGN) != 0) - { - align = arg_types[i]->alignment; - if (align > 16) - align = 16; - if (align > 1) - pst = (unsigned long *) FFI_ALIGN ((size_t) pst, align); - } - elt = discover_homogeneous_aggregate (cif->abi, arg_types[i], &elnum); - if (elt) - { -#if _CALL_ELF == 2 - union { - void *v; - unsigned long *ul; - float *f; - double *d; - float128 *f128; - size_t p; - } to, from; - - /* Repackage the aggregate from its parts. The - aggregate size is not greater than the space taken by - the registers so store back to the register/parameter - save arrays. */ -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - if (elt == FFI_TYPE_LONGDOUBLE && - (cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - if (pvec + elnum <= end_pvec) - to.v = pvec; - else - to.v = pst; - } - else -#endif - if (pfr + elnum <= end_pfr) - to.v = pfr; - else - to.v = pst; - - avalue[i] = to.v; - from.ul = pst; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - if (elt == FFI_TYPE_LONGDOUBLE && - (cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - do - { - if (pvec < end_pvec && i < nfixedargs) - memcpy (to.f128, pvec++, sizeof (float128)); - else - memcpy (to.f128, from.f128, sizeof (float128)); - to.f128++; - from.f128++; - } - while (--elnum != 0); - } - else -#endif - if (elt == FFI_TYPE_FLOAT) - { - do - { - if (pfr < end_pfr && i < nfixedargs) - { - *to.f = (float) pfr->d; - pfr++; - } - else - *to.f = *from.f; - to.f++; - from.f++; - } - while (--elnum != 0); - } - else - { - do - { - if (pfr < end_pfr && i < nfixedargs) - { - *to.d = pfr->d; - pfr++; - } - else - *to.d = *from.d; - to.d++; - from.d++; - } - while (--elnum != 0); - } -#else - if (elt == FFI_TYPE_FLOAT) - goto do_float; - else - goto do_double; -#endif - } - else - { -#ifndef __LITTLE_ENDIAN__ - /* Structures with size less than eight bytes are passed - left-padded. */ - if (arg_types[i]->size < 8) - avalue[i] = (char *) pst + 8 - arg_types[i]->size; - else -#endif - avalue[i] = pst; - } - pst += (arg_types[i]->size + 7) / 8; - break; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - if ((cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) - { - if (((unsigned long) pst & 0xF) != 0) - ++pst; - if (pvec < end_pvec && i < nfixedargs) - avalue[i] = pvec++; - else - avalue[i] = pst; - pst += 2; - break; - } - else if ((cif->abi & FFI_LINUX_LONG_DOUBLE_128) != 0) - { - if (pfr + 1 < end_pfr && i + 1 < nfixedargs) - { - avalue[i] = pfr; - pfr += 2; - } - else - { - if (pfr < end_pfr && i < nfixedargs) - { - /* Passed partly in f13 and partly on the stack. - Move it all to the stack. */ - *pst = *(unsigned long *) pfr; - pfr++; - } - avalue[i] = pst; - } - pst += 2; - break; - } - /* Fall through. */ -#endif - case FFI_TYPE_DOUBLE: -#if _CALL_ELF != 2 - do_double: -#endif - /* On the outgoing stack all values are aligned to 8 */ - /* there are 13 64bit floating point registers */ - - if (pfr < end_pfr && i < nfixedargs) - { - avalue[i] = pfr; - pfr++; - } - else - avalue[i] = pst; - pst++; - break; - - case FFI_TYPE_FLOAT: -#if _CALL_ELF != 2 - do_float: -#endif - if (pfr < end_pfr && i < nfixedargs) - { - /* Float values are stored as doubles in the - ffi_closure_LINUX64 code. Fix them here. */ - pfr->f = (float) pfr->d; - avalue[i] = pfr; - pfr++; - } - else - { -#ifndef __LITTLE_ENDIAN__ - avalue[i] = (char *) pst + 4; -#else - avalue[i] = pst; -#endif - } - pst++; - break; - - default: - FFI_ASSERT (0); - } - - i++; - } - - (*fun) (cif, rvalue, avalue, user_data); - - /* Tell ffi_closure_LINUX64 how to perform return type promotions. */ - if ((cif->flags & FLAG_RETURNS_SMST) != 0) - { - if ((cif->flags & (FLAG_RETURNS_FP | FLAG_RETURNS_VEC)) == 0) - return FFI_V2_TYPE_SMALL_STRUCT + cif->rtype->size - 1; - else if ((cif->flags & FLAG_RETURNS_VEC) != 0) - return FFI_V2_TYPE_VECTOR_HOMOG; - else if ((cif->flags & FLAG_RETURNS_64BITS) != 0) - return FFI_V2_TYPE_DOUBLE_HOMOG; - else - return FFI_V2_TYPE_FLOAT_HOMOG; - } - if ((cif->flags & FLAG_RETURNS_VEC) != 0) - return FFI_V2_TYPE_VECTOR; - return cif->rtype->type; -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h deleted file mode 100644 index 960a5c4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +++ /dev/null @@ -1,105 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_powerpc.h - Copyright (C) 2013 IBM - Copyright (C) 2011 Anthony Green - Copyright (C) 2011 Kyle Moffett - Copyright (C) 2008 Red Hat, Inc - Copyright (C) 2007, 2008 Free Software Foundation, Inc - Copyright (c) 1998 Geoffrey Keating - - PowerPC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -enum { - /* The assembly depends on these exact flags. */ - /* These go in cr7 */ - FLAG_RETURNS_SMST = 1 << (31-31), /* Used for FFI_SYSV small structs. */ - FLAG_RETURNS_NOTHING = 1 << (31-30), - FLAG_RETURNS_FP = 1 << (31-29), - FLAG_RETURNS_VEC = 1 << (31-28), - - /* These go in cr6 */ - FLAG_RETURNS_64BITS = 1 << (31-27), - FLAG_RETURNS_128BITS = 1 << (31-26), - - FLAG_COMPAT = 1 << (31- 8), /* Not used by assembly */ - - /* These go in cr1 */ - FLAG_ARG_NEEDS_COPY = 1 << (31- 7), /* Used by sysv code */ - FLAG_ARG_NEEDS_PSAVE = FLAG_ARG_NEEDS_COPY, /* Used by linux64 code */ - FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */ - FLAG_4_GPR_ARGUMENTS = 1 << (31- 5), - FLAG_RETVAL_REFERENCE = 1 << (31- 4), - FLAG_VEC_ARGUMENTS = 1 << (31- 3), -}; - -typedef union -{ - float f; - double d; -} ffi_dblfl; - -#if defined(__FLOAT128_TYPE__) && defined(__HAVE_FLOAT128) -typedef _Float128 float128; -#elif defined(__FLOAT128__) -typedef __float128 float128; -#else -typedef char float128[16] __attribute__((aligned(16))); -#endif - -void FFI_HIDDEN ffi_closure_SYSV (void); -void FFI_HIDDEN ffi_go_closure_sysv (void); -void FFI_HIDDEN ffi_call_SYSV(extended_cif *, void (*)(void), void *, - unsigned, void *, int); - -void FFI_HIDDEN ffi_prep_types_sysv (ffi_abi); -ffi_status FFI_HIDDEN ffi_prep_cif_sysv (ffi_cif *); -ffi_status FFI_HIDDEN ffi_prep_closure_loc_sysv (ffi_closure *, - ffi_cif *, - void (*) (ffi_cif *, void *, - void **, void *), - void *, void *); -int FFI_HIDDEN ffi_closure_helper_SYSV (ffi_cif *, - void (*) (ffi_cif *, void *, - void **, void *), - void *, void *, unsigned long *, - ffi_dblfl *, unsigned long *); - -void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, void (*) (void), void *, - unsigned long, void *, long); -void FFI_HIDDEN ffi_closure_LINUX64 (void); -void FFI_HIDDEN ffi_go_closure_linux64 (void); - -void FFI_HIDDEN ffi_prep_types_linux64 (ffi_abi); -ffi_status FFI_HIDDEN ffi_prep_cif_linux64 (ffi_cif *); -ffi_status FFI_HIDDEN ffi_prep_cif_linux64_var (ffi_cif *, unsigned int, - unsigned int); -void FFI_HIDDEN ffi_prep_args64 (extended_cif *, unsigned long *const); -ffi_status FFI_HIDDEN ffi_prep_closure_loc_linux64 (ffi_closure *, ffi_cif *, - void (*) (ffi_cif *, void *, - void **, void *), - void *, void *); -int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_cif *, - void (*) (ffi_cif *, void *, - void **, void *), - void *, void *, - unsigned long *, ffi_dblfl *, - float128 *); diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c deleted file mode 100644 index 4078e75..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +++ /dev/null @@ -1,923 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi_sysv.c - Copyright (C) 2013 IBM - Copyright (C) 2011 Anthony Green - Copyright (C) 2011 Kyle Moffett - Copyright (C) 2008 Red Hat, Inc - Copyright (C) 2007, 2008 Free Software Foundation, Inc - Copyright (c) 1998 Geoffrey Keating - - PowerPC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include "ffi.h" - -#ifndef POWERPC64 -#include "ffi_common.h" -#include "ffi_powerpc.h" - - -/* About the SYSV ABI. */ -#define ASM_NEEDS_REGISTERS 6 -#define NUM_GPR_ARG_REGISTERS 8 -#define NUM_FPR_ARG_REGISTERS 8 - - -#if HAVE_LONG_DOUBLE_VARIANT && FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -/* Adjust size of ffi_type_longdouble. */ -void FFI_HIDDEN -ffi_prep_types_sysv (ffi_abi abi) -{ - if ((abi & (FFI_SYSV | FFI_SYSV_LONG_DOUBLE_128)) == FFI_SYSV) - { - ffi_type_longdouble.size = 8; - ffi_type_longdouble.alignment = 8; - } - else - { - ffi_type_longdouble.size = 16; - ffi_type_longdouble.alignment = 16; - } -} -#endif - -/* Transform long double, double and float to other types as per abi. */ -static int -translate_float (int abi, int type) -{ -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - if (type == FFI_TYPE_LONGDOUBLE - && (abi & FFI_SYSV_LONG_DOUBLE_128) == 0) - type = FFI_TYPE_DOUBLE; -#endif - if ((abi & FFI_SYSV_SOFT_FLOAT) != 0) - { - if (type == FFI_TYPE_FLOAT) - type = FFI_TYPE_UINT32; - else if (type == FFI_TYPE_DOUBLE) - type = FFI_TYPE_UINT64; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - else if (type == FFI_TYPE_LONGDOUBLE) - type = FFI_TYPE_UINT128; - } - else if ((abi & FFI_SYSV_IBM_LONG_DOUBLE) == 0) - { - if (type == FFI_TYPE_LONGDOUBLE) - type = FFI_TYPE_STRUCT; -#endif - } - return type; -} - -/* Perform machine dependent cif processing */ -static ffi_status -ffi_prep_cif_sysv_core (ffi_cif *cif) -{ - ffi_type **ptr; - unsigned bytes; - unsigned i, fpr_count = 0, gpr_count = 0, stack_count = 0; - unsigned flags = cif->flags; - unsigned struct_copy_size = 0; - unsigned type = cif->rtype->type; - unsigned size = cif->rtype->size; - - /* The machine-independent calculation of cif->bytes doesn't work - for us. Redo the calculation. */ - - /* Space for the frame pointer, callee's LR, and the asm's temp regs. */ - bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int); - - /* Space for the GPR registers. */ - bytes += NUM_GPR_ARG_REGISTERS * sizeof (int); - - /* Return value handling. The rules for SYSV are as follows: - - 32-bit (or less) integer values are returned in gpr3; - - Structures of size <= 4 bytes also returned in gpr3; - - 64-bit integer values and structures between 5 and 8 bytes are returned - in gpr3 and gpr4; - - Larger structures are allocated space and a pointer is passed as - the first argument. - - Single/double FP values are returned in fpr1; - - long doubles (if not equivalent to double) are returned in - fpr1,fpr2 for Linux and as for large structs for SysV. */ - - type = translate_float (cif->abi, type); - - switch (type) - { -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - flags |= FLAG_RETURNS_128BITS; - /* Fall through. */ -#endif - case FFI_TYPE_DOUBLE: - flags |= FLAG_RETURNS_64BITS; - /* Fall through. */ - case FFI_TYPE_FLOAT: - flags |= FLAG_RETURNS_FP; -#ifdef __NO_FPRS__ - return FFI_BAD_ABI; -#endif - break; - - case FFI_TYPE_UINT128: - flags |= FLAG_RETURNS_128BITS; - /* Fall through. */ - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - flags |= FLAG_RETURNS_64BITS; - break; - - case FFI_TYPE_STRUCT: - /* The final SYSV ABI says that structures smaller or equal 8 bytes - are returned in r3/r4. A draft ABI used by linux instead - returns them in memory. */ - if ((cif->abi & FFI_SYSV_STRUCT_RET) != 0 && size <= 8) - { - flags |= FLAG_RETURNS_SMST; - break; - } - gpr_count++; - flags |= FLAG_RETVAL_REFERENCE; - /* Fall through. */ - case FFI_TYPE_VOID: - flags |= FLAG_RETURNS_NOTHING; - break; - - default: - /* Returns 32-bit integer, or similar. Nothing to do here. */ - break; - } - - /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the - first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest - goes on the stack. Structures and long doubles (if not equivalent - to double) are passed as a pointer to a copy of the structure. - Stuff on the stack needs to keep proper alignment. */ - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) - { - unsigned short typenum = (*ptr)->type; - - typenum = translate_float (cif->abi, typenum); - - switch (typenum) - { -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - if (fpr_count >= NUM_FPR_ARG_REGISTERS - 1) - { - fpr_count = NUM_FPR_ARG_REGISTERS; - /* 8-byte align long doubles. */ - stack_count += stack_count & 1; - stack_count += 4; - } - else - fpr_count += 2; -#ifdef __NO_FPRS__ - return FFI_BAD_ABI; -#endif - break; -#endif - - case FFI_TYPE_DOUBLE: - if (fpr_count >= NUM_FPR_ARG_REGISTERS) - { - /* 8-byte align doubles. */ - stack_count += stack_count & 1; - stack_count += 2; - } - else - fpr_count += 1; -#ifdef __NO_FPRS__ - return FFI_BAD_ABI; -#endif - break; - - case FFI_TYPE_FLOAT: - if (fpr_count >= NUM_FPR_ARG_REGISTERS) - /* Yes, we don't follow the ABI, but neither does gcc. */ - stack_count += 1; - else - fpr_count += 1; -#ifdef __NO_FPRS__ - return FFI_BAD_ABI; -#endif - break; - - case FFI_TYPE_UINT128: - /* A long double in FFI_LINUX_SOFT_FLOAT can use only a set - of four consecutive gprs. If we do not have enough, we - have to adjust the gpr_count value. */ - if (gpr_count >= NUM_GPR_ARG_REGISTERS - 3) - gpr_count = NUM_GPR_ARG_REGISTERS; - if (gpr_count >= NUM_GPR_ARG_REGISTERS) - stack_count += 4; - else - gpr_count += 4; - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - /* 'long long' arguments are passed as two words, but - either both words must fit in registers or both go - on the stack. If they go on the stack, they must - be 8-byte-aligned. - - Also, only certain register pairs can be used for - passing long long int -- specifically (r3,r4), (r5,r6), - (r7,r8), (r9,r10). */ - gpr_count += gpr_count & 1; - if (gpr_count >= NUM_GPR_ARG_REGISTERS) - { - stack_count += stack_count & 1; - stack_count += 2; - } - else - gpr_count += 2; - break; - - case FFI_TYPE_STRUCT: - /* We must allocate space for a copy of these to enforce - pass-by-value. Pad the space up to a multiple of 16 - bytes (the maximum alignment required for anything under - the SYSV ABI). */ - struct_copy_size += ((*ptr)->size + 15) & ~0xF; - /* Fall through (allocate space for the pointer). */ - - case FFI_TYPE_POINTER: - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - /* Everything else is passed as a 4-byte word in a GPR, either - the object itself or a pointer to it. */ - if (gpr_count >= NUM_GPR_ARG_REGISTERS) - stack_count += 1; - else - gpr_count += 1; - break; - - default: - FFI_ASSERT (0); - } - } - - if (fpr_count != 0) - flags |= FLAG_FP_ARGUMENTS; - if (gpr_count > 4) - flags |= FLAG_4_GPR_ARGUMENTS; - if (struct_copy_size != 0) - flags |= FLAG_ARG_NEEDS_COPY; - - /* Space for the FPR registers, if needed. */ - if (fpr_count != 0) - bytes += NUM_FPR_ARG_REGISTERS * sizeof (double); - - /* Stack space. */ - bytes += stack_count * sizeof (int); - - /* The stack space allocated needs to be a multiple of 16 bytes. */ - bytes = (bytes + 15) & ~0xF; - - /* Add in the space for the copied structures. */ - bytes += struct_copy_size; - - cif->flags = flags; - cif->bytes = bytes; - - return FFI_OK; -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_sysv (ffi_cif *cif) -{ - if ((cif->abi & FFI_SYSV) == 0) - { - /* This call is from old code. Translate to new ABI values. */ - cif->flags |= FLAG_COMPAT; - switch (cif->abi) - { - default: - return FFI_BAD_ABI; - - case FFI_COMPAT_SYSV: - cif->abi = FFI_SYSV | FFI_SYSV_STRUCT_RET | FFI_SYSV_LONG_DOUBLE_128; - break; - - case FFI_COMPAT_GCC_SYSV: - cif->abi = FFI_SYSV | FFI_SYSV_LONG_DOUBLE_128; - break; - - case FFI_COMPAT_LINUX: - cif->abi = (FFI_SYSV | FFI_SYSV_IBM_LONG_DOUBLE - | FFI_SYSV_LONG_DOUBLE_128); - break; - - case FFI_COMPAT_LINUX_SOFT_FLOAT: - cif->abi = (FFI_SYSV | FFI_SYSV_SOFT_FLOAT | FFI_SYSV_IBM_LONG_DOUBLE - | FFI_SYSV_LONG_DOUBLE_128); - break; - } - } - return ffi_prep_cif_sysv_core (cif); -} - -/* ffi_prep_args_SYSV is called by the assembly routine once stack space - has been allocated for the function's arguments. - - The stack layout we want looks like this: - - | Return address from ffi_call_SYSV 4bytes | higher addresses - |--------------------------------------------| - | Previous backchain pointer 4 | stack pointer here - |--------------------------------------------|<+ <<< on entry to - | Saved r28-r31 4*4 | | ffi_call_SYSV - |--------------------------------------------| | - | GPR registers r3-r10 8*4 | | ffi_call_SYSV - |--------------------------------------------| | - | FPR registers f1-f8 (optional) 8*8 | | - |--------------------------------------------| | stack | - | Space for copied structures | | grows | - |--------------------------------------------| | down V - | Parameters that didn't fit in registers | | - |--------------------------------------------| | lower addresses - | Space for callee's LR 4 | | - |--------------------------------------------| | stack pointer here - | Current backchain pointer 4 |-/ during - |--------------------------------------------| <<< ffi_call_SYSV - -*/ - -void FFI_HIDDEN -ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack) -{ - const unsigned bytes = ecif->cif->bytes; - const unsigned flags = ecif->cif->flags; - - typedef union - { - char *c; - unsigned *u; - long long *ll; - float *f; - double *d; - } valp; - - /* 'stacktop' points at the previous backchain pointer. */ - valp stacktop; - - /* 'gpr_base' points at the space for gpr3, and grows upwards as - we use GPR registers. */ - valp gpr_base; - valp gpr_end; - -#ifndef __NO_FPRS__ - /* 'fpr_base' points at the space for fpr1, and grows upwards as - we use FPR registers. */ - valp fpr_base; - valp fpr_end; -#endif - - /* 'copy_space' grows down as we put structures in it. It should - stay 16-byte aligned. */ - valp copy_space; - - /* 'next_arg' grows up as we put parameters in it. */ - valp next_arg; - - int i; - ffi_type **ptr; -#ifndef __NO_FPRS__ - double double_tmp; -#endif - union - { - void **v; - char **c; - signed char **sc; - unsigned char **uc; - signed short **ss; - unsigned short **us; - unsigned int **ui; - long long **ll; - float **f; - double **d; - } p_argv; - size_t struct_copy_size; - unsigned gprvalue; - - stacktop.c = (char *) stack + bytes; - gpr_end.u = stacktop.u - ASM_NEEDS_REGISTERS; - gpr_base.u = gpr_end.u - NUM_GPR_ARG_REGISTERS; -#ifndef __NO_FPRS__ - fpr_end.d = gpr_base.d; - fpr_base.d = fpr_end.d - NUM_FPR_ARG_REGISTERS; - copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c); -#else - copy_space.c = gpr_base.c; -#endif - next_arg.u = stack + 2; - - /* Check that everything starts aligned properly. */ - FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0); - FFI_ASSERT (((unsigned long) copy_space.c & 0xF) == 0); - FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0); - FFI_ASSERT ((bytes & 0xF) == 0); - FFI_ASSERT (copy_space.c >= next_arg.c); - - /* Deal with return values that are actually pass-by-reference. */ - if (flags & FLAG_RETVAL_REFERENCE) - *gpr_base.u++ = (unsigned) (char *) ecif->rvalue; - - /* Now for the arguments. */ - p_argv.v = ecif->avalue; - for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs; - i > 0; - i--, ptr++, p_argv.v++) - { - unsigned int typenum = (*ptr)->type; - - typenum = translate_float (ecif->cif->abi, typenum); - - /* Now test the translated value */ - switch (typenum) - { -#ifndef __NO_FPRS__ -# if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - double_tmp = (*p_argv.d)[0]; - - if (fpr_base.d >= fpr_end.d - 1) - { - fpr_base.d = fpr_end.d; - if (((next_arg.u - stack) & 1) != 0) - next_arg.u += 1; - *next_arg.d = double_tmp; - next_arg.u += 2; - double_tmp = (*p_argv.d)[1]; - *next_arg.d = double_tmp; - next_arg.u += 2; - } - else - { - *fpr_base.d++ = double_tmp; - double_tmp = (*p_argv.d)[1]; - *fpr_base.d++ = double_tmp; - } - FFI_ASSERT (flags & FLAG_FP_ARGUMENTS); - break; -# endif - case FFI_TYPE_DOUBLE: - double_tmp = **p_argv.d; - - if (fpr_base.d >= fpr_end.d) - { - if (((next_arg.u - stack) & 1) != 0) - next_arg.u += 1; - *next_arg.d = double_tmp; - next_arg.u += 2; - } - else - *fpr_base.d++ = double_tmp; - FFI_ASSERT (flags & FLAG_FP_ARGUMENTS); - break; - - case FFI_TYPE_FLOAT: - double_tmp = **p_argv.f; - if (fpr_base.d >= fpr_end.d) - { - *next_arg.f = (float) double_tmp; - next_arg.u += 1; - } - else - *fpr_base.d++ = double_tmp; - FFI_ASSERT (flags & FLAG_FP_ARGUMENTS); - break; -#endif /* have FPRs */ - - case FFI_TYPE_UINT128: - /* The soft float ABI for long doubles works like this, a long double - is passed in four consecutive GPRs if available. A maximum of 2 - long doubles can be passed in gprs. If we do not have 4 GPRs - left, the long double is passed on the stack, 4-byte aligned. */ - if (gpr_base.u >= gpr_end.u - 3) - { - unsigned int ii; - gpr_base.u = gpr_end.u; - for (ii = 0; ii < 4; ii++) - { - unsigned int int_tmp = (*p_argv.ui)[ii]; - *next_arg.u++ = int_tmp; - } - } - else - { - unsigned int ii; - for (ii = 0; ii < 4; ii++) - { - unsigned int int_tmp = (*p_argv.ui)[ii]; - *gpr_base.u++ = int_tmp; - } - } - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - if (gpr_base.u >= gpr_end.u - 1) - { - gpr_base.u = gpr_end.u; - if (((next_arg.u - stack) & 1) != 0) - next_arg.u++; - *next_arg.ll = **p_argv.ll; - next_arg.u += 2; - } - else - { - /* The abi states only certain register pairs can be - used for passing long long int specifically (r3,r4), - (r5,r6), (r7,r8), (r9,r10). If next arg is long long - but not correct starting register of pair then skip - until the proper starting register. */ - if (((gpr_end.u - gpr_base.u) & 1) != 0) - gpr_base.u++; - *gpr_base.ll++ = **p_argv.ll; - } - break; - - case FFI_TYPE_STRUCT: - struct_copy_size = ((*ptr)->size + 15) & ~0xF; - copy_space.c -= struct_copy_size; - memcpy (copy_space.c, *p_argv.c, (*ptr)->size); - - gprvalue = (unsigned long) copy_space.c; - - FFI_ASSERT (copy_space.c > next_arg.c); - FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY); - goto putgpr; - - case FFI_TYPE_UINT8: - gprvalue = **p_argv.uc; - goto putgpr; - case FFI_TYPE_SINT8: - gprvalue = **p_argv.sc; - goto putgpr; - case FFI_TYPE_UINT16: - gprvalue = **p_argv.us; - goto putgpr; - case FFI_TYPE_SINT16: - gprvalue = **p_argv.ss; - goto putgpr; - - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - - gprvalue = **p_argv.ui; - - putgpr: - if (gpr_base.u >= gpr_end.u) - *next_arg.u++ = gprvalue; - else - *gpr_base.u++ = gprvalue; - break; - } - } - - /* Check that we didn't overrun the stack... */ - FFI_ASSERT (copy_space.c >= next_arg.c); - FFI_ASSERT (gpr_base.u <= gpr_end.u); -#ifndef __NO_FPRS__ - FFI_ASSERT (fpr_base.u <= fpr_end.u); -#endif - FFI_ASSERT (((flags & FLAG_4_GPR_ARGUMENTS) != 0) - == (gpr_end.u - gpr_base.u < 4)); -} - -#define MIN_CACHE_LINE_SIZE 8 - -static void -flush_icache (char *wraddr, char *xaddr, int size) -{ - int i; - for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE) - __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" - : : "r" (xaddr + i), "r" (wraddr + i) : "memory"); - __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;" - : : "r"(xaddr + size - 1), "r"(wraddr + size - 1) - : "memory"); -} - -ffi_status FFI_HIDDEN -ffi_prep_closure_loc_sysv (ffi_closure *closure, - ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - void *codeloc) -{ - unsigned int *tramp; - - if (cif->abi < FFI_SYSV || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - tramp = (unsigned int *) &closure->tramp[0]; - tramp[0] = 0x7c0802a6; /* mflr r0 */ - tramp[1] = 0x429f0005; /* bcl 20,31,.+4 */ - tramp[2] = 0x7d6802a6; /* mflr r11 */ - tramp[3] = 0x7c0803a6; /* mtlr r0 */ - tramp[4] = 0x800b0018; /* lwz r0,24(r11) */ - tramp[5] = 0x816b001c; /* lwz r11,28(r11) */ - tramp[6] = 0x7c0903a6; /* mtctr r0 */ - tramp[7] = 0x4e800420; /* bctr */ - *(void **) &tramp[8] = (void *) ffi_closure_SYSV; /* function */ - *(void **) &tramp[9] = codeloc; /* context */ - - /* Flush the icache. */ - flush_icache ((char *)tramp, (char *)codeloc, 8 * 4); - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -/* Basically the trampoline invokes ffi_closure_SYSV, and on - entry, r11 holds the address of the closure. - After storing the registers that could possibly contain - parameters to be passed into the stack frame and setting - up space for a return value, ffi_closure_SYSV invokes the - following helper function to do most of the work. */ - -int -ffi_closure_helper_SYSV (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - void *rvalue, - unsigned long *pgr, - ffi_dblfl *pfr, - unsigned long *pst) -{ - /* rvalue is the pointer to space for return value in closure assembly */ - /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */ - /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV */ - /* pst is the pointer to outgoing parameter stack in original caller */ - - void ** avalue; - ffi_type ** arg_types; - long i, avn; -#ifndef __NO_FPRS__ - long nf = 0; /* number of floating registers already used */ -#endif - long ng = 0; /* number of general registers already used */ - - unsigned size = cif->rtype->size; - unsigned short rtypenum = cif->rtype->type; - - avalue = alloca (cif->nargs * sizeof (void *)); - - /* First translate for softfloat/nonlinux */ - rtypenum = translate_float (cif->abi, rtypenum); - - /* Copy the caller's structure return value address so that the closure - returns the data directly to the caller. - For FFI_SYSV the result is passed in r3/r4 if the struct size is less - or equal 8 bytes. */ - if (rtypenum == FFI_TYPE_STRUCT - && !((cif->abi & FFI_SYSV_STRUCT_RET) != 0 && size <= 8)) - { - rvalue = (void *) *pgr; - ng++; - pgr++; - } - - i = 0; - avn = cif->nargs; - arg_types = cif->arg_types; - - /* Grab the addresses of the arguments from the stack frame. */ - while (i < avn) { - unsigned short typenum = arg_types[i]->type; - - /* We may need to handle some values depending on ABI. */ - typenum = translate_float (cif->abi, typenum); - - switch (typenum) - { -#ifndef __NO_FPRS__ - case FFI_TYPE_FLOAT: - /* Unfortunately float values are stored as doubles - in the ffi_closure_SYSV code (since we don't check - the type in that routine). */ - if (nf < NUM_FPR_ARG_REGISTERS) - { - /* FIXME? here we are really changing the values - stored in the original calling routines outgoing - parameter stack. This is probably a really - naughty thing to do but... */ - double temp = pfr->d; - pfr->f = (float) temp; - avalue[i] = pfr; - nf++; - pfr++; - } - else - { - avalue[i] = pst; - pst += 1; - } - break; - - case FFI_TYPE_DOUBLE: - if (nf < NUM_FPR_ARG_REGISTERS) - { - avalue[i] = pfr; - nf++; - pfr++; - } - else - { - if (((long) pst) & 4) - pst++; - avalue[i] = pst; - pst += 2; - } - break; - -# if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - if (nf < NUM_FPR_ARG_REGISTERS - 1) - { - avalue[i] = pfr; - pfr += 2; - nf += 2; - } - else - { - if (((long) pst) & 4) - pst++; - avalue[i] = pst; - pst += 4; - nf = 8; - } - break; -# endif -#endif - - case FFI_TYPE_UINT128: - /* Test if for the whole long double, 4 gprs are available. - otherwise the stuff ends up on the stack. */ - if (ng < NUM_GPR_ARG_REGISTERS - 3) - { - avalue[i] = pgr; - pgr += 4; - ng += 4; - } - else - { - avalue[i] = pst; - pst += 4; - ng = 8+4; - } - break; - - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: -#ifndef __LITTLE_ENDIAN__ - if (ng < NUM_GPR_ARG_REGISTERS) - { - avalue[i] = (char *) pgr + 3; - ng++; - pgr++; - } - else - { - avalue[i] = (char *) pst + 3; - pst++; - } - break; -#endif - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: -#ifndef __LITTLE_ENDIAN__ - if (ng < NUM_GPR_ARG_REGISTERS) - { - avalue[i] = (char *) pgr + 2; - ng++; - pgr++; - } - else - { - avalue[i] = (char *) pst + 2; - pst++; - } - break; -#endif - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - if (ng < NUM_GPR_ARG_REGISTERS) - { - avalue[i] = pgr; - ng++; - pgr++; - } - else - { - avalue[i] = pst; - pst++; - } - break; - - case FFI_TYPE_STRUCT: - /* Structs are passed by reference. The address will appear in a - gpr if it is one of the first 8 arguments. */ - if (ng < NUM_GPR_ARG_REGISTERS) - { - avalue[i] = (void *) *pgr; - ng++; - pgr++; - } - else - { - avalue[i] = (void *) *pst; - pst++; - } - break; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - /* Passing long long ints are complex, they must - be passed in suitable register pairs such as - (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10) - and if the entire pair aren't available then the outgoing - parameter stack is used for both but an alignment of 8 - must will be kept. So we must either look in pgr - or pst to find the correct address for this type - of parameter. */ - if (ng < NUM_GPR_ARG_REGISTERS - 1) - { - if (ng & 1) - { - /* skip r4, r6, r8 as starting points */ - ng++; - pgr++; - } - avalue[i] = pgr; - ng += 2; - pgr += 2; - } - else - { - if (((long) pst) & 4) - pst++; - avalue[i] = pst; - pst += 2; - ng = NUM_GPR_ARG_REGISTERS; - } - break; - - default: - FFI_ASSERT (0); - } - - i++; - } - - (*fun) (cif, rvalue, avalue, user_data); - - /* Tell ffi_closure_SYSV how to perform return type promotions. - Because the FFI_SYSV ABI returns the structures <= 8 bytes in - r3/r4 we have to tell ffi_closure_SYSV how to treat them. We - combine the base type FFI_SYSV_TYPE_SMALL_STRUCT with the size of - the struct less one. We never have a struct with size zero. - See the comment in ffitarget.h about ordering. */ - if (rtypenum == FFI_TYPE_STRUCT - && (cif->abi & FFI_SYSV_STRUCT_RET) != 0 && size <= 8) - return FFI_SYSV_TYPE_SMALL_STRUCT - 1 + size; - return rtypenum; -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffitarget.h deleted file mode 100644 index 7fb9a93..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffitarget.h +++ /dev/null @@ -1,204 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc - Copyright (c) 1996-2003 Red Hat, Inc. - - Target configuration macros for PowerPC. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#if defined (POWERPC) && defined (__powerpc64__) /* linux64 */ -#ifndef POWERPC64 -#define POWERPC64 -#endif -#elif defined (POWERPC_DARWIN) && defined (__ppc64__) /* Darwin64 */ -#ifndef POWERPC64 -#define POWERPC64 -#endif -#ifndef POWERPC_DARWIN64 -#define POWERPC_DARWIN64 -#endif -#elif defined (POWERPC_AIX) && defined (__64BIT__) /* AIX64 */ -#ifndef POWERPC64 -#define POWERPC64 -#endif -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - -#if defined (POWERPC_AIX) - FFI_AIX, - FFI_DARWIN, - FFI_DEFAULT_ABI = FFI_AIX, - FFI_LAST_ABI - -#elif defined (POWERPC_DARWIN) - FFI_AIX, - FFI_DARWIN, - FFI_DEFAULT_ABI = FFI_DARWIN, - FFI_LAST_ABI - -#else - /* The FFI_COMPAT values are used by old code. Since libffi may be - a shared library we have to support old values for backwards - compatibility. */ - FFI_COMPAT_SYSV, - FFI_COMPAT_GCC_SYSV, - FFI_COMPAT_LINUX64, - FFI_COMPAT_LINUX, - FFI_COMPAT_LINUX_SOFT_FLOAT, - -# if defined (POWERPC64) - /* This bit, always set in new code, must not be set in any of the - old FFI_COMPAT values that might be used for 64-bit linux. We - only need worry about FFI_COMPAT_LINUX64, but to be safe avoid - all old values. */ - FFI_LINUX = 8, - /* This and following bits can reuse FFI_COMPAT values. */ - FFI_LINUX_STRUCT_ALIGN = 1, - FFI_LINUX_LONG_DOUBLE_128 = 2, - FFI_LINUX_LONG_DOUBLE_IEEE128 = 4, - FFI_DEFAULT_ABI = (FFI_LINUX -# ifdef __STRUCT_PARM_ALIGN__ - | FFI_LINUX_STRUCT_ALIGN -# endif -# ifdef __LONG_DOUBLE_128__ - | FFI_LINUX_LONG_DOUBLE_128 -# ifdef __LONG_DOUBLE_IEEE128__ - | FFI_LINUX_LONG_DOUBLE_IEEE128 -# endif -# endif - ), - FFI_LAST_ABI = 16 - -# else - /* This bit, always set in new code, must not be set in any of the - old FFI_COMPAT values that might be used for 32-bit linux/sysv/bsd. */ - FFI_SYSV = 8, - /* This and following bits can reuse FFI_COMPAT values. */ - FFI_SYSV_SOFT_FLOAT = 1, - FFI_SYSV_STRUCT_RET = 2, - FFI_SYSV_IBM_LONG_DOUBLE = 4, - FFI_SYSV_LONG_DOUBLE_128 = 16, - - FFI_DEFAULT_ABI = (FFI_SYSV -# ifdef __NO_FPRS__ - | FFI_SYSV_SOFT_FLOAT -# endif -# if (defined (__SVR4_STRUCT_RETURN) \ - || defined (POWERPC_FREEBSD) && !defined (__AIX_STRUCT_RETURN)) - | FFI_SYSV_STRUCT_RET -# endif -# if __LDBL_MANT_DIG__ == 106 - | FFI_SYSV_IBM_LONG_DOUBLE -# endif -# ifdef __LONG_DOUBLE_128__ - | FFI_SYSV_LONG_DOUBLE_128 -# endif - ), - FFI_LAST_ABI = 32 -# endif -#endif - -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 -#if defined (POWERPC) || defined (POWERPC_FREEBSD) -# define FFI_GO_CLOSURES 1 -# define FFI_TARGET_SPECIFIC_VARIADIC 1 -# define FFI_EXTRA_CIF_FIELDS unsigned nfixedargs -#endif -#if defined (POWERPC_AIX) -# define FFI_GO_CLOSURES 1 -#endif - -/* ppc_closure.S and linux64_closure.S expect this. */ -#define FFI_PPC_TYPE_LAST FFI_TYPE_POINTER - -/* We define additional types below. If generic types are added that - must be supported by powerpc libffi then it is likely that - FFI_PPC_TYPE_LAST needs increasing *and* the jump tables in - ppc_closure.S and linux64_closure.S be extended. */ - -#if !(FFI_TYPE_LAST == FFI_PPC_TYPE_LAST \ - || (FFI_TYPE_LAST == FFI_TYPE_COMPLEX \ - && !defined FFI_TARGET_HAS_COMPLEX_TYPE)) -# error "You likely have a broken powerpc libffi" -#endif - -/* Needed for soft-float long-double-128 support. */ -#define FFI_TYPE_UINT128 (FFI_PPC_TYPE_LAST + 1) - -/* Needed for FFI_SYSV small structure returns. */ -#define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_PPC_TYPE_LAST + 2) - -/* Used by ELFv2 for homogenous structure returns. */ -#define FFI_V2_TYPE_VECTOR (FFI_PPC_TYPE_LAST + 1) -#define FFI_V2_TYPE_VECTOR_HOMOG (FFI_PPC_TYPE_LAST + 2) -#define FFI_V2_TYPE_FLOAT_HOMOG (FFI_PPC_TYPE_LAST + 3) -#define FFI_V2_TYPE_DOUBLE_HOMOG (FFI_PPC_TYPE_LAST + 4) -#define FFI_V2_TYPE_SMALL_STRUCT (FFI_PPC_TYPE_LAST + 5) - -#if _CALL_ELF == 2 -# define FFI_TRAMPOLINE_SIZE 32 -#else -# if defined(POWERPC64) || defined(POWERPC_AIX) -# if defined(POWERPC_DARWIN64) -# define FFI_TRAMPOLINE_SIZE 48 -# else -# define FFI_TRAMPOLINE_SIZE 24 -# endif -# else /* POWERPC || POWERPC_AIX */ -# define FFI_TRAMPOLINE_SIZE 40 -# endif -#endif - -#ifndef LIBFFI_ASM -#if defined(POWERPC_DARWIN) || defined(POWERPC_AIX) -struct ffi_aix_trampoline_struct { - void * code_pointer; /* Pointer to ffi_closure_ASM */ - void * toc; /* TOC */ - void * static_chain; /* Pointer to closure */ -}; -#endif -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64.S deleted file mode 100644 index 1f876ea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64.S +++ /dev/null @@ -1,293 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.h - Copyright (c) 2003 Jakub Jelinek - Copyright (c) 2008 Red Hat, Inc. - - PowerPC64 Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .machine altivec - -#ifdef POWERPC64 - .hidden ffi_call_LINUX64 - .globl ffi_call_LINUX64 - .text - .cfi_startproc -# if _CALL_ELF == 2 -ffi_call_LINUX64: -# ifndef __PCREL__ - addis %r2, %r12, .TOC.-ffi_call_LINUX64@ha - addi %r2, %r2, .TOC.-ffi_call_LINUX64@l -# endif - .localentry ffi_call_LINUX64, . - ffi_call_LINUX64 -# else - .section ".opd","aw" - .align 3 -ffi_call_LINUX64: -# ifdef _CALL_LINUX - .quad .L.ffi_call_LINUX64,.TOC.@tocbase,0 - .type ffi_call_LINUX64,@function - .text -.L.ffi_call_LINUX64: -# else - .hidden .ffi_call_LINUX64 - .globl .ffi_call_LINUX64 - .quad .ffi_call_LINUX64,.TOC.@tocbase,0 - .size ffi_call_LINUX64,24 - .type .ffi_call_LINUX64,@function - .text -.ffi_call_LINUX64: -# endif -# endif - mflr %r0 - std %r28, -32(%r1) - std %r29, -24(%r1) - std %r30, -16(%r1) - std %r31, -8(%r1) - std %r7, 8(%r1) /* closure, saved in cr field. */ - std %r0, 16(%r1) - - mr %r28, %r1 /* our AP. */ - .cfi_def_cfa_register 28 - .cfi_offset 65, 16 - .cfi_offset 31, -8 - .cfi_offset 30, -16 - .cfi_offset 29, -24 - .cfi_offset 28, -32 - - stdux %r1, %r1, %r8 - mr %r31, %r6 /* flags, */ - mr %r30, %r5 /* rvalue, */ - mr %r29, %r4 /* function address. */ -/* Save toc pointer, not for the ffi_prep_args64 call, but for the later - bctrl function call. */ -# if _CALL_ELF == 2 - std %r2, 24(%r1) -# else - std %r2, 40(%r1) -# endif - - /* Call ffi_prep_args64. */ - mr %r4, %r1 -# if defined _CALL_LINUX || _CALL_ELF == 2 -# ifdef __PCREL__ - bl ffi_prep_args64@notoc -# else - bl ffi_prep_args64 - nop -# endif -# else - bl .ffi_prep_args64 - nop -# endif - -# if _CALL_ELF == 2 - mr %r12, %r29 -# else - ld %r12, 0(%r29) - ld %r2, 8(%r29) -# endif - /* Now do the call. */ - /* Set up cr1 with bits 3-7 of the flags. */ - mtcrf 0xc0, %r31 - - /* Get the address to call into CTR. */ - mtctr %r12 - /* Load all those argument registers. */ - addi %r29, %r28, -32-(8*8) - ld %r3, (0*8)(%r29) - ld %r4, (1*8)(%r29) - ld %r5, (2*8)(%r29) - ld %r6, (3*8)(%r29) - bf- 5, 1f - ld %r7, (4*8)(%r29) - ld %r8, (5*8)(%r29) - ld %r9, (6*8)(%r29) - ld %r10, (7*8)(%r29) -1: - - /* Load all the FP registers. */ - bf- 6, 2f - addi %r29, %r29, -(14*8) - lfd %f1, ( 1*8)(%r29) - lfd %f2, ( 2*8)(%r29) - lfd %f3, ( 3*8)(%r29) - lfd %f4, ( 4*8)(%r29) - lfd %f5, ( 5*8)(%r29) - lfd %f6, ( 6*8)(%r29) - lfd %f7, ( 7*8)(%r29) - lfd %f8, ( 8*8)(%r29) - lfd %f9, ( 9*8)(%r29) - lfd %f10, (10*8)(%r29) - lfd %f11, (11*8)(%r29) - lfd %f12, (12*8)(%r29) - lfd %f13, (13*8)(%r29) -2: - - /* Load all the vector registers. */ - bf- 3, 3f - addi %r29, %r29, -16 - lvx %v13, 0, %r29 - addi %r29, %r29, -16 - lvx %v12, 0, %r29 - addi %r29, %r29, -16 - lvx %v11, 0, %r29 - addi %r29, %r29, -16 - lvx %v10, 0, %r29 - addi %r29, %r29, -16 - lvx %v9, 0, %r29 - addi %r29, %r29, -16 - lvx %v8, 0, %r29 - addi %r29, %r29, -16 - lvx %v7, 0, %r29 - addi %r29, %r29, -16 - lvx %v6, 0, %r29 - addi %r29, %r29, -16 - lvx %v5, 0, %r29 - addi %r29, %r29, -16 - lvx %v4, 0, %r29 - addi %r29, %r29, -16 - lvx %v3, 0, %r29 - addi %r29, %r29, -16 - lvx %v2, 0, %r29 -3: - - /* Make the call. */ - ld %r11, 8(%r28) - bctrl - - /* This must follow the call immediately, the unwinder - uses this to find out if r2 has been saved or not. */ -# if _CALL_ELF == 2 - ld %r2, 24(%r1) -# else - ld %r2, 40(%r1) -# endif - - /* Now, deal with the return value. */ - mtcrf 0x01, %r31 - bt 31, .Lstruct_return_value - bt 30, .Ldone_return_value - bt 29, .Lfp_return_value - bt 28, .Lvec_return_value - std %r3, 0(%r30) - /* Fall through... */ - -.Ldone_return_value: - /* Restore the registers we used and return. */ - mr %r1, %r28 - .cfi_def_cfa_register 1 - ld %r0, 16(%r28) - ld %r28, -32(%r28) - mtlr %r0 - ld %r29, -24(%r1) - ld %r30, -16(%r1) - ld %r31, -8(%r1) - blr - -.Lvec_return_value: - stvx %v2, 0, %r30 - b .Ldone_return_value - -.Lfp_return_value: - .cfi_def_cfa_register 28 - mtcrf 0x02, %r31 /* cr6 */ - bf 27, .Lfloat_return_value - stfd %f1, 0(%r30) - bf 26, .Ldone_return_value - stfd %f2, 8(%r30) - b .Ldone_return_value -.Lfloat_return_value: - stfs %f1, 0(%r30) - b .Ldone_return_value - -.Lstruct_return_value: - bf 29, .Lvec_homog_or_small_struct - mtcrf 0x02, %r31 /* cr6 */ - bf 27, .Lfloat_homog_return_value - stfd %f1, 0(%r30) - stfd %f2, 8(%r30) - stfd %f3, 16(%r30) - stfd %f4, 24(%r30) - stfd %f5, 32(%r30) - stfd %f6, 40(%r30) - stfd %f7, 48(%r30) - stfd %f8, 56(%r30) - b .Ldone_return_value - -.Lfloat_homog_return_value: - stfs %f1, 0(%r30) - stfs %f2, 4(%r30) - stfs %f3, 8(%r30) - stfs %f4, 12(%r30) - stfs %f5, 16(%r30) - stfs %f6, 20(%r30) - stfs %f7, 24(%r30) - stfs %f8, 28(%r30) - b .Ldone_return_value - -.Lvec_homog_or_small_struct: - bf 28, .Lsmall_struct - stvx %v2, 0, %r30 - addi %r30, %r30, 16 - stvx %v3, 0, %r30 - addi %r30, %r30, 16 - stvx %v4, 0, %r30 - addi %r30, %r30, 16 - stvx %v5, 0, %r30 - addi %r30, %r30, 16 - stvx %v6, 0, %r30 - addi %r30, %r30, 16 - stvx %v7, 0, %r30 - addi %r30, %r30, 16 - stvx %v8, 0, %r30 - addi %r30, %r30, 16 - stvx %v9, 0, %r30 - b .Ldone_return_value - -.Lsmall_struct: - std %r3, 0(%r30) - std %r4, 8(%r30) - b .Ldone_return_value - - .cfi_endproc -# if _CALL_ELF == 2 - .size ffi_call_LINUX64,.-ffi_call_LINUX64 -# else -# ifdef _CALL_LINUX - .size ffi_call_LINUX64,.-.L.ffi_call_LINUX64 -# else - .long 0 - .byte 0,12,0,1,128,4,0,0 - .size .ffi_call_LINUX64,.-.ffi_call_LINUX64 -# endif -# endif - -#endif - -#if (defined __ELF__ && defined __linux__) || _CALL_ELF == 2 - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64_closure.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64_closure.S deleted file mode 100644 index 199981d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +++ /dev/null @@ -1,566 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.h - Copyright (c) 2003 Jakub Jelinek - Copyright (c) 2008 Red Hat, Inc. - - PowerPC64 Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ -#define LIBFFI_ASM -#include -#include - - .file "linux64_closure.S" - - .machine altivec - -#ifdef POWERPC64 - FFI_HIDDEN (ffi_closure_LINUX64) - .globl ffi_closure_LINUX64 - .text - .cfi_startproc -# if _CALL_ELF == 2 -ffi_closure_LINUX64: -# ifndef __PCREL__ - addis %r2, %r12, .TOC.-ffi_closure_LINUX64@ha - addi %r2, %r2, .TOC.-ffi_closure_LINUX64@l -# endif - .localentry ffi_closure_LINUX64, . - ffi_closure_LINUX64 -# else - .section ".opd","aw" - .align 3 -ffi_closure_LINUX64: -# ifdef _CALL_LINUX - .quad .L.ffi_closure_LINUX64,.TOC.@tocbase,0 - .type ffi_closure_LINUX64,@function - .text -.L.ffi_closure_LINUX64: -# else - FFI_HIDDEN (.ffi_closure_LINUX64) - .globl .ffi_closure_LINUX64 - .quad .ffi_closure_LINUX64,.TOC.@tocbase,0 - .size ffi_closure_LINUX64,24 - .type .ffi_closure_LINUX64,@function - .text -.ffi_closure_LINUX64: -# endif -# endif - -# if _CALL_ELF == 2 -# ifdef __VEC__ -# 32 byte special reg save area + 64 byte parm save area -# + 128 byte retval area + 13*8 fpr save area + 12*16 vec save area + round to 16 -# define STACKFRAME 528 -# else -# 32 byte special reg save area + 64 byte parm save area -# + 64 byte retval area + 13*8 fpr save area + round to 16 -# define STACKFRAME 272 -# endif -# define PARMSAVE 32 -# define RETVAL PARMSAVE+64 -# else -# 48 bytes special reg save area + 64 bytes parm save area -# + 16 bytes retval area + 13*8 bytes fpr save area + round to 16 -# define STACKFRAME 240 -# define PARMSAVE 48 -# define RETVAL PARMSAVE+64 -# endif - -# if _CALL_ELF == 2 - ld %r12, FFI_TRAMPOLINE_SIZE(%r11) # closure->cif - mflr %r0 - lwz %r12, 28(%r12) # cif->flags - mtcrf 0x40, %r12 - addi %r12, %r1, PARMSAVE - bt 7, 0f - # Our caller has not allocated a parameter save area. - # We need to allocate one here and use it to pass gprs to - # ffi_closure_helper_LINUX64. - addi %r12, %r1, -STACKFRAME+PARMSAVE -0: - # Save general regs into parm save area - std %r3, 0(%r12) - std %r4, 8(%r12) - std %r5, 16(%r12) - std %r6, 24(%r12) - std %r7, 32(%r12) - std %r8, 40(%r12) - std %r9, 48(%r12) - std %r10, 56(%r12) - - # load up the pointer to the parm save area - mr %r7, %r12 -# else - # copy r2 to r11 and load TOC into r2 - mr %r11, %r2 - ld %r2, 16(%r2) - - mflr %r0 - # Save general regs into parm save area - # This is the parameter save area set up by our caller. - std %r3, PARMSAVE+0(%r1) - std %r4, PARMSAVE+8(%r1) - std %r5, PARMSAVE+16(%r1) - std %r6, PARMSAVE+24(%r1) - std %r7, PARMSAVE+32(%r1) - std %r8, PARMSAVE+40(%r1) - std %r9, PARMSAVE+48(%r1) - std %r10, PARMSAVE+56(%r1) - - # load up the pointer to the parm save area - addi %r7, %r1, PARMSAVE -# endif - std %r0, 16(%r1) - - # closure->cif - ld %r3, FFI_TRAMPOLINE_SIZE(%r11) - # closure->fun - ld %r4, FFI_TRAMPOLINE_SIZE+8(%r11) - # closure->user_data - ld %r5, FFI_TRAMPOLINE_SIZE+16(%r11) - -.Ldoclosure: - # next save fpr 1 to fpr 13 - stfd %f1, -104+(0*8)(%r1) - stfd %f2, -104+(1*8)(%r1) - stfd %f3, -104+(2*8)(%r1) - stfd %f4, -104+(3*8)(%r1) - stfd %f5, -104+(4*8)(%r1) - stfd %f6, -104+(5*8)(%r1) - stfd %f7, -104+(6*8)(%r1) - stfd %f8, -104+(7*8)(%r1) - stfd %f9, -104+(8*8)(%r1) - stfd %f10, -104+(9*8)(%r1) - stfd %f11, -104+(10*8)(%r1) - stfd %f12, -104+(11*8)(%r1) - stfd %f13, -104+(12*8)(%r1) - - # load up the pointer to the saved fpr registers - addi %r8, %r1, -104 - -# ifdef __VEC__ - # load up the pointer to the saved vector registers - # 8 bytes padding for 16-byte alignment at -112(%r1) - addi %r9, %r8, -24 - stvx %v13, 0, %r9 - addi %r9, %r9, -16 - stvx %v12, 0, %r9 - addi %r9, %r9, -16 - stvx %v11, 0, %r9 - addi %r9, %r9, -16 - stvx %v10, 0, %r9 - addi %r9, %r9, -16 - stvx %v9, 0, %r9 - addi %r9, %r9, -16 - stvx %v8, 0, %r9 - addi %r9, %r9, -16 - stvx %v7, 0, %r9 - addi %r9, %r9, -16 - stvx %v6, 0, %r9 - addi %r9, %r9, -16 - stvx %v5, 0, %r9 - addi %r9, %r9, -16 - stvx %v4, 0, %r9 - addi %r9, %r9, -16 - stvx %v3, 0, %r9 - addi %r9, %r9, -16 - stvx %v2, 0, %r9 -# endif - - # load up the pointer to the result storage - addi %r6, %r1, -STACKFRAME+RETVAL - - stdu %r1, -STACKFRAME(%r1) - .cfi_def_cfa_offset STACKFRAME - .cfi_offset 65, 16 - - # make the call -# if defined _CALL_LINUX || _CALL_ELF == 2 -# ifdef __PCREL__ - bl ffi_closure_helper_LINUX64@notoc -.Lret: -# else - bl ffi_closure_helper_LINUX64 -.Lret: - nop -# endif -# else - bl .ffi_closure_helper_LINUX64 -.Lret: - nop -# endif - - # now r3 contains the return type - # so use it to look up in a table - # so we know how to deal with each type - - # look up the proper starting point in table - # by using return type as offset - ld %r0, STACKFRAME+16(%r1) - cmpldi %r3, FFI_V2_TYPE_SMALL_STRUCT - bge .Lsmall - mflr %r4 # move address of .Lret to r4 - sldi %r3, %r3, 4 # now multiply return type by 16 - addi %r4, %r4, .Lret_type0 - .Lret - add %r3, %r3, %r4 # add contents of table to table address - mtctr %r3 - bctr # jump to it - -# Each of the ret_typeX code fragments has to be exactly 16 bytes long -# (4 instructions). For cache effectiveness we align to a 16 byte boundary -# first. - .align 4 - -.Lret_type0: -# case FFI_TYPE_VOID - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME - nop -# case FFI_TYPE_INT -# ifdef __LITTLE_ENDIAN__ - lwa %r3, RETVAL+0(%r1) -# else - lwa %r3, RETVAL+4(%r1) -# endif - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_FLOAT - lfs %f1, RETVAL+0(%r1) - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_DOUBLE - lfd %f1, RETVAL+0(%r1) - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_LONGDOUBLE - lfd %f1, RETVAL+0(%r1) - mtlr %r0 - lfd %f2, RETVAL+8(%r1) - b .Lfinish -# case FFI_TYPE_UINT8 -# ifdef __LITTLE_ENDIAN__ - lbz %r3, RETVAL+0(%r1) -# else - lbz %r3, RETVAL+7(%r1) -# endif - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_SINT8 -# ifdef __LITTLE_ENDIAN__ - lbz %r3, RETVAL+0(%r1) -# else - lbz %r3, RETVAL+7(%r1) -# endif - extsb %r3,%r3 - mtlr %r0 - b .Lfinish -# case FFI_TYPE_UINT16 -# ifdef __LITTLE_ENDIAN__ - lhz %r3, RETVAL+0(%r1) -# else - lhz %r3, RETVAL+6(%r1) -# endif - mtlr %r0 -.Lfinish: - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_SINT16 -# ifdef __LITTLE_ENDIAN__ - lha %r3, RETVAL+0(%r1) -# else - lha %r3, RETVAL+6(%r1) -# endif - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_UINT32 -# ifdef __LITTLE_ENDIAN__ - lwz %r3, RETVAL+0(%r1) -# else - lwz %r3, RETVAL+4(%r1) -# endif - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_SINT32 -# ifdef __LITTLE_ENDIAN__ - lwa %r3, RETVAL+0(%r1) -# else - lwa %r3, RETVAL+4(%r1) -# endif - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_UINT64 - ld %r3, RETVAL+0(%r1) - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_SINT64 - ld %r3, RETVAL+0(%r1) - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_TYPE_STRUCT - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME - nop -# case FFI_TYPE_POINTER - ld %r3, RETVAL+0(%r1) - mtlr %r0 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -# case FFI_V2_TYPE_VECTOR - addi %r3, %r1, RETVAL - lvx %v2, 0, %r3 - mtlr %r0 - b .Lfinish -# case FFI_V2_TYPE_VECTOR_HOMOG - addi %r3, %r1, RETVAL - lvx %v2, 0, %r3 - addi %r3, %r3, 16 - b .Lmorevector -# case FFI_V2_TYPE_FLOAT_HOMOG - lfs %f1, RETVAL+0(%r1) - lfs %f2, RETVAL+4(%r1) - lfs %f3, RETVAL+8(%r1) - b .Lmorefloat -# case FFI_V2_TYPE_DOUBLE_HOMOG - lfd %f1, RETVAL+0(%r1) - lfd %f2, RETVAL+8(%r1) - lfd %f3, RETVAL+16(%r1) - lfd %f4, RETVAL+24(%r1) - mtlr %r0 - lfd %f5, RETVAL+32(%r1) - lfd %f6, RETVAL+40(%r1) - lfd %f7, RETVAL+48(%r1) - lfd %f8, RETVAL+56(%r1) - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -.Lmorevector: - lvx %v3, 0, %r3 - addi %r3, %r3, 16 - lvx %v4, 0, %r3 - addi %r3, %r3, 16 - lvx %v5, 0, %r3 - mtlr %r0 - addi %r3, %r3, 16 - lvx %v6, 0, %r3 - addi %r3, %r3, 16 - lvx %v7, 0, %r3 - addi %r3, %r3, 16 - lvx %v8, 0, %r3 - addi %r3, %r3, 16 - lvx %v9, 0, %r3 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -.Lmorefloat: - lfs %f4, RETVAL+12(%r1) - mtlr %r0 - lfs %f5, RETVAL+16(%r1) - lfs %f6, RETVAL+20(%r1) - lfs %f7, RETVAL+24(%r1) - lfs %f8, RETVAL+28(%r1) - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -.Lsmall: -# ifdef __LITTLE_ENDIAN__ - ld %r3,RETVAL+0(%r1) - mtlr %r0 - ld %r4,RETVAL+8(%r1) - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr -# else - # A struct smaller than a dword is returned in the low bits of r3 - # ie. right justified. Larger structs are passed left justified - # in r3 and r4. The return value area on the stack will have - # the structs as they are usually stored in memory. - cmpldi %r3, FFI_V2_TYPE_SMALL_STRUCT + 7 # size 8 bytes? - neg %r5, %r3 - ld %r3,RETVAL+0(%r1) - blt .Lsmalldown - mtlr %r0 - ld %r4,RETVAL+8(%r1) - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset STACKFRAME -.Lsmalldown: - addi %r5, %r5, FFI_V2_TYPE_SMALL_STRUCT + 7 - mtlr %r0 - sldi %r5, %r5, 3 - addi %r1, %r1, STACKFRAME - .cfi_def_cfa_offset 0 - srd %r3, %r3, %r5 - blr -# endif - - .cfi_endproc -# if _CALL_ELF == 2 - .size ffi_closure_LINUX64,.-ffi_closure_LINUX64 -# else -# ifdef _CALL_LINUX - .size ffi_closure_LINUX64,.-.L.ffi_closure_LINUX64 -# else - .long 0 - .byte 0,12,0,1,128,0,0,0 - .size .ffi_closure_LINUX64,.-.ffi_closure_LINUX64 -# endif -# endif - - - FFI_HIDDEN (ffi_go_closure_linux64) - .globl ffi_go_closure_linux64 - .text - .cfi_startproc -# if _CALL_ELF == 2 -ffi_go_closure_linux64: -# ifndef __PCREL__ - addis %r2, %r12, .TOC.-ffi_go_closure_linux64@ha - addi %r2, %r2, .TOC.-ffi_go_closure_linux64@l -# endif - .localentry ffi_go_closure_linux64, . - ffi_go_closure_linux64 -# else - .section ".opd","aw" - .align 3 -ffi_go_closure_linux64: -# ifdef _CALL_LINUX - .quad .L.ffi_go_closure_linux64,.TOC.@tocbase,0 - .type ffi_go_closure_linux64,@function - .text -.L.ffi_go_closure_linux64: -# else - FFI_HIDDEN (.ffi_go_closure_linux64) - .globl .ffi_go_closure_linux64 - .quad .ffi_go_closure_linux64,.TOC.@tocbase,0 - .size ffi_go_closure_linux64,24 - .type .ffi_go_closure_linux64,@function - .text -.ffi_go_closure_linux64: -# endif -# endif - -# if _CALL_ELF == 2 - ld %r12, 8(%r11) # closure->cif - mflr %r0 - lwz %r12, 28(%r12) # cif->flags - mtcrf 0x40, %r12 - addi %r12, %r1, PARMSAVE - bt 7, 0f - # Our caller has not allocated a parameter save area. - # We need to allocate one here and use it to pass gprs to - # ffi_closure_helper_LINUX64. - addi %r12, %r1, -STACKFRAME+PARMSAVE -0: - # Save general regs into parm save area - std %r3, 0(%r12) - std %r4, 8(%r12) - std %r5, 16(%r12) - std %r6, 24(%r12) - std %r7, 32(%r12) - std %r8, 40(%r12) - std %r9, 48(%r12) - std %r10, 56(%r12) - - # load up the pointer to the parm save area - mr %r7, %r12 -# else - mflr %r0 - # Save general regs into parm save area - # This is the parameter save area set up by our caller. - std %r3, PARMSAVE+0(%r1) - std %r4, PARMSAVE+8(%r1) - std %r5, PARMSAVE+16(%r1) - std %r6, PARMSAVE+24(%r1) - std %r7, PARMSAVE+32(%r1) - std %r8, PARMSAVE+40(%r1) - std %r9, PARMSAVE+48(%r1) - std %r10, PARMSAVE+56(%r1) - - # load up the pointer to the parm save area - addi %r7, %r1, PARMSAVE -# endif - std %r0, 16(%r1) - - # closure->cif - ld %r3, 8(%r11) - # closure->fun - ld %r4, 16(%r11) - # user_data - mr %r5, %r11 - b .Ldoclosure - - .cfi_endproc -# if _CALL_ELF == 2 - .size ffi_go_closure_linux64,.-ffi_go_closure_linux64 -# else -# ifdef _CALL_LINUX - .size ffi_go_closure_linux64,.-.L.ffi_go_closure_linux64 -# else - .long 0 - .byte 0,12,0,1,128,0,0,0 - .size .ffi_go_closure_linux64,.-.ffi_go_closure_linux64 -# endif -# endif -#endif - -#if (defined __ELF__ && defined __linux__) || _CALL_ELF == 2 - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ppc_closure.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ppc_closure.S deleted file mode 100644 index b6d209d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +++ /dev/null @@ -1,397 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.h - Copyright (c) 2003 Jakub Jelinek - Copyright (c) 2008 Red Hat, Inc. - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ -#define LIBFFI_ASM -#include -#include -#include - - .file "ppc_closure.S" - -#ifndef POWERPC64 - -FFI_HIDDEN(ffi_closure_SYSV) -ENTRY(ffi_closure_SYSV) - .cfi_startproc - stwu %r1,-144(%r1) - .cfi_def_cfa_offset 144 - mflr %r0 - stw %r0,148(%r1) - .cfi_offset 65, 4 - -# we want to build up an areas for the parameters passed -# in registers (both floating point and integer) - - # so first save gpr 3 to gpr 10 (aligned to 4) - stw %r3, 16(%r1) - stw %r4, 20(%r1) - stw %r5, 24(%r1) - - # set up registers for the routine that does the work - - # closure->cif - lwz %r3,FFI_TRAMPOLINE_SIZE(%r11) - # closure->fun - lwz %r4,FFI_TRAMPOLINE_SIZE+4(%r11) - # closure->user_data - lwz %r5,FFI_TRAMPOLINE_SIZE+8(%r11) - -.Ldoclosure: - stw %r6, 28(%r1) - stw %r7, 32(%r1) - stw %r8, 36(%r1) - stw %r9, 40(%r1) - stw %r10,44(%r1) - -#ifndef __NO_FPRS__ - # next save fpr 1 to fpr 8 (aligned to 8) - stfd %f1, 48(%r1) - stfd %f2, 56(%r1) - stfd %f3, 64(%r1) - stfd %f4, 72(%r1) - stfd %f5, 80(%r1) - stfd %f6, 88(%r1) - stfd %f7, 96(%r1) - stfd %f8, 104(%r1) -#endif - - # pointer to the result storage - addi %r6,%r1,112 - - # pointer to the saved gpr registers - addi %r7,%r1,16 - - # pointer to the saved fpr registers - addi %r8,%r1,48 - - # pointer to the outgoing parameter save area in the previous frame - # i.e. the previous frame pointer + 8 - addi %r9,%r1,152 - - # make the call - bl ffi_closure_helper_SYSV@local -.Lret: - # now r3 contains the return type - # so use it to look up in a table - # so we know how to deal with each type - - # look up the proper starting point in table - # by using return type as offset - - mflr %r4 # move address of .Lret to r4 - slwi %r3,%r3,4 # now multiply return type by 16 - addi %r4, %r4, .Lret_type0 - .Lret - lwz %r0,148(%r1) - add %r3,%r3,%r4 # add contents of table to table address - mtctr %r3 - bctr # jump to it - -# Each of the ret_typeX code fragments has to be exactly 16 bytes long -# (4 instructions). For cache effectiveness we align to a 16 byte boundary -# first. - .align 4 -# case FFI_TYPE_VOID -.Lret_type0: - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - nop - -# case FFI_TYPE_INT - lwz %r3,112+0(%r1) - mtlr %r0 -.Lfinish: - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_FLOAT -#ifndef __NO_FPRS__ - lfs %f1,112+0(%r1) -#else - nop -#endif - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_DOUBLE -#ifndef __NO_FPRS__ - lfd %f1,112+0(%r1) -#else - nop -#endif - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_LONGDOUBLE -#ifndef __NO_FPRS__ - lfd %f1,112+0(%r1) - lfd %f2,112+8(%r1) - mtlr %r0 - b .Lfinish -#else - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - nop -#endif - -# case FFI_TYPE_UINT8 -#ifdef __LITTLE_ENDIAN__ - lbz %r3,112+0(%r1) -#else - lbz %r3,112+3(%r1) -#endif - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_SINT8 -#ifdef __LITTLE_ENDIAN__ - lbz %r3,112+0(%r1) -#else - lbz %r3,112+3(%r1) -#endif - extsb %r3,%r3 - mtlr %r0 - b .Lfinish - -# case FFI_TYPE_UINT16 -#ifdef __LITTLE_ENDIAN__ - lhz %r3,112+0(%r1) -#else - lhz %r3,112+2(%r1) -#endif - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_SINT16 -#ifdef __LITTLE_ENDIAN__ - lha %r3,112+0(%r1) -#else - lha %r3,112+2(%r1) -#endif - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_UINT32 - lwz %r3,112+0(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_SINT32 - lwz %r3,112+0(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_UINT64 - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) - mtlr %r0 - b .Lfinish - -# case FFI_TYPE_SINT64 - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) - mtlr %r0 - b .Lfinish - -# case FFI_TYPE_STRUCT - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - nop - -# case FFI_TYPE_POINTER - lwz %r3,112+0(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_TYPE_UINT128 - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) - lwz %r5,112+8(%r1) - b .Luint128 - -# The return types below are only used when the ABI type is FFI_SYSV. -# case FFI_SYSV_TYPE_SMALL_STRUCT + 1. One byte struct. - lbz %r3,112+0(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 2. Two byte struct. - lhz %r3,112+0(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 3. Three byte struct. - lwz %r3,112+0(%r1) -#ifdef __LITTLE_ENDIAN__ - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 -#else - srwi %r3,%r3,8 - mtlr %r0 - b .Lfinish -#endif - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 4. Four byte struct. - lwz %r3,112+0(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 5. Five byte struct. - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) -#ifdef __LITTLE_ENDIAN__ - mtlr %r0 - b .Lfinish -#else - li %r5,24 - b .Lstruct567 -#endif - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 6. Six byte struct. - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) -#ifdef __LITTLE_ENDIAN__ - mtlr %r0 - b .Lfinish -#else - li %r5,16 - b .Lstruct567 -#endif - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 7. Seven byte struct. - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) -#ifdef __LITTLE_ENDIAN__ - mtlr %r0 - b .Lfinish -#else - li %r5,8 - b .Lstruct567 -#endif - -# case FFI_SYSV_TYPE_SMALL_STRUCT + 8. Eight byte struct. - lwz %r3,112+0(%r1) - lwz %r4,112+4(%r1) - mtlr %r0 - b .Lfinish - -#ifndef __LITTLE_ENDIAN__ -.Lstruct567: - subfic %r6,%r5,32 - srw %r4,%r4,%r5 - slw %r6,%r3,%r6 - srw %r3,%r3,%r5 - or %r4,%r6,%r4 - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_def_cfa_offset 144 -#endif - -.Luint128: - lwz %r6,112+12(%r1) - mtlr %r0 - addi %r1,%r1,144 - .cfi_def_cfa_offset 0 - blr - .cfi_endproc -END(ffi_closure_SYSV) - - -FFI_HIDDEN(ffi_go_closure_sysv) -ENTRY(ffi_go_closure_sysv) - .cfi_startproc - stwu %r1,-144(%r1) - .cfi_def_cfa_offset 144 - mflr %r0 - stw %r0,148(%r1) - .cfi_offset 65, 4 - - stw %r3, 16(%r1) - stw %r4, 20(%r1) - stw %r5, 24(%r1) - - # closure->cif - lwz %r3,4(%r11) - # closure->fun - lwz %r4,8(%r11) - # user_data - mr %r5,%r11 - b .Ldoclosure - .cfi_endproc -END(ffi_go_closure_sysv) - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/sysv.S deleted file mode 100644 index df97734..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/sysv.S +++ /dev/null @@ -1,173 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 1998 Geoffrey Keating - Copyright (C) 2007 Free Software Foundation, Inc - - PowerPC Assembly glue. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#include - -#ifndef POWERPC64 -FFI_HIDDEN(ffi_call_SYSV) -ENTRY(ffi_call_SYSV) - .cfi_startproc - /* Save the old stack pointer as AP. */ - mr %r10,%r1 - .cfi_def_cfa_register 10 - - /* Allocate the stack space we need. */ - stwux %r1,%r1,%r8 - /* Save registers we use. */ - mflr %r9 - stw %r28,-16(%r10) - stw %r29,-12(%r10) - stw %r30, -8(%r10) - stw %r31, -4(%r10) - stw %r9, 4(%r10) - .cfi_offset 65, 4 - .cfi_offset 31, -4 - .cfi_offset 30, -8 - .cfi_offset 29, -12 - .cfi_offset 28, -16 - - /* Save arguments over call... */ - stw %r7, -20(%r10) /* closure, */ - mr %r31,%r6 /* flags, */ - mr %r30,%r5 /* rvalue, */ - mr %r29,%r4 /* function address, */ - mr %r28,%r10 /* our AP. */ - .cfi_def_cfa_register 28 - - /* Call ffi_prep_args_SYSV. */ - mr %r4,%r1 - bl ffi_prep_args_SYSV@local - - /* Now do the call. */ - /* Set up cr1 with bits 4-7 of the flags. */ - mtcrf 0x40,%r31 - /* Get the address to call into CTR. */ - mtctr %r29 - /* Load all those argument registers. */ - lwz %r3,-24-(8*4)(%r28) - lwz %r4,-24-(7*4)(%r28) - lwz %r5,-24-(6*4)(%r28) - lwz %r6,-24-(5*4)(%r28) - bf- 5,1f - nop - lwz %r7,-24-(4*4)(%r28) - lwz %r8,-24-(3*4)(%r28) - lwz %r9,-24-(2*4)(%r28) - lwz %r10,-24-(1*4)(%r28) - nop -1: - -#ifndef __NO_FPRS__ - /* Load all the FP registers. */ - bf- 6,2f - lfd %f1,-24-(8*4)-(8*8)(%r28) - lfd %f2,-24-(8*4)-(7*8)(%r28) - lfd %f3,-24-(8*4)-(6*8)(%r28) - lfd %f4,-24-(8*4)-(5*8)(%r28) - nop - lfd %f5,-24-(8*4)-(4*8)(%r28) - lfd %f6,-24-(8*4)-(3*8)(%r28) - lfd %f7,-24-(8*4)-(2*8)(%r28) - lfd %f8,-24-(8*4)-(1*8)(%r28) -#endif -2: - - /* Make the call. */ - lwz %r11, -20(%r28) - bctrl - - /* Now, deal with the return value. */ - mtcrf 0x03,%r31 /* cr6-cr7 */ - bt- 31,L(small_struct_return_value) - bt- 30,L(done_return_value) -#ifndef __NO_FPRS__ - bt- 29,L(fp_return_value) -#endif - stw %r3,0(%r30) - bf+ 27,L(done_return_value) - stw %r4,4(%r30) - bf 26,L(done_return_value) - stw %r5,8(%r30) - stw %r6,12(%r30) - /* Fall through... */ - -L(done_return_value): - /* Restore the registers we used and return. */ - lwz %r9, 4(%r28) - lwz %r31, -4(%r28) - mtlr %r9 - lwz %r30, -8(%r28) - lwz %r29,-12(%r28) - lwz %r28,-16(%r28) - .cfi_remember_state - /* At this point we don't have a cfa register. Say all our - saved regs have been restored. */ - .cfi_same_value 65 - .cfi_same_value 31 - .cfi_same_value 30 - .cfi_same_value 29 - .cfi_same_value 28 - /* Hopefully this works.. */ - .cfi_def_cfa_register 1 - .cfi_offset 1, 0 - lwz %r1,0(%r1) - .cfi_same_value 1 - blr - -#ifndef __NO_FPRS__ -L(fp_return_value): - .cfi_restore_state - bf 27,L(float_return_value) - stfd %f1,0(%r30) - bf 26,L(done_return_value) - stfd %f2,8(%r30) - b L(done_return_value) -L(float_return_value): - stfs %f1,0(%r30) - b L(done_return_value) -#endif - -L(small_struct_return_value): - /* - * The C code always allocates a properly-aligned 8-byte bounce - * buffer to make this assembly code very simple. Just write out - * r3 and r4 to the buffer to allow the C code to handle the rest. - */ - stw %r3, 0(%r30) - stw %r4, 4(%r30) - b L(done_return_value) - .cfi_endproc - -END(ffi_call_SYSV) - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/t-aix b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/t-aix deleted file mode 100644 index e7be1ca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/t-aix +++ /dev/null @@ -1,5 +0,0 @@ -# This file is needed by GCC in order to correctly build AIX FAT -# library for libffi. -# However, it has no sense to include this code here, as it depends -# on GCC multilib architecture. -# Thus, this file is a simple stub replaced in GCC repository. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c deleted file mode 100644 index 0e2d58e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c +++ /dev/null @@ -1,283 +0,0 @@ -/* ----------------------------------------------------------------------- - prep_cif.c - Copyright (c) 2011, 2012, 2021 Anthony Green - Copyright (c) 1996, 1998, 2007 Red Hat, Inc. - Copyright (c) 2022 Oracle and/or its affiliates. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include -#include - -/* Round up to FFI_SIZEOF_ARG. */ - -#define STACK_ARG_SIZE(x) FFI_ALIGN(x, FFI_SIZEOF_ARG) - -/* Perform machine independent initialization of aggregate type - specifications. */ - -static ffi_status initialize_aggregate(ffi_type *arg, size_t *offsets) -{ - ffi_type **ptr; - - if (UNLIKELY(arg == NULL || arg->elements == NULL)) - return FFI_BAD_TYPEDEF; - - arg->size = 0; - arg->alignment = 0; - - ptr = &(arg->elements[0]); - - if (UNLIKELY(ptr == 0)) - return FFI_BAD_TYPEDEF; - - while ((*ptr) != NULL) - { - if (UNLIKELY(((*ptr)->size == 0) - && (initialize_aggregate((*ptr), NULL) != FFI_OK))) - return FFI_BAD_TYPEDEF; - - /* Perform a sanity check on the argument type */ - FFI_ASSERT_VALID_TYPE(*ptr); - - arg->size = FFI_ALIGN(arg->size, (*ptr)->alignment); - if (offsets) - *offsets++ = arg->size; - arg->size += (*ptr)->size; - - arg->alignment = (arg->alignment > (*ptr)->alignment) ? - arg->alignment : (*ptr)->alignment; - - ptr++; - } - - /* Structure size includes tail padding. This is important for - structures that fit in one register on ABIs like the PowerPC64 - Linux ABI that right justify small structs in a register. - It's also needed for nested structure layout, for example - struct A { long a; char b; }; struct B { struct A x; char y; }; - should find y at an offset of 2*sizeof(long) and result in a - total size of 3*sizeof(long). */ - arg->size = FFI_ALIGN (arg->size, arg->alignment); - - /* On some targets, the ABI defines that structures have an additional - alignment beyond the "natural" one based on their elements. */ -#ifdef FFI_AGGREGATE_ALIGNMENT - if (FFI_AGGREGATE_ALIGNMENT > arg->alignment) - arg->alignment = FFI_AGGREGATE_ALIGNMENT; -#endif - - if (arg->size == 0) - return FFI_BAD_TYPEDEF; - else - return FFI_OK; -} - -#ifndef __CRIS__ -/* The CRIS ABI specifies structure elements to have byte - alignment only, so it completely overrides this functions, - which assumes "natural" alignment and padding. */ - -/* Perform machine independent ffi_cif preparation, then call - machine dependent routine. */ - -/* For non variadic functions isvariadic should be 0 and - nfixedargs==ntotalargs. - - For variadic calls, isvariadic should be 1 and nfixedargs - and ntotalargs set as appropriate. nfixedargs must always be >=1 */ - - -ffi_status FFI_HIDDEN ffi_prep_cif_core(ffi_cif *cif, ffi_abi abi, - unsigned int isvariadic, - unsigned int nfixedargs, - unsigned int ntotalargs, - ffi_type *rtype, ffi_type **atypes) -{ - unsigned bytes = 0; - unsigned int i; - ffi_type **ptr; - - FFI_ASSERT(cif != NULL); - FFI_ASSERT((!isvariadic) || (nfixedargs >= 1)); - FFI_ASSERT(nfixedargs <= ntotalargs); - - if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI)) - return FFI_BAD_ABI; - - cif->abi = abi; - cif->arg_types = atypes; - cif->nargs = ntotalargs; - cif->rtype = rtype; - - cif->flags = 0; -#if (defined(_M_ARM64) || defined(__aarch64__)) && defined(_WIN32) - cif->is_variadic = isvariadic; -#endif -#if HAVE_LONG_DOUBLE_VARIANT - ffi_prep_types (abi); -#endif - - /* Initialize the return type if necessary */ - if ((cif->rtype->size == 0) - && (initialize_aggregate(cif->rtype, NULL) != FFI_OK)) - return FFI_BAD_TYPEDEF; - -#ifndef FFI_TARGET_HAS_COMPLEX_TYPE - if (rtype->type == FFI_TYPE_COMPLEX) - abort(); -#endif - /* Perform a sanity check on the return type */ - FFI_ASSERT_VALID_TYPE(cif->rtype); - - /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */ -#if !defined FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION - /* Make space for the return structure pointer */ - if (cif->rtype->type == FFI_TYPE_STRUCT -#ifdef TILE - && (cif->rtype->size > 10 * FFI_SIZEOF_ARG) -#endif -#ifdef XTENSA - && (cif->rtype->size > 16) -#endif -#ifdef NIOS2 - && (cif->rtype->size > 8) -#endif - ) - bytes = STACK_ARG_SIZE(sizeof(void*)); -#endif - - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) - { - - /* Initialize any uninitialized aggregate type definitions */ - if (((*ptr)->size == 0) - && (initialize_aggregate((*ptr), NULL) != FFI_OK)) - return FFI_BAD_TYPEDEF; - -#ifndef FFI_TARGET_HAS_COMPLEX_TYPE - if ((*ptr)->type == FFI_TYPE_COMPLEX) - abort(); -#endif - /* Perform a sanity check on the argument type, do this - check after the initialization. */ - FFI_ASSERT_VALID_TYPE(*ptr); - -#if !defined FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION - { - /* Add any padding if necessary */ - if (((*ptr)->alignment - 1) & bytes) - bytes = (unsigned)FFI_ALIGN(bytes, (*ptr)->alignment); - -#ifdef TILE - if (bytes < 10 * FFI_SIZEOF_ARG && - bytes + STACK_ARG_SIZE((*ptr)->size) > 10 * FFI_SIZEOF_ARG) - { - /* An argument is never split between the 10 parameter - registers and the stack. */ - bytes = 10 * FFI_SIZEOF_ARG; - } -#endif -#ifdef XTENSA - if (bytes <= 6*4 && bytes + STACK_ARG_SIZE((*ptr)->size) > 6*4) - bytes = 6*4; -#endif - - bytes += (unsigned int)STACK_ARG_SIZE((*ptr)->size); - } -#endif - } - - cif->bytes = bytes; - - /* Perform machine dependent cif processing */ -#ifdef FFI_TARGET_SPECIFIC_VARIADIC - if (isvariadic) - return ffi_prep_cif_machdep_var(cif, nfixedargs, ntotalargs); -#endif - - return ffi_prep_cif_machdep(cif); -} -#endif /* not __CRIS__ */ - -ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs, - ffi_type *rtype, ffi_type **atypes) -{ - return ffi_prep_cif_core(cif, abi, 0, nargs, nargs, rtype, atypes); -} - -ffi_status ffi_prep_cif_var(ffi_cif *cif, - ffi_abi abi, - unsigned int nfixedargs, - unsigned int ntotalargs, - ffi_type *rtype, - ffi_type **atypes) -{ - ffi_status rc; - size_t int_size = ffi_type_sint.size; - unsigned int i; - - rc = ffi_prep_cif_core(cif, abi, 1, nfixedargs, ntotalargs, rtype, atypes); - - if (rc != FFI_OK) - return rc; - - for (i = nfixedargs; i < ntotalargs; i++) - { - ffi_type *arg_type = atypes[i]; - if (arg_type == &ffi_type_float - || ((arg_type->type != FFI_TYPE_STRUCT - && arg_type->type != FFI_TYPE_COMPLEX) - && arg_type->size < int_size)) - return FFI_BAD_ARGTYPE; - } - - return FFI_OK; -} - -#if FFI_CLOSURES - -ffi_status -ffi_prep_closure (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data) -{ - return ffi_prep_closure_loc (closure, cif, fun, user_data, closure); -} - -#endif - -ffi_status -ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, size_t *offsets) -{ - if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI)) - return FFI_BAD_ABI; - if (struct_type->type != FFI_TYPE_STRUCT) - return FFI_BAD_TYPEDEF; - -#if HAVE_LONG_DOUBLE_VARIANT - ffi_prep_types (abi); -#endif - - return initialize_aggregate(struct_type, offsets); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c deleted file mode 100644 index be15611..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c +++ /dev/null @@ -1,267 +0,0 @@ -/* ----------------------------------------------------------------------- - raw_api.c - Copyright (c) 1999, 2008 Red Hat, Inc. - - Author: Kresten Krab Thorup - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -/* This file defines generic functions for use with the raw api. */ - -#include -#include - -#if !FFI_NO_RAW_API - -size_t -ffi_raw_size (ffi_cif *cif) -{ - size_t result = 0; - int i; - - ffi_type **at = cif->arg_types; - - for (i = cif->nargs-1; i >= 0; i--, at++) - { -#if !FFI_NO_STRUCTS - if ((*at)->type == FFI_TYPE_STRUCT) - result += FFI_ALIGN (sizeof (void*), FFI_SIZEOF_ARG); - else -#endif - result += FFI_ALIGN ((*at)->size, FFI_SIZEOF_ARG); - } - - return result; -} - - -void -ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args) -{ - unsigned i; - ffi_type **tp = cif->arg_types; - -#if WORDS_BIGENDIAN - - for (i = 0; i < cif->nargs; i++, tp++, args++) - { - switch ((*tp)->type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - *args = (void*) ((char*)(raw++) + FFI_SIZEOF_ARG - 1); - break; - - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - *args = (void*) ((char*)(raw++) + FFI_SIZEOF_ARG - 2); - break; - -#if FFI_SIZEOF_ARG >= 4 - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - *args = (void*) ((char*)(raw++) + FFI_SIZEOF_ARG - 4); - break; -#endif - -#if !FFI_NO_STRUCTS - case FFI_TYPE_STRUCT: - *args = (raw++)->ptr; - break; -#endif - - case FFI_TYPE_COMPLEX: - *args = (raw++)->ptr; - break; - - case FFI_TYPE_POINTER: - *args = (void*) &(raw++)->ptr; - break; - - default: - *args = raw; - raw += FFI_ALIGN ((*tp)->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; - } - } - -#else /* WORDS_BIGENDIAN */ - -#if !PDP - - /* then assume little endian */ - for (i = 0; i < cif->nargs; i++, tp++, args++) - { -#if !FFI_NO_STRUCTS - if ((*tp)->type == FFI_TYPE_STRUCT) - { - *args = (raw++)->ptr; - } - else -#endif - if ((*tp)->type == FFI_TYPE_COMPLEX) - { - *args = (raw++)->ptr; - } - else - { - *args = (void*) raw; - raw += FFI_ALIGN ((*tp)->size, sizeof (void*)) / sizeof (void*); - } - } - -#else -#error "pdp endian not supported" -#endif /* ! PDP */ - -#endif /* WORDS_BIGENDIAN */ -} - -void -ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw) -{ - unsigned i; - ffi_type **tp = cif->arg_types; - - for (i = 0; i < cif->nargs; i++, tp++, args++) - { - switch ((*tp)->type) - { - case FFI_TYPE_UINT8: - (raw++)->uint = *(UINT8*) (*args); - break; - - case FFI_TYPE_SINT8: - (raw++)->sint = *(SINT8*) (*args); - break; - - case FFI_TYPE_UINT16: - (raw++)->uint = *(UINT16*) (*args); - break; - - case FFI_TYPE_SINT16: - (raw++)->sint = *(SINT16*) (*args); - break; - -#if FFI_SIZEOF_ARG >= 4 - case FFI_TYPE_UINT32: - (raw++)->uint = *(UINT32*) (*args); - break; - - case FFI_TYPE_SINT32: - (raw++)->sint = *(SINT32*) (*args); - break; -#endif - -#if !FFI_NO_STRUCTS - case FFI_TYPE_STRUCT: - (raw++)->ptr = *args; - break; -#endif - - case FFI_TYPE_COMPLEX: - (raw++)->ptr = *args; - break; - - case FFI_TYPE_POINTER: - (raw++)->ptr = **(void***) args; - break; - - default: - memcpy ((void*) raw->data, (void*)*args, (*tp)->size); - raw += FFI_ALIGN ((*tp)->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG; - } - } -} - -#if !FFI_NATIVE_RAW_API - - -/* This is a generic definition of ffi_raw_call, to be used if the - * native system does not provide a machine-specific implementation. - * Having this, allows code to be written for the raw API, without - * the need for system-specific code to handle input in that format; - * these following couple of functions will handle the translation forth - * and back automatically. */ - -void ffi_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *raw) -{ - void **avalue = (void**) alloca (cif->nargs * sizeof (void*)); - ffi_raw_to_ptrarray (cif, raw, avalue); - ffi_call (cif, fn, rvalue, avalue); -} - -#if FFI_CLOSURES /* base system provides closures */ - -static void -ffi_translate_args (ffi_cif *cif, void *rvalue, - void **avalue, void *user_data) -{ - ffi_raw *raw = (ffi_raw*)alloca (ffi_raw_size (cif)); - ffi_raw_closure *cl = (ffi_raw_closure*)user_data; - - ffi_ptrarray_to_raw (cif, avalue, raw); - (*cl->fun) (cif, rvalue, raw, cl->user_data); -} - -ffi_status -ffi_prep_raw_closure_loc (ffi_raw_closure* cl, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data, - void *codeloc) -{ - ffi_status status; - - status = ffi_prep_closure_loc ((ffi_closure*) cl, - cif, - &ffi_translate_args, - codeloc, - codeloc); - if (status == FFI_OK) - { - cl->fun = fun; - cl->user_data = user_data; - } - - return status; -} - -#endif /* FFI_CLOSURES */ -#endif /* !FFI_NATIVE_RAW_API */ - -#if FFI_CLOSURES - -/* Again, here is the generic version of ffi_prep_raw_closure, which - * will install an intermediate "hub" for translation of arguments from - * the pointer-array format, to the raw format */ - -ffi_status -ffi_prep_raw_closure (ffi_raw_closure* cl, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data) -{ - return ffi_prep_raw_closure_loc (cl, cif, fun, user_data, cl); -} - -#endif /* FFI_CLOSURES */ - -#endif /* !FFI_NO_RAW_API */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffi.c deleted file mode 100644 index b455b12..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffi.c +++ /dev/null @@ -1,514 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2015 Michael Knyszek - 2015 Andrew Waterman - 2018 Stef O'Rear - Based on MIPS N32/64 port - - RISC-V Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include - -#if __riscv_float_abi_double -#define ABI_FLEN 64 -#define ABI_FLOAT double -#elif __riscv_float_abi_single -#define ABI_FLEN 32 -#define ABI_FLOAT float -#endif - -#define NARGREG 8 -#define STKALIGN 16 -#define MAXCOPYARG (2 * sizeof(double)) - -typedef struct call_context -{ -#if ABI_FLEN - ABI_FLOAT fa[8]; -#endif - size_t a[8]; - /* used by the assembly code to in-place construct its own stack frame */ - char frame[16]; -} call_context; - -typedef struct call_builder -{ - call_context *aregs; - int used_integer; - int used_float; - size_t *used_stack; - void *struct_stack; -} call_builder; - -/* integer (not pointer) less than ABI XLEN */ -/* FFI_TYPE_INT does not appear to be used */ -#if __SIZEOF_POINTER__ == 8 -#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) -#else -#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) -#endif - -#if ABI_FLEN -typedef struct { - char as_elements, type1, offset2, type2; -} float_struct_info; - -#if ABI_FLEN >= 64 -#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE) -#else -#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT) -#endif - -static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) { - int i; - if (out == out_end) return out; - if (in->type != FFI_TYPE_STRUCT) { - *(out++) = in; - } else { - for (i = 0; in->elements[i]; i++) - out = flatten_struct(in->elements[i], out, out_end); - } - return out; -} - -/* Structs with at most two fields after flattening, one of which is of - floating point type, are passed in multiple registers if sufficient - registers are available. */ -static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) { - float_struct_info ret = {0, 0, 0, 0}; - ffi_type *fields[3]; - int num_floats, num_ints; - int num_fields = flatten_struct(top, fields, fields + 3) - fields; - - if (num_fields == 1) { - if (IS_FLOAT(fields[0]->type)) { - ret.as_elements = 1; - ret.type1 = fields[0]->type; - } - } else if (num_fields == 2) { - num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type); - num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type); - if (num_floats == 0 || num_floats + num_ints != 2) - return ret; - if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG) - return ret; - if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type)) - return ret; - - ret.type1 = fields[0]->type; - ret.type2 = fields[1]->type; - ret.offset2 = FFI_ALIGN(fields[0]->size, fields[1]->alignment); - ret.as_elements = 1; - } - - return ret; -} -#endif - -/* allocates a single register, float register, or XLEN-sized stack slot to a datum */ -static void marshal_atom(call_builder *cb, int type, void *data) { - size_t value = 0; - switch (type) { - case FFI_TYPE_UINT8: value = *(uint8_t *)data; break; - case FFI_TYPE_SINT8: value = *(int8_t *)data; break; - case FFI_TYPE_UINT16: value = *(uint16_t *)data; break; - case FFI_TYPE_SINT16: value = *(int16_t *)data; break; - /* 32-bit quantities are always sign-extended in the ABI */ - case FFI_TYPE_UINT32: value = *(int32_t *)data; break; - case FFI_TYPE_SINT32: value = *(int32_t *)data; break; -#if __SIZEOF_POINTER__ == 8 - case FFI_TYPE_UINT64: value = *(uint64_t *)data; break; - case FFI_TYPE_SINT64: value = *(int64_t *)data; break; -#endif - case FFI_TYPE_POINTER: value = *(size_t *)data; break; - - /* float values may be recoded in an implementation-defined way - by hardware conforming to 2.1 or earlier, so use asm to - reinterpret floats as doubles */ -#if ABI_FLEN >= 32 - case FFI_TYPE_FLOAT: - asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data)); - return; -#endif -#if ABI_FLEN >= 64 - case FFI_TYPE_DOUBLE: - asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data)); - return; -#endif - default: FFI_ASSERT(0); break; - } - - if (cb->used_integer == NARGREG) { - *cb->used_stack++ = value; - } else { - cb->aregs->a[cb->used_integer++] = value; - } -} - -static void unmarshal_atom(call_builder *cb, int type, void *data) { - size_t value; - switch (type) { -#if ABI_FLEN >= 32 - case FFI_TYPE_FLOAT: - asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++])); - return; -#endif -#if ABI_FLEN >= 64 - case FFI_TYPE_DOUBLE: - asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++])); - return; -#endif - } - - if (cb->used_integer == NARGREG) { - value = *cb->used_stack++; - } else { - value = cb->aregs->a[cb->used_integer++]; - } - - switch (type) { - case FFI_TYPE_UINT8: *(uint8_t *)data = value; break; - case FFI_TYPE_SINT8: *(uint8_t *)data = value; break; - case FFI_TYPE_UINT16: *(uint16_t *)data = value; break; - case FFI_TYPE_SINT16: *(uint16_t *)data = value; break; - case FFI_TYPE_UINT32: *(uint32_t *)data = value; break; - case FFI_TYPE_SINT32: *(uint32_t *)data = value; break; -#if __SIZEOF_POINTER__ == 8 - case FFI_TYPE_UINT64: *(uint64_t *)data = value; break; - case FFI_TYPE_SINT64: *(uint64_t *)data = value; break; -#endif - case FFI_TYPE_POINTER: *(size_t *)data = value; break; - default: FFI_ASSERT(0); break; - } -} - -/* adds an argument to a call, or a not by reference return value */ -static void marshal(call_builder *cb, ffi_type *type, int var, void *data) { - size_t realign[2]; - -#if ABI_FLEN - if (!var && type->type == FFI_TYPE_STRUCT) { - float_struct_info fsi = struct_passed_as_elements(cb, type); - if (fsi.as_elements) { - marshal_atom(cb, fsi.type1, data); - if (fsi.offset2) - marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); - return; - } - } - - if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { - marshal_atom(cb, type->type, data); - return; - } -#endif - - if (type->size > 2 * __SIZEOF_POINTER__) { - /* copy to stack and pass by reference */ - data = memcpy (cb->struct_stack, data, type->size); - cb->struct_stack = (size_t *) FFI_ALIGN ((char *) cb->struct_stack + type->size, __SIZEOF_POINTER__); - marshal_atom(cb, FFI_TYPE_POINTER, &data); - } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { - marshal_atom(cb, type->type, data); - } else { - /* overlong integers, soft-float floats, and structs without special - float handling are treated identically from this point on */ - - /* variadics are aligned even in registers */ - if (type->alignment > __SIZEOF_POINTER__) { - if (var) - cb->used_integer = FFI_ALIGN(cb->used_integer, 2); - cb->used_stack = (size_t *)FFI_ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); - } - - memcpy(realign, data, type->size); - if (type->size > 0) - marshal_atom(cb, FFI_TYPE_POINTER, realign); - if (type->size > __SIZEOF_POINTER__) - marshal_atom(cb, FFI_TYPE_POINTER, realign + 1); - } -} - -/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */ -static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) { - size_t realign[2]; - void *pointer; - -#if ABI_FLEN - if (!var && type->type == FFI_TYPE_STRUCT) { - float_struct_info fsi = struct_passed_as_elements(cb, type); - if (fsi.as_elements) { - unmarshal_atom(cb, fsi.type1, data); - if (fsi.offset2) - unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); - return data; - } - } - - if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { - unmarshal_atom(cb, type->type, data); - return data; - } -#endif - - if (type->size > 2 * __SIZEOF_POINTER__) { - /* pass by reference */ - unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer); - return pointer; - } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { - unmarshal_atom(cb, type->type, data); - return data; - } else { - /* overlong integers, soft-float floats, and structs without special - float handling are treated identically from this point on */ - - /* variadics are aligned even in registers */ - if (type->alignment > __SIZEOF_POINTER__) { - if (var) - cb->used_integer = FFI_ALIGN(cb->used_integer, 2); - cb->used_stack = (size_t *)FFI_ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); - } - - if (type->size > 0) - unmarshal_atom(cb, FFI_TYPE_POINTER, realign); - if (type->size > __SIZEOF_POINTER__) - unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1); - memcpy(data, realign, type->size); - return data; - } -} - -static int passed_by_ref(call_builder *cb, ffi_type *type, int var) { -#if ABI_FLEN - if (!var && type->type == FFI_TYPE_STRUCT) { - float_struct_info fsi = struct_passed_as_elements(cb, type); - if (fsi.as_elements) return 0; - } -#endif - - return type->size > 2 * __SIZEOF_POINTER__; -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) { - cif->riscv_nfixedargs = cif->nargs; - return FFI_OK; -} - -/* Perform machine dependent cif processing when we have a variadic function */ - -ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) { - cif->riscv_nfixedargs = nfixedargs; - return FFI_OK; -} - -/* Low level routine for calling functions */ -extern void ffi_call_asm (void *stack, struct call_context *regs, - void (*fn) (void), void *closure) FFI_HIDDEN; - -static void -ffi_call_int (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, - void *closure) -{ - /* this is a conservative estimate, assuming a complex return value and - that all remaining arguments are long long / __int128 */ - size_t arg_bytes = cif->nargs <= 3 ? 0 : - FFI_ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN); - /* Allocate space for copies of big structures. */ - size_t struct_bytes = FFI_ALIGN (cif->bytes, STKALIGN); - size_t rval_bytes = 0; - if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__) - rval_bytes = FFI_ALIGN(cif->rtype->size, STKALIGN); - size_t alloc_size = arg_bytes + rval_bytes + struct_bytes + sizeof(call_context); - - /* the assembly code will deallocate all stack data at lower addresses - than the argument region, so we need to allocate the frame and the - return value after the arguments in a single allocation */ - size_t alloc_base; - /* Argument region must be 16-byte aligned */ - if (_Alignof(max_align_t) >= STKALIGN) { - /* since sizeof long double is normally 16, the compiler will - guarantee alloca alignment to at least that much */ - alloc_base = (size_t)alloca(alloc_size); - } else { - alloc_base = FFI_ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN); - } - - if (rval_bytes) - rvalue = (void*)(alloc_base + arg_bytes); - - call_builder cb; - cb.used_float = cb.used_integer = 0; - cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes + struct_bytes); - cb.used_stack = (void*)alloc_base; - cb.struct_stack = (void *) (alloc_base + arg_bytes + rval_bytes); - - int return_by_ref = passed_by_ref(&cb, cif->rtype, 0); - if (return_by_ref) - marshal(&cb, &ffi_type_pointer, 0, &rvalue); - - int i; - for (i = 0; i < cif->nargs; i++) - marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]); - - ffi_call_asm ((void *) alloc_base, cb.aregs, fn, closure); - - cb.used_float = cb.used_integer = 0; - if (!return_by_ref && rvalue) - { - if (IS_INT(cif->rtype->type) - && cif->rtype->size < sizeof (ffi_arg)) - { - /* Integer types smaller than ffi_arg need to be extended. */ - switch (cif->rtype->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_SINT32: - unmarshal_atom (&cb, (sizeof (ffi_arg) > 4 - ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32), - rvalue); - break; - case FFI_TYPE_UINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_UINT32: - unmarshal_atom (&cb, (sizeof (ffi_arg) > 4 - ? FFI_TYPE_UINT64 : FFI_TYPE_UINT32), - rvalue); - break; - } - } - else - unmarshal(&cb, cif->rtype, 0, rvalue); - } -} - -void -ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue) -{ - ffi_call_int(cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int(cif, fn, rvalue, avalue, closure); -} - -extern void ffi_closure_asm(void) FFI_HIDDEN; - -ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc) -{ - uint32_t *tramp = (uint32_t *) &closure->tramp[0]; - uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm; - - if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - /* we will call ffi_closure_inner with codeloc, not closure, but as long - as the memory is readable it should work */ - - tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */ -#if __SIZEOF_POINTER__ == 8 - tramp[1] = 0x01033383; /* ld t2, 16(t1) */ -#else - tramp[1] = 0x01032383; /* lw t2, 16(t1) */ -#endif - tramp[2] = 0x00038067; /* jr t2 */ - tramp[3] = 0x00000013; /* nop */ - tramp[4] = fn; - tramp[5] = fn >> 32; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - -#if !defined(__FreeBSD__) - __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE); -#endif - - return FFI_OK; -} - -extern void ffi_go_closure_asm (void) FFI_HIDDEN; - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *)) -{ - if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) - return FFI_BAD_ABI; - - closure->tramp = (void *) ffi_go_closure_asm; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -/* Called by the assembly code with aregs pointing to saved argument registers - and stack pointing to the stacked arguments. Return values passed in - registers will be reloaded from aregs. */ -void FFI_HIDDEN -ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stack, call_context *aregs) -{ - void **avalue = alloca(cif->nargs * sizeof(void*)); - /* storage for arguments which will be copied by unmarshal(). We could - theoretically avoid the copies in many cases and use at most 128 bytes - of memory, but allocating disjoint storage for each argument is - simpler. */ - char *astorage = alloca(cif->nargs * MAXCOPYARG); - void *rvalue; - call_builder cb; - int return_by_ref; - int i; - - cb.aregs = aregs; - cb.used_integer = cb.used_float = 0; - cb.used_stack = stack; - - return_by_ref = passed_by_ref(&cb, cif->rtype, 0); - if (return_by_ref) - unmarshal(&cb, &ffi_type_pointer, 0, &rvalue); - else - rvalue = alloca(cif->rtype->size); - - for (i = 0; i < cif->nargs; i++) - avalue[i] = unmarshal(&cb, cif->arg_types[i], - i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG); - - fun (cif, rvalue, avalue, user_data); - - if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) { - cb.used_integer = cb.used_float = 0; - marshal(&cb, cif->rtype, 0, rvalue); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffitarget.h deleted file mode 100644 index 75e6462..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffitarget.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - 2014 Michael Knyszek - - Target configuration macros for RISC-V. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef __riscv -#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler." -#endif - -#ifndef LIBFFI_ASM - -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a - distributed Berkeley patch from 2014, and can be removed at SONAME bump */ -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_UNUSED_1, - FFI_UNUSED_2, - FFI_UNUSED_3, - FFI_LAST_ABI, - - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; - -#endif /* LIBFFI_ASM */ - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 24 -#define FFI_NATIVE_RAW_API 0 -#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused; -#define FFI_TARGET_SPECIFIC_VARIADIC - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/sysv.S deleted file mode 100644 index 522d0b0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/sysv.S +++ /dev/null @@ -1,293 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2015 Michael Knyszek - 2015 Andrew Waterman - 2018 Stef O'Rear - - RISC-V Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -/* Define aliases so that we can handle all ABIs uniformly */ - -#if __SIZEOF_POINTER__ == 8 -#define PTRS 8 -#define LARG ld -#define SARG sd -#else -#define PTRS 4 -#define LARG lw -#define SARG sw -#endif - -#if __riscv_float_abi_double -#define FLTS 8 -#define FLARG fld -#define FSARG fsd -#elif __riscv_float_abi_single -#define FLTS 4 -#define FLARG flw -#define FSARG fsw -#else -#define FLTS 0 -#endif - -#define fp s0 - - .text - .globl ffi_call_asm - .type ffi_call_asm, @function - .hidden ffi_call_asm -/* - struct call_context { - floatreg fa[8]; - intreg a[8]; - intreg pad[rv32 ? 2 : 0]; - intreg save_fp, save_ra; - } - void ffi_call_asm (size_t *stackargs, struct call_context *regargs, - void (*fn) (void), void *closure); -*/ - -#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16) - -ffi_call_asm: - .cfi_startproc - - /* - We are NOT going to set up an ordinary stack frame. In order to pass - the stacked args to the called function, we adjust our stack pointer to - a0, which is in the _caller's_ alloca area. We establish our own stack - frame at the end of the call_context. - - Anything below the arguments will be freed at this point, although we - preserve the call_context so that it can be read back in the caller. - */ - - .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1 - SARG fp, FRAME_LEN - 2*PTRS(a1) - .cfi_offset 8, -2*PTRS - SARG ra, FRAME_LEN - 1*PTRS(a1) - .cfi_offset 1, -1*PTRS - - addi fp, a1, FRAME_LEN - mv sp, a0 - .cfi_def_cfa 8, 0 # our frame is fully set up - - # Load arguments - mv t1, a2 - mv t2, a3 - -#if FLTS - FLARG fa0, -FRAME_LEN+0*FLTS(fp) - FLARG fa1, -FRAME_LEN+1*FLTS(fp) - FLARG fa2, -FRAME_LEN+2*FLTS(fp) - FLARG fa3, -FRAME_LEN+3*FLTS(fp) - FLARG fa4, -FRAME_LEN+4*FLTS(fp) - FLARG fa5, -FRAME_LEN+5*FLTS(fp) - FLARG fa6, -FRAME_LEN+6*FLTS(fp) - FLARG fa7, -FRAME_LEN+7*FLTS(fp) -#endif - - LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) - LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) - LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp) - LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp) - LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp) - LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp) - LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp) - LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp) - - /* Call */ - jalr t1 - - /* Save return values - only a0/a1 (fa0/fa1) are used */ -#if FLTS - FSARG fa0, -FRAME_LEN+0*FLTS(fp) - FSARG fa1, -FRAME_LEN+1*FLTS(fp) -#endif - - SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) - SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) - - /* Restore and return */ - addi sp, fp, -FRAME_LEN - .cfi_def_cfa 2, FRAME_LEN - LARG ra, -1*PTRS(fp) - .cfi_restore 1 - LARG fp, -2*PTRS(fp) - .cfi_restore 8 - ret - .cfi_endproc - .size ffi_call_asm, .-ffi_call_asm - - -/* - ffi_closure_asm. Expects address of the passed-in ffi_closure in t1. - void ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stackargs, struct call_context *regargs) -*/ - - .globl ffi_closure_asm - .hidden ffi_closure_asm - .type ffi_closure_asm, @function -ffi_closure_asm: - .cfi_startproc - - addi sp, sp, -FRAME_LEN - .cfi_def_cfa_offset FRAME_LEN - - /* make a frame */ - SARG fp, FRAME_LEN - 2*PTRS(sp) - .cfi_offset 8, -2*PTRS - SARG ra, FRAME_LEN - 1*PTRS(sp) - .cfi_offset 1, -1*PTRS - addi fp, sp, FRAME_LEN - - /* save arguments */ -#if FLTS - FSARG fa0, 0*FLTS(sp) - FSARG fa1, 1*FLTS(sp) - FSARG fa2, 2*FLTS(sp) - FSARG fa3, 3*FLTS(sp) - FSARG fa4, 4*FLTS(sp) - FSARG fa5, 5*FLTS(sp) - FSARG fa6, 6*FLTS(sp) - FSARG fa7, 7*FLTS(sp) -#endif - - SARG a0, 8*FLTS+0*PTRS(sp) - SARG a1, 8*FLTS+1*PTRS(sp) - SARG a2, 8*FLTS+2*PTRS(sp) - SARG a3, 8*FLTS+3*PTRS(sp) - SARG a4, 8*FLTS+4*PTRS(sp) - SARG a5, 8*FLTS+5*PTRS(sp) - SARG a6, 8*FLTS+6*PTRS(sp) - SARG a7, 8*FLTS+7*PTRS(sp) - - /* enter C */ - LARG a0, FFI_TRAMPOLINE_SIZE+0*PTRS(t1) - LARG a1, FFI_TRAMPOLINE_SIZE+1*PTRS(t1) - LARG a2, FFI_TRAMPOLINE_SIZE+2*PTRS(t1) - addi a3, sp, FRAME_LEN - mv a4, sp - - call ffi_closure_inner - - /* return values */ -#if FLTS - FLARG fa0, 0*FLTS(sp) - FLARG fa1, 1*FLTS(sp) -#endif - - LARG a0, 8*FLTS+0*PTRS(sp) - LARG a1, 8*FLTS+1*PTRS(sp) - - /* restore and return */ - LARG ra, FRAME_LEN-1*PTRS(sp) - .cfi_restore 1 - LARG fp, FRAME_LEN-2*PTRS(sp) - .cfi_restore 8 - addi sp, sp, FRAME_LEN - .cfi_def_cfa_offset 0 - ret - .cfi_endproc - .size ffi_closure_asm, .-ffi_closure_asm - -/* - ffi_go_closure_asm. Expects address of the passed-in ffi_go_closure in t2. - void ffi_closure_inner (ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - size_t *stackargs, struct call_context *regargs) -*/ - - .globl ffi_go_closure_asm - .hidden ffi_go_closure_asm - .type ffi_go_closure_asm, @function -ffi_go_closure_asm: - .cfi_startproc - - addi sp, sp, -FRAME_LEN - .cfi_def_cfa_offset FRAME_LEN - - /* make a frame */ - SARG fp, FRAME_LEN - 2*PTRS(sp) - .cfi_offset 8, -2*PTRS - SARG ra, FRAME_LEN - 1*PTRS(sp) - .cfi_offset 1, -1*PTRS - addi fp, sp, FRAME_LEN - - /* save arguments */ -#if FLTS - FSARG fa0, 0*FLTS(sp) - FSARG fa1, 1*FLTS(sp) - FSARG fa2, 2*FLTS(sp) - FSARG fa3, 3*FLTS(sp) - FSARG fa4, 4*FLTS(sp) - FSARG fa5, 5*FLTS(sp) - FSARG fa6, 6*FLTS(sp) - FSARG fa7, 7*FLTS(sp) -#endif - - SARG a0, 8*FLTS+0*PTRS(sp) - SARG a1, 8*FLTS+1*PTRS(sp) - SARG a2, 8*FLTS+2*PTRS(sp) - SARG a3, 8*FLTS+3*PTRS(sp) - SARG a4, 8*FLTS+4*PTRS(sp) - SARG a5, 8*FLTS+5*PTRS(sp) - SARG a6, 8*FLTS+6*PTRS(sp) - SARG a7, 8*FLTS+7*PTRS(sp) - - /* enter C */ - LARG a0, 1*PTRS(t2) - LARG a1, 2*PTRS(t2) - mv a2, t2 - addi a3, sp, FRAME_LEN - mv a4, sp - - call ffi_closure_inner - - /* return values */ -#if FLTS - FLARG fa0, 0*FLTS(sp) - FLARG fa1, 1*FLTS(sp) -#endif - - LARG a0, 8*FLTS+0*PTRS(sp) - LARG a1, 8*FLTS+1*PTRS(sp) - - /* restore and return */ - LARG ra, FRAME_LEN-1*PTRS(sp) - .cfi_restore 1 - LARG fp, FRAME_LEN-2*PTRS(sp) - .cfi_restore 8 - addi sp, sp, FRAME_LEN - .cfi_def_cfa_offset 0 - ret - .cfi_endproc - .size ffi_go_closure_asm, .-ffi_go_closure_asm diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffi.c deleted file mode 100644 index 4035b6e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffi.c +++ /dev/null @@ -1,756 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2000, 2007 Software AG - Copyright (c) 2008 Red Hat, Inc - - S390 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR - OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ -/*====================================================================*/ -/* Includes */ -/* -------- */ -/*====================================================================*/ - -#include -#include -#include -#include "internal.h" - -/*====================== End of Includes =============================*/ - -/*====================================================================*/ -/* Defines */ -/* ------- */ -/*====================================================================*/ - -/* Maximum number of GPRs available for argument passing. */ -#define MAX_GPRARGS 5 - -/* Maximum number of FPRs available for argument passing. */ -#ifdef __s390x__ -#define MAX_FPRARGS 4 -#else -#define MAX_FPRARGS 2 -#endif - -/* Round to multiple of 16. */ -#define ROUND_SIZE(size) (((size) + 15) & ~15) - -/*===================== End of Defines ===============================*/ - -/*====================================================================*/ -/* Externals */ -/* --------- */ -/*====================================================================*/ - -struct call_frame -{ - void *back_chain; - void *eos; - unsigned long gpr_args[5]; - unsigned long gpr_save[9]; - unsigned long long fpr_args[4]; -}; - -extern void FFI_HIDDEN ffi_call_SYSV(struct call_frame *, unsigned, void *, - void (*fn)(void), void *); - -extern void ffi_closure_SYSV(void); -extern void ffi_go_closure_SYSV(void); - -/*====================== End of Externals ============================*/ - -/*====================================================================*/ -/* */ -/* Name - ffi_check_struct_type. */ -/* */ -/* Function - Determine if a structure can be passed within a */ -/* general purpose or floating point register. */ -/* */ -/*====================================================================*/ - -static int -ffi_check_struct_type (ffi_type *arg) -{ - size_t size = arg->size; - - /* If the struct has just one element, look at that element - to find out whether to consider the struct as floating point. */ - while (arg->type == FFI_TYPE_STRUCT - && arg->elements[0] && !arg->elements[1]) - arg = arg->elements[0]; - - /* Structs of size 1, 2, 4, and 8 are passed in registers, - just like the corresponding int/float types. */ - switch (size) - { - case 1: - return FFI_TYPE_UINT8; - - case 2: - return FFI_TYPE_UINT16; - - case 4: - if (arg->type == FFI_TYPE_FLOAT) - return FFI_TYPE_FLOAT; - else - return FFI_TYPE_UINT32; - - case 8: - if (arg->type == FFI_TYPE_DOUBLE) - return FFI_TYPE_DOUBLE; - else - return FFI_TYPE_UINT64; - - default: - break; - } - - /* Other structs are passed via a pointer to the data. */ - return FFI_TYPE_POINTER; -} - -/*======================== End of Routine ============================*/ - -/*====================================================================*/ -/* */ -/* Name - ffi_prep_cif_machdep. */ -/* */ -/* Function - Perform machine dependent CIF processing. */ -/* */ -/*====================================================================*/ - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep(ffi_cif *cif) -{ - size_t struct_size = 0; - int n_gpr = 0; - int n_fpr = 0; - int n_ov = 0; - - ffi_type **ptr; - int i; - - /* Determine return value handling. */ - - switch (cif->rtype->type) - { - /* Void is easy. */ - case FFI_TYPE_VOID: - cif->flags = FFI390_RET_VOID; - break; - - /* Structures and complex are returned via a hidden pointer. */ - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: - cif->flags = FFI390_RET_STRUCT; - n_gpr++; /* We need one GPR to pass the pointer. */ - break; - - /* Floating point values are returned in fpr 0. */ - case FFI_TYPE_FLOAT: - cif->flags = FFI390_RET_FLOAT; - break; - - case FFI_TYPE_DOUBLE: - cif->flags = FFI390_RET_DOUBLE; - break; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - cif->flags = FFI390_RET_STRUCT; - n_gpr++; - break; -#endif - /* Integer values are returned in gpr 2 (and gpr 3 - for 64-bit values on 31-bit machines). */ - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - cif->flags = FFI390_RET_INT64; - break; - - case FFI_TYPE_POINTER: - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - /* These are to be extended to word size. */ -#ifdef __s390x__ - cif->flags = FFI390_RET_INT64; -#else - cif->flags = FFI390_RET_INT32; -#endif - break; - - default: - FFI_ASSERT (0); - break; - } - - /* Now for the arguments. */ - - for (ptr = cif->arg_types, i = cif->nargs; - i > 0; - i--, ptr++) - { - int type = (*ptr)->type; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - /* 16-byte long double is passed like a struct. */ - if (type == FFI_TYPE_LONGDOUBLE) - type = FFI_TYPE_STRUCT; -#endif - - /* Check how a structure type is passed. */ - if (type == FFI_TYPE_STRUCT || type == FFI_TYPE_COMPLEX) - { - if (type == FFI_TYPE_COMPLEX) - type = FFI_TYPE_POINTER; - else - type = ffi_check_struct_type (*ptr); - - /* If we pass the struct via pointer, we must reserve space - to copy its data for proper call-by-value semantics. */ - if (type == FFI_TYPE_POINTER) - struct_size += ROUND_SIZE ((*ptr)->size); - } - - /* Now handle all primitive int/float data types. */ - switch (type) - { - /* The first MAX_FPRARGS floating point arguments - go in FPRs, the rest overflow to the stack. */ - - case FFI_TYPE_DOUBLE: - if (n_fpr < MAX_FPRARGS) - n_fpr++; - else - n_ov += sizeof (double) / sizeof (long); - break; - - case FFI_TYPE_FLOAT: - if (n_fpr < MAX_FPRARGS) - n_fpr++; - else - n_ov++; - break; - - /* On 31-bit machines, 64-bit integers are passed in GPR pairs, - if one is still available, or else on the stack. If only one - register is free, skip the register (it won't be used for any - subsequent argument either). */ - -#ifndef __s390x__ - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - if (n_gpr == MAX_GPRARGS-1) - n_gpr = MAX_GPRARGS; - if (n_gpr < MAX_GPRARGS) - n_gpr += 2; - else - n_ov += 2; - break; -#endif - - /* Everything else is passed in GPRs (until MAX_GPRARGS - have been used) or overflows to the stack. */ - - default: - if (n_gpr < MAX_GPRARGS) - n_gpr++; - else - n_ov++; - break; - } - } - - /* Total stack space as required for overflow arguments - and temporary structure copies. */ - - cif->bytes = ROUND_SIZE (n_ov * sizeof (long)) + struct_size; - - return FFI_OK; -} - -/*======================== End of Routine ============================*/ - -/*====================================================================*/ -/* */ -/* Name - ffi_call. */ -/* */ -/* Function - Call the FFI routine. */ -/* */ -/*====================================================================*/ - -static void -ffi_call_int(ffi_cif *cif, - void (*fn)(void), - void *rvalue, - void **avalue, - void *closure) -{ - int ret_type = cif->flags; - size_t rsize = 0, bytes = cif->bytes; - unsigned char *stack, *p_struct; - struct call_frame *frame; - unsigned long *p_ov, *p_gpr; - unsigned long long *p_fpr; - int n_fpr, n_gpr, n_ov, i, n; - ffi_type **arg_types; - - FFI_ASSERT (cif->abi == FFI_SYSV); - - /* If we don't have a return value, we need to fake one. */ - if (rvalue == NULL) - { - if (ret_type & FFI390_RET_IN_MEM) - rsize = cif->rtype->size; - else - ret_type = FFI390_RET_VOID; - } - - /* The stack space will be filled with those areas: - - dummy structure return (highest addresses) - FPR argument register save area - GPR argument register save area - stack frame for ffi_call_SYSV - temporary struct copies - overflow argument area (lowest addresses) - - We set up the following pointers: - - p_fpr: bottom of the FPR area (growing upwards) - p_gpr: bottom of the GPR area (growing upwards) - p_ov: bottom of the overflow area (growing upwards) - p_struct: top of the struct copy area (growing downwards) - - All areas are kept aligned to twice the word size. - - Note that we're going to create the stack frame for both - ffi_call_SYSV _and_ the target function right here. This - works because we don't make any function calls with more - than 5 arguments (indeed only memcpy and ffi_call_SYSV), - and thus we don't have any stacked outgoing parameters. */ - - stack = alloca (bytes + sizeof(struct call_frame) + rsize); - frame = (struct call_frame *)(stack + bytes); - if (rsize) - rvalue = frame + 1; - - /* Link the new frame back to the one from this function. */ - frame->back_chain = __builtin_frame_address (0); - - /* Fill in all of the argument stuff. */ - p_ov = (unsigned long *)stack; - p_struct = (unsigned char *)frame; - p_gpr = frame->gpr_args; - p_fpr = frame->fpr_args; - n_fpr = n_gpr = n_ov = 0; - - /* If we returning a structure then we set the first parameter register - to the address of where we are returning this structure. */ - if (cif->flags & FFI390_RET_IN_MEM) - p_gpr[n_gpr++] = (uintptr_t) rvalue; - - /* Now for the arguments. */ - arg_types = cif->arg_types; - for (i = 0, n = cif->nargs; i < n; ++i) - { - ffi_type *ty = arg_types[i]; - void *arg = avalue[i]; - int type = ty->type; - ffi_arg val; - - restart: - switch (type) - { - case FFI_TYPE_SINT8: - val = *(SINT8 *)arg; - goto do_int; - case FFI_TYPE_UINT8: - val = *(UINT8 *)arg; - goto do_int; - case FFI_TYPE_SINT16: - val = *(SINT16 *)arg; - goto do_int; - case FFI_TYPE_UINT16: - val = *(UINT16 *)arg; - goto do_int; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - val = *(SINT32 *)arg; - goto do_int; - case FFI_TYPE_UINT32: - val = *(UINT32 *)arg; - goto do_int; - case FFI_TYPE_POINTER: - val = *(uintptr_t *)arg; - do_int: - *(n_gpr < MAX_GPRARGS ? p_gpr + n_gpr++ : p_ov + n_ov++) = val; - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#ifdef __s390x__ - val = *(UINT64 *)arg; - goto do_int; -#else - if (n_gpr == MAX_GPRARGS-1) - n_gpr = MAX_GPRARGS; - if (n_gpr < MAX_GPRARGS) - p_gpr[n_gpr++] = ((UINT32 *) arg)[0], - p_gpr[n_gpr++] = ((UINT32 *) arg)[1]; - else - p_ov[n_ov++] = ((UINT32 *) arg)[0], - p_ov[n_ov++] = ((UINT32 *) arg)[1]; -#endif - break; - - case FFI_TYPE_DOUBLE: - if (n_fpr < MAX_FPRARGS) - p_fpr[n_fpr++] = *(UINT64 *) arg; - else - { -#ifdef __s390x__ - p_ov[n_ov++] = *(UINT64 *) arg; -#else - p_ov[n_ov++] = ((UINT32 *) arg)[0], - p_ov[n_ov++] = ((UINT32 *) arg)[1]; -#endif - } - break; - - case FFI_TYPE_FLOAT: - val = *(UINT32 *)arg; - if (n_fpr < MAX_FPRARGS) - p_fpr[n_fpr++] = (UINT64)val << 32; - else - p_ov[n_ov++] = val; - break; - - case FFI_TYPE_STRUCT: - /* Check how a structure type is passed. */ - type = ffi_check_struct_type (ty); - /* Some structures are passed via a type they contain. */ - if (type != FFI_TYPE_POINTER) - goto restart; - /* ... otherwise, passed by reference. fallthru. */ - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - /* 16-byte long double is passed via reference. */ -#endif - case FFI_TYPE_COMPLEX: - /* Complex types are passed via reference. */ - p_struct -= ROUND_SIZE (ty->size); - memcpy (p_struct, arg, ty->size); - val = (uintptr_t)p_struct; - goto do_int; - - default: - FFI_ASSERT (0); - break; - } - } - - ffi_call_SYSV (frame, ret_type & FFI360_RET_MASK, rvalue, fn, closure); -} - -void -ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int(cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int(cif, fn, rvalue, avalue, closure); -} - -/*======================== End of Routine ============================*/ - -/*====================================================================*/ -/* */ -/* Name - ffi_closure_helper_SYSV. */ -/* */ -/* Function - Call a FFI closure target function. */ -/* */ -/*====================================================================*/ - -void FFI_HIDDEN -ffi_closure_helper_SYSV (ffi_cif *cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - unsigned long *p_gpr, - unsigned long long *p_fpr, - unsigned long *p_ov) -{ - unsigned long long ret_buffer; - - void *rvalue = &ret_buffer; - void **avalue; - void **p_arg; - - int n_gpr = 0; - int n_fpr = 0; - int n_ov = 0; - - ffi_type **ptr; - int i; - - /* Allocate buffer for argument list pointers. */ - p_arg = avalue = alloca (cif->nargs * sizeof (void *)); - - /* If we returning a structure, pass the structure address - directly to the target function. Otherwise, have the target - function store the return value to the GPR save area. */ - if (cif->flags & FFI390_RET_IN_MEM) - rvalue = (void *) p_gpr[n_gpr++]; - - /* Now for the arguments. */ - for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, p_arg++, ptr++) - { - int deref_struct_pointer = 0; - int type = (*ptr)->type; - -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - /* 16-byte long double is passed like a struct. */ - if (type == FFI_TYPE_LONGDOUBLE) - type = FFI_TYPE_STRUCT; -#endif - - /* Check how a structure type is passed. */ - if (type == FFI_TYPE_STRUCT || type == FFI_TYPE_COMPLEX) - { - if (type == FFI_TYPE_COMPLEX) - type = FFI_TYPE_POINTER; - else - type = ffi_check_struct_type (*ptr); - - /* If we pass the struct via pointer, remember to - retrieve the pointer later. */ - if (type == FFI_TYPE_POINTER) - deref_struct_pointer = 1; - } - - /* Pointers are passed like UINTs of the same size. */ - if (type == FFI_TYPE_POINTER) - { -#ifdef __s390x__ - type = FFI_TYPE_UINT64; -#else - type = FFI_TYPE_UINT32; -#endif - } - - /* Now handle all primitive int/float data types. */ - switch (type) - { - case FFI_TYPE_DOUBLE: - if (n_fpr < MAX_FPRARGS) - *p_arg = &p_fpr[n_fpr++]; - else - *p_arg = &p_ov[n_ov], - n_ov += sizeof (double) / sizeof (long); - break; - - case FFI_TYPE_FLOAT: - if (n_fpr < MAX_FPRARGS) - *p_arg = &p_fpr[n_fpr++]; - else - *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 4; - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#ifdef __s390x__ - if (n_gpr < MAX_GPRARGS) - *p_arg = &p_gpr[n_gpr++]; - else - *p_arg = &p_ov[n_ov++]; -#else - if (n_gpr == MAX_GPRARGS-1) - n_gpr = MAX_GPRARGS; - if (n_gpr < MAX_GPRARGS) - *p_arg = &p_gpr[n_gpr], n_gpr += 2; - else - *p_arg = &p_ov[n_ov], n_ov += 2; -#endif - break; - - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - if (n_gpr < MAX_GPRARGS) - *p_arg = (char *)&p_gpr[n_gpr++] + sizeof (long) - 4; - else - *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 4; - break; - - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - if (n_gpr < MAX_GPRARGS) - *p_arg = (char *)&p_gpr[n_gpr++] + sizeof (long) - 2; - else - *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 2; - break; - - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - if (n_gpr < MAX_GPRARGS) - *p_arg = (char *)&p_gpr[n_gpr++] + sizeof (long) - 1; - else - *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 1; - break; - - default: - FFI_ASSERT (0); - break; - } - - /* If this is a struct passed via pointer, we need to - actually retrieve that pointer. */ - if (deref_struct_pointer) - *p_arg = *(void **)*p_arg; - } - - - /* Call the target function. */ - (fun) (cif, rvalue, avalue, user_data); - - /* Convert the return value. */ - switch (cif->rtype->type) - { - /* Void is easy, and so is struct. */ - case FFI_TYPE_VOID: - case FFI_TYPE_STRUCT: - case FFI_TYPE_COMPLEX: -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: -#endif - break; - - /* Floating point values are returned in fpr 0. */ - case FFI_TYPE_FLOAT: - p_fpr[0] = (long long) *(unsigned int *) rvalue << 32; - break; - - case FFI_TYPE_DOUBLE: - p_fpr[0] = *(unsigned long long *) rvalue; - break; - - /* Integer values are returned in gpr 2 (and gpr 3 - for 64-bit values on 31-bit machines). */ - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: -#ifdef __s390x__ - p_gpr[0] = *(unsigned long *) rvalue; -#else - p_gpr[0] = ((unsigned long *) rvalue)[0], - p_gpr[1] = ((unsigned long *) rvalue)[1]; -#endif - break; - - case FFI_TYPE_POINTER: - case FFI_TYPE_UINT32: - case FFI_TYPE_UINT16: - case FFI_TYPE_UINT8: - p_gpr[0] = *(unsigned long *) rvalue; - break; - - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_SINT16: - case FFI_TYPE_SINT8: - p_gpr[0] = *(signed long *) rvalue; - break; - - default: - FFI_ASSERT (0); - break; - } -} - -/*======================== End of Routine ============================*/ - -/*====================================================================*/ -/* */ -/* Name - ffi_prep_closure_loc. */ -/* */ -/* Function - Prepare a FFI closure. */ -/* */ -/*====================================================================*/ - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif *cif, - void (*fun) (ffi_cif *, void *, void **, void *), - void *user_data, - void *codeloc) -{ - static unsigned short const template[] = { - 0x0d10, /* basr %r1,0 */ -#ifndef __s390x__ - 0x9801, 0x1006, /* lm %r0,%r1,6(%r1) */ -#else - 0xeb01, 0x100e, 0x0004, /* lmg %r0,%r1,14(%r1) */ -#endif - 0x07f1 /* br %r1 */ - }; - - unsigned long *tramp = (unsigned long *)&closure->tramp; - - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - memcpy (tramp, template, sizeof(template)); - tramp[2] = (unsigned long)codeloc; - tramp[3] = (unsigned long)&ffi_closure_SYSV; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -/*======================== End of Routine ============================*/ - -/* Build a Go language closure. */ - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, - void (*fun)(ffi_cif*,void*,void**,void*)) -{ - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - closure->tramp = ffi_go_closure_SYSV; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffitarget.h deleted file mode 100644 index d8a4ee4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffitarget.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for S390. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#if defined (__s390x__) -#ifndef S390X -#define S390X -#endif -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION -#define FFI_TARGET_HAS_COMPLEX_TYPE - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#ifdef S390X -#define FFI_TRAMPOLINE_SIZE 32 -#else -#define FFI_TRAMPOLINE_SIZE 16 -#endif -#define FFI_NATIVE_RAW_API 0 - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/internal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/internal.h deleted file mode 100644 index b875578..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/internal.h +++ /dev/null @@ -1,11 +0,0 @@ -/* If these values change, sysv.S must be adapted! */ -#define FFI390_RET_DOUBLE 0 -#define FFI390_RET_FLOAT 1 -#define FFI390_RET_INT64 2 -#define FFI390_RET_INT32 3 -#define FFI390_RET_VOID 4 - -#define FFI360_RET_MASK 7 -#define FFI390_RET_IN_MEM 8 - -#define FFI390_RET_STRUCT (FFI390_RET_VOID | FFI390_RET_IN_MEM) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/sysv.S deleted file mode 100644 index c4b5006..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/sysv.S +++ /dev/null @@ -1,325 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2000 Software AG - Copyright (c) 2008 Red Hat, Inc. - - S390 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - - .text - -#ifndef __s390x__ - - # r2: frame - # r3: ret_type - # r4: ret_addr - # r5: fun - # r6: closure - - # This assumes we are using gas. - .balign 8 - .globl ffi_call_SYSV - FFI_HIDDEN(ffi_call_SYSV) - .type ffi_call_SYSV,%function -ffi_call_SYSV: - .cfi_startproc - st %r6,44(%r2) # Save registers - stm %r12,%r14,48(%r2) - lr %r13,%r2 # Install frame pointer - .cfi_rel_offset r6, 44 - .cfi_rel_offset r12, 48 - .cfi_rel_offset r13, 52 - .cfi_rel_offset r14, 56 - .cfi_def_cfa_register r13 - st %r2,0(%r15) # Set up back chain - sla %r3,3 # ret_type *= 8 - lr %r12,%r4 # Save ret_addr - lr %r1,%r5 # Save fun - lr %r0,%r6 # Install static chain - - # Set return address, so that there is only one indirect jump. -#ifdef HAVE_AS_S390_ZARCH - larl %r14,.Ltable - ar %r14,%r3 -#else - basr %r14,0 -0: la %r14,.Ltable-0b(%r14,%r3) -#endif - - lm %r2,%r6,8(%r13) # Load arguments - ld %f0,64(%r13) - ld %f2,72(%r13) - br %r1 # ... and call function - - .balign 8 -.Ltable: -# FFI390_RET_DOUBLE - std %f0,0(%r12) - j .Ldone - - .balign 8 -# FFI390_RET_FLOAT - ste %f0,0(%r12) - j .Ldone - - .balign 8 -# FFI390_RET_INT64 - st %r3,4(%r12) - nop - # fallthru - - .balign 8 -# FFI390_RET_INT32 - st %r2,0(%r12) - nop - # fallthru - - .balign 8 -# FFI390_RET_VOID -.Ldone: - l %r14,56(%r13) - l %r12,48(%r13) - l %r6,44(%r13) - l %r13,52(%r13) - .cfi_restore 14 - .cfi_restore 13 - .cfi_restore 12 - .cfi_restore 6 - .cfi_def_cfa r15, 96 - br %r14 - .cfi_endproc - .size ffi_call_SYSV,.-ffi_call_SYSV - - - .balign 8 - .globl ffi_go_closure_SYSV - FFI_HIDDEN(ffi_go_closure_SYSV) - .type ffi_go_closure_SYSV,%function -ffi_go_closure_SYSV: - .cfi_startproc - stm %r2,%r6,8(%r15) # Save arguments - lr %r4,%r0 # Load closure -> user_data - l %r2,4(%r4) # ->cif - l %r3,8(%r4) # ->fun - j .Ldoclosure - .cfi_endproc - - .balign 8 - .globl ffi_closure_SYSV - FFI_HIDDEN(ffi_closure_SYSV) - .type ffi_closure_SYSV,%function -ffi_closure_SYSV: - .cfi_startproc - stm %r2,%r6,8(%r15) # Save arguments - lr %r4,%r0 # Closure - l %r2,16(%r4) # ->cif - l %r3,20(%r4) # ->fun - l %r4,24(%r4) # ->user_data -.Ldoclosure: - stm %r12,%r15,48(%r15) # Save registers - lr %r12,%r15 - .cfi_def_cfa_register r12 - .cfi_rel_offset r6, 24 - .cfi_rel_offset r12, 48 - .cfi_rel_offset r13, 52 - .cfi_rel_offset r14, 56 - .cfi_rel_offset r15, 60 -#ifndef HAVE_AS_S390_ZARCH - basr %r13,0 # Set up base register -.Lcbase: - l %r1,.Lchelper-.Lcbase(%r13) # Get helper function -#endif - ahi %r15,-96-8 # Set up stack frame - st %r12,0(%r15) # Set up back chain - - std %f0,64(%r12) # Save fp arguments - std %f2,72(%r12) - - la %r5,96(%r12) # Overflow - st %r5,96(%r15) - la %r6,64(%r12) # FPRs - la %r5,8(%r12) # GPRs -#ifdef HAVE_AS_S390_ZARCH - brasl %r14,ffi_closure_helper_SYSV -#else - bas %r14,0(%r1,%r13) # Call helper -#endif - - lr %r15,%r12 - .cfi_def_cfa_register r15 - lm %r12,%r14,48(%r12) # Restore saved registers - l %r6,24(%r15) - ld %f0,64(%r15) # Load return registers - lm %r2,%r3,8(%r15) - br %r14 - .cfi_endproc - -#ifndef HAVE_AS_S390_ZARCH - .align 4 -.Lchelper: - .long ffi_closure_helper_SYSV-.Lcbase -#endif - - .size ffi_closure_SYSV,.-ffi_closure_SYSV - -#else - - # r2: frame - # r3: ret_type - # r4: ret_addr - # r5: fun - # r6: closure - - # This assumes we are using gas. - .balign 8 - .globl ffi_call_SYSV - FFI_HIDDEN(ffi_call_SYSV) - .type ffi_call_SYSV,%function -ffi_call_SYSV: - .cfi_startproc - stg %r6,88(%r2) # Save registers - stmg %r12,%r14,96(%r2) - lgr %r13,%r2 # Install frame pointer - .cfi_rel_offset r6, 88 - .cfi_rel_offset r12, 96 - .cfi_rel_offset r13, 104 - .cfi_rel_offset r14, 112 - .cfi_def_cfa_register r13 - stg %r2,0(%r15) # Set up back chain - larl %r14,.Ltable # Set up return address - slag %r3,%r3,3 # ret_type *= 8 - lgr %r12,%r4 # Save ret_addr - lgr %r1,%r5 # Save fun - lgr %r0,%r6 # Install static chain - agr %r14,%r3 - lmg %r2,%r6,16(%r13) # Load arguments - ld %f0,128(%r13) - ld %f2,136(%r13) - ld %f4,144(%r13) - ld %f6,152(%r13) - br %r1 # ... and call function - - .balign 8 -.Ltable: -# FFI390_RET_DOUBLE - std %f0,0(%r12) - j .Ldone - - .balign 8 -# FFI390_RET_DOUBLE - ste %f0,0(%r12) - j .Ldone - - .balign 8 -# FFI390_RET_INT64 - stg %r2,0(%r12) - - .balign 8 -# FFI390_RET_INT32 - # Never used, as we always store type ffi_arg. - # But the stg above is 6 bytes and we cannot - # jump around this case, so fall through. - nop - nop - - .balign 8 -# FFI390_RET_VOID -.Ldone: - lg %r14,112(%r13) - lg %r12,96(%r13) - lg %r6,88(%r13) - lg %r13,104(%r13) - .cfi_restore r14 - .cfi_restore r13 - .cfi_restore r12 - .cfi_restore r6 - .cfi_def_cfa r15, 160 - br %r14 - .cfi_endproc - .size ffi_call_SYSV,.-ffi_call_SYSV - - - .balign 8 - .globl ffi_go_closure_SYSV - FFI_HIDDEN(ffi_go_closure_SYSV) - .type ffi_go_closure_SYSV,%function -ffi_go_closure_SYSV: - .cfi_startproc - stmg %r2,%r6,16(%r15) # Save arguments - lgr %r4,%r0 # Load closure -> user_data - lg %r2,8(%r4) # ->cif - lg %r3,16(%r4) # ->fun - j .Ldoclosure - .cfi_endproc - .size ffi_go_closure_SYSV,.-ffi_go_closure_SYSV - - - .balign 8 - .globl ffi_closure_SYSV - FFI_HIDDEN(ffi_closure_SYSV) - .type ffi_closure_SYSV,%function -ffi_closure_SYSV: - .cfi_startproc - stmg %r2,%r6,16(%r15) # Save arguments - lgr %r4,%r0 # Load closure - lg %r2,32(%r4) # ->cif - lg %r3,40(%r4) # ->fun - lg %r4,48(%r4) # ->user_data -.Ldoclosure: - stmg %r13,%r15,104(%r15) # Save registers - lgr %r13,%r15 - .cfi_def_cfa_register r13 - .cfi_rel_offset r6, 48 - .cfi_rel_offset r13, 104 - .cfi_rel_offset r14, 112 - .cfi_rel_offset r15, 120 - aghi %r15,-160-16 # Set up stack frame - stg %r13,0(%r15) # Set up back chain - - std %f0,128(%r13) # Save fp arguments - std %f2,136(%r13) - std %f4,144(%r13) - std %f6,152(%r13) - la %r5,160(%r13) # Overflow - stg %r5,160(%r15) - la %r6,128(%r13) # FPRs - la %r5,16(%r13) # GPRs - brasl %r14,ffi_closure_helper_SYSV # Call helper - - lgr %r15,%r13 - .cfi_def_cfa_register r15 - lmg %r13,%r14,104(%r13) # Restore saved registers - lg %r6,48(%r15) - ld %f0,128(%r15) # Load return registers - lg %r2,16(%r15) - br %r14 - .cfi_endproc - .size ffi_closure_SYSV,.-ffi_closure_SYSV -#endif /* !s390x */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffi.c deleted file mode 100644 index 9ec86bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffi.c +++ /dev/null @@ -1,717 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2002-2008, 2012 Kaz Kojima - Copyright (c) 2008 Red Hat, Inc. - - SuperH Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -#define NGREGARG 4 -#if defined(__SH4__) -#define NFREGARG 8 -#endif - -#if defined(__HITACHI__) -#define STRUCT_VALUE_ADDRESS_WITH_ARG 1 -#else -#define STRUCT_VALUE_ADDRESS_WITH_ARG 0 -#endif - -/* If the structure has essentially an unique element, return its type. */ -static int -simple_type (ffi_type *arg) -{ - if (arg->type != FFI_TYPE_STRUCT) - return arg->type; - else if (arg->elements[1]) - return FFI_TYPE_STRUCT; - - return simple_type (arg->elements[0]); -} - -static int -return_type (ffi_type *arg) -{ - unsigned short type; - - if (arg->type != FFI_TYPE_STRUCT) - return arg->type; - - type = simple_type (arg->elements[0]); - if (! arg->elements[1]) - { - switch (type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - return FFI_TYPE_INT; - - default: - return type; - } - } - - /* gcc uses r0/r1 pair for some kind of structures. */ - if (arg->size <= 2 * sizeof (int)) - { - int i = 0; - ffi_type *e; - - while ((e = arg->elements[i++])) - { - type = simple_type (e); - switch (type) - { - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_INT: - case FFI_TYPE_FLOAT: - return FFI_TYPE_UINT64; - - default: - break; - } - } - } - - return FFI_TYPE_STRUCT; -} - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -void ffi_prep_args(char *stack, extended_cif *ecif) -{ - register unsigned int i; - register int tmp; - register unsigned int avn; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - int greg, ireg; -#if defined(__SH4__) - int freg = 0; -#endif - - tmp = 0; - argp = stack; - - if (return_type (ecif->cif->rtype) == FFI_TYPE_STRUCT) - { - *(void **) argp = ecif->rvalue; - argp += 4; - ireg = STRUCT_VALUE_ADDRESS_WITH_ARG ? 1 : 0; - } - else - ireg = 0; - - /* Set arguments for registers. */ - greg = ireg; - avn = ecif->cif->nargs; - p_argv = ecif->avalue; - - for (i = 0, p_arg = ecif->cif->arg_types; i < avn; i++, p_arg++, p_argv++) - { - size_t z; - - z = (*p_arg)->size; - if (z < sizeof(int)) - { - if (greg++ >= NGREGARG) - continue; - - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - break; - - case FFI_TYPE_STRUCT: - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - break; - - default: - FFI_ASSERT(0); - } - argp += z; - } - else if (z == sizeof(int)) - { -#if defined(__SH4__) - if ((*p_arg)->type == FFI_TYPE_FLOAT) - { - if (freg++ >= NFREGARG) - continue; - } - else -#endif - { - if (greg++ >= NGREGARG) - continue; - } - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - argp += z; - } -#if defined(__SH4__) - else if ((*p_arg)->type == FFI_TYPE_DOUBLE) - { - if (freg + 1 >= NFREGARG) - continue; - freg = (freg + 1) & ~1; - freg += 2; - memcpy (argp, *p_argv, z); - argp += z; - } -#endif - else - { - int n = (z + sizeof (int) - 1) / sizeof (int); -#if defined(__SH4__) - if (greg + n - 1 >= NGREGARG) - continue; -#else - if (greg >= NGREGARG) - continue; -#endif - greg += n; - memcpy (argp, *p_argv, z); - argp += n * sizeof (int); - } - } - - /* Set arguments on stack. */ - greg = ireg; -#if defined(__SH4__) - freg = 0; -#endif - p_argv = ecif->avalue; - - for (i = 0, p_arg = ecif->cif->arg_types; i < avn; i++, p_arg++, p_argv++) - { - size_t z; - - z = (*p_arg)->size; - if (z < sizeof(int)) - { - if (greg++ < NGREGARG) - continue; - - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); - break; - - case FFI_TYPE_STRUCT: - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - break; - - default: - FFI_ASSERT(0); - } - argp += z; - } - else if (z == sizeof(int)) - { -#if defined(__SH4__) - if ((*p_arg)->type == FFI_TYPE_FLOAT) - { - if (freg++ < NFREGARG) - continue; - } - else -#endif - { - if (greg++ < NGREGARG) - continue; - } - *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); - argp += z; - } -#if defined(__SH4__) - else if ((*p_arg)->type == FFI_TYPE_DOUBLE) - { - if (freg + 1 < NFREGARG) - { - freg = (freg + 1) & ~1; - freg += 2; - continue; - } - memcpy (argp, *p_argv, z); - argp += z; - } -#endif - else - { - int n = (z + sizeof (int) - 1) / sizeof (int); - if (greg + n - 1 < NGREGARG) - { - greg += n; - continue; - } -#if (! defined(__SH4__)) - else if (greg < NGREGARG) - { - greg = NGREGARG; - continue; - } -#endif - memcpy (argp, *p_argv, z); - argp += n * sizeof (int); - } - } - - return; -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - int i, j; - int size, type; - int n, m; - int greg; -#if defined(__SH4__) - int freg = 0; -#endif - - cif->flags = 0; - - greg = ((return_type (cif->rtype) == FFI_TYPE_STRUCT) && - STRUCT_VALUE_ADDRESS_WITH_ARG) ? 1 : 0; - -#if defined(__SH4__) - for (i = j = 0; i < cif->nargs && j < 12; i++) - { - type = (cif->arg_types)[i]->type; - switch (type) - { - case FFI_TYPE_FLOAT: - if (freg >= NFREGARG) - continue; - freg++; - cif->flags += ((cif->arg_types)[i]->type) << (2 * j); - j++; - break; - - case FFI_TYPE_DOUBLE: - if ((freg + 1) >= NFREGARG) - continue; - freg = (freg + 1) & ~1; - freg += 2; - cif->flags += ((cif->arg_types)[i]->type) << (2 * j); - j++; - break; - - default: - size = (cif->arg_types)[i]->size; - n = (size + sizeof (int) - 1) / sizeof (int); - if (greg + n - 1 >= NGREGARG) - continue; - greg += n; - for (m = 0; m < n; m++) - cif->flags += FFI_TYPE_INT << (2 * j++); - break; - } - } -#else - for (i = j = 0; i < cif->nargs && j < 4; i++) - { - size = (cif->arg_types)[i]->size; - n = (size + sizeof (int) - 1) / sizeof (int); - if (greg >= NGREGARG) - continue; - else if (greg + n - 1 >= NGREGARG) - n = NGREGARG - greg; - greg += n; - for (m = 0; m < n; m++) - cif->flags += FFI_TYPE_INT << (2 * j++); - } -#endif - - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_STRUCT: - cif->flags += (unsigned) (return_type (cif->rtype)) << 24; - break; - - case FFI_TYPE_VOID: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags += (unsigned) cif->rtype->type << 24; - break; - - default: - cif->flags += FFI_TYPE_INT << 24; - break; - } - - return FFI_OK; -} - -extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *, - unsigned, unsigned, unsigned *, void (*fn)(void)); - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - UINT64 trvalue; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - - if (cif->rtype->type == FFI_TYPE_STRUCT - && return_type (cif->rtype) != FFI_TYPE_STRUCT) - ecif.rvalue = &trvalue; - else if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca(cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, ecif.rvalue, - fn); - break; - default: - FFI_ASSERT(0); - break; - } - - if (rvalue - && cif->rtype->type == FFI_TYPE_STRUCT - && return_type (cif->rtype) != FFI_TYPE_STRUCT) - memcpy (rvalue, &trvalue, cif->rtype->size); -} - -extern void ffi_closure_SYSV (void); -#if defined(__SH4__) -extern void __ic_invalidate (void *line); -#endif - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp; - unsigned int insn; - - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - tramp = (unsigned int *) &closure->tramp[0]; - /* Set T bit if the function returns a struct pointed with R2. */ - insn = (return_type (cif->rtype) == FFI_TYPE_STRUCT - ? 0x0018 /* sett */ - : 0x0008 /* clrt */); - -#ifdef __LITTLE_ENDIAN__ - tramp[0] = 0xd301d102; - tramp[1] = 0x0000412b | (insn << 16); -#else - tramp[0] = 0xd102d301; - tramp[1] = 0x412b0000 | insn; -#endif - *(void **) &tramp[2] = (void *)codeloc; /* ctx */ - *(void **) &tramp[3] = (void *)ffi_closure_SYSV; /* funaddr */ - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - -#if defined(__SH4__) - /* Flush the icache. */ - __ic_invalidate(codeloc); -#endif - - return FFI_OK; -} - -/* Basically the trampoline invokes ffi_closure_SYSV, and on - * entry, r3 holds the address of the closure. - * After storing the registers that could possibly contain - * parameters to be passed into the stack frame and setting - * up space for a return value, ffi_closure_SYSV invokes the - * following helper function to do most of the work. - */ - -#ifdef __LITTLE_ENDIAN__ -#define OFS_INT8 0 -#define OFS_INT16 0 -#else -#define OFS_INT8 3 -#define OFS_INT16 2 -#endif - -int -ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue, - unsigned long *pgr, unsigned long *pfr, - unsigned long *pst) -{ - void **avalue; - ffi_type **p_arg; - int i, avn; - int ireg, greg = 0; -#if defined(__SH4__) - int freg = 0; -#endif - ffi_cif *cif; - - cif = closure->cif; - avalue = alloca(cif->nargs * sizeof(void *)); - - /* Copy the caller's structure return value address so that the closure - returns the data directly to the caller. */ - if (cif->rtype->type == FFI_TYPE_STRUCT && STRUCT_VALUE_ADDRESS_WITH_ARG) - { - rvalue = (void *) *pgr++; - ireg = 1; - } - else - ireg = 0; - - cif = closure->cif; - greg = ireg; - avn = cif->nargs; - - /* Grab the addresses of the arguments from the stack frame. */ - for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++) - { - size_t z; - - z = (*p_arg)->size; - if (z < sizeof(int)) - { - if (greg++ >= NGREGARG) - continue; - - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = (((char *)pgr) + OFS_INT8); - break; - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = (((char *)pgr) + OFS_INT16); - break; - - case FFI_TYPE_STRUCT: - avalue[i] = pgr; - break; - - default: - FFI_ASSERT(0); - } - pgr++; - } - else if (z == sizeof(int)) - { -#if defined(__SH4__) - if ((*p_arg)->type == FFI_TYPE_FLOAT) - { - if (freg++ >= NFREGARG) - continue; - avalue[i] = pfr; - pfr++; - } - else -#endif - { - if (greg++ >= NGREGARG) - continue; - avalue[i] = pgr; - pgr++; - } - } -#if defined(__SH4__) - else if ((*p_arg)->type == FFI_TYPE_DOUBLE) - { - if (freg + 1 >= NFREGARG) - continue; - if (freg & 1) - pfr++; - freg = (freg + 1) & ~1; - freg += 2; - avalue[i] = pfr; - pfr += 2; - } -#endif - else - { - int n = (z + sizeof (int) - 1) / sizeof (int); -#if defined(__SH4__) - if (greg + n - 1 >= NGREGARG) - continue; -#else - if (greg >= NGREGARG) - continue; -#endif - greg += n; - avalue[i] = pgr; - pgr += n; - } - } - - greg = ireg; -#if defined(__SH4__) - freg = 0; -#endif - - for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++) - { - size_t z; - - z = (*p_arg)->size; - if (z < sizeof(int)) - { - if (greg++ < NGREGARG) - continue; - - z = sizeof(int); - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - avalue[i] = (((char *)pst) + OFS_INT8); - break; - - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - avalue[i] = (((char *)pst) + OFS_INT16); - break; - - case FFI_TYPE_STRUCT: - avalue[i] = pst; - break; - - default: - FFI_ASSERT(0); - } - pst++; - } - else if (z == sizeof(int)) - { -#if defined(__SH4__) - if ((*p_arg)->type == FFI_TYPE_FLOAT) - { - if (freg++ < NFREGARG) - continue; - } - else -#endif - { - if (greg++ < NGREGARG) - continue; - } - avalue[i] = pst; - pst++; - } -#if defined(__SH4__) - else if ((*p_arg)->type == FFI_TYPE_DOUBLE) - { - if (freg + 1 < NFREGARG) - { - freg = (freg + 1) & ~1; - freg += 2; - continue; - } - avalue[i] = pst; - pst += 2; - } -#endif - else - { - int n = (z + sizeof (int) - 1) / sizeof (int); - if (greg + n - 1 < NGREGARG) - { - greg += n; - continue; - } -#if (! defined(__SH4__)) - else if (greg < NGREGARG) - { - greg += n; - pst += greg - NGREGARG; - continue; - } -#endif - avalue[i] = pst; - pst += n; - } - } - - (closure->fun) (cif, rvalue, avalue, closure->user_data); - - /* Tell ffi_closure_SYSV how to perform return type promotions. */ - return return_type (cif->rtype); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffitarget.h deleted file mode 100644 index a36bf42..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffitarget.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for SuperH. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 16 -#define FFI_NATIVE_RAW_API 0 - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/sysv.S deleted file mode 100644 index 5be7516..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/sysv.S +++ /dev/null @@ -1,850 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2002, 2003, 2004, 2006, 2008 Kaz Kojima - - SuperH Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#ifdef HAVE_MACHINE_ASM_H -#include -#else -/* XXX these lose for some platforms, I'm sure. */ -#define CNAME(x) x -#define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x): -#endif - -#if defined(__HITACHI__) -#define STRUCT_VALUE_ADDRESS_WITH_ARG 1 -#else -#define STRUCT_VALUE_ADDRESS_WITH_ARG 0 -#endif - -.text - - # r4: ffi_prep_args - # r5: &ecif - # r6: bytes - # r7: flags - # sp+0: rvalue - # sp+4: fn - - # This assumes we are using gas. -ENTRY(ffi_call_SYSV) - # Save registers -.LFB1: - mov.l r8,@-r15 -.LCFI0: - mov.l r9,@-r15 -.LCFI1: - mov.l r10,@-r15 -.LCFI2: - mov.l r12,@-r15 -.LCFI3: - mov.l r14,@-r15 -.LCFI4: - sts.l pr,@-r15 -.LCFI5: - mov r15,r14 -.LCFI6: -#if defined(__SH4__) - mov r6,r8 - mov r7,r9 - - sub r6,r15 - add #-16,r15 - mov #~7,r0 - and r0,r15 - - mov r4,r0 - jsr @r0 - mov r15,r4 - - mov r9,r1 - shlr8 r9 - shlr8 r9 - shlr8 r9 - - mov #FFI_TYPE_STRUCT,r2 - cmp/eq r2,r9 - bf 1f -#if STRUCT_VALUE_ADDRESS_WITH_ARG - mov.l @r15+,r4 - bra 2f - mov #5,r2 -#else - mov.l @r15+,r10 -#endif -1: - mov #4,r2 -2: - mov #4,r3 - -L_pass: - cmp/pl r8 - bf L_call_it - - mov r1,r0 - and #3,r0 - -L_pass_d: - cmp/eq #FFI_TYPE_DOUBLE,r0 - bf L_pass_f - - mov r3,r0 - and #1,r0 - tst r0,r0 - bt 1f - add #1,r3 -1: - mov #12,r0 - cmp/hs r0,r3 - bt/s 3f - shlr2 r1 - bsr L_pop_d - nop -3: - add #2,r3 - bra L_pass - add #-8,r8 - -L_pop_d: - mov r3,r0 - add r0,r0 - add r3,r0 - add #-12,r0 - braf r0 - nop -#ifdef __LITTLE_ENDIAN__ - fmov.s @r15+,fr5 - rts - fmov.s @r15+,fr4 - fmov.s @r15+,fr7 - rts - fmov.s @r15+,fr6 - fmov.s @r15+,fr9 - rts - fmov.s @r15+,fr8 - fmov.s @r15+,fr11 - rts - fmov.s @r15+,fr10 -#else - fmov.s @r15+,fr4 - rts - fmov.s @r15+,fr5 - fmov.s @r15+,fr6 - rts - fmov.s @r15+,fr7 - fmov.s @r15+,fr8 - rts - fmov.s @r15+,fr9 - fmov.s @r15+,fr10 - rts - fmov.s @r15+,fr11 -#endif - -L_pass_f: - cmp/eq #FFI_TYPE_FLOAT,r0 - bf L_pass_i - - mov #12,r0 - cmp/hs r0,r3 - bt/s 2f - shlr2 r1 - bsr L_pop_f - nop -2: - add #1,r3 - bra L_pass - add #-4,r8 - -L_pop_f: - mov r3,r0 - shll2 r0 - add #-16,r0 - braf r0 - nop -#ifdef __LITTLE_ENDIAN__ - rts - fmov.s @r15+,fr5 - rts - fmov.s @r15+,fr4 - rts - fmov.s @r15+,fr7 - rts - fmov.s @r15+,fr6 - rts - fmov.s @r15+,fr9 - rts - fmov.s @r15+,fr8 - rts - fmov.s @r15+,fr11 - rts - fmov.s @r15+,fr10 -#else - rts - fmov.s @r15+,fr4 - rts - fmov.s @r15+,fr5 - rts - fmov.s @r15+,fr6 - rts - fmov.s @r15+,fr7 - rts - fmov.s @r15+,fr8 - rts - fmov.s @r15+,fr9 - rts - fmov.s @r15+,fr10 - rts - fmov.s @r15+,fr11 -#endif - -L_pass_i: - cmp/eq #FFI_TYPE_INT,r0 - bf L_call_it - - mov #8,r0 - cmp/hs r0,r2 - bt/s 2f - shlr2 r1 - bsr L_pop_i - nop -2: - add #1,r2 - bra L_pass - add #-4,r8 - -L_pop_i: - mov r2,r0 - shll2 r0 - add #-16,r0 - braf r0 - nop - rts - mov.l @r15+,r4 - rts - mov.l @r15+,r5 - rts - mov.l @r15+,r6 - rts - mov.l @r15+,r7 - -L_call_it: - # call function -#if (! STRUCT_VALUE_ADDRESS_WITH_ARG) - mov r10, r2 -#endif - mov.l @(28,r14),r1 - jsr @r1 - nop - -L_ret_d: - mov #FFI_TYPE_DOUBLE,r2 - cmp/eq r2,r9 - bf L_ret_ll - - mov.l @(24,r14),r1 -#ifdef __LITTLE_ENDIAN__ - fmov.s fr1,@r1 - add #4,r1 - bra L_epilogue - fmov.s fr0,@r1 -#else - fmov.s fr0,@r1 - add #4,r1 - bra L_epilogue - fmov.s fr1,@r1 -#endif - -L_ret_ll: - mov #FFI_TYPE_SINT64,r2 - cmp/eq r2,r9 - bt/s 1f - mov #FFI_TYPE_UINT64,r2 - cmp/eq r2,r9 - bf L_ret_f - -1: - mov.l @(24,r14),r2 - mov.l r0,@r2 - bra L_epilogue - mov.l r1,@(4,r2) - -L_ret_f: - mov #FFI_TYPE_FLOAT,r2 - cmp/eq r2,r9 - bf L_ret_i - - mov.l @(24,r14),r1 - bra L_epilogue - fmov.s fr0,@r1 - -L_ret_i: - mov #FFI_TYPE_INT,r2 - cmp/eq r2,r9 - bf L_epilogue - - mov.l @(24,r14),r1 - bra L_epilogue - mov.l r0,@r1 - -L_epilogue: - # Remove the space we pushed for the args - mov r14,r15 - - lds.l @r15+,pr - mov.l @r15+,r14 - mov.l @r15+,r12 - mov.l @r15+,r10 - mov.l @r15+,r9 - rts - mov.l @r15+,r8 -#else - mov r6,r8 - mov r7,r9 - - sub r6,r15 - add #-16,r15 - mov #~7,r0 - and r0,r15 - - mov r4,r0 - jsr @r0 - mov r15,r4 - - mov r9,r3 - shlr8 r9 - shlr8 r9 - shlr8 r9 - - mov #FFI_TYPE_STRUCT,r2 - cmp/eq r2,r9 - bf 1f -#if STRUCT_VALUE_ADDRESS_WITH_ARG - mov.l @r15+,r4 - bra 2f - mov #5,r2 -#else - mov.l @r15+,r10 -#endif -1: - mov #4,r2 -2: - -L_pass: - cmp/pl r8 - bf L_call_it - - mov r3,r0 - and #3,r0 - -L_pass_d: - cmp/eq #FFI_TYPE_DOUBLE,r0 - bf L_pass_i - - mov r15,r0 - and #7,r0 - tst r0,r0 - bt 1f - add #4,r15 -1: - mov #8,r0 - cmp/hs r0,r2 - bt/s 2f - shlr2 r3 - bsr L_pop_d - nop -2: - add #2,r2 - bra L_pass - add #-8,r8 - -L_pop_d: - mov r2,r0 - add r0,r0 - add r2,r0 - add #-12,r0 - add r0,r0 - braf r0 - nop - mov.l @r15+,r4 - rts - mov.l @r15+,r5 - mov.l @r15+,r5 - rts - mov.l @r15+,r6 - mov.l @r15+,r6 - rts - mov.l @r15+,r7 - rts - mov.l @r15+,r7 - -L_pass_i: - cmp/eq #FFI_TYPE_INT,r0 - bf L_call_it - - mov #8,r0 - cmp/hs r0,r2 - bt/s 2f - shlr2 r3 - bsr L_pop_i - nop -2: - add #1,r2 - bra L_pass - add #-4,r8 - -L_pop_i: - mov r2,r0 - shll2 r0 - add #-16,r0 - braf r0 - nop - rts - mov.l @r15+,r4 - rts - mov.l @r15+,r5 - rts - mov.l @r15+,r6 - rts - mov.l @r15+,r7 - -L_call_it: - # call function -#if (! STRUCT_VALUE_ADDRESS_WITH_ARG) - mov r10, r2 -#endif - mov.l @(28,r14),r1 - jsr @r1 - nop - -L_ret_d: - mov #FFI_TYPE_DOUBLE,r2 - cmp/eq r2,r9 - bf L_ret_ll - - mov.l @(24,r14),r2 - mov.l r0,@r2 - bra L_epilogue - mov.l r1,@(4,r2) - -L_ret_ll: - mov #FFI_TYPE_SINT64,r2 - cmp/eq r2,r9 - bt/s 1f - mov #FFI_TYPE_UINT64,r2 - cmp/eq r2,r9 - bf L_ret_i - -1: - mov.l @(24,r14),r2 - mov.l r0,@r2 - bra L_epilogue - mov.l r1,@(4,r2) - -L_ret_i: - mov #FFI_TYPE_FLOAT,r2 - cmp/eq r2,r9 - bt 1f - mov #FFI_TYPE_INT,r2 - cmp/eq r2,r9 - bf L_epilogue -1: - mov.l @(24,r14),r1 - bra L_epilogue - mov.l r0,@r1 - -L_epilogue: - # Remove the space we pushed for the args - mov r14,r15 - - lds.l @r15+,pr - mov.l @r15+,r14 - mov.l @r15+,r12 - mov.l @r15+,r10 - mov.l @r15+,r9 - rts - mov.l @r15+,r8 -#endif -.LFE1: -.ffi_call_SYSV_end: - .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV) - -.globl ffi_closure_helper_SYSV - -ENTRY(ffi_closure_SYSV) -.LFB2: - mov.l r7,@-r15 -.LCFI7: - mov.l r6,@-r15 -.LCFI8: - mov.l r5,@-r15 -.LCFI9: - mov.l r4,@-r15 -.LCFIA: - mov.l r14,@-r15 -.LCFIB: - sts.l pr,@-r15 - - /* Stack layout: - xx bytes (on stack parameters) - 16 bytes (register parameters) - 4 bytes (saved frame pointer) - 4 bytes (saved return address) - 32 bytes (floating register parameters, SH-4 only) - 8 bytes (result) - 4 bytes (pad) - 4 bytes (5th arg) - <- new stack pointer - */ -.LCFIC: -#if defined(__SH4__) - add #-48,r15 -#else - add #-16,r15 -#endif -.LCFID: - mov r15,r14 -.LCFIE: - -#if defined(__SH4__) - mov r14,r1 - add #48,r1 -#ifdef __LITTLE_ENDIAN__ - fmov.s fr10,@-r1 - fmov.s fr11,@-r1 - fmov.s fr8,@-r1 - fmov.s fr9,@-r1 - fmov.s fr6,@-r1 - fmov.s fr7,@-r1 - fmov.s fr4,@-r1 - fmov.s fr5,@-r1 -#else - fmov.s fr11,@-r1 - fmov.s fr10,@-r1 - fmov.s fr9,@-r1 - fmov.s fr8,@-r1 - fmov.s fr7,@-r1 - fmov.s fr6,@-r1 - fmov.s fr5,@-r1 - fmov.s fr4,@-r1 -#endif - mov r1,r7 - mov r14,r6 - add #56,r6 -#else - mov r14,r6 - add #24,r6 -#endif - - bt/s 10f - mov r2, r5 - mov r14,r1 - add #8,r1 - mov r1,r5 -10: - - mov r14,r1 -#if defined(__SH4__) - add #72,r1 -#else - add #40,r1 -#endif - mov.l r1,@r14 - -#ifdef PIC - mov.l L_got,r1 - mova L_got,r0 - add r0,r1 - mov.l L_helper,r0 - add r1,r0 -#else - mov.l L_helper,r0 -#endif - jsr @r0 - mov r3,r4 - - shll r0 - mov r0,r1 - mova L_table,r0 - add r1,r0 - mov.w @r0,r0 - mov r14,r2 - braf r0 - add #8,r2 -0: - .align 2 -#ifdef PIC -L_got: - .long _GLOBAL_OFFSET_TABLE_ -L_helper: - .long ffi_closure_helper_SYSV@GOTOFF -#else -L_helper: - .long ffi_closure_helper_SYSV -#endif -L_table: - .short L_case_v - 0b /* FFI_TYPE_VOID */ - .short L_case_i - 0b /* FFI_TYPE_INT */ -#if defined(__SH4__) - .short L_case_f - 0b /* FFI_TYPE_FLOAT */ - .short L_case_d - 0b /* FFI_TYPE_DOUBLE */ - .short L_case_d - 0b /* FFI_TYPE_LONGDOUBLE */ -#else - .short L_case_i - 0b /* FFI_TYPE_FLOAT */ - .short L_case_ll - 0b /* FFI_TYPE_DOUBLE */ - .short L_case_ll - 0b /* FFI_TYPE_LONGDOUBLE */ -#endif - .short L_case_uq - 0b /* FFI_TYPE_UINT8 */ - .short L_case_q - 0b /* FFI_TYPE_SINT8 */ - .short L_case_uh - 0b /* FFI_TYPE_UINT16 */ - .short L_case_h - 0b /* FFI_TYPE_SINT16 */ - .short L_case_i - 0b /* FFI_TYPE_UINT32 */ - .short L_case_i - 0b /* FFI_TYPE_SINT32 */ - .short L_case_ll - 0b /* FFI_TYPE_UINT64 */ - .short L_case_ll - 0b /* FFI_TYPE_SINT64 */ - .short L_case_v - 0b /* FFI_TYPE_STRUCT */ - .short L_case_i - 0b /* FFI_TYPE_POINTER */ - -#if defined(__SH4__) -L_case_d: -#ifdef __LITTLE_ENDIAN__ - fmov.s @r2+,fr1 - bra L_case_v - fmov.s @r2,fr0 -#else - fmov.s @r2+,fr0 - bra L_case_v - fmov.s @r2,fr1 -#endif - -L_case_f: - bra L_case_v - fmov.s @r2,fr0 -#endif - -L_case_ll: - mov.l @r2+,r0 - bra L_case_v - mov.l @r2,r1 - -L_case_i: - bra L_case_v - mov.l @r2,r0 - -L_case_q: -#ifdef __LITTLE_ENDIAN__ -#else - add #3,r2 -#endif - bra L_case_v - mov.b @r2,r0 - -L_case_uq: -#ifdef __LITTLE_ENDIAN__ -#else - add #3,r2 -#endif - mov.b @r2,r0 - bra L_case_v - extu.b r0,r0 - -L_case_h: -#ifdef __LITTLE_ENDIAN__ -#else - add #2,r2 -#endif - bra L_case_v - mov.w @r2,r0 - -L_case_uh: -#ifdef __LITTLE_ENDIAN__ -#else - add #2,r2 -#endif - mov.w @r2,r0 - extu.w r0,r0 - /* fall through */ - -L_case_v: -#if defined(__SH4__) - add #48,r15 -#else - add #16,r15 -#endif - lds.l @r15+,pr - mov.l @r15+,r14 - rts - add #16,r15 -.LFE2: -.ffi_closure_SYSV_end: - .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif - - .section ".eh_frame","aw",@progbits -__FRAME_BEGIN__: - .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */ -.LSCIE1: - .4byte 0x0 /* CIE Identifier Tag */ - .byte 0x1 /* CIE Version */ -#ifdef PIC - .ascii "zR\0" /* CIE Augmentation */ -#else - .byte 0x0 /* CIE Augmentation */ -#endif - .byte 0x1 /* uleb128 0x1; CIE Code Alignment Factor */ - .byte 0x7c /* sleb128 -4; CIE Data Alignment Factor */ - .byte 0x11 /* CIE RA Column */ -#ifdef PIC - .uleb128 0x1 /* Augmentation size */ - .byte 0x10 /* FDE Encoding (pcrel) */ -#endif - .byte 0xc /* DW_CFA_def_cfa */ - .byte 0xf /* uleb128 0xf */ - .byte 0x0 /* uleb128 0x0 */ - .align 2 -.LECIE1: -.LSFDE1: - .4byte .LEFDE1-.LASFDE1 /* FDE Length */ -.LASFDE1: - .4byte .LASFDE1-__FRAME_BEGIN__ /* FDE CIE offset */ -#ifdef PIC - .4byte .LFB1-. /* FDE initial location */ -#else - .4byte .LFB1 /* FDE initial location */ -#endif - .4byte .LFE1-.LFB1 /* FDE address range */ -#ifdef PIC - .uleb128 0x0 /* Augmentation size */ -#endif - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI0-.LFB1 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x4 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI1-.LCFI0 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x8 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI2-.LCFI1 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0xc /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI3-.LCFI2 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x10 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI4-.LCFI3 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x14 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI5-.LCFI4 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x18 /* uleb128 0x4 */ - .byte 0x91 /* DW_CFA_offset, column 0x11 */ - .byte 0x6 /* uleb128 0x6 */ - .byte 0x8e /* DW_CFA_offset, column 0xe */ - .byte 0x5 /* uleb128 0x5 */ - .byte 0x8c /* DW_CFA_offset, column 0xc */ - .byte 0x4 /* uleb128 0x4 */ - .byte 0x8a /* DW_CFA_offset, column 0xa */ - .byte 0x3 /* uleb128 0x3 */ - .byte 0x89 /* DW_CFA_offset, column 0x9 */ - .byte 0x2 /* uleb128 0x2 */ - .byte 0x88 /* DW_CFA_offset, column 0x8 */ - .byte 0x1 /* uleb128 0x1 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI6-.LCFI5 - .byte 0xd /* DW_CFA_def_cfa_register */ - .byte 0xe /* uleb128 0xe */ - .align 2 -.LEFDE1: - -.LSFDE3: - .4byte .LEFDE3-.LASFDE3 /* FDE Length */ -.LASFDE3: - .4byte .LASFDE3-__FRAME_BEGIN__ /* FDE CIE offset */ -#ifdef PIC - .4byte .LFB2-. /* FDE initial location */ -#else - .4byte .LFB2 /* FDE initial location */ -#endif - .4byte .LFE2-.LFB2 /* FDE address range */ -#ifdef PIC - .uleb128 0x0 /* Augmentation size */ -#endif - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI7-.LFB2 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x4 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI8-.LCFI7 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x8 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFI9-.LCFI8 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0xc /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFIA-.LCFI9 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x10 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFIB-.LCFIA - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x14 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFIC-.LCFIB - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte 0x18 /* uleb128 0x4 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFID-.LCFIC - .byte 0xe /* DW_CFA_def_cfa_offset */ -#if defined(__SH4__) - .byte 24+48 /* uleb128 24+48 */ -#else - .byte 24+16 /* uleb128 24+16 */ -#endif - .byte 0x91 /* DW_CFA_offset, column 0x11 */ - .byte 0x6 /* uleb128 0x6 */ - .byte 0x8e /* DW_CFA_offset, column 0xe */ - .byte 0x5 /* uleb128 0x5 */ - .byte 0x84 /* DW_CFA_offset, column 0x4 */ - .byte 0x4 /* uleb128 0x4 */ - .byte 0x85 /* DW_CFA_offset, column 0x5 */ - .byte 0x3 /* uleb128 0x3 */ - .byte 0x86 /* DW_CFA_offset, column 0x6 */ - .byte 0x2 /* uleb128 0x2 */ - .byte 0x87 /* DW_CFA_offset, column 0x7 */ - .byte 0x1 /* uleb128 0x1 */ - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte .LCFIE-.LCFID - .byte 0xd /* DW_CFA_def_cfa_register */ - .byte 0xe /* uleb128 0xe */ - .align 2 -.LEFDE3: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffi.c deleted file mode 100644 index 123b87a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffi.c +++ /dev/null @@ -1,469 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2003, 2004, 2006, 2007, 2012 Kaz Kojima - Copyright (c) 2008 Anthony Green - - SuperH SHmedia Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include - -#define NGREGARG 8 -#define NFREGARG 12 - -static int -return_type (ffi_type *arg) -{ - - if (arg->type != FFI_TYPE_STRUCT) - return arg->type; - - /* gcc uses r2 if the result can be packed in on register. */ - if (arg->size <= sizeof (UINT8)) - return FFI_TYPE_UINT8; - else if (arg->size <= sizeof (UINT16)) - return FFI_TYPE_UINT16; - else if (arg->size <= sizeof (UINT32)) - return FFI_TYPE_UINT32; - else if (arg->size <= sizeof (UINT64)) - return FFI_TYPE_UINT64; - - return FFI_TYPE_STRUCT; -} - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -void ffi_prep_args(char *stack, extended_cif *ecif) -{ - register unsigned int i; - register unsigned int avn; - register void **p_argv; - register char *argp; - register ffi_type **p_arg; - - argp = stack; - - if (return_type (ecif->cif->rtype) == FFI_TYPE_STRUCT) - { - *(void **) argp = ecif->rvalue; - argp += sizeof (UINT64); - } - - avn = ecif->cif->nargs; - p_argv = ecif->avalue; - - for (i = 0, p_arg = ecif->cif->arg_types; i < avn; i++, p_arg++, p_argv++) - { - size_t z; - int align; - - z = (*p_arg)->size; - align = (*p_arg)->alignment; - if (z < sizeof (UINT32)) - { - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(SINT64 *) argp = (SINT64) *(SINT8 *)(*p_argv); - break; - - case FFI_TYPE_UINT8: - *(UINT64 *) argp = (UINT64) *(UINT8 *)(*p_argv); - break; - - case FFI_TYPE_SINT16: - *(SINT64 *) argp = (SINT64) *(SINT16 *)(*p_argv); - break; - - case FFI_TYPE_UINT16: - *(UINT64 *) argp = (UINT64) *(UINT16 *)(*p_argv); - break; - - case FFI_TYPE_STRUCT: - memcpy (argp, *p_argv, z); - break; - - default: - FFI_ASSERT(0); - } - argp += sizeof (UINT64); - } - else if (z == sizeof (UINT32) && align == sizeof (UINT32)) - { - switch ((*p_arg)->type) - { - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - *(SINT64 *) argp = (SINT64) *(SINT32 *) (*p_argv); - break; - - case FFI_TYPE_FLOAT: - case FFI_TYPE_POINTER: - case FFI_TYPE_UINT32: - case FFI_TYPE_STRUCT: - *(UINT64 *) argp = (UINT64) *(UINT32 *) (*p_argv); - break; - - default: - FFI_ASSERT(0); - break; - } - argp += sizeof (UINT64); - } - else if (z == sizeof (UINT64) - && align == sizeof (UINT64) - && ((int) *p_argv & (sizeof (UINT64) - 1)) == 0) - { - *(UINT64 *) argp = *(UINT64 *) (*p_argv); - argp += sizeof (UINT64); - } - else - { - int n = (z + sizeof (UINT64) - 1) / sizeof (UINT64); - - memcpy (argp, *p_argv, z); - argp += n * sizeof (UINT64); - } - } - - return; -} - -/* Perform machine dependent cif processing */ -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - int i, j; - int size, type; - int n, m; - int greg; - int freg; - int fpair = -1; - - greg = (return_type (cif->rtype) == FFI_TYPE_STRUCT ? 1 : 0); - freg = 0; - cif->flags2 = 0; - - for (i = j = 0; i < cif->nargs; i++) - { - type = (cif->arg_types)[i]->type; - switch (type) - { - case FFI_TYPE_FLOAT: - greg++; - cif->bytes += sizeof (UINT64) - sizeof (float); - if (freg >= NFREGARG - 1) - continue; - if (fpair < 0) - { - fpair = freg; - freg += 2; - } - else - fpair = -1; - cif->flags2 += ((cif->arg_types)[i]->type) << (2 * j++); - break; - - case FFI_TYPE_DOUBLE: - if (greg++ >= NGREGARG && (freg + 1) >= NFREGARG) - continue; - if ((freg + 1) < NFREGARG) - { - freg += 2; - cif->flags2 += ((cif->arg_types)[i]->type) << (2 * j++); - } - else - cif->flags2 += FFI_TYPE_INT << (2 * j++); - break; - - default: - size = (cif->arg_types)[i]->size; - if (size < sizeof (UINT64)) - cif->bytes += sizeof (UINT64) - size; - n = (size + sizeof (UINT64) - 1) / sizeof (UINT64); - if (greg >= NGREGARG) - continue; - else if (greg + n - 1 >= NGREGARG) - greg = NGREGARG; - else - greg += n; - for (m = 0; m < n; m++) - cif->flags2 += FFI_TYPE_INT << (2 * j++); - break; - } - } - - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_STRUCT: - cif->flags = return_type (cif->rtype); - break; - - case FFI_TYPE_VOID: - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - cif->flags = cif->rtype->type; - break; - - default: - cif->flags = FFI_TYPE_INT; - break; - } - - return FFI_OK; -} - -/*@-declundef@*/ -/*@-exportheader@*/ -extern void ffi_call_SYSV(void (*)(char *, extended_cif *), - /*@out@*/ extended_cif *, - unsigned, unsigned, long long, - /*@out@*/ unsigned *, - void (*fn)(void)); -/*@=declundef@*/ -/*@=exportheader@*/ - -void ffi_call(/*@dependent@*/ ffi_cif *cif, - void (*fn)(void), - /*@out@*/ void *rvalue, - /*@dependent@*/ void **avalue) -{ - extended_cif ecif; - UINT64 trvalue; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return */ - /* value address then we need to make one */ - - if (cif->rtype->type == FFI_TYPE_STRUCT - && return_type (cif->rtype) != FFI_TYPE_STRUCT) - ecif.rvalue = &trvalue; - else if ((rvalue == NULL) && - (cif->rtype->type == FFI_TYPE_STRUCT)) - { - ecif.rvalue = alloca(cif->rtype->size); - } - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_SYSV: - ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, cif->flags2, - ecif.rvalue, fn); - break; - default: - FFI_ASSERT(0); - break; - } - - if (rvalue - && cif->rtype->type == FFI_TYPE_STRUCT - && return_type (cif->rtype) != FFI_TYPE_STRUCT) - memcpy (rvalue, &trvalue, cif->rtype->size); -} - -extern void ffi_closure_SYSV (void); -extern void __ic_invalidate (void *line); - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp; - - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - tramp = (unsigned int *) &closure->tramp[0]; - /* Since ffi_closure is an aligned object, the ffi trampoline is - called as an SHcompact code. Sigh. - SHcompact part: - mova @(1,pc),r0; add #1,r0; jmp @r0; nop; - SHmedia part: - movi fnaddr >> 16,r1; shori fnaddr,r1; ptabs/l r1,tr0 - movi cxt >> 16,r1; shori cxt,r1; blink tr0,r63 */ -#ifdef __LITTLE_ENDIAN__ - tramp[0] = 0x7001c701; - tramp[1] = 0x0009402b; -#else - tramp[0] = 0xc7017001; - tramp[1] = 0x402b0009; -#endif - tramp[2] = 0xcc000010 | (((UINT32) ffi_closure_SYSV) >> 16) << 10; - tramp[3] = 0xc8000010 | (((UINT32) ffi_closure_SYSV) & 0xffff) << 10; - tramp[4] = 0x6bf10600; - tramp[5] = 0xcc000010 | (((UINT32) codeloc) >> 16) << 10; - tramp[6] = 0xc8000010 | (((UINT32) codeloc) & 0xffff) << 10; - tramp[7] = 0x4401fff0; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - /* Flush the icache. */ - asm volatile ("ocbwb %0,0; synco; icbi %1,0; synci" : : "r" (tramp), - "r"(codeloc)); - - return FFI_OK; -} - -/* Basically the trampoline invokes ffi_closure_SYSV, and on - * entry, r3 holds the address of the closure. - * After storing the registers that could possibly contain - * parameters to be passed into the stack frame and setting - * up space for a return value, ffi_closure_SYSV invokes the - * following helper function to do most of the work. - */ - -int -ffi_closure_helper_SYSV (ffi_closure *closure, UINT64 *rvalue, - UINT64 *pgr, UINT64 *pfr, UINT64 *pst) -{ - void **avalue; - ffi_type **p_arg; - int i, avn; - int greg, freg; - ffi_cif *cif; - int fpair = -1; - - cif = closure->cif; - avalue = alloca (cif->nargs * sizeof (void *)); - - /* Copy the caller's structure return value address so that the closure - returns the data directly to the caller. */ - if (return_type (cif->rtype) == FFI_TYPE_STRUCT) - { - rvalue = (UINT64 *) *pgr; - greg = 1; - } - else - greg = 0; - - freg = 0; - cif = closure->cif; - avn = cif->nargs; - - /* Grab the addresses of the arguments from the stack frame. */ - for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++) - { - size_t z; - void *p; - - z = (*p_arg)->size; - if (z < sizeof (UINT32)) - { - p = pgr + greg++; - - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - case FFI_TYPE_STRUCT: -#ifdef __LITTLE_ENDIAN__ - avalue[i] = p; -#else - avalue[i] = ((char *) p) + sizeof (UINT32) - z; -#endif - break; - - default: - FFI_ASSERT(0); - } - } - else if (z == sizeof (UINT32)) - { - if ((*p_arg)->type == FFI_TYPE_FLOAT) - { - if (freg < NFREGARG - 1) - { - if (fpair >= 0) - { - avalue[i] = (UINT32 *) pfr + fpair; - fpair = -1; - } - else - { -#ifdef __LITTLE_ENDIAN__ - fpair = freg; - avalue[i] = (UINT32 *) pfr + (1 ^ freg); -#else - fpair = 1 ^ freg; - avalue[i] = (UINT32 *) pfr + freg; -#endif - freg += 2; - } - } - else -#ifdef __LITTLE_ENDIAN__ - avalue[i] = pgr + greg; -#else - avalue[i] = (UINT32 *) (pgr + greg) + 1; -#endif - } - else -#ifdef __LITTLE_ENDIAN__ - avalue[i] = pgr + greg; -#else - avalue[i] = (UINT32 *) (pgr + greg) + 1; -#endif - greg++; - } - else if ((*p_arg)->type == FFI_TYPE_DOUBLE) - { - if (freg + 1 >= NFREGARG) - avalue[i] = pgr + greg; - else - { - avalue[i] = pfr + (freg >> 1); - freg += 2; - } - greg++; - } - else - { - int n = (z + sizeof (UINT64) - 1) / sizeof (UINT64); - - avalue[i] = pgr + greg; - greg += n; - } - } - - (closure->fun) (cif, rvalue, avalue, closure->user_data); - - /* Tell ffi_closure_SYSV how to perform return type promotions. */ - return return_type (cif->rtype); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffitarget.h deleted file mode 100644 index 08a6fe9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffitarget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for SuperH - SHmedia. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; - -#define FFI_EXTRA_CIF_FIELDS long long flags2 -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 32 -#define FFI_NATIVE_RAW_API 0 - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/sysv.S deleted file mode 100644 index c4587d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/sysv.S +++ /dev/null @@ -1,539 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2003, 2004, 2006, 2008 Kaz Kojima - - SuperH SHmedia Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#ifdef HAVE_MACHINE_ASM_H -#include -#else -/* XXX these lose for some platforms, I'm sure. */ -#define CNAME(x) x -#define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x): -#endif - -#ifdef __LITTLE_ENDIAN__ -#define OFS_FLT 0 -#else -#define OFS_FLT 4 -#endif - - .section .text..SHmedia32,"ax" - - # r2: ffi_prep_args - # r3: &ecif - # r4: bytes - # r5: flags - # r6: flags2 - # r7: rvalue - # r8: fn - - # This assumes we are using gas. - .align 5 -ENTRY(ffi_call_SYSV) - # Save registers -.LFB1: - addi.l r15, -48, r15 -.LCFI0: - st.q r15, 40, r32 - st.q r15, 32, r31 - st.q r15, 24, r30 - st.q r15, 16, r29 - st.q r15, 8, r28 - st.l r15, 4, r18 - st.l r15, 0, r14 -.LCFI1: - add.l r15, r63, r14 -.LCFI2: -# add r4, r63, r28 - add r5, r63, r29 - add r6, r63, r30 - add r7, r63, r31 - add r8, r63, r32 - - addi r4, (64 + 7), r4 - andi r4, ~7, r4 - sub.l r15, r4, r15 - - ptabs/l r2, tr0 - add r15, r63, r2 - blink tr0, r18 - - addi r15, 64, r22 - movi 0, r0 - movi 0, r1 - movi -1, r23 - - pt/l 1f, tr1 - bnei/l r29, FFI_TYPE_STRUCT, tr1 - ld.l r15, 0, r19 - addi r15, 8, r15 - addi r0, 1, r0 -1: - -.L_pass: - andi r30, 3, r20 - shlri r30, 2, r30 - - pt/l .L_call_it, tr0 - pt/l .L_pass_i, tr1 - pt/l .L_pass_f, tr2 - - beqi/l r20, FFI_TYPE_VOID, tr0 - beqi/l r20, FFI_TYPE_INT, tr1 - beqi/l r20, FFI_TYPE_FLOAT, tr2 - -.L_pass_d: - addi r0, 1, r0 - pt/l 3f, tr0 - movi 12, r20 - bge/l r1, r20, tr0 - - pt/l .L_pop_d, tr1 - pt/l 2f, tr0 - blink tr1, r63 -2: - addi.l r15, 8, r15 -3: - pt/l .L_pass, tr0 - addi r1, 2, r1 - blink tr0, r63 - -.L_pop_d: - pt/l .L_pop_d_tbl, tr1 - gettr tr1, r20 - shlli r1, 2, r21 - add r20, r21, r20 - ptabs/l r20, tr1 - blink tr1, r63 - -.L_pop_d_tbl: - fld.d r15, 0, dr0 - blink tr0, r63 - fld.d r15, 0, dr2 - blink tr0, r63 - fld.d r15, 0, dr4 - blink tr0, r63 - fld.d r15, 0, dr6 - blink tr0, r63 - fld.d r15, 0, dr8 - blink tr0, r63 - fld.d r15, 0, dr10 - blink tr0, r63 - -.L_pass_f: - addi r0, 1, r0 - pt/l 3f, tr0 - movi 12, r20 - bge/l r1, r20, tr0 - - pt/l .L_pop_f, tr1 - pt/l 2f, tr0 - blink tr1, r63 -2: - addi.l r15, 8, r15 -3: - pt/l .L_pass, tr0 - blink tr0, r63 - -.L_pop_f: - pt/l .L_pop_f_tbl, tr1 - pt/l 5f, tr2 - gettr tr1, r20 - bge/l r23, r63, tr2 - add r1, r63, r23 - shlli r1, 3, r21 - addi r1, 2, r1 - add r20, r21, r20 - ptabs/l r20, tr1 - blink tr1, r63 -5: - addi r23, 1, r21 - movi -1, r23 - shlli r21, 3, r21 - add r20, r21, r20 - ptabs/l r20, tr1 - blink tr1, r63 - -.L_pop_f_tbl: - fld.s r15, OFS_FLT, fr0 - blink tr0, r63 - fld.s r15, OFS_FLT, fr1 - blink tr0, r63 - fld.s r15, OFS_FLT, fr2 - blink tr0, r63 - fld.s r15, OFS_FLT, fr3 - blink tr0, r63 - fld.s r15, OFS_FLT, fr4 - blink tr0, r63 - fld.s r15, OFS_FLT, fr5 - blink tr0, r63 - fld.s r15, OFS_FLT, fr6 - blink tr0, r63 - fld.s r15, OFS_FLT, fr7 - blink tr0, r63 - fld.s r15, OFS_FLT, fr8 - blink tr0, r63 - fld.s r15, OFS_FLT, fr9 - blink tr0, r63 - fld.s r15, OFS_FLT, fr10 - blink tr0, r63 - fld.s r15, OFS_FLT, fr11 - blink tr0, r63 - -.L_pass_i: - pt/l 3f, tr0 - movi 8, r20 - bge/l r0, r20, tr0 - - pt/l .L_pop_i, tr1 - pt/l 2f, tr0 - blink tr1, r63 -2: - addi.l r15, 8, r15 -3: - pt/l .L_pass, tr0 - addi r0, 1, r0 - blink tr0, r63 - -.L_pop_i: - pt/l .L_pop_i_tbl, tr1 - gettr tr1, r20 - shlli r0, 3, r21 - add r20, r21, r20 - ptabs/l r20, tr1 - blink tr1, r63 - -.L_pop_i_tbl: - ld.q r15, 0, r2 - blink tr0, r63 - ld.q r15, 0, r3 - blink tr0, r63 - ld.q r15, 0, r4 - blink tr0, r63 - ld.q r15, 0, r5 - blink tr0, r63 - ld.q r15, 0, r6 - blink tr0, r63 - ld.q r15, 0, r7 - blink tr0, r63 - ld.q r15, 0, r8 - blink tr0, r63 - ld.q r15, 0, r9 - blink tr0, r63 - -.L_call_it: - # call function - pt/l 1f, tr1 - bnei/l r29, FFI_TYPE_STRUCT, tr1 - add r19, r63, r2 -1: - add r22, r63, r15 - ptabs/l r32, tr0 - blink tr0, r18 - - pt/l .L_ret_i, tr0 - pt/l .L_ret_ll, tr1 - pt/l .L_ret_d, tr2 - pt/l .L_ret_f, tr3 - pt/l .L_epilogue, tr4 - - beqi/l r29, FFI_TYPE_INT, tr0 - beqi/l r29, FFI_TYPE_UINT32, tr0 - beqi/l r29, FFI_TYPE_SINT64, tr1 - beqi/l r29, FFI_TYPE_UINT64, tr1 - beqi/l r29, FFI_TYPE_DOUBLE, tr2 - beqi/l r29, FFI_TYPE_FLOAT, tr3 - - pt/l .L_ret_q, tr0 - pt/l .L_ret_h, tr1 - - beqi/l r29, FFI_TYPE_UINT8, tr0 - beqi/l r29, FFI_TYPE_UINT16, tr1 - blink tr4, r63 - -.L_ret_d: - fst.d r31, 0, dr0 - blink tr4, r63 - -.L_ret_ll: - st.q r31, 0, r2 - blink tr4, r63 - -.L_ret_f: - fst.s r31, OFS_FLT, fr0 - blink tr4, r63 - -.L_ret_q: - st.b r31, 0, r2 - blink tr4, r63 - -.L_ret_h: - st.w r31, 0, r2 - blink tr4, r63 - -.L_ret_i: - st.l r31, 0, r2 - # Fall - -.L_epilogue: - # Remove the space we pushed for the args - add r14, r63, r15 - - ld.l r15, 0, r14 - ld.l r15, 4, r18 - ld.q r15, 8, r28 - ld.q r15, 16, r29 - ld.q r15, 24, r30 - ld.q r15, 32, r31 - ld.q r15, 40, r32 - addi.l r15, 48, r15 - ptabs r18, tr0 - blink tr0, r63 - -.LFE1: -.ffi_call_SYSV_end: - .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV) - - .align 5 -ENTRY(ffi_closure_SYSV) -.LFB2: - addi.l r15, -136, r15 -.LCFI3: - st.l r15, 12, r18 - st.l r15, 8, r14 - st.l r15, 4, r12 -.LCFI4: - add r15, r63, r14 -.LCFI5: - /* Stack layout: - ... - 64 bytes (register parameters) - 48 bytes (floating register parameters) - 8 bytes (result) - 4 bytes (r18) - 4 bytes (r14) - 4 bytes (r12) - 4 bytes (for align) - <- new stack pointer - */ - fst.d r14, 24, dr0 - fst.d r14, 32, dr2 - fst.d r14, 40, dr4 - fst.d r14, 48, dr6 - fst.d r14, 56, dr8 - fst.d r14, 64, dr10 - st.q r14, 72, r2 - st.q r14, 80, r3 - st.q r14, 88, r4 - st.q r14, 96, r5 - st.q r14, 104, r6 - st.q r14, 112, r7 - st.q r14, 120, r8 - st.q r14, 128, r9 - - add r1, r63, r2 - addi r14, 16, r3 - addi r14, 72, r4 - addi r14, 24, r5 - addi r14, 136, r6 -#ifdef PIC - movi (((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) >> 16) & 65535), r12 - shori ((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) & 65535), r12 -.LPCS0: ptrel/u r12, tr0 - movi ((ffi_closure_helper_SYSV@GOTPLT) & 65535), r1 - gettr tr0, r12 - ldx.l r1, r12, r1 - ptabs r1, tr0 -#else - pt/l ffi_closure_helper_SYSV, tr0 -#endif - blink tr0, r18 - - shlli r2, 1, r1 - movi (((datalabel .L_table) >> 16) & 65535), r2 - shori ((datalabel .L_table) & 65535), r2 - ldx.w r2, r1, r1 - add r1, r2, r1 - pt/l .L_case_v, tr1 - ptabs r1, tr0 - blink tr0, r63 - - .align 2 -.L_table: - .word .L_case_v - datalabel .L_table /* FFI_TYPE_VOID */ - .word .L_case_i - datalabel .L_table /* FFI_TYPE_INT */ - .word .L_case_f - datalabel .L_table /* FFI_TYPE_FLOAT */ - .word .L_case_d - datalabel .L_table /* FFI_TYPE_DOUBLE */ - .word .L_case_d - datalabel .L_table /* FFI_TYPE_LONGDOUBLE */ - .word .L_case_uq - datalabel .L_table /* FFI_TYPE_UINT8 */ - .word .L_case_q - datalabel .L_table /* FFI_TYPE_SINT8 */ - .word .L_case_uh - datalabel .L_table /* FFI_TYPE_UINT16 */ - .word .L_case_h - datalabel .L_table /* FFI_TYPE_SINT16 */ - .word .L_case_i - datalabel .L_table /* FFI_TYPE_UINT32 */ - .word .L_case_i - datalabel .L_table /* FFI_TYPE_SINT32 */ - .word .L_case_ll - datalabel .L_table /* FFI_TYPE_UINT64 */ - .word .L_case_ll - datalabel .L_table /* FFI_TYPE_SINT64 */ - .word .L_case_v - datalabel .L_table /* FFI_TYPE_STRUCT */ - .word .L_case_i - datalabel .L_table /* FFI_TYPE_POINTER */ - - .align 2 -.L_case_d: - fld.d r14, 16, dr0 - blink tr1, r63 -.L_case_f: - fld.s r14, 16, fr0 - blink tr1, r63 -.L_case_ll: - ld.q r14, 16, r2 - blink tr1, r63 -.L_case_i: - ld.l r14, 16, r2 - blink tr1, r63 -.L_case_q: - ld.b r14, 16, r2 - blink tr1, r63 -.L_case_uq: - ld.ub r14, 16, r2 - blink tr1, r63 -.L_case_h: - ld.w r14, 16, r2 - blink tr1, r63 -.L_case_uh: - ld.uw r14, 16, r2 - blink tr1, r63 -.L_case_v: - add.l r14, r63, r15 - ld.l r15, 4, r12 - ld.l r15, 8, r14 - ld.l r15, 12, r18 - addi.l r15, 136, r15 - ptabs r18, tr0 - blink tr0, r63 - -.LFE2: -.ffi_closure_SYSV_end: - .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif - - .section ".eh_frame","aw",@progbits -__FRAME_BEGIN__: - .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */ -.LSCIE1: - .4byte 0x0 /* CIE Identifier Tag */ - .byte 0x1 /* CIE Version */ -#ifdef PIC - .ascii "zR\0" /* CIE Augmentation */ -#else - .byte 0x0 /* CIE Augmentation */ -#endif - .uleb128 0x1 /* CIE Code Alignment Factor */ - .sleb128 -4 /* CIE Data Alignment Factor */ - .byte 0x12 /* CIE RA Column */ -#ifdef PIC - .uleb128 0x1 /* Augmentation size */ - .byte 0x10 /* FDE Encoding (pcrel) */ -#endif - .byte 0xc /* DW_CFA_def_cfa */ - .uleb128 0xf - .uleb128 0x0 - .align 2 -.LECIE1: -.LSFDE1: - .4byte datalabel .LEFDE1-datalabel .LASFDE1 /* FDE Length */ -.LASFDE1: - .4byte datalabel .LASFDE1-datalabel __FRAME_BEGIN__ -#ifdef PIC - .4byte .LFB1-. /* FDE initial location */ -#else - .4byte .LFB1 /* FDE initial location */ -#endif - .4byte datalabel .LFE1-datalabel .LFB1 /* FDE address range */ -#ifdef PIC - .uleb128 0x0 /* Augmentation size */ -#endif - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte datalabel .LCFI0-datalabel .LFB1 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .uleb128 0x30 - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte datalabel .LCFI1-datalabel .LCFI0 - .byte 0x8e /* DW_CFA_offset, column 0xe */ - .uleb128 0xc - .byte 0x92 /* DW_CFA_offset, column 0x12 */ - .uleb128 0xb - .byte 0x9c /* DW_CFA_offset, column 0x1c */ - .uleb128 0xa - .byte 0x9d /* DW_CFA_offset, column 0x1d */ - .uleb128 0x8 - .byte 0x9e /* DW_CFA_offset, column 0x1e */ - .uleb128 0x6 - .byte 0x9f /* DW_CFA_offset, column 0x1f */ - .uleb128 0x4 - .byte 0xa0 /* DW_CFA_offset, column 0x20 */ - .uleb128 0x2 - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte datalabel .LCFI2-datalabel .LCFI1 - .byte 0xd /* DW_CFA_def_cfa_register */ - .uleb128 0xe - .align 2 -.LEFDE1: - -.LSFDE3: - .4byte datalabel .LEFDE3-datalabel .LASFDE3 /* FDE Length */ -.LASFDE3: - .4byte datalabel .LASFDE3-datalabel __FRAME_BEGIN__ -#ifdef PIC - .4byte .LFB2-. /* FDE initial location */ -#else - .4byte .LFB2 /* FDE initial location */ -#endif - .4byte datalabel .LFE2-datalabel .LFB2 /* FDE address range */ -#ifdef PIC - .uleb128 0x0 /* Augmentation size */ -#endif - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte datalabel .LCFI3-datalabel .LFB2 - .byte 0xe /* DW_CFA_def_cfa_offset */ - .uleb128 0x88 - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte datalabel .LCFI4-datalabel .LCFI3 - .byte 0x8c /* DW_CFA_offset, column 0xc */ - .uleb128 0x21 - .byte 0x8e /* DW_CFA_offset, column 0xe */ - .uleb128 0x20 - .byte 0x92 /* DW_CFA_offset, column 0x12 */ - .uleb128 0x1f - .byte 0x4 /* DW_CFA_advance_loc4 */ - .4byte datalabel .LCFI5-datalabel .LCFI4 - .byte 0xd /* DW_CFA_def_cfa_register */ - .uleb128 0xe - .align 2 -.LEFDE3: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi.c deleted file mode 100644 index 9e406d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi.c +++ /dev/null @@ -1,468 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2011, 2013 Anthony Green - Copyright (c) 1996, 2003-2004, 2007-2008 Red Hat, Inc. - - SPARC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include -#include -#include "internal.h" - -#ifndef SPARC64 - -/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE; - all further uses in this file will refer to the 128-bit type. */ -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -# if FFI_TYPE_LONGDOUBLE != 4 -# error FFI_TYPE_LONGDOUBLE out of date -# endif -#else -# undef FFI_TYPE_LONGDOUBLE -# define FFI_TYPE_LONGDOUBLE 4 -#endif - -/* Perform machine dependent cif processing */ -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep(ffi_cif *cif) -{ - ffi_type *rtype = cif->rtype; - int rtt = rtype->type; - size_t bytes; - int i, n, flags; - - /* Set the return type flag */ - switch (rtt) - { - case FFI_TYPE_VOID: - flags = SPARC_RET_VOID; - break; - case FFI_TYPE_FLOAT: - flags = SPARC_RET_F_1; - break; - case FFI_TYPE_DOUBLE: - flags = SPARC_RET_F_2; - break; - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_STRUCT: - flags = (rtype->size & 0xfff) << SPARC_SIZEMASK_SHIFT; - flags |= SPARC_RET_STRUCT; - break; - case FFI_TYPE_SINT8: - flags = SPARC_RET_SINT8; - break; - case FFI_TYPE_UINT8: - flags = SPARC_RET_UINT8; - break; - case FFI_TYPE_SINT16: - flags = SPARC_RET_SINT16; - break; - case FFI_TYPE_UINT16: - flags = SPARC_RET_UINT16; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - flags = SPARC_RET_UINT32; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - flags = SPARC_RET_INT64; - break; - case FFI_TYPE_COMPLEX: - rtt = rtype->elements[0]->type; - switch (rtt) - { - case FFI_TYPE_FLOAT: - flags = SPARC_RET_F_2; - break; - case FFI_TYPE_DOUBLE: - flags = SPARC_RET_F_4; - break; - case FFI_TYPE_LONGDOUBLE: - flags = SPARC_RET_F_8; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - flags = SPARC_RET_INT128; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - flags = SPARC_RET_INT64; - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - flags = SP_V8_RET_CPLX16; - break; - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - flags = SP_V8_RET_CPLX8; - break; - default: - abort(); - } - break; - default: - abort(); - } - cif->flags = flags; - - bytes = 0; - for (i = 0, n = cif->nargs; i < n; ++i) - { - ffi_type *ty = cif->arg_types[i]; - size_t z = ty->size; - int tt = ty->type; - - switch (tt) - { - case FFI_TYPE_STRUCT: - case FFI_TYPE_LONGDOUBLE: - by_reference: - /* Passed by reference. */ - z = 4; - break; - - case FFI_TYPE_COMPLEX: - tt = ty->elements[0]->type; - if (tt == FFI_TYPE_FLOAT || z > 8) - goto by_reference; - /* FALLTHRU */ - - default: - z = FFI_ALIGN(z, 4); - } - bytes += z; - } - - /* Sparc call frames require that space is allocated for 6 args, - even if they aren't used. Make that space if necessary. */ - if (bytes < 6 * 4) - bytes = 6 * 4; - - /* The ABI always requires space for the struct return pointer. */ - bytes += 4; - - /* The stack must be 2 word aligned, so round bytes up appropriately. */ - bytes = FFI_ALIGN(bytes, 2 * 4); - - /* Include the call frame to prep_args. */ - bytes += 4*16 + 4*8; - cif->bytes = bytes; - - return FFI_OK; -} - -extern void ffi_call_v8(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, size_t bytes, void *closure) FFI_HIDDEN; - -int FFI_HIDDEN -ffi_prep_args_v8(ffi_cif *cif, unsigned long *argp, void *rvalue, void **avalue) -{ - ffi_type **p_arg; - int flags = cif->flags; - int i, nargs; - - if (rvalue == NULL) - { - if ((flags & SPARC_FLAG_RET_MASK) == SPARC_RET_STRUCT) - { - /* Since we pass the pointer to the callee, we need a value. - We allowed for this space in ffi_call, before ffi_call_v8 - alloca'd the space. */ - rvalue = (char *)argp + cif->bytes; - } - else - { - /* Otherwise, we can ignore the return value. */ - flags = SPARC_RET_VOID; - } - } - - /* This could only really be done when we are returning a structure. - However, the space is reserved so we can do it unconditionally. */ - *argp++ = (unsigned long)rvalue; - -#ifdef USING_PURIFY - /* Purify will probably complain in our assembly routine, - unless we zero out this memory. */ - memset(argp, 0, 6*4); -#endif - - p_arg = cif->arg_types; - for (i = 0, nargs = cif->nargs; i < nargs; i++) - { - ffi_type *ty = p_arg[i]; - void *a = avalue[i]; - int tt = ty->type; - size_t z; - - switch (tt) - { - case FFI_TYPE_STRUCT: - case FFI_TYPE_LONGDOUBLE: - by_reference: - *argp++ = (unsigned long)a; - break; - - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - memcpy(argp, a, 8); - argp += 2; - break; - - case FFI_TYPE_INT: - case FFI_TYPE_FLOAT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - *argp++ = *(unsigned *)a; - break; - - case FFI_TYPE_UINT8: - *argp++ = *(UINT8 *)a; - break; - case FFI_TYPE_SINT8: - *argp++ = *(SINT8 *)a; - break; - case FFI_TYPE_UINT16: - *argp++ = *(UINT16 *)a; - break; - case FFI_TYPE_SINT16: - *argp++ = *(SINT16 *)a; - break; - - case FFI_TYPE_COMPLEX: - tt = ty->elements[0]->type; - z = ty->size; - if (tt == FFI_TYPE_FLOAT || z > 8) - goto by_reference; - if (z < 4) - { - memcpy((char *)argp + 4 - z, a, z); - argp++; - } - else - { - memcpy(argp, a, z); - argp += z / 4; - } - break; - - default: - abort(); - } - } - - return flags; -} - -static void -ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - size_t bytes = cif->bytes; - - FFI_ASSERT (cif->abi == FFI_V8); - - /* If we've not got a return value, we need to create one if we've - got to pass the return value to the callee. Otherwise ignore it. */ - if (rvalue == NULL - && (cif->flags & SPARC_FLAG_RET_MASK) == SPARC_RET_STRUCT) - bytes += FFI_ALIGN (cif->rtype->size, 8); - - ffi_call_v8(cif, fn, rvalue, avalue, -bytes, closure); -} - -void -ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} - -#ifdef __GNUC__ -static inline void -ffi_flush_icache (void *p) -{ - /* SPARC v8 requires 5 instructions for flush to be visible */ - asm volatile ("iflush %0; iflush %0+8; nop; nop; nop; nop; nop" - : : "r" (p) : "memory"); -} -#else -extern void ffi_flush_icache (void *) FFI_HIDDEN; -#endif - -extern void ffi_closure_v8(void) FFI_HIDDEN; -extern void ffi_go_closure_v8(void) FFI_HIDDEN; - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp = (unsigned int *) &closure->tramp[0]; - unsigned long ctx = (unsigned long) closure; - unsigned long fn = (unsigned long) ffi_closure_v8; - - if (cif->abi != FFI_V8) - return FFI_BAD_ABI; - - tramp[0] = 0x03000000 | fn >> 10; /* sethi %hi(fn), %g1 */ - tramp[1] = 0x05000000 | ctx >> 10; /* sethi %hi(ctx), %g2 */ - tramp[2] = 0x81c06000 | (fn & 0x3ff); /* jmp %g1+%lo(fn) */ - tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or %g2, %lo(ctx) */ - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - ffi_flush_icache (closure); - - return FFI_OK; -} - -ffi_status -ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*)) -{ - if (cif->abi != FFI_V8) - return FFI_BAD_ABI; - - closure->tramp = ffi_go_closure_v8; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -int FFI_HIDDEN -ffi_closure_sparc_inner_v8(ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, void *rvalue, - unsigned long *argp) -{ - ffi_type **arg_types; - void **avalue; - int i, nargs, flags; - - arg_types = cif->arg_types; - nargs = cif->nargs; - flags = cif->flags; - avalue = alloca(nargs * sizeof(void *)); - - /* Copy the caller's structure return address so that the closure - returns the data directly to the caller. Also install it so we - can return the address in %o0. */ - if ((flags & SPARC_FLAG_RET_MASK) == SPARC_RET_STRUCT) - { - void *new_rvalue = (void *)*argp; - *(void **)rvalue = new_rvalue; - rvalue = new_rvalue; - } - - /* Always skip the structure return address. */ - argp++; - - /* Grab the addresses of the arguments from the stack frame. */ - for (i = 0; i < nargs; i++) - { - ffi_type *ty = arg_types[i]; - int tt = ty->type; - void *a = argp; - size_t z; - - switch (tt) - { - case FFI_TYPE_STRUCT: - case FFI_TYPE_LONGDOUBLE: - by_reference: - /* Straight copy of invisible reference. */ - a = (void *)*argp; - break; - - case FFI_TYPE_DOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - if ((unsigned long)a & 7) - { - /* Align on a 8-byte boundary. */ - UINT64 *tmp = alloca(8); - *tmp = ((UINT64)argp[0] << 32) | argp[1]; - a = tmp; - } - argp++; - break; - - case FFI_TYPE_INT: - case FFI_TYPE_FLOAT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - break; - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - a += 2; - break; - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - a += 3; - break; - - case FFI_TYPE_COMPLEX: - tt = ty->elements[0]->type; - z = ty->size; - if (tt == FFI_TYPE_FLOAT || z > 8) - goto by_reference; - if (z < 4) - a += 4 - z; - else if (z > 4) - argp++; - break; - - default: - abort(); - } - argp++; - avalue[i] = a; - } - - /* Invoke the closure. */ - fun (cif, rvalue, avalue, user_data); - - /* Tell ffi_closure_sparc how to perform return type promotions. */ - return flags; -} -#endif /* !SPARC64 */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi64.c deleted file mode 100644 index 5ae43e8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi64.c +++ /dev/null @@ -1,624 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2011, 2013 Anthony Green - Copyright (c) 1996, 2003-2004, 2007-2008 Red Hat, Inc. - - SPARC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include -#include -#include "internal.h" - -/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE; - all further uses in this file will refer to the 128-bit type. */ -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -# if FFI_TYPE_LONGDOUBLE != 4 -# error FFI_TYPE_LONGDOUBLE out of date -# endif -#else -# undef FFI_TYPE_LONGDOUBLE -# define FFI_TYPE_LONGDOUBLE 4 -#endif - -#ifdef SPARC64 - -/* Flatten the contents of a structure to the parts that are passed in - floating point registers. The return is a bit mask wherein bit N - set means bytes [4*n, 4*n+3] are passed in %fN. - - We encode both the (running) size (maximum 32) and mask (maxumum 255) - into one integer. The size is placed in the low byte, so that align - and addition work correctly. The mask is placed in the second byte. */ - -static int -ffi_struct_float_mask (ffi_type *outer_type, int size_mask) -{ - ffi_type **elts; - ffi_type *t; - - if (outer_type->type == FFI_TYPE_COMPLEX) - { - int m = 0, tt = outer_type->elements[0]->type; - size_t z = outer_type->size; - - if (tt == FFI_TYPE_FLOAT - || tt == FFI_TYPE_DOUBLE - || tt == FFI_TYPE_LONGDOUBLE) - m = (1 << (z / 4)) - 1; - return (m << 8) | z; - } - FFI_ASSERT (outer_type->type == FFI_TYPE_STRUCT); - - for (elts = outer_type->elements; (t = *elts) != NULL; elts++) - { - size_t z = t->size; - int o, m, tt; - - size_mask = FFI_ALIGN(size_mask, t->alignment); - switch (t->type) - { - case FFI_TYPE_STRUCT: - size_mask = ffi_struct_float_mask (t, size_mask); - continue; - case FFI_TYPE_COMPLEX: - tt = t->elements[0]->type; - if (tt != FFI_TYPE_FLOAT - && tt != FFI_TYPE_DOUBLE - && tt != FFI_TYPE_LONGDOUBLE) - break; - /* FALLTHRU */ - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - m = (1 << (z / 4)) - 1; /* compute mask for type */ - o = (size_mask >> 2) & 0x3f; /* extract word offset */ - size_mask |= m << (o + 8); /* insert mask into place */ - break; - } - size_mask += z; - } - - size_mask = FFI_ALIGN(size_mask, outer_type->alignment); - FFI_ASSERT ((size_mask & 0xff) == outer_type->size); - - return size_mask; -} - -/* Merge floating point data into integer data. If the structure is - entirely floating point, simply return a pointer to the fp data. */ - -static void * -ffi_struct_float_merge (int size_mask, void *vi, void *vf) -{ - int size = size_mask & 0xff; - int mask = size_mask >> 8; - int n = size >> 2; - - if (mask == 0) - return vi; - else if (mask == (1 << n) - 1) - return vf; - else - { - unsigned int *wi = vi, *wf = vf; - int i; - - for (i = 0; i < n; ++i) - if ((mask >> i) & 1) - wi[i] = wf[i]; - - return vi; - } -} - -/* Similar, but place the data into VD in the end. */ - -void FFI_HIDDEN -ffi_struct_float_copy (int size_mask, void *vd, void *vi, void *vf) -{ - int size = size_mask & 0xff; - int mask = size_mask >> 8; - int n = size >> 2; - - if (mask == 0) - ; - else if (mask == (1 << n) - 1) - vi = vf; - else - { - unsigned int *wd = vd, *wi = vi, *wf = vf; - int i; - - for (i = 0; i < n; ++i) - wd[i] = ((mask >> i) & 1 ? wf : wi)[i]; - return; - } - memcpy (vd, vi, size); -} - -/* Perform machine dependent cif processing */ - -static ffi_status -ffi_prep_cif_machdep_core(ffi_cif *cif) -{ - ffi_type *rtype = cif->rtype; - int rtt = rtype->type; - size_t bytes = 0; - int i, n, flags; - - /* Set the return type flag */ - switch (rtt) - { - case FFI_TYPE_VOID: - flags = SPARC_RET_VOID; - break; - case FFI_TYPE_FLOAT: - flags = SPARC_RET_F_1; - break; - case FFI_TYPE_DOUBLE: - flags = SPARC_RET_F_2; - break; - case FFI_TYPE_LONGDOUBLE: - flags = SPARC_RET_F_4; - break; - - case FFI_TYPE_COMPLEX: - case FFI_TYPE_STRUCT: - if (rtype->size > 32) - { - flags = SPARC_RET_VOID | SPARC_FLAG_RET_IN_MEM; - bytes = 8; - } - else - { - int size_mask = ffi_struct_float_mask (rtype, 0); - int word_size = (size_mask >> 2) & 0x3f; - int all_mask = (1 << word_size) - 1; - int fp_mask = size_mask >> 8; - - flags = (size_mask << SPARC_SIZEMASK_SHIFT) | SPARC_RET_STRUCT; - - /* For special cases of all-int or all-fp, we can return - the value directly without popping through a struct copy. */ - if (fp_mask == 0) - { - if (rtype->alignment >= 8) - { - if (rtype->size == 8) - flags = SPARC_RET_INT64; - else if (rtype->size == 16) - flags = SPARC_RET_INT128; - } - } - else if (fp_mask == all_mask) - switch (word_size) - { - case 1: flags = SPARC_RET_F_1; break; - case 2: flags = SPARC_RET_F_2; break; - case 3: flags = SP_V9_RET_F_3; break; - case 4: flags = SPARC_RET_F_4; break; - /* 5 word structures skipped; handled via RET_STRUCT. */ - case 6: flags = SPARC_RET_F_6; break; - /* 7 word structures skipped; handled via RET_STRUCT. */ - case 8: flags = SPARC_RET_F_8; break; - } - } - break; - - case FFI_TYPE_SINT8: - flags = SPARC_RET_SINT8; - break; - case FFI_TYPE_UINT8: - flags = SPARC_RET_UINT8; - break; - case FFI_TYPE_SINT16: - flags = SPARC_RET_SINT16; - break; - case FFI_TYPE_UINT16: - flags = SPARC_RET_UINT16; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - flags = SP_V9_RET_SINT32; - break; - case FFI_TYPE_UINT32: - flags = SPARC_RET_UINT32; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - flags = SPARC_RET_INT64; - break; - - default: - abort(); - } - - bytes = 0; - for (i = 0, n = cif->nargs; i < n; ++i) - { - ffi_type *ty = cif->arg_types[i]; - size_t z = ty->size; - size_t a = ty->alignment; - - switch (ty->type) - { - case FFI_TYPE_COMPLEX: - case FFI_TYPE_STRUCT: - /* Large structs passed by reference. */ - if (z > 16) - { - a = z = 8; - break; - } - /* Small structs may be passed in integer or fp regs or both. */ - if (bytes >= 16*8) - break; - if ((ffi_struct_float_mask (ty, 0) & 0xff00) == 0) - break; - /* FALLTHRU */ - case FFI_TYPE_FLOAT: - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - flags |= SPARC_FLAG_FP_ARGS; - break; - } - bytes = FFI_ALIGN(bytes, a); - bytes += FFI_ALIGN(z, 8); - } - - /* Sparc call frames require that space is allocated for 6 args, - even if they aren't used. Make that space if necessary. */ - if (bytes < 6 * 8) - bytes = 6 * 8; - - /* The stack must be 2 word aligned, so round bytes up appropriately. */ - bytes = FFI_ALIGN(bytes, 16); - - /* Include the call frame to prep_args. */ - bytes += 8*16 + 8*8; - - cif->bytes = bytes; - cif->flags = flags; - return FFI_OK; -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep(ffi_cif *cif) -{ - cif->nfixedargs = cif->nargs; - return ffi_prep_cif_machdep_core(cif); -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned nfixedargs, unsigned ntotalargs) -{ - cif->nfixedargs = nfixedargs; - return ffi_prep_cif_machdep_core(cif); -} - -extern void ffi_call_v9(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, size_t bytes, void *closure) FFI_HIDDEN; - -/* ffi_prep_args is called by the assembly routine once stack space - has been allocated for the function's arguments */ - -int FFI_HIDDEN -ffi_prep_args_v9(ffi_cif *cif, unsigned long *argp, void *rvalue, void **avalue) -{ - ffi_type **p_arg; - int flags = cif->flags; - int i, nargs; - - if (rvalue == NULL) - { - if (flags & SPARC_FLAG_RET_IN_MEM) - { - /* Since we pass the pointer to the callee, we need a value. - We allowed for this space in ffi_call, before ffi_call_v8 - alloca'd the space. */ - rvalue = (char *)argp + cif->bytes; - } - else - { - /* Otherwise, we can ignore the return value. */ - flags = SPARC_RET_VOID; - } - } - -#ifdef USING_PURIFY - /* Purify will probably complain in our assembly routine, - unless we zero out this memory. */ - memset(argp, 0, 6*8); -#endif - - if (flags & SPARC_FLAG_RET_IN_MEM) - *argp++ = (unsigned long)rvalue; - - p_arg = cif->arg_types; - for (i = 0, nargs = cif->nargs; i < nargs; i++) - { - ffi_type *ty = p_arg[i]; - void *a = avalue[i]; - size_t z; - - switch (ty->type) - { - case FFI_TYPE_SINT8: - *argp++ = *(SINT8 *)a; - break; - case FFI_TYPE_UINT8: - *argp++ = *(UINT8 *)a; - break; - case FFI_TYPE_SINT16: - *argp++ = *(SINT16 *)a; - break; - case FFI_TYPE_UINT16: - *argp++ = *(UINT16 *)a; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - *argp++ = *(SINT32 *)a; - break; - case FFI_TYPE_UINT32: - case FFI_TYPE_FLOAT: - *argp++ = *(UINT32 *)a; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_POINTER: - case FFI_TYPE_DOUBLE: - *argp++ = *(UINT64 *)a; - break; - - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_COMPLEX: - case FFI_TYPE_STRUCT: - z = ty->size; - if (z > 16) - { - /* For structures larger than 16 bytes we pass reference. */ - *argp++ = (unsigned long)a; - break; - } - if (((unsigned long)argp & 15) && ty->alignment > 8) - argp++; - memcpy(argp, a, z); - argp += FFI_ALIGN(z, 8) / 8; - break; - - default: - abort(); - } - } - - return flags; -} - -static void -ffi_call_int(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - size_t bytes = cif->bytes; - size_t i, nargs = cif->nargs; - ffi_type **arg_types = cif->arg_types; - - FFI_ASSERT (cif->abi == FFI_V9); - - if (rvalue == NULL && (cif->flags & SPARC_FLAG_RET_IN_MEM)) - bytes += FFI_ALIGN (cif->rtype->size, 16); - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - for (i = 0; i < nargs; i++) - { - ffi_type *at = arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT && size > 4) - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - - ffi_call_v9(cif, fn, rvalue, avalue, -bytes, closure); -} - -void -ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int(cif, fn, rvalue, avalue, NULL); -} - -void -ffi_call_go(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int(cif, fn, rvalue, avalue, closure); -} - -#ifdef __GNUC__ -static inline void -ffi_flush_icache (void *p) -{ - asm volatile ("flush %0; flush %0+8" : : "r" (p) : "memory"); -} -#else -extern void ffi_flush_icache (void *) FFI_HIDDEN; -#endif - -extern void ffi_closure_v9(void) FFI_HIDDEN; -extern void ffi_go_closure_v9(void) FFI_HIDDEN; - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - unsigned int *tramp = (unsigned int *) &closure->tramp[0]; - unsigned long fn; - - if (cif->abi != FFI_V9) - return FFI_BAD_ABI; - - /* Trampoline address is equal to the closure address. We take advantage - of that to reduce the trampoline size by 8 bytes. */ - fn = (unsigned long) ffi_closure_v9; - tramp[0] = 0x83414000; /* rd %pc, %g1 */ - tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */ - tramp[2] = 0x81c14000; /* jmp %g5 */ - tramp[3] = 0x01000000; /* nop */ - *((unsigned long *) &tramp[4]) = fn; - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - ffi_flush_icache (closure); - - return FFI_OK; -} - -ffi_status -ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*)) -{ - if (cif->abi != FFI_V9) - return FFI_BAD_ABI; - - closure->tramp = ffi_go_closure_v9; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -int FFI_HIDDEN -ffi_closure_sparc_inner_v9(ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, void *rvalue, - unsigned long *gpr, unsigned long *fpr) -{ - ffi_type **arg_types; - void **avalue; - int i, argn, argx, nargs, flags, nfixedargs; - - arg_types = cif->arg_types; - nargs = cif->nargs; - flags = cif->flags; - nfixedargs = cif->nfixedargs; - - avalue = alloca(nargs * sizeof(void *)); - - /* Copy the caller's structure return address so that the closure - returns the data directly to the caller. */ - if (flags & SPARC_FLAG_RET_IN_MEM) - { - rvalue = (void *) gpr[0]; - /* Skip the structure return address. */ - argn = 1; - } - else - argn = 0; - - /* Grab the addresses of the arguments from the stack frame. */ - for (i = 0; i < nargs; i++, argn = argx) - { - int named = i < nfixedargs; - ffi_type *ty = arg_types[i]; - void *a = &gpr[argn]; - size_t z; - - argx = argn + 1; - switch (ty->type) - { - case FFI_TYPE_COMPLEX: - case FFI_TYPE_STRUCT: - z = ty->size; - if (z > 16) - a = *(void **)a; - else - { - argx = argn + FFI_ALIGN (z, 8) / 8; - if (named && argn < 16) - { - int size_mask = ffi_struct_float_mask (ty, 0); - int argn_mask = (0xffff00 >> argn) & 0xff00; - - /* Eliminate fp registers off the end. */ - size_mask = (size_mask & 0xff) | (size_mask & argn_mask); - a = ffi_struct_float_merge (size_mask, gpr+argn, fpr+argn); - } - } - break; - - case FFI_TYPE_LONGDOUBLE: - argn = FFI_ALIGN (argn, 2); - a = (named && argn < 16 ? fpr : gpr) + argn; - argx = argn + 2; - break; - case FFI_TYPE_DOUBLE: - if (named && argn < 16) - a = fpr + argn; - break; - case FFI_TYPE_FLOAT: - if (named && argn < 16) - a = fpr + argn; - a += 4; - break; - - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - a += 4; - break; - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - a += 6; - break; - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - a += 7; - break; - - default: - abort(); - } - avalue[i] = a; - } - - /* Invoke the closure. */ - fun (cif, rvalue, avalue, user_data); - - /* Tell ffi_closure_sparc how to perform return type promotions. */ - return flags; -} -#endif /* SPARC64 */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffitarget.h deleted file mode 100644 index 2f4cd9a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffitarget.h +++ /dev/null @@ -1,81 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Anthony Green - Copyright (c) 1996-2003 Red Hat, Inc. - Target configuration macros for SPARC. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -#if defined(__arch64__) || defined(__sparcv9) -#ifndef SPARC64 -#define SPARC64 -#endif -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, -#ifdef SPARC64 - FFI_V9, - FFI_DEFAULT_ABI = FFI_V9, -#else - FFI_V8, - FFI_DEFAULT_ABI = FFI_V8, -#endif - FFI_LAST_ABI -} ffi_abi; -#endif - -#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION 1 -#define FFI_TARGET_HAS_COMPLEX_TYPE 1 - -#ifdef SPARC64 -# define FFI_TARGET_SPECIFIC_VARIADIC 1 -# define FFI_EXTRA_CIF_FIELDS unsigned int nfixedargs -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 - -#ifdef SPARC64 -#define FFI_TRAMPOLINE_SIZE 24 -#else -#define FFI_TRAMPOLINE_SIZE 16 -#endif - -#endif - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/internal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/internal.h deleted file mode 100644 index 0a66472..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/internal.h +++ /dev/null @@ -1,26 +0,0 @@ -#define SPARC_RET_VOID 0 -#define SPARC_RET_STRUCT 1 -#define SPARC_RET_UINT8 2 -#define SPARC_RET_SINT8 3 -#define SPARC_RET_UINT16 4 -#define SPARC_RET_SINT16 5 -#define SPARC_RET_UINT32 6 -#define SP_V9_RET_SINT32 7 /* v9 only */ -#define SP_V8_RET_CPLX16 7 /* v8 only */ -#define SPARC_RET_INT64 8 -#define SPARC_RET_INT128 9 - -/* Note that F_7 is missing, and is handled by SPARC_RET_STRUCT. */ -#define SPARC_RET_F_8 10 -#define SPARC_RET_F_6 11 -#define SPARC_RET_F_4 12 -#define SPARC_RET_F_2 13 -#define SP_V9_RET_F_3 14 /* v9 only */ -#define SP_V8_RET_CPLX8 14 /* v8 only */ -#define SPARC_RET_F_1 15 - -#define SPARC_FLAG_RET_MASK 15 -#define SPARC_FLAG_RET_IN_MEM 32 -#define SPARC_FLAG_FP_ARGS 64 - -#define SPARC_SIZEMASK_SHIFT 8 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v8.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v8.S deleted file mode 100644 index a2e4908..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v8.S +++ /dev/null @@ -1,443 +0,0 @@ -/* ----------------------------------------------------------------------- - v8.S - Copyright (c) 2013 The Written Word, Inc. - Copyright (c) 1996, 1997, 2003, 2004, 2008 Red Hat, Inc. - - SPARC Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#include "internal.h" - -#ifndef SPARC64 - -#define C2(X, Y) X ## Y -#define C1(X, Y) C2(X, Y) - -#ifdef __USER_LABEL_PREFIX__ -# define C(Y) C1(__USER_LABEL_PREFIX__, Y) -#else -# define C(Y) Y -#endif -#define L(Y) C1(.L, Y) - - .text - -#ifndef __GNUC__ - .align 8 - .globl C(ffi_flush_icache) - .type C(ffi_flush_icache),#function - FFI_HIDDEN(C(ffi_flush_icache)) - -C(ffi_flush_icache): -1: iflush %o0 - iflush %o+8 - nop - nop - nop - nop - nop - retl - nop - .size C(ffi_flush_icache), . - C(ffi_flush_icache) -#endif - -#if defined(__sun__) && defined(__svr4__) -# define E(INDEX) .align 16 -#else -# define E(INDEX) .align 16; .org 2b + INDEX * 16 -#endif - - .align 8 - .globl C(ffi_call_v8) - .type C(ffi_call_v8),#function - FFI_HIDDEN(C(ffi_call_v8)) - -C(ffi_call_v8): -.LUW0: - ! Allocate a stack frame sized by ffi_call. - save %sp, %o4, %sp -.LUW1: - mov %i0, %o0 ! copy cif - add %sp, 64+32, %o1 ! load args area - mov %i2, %o2 ! copy rvalue - call C(ffi_prep_args_v8) - mov %i3, %o3 ! copy avalue - - add %sp, 32, %sp ! deallocate prep frame - and %o0, SPARC_FLAG_RET_MASK, %l0 ! save return type - srl %o0, SPARC_SIZEMASK_SHIFT, %l1 ! save return size - ld [%sp+64+4], %o0 ! load all argument registers - ld [%sp+64+8], %o1 - ld [%sp+64+12], %o2 - ld [%sp+64+16], %o3 - cmp %l0, SPARC_RET_STRUCT ! struct return needs an unimp 4 - ld [%sp+64+20], %o4 - be 8f - ld [%sp+64+24], %o5 - - ! Call foreign function - call %i1 - mov %i5, %g2 ! load static chain - -0: call 1f ! load pc in %o7 - sll %l0, 4, %l0 -1: add %o7, %l0, %o7 ! o7 = 0b + ret_type*16 - jmp %o7+(2f-0b) - nop - - ! Note that each entry is 4 insns, enforced by the E macro. - .align 16 -2: -E(SPARC_RET_VOID) - ret - restore -E(SPARC_RET_STRUCT) - unimp -E(SPARC_RET_UINT8) - and %o0, 0xff, %o0 - st %o0, [%i2] - ret - restore -E(SPARC_RET_SINT8) - sll %o0, 24, %o0 - b 7f - sra %o0, 24, %o0 -E(SPARC_RET_UINT16) - sll %o0, 16, %o0 - b 7f - srl %o0, 16, %o0 -E(SPARC_RET_SINT16) - sll %o0, 16, %o0 - b 7f - sra %o0, 16, %o0 -E(SPARC_RET_UINT32) -7: st %o0, [%i2] - ret - restore -E(SP_V8_RET_CPLX16) - sth %o0, [%i2+2] - b 9f - srl %o0, 16, %o0 -E(SPARC_RET_INT64) - st %o0, [%i2] - st %o1, [%i2+4] - ret - restore -E(SPARC_RET_INT128) - std %o0, [%i2] - std %o2, [%i2+8] - ret - restore -E(SPARC_RET_F_8) - st %f7, [%i2+7*4] - nop - st %f6, [%i2+6*4] - nop -E(SPARC_RET_F_6) - st %f5, [%i2+5*4] - nop - st %f4, [%i2+4*4] - nop -E(SPARC_RET_F_4) - st %f3, [%i2+3*4] - nop - st %f2, [%i2+2*4] - nop -E(SPARC_RET_F_2) - st %f1, [%i2+4] - st %f0, [%i2] - ret - restore -E(SP_V8_RET_CPLX8) - stb %o0, [%i2+1] - b 0f - srl %o0, 8, %o0 -E(SPARC_RET_F_1) - st %f0, [%i2] - ret - restore - - .align 8 -9: sth %o0, [%i2] - ret - restore - .align 8 -0: stb %o0, [%i2] - ret - restore - - ! Struct returning functions expect and skip the unimp here. - ! To make it worse, conforming callees examine the unimp and - ! make sure the low 12 bits of the unimp match the size of - ! the struct being returned. - .align 8 -8: call 1f ! load pc in %o7 - sll %l1, 2, %l0 ! size * 4 -1: sll %l1, 4, %l1 ! size * 16 - add %l0, %l1, %l0 ! size * 20 - add %o7, %l0, %o7 ! o7 = 8b + size*20 - jmp %o7+(2f-8b) - mov %i5, %g2 ! load static chain -2: - -/* The Sun assembler doesn't understand .rept 0x1000. */ -#define rept1 \ - call %i1; \ - nop; \ - unimp (. - 2b) / 20; \ - ret; \ - restore - -#define rept16 \ - rept1; rept1; rept1; rept1; \ - rept1; rept1; rept1; rept1; \ - rept1; rept1; rept1; rept1; \ - rept1; rept1; rept1; rept1 - -#define rept256 \ - rept16; rept16; rept16; rept16; \ - rept16; rept16; rept16; rept16; \ - rept16; rept16; rept16; rept16; \ - rept16; rept16; rept16; rept16 - - rept256; rept256; rept256; rept256 - rept256; rept256; rept256; rept256 - rept256; rept256; rept256; rept256 - rept256; rept256; rept256; rept256 - -.LUW2: - .size C(ffi_call_v8),. - C(ffi_call_v8) - - -/* 16*4 register window + 1*4 struct return + 6*4 args backing store - + 8*4 return storage + 1*4 alignment. */ -#define STACKFRAME (16*4 + 4 + 6*4 + 8*4 + 4) - -/* ffi_closure_v8(...) - - Receives the closure argument in %g2. */ - -#ifdef HAVE_AS_REGISTER_PSEUDO_OP - .register %g2, #scratch -#endif - - .align 8 - .globl C(ffi_go_closure_v8) - .type C(ffi_go_closure_v8),#function - FFI_HIDDEN(C(ffi_go_closure_v8)) - -C(ffi_go_closure_v8): -.LUW3: - save %sp, -STACKFRAME, %sp -.LUW4: - ld [%g2+4], %o0 ! load cif - ld [%g2+8], %o1 ! load fun - b 0f - mov %g2, %o2 ! load user_data -.LUW5: - .size C(ffi_go_closure_v8), . - C(ffi_go_closure_v8) - - .align 8 - .globl C(ffi_closure_v8) - .type C(ffi_closure_v8),#function - FFI_HIDDEN(C(ffi_closure_v8)) - -C(ffi_closure_v8): -.LUW6: - save %sp, -STACKFRAME, %sp -.LUW7: - ld [%g2+FFI_TRAMPOLINE_SIZE], %o0 ! load cif - ld [%g2+FFI_TRAMPOLINE_SIZE+4], %o1 ! load fun - ld [%g2+FFI_TRAMPOLINE_SIZE+8], %o2 ! load user_data -0: - ! Store all of the potential argument registers in va_list format. - st %i0, [%fp+68+0] - st %i1, [%fp+68+4] - st %i2, [%fp+68+8] - st %i3, [%fp+68+12] - st %i4, [%fp+68+16] - st %i5, [%fp+68+20] - - ! Call ffi_closure_sparc_inner to do the bulk of the work. - add %fp, -8*4, %o3 - call ffi_closure_sparc_inner_v8 - add %fp, 64, %o4 - -0: call 1f - and %o0, SPARC_FLAG_RET_MASK, %o0 -1: sll %o0, 4, %o0 ! o0 = o0 * 16 - add %o7, %o0, %o7 ! o7 = 0b + o0*16 - jmp %o7+(2f-0b) - add %fp, -8*4, %i2 - - ! Note that each entry is 4 insns, enforced by the E macro. - .align 16 -2: -E(SPARC_RET_VOID) - ret - restore -E(SPARC_RET_STRUCT) - ld [%i2], %i0 - jmp %i7+12 - restore -E(SPARC_RET_UINT8) - ldub [%i2+3], %i0 - ret - restore -E(SPARC_RET_SINT8) - ldsb [%i2+3], %i0 - ret - restore -E(SPARC_RET_UINT16) - lduh [%i2+2], %i0 - ret - restore -E(SPARC_RET_SINT16) - ldsh [%i2+2], %i0 - ret - restore -E(SPARC_RET_UINT32) - ld [%i2], %i0 - ret - restore -E(SP_V8_RET_CPLX16) - ld [%i2], %i0 - ret - restore -E(SPARC_RET_INT64) - ldd [%i2], %i0 - ret - restore -E(SPARC_RET_INT128) - ldd [%i2], %i0 - ldd [%i2+8], %i2 - ret - restore -E(SPARC_RET_F_8) - ld [%i2+7*4], %f7 - nop - ld [%i2+6*4], %f6 - nop -E(SPARC_RET_F_6) - ld [%i2+5*4], %f5 - nop - ld [%i2+4*4], %f4 - nop -E(SPARC_RET_F_4) - ld [%i2+3*4], %f3 - nop - ld [%i2+2*4], %f2 - nop -E(SPARC_RET_F_2) - ldd [%i2], %f0 - ret - restore -E(SP_V8_RET_CPLX8) - lduh [%i2], %i0 - ret - restore -E(SPARC_RET_F_1) - ld [%i2], %f0 - ret - restore - -.LUW8: - .size C(ffi_closure_v8), . - C(ffi_closure_v8) - -#ifdef HAVE_RO_EH_FRAME - .section ".eh_frame",#alloc -#else - .section ".eh_frame",#alloc,#write -#endif - -#ifdef HAVE_AS_SPARC_UA_PCREL -# define FDE_ADDR(X) %r_disp32(X) -#else -# define FDE_ADDR(X) X -#endif - - .align 4 -.LCIE: - .long .LECIE - .LSCIE ! CIE Length -.LSCIE: - .long 0 ! CIE Identifier Tag - .byte 1 ! CIE Version - .ascii "zR\0" ! CIE Augmentation - .byte 4 ! CIE Code Alignment Factor - .byte 0x7c ! CIE Data Alignment Factor - .byte 15 ! CIE RA Column - .byte 1 ! Augmentation size -#ifdef HAVE_AS_SPARC_UA_PCREL - .byte 0x1b ! FDE Encoding (pcrel sdata4) -#else - .byte 0x50 ! FDE Encoding (aligned absolute) -#endif - .byte 0xc, 14, 0 ! DW_CFA_def_cfa, %o6, offset 0 - .align 4 -.LECIE: - - .long .LEFDE1 - .LSFDE1 ! FDE Length -.LSFDE1: - .long .LSFDE1 - .LCIE ! FDE CIE offset - .long FDE_ADDR(.LUW0) ! Initial location - .long .LUW2 - .LUW0 ! Address range - .byte 0 ! Augmentation size - .byte 0x40+1 ! DW_CFA_advance_loc 4 - .byte 0xd, 30 ! DW_CFA_def_cfa_register, %i6 - .byte 0x2d ! DW_CFA_GNU_window_save - .byte 0x9, 15, 31 ! DW_CFA_register, %o7, %i7 - .align 4 -.LEFDE1: - - .long .LEFDE2 - .LSFDE2 ! FDE Length -.LSFDE2: - .long .LSFDE2 - .LCIE ! FDE CIE offset - .long FDE_ADDR(.LUW3) ! Initial location - .long .LUW5 - .LUW3 ! Address range - .byte 0 ! Augmentation size - .byte 0x40+1 ! DW_CFA_advance_loc 4 - .byte 0xd, 30 ! DW_CFA_def_cfa_register, %i6 - .byte 0x2d ! DW_CFA_GNU_window_save - .byte 0x9, 15, 31 ! DW_CFA_register, %o7, %i7 - .align 4 -.LEFDE2: - - .long .LEFDE3 - .LSFDE3 ! FDE Length -.LSFDE3: - .long .LSFDE3 - .LCIE ! FDE CIE offset - .long FDE_ADDR(.LUW6) ! Initial location - .long .LUW8 - .LUW6 ! Address range - .byte 0 ! Augmentation size - .byte 0x40+1 ! DW_CFA_advance_loc 4 - .byte 0xd, 30 ! DW_CFA_def_cfa_register, %i6 - .byte 0x2d ! DW_CFA_GNU_window_save - .byte 0x9, 15, 31 ! DW_CFA_register, %o7, %i7 - .align 4 -.LEFDE3: - -#endif /* !SPARC64 */ -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v9.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v9.S deleted file mode 100644 index 55f8f43..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v9.S +++ /dev/null @@ -1,440 +0,0 @@ -/* ----------------------------------------------------------------------- - v9.S - Copyright (c) 2000, 2003, 2004, 2008 Red Hat, Inc. - - SPARC 64-bit Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include -#include "internal.h" - -#ifdef SPARC64 - -#define C2(X, Y) X ## Y -#define C1(X, Y) C2(X, Y) - -#ifdef __USER_LABEL_PREFIX__ -# define C(Y) C1(__USER_LABEL_PREFIX__, Y) -#else -# define C(Y) Y -#endif -#define L(Y) C1(.L, Y) - -#if defined(__sun__) && defined(__svr4__) -# define E(INDEX) .align 16 -#else -# define E(INDEX) .align 16; .org 2b + INDEX * 16 -#endif - -#define STACK_BIAS 2047 - - .text - .align 8 - .globl C(ffi_call_v9) - .type C(ffi_call_v9),#function - FFI_HIDDEN(C(ffi_call_v9)) - -C(ffi_call_v9): -.LUW0: - save %sp, %o4, %sp -.LUW1: - mov %i0, %o0 ! copy cif - add %sp, STACK_BIAS+128+48, %o1 ! load args area - mov %i2, %o2 ! copy rvalue - call C(ffi_prep_args_v9) - mov %i3, %o3 ! copy avalue - - andcc %o0, SPARC_FLAG_FP_ARGS, %g0 ! need fp regs? - add %sp, 48, %sp ! deallocate prep frame - be,pt %xcc, 1f - mov %o0, %l0 ! save flags - - ldd [%sp+STACK_BIAS+128], %f0 ! load all fp arg regs - ldd [%sp+STACK_BIAS+128+8], %f2 - ldd [%sp+STACK_BIAS+128+16], %f4 - ldd [%sp+STACK_BIAS+128+24], %f6 - ldd [%sp+STACK_BIAS+128+32], %f8 - ldd [%sp+STACK_BIAS+128+40], %f10 - ldd [%sp+STACK_BIAS+128+48], %f12 - ldd [%sp+STACK_BIAS+128+56], %f14 - ldd [%sp+STACK_BIAS+128+64], %f16 - ldd [%sp+STACK_BIAS+128+72], %f18 - ldd [%sp+STACK_BIAS+128+80], %f20 - ldd [%sp+STACK_BIAS+128+88], %f22 - ldd [%sp+STACK_BIAS+128+96], %f24 - ldd [%sp+STACK_BIAS+128+104], %f26 - ldd [%sp+STACK_BIAS+128+112], %f28 - ldd [%sp+STACK_BIAS+128+120], %f30 - -1: ldx [%sp+STACK_BIAS+128], %o0 ! load all int arg regs - ldx [%sp+STACK_BIAS+128+8], %o1 - ldx [%sp+STACK_BIAS+128+16], %o2 - ldx [%sp+STACK_BIAS+128+24], %o3 - ldx [%sp+STACK_BIAS+128+32], %o4 - ldx [%sp+STACK_BIAS+128+40], %o5 - call %i1 - mov %i5, %g5 ! load static chain - -0: call 1f ! load pc in %o7 - and %l0, SPARC_FLAG_RET_MASK, %l1 -1: sll %l1, 4, %l1 - add %o7, %l1, %o7 ! o7 = 0b + ret_type*16 - jmp %o7+(2f-0b) - nop - - .align 16 -2: -E(SPARC_RET_VOID) - return %i7+8 - nop -E(SPARC_RET_STRUCT) - add %sp, STACK_BIAS-64+128+48, %l2 - sub %sp, 64, %sp - b 8f - stx %o0, [%l2] -E(SPARC_RET_UINT8) - and %o0, 0xff, %i0 - return %i7+8 - stx %o0, [%o2] -E(SPARC_RET_SINT8) - sll %o0, 24, %o0 - sra %o0, 24, %i0 - return %i7+8 - stx %o0, [%o2] -E(SPARC_RET_UINT16) - sll %o0, 16, %o0 - srl %o0, 16, %i0 - return %i7+8 - stx %o0, [%o2] -E(SPARC_RET_SINT16) - sll %o0, 16, %o0 - sra %o0, 16, %i0 - return %i7+8 - stx %o0, [%o2] -E(SPARC_RET_UINT32) - srl %o0, 0, %i0 - return %i7+8 - stx %o0, [%o2] -E(SP_V9_RET_SINT32) - sra %o0, 0, %i0 - return %i7+8 - stx %o0, [%o2] -E(SPARC_RET_INT64) - stx %o0, [%i2] - return %i7+8 - nop -E(SPARC_RET_INT128) - stx %o0, [%i2] - stx %o1, [%i2+8] - return %i7+8 - nop -E(SPARC_RET_F_8) - st %f7, [%i2+7*4] - nop - st %f6, [%i2+6*4] - nop -E(SPARC_RET_F_6) - st %f5, [%i2+5*4] - nop - st %f4, [%i2+4*4] - nop -E(SPARC_RET_F_4) - std %f2, [%i2+2*4] - return %i7+8 - std %f0, [%o2] -E(SPARC_RET_F_2) - return %i7+8 - std %f0, [%o2] -E(SP_V9_RET_F_3) - st %f2, [%i2+2*4] - nop - st %f1, [%i2+1*4] - nop -E(SPARC_RET_F_1) - return %i7+8 - st %f0, [%o2] - - ! Finish the SPARC_RET_STRUCT sequence. - .align 8 -8: stx %o1, [%l2+8] - stx %o2, [%l2+16] - stx %o3, [%l2+24] - std %f0, [%l2+32] - std %f2, [%l2+40] - std %f4, [%l2+48] - std %f6, [%l2+56] - - ! Copy the structure into place. - srl %l0, SPARC_SIZEMASK_SHIFT, %o0 ! load size_mask - mov %i2, %o1 ! load dst - mov %l2, %o2 ! load src_gp - call C(ffi_struct_float_copy) - add %l2, 32, %o3 ! load src_fp - - return %i7+8 - nop - -.LUW2: - .size C(ffi_call_v9), . - C(ffi_call_v9) - - -#undef STACKFRAME -#define STACKFRAME 336 /* 16*8 register window + - 6*8 args backing store + - 20*8 locals */ -#define FP %fp+STACK_BIAS - -/* ffi_closure_v9(...) - - Receives the closure argument in %g1. */ - - .align 8 - .globl C(ffi_go_closure_v9) - .type C(ffi_go_closure_v9),#function - FFI_HIDDEN(C(ffi_go_closure_v9)) - -C(ffi_go_closure_v9): -.LUW3: - save %sp, -STACKFRAME, %sp -.LUW4: - ldx [%g5+8], %o0 - ldx [%g5+16], %o1 - b 0f - mov %g5, %o2 - -.LUW5: - .size C(ffi_go_closure_v9), . - C(ffi_go_closure_v9) - - .align 8 - .globl C(ffi_closure_v9) - .type C(ffi_closure_v9),#function - FFI_HIDDEN(C(ffi_closure_v9)) - -C(ffi_closure_v9): -.LUW6: - save %sp, -STACKFRAME, %sp -.LUW7: - ldx [%g1+FFI_TRAMPOLINE_SIZE], %o0 - ldx [%g1+FFI_TRAMPOLINE_SIZE+8], %o1 - ldx [%g1+FFI_TRAMPOLINE_SIZE+16], %o2 -0: - ! Store all of the potential argument registers in va_list format. - stx %i0, [FP+128+0] - stx %i1, [FP+128+8] - stx %i2, [FP+128+16] - stx %i3, [FP+128+24] - stx %i4, [FP+128+32] - stx %i5, [FP+128+40] - - ! Store possible floating point argument registers too. - std %f0, [FP-128] - std %f2, [FP-120] - std %f4, [FP-112] - std %f6, [FP-104] - std %f8, [FP-96] - std %f10, [FP-88] - std %f12, [FP-80] - std %f14, [FP-72] - std %f16, [FP-64] - std %f18, [FP-56] - std %f20, [FP-48] - std %f22, [FP-40] - std %f24, [FP-32] - std %f26, [FP-24] - std %f28, [FP-16] - std %f30, [FP-8] - - ! Call ffi_closure_sparc_inner to do the bulk of the work. - add %fp, STACK_BIAS-160, %o3 - add %fp, STACK_BIAS+128, %o4 - call C(ffi_closure_sparc_inner_v9) - add %fp, STACK_BIAS-128, %o5 - -0: call 1f ! load pc in %o7 - and %o0, SPARC_FLAG_RET_MASK, %o0 -1: sll %o0, 4, %o0 ! o2 = i2 * 16 - add %o7, %o0, %o7 ! o7 = 0b + i2*16 - jmp %o7+(2f-0b) - nop - - ! Note that we cannot load the data in the delay slot of - ! the return insn because the data is in the stack frame - ! that is deallocated by the return. - .align 16 -2: -E(SPARC_RET_VOID) - return %i7+8 - nop -E(SPARC_RET_STRUCT) - ldx [FP-160], %i0 - ldd [FP-160], %f0 - b 8f - ldx [FP-152], %i1 -E(SPARC_RET_UINT8) - ldub [FP-160+7], %i0 - return %i7+8 - nop -E(SPARC_RET_SINT8) - ldsb [FP-160+7], %i0 - return %i7+8 - nop -E(SPARC_RET_UINT16) - lduh [FP-160+6], %i0 - return %i7+8 - nop -E(SPARC_RET_SINT16) - ldsh [FP-160+6], %i0 - return %i7+8 - nop -E(SPARC_RET_UINT32) - lduw [FP-160+4], %i0 - return %i7+8 - nop -E(SP_V9_RET_SINT32) - ldsw [FP-160+4], %i0 - return %i7+8 - nop -E(SPARC_RET_INT64) - ldx [FP-160], %i0 - return %i7+8 - nop -E(SPARC_RET_INT128) - ldx [FP-160], %i0 - ldx [FP-160+8], %i1 - return %i7+8 - nop -E(SPARC_RET_F_8) - ld [FP-160+7*4], %f7 - nop - ld [FP-160+6*4], %f6 - nop -E(SPARC_RET_F_6) - ld [FP-160+5*4], %f5 - nop - ld [FP-160+4*4], %f4 - nop -E(SPARC_RET_F_4) - ldd [FP-160], %f0 - ldd [FP-160+8], %f2 - return %i7+8 - nop -E(SPARC_RET_F_2) - ldd [FP-160], %f0 - return %i7+8 - nop -E(SP_V9_RET_F_3) - ld [FP-160+2*4], %f2 - nop - ld [FP-160+1*4], %f1 - nop -E(SPARC_RET_F_1) - ld [FP-160], %f0 - return %i7+8 - nop - - ! Finish the SPARC_RET_STRUCT sequence. - .align 8 -8: ldd [FP-152], %f2 - ldx [FP-144], %i2 - ldd [FP-144], %f4 - ldx [FP-136], %i3 - ldd [FP-136], %f6 - return %i7+8 - nop - -.LUW8: - .size C(ffi_closure_v9), . - C(ffi_closure_v9) - -#ifdef HAVE_RO_EH_FRAME - .section ".eh_frame",#alloc -#else - .section ".eh_frame",#alloc,#write -#endif - -#ifdef HAVE_AS_SPARC_UA_PCREL -# define FDE_RANGE(B, E) .long %r_disp32(B), E - B -#else -# define FDE_RANGE(B, E) .align 8; .xword B, E - B -#endif - - .align 8 -.LCIE: - .long .LECIE - .LSCIE ! CIE Length -.LSCIE: - .long 0 ! CIE Identifier Tag - .byte 1 ! CIE Version - .ascii "zR\0" ! CIE Augmentation - .byte 4 ! CIE Code Alignment Factor - .byte 0x78 ! CIE Data Alignment Factor - .byte 15 ! CIE RA Column - .byte 1 ! Augmentation size -#ifdef HAVE_AS_SPARC_UA_PCREL - .byte 0x1b ! FDE Encoding (pcrel sdata4) -#else - .byte 0x50 ! FDE Encoding (aligned absolute) -#endif - .byte 0xc, 14, 0xff, 0xf ! DW_CFA_def_cfa, %o6, offset 0x7ff - .align 8 -.LECIE: - - .long .LEFDE1 - .LSFDE1 ! FDE Length -.LSFDE1: - .long .LSFDE1 - .LCIE ! FDE CIE offset - FDE_RANGE(.LUW0, .LUW2) - .byte 0 ! Augmentation size - .byte 0x40+1 ! DW_CFA_advance_loc 4 - .byte 0xd, 30 ! DW_CFA_def_cfa_register, %i6 - .byte 0x2d ! DW_CFA_GNU_window_save - .byte 0x9, 15, 31 ! DW_CFA_register, %o7, %i7 - .align 8 -.LEFDE1: - - .long .LEFDE2 - .LSFDE2 ! FDE Length -.LSFDE2: - .long .LSFDE2 - .LCIE ! FDE CIE offset - FDE_RANGE(.LUW3, .LUW5) - .byte 0 ! Augmentation size - .byte 0x40+1 ! DW_CFA_advance_loc 4 - .byte 0xd, 30 ! DW_CFA_def_cfa_register, %i6 - .byte 0x2d ! DW_CFA_GNU_window_save - .byte 0x9, 15, 31 ! DW_CFA_register, %o7, %i7 - .align 8 -.LEFDE2: - - .long .LEFDE3 - .LSFDE3 ! FDE Length -.LSFDE3: - .long .LSFDE3 - .LCIE ! FDE CIE offset - FDE_RANGE(.LUW6, .LUW8) - .byte 0 ! Augmentation size - .byte 0x40+1 ! DW_CFA_advance_loc 4 - .byte 0xd, 30 ! DW_CFA_def_cfa_register, %i6 - .byte 0x2d ! DW_CFA_GNU_window_save - .byte 0x9, 15, 31 ! DW_CFA_register, %o7, %i7 - .align 8 -.LEFDE3: - -#endif /* SPARC64 */ -#ifdef __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffi.c deleted file mode 100644 index 3a94469..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffi.c +++ /dev/null @@ -1,355 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2012 Tilera Corp. - - TILE Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include -#include -#include -#include -#include -#include -#include - - -/* The first 10 registers are used to pass arguments and return values. */ -#define NUM_ARG_REGS 10 - -/* Performs a raw function call with the given NUM_ARG_REGS register arguments - and the specified additional stack arguments (if any). */ -extern void ffi_call_tile(ffi_sarg reg_args[NUM_ARG_REGS], - const ffi_sarg *stack_args, - size_t stack_args_bytes, - void (*fnaddr)(void)) - FFI_HIDDEN; - -/* This handles the raw call from the closure stub, cleaning up the - parameters and delegating to ffi_closure_tile_inner. */ -extern void ffi_closure_tile(void) FFI_HIDDEN; - - -ffi_status -ffi_prep_cif_machdep(ffi_cif *cif) -{ - /* We always allocate room for all registers. Even if we don't - use them as parameters, they get returned in the same array - as struct return values so we need to make room. */ - if (cif->bytes < NUM_ARG_REGS * FFI_SIZEOF_ARG) - cif->bytes = NUM_ARG_REGS * FFI_SIZEOF_ARG; - - if (cif->rtype->size > NUM_ARG_REGS * FFI_SIZEOF_ARG) - cif->flags = FFI_TYPE_STRUCT; - else - cif->flags = FFI_TYPE_INT; - - /* Nothing to do. */ - return FFI_OK; -} - - -static long -assign_to_ffi_arg(ffi_sarg *out, void *in, const ffi_type *type, - int write_to_reg) -{ - switch (type->type) - { - case FFI_TYPE_SINT8: - *out = *(SINT8 *)in; - return 1; - - case FFI_TYPE_UINT8: - *out = *(UINT8 *)in; - return 1; - - case FFI_TYPE_SINT16: - *out = *(SINT16 *)in; - return 1; - - case FFI_TYPE_UINT16: - *out = *(UINT16 *)in; - return 1; - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: -#ifndef __LP64__ - case FFI_TYPE_POINTER: -#endif - /* Note that even unsigned 32-bit quantities are sign extended - on tilegx when stored in a register. */ - *out = *(SINT32 *)in; - return 1; - - case FFI_TYPE_FLOAT: -#ifdef __tilegx__ - if (write_to_reg) - { - /* Properly sign extend the value. */ - union { float f; SINT32 s32; } val; - val.f = *(float *)in; - *out = val.s32; - } - else -#endif - { - *(float *)out = *(float *)in; - } - return 1; - - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - case FFI_TYPE_DOUBLE: -#ifdef __LP64__ - case FFI_TYPE_POINTER: -#endif - *(UINT64 *)out = *(UINT64 *)in; - return sizeof(UINT64) / FFI_SIZEOF_ARG; - - case FFI_TYPE_STRUCT: - memcpy(out, in, type->size); - return (type->size + FFI_SIZEOF_ARG - 1) / FFI_SIZEOF_ARG; - - case FFI_TYPE_VOID: - /* Must be a return type. Nothing to do. */ - return 0; - - default: - FFI_ASSERT(0); - return -1; - } -} - - -void -ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_sarg * const arg_mem = alloca(cif->bytes); - ffi_sarg * const reg_args = arg_mem; - ffi_sarg * const stack_args = ®_args[NUM_ARG_REGS]; - ffi_sarg *argp = arg_mem; - ffi_type ** const arg_types = cif->arg_types; - const long num_args = cif->nargs; - long i; - - if (cif->flags == FFI_TYPE_STRUCT) - { - /* Pass a hidden pointer to the return value. We make sure there - is scratch space for the callee to store the return value even if - our caller doesn't care about it. */ - *argp++ = (intptr_t)(rvalue ? rvalue : alloca(cif->rtype->size)); - - /* No more work needed to return anything. */ - rvalue = NULL; - } - - for (i = 0; i < num_args; i++) - { - ffi_type *type = arg_types[i]; - void * const arg_in = avalue[i]; - ptrdiff_t arg_word = argp - arg_mem; - -#ifndef __tilegx__ - /* Doubleword-aligned values are always in an even-number register - pair, or doubleword-aligned stack slot if out of registers. */ - long align = arg_word & (type->alignment > FFI_SIZEOF_ARG); - argp += align; - arg_word += align; -#endif - - if (type->type == FFI_TYPE_STRUCT) - { - const size_t arg_size_in_words = - (type->size + FFI_SIZEOF_ARG - 1) / FFI_SIZEOF_ARG; - - if (arg_word < NUM_ARG_REGS && - arg_word + arg_size_in_words > NUM_ARG_REGS) - { - /* Args are not allowed to span registers and the stack. */ - argp = stack_args; - } - - memcpy(argp, arg_in, type->size); - argp += arg_size_in_words; - } - else - { - argp += assign_to_ffi_arg(argp, arg_in, arg_types[i], 1); - } - } - - /* Actually do the call. */ - ffi_call_tile(reg_args, stack_args, - cif->bytes - (NUM_ARG_REGS * FFI_SIZEOF_ARG), fn); - - if (rvalue != NULL) - assign_to_ffi_arg(rvalue, reg_args, cif->rtype, 0); -} - - -/* Template code for closure. */ -extern const UINT64 ffi_template_tramp_tile[] FFI_HIDDEN; - - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, - ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ -#ifdef __tilegx__ - /* TILE-Gx */ - SINT64 c; - SINT64 h; - int s; - UINT64 *out; - - if (cif->abi != FFI_UNIX) - return FFI_BAD_ABI; - - out = (UINT64 *)closure->tramp; - - c = (intptr_t)closure; - h = (intptr_t)ffi_closure_tile; - s = 0; - - /* Find the smallest shift count that doesn't lose information - (i.e. no need to explicitly insert high bits of the address that - are just the sign extension of the low bits). */ - while ((c >> s) != (SINT16)(c >> s) || (h >> s) != (SINT16)(h >> s)) - s += 16; - -#define OPS(a, b, shift) \ - (create_Imm16_X0((a) >> (shift)) | create_Imm16_X1((b) >> (shift))) - - /* Emit the moveli. */ - *out++ = ffi_template_tramp_tile[0] | OPS(c, h, s); - for (s -= 16; s >= 0; s -= 16) - *out++ = ffi_template_tramp_tile[1] | OPS(c, h, s); - -#undef OPS - - *out++ = ffi_template_tramp_tile[2]; - -#else - /* TILEPro */ - UINT64 *out; - intptr_t delta; - - if (cif->abi != FFI_UNIX) - return FFI_BAD_ABI; - - out = (UINT64 *)closure->tramp; - delta = (intptr_t)ffi_closure_tile - (intptr_t)codeloc; - - *out++ = ffi_template_tramp_tile[0] | create_JOffLong_X1(delta >> 3); -#endif - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - invalidate_icache(closure->tramp, (char *)out - closure->tramp, - getpagesize()); - - return FFI_OK; -} - - -/* This is called by the assembly wrapper for closures. This does - all of the work. On entry reg_args[0] holds the values the registers - had when the closure was invoked. On return reg_args[1] holds the register - values to be returned to the caller (many of which may be garbage). */ -void FFI_HIDDEN -ffi_closure_tile_inner(ffi_closure *closure, - ffi_sarg reg_args[2][NUM_ARG_REGS], - ffi_sarg *stack_args) -{ - ffi_cif * const cif = closure->cif; - void ** const avalue = alloca(cif->nargs * sizeof(void *)); - void *rvalue; - ffi_type ** const arg_types = cif->arg_types; - ffi_sarg * const reg_args_in = reg_args[0]; - ffi_sarg * const reg_args_out = reg_args[1]; - ffi_sarg * argp; - long i, arg_word, nargs = cif->nargs; - /* Use a union to guarantee proper alignment for double. */ - union { ffi_sarg arg[NUM_ARG_REGS]; double d; UINT64 u64; } closure_ret; - - /* Start out reading register arguments. */ - argp = reg_args_in; - - /* Copy the caller's structure return address to that the closure - returns the data directly to the caller. */ - if (cif->flags == FFI_TYPE_STRUCT) - { - /* Return by reference via hidden pointer. */ - rvalue = (void *)(intptr_t)*argp++; - arg_word = 1; - } - else - { - /* Return the value in registers. */ - rvalue = &closure_ret; - arg_word = 0; - } - - /* Grab the addresses of the arguments. */ - for (i = 0; i < nargs; i++) - { - ffi_type * const type = arg_types[i]; - const size_t arg_size_in_words = - (type->size + FFI_SIZEOF_ARG - 1) / FFI_SIZEOF_ARG; - -#ifndef __tilegx__ - /* Doubleword-aligned values are always in an even-number register - pair, or doubleword-aligned stack slot if out of registers. */ - long align = arg_word & (type->alignment > FFI_SIZEOF_ARG); - argp += align; - arg_word += align; -#endif - - if (arg_word == NUM_ARG_REGS || - (arg_word < NUM_ARG_REGS && - arg_word + arg_size_in_words > NUM_ARG_REGS)) - { - /* Switch to reading arguments from the stack. */ - argp = stack_args; - arg_word = NUM_ARG_REGS; - } - - avalue[i] = argp; - argp += arg_size_in_words; - arg_word += arg_size_in_words; - } - - /* Invoke the closure. */ - closure->fun(cif, rvalue, avalue, closure->user_data); - - if (cif->flags != FFI_TYPE_STRUCT) - { - /* Canonicalize for register representation. */ - assign_to_ffi_arg(reg_args_out, &closure_ret, cif->rtype, 1); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffitarget.h deleted file mode 100644 index 679fb5d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffitarget.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012 Tilera Corp. - Target configuration macros for TILE. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM - -#include - -typedef uint_reg_t ffi_arg; -typedef int_reg_t ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_UNIX, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_UNIX -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ -#define FFI_CLOSURES 1 - -#ifdef __tilegx__ -/* We always pass 8-byte values, even in -m32 mode. */ -# define FFI_SIZEOF_ARG 8 -# ifdef __LP64__ -# define FFI_TRAMPOLINE_SIZE (8 * 5) /* 5 bundles */ -# else -# define FFI_TRAMPOLINE_SIZE (8 * 3) /* 3 bundles */ -# endif -#else -# define FFI_SIZEOF_ARG 4 -# define FFI_TRAMPOLINE_SIZE 8 /* 1 bundle */ -#endif -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/tile.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/tile.S deleted file mode 100644 index d1f82cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/tile.S +++ /dev/null @@ -1,360 +0,0 @@ -/* ----------------------------------------------------------------------- - tile.S - Copyright (c) 2011 Tilera Corp. - - Tilera TILEPro and TILE-Gx Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -/* Number of bytes in a register. */ -#define REG_SIZE FFI_SIZEOF_ARG - -/* Number of bytes in stack linkage area for backtracing. - - A note about the ABI: on entry to a procedure, sp points to a stack - slot where it must spill the return address if it's not a leaf. - REG_SIZE bytes beyond that is a slot owned by the caller which - contains the sp value that the caller had when it was originally - entered (i.e. the caller's frame pointer). */ -#define LINKAGE_SIZE (2 * REG_SIZE) - -/* The first 10 registers are used to pass arguments and return values. */ -#define NUM_ARG_REGS 10 - -#ifdef __tilegx__ -#define SW st -#define LW ld -#define BGZT bgtzt -#else -#define SW sw -#define LW lw -#define BGZT bgzt -#endif - - -/* void ffi_call_tile (int_reg_t reg_args[NUM_ARG_REGS], - const int_reg_t *stack_args, - unsigned long stack_args_bytes, - void (*fnaddr)(void)); - - On entry, REG_ARGS contain the outgoing register values, - and STACK_ARGS contains STACK_ARG_BYTES of additional values - to be passed on the stack. If STACK_ARG_BYTES is zero, then - STACK_ARGS is ignored. - - When the invoked function returns, the values of r0-r9 are - blindly stored back into REG_ARGS for the caller to examine. */ - - .section .text.ffi_call_tile, "ax", @progbits - .align 8 - .globl ffi_call_tile - FFI_HIDDEN(ffi_call_tile) -ffi_call_tile: - -/* Incoming arguments. */ -#define REG_ARGS r0 -#define INCOMING_STACK_ARGS r1 -#define STACK_ARG_BYTES r2 -#define ORIG_FNADDR r3 - -/* Temporary values. */ -#define FRAME_SIZE r10 -#define TMP r11 -#define TMP2 r12 -#define OUTGOING_STACK_ARGS r13 -#define REG_ADDR_PTR r14 -#define RETURN_REG_ADDR r15 -#define FNADDR r16 - - .cfi_startproc - { - /* Save return address. */ - SW sp, lr - .cfi_offset lr, 0 - /* Prepare to spill incoming r52. */ - addi TMP, sp, -REG_SIZE - /* Increase frame size to have room to spill r52 and REG_ARGS. - The +7 is to round up mod 8. */ - addi FRAME_SIZE, STACK_ARG_BYTES, \ - REG_SIZE + REG_SIZE + LINKAGE_SIZE + 7 - } - { - /* Round stack frame size to a multiple of 8 to satisfy ABI. */ - andi FRAME_SIZE, FRAME_SIZE, -8 - /* Compute where to spill REG_ARGS value. */ - addi TMP2, sp, -(REG_SIZE * 2) - } - { - /* Spill incoming r52. */ - SW TMP, r52 - .cfi_offset r52, -REG_SIZE - /* Set up our frame pointer. */ - move r52, sp - .cfi_def_cfa_register r52 - /* Push stack frame. */ - sub sp, sp, FRAME_SIZE - } - { - /* Prepare to set up stack linkage. */ - addi TMP, sp, REG_SIZE - /* Prepare to memcpy stack args. */ - addi OUTGOING_STACK_ARGS, sp, LINKAGE_SIZE - /* Save REG_ARGS which we will need after we call the subroutine. */ - SW TMP2, REG_ARGS - } - { - /* Set up linkage info to hold incoming stack pointer. */ - SW TMP, r52 - } - { - /* Skip stack args memcpy if we don't have any stack args (common). */ - blezt STACK_ARG_BYTES, .Ldone_stack_args_memcpy - } - -.Lmemcpy_stack_args: - { - /* Load incoming argument from stack_args. */ - LW TMP, INCOMING_STACK_ARGS - addi INCOMING_STACK_ARGS, INCOMING_STACK_ARGS, REG_SIZE - } - { - /* Store stack argument into outgoing stack argument area. */ - SW OUTGOING_STACK_ARGS, TMP - addi OUTGOING_STACK_ARGS, OUTGOING_STACK_ARGS, REG_SIZE - addi STACK_ARG_BYTES, STACK_ARG_BYTES, -REG_SIZE - } - { - BGZT STACK_ARG_BYTES, .Lmemcpy_stack_args - } -.Ldone_stack_args_memcpy: - - { - /* Copy aside ORIG_FNADDR so we can overwrite its register. */ - move FNADDR, ORIG_FNADDR - /* Prepare to load argument registers. */ - addi REG_ADDR_PTR, r0, REG_SIZE - /* Load outgoing r0. */ - LW r0, r0 - } - - /* Load up argument registers from the REG_ARGS array. */ -#define LOAD_REG(REG, PTR) \ - { \ - LW REG, PTR ; \ - addi PTR, PTR, REG_SIZE \ - } - - LOAD_REG(r1, REG_ADDR_PTR) - LOAD_REG(r2, REG_ADDR_PTR) - LOAD_REG(r3, REG_ADDR_PTR) - LOAD_REG(r4, REG_ADDR_PTR) - LOAD_REG(r5, REG_ADDR_PTR) - LOAD_REG(r6, REG_ADDR_PTR) - LOAD_REG(r7, REG_ADDR_PTR) - LOAD_REG(r8, REG_ADDR_PTR) - LOAD_REG(r9, REG_ADDR_PTR) - - { - /* Call the subroutine. */ - jalr FNADDR - } - - { - /* Restore original lr. */ - LW lr, r52 - /* Prepare to recover ARGS, which we spilled earlier. */ - addi TMP, r52, -(2 * REG_SIZE) - } - { - /* Restore ARGS, so we can fill it in with the return regs r0-r9. */ - LW RETURN_REG_ADDR, TMP - /* Prepare to restore original r52. */ - addi TMP, r52, -REG_SIZE - } - - { - /* Pop stack frame. */ - move sp, r52 - /* Restore original r52. */ - LW r52, TMP - } - -#define STORE_REG(REG, PTR) \ - { \ - SW PTR, REG ; \ - addi PTR, PTR, REG_SIZE \ - } - - /* Return all register values by reference. */ - STORE_REG(r0, RETURN_REG_ADDR) - STORE_REG(r1, RETURN_REG_ADDR) - STORE_REG(r2, RETURN_REG_ADDR) - STORE_REG(r3, RETURN_REG_ADDR) - STORE_REG(r4, RETURN_REG_ADDR) - STORE_REG(r5, RETURN_REG_ADDR) - STORE_REG(r6, RETURN_REG_ADDR) - STORE_REG(r7, RETURN_REG_ADDR) - STORE_REG(r8, RETURN_REG_ADDR) - STORE_REG(r9, RETURN_REG_ADDR) - - { - jrp lr - } - - .cfi_endproc - .size ffi_call_tile, .-ffi_call_tile - -/* ffi_closure_tile(...) - - On entry, lr points to the closure plus 8 bytes, and r10 - contains the actual return address. - - This function simply dumps all register parameters into a stack array - and passes the closure, the registers array, and the stack arguments - to C code that does all of the actual closure processing. */ - - .section .text.ffi_closure_tile, "ax", @progbits - .align 8 - .globl ffi_closure_tile - FFI_HIDDEN(ffi_closure_tile) - - .cfi_startproc -/* Room to spill all NUM_ARG_REGS incoming registers, plus frame linkage. */ -#define CLOSURE_FRAME_SIZE (((NUM_ARG_REGS * REG_SIZE * 2 + LINKAGE_SIZE) + 7) & -8) -ffi_closure_tile: - { -#ifdef __tilegx__ - st sp, lr - .cfi_offset lr, 0 -#else - /* Save return address (in r10 due to closure stub wrapper). */ - SW sp, r10 - .cfi_return_column r10 - .cfi_offset r10, 0 -#endif - /* Compute address for stack frame linkage. */ - addli r10, sp, -(CLOSURE_FRAME_SIZE - REG_SIZE) - } - { - /* Save incoming stack pointer in linkage area. */ - SW r10, sp - .cfi_offset sp, -(CLOSURE_FRAME_SIZE - REG_SIZE) - /* Push a new stack frame. */ - addli sp, sp, -CLOSURE_FRAME_SIZE - .cfi_adjust_cfa_offset CLOSURE_FRAME_SIZE - } - - { - /* Create pointer to where to start spilling registers. */ - addi r10, sp, LINKAGE_SIZE - } - - /* Spill all the incoming registers. */ - STORE_REG(r0, r10) - STORE_REG(r1, r10) - STORE_REG(r2, r10) - STORE_REG(r3, r10) - STORE_REG(r4, r10) - STORE_REG(r5, r10) - STORE_REG(r6, r10) - STORE_REG(r7, r10) - STORE_REG(r8, r10) - { - /* Save r9. */ - SW r10, r9 -#ifdef __tilegx__ - /* Pointer to closure is passed in r11. */ - move r0, r11 -#else - /* Compute pointer to the closure object. Because the closure - starts with a "jal ffi_closure_tile", we can just take the - value of lr (a phony return address pointing into the closure) - and subtract 8. */ - addi r0, lr, -8 -#endif - /* Compute a pointer to the register arguments we just spilled. */ - addi r1, sp, LINKAGE_SIZE - } - { - /* Compute a pointer to the extra stack arguments (if any). */ - addli r2, sp, CLOSURE_FRAME_SIZE + LINKAGE_SIZE - /* Call C code to deal with all of the grotty details. */ - jal ffi_closure_tile_inner - } - { - addli r10, sp, CLOSURE_FRAME_SIZE - } - { - /* Restore the return address. */ - LW lr, r10 - /* Compute pointer to registers array. */ - addli r10, sp, LINKAGE_SIZE + (NUM_ARG_REGS * REG_SIZE) - } - /* Return all the register values, which C code may have set. */ - LOAD_REG(r0, r10) - LOAD_REG(r1, r10) - LOAD_REG(r2, r10) - LOAD_REG(r3, r10) - LOAD_REG(r4, r10) - LOAD_REG(r5, r10) - LOAD_REG(r6, r10) - LOAD_REG(r7, r10) - LOAD_REG(r8, r10) - LOAD_REG(r9, r10) - { - /* Pop the frame. */ - addli sp, sp, CLOSURE_FRAME_SIZE - jrp lr - } - - .cfi_endproc - .size ffi_closure_tile, . - ffi_closure_tile - - -/* What follows are code template instructions that get copied to the - closure trampoline by ffi_prep_closure_loc. The zeroed operands - get replaced by their proper values at runtime. */ - - .section .text.ffi_template_tramp_tile, "ax", @progbits - .align 8 - .globl ffi_template_tramp_tile - FFI_HIDDEN(ffi_template_tramp_tile) -ffi_template_tramp_tile: -#ifdef __tilegx__ - { - moveli r11, 0 /* backpatched to address of containing closure. */ - moveli r10, 0 /* backpatched to ffi_closure_tile. */ - } - /* Note: the following bundle gets generated multiple times - depending on the pointer value (esp. useful for -m32 mode). */ - { shl16insli r11, r11, 0 ; shl16insli r10, r10, 0 } - { info 2+8 /* for backtracer: -> pc in lr, frame size 0 */ ; jr r10 } -#else - /* 'jal .' yields a PC-relative offset of zero so we can OR in the - right offset at runtime. */ - { move r10, lr ; jal . /* ffi_closure_tile */ } -#endif - - .size ffi_template_tramp_tile, . - ffi_template_tramp_tile diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c deleted file mode 100644 index 5f19b55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c +++ /dev/null @@ -1,716 +0,0 @@ -/* ----------------------------------------------------------------------- - tramp.c - Copyright (c) 2020 Madhavan T. Venkataraman - Copyright (c) 2022 Anthony Green - - API and support functions for managing statically defined closure - trampolines. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include - -#ifdef FFI_EXEC_STATIC_TRAMP - -/* -------------------------- Headers and Definitions ---------------------*/ -/* - * Add support for other OSes later. For now, it is just Linux and Cygwin. - */ - -#if defined (__linux__) || defined (__CYGWIN__) -#ifdef __linux__ -#define _GNU_SOURCE 1 -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef __linux__ -#include -#include -#endif -#ifdef __CYGWIN__ -#include -#endif -#endif - -/* - * Each architecture defines static code for a trampoline code table. The - * trampoline code table is mapped into the address space of a process. - * - * The following architecture specific function returns: - * - * - the address of the trampoline code table in the text segment - * - the size of each trampoline in the trampoline code table - * - the size of the mapping for the whole trampoline code table - */ -void __attribute__((weak)) *ffi_tramp_arch (size_t *tramp_size, - size_t *map_size); - -/* ------------------------- Trampoline Data Structures --------------------*/ - -struct tramp; - -/* - * Trampoline table. Manages one trampoline code table and one trampoline - * parameter table. - * - * prev, next Links in the global trampoline table list. - * code_table Trampoline code table mapping. - * parm_table Trampoline parameter table mapping. - * array Array of trampolines malloced. - * free List of free trampolines. - * nfree Number of free trampolines. - */ -struct tramp_table -{ - struct tramp_table *prev; - struct tramp_table *next; - void *code_table; - void *parm_table; - struct tramp *array; - struct tramp *free; - int nfree; -}; - -/* - * Parameters for each trampoline. - * - * data - * Data for the target code that the trampoline jumps to. - * target - * Target code that the trampoline jumps to. - */ -struct tramp_parm -{ - void *data; - void *target; -}; - -/* - * Trampoline structure for each trampoline. - * - * prev, next Links in the trampoline free list of a trampoline table. - * table Trampoline table to which this trampoline belongs. - * code Address of this trampoline in the code table mapping. - * parm Address of this trampoline's parameters in the parameter - * table mapping. - */ -struct tramp -{ - struct tramp *prev; - struct tramp *next; - struct tramp_table *table; - void *code; - struct tramp_parm *parm; -}; - -enum tramp_globals_status { - TRAMP_GLOBALS_UNINITIALIZED = 0, - TRAMP_GLOBALS_PASSED, - TRAMP_GLOBALS_FAILED, -}; - -/* - * Trampoline globals. - * - * fd - * File descriptor of binary file that contains the trampoline code table. - * offset - * Offset of the trampoline code table in that file. - * text - * Address of the trampoline code table in the text segment. - * map_size - * Size of the trampoline code table mapping. - * size - * Size of one trampoline in the trampoline code table. - * ntramp - * Total number of trampolines in the trampoline code table. - * free_tables - * List of trampoline tables that contain free trampolines. - * nfree_tables - * Number of trampoline tables that contain free trampolines. - * status - * Initialization status. - */ -struct tramp_globals -{ - int fd; - off_t offset; - void *text; - size_t map_size; - size_t size; - int ntramp; - struct tramp_table *free_tables; - int nfree_tables; - enum tramp_globals_status status; -}; - -static struct tramp_globals tramp_globals; - -/* --------------------- Trampoline File Initialization --------------------*/ - -/* - * The trampoline file is the file used to map the trampoline code table into - * the address space of a process. There are two ways to get this file: - * - * - From the OS. E.g., on Linux, /proc//maps lists all the memory - * mappings for . For file-backed mappings, maps supplies the file name - * and the file offset. Using this, we can locate the mapping that maps - * libffi and get the path to the libffi binary. And, we can compute the - * offset of the trampoline code table within that binary. - * - * - Else, if we can create a temporary file, we can write the trampoline code - * table from the text segment into the temporary file. - * - * The first method is the preferred one. If the OS security subsystem - * disallows mapping unsigned files with PROT_EXEC, then the second method - * will fail. - * - * If an OS allows the trampoline code table in the text segment to be - * directly remapped (e.g., MACH vm_remap ()), then we don't need the - * trampoline file. - */ -static int tramp_table_alloc (void); - -#if defined (__linux__) || defined (__CYGWIN__) - -static int -ffi_tramp_get_libffi (void) -{ - FILE *fp; - char file[PATH_MAX], line[PATH_MAX+100], perm[10], dev[10]; - unsigned long start, end, offset, inode; - uintptr_t addr = (uintptr_t) tramp_globals.text; - int nfields, found; - - snprintf (file, PATH_MAX, "/proc/%d/maps", getpid()); - fp = fopen (file, "r"); - if (fp == NULL) - return 0; - - found = 0; - while (feof (fp) == 0) { - if (fgets (line, sizeof (line), fp) == 0) - break; - - nfields = sscanf (line, "%lx-%lx %9s %lx %9s %ld %s", - &start, &end, perm, &offset, dev, &inode, file); - if (nfields != 7) - continue; - - if (addr >= start && addr < end) { - tramp_globals.offset = offset + (addr - start); - found = 1; - break; - } - } - fclose (fp); - - if (!found) - return 0; - - tramp_globals.fd = open (file, O_RDONLY); - if (tramp_globals.fd == -1) - return 0; - - /* - * Allocate a trampoline table just to make sure that the trampoline code - * table can be mapped. - */ - if (!tramp_table_alloc ()) - { - close (tramp_globals.fd); - tramp_globals.fd = -1; - return 0; - } - return 1; -} - -#endif /* defined (__linux__) || defined (__CYGWIN__) */ - -#if defined (__linux__) || defined (__CYGWIN__) - -static int -ffi_tramp_get_temp_file (void) -{ - ssize_t count; - - tramp_globals.offset = 0; - tramp_globals.fd = open_temp_exec_file (); - - /* - * Write the trampoline code table into the temporary file and allocate a - * trampoline table to make sure that the temporary file can be mapped. - */ - count = write(tramp_globals.fd, tramp_globals.text, tramp_globals.map_size); - if (count >=0 && (size_t)count == tramp_globals.map_size && tramp_table_alloc ()) - return 1; - - close (tramp_globals.fd); - tramp_globals.fd = -1; - return 0; -} - -#endif /* defined (__linux__) || defined (__CYGWIN__) */ - -/* ------------------------ OS-specific Initialization ----------------------*/ - -#if defined (__linux__) || defined (__CYGWIN__) - -static int -ffi_tramp_init_os (void) -{ - if (ffi_tramp_get_libffi ()) - return 1; - return ffi_tramp_get_temp_file (); -} - -#endif /* defined (__linux__) || defined (__CYGWIN__) */ - -/* --------------------------- OS-specific Locking -------------------------*/ - -#if defined (__linux__) || defined (__CYGWIN__) - -static pthread_mutex_t tramp_globals_mutex = PTHREAD_MUTEX_INITIALIZER; - -static void -ffi_tramp_lock(void) -{ - pthread_mutex_lock (&tramp_globals_mutex); -} - -static void -ffi_tramp_unlock() -{ - pthread_mutex_unlock (&tramp_globals_mutex); -} - -#endif /* defined (__linux__) || defined (__CYGWIN__) */ - -/* ------------------------ OS-specific Memory Mapping ----------------------*/ - -/* - * Create a trampoline code table mapping and a trampoline parameter table - * mapping. The two mappings must be adjacent to each other for PC-relative - * access. - * - * For each trampoline in the code table, there is a corresponding parameter - * block in the parameter table. The size of the parameter block is the same - * as the size of the trampoline. This means that the parameter block is at - * a fixed offset from its trampoline making it easy for a trampoline to find - * its parameters using PC-relative access. - * - * The parameter block will contain a struct tramp_parm. This means that - * sizeof (struct tramp_parm) cannot exceed the size of a parameter block. - */ - -#if defined (__linux__) || defined (__CYGWIN__) - -static int -tramp_table_map (struct tramp_table *table) -{ - char *addr; - - /* - * Create an anonymous mapping twice the map size. The top half will be used - * for the code table. The bottom half will be used for the parameter table. - */ - addr = mmap (NULL, tramp_globals.map_size * 2, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - if (addr == MAP_FAILED) - return 0; - - /* - * Replace the top half of the anonymous mapping with the code table mapping. - */ - table->code_table = mmap (addr, tramp_globals.map_size, PROT_READ | PROT_EXEC, - MAP_PRIVATE | MAP_FIXED, tramp_globals.fd, tramp_globals.offset); - if (table->code_table == MAP_FAILED) - { - (void) munmap (addr, tramp_globals.map_size * 2); - return 0; - } - table->parm_table = table->code_table + tramp_globals.map_size; - return 1; -} - -static void -tramp_table_unmap (struct tramp_table *table) -{ - (void) munmap (table->code_table, tramp_globals.map_size); - (void) munmap (table->parm_table, tramp_globals.map_size); -} - -#endif /* defined (__linux__) || defined (__CYGWIN__) */ - -/* ------------------------ Trampoline Initialization ----------------------*/ - -/* - * Initialize the static trampoline feature. - */ -static int -ffi_tramp_init (void) -{ - long page_size; - - if (tramp_globals.status == TRAMP_GLOBALS_PASSED) - return 1; - - if (tramp_globals.status == TRAMP_GLOBALS_FAILED) - return 0; - - if (ffi_tramp_arch == NULL) - { - tramp_globals.status = TRAMP_GLOBALS_FAILED; - return 0; - } - - tramp_globals.free_tables = NULL; - tramp_globals.nfree_tables = 0; - - /* - * Get trampoline code table information from the architecture. - */ - tramp_globals.text = ffi_tramp_arch (&tramp_globals.size, - &tramp_globals.map_size); - tramp_globals.ntramp = tramp_globals.map_size / tramp_globals.size; - - page_size = sysconf (_SC_PAGESIZE); - if (page_size >= 0 && (size_t)page_size > tramp_globals.map_size) - return 0; - - if (ffi_tramp_init_os ()) - { - tramp_globals.status = TRAMP_GLOBALS_PASSED; - return 1; - } - - tramp_globals.status = TRAMP_GLOBALS_FAILED; - return 0; -} - -/* ---------------------- Trampoline Table functions ---------------------- */ - -/* This code assumes that malloc () is available on all OSes. */ - -static void tramp_add (struct tramp *tramp); - -/* - * Allocate and initialize a trampoline table. - */ -static int -tramp_table_alloc (void) -{ - struct tramp_table *table; - struct tramp *tramp_array, *tramp; - size_t size; - char *code, *parm; - int i; - - /* - * If we already have tables with free trampolines, there is no need to - * allocate a new table. - */ - if (tramp_globals.nfree_tables > 0) - return 1; - - /* - * Allocate a new trampoline table structure. - */ - table = malloc (sizeof (*table)); - if (table == NULL) - return 0; - - /* - * Allocate new trampoline structures. - */ - tramp_array = malloc (sizeof (*tramp) * tramp_globals.ntramp); - if (tramp_array == NULL) - goto free_table; - - /* - * Map a code table and a parameter table into the caller's address space. - */ - if (!tramp_table_map (table)) - { - /* - * Failed to map the code and parameter tables. - */ - goto free_tramp_array; - } - - /* - * Initialize the trampoline table. - */ - table->array = tramp_array; - table->free = NULL; - table->nfree = 0; - - /* - * Populate the trampoline table free list. This will also add the trampoline - * table to the global list of trampoline tables. - */ - size = tramp_globals.size; - code = table->code_table; - parm = table->parm_table; - for (i = 0; i < tramp_globals.ntramp; i++) - { - tramp = &tramp_array[i]; - tramp->table = table; - tramp->code = code; - tramp->parm = (struct tramp_parm *) parm; - tramp_add (tramp); - - code += size; - parm += size; - } - /* Success */ - return 1; - -/* Failure */ -free_tramp_array: - free (tramp_array); -free_table: - free (table); - return 0; -} - -/* - * Free a trampoline table. - */ -static void -tramp_table_free (struct tramp_table *table) -{ - tramp_table_unmap (table); - free (table->array); - free (table); -} - -/* - * Add a new trampoline table to the global table list. - */ -static void -tramp_table_add (struct tramp_table *table) -{ - table->next = tramp_globals.free_tables; - table->prev = NULL; - if (tramp_globals.free_tables != NULL) - tramp_globals.free_tables->prev = table; - tramp_globals.free_tables = table; - tramp_globals.nfree_tables++; -} - -/* - * Delete a trampoline table from the global table list. - */ -static void -tramp_table_del (struct tramp_table *table) -{ - tramp_globals.nfree_tables--; - if (table->prev != NULL) - table->prev->next = table->next; - if (table->next != NULL) - table->next->prev = table->prev; - if (tramp_globals.free_tables == table) - tramp_globals.free_tables = table->next; -} - -/* ------------------------- Trampoline functions ------------------------- */ - -/* - * Add a trampoline to its trampoline table. - */ -static void -tramp_add (struct tramp *tramp) -{ - struct tramp_table *table = tramp->table; - - tramp->next = table->free; - tramp->prev = NULL; - if (table->free != NULL) - table->free->prev = tramp; - table->free = tramp; - table->nfree++; - - if (table->nfree == 1) - tramp_table_add (table); - - /* - * We don't want to keep too many free trampoline tables lying around. - */ - if (table->nfree == tramp_globals.ntramp && - tramp_globals.nfree_tables > 1) - { - tramp_table_del (table); - tramp_table_free (table); - } -} - -/* - * Remove a trampoline from its trampoline table. - */ -static void -tramp_del (struct tramp *tramp) -{ - struct tramp_table *table = tramp->table; - - table->nfree--; - if (tramp->prev != NULL) - tramp->prev->next = tramp->next; - if (tramp->next != NULL) - tramp->next->prev = tramp->prev; - if (table->free == tramp) - table->free = tramp->next; - - if (table->nfree == 0) - tramp_table_del (table); -} - -/* ------------------------ Trampoline API functions ------------------------ */ - -int -ffi_tramp_is_supported(void) -{ - int ret; - - ffi_tramp_lock(); - ret = ffi_tramp_init (); - ffi_tramp_unlock(); - return ret; -} - -/* - * Allocate a trampoline and return its opaque address. - */ -void * -ffi_tramp_alloc (int flags) -{ - struct tramp *tramp; - - ffi_tramp_lock(); - - if (!ffi_tramp_init () || flags != 0) - { - ffi_tramp_unlock(); - return NULL; - } - - if (!tramp_table_alloc ()) - { - ffi_tramp_unlock(); - return NULL; - } - - tramp = tramp_globals.free_tables->free; - tramp_del (tramp); - - ffi_tramp_unlock(); - - return tramp; -} - -/* - * Set the parameters for a trampoline. - */ -void -ffi_tramp_set_parms (void *arg, void *target, void *data) -{ - struct tramp *tramp = arg; - - ffi_tramp_lock(); - tramp->parm->target = target; - tramp->parm->data = data; - ffi_tramp_unlock(); -} - -/* - * Get the invocation address of a trampoline. - */ -void * -ffi_tramp_get_addr (void *arg) -{ - struct tramp *tramp = arg; - void *addr; - - ffi_tramp_lock(); - addr = tramp->code; - ffi_tramp_unlock(); - - return addr; -} - -/* - * Free a trampoline. - */ -void -ffi_tramp_free (void *arg) -{ - struct tramp *tramp = arg; - - ffi_tramp_lock(); - tramp_add (tramp); - ffi_tramp_unlock(); -} - -/* ------------------------------------------------------------------------- */ - -#else /* !FFI_EXEC_STATIC_TRAMP */ - -#include - -int -ffi_tramp_is_supported(void) -{ - return 0; -} - -void * -ffi_tramp_alloc (int flags) -{ - return NULL; -} - -void -ffi_tramp_set_parms (void *arg, void *target, void *data) -{ -} - -void * -ffi_tramp_get_addr (void *arg) -{ - return NULL; -} - -void -ffi_tramp_free (void *arg) -{ -} - -#endif /* FFI_EXEC_STATIC_TRAMP */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c deleted file mode 100644 index 9ec27f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c +++ /dev/null @@ -1,108 +0,0 @@ -/* ----------------------------------------------------------------------- - types.c - Copyright (c) 1996, 1998 Red Hat, Inc. - - Predefined ffi_types needed by libffi. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -/* Hide the basic type definitions from the header file, so that we - can redefine them here as "const". */ -#define LIBFFI_HIDE_BASIC_TYPES - -#include -#include - -/* Type definitions */ - -#define FFI_TYPEDEF(name, type, id, maybe_const)\ -struct struct_align_##name { \ - char c; \ - type x; \ -}; \ -FFI_EXTERN \ -maybe_const ffi_type ffi_type_##name = { \ - sizeof(type), \ - offsetof(struct struct_align_##name, x), \ - id, NULL \ -} - -#define FFI_COMPLEX_TYPEDEF(name, type, maybe_const) \ -static ffi_type *ffi_elements_complex_##name [2] = { \ - (ffi_type *)(&ffi_type_##name), NULL \ -}; \ -struct struct_align_complex_##name { \ - char c; \ - _Complex type x; \ -}; \ -FFI_EXTERN \ -maybe_const ffi_type ffi_type_complex_##name = { \ - sizeof(_Complex type), \ - offsetof(struct struct_align_complex_##name, x), \ - FFI_TYPE_COMPLEX, \ - (ffi_type **)ffi_elements_complex_##name \ -} - -/* Size and alignment are fake here. They must not be 0. */ -FFI_EXTERN const ffi_type ffi_type_void = { - 1, 1, FFI_TYPE_VOID, NULL -}; - -FFI_TYPEDEF(uint8, UINT8, FFI_TYPE_UINT8, const); -FFI_TYPEDEF(sint8, SINT8, FFI_TYPE_SINT8, const); -FFI_TYPEDEF(uint16, UINT16, FFI_TYPE_UINT16, const); -FFI_TYPEDEF(sint16, SINT16, FFI_TYPE_SINT16, const); -FFI_TYPEDEF(uint32, UINT32, FFI_TYPE_UINT32, const); -FFI_TYPEDEF(sint32, SINT32, FFI_TYPE_SINT32, const); -FFI_TYPEDEF(uint64, UINT64, FFI_TYPE_UINT64, const); -FFI_TYPEDEF(sint64, SINT64, FFI_TYPE_SINT64, const); - -FFI_TYPEDEF(pointer, void*, FFI_TYPE_POINTER, const); - -FFI_TYPEDEF(float, float, FFI_TYPE_FLOAT, const); -FFI_TYPEDEF(double, double, FFI_TYPE_DOUBLE, const); - -#if !defined HAVE_LONG_DOUBLE_VARIANT || defined __alpha__ -#define FFI_LDBL_CONST const -#else -#define FFI_LDBL_CONST -#endif - -#ifdef __alpha__ -/* Even if we're not configured to default to 128-bit long double, - maintain binary compatibility, as -mlong-double-128 can be used - at any time. */ -/* Validate the hard-coded number below. */ -# if defined(__LONG_DOUBLE_128__) && FFI_TYPE_LONGDOUBLE != 4 -# error FFI_TYPE_LONGDOUBLE out of date -# endif -const ffi_type ffi_type_longdouble = { 16, 16, 4, NULL }; -#elif FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -FFI_TYPEDEF(longdouble, long double, FFI_TYPE_LONGDOUBLE, FFI_LDBL_CONST); -#endif - -#ifdef FFI_TARGET_HAS_COMPLEX_TYPE -FFI_COMPLEX_TYPEDEF(float, float, const); -FFI_COMPLEX_TYPEDEF(double, double, const); -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -FFI_COMPLEX_TYPEDEF(longdouble, long double, FFI_LDBL_CONST); -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/elfbsd.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/elfbsd.S deleted file mode 100644 index 01ca313..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/elfbsd.S +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) 2013 Miodrag Vallat. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * ``Software''), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * vax Foreign Function Interface - */ - -#define LIBFFI_ASM -#include -#include - - .text - -/* - * void * %r0 - * ffi_call_elfbsd(extended_cif *ecif, 4(%ap) - * unsigned bytes, 8(%ap) - * unsigned flags, 12(%ap) - * void *rvalue, 16(%ap) - * void (*fn)()); 20(%ap) - */ - .globl ffi_call_elfbsd - .type ffi_call_elfbsd,@function - .align 2 -ffi_call_elfbsd: - .word 0x00c # save R2 and R3 - - # Allocate stack space for the args - subl2 8(%ap), %sp - - # Call ffi_prep_args - pushl %sp - pushl 4(%ap) - calls $2, ffi_prep_args - - # Get function pointer - movl 20(%ap), %r1 - - # Build a CALLS frame - ashl $-2, 8(%ap), %r0 - pushl %r0 # argument stack usage - movl %sp, %r0 # future %ap - # saved registers - bbc $11, 0(%r1), 1f - pushl %r11 -1: bbc $10, 0(%r1), 1f - pushl %r10 -1: bbc $9, 0(%r1), 1f - pushl %r9 -1: bbc $8, 0(%r1), 1f - pushl %r8 -1: bbc $7, 0(%r1), 1f - pushl %r7 -1: bbc $6, 0(%r1), 1f - pushl %r6 -1: bbc $5, 0(%r1), 1f - pushl %r5 -1: bbc $4, 0(%r1), 1f - pushl %r4 -1: bbc $3, 0(%r1), 1f - pushl %r3 -1: bbc $2, 0(%r1), 1f - pushl %r2 -1: - pushal 9f - pushl %fp - pushl %ap - movl 16(%ap), %r3 # struct return address, if needed - movl %r0, %ap - movzwl 4(%fp), %r0 # previous PSW, without the saved registers mask - bisl2 $0x20000000, %r0 # calls frame - movzwl 0(%r1), %r2 - bicw2 $0xf003, %r2 # only keep R11-R2 - ashl $16, %r2, %r2 - bisl2 %r2, %r0 # saved register mask of the called function - pushl %r0 - pushl $0 - movl %sp, %fp - - # Invoke the function - pushal 2(%r1) # skip procedure entry mask - movl %r3, %r1 - bicpsw $0x000f - rsb - -9: - # Copy return value if necessary - tstl 16(%ap) - jeql 9f - movl 16(%ap), %r2 - - bbc $0, 12(%ap), 1f # CIF_FLAGS_CHAR - movb %r0, 0(%r2) - brb 9f -1: - bbc $1, 12(%ap), 1f # CIF_FLAGS_SHORT - movw %r0, 0(%r2) - brb 9f -1: - bbc $2, 12(%ap), 1f # CIF_FLAGS_INT - movl %r0, 0(%r2) - brb 9f -1: - bbc $3, 12(%ap), 1f # CIF_FLAGS_DINT - movq %r0, 0(%r2) - brb 9f -1: - movl %r1, %r0 # might have been a struct - #brb 9f - -9: - ret - -/* - * ffi_closure_elfbsd(void); - * invoked with %r0: ffi_closure *closure - */ - .globl ffi_closure_elfbsd - .type ffi_closure_elfbsd, @function - .align 2 -ffi_closure_elfbsd: - .word 0 - - # Allocate room on stack for return value - subl2 $8, %sp - - # Invoke the closure function - pushal 4(%ap) # calling stack - pushal 4(%sp) # return value - pushl %r0 # closure - calls $3, ffi_closure_elfbsd_inner - - # Copy return value if necessary - bitb $1, %r0 # CIF_FLAGS_CHAR - beql 1f - movb 0(%sp), %r0 - brb 9f -1: - bitb $2, %r0 # CIF_FLAGS_SHORT - beql 1f - movw 0(%sp), %r0 - brb 9f -1: - bitb $4, %r0 # CIF_FLAGS_INT - beql 1f - movl 0(%sp), %r0 - brb 9f -1: - bitb $8, %r0 # CIF_FLAGS_DINT - beql 1f - movq 0(%sp), %r0 - #brb 9f -1: - -9: - ret - -/* - * ffi_closure_struct_elfbsd(void); - * invoked with %r0: ffi_closure *closure - * %r1: struct return address - */ - .globl ffi_closure_struct_elfbsd - .type ffi_closure_struct_elfbsd, @function - .align 2 -ffi_closure_struct_elfbsd: - .word 0 - - # Invoke the closure function - pushal 4(%ap) # calling stack - pushl %r1 # return value - pushl %r0 # closure - calls $3, ffi_closure_elfbsd_inner - - ret diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffi.c deleted file mode 100644 index e52caec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffi.c +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Copyright (c) 2013 Miodrag Vallat. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * ``Software''), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * vax Foreign Function Interface - * - * This file attempts to provide all the FFI entry points which can reliably - * be implemented in C. - */ - -#include -#include - -#include -#include - -#define CIF_FLAGS_CHAR 1 /* for struct only */ -#define CIF_FLAGS_SHORT 2 /* for struct only */ -#define CIF_FLAGS_INT 4 -#define CIF_FLAGS_DINT 8 - -/* - * Foreign Function Interface API - */ - -void ffi_call_elfbsd (extended_cif *, unsigned, unsigned, void *, - void (*) ()); -void *ffi_prep_args (extended_cif *ecif, void *stack); - -void * -ffi_prep_args (extended_cif *ecif, void *stack) -{ - unsigned int i; - void **p_argv; - char *argp; - ffi_type **p_arg; - void *struct_value_ptr; - - argp = stack; - - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT - && !ecif->cif->flags) - struct_value_ptr = ecif->rvalue; - else - struct_value_ptr = NULL; - - p_argv = ecif->avalue; - - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; - i != 0; - i--, p_arg++) - { - size_t z; - - z = (*p_arg)->size; - if (z < sizeof (int)) - { - switch ((*p_arg)->type) - { - case FFI_TYPE_SINT8: - *(signed int *) argp = (signed int) *(SINT8 *) *p_argv; - break; - - case FFI_TYPE_UINT8: - *(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv; - break; - - case FFI_TYPE_SINT16: - *(signed int *) argp = (signed int) *(SINT16 *) *p_argv; - break; - - case FFI_TYPE_UINT16: - *(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv; - break; - - case FFI_TYPE_STRUCT: - memcpy (argp, *p_argv, z); - break; - - default: - FFI_ASSERT (0); - } - z = sizeof (int); - } - else - { - memcpy (argp, *p_argv, z); - - /* Align if necessary. */ - if ((sizeof(int) - 1) & z) - z = FFI_ALIGN(z, sizeof(int)); - } - - p_argv++; - argp += z; - } - - return struct_value_ptr; -} - -ffi_status -ffi_prep_cif_machdep (ffi_cif *cif) -{ - /* Set the return type flag */ - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - cif->flags = 0; - break; - - case FFI_TYPE_STRUCT: - if (cif->rtype->elements[0]->type == FFI_TYPE_STRUCT && - cif->rtype->elements[1]) - { - cif->flags = 0; - break; - } - - if (cif->rtype->size == sizeof (char)) - cif->flags = CIF_FLAGS_CHAR; - else if (cif->rtype->size == sizeof (short)) - cif->flags = CIF_FLAGS_SHORT; - else if (cif->rtype->size == sizeof (int)) - cif->flags = CIF_FLAGS_INT; - else if (cif->rtype->size == 2 * sizeof (int)) - cif->flags = CIF_FLAGS_DINT; - else - cif->flags = 0; - break; - - default: - if (cif->rtype->size <= sizeof (int)) - cif->flags = CIF_FLAGS_INT; - else - cif->flags = CIF_FLAGS_DINT; - break; - } - - return FFI_OK; -} - -void -ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue) -{ - extended_cif ecif; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* If the return value is a struct and we don't have a return value - address then we need to make one. */ - - if (rvalue == NULL - && cif->rtype->type == FFI_TYPE_STRUCT - && cif->flags == 0) - ecif.rvalue = alloca (cif->rtype->size); - else - ecif.rvalue = rvalue; - - switch (cif->abi) - { - case FFI_ELFBSD: - ffi_call_elfbsd (&ecif, cif->bytes, cif->flags, ecif.rvalue, fn); - break; - - default: - FFI_ASSERT (0); - break; - } -} - -/* - * Closure API - */ - -void ffi_closure_elfbsd (void); -void ffi_closure_struct_elfbsd (void); -unsigned int ffi_closure_elfbsd_inner (ffi_closure *, void *, char *); - -static void -ffi_prep_closure_elfbsd (ffi_cif *cif, void **avalue, char *stackp) -{ - unsigned int i; - void **p_argv; - ffi_type **p_arg; - - p_argv = avalue; - - for (i = cif->nargs, p_arg = cif->arg_types; i != 0; i--, p_arg++) - { - size_t z; - - z = (*p_arg)->size; - *p_argv = stackp; - - /* Align if necessary */ - if ((sizeof (int) - 1) & z) - z = FFI_ALIGN(z, sizeof (int)); - - p_argv++; - stackp += z; - } -} - -unsigned int -ffi_closure_elfbsd_inner (ffi_closure *closure, void *resp, char *stack) -{ - ffi_cif *cif; - void **arg_area; - - cif = closure->cif; - arg_area = (void **) alloca (cif->nargs * sizeof (void *)); - - ffi_prep_closure_elfbsd (cif, arg_area, stack); - - (closure->fun) (cif, resp, arg_area, closure->user_data); - - return cif->flags; -} - -ffi_status -ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif, - void (*fun)(ffi_cif *, void *, void **, void *), - void *user_data, void *codeloc) -{ - char *tramp = (char *) codeloc; - void *fn; - - FFI_ASSERT (cif->abi == FFI_ELFBSD); - - /* entry mask */ - *(unsigned short *)(tramp + 0) = 0x0000; - /* movl #closure, r0 */ - tramp[2] = 0xd0; - tramp[3] = 0x8f; - *(unsigned int *)(tramp + 4) = (unsigned int) closure; - tramp[8] = 0x50; - - if (cif->rtype->type == FFI_TYPE_STRUCT - && !cif->flags) - fn = &ffi_closure_struct_elfbsd; - else - fn = &ffi_closure_elfbsd; - - /* jmpl #fn */ - tramp[9] = 0x17; - tramp[10] = 0xef; - *(unsigned int *)(tramp + 11) = (unsigned int)fn + 2 - - (unsigned int)tramp - 9 - 6; - - closure->cif = cif; - closure->user_data = user_data; - closure->fun = fun; - - return FFI_OK; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffitarget.h deleted file mode 100644 index 2fc9488..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffitarget.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2013 Miodrag Vallat. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * ``Software''), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * vax Foreign Function Interface - */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_ELFBSD, - FFI_DEFAULT_ABI = FFI_ELFBSD, - FFI_LAST_ABI = FFI_DEFAULT_ABI + 1 -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_TRAMPOLINE_SIZE 15 -#define FFI_NATIVE_RAW_API 0 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffi.c deleted file mode 100644 index 399a06e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffi.c +++ /dev/null @@ -1,934 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2018-2023 Hood Chatham, Brion Vibber, Kleis Auke Wolthuizen, and others. - - wasm32/emscripten Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include - -#include - -#ifdef DEBUG_F -#define LOG_DEBUG(args...) \ - console.warn(`====LIBFFI(line __LINE__)`, args) -#else -#define LOG_DEBUG(args...) 0 -#endif - -#define EM_JS_MACROS(ret, name, args, body...) EM_JS(ret, name, args, body) - -#if WASM_BIGINT -EM_JS_DEPS(libffi, "$getWasmTableEntry,$setWasmTableEntry,$getEmptyTableSlot,$convertJsFunctionToWasm"); -#define CALL_FUNCTION_POINTER(ptr, args...) \ - (LOG_DEBUG("CALL_FUNC_PTR", ptr, args), \ - getWasmTableEntry(ptr).apply(null, args)) - -#define JS_FUNCTION_TO_WASM convertJsFunctionToWasm -#else -EM_JS_DEPS(libffi, "$getWasmTableEntry,$setWasmTableEntry,$getEmptyTableSlot,$convertJsFunctionToWasm,$dynCall,$generateFuncType,$uleb128Encode"); -#define CALL_FUNCTION_POINTER(ptr, args...) \ - (LOG_DEBUG("CALL_FUNC_PTR", sig, ptr, args), \ - dynCall(sig, ptr, args)) - -#define JS_FUNCTION_TO_WASM createLegalizerWrapper -#endif - -// Signature calculations are not needed if WASM_BIGINT is present. -#if WASM_BIGINT -#define SIG(sig) -#else -#define SIG(sig) sig -#endif - -#define DEREF_U8(addr, offset) HEAPU8[addr + offset] -#define DEREF_S8(addr, offset) HEAP8[addr + offset] -#define DEREF_U16(addr, offset) HEAPU16[(addr >> 1) + offset] -#define DEREF_S16(addr, offset) HEAP16[(addr >> 1) + offset] -#define DEREF_U32(addr, offset) HEAPU32[(addr >> 2) + offset] -#define DEREF_S32(addr, offset) HEAP32[(addr >> 2) + offset] - -#define DEREF_F32(addr, offset) HEAPF32[(addr >> 2) + offset] -#define DEREF_F64(addr, offset) HEAPF64[(addr >> 3) + offset] - -#if WASM_BIGINT -// We have HEAPU64 in this case. -#define DEREF_U64(addr, offset) HEAPU64[(addr >> 3) + offset] -#endif - - -#define CHECK_FIELD_OFFSET(struct, field, offset) \ - _Static_assert( \ - offsetof(struct, field) == offset, \ - "Memory layout of '" #struct "' has changed: '" #field "' is in an unexpected location"); - -CHECK_FIELD_OFFSET(ffi_cif, abi, 4*0); -CHECK_FIELD_OFFSET(ffi_cif, nargs, 4*1); -CHECK_FIELD_OFFSET(ffi_cif, arg_types, 4*2); -CHECK_FIELD_OFFSET(ffi_cif, rtype, 4*3); -CHECK_FIELD_OFFSET(ffi_cif, nfixedargs, 4*6); - -#define CIF__ABI(addr) DEREF_U32(addr, 0) -#define CIF__NARGS(addr) DEREF_U32(addr, 1) -#define CIF__ARGTYPES(addr) DEREF_U32(addr, 2) -#define CIF__RTYPE(addr) DEREF_U32(addr, 3) -#define CIF__NFIXEDARGS(addr) DEREF_U32(addr, 6) - -CHECK_FIELD_OFFSET(ffi_type, size, 0); -CHECK_FIELD_OFFSET(ffi_type, alignment, 4); -CHECK_FIELD_OFFSET(ffi_type, type, 6); -CHECK_FIELD_OFFSET(ffi_type, elements, 8); - -#define FFI_TYPE__SIZE(addr) DEREF_U32(addr, 0) -#define FFI_TYPE__ALIGN(addr) DEREF_U16(addr + 4, 0) -#define FFI_TYPE__TYPEID(addr) DEREF_U16(addr + 6, 0) -#define FFI_TYPE__ELEMENTS(addr) DEREF_U32(addr + 8, 0) - -#define ALIGN_ADDRESS(addr, align) (addr &= (~((align) - 1))) -#define STACK_ALLOC(stack, size, align) ((stack -= (size)), ALIGN_ADDRESS(stack, align)) - -// Most wasm runtimes support at most 1000 Js trampoline args. -#define MAX_ARGS 1000 - -#include - -#define VARARGS_FLAG 1 - -#define FFI_OK_MACRO 0 -_Static_assert(FFI_OK_MACRO == FFI_OK, "FFI_OK must be 0"); - -#define FFI_BAD_TYPEDEF_MACRO 1 -_Static_assert(FFI_BAD_TYPEDEF_MACRO == FFI_BAD_TYPEDEF, "FFI_BAD_TYPEDEF must be 1"); - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep(ffi_cif *cif) -{ - if (cif->abi != FFI_WASM32_EMSCRIPTEN) - return FFI_BAD_ABI; - // This is called after ffi_prep_cif_machdep_var so we need to avoid - // overwriting cif->nfixedargs. - if (!(cif->flags & VARARGS_FLAG)) - cif->nfixedargs = cif->nargs; - if (cif->nargs > MAX_ARGS) - return FFI_BAD_TYPEDEF; - if (cif->rtype->type == FFI_TYPE_COMPLEX) - return FFI_BAD_TYPEDEF; - // If they put the COMPLEX type into a struct we won't notice, but whatever. - for (int i = 0; i < cif->nargs; i++) - if (cif->arg_types[i]->type == FFI_TYPE_COMPLEX) - return FFI_BAD_TYPEDEF; - return FFI_OK; -} - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned nfixedargs, unsigned ntotalargs) -{ - cif->flags |= VARARGS_FLAG; - cif->nfixedargs = nfixedargs; - // The varargs takes up one extra argument - if (cif->nfixedargs + 1 > MAX_ARGS) - return FFI_BAD_TYPEDEF; - return FFI_OK; -} - -/** - * A Javascript helper function. This takes an argument typ which is a wasm - * pointer to an ffi_type object. It returns a pair a type and a type id. - * - * - If it is not a struct, return its type and its typeid field. - * - If it is a struct of size >= 2, return the type and its typeid (which - * will be FFI_TYPE_STRUCT) - * - If it is a struct of size 0, return FFI_TYPE_VOID (????? this is broken) - * - If it is a struct of size 1, replace it with the single field and apply - * the same logic again to that. - * - * By always unboxing structs up front, we can avoid messy casework later. - */ -EM_JS_MACROS( -void, -unbox_small_structs, (ffi_type type_ptr), { - var type_id = FFI_TYPE__TYPEID(type_ptr); - while (type_id === FFI_TYPE_STRUCT) { - var elements = FFI_TYPE__ELEMENTS(type_ptr); - var first_element = DEREF_U32(elements, 0); - if (first_element === 0) { - type_id = FFI_TYPE_VOID; - break; - } else if (DEREF_U32(elements, 1) === 0) { - type_ptr = first_element; - type_id = FFI_TYPE__TYPEID(first_element); - } else { - break; - } - } - return [type_ptr, type_id]; -}) - -EM_JS_MACROS( -void, -ffi_call_js, (ffi_cif *cif, ffi_fp fn, void *rvalue, void **avalue), -{ - var abi = CIF__ABI(cif); - var nargs = CIF__NARGS(cif); - var nfixedargs = CIF__NFIXEDARGS(cif); - var arg_types_ptr = CIF__ARGTYPES(cif); - var rtype_unboxed = unbox_small_structs(CIF__RTYPE(cif)); - var rtype_ptr = rtype_unboxed[0]; - var rtype_id = rtype_unboxed[1]; - var orig_stack_ptr = stackSave(); - var cur_stack_ptr = orig_stack_ptr; - - var args = []; - // Does our onwards call return by argument or normally? We return by argument - // no matter what. - var ret_by_arg = false; - - if (rtype_id === FFI_TYPE_COMPLEX) { - throw new Error('complex ret marshalling nyi'); - } - if (rtype_id < 0 || rtype_id > FFI_TYPE_LAST) { - throw new Error('Unexpected rtype ' + rtype_id); - } - // If the return type is a struct with multiple entries or a long double, the - // function takes an extra first argument which is a pointer to return value. - // Conveniently, we've already received a pointer to return value, so we can - // just use this. We also mark a flag that we don't need to convert the return - // value of the dynamic call back to C. - if (rtype_id === FFI_TYPE_LONGDOUBLE || rtype_id === FFI_TYPE_STRUCT) { - args.push(rvalue); - ret_by_arg = true; - } - - SIG(var sig = ""); - -#if !WASM_BIGINT - switch(rtype_id) { - case FFI_TYPE_VOID: - SIG(sig = 'v'); - break; - case FFI_TYPE_STRUCT: - case FFI_TYPE_LONGDOUBLE: - SIG(sig = 'vi'); - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - SIG(sig = 'i'); - break; - case FFI_TYPE_FLOAT: - SIG(sig = 'f'); - break; - case FFI_TYPE_DOUBLE: - SIG(sig = 'd'); - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - SIG(sig = 'j'); - break; - } -#endif - - // Accumulate a Javascript list of arguments for the Javascript wrapper for - // the wasm function. The Javascript wrapper does a type conversion from - // Javascript to C automatically, here we manually do the inverse conversion - // from C to Javascript. - for (var i = 0; i < nfixedargs; i++) { - var arg_ptr = DEREF_U32(avalue, i); - var arg_unboxed = unbox_small_structs(DEREF_U32(arg_types_ptr, i)); - var arg_type_ptr = arg_unboxed[0]; - var arg_type_id = arg_unboxed[1]; - - // It's okay here to always use unsigned integers as long as the size is 32 - // or 64 bits. Smaller sizes get extended to 32 bits differently according - // to whether they are signed or unsigned. - switch (arg_type_id) { - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - args.push(DEREF_U32(arg_ptr, 0)); - SIG(sig += 'i'); - break; - case FFI_TYPE_FLOAT: - args.push(DEREF_F32(arg_ptr, 0)); - SIG(sig += 'f'); - break; - case FFI_TYPE_DOUBLE: - args.push(DEREF_F64(arg_ptr, 0)); - SIG(sig += 'd'); - break; - case FFI_TYPE_UINT8: - args.push(DEREF_U8(arg_ptr, 0)); - SIG(sig += 'i'); - break; - case FFI_TYPE_SINT8: - args.push(DEREF_S8(arg_ptr, 0)); - SIG(sig += 'i'); - break; - case FFI_TYPE_UINT16: - args.push(DEREF_U16(arg_ptr, 0)); - SIG(sig += 'i'); - break; - case FFI_TYPE_SINT16: - args.push(DEREF_S16(arg_ptr, 0)); - SIG(sig += 'i'); - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - #if WASM_BIGINT - args.push(DEREF_U64(arg_ptr, 0)); - #else - args.push(DEREF_U32(arg_ptr, 0)); - args.push(DEREF_U32(arg_ptr, 1)); - #endif - SIG(sig += 'j'); - break; - case FFI_TYPE_LONGDOUBLE: - // long double is passed as a pair of BigInts. - #if WASM_BIGINT - args.push(DEREF_U64(arg_ptr, 0)); - args.push(DEREF_U64(arg_ptr, 1)); - #else - args.push(DEREF_U32(arg_ptr, 0)); - args.push(DEREF_U32(arg_ptr, 1)); - args.push(DEREF_U32(arg_ptr, 2)); - args.push(DEREF_U32(arg_ptr, 3)); - #endif - SIG(sig += "jj"); - break; - case FFI_TYPE_STRUCT: - // Nontrivial structs are passed by pointer. - // Have to copy the struct onto the stack though because C ABI says it's - // call by value. - var size = FFI_TYPE__SIZE(arg_type_ptr); - var align = FFI_TYPE__ALIGN(arg_type_ptr); - STACK_ALLOC(cur_stack_ptr, size, align); - HEAP8.subarray(cur_stack_ptr, cur_stack_ptr+size).set(HEAP8.subarray(arg_ptr, arg_ptr + size)); - args.push(cur_stack_ptr); - SIG(sig += 'i'); - break; - case FFI_TYPE_COMPLEX: - throw new Error('complex marshalling nyi'); - default: - throw new Error('Unexpected type ' + arg_type_id); - } - } - - // Wasm functions can't directly manipulate the callstack, so varargs - // arguments have to go on a separate stack. A varags function takes one extra - // argument which is a pointer to where on the separate stack the args are - // located. Because stacks are allocated backwards, we have to loop over the - // varargs backwards. - // - // We don't have any way of knowing how many args were actually passed, so we - // just always copy extra nonsense past the end. The ownwards call will know - // not to look at it. - if (nfixedargs != nargs) { - SIG(sig += 'i'); - var struct_arg_info = []; - for (var i = nargs - 1; i >= nfixedargs; i--) { - var arg_ptr = DEREF_U32(avalue, i); - var arg_unboxed = unbox_small_structs(DEREF_U32(arg_types_ptr, i)); - var arg_type_ptr = arg_unboxed[0]; - var arg_type_id = arg_unboxed[1]; - switch (arg_type_id) { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - STACK_ALLOC(cur_stack_ptr, 1, 1); - DEREF_U8(cur_stack_ptr, 0) = DEREF_U8(arg_ptr, 0); - break; - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - STACK_ALLOC(cur_stack_ptr, 2, 2); - DEREF_U16(cur_stack_ptr, 0) = DEREF_U16(arg_ptr, 0); - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - case FFI_TYPE_FLOAT: - STACK_ALLOC(cur_stack_ptr, 4, 4); - DEREF_U32(cur_stack_ptr, 0) = DEREF_U32(arg_ptr, 0); - break; - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - STACK_ALLOC(cur_stack_ptr, 8, 8); - DEREF_U32(cur_stack_ptr, 0) = DEREF_U32(arg_ptr, 0); - DEREF_U32(cur_stack_ptr, 1) = DEREF_U32(arg_ptr, 1); - break; - case FFI_TYPE_LONGDOUBLE: - STACK_ALLOC(cur_stack_ptr, 16, 8); - DEREF_U32(cur_stack_ptr, 0) = DEREF_U32(arg_ptr, 0); - DEREF_U32(cur_stack_ptr, 1) = DEREF_U32(arg_ptr, 1); - DEREF_U32(cur_stack_ptr, 2) = DEREF_U32(arg_ptr, 2); - DEREF_U32(cur_stack_ptr, 3) = DEREF_U32(arg_ptr, 3); - break; - case FFI_TYPE_STRUCT: - // Again, struct must be passed by pointer. - // But ABI is by value, so have to copy struct onto stack. - // Currently arguments are going onto stack so we can't put it there now. Come back for this. - STACK_ALLOC(cur_stack_ptr, 4, 4); - struct_arg_info.push([cur_stack_ptr, arg_ptr, FFI_TYPE__SIZE(arg_type_ptr), FFI_TYPE__ALIGN(arg_type_ptr)]); - break; - case FFI_TYPE_COMPLEX: - throw new Error('complex arg marshalling nyi'); - default: - throw new Error('Unexpected argtype ' + arg_type_id); - } - } - // extra normal argument which is the pointer to the varargs. - args.push(cur_stack_ptr); - // Now allocate variable struct args on stack too. - for (var i = 0; i < struct_arg_info.length; i++) { - var struct_info = struct_arg_info[i]; - var arg_target = struct_info[0]; - var arg_ptr = struct_info[1]; - var size = struct_info[2]; - var align = struct_info[3]; - STACK_ALLOC(cur_stack_ptr, size, align); - HEAP8.subarray(cur_stack_ptr, cur_stack_ptr+size).set(HEAP8.subarray(arg_ptr, arg_ptr + size)); - DEREF_U32(arg_target, 0) = cur_stack_ptr; - } - } - stackRestore(cur_stack_ptr); - stackAlloc(0); // stackAlloc enforces alignment invariants on the stack pointer - var result = CALL_FUNCTION_POINTER(fn, args); - // Put the stack pointer back (we moved it if there were any struct args or we - // made a varargs call) - stackRestore(orig_stack_ptr); - - // We need to return by argument. If return value was a nontrivial struct or - // long double, the onwards call already put the return value in rvalue - if (ret_by_arg) { - return; - } - - // Otherwise the result was automatically converted from C into Javascript and - // we need to manually convert it back to C. - switch (rtype_id) { - case FFI_TYPE_VOID: - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - DEREF_U32(rvalue, 0) = result; - break; - case FFI_TYPE_FLOAT: - DEREF_F32(rvalue, 0) = result; - break; - case FFI_TYPE_DOUBLE: - DEREF_F64(rvalue, 0) = result; - break; - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - DEREF_U8(rvalue, 0) = result; - break; - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - DEREF_U16(rvalue, 0) = result; - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - #if WASM_BIGINT - DEREF_U64(rvalue, 0) = result; - #else - DEREF_U32(rvalue, 0) = result; - DEREF_U32(rvalue, 1) = getTempRet0(); - #endif - break; - case FFI_TYPE_COMPLEX: - throw new Error('complex ret marshalling nyi'); - default: - throw new Error('Unexpected rtype ' + rtype_id); - } -}); - -void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) { - ffi_call_js(cif, fn, rvalue, avalue); -} - -CHECK_FIELD_OFFSET(ffi_closure, ftramp, 4*0); -CHECK_FIELD_OFFSET(ffi_closure, cif, 4*1); -CHECK_FIELD_OFFSET(ffi_closure, fun, 4*2); -CHECK_FIELD_OFFSET(ffi_closure, user_data, 4*3); - -#define CLOSURE__wrapper(addr) DEREF_U32(addr, 0) -#define CLOSURE__cif(addr) DEREF_U32(addr, 1) -#define CLOSURE__fun(addr) DEREF_U32(addr, 2) -#define CLOSURE__user_data(addr) DEREF_U32(addr, 3) - -EM_JS_MACROS(void *, ffi_closure_alloc_js, (size_t size, void **code), { - var closure = _malloc(size); - var index = getEmptyTableSlot(); - DEREF_U32(code, 0) = index; - CLOSURE__wrapper(closure) = index; - return closure; -}) - -void * __attribute__ ((visibility ("default"))) -ffi_closure_alloc(size_t size, void **code) { - return ffi_closure_alloc_js(size, code); -} - -EM_JS_MACROS(void, ffi_closure_free_js, (void *closure), { - var index = CLOSURE__wrapper(closure); - freeTableIndexes.push(index); - _free(closure); -}) - -void __attribute__ ((visibility ("default"))) -ffi_closure_free(void *closure) { - return ffi_closure_free_js(closure); -} - -#if !WASM_BIGINT - -// When !WASM_BIGINT, we assume there is no JS bigint integration, so JavaScript -// functions cannot take 64 bit integer arguments. -// -// We need to make our own wasm legalizer adaptor that splits 64 bit integer -// arguments and then calls the JavaScript trampoline, then the JavaScript -// trampoline reassembles them, calls the closure, then splits the result (if -// it's a 64 bit integer) and the adaptor puts it back together. -// -// This is basically the reverse of the Emscripten function -// createDyncallWrapper. -EM_JS(void, createLegalizerWrapper, (int trampoline, int sig), { - if(!sig.includes("j")) { - return convertJsFunctionToWasm(trampoline, sig); - } - var sections = []; - var prelude = [ - 0x00, 0x61, 0x73, 0x6d, // magic ("\0asm") - 0x01, 0x00, 0x00, 0x00, // version: 1 - ]; - sections.push(prelude); - var wrappersig = [ - // if return type is j, we will put the upper 32 bits into tempRet0. - sig[0].replace("j", "i"), - // in the rest of the argument list, one 64 bit integer is legalized into - // two 32 bit integers. - sig.slice(1).replace(/j/g, "ii"), - ].join(""); - - var typeSectionBody = [ - 0x03, // number of types = 3 - ]; - generateFuncType(wrappersig, typeSectionBody); // The signature of the wrapper we are generating - generateFuncType(sig, typeSectionBody); // the signature of the function pointer we will call - generateFuncType("i", typeSectionBody); // the signature of getTempRet0 - - var typeSection = [0x01 /* Type section code */]; - uleb128Encode(typeSectionBody.length, typeSection); // length of section in bytes - typeSection.push.apply(typeSection, typeSectionBody); - sections.push(typeSection); - - var importSection = [ - 0x02, // import section code - 0x0d, // length of section in bytes - 0x02, // number of imports = 2 - // Import the getTempRet0 function, which we will call "r" - 0x01, 0x65, // name "e" - 0x01, 0x72, // name "r" - 0x00, // importing a function - 0x02, // type 2 = () -> i32 - // Import the wrapped function, which we will call "f" - 0x01, 0x65, // name "e" - 0x01, 0x66, // name "f" - 0x00, // importing a function - 0x00, // type 0 = wrappersig - ]; - sections.push(importSection); - - var functionSection = [ - 0x03, // function section code - 0x02, // length of section in bytes - 0x01, // number of functions = 1 - 0x01, // type 1 = sig - ]; - sections.push(functionSection); - - var exportSection = [ - 0x07, // export section code - 0x05, // length of section in bytes - 0x01, // One export - 0x01, 0x66, // name "f" - 0x00, // type: function - 0x02, // function index 2 = the wrapper function - ]; - sections.push(exportSection); - - var convert_code = []; - convert_code.push(0x00); // no local variables (except the arguments) - - function localGet(j) { - convert_code.push(0x20); // local.get - uleb128Encode(j, convert_code); - } - - for (var i = 1; i < sig.length; i++) { - if (sig[i] == "j") { - localGet(i - 1); - convert_code.push( - 0xa7 // i32.wrap_i64 - ); - localGet(i - 1); - convert_code.push( - 0x42, 0x20, // i64.const 32 - 0x88, // i64.shr_u - 0xa7 // i32.wrap_i64 - ); - } else { - localGet(i - 1); - } - } - convert_code.push( - 0x10, 0x01 // call f - ); - if (sig[0] === "j") { - // Need to reassemble a 64 bit integer. Lower 32 bits is on stack. Upper 32 - // bits we get from getTempRet0 - convert_code.push( - 0xad, // i64.extend_i32_unsigned - 0x10, 0x00, // Call function 0 (r = getTempRet0) - // join lower 32 bits and upper 32 bits - 0xac, // i64.extend_i32_signed - 0x42, 0x20, // i64.const 32 - 0x86, // i64.shl, - 0x84 // i64.or - ); - } - convert_code.push(0x0b); // end - - var codeBody = [0x01]; // one code - uleb128Encode(convert_code.length, codeBody); - codeBody.push.apply(codeBody, convert_code); - var codeSection = [0x0a /* Code section code */]; - uleb128Encode(codeBody.length, codeSection); - codeSection.push.apply(codeSection, codeBody); - sections.push(codeSection); - - var bytes = new Uint8Array([].concat.apply([], sections)); - // We can compile this wasm module synchronously because it is small. - var module = new WebAssembly.Module(bytes); - var instance = new WebAssembly.Instance(module, { - e: { - r: getTempRet0, - f: trampoline, - }, - }); - return instance.exports.f; -}); -#endif - -EM_JS_MACROS( -ffi_status, -ffi_prep_closure_loc_js, -(ffi_closure *closure, ffi_cif *cif, void *fun, void *user_data, void *codeloc), -{ - var abi = CIF__ABI(cif); - var nargs = CIF__NARGS(cif); - var nfixedargs = CIF__NFIXEDARGS(cif); - var arg_types_ptr = CIF__ARGTYPES(cif); - var rtype_unboxed = unbox_small_structs(CIF__RTYPE(cif)); - var rtype_ptr = rtype_unboxed[0]; - var rtype_id = rtype_unboxed[1]; - - // First construct the signature of the javascript trampoline we are going to create. - // Important: this is the signature for calling us, the onward call always has sig viiii. - var sig; - var ret_by_arg = false; - switch (rtype_id) { - case FFI_TYPE_VOID: - sig = 'v'; - break; - case FFI_TYPE_STRUCT: - case FFI_TYPE_LONGDOUBLE: - // Return via a first pointer argument. - sig = 'vi'; - ret_by_arg = true; - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - sig = 'i'; - break; - case FFI_TYPE_FLOAT: - sig = 'f'; - break; - case FFI_TYPE_DOUBLE: - sig = 'd'; - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - sig = 'j'; - break; - case FFI_TYPE_COMPLEX: - throw new Error('complex ret marshalling nyi'); - default: - throw new Error('Unexpected rtype ' + rtype_id); - } - var unboxed_arg_type_id_list = []; - var unboxed_arg_type_info_list = []; - for (var i = 0; i < nargs; i++) { - var arg_unboxed = unbox_small_structs(DEREF_U32(arg_types_ptr, i)); - var arg_type_ptr = arg_unboxed[0]; - var arg_type_id = arg_unboxed[1]; - unboxed_arg_type_id_list.push(arg_type_id); - unboxed_arg_type_info_list.push([FFI_TYPE__SIZE(arg_type_ptr), FFI_TYPE__ALIGN(arg_type_ptr)]); - } - for (var i = 0; i < nfixedargs; i++) { - switch (unboxed_arg_type_id_list[i]) { - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - case FFI_TYPE_STRUCT: - sig += 'i'; - break; - case FFI_TYPE_FLOAT: - sig += 'f'; - break; - case FFI_TYPE_DOUBLE: - sig += 'd'; - break; - case FFI_TYPE_LONGDOUBLE: - sig += 'jj'; - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - sig += 'j'; - break; - case FFI_TYPE_COMPLEX: - throw new Error('complex marshalling nyi'); - default: - throw new Error('Unexpected argtype ' + arg_type_id); - } - } - if (nfixedargs < nargs) { - // extra pointer to varargs stack - sig += "i"; - } - LOG_DEBUG("CREATE_CLOSURE", "sig:", sig); - function trampoline() { - var args = Array.prototype.slice.call(arguments); - var size = 0; - var orig_stack_ptr = stackSave(); - var cur_ptr = orig_stack_ptr; - var ret_ptr; - var jsarg_idx = 0; - // Should we return by argument or not? The onwards call returns by argument - // no matter what. (Warning: ret_by_arg means the opposite in ffi_call) - if (ret_by_arg) { - ret_ptr = args[jsarg_idx++]; - } else { - // We might return 4 bytes or 8 bytes, allocate 8 just in case. - STACK_ALLOC(cur_ptr, 8, 8); - ret_ptr = cur_ptr; - } - cur_ptr -= 4 * nargs; - var args_ptr = cur_ptr; - var carg_idx = 0; - // Here we either have the actual argument, or a pair of BigInts for long - // double, or a pointer to struct. We have to store into args_ptr[i] a - // pointer to the ith argument. If the argument is a struct, just store the - // pointer. Otherwise allocate stack space and copy the js argument onto the - // stack. - for (; carg_idx < nfixedargs; carg_idx++) { - // jsarg_idx might start out as 0 or 1 depending on ret_by_arg - // it advances an extra time for long double - var cur_arg = args[jsarg_idx++]; - var arg_type_info = unboxed_arg_type_info_list[carg_idx]; - var arg_size = arg_type_info[0]; - var arg_align = arg_type_info[1]; - var arg_type_id = unboxed_arg_type_id_list[carg_idx]; - switch (arg_type_id) { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - // Bad things happen if we don't align to 4 here - STACK_ALLOC(cur_ptr, 1, 4); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - DEREF_U8(cur_ptr, 0) = cur_arg; - break; - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - // Bad things happen if we don't align to 4 here - STACK_ALLOC(cur_ptr, 2, 4); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - DEREF_U16(cur_ptr, 0) = cur_arg; - break; - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - STACK_ALLOC(cur_ptr, 4, 4); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - DEREF_U32(cur_ptr, 0) = cur_arg; - break; - case FFI_TYPE_STRUCT: - // cur_arg is already a pointer to struct - // copy it onto stack to pass by value - STACK_ALLOC(cur_ptr, arg_size, arg_align); - HEAP8.subarray(cur_ptr, cur_ptr + arg_size).set(HEAP8.subarray(cur_arg, cur_arg + arg_size)); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - break; - case FFI_TYPE_FLOAT: - STACK_ALLOC(cur_ptr, 4, 4); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - DEREF_F32(cur_ptr, 0) = cur_arg; - break; - case FFI_TYPE_DOUBLE: - STACK_ALLOC(cur_ptr, 8, 8); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - DEREF_F64(cur_ptr, 0) = cur_arg; - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - STACK_ALLOC(cur_ptr, 8, 8); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - #if WASM_BIGINT - DEREF_U64(cur_ptr, 0) = cur_arg; - #else - // Bigint arg was split by legalizer adaptor - DEREF_U32(cur_ptr, 0) = cur_arg; - cur_arg = args[jsarg_idx++]; - DEREF_U32(cur_ptr, 1) = cur_arg; - #endif - break; - case FFI_TYPE_LONGDOUBLE: - STACK_ALLOC(cur_ptr, 16, 8); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - #if WASM_BIGINT - DEREF_U64(cur_ptr, 0) = cur_arg; - cur_arg = args[jsarg_idx++]; - DEREF_U64(cur_ptr, 1) = cur_arg; - #else - // Was split by legalizer adaptor - DEREF_U32(cur_ptr, 0) = cur_arg; - cur_arg = args[jsarg_idx++]; - DEREF_U32(cur_ptr, 1) = cur_arg; - cur_arg = args[jsarg_idx++]; - DEREF_U32(cur_ptr, 2) = cur_arg; - cur_arg = args[jsarg_idx++]; - DEREF_U32(cur_ptr, 3) = cur_arg; - #endif - break; - } - } - // If its a varargs call, last js argument is a pointer to the varargs. - var varargs = args[args.length - 1]; - // We have no way of knowing how many varargs were actually provided, this - // fills the rest of the stack space allocated with nonsense. The onward - // call will know to ignore the nonsense. - - // We either have a pointer to the argument if the argument is not a struct - // or a pointer to pointer to struct. We need to store a pointer to the - // argument into args_ptr[i] - for (; carg_idx < nargs; carg_idx++) { - var arg_type_id = unboxed_arg_type_id_list[carg_idx]; - var arg_type_info = unboxed_arg_type_info_list[carg_idx]; - var arg_size = arg_type_info[0]; - var arg_align = arg_type_info[1]; - if (arg_type_id === FFI_TYPE_STRUCT) { - // In this case varargs is a pointer to pointer to struct so we need to - // deref once - var struct_ptr = DEREF_U32(varargs, 0); - STACK_ALLOC(cur_ptr, arg_size, arg_align); - HEAP8.subarray(cur_ptr, cur_ptr + arg_size).set(HEAP8.subarray(struct_ptr, struct_ptr + arg_size)); - DEREF_U32(args_ptr, carg_idx) = cur_ptr; - } else { - DEREF_U32(args_ptr, carg_idx) = varargs; - } - varargs += 4; - } - stackRestore(cur_ptr); - stackAlloc(0); // stackAlloc enforces alignment invariants on the stack pointer - LOG_DEBUG("CALL_CLOSURE", "closure:", closure, "fptr", CLOSURE__fun(closure), "cif", CLOSURE__cif(closure)); - getWasmTableEntry(CLOSURE__fun(closure))( - CLOSURE__cif(closure), ret_ptr, args_ptr, - CLOSURE__user_data(closure) - ); - stackRestore(orig_stack_ptr); - - // If we aren't supposed to return by argument, figure out what to return. - if (!ret_by_arg) { - switch (sig[0]) { - case "i": - return DEREF_U32(ret_ptr, 0); - case "j": - #if WASM_BIGINT - return DEREF_U64(ret_ptr, 0); - #else - // Split the return i64, set the upper 32 bits into tempRet0 and return - // the lower 32 bits. - setTempRet0(DEREF_U32(ret_ptr, 1)); - return DEREF_U32(ret_ptr, 0); - #endif - case "d": - return DEREF_F64(ret_ptr, 0); - case "f": - return DEREF_F32(ret_ptr, 0); - } - } - } - try { - var wasm_trampoline = JS_FUNCTION_TO_WASM(trampoline, sig); - } catch(e) { - return FFI_BAD_TYPEDEF_MACRO; - } - setWasmTableEntry(codeloc, wasm_trampoline); - CLOSURE__cif(closure) = cif; - CLOSURE__fun(closure) = fun; - CLOSURE__user_data(closure) = user_data; - return FFI_OK_MACRO; -}) - -// EM_JS does not correctly handle function pointer arguments, so we need a -// helper -ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, - void (*fun)(ffi_cif *, void *, void **, void *), - void *user_data, void *codeloc) { - if (cif->abi != FFI_WASM32_EMSCRIPTEN) - return FFI_BAD_ABI; - return ffi_prep_closure_loc_js(closure, cif, (void *)fun, user_data, - codeloc); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffitarget.h deleted file mode 100644 index ac78b74..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffitarget.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2018-2023 Hood Chatham, Brion Vibber, Kleis Auke Wolthuizen, and others. - - Target configuration macros for wasm32. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -// TODO: https://github.com/emscripten-core/emscripten/issues/9868 -typedef void (*ffi_fp)(void); - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_WASM32, // "raw", no structures, varargs, or closures (not implemented!) - FFI_WASM32_EMSCRIPTEN, // structures, varargs, and split 64-bit params - FFI_LAST_ABI, -#ifdef __EMSCRIPTEN__ - FFI_DEFAULT_ABI = FFI_WASM32_EMSCRIPTEN -#else - FFI_DEFAULT_ABI = FFI_WASM32 -#endif -} ffi_abi; - -#define FFI_CLOSURES 1 -// #define FFI_GO_CLOSURES 0 -#define FFI_TRAMPOLINE_SIZE 4 -// #define FFI_NATIVE_RAW_API 0 -#define FFI_TARGET_SPECIFIC_VARIADIC 1 -#define FFI_EXTRA_CIF_FIELDS unsigned int nfixedargs - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/asmnames.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/asmnames.h deleted file mode 100644 index 7551021..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/asmnames.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef ASMNAMES_H -#define ASMNAMES_H - -#define C2(X, Y) X ## Y -#define C1(X, Y) C2(X, Y) -#ifdef __USER_LABEL_PREFIX__ -# define C(X) C1(__USER_LABEL_PREFIX__, X) -#else -# define C(X) X -#endif - -#ifdef __APPLE__ -# define L(X) C1(L, X) -#else -# define L(X) C1(.L, X) -#endif - -#if defined(__ELF__) && defined(__PIC__) -# define PLT(X) X@PLT -#else -# define PLT(X) X -#endif - -#ifdef __ELF__ -# define ENDF(X) .type X,@function; .size X, . - X -#else -# define ENDF(X) -#endif - -#endif /* ASMNAMES_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi.c deleted file mode 100644 index b8bb178..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi.c +++ /dev/null @@ -1,832 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2017, 2022 Anthony Green - Copyright (c) 1996, 1998, 1999, 2001, 2007, 2008 Red Hat, Inc. - Copyright (c) 2002 Ranjit Mathew - Copyright (c) 2002 Bo Thorsen - Copyright (c) 2002 Roger Sayle - Copyright (C) 2008, 2010 Free Software Foundation, Inc. - - x86 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#if defined(__i386__) || defined(_M_IX86) -#include -#include -#include -#include -#include -#include "internal.h" - -/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE; - all further uses in this file will refer to the 80-bit type. */ -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE -# if FFI_TYPE_LONGDOUBLE != 4 -# error FFI_TYPE_LONGDOUBLE out of date -# endif -#else -# undef FFI_TYPE_LONGDOUBLE -# define FFI_TYPE_LONGDOUBLE 4 -#endif - -#if defined(__GNUC__) && !defined(__declspec) -# define __declspec(x) __attribute__((x)) -#endif - -#if defined(_MSC_VER) && defined(_M_IX86) -/* Stack is not 16-byte aligned on Windows. */ -#define STACK_ALIGN(bytes) (bytes) -#else -#define STACK_ALIGN(bytes) FFI_ALIGN (bytes, 16) -#endif - -/* Perform machine dependent cif processing. */ -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep(ffi_cif *cif) -{ - size_t bytes = 0; - int i, n, flags, cabi = cif->abi; - - switch (cabi) - { - case FFI_SYSV: - case FFI_STDCALL: - case FFI_THISCALL: - case FFI_FASTCALL: - case FFI_MS_CDECL: - case FFI_PASCAL: - case FFI_REGISTER: - break; - default: - return FFI_BAD_ABI; - } - - switch (cif->rtype->type) - { - case FFI_TYPE_VOID: - flags = X86_RET_VOID; - break; - case FFI_TYPE_FLOAT: - flags = X86_RET_FLOAT; - break; - case FFI_TYPE_DOUBLE: - flags = X86_RET_DOUBLE; - break; - case FFI_TYPE_LONGDOUBLE: - flags = X86_RET_LDOUBLE; - break; - case FFI_TYPE_UINT8: - flags = X86_RET_UINT8; - break; - case FFI_TYPE_UINT16: - flags = X86_RET_UINT16; - break; - case FFI_TYPE_SINT8: - flags = X86_RET_SINT8; - break; - case FFI_TYPE_SINT16: - flags = X86_RET_SINT16; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - flags = X86_RET_INT32; - break; - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - flags = X86_RET_INT64; - break; - case FFI_TYPE_STRUCT: - { -#ifdef X86_WIN32 - size_t size = cif->rtype->size; - if (size == 1) - flags = X86_RET_STRUCT_1B; - else if (size == 2) - flags = X86_RET_STRUCT_2B; - else if (size == 4) - flags = X86_RET_INT32; - else if (size == 8) - flags = X86_RET_INT64; - else -#endif - { - do_struct: - switch (cabi) - { - case FFI_THISCALL: - case FFI_FASTCALL: - case FFI_STDCALL: - case FFI_MS_CDECL: - flags = X86_RET_STRUCTARG; - break; - default: - flags = X86_RET_STRUCTPOP; - break; - } - /* Allocate space for return value pointer. */ - bytes += FFI_ALIGN (sizeof(void*), FFI_SIZEOF_ARG); - } - } - break; - case FFI_TYPE_COMPLEX: - switch (cif->rtype->elements[0]->type) - { - case FFI_TYPE_DOUBLE: - case FFI_TYPE_LONGDOUBLE: - case FFI_TYPE_SINT64: - case FFI_TYPE_UINT64: - goto do_struct; - case FFI_TYPE_FLOAT: - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - flags = X86_RET_INT64; - break; - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - flags = X86_RET_INT32; - break; - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - flags = X86_RET_STRUCT_2B; - break; - default: - return FFI_BAD_TYPEDEF; - } - break; - default: - return FFI_BAD_TYPEDEF; - } - cif->flags = flags; - - for (i = 0, n = cif->nargs; i < n; i++) - { - ffi_type *t = cif->arg_types[i]; - -#if defined(X86_WIN32) - if (cabi == FFI_STDCALL) - bytes = FFI_ALIGN (bytes, FFI_SIZEOF_ARG); - else -#endif - bytes = FFI_ALIGN (bytes, t->alignment); - bytes += FFI_ALIGN (t->size, FFI_SIZEOF_ARG); - } - cif->bytes = bytes; - - return FFI_OK; -} - -static ffi_arg -extend_basic_type(void *arg, int type) -{ - switch (type) - { - case FFI_TYPE_SINT8: - return *(SINT8 *)arg; - case FFI_TYPE_UINT8: - return *(UINT8 *)arg; - case FFI_TYPE_SINT16: - return *(SINT16 *)arg; - case FFI_TYPE_UINT16: - return *(UINT16 *)arg; - - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT32: - case FFI_TYPE_POINTER: - case FFI_TYPE_FLOAT: - return *(UINT32 *)arg; - - default: - abort(); - } -} - -struct call_frame -{ - void *ebp; /* 0 */ - void *retaddr; /* 4 */ - void (*fn)(void); /* 8 */ - int flags; /* 12 */ - void *rvalue; /* 16 */ - unsigned regs[3]; /* 20-28 */ -}; - -struct abi_params -{ - int dir; /* parameter growth direction */ - int static_chain; /* the static chain register used by gcc */ - int nregs; /* number of register parameters */ - int regs[3]; -}; - -static const struct abi_params abi_params[FFI_LAST_ABI] = { - [FFI_SYSV] = { 1, R_ECX, 0 }, - [FFI_THISCALL] = { 1, R_EAX, 1, { R_ECX } }, - [FFI_FASTCALL] = { 1, R_EAX, 2, { R_ECX, R_EDX } }, - [FFI_STDCALL] = { 1, R_ECX, 0 }, - [FFI_PASCAL] = { -1, R_ECX, 0 }, - /* ??? No defined static chain; gcc does not support REGISTER. */ - [FFI_REGISTER] = { -1, R_ECX, 3, { R_EAX, R_EDX, R_ECX } }, - [FFI_MS_CDECL] = { 1, R_ECX, 0 } -}; - -#ifdef HAVE_FASTCALL - #ifdef _MSC_VER - #define FFI_DECLARE_FASTCALL __fastcall - #else - #define FFI_DECLARE_FASTCALL __declspec(fastcall) - #endif -#else - #define FFI_DECLARE_FASTCALL -#endif - -extern void FFI_DECLARE_FASTCALL ffi_call_i386(struct call_frame *, char *) FFI_HIDDEN; - -/* We perform some black magic here to use some of the parent's stack frame in - * ffi_call_i386() that breaks with the MSVC compiler with the /RTCs or /GZ - * flags. Disable the 'Stack frame run time error checking' for this function - * so we don't hit weird exceptions in debug builds. */ -#if defined(_MSC_VER) -#pragma runtime_checks("s", off) -#endif -static void -ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - size_t rsize, bytes; - struct call_frame *frame; - char *stack, *argp; - ffi_type **arg_types; - int flags, cabi, i, n, dir, narg_reg; - const struct abi_params *pabi; - - flags = cif->flags; - cabi = cif->abi; - pabi = &abi_params[cabi]; - dir = pabi->dir; - - rsize = 0; - if (rvalue == NULL) - { - switch (flags) - { - case X86_RET_FLOAT: - case X86_RET_DOUBLE: - case X86_RET_LDOUBLE: - case X86_RET_STRUCTPOP: - case X86_RET_STRUCTARG: - /* The float cases need to pop the 387 stack. - The struct cases need to pass a valid pointer to the callee. */ - rsize = cif->rtype->size; - break; - default: - /* We can pretend that the callee returns nothing. */ - flags = X86_RET_VOID; - break; - } - } - - bytes = STACK_ALIGN (cif->bytes); - stack = alloca(bytes + sizeof(*frame) + rsize); - argp = (dir < 0 ? stack + bytes : stack); - frame = (struct call_frame *)(stack + bytes); - if (rsize) - rvalue = frame + 1; - - frame->fn = fn; - frame->flags = flags; - frame->rvalue = rvalue; - frame->regs[pabi->static_chain] = (unsigned)closure; - - narg_reg = 0; - switch (flags) - { - case X86_RET_STRUCTARG: - /* The pointer is passed as the first argument. */ - if (pabi->nregs > 0) - { - frame->regs[pabi->regs[0]] = (unsigned)rvalue; - narg_reg = 1; - break; - } - /* fallthru */ - case X86_RET_STRUCTPOP: - *(void **)argp = rvalue; - argp += sizeof(void *); - break; - } - - arg_types = cif->arg_types; - for (i = 0, n = cif->nargs; i < n; i++) - { - ffi_type *ty = arg_types[i]; - void *valp = avalue[i]; - size_t z = ty->size; - int t = ty->type; - - if (z <= FFI_SIZEOF_ARG && t != FFI_TYPE_STRUCT) - { - ffi_arg val = extend_basic_type (valp, t); - - if (t != FFI_TYPE_FLOAT && narg_reg < pabi->nregs) - frame->regs[pabi->regs[narg_reg++]] = val; - else if (dir < 0) - { - argp -= 4; - *(ffi_arg *)argp = val; - } - else - { - *(ffi_arg *)argp = val; - argp += 4; - } - } - else - { - size_t za = FFI_ALIGN (z, FFI_SIZEOF_ARG); - size_t align = FFI_SIZEOF_ARG; - - /* Issue 434: For thiscall and fastcall, if the paramter passed - as 64-bit integer or struct, all following integer parameters - will be passed on stack. */ - if ((cabi == FFI_THISCALL || cabi == FFI_FASTCALL) - && (t == FFI_TYPE_SINT64 - || t == FFI_TYPE_UINT64 - || t == FFI_TYPE_STRUCT)) - narg_reg = 2; - - /* Alignment rules for arguments are quite complex. Vectors and - structures with 16 byte alignment get it. Note that long double - on Darwin does have 16 byte alignment, and does not get this - alignment if passed directly; a structure with a long double - inside, however, would get 16 byte alignment. Since libffi does - not support vectors, we need non concern ourselves with other - cases. */ - if (t == FFI_TYPE_STRUCT && ty->alignment >= 16) - align = 16; - - if (dir < 0) - { - /* ??? These reverse argument ABIs are probably too old - to have cared about alignment. Someone should check. */ - argp -= za; - memcpy (argp, valp, z); - } - else - { - argp = (char *)FFI_ALIGN (argp, align); - memcpy (argp, valp, z); - argp += za; - } - } - } - FFI_ASSERT (dir > 0 || argp == stack); - - ffi_call_i386 (frame, stack); -} -#if defined(_MSC_VER) -#pragma runtime_checks("s", restore) -#endif - -void -ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -#ifdef FFI_GO_CLOSURES -void -ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} -#endif - -/** private members **/ - -void FFI_HIDDEN ffi_closure_i386(void); -void FFI_HIDDEN ffi_closure_STDCALL(void); -void FFI_HIDDEN ffi_closure_REGISTER(void); -#if defined(FFI_EXEC_STATIC_TRAMP) -void FFI_HIDDEN ffi_closure_i386_alt(void); -void FFI_HIDDEN ffi_closure_STDCALL_alt(void); -void FFI_HIDDEN ffi_closure_REGISTER_alt(void); -#endif - -struct closure_frame -{ - unsigned rettemp[4]; /* 0 */ - unsigned regs[3]; /* 16-24 */ - ffi_cif *cif; /* 28 */ - void (*fun)(ffi_cif*,void*,void**,void*); /* 32 */ - void *user_data; /* 36 */ -}; - -int FFI_HIDDEN FFI_DECLARE_FASTCALL -ffi_closure_inner (struct closure_frame *frame, char *stack) -{ - ffi_cif *cif = frame->cif; - int cabi, i, n, flags, dir, narg_reg; - const struct abi_params *pabi; - ffi_type **arg_types; - char *argp; - void *rvalue; - void **avalue; - - cabi = cif->abi; - flags = cif->flags; - narg_reg = 0; - rvalue = frame->rettemp; - pabi = &abi_params[cabi]; - dir = pabi->dir; - argp = (dir < 0 ? stack + STACK_ALIGN (cif->bytes) : stack); - - switch (flags) - { - case X86_RET_STRUCTARG: - if (pabi->nregs > 0) - { - rvalue = (void *)frame->regs[pabi->regs[0]]; - narg_reg = 1; - frame->rettemp[0] = (unsigned)rvalue; - break; - } - /* fallthru */ - case X86_RET_STRUCTPOP: - rvalue = *(void **)argp; - argp += sizeof(void *); - frame->rettemp[0] = (unsigned)rvalue; - break; - } - - n = cif->nargs; - avalue = alloca(sizeof(void *) * n); - - arg_types = cif->arg_types; - for (i = 0; i < n; ++i) - { - ffi_type *ty = arg_types[i]; - size_t z = ty->size; - int t = ty->type; - void *valp; - - if (z <= FFI_SIZEOF_ARG && t != FFI_TYPE_STRUCT) - { - if (t != FFI_TYPE_FLOAT && narg_reg < pabi->nregs) - valp = &frame->regs[pabi->regs[narg_reg++]]; - else if (dir < 0) - { - argp -= 4; - valp = argp; - } - else - { - valp = argp; - argp += 4; - } - } - else - { - size_t za = FFI_ALIGN (z, FFI_SIZEOF_ARG); - size_t align = FFI_SIZEOF_ARG; - - /* See the comment in ffi_call_int. */ - if (t == FFI_TYPE_STRUCT && ty->alignment >= 16) - align = 16; - - /* Issue 434: For thiscall and fastcall, if the paramter passed - as 64-bit integer or struct, all following integer parameters - will be passed on stack. */ - if ((cabi == FFI_THISCALL || cabi == FFI_FASTCALL) - && (t == FFI_TYPE_SINT64 - || t == FFI_TYPE_UINT64 - || t == FFI_TYPE_STRUCT)) - narg_reg = 2; - - if (dir < 0) - { - /* ??? These reverse argument ABIs are probably too old - to have cared about alignment. Someone should check. */ - argp -= za; - valp = argp; - } - else - { - argp = (char *)FFI_ALIGN (argp, align); - valp = argp; - argp += za; - } - } - - avalue[i] = valp; - } - - frame->fun (cif, rvalue, avalue, frame->user_data); - - switch (cabi) - { - case FFI_STDCALL: - return flags | (cif->bytes << X86_RET_POP_SHIFT); - case FFI_THISCALL: - case FFI_FASTCALL: - return flags | ((cif->bytes - (narg_reg * FFI_SIZEOF_ARG)) - << X86_RET_POP_SHIFT); - default: - return flags; - } -} - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*), - void *user_data, - void *codeloc) -{ - char *tramp = closure->tramp; - void (*dest)(void); - int op = 0xb8; /* movl imm, %eax */ - - switch (cif->abi) - { - case FFI_SYSV: - case FFI_MS_CDECL: - dest = ffi_closure_i386; - break; - case FFI_STDCALL: - case FFI_THISCALL: - case FFI_FASTCALL: - case FFI_PASCAL: - dest = ffi_closure_STDCALL; - break; - case FFI_REGISTER: - dest = ffi_closure_REGISTER; - op = 0x68; /* pushl imm */ - break; - default: - return FFI_BAD_ABI; - } - -#if defined(FFI_EXEC_STATIC_TRAMP) - if (ffi_tramp_is_present(closure)) - { - /* Initialize the static trampoline's parameters. */ - if (dest == ffi_closure_i386) - dest = ffi_closure_i386_alt; - else if (dest == ffi_closure_STDCALL) - dest = ffi_closure_STDCALL_alt; - else - dest = ffi_closure_REGISTER_alt; - ffi_tramp_set_parms (closure->ftramp, dest, closure); - goto out; - } -#endif - - /* Initialize the dynamic trampoline. */ - /* endbr32. */ - *(UINT32 *) tramp = 0xfb1e0ff3; - - /* movl or pushl immediate. */ - tramp[4] = op; - *(void **)(tramp + 5) = codeloc; - - /* jmp dest */ - tramp[9] = 0xe9; - *(unsigned *)(tramp + 10) = (unsigned)dest - ((unsigned)codeloc + 14); - -#if defined(FFI_EXEC_STATIC_TRAMP) -out: -#endif - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -#ifdef FFI_GO_CLOSURES - -void FFI_HIDDEN ffi_go_closure_EAX(void); -void FFI_HIDDEN ffi_go_closure_ECX(void); -void FFI_HIDDEN ffi_go_closure_STDCALL(void); - -ffi_status -ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*,void*,void**,void*)) -{ - void (*dest)(void); - - switch (cif->abi) - { - case FFI_SYSV: - case FFI_MS_CDECL: - dest = ffi_go_closure_ECX; - break; - case FFI_THISCALL: - case FFI_FASTCALL: - dest = ffi_go_closure_EAX; - break; - case FFI_STDCALL: - case FFI_PASCAL: - dest = ffi_go_closure_STDCALL; - break; - case FFI_REGISTER: - default: - return FFI_BAD_ABI; - } - - closure->tramp = dest; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -#endif /* FFI_GO_CLOSURES */ - -/* ------- Native raw API support -------------------------------- */ - -#if !FFI_NO_RAW_API - -void FFI_HIDDEN ffi_closure_raw_SYSV(void); -void FFI_HIDDEN ffi_closure_raw_THISCALL(void); - -ffi_status -ffi_prep_raw_closure_loc (ffi_raw_closure *closure, - ffi_cif *cif, - void (*fun)(ffi_cif*,void*,ffi_raw*,void*), - void *user_data, - void *codeloc) -{ - char *tramp = closure->tramp; - void (*dest)(void); - int i; - - /* We currently don't support certain kinds of arguments for raw - closures. This should be implemented by a separate assembly - language routine, since it would require argument processing, - something we don't do now for performance. */ - for (i = cif->nargs-1; i >= 0; i--) - switch (cif->arg_types[i]->type) - { - case FFI_TYPE_STRUCT: - case FFI_TYPE_LONGDOUBLE: - return FFI_BAD_TYPEDEF; - } - - switch (cif->abi) - { - case FFI_THISCALL: - dest = ffi_closure_raw_THISCALL; - break; - case FFI_SYSV: - dest = ffi_closure_raw_SYSV; - break; - default: - return FFI_BAD_ABI; - } - - /* movl imm, %eax. */ - tramp[0] = 0xb8; - *(void **)(tramp + 1) = codeloc; - - /* jmp dest */ - tramp[5] = 0xe9; - *(unsigned *)(tramp + 6) = (unsigned)dest - ((unsigned)codeloc + 10); - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -void -ffi_raw_call(ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *avalue) -{ - size_t rsize, bytes; - struct call_frame *frame; - char *stack, *argp; - ffi_type **arg_types; - int flags, cabi, i, n, narg_reg; - const struct abi_params *pabi; - - flags = cif->flags; - cabi = cif->abi; - pabi = &abi_params[cabi]; - - rsize = 0; - if (rvalue == NULL) - { - switch (flags) - { - case X86_RET_FLOAT: - case X86_RET_DOUBLE: - case X86_RET_LDOUBLE: - case X86_RET_STRUCTPOP: - case X86_RET_STRUCTARG: - /* The float cases need to pop the 387 stack. - The struct cases need to pass a valid pointer to the callee. */ - rsize = cif->rtype->size; - break; - default: - /* We can pretend that the callee returns nothing. */ - flags = X86_RET_VOID; - break; - } - } - - bytes = STACK_ALIGN (cif->bytes); - argp = stack = - (void *)((uintptr_t)alloca(bytes + sizeof(*frame) + rsize + 15) & ~16); - frame = (struct call_frame *)(stack + bytes); - if (rsize) - rvalue = frame + 1; - - frame->fn = fn; - frame->flags = flags; - frame->rvalue = rvalue; - - narg_reg = 0; - switch (flags) - { - case X86_RET_STRUCTARG: - /* The pointer is passed as the first argument. */ - if (pabi->nregs > 0) - { - frame->regs[pabi->regs[0]] = (unsigned)rvalue; - narg_reg = 1; - break; - } - /* fallthru */ - case X86_RET_STRUCTPOP: - *(void **)argp = rvalue; - argp += sizeof(void *); - bytes -= sizeof(void *); - break; - } - - arg_types = cif->arg_types; - for (i = 0, n = cif->nargs; narg_reg < pabi->nregs && i < n; i++) - { - ffi_type *ty = arg_types[i]; - size_t z = ty->size; - int t = ty->type; - - if (z <= FFI_SIZEOF_ARG && t != FFI_TYPE_STRUCT && t != FFI_TYPE_FLOAT) - { - ffi_arg val = extend_basic_type (avalue, t); - frame->regs[pabi->regs[narg_reg++]] = val; - z = FFI_SIZEOF_ARG; - } - else - { - memcpy (argp, avalue, z); - z = FFI_ALIGN (z, FFI_SIZEOF_ARG); - argp += z; - } - avalue += z; - bytes -= z; - } - if (i < n) - memcpy (argp, avalue, bytes); - - ffi_call_i386 (frame, stack); -} -#endif /* !FFI_NO_RAW_API */ - -#if defined(FFI_EXEC_STATIC_TRAMP) -void * -ffi_tramp_arch (size_t *tramp_size, size_t *map_size) -{ - extern void *trampoline_code_table; - - *map_size = X86_TRAMP_MAP_SIZE; - *tramp_size = X86_TRAMP_SIZE; - return &trampoline_code_table; -} -#endif - -#endif /* __i386__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c deleted file mode 100644 index 6a8e37f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c +++ /dev/null @@ -1,950 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi64.c - Copyright (c) 2011, 2018, 2022 Anthony Green - Copyright (c) 2013 The Written Word, Inc. - Copyright (c) 2008, 2010 Red Hat, Inc. - Copyright (c) 2002, 2007 Bo Thorsen - - x86-64 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -#include -#include -#include -#include -#include "internal64.h" - -#ifdef __x86_64__ - -#define MAX_GPR_REGS 6 -#define MAX_SSE_REGS 8 - -#if defined(__INTEL_COMPILER) -#include "xmmintrin.h" -#define UINT128 __m128 -#else -#if defined(__SUNPRO_C) -#include -#define UINT128 __m128i -#else -#define UINT128 __int128_t -#endif -#endif - -union big_int_union -{ - UINT32 i32; - UINT64 i64; - UINT128 i128; -}; - -struct register_args -{ - /* Registers for argument passing. */ - UINT64 gpr[MAX_GPR_REGS]; - union big_int_union sse[MAX_SSE_REGS]; - UINT64 rax; /* ssecount */ - UINT64 r10; /* static chain */ -}; - -extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags, - void *raddr, void (*fnaddr)(void)) FFI_HIDDEN; - -/* All reference to register classes here is identical to the code in - gcc/config/i386/i386.c. Do *not* change one without the other. */ - -/* Register class used for passing given 64bit part of the argument. - These represent classes as documented by the PS ABI, with the - exception of SSESF, SSEDF classes, that are basically SSE class, - just gcc will use SF or DFmode move instead of DImode to avoid - reformatting penalties. - - Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves - whenever possible (upper half does contain padding). */ -enum x86_64_reg_class - { - X86_64_NO_CLASS, - X86_64_INTEGER_CLASS, - X86_64_INTEGERSI_CLASS, - X86_64_SSE_CLASS, - X86_64_SSESF_CLASS, - X86_64_SSEDF_CLASS, - X86_64_SSEUP_CLASS, - X86_64_X87_CLASS, - X86_64_X87UP_CLASS, - X86_64_COMPLEX_X87_CLASS, - X86_64_MEMORY_CLASS - }; - -#define MAX_CLASSES 4 - -#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS) - -/* x86-64 register passing implementation. See x86-64 ABI for details. Goal - of this code is to classify each 8bytes of incoming argument by the register - class and assign registers accordingly. */ - -/* Return the union class of CLASS1 and CLASS2. - See the x86-64 PS ABI for details. */ - -static enum x86_64_reg_class -merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2) -{ - /* Rule #1: If both classes are equal, this is the resulting class. */ - if (class1 == class2) - return class1; - - /* Rule #2: If one of the classes is NO_CLASS, the resulting class is - the other class. */ - if (class1 == X86_64_NO_CLASS) - return class2; - if (class2 == X86_64_NO_CLASS) - return class1; - - /* Rule #3: If one of the classes is MEMORY, the result is MEMORY. */ - if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS) - return X86_64_MEMORY_CLASS; - - /* Rule #4: If one of the classes is INTEGER, the result is INTEGER. */ - if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS) - || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS)) - return X86_64_INTEGERSI_CLASS; - if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS - || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS) - return X86_64_INTEGER_CLASS; - - /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class, - MEMORY is used. */ - if (class1 == X86_64_X87_CLASS - || class1 == X86_64_X87UP_CLASS - || class1 == X86_64_COMPLEX_X87_CLASS - || class2 == X86_64_X87_CLASS - || class2 == X86_64_X87UP_CLASS - || class2 == X86_64_COMPLEX_X87_CLASS) - return X86_64_MEMORY_CLASS; - - /* Rule #6: Otherwise class SSE is used. */ - return X86_64_SSE_CLASS; -} - -/* Classify the argument of type TYPE and mode MODE. - CLASSES will be filled by the register class used to pass each word - of the operand. The number of words is returned. In case the parameter - should be passed in memory, 0 is returned. As a special case for zero - sized containers, classes[0] will be NO_CLASS and 1 is returned. - - See the x86-64 PS ABI for details. -*/ -static size_t -classify_argument (ffi_type *type, enum x86_64_reg_class classes[], - size_t byte_offset) -{ - switch (type->type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - case FFI_TYPE_POINTER: - do_integer: - { - size_t size = byte_offset + type->size; - - if (size <= 4) - { - classes[0] = X86_64_INTEGERSI_CLASS; - return 1; - } - else if (size <= 8) - { - classes[0] = X86_64_INTEGER_CLASS; - return 1; - } - else if (size <= 12) - { - classes[0] = X86_64_INTEGER_CLASS; - classes[1] = X86_64_INTEGERSI_CLASS; - return 2; - } - else if (size <= 16) - { - classes[0] = classes[1] = X86_64_INTEGER_CLASS; - return 2; - } - else - FFI_ASSERT (0); - } - case FFI_TYPE_FLOAT: - if (!(byte_offset % 8)) - classes[0] = X86_64_SSESF_CLASS; - else - classes[0] = X86_64_SSE_CLASS; - return 1; - case FFI_TYPE_DOUBLE: - classes[0] = X86_64_SSEDF_CLASS; - return 1; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - classes[0] = X86_64_X87_CLASS; - classes[1] = X86_64_X87UP_CLASS; - return 2; -#endif - case FFI_TYPE_STRUCT: - { - const size_t UNITS_PER_WORD = 8; - size_t words = (type->size + byte_offset + UNITS_PER_WORD - 1) - / UNITS_PER_WORD; - ffi_type **ptr; - unsigned int i; - enum x86_64_reg_class subclasses[MAX_CLASSES]; - - /* If the struct is larger than 32 bytes, pass it on the stack. */ - if (type->size > 32) - return 0; - - for (i = 0; i < words; i++) - classes[i] = X86_64_NO_CLASS; - - /* Zero sized arrays or structures are NO_CLASS. We return 0 to - signalize memory class, so handle it as special case. */ - if (!words) - { - case FFI_TYPE_VOID: - classes[0] = X86_64_NO_CLASS; - return 1; - } - - /* Merge the fields of structure. */ - for (ptr = type->elements; *ptr != NULL; ptr++) - { - size_t num, pos; - - byte_offset = FFI_ALIGN (byte_offset, (*ptr)->alignment); - - num = classify_argument (*ptr, subclasses, byte_offset % 8); - if (num == 0) - return 0; - pos = byte_offset / 8; - for (i = 0; i < num && (i + pos) < words; i++) - { - size_t pos = byte_offset / 8; - classes[i + pos] = - merge_classes (subclasses[i], classes[i + pos]); - } - - byte_offset += (*ptr)->size; - } - - if (words > 2) - { - /* When size > 16 bytes, if the first one isn't - X86_64_SSE_CLASS or any other ones aren't - X86_64_SSEUP_CLASS, everything should be passed in - memory. */ - if (classes[0] != X86_64_SSE_CLASS) - return 0; - - for (i = 1; i < words; i++) - if (classes[i] != X86_64_SSEUP_CLASS) - return 0; - } - - /* Final merger cleanup. */ - for (i = 0; i < words; i++) - { - /* If one class is MEMORY, everything should be passed in - memory. */ - if (classes[i] == X86_64_MEMORY_CLASS) - return 0; - - /* The X86_64_SSEUP_CLASS should be always preceded by - X86_64_SSE_CLASS or X86_64_SSEUP_CLASS. */ - if (i > 1 && classes[i] == X86_64_SSEUP_CLASS - && classes[i - 1] != X86_64_SSE_CLASS - && classes[i - 1] != X86_64_SSEUP_CLASS) - { - /* The first one should never be X86_64_SSEUP_CLASS. */ - FFI_ASSERT (i != 0); - classes[i] = X86_64_SSE_CLASS; - } - - /* If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS, - everything should be passed in memory. */ - if (i > 1 && classes[i] == X86_64_X87UP_CLASS - && (classes[i - 1] != X86_64_X87_CLASS)) - { - /* The first one should never be X86_64_X87UP_CLASS. */ - FFI_ASSERT (i != 0); - return 0; - } - } - return words; - } - case FFI_TYPE_COMPLEX: - { - ffi_type *inner = type->elements[0]; - switch (inner->type) - { - case FFI_TYPE_INT: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - goto do_integer; - - case FFI_TYPE_FLOAT: - classes[0] = X86_64_SSE_CLASS; - if (byte_offset % 8) - { - classes[1] = X86_64_SSESF_CLASS; - return 2; - } - return 1; - case FFI_TYPE_DOUBLE: - classes[0] = classes[1] = X86_64_SSEDF_CLASS; - return 2; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - classes[0] = X86_64_COMPLEX_X87_CLASS; - return 1; -#endif - } - } - } - abort(); -} - -/* Examine the argument and return set number of register required in each - class. Return zero iff parameter should be passed in memory, otherwise - the number of registers. */ - -static size_t -examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES], - _Bool in_return, int *pngpr, int *pnsse) -{ - size_t n; - unsigned int i; - int ngpr, nsse; - - n = classify_argument (type, classes, 0); - if (n == 0) - return 0; - - ngpr = nsse = 0; - for (i = 0; i < n; ++i) - switch (classes[i]) - { - case X86_64_INTEGER_CLASS: - case X86_64_INTEGERSI_CLASS: - ngpr++; - break; - case X86_64_SSE_CLASS: - case X86_64_SSESF_CLASS: - case X86_64_SSEDF_CLASS: - nsse++; - break; - case X86_64_NO_CLASS: - case X86_64_SSEUP_CLASS: - break; - case X86_64_X87_CLASS: - case X86_64_X87UP_CLASS: - case X86_64_COMPLEX_X87_CLASS: - return in_return != 0; - default: - abort (); - } - - *pngpr = ngpr; - *pnsse = nsse; - - return n; -} - -/* Perform machine dependent cif processing. */ - -#ifndef __ILP32__ -extern ffi_status -ffi_prep_cif_machdep_efi64(ffi_cif *cif); -#endif - -ffi_status FFI_HIDDEN -ffi_prep_cif_machdep (ffi_cif *cif) -{ - int gprcount, ssecount, i, avn, ngpr, nsse; - unsigned flags; - enum x86_64_reg_class classes[MAX_CLASSES]; - size_t bytes, n, rtype_size; - ffi_type *rtype; - -#ifndef __ILP32__ - if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64) - return ffi_prep_cif_machdep_efi64(cif); -#endif - if (cif->abi != FFI_UNIX64) - return FFI_BAD_ABI; - - gprcount = ssecount = 0; - - rtype = cif->rtype; - rtype_size = rtype->size; - switch (rtype->type) - { - case FFI_TYPE_VOID: - flags = UNIX64_RET_VOID; - break; - case FFI_TYPE_UINT8: - flags = UNIX64_RET_UINT8; - break; - case FFI_TYPE_SINT8: - flags = UNIX64_RET_SINT8; - break; - case FFI_TYPE_UINT16: - flags = UNIX64_RET_UINT16; - break; - case FFI_TYPE_SINT16: - flags = UNIX64_RET_SINT16; - break; - case FFI_TYPE_UINT32: - flags = UNIX64_RET_UINT32; - break; - case FFI_TYPE_INT: - case FFI_TYPE_SINT32: - flags = UNIX64_RET_SINT32; - break; - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - flags = UNIX64_RET_INT64; - break; - case FFI_TYPE_POINTER: - flags = (sizeof(void *) == 4 ? UNIX64_RET_UINT32 : UNIX64_RET_INT64); - break; - case FFI_TYPE_FLOAT: - flags = UNIX64_RET_XMM32; - break; - case FFI_TYPE_DOUBLE: - flags = UNIX64_RET_XMM64; - break; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - flags = UNIX64_RET_X87; - break; -#endif - case FFI_TYPE_STRUCT: - n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse); - if (n == 0) - { - /* The return value is passed in memory. A pointer to that - memory is the first argument. Allocate a register for it. */ - gprcount++; - /* We don't have to do anything in asm for the return. */ - flags = UNIX64_RET_VOID | UNIX64_FLAG_RET_IN_MEM; - } - else - { - _Bool sse0 = SSE_CLASS_P (classes[0]); - - if (rtype_size == 4 && sse0) - flags = UNIX64_RET_XMM32; - else if (rtype_size == 8) - flags = sse0 ? UNIX64_RET_XMM64 : UNIX64_RET_INT64; - else - { - _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]); - if (sse0 && sse1) - flags = UNIX64_RET_ST_XMM0_XMM1; - else if (sse0) - flags = UNIX64_RET_ST_XMM0_RAX; - else if (sse1) - flags = UNIX64_RET_ST_RAX_XMM0; - else - flags = UNIX64_RET_ST_RAX_RDX; - flags |= rtype_size << UNIX64_SIZE_SHIFT; - } - } - break; - case FFI_TYPE_COMPLEX: - switch (rtype->elements[0]->type) - { - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT16: - case FFI_TYPE_SINT16: - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - flags = UNIX64_RET_ST_RAX_RDX | ((unsigned) rtype_size << UNIX64_SIZE_SHIFT); - break; - case FFI_TYPE_FLOAT: - flags = UNIX64_RET_XMM64; - break; - case FFI_TYPE_DOUBLE: - flags = UNIX64_RET_ST_XMM0_XMM1 | (16 << UNIX64_SIZE_SHIFT); - break; -#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE - case FFI_TYPE_LONGDOUBLE: - flags = UNIX64_RET_X87_2; - break; -#endif - default: - return FFI_BAD_TYPEDEF; - } - break; - default: - return FFI_BAD_TYPEDEF; - } - - /* Go over all arguments and determine the way they should be passed. - If it's in a register and there is space for it, let that be so. If - not, add it's size to the stack byte count. */ - for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++) - { - if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0 - || gprcount + ngpr > MAX_GPR_REGS - || ssecount + nsse > MAX_SSE_REGS) - { - long align = cif->arg_types[i]->alignment; - - if (align < 8) - align = 8; - - bytes = FFI_ALIGN (bytes, align); - bytes += cif->arg_types[i]->size; - } - else - { - gprcount += ngpr; - ssecount += nsse; - } - } - if (ssecount) - flags |= UNIX64_FLAG_XMM_ARGS; - - cif->flags = flags; - cif->bytes = (unsigned) FFI_ALIGN (bytes, 8); - - return FFI_OK; -} - -static void -ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - enum x86_64_reg_class classes[MAX_CLASSES]; - char *stack, *argp; - ffi_type **arg_types; - int gprcount, ssecount, ngpr, nsse, i, avn, flags; - struct register_args *reg_args; - - /* Can't call 32-bit mode from 64-bit mode. */ - FFI_ASSERT (cif->abi == FFI_UNIX64); - - /* If the return value is a struct and we don't have a return value - address then we need to make one. Otherwise we can ignore it. */ - flags = cif->flags; - if (rvalue == NULL) - { - if (flags & UNIX64_FLAG_RET_IN_MEM) - rvalue = alloca (cif->rtype->size); - else - flags = UNIX64_RET_VOID; - } - - arg_types = cif->arg_types; - avn = cif->nargs; - - /* Allocate the space for the arguments, plus 4 words of temp space. */ - stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8); - reg_args = (struct register_args *) stack; - argp = stack + sizeof (struct register_args); - - reg_args->r10 = (uintptr_t) closure; - - gprcount = ssecount = 0; - - /* If the return value is passed in memory, add the pointer as the - first integer argument. */ - if (flags & UNIX64_FLAG_RET_IN_MEM) - reg_args->gpr[gprcount++] = (unsigned long) rvalue; - - for (i = 0; i < avn; ++i) - { - size_t n, size = arg_types[i]->size; - - n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse); - if (n == 0 - || gprcount + ngpr > MAX_GPR_REGS - || ssecount + nsse > MAX_SSE_REGS) - { - long align = arg_types[i]->alignment; - - /* Stack arguments are *always* at least 8 byte aligned. */ - if (align < 8) - align = 8; - - /* Pass this argument in memory. */ - argp = (void *) FFI_ALIGN (argp, align); - memcpy (argp, avalue[i], size); - - argp += size; - } - else - { - /* The argument is passed entirely in registers. */ - char *a = (char *) avalue[i]; - unsigned int j; - - for (j = 0; j < n; j++, a += 8, size -= 8) - { - switch (classes[j]) - { - case X86_64_NO_CLASS: - case X86_64_SSEUP_CLASS: - break; - case X86_64_INTEGER_CLASS: - case X86_64_INTEGERSI_CLASS: - /* Sign-extend integer arguments passed in general - purpose registers, to cope with the fact that - LLVM incorrectly assumes that this will be done - (the x86-64 PS ABI does not specify this). */ - switch (arg_types[i]->type) - { - case FFI_TYPE_SINT8: - reg_args->gpr[gprcount] = (SINT64) *((SINT8 *) a); - break; - case FFI_TYPE_SINT16: - reg_args->gpr[gprcount] = (SINT64) *((SINT16 *) a); - break; - case FFI_TYPE_SINT32: - reg_args->gpr[gprcount] = (SINT64) *((SINT32 *) a); - break; - default: - reg_args->gpr[gprcount] = 0; - memcpy (®_args->gpr[gprcount], a, size); - } - gprcount++; - break; - case X86_64_SSE_CLASS: - case X86_64_SSEDF_CLASS: - memcpy (®_args->sse[ssecount++].i64, a, sizeof(UINT64)); - break; - case X86_64_SSESF_CLASS: - memcpy (®_args->sse[ssecount++].i32, a, sizeof(UINT32)); - break; - default: - abort(); - } - } - } - } - reg_args->rax = ssecount; - - ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args), - flags, rvalue, fn); -} - -#ifndef __ILP32__ -extern void -ffi_call_efi64(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue); -#endif - -void -ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_type **arg_types = cif->arg_types; - int i, nargs = cif->nargs; - const int max_reg_struct_size = cif->abi == FFI_GNUW64 ? 8 : 16; - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - for (i = 0; i < nargs; i++) - { - ffi_type *at = arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT && size > max_reg_struct_size) - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - -#ifndef __ILP32__ - if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64) - { - ffi_call_efi64(cif, fn, rvalue, avalue); - return; - } -#endif - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -#ifdef FFI_GO_CLOSURES - -#ifndef __ILP32__ -extern void -ffi_call_go_efi64(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure); -#endif - -void -ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ -#ifndef __ILP32__ - if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64) - { - ffi_call_go_efi64(cif, fn, rvalue, avalue, closure); - return; - } -#endif - ffi_call_int (cif, fn, rvalue, avalue, closure); -} - -#endif /* FFI_GO_CLOSURES */ - -extern void ffi_closure_unix64(void) FFI_HIDDEN; -extern void ffi_closure_unix64_sse(void) FFI_HIDDEN; -#if defined(FFI_EXEC_STATIC_TRAMP) -extern void ffi_closure_unix64_alt(void) FFI_HIDDEN; -extern void ffi_closure_unix64_sse_alt(void) FFI_HIDDEN; -#endif - -#ifndef __ILP32__ -extern ffi_status -ffi_prep_closure_loc_efi64(ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc); -#endif - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - static const unsigned char trampoline[24] = { - /* endbr64 */ - 0xf3, 0x0f, 0x1e, 0xfa, - /* leaq -0xb(%rip),%r10 # 0x0 */ - 0x4c, 0x8d, 0x15, 0xf5, 0xff, 0xff, 0xff, - /* jmpq *0x7(%rip) # 0x18 */ - 0xff, 0x25, 0x07, 0x00, 0x00, 0x00, - /* nopl 0(%rax) */ - 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00 - }; - void (*dest)(void); - char *tramp = closure->tramp; - -#ifndef __ILP32__ - if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64) - return ffi_prep_closure_loc_efi64(closure, cif, fun, user_data, codeloc); -#endif - if (cif->abi != FFI_UNIX64) - return FFI_BAD_ABI; - - if (cif->flags & UNIX64_FLAG_XMM_ARGS) - dest = ffi_closure_unix64_sse; - else - dest = ffi_closure_unix64; - -#if defined(FFI_EXEC_STATIC_TRAMP) - if (ffi_tramp_is_present(closure)) - { - /* Initialize the static trampoline's parameters. */ - if (dest == ffi_closure_unix64_sse) - dest = ffi_closure_unix64_sse_alt; - else - dest = ffi_closure_unix64_alt; - ffi_tramp_set_parms (closure->ftramp, dest, closure); - goto out; - } -#endif - - /* Initialize the dynamic trampoline. */ - memcpy (tramp, trampoline, sizeof(trampoline)); - *(UINT64 *)(tramp + sizeof (trampoline)) = (uintptr_t)dest; - -#if defined(FFI_EXEC_STATIC_TRAMP) -out: -#endif - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -int FFI_HIDDEN -ffi_closure_unix64_inner(ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *rvalue, - struct register_args *reg_args, - char *argp) -{ - void **avalue; - ffi_type **arg_types; - long i, avn; - int gprcount, ssecount, ngpr, nsse; - int flags; - - avn = cif->nargs; - flags = cif->flags; - avalue = alloca(avn * sizeof(void *)); - gprcount = ssecount = 0; - - if (flags & UNIX64_FLAG_RET_IN_MEM) - { - /* On return, %rax will contain the address that was passed - by the caller in %rdi. */ - void *r = (void *)(uintptr_t)reg_args->gpr[gprcount++]; - *(void **)rvalue = r; - rvalue = r; - flags = (sizeof(void *) == 4 ? UNIX64_RET_UINT32 : UNIX64_RET_INT64); - } - - arg_types = cif->arg_types; - for (i = 0; i < avn; ++i) - { - enum x86_64_reg_class classes[MAX_CLASSES]; - size_t n; - - n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse); - if (n == 0 - || gprcount + ngpr > MAX_GPR_REGS - || ssecount + nsse > MAX_SSE_REGS) - { - long align = arg_types[i]->alignment; - - /* Stack arguments are *always* at least 8 byte aligned. */ - if (align < 8) - align = 8; - - /* Pass this argument in memory. */ - argp = (void *) FFI_ALIGN (argp, align); - avalue[i] = argp; - argp += arg_types[i]->size; - } - /* If the argument is in a single register, or two consecutive - integer registers, then we can use that address directly. */ - else if (n == 1 - || (n == 2 && !(SSE_CLASS_P (classes[0]) - || SSE_CLASS_P (classes[1])))) - { - /* The argument is in a single register. */ - if (SSE_CLASS_P (classes[0])) - { - avalue[i] = ®_args->sse[ssecount]; - ssecount += n; - } - else - { - avalue[i] = ®_args->gpr[gprcount]; - gprcount += n; - } - } - /* Otherwise, allocate space to make them consecutive. */ - else - { - char *a = alloca (16); - unsigned int j; - - avalue[i] = a; - for (j = 0; j < n; j++, a += 8) - { - if (SSE_CLASS_P (classes[j])) - memcpy (a, ®_args->sse[ssecount++], 8); - else - memcpy (a, ®_args->gpr[gprcount++], 8); - } - } - } - - /* Invoke the closure. */ - fun (cif, rvalue, avalue, user_data); - - /* Tell assembly how to perform return type promotions. */ - return flags; -} - -#ifdef FFI_GO_CLOSURES - -extern void ffi_go_closure_unix64(void) FFI_HIDDEN; -extern void ffi_go_closure_unix64_sse(void) FFI_HIDDEN; - -#ifndef __ILP32__ -extern ffi_status -ffi_prep_go_closure_efi64(ffi_go_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*)); -#endif - -ffi_status -ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*)) -{ -#ifndef __ILP32__ - if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64) - return ffi_prep_go_closure_efi64(closure, cif, fun); -#endif - if (cif->abi != FFI_UNIX64) - return FFI_BAD_ABI; - - closure->tramp = (cif->flags & UNIX64_FLAG_XMM_ARGS - ? ffi_go_closure_unix64_sse - : ffi_go_closure_unix64); - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} - -#endif /* FFI_GO_CLOSURES */ - -#if defined(FFI_EXEC_STATIC_TRAMP) -void * -ffi_tramp_arch (size_t *tramp_size, size_t *map_size) -{ - extern void *trampoline_code_table; - - *map_size = UNIX64_TRAMP_MAP_SIZE; - *tramp_size = UNIX64_TRAMP_SIZE; - return &trampoline_code_table; -} -#endif - -#endif /* __x86_64__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffitarget.h deleted file mode 100644 index 5a3399d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffitarget.h +++ /dev/null @@ -1,164 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green - Copyright (c) 1996-2003, 2010 Red Hat, Inc. - Copyright (C) 2008 Free Software Foundation, Inc. - - Target configuration macros for x86 and x86-64. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -/* ---- System specific configurations ----------------------------------- */ - -/* For code common to all platforms on x86 and x86_64. */ -#define X86_ANY - -#if defined (X86_64) && defined (__i386__) -#undef X86_64 -#warning ****************************************************** -#warning ********** X86 IS DEFINED **************************** -#warning ****************************************************** -#define X86 -#endif - -#ifdef X86_WIN64 -#define FFI_SIZEOF_ARG 8 -#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */ -#endif - -#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION -#ifndef _MSC_VER -#define FFI_TARGET_HAS_COMPLEX_TYPE -#endif - -/* ---- Generic type definitions ----------------------------------------- */ - -#ifndef LIBFFI_ASM -#ifdef X86_WIN64 -#ifdef _MSC_VER -typedef unsigned __int64 ffi_arg; -typedef __int64 ffi_sarg; -#else -typedef unsigned long long ffi_arg; -typedef long long ffi_sarg; -#endif -#else -#if defined __x86_64__ && defined __ILP32__ -#define FFI_SIZEOF_ARG 8 -#define FFI_SIZEOF_JAVA_RAW 4 -typedef unsigned long long ffi_arg; -typedef long long ffi_sarg; -#else -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; -#endif -#endif - -typedef enum ffi_abi { -#if defined(X86_WIN64) - FFI_FIRST_ABI = 0, - FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */ - FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */ - FFI_LAST_ABI, -#ifdef __GNUC__ - FFI_DEFAULT_ABI = FFI_GNUW64 -#else - FFI_DEFAULT_ABI = FFI_WIN64 -#endif - -#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN)) - FFI_FIRST_ABI = 1, - FFI_UNIX64, - FFI_WIN64, - FFI_EFI64 = FFI_WIN64, - FFI_GNUW64, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_UNIX64 - -#elif defined(X86_WIN32) - FFI_FIRST_ABI = 0, - FFI_SYSV = 1, - FFI_STDCALL = 2, - FFI_THISCALL = 3, - FFI_FASTCALL = 4, - FFI_MS_CDECL = 5, - FFI_PASCAL = 6, - FFI_REGISTER = 7, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_MS_CDECL -#else - FFI_FIRST_ABI = 0, - FFI_SYSV = 1, - FFI_THISCALL = 3, - FFI_FASTCALL = 4, - FFI_STDCALL = 5, - FFI_PASCAL = 6, - FFI_REGISTER = 7, - FFI_MS_CDECL = 8, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -#endif -} ffi_abi; -#endif - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_GO_CLOSURES 1 - -#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1) -#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2) -#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3) -#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4) - -#if defined (X86_64) || defined(X86_WIN64) \ - || (defined (__x86_64__) && defined (X86_DARWIN)) -/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP - + 8 bytes of pointer. */ -# define FFI_TRAMPOLINE_SIZE 32 -# define FFI_NATIVE_RAW_API 0 -#else -/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused - bytes. */ -# define FFI_TRAMPOLINE_SIZE 16 -# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */ -#endif - -#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__) -# include -# if (__CET__ & 1) != 0 -# define ENDBR_PRESENT -# endif -# define _CET_NOTRACK notrack -#else -# define _CET_ENDBR -# define _CET_NOTRACK -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c deleted file mode 100644 index 8271658..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c +++ /dev/null @@ -1,361 +0,0 @@ -/* ----------------------------------------------------------------------- - ffiw64.c - Copyright (c) 2018 Anthony Green - Copyright (c) 2014 Red Hat, Inc. - - x86 win64 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#if defined(__x86_64__) || defined(_M_AMD64) -#include -#include -#include -#include -#include - -#ifdef X86_WIN64 -#define EFI64(name) name -#else -#define EFI64(name) FFI_HIDDEN name##_efi64 -#endif - -struct win64_call_frame -{ - UINT64 rbp; /* 0 */ - UINT64 retaddr; /* 8 */ - UINT64 fn; /* 16 */ - UINT64 flags; /* 24 */ - UINT64 rvalue; /* 32 */ -}; - -extern void ffi_call_win64 (void *stack, struct win64_call_frame *, - void *closure) FFI_HIDDEN; - -ffi_status FFI_HIDDEN -EFI64(ffi_prep_cif_machdep)(ffi_cif *cif) -{ - int flags, n; - - switch (cif->abi) - { - case FFI_WIN64: - case FFI_GNUW64: - break; - default: - return FFI_BAD_ABI; - } - - flags = cif->rtype->type; - switch (flags) - { - default: - break; - case FFI_TYPE_LONGDOUBLE: - /* GCC returns long double values by reference, like a struct */ - if (cif->abi == FFI_GNUW64) - flags = FFI_TYPE_STRUCT; - break; - case FFI_TYPE_COMPLEX: - flags = FFI_TYPE_STRUCT; - /* FALLTHRU */ - case FFI_TYPE_STRUCT: - switch (cif->rtype->size) - { - case 8: - flags = FFI_TYPE_UINT64; - break; - case 4: - flags = FFI_TYPE_SMALL_STRUCT_4B; - break; - case 2: - flags = FFI_TYPE_SMALL_STRUCT_2B; - break; - case 1: - flags = FFI_TYPE_SMALL_STRUCT_1B; - break; - } - break; - } - cif->flags = flags; - - /* Each argument either fits in a register, an 8 byte slot, or is - passed by reference with the pointer in the 8 byte slot. */ - n = cif->nargs; - n += (flags == FFI_TYPE_STRUCT); - if (n < 4) - n = 4; - cif->bytes = n * 8; - - return FFI_OK; -} - -/* We perform some black magic here to use some of the parent's stack frame in - * ffi_call_win64() that breaks with the MSVC compiler with the /RTCs or /GZ - * flags. Disable the 'Stack frame run time error checking' for this function - * so we don't hit weird exceptions in debug builds. */ -#if defined(_MSC_VER) -#pragma runtime_checks("s", off) -#endif -static void -ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - int i, j, n, flags; - UINT64 *stack; - size_t rsize; - struct win64_call_frame *frame; - ffi_type **arg_types = cif->arg_types; - int nargs = cif->nargs; - - FFI_ASSERT(cif->abi == FFI_GNUW64 || cif->abi == FFI_WIN64); - - /* If we have any large structure arguments, make a copy so we are passing - by value. */ - for (i = 0; i < nargs; i++) - { - ffi_type *at = arg_types[i]; - int size = at->size; - if (at->type == FFI_TYPE_STRUCT && size > 8) - { - char *argcopy = alloca (size); - memcpy (argcopy, avalue[i], size); - avalue[i] = argcopy; - } - } - - flags = cif->flags; - rsize = 0; - - /* If we have no return value for a structure, we need to create one. - Otherwise we can ignore the return type entirely. */ - if (rvalue == NULL) - { - if (flags == FFI_TYPE_STRUCT) - rsize = cif->rtype->size; - else - flags = FFI_TYPE_VOID; - } - - stack = alloca(cif->bytes + sizeof(struct win64_call_frame) + rsize); - frame = (struct win64_call_frame *)((char *)stack + cif->bytes); - if (rsize) - rvalue = frame + 1; - - frame->fn = (uintptr_t)fn; - frame->flags = flags; - frame->rvalue = (uintptr_t)rvalue; - - j = 0; - if (flags == FFI_TYPE_STRUCT) - { - stack[0] = (uintptr_t)rvalue; - j = 1; - } - - for (i = 0, n = cif->nargs; i < n; ++i, ++j) - { - switch (cif->arg_types[i]->size) - { - case 8: - stack[j] = *(UINT64 *)avalue[i]; - break; - case 4: - stack[j] = *(UINT32 *)avalue[i]; - break; - case 2: - stack[j] = *(UINT16 *)avalue[i]; - break; - case 1: - stack[j] = *(UINT8 *)avalue[i]; - break; - default: - stack[j] = (uintptr_t)avalue[i]; - break; - } - } - - ffi_call_win64 (stack, frame, closure); -} -#if defined(_MSC_VER) -#pragma runtime_checks("s", restore) -#endif - -void -EFI64(ffi_call)(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -{ - ffi_call_int (cif, fn, rvalue, avalue, NULL); -} - -void -EFI64(ffi_call_go)(ffi_cif *cif, void (*fn)(void), void *rvalue, - void **avalue, void *closure) -{ - ffi_call_int (cif, fn, rvalue, avalue, closure); -} - - -extern void ffi_closure_win64(void) FFI_HIDDEN; -#if defined(FFI_EXEC_STATIC_TRAMP) -extern void ffi_closure_win64_alt(void) FFI_HIDDEN; -#endif - -#ifdef FFI_GO_CLOSURES -extern void ffi_go_closure_win64(void) FFI_HIDDEN; -#endif - -ffi_status -EFI64(ffi_prep_closure_loc)(ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - static const unsigned char trampoline[FFI_TRAMPOLINE_SIZE - 8] = { - /* endbr64 */ - 0xf3, 0x0f, 0x1e, 0xfa, - /* leaq -0xb(%rip),%r10 # 0x0 */ - 0x4c, 0x8d, 0x15, 0xf5, 0xff, 0xff, 0xff, - /* jmpq *0x7(%rip) # 0x18 */ - 0xff, 0x25, 0x07, 0x00, 0x00, 0x00, - /* nopl 0(%rax) */ - 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00 - }; - char *tramp = closure->tramp; - - switch (cif->abi) - { - case FFI_WIN64: - case FFI_GNUW64: - break; - default: - return FFI_BAD_ABI; - } - -#if defined(FFI_EXEC_STATIC_TRAMP) - if (ffi_tramp_is_present(closure)) - { - /* Initialize the static trampoline's parameters. */ - ffi_tramp_set_parms (closure->ftramp, ffi_closure_win64_alt, closure); - goto out; - } -#endif - - /* Initialize the dynamic trampoline. */ - memcpy (tramp, trampoline, sizeof(trampoline)); - *(UINT64 *)(tramp + sizeof (trampoline)) = (uintptr_t)ffi_closure_win64; - -#if defined(FFI_EXEC_STATIC_TRAMP) -out: -#endif - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - - return FFI_OK; -} - -#ifdef FFI_GO_CLOSURES -ffi_status -EFI64(ffi_prep_go_closure)(ffi_go_closure* closure, ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*)) -{ - switch (cif->abi) - { - case FFI_WIN64: - case FFI_GNUW64: - break; - default: - return FFI_BAD_ABI; - } - - closure->tramp = ffi_go_closure_win64; - closure->cif = cif; - closure->fun = fun; - - return FFI_OK; -} -#endif - -struct win64_closure_frame -{ - UINT64 rvalue[2]; - UINT64 fargs[4]; - UINT64 retaddr; - UINT64 args[]; -}; - -/* Force the inner function to use the MS ABI. When compiling on win64 - this is a nop. When compiling on unix, this simplifies the assembly, - and places the burden of saving the extra call-saved registers on - the compiler. */ -int FFI_HIDDEN __attribute__((ms_abi)) -ffi_closure_win64_inner(ffi_cif *cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - struct win64_closure_frame *frame) -{ - void **avalue; - void *rvalue; - int i, n, nreg, flags; - - avalue = alloca(cif->nargs * sizeof(void *)); - rvalue = frame->rvalue; - nreg = 0; - - /* When returning a structure, the address is in the first argument. - We must also be prepared to return the same address in eax, so - install that address in the frame and pretend we return a pointer. */ - flags = cif->flags; - if (flags == FFI_TYPE_STRUCT) - { - rvalue = (void *)(uintptr_t)frame->args[0]; - frame->rvalue[0] = frame->args[0]; - nreg = 1; - } - - for (i = 0, n = cif->nargs; i < n; ++i, ++nreg) - { - size_t size = cif->arg_types[i]->size; - size_t type = cif->arg_types[i]->type; - void *a; - - if (type == FFI_TYPE_DOUBLE || type == FFI_TYPE_FLOAT) - { - if (nreg < 4) - a = &frame->fargs[nreg]; - else - a = &frame->args[nreg]; - } - else if (size == 1 || size == 2 || size == 4 || size == 8) - a = &frame->args[nreg]; - else - a = (void *)(uintptr_t)frame->args[nreg]; - - avalue[i] = a; - } - - /* Invoke the closure. */ - fun (cif, rvalue, avalue, user_data); - return flags; -} - -#endif /* __x86_64__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal.h deleted file mode 100644 index 23be7a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal.h +++ /dev/null @@ -1,43 +0,0 @@ -#define X86_RET_FLOAT 0 -#define X86_RET_DOUBLE 1 -#define X86_RET_LDOUBLE 2 -#define X86_RET_SINT8 3 -#define X86_RET_SINT16 4 -#define X86_RET_UINT8 5 -#define X86_RET_UINT16 6 -#define X86_RET_INT64 7 -#define X86_RET_INT32 8 -#define X86_RET_VOID 9 -#define X86_RET_STRUCTPOP 10 -#define X86_RET_STRUCTARG 11 -#define X86_RET_STRUCT_1B 12 -#define X86_RET_STRUCT_2B 13 -#define X86_RET_UNUSED14 14 -#define X86_RET_UNUSED15 15 - -#define X86_RET_TYPE_MASK 15 -#define X86_RET_POP_SHIFT 4 - -#define R_EAX 0 -#define R_EDX 1 -#define R_ECX 2 - -#ifdef __PCC__ -# define HAVE_FASTCALL 0 -#else -# define HAVE_FASTCALL 1 -#endif - -#if defined(FFI_EXEC_STATIC_TRAMP) -/* - * For the trampoline code table mapping, a mapping size of 4K (base page size) - * is chosen. - */ -#define X86_TRAMP_MAP_SHIFT 12 -#define X86_TRAMP_MAP_SIZE (1 << X86_TRAMP_MAP_SHIFT) -#ifdef ENDBR_PRESENT -#define X86_TRAMP_SIZE 44 -#else -#define X86_TRAMP_SIZE 40 -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal64.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal64.h deleted file mode 100644 index 282b408..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal64.h +++ /dev/null @@ -1,36 +0,0 @@ -#define UNIX64_RET_VOID 0 -#define UNIX64_RET_UINT8 1 -#define UNIX64_RET_UINT16 2 -#define UNIX64_RET_UINT32 3 -#define UNIX64_RET_SINT8 4 -#define UNIX64_RET_SINT16 5 -#define UNIX64_RET_SINT32 6 -#define UNIX64_RET_INT64 7 -#define UNIX64_RET_XMM32 8 -#define UNIX64_RET_XMM64 9 -#define UNIX64_RET_X87 10 -#define UNIX64_RET_X87_2 11 -#define UNIX64_RET_ST_XMM0_RAX 12 -#define UNIX64_RET_ST_RAX_XMM0 13 -#define UNIX64_RET_ST_XMM0_XMM1 14 -#define UNIX64_RET_ST_RAX_RDX 15 - -#define UNIX64_RET_LAST 15 - -#define UNIX64_FLAG_RET_IN_MEM (1 << 10) -#define UNIX64_FLAG_XMM_ARGS (1 << 11) -#define UNIX64_SIZE_SHIFT 12 - -#if defined(FFI_EXEC_STATIC_TRAMP) -/* - * For the trampoline code table mapping, a mapping size of 4K (base page size) - * is chosen. - */ -#define UNIX64_TRAMP_MAP_SHIFT 12 -#define UNIX64_TRAMP_MAP_SIZE (1 << UNIX64_TRAMP_MAP_SHIFT) -#ifdef ENDBR_PRESENT -#define UNIX64_TRAMP_SIZE 40 -#else -#define UNIX64_TRAMP_SIZE 32 -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv.S deleted file mode 100644 index c7a0fb5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv.S +++ /dev/null @@ -1,1272 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2017 Anthony Green - - Copyright (c) 2013 The Written Word, Inc. - - Copyright (c) 1996,1998,2001-2003,2005,2008,2010 Red Hat, Inc. - - X86 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifdef __i386__ -#ifndef _MSC_VER - -#define LIBFFI_ASM -#include -#include -#include "internal.h" - -#define C2(X, Y) X ## Y -#define C1(X, Y) C2(X, Y) -#ifdef __USER_LABEL_PREFIX__ -# define C(X) C1(__USER_LABEL_PREFIX__, X) -#else -# define C(X) X -#endif - -#ifdef X86_DARWIN -# define L(X) C1(L, X) -#else -# define L(X) C1(.L, X) -#endif - -#ifdef __ELF__ -# define ENDF(X) .type X,@function; .size X, . - X -#else -# define ENDF(X) -#endif - -/* Handle win32 fastcall name mangling. */ -#ifdef X86_WIN32 -# define ffi_call_i386 "@ffi_call_i386@8" -# define ffi_closure_inner "@ffi_closure_inner@8" -#else -# define ffi_call_i386 C(ffi_call_i386) -# define ffi_closure_inner C(ffi_closure_inner) -#endif - -/* This macro allows the safe creation of jump tables without an - actual table. The entry points into the table are all 8 bytes. - The use of ORG asserts that we're at the correct location. */ -/* ??? The clang assembler doesn't handle .org with symbolic expressions. */ -#if defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) -# define E(BASE, X) .balign 8 -#else -# define E(BASE, X) .balign 8; .org BASE + X * 8 -#endif - - .text - .balign 16 - .globl ffi_call_i386 - FFI_HIDDEN(ffi_call_i386) - -/* This is declared as - - void ffi_call_i386(struct call_frame *frame, char *argp) - __attribute__((fastcall)); - - Thus the arguments are present in - - ecx: frame - edx: argp -*/ - -ffi_call_i386: -L(UW0): - # cfi_startproc - _CET_ENDBR -#if !HAVE_FASTCALL - movl 4(%esp), %ecx - movl 8(%esp), %edx -#endif - movl (%esp), %eax /* move the return address */ - movl %ebp, (%ecx) /* store %ebp into local frame */ - movl %eax, 4(%ecx) /* store retaddr into local frame */ - - /* New stack frame based off ebp. This is a itty bit of unwind - trickery in that the CFA *has* changed. There is no easy way - to describe it correctly on entry to the function. Fortunately, - it doesn't matter too much since at all points we can correctly - unwind back to ffi_call. Note that the location to which we - moved the return address is (the new) CFA-4, so from the - perspective of the unwind info, it hasn't moved. */ - movl %ecx, %ebp -L(UW1): - # cfi_def_cfa(%ebp, 8) - # cfi_rel_offset(%ebp, 0) - - movl %edx, %esp /* set outgoing argument stack */ - movl 20+R_EAX*4(%ebp), %eax /* set register arguments */ - movl 20+R_EDX*4(%ebp), %edx - movl 20+R_ECX*4(%ebp), %ecx - - call *8(%ebp) - - movl 12(%ebp), %ecx /* load return type code */ - movl %ebx, 8(%ebp) /* preserve %ebx */ -L(UW2): - # cfi_rel_offset(%ebx, 8) - - andl $X86_RET_TYPE_MASK, %ecx -#ifdef __PIC__ - call C(__x86.get_pc_thunk.bx) -L(pc1): - leal L(store_table)-L(pc1)(%ebx, %ecx, 8), %ebx -#else - leal L(store_table)(,%ecx, 8), %ebx -#endif - movl 16(%ebp), %ecx /* load result address */ - _CET_NOTRACK jmp *%ebx - - .balign 8 -L(store_table): -E(L(store_table), X86_RET_FLOAT) - fstps (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_DOUBLE) - fstpl (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_LDOUBLE) - fstpt (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_SINT8) - movsbl %al, %eax - mov %eax, (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_SINT16) - movswl %ax, %eax - mov %eax, (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_UINT8) - movzbl %al, %eax - mov %eax, (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_UINT16) - movzwl %ax, %eax - mov %eax, (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_INT64) - movl %edx, 4(%ecx) - /* fallthru */ -E(L(store_table), X86_RET_INT32) - movl %eax, (%ecx) - /* fallthru */ -E(L(store_table), X86_RET_VOID) -L(e1): - movl 8(%ebp), %ebx - movl %ebp, %esp - popl %ebp -L(UW3): - # cfi_remember_state - # cfi_def_cfa(%esp, 4) - # cfi_restore(%ebx) - # cfi_restore(%ebp) - ret -L(UW4): - # cfi_restore_state - -E(L(store_table), X86_RET_STRUCTPOP) - jmp L(e1) -E(L(store_table), X86_RET_STRUCTARG) - jmp L(e1) -E(L(store_table), X86_RET_STRUCT_1B) - movb %al, (%ecx) - jmp L(e1) -E(L(store_table), X86_RET_STRUCT_2B) - movw %ax, (%ecx) - jmp L(e1) - - /* Fill out the table so that bad values are predictable. */ -E(L(store_table), X86_RET_UNUSED14) - ud2 -E(L(store_table), X86_RET_UNUSED15) - ud2 - -L(UW5): - # cfi_endproc -ENDF(ffi_call_i386) - -/* The inner helper is declared as - - void ffi_closure_inner(struct closure_frame *frame, char *argp) - __attribute_((fastcall)) - - Thus the arguments are placed in - - ecx: frame - edx: argp -*/ - -/* Macros to help setting up the closure_data structure. */ - -#if HAVE_FASTCALL -# define closure_FS (40 + 4) -# define closure_CF 0 -#else -# define closure_FS (8 + 40 + 12) -# define closure_CF 8 -#endif - -#define FFI_CLOSURE_SAVE_REGS \ - movl %eax, closure_CF+16+R_EAX*4(%esp); \ - movl %edx, closure_CF+16+R_EDX*4(%esp); \ - movl %ecx, closure_CF+16+R_ECX*4(%esp) - -#define FFI_CLOSURE_COPY_TRAMP_DATA \ - movl FFI_TRAMPOLINE_SIZE(%eax), %edx; /* copy cif */ \ - movl FFI_TRAMPOLINE_SIZE+4(%eax), %ecx; /* copy fun */ \ - movl FFI_TRAMPOLINE_SIZE+8(%eax), %eax; /* copy user_data */ \ - movl %edx, closure_CF+28(%esp); \ - movl %ecx, closure_CF+32(%esp); \ - movl %eax, closure_CF+36(%esp) - -#if HAVE_FASTCALL -# define FFI_CLOSURE_PREP_CALL \ - movl %esp, %ecx; /* load closure_data */ \ - leal closure_FS+4(%esp), %edx; /* load incoming stack */ -#else -# define FFI_CLOSURE_PREP_CALL \ - leal closure_CF(%esp), %ecx; /* load closure_data */ \ - leal closure_FS+4(%esp), %edx; /* load incoming stack */ \ - movl %ecx, (%esp); \ - movl %edx, 4(%esp) -#endif - -#define FFI_CLOSURE_CALL_INNER(UWN) \ - call ffi_closure_inner - -#define FFI_CLOSURE_MASK_AND_JUMP(N, UW) \ - andl $X86_RET_TYPE_MASK, %eax; \ - leal L(C1(load_table,N))(, %eax, 8), %edx; \ - movl closure_CF(%esp), %eax; /* optimiztic load */ \ - _CET_NOTRACK jmp *%edx - -#ifdef __PIC__ -# if defined X86_DARWIN || defined HAVE_HIDDEN_VISIBILITY_ATTRIBUTE -# undef FFI_CLOSURE_MASK_AND_JUMP -# define FFI_CLOSURE_MASK_AND_JUMP(N, UW) \ - andl $X86_RET_TYPE_MASK, %eax; \ - call C(__x86.get_pc_thunk.dx); \ -L(C1(pc,N)): \ - leal L(C1(load_table,N))-L(C1(pc,N))(%edx, %eax, 8), %edx; \ - movl closure_CF(%esp), %eax; /* optimiztic load */ \ - _CET_NOTRACK jmp *%edx -# else -# define FFI_CLOSURE_CALL_INNER_SAVE_EBX -# undef FFI_CLOSURE_CALL_INNER -# define FFI_CLOSURE_CALL_INNER(UWN) \ - movl %ebx, 40(%esp); /* save ebx */ \ -L(C1(UW,UWN)): \ - /* cfi_rel_offset(%ebx, 40); */ \ - call C(__x86.get_pc_thunk.bx); /* load got register */ \ - addl $C(_GLOBAL_OFFSET_TABLE_), %ebx; \ - call ffi_closure_inner@PLT -# undef FFI_CLOSURE_MASK_AND_JUMP -# define FFI_CLOSURE_MASK_AND_JUMP(N, UWN) \ - andl $X86_RET_TYPE_MASK, %eax; \ - leal L(C1(load_table,N))@GOTOFF(%ebx, %eax, 8), %edx; \ - movl 40(%esp), %ebx; /* restore ebx */ \ -L(C1(UW,UWN)): \ - /* cfi_restore(%ebx); */ \ - movl closure_CF(%esp), %eax; /* optimiztic load */ \ - _CET_NOTRACK jmp *%edx -# endif /* DARWIN || HIDDEN */ -#endif /* __PIC__ */ - - .balign 16 - .globl C(ffi_go_closure_EAX) - FFI_HIDDEN(C(ffi_go_closure_EAX)) -C(ffi_go_closure_EAX): -L(UW6): - # cfi_startproc - _CET_ENDBR - subl $closure_FS, %esp -L(UW7): - # cfi_def_cfa_offset(closure_FS + 4) - FFI_CLOSURE_SAVE_REGS - movl 4(%eax), %edx /* copy cif */ - movl 8(%eax), %ecx /* copy fun */ - movl %edx, closure_CF+28(%esp) - movl %ecx, closure_CF+32(%esp) - movl %eax, closure_CF+36(%esp) /* closure is user_data */ - jmp L(do_closure_i386) -L(UW8): - # cfi_endproc -ENDF(C(ffi_go_closure_EAX)) - - .balign 16 - .globl C(ffi_go_closure_ECX) - FFI_HIDDEN(C(ffi_go_closure_ECX)) -C(ffi_go_closure_ECX): -L(UW9): - # cfi_startproc - _CET_ENDBR - subl $closure_FS, %esp -L(UW10): - # cfi_def_cfa_offset(closure_FS + 4) - FFI_CLOSURE_SAVE_REGS - movl 4(%ecx), %edx /* copy cif */ - movl 8(%ecx), %eax /* copy fun */ - movl %edx, closure_CF+28(%esp) - movl %eax, closure_CF+32(%esp) - movl %ecx, closure_CF+36(%esp) /* closure is user_data */ - jmp L(do_closure_i386) -L(UW11): - # cfi_endproc -ENDF(C(ffi_go_closure_ECX)) - -/* The closure entry points are reached from the ffi_closure trampoline. - On entry, %eax contains the address of the ffi_closure. */ - - .balign 16 - .globl C(ffi_closure_i386) - FFI_HIDDEN(C(ffi_closure_i386)) - -C(ffi_closure_i386): -L(UW12): - # cfi_startproc - _CET_ENDBR - subl $closure_FS, %esp -L(UW13): - # cfi_def_cfa_offset(closure_FS + 4) - - FFI_CLOSURE_SAVE_REGS - FFI_CLOSURE_COPY_TRAMP_DATA - - /* Entry point from preceeding Go closures. */ -L(do_closure_i386): - - FFI_CLOSURE_PREP_CALL - FFI_CLOSURE_CALL_INNER(14) - FFI_CLOSURE_MASK_AND_JUMP(2, 15) - - .balign 8 -L(load_table2): -E(L(load_table2), X86_RET_FLOAT) - flds closure_CF(%esp) - jmp L(e2) -E(L(load_table2), X86_RET_DOUBLE) - fldl closure_CF(%esp) - jmp L(e2) -E(L(load_table2), X86_RET_LDOUBLE) - fldt closure_CF(%esp) - jmp L(e2) -E(L(load_table2), X86_RET_SINT8) - movsbl %al, %eax - jmp L(e2) -E(L(load_table2), X86_RET_SINT16) - movswl %ax, %eax - jmp L(e2) -E(L(load_table2), X86_RET_UINT8) - movzbl %al, %eax - jmp L(e2) -E(L(load_table2), X86_RET_UINT16) - movzwl %ax, %eax - jmp L(e2) -E(L(load_table2), X86_RET_INT64) - movl closure_CF+4(%esp), %edx - jmp L(e2) -E(L(load_table2), X86_RET_INT32) - nop - /* fallthru */ -E(L(load_table2), X86_RET_VOID) -L(e2): - addl $closure_FS, %esp -L(UW16): - # cfi_adjust_cfa_offset(-closure_FS) - ret -L(UW17): - # cfi_adjust_cfa_offset(closure_FS) -E(L(load_table2), X86_RET_STRUCTPOP) - addl $closure_FS, %esp -L(UW18): - # cfi_adjust_cfa_offset(-closure_FS) - ret $4 -L(UW19): - # cfi_adjust_cfa_offset(closure_FS) -E(L(load_table2), X86_RET_STRUCTARG) - jmp L(e2) -E(L(load_table2), X86_RET_STRUCT_1B) - movzbl %al, %eax - jmp L(e2) -E(L(load_table2), X86_RET_STRUCT_2B) - movzwl %ax, %eax - jmp L(e2) - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table2), X86_RET_UNUSED14) - ud2 -E(L(load_table2), X86_RET_UNUSED15) - ud2 - -L(UW20): - # cfi_endproc -ENDF(C(ffi_closure_i386)) - - .balign 16 - .globl C(ffi_go_closure_STDCALL) - FFI_HIDDEN(C(ffi_go_closure_STDCALL)) -C(ffi_go_closure_STDCALL): -L(UW21): - # cfi_startproc - _CET_ENDBR - subl $closure_FS, %esp -L(UW22): - # cfi_def_cfa_offset(closure_FS + 4) - FFI_CLOSURE_SAVE_REGS - movl 4(%ecx), %edx /* copy cif */ - movl 8(%ecx), %eax /* copy fun */ - movl %edx, closure_CF+28(%esp) - movl %eax, closure_CF+32(%esp) - movl %ecx, closure_CF+36(%esp) /* closure is user_data */ - jmp L(do_closure_STDCALL) -L(UW23): - # cfi_endproc -ENDF(C(ffi_go_closure_STDCALL)) - -/* For REGISTER, we have no available parameter registers, and so we - enter here having pushed the closure onto the stack. */ - - .balign 16 - .globl C(ffi_closure_REGISTER) - FFI_HIDDEN(C(ffi_closure_REGISTER)) -C(ffi_closure_REGISTER): -L(UW24): - # cfi_startproc - # cfi_def_cfa(%esp, 8) - # cfi_offset(%eip, -8) - _CET_ENDBR - subl $closure_FS-4, %esp -L(UW25): - # cfi_def_cfa_offset(closure_FS + 4) - FFI_CLOSURE_SAVE_REGS - movl closure_FS-4(%esp), %ecx /* load retaddr */ - movl closure_FS(%esp), %eax /* load closure */ - movl %ecx, closure_FS(%esp) /* move retaddr */ - jmp L(do_closure_REGISTER) -L(UW26): - # cfi_endproc -ENDF(C(ffi_closure_REGISTER)) - -/* For STDCALL (and others), we need to pop N bytes of arguments off - the stack following the closure. The amount needing to be popped - is returned to us from ffi_closure_inner. */ - - .balign 16 - .globl C(ffi_closure_STDCALL) - FFI_HIDDEN(C(ffi_closure_STDCALL)) -C(ffi_closure_STDCALL): -L(UW27): - # cfi_startproc - _CET_ENDBR - subl $closure_FS, %esp -L(UW28): - # cfi_def_cfa_offset(closure_FS + 4) - - FFI_CLOSURE_SAVE_REGS - - /* Entry point from ffi_closure_REGISTER. */ -L(do_closure_REGISTER): - - FFI_CLOSURE_COPY_TRAMP_DATA - - /* Entry point from preceeding Go closure. */ -L(do_closure_STDCALL): - - FFI_CLOSURE_PREP_CALL - FFI_CLOSURE_CALL_INNER(29) - - movl %eax, %ecx - shrl $X86_RET_POP_SHIFT, %ecx /* isolate pop count */ - leal closure_FS(%esp, %ecx), %ecx /* compute popped esp */ - movl closure_FS(%esp), %edx /* move return address */ - movl %edx, (%ecx) - - /* From this point on, the value of %esp upon return is %ecx+4, - and we've copied the return address to %ecx to make return easy. - There's no point in representing this in the unwind info, as - there is always a window between the mov and the ret which - will be wrong from one point of view or another. */ - - FFI_CLOSURE_MASK_AND_JUMP(3, 30) - - .balign 8 -L(load_table3): -E(L(load_table3), X86_RET_FLOAT) - flds closure_CF(%esp) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_DOUBLE) - fldl closure_CF(%esp) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_LDOUBLE) - fldt closure_CF(%esp) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_SINT8) - movsbl %al, %eax - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_SINT16) - movswl %ax, %eax - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_UINT8) - movzbl %al, %eax - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_UINT16) - movzwl %ax, %eax - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_INT64) - movl closure_CF+4(%esp), %edx - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_INT32) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_VOID) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_STRUCTPOP) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_STRUCTARG) - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_STRUCT_1B) - movzbl %al, %eax - movl %ecx, %esp - ret -E(L(load_table3), X86_RET_STRUCT_2B) - movzwl %ax, %eax - movl %ecx, %esp - ret - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table3), X86_RET_UNUSED14) - ud2 -E(L(load_table3), X86_RET_UNUSED15) - ud2 - -L(UW31): - # cfi_endproc -ENDF(C(ffi_closure_STDCALL)) - -#if defined(FFI_EXEC_STATIC_TRAMP) - .balign 16 - .globl C(ffi_closure_i386_alt) - FFI_HIDDEN(C(ffi_closure_i386_alt)) -C(ffi_closure_i386_alt): - /* See the comments above trampoline_code_table. */ - _CET_ENDBR - movl 4(%esp), %eax /* Load closure in eax */ - add $8, %esp /* Restore the stack */ - jmp C(ffi_closure_i386) -ENDF(C(ffi_closure_i386_alt)) - - .balign 16 - .globl C(ffi_closure_REGISTER_alt) - FFI_HIDDEN(C(ffi_closure_REGISTER_alt)) -C(ffi_closure_REGISTER_alt): - /* See the comments above trampoline_code_table. */ - _CET_ENDBR - movl (%esp), %eax /* Restore eax */ - add $4, %esp /* Leave closure on stack */ - jmp C(ffi_closure_REGISTER) -ENDF(C(ffi_closure_REGISTER_alt)) - - .balign 16 - .globl C(ffi_closure_STDCALL_alt) - FFI_HIDDEN(C(ffi_closure_STDCALL_alt)) -C(ffi_closure_STDCALL_alt): - /* See the comments above trampoline_code_table. */ - _CET_ENDBR - movl 4(%esp), %eax /* Load closure in eax */ - add $8, %esp /* Restore the stack */ - jmp C(ffi_closure_STDCALL) -ENDF(C(ffi_closure_STDCALL_alt)) - -/* - * Below is the definition of the trampoline code table. Each element in - * the code table is a trampoline. - * - * Because we jump to the trampoline, we place a _CET_ENDBR at the - * beginning of the trampoline to mark it as a valid branch target. This is - * part of the the Intel CET (Control Flow Enforcement Technology). - */ -/* - * The trampoline uses register eax. It saves the original value of eax on - * the stack. - * - * The trampoline has two parameters - target code to jump to and data for - * the target code. The trampoline extracts the parameters from its parameter - * block (see tramp_table_map()). The trampoline saves the data address on - * the stack. Finally, it jumps to the target code. - * - * The target code can choose to: - * - * - restore the value of eax - * - load the data address in a register - * - restore the stack pointer to what it was when the trampoline was invoked. - */ -#ifdef ENDBR_PRESENT -#define X86_DATA_OFFSET 4081 -#define X86_CODE_OFFSET 4070 -#else -#define X86_DATA_OFFSET 4085 -#define X86_CODE_OFFSET 4074 -#endif - - .align X86_TRAMP_MAP_SIZE - .globl C(trampoline_code_table) - FFI_HIDDEN(C(trampoline_code_table)) -C(trampoline_code_table): - .rept X86_TRAMP_MAP_SIZE / X86_TRAMP_SIZE - _CET_ENDBR - sub $8, %esp - movl %eax, (%esp) /* Save %eax on stack */ - call 1f /* Get next PC into %eax */ - movl X86_DATA_OFFSET(%eax), %eax /* Copy data into %eax */ - movl %eax, 4(%esp) /* Save data on stack */ - call 1f /* Get next PC into %eax */ - movl X86_CODE_OFFSET(%eax), %eax /* Copy code into %eax */ - jmp *%eax /* Jump to code */ -1: - mov (%esp), %eax - ret - .align 4 - .endr -ENDF(C(trampoline_code_table)) - .align X86_TRAMP_MAP_SIZE -#endif /* FFI_EXEC_STATIC_TRAMP */ - -#if !FFI_NO_RAW_API - -#define raw_closure_S_FS (16+16+12) - - .balign 16 - .globl C(ffi_closure_raw_SYSV) - FFI_HIDDEN(C(ffi_closure_raw_SYSV)) -C(ffi_closure_raw_SYSV): -L(UW32): - # cfi_startproc - _CET_ENDBR - subl $raw_closure_S_FS, %esp -L(UW33): - # cfi_def_cfa_offset(raw_closure_S_FS + 4) - movl %ebx, raw_closure_S_FS-4(%esp) -L(UW34): - # cfi_rel_offset(%ebx, raw_closure_S_FS-4) - - movl FFI_TRAMPOLINE_SIZE+8(%eax), %edx /* load cl->user_data */ - movl %edx, 12(%esp) - leal raw_closure_S_FS+4(%esp), %edx /* load raw_args */ - movl %edx, 8(%esp) - leal 16(%esp), %edx /* load &res */ - movl %edx, 4(%esp) - movl FFI_TRAMPOLINE_SIZE(%eax), %ebx /* load cl->cif */ - movl %ebx, (%esp) - call *FFI_TRAMPOLINE_SIZE+4(%eax) /* call cl->fun */ - - movl 20(%ebx), %eax /* load cif->flags */ - andl $X86_RET_TYPE_MASK, %eax -#ifdef __PIC__ - call C(__x86.get_pc_thunk.bx) -L(pc4): - leal L(load_table4)-L(pc4)(%ebx, %eax, 8), %ecx -#else - leal L(load_table4)(,%eax, 8), %ecx -#endif - movl raw_closure_S_FS-4(%esp), %ebx -L(UW35): - # cfi_restore(%ebx) - movl 16(%esp), %eax /* Optimistic load */ - jmp *%ecx - - .balign 8 -L(load_table4): -E(L(load_table4), X86_RET_FLOAT) - flds 16(%esp) - jmp L(e4) -E(L(load_table4), X86_RET_DOUBLE) - fldl 16(%esp) - jmp L(e4) -E(L(load_table4), X86_RET_LDOUBLE) - fldt 16(%esp) - jmp L(e4) -E(L(load_table4), X86_RET_SINT8) - movsbl %al, %eax - jmp L(e4) -E(L(load_table4), X86_RET_SINT16) - movswl %ax, %eax - jmp L(e4) -E(L(load_table4), X86_RET_UINT8) - movzbl %al, %eax - jmp L(e4) -E(L(load_table4), X86_RET_UINT16) - movzwl %ax, %eax - jmp L(e4) -E(L(load_table4), X86_RET_INT64) - movl 16+4(%esp), %edx - jmp L(e4) -E(L(load_table4), X86_RET_INT32) - nop - /* fallthru */ -E(L(load_table4), X86_RET_VOID) -L(e4): - addl $raw_closure_S_FS, %esp -L(UW36): - # cfi_adjust_cfa_offset(-raw_closure_S_FS) - ret -L(UW37): - # cfi_adjust_cfa_offset(raw_closure_S_FS) -E(L(load_table4), X86_RET_STRUCTPOP) - addl $raw_closure_S_FS, %esp -L(UW38): - # cfi_adjust_cfa_offset(-raw_closure_S_FS) - ret $4 -L(UW39): - # cfi_adjust_cfa_offset(raw_closure_S_FS) -E(L(load_table4), X86_RET_STRUCTARG) - jmp L(e4) -E(L(load_table4), X86_RET_STRUCT_1B) - movzbl %al, %eax - jmp L(e4) -E(L(load_table4), X86_RET_STRUCT_2B) - movzwl %ax, %eax - jmp L(e4) - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table4), X86_RET_UNUSED14) - ud2 -E(L(load_table4), X86_RET_UNUSED15) - ud2 - -L(UW40): - # cfi_endproc -ENDF(C(ffi_closure_raw_SYSV)) - -#define raw_closure_T_FS (16+16+8) - - .balign 16 - .globl C(ffi_closure_raw_THISCALL) - FFI_HIDDEN(C(ffi_closure_raw_THISCALL)) -C(ffi_closure_raw_THISCALL): -L(UW41): - # cfi_startproc - _CET_ENDBR - /* Rearrange the stack such that %ecx is the first argument. - This means moving the return address. */ - popl %edx -L(UW42): - # cfi_def_cfa_offset(0) - # cfi_register(%eip, %edx) - pushl %ecx -L(UW43): - # cfi_adjust_cfa_offset(4) - pushl %edx -L(UW44): - # cfi_adjust_cfa_offset(4) - # cfi_rel_offset(%eip, 0) - subl $raw_closure_T_FS, %esp -L(UW45): - # cfi_adjust_cfa_offset(raw_closure_T_FS) - movl %ebx, raw_closure_T_FS-4(%esp) -L(UW46): - # cfi_rel_offset(%ebx, raw_closure_T_FS-4) - - movl FFI_TRAMPOLINE_SIZE+8(%eax), %edx /* load cl->user_data */ - movl %edx, 12(%esp) - leal raw_closure_T_FS+4(%esp), %edx /* load raw_args */ - movl %edx, 8(%esp) - leal 16(%esp), %edx /* load &res */ - movl %edx, 4(%esp) - movl FFI_TRAMPOLINE_SIZE(%eax), %ebx /* load cl->cif */ - movl %ebx, (%esp) - call *FFI_TRAMPOLINE_SIZE+4(%eax) /* call cl->fun */ - - movl 20(%ebx), %eax /* load cif->flags */ - andl $X86_RET_TYPE_MASK, %eax -#ifdef __PIC__ - call C(__x86.get_pc_thunk.bx) -L(pc5): - leal L(load_table5)-L(pc5)(%ebx, %eax, 8), %ecx -#else - leal L(load_table5)(,%eax, 8), %ecx -#endif - movl raw_closure_T_FS-4(%esp), %ebx -L(UW47): - # cfi_restore(%ebx) - movl 16(%esp), %eax /* Optimistic load */ - jmp *%ecx - - .balign 8 -L(load_table5): -E(L(load_table5), X86_RET_FLOAT) - flds 16(%esp) - jmp L(e5) -E(L(load_table5), X86_RET_DOUBLE) - fldl 16(%esp) - jmp L(e5) -E(L(load_table5), X86_RET_LDOUBLE) - fldt 16(%esp) - jmp L(e5) -E(L(load_table5), X86_RET_SINT8) - movsbl %al, %eax - jmp L(e5) -E(L(load_table5), X86_RET_SINT16) - movswl %ax, %eax - jmp L(e5) -E(L(load_table5), X86_RET_UINT8) - movzbl %al, %eax - jmp L(e5) -E(L(load_table5), X86_RET_UINT16) - movzwl %ax, %eax - jmp L(e5) -E(L(load_table5), X86_RET_INT64) - movl 16+4(%esp), %edx - jmp L(e5) -E(L(load_table5), X86_RET_INT32) - nop - /* fallthru */ -E(L(load_table5), X86_RET_VOID) -L(e5): - addl $raw_closure_T_FS, %esp -L(UW48): - # cfi_adjust_cfa_offset(-raw_closure_T_FS) - /* Remove the extra %ecx argument we pushed. */ - ret $4 -L(UW49): - # cfi_adjust_cfa_offset(raw_closure_T_FS) -E(L(load_table5), X86_RET_STRUCTPOP) - addl $raw_closure_T_FS, %esp -L(UW50): - # cfi_adjust_cfa_offset(-raw_closure_T_FS) - ret $8 -L(UW51): - # cfi_adjust_cfa_offset(raw_closure_T_FS) -E(L(load_table5), X86_RET_STRUCTARG) - jmp L(e5) -E(L(load_table5), X86_RET_STRUCT_1B) - movzbl %al, %eax - jmp L(e5) -E(L(load_table5), X86_RET_STRUCT_2B) - movzwl %ax, %eax - jmp L(e5) - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table5), X86_RET_UNUSED14) - ud2 -E(L(load_table5), X86_RET_UNUSED15) - ud2 - -L(UW52): - # cfi_endproc -ENDF(C(ffi_closure_raw_THISCALL)) - -#endif /* !FFI_NO_RAW_API */ - -#ifdef X86_DARWIN -/* The linker in use on earlier Darwin needs weak definitions to be - placed in a coalesced section. That section should not be called - __TEXT,__text since that would be re-defining the attributes of the - .text section (which is an error for earlier tools). Here we use - '__textcoal_nt' which is what GCC emits for this. - Later linker versions are happy to use a normal section and, after - Darwin12 / OSX 10.8, the tools warn that using coalesced sections - for this is deprecated so we must switch to avoid build fails and/or - deprecation warnings. */ -# if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \ - __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1080 -# define COMDAT(X) \ - .section __TEXT,__textcoal_nt,coalesced,pure_instructions; \ - .weak_definition X; \ - FFI_HIDDEN(X) -# else -# define COMDAT(X) \ - .text; \ - .weak_definition X; \ - FFI_HIDDEN(X) -# endif -#elif defined __ELF__ && !(defined(__sun__) && defined(__svr4__)) -# define COMDAT(X) \ - .section .text.X,"axG",@progbits,X,comdat; \ - .globl X; \ - FFI_HIDDEN(X) -#else -# define COMDAT(X) -#endif - -#if defined(__PIC__) - COMDAT(C(__x86.get_pc_thunk.bx)) -C(__x86.get_pc_thunk.bx): - movl (%esp), %ebx - ret -ENDF(C(__x86.get_pc_thunk.bx)) -# if defined X86_DARWIN || defined HAVE_HIDDEN_VISIBILITY_ATTRIBUTE - COMDAT(C(__x86.get_pc_thunk.dx)) -C(__x86.get_pc_thunk.dx): - movl (%esp), %edx - ret -ENDF(C(__x86.get_pc_thunk.dx)) -#endif /* DARWIN || HIDDEN */ -#endif /* __PIC__ */ - -/* Sadly, OSX cctools-as does not understand .cfi directives at all so - we build an eh frame by hand. */ - -#ifdef __APPLE__ -/* The cctools assembler will try to make a difference between two local - symbols into a relocation against, which will not work in the eh (produces - link-time fails). - To avoid this, we compute the symbol difference with a .set directive and - then substitute this value. */ -# define LEN(N, P) .set Llen$N$P,L(N)-L(P); .long Llen$N$P -/* Note, this assume DW_CFA_advance_loc1 fits into 7 bits. */ -# define ADV(N, P) .set Ladv$N$P,L(N)-L(P); .byte 2, Ladv$N$P -/* For historical reasons, the EH reg numbers for SP and FP are swapped from - the DWARF ones for 32b Darwin. */ -# define SP 5 -# define FP 4 -# define ENC 0x10 -#else -# define LEN(N, P) .long L(N)-L(P) -/* Assume DW_CFA_advance_loc1 fits. */ -# define ADV(N, P) .byte 2, L(N)-L(P) -# define SP 4 -# define FP 5 -# define ENC 0x1b -#endif - -#ifdef HAVE_AS_X86_PCREL -# define PCREL(X) X-. -#else -# define PCREL(X) X@rel -#endif - -#ifdef __APPLE__ -.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support -EHFrame0: -#elif defined(X86_WIN32) -.section .eh_frame,"r" -#elif defined(HAVE_AS_X86_64_UNWIND_SECTION_TYPE) -.section .eh_frame,EH_FRAME_FLAGS,@unwind -#else -.section .eh_frame,EH_FRAME_FLAGS,@progbits -#endif -#ifndef __APPLE__ -/* EH sections are already suitably aligned on Darwin. */ - .balign 4 -#endif - -L(CIE): - .set L(set0),L(ECIE)-L(SCIE) - .long L(set0) /* CIE Length */ -L(SCIE): - .long 0 /* CIE Identifier Tag */ - .byte 1 /* CIE Version */ - .ascii "zR\0" /* CIE Augmentation */ - .byte 1 /* CIE Code Alignment Factor */ - .byte 0x7c /* CIE Data Alignment Factor */ - .byte 0x8 /* CIE RA Column */ - .byte 1 /* Augmentation size */ - .byte ENC /* FDE Encoding (pcrel abs/4byte) */ - .byte 0xc, SP, 4 /* DW_CFA_def_cfa, %esp offset 4 */ - .byte 0x80+8, 1 /* DW_CFA_offset, %eip offset 1*-4 */ - .balign 4 -L(ECIE): - - .set L(set1),L(EFDE1)-L(SFDE1) - .long L(set1) /* FDE Length */ -L(SFDE1): - LEN(SFDE1, CIE) /* FDE CIE offset */ - .long PCREL(L(UW0)) /* Initial location */ - LEN(UW5, UW0) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW1, UW0) - .byte 0xc, FP, 8 /* DW_CFA_def_cfa, %ebp 8 */ - .byte 0x80+FP, 2 /* DW_CFA_offset, %ebp 2*-4 */ - ADV(UW2, UW1) - .byte 0x80+3, 0 /* DW_CFA_offset, %ebx 0*-4 */ - ADV(UW3, UW2) - .byte 0xa /* DW_CFA_remember_state */ - .byte 0xc, SP, 4 /* DW_CFA_def_cfa, %esp 4 */ - .byte 0xc0+3 /* DW_CFA_restore, %ebx */ - .byte 0xc0+FP /* DW_CFA_restore, %ebp */ - ADV(UW4, UW3) - .byte 0xb /* DW_CFA_restore_state */ - .balign 4 -L(EFDE1): - - .set L(set2),L(EFDE2)-L(SFDE2) - .long L(set2) /* FDE Length */ -L(SFDE2): - LEN(SFDE2, CIE) /* FDE CIE offset */ - .long PCREL(L(UW6)) /* Initial location */ - LEN(UW8,UW6) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW7, UW6) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE2): - - .set L(set3),L(EFDE3)-L(SFDE3) - .long L(set3) /* FDE Length */ -L(SFDE3): - LEN(SFDE3, CIE) /* FDE CIE offset */ - .long PCREL(L(UW9)) /* Initial location */ - LEN(UW11, UW9) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW10, UW9) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE3): - - .set L(set4),L(EFDE4)-L(SFDE4) - .long L(set4) /* FDE Length */ -L(SFDE4): - LEN(SFDE4, CIE) /* FDE CIE offset */ - .long PCREL(L(UW12)) /* Initial location */ - LEN(UW20, UW12) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW13, UW12) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ -#ifdef FFI_CLOSURE_CALL_INNER_SAVE_EBX - ADV(UW14, UW13) - .byte 0x80+3, (40-(closure_FS+4))/-4 /* DW_CFA_offset %ebx */ - ADV(UW15, UW14) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ - ADV(UW16, UW15) -#else - ADV(UW16, UW13) -#endif - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW17, UW16) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - ADV(UW18, UW17) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW19, UW18) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE4): - - .set L(set5),L(EFDE5)-L(SFDE5) - .long L(set5) /* FDE Length */ -L(SFDE5): - LEN(SFDE5, CIE) /* FDE CIE offset */ - .long PCREL(L(UW21)) /* Initial location */ - LEN(UW23, UW21) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW22, UW21) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE5): - - .set L(set6),L(EFDE6)-L(SFDE6) - .long L(set6) /* FDE Length */ -L(SFDE6): - LEN(SFDE6, CIE) /* FDE CIE offset */ - .long PCREL(L(UW24)) /* Initial location */ - LEN(UW26, UW24) /* Address range */ - .byte 0 /* Augmentation size */ - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - .byte 0x80+8, 2 /* DW_CFA_offset %eip, 2*-4 */ - ADV(UW25, UW24) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE6): - - .set L(set7),L(EFDE7)-L(SFDE7) - .long L(set7) /* FDE Length */ -L(SFDE7): - LEN(SFDE7, CIE) /* FDE CIE offset */ - .long PCREL(L(UW27)) /* Initial location */ - LEN(UW31, UW27) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW28, UW27) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ -#ifdef FFI_CLOSURE_CALL_INNER_SAVE_EBX - ADV(UW29, UW28) - .byte 0x80+3, (40-(closure_FS+4))/-4 /* DW_CFA_offset %ebx */ - ADV(UW30, UW29) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ -#endif - .balign 4 -L(EFDE7): -#if !FFI_NO_RAW_API - .set L(set8),L(EFDE8)-L(SFDE8) - .long L(set8) /* FDE Length */ -L(SFDE8): - LEN(SFDE8, CIE) /* FDE CIE offset */ - .long PCREL(L(UW32)) /* Initial location */ - LEN(UW40, UW32) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW33, UW32) - .byte 0xe, raw_closure_S_FS+4 /* DW_CFA_def_cfa_offset */ - ADV(UW34, UW33) - .byte 0x80+3, 2 /* DW_CFA_offset %ebx 2*-4 */ - ADV(UW35, UW34) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ - ADV(UW36, UW35) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW37, UW36) - .byte 0xe, raw_closure_S_FS+4 /* DW_CFA_def_cfa_offset */ - ADV(UW38, UW37) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW39, UW38) - .byte 0xe, raw_closure_S_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE8): - - .set L(set9),L(EFDE9)-L(SFDE9) - .long L(set9) /* FDE Length */ -L(SFDE9): - LEN(SFDE9, CIE) /* FDE CIE offset */ - .long PCREL(L(UW41)) /* Initial location */ - LEN(UW52, UW41) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW42, UW41) - .byte 0xe, 0 /* DW_CFA_def_cfa_offset */ - .byte 0x9, 8, 2 /* DW_CFA_register %eip, %edx */ - ADV(UW43, UW42) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW44, UW43) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - .byte 0x80+8, 2 /* DW_CFA_offset %eip 2*-4 */ - ADV(UW45, UW44) - .byte 0xe, raw_closure_T_FS+8 /* DW_CFA_def_cfa_offset */ - ADV(UW46, UW45) - .byte 0x80+3, 3 /* DW_CFA_offset %ebx 3*-4 */ - ADV(UW47, UW46) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ - ADV(UW48, UW47) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - ADV(UW49, UW48) - .byte 0xe, raw_closure_T_FS+8 /* DW_CFA_def_cfa_offset */ - ADV(UW50, UW49) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - ADV(UW51, UW50) - .byte 0xe, raw_closure_T_FS+8 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE9): -#endif /* !FFI_NO_RAW_API */ - -#ifdef _WIN32 - .def @feat.00; - .scl 3; - .type 0; - .endef - .globl @feat.00 -@feat.00 = 1 -#endif - -#if defined(__APPLE__) - .subsections_via_symbols -# if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \ - __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1070 && __clang__ -/* compact unwind is not used with GCC at present, was not present before 10.6 - but has some bugs there, so do not emit until 10.7. */ - .section __LD,__compact_unwind,regular,debug - - /* compact unwind for ffi_call_i386 */ - .long C(ffi_call_i386) - .set L1,L(UW5)-L(UW0) - .long L1 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_go_closure_EAX */ - .long C(ffi_go_closure_EAX) - .set L2,L(UW8)-L(UW6) - .long L2 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_go_closure_ECX */ - .long C(ffi_go_closure_ECX) - .set L3,L(UW11)-L(UW9) - .long L3 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_closure_i386 */ - .long C(ffi_closure_i386) - .set L4,L(UW20)-L(UW12) - .long L4 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_go_closure_STDCALL */ - .long C(ffi_go_closure_STDCALL) - .set L5,L(UW23)-L(UW21) - .long L5 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_closure_REGISTER */ - .long C(ffi_closure_REGISTER) - .set L6,L(UW26)-L(UW24) - .long L6 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_closure_STDCALL */ - .long C(ffi_closure_STDCALL) - .set L7,L(UW31)-L(UW27) - .long L7 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_closure_raw_SYSV */ - .long C(ffi_closure_raw_SYSV) - .set L8,L(UW40)-L(UW32) - .long L8 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 - - /* compact unwind for ffi_closure_raw_THISCALL */ - .long C(ffi_closure_raw_THISCALL) - .set L9,L(UW52)-L(UW41) - .long L9 - .long 0x04000000 /* use dwarf unwind info */ - .long 0 - .long 0 -#endif /* use compact unwind */ -#endif /* __APPLE__ */ - -#endif /* ifndef _MSC_VER */ - -#endif /* ifdef __i386__ */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv_intel.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv_intel.S deleted file mode 100644 index cccdf7d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv_intel.S +++ /dev/null @@ -1,998 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2017, 2022 Anthony Green - - Copyright (c) 2013 The Written Word, Inc. - - Copyright (c) 1996,1998,2001-2003,2005,2008,2010 Red Hat, Inc. - - X86 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef __x86_64__ -#ifdef _MSC_VER - -#define LIBFFI_ASM -#include -#include -#include -#include "internal.h" - -#define C2(X, Y) X ## Y -#define C1(X, Y) C2(X, Y) -#define L(X) C1(L, X) -# define ENDF(X) X ENDP - -/* This macro allows the safe creation of jump tables without an - actual table. The entry points into the table are all 8 bytes. - The use of ORG asserts that we're at the correct location. */ -/* ??? The clang assembler doesn't handle .org with symbolic expressions. */ -#if defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) -# define E(BASE, X) ALIGN 8 -#else -# define E(BASE, X) ALIGN 8; ORG BASE + X * 8 -#endif - - .686P - .MODEL FLAT - -EXTRN @ffi_closure_inner@8:PROC -_TEXT SEGMENT - -/* This is declared as - - void ffi_call_i386(struct call_frame *frame, char *argp) - __attribute__((fastcall)); - - Thus the arguments are present in - - ecx: frame - edx: argp -*/ - -ALIGN 16 -PUBLIC @ffi_call_i386@8 -@ffi_call_i386@8 PROC -L(UW0): - cfi_startproc - #if !HAVE_FASTCALL - mov ecx, [esp+4] - mov edx, [esp+8] - #endif - mov eax, [esp] /* move the return address */ - mov [ecx], ebp /* store ebp into local frame */ - mov [ecx+4], eax /* store retaddr into local frame */ - - /* New stack frame based off ebp. This is a itty bit of unwind - trickery in that the CFA *has* changed. There is no easy way - to describe it correctly on entry to the function. Fortunately, - it doesn't matter too much since at all points we can correctly - unwind back to ffi_call. Note that the location to which we - moved the return address is (the new) CFA-4, so from the - perspective of the unwind info, it hasn't moved. */ - mov ebp, ecx -L(UW1): - /* cfi_def_cfa(%ebp, 8) */ - /* cfi_rel_offset(%ebp, 0) */ - - mov esp, edx /* set outgoing argument stack */ - mov eax, [20+R_EAX*4+ebp] /* set register arguments */ - mov edx, [20+R_EDX*4+ebp] - mov ecx, [20+R_ECX*4+ebp] - - call dword ptr [ebp+8] - - mov ecx, [12+ebp] /* load return type code */ - mov [ebp+8], ebx /* preserve %ebx */ -L(UW2): - /* cfi_rel_offset(%ebx, 8) */ - - and ecx, X86_RET_TYPE_MASK - lea ebx, [L(store_table) + ecx * 8] - mov ecx, [ebp+16] /* load result address */ - jmp ebx - - ALIGN 8 -L(store_table): -E(L(store_table), X86_RET_FLOAT) - fstp DWORD PTR [ecx] - jmp L(e1) -E(L(store_table), X86_RET_DOUBLE) - fstp QWORD PTR [ecx] - jmp L(e1) -E(L(store_table), X86_RET_LDOUBLE) - fstp QWORD PTR [ecx] - jmp L(e1) -E(L(store_table), X86_RET_SINT8) - movsx eax, al - mov [ecx], eax - jmp L(e1) -E(L(store_table), X86_RET_SINT16) - movsx eax, ax - mov [ecx], eax - jmp L(e1) -E(L(store_table), X86_RET_UINT8) - movzx eax, al - mov [ecx], eax - jmp L(e1) -E(L(store_table), X86_RET_UINT16) - movzx eax, ax - mov [ecx], eax - jmp L(e1) -E(L(store_table), X86_RET_INT64) - mov [ecx+4], edx - /* fallthru */ -E(L(store_table), X86_RET_int 32) - mov [ecx], eax - /* fallthru */ -E(L(store_table), X86_RET_VOID) -L(e1): - mov ebx, [ebp+8] - mov esp, ebp - pop ebp -L(UW3): - /* cfi_remember_state */ - /* cfi_def_cfa(%esp, 4) */ - /* cfi_restore(%ebx) */ - /* cfi_restore(%ebp) */ - ret -L(UW4): - /* cfi_restore_state */ - -E(L(store_table), X86_RET_STRUCTPOP) - jmp L(e1) -E(L(store_table), X86_RET_STRUCTARG) - jmp L(e1) -E(L(store_table), X86_RET_STRUCT_1B) - mov [ecx], al - jmp L(e1) -E(L(store_table), X86_RET_STRUCT_2B) - mov [ecx], ax - jmp L(e1) - - /* Fill out the table so that bad values are predictable. */ -E(L(store_table), X86_RET_UNUSED14) - int 3 -E(L(store_table), X86_RET_UNUSED15) - int 3 - -L(UW5): - /* cfi_endproc */ -ENDF(@ffi_call_i386@8) - -/* The inner helper is declared as - - void ffi_closure_inner(struct closure_frame *frame, char *argp) - __attribute_((fastcall)) - - Thus the arguments are placed in - - ecx: frame - edx: argp -*/ - -/* Macros to help setting up the closure_data structure. */ - -#if HAVE_FASTCALL -# define closure_FS (40 + 4) -# define closure_CF 0 -#else -# define closure_FS (8 + 40 + 12) -# define closure_CF 8 -#endif - -FFI_CLOSURE_SAVE_REGS MACRO - mov [esp + closure_CF+16+R_EAX*4], eax - mov [esp + closure_CF+16+R_EDX*4], edx - mov [esp + closure_CF+16+R_ECX*4], ecx -ENDM - -FFI_CLOSURE_COPY_TRAMP_DATA MACRO - mov edx, [eax+FFI_TRAMPOLINE_SIZE] /* copy cif */ - mov ecx, [eax+FFI_TRAMPOLINE_SIZE+4] /* copy fun */ - mov eax, [eax+FFI_TRAMPOLINE_SIZE+8]; /* copy user_data */ - mov [esp+closure_CF+28], edx - mov [esp+closure_CF+32], ecx - mov [esp+closure_CF+36], eax -ENDM - -#if HAVE_FASTCALL -FFI_CLOSURE_PREP_CALL MACRO - mov ecx, esp /* load closure_data */ - lea edx, [esp+closure_FS+4] /* load incoming stack */ -ENDM -#else -FFI_CLOSURE_PREP_CALL MACRO - lea ecx, [esp+closure_CF] /* load closure_data */ - lea edx, [esp+closure_FS+4] /* load incoming stack */ - mov [esp], ecx - mov [esp+4], edx -ENDM -#endif - -FFI_CLOSURE_CALL_INNER MACRO UWN - call @ffi_closure_inner@8 -ENDM - -FFI_CLOSURE_MASK_AND_JUMP MACRO LABEL - and eax, X86_RET_TYPE_MASK - lea edx, [LABEL+eax*8] - mov eax, [esp+closure_CF] /* optimiztic load */ - jmp edx -ENDM - -ALIGN 16 -PUBLIC ffi_go_closure_EAX -ffi_go_closure_EAX PROC C -L(UW6): - /* cfi_startproc */ - sub esp, closure_FS -L(UW7): - /* cfi_def_cfa_offset(closure_FS + 4) */ - FFI_CLOSURE_SAVE_REGS - mov edx, [eax+4] /* copy cif */ - mov ecx, [eax +8] /* copy fun */ - mov [esp+closure_CF+28], edx - mov [esp+closure_CF+32], ecx - mov [esp+closure_CF+36], eax /* closure is user_data */ - jmp L(do_closure_i386) -L(UW8): - /* cfi_endproc */ -ENDF(ffi_go_closure_EAX) - -ALIGN 16 -PUBLIC ffi_go_closure_ECX -ffi_go_closure_ECX PROC C -L(UW9): - /* cfi_startproc */ - sub esp, closure_FS -L(UW10): - /* cfi_def_cfa_offset(closure_FS + 4) */ - FFI_CLOSURE_SAVE_REGS - mov edx, [ecx+4] /* copy cif */ - mov eax, [ecx+8] /* copy fun */ - mov [esp+closure_CF+28], edx - mov [esp+closure_CF+32], eax - mov [esp+closure_CF+36], ecx /* closure is user_data */ - jmp L(do_closure_i386) -L(UW11): - /* cfi_endproc */ -ENDF(ffi_go_closure_ECX) - -/* The closure entry points are reached from the ffi_closure trampoline. - On entry, %eax contains the address of the ffi_closure. */ - -ALIGN 16 -PUBLIC ffi_closure_i386 -ffi_closure_i386 PROC C -L(UW12): - /* cfi_startproc */ - sub esp, closure_FS -L(UW13): - /* cfi_def_cfa_offset(closure_FS + 4) */ - - FFI_CLOSURE_SAVE_REGS - FFI_CLOSURE_COPY_TRAMP_DATA - - /* Entry point from preceeding Go closures. */ -L(do_closure_i386):: - - FFI_CLOSURE_PREP_CALL - FFI_CLOSURE_CALL_INNER(14) - FFI_CLOSURE_MASK_AND_JUMP L(C1(load_table,2)) - - ALIGN 8 -L(load_table2): -E(L(load_table2), X86_RET_FLOAT) - fld dword ptr [esp+closure_CF] - jmp L(e2) -E(L(load_table2), X86_RET_DOUBLE) - fld qword ptr [esp+closure_CF] - jmp L(e2) -E(L(load_table2), X86_RET_LDOUBLE) - fld qword ptr [esp+closure_CF] - jmp L(e2) -E(L(load_table2), X86_RET_SINT8) - movsx eax, al - jmp L(e2) -E(L(load_table2), X86_RET_SINT16) - movsx eax, ax - jmp L(e2) -E(L(load_table2), X86_RET_UINT8) - movzx eax, al - jmp L(e2) -E(L(load_table2), X86_RET_UINT16) - movzx eax, ax - jmp L(e2) -E(L(load_table2), X86_RET_INT64) - mov edx, [esp+closure_CF+4] - jmp L(e2) -E(L(load_table2), X86_RET_INT32) - nop - /* fallthru */ -E(L(load_table2), X86_RET_VOID) -L(e2): - add esp, closure_FS -L(UW16): - /* cfi_adjust_cfa_offset(-closure_FS) */ - ret -L(UW17): - /* cfi_adjust_cfa_offset(closure_FS) */ -E(L(load_table2), X86_RET_STRUCTPOP) - add esp, closure_FS -L(UW18): - /* cfi_adjust_cfa_offset(-closure_FS) */ - ret 4 -L(UW19): - /* cfi_adjust_cfa_offset(closure_FS) */ -E(L(load_table2), X86_RET_STRUCTARG) - jmp L(e2) -E(L(load_table2), X86_RET_STRUCT_1B) - movzx eax, al - jmp L(e2) -E(L(load_table2), X86_RET_STRUCT_2B) - movzx eax, ax - jmp L(e2) - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table2), X86_RET_UNUSED14) - int 3 -E(L(load_table2), X86_RET_UNUSED15) - int 3 - -L(UW20): - /* cfi_endproc */ -ENDF(ffi_closure_i386) - -ALIGN 16 -PUBLIC ffi_go_closure_STDCALL -ffi_go_closure_STDCALL PROC C -L(UW21): - /* cfi_startproc */ - sub esp, closure_FS -L(UW22): - /* cfi_def_cfa_offset(closure_FS + 4) */ - FFI_CLOSURE_SAVE_REGS - mov edx, [ecx+4] /* copy cif */ - mov eax, [ecx+8] /* copy fun */ - mov [esp+closure_CF+28], edx - mov [esp+closure_CF+32], eax - mov [esp+closure_CF+36], ecx /* closure is user_data */ - jmp L(do_closure_STDCALL) -L(UW23): - /* cfi_endproc */ -ENDF(ffi_go_closure_STDCALL) - -/* For REGISTER, we have no available parameter registers, and so we - enter here having pushed the closure onto the stack. */ - -ALIGN 16 -PUBLIC ffi_closure_REGISTER -ffi_closure_REGISTER PROC C -L(UW24): - /* cfi_startproc */ - /* cfi_def_cfa(%esp, 8) */ - /* cfi_offset(%eip, -8) */ - sub esp, closure_FS-4 -L(UW25): - /* cfi_def_cfa_offset(closure_FS + 4) */ - FFI_CLOSURE_SAVE_REGS - mov ecx, [esp+closure_FS-4] /* load retaddr */ - mov eax, [esp+closure_FS] /* load closure */ - mov [esp+closure_FS], ecx /* move retaddr */ - jmp L(do_closure_REGISTER) -L(UW26): - /* cfi_endproc */ -ENDF(ffi_closure_REGISTER) - -/* For STDCALL (and others), we need to pop N bytes of arguments off - the stack following the closure. The amount needing to be popped - is returned to us from ffi_closure_inner. */ - -ALIGN 16 -PUBLIC ffi_closure_STDCALL -ffi_closure_STDCALL PROC C -L(UW27): - /* cfi_startproc */ - sub esp, closure_FS -L(UW28): - /* cfi_def_cfa_offset(closure_FS + 4) */ - - FFI_CLOSURE_SAVE_REGS - - /* Entry point from ffi_closure_REGISTER. */ -L(do_closure_REGISTER):: - - FFI_CLOSURE_COPY_TRAMP_DATA - - /* Entry point from preceeding Go closure. */ -L(do_closure_STDCALL):: - - FFI_CLOSURE_PREP_CALL - FFI_CLOSURE_CALL_INNER(29) - - mov ecx, eax - shr ecx, X86_RET_POP_SHIFT /* isolate pop count */ - lea ecx, [esp+closure_FS+ecx] /* compute popped esp */ - mov edx, [esp+closure_FS] /* move return address */ - mov [ecx], edx - - /* From this point on, the value of %esp upon return is %ecx+4, - and we've copied the return address to %ecx to make return easy. - There's no point in representing this in the unwind info, as - there is always a window between the mov and the ret which - will be wrong from one point of view or another. */ - - FFI_CLOSURE_MASK_AND_JUMP L(C1(load_table,3)) - - ALIGN 8 -L(load_table3): -E(L(load_table3), X86_RET_FLOAT) - fld DWORD PTR [esp+closure_CF] - mov esp, ecx - ret -E(L(load_table3), X86_RET_DOUBLE) - fld QWORD PTR [esp+closure_CF] - mov esp, ecx - ret -E(L(load_table3), X86_RET_LDOUBLE) - fld QWORD PTR [esp+closure_CF] - mov esp, ecx - ret -E(L(load_table3), X86_RET_SINT8) - movsx eax, al - mov esp, ecx - ret -E(L(load_table3), X86_RET_SINT16) - movsx eax, ax - mov esp, ecx - ret -E(L(load_table3), X86_RET_UINT8) - movzx eax, al - mov esp, ecx - ret -E(L(load_table3), X86_RET_UINT16) - movzx eax, ax - mov esp, ecx - ret -E(L(load_table3), X86_RET_INT64) - mov edx, [esp+closure_CF+4] - mov esp, ecx - ret -E(L(load_table3), X86_RET_int 32) - mov esp, ecx - ret -E(L(load_table3), X86_RET_VOID) - mov esp, ecx - ret -E(L(load_table3), X86_RET_STRUCTPOP) - mov esp, ecx - ret -E(L(load_table3), X86_RET_STRUCTARG) - mov esp, ecx - ret -E(L(load_table3), X86_RET_STRUCT_1B) - movzx eax, al - mov esp, ecx - ret -E(L(load_table3), X86_RET_STRUCT_2B) - movzx eax, ax - mov esp, ecx - ret - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table3), X86_RET_UNUSED14) - int 3 -E(L(load_table3), X86_RET_UNUSED15) - int 3 - -L(UW31): - /* cfi_endproc */ -ENDF(ffi_closure_STDCALL) - -#if !FFI_NO_RAW_API - -#define raw_closure_S_FS (16+16+12) - -ALIGN 16 -PUBLIC ffi_closure_raw_SYSV -ffi_closure_raw_SYSV PROC C -L(UW32): - /* cfi_startproc */ - sub esp, raw_closure_S_FS -L(UW33): - /* cfi_def_cfa_offset(raw_closure_S_FS + 4) */ - mov [esp+raw_closure_S_FS-4], ebx -L(UW34): - /* cfi_rel_offset(%ebx, raw_closure_S_FS-4) */ - - mov edx, [eax+FFI_TRAMPOLINE_SIZE+8] /* load cl->user_data */ - mov [esp+12], edx - lea edx, [esp+raw_closure_S_FS+4] /* load raw_args */ - mov [esp+8], edx - lea edx, [esp+16] /* load &res */ - mov [esp+4], edx - mov ebx, [eax+FFI_TRAMPOLINE_SIZE] /* load cl->cif */ - mov [esp], ebx - call DWORD PTR [eax+FFI_TRAMPOLINE_SIZE+4] /* call cl->fun */ - - mov eax, [ebx+20] /* load cif->flags */ - and eax, X86_RET_TYPE_MASK -/* #ifdef __PIC__ */ -/* call __x86.get_pc_thunk.bx */ -/* L(pc4): */ -/* lea ecx, L(load_table4)-L(pc4)(%ebx, %eax, 8), %ecx */ -/* #else */ - lea ecx, [L(load_table4)+eax+8] -/* #endif */ - mov ebx, [esp+raw_closure_S_FS-4] -L(UW35): - /* cfi_restore(%ebx) */ - mov eax, [esp+16] /* Optimistic load */ - jmp dword ptr [ecx] - - ALIGN 8 -L(load_table4): -E(L(load_table4), X86_RET_FLOAT) - fld DWORD PTR [esp +16] - jmp L(e4) -E(L(load_table4), X86_RET_DOUBLE) - fld QWORD PTR [esp +16] - jmp L(e4) -E(L(load_table4), X86_RET_LDOUBLE) - fld QWORD PTR [esp +16] - jmp L(e4) -E(L(load_table4), X86_RET_SINT8) - movsx eax, al - jmp L(e4) -E(L(load_table4), X86_RET_SINT16) - movsx eax, ax - jmp L(e4) -E(L(load_table4), X86_RET_UINT8) - movzx eax, al - jmp L(e4) -E(L(load_table4), X86_RET_UINT16) - movzx eax, ax - jmp L(e4) -E(L(load_table4), X86_RET_INT64) - mov edx, [esp+16+4] - jmp L(e4) -E(L(load_table4), X86_RET_int 32) - nop - /* fallthru */ -E(L(load_table4), X86_RET_VOID) -L(e4): - add esp, raw_closure_S_FS -L(UW36): - /* cfi_adjust_cfa_offset(-raw_closure_S_FS) */ - ret -L(UW37): - /* cfi_adjust_cfa_offset(raw_closure_S_FS) */ -E(L(load_table4), X86_RET_STRUCTPOP) - add esp, raw_closure_S_FS -L(UW38): - /* cfi_adjust_cfa_offset(-raw_closure_S_FS) */ - ret 4 -L(UW39): - /* cfi_adjust_cfa_offset(raw_closure_S_FS) */ -E(L(load_table4), X86_RET_STRUCTARG) - jmp L(e4) -E(L(load_table4), X86_RET_STRUCT_1B) - movzx eax, al - jmp L(e4) -E(L(load_table4), X86_RET_STRUCT_2B) - movzx eax, ax - jmp L(e4) - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table4), X86_RET_UNUSED14) - int 3 -E(L(load_table4), X86_RET_UNUSED15) - int 3 - -L(UW40): - /* cfi_endproc */ -ENDF(ffi_closure_raw_SYSV) - -#define raw_closure_T_FS (16+16+8) - -ALIGN 16 -PUBLIC ffi_closure_raw_THISCALL -ffi_closure_raw_THISCALL PROC C -L(UW41): - /* cfi_startproc */ - /* Rearrange the stack such that %ecx is the first argument. - This means moving the return address. */ - pop edx -L(UW42): - /* cfi_def_cfa_offset(0) */ - /* cfi_register(%eip, %edx) */ - push ecx -L(UW43): - /* cfi_adjust_cfa_offset(4) */ - push edx -L(UW44): - /* cfi_adjust_cfa_offset(4) */ - /* cfi_rel_offset(%eip, 0) */ - sub esp, raw_closure_T_FS -L(UW45): - /* cfi_adjust_cfa_offset(raw_closure_T_FS) */ - mov [esp+raw_closure_T_FS-4], ebx -L(UW46): - /* cfi_rel_offset(%ebx, raw_closure_T_FS-4) */ - - mov edx, [eax+FFI_TRAMPOLINE_SIZE+8] /* load cl->user_data */ - mov [esp+12], edx - lea edx, [esp+raw_closure_T_FS+4] /* load raw_args */ - mov [esp+8], edx - lea edx, [esp+16] /* load &res */ - mov [esp+4], edx - mov ebx, [eax+FFI_TRAMPOLINE_SIZE] /* load cl->cif */ - mov [esp], ebx - call DWORD PTR [eax+FFI_TRAMPOLINE_SIZE+4] /* call cl->fun */ - - mov eax, [ebx+20] /* load cif->flags */ - and eax, X86_RET_TYPE_MASK -/* #ifdef __PIC__ */ -/* call __x86.get_pc_thunk.bx */ -/* L(pc5): */ -/* leal L(load_table5)-L(pc5)(%ebx, %eax, 8), %ecx */ -/* #else */ - lea ecx, [L(load_table5)+eax*8] -/*#endif */ - mov ebx, [esp+raw_closure_T_FS-4] -L(UW47): - /* cfi_restore(%ebx) */ - mov eax, [esp+16] /* Optimistic load */ - jmp DWORD PTR [ecx] - - AlIGN 4 -L(load_table5): -E(L(load_table5), X86_RET_FLOAT) - fld DWORD PTR [esp +16] - jmp L(e5) -E(L(load_table5), X86_RET_DOUBLE) - fld QWORD PTR [esp +16] - jmp L(e5) -E(L(load_table5), X86_RET_LDOUBLE) - fld QWORD PTR [esp+16] - jmp L(e5) -E(L(load_table5), X86_RET_SINT8) - movsx eax, al - jmp L(e5) -E(L(load_table5), X86_RET_SINT16) - movsx eax, ax - jmp L(e5) -E(L(load_table5), X86_RET_UINT8) - movzx eax, al - jmp L(e5) -E(L(load_table5), X86_RET_UINT16) - movzx eax, ax - jmp L(e5) -E(L(load_table5), X86_RET_INT64) - mov edx, [esp+16+4] - jmp L(e5) -E(L(load_table5), X86_RET_int 32) - nop - /* fallthru */ -E(L(load_table5), X86_RET_VOID) -L(e5): - add esp, raw_closure_T_FS -L(UW48): - /* cfi_adjust_cfa_offset(-raw_closure_T_FS) */ - /* Remove the extra %ecx argument we pushed. */ - ret 4 -L(UW49): - /* cfi_adjust_cfa_offset(raw_closure_T_FS) */ -E(L(load_table5), X86_RET_STRUCTPOP) - add esp, raw_closure_T_FS -L(UW50): - /* cfi_adjust_cfa_offset(-raw_closure_T_FS) */ - ret 8 -L(UW51): - /* cfi_adjust_cfa_offset(raw_closure_T_FS) */ -E(L(load_table5), X86_RET_STRUCTARG) - jmp L(e5) -E(L(load_table5), X86_RET_STRUCT_1B) - movzx eax, al - jmp L(e5) -E(L(load_table5), X86_RET_STRUCT_2B) - movzx eax, ax - jmp L(e5) - - /* Fill out the table so that bad values are predictable. */ -E(L(load_table5), X86_RET_UNUSED14) - int 3 -E(L(load_table5), X86_RET_UNUSED15) - int 3 - -L(UW52): - /* cfi_endproc */ -ENDF(ffi_closure_raw_THISCALL) - -#endif /* !FFI_NO_RAW_API */ - -#ifdef X86_DARWIN -# define COMDAT(X) \ - .section __TEXT,__text,coalesced,pure_instructions; \ - .weak_definition X; \ - FFI_HIDDEN(X) -#elif defined __ELF__ && !(defined(__sun__) && defined(__svr4__)) -# define COMDAT(X) \ - .section .text.X,"axG",@progbits,X,comdat; \ - PUBLIC X; \ - FFI_HIDDEN(X) -#else -# define COMDAT(X) -#endif - -#if 0 -#if defined(__PIC__) - COMDAT(C(__x86.get_pc_thunk.bx)) -C(__x86.get_pc_thunk.bx): - movl (%esp), %ebx - ret -ENDF(C(__x86.get_pc_thunk.bx)) -# if defined X86_DARWIN || defined HAVE_HIDDEN_VISIBILITY_ATTRIBUTE - COMDAT(C(__x86.get_pc_thunk.dx)) -C(__x86.get_pc_thunk.dx): - movl (%esp), %edx - ret -ENDF(C(__x86.get_pc_thunk.dx)) -#endif /* DARWIN || HIDDEN */ -#endif /* __PIC__ */ -#endif - - -#if 0 -/* Sadly, OSX cctools-as doesn't understand .cfi directives at all. */ - -#ifdef __APPLE__ -.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support -EHFrame0: -#elif defined(X86_WIN32) -.section .eh_frame,"r" -#elif defined(HAVE_AS_X86_64_UNWIND_SECTION_TYPE) -.section .eh_frame,EH_FRAME_FLAGS,@unwind -#else -.section .eh_frame,EH_FRAME_FLAGS,@progbits -#endif - -#ifdef HAVE_AS_X86_PCREL -# define PCREL(X) X - . -#else -# define PCREL(X) X@rel -#endif - -/* Simplify advancing between labels. Assume DW_CFA_advance_loc1 fits. */ -#define ADV(N, P) .byte 2, L(N)-L(P) - - .balign 4 -L(CIE): - .set L(set0),L(ECIE)-L(SCIE) - .long L(set0) /* CIE Length */ -L(SCIE): - .long 0 /* CIE Identifier Tag */ - .byte 1 /* CIE Version */ - .ascii "zR\0" /* CIE Augmentation */ - .byte 1 /* CIE Code Alignment Factor */ - .byte 0x7c /* CIE Data Alignment Factor */ - .byte 0x8 /* CIE RA Column */ - .byte 1 /* Augmentation size */ - .byte 0x1b /* FDE Encoding (pcrel sdata4) */ - .byte 0xc, 4, 4 /* DW_CFA_def_cfa, %esp offset 4 */ - .byte 0x80+8, 1 /* DW_CFA_offset, %eip offset 1*-4 */ - .balign 4 -L(ECIE): - - .set L(set1),L(EFDE1)-L(SFDE1) - .long L(set1) /* FDE Length */ -L(SFDE1): - .long L(SFDE1)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW0)) /* Initial location */ - .long L(UW5)-L(UW0) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW1, UW0) - .byte 0xc, 5, 8 /* DW_CFA_def_cfa, %ebp 8 */ - .byte 0x80+5, 2 /* DW_CFA_offset, %ebp 2*-4 */ - ADV(UW2, UW1) - .byte 0x80+3, 0 /* DW_CFA_offset, %ebx 0*-4 */ - ADV(UW3, UW2) - .byte 0xa /* DW_CFA_remember_state */ - .byte 0xc, 4, 4 /* DW_CFA_def_cfa, %esp 4 */ - .byte 0xc0+3 /* DW_CFA_restore, %ebx */ - .byte 0xc0+5 /* DW_CFA_restore, %ebp */ - ADV(UW4, UW3) - .byte 0xb /* DW_CFA_restore_state */ - .balign 4 -L(EFDE1): - - .set L(set2),L(EFDE2)-L(SFDE2) - .long L(set2) /* FDE Length */ -L(SFDE2): - .long L(SFDE2)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW6)) /* Initial location */ - .long L(UW8)-L(UW6) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW7, UW6) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE2): - - .set L(set3),L(EFDE3)-L(SFDE3) - .long L(set3) /* FDE Length */ -L(SFDE3): - .long L(SFDE3)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW9)) /* Initial location */ - .long L(UW11)-L(UW9) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW10, UW9) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE3): - - .set L(set4),L(EFDE4)-L(SFDE4) - .long L(set4) /* FDE Length */ -L(SFDE4): - .long L(SFDE4)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW12)) /* Initial location */ - .long L(UW20)-L(UW12) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW13, UW12) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ -#ifdef FFI_CLOSURE_CALL_INNER_SAVE_EBX - ADV(UW14, UW13) - .byte 0x80+3, (40-(closure_FS+4))/-4 /* DW_CFA_offset %ebx */ - ADV(UW15, UW14) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ - ADV(UW16, UW15) -#else - ADV(UW16, UW13) -#endif - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW17, UW16) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - ADV(UW18, UW17) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW19, UW18) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE4): - - .set L(set5),L(EFDE5)-L(SFDE5) - .long L(set5) /* FDE Length */ -L(SFDE5): - .long L(SFDE5)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW21)) /* Initial location */ - .long L(UW23)-L(UW21) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW22, UW21) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE5): - - .set L(set6),L(EFDE6)-L(SFDE6) - .long L(set6) /* FDE Length */ -L(SFDE6): - .long L(SFDE6)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW24)) /* Initial location */ - .long L(UW26)-L(UW24) /* Address range */ - .byte 0 /* Augmentation size */ - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - .byte 0x80+8, 2 /* DW_CFA_offset %eip, 2*-4 */ - ADV(UW25, UW24) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE6): - - .set L(set7),L(EFDE7)-L(SFDE7) - .long L(set7) /* FDE Length */ -L(SFDE7): - .long L(SFDE7)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW27)) /* Initial location */ - .long L(UW31)-L(UW27) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW28, UW27) - .byte 0xe, closure_FS+4 /* DW_CFA_def_cfa_offset */ -#ifdef FFI_CLOSURE_CALL_INNER_SAVE_EBX - ADV(UW29, UW28) - .byte 0x80+3, (40-(closure_FS+4))/-4 /* DW_CFA_offset %ebx */ - ADV(UW30, UW29) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ -#endif - .balign 4 -L(EFDE7): - -#if !FFI_NO_RAW_API - .set L(set8),L(EFDE8)-L(SFDE8) - .long L(set8) /* FDE Length */ -L(SFDE8): - .long L(SFDE8)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW32)) /* Initial location */ - .long L(UW40)-L(UW32) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW33, UW32) - .byte 0xe, raw_closure_S_FS+4 /* DW_CFA_def_cfa_offset */ - ADV(UW34, UW33) - .byte 0x80+3, 2 /* DW_CFA_offset %ebx 2*-4 */ - ADV(UW35, UW34) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ - ADV(UW36, UW35) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW37, UW36) - .byte 0xe, raw_closure_S_FS+4 /* DW_CFA_def_cfa_offset */ - ADV(UW38, UW37) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW39, UW38) - .byte 0xe, raw_closure_S_FS+4 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE8): - - .set L(set9),L(EFDE9)-L(SFDE9) - .long L(set9) /* FDE Length */ -L(SFDE9): - .long L(SFDE9)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW41)) /* Initial location */ - .long L(UW52)-L(UW41) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW42, UW41) - .byte 0xe, 0 /* DW_CFA_def_cfa_offset */ - .byte 0x9, 8, 2 /* DW_CFA_register %eip, %edx */ - ADV(UW43, UW42) - .byte 0xe, 4 /* DW_CFA_def_cfa_offset */ - ADV(UW44, UW43) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - .byte 0x80+8, 2 /* DW_CFA_offset %eip 2*-4 */ - ADV(UW45, UW44) - .byte 0xe, raw_closure_T_FS+8 /* DW_CFA_def_cfa_offset */ - ADV(UW46, UW45) - .byte 0x80+3, 3 /* DW_CFA_offset %ebx 3*-4 */ - ADV(UW47, UW46) - .byte 0xc0+3 /* DW_CFA_restore %ebx */ - ADV(UW48, UW47) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - ADV(UW49, UW48) - .byte 0xe, raw_closure_T_FS+8 /* DW_CFA_def_cfa_offset */ - ADV(UW50, UW49) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset */ - ADV(UW51, UW50) - .byte 0xe, raw_closure_T_FS+8 /* DW_CFA_def_cfa_offset */ - .balign 4 -L(EFDE9): -#endif /* !FFI_NO_RAW_API */ - -#ifdef _WIN32 - .def @feat.00; - .scl 3; - .type 0; - .endef - PUBLIC @feat.00 -@feat.00 = 1 -#endif - -#endif /* ifndef _MSC_VER */ -#endif /* ifndef __x86_64__ */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif -#endif - -END diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S deleted file mode 100644 index d9c5bd4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S +++ /dev/null @@ -1,711 +0,0 @@ -/* ----------------------------------------------------------------------- - unix64.S - Copyright (c) 2013 The Written Word, Inc. - - Copyright (c) 2008 Red Hat, Inc - - Copyright (c) 2002 Bo Thorsen - - x86-64 Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifdef __x86_64__ -#define LIBFFI_ASM -#include -#include -#include "internal64.h" -#include "asmnames.h" - - .text - -/* This macro allows the safe creation of jump tables without an - actual table. The entry points into the table are all 8 bytes. - The use of ORG asserts that we're at the correct location. */ -/* ??? The clang assembler doesn't handle .org with symbolic expressions. */ -#ifdef __CET__ -/* Double slot size to 16 byte to add 4 bytes of ENDBR64. */ -# define E(BASE, X) .balign 8; .org BASE + X * 16 -#elif defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) -# define E(BASE, X) .balign 8 -#else -# define E(BASE, X) .balign 8; .org BASE + X * 8 -#endif - -/* ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags, - void *raddr, void (*fnaddr)(void)); - - Bit o trickiness here -- ARGS+BYTES is the base of the stack frame - for this function. This has been allocated by ffi_call. We also - deallocate some of the stack that has been alloca'd. */ - - .balign 8 - .globl C(ffi_call_unix64) - FFI_HIDDEN(C(ffi_call_unix64)) - -C(ffi_call_unix64): -L(UW0): - _CET_ENDBR - movq (%rsp), %r10 /* Load return address. */ - leaq (%rdi, %rsi), %rax /* Find local stack base. */ - movq %rdx, (%rax) /* Save flags. */ - movq %rcx, 8(%rax) /* Save raddr. */ - movq %rbp, 16(%rax) /* Save old frame pointer. */ - movq %r10, 24(%rax) /* Relocate return address. */ - movq %rax, %rbp /* Finalize local stack frame. */ - - /* New stack frame based off rbp. This is a itty bit of unwind - trickery in that the CFA *has* changed. There is no easy way - to describe it correctly on entry to the function. Fortunately, - it doesn't matter too much since at all points we can correctly - unwind back to ffi_call. Note that the location to which we - moved the return address is (the new) CFA-8, so from the - perspective of the unwind info, it hasn't moved. */ -L(UW1): - /* cfi_def_cfa(%rbp, 32) */ - /* cfi_rel_offset(%rbp, 16) */ - - movq %rdi, %r10 /* Save a copy of the register area. */ - movq %r8, %r11 /* Save a copy of the target fn. */ - - /* Load up all argument registers. */ - movq (%r10), %rdi - movq 0x08(%r10), %rsi - movq 0x10(%r10), %rdx - movq 0x18(%r10), %rcx - movq 0x20(%r10), %r8 - movq 0x28(%r10), %r9 - movl 0xb0(%r10), %eax /* Set number of SSE registers. */ - testl %eax, %eax - jnz L(load_sse) -L(ret_from_load_sse): - - /* Deallocate the reg arg area, except for r10, then load via pop. */ - leaq 0xb8(%r10), %rsp - popq %r10 - - /* Call the user function. */ - call *%r11 - - /* Deallocate stack arg area; local stack frame in redzone. */ - leaq 24(%rbp), %rsp - - movq 0(%rbp), %rcx /* Reload flags. */ - movq 8(%rbp), %rdi /* Reload raddr. */ - movq 16(%rbp), %rbp /* Reload old frame pointer. */ -L(UW2): - /* cfi_remember_state */ - /* cfi_def_cfa(%rsp, 8) */ - /* cfi_restore(%rbp) */ - - /* The first byte of the flags contains the FFI_TYPE. */ - cmpb $UNIX64_RET_LAST, %cl - movzbl %cl, %r10d - leaq L(store_table)(%rip), %r11 - ja L(sa) -#ifdef __CET__ - /* NB: Originally, each slot is 8 byte. 4 bytes of ENDBR64 + - 4 bytes NOP padding double slot size to 16 bytes. */ - addl %r10d, %r10d -#endif - leaq (%r11, %r10, 8), %r10 - - /* Prep for the structure cases: scratch area in redzone. */ - leaq -20(%rsp), %rsi - jmp *%r10 - - .balign 8 -L(store_table): -E(L(store_table), UNIX64_RET_VOID) - _CET_ENDBR - ret -E(L(store_table), UNIX64_RET_UINT8) - _CET_ENDBR - movzbl %al, %eax - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_UINT16) - _CET_ENDBR - movzwl %ax, %eax - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_UINT32) - _CET_ENDBR - movl %eax, %eax - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_SINT8) - _CET_ENDBR - movsbq %al, %rax - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_SINT16) - _CET_ENDBR - movswq %ax, %rax - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_SINT32) - _CET_ENDBR - cltq - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_INT64) - _CET_ENDBR - movq %rax, (%rdi) - ret -E(L(store_table), UNIX64_RET_XMM32) - _CET_ENDBR - movd %xmm0, (%rdi) - ret -E(L(store_table), UNIX64_RET_XMM64) - _CET_ENDBR - movq %xmm0, (%rdi) - ret -E(L(store_table), UNIX64_RET_X87) - _CET_ENDBR - fstpt (%rdi) - ret -E(L(store_table), UNIX64_RET_X87_2) - _CET_ENDBR - fstpt (%rdi) - fstpt 16(%rdi) - ret -E(L(store_table), UNIX64_RET_ST_XMM0_RAX) - _CET_ENDBR - movq %rax, 8(%rsi) - jmp L(s3) -E(L(store_table), UNIX64_RET_ST_RAX_XMM0) - _CET_ENDBR - movq %xmm0, 8(%rsi) - jmp L(s2) -E(L(store_table), UNIX64_RET_ST_XMM0_XMM1) - _CET_ENDBR - movq %xmm1, 8(%rsi) - jmp L(s3) -E(L(store_table), UNIX64_RET_ST_RAX_RDX) - _CET_ENDBR - movq %rdx, 8(%rsi) -L(s2): - movq %rax, (%rsi) - shrl $UNIX64_SIZE_SHIFT, %ecx - rep movsb - ret - .balign 8 -L(s3): - movq %xmm0, (%rsi) - shrl $UNIX64_SIZE_SHIFT, %ecx - rep movsb - ret - -L(sa): call PLT(C(abort)) - - /* Many times we can avoid loading any SSE registers at all. - It's not worth an indirect jump to load the exact set of - SSE registers needed; zero or all is a good compromise. */ - .balign 2 -L(UW3): - /* cfi_restore_state */ -L(load_sse): - movdqa 0x30(%r10), %xmm0 - movdqa 0x40(%r10), %xmm1 - movdqa 0x50(%r10), %xmm2 - movdqa 0x60(%r10), %xmm3 - movdqa 0x70(%r10), %xmm4 - movdqa 0x80(%r10), %xmm5 - movdqa 0x90(%r10), %xmm6 - movdqa 0xa0(%r10), %xmm7 - jmp L(ret_from_load_sse) - -L(UW4): -ENDF(C(ffi_call_unix64)) - -/* 6 general registers, 8 vector registers, - 32 bytes of rvalue, 8 bytes of alignment. */ -#define ffi_closure_OFS_G 0 -#define ffi_closure_OFS_V (6*8) -#define ffi_closure_OFS_RVALUE (ffi_closure_OFS_V + 8*16) -#define ffi_closure_FS (ffi_closure_OFS_RVALUE + 32 + 8) - -/* The location of rvalue within the red zone after deallocating the frame. */ -#define ffi_closure_RED_RVALUE (ffi_closure_OFS_RVALUE - ffi_closure_FS) - - .balign 2 - .globl C(ffi_closure_unix64_sse) - FFI_HIDDEN(C(ffi_closure_unix64_sse)) - -C(ffi_closure_unix64_sse): -L(UW5): - _CET_ENDBR - subq $ffi_closure_FS, %rsp -L(UW6): - /* cfi_adjust_cfa_offset(ffi_closure_FS) */ - - movdqa %xmm0, ffi_closure_OFS_V+0x00(%rsp) - movdqa %xmm1, ffi_closure_OFS_V+0x10(%rsp) - movdqa %xmm2, ffi_closure_OFS_V+0x20(%rsp) - movdqa %xmm3, ffi_closure_OFS_V+0x30(%rsp) - movdqa %xmm4, ffi_closure_OFS_V+0x40(%rsp) - movdqa %xmm5, ffi_closure_OFS_V+0x50(%rsp) - movdqa %xmm6, ffi_closure_OFS_V+0x60(%rsp) - movdqa %xmm7, ffi_closure_OFS_V+0x70(%rsp) - jmp L(sse_entry1) - -L(UW7): -ENDF(C(ffi_closure_unix64_sse)) - - .balign 2 - .globl C(ffi_closure_unix64) - FFI_HIDDEN(C(ffi_closure_unix64)) - -C(ffi_closure_unix64): -L(UW8): - _CET_ENDBR - subq $ffi_closure_FS, %rsp -L(UW9): - /* cfi_adjust_cfa_offset(ffi_closure_FS) */ -L(sse_entry1): - movq %rdi, ffi_closure_OFS_G+0x00(%rsp) - movq %rsi, ffi_closure_OFS_G+0x08(%rsp) - movq %rdx, ffi_closure_OFS_G+0x10(%rsp) - movq %rcx, ffi_closure_OFS_G+0x18(%rsp) - movq %r8, ffi_closure_OFS_G+0x20(%rsp) - movq %r9, ffi_closure_OFS_G+0x28(%rsp) - -#ifdef __ILP32__ - movl FFI_TRAMPOLINE_SIZE(%r10), %edi /* Load cif */ - movl FFI_TRAMPOLINE_SIZE+4(%r10), %esi /* Load fun */ - movl FFI_TRAMPOLINE_SIZE+8(%r10), %edx /* Load user_data */ -#else - movq FFI_TRAMPOLINE_SIZE(%r10), %rdi /* Load cif */ - movq FFI_TRAMPOLINE_SIZE+8(%r10), %rsi /* Load fun */ - movq FFI_TRAMPOLINE_SIZE+16(%r10), %rdx /* Load user_data */ -#endif -L(do_closure): - leaq ffi_closure_OFS_RVALUE(%rsp), %rcx /* Load rvalue */ - movq %rsp, %r8 /* Load reg_args */ - leaq ffi_closure_FS+8(%rsp), %r9 /* Load argp */ - call PLT(C(ffi_closure_unix64_inner)) - - /* Deallocate stack frame early; return value is now in redzone. */ - addq $ffi_closure_FS, %rsp -L(UW10): - /* cfi_adjust_cfa_offset(-ffi_closure_FS) */ - - /* The first byte of the return value contains the FFI_TYPE. */ - cmpb $UNIX64_RET_LAST, %al - movzbl %al, %r10d - leaq L(load_table)(%rip), %r11 - ja L(la) -#ifdef __CET__ - /* NB: Originally, each slot is 8 byte. 4 bytes of ENDBR64 + - 4 bytes NOP padding double slot size to 16 bytes. */ - addl %r10d, %r10d -#endif - leaq (%r11, %r10, 8), %r10 - leaq ffi_closure_RED_RVALUE(%rsp), %rsi - jmp *%r10 - - .balign 8 -L(load_table): -E(L(load_table), UNIX64_RET_VOID) - _CET_ENDBR - ret -E(L(load_table), UNIX64_RET_UINT8) - _CET_ENDBR - movzbl (%rsi), %eax - ret -E(L(load_table), UNIX64_RET_UINT16) - _CET_ENDBR - movzwl (%rsi), %eax - ret -E(L(load_table), UNIX64_RET_UINT32) - _CET_ENDBR - movl (%rsi), %eax - ret -E(L(load_table), UNIX64_RET_SINT8) - _CET_ENDBR - movsbl (%rsi), %eax - ret -E(L(load_table), UNIX64_RET_SINT16) - _CET_ENDBR - movswl (%rsi), %eax - ret -E(L(load_table), UNIX64_RET_SINT32) - _CET_ENDBR - movl (%rsi), %eax - ret -E(L(load_table), UNIX64_RET_INT64) - _CET_ENDBR - movq (%rsi), %rax - ret -E(L(load_table), UNIX64_RET_XMM32) - _CET_ENDBR - movd (%rsi), %xmm0 - ret -E(L(load_table), UNIX64_RET_XMM64) - _CET_ENDBR - movq (%rsi), %xmm0 - ret -E(L(load_table), UNIX64_RET_X87) - _CET_ENDBR - fldt (%rsi) - ret -E(L(load_table), UNIX64_RET_X87_2) - _CET_ENDBR - fldt 16(%rsi) - fldt (%rsi) - ret -E(L(load_table), UNIX64_RET_ST_XMM0_RAX) - _CET_ENDBR - movq 8(%rsi), %rax - jmp L(l3) -E(L(load_table), UNIX64_RET_ST_RAX_XMM0) - _CET_ENDBR - movq 8(%rsi), %xmm0 - jmp L(l2) -E(L(load_table), UNIX64_RET_ST_XMM0_XMM1) - _CET_ENDBR - movq 8(%rsi), %xmm1 - jmp L(l3) -E(L(load_table), UNIX64_RET_ST_RAX_RDX) - _CET_ENDBR - movq 8(%rsi), %rdx -L(l2): - movq (%rsi), %rax - ret - .balign 8 -L(l3): - movq (%rsi), %xmm0 - ret - -L(la): call PLT(C(abort)) - -L(UW11): -ENDF(C(ffi_closure_unix64)) - - .balign 2 - .globl C(ffi_go_closure_unix64_sse) - FFI_HIDDEN(C(ffi_go_closure_unix64_sse)) - -C(ffi_go_closure_unix64_sse): -L(UW12): - _CET_ENDBR - subq $ffi_closure_FS, %rsp -L(UW13): - /* cfi_adjust_cfa_offset(ffi_closure_FS) */ - - movdqa %xmm0, ffi_closure_OFS_V+0x00(%rsp) - movdqa %xmm1, ffi_closure_OFS_V+0x10(%rsp) - movdqa %xmm2, ffi_closure_OFS_V+0x20(%rsp) - movdqa %xmm3, ffi_closure_OFS_V+0x30(%rsp) - movdqa %xmm4, ffi_closure_OFS_V+0x40(%rsp) - movdqa %xmm5, ffi_closure_OFS_V+0x50(%rsp) - movdqa %xmm6, ffi_closure_OFS_V+0x60(%rsp) - movdqa %xmm7, ffi_closure_OFS_V+0x70(%rsp) - jmp L(sse_entry2) - -L(UW14): -ENDF(C(ffi_go_closure_unix64_sse)) - - .balign 2 - .globl C(ffi_go_closure_unix64) - FFI_HIDDEN(C(ffi_go_closure_unix64)) - -C(ffi_go_closure_unix64): -L(UW15): - _CET_ENDBR - subq $ffi_closure_FS, %rsp -L(UW16): - /* cfi_adjust_cfa_offset(ffi_closure_FS) */ -L(sse_entry2): - movq %rdi, ffi_closure_OFS_G+0x00(%rsp) - movq %rsi, ffi_closure_OFS_G+0x08(%rsp) - movq %rdx, ffi_closure_OFS_G+0x10(%rsp) - movq %rcx, ffi_closure_OFS_G+0x18(%rsp) - movq %r8, ffi_closure_OFS_G+0x20(%rsp) - movq %r9, ffi_closure_OFS_G+0x28(%rsp) - -#ifdef __ILP32__ - movl 4(%r10), %edi /* Load cif */ - movl 8(%r10), %esi /* Load fun */ - movl %r10d, %edx /* Load closure (user_data) */ -#else - movq 8(%r10), %rdi /* Load cif */ - movq 16(%r10), %rsi /* Load fun */ - movq %r10, %rdx /* Load closure (user_data) */ -#endif - jmp L(do_closure) - -L(UW17): -ENDF(C(ffi_go_closure_unix64)) - -#if defined(FFI_EXEC_STATIC_TRAMP) - .balign 8 - .globl C(ffi_closure_unix64_sse_alt) - FFI_HIDDEN(C(ffi_closure_unix64_sse_alt)) - -C(ffi_closure_unix64_sse_alt): - /* See the comments above trampoline_code_table. */ - _CET_ENDBR - movq 8(%rsp), %r10 /* Load closure in r10 */ - addq $16, %rsp /* Restore the stack */ - jmp C(ffi_closure_unix64_sse) -ENDF(C(ffi_closure_unix64_sse_alt)) - - .balign 8 - .globl C(ffi_closure_unix64_alt) - FFI_HIDDEN(C(ffi_closure_unix64_alt)) - -C(ffi_closure_unix64_alt): - /* See the comments above trampoline_code_table. */ - _CET_ENDBR - movq 8(%rsp), %r10 /* Load closure in r10 */ - addq $16, %rsp /* Restore the stack */ - jmp C(ffi_closure_unix64) - ENDF(C(ffi_closure_unix64_alt)) - -/* - * Below is the definition of the trampoline code table. Each element in - * the code table is a trampoline. - * - * Because we jump to the trampoline, we place a _CET_ENDBR at the - * beginning of the trampoline to mark it as a valid branch target. This is - * part of the the Intel CET (Control Flow Enforcement Technology). - */ -/* - * The trampoline uses register r10. It saves the original value of r10 on - * the stack. - * - * The trampoline has two parameters - target code to jump to and data for - * the target code. The trampoline extracts the parameters from its parameter - * block (see tramp_table_map()). The trampoline saves the data address on - * the stack. Finally, it jumps to the target code. - * - * The target code can choose to: - * - * - restore the value of r10 - * - load the data address in a register - * - restore the stack pointer to what it was when the trampoline was invoked. - */ -#ifdef ENDBR_PRESENT -# define X86_DATA_OFFSET 4077 -# ifdef __ILP32__ -# define X86_CODE_OFFSET 4069 -# else -# define X86_CODE_OFFSET 4073 -# endif -#else -# define X86_DATA_OFFSET 4081 -# ifdef __ILP32__ -# define X86_CODE_OFFSET 4073 -# else -# define X86_CODE_OFFSET 4077 -# endif -#endif - - .align UNIX64_TRAMP_MAP_SIZE - .globl trampoline_code_table - FFI_HIDDEN(C(trampoline_code_table)) - -C(trampoline_code_table): - .rept UNIX64_TRAMP_MAP_SIZE / UNIX64_TRAMP_SIZE - _CET_ENDBR - subq $16, %rsp /* Make space on the stack */ - movq %r10, (%rsp) /* Save %r10 on stack */ -#ifdef __ILP32__ - movl X86_DATA_OFFSET(%rip), %r10d /* Copy data into %r10 */ -#else - movq X86_DATA_OFFSET(%rip), %r10 /* Copy data into %r10 */ -#endif - movq %r10, 8(%rsp) /* Save data on stack */ -#ifdef __ILP32__ - movl X86_CODE_OFFSET(%rip), %r10d /* Copy code into %r10 */ -#else - movq X86_CODE_OFFSET(%rip), %r10 /* Copy code into %r10 */ -#endif - jmp *%r10 /* Jump to code */ - .align 8 - .endr -ENDF(C(trampoline_code_table)) - .align UNIX64_TRAMP_MAP_SIZE -#endif /* FFI_EXEC_STATIC_TRAMP */ - -/* Sadly, OSX cctools-as doesn't understand .cfi directives at all. */ - -#ifdef __APPLE__ -.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support -EHFrame0: -#elif defined(HAVE_AS_X86_64_UNWIND_SECTION_TYPE) -.section .eh_frame,"a",@unwind -#else -.section .eh_frame,"a",@progbits -#endif - -#ifdef HAVE_AS_X86_PCREL -# define PCREL(X) X - . -#else -# define PCREL(X) X@rel -#endif - -/* Simplify advancing between labels. Assume DW_CFA_advance_loc1 fits. */ -#ifdef __CET__ -/* Use DW_CFA_advance_loc2 when IBT is enabled. */ -# define ADV(N, P) .byte 3; .2byte L(N)-L(P) -#else -# define ADV(N, P) .byte 2, L(N)-L(P) -#endif - - .balign 8 -L(CIE): - .set L(set0),L(ECIE)-L(SCIE) - .long L(set0) /* CIE Length */ -L(SCIE): - .long 0 /* CIE Identifier Tag */ - .byte 1 /* CIE Version */ - .ascii "zR\0" /* CIE Augmentation */ - .byte 1 /* CIE Code Alignment Factor */ - .byte 0x78 /* CIE Data Alignment Factor */ - .byte 0x10 /* CIE RA Column */ - .byte 1 /* Augmentation size */ - .byte 0x1b /* FDE Encoding (pcrel sdata4) */ - .byte 0xc, 7, 8 /* DW_CFA_def_cfa, %rsp offset 8 */ - .byte 0x80+16, 1 /* DW_CFA_offset, %rip offset 1*-8 */ - .balign 8 -L(ECIE): - - .set L(set1),L(EFDE1)-L(SFDE1) - .long L(set1) /* FDE Length */ -L(SFDE1): - .long L(SFDE1)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW0)) /* Initial location */ - .long L(UW4)-L(UW0) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW1, UW0) - .byte 0xc, 6, 32 /* DW_CFA_def_cfa, %rbp 32 */ - .byte 0x80+6, 2 /* DW_CFA_offset, %rbp 2*-8 */ - ADV(UW2, UW1) - .byte 0xa /* DW_CFA_remember_state */ - .byte 0xc, 7, 8 /* DW_CFA_def_cfa, %rsp 8 */ - .byte 0xc0+6 /* DW_CFA_restore, %rbp */ - ADV(UW3, UW2) - .byte 0xb /* DW_CFA_restore_state */ - .balign 8 -L(EFDE1): - - .set L(set2),L(EFDE2)-L(SFDE2) - .long L(set2) /* FDE Length */ -L(SFDE2): - .long L(SFDE2)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW5)) /* Initial location */ - .long L(UW7)-L(UW5) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW6, UW5) - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte ffi_closure_FS + 8, 1 /* uleb128, assuming 128 <= FS < 255 */ - .balign 8 -L(EFDE2): - - .set L(set3),L(EFDE3)-L(SFDE3) - .long L(set3) /* FDE Length */ -L(SFDE3): - .long L(SFDE3)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW8)) /* Initial location */ - .long L(UW11)-L(UW8) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW9, UW8) - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte ffi_closure_FS + 8, 1 /* uleb128, assuming 128 <= FS < 255 */ - ADV(UW10, UW9) - .byte 0xe, 8 /* DW_CFA_def_cfa_offset 8 */ -L(EFDE3): - - .set L(set4),L(EFDE4)-L(SFDE4) - .long L(set4) /* FDE Length */ -L(SFDE4): - .long L(SFDE4)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW12)) /* Initial location */ - .long L(UW14)-L(UW12) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW13, UW12) - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte ffi_closure_FS + 8, 1 /* uleb128, assuming 128 <= FS < 255 */ - .balign 8 -L(EFDE4): - - .set L(set5),L(EFDE5)-L(SFDE5) - .long L(set5) /* FDE Length */ -L(SFDE5): - .long L(SFDE5)-L(CIE) /* FDE CIE offset */ - .long PCREL(L(UW15)) /* Initial location */ - .long L(UW17)-L(UW15) /* Address range */ - .byte 0 /* Augmentation size */ - ADV(UW16, UW15) - .byte 0xe /* DW_CFA_def_cfa_offset */ - .byte ffi_closure_FS + 8, 1 /* uleb128, assuming 128 <= FS < 255 */ - .balign 8 -L(EFDE5): -#ifdef __APPLE__ - .subsections_via_symbols - .section __LD,__compact_unwind,regular,debug - - /* compact unwind for ffi_call_unix64 */ - .quad C(ffi_call_unix64) - .set L1,L(UW4)-L(UW0) - .long L1 - .long 0x04000000 /* use dwarf unwind info */ - .quad 0 - .quad 0 - - /* compact unwind for ffi_closure_unix64_sse */ - .quad C(ffi_closure_unix64_sse) - .set L2,L(UW7)-L(UW5) - .long L2 - .long 0x04000000 /* use dwarf unwind info */ - .quad 0 - .quad 0 - - /* compact unwind for ffi_closure_unix64 */ - .quad C(ffi_closure_unix64) - .set L3,L(UW11)-L(UW8) - .long L3 - .long 0x04000000 /* use dwarf unwind info */ - .quad 0 - .quad 0 - - /* compact unwind for ffi_go_closure_unix64_sse */ - .quad C(ffi_go_closure_unix64_sse) - .set L4,L(UW14)-L(UW12) - .long L4 - .long 0x04000000 /* use dwarf unwind info */ - .quad 0 - .quad 0 - - /* compact unwind for ffi_go_closure_unix64 */ - .quad C(ffi_go_closure_unix64) - .set L5,L(UW17)-L(UW15) - .long L5 - .long 0x04000000 /* use dwarf unwind info */ - .quad 0 - .quad 0 -#endif - -#endif /* __x86_64__ */ -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S deleted file mode 100644 index 58ec6a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S +++ /dev/null @@ -1,254 +0,0 @@ -#ifdef __x86_64__ -#define LIBFFI_ASM -#include -#include -#include -#include "asmnames.h" - -#if defined(HAVE_AS_CFI_PSEUDO_OP) - .cfi_sections .debug_frame -#endif - -#ifdef X86_WIN64 -#define SEH(...) __VA_ARGS__ -#define arg0 %rcx -#define arg1 %rdx -#define arg2 %r8 -#define arg3 %r9 -#else -#define SEH(...) -#define arg0 %rdi -#define arg1 %rsi -#define arg2 %rdx -#define arg3 %rcx -#endif - -/* This macro allows the safe creation of jump tables without an - actual table. The entry points into the table are all 8 bytes. - The use of ORG asserts that we're at the correct location. */ -/* ??? The clang assembler doesn't handle .org with symbolic expressions. */ -#if defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) -# define E(BASE, X) .balign 8 -#else -# define E(BASE, X) .balign 8; .org BASE + (X) * 8 -#endif - - .text - -/* ffi_call_win64 (void *stack, struct win64_call_frame *frame, void *r10) - - Bit o trickiness here -- FRAME is the base of the stack frame - for this function. This has been allocated by ffi_call. We also - deallocate some of the stack that has been alloca'd. */ - - .align 8 - .globl C(ffi_call_win64) - FFI_HIDDEN(C(ffi_call_win64)) - - SEH(.seh_proc ffi_call_win64) -C(ffi_call_win64): - cfi_startproc - _CET_ENDBR - /* Set up the local stack frame and install it in rbp/rsp. */ - movq (%rsp), %rax - movq %rbp, (arg1) - movq %rax, 8(arg1) - movq arg1, %rbp - cfi_def_cfa(%rbp, 16) - cfi_rel_offset(%rbp, 0) - SEH(.seh_pushreg %rbp) - SEH(.seh_setframe %rbp, 0) - SEH(.seh_endprologue) - movq arg0, %rsp - - movq arg2, %r10 - - /* Load all slots into both general and xmm registers. */ - movq (%rsp), %rcx - movsd (%rsp), %xmm0 - movq 8(%rsp), %rdx - movsd 8(%rsp), %xmm1 - movq 16(%rsp), %r8 - movsd 16(%rsp), %xmm2 - movq 24(%rsp), %r9 - movsd 24(%rsp), %xmm3 - - call *16(%rbp) - - movl 24(%rbp), %ecx - movq 32(%rbp), %r8 - leaq 0f(%rip), %r10 - cmpl $FFI_TYPE_SMALL_STRUCT_4B, %ecx - leaq (%r10, %rcx, 8), %r10 - ja 99f - _CET_NOTRACK jmp *%r10 - -/* Below, we're space constrained most of the time. Thus we eschew the - modern "mov, pop, ret" sequence (5 bytes) for "leave, ret" (2 bytes). */ -#define epilogue \ - leaveq; \ - cfi_remember_state; \ - cfi_def_cfa(%rsp, 8); \ - cfi_restore(%rbp); \ - ret; \ - cfi_restore_state - - .align 8 -0: -E(0b, FFI_TYPE_VOID) - epilogue -E(0b, FFI_TYPE_INT) - movslq %eax, %rax - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_FLOAT) - movss %xmm0, (%r8) - epilogue -E(0b, FFI_TYPE_DOUBLE) - movsd %xmm0, (%r8) - epilogue -// FFI_TYPE_LONGDOUBLE may be FFI_TYPE_DOUBLE but we need a different value here. -E(0b, FFI_TYPE_DOUBLE + 1) - call PLT(C(abort)) -E(0b, FFI_TYPE_UINT8) - movzbl %al, %eax - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT8) - movsbq %al, %rax - jmp 98f -E(0b, FFI_TYPE_UINT16) - movzwl %ax, %eax - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT16) - movswq %ax, %rax - jmp 98f -E(0b, FFI_TYPE_UINT32) - movl %eax, %eax - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT32) - movslq %eax, %rax - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_UINT64) -98: movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT64) - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_STRUCT) - epilogue -E(0b, FFI_TYPE_POINTER) - movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_COMPLEX) - call PLT(C(abort)) -E(0b, FFI_TYPE_SMALL_STRUCT_1B) - movb %al, (%r8) - epilogue -E(0b, FFI_TYPE_SMALL_STRUCT_2B) - movw %ax, (%r8) - epilogue -E(0b, FFI_TYPE_SMALL_STRUCT_4B) - movl %eax, (%r8) - epilogue - - .align 8 -99: call PLT(C(abort)) - - epilogue - - cfi_endproc - SEH(.seh_endproc) - - -/* 32 bytes of outgoing register stack space, 8 bytes of alignment, - 16 bytes of result, 32 bytes of xmm registers. */ -#define ffi_clo_FS (32+8+16+32) -#define ffi_clo_OFF_R (32+8) -#define ffi_clo_OFF_X (32+8+16) - - .align 8 - .globl C(ffi_go_closure_win64) - FFI_HIDDEN(C(ffi_go_closure_win64)) - - SEH(.seh_proc ffi_go_closure_win64) -C(ffi_go_closure_win64): - cfi_startproc - _CET_ENDBR - /* Save all integer arguments into the incoming reg stack space. */ - movq %rcx, 8(%rsp) - movq %rdx, 16(%rsp) - movq %r8, 24(%rsp) - movq %r9, 32(%rsp) - - movq 8(%r10), %rcx /* load cif */ - movq 16(%r10), %rdx /* load fun */ - movq %r10, %r8 /* closure is user_data */ - jmp 0f - cfi_endproc - SEH(.seh_endproc) - - .align 8 - .globl C(ffi_closure_win64) - FFI_HIDDEN(C(ffi_closure_win64)) - - SEH(.seh_proc ffi_closure_win64) -C(ffi_closure_win64): - cfi_startproc - _CET_ENDBR - /* Save all integer arguments into the incoming reg stack space. */ - movq %rcx, 8(%rsp) - movq %rdx, 16(%rsp) - movq %r8, 24(%rsp) - movq %r9, 32(%rsp) - - movq FFI_TRAMPOLINE_SIZE(%r10), %rcx /* load cif */ - movq FFI_TRAMPOLINE_SIZE+8(%r10), %rdx /* load fun */ - movq FFI_TRAMPOLINE_SIZE+16(%r10), %r8 /* load user_data */ -0: - subq $ffi_clo_FS, %rsp - cfi_adjust_cfa_offset(ffi_clo_FS) - SEH(.seh_stackalloc ffi_clo_FS) - SEH(.seh_endprologue) - - /* Save all sse arguments into the stack frame. */ - movsd %xmm0, ffi_clo_OFF_X(%rsp) - movsd %xmm1, ffi_clo_OFF_X+8(%rsp) - movsd %xmm2, ffi_clo_OFF_X+16(%rsp) - movsd %xmm3, ffi_clo_OFF_X+24(%rsp) - - leaq ffi_clo_OFF_R(%rsp), %r9 - call PLT(C(ffi_closure_win64_inner)) - - /* Load the result into both possible result registers. */ - movq ffi_clo_OFF_R(%rsp), %rax - movsd ffi_clo_OFF_R(%rsp), %xmm0 - - addq $ffi_clo_FS, %rsp - cfi_adjust_cfa_offset(-ffi_clo_FS) - ret - - cfi_endproc - SEH(.seh_endproc) - -#if defined(FFI_EXEC_STATIC_TRAMP) - .align 8 - .globl C(ffi_closure_win64_alt) - FFI_HIDDEN(C(ffi_closure_win64_alt)) - - SEH(.seh_proc ffi_closure_win64_alt) -C(ffi_closure_win64_alt): - _CET_ENDBR - movq 8(%rsp), %r10 - addq $16, %rsp - jmp C(ffi_closure_win64) - SEH(.seh_endproc) -#endif -#endif /* __x86_64__ */ - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64_intel.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64_intel.S deleted file mode 100644 index 970a4f9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64_intel.S +++ /dev/null @@ -1,238 +0,0 @@ -#define LIBFFI_ASM -#include -#include -#include -#include "asmnames.h" - -#if defined(HAVE_AS_CFI_PSEUDO_OP) - .cfi_sections .debug_frame -#endif - -#ifdef X86_WIN64 -#define SEH(...) __VA_ARGS__ -#define arg0 rcx -#define arg1 rdx -#define arg2 r8 -#define arg3 r9 -#else -#define SEH(...) -#define arg0 rdi -#define arg1 rsi -#define arg2 rdx -#define arg3 rcx -#endif - -/* This macro allows the safe creation of jump tables without an - actual table. The entry points into the table are all 8 bytes. - The use of ORG asserts that we're at the correct location. */ -/* ??? The clang assembler doesn't handle .org with symbolic expressions. */ -#if defined(__clang__) || defined(__APPLE__) || (defined (__sun__) && defined(__svr4__)) -# define E(BASE, X) ALIGN 8 -#else -# define E(BASE, X) ALIGN 8; ORG BASE + (X) * 8 -#endif - - .CODE - extern PLT(C(abort)):near - extern C(ffi_closure_win64_inner):near - -/* ffi_call_win64 (void *stack, struct win64_call_frame *frame, void *r10) - - Bit o trickiness here -- FRAME is the base of the stack frame - for this function. This has been allocated by ffi_call. We also - deallocate some of the stack that has been alloca'd. */ - - ALIGN 8 - PUBLIC C(ffi_call_win64) - - ; SEH(.safesh ffi_call_win64) -C(ffi_call_win64) proc SEH(frame) - cfi_startproc - /* Set up the local stack frame and install it in rbp/rsp. */ - mov RAX, [RSP] ; movq (%rsp), %rax - mov [arg1], RBP ; movq %rbp, (arg1) - mov [arg1 + 8], RAX; movq %rax, 8(arg1) - mov RBP, arg1; movq arg1, %rbp - cfi_def_cfa(rbp, 16) - cfi_rel_offset(rbp, 0) - SEH(.pushreg rbp) - SEH(.setframe rbp, 0) - SEH(.endprolog) - mov RSP, arg0 ; movq arg0, %rsp - - mov R10, arg2 ; movq arg2, %r10 - - /* Load all slots into both general and xmm registers. */ - mov RCX, [RSP] ; movq (%rsp), %rcx - movsd XMM0, qword ptr [RSP] ; movsd (%rsp), %xmm0 - mov RDX, [RSP + 8] ;movq 8(%rsp), %rdx - movsd XMM1, qword ptr [RSP + 8]; movsd 8(%rsp), %xmm1 - mov R8, [RSP + 16] ; movq 16(%rsp), %r8 - movsd XMM2, qword ptr [RSP + 16] ; movsd 16(%rsp), %xmm2 - mov R9, [RSP + 24] ; movq 24(%rsp), %r9 - movsd XMM3, qword ptr [RSP + 24] ;movsd 24(%rsp), %xmm3 - - CALL qword ptr [RBP + 16] ; call *16(%rbp) - - mov ECX, [RBP + 24] ; movl 24(%rbp), %ecx - mov R8, [RBP + 32] ; movq 32(%rbp), %r8 - LEA R10, ffi_call_win64_tab ; leaq 0f(%rip), %r10 - CMP ECX, FFI_TYPE_SMALL_STRUCT_4B ; cmpl $FFI_TYPE_SMALL_STRUCT_4B, %ecx - LEA R10, [R10 + RCX*8] ; leaq (%r10, %rcx, 8), %r10 - JA L99 ; ja 99f - JMP R10 ; jmp *%r10 - -/* Below, we're space constrained most of the time. Thus we eschew the - modern "mov, pop, ret" sequence (5 bytes) for "leave, ret" (2 bytes). */ -epilogue macro - LEAVE - cfi_remember_state - cfi_def_cfa(rsp, 8) - cfi_restore(rbp) - RET - cfi_restore_state -endm - - ALIGN 8 -ffi_call_win64_tab LABEL NEAR -E(0b, FFI_TYPE_VOID) - epilogue -E(0b, FFI_TYPE_INT) - movsxd rax, eax ; movslq %eax, %rax - mov qword ptr [r8], rax; movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_FLOAT) - movss dword ptr [r8], xmm0 ; movss %xmm0, (%r8) - epilogue -E(0b, FFI_TYPE_DOUBLE) - movsd qword ptr[r8], xmm0; movsd %xmm0, (%r8) - epilogue -// FFI_TYPE_LONGDOUBLE may be FFI_TYPE_DOUBLE but we need a different value here. -E(0b, FFI_TYPE_DOUBLE + 1) - call PLT(C(abort)) -E(0b, FFI_TYPE_UINT8) - movzx eax, al ;movzbl %al, %eax - mov qword ptr[r8], rax; movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT8) - movsx rax, al ; movsbq %al, %rax - jmp L98 -E(0b, FFI_TYPE_UINT16) - movzx eax, ax ; movzwl %ax, %eax - mov qword ptr[r8], rax; movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT16) - movsx rax, ax; movswq %ax, %rax - jmp L98 -E(0b, FFI_TYPE_UINT32) - mov eax, eax; movl %eax, %eax - mov qword ptr[r8], rax ; movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT32) - movsxd rax, eax; movslq %eax, %rax - mov qword ptr [r8], rax; movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_UINT64) -L98 LABEL near - mov qword ptr [r8], rax ; movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_SINT64) - mov qword ptr [r8], rax;movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_STRUCT) - epilogue -E(0b, FFI_TYPE_POINTER) - mov qword ptr [r8], rax ;movq %rax, (%r8) - epilogue -E(0b, FFI_TYPE_COMPLEX) - call PLT(C(abort)) -E(0b, FFI_TYPE_SMALL_STRUCT_1B) - mov byte ptr [r8], al ; movb %al, (%r8) - epilogue -E(0b, FFI_TYPE_SMALL_STRUCT_2B) - mov word ptr [r8], ax ; movw %ax, (%r8) - epilogue -E(0b, FFI_TYPE_SMALL_STRUCT_4B) - mov dword ptr [r8], eax ; movl %eax, (%r8) - epilogue - - align 8 -L99 LABEL near - call PLT(C(abort)) - - epilogue - - cfi_endproc - C(ffi_call_win64) endp - - -/* 32 bytes of outgoing register stack space, 8 bytes of alignment, - 16 bytes of result, 32 bytes of xmm registers. */ -#define ffi_clo_FS (32+8+16+32) -#define ffi_clo_OFF_R (32+8) -#define ffi_clo_OFF_X (32+8+16) - - align 8 - PUBLIC C(ffi_go_closure_win64) - -C(ffi_go_closure_win64) proc - cfi_startproc - /* Save all integer arguments into the incoming reg stack space. */ - mov qword ptr [rsp + 8], rcx; movq %rcx, 8(%rsp) - mov qword ptr [rsp + 16], rdx; movq %rdx, 16(%rsp) - mov qword ptr [rsp + 24], r8; movq %r8, 24(%rsp) - mov qword ptr [rsp + 32], r9 ;movq %r9, 32(%rsp) - - mov rcx, qword ptr [r10 + 8]; movq 8(%r10), %rcx /* load cif */ - mov rdx, qword ptr [r10 + 16]; movq 16(%r10), %rdx /* load fun */ - mov r8, r10 ; movq %r10, %r8 /* closure is user_data */ - jmp ffi_closure_win64_2 - cfi_endproc - C(ffi_go_closure_win64) endp - - align 8 - -PUBLIC C(ffi_closure_win64) -C(ffi_closure_win64) PROC FRAME - cfi_startproc - /* Save all integer arguments into the incoming reg stack space. */ - mov qword ptr [rsp + 8], rcx; movq %rcx, 8(%rsp) - mov qword ptr [rsp + 16], rdx; movq %rdx, 16(%rsp) - mov qword ptr [rsp + 24], r8; movq %r8, 24(%rsp) - mov qword ptr [rsp + 32], r9; movq %r9, 32(%rsp) - - mov rcx, qword ptr [FFI_TRAMPOLINE_SIZE + r10] ;movq FFI_TRAMPOLINE_SIZE(%r10), %rcx /* load cif */ - mov rdx, qword ptr [FFI_TRAMPOLINE_SIZE + 8 + r10] ; movq FFI_TRAMPOLINE_SIZE+8(%r10), %rdx /* load fun */ - mov r8, qword ptr [FFI_TRAMPOLINE_SIZE+16+r10] ;movq FFI_TRAMPOLINE_SIZE+16(%r10), %r8 /* load user_data */ -ffi_closure_win64_2 LABEL near - sub rsp, ffi_clo_FS ;subq $ffi_clo_FS, %rsp - cfi_adjust_cfa_offset(ffi_clo_FS) - SEH(.allocstack ffi_clo_FS) - SEH(.endprolog) - - /* Save all sse arguments into the stack frame. */ - movsd qword ptr [ffi_clo_OFF_X + rsp], xmm0 ; movsd %xmm0, ffi_clo_OFF_X(%rsp) - movsd qword ptr [ffi_clo_OFF_X+8+rsp], xmm1 ; movsd %xmm1, ffi_clo_OFF_X+8(%rsp) - movsd qword ptr [ffi_clo_OFF_X+16+rsp], xmm2 ; movsd %xmm2, ffi_clo_OFF_X+16(%rsp) - movsd qword ptr [ffi_clo_OFF_X+24+rsp], xmm3 ; movsd %xmm3, ffi_clo_OFF_X+24(%rsp) - - lea r9, [ffi_clo_OFF_R + rsp] ; leaq ffi_clo_OFF_R(%rsp), %r9 - call C(ffi_closure_win64_inner) - - /* Load the result into both possible result registers. */ - - mov rax, qword ptr [ffi_clo_OFF_R + rsp] ;movq ffi_clo_OFF_R(%rsp), %rax - movsd xmm0, qword ptr [rsp + ffi_clo_OFF_R] ;movsd ffi_clo_OFF_R(%rsp), %xmm0 - - add rsp, ffi_clo_FS ;addq $ffi_clo_FS, %rsp - cfi_adjust_cfa_offset(-ffi_clo_FS) - ret - - cfi_endproc - C(ffi_closure_win64) endp - -#if defined __ELF__ && defined __linux__ - .section .note.GNU-stack,"",@progbits -#endif -_text ends -end \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffi.c deleted file mode 100644 index 82b42a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffi.c +++ /dev/null @@ -1,306 +0,0 @@ -/* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 2013 Tensilica, Inc. - - XTENSA Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#include -#include - -/* - |----------------------------------------| - | | - on entry to ffi_call ----> |----------------------------------------| - | caller stack frame for registers a0-a3 | - |----------------------------------------| - | | - | additional arguments | - entry of the function ---> |----------------------------------------| - | copy of function arguments a2-a7 | - | - - - - - - - - - - - - - | - | | - - The area below the entry line becomes the new stack frame for the function. - -*/ - - -#define FFI_TYPE_STRUCT_REGS FFI_TYPE_LAST - - -extern void ffi_call_SYSV(void *rvalue, unsigned rsize, unsigned flags, - void(*fn)(void), unsigned nbytes, extended_cif*); -extern void ffi_closure_SYSV(void) FFI_HIDDEN; - -ffi_status ffi_prep_cif_machdep(ffi_cif *cif) -{ - switch(cif->rtype->type) { - case FFI_TYPE_SINT8: - case FFI_TYPE_UINT8: - case FFI_TYPE_SINT16: - case FFI_TYPE_UINT16: - cif->flags = cif->rtype->type; - break; - case FFI_TYPE_VOID: - case FFI_TYPE_FLOAT: - cif->flags = FFI_TYPE_UINT32; - break; - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - cif->flags = FFI_TYPE_UINT64; // cif->rtype->type; - break; - case FFI_TYPE_STRUCT: - cif->flags = FFI_TYPE_STRUCT; //_REGS; - /* Up to 16 bytes are returned in registers */ - if (cif->rtype->size > 4 * 4) { - /* returned structure is referenced by a register; use 8 bytes - (including 4 bytes for potential additional alignment) */ - cif->flags = FFI_TYPE_STRUCT; - cif->bytes += 8; - } - break; - - default: - cif->flags = FFI_TYPE_UINT32; - break; - } - - /* Round up stack size needed for arguments. - Allocate FFI_REGISTER_ARGS_SPACE bytes when there are only arguments - passed in registers, round space reserved for arguments passed on stack - up to ABI-specified alignment. */ - if (cif->bytes < FFI_REGISTER_NARGS * 4) - cif->bytes = FFI_REGISTER_ARGS_SPACE; - else - cif->bytes = FFI_REGISTER_ARGS_SPACE + - FFI_ALIGN(cif->bytes - FFI_REGISTER_NARGS * 4, - XTENSA_STACK_ALIGNMENT); - return FFI_OK; -} - -void ffi_prep_args(extended_cif *ecif, unsigned char* stack) -{ - unsigned int i; - unsigned long *addr; - ffi_type **ptr; - - union { - void **v; - char **c; - signed char **sc; - unsigned char **uc; - signed short **ss; - unsigned short **us; - unsigned int **i; - long long **ll; - float **f; - double **d; - } p_argv; - - /* Verify that everything is aligned up properly */ - FFI_ASSERT (((unsigned long) stack & 0x7) == 0); - - p_argv.v = ecif->avalue; - addr = (unsigned long*)stack; - - /* structures with a size greater than 16 bytes are passed in memory */ - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT && ecif->cif->rtype->size > 16) - { - *addr++ = (unsigned long)ecif->rvalue; - } - - for (i = ecif->cif->nargs, ptr = ecif->cif->arg_types; - i > 0; - i--, ptr++, p_argv.v++) - { - switch ((*ptr)->type) - { - case FFI_TYPE_SINT8: - *addr++ = **p_argv.sc; - break; - case FFI_TYPE_UINT8: - *addr++ = **p_argv.uc; - break; - case FFI_TYPE_SINT16: - *addr++ = **p_argv.ss; - break; - case FFI_TYPE_UINT16: - *addr++ = **p_argv.us; - break; - case FFI_TYPE_FLOAT: - case FFI_TYPE_INT: - case FFI_TYPE_UINT32: - case FFI_TYPE_SINT32: - case FFI_TYPE_POINTER: - *addr++ = **p_argv.i; - break; - case FFI_TYPE_DOUBLE: - case FFI_TYPE_UINT64: - case FFI_TYPE_SINT64: - if (((unsigned long)addr & 4) != 0) - addr++; - *(unsigned long long*)addr = **p_argv.ll; - addr += sizeof(unsigned long long) / sizeof (addr); - break; - - case FFI_TYPE_STRUCT: - { - unsigned long offs; - unsigned long size; - - if (((unsigned long)addr & 4) != 0 && (*ptr)->alignment > 4) - addr++; - - offs = (unsigned long) addr - (unsigned long) stack; - size = (*ptr)->size; - - /* Entire structure must fit the argument registers or referenced */ - if (offs < FFI_REGISTER_NARGS * 4 - && offs + size > FFI_REGISTER_NARGS * 4) - addr = (unsigned long*) (stack + FFI_REGISTER_NARGS * 4); - - memcpy((char*) addr, *p_argv.c, size); - addr += (size + 3) / 4; - break; - } - - default: - FFI_ASSERT(0); - } - } -} - - -void ffi_call(ffi_cif* cif, void(*fn)(void), void *rvalue, void **avalue) -{ - extended_cif ecif; - unsigned long rsize = cif->rtype->size; - int flags = cif->flags; - void *alloc = NULL; - - ecif.cif = cif; - ecif.avalue = avalue; - - /* Note that for structures that are returned in registers (size <= 16 bytes) - we allocate a temporary buffer and use memcpy to copy it to the final - destination. The reason is that the target address might be misaligned or - the length not a multiple of 4 bytes. Handling all those cases would be - very complex. */ - - if (flags == FFI_TYPE_STRUCT && (rsize <= 16 || rvalue == NULL)) - { - alloc = alloca(FFI_ALIGN(rsize, 4)); - ecif.rvalue = alloc; - } - else - { - ecif.rvalue = rvalue; - } - - if (cif->abi != FFI_SYSV) - FFI_ASSERT(0); - - ffi_call_SYSV (ecif.rvalue, rsize, cif->flags, fn, cif->bytes, &ecif); - - if (alloc != NULL && rvalue != NULL) - memcpy(rvalue, alloc, rsize); -} - -extern void ffi_trampoline(); -extern void ffi_cacheflush(void* start, void* end); - -ffi_status -ffi_prep_closure_loc (ffi_closure* closure, - ffi_cif* cif, - void (*fun)(ffi_cif*, void*, void**, void*), - void *user_data, - void *codeloc) -{ - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - /* copye trampoline to stack and patch 'ffi_closure_SYSV' pointer */ - memcpy(closure->tramp, ffi_trampoline, FFI_TRAMPOLINE_SIZE); - *(unsigned int*)(&closure->tramp[8]) = (unsigned int)ffi_closure_SYSV; - - // Do we have this function? - // __builtin___clear_cache(closer->tramp, closer->tramp + FFI_TRAMPOLINE_SIZE) - ffi_cacheflush(closure->tramp, closure->tramp + FFI_TRAMPOLINE_SIZE); - - closure->cif = cif; - closure->fun = fun; - closure->user_data = user_data; - return FFI_OK; -} - - -long FFI_HIDDEN -ffi_closure_SYSV_inner(ffi_closure *closure, void **values, void *rvalue) -{ - ffi_cif *cif; - ffi_type **arg_types; - void **avalue; - int i, areg; - - cif = closure->cif; - if (cif->abi != FFI_SYSV) - return FFI_BAD_ABI; - - areg = 0; - - int rtype = cif->rtype->type; - if (rtype == FFI_TYPE_STRUCT && cif->rtype->size > 4 * 4) - { - rvalue = *values; - areg++; - } - - cif = closure->cif; - arg_types = cif->arg_types; - avalue = alloca(cif->nargs * sizeof(void *)); - - for (i = 0; i < cif->nargs; i++) - { - if (arg_types[i]->alignment == 8 && (areg & 1) != 0) - areg++; - - // skip the entry a1, * framework, see ffi_trampoline - if (areg == FFI_REGISTER_NARGS) - areg = (FFI_REGISTER_ARGS_SPACE + 32) / 4; - - if (arg_types[i]->type == FFI_TYPE_STRUCT) - { - int numregs = ((arg_types[i]->size + 3) & ~3) / 4; - if (areg < FFI_REGISTER_NARGS && areg + numregs > FFI_REGISTER_NARGS) - areg = (FFI_REGISTER_ARGS_SPACE + 32) / 4; - } - - avalue[i] = &values[areg]; - areg += (arg_types[i]->size + 3) / 4; - } - - (closure->fun)(cif, rvalue, avalue, closure->user_data); - - return rtype; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffitarget.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffitarget.h deleted file mode 100644 index 4231ed3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffitarget.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -----------------------------------------------------------------*-C-*- - ffitarget.h - Copyright (c) 2013 Tensilica, Inc. - Target configuration macros for XTENSA. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#ifndef LIBFFI_TARGET_H -#define LIBFFI_TARGET_H - -#ifndef LIBFFI_H -#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -#endif - -#ifndef LIBFFI_ASM -typedef unsigned long ffi_arg; -typedef signed long ffi_sarg; - -typedef enum ffi_abi { - FFI_FIRST_ABI = 0, - FFI_SYSV, - FFI_LAST_ABI, - FFI_DEFAULT_ABI = FFI_SYSV -} ffi_abi; -#endif - -#define FFI_REGISTER_NARGS 6 -#define XTENSA_STACK_ALIGNMENT 16 -#define FFI_REGISTER_ARGS_SPACE ((FFI_REGISTER_NARGS * 4 + \ - XTENSA_STACK_ALIGNMENT - 1) & \ - -XTENSA_STACK_ALIGNMENT) - -/* ---- Definitions for closures ----------------------------------------- */ - -#define FFI_CLOSURES 1 -#define FFI_NATIVE_RAW_API 0 -#define FFI_TRAMPOLINE_SIZE 24 - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/sysv.S b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/sysv.S deleted file mode 100644 index 70e83ac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/sysv.S +++ /dev/null @@ -1,268 +0,0 @@ -/* ----------------------------------------------------------------------- - sysv.S - Copyright (c) 2013 Tensilica, Inc. - - XTENSA Foreign Function Interface - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - ``Software''), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ----------------------------------------------------------------------- */ - -#define LIBFFI_ASM -#include -#include - -#define ENTRY(name) .text; .globl name; .type name,@function; .align 4; name: -#define END(name) .size name , . - name - -/* Assert that the table below is in sync with ffi.h. */ - -#if FFI_TYPE_UINT8 != 5 \ - || FFI_TYPE_SINT8 != 6 \ - || FFI_TYPE_UINT16 != 7 \ - || FFI_TYPE_SINT16 != 8 \ - || FFI_TYPE_UINT32 != 9 \ - || FFI_TYPE_SINT32 != 10 \ - || FFI_TYPE_UINT64 != 11 -#error "xtensa/sysv.S out of sync with ffi.h" -#endif - -#define FFI_REGISTER_ARGS_OFFSET ((XTENSA_STACK_ALIGNMENT - \ - FFI_REGISTER_NARGS * 4) & \ - (XTENSA_STACK_ALIGNMENT - 1)) - -/* ffi_call_SYSV (rvalue, rbytes, flags, (*fnaddr)(), bytes, ecif) - void *rvalue; a2 - unsigned long rbytes; a3 - unsigned flags; a4 - void (*fnaddr)(); a5 - unsigned long bytes; a6 - extended_cif* ecif) a7 -*/ - -ENTRY(ffi_call_SYSV) - - entry a1, 32 # 32 byte frame for using call8 below - - mov a10, a7 # a10(->arg0): ecif - sub a11, a1, a6 # a11(->arg1): stack pointer - mov a7, a1 # fp - movsp a1, a11 # set new sp = old_sp - bytes - - # align ffi_prep_args stack argument so that arguments - # passed on stack if any start on 16-byte aligned boundary - - addi a11, a11, FFI_REGISTER_ARGS_OFFSET - - movi a8, ffi_prep_args - callx8 a8 # ffi_prep_args(ecif, stack) - - # prepare to move stack pointer back - # to point to arguments passed on stack - - addi a6, a1, FFI_REGISTER_ARGS_SPACE - - # we can pass up to 6 arguments in registers - # for simplicity, just load 6 arguments - - l32i a10, a1, FFI_REGISTER_ARGS_OFFSET + 0 - l32i a11, a1, FFI_REGISTER_ARGS_OFFSET + 4 - l32i a12, a1, FFI_REGISTER_ARGS_OFFSET + 8 - l32i a13, a1, FFI_REGISTER_ARGS_OFFSET + 12 - l32i a14, a1, FFI_REGISTER_ARGS_OFFSET + 16 - l32i a15, a1, FFI_REGISTER_ARGS_OFFSET + 20 - - # move stack pointer - - movsp a1, a6 - - callx8 a5 # (*fn)(args...) - - # Handle return value(s) - - beqz a2, .Lexit - - movi a5, FFI_TYPE_STRUCT - bne a4, a5, .Lstore - movi a5, 16 - blt a5, a3, .Lexit - - s32i a10, a2, 0 - blti a3, 5, .Lexit - addi a3, a3, -1 - s32i a11, a2, 4 - blti a3, 8, .Lexit - s32i a12, a2, 8 - blti a3, 12, .Lexit - s32i a13, a2, 12 - -.Lexit: retw - -.Lstore: - addi a4, a4, -FFI_TYPE_UINT8 - bgei a4, 7, .Lexit # should never happen - movi a6, store_calls - add a4, a4, a4 - addx4 a6, a4, a6 # store_table + idx * 8 - jx a6 - - .align 8 -store_calls: - # UINT8 - s8i a10, a2, 0 - retw - - # SINT8 - .align 8 - s8i a10, a2, 0 - retw - - # UINT16 - .align 8 - s16i a10, a2, 0 - retw - - # SINT16 - .align 8 - s16i a10, a2, 0 - retw - - # UINT32 - .align 8 - s32i a10, a2, 0 - retw - - # SINT32 - .align 8 - s32i a10, a2, 0 - retw - - # UINT64 - .align 8 - s32i a10, a2, 0 - s32i a11, a2, 4 - retw - -END(ffi_call_SYSV) - - -/* - * void ffi_cacheflush (unsigned long start, unsigned long end) - */ - -#define EXTRA_ARGS_SIZE 24 - -ENTRY(ffi_cacheflush) - - entry a1, 32 - -1: -#if XCHAL_DCACHE_SIZE - dhwbi a2, 0 -#endif -#if XCHAL_ICACHE_SIZE - ihi a2, 0 -#endif - addi a2, a2, 4 - blt a2, a3, 1b - - retw - -END(ffi_cacheflush) - -/* ffi_trampoline is copied to the stack */ - -ENTRY(ffi_trampoline) - - /* 32 bytes for spill + spill overflow area of a frame that uses - call8, - FFI_REGISTER_NARGS * 4 bytes for arguments passed in registers, - aligned up to 4 to maintain 16 byte stack alignment, - 4 * 4 bytes for the result. - This size must be in sync with ffi_closure_SYSV_inner logic. - */ - entry a1, 32 + FFI_REGISTER_ARGS_SPACE + (4 * 4) # [ 0] - j 2f # [ 3] - .align 4 # [ 6] -1: .long 0 # [ 8] -2: l32r a15, 1b # [12] - _mov a14, a0 # [15] - callx0 a15 # [18] - # [21] -END(ffi_trampoline) - -/* - * ffi_closure() - * - * a0: closure + 21 - * a14: return address (a0) - */ - -ENTRY(ffi_closure_SYSV) - - /* intentionally omitting entry here */ - - # restore return address (a0) and move pointer to closure to a10 - addi a10, a0, -21 - mov a0, a14 - - # allow up to 4 arguments as return values - addi a11, a1, 4 * 4 - - # save up to 6 arguments to stack (allocated by entry below) - s32i a2, a11, 0 - s32i a3, a11, 4 - s32i a4, a11, 8 - s32i a5, a11, 12 - s32i a6, a11, 16 - s32i a7, a11, 20 - - movi a8, ffi_closure_SYSV_inner - mov a12, a1 - callx8 a8 # .._inner(*closure, **avalue, *rvalue) - - # load up to four return arguments - l32i a2, a1, 0 - l32i a3, a1, 4 - l32i a4, a1, 8 - l32i a5, a1, 12 - - # (sign-)extend return value - movi a11, FFI_TYPE_UINT8 - bne a10, a11, 1f - extui a2, a2, 0, 8 - retw - -1: movi a11, FFI_TYPE_SINT8 - bne a10, a11, 1f - sext a2, a2, 7 - retw - -1: movi a11, FFI_TYPE_UINT16 - bne a10, a11, 1f - extui a2, a2, 0, 16 - retw - -1: movi a11, FFI_TYPE_SINT16 - bne a10, a11, 1f - sext a2, a2, 15 - -1: retw - -END(ffi_closure_SYSV) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/stamp-h.in b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/stamp-h.in deleted file mode 100644 index 9788f70..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/stamp-h.in +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.am b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.am deleted file mode 100644 index 4f9cf21..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.am +++ /dev/null @@ -1,135 +0,0 @@ -## Process this file with automake to produce Makefile.in. - -AUTOMAKE_OPTIONS = foreign dejagnu - -EXTRA_DEJAGNU_SITE_CONFIG=../local.exp - -CLEANFILES = *.exe core* *.log *.sum - -EXTRA_DIST = config/default.exp lib/libffi.exp lib/target-libpath.exp \ -lib/wrapper.exp libffi.bhaible/Makefile libffi.bhaible/README \ -libffi.bhaible/alignof.h libffi.bhaible/bhaible.exp \ -libffi.bhaible/test-call.c libffi.bhaible/test-callback.c \ -libffi.bhaible/testcases.c libffi.call/align_mixed.c \ -libffi.call/align_stdcall.c libffi.call/call.exp \ -libffi.call/err_bad_typedef.c libffi.call/ffitest.h \ -libffi.call/float.c libffi.call/float1.c libffi.call/float2.c \ -libffi.call/float3.c libffi.call/float4.c libffi.call/float_va.c \ -libffi.call/many.c libffi.call/many2.c libffi.call/many_double.c \ -libffi.call/many_mixed.c libffi.call/negint.c libffi.call/offsets.c \ -libffi.call/pr1172638.c libffi.call/promotion.c \ -libffi.call/pyobjc_tc.c libffi.call/return_dbl.c \ -libffi.call/return_dbl1.c libffi.call/return_dbl2.c \ -libffi.call/return_fl.c libffi.call/return_fl1.c \ -libffi.call/return_fl2.c libffi.call/return_fl3.c \ -libffi.call/return_ldl.c libffi.call/return_ll.c \ -libffi.call/return_ll1.c libffi.call/return_sc.c \ -libffi.call/return_sl.c libffi.call/return_uc.c \ -libffi.call/return_ul.c libffi.call/struct1.c libffi.call/struct10.c \ -libffi.call/struct2.c libffi.call/struct3.c libffi.call/struct4.c \ -libffi.call/struct5.c libffi.call/struct6.c libffi.call/struct7.c \ -libffi.call/struct8.c libffi.call/struct9.c \ -libffi.call/uninitialized.c libffi.call/va_1.c libffi.call/va_2.c \ -libffi.call/va_3.c libffi.call/va_struct1.c libffi.call/va_struct2.c \ -libffi.call/va_struct3.c libffi.call/struct_by_value_big.c \ -libffi.call/struct_return_8H.c libffi.call/struct_return_2H.c \ -libffi.call/struct_by_value_2.c libffi.call/struct_by_value_3.c \ -libffi.call/struct_by_value_4.c libffi.call/struct_by_value_small.c \ -libffi.call/strlen2.c libffi.call/strlen3.c libffi.call/strlen4.c \ -libffi.call/strlen.c libffi.call/va_3.c \ -libffi.call/struct_by_value_2.c libffi.call/struct_by_value_3.c \ -libffi.call/struct_by_value_4.c libffi.closures/closure.exp \ -libffi.call/struct_by_value_3f.c libffi.call/struct_by_value_4f.c \ -libffi.call/s55.c libffi.call/bpo-38748.c \ -libffi.closures/closure_fn0.c libffi.closures/closure_fn1.c \ -libffi.closures/closure_fn2.c libffi.closures/closure_fn3.c \ -libffi.closures/closure_fn4.c libffi.closures/closure_fn5.c \ -libffi.closures/closure_fn6.c libffi.closures/closure_loc_fn0.c \ -libffi.closures/closure_simple.c libffi.closures/cls_12byte.c \ -libffi.closures/cls_16byte.c libffi.closures/cls_18byte.c \ -libffi.closures/cls_19byte.c libffi.closures/cls_1_1byte.c \ -libffi.closures/cls_20byte.c libffi.closures/cls_20byte1.c \ -libffi.closures/cls_24byte.c libffi.closures/cls_2byte.c \ -libffi.closures/cls_3_1byte.c libffi.closures/cls_3byte1.c \ -libffi.closures/cls_3byte2.c libffi.closures/cls_3float.c \ -libffi.closures/cls_4_1byte.c libffi.closures/cls_4byte.c \ -libffi.closures/cls_5_1_byte.c libffi.closures/cls_5byte.c \ -libffi.closures/cls_64byte.c libffi.closures/cls_6_1_byte.c \ -libffi.closures/cls_6byte.c libffi.closures/cls_7_1_byte.c \ -libffi.closures/cls_7byte.c libffi.closures/cls_8byte.c \ -libffi.closures/cls_9byte1.c libffi.closures/cls_9byte2.c \ -libffi.closures/cls_align_double.c libffi.closures/cls_align_float.c \ -libffi.closures/cls_align_longdouble.c \ -libffi.closures/cls_align_pointer.c \ -libffi.closures/cls_align_sint16.c libffi.closures/cls_align_sint32.c \ -libffi.closures/cls_align_sint64.c libffi.closures/cls_align_uint16.c \ -libffi.closures/cls_align_uint32.c libffi.closures/cls_align_uint64.c \ -libffi.closures/cls_dbls_struct.c libffi.closures/cls_double.c \ -libffi.closures/cls_double_va.c libffi.closures/cls_float.c \ -libffi.closures/cls_longdouble_va.c \ -libffi.closures/cls_many_mixed_args.c \ -libffi.closures/cls_many_mixed_float_double.c \ -libffi.closures/cls_multi_schar.c libffi.closures/cls_multi_sshort.c \ -libffi.closures/cls_multi_sshortchar.c \ -libffi.closures/cls_multi_uchar.c libffi.closures/cls_multi_ushort.c \ -libffi.closures/cls_multi_ushortchar.c libffi.closures/cls_pointer.c \ -libffi.closures/cls_pointer_stack.c libffi.closures/cls_schar.c \ -libffi.closures/cls_sint.c libffi.closures/cls_sshort.c \ -libffi.closures/cls_struct_va1.c libffi.closures/cls_uchar.c \ -libffi.closures/cls_uint.c libffi.closures/cls_uint_va.c \ -libffi.closures/cls_ulong_va.c libffi.closures/cls_ulonglong.c \ -libffi.closures/cls_ushort.c libffi.closures/err_bad_abi.c \ -libffi.closures/ffitest.h libffi.closures/nested_struct.c \ -libffi.closures/nested_struct1.c libffi.closures/nested_struct10.c \ -libffi.closures/nested_struct11.c libffi.closures/nested_struct12.c \ -libffi.closures/nested_struct13.c libffi.closures/nested_struct2.c \ -libffi.closures/nested_struct3.c libffi.closures/nested_struct4.c \ -libffi.closures/nested_struct5.c libffi.closures/nested_struct6.c \ -libffi.closures/nested_struct7.c libffi.closures/nested_struct8.c \ -libffi.closures/nested_struct9.c libffi.closures/problem1.c \ -libffi.closures/single_entry_structs1.c \ -libffi.closures/single_entry_structs2.c \ -libffi.closures/single_entry_structs3.c libffi.closures/stret_large.c \ -libffi.closures/stret_large2.c libffi.closures/stret_medium.c \ -libffi.closures/stret_medium2.c libffi.closures/testclosure.c \ -libffi.closures/unwindtest.cc libffi.closures/unwindtest_ffi_call.cc \ -libffi.closures/cls_align_longdouble_split.c \ -libffi.closures/cls_align_longdouble_split2.c \ -libffi.closures/cls_longdouble.c libffi.closures/huge_struct.c \ -libffi.complex/cls_align_complex.inc \ -libffi.complex/cls_align_complex_double.c \ -libffi.complex/cls_align_complex_float.c \ -libffi.complex/cls_align_complex_longdouble.c \ -libffi.complex/cls_complex.inc libffi.complex/cls_complex_double.c \ -libffi.complex/cls_complex_float.c \ -libffi.complex/cls_complex_longdouble.c \ -libffi.complex/cls_complex_struct.inc \ -libffi.complex/cls_complex_struct_double.c \ -libffi.complex/cls_complex_struct_float.c \ -libffi.complex/cls_complex_struct_longdouble.c \ -libffi.complex/cls_complex_va.inc \ -libffi.complex/cls_complex_va_double.c \ -libffi.complex/cls_complex_va_float.c \ -libffi.complex/cls_complex_va_longdouble.c libffi.complex/complex.exp \ -libffi.complex/complex.inc libffi.complex/complex_defs_double.inc \ -libffi.complex/complex_defs_float.inc \ -libffi.complex/complex_defs_longdouble.inc \ -libffi.complex/complex_double.c libffi.complex/complex_float.c \ -libffi.complex/complex_int.c libffi.complex/complex_longdouble.c \ -libffi.complex/ffitest.h libffi.complex/many_complex.inc \ -libffi.complex/many_complex_double.c \ -libffi.complex/many_complex_float.c \ -libffi.complex/many_complex_longdouble.c \ -libffi.complex/return_complex.inc libffi.complex/return_complex1.inc \ -libffi.complex/return_complex1_double.c \ -libffi.complex/return_complex1_float.c \ -libffi.complex/return_complex1_longdouble.c \ -libffi.complex/return_complex2.inc \ -libffi.complex/return_complex2_double.c \ -libffi.complex/return_complex2_float.c \ -libffi.complex/return_complex2_longdouble.c \ -libffi.complex/return_complex_double.c \ -libffi.complex/return_complex_float.c \ -libffi.complex/return_complex_longdouble.c libffi.go/aa-direct.c \ -libffi.go/closure1.c libffi.go/ffitest.h libffi.go/go.exp \ -libffi.go/static-chain.h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/config/default.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/config/default.exp deleted file mode 100644 index 90967cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/config/default.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib "standard.exp" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh deleted file mode 100755 index 7c43060..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash -emcc_exists="$(command -v emcc)" -if [ ! "${emcc_exists}" ]; then - echo "Emscripten not on path" - exit 1 -fi - -set -e - -cd "$1" -shift - -# Parse arguments -while [ $# -gt 0 ]; do - case $1 in - --wasm-bigint) WASM_BIGINT=true ;; - *) - echo "ERROR: Unknown parameter: $1" >&2 - exit 1 - ;; - esac - shift -done - - -export CFLAGS="-fPIC -O2 -I../../target/include $EXTRA_CFLAGS" -export CXXFLAGS="$CFLAGS -sNO_DISABLE_EXCEPTION_CATCHING $EXTRA_CXXFLAGS" -export LDFLAGS=" \ - -L../../target/lib/ -lffi \ - -sEXPORT_ALL \ - -sMODULARIZE \ - -sMAIN_MODULE \ - -sNO_DISABLE_EXCEPTION_CATCHING \ - $EXTRA_LD_FLAGS \ -" - -# This needs to test false if there exists an environment variable called -# WASM_BIGINT whose contents are empty. Don't use +x. -if [ -n "${WASM_BIGINT}" ] ; then - export LDFLAGS+=" -sWASM_BIGINT" -else - export LDFLAGS+=" -sEXPORTED_RUNTIME_METHODS='getTempRet0,setTempRet0'" -fi - -# Rename main functions to test__filename so we can link them together -ls *c | sed 's!\(.*\)\.c!sed -i "s/main/test__\1/g" \0!g' | bash - -# Compile -ls *.c | sed 's/\(.*\)\.c/emcc $CFLAGS -c \1.c -o \1.o /g' | bash -ls *.cc | sed 's/\(.*\)\.cc/em++ $CXXFLAGS -c \1.cc -o \1.o /g' | bash - -# Link -em++ $LDFLAGS *.o -o test.js -cp ../emscripten/test.html . diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build.sh deleted file mode 100755 index c77c041..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash -command -v emcc >/dev/null 2>&1 || { - echo >&2 "emsdk could not be found. Aborting." - exit 1 -} - -set -e - -SOURCE_DIR=$PWD - -# Working directories -TARGET=$SOURCE_DIR/target -mkdir -p "$TARGET" - -# Define default arguments - -# JS BigInt to Wasm i64 integration, disabled by default -# This needs to test false if there exists an environment variable called -# WASM_BIGINT whose contents are empty. Don't use +x. -if [ -n "${WASM_BIGINT}" ]; then - WASM_BIGINT=true -else - WASM_BIGINT=false -fi - -# Parse arguments -while [ $# -gt 0 ]; do - case $1 in - --wasm-bigint) WASM_BIGINT=true ;; - --debug) DEBUG=true ;; - *) - echo "ERROR: Unknown parameter: $1" >&2 - exit 1 - ;; - esac - shift -done - -# Common compiler flags -export CFLAGS="-O3 -fPIC" -if [ "$WASM_BIGINT" = "true" ]; then - # We need to detect WASM_BIGINT support at compile time - export CFLAGS+=" -DWASM_BIGINT" -fi -if [ "$DEBUG" = "true" ]; then - export CFLAGS+=" -DDEBUG_F" -fi -export CXXFLAGS="$CFLAGS" - -# Build paths -export CPATH="$TARGET/include" -export PKG_CONFIG_PATH="$TARGET/lib/pkgconfig" -export EM_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" - -# Specific variables for cross-compilation -export CHOST="wasm32-unknown-linux" # wasm32-unknown-emscripten - -autoreconf -fiv -emconfigure ./configure --host=$CHOST --prefix="$TARGET" --enable-static --disable-shared --disable-dependency-tracking \ - --disable-builddir --disable-multi-os-directory --disable-raw-api --disable-docs -make install -cp fficonfig.h target/include/ -cp include/ffi_common.h target/include/ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/conftest.py b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/conftest.py deleted file mode 100644 index 57fac80..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +++ /dev/null @@ -1,80 +0,0 @@ -from pathlib import Path -from pytest import fixture -from pytest_pyodide.server import spawn_web_server -from pytest_pyodide import runner - -TEST_PATH = Path(__file__).parents[1].resolve() - - -class BaseRunner(runner._BrowserBaseRunner): - def __init__( - self, - *args, - test_dir, - **kwargs, - ): - self.test_dir = test_dir - super().__init__( - *args, - **kwargs, - load_pyodide=False, - ) - - def prepare_driver(self): - self.base_url = ( - f"http://{self.server_hostname}:{self.server_port}/{self.test_dir}/" - ) - self.goto(f"{self.base_url}/test.html") - - def javascript_setup(self): - self.run_js("globalThis.TestModule = await globalThis.Module();") - - -class FirefoxRunner(BaseRunner, runner.SeleniumFirefoxRunner): - pass - - -class ChromeRunner(BaseRunner, runner.SeleniumChromeRunner): - pass - - -# TODO: Figure out how to get NodeRunner to work. - -RUNNER_DICT = {x.browser: x for x in [FirefoxRunner, ChromeRunner]} - - -@fixture(params=list(RUNNER_DICT), scope="class") -def selenium_class_scope(request, web_server_main): - server_hostname, server_port, server_log = web_server_main - assert request.param in RUNNER_DICT - cls = RUNNER_DICT[request.param] - selenium = cls( - test_dir=request.cls.TEST_BUILD_DIR, - server_port=server_port, - server_hostname=server_hostname, - server_log=server_log, - ) - request.cls.call_number = 0 - try: - yield selenium - finally: - print(selenium.logs) - selenium.driver.quit() - - -@fixture(scope="function") -def selenium(selenium_class_scope, request): - selenium = selenium_class_scope - request.cls.call_number += 1 - # Refresh page every 50 calls to prevent firefox out of memory errors - if request.cls.call_number % 50 == 0: - selenium.driver.refresh() - selenium.javascript_setup() - selenium.clean_logs() - yield selenium - - -@fixture(scope="session") -def web_server_main(request): - with spawn_web_server(TEST_PATH) as output: - yield output diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh deleted file mode 100755 index 88dd74b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -# JS BigInt to Wasm i64 integration, disabled by default -WASM_BIGINT=false - -emcc_exists="$(command -v emcc)" -if [ ! "${emcc_exists}" ]; then - echo "Emscripten not on path" - exit 1 -fi - -# Parse arguments -while [ $# -gt 0 ]; do - case $1 in - --wasm-bigint) WASM_BIGINT=true ;; - *) - echo "ERROR: Unknown parameter: $1" >&2 - exit 1 - ;; - esac - shift -done - -# Common compiler flags -export CFLAGS="-fPIC $EXTRA_CFLAGS" -if [ "$WASM_BIGINT" = "true" ]; then - # We need to detect WASM_BIGINT support at compile time - export CFLAGS+=" -DWASM_BIGINT" -fi -export CXXFLAGS="$CFLAGS -sNO_DISABLE_EXCEPTION_CATCHING $EXTRA_CXXFLAGS" -export LDFLAGS="-sEXPORTED_FUNCTIONS=_main,_malloc,_free -sALLOW_TABLE_GROWTH -sASSERTIONS -sNO_DISABLE_EXCEPTION_CATCHING" -if [ "$WASM_BIGINT" = "true" ]; then - export LDFLAGS+=" -sWASM_BIGINT" -else - export LDFLAGS+=" -sEXPORTED_RUNTIME_METHODS='getTempRet0,setTempRet0'" -fi - -# Specific variables for cross-compilation -export CHOST="wasm32-unknown-linux" # wasm32-unknown-emscripten - -autoreconf -fiv -emconfigure ./configure --prefix="$(pwd)/target" --host=$CHOST --enable-static --disable-shared \ - --disable-builddir --disable-multi-os-directory --disable-raw-api --disable-docs || - (cat config.log && exit 1) -make - -EMMAKEN_JUST_CONFIGURE=1 emmake make check \ - RUNTESTFLAGS="LDFLAGS_FOR_TARGET='$LDFLAGS'" || (cat testsuite/libffi.log && exit 1) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test.html deleted file mode 100644 index 7701503..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py deleted file mode 100644 index 059d535..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +++ /dev/null @@ -1,51 +0,0 @@ -import subprocess -import pathlib -import pytest - -TEST_PATH = pathlib.Path(__file__).parents[1].resolve() - -xfails = {} - - -def libffi_tests(self, selenium, libffi_test): - if libffi_test in xfails: - pytest.xfail(f'known failure with code "{xfails[libffi_test]}"') - res = selenium.run_js( - """ - window.TestModule = await Module(); - """ - ) - selenium.run_js( - f""" - try {{ - TestModule._test__{libffi_test}(); - }} catch(e){{ - if(e.name !== "ExitStatus"){{ - throw e; - }} - if(e.status !== 0){{ - throw new Error(`Terminated with nonzero status code ${{e.status}}: ` + e.message); - }} - }} - """ - ) - - -class TestCall: - TEST_BUILD_DIR = "libffi.call.test" - test_call = libffi_tests - - -class TestClosures: - TEST_BUILD_DIR = "libffi.closures.test" - test_closures = libffi_tests - - -def pytest_generate_tests(metafunc): - test_build_dir = metafunc.cls.TEST_BUILD_DIR - test_names = [x.stem for x in (TEST_PATH / test_build_dir).glob("*.o")] - metafunc.parametrize("libffi_test", test_names) - - -if __name__ == "__main__": - subprocess.call(["build-tests.sh", "libffi.call"]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile deleted file mode 100644 index 3322de9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -CC = gcc -CFLAGS = -O2 -Wall -prefix = -includedir = $(prefix)/include -libdir = $(prefix)/lib -CPPFLAGS = -I$(includedir) -LDFLAGS = -L$(libdir) -Wl,-rpath,$(libdir) - -all: check-call check-callback - -test-call: test-call.c testcases.c - $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o test-call test-call.c -lffi - -test-callback: test-callback.c testcases.c - $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o test-callback test-callback.c -lffi - -check-call: test-call - ./test-call > test-call.out - LC_ALL=C uniq -u < test-call.out > failed-call - test '!' -s failed-call - -check-callback: test-callback - ./test-callback > test-callback.out - LC_ALL=C uniq -u < test-callback.out > failed-callback - test '!' -s failed-callback - -clean: - rm -f test-call test-callback test-call.out test-callback.out failed-call failed-callback diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/README b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/README deleted file mode 100644 index be8540b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +++ /dev/null @@ -1,78 +0,0 @@ -This package contains a test suite for libffi. - -This test suite can be compiled with a C compiler. No need for 'expect' -or some other package that is often not installed. - -The test suite consists of 81 C functions, each with a different signature. -* test-call verifies that calling each function directly produces the same - results as calling the function indirectly through 'ffi_call'. -* test-callback verifies that calling each function directly produces the same - results as calling a function that is a callback (object build by - 'ffi_prep_closure_loc') and simulates the original function. - -Each direct or indirect invocation should produce one line of output to -stdout. A correct output consists of paired lines, such as - -void f(void): -void f(void): -int f(void):->99 -int f(void):->99 -int f(int):(1)->2 -int f(int):(1)->2 -int f(2*int):(1,2)->3 -int f(2*int):(1,2)->3 -... - -The Makefile then creates two files: -* failed-call, which consists of the non-paired lines of output of - 'test-call', -* failed-callback, which consists of the non-paired lines of output of - 'test-callback'. - -The test suite passes if both failed-call and failed-callback come out -as empty. - - -How to use the test suite -------------------------- - -1. Modify the Makefile's variables - prefix = the directory in which libffi was installed - CC = the C compiler, often with options such as "-m32" or "-m64" - that enforce a certain ABI, - CFLAGS = optimization options (need to change them only for non-GCC - compilers) -2. Run "make". If it fails already in "test-call", run also - "make check-callback". -3. If this failed, inspect the output files. - - -How to interpret the results ----------------------------- - -The failed-call and failed-callback files consist of paired lines: -The first line is the result of the direct invocation. -The second line is the result of invocation through libffi. - -For example, this output - -uchar f(uchar,ushort,uint,ulong):(97,2,3,4)->255 -uchar f(uchar,ushort,uint,ulong):(97,2,3,4)->0 - -indicates that the arguments were passed correctly, but the return -value came out wrong. - -And this output - -float f(17*float,3*int,L):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,6,7,8,561,1105,1729,2465,2821,6601)->15319.1 -float f(17*float,3*int,L):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,-140443648,10,268042216,-72537980,-140443648,-140443648,-140443648,-140443648,-140443648)->-6.47158e+08 - -indicates that integer arguments that come after 17 floating-point arguments -were not passed correctly. - - -Credits -------- - -The test suite is based on the one of GNU libffcall-2.0. -Authors: Bill Triggs, Bruno Haible diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h deleted file mode 100644 index 00604a5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Determine alignment of types. - Copyright (C) 2003-2004, 2006, 2009-2017 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see . */ - -#ifndef _ALIGNOF_H -#define _ALIGNOF_H - -#include - -/* alignof_slot (TYPE) - Determine the alignment of a structure slot (field) of a given type, - at compile time. Note that the result depends on the ABI. - This is the same as alignof (TYPE) and _Alignof (TYPE), defined in - if __alignof_is_defined is 1. - Note: The result cannot be used as a value for an 'enum' constant, - due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ -#if defined __cplusplus - template struct alignof_helper { char __slot1; type __slot2; }; -# define alignof_slot(type) offsetof (alignof_helper, __slot2) -#else -# define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) -#endif - -/* alignof_type (TYPE) - Determine the good alignment of an object of the given type at compile time. - Note that this is not necessarily the same as alignof_slot(type). - For example, with GNU C on x86 platforms: alignof_type(double) = 8, but - - when -malign-double is not specified: alignof_slot(double) = 4, - - when -malign-double is specified: alignof_slot(double) = 8. - Note: The result cannot be used as a value for an 'enum' constant, - due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ -#if defined __GNUC__ || defined __IBM__ALIGNOF__ -# define alignof_type __alignof__ -#else -# define alignof_type alignof_slot -#endif - -#endif /* _ALIGNOF_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp deleted file mode 100644 index 44aebc5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (C) 2003, 2006, 2009, 2010, 2014, 2018 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# . - -dg-init -libffi-init - -global srcdir subdir -global compiler_vendor - -# The conversion of this testsuite into a dejagnu compatible testsuite -# was done in a pretty lazy fashion, and requires the use of compiler -# flags to disable warnings for now. -if { [string match $compiler_vendor "gnu"] } { - set warning_options "-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-uninitialized"; -} -if { [string match $compiler_vendor "microsoft"] } { - # -wd4996 suggest use of vsprintf_s instead of vsprintf - # -wd4116 unnamed type definition - # -wd4101 unreferenced local variable - # -wd4244 warning about implicit double to float conversion - set warning_options "-wd4996 -wd4116 -wd4101 -wd4244"; -} -if { ![string match $compiler_vendor "microsoft"] && ![string match $compiler_vendor "gnu"] } { - set warning_options "-Wno-unused-variable -Wno-unused-parameter -Wno-uninitialized"; -} - - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/test-call.c]] - -for {set i 1} {$i < 82} {incr i} { - run-many-tests $tlist [format "-DDGTEST=%d %s" $i $warning_options] -} - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/test-callback.c]] - -for {set i 1} {$i < 81} {incr i} { - if { [libffi_feature_test "#if FFI_CLOSURES"] } { - run-many-tests $tlist [format "-DDGTEST=%d %s" $i $warning_options] - } else { - foreach test $tlist { - unsupported [format "%s -DDGTEST=%d %s" $test $i $warning_options] - } - } -} - -dg-finish - -# Local Variables: -# tcl-indent-level:4 -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c deleted file mode 100644 index 4887e00..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +++ /dev/null @@ -1,1746 +0,0 @@ -/** - Copyright 1993 Bill Triggs - Copyright 1995-2017 Bruno Haible - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -**/ - -/* { dg-do run { xfail gccbug } } */ - -#include -#include -#include -#include -#include "alignof.h" -#include - -/* libffi testsuite local changes -------------------------------- */ -#ifdef DGTEST -/* Redefine exit(1) as a test failure */ -#define exit(V) (void)((V) ? (abort(), 1) : exit(0)) -int count = 0; -char rbuf1[2048]; -char rbuf2[2048]; -int _fprintf(FILE *stream, const char *format, ...) -{ - va_list args; - va_start(args, format); - - switch (count++) - { - case 0: - case 1: - vsprintf(&rbuf1[strlen(rbuf1)], format, args); - break; - case 2: - printf("%s", rbuf1); - vsprintf(rbuf2, format, args); - break; - case 3: - vsprintf(&rbuf2[strlen(rbuf2)], format, args); - printf("%s", rbuf2); - fflush (stdout); - if (strcmp (rbuf1, rbuf2)) abort(); - break; - } - - va_end(args); - - return 0; -} -#define fprintf _fprintf -#endif -/* --------------------------------------------------------------- */ - -#include "testcases.c" - -#ifndef ABI_NUM -#define ABI_NUM FFI_DEFAULT_ABI -#endif - -/* Definitions that ought to be part of libffi. */ -static ffi_type ffi_type_char; -#define ffi_type_slonglong ffi_type_sint64 -#define ffi_type_ulonglong ffi_type_uint64 - -/* libffi does not support arrays inside structs. */ -#define SKIP_EXTRA_STRUCTS - -#define FFI_PREP_CIF(cif,argtypes,rettype) \ - if (ffi_prep_cif(&(cif),ABI_NUM,sizeof(argtypes)/sizeof(argtypes[0]),&rettype,argtypes) != FFI_OK) abort() -#define FFI_PREP_CIF_NOARGS(cif,rettype) \ - if (ffi_prep_cif(&(cif),ABI_NUM,0,&rettype,NULL) != FFI_OK) abort() -#define FFI_CALL(cif,fn,args,retaddr) \ - ffi_call(&(cif),(void(*)(void))(fn),retaddr,args) - -long clear_traces_i (long a, long b, long c, long d, long e, long f, long g, long h, - long i, long j, long k, long l, long m, long n, long o, long p) -{ return 0; } -float clear_traces_f (float a, float b, float c, float d, float e, float f, float g, - float h, float i, float j, float k, float l, float m, float n, - float o, float p) -{ return 0.0; } -double clear_traces_d (double a, double b, double c, double d, double e, double f, double g, - double h, double i, double j, double k, double l, double m, double n, - double o, double p) -{ return 0.0; } -J clear_traces_J (void) -{ J j; j.l1 = j.l2 = 0; return j; } -void clear_traces (void) -{ clear_traces_i(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); - clear_traces_f(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0); - clear_traces_d(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0); - clear_traces_J(); -} - -void - void_tests (void) -{ -#if (!defined(DGTEST)) || DGTEST == 1 - v_v(); - clear_traces(); - { - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_void); - { - FFI_CALL(cif,v_v,NULL,NULL); - } - } -#endif - return; -} -void - int_tests (void) -{ - int ir; - ffi_arg retvalue; -#if (!defined(DGTEST)) || DGTEST == 2 - ir = i_v(); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - { - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_sint); - { - FFI_CALL(cif,i_v,NULL,&retvalue); - ir = retvalue; - } - } - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 3 - ir = i_i(i1); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - { - /*const*/ void* args[] = { &i1 }; - FFI_CALL(cif,i_i,args,&retvalue); - ir = retvalue; - } - } - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 4 - ir = i_i2(i1,i2); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - { - /*const*/ void* args[] = { &i1, &i2 }; - FFI_CALL(cif,i_i2,args,&retvalue); - ir = retvalue; - } - } - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 5 - ir = i_i4(i1,i2,i3,i4); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - { - /*const*/ void* args[] = { &i1, &i2, &i3, &i4 }; - FFI_CALL(cif,i_i4,args,&retvalue); - ir = retvalue; - } - } - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 6 - ir = i_i8(i1,i2,i3,i4,i5,i6,i7,i8); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - { - /*const*/ void* args[] = { &i1, &i2, &i3, &i4, &i5, &i6, &i7, &i8 }; - FFI_CALL(cif,i_i8,args,&retvalue); - ir = retvalue; - } - } - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 7 - ir = i_i16(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - { - /*const*/ void* args[] = { &i1, &i2, &i3, &i4, &i5, &i6, &i7, &i8, &i9, &i10, &i11, &i12, &i13, &i14, &i15, &i16 }; - FFI_CALL(cif,i_i16,args,&retvalue); - ir = retvalue; - } - } - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - - return; -} -void - float_tests (void) -{ - float fr; - -#if (!defined(DGTEST)) || DGTEST == 8 - fr = f_f(f1); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1 }; - FFI_CALL(cif,f_f,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 9 - fr = f_f2(f1,f2); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2 }; - FFI_CALL(cif,f_f2,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 10 - fr = f_f4(f1,f2,f3,f4); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4 }; - FFI_CALL(cif,f_f4,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 11 - fr = f_f8(f1,f2,f3,f4,f5,f6,f7,f8); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8 }; - FFI_CALL(cif,f_f8,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 12 - fr = f_f16(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8, &f9, &f10, &f11, &f12, &f13, &f14, &f15, &f16 }; - FFI_CALL(cif,f_f16,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 13 - fr = f_f24(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8, &f9, &f10, &f11, &f12, &f13, &f14, &f15, &f16, &f17, &f18, &f19, &f20, &f21, &f22, &f23, &f24 }; - FFI_CALL(cif,f_f24,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif -} -void - double_tests (void) -{ - double dr; - -#if (!defined(DGTEST)) || DGTEST == 14 - - dr = d_d(d1); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1 }; - FFI_CALL(cif,d_d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 15 - dr = d_d2(d1,d2); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2 }; - FFI_CALL(cif,d_d2,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 16 - dr = d_d4(d1,d2,d3,d4); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4 }; - FFI_CALL(cif,d_d4,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 17 - dr = d_d8(d1,d2,d3,d4,d5,d6,d7,d8); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8 }; - FFI_CALL(cif,d_d8,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 18 - dr = d_d16(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8, &d9, &d10, &d11, &d12, &d13, &d14, &d15, &d16 }; - FFI_CALL(cif,d_d16,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - return; -} -void - pointer_tests (void) -{ - void* vpr; - -#if (!defined(DGTEST)) || DGTEST == 19 - vpr = vp_vpdpcpsp(&uc1,&d2,str3,&I4); - fprintf(out,"->0x%p\n",vpr); - fflush(out); - vpr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_pointer, &ffi_type_pointer, &ffi_type_pointer, &ffi_type_pointer }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_pointer); - { - void* puc1 = &uc1; - void* pd2 = &d2; - void* pstr3 = str3; - void* pI4 = &I4; - /*const*/ void* args[] = { &puc1, &pd2, &pstr3, &pI4 }; - FFI_CALL(cif,vp_vpdpcpsp,args,&vpr); - } - } - fprintf(out,"->0x%p\n",vpr); - fflush(out); -#endif - return; -} -void - mixed_number_tests (void) -{ - uchar ucr; - ushort usr; - float fr; - double dr; - long long llr; - - /* Unsigned types. - */ -#if (!defined(DGTEST)) || DGTEST == 20 - ucr = uc_ucsil(uc1, us2, ui3, ul4); - fprintf(out,"->%u\n",ucr); - fflush(out); - ucr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_uchar, &ffi_type_ushort, &ffi_type_uint, &ffi_type_ulong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_uchar); - { - ffi_arg r; - /*const*/ void* args[] = { &uc1, &us2, &ui3, &ul4 }; - FFI_CALL(cif,uc_ucsil,args,&r); - ucr = (uchar) r; - } - } - fprintf(out,"->%u\n",ucr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 21 - /* Mixed int & float types. - */ - dr = d_iidd(i1,i2,d3,d4); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &i1, &i2, &d3, &d4 }; - FFI_CALL(cif,d_iidd,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 22 - dr = d_iiidi(i1,i2,i3,d4,i5); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &i1, &i2, &i3, &d4, &i5 }; - FFI_CALL(cif,d_iiidi,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 23 - dr = d_idid(i1,d2,i3,d4); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_double, &ffi_type_sint, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &i1, &d2, &i3, &d4 }; - FFI_CALL(cif,d_idid,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 24 - dr = d_fdi(f1,d2,i3); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &f1, &d2, &i3 }; - FFI_CALL(cif,d_fdi,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 25 - usr = us_cdcd(c1,d2,c3,d4); - fprintf(out,"->%u\n",usr); - fflush(out); - usr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_char, &ffi_type_double, &ffi_type_char, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_ushort); - { - ffi_arg rint; - /*const*/ void* args[] = { &c1, &d2, &c3, &d4 }; - FFI_CALL(cif,us_cdcd,args,&rint); - usr = (ushort) rint; - } - } - fprintf(out,"->%u\n",usr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 26 - /* Long long types. - */ - llr = ll_iiilli(i1,i2,i3,ll1,i13); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_slonglong, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &i1, &i2, &i3, &ll1, &i13 }; - FFI_CALL(cif,ll_iiilli,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 27 - llr = ll_flli(f13,ll1,i13); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_slonglong, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &f13, &ll1, &i13 }; - FFI_CALL(cif,ll_flli,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 28 - fr = f_fi(f1,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &i9 }; - FFI_CALL(cif,f_fi,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 29 - fr = f_f2i(f1,f2,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &i9 }; - FFI_CALL(cif,f_f2i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 30 - fr = f_f3i(f1,f2,f3,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &i9 }; - FFI_CALL(cif,f_f3i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 31 - fr = f_f4i(f1,f2,f3,f4,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &i9 }; - FFI_CALL(cif,f_f4i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 32 - fr = f_f7i(f1,f2,f3,f4,f5,f6,f7,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &i9 }; - FFI_CALL(cif,f_f7i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 33 - fr = f_f8i(f1,f2,f3,f4,f5,f6,f7,f8,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8, &i9 }; - FFI_CALL(cif,f_f8i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 34 - fr = f_f12i(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8, &f9, &f10, &f11, &f12, &i9 }; - FFI_CALL(cif,f_f12i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 35 - fr = f_f13i(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8, &f9, &f10, &f11, &f12, &f13, &i9 }; - FFI_CALL(cif,f_f13i,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 36 - dr = d_di(d1,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &i9 }; - FFI_CALL(cif,d_di,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 37 - dr = d_d2i(d1,d2,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &i9 }; - FFI_CALL(cif,d_d2i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 38 - dr = d_d3i(d1,d2,d3,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &i9 }; - FFI_CALL(cif,d_d3i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 39 - dr = d_d4i(d1,d2,d3,d4,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &i9 }; - FFI_CALL(cif,d_d4i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 40 - dr = d_d7i(d1,d2,d3,d4,d5,d6,d7,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &i9 }; - FFI_CALL(cif,d_d7i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 41 - dr = d_d8i(d1,d2,d3,d4,d5,d6,d7,d8,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8, &i9 }; - FFI_CALL(cif,d_d8i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 42 - dr = d_d12i(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8, &d9, &d10, &d11, &d12, &i9 }; - FFI_CALL(cif,d_d12i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 43 - dr = d_d13i(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8, &d9, &d10, &d11, &d12, &d13, &i9 }; - FFI_CALL(cif,d_d13i,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - return; -} -void - small_structure_return_tests (void) -{ -#if (!defined(DGTEST)) || DGTEST == 44 - { - Size1 r = S1_v(); - fprintf(out,"->{%c}\n",r.x1); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size1_elements[] = { &ffi_type_char, NULL }; - ffi_type ffi_type_Size1; - ffi_type_Size1.type = FFI_TYPE_STRUCT; - ffi_type_Size1.size = sizeof(Size1); - ffi_type_Size1.alignment = alignof_slot(Size1); - ffi_type_Size1.elements = ffi_type_Size1_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size1); - { - FFI_CALL(cif,S1_v,NULL,&r); - } - } - fprintf(out,"->{%c}\n",r.x1); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 45 - { - Size2 r = S2_v(); - fprintf(out,"->{%c%c}\n",r.x1,r.x2); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size2_elements[] = { &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size2; - ffi_type_Size2.type = FFI_TYPE_STRUCT; - ffi_type_Size2.size = sizeof(Size2); - ffi_type_Size2.alignment = alignof_slot(Size2); - ffi_type_Size2.elements = ffi_type_Size2_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size2); - { - FFI_CALL(cif,S2_v,NULL,&r); - } - } - fprintf(out,"->{%c%c}\n",r.x1,r.x2); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 46 - { - Size3 r = S3_v(); - fprintf(out,"->{%c%c%c}\n",r.x1,r.x2,r.x3); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size3_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size3; - ffi_type_Size3.type = FFI_TYPE_STRUCT; - ffi_type_Size3.size = sizeof(Size3); - ffi_type_Size3.alignment = alignof_slot(Size3); - ffi_type_Size3.elements = ffi_type_Size3_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size3); - { - FFI_CALL(cif,S3_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c}\n",r.x1,r.x2,r.x3); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 47 - { - Size4 r = S4_v(); - fprintf(out,"->{%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size4_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size4; - ffi_type_Size4.type = FFI_TYPE_STRUCT; - ffi_type_Size4.size = sizeof(Size4); - ffi_type_Size4.alignment = alignof_slot(Size4); - ffi_type_Size4.elements = ffi_type_Size4_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size4); - { - FFI_CALL(cif,S4_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 48 - { - Size7 r = S7_v(); - fprintf(out,"->{%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size7_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size7; - ffi_type_Size7.type = FFI_TYPE_STRUCT; - ffi_type_Size7.size = sizeof(Size7); - ffi_type_Size7.alignment = alignof_slot(Size7); - ffi_type_Size7.elements = ffi_type_Size7_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size7); - { - FFI_CALL(cif,S7_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 49 - { - Size8 r = S8_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size8_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size8; - ffi_type_Size8.type = FFI_TYPE_STRUCT; - ffi_type_Size8.size = sizeof(Size8); - ffi_type_Size8.alignment = alignof_slot(Size8); - ffi_type_Size8.elements = ffi_type_Size8_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size8); - { - FFI_CALL(cif,S8_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 50 - { - Size12 r = S12_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size12_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size12; - ffi_type_Size12.type = FFI_TYPE_STRUCT; - ffi_type_Size12.size = sizeof(Size12); - ffi_type_Size12.alignment = alignof_slot(Size12); - ffi_type_Size12.elements = ffi_type_Size12_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size12); - { - FFI_CALL(cif,S12_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 51 - { - Size15 r = S15_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size15_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size15; - ffi_type_Size15.type = FFI_TYPE_STRUCT; - ffi_type_Size15.size = sizeof(Size15); - ffi_type_Size15.alignment = alignof_slot(Size15); - ffi_type_Size15.elements = ffi_type_Size15_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size15); - { - FFI_CALL(cif,S15_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15); - fflush(out); - } -#endif -#if (!defined(DGTEST)) || DGTEST == 52 - { - Size16 r = S16_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15,r.x16); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - { - ffi_type* ffi_type_Size16_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size16; - ffi_type_Size16.type = FFI_TYPE_STRUCT; - ffi_type_Size16.size = sizeof(Size16); - ffi_type_Size16.alignment = alignof_slot(Size16); - ffi_type_Size16.elements = ffi_type_Size16_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size16); - { - FFI_CALL(cif,S16_v,NULL,&r); - } - } - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15,r.x16); - fflush(out); - } -#endif -} -void - structure_tests (void) -{ - Int Ir; - Char Cr; - Float Fr; - Double Dr; - J Jr; -#ifndef SKIP_EXTRA_STRUCTS - T Tr; - X Xr; -#endif - -#if (!defined(DGTEST)) || DGTEST == 53 - Ir = I_III(I1,I2,I3); - fprintf(out,"->{%d}\n",Ir.x); - fflush(out); - Ir.x = 0; clear_traces(); - { - ffi_type* ffi_type_Int_elements[] = { &ffi_type_sint, NULL }; - ffi_type ffi_type_Int; - ffi_type_Int.type = FFI_TYPE_STRUCT; - ffi_type_Int.size = sizeof(Int); - ffi_type_Int.alignment = alignof_slot(Int); - ffi_type_Int.elements = ffi_type_Int_elements; - ffi_type* argtypes[] = { &ffi_type_Int, &ffi_type_Int, &ffi_type_Int }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Int); - { - /*const*/ void* args[] = { &I1, &I2, &I3 }; - FFI_CALL(cif,I_III,args,&Ir); - } - } - fprintf(out,"->{%d}\n",Ir.x); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 54 - Cr = C_CdC(C1,d2,C3); - fprintf(out,"->{'%c'}\n",Cr.x); - fflush(out); - Cr.x = '\0'; clear_traces(); - { - ffi_type* ffi_type_Char_elements[] = { &ffi_type_char, NULL }; - ffi_type ffi_type_Char; - ffi_type_Char.type = FFI_TYPE_STRUCT; - ffi_type_Char.size = sizeof(Char); - ffi_type_Char.alignment = alignof_slot(Char); - ffi_type_Char.elements = ffi_type_Char_elements; - ffi_type* argtypes[] = { &ffi_type_Char, &ffi_type_double, &ffi_type_Char }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Char); - { - /*const*/ void* args[] = { &C1, &d2, &C3 }; - FFI_CALL(cif,C_CdC,args,&Cr); - } - } - fprintf(out,"->{'%c'}\n",Cr.x); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 55 - Fr = F_Ffd(F1,f2,d3); - fprintf(out,"->{%g}\n",Fr.x); - fflush(out); - Fr.x = 0.0; clear_traces(); - { - ffi_type* ffi_type_Float_elements[] = { &ffi_type_float, NULL }; - ffi_type ffi_type_Float; - ffi_type_Float.type = FFI_TYPE_STRUCT; - ffi_type_Float.size = sizeof(Float); - ffi_type_Float.alignment = alignof_slot(Float); - ffi_type_Float.elements = ffi_type_Float_elements; - ffi_type* argtypes[] = { &ffi_type_Float, &ffi_type_float, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Float); - { - /*const*/ void* args[] = { &F1, &f2, &d3 }; - FFI_CALL(cif,F_Ffd,args,&Fr); - } - } - fprintf(out,"->{%g}\n",Fr.x); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 56 - Dr = D_fDd(f1,D2,d3); - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); - Dr.x = 0.0; clear_traces(); - { - ffi_type* ffi_type_Double_elements[] = { &ffi_type_double, NULL }; - ffi_type ffi_type_Double; - ffi_type_Double.type = FFI_TYPE_STRUCT; - ffi_type_Double.size = sizeof(Double); - ffi_type_Double.alignment = alignof_slot(Double); - ffi_type_Double.elements = ffi_type_Double_elements; - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_Double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Double); - { - /*const*/ void* args[] = { &f1, &D2, &d3 }; - FFI_CALL(cif,D_fDd,args,&Dr); - } - } - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 57 - Dr = D_Dfd(D1,f2,d3); - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); - Dr.x = 0.0; clear_traces(); - { - ffi_type* ffi_type_Double_elements[] = { &ffi_type_double, NULL }; - ffi_type ffi_type_Double; - ffi_type_Double.type = FFI_TYPE_STRUCT; - ffi_type_Double.size = sizeof(Double); - ffi_type_Double.alignment = alignof_slot(Double); - ffi_type_Double.elements = ffi_type_Double_elements; - ffi_type* argtypes[] = { &ffi_type_Double, &ffi_type_float, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Double); - { - /*const*/ void* args[] = { &D1, &f2, &d3 }; - FFI_CALL(cif,D_Dfd,args,&Dr); - } - } - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 58 - Jr = J_JiJ(J1,i2,J2); - fprintf(out,"->{%ld,%ld}\n",Jr.l1,Jr.l2); - fflush(out); - Jr.l1 = Jr.l2 = 0; clear_traces(); - { - ffi_type* ffi_type_J_elements[] = { &ffi_type_slong, &ffi_type_slong, NULL }; - ffi_type ffi_type_J; - ffi_type_J.type = FFI_TYPE_STRUCT; - ffi_type_J.size = sizeof(J); - ffi_type_J.alignment = alignof_slot(J); - ffi_type_J.elements = ffi_type_J_elements; - ffi_type* argtypes[] = { &ffi_type_J, &ffi_type_sint, &ffi_type_J }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_J); - { - /*const*/ void* args[] = { &J1, &i2, &J2 }; - FFI_CALL(cif,J_JiJ,args,&Jr); - } - } - fprintf(out,"->{%ld,%ld}\n",Jr.l1,Jr.l2); - fflush(out); -#endif -#ifndef SKIP_EXTRA_STRUCTS -#if (!defined(DGTEST)) || DGTEST == 59 - Tr = T_TcT(T1,' ',T2); - fprintf(out,"->{\"%c%c%c\"}\n",Tr.c[0],Tr.c[1],Tr.c[2]); - fflush(out); - Tr.c[0] = Tr.c[1] = Tr.c[2] = 0; clear_traces(); - { - ffi_type* ffi_type_T_elements[] = { ??, NULL }; - ffi_type ffi_type_T; - ffi_type_T.type = FFI_TYPE_STRUCT; - ffi_type_T.size = sizeof(T); - ffi_type_T.alignment = alignof_slot(T); - ffi_type_T.elements = ffi_type_T_elements; - ffi_type* argtypes[] = { &ffi_type_T, &ffi_type_char, &ffi_type_T }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_T); - { - char space = ' '; - /*const*/ void* args[] = { &T1, &space, &T2 }; - FFI_CALL(cif,T_TcT,args,&Tr); - } - } - fprintf(out,"->{\"%c%c%c\"}\n",Tr.c[0],Tr.c[1],Tr.c[2]); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 60 - Xr = X_BcdB(B1,c2,d3,B2); - fprintf(out,"->{\"%s\",'%c'}\n",Xr.c,Xr.c1); - fflush(out); - Xr.c[0]=Xr.c1='\0'; clear_traces(); - { - ffi_type* ffi_type_X_elements[] = { ??, NULL }; - ffi_type ffi_type_X; - ffi_type_X.type = FFI_TYPE_STRUCT; - ffi_type_X.size = sizeof(X); - ffi_type_X.alignment = alignof_slot(X); - ffi_type_X.elements = ffi_type_X_elements; - ffi_type* argtypes[] = { &ffi_type_X, &ffi_type_char, &ffi_type_double, &ffi_type_X }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_X); - { - /*const*/ void* args[] = { &B1, &c2, &d3, &B2 }; - FFI_CALL(cif,X_BcdB,args,&Xr); - } - } - fprintf(out,"->{\"%s\",'%c'}\n",Xr.c,Xr.c1); - fflush(out); -#endif -#endif - - return; -} - -void - gpargs_boundary_tests (void) -{ - ffi_type* ffi_type_K_elements[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, NULL }; - ffi_type ffi_type_K; - ffi_type* ffi_type_L_elements[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, NULL }; - ffi_type ffi_type_L; - long lr; - long long llr; - float fr; - double dr; - - ffi_type_K.type = FFI_TYPE_STRUCT; - ffi_type_K.size = sizeof(K); - ffi_type_K.alignment = alignof_slot(K); - ffi_type_K.elements = ffi_type_K_elements; - - ffi_type_L.type = FFI_TYPE_STRUCT; - ffi_type_L.size = sizeof(L); - ffi_type_L.alignment = alignof_slot(L); - ffi_type_L.elements = ffi_type_L_elements; - -#if (!defined(DGTEST)) || DGTEST == 61 - lr = l_l0K(K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &K1, &l9 }; - FFI_CALL(cif,l_l0K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 62 - lr = l_l1K(l1,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &l1, &K1, &l9 }; - FFI_CALL(cif,l_l1K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 63 - lr = l_l2K(l1,l2,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &l1, &l2, &K1, &l9 }; - FFI_CALL(cif,l_l2K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 64 - lr = l_l3K(l1,l2,l3,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &K1, &l9 }; - FFI_CALL(cif,l_l3K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 65 - lr = l_l4K(l1,l2,l3,l4,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &K1, &l9 }; - FFI_CALL(cif,l_l4K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 66 - lr = l_l5K(l1,l2,l3,l4,l5,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &K1, &l9 }; - FFI_CALL(cif,l_l5K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 67 - lr = l_l6K(l1,l2,l3,l4,l5,l6,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &l6, &K1, &l9 }; - FFI_CALL(cif,l_l6K,args,&lr); - } - } - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 68 - fr = f_f17l3L(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,l6,l7,l8,L1); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_L }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - { - /*const*/ void* args[] = { &f1, &f2, &f3, &f4, &f5, &f6, &f7, &f8, &f9, &f10, &f11, &f12, &f13, &f14, &f15, &f16, &f17, &l6, &l7, &l8, &L1 }; - FFI_CALL(cif,f_f17l3L,args,&fr); - } - } - fprintf(out,"->%g\n",fr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 69 - dr = d_d17l3L(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,l6,l7,l8,L1); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_L }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &d1, &d2, &d3, &d4, &d5, &d6, &d7, &d8, &d9, &d10, &d11, &d12, &d13, &d14, &d15, &d16, &d17, &l6, &l7, &l8, &L1 }; - FFI_CALL(cif,d_d17l3L,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 70 - llr = ll_l2ll(l1,l2,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &l1, &l2, &ll1, &l9 }; - FFI_CALL(cif,ll_l2ll,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 71 - llr = ll_l3ll(l1,l2,l3,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &ll1, &l9 }; - FFI_CALL(cif,ll_l3ll,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 72 - llr = ll_l4ll(l1,l2,l3,l4,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &ll1, &l9 }; - FFI_CALL(cif,ll_l4ll,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 73 - llr = ll_l5ll(l1,l2,l3,l4,l5,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &ll1, &l9 }; - FFI_CALL(cif,ll_l5ll,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 74 - llr = ll_l6ll(l1,l2,l3,l4,l5,l6,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &l6, &ll1, &l9 }; - FFI_CALL(cif,ll_l6ll,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 75 - llr = ll_l7ll(l1,l2,l3,l4,l5,l6,l7,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &l6, &l7, &ll1, &l9 }; - FFI_CALL(cif,ll_l7ll,args,&llr); - } - } - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 76 - dr = d_l2d(l1,l2,d2,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &l1, &l2, &d2, &l9 }; - FFI_CALL(cif,d_l2d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 77 - dr = d_l3d(l1,l2,l3,d2,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &d2, &l9 }; - FFI_CALL(cif,d_l3d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 78 - dr = d_l4d(l1,l2,l3,l4,d2,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &d2, &l9 }; - FFI_CALL(cif,d_l4d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 79 - dr = d_l5d(l1,l2,l3,l4,l5,d2,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &d2, &l9 }; - FFI_CALL(cif,d_l5d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 80 - dr = d_l6d(l1,l2,l3,l4,l5,l6,d2,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &l6, &d2, &l9 }; - FFI_CALL(cif,d_l6d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif -#if (!defined(DGTEST)) || DGTEST == 81 - dr = d_l7d(l1,l2,l3,l4,l5,l6,l7,d2,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - { - /*const*/ void* args[] = { &l1, &l2, &l3, &l4, &l5, &l6, &l7, &d2, &l9 }; - FFI_CALL(cif,d_l7d,args,&dr); - } - } - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - return; -} - -int - main (void) -{ - ffi_type_char = (char)(-1) < 0 ? ffi_type_schar : ffi_type_uchar; - out = stdout; - - void_tests(); - int_tests(); - float_tests(); - double_tests(); - pointer_tests(); - mixed_number_tests(); - small_structure_return_tests(); - structure_tests(); - gpargs_boundary_tests(); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c deleted file mode 100644 index 0b16799..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +++ /dev/null @@ -1,2885 +0,0 @@ -/* - * Copyright 1993 Bill Triggs - * Copyright 1995-2017 Bruno Haible - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* { dg-do run { xfail gccbug } } */ - -#include -#include -#include -#include -#include "alignof.h" -#include - -/* libffi testsuite local changes -------------------------------- */ -#ifdef DGTEST -/* Redefine exit(1) as a test failure */ -#define exit(V) (void)((V) ? (abort(), 1) : exit(0)) -int count = 0; -char rbuf1[2048]; -char rbuf2[2048]; -int _fprintf(FILE *stream, const char *format, ...) -{ - va_list args; - va_start(args, format); - - switch (count++) - { - case 0: - case 1: - vsprintf(&rbuf1[strlen(rbuf1)], format, args); - break; - case 2: - printf("%s", rbuf1); - vsprintf(rbuf2, format, args); - break; - case 3: - vsprintf(&rbuf2[strlen(rbuf2)], format, args); - printf("%s", rbuf2); - if (strcmp (rbuf1, rbuf2)) abort(); - break; - } - - va_end(args); - - return 0; -} -#define fprintf _fprintf -#endif -/* --------------------------------------------------------------- */ - -#include "testcases.c" - -#ifndef ABI_NUM -#define ABI_NUM FFI_DEFAULT_ABI -#endif - -/* Definitions that ought to be part of libffi. */ -static ffi_type ffi_type_char; -#define ffi_type_slonglong ffi_type_sint64 -#define ffi_type_ulonglong ffi_type_uint64 - -/* libffi does not support arrays inside structs. */ -#define SKIP_EXTRA_STRUCTS - -#define FFI_PREP_CIF(cif,argtypes,rettype) \ - if (ffi_prep_cif(&(cif),ABI_NUM,sizeof(argtypes)/sizeof(argtypes[0]),&rettype,argtypes) != FFI_OK) abort() -#define FFI_PREP_CIF_NOARGS(cif,rettype) \ - if (ffi_prep_cif(&(cif),ABI_NUM,0,&rettype,NULL) != FFI_OK) abort() - -#if defined(__sparc__) && defined(__sun) && defined(__SUNPRO_C) /* SUNWspro cc */ -/* SunPRO cc miscompiles the simulator function for X_BcdB: d.i[1] is - * temporarily stored in %l2 and put onto the stack from %l2, but in between - * the copy of X has used %l2 as a counter without saving and restoring its - * value. - */ -#define SKIP_X -#endif -#if defined(__mipsn32__) && !defined(__GNUC__) -/* The X test crashes for an unknown reason. */ -#define SKIP_X -#endif - - -/* These functions simulate the behaviour of the functions defined in testcases.c. */ - -/* void tests */ -void v_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&v_v) { fprintf(out,"wrong data for v_v\n"); exit(1); } - fprintf(out,"void f(void):\n"); - fflush(out); -} - -/* int tests */ -void i_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&i_v) { fprintf(out,"wrong data for i_v\n"); exit(1); } - {int r=99; - fprintf(out,"int f(void):"); - fflush(out); - *(ffi_arg*)retp = r; -}} -void i_i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&i_i) { fprintf(out,"wrong data for i_i\n"); exit(1); } - int a = *(int*)(*args++); - int r=a+1; - fprintf(out,"int f(int):(%d)",a); - fflush(out); - *(ffi_arg*)retp = r; -} -void i_i2_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&i_i2) { fprintf(out,"wrong data for i_i2\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - int r=a+b; - fprintf(out,"int f(2*int):(%d,%d)",a,b); - fflush(out); - *(ffi_arg*)retp = r; -}} -void i_i4_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&i_i4) { fprintf(out,"wrong data for i_i4\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - int c = *(int*)(*args++); - int d = *(int*)(*args++); - int r=a+b+c+d; - fprintf(out,"int f(4*int):(%d,%d,%d,%d)",a,b,c,d); - fflush(out); - *(ffi_arg*)retp = r; -}} -void i_i8_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&i_i8) { fprintf(out,"wrong data for i_i8\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - int c = *(int*)(*args++); - int d = *(int*)(*args++); - int e = *(int*)(*args++); - int f = *(int*)(*args++); - int g = *(int*)(*args++); - int h = *(int*)(*args++); - int r=a+b+c+d+e+f+g+h; - fprintf(out,"int f(8*int):(%d,%d,%d,%d,%d,%d,%d,%d)",a,b,c,d,e,f,g,h); - fflush(out); - *(ffi_arg*)retp = r; -}} -void i_i16_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&i_i16) { fprintf(out,"wrong data for i_i16\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - int c = *(int*)(*args++); - int d = *(int*)(*args++); - int e = *(int*)(*args++); - int f = *(int*)(*args++); - int g = *(int*)(*args++); - int h = *(int*)(*args++); - int i = *(int*)(*args++); - int j = *(int*)(*args++); - int k = *(int*)(*args++); - int l = *(int*)(*args++); - int m = *(int*)(*args++); - int n = *(int*)(*args++); - int o = *(int*)(*args++); - int p = *(int*)(*args++); - int r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p; - fprintf(out,"int f(16*int):(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)", - a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - fflush(out); - *(ffi_arg*)retp = r; -}} - -/* float tests */ -void f_f_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f) { fprintf(out,"wrong data for f_f\n"); exit(1); } - {float a = *(float*)(*args++); - float r=a+1.0; - fprintf(out,"float f(float):(%g)",a); - fflush(out); - *(float*)retp = r; -}} -void f_f2_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f2) { fprintf(out,"wrong data for f_f2\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float r=a+b; - fprintf(out,"float f(2*float):(%g,%g)",a,b); - fflush(out); - *(float*)retp = r; -}} -void f_f4_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f4) { fprintf(out,"wrong data for f_f4\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float r=a+b+c+d; - fprintf(out,"float f(4*float):(%g,%g,%g,%g)",a,b,c,d); - fflush(out); - *(float*)retp = r; -}} -void f_f8_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f8) { fprintf(out,"wrong data for f_f8\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - float r=a+b+c+d+e+f+g+h; - fprintf(out,"float f(8*float):(%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h); - fflush(out); - *(float*)retp = r; -}} -void f_f16_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f16) { fprintf(out,"wrong data for f_f16\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - float i = *(float*)(*args++); - float j = *(float*)(*args++); - float k = *(float*)(*args++); - float l = *(float*)(*args++); - float m = *(float*)(*args++); - float n = *(float*)(*args++); - float o = *(float*)(*args++); - float p = *(float*)(*args++); - float r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p; - fprintf(out,"float f(16*float):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - fflush(out); - *(float*)retp = r; -}} -void f_f24_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f24) { fprintf(out,"wrong data for f_f24\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - float i = *(float*)(*args++); - float j = *(float*)(*args++); - float k = *(float*)(*args++); - float l = *(float*)(*args++); - float m = *(float*)(*args++); - float n = *(float*)(*args++); - float o = *(float*)(*args++); - float p = *(float*)(*args++); - float q = *(float*)(*args++); - float s = *(float*)(*args++); - float t = *(float*)(*args++); - float u = *(float*)(*args++); - float v = *(float*)(*args++); - float w = *(float*)(*args++); - float x = *(float*)(*args++); - float y = *(float*)(*args++); - float r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+s+t+u+v+w+x+y; - fprintf(out,"float f(24*float):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y); - fflush(out); - *(float*)retp = r; -}} - -/* double tests */ -void d_d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d) { fprintf(out,"wrong data for d_d\n"); exit(1); } - {double a = *(double*)(*args++); - double r=a+1.0; - fprintf(out,"double f(double):(%g)",a); - fflush(out); - *(double*)retp = r; -}} -void d_d2_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d2) { fprintf(out,"wrong data for d_d2\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double r=a+b; - fprintf(out,"double f(2*double):(%g,%g)",a,b); - fflush(out); - *(double*)retp = r; -}} -void d_d4_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d4) { fprintf(out,"wrong data for d_d4\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double r=a+b+c+d; - fprintf(out,"double f(4*double):(%g,%g,%g,%g)",a,b,c,d); - fflush(out); - *(double*)retp = r; -}} -void d_d8_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d8) { fprintf(out,"wrong data for d_d8\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - double h = *(double*)(*args++); - double r=a+b+c+d+e+f+g+h; - fprintf(out,"double f(8*double):(%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h); - fflush(out); - *(double*)retp = r; -}} -void d_d16_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d16) { fprintf(out,"wrong data for d_d16\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - double h = *(double*)(*args++); - double i = *(double*)(*args++); - double j = *(double*)(*args++); - double k = *(double*)(*args++); - double l = *(double*)(*args++); - double m = *(double*)(*args++); - double n = *(double*)(*args++); - double o = *(double*)(*args++); - double p = *(double*)(*args++); - double r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p; - fprintf(out,"double f(16*double):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - fflush(out); - *(double*)retp = r; -}} - -/* pointer tests */ -void vp_vpdpcpsp_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&vp_vpdpcpsp) { fprintf(out,"wrong data for vp_vpdpcpsp\n"); exit(1); } - {void* a = *(void* *)(*args++); - double* b = *(double* *)(*args++); - char* c = *(char* *)(*args++); - Int* d = *(Int* *)(*args++); - void* ret = (char*)b + 1; - fprintf(out,"void* f(void*,double*,char*,Int*):(0x%p,0x%p,0x%p,0x%p)",a,b,c,d); - fflush(out); - *(void* *)retp = ret; -}} - -/* mixed number tests */ -void uc_ucsil_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&uc_ucsil) { fprintf(out,"wrong data for uc_ucsil\n"); exit(1); } - {uchar a = *(unsigned char *)(*args++); - ushort b = *(unsigned short *)(*args++); - uint c = *(unsigned int *)(*args++); - ulong d = *(unsigned long *)(*args++); - uchar r = (uchar)-1; - fprintf(out,"uchar f(uchar,ushort,uint,ulong):(%u,%u,%u,%lu)",a,b,c,d); - fflush(out); - *(ffi_arg *)retp = r; -}} -void d_iidd_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_iidd) { fprintf(out,"wrong data for d_iidd\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double r=a+b+c+d; - fprintf(out,"double f(int,int,double,double):(%d,%d,%g,%g)",a,b,c,d); - fflush(out); - *(double*)retp = r; -}} -void d_iiidi_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_iiidi) { fprintf(out,"wrong data for d_iiidi\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - int c = *(int*)(*args++); - double d = *(double*)(*args++); - int e = *(int*)(*args++); - double r=a+b+c+d+e; - fprintf(out,"double f(int,int,int,double,int):(%d,%d,%d,%g,%d)",a,b,c,d,e); - fflush(out); - *(double*)retp = r; -}} -void d_idid_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_idid) { fprintf(out,"wrong data for d_idid\n"); exit(1); } - {int a = *(int*)(*args++); - double b = *(double*)(*args++); - int c = *(int*)(*args++); - double d = *(double*)(*args++); - double r=a+b+c+d; - fprintf(out,"double f(int,double,int,double):(%d,%g,%d,%g)",a,b,c,d); - fflush(out); - *(double*)retp = r; -}} -void d_fdi_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_fdi) { fprintf(out,"wrong data for d_fdi\n"); exit(1); } - {float a = *(float*)(*args++); - double b = *(double*)(*args++); - int c = *(int*)(*args++); - double r=a+b+c; - fprintf(out,"double f(float,double,int):(%g,%g,%d)",a,b,c); - fflush(out); - *(double*)retp = r; -}} -void us_cdcd_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&us_cdcd) { fprintf(out,"wrong data for us_cdcd\n"); exit(1); } - {char a = *(char*)(*args++); - double b = *(double*)(*args++); - char c = *(char*)(*args++); - double d = *(double*)(*args++); - ushort r = (ushort)(a + b + c + d); - fprintf(out,"ushort f(char,double,char,double):('%c',%g,'%c',%g)",a,b,c,d); - fflush(out); - *(ffi_arg *)retp = r; -}} -void ll_iiilli_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_iiilli) { fprintf(out,"wrong data for ll_iiilli\n"); exit(1); } - {int a = *(int*)(*args++); - int b = *(int*)(*args++); - int c = *(int*)(*args++); - long long d = *(long long *)(*args++); - int e = *(int*)(*args++); - long long r = (long long)(int)a + (long long)(int)b + (long long)(int)c + d + (long long)e; - fprintf(out,"long long f(int,int,int,long long,int):(%d,%d,%d,0x%lx%08lx,%d)",a,b,c,(long)(d>>32),(long)(d&0xffffffff),e); - fflush(out); - *(long long *)retp = r; -}} -void ll_flli_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_flli) { fprintf(out,"wrong data for ll_flli\n"); exit(1); } - {float a = *(float*)(*args++); - long long b = *(long long *)(*args++); - int c = *(int*)(*args++); - long long r = (long long)(int)a + b + (long long)c; - fprintf(out,"long long f(float,long long,int):(%g,0x%lx%08lx,0x%lx)",a,(long)(b>>32),(long)(b&0xffffffff),(long)c); - fflush(out); - *(long long *)retp = r; -}} -void f_fi_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_fi) { fprintf(out,"wrong data for f_fi\n"); exit(1); } - {float a = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+z; - fprintf(out,"float f(float,int):(%g,%d)",a,z); - fflush(out); - *(float*)retp = r; -}} -void f_f2i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f2i) { fprintf(out,"wrong data for f_f2i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+z; - fprintf(out,"float f(2*float,int):(%g,%g,%d)",a,b,z); - fflush(out); - *(float*)retp = r; -}} -void f_f3i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f3i) { fprintf(out,"wrong data for f_f3i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+c+z; - fprintf(out,"float f(3*float,int):(%g,%g,%g,%d)",a,b,c,z); - fflush(out); - *(float*)retp = r; -}} -void f_f4i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f4i) { fprintf(out,"wrong data for f_f4i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+c+d+z; - fprintf(out,"float f(4*float,int):(%g,%g,%g,%g,%d)",a,b,c,d,z); - fflush(out); - *(float*)retp = r; -}} -void f_f7i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f7i) { fprintf(out,"wrong data for f_f7i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+c+d+e+f+g+z; - fprintf(out,"float f(7*float,int):(%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,z); - fflush(out); - *(float*)retp = r; -}} -void f_f8i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f8i) { fprintf(out,"wrong data for f_f8i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+c+d+e+f+g+h+z; - fprintf(out,"float f(8*float,int):(%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,z); - fflush(out); - *(float*)retp = r; -}} -void f_f12i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f12i) { fprintf(out,"wrong data for f_f12i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - float i = *(float*)(*args++); - float j = *(float*)(*args++); - float k = *(float*)(*args++); - float l = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+c+d+e+f+g+h+i+j+k+l+z; - fprintf(out,"float f(12*float,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,z); - fflush(out); - *(float*)retp = r; -}} -void f_f13i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f13i) { fprintf(out,"wrong data for f_f13i\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - float i = *(float*)(*args++); - float j = *(float*)(*args++); - float k = *(float*)(*args++); - float l = *(float*)(*args++); - float m = *(float*)(*args++); - int z = *(int*)(*args++); - float r=a+b+c+d+e+f+g+h+i+j+k+l+m+z; - fprintf(out,"float f(13*float,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,m,z); - fflush(out); - *(float*)retp = r; -}} -void d_di_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_di) { fprintf(out,"wrong data for d_di\n"); exit(1); } - {double a = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+z; - fprintf(out,"double f(double,int):(%g,%d)",a,z); - fflush(out); - *(double*)retp = r; -}} -void d_d2i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d2i) { fprintf(out,"wrong data for d_d2i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+z; - fprintf(out,"double f(2*double,int):(%g,%g,%d)",a,b,z); - fflush(out); - *(double*)retp = r; -}} -void d_d3i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d3i) { fprintf(out,"wrong data for d_d3i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+c+z; - fprintf(out,"double f(3*double,int):(%g,%g,%g,%d)",a,b,c,z); - fflush(out); - *(double*)retp = r; -}} -void d_d4i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d4i) { fprintf(out,"wrong data for d_d4i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+c+d+z; - fprintf(out,"double f(4*double,int):(%g,%g,%g,%g,%d)",a,b,c,d,z); - fflush(out); - *(double*)retp = r; -}} -void d_d7i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d7i) { fprintf(out,"wrong data for d_d7i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+c+d+e+f+g+z; - fprintf(out,"double f(7*double,int):(%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,z); - fflush(out); - *(double*)retp = r; -}} -void d_d8i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d8i) { fprintf(out,"wrong data for d_d8i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - double h = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+c+d+e+f+g+h+z; - fprintf(out,"double f(8*double,int):(%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,z); - fflush(out); - *(double*)retp = r; -}} -void d_d12i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d12i) { fprintf(out,"wrong data for d_d12i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - double h = *(double*)(*args++); - double i = *(double*)(*args++); - double j = *(double*)(*args++); - double k = *(double*)(*args++); - double l = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+c+d+e+f+g+h+i+j+k+l+z; - fprintf(out,"double f(12*double,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,z); - fflush(out); - *(double*)retp = r; -}} -void d_d13i_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d13i) { fprintf(out,"wrong data for d_d13i\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - double h = *(double*)(*args++); - double i = *(double*)(*args++); - double j = *(double*)(*args++); - double k = *(double*)(*args++); - double l = *(double*)(*args++); - double m = *(double*)(*args++); - int z = *(int*)(*args++); - double r=a+b+c+d+e+f+g+h+i+j+k+l+m+z; - fprintf(out,"double f(13*double,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,m,z); - fflush(out); - *(double*)retp = r; -}} - -/* small structure return tests */ -void S1_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S1_v) { fprintf(out,"wrong data for S1_v\n"); exit(1); } - {Size1 r = Size1_1; - fprintf(out,"Size1 f(void):"); - fflush(out); - *(Size1*)retp = r; -}} -void S2_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S2_v) { fprintf(out,"wrong data for S2_v\n"); exit(1); } - {Size2 r = Size2_1; - fprintf(out,"Size2 f(void):"); - fflush(out); - *(Size2*)retp = r; -}} -void S3_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S3_v) { fprintf(out,"wrong data for S3_v\n"); exit(1); } - {Size3 r = Size3_1; - fprintf(out,"Size3 f(void):"); - fflush(out); - *(Size3*)retp = r; -}} -void S4_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S4_v) { fprintf(out,"wrong data for S4_v\n"); exit(1); } - {Size4 r = Size4_1; - fprintf(out,"Size4 f(void):"); - fflush(out); - *(Size4*)retp = r; -}} -void S7_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S7_v) { fprintf(out,"wrong data for S7_v\n"); exit(1); } - {Size7 r = Size7_1; - fprintf(out,"Size7 f(void):"); - fflush(out); - *(Size7*)retp = r; -}} -void S8_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S8_v) { fprintf(out,"wrong data for S8_v\n"); exit(1); } - {Size8 r = Size8_1; - fprintf(out,"Size8 f(void):"); - fflush(out); - *(Size8*)retp = r; -}} -void S12_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S12_v) { fprintf(out,"wrong data for S12_v\n"); exit(1); } - {Size12 r = Size12_1; - fprintf(out,"Size12 f(void):"); - fflush(out); - *(Size12*)retp = r; -}} -void S15_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S15_v) { fprintf(out,"wrong data for S15_v\n"); exit(1); } - {Size15 r = Size15_1; - fprintf(out,"Size15 f(void):"); - fflush(out); - *(Size15*)retp = r; -}} -void S16_v_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&S16_v) { fprintf(out,"wrong data for S16_v\n"); exit(1); } - {Size16 r = Size16_1; - fprintf(out,"Size16 f(void):"); - fflush(out); - *(Size16*)retp = r; -}} - -/* structure tests */ -void I_III_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&I_III) { fprintf(out,"wrong data for I_III\n"); exit(1); } - {Int a = *(Int*)(*args++); - Int b = *(Int*)(*args++); - Int c = *(Int*)(*args++); - Int r; - r.x = a.x + b.x + c.x; - fprintf(out,"Int f(Int,Int,Int):({%d},{%d},{%d})",a.x,b.x,c.x); - fflush(out); - *(Int*)retp = r; -}} -void C_CdC_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&C_CdC) { fprintf(out,"wrong data for C_CdC\n"); exit(1); } - {Char a = *(Char*)(*args++); - double b = *(double*)(*args++); - Char c = *(Char*)(*args++); - Char r; - r.x = (a.x + c.x)/2; - fprintf(out,"Char f(Char,double,Char):({'%c'},%g,{'%c'})",a.x,b,c.x); - fflush(out); - *(Char*)retp = r; -}} -void F_Ffd_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&F_Ffd) { fprintf(out,"wrong data for F_Ffd\n"); exit(1); } - {Float a = *(Float*)(*args++); - float b = *(float*)(*args++); - double c = *(double*)(*args++); - Float r; - r.x = a.x + b + c; - fprintf(out,"Float f(Float,float,double):({%g},%g,%g)",a.x,b,c); - fflush(out); - *(Float*)retp = r; -}} -void D_fDd_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&D_fDd) { fprintf(out,"wrong data for D_fDd\n"); exit(1); } - {float a = *(float*)(*args++); - Double b = *(Double*)(*args++); - double c = *(double*)(*args++); - Double r; - r.x = a + b.x + c; - fprintf(out,"Double f(float,Double,double):(%g,{%g},%g)",a,b.x,c); - fflush(out); - *(Double*)retp = r; -}} -void D_Dfd_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&D_Dfd) { fprintf(out,"wrong data for D_Dfd\n"); exit(1); } - {Double a = *(Double*)(*args++); - float b = *(float*)(*args++); - double c = *(double*)(*args++); - Double r; - r.x = a.x + b + c; - fprintf(out,"Double f(Double,float,double):({%g},%g,%g)",a.x,b,c); - fflush(out); - *(Double*)retp = r; -}} -void J_JiJ_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&J_JiJ) { fprintf(out,"wrong data for J_JiJ\n"); exit(1); } - {J a = *(J*)(*args++); - int b= *(int*)(*args++); - J c = *(J*)(*args++); - J r; - r.l1 = a.l1+c.l1; r.l2 = a.l2+b+c.l2; - fprintf(out,"J f(J,int,J):({%ld,%ld},%d,{%ld,%ld})",a.l1,a.l2,b,c.l1,c.l2); - fflush(out); - *(J*)retp = r; -}} -#ifndef SKIP_EXTRA_STRUCTS -void T_TcT_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&T_TcT) { fprintf(out,"wrong data for T_TcT\n"); exit(1); } - {T a = *(T*)(*args++); - char b = *(char*)(*args++); - T c = *(T*)(*args++); - T r; - r.c[0]='b'; r.c[1]=c.c[1]; r.c[2]=c.c[2]; - fprintf(out,"T f(T,char,T):({\"%c%c%c\"},'%c',{\"%c%c%c\"})",a.c[0],a.c[1],a.c[2],b,c.c[0],c.c[1],c.c[2]); - fflush(out); - *(T*)retp = r; -}} -void X_BcdB_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&X_BcdB) { fprintf(out,"wrong data for X_BcdB\n"); exit(1); } - {B a = *(B*)(*args++); - char b = *(char*)(*args++); - double c = *(double*)(*args++); - B d = *(B*)(*args++); - static X xr={"return val",'R'}; - X r; - r = xr; - r.c1 = b; - fprintf(out,"X f(B,char,double,B):({%g,{%d,%d,%d}},'%c',%g,{%g,{%d,%d,%d}})", - a.d,a.i[0],a.i[1],a.i[2],b,c,d.d,d.i[0],d.i[1],d.i[2]); - fflush(out); - *(X*)retp = r; -}} -#endif - -/* gpargs boundary tests */ -void l_l0K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l0K) { fprintf(out,"wrong data for l_l0K\n"); exit(1); } - {K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(K,long):(%ld,%ld,%ld,%ld,%ld)",b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void l_l1K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l1K) { fprintf(out,"wrong data for l_l1K\n"); exit(1); } - {long a1 = *(long*)(*args++); - K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = a1 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld)",a1,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void l_l2K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l2K) { fprintf(out,"wrong data for l_l2K\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = a1 + a2 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(2*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void l_l3K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l3K) { fprintf(out,"wrong data for l_l3K\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = a1 + a2 + a3 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(3*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void l_l4K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l4K) { fprintf(out,"wrong data for l_l4K\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = a1 + a2 + a3 + a4 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(4*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,a4,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void l_l5K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l5K) { fprintf(out,"wrong data for l_l5K\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = a1 + a2 + a3 + a4 + a5 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(5*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,a4,a5,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void l_l6K_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&l_l6K) { fprintf(out,"wrong data for l_l6K\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - long a6 = *(long*)(*args++); - K b = *(K*)(*args++); - long c = *(long*)(*args++); - long r = a1 + a2 + a3 + a4 + a5 + a6 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(6*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,a4,a5,a6,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - *(ffi_arg*)retp = r; -}} -void f_f17l3L_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&f_f17l3L) { fprintf(out,"wrong data for f_f17l3L\n"); exit(1); } - {float a = *(float*)(*args++); - float b = *(float*)(*args++); - float c = *(float*)(*args++); - float d = *(float*)(*args++); - float e = *(float*)(*args++); - float f = *(float*)(*args++); - float g = *(float*)(*args++); - float h = *(float*)(*args++); - float i = *(float*)(*args++); - float j = *(float*)(*args++); - float k = *(float*)(*args++); - float l = *(float*)(*args++); - float m = *(float*)(*args++); - float n = *(float*)(*args++); - float o = *(float*)(*args++); - float p = *(float*)(*args++); - float q = *(float*)(*args++); - long s = *(long*)(*args++); - long t = *(long*)(*args++); - long u = *(long*)(*args++); - L z = *(L*)(*args++); - float r = a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+s+t+u+z.l1+z.l2+z.l3+z.l4+z.l5+z.l6; - fprintf(out,"float f(17*float,3*int,L):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,z.l1,z.l2,z.l3,z.l4,z.l5,z.l6); - fflush(out); - *(float*)retp = r; -}} -void d_d17l3L_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_d17l3L) { fprintf(out,"wrong data for d_d17l3L\n"); exit(1); } - {double a = *(double*)(*args++); - double b = *(double*)(*args++); - double c = *(double*)(*args++); - double d = *(double*)(*args++); - double e = *(double*)(*args++); - double f = *(double*)(*args++); - double g = *(double*)(*args++); - double h = *(double*)(*args++); - double i = *(double*)(*args++); - double j = *(double*)(*args++); - double k = *(double*)(*args++); - double l = *(double*)(*args++); - double m = *(double*)(*args++); - double n = *(double*)(*args++); - double o = *(double*)(*args++); - double p = *(double*)(*args++); - double q = *(double*)(*args++); - long s = *(long*)(*args++); - long t = *(long*)(*args++); - long u = *(long*)(*args++); - L z = *(L*)(*args++); - double r = a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+s+t+u+z.l1+z.l2+z.l3+z.l4+z.l5+z.l6; - fprintf(out,"double f(17*double,3*int,L):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,z.l1,z.l2,z.l3,z.l4,z.l5,z.l6); - fflush(out); - *(double*)retp = r; -}} -void ll_l2ll_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_l2ll) { fprintf(out,"wrong data for ll_l2ll\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long long b = *(long long *)(*args++); - long c = *(long*)(*args++); - long long r = (long long) (a1 + a2) + b + c; - fprintf(out,"long long f(2*long,long long,long):(%ld,%ld,0x%lx%08lx,%ld)",a1,a2,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - *(long long *)retp = r; -}} -void ll_l3ll_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_l3ll) { fprintf(out,"wrong data for ll_l3ll\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long long b = *(long long *)(*args++); - long c = *(long*)(*args++); - long long r = (long long) (a1 + a2 + a3) + b + c; - fprintf(out,"long long f(3*long,long long,long):(%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - *(long long *)retp = r; -}} -void ll_l4ll_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_l4ll) { fprintf(out,"wrong data for ll_l4ll\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long long b = *(long long *)(*args++); - long c = *(long*)(*args++); - long long r = (long long) (a1 + a2 + a3 + a4) + b + c; - fprintf(out,"long long f(4*long,long long,long):(%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - *(long long *)retp = r; -}} -void ll_l5ll_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_l5ll) { fprintf(out,"wrong data for ll_l5ll\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - long long b = *(long long *)(*args++); - long c = *(long*)(*args++); - long long r = (long long) (a1 + a2 + a3 + a4 + a5) + b + c; - fprintf(out,"long long f(5*long,long long,long):(%ld,%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,a5,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - *(long long *)retp = r; -}} -void ll_l6ll_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_l6ll) { fprintf(out,"wrong data for ll_l6ll\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - long a6 = *(long*)(*args++); - long long b = *(long long *)(*args++); - long c = *(long*)(*args++); - long long r = (long long) (a1 + a2 + a3 + a4 + a5 + a6) + b + c; - fprintf(out,"long long f(6*long,long long,long):(%ld,%ld,%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,a5,a6,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - *(long long *)retp = r; -}} -void ll_l7ll_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&ll_l7ll) { fprintf(out,"wrong data for ll_l7ll\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - long a6 = *(long*)(*args++); - long a7 = *(long*)(*args++); - long long b = *(long long *)(*args++); - long c = *(long*)(*args++); - long long r = (long long) (a1 + a2 + a3 + a4 + a5 + a6 + a7) + b + c; - fprintf(out,"long long f(7*long,long long,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,a5,a6,a7,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - *(long long *)retp = r; -}} -void d_l2d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_l2d) { fprintf(out,"wrong data for d_l2d\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - double b = *(double*)(*args++); - long c = *(long*)(*args++); - double r = (double) (a1 + a2) + b + c; - fprintf(out,"double f(2*long,double,long):(%ld,%ld,%g,%ld)",a1,a2,b,c); - fflush(out); - *(double*)retp = r; -}} -void d_l3d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_l3d) { fprintf(out,"wrong data for d_l3d\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - double b = *(double*)(*args++); - long c = *(long*)(*args++); - double r = (double) (a1 + a2 + a3) + b + c; - fprintf(out,"double f(3*long,double,long):(%ld,%ld,%ld,%g,%ld)",a1,a2,a3,b,c); - fflush(out); - *(double*)retp = r; -}} -void d_l4d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_l4d) { fprintf(out,"wrong data for d_l4d\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - double b = *(double*)(*args++); - long c = *(long*)(*args++); - double r = (double) (a1 + a2 + a3 + a4) + b + c; - fprintf(out,"double f(4*long,double,long):(%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,b,c); - fflush(out); - *(double*)retp = r; -}} -void d_l5d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_l5d) { fprintf(out,"wrong data for d_l5d\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - double b = *(double*)(*args++); - long c = *(long*)(*args++); - double r = (double) (a1 + a2 + a3 + a4 + a5) + b + c; - fprintf(out,"double f(5*long,double,long):(%ld,%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,a5,b,c); - fflush(out); - *(double*)retp = r; -}} -void d_l6d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_l6d) { fprintf(out,"wrong data for d_l6d\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - long a6 = *(long*)(*args++); - double b = *(double*)(*args++); - long c = *(long*)(*args++); - double r = (double) (a1 + a2 + a3 + a4 + a5 + a6) + b + c; - fprintf(out,"double f(6*long,double,long):(%ld,%ld,%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,a5,a6,b,c); - fflush(out); - *(double*)retp = r; -}} -void d_l7d_simulator (ffi_cif* cif, void* retp, /*const*/ void* /*const*/ *args, void* data) -{ - if (data != (void*)&d_l7d) { fprintf(out,"wrong data for d_l7d\n"); exit(1); } - {long a1 = *(long*)(*args++); - long a2 = *(long*)(*args++); - long a3 = *(long*)(*args++); - long a4 = *(long*)(*args++); - long a5 = *(long*)(*args++); - long a6 = *(long*)(*args++); - long a7 = *(long*)(*args++); - double b = *(double*)(*args++); - long c = *(long*)(*args++); - double r = (double) (a1 + a2 + a3 + a4 + a5 + a6 + a7) + b + c; - fprintf(out,"double f(7*long,double,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,a5,a6,a7,b,c); - fflush(out); - *(double*)retp = r; -}} - - -/* - * The way we run these tests - first call the function directly, then - * through vacall() - there is the danger that arguments or results seem - * to be passed correctly, but what we are seeing are in fact the vestiges - * (traces) or the previous call. This may seriously fake the test. - * Avoid this by clearing the registers between the first and the second call. - */ -long clear_traces_i (long a, long b, long c, long d, long e, long f, long g, long h, - long i, long j, long k, long l, long m, long n, long o, long p) -{ return 0; } -float clear_traces_f (float a, float b, float c, float d, float e, float f, float g, - float h, float i, float j, float k, float l, float m, float n, - float o, float p) -{ return 0.0; } -double clear_traces_d (double a, double b, double c, double d, double e, double f, double g, - double h, double i, double j, double k, double l, double m, double n, - double o, double p) -{ return 0.0; } -J clear_traces_J (void) -{ J j; j.l1 = j.l2 = 0; return j; } -void clear_traces (void) -{ clear_traces_i(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); - clear_traces_f(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0); - clear_traces_d(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0); - clear_traces_J(); -} - -int main (void) -{ - void* callback_code; - void* callback_writable; -#define ALLOC_CALLBACK() \ - callback_writable = ffi_closure_alloc(sizeof(ffi_closure),&callback_code); \ - if (!callback_writable) abort() -#define PREP_CALLBACK(cif,simulator,data) \ - if (ffi_prep_closure_loc(callback_writable,&(cif),simulator,data,callback_code) != FFI_OK) abort() -#define FREE_CALLBACK() \ - ffi_closure_free(callback_writable) - - ffi_type_char = (char)(-1) < 0 ? ffi_type_schar : ffi_type_uchar; - out = stdout; - -#if (!defined(DGTEST)) || DGTEST == 1 - /* void tests */ - v_v(); - clear_traces(); - ALLOC_CALLBACK(); - { - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_void); - PREP_CALLBACK(cif,v_v_simulator,(void*)&v_v); - ((void (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); -#endif - - /* int tests */ - { int ir; - -#if (!defined(DGTEST)) || DGTEST == 2 - ir = i_v(); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_sint); - PREP_CALLBACK(cif,i_v_simulator,(void*)&i_v); - ir = ((int (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 3 - ir = i_i(i1); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - PREP_CALLBACK(cif,i_i_simulator,(void*)&i_i); - ir = ((int (ABI_ATTR *) (int)) callback_code) (i1); - } - FREE_CALLBACK(); - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 4 - ir = i_i2(i1,i2); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - PREP_CALLBACK(cif,i_i2_simulator,(void*)&i_i2); - ir = ((int (ABI_ATTR *) (int,int)) callback_code) (i1,i2); - } - FREE_CALLBACK(); - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 5 - ir = i_i4(i1,i2,i3,i4); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - PREP_CALLBACK(cif,i_i4_simulator,(void*)&i_i4); - ir = ((int (ABI_ATTR *) (int,int,int,int)) callback_code) (i1,i2,i3,i4); - } - FREE_CALLBACK(); - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 6 - ir = i_i8(i1,i2,i3,i4,i5,i6,i7,i8); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - PREP_CALLBACK(cif,i_i8_simulator,(void*)&i_i8); - ir = ((int (ABI_ATTR *) (int,int,int,int,int,int,int,int)) callback_code) (i1,i2,i3,i4,i5,i6,i7,i8); - } - FREE_CALLBACK(); - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 7 - ir = i_i16(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16); - fprintf(out,"->%d\n",ir); - fflush(out); - ir = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_sint); - PREP_CALLBACK(cif,i_i16_simulator,(void*)&i_i16); - ir = ((int (ABI_ATTR *) (int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)) callback_code) (i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16); - } - FREE_CALLBACK(); - fprintf(out,"->%d\n",ir); - fflush(out); -#endif - } - - /* float tests */ - { float fr; - -#if (!defined(DGTEST)) || DGTEST == 8 - fr = f_f(f1); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f_simulator,(void*)&f_f); - fr = ((float (ABI_ATTR *) (float)) callback_code) (f1); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 9 - fr = f_f2(f1,f2); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f2_simulator,(void*)&f_f2); - fr = ((float (ABI_ATTR *) (float,float)) callback_code) (f1,f2); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 10 - fr = f_f4(f1,f2,f3,f4); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f4_simulator,(void*)&f_f4); - fr = ((float (ABI_ATTR *) (float,float,float,float)) callback_code) (f1,f2,f3,f4); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 11 - fr = f_f8(f1,f2,f3,f4,f5,f6,f7,f8); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f8_simulator,(void*)&f_f8); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 12 - fr = f_f16(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f16_simulator,(void*)&f_f16); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 13 - fr = f_f24(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f24_simulator,(void*)&f_f24); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - - } - - /* double tests */ - { double dr; - -#if (!defined(DGTEST)) || DGTEST == 14 - dr = d_d(d1); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d_simulator,(void*)&d_d); - dr = ((double (ABI_ATTR *) (double)) callback_code) (d1); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 15 - dr = d_d2(d1,d2); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d2_simulator,(void*)&d_d2); - dr = ((double (ABI_ATTR *) (double,double)) callback_code) (d1,d2); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 16 - dr = d_d4(d1,d2,d3,d4); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d4_simulator,(void*)&d_d4); - dr = ((double (ABI_ATTR *) (double,double,double,double)) callback_code) (d1,d2,d3,d4); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 17 - dr = d_d8(d1,d2,d3,d4,d5,d6,d7,d8); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d8_simulator,(void*)&d_d8); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 18 - dr = d_d16(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d16_simulator,(void*)&d_d16); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - } - - /* pointer tests */ - { void* vpr; - -#if (!defined(DGTEST)) || DGTEST == 19 - vpr = vp_vpdpcpsp(&uc1,&d2,str3,&I4); - fprintf(out,"->0x%p\n",vpr); - fflush(out); - vpr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_pointer, &ffi_type_pointer, &ffi_type_pointer, &ffi_type_pointer }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_pointer); - PREP_CALLBACK(cif,vp_vpdpcpsp_simulator,(void*)&vp_vpdpcpsp); - vpr = ((void* (ABI_ATTR *) (void*,double*,char*,Int*)) callback_code) (&uc1,&d2,str3,&I4); - } - FREE_CALLBACK(); - fprintf(out,"->0x%p\n",vpr); - fflush(out); -#endif - } - - /* mixed number tests */ - { uchar ucr; - ushort usr; - float fr; - double dr; - long long llr; - -#if (!defined(DGTEST)) || DGTEST == 20 - ucr = uc_ucsil(uc1,us2,ui3,ul4); - fprintf(out,"->%u\n",ucr); - fflush(out); - ucr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_uchar, &ffi_type_ushort, &ffi_type_uint, &ffi_type_ulong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_uchar); - PREP_CALLBACK(cif,uc_ucsil_simulator,(void*)&uc_ucsil); - ucr = ((uchar (ABI_ATTR *) (uchar,ushort,uint,ulong)) callback_code) (uc1,us2,ui3,ul4); - } - FREE_CALLBACK(); - fprintf(out,"->%u\n",ucr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 21 - dr = d_iidd(i1,i2,d3,d4); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_iidd_simulator,(void*)&d_iidd); - dr = ((double (ABI_ATTR *) (int,int,double,double)) callback_code) (i1,i2,d3,d4); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 22 - dr = d_iiidi(i1,i2,i3,d4,i5); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_iiidi_simulator,(void*)&d_iiidi); - dr = ((double (ABI_ATTR *) (int,int,int,double,int)) callback_code) (i1,i2,i3,d4,i5); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 23 - dr = d_idid(i1,d2,i3,d4); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_double, &ffi_type_sint, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_idid_simulator,(void*)&d_idid); - dr = ((double (ABI_ATTR *) (int,double,int,double)) callback_code) (i1,d2,i3,d4); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 24 - dr = d_fdi(f1,d2,i3); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_fdi_simulator,(void*)&d_fdi); - dr = ((double (ABI_ATTR *) (float,double,int)) callback_code) (f1,d2,i3); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 25 - usr = us_cdcd(c1,d2,c3,d4); - fprintf(out,"->%u\n",usr); - fflush(out); - usr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_char, &ffi_type_double, &ffi_type_char, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_ushort); - PREP_CALLBACK(cif,us_cdcd_simulator,(void*)&us_cdcd); - usr = ((ushort (ABI_ATTR *) (char,double,char,double)) callback_code) (c1,d2,c3,d4); - } - FREE_CALLBACK(); - fprintf(out,"->%u\n",usr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 26 - llr = ll_iiilli(i1,i2,i3,ll1,i13); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_sint, &ffi_type_sint, &ffi_type_sint, &ffi_type_slonglong, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_iiilli_simulator,(void*)&ll_iiilli); - llr = ((long long (ABI_ATTR *) (int,int,int,long long,int)) callback_code) (i1,i2,i3,ll1,i13); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 27 - llr = ll_flli(f13,ll1,i13); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_slonglong, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_flli_simulator,(void*)&ll_flli); - llr = ((long long (ABI_ATTR *) (float,long long,int)) callback_code) (f13,ll1,i13); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 28 - fr = f_fi(f1,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_fi_simulator,(void*)&f_fi); - fr = ((float (ABI_ATTR *) (float,int)) callback_code) (f1,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 29 - fr = f_f2i(f1,f2,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f2i_simulator,(void*)&f_f2i); - fr = ((float (ABI_ATTR *) (float,float,int)) callback_code) (f1,f2,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 30 - fr = f_f3i(f1,f2,f3,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f3i_simulator,(void*)&f_f3i); - fr = ((float (ABI_ATTR *) (float,float,float,int)) callback_code) (f1,f2,f3,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 31 - fr = f_f4i(f1,f2,f3,f4,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f4i_simulator,(void*)&f_f4i); - fr = ((float (ABI_ATTR *) (float,float,float,float,int)) callback_code) (f1,f2,f3,f4,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 32 - fr = f_f7i(f1,f2,f3,f4,f5,f6,f7,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f7i_simulator,(void*)&f_f7i); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 33 - fr = f_f8i(f1,f2,f3,f4,f5,f6,f7,f8,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f8i_simulator,(void*)&f_f8i); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 34 - fr = f_f13i(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,i9); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f13i_simulator,(void*)&f_f13i); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 35 - dr = d_di(d1,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_di_simulator,(void*)&d_di); - dr = ((double (ABI_ATTR *) (double,int)) callback_code) (d1,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 36 - dr = d_d2i(d1,d2,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d2i_simulator,(void*)&d_d2i); - dr = ((double (ABI_ATTR *) (double,double,int)) callback_code) (d1,d2,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 37 - dr = d_d3i(d1,d2,d3,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d3i_simulator,(void*)&d_d3i); - dr = ((double (ABI_ATTR *) (double,double,double,int)) callback_code) (d1,d2,d3,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 38 - dr = d_d4i(d1,d2,d3,d4,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d4i_simulator,(void*)&d_d4i); - dr = ((double (ABI_ATTR *) (double,double,double,double,int)) callback_code) (d1,d2,d3,d4,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 39 - dr = d_d7i(d1,d2,d3,d4,d5,d6,d7,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d7i_simulator,(void*)&d_d7i); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 40 - dr = d_d8i(d1,d2,d3,d4,d5,d6,d7,d8,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d8i_simulator,(void*)&d_d8i); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 41 - dr = d_d12i(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d12i_simulator,(void*)&d_d12i); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 42 - dr = d_d13i(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,i9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_sint }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d13i_simulator,(void*)&d_d13i); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,i9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - } - - /* small structure return tests */ -#if (!defined(DGTEST)) || DGTEST == 43 - { - Size1 r = S1_v(); - fprintf(out,"->{%c}\n",r.x1); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size1_elements[] = { &ffi_type_char, NULL }; - ffi_type ffi_type_Size1; - ffi_type_Size1.type = FFI_TYPE_STRUCT; - ffi_type_Size1.size = sizeof(Size1); - ffi_type_Size1.alignment = alignof_slot(Size1); - ffi_type_Size1.elements = ffi_type_Size1_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size1); - PREP_CALLBACK(cif,S1_v_simulator,(void*)&S1_v); - r = ((Size1 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c}\n",r.x1); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 44 - { - Size2 r = S2_v(); - fprintf(out,"->{%c%c}\n",r.x1,r.x2); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size2_elements[] = { &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size2; - ffi_type_Size2.type = FFI_TYPE_STRUCT; - ffi_type_Size2.size = sizeof(Size2); - ffi_type_Size2.alignment = alignof_slot(Size2); - ffi_type_Size2.elements = ffi_type_Size2_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size2); - PREP_CALLBACK(cif,S2_v_simulator,(void*)&S2_v); - r = ((Size2 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c}\n",r.x1,r.x2); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 45 - { - Size3 r = S3_v(); - fprintf(out,"->{%c%c%c}\n",r.x1,r.x2,r.x3); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size3_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size3; - ffi_type_Size3.type = FFI_TYPE_STRUCT; - ffi_type_Size3.size = sizeof(Size3); - ffi_type_Size3.alignment = alignof_slot(Size3); - ffi_type_Size3.elements = ffi_type_Size3_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size3); - PREP_CALLBACK(cif,S3_v_simulator,(void*)&S3_v); - r = ((Size3 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c}\n",r.x1,r.x2,r.x3); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 46 - { - Size4 r = S4_v(); - fprintf(out,"->{%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size4_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size4; - ffi_type_Size4.type = FFI_TYPE_STRUCT; - ffi_type_Size4.size = sizeof(Size4); - ffi_type_Size4.alignment = alignof_slot(Size4); - ffi_type_Size4.elements = ffi_type_Size4_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size4); - PREP_CALLBACK(cif,S4_v_simulator,(void*)&S4_v); - r = ((Size4 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 47 - { - Size7 r = S7_v(); - fprintf(out,"->{%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size7_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size7; - ffi_type_Size7.type = FFI_TYPE_STRUCT; - ffi_type_Size7.size = sizeof(Size7); - ffi_type_Size7.alignment = alignof_slot(Size7); - ffi_type_Size7.elements = ffi_type_Size7_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size7); - PREP_CALLBACK(cif,S7_v_simulator,(void*)&S7_v); - r = ((Size7 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 48 - { - Size8 r = S8_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size8_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size8; - ffi_type_Size8.type = FFI_TYPE_STRUCT; - ffi_type_Size8.size = sizeof(Size8); - ffi_type_Size8.alignment = alignof_slot(Size8); - ffi_type_Size8.elements = ffi_type_Size8_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size8); - PREP_CALLBACK(cif,S8_v_simulator,(void*)&S8_v); - r = ((Size8 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 49 - { - Size12 r = S12_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size12_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size12; - ffi_type_Size12.type = FFI_TYPE_STRUCT; - ffi_type_Size12.size = sizeof(Size12); - ffi_type_Size12.alignment = alignof_slot(Size12); - ffi_type_Size12.elements = ffi_type_Size12_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size12); - PREP_CALLBACK(cif,S12_v_simulator,(void*)&S12_v); - r = ((Size12 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 50 - { - Size15 r = S15_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size15_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size15; - ffi_type_Size15.type = FFI_TYPE_STRUCT; - ffi_type_Size15.size = sizeof(Size15); - ffi_type_Size15.alignment = alignof_slot(Size15); - ffi_type_Size15.elements = ffi_type_Size15_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size15); - PREP_CALLBACK(cif,S15_v_simulator,(void*)&S15_v); - r = ((Size15 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15); - fflush(out); - } -#endif - -#if (!defined(DGTEST)) || DGTEST == 51 - { - Size16 r = S16_v(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15,r.x16); - fflush(out); - memset(&r,0,sizeof(r)); clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Size16_elements[] = { &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, &ffi_type_char, NULL }; - ffi_type ffi_type_Size16; - ffi_type_Size16.type = FFI_TYPE_STRUCT; - ffi_type_Size16.size = sizeof(Size16); - ffi_type_Size16.alignment = alignof_slot(Size16); - ffi_type_Size16.elements = ffi_type_Size16_elements; - ffi_cif cif; - FFI_PREP_CIF_NOARGS(cif,ffi_type_Size16); - PREP_CALLBACK(cif,S16_v_simulator,(void*)&S16_v); - r = ((Size16 (ABI_ATTR *) (void)) callback_code) (); - } - FREE_CALLBACK(); - fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15,r.x16); - fflush(out); - } -#endif - - - /* structure tests */ - { Int Ir; - Char Cr; - Float Fr; - Double Dr; - J Jr; -#ifndef SKIP_EXTRA_STRUCTS - T Tr; - X Xr; -#endif - -#if (!defined(DGTEST)) || DGTEST == 52 - Ir = I_III(I1,I2,I3); - fprintf(out,"->{%d}\n",Ir.x); - fflush(out); - Ir.x = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Int_elements[] = { &ffi_type_sint, NULL }; - ffi_type ffi_type_Int; - ffi_type_Int.type = FFI_TYPE_STRUCT; - ffi_type_Int.size = sizeof(Int); - ffi_type_Int.alignment = alignof_slot(Int); - ffi_type_Int.elements = ffi_type_Int_elements; - ffi_type* argtypes[] = { &ffi_type_Int, &ffi_type_Int, &ffi_type_Int }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Int); - PREP_CALLBACK(cif,I_III_simulator,(void*)&I_III); - Ir = ((Int (ABI_ATTR *) (Int,Int,Int)) callback_code) (I1,I2,I3); - } - FREE_CALLBACK(); - fprintf(out,"->{%d}\n",Ir.x); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 53 - Cr = C_CdC(C1,d2,C3); - fprintf(out,"->{'%c'}\n",Cr.x); - fflush(out); - Cr.x = '\0'; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Char_elements[] = { &ffi_type_char, NULL }; - ffi_type ffi_type_Char; - ffi_type_Char.type = FFI_TYPE_STRUCT; - ffi_type_Char.size = sizeof(Char); - ffi_type_Char.alignment = alignof_slot(Char); - ffi_type_Char.elements = ffi_type_Char_elements; - ffi_type* argtypes[] = { &ffi_type_Char, &ffi_type_double, &ffi_type_Char }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Char); - PREP_CALLBACK(cif,C_CdC_simulator,(void*)&C_CdC); - Cr = ((Char (ABI_ATTR *) (Char,double,Char)) callback_code) (C1,d2,C3); - } - FREE_CALLBACK(); - fprintf(out,"->{'%c'}\n",Cr.x); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 54 - Fr = F_Ffd(F1,f2,d3); - fprintf(out,"->{%g}\n",Fr.x); - fflush(out); - Fr.x = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Float_elements[] = { &ffi_type_float, NULL }; - ffi_type ffi_type_Float; - ffi_type_Float.type = FFI_TYPE_STRUCT; - ffi_type_Float.size = sizeof(Float); - ffi_type_Float.alignment = alignof_slot(Float); - ffi_type_Float.elements = ffi_type_Float_elements; - ffi_type* argtypes[] = { &ffi_type_Float, &ffi_type_float, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Float); - PREP_CALLBACK(cif,F_Ffd_simulator,(void*)&F_Ffd); - Fr = ((Float (ABI_ATTR *) (Float,float,double)) callback_code) (F1,f2,d3); - } - FREE_CALLBACK(); - fprintf(out,"->{%g}\n",Fr.x); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 55 - Dr = D_fDd(f1,D2,d3); - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); - Dr.x = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Double_elements[] = { &ffi_type_double, NULL }; - ffi_type ffi_type_Double; - ffi_type_Double.type = FFI_TYPE_STRUCT; - ffi_type_Double.size = sizeof(Double); - ffi_type_Double.alignment = alignof_slot(Double); - ffi_type_Double.elements = ffi_type_Double_elements; - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_Double, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Double); - PREP_CALLBACK(cif,D_fDd_simulator,(void*)&D_fDd); - Dr = ((Double (ABI_ATTR *) (float,Double,double)) callback_code) (f1,D2,d3); - } - FREE_CALLBACK(); - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 56 - Dr = D_Dfd(D1,f2,d3); - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); - Dr.x = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_Double_elements[] = { &ffi_type_double, NULL }; - ffi_type ffi_type_Double; - ffi_type_Double.type = FFI_TYPE_STRUCT; - ffi_type_Double.size = sizeof(Double); - ffi_type_Double.alignment = alignof_slot(Double); - ffi_type_Double.elements = ffi_type_Double_elements; - ffi_type* argtypes[] = { &ffi_type_Double, &ffi_type_float, &ffi_type_double }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_Double); - PREP_CALLBACK(cif,D_Dfd_simulator,(void*)&D_Dfd); - Dr = ((Double (ABI_ATTR *) (Double,float,double)) callback_code) (D1,f2,d3); - } - FREE_CALLBACK(); - fprintf(out,"->{%g}\n",Dr.x); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 57 - Jr = J_JiJ(J1,i2,J2); - fprintf(out,"->{%ld,%ld}\n",Jr.l1,Jr.l2); - fflush(out); - Jr.l1 = Jr.l2 = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_J_elements[] = { &ffi_type_slong, &ffi_type_slong, NULL }; - ffi_type ffi_type_J; - ffi_type_J.type = FFI_TYPE_STRUCT; - ffi_type_J.size = sizeof(J); - ffi_type_J.alignment = alignof_slot(J); - ffi_type_J.elements = ffi_type_J_elements; - ffi_type* argtypes[] = { &ffi_type_J, &ffi_type_sint, &ffi_type_J }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_J); - PREP_CALLBACK(cif,J_JiJ_simulator,(void*)&J_JiJ); - Jr = ((J (ABI_ATTR *) (J,int,J)) callback_code) (J1,i2,J2); - } - FREE_CALLBACK(); - fprintf(out,"->{%ld,%ld}\n",Jr.l1,Jr.l2); - fflush(out); -#endif - -#ifndef SKIP_EXTRA_STRUCTS -#if (!defined(DGTEST)) || DGTEST == 58 - Tr = T_TcT(T1,' ',T2); - fprintf(out,"->{\"%c%c%c\"}\n",Tr.c[0],Tr.c[1],Tr.c[2]); - fflush(out); - Tr.c[0] = Tr.c[1] = Tr.c[2] = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_T_elements[] = { ??, NULL }; - ffi_type ffi_type_T; - ffi_type_T.type = FFI_TYPE_STRUCT; - ffi_type_T.size = sizeof(T); - ffi_type_T.alignment = alignof_slot(T); - ffi_type_T.elements = ffi_type_T_elements; - ffi_type* argtypes[] = { &ffi_type_T, &ffi_type_char, &ffi_type_T }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_T); - PREP_CALLBACK(cif,T_TcT_simulator,(void*)&T_TcT); - Tr = ((T (ABI_ATTR *) (T,char,T)) callback_code) (T1,' ',T2); - } - FREE_CALLBACK(); - fprintf(out,"->{\"%c%c%c\"}\n",Tr.c[0],Tr.c[1],Tr.c[2]); - fflush(out); -#endif - -#ifndef SKIP_X -#if (!defined(DGTEST)) || DGTEST == 59 - Xr = X_BcdB(B1,c2,d3,B2); - fprintf(out,"->{\"%s\",'%c'}\n",Xr.c,Xr.c1); - fflush(out); - Xr.c[0]=Xr.c1='\0'; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* ffi_type_X_elements[] = { ??, NULL }; - ffi_type ffi_type_X; - ffi_type_X.type = FFI_TYPE_STRUCT; - ffi_type_X.size = sizeof(X); - ffi_type_X.alignment = alignof_slot(X); - ffi_type_X.elements = ffi_type_X_elements; - ffi_type* argtypes[] = { &ffi_type_X, &ffi_type_char, &ffi_type_double, &ffi_type_X }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_X); - PREP_CALLBACK(cif,X_BcdB_simulator,(void*)&X_BcdB); - Xr = ((X (ABI_ATTR *) (B,char,double,B)) callback_code) (B1,c2,d3,B2); - } - FREE_CALLBACK(); - fprintf(out,"->{\"%s\",'%c'}\n",Xr.c,Xr.c1); - fflush(out); -#endif -#endif -#endif - } - - - /* gpargs boundary tests */ - { - ffi_type* ffi_type_K_elements[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, NULL }; - ffi_type ffi_type_K; - ffi_type* ffi_type_L_elements[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, NULL }; - ffi_type ffi_type_L; - long lr; - long long llr; - float fr; - double dr; - - ffi_type_K.type = FFI_TYPE_STRUCT; - ffi_type_K.size = sizeof(K); - ffi_type_K.alignment = alignof_slot(K); - ffi_type_K.elements = ffi_type_K_elements; - - ffi_type_L.type = FFI_TYPE_STRUCT; - ffi_type_L.size = sizeof(L); - ffi_type_L.alignment = alignof_slot(L); - ffi_type_L.elements = ffi_type_L_elements; - -#if (!defined(DGTEST)) || DGTEST == 60 - lr = l_l0K(K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l0K_simulator,(void*)l_l0K); - lr = ((long (ABI_ATTR *) (K,long)) callback_code) (K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 61 - lr = l_l1K(l1,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l1K_simulator,(void*)l_l1K); - lr = ((long (ABI_ATTR *) (long,K,long)) callback_code) (l1,K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 62 - lr = l_l2K(l1,l2,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l2K_simulator,(void*)l_l2K); - lr = ((long (ABI_ATTR *) (long,long,K,long)) callback_code) (l1,l2,K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 63 - lr = l_l3K(l1,l2,l3,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l3K_simulator,(void*)l_l3K); - lr = ((long (ABI_ATTR *) (long,long,long,K,long)) callback_code) (l1,l2,l3,K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 64 - lr = l_l4K(l1,l2,l3,l4,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l4K_simulator,(void*)l_l4K); - lr = ((long (ABI_ATTR *) (long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 65 - lr = l_l5K(l1,l2,l3,l4,l5,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l5K_simulator,(void*)l_l5K); - lr = ((long (ABI_ATTR *) (long,long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,l5,K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 66 - lr = l_l6K(l1,l2,l3,l4,l5,l6,K1,l9); - fprintf(out,"->%ld\n",lr); - fflush(out); - lr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_K, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slong); - PREP_CALLBACK(cif,l_l6K_simulator,(void*)l_l6K); - lr = ((long (ABI_ATTR *) (long,long,long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,l5,l6,K1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%ld\n",lr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 67 - fr = f_f17l3L(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,l6,l7,l8,L1); - fprintf(out,"->%g\n",fr); - fflush(out); - fr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_float, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_L }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_float); - PREP_CALLBACK(cif,f_f17l3L_simulator,(void*)&f_f17l3L); - fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,long,long,long,L)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,l6,l7,l8,L1); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",fr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 68 - dr = d_d17l3L(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,l6,l7,l8,L1); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_double, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_L }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_d17l3L_simulator,(void*)&d_d17l3L); - dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,long,long,long,L)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,l6,l7,l8,L1); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 69 - llr = ll_l2ll(l1,l2,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_l2ll_simulator,(void*)ll_l2ll); - llr = ((long long (ABI_ATTR *) (long,long,long long,long)) callback_code) (l1,l2,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 70 - llr = ll_l3ll(l1,l2,l3,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_l3ll_simulator,(void*)ll_l3ll); - llr = ((long long (ABI_ATTR *) (long,long,long,long long,long)) callback_code) (l1,l2,l3,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 71 - llr = ll_l4ll(l1,l2,l3,l4,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_l4ll_simulator,(void*)ll_l4ll); - llr = ((long long (ABI_ATTR *) (long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 72 - llr = ll_l5ll(l1,l2,l3,l4,l5,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_l5ll_simulator,(void*)ll_l5ll); - llr = ((long long (ABI_ATTR *) (long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 73 - llr = ll_l6ll(l1,l2,l3,l4,l5,l6,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_l6ll_simulator,(void*)ll_l6ll); - llr = ((long long (ABI_ATTR *) (long,long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,l6,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 74 - llr = ll_l7ll(l1,l2,l3,l4,l5,l6,l7,ll1,l9); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); - llr = 0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slonglong, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong); - PREP_CALLBACK(cif,ll_l7ll_simulator,(void*)ll_l7ll); - llr = ((long long (ABI_ATTR *) (long,long,long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,l6,l7,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff)); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 75 - dr = d_l2d(l1,l2,ll1,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_l2d_simulator,(void*)d_l2d); - dr = ((double (ABI_ATTR *) (long,long,double,long)) callback_code) (l1,l2,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 76 - dr = d_l3d(l1,l2,l3,ll1,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_l3d_simulator,(void*)d_l3d); - dr = ((double (ABI_ATTR *) (long,long,long,double,long)) callback_code) (l1,l2,l3,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 77 - dr = d_l4d(l1,l2,l3,l4,ll1,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_l4d_simulator,(void*)d_l4d); - dr = ((double (ABI_ATTR *) (long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 78 - dr = d_l5d(l1,l2,l3,l4,l5,ll1,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_l5d_simulator,(void*)d_l5d); - dr = ((double (ABI_ATTR *) (long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 79 - dr = d_l6d(l1,l2,l3,l4,l5,l6,ll1,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_l6d_simulator,(void*)d_l6d); - dr = ((double (ABI_ATTR *) (long,long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,l6,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - -#if (!defined(DGTEST)) || DGTEST == 80 - dr = d_l7d(l1,l2,l3,l4,l5,l6,l7,ll1,l9); - fprintf(out,"->%g\n",dr); - fflush(out); - dr = 0.0; clear_traces(); - ALLOC_CALLBACK(); - { - ffi_type* argtypes[] = { &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_slong, &ffi_type_double, &ffi_type_slong }; - ffi_cif cif; - FFI_PREP_CIF(cif,argtypes,ffi_type_double); - PREP_CALLBACK(cif,d_l7d_simulator,(void*)d_l7d); - dr = ((double (ABI_ATTR *) (long,long,long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,l6,l7,ll1,l9); - } - FREE_CALLBACK(); - fprintf(out,"->%g\n",dr); - fflush(out); -#endif - - } - - exit(0); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c deleted file mode 100644 index 23a6f46..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +++ /dev/null @@ -1,747 +0,0 @@ -/* - * Copyright 1993 Bill Triggs - * Copyright 1995-2017 Bruno Haible - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* This file defines test functions of selected signatures, that exercise - dark corners of the various ABIs. */ - -#include - -FILE* out; - -#define uchar unsigned char -#define ushort unsigned short -#define uint unsigned int -#define ulong unsigned long - -typedef struct { char x; } Char; -typedef struct { short x; } Short; -typedef struct { int x; } Int; -typedef struct { long x; } Long; -typedef struct { float x; } Float; -typedef struct { double x; } Double; -typedef struct { char c; float f; } A; -typedef struct { double d; int i[3]; } B; -typedef struct { long l1; long l2; } J; -typedef struct { long l1; long l2; long l3; long l4; } K; -typedef struct { long l1; long l2; long l3; long l4; long l5; long l6; } L; -typedef struct { char x1; } Size1; -typedef struct { char x1; char x2; } Size2; -typedef struct { char x1; char x2; char x3; } Size3; -typedef struct { char x1; char x2; char x3; char x4; } Size4; -typedef struct { - char x1; char x2; char x3; char x4; char x5; char x6; char x7; -} Size7; -typedef struct { - char x1; char x2; char x3; char x4; char x5; char x6; char x7; char x8; -} Size8; -typedef struct { - char x1; char x2; char x3; char x4; char x5; char x6; char x7; char x8; - char x9; char x10; char x11; char x12; -} Size12; -typedef struct { - char x1; char x2; char x3; char x4; char x5; char x6; char x7; char x8; - char x9; char x10; char x11; char x12; char x13; char x14; char x15; -} Size15; -typedef struct { - char x1; char x2; char x3; char x4; char x5; char x6; char x7; char x8; - char x9; char x10; char x11; char x12; char x13; char x14; char x15; char x16; -} Size16; -typedef struct { char c[3]; } T; -typedef struct { char c[33],c1; } X; - -/* Don't use a number over 127, as some systems use signed chars and - the test case 25 doesn't account for this, resulting in undefined - behavior. See https://github.com/libffi/libffi/issues/598. */ -char c1='a', c2=127, c3=(char)1; - -short s1=32767, s2=(short)32768, s3=3, s4=4, s5=5, s6=6, s7=7, s8=8, s9=9; -int i1=1, i2=2, i3=3, i4=4, i5=5, i6=6, i7=7, i8=8, i9=9, - i10=11, i11=12, i12=13, i13=14, i14=15, i15=16, i16=17; -long l1=1, l2=2, l3=3, l4=4, l5=5, l6=6, l7=7, l8=8, l9=9; -long long ll1 = 3875056143130689530LL; -float f1=0.1f, f2=0.2f, f3=0.3f, f4=0.4f, f5=0.5f, f6=0.6f, f7=0.7f, f8=0.8f, f9=0.9f, - f10=1.1f, f11=1.2f, f12=1.3f, f13=1.4f, f14=1.5f, f15=1.6f, f16=1.7f, f17=1.8f, - f18=1.9f, f19=2.1f, f20=2.2f, f21=2.3f, f22=2.4f, f23=2.5f, f24=2.6f; -double d1=0.1, d2=0.2, d3=0.3, d4=0.4, d5=0.5, d6=0.6, d7=0.7, d8=0.8, d9=0.9, - d10=1.1, d11=1.2, d12=1.3, d13=1.4, d14=1.5, d15=1.6, d16=1.7, d17=1.8; - -uchar uc1='a', uc2=127, uc3=128, uc4=255, uc5=(uchar)-1; -ushort us1=1, us2=2, us3=3, us4=4, us5=5, us6=6, us7=7, us8=8, us9=9; -uint ui1=1, ui2=2, ui3=3, ui4=4, ui5=5, ui6=6, ui7=7, ui8=8, ui9=9; -ulong ul1=1, ul2=2, ul3=3, ul4=4, ul5=5, ul6=6, ul7=7, ul8=8, ul9=9; - -char *str1="hello",str2[]="goodbye",*str3="still here?"; -Char C1={'A'}, C2={'B'}, C3={'C'}, C4={'\377'}, C5={(char)(-1)}; -Short S1={1}, S2={2}, S3={3}, S4={4}, S5={5}, S6={6}, S7={7}, S8={8}, S9={9}; -Int I1={1}, I2={2}, I3={3}, I4={4}, I5={5}, I6={6}, I7={7}, I8={8}, I9={9}; -Float F1={0.1f}, F2={0.2f}, F3={0.3f}, F4={0.4f}, F5={0.5f}, F6={0.6f}, F7={0.7f}, F8={0.8f}, F9={0.9f}; -Double D1={0.1}, D2={0.2}, D3={0.3}, D4={0.4}, D5={0.5}, D6={0.6}, D7={0.7}, D8={0.8}, D9={0.9}; - -A A1={'a',0.1f},A2={'b',0.2f},A3={'\377',0.3f}; -B B1={0.1,{1,2,3}},B2={0.2,{5,4,3}}; -J J1={47,11},J2={73,55}; -K K1={19,69,12,28}; -L L1={561,1105,1729,2465,2821,6601}; /* A002997 */ -Size1 Size1_1={'a'}; -Size2 Size2_1={'a','b'}; -Size3 Size3_1={'a','b','c'}; -Size4 Size4_1={'a','b','c','d'}; -Size7 Size7_1={'a','b','c','d','e','f','g'}; -Size8 Size8_1={'a','b','c','d','e','f','g','h'}; -Size12 Size12_1={'a','b','c','d','e','f','g','h','i','j','k','l'}; -Size15 Size15_1={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o'}; -Size16 Size16_1={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'}; -T T1={{'t','h','e'}},T2={{'f','o','x'}}; -X X1={"abcdefghijklmnopqrstuvwxyzABCDEF",'G'}, X2={"123",'9'}, X3={"return-return-return",'R'}; - -#if defined(__GNUC__) -#define __STDCALL__ __attribute__((stdcall)) -#define __THISCALL__ __attribute__((thiscall)) -#define __FASTCALL__ __attribute__((fastcall)) -#define __MSABI__ __attribute__((ms_abi)) -#else -#define __STDCALL__ __stdcall -#define __THISCALL__ __thiscall -#define __FASTCALL__ __fastcall -#endif - -#ifndef ABI_ATTR -#define ABI_ATTR -#endif - -/* void tests */ -void ABI_ATTR v_v (void) -{ - fprintf(out,"void f(void):\n"); - fflush(out); -} - -/* int tests */ -int ABI_ATTR i_v (void) -{ - int r=99; - fprintf(out,"int f(void):"); - fflush(out); - return r; -} -int ABI_ATTR i_i (int a) -{ - int r=a+1; - fprintf(out,"int f(int):(%d)",a); - fflush(out); - return r; -} -int ABI_ATTR i_i2 (int a, int b) -{ - int r=a+b; - fprintf(out,"int f(2*int):(%d,%d)",a,b); - fflush(out); - return r; -} -int ABI_ATTR i_i4 (int a, int b, int c, int d) -{ - int r=a+b+c+d; - fprintf(out,"int f(4*int):(%d,%d,%d,%d)",a,b,c,d); - fflush(out); - return r; -} -int ABI_ATTR i_i8 (int a, int b, int c, int d, int e, int f, int g, int h) -{ - int r=a+b+c+d+e+f+g+h; - fprintf(out,"int f(8*int):(%d,%d,%d,%d,%d,%d,%d,%d)",a,b,c,d,e,f,g,h); - fflush(out); - return r; -} -int ABI_ATTR i_i16 (int a, int b, int c, int d, int e, int f, int g, int h, - int i, int j, int k, int l, int m, int n, int o, int p) -{ - int r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p; - fprintf(out,"int f(16*int):(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)", - a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - fflush(out); - return r; -} - -/* float tests */ -float ABI_ATTR f_f (float a) -{ - float r=a+1.0f; - fprintf(out,"float f(float):(%g)",a); - fflush(out); - return r; -} -float ABI_ATTR f_f2 (float a, float b) -{ - float r=a+b; - fprintf(out,"float f(2*float):(%g,%g)",a,b); - fflush(out); - return r; -} -float ABI_ATTR f_f4 (float a, float b, float c, float d) -{ - float r=a+b+c+d; - fprintf(out,"float f(4*float):(%g,%g,%g,%g)",a,b,c,d); - fflush(out); - return r; -} -float ABI_ATTR f_f8 (float a, float b, float c, float d, float e, float f, - float g, float h) -{ - float r=a+b+c+d+e+f+g+h; - fprintf(out,"float f(8*float):(%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h); - fflush(out); - return r; -} -float ABI_ATTR f_f16 (float a, float b, float c, float d, float e, float f, float g, float h, - float i, float j, float k, float l, float m, float n, float o, float p) -{ - float r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p; - fprintf(out,"float f(16*float):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - fflush(out); - return r; -} -float ABI_ATTR f_f24 (float a, float b, float c, float d, float e, float f, float g, float h, - float i, float j, float k, float l, float m, float n, float o, float p, - float q, float s, float t, float u, float v, float w, float x, float y) -{ - float r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+s+t+u+v+w+x+y; - fprintf(out,"float f(24*float):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y); - fflush(out); - return r; -} - -/* double tests */ -double ABI_ATTR d_d (double a) -{ - double r=a+1.0; - fprintf(out,"double f(double):(%g)",a); - fflush(out); - return r; -} -double ABI_ATTR d_d2 (double a, double b) -{ - double r=a+b; - fprintf(out,"double f(2*double):(%g,%g)",a,b); - fflush(out); - return r; -} -double ABI_ATTR d_d4 (double a, double b, double c, double d) -{ - double r=a+b+c+d; - fprintf(out,"double f(4*double):(%g,%g,%g,%g)",a,b,c,d); - fflush(out); - return r; -} -double ABI_ATTR d_d8 (double a, double b, double c, double d, double e, double f, - double g, double h) -{ - double r=a+b+c+d+e+f+g+h; - fprintf(out,"double f(8*double):(%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h); - fflush(out); - return r; -} -double ABI_ATTR d_d16 (double a, double b, double c, double d, double e, double f, - double g, double h, double i, double j, double k, double l, - double m, double n, double o, double p) -{ - double r=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p; - fprintf(out,"double f(16*double):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p); - fflush(out); - return r; -} - -/* pointer tests */ -void* ABI_ATTR vp_vpdpcpsp (void* a, double* b, char* c, Int* d) -{ - void* ret = (char*)b + 1; - fprintf(out,"void* f(void*,double*,char*,Int*):(0x%p,0x%p,0x%p,0x%p)",a,b,c,d); - fflush(out); - return ret; -} - -/* mixed number tests */ -uchar ABI_ATTR uc_ucsil (uchar a, ushort b, uint c, ulong d) -{ - uchar r = (uchar)-1; - fprintf(out,"uchar f(uchar,ushort,uint,ulong):(%u,%u,%u,%lu)",a,b,c,d); - fflush(out); - return r; -} -double ABI_ATTR d_iidd (int a, int b, double c, double d) -{ - double r = a+b+c+d; - fprintf(out,"double f(int,int,double,double):(%d,%d,%g,%g)",a,b,c,d); - fflush(out); - return r; -} -double ABI_ATTR d_iiidi (int a, int b, int c, double d, int e) -{ - double r = a+b+c+d+e; - fprintf(out,"double f(int,int,int,double,int):(%d,%d,%d,%g,%d)",a,b,c,d,e); - fflush(out); - return r; -} -double ABI_ATTR d_idid (int a, double b, int c, double d) -{ - double r = a+b+c+d; - fprintf(out,"double f(int,double,int,double):(%d,%g,%d,%g)",a,b,c,d); - fflush(out); - return r; -} -double ABI_ATTR d_fdi (float a, double b, int c) -{ - double r = a+b+c; - fprintf(out,"double f(float,double,int):(%g,%g,%d)",a,b,c); - fflush(out); - return r; -} -ushort ABI_ATTR us_cdcd (char a, double b, char c, double d) -{ - ushort r = (ushort)(a + b + c + d); - fprintf(out,"ushort f(char,double,char,double):('%c',%g,'%c',%g)",a,b,c,d); - fflush(out); - return r; -} - -long long ABI_ATTR ll_iiilli (int a, int b, int c, long long d, int e) -{ - long long r = (long long)(int)a+(long long)(int)b+(long long)(int)c+d+(long long)(int)e; - fprintf(out,"long long f(int,int,int,long long,int):(%d,%d,%d,0x%lx%08lx,%d)",a,b,c,(long)(d>>32),(long)(d&0xffffffff),e); - fflush(out); - return r; -} -long long ABI_ATTR ll_flli (float a, long long b, int c) -{ - long long r = (long long)(int)a + b + (long long)c; - fprintf(out,"long long f(float,long long,int):(%g,0x%lx%08lx,0x%lx)",a,(long)(b>>32),(long)(b&0xffffffff),(long)c); - fflush(out); - return r; -} - -float ABI_ATTR f_fi (float a, int z) -{ - float r = a+z; - fprintf(out,"float f(float,int):(%g,%d)",a,z); - fflush(out); - return r; -} -float ABI_ATTR f_f2i (float a, float b, int z) -{ - float r = a+b+z; - fprintf(out,"float f(2*float,int):(%g,%g,%d)",a,b,z); - fflush(out); - return r; -} -float ABI_ATTR f_f3i (float a, float b, float c, int z) -{ - float r = a+b+c+z; - fprintf(out,"float f(3*float,int):(%g,%g,%g,%d)",a,b,c,z); - fflush(out); - return r; -} -float ABI_ATTR f_f4i (float a, float b, float c, float d, int z) -{ - float r = a+b+c+d+z; - fprintf(out,"float f(4*float,int):(%g,%g,%g,%g,%d)",a,b,c,d,z); - fflush(out); - return r; -} -float ABI_ATTR f_f7i (float a, float b, float c, float d, float e, float f, float g, - int z) -{ - float r = a+b+c+d+e+f+g+z; - fprintf(out,"float f(7*float,int):(%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,z); - fflush(out); - return r; -} -float ABI_ATTR f_f8i (float a, float b, float c, float d, float e, float f, float g, - float h, int z) -{ - float r = a+b+c+d+e+f+g+h+z; - fprintf(out,"float f(8*float,int):(%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,z); - fflush(out); - return r; -} -float ABI_ATTR f_f12i (float a, float b, float c, float d, float e, float f, float g, - float h, float i, float j, float k, float l, int z) -{ - float r = a+b+c+d+e+f+g+h+i+j+k+l+z; - fprintf(out,"float f(12*float,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,z); - fflush(out); - return r; -} -float ABI_ATTR f_f13i (float a, float b, float c, float d, float e, float f, float g, - float h, float i, float j, float k, float l, float m, int z) -{ - float r = a+b+c+d+e+f+g+h+i+j+k+l+m+z; - fprintf(out,"float f(13*float,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,m,z); - fflush(out); - return r; -} - -double ABI_ATTR d_di (double a, int z) -{ - double r = a+z; - fprintf(out,"double f(double,int):(%g,%d)",a,z); - fflush(out); - return r; -} -double ABI_ATTR d_d2i (double a, double b, int z) -{ - double r = a+b+z; - fprintf(out,"double f(2*double,int):(%g,%g,%d)",a,b,z); - fflush(out); - return r; -} -double ABI_ATTR d_d3i (double a, double b, double c, int z) -{ - double r = a+b+c+z; - fprintf(out,"double f(3*double,int):(%g,%g,%g,%d)",a,b,c,z); - fflush(out); - return r; -} -double ABI_ATTR d_d4i (double a, double b, double c, double d, int z) -{ - double r = a+b+c+d+z; - fprintf(out,"double f(4*double,int):(%g,%g,%g,%g,%d)",a,b,c,d,z); - fflush(out); - return r; -} -double ABI_ATTR d_d7i (double a, double b, double c, double d, double e, double f, - double g, int z) -{ - double r = a+b+c+d+e+f+g+z; - fprintf(out,"double f(7*double,int):(%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,z); - fflush(out); - return r; -} -double ABI_ATTR d_d8i (double a, double b, double c, double d, double e, double f, - double g, double h, int z) -{ - double r = a+b+c+d+e+f+g+h+z; - fprintf(out,"double f(8*double,int):(%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,z); - fflush(out); - return r; -} -double ABI_ATTR d_d12i (double a, double b, double c, double d, double e, double f, - double g, double h, double i, double j, double k, double l, - int z) -{ - double r = a+b+c+d+e+f+g+h+i+j+k+l+z; - fprintf(out,"double f(12*double,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,z); - fflush(out); - return r; -} -double ABI_ATTR d_d13i (double a, double b, double c, double d, double e, double f, - double g, double h, double i, double j, double k, double l, - double m, int z) -{ - double r = a+b+c+d+e+f+g+h+i+j+k+l+m+z; - fprintf(out,"double f(13*double,int):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%d)",a,b,c,d,e,f,g,h,i,j,k,l,m,z); - fflush(out); - return r; -} - -/* small structure return tests */ -Size1 ABI_ATTR S1_v (void) -{ - fprintf(out,"Size1 f(void):"); - fflush(out); - return Size1_1; -} -Size2 ABI_ATTR S2_v (void) -{ - fprintf(out,"Size2 f(void):"); - fflush(out); - return Size2_1; -} -Size3 ABI_ATTR S3_v (void) -{ - fprintf(out,"Size3 f(void):"); - fflush(out); - return Size3_1; -} -Size4 ABI_ATTR S4_v (void) -{ - fprintf(out,"Size4 f(void):"); - fflush(out); - return Size4_1; -} -Size7 ABI_ATTR S7_v (void) -{ - fprintf(out,"Size7 f(void):"); - fflush(out); - return Size7_1; -} -Size8 ABI_ATTR S8_v (void) -{ - fprintf(out,"Size8 f(void):"); - fflush(out); - return Size8_1; -} -Size12 ABI_ATTR S12_v (void) -{ - fprintf(out,"Size12 f(void):"); - fflush(out); - return Size12_1; -} -Size15 ABI_ATTR S15_v (void) -{ - fprintf(out,"Size15 f(void):"); - fflush(out); - return Size15_1; -} -Size16 ABI_ATTR S16_v (void) -{ - fprintf(out,"Size16 f(void):"); - fflush(out); - return Size16_1; -} - -/* structure tests */ -Int ABI_ATTR I_III (Int a, Int b, Int c) -{ - Int r; - r.x = a.x + b.x + c.x; - fprintf(out,"Int f(Int,Int,Int):({%d},{%d},{%d})",a.x,b.x,c.x); - fflush(out); - return r; -} -Char ABI_ATTR C_CdC (Char a, double b, Char c) -{ - Char r; - r.x = (a.x + c.x)/2; - fprintf(out,"Char f(Char,double,Char):({'%c'},%g,{'%c'})",a.x,b,c.x); - fflush(out); - return r; -} -Float ABI_ATTR F_Ffd (Float a, float b, double c) -{ - Float r; - r.x = (float) (a.x + b + c); - fprintf(out,"Float f(Float,float,double):({%g},%g,%g)",a.x,b,c); - fflush(out); - return r; -} -Double ABI_ATTR D_fDd (float a, Double b, double c) -{ - Double r; - r.x = a + b.x + c; - fprintf(out,"Double f(float,Double,double):(%g,{%g},%g)",a,b.x,c); - fflush(out); - return r; -} -Double ABI_ATTR D_Dfd (Double a, float b, double c) -{ - Double r; - r.x = a.x + b + c; - fprintf(out,"Double f(Double,float,double):({%g},%g,%g)",a.x,b,c); - fflush(out); - return r; -} -J ABI_ATTR J_JiJ (J a, int b, J c) -{ - J r; - r.l1 = a.l1+c.l1; r.l2 = a.l2+b+c.l2; - fprintf(out,"J f(J,int,J):({%ld,%ld},%d,{%ld,%ld})",a.l1,a.l2,b,c.l1,c.l2); - fflush(out); - return r; -} -T ABI_ATTR T_TcT (T a, char b, T c) -{ - T r; - r.c[0]='b'; r.c[1]=c.c[1]; r.c[2]=c.c[2]; - fprintf(out,"T f(T,char,T):({\"%c%c%c\"},'%c',{\"%c%c%c\"})",a.c[0],a.c[1],a.c[2],b,c.c[0],c.c[1],c.c[2]); - fflush(out); - return r; -} -X ABI_ATTR X_BcdB (B a, char b, double c, B d) -{ - static X xr={"return val",'R'}; - X r; - r = xr; - r.c1 = b; - fprintf(out,"X f(B,char,double,B):({%g,{%d,%d,%d}},'%c',%g,{%g,{%d,%d,%d}})", - a.d,a.i[0],a.i[1],a.i[2],b,c,d.d,d.i[0],d.i[1],d.i[2]); - fflush(out); - return r; -} - -/* Test for cases where some argument (especially structure, 'long long', or - 'double') may be passed partially in general-purpose argument registers - and partially on the stack. Different ABIs pass between 4 and 8 arguments - (or none) in general-purpose argument registers. */ - -long ABI_ATTR l_l0K (K b, long c) -{ - long r = b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(K,long):(%ld,%ld,%ld,%ld,%ld)",b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -long ABI_ATTR l_l1K (long a1, K b, long c) -{ - long r = a1 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld)",a1,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -long ABI_ATTR l_l2K (long a1, long a2, K b, long c) -{ - long r = a1 + a2 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(2*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -long ABI_ATTR l_l3K (long a1, long a2, long a3, K b, long c) -{ - long r = a1 + a2 + a3 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(3*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -long ABI_ATTR l_l4K (long a1, long a2, long a3, long a4, K b, long c) -{ - long r = a1 + a2 + a3 + a4 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(4*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,a4,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -long ABI_ATTR l_l5K (long a1, long a2, long a3, long a4, long a5, K b, long c) -{ - long r = a1 + a2 + a3 + a4 + a5 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(5*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,a4,a5,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -long ABI_ATTR l_l6K (long a1, long a2, long a3, long a4, long a5, long a6, K b, long c) -{ - long r = a1 + a2 + a3 + a4 + a5 + a6 + b.l1 + b.l2 + b.l3 + b.l4 + c; - fprintf(out,"long f(6*long,K,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a1,a2,a3,a4,a5,a6,b.l1,b.l2,b.l3,b.l4,c); - fflush(out); - return r; -} -/* These tests is crafted on the knowledge that for all known ABIs: - * 17 > number of floating-point argument registers, - * 3 < number of general-purpose argument registers < 3 + 6. */ -float ABI_ATTR f_f17l3L (float a, float b, float c, float d, float e, float f, float g, - float h, float i, float j, float k, float l, float m, float n, - float o, float p, float q, - long s, long t, long u, L z) -{ - float r = a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+s+t+u+z.l1+z.l2+z.l3+z.l4+z.l5+z.l6; - fprintf(out,"float f(17*float,3*int,L):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,z.l1,z.l2,z.l3,z.l4,z.l5,z.l6); - fflush(out); - return r; -} -double ABI_ATTR d_d17l3L (double a, double b, double c, double d, double e, double f, - double g, double h, double i, double j, double k, double l, - double m, double n, double o, double p, double q, - long s, long t, long u, L z) -{ - double r = a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+s+t+u+z.l1+z.l2+z.l3+z.l4+z.l5+z.l6; - fprintf(out,"double f(17*double,3*int,L):(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,z.l1,z.l2,z.l3,z.l4,z.l5,z.l6); - fflush(out); - return r; -} - -long long ABI_ATTR ll_l2ll (long a1, long a2, long long b, long c) -{ - long long r = (long long) (a1 + a2) + b + c; - fprintf(out,"long long f(2*long,long long,long):(%ld,%ld,0x%lx%08lx,%ld)",a1,a2,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - return r; -} -long long ABI_ATTR ll_l3ll (long a1, long a2, long a3, long long b, long c) -{ - long long r = (long long) (a1 + a2 + a3) + b + c; - fprintf(out,"long long f(3*long,long long,long):(%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - return r; -} -long long ABI_ATTR ll_l4ll (long a1, long a2, long a3, long a4, long long b, long c) -{ - long long r = (long long) (a1 + a2 + a3 + a4) + b + c; - fprintf(out,"long long f(4*long,long long,long):(%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - return r; -} -long long ABI_ATTR ll_l5ll (long a1, long a2, long a3, long a4, long a5, long long b, long c) -{ - long long r = (long long) (a1 + a2 + a3 + a4 + a5) + b + c; - fprintf(out,"long long f(5*long,long long,long):(%ld,%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,a5,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - return r; -} -long long ABI_ATTR ll_l6ll (long a1, long a2, long a3, long a4, long a5, long a6, long long b, long c) -{ - long long r = (long long) (a1 + a2 + a3 + a4 + a5 + a6) + b + c; - fprintf(out,"long long f(6*long,long long,long):(%ld,%ld,%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,a5,a6,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - return r; -} -long long ABI_ATTR ll_l7ll (long a1, long a2, long a3, long a4, long a5, long a6, long a7, long long b, long c) -{ - long long r = (long long) (a1 + a2 + a3 + a4 + a5 + a6 + a7) + b + c; - fprintf(out,"long long f(7*long,long long,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,0x%lx%08lx,%ld)",a1,a2,a3,a4,a5,a6,a7,(long)(b>>32),(long)(b&0xffffffff),c); - fflush(out); - return r; -} - -double ABI_ATTR d_l2d (long a1, long a2, double b, long c) -{ - double r = (double) (a1 + a2) + b + c; - fprintf(out,"double f(2*long,double,long):(%ld,%ld,%g,%ld)",a1,a2,b,c); - fflush(out); - return r; -} -double ABI_ATTR d_l3d (long a1, long a2, long a3, double b, long c) -{ - double r = (double) (a1 + a2 + a3) + b + c; - fprintf(out,"double f(3*long,double,long):(%ld,%ld,%ld,%g,%ld)",a1,a2,a3,b,c); - fflush(out); - return r; -} -double ABI_ATTR d_l4d (long a1, long a2, long a3, long a4, double b, long c) -{ - double r = (double) (a1 + a2 + a3 + a4) + b + c; - fprintf(out,"double f(4*long,double,long):(%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,b,c); - fflush(out); - return r; -} -double ABI_ATTR d_l5d (long a1, long a2, long a3, long a4, long a5, double b, long c) -{ - double r = (double) (a1 + a2 + a3 + a4 + a5) + b + c; - fprintf(out,"double f(5*long,double,long):(%ld,%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,a5,b,c); - fflush(out); - return r; -} -double ABI_ATTR d_l6d (long a1, long a2, long a3, long a4, long a5, long a6, double b, long c) -{ - double r = (double) (a1 + a2 + a3 + a4 + a5 + a6) + b + c; - fprintf(out,"double f(6*long,double,long):(%ld,%ld,%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,a5,a6,b,c); - fflush(out); - return r; -} -double ABI_ATTR d_l7d (long a1, long a2, long a3, long a4, long a5, long a6, long a7, double b, long c) -{ - double r = (double) (a1 + a2 + a3 + a4 + a5 + a6 + a7) + b + c; - fprintf(out,"double f(7*long,double,long):(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%g,%ld)",a1,a2,a3,a4,a5,a6,a7,b,c); - fflush(out); - return r; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c deleted file mode 100644 index 5d4959c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Area: ffi_call - Purpose: Check for proper argument alignment. - Limitations: none. - PR: none. - Originator: (from many_win32.c) */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static float ABI_ATTR align_arguments(int i1, - double f2, - int i3, - double f4) -{ - return i1+f2+i3+f4; -} - -int main(void) -{ - ffi_cif cif; - ffi_type *args[4] = { - &ffi_type_sint, - &ffi_type_double, - &ffi_type_sint, - &ffi_type_double - }; - double fa[2] = {1,2}; - int ia[2] = {1,2}; - void *values[4] = {&ia[0], &fa[0], &ia[1], &fa[1]}; - float f, ff; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 4, - &ffi_type_float, args) == FFI_OK); - - ff = align_arguments(ia[0], fa[0], ia[1], fa[1]); - - ffi_call(&cif, FFI_FN(align_arguments), &f, values); - - if (f == ff) - printf("align arguments tests ok!\n"); - else - CHECK(0); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c deleted file mode 100644 index 5e5cb86..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Area: ffi_call - Purpose: Check for proper argument alignment. - Limitations: none. - PR: none. - Originator: (from many_win32.c) */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static float ABI_ATTR align_arguments(int i1, - double f2, - int i3, - double f4) -{ - return i1+f2+i3+f4; -} - -int main(void) -{ - ffi_cif cif; - ffi_type *args[4] = { - &ffi_type_sint, - &ffi_type_double, - &ffi_type_sint, - &ffi_type_double - }; - double fa[2] = {1,2}; - int ia[2] = {1,2}; - void *values[4] = {&ia[0], &fa[0], &ia[1], &fa[1]}; - float f, ff; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 4, - &ffi_type_float, args) == FFI_OK); - - ff = align_arguments(ia[0], fa[0], ia[1], fa[1]);; - - ffi_call(&cif, FFI_FN(align_arguments), &f, values); - - if (f == ff) - printf("align arguments tests ok!\n"); - else - CHECK(0); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c deleted file mode 100644 index 294bda0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Area: bpo-38748 - Purpose: test for stdcall alignment problem - Source: github.com/python/cpython/pull/26204 */ - -/* { dg-do run } */ - -#include "ffitest.h" -#include "ffi_common.h" - -static UINT32 ABI_ATTR align_arguments(UINT32 l1, - UINT64 l2) -{ - return l1 + (UINT32) l2; -} - -int main(void) -{ - ffi_cif cif; - ffi_type *args[4] = { - &ffi_type_uint32, - &ffi_type_uint64 - }; - ffi_arg lr1, lr2; - UINT32 l1 = 1; - UINT64 l2 = 2; - void *values[2] = {&l1, &l2}; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 2, - &ffi_type_uint32, args) == FFI_OK); - - lr1 = align_arguments(l1, l2); - - ffi_call(&cif, FFI_FN(align_arguments), &lr2, values); - - if (lr1 == lr2) - printf("bpo-38748 arguments tests ok!\n"); - else - CHECK(0); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/call.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/call.exp deleted file mode 100644 index 13ba2bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (C) 2003, 2006, 2009, 2010, 2014 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# . - -dg-init -libffi-init - -global srcdir subdir - -if { [string match $compiler_vendor "microsoft"] } { - # -wd4005 macro redefinition - # -wd4244 implicit conversion to type of smaller size - # -wd4305 truncation to smaller type - # -wd4477 printf %lu of uintptr_t - # -wd4312 implicit conversion to type of greater size - # -wd4311 pointer truncation to unsigned long - # -EHsc C++ Exception Handling (no SEH exceptions) - set additional_options "-wd4005 -wd4244 -wd4305 -wd4477 -wd4312 -wd4311 -EHsc"; -} else { - set additional_options ""; -} - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.c]] - -run-many-tests $tlist $additional_options - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.cc]] - -# No C++ for or1k -if { [istarget "or1k-*-*"] } { - foreach test $tlist { - unsupported "$test" - } -} else { - run-many-tests $tlist $additional_options -} - -dg-finish - -# Local Variables: -# tcl-indent-level:4 -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c deleted file mode 100644 index bf60161..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Area: ffi_prep_cif - Purpose: Test error return for bad typedefs. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/6/2007 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -int main (void) -{ - ffi_cif cif; - ffi_type* arg_types[1]; - - ffi_type badType = ffi_type_void; - - arg_types[0] = NULL; - - badType.size = 0; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &badType, - arg_types) == FFI_BAD_TYPEDEF); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h deleted file mode 100644 index 8bd8a3c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +++ /dev/null @@ -1,163 +0,0 @@ -#include -#include -#include -#include -#include -#include "fficonfig.h" - -#include -#include - -#if defined HAVE_STDINT_H -#include -#endif - -#if defined HAVE_INTTYPES_H -#include -#endif - -#define MAX_ARGS 256 - -#define CHECK(x) \ - do { \ - if(!(x)){ \ - printf("Check failed:\n%s\n", #x); \ - abort(); \ - } \ - } while(0) - -#define CHECK_FLOAT_EQ(x, y) \ - do { \ - if(fabs((x) - (y)) > FLT_EPSILON){ \ - printf("Check failed CHECK_FLOAT_EQ(%s, %s)\n", #x, #y); \ - abort(); \ - } \ - } while(0) - -#define CHECK_DOUBLE_EQ(x, y) \ - do { \ - if(fabs((x) - (y)) > DBL_EPSILON){ \ - printf("Check failed CHECK_FLOAT_EQ(%s, %s)\n", #x, #y); \ - abort(); \ - } \ - } while(0) - -/* Define macros so that compilers other than gcc can run the tests. */ -#undef __UNUSED__ -#if defined(__GNUC__) -#define __UNUSED__ __attribute__((__unused__)) -#define __STDCALL__ __attribute__((stdcall)) -#define __THISCALL__ __attribute__((thiscall)) -#define __FASTCALL__ __attribute__((fastcall)) -#define __MSABI__ __attribute__((ms_abi)) -#else -#define __UNUSED__ -#define __STDCALL__ __stdcall -#define __THISCALL__ __thiscall -#define __FASTCALL__ __fastcall -#endif - -#ifndef ABI_NUM -#define ABI_NUM FFI_DEFAULT_ABI -#define ABI_ATTR -#endif - -/* Prefer MAP_ANON(YMOUS) to /dev/zero, since we don't need to keep a - file open. */ -#ifdef HAVE_MMAP_ANON -# undef HAVE_MMAP_DEV_ZERO - -# include -# ifndef MAP_FAILED -# define MAP_FAILED -1 -# endif -# if !defined (MAP_ANONYMOUS) && defined (MAP_ANON) -# define MAP_ANONYMOUS MAP_ANON -# endif -# define USING_MMAP - -#endif - -#ifdef HAVE_MMAP_DEV_ZERO - -# include -# ifndef MAP_FAILED -# define MAP_FAILED -1 -# endif -# define USING_MMAP - -#endif - -/* msvc kludge. */ -#if defined(_MSC_VER) -#define PRIdLL "I64d" -#define PRIuLL "I64u" -#else -#define PRIdLL "lld" -#define PRIuLL "llu" -#endif - -/* Tru64 UNIX kludge. */ -#if defined(__alpha__) && defined(__osf__) -/* Tru64 UNIX V4.0 doesn't support %lld/%lld, but long is 64-bit. */ -#undef PRIdLL -#define PRIdLL "ld" -#undef PRIuLL -#define PRIuLL "lu" -#define PRId8 "hd" -#define PRIu8 "hu" -#define PRId64 "ld" -#define PRIu64 "lu" -#define PRIuPTR "lu" -#endif - -/* PA HP-UX kludge. */ -#if defined(__hppa__) && defined(__hpux__) && !defined(PRIuPTR) -#define PRIuPTR "lu" -#endif - -/* IRIX kludge. */ -#if defined(__sgi) -/* IRIX 6.5 provides all definitions, but only for C99 - compilations. */ -#define PRId8 "hhd" -#define PRIu8 "hhu" -#if (_MIPS_SZLONG == 32) -#define PRId64 "lld" -#define PRIu64 "llu" -#endif -/* This doesn't match , which always has "lld" here, but the - arguments are uint64_t, int64_t, which are unsigned long, long for - 64-bit in . */ -#if (_MIPS_SZLONG == 64) -#define PRId64 "ld" -#define PRIu64 "lu" -#endif -/* This doesn't match , which has "u" here, but the arguments - are uintptr_t, which is always unsigned long. */ -#define PRIuPTR "lu" -#endif - -/* Solaris < 10 kludge. */ -#if defined(__sun__) && defined(__svr4__) && !defined(PRIuPTR) -#if defined(__arch64__) || defined (__x86_64__) -#define PRIuPTR "lu" -#else -#define PRIuPTR "u" -#endif -#endif - -/* MSVC kludge. */ -#if defined _MSC_VER -#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) -#define PRIuPTR "lu" -#define PRIu8 "u" -#define PRId8 "d" -#define PRIu64 "I64u" -#define PRId64 "I64d" -#endif -#endif - -#ifndef PRIuPTR -#define PRIuPTR "u" -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float.c deleted file mode 100644 index fbc272d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value float. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static int floating(int a, float b, double c, long double d) -{ - int i; - - i = (int) ((float)a/b + ((float)c/(float)d)); - - return i; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - - float f; - signed int si1; - double d; - long double ld; - - args[0] = &ffi_type_sint; - values[0] = &si1; - args[1] = &ffi_type_float; - values[1] = &f; - args[2] = &ffi_type_double; - values[2] = &d; - args[3] = &ffi_type_longdouble; - values[3] = &ld; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_sint, args) == FFI_OK); - - si1 = 6; - f = 3.14159; - d = (double)1.0/(double)3.0; - ld = 2.71828182846L; - - floating (si1, f, d, ld); - - ffi_call(&cif, FFI_FN(floating), &rint, values); - - printf ("%d vs %d\n", (int)rint, floating (si1, f, d, ld)); - - CHECK((int)rint == floating(si1, f, d, ld)); - - exit (0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float1.c deleted file mode 100644 index c48493c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value double. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -#include "float.h" - -#include - -typedef union -{ - double d; - unsigned char c[sizeof (double)]; -} value_type; - -#define CANARY 0xba - -static double dblit(float f) -{ - return f/3.0; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - float f; - value_type result[2]; - unsigned int i; - - args[0] = &ffi_type_float; - values[0] = &f; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_double, args) == FFI_OK); - - f = 3.14159; - - /* Put a canary in the return array. This is a regression test for - a buffer overrun. */ - memset(result[1].c, CANARY, sizeof (double)); - - ffi_call(&cif, FFI_FN(dblit), &result[0].d, values); - - /* These are not always the same!! Check for a reasonable delta */ - - CHECK(fabs(result[0].d - dblit(f)) < DBL_EPSILON); - - /* Check the canary. */ - for (i = 0; i < sizeof (double); ++i) - CHECK(result[1].c[i] == CANARY); - - exit(0); - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float2.c deleted file mode 100644 index 57cd9e3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value long double. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ -/* { dg-do run } */ - -#include "ffitest.h" -#include "float.h" - -#include - -static long double ldblit(float f) -{ - return (long double) (((long double) f)/ (long double) 3.0); -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - float f; - long double ld; - long double original; - - args[0] = &ffi_type_float; - values[0] = &f; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_longdouble, args) == FFI_OK); - - f = 3.14159; - -#if defined(__sun) && defined(__GNUC__) - /* long double support under SunOS/gcc is pretty much non-existent. - You'll get the odd bus error in library routines like printf() */ -#else - printf ("%Lf\n", ldblit(f)); -#endif - - ld = 666; - ffi_call(&cif, FFI_FN(ldblit), &ld, values); - -#if defined(__sun) && defined(__GNUC__) - /* long double support under SunOS/gcc is pretty much non-existent. - You'll get the odd bus error in library routines like printf() */ -#else - printf ("%Lf, %Lf, %Lf, %Lf\n", ld, ldblit(f), ld - ldblit(f), LDBL_EPSILON); -#endif - - /* These are not always the same!! Check for a reasonable delta */ - original = ldblit(f); - if (((ld > original) ? (ld - original) : (original - ld)) < LDBL_EPSILON) - puts("long double return value tests ok!"); - else - CHECK(0); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float3.c deleted file mode 100644 index bab3206..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +++ /dev/null @@ -1,74 +0,0 @@ -/* Area: ffi_call - Purpose: Check float arguments with different orders. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ - -#include "ffitest.h" -#include "float.h" - -#include - -static double floating_1(float a, double b, long double c) -{ - return (double) a + b + (double) c; -} - -static double floating_2(long double a, double b, float c) -{ - return (double) a + b + (double) c; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - double rd; - - float f; - double d; - long double ld; - - args[0] = &ffi_type_float; - values[0] = &f; - args[1] = &ffi_type_double; - values[1] = &d; - args[2] = &ffi_type_longdouble; - values[2] = &ld; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_double, args) == FFI_OK); - - f = 3.14159; - d = (double)1.0/(double)3.0; - ld = 2.71828182846L; - - floating_1 (f, d, ld); - - ffi_call(&cif, FFI_FN(floating_1), &rd, values); - - CHECK(fabs(rd - floating_1(f, d, ld)) < DBL_EPSILON); - - args[0] = &ffi_type_longdouble; - values[0] = &ld; - args[1] = &ffi_type_double; - values[1] = &d; - args[2] = &ffi_type_float; - values[2] = &f; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_double, args) == FFI_OK); - - floating_2 (ld, d, f); - - ffi_call(&cif, FFI_FN(floating_2), &rd, values); - - CHECK(fabs(rd - floating_2(ld, d, f)) < DBL_EPSILON); - - exit (0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float4.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float4.c deleted file mode 100644 index 0dd6d85..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Area: ffi_call - Purpose: Check denorm double value. - Limitations: none. - PR: PR26483. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -/* { dg-options "-mieee" { target alpha*-*-* } } */ - -#include "ffitest.h" -#include "float.h" - -typedef union -{ - double d; - unsigned char c[sizeof (double)]; -} value_type; - -#define CANARY 0xba - -static double dblit(double d) -{ - return d; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - double d; - value_type result[2]; - unsigned int i; - - args[0] = &ffi_type_double; - values[0] = &d; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_double, args) == FFI_OK); - - d = DBL_MIN / 2; - - /* Put a canary in the return array. This is a regression test for - a buffer overrun. */ - memset(result[1].c, CANARY, sizeof (double)); - - ffi_call(&cif, FFI_FN(dblit), &result[0].d, values); - - /* The standard delta check doesn't work for denorms. Since we didn't do - any arithmetic, we should get the original result back, and hence an - exact check should be OK here. */ - - CHECK(result[0].d == dblit(d)); - - /* Check the canary. */ - for (i = 0; i < sizeof (double); ++i) - CHECK(result[1].c[i] == CANARY); - - exit(0); - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c deleted file mode 100644 index d01d9d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +++ /dev/null @@ -1,110 +0,0 @@ -/* Area: fp and variadics - Purpose: check fp inputs and returns work on variadics, even the fixed params - Limitations: None - PR: none - Originator: 2011-01-25 - - Intended to stress the difference in ABI on ARM vfp -*/ - -/* { dg-do run } */ - -#include - -#include "ffitest.h" - -/* prints out all the parameters, and returns the sum of them all. - * 'x' is the number of variadic parameters all of which are double in this test - */ -double float_va_fn(unsigned int x, double y,...) -{ - double total=0.0; - va_list ap; - unsigned int i; - - total+=(double)x; - total+=y; - - printf("%u: %.1f :", x, y); - - va_start(ap, y); - for(i=0;i -#include -#include - -static float ABI_ATTR many(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10, float f11, float f12, float f13) -{ -#if 0 - printf("%f %f %f %f %f %f %f %f %f %f %f %f %f\n", - (double) f1, (double) f2, (double) f3, (double) f4, (double) f5, - (double) f6, (double) f7, (double) f8, (double) f9, (double) f10, - (double) f11, (double) f12, (double) f13); -#endif - - return f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[13]; - void *values[13]; - float fa[13]; - float f, ff; - int i; - - for (i = 0; i < 13; i++) - { - args[i] = &ffi_type_float; - values[i] = &fa[i]; - fa[i] = (float) i; - } - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 13, - &ffi_type_float, args) == FFI_OK); - - ffi_call(&cif, FFI_FN(many), &f, values); - - ff = many(fa[0], fa[1], - fa[2], fa[3], - fa[4], fa[5], - fa[6], fa[7], - fa[8], fa[9], - fa[10],fa[11],fa[12]); - - if (fabs(f - ff) < FLT_EPSILON) - exit(0); - else - abort(); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many2.c deleted file mode 100644 index 1c85746..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Area: ffi_call - Purpose: Check uint8_t arguments. - Limitations: none. - PR: PR45677. - Originator: Dan Witte 20100916 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -#define NARGS 7 - -typedef unsigned char u8; - -#ifdef __GNUC__ -__attribute__((noinline)) -#endif -uint8_t -foo (uint8_t a, uint8_t b, uint8_t c, uint8_t d, - uint8_t e, uint8_t f, uint8_t g) -{ - return a + b + c + d + e + f + g; -} - -uint8_t ABI_ATTR -bar (uint8_t a, uint8_t b, uint8_t c, uint8_t d, - uint8_t e, uint8_t f, uint8_t g) -{ - return foo (a, b, c, d, e, f, g); -} - -int -main (void) -{ - ffi_type *ffitypes[NARGS]; - int i; - ffi_cif cif; - ffi_arg result = 0; - uint8_t args[NARGS]; - void *argptrs[NARGS]; - - for (i = 0; i < NARGS; ++i) - ffitypes[i] = &ffi_type_uint8; - - CHECK (ffi_prep_cif (&cif, ABI_NUM, NARGS, - &ffi_type_uint8, ffitypes) == FFI_OK); - - for (i = 0; i < NARGS; ++i) - { - args[i] = i; - argptrs[i] = &args[i]; - } - ffi_call (&cif, FFI_FN (bar), &result, argptrs); - - CHECK (result == 21); - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c deleted file mode 100644 index 4ef8c8a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value double, with many arguments - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -#include -#include -#include - -static double many(double f1, - double f2, - double f3, - double f4, - double f5, - double f6, - double f7, - double f8, - double f9, - double f10, - double f11, - double f12, - double f13) -{ -#if 0 - printf("%f %f %f %f %f %f %f %f %f %f %f %f %f\n", - (double) f1, (double) f2, (double) f3, (double) f4, (double) f5, - (double) f6, (double) f7, (double) f8, (double) f9, (double) f10, - (double) f11, (double) f12, (double) f13); -#endif - - return ((f1/f2+f3/f4+f5/f6+f7/f8+f9/f10+f11/f12) * f13); -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[13]; - void *values[13]; - double fa[13]; - double f, ff; - int i; - - for (i = 0; i < 13; i++) - { - args[i] = &ffi_type_double; - values[i] = &fa[i]; - fa[i] = (double) i; - } - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 13, - &ffi_type_double, args) == FFI_OK); - - ffi_call(&cif, FFI_FN(many), &f, values); - - ff = many(fa[0], fa[1], - fa[2], fa[3], - fa[4], fa[5], - fa[6], fa[7], - fa[8], fa[9], - fa[10],fa[11],fa[12]); - if (fabs(f - ff) < FLT_EPSILON) - exit(0); - else - abort(); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c deleted file mode 100644 index 85ec36e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value double, with many arguments - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -#include -#include -#include - -static double many(double f1, - double f2, - long int i1, - double f3, - double f4, - long int i2, - double f5, - double f6, - long int i3, - double f7, - double f8, - long int i4, - double f9, - double f10, - long int i5, - double f11, - double f12, - long int i6, - double f13) -{ - return ((double) (i1 + i2 + i3 + i4 + i5 + i6) + (f1/f2+f3/f4+f5/f6+f7/f8+f9/f10+f11/f12) * f13); -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[19]; - void *values[19]; - double fa[19]; - long int la[19]; - double f, ff; - int i; - - for (i = 0; i < 19; i++) - { - if( (i - 2) % 3 == 0) { - args[i] = &ffi_type_slong; - la[i] = (long int) i; - values[i] = &la[i]; - } - else { - args[i] = &ffi_type_double; - fa[i] = (double) i; - values[i] = &fa[i]; - } - } - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 19, - &ffi_type_double, args) == FFI_OK); - - ffi_call(&cif, FFI_FN(many), &f, values); - - ff = many(fa[0], fa[1], la[2], - fa[3], fa[4], la[5], - fa[6], fa[7], la[8], - fa[9], fa[10], la[11], - fa[12], fa[13], la[14], - fa[15], fa[16], la[17], - fa[18]); - if (fabs(f - ff) < FLT_EPSILON) - exit(0); - else - abort(); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/negint.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/negint.c deleted file mode 100644 index 6e2f26f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Area: ffi_call - Purpose: Check that negative integers are passed correctly. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static int checking(int a, short b, signed char c) -{ - - return (a < 0 && b < 0 && c < 0); -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - - signed int si; - signed short ss; - signed char sc; - - args[0] = &ffi_type_sint; - values[0] = &si; - args[1] = &ffi_type_sshort; - values[1] = &ss; - args[2] = &ffi_type_schar; - values[2] = ≻ - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_sint, args) == FFI_OK); - - si = -6; - ss = -12; - sc = -1; - - checking (si, ss, sc); - - ffi_call(&cif, FFI_FN(checking), &rint, values); - - printf ("%d vs %d\n", (int)rint, checking (si, ss, sc)); - - CHECK(rint != 0); - - exit (0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c deleted file mode 100644 index 23d88b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Area: Struct layout - Purpose: Test ffi_get_struct_offsets - Limitations: none. - PR: none. - Originator: Tom Tromey. */ - -/* { dg-do run } */ -#include "ffitest.h" -#include - -struct test_1 -{ - char c; - float f; - char c2; - int i; -}; - -int -main (void) -{ - ffi_type test_1_type; - ffi_type *test_1_elements[5]; - size_t test_1_offsets[4]; - - test_1_elements[0] = &ffi_type_schar; - test_1_elements[1] = &ffi_type_float; - test_1_elements[2] = &ffi_type_schar; - test_1_elements[3] = &ffi_type_sint; - test_1_elements[4] = NULL; - - test_1_type.size = 0; - test_1_type.alignment = 0; - test_1_type.type = FFI_TYPE_STRUCT; - test_1_type.elements = test_1_elements; - - CHECK (ffi_get_struct_offsets (FFI_DEFAULT_ABI, &test_1_type, test_1_offsets) - == FFI_OK); - CHECK (test_1_type.size == sizeof (struct test_1)); - CHECK (offsetof (struct test_1, c) == test_1_offsets[0]); - CHECK (offsetof (struct test_1, f) == test_1_offsets[1]); - CHECK (offsetof (struct test_1, c2) == test_1_offsets[2]); - CHECK (offsetof (struct test_1, i) == test_1_offsets[3]); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c deleted file mode 100644 index 7da1621..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +++ /dev/null @@ -1,127 +0,0 @@ -/* Area: ffi_call - Purpose: Reproduce bug found in python ctypes - Limitations: none. - PR: Fedora 1174037 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct { - long x; - long y; -} POINT; - -typedef struct { - long left; - long top; - long right; - long bottom; -} RECT; - -static RECT ABI_ATTR pr_test(int i __UNUSED__, RECT ar __UNUSED__, - RECT* br __UNUSED__, POINT cp __UNUSED__, - RECT dr __UNUSED__, RECT *er __UNUSED__, - POINT fp, RECT gr __UNUSED__) -{ - RECT result; - - result.left = fp.x; - result.right = fp.y; - result.top = fp.x; - result.bottom = fp.y; - - return result; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type point_type, rect_type; - ffi_type *point_type_elements[3]; - ffi_type *rect_type_elements[5]; - - int i; - POINT cp, fp; - RECT ar, br, dr, er, gr; - RECT *p1, *p2; - - /* This is a hack to get a properly aligned result buffer */ - RECT *rect_result = - (RECT *) malloc (sizeof(RECT)); - - point_type.size = 0; - point_type.alignment = 0; - point_type.type = FFI_TYPE_STRUCT; - point_type.elements = point_type_elements; - point_type_elements[0] = &ffi_type_slong; - point_type_elements[1] = &ffi_type_slong; - point_type_elements[2] = NULL; - - rect_type.size = 0; - rect_type.alignment = 0; - rect_type.type = FFI_TYPE_STRUCT; - rect_type.elements = rect_type_elements; - rect_type_elements[0] = &ffi_type_slong; - rect_type_elements[1] = &ffi_type_slong; - rect_type_elements[2] = &ffi_type_slong; - rect_type_elements[3] = &ffi_type_slong; - rect_type_elements[4] = NULL; - - args[0] = &ffi_type_sint; - args[1] = &rect_type; - args[2] = &ffi_type_pointer; - args[3] = &point_type; - args[4] = &rect_type; - args[5] = &ffi_type_pointer; - args[6] = &point_type; - args[7] = &rect_type; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 8, &rect_type, args) == FFI_OK); - - i = 1; - ar.left = 2; - ar.right = 3; - ar.top = 4; - ar.bottom = 5; - br.left = 6; - br.right = 7; - br.top = 8; - br.bottom = 9; - cp.x = 10; - cp.y = 11; - dr.left = 12; - dr.right = 13; - dr.top = 14; - dr.bottom = 15; - er.left = 16; - er.right = 17; - er.top = 18; - er.bottom = 19; - fp.x = 20; - fp.y = 21; - gr.left = 22; - gr.right = 23; - gr.top = 24; - gr.bottom = 25; - - values[0] = &i; - values[1] = &ar; - p1 = &br; - values[2] = &p1; - values[3] = &cp; - values[4] = &dr; - p2 = &er; - values[5] = &p2; - values[6] = &fp; - values[7] = &gr; - - ffi_call (&cif, FFI_FN(pr_test), rect_result, values); - - CHECK(rect_result->top == 20); - - free (rect_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c deleted file mode 100644 index 4456161..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Area: ffi_call - Purpose: Promotion test. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -static int promotion(signed char sc, signed short ss, - unsigned char uc, unsigned short us) -{ - int r = (int) sc + (int) ss + (int) uc + (int) us; - - return r; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - signed char sc; - unsigned char uc; - signed short ss; - unsigned short us; - unsigned long ul; - - args[0] = &ffi_type_schar; - args[1] = &ffi_type_sshort; - args[2] = &ffi_type_uchar; - args[3] = &ffi_type_ushort; - values[0] = ≻ - values[1] = &ss; - values[2] = &uc; - values[3] = &us; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_sint, args) == FFI_OK); - - us = 0; - ul = 0; - - for (sc = (signed char) -127; - sc <= (signed char) 120; sc += 1) - for (ss = -30000; ss <= 30000; ss += 10000) - for (uc = (unsigned char) 0; - uc <= (unsigned char) 200; uc += 20) - for (us = 0; us <= 60000; us += 10000) - { - ul++; - ffi_call(&cif, FFI_FN(promotion), &rint, values); - CHECK((int)rint == (signed char) sc + (signed short) ss + - (unsigned char) uc + (unsigned short) us); - } - printf("%lu promotion tests run\n", ul); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc_tc.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc_tc.c deleted file mode 100644 index e29bd6c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc_tc.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Area: ffi_call - Purpose: Check different structures. - Limitations: none. - PR: none. - Originator: Ronald Oussoren 20030824 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct Point { - float x; - float y; -} Point; - -typedef struct Size { - float h; - float w; -} Size; - -typedef struct Rect { - Point o; - Size s; -} Rect; - -int doit(int o, char* s, Point p, Rect r, int last) -{ - printf("CALLED WITH %d %s {%f %f} {{%f %f} {%f %f}} %d\n", - o, s, p.x, p.y, r.o.x, r.o.y, r.s.h, r.s.w, last); - return 42; -} - - -int main(void) -{ - ffi_type point_type; - ffi_type size_type; - ffi_type rect_type; - ffi_cif cif; - ffi_type* arglist[6]; - void* values[6]; - int r; - - /* - * First set up FFI types for the 3 struct types - */ - - point_type.size = 0; /*sizeof(Point);*/ - point_type.alignment = 0; /*__alignof__(Point);*/ - point_type.type = FFI_TYPE_STRUCT; - point_type.elements = malloc(3 * sizeof(ffi_type*)); - point_type.elements[0] = &ffi_type_float; - point_type.elements[1] = &ffi_type_float; - point_type.elements[2] = NULL; - - size_type.size = 0;/* sizeof(Size);*/ - size_type.alignment = 0;/* __alignof__(Size);*/ - size_type.type = FFI_TYPE_STRUCT; - size_type.elements = malloc(3 * sizeof(ffi_type*)); - size_type.elements[0] = &ffi_type_float; - size_type.elements[1] = &ffi_type_float; - size_type.elements[2] = NULL; - - rect_type.size = 0;/*sizeof(Rect);*/ - rect_type.alignment =0;/* __alignof__(Rect);*/ - rect_type.type = FFI_TYPE_STRUCT; - rect_type.elements = malloc(3 * sizeof(ffi_type*)); - rect_type.elements[0] = &point_type; - rect_type.elements[1] = &size_type; - rect_type.elements[2] = NULL; - - /* - * Create a CIF - */ - arglist[0] = &ffi_type_sint; - arglist[1] = &ffi_type_pointer; - arglist[2] = &point_type; - arglist[3] = &rect_type; - arglist[4] = &ffi_type_sint; - arglist[5] = NULL; - - r = ffi_prep_cif(&cif, FFI_DEFAULT_ABI, - 5, &ffi_type_sint, arglist); - if (r != FFI_OK) { - abort(); - } - - - /* And call the function through the CIF */ - - { - Point p = { 1.0, 2.0 }; - Rect r = { { 9.0, 10.0}, { -1.0, -2.0 } }; - int o = 0; - int l = 42; - char* m = "myMethod"; - ffi_arg result; - - values[0] = &o; - values[1] = &m; - values[2] = &p; - values[3] = &r; - values[4] = &l; - values[5] = NULL; - - printf("CALLING WITH %d %s {%f %f} {{%f %f} {%f %f}} %d\n", - o, m, p.x, p.y, r.o.x, r.o.y, r.s.h, r.s.w, l); - - ffi_call(&cif, FFI_FN(doit), &result, values); - - printf ("The result is %d\n", (int)result); - - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c deleted file mode 100644 index fd07e50..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value double. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static double return_dbl(double dbl) -{ - printf ("%f\n", dbl); - return 2 * dbl; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - double dbl, rdbl; - - args[0] = &ffi_type_double; - values[0] = &dbl; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_double, args) == FFI_OK); - - for (dbl = -127.3; dbl < 127; dbl++) - { - ffi_call(&cif, FFI_FN(return_dbl), &rdbl, values); - printf ("%f vs %f\n", rdbl, return_dbl(dbl)); - CHECK(rdbl == 2 * dbl); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c deleted file mode 100644 index 0ea5d50..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value double. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static double return_dbl(double dbl1, float fl2, unsigned int in3, double dbl4) -{ - return dbl1 + fl2 + in3 + dbl4; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - double dbl1, dbl4, rdbl; - float fl2; - unsigned int in3; - args[0] = &ffi_type_double; - args[1] = &ffi_type_float; - args[2] = &ffi_type_uint; - args[3] = &ffi_type_double; - values[0] = &dbl1; - values[1] = &fl2; - values[2] = &in3; - values[3] = &dbl4; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_double, args) == FFI_OK); - dbl1 = 127.0; - fl2 = 128.0; - in3 = 255; - dbl4 = 512.7; - - ffi_call(&cif, FFI_FN(return_dbl), &rdbl, values); - printf ("%f vs %f\n", rdbl, return_dbl(dbl1, fl2, in3, dbl4)); - CHECK(rdbl == dbl1 + fl2 + in3 + dbl4); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c deleted file mode 100644 index b3818f8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value double. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static double return_dbl(double dbl1, double dbl2, unsigned int in3, double dbl4) -{ - return dbl1 + dbl2 + in3 + dbl4; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - double dbl1, dbl2, dbl4, rdbl; - unsigned int in3; - args[0] = &ffi_type_double; - args[1] = &ffi_type_double; - args[2] = &ffi_type_uint; - args[3] = &ffi_type_double; - values[0] = &dbl1; - values[1] = &dbl2; - values[2] = &in3; - values[3] = &dbl4; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_double, args) == FFI_OK); - dbl1 = 127.0; - dbl2 = 128.0; - in3 = 255; - dbl4 = 512.7; - - ffi_call(&cif, FFI_FN(return_dbl), &rdbl, values); - printf ("%f vs %f\n", rdbl, return_dbl(dbl1, dbl2, in3, dbl4)); - CHECK(rdbl == dbl1 + dbl2 + in3 + dbl4); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c deleted file mode 100644 index fb8a09e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value float. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static float return_fl(float fl) -{ - return 2 * fl; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - float fl, rfl; - - args[0] = &ffi_type_float; - values[0] = &fl; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_float, args) == FFI_OK); - - for (fl = -127.0; fl < 127; fl++) - { - ffi_call(&cif, FFI_FN(return_fl), &rfl, values); - printf ("%f vs %f\n", rfl, return_fl(fl)); - CHECK(rfl == 2 * fl); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c deleted file mode 100644 index c3d92c2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value float. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static float return_fl(float fl1, float fl2) -{ - return fl1 + fl2; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - float fl1, fl2, rfl; - - args[0] = &ffi_type_float; - args[1] = &ffi_type_float; - values[0] = &fl1; - values[1] = &fl2; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, - &ffi_type_float, args) == FFI_OK); - fl1 = 127.0; - fl2 = 128.0; - - ffi_call(&cif, FFI_FN(return_fl), &rfl, values); - printf ("%f vs %f\n", rfl, return_fl(fl1, fl2)); - CHECK(rfl == fl1 + fl2); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c deleted file mode 100644 index ddb976c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value float. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -/* Use volatile float to avoid false negative on ix86. See PR target/323. */ -static float return_fl(float fl1, float fl2, float fl3, float fl4) -{ - volatile float sum; - - sum = fl1 + fl2 + fl3 + fl4; - return sum; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - float fl1, fl2, fl3, fl4, rfl; - volatile float sum; - - args[0] = &ffi_type_float; - args[1] = &ffi_type_float; - args[2] = &ffi_type_float; - args[3] = &ffi_type_float; - values[0] = &fl1; - values[1] = &fl2; - values[2] = &fl3; - values[3] = &fl4; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_float, args) == FFI_OK); - fl1 = 127.0; - fl2 = 128.0; - fl3 = 255.1; - fl4 = 512.7; - - ffi_call(&cif, FFI_FN(return_fl), &rfl, values); - printf ("%f vs %f\n", rfl, return_fl(fl1, fl2, fl3, fl4)); - - sum = fl1 + fl2 + fl3 + fl4; - CHECK(rfl == sum); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c deleted file mode 100644 index c37877b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value float. - Limitations: none. - PR: none. - Originator: 20050212 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static float return_fl(float fl1, float fl2, unsigned int in3, float fl4) -{ - return fl1 + fl2 + in3 + fl4; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - float fl1, fl2, fl4, rfl; - unsigned int in3; - args[0] = &ffi_type_float; - args[1] = &ffi_type_float; - args[2] = &ffi_type_uint; - args[3] = &ffi_type_float; - values[0] = &fl1; - values[1] = &fl2; - values[2] = &in3; - values[3] = &fl4; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_float, args) == FFI_OK); - fl1 = 127.0; - fl2 = 128.0; - in3 = 255; - fl4 = 512.7; - - ffi_call(&cif, FFI_FN(return_fl), &rfl, values); - printf ("%f vs %f\n", rfl, return_fl(fl1, fl2, in3, fl4)); - CHECK(rfl == fl1 + fl2 + in3 + fl4); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c deleted file mode 100644 index 52a92fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value long double. - Limitations: none. - PR: none. - Originator: 20071113 */ -/* { dg-do run } */ - -#include "ffitest.h" - -static long double return_ldl(long double ldl) -{ - return 2*ldl; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - long double ldl, rldl; - - args[0] = &ffi_type_longdouble; - values[0] = &ldl; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_longdouble, args) == FFI_OK); - - for (ldl = -127.0; ldl < 127.0; ldl++) - { - ffi_call(&cif, FFI_FN(return_ldl), &rldl, values); - CHECK(rldl == 2 * ldl); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c deleted file mode 100644 index ea4a1e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value long long. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -static long long return_ll(long long ll) -{ - return ll; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - long long rlonglong; - long long ll; - - args[0] = &ffi_type_sint64; - values[0] = ≪ - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_sint64, args) == FFI_OK); - - for (ll = 0LL; ll < 100LL; ll++) - { - ffi_call(&cif, FFI_FN(return_ll), &rlonglong, values); - CHECK(rlonglong == ll); - } - - for (ll = 55555555555000LL; ll < 55555555555100LL; ll++) - { - ffi_call(&cif, FFI_FN(return_ll), &rlonglong, values); - CHECK(rlonglong == ll); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c deleted file mode 100644 index a2426ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Area: ffi_call - Purpose: Check if long long are passed in the corresponding regs on ppc. - Limitations: none. - PR: 20104. - Originator: 20050222 */ - -/* { dg-do run } */ -/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */ -#include "ffitest.h" -static long long return_ll(int ll0, long long ll1, int ll2) -{ - CHECK(ll0 == 11111111); - CHECK(ll1 == 11111111111000LL); - CHECK(ll2 == 11111111); - return ll0 + ll1 + ll2; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - long long rlonglong; - long long ll1; - unsigned ll0, ll2; - - args[0] = &ffi_type_sint; - args[1] = &ffi_type_sint64; - args[2] = &ffi_type_sint; - values[0] = &ll0; - values[1] = &ll1; - values[2] = &ll2; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_sint64, args) == FFI_OK); - - ll0 = 11111111; - ll1 = 11111111111000LL; - ll2 = 11111111; - - ffi_call(&cif, FFI_FN(return_ll), &rlonglong, values); - printf("res: %" PRIdLL ", %" PRIdLL "\n", rlonglong, ll0 + ll1 + ll2); - /* { dg-output "res: 11111133333222, 11111133333222" } */ - CHECK(rlonglong == 11111133333222); - CHECK(ll0 + ll1 + ll2 == 11111133333222); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c deleted file mode 100644 index a36cf3e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value signed char. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -static signed char return_sc(signed char sc) -{ - return sc; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - signed char sc; - - args[0] = &ffi_type_schar; - values[0] = ≻ - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_schar, args) == FFI_OK); - - for (sc = (signed char) -127; - sc < (signed char) 127; sc++) - { - ffi_call(&cif, FFI_FN(return_sc), &rint, values); - CHECK((signed char)rint == sc); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c deleted file mode 100644 index 51bfb49..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Area: ffi_call - Purpose: Check if long as return type is handled correctly. - Limitations: none. - PR: none. - */ - -/* { dg-do run } */ -#include "ffitest.h" -static long return_sl(long l1, long l2) -{ - CHECK(l1 == 1073741823L); - CHECK(l2 == 1073741824L); - return l1 - l2; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg res; - unsigned long l1, l2; - - args[0] = &ffi_type_slong; - args[1] = &ffi_type_slong; - values[0] = &l1; - values[1] = &l2; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, - &ffi_type_slong, args) == FFI_OK); - - l1 = 1073741823L; - l2 = 1073741824L; - - ffi_call(&cif, FFI_FN(return_sl), &res, values); - printf("res: %ld, %ld\n", (long)res, l1 - l2); - /* { dg-output "res: -1, -1" } */ - CHECK((long)res == -1); - CHECK(l1 + 1 == l2); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c deleted file mode 100644 index 6fe5546..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value unsigned char. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -static unsigned char return_uc(unsigned char uc) -{ - return uc; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - - unsigned char uc; - - args[0] = &ffi_type_uchar; - values[0] = &uc; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_uchar, args) == FFI_OK); - - for (uc = (unsigned char) '\x00'; - uc < (unsigned char) '\xff'; uc++) - { - ffi_call(&cif, FFI_FN(return_uc), &rint, values); - CHECK((unsigned char)rint == uc); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c deleted file mode 100644 index fedcc25..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Area: ffi_call - Purpose: Check if unsigned long as return type is handled correctly. - Limitations: none. - PR: none. - Originator: 20060724 */ - -/* { dg-do run } */ -#include "ffitest.h" -static unsigned long return_ul(unsigned long ul1, unsigned long ul2) -{ - CHECK(ul1 == 1073741823L); - CHECK(ul2 == 1073741824L); - return ul1 + ul2; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg res; - unsigned long ul1, ul2; - - args[0] = &ffi_type_ulong; - args[1] = &ffi_type_ulong; - values[0] = &ul1; - values[1] = &ul2; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, - &ffi_type_ulong, args) == FFI_OK); - - ul1 = 1073741823L; - ul2 = 1073741824L; - - ffi_call(&cif, FFI_FN(return_ul), &res, values); - printf("res: %lu, %lu\n", (unsigned long)res, ul1 + ul2); - /* { dg-output "res: 2147483647, 2147483647" } */ - CHECK(res == 2147483647L); - CHECK(ul1 + ul2 == 2147483647L); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/s55.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/s55.c deleted file mode 100644 index 94dfd5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - float f; -} s55; - -static s55 ABI_ATTR f55(s55 ts, float f) -{ - s55 r; - r.f = ts.f + f; - printf ("f55>> %g + %g = %g\n", ts.f, f, r.f); - return r; -} - -int main (void) -{ - ffi_cif cif; - s55 F, Fr; - float f; - void *values[] = { &F, &f }; - ffi_type s55_type; - ffi_type *args[] = { &s55_type, &ffi_type_float }; - ffi_type *s55_type_elements[] = { &ffi_type_float, NULL }; - - /* This is a hack to get a properly aligned result buffer */ - s55 *s55_result = - (s55 *) malloc (sizeof(s55)); - - s55_type.size = 0; - s55_type.alignment = 0; - s55_type.type = FFI_TYPE_STRUCT; - s55_type.elements = s55_type_elements; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 2, &s55_type, args) == FFI_OK); - - F.f = 1; - Fr = f55(F, 2.14); - printf ("%g\n", Fr.f); - - F.f = 1; - f = 2.14; - ffi_call(&cif, FFI_FN(f55), s55_result, values); - printf ("%g\n", s55_result->f); - - fflush(0); - - CHECK(fabs(Fr.f - s55_result->f) < FLT_EPSILON); - - free (s55_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c deleted file mode 100644 index 3ed53d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Area: ffi_call - Purpose: Check strlen function call. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -static unsigned int ABI_ATTR my_strlen(char *s) -{ - return (unsigned int) (strlen(s)); -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - char *s; - - args[0] = &ffi_type_pointer; - values[0] = (void*) &s; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ffi_type_uint, args) == FFI_OK); - - s = "a"; - ffi_call(&cif, FFI_FN(my_strlen), &rint, values); - CHECK(rint == 1); - - s = "1234567"; - ffi_call(&cif, FFI_FN(my_strlen), &rint, values); - CHECK(rint == 7); - - s = "1234567890123456789012345"; - ffi_call(&cif, FFI_FN(my_strlen), &rint, values); - CHECK(rint == 25); - - exit (0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c deleted file mode 100644 index 93e5a33..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Area: ffi_call - Purpose: Check strlen function call with additional arguments. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static int ABI_ATTR my_f(char *s, float a) -{ - return (int) strlen(s) + (int) a; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - char *s; - float v2; - args[0] = &ffi_type_pointer; - args[1] = &ffi_type_float; - values[0] = (void*) &s; - values[1] = (void*) &v2; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 2, - &ffi_type_sint, args) == FFI_OK); - - s = "a"; - v2 = 0.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 1); - - s = "1234567"; - v2 = -1.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 6); - - s = "1234567890123456789012345"; - v2 = 1.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 26); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c deleted file mode 100644 index c7d472d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Area: ffi_call - Purpose: Check strlen function call with additional arguments. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static int ABI_ATTR my_f(float a, char *s) -{ - return (int) strlen(s) + (int) a; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - char *s; - float v2; - args[1] = &ffi_type_pointer; - args[0] = &ffi_type_float; - values[1] = (void*) &s; - values[0] = (void*) &v2; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 2, - &ffi_type_sint, args) == FFI_OK); - - s = "a"; - v2 = 0.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 1); - - s = "1234567"; - v2 = -1.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 6); - - s = "1234567890123456789012345"; - v2 = 1.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 26); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c deleted file mode 100644 index ba5c274..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Area: ffi_call - Purpose: Check strlen function call with additional arguments. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static int ABI_ATTR my_f(float a, char *s, int i) -{ - return (int) strlen(s) + (int) a + i; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - char *s; - int v1; - float v2; - args[2] = &ffi_type_sint; - args[1] = &ffi_type_pointer; - args[0] = &ffi_type_float; - values[2] = (void*) &v1; - values[1] = (void*) &s; - values[0] = (void*) &v2; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 3, - &ffi_type_sint, args) == FFI_OK); - - s = "a"; - v1 = 1; - v2 = 0.0; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 2); - - s = "1234567"; - v2 = -1.0; - v1 = -2; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 4); - - s = "1234567890123456789012345"; - v2 = 1.0; - v1 = 2; - ffi_call(&cif, FFI_FN(my_f), &rint, values); - CHECK(rint == 28); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c deleted file mode 100644 index c13e23f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned char uc; - double d; - unsigned int ui; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.uc++; - ts.d--; - ts.ui++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[4]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uchar; - ts1_type_elements[1] = &ffi_type_double; - ts1_type_elements[2] = &ffi_type_uint; - ts1_type_elements[3] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.uc = '\x01'; - ts1_arg.d = 3.14159; - ts1_arg.ui = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui == 556); - CHECK(ts1_result->d == 3.14159 - 1); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c deleted file mode 100644 index 1edbd5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: Sergei Trofimovich - - The test originally discovered in ruby's bindings - for ffi in https://bugs.gentoo.org/634190 */ - -/* { dg-do run } */ -#include "ffitest.h" - -struct s { - int s32; - float f32; - signed char s8; -}; - -struct s ABI_ATTR make_s(void) { - struct s r; - r.s32 = 0x1234; - r.f32 = 7.0; - r.s8 = 0x78; - return r; -} - -int main() { - ffi_cif cif; - struct s r; - ffi_type rtype; - ffi_type* s_fields[] = { - &ffi_type_sint, - &ffi_type_float, - &ffi_type_schar, - NULL, - }; - - rtype.size = 0; - rtype.alignment = 0, - rtype.type = FFI_TYPE_STRUCT, - rtype.elements = s_fields, - - r.s32 = 0xbad; - r.f32 = 999.999; - r.s8 = 0x51; - - // Here we emulate the following call: - //r = make_s(); - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &rtype, NULL) == FFI_OK); - ffi_call(&cif, FFI_FN(make_s), &r, NULL); - - CHECK(r.s32 == 0x1234); - CHECK(r.f32 == 7.0); - CHECK(r.s8 == 0x78); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c deleted file mode 100644 index 5077a5e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - double d1; - double d2; -} test_structure_2; - -static test_structure_2 ABI_ATTR struct2(test_structure_2 ts) -{ - ts.d1--; - ts.d2--; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - test_structure_2 ts2_arg; - ffi_type ts2_type; - ffi_type *ts2_type_elements[3]; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_2 *ts2_result = - (test_structure_2 *) malloc (sizeof(test_structure_2)); - - ts2_type.size = 0; - ts2_type.alignment = 0; - ts2_type.type = FFI_TYPE_STRUCT; - ts2_type.elements = ts2_type_elements; - ts2_type_elements[0] = &ffi_type_double; - ts2_type_elements[1] = &ffi_type_double; - ts2_type_elements[2] = NULL; - - args[0] = &ts2_type; - values[0] = &ts2_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts2_type, args) == FFI_OK); - - ts2_arg.d1 = 5.55; - ts2_arg.d2 = 6.66; - - printf ("%g\n", ts2_arg.d1); - printf ("%g\n", ts2_arg.d2); - - ffi_call(&cif, FFI_FN(struct2), ts2_result, values); - - printf ("%g\n", ts2_result->d1); - printf ("%g\n", ts2_result->d2); - - CHECK(ts2_result->d1 == 5.55 - 1); - CHECK(ts2_result->d2 == 6.66 - 1); - - free (ts2_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c deleted file mode 100644 index 7eba0ea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - int si; -} test_structure_3; - -static test_structure_3 ABI_ATTR struct3(test_structure_3 ts) -{ - ts.si = -(ts.si*2); - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - int compare_value; - ffi_type ts3_type; - ffi_type *ts3_type_elements[2]; - - test_structure_3 ts3_arg; - test_structure_3 *ts3_result = - (test_structure_3 *) malloc (sizeof(test_structure_3)); - - ts3_type.size = 0; - ts3_type.alignment = 0; - ts3_type.type = FFI_TYPE_STRUCT; - ts3_type.elements = ts3_type_elements; - ts3_type_elements[0] = &ffi_type_sint; - ts3_type_elements[1] = NULL; - - args[0] = &ts3_type; - values[0] = &ts3_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts3_type, args) == FFI_OK); - - ts3_arg.si = -123; - compare_value = ts3_arg.si; - - ffi_call(&cif, FFI_FN(struct3), ts3_result, values); - - printf ("%d %d\n", ts3_result->si, -(compare_value*2)); - - CHECK(ts3_result->si == -(compare_value*2)); - - free (ts3_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c deleted file mode 100644 index 66a9551..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned ui1; - unsigned ui2; - unsigned ui3; -} test_structure_4; - -static test_structure_4 ABI_ATTR struct4(test_structure_4 ts) -{ - ts.ui3 = ts.ui1 * ts.ui2 * ts.ui3; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts4_type; - ffi_type *ts4_type_elements[4]; - - test_structure_4 ts4_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_4 *ts4_result = - (test_structure_4 *) malloc (sizeof(test_structure_4)); - - ts4_type.size = 0; - ts4_type.alignment = 0; - ts4_type.type = FFI_TYPE_STRUCT; - ts4_type.elements = ts4_type_elements; - ts4_type_elements[0] = &ffi_type_uint; - ts4_type_elements[1] = &ffi_type_uint; - ts4_type_elements[2] = &ffi_type_uint; - ts4_type_elements[3] = NULL; - - args[0] = &ts4_type; - values[0] = &ts4_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts4_type, args) == FFI_OK); - - ts4_arg.ui1 = 2; - ts4_arg.ui2 = 3; - ts4_arg.ui3 = 4; - - ffi_call (&cif, FFI_FN(struct4), ts4_result, values); - - CHECK(ts4_result->ui3 == 2U * 3U * 4U); - - - free (ts4_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c deleted file mode 100644 index 23e2a3f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -typedef struct -{ - char c1; - char c2; -} test_structure_5; - -static test_structure_5 ABI_ATTR struct5(test_structure_5 ts1, test_structure_5 ts2) -{ - ts1.c1 += ts2.c1; - ts1.c2 -= ts2.c2; - - return ts1; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts5_type; - ffi_type *ts5_type_elements[3]; - - test_structure_5 ts5_arg1, ts5_arg2; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_5 *ts5_result = - (test_structure_5 *) malloc (sizeof(test_structure_5)); - - ts5_type.size = 0; - ts5_type.alignment = 0; - ts5_type.type = FFI_TYPE_STRUCT; - ts5_type.elements = ts5_type_elements; - ts5_type_elements[0] = &ffi_type_schar; - ts5_type_elements[1] = &ffi_type_schar; - ts5_type_elements[2] = NULL; - - args[0] = &ts5_type; - args[1] = &ts5_type; - values[0] = &ts5_arg1; - values[1] = &ts5_arg2; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 2, &ts5_type, args) == FFI_OK); - - ts5_arg1.c1 = 2; - ts5_arg1.c2 = 6; - ts5_arg2.c1 = 5; - ts5_arg2.c2 = 3; - - ffi_call (&cif, FFI_FN(struct5), ts5_result, values); - - CHECK(ts5_result->c1 == 7); - CHECK(ts5_result->c2 == 3); - - - free (ts5_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c deleted file mode 100644 index 173c66e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -typedef struct -{ - float f; - double d; -} test_structure_6; - -static test_structure_6 ABI_ATTR struct6 (test_structure_6 ts) -{ - ts.f += 1; - ts.d += 1; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts6_type; - ffi_type *ts6_type_elements[3]; - - test_structure_6 ts6_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_6 *ts6_result = - (test_structure_6 *) malloc (sizeof(test_structure_6)); - - ts6_type.size = 0; - ts6_type.alignment = 0; - ts6_type.type = FFI_TYPE_STRUCT; - ts6_type.elements = ts6_type_elements; - ts6_type_elements[0] = &ffi_type_float; - ts6_type_elements[1] = &ffi_type_double; - ts6_type_elements[2] = NULL; - - args[0] = &ts6_type; - values[0] = &ts6_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts6_type, args) == FFI_OK); - - ts6_arg.f = 5.55f; - ts6_arg.d = 6.66; - - printf ("%g\n", ts6_arg.f); - printf ("%g\n", ts6_arg.d); - - ffi_call(&cif, FFI_FN(struct6), ts6_result, values); - - CHECK(ts6_result->f == 5.55f + 1); - CHECK(ts6_result->d == 6.66 + 1); - - free (ts6_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c deleted file mode 100644 index badc7e0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +++ /dev/null @@ -1,74 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -typedef struct -{ - float f1; - float f2; - double d; -} test_structure_7; - -static test_structure_7 ABI_ATTR struct7 (test_structure_7 ts) -{ - ts.f1 += 1; - ts.f2 += 1; - ts.d += 1; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts7_type; - ffi_type *ts7_type_elements[4]; - - test_structure_7 ts7_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_7 *ts7_result = - (test_structure_7 *) malloc (sizeof(test_structure_7)); - - ts7_type.size = 0; - ts7_type.alignment = 0; - ts7_type.type = FFI_TYPE_STRUCT; - ts7_type.elements = ts7_type_elements; - ts7_type_elements[0] = &ffi_type_float; - ts7_type_elements[1] = &ffi_type_float; - ts7_type_elements[2] = &ffi_type_double; - ts7_type_elements[3] = NULL; - - args[0] = &ts7_type; - values[0] = &ts7_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts7_type, args) == FFI_OK); - - ts7_arg.f1 = 5.55f; - ts7_arg.f2 = 55.5f; - ts7_arg.d = 6.66; - - printf ("%g\n", ts7_arg.f1); - printf ("%g\n", ts7_arg.f2); - printf ("%g\n", ts7_arg.d); - - ffi_call(&cif, FFI_FN(struct7), ts7_result, values); - - printf ("%g\n", ts7_result->f1); - printf ("%g\n", ts7_result->f2); - printf ("%g\n", ts7_result->d); - - CHECK(ts7_result->f1 == 5.55f + 1); - CHECK(ts7_result->f2 == 55.5f + 1); - CHECK(ts7_result->d == 6.66 + 1); - - free (ts7_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c deleted file mode 100644 index ef204ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +++ /dev/null @@ -1,81 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -typedef struct -{ - float f1; - float f2; - float f3; - float f4; -} test_structure_8; - -static test_structure_8 ABI_ATTR struct8 (test_structure_8 ts) -{ - ts.f1 += 1; - ts.f2 += 1; - ts.f3 += 1; - ts.f4 += 1; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts8_type; - ffi_type *ts8_type_elements[5]; - - test_structure_8 ts8_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_8 *ts8_result = - (test_structure_8 *) malloc (sizeof(test_structure_8)); - - ts8_type.size = 0; - ts8_type.alignment = 0; - ts8_type.type = FFI_TYPE_STRUCT; - ts8_type.elements = ts8_type_elements; - ts8_type_elements[0] = &ffi_type_float; - ts8_type_elements[1] = &ffi_type_float; - ts8_type_elements[2] = &ffi_type_float; - ts8_type_elements[3] = &ffi_type_float; - ts8_type_elements[4] = NULL; - - args[0] = &ts8_type; - values[0] = &ts8_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts8_type, args) == FFI_OK); - - ts8_arg.f1 = 5.55f; - ts8_arg.f2 = 55.5f; - ts8_arg.f3 = -5.55f; - ts8_arg.f4 = -55.5f; - - printf ("%g\n", ts8_arg.f1); - printf ("%g\n", ts8_arg.f2); - printf ("%g\n", ts8_arg.f3); - printf ("%g\n", ts8_arg.f4); - - ffi_call(&cif, FFI_FN(struct8), ts8_result, values); - - printf ("%g\n", ts8_result->f1); - printf ("%g\n", ts8_result->f2); - printf ("%g\n", ts8_result->f3); - printf ("%g\n", ts8_result->f4); - - CHECK(ts8_result->f1 == 5.55f + 1); - CHECK(ts8_result->f2 == 55.5f + 1); - CHECK(ts8_result->f3 == -5.55f + 1); - CHECK(ts8_result->f4 == -55.5f + 1); - - free (ts8_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c deleted file mode 100644 index 4a13b81..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - float f; - int i; -} test_structure_9; - -static test_structure_9 ABI_ATTR struct9 (test_structure_9 ts) -{ - ts.f += 1; - ts.i += 1; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts9_type; - ffi_type *ts9_type_elements[3]; - - test_structure_9 ts9_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_9 *ts9_result = - (test_structure_9 *) malloc (sizeof(test_structure_9)); - - ts9_type.size = 0; - ts9_type.alignment = 0; - ts9_type.type = FFI_TYPE_STRUCT; - ts9_type.elements = ts9_type_elements; - ts9_type_elements[0] = &ffi_type_float; - ts9_type_elements[1] = &ffi_type_sint; - ts9_type_elements[2] = NULL; - - args[0] = &ts9_type; - values[0] = &ts9_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts9_type, args) == FFI_OK); - - ts9_arg.f = 5.55f; - ts9_arg.i = 5; - - printf ("%g\n", ts9_arg.f); - printf ("%d\n", ts9_arg.i); - - ffi_call(&cif, FFI_FN(struct9), ts9_result, values); - - printf ("%g\n", ts9_result->f); - printf ("%d\n", ts9_result->i); - - CHECK(ts9_result->f == 5.55f + 1); - CHECK(ts9_result->i == 5 + 1); - - free (ts9_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c deleted file mode 100644 index f170289..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c +++ /dev/null @@ -1,63 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned int ui01; - unsigned int ui02; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.ui02++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[3]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uint; - ts1_type_elements[1] = &ffi_type_uint; - ts1_type_elements[2] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.ui02 = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui02 == 556); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(ts1_arg.ui02 == 555); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c deleted file mode 100644 index 55cf113..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned int ui01; - unsigned int ui02; - unsigned int ui03; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.ui03++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[4]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uint; - ts1_type_elements[1] = &ffi_type_uint; - ts1_type_elements[2] = &ffi_type_uint; - ts1_type_elements[3] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.ui03 = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui03 == 556); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(ts1_arg.ui03 == 555); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c deleted file mode 100644 index 8b5b1db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - float f01; - float f02; - float f03; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.f03++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[5]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_float; - ts1_type_elements[1] = &ffi_type_float; - ts1_type_elements[2] = &ffi_type_float; - ts1_type_elements[3] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.f03 = 555.5; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(fabs(ts1_result->f03 - 556.5) < FLT_EPSILON); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(fabs(ts1_arg.f03 - 555.5) < FLT_EPSILON); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c deleted file mode 100644 index 768650f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned int ui01; - unsigned int ui02; - unsigned int ui03; - unsigned int ui04; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.ui04++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[5]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uint; - ts1_type_elements[1] = &ffi_type_uint; - ts1_type_elements[2] = &ffi_type_uint; - ts1_type_elements[3] = &ffi_type_uint; - ts1_type_elements[4] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.ui04 = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui04 == 556); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(ts1_arg.ui04 == 555); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c deleted file mode 100644 index bf6775a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - float f01; - float f02; - float f03; - float f04; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.f04++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[5]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_float; - ts1_type_elements[1] = &ffi_type_float; - ts1_type_elements[2] = &ffi_type_float; - ts1_type_elements[3] = &ffi_type_float; - ts1_type_elements[4] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.f04 = 555.5; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(fabs(ts1_result->f04 - 556.5) < FLT_EPSILON); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(fabs(ts1_arg.f04 - 555.5) < FLT_EPSILON); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c deleted file mode 100644 index 06422ca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned int ui01; - unsigned int ui02; - unsigned int ui03; - unsigned int ui04; - unsigned int ui05; - unsigned int ui06; - unsigned int ui07; - unsigned int ui08; - unsigned int ui09; - unsigned int ui10; - unsigned int ui11; - unsigned int ui12; - unsigned int ui13; - unsigned int ui14; - unsigned int ui15; - unsigned int ui16; - unsigned int ui17; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.ui17++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[18]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uint; - ts1_type_elements[1] = &ffi_type_uint; - ts1_type_elements[2] = &ffi_type_uint; - ts1_type_elements[3] = &ffi_type_uint; - ts1_type_elements[4] = &ffi_type_uint; - ts1_type_elements[5] = &ffi_type_uint; - ts1_type_elements[6] = &ffi_type_uint; - ts1_type_elements[7] = &ffi_type_uint; - ts1_type_elements[8] = &ffi_type_uint; - ts1_type_elements[9] = &ffi_type_uint; - ts1_type_elements[10] = &ffi_type_uint; - ts1_type_elements[11] = &ffi_type_uint; - ts1_type_elements[12] = &ffi_type_uint; - ts1_type_elements[13] = &ffi_type_uint; - ts1_type_elements[14] = &ffi_type_uint; - ts1_type_elements[15] = &ffi_type_uint; - ts1_type_elements[16] = &ffi_type_uint; - ts1_type_elements[17] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.ui17 = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui17 == 556); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(ts1_arg.ui17 == 555); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c deleted file mode 100644 index 19613f8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned int ui17; -} test_structure_1; - -static test_structure_1 ABI_ATTR struct1(test_structure_1 ts) -{ - ts.ui17++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[2]; - - test_structure_1 ts1_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uint; - ts1_type_elements[1] = NULL; - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.ui17 = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui17 == 556); - - /* This will fail if ffi_call isn't passing the struct by value. */ - CHECK(ts1_arg.ui17 == 555); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c deleted file mode 100644 index 2773550..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c +++ /dev/null @@ -1,63 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -typedef struct -{ - short x; - short y; -} test_structure_5; - -static test_structure_5 ABI_ATTR struct5(test_structure_5 inp) -{ - inp.x *= 2; - inp.y *= 3; - - return inp; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts5_type; - ffi_type *ts5_type_elements[3]; - - test_structure_5 ts5_arg1; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_5 *ts5_result = - (test_structure_5 *) malloc (sizeof(test_structure_5)); - - ts5_type.size = 0; - ts5_type.alignment = 0; - ts5_type.type = FFI_TYPE_STRUCT; - ts5_type.elements = ts5_type_elements; - ts5_type_elements[0] = &ffi_type_sshort; - ts5_type_elements[1] = &ffi_type_sshort; - ts5_type_elements[2] = NULL; - - args[0] = &ts5_type; - values[0] = &ts5_arg1; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts5_type, args) == FFI_OK); - - ts5_arg1.x = 99; - ts5_arg1.y = 88; - - ffi_call (&cif, FFI_FN(struct5), ts5_result, values); - - CHECK(ts5_result->x == 99*2); - CHECK(ts5_result->y == 88*3); - CHECK(ts5_arg1.x == 99); - CHECK(ts5_arg1.y == 88); - - free (ts5_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c deleted file mode 100644 index 5018daa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Area: ffi_call - Purpose: Check structures. - Limitations: none. - PR: none. - Originator: From the original ffitest.c */ - -/* { dg-do run } */ -#include "ffitest.h" -typedef struct -{ - int a; - int b; - int c; - int d; - int e; - int f; - int g; - int h; -} test_structure_5; - -static test_structure_5 ABI_ATTR struct5(test_structure_5 inp) -{ - inp.a *= 2; - inp.b *= 3; - inp.c *= 4; - inp.d *= 5; - inp.e *= 6; - inp.f *= 7; - inp.g *= 8; - inp.h *= 9; - return inp; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts5_type; - ffi_type *ts5_type_elements[9]; - - test_structure_5 ts5_arg1; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_5 *ts5_result = - (test_structure_5 *) malloc (sizeof(test_structure_5)); - - ts5_type.size = 0; - ts5_type.alignment = 0; - ts5_type.type = FFI_TYPE_STRUCT; - ts5_type.elements = ts5_type_elements; - ts5_type_elements[0] = &ffi_type_sint; - ts5_type_elements[1] = &ffi_type_sint; - ts5_type_elements[2] = &ffi_type_sint; - ts5_type_elements[3] = &ffi_type_sint; - ts5_type_elements[4] = &ffi_type_sint; - ts5_type_elements[5] = &ffi_type_sint; - ts5_type_elements[6] = &ffi_type_sint; - ts5_type_elements[7] = &ffi_type_sint; - ts5_type_elements[8] = NULL; - - args[0] = &ts5_type; - values[0] = &ts5_arg1; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts5_type, args) == FFI_OK); - - ts5_arg1.a = 9; - ts5_arg1.b = 8; - ts5_arg1.c = 7; - ts5_arg1.d = 6; - ts5_arg1.e = 5; - ts5_arg1.f = 4; - ts5_arg1.g = 3; - ts5_arg1.h = 2; - - ffi_call (&cif, FFI_FN(struct5), ts5_result, values); - - CHECK(ts5_result->a == 9*2); - CHECK(ts5_result->b == 8*3); - CHECK(ts5_result->c == 7*4); - CHECK(ts5_result->d == 6*5); - CHECK(ts5_result->e == 5*6); - CHECK(ts5_result->f == 4*7); - CHECK(ts5_result->g == 3*8); - CHECK(ts5_result->h == 2*9); - - free (ts5_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c deleted file mode 100644 index f00d830..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +++ /dev/null @@ -1,61 +0,0 @@ -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned char uc; - double d; - unsigned int ui; -} test_structure_1; - -static test_structure_1 struct1(test_structure_1 ts) -{ - ts.uc++; - ts.d--; - ts.ui++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[4]; - - memset(&cif, 1, sizeof(cif)); - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uchar; - ts1_type_elements[1] = &ffi_type_double; - ts1_type_elements[2] = &ffi_type_uint; - ts1_type_elements[3] = NULL; - - test_structure_1 ts1_arg; - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.uc = '\x01'; - ts1_arg.d = 3.14159; - ts1_arg.ui = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui == 556); - CHECK(ts1_result->d == 3.14159 - 1); - - free (ts1_result); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c deleted file mode 100644 index ccc6faf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Area: ffi_call - Purpose: Test passing struct in variable argument lists. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ - -#include "ffitest.h" -#include - -struct small_tag -{ - unsigned char a; - unsigned char b; -}; - -struct large_tag -{ - unsigned a; - unsigned b; - unsigned c; - unsigned d; - unsigned e; -}; - -int -main (void) -{ - ffi_cif cif; - ffi_type* arg_types[15]; - - ffi_type s_type; - ffi_type *s_type_elements[3]; - - ffi_type l_type; - ffi_type *l_type_elements[6]; - - s_type.size = 0; - s_type.alignment = 0; - s_type.type = FFI_TYPE_STRUCT; - s_type.elements = s_type_elements; - - s_type_elements[0] = &ffi_type_uchar; - s_type_elements[1] = &ffi_type_uchar; - s_type_elements[2] = NULL; - - l_type.size = 0; - l_type.alignment = 0; - l_type.type = FFI_TYPE_STRUCT; - l_type.elements = l_type_elements; - - l_type_elements[0] = &ffi_type_uint; - l_type_elements[1] = &ffi_type_uint; - l_type_elements[2] = &ffi_type_uint; - l_type_elements[3] = &ffi_type_uint; - l_type_elements[4] = &ffi_type_uint; - l_type_elements[5] = NULL; - - arg_types[0] = &ffi_type_sint; - arg_types[1] = &s_type; - arg_types[2] = &l_type; - arg_types[3] = &s_type; - arg_types[4] = &ffi_type_uchar; - arg_types[5] = &ffi_type_schar; - arg_types[6] = &ffi_type_ushort; - arg_types[7] = &ffi_type_sshort; - arg_types[8] = &ffi_type_uint; - arg_types[9] = &ffi_type_sint; - arg_types[10] = &ffi_type_ulong; - arg_types[11] = &ffi_type_slong; - arg_types[12] = &ffi_type_double; - arg_types[13] = &ffi_type_double; - arg_types[14] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 14, &ffi_type_sint, arg_types) == FFI_BAD_ARGTYPE); - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c deleted file mode 100644 index 75d4dfc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +++ /dev/null @@ -1,220 +0,0 @@ -/* Area: ffi_call - Purpose: Test passing struct in variable argument lists. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ -/* { dg-output "" { xfail avr32*-*-* m68k-*-* } } */ - -#include "ffitest.h" -#include - -struct small_tag -{ - unsigned char a; - unsigned char b; -}; - -struct large_tag -{ - unsigned a; - unsigned b; - unsigned c; - unsigned d; - unsigned e; -}; - - -static int -test_fn (int n, ...) -{ - va_list ap; - struct small_tag s1; - struct small_tag s2; - struct large_tag l; - unsigned char uc; - signed char sc; - unsigned short us; - signed short ss; - unsigned int ui; - signed int si; - unsigned long ul; - signed long sl; - float f; - double d; - - va_start (ap, n); - s1 = va_arg (ap, struct small_tag); - l = va_arg (ap, struct large_tag); - s2 = va_arg (ap, struct small_tag); - - uc = va_arg (ap, unsigned); - sc = va_arg (ap, signed); - - us = va_arg (ap, unsigned); - ss = va_arg (ap, signed); - - ui = va_arg (ap, unsigned int); - si = va_arg (ap, signed int); - - ul = va_arg (ap, unsigned long); - sl = va_arg (ap, signed long); - - f = va_arg (ap, double); /* C standard promotes float->double - when anonymous */ - d = va_arg (ap, double); - - printf ("%u %u %u %u %u %u %u %u %u uc=%u sc=%d %u %d %u %d %lu %ld %f %f\n", - s1.a, s1.b, l.a, l.b, l.c, l.d, l.e, - s2.a, s2.b, - uc, sc, - us, ss, - ui, si, - ul, sl, - f, d); - - va_end (ap); - - CHECK(s1.a == 5); - CHECK(s1.b == 6); - CHECK(l.a == 10); - CHECK(l.b == 11); - CHECK(l.c == 12); - CHECK(l.d == 13); - CHECK(l.e == 14); - CHECK(s2.a == 7); - CHECK(s2.b == 8); - CHECK(uc == 9); - CHECK(sc == 10); - CHECK(us == 11); - CHECK(ss == 12); - CHECK(ui == 13); - CHECK(si == 14); - CHECK(ul == 15); - CHECK(sl == 16); - CHECK((int)f == 2); - CHECK((int)d == 3); - - return n + 1; -} - -int -main (void) -{ - ffi_cif cif; - void* args[15]; - ffi_type* arg_types[15]; - - ffi_type s_type; - ffi_type *s_type_elements[3]; - - ffi_type l_type; - ffi_type *l_type_elements[6]; - - struct small_tag s1; - struct small_tag s2; - struct large_tag l1; - - int n; - ffi_arg res; - - unsigned int uc; - signed int sc; - unsigned int us; - signed int ss; - unsigned int ui; - signed int si; - unsigned long ul; - signed long sl; - double d1; - double f1; - - s_type.size = 0; - s_type.alignment = 0; - s_type.type = FFI_TYPE_STRUCT; - s_type.elements = s_type_elements; - - s_type_elements[0] = &ffi_type_uchar; - s_type_elements[1] = &ffi_type_uchar; - s_type_elements[2] = NULL; - - l_type.size = 0; - l_type.alignment = 0; - l_type.type = FFI_TYPE_STRUCT; - l_type.elements = l_type_elements; - - l_type_elements[0] = &ffi_type_uint; - l_type_elements[1] = &ffi_type_uint; - l_type_elements[2] = &ffi_type_uint; - l_type_elements[3] = &ffi_type_uint; - l_type_elements[4] = &ffi_type_uint; - l_type_elements[5] = NULL; - - arg_types[0] = &ffi_type_sint; - arg_types[1] = &s_type; - arg_types[2] = &l_type; - arg_types[3] = &s_type; - arg_types[4] = &ffi_type_uint; - arg_types[5] = &ffi_type_sint; - arg_types[6] = &ffi_type_uint; - arg_types[7] = &ffi_type_sint; - arg_types[8] = &ffi_type_uint; - arg_types[9] = &ffi_type_sint; - arg_types[10] = &ffi_type_ulong; - arg_types[11] = &ffi_type_slong; - arg_types[12] = &ffi_type_double; - arg_types[13] = &ffi_type_double; - arg_types[14] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 14, &ffi_type_sint, arg_types) == FFI_OK); - - s1.a = 5; - s1.b = 6; - - l1.a = 10; - l1.b = 11; - l1.c = 12; - l1.d = 13; - l1.e = 14; - - s2.a = 7; - s2.b = 8; - - n = 41; - - uc = 9; - sc = 10; - us = 11; - ss = 12; - ui = 13; - si = 14; - ul = 15; - sl = 16; - f1 = 2.12; - d1 = 3.13; - - args[0] = &n; - args[1] = &s1; - args[2] = &l1; - args[3] = &s2; - args[4] = &uc; - args[5] = ≻ - args[6] = &us; - args[7] = &ss; - args[8] = &ui; - args[9] = &si; - args[10] = &ul; - args[11] = &sl; - args[12] = &f1; - args[13] = &d1; - args[14] = NULL; - - ffi_call(&cif, FFI_FN(test_fn), &res, args); - /* { dg-output "5 6 10 11 12 13 14 7 8 uc=9 sc=10 11 12 13 14 15 16 2.120000 3.130000" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 42" } */ - CHECK(res == 42); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c deleted file mode 100644 index b3e73b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +++ /dev/null @@ -1,154 +0,0 @@ -/* Area: ffi_call - Purpose: Test function with multiple fixed args and variable argument list. - Limitations: none. - PR: none. - Originator: ARM Ltd., Oracle */ - -/* { dg-do run } */ -/* { dg-output "" { xfail avr32*-*-* m68k-*-* } } */ - -#include "ffitest.h" -#include - -/* - * This is a modified version of va_2.c that has fixed arguments with "small" types that - * are not allowed as variable arguments, but they should be still allowed as fixed args. - */ - -static int -test_fn (char a1, float a2, int n, ...) -{ - va_list ap; - unsigned char uc; - signed char sc; - unsigned short us; - signed short ss; - unsigned int ui; - signed int si; - unsigned long ul; - signed long sl; - float f; - double d; - - va_start (ap, n); - - uc = va_arg (ap, unsigned); - sc = va_arg (ap, signed); - - us = va_arg (ap, unsigned); - ss = va_arg (ap, signed); - - ui = va_arg (ap, unsigned int); - si = va_arg (ap, signed int); - - ul = va_arg (ap, unsigned long); - sl = va_arg (ap, signed long); - - f = va_arg (ap, double); /* C standard promotes float->double - when anonymous */ - d = va_arg (ap, double); - - printf ("%d %f uc=%u sc=%d %u %d %u %d %lu %ld %f %f\n", - a1, a2, - uc, sc, - us, ss, - ui, si, - ul, sl, - f, d); - - va_end (ap); - - CHECK(a1 == 1); - CHECK((int)a2 == 2); - CHECK(uc == 9); - CHECK(sc == 10); - CHECK(us == 11); - CHECK(ss == 12); - CHECK(ui == 13); - CHECK(si == 14); - CHECK(ul == 15); - CHECK(sl == 16); - CHECK((int)f == 2); - CHECK((int)d == 3); - - return n + 1; -} - -int -main (void) -{ - ffi_cif cif; - void* args[14]; - ffi_type* arg_types[14]; - - char a1; - float a2; - int n; - ffi_arg res; - - unsigned int uc; - signed int sc; - unsigned int us; - signed int ss; - unsigned int ui; - signed int si; - unsigned long ul; - signed long sl; - double d1; - double f1; - - arg_types[0] = &ffi_type_schar; - arg_types[1] = &ffi_type_float; - arg_types[2] = &ffi_type_sint; - arg_types[3] = &ffi_type_uint; - arg_types[4] = &ffi_type_sint; - arg_types[5] = &ffi_type_uint; - arg_types[6] = &ffi_type_sint; - arg_types[7] = &ffi_type_uint; - arg_types[8] = &ffi_type_sint; - arg_types[9] = &ffi_type_ulong; - arg_types[10] = &ffi_type_slong; - arg_types[11] = &ffi_type_double; - arg_types[12] = &ffi_type_double; - arg_types[13] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 3, 13, &ffi_type_sint, arg_types) == FFI_OK); - - a1 = 1; - a2 = 2.0f; - n = 41; - - uc = 9; - sc = 10; - us = 11; - ss = 12; - ui = 13; - si = 14; - ul = 15; - sl = 16; - f1 = 2.12; - d1 = 3.13; - - args[0] = &a1; - args[1] = &a2; - args[2] = &n; - args[3] = &uc; - args[4] = ≻ - args[5] = &us; - args[6] = &ss; - args[7] = &ui; - args[8] = &si; - args[9] = &ul; - args[10] = &sl; - args[11] = &f1; - args[12] = &d1; - args[13] = NULL; - - ffi_call(&cif, FFI_FN(test_fn), &res, args); - /* { dg-output "1 2.000000 uc=9 sc=10 11 12 13 14 15 16 2.120000 3.130000" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 42" } */ - CHECK(res == 42); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c deleted file mode 100644 index fff5c9a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +++ /dev/null @@ -1,134 +0,0 @@ -/* Area: ffi_call - Purpose: Test passing struct in variable argument lists. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ -/* { dg-output "" { xfail avr32*-*-* } } */ - -#include "ffitest.h" -#include - -struct small_tag -{ - unsigned char a; - unsigned char b; -}; - -struct large_tag -{ - unsigned a; - unsigned b; - unsigned c; - unsigned d; - unsigned e; -}; - -static int -test_fn (int n, ...) -{ - va_list ap; - struct small_tag s1; - struct small_tag s2; - struct large_tag l; - - va_start (ap, n); - s1 = va_arg (ap, struct small_tag); - l = va_arg (ap, struct large_tag); - s2 = va_arg (ap, struct small_tag); - printf ("%u %u %u %u %u %u %u %u %u\n", s1.a, s1.b, l.a, l.b, l.c, l.d, l.e, - s2.a, s2.b); - va_end (ap); - - CHECK(s1.a == 5); - CHECK(s1.b == 6); - - CHECK(l.a == 10); - CHECK(l.b == 11); - CHECK(l.c == 12); - CHECK(l.d == 13); - CHECK(l.e == 14); - - CHECK(s2.a == 7); - CHECK(s2.b == 8); - return n + 1; -} - -int -main (void) -{ - ffi_cif cif; - void* args[5]; - ffi_type* arg_types[5]; - - ffi_type s_type; - ffi_type *s_type_elements[3]; - - ffi_type l_type; - ffi_type *l_type_elements[6]; - - struct small_tag s1; - struct small_tag s2; - struct large_tag l1; - - int n; - ffi_arg res; - - s_type.size = 0; - s_type.alignment = 0; - s_type.type = FFI_TYPE_STRUCT; - s_type.elements = s_type_elements; - - s_type_elements[0] = &ffi_type_uchar; - s_type_elements[1] = &ffi_type_uchar; - s_type_elements[2] = NULL; - - l_type.size = 0; - l_type.alignment = 0; - l_type.type = FFI_TYPE_STRUCT; - l_type.elements = l_type_elements; - - l_type_elements[0] = &ffi_type_uint; - l_type_elements[1] = &ffi_type_uint; - l_type_elements[2] = &ffi_type_uint; - l_type_elements[3] = &ffi_type_uint; - l_type_elements[4] = &ffi_type_uint; - l_type_elements[5] = NULL; - - arg_types[0] = &ffi_type_sint; - arg_types[1] = &s_type; - arg_types[2] = &l_type; - arg_types[3] = &s_type; - arg_types[4] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 4, &ffi_type_sint, arg_types) == FFI_OK); - - s1.a = 5; - s1.b = 6; - - l1.a = 10; - l1.b = 11; - l1.c = 12; - l1.d = 13; - l1.e = 14; - - s2.a = 7; - s2.b = 8; - - n = 41; - - args[0] = &n; - args[1] = &s1; - args[2] = &l1; - args[3] = &s2; - args[4] = NULL; - - ffi_call(&cif, FFI_FN(test_fn), &res, args); - /* { dg-output "5 6 10 11 12 13 14 7 8" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 42" } */ - CHECK(res == 42); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c deleted file mode 100644 index a8daff3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +++ /dev/null @@ -1,134 +0,0 @@ -/* Area: ffi_call - Purpose: Test passing struct in variable argument lists. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ -/* { dg-output "" { xfail avr32*-*-* } } */ - -#include "ffitest.h" -#include - -struct small_tag -{ - unsigned char a; - unsigned char b; -}; - -struct large_tag -{ - unsigned a; - unsigned b; - unsigned c; - unsigned d; - unsigned e; -}; - -static struct small_tag -test_fn (int n, ...) -{ - va_list ap; - struct small_tag s1; - struct small_tag s2; - struct large_tag l; - - va_start (ap, n); - s1 = va_arg (ap, struct small_tag); - l = va_arg (ap, struct large_tag); - s2 = va_arg (ap, struct small_tag); - printf ("%u %u %u %u %u %u %u %u %u\n", s1.a, s1.b, l.a, l.b, l.c, l.d, l.e, - s2.a, s2.b); - CHECK(s1.a == 5); - CHECK(s1.b == 6); - CHECK(l.a == 10); - CHECK(l.b == 11); - CHECK(l.c == 12); - CHECK(l.d == 13); - CHECK(l.e == 14); - CHECK(s2.a == 7); - CHECK(s2.b == 8); - va_end (ap); - s1.a += s2.a; - s1.b += s2.b; - return s1; -} - -int -main (void) -{ - ffi_cif cif; - void* args[5]; - ffi_type* arg_types[5]; - - ffi_type s_type; - ffi_type *s_type_elements[3]; - - ffi_type l_type; - ffi_type *l_type_elements[6]; - - struct small_tag s1; - struct small_tag s2; - struct large_tag l1; - - int n; - struct small_tag res; - - s_type.size = 0; - s_type.alignment = 0; - s_type.type = FFI_TYPE_STRUCT; - s_type.elements = s_type_elements; - - s_type_elements[0] = &ffi_type_uchar; - s_type_elements[1] = &ffi_type_uchar; - s_type_elements[2] = NULL; - - l_type.size = 0; - l_type.alignment = 0; - l_type.type = FFI_TYPE_STRUCT; - l_type.elements = l_type_elements; - - l_type_elements[0] = &ffi_type_uint; - l_type_elements[1] = &ffi_type_uint; - l_type_elements[2] = &ffi_type_uint; - l_type_elements[3] = &ffi_type_uint; - l_type_elements[4] = &ffi_type_uint; - l_type_elements[5] = NULL; - - arg_types[0] = &ffi_type_sint; - arg_types[1] = &s_type; - arg_types[2] = &l_type; - arg_types[3] = &s_type; - arg_types[4] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 4, &s_type, arg_types) == FFI_OK); - - s1.a = 5; - s1.b = 6; - - l1.a = 10; - l1.b = 11; - l1.c = 12; - l1.d = 13; - l1.e = 14; - - s2.a = 7; - s2.b = 8; - - n = 41; - - args[0] = &n; - args[1] = &s1; - args[2] = &l1; - args[3] = &s2; - args[4] = NULL; - - ffi_call(&cif, FFI_FN(test_fn), &res, args); - /* { dg-output "5 6 10 11 12 13 14 7 8" } */ - printf("res: %d %d\n", res.a, res.b); - /* { dg-output "\nres: 12 14" } */ - CHECK(res.a == 12); - CHECK(res.b == 14); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c deleted file mode 100644 index d3bd280..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +++ /dev/null @@ -1,140 +0,0 @@ -/* Area: ffi_call - Purpose: Test passing struct in variable argument lists. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ -/* { dg-output "" { xfail avr32*-*-* } } */ - -#include "ffitest.h" -#include - -struct small_tag -{ - unsigned char a; - unsigned char b; -}; - -struct large_tag -{ - unsigned a; - unsigned b; - unsigned c; - unsigned d; - unsigned e; -}; - -static struct large_tag -test_fn (int n, ...) -{ - va_list ap; - struct small_tag s1; - struct small_tag s2; - struct large_tag l; - - va_start (ap, n); - s1 = va_arg (ap, struct small_tag); - l = va_arg (ap, struct large_tag); - s2 = va_arg (ap, struct small_tag); - printf ("%u %u %u %u %u %u %u %u %u\n", s1.a, s1.b, l.a, l.b, l.c, l.d, l.e, - s2.a, s2.b); - - CHECK(s1.a == 5); - CHECK(s1.b == 6); - CHECK(l.a == 10); - CHECK(l.b == 11); - CHECK(l.c == 12); - CHECK(l.d == 13); - CHECK(l.e == 14); - CHECK(s2.a == 7); - CHECK(s2.b == 8); - va_end (ap); - l.a += s1.a; - l.b += s1.b; - l.c += s2.a; - l.d += s2.b; - return l; -} - -int -main (void) -{ - ffi_cif cif; - void* args[5]; - ffi_type* arg_types[5]; - - ffi_type s_type; - ffi_type *s_type_elements[3]; - - ffi_type l_type; - ffi_type *l_type_elements[6]; - - struct small_tag s1; - struct small_tag s2; - struct large_tag l1; - - int n; - struct large_tag res; - - s_type.size = 0; - s_type.alignment = 0; - s_type.type = FFI_TYPE_STRUCT; - s_type.elements = s_type_elements; - - s_type_elements[0] = &ffi_type_uchar; - s_type_elements[1] = &ffi_type_uchar; - s_type_elements[2] = NULL; - - l_type.size = 0; - l_type.alignment = 0; - l_type.type = FFI_TYPE_STRUCT; - l_type.elements = l_type_elements; - - l_type_elements[0] = &ffi_type_uint; - l_type_elements[1] = &ffi_type_uint; - l_type_elements[2] = &ffi_type_uint; - l_type_elements[3] = &ffi_type_uint; - l_type_elements[4] = &ffi_type_uint; - l_type_elements[5] = NULL; - - arg_types[0] = &ffi_type_sint; - arg_types[1] = &s_type; - arg_types[2] = &l_type; - arg_types[3] = &s_type; - arg_types[4] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 4, &l_type, arg_types) == FFI_OK); - - s1.a = 5; - s1.b = 6; - - l1.a = 10; - l1.b = 11; - l1.c = 12; - l1.d = 13; - l1.e = 14; - - s2.a = 7; - s2.b = 8; - - n = 41; - - args[0] = &n; - args[1] = &s1; - args[2] = &l1; - args[3] = &s2; - args[4] = NULL; - - ffi_call(&cif, FFI_FN(test_fn), &res, args); - /* { dg-output "5 6 10 11 12 13 14 7 8" } */ - printf("res: %d %d %d %d %d\n", res.a, res.b, res.c, res.d, res.e); - /* { dg-output "\nres: 15 17 19 21 14" } */ - CHECK(res.a == 15); - CHECK(res.b == 17); - CHECK(res.c == 19); - CHECK(res.d == 21); - CHECK(res.e == 14); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp deleted file mode 100644 index ed4145c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (C) 2003, 2006, 2009, 2010, 2014, 2019 Free Software Foundation, Inc. -# Copyright (C) 2019 Anthony Green - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# . - -dg-init -libffi-init - -global srcdir subdir - -if { [string match $compiler_vendor "microsoft"] } { - # -wd4005 macro redefinition - # -wd4244 implicit conversion to type of smaller size - # -wd4305 truncation to smaller type - # -wd4477 printf %lu of uintptr_t - # -wd4312 implicit conversion to type of greater size - # -wd4311 pointer truncation to unsigned long - # -EHsc C++ Exception Handling (no SEH exceptions) - set additional_options "-wd4005 -wd4244 -wd4305 -wd4477 -wd4312 -wd4311 -EHsc"; -} else { - set additional_options ""; -} - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.c]] - -if { [libffi_feature_test "#if FFI_CLOSURES"] } { - run-many-tests $tlist "" -} else { - foreach test $tlist { - unsupported "$test" - } -} - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.cc]] - -# No C++ for or1k -if { [istarget "or1k-*-*"] } { - foreach test $tlist { - unsupported "$test" - } -} else { - if { [libffi_feature_test "#if FFI_CLOSURES"] } { - run-many-tests $tlist $additional_options - } else { - foreach test $tlist { - unsupported "$test" - } - } -} - -dg-finish - -# Local Variables: -# tcl-indent-level:4 -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c deleted file mode 100644 index dfadb05..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple values passing from different type. - Also, exceed the limit of gpr and fpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20030828 */ - - - - -/* { dg-do run } */ -#include "ffitest.h" - -static void -closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) + - (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] + - (int)(*(signed short *)args[4]) + - (int)(*(unsigned long long *)args[5]) + - (int)*(int *)args[6] + (int)(*(int *)args[7]) + - (int)(*(double *)args[8]) + (int)*(int *)args[9] + - (int)(*(int *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(int *)args[13]) + - (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]), - (int)(*(unsigned long long *)args[2]), - (int)*(int *)args[3], (int)(*(signed short *)args[4]), - (int)(*(unsigned long long *)args[5]), - (int)*(int *)args[6], (int)(*(int *)args[7]), - (int)(*(double *)args[8]), (int)*(int *)args[9], - (int)(*(int *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(int *)args[13]), - (int)(*(int *)args[14]),*(int *)args[15], - (int)(intptr_t)userdata, (int)*(ffi_arg *)resp); - CHECK((int)*(ffi_arg *)resp == 680); -} - -typedef int (*closure_test_type0)(unsigned long long, int, unsigned long long, - int, signed short, unsigned long long, int, - int, double, int, int, float, int, int, - int, int); - -int main (void) -{ - ffi_cif cif; - void * code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int res; - - cl_arg_types[0] = &ffi_type_uint64; - cl_arg_types[1] = &ffi_type_sint; - cl_arg_types[2] = &ffi_type_uint64; - cl_arg_types[3] = &ffi_type_sint; - cl_arg_types[4] = &ffi_type_sshort; - cl_arg_types[5] = &ffi_type_uint64; - cl_arg_types[6] = &ffi_type_sint; - cl_arg_types[7] = &ffi_type_sint; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_sint; - cl_arg_types[10] = &ffi_type_sint; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_sint; - cl_arg_types[13] = &ffi_type_sint; - cl_arg_types[14] = &ffi_type_sint; - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type0)code)) - (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13, - 19, 21, 1); - /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 680" } */ - CHECK(res == 680); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c deleted file mode 100644 index a90bb29..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Area: closure_call. - Purpose: Check multiple values passing from different type. - Also, exceed the limit of gpr and fpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - - -static void closure_test_fn1(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(float *)args[0] +(int)(*(float *)args[1]) + - (int)(*(float *)args[2]) + (int)*(float *)args[3] + - (int)(*(signed short *)args[4]) + (int)(*(float *)args[5]) + - (int)*(float *)args[6] + (int)(*(int *)args[7]) + - (int)(*(double*)args[8]) + (int)*(int *)args[9] + - (int)(*(int *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(int *)args[13]) + - (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(float *)args[0], (int)(*(float *)args[1]), - (int)(*(float *)args[2]), (int)*(float *)args[3], - (int)(*(signed short *)args[4]), (int)(*(float *)args[5]), - (int)*(float *)args[6], (int)(*(int *)args[7]), - (int)(*(double *)args[8]), (int)*(int *)args[9], - (int)(*(int *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(int *)args[13]), - (int)(*(int *)args[14]), *(int *)args[15], - (int)(intptr_t)userdata, (int)*(ffi_arg *)resp); - CHECK((int)*(ffi_arg *)resp == 255); -} - -typedef int (*closure_test_type1)(float, float, float, float, signed short, - float, float, int, double, int, int, float, - int, int, int, int); -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int res; - - cl_arg_types[0] = &ffi_type_float; - cl_arg_types[1] = &ffi_type_float; - cl_arg_types[2] = &ffi_type_float; - cl_arg_types[3] = &ffi_type_float; - cl_arg_types[4] = &ffi_type_sshort; - cl_arg_types[5] = &ffi_type_float; - cl_arg_types[6] = &ffi_type_float; - cl_arg_types[7] = &ffi_type_sint; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_sint; - cl_arg_types[10] = &ffi_type_sint; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_sint; - cl_arg_types[13] = &ffi_type_sint; - cl_arg_types[14] = &ffi_type_sint; - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn1, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type1)code)) - (1.1, 2.2, 3.3, 4.4, 127, 5.5, 6.6, 8, 9, 10, 11, 12.0, 13, - 19, 21, 1); - /* { dg-output "1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 255" } */ - CHECK(res == 255); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c deleted file mode 100644 index 7d7af4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple values passing from different type. - Also, exceed the limit of gpr and fpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void closure_test_fn2(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(double *)args[0] +(int)(*(double *)args[1]) + - (int)(*(double *)args[2]) + (int)*(double *)args[3] + - (int)(*(signed short *)args[4]) + (int)(*(double *)args[5]) + - (int)*(double *)args[6] + (int)(*(int *)args[7]) + - (int)(*(double *)args[8]) + (int)*(int *)args[9] + - (int)(*(int *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(float *)args[13]) + - (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(double *)args[0], (int)(*(double *)args[1]), - (int)(*(double *)args[2]), (int)*(double *)args[3], - (int)(*(signed short *)args[4]), (int)(*(double *)args[5]), - (int)*(double *)args[6], (int)(*(int *)args[7]), - (int)(*(double*)args[8]), (int)*(int *)args[9], - (int)(*(int *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(float *)args[13]), - (int)(*(int *)args[14]), *(int *)args[15], (int)(intptr_t)userdata, - (int)*(ffi_arg *)resp); - CHECK((int)*(ffi_arg *)resp == 255); -} - -typedef int (*closure_test_type2)(double, double, double, double, signed short, - double, double, int, double, int, int, float, - int, float, int, int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int res; - - cl_arg_types[0] = &ffi_type_double; - cl_arg_types[1] = &ffi_type_double; - cl_arg_types[2] = &ffi_type_double; - cl_arg_types[3] = &ffi_type_double; - cl_arg_types[4] = &ffi_type_sshort; - cl_arg_types[5] = &ffi_type_double; - cl_arg_types[6] = &ffi_type_double; - cl_arg_types[7] = &ffi_type_sint; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_sint; - cl_arg_types[10] = &ffi_type_sint; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_sint; - cl_arg_types[13] = &ffi_type_float; - cl_arg_types[14] = &ffi_type_sint; - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn2, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type2)code)) - (1, 2, 3, 4, 127, 5, 6, 8, 9, 10, 11, 12.0, 13, - 19.0, 21, 1); - /* { dg-output "1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 255" } */ - CHECK(res == 255); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c deleted file mode 100644 index 1ad8f9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple values passing from different type. - Also, exceed the limit of gpr and fpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void closure_test_fn3(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) - { - *(ffi_arg*)resp = - (int)*(float *)args[0] +(int)(*(float *)args[1]) + - (int)(*(float *)args[2]) + (int)*(float *)args[3] + - (int)(*(float *)args[4]) + (int)(*(float *)args[5]) + - (int)*(float *)args[6] + (int)(*(float *)args[7]) + - (int)(*(double *)args[8]) + (int)*(int *)args[9] + - (int)(*(float *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(float *)args[13]) + - (int)(*(float *)args[14]) + *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(float *)args[0], (int)(*(float *)args[1]), - (int)(*(float *)args[2]), (int)*(float *)args[3], - (int)(*(float *)args[4]), (int)(*(float *)args[5]), - (int)*(float *)args[6], (int)(*(float *)args[7]), - (int)(*(double *)args[8]), (int)*(int *)args[9], - (int)(*(float *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(float *)args[13]), - (int)(*(float *)args[14]), *(int *)args[15], (int)(intptr_t)userdata, - (int)*(ffi_arg *)resp); - - CHECK((int)*(float *)args[0] == 1); - CHECK((int)(*(float *)args[1]) == 2); - CHECK((int)(*(float *)args[2]) == 3); - CHECK((int)(*(float *)args[3]) == 4); - CHECK((int)(*(float *)args[4]) == 5); - CHECK((int)(*(float *)args[5]) == 6); - CHECK((int)*(float *)args[6] == 7); - CHECK((int)(*(float *)args[7]) == 8); - CHECK((int)(*(double *)args[8]) == 9); - CHECK((int)*(int *)args[9] == 10); - CHECK((int)(*(float *)args[10]) == 11); - CHECK((int)(*(float *)args[11]) == 12); - CHECK((int)*(int *)args[12] == 13); - CHECK((int)(*(float *)args[13]) == 19); - CHECK((int)(*(float *)args[14]) == 21); - CHECK(*(int *)args[15] == 1); - CHECK((int)(intptr_t)userdata == 3); - - CHECK((int)*(ffi_arg *)resp == 135); - } - -typedef int (*closure_test_type3)(float, float, float, float, float, float, - float, float, double, int, float, float, int, - float, float, int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int res; - - cl_arg_types[0] = &ffi_type_float; - cl_arg_types[1] = &ffi_type_float; - cl_arg_types[2] = &ffi_type_float; - cl_arg_types[3] = &ffi_type_float; - cl_arg_types[4] = &ffi_type_float; - cl_arg_types[5] = &ffi_type_float; - cl_arg_types[6] = &ffi_type_float; - cl_arg_types[7] = &ffi_type_float; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_sint; - cl_arg_types[10] = &ffi_type_float; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_sint; - cl_arg_types[13] = &ffi_type_float; - cl_arg_types[14] = &ffi_type_float; - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn3, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type3)code)) - (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9, 10, 11.11, 12.0, 13, - 19.19, 21.21, 1); - /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 19 21 1 3: 135" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 135" } */ - CHECK(res == 135); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c deleted file mode 100644 index e5f1f53..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple long long values passing. - Also, exceed the limit of gpr and fpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20031026 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static void -closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(unsigned long long *)args[0] + (int)*(unsigned long long *)args[1] + - (int)*(unsigned long long *)args[2] + (int)*(unsigned long long *)args[3] + - (int)*(unsigned long long *)args[4] + (int)*(unsigned long long *)args[5] + - (int)*(unsigned long long *)args[6] + (int)*(unsigned long long *)args[7] + - (int)*(unsigned long long *)args[8] + (int)*(unsigned long long *)args[9] + - (int)*(unsigned long long *)args[10] + - (int)*(unsigned long long *)args[11] + - (int)*(unsigned long long *)args[12] + - (int)*(unsigned long long *)args[13] + - (int)*(unsigned long long *)args[14] + - *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(unsigned long long *)args[0], - (int)*(unsigned long long *)args[1], - (int)*(unsigned long long *)args[2], - (int)*(unsigned long long *)args[3], - (int)*(unsigned long long *)args[4], - (int)*(unsigned long long *)args[5], - (int)*(unsigned long long *)args[6], - (int)*(unsigned long long *)args[7], - (int)*(unsigned long long *)args[8], - (int)*(unsigned long long *)args[9], - (int)*(unsigned long long *)args[10], - (int)*(unsigned long long *)args[11], - (int)*(unsigned long long *)args[12], - (int)*(unsigned long long *)args[13], - (int)*(unsigned long long *)args[14], - *(int *)args[15], - (int)(intptr_t)userdata, (int)*(ffi_arg *)resp); - CHECK((int)*(ffi_arg *)resp == 680); - -} - -typedef int (*closure_test_type0)(unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int i, res; - - for (i = 0; i < 15; i++) { - cl_arg_types[i] = &ffi_type_uint64; - } - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type0)code)) - (1LL, 2LL, 3LL, 4LL, 127LL, 429LL, 7LL, 8LL, 9LL, 10LL, 11LL, 12LL, - 13LL, 19LL, 21LL, 1); - /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 680" } */ - CHECK(res == 680); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c deleted file mode 100644 index 97277f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c +++ /dev/null @@ -1,94 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple long long values passing. - Exceed the limit of gpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20031026 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void -closure_test_fn5(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(unsigned long long *)args[0] + (int)*(unsigned long long *)args[1] + - (int)*(unsigned long long *)args[2] + (int)*(unsigned long long *)args[3] + - (int)*(unsigned long long *)args[4] + (int)*(unsigned long long *)args[5] + - (int)*(unsigned long long *)args[6] + (int)*(unsigned long long *)args[7] + - (int)*(unsigned long long *)args[8] + (int)*(unsigned long long *)args[9] + - (int)*(int *)args[10] + - (int)*(unsigned long long *)args[11] + - (int)*(unsigned long long *)args[12] + - (int)*(unsigned long long *)args[13] + - (int)*(unsigned long long *)args[14] + - *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(unsigned long long *)args[0], - (int)*(unsigned long long *)args[1], - (int)*(unsigned long long *)args[2], - (int)*(unsigned long long *)args[3], - (int)*(unsigned long long *)args[4], - (int)*(unsigned long long *)args[5], - (int)*(unsigned long long *)args[6], - (int)*(unsigned long long *)args[7], - (int)*(unsigned long long *)args[8], - (int)*(unsigned long long *)args[9], - (int)*(int *)args[10], - (int)*(unsigned long long *)args[11], - (int)*(unsigned long long *)args[12], - (int)*(unsigned long long *)args[13], - (int)*(unsigned long long *)args[14], - *(int *)args[15], - (int)(intptr_t)userdata, (int)*(ffi_arg *)resp); - CHECK((int)*(ffi_arg *)resp == 680); - -} - -typedef int (*closure_test_type0)(unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, unsigned long long, - int, unsigned long long, - unsigned long long, unsigned long long, - unsigned long long, int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int i, res; - - for (i = 0; i < 10; i++) { - cl_arg_types[i] = &ffi_type_uint64; - } - cl_arg_types[10] = &ffi_type_sint; - for (i = 11; i < 15; i++) { - cl_arg_types[i] = &ffi_type_uint64; - } - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn5, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type0)code)) - (1LL, 2LL, 3LL, 4LL, 127LL, 429LL, 7LL, 8LL, 9LL, 10LL, 11, 12LL, - 13LL, 19LL, 21LL, 1); - /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 680" } */ - CHECK(res == 680); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c deleted file mode 100644 index fb079e2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c +++ /dev/null @@ -1,92 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple values passing from different type. - Also, exceed the limit of gpr and fpr registers on PowerPC. - Limitations: none. - PR: PR23404 - Originator: 20050830 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void -closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(unsigned long long *)args[0] + - (int)(*(unsigned long long *)args[1]) + - (int)(*(unsigned long long *)args[2]) + - (int)*(unsigned long long *)args[3] + - (int)(*(int *)args[4]) + (int)(*(double *)args[5]) + - (int)*(double *)args[6] + (int)(*(float *)args[7]) + - (int)(*(double *)args[8]) + (int)*(double *)args[9] + - (int)(*(int *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(int *)args[13]) + - (int)(*(double *)args[14]) + (int)*(double *)args[15] + - (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(unsigned long long *)args[0], - (int)(*(unsigned long long *)args[1]), - (int)(*(unsigned long long *)args[2]), - (int)*(unsigned long long *)args[3], - (int)(*(int *)args[4]), (int)(*(double *)args[5]), - (int)*(double *)args[6], (int)(*(float *)args[7]), - (int)(*(double *)args[8]), (int)*(double *)args[9], - (int)(*(int *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(int *)args[13]), - (int)(*(double *)args[14]), (int)(*(double *)args[15]), - (int)(intptr_t)userdata, (int)*(ffi_arg *)resp); - CHECK((int)*(ffi_arg *)resp == 680); - -} - -typedef int (*closure_test_type0)(unsigned long long, - unsigned long long, - unsigned long long, - unsigned long long, - int, double, double, float, double, double, - int, float, int, int, double, double); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int res; - - cl_arg_types[0] = &ffi_type_uint64; - cl_arg_types[1] = &ffi_type_uint64; - cl_arg_types[2] = &ffi_type_uint64; - cl_arg_types[3] = &ffi_type_uint64; - cl_arg_types[4] = &ffi_type_sint; - cl_arg_types[5] = &ffi_type_double; - cl_arg_types[6] = &ffi_type_double; - cl_arg_types[7] = &ffi_type_float; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_double; - cl_arg_types[10] = &ffi_type_sint; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_sint; - cl_arg_types[13] = &ffi_type_sint; - cl_arg_types[14] = &ffi_type_double; - cl_arg_types[15] = &ffi_type_double; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*((closure_test_type0)code)) - (1, 2, 3, 4, 127, 429., 7., 8., 9.5, 10., 11, 12., 13, - 19, 21., 1.); - /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 680" } */ - CHECK(res == 680); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c deleted file mode 100644 index f344a60..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c +++ /dev/null @@ -1,96 +0,0 @@ -/* Area: closure_call - Purpose: Check multiple values passing from different type. - Also, exceed the limit of gpr and fpr registers on PowerPC - Darwin. - Limitations: none. - PR: none. - Originator: 20030828 */ - - -#include "ffitest.h" - -static void -closure_loc_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata) -{ - *(ffi_arg*)resp = - (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) + - (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] + - (int)(*(signed short *)args[4]) + - (int)(*(unsigned long long *)args[5]) + - (int)*(int *)args[6] + (int)(*(int *)args[7]) + - (int)(*(double *)args[8]) + (int)*(int *)args[9] + - (int)(*(int *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(int *)args[13]) + - (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]), - (int)(*(unsigned long long *)args[2]), - (int)*(int *)args[3], (int)(*(signed short *)args[4]), - (int)(*(unsigned long long *)args[5]), - (int)*(int *)args[6], (int)(*(int *)args[7]), - (int)(*(double *)args[8]), (int)*(int *)args[9], - (int)(*(int *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(int *)args[13]), - (int)(*(int *)args[14]),*(int *)args[15], - (int)(intptr_t)userdata, (int)*(ffi_arg *)resp); - -} - -typedef int (*closure_loc_test_type0)(unsigned long long, int, unsigned long long, - int, signed short, unsigned long long, int, - int, double, int, int, float, int, int, - int, int); - -int main (void) -{ - ffi_cif cif; - ffi_closure *pcl; - ffi_type * cl_arg_types[17]; - int res; - void *codeloc; - - cl_arg_types[0] = &ffi_type_uint64; - cl_arg_types[1] = &ffi_type_sint; - cl_arg_types[2] = &ffi_type_uint64; - cl_arg_types[3] = &ffi_type_sint; - cl_arg_types[4] = &ffi_type_sshort; - cl_arg_types[5] = &ffi_type_uint64; - cl_arg_types[6] = &ffi_type_sint; - cl_arg_types[7] = &ffi_type_sint; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_sint; - cl_arg_types[10] = &ffi_type_sint; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_sint; - cl_arg_types[13] = &ffi_type_sint; - cl_arg_types[14] = &ffi_type_sint; - cl_arg_types[15] = &ffi_type_sint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - pcl = ffi_closure_alloc(sizeof(ffi_closure), &codeloc); - CHECK(pcl != NULL); - CHECK(codeloc != NULL); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_loc_test_fn0, - (void *) 3 /* userdata */, codeloc) == FFI_OK); - -#if !defined(FFI_EXEC_STATIC_TRAMP) && !defined(__EMSCRIPTEN__) - /* With static trampolines, the codeloc does not point to closure */ - CHECK(memcmp(pcl, FFI_CL(codeloc), sizeof(*pcl)) == 0); -#endif - - res = (*((closure_loc_test_type0)codeloc)) - (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13, - 19, 21, 1); - /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 680" } */ - CHECK(res == 680); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c deleted file mode 100644 index a18b4a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Area: closure_call - Purpose: Check simple closure handling with all ABIs - Limitations: none. - PR: none. - Originator: */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void -closure_test(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata) -{ - *(ffi_arg*)resp = - (int)*(int *)args[0] + (int)(*(int *)args[1]) - + (int)(*(int *)args[2]) + (int)(*(int *)args[3]) - + (int)(intptr_t)userdata; - - printf("%d %d %d %d: %d\n", - (int)*(int *)args[0], (int)(*(int *)args[1]), - (int)(*(int *)args[2]), (int)(*(int *)args[3]), - (int)*(ffi_arg *)resp); - - CHECK((int)*(int *)args[0] == 0); - CHECK((int)*(int *)args[1] == 1); - CHECK((int)*(int *)args[2] == 2); - CHECK((int)*(int *)args[3] == 3); - CHECK((int)*(ffi_arg *)resp == 9); -} - -typedef int (ABI_ATTR *closure_test_type0)(int, int, int, int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - int res; - - cl_arg_types[0] = &ffi_type_uint; - cl_arg_types[1] = &ffi_type_uint; - cl_arg_types[2] = &ffi_type_uint; - cl_arg_types[3] = &ffi_type_uint; - cl_arg_types[4] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 4, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test, - (void *) 3 /* userdata */, code) == FFI_OK); - - res = (*(closure_test_type0)code)(0, 1, 2, 3); - /* { dg-output "0 1 2 3: 9" } */ - - printf("res: %d\n",res); - /* { dg-output "\nres: 9" } */ - CHECK(res == 9); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c deleted file mode 100644 index a1fdcd7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_12byte { - int a; - int b; - int c; -} cls_struct_12byte; - -cls_struct_12byte cls_struct_12byte_fn(struct cls_struct_12byte b1, - struct cls_struct_12byte b2) -{ - struct cls_struct_12byte result; - - result.a = b1.a + b2.a; - result.b = b1.b + b2.b; - result.c = b1.c + b2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", b1.a, b1.b, b1.c, b2.a, b2.b, b2.c, - result.a, result.b, result.c); - - CHECK(b1.a == 7); - CHECK(b1.b == 4); - CHECK(b1.c == 9); - - CHECK(b2.a == 1); - CHECK(b2.b == 5); - CHECK(b2.c == 3); - - CHECK(result.a == 8); - CHECK(result.b == 9); - CHECK(result.c == 12); - return result; -} - -static void cls_struct_12byte_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args , void* userdata __UNUSED__) -{ - struct cls_struct_12byte b1, b2; - - b1 = *(struct cls_struct_12byte*)(args[0]); - b2 = *(struct cls_struct_12byte*)(args[1]); - - *(cls_struct_12byte*)resp = cls_struct_12byte_fn(b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_12byte h_dbl = { 7, 4, 9 }; - struct cls_struct_12byte j_dbl = { 1, 5, 3 }; - struct cls_struct_12byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = &ffi_type_sint; - cls_struct_fields[2] = &ffi_type_sint; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &h_dbl; - args_dbl[1] = &j_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_12byte_fn), &res_dbl, args_dbl); - /* { dg-output "7 4 9 1 5 3: 8 9 12" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 8 9 12" } */ - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 9); - CHECK(res_dbl.c == 12); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_12byte_gn, NULL, code) == FFI_OK); - - res_dbl.a = 0; - res_dbl.b = 0; - res_dbl.c = 0; - - res_dbl = ((cls_struct_12byte(*)(cls_struct_12byte, cls_struct_12byte))(code))(h_dbl, j_dbl); - /* { dg-output "\n7 4 9 1 5 3: 8 9 12" } */ - - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 8 9 12" } */ - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 9); - CHECK(res_dbl.c == 12); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c deleted file mode 100644 index 57fe873..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c +++ /dev/null @@ -1,117 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_16byte { - int a; - double b; - int c; -} cls_struct_16byte; - -cls_struct_16byte cls_struct_16byte_fn(struct cls_struct_16byte b1, - struct cls_struct_16byte b2) -{ - struct cls_struct_16byte result; - - result.a = b1.a + b2.a; - result.b = b1.b + b2.b; - result.c = b1.c + b2.c; - - printf("%d %g %d %d %g %d: %d %g %d\n", b1.a, b1.b, b1.c, b2.a, b2.b, b2.c, - result.a, result.b, result.c); - - CHECK(b1.a == 7); - CHECK(b1.b == 8); - CHECK(b1.c == 9); - - CHECK(b2.a == 1); - CHECK(b2.b == 9); - CHECK(b2.c == 3); - - CHECK(result.a == 8); - CHECK(result.b == 17); - CHECK(result.c == 12); - - - return result; -} - -static void cls_struct_16byte_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - struct cls_struct_16byte b1, b2; - - b1 = *(struct cls_struct_16byte*)(args[0]); - b2 = *(struct cls_struct_16byte*)(args[1]); - - *(cls_struct_16byte*)resp = cls_struct_16byte_fn(b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_16byte h_dbl = { 7, 8.0, 9 }; - struct cls_struct_16byte j_dbl = { 1, 9.0, 3 }; - struct cls_struct_16byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_sint; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &h_dbl; - args_dbl[1] = &j_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_16byte_fn), &res_dbl, args_dbl); - /* { dg-output "7 8 9 1 9 3: 8 17 12" } */ - printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 8 17 12" } */ - - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 17); - CHECK(res_dbl.c == 12); - - res_dbl.a = 0; - res_dbl.b = 0.0; - res_dbl.c = 0; - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_16byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_16byte(*)(cls_struct_16byte, cls_struct_16byte))(code))(h_dbl, j_dbl); - /* { dg-output "\n7 8 9 1 9 3: 8 17 12" } */ - printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 8 17 12" } */ - - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 17); - CHECK(res_dbl.c == 12); - - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c deleted file mode 100644 index 3783121..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Double alignment check on darwin. - Limitations: none. - PR: none. - Originator: 20030915 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_18byte { - double a; - unsigned char b; - unsigned char c; - double d; -} cls_struct_18byte; - -cls_struct_18byte cls_struct_18byte_fn(struct cls_struct_18byte a1, - struct cls_struct_18byte a2) -{ - struct cls_struct_18byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - - - printf("%g %d %d %g %g %d %d %g: %g %d %d %g\n", a1.a, a1.b, a1.c, a1.d, - a2.a, a2.b, a2.c, a2.d, - result.a, result.b, result.c, result.d); - - CHECK(a1.a == 1); - CHECK(a1.b == 127); - CHECK(a1.c == 126); - CHECK(a1.d == 3); - - CHECK(a2.a == 4); - CHECK(a2.b == 125); - CHECK(a2.c == 124); - CHECK(a2.d == 5); - - CHECK(result.a == 5); - CHECK(result.b == 252); - CHECK(result.c == 250); - CHECK(result.d == 8); - - return result; -} - -static void -cls_struct_18byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_18byte a1, a2; - - a1 = *(struct cls_struct_18byte*)(args[0]); - a2 = *(struct cls_struct_18byte*)(args[1]); - - *(cls_struct_18byte*)resp = cls_struct_18byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[5]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_18byte g_dbl = { 1.0, 127, 126, 3.0 }; - struct cls_struct_18byte f_dbl = { 4.0, 125, 124, 5.0 }; - struct cls_struct_18byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_18byte_fn), &res_dbl, args_dbl); - /* { dg-output "1 127 126 3 4 125 124 5: 5 252 250 8" } */ - printf("res: %g %d %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 5 252 250 8" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 252); - CHECK(res_dbl.c == 250); - CHECK(res_dbl.d == 8); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_18byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_18byte(*)(cls_struct_18byte, cls_struct_18byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 127 126 3 4 125 124 5: 5 252 250 8" } */ - printf("res: %g %d %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 5 252 250 8" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 252); - CHECK(res_dbl.c == 250); - CHECK(res_dbl.d == 8); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c deleted file mode 100644 index 98ce65a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c +++ /dev/null @@ -1,131 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Double alignment check on darwin. - Limitations: none. - PR: none. - Originator: 20030915 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_19byte { - double a; - unsigned char b; - unsigned char c; - double d; - unsigned char e; -} cls_struct_19byte; - -cls_struct_19byte cls_struct_19byte_fn(struct cls_struct_19byte a1, - struct cls_struct_19byte a2) -{ - struct cls_struct_19byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - result.e = a1.e + a2.e; - - - printf("%g %d %d %g %d %g %d %d %g %d: %g %d %d %g %d\n", - a1.a, a1.b, a1.c, a1.d, a1.e, - a2.a, a2.b, a2.c, a2.d, a2.e, - result.a, result.b, result.c, result.d, result.e); - - CHECK(a1.a == 1); - CHECK(a1.b == 127); - CHECK(a1.c == 126); - CHECK(a1.d == 3); - CHECK(a1.e == 120); - - CHECK(a2.a == 4); - CHECK(a2.b == 125); - CHECK(a2.c == 124); - CHECK(a2.d == 5); - CHECK(a2.e == 119); - - CHECK(result.a == 5); - CHECK(result.b == 252); - CHECK(result.c == 250); - CHECK(result.d == 8); - CHECK(result.e == 239); - - return result; -} - -static void -cls_struct_19byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_19byte a1, a2; - - a1 = *(struct cls_struct_19byte*)(args[0]); - a2 = *(struct cls_struct_19byte*)(args[1]); - - *(cls_struct_19byte*)resp = cls_struct_19byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[6]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_19byte g_dbl = { 1.0, 127, 126, 3.0, 120 }; - struct cls_struct_19byte f_dbl = { 4.0, 125, 124, 5.0, 119 }; - struct cls_struct_19byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = &ffi_type_uchar; - cls_struct_fields[5] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_19byte_fn), &res_dbl, args_dbl); - /* { dg-output "1 127 126 3 120 4 125 124 5 119: 5 252 250 8 239" } */ - printf("res: %g %d %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e); - /* { dg-output "\nres: 5 252 250 8 239" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 252); - CHECK(res_dbl.c == 250); - CHECK(res_dbl.d == 8); - CHECK(res_dbl.e == 239); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_19byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_19byte(*)(cls_struct_19byte, cls_struct_19byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 127 126 3 120 4 125 124 5 119: 5 252 250 8 239" } */ - printf("res: %g %d %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e); - /* { dg-output "\nres: 5 252 250 8 239" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 252); - CHECK(res_dbl.c == 250); - CHECK(res_dbl.d == 8); - CHECK(res_dbl.e == 239); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c deleted file mode 100644 index 49e33b9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Especially with small structures which may fit in one - register. Depending on the ABI. - Limitations: none. - PR: none. - Originator: 20030902 */ - - - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_1_1byte { - unsigned char a; -} cls_struct_1_1byte; - -cls_struct_1_1byte cls_struct_1_1byte_fn(struct cls_struct_1_1byte a1, - struct cls_struct_1_1byte a2) -{ - struct cls_struct_1_1byte result; - - result.a = a1.a + a2.a; - - printf("%d %d: %d\n", a1.a, a2.a, result.a); - CHECK(a1.a == 12); - CHECK(a2.a == 178); - CHECK(result.a == 190); - - return result; -} - -static void -cls_struct_1_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_1_1byte a1, a2; - - a1 = *(struct cls_struct_1_1byte*)(args[0]); - a2 = *(struct cls_struct_1_1byte*)(args[1]); - - *(cls_struct_1_1byte*)resp = cls_struct_1_1byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[2]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_1_1byte g_dbl = { 12 }; - struct cls_struct_1_1byte f_dbl = { 178 }; - struct cls_struct_1_1byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_1_1byte_fn), &res_dbl, args_dbl); - /* { dg-output "12 178: 190" } */ - printf("res: %d\n", res_dbl.a); - /* { dg-output "\nres: 190" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_1_1byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_1_1byte(*)(cls_struct_1_1byte, cls_struct_1_1byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 178: 190" } */ - printf("res: %d\n", res_dbl.a); - /* { dg-output "\nres: 190" } */ - CHECK(res_dbl.a == 190); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c deleted file mode 100644 index fdae6f7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_20byte { - double a; - double b; - int c; -} cls_struct_20byte; - -static cls_struct_20byte cls_struct_20byte_fn(struct cls_struct_20byte a1, - struct cls_struct_20byte a2) -{ - struct cls_struct_20byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%g %g %d %g %g %d: %g %g %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, - result.a, result.b, result.c); - - CHECK(a1.a == 1); - CHECK(a1.b == 2); - CHECK(a1.c == 3); - - CHECK(a2.a == 4); - CHECK(a2.b == 5); - CHECK(a2.c == 7); - - CHECK(result.a == 5); - CHECK(result.b == 7); - CHECK(result.c == 10); - return result; -} - -static void -cls_struct_20byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_20byte a1, a2; - - a1 = *(struct cls_struct_20byte*)(args[0]); - a2 = *(struct cls_struct_20byte*)(args[1]); - - *(cls_struct_20byte*)resp = cls_struct_20byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_20byte g_dbl = { 1.0, 2.0, 3 }; - struct cls_struct_20byte f_dbl = { 4.0, 5.0, 7 }; - struct cls_struct_20byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_sint; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_20byte_fn), &res_dbl, args_dbl); - /* { dg-output "1 2 3 4 5 7: 5 7 10" } */ - printf("res: %g %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 5 7 10" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 7); - CHECK(res_dbl.c == 10); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_20byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_20byte(*)(cls_struct_20byte, cls_struct_20byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 2 3 4 5 7: 5 7 10" } */ - printf("res: %g %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 5 7 10" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 7); - CHECK(res_dbl.c == 10); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c deleted file mode 100644 index e6979b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c +++ /dev/null @@ -1,113 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - - - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_20byte { - int a; - double b; - double c; -} cls_struct_20byte; - -static cls_struct_20byte cls_struct_20byte_fn(struct cls_struct_20byte a1, - struct cls_struct_20byte a2) -{ - struct cls_struct_20byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %g %g %d %g %g: %d %g %g\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, - result.a, result.b, result.c); - - CHECK(a1.a == 1); - CHECK(a1.b == 2); - CHECK(a1.c == 3); - - CHECK(a2.a == 4); - CHECK(a2.b == 5); - CHECK(a2.c == 7); - - CHECK(result.a == 5); - CHECK(result.b == 7); - CHECK(result.c == 10); - - return result; -} - -static void -cls_struct_20byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_20byte a1, a2; - - a1 = *(struct cls_struct_20byte*)(args[0]); - a2 = *(struct cls_struct_20byte*)(args[1]); - - *(cls_struct_20byte*)resp = cls_struct_20byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_20byte g_dbl = { 1, 2.0, 3.0 }; - struct cls_struct_20byte f_dbl = { 4, 5.0, 7.0 }; - struct cls_struct_20byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_double; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_20byte_fn), &res_dbl, args_dbl); - /* { dg-output "1 2 3 4 5 7: 5 7 10" } */ - printf("res: %d %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 5 7 10" } */ - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 7); - CHECK(res_dbl.c == 10); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_20byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_20byte(*)(cls_struct_20byte, cls_struct_20byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 2 3 4 5 7: 5 7 10" } */ - printf("res: %d %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 5 7 10" } */ - - CHECK(res_dbl.a == 5); - CHECK(res_dbl.b == 7); - CHECK(res_dbl.c == 10); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c deleted file mode 100644 index b204966..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c +++ /dev/null @@ -1,145 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_24byte { - double a; - double b; - int c; - float d; -} cls_struct_24byte; - -cls_struct_24byte cls_struct_24byte_fn(struct cls_struct_24byte b0, - struct cls_struct_24byte b1, - struct cls_struct_24byte b2, - struct cls_struct_24byte b3) -{ - struct cls_struct_24byte result; - - result.a = b0.a + b1.a + b2.a + b3.a; - result.b = b0.b + b1.b + b2.b + b3.b; - result.c = b0.c + b1.c + b2.c + b3.c; - result.d = b0.d + b1.d + b2.d + b3.d; - - printf("%g %g %d %g %g %g %d %g %g %g %d %g %g %g %d %g: %g %g %d %g\n", - b0.a, b0.b, b0.c, b0.d, - b1.a, b1.b, b1.c, b1.d, - b2.a, b2.b, b2.c, b2.d, - b3.a, b3.b, b3.c, b3.d, - result.a, result.b, result.c, result.d); - CHECK_DOUBLE_EQ(b0.a, 9); - CHECK_DOUBLE_EQ(b0.b, 2); - CHECK(b0.c == 6); - CHECK_FLOAT_EQ(b0.d, 5); - - CHECK_DOUBLE_EQ(b1.a, 1); - CHECK_DOUBLE_EQ(b1.b, 2); - CHECK(b1.c == 3); - CHECK_FLOAT_EQ(b1.d, 7); - - CHECK_DOUBLE_EQ(b2.a, 4); - CHECK_DOUBLE_EQ(b2.b, 5); - CHECK(b2.c == 7); - CHECK_FLOAT_EQ(b2.d, 9); - - CHECK_DOUBLE_EQ(b3.a, 8); - CHECK_DOUBLE_EQ(b3.b, 6); - CHECK(b3.c == 1); - CHECK_FLOAT_EQ(b3.d, 4); - - CHECK_DOUBLE_EQ(result.a, 22); - CHECK_DOUBLE_EQ(result.b, 15); - CHECK(result.c == 17); - CHECK_FLOAT_EQ(result.d, 25); - - return result; -} - -static void -cls_struct_24byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_24byte b0, b1, b2, b3; - - b0 = *(struct cls_struct_24byte*)(args[0]); - b1 = *(struct cls_struct_24byte*)(args[1]); - b2 = *(struct cls_struct_24byte*)(args[2]); - b3 = *(struct cls_struct_24byte*)(args[3]); - - *(cls_struct_24byte*)resp = cls_struct_24byte_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[5]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_24byte e_dbl = { 9.0, 2.0, 6, 5.0 }; - struct cls_struct_24byte f_dbl = { 1.0, 2.0, 3, 7.0 }; - struct cls_struct_24byte g_dbl = { 4.0, 5.0, 7, 9.0 }; - struct cls_struct_24byte h_dbl = { 8.0, 6.0, 1, 4.0 }; - struct cls_struct_24byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_sint; - cls_struct_fields[3] = &ffi_type_float; - cls_struct_fields[4] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = &cls_struct_type; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_24byte_fn), &res_dbl, args_dbl); - /* { dg-output "9 2 6 5 1 2 3 7 4 5 7 9 8 6 1 4: 22 15 17 25" } */ - printf("res: %g %g %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 22 15 17 25" } */ - CHECK_DOUBLE_EQ(res_dbl.a, 22); - CHECK_DOUBLE_EQ(res_dbl.b, 15); - CHECK(res_dbl.c == 17); - CHECK_FLOAT_EQ(res_dbl.d, 25); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_24byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_24byte(*)(cls_struct_24byte, - cls_struct_24byte, - cls_struct_24byte, - cls_struct_24byte)) - (code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n9 2 6 5 1 2 3 7 4 5 7 9 8 6 1 4: 22 15 17 25" } */ - printf("res: %g %g %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 22 15 17 25" } */ - CHECK_DOUBLE_EQ(res_dbl.a, 22); - CHECK_DOUBLE_EQ(res_dbl.b, 15); - CHECK(res_dbl.c == 17); - CHECK_FLOAT_EQ(res_dbl.d, 25); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c deleted file mode 100644 index c5209b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Especially with small structures which may fit in one - register. Depending on the ABI. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_2byte { - unsigned char a; - unsigned char b; -} cls_struct_2byte; - -cls_struct_2byte cls_struct_2byte_fn(struct cls_struct_2byte a1, - struct cls_struct_2byte a2) -{ - struct cls_struct_2byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - - printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b); - - CHECK(a1.a == 12); - CHECK(a1.b == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 13); - - CHECK(result.a == 13); - CHECK(result.b == 140); - - return result; -} - -static void -cls_struct_2byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_2byte a1, a2; - - a1 = *(struct cls_struct_2byte*)(args[0]); - a2 = *(struct cls_struct_2byte*)(args[1]); - - *(cls_struct_2byte*)resp = cls_struct_2byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_2byte g_dbl = { 12, 127 }; - struct cls_struct_2byte f_dbl = { 1, 13 }; - struct cls_struct_2byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_2byte_fn), &res_dbl, args_dbl); - /* { dg-output "12 127 1 13: 13 140" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 13 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_2byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_2byte(*)(cls_struct_2byte, cls_struct_2byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 127 1 13: 13 140" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 13 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c deleted file mode 100644 index aaa7ccc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Especially with small structures which may fit in one - register. Depending on the ABI. - Limitations: none. - PR: none. - Originator: 20030902 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_3_1byte { - unsigned char a; - unsigned char b; - unsigned char c; -} cls_struct_3_1byte; - -cls_struct_3_1byte cls_struct_3_1byte_fn(struct cls_struct_3_1byte a1, - struct cls_struct_3_1byte a2) -{ - struct cls_struct_3_1byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, - a2.a, a2.b, a2.c, - result.a, result.b, result.c); - - CHECK(a1.a == 12); - CHECK(a1.b == 13); - CHECK(a1.c == 14); - - CHECK(a2.a == 178); - CHECK(a2.b == 179); - CHECK(a2.c == 180); - - CHECK(result.a == 190); - CHECK(result.b == 192); - CHECK(result.c == 194); - - return result; -} - -static void -cls_struct_3_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_3_1byte a1, a2; - - a1 = *(struct cls_struct_3_1byte*)(args[0]); - a2 = *(struct cls_struct_3_1byte*)(args[1]); - - *(cls_struct_3_1byte*)resp = cls_struct_3_1byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_3_1byte g_dbl = { 12, 13, 14 }; - struct cls_struct_3_1byte f_dbl = { 178, 179, 180 }; - struct cls_struct_3_1byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_3_1byte_fn), &res_dbl, args_dbl); - /* { dg-output "12 13 14 178 179 180: 190 192 194" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 190 192 194" } */ - CHECK(res_dbl.a == 190); - CHECK(res_dbl.b == 192); - CHECK(res_dbl.c == 194); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3_1byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_3_1byte(*)(cls_struct_3_1byte, cls_struct_3_1byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 13 14 178 179 180: 190 192 194" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 190 192 194" } */ - - CHECK(res_dbl.a == 190); - CHECK(res_dbl.b == 192); - CHECK(res_dbl.c == 194); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c deleted file mode 100644 index b424917..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Especially with small structures which may fit in one - register. Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_3byte { - unsigned short a; - unsigned char b; -} cls_struct_3byte; - -cls_struct_3byte cls_struct_3byte_fn(struct cls_struct_3byte a1, - struct cls_struct_3byte a2) -{ - struct cls_struct_3byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - - printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b); - - CHECK(a1.a == 12); - CHECK(a1.b == 119); - - CHECK(a2.a == 1); - CHECK(a2.b == 15); - - CHECK(result.a == 13); - CHECK(result.b == 134); - - return result; -} - -static void -cls_struct_3byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_3byte a1, a2; - - a1 = *(struct cls_struct_3byte*)(args[0]); - a2 = *(struct cls_struct_3byte*)(args[1]); - - *(cls_struct_3byte*)resp = cls_struct_3byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_3byte g_dbl = { 12, 119 }; - struct cls_struct_3byte f_dbl = { 1, 15 }; - struct cls_struct_3byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_ushort; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_3byte_fn), &res_dbl, args_dbl); - /* { dg-output "12 119 1 15: 13 134" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 13 134" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 134); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_3byte(*)(cls_struct_3byte, cls_struct_3byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 119 1 15: 13 134" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 13 134" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 134); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c deleted file mode 100644 index f13590e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Especially with small structures which may fit in one - register. Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_3byte_1 { - unsigned char a; - unsigned short b; -} cls_struct_3byte_1; - -cls_struct_3byte_1 cls_struct_3byte_fn1(struct cls_struct_3byte_1 a1, - struct cls_struct_3byte_1 a2) -{ - struct cls_struct_3byte_1 result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - - printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b); - - CHECK(a1.a == 15); - CHECK(a1.b == 125); - - CHECK(a2.a == 9); - CHECK(a2.b == 19); - - CHECK(result.a == 24); - CHECK(result.b == 144); - - return result; -} - -static void -cls_struct_3byte_gn1(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_3byte_1 a1, a2; - - a1 = *(struct cls_struct_3byte_1*)(args[0]); - a2 = *(struct cls_struct_3byte_1*)(args[1]); - - *(cls_struct_3byte_1*)resp = cls_struct_3byte_fn1(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_3byte_1 g_dbl = { 15, 125 }; - struct cls_struct_3byte_1 f_dbl = { 9, 19 }; - struct cls_struct_3byte_1 res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_ushort; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_3byte_fn1), &res_dbl, args_dbl); - /* { dg-output "15 125 9 19: 24 144" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 24 144" } */ - CHECK(res_dbl.a == 24); - CHECK(res_dbl.b == 144); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3byte_gn1, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_3byte_1(*)(cls_struct_3byte_1, cls_struct_3byte_1))(code))(g_dbl, f_dbl); - /* { dg-output "\n15 125 9 19: 24 144" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 24 144" } */ - CHECK(res_dbl.a == 24); - CHECK(res_dbl.b == 144); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c deleted file mode 100644 index 63171bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +++ /dev/null @@ -1,113 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations:>none. - PR: none. - Originator: 20171026 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -typedef struct cls_struct_3float { - float f; - float g; - float h; -} cls_struct_3float; - -cls_struct_3float cls_struct_3float_fn(struct cls_struct_3float a1, - struct cls_struct_3float a2) -{ - struct cls_struct_3float result; - - result.f = a1.f + a2.f; - result.g = a1.g + a2.g; - result.h = a1.h + a2.h; - - printf("%g %g %g %g %g %g: %g %g %g\n", a1.f, a1.g, a1.h, - a2.f, a2.g, a2.h, result.f, result.g, result.h); - - CHECK_FLOAT_EQ(a1.f, 1); - CHECK_FLOAT_EQ(a1.g, 2); - CHECK_FLOAT_EQ(a1.h, 3); - - CHECK_FLOAT_EQ(a2.f, 1); - CHECK_FLOAT_EQ(a2.g, 2); - CHECK_FLOAT_EQ(a2.h, 3); - - CHECK_FLOAT_EQ(result.f, 2); - CHECK_FLOAT_EQ(result.g, 4); - CHECK_FLOAT_EQ(result.h, 6); - - return result; -} - -static void -cls_struct_3float_gn(ffi_cif *cif __UNUSED__, void* resp, void **args, - void* userdata __UNUSED__) -{ - struct cls_struct_3float a1, a2; - - a1 = *(struct cls_struct_3float*)(args[0]); - a2 = *(struct cls_struct_3float*)(args[1]); - - *(cls_struct_3float*)resp = cls_struct_3float_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void *args_dbl[3]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_3float g_dbl = { 1.0f, 2.0f, 3.0f }; - struct cls_struct_3float f_dbl = { 1.0f, 2.0f, 3.0f }; - struct cls_struct_3float res_dbl; - - cls_struct_fields[0] = &ffi_type_float; - cls_struct_fields[1] = &ffi_type_float; - cls_struct_fields[2] = &ffi_type_float; - cls_struct_fields[3] = NULL; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_3float_fn), &res_dbl, args_dbl); - /* { dg-output "1 2 3 1 2 3: 2 4 6" } */ - printf("res: %g %g %g\n", res_dbl.f, res_dbl.g, res_dbl.h); - /* { dg-output "\nres: 2 4 6" } */ - CHECK_FLOAT_EQ(res_dbl.f, 2); - CHECK_FLOAT_EQ(res_dbl.g, 4); - CHECK_FLOAT_EQ(res_dbl.h, 6); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3float_gn, NULL, code) == - FFI_OK); - - res_dbl = ((cls_struct_3float(*)(cls_struct_3float, - cls_struct_3float))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 2 3 1 2 3: 2 4 6" } */ - printf("res: %g %g %g\n", res_dbl.f, res_dbl.g, res_dbl.h); - /* { dg-output "\nres: 2 4 6" } */ - CHECK_FLOAT_EQ(res_dbl.f, 2); - CHECK_FLOAT_EQ(res_dbl.g, 4); - CHECK_FLOAT_EQ(res_dbl.h, 6); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c deleted file mode 100644 index b5d3f70..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Especially with small structures which may fit in one - register. Depending on the ABI. - Limitations: none. - PR: none. - Originator: 20030902 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_4_1byte { - unsigned char a; - unsigned char b; - unsigned char c; - unsigned char d; -} cls_struct_4_1byte; - -cls_struct_4_1byte cls_struct_4_1byte_fn(struct cls_struct_4_1byte a1, - struct cls_struct_4_1byte a2) -{ - struct cls_struct_4_1byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - - printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d, - a2.a, a2.b, a2.c, a2.d, - result.a, result.b, result.c, result.d); - - CHECK(a1.a == 12); - CHECK(a1.b == 13); - CHECK(a1.c == 14); - CHECK(a1.d == 15); - - CHECK(a2.a == 178); - CHECK(a2.b == 179); - CHECK(a2.c == 180); - CHECK(a2.d == 181); - - CHECK(result.a == 190); - CHECK(result.b == 192); - CHECK(result.c == 194); - CHECK(result.d == 196); - return result; -} - -static void -cls_struct_4_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_4_1byte a1, a2; - - a1 = *(struct cls_struct_4_1byte*)(args[0]); - a2 = *(struct cls_struct_4_1byte*)(args[1]); - - *(cls_struct_4_1byte*)resp = cls_struct_4_1byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[5]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_4_1byte g_dbl = { 12, 13, 14, 15 }; - struct cls_struct_4_1byte f_dbl = { 178, 179, 180, 181 }; - struct cls_struct_4_1byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_uchar; - cls_struct_fields[4] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_4_1byte_fn), &res_dbl, args_dbl); - /* { dg-output "12 13 14 15 178 179 180 181: 190 192 194 196" } */ - printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 190 192 194 196" } */ - CHECK(res_dbl.a == 190); - CHECK(res_dbl.b == 192); - CHECK(res_dbl.c == 194); - CHECK(res_dbl.d == 196); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_4_1byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_4_1byte(*)(cls_struct_4_1byte, cls_struct_4_1byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 13 14 15 178 179 180 181: 190 192 194 196" } */ - printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 190 192 194 196" } */ - CHECK(res_dbl.a == 190); - CHECK(res_dbl.b == 192); - CHECK(res_dbl.c == 194); - CHECK(res_dbl.d == 196); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c deleted file mode 100644 index 4f8d173..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -typedef struct cls_struct_4byte { - unsigned short a; - unsigned short b; -} cls_struct_4byte; - -cls_struct_4byte cls_struct_4byte_fn(struct cls_struct_4byte a1, - struct cls_struct_4byte a2) -{ - struct cls_struct_4byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - - printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - - CHECK(result.a == 139); - CHECK(result.b == 248); - - return result; -} - -static void -cls_struct_4byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_4byte a1, a2; - - a1 = *(struct cls_struct_4byte*)(args[0]); - a2 = *(struct cls_struct_4byte*)(args[1]); - - *(cls_struct_4byte*)resp = cls_struct_4byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_4byte g_dbl = { 127, 120 }; - struct cls_struct_4byte f_dbl = { 12, 128 }; - struct cls_struct_4byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_ushort; - cls_struct_fields[1] = &ffi_type_ushort; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_4byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 12 128: 139 248" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 139 248" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_4byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_4byte(*)(cls_struct_4byte, cls_struct_4byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 12 128: 139 248" } */ - printf("res: %d %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 139 248" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c deleted file mode 100644 index 07552cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c +++ /dev/null @@ -1,137 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20050708 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_5byte { - unsigned char a; - unsigned char b; - unsigned char c; - unsigned char d; - unsigned char e; -} cls_struct_5byte; - -static cls_struct_5byte cls_struct_5byte_fn(struct cls_struct_5byte a1, - struct cls_struct_5byte a2) -{ - struct cls_struct_5byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - result.e = a1.e + a2.e; - - printf("%d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d\n", - a1.a, a1.b, a1.c, a1.d, a1.e, - a2.a, a2.b, a2.c, a2.d, a2.e, - result.a, result.b, result.c, result.d, result.e); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - CHECK(a1.c == 1); - CHECK(a1.d == 3); - CHECK(a1.e == 4); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - CHECK(a2.c == 9); - CHECK(a2.d == 3); - CHECK(a2.e == 4); - - CHECK(result.a == 139); - CHECK(result.b == 248); - CHECK(result.c == 10); - CHECK(result.d == 6); - CHECK(result.e == 8); - - return result; -} - -static void -cls_struct_5byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_5byte a1, a2; - - a1 = *(struct cls_struct_5byte*)(args[0]); - a2 = *(struct cls_struct_5byte*)(args[1]); - - *(cls_struct_5byte*)resp = cls_struct_5byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[6]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_5byte g_dbl = { 127, 120, 1, 3, 4 }; - struct cls_struct_5byte f_dbl = { 12, 128, 9, 3, 4 }; - struct cls_struct_5byte res_dbl = { 0, 0, 0, 0, 0 }; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_uchar; - cls_struct_fields[4] = &ffi_type_uchar; - cls_struct_fields[5] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_5byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 1 3 4 12 128 9 3 4: 139 248 10 6 8" } */ - printf("res: %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e); - /* { dg-output "\nres: 139 248 10 6 8" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 6); - CHECK(res_dbl.e == 8); - - res_dbl.a = 0; - res_dbl.b = 0; - res_dbl.c = 0; - res_dbl.d = 0; - res_dbl.e = 0; - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_5byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_5byte(*)(cls_struct_5byte, cls_struct_5byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 1 3 4 12 128 9 3 4: 139 248 10 6 8" } */ - printf("res: %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e); - /* { dg-output "\nres: 139 248 10 6 8" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 6); - CHECK(res_dbl.e == 8); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c deleted file mode 100644 index 9f8936b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c +++ /dev/null @@ -1,116 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_5byte { - unsigned short a; - unsigned short b; - unsigned char c; -} cls_struct_5byte; - -static cls_struct_5byte cls_struct_5byte_fn(struct cls_struct_5byte a1, - struct cls_struct_5byte a2) -{ - struct cls_struct_5byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, - a2.a, a2.b, a2.c, - result.a, result.b, result.c); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - CHECK(a1.c == 1); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - CHECK(a2.c == 9); - - CHECK(result.a == 139); - CHECK(result.b == 248); - CHECK(result.c == 10); - - return result; -} - -static void -cls_struct_5byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_5byte a1, a2; - - a1 = *(struct cls_struct_5byte*)(args[0]); - a2 = *(struct cls_struct_5byte*)(args[1]); - - *(cls_struct_5byte*)resp = cls_struct_5byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_5byte g_dbl = { 127, 120, 1 }; - struct cls_struct_5byte f_dbl = { 12, 128, 9 }; - struct cls_struct_5byte res_dbl = { 0, 0, 0 }; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_ushort; - cls_struct_fields[1] = &ffi_type_ushort; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_5byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 1 12 128 9: 139 248 10" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 139 248 10" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - - res_dbl.a = 0; - res_dbl.b = 0; - res_dbl.c = 0; - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_5byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_5byte(*)(cls_struct_5byte, cls_struct_5byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 1 12 128 9: 139 248 10" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 139 248 10" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c deleted file mode 100644 index 5adedc9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c +++ /dev/null @@ -1,148 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check bigger struct which overlaps - the gp and fp register count on Darwin/AIX/ppc64. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_64byte { - double a; - double b; - double c; - double d; - double e; - double f; - double g; - double h; -} cls_struct_64byte; - -cls_struct_64byte cls_struct_64byte_fn(struct cls_struct_64byte b0, - struct cls_struct_64byte b1, - struct cls_struct_64byte b2, - struct cls_struct_64byte b3) -{ - struct cls_struct_64byte result; - - result.a = b0.a + b1.a + b2.a + b3.a; - result.b = b0.b + b1.b + b2.b + b3.b; - result.c = b0.c + b1.c + b2.c + b3.c; - result.d = b0.d + b1.d + b2.d + b3.d; - result.e = b0.e + b1.e + b2.e + b3.e; - result.f = b0.f + b1.f + b2.f + b3.f; - result.g = b0.g + b1.g + b2.g + b3.g; - result.h = b0.h + b1.h + b2.h + b3.h; - - printf("%g %g %g %g %g %g %g %g\n", result.a, result.b, result.c, - result.d, result.e, result.f, result.g, result.h); - CHECK(result.a == 22); - CHECK(result.b == 15); - CHECK(result.c == 17); - CHECK(result.d == 25); - CHECK(result.e == 6); - CHECK(result.f == 13); - CHECK(result.g == 19); - CHECK(result.h == 18); - - return result; -} - -static void -cls_struct_64byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_64byte b0, b1, b2, b3; - - b0 = *(struct cls_struct_64byte*)(args[0]); - b1 = *(struct cls_struct_64byte*)(args[1]); - b2 = *(struct cls_struct_64byte*)(args[2]); - b3 = *(struct cls_struct_64byte*)(args[3]); - - *(cls_struct_64byte*)resp = cls_struct_64byte_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[9]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_64byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0 }; - struct cls_struct_64byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0 }; - struct cls_struct_64byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0 }; - struct cls_struct_64byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0 }; - struct cls_struct_64byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_double; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = &ffi_type_double; - cls_struct_fields[5] = &ffi_type_double; - cls_struct_fields[6] = &ffi_type_double; - cls_struct_fields[7] = &ffi_type_double; - cls_struct_fields[8] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = &cls_struct_type; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_64byte_fn), &res_dbl, args_dbl); - /* { dg-output "22 15 17 25 6 13 19 18" } */ - printf("res: %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18" } */ - CHECK(res_dbl.a == 22); - CHECK(res_dbl.b == 15); - CHECK(res_dbl.c == 17); - CHECK(res_dbl.d == 25); - CHECK(res_dbl.e == 6); - CHECK(res_dbl.f == 13); - CHECK(res_dbl.g == 19); - CHECK(res_dbl.h == 18); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_64byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_64byte(*)(cls_struct_64byte, - cls_struct_64byte, - cls_struct_64byte, - cls_struct_64byte)) - (code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n22 15 17 25 6 13 19 18" } */ - printf("res: %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18" } */ - CHECK(res_dbl.a == 22); - CHECK(res_dbl.b == 15); - CHECK(res_dbl.c == 17); - CHECK(res_dbl.d == 25); - CHECK(res_dbl.e == 6); - CHECK(res_dbl.f == 13); - CHECK(res_dbl.g == 19); - CHECK(res_dbl.h == 18); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c deleted file mode 100644 index 05e2945..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c +++ /dev/null @@ -1,140 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20050708 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_6byte { - unsigned char a; - unsigned char b; - unsigned char c; - unsigned char d; - unsigned char e; - unsigned char f; -} cls_struct_6byte; - -static cls_struct_6byte cls_struct_6byte_fn(struct cls_struct_6byte a1, - struct cls_struct_6byte a2) -{ - struct cls_struct_6byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - result.e = a1.e + a2.e; - result.f = a1.f + a2.f; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d %d\n", - a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, - a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, - result.a, result.b, result.c, result.d, result.e, result.f); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - CHECK(a1.c == 1); - CHECK(a1.d == 3); - CHECK(a1.e == 4); - CHECK(a1.f == 5); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - CHECK(a2.c == 9); - CHECK(a2.d == 3); - CHECK(a2.e == 4); - CHECK(a2.f == 5); - - CHECK(result.a == 139); - CHECK(result.b == 248); - CHECK(result.c == 10); - CHECK(result.d == 6); - CHECK(result.e == 8); - CHECK(result.f == 10); - - return result; -} - -static void -cls_struct_6byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_6byte a1, a2; - - a1 = *(struct cls_struct_6byte*)(args[0]); - a2 = *(struct cls_struct_6byte*)(args[1]); - - *(cls_struct_6byte*)resp = cls_struct_6byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[7]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_6byte g_dbl = { 127, 120, 1, 3, 4, 5 }; - struct cls_struct_6byte f_dbl = { 12, 128, 9, 3, 4, 5 }; - struct cls_struct_6byte res_dbl = { 0, 0, 0, 0, 0, 0 }; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_uchar; - cls_struct_fields[4] = &ffi_type_uchar; - cls_struct_fields[5] = &ffi_type_uchar; - cls_struct_fields[6] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_6byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 1 3 4 5 12 128 9 3 4 5: 139 248 10 6 8 10" } */ - printf("res: %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f); - /* { dg-output "\nres: 139 248 10 6 8 10" } */ - - res_dbl.a = 0; - res_dbl.b = 0; - res_dbl.c = 0; - res_dbl.d = 0; - res_dbl.e = 0; - res_dbl.f = 0; - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_6byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_6byte(*)(cls_struct_6byte, cls_struct_6byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 1 3 4 5 12 128 9 3 4 5: 139 248 10 6 8 10" } */ - printf("res: %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f); - /* { dg-output "\nres: 139 248 10 6 8 10" } */ - - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 6); - CHECK(res_dbl.e == 8); - CHECK(res_dbl.f == 10); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c deleted file mode 100644 index a8e3ea0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_6byte { - unsigned short a; - unsigned short b; - unsigned char c; - unsigned char d; -} cls_struct_6byte; - -static cls_struct_6byte cls_struct_6byte_fn(struct cls_struct_6byte a1, - struct cls_struct_6byte a2) -{ - struct cls_struct_6byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - - printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d, - a2.a, a2.b, a2.c, a2.d, - result.a, result.b, result.c, result.d); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - CHECK(a1.c == 1); - CHECK(a1.d == 128); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - CHECK(a2.c == 9); - CHECK(a2.d == 127); - - CHECK(result.a == 139); - CHECK(result.b == 248); - CHECK(result.c == 10); - CHECK(result.d == 255); - - return result; -} - -static void -cls_struct_6byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_6byte a1, a2; - - a1 = *(struct cls_struct_6byte*)(args[0]); - a2 = *(struct cls_struct_6byte*)(args[1]); - - *(cls_struct_6byte*)resp = cls_struct_6byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[5]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_6byte g_dbl = { 127, 120, 1, 128 }; - struct cls_struct_6byte f_dbl = { 12, 128, 9, 127 }; - struct cls_struct_6byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_ushort; - cls_struct_fields[1] = &ffi_type_ushort; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_uchar; - cls_struct_fields[4] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_6byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 1 128 12 128 9 127: 139 248 10 255" } */ - printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 139 248 10 255" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 255); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_6byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_6byte(*)(cls_struct_6byte, cls_struct_6byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 1 128 12 128 9 127: 139 248 10 255" } */ - printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 139 248 10 255" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 255); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c deleted file mode 100644 index 3f17964..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c +++ /dev/null @@ -1,155 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20050708 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_7byte { - unsigned char a; - unsigned char b; - unsigned char c; - unsigned char d; - unsigned char e; - unsigned char f; - unsigned char g; -} cls_struct_7byte; - -static cls_struct_7byte cls_struct_7byte_fn(struct cls_struct_7byte a1, - struct cls_struct_7byte a2) -{ - struct cls_struct_7byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - result.e = a1.e + a2.e; - result.f = a1.f + a2.f; - result.g = a1.g + a2.g; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d %d %d\n", - a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g, - a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g, - result.a, result.b, result.c, result.d, result.e, result.f, result.g); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - CHECK(a1.c == 1); - CHECK(a1.d == 3); - CHECK(a1.e == 4); - CHECK(a1.f == 5); - CHECK(a1.g == 6); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - CHECK(a2.c == 9); - CHECK(a2.d == 3); - CHECK(a2.e == 4); - CHECK(a2.f == 5); - CHECK(a2.g == 6); - - CHECK(result.a == 139); - CHECK(result.b == 248); - CHECK(result.c == 10); - CHECK(result.d == 6); - CHECK(result.e == 8); - CHECK(result.f == 10); - CHECK(result.g == 12); - - return result; -} - -static void -cls_struct_7byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_7byte a1, a2; - - a1 = *(struct cls_struct_7byte*)(args[0]); - a2 = *(struct cls_struct_7byte*)(args[1]); - - *(cls_struct_7byte*)resp = cls_struct_7byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[8]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_7byte g_dbl = { 127, 120, 1, 3, 4, 5, 6 }; - struct cls_struct_7byte f_dbl = { 12, 128, 9, 3, 4, 5, 6 }; - struct cls_struct_7byte res_dbl = { 0, 0, 0, 0, 0, 0, 0 }; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_uchar; - cls_struct_fields[4] = &ffi_type_uchar; - cls_struct_fields[5] = &ffi_type_uchar; - cls_struct_fields[6] = &ffi_type_uchar; - cls_struct_fields[7] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_7byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 1 3 4 5 6 12 128 9 3 4 5 6: 139 248 10 6 8 10 12" } */ - printf("res: %d %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g); - /* { dg-output "\nres: 139 248 10 6 8 10 12" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 6); - CHECK(res_dbl.e == 8); - CHECK(res_dbl.f == 10); - CHECK(res_dbl.g == 12); - - res_dbl.a = 0; - res_dbl.b = 0; - res_dbl.c = 0; - res_dbl.d = 0; - res_dbl.e = 0; - res_dbl.f = 0; - res_dbl.g = 0; - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_7byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_7byte(*)(cls_struct_7byte, cls_struct_7byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 1 3 4 5 6 12 128 9 3 4 5 6: 139 248 10 6 8 10 12" } */ - printf("res: %d %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g); - /* { dg-output "\nres: 139 248 10 6 8 10 12" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 6); - CHECK(res_dbl.e == 8); - CHECK(res_dbl.f == 10); - CHECK(res_dbl.g == 12); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c deleted file mode 100644 index dcfc29b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_7byte { - unsigned short a; - unsigned short b; - unsigned char c; - unsigned short d; -} cls_struct_7byte; - -static cls_struct_7byte cls_struct_7byte_fn(struct cls_struct_7byte a1, - struct cls_struct_7byte a2) -{ - struct cls_struct_7byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - result.d = a1.d + a2.d; - - printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d, - a2.a, a2.b, a2.c, a2.d, - result.a, result.b, result.c, result.d); - - CHECK(a1.a == 127); - CHECK(a1.b == 120); - CHECK(a1.c == 1); - CHECK(a1.d == 254); - - CHECK(a2.a == 12); - CHECK(a2.b == 128); - CHECK(a2.c == 9); - CHECK(a2.d == 255); - - CHECK(result.a == 139); - CHECK(result.b == 248); - CHECK(result.c == 10); - CHECK(result.d == 509); - - - return result; -} - -static void -cls_struct_7byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_7byte a1, a2; - - a1 = *(struct cls_struct_7byte*)(args[0]); - a2 = *(struct cls_struct_7byte*)(args[1]); - - *(cls_struct_7byte*)resp = cls_struct_7byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[5]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_7byte g_dbl = { 127, 120, 1, 254 }; - struct cls_struct_7byte f_dbl = { 12, 128, 9, 255 }; - struct cls_struct_7byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_ushort; - cls_struct_fields[1] = &ffi_type_ushort; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = &ffi_type_ushort; - cls_struct_fields[4] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_7byte_fn), &res_dbl, args_dbl); - /* { dg-output "127 120 1 254 12 128 9 255: 139 248 10 509" } */ - printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 139 248 10 509" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 509); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_7byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_7byte(*)(cls_struct_7byte, cls_struct_7byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n127 120 1 254 12 128 9 255: 139 248 10 509" } */ - printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d); - /* { dg-output "\nres: 139 248 10 509" } */ - CHECK(res_dbl.a == 139); - CHECK(res_dbl.b == 248); - CHECK(res_dbl.c == 10); - CHECK(res_dbl.d == 509); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c deleted file mode 100644 index 7a519e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Check overlapping. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_8byte { - int a; - float b; -} cls_struct_8byte; - -cls_struct_8byte cls_struct_8byte_fn(struct cls_struct_8byte a1, - struct cls_struct_8byte a2) -{ - struct cls_struct_8byte result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - - printf("%d %g %d %g: %d %g\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b); - - CHECK(a1.a == 1); - CHECK_FLOAT_EQ(a1.b, 2); - - CHECK(a2.a == 4); - CHECK_FLOAT_EQ(a2.b, 5); - - CHECK(result.a == 5); - CHECK_FLOAT_EQ(result.b, 7); - - return result; -} - -static void -cls_struct_8byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_8byte a1, a2; - - a1 = *(struct cls_struct_8byte*)(args[0]); - a2 = *(struct cls_struct_8byte*)(args[1]); - - *(cls_struct_8byte*)resp = cls_struct_8byte_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_8byte g_dbl = { 1, 2.0 }; - struct cls_struct_8byte f_dbl = { 4, 5.0 }; - struct cls_struct_8byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = &ffi_type_float; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_8byte_fn), &res_dbl, args_dbl); - /* { dg-output "1 2 4 5: 5 7" } */ - printf("res: %d %g\n", res_dbl.a, res_dbl.b); - CHECK(res_dbl.a == 5); - CHECK_FLOAT_EQ(res_dbl.b, 7); - - /* { dg-output "\nres: 5 7" } */ - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_8byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_8byte(*)(cls_struct_8byte, cls_struct_8byte))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 2 4 5: 5 7" } */ - printf("res: %d %g\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 5 7" } */ - CHECK(res_dbl.a == 5); - CHECK_FLOAT_EQ(res_dbl.b, 7); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c deleted file mode 100644 index 9d3b609..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Darwin/AIX do double-word - alignment of the struct if the first element is a double. - Check that it does not here. - Limitations: none. - PR: none. - Originator: 20030914 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_9byte { - int a; - double b; -} cls_struct_9byte; - -static cls_struct_9byte cls_struct_9byte_fn(struct cls_struct_9byte b1, - struct cls_struct_9byte b2) -{ - struct cls_struct_9byte result; - - result.a = b1.a + b2.a; - result.b = b1.b + b2.b; - - printf("%d %g %d %g: %d %g\n", b1.a, b1.b, b2.a, b2.b, - result.a, result.b); - - CHECK(b1.a == 7); - CHECK(b1.b == 8); - - CHECK(b2.a == 1); - CHECK(b2.b == 9); - - CHECK(result.a == 8); - CHECK(result.b == 17); - - return result; -} - -static void cls_struct_9byte_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - struct cls_struct_9byte b1, b2; - - b1 = *(struct cls_struct_9byte*)(args[0]); - b2 = *(struct cls_struct_9byte*)(args[1]); - - *(cls_struct_9byte*)resp = cls_struct_9byte_fn(b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_9byte h_dbl = { 7, 8.0}; - struct cls_struct_9byte j_dbl = { 1, 9.0}; - struct cls_struct_9byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &h_dbl; - args_dbl[1] = &j_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_9byte_fn), &res_dbl, args_dbl); - /* { dg-output "7 8 1 9: 8 17" } */ - printf("res: %d %g\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 8 17" } */ - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 17); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_9byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_9byte(*)(cls_struct_9byte, cls_struct_9byte))(code))(h_dbl, j_dbl); - /* { dg-output "\n7 8 1 9: 8 17" } */ - printf("res: %d %g\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 8 17" } */ - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 17); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c deleted file mode 100644 index 6cfaaf3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Depending on the ABI. Darwin/AIX do double-word - alignment of the struct if the first element is a double. - Check that it does here. - Limitations: none. - PR: none. - Originator: 20030914 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_9byte { - double a; - int b; -} cls_struct_9byte; - -static cls_struct_9byte cls_struct_9byte_fn(struct cls_struct_9byte b1, - struct cls_struct_9byte b2) -{ - struct cls_struct_9byte result; - - result.a = b1.a + b2.a; - result.b = b1.b + b2.b; - - printf("%g %d %g %d: %g %d\n", b1.a, b1.b, b2.a, b2.b, - result.a, result.b); - - CHECK(b1.a == 7); - CHECK(b1.b == 8); - - CHECK(b2.a == 1); - CHECK(b2.b == 9); - - CHECK(result.a == 8); - CHECK(result.b == 17); - - return result; -} - -static void cls_struct_9byte_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - struct cls_struct_9byte b1, b2; - - b1 = *(struct cls_struct_9byte*)(args[0]); - b2 = *(struct cls_struct_9byte*)(args[1]); - - *(cls_struct_9byte*)resp = cls_struct_9byte_fn(b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_9byte h_dbl = { 7.0, 8}; - struct cls_struct_9byte j_dbl = { 1.0, 9}; - struct cls_struct_9byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_sint; - cls_struct_fields[2] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &h_dbl; - args_dbl[1] = &j_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_9byte_fn), &res_dbl, args_dbl); - /* { dg-output "7 8 1 9: 8 17" } */ - printf("res: %g %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 8 17" } */ - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 17); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_9byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_9byte(*)(cls_struct_9byte, cls_struct_9byte))(code))(h_dbl, j_dbl); - /* { dg-output "\n7 8 1 9: 8 17" } */ - printf("res: %g %d\n", res_dbl.a, res_dbl.b); - /* { dg-output "\nres: 8 17" } */ - CHECK(res_dbl.a == 8); - CHECK(res_dbl.b == 17); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c deleted file mode 100644 index 036cca3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of double. - Limitations: none. - PR: none. - Originator: 20031203 */ - - - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - double b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c deleted file mode 100644 index c7dbdfd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of float. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - float b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, (double)a1.b, a1.c, a2.a, (double)a2.b, a2.c, result.a, (double)result.b, result.c); - - CHECK(a1.a == 12); - CHECK_FLOAT_EQ(a1.b, 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK_FLOAT_EQ(a2.b, 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK_FLOAT_EQ(result.b, 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_float; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK_FLOAT_EQ(res_dbl.b, 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK_FLOAT_EQ(res_dbl.b, 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c deleted file mode 100644 index 1cdb10b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of long double. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - long double b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, (double)a1.b, a1.c, a2.a, (double)a2.b, a2.c, result.a, (double)result.b, result.c); - - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_longdouble; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c deleted file mode 100644 index 128d6e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c +++ /dev/null @@ -1,147 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of long double. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */ - -#include "ffitest.h" - -typedef struct cls_struct_align { - long double a; - long double b; - long double c; - long double d; - long double e; - long double f; - long double g; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn( - cls_struct_align a1, - cls_struct_align a2) -{ - struct cls_struct_align r; - - r.a = a1.a + a2.a; - r.b = a1.b + a2.b; - r.c = a1.c + a2.c; - r.d = a1.d + a2.d; - r.e = a1.e + a2.e; - r.f = a1.f + a2.f; - r.g = a1.g + a2.g; - - printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg: " - "%Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", - a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g, - a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g, - r.a, r.b, r.c, r.d, r.e, r.f, r.g); - - CHECK(a1.a == 1); - CHECK(a1.b == 2); - CHECK(a1.c == 3); - CHECK(a1.d == 4); - CHECK(a1.e == 5); - CHECK(a1.f == 6); - CHECK(a1.g == 7); - - CHECK(a2.a == 8); - CHECK(a2.b == 9); - CHECK(a2.c == 10); - CHECK(a2.d == 11); - CHECK(a2.e == 12); - CHECK(a2.f == 13); - CHECK(a2.g == 14); - - CHECK(r.a == 9); - CHECK(r.b == 11); - CHECK(r.c == 13); - CHECK(r.d == 15); - CHECK(r.e == 17); - CHECK(r.f == 19); - CHECK(r.g == 21); - return r; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[8]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_align g_dbl = { 1, 2, 3, 4, 5, 6, 7 }; - struct cls_struct_align f_dbl = { 8, 9, 10, 11, 12, 13, 14 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_longdouble; - cls_struct_fields[1] = &ffi_type_longdouble; - cls_struct_fields[2] = &ffi_type_longdouble; - cls_struct_fields[3] = &ffi_type_longdouble; - cls_struct_fields[4] = &ffi_type_longdouble; - cls_struct_fields[5] = &ffi_type_longdouble; - cls_struct_fields[6] = &ffi_type_longdouble; - cls_struct_fields[7] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */ - printf("res: %Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g); - /* { dg-output "\nres: 9 11 13 15 17 19 21" } */ - CHECK(res_dbl.a == 9); - CHECK(res_dbl.b == 11); - CHECK(res_dbl.c == 13); - CHECK(res_dbl.d == 15); - CHECK(res_dbl.e == 17); - CHECK(res_dbl.f == 19); - CHECK(res_dbl.g == 21); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */ - printf("res: %Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g); - /* { dg-output "\nres: 9 11 13 15 17 19 21" } */ - CHECK(res_dbl.a == 9); - CHECK(res_dbl.b == 11); - CHECK(res_dbl.c == 13); - CHECK(res_dbl.d == 15); - CHECK(res_dbl.e == 17); - CHECK(res_dbl.f == 19); - CHECK(res_dbl.g == 21); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c deleted file mode 100644 index 3562a57..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c +++ /dev/null @@ -1,152 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of long double. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/18/2007 -*/ - -/* { dg-do run { xfail strongarm*-*-* } } */ -/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */ - -#include "ffitest.h" - -typedef struct cls_struct_align { - long double a; - long double b; - long double c; - long double d; - long double e; - double f; - long double g; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn( - cls_struct_align a1, - cls_struct_align a2) -{ - struct cls_struct_align r; - - r.a = a1.a + a2.a; - r.b = a1.b + a2.b; - r.c = a1.c + a2.c; - r.d = a1.d + a2.d; - r.e = a1.e + a2.e; - r.f = a1.f + a2.f; - r.g = a1.g + a2.g; - - printf("%Lg %Lg %Lg %Lg %Lg %g %Lg %Lg %Lg %Lg %Lg %Lg %g %Lg: " - "%Lg %Lg %Lg %Lg %Lg %g %Lg\n", - a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g, - a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g, - r.a, r.b, r.c, r.d, r.e, r.f, r.g); - - CHECK(a1.a == 1); - CHECK(a1.b == 2); - CHECK(a1.c == 3); - CHECK(a1.d == 4); - CHECK(a1.e == 5); - CHECK(a1.f == 6); - CHECK(a1.g == 7); - - CHECK(a2.a == 8); - CHECK(a2.b == 9); - CHECK(a2.c == 10); - CHECK(a2.d == 11); - CHECK(a2.e == 12); - CHECK(a2.f == 13); - CHECK(a2.g == 14); - - CHECK(r.a == 9); - CHECK(r.b == 11); - CHECK(r.c == 13); - CHECK(r.d == 15); - CHECK(r.e == 17); - CHECK(r.f == 19); - CHECK(r.g == 21); - - return r; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[8]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - struct cls_struct_align g_dbl = { 1, 2, 3, 4, 5, 6, 7 }; - struct cls_struct_align f_dbl = { 8, 9, 10, 11, 12, 13, 14 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_longdouble; - cls_struct_fields[1] = &ffi_type_longdouble; - cls_struct_fields[2] = &ffi_type_longdouble; - cls_struct_fields[3] = &ffi_type_longdouble; - cls_struct_fields[4] = &ffi_type_longdouble; - cls_struct_fields[5] = &ffi_type_double; - cls_struct_fields[6] = &ffi_type_longdouble; - cls_struct_fields[7] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */ - printf("res: %Lg %Lg %Lg %Lg %Lg %g %Lg\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g); - /* { dg-output "\nres: 9 11 13 15 17 19 21" } */ - CHECK(res_dbl.a == 9); - CHECK(res_dbl.b == 11); - CHECK(res_dbl.c == 13); - CHECK(res_dbl.d == 15); - CHECK(res_dbl.e == 17); - CHECK(res_dbl.f == 19); - CHECK(res_dbl.g == 21); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */ - printf("res: %Lg %Lg %Lg %Lg %Lg %g %Lg\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g); - /* { dg-output "\nres: 9 11 13 15 17 19 21" } */ - CHECK(res_dbl.a == 9); - CHECK(res_dbl.b == 11); - CHECK(res_dbl.c == 13); - CHECK(res_dbl.d == 15); - CHECK(res_dbl.e == 17); - CHECK(res_dbl.f == 19); - CHECK(res_dbl.g == 21); - exit(0); -} - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c deleted file mode 100644 index 5fb3f09..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c +++ /dev/null @@ -1,113 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of pointer. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - void *b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = (void *)((uintptr_t)a1.b + (uintptr_t)a2.b); - result.c = a1.c + a2.c; - - printf("%d %" PRIuPTR " %d %d %" PRIuPTR " %d: %d %" PRIuPTR " %d\n", - a1.a, (uintptr_t)a1.b, a1.c, - a2.a, (uintptr_t)a2.b, a2.c, - result.a, (uintptr_t)result.b, - result.c); - - CHECK(a1.a == 12); - CHECK(a1.b == (void *)4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == (void *)9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == (void *)14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, (void *)4951, 127 }; - struct cls_struct_align f_dbl = { 1, (void *)9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_pointer; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %" PRIuPTR " %d\n", res_dbl.a, (uintptr_t)res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == (void *)14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %" PRIuPTR " %d\n", res_dbl.a, (uintptr_t)res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == (void *)14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c deleted file mode 100644 index d2c9bf4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c +++ /dev/null @@ -1,108 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of sint16. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - signed short b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_sshort; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c deleted file mode 100644 index 570f45f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c +++ /dev/null @@ -1,106 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of sint32. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - signed int b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_sint; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c deleted file mode 100644 index 49ee561..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of sint64. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - signed long long b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %" PRIdLL " %d %d %" PRIdLL " %d: %d %" PRIdLL " %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_sint64; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c deleted file mode 100644 index 2204dff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c +++ /dev/null @@ -1,108 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of uint16. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - unsigned short b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_ushort; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c deleted file mode 100644 index 1ce23da..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of uint32. - Limitations: none. - PR: none. - Originator: 20031203 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - unsigned int b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uint; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c deleted file mode 100644 index aee958a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of uint64. - Limitations: none. - PR: none. - Originator: 20031203 */ - - -/* { dg-do run } */ -/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */ -#include "ffitest.h" - -typedef struct cls_struct_align { - unsigned char a; - unsigned long long b; - unsigned char c; -} cls_struct_align; - -static cls_struct_align cls_struct_align_fn(struct cls_struct_align a1, - struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %" PRIdLL " %d %d %" PRIdLL " %d: %d %" PRIdLL " %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c); - - CHECK(a1.a == 12); - CHECK(a1.b == 4951); - CHECK(a1.c == 127); - - CHECK(a2.a == 1); - CHECK(a2.b == 9320); - CHECK(a2.c == 13); - - CHECK(result.a == 13); - CHECK(result.b == 14271); - CHECK(result.c == 140); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_align g_dbl = { 12, 4951, 127 }; - struct cls_struct_align f_dbl = { 1, 9320, 13 }; - struct cls_struct_align res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uint64; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &g_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl); - /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl); - /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */ - printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c); - /* { dg-output "\nres: 13 14271 140" } */ - CHECK(res_dbl.a == 13); - CHECK(res_dbl.b == 14271); - CHECK(res_dbl.c == 140); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c deleted file mode 100644 index 00e247e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check double arguments in structs. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/23/2007 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -typedef struct Dbls { - double x; - double y; -} Dbls; - -void -closure_test_fn(Dbls p) -{ - printf("%.1f %.1f\n", p.x, p.y); - CHECK(p.x == 1); - CHECK(p.y == 2); -} - -void -closure_test_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__, - void** args, void* userdata __UNUSED__) -{ - closure_test_fn(*(Dbls*)args[0]); -} - -int main(int argc __UNUSED__, char** argv __UNUSED__) -{ - ffi_cif cif; - - void *code; - ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type* cl_arg_types[1]; - - ffi_type ts1_type; - ffi_type* ts1_type_elements[4]; - - Dbls arg = { 1.0, 2.0 }; - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - - ts1_type_elements[0] = &ffi_type_double; - ts1_type_elements[1] = &ffi_type_double; - ts1_type_elements[2] = NULL; - - cl_arg_types[0] = &ts1_type; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_void, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_gn, NULL, code) == FFI_OK); - - ((void (*)(Dbls))(code))(arg); - /* { dg-output "1.0 2.0" } */ - - closure_test_fn(arg); - /* { dg-output "\n1.0 2.0" } */ - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double.c deleted file mode 100644 index 84ad4cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Area: closure_call - Purpose: Check return value double. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) - { - *(double *)resp = *(double *)args[0]; - - printf("%f: %f\n",*(double *)args[0], - *(double *)resp); - } -typedef double (*cls_ret_double)(double); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - double res; - - cl_arg_types[0] = &ffi_type_double; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_double, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_double_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_double)code))(21474.789); - /* { dg-output "21474.789000: 21474.789000" } */ - printf("res: %.6f\n", res); - /* { dg-output "\nres: 21474.789000" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c deleted file mode 100644 index a6c445b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Test doubles passed in variable argument lists. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/6/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -/* { dg-output "" { xfail avr32*-*-* } } */ -/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */ - -#include "ffitest.h" - -#define BUF_SIZE 50 -static char buffer[BUF_SIZE]; - -static void -cls_double_va_fn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - char* format = *(char**)args[0]; - double doubleValue = *(double*)args[1]; - - *(ffi_arg*)resp = printf(format, doubleValue); - CHECK(*(ffi_arg*)resp == 4); - snprintf(buffer, BUF_SIZE, format, doubleValue); - CHECK(strncmp(buffer, "7.0\n", 4) == 0); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[3]; - ffi_type* arg_types[3]; - - char* format = "%.1f\n"; - double doubleArg = 7; - ffi_arg res = 0; - - arg_types[0] = &ffi_type_pointer; - arg_types[1] = &ffi_type_double; - arg_types[2] = NULL; - - /* This printf call is variadic */ - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, &ffi_type_sint, - arg_types) == FFI_OK); - - args[0] = &format; - args[1] = &doubleArg; - args[2] = NULL; - - ffi_call(&cif, FFI_FN(printf), &res, args); - /* { dg-output "7.0" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 4" } */ - CHECK(res == 4); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_double_va_fn, NULL, - code) == FFI_OK); - - res = ((int(*)(char*, ...))(code))(format, doubleArg); - /* { dg-output "\n7.0" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 4" } */ - CHECK(res == 4); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c deleted file mode 100644 index 97c2ac0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Area: closure_call - Purpose: Check return value float. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_float_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) - { - *(float *)resp = *(float *)args[0]; - - printf("%g: %g\n",*(float *)args[0], - *(float *)resp); - - CHECK((int)(*(float *)args[0]) == -2122); - CHECK((int)(*(float *)resp) == -2122); - } - -typedef float (*cls_ret_float)(float); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - float res; - - cl_arg_types[0] = &ffi_type_float; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_float, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_float_fn, NULL, code) == FFI_OK); - res = ((((cls_ret_float)code)(-2122.12))); - /* { dg-output "\\-2122.12: \\-2122.12" } */ - printf("res: %.6f\n", res); - /* { dg-output "\nres: \-2122.120117" } */ - CHECK((int)res == -2122); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c deleted file mode 100644 index 2cfac4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c +++ /dev/null @@ -1,115 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check long double arguments. - Limitations: none. - PR: none. - Originator: Blake Chaffin */ - -/* This test is known to PASS on armv7l-unknown-linux-gnueabihf, so I have - remove the xfail for arm*-*-* below, until we know more. */ -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */ - -#include "ffitest.h" - -long double cls_ldouble_fn( - long double a1, - long double a2, - long double a3, - long double a4, - long double a5, - long double a6, - long double a7, - long double a8) -{ - long double r = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8; - - printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg: %Lg\n", - a1, a2, a3, a4, a5, a6, a7, a8, r); - CHECK(a1 == 1); - CHECK(a2 == 2); - CHECK(a3 == 3); - CHECK(a4 == 4); - CHECK(a5 == 5); - CHECK(a6 == 6); - CHECK(a7 == 7); - CHECK(a8 == 8); - - return r; -} - -static void -cls_ldouble_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - long double a1 = *(long double*)args[0]; - long double a2 = *(long double*)args[1]; - long double a3 = *(long double*)args[2]; - long double a4 = *(long double*)args[3]; - long double a5 = *(long double*)args[4]; - long double a6 = *(long double*)args[5]; - long double a7 = *(long double*)args[6]; - long double a8 = *(long double*)args[7]; - - *(long double*)resp = cls_ldouble_fn( - a1, a2, a3, a4, a5, a6, a7, a8); -} - -int main(void) -{ - ffi_cif cif; - void* code; - ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[9]; - ffi_type* arg_types[9]; - long double res = 0; - - long double arg1 = 1; - long double arg2 = 2; - long double arg3 = 3; - long double arg4 = 4; - long double arg5 = 5; - long double arg6 = 6; - long double arg7 = 7; - long double arg8 = 8; - - arg_types[0] = &ffi_type_longdouble; - arg_types[1] = &ffi_type_longdouble; - arg_types[2] = &ffi_type_longdouble; - arg_types[3] = &ffi_type_longdouble; - arg_types[4] = &ffi_type_longdouble; - arg_types[5] = &ffi_type_longdouble; - arg_types[6] = &ffi_type_longdouble; - arg_types[7] = &ffi_type_longdouble; - arg_types[8] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 8, &ffi_type_longdouble, - arg_types) == FFI_OK); - - args[0] = &arg1; - args[1] = &arg2; - args[2] = &arg3; - args[3] = &arg4; - args[4] = &arg5; - args[5] = &arg6; - args[6] = &arg7; - args[7] = &arg8; - args[8] = NULL; - - ffi_call(&cif, FFI_FN(cls_ldouble_fn), &res, args); - /* { dg-output "1 2 3 4 5 6 7 8: 36" } */ - printf("res: %Lg\n", res); - /* { dg-output "\nres: 36" } */ - CHECK(res == 36); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ldouble_gn, NULL, code) == FFI_OK); - - res = ((long double(*)(long double, long double, long double, long double, - long double, long double, long double, long double))(code))(arg1, arg2, - arg3, arg4, arg5, arg6, arg7, arg8); - /* { dg-output "\n1 2 3 4 5 6 7 8: 36" } */ - printf("res: %Lg\n", res); - /* { dg-output "\nres: 36" } */ - CHECK(res == 36); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c deleted file mode 100644 index ba32f5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Test long doubles passed in variable argument lists. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/6/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -/* { dg-output "" { xfail avr32*-*-* } } */ -/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */ - -#include "ffitest.h" -#include - -#define BUF_SIZE 50 -static char buffer[BUF_SIZE]; - -static int -wrap_printf(char* fmt, ...) { - va_list ap; - va_start(ap, fmt); - long double ldArg = va_arg(ap, long double); - va_end(ap); - CHECK((int)ldArg == 7); - return printf(fmt, ldArg); -} - -static void -cls_longdouble_va_fn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - char* format = *(char**)args[0]; - long double ldValue = *(long double*)args[1]; - - *(ffi_arg*)resp = printf(format, ldValue); - CHECK(*(ffi_arg*)resp == 4); - snprintf(buffer, BUF_SIZE, format, ldValue); - CHECK(strncmp(buffer, "7.0\n", BUF_SIZE) == 0); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[3]; - ffi_type* arg_types[3]; - - char* format = "%.1Lf\n"; - long double ldArg = 7; - ffi_arg res = 0; - - arg_types[0] = &ffi_type_pointer; - arg_types[1] = &ffi_type_longdouble; - arg_types[2] = NULL; - - /* This printf call is variadic */ - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, &ffi_type_sint, - arg_types) == FFI_OK); - - args[0] = &format; - args[1] = &ldArg; - args[2] = NULL; - - ffi_call(&cif, FFI_FN(wrap_printf), &res, args); - /* { dg-output "7.0" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 4" } */ - CHECK(res == 4); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_longdouble_va_fn, NULL, - code) == FFI_OK); - - res = ((int(*)(char*, ...))(code))(format, ldArg); - /* { dg-output "\n7.0" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 4" } */ - CHECK(res == 4); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_args.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_args.c deleted file mode 100644 index 7fd6c82..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_args.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Area: closure_call - Purpose: Check closures called with many args of mixed types - Limitations: none. - PR: none. - Originator: */ - -/* { dg-do run } */ -#include "ffitest.h" -#include -#include - -#define NARGS 16 - -static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - int i; - double r = 0; - double t; - for(i = 0; i < NARGS; i++) - { - if(i == 4 || i == 9 || i == 11 || i == 13 || i == 15) - { - t = *(long int *)args[i]; - CHECK(t == i+1); - } - else - { - t = *(double *)args[i]; - CHECK(fabs(t - ((i+1) * 0.1)) < FLT_EPSILON); - } - r += t; - } - *(double *)resp = r; -} -typedef double (*cls_ret_double)(double, double, double, double, long int, -double, double, double, double, long int, double, long int, double, long int, -double, long int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[NARGS]; - double res; - int i; - double expected = 64.9; - - for(i = 0; i < NARGS; i++) - { - if(i == 4 || i == 9 || i == 11 || i == 13 || i == 15) - cl_arg_types[i] = &ffi_type_slong; - else - cl_arg_types[i] = &ffi_type_double; - } - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, NARGS, - &ffi_type_double, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_double_fn, NULL, code) == FFI_OK); - - res = (((cls_ret_double)code))(0.1, 0.2, 0.3, 0.4, 5, 0.6, 0.7, 0.8, 0.9, 10, - 1.1, 12, 1.3, 14, 1.5, 16); - if (fabs(res - expected) < FLT_EPSILON) - exit(0); - else - abort(); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c deleted file mode 100644 index 62b0697..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Area: closure_call - Purpose: Check register allocation for closure calls with many float and double arguments - Limitations: none. - PR: none. - Originator: */ - -/* { dg-do run } */ -#include "ffitest.h" -#include -#include - -#define NARGS 16 - -static void cls_mixed_float_double_fn(ffi_cif* cif , void* ret, void** args, - void* userdata __UNUSED__) -{ - double r = 0; - unsigned int i; - double t; - for(i=0; i < cif->nargs; i++) - { - if(cif->arg_types[i] == &ffi_type_double) { - t = *(((double**)(args))[i]); - } else { - t = *(((float**)(args))[i]); - } - r += t; - } - *((double*)ret) = r; -} -typedef double (*cls_mixed)(double, float, double, double, double, double, double, float, float, double, float, float); - -int main (void) -{ - ffi_cif cif; - ffi_closure *closure; - void* code; - ffi_type *argtypes[12] = {&ffi_type_double, &ffi_type_float, &ffi_type_double, - &ffi_type_double, &ffi_type_double, &ffi_type_double, - &ffi_type_double, &ffi_type_float, &ffi_type_float, - &ffi_type_double, &ffi_type_float, &ffi_type_float}; - - - closure = ffi_closure_alloc(sizeof(ffi_closure), (void**)&code); - if(closure ==NULL) - abort(); - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 12, &ffi_type_double, argtypes) == FFI_OK); - CHECK(ffi_prep_closure_loc(closure, &cif, cls_mixed_float_double_fn, NULL, code) == FFI_OK); - double ret = ((cls_mixed)code)(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2); - ffi_closure_free(closure); - if(fabs(ret - 7.8) < FLT_EPSILON) - exit(0); - else - abort(); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c deleted file mode 100644 index 9eb02f9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check passing of multiple signed char values. - Limitations: none. - PR: PR13221. - Originator: 20031129 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static signed char test_func_fn(signed char a1, signed char a2) -{ - signed char result; - - result = a1 + a2; - - printf("%d %d: %d\n", a1, a2, result); - - return result; - -} - -static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals, - void *data __UNUSED__) -{ - signed char a1, a2; - - a1 = *(signed char *)avals[0]; - a2 = *(signed char *)avals[1]; - CHECK(a1 == 2); - CHECK(a2 == 125); - - *(ffi_arg *)rval = test_func_fn(a1, a2); - -} - -typedef signed char (*test_type)(signed char, signed char); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void * args_dbl[3]; - ffi_type * cl_arg_types[3]; - ffi_arg res_call; - signed char a, b, res_closure; - - a = 2; - b = 125; - - args_dbl[0] = &a; - args_dbl[1] = &b; - args_dbl[2] = NULL; - - cl_arg_types[0] = &ffi_type_schar; - cl_arg_types[1] = &ffi_type_schar; - cl_arg_types[2] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, - &ffi_type_schar, cl_arg_types) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl); - /* { dg-output "2 125: 127" } */ - printf("res: %d\n", (signed char)res_call); - /* { dg-output "\nres: 127" } */ - CHECK((signed char)res_call == 127); - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK); - - res_closure = (*((test_type)code))(2, 125); - /* { dg-output "\n2 125: 127" } */ - printf("res: %d\n", res_closure); - /* { dg-output "\nres: 127" } */ - CHECK(res_closure == 127); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c deleted file mode 100644 index 9d4db5b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check passing of multiple signed short values. - Limitations: none. - PR: PR13221. - Originator: 20031129 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static signed short test_func_fn(signed short a1, signed short a2) -{ - signed short result; - - result = a1 + a2; - - printf("%d %d: %d\n", a1, a2, result); - CHECK(a1 == 2); - CHECK(a2 == 32765); - CHECK(result == 32767); - - return result; - -} - -static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals, - void *data __UNUSED__) -{ - signed short a1, a2; - - a1 = *(signed short *)avals[0]; - a2 = *(signed short *)avals[1]; - - *(ffi_arg *)rval = test_func_fn(a1, a2); - -} - -typedef signed short (*test_type)(signed short, signed short); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void * args_dbl[3]; - ffi_type * cl_arg_types[3]; - ffi_arg res_call; - unsigned short a, b, res_closure; - - a = 2; - b = 32765; - - args_dbl[0] = &a; - args_dbl[1] = &b; - args_dbl[2] = NULL; - - cl_arg_types[0] = &ffi_type_sshort; - cl_arg_types[1] = &ffi_type_sshort; - cl_arg_types[2] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, - &ffi_type_sshort, cl_arg_types) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl); - /* { dg-output "2 32765: 32767" } */ - printf("res: %d\n", (unsigned short)res_call); - /* { dg-output "\nres: 32767" } */ - CHECK((unsigned short)res_call == 32767); - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK); - - res_closure = (*((test_type)code))(2, 32765); - /* { dg-output "\n2 32765: 32767" } */ - printf("res: %d\n", res_closure); - /* { dg-output "\nres: 32767" } */ - CHECK(res_closure == 32767); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c deleted file mode 100644 index a2b3708..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +++ /dev/null @@ -1,94 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check passing of multiple signed short/char values. - Limitations: none. - PR: PR13221. - Originator: 20031129 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static signed short test_func_fn(signed char a1, signed short a2, - signed char a3, signed short a4) -{ - signed short result; - - result = a1 + a2 + a3 + a4; - - printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result); - - CHECK(a1 == 1); - CHECK(a2 == 32765); - CHECK(a3 == 127); - CHECK(a4 == -128); - CHECK(result == 32765); - - return result; - -} - -static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals, - void *data __UNUSED__) -{ - signed char a1, a3; - signed short a2, a4; - - a1 = *(signed char *)avals[0]; - a2 = *(signed short *)avals[1]; - a3 = *(signed char *)avals[2]; - a4 = *(signed short *)avals[3]; - - *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4); - -} - -typedef signed short (*test_type)(signed char, signed short, - signed char, signed short); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void * args_dbl[5]; - ffi_type * cl_arg_types[5]; - ffi_arg res_call; - signed char a, c; - signed short b, d, res_closure; - - a = 1; - b = 32765; - c = 127; - d = -128; - - args_dbl[0] = &a; - args_dbl[1] = &b; - args_dbl[2] = &c; - args_dbl[3] = &d; - args_dbl[4] = NULL; - - cl_arg_types[0] = &ffi_type_schar; - cl_arg_types[1] = &ffi_type_sshort; - cl_arg_types[2] = &ffi_type_schar; - cl_arg_types[3] = &ffi_type_sshort; - cl_arg_types[4] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_sshort, cl_arg_types) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl); - /* { dg-output "1 32765 127 -128: 32765" } */ - printf("res: %d\n", (signed short)res_call); - /* { dg-output "\nres: 32765" } */ - CHECK(res_call == 32765); - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK); - - res_closure = (*((test_type)code))(1, 32765, 127, -128); - /* { dg-output "\n1 32765 127 -128: 32765" } */ - printf("res: %d\n", res_closure); - /* { dg-output "\nres: 32765" } */ - CHECK(res_closure == 32765); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c deleted file mode 100644 index 76f90a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c +++ /dev/null @@ -1,99 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check passing of multiple unsigned char values. - Limitations: none. - PR: PR13221. - Originator: 20031129 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static unsigned char test_func_fn(unsigned char a1, unsigned char a2, - unsigned char a3, unsigned char a4) -{ - unsigned char result; - - result = a1 + a2 + a3 + a4; - - printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result); - - CHECK(a1 == 1); - CHECK(a2 == 2); - CHECK(a3 == 127); - CHECK(a4 == 125); - CHECK(result == 255); - - return result; - -} - -static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals, - void *data __UNUSED__) -{ - unsigned char a1, a2, a3, a4; - - a1 = *(unsigned char *)avals[0]; - a2 = *(unsigned char *)avals[1]; - a3 = *(unsigned char *)avals[2]; - a4 = *(unsigned char *)avals[3]; - - *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4); - -} - -typedef unsigned char (*test_type)(unsigned char, unsigned char, - unsigned char, unsigned char); - -void test_func(ffi_cif *cif __UNUSED__, void *rval __UNUSED__, void **avals, - void *data __UNUSED__) -{ - printf("%d %d %d %d\n", *(unsigned char *)avals[0], - *(unsigned char *)avals[1], *(unsigned char *)avals[2], - *(unsigned char *)avals[3]); -} -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void * args_dbl[5]; - ffi_type * cl_arg_types[5]; - ffi_arg res_call; - unsigned char a, b, c, d, res_closure; - - a = 1; - b = 2; - c = 127; - d = 125; - - args_dbl[0] = &a; - args_dbl[1] = &b; - args_dbl[2] = &c; - args_dbl[3] = &d; - args_dbl[4] = NULL; - - cl_arg_types[0] = &ffi_type_uchar; - cl_arg_types[1] = &ffi_type_uchar; - cl_arg_types[2] = &ffi_type_uchar; - cl_arg_types[3] = &ffi_type_uchar; - cl_arg_types[4] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_uchar, cl_arg_types) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl); - /* { dg-output "1 2 127 125: 255" } */ - printf("res: %d\n", (unsigned char)res_call); - /* { dg-output "\nres: 255" } */ - CHECK((unsigned char)res_call == 255); - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK); - - res_closure = (*((test_type)code))(1, 2, 127, 125); - /* { dg-output "\n1 2 127 125: 255" } */ - printf("res: %d\n", res_closure); - /* { dg-output "\nres: 255" } */ - CHECK(res_closure == 255); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c deleted file mode 100644 index f61a627..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check passing of multiple unsigned short values. - Limitations: none. - PR: PR13221. - Originator: 20031129 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static unsigned short test_func_fn(unsigned short a1, unsigned short a2) -{ - unsigned short result; - - result = a1 + a2; - - printf("%d %d: %d\n", a1, a2, result); - - CHECK(a1 == 2); - CHECK(a2 == 32765); - CHECK(result == 32767); - - return result; -} - -static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals, - void *data __UNUSED__) -{ - unsigned short a1, a2; - - a1 = *(unsigned short *)avals[0]; - a2 = *(unsigned short *)avals[1]; - - *(ffi_arg *)rval = test_func_fn(a1, a2); - -} - -typedef unsigned short (*test_type)(unsigned short, unsigned short); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void * args_dbl[3]; - ffi_type * cl_arg_types[3]; - ffi_arg res_call; - unsigned short a, b, res_closure; - - a = 2; - b = 32765; - - args_dbl[0] = &a; - args_dbl[1] = &b; - args_dbl[2] = NULL; - - cl_arg_types[0] = &ffi_type_ushort; - cl_arg_types[1] = &ffi_type_ushort; - cl_arg_types[2] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, - &ffi_type_ushort, cl_arg_types) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl); - /* { dg-output "2 32765: 32767" } */ - printf("res: %d\n", (unsigned short)res_call); - /* { dg-output "\nres: 32767" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK); - - res_closure = (*((test_type)code))(2, 32765); - /* { dg-output "\n2 32765: 32767" } */ - printf("res: %d\n", res_closure); - /* { dg-output "\nres: 32767" } */ - CHECK(res_closure == 32767); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c deleted file mode 100644 index 3315c99..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +++ /dev/null @@ -1,94 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check passing of multiple unsigned short/char values. - Limitations: none. - PR: PR13221. - Originator: 20031129 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static unsigned short test_func_fn(unsigned char a1, unsigned short a2, - unsigned char a3, unsigned short a4) -{ - unsigned short result; - - result = a1 + a2 + a3 + a4; - - printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result); - - CHECK(a1 == 1); - CHECK(a2 == 2); - CHECK(a3 == 127); - CHECK(a4 == 128); - CHECK(result == 258); - - return result; - -} - -static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals, - void *data __UNUSED__) -{ - unsigned char a1, a3; - unsigned short a2, a4; - - a1 = *(unsigned char *)avals[0]; - a2 = *(unsigned short *)avals[1]; - a3 = *(unsigned char *)avals[2]; - a4 = *(unsigned short *)avals[3]; - - *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4); - -} - -typedef unsigned short (*test_type)(unsigned char, unsigned short, - unsigned char, unsigned short); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void * args_dbl[5]; - ffi_type * cl_arg_types[5]; - ffi_arg res_call; - unsigned char a, c; - unsigned short b, d, res_closure; - - a = 1; - b = 2; - c = 127; - d = 128; - - args_dbl[0] = &a; - args_dbl[1] = &b; - args_dbl[2] = &c; - args_dbl[3] = &d; - args_dbl[4] = NULL; - - cl_arg_types[0] = &ffi_type_uchar; - cl_arg_types[1] = &ffi_type_ushort; - cl_arg_types[2] = &ffi_type_uchar; - cl_arg_types[3] = &ffi_type_ushort; - cl_arg_types[4] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &ffi_type_ushort, cl_arg_types) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl); - /* { dg-output "1 2 127 128: 258" } */ - printf("res: %d\n", (unsigned short)res_call); - /* { dg-output "\nres: 258" } */ - CHECK(res_call == 258); - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK); - - res_closure = (*((test_type)code))(1, 2, 127, 128); - /* { dg-output "\n1 2 127 128: 258" } */ - printf("res: %d\n", res_closure); - /* { dg-output "\nres: 258" } */ - CHECK(res_closure == 258); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c deleted file mode 100644 index 73a4cba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check pointer arguments. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/6/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -#include "ffitest.h" - -void* cls_pointer_fn(void* a1, void* a2) -{ - void* result = (void*)((intptr_t)a1 + (intptr_t)a2); - - printf("0x%08x 0x%08x: 0x%08x\n", - (unsigned int)(uintptr_t) a1, - (unsigned int)(uintptr_t) a2, - (unsigned int)(uintptr_t) result); - - CHECK((unsigned int)(uintptr_t) a1 == 0x12345678); - CHECK((unsigned int)(uintptr_t) a2 == 0x89abcdef); - CHECK((unsigned int)(uintptr_t) result == 0x9be02467); - - return result; -} - -static void -cls_pointer_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - void* a1 = *(void**)(args[0]); - void* a2 = *(void**)(args[1]); - - *(void**)resp = cls_pointer_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[3]; - /* ffi_type cls_pointer_type; */ - ffi_type* arg_types[3]; - -/* cls_pointer_type.size = sizeof(void*); - cls_pointer_type.alignment = 0; - cls_pointer_type.type = FFI_TYPE_POINTER; - cls_pointer_type.elements = NULL;*/ - - void* arg1 = (void*)0x12345678; - void* arg2 = (void*)0x89abcdef; - ffi_arg res = 0; - - arg_types[0] = &ffi_type_pointer; - arg_types[1] = &ffi_type_pointer; - arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_pointer, - arg_types) == FFI_OK); - - args[0] = &arg1; - args[1] = &arg2; - args[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_pointer_fn), &res, args); - /* { dg-output "0x12345678 0x89abcdef: 0x9be02467" } */ - printf("res: 0x%08x\n", (unsigned int) res); - /* { dg-output "\nres: 0x9be02467" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_pointer_gn, NULL, code) == FFI_OK); - - res = (ffi_arg)(uintptr_t)((void*(*)(void*, void*))(code))(arg1, arg2); - /* { dg-output "\n0x12345678 0x89abcdef: 0x9be02467" } */ - printf("res: 0x%08x\n", (unsigned int) res); - /* { dg-output "\nres: 0x9be02467" } */ - CHECK(res == 0x9be02467); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c deleted file mode 100644 index 2054f25..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c +++ /dev/null @@ -1,152 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check pointer arguments across multiple hideous stack frames. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/7/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -#include "ffitest.h" - -static long dummyVar; - -long dummy_func( - long double a1, char b1, - long double a2, char b2, - long double a3, char b3, - long double a4, char b4) -{ - return a1 + b1 + a2 + b2 + a3 + b3 + a4 + b4; -} - -void* cls_pointer_fn2(void* a1, void* a2) -{ - long double trample1 = (intptr_t)a1 + (intptr_t)a2; - char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0]; - long double trample3 = (intptr_t)trample1 + (intptr_t)a1; - char trample4 = trample2 + ((char*)&a1)[1]; - long double trample5 = (intptr_t)trample3 + (intptr_t)a2; - char trample6 = trample4 + ((char*)&a2)[1]; - long double trample7 = (intptr_t)trample5 + (intptr_t)trample1; - char trample8 = trample6 + trample2; - void* result; - - dummyVar = dummy_func(trample1, trample2, trample3, trample4, - trample5, trample6, trample7, trample8); - - result = (void*)((intptr_t)a1 + (intptr_t)a2); - - printf("0x%08x 0x%08x: 0x%08x\n", - (unsigned int)(uintptr_t) a1, - (unsigned int)(uintptr_t) a2, - (unsigned int)(uintptr_t) result); - - CHECK((unsigned int)(uintptr_t) a1 == 0x8acf1356); - CHECK((unsigned int)(uintptr_t) a2 == 0x01234567); - CHECK((unsigned int)(uintptr_t) result == 0x8bf258bd); - - return result; -} - -void* cls_pointer_fn1(void* a1, void* a2) -{ - long double trample1 = (intptr_t)a1 + (intptr_t)a2; - char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0]; - long double trample3 = (intptr_t)trample1 + (intptr_t)a1; - char trample4 = trample2 + ((char*)&a1)[1]; - long double trample5 = (intptr_t)trample3 + (intptr_t)a2; - char trample6 = trample4 + ((char*)&a2)[1]; - long double trample7 = (intptr_t)trample5 + (intptr_t)trample1; - char trample8 = trample6 + trample2; - void* result; - - dummyVar = dummy_func(trample1, trample2, trample3, trample4, - trample5, trample6, trample7, trample8); - - result = (void*)((intptr_t)a1 + (intptr_t)a2); - - printf("0x%08x 0x%08x: 0x%08x\n", - (unsigned int)(intptr_t) a1, - (unsigned int)(intptr_t) a2, - (unsigned int)(intptr_t) result); - - CHECK((unsigned int)(uintptr_t) a1 == 0x01234567); - CHECK((unsigned int)(uintptr_t) a2 == 0x89abcdef); - CHECK((unsigned int)(uintptr_t) result == 0x8acf1356); - - result = cls_pointer_fn2(result, a1); - - return result; -} - -static void -cls_pointer_gn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - void* a1 = *(void**)(args[0]); - void* a2 = *(void**)(args[1]); - - long double trample1 = (intptr_t)a1 + (intptr_t)a2; - char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0]; - long double trample3 = (intptr_t)trample1 + (intptr_t)a1; - char trample4 = trample2 + ((char*)&a1)[1]; - long double trample5 = (intptr_t)trample3 + (intptr_t)a2; - char trample6 = trample4 + ((char*)&a2)[1]; - long double trample7 = (intptr_t)trample5 + (intptr_t)trample1; - char trample8 = trample6 + trample2; - - dummyVar = dummy_func(trample1, trample2, trample3, trample4, - trample5, trample6, trample7, trample8); - - *(void**)resp = cls_pointer_fn1(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[3]; - /* ffi_type cls_pointer_type; */ - ffi_type* arg_types[3]; - -/* cls_pointer_type.size = sizeof(void*); - cls_pointer_type.alignment = 0; - cls_pointer_type.type = FFI_TYPE_POINTER; - cls_pointer_type.elements = NULL;*/ - - void* arg1 = (void*)0x01234567; - void* arg2 = (void*)0x89abcdef; - ffi_arg res = 0; - - arg_types[0] = &ffi_type_pointer; - arg_types[1] = &ffi_type_pointer; - arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_pointer, - arg_types) == FFI_OK); - - args[0] = &arg1; - args[1] = &arg2; - args[2] = NULL; - - printf("\n"); - ffi_call(&cif, FFI_FN(cls_pointer_fn1), &res, args); - - printf("res: 0x%08x\n", (unsigned int) res); - /* { dg-output "\n0x01234567 0x89abcdef: 0x8acf1356" } */ - /* { dg-output "\n0x8acf1356 0x01234567: 0x8bf258bd" } */ - /* { dg-output "\nres: 0x8bf258bd" } */ - CHECK(res == 0x8bf258bd); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_pointer_gn, NULL, code) == FFI_OK); - - res = (ffi_arg)(uintptr_t)((void*(*)(void*, void*))(code))(arg1, arg2); - - printf("res: 0x%08x\n", (unsigned int) res); - /* { dg-output "\n0x01234567 0x89abcdef: 0x8acf1356" } */ - /* { dg-output "\n0x8acf1356 0x01234567: 0x8bf258bd" } */ - /* { dg-output "\nres: 0x8bf258bd" } */ - CHECK(res == 0x8bf258bd); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c deleted file mode 100644 index 22446c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Area: closure_call - Purpose: Check return value schar. - Limitations: none. - PR: none. - Originator: 20031108 */ - - - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_schar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - *(ffi_arg*)resp = *(signed char *)args[0]; - printf("%d: %d\n",*(signed char *)args[0], - (int)*(ffi_arg *)(resp)); - CHECK(*(signed char *)args[0] == 127); - CHECK((int)*(ffi_arg *)(resp) == 127); -} -typedef signed char (*cls_ret_schar)(signed char); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - signed char res; - - cl_arg_types[0] = &ffi_type_schar; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_schar, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_schar_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_schar)code))(127); - /* { dg-output "127: 127" } */ - printf("res: %d\n", res); - /* { dg-output "\nres: 127" } */ - CHECK(res == 127); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c deleted file mode 100644 index a3f72c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Area: closure_call - Purpose: Check return value sint32. - Limitations: none. - PR: none. - Originator: 20031108 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_sint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - *(ffi_arg*)resp = *(signed int *)args[0]; - printf("%d: %d\n",*(signed int *)args[0], - (int)*(ffi_arg *)(resp)); - CHECK(*(signed int *)args[0] == 65534); - CHECK((int)*(ffi_arg *)(resp) == 65534); -} -typedef signed int (*cls_ret_sint)(signed int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - signed int res; - - cl_arg_types[0] = &ffi_type_sint; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sint_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_sint)code))(65534); - /* { dg-output "65534: 65534" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 65534" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c deleted file mode 100644 index 8061a02..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Area: closure_call - Purpose: Check return value sshort. - Limitations: none. - PR: none. - Originator: 20031108 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_sshort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - *(ffi_arg*)resp = *(signed short *)args[0]; - printf("%d: %d\n",*(signed short *)args[0], - (int)*(ffi_arg *)(resp)); - CHECK(*(signed short *)args[0] == 255); - CHECK((int)*(ffi_arg *)(resp) == 255); -} -typedef signed short (*cls_ret_sshort)(signed short); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - signed short res; - - cl_arg_types[0] = &ffi_type_sshort; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_sshort, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sshort_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_sshort)code))(255); - /* { dg-output "255: 255" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 255" } */ - CHECK(res == 255); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c deleted file mode 100644 index c59a27f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c +++ /dev/null @@ -1,125 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Test doubles passed in variable argument lists. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/6/2007 */ - -/* { dg-do run } */ -/* { dg-output "" { xfail avr32*-*-* } } */ -#include "ffitest.h" - -struct small_tag -{ - unsigned char a; - unsigned char b; -}; - -struct large_tag -{ - unsigned a; - unsigned b; - unsigned c; - unsigned d; - unsigned e; -}; - -static void -test_fn (ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - int n = *(int*)args[0]; - struct small_tag s1 = * (struct small_tag *) args[1]; - struct large_tag l1 = * (struct large_tag *) args[2]; - struct small_tag s2 = * (struct small_tag *) args[3]; - - printf ("%d %d %d %d %d %d %d %d %d %d\n", n, s1.a, s1.b, - l1.a, l1.b, l1.c, l1.d, l1.e, - s2.a, s2.b); - CHECK(n == 4); - CHECK(s1.a == 5); - CHECK(s1.b == 6); - CHECK(l1.a == 10); - CHECK(l1.b == 11); - CHECK(l1.c == 12); - CHECK(l1.d == 13); - CHECK(l1.e == 14); - CHECK(s2.a == 20); - CHECK(s2.b == 21); - * (ffi_arg*) resp = 42; -} - -int -main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc (sizeof (ffi_closure), &code); - ffi_type* arg_types[5]; - - ffi_arg res = 0; - - ffi_type s_type; - ffi_type *s_type_elements[3]; - - ffi_type l_type; - ffi_type *l_type_elements[6]; - - struct small_tag s1; - struct small_tag s2; - struct large_tag l1; - - int si; - - s_type.size = 0; - s_type.alignment = 0; - s_type.type = FFI_TYPE_STRUCT; - s_type.elements = s_type_elements; - - s_type_elements[0] = &ffi_type_uchar; - s_type_elements[1] = &ffi_type_uchar; - s_type_elements[2] = NULL; - - l_type.size = 0; - l_type.alignment = 0; - l_type.type = FFI_TYPE_STRUCT; - l_type.elements = l_type_elements; - - l_type_elements[0] = &ffi_type_uint; - l_type_elements[1] = &ffi_type_uint; - l_type_elements[2] = &ffi_type_uint; - l_type_elements[3] = &ffi_type_uint; - l_type_elements[4] = &ffi_type_uint; - l_type_elements[5] = NULL; - - arg_types[0] = &ffi_type_sint; - arg_types[1] = &s_type; - arg_types[2] = &l_type; - arg_types[3] = &s_type; - arg_types[4] = NULL; - - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 4, &ffi_type_sint, - arg_types) == FFI_OK); - - si = 4; - s1.a = 5; - s1.b = 6; - - s2.a = 20; - s2.b = 21; - - l1.a = 10; - l1.b = 11; - l1.c = 12; - l1.d = 13; - l1.e = 14; - - CHECK(ffi_prep_closure_loc(pcl, &cif, test_fn, NULL, code) == FFI_OK); - - res = ((int (*)(int, ...))(code))(si, s1, l1, s2); - /* { dg-output "4 5 6 10 11 12 13 14 20 21" } */ - printf("res: %d\n", (int) res); - /* { dg-output "\nres: 42" } */ - CHECK(res == 42); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c deleted file mode 100644 index aa2023f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Area: closure_call - Purpose: Check return value uchar. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_uchar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - *(ffi_arg*)resp = *(unsigned char *)args[0]; - printf("%d: %d\n",*(unsigned char *)args[0], - (int)*(ffi_arg *)(resp)); - CHECK(*(unsigned char *)args[0] == 127); - CHECK((int)*(ffi_arg *)(resp) == 127); -} -typedef unsigned char (*cls_ret_uchar)(unsigned char); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - unsigned char res; - - cl_arg_types[0] = &ffi_type_uchar; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_uchar, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_uchar_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_uchar)code))(127); - /* { dg-output "127: 127" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 127" } */ - CHECK(res == 127); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c deleted file mode 100644 index 23b88de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Area: closure_call - Purpose: Check return value uint. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_uint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - *(ffi_arg *)resp = *(unsigned int *)args[0]; - - printf("%d: %d\n",*(unsigned int *)args[0], - (int)*(ffi_arg *)(resp)); - - CHECK(*(unsigned int *)args[0] == 2147483647); - CHECK((int)*(ffi_arg *)(resp) == 2147483647); -} -typedef unsigned int (*cls_ret_uint)(unsigned int); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - unsigned int res; - - cl_arg_types[0] = &ffi_type_uint; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_uint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_uint_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_uint)code))(2147483647); - /* { dg-output "2147483647: 2147483647" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 2147483647" } */ - CHECK(res == 2147483647); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c deleted file mode 100644 index 0048a02..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Area: closure_call - Purpose: Test anonymous unsigned int argument. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ - -#include "ffitest.h" - -typedef unsigned int T; - -static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) - { - *(ffi_arg *)resp = *(T *)args[0]; - - printf("%d: %d %d\n", (int)*(ffi_arg *)resp, *(T *)args[0], *(T *)args[1]); - CHECK(*(T *)args[0] == 67); - CHECK(*(T *)args[1] == 4); - CHECK((int)*(ffi_arg *)resp == 67); - } - -typedef T (*cls_ret_T)(T, ...); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[3]; - T res; - - cl_arg_types[0] = &ffi_type_uint; - cl_arg_types[1] = &ffi_type_uint; - cl_arg_types[2] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, - &ffi_type_uint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK); - res = ((((cls_ret_T)code)(67, 4))); - /* { dg-output "67: 67 4" } */ - printf("res: %d\n", res); - /* { dg-output "\nres: 67" } */ - CHECK(res == 67); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c deleted file mode 100644 index 79f4170..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Area: closure_call - Purpose: Test anonymous unsigned long argument. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ - -#include "ffitest.h" - -typedef unsigned long T; - -static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) - { - *(T *)resp = *(T *)args[0]; - - printf("%ld: %ld %ld\n", *(T *)resp, *(T *)args[0], *(T *)args[1]); - CHECK(*(T *)args[0] == 67); - CHECK(*(T *)args[1] == 4); - CHECK(*(T *)resp == 67); - } - -typedef T (*cls_ret_T)(T, ...); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[3]; - T res; - - cl_arg_types[0] = &ffi_type_ulong; - cl_arg_types[1] = &ffi_type_ulong; - cl_arg_types[2] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, - &ffi_type_ulong, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK); - res = ((((cls_ret_T)code)(67, 4))); - /* { dg-output "67: 67 4" } */ - printf("res: %ld\n", res); - /* { dg-output "\nres: 67" } */ - CHECK(res == 67); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c deleted file mode 100644 index 813bb2e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Area: closure_call - Purpose: Check return value long long. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */ -#include "ffitest.h" - -static void cls_ret_ulonglong_fn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - *(unsigned long long *)resp= 0xfffffffffffffffLL ^ *(unsigned long long *)args[0]; - - printf("%" PRIuLL ": %" PRIuLL "\n",*(unsigned long long *)args[0], - *(unsigned long long *)(resp)); -} -typedef unsigned long long (*cls_ret_ulonglong)(unsigned long long); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - unsigned long long res; - - cl_arg_types[0] = &ffi_type_uint64; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_uint64, cl_arg_types) == FFI_OK); - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_ulonglong_fn, NULL, code) == FFI_OK); - res = (*((cls_ret_ulonglong)code))(214LL); - /* { dg-output "214: 1152921504606846761" } */ - printf("res: %" PRIdLL "\n", res); - /* { dg-output "\nres: 1152921504606846761" } */ - CHECK(res == 1152921504606846761LL); - - res = (*((cls_ret_ulonglong)code))(9223372035854775808LL); - /* { dg-output "\n9223372035854775808: 8070450533247928831" } */ - printf("res: %" PRIdLL "\n", res); - /* { dg-output "\nres: 8070450533247928831" } */ - CHECK(res == 8070450533247928831LL); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c deleted file mode 100644 index bfe5e65..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Area: closure_call - Purpose: Check return value ushort. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -static void cls_ret_ushort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - *(ffi_arg*)resp = *(unsigned short *)args[0]; - - printf("%d: %d\n",*(unsigned short *)args[0], - (int)*(ffi_arg *)(resp)); - CHECK(*(unsigned short *)args[0] == 65535); - CHECK((int)*(ffi_arg *)(resp) == 65535); -} -typedef unsigned short (*cls_ret_ushort)(unsigned short); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - unsigned short res; - - cl_arg_types[0] = &ffi_type_ushort; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_ushort, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_ushort_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_ushort)code))(65535); - /* { dg-output "65535: 65535" } */ - printf("res: %d\n",res); - /* { dg-output "\nres: 65535" } */ - CHECK(res == 65535); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/err_bad_abi.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/err_bad_abi.c deleted file mode 100644 index f5a7317..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/err_bad_abi.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Area: ffi_prep_cif, ffi_prep_closure - Purpose: Test error return for bad ABIs. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/6/2007 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static void -dummy_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__, - void** args __UNUSED__, void* userdata __UNUSED__) -{} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type* arg_types[1]; - - arg_types[0] = NULL; - - CHECK(ffi_prep_cif(&cif, 255, 0, &ffi_type_void, - arg_types) == FFI_BAD_ABI); - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void, - arg_types) == FFI_OK); - - cif.abi= 255; - - CHECK(ffi_prep_closure_loc(pcl, &cif, dummy_fn, NULL, code) == FFI_BAD_ABI); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h deleted file mode 100644 index d27d362..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +++ /dev/null @@ -1 +0,0 @@ -#include "../libffi.call/ffitest.h" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c deleted file mode 100644 index 572a0c8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +++ /dev/null @@ -1,343 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check large structure returns. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/18/2007 -*/ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */ -/* { dg-options -Wformat=0 { target moxie*-*-elf or1k-*-* } } */ - -#include - -#include "ffitest.h" - -typedef struct BigStruct{ - uint8_t a; - int8_t b; - uint16_t c; - int16_t d; - uint32_t e; - int32_t f; - uint64_t g; - int64_t h; - float i; - double j; - long double k; - char* l; - uint8_t m; - int8_t n; - uint16_t o; - int16_t p; - uint32_t q; - int32_t r; - uint64_t s; - int64_t t; - float u; - double v; - long double w; - char* x; - uint8_t y; - int8_t z; - uint16_t aa; - int16_t bb; - uint32_t cc; - int32_t dd; - uint64_t ee; - int64_t ff; - float gg; - double hh; - long double ii; - char* jj; - uint8_t kk; - int8_t ll; - uint16_t mm; - int16_t nn; - uint32_t oo; - int32_t pp; - uint64_t qq; - int64_t rr; - float ss; - double tt; - long double uu; - char* vv; - uint8_t ww; - int8_t xx; -} BigStruct; - -BigStruct -test_large_fn( - uint8_t ui8_1, - int8_t si8_1, - uint16_t ui16_1, - int16_t si16_1, - uint32_t ui32_1, - int32_t si32_1, - uint64_t ui64_1, - int64_t si64_1, - float f_1, - double d_1, - long double ld_1, - char* p_1, - uint8_t ui8_2, - int8_t si8_2, - uint16_t ui16_2, - int16_t si16_2, - uint32_t ui32_2, - int32_t si32_2, - uint64_t ui64_2, - int64_t si64_2, - float f_2, - double d_2, - long double ld_2, - char* p_2, - uint8_t ui8_3, - int8_t si8_3, - uint16_t ui16_3, - int16_t si16_3, - uint32_t ui32_3, - int32_t si32_3, - uint64_t ui64_3, - int64_t si64_3, - float f_3, - double d_3, - long double ld_3, - char* p_3, - uint8_t ui8_4, - int8_t si8_4, - uint16_t ui16_4, - int16_t si16_4, - uint32_t ui32_4, - int32_t si32_4, - uint64_t ui64_4, - int64_t si64_4, - float f_4, - double d_4, - long double ld_4, - char* p_4, - uint8_t ui8_5, - int8_t si8_5) -{ - BigStruct retVal = { - ui8_1 + 1, si8_1 + 1, ui16_1 + 1, si16_1 + 1, ui32_1 + 1, si32_1 + 1, - ui64_1 + 1, si64_1 + 1, f_1 + 1, d_1 + 1, ld_1 + 1, (char*)((intptr_t)p_1 + 1), - ui8_2 + 2, si8_2 + 2, ui16_2 + 2, si16_2 + 2, ui32_2 + 2, si32_2 + 2, - ui64_2 + 2, si64_2 + 2, f_2 + 2, d_2 + 2, ld_2 + 2, (char*)((intptr_t)p_2 + 2), - ui8_3 + 3, si8_3 + 3, ui16_3 + 3, si16_3 + 3, ui32_3 + 3, si32_3 + 3, - ui64_3 + 3, si64_3 + 3, f_3 + 3, d_3 + 3, ld_3 + 3, (char*)((intptr_t)p_3 + 3), - ui8_4 + 4, si8_4 + 4, ui16_4 + 4, si16_4 + 4, ui32_4 + 4, si32_4 + 4, - ui64_4 + 4, si64_4 + 4, f_4 + 4, d_4 + 4, ld_4 + 4, (char*)((intptr_t)p_4 + 4), - ui8_5 + 5, si8_5 + 5}; - - printf("%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 ": " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n", - ui8_1, si8_1, ui16_1, si16_1, ui32_1, si32_1, ui64_1, si64_1, f_1, d_1, ld_1, (long)(intptr_t)p_1, - ui8_2, si8_2, ui16_2, si16_2, ui32_2, si32_2, ui64_2, si64_2, f_2, d_2, ld_2, (long)(intptr_t)p_2, - ui8_3, si8_3, ui16_3, si16_3, ui32_3, si32_3, ui64_3, si64_3, f_3, d_3, ld_3, (long)(intptr_t)p_3, - ui8_4, si8_4, ui16_4, si16_4, ui32_4, si32_4, ui64_4, si64_4, f_4, d_4, ld_4, (long)(intptr_t)p_4, ui8_5, si8_5, - retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f, - retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (long)(intptr_t)retVal.l, - retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r, - retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (long)(intptr_t)retVal.x, - retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd, - retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (long)(intptr_t)retVal.jj, - retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp, - retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (long)(intptr_t)retVal.vv, retVal.ww, retVal.xx); - - return retVal; -} - -static void -cls_large_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__) -{ - uint8_t ui8_1 = *(uint8_t*)args[0]; - int8_t si8_1 = *(int8_t*)args[1]; - uint16_t ui16_1 = *(uint16_t*)args[2]; - int16_t si16_1 = *(int16_t*)args[3]; - uint32_t ui32_1 = *(uint32_t*)args[4]; - int32_t si32_1 = *(int32_t*)args[5]; - uint64_t ui64_1 = *(uint64_t*)args[6]; - int64_t si64_1 = *(int64_t*)args[7]; - float f_1 = *(float*)args[8]; - double d_1 = *(double*)args[9]; - long double ld_1 = *(long double*)args[10]; - char* p_1 = *(char**)args[11]; - uint8_t ui8_2 = *(uint8_t*)args[12]; - int8_t si8_2 = *(int8_t*)args[13]; - uint16_t ui16_2 = *(uint16_t*)args[14]; - int16_t si16_2 = *(int16_t*)args[15]; - uint32_t ui32_2 = *(uint32_t*)args[16]; - int32_t si32_2 = *(int32_t*)args[17]; - uint64_t ui64_2 = *(uint64_t*)args[18]; - int64_t si64_2 = *(int64_t*)args[19]; - float f_2 = *(float*)args[20]; - double d_2 = *(double*)args[21]; - long double ld_2 = *(long double*)args[22]; - char* p_2 = *(char**)args[23]; - uint8_t ui8_3 = *(uint8_t*)args[24]; - int8_t si8_3 = *(int8_t*)args[25]; - uint16_t ui16_3 = *(uint16_t*)args[26]; - int16_t si16_3 = *(int16_t*)args[27]; - uint32_t ui32_3 = *(uint32_t*)args[28]; - int32_t si32_3 = *(int32_t*)args[29]; - uint64_t ui64_3 = *(uint64_t*)args[30]; - int64_t si64_3 = *(int64_t*)args[31]; - float f_3 = *(float*)args[32]; - double d_3 = *(double*)args[33]; - long double ld_3 = *(long double*)args[34]; - char* p_3 = *(char**)args[35]; - uint8_t ui8_4 = *(uint8_t*)args[36]; - int8_t si8_4 = *(int8_t*)args[37]; - uint16_t ui16_4 = *(uint16_t*)args[38]; - int16_t si16_4 = *(int16_t*)args[39]; - uint32_t ui32_4 = *(uint32_t*)args[40]; - int32_t si32_4 = *(int32_t*)args[41]; - uint64_t ui64_4 = *(uint64_t*)args[42]; - int64_t si64_4 = *(int64_t*)args[43]; - float f_4 = *(float*)args[44]; - double d_4 = *(double*)args[45]; - long double ld_4 = *(long double*)args[46]; - char* p_4 = *(char**)args[47]; - uint8_t ui8_5 = *(uint8_t*)args[48]; - int8_t si8_5 = *(int8_t*)args[49]; - - *(BigStruct*)resp = test_large_fn( - ui8_1, si8_1, ui16_1, si16_1, ui32_1, si32_1, ui64_1, si64_1, f_1, d_1, ld_1, p_1, - ui8_2, si8_2, ui16_2, si16_2, ui32_2, si32_2, ui64_2, si64_2, f_2, d_2, ld_2, p_2, - ui8_3, si8_3, ui16_3, si16_3, ui32_3, si32_3, ui64_3, si64_3, f_3, d_3, ld_3, p_3, - ui8_4, si8_4, ui16_4, si16_4, ui32_4, si32_4, ui64_4, si64_4, f_4, d_4, ld_4, p_4, - ui8_5, si8_5); -} - -int -main(int argc __UNUSED__, const char** argv __UNUSED__) -{ - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - - ffi_cif cif; - ffi_type* argTypes[51]; - void* argValues[51]; - - ffi_type ret_struct_type; - ffi_type* st_fields[51]; - BigStruct retVal; - - uint8_t ui8 = 1; - int8_t si8 = 2; - uint16_t ui16 = 3; - int16_t si16 = 4; - uint32_t ui32 = 5; - int32_t si32 = 6; - uint64_t ui64 = 7; - int64_t si64 = 8; - float f = 9; - double d = 10; - long double ld = 11; - char* p = (char*)0x12345678; - - memset (&retVal, 0, sizeof(retVal)); - - ret_struct_type.size = 0; - ret_struct_type.alignment = 0; - ret_struct_type.type = FFI_TYPE_STRUCT; - ret_struct_type.elements = st_fields; - - st_fields[0] = st_fields[12] = st_fields[24] = st_fields[36] = st_fields[48] = &ffi_type_uint8; - st_fields[1] = st_fields[13] = st_fields[25] = st_fields[37] = st_fields[49] = &ffi_type_sint8; - st_fields[2] = st_fields[14] = st_fields[26] = st_fields[38] = &ffi_type_uint16; - st_fields[3] = st_fields[15] = st_fields[27] = st_fields[39] = &ffi_type_sint16; - st_fields[4] = st_fields[16] = st_fields[28] = st_fields[40] = &ffi_type_uint32; - st_fields[5] = st_fields[17] = st_fields[29] = st_fields[41] = &ffi_type_sint32; - st_fields[6] = st_fields[18] = st_fields[30] = st_fields[42] = &ffi_type_uint64; - st_fields[7] = st_fields[19] = st_fields[31] = st_fields[43] = &ffi_type_sint64; - st_fields[8] = st_fields[20] = st_fields[32] = st_fields[44] = &ffi_type_float; - st_fields[9] = st_fields[21] = st_fields[33] = st_fields[45] = &ffi_type_double; - st_fields[10] = st_fields[22] = st_fields[34] = st_fields[46] = &ffi_type_longdouble; - st_fields[11] = st_fields[23] = st_fields[35] = st_fields[47] = &ffi_type_pointer; - - st_fields[50] = NULL; - - argTypes[0] = argTypes[12] = argTypes[24] = argTypes[36] = argTypes[48] = &ffi_type_uint8; - argValues[0] = argValues[12] = argValues[24] = argValues[36] = argValues[48] = &ui8; - argTypes[1] = argTypes[13] = argTypes[25] = argTypes[37] = argTypes[49] = &ffi_type_sint8; - argValues[1] = argValues[13] = argValues[25] = argValues[37] = argValues[49] = &si8; - argTypes[2] = argTypes[14] = argTypes[26] = argTypes[38] = &ffi_type_uint16; - argValues[2] = argValues[14] = argValues[26] = argValues[38] = &ui16; - argTypes[3] = argTypes[15] = argTypes[27] = argTypes[39] = &ffi_type_sint16; - argValues[3] = argValues[15] = argValues[27] = argValues[39] = &si16; - argTypes[4] = argTypes[16] = argTypes[28] = argTypes[40] = &ffi_type_uint32; - argValues[4] = argValues[16] = argValues[28] = argValues[40] = &ui32; - argTypes[5] = argTypes[17] = argTypes[29] = argTypes[41] = &ffi_type_sint32; - argValues[5] = argValues[17] = argValues[29] = argValues[41] = &si32; - argTypes[6] = argTypes[18] = argTypes[30] = argTypes[42] = &ffi_type_uint64; - argValues[6] = argValues[18] = argValues[30] = argValues[42] = &ui64; - argTypes[7] = argTypes[19] = argTypes[31] = argTypes[43] = &ffi_type_sint64; - argValues[7] = argValues[19] = argValues[31] = argValues[43] = &si64; - argTypes[8] = argTypes[20] = argTypes[32] = argTypes[44] = &ffi_type_float; - argValues[8] = argValues[20] = argValues[32] = argValues[44] = &f; - argTypes[9] = argTypes[21] = argTypes[33] = argTypes[45] = &ffi_type_double; - argValues[9] = argValues[21] = argValues[33] = argValues[45] = &d; - argTypes[10] = argTypes[22] = argTypes[34] = argTypes[46] = &ffi_type_longdouble; - argValues[10] = argValues[22] = argValues[34] = argValues[46] = &ld; - argTypes[11] = argTypes[23] = argTypes[35] = argTypes[47] = &ffi_type_pointer; - argValues[11] = argValues[23] = argValues[35] = argValues[47] = &p; - - argTypes[50] = NULL; - argValues[50] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 50, &ret_struct_type, argTypes) == FFI_OK); - - ffi_call(&cif, FFI_FN(test_large_fn), &retVal, argValues); - /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */ - printf("res: %" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n", - retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f, - retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (long)(intptr_t)retVal.l, - retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r, - retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (long)(intptr_t)retVal.x, - retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd, - retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (long)(intptr_t)retVal.jj, - retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp, - retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (long)(intptr_t)retVal.vv, retVal.ww, retVal.xx); - /* { dg-output "\nres: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_large_fn, NULL, code) == FFI_OK); - - retVal = ((BigStruct(*)( - uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*, - uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*, - uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*, - uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*, - uint8_t, int8_t))(code))( - ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p, - ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p, - ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p, - ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p, - ui8, si8); - /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */ - printf("res: %" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx " - "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n", - retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f, - retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (long)(intptr_t)retVal.l, - retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r, - retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (long)(intptr_t)retVal.x, - retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd, - retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (long)(intptr_t)retVal.jj, - retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp, - retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (long)(intptr_t)retVal.vv, retVal.ww, retVal.xx); - /* { dg-output "\nres: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */ - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c deleted file mode 100644 index 8b1b4ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c +++ /dev/null @@ -1,175 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_16byte1 { - double a; - float b; - int c; -} cls_struct_16byte1; - -typedef struct cls_struct_16byte2 { - int ii; - double dd; - float ff; -} cls_struct_16byte2; - -typedef struct cls_struct_combined { - cls_struct_16byte1 d; - cls_struct_16byte2 e; -} cls_struct_combined; - -static cls_struct_combined cls_struct_combined_fn(struct cls_struct_16byte1 b0, - struct cls_struct_16byte2 b1, - struct cls_struct_combined b2) -{ - struct cls_struct_combined result; - - result.d.a = b0.a + b1.dd + b2.d.a; - result.d.b = b0.b + b1.ff + b2.d.b; - result.d.c = b0.c + b1.ii + b2.d.c; - result.e.ii = b0.c + b1.ii + b2.e.ii; - result.e.dd = b0.a + b1.dd + b2.e.dd; - result.e.ff = b0.b + b1.ff + b2.e.ff; - - printf("%g %g %d %d %g %g %g %g %d %d %g %g: %g %g %d %d %g %g\n", - b0.a, b0.b, b0.c, - b1.ii, b1.dd, b1.ff, - b2.d.a, b2.d.b, b2.d.c, - b2.e.ii, b2.e.dd, b2.e.ff, - result.d.a, result.d.b, result.d.c, - result.e.ii, result.e.dd, result.e.ff); - - CHECK_DOUBLE_EQ(b0.a, 9); - CHECK_FLOAT_EQ(b0.b, 2); - CHECK(b0.c == 6); - - CHECK(b1.ii == 1); - CHECK_DOUBLE_EQ(b1.dd, 2); - CHECK_FLOAT_EQ(b1.ff, 3); - - CHECK_DOUBLE_EQ(b2.d.a, 4); - CHECK_FLOAT_EQ(b2.d.b, 5); - CHECK(b2.d.c == 6); - - CHECK(b2.e.ii == 3); - CHECK_DOUBLE_EQ(b2.e.dd, 1); - CHECK_FLOAT_EQ(b2.e.ff, 8); - - CHECK_DOUBLE_EQ(result.d.a, 15); - CHECK_FLOAT_EQ(result.d.b, 10); - CHECK(result.d.c == 13); - CHECK(result.e.ii == 10); - CHECK_DOUBLE_EQ(result.e.dd, 12); - CHECK_FLOAT_EQ(result.e.ff, 13); - - return result; -} - -static void -cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_16byte1 b0; - struct cls_struct_16byte2 b1; - struct cls_struct_combined b2; - - b0 = *(struct cls_struct_16byte1*)(args[0]); - b1 = *(struct cls_struct_16byte2*)(args[1]); - b2 = *(struct cls_struct_combined*)(args[2]); - - - *(cls_struct_combined*)resp = cls_struct_combined_fn(b0, b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[5]; - ffi_type* cls_struct_fields1[5]; - ffi_type* cls_struct_fields2[5]; - ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_16byte1 e_dbl = { 9.0, 2.0, 6}; - struct cls_struct_16byte2 f_dbl = { 1, 2.0, 3.0}; - struct cls_struct_combined g_dbl = {{4.0, 5.0, 6}, - {3, 1.0, 8.0}}; - struct cls_struct_combined res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_type2.size = 0; - cls_struct_type2.alignment = 0; - cls_struct_type2.type = FFI_TYPE_STRUCT; - cls_struct_type2.elements = cls_struct_fields2; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_float; - cls_struct_fields[2] = &ffi_type_sint; - cls_struct_fields[3] = NULL; - - cls_struct_fields1[0] = &ffi_type_sint; - cls_struct_fields1[1] = &ffi_type_double; - cls_struct_fields1[2] = &ffi_type_float; - cls_struct_fields1[3] = NULL; - - cls_struct_fields2[0] = &cls_struct_type; - cls_struct_fields2[1] = &cls_struct_type1; - cls_struct_fields2[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = &cls_struct_type2; - dbl_arg_types[3] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type2, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_combined_fn), &res_dbl, args_dbl); - /* { dg-output "9 2 6 1 2 3 4 5 6 3 1 8: 15 10 13 10 12 13" } */ - CHECK_DOUBLE_EQ( res_dbl.d.a, (e_dbl.a + f_dbl.dd + g_dbl.d.a)); - CHECK_FLOAT_EQ( res_dbl.d.b, (e_dbl.b + f_dbl.ff + g_dbl.d.b)); - CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c)); - CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii)); - CHECK_DOUBLE_EQ( res_dbl.e.dd, (e_dbl.a + f_dbl.dd + g_dbl.e.dd)); - CHECK_FLOAT_EQ( res_dbl.e.ff, (e_dbl.b + f_dbl.ff + g_dbl.e.ff)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_combined(*)(cls_struct_16byte1, - cls_struct_16byte2, - cls_struct_combined)) - (code))(e_dbl, f_dbl, g_dbl); - /* { dg-output "\n9 2 6 1 2 3 4 5 6 3 1 8: 15 10 13 10 12 13" } */ - CHECK_DOUBLE_EQ( res_dbl.d.a, (e_dbl.a + f_dbl.dd + g_dbl.d.a)); - CHECK_FLOAT_EQ( res_dbl.d.b, (e_dbl.b + f_dbl.ff + g_dbl.d.b)); - CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c)); - CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii)); - CHECK_DOUBLE_EQ( res_dbl.e.dd, (e_dbl.a + f_dbl.dd + g_dbl.e.dd)); - CHECK_FLOAT_EQ( res_dbl.e.ff, (e_dbl.b + f_dbl.ff + g_dbl.e.ff)); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c deleted file mode 100644 index df8ab59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_16byte1 { - double a; - float b; - int c; -} cls_struct_16byte1; - -typedef struct cls_struct_16byte2 { - int ii; - double dd; - float ff; -} cls_struct_16byte2; - -typedef struct cls_struct_combined { - cls_struct_16byte1 d; - cls_struct_16byte2 e; -} cls_struct_combined; - -static cls_struct_combined cls_struct_combined_fn(struct cls_struct_16byte1 b0, - struct cls_struct_16byte2 b1, - struct cls_struct_combined b2, - struct cls_struct_16byte1 b3) -{ - struct cls_struct_combined result; - - result.d.a = b0.a + b1.dd + b2.d.a; - result.d.b = b0.b + b1.ff + b2.d.b; - result.d.c = b0.c + b1.ii + b2.d.c; - result.e.ii = b0.c + b1.ii + b2.e.ii; - result.e.dd = b0.a + b1.dd + b2.e.dd; - result.e.ff = b0.b + b1.ff + b2.e.ff; - - printf("%g %g %d %d %g %g %g %g %d %d %g %g %g %g %d: %g %g %d %d %g %g\n", - b0.a, b0.b, b0.c, - b1.ii, b1.dd, b1.ff, - b2.d.a, b2.d.b, b2.d.c, - b2.e.ii, b2.e.dd, b2.e.ff, - b3.a, b3.b, b3.c, - result.d.a, result.d.b, result.d.c, - result.e.ii, result.e.dd, result.e.ff); - - return result; -} - -static void -cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct cls_struct_16byte1 b0; - struct cls_struct_16byte2 b1; - struct cls_struct_combined b2; - struct cls_struct_16byte1 b3; - - b0 = *(struct cls_struct_16byte1*)(args[0]); - b1 = *(struct cls_struct_16byte2*)(args[1]); - b2 = *(struct cls_struct_combined*)(args[2]); - b3 = *(struct cls_struct_16byte1*)(args[3]); - - - *(cls_struct_combined*)resp = cls_struct_combined_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[5]; - ffi_type* cls_struct_fields1[5]; - ffi_type* cls_struct_fields2[5]; - ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_16byte1 e_dbl = { 9.0, 2.0, 6}; - struct cls_struct_16byte2 f_dbl = { 1, 2.0, 3.0}; - struct cls_struct_combined g_dbl = {{4.0, 5.0, 6}, - {3, 1.0, 8.0}}; - struct cls_struct_16byte1 h_dbl = { 3.0, 2.0, 4}; - struct cls_struct_combined res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_type2.size = 0; - cls_struct_type2.alignment = 0; - cls_struct_type2.type = FFI_TYPE_STRUCT; - cls_struct_type2.elements = cls_struct_fields2; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_float; - cls_struct_fields[2] = &ffi_type_sint; - cls_struct_fields[3] = NULL; - - cls_struct_fields1[0] = &ffi_type_sint; - cls_struct_fields1[1] = &ffi_type_double; - cls_struct_fields1[2] = &ffi_type_float; - cls_struct_fields1[3] = NULL; - - cls_struct_fields2[0] = &cls_struct_type; - cls_struct_fields2[1] = &cls_struct_type1; - cls_struct_fields2[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = &cls_struct_type2; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type2, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_combined_fn), &res_dbl, args_dbl); - /* { dg-output "9 2 6 1 2 3 4 5 6 3 1 8 3 2 4: 15 10 13 10 12 13" } */ - CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a)); - CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b)); - CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c)); - CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii)); - CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd)); - CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK); - - res_dbl = ((cls_struct_combined(*)(cls_struct_16byte1, - cls_struct_16byte2, - cls_struct_combined, - cls_struct_16byte1)) - (code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n9 2 6 1 2 3 4 5 6 3 1 8 3 2 4: 15 10 13 10 12 13" } */ - CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a)); - CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b)); - CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c)); - CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii)); - CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd)); - CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff)); - /* CHECK( 1 == 0); */ - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c deleted file mode 100644 index a2cdc64..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c +++ /dev/null @@ -1,146 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - unsigned long long a; - unsigned char b; -} A; - -typedef struct B { - unsigned char y; - struct A x; - unsigned int z; -} B; - -typedef struct C { - unsigned long long d; - unsigned char e; -} C; - -static B B_fn(struct A b2, struct B b3, struct C b4) -{ - struct B result; - - result.x.a = b2.a + b3.x.a + b3.z + b4.d; - result.x.b = b2.b + b3.x.b + b3.y + b4.e; - result.y = b2.b + b3.x.b + b4.e; - result.z = 0; - - printf("%d %d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b, - (int)b3.x.a, b3.x.b, b3.y, b3.z, (int)b4.d, b4.e, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK(b3.z == 255); - CHECK((int)b4.d == 2); - CHECK(b4.e == 9); - CHECK((int)result.x.a == 270); - CHECK(result.x.b == 242); - CHECK(result.y == 143); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - struct C b2; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - b2 = *(struct C*)(args[2]); - - *(B*)resp = B_fn(b0, b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[4]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[4]; - ffi_type* cls_struct_fields2[3]; - ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2; - ffi_type* dbl_arg_types[4]; - - struct A e_dbl = { 1LL, 7}; - struct B f_dbl = { 99, {12LL , 127}, 255}; - struct C g_dbl = { 2LL, 9}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_type2.size = 0; - cls_struct_type2.alignment = 0; - cls_struct_type2.type = FFI_TYPE_STRUCT; - cls_struct_type2.elements = cls_struct_fields2; - - cls_struct_fields[0] = &ffi_type_uint64; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &ffi_type_uchar; - cls_struct_fields1[1] = &cls_struct_type; - cls_struct_fields1[2] = &ffi_type_uint; - cls_struct_fields1[3] = NULL; - - cls_struct_fields2[0] = &ffi_type_uint64; - cls_struct_fields2[1] = &ffi_type_uchar; - cls_struct_fields2[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = &cls_struct_type2; - dbl_arg_types[3] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99 255 2 9: 270 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + f_dbl.z + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl); - /* { dg-output "\n1 7 12 127 99 255 2 9: 270 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + f_dbl.z + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c deleted file mode 100644 index c9821e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +++ /dev/null @@ -1,137 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check parameter passing with nested structs - of a single type. This tests the special cases - for homogeneous floating-point aggregates in the - AArch64 PCS. - Limitations: none. - PR: none. - Originator: ARM Ltd. */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - float a_x; - float a_y; -} A; - -typedef struct B { - float b_x; - float b_y; -} B; - -typedef struct C { - A a; - B b; -} C; - -static C C_fn (int x, int y, int z, C source, int i, int j, int k) -{ - C result; - result.a.a_x = source.a.a_x; - result.a.a_y = source.a.a_y; - result.b.b_x = source.b.b_x; - result.b.b_y = source.b.b_y; - - printf ("%d, %d, %d, %d, %d, %d\n", x, y, z, i, j, k); - - CHECK(x == 1); - CHECK(y == 1); - CHECK(z == 1); - CHECK(i == 1); - CHECK(j == 1); - CHECK(k == 1); - - printf ("%.1f, %.1f, %.1f, %.1f, " - "%.1f, %.1f, %.1f, %.1f\n", - source.a.a_x, source.a.a_y, - source.b.b_x, source.b.b_y, - result.a.a_x, result.a.a_y, - result.b.b_x, result.b.b_y); - - CHECK_FLOAT_EQ(source.a.a_x, 1.0); - CHECK_FLOAT_EQ(source.a.a_y, 2.0); - CHECK_FLOAT_EQ(source.b.b_x, 4.0); - CHECK_FLOAT_EQ(source.b.b_y, 8.0); - CHECK_FLOAT_EQ(result.a.a_x, 1.0); - CHECK_FLOAT_EQ(result.a.a_y, 2.0); - CHECK_FLOAT_EQ(result.b.b_x, 4.0); - CHECK_FLOAT_EQ(result.b.b_y, 8.0); - - return result; -} - -int main (void) -{ - ffi_cif cif; - - ffi_type* struct_fields_source_a[3]; - ffi_type* struct_fields_source_b[3]; - ffi_type* struct_fields_source_c[3]; - ffi_type* arg_types[8]; - - ffi_type struct_type_a, struct_type_b, struct_type_c; - - struct A source_fld_a = {1.0, 2.0}; - struct B source_fld_b = {4.0, 8.0}; - int k = 1; - - struct C result; - struct C source = {source_fld_a, source_fld_b}; - - struct_type_a.size = 0; - struct_type_a.alignment = 0; - struct_type_a.type = FFI_TYPE_STRUCT; - struct_type_a.elements = struct_fields_source_a; - - struct_type_b.size = 0; - struct_type_b.alignment = 0; - struct_type_b.type = FFI_TYPE_STRUCT; - struct_type_b.elements = struct_fields_source_b; - - struct_type_c.size = 0; - struct_type_c.alignment = 0; - struct_type_c.type = FFI_TYPE_STRUCT; - struct_type_c.elements = struct_fields_source_c; - - struct_fields_source_a[0] = &ffi_type_float; - struct_fields_source_a[1] = &ffi_type_float; - struct_fields_source_a[2] = NULL; - - struct_fields_source_b[0] = &ffi_type_float; - struct_fields_source_b[1] = &ffi_type_float; - struct_fields_source_b[2] = NULL; - - struct_fields_source_c[0] = &struct_type_a; - struct_fields_source_c[1] = &struct_type_b; - struct_fields_source_c[2] = NULL; - - arg_types[0] = &ffi_type_sint32; - arg_types[1] = &ffi_type_sint32; - arg_types[2] = &ffi_type_sint32; - arg_types[3] = &struct_type_c; - arg_types[4] = &ffi_type_sint32; - arg_types[5] = &ffi_type_sint32; - arg_types[6] = &ffi_type_sint32; - arg_types[7] = NULL; - - void *args[7]; - args[0] = &k; - args[1] = &k; - args[2] = &k; - args[3] = &source; - args[4] = &k; - args[5] = &k; - args[6] = &k; - CHECK (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, 7, &struct_type_c, - arg_types) == FFI_OK); - - ffi_call (&cif, FFI_FN (C_fn), &result, args); - /* { dg-output "1, 1, 1, 1, 1, 1\n" } */ - /* { dg-output "1.0, 2.0, 4.0, 8.0, 1.0, 2.0, 4.0, 8.0" } */ - CHECK_FLOAT_EQ(result.a.a_x, source.a.a_x); - CHECK_FLOAT_EQ(result.a.a_y, source.a.a_y); - CHECK_FLOAT_EQ(result.b.b_x, source.b.b_x); - CHECK_FLOAT_EQ(result.b.b_y, source.b.b_y); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c deleted file mode 100644 index 7ca16c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Area: ffi_call - Purpose: Check nested float struct. - Limitations: none. - PR: none. - Originator: Cheng Jin */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct stru_FF stru_FF; -typedef struct stru_Nested_F stru_Nested_F; - -struct stru_FF { - float elem1; - float elem2; -}; - -struct stru_Nested_F { - float elem1; - stru_FF elem2; -}; - -static float testNestedFloatStruct(float arg1, stru_Nested_F arg2) -{ - float floatSum = arg1 + arg2.elem1 + arg2.elem2.elem1 + arg2.elem2.elem2; - return floatSum; -} - -int main (void) -{ - float ts12_result = 0; - int structElemNum = 2; - int nestedStructElemNum = 2; - int argNum = 2; - - ffi_cif cif; - ffi_type **struct_float1 = (ffi_type **)malloc(sizeof(ffi_type *) * (structElemNum + 1)); - ffi_type **struct_float2 = (ffi_type **)malloc(sizeof(ffi_type *) * (nestedStructElemNum + 1)); - ffi_type **args = (ffi_type **)malloc(sizeof(ffi_type *) * (argNum + 1)); - void **values = (void **)malloc(sizeof(void *) * (argNum + 1)); - ffi_type struct_float_type1, struct_float_type2; - ffi_type *retType = &ffi_type_float; - float arg1; - float *arg2 = (float *)malloc(sizeof(stru_Nested_F)); - - struct_float2[0] = &ffi_type_float; - struct_float2[1] = &ffi_type_float; - struct_float2[2] = NULL; - - struct_float_type2.size = 0; - struct_float_type2.alignment = 0; - struct_float_type2.type = FFI_TYPE_STRUCT; - struct_float_type2.elements = struct_float2; - - struct_float1[0] = &ffi_type_float; - struct_float1[1] = &struct_float_type2; - struct_float1[2] = NULL; - - struct_float_type1.size = 0; - struct_float_type1.alignment = 0; - struct_float_type1.type = FFI_TYPE_STRUCT; - struct_float_type1.elements = struct_float1; - - args[0] = &ffi_type_float; - args[1] = &struct_float_type1; - args[2] = NULL; - - arg1 = 37.88; - arg2[0] = 31.22; - arg2[1] = 33.44; - arg2[2] = 35.66; - values[0] = &arg1; - values[1] = arg2; - values[2] = NULL; - - CHECK( ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, retType, args) == FFI_OK); - ffi_call(&cif, FFI_FN(testNestedFloatStruct), &ts12_result, values); - CHECK_FLOAT_EQ(ts12_result, 138.2f); - - free(struct_float1); - free(struct_float2); - free(args); - free(values); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c deleted file mode 100644 index 6edfdcb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +++ /dev/null @@ -1,115 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing. - Limitations: none. - PR: none. - Originator: and 20210609 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - float a, b; -} A; - -typedef struct B { - float x; - struct A y; -} B; - -B B_fn(float b0, struct B b1) -{ - struct B result; - - result.x = b0 + b1.x; - result.y.a = b0 + b1.y.a; - result.y.b = b0 + b1.y.b; - - printf("%g %g %g %g: %g %g %g\n", b0, b1.x, b1.y.a, b1.y.b, - result.x, result.y.a, result.y.b); - - CHECK_FLOAT_EQ(b0, 12.125); - CHECK_FLOAT_EQ(b1.x, 24.75); - CHECK_FLOAT_EQ(b1.y.a, 31.625); - CHECK_FLOAT_EQ(b1.y.b, 32.25); - CHECK_FLOAT_EQ(result.x, 36.875); - CHECK_FLOAT_EQ(result.y.a, 43.75); - CHECK_FLOAT_EQ(result.y.b, 44.375); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - float b0; - struct B b1; - - b0 = *(float*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - float e_dbl = 12.125f; - struct B f_dbl = { 24.75f, { 31.625f, 32.25f } }; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_float; - cls_struct_fields[1] = &ffi_type_float; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &ffi_type_float; - cls_struct_fields1[1] = &cls_struct_type; - cls_struct_fields1[2] = NULL; - - - dbl_arg_types[0] = &ffi_type_float; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "12.125 24.75 31.625 32.25: 36.875 43.75 44.375" } */ - CHECK_FLOAT_EQ( res_dbl.x, (e_dbl + f_dbl.x)); - CHECK_FLOAT_EQ( res_dbl.y.a, (e_dbl + f_dbl.y.a)); - CHECK_FLOAT_EQ( res_dbl.y.b, (e_dbl + f_dbl.y.b)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(float, B))(code))(e_dbl, f_dbl); - /* { dg-output "\n12.125 24.75 31.625 32.25: 36.875 43.75 44.375" } */ - CHECK_FLOAT_EQ( res_dbl.x, (e_dbl + f_dbl.x)); - CHECK_FLOAT_EQ( res_dbl.y.a, (e_dbl + f_dbl.y.a)); - CHECK_FLOAT_EQ( res_dbl.y.b, (e_dbl + f_dbl.y.b)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c deleted file mode 100644 index 93a913d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c +++ /dev/null @@ -1,119 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20030911 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - unsigned long a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -static B B_fn(struct A b0, struct B b1) -{ - struct B result; - - result.x.a = b0.a + b1.x.a; - result.x.b = b0.b + b1.x.b + b1.y; - result.y = b0.b + b1.x.b; - - printf("%lu %d %lu %d %d: %lu %d %d\n", b0.a, b0.b, b1.x.a, b1.x.b, b1.y, - result.x.a, result.x.b, result.y); - - CHECK(b0.a == 1); - CHECK(b0.b == 7); - CHECK(b1.x.a == 12); - CHECK(b1.x.b == 127); - CHECK(b1.y == 99); - CHECK(result.x.a == 13); - CHECK(result.x.b == 233); - CHECK(result.y == 134); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - struct A e_dbl = { 1, 7}; - struct B f_dbl = {{12 , 127}, 99}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_ulong; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl); - /* { dg-output "\n1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c deleted file mode 100644 index d39a9cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20030911 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - unsigned long long a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -static B B_fn(struct A b0, struct B b1) -{ - struct B result; - - result.x.a = b0.a + b1.x.a; - result.x.b = b0.b + b1.x.b + b1.y; - result.y = b0.b + b1.x.b; - - printf("%d %d %d %d %d: %d %d %d\n", (int)b0.a, b0.b, - (int)b1.x.a, b1.x.b, b1.y, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b0.a == 1); - CHECK(b0.b == 7); - CHECK((int)b1.x.a == 12); - CHECK(b1.x.b == 127); - CHECK(b1.y == 99); - CHECK((int)result.x.a == 13); - CHECK(result.x.b == 233); - CHECK(result.y == 134); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - struct A e_dbl = { 1LL, 7}; - struct B f_dbl = {{12LL , 127}, 99}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_uint64; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl); - /* { dg-output "\n1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c deleted file mode 100644 index d5c960d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: PR 25630. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - double a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -static B B_fn(struct A b2, struct B b3) -{ - struct B result; - - result.x.a = b2.a + b3.x.a; - result.x.b = b2.b + b3.x.b + b3.y; - result.y = b2.b + b3.x.b; - - printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b, - (int)b3.x.a, b3.x.b, b3.y, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK((int)result.x.a == 13); - CHECK(result.x.b == 233); - CHECK(result.y == 134); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - struct A e_dbl = { 1.0, 7}; - struct B f_dbl = {{12.0 , 127}, 99}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl); - /* { dg-output "\n1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c deleted file mode 100644 index b053f52..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - long double a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -static B B_fn(struct A b2, struct B b3) -{ - struct B result; - - result.x.a = b2.a + b3.x.a; - result.x.b = b2.b + b3.x.b + b3.y; - result.y = b2.b + b3.x.b; - - printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b, - (int)b3.x.a, b3.x.b, b3.y, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK((int)result.x.a == 13); - CHECK(result.x.b == 233); - CHECK(result.y == 134); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - struct A e_dbl = { 1.0, 7}; - struct B f_dbl = {{12.0 , 127}, 99}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_longdouble; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl); - /* { dg-output "\n1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c deleted file mode 100644 index 690ec0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: PR 25630. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - double a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -typedef struct C { - long d; - unsigned char e; -} C; - -static B B_fn(struct A b2, struct B b3, struct C b4) -{ - struct B result; - - result.x.a = b2.a + b3.x.a + b4.d; - result.x.b = b2.b + b3.x.b + b3.y + b4.e; - result.y = b2.b + b3.x.b + b4.e; - - printf("%d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b, - (int)b3.x.a, b3.x.b, b3.y, (int)b4.d, b4.e, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK((int)b4.d == 2); - CHECK(b4.e == 9); - CHECK((int)result.x.a == 15); - CHECK(result.x.b == 242); - CHECK(result.y == 143); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - struct C b2; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - b2 = *(struct C*)(args[2]); - - *(B*)resp = B_fn(b0, b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[4]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type* cls_struct_fields2[3]; - ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2; - ffi_type* dbl_arg_types[4]; - - struct A e_dbl = { 1.0, 7}; - struct B f_dbl = {{12.0 , 127}, 99}; - struct C g_dbl = { 2, 9}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_type2.size = 0; - cls_struct_type2.alignment = 0; - cls_struct_type2.type = FFI_TYPE_STRUCT; - cls_struct_type2.elements = cls_struct_fields2; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - cls_struct_fields2[0] = &ffi_type_slong; - cls_struct_fields2[1] = &ffi_type_uchar; - cls_struct_fields2[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = &cls_struct_type2; - dbl_arg_types[3] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl); - /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c deleted file mode 100644 index b3ddd03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - unsigned long long a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -static B B_fn(struct A b2, struct B b3) -{ - struct B result; - - result.x.a = b2.a + b3.x.a; - result.x.b = b2.b + b3.x.b + b3.y; - result.y = b2.b + b3.x.b; - - printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b, - (int)b3.x.a, b3.x.b, b3.y, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK((int)result.x.a == 13); - CHECK(result.x.b == 233); - CHECK(result.y == 134); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - struct A e_dbl = { 1LL, 7}; - struct B f_dbl = {{12.0 , 127}, 99}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_uint64; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl); - /* { dg-output "\n1 7 12 127 99: 13 233 134" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c deleted file mode 100644 index 768f333..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - unsigned long long a; - unsigned char b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -typedef struct C { - unsigned long long d; - unsigned char e; -} C; - -static B B_fn(struct A b2, struct B b3, struct C b4) -{ - struct B result; - - result.x.a = b2.a + b3.x.a + b4.d; - result.x.b = b2.b + b3.x.b + b3.y + b4.e; - result.y = b2.b + b3.x.b + b4.e; - - printf("%d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b, - (int)b3.x.a, b3.x.b, b3.y, (int)b4.d, b4.e, - (int)result.x.a, result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK((int)b4.d == 2); - CHECK(b4.e == 9); - CHECK((int)result.x.a == 15); - CHECK(result.x.b == 242); - CHECK(result.y == 143); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - struct C b2; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - b2 = *(struct C*)(args[2]); - - *(B*)resp = B_fn(b0, b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[4]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type* cls_struct_fields2[3]; - ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2; - ffi_type* dbl_arg_types[4]; - - struct A e_dbl = { 1LL, 7}; - struct B f_dbl = {{12LL , 127}, 99}; - struct C g_dbl = { 2LL, 9}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_type2.size = 0; - cls_struct_type2.alignment = 0; - cls_struct_type2.type = FFI_TYPE_STRUCT; - cls_struct_type2.elements = cls_struct_fields2; - - cls_struct_fields[0] = &ffi_type_uint64; - cls_struct_fields[1] = &ffi_type_uchar; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - cls_struct_fields2[0] = &ffi_type_uint64; - cls_struct_fields2[1] = &ffi_type_uchar; - cls_struct_fields2[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = &cls_struct_type2; - dbl_arg_types[3] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl); - /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c deleted file mode 100644 index f88ab0a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Contains structs as parameter of the struct itself. - Sample taken from Alan Modras patch to src/prep_cif.c. - Limitations: none. - PR: none. - Originator: 20051010 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - unsigned char a; - unsigned long long b; -} A; - -typedef struct B { - struct A x; - unsigned char y; -} B; - -typedef struct C { - unsigned long d; - unsigned char e; -} C; - -static B B_fn(struct A b2, struct B b3, struct C b4) -{ - struct B result; - - result.x.a = b2.a + b3.x.a + b4.d; - result.x.b = b2.b + b3.x.b + b3.y + b4.e; - result.y = b2.b + b3.x.b + b4.e; - - printf("%d %d %d %d %d %d %d: %d %d %d\n", b2.a, (int)b2.b, - b3.x.a, (int)b3.x.b, b3.y, (int)b4.d, b4.e, - result.x.a, (int)result.x.b, result.y); - - CHECK((int)b2.a == 1); - CHECK(b2.b == 7); - CHECK((int)b3.x.a == 12); - CHECK(b3.x.b == 127); - CHECK(b3.y == 99); - CHECK((int)b4.d == 2); - CHECK(b4.e == 9); - CHECK((int)result.x.a == 15); - CHECK(result.x.b == 242); - CHECK(result.y == 143); - - return result; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct A b0; - struct B b1; - struct C b2; - - b0 = *(struct A*)(args[0]); - b1 = *(struct B*)(args[1]); - b2 = *(struct C*)(args[2]); - - *(B*)resp = B_fn(b0, b1, b2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[4]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[3]; - ffi_type* cls_struct_fields2[3]; - ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2; - ffi_type* dbl_arg_types[4]; - - struct A e_dbl = { 1, 7LL}; - struct B f_dbl = {{12.0 , 127}, 99}; - struct C g_dbl = { 2, 9}; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_type2.size = 0; - cls_struct_type2.alignment = 0; - cls_struct_type2.type = FFI_TYPE_STRUCT; - cls_struct_type2.elements = cls_struct_fields2; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &ffi_type_uint64; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = &ffi_type_uchar; - cls_struct_fields1[2] = NULL; - - cls_struct_fields2[0] = &ffi_type_ulong; - cls_struct_fields2[1] = &ffi_type_uchar; - cls_struct_fields2[2] = NULL; - - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = &cls_struct_type2; - dbl_arg_types[3] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl); - /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */ - CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d)); - CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e)); - CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/problem1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/problem1.c deleted file mode 100644 index 6a91555..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/problem1.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure passing with different structure size. - Limitations: none. - PR: none. - Originator: 20030828 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct my_ffi_struct { - double a; - double b; - double c; -} my_ffi_struct; - -my_ffi_struct callee(struct my_ffi_struct a1, struct my_ffi_struct a2) -{ - struct my_ffi_struct result; - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - - printf("%g %g %g %g %g %g: %g %g %g\n", a1.a, a1.b, a1.c, - a2.a, a2.b, a2.c, result.a, result.b, result.c); - - return result; -} - -void stub(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - struct my_ffi_struct a1; - struct my_ffi_struct a2; - - a1 = *(struct my_ffi_struct*)(args[0]); - a2 = *(struct my_ffi_struct*)(args[1]); - - *(my_ffi_struct *)resp = callee(a1, a2); -} - - -int main(void) -{ - ffi_type* my_ffi_struct_fields[4]; - ffi_type my_ffi_struct_type; - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[4]; - ffi_type* arg_types[3]; - - struct my_ffi_struct g = { 1.0, 2.0, 3.0 }; - struct my_ffi_struct f = { 1.0, 2.0, 3.0 }; - struct my_ffi_struct res; - - my_ffi_struct_type.size = 0; - my_ffi_struct_type.alignment = 0; - my_ffi_struct_type.type = FFI_TYPE_STRUCT; - my_ffi_struct_type.elements = my_ffi_struct_fields; - - my_ffi_struct_fields[0] = &ffi_type_double; - my_ffi_struct_fields[1] = &ffi_type_double; - my_ffi_struct_fields[2] = &ffi_type_double; - my_ffi_struct_fields[3] = NULL; - - arg_types[0] = &my_ffi_struct_type; - arg_types[1] = &my_ffi_struct_type; - arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &my_ffi_struct_type, - arg_types) == FFI_OK); - - args[0] = &g; - args[1] = &f; - args[2] = NULL; - ffi_call(&cif, FFI_FN(callee), &res, args); - /* { dg-output "1 2 3 1 2 3: 2 4 6" } */ - printf("res: %g %g %g\n", res.a, res.b, res.c); - /* { dg-output "\nres: 2 4 6" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, stub, NULL, code) == FFI_OK); - - res = ((my_ffi_struct(*)(struct my_ffi_struct, struct my_ffi_struct))(code))(g, f); - /* { dg-output "\n1 2 3 1 2 3: 2 4 6" } */ - printf("res: %g %g %g\n", res.a, res.b, res.c); - /* { dg-output "\nres: 2 4 6" } */ - - exit(0);; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c deleted file mode 100644 index 00c4e17..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Single argument structs have a different ABI in emscripten. - Limitations: none. - PR: none. - Originator: */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - int a; -} A; - -static struct A A_fn(int b0, struct A b1) -{ - b1.a += b0; - return b1; -} - -static void -A_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - int b0; - struct A b1; - - b0 = *(int*)(args[0]); - b1 = *(struct A*)(args[1]); - - *(A*)resp = A_fn(b0, b1); -} - -int main (void) -{ - printf("123\n"); - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[2]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[3]; - - int e_dbl = 12125; - struct A f_dbl = { 31625 }; - - struct A res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = NULL; - - dbl_arg_types[0] = &ffi_type_sint; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = NULL; - - res_dbl = A_fn(e_dbl, f_dbl); - printf("0 res: %d\n", res_dbl.a); - /* { dg-output "0 res: 43750" } */ - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - - ffi_call(&cif, FFI_FN(A_fn), &res_dbl, args_dbl); - printf("1 res: %d\n", res_dbl.a); - /* { dg-output "\n1 res: 43750" } */ - CHECK( res_dbl.a == (e_dbl + f_dbl.a)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, A_gn, NULL, code) == FFI_OK); - - res_dbl = ((A(*)(int, A))(code))(e_dbl, f_dbl); - printf("2 res: %d\n", res_dbl.a); - /* { dg-output "\n2 res: 43750" } */ - CHECK( res_dbl.a == (e_dbl + f_dbl.a)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c deleted file mode 100644 index ab6556b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Single argument structs have a different ABI in emscripten. - Limitations: none. - PR: none. - Originator: */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - int a, b; -} A; - -typedef struct B { - struct A y; -} B; - -static struct B B_fn(int b0, struct B b1) -{ - b1.y.a += b0; - b1.y.b -= b0; - return b1; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - int b0; - struct B b1; - - b0 = *(int*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[3]; - ffi_type* cls_struct_fields1[2]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - int e_dbl = 12125; - struct B f_dbl = { { 31625, 16723 } }; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = &ffi_type_sint; - cls_struct_fields[2] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = NULL; - - - dbl_arg_types[0] = &ffi_type_sint; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - res_dbl = B_fn(e_dbl, f_dbl); - printf("0 res: %d %d\n", res_dbl.y.a, res_dbl.y.b); - /* { dg-output "0 res: 43750 4598" } */ - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - printf("1 res: %d %d\n", res_dbl.y.a, res_dbl.y.b); - /* { dg-output "\n1 res: 43750 4598" } */ - CHECK( res_dbl.y.a == (f_dbl.y.a + e_dbl)); - CHECK( res_dbl.y.b == (f_dbl.y.b - e_dbl)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(int, B))(code))(e_dbl, f_dbl); - printf("2 res: %d %d\n", res_dbl.y.a, res_dbl.y.b); - /* { dg-output "\n2 res: 43750 4598" } */ - CHECK( res_dbl.y.a == (f_dbl.y.a + e_dbl)); - CHECK( res_dbl.y.b == (f_dbl.y.b - e_dbl)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c deleted file mode 100644 index 4f619cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c +++ /dev/null @@ -1,101 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Single argument structs have a different ABI in emscripten. - Limitations: none. - PR: none. - Originator: */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct A { - int a; -} A; - -typedef struct B { - struct A y; -} B; - -static struct B B_fn(int b0, struct B b1) -{ - b1.y.a += b0; - return b1; -} - -static void -B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - int b0; - struct B b1; - - b0 = *(int*)(args[0]); - b1 = *(struct B*)(args[1]); - - *(B*)resp = B_fn(b0, b1); -} - -int main (void) -{ - printf("123\n"); - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[3]; - ffi_type* cls_struct_fields[2]; - ffi_type* cls_struct_fields1[2]; - ffi_type cls_struct_type, cls_struct_type1; - ffi_type* dbl_arg_types[3]; - - int e_dbl = 12125; - struct B f_dbl = { { 31625 } }; - - struct B res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_type1.size = 0; - cls_struct_type1.alignment = 0; - cls_struct_type1.type = FFI_TYPE_STRUCT; - cls_struct_type1.elements = cls_struct_fields1; - - cls_struct_fields[0] = &ffi_type_sint; - cls_struct_fields[1] = NULL; - - cls_struct_fields1[0] = &cls_struct_type; - cls_struct_fields1[1] = NULL; - - - dbl_arg_types[0] = &ffi_type_sint; - dbl_arg_types[1] = &cls_struct_type1; - dbl_arg_types[2] = NULL; - - res_dbl = B_fn(e_dbl, f_dbl); - printf("0 res: %d\n", res_dbl.y.a); - /* { dg-output "0 res: 43750" } */ - - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = NULL; - - - ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl); - printf("1 res: %d\n", res_dbl.y.a); - /* { dg-output "\n1 res: 43750" } */ - CHECK( res_dbl.y.a == (e_dbl + f_dbl.y.a)); - - CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK); - - res_dbl = ((B(*)(int, B))(code))(e_dbl, f_dbl); - printf("2 res: %d\n", res_dbl.y.a); - /* { dg-output "\n2 res: 43750" } */ - CHECK( res_dbl.y.a == (e_dbl + f_dbl.y.a)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large.c deleted file mode 100644 index 71c2469..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large.c +++ /dev/null @@ -1,145 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure returning with different structure size. - Depending on the ABI. Check bigger struct which overlaps - the gp and fp register count on Darwin/AIX/ppc64. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/21/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -#include "ffitest.h" - -/* 13 FPRs: 104 bytes */ -/* 14 FPRs: 112 bytes */ - -typedef struct struct_108byte { - double a; - double b; - double c; - double d; - double e; - double f; - double g; - double h; - double i; - double j; - double k; - double l; - double m; - int n; -} struct_108byte; - -struct_108byte cls_struct_108byte_fn( - struct_108byte b0, - struct_108byte b1, - struct_108byte b2, - struct_108byte b3) -{ - struct_108byte result; - - result.a = b0.a + b1.a + b2.a + b3.a; - result.b = b0.b + b1.b + b2.b + b3.b; - result.c = b0.c + b1.c + b2.c + b3.c; - result.d = b0.d + b1.d + b2.d + b3.d; - result.e = b0.e + b1.e + b2.e + b3.e; - result.f = b0.f + b1.f + b2.f + b3.f; - result.g = b0.g + b1.g + b2.g + b3.g; - result.h = b0.h + b1.h + b2.h + b3.h; - result.i = b0.i + b1.i + b2.i + b3.i; - result.j = b0.j + b1.j + b2.j + b3.j; - result.k = b0.k + b1.k + b2.k + b3.k; - result.l = b0.l + b1.l + b2.l + b3.l; - result.m = b0.m + b1.m + b2.m + b3.m; - result.n = b0.n + b1.n + b2.n + b3.n; - - printf("%g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", result.a, result.b, result.c, - result.d, result.e, result.f, result.g, result.h, result.i, - result.j, result.k, result.l, result.m, result.n); - - return result; -} - -static void -cls_struct_108byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__) -{ - struct_108byte b0, b1, b2, b3; - - b0 = *(struct_108byte*)(args[0]); - b1 = *(struct_108byte*)(args[1]); - b2 = *(struct_108byte*)(args[2]); - b3 = *(struct_108byte*)(args[3]); - - *(struct_108byte*)resp = cls_struct_108byte_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[15]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct_108byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 1.0, 2.0, 3.0, 7.0, 2.0, 7 }; - struct_108byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0, 5.0, 7.0, 9.0, 1.0, 4 }; - struct_108byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 8.0, 6.0, 1.0, 4.0, 0.0, 3 }; - struct_108byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 9.0, 2.0, 6.0, 5.0, 3.0, 2 }; - struct_108byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_double; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = &ffi_type_double; - cls_struct_fields[5] = &ffi_type_double; - cls_struct_fields[6] = &ffi_type_double; - cls_struct_fields[7] = &ffi_type_double; - cls_struct_fields[8] = &ffi_type_double; - cls_struct_fields[9] = &ffi_type_double; - cls_struct_fields[10] = &ffi_type_double; - cls_struct_fields[11] = &ffi_type_double; - cls_struct_fields[12] = &ffi_type_double; - cls_struct_fields[13] = &ffi_type_sint32; - cls_struct_fields[14] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = &cls_struct_type; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_108byte_fn), &res_dbl, args_dbl); - /* { dg-output "22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */ - printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i, - res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_108byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((struct_108byte(*)(struct_108byte, struct_108byte, - struct_108byte, struct_108byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */ - printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i, - res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large2.c deleted file mode 100644 index d9c750e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large2.c +++ /dev/null @@ -1,148 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure returning with different structure size. - Depending on the ABI. Check bigger struct which overlaps - the gp and fp register count on Darwin/AIX/ppc64. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/21/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -#include "ffitest.h" - -/* 13 FPRs: 104 bytes */ -/* 14 FPRs: 112 bytes */ - -typedef struct struct_116byte { - double a; - double b; - double c; - double d; - double e; - double f; - double g; - double h; - double i; - double j; - double k; - double l; - double m; - double n; - int o; -} struct_116byte; - -struct_116byte cls_struct_116byte_fn( - struct_116byte b0, - struct_116byte b1, - struct_116byte b2, - struct_116byte b3) -{ - struct_116byte result; - - result.a = b0.a + b1.a + b2.a + b3.a; - result.b = b0.b + b1.b + b2.b + b3.b; - result.c = b0.c + b1.c + b2.c + b3.c; - result.d = b0.d + b1.d + b2.d + b3.d; - result.e = b0.e + b1.e + b2.e + b3.e; - result.f = b0.f + b1.f + b2.f + b3.f; - result.g = b0.g + b1.g + b2.g + b3.g; - result.h = b0.h + b1.h + b2.h + b3.h; - result.i = b0.i + b1.i + b2.i + b3.i; - result.j = b0.j + b1.j + b2.j + b3.j; - result.k = b0.k + b1.k + b2.k + b3.k; - result.l = b0.l + b1.l + b2.l + b3.l; - result.m = b0.m + b1.m + b2.m + b3.m; - result.n = b0.n + b1.n + b2.n + b3.n; - result.o = b0.o + b1.o + b2.o + b3.o; - - printf("%g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", result.a, result.b, result.c, - result.d, result.e, result.f, result.g, result.h, result.i, - result.j, result.k, result.l, result.m, result.n, result.o); - - return result; -} - -static void -cls_struct_116byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__) -{ - struct_116byte b0, b1, b2, b3; - - b0 = *(struct_116byte*)(args[0]); - b1 = *(struct_116byte*)(args[1]); - b2 = *(struct_116byte*)(args[2]); - b3 = *(struct_116byte*)(args[3]); - - *(struct_116byte*)resp = cls_struct_116byte_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[16]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct_116byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 7 }; - struct_116byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0, 5.0, 7.0, 9.0, 1.0, 6.0, 4 }; - struct_116byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 8.0, 6.0, 1.0, 4.0, 0.0, 7.0, 3 }; - struct_116byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 9.0, 2.0, 6.0, 5.0, 3.0, 8.0, 2 }; - struct_116byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_double; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = &ffi_type_double; - cls_struct_fields[5] = &ffi_type_double; - cls_struct_fields[6] = &ffi_type_double; - cls_struct_fields[7] = &ffi_type_double; - cls_struct_fields[8] = &ffi_type_double; - cls_struct_fields[9] = &ffi_type_double; - cls_struct_fields[10] = &ffi_type_double; - cls_struct_fields[11] = &ffi_type_double; - cls_struct_fields[12] = &ffi_type_double; - cls_struct_fields[13] = &ffi_type_double; - cls_struct_fields[14] = &ffi_type_sint32; - cls_struct_fields[15] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = &cls_struct_type; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_116byte_fn), &res_dbl, args_dbl); - /* { dg-output "22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */ - printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i, - res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n, res_dbl.o); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_116byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((struct_116byte(*)(struct_116byte, struct_116byte, - struct_116byte, struct_116byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */ - printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b, - res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i, - res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n, res_dbl.o); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c deleted file mode 100644 index 56e3d9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c +++ /dev/null @@ -1,124 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure returning with different structure size. - Depending on the ABI. Check bigger struct which overlaps - the gp and fp register count on Darwin/AIX/ppc64. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/21/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -#include "ffitest.h" - -typedef struct struct_72byte { - double a; - double b; - double c; - double d; - double e; - double f; - double g; - double h; - double i; -} struct_72byte; - -static struct_72byte cls_struct_72byte_fn( - struct_72byte b0, - struct_72byte b1, - struct_72byte b2, - struct_72byte b3) -{ - struct_72byte result; - - result.a = b0.a + b1.a + b2.a + b3.a; - result.b = b0.b + b1.b + b2.b + b3.b; - result.c = b0.c + b1.c + b2.c + b3.c; - result.d = b0.d + b1.d + b2.d + b3.d; - result.e = b0.e + b1.e + b2.e + b3.e; - result.f = b0.f + b1.f + b2.f + b3.f; - result.g = b0.g + b1.g + b2.g + b3.g; - result.h = b0.h + b1.h + b2.h + b3.h; - result.i = b0.i + b1.i + b2.i + b3.i; - - printf("%g %g %g %g %g %g %g %g %g\n", result.a, result.b, result.c, - result.d, result.e, result.f, result.g, result.h, result.i); - - return result; -} - -static void -cls_struct_72byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__) -{ - struct_72byte b0, b1, b2, b3; - - b0 = *(struct_72byte*)(args[0]); - b1 = *(struct_72byte*)(args[1]); - b2 = *(struct_72byte*)(args[2]); - b3 = *(struct_72byte*)(args[3]); - - *(struct_72byte*)resp = cls_struct_72byte_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[10]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct_72byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 7.0 }; - struct_72byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0 }; - struct_72byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 3.0 }; - struct_72byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 2.0 }; - struct_72byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_double; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = &ffi_type_double; - cls_struct_fields[5] = &ffi_type_double; - cls_struct_fields[6] = &ffi_type_double; - cls_struct_fields[7] = &ffi_type_double; - cls_struct_fields[8] = &ffi_type_double; - cls_struct_fields[9] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = &cls_struct_type; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_72byte_fn), &res_dbl, args_dbl); - /* { dg-output "22 15 17 25 6 13 19 18 16" } */ - printf("res: %g %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_72byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((struct_72byte(*)(struct_72byte, struct_72byte, - struct_72byte, struct_72byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n22 15 17 25 6 13 19 18 16" } */ - printf("res: %g %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c deleted file mode 100644 index 0746b6e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c +++ /dev/null @@ -1,125 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure returning with different structure size. - Depending on the ABI. Check bigger struct which overlaps - the gp and fp register count on Darwin/AIX/ppc64. - Limitations: none. - PR: none. - Originator: Blake Chaffin 6/21/2007 */ - -/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ -/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */ -#include "ffitest.h" - -typedef struct struct_72byte { - double a; - double b; - double c; - double d; - double e; - double f; - double g; - double h; - long long i; -} struct_72byte; - -static struct_72byte cls_struct_72byte_fn( - struct_72byte b0, - struct_72byte b1, - struct_72byte b2, - struct_72byte b3) -{ - struct_72byte result; - - result.a = b0.a + b1.a + b2.a + b3.a; - result.b = b0.b + b1.b + b2.b + b3.b; - result.c = b0.c + b1.c + b2.c + b3.c; - result.d = b0.d + b1.d + b2.d + b3.d; - result.e = b0.e + b1.e + b2.e + b3.e; - result.f = b0.f + b1.f + b2.f + b3.f; - result.g = b0.g + b1.g + b2.g + b3.g; - result.h = b0.h + b1.h + b2.h + b3.h; - result.i = b0.i + b1.i + b2.i + b3.i; - - printf("%g %g %g %g %g %g %g %g %" PRIdLL "\n", result.a, result.b, result.c, - result.d, result.e, result.f, result.g, result.h, result.i); - - return result; -} - -static void -cls_struct_72byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__) -{ - struct_72byte b0, b1, b2, b3; - - b0 = *(struct_72byte*)(args[0]); - b1 = *(struct_72byte*)(args[1]); - b2 = *(struct_72byte*)(args[2]); - b3 = *(struct_72byte*)(args[3]); - - *(struct_72byte*)resp = cls_struct_72byte_fn(b0, b1, b2, b3); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_dbl[5]; - ffi_type* cls_struct_fields[10]; - ffi_type cls_struct_type; - ffi_type* dbl_arg_types[5]; - - struct_72byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 7 }; - struct_72byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4 }; - struct_72byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 3 }; - struct_72byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 2 }; - struct_72byte res_dbl; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_double; - cls_struct_fields[1] = &ffi_type_double; - cls_struct_fields[2] = &ffi_type_double; - cls_struct_fields[3] = &ffi_type_double; - cls_struct_fields[4] = &ffi_type_double; - cls_struct_fields[5] = &ffi_type_double; - cls_struct_fields[6] = &ffi_type_double; - cls_struct_fields[7] = &ffi_type_double; - cls_struct_fields[8] = &ffi_type_sint64; - cls_struct_fields[9] = NULL; - - dbl_arg_types[0] = &cls_struct_type; - dbl_arg_types[1] = &cls_struct_type; - dbl_arg_types[2] = &cls_struct_type; - dbl_arg_types[3] = &cls_struct_type; - dbl_arg_types[4] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type, - dbl_arg_types) == FFI_OK); - - args_dbl[0] = &e_dbl; - args_dbl[1] = &f_dbl; - args_dbl[2] = &g_dbl; - args_dbl[3] = &h_dbl; - args_dbl[4] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_72byte_fn), &res_dbl, args_dbl); - /* { dg-output "22 15 17 25 6 13 19 18 16" } */ - printf("res: %g %g %g %g %g %g %g %g %" PRIdLL "\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_72byte_gn, NULL, code) == FFI_OK); - - res_dbl = ((struct_72byte(*)(struct_72byte, struct_72byte, - struct_72byte, struct_72byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl); - /* { dg-output "\n22 15 17 25 6 13 19 18 16" } */ - printf("res: %g %g %g %g %g %g %g %g %" PRIdLL "\n", res_dbl.a, res_dbl.b, res_dbl.c, - res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i); - /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c deleted file mode 100644 index e738a01..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Area: closure_call - Purpose: Check return value float. - Limitations: none. - PR: 41908. - Originator: 20091102 */ - -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct cls_struct_combined { - float a; - float b; - float c; - float d; -} cls_struct_combined; - -static void cls_struct_combined_fn(struct cls_struct_combined arg) -{ - printf("%g %g %g %g\n", - arg.a, arg.b, - arg.c, arg.d); - fflush(stdout); - - CHECK_FLOAT_EQ(arg.a, 4); - CHECK_FLOAT_EQ(arg.b, 5); - CHECK_FLOAT_EQ(arg.c, 1); - CHECK_FLOAT_EQ(arg.d, 8); -} - -static void -cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__, - void** args, void* userdata __UNUSED__) -{ - struct cls_struct_combined a0; - - a0 = *(struct cls_struct_combined*)(args[0]); - - cls_struct_combined_fn(a0); -} - - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type* cls_struct_fields0[5]; - ffi_type cls_struct_type0; - ffi_type* dbl_arg_types[5]; - - struct cls_struct_combined g_dbl = {4.0, 5.0, 1.0, 8.0}; - - cls_struct_type0.size = 0; - cls_struct_type0.alignment = 0; - cls_struct_type0.type = FFI_TYPE_STRUCT; - cls_struct_type0.elements = cls_struct_fields0; - - cls_struct_fields0[0] = &ffi_type_float; - cls_struct_fields0[1] = &ffi_type_float; - cls_struct_fields0[2] = &ffi_type_float; - cls_struct_fields0[3] = &ffi_type_float; - cls_struct_fields0[4] = NULL; - - dbl_arg_types[0] = &cls_struct_type0; - dbl_arg_types[1] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, &ffi_type_void, - dbl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK); - - ((void(*)(cls_struct_combined)) (code))(g_dbl); - /* { dg-output "4 5 1 8" } */ - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc deleted file mode 100644 index b643c48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +++ /dev/null @@ -1,118 +0,0 @@ -/* Area: ffi_closure, unwind info - Purpose: Check if the unwind information is passed correctly. - Limitations: none. - PR: none. - Originator: Jeff Sturm */ - -/* { dg-do run { xfail moxie*-*-* } } */ - -#include "ffitest.h" - -void ABI_ATTR -closure_test_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__, - void** args __UNUSED__, void* userdata __UNUSED__) -{ - throw 9; -} - -typedef void (*closure_test_type)(); - -void closure_test_fn1(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) - { - *(ffi_arg*)resp = - (int)*(float *)args[0] +(int)(*(float *)args[1]) + - (int)(*(float *)args[2]) + (int)*(float *)args[3] + - (int)(*(signed short *)args[4]) + (int)(*(float *)args[5]) + - (int)*(float *)args[6] + (int)(*(int *)args[7]) + - (int)(*(double*)args[8]) + (int)*(int *)args[9] + - (int)(*(int *)args[10]) + (int)(*(float *)args[11]) + - (int)*(int *)args[12] + (int)(*(int *)args[13]) + - (int)(*(int *)args[14]) + *(int *)args[15] + (int)(intptr_t)userdata; - - printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n", - (int)*(float *)args[0], (int)(*(float *)args[1]), - (int)(*(float *)args[2]), (int)*(float *)args[3], - (int)(*(signed short *)args[4]), (int)(*(float *)args[5]), - (int)*(float *)args[6], (int)(*(int *)args[7]), - (int)(*(double *)args[8]), (int)*(int *)args[9], - (int)(*(int *)args[10]), (int)(*(float *)args[11]), - (int)*(int *)args[12], (int)(*(int *)args[13]), - (int)(*(int *)args[14]), *(int *)args[15], - (int)(intptr_t)userdata, (int)*(ffi_arg*)resp); - - throw (int)*(ffi_arg*)resp; -} - -typedef int (*closure_test_type1)(float, float, float, float, signed short, - float, float, int, double, int, int, float, - int, int, int, int); - -extern "C" -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = (ffi_closure *)ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[17]; - - { - cl_arg_types[1] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, - &ffi_type_void, cl_arg_types) == FFI_OK); - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn, NULL, code) == FFI_OK); - - try - { - (*((closure_test_type)(code)))(); - } catch (int exception_code) - { - CHECK(exception_code == 9); - } - - printf("part one OK\n"); - /* { dg-output "part one OK" } */ - } - - { - - cl_arg_types[0] = &ffi_type_float; - cl_arg_types[1] = &ffi_type_float; - cl_arg_types[2] = &ffi_type_float; - cl_arg_types[3] = &ffi_type_float; - cl_arg_types[4] = &ffi_type_sshort; - cl_arg_types[5] = &ffi_type_float; - cl_arg_types[6] = &ffi_type_float; - cl_arg_types[7] = &ffi_type_uint; - cl_arg_types[8] = &ffi_type_double; - cl_arg_types[9] = &ffi_type_uint; - cl_arg_types[10] = &ffi_type_uint; - cl_arg_types[11] = &ffi_type_float; - cl_arg_types[12] = &ffi_type_uint; - cl_arg_types[13] = &ffi_type_uint; - cl_arg_types[14] = &ffi_type_uint; - cl_arg_types[15] = &ffi_type_uint; - cl_arg_types[16] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16, - &ffi_type_sint, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn1, - (void *) 3 /* userdata */, code) == FFI_OK); - try - { - (*((closure_test_type1)code)) - (1.1, 2.2, 3.3, 4.4, 127, 5.5, 6.6, 8, 9, 10, 11, 12.0, 13, - 19, 21, 1); - /* { dg-output "\n1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */ - } catch (int exception_code) - { - CHECK(exception_code == 255); - } - printf("part two OK\n"); - /* { dg-output "\npart two OK" } */ - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc deleted file mode 100644 index 6feaa57..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +++ /dev/null @@ -1,55 +0,0 @@ -/* Area: ffi_call, unwind info - Purpose: Check if the unwind information is passed correctly. - Limitations: none. - PR: none. - Originator: Andreas Tobler 20061213 */ - -/* { dg-do run { xfail moxie*-*-* } } */ - -#include "ffitest.h" - -static int checking(int a __UNUSED__, short b __UNUSED__, - signed char c __UNUSED__) -{ - throw 9; -} - -extern "C" -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - - signed int si; - signed short ss; - signed char sc; - - args[0] = &ffi_type_sint; - values[0] = &si; - args[1] = &ffi_type_sshort; - values[1] = &ss; - args[2] = &ffi_type_schar; - values[2] = ≻ - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_sint, args) == FFI_OK); - - si = -6; - ss = -12; - sc = -1; - { - try - { - ffi_call(&cif, FFI_FN(checking), &rint, values); - } catch (int exception_code) - { - CHECK(exception_code == 9); - } - printf("part one OK\n"); - /* { dg-output "part one OK" } */ - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc deleted file mode 100644 index 4a812ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +++ /dev/null @@ -1,91 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include - -typedef struct cls_struct_align { - unsigned char a; - _Complex T_C_TYPE b; - unsigned char c; -} cls_struct_align; - -cls_struct_align cls_struct_align_fn( - struct cls_struct_align a1, struct cls_struct_align a2) -{ - struct cls_struct_align result; - - result.a = a1.a + a2.a; - result.b = a1.b + a2.b; - result.c = a1.c + a2.c; - - printf("%d %f,%fi %d %d %f,%fi %d: %d %f,%fi %d\n", - a1.a, T_CONV creal (a1.b), T_CONV cimag (a1.b), a1.c, - a2.a, T_CONV creal (a2.b), T_CONV cimag (a2.b), a2.c, - result.a, T_CONV creal (result.b), T_CONV cimag (result.b), result.c); - - return result; -} - -static void -cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) -{ - - struct cls_struct_align a1, a2; - - a1 = *(struct cls_struct_align*)(args[0]); - a2 = *(struct cls_struct_align*)(args[1]); - - *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args_c[5]; - ffi_type* cls_struct_fields[4]; - ffi_type cls_struct_type; - ffi_type* c_arg_types[5]; - - struct cls_struct_align g_c = { 12, 4951 + 7 * I, 127 }; - struct cls_struct_align f_c = { 1, 9320 + 1 * I, 13 }; - struct cls_struct_align res_c; - - cls_struct_type.size = 0; - cls_struct_type.alignment = 0; - cls_struct_type.type = FFI_TYPE_STRUCT; - cls_struct_type.elements = cls_struct_fields; - - cls_struct_fields[0] = &ffi_type_uchar; - cls_struct_fields[1] = &T_FFI_TYPE; - cls_struct_fields[2] = &ffi_type_uchar; - cls_struct_fields[3] = NULL; - - c_arg_types[0] = &cls_struct_type; - c_arg_types[1] = &cls_struct_type; - c_arg_types[2] = NULL; - - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type, - c_arg_types) == FFI_OK); - - args_c[0] = &g_c; - args_c[1] = &f_c; - args_c[2] = NULL; - - ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_c, args_c); - /* { dg-output "12 4951,7i 127 1 9320,1i 13: 13 14271,8i 140" } */ - printf("res: %d %f,%fi %d\n", - res_c.a, T_CONV creal (res_c.b), T_CONV cimag (res_c.b), res_c.c); - /* { dg-output "\nres: 13 14271,8i 140" } */ - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK); - - res_c = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_c, f_c); - /* { dg-output "\n12 4951,7i 127 1 9320,1i 13: 13 14271,8i 140" } */ - printf("res: %d %f,%fi %d\n", - res_c.a, T_CONV creal (res_c.b), T_CONV cimag (res_c.b), res_c.c); - /* { dg-output "\nres: 13 14271,8i 140" } */ - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c deleted file mode 100644 index 0dff23a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "cls_align_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c deleted file mode 100644 index 0affbd0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "cls_align_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c deleted file mode 100644 index 7889ba8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check structure alignment of complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "cls_align_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc deleted file mode 100644 index f937404..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +++ /dev/null @@ -1,42 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include - -static void cls_ret_complex_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, - void* userdata __UNUSED__) - { - _Complex T_C_TYPE *pa; - _Complex T_C_TYPE *pr; - pa = (_Complex T_C_TYPE *)args[0]; - pr = (_Complex T_C_TYPE *)resp; - *pr = *pa; - - printf("%.6f,%.6fi: %.6f,%.6fi\n", - T_CONV creal (*pa), T_CONV cimag (*pa), - T_CONV creal (*pr), T_CONV cimag (*pr)); - } -typedef _Complex T_C_TYPE (*cls_ret_complex)(_Complex T_C_TYPE); - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type * cl_arg_types[2]; - _Complex T_C_TYPE res; - - cl_arg_types[0] = &T_FFI_TYPE; - cl_arg_types[1] = NULL; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &T_FFI_TYPE, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_complex_fn, NULL, code) == FFI_OK); - - res = (*((cls_ret_complex)code))(0.125 + 128.0 * I); - printf("res: %.6f,%.6fi\n", T_CONV creal (res), T_CONV cimag (res)); - CHECK (res == (0.125 + 128.0 * I)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c deleted file mode 100644 index 05e3534..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: closure_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "cls_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c deleted file mode 100644 index 5df7849..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: closure_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "cls_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c deleted file mode 100644 index 2b1c320..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: closure_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "cls_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc deleted file mode 100644 index df8708d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +++ /dev/null @@ -1,71 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include - -typedef struct Cs { - _Complex T_C_TYPE x; - _Complex T_C_TYPE y; -} Cs; - -Cs gc; - -void -closure_test_fn(Cs p) -{ - printf("%.1f,%.1fi %.1f,%.1fi\n", - T_CONV creal (p.x), T_CONV cimag (p.x), - T_CONV creal (p.y), T_CONV cimag (p.y)); - gc = p; -} - -void -closure_test_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__, - void** args, void* userdata __UNUSED__) -{ - closure_test_fn(*(Cs*)args[0]); -} - -int main(int argc __UNUSED__, char** argv __UNUSED__) -{ - ffi_cif cif; - - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type *cl_arg_types[1]; - - ffi_type ts1_type; - ffi_type* ts1_type_elements[4]; - - Cs arg = { 1.0 + 11.0 * I, 2.0 + 22.0 * I}; - - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - - ts1_type_elements[0] = &T_FFI_TYPE; - ts1_type_elements[1] = &T_FFI_TYPE; - ts1_type_elements[2] = NULL; - - cl_arg_types[0] = &ts1_type; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ffi_type_void, cl_arg_types) == FFI_OK); - - CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_gn, NULL, code) == FFI_OK); - - gc.x = 0.0 + 0.0 * I; - gc.y = 0.0 + 0.0 * I; - ((void*(*)(Cs))(code))(arg); - /* { dg-output "1.0,11.0i 2.0,22.0i\n" } */ - CHECK (gc.x == arg.x && gc.y == arg.y); - - gc.x = 0.0 + 0.0 * I; - gc.y = 0.0 + 0.0 * I; - closure_test_fn(arg); - /* { dg-output "1.0,11.0i 2.0,22.0i\n" } */ - CHECK (gc.x == arg.x && gc.y == arg.y); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c deleted file mode 100644 index ec71346..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check complex arguments in structs. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "cls_complex_struct.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c deleted file mode 100644 index 96fdf75..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check complex arguments in structs. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "cls_complex_struct.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c deleted file mode 100644 index 005b467..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Check complex arguments in structs. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "cls_complex_struct.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc deleted file mode 100644 index 8a3e15f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +++ /dev/null @@ -1,80 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include -#include -#include -#include - -static _Complex T_C_TYPE gComplexValue1 = 1 + 2 * I; -static _Complex T_C_TYPE gComplexValue2 = 3 + 4 * I; - -static int cls_variadic(const char *format, ...) -{ - va_list ap; - _Complex T_C_TYPE p1, p2; - - va_start (ap, format); - p1 = va_arg (ap, _Complex T_C_TYPE); - p2 = va_arg (ap, _Complex T_C_TYPE); - va_end (ap); - - return printf(format, T_CONV creal (p1), T_CONV cimag (p1), - T_CONV creal (p2), T_CONV cimag (p2)); -} - -static void -cls_complex_va_fn(ffi_cif* cif __UNUSED__, void* resp, - void** args, void* userdata __UNUSED__) -{ - char* format = *(char**)args[0]; - gComplexValue1 = *(_Complex T_C_TYPE*)args[1]; - gComplexValue2 = *(_Complex T_C_TYPE*)args[2]; - - *(ffi_arg*)resp = - printf(format, - T_CONV creal (gComplexValue1), T_CONV cimag (gComplexValue1), - T_CONV creal (gComplexValue2), T_CONV cimag (gComplexValue2)); -} - -int main (void) -{ - ffi_cif cif; - void *code; - ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - void* args[4]; - ffi_type* arg_types[4]; - char *format = "%.1f,%.1fi %.1f,%.1fi\n"; - - _Complex T_C_TYPE complexArg1 = 1.0 + 22.0 *I; - _Complex T_C_TYPE complexArg2 = 333.0 + 4444.0 *I; - ffi_arg res = 0; - - arg_types[0] = &ffi_type_pointer; - arg_types[1] = &T_FFI_TYPE; - arg_types[2] = &T_FFI_TYPE; - arg_types[3] = NULL; - - /* This printf call is variadic */ - CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 3, &ffi_type_sint, - arg_types) == FFI_OK); - - args[0] = &format; - args[1] = &complexArg1; - args[2] = &complexArg2; - args[3] = NULL; - - ffi_call(&cif, FFI_FN(cls_variadic), &res, args); - printf("res: %d\n", (int) res); - CHECK (res == 24); - - CHECK(ffi_prep_closure_loc(pcl, &cif, cls_complex_va_fn, NULL, code) - == FFI_OK); - - res = ((int(*)(char *, ...))(code))(format, complexArg1, complexArg2); - CHECK (gComplexValue1 == complexArg1); - CHECK (gComplexValue2 == complexArg2); - printf("res: %d\n", (int) res); - CHECK (res == 24); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c deleted file mode 100644 index 879ccf3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Test complex' passed in variable argument lists. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "cls_complex_va.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c deleted file mode 100644 index 2b17826..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Test complex' passed in variable argument lists. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -/* Alpha splits _Complex into two arguments. It's illegal to pass - float through varargs, so _Complex float goes badly. In sort of - gets passed as _Complex double, but the compiler doesn't agree - with itself on this issue. */ -/* { dg-do run { xfail alpha*-*-* } } */ - -#include "complex_defs_float.inc" -#include "cls_complex_va.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c deleted file mode 100644 index 6eca965..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call, closure_call - Purpose: Test complex' passed in variable argument lists. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "cls_complex_va.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp deleted file mode 100644 index 4631db2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2003, 2006, 2009, 2010, 2014 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# . - -dg-init -libffi-init - -global srcdir subdir - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.{c,cc}]] - -if { [libffi_feature_test "#ifdef FFI_TARGET_HAS_COMPLEX_TYPE"] } { - run-many-tests $tlist "" -} else { - foreach test $tlist { - unsupported "$test" - } -} - -dg-finish - -# Local Variables: -# tcl-indent-level:4 -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc deleted file mode 100644 index 515ae3e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +++ /dev/null @@ -1,51 +0,0 @@ -/* -*-c-*-*/ -#include "ffitest.h" -#include - -static _Complex T_C_TYPE f_complex(_Complex T_C_TYPE c, int x, int *py) -{ - c = -(2 * creal (c)) + (cimag (c) + 1)* I; - *py += x; - - return c; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - - _Complex T_C_TYPE tc_arg; - _Complex T_C_TYPE tc_result; - int tc_int_arg_x; - int tc_y; - int *tc_ptr_arg_y = &tc_y; - - args[0] = &T_FFI_TYPE; - args[1] = &ffi_type_sint; - args[2] = &ffi_type_pointer; - values[0] = &tc_arg; - values[1] = &tc_int_arg_x; - values[2] = &tc_ptr_arg_y; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &T_FFI_TYPE, args) == FFI_OK); - - tc_arg = 1 + 7 * I; - tc_int_arg_x = 1234; - tc_y = 9876; - ffi_call(&cif, FFI_FN(f_complex), &tc_result, values); - - printf ("%f,%fi %f,%fi, x %d 1234, y %d 11110\n", - T_CONV creal (tc_result), T_CONV cimag (tc_result), - T_CONV creal (2.0), T_CONV creal (8.0), tc_int_arg_x, tc_y); - - CHECK (creal (tc_result) == -2); - CHECK (cimag (tc_result) == 8); - CHECK (tc_int_arg_x == 1234); - CHECK (*tc_ptr_arg_y == 11110); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc deleted file mode 100644 index 3583e16..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +++ /dev/null @@ -1,7 +0,0 @@ -/* -*-c-*- */ -/* Complex base type. */ -#define T_FFI_TYPE ffi_type_complex_double -/* C type corresponding to the base type. */ -#define T_C_TYPE double -/* C cast for a value of type T_C_TYPE that is passed to printf. */ -#define T_CONV diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc deleted file mode 100644 index bbd9375..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +++ /dev/null @@ -1,7 +0,0 @@ -/* -*-c-*- */ -/* Complex base type. */ -#define T_FFI_TYPE ffi_type_complex_float -/* C type corresponding to the base type. */ -#define T_C_TYPE float -/* C cast for a value of type T_C_TYPE that is passed to printf. */ -#define T_CONV (double) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc deleted file mode 100644 index 14b9f24..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +++ /dev/null @@ -1,7 +0,0 @@ -/* -*-c-*- */ -/* Complex base type. */ -#define T_FFI_TYPE ffi_type_complex_longdouble -/* C type corresponding to the base type. */ -#define T_C_TYPE long double -/* C cast for a value of type T_C_TYPE that is passed to printf. */ -#define T_CONV diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c deleted file mode 100644 index 8a3297b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check complex types. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c deleted file mode 100644 index 5044ebb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check complex types. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c deleted file mode 100644 index bac3190..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Area: ffi_call - Purpose: Check non-standard complex types. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "ffitest.h" -#include "ffi.h" -#include - -_Complex int f_complex(_Complex int c, int x, int *py) -{ - __real__ c = -2 * __real__ c; - __imag__ c = __imag__ c + 1; - *py += x; - return c; -} - -/* - * This macro can be used to define new complex type descriptors - * in a platform independent way. - * - * name: Name of the new descriptor is ffi_type_complex_. - * type: The C base type of the complex type. - */ -#define FFI_COMPLEX_TYPEDEF(name, type, ffitype) \ - static ffi_type *ffi_elements_complex_##name [2] = { \ - (ffi_type *)(&ffitype), NULL \ - }; \ - struct struct_align_complex_##name { \ - char c; \ - _Complex type x; \ - }; \ - ffi_type ffi_type_complex_##name = { \ - sizeof(_Complex type), \ - offsetof(struct struct_align_complex_##name, x), \ - FFI_TYPE_COMPLEX, \ - (ffi_type **)ffi_elements_complex_##name \ - } - -/* Define new complex type descriptors using the macro: */ -/* ffi_type_complex_sint */ -FFI_COMPLEX_TYPEDEF(sint, int, ffi_type_sint); -/* ffi_type_complex_uchar */ -FFI_COMPLEX_TYPEDEF(uchar, unsigned char, ffi_type_uint8); - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - - _Complex int tc_arg; - _Complex int tc_result; - int tc_int_arg_x; - int tc_y; - int *tc_ptr_arg_y = &tc_y; - - args[0] = &ffi_type_complex_sint; - args[1] = &ffi_type_sint; - args[2] = &ffi_type_pointer; - values[0] = &tc_arg; - values[1] = &tc_int_arg_x; - values[2] = &tc_ptr_arg_y; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &ffi_type_complex_sint, args) - == FFI_OK); - - tc_arg = 1 + 7 * I; - tc_int_arg_x = 1234; - tc_y = 9876; - ffi_call(&cif, FFI_FN(f_complex), &tc_result, values); - - printf ("%d,%di %d,%di, x %d 1234, y %d 11110\n", - (int)tc_result, (int)(tc_result * -I), 2, 8, tc_int_arg_x, tc_y); - /* dg-output "-2,8i 2,8i, x 1234 1234, y 11110 11110" */ - CHECK (creal (tc_result) == -2); - CHECK (cimag (tc_result) == 8); - CHECK (tc_int_arg_x == 1234); - CHECK (*tc_ptr_arg_y == 11110); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c deleted file mode 100644 index 7e78366..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check complex types. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h deleted file mode 100644 index d27d362..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +++ /dev/null @@ -1 +0,0 @@ -#include "../libffi.call/ffitest.h" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc deleted file mode 100644 index e37a774..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +++ /dev/null @@ -1,78 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" - -#include -#include - -static _Complex T_C_TYPE many(_Complex T_C_TYPE c1, - _Complex T_C_TYPE c2, - _Complex T_C_TYPE c3, - _Complex T_C_TYPE c4, - _Complex T_C_TYPE c5, - _Complex T_C_TYPE c6, - _Complex T_C_TYPE c7, - _Complex T_C_TYPE c8, - _Complex T_C_TYPE c9, - _Complex T_C_TYPE c10, - _Complex T_C_TYPE c11, - _Complex T_C_TYPE c12, - _Complex T_C_TYPE c13) -{ - printf("0 :%f,%fi\n" - "1 :%f,%fi\n" - "2 :%f,%fi\n" - "3 :%f,%fi\n" - "4 :%f,%fi\n" - "5 :%f,%fi\n" - "6 :%f,%fi\n" - "7 :%f,%fi\n" - "8 :%f,%fi\n" - "9 :%f,%fi\n" - "10:%f,%fi\n" - "11:%f,%fi\n" - "12:%f,%fi\n", - T_CONV creal (c1), T_CONV cimag (c1), - T_CONV creal (c2), T_CONV cimag (c2), - T_CONV creal (c3), T_CONV cimag (c3), - T_CONV creal (c4), T_CONV cimag (c4), - T_CONV creal (c5), T_CONV cimag (c5), - T_CONV creal (c6), T_CONV cimag (c6), - T_CONV creal (c7), T_CONV cimag (c7), - T_CONV creal (c8), T_CONV cimag (c8), - T_CONV creal (c9), T_CONV cimag (c9), - T_CONV creal (c10), T_CONV cimag (c10), - T_CONV creal (c11), T_CONV cimag (c11), - T_CONV creal (c12), T_CONV cimag (c12), - T_CONV creal (c13), T_CONV cimag (c13)); - - return (c1+c2-c3-c4+c5+c6+c7-c8-c9-c10-c11+c12+c13); -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[13]; - void *values[13]; - _Complex T_C_TYPE ca[13]; - _Complex T_C_TYPE c, cc; - int i; - - for (i = 0; i < 13; i++) - { - args[i] = &T_FFI_TYPE; - values[i] = &ca[i]; - ca[i] = i + (-20 - i) * I; - } - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 13, &T_FFI_TYPE, args) == FFI_OK); - - ffi_call(&cif, FFI_FN(many), &c, values); - - cc = many(ca[0], ca[1], ca[2], ca[3], ca[4], ca[5], ca[6], ca[7], ca[8], - ca[9], ca[10], ca[11], ca[12]); - CHECK(creal (cc) == creal (c)); - CHECK(cimag (cc) == cimag (c)); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c deleted file mode 100644 index 3fd53c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex, with many arguments - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "many_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c deleted file mode 100644 index c43d21c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex, with many arguments - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "many_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c deleted file mode 100644 index dbab723..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex, with many arguments - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "many_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc deleted file mode 100644 index 8bf0c1f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +++ /dev/null @@ -1,37 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include - -static _Complex T_C_TYPE return_c(_Complex T_C_TYPE c) -{ - printf ("%f,%fi\n", T_CONV creal (c), T_CONV cimag (c)); - return 2 * c; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - _Complex T_C_TYPE c, rc, rc2; - T_C_TYPE cr, ci; - - args[0] = &T_FFI_TYPE; - values[0] = &c; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &T_FFI_TYPE, args) == FFI_OK); - - for (cr = -127.0; cr < 127; cr++) - { - ci = 1000.0 - cr; - c = cr + ci * I; - ffi_call(&cif, FFI_FN(return_c), &rc, values); - rc2 = return_c(c); - printf ("%f,%fi vs %f,%fi\n", - T_CONV creal (rc), T_CONV cimag (rc), - T_CONV creal (rc2), T_CONV cimag (rc2)); - CHECK(rc == 2 * c); - } - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc deleted file mode 100644 index 7cecc0f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +++ /dev/null @@ -1,41 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include - -static _Complex T_C_TYPE return_c(_Complex T_C_TYPE c1, float fl2, unsigned int in3, _Complex T_C_TYPE c4) -{ - return c1 + fl2 + in3 + c4; -} -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - _Complex T_C_TYPE c1, c4, rc, rc2; - float fl2; - unsigned int in3; - args[0] = &T_FFI_TYPE; - args[1] = &ffi_type_float; - args[2] = &ffi_type_uint; - args[3] = &T_FFI_TYPE; - values[0] = &c1; - values[1] = &fl2; - values[2] = &in3; - values[3] = &c4; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &T_FFI_TYPE, args) == FFI_OK); - c1 = 127.0 + 255.0 * I; - fl2 = 128.0; - in3 = 255; - c4 = 512.7 + 1024.1 * I; - - ffi_call(&cif, FFI_FN(return_c), &rc, values); - rc2 = return_c(c1, fl2, in3, c4); - printf ("%f,%fi vs %f,%fi\n", - T_CONV creal (rc), T_CONV cimag (rc), - T_CONV creal (rc2), T_CONV cimag (rc2)); - CHECK(rc == rc2); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c deleted file mode 100644 index 727410d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "return_complex1.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c deleted file mode 100644 index a2aeada..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "return_complex1.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c deleted file mode 100644 index 103504b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "return_complex1.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc deleted file mode 100644 index 265170b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +++ /dev/null @@ -1,44 +0,0 @@ -/* -*-c-*- */ -#include "ffitest.h" -#include - -_Complex T_C_TYPE -return_c(_Complex T_C_TYPE c1, _Complex T_C_TYPE c2, - unsigned int in3, _Complex T_C_TYPE c4) -{ - volatile _Complex T_C_TYPE r = c1 + c2 + in3 + c4; - return r; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - _Complex T_C_TYPE c1, c2, c4, rc, rc2; - unsigned int in3; - args[0] = &T_FFI_TYPE; - args[1] = &T_FFI_TYPE; - args[2] = &ffi_type_uint; - args[3] = &T_FFI_TYPE; - values[0] = &c1; - values[1] = &c2; - values[2] = &in3; - values[3] = &c4; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, - &T_FFI_TYPE, args) == FFI_OK); - c1 = 127.0 + 255.0 * I; - c2 = 128.0 + 256.0; - in3 = 255; - c4 = 512.7 + 1024.1 * I; - - ffi_call(&cif, FFI_FN(return_c), &rc, values); - rc2 = return_c(c1, c2, in3, c4); - printf ("%f,%fi vs %f,%fi\n", - T_CONV creal (rc), T_CONV cimag (rc), - T_CONV creal (rc2), T_CONV cimag (rc2)); - CHECK(rc == rc2); - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c deleted file mode 100644 index ab9efac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "return_complex2.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c deleted file mode 100644 index d7f22c2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "return_complex2.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c deleted file mode 100644 index 3edea62..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "return_complex2.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c deleted file mode 100644 index e2497cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_double.inc" -#include "return_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c deleted file mode 100644 index a35528f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_float.inc" -#include "return_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c deleted file mode 100644 index 142d7be..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Area: ffi_call - Purpose: Check return value complex. - Limitations: none. - PR: none. - Originator: . */ - -/* { dg-do run } */ - -#include "complex_defs_longdouble.inc" -#include "return_complex.inc" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c deleted file mode 100644 index b00c404..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +++ /dev/null @@ -1,34 +0,0 @@ -/* { dg-do run } */ - -#include "static-chain.h" - -#if defined(__GNUC__) && !defined(__clang__) && defined(STATIC_CHAIN_REG) - -#include "ffitest.h" - -/* Blatent assumption here that the prologue doesn't clobber the - static chain for trivial functions. If this is not true, don't - define STATIC_CHAIN_REG, and we'll test what we can via other tests. */ -void *doit(void) -{ - register void *chain __asm__(STATIC_CHAIN_REG); - return chain; -} - -int main() -{ - ffi_cif cif; - void *result; - - CHECK(ffi_prep_cif(&cif, ABI_NUM, 0, &ffi_type_pointer, NULL) == FFI_OK); - - ffi_call_go(&cif, FFI_FN(doit), &result, NULL, &result); - - CHECK(result == &result); - - return 0; -} - -#else /* UNSUPPORTED */ -int main() { return 0; } -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c deleted file mode 100644 index 7b34afc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +++ /dev/null @@ -1,28 +0,0 @@ -/* { dg-do run } */ - -#include "ffitest.h" - -void doit(ffi_cif *cif, void *rvalue, void **avalue, void *closure) -{ - (void)cif; - (void)avalue; - *(void **)rvalue = closure; -} - -typedef void * (*FN)(void); - -int main() -{ - ffi_cif cif; - ffi_go_closure cl; - void *result; - - CHECK(ffi_prep_cif(&cif, ABI_NUM, 0, &ffi_type_pointer, NULL) == FFI_OK); - CHECK(ffi_prep_go_closure(&cl, &cif, doit) == FFI_OK); - - ffi_call_go(&cif, FFI_FN(*(FN *)&cl), &result, NULL, &cl); - - CHECK(result == &cl); - - exit(0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h deleted file mode 100644 index d27d362..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +++ /dev/null @@ -1 +0,0 @@ -#include "../libffi.call/ffitest.h" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/go.exp b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/go.exp deleted file mode 100644 index 100c5e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2003, 2006, 2009, 2010, 2014 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# . - -dg-init -libffi-init - -global srcdir subdir - -set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.{c,cc}]] - -if { [libffi_feature_test "#ifdef FFI_GO_CLOSURES"] } { - run-many-tests $tlist "" -} else { - foreach test $tlist { - unsupported "$test" - } -} - -dg-finish - -# Local Variables: -# tcl-indent-level:4 -# End: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h deleted file mode 100644 index 3675b40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __aarch64__ -# define STATIC_CHAIN_REG "x18" -#elif defined(__alpha__) -# define STATIC_CHAIN_REG "$1" -#elif defined(__arm__) -# define STATIC_CHAIN_REG "ip" -#elif defined(__sparc__) -# if defined(__arch64__) || defined(__sparcv9) -# define STATIC_CHAIN_REG "g5" -# else -# define STATIC_CHAIN_REG "g2" -# endif -#elif defined(__x86_64__) -# define STATIC_CHAIN_REG "r10" -#elif defined(__i386__) -# ifndef ABI_NUM -# define STATIC_CHAIN_REG "ecx" /* FFI_DEFAULT_ABI only */ -# endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/rbffi.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/rbffi.h deleted file mode 100644 index 0e4e91a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/rbffi.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2008, 2009, Wayne Meissner - * - * Copyright (c) 2008-2013, Ruby FFI project contributors - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the Ruby FFI project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef RBFFI_RBFFI_H -#define RBFFI_RBFFI_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_PARAMETERS (32) - -extern VALUE rbffi_FFIModule; - -extern void rbffi_Type_Init(VALUE ffiModule); -extern void rbffi_Buffer_Init(VALUE ffiModule); -extern void rbffi_Invoker_Init(VALUE ffiModule); -extern void rbffi_Variadic_Init(VALUE ffiModule); -extern VALUE rbffi_AbstractMemoryClass, rbffi_InvokerClass; -extern int rbffi_type_size(VALUE type); -extern void rbffi_Thread_Init(VALUE moduleFFI); - -#ifdef __cplusplus -} -#endif - -#endif /* RBFFI_RBFFI_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/rbffi_endian.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/rbffi_endian.h deleted file mode 100644 index ebb8420..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ext/ffi_c/rbffi_endian.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef JFFI_ENDIAN_H -#define JFFI_ENDIAN_H - -#ifndef _MSC_VER -#include -#endif - -#include - -#if defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__) || defined(__GLIBC__) || defined(__HAIKU__) -# include -# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN) -# define LITTLE_ENDIAN __LITTLE_ENDIAN -# endif -# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN) -# define BIG_ENDIAN __BIG_ENDIAN -# endif -# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER) -# define BYTE_ORDER __BYTE_ORDER -# endif -#endif - -#ifdef __sun -# include -# define LITTLE_ENDIAN 1234 -# define BIG_ENDIAN 4321 -# if defined(_BIG_ENDIAN) -# define BYTE_ORDER BIG_ENDIAN -# elif defined(_LITTLE_ENDIAN) -# define BYTE_ORDER LITTLE_ENDIAN -# else -# error "Cannot determine endian-ness" -# endif -#endif - -#if defined(_AIX) && !defined(BYTE_ORDER) -# define LITTLE_ENDIAN 1234 -# define BIG_ENDIAN 4321 -# if defined(__BIG_ENDIAN__) -# define BYTE_ORDER BIG_ENDIAN -# elif defined(__LITTLE_ENDIAN__) -# define BYTE_ORDER LITTLE_ENDIAN -# else -# error "Cannot determine endian-ness" -# endif -#endif - -#if defined(_WIN32) -# define LITTLE_ENDIAN 1234 -# define BIG_ENDIAN 4321 -# define BYTE_ORDER LITTLE_ENDIAN -#endif - -#if !defined(BYTE_ORDER) || !defined(LITTLE_ENDIAN) || !defined(BIG_ENDIAN) -# error "Cannot determine the endian-ness of this platform" -#endif - -#endif /* JFFI_ENDIAN_H */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ffi.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ffi.gemspec deleted file mode 100644 index 07d549f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/ffi.gemspec +++ /dev/null @@ -1,42 +0,0 @@ -require File.expand_path("../lib/#{File.basename(__FILE__, '.gemspec')}/version", __FILE__) - -Gem::Specification.new do |s| - s.name = 'ffi' - s.version = FFI::VERSION - s.author = 'Wayne Meissner' - s.email = 'wmeissner@gmail.com' - s.homepage = 'https://github.com/ffi/ffi/wiki' - s.summary = 'Ruby FFI' - s.description = 'Ruby FFI library' - if s.respond_to?(:metadata) - s.metadata['bug_tracker_uri'] = 'https://github.com/ffi/ffi/issues' - s.metadata['changelog_uri'] = 'https://github.com/ffi/ffi/blob/master/CHANGELOG.md' - s.metadata['documentation_uri'] = 'https://github.com/ffi/ffi/wiki' - s.metadata['wiki_uri'] = 'https://github.com/ffi/ffi/wiki' - s.metadata['source_code_uri'] = 'https://github.com/ffi/ffi/' - s.metadata['mailing_list_uri'] = 'http://groups.google.com/group/ruby-ffi' - end - s.files = `git ls-files -z`.split("\x0").reject do |f| - f =~ /^(\.|bench|gen|libtest|nbproject|spec)/ - end - - # Add libffi git files - lfs = `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0") - # Add autoconf generated files of libffi - lfs += %w[ compile configure config.guess config.sub install-sh ltmain.sh missing fficonfig.h.in ] - # Add automake generated files of libffi - lfs += `git --git-dir ext/ffi_c/libffi/.git ls-files -z *.am */*.am`.gsub(".am\0", ".in\0").split("\x0") - s.files += lfs.map do |f| - File.join("ext/ffi_c/libffi", f) - end - - s.extensions << 'ext/ffi_c/extconf.rb' - s.rdoc_options = %w[--exclude=ext/ffi_c/.*\.o$ --exclude=ffi_c\.(bundle|so)$] - s.license = 'BSD-3-Clause' - s.require_paths << 'ext/ffi_c' - s.required_ruby_version = '>= 2.5' - s.add_development_dependency 'rake', '~> 13.0' - s.add_development_dependency 'rake-compiler', '~> 1.1' - s.add_development_dependency 'rake-compiler-dock', '~> 1.0' - s.add_development_dependency 'rspec', '~> 2.14.1' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/rakelib/ffi_gem_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/rakelib/ffi_gem_helper.rb deleted file mode 100644 index 74be131..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/rakelib/ffi_gem_helper.rb +++ /dev/null @@ -1,65 +0,0 @@ -require 'bundler' -require 'bundler/gem_helper' - -class FfiGemHelper < Bundler::GemHelper - attr_accessor :cross_platforms - - def install - super - - task "release:guard_clean" => ["release:update_history"] - - task "release:update_history" do - update_history - end - - task "release:rubygem_push" => ["gem:native", "gem:java"] - end - - def hfile - "CHANGELOG.md" - end - - def headline - '([^\w]*)(\d+\.\d+\.\d+(?:\.\w+)?)([^\w]+)([2Y][0Y][0-9Y][0-9Y]-[0-1M][0-9M]-[0-3D][0-9D])([^\w]*|$)' - end - - def reldate - Time.now.strftime("%Y-%m-%d") - end - - def update_history - hin = File.read(hfile) - hout = hin.sub(/#{headline}/) do - raise "#{hfile} isn't up-to-date for version #{version}" unless $2==version.to_s - $1 + $2 + $3 + reldate + $5 - end - if hout != hin - Bundler.ui.confirm "Updating #{hfile} for release." - File.write(hfile, hout) - Rake::FileUtilsExt.sh "git", "commit", hfile, "-m", "Update release date in #{hfile}" - end - end - - def tag_version - Bundler.ui.confirm "Tag release with annotation:" - m = File.read(hfile).match(/(?#{headline}.*?)#{headline}/m) || raise("Unable to find release notes in #{hfile}") - Bundler.ui.info(m[:annotation].gsub(/^/, " ")) - IO.popen(["git", "tag", "--file=-", version_tag], "w") do |fd| - fd.write m[:annotation] - end - yield if block_given? - rescue - Bundler.ui.error "Untagging #{version_tag} due to error." - sh_with_code "git tag -d #{version_tag}" - raise - end - - def rubygem_push(path) - cross_platforms.each do |ruby_platform| - super(path.gsub(/\.gem\z/, "-#{ruby_platform}.gem")) - end - super(path.gsub(/\.gem\z/, "-java.gem")) - super(path) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/getlogin.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/getlogin.rb deleted file mode 100644 index 6713021..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/getlogin.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'ffi' - -module Foo - extend FFI::Library - ffi_lib FFI::Library::LIBC - attach_function :getlogin, [ ], :string -end -puts "getlogin=#{Foo.getlogin}" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/getpid.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/getpid.rb deleted file mode 100644 index 1720635..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/getpid.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'ffi' - -module Foo - extend FFI::Library - ffi_lib FFI::Library::LIBC - attach_function :getpid, [ ], :int -end -puts "My pid=#{Foo.getpid}" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/gettimeofday.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/gettimeofday.rb deleted file mode 100644 index 864bbb6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/gettimeofday.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'ffi' -require 'rbconfig' - -class Timeval < FFI::Struct - layout tv_sec: :ulong, tv_usec: :ulong -end -module LibC - extend FFI::Library - if FFI::Platform.windows? - ffi_lib RbConfig::CONFIG["LIBRUBY_SO"] - else - ffi_lib FFI::Library::LIBC - end - attach_function :gettimeofday, [ :pointer, :pointer ], :int -end -t = Timeval.new -LibC.gettimeofday(t.pointer, nil) -puts "t.tv_sec=#{t[:tv_sec]} t.tv_usec=#{t[:tv_usec]}" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/hello.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/hello.rb deleted file mode 100644 index f2ccf37..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/hello.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'ffi' - -module Foo - extend FFI::Library - ffi_lib FFI::Library::LIBC - attach_function("cputs", "puts", [ :string ], :int) -end -Foo.cputs("Hello, World via libc puts using FFI on MRI ruby") diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/hello_ractor.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/hello_ractor.rb deleted file mode 100644 index 904fe85..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/hello_ractor.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'ffi' - -module Foo - extend FFI::Library - ffi_lib FFI::Library::LIBC - attach_function("cputs", "puts", [ :string ], :int) - freeze -end -Ractor.new do - Foo.cputs("Hello, World via libc puts using FFI in a Ractor") -end.take diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/inotify.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/inotify.rb deleted file mode 100644 index 018d78c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/inotify.rb +++ /dev/null @@ -1,60 +0,0 @@ -require 'ffi' - -module Inotify - extend FFI::Library - ffi_lib FFI::Library::LIBC - class Event < FFI::Struct - layout \ - :wd, :int, - :mask, :uint, - :cookie, :uint, - :len, :uint - end - attach_function :init, :inotify_init, [ ], :int - attach_function :add_watch, :inotify_add_watch, [ :int, :string, :uint ], :int - attach_function :rm_watch, :inotify_rm_watch, [ :int, :uint ], :int - attach_function :read, [ :int, :buffer_out, :uint ], :int - IN_ACCESS=0x00000001 - IN_MODIFY=0x00000002 - IN_ATTRIB=0x00000004 - IN_CLOSE_WRITE=0x00000008 - IN_CLOSE_NOWRITE=0x00000010 - IN_CLOSE=(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) - IN_OPEN=0x00000020 - IN_MOVED_FROM=0x00000040 - IN_MOVED_TO=0x00000080 - IN_MOVE= (IN_MOVED_FROM | IN_MOVED_TO) - IN_CREATE=0x00000100 - IN_DELETE=0x00000200 - IN_DELETE_SELF=0x00000400 - IN_MOVE_SELF=0x00000800 - # Events sent by the kernel. - IN_UNMOUNT=0x00002000 - IN_Q_OVERFLOW=0x00004000 - IN_IGNORED=0x00008000 - IN_ONLYDIR=0x01000000 - IN_DONT_FOLLOW=0x02000000 - IN_MASK_ADD=0x20000000 - IN_ISDIR=0x40000000 - IN_ONESHOT=0x80000000 - IN_ALL_EVENTS=(IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE \ - | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM \ - | IN_MOVED_TO | IN_CREATE | IN_DELETE \ - | IN_DELETE_SELF | IN_MOVE_SELF) - -end -if $0 == __FILE__ - fd = Inotify.init - puts "fd=#{fd}" - wd = Inotify.add_watch(fd, "/tmp/", Inotify::IN_ALL_EVENTS) - fp = FFI::IO.for_fd(fd) - puts "wfp=#{fp}" - while true - buf = FFI::Buffer.alloc_out(Inotify::Event.size + 4096, 1, false) - ev = Inotify::Event.new buf - ready = IO.select([ fp ], nil, nil, nil) - n = Inotify.read(fd, buf, buf.total) - puts "Read #{n} bytes from inotify fd" - puts "event.wd=#{ev[:wd]} mask=#{ev[:mask]} len=#{ev[:len]} name=#{ev[:len] > 0 ? buf.get_string(16) : 'unknown'}" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/pty.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/pty.rb deleted file mode 100644 index 8b6b885..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/pty.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'ffi' - -module PTY - private - module LibC - extend FFI::Library - ffi_lib FFI::Library::LIBC - attach_function :forkpty, [ :buffer_out, :buffer_out, :buffer_in, :buffer_in ], :int - attach_function :openpty, [ :buffer_out, :buffer_out, :buffer_out, :buffer_in, :buffer_in ], :int - attach_function :login_tty, [ :int ], :int - attach_function :close, [ :int ], :int - attach_function :strerror, [ :int ], :string - attach_function :fork, [], :int - attach_function :execv, [ :string, :buffer_in ], :int - attach_function :execvp, [ :string, :buffer_in ], :int - attach_function :dup2, [ :int, :int ], :int - attach_function :dup, [ :int ], :int - end - Buffer = FFI::Buffer - def self.build_args(args) - cmd = args.shift - cmd_args = args.map do |arg| - MemoryPointer.from_string(arg) - end - exec_args = MemoryPointer.new(:pointer, 1 + cmd_args.length + 1) - exec_cmd = MemoryPointer.from_string(cmd) - exec_args[0].put_pointer(0, exec_cmd) - cmd_args.each_with_index do |arg, i| - exec_args[i + 1].put_pointer(0, arg) - end - [ cmd, exec_args ] - end - public - def self.getpty(*args) - mfdp = Buffer.new :int - name = Buffer.new 1024 - # - # All the execv setup is done in the parent, since doing anything other than - # execv in the child after fork is really flakey - # - exec_cmd, exec_args = build_args(args) - pid = LibC.forkpty(mfdp, name, nil, nil) - raise "forkpty failed: #{LibC.strerror(FFI.errno)}" if pid < 0 - if pid == 0 - LibC.execvp(exec_cmd, exec_args) - exit 1 - end - masterfd = mfdp.get_int(0) - rfp = FFI::IO.for_fd(masterfd, "r") - wfp = FFI::IO.for_fd(LibC.dup(masterfd), "w") - if block_given? - yield rfp, wfp, pid - rfp.close unless rfp.closed? - wfp.close unless wfp.closed? - else - [ rfp, wfp, pid ] - end - end - def self.spawn(*args, &block) - self.getpty("/bin/sh", "-c", args[0], &block) - end -end -module LibC - extend FFI::Library - attach_function :close, [ :int ], :int - attach_function :write, [ :int, :buffer_in, :ulong ], :long - attach_function :read, [ :int, :buffer_out, :ulong ], :long -end -PTY.getpty("/bin/ls", "-alR", "/") { |rfd, wfd, pid| -#PTY.spawn("ls -laR /") { |rfd, wfd, pid| - puts "child pid=#{pid}" - while !rfd.eof? && (buf = rfd.gets) - puts "child: '#{buf.strip}'" - end -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/qsort.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/qsort.rb deleted file mode 100644 index 58622c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/qsort.rb +++ /dev/null @@ -1,20 +0,0 @@ -require 'ffi' - -module LibC - extend FFI::Library - ffi_lib FFI::Library::LIBC - callback :qsort_cmp, [ :pointer, :pointer ], :int - attach_function :qsort, [ :pointer, :ulong, :ulong, :qsort_cmp ], :int -end - -p = FFI::MemoryPointer.new(:int, 2) -p.put_array_of_int32(0, [ 2, 1 ]) -puts "ptr=#{p.inspect}" -puts "Before qsort #{p.get_array_of_int32(0, 2).join(', ')}" -LibC.qsort(p, 2, 4) do |p1, p2| - i1 = p1.get_int32(0) - i2 = p2.get_int32(0) - puts "In block: comparing #{i1} and #{i2}" - i1 < i2 ? -1 : i1 > i2 ? 1 : 0 -end -puts "After qsort #{p.get_array_of_int32(0, 2).join(', ')}" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/qsort_ractor.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/qsort_ractor.rb deleted file mode 100644 index db085de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ffi-1.16.3/samples/qsort_ractor.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'ffi' - -module LibC - extend FFI::Library - ffi_lib FFI::Library::LIBC - callback :qsort_cmp, [ :pointer, :pointer ], :int - attach_function :qsort, [ :pointer, :ulong, :ulong, :qsort_cmp ], :int - - freeze # Freeze the module variables, so that it can be shared across ractors. -end - -p = FFI::MemoryPointer.new(:int, 3) -p.put_array_of_int32(0, [ 2, 3, 1 ]) # Write some unsorted data into the memory -# Ractor.make_shareable(p) # freeze the pointer to be shared between ractors instead of copied -puts "main -ptr=#{p.inspect}" -res = Ractor.new(p) do |p| - puts "ractor-ptr=#{p.inspect}" - puts "Before qsort #{p.get_array_of_int32(0, 3).join(', ')}" - LibC.qsort(p, 3, 4) do |p1, p2| - i1 = p1.get_int32(0) - i2 = p2.get_int32(0) - puts "In block: comparing #{i1} and #{i2}" - i1 < i2 ? -1 : i1 > i2 ? 1 : 0 - end - puts "After qsort #{p.get_array_of_int32(0, 3).join(', ')}" -end.take - -puts "After ractor termination #{p.get_array_of_int32(0, 3).join(', ')}" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/Gemfile deleted file mode 100644 index ea587c7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/Gemfile +++ /dev/null @@ -1,24 +0,0 @@ -# ---------------------------------------------------------------------------- -# Frozen-string-literal: true -# Copyright: 2015-2016 Jordon Bedwell - MIT License -# Encoding: utf-8 -# ---------------------------------------------------------------------------- - -source "https://rubygems.org" -gem "rake", :require => false -gemspec - -group :test do - gem "rspec-helpers", :require => false - gem "codeclimate-test-reporter", :require => false - gem "luna-rspec-formatters", :require => false - gem "rspec", :require => false -end - -group :development do - gem "luna-rubocop-formatters", :require => false - gem "rubocop", :github => "bbatsov/rubocop", :require => false - gem "pry", { - :require => false - } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/LICENSE deleted file mode 100644 index e603a78..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2016 Jordon Bedwell - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/Rakefile deleted file mode 100644 index 1c929e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/forwardable-extended-2.6.0/Rakefile +++ /dev/null @@ -1,13 +0,0 @@ -# ---------------------------------------------------------------------------- -# Frozen-string-literal: true -# Copyright: 2015-2016 Jordon Bedwell - MIT License -# Encoding: utf-8 -# ---------------------------------------------------------------------------- - -$LOAD_PATH.unshift(File.expand_path("../lib", __FILE__)) -require "luna/rubocop/rake/task" -require "rspec/core/rake_task" - -task :default => [:spec] -RSpec::Core::RakeTask.new :spec -task :test => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/README.md deleted file mode 100644 index 5af0a49..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/README.md +++ /dev/null @@ -1,115 +0,0 @@ -gemoji -====== - -This library contains character information about native emoji, as well as image -files for a few custom emoji. - - -Installation ------------- - -Add `gemoji` to your Gemfile. - -``` ruby -gem 'gemoji' -``` - -### Extract images - -To obtain image files as fallbacks for browsers and OS's that don't support -emoji, run the `gemoji extract` command **on macOS Sierra or later**: - -``` sh -bundle exec gemoji extract public/images/emoji -``` - -This will extract images into filenames such as: - -* `public/images/emoji/octocat.png` -* `public/images/emoji/unicode/1f9c0.png` (the `:cheese:` emoji) - - -Example Rails Helper --------------------- - -This would allow emojifying content such as: `it's raining :cat:s and :dog:s!` - -See the [Emoji cheat sheet](http://www.emoji-cheat-sheet.com) for more examples. - -```ruby -module EmojiHelper - def emojify(content) - h(content).to_str.gsub(/:([\w+-]+):/) do |match| - if emoji = Emoji.find_by_alias($1) - %(#$1) - else - match - end - end.html_safe if content.present? - end -end -``` - -Unicode mapping ---------------- - -Translate emoji names to unicode and vice versa. - -```ruby ->> Emoji.find_by_alias("cat").raw -=> "🐱" # Don't see a cat? That's U+1F431. - ->> Emoji.find_by_unicode("\u{1f431}").name -=> "cat" -``` - -Adding new emoji ----------------- - -You can add new emoji characters to the `Emoji.all` list: - -```ruby -emoji = Emoji.create("music") do |char| - char.add_alias "song" - char.add_unicode_alias "\u{266b}" - char.add_tag "notes" -end - -emoji.name #=> "music" -emoji.raw #=> "♫" -emoji.image_filename #=> "unicode/266b.png" - -# Creating custom emoji (no Unicode aliases): -emoji = Emoji.create("music") do |char| - char.add_tag "notes" -end - -emoji.custom? #=> true -emoji.image_filename #=> "music.png" -``` - -As you create new emoji, you must ensure that you also create and put the images -they reference by their `image_filename` to your assets directory. - -You can customize `image_filename` with: - -```ruby -emoji = Emoji.create("music") do |char| - char.image_filename = "subdirectory/my_emoji.gif" -end -``` - -For existing emojis, you can edit the list of aliases or add new tags in an edit block: - -```ruby -emoji = Emoji.find_by_alias "musical_note" - -Emoji.edit_emoji(emoji) do |char| - char.add_alias "music" - char.add_unicode_alias "\u{266b}" - char.add_tag "notes" -end - -Emoji.find_by_alias "music" #=> emoji -Emoji.find_by_unicode "\u{266b}" #=> emoji -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/bin/gemoji b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/bin/gemoji deleted file mode 100755 index fe62da7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/bin/gemoji +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env ruby -require 'emoji/cli' - -exit_code = Emoji::CLI.dispatch(ARGV) -exit exit_code diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/db/Category-Emoji.json b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/db/Category-Emoji.json deleted file mode 100644 index 7e5a026..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/db/Category-Emoji.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "EmojiDataArray" : [ - { - "CVDataTitle" : "EmojiCategory-People", - "CVCategoryImage" : "Emoji-HumanImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "😀,😃,😄,😁,😆,😅,😂,🤣,☺️,😊,😇,🙂,🙃,😉,😌,😍,😘,😗,😙,😚,😋,😜,😝,😛,🤑,🤗,🤓,😎,🤡,🤠,😏,😒,😞,😔,😟,😕,🙁,☹️,😣,😖,😫,😩,😤,😠,😡,😶,😐,😑,😯,😦,😧,😮,😲,😵,😳,😱,😨,😰,😢,😥,🤤,😭,😓,😪,😴,🙄,🤔,🤥,😬,🤐,🤢,🤧,😷,🤒,🤕,😈,👿,👹,👺,💩,👻,💀,☠️,👽,👾,🤖,🎃,😺,😸,😹,😻,😼,😽,🙀,😿,😾,👐,🙌,👏,🙏,🤝,👍,👎,👊,✊,🤛,🤜,🤞,✌️,🤘,👌,👈,👉,👆,👇,☝️,✋,🤚,🖐,🖖,👋,🤙,💪,🖕,✍️,🤳,💅,💍,💄,💋,👄,👅,👂,👃,👣,👁,👀,🗣,👤,👥,👶,👦,👧,👨,👩,👱‍♀️,👱,👴,👵,👲,👳‍♀️,👳,👮‍♀️,👮,👷‍♀️,👷,💂‍♀️,💂,🕵️‍♀️,🕵️,👩‍⚕️,👨‍⚕️,👩‍🌾,👨‍🌾,👩‍🍳,👨‍🍳,👩‍🎓,👨‍🎓,👩‍🎤,👨‍🎤,👩‍🏫,👨‍🏫,👩‍🏭,👨‍🏭,👩‍💻,👨‍💻,👩‍💼,👨‍💼,👩‍🔧,👨‍🔧,👩‍🔬,👨‍🔬,👩‍🎨,👨‍🎨,👩‍🚒,👨‍🚒,👩‍✈️,👨‍✈️,👩‍🚀,👨‍🚀,👩‍⚖️,👨‍⚖️,🤶,🎅,👸,🤴,👰,🤵,👼,🤰,🙇‍♀️,🙇,💁,💁‍♂️,🙅,🙅‍♂️,🙆,🙆‍♂️,🙋,🙋‍♂️,🤦‍♀️,🤦‍♂️,🤷‍♀️,🤷‍♂️,🙎,🙎‍♂️,🙍,🙍‍♂️,💇,💇‍♂️,💆,💆‍♂️,🕴,💃,🕺,👯,👯‍♂️,🚶‍♀️,🚶,🏃‍♀️,🏃,👫,👭,👬,💑,👩‍❤️‍👩,👨‍❤️‍👨,💏,👩‍❤️‍💋‍👩,👨‍❤️‍💋‍👨,👪,👨‍👩‍👧,👨‍👩‍👧‍👦,👨‍👩‍👦‍👦,👨‍👩‍👧‍👧,👩‍👩‍👦,👩‍👩‍👧,👩‍👩‍👧‍👦,👩‍👩‍👦‍👦,👩‍👩‍👧‍👧,👨‍👨‍👦,👨‍👨‍👧,👨‍👨‍👧‍👦,👨‍👨‍👦‍👦,👨‍👨‍👧‍👧,👩‍👦,👩‍👧,👩‍👧‍👦,👩‍👦‍👦,👩‍👧‍👧,👨‍👦,👨‍👧,👨‍👧‍👦,👨‍👦‍👦,👨‍👧‍👧,👚,👕,👖,👔,👗,👙,👘,👠,👡,👢,👞,👟,👒,🎩,🎓,👑,⛑,🎒,👝,👛,👜,💼,👓,🕶,🌂,☂️" - } - }, - { - "CVDataTitle" : "EmojiCategory-Nature", - "CVCategoryImage" : "Emoji-NatureImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "🐶,🐱,🐭,🐹,🐰,🦊,🐻,🐼,🐨,🐯,🦁,🐮,🐷,🐽,🐸,🐵,🙈,🙉,🙊,🐒,🐔,🐧,🐦,🐤,🐣,🐥,🦆,🦅,🦉,🦇,🐺,🐗,🐴,🦄,🐝,🐛,🦋,🐌,🐚,🐞,🐜,🕷,🕸,🐢,🐍,🦎,🦂,🦀,🦑,🐙,🦐,🐠,🐟,🐡,🐬,🦈,🐳,🐋,🐊,🐆,🐅,🐃,🐂,🐄,🦌,🐪,🐫,🐘,🦏,🦍,🐎,🐖,🐐,🐏,🐑,🐕,🐩,🐈,🐓,🦃,🕊,🐇,🐁,🐀,🐿,🐾,🐉,🐲,🌵,🎄,🌲,🌳,🌴,🌱,🌿,☘️,🍀,🎍,🎋,🍃,🍂,🍁,🍄,🌾,💐,🌷,🌹,🥀,🌻,🌼,🌸,🌺,🌎,🌍,🌏,🌕,🌖,🌗,🌘,🌑,🌒,🌓,🌔,🌚,🌝,🌞,🌛,🌜,🌙,💫,⭐️,🌟,✨,⚡️,🔥,💥,☄️,☀️,🌤,⛅️,🌥,🌦,🌈,☁️,🌧,⛈,🌩,🌨,☃️,⛄️,❄️,🌬,💨,🌪,🌫,🌊,💧,💦,☔️" - } - }, - { - "CVDataTitle" : "EmojiCategory-Foods", - "CVCategoryImage" : "Emoji-FoodsImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "🍏,🍎,🍐,🍊,🍋,🍌,🍉,🍇,🍓,🍈,🍒,🍑,🍍,🥝,🥑,🍅,🍆,🥒,🥕,🌽,🌶,🥔,🍠,🌰,🥜,🍯,🥐,🍞,🥖,🧀,🥚,🍳,🥓,🥞,🍤,🍗,🍖,🍕,🌭,🍔,🍟,🥙,🌮,🌯,🥗,🥘,🍝,🍜,🍲,🍥,🍣,🍱,🍛,🍚,🍙,🍘,🍢,🍡,🍧,🍨,🍦,🍰,🎂,🍮,🍭,🍬,🍫,🍿,🍩,🍪,🥛,🍼,☕️,🍵,🍶,🍺,🍻,🥂,🍷,🥃,🍸,🍹,🍾,🥄,🍴,🍽" - } - }, - { - "CVDataTitle" : "EmojiCategory-Activity", - "CVCategoryImage" : "Emoji-ActivityImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "⚽️,🏀,🏈,⚾️,🎾,🏐,🏉,🎱,🏓,🏸,🥅,🏒,🏑,🏏,⛳️,🏹,🎣,🥊,🥋,⛸,🎿,⛷,🏂,🏋️‍♀️,🏋️,🤺,🤼‍♀️,🤼‍♂️,🤸‍♀️,🤸‍♂️,⛹️‍♀️,⛹️,🤾‍♀️,🤾‍♂️,🏌️‍♀️,🏌️,🏄‍♀️,🏄,🏊‍♀️,🏊,🤽‍♀️,🤽‍♂️,🚣‍♀️,🚣,🏇,🚴‍♀️,🚴,🚵‍♀️,🚵,🎽,🏅,🎖,🥇,🥈,🥉,🏆,🏵,🎗,🎫,🎟,🎪,🤹‍♀️,🤹‍♂️,🎭,🎨,🎬,🎤,🎧,🎼,🎹,🥁,🎷,🎺,🎸,🎻,🎲,🎯,🎳,🎮,🎰" - } - }, - { - "CVDataTitle" : "EmojiCategory-Places", - "CVCategoryImage" : "Emoji-PlacesImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "🚗,🚕,🚙,🚌,🚎,🏎,🚓,🚑,🚒,🚐,🚚,🚛,🚜,🛴,🚲,🛵,🏍,🚨,🚔,🚍,🚘,🚖,🚡,🚠,🚟,🚃,🚋,🚞,🚝,🚄,🚅,🚈,🚂,🚆,🚇,🚊,🚉,🚁,🛩,✈️,🛫,🛬,🚀,🛰,💺,🛶,⛵️,🛥,🚤,🛳,⛴,🚢,⚓️,🚧,⛽️,🚏,🚦,🚥,🗺,🗿,🗽,⛲️,🗼,🏰,🏯,🏟,🎡,🎢,🎠,⛱,🏖,🏝,⛰,🏔,🗻,🌋,🏜,🏕,⛺️,🛤,🛣,🏗,🏭,🏠,🏡,🏘,🏚,🏢,🏬,🏣,🏤,🏥,🏦,🏨,🏪,🏫,🏩,💒,🏛,⛪️,🕌,🕍,🕋,⛩,🗾,🎑,🏞,🌅,🌄,🌠,🎇,🎆,🌇,🌆,🏙,🌃,🌌,🌉,🌁" - } - }, - { - "CVDataTitle" : "EmojiCategory-Objects", - "CVCategoryImage" : "Emoji-ObjectsImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "⌚️,📱,📲,💻,⌨️,🖥,🖨,🖱,🖲,🕹,🗜,💽,💾,💿,📀,📼,📷,📸,📹,🎥,📽,🎞,📞,☎️,📟,📠,📺,📻,🎙,🎚,🎛,⏱,⏲,⏰,🕰,⌛️,⏳,📡,🔋,🔌,💡,🔦,🕯,🗑,🛢,💸,💵,💴,💶,💷,💰,💳,💎,⚖️,🔧,🔨,⚒,🛠,⛏,🔩,⚙️,⛓,🔫,💣,🔪,🗡,⚔️,🛡,🚬,⚰️,⚱️,🏺,🔮,📿,💈,⚗️,🔭,🔬,🕳,💊,💉,🌡,🚽,🚰,🚿,🛁,🛀,🛎,🔑,🗝,🚪,🛋,🛏,🛌,🖼,🛍,🛒,🎁,🎈,🎏,🎀,🎊,🎉,🎎,🏮,🎐,✉️,📩,📨,📧,💌,📥,📤,📦,🏷,📪,📫,📬,📭,📮,📯,📜,📃,📄,📑,📊,📈,📉,🗒,🗓,📆,📅,📇,🗃,🗳,🗄,📋,📁,📂,🗂,🗞,📰,📓,📔,📒,📕,📗,📘,📙,📚,📖,🔖,🔗,📎,🖇,📐,📏,📌,📍,✂️,🖊,🖋,✒️,🖌,🖍,📝,✏️,🔍,🔎,🔏,🔐,🔒,🔓" - } - }, - { - "CVDataTitle" : "EmojiCategory-Symbols", - "CVCategoryImage" : "Emoji-SymbolImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "❤️,💛,💚,💙,💜,🖤,💔,❣️,💕,💞,💓,💗,💖,💘,💝,💟,☮️,✝️,☪️,🕉,☸️,✡️,🔯,🕎,☯️,☦️,🛐,⛎,♈️,♉️,♊️,♋️,♌️,♍️,♎️,♏️,♐️,♑️,♒️,♓️,🆔,⚛️,🉑,☢️,☣️,📴,📳,🈶,🈚️,🈸,🈺,🈷️,✴️,🆚,💮,🉐,㊙️,㊗️,🈴,🈵,🈹,🈲,🅰️,🅱️,🆎,🆑,🅾️,🆘,❌,⭕️,🛑,⛔️,📛,🚫,💯,💢,♨️,🚷,🚯,🚳,🚱,🔞,📵,🚭,❗️,❕,❓,❔,‼️,⁉️,🔅,🔆,〽️,⚠️,🚸,🔱,⚜️,🔰,♻️,✅,🈯️,💹,❇️,✳️,❎,🌐,💠,Ⓜ️,🌀,💤,🏧,🚾,♿️,🅿️,🈳,🈂️,🛂,🛃,🛄,🛅,🚹,🚺,🚼,🚻,🚮,🎦,📶,🈁,🔣,ℹ️,🔤,🔡,🔠,🆖,🆗,🆙,🆒,🆕,🆓,0️⃣,1️⃣,2️⃣,3️⃣,4️⃣,5️⃣,6️⃣,7️⃣,8️⃣,9️⃣,🔟,🔢,#️⃣,*️⃣,▶️,⏸,⏯,⏹,⏺,⏭,⏮,⏩,⏪,⏫,⏬,◀️,🔼,🔽,➡️,⬅️,⬆️,⬇️,↗️,↘️,↙️,↖️,↕️,↔️,↪️,↩️,⤴️,⤵️,🔀,🔁,🔂,🔄,🔃,🎵,🎶,➕,➖,➗,✖️,💲,💱,™️,©️,®️,〰️,➰,➿,🔚,🔙,🔛,🔝,🔜,✔️,☑️,🔘,⚪️,⚫️,🔴,🔵,🔺,🔻,🔸,🔹,🔶,🔷,🔳,🔲,▪️,▫️,◾️,◽️,◼️,◻️,⬛️,⬜️,🔈,🔇,🔉,🔊,🔔,🔕,📣,📢,👁‍🗨,💬,💭,🗯,♠️,♣️,♥️,♦️,🃏,🎴,🀄️,🕐,🕑,🕒,🕓,🕔,🕕,🕖,🕗,🕘,🕙,🕚,🕛,🕜,🕝,🕞,🕟,🕠,🕡,🕢,🕣,🕤,🕥,🕦,🕧" - } - }, - { - "CVDataTitle" : "EmojiCategory-Flags", - "CVCategoryImage" : "Emoji-FlagsImage", - "CVCategoryData" : { - "CVSkipNullGlyphs" : false, - "Data" : "🏳️,🏴,🏁,🚩,🏳️‍🌈,🇦🇫,🇦🇽,🇦🇱,🇩🇿,🇦🇸,🇦🇩,🇦🇴,🇦🇮,🇦🇶,🇦🇬,🇦🇷,🇦🇲,🇦🇼,🇦🇺,🇦🇹,🇦🇿,🇧🇸,🇧🇭,🇧🇩,🇧🇧,🇧🇾,🇧🇪,🇧🇿,🇧🇯,🇧🇲,🇧🇹,🇧🇴,🇧🇶,🇧🇦,🇧🇼,🇧🇷,🇮🇴,🇻🇬,🇧🇳,🇧🇬,🇧🇫,🇧🇮,🇨🇻,🇰🇭,🇨🇲,🇨🇦,🇮🇨,🇰🇾,🇨🇫,🇹🇩,🇨🇱,🇨🇳,🇨🇽,🇨🇨,🇨🇴,🇰🇲,🇨🇬,🇨🇩,🇨🇰,🇨🇷,🇨🇮,🇭🇷,🇨🇺,🇨🇼,🇨🇾,🇨🇿,🇩🇰,🇩🇯,🇩🇲,🇩🇴,🇪🇨,🇪🇬,🇸🇻,🇬🇶,🇪🇷,🇪🇪,🇪🇹,🇪🇺,🇫🇰,🇫🇴,🇫🇯,🇫🇮,🇫🇷,🇬🇫,🇵🇫,🇹🇫,🇬🇦,🇬🇲,🇬🇪,🇩🇪,🇬🇭,🇬🇮,🇬🇷,🇬🇱,🇬🇩,🇬🇵,🇬🇺,🇬🇹,🇬🇬,🇬🇳,🇬🇼,🇬🇾,🇭🇹,🇭🇳,🇭🇰,🇭🇺,🇮🇸,🇮🇳,🇮🇩,🇮🇷,🇮🇶,🇮🇪,🇮🇲,🇮🇱,🇮🇹,🇯🇲,🇯🇵,🎌,🇯🇪,🇯🇴,🇰🇿,🇰🇪,🇰🇮,🇽🇰,🇰🇼,🇰🇬,🇱🇦,🇱🇻,🇱🇧,🇱🇸,🇱🇷,🇱🇾,🇱🇮,🇱🇹,🇱🇺,🇲🇴,🇲🇰,🇲🇬,🇲🇼,🇲🇾,🇲🇻,🇲🇱,🇲🇹,🇲🇭,🇲🇶,🇲🇷,🇲🇺,🇾🇹,🇲🇽,🇫🇲,🇲🇩,🇲🇨,🇲🇳,🇲🇪,🇲🇸,🇲🇦,🇲🇿,🇲🇲,🇳🇦,🇳🇷,🇳🇵,🇳🇱,🇳🇨,🇳🇿,🇳🇮,🇳🇪,🇳🇬,🇳🇺,🇳🇫,🇲🇵,🇰🇵,🇳🇴,🇴🇲,🇵🇰,🇵🇼,🇵🇸,🇵🇦,🇵🇬,🇵🇾,🇵🇪,🇵🇭,🇵🇳,🇵🇱,🇵🇹,🇵🇷,🇶🇦,🇷🇪,🇷🇴,🇷🇺,🇷🇼,🇧🇱,🇸🇭,🇰🇳,🇱🇨,🇵🇲,🇻🇨,🇼🇸,🇸🇲,🇸🇹,🇸🇦,🇸🇳,🇷🇸,🇸🇨,🇸🇱,🇸🇬,🇸🇽,🇸🇰,🇸🇮,🇸🇧,🇸🇴,🇿🇦,🇬🇸,🇰🇷,🇸🇸,🇪🇸,🇱🇰,🇸🇩,🇸🇷,🇸🇿,🇸🇪,🇨🇭,🇸🇾,🇹🇼,🇹🇯,🇹🇿,🇹🇭,🇹🇱,🇹🇬,🇹🇰,🇹🇴,🇹🇹,🇹🇳,🇹🇷,🇹🇲,🇹🇨,🇹🇻,🇺🇬,🇺🇦,🇦🇪,🇬🇧,🇺🇸,🇻🇮,🇺🇾,🇺🇿,🇻🇺,🇻🇦,🇻🇪,🇻🇳,🇼🇫,🇪🇭,🇾🇪,🇿🇲,🇿🇼" - } - } - ], - "CVViewFontList" : [ - "AppleColorEmoji" - ] -} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/db/emoji.json b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/db/emoji.json deleted file mode 100644 index 87d719d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/db/emoji.json +++ /dev/null @@ -1,17969 +0,0 @@ -[ - { - "emoji": "😀" - , "description": "grinning face" - , "category": "People" - , "aliases": [ - "grinning" - ] - , "tags": [ - "smile" - , "happy" - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😃" - , "description": "smiling face with open mouth" - , "category": "People" - , "aliases": [ - "smiley" - ] - , "tags": [ - "happy" - , "joy" - , "haha" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😄" - , "description": "smiling face with open mouth & smiling eyes" - , "category": "People" - , "aliases": [ - "smile" - ] - , "tags": [ - "happy" - , "joy" - , "laugh" - , "pleased" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😁" - , "description": "grinning face with smiling eyes" - , "category": "People" - , "aliases": [ - "grin" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😆" - , "description": "smiling face with open mouth & closed eyes" - , "category": "People" - , "aliases": [ - "laughing" - , "satisfied" - ] - , "tags": [ - "happy" - , "haha" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😅" - , "description": "smiling face with open mouth & cold sweat" - , "category": "People" - , "aliases": [ - "sweat_smile" - ] - , "tags": [ - "hot" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😂" - , "description": "face with tears of joy" - , "category": "People" - , "aliases": [ - "joy" - ] - , "tags": [ - "tears" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤣" - , "description": "rolling on the floor laughing" - , "category": "People" - , "aliases": [ - "rofl" - ] - , "tags": [ - "lol" - , "laughing" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "☺️" - , "description": "smiling face" - , "category": "People" - , "aliases": [ - "relaxed" - ] - , "tags": [ - "blush" - , "pleased" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "😊" - , "description": "smiling face with smiling eyes" - , "category": "People" - , "aliases": [ - "blush" - ] - , "tags": [ - "proud" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😇" - , "description": "smiling face with halo" - , "category": "People" - , "aliases": [ - "innocent" - ] - , "tags": [ - "angel" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙂" - , "description": "slightly smiling face" - , "category": "People" - , "aliases": [ - "slightly_smiling_face" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🙃" - , "description": "upside-down face" - , "category": "People" - , "aliases": [ - "upside_down_face" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "😉" - , "description": "winking face" - , "category": "People" - , "aliases": [ - "wink" - ] - , "tags": [ - "flirt" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😌" - , "description": "relieved face" - , "category": "People" - , "aliases": [ - "relieved" - ] - , "tags": [ - "whew" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😍" - , "description": "smiling face with heart-eyes" - , "category": "People" - , "aliases": [ - "heart_eyes" - ] - , "tags": [ - "love" - , "crush" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😘" - , "description": "face blowing a kiss" - , "category": "People" - , "aliases": [ - "kissing_heart" - ] - , "tags": [ - "flirt" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😗" - , "description": "kissing face" - , "category": "People" - , "aliases": [ - "kissing" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😙" - , "description": "kissing face with smiling eyes" - , "category": "People" - , "aliases": [ - "kissing_smiling_eyes" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😚" - , "description": "kissing face with closed eyes" - , "category": "People" - , "aliases": [ - "kissing_closed_eyes" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😋" - , "description": "face savouring delicious food" - , "category": "People" - , "aliases": [ - "yum" - ] - , "tags": [ - "tongue" - , "lick" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😜" - , "description": "face with stuck-out tongue & winking eye" - , "category": "People" - , "aliases": [ - "stuck_out_tongue_winking_eye" - ] - , "tags": [ - "prank" - , "silly" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😝" - , "description": "face with stuck-out tongue & closed eyes" - , "category": "People" - , "aliases": [ - "stuck_out_tongue_closed_eyes" - ] - , "tags": [ - "prank" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😛" - , "description": "face with stuck-out tongue" - , "category": "People" - , "aliases": [ - "stuck_out_tongue" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "🤑" - , "description": "money-mouth face" - , "category": "People" - , "aliases": [ - "money_mouth_face" - ] - , "tags": [ - "rich" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤗" - , "description": "hugging face" - , "category": "People" - , "aliases": [ - "hugs" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤓" - , "description": "nerd face" - , "category": "People" - , "aliases": [ - "nerd_face" - ] - , "tags": [ - "geek" - , "glasses" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "😎" - , "description": "smiling face with sunglasses" - , "category": "People" - , "aliases": [ - "sunglasses" - ] - , "tags": [ - "cool" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤡" - , "description": "clown face" - , "category": "People" - , "aliases": [ - "clown_face" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤠" - , "description": "cowboy hat face" - , "category": "People" - , "aliases": [ - "cowboy_hat_face" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "😏" - , "description": "smirking face" - , "category": "People" - , "aliases": [ - "smirk" - ] - , "tags": [ - "smug" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😒" - , "description": "unamused face" - , "category": "People" - , "aliases": [ - "unamused" - ] - , "tags": [ - "meh" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😞" - , "description": "disappointed face" - , "category": "People" - , "aliases": [ - "disappointed" - ] - , "tags": [ - "sad" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😔" - , "description": "pensive face" - , "category": "People" - , "aliases": [ - "pensive" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😟" - , "description": "worried face" - , "category": "People" - , "aliases": [ - "worried" - ] - , "tags": [ - "nervous" - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😕" - , "description": "confused face" - , "category": "People" - , "aliases": [ - "confused" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "🙁" - , "description": "slightly frowning face" - , "category": "People" - , "aliases": [ - "slightly_frowning_face" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "☹️" - , "description": "frowning face" - , "category": "People" - , "aliases": [ - "frowning_face" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "😣" - , "description": "persevering face" - , "category": "People" - , "aliases": [ - "persevere" - ] - , "tags": [ - "struggling" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😖" - , "description": "confounded face" - , "category": "People" - , "aliases": [ - "confounded" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😫" - , "description": "tired face" - , "category": "People" - , "aliases": [ - "tired_face" - ] - , "tags": [ - "upset" - , "whine" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😩" - , "description": "weary face" - , "category": "People" - , "aliases": [ - "weary" - ] - , "tags": [ - "tired" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😤" - , "description": "face with steam from nose" - , "category": "People" - , "aliases": [ - "triumph" - ] - , "tags": [ - "smug" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😠" - , "description": "angry face" - , "category": "People" - , "aliases": [ - "angry" - ] - , "tags": [ - "mad" - , "annoyed" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😡" - , "description": "pouting face" - , "category": "People" - , "aliases": [ - "rage" - , "pout" - ] - , "tags": [ - "angry" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😶" - , "description": "face without mouth" - , "category": "People" - , "aliases": [ - "no_mouth" - ] - , "tags": [ - "mute" - , "silence" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😐" - , "description": "neutral face" - , "category": "People" - , "aliases": [ - "neutral_face" - ] - , "tags": [ - "meh" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😑" - , "description": "expressionless face" - , "category": "People" - , "aliases": [ - "expressionless" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😯" - , "description": "hushed face" - , "category": "People" - , "aliases": [ - "hushed" - ] - , "tags": [ - "silence" - , "speechless" - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😦" - , "description": "frowning face with open mouth" - , "category": "People" - , "aliases": [ - "frowning" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😧" - , "description": "anguished face" - , "category": "People" - , "aliases": [ - "anguished" - ] - , "tags": [ - "stunned" - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😮" - , "description": "face with open mouth" - , "category": "People" - , "aliases": [ - "open_mouth" - ] - , "tags": [ - "surprise" - , "impressed" - , "wow" - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "😲" - , "description": "astonished face" - , "category": "People" - , "aliases": [ - "astonished" - ] - , "tags": [ - "amazed" - , "gasp" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😵" - , "description": "dizzy face" - , "category": "People" - , "aliases": [ - "dizzy_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😳" - , "description": "flushed face" - , "category": "People" - , "aliases": [ - "flushed" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😱" - , "description": "face screaming in fear" - , "category": "People" - , "aliases": [ - "scream" - ] - , "tags": [ - "horror" - , "shocked" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😨" - , "description": "fearful face" - , "category": "People" - , "aliases": [ - "fearful" - ] - , "tags": [ - "scared" - , "shocked" - , "oops" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😰" - , "description": "face with open mouth & cold sweat" - , "category": "People" - , "aliases": [ - "cold_sweat" - ] - , "tags": [ - "nervous" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😢" - , "description": "crying face" - , "category": "People" - , "aliases": [ - "cry" - ] - , "tags": [ - "sad" - , "tear" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😥" - , "description": "disappointed but relieved face" - , "category": "People" - , "aliases": [ - "disappointed_relieved" - ] - , "tags": [ - "phew" - , "sweat" - , "nervous" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤤" - , "description": "drooling face" - , "category": "People" - , "aliases": [ - "drooling_face" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "😭" - , "description": "loudly crying face" - , "category": "People" - , "aliases": [ - "sob" - ] - , "tags": [ - "sad" - , "cry" - , "bawling" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😓" - , "description": "face with cold sweat" - , "category": "People" - , "aliases": [ - "sweat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😪" - , "description": "sleepy face" - , "category": "People" - , "aliases": [ - "sleepy" - ] - , "tags": [ - "tired" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😴" - , "description": "sleeping face" - , "category": "People" - , "aliases": [ - "sleeping" - ] - , "tags": [ - "zzz" - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "🙄" - , "description": "face with rolling eyes" - , "category": "People" - , "aliases": [ - "roll_eyes" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤔" - , "description": "thinking face" - , "category": "People" - , "aliases": [ - "thinking" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤥" - , "description": "lying face" - , "category": "People" - , "aliases": [ - "lying_face" - ] - , "tags": [ - "liar" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "😬" - , "description": "grimacing face" - , "category": "People" - , "aliases": [ - "grimacing" - ] - , "tags": [ - ] - , "unicode_version": "6.1" - , "ios_version": "6.0" - } -, { - "emoji": "🤐" - , "description": "zipper-mouth face" - , "category": "People" - , "aliases": [ - "zipper_mouth_face" - ] - , "tags": [ - "silence" - , "hush" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤢" - , "description": "nauseated face" - , "category": "People" - , "aliases": [ - "nauseated_face" - ] - , "tags": [ - "sick" - , "barf" - , "disgusted" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤧" - , "description": "sneezing face" - , "category": "People" - , "aliases": [ - "sneezing_face" - ] - , "tags": [ - "achoo" - , "sick" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "😷" - , "description": "face with medical mask" - , "category": "People" - , "aliases": [ - "mask" - ] - , "tags": [ - "sick" - , "ill" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤒" - , "description": "face with thermometer" - , "category": "People" - , "aliases": [ - "face_with_thermometer" - ] - , "tags": [ - "sick" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤕" - , "description": "face with head-bandage" - , "category": "People" - , "aliases": [ - "face_with_head_bandage" - ] - , "tags": [ - "hurt" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "😈" - , "description": "smiling face with horns" - , "category": "People" - , "aliases": [ - "smiling_imp" - ] - , "tags": [ - "devil" - , "evil" - , "horns" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👿" - , "description": "angry face with horns" - , "category": "People" - , "aliases": [ - "imp" - ] - , "tags": [ - "angry" - , "devil" - , "evil" - , "horns" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👹" - , "description": "ogre" - , "category": "People" - , "aliases": [ - "japanese_ogre" - ] - , "tags": [ - "monster" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👺" - , "description": "goblin" - , "category": "People" - , "aliases": [ - "japanese_goblin" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💩" - , "description": "pile of poo" - , "category": "People" - , "aliases": [ - "hankey" - , "poop" - , "shit" - ] - , "tags": [ - "crap" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👻" - , "description": "ghost" - , "category": "People" - , "aliases": [ - "ghost" - ] - , "tags": [ - "halloween" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💀" - , "description": "skull" - , "category": "People" - , "aliases": [ - "skull" - ] - , "tags": [ - "dead" - , "danger" - , "poison" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☠️" - , "description": "skull and crossbones" - , "category": "People" - , "aliases": [ - "skull_and_crossbones" - ] - , "tags": [ - "danger" - , "pirate" - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "👽" - , "description": "alien" - , "category": "People" - , "aliases": [ - "alien" - ] - , "tags": [ - "ufo" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👾" - , "description": "alien monster" - , "category": "People" - , "aliases": [ - "space_invader" - ] - , "tags": [ - "game" - , "retro" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤖" - , "description": "robot face" - , "category": "People" - , "aliases": [ - "robot" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎃" - , "description": "jack-o-lantern" - , "category": "People" - , "aliases": [ - "jack_o_lantern" - ] - , "tags": [ - "halloween" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😺" - , "description": "smiling cat face with open mouth" - , "category": "People" - , "aliases": [ - "smiley_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😸" - , "description": "grinning cat face with smiling eyes" - , "category": "People" - , "aliases": [ - "smile_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😹" - , "description": "cat face with tears of joy" - , "category": "People" - , "aliases": [ - "joy_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😻" - , "description": "smiling cat face with heart-eyes" - , "category": "People" - , "aliases": [ - "heart_eyes_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😼" - , "description": "cat face with wry smile" - , "category": "People" - , "aliases": [ - "smirk_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😽" - , "description": "kissing cat face with closed eyes" - , "category": "People" - , "aliases": [ - "kissing_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙀" - , "description": "weary cat face" - , "category": "People" - , "aliases": [ - "scream_cat" - ] - , "tags": [ - "horror" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😿" - , "description": "crying cat face" - , "category": "People" - , "aliases": [ - "crying_cat_face" - ] - , "tags": [ - "sad" - , "tear" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "😾" - , "description": "pouting cat face" - , "category": "People" - , "aliases": [ - "pouting_cat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👐" - , "description": "open hands" - , "category": "People" - , "aliases": [ - "open_hands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙌" - , "description": "raising hands" - , "category": "People" - , "aliases": [ - "raised_hands" - ] - , "tags": [ - "hooray" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👏" - , "description": "clapping hands" - , "category": "People" - , "aliases": [ - "clap" - ] - , "tags": [ - "praise" - , "applause" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙏" - , "description": "folded hands" - , "category": "People" - , "aliases": [ - "pray" - ] - , "tags": [ - "please" - , "hope" - , "wish" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤝" - , "description": "handshake" - , "category": "People" - , "aliases": [ - "handshake" - ] - , "tags": [ - "deal" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "👍" - , "description": "thumbs up" - , "category": "People" - , "aliases": [ - "+1" - , "thumbsup" - ] - , "tags": [ - "approve" - , "ok" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👎" - , "description": "thumbs down" - , "category": "People" - , "aliases": [ - "-1" - , "thumbsdown" - ] - , "tags": [ - "disapprove" - , "bury" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👊" - , "description": "oncoming fist" - , "category": "People" - , "aliases": [ - "fist_oncoming" - , "facepunch" - , "punch" - ] - , "tags": [ - "attack" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✊" - , "description": "raised fist" - , "category": "People" - , "aliases": [ - "fist_raised" - , "fist" - ] - , "tags": [ - "power" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤛" - , "description": "left-facing fist" - , "category": "People" - , "aliases": [ - "fist_left" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤜" - , "description": "right-facing fist" - , "category": "People" - , "aliases": [ - "fist_right" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤞" - , "description": "crossed fingers" - , "category": "People" - , "aliases": [ - "crossed_fingers" - ] - , "tags": [ - "luck" - , "hopeful" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "✌️" - , "description": "victory hand" - , "category": "People" - , "aliases": [ - "v" - ] - , "tags": [ - "victory" - , "peace" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🤘" - , "description": "sign of the horns" - , "category": "People" - , "aliases": [ - "metal" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "👌" - , "description": "OK hand" - , "category": "People" - , "aliases": [ - "ok_hand" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👈" - , "description": "backhand index pointing left" - , "category": "People" - , "aliases": [ - "point_left" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👉" - , "description": "backhand index pointing right" - , "category": "People" - , "aliases": [ - "point_right" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👆" - , "description": "backhand index pointing up" - , "category": "People" - , "aliases": [ - "point_up_2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👇" - , "description": "backhand index pointing down" - , "category": "People" - , "aliases": [ - "point_down" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☝️" - , "description": "index pointing up" - , "category": "People" - , "aliases": [ - "point_up" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "✋" - , "description": "raised hand" - , "category": "People" - , "aliases": [ - "hand" - , "raised_hand" - ] - , "tags": [ - "highfive" - , "stop" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤚" - , "description": "raised back of hand" - , "category": "People" - , "aliases": [ - "raised_back_of_hand" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🖐" - , "description": "raised hand with fingers splayed" - , "category": "People" - , "aliases": [ - "raised_hand_with_fingers_splayed" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖖" - , "description": "vulcan salute" - , "category": "People" - , "aliases": [ - "vulcan_salute" - ] - , "tags": [ - "prosper" - , "spock" - ] - , "unicode_version": "7.0" - , "ios_version": "8.3" - } -, { - "emoji": "👋" - , "description": "waving hand" - , "category": "People" - , "aliases": [ - "wave" - ] - , "tags": [ - "goodbye" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤙" - , "description": "call me hand" - , "category": "People" - , "aliases": [ - "call_me_hand" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "💪" - , "description": "flexed biceps" - , "category": "People" - , "aliases": [ - "muscle" - ] - , "tags": [ - "flex" - , "bicep" - , "strong" - , "workout" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🖕" - , "description": "middle finger" - , "category": "People" - , "aliases": [ - "middle_finger" - , "fu" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "✍️" - , "description": "writing hand" - , "category": "People" - , "aliases": [ - "writing_hand" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "🤳" - , "description": "selfie" - , "category": "People" - , "aliases": [ - "selfie" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "💅" - , "description": "nail polish" - , "category": "People" - , "aliases": [ - "nail_care" - ] - , "tags": [ - "beauty" - , "manicure" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💍" - , "description": "ring" - , "category": "People" - , "aliases": [ - "ring" - ] - , "tags": [ - "wedding" - , "marriage" - , "engaged" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💄" - , "description": "lipstick" - , "category": "People" - , "aliases": [ - "lipstick" - ] - , "tags": [ - "makeup" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💋" - , "description": "kiss mark" - , "category": "People" - , "aliases": [ - "kiss" - ] - , "tags": [ - "lipstick" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👄" - , "description": "mouth" - , "category": "People" - , "aliases": [ - "lips" - ] - , "tags": [ - "kiss" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👅" - , "description": "tongue" - , "category": "People" - , "aliases": [ - "tongue" - ] - , "tags": [ - "taste" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👂" - , "description": "ear" - , "category": "People" - , "aliases": [ - "ear" - ] - , "tags": [ - "hear" - , "sound" - , "listen" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👃" - , "description": "nose" - , "category": "People" - , "aliases": [ - "nose" - ] - , "tags": [ - "smell" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👣" - , "description": "footprints" - , "category": "People" - , "aliases": [ - "footprints" - ] - , "tags": [ - "feet" - , "tracks" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👁" - , "description": "eye" - , "category": "People" - , "aliases": [ - "eye" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "👀" - , "description": "eyes" - , "category": "People" - , "aliases": [ - "eyes" - ] - , "tags": [ - "look" - , "see" - , "watch" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗣" - , "description": "speaking head" - , "category": "People" - , "aliases": [ - "speaking_head" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "👤" - , "description": "bust in silhouette" - , "category": "People" - , "aliases": [ - "bust_in_silhouette" - ] - , "tags": [ - "user" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👥" - , "description": "busts in silhouette" - , "category": "People" - , "aliases": [ - "busts_in_silhouette" - ] - , "tags": [ - "users" - , "group" - , "team" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👶" - , "description": "baby" - , "category": "People" - , "aliases": [ - "baby" - ] - , "tags": [ - "child" - , "newborn" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👦" - , "description": "boy" - , "category": "People" - , "aliases": [ - "boy" - ] - , "tags": [ - "child" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👧" - , "description": "girl" - , "category": "People" - , "aliases": [ - "girl" - ] - , "tags": [ - "child" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👨" - , "description": "man" - , "category": "People" - , "aliases": [ - "man" - ] - , "tags": [ - "mustache" - , "father" - , "dad" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👩" - , "description": "woman" - , "category": "People" - , "aliases": [ - "woman" - ] - , "tags": [ - "girls" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👱‍♀" - , "description": "blond-haired woman" - , "category": "People" - , "aliases": [ - "blonde_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👱" - , "description": "blond-haired person" - , "category": "People" - , "aliases": [ - "blonde_man" - , "person_with_blond_hair" - ] - , "tags": [ - "boy" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👴" - , "description": "old man" - , "category": "People" - , "aliases": [ - "older_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👵" - , "description": "old woman" - , "category": "People" - , "aliases": [ - "older_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👲" - , "description": "man with Chinese cap" - , "category": "People" - , "aliases": [ - "man_with_gua_pi_mao" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👳‍♀" - , "description": "woman wearing turban" - , "category": "People" - , "aliases": [ - "woman_with_turban" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👳" - , "description": "person wearing turban" - , "category": "People" - , "aliases": [ - "man_with_turban" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👮‍♀" - , "description": "woman police officer" - , "category": "People" - , "aliases": [ - "policewoman" - ] - , "tags": [ - "police" - , "law" - , "cop" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👮" - , "description": "police officer" - , "category": "People" - , "aliases": [ - "policeman" - , "cop" - ] - , "tags": [ - "police" - , "law" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👷‍♀" - , "description": "woman construction worker" - , "category": "People" - , "aliases": [ - "construction_worker_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👷" - , "description": "construction worker" - , "category": "People" - , "aliases": [ - "construction_worker_man" - , "construction_worker" - ] - , "tags": [ - "helmet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💂‍♀" - , "description": "woman guard" - , "category": "People" - , "aliases": [ - "guardswoman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "💂" - , "description": "guard" - , "category": "People" - , "aliases": [ - "guardsman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕵️‍♀️" - , "description": "woman detective" - , "category": "People" - , "aliases": [ - "female_detective" - ] - , "tags": [ - "sleuth" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🕵" - , "description": "detective" - , "category": "People" - , "aliases": [ - "male_detective" - , "detective" - ] - , "tags": [ - "sleuth" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "👩‍⚕" - , "description": "woman health worker" - , "category": "People" - , "aliases": [ - "woman_health_worker" - ] - , "tags": [ - "doctor" - , "nurse" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍⚕" - , "description": "man health worker" - , "category": "People" - , "aliases": [ - "man_health_worker" - ] - , "tags": [ - "doctor" - , "nurse" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🌾" - , "description": "woman farmer" - , "category": "People" - , "aliases": [ - "woman_farmer" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🌾" - , "description": "man farmer" - , "category": "People" - , "aliases": [ - "man_farmer" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🍳" - , "description": "woman cook" - , "category": "People" - , "aliases": [ - "woman_cook" - ] - , "tags": [ - "chef" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🍳" - , "description": "man cook" - , "category": "People" - , "aliases": [ - "man_cook" - ] - , "tags": [ - "chef" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🎓" - , "description": "woman student" - , "category": "People" - , "aliases": [ - "woman_student" - ] - , "tags": [ - "graduation" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🎓" - , "description": "man student" - , "category": "People" - , "aliases": [ - "man_student" - ] - , "tags": [ - "graduation" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🎤" - , "description": "woman singer" - , "category": "People" - , "aliases": [ - "woman_singer" - ] - , "tags": [ - "rockstar" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🎤" - , "description": "man singer" - , "category": "People" - , "aliases": [ - "man_singer" - ] - , "tags": [ - "rockstar" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🏫" - , "description": "woman teacher" - , "category": "People" - , "aliases": [ - "woman_teacher" - ] - , "tags": [ - "school" - , "professor" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🏫" - , "description": "man teacher" - , "category": "People" - , "aliases": [ - "man_teacher" - ] - , "tags": [ - "school" - , "professor" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🏭" - , "description": "woman factory worker" - , "category": "People" - , "aliases": [ - "woman_factory_worker" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🏭" - , "description": "man factory worker" - , "category": "People" - , "aliases": [ - "man_factory_worker" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍💻" - , "description": "woman technologist" - , "category": "People" - , "aliases": [ - "woman_technologist" - ] - , "tags": [ - "coder" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍💻" - , "description": "man technologist" - , "category": "People" - , "aliases": [ - "man_technologist" - ] - , "tags": [ - "coder" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍💼" - , "description": "woman office worker" - , "category": "People" - , "aliases": [ - "woman_office_worker" - ] - , "tags": [ - "business" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍💼" - , "description": "man office worker" - , "category": "People" - , "aliases": [ - "man_office_worker" - ] - , "tags": [ - "business" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🔧" - , "description": "woman mechanic" - , "category": "People" - , "aliases": [ - "woman_mechanic" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🔧" - , "description": "man mechanic" - , "category": "People" - , "aliases": [ - "man_mechanic" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🔬" - , "description": "woman scientist" - , "category": "People" - , "aliases": [ - "woman_scientist" - ] - , "tags": [ - "research" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🔬" - , "description": "man scientist" - , "category": "People" - , "aliases": [ - "man_scientist" - ] - , "tags": [ - "research" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🎨" - , "description": "woman artist" - , "category": "People" - , "aliases": [ - "woman_artist" - ] - , "tags": [ - "painter" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🎨" - , "description": "man artist" - , "category": "People" - , "aliases": [ - "man_artist" - ] - , "tags": [ - "painter" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🚒" - , "description": "woman firefighter" - , "category": "People" - , "aliases": [ - "woman_firefighter" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🚒" - , "description": "man firefighter" - , "category": "People" - , "aliases": [ - "man_firefighter" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍✈" - , "description": "woman pilot" - , "category": "People" - , "aliases": [ - "woman_pilot" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍✈" - , "description": "man pilot" - , "category": "People" - , "aliases": [ - "man_pilot" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍🚀" - , "description": "woman astronaut" - , "category": "People" - , "aliases": [ - "woman_astronaut" - ] - , "tags": [ - "space" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍🚀" - , "description": "man astronaut" - , "category": "People" - , "aliases": [ - "man_astronaut" - ] - , "tags": [ - "space" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👩‍⚖" - , "description": "woman judge" - , "category": "People" - , "aliases": [ - "woman_judge" - ] - , "tags": [ - "justice" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "👨‍⚖" - , "description": "man judge" - , "category": "People" - , "aliases": [ - "man_judge" - ] - , "tags": [ - "justice" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "🤶" - , "description": "Mrs. Claus" - , "category": "People" - , "aliases": [ - "mrs_claus" - ] - , "tags": [ - "santa" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🎅" - , "description": "Santa Claus" - , "category": "People" - , "aliases": [ - "santa" - ] - , "tags": [ - "christmas" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👸" - , "description": "princess" - , "category": "People" - , "aliases": [ - "princess" - ] - , "tags": [ - "blonde" - , "crown" - , "royal" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤴" - , "description": "prince" - , "category": "People" - , "aliases": [ - "prince" - ] - , "tags": [ - "crown" - , "royal" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "👰" - , "description": "bride with veil" - , "category": "People" - , "aliases": [ - "bride_with_veil" - ] - , "tags": [ - "marriage" - , "wedding" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤵" - , "description": "man in tuxedo" - , "category": "People" - , "aliases": [ - "man_in_tuxedo" - ] - , "tags": [ - "groom" - , "marriage" - , "wedding" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "👼" - , "description": "baby angel" - , "category": "People" - , "aliases": [ - "angel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤰" - , "description": "pregnant woman" - , "category": "People" - , "aliases": [ - "pregnant_woman" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🙇‍♀" - , "description": "woman bowing" - , "category": "People" - , "aliases": [ - "bowing_woman" - ] - , "tags": [ - "respect" - , "thanks" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🙇" - , "description": "person bowing" - , "category": "People" - , "aliases": [ - "bowing_man" - , "bow" - ] - , "tags": [ - "respect" - , "thanks" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💁" - , "description": "person tipping hand" - , "category": "People" - , "aliases": [ - "tipping_hand_woman" - , "information_desk_person" - , "sassy_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💁‍♂" - , "description": "man tipping hand" - , "category": "People" - , "aliases": [ - "tipping_hand_man" - , "sassy_man" - ] - , "tags": [ - "information" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🙅" - , "description": "person gesturing NO" - , "category": "People" - , "aliases": [ - "no_good_woman" - , "no_good" - , "ng_woman" - ] - , "tags": [ - "stop" - , "halt" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙅‍♂" - , "description": "man gesturing NO" - , "category": "People" - , "aliases": [ - "no_good_man" - , "ng_man" - ] - , "tags": [ - "stop" - , "halt" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🙆" - , "description": "person gesturing OK" - , "category": "People" - , "aliases": [ - "ok_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙆‍♂" - , "description": "man gesturing OK" - , "category": "People" - , "aliases": [ - "ok_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🙋" - , "description": "person raising hand" - , "category": "People" - , "aliases": [ - "raising_hand_woman" - , "raising_hand" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙋‍♂" - , "description": "man raising hand" - , "category": "People" - , "aliases": [ - "raising_hand_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🤦‍♀" - , "description": "woman facepalming" - , "category": "People" - , "aliases": [ - "woman_facepalming" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤦‍♂" - , "description": "man facepalming" - , "category": "People" - , "aliases": [ - "man_facepalming" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤷‍♀" - , "description": "woman shrugging" - , "category": "People" - , "aliases": [ - "woman_shrugging" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤷‍♂" - , "description": "man shrugging" - , "category": "People" - , "aliases": [ - "man_shrugging" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🙎" - , "description": "person pouting" - , "category": "People" - , "aliases": [ - "pouting_woman" - , "person_with_pouting_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙎‍♂" - , "description": "man pouting" - , "category": "People" - , "aliases": [ - "pouting_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🙍" - , "description": "person frowning" - , "category": "People" - , "aliases": [ - "frowning_woman" - , "person_frowning" - ] - , "tags": [ - "sad" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙍‍♂" - , "description": "man frowning" - , "category": "People" - , "aliases": [ - "frowning_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "💇" - , "description": "person getting haircut" - , "category": "People" - , "aliases": [ - "haircut_woman" - , "haircut" - ] - , "tags": [ - "beauty" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💇‍♂" - , "description": "man getting haircut" - , "category": "People" - , "aliases": [ - "haircut_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "💆" - , "description": "person getting massage" - , "category": "People" - , "aliases": [ - "massage_woman" - , "massage" - ] - , "tags": [ - "spa" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💆‍♂" - , "description": "man getting massage" - , "category": "People" - , "aliases": [ - "massage_man" - ] - , "tags": [ - "spa" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🕴" - , "description": "man in business suit levitating" - , "category": "People" - , "aliases": [ - "business_suit_levitating" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "💃" - , "description": "woman dancing" - , "category": "People" - , "aliases": [ - "dancer" - ] - , "tags": [ - "dress" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕺" - , "description": "man dancing" - , "category": "People" - , "aliases": [ - "man_dancing" - ] - , "tags": [ - "dancer" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "👯" - , "description": "people with bunny ears partying" - , "category": "People" - , "aliases": [ - "dancing_women" - , "dancers" - ] - , "tags": [ - "bunny" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👯‍♂" - , "description": "men with bunny ears partying" - , "category": "People" - , "aliases": [ - "dancing_men" - ] - , "tags": [ - "bunny" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🚶‍♀" - , "description": "woman walking" - , "category": "People" - , "aliases": [ - "walking_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🚶" - , "description": "person walking" - , "category": "People" - , "aliases": [ - "walking_man" - , "walking" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏃‍♀" - , "description": "woman running" - , "category": "People" - , "aliases": [ - "running_woman" - ] - , "tags": [ - "exercise" - , "workout" - , "marathon" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🏃" - , "description": "person running" - , "category": "People" - , "aliases": [ - "running_man" - , "runner" - , "running" - ] - , "tags": [ - "exercise" - , "workout" - , "marathon" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👫" - , "description": "man and woman holding hands" - , "category": "People" - , "aliases": [ - "couple" - ] - , "tags": [ - "date" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👭" - , "description": "two women holding hands" - , "category": "People" - , "aliases": [ - "two_women_holding_hands" - ] - , "tags": [ - "couple" - , "date" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👬" - , "description": "two men holding hands" - , "category": "People" - , "aliases": [ - "two_men_holding_hands" - ] - , "tags": [ - "couple" - , "date" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💑" - , "description": "couple with heart" - , "category": "People" - , "aliases": [ - "couple_with_heart_woman_man" - , "couple_with_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👩‍❤️‍👩" - , "description": "couple with heart: woman, woman" - , "category": "People" - , "aliases": [ - "couple_with_heart_woman_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍❤️‍👨" - , "description": "couple with heart: man, man" - , "category": "People" - , "aliases": [ - "couple_with_heart_man_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "💏" - , "description": "kiss" - , "category": "People" - , "aliases": [ - "couplekiss_man_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👩‍❤️‍💋‍👩" - , "description": "kiss: woman, woman" - , "category": "People" - , "aliases": [ - "couplekiss_woman_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍❤️‍💋‍👨" - , "description": "kiss: man, man" - , "category": "People" - , "aliases": [ - "couplekiss_man_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👪" - , "description": "family" - , "category": "People" - , "aliases": [ - "family_man_woman_boy" - , "family" - ] - , "tags": [ - "home" - , "parents" - , "child" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👨‍👩‍👧" - , "description": "family: man, woman, girl" - , "category": "People" - , "aliases": [ - "family_man_woman_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👩‍👧‍👦" - , "description": "family: man, woman, girl, boy" - , "category": "People" - , "aliases": [ - "family_man_woman_girl_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👩‍👦‍👦" - , "description": "family: man, woman, boy, boy" - , "category": "People" - , "aliases": [ - "family_man_woman_boy_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👩‍👧‍👧" - , "description": "family: man, woman, girl, girl" - , "category": "People" - , "aliases": [ - "family_man_woman_girl_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👩‍👩‍👦" - , "description": "family: woman, woman, boy" - , "category": "People" - , "aliases": [ - "family_woman_woman_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👩‍👩‍👧" - , "description": "family: woman, woman, girl" - , "category": "People" - , "aliases": [ - "family_woman_woman_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👩‍👩‍👧‍👦" - , "description": "family: woman, woman, girl, boy" - , "category": "People" - , "aliases": [ - "family_woman_woman_girl_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👩‍👩‍👦‍👦" - , "description": "family: woman, woman, boy, boy" - , "category": "People" - , "aliases": [ - "family_woman_woman_boy_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👩‍👩‍👧‍👧" - , "description": "family: woman, woman, girl, girl" - , "category": "People" - , "aliases": [ - "family_woman_woman_girl_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👨‍👦" - , "description": "family: man, man, boy" - , "category": "People" - , "aliases": [ - "family_man_man_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👨‍👧" - , "description": "family: man, man, girl" - , "category": "People" - , "aliases": [ - "family_man_man_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👨‍👧‍👦" - , "description": "family: man, man, girl, boy" - , "category": "People" - , "aliases": [ - "family_man_man_girl_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👨‍👦‍👦" - , "description": "family: man, man, boy, boy" - , "category": "People" - , "aliases": [ - "family_man_man_boy_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👨‍👨‍👧‍👧" - , "description": "family: man, man, girl, girl" - , "category": "People" - , "aliases": [ - "family_man_man_girl_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "👩‍👦" - , "description": "family: woman, boy" - , "category": "People" - , "aliases": [ - "family_woman_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👩‍👧" - , "description": "family: woman, girl" - , "category": "People" - , "aliases": [ - "family_woman_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👩‍👧‍👦" - , "description": "family: woman, girl, boy" - , "category": "People" - , "aliases": [ - "family_woman_girl_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👩‍👦‍👦" - , "description": "family: woman, boy, boy" - , "category": "People" - , "aliases": [ - "family_woman_boy_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👩‍👧‍👧" - , "description": "family: woman, girl, girl" - , "category": "People" - , "aliases": [ - "family_woman_girl_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👨‍👦" - , "description": "family: man, boy" - , "category": "People" - , "aliases": [ - "family_man_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👨‍👧" - , "description": "family: man, girl" - , "category": "People" - , "aliases": [ - "family_man_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👨‍👧‍👦" - , "description": "family: man, girl, boy" - , "category": "People" - , "aliases": [ - "family_man_girl_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👨‍👦‍👦" - , "description": "family: man, boy, boy" - , "category": "People" - , "aliases": [ - "family_man_boy_boy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👨‍👧‍👧" - , "description": "family: man, girl, girl" - , "category": "People" - , "aliases": [ - "family_man_girl_girl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "👚" - , "description": "woman’s clothes" - , "category": "People" - , "aliases": [ - "womans_clothes" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👕" - , "description": "t-shirt" - , "category": "People" - , "aliases": [ - "shirt" - , "tshirt" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👖" - , "description": "jeans" - , "category": "People" - , "aliases": [ - "jeans" - ] - , "tags": [ - "pants" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👔" - , "description": "necktie" - , "category": "People" - , "aliases": [ - "necktie" - ] - , "tags": [ - "shirt" - , "formal" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👗" - , "description": "dress" - , "category": "People" - , "aliases": [ - "dress" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👙" - , "description": "bikini" - , "category": "People" - , "aliases": [ - "bikini" - ] - , "tags": [ - "beach" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👘" - , "description": "kimono" - , "category": "People" - , "aliases": [ - "kimono" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👠" - , "description": "high-heeled shoe" - , "category": "People" - , "aliases": [ - "high_heel" - ] - , "tags": [ - "shoe" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👡" - , "description": "woman’s sandal" - , "category": "People" - , "aliases": [ - "sandal" - ] - , "tags": [ - "shoe" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👢" - , "description": "woman’s boot" - , "category": "People" - , "aliases": [ - "boot" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👞" - , "description": "man’s shoe" - , "category": "People" - , "aliases": [ - "mans_shoe" - , "shoe" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👟" - , "description": "running shoe" - , "category": "People" - , "aliases": [ - "athletic_shoe" - ] - , "tags": [ - "sneaker" - , "sport" - , "running" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👒" - , "description": "woman’s hat" - , "category": "People" - , "aliases": [ - "womans_hat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎩" - , "description": "top hat" - , "category": "People" - , "aliases": [ - "tophat" - ] - , "tags": [ - "hat" - , "classy" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎓" - , "description": "graduation cap" - , "category": "People" - , "aliases": [ - "mortar_board" - ] - , "tags": [ - "education" - , "college" - , "university" - , "graduation" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👑" - , "description": "crown" - , "category": "People" - , "aliases": [ - "crown" - ] - , "tags": [ - "king" - , "queen" - , "royal" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⛑" - , "description": "rescue worker’s helmet" - , "category": "People" - , "aliases": [ - "rescue_worker_helmet" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🎒" - , "description": "school backpack" - , "category": "People" - , "aliases": [ - "school_satchel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👝" - , "description": "clutch bag" - , "category": "People" - , "aliases": [ - "pouch" - ] - , "tags": [ - "bag" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👛" - , "description": "purse" - , "category": "People" - , "aliases": [ - "purse" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👜" - , "description": "handbag" - , "category": "People" - , "aliases": [ - "handbag" - ] - , "tags": [ - "bag" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💼" - , "description": "briefcase" - , "category": "People" - , "aliases": [ - "briefcase" - ] - , "tags": [ - "business" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👓" - , "description": "glasses" - , "category": "People" - , "aliases": [ - "eyeglasses" - ] - , "tags": [ - "glasses" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕶" - , "description": "sunglasses" - , "category": "People" - , "aliases": [ - "dark_sunglasses" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌂" - , "description": "closed umbrella" - , "category": "People" - , "aliases": [ - "closed_umbrella" - ] - , "tags": [ - "weather" - , "rain" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☂️" - , "description": "umbrella" - , "category": "People" - , "aliases": [ - "open_umbrella" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "🐶" - , "description": "dog face" - , "category": "Nature" - , "aliases": [ - "dog" - ] - , "tags": [ - "pet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐱" - , "description": "cat face" - , "category": "Nature" - , "aliases": [ - "cat" - ] - , "tags": [ - "pet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐭" - , "description": "mouse face" - , "category": "Nature" - , "aliases": [ - "mouse" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐹" - , "description": "hamster face" - , "category": "Nature" - , "aliases": [ - "hamster" - ] - , "tags": [ - "pet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐰" - , "description": "rabbit face" - , "category": "Nature" - , "aliases": [ - "rabbit" - ] - , "tags": [ - "bunny" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦊" - , "description": "fox face" - , "category": "Nature" - , "aliases": [ - "fox_face" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐻" - , "description": "bear face" - , "category": "Nature" - , "aliases": [ - "bear" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐼" - , "description": "panda face" - , "category": "Nature" - , "aliases": [ - "panda_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐨" - , "description": "koala" - , "category": "Nature" - , "aliases": [ - "koala" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐯" - , "description": "tiger face" - , "category": "Nature" - , "aliases": [ - "tiger" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦁" - , "description": "lion face" - , "category": "Nature" - , "aliases": [ - "lion" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🐮" - , "description": "cow face" - , "category": "Nature" - , "aliases": [ - "cow" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐷" - , "description": "pig face" - , "category": "Nature" - , "aliases": [ - "pig" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐽" - , "description": "pig nose" - , "category": "Nature" - , "aliases": [ - "pig_nose" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐸" - , "description": "frog face" - , "category": "Nature" - , "aliases": [ - "frog" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐵" - , "description": "monkey face" - , "category": "Nature" - , "aliases": [ - "monkey_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙈" - , "description": "see-no-evil monkey" - , "category": "Nature" - , "aliases": [ - "see_no_evil" - ] - , "tags": [ - "monkey" - , "blind" - , "ignore" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙉" - , "description": "hear-no-evil monkey" - , "category": "Nature" - , "aliases": [ - "hear_no_evil" - ] - , "tags": [ - "monkey" - , "deaf" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🙊" - , "description": "speak-no-evil monkey" - , "category": "Nature" - , "aliases": [ - "speak_no_evil" - ] - , "tags": [ - "monkey" - , "mute" - , "hush" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐒" - , "description": "monkey" - , "category": "Nature" - , "aliases": [ - "monkey" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐔" - , "description": "chicken" - , "category": "Nature" - , "aliases": [ - "chicken" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐧" - , "description": "penguin" - , "category": "Nature" - , "aliases": [ - "penguin" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐦" - , "description": "bird" - , "category": "Nature" - , "aliases": [ - "bird" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐤" - , "description": "baby chick" - , "category": "Nature" - , "aliases": [ - "baby_chick" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐣" - , "description": "hatching chick" - , "category": "Nature" - , "aliases": [ - "hatching_chick" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐥" - , "description": "front-facing baby chick" - , "category": "Nature" - , "aliases": [ - "hatched_chick" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦆" - , "description": "duck" - , "category": "Nature" - , "aliases": [ - "duck" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🦅" - , "description": "eagle" - , "category": "Nature" - , "aliases": [ - "eagle" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🦉" - , "description": "owl" - , "category": "Nature" - , "aliases": [ - "owl" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🦇" - , "description": "bat" - , "category": "Nature" - , "aliases": [ - "bat" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐺" - , "description": "wolf face" - , "category": "Nature" - , "aliases": [ - "wolf" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐗" - , "description": "boar" - , "category": "Nature" - , "aliases": [ - "boar" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐴" - , "description": "horse face" - , "category": "Nature" - , "aliases": [ - "horse" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦄" - , "description": "unicorn face" - , "category": "Nature" - , "aliases": [ - "unicorn" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🐝" - , "description": "honeybee" - , "category": "Nature" - , "aliases": [ - "bee" - , "honeybee" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐛" - , "description": "bug" - , "category": "Nature" - , "aliases": [ - "bug" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦋" - , "description": "butterfly" - , "category": "Nature" - , "aliases": [ - "butterfly" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐌" - , "description": "snail" - , "category": "Nature" - , "aliases": [ - "snail" - ] - , "tags": [ - "slow" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐚" - , "description": "spiral shell" - , "category": "Nature" - , "aliases": [ - "shell" - ] - , "tags": [ - "sea" - , "beach" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐞" - , "description": "lady beetle" - , "category": "Nature" - , "aliases": [ - "beetle" - ] - , "tags": [ - "bug" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐜" - , "description": "ant" - , "category": "Nature" - , "aliases": [ - "ant" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕷" - , "description": "spider" - , "category": "Nature" - , "aliases": [ - "spider" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🕸" - , "description": "spider web" - , "category": "Nature" - , "aliases": [ - "spider_web" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🐢" - , "description": "turtle" - , "category": "Nature" - , "aliases": [ - "turtle" - ] - , "tags": [ - "slow" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐍" - , "description": "snake" - , "category": "Nature" - , "aliases": [ - "snake" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦎" - , "description": "lizard" - , "category": "Nature" - , "aliases": [ - "lizard" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🦂" - , "description": "scorpion" - , "category": "Nature" - , "aliases": [ - "scorpion" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🦀" - , "description": "crab" - , "category": "Nature" - , "aliases": [ - "crab" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🦑" - , "description": "squid" - , "category": "Nature" - , "aliases": [ - "squid" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐙" - , "description": "octopus" - , "category": "Nature" - , "aliases": [ - "octopus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦐" - , "description": "shrimp" - , "category": "Nature" - , "aliases": [ - "shrimp" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐠" - , "description": "tropical fish" - , "category": "Nature" - , "aliases": [ - "tropical_fish" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐟" - , "description": "fish" - , "category": "Nature" - , "aliases": [ - "fish" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐡" - , "description": "blowfish" - , "category": "Nature" - , "aliases": [ - "blowfish" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐬" - , "description": "dolphin" - , "category": "Nature" - , "aliases": [ - "dolphin" - , "flipper" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦈" - , "description": "shark" - , "category": "Nature" - , "aliases": [ - "shark" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐳" - , "description": "spouting whale" - , "category": "Nature" - , "aliases": [ - "whale" - ] - , "tags": [ - "sea" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐋" - , "description": "whale" - , "category": "Nature" - , "aliases": [ - "whale2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐊" - , "description": "crocodile" - , "category": "Nature" - , "aliases": [ - "crocodile" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐆" - , "description": "leopard" - , "category": "Nature" - , "aliases": [ - "leopard" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐅" - , "description": "tiger" - , "category": "Nature" - , "aliases": [ - "tiger2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐃" - , "description": "water buffalo" - , "category": "Nature" - , "aliases": [ - "water_buffalo" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐂" - , "description": "ox" - , "category": "Nature" - , "aliases": [ - "ox" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐄" - , "description": "cow" - , "category": "Nature" - , "aliases": [ - "cow2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦌" - , "description": "deer" - , "category": "Nature" - , "aliases": [ - "deer" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐪" - , "description": "camel" - , "category": "Nature" - , "aliases": [ - "dromedary_camel" - ] - , "tags": [ - "desert" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐫" - , "description": "two-hump camel" - , "category": "Nature" - , "aliases": [ - "camel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐘" - , "description": "elephant" - , "category": "Nature" - , "aliases": [ - "elephant" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦏" - , "description": "rhinoceros" - , "category": "Nature" - , "aliases": [ - "rhinoceros" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🦍" - , "description": "gorilla" - , "category": "Nature" - , "aliases": [ - "gorilla" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🐎" - , "description": "horse" - , "category": "Nature" - , "aliases": [ - "racehorse" - ] - , "tags": [ - "speed" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐖" - , "description": "pig" - , "category": "Nature" - , "aliases": [ - "pig2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐐" - , "description": "goat" - , "category": "Nature" - , "aliases": [ - "goat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐏" - , "description": "ram" - , "category": "Nature" - , "aliases": [ - "ram" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐑" - , "description": "sheep" - , "category": "Nature" - , "aliases": [ - "sheep" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐕" - , "description": "dog" - , "category": "Nature" - , "aliases": [ - "dog2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐩" - , "description": "poodle" - , "category": "Nature" - , "aliases": [ - "poodle" - ] - , "tags": [ - "dog" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐈" - , "description": "cat" - , "category": "Nature" - , "aliases": [ - "cat2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐓" - , "description": "rooster" - , "category": "Nature" - , "aliases": [ - "rooster" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🦃" - , "description": "turkey" - , "category": "Nature" - , "aliases": [ - "turkey" - ] - , "tags": [ - "thanksgiving" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🕊" - , "description": "dove" - , "category": "Nature" - , "aliases": [ - "dove" - ] - , "tags": [ - "peace" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🐇" - , "description": "rabbit" - , "category": "Nature" - , "aliases": [ - "rabbit2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐁" - , "description": "mouse" - , "category": "Nature" - , "aliases": [ - "mouse2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐀" - , "description": "rat" - , "category": "Nature" - , "aliases": [ - "rat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐿" - , "description": "chipmunk" - , "category": "Nature" - , "aliases": [ - "chipmunk" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🐾" - , "description": "paw prints" - , "category": "Nature" - , "aliases": [ - "feet" - , "paw_prints" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐉" - , "description": "dragon" - , "category": "Nature" - , "aliases": [ - "dragon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🐲" - , "description": "dragon face" - , "category": "Nature" - , "aliases": [ - "dragon_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌵" - , "description": "cactus" - , "category": "Nature" - , "aliases": [ - "cactus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎄" - , "description": "Christmas tree" - , "category": "Nature" - , "aliases": [ - "christmas_tree" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌲" - , "description": "evergreen tree" - , "category": "Nature" - , "aliases": [ - "evergreen_tree" - ] - , "tags": [ - "wood" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌳" - , "description": "deciduous tree" - , "category": "Nature" - , "aliases": [ - "deciduous_tree" - ] - , "tags": [ - "wood" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌴" - , "description": "palm tree" - , "category": "Nature" - , "aliases": [ - "palm_tree" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌱" - , "description": "seedling" - , "category": "Nature" - , "aliases": [ - "seedling" - ] - , "tags": [ - "plant" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌿" - , "description": "herb" - , "category": "Nature" - , "aliases": [ - "herb" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☘️" - , "description": "shamrock" - , "category": "Nature" - , "aliases": [ - "shamrock" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🍀" - , "description": "four leaf clover" - , "category": "Nature" - , "aliases": [ - "four_leaf_clover" - ] - , "tags": [ - "luck" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎍" - , "description": "pine decoration" - , "category": "Nature" - , "aliases": [ - "bamboo" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎋" - , "description": "tanabata tree" - , "category": "Nature" - , "aliases": [ - "tanabata_tree" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍃" - , "description": "leaf fluttering in wind" - , "category": "Nature" - , "aliases": [ - "leaves" - ] - , "tags": [ - "leaf" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍂" - , "description": "fallen leaf" - , "category": "Nature" - , "aliases": [ - "fallen_leaf" - ] - , "tags": [ - "autumn" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍁" - , "description": "maple leaf" - , "category": "Nature" - , "aliases": [ - "maple_leaf" - ] - , "tags": [ - "canada" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍄" - , "description": "mushroom" - , "category": "Nature" - , "aliases": [ - "mushroom" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌾" - , "description": "sheaf of rice" - , "category": "Nature" - , "aliases": [ - "ear_of_rice" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💐" - , "description": "bouquet" - , "category": "Nature" - , "aliases": [ - "bouquet" - ] - , "tags": [ - "flowers" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌷" - , "description": "tulip" - , "category": "Nature" - , "aliases": [ - "tulip" - ] - , "tags": [ - "flower" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌹" - , "description": "rose" - , "category": "Nature" - , "aliases": [ - "rose" - ] - , "tags": [ - "flower" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥀" - , "description": "wilted flower" - , "category": "Nature" - , "aliases": [ - "wilted_flower" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🌻" - , "description": "sunflower" - , "category": "Nature" - , "aliases": [ - "sunflower" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌼" - , "description": "blossom" - , "category": "Nature" - , "aliases": [ - "blossom" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌸" - , "description": "cherry blossom" - , "category": "Nature" - , "aliases": [ - "cherry_blossom" - ] - , "tags": [ - "flower" - , "spring" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌺" - , "description": "hibiscus" - , "category": "Nature" - , "aliases": [ - "hibiscus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌎" - , "description": "globe showing Americas" - , "category": "Nature" - , "aliases": [ - "earth_americas" - ] - , "tags": [ - "globe" - , "world" - , "international" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌍" - , "description": "globe showing Europe-Africa" - , "category": "Nature" - , "aliases": [ - "earth_africa" - ] - , "tags": [ - "globe" - , "world" - , "international" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌏" - , "description": "globe showing Asia-Australia" - , "category": "Nature" - , "aliases": [ - "earth_asia" - ] - , "tags": [ - "globe" - , "world" - , "international" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌕" - , "description": "full moon" - , "category": "Nature" - , "aliases": [ - "full_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌖" - , "description": "waning gibbous moon" - , "category": "Nature" - , "aliases": [ - "waning_gibbous_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌗" - , "description": "last quarter moon" - , "category": "Nature" - , "aliases": [ - "last_quarter_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌘" - , "description": "waning crescent moon" - , "category": "Nature" - , "aliases": [ - "waning_crescent_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌑" - , "description": "new moon" - , "category": "Nature" - , "aliases": [ - "new_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌒" - , "description": "waxing crescent moon" - , "category": "Nature" - , "aliases": [ - "waxing_crescent_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌓" - , "description": "first quarter moon" - , "category": "Nature" - , "aliases": [ - "first_quarter_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌔" - , "description": "waxing gibbous moon" - , "category": "Nature" - , "aliases": [ - "moon" - , "waxing_gibbous_moon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌚" - , "description": "new moon face" - , "category": "Nature" - , "aliases": [ - "new_moon_with_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌝" - , "description": "full moon with face" - , "category": "Nature" - , "aliases": [ - "full_moon_with_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌞" - , "description": "sun with face" - , "category": "Nature" - , "aliases": [ - "sun_with_face" - ] - , "tags": [ - "summer" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌛" - , "description": "first quarter moon with face" - , "category": "Nature" - , "aliases": [ - "first_quarter_moon_with_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌜" - , "description": "last quarter moon with face" - , "category": "Nature" - , "aliases": [ - "last_quarter_moon_with_face" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌙" - , "description": "crescent moon" - , "category": "Nature" - , "aliases": [ - "crescent_moon" - ] - , "tags": [ - "night" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💫" - , "description": "dizzy" - , "category": "Nature" - , "aliases": [ - "dizzy" - ] - , "tags": [ - "star" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⭐️" - , "description": "white medium star" - , "category": "Nature" - , "aliases": [ - "star" - ] - , "tags": [ - ] - , "unicode_version": "5.1" - , "ios_version": "6.0" - } -, { - "emoji": "🌟" - , "description": "glowing star" - , "category": "Nature" - , "aliases": [ - "star2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✨" - , "description": "sparkles" - , "category": "Nature" - , "aliases": [ - "sparkles" - ] - , "tags": [ - "shiny" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚡️" - , "description": "high voltage" - , "category": "Nature" - , "aliases": [ - "zap" - ] - , "tags": [ - "lightning" - , "thunder" - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔥" - , "description": "fire" - , "category": "Nature" - , "aliases": [ - "fire" - ] - , "tags": [ - "burn" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💥" - , "description": "collision" - , "category": "Nature" - , "aliases": [ - "boom" - , "collision" - ] - , "tags": [ - "explode" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☄" - , "description": "comet" - , "category": "Nature" - , "aliases": [ - "comet" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "☀️" - , "description": "sun" - , "category": "Nature" - , "aliases": [ - "sunny" - ] - , "tags": [ - "weather" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🌤" - , "description": "sun behind small cloud" - , "category": "Nature" - , "aliases": [ - "sun_behind_small_cloud" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛅️" - , "description": "sun behind cloud" - , "category": "Nature" - , "aliases": [ - "partly_sunny" - ] - , "tags": [ - "weather" - , "cloud" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🌥" - , "description": "sun behind large cloud" - , "category": "Nature" - , "aliases": [ - "sun_behind_large_cloud" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌦" - , "description": "sun behind rain cloud" - , "category": "Nature" - , "aliases": [ - "sun_behind_rain_cloud" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌈" - , "description": "rainbow" - , "category": "Nature" - , "aliases": [ - "rainbow" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☁️" - , "description": "cloud" - , "category": "Nature" - , "aliases": [ - "cloud" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🌧" - , "description": "cloud with rain" - , "category": "Nature" - , "aliases": [ - "cloud_with_rain" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛈" - , "description": "cloud with lightning and rain" - , "category": "Nature" - , "aliases": [ - "cloud_with_lightning_and_rain" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🌩" - , "description": "cloud with lightning" - , "category": "Nature" - , "aliases": [ - "cloud_with_lightning" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌨" - , "description": "cloud with snow" - , "category": "Nature" - , "aliases": [ - "cloud_with_snow" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "☃️" - , "description": "snowman" - , "category": "Nature" - , "aliases": [ - "snowman_with_snow" - ] - , "tags": [ - "winter" - , "christmas" - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "⛄️" - , "description": "snowman without snow" - , "category": "Nature" - , "aliases": [ - "snowman" - ] - , "tags": [ - "winter" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "❄️" - , "description": "snowflake" - , "category": "Nature" - , "aliases": [ - "snowflake" - ] - , "tags": [ - "winter" - , "cold" - , "weather" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🌬" - , "description": "wind face" - , "category": "Nature" - , "aliases": [ - "wind_face" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "💨" - , "description": "dashing away" - , "category": "Nature" - , "aliases": [ - "dash" - ] - , "tags": [ - "wind" - , "blow" - , "fast" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌪" - , "description": "tornado" - , "category": "Nature" - , "aliases": [ - "tornado" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌫" - , "description": "fog" - , "category": "Nature" - , "aliases": [ - "fog" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌊" - , "description": "water wave" - , "category": "Nature" - , "aliases": [ - "ocean" - ] - , "tags": [ - "sea" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💧" - , "description": "droplet" - , "category": "Nature" - , "aliases": [ - "droplet" - ] - , "tags": [ - "water" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💦" - , "description": "sweat droplets" - , "category": "Nature" - , "aliases": [ - "sweat_drops" - ] - , "tags": [ - "water" - , "workout" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☔️" - , "description": "umbrella with rain drops" - , "category": "Nature" - , "aliases": [ - "umbrella" - ] - , "tags": [ - "rain" - , "weather" - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍏" - , "description": "green apple" - , "category": "Foods" - , "aliases": [ - "green_apple" - ] - , "tags": [ - "fruit" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍎" - , "description": "red apple" - , "category": "Foods" - , "aliases": [ - "apple" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍐" - , "description": "pear" - , "category": "Foods" - , "aliases": [ - "pear" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍊" - , "description": "tangerine" - , "category": "Foods" - , "aliases": [ - "tangerine" - , "orange" - , "mandarin" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍋" - , "description": "lemon" - , "category": "Foods" - , "aliases": [ - "lemon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍌" - , "description": "banana" - , "category": "Foods" - , "aliases": [ - "banana" - ] - , "tags": [ - "fruit" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍉" - , "description": "watermelon" - , "category": "Foods" - , "aliases": [ - "watermelon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍇" - , "description": "grapes" - , "category": "Foods" - , "aliases": [ - "grapes" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍓" - , "description": "strawberry" - , "category": "Foods" - , "aliases": [ - "strawberry" - ] - , "tags": [ - "fruit" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍈" - , "description": "melon" - , "category": "Foods" - , "aliases": [ - "melon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍒" - , "description": "cherries" - , "category": "Foods" - , "aliases": [ - "cherries" - ] - , "tags": [ - "fruit" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍑" - , "description": "peach" - , "category": "Foods" - , "aliases": [ - "peach" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍍" - , "description": "pineapple" - , "category": "Foods" - , "aliases": [ - "pineapple" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥝" - , "description": "kiwi fruit" - , "category": "Foods" - , "aliases": [ - "kiwi_fruit" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥑" - , "description": "avocado" - , "category": "Foods" - , "aliases": [ - "avocado" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍅" - , "description": "tomato" - , "category": "Foods" - , "aliases": [ - "tomato" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍆" - , "description": "eggplant" - , "category": "Foods" - , "aliases": [ - "eggplant" - ] - , "tags": [ - "aubergine" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥒" - , "description": "cucumber" - , "category": "Foods" - , "aliases": [ - "cucumber" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥕" - , "description": "carrot" - , "category": "Foods" - , "aliases": [ - "carrot" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🌽" - , "description": "ear of corn" - , "category": "Foods" - , "aliases": [ - "corn" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌶" - , "description": "hot pepper" - , "category": "Foods" - , "aliases": [ - "hot_pepper" - ] - , "tags": [ - "spicy" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🥔" - , "description": "potato" - , "category": "Foods" - , "aliases": [ - "potato" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍠" - , "description": "roasted sweet potato" - , "category": "Foods" - , "aliases": [ - "sweet_potato" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌰" - , "description": "chestnut" - , "category": "Foods" - , "aliases": [ - "chestnut" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥜" - , "description": "peanuts" - , "category": "Foods" - , "aliases": [ - "peanuts" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍯" - , "description": "honey pot" - , "category": "Foods" - , "aliases": [ - "honey_pot" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥐" - , "description": "croissant" - , "category": "Foods" - , "aliases": [ - "croissant" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍞" - , "description": "bread" - , "category": "Foods" - , "aliases": [ - "bread" - ] - , "tags": [ - "toast" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥖" - , "description": "baguette bread" - , "category": "Foods" - , "aliases": [ - "baguette_bread" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🧀" - , "description": "cheese wedge" - , "category": "Foods" - , "aliases": [ - "cheese" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🥚" - , "description": "egg" - , "category": "Foods" - , "aliases": [ - "egg" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍳" - , "description": "cooking" - , "category": "Foods" - , "aliases": [ - "fried_egg" - ] - , "tags": [ - "breakfast" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥓" - , "description": "bacon" - , "category": "Foods" - , "aliases": [ - "bacon" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥞" - , "description": "pancakes" - , "category": "Foods" - , "aliases": [ - "pancakes" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍤" - , "description": "fried shrimp" - , "category": "Foods" - , "aliases": [ - "fried_shrimp" - ] - , "tags": [ - "tempura" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍗" - , "description": "poultry leg" - , "category": "Foods" - , "aliases": [ - "poultry_leg" - ] - , "tags": [ - "meat" - , "chicken" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍖" - , "description": "meat on bone" - , "category": "Foods" - , "aliases": [ - "meat_on_bone" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍕" - , "description": "pizza" - , "category": "Foods" - , "aliases": [ - "pizza" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌭" - , "description": "hot dog" - , "category": "Foods" - , "aliases": [ - "hotdog" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🍔" - , "description": "hamburger" - , "category": "Foods" - , "aliases": [ - "hamburger" - ] - , "tags": [ - "burger" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍟" - , "description": "french fries" - , "category": "Foods" - , "aliases": [ - "fries" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥙" - , "description": "stuffed flatbread" - , "category": "Foods" - , "aliases": [ - "stuffed_flatbread" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🌮" - , "description": "taco" - , "category": "Foods" - , "aliases": [ - "taco" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌯" - , "description": "burrito" - , "category": "Foods" - , "aliases": [ - "burrito" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🥗" - , "description": "green salad" - , "category": "Foods" - , "aliases": [ - "green_salad" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥘" - , "description": "shallow pan of food" - , "category": "Foods" - , "aliases": [ - "shallow_pan_of_food" - ] - , "tags": [ - "paella" - , "curry" - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "🍝" - , "description": "spaghetti" - , "category": "Foods" - , "aliases": [ - "spaghetti" - ] - , "tags": [ - "pasta" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍜" - , "description": "steaming bowl" - , "category": "Foods" - , "aliases": [ - "ramen" - ] - , "tags": [ - "noodle" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍲" - , "description": "pot of food" - , "category": "Foods" - , "aliases": [ - "stew" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍥" - , "description": "fish cake with swirl" - , "category": "Foods" - , "aliases": [ - "fish_cake" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍣" - , "description": "sushi" - , "category": "Foods" - , "aliases": [ - "sushi" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍱" - , "description": "bento box" - , "category": "Foods" - , "aliases": [ - "bento" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍛" - , "description": "curry rice" - , "category": "Foods" - , "aliases": [ - "curry" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍚" - , "description": "cooked rice" - , "category": "Foods" - , "aliases": [ - "rice" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍙" - , "description": "rice ball" - , "category": "Foods" - , "aliases": [ - "rice_ball" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍘" - , "description": "rice cracker" - , "category": "Foods" - , "aliases": [ - "rice_cracker" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍢" - , "description": "oden" - , "category": "Foods" - , "aliases": [ - "oden" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍡" - , "description": "dango" - , "category": "Foods" - , "aliases": [ - "dango" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍧" - , "description": "shaved ice" - , "category": "Foods" - , "aliases": [ - "shaved_ice" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍨" - , "description": "ice cream" - , "category": "Foods" - , "aliases": [ - "ice_cream" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍦" - , "description": "soft ice cream" - , "category": "Foods" - , "aliases": [ - "icecream" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍰" - , "description": "shortcake" - , "category": "Foods" - , "aliases": [ - "cake" - ] - , "tags": [ - "dessert" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎂" - , "description": "birthday cake" - , "category": "Foods" - , "aliases": [ - "birthday" - ] - , "tags": [ - "party" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍮" - , "description": "custard" - , "category": "Foods" - , "aliases": [ - "custard" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍭" - , "description": "lollipop" - , "category": "Foods" - , "aliases": [ - "lollipop" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍬" - , "description": "candy" - , "category": "Foods" - , "aliases": [ - "candy" - ] - , "tags": [ - "sweet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍫" - , "description": "chocolate bar" - , "category": "Foods" - , "aliases": [ - "chocolate_bar" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍿" - , "description": "popcorn" - , "category": "Foods" - , "aliases": [ - "popcorn" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🍩" - , "description": "doughnut" - , "category": "Foods" - , "aliases": [ - "doughnut" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍪" - , "description": "cookie" - , "category": "Foods" - , "aliases": [ - "cookie" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥛" - , "description": "glass of milk" - , "category": "Foods" - , "aliases": [ - "milk_glass" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍼" - , "description": "baby bottle" - , "category": "Foods" - , "aliases": [ - "baby_bottle" - ] - , "tags": [ - "milk" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☕️" - , "description": "hot beverage" - , "category": "Foods" - , "aliases": [ - "coffee" - ] - , "tags": [ - "cafe" - , "espresso" - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍵" - , "description": "teacup without handle" - , "category": "Foods" - , "aliases": [ - "tea" - ] - , "tags": [ - "green" - , "breakfast" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍶" - , "description": "sake" - , "category": "Foods" - , "aliases": [ - "sake" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍺" - , "description": "beer mug" - , "category": "Foods" - , "aliases": [ - "beer" - ] - , "tags": [ - "drink" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍻" - , "description": "clinking beer mugs" - , "category": "Foods" - , "aliases": [ - "beers" - ] - , "tags": [ - "drinks" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥂" - , "description": "clinking glasses" - , "category": "Foods" - , "aliases": [ - "clinking_glasses" - ] - , "tags": [ - "cheers" - , "toast" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍷" - , "description": "wine glass" - , "category": "Foods" - , "aliases": [ - "wine_glass" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥃" - , "description": "tumbler glass" - , "category": "Foods" - , "aliases": [ - "tumbler_glass" - ] - , "tags": [ - "whisky" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍸" - , "description": "cocktail glass" - , "category": "Foods" - , "aliases": [ - "cocktail" - ] - , "tags": [ - "drink" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍹" - , "description": "tropical drink" - , "category": "Foods" - , "aliases": [ - "tropical_drink" - ] - , "tags": [ - "summer" - , "vacation" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍾" - , "description": "bottle with popping cork" - , "category": "Foods" - , "aliases": [ - "champagne" - ] - , "tags": [ - "bottle" - , "bubbly" - , "celebration" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🥄" - , "description": "spoon" - , "category": "Foods" - , "aliases": [ - "spoon" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🍴" - , "description": "fork and knife" - , "category": "Foods" - , "aliases": [ - "fork_and_knife" - ] - , "tags": [ - "cutlery" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🍽" - , "description": "fork and knife with plate" - , "category": "Foods" - , "aliases": [ - "plate_with_cutlery" - ] - , "tags": [ - "dining" - , "dinner" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⚽️" - , "description": "soccer ball" - , "category": "Activity" - , "aliases": [ - "soccer" - ] - , "tags": [ - "sports" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🏀" - , "description": "basketball" - , "category": "Activity" - , "aliases": [ - "basketball" - ] - , "tags": [ - "sports" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏈" - , "description": "american football" - , "category": "Activity" - , "aliases": [ - "football" - ] - , "tags": [ - "sports" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚾️" - , "description": "baseball" - , "category": "Activity" - , "aliases": [ - "baseball" - ] - , "tags": [ - "sports" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🎾" - , "description": "tennis" - , "category": "Activity" - , "aliases": [ - "tennis" - ] - , "tags": [ - "sports" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏐" - , "description": "volleyball" - , "category": "Activity" - , "aliases": [ - "volleyball" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏉" - , "description": "rugby football" - , "category": "Activity" - , "aliases": [ - "rugby_football" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎱" - , "description": "pool 8 ball" - , "category": "Activity" - , "aliases": [ - "8ball" - ] - , "tags": [ - "pool" - , "billiards" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏓" - , "description": "ping pong" - , "category": "Activity" - , "aliases": [ - "ping_pong" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏸" - , "description": "badminton" - , "category": "Activity" - , "aliases": [ - "badminton" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🥅" - , "description": "goal net" - , "category": "Activity" - , "aliases": [ - "goal_net" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🏒" - , "description": "ice hockey" - , "category": "Activity" - , "aliases": [ - "ice_hockey" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏑" - , "description": "field hockey" - , "category": "Activity" - , "aliases": [ - "field_hockey" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏏" - , "description": "cricket" - , "category": "Activity" - , "aliases": [ - "cricket" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛳️" - , "description": "flag in hole" - , "category": "Activity" - , "aliases": [ - "golf" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🏹" - , "description": "bow and arrow" - , "category": "Activity" - , "aliases": [ - "bow_and_arrow" - ] - , "tags": [ - "archery" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎣" - , "description": "fishing pole" - , "category": "Activity" - , "aliases": [ - "fishing_pole_and_fish" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥊" - , "description": "boxing glove" - , "category": "Activity" - , "aliases": [ - "boxing_glove" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥋" - , "description": "martial arts uniform" - , "category": "Activity" - , "aliases": [ - "martial_arts_uniform" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "⛸" - , "description": "ice skate" - , "category": "Activity" - , "aliases": [ - "ice_skate" - ] - , "tags": [ - "skating" - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🎿" - , "description": "skis" - , "category": "Activity" - , "aliases": [ - "ski" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⛷" - , "description": "skier" - , "category": "Activity" - , "aliases": [ - "skier" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🏂" - , "description": "snowboarder" - , "category": "Activity" - , "aliases": [ - "snowboarder" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏋️‍♀️" - , "description": "woman lifting weights" - , "category": "Activity" - , "aliases": [ - "weight_lifting_woman" - ] - , "tags": [ - "gym" - , "workout" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🏋" - , "description": "person lifting weights" - , "category": "Activity" - , "aliases": [ - "weight_lifting_man" - ] - , "tags": [ - "gym" - , "workout" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🤺" - , "description": "person fencing" - , "category": "Activity" - , "aliases": [ - "person_fencing" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤼‍♀" - , "description": "women wrestling" - , "category": "Activity" - , "aliases": [ - "women_wrestling" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤼‍♂" - , "description": "men wrestling" - , "category": "Activity" - , "aliases": [ - "men_wrestling" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤸‍♀" - , "description": "woman cartwheeling" - , "category": "Activity" - , "aliases": [ - "woman_cartwheeling" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "🤸‍♂" - , "description": "man cartwheeling" - , "category": "Activity" - , "aliases": [ - "man_cartwheeling" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "⛹️‍♀️" - , "description": "woman bouncing ball" - , "category": "Activity" - , "aliases": [ - "basketball_woman" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "10.0" - } -, { - "emoji": "⛹" - , "description": "person bouncing ball" - , "category": "Activity" - , "aliases": [ - "basketball_man" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🤾‍♀" - , "description": "woman playing handball" - , "category": "Activity" - , "aliases": [ - "woman_playing_handball" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤾‍♂" - , "description": "man playing handball" - , "category": "Activity" - , "aliases": [ - "man_playing_handball" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🏌️‍♀️" - , "description": "woman golfing" - , "category": "Activity" - , "aliases": [ - "golfing_woman" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.0" - } -, { - "emoji": "🏌" - , "description": "person golfing" - , "category": "Activity" - , "aliases": [ - "golfing_man" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏄‍♀" - , "description": "woman surfing" - , "category": "Activity" - , "aliases": [ - "surfing_woman" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "10.0" - } -, { - "emoji": "🏄" - , "description": "person surfing" - , "category": "Activity" - , "aliases": [ - "surfing_man" - , "surfer" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏊‍♀" - , "description": "woman swimming" - , "category": "Activity" - , "aliases": [ - "swimming_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🏊" - , "description": "person swimming" - , "category": "Activity" - , "aliases": [ - "swimming_man" - , "swimmer" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤽‍♀" - , "description": "woman playing water polo" - , "category": "Activity" - , "aliases": [ - "woman_playing_water_polo" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤽‍♂" - , "description": "man playing water polo" - , "category": "Activity" - , "aliases": [ - "man_playing_water_polo" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🚣‍♀" - , "description": "woman rowing boat" - , "category": "Activity" - , "aliases": [ - "rowing_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🚣" - , "description": "person rowing boat" - , "category": "Activity" - , "aliases": [ - "rowing_man" - , "rowboat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏇" - , "description": "horse racing" - , "category": "Activity" - , "aliases": [ - "horse_racing" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚴‍♀" - , "description": "woman biking" - , "category": "Activity" - , "aliases": [ - "biking_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🚴" - , "description": "person biking" - , "category": "Activity" - , "aliases": [ - "biking_man" - , "bicyclist" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚵‍♀" - , "description": "woman mountain biking" - , "category": "Activity" - , "aliases": [ - "mountain_biking_woman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🚵" - , "description": "person mountain biking" - , "category": "Activity" - , "aliases": [ - "mountain_biking_man" - , "mountain_bicyclist" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎽" - , "description": "running shirt" - , "category": "Activity" - , "aliases": [ - "running_shirt_with_sash" - ] - , "tags": [ - "marathon" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏅" - , "description": "sports medal" - , "category": "Activity" - , "aliases": [ - "medal_sports" - ] - , "tags": [ - "gold" - , "winner" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎖" - , "description": "military medal" - , "category": "Activity" - , "aliases": [ - "medal_military" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🥇" - , "description": "1st place medal" - , "category": "Activity" - , "aliases": [ - "1st_place_medal" - ] - , "tags": [ - "gold" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥈" - , "description": "2nd place medal" - , "category": "Activity" - , "aliases": [ - "2nd_place_medal" - ] - , "tags": [ - "silver" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🥉" - , "description": "3rd place medal" - , "category": "Activity" - , "aliases": [ - "3rd_place_medal" - ] - , "tags": [ - "bronze" - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🏆" - , "description": "trophy" - , "category": "Activity" - , "aliases": [ - "trophy" - ] - , "tags": [ - "award" - , "contest" - , "winner" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏵" - , "description": "rosette" - , "category": "Activity" - , "aliases": [ - "rosette" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎗" - , "description": "reminder ribbon" - , "category": "Activity" - , "aliases": [ - "reminder_ribbon" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎫" - , "description": "ticket" - , "category": "Activity" - , "aliases": [ - "ticket" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎟" - , "description": "admission tickets" - , "category": "Activity" - , "aliases": [ - "tickets" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎪" - , "description": "circus tent" - , "category": "Activity" - , "aliases": [ - "circus_tent" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🤹‍♀" - , "description": "woman juggling" - , "category": "Activity" - , "aliases": [ - "woman_juggling" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🤹‍♂" - , "description": "man juggling" - , "category": "Activity" - , "aliases": [ - "man_juggling" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🎭" - , "description": "performing arts" - , "category": "Activity" - , "aliases": [ - "performing_arts" - ] - , "tags": [ - "theater" - , "drama" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎨" - , "description": "artist palette" - , "category": "Activity" - , "aliases": [ - "art" - ] - , "tags": [ - "design" - , "paint" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎬" - , "description": "clapper board" - , "category": "Activity" - , "aliases": [ - "clapper" - ] - , "tags": [ - "film" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎤" - , "description": "microphone" - , "category": "Activity" - , "aliases": [ - "microphone" - ] - , "tags": [ - "sing" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎧" - , "description": "headphone" - , "category": "Activity" - , "aliases": [ - "headphones" - ] - , "tags": [ - "music" - , "earphones" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎼" - , "description": "musical score" - , "category": "Activity" - , "aliases": [ - "musical_score" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎹" - , "description": "musical keyboard" - , "category": "Activity" - , "aliases": [ - "musical_keyboard" - ] - , "tags": [ - "piano" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🥁" - , "description": "drum" - , "category": "Activity" - , "aliases": [ - "drum" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "10.2" - } -, { - "emoji": "🎷" - , "description": "saxophone" - , "category": "Activity" - , "aliases": [ - "saxophone" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎺" - , "description": "trumpet" - , "category": "Activity" - , "aliases": [ - "trumpet" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎸" - , "description": "guitar" - , "category": "Activity" - , "aliases": [ - "guitar" - ] - , "tags": [ - "rock" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎻" - , "description": "violin" - , "category": "Activity" - , "aliases": [ - "violin" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎲" - , "description": "game die" - , "category": "Activity" - , "aliases": [ - "game_die" - ] - , "tags": [ - "dice" - , "gambling" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎯" - , "description": "direct hit" - , "category": "Activity" - , "aliases": [ - "dart" - ] - , "tags": [ - "target" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎳" - , "description": "bowling" - , "category": "Activity" - , "aliases": [ - "bowling" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎮" - , "description": "video game" - , "category": "Activity" - , "aliases": [ - "video_game" - ] - , "tags": [ - "play" - , "controller" - , "console" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎰" - , "description": "slot machine" - , "category": "Activity" - , "aliases": [ - "slot_machine" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚗" - , "description": "automobile" - , "category": "Places" - , "aliases": [ - "car" - , "red_car" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚕" - , "description": "taxi" - , "category": "Places" - , "aliases": [ - "taxi" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚙" - , "description": "sport utility vehicle" - , "category": "Places" - , "aliases": [ - "blue_car" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚌" - , "description": "bus" - , "category": "Places" - , "aliases": [ - "bus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚎" - , "description": "trolleybus" - , "category": "Places" - , "aliases": [ - "trolleybus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏎" - , "description": "racing car" - , "category": "Places" - , "aliases": [ - "racing_car" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚓" - , "description": "police car" - , "category": "Places" - , "aliases": [ - "police_car" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚑" - , "description": "ambulance" - , "category": "Places" - , "aliases": [ - "ambulance" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚒" - , "description": "fire engine" - , "category": "Places" - , "aliases": [ - "fire_engine" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚐" - , "description": "minibus" - , "category": "Places" - , "aliases": [ - "minibus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚚" - , "description": "delivery truck" - , "category": "Places" - , "aliases": [ - "truck" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚛" - , "description": "articulated lorry" - , "category": "Places" - , "aliases": [ - "articulated_lorry" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚜" - , "description": "tractor" - , "category": "Places" - , "aliases": [ - "tractor" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛴" - , "description": "kick scooter" - , "category": "Places" - , "aliases": [ - "kick_scooter" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🚲" - , "description": "bicycle" - , "category": "Places" - , "aliases": [ - "bike" - ] - , "tags": [ - "bicycle" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛵" - , "description": "motor scooter" - , "category": "Places" - , "aliases": [ - "motor_scooter" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🏍" - , "description": "motorcycle" - , "category": "Places" - , "aliases": [ - "motorcycle" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚨" - , "description": "police car light" - , "category": "Places" - , "aliases": [ - "rotating_light" - ] - , "tags": [ - "911" - , "emergency" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚔" - , "description": "oncoming police car" - , "category": "Places" - , "aliases": [ - "oncoming_police_car" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚍" - , "description": "oncoming bus" - , "category": "Places" - , "aliases": [ - "oncoming_bus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚘" - , "description": "oncoming automobile" - , "category": "Places" - , "aliases": [ - "oncoming_automobile" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚖" - , "description": "oncoming taxi" - , "category": "Places" - , "aliases": [ - "oncoming_taxi" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚡" - , "description": "aerial tramway" - , "category": "Places" - , "aliases": [ - "aerial_tramway" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚠" - , "description": "mountain cableway" - , "category": "Places" - , "aliases": [ - "mountain_cableway" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚟" - , "description": "suspension railway" - , "category": "Places" - , "aliases": [ - "suspension_railway" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚃" - , "description": "railway car" - , "category": "Places" - , "aliases": [ - "railway_car" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚋" - , "description": "tram car" - , "category": "Places" - , "aliases": [ - "train" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚞" - , "description": "mountain railway" - , "category": "Places" - , "aliases": [ - "mountain_railway" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚝" - , "description": "monorail" - , "category": "Places" - , "aliases": [ - "monorail" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚄" - , "description": "high-speed train" - , "category": "Places" - , "aliases": [ - "bullettrain_side" - ] - , "tags": [ - "train" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚅" - , "description": "high-speed train with bullet nose" - , "category": "Places" - , "aliases": [ - "bullettrain_front" - ] - , "tags": [ - "train" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚈" - , "description": "light rail" - , "category": "Places" - , "aliases": [ - "light_rail" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚂" - , "description": "locomotive" - , "category": "Places" - , "aliases": [ - "steam_locomotive" - ] - , "tags": [ - "train" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚆" - , "description": "train" - , "category": "Places" - , "aliases": [ - "train2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚇" - , "description": "metro" - , "category": "Places" - , "aliases": [ - "metro" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚊" - , "description": "tram" - , "category": "Places" - , "aliases": [ - "tram" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚉" - , "description": "station" - , "category": "Places" - , "aliases": [ - "station" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚁" - , "description": "helicopter" - , "category": "Places" - , "aliases": [ - "helicopter" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛩" - , "description": "small airplane" - , "category": "Places" - , "aliases": [ - "small_airplane" - ] - , "tags": [ - "flight" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "✈️" - , "description": "airplane" - , "category": "Places" - , "aliases": [ - "airplane" - ] - , "tags": [ - "flight" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🛫" - , "description": "airplane departure" - , "category": "Places" - , "aliases": [ - "flight_departure" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛬" - , "description": "airplane arrival" - , "category": "Places" - , "aliases": [ - "flight_arrival" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚀" - , "description": "rocket" - , "category": "Places" - , "aliases": [ - "rocket" - ] - , "tags": [ - "ship" - , "launch" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛰" - , "description": "satellite" - , "category": "Places" - , "aliases": [ - "artificial_satellite" - ] - , "tags": [ - "orbit" - , "space" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "💺" - , "description": "seat" - , "category": "Places" - , "aliases": [ - "seat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛶" - , "description": "canoe" - , "category": "Places" - , "aliases": [ - "canoe" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "⛵️" - , "description": "sailboat" - , "category": "Places" - , "aliases": [ - "boat" - , "sailboat" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🛥" - , "description": "motor boat" - , "category": "Places" - , "aliases": [ - "motor_boat" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚤" - , "description": "speedboat" - , "category": "Places" - , "aliases": [ - "speedboat" - ] - , "tags": [ - "ship" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛳" - , "description": "passenger ship" - , "category": "Places" - , "aliases": [ - "passenger_ship" - ] - , "tags": [ - "cruise" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛴" - , "description": "ferry" - , "category": "Places" - , "aliases": [ - "ferry" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🚢" - , "description": "ship" - , "category": "Places" - , "aliases": [ - "ship" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚓️" - , "description": "anchor" - , "category": "Places" - , "aliases": [ - "anchor" - ] - , "tags": [ - "ship" - ] - , "unicode_version": "4.1" - , "ios_version": "6.0" - } -, { - "emoji": "🚧" - , "description": "construction" - , "category": "Places" - , "aliases": [ - "construction" - ] - , "tags": [ - "wip" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⛽️" - , "description": "fuel pump" - , "category": "Places" - , "aliases": [ - "fuelpump" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🚏" - , "description": "bus stop" - , "category": "Places" - , "aliases": [ - "busstop" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚦" - , "description": "vertical traffic light" - , "category": "Places" - , "aliases": [ - "vertical_traffic_light" - ] - , "tags": [ - "semaphore" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚥" - , "description": "horizontal traffic light" - , "category": "Places" - , "aliases": [ - "traffic_light" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗺" - , "description": "world map" - , "category": "Places" - , "aliases": [ - "world_map" - ] - , "tags": [ - "travel" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗿" - , "description": "moai" - , "category": "Places" - , "aliases": [ - "moyai" - ] - , "tags": [ - "stone" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗽" - , "description": "Statue of Liberty" - , "category": "Places" - , "aliases": [ - "statue_of_liberty" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⛲️" - , "description": "fountain" - , "category": "Places" - , "aliases": [ - "fountain" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🗼" - , "description": "Tokyo tower" - , "category": "Places" - , "aliases": [ - "tokyo_tower" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏰" - , "description": "castle" - , "category": "Places" - , "aliases": [ - "european_castle" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏯" - , "description": "Japanese castle" - , "category": "Places" - , "aliases": [ - "japanese_castle" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏟" - , "description": "stadium" - , "category": "Places" - , "aliases": [ - "stadium" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎡" - , "description": "ferris wheel" - , "category": "Places" - , "aliases": [ - "ferris_wheel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎢" - , "description": "roller coaster" - , "category": "Places" - , "aliases": [ - "roller_coaster" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎠" - , "description": "carousel horse" - , "category": "Places" - , "aliases": [ - "carousel_horse" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⛱" - , "description": "umbrella on ground" - , "category": "Places" - , "aliases": [ - "parasol_on_ground" - ] - , "tags": [ - "beach_umbrella" - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🏖" - , "description": "beach with umbrella" - , "category": "Places" - , "aliases": [ - "beach_umbrella" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏝" - , "description": "desert island" - , "category": "Places" - , "aliases": [ - "desert_island" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛰" - , "description": "mountain" - , "category": "Places" - , "aliases": [ - "mountain" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🏔" - , "description": "snow-capped mountain" - , "category": "Places" - , "aliases": [ - "mountain_snow" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗻" - , "description": "mount fuji" - , "category": "Places" - , "aliases": [ - "mount_fuji" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌋" - , "description": "volcano" - , "category": "Places" - , "aliases": [ - "volcano" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏜" - , "description": "desert" - , "category": "Places" - , "aliases": [ - "desert" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏕" - , "description": "camping" - , "category": "Places" - , "aliases": [ - "camping" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛺️" - , "description": "tent" - , "category": "Places" - , "aliases": [ - "tent" - ] - , "tags": [ - "camping" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🛤" - , "description": "railway track" - , "category": "Places" - , "aliases": [ - "railway_track" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛣" - , "description": "motorway" - , "category": "Places" - , "aliases": [ - "motorway" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏗" - , "description": "building construction" - , "category": "Places" - , "aliases": [ - "building_construction" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏭" - , "description": "factory" - , "category": "Places" - , "aliases": [ - "factory" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏠" - , "description": "house" - , "category": "Places" - , "aliases": [ - "house" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏡" - , "description": "house with garden" - , "category": "Places" - , "aliases": [ - "house_with_garden" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏘" - , "description": "house" - , "category": "Places" - , "aliases": [ - "houses" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏚" - , "description": "derelict house" - , "category": "Places" - , "aliases": [ - "derelict_house" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏢" - , "description": "office building" - , "category": "Places" - , "aliases": [ - "office" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏬" - , "description": "department store" - , "category": "Places" - , "aliases": [ - "department_store" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏣" - , "description": "Japanese post office" - , "category": "Places" - , "aliases": [ - "post_office" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏤" - , "description": "post office" - , "category": "Places" - , "aliases": [ - "european_post_office" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏥" - , "description": "hospital" - , "category": "Places" - , "aliases": [ - "hospital" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏦" - , "description": "bank" - , "category": "Places" - , "aliases": [ - "bank" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏨" - , "description": "hotel" - , "category": "Places" - , "aliases": [ - "hotel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏪" - , "description": "convenience store" - , "category": "Places" - , "aliases": [ - "convenience_store" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏫" - , "description": "school" - , "category": "Places" - , "aliases": [ - "school" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏩" - , "description": "love hotel" - , "category": "Places" - , "aliases": [ - "love_hotel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💒" - , "description": "wedding" - , "category": "Places" - , "aliases": [ - "wedding" - ] - , "tags": [ - "marriage" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏛" - , "description": "classical building" - , "category": "Places" - , "aliases": [ - "classical_building" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛪️" - , "description": "church" - , "category": "Places" - , "aliases": [ - "church" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🕌" - , "description": "mosque" - , "category": "Places" - , "aliases": [ - "mosque" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🕍" - , "description": "synagogue" - , "category": "Places" - , "aliases": [ - "synagogue" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🕋" - , "description": "kaaba" - , "category": "Places" - , "aliases": [ - "kaaba" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛩" - , "description": "shinto shrine" - , "category": "Places" - , "aliases": [ - "shinto_shrine" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🗾" - , "description": "map of Japan" - , "category": "Places" - , "aliases": [ - "japan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎑" - , "description": "moon viewing ceremony" - , "category": "Places" - , "aliases": [ - "rice_scene" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏞" - , "description": "national park" - , "category": "Places" - , "aliases": [ - "national_park" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌅" - , "description": "sunrise" - , "category": "Places" - , "aliases": [ - "sunrise" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌄" - , "description": "sunrise over mountains" - , "category": "Places" - , "aliases": [ - "sunrise_over_mountains" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌠" - , "description": "shooting star" - , "category": "Places" - , "aliases": [ - "stars" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎇" - , "description": "sparkler" - , "category": "Places" - , "aliases": [ - "sparkler" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎆" - , "description": "fireworks" - , "category": "Places" - , "aliases": [ - "fireworks" - ] - , "tags": [ - "festival" - , "celebration" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌇" - , "description": "sunset" - , "category": "Places" - , "aliases": [ - "city_sunrise" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌆" - , "description": "cityscape at dusk" - , "category": "Places" - , "aliases": [ - "city_sunset" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏙" - , "description": "cityscape" - , "category": "Places" - , "aliases": [ - "cityscape" - ] - , "tags": [ - "skyline" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🌃" - , "description": "night with stars" - , "category": "Places" - , "aliases": [ - "night_with_stars" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌌" - , "description": "milky way" - , "category": "Places" - , "aliases": [ - "milky_way" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌉" - , "description": "bridge at night" - , "category": "Places" - , "aliases": [ - "bridge_at_night" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌁" - , "description": "foggy" - , "category": "Places" - , "aliases": [ - "foggy" - ] - , "tags": [ - "karl" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⌚️" - , "description": "watch" - , "category": "Objects" - , "aliases": [ - "watch" - ] - , "tags": [ - "time" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "📱" - , "description": "mobile phone" - , "category": "Objects" - , "aliases": [ - "iphone" - ] - , "tags": [ - "smartphone" - , "mobile" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📲" - , "description": "mobile phone with arrow" - , "category": "Objects" - , "aliases": [ - "calling" - ] - , "tags": [ - "call" - , "incoming" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💻" - , "description": "laptop computer" - , "category": "Objects" - , "aliases": [ - "computer" - ] - , "tags": [ - "desktop" - , "screen" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⌨️" - , "description": "keyboard" - , "category": "Objects" - , "aliases": [ - "keyboard" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "🖥" - , "description": "desktop computer" - , "category": "Objects" - , "aliases": [ - "desktop_computer" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖨" - , "description": "printer" - , "category": "Objects" - , "aliases": [ - "printer" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖱" - , "description": "computer mouse" - , "category": "Objects" - , "aliases": [ - "computer_mouse" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖲" - , "description": "trackball" - , "category": "Objects" - , "aliases": [ - "trackball" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🕹" - , "description": "joystick" - , "category": "Objects" - , "aliases": [ - "joystick" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗜" - , "description": "clamp" - , "category": "Objects" - , "aliases": [ - "clamp" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "💽" - , "description": "computer disk" - , "category": "Objects" - , "aliases": [ - "minidisc" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💾" - , "description": "floppy disk" - , "category": "Objects" - , "aliases": [ - "floppy_disk" - ] - , "tags": [ - "save" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💿" - , "description": "optical disk" - , "category": "Objects" - , "aliases": [ - "cd" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📀" - , "description": "dvd" - , "category": "Objects" - , "aliases": [ - "dvd" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📼" - , "description": "videocassette" - , "category": "Objects" - , "aliases": [ - "vhs" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📷" - , "description": "camera" - , "category": "Objects" - , "aliases": [ - "camera" - ] - , "tags": [ - "photo" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📸" - , "description": "camera with flash" - , "category": "Objects" - , "aliases": [ - "camera_flash" - ] - , "tags": [ - "photo" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📹" - , "description": "video camera" - , "category": "Objects" - , "aliases": [ - "video_camera" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎥" - , "description": "movie camera" - , "category": "Objects" - , "aliases": [ - "movie_camera" - ] - , "tags": [ - "film" - , "video" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📽" - , "description": "film projector" - , "category": "Objects" - , "aliases": [ - "film_projector" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎞" - , "description": "film frames" - , "category": "Objects" - , "aliases": [ - "film_strip" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📞" - , "description": "telephone receiver" - , "category": "Objects" - , "aliases": [ - "telephone_receiver" - ] - , "tags": [ - "phone" - , "call" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☎️" - , "description": "telephone" - , "category": "Objects" - , "aliases": [ - "phone" - , "telephone" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "📟" - , "description": "pager" - , "category": "Objects" - , "aliases": [ - "pager" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📠" - , "description": "fax machine" - , "category": "Objects" - , "aliases": [ - "fax" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📺" - , "description": "television" - , "category": "Objects" - , "aliases": [ - "tv" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📻" - , "description": "radio" - , "category": "Objects" - , "aliases": [ - "radio" - ] - , "tags": [ - "podcast" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎙" - , "description": "studio microphone" - , "category": "Objects" - , "aliases": [ - "studio_microphone" - ] - , "tags": [ - "podcast" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎚" - , "description": "level slider" - , "category": "Objects" - , "aliases": [ - "level_slider" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🎛" - , "description": "control knobs" - , "category": "Objects" - , "aliases": [ - "control_knobs" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏱" - , "description": "stopwatch" - , "category": "Objects" - , "aliases": [ - "stopwatch" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏲" - , "description": "timer clock" - , "category": "Objects" - , "aliases": [ - "timer_clock" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏰" - , "description": "alarm clock" - , "category": "Objects" - , "aliases": [ - "alarm_clock" - ] - , "tags": [ - "morning" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕰" - , "description": "mantelpiece clock" - , "category": "Objects" - , "aliases": [ - "mantelpiece_clock" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⌛️" - , "description": "hourglass" - , "category": "Objects" - , "aliases": [ - "hourglass" - ] - , "tags": [ - "time" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "⏳" - , "description": "hourglass with flowing sand" - , "category": "Objects" - , "aliases": [ - "hourglass_flowing_sand" - ] - , "tags": [ - "time" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📡" - , "description": "satellite antenna" - , "category": "Objects" - , "aliases": [ - "satellite" - ] - , "tags": [ - "signal" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔋" - , "description": "battery" - , "category": "Objects" - , "aliases": [ - "battery" - ] - , "tags": [ - "power" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔌" - , "description": "electric plug" - , "category": "Objects" - , "aliases": [ - "electric_plug" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💡" - , "description": "light bulb" - , "category": "Objects" - , "aliases": [ - "bulb" - ] - , "tags": [ - "idea" - , "light" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔦" - , "description": "flashlight" - , "category": "Objects" - , "aliases": [ - "flashlight" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕯" - , "description": "candle" - , "category": "Objects" - , "aliases": [ - "candle" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗑" - , "description": "wastebasket" - , "category": "Objects" - , "aliases": [ - "wastebasket" - ] - , "tags": [ - "trash" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛢" - , "description": "oil drum" - , "category": "Objects" - , "aliases": [ - "oil_drum" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "💸" - , "description": "money with wings" - , "category": "Objects" - , "aliases": [ - "money_with_wings" - ] - , "tags": [ - "dollar" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💵" - , "description": "dollar banknote" - , "category": "Objects" - , "aliases": [ - "dollar" - ] - , "tags": [ - "money" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💴" - , "description": "yen banknote" - , "category": "Objects" - , "aliases": [ - "yen" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💶" - , "description": "euro banknote" - , "category": "Objects" - , "aliases": [ - "euro" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💷" - , "description": "pound banknote" - , "category": "Objects" - , "aliases": [ - "pound" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💰" - , "description": "money bag" - , "category": "Objects" - , "aliases": [ - "moneybag" - ] - , "tags": [ - "dollar" - , "cream" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💳" - , "description": "credit card" - , "category": "Objects" - , "aliases": [ - "credit_card" - ] - , "tags": [ - "subscription" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💎" - , "description": "gem stone" - , "category": "Objects" - , "aliases": [ - "gem" - ] - , "tags": [ - "diamond" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚖️" - , "description": "balance scale" - , "category": "Objects" - , "aliases": [ - "balance_scale" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🔧" - , "description": "wrench" - , "category": "Objects" - , "aliases": [ - "wrench" - ] - , "tags": [ - "tool" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔨" - , "description": "hammer" - , "category": "Objects" - , "aliases": [ - "hammer" - ] - , "tags": [ - "tool" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚒" - , "description": "hammer and pick" - , "category": "Objects" - , "aliases": [ - "hammer_and_pick" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🛠" - , "description": "hammer and wrench" - , "category": "Objects" - , "aliases": [ - "hammer_and_wrench" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛏" - , "description": "pick" - , "category": "Objects" - , "aliases": [ - "pick" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🔩" - , "description": "nut and bolt" - , "category": "Objects" - , "aliases": [ - "nut_and_bolt" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚙️" - , "description": "gear" - , "category": "Objects" - , "aliases": [ - "gear" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "⛓" - , "description": "chains" - , "category": "Objects" - , "aliases": [ - "chains" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "9.1" - } -, { - "emoji": "🔫" - , "description": "pistol" - , "category": "Objects" - , "aliases": [ - "gun" - ] - , "tags": [ - "shoot" - , "weapon" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💣" - , "description": "bomb" - , "category": "Objects" - , "aliases": [ - "bomb" - ] - , "tags": [ - "boom" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔪" - , "description": "kitchen knife" - , "category": "Objects" - , "aliases": [ - "hocho" - , "knife" - ] - , "tags": [ - "cut" - , "chop" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗡" - , "description": "dagger" - , "category": "Objects" - , "aliases": [ - "dagger" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⚔️" - , "description": "crossed swords" - , "category": "Objects" - , "aliases": [ - "crossed_swords" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🛡" - , "description": "shield" - , "category": "Objects" - , "aliases": [ - "shield" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚬" - , "description": "cigarette" - , "category": "Objects" - , "aliases": [ - "smoking" - ] - , "tags": [ - "cigarette" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚰️" - , "description": "coffin" - , "category": "Objects" - , "aliases": [ - "coffin" - ] - , "tags": [ - "funeral" - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "⚱️" - , "description": "funeral urn" - , "category": "Objects" - , "aliases": [ - "funeral_urn" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🏺" - , "description": "amphora" - , "category": "Objects" - , "aliases": [ - "amphora" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🔮" - , "description": "crystal ball" - , "category": "Objects" - , "aliases": [ - "crystal_ball" - ] - , "tags": [ - "fortune" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📿" - , "description": "prayer beads" - , "category": "Objects" - , "aliases": [ - "prayer_beads" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "💈" - , "description": "barber pole" - , "category": "Objects" - , "aliases": [ - "barber" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚗️" - , "description": "alembic" - , "category": "Objects" - , "aliases": [ - "alembic" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🔭" - , "description": "telescope" - , "category": "Objects" - , "aliases": [ - "telescope" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔬" - , "description": "microscope" - , "category": "Objects" - , "aliases": [ - "microscope" - ] - , "tags": [ - "science" - , "laboratory" - , "investigate" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕳" - , "description": "hole" - , "category": "Objects" - , "aliases": [ - "hole" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "💊" - , "description": "pill" - , "category": "Objects" - , "aliases": [ - "pill" - ] - , "tags": [ - "health" - , "medicine" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💉" - , "description": "syringe" - , "category": "Objects" - , "aliases": [ - "syringe" - ] - , "tags": [ - "health" - , "hospital" - , "needle" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌡" - , "description": "thermometer" - , "category": "Objects" - , "aliases": [ - "thermometer" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚽" - , "description": "toilet" - , "category": "Objects" - , "aliases": [ - "toilet" - ] - , "tags": [ - "wc" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚰" - , "description": "potable water" - , "category": "Objects" - , "aliases": [ - "potable_water" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚿" - , "description": "shower" - , "category": "Objects" - , "aliases": [ - "shower" - ] - , "tags": [ - "bath" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛁" - , "description": "bathtub" - , "category": "Objects" - , "aliases": [ - "bathtub" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛀" - , "description": "person taking bath" - , "category": "Objects" - , "aliases": [ - "bath" - ] - , "tags": [ - "shower" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛎" - , "description": "bellhop bell" - , "category": "Objects" - , "aliases": [ - "bellhop_bell" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🔑" - , "description": "key" - , "category": "Objects" - , "aliases": [ - "key" - ] - , "tags": [ - "lock" - , "password" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗝" - , "description": "old key" - , "category": "Objects" - , "aliases": [ - "old_key" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🚪" - , "description": "door" - , "category": "Objects" - , "aliases": [ - "door" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛋" - , "description": "couch and lamp" - , "category": "Objects" - , "aliases": [ - "couch_and_lamp" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛏" - , "description": "bed" - , "category": "Objects" - , "aliases": [ - "bed" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛌" - , "description": "person in bed" - , "category": "Objects" - , "aliases": [ - "sleeping_bed" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖼" - , "description": "framed picture" - , "category": "Objects" - , "aliases": [ - "framed_picture" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛍" - , "description": "shopping bags" - , "category": "Objects" - , "aliases": [ - "shopping" - ] - , "tags": [ - "bags" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🛒" - , "description": "shopping cart" - , "category": "Objects" - , "aliases": [ - "shopping_cart" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "🎁" - , "description": "wrapped gift" - , "category": "Objects" - , "aliases": [ - "gift" - ] - , "tags": [ - "present" - , "birthday" - , "christmas" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎈" - , "description": "balloon" - , "category": "Objects" - , "aliases": [ - "balloon" - ] - , "tags": [ - "party" - , "birthday" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎏" - , "description": "carp streamer" - , "category": "Objects" - , "aliases": [ - "flags" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎀" - , "description": "ribbon" - , "category": "Objects" - , "aliases": [ - "ribbon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎊" - , "description": "confetti ball" - , "category": "Objects" - , "aliases": [ - "confetti_ball" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎉" - , "description": "party popper" - , "category": "Objects" - , "aliases": [ - "tada" - ] - , "tags": [ - "hooray" - , "party" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎎" - , "description": "Japanese dolls" - , "category": "Objects" - , "aliases": [ - "dolls" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏮" - , "description": "red paper lantern" - , "category": "Objects" - , "aliases": [ - "izakaya_lantern" - , "lantern" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎐" - , "description": "wind chime" - , "category": "Objects" - , "aliases": [ - "wind_chime" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✉️" - , "description": "envelope" - , "category": "Objects" - , "aliases": [ - "email" - , "envelope" - ] - , "tags": [ - "letter" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "📩" - , "description": "envelope with arrow" - , "category": "Objects" - , "aliases": [ - "envelope_with_arrow" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📨" - , "description": "incoming envelope" - , "category": "Objects" - , "aliases": [ - "incoming_envelope" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📧" - , "description": "e-mail" - , "category": "Objects" - , "aliases": [ - "e-mail" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💌" - , "description": "love letter" - , "category": "Objects" - , "aliases": [ - "love_letter" - ] - , "tags": [ - "email" - , "envelope" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📥" - , "description": "inbox tray" - , "category": "Objects" - , "aliases": [ - "inbox_tray" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📤" - , "description": "outbox tray" - , "category": "Objects" - , "aliases": [ - "outbox_tray" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📦" - , "description": "package" - , "category": "Objects" - , "aliases": [ - "package" - ] - , "tags": [ - "shipping" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏷" - , "description": "label" - , "category": "Objects" - , "aliases": [ - "label" - ] - , "tags": [ - "tag" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📪" - , "description": "closed mailbox with lowered flag" - , "category": "Objects" - , "aliases": [ - "mailbox_closed" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📫" - , "description": "closed mailbox with raised flag" - , "category": "Objects" - , "aliases": [ - "mailbox" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📬" - , "description": "open mailbox with raised flag" - , "category": "Objects" - , "aliases": [ - "mailbox_with_mail" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📭" - , "description": "open mailbox with lowered flag" - , "category": "Objects" - , "aliases": [ - "mailbox_with_no_mail" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📮" - , "description": "postbox" - , "category": "Objects" - , "aliases": [ - "postbox" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📯" - , "description": "postal horn" - , "category": "Objects" - , "aliases": [ - "postal_horn" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📜" - , "description": "scroll" - , "category": "Objects" - , "aliases": [ - "scroll" - ] - , "tags": [ - "document" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📃" - , "description": "page with curl" - , "category": "Objects" - , "aliases": [ - "page_with_curl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📄" - , "description": "page facing up" - , "category": "Objects" - , "aliases": [ - "page_facing_up" - ] - , "tags": [ - "document" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📑" - , "description": "bookmark tabs" - , "category": "Objects" - , "aliases": [ - "bookmark_tabs" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📊" - , "description": "bar chart" - , "category": "Objects" - , "aliases": [ - "bar_chart" - ] - , "tags": [ - "stats" - , "metrics" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📈" - , "description": "chart increasing" - , "category": "Objects" - , "aliases": [ - "chart_with_upwards_trend" - ] - , "tags": [ - "graph" - , "metrics" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📉" - , "description": "chart decreasing" - , "category": "Objects" - , "aliases": [ - "chart_with_downwards_trend" - ] - , "tags": [ - "graph" - , "metrics" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗒" - , "description": "spiral notepad" - , "category": "Objects" - , "aliases": [ - "spiral_notepad" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗓" - , "description": "spiral calendar" - , "category": "Objects" - , "aliases": [ - "spiral_calendar" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📆" - , "description": "tear-off calendar" - , "category": "Objects" - , "aliases": [ - "calendar" - ] - , "tags": [ - "schedule" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📅" - , "description": "calendar" - , "category": "Objects" - , "aliases": [ - "date" - ] - , "tags": [ - "calendar" - , "schedule" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📇" - , "description": "card index" - , "category": "Objects" - , "aliases": [ - "card_index" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗃" - , "description": "card file box" - , "category": "Objects" - , "aliases": [ - "card_file_box" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗳" - , "description": "ballot box with ballot" - , "category": "Objects" - , "aliases": [ - "ballot_box" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗄" - , "description": "file cabinet" - , "category": "Objects" - , "aliases": [ - "file_cabinet" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📋" - , "description": "clipboard" - , "category": "Objects" - , "aliases": [ - "clipboard" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📁" - , "description": "file folder" - , "category": "Objects" - , "aliases": [ - "file_folder" - ] - , "tags": [ - "directory" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📂" - , "description": "open file folder" - , "category": "Objects" - , "aliases": [ - "open_file_folder" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗂" - , "description": "card index dividers" - , "category": "Objects" - , "aliases": [ - "card_index_dividers" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🗞" - , "description": "rolled-up newspaper" - , "category": "Objects" - , "aliases": [ - "newspaper_roll" - ] - , "tags": [ - "press" - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📰" - , "description": "newspaper" - , "category": "Objects" - , "aliases": [ - "newspaper" - ] - , "tags": [ - "press" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📓" - , "description": "notebook" - , "category": "Objects" - , "aliases": [ - "notebook" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📔" - , "description": "notebook with decorative cover" - , "category": "Objects" - , "aliases": [ - "notebook_with_decorative_cover" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📒" - , "description": "ledger" - , "category": "Objects" - , "aliases": [ - "ledger" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📕" - , "description": "closed book" - , "category": "Objects" - , "aliases": [ - "closed_book" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📗" - , "description": "green book" - , "category": "Objects" - , "aliases": [ - "green_book" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📘" - , "description": "blue book" - , "category": "Objects" - , "aliases": [ - "blue_book" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📙" - , "description": "orange book" - , "category": "Objects" - , "aliases": [ - "orange_book" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📚" - , "description": "books" - , "category": "Objects" - , "aliases": [ - "books" - ] - , "tags": [ - "library" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📖" - , "description": "open book" - , "category": "Objects" - , "aliases": [ - "book" - , "open_book" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔖" - , "description": "bookmark" - , "category": "Objects" - , "aliases": [ - "bookmark" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔗" - , "description": "link" - , "category": "Objects" - , "aliases": [ - "link" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📎" - , "description": "paperclip" - , "category": "Objects" - , "aliases": [ - "paperclip" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🖇" - , "description": "linked paperclips" - , "category": "Objects" - , "aliases": [ - "paperclips" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📐" - , "description": "triangular ruler" - , "category": "Objects" - , "aliases": [ - "triangular_ruler" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📏" - , "description": "straight ruler" - , "category": "Objects" - , "aliases": [ - "straight_ruler" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📌" - , "description": "pushpin" - , "category": "Objects" - , "aliases": [ - "pushpin" - ] - , "tags": [ - "location" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📍" - , "description": "round pushpin" - , "category": "Objects" - , "aliases": [ - "round_pushpin" - ] - , "tags": [ - "location" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✂️" - , "description": "scissors" - , "category": "Objects" - , "aliases": [ - "scissors" - ] - , "tags": [ - "cut" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🖊" - , "description": "pen" - , "category": "Objects" - , "aliases": [ - "pen" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖋" - , "description": "fountain pen" - , "category": "Objects" - , "aliases": [ - "fountain_pen" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "✒️" - , "description": "black nib" - , "category": "Objects" - , "aliases": [ - "black_nib" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🖌" - , "description": "paintbrush" - , "category": "Objects" - , "aliases": [ - "paintbrush" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🖍" - , "description": "crayon" - , "category": "Objects" - , "aliases": [ - "crayon" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "📝" - , "description": "memo" - , "category": "Objects" - , "aliases": [ - "memo" - , "pencil" - ] - , "tags": [ - "document" - , "note" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✏️" - , "description": "pencil" - , "category": "Objects" - , "aliases": [ - "pencil2" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🔍" - , "description": "left-pointing magnifying glass" - , "category": "Objects" - , "aliases": [ - "mag" - ] - , "tags": [ - "search" - , "zoom" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔎" - , "description": "right-pointing magnifying glass" - , "category": "Objects" - , "aliases": [ - "mag_right" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔏" - , "description": "locked with pen" - , "category": "Objects" - , "aliases": [ - "lock_with_ink_pen" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔐" - , "description": "locked with key" - , "category": "Objects" - , "aliases": [ - "closed_lock_with_key" - ] - , "tags": [ - "security" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔒" - , "description": "locked" - , "category": "Objects" - , "aliases": [ - "lock" - ] - , "tags": [ - "security" - , "private" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔓" - , "description": "unlocked" - , "category": "Objects" - , "aliases": [ - "unlock" - ] - , "tags": [ - "security" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❤️" - , "description": "red heart" - , "category": "Symbols" - , "aliases": [ - "heart" - ] - , "tags": [ - "love" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "💛" - , "description": "yellow heart" - , "category": "Symbols" - , "aliases": [ - "yellow_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💚" - , "description": "green heart" - , "category": "Symbols" - , "aliases": [ - "green_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💙" - , "description": "blue heart" - , "category": "Symbols" - , "aliases": [ - "blue_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💜" - , "description": "purple heart" - , "category": "Symbols" - , "aliases": [ - "purple_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🖤" - , "description": "black heart" - , "category": "Symbols" - , "aliases": [ - "black_heart" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "💔" - , "description": "broken heart" - , "category": "Symbols" - , "aliases": [ - "broken_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❣️" - , "description": "heavy heart exclamation" - , "category": "Symbols" - , "aliases": [ - "heavy_heart_exclamation" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "💕" - , "description": "two hearts" - , "category": "Symbols" - , "aliases": [ - "two_hearts" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💞" - , "description": "revolving hearts" - , "category": "Symbols" - , "aliases": [ - "revolving_hearts" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💓" - , "description": "beating heart" - , "category": "Symbols" - , "aliases": [ - "heartbeat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💗" - , "description": "growing heart" - , "category": "Symbols" - , "aliases": [ - "heartpulse" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💖" - , "description": "sparkling heart" - , "category": "Symbols" - , "aliases": [ - "sparkling_heart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💘" - , "description": "heart with arrow" - , "category": "Symbols" - , "aliases": [ - "cupid" - ] - , "tags": [ - "love" - , "heart" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💝" - , "description": "heart with ribbon" - , "category": "Symbols" - , "aliases": [ - "gift_heart" - ] - , "tags": [ - "chocolates" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💟" - , "description": "heart decoration" - , "category": "Symbols" - , "aliases": [ - "heart_decoration" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☮️" - , "description": "peace symbol" - , "category": "Symbols" - , "aliases": [ - "peace_symbol" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "✝️" - , "description": "latin cross" - , "category": "Symbols" - , "aliases": [ - "latin_cross" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "☪️" - , "description": "star and crescent" - , "category": "Symbols" - , "aliases": [ - "star_and_crescent" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "🕉" - , "description": "om" - , "category": "Symbols" - , "aliases": [ - "om" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "☸️" - , "description": "wheel of dharma" - , "category": "Symbols" - , "aliases": [ - "wheel_of_dharma" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "✡️" - , "description": "star of David" - , "category": "Symbols" - , "aliases": [ - "star_of_david" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "🔯" - , "description": "dotted six-pointed star" - , "category": "Symbols" - , "aliases": [ - "six_pointed_star" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕎" - , "description": "menorah" - , "category": "Symbols" - , "aliases": [ - "menorah" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "☯️" - , "description": "yin yang" - , "category": "Symbols" - , "aliases": [ - "yin_yang" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "☦️" - , "description": "orthodox cross" - , "category": "Symbols" - , "aliases": [ - "orthodox_cross" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "🛐" - , "description": "place of worship" - , "category": "Symbols" - , "aliases": [ - "place_of_worship" - ] - , "tags": [ - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "⛎" - , "description": "Ophiuchus" - , "category": "Symbols" - , "aliases": [ - "ophiuchus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "♈️" - , "description": "Aries" - , "category": "Symbols" - , "aliases": [ - "aries" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♉️" - , "description": "Taurus" - , "category": "Symbols" - , "aliases": [ - "taurus" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♊️" - , "description": "Gemini" - , "category": "Symbols" - , "aliases": [ - "gemini" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♋️" - , "description": "Cancer" - , "category": "Symbols" - , "aliases": [ - "cancer" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♌️" - , "description": "Leo" - , "category": "Symbols" - , "aliases": [ - "leo" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♍️" - , "description": "Virgo" - , "category": "Symbols" - , "aliases": [ - "virgo" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♎️" - , "description": "Libra" - , "category": "Symbols" - , "aliases": [ - "libra" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♏️" - , "description": "Scorpius" - , "category": "Symbols" - , "aliases": [ - "scorpius" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♐️" - , "description": "Sagittarius" - , "category": "Symbols" - , "aliases": [ - "sagittarius" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♑️" - , "description": "Capricorn" - , "category": "Symbols" - , "aliases": [ - "capricorn" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♒️" - , "description": "Aquarius" - , "category": "Symbols" - , "aliases": [ - "aquarius" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♓️" - , "description": "Pisces" - , "category": "Symbols" - , "aliases": [ - "pisces" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🆔" - , "description": "ID button" - , "category": "Symbols" - , "aliases": [ - "id" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚛️" - , "description": "atom symbol" - , "category": "Symbols" - , "aliases": [ - "atom_symbol" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🉑" - , "description": "Japanese “acceptable” button" - , "category": "Symbols" - , "aliases": [ - "accept" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "☢️" - , "description": "radioactive" - , "category": "Symbols" - , "aliases": [ - "radioactive" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "☣️" - , "description": "biohazard" - , "category": "Symbols" - , "aliases": [ - "biohazard" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "📴" - , "description": "mobile phone off" - , "category": "Symbols" - , "aliases": [ - "mobile_phone_off" - ] - , "tags": [ - "mute" - , "off" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📳" - , "description": "vibration mode" - , "category": "Symbols" - , "aliases": [ - "vibration_mode" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈶" - , "description": "Japanese “not free of charge” button" - , "category": "Symbols" - , "aliases": [ - "u6709" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈚️" - , "description": "Japanese “free of charge” button" - , "category": "Symbols" - , "aliases": [ - "u7121" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🈸" - , "description": "Japanese “application” button" - , "category": "Symbols" - , "aliases": [ - "u7533" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈺" - , "description": "Japanese “open for business” button" - , "category": "Symbols" - , "aliases": [ - "u55b6" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈷️" - , "description": "Japanese “monthly amount” button" - , "category": "Symbols" - , "aliases": [ - "u6708" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✴️" - , "description": "eight-pointed star" - , "category": "Symbols" - , "aliases": [ - "eight_pointed_black_star" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🆚" - , "description": "VS button" - , "category": "Symbols" - , "aliases": [ - "vs" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💮" - , "description": "white flower" - , "category": "Symbols" - , "aliases": [ - "white_flower" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🉐" - , "description": "Japanese “bargain” button" - , "category": "Symbols" - , "aliases": [ - "ideograph_advantage" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "㊙️" - , "description": "Japanese “secret” button" - , "category": "Symbols" - , "aliases": [ - "secret" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "㊗️" - , "description": "Japanese “congratulations” button" - , "category": "Symbols" - , "aliases": [ - "congratulations" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🈴" - , "description": "Japanese “passing grade” button" - , "category": "Symbols" - , "aliases": [ - "u5408" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈵" - , "description": "Japanese “no vacancy” button" - , "category": "Symbols" - , "aliases": [ - "u6e80" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈹" - , "description": "Japanese “discount” button" - , "category": "Symbols" - , "aliases": [ - "u5272" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈲" - , "description": "Japanese “prohibited” button" - , "category": "Symbols" - , "aliases": [ - "u7981" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🅰️" - , "description": "A button (blood type)" - , "category": "Symbols" - , "aliases": [ - "a" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🅱️" - , "description": "B button (blood type)" - , "category": "Symbols" - , "aliases": [ - "b" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆎" - , "description": "AB button (blood type)" - , "category": "Symbols" - , "aliases": [ - "ab" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆑" - , "description": "CL button" - , "category": "Symbols" - , "aliases": [ - "cl" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🅾️" - , "description": "O button (blood type)" - , "category": "Symbols" - , "aliases": [ - "o2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆘" - , "description": "SOS button" - , "category": "Symbols" - , "aliases": [ - "sos" - ] - , "tags": [ - "help" - , "emergency" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❌" - , "description": "cross mark" - , "category": "Symbols" - , "aliases": [ - "x" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⭕️" - , "description": "heavy large circle" - , "category": "Symbols" - , "aliases": [ - "o" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🛑" - , "description": "stop sign" - , "category": "Symbols" - , "aliases": [ - "stop_sign" - ] - , "tags": [ - ] - , "unicode_version": "9.0" - , "ios_version": "10.2" - } -, { - "emoji": "⛔️" - , "description": "no entry" - , "category": "Symbols" - , "aliases": [ - "no_entry" - ] - , "tags": [ - "limit" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "📛" - , "description": "name badge" - , "category": "Symbols" - , "aliases": [ - "name_badge" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚫" - , "description": "prohibited" - , "category": "Symbols" - , "aliases": [ - "no_entry_sign" - ] - , "tags": [ - "block" - , "forbidden" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💯" - , "description": "hundred points" - , "category": "Symbols" - , "aliases": [ - "100" - ] - , "tags": [ - "score" - , "perfect" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💢" - , "description": "anger symbol" - , "category": "Symbols" - , "aliases": [ - "anger" - ] - , "tags": [ - "angry" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "♨️" - , "description": "hot springs" - , "category": "Symbols" - , "aliases": [ - "hotsprings" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🚷" - , "description": "no pedestrians" - , "category": "Symbols" - , "aliases": [ - "no_pedestrians" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚯" - , "description": "no littering" - , "category": "Symbols" - , "aliases": [ - "do_not_litter" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚳" - , "description": "no bicycles" - , "category": "Symbols" - , "aliases": [ - "no_bicycles" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚱" - , "description": "non-potable water" - , "category": "Symbols" - , "aliases": [ - "non-potable_water" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔞" - , "description": "no one under eighteen" - , "category": "Symbols" - , "aliases": [ - "underage" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📵" - , "description": "no mobile phones" - , "category": "Symbols" - , "aliases": [ - "no_mobile_phones" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚭" - , "description": "no smoking" - , "category": "Symbols" - , "aliases": [ - "no_smoking" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❗️" - , "description": "exclamation mark" - , "category": "Symbols" - , "aliases": [ - "exclamation" - , "heavy_exclamation_mark" - ] - , "tags": [ - "bang" - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "❕" - , "description": "white exclamation mark" - , "category": "Symbols" - , "aliases": [ - "grey_exclamation" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❓" - , "description": "question mark" - , "category": "Symbols" - , "aliases": [ - "question" - ] - , "tags": [ - "confused" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❔" - , "description": "white question mark" - , "category": "Symbols" - , "aliases": [ - "grey_question" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "‼️" - , "description": "double exclamation mark" - , "category": "Symbols" - , "aliases": [ - "bangbang" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "⁉️" - , "description": "exclamation question mark" - , "category": "Symbols" - , "aliases": [ - "interrobang" - ] - , "tags": [ - ] - , "unicode_version": "3.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔅" - , "description": "dim button" - , "category": "Symbols" - , "aliases": [ - "low_brightness" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔆" - , "description": "bright button" - , "category": "Symbols" - , "aliases": [ - "high_brightness" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "〽️" - , "description": "part alternation mark" - , "category": "Symbols" - , "aliases": [ - "part_alternation_mark" - ] - , "tags": [ - ] - , "unicode_version": "3.2" - , "ios_version": "6.0" - } -, { - "emoji": "⚠️" - , "description": "warning" - , "category": "Symbols" - , "aliases": [ - "warning" - ] - , "tags": [ - "wip" - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚸" - , "description": "children crossing" - , "category": "Symbols" - , "aliases": [ - "children_crossing" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔱" - , "description": "trident emblem" - , "category": "Symbols" - , "aliases": [ - "trident" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚜️" - , "description": "fleur-de-lis" - , "category": "Symbols" - , "aliases": [ - "fleur_de_lis" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "9.1" - } -, { - "emoji": "🔰" - , "description": "Japanese symbol for beginner" - , "category": "Symbols" - , "aliases": [ - "beginner" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "♻️" - , "description": "recycling symbol" - , "category": "Symbols" - , "aliases": [ - "recycle" - ] - , "tags": [ - "environment" - , "green" - ] - , "unicode_version": "3.2" - , "ios_version": "6.0" - } -, { - "emoji": "✅" - , "description": "white heavy check mark" - , "category": "Symbols" - , "aliases": [ - "white_check_mark" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈯️" - , "description": "Japanese “reserved” button" - , "category": "Symbols" - , "aliases": [ - "u6307" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "💹" - , "description": "chart increasing with yen" - , "category": "Symbols" - , "aliases": [ - "chart" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "❇️" - , "description": "sparkle" - , "category": "Symbols" - , "aliases": [ - "sparkle" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "✳️" - , "description": "eight-spoked asterisk" - , "category": "Symbols" - , "aliases": [ - "eight_spoked_asterisk" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "❎" - , "description": "cross mark button" - , "category": "Symbols" - , "aliases": [ - "negative_squared_cross_mark" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🌐" - , "description": "globe with meridians" - , "category": "Symbols" - , "aliases": [ - "globe_with_meridians" - ] - , "tags": [ - "world" - , "global" - , "international" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💠" - , "description": "diamond with a dot" - , "category": "Symbols" - , "aliases": [ - "diamond_shape_with_a_dot_inside" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "Ⓜ️" - , "description": "circled M" - , "category": "Symbols" - , "aliases": [ - "m" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🌀" - , "description": "cyclone" - , "category": "Symbols" - , "aliases": [ - "cyclone" - ] - , "tags": [ - "swirl" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💤" - , "description": "zzz" - , "category": "Symbols" - , "aliases": [ - "zzz" - ] - , "tags": [ - "sleeping" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏧" - , "description": "ATM sign" - , "category": "Symbols" - , "aliases": [ - "atm" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚾" - , "description": "water closet" - , "category": "Symbols" - , "aliases": [ - "wc" - ] - , "tags": [ - "toilet" - , "restroom" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "♿️" - , "description": "wheelchair symbol" - , "category": "Symbols" - , "aliases": [ - "wheelchair" - ] - , "tags": [ - "accessibility" - ] - , "unicode_version": "4.1" - , "ios_version": "6.0" - } -, { - "emoji": "🅿️" - , "description": "P button" - , "category": "Symbols" - , "aliases": [ - "parking" - ] - , "tags": [ - ] - , "unicode_version": "5.2" - , "ios_version": "6.0" - } -, { - "emoji": "🈳" - , "description": "Japanese “vacancy” button" - , "category": "Symbols" - , "aliases": [ - "u7a7a" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈂️" - , "description": "Japanese “service charge” button" - , "category": "Symbols" - , "aliases": [ - "sa" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛂" - , "description": "passport control" - , "category": "Symbols" - , "aliases": [ - "passport_control" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛃" - , "description": "customs" - , "category": "Symbols" - , "aliases": [ - "customs" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛄" - , "description": "baggage claim" - , "category": "Symbols" - , "aliases": [ - "baggage_claim" - ] - , "tags": [ - "airport" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🛅" - , "description": "left luggage" - , "category": "Symbols" - , "aliases": [ - "left_luggage" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚹" - , "description": "men’s room" - , "category": "Symbols" - , "aliases": [ - "mens" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚺" - , "description": "women’s room" - , "category": "Symbols" - , "aliases": [ - "womens" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚼" - , "description": "baby symbol" - , "category": "Symbols" - , "aliases": [ - "baby_symbol" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚻" - , "description": "restroom" - , "category": "Symbols" - , "aliases": [ - "restroom" - ] - , "tags": [ - "toilet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚮" - , "description": "litter in bin sign" - , "category": "Symbols" - , "aliases": [ - "put_litter_in_its_place" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎦" - , "description": "cinema" - , "category": "Symbols" - , "aliases": [ - "cinema" - ] - , "tags": [ - "film" - , "movie" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📶" - , "description": "antenna bars" - , "category": "Symbols" - , "aliases": [ - "signal_strength" - ] - , "tags": [ - "wifi" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🈁" - , "description": "Japanese “here” button" - , "category": "Symbols" - , "aliases": [ - "koko" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔣" - , "description": "input symbols" - , "category": "Symbols" - , "aliases": [ - "symbols" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "ℹ️" - , "description": "information" - , "category": "Symbols" - , "aliases": [ - "information_source" - ] - , "tags": [ - ] - , "unicode_version": "3.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔤" - , "description": "input latin letters" - , "category": "Symbols" - , "aliases": [ - "abc" - ] - , "tags": [ - "alphabet" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔡" - , "description": "input latin lowercase" - , "category": "Symbols" - , "aliases": [ - "abcd" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔠" - , "description": "input latin uppercase" - , "category": "Symbols" - , "aliases": [ - "capital_abcd" - ] - , "tags": [ - "letters" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆖" - , "description": "NG button" - , "category": "Symbols" - , "aliases": [ - "ng" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆗" - , "description": "OK button" - , "category": "Symbols" - , "aliases": [ - "ok" - ] - , "tags": [ - "yes" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆙" - , "description": "UP! button" - , "category": "Symbols" - , "aliases": [ - "up" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆒" - , "description": "COOL button" - , "category": "Symbols" - , "aliases": [ - "cool" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆕" - , "description": "NEW button" - , "category": "Symbols" - , "aliases": [ - "new" - ] - , "tags": [ - "fresh" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🆓" - , "description": "FREE button" - , "category": "Symbols" - , "aliases": [ - "free" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "0️⃣" - , "description": "keycap: 0" - , "category": "Symbols" - , "aliases": [ - "zero" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "1️⃣" - , "description": "keycap: 1" - , "category": "Symbols" - , "aliases": [ - "one" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "2️⃣" - , "description": "keycap: 2" - , "category": "Symbols" - , "aliases": [ - "two" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "3️⃣" - , "description": "keycap: 3" - , "category": "Symbols" - , "aliases": [ - "three" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "4️⃣" - , "description": "keycap: 4" - , "category": "Symbols" - , "aliases": [ - "four" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "5️⃣" - , "description": "keycap: 5" - , "category": "Symbols" - , "aliases": [ - "five" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "6️⃣" - , "description": "keycap: 6" - , "category": "Symbols" - , "aliases": [ - "six" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "7️⃣" - , "description": "keycap: 7" - , "category": "Symbols" - , "aliases": [ - "seven" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "8️⃣" - , "description": "keycap: 8" - , "category": "Symbols" - , "aliases": [ - "eight" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "9️⃣" - , "description": "keycap: 9" - , "category": "Symbols" - , "aliases": [ - "nine" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🔟" - , "description": "keycap 10" - , "category": "Symbols" - , "aliases": [ - "keycap_ten" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔢" - , "description": "input numbers" - , "category": "Symbols" - , "aliases": [ - "1234" - ] - , "tags": [ - "numbers" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "#️⃣" - , "description": "keycap: #" - , "category": "Symbols" - , "aliases": [ - "hash" - ] - , "tags": [ - "number" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "*️⃣" - , "description": "keycap: *" - , "category": "Symbols" - , "aliases": [ - "asterisk" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "9.1" - } -, { - "emoji": "▶️" - , "description": "play button" - , "category": "Symbols" - , "aliases": [ - "arrow_forward" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "⏸" - , "description": "pause button" - , "category": "Symbols" - , "aliases": [ - "pause_button" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏯" - , "description": "play or pause button" - , "category": "Symbols" - , "aliases": [ - "play_or_pause_button" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏹" - , "description": "stop button" - , "category": "Symbols" - , "aliases": [ - "stop_button" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏺" - , "description": "record button" - , "category": "Symbols" - , "aliases": [ - "record_button" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏭" - , "description": "next track button" - , "category": "Symbols" - , "aliases": [ - "next_track_button" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏮" - , "description": "last track button" - , "category": "Symbols" - , "aliases": [ - "previous_track_button" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.1" - } -, { - "emoji": "⏩" - , "description": "fast-forward button" - , "category": "Symbols" - , "aliases": [ - "fast_forward" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⏪" - , "description": "fast reverse button" - , "category": "Symbols" - , "aliases": [ - "rewind" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⏫" - , "description": "fast up button" - , "category": "Symbols" - , "aliases": [ - "arrow_double_up" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⏬" - , "description": "fast down button" - , "category": "Symbols" - , "aliases": [ - "arrow_double_down" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "◀️" - , "description": "reverse button" - , "category": "Symbols" - , "aliases": [ - "arrow_backward" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🔼" - , "description": "up button" - , "category": "Symbols" - , "aliases": [ - "arrow_up_small" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔽" - , "description": "down button" - , "category": "Symbols" - , "aliases": [ - "arrow_down_small" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "➡️" - , "description": "right arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_right" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "⬅️" - , "description": "left arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_left" - ] - , "tags": [ - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "⬆️" - , "description": "up arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_up" - ] - , "tags": [ - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "⬇️" - , "description": "down arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_down" - ] - , "tags": [ - ] - , "unicode_version": "4.0" - , "ios_version": "6.0" - } -, { - "emoji": "↗️" - , "description": "up-right arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_upper_right" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↘️" - , "description": "down-right arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_lower_right" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↙️" - , "description": "down-left arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_lower_left" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↖️" - , "description": "up-left arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_upper_left" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↕️" - , "description": "up-down arrow" - , "category": "Symbols" - , "aliases": [ - "arrow_up_down" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↔️" - , "description": "left-right arrow" - , "category": "Symbols" - , "aliases": [ - "left_right_arrow" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↪️" - , "description": "left arrow curving right" - , "category": "Symbols" - , "aliases": [ - "arrow_right_hook" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "↩️" - , "description": "right arrow curving left" - , "category": "Symbols" - , "aliases": [ - "leftwards_arrow_with_hook" - ] - , "tags": [ - "return" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "⤴️" - , "description": "right arrow curving up" - , "category": "Symbols" - , "aliases": [ - "arrow_heading_up" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "⤵️" - , "description": "right arrow curving down" - , "category": "Symbols" - , "aliases": [ - "arrow_heading_down" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🔀" - , "description": "shuffle tracks button" - , "category": "Symbols" - , "aliases": [ - "twisted_rightwards_arrows" - ] - , "tags": [ - "shuffle" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔁" - , "description": "repeat button" - , "category": "Symbols" - , "aliases": [ - "repeat" - ] - , "tags": [ - "loop" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔂" - , "description": "repeat single button" - , "category": "Symbols" - , "aliases": [ - "repeat_one" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔄" - , "description": "anticlockwise arrows button" - , "category": "Symbols" - , "aliases": [ - "arrows_counterclockwise" - ] - , "tags": [ - "sync" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔃" - , "description": "clockwise vertical arrows" - , "category": "Symbols" - , "aliases": [ - "arrows_clockwise" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎵" - , "description": "musical note" - , "category": "Symbols" - , "aliases": [ - "musical_note" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎶" - , "description": "musical notes" - , "category": "Symbols" - , "aliases": [ - "notes" - ] - , "tags": [ - "music" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "➕" - , "description": "heavy plus sign" - , "category": "Symbols" - , "aliases": [ - "heavy_plus_sign" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "➖" - , "description": "heavy minus sign" - , "category": "Symbols" - , "aliases": [ - "heavy_minus_sign" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "➗" - , "description": "heavy division sign" - , "category": "Symbols" - , "aliases": [ - "heavy_division_sign" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✖️" - , "description": "heavy multiplication x" - , "category": "Symbols" - , "aliases": [ - "heavy_multiplication_x" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "💲" - , "description": "heavy dollar sign" - , "category": "Symbols" - , "aliases": [ - "heavy_dollar_sign" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💱" - , "description": "currency exchange" - , "category": "Symbols" - , "aliases": [ - "currency_exchange" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "™️" - , "description": "trade mark" - , "category": "Symbols" - , "aliases": [ - "tm" - ] - , "tags": [ - "trademark" - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "©️" - , "description": "copyright" - , "category": "Symbols" - , "aliases": [ - "copyright" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "®️" - , "description": "registered" - , "category": "Symbols" - , "aliases": [ - "registered" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "〰️" - , "description": "wavy dash" - , "category": "Symbols" - , "aliases": [ - "wavy_dash" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "➰" - , "description": "curly loop" - , "category": "Symbols" - , "aliases": [ - "curly_loop" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "➿" - , "description": "double curly loop" - , "category": "Symbols" - , "aliases": [ - "loop" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔚" - , "description": "END arrow" - , "category": "Symbols" - , "aliases": [ - "end" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔙" - , "description": "BACK arrow" - , "category": "Symbols" - , "aliases": [ - "back" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔛" - , "description": "ON! arrow" - , "category": "Symbols" - , "aliases": [ - "on" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔝" - , "description": "TOP arrow" - , "category": "Symbols" - , "aliases": [ - "top" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔜" - , "description": "SOON arrow" - , "category": "Symbols" - , "aliases": [ - "soon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "✔️" - , "description": "heavy check mark" - , "category": "Symbols" - , "aliases": [ - "heavy_check_mark" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "☑️" - , "description": "ballot box with check" - , "category": "Symbols" - , "aliases": [ - "ballot_box_with_check" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🔘" - , "description": "radio button" - , "category": "Symbols" - , "aliases": [ - "radio_button" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "⚪️" - , "description": "white circle" - , "category": "Symbols" - , "aliases": [ - "white_circle" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "6.0" - } -, { - "emoji": "⚫️" - , "description": "black circle" - , "category": "Symbols" - , "aliases": [ - "black_circle" - ] - , "tags": [ - ] - , "unicode_version": "4.1" - , "ios_version": "6.0" - } -, { - "emoji": "🔴" - , "description": "red circle" - , "category": "Symbols" - , "aliases": [ - "red_circle" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔵" - , "description": "blue circle" - , "category": "Symbols" - , "aliases": [ - "large_blue_circle" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔺" - , "description": "red triangle pointed up" - , "category": "Symbols" - , "aliases": [ - "small_red_triangle" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔻" - , "description": "red triangle pointed down" - , "category": "Symbols" - , "aliases": [ - "small_red_triangle_down" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔸" - , "description": "small orange diamond" - , "category": "Symbols" - , "aliases": [ - "small_orange_diamond" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔹" - , "description": "small blue diamond" - , "category": "Symbols" - , "aliases": [ - "small_blue_diamond" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔶" - , "description": "large orange diamond" - , "category": "Symbols" - , "aliases": [ - "large_orange_diamond" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔷" - , "description": "large blue diamond" - , "category": "Symbols" - , "aliases": [ - "large_blue_diamond" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔳" - , "description": "white square button" - , "category": "Symbols" - , "aliases": [ - "white_square_button" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔲" - , "description": "black square button" - , "category": "Symbols" - , "aliases": [ - "black_square_button" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "▪️" - , "description": "black small square" - , "category": "Symbols" - , "aliases": [ - "black_small_square" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "▫️" - , "description": "white small square" - , "category": "Symbols" - , "aliases": [ - "white_small_square" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "◾️" - , "description": "black medium-small square" - , "category": "Symbols" - , "aliases": [ - "black_medium_small_square" - ] - , "tags": [ - ] - , "unicode_version": "3.2" - , "ios_version": "6.0" - } -, { - "emoji": "◽️" - , "description": "white medium-small square" - , "category": "Symbols" - , "aliases": [ - "white_medium_small_square" - ] - , "tags": [ - ] - , "unicode_version": "3.2" - , "ios_version": "6.0" - } -, { - "emoji": "◼️" - , "description": "black medium square" - , "category": "Symbols" - , "aliases": [ - "black_medium_square" - ] - , "tags": [ - ] - , "unicode_version": "3.2" - , "ios_version": "6.0" - } -, { - "emoji": "◻️" - , "description": "white medium square" - , "category": "Symbols" - , "aliases": [ - "white_medium_square" - ] - , "tags": [ - ] - , "unicode_version": "3.2" - , "ios_version": "6.0" - } -, { - "emoji": "⬛️" - , "description": "black large square" - , "category": "Symbols" - , "aliases": [ - "black_large_square" - ] - , "tags": [ - ] - , "unicode_version": "5.1" - , "ios_version": "6.0" - } -, { - "emoji": "⬜️" - , "description": "white large square" - , "category": "Symbols" - , "aliases": [ - "white_large_square" - ] - , "tags": [ - ] - , "unicode_version": "5.1" - , "ios_version": "6.0" - } -, { - "emoji": "🔈" - , "description": "speaker low volume" - , "category": "Symbols" - , "aliases": [ - "speaker" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔇" - , "description": "muted speaker" - , "category": "Symbols" - , "aliases": [ - "mute" - ] - , "tags": [ - "sound" - , "volume" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔉" - , "description": "speaker medium volume" - , "category": "Symbols" - , "aliases": [ - "sound" - ] - , "tags": [ - "volume" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔊" - , "description": "speaker high volume" - , "category": "Symbols" - , "aliases": [ - "loud_sound" - ] - , "tags": [ - "volume" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔔" - , "description": "bell" - , "category": "Symbols" - , "aliases": [ - "bell" - ] - , "tags": [ - "sound" - , "notification" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🔕" - , "description": "bell with slash" - , "category": "Symbols" - , "aliases": [ - "no_bell" - ] - , "tags": [ - "volume" - , "off" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📣" - , "description": "megaphone" - , "category": "Symbols" - , "aliases": [ - "mega" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "📢" - , "description": "loudspeaker" - , "category": "Symbols" - , "aliases": [ - "loudspeaker" - ] - , "tags": [ - "announcement" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "👁‍🗨" - , "description": "eye in speech bubble" - , "category": "Symbols" - , "aliases": [ - "eye_speech_bubble" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.1" - } -, { - "emoji": "💬" - , "description": "speech balloon" - , "category": "Symbols" - , "aliases": [ - "speech_balloon" - ] - , "tags": [ - "comment" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "💭" - , "description": "thought balloon" - , "category": "Symbols" - , "aliases": [ - "thought_balloon" - ] - , "tags": [ - "thinking" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🗯" - , "description": "right anger bubble" - , "category": "Symbols" - , "aliases": [ - "right_anger_bubble" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "♠️" - , "description": "spade suit" - , "category": "Symbols" - , "aliases": [ - "spades" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♣️" - , "description": "club suit" - , "category": "Symbols" - , "aliases": [ - "clubs" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♥️" - , "description": "heart suit" - , "category": "Symbols" - , "aliases": [ - "hearts" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "♦️" - , "description": "diamond suit" - , "category": "Symbols" - , "aliases": [ - "diamonds" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🃏" - , "description": "joker" - , "category": "Symbols" - , "aliases": [ - "black_joker" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎴" - , "description": "flower playing cards" - , "category": "Symbols" - , "aliases": [ - "flower_playing_cards" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🀄️" - , "description": "mahjong red dragon" - , "category": "Symbols" - , "aliases": [ - "mahjong" - ] - , "tags": [ - ] - , "unicode_version": "" - , "ios_version": "6.0" - } -, { - "emoji": "🕐" - , "description": "one o’clock" - , "category": "Symbols" - , "aliases": [ - "clock1" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕑" - , "description": "two o’clock" - , "category": "Symbols" - , "aliases": [ - "clock2" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕒" - , "description": "three o’clock" - , "category": "Symbols" - , "aliases": [ - "clock3" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕓" - , "description": "four o’clock" - , "category": "Symbols" - , "aliases": [ - "clock4" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕔" - , "description": "five o’clock" - , "category": "Symbols" - , "aliases": [ - "clock5" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕕" - , "description": "six o’clock" - , "category": "Symbols" - , "aliases": [ - "clock6" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕖" - , "description": "seven o’clock" - , "category": "Symbols" - , "aliases": [ - "clock7" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕗" - , "description": "eight o’clock" - , "category": "Symbols" - , "aliases": [ - "clock8" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕘" - , "description": "nine o’clock" - , "category": "Symbols" - , "aliases": [ - "clock9" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕙" - , "description": "ten o’clock" - , "category": "Symbols" - , "aliases": [ - "clock10" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕚" - , "description": "eleven o’clock" - , "category": "Symbols" - , "aliases": [ - "clock11" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕛" - , "description": "twelve o’clock" - , "category": "Symbols" - , "aliases": [ - "clock12" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕜" - , "description": "one-thirty" - , "category": "Symbols" - , "aliases": [ - "clock130" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕝" - , "description": "two-thirty" - , "category": "Symbols" - , "aliases": [ - "clock230" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕞" - , "description": "three-thirty" - , "category": "Symbols" - , "aliases": [ - "clock330" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕟" - , "description": "four-thirty" - , "category": "Symbols" - , "aliases": [ - "clock430" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕠" - , "description": "five-thirty" - , "category": "Symbols" - , "aliases": [ - "clock530" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕡" - , "description": "six-thirty" - , "category": "Symbols" - , "aliases": [ - "clock630" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕢" - , "description": "seven-thirty" - , "category": "Symbols" - , "aliases": [ - "clock730" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕣" - , "description": "eight-thirty" - , "category": "Symbols" - , "aliases": [ - "clock830" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕤" - , "description": "nine-thirty" - , "category": "Symbols" - , "aliases": [ - "clock930" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕥" - , "description": "ten-thirty" - , "category": "Symbols" - , "aliases": [ - "clock1030" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕦" - , "description": "eleven-thirty" - , "category": "Symbols" - , "aliases": [ - "clock1130" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🕧" - , "description": "twelve-thirty" - , "category": "Symbols" - , "aliases": [ - "clock1230" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏳️" - , "description": "white flag" - , "category": "Flags" - , "aliases": [ - "white_flag" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏴" - , "description": "black flag" - , "category": "Flags" - , "aliases": [ - "black_flag" - ] - , "tags": [ - ] - , "unicode_version": "7.0" - , "ios_version": "9.1" - } -, { - "emoji": "🏁" - , "description": "chequered flag" - , "category": "Flags" - , "aliases": [ - "checkered_flag" - ] - , "tags": [ - "milestone" - , "finish" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🚩" - , "description": "triangular flag" - , "category": "Flags" - , "aliases": [ - "triangular_flag_on_post" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🏳️‍🌈" - , "description": "rainbow flag" - , "category": "Flags" - , "aliases": [ - "rainbow_flag" - ] - , "tags": [ - "pride" - ] - , "unicode_version": "6.0" - , "ios_version": "10.0" - } -, { - "emoji": "🇦🇫" - , "description": "Afghanistan" - , "category": "Flags" - , "aliases": [ - "afghanistan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇽" - , "description": "Åland Islands" - , "category": "Flags" - , "aliases": [ - "aland_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇦🇱" - , "description": "Albania" - , "category": "Flags" - , "aliases": [ - "albania" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇩🇿" - , "description": "Algeria" - , "category": "Flags" - , "aliases": [ - "algeria" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇸" - , "description": "American Samoa" - , "category": "Flags" - , "aliases": [ - "american_samoa" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇩" - , "description": "Andorra" - , "category": "Flags" - , "aliases": [ - "andorra" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇴" - , "description": "Angola" - , "category": "Flags" - , "aliases": [ - "angola" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇮" - , "description": "Anguilla" - , "category": "Flags" - , "aliases": [ - "anguilla" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇶" - , "description": "Antarctica" - , "category": "Flags" - , "aliases": [ - "antarctica" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇦🇬" - , "description": "Antigua & Barbuda" - , "category": "Flags" - , "aliases": [ - "antigua_barbuda" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇷" - , "description": "Argentina" - , "category": "Flags" - , "aliases": [ - "argentina" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇲" - , "description": "Armenia" - , "category": "Flags" - , "aliases": [ - "armenia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇼" - , "description": "Aruba" - , "category": "Flags" - , "aliases": [ - "aruba" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇺" - , "description": "Australia" - , "category": "Flags" - , "aliases": [ - "australia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇹" - , "description": "Austria" - , "category": "Flags" - , "aliases": [ - "austria" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇿" - , "description": "Azerbaijan" - , "category": "Flags" - , "aliases": [ - "azerbaijan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇸" - , "description": "Bahamas" - , "category": "Flags" - , "aliases": [ - "bahamas" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇭" - , "description": "Bahrain" - , "category": "Flags" - , "aliases": [ - "bahrain" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇩" - , "description": "Bangladesh" - , "category": "Flags" - , "aliases": [ - "bangladesh" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇧" - , "description": "Barbados" - , "category": "Flags" - , "aliases": [ - "barbados" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇾" - , "description": "Belarus" - , "category": "Flags" - , "aliases": [ - "belarus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇪" - , "description": "Belgium" - , "category": "Flags" - , "aliases": [ - "belgium" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇿" - , "description": "Belize" - , "category": "Flags" - , "aliases": [ - "belize" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇯" - , "description": "Benin" - , "category": "Flags" - , "aliases": [ - "benin" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇲" - , "description": "Bermuda" - , "category": "Flags" - , "aliases": [ - "bermuda" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇹" - , "description": "Bhutan" - , "category": "Flags" - , "aliases": [ - "bhutan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇴" - , "description": "Bolivia" - , "category": "Flags" - , "aliases": [ - "bolivia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇶" - , "description": "Caribbean Netherlands" - , "category": "Flags" - , "aliases": [ - "caribbean_netherlands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇧🇦" - , "description": "Bosnia & Herzegovina" - , "category": "Flags" - , "aliases": [ - "bosnia_herzegovina" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇼" - , "description": "Botswana" - , "category": "Flags" - , "aliases": [ - "botswana" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇷" - , "description": "Brazil" - , "category": "Flags" - , "aliases": [ - "brazil" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇴" - , "description": "British Indian Ocean Territory" - , "category": "Flags" - , "aliases": [ - "british_indian_ocean_territory" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇻🇬" - , "description": "British Virgin Islands" - , "category": "Flags" - , "aliases": [ - "british_virgin_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇳" - , "description": "Brunei" - , "category": "Flags" - , "aliases": [ - "brunei" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇬" - , "description": "Bulgaria" - , "category": "Flags" - , "aliases": [ - "bulgaria" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇫" - , "description": "Burkina Faso" - , "category": "Flags" - , "aliases": [ - "burkina_faso" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇮" - , "description": "Burundi" - , "category": "Flags" - , "aliases": [ - "burundi" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇻" - , "description": "Cape Verde" - , "category": "Flags" - , "aliases": [ - "cape_verde" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇭" - , "description": "Cambodia" - , "category": "Flags" - , "aliases": [ - "cambodia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇲" - , "description": "Cameroon" - , "category": "Flags" - , "aliases": [ - "cameroon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇦" - , "description": "Canada" - , "category": "Flags" - , "aliases": [ - "canada" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇨" - , "description": "Canary Islands" - , "category": "Flags" - , "aliases": [ - "canary_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇰🇾" - , "description": "Cayman Islands" - , "category": "Flags" - , "aliases": [ - "cayman_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇫" - , "description": "Central African Republic" - , "category": "Flags" - , "aliases": [ - "central_african_republic" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇩" - , "description": "Chad" - , "category": "Flags" - , "aliases": [ - "chad" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇨🇱" - , "description": "Chile" - , "category": "Flags" - , "aliases": [ - "chile" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇳" - , "description": "China" - , "category": "Flags" - , "aliases": [ - "cn" - ] - , "tags": [ - "china" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇨🇽" - , "description": "Christmas Island" - , "category": "Flags" - , "aliases": [ - "christmas_island" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇨🇨" - , "description": "Cocos (Keeling) Islands" - , "category": "Flags" - , "aliases": [ - "cocos_islands" - ] - , "tags": [ - "keeling" - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇨🇴" - , "description": "Colombia" - , "category": "Flags" - , "aliases": [ - "colombia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇲" - , "description": "Comoros" - , "category": "Flags" - , "aliases": [ - "comoros" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇬" - , "description": "Congo - Brazzaville" - , "category": "Flags" - , "aliases": [ - "congo_brazzaville" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇩" - , "description": "Congo - Kinshasa" - , "category": "Flags" - , "aliases": [ - "congo_kinshasa" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇰" - , "description": "Cook Islands" - , "category": "Flags" - , "aliases": [ - "cook_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇷" - , "description": "Costa Rica" - , "category": "Flags" - , "aliases": [ - "costa_rica" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇮" - , "description": "Côte d’Ivoire" - , "category": "Flags" - , "aliases": [ - "cote_divoire" - ] - , "tags": [ - "ivory" - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇭🇷" - , "description": "Croatia" - , "category": "Flags" - , "aliases": [ - "croatia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇺" - , "description": "Cuba" - , "category": "Flags" - , "aliases": [ - "cuba" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇼" - , "description": "Curaçao" - , "category": "Flags" - , "aliases": [ - "curacao" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇾" - , "description": "Cyprus" - , "category": "Flags" - , "aliases": [ - "cyprus" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇿" - , "description": "Czech Republic" - , "category": "Flags" - , "aliases": [ - "czech_republic" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇩🇰" - , "description": "Denmark" - , "category": "Flags" - , "aliases": [ - "denmark" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇩🇯" - , "description": "Djibouti" - , "category": "Flags" - , "aliases": [ - "djibouti" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇩🇲" - , "description": "Dominica" - , "category": "Flags" - , "aliases": [ - "dominica" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇩🇴" - , "description": "Dominican Republic" - , "category": "Flags" - , "aliases": [ - "dominican_republic" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇨" - , "description": "Ecuador" - , "category": "Flags" - , "aliases": [ - "ecuador" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇬" - , "description": "Egypt" - , "category": "Flags" - , "aliases": [ - "egypt" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇻" - , "description": "El Salvador" - , "category": "Flags" - , "aliases": [ - "el_salvador" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇶" - , "description": "Equatorial Guinea" - , "category": "Flags" - , "aliases": [ - "equatorial_guinea" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇷" - , "description": "Eritrea" - , "category": "Flags" - , "aliases": [ - "eritrea" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇪" - , "description": "Estonia" - , "category": "Flags" - , "aliases": [ - "estonia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇹" - , "description": "Ethiopia" - , "category": "Flags" - , "aliases": [ - "ethiopia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇺" - , "description": "European Union" - , "category": "Flags" - , "aliases": [ - "eu" - , "european_union" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇫🇰" - , "description": "Falkland Islands" - , "category": "Flags" - , "aliases": [ - "falkland_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇫🇴" - , "description": "Faroe Islands" - , "category": "Flags" - , "aliases": [ - "faroe_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇫🇯" - , "description": "Fiji" - , "category": "Flags" - , "aliases": [ - "fiji" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇫🇮" - , "description": "Finland" - , "category": "Flags" - , "aliases": [ - "finland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇫🇷" - , "description": "France" - , "category": "Flags" - , "aliases": [ - "fr" - ] - , "tags": [ - "france" - , "french" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇬🇫" - , "description": "French Guiana" - , "category": "Flags" - , "aliases": [ - "french_guiana" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇫" - , "description": "French Polynesia" - , "category": "Flags" - , "aliases": [ - "french_polynesia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇹🇫" - , "description": "French Southern Territories" - , "category": "Flags" - , "aliases": [ - "french_southern_territories" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇦" - , "description": "Gabon" - , "category": "Flags" - , "aliases": [ - "gabon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇲" - , "description": "Gambia" - , "category": "Flags" - , "aliases": [ - "gambia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇪" - , "description": "Georgia" - , "category": "Flags" - , "aliases": [ - "georgia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇩🇪" - , "description": "Germany" - , "category": "Flags" - , "aliases": [ - "de" - ] - , "tags": [ - "flag" - , "germany" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇬🇭" - , "description": "Ghana" - , "category": "Flags" - , "aliases": [ - "ghana" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇮" - , "description": "Gibraltar" - , "category": "Flags" - , "aliases": [ - "gibraltar" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇷" - , "description": "Greece" - , "category": "Flags" - , "aliases": [ - "greece" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇱" - , "description": "Greenland" - , "category": "Flags" - , "aliases": [ - "greenland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇬🇩" - , "description": "Grenada" - , "category": "Flags" - , "aliases": [ - "grenada" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇵" - , "description": "Guadeloupe" - , "category": "Flags" - , "aliases": [ - "guadeloupe" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇬🇺" - , "description": "Guam" - , "category": "Flags" - , "aliases": [ - "guam" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇹" - , "description": "Guatemala" - , "category": "Flags" - , "aliases": [ - "guatemala" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇬" - , "description": "Guernsey" - , "category": "Flags" - , "aliases": [ - "guernsey" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇬🇳" - , "description": "Guinea" - , "category": "Flags" - , "aliases": [ - "guinea" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇼" - , "description": "Guinea-Bissau" - , "category": "Flags" - , "aliases": [ - "guinea_bissau" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇾" - , "description": "Guyana" - , "category": "Flags" - , "aliases": [ - "guyana" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇭🇹" - , "description": "Haiti" - , "category": "Flags" - , "aliases": [ - "haiti" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇭🇳" - , "description": "Honduras" - , "category": "Flags" - , "aliases": [ - "honduras" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇭🇰" - , "description": "Hong Kong SAR China" - , "category": "Flags" - , "aliases": [ - "hong_kong" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇭🇺" - , "description": "Hungary" - , "category": "Flags" - , "aliases": [ - "hungary" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇸" - , "description": "Iceland" - , "category": "Flags" - , "aliases": [ - "iceland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇳" - , "description": "India" - , "category": "Flags" - , "aliases": [ - "india" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇩" - , "description": "Indonesia" - , "category": "Flags" - , "aliases": [ - "indonesia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇷" - , "description": "Iran" - , "category": "Flags" - , "aliases": [ - "iran" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇶" - , "description": "Iraq" - , "category": "Flags" - , "aliases": [ - "iraq" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇪" - , "description": "Ireland" - , "category": "Flags" - , "aliases": [ - "ireland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇲" - , "description": "Isle of Man" - , "category": "Flags" - , "aliases": [ - "isle_of_man" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇮🇱" - , "description": "Israel" - , "category": "Flags" - , "aliases": [ - "israel" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇮🇹" - , "description": "Italy" - , "category": "Flags" - , "aliases": [ - "it" - ] - , "tags": [ - "italy" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇯🇲" - , "description": "Jamaica" - , "category": "Flags" - , "aliases": [ - "jamaica" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇯🇵" - , "description": "Japan" - , "category": "Flags" - , "aliases": [ - "jp" - ] - , "tags": [ - "japan" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🎌" - , "description": "crossed flags" - , "category": "Flags" - , "aliases": [ - "crossed_flags" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇯🇪" - , "description": "Jersey" - , "category": "Flags" - , "aliases": [ - "jersey" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇯🇴" - , "description": "Jordan" - , "category": "Flags" - , "aliases": [ - "jordan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇿" - , "description": "Kazakhstan" - , "category": "Flags" - , "aliases": [ - "kazakhstan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇪" - , "description": "Kenya" - , "category": "Flags" - , "aliases": [ - "kenya" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇮" - , "description": "Kiribati" - , "category": "Flags" - , "aliases": [ - "kiribati" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇽🇰" - , "description": "Kosovo" - , "category": "Flags" - , "aliases": [ - "kosovo" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇼" - , "description": "Kuwait" - , "category": "Flags" - , "aliases": [ - "kuwait" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇬" - , "description": "Kyrgyzstan" - , "category": "Flags" - , "aliases": [ - "kyrgyzstan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇦" - , "description": "Laos" - , "category": "Flags" - , "aliases": [ - "laos" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇻" - , "description": "Latvia" - , "category": "Flags" - , "aliases": [ - "latvia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇧" - , "description": "Lebanon" - , "category": "Flags" - , "aliases": [ - "lebanon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇸" - , "description": "Lesotho" - , "category": "Flags" - , "aliases": [ - "lesotho" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇷" - , "description": "Liberia" - , "category": "Flags" - , "aliases": [ - "liberia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇾" - , "description": "Libya" - , "category": "Flags" - , "aliases": [ - "libya" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇮" - , "description": "Liechtenstein" - , "category": "Flags" - , "aliases": [ - "liechtenstein" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇹" - , "description": "Lithuania" - , "category": "Flags" - , "aliases": [ - "lithuania" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇺" - , "description": "Luxembourg" - , "category": "Flags" - , "aliases": [ - "luxembourg" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇴" - , "description": "Macau SAR China" - , "category": "Flags" - , "aliases": [ - "macau" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇰" - , "description": "Macedonia" - , "category": "Flags" - , "aliases": [ - "macedonia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇬" - , "description": "Madagascar" - , "category": "Flags" - , "aliases": [ - "madagascar" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇼" - , "description": "Malawi" - , "category": "Flags" - , "aliases": [ - "malawi" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇾" - , "description": "Malaysia" - , "category": "Flags" - , "aliases": [ - "malaysia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇻" - , "description": "Maldives" - , "category": "Flags" - , "aliases": [ - "maldives" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇱" - , "description": "Mali" - , "category": "Flags" - , "aliases": [ - "mali" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇹" - , "description": "Malta" - , "category": "Flags" - , "aliases": [ - "malta" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇭" - , "description": "Marshall Islands" - , "category": "Flags" - , "aliases": [ - "marshall_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇲🇶" - , "description": "Martinique" - , "category": "Flags" - , "aliases": [ - "martinique" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇲🇷" - , "description": "Mauritania" - , "category": "Flags" - , "aliases": [ - "mauritania" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇺" - , "description": "Mauritius" - , "category": "Flags" - , "aliases": [ - "mauritius" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇾🇹" - , "description": "Mayotte" - , "category": "Flags" - , "aliases": [ - "mayotte" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇲🇽" - , "description": "Mexico" - , "category": "Flags" - , "aliases": [ - "mexico" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇫🇲" - , "description": "Micronesia" - , "category": "Flags" - , "aliases": [ - "micronesia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇲🇩" - , "description": "Moldova" - , "category": "Flags" - , "aliases": [ - "moldova" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇨" - , "description": "Monaco" - , "category": "Flags" - , "aliases": [ - "monaco" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇲🇳" - , "description": "Mongolia" - , "category": "Flags" - , "aliases": [ - "mongolia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇪" - , "description": "Montenegro" - , "category": "Flags" - , "aliases": [ - "montenegro" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇸" - , "description": "Montserrat" - , "category": "Flags" - , "aliases": [ - "montserrat" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇦" - , "description": "Morocco" - , "category": "Flags" - , "aliases": [ - "morocco" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇿" - , "description": "Mozambique" - , "category": "Flags" - , "aliases": [ - "mozambique" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇲🇲" - , "description": "Myanmar (Burma)" - , "category": "Flags" - , "aliases": [ - "myanmar" - ] - , "tags": [ - "burma" - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇦" - , "description": "Namibia" - , "category": "Flags" - , "aliases": [ - "namibia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇷" - , "description": "Nauru" - , "category": "Flags" - , "aliases": [ - "nauru" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇳🇵" - , "description": "Nepal" - , "category": "Flags" - , "aliases": [ - "nepal" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇱" - , "description": "Netherlands" - , "category": "Flags" - , "aliases": [ - "netherlands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇨" - , "description": "New Caledonia" - , "category": "Flags" - , "aliases": [ - "new_caledonia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇿" - , "description": "New Zealand" - , "category": "Flags" - , "aliases": [ - "new_zealand" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇮" - , "description": "Nicaragua" - , "category": "Flags" - , "aliases": [ - "nicaragua" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇪" - , "description": "Niger" - , "category": "Flags" - , "aliases": [ - "niger" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇬" - , "description": "Nigeria" - , "category": "Flags" - , "aliases": [ - "nigeria" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇺" - , "description": "Niue" - , "category": "Flags" - , "aliases": [ - "niue" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇫" - , "description": "Norfolk Island" - , "category": "Flags" - , "aliases": [ - "norfolk_island" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇲🇵" - , "description": "Northern Mariana Islands" - , "category": "Flags" - , "aliases": [ - "northern_mariana_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇰🇵" - , "description": "North Korea" - , "category": "Flags" - , "aliases": [ - "north_korea" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇳🇴" - , "description": "Norway" - , "category": "Flags" - , "aliases": [ - "norway" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇴🇲" - , "description": "Oman" - , "category": "Flags" - , "aliases": [ - "oman" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇰" - , "description": "Pakistan" - , "category": "Flags" - , "aliases": [ - "pakistan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇼" - , "description": "Palau" - , "category": "Flags" - , "aliases": [ - "palau" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇸" - , "description": "Palestinian Territories" - , "category": "Flags" - , "aliases": [ - "palestinian_territories" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇦" - , "description": "Panama" - , "category": "Flags" - , "aliases": [ - "panama" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇬" - , "description": "Papua New Guinea" - , "category": "Flags" - , "aliases": [ - "papua_new_guinea" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇾" - , "description": "Paraguay" - , "category": "Flags" - , "aliases": [ - "paraguay" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇪" - , "description": "Peru" - , "category": "Flags" - , "aliases": [ - "peru" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇭" - , "description": "Philippines" - , "category": "Flags" - , "aliases": [ - "philippines" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇳" - , "description": "Pitcairn Islands" - , "category": "Flags" - , "aliases": [ - "pitcairn_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇵🇱" - , "description": "Poland" - , "category": "Flags" - , "aliases": [ - "poland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇹" - , "description": "Portugal" - , "category": "Flags" - , "aliases": [ - "portugal" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇷" - , "description": "Puerto Rico" - , "category": "Flags" - , "aliases": [ - "puerto_rico" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇶🇦" - , "description": "Qatar" - , "category": "Flags" - , "aliases": [ - "qatar" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇷🇪" - , "description": "Réunion" - , "category": "Flags" - , "aliases": [ - "reunion" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇷🇴" - , "description": "Romania" - , "category": "Flags" - , "aliases": [ - "romania" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇷🇺" - , "description": "Russia" - , "category": "Flags" - , "aliases": [ - "ru" - ] - , "tags": [ - "russia" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇷🇼" - , "description": "Rwanda" - , "category": "Flags" - , "aliases": [ - "rwanda" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇧🇱" - , "description": "St. Barthélemy" - , "category": "Flags" - , "aliases": [ - "st_barthelemy" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇸🇭" - , "description": "St. Helena" - , "category": "Flags" - , "aliases": [ - "st_helena" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇰🇳" - , "description": "St. Kitts & Nevis" - , "category": "Flags" - , "aliases": [ - "st_kitts_nevis" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇱🇨" - , "description": "St. Lucia" - , "category": "Flags" - , "aliases": [ - "st_lucia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇵🇲" - , "description": "St. Pierre & Miquelon" - , "category": "Flags" - , "aliases": [ - "st_pierre_miquelon" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇻🇨" - , "description": "St. Vincent & Grenadines" - , "category": "Flags" - , "aliases": [ - "st_vincent_grenadines" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇼🇸" - , "description": "Samoa" - , "category": "Flags" - , "aliases": [ - "samoa" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇲" - , "description": "San Marino" - , "category": "Flags" - , "aliases": [ - "san_marino" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇹" - , "description": "São Tomé & Príncipe" - , "category": "Flags" - , "aliases": [ - "sao_tome_principe" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇦" - , "description": "Saudi Arabia" - , "category": "Flags" - , "aliases": [ - "saudi_arabia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇳" - , "description": "Senegal" - , "category": "Flags" - , "aliases": [ - "senegal" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇷🇸" - , "description": "Serbia" - , "category": "Flags" - , "aliases": [ - "serbia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇨" - , "description": "Seychelles" - , "category": "Flags" - , "aliases": [ - "seychelles" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇱" - , "description": "Sierra Leone" - , "category": "Flags" - , "aliases": [ - "sierra_leone" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇬" - , "description": "Singapore" - , "category": "Flags" - , "aliases": [ - "singapore" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇽" - , "description": "Sint Maarten" - , "category": "Flags" - , "aliases": [ - "sint_maarten" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇰" - , "description": "Slovakia" - , "category": "Flags" - , "aliases": [ - "slovakia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇮" - , "description": "Slovenia" - , "category": "Flags" - , "aliases": [ - "slovenia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇧" - , "description": "Solomon Islands" - , "category": "Flags" - , "aliases": [ - "solomon_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇴" - , "description": "Somalia" - , "category": "Flags" - , "aliases": [ - "somalia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇿🇦" - , "description": "South Africa" - , "category": "Flags" - , "aliases": [ - "south_africa" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇸" - , "description": "South Georgia & South Sandwich Islands" - , "category": "Flags" - , "aliases": [ - "south_georgia_south_sandwich_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇰🇷" - , "description": "South Korea" - , "category": "Flags" - , "aliases": [ - "kr" - ] - , "tags": [ - "korea" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇸🇸" - , "description": "South Sudan" - , "category": "Flags" - , "aliases": [ - "south_sudan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇪🇸" - , "description": "Spain" - , "category": "Flags" - , "aliases": [ - "es" - ] - , "tags": [ - "spain" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇱🇰" - , "description": "Sri Lanka" - , "category": "Flags" - , "aliases": [ - "sri_lanka" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇩" - , "description": "Sudan" - , "category": "Flags" - , "aliases": [ - "sudan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇷" - , "description": "Suriname" - , "category": "Flags" - , "aliases": [ - "suriname" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇿" - , "description": "Swaziland" - , "category": "Flags" - , "aliases": [ - "swaziland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇪" - , "description": "Sweden" - , "category": "Flags" - , "aliases": [ - "sweden" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇨🇭" - , "description": "Switzerland" - , "category": "Flags" - , "aliases": [ - "switzerland" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇸🇾" - , "description": "Syria" - , "category": "Flags" - , "aliases": [ - "syria" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇼" - , "description": "Taiwan" - , "category": "Flags" - , "aliases": [ - "taiwan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇹🇯" - , "description": "Tajikistan" - , "category": "Flags" - , "aliases": [ - "tajikistan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇿" - , "description": "Tanzania" - , "category": "Flags" - , "aliases": [ - "tanzania" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇭" - , "description": "Thailand" - , "category": "Flags" - , "aliases": [ - "thailand" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇱" - , "description": "Timor-Leste" - , "category": "Flags" - , "aliases": [ - "timor_leste" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇬" - , "description": "Togo" - , "category": "Flags" - , "aliases": [ - "togo" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇰" - , "description": "Tokelau" - , "category": "Flags" - , "aliases": [ - "tokelau" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇹🇴" - , "description": "Tonga" - , "category": "Flags" - , "aliases": [ - "tonga" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇹" - , "description": "Trinidad & Tobago" - , "category": "Flags" - , "aliases": [ - "trinidad_tobago" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇳" - , "description": "Tunisia" - , "category": "Flags" - , "aliases": [ - "tunisia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇷" - , "description": "Turkey" - , "category": "Flags" - , "aliases": [ - "tr" - ] - , "tags": [ - "turkey" - ] - , "unicode_version": "8.0" - , "ios_version": "9.1" - } -, { - "emoji": "🇹🇲" - , "description": "Turkmenistan" - , "category": "Flags" - , "aliases": [ - "turkmenistan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇨" - , "description": "Turks & Caicos Islands" - , "category": "Flags" - , "aliases": [ - "turks_caicos_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇹🇻" - , "description": "Tuvalu" - , "category": "Flags" - , "aliases": [ - "tuvalu" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇺🇬" - , "description": "Uganda" - , "category": "Flags" - , "aliases": [ - "uganda" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇺🇦" - , "description": "Ukraine" - , "category": "Flags" - , "aliases": [ - "ukraine" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇦🇪" - , "description": "United Arab Emirates" - , "category": "Flags" - , "aliases": [ - "united_arab_emirates" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇬🇧" - , "description": "United Kingdom" - , "category": "Flags" - , "aliases": [ - "gb" - , "uk" - ] - , "tags": [ - "flag" - , "british" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇺🇸" - , "description": "United States" - , "category": "Flags" - , "aliases": [ - "us" - ] - , "tags": [ - "flag" - , "united" - , "america" - ] - , "unicode_version": "6.0" - , "ios_version": "6.0" - } -, { - "emoji": "🇻🇮" - , "description": "U.S. Virgin Islands" - , "category": "Flags" - , "aliases": [ - "us_virgin_islands" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇺🇾" - , "description": "Uruguay" - , "category": "Flags" - , "aliases": [ - "uruguay" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇺🇿" - , "description": "Uzbekistan" - , "category": "Flags" - , "aliases": [ - "uzbekistan" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇻🇺" - , "description": "Vanuatu" - , "category": "Flags" - , "aliases": [ - "vanuatu" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇻🇦" - , "description": "Vatican City" - , "category": "Flags" - , "aliases": [ - "vatican_city" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇻🇪" - , "description": "Venezuela" - , "category": "Flags" - , "aliases": [ - "venezuela" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇻🇳" - , "description": "Vietnam" - , "category": "Flags" - , "aliases": [ - "vietnam" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇼🇫" - , "description": "Wallis & Futuna" - , "category": "Flags" - , "aliases": [ - "wallis_futuna" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇪🇭" - , "description": "Western Sahara" - , "category": "Flags" - , "aliases": [ - "western_sahara" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "9.0" - } -, { - "emoji": "🇾🇪" - , "description": "Yemen" - , "category": "Flags" - , "aliases": [ - "yemen" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇿🇲" - , "description": "Zambia" - , "category": "Flags" - , "aliases": [ - "zambia" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "emoji": "🇿🇼" - , "description": "Zimbabwe" - , "category": "Flags" - , "aliases": [ - "zimbabwe" - ] - , "tags": [ - ] - , "unicode_version": "6.0" - , "ios_version": "8.3" - } -, { - "aliases": [ - "basecamp" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "basecampy" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "bowtie" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "feelsgood" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "finnadie" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "goberserk" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "godmode" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "hurtrealbad" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "neckbeard" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "octocat" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "rage1" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "rage2" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "rage3" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "rage4" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "shipit" - , "squirrel" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "suspect" - ] - , "tags": [ - ] - } -, { - "aliases": [ - "trollface" - ] - , "tags": [ - ] - } -] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/basecamp.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/basecamp.png deleted file mode 100644 index d0267fb..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/basecamp.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/basecampy.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/basecampy.png deleted file mode 100644 index 806d013..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/basecampy.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/bowtie.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/bowtie.png deleted file mode 100644 index 5616d69..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/bowtie.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/feelsgood.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/feelsgood.png deleted file mode 100644 index 891ec43..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/feelsgood.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/finnadie.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/finnadie.png deleted file mode 100644 index 90266e2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/finnadie.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/goberserk.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/goberserk.png deleted file mode 100644 index e617a9d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/goberserk.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/godmode.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/godmode.png deleted file mode 100644 index 551111a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/godmode.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/hurtrealbad.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/hurtrealbad.png deleted file mode 100644 index 6055841..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/hurtrealbad.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/neckbeard.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/neckbeard.png deleted file mode 100644 index 69ccffc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/neckbeard.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/octocat.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/octocat.png deleted file mode 100644 index f9050b9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/octocat.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage1.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage1.png deleted file mode 100644 index 99a28f2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage1.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage2.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage2.png deleted file mode 100644 index e91813c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage2.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage3.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage3.png deleted file mode 100644 index 36f0733..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage3.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage4.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage4.png deleted file mode 100644 index d1b87ba..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/rage4.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/shipit.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/shipit.png deleted file mode 100644 index 2d018e6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/shipit.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/suspect.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/suspect.png deleted file mode 100644 index c4fd15c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/suspect.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/trollface.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/trollface.png deleted file mode 100644 index ee463dc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/gemoji-3.0.1/images/trollface.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-228/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-228/.rubocop.yml deleted file mode 100644 index fbcea5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-228/.rubocop.yml +++ /dev/null @@ -1,167 +0,0 @@ -# Ruby linting configuration. -# See https://github.com/styleguide/ruby for the Ruby style guide - -# We only worry about two kinds of issues: 'error' and anything less than that. -# Error is not about severity, but about taste. Simple style choices that -# never have a great excuse to be broken, such as 1.9 JSON-like hash syntax, -# are errors. Choices that tend to have good exceptions in practice, such as -# line length, are warnings. - -# If you'd like to make changes, a full list of available issues is at -# https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml -# -# A list of configurable issues is at: -# https://github.com/bbatsov/rubocop/blob/master/config/default.yml -# -# If you disable a check, document why. - -inherit_gem: - rubocop-github: - - config/default.yml - -require: - - rubocop-performance - -AllCops: - TargetRubyVersion: 2.5 - Exclude: - - 'bin/**/*' - - 'script/**/*' - - 'vendor/**/*' - - 'test-site/**/*' - -Layout/EndAlignment: - Severity: error - -Lint/RescueException: - Exclude: - - lib/pages_jekyll.rb - -Lint/UnreachableCode: - Severity: error - -Lint/AmbiguousRegexpLiteral: - Exclude: - - 'features/step_definitions/pages_steps.rb' - -Style/StringLiterals: - EnforcedStyle: double_quotes - Severity: error - -Style/StringLiteralsInInterpolation: - EnforcedStyle: double_quotes - -Style/HashSyntax: - EnforcedStyle: hash_rockets - Severity: error - -Layout/HashAlignment: - SupportedLastArgumentHashStyles: always_ignore - -Layout/ParameterAlignment: - Enabled: false # This is usually true, but we often want to roll back to - # the start of a line. - -Style/Attr: - Enabled: false # We have no styleguide guidance here, and it seems to be - # in frequent use. - -Style/ClassAndModuleChildren: - Enabled: false # module X<\n>module Y is just as good as module X::Y. - -Style/Documentation: - Exclude: - - !ruby/regexp /spec\/.*.rb$/ - - !ruby/regexp /features\/.*.rb$/ - -Metrics/ClassLength: - Exclude: - - !ruby/regexp /spec\/.*.rb$/ - - !ruby/regexp /features\/.*.rb$/ - - lib/github-pages/configuration.rb - -Metrics/BlockLength: - Exclude: - - github-pages.gemspec - - !ruby/regexp /spec\/.*.rb/ - -Layout/LineLength: - Max: 90 - Severity: warning - Exclude: - - !ruby/regexp /spec\/.*.rb/ - - !ruby/regexp /features\/.*.rb/ - -Style/MultilineTernaryOperator: - Severity: error - -Style/AndOr: - Severity: error - -Layout/IndentationWidth: - Severity: error - -Metrics/MethodLength: - CountComments: false # count full line comments? - Max: 20 - Severity: error - Exclude: - - lib/github-pages.rb # Exclude the dependency hash method - -Style/Alias: - Enabled: false # We have no guidance on alias vs alias_method - -Style/RedundantSelf: - Enabled: false # Sometimes a self.field is a bit more clear - -Style/IfUnlessModifier: - Enabled: false - -Naming/FileName: #Rubocop doesn't like the Git*H*ub namespace - Enabled: false - -Metrics/CyclomaticComplexity: - Max: 8 -Metrics/PerceivedComplexity: - Max: 8 -Metrics/ParameterLists: - Max: 4 -Metrics/AbcSize: - Max: 20 - -Style/SignalException: - EnforcedStyle: only_raise - -Layout/MultilineMethodCallIndentation: - EnforcedStyle: indented - -Layout/MultilineOperationIndentation: - EnforcedStyle: indented - -Layout/FirstArgumentIndentation: - EnforcedStyle: consistent - -Layout/FirstHashElementIndentation: - EnforcedStyle: consistent - -Layout/FirstArrayElementIndentation: - EnforcedStyle: consistent - -Layout/ExtraSpacing: - AllowForAlignment: true - -Style/TrailingCommaInArrayLiteral: - EnforcedStyleForMultiline: consistent_comma - -Style/TrailingCommaInHashLiteral: - EnforcedStyleForMultiline: consistent_comma - -Style/PercentLiteralDelimiters: - PreferredDelimiters: - '%q': '{}' - '%Q': '{}' - '%r': '{}' - '%s': '()' - '%w': '()' - '%W': '()' - '%x': '()' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-228/bin/github-pages b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-228/bin/github-pages deleted file mode 100755 index d91bf9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-228/bin/github-pages +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env ruby - -require 'mercenary' -require_relative "../lib/github-pages" - -Mercenary.program(:"github-pages") do |p| - p.version GitHubPages::VERSION - p.description - p.syntax "github-pages options" - - p.command(:versions) do |c| - c.syntax "versions" - c.description "lists the current gem dependency versions" - c.option "all", "--all", "Report all versions, not just ones we lock to (cannot be used with --gemfile)" - c.option "gemfile", "--gemfile", "use Gemfile formatting" - c.action do |args, options| - if options["gemfile"] - GitHubPages::Dependencies.gems.each { |g,v| puts "gem '#{g}', '#{v}'" } - else - require 'terminal-table' - versions = options['all'] ? GitHubPages::Dependencies.versions : GitHubPages::Dependencies.gems - puts Terminal::Table.new :rows => versions, :headings => ["Gem", "Version"] - end - end - end - - p.command(:branch) do |c| - c.syntax "branch BRANCH" - c.description "Generates the gem dependency at given branch" - c.alias(:br) - c.action do |args, options| - puts [ - "gem 'github-pages'", - ":branch => '#{args[0] || "master"}'", - ":git => 'git://github.com/github/pages-gem'" - ].join(", ") - end - end - - p.command(:"health-check") do |c| - c.syntax "health-check" - c.description "Checks your GitHub Pages site for common DNS configuration issues" - c.action do |args, options| - require 'github-pages-health-check' - cname_path = File.expand_path "CNAME", Dir.pwd - raise "No CNAME file found in current directory" unless File.exists?(cname_path) - cname = File.open(cname_path).read.strip - check = GitHubPages::HealthCheck.check(cname) - puts "Checking domain #{cname}..." - if check.valid? - puts "Everything looks a-okay! :)" - exit 0 - else - puts "Uh oh. Looks like something's fishy: #{check.reason}" - exit 1 - end - end - end - - p.command(:build) do |c| - c.syntax "build [options]" - c.description "Builds your Jekyll site" - - c.option 'verbose', '--verbose', 'Verbose logging' - c.option 'source', '--source DIR', 'From where to collect the source files' - c.option 'destination', '--destination DIR', 'To where the compiled files should be written' - c.option 'future', '--future', 'Publishes posts with a future date' - - c.action do |_, options| - Jekyll::Commands::Build.process(options) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.dockerignore b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.dockerignore deleted file mode 100644 index b844b14..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -Gemfile.lock diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.github/dependabot.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.github/dependabot.yml deleted file mode 100644 index e021c52..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.github/dependabot.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: 2 -updates: -- package-ecosystem: bundler - directory: "/" - schedule: - interval: daily - time: "10:00" - timezone: Europe/Vienna - pull-request-branch-name: - separator: "-" - open-pull-requests-limit: 99 - allow: - - dependency-type: direct - - dependency-type: indirect - rebase-strategy: disabled diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.github/workflows/push-cibuild.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.github/workflows/push-cibuild.yml deleted file mode 100644 index 27c3d0a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.github/workflows/push-cibuild.yml +++ /dev/null @@ -1,19 +0,0 @@ -on: push -name: cibuild on push -jobs: - build: - name: "GitHub Pages Health Check Tests" - runs-on: ubuntu-latest - strategy: - matrix: - ruby: - - 2.5 - - 2.6 - - 2.7 - - 3.0 - steps: - - uses: actions/checkout@master - - name: script/cibuild-docker - run: script/cibuild-docker - env: - RUBY_VERSION: ${{ matrix.ruby }} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.rspec deleted file mode 100644 index 83e16f8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---require spec_helper diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.rubocop.yml deleted file mode 100644 index bad031d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.rubocop.yml +++ /dev/null @@ -1,154 +0,0 @@ -# Ruby linting configuration. -# See https://github.com/styleguide/ruby for the Ruby style guide - -# We only worry about two kinds of issues: 'error' and anything less than that. -# Error is not about severity, but about taste. Simple style choices that -# never have a great excuse to be broken, such as 1.9 JSON-like hash syntax, -# are errors. Choices that tend to have good exceptions in practice, such as -# line length, are warnings. - -# If you'd like to make changes, a full list of available issues is at -# https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml -# -# A list of configurable issues is at: -# https://github.com/bbatsov/rubocop/blob/master/config/default.yml -# -# If you disable a check, document why. -# - -AllCops: - TargetRubyVersion: 2.6 - Exclude: - - 'bin/**/*' - - 'script/**/*' - - 'vendor/**/*' - - 'test-site/**/*' - -Layout/EndAlignment: - Severity: error - -Lint/UnreachableCode: - Severity: error - -Style/StringLiteralsInInterpolation: - EnforcedStyle: double_quotes - -Style/HashSyntax: - EnforcedStyle: hash_rockets - Severity: error - -Layout/HashAlignment: - SupportedLastArgumentHashStyles: always_ignore - -Layout/ParameterAlignment: - Enabled: false # This is usually true, but we often want to roll back to - # the start of a line. - -Style/Attr: - Enabled: false # We have no styleguide guidance here, and it seems to be - # in frequent use. - -Style/ClassAndModuleChildren: - Enabled: false # module X<\n>module Y is just as good as module X::Y. - -Layout/LineLength: - Max: 120 - Severity: warning - Exclude: - - github-pages-health-check.gemspec - - lib/github-pages-health-check/errors/*.rb - -Metrics/BlockLength: - Enabled: false - -Style/MultilineTernaryOperator: - Severity: error - -Style/AndOr: - Severity: error - -Layout/IndentationWidth: - Severity: error - -Metrics/MethodLength: - CountComments: false # count full line comments? - Max: 20 - Severity: error - Exclude: - - lib/github-pages-health-check/printer.rb - -Style/Alias: - Enabled: false # We have no guidance on alias vs alias_method - -Style/RedundantSelf: - Enabled: false # Sometimes a self.field is a bit more clear - -Style/IfUnlessModifier: - Enabled: false - -Naming/FileName: #Rubocop doesn't like the Git*H*ub namespace - Enabled: false - -Metrics/ParameterLists: { Max: 4 } - -Layout/FirstHashElementIndentation: { EnforcedStyle: consistent } -Layout/MultilineMethodCallIndentation: { EnforcedStyle: indented } -Layout/MultilineOperationIndentation: { EnforcedStyle: indented } -Layout/FirstParameterIndentation: { EnforcedStyle: consistent } -Layout/FirstArrayElementIndentation: { EnforcedStyle: consistent } -Layout/ExtraSpacing: { AllowForAlignment: true } -Style/SignalException: { EnforcedStyle: only_raise } -Style/StringLiterals: { EnforcedStyle: double_quotes } - -Style/PercentLiteralDelimiters: - PreferredDelimiters: - '%q': '{}' - '%Q': '{}' - '%r': '{}' - '%s': '()' - '%w': '()' - '%W': '()' - '%x': '()' - -Style/Documentation: - Enabled: false - -Metrics/ClassLength: - Exclude: - - lib/github-pages-health-check/domain.rb - -Metrics/CyclomaticComplexity: - Max: 9 - Exclude: - - lib/github-pages-health-check/printer.rb - -Metrics/PerceivedComplexity: - Max: 9 - Exclude: - - lib/github-pages-health-check/printer.rb - -Metrics/AbcSize: - Max: 17 - Exclude: - - lib/github-pages-health-check/printer.rb - -Style/DoubleNegation: - Enabled: false - -Layout/EmptyLineAfterMagicComment: - Exclude: - - script/* - -Style/FrozenStringLiteralComment: - Enabled: true - Severity: error - -Gemspec/RequiredRubyVersion: - Enabled: false - -Style/HashEachMethods: - Enabled: false -Style/HashTransformKeys: - Enabled: false -Style/HashTransformValues: - Enabled: false diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.ruby-version b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.ruby-version deleted file mode 100644 index 860487c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -2.7.1 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/Dockerfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/Dockerfile deleted file mode 100644 index f548631..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -ARG RUBY_VERSION -FROM ruby:$RUBY_VERSION-slim -RUN set -ex \ - && gem update --system --silent --quiet \ - && apt-get update -y \ - && apt-get upgrade -y \ - && apt-get install -y \ - build-essential \ - git \ - libcurl4-openssl-dev \ - && apt-get clean -WORKDIR /app/github-pages-health-check -COPY Gemfile . -COPY github-pages-health-check.gemspec . -COPY lib/github-pages-health-check/version.rb lib/github-pages-health-check/version.rb -RUN bundle install -COPY . . -ENTRYPOINT [ "/bin/bash" ] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/Gemfile deleted file mode 100644 index 7ddd7c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -group :development do - gem "dotenv", "~> 2.7" - gem "gem-release", "~> 2.1" - gem "pry", "~> 0.10" - gem "pry-byebug" - gem "rspec", "~> 3.0" - gem "rubocop", "~> 0.52" - gem "webmock", "~> 3.8" -end - -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/LICENSE.md deleted file mode 100644 index 19030fa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 - 2017 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/README.md deleted file mode 100644 index 1eb0b8d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/README.md +++ /dev/null @@ -1,120 +0,0 @@ -# GitHub Pages Health Check - -*Checks your GitHub Pages site for common DNS configuration issues* - -[![Build Status](https://travis-ci.org/github/pages-health-check.svg)](https://travis-ci.org/github/pages-health-check) [![Gem Version](https://badge.fury.io/rb/github-pages-health-check.svg)](http://badge.fury.io/rb/github-pages-health-check) - -## Installation - -`gem install github-pages-health-check` - -## Usage - -### Basic Usage - -```ruby -> check = GitHubPages::HealthCheck::Site.new("choosealicense.com") -=> # -> check.valid? -=> true -``` - -### An invalid domain - -```ruby -> check = GitHubPages::HealthCheck::Site.new("foo.github.com") -> check.valid? -=> false -> check.valid! -raises GitHubPages::HealthCheck::Errors::InvalidCNAMEError -``` - - -### Retrieving specific checks - -``` ruby -> check.domain.should_be_a_record? -=> true -> check.domain.a_record? -=> true -``` - -### Getting checks in bulk - -```ruby -> check.to_hash -=> { - :cloudflare_ip?=>false, - :old_ip_address?=>false, - :a_record?=>true, - :cname_record?=>false, - :valid_domain?=>true, - :apex_domain?=>true, - :should_be_a_record?=>true, - :pointed_to_github_user_domain?=>false, - :pointed_to_github_pages_ip?=>false, - :pages_domain?=>false, - :valid?=>true -} -> check.to_json -=> "{\"cloudflare_ip?\":false,\"old_ip_address?\":false,\"a_record?\":true,\"cname_record?\":false,\"valid_domain?\":true,\"apex_domain?\":true,\"should_be_a_record?\":true,\"pointed_to_github_user_domain?\":false,\"pointed_to_github_pages_ip?\":false,\"pages_domain?\":false,\"valid?\":true}" -``` - -### Getting the reason a domain is invalid - -```ruby -> check = GitHubPages::HealthCheck::Site.new "developer.facebook.com" -> check.valid? -=> false -> check.reason -=> # -> check.reason.message -=> "CNAME does not point to GitHub Pages" -``` - -### Repository checks - -Repository checks require a personal access or OAuth token with `repo` or scope. This can be passed as the second argument to the Site or Repository constructors like so: - -```ruby -check = GitHubPages::HealthCheck::Site.new "github/pages-health-check", access_token: "1234 -``` - -You can also set `OCTOKIT_ACCESS_TOKEN` as an environmental variable, or via a `.env` file in your working directory. - -### Command Line - -``` -./script/check pages.github.com - -host: pages.github.com -uri: https://pages.github.com/ -nameservers: :default -dns_resolves?: true -proxied?: false -cloudflare_ip?: false -fastly_ip?: false -old_ip_address?: false -a_record?: false -cname_record?: true -mx_records_present?: false -valid_domain?: true -apex_domain?: false -should_be_a_record?: false -cname_to_github_user_domain?: true -cname_to_pages_dot_github_dot_com?: false -cname_to_fastly?: false -pointed_to_github_pages_ip?: false -non_github_pages_ip_present?: false -pages_domain?: true -served_by_pages?: true -valid?: true -reason: -https?: true -enforces_https?: true -https_error: -https_eligible?: true -caa_error: -dns_zone_soa?: false -dns_zone_ns?: false -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/config/cloudflare-ips.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/config/cloudflare-ips.txt deleted file mode 100644 index fd160bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/config/cloudflare-ips.txt +++ /dev/null @@ -1,22 +0,0 @@ -173.245.48.0/20 -103.21.244.0/22 -103.22.200.0/22 -103.31.4.0/22 -141.101.64.0/18 -108.162.192.0/18 -190.93.240.0/20 -188.114.96.0/20 -197.234.240.0/22 -198.41.128.0/17 -162.158.0.0/15 -104.16.0.0/13 -104.24.0.0/14 -172.64.0.0/13 -131.0.72.0/22 -2400:cb00::/32 -2606:4700::/32 -2803:f800::/32 -2405:b500::/32 -2405:8100::/32 -2a06:98c0::/29 -2c0f:f248::/32 \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/config/fastly-ips.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/config/fastly-ips.txt deleted file mode 100644 index 7d373c8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/config/fastly-ips.txt +++ /dev/null @@ -1,19 +0,0 @@ -23.235.32.0/20 -43.249.72.0/22 -103.244.50.0/24 -103.245.222.0/23 -103.245.224.0/24 -104.156.80.0/20 -146.75.0.0/17 -151.101.0.0/16 -157.52.64.0/18 -167.82.0.0/17 -167.82.128.0/20 -167.82.160.0/20 -167.82.224.0/20 -172.111.64.0/18 -185.31.16.0/22 -199.27.72.0/21 -199.232.0.0/16 -2a04:4e40::/32 -2a04:4e42::/32 \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/github-pages-health-check.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/github-pages-health-check.gemspec deleted file mode 100644 index 87ad564..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/github-pages-health-check.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -require File.expand_path("lib/github-pages-health-check/version", __dir__) - -Gem::Specification.new do |s| - s.required_ruby_version = ">= 2.2.0" - - s.name = "github-pages-health-check" - s.version = GitHubPages::HealthCheck::VERSION - s.summary = "Checks your GitHub Pages site for commons DNS configuration issues" - s.description = "Checks your GitHub Pages site for commons DNS configuration issues." - s.authors = "GitHub, Inc." - s.email = "support@github.com" - s.homepage = "https://github.com/github/github-pages-health-check" - s.license = "MIT" - s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } - s.require_paths = ["lib"] - - s.add_dependency("addressable", "~> 2.3") - s.add_dependency("dnsruby", "~> 1.60") - s.add_dependency("octokit", "~> 4.0") - s.add_dependency("public_suffix", ">= 3.0", "< 5.0") - s.add_dependency("typhoeus", "~> 1.3") -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/bootstrap deleted file mode 100755 index 654265e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/bootstrap +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -ex - -bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/check b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/check deleted file mode 100755 index 742daff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/check +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true -# -# Usage: script/check [DOMAIN] - -require "rubygems" -require "bundler/setup" -require_relative "../lib/github-pages-health-check" - -if ARGV.count != 1 - puts "Usage: script/check [DOMAIN]" - exit 1 -end - -puts GitHubPages::HealthCheck.check(ARGV[0]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/check-cdn-ips b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/check-cdn-ips deleted file mode 100755 index 8ded023..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/check-cdn-ips +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -e - -script/update-cdn-ips >/dev/null 2>&1 -files=( cloudflare fastly) - -# `git diff --quiet` suppresses output and sets a return code -# 0 - no changes -# 1 - changes -for file in "${files[@]}" -do - if git diff -w --quiet --cached "config/$file-ips.txt" - then - echo "$file IP list is up-to-date." - else - echo git reset "config/$file-ips.txt" - git reset --quiet "config/$file-ips.txt" - echo "*** $file IP list is out of date! Run script/update-cdn-ips!" - exit 1 - fi -done diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/cibuild deleted file mode 100755 index 7831760..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/cibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -ex - -script/bootstrap - -script/test $@ -script/check-cdn-ips -bundle exec script/check www.parkermoore.de | grep 'valid?: true' -bundle exec script/check ben.balter.com | grep 'valid?: true' -bundle exec gem build github-pages-health-check.gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/cibuild-docker b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/cibuild-docker deleted file mode 100755 index 605b3dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/cibuild-docker +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -: ${RUBY_VERSION:="2.7"} -docker build -t github-pages-health-check --build-arg RUBY_VERSION=$RUBY_VERSION . -if [ -n "$DEBUG" ]; then - # Run a shell. - docker run -it --rm -v $(pwd):/app/github-pages-health-check github-pages-health-check -else - # Run CI - docker run --rm github-pages-health-check script/cibuild --profile --fail-fast -fi diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/console b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/console deleted file mode 100755 index b2b30f9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/console +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -ex - -bundle exec pry -r "./lib/github-pages-health-check" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/fmt b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/fmt deleted file mode 100755 index fb13b63..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/fmt +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -#/ Usage: script/fmt [args] -#/ Runs rubocop with the given arguments. - -bundle exec rubocop -D -S $@ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/release b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/release deleted file mode 100755 index 9e248ac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/release +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# Tag and push a release. - -set -e - -# Make sure we're in the project root. - -cd $(dirname "$0")/.. - -# Make sure the darn thing works - -bundle update - -# Build a new gem archive. - -rm -rf github-pages-health-check-*.gem -gem build -q github-pages-health-check.gemspec - -# Make sure we're on the master branch. - -(git branch | grep -q '* master') || { - echo "Only release from the master branch." - exit 1 -} - -# Figure out what version we're releasing. - -tag=v`ls github-pages-health-check-*.gem | sed 's/^github-pages-health-check-\(.*\)\.gem$/\1/'` - -# Make sure we haven't released this version before. - -git fetch -t origin - -(git tag -l | grep -q "$tag") && { - echo "Whoops, there's already a '${tag}' tag." - exit 1 -} - -# Tag it and bag it. - -gem push github-pages-health-check-*.gem && git tag "$tag" && - git push origin master && git push origin "$tag" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/test b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/test deleted file mode 100755 index 6eead4a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/test +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -set -e - -bundle exec rspec $@ -script/fmt diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/update-cdn-ips b/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/update-cdn-ips deleted file mode 100755 index a496f4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/github-pages-health-check-1.17.9/script/update-cdn-ips +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true -# -# Usage script/update-ips -# updates config/cloudflare-ips.txt and config/fastly-ips.txt - -require "open-uri" -require "json" - -SOURCES = { - :cloudflare => ["https://www.cloudflare.com/ips-v4", "https://www.cloudflare.com/ips-v6"], - :fastly => ["https://api.fastly.com/public-ip-list"] -}.freeze - -def parse_fastly(data) - json_data = JSON.parse(data) - (json_data["addresses"] + json_data["ipv6_addresses"]).join("\n") -end - -def parse_cloudflare(data) - data -end - -def fetch_ips_from_cdn(urls) - urls.map do |url| - puts "Fetching #{url}..." - URI.parse(url).open.read - end.join("\n") -end - -def update_cdn_file(source, data) - file = "config/#{source}-ips.txt" - File.write(file, data) - puts "Writing contents to #{file} and staging changes." - `git add --verbose #{file}` -end - -def parse_cdn_response(source, ips) - send("parse_#{source}", ips) -end - -def update_cdn_ips(source, urls) - ips = fetch_ips_from_cdn(urls) - data = parse_cdn_response(source, ips) - update_cdn_file(source, data) -end - -SOURCES.each do |source, urls| - update_cdn_ips(source, urls) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/.github/FUNDING.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/.github/FUNDING.yml deleted file mode 100644 index b9b6a92..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/.github/FUNDING.yml +++ /dev/null @@ -1,4 +0,0 @@ -github: gjtorikian -patreon: gjtorikian -open_collective: garen-torikian -issuehunt: gjtorikian diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/.travis.yml deleted file mode 100644 index ff321cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -language: ruby -cache: bundler -bundler_args: --path ../../vendor/bundle - -addons: - apt: - sources: - - libicu-dev - - kalakris-cmake - packages: - - cmake - -script: bundle exec rake - -gemfile: - - gemfiles/rails_6.gemfile - - gemfiles/rails_5.gemfile - - gemfiles/rails_4.gemfile - - gemfiles/rails_3.gemfile - -rvm: - - 2.4.6 - - 2.3.8 - - 2.5.7 - - ruby-head - -matrix: - fast_finish: true - allow_failures: - - rvm: ruby-head - exclude: - - gemfile: gemfiles/rails_6.gemfile - rvm: 2.4.6 - - gemfile: gemfiles/rails_6.gemfile - rvm: 2.3.8 - - gemfile: gemfiles/rails_4.gemfile - rvm: 2.5.7 - - gemfile: gemfiles/rails_4.gemfile - rvm: 2.4.6 - - gemfile: gemfiles/rails_3.gemfile - rvm: 2.5.7 - - gemfile: gemfiles/rails_3.gemfile - rvm: 2.4.6 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Appraisals b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Appraisals deleted file mode 100644 index 6037fd6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Appraisals +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -appraise 'rails-3' do - gem 'rack', '< 2' - gem 'rails', '3.2.22.2' -end - -appraise 'rails-4' do - gem 'rack', '< 2' - gem 'rails', '~> 4.2.6' -end - -appraise 'rails-5' do - gem 'rails', '~> 5.0.0' -end - -appraise 'rails-6' do - gem 'rails', '~> 6.0.0' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/CHANGELOG.md deleted file mode 100644 index 4c4ba82..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/CHANGELOG.md +++ /dev/null @@ -1,858 +0,0 @@ -# Changelog - -## [Unreleased](https://github.com/gjtorikian/html-pipeline/tree/HEAD) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.14.2...HEAD) - -**Closed issues:** - -- Allow vertical-align [\#366](https://github.com/gjtorikian/html-pipeline/issues/366) -- Since bump 2.14.2 builds are failing [\#363](https://github.com/gjtorikian/html-pipeline/issues/363) - -**Merged pull requests:** - -- Replace EscapeUtils.escape\_html with CGI.escape\_html [\#365](https://github.com/gjtorikian/html-pipeline/pull/365) ([ramhoj](https://github.com/ramhoj)) - -## [v2.14.2](https://github.com/gjtorikian/html-pipeline/tree/v2.14.2) (2022-06-12) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.14.1...v2.14.2) - -**Merged pull requests:** - -- handle invalid data urls in absolute source filter [\#361](https://github.com/gjtorikian/html-pipeline/pull/361) ([glaszig](https://github.com/glaszig)) - -## [v2.14.1](https://github.com/gjtorikian/html-pipeline/tree/v2.14.1) (2022-03-31) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.13.2...v2.14.1) - -**Closed issues:** - -- 2.14.0 is disconnected [\#358](https://github.com/gjtorikian/html-pipeline/issues/358) -- I would love to use the vscode codicon.ttf in my readme.md [\#356](https://github.com/gjtorikian/html-pipeline/issues/356) -- Html-pipeline [\#355](https://github.com/gjtorikian/html-pipeline/issues/355) -- Canalizacion de HTML [\#354](https://github.com/gjtorikian/html-pipeline/issues/354) -- Change branch name off of `master` [\#340](https://github.com/gjtorikian/html-pipeline/issues/340) -- New feature request: team mention filter [\#311](https://github.com/gjtorikian/html-pipeline/issues/311) -- code in header produce invalid anchor [\#308](https://github.com/gjtorikian/html-pipeline/issues/308) -- Stop "camo"ing "github.io" [\#305](https://github.com/gjtorikian/html-pipeline/issues/305) -- A filter to produce diffs with syntax highlighting in html, maybe. [\#270](https://github.com/gjtorikian/html-pipeline/issues/270) -- Require pygments.rb or remove Pygments references [\#235](https://github.com/gjtorikian/html-pipeline/issues/235) -- Allow ᴀʀɪᴀ attributes for blind people. [\#219](https://github.com/gjtorikian/html-pipeline/issues/219) -- 'lexer' is removed from github-linguist [\#217](https://github.com/gjtorikian/html-pipeline/issues/217) -- Please document how to use the html-pipeline binary without command‐line arguments! [\#213](https://github.com/gjtorikian/html-pipeline/issues/213) -- PHP syntax highlight [\#212](https://github.com/gjtorikian/html-pipeline/issues/212) - -## [v2.13.2](https://github.com/gjtorikian/html-pipeline/tree/v2.13.2) (2020-12-04) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.13.1...v2.13.2) - -**Merged pull requests:** - -- Fix custom renderer with unsafe option missing pre lang [\#341](https://github.com/gjtorikian/html-pipeline/pull/341) ([kazk](https://github.com/kazk)) - -## [v2.13.1](https://github.com/gjtorikian/html-pipeline/tree/v2.13.1) (2020-12-02) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.14.0...v2.13.1) - -**Merged pull requests:** - -- Replace whitelist with more neutral language [\#339](https://github.com/gjtorikian/html-pipeline/pull/339) ([tancnle](https://github.com/tancnle)) -- allows progress tags to be used [\#338](https://github.com/gjtorikian/html-pipeline/pull/338) ([pedrozath](https://github.com/pedrozath)) -- Updated English [\#337](https://github.com/gjtorikian/html-pipeline/pull/337) ([BhuvnendraPratapSingh](https://github.com/BhuvnendraPratapSingh)) -- Make AutolinkFilter configurable [\#335](https://github.com/gjtorikian/html-pipeline/pull/335) ([mnishiguchi](https://github.com/mnishiguchi)) - -## [v2.14.0](https://github.com/gjtorikian/html-pipeline/tree/v2.14.0) (2020-08-11) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.13.0...v2.14.0) - -## [v2.13.0](https://github.com/gjtorikian/html-pipeline/tree/v2.13.0) (2020-05-28) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.3...v2.13.0) - -**Closed issues:** - -- Jch html-pipeline [\#330](https://github.com/gjtorikian/html-pipeline/issues/330) -- console rendering of slash continued multi-line commands [\#328](https://github.com/gjtorikian/html-pipeline/issues/328) -- Allow backslash-escape for @mention and emoji [\#232](https://github.com/gjtorikian/html-pipeline/issues/232) - -**Merged pull requests:** - -- Allow `role` attributes in html tags [\#332](https://github.com/gjtorikian/html-pipeline/pull/332) ([eric-wieser](https://github.com/eric-wieser)) -- Update README.md [\#329](https://github.com/gjtorikian/html-pipeline/pull/329) ([Mihail354](https://github.com/Mihail354)) -- Update CHANGELOG from 2.12.1 to 2.12.3 [\#326](https://github.com/gjtorikian/html-pipeline/pull/326) ([JuanitoFatas](https://github.com/JuanitoFatas)) - -## [v2.12.3](https://github.com/gjtorikian/html-pipeline/tree/v2.12.3) (2019-12-19) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.2...v2.12.3) - -**Merged pull requests:** - -- Improves syntax highlight filter [\#325](https://github.com/gjtorikian/html-pipeline/pull/325) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Reuse found lexer in SyntaxHighlightFilter [\#324](https://github.com/gjtorikian/html-pipeline/pull/324) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Fix link of Rouge CSS Theme [\#323](https://github.com/gjtorikian/html-pipeline/pull/323) ([JuanitoFatas](https://github.com/JuanitoFatas)) - -## [v2.12.2](https://github.com/gjtorikian/html-pipeline/tree/v2.12.2) (2019-11-14) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.1...v2.12.2) - -**Closed issues:** - -- Changing the list of commonmarker extensions with custom renderer is broken [\#321](https://github.com/gjtorikian/html-pipeline/issues/321) - -**Merged pull requests:** - -- Allow bad tags [\#322](https://github.com/gjtorikian/html-pipeline/pull/322) ([gjtorikian](https://github.com/gjtorikian)) - -## [v2.12.1](https://github.com/gjtorikian/html-pipeline/tree/v2.12.1) (2019-11-13) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.0...v2.12.1) - -**Closed issues:** - -- Where is this inserting the p tag? [\#317](https://github.com/gjtorikian/html-pipeline/issues/317) -- Update CHANGELOG [\#315](https://github.com/gjtorikian/html-pipeline/issues/315) - -**Merged pull requests:** - -- Make this list a const [\#320](https://github.com/gjtorikian/html-pipeline/pull/320) ([gjtorikian](https://github.com/gjtorikian)) -- Add Rails 6.0 to appraisals [\#319](https://github.com/gjtorikian/html-pipeline/pull/319) ([smudge](https://github.com/smudge)) -- Add ability to pass custom renderer to MarkdownFilter [\#318](https://github.com/gjtorikian/html-pipeline/pull/318) ([gjtorikian](https://github.com/gjtorikian)) -- Update changelog [\#316](https://github.com/gjtorikian/html-pipeline/pull/316) ([sj26](https://github.com/sj26)) - -## [v2.12.0](https://github.com/gjtorikian/html-pipeline/tree/v2.12.0) (2019-08-12) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.11.1...v2.12.0) - -**Merged pull requests:** - -- Team mention filter [\#314](https://github.com/gjtorikian/html-pipeline/pull/314) ([indigok](https://github.com/indigok)) - -## [v2.11.1](https://github.com/gjtorikian/html-pipeline/tree/v2.11.1) (2019-07-18) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.11.0...v2.11.1) - -**Merged pull requests:** - -- Freeze string literals in Ruby 2.3 and beyond [\#313](https://github.com/gjtorikian/html-pipeline/pull/313) ([ashmaroli](https://github.com/ashmaroli)) -- Avoid YARD warning: Unknown tag @mention [\#309](https://github.com/gjtorikian/html-pipeline/pull/309) ([olleolleolle](https://github.com/olleolleolle)) - -## [v2.11.0](https://github.com/gjtorikian/html-pipeline/tree/v2.11.0) (2019-04-06) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.10.0...v2.11.0) - -**Merged pull requests:** - -- CI: Use latest 2.4 [\#310](https://github.com/gjtorikian/html-pipeline/pull/310) ([olleolleolle](https://github.com/olleolleolle)) -- CamoFilter: use String\#unpack to hexencode URLs [\#256](https://github.com/gjtorikian/html-pipeline/pull/256) ([glaszig](https://github.com/glaszig)) - -## [v2.10.0](https://github.com/gjtorikian/html-pipeline/tree/v2.10.0) (2019-01-06) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.9.2...v2.10.0) - -**Closed issues:** - -- RFC5122: XMPP URI [\#289](https://github.com/gjtorikian/html-pipeline/issues/289) - -**Merged pull requests:** - -- Add XMPP URI \#289 [\#307](https://github.com/gjtorikian/html-pipeline/pull/307) ([Neustradamus](https://github.com/Neustradamus)) - -## [v2.9.2](https://github.com/gjtorikian/html-pipeline/tree/v2.9.2) (2019-01-04) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.9.1...v2.9.2) - -**Closed issues:** - -- Why isn't \ whitelisted by default? [\#183](https://github.com/gjtorikian/html-pipeline/issues/183) - -**Merged pull requests:** - -- Whitelist various inline semantic/formatting tags [\#306](https://github.com/gjtorikian/html-pipeline/pull/306) ([chris-morgan](https://github.com/chris-morgan)) - -## [v2.9.1](https://github.com/gjtorikian/html-pipeline/tree/v2.9.1) (2018-11-13) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.9.0...v2.9.1) - -**Merged pull requests:** - -- Render irc and ircs URLs [\#191](https://github.com/gjtorikian/html-pipeline/pull/191) ([frozencemetery](https://github.com/frozencemetery)) - -## [v2.9.0](https://github.com/gjtorikian/html-pipeline/tree/v2.9.0) (2018-11-08) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.4...v2.9.0) - -**Closed issues:** - -- New feature request for hashtags \# filter [\#301](https://github.com/gjtorikian/html-pipeline/issues/301) -- Whitelist srcset for responsive images [\#233](https://github.com/gjtorikian/html-pipeline/issues/233) - -**Merged pull requests:** - -- Adds `UNSAFE` option to CommonMarker usage where needed [\#304](https://github.com/gjtorikian/html-pipeline/pull/304) ([diachini](https://github.com/diachini)) -- Fix one more missing freeze [\#300](https://github.com/gjtorikian/html-pipeline/pull/300) ([stanhu](https://github.com/stanhu)) - -## [v2.8.4](https://github.com/gjtorikian/html-pipeline/tree/v2.8.4) (2018-07-24) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.3...v2.8.4) - -**Merged pull requests:** - -- Freeze all elements in HTML::Pipeline::SanitizationFilter [\#299](https://github.com/gjtorikian/html-pipeline/pull/299) ([stanhu](https://github.com/stanhu)) - -## [v2.8.3](https://github.com/gjtorikian/html-pipeline/tree/v2.8.3) (2018-06-29) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.2...v2.8.3) - -**Closed issues:** - -- Accessibility-related HTML isn't whitelisted [\#215](https://github.com/gjtorikian/html-pipeline/issues/215) - -**Merged pull requests:** - -- Whitelist some accessibility properties [\#298](https://github.com/gjtorikian/html-pipeline/pull/298) ([gjtorikian](https://github.com/gjtorikian)) - -## [v2.8.2](https://github.com/gjtorikian/html-pipeline/tree/v2.8.2) (2018-06-27) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.1...v2.8.2) - -## [v2.8.1](https://github.com/gjtorikian/html-pipeline/tree/v2.8.1) (2018-06-26) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.0...v2.8.1) - -**Merged pull requests:** - -- \[PATCH\] Fix XSS vulnerability on table of content generation [\#296](https://github.com/gjtorikian/html-pipeline/pull/296) ([gjtorikian](https://github.com/gjtorikian)) - -## [v2.8.0](https://github.com/gjtorikian/html-pipeline/tree/v2.8.0) (2018-05-04) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.7.2...v2.8.0) - -**Merged pull requests:** - -- Ensure \ nodes are not removed after syntax highlighting [\#295](https://github.com/gjtorikian/html-pipeline/pull/295) ([ianks](https://github.com/ianks)) - -## [v2.7.2](https://github.com/gjtorikian/html-pipeline/tree/v2.7.2) (2018-04-25) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.7.1...v2.7.2) - -**Closed issues:** - -- emoji autocomplet/suggestion [\#294](https://github.com/gjtorikian/html-pipeline/issues/294) -- Bug in allowed attributes [\#287](https://github.com/gjtorikian/html-pipeline/issues/287) -- Github Flavoured Markdown table support [\#269](https://github.com/gjtorikian/html-pipeline/issues/269) -- Allow embedding of JSON-LD [\#250](https://github.com/gjtorikian/html-pipeline/issues/250) - -**Merged pull requests:** - -- Update README.md \[ci skip\] [\#293](https://github.com/gjtorikian/html-pipeline/pull/293) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Disable processing @mentions in \ tag [\#292](https://github.com/gjtorikian/html-pipeline/pull/292) ([ashmaroli](https://github.com/ashmaroli)) -- Update dependencies [\#291](https://github.com/gjtorikian/html-pipeline/pull/291) ([gjtorikian](https://github.com/gjtorikian)) -- Apply mention filter & emoji filter on node text [\#290](https://github.com/gjtorikian/html-pipeline/pull/290) ([ashmaroli](https://github.com/ashmaroli)) - -## [v2.7.1](https://github.com/gjtorikian/html-pipeline/tree/v2.7.1) (2017-09-21) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.7.0...v2.7.1) - -**Closed issues:** - -- Eating LoadErrors can mask different problems [\#282](https://github.com/gjtorikian/html-pipeline/issues/282) - -**Merged pull requests:** - -- Reduce travis errors and move to trusty [\#285](https://github.com/gjtorikian/html-pipeline/pull/285) ([timdiggins](https://github.com/timdiggins)) -- Output underlying load error when wrapping [\#284](https://github.com/gjtorikian/html-pipeline/pull/284) ([timdiggins](https://github.com/timdiggins)) -- correct spelling mistake [\#281](https://github.com/gjtorikian/html-pipeline/pull/281) ([EdwardBetts](https://github.com/EdwardBetts)) - -## [v2.7.0](https://github.com/gjtorikian/html-pipeline/tree/v2.7.0) (2017-08-16) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.6.0...v2.7.0) - -**Closed issues:** - -- github-markdown is abandonware. Lose it or resurrect+support it? [\#246](https://github.com/gjtorikian/html-pipeline/issues/246) - -**Merged pull requests:** - -- Fix CI~ [\#280](https://github.com/gjtorikian/html-pipeline/pull/280) ([kivikakk](https://github.com/kivikakk)) -- Let users set the common marker extensions [\#279](https://github.com/gjtorikian/html-pipeline/pull/279) ([gwincr11](https://github.com/gwincr11)) -- Update CHANGELOG for 2.6.0 [\#277](https://github.com/gjtorikian/html-pipeline/pull/277) ([carpodaster](https://github.com/carpodaster)) -- Fix hyperlink in README [\#276](https://github.com/gjtorikian/html-pipeline/pull/276) ([jwilk](https://github.com/jwilk)) - -## [v2.6.0](https://github.com/gjtorikian/html-pipeline/tree/v2.6.0) (2017-05-23) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.5.0...v2.6.0) - -**Merged pull requests:** - -- Set instrumentation name [\#275](https://github.com/gjtorikian/html-pipeline/pull/275) ([gjtorikian](https://github.com/gjtorikian)) -- Switch to CommonMark [\#274](https://github.com/gjtorikian/html-pipeline/pull/274) ([kivikakk](https://github.com/kivikakk)) -- add korgi to 3rd party extensions \[ci skip\] [\#271](https://github.com/gjtorikian/html-pipeline/pull/271) ([jodeci](https://github.com/jodeci)) - -## [v2.5.0](https://github.com/gjtorikian/html-pipeline/tree/v2.5.0) (2017-01-13) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.4.2...v2.5.0) - -**Closed issues:** - -- Add `` to whitelist [\#265](https://github.com/gjtorikian/html-pipeline/issues/265) -- Missing context keys for HTML::Pipeline::EmojiFilter: :asset\_root [\#262](https://github.com/gjtorikian/html-pipeline/issues/262) -- Emoji \ tags does not pass W3C validationg [\#234](https://github.com/gjtorikian/html-pipeline/issues/234) -- Incompatible character encodings: ASCII-8BIT and UTF-8 in EmailReplyFilter [\#229](https://github.com/gjtorikian/html-pipeline/issues/229) - -**Merged pull requests:** - -- Ruby 2.4 [\#268](https://github.com/gjtorikian/html-pipeline/pull/268) ([haileys](https://github.com/haileys)) - -## [v2.4.2](https://github.com/gjtorikian/html-pipeline/tree/v2.4.2) (2016-07-11) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.4.1...v2.4.2) - -**Closed issues:** - -- Rails 5 support [\#252](https://github.com/gjtorikian/html-pipeline/issues/252) - -**Merged pull requests:** - -- Release v2.4.2 [\#260](https://github.com/gjtorikian/html-pipeline/pull/260) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Bump Active Support dependency to version \>= 2 [\#257](https://github.com/gjtorikian/html-pipeline/pull/257) ([JuanitoFatas](https://github.com/JuanitoFatas)) - -## [v2.4.1](https://github.com/gjtorikian/html-pipeline/tree/v2.4.1) (2016-05-11) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.4.0...v2.4.1) - -**Merged pull requests:** - -- Bump gem to 2.4.1 [\#255](https://github.com/gjtorikian/html-pipeline/pull/255) ([jch](https://github.com/jch)) -- Regression in EmailReplyPipeline: unfiltered content is being ommitted [\#253](https://github.com/gjtorikian/html-pipeline/pull/253) ([oreoshake](https://github.com/oreoshake)) - -## [v2.4.0](https://github.com/gjtorikian/html-pipeline/tree/v2.4.0) (2016-04-11) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.3.0...v2.4.0) - -**Merged pull requests:** - -- Release 2.4.0 [\#248](https://github.com/gjtorikian/html-pipeline/pull/248) ([jch](https://github.com/jch)) -- Optionally filter email addresses [\#247](https://github.com/gjtorikian/html-pipeline/pull/247) ([oreoshake](https://github.com/oreoshake)) - -## [v2.3.0](https://github.com/gjtorikian/html-pipeline/tree/v2.3.0) (2016-01-20) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.4...v2.3.0) - -**Merged pull requests:** - -- Release 2.3.0 [\#245](https://github.com/gjtorikian/html-pipeline/pull/245) ([jch](https://github.com/jch)) -- Creating the option to pass in an anchor icon, instead of using octicons [\#244](https://github.com/gjtorikian/html-pipeline/pull/244) ([jonrohan](https://github.com/jonrohan)) - -## [v2.2.4](https://github.com/gjtorikian/html-pipeline/tree/v2.2.4) (2016-01-17) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.3...v2.2.4) - -**Merged pull requests:** - -- Use entire namespace so exception constant is resolved [\#243](https://github.com/gjtorikian/html-pipeline/pull/243) ([simeonwillbanks](https://github.com/simeonwillbanks)) - -## [v2.2.3](https://github.com/gjtorikian/html-pipeline/tree/v2.2.3) (2016-01-14) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.2...v2.2.3) - -**Closed issues:** - -- `rescue LoadError; abort` flow for missing dependencies breaks client applications [\#240](https://github.com/gjtorikian/html-pipeline/issues/240) - -**Merged pull requests:** - -- Release 2.2.3 [\#242](https://github.com/gjtorikian/html-pipeline/pull/242) ([jch](https://github.com/jch)) -- raise MissingDependencyError instead of aborting on missing dependency [\#241](https://github.com/gjtorikian/html-pipeline/pull/241) ([parkr](https://github.com/parkr)) -- Fix typo [\#239](https://github.com/gjtorikian/html-pipeline/pull/239) ([rimenes](https://github.com/rimenes)) -- Test against Ruby 2.3.0 on Travis CI [\#238](https://github.com/gjtorikian/html-pipeline/pull/238) ([tricknotes](https://github.com/tricknotes)) -- use travis containers [\#237](https://github.com/gjtorikian/html-pipeline/pull/237) ([kbrock](https://github.com/kbrock)) - -## [v2.2.2](https://github.com/gjtorikian/html-pipeline/tree/v2.2.2) (2015-10-27) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.1...v2.2.2) - -**Closed issues:** - -- 2.2.1 release [\#225](https://github.com/gjtorikian/html-pipeline/issues/225) - -**Merged pull requests:** - -- Release 2.2.2 [\#231](https://github.com/gjtorikian/html-pipeline/pull/231) ([jch](https://github.com/jch)) -- Fix for calling mention\_link\_filter with only one argument [\#230](https://github.com/gjtorikian/html-pipeline/pull/230) ([benbalter](https://github.com/benbalter)) -- Add html-pipeline-linkify\_github to 3rd Party Extensions \[ci skip\] [\#228](https://github.com/gjtorikian/html-pipeline/pull/228) ([JuanitoFatas](https://github.com/JuanitoFatas)) - -## [v2.2.1](https://github.com/gjtorikian/html-pipeline/tree/v2.2.1) (2015-10-01) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.0...v2.2.1) - -**Merged pull requests:** - -- Soften Nokogiri dependency to versions "\>= 1.4" [\#208](https://github.com/gjtorikian/html-pipeline/pull/208) ([JuanitoFatas](https://github.com/JuanitoFatas)) - -## [v2.2.0](https://github.com/gjtorikian/html-pipeline/tree/v2.2.0) (2015-09-28) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.1.0...v2.2.0) - -**Merged pull requests:** - -- Release 2.2.0 [\#224](https://github.com/gjtorikian/html-pipeline/pull/224) ([jch](https://github.com/jch)) -- Only allow cite attribute on blockquote and restrict schemes [\#223](https://github.com/gjtorikian/html-pipeline/pull/223) ([btoews](https://github.com/btoews)) - -## [v2.1.0](https://github.com/gjtorikian/html-pipeline/tree/v2.1.0) (2015-09-22) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.0...v2.1.0) - -**Closed issues:** - -- Add SmartQuotes filter [\#220](https://github.com/gjtorikian/html-pipeline/issues/220) -- Need help fixing a non-security issue… [\#214](https://github.com/gjtorikian/html-pipeline/issues/214) -- List GitHub-deployed versions somewhere? [\#201](https://github.com/gjtorikian/html-pipeline/issues/201) -- Support limited use of the HTML 'style' attribute [\#192](https://github.com/gjtorikian/html-pipeline/issues/192) -- Separate gems for versioning external dependencies [\#182](https://github.com/gjtorikian/html-pipeline/issues/182) - -**Merged pull requests:** - -- Release 2.1.0 [\#222](https://github.com/gjtorikian/html-pipeline/pull/222) ([jch](https://github.com/jch)) -- Whitelist schemes for longdesc [\#221](https://github.com/gjtorikian/html-pipeline/pull/221) ([btoews](https://github.com/btoews)) -- Update README.md [\#211](https://github.com/gjtorikian/html-pipeline/pull/211) ([st0012](https://github.com/st0012)) -- Add ImageFilter for image url to img tag conversion [\#207](https://github.com/gjtorikian/html-pipeline/pull/207) ([st0012](https://github.com/st0012)) -- Extract emoji image tag generation to own method [\#195](https://github.com/gjtorikian/html-pipeline/pull/195) ([kbrock](https://github.com/kbrock)) - -## [v2.0](https://github.com/gjtorikian/html-pipeline/tree/v2.0) (2015-07-20) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.11.0...v2.0) - -**Closed issues:** - -- Feature request: Strikethrough if issue is closed [\#202](https://github.com/gjtorikian/html-pipeline/issues/202) -- how can i read this code? [\#198](https://github.com/gjtorikian/html-pipeline/issues/198) -- how can i read this code? [\#197](https://github.com/gjtorikian/html-pipeline/issues/197) -- Change github-markdown dependency to a free licensed parser [\#196](https://github.com/gjtorikian/html-pipeline/issues/196) -- possible bug? [\#193](https://github.com/gjtorikian/html-pipeline/issues/193) -- Support ftp scheme for markdown URLs [\#187](https://github.com/gjtorikian/html-pipeline/issues/187) -- Syntax highlighting example in Readme not working [\#186](https://github.com/gjtorikian/html-pipeline/issues/186) -- OSX HTML::Pipeline::MarkdownFilter Fails on Right Double Quotation Mark around email address [\#173](https://github.com/gjtorikian/html-pipeline/issues/173) -- Question - Can this work with Rouge? [\#166](https://github.com/gjtorikian/html-pipeline/issues/166) -- Question about github markdown filter \(low priority!\) [\#165](https://github.com/gjtorikian/html-pipeline/issues/165) -- Do not mention or emojify in a codeblock [\#163](https://github.com/gjtorikian/html-pipeline/issues/163) -- MentionFilter base\_url config question [\#161](https://github.com/gjtorikian/html-pipeline/issues/161) -- Feature Request: Add "details" tag to whitelist [\#138](https://github.com/gjtorikian/html-pipeline/issues/138) - -**Merged pull requests:** - -- Add three 3rd party filters. \[ci skip\] [\#185](https://github.com/gjtorikian/html-pipeline/pull/185) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- \[MentionFilter\] Dup string before modifying [\#181](https://github.com/gjtorikian/html-pipeline/pull/181) ([jch](https://github.com/jch)) -- Constrain active support \>= 2, \< 5 [\#180](https://github.com/gjtorikian/html-pipeline/pull/180) ([jch](https://github.com/jch)) -- Release 2.0 [\#179](https://github.com/gjtorikian/html-pipeline/pull/179) ([jch](https://github.com/jch)) -- \[ci skip\] Fix CHANGELOG.md rendering. [\#177](https://github.com/gjtorikian/html-pipeline/pull/177) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Restrict nokogiri to specific versions [\#176](https://github.com/gjtorikian/html-pipeline/pull/176) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Use svg build badge. \[ci skip\] [\#175](https://github.com/gjtorikian/html-pipeline/pull/175) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Add 3rd party gem: html-pipeline-rouge\_filter. [\#174](https://github.com/gjtorikian/html-pipeline/pull/174) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- MentionFilter\#link\_to\_mentioned\_user: Replace String introspection with Regexp match [\#172](https://github.com/gjtorikian/html-pipeline/pull/172) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Whitelist summary and details element. [\#171](https://github.com/gjtorikian/html-pipeline/pull/171) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Implement new context option: ignored\_ancestor\_tags to accept more ignored tags. [\#170](https://github.com/gjtorikian/html-pipeline/pull/170) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Support ~login for MentionFilter. [\#167](https://github.com/gjtorikian/html-pipeline/pull/167) ([JuanitoFatas](https://github.com/JuanitoFatas)) -- Add GitHub flavor Markdown Task List extension [\#162](https://github.com/gjtorikian/html-pipeline/pull/162) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Drop support for gemoji ~\> 1.0 [\#159](https://github.com/gjtorikian/html-pipeline/pull/159) ([jch](https://github.com/jch)) -- Revert "Search for text nodes on DocumentFragments without root tags" [\#158](https://github.com/gjtorikian/html-pipeline/pull/158) ([jch](https://github.com/jch)) -- @mention allow for custom regex to identify usernames. [\#157](https://github.com/gjtorikian/html-pipeline/pull/157) ([brittballard](https://github.com/brittballard)) -- Drop support for ruby ree, 1.9.2 [\#156](https://github.com/gjtorikian/html-pipeline/pull/156) ([jch](https://github.com/jch)) -- Use Linguist lexers [\#153](https://github.com/gjtorikian/html-pipeline/pull/153) ([pchaigno](https://github.com/pchaigno)) -- Readme tweaks: add FAQ section, refresh 3rd party extensions [\#150](https://github.com/gjtorikian/html-pipeline/pull/150) ([jch](https://github.com/jch)) -- \ tags are not skipped by EmojiFilter [\#147](https://github.com/gjtorikian/html-pipeline/pull/147) ([moskvax](https://github.com/moskvax)) - -## [v1.11.0](https://github.com/gjtorikian/html-pipeline/tree/v1.11.0) (2014-09-15) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.10.0...v1.11.0) - -**Closed issues:** - -- @mention\_filter should not replace mentions in style blocks. [\#143](https://github.com/gjtorikian/html-pipeline/issues/143) -- EmojiFilter doesn't work on strings that don't contain HTML [\#133](https://github.com/gjtorikian/html-pipeline/issues/133) - -**Merged pull requests:** - -- Search for text nodes on DocumentFragments without root tags [\#146](https://github.com/gjtorikian/html-pipeline/pull/146) ([Razer6](https://github.com/Razer6)) -- Don't filter @mentions in \ tags [\#145](https://github.com/gjtorikian/html-pipeline/pull/145) ([jch](https://github.com/jch)) -- Prefer http\_url in HttpsFilter [\#142](https://github.com/gjtorikian/html-pipeline/pull/142) ([bkeepers](https://github.com/bkeepers)) -- Don't check twice if there is a ':' in content \(EmojiFilter\) [\#141](https://github.com/gjtorikian/html-pipeline/pull/141) ([Razer6](https://github.com/Razer6)) - -## [v1.10.0](https://github.com/gjtorikian/html-pipeline/tree/v1.10.0) (2014-09-05) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.9.0...v1.10.0) - -**Closed issues:** - -- header tags are html-rendered with name="" instead of id="" [\#135](https://github.com/gjtorikian/html-pipeline/issues/135) -- Enable syntax highlighting for inline code [\#134](https://github.com/gjtorikian/html-pipeline/issues/134) - -**Merged pull requests:** - -- Use id instead of name for TableOfContentsFilter [\#140](https://github.com/gjtorikian/html-pipeline/pull/140) ([bkeepers](https://github.com/bkeepers)) -- adding "details" to tag whitelist [\#139](https://github.com/gjtorikian/html-pipeline/pull/139) ([tansaku](https://github.com/tansaku)) -- Fix spelling in readme [\#137](https://github.com/gjtorikian/html-pipeline/pull/137) ([Razer6](https://github.com/Razer6)) -- Remove ActiveSupport try\(\) dependency [\#132](https://github.com/gjtorikian/html-pipeline/pull/132) ([simeonwillbanks](https://github.com/simeonwillbanks)) - -## [v1.9.0](https://github.com/gjtorikian/html-pipeline/tree/v1.9.0) (2014-07-07) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.8.0...v1.9.0) - -**Closed issues:** - -- Medico [\#128](https://github.com/gjtorikian/html-pipeline/issues/128) -- Support ActiveSupport 4.1 [\#125](https://github.com/gjtorikian/html-pipeline/issues/125) -- De-github https filter [\#123](https://github.com/gjtorikian/html-pipeline/issues/123) - -**Merged pull requests:** - -- Generalize https filter take 2 [\#131](https://github.com/gjtorikian/html-pipeline/pull/131) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Remove RUBY\_VERSION conditionals from gemspec [\#130](https://github.com/gjtorikian/html-pipeline/pull/130) ([mislav](https://github.com/mislav)) -- Add compatibility with gemoji v2 [\#129](https://github.com/gjtorikian/html-pipeline/pull/129) ([mislav](https://github.com/mislav)) - -## [v1.8.0](https://github.com/gjtorikian/html-pipeline/tree/v1.8.0) (2014-04-04) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.7.0...v1.8.0) - -**Implemented enhancements:** - -- Getting Started Guide [\#112](https://github.com/gjtorikian/html-pipeline/issues/112) - -**Merged pull requests:** - -- Adding support to supply the path to the emoji sprite in the emoji pipeline [\#122](https://github.com/gjtorikian/html-pipeline/pull/122) ([bradly](https://github.com/bradly)) -- Initial Better README [\#118](https://github.com/gjtorikian/html-pipeline/pull/118) ([simeonwillbanks](https://github.com/simeonwillbanks)) - -## [v1.7.0](https://github.com/gjtorikian/html-pipeline/tree/v1.7.0) (2014-03-11) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.6.0...v1.7.0) - -**Implemented enhancements:** - -- Contributing Guidelines [\#113](https://github.com/gjtorikian/html-pipeline/issues/113) - -**Closed issues:** - -- cut a 1.6.0 release [\#116](https://github.com/gjtorikian/html-pipeline/issues/116) -- AutolinkFilter link\_attr doesn't seem to work [\#114](https://github.com/gjtorikian/html-pipeline/issues/114) -- Spaces inserted into code [\#109](https://github.com/gjtorikian/html-pipeline/issues/109) - -**Merged pull requests:** - -- Allow \ and \ [\#120](https://github.com/gjtorikian/html-pipeline/pull/120) ([haileys](https://github.com/haileys)) -- Ruby 2.1.1 [\#119](https://github.com/gjtorikian/html-pipeline/pull/119) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Notes on how to release a new gem version [\#117](https://github.com/gjtorikian/html-pipeline/pull/117) ([jch](https://github.com/jch)) -- Initial Contributing Guidelines [\#115](https://github.com/gjtorikian/html-pipeline/pull/115) ([simeonwillbanks](https://github.com/simeonwillbanks)) - -## [v1.6.0](https://github.com/gjtorikian/html-pipeline/tree/v1.6.0) (2014-02-14) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.5.0...v1.6.0) - -**Closed issues:** - -- EmailReplyParser is undefined [\#107](https://github.com/gjtorikian/html-pipeline/issues/107) -- No stylesheets for SyntaxHighlightFilter [\#106](https://github.com/gjtorikian/html-pipeline/issues/106) -- Camo Filter doesn't return doc when disabled [\#102](https://github.com/gjtorikian/html-pipeline/issues/102) -- Passed content must be valid XML to be filtered [\#100](https://github.com/gjtorikian/html-pipeline/issues/100) -- Emoji syntax gravatars [\#56](https://github.com/gjtorikian/html-pipeline/issues/56) - -**Merged pull requests:** - -- EmailReplyFilter depends on EmailReplyParser [\#110](https://github.com/gjtorikian/html-pipeline/pull/110) ([foca](https://github.com/foca)) -- Document generating CSS for HTML formatted code [\#108](https://github.com/gjtorikian/html-pipeline/pull/108) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Stop using deprecated OpenSSL::Digest::Digest [\#103](https://github.com/gjtorikian/html-pipeline/pull/103) ([chrishunt](https://github.com/chrishunt)) - -## [v1.5.0](https://github.com/gjtorikian/html-pipeline/tree/v1.5.0) (2014-01-22) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.4.0...v1.5.0) - -**Merged pull requests:** - -- Allow customization of allowed \ URL schemes [\#98](https://github.com/gjtorikian/html-pipeline/pull/98) ([aroben](https://github.com/aroben)) - -## [v1.4.0](https://github.com/gjtorikian/html-pipeline/tree/v1.4.0) (2014-01-21) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.3.0...v1.4.0) - -**Merged pull requests:** - -- Don't URI parse src before passing to camo [\#101](https://github.com/gjtorikian/html-pipeline/pull/101) ([josh](https://github.com/josh)) - -## [v1.3.0](https://github.com/gjtorikian/html-pipeline/tree/v1.3.0) (2014-01-14) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.2.0...v1.3.0) - -**Merged pull requests:** - -- Remove 1.8 from Travis build [\#99](https://github.com/gjtorikian/html-pipeline/pull/99) ([josh](https://github.com/josh)) - -## [v1.2.0](https://github.com/gjtorikian/html-pipeline/tree/v1.2.0) (2014-01-09) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.1.0...v1.2.0) - -**Closed issues:** - -- Allow SSH protocol links [\#95](https://github.com/gjtorikian/html-pipeline/issues/95) -- Straight quote → unicode curly quotes filter [\#94](https://github.com/gjtorikian/html-pipeline/issues/94) - -**Merged pull requests:** - -- Bump version 1.2.0 [\#97](https://github.com/gjtorikian/html-pipeline/pull/97) ([jch](https://github.com/jch)) -- Camo Everything [\#96](https://github.com/gjtorikian/html-pipeline/pull/96) ([josh](https://github.com/josh)) - -## [v1.1.0](https://github.com/gjtorikian/html-pipeline/tree/v1.1.0) (2013-11-20) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.0.0...v1.1.0) - -**Merged pull requests:** - -- Bump version 1.1.0 [\#93](https://github.com/gjtorikian/html-pipeline/pull/93) ([jch](https://github.com/jch)) -- CGI.escape emoji name [\#92](https://github.com/gjtorikian/html-pipeline/pull/92) ([jayroh](https://github.com/jayroh)) - -## [v1.0.0](https://github.com/gjtorikian/html-pipeline/tree/v1.0.0) (2013-10-29) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.3.1...v1.0.0) - -**Closed issues:** - -- Tagged releases for 0.3.0 and 0.3.1 [\#91](https://github.com/gjtorikian/html-pipeline/issues/91) -- Potential class loading conflict with add-on filters [\#88](https://github.com/gjtorikian/html-pipeline/issues/88) -- Place Dependency Management On Filters [\#77](https://github.com/gjtorikian/html-pipeline/issues/77) -- Decrease number of dependencies [\#48](https://github.com/gjtorikian/html-pipeline/issues/48) - -**Merged pull requests:** - -- Add link\_attr option to Autolink filter [\#89](https://github.com/gjtorikian/html-pipeline/pull/89) ([excid3](https://github.com/excid3)) -- Update readme with link to asciidoc filter [\#87](https://github.com/gjtorikian/html-pipeline/pull/87) ([jch](https://github.com/jch)) -- use xml\_mini extracted from activesupport [\#85](https://github.com/gjtorikian/html-pipeline/pull/85) ([mojavelinux](https://github.com/mojavelinux)) -- Filters Manage Dependencies [\#80](https://github.com/gjtorikian/html-pipeline/pull/80) ([simeonwillbanks](https://github.com/simeonwillbanks)) - -## [v0.3.1](https://github.com/gjtorikian/html-pipeline/tree/v0.3.1) (2013-09-16) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.3.0...v0.3.1) - -**Closed issues:** - -- Tweaks to the email reply filter [\#82](https://github.com/gjtorikian/html-pipeline/issues/82) - -**Merged pull requests:** - -- Guard against nil node replacement results [\#84](https://github.com/gjtorikian/html-pipeline/pull/84) ([jbarnette](https://github.com/jbarnette)) - -## [v0.3.0](https://github.com/gjtorikian/html-pipeline/tree/v0.3.0) (2013-08-30) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.2.1...v0.3.0) - -**Closed issues:** - -- Support for ActiveSupport 4 [\#76](https://github.com/gjtorikian/html-pipeline/issues/76) - -**Merged pull requests:** - -- Teach SyntaxHighlightFilter about default highlights [\#81](https://github.com/gjtorikian/html-pipeline/pull/81) ([jbarnette](https://github.com/jbarnette)) - -## [v0.2.1](https://github.com/gjtorikian/html-pipeline/tree/v0.2.1) (2013-08-20) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.2.0...v0.2.1) - -**Closed issues:** - -- Implement an AsciiDoc filter based on Asciidoctor [\#59](https://github.com/gjtorikian/html-pipeline/issues/59) - -**Merged pull requests:** - -- Move activesupport to a development dependency [\#79](https://github.com/gjtorikian/html-pipeline/pull/79) ([jch](https://github.com/jch)) - -## [v0.2.0](https://github.com/gjtorikian/html-pipeline/tree/v0.2.0) (2013-07-31) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.1.0...v0.2.0) - -**Merged pull requests:** - -- Generate Table of Contents [\#75](https://github.com/gjtorikian/html-pipeline/pull/75) ([simeonwillbanks](https://github.com/simeonwillbanks)) -- Fix wrong class name at README.md [\#74](https://github.com/gjtorikian/html-pipeline/pull/74) ([tricknotes](https://github.com/tricknotes)) - -## [v0.1.0](https://github.com/gjtorikian/html-pipeline/tree/v0.1.0) (2013-07-16) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.14...v0.1.0) - -**Closed issues:** - -- Fix travis-ci build [\#63](https://github.com/gjtorikian/html-pipeline/issues/63) -- Loosen Markdown Dependency. [\#62](https://github.com/gjtorikian/html-pipeline/issues/62) -- TocFilter: non-English characters in headers don't get proper anchor names [\#58](https://github.com/gjtorikian/html-pipeline/issues/58) -- Whitelist table sections \(thead, tbody, tfoot\) [\#54](https://github.com/gjtorikian/html-pipeline/issues/54) -- Warn if "pipelines" are out of order. [\#47](https://github.com/gjtorikian/html-pipeline/issues/47) - -**Merged pull requests:** - -- TocFilter: keep using the old punctuation stripping on 1.8.7 [\#73](https://github.com/gjtorikian/html-pipeline/pull/73) ([jakedouglas](https://github.com/jakedouglas)) -- Add ruby 2.0.0 to .travis.yml [\#72](https://github.com/gjtorikian/html-pipeline/pull/72) ([tricknotes](https://github.com/tricknotes)) -- Fix ignored test [\#71](https://github.com/gjtorikian/html-pipeline/pull/71) ([tricknotes](https://github.com/tricknotes)) -- Improve to describe gem 'github-linguist' [\#69](https://github.com/gjtorikian/html-pipeline/pull/69) ([tricknotes](https://github.com/tricknotes)) -- Bump version to 0.1.0. Follow semver. [\#68](https://github.com/gjtorikian/html-pipeline/pull/68) ([jch](https://github.com/jch)) -- Scope gem versions for Travis CI [\#67](https://github.com/gjtorikian/html-pipeline/pull/67) ([jch](https://github.com/jch)) -- Allow passing skip\_tags in autolink filter context [\#65](https://github.com/gjtorikian/html-pipeline/pull/65) ([pengwynn](https://github.com/pengwynn)) -- Support non-English characters in anchor names [\#64](https://github.com/gjtorikian/html-pipeline/pull/64) ([jakedouglas](https://github.com/jakedouglas)) -- Fix the `AutolinkFilter` constant name. [\#57](https://github.com/gjtorikian/html-pipeline/pull/57) ([envygeeks](https://github.com/envygeeks)) -- resolves \#54 allow table section elements \(thead, tfoot, tbody\) [\#55](https://github.com/gjtorikian/html-pipeline/pull/55) ([mojavelinux](https://github.com/mojavelinux)) - -## [v0.0.14](https://github.com/gjtorikian/html-pipeline/tree/v0.0.14) (2013-05-22) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.13...v0.0.14) - -**Closed issues:** - -- Give rsanheim rights to pushing gems [\#53](https://github.com/gjtorikian/html-pipeline/issues/53) - -## [v0.0.13](https://github.com/gjtorikian/html-pipeline/tree/v0.0.13) (2013-05-13) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.12...v0.0.13) - -**Closed issues:** - -- Can I use MentionFilter without MarkdownFilter [\#51](https://github.com/gjtorikian/html-pipeline/issues/51) - -**Merged pull requests:** - -- New octicon class names [\#52](https://github.com/gjtorikian/html-pipeline/pull/52) ([cameronmcefee](https://github.com/cameronmcefee)) -- Strip contents of \ tags. [\#50](https://github.com/gjtorikian/html-pipeline/pull/50) ([benubois](https://github.com/benubois)) - -## [v0.0.12](https://github.com/gjtorikian/html-pipeline/tree/v0.0.12) (2013-04-01) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.11...v0.0.12) - -**Merged pull requests:** - -- Include output and results to filter, pipeline event payload [\#46](https://github.com/gjtorikian/html-pipeline/pull/46) ([mtodd](https://github.com/mtodd)) - -## [v0.0.11](https://github.com/gjtorikian/html-pipeline/tree/v0.0.11) (2013-03-29) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.10...v0.0.11) - -**Merged pull requests:** - -- Instrument filters in the pipeline [\#45](https://github.com/gjtorikian/html-pipeline/pull/45) ([mtodd](https://github.com/mtodd)) - -## [v0.0.10](https://github.com/gjtorikian/html-pipeline/tree/v0.0.10) (2013-03-21) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.8.1...v0.0.10) - -**Closed issues:** - -- Executable for previewing [\#43](https://github.com/gjtorikian/html-pipeline/issues/43) - -**Merged pull requests:** - -- Add an html-pipeline executable to the gem [\#44](https://github.com/gjtorikian/html-pipeline/pull/44) ([indirect](https://github.com/indirect)) -- add result\[:mentioned\_usernames\] for MentionFilter [\#42](https://github.com/gjtorikian/html-pipeline/pull/42) ([fahchen](https://github.com/fahchen)) - -## [v0.0.8.1](https://github.com/gjtorikian/html-pipeline/tree/v0.0.8.1) (2013-03-03) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.9...v0.0.8.1) - -## [v0.0.9](https://github.com/gjtorikian/html-pipeline/tree/v0.0.9) (2013-02-27) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.8...v0.0.9) - -**Closed issues:** - -- Better error notification on missing linguist dependency? [\#36](https://github.com/gjtorikian/html-pipeline/issues/36) - -**Merged pull requests:** - -- Bump escape\_utils [\#41](https://github.com/gjtorikian/html-pipeline/pull/41) ([brianmario](https://github.com/brianmario)) -- Don't monkeypatch Nokogiri in 1.9 [\#40](https://github.com/gjtorikian/html-pipeline/pull/40) ([defunkt](https://github.com/defunkt)) - -## [v0.0.8](https://github.com/gjtorikian/html-pipeline/tree/v0.0.8) (2013-02-07) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.7...v0.0.8) - -**Closed issues:** - -- Optionally require github-linguist [\#33](https://github.com/gjtorikian/html-pipeline/issues/33) - -**Merged pull requests:** - -- Raise the roof---I mean, error [\#37](https://github.com/gjtorikian/html-pipeline/pull/37) ([gjtorikian](https://github.com/gjtorikian)) - -## [v0.0.7](https://github.com/gjtorikian/html-pipeline/tree/v0.0.7) (2013-01-30) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.6...v0.0.7) - -**Closed issues:** - -- Where to report custom filters? [\#30](https://github.com/gjtorikian/html-pipeline/issues/30) - -**Merged pull requests:** - -- Remove github-linguist dependency [\#35](https://github.com/gjtorikian/html-pipeline/pull/35) ([jch](https://github.com/jch)) -- Delete erroneous trailing {}s from README [\#34](https://github.com/gjtorikian/html-pipeline/pull/34) ([mrb](https://github.com/mrb)) - -## [v0.0.6](https://github.com/gjtorikian/html-pipeline/tree/v0.0.6) (2012-12-11) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.5...v0.0.6) - -**Merged pull requests:** - -- use \#gsub instead of \#gsub! in MarkdownFilter\#initialize [\#32](https://github.com/gjtorikian/html-pipeline/pull/32) ([jakedouglas](https://github.com/jakedouglas)) - -## [v0.0.5](https://github.com/gjtorikian/html-pipeline/tree/v0.0.5) (2012-12-10) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.4...v0.0.5) - -**Merged pull requests:** - -- Fix XSS vulnerability in sanitization filter [\#31](https://github.com/gjtorikian/html-pipeline/pull/31) ([jch](https://github.com/jch)) -- Fix typo on readme in "AutolinkFilter" doc [\#29](https://github.com/gjtorikian/html-pipeline/pull/29) ([dmarcotte](https://github.com/dmarcotte)) -- fix syntax highlighting example in Readme [\#27](https://github.com/gjtorikian/html-pipeline/pull/27) ([mislav](https://github.com/mislav)) -- remove github-linguist dependency [\#26](https://github.com/gjtorikian/html-pipeline/pull/26) ([mislav](https://github.com/mislav)) -- Retrigger Travis build for debugging [\#25](https://github.com/gjtorikian/html-pipeline/pull/25) ([jch](https://github.com/jch)) -- Use consistent quotes in gemspec [\#24](https://github.com/gjtorikian/html-pipeline/pull/24) ([jbarnette](https://github.com/jbarnette)) -- Add MIT license indicator to the gemspec. [\#23](https://github.com/gjtorikian/html-pipeline/pull/23) ([nbibler](https://github.com/nbibler)) -- Context validation [\#22](https://github.com/gjtorikian/html-pipeline/pull/22) ([benubois](https://github.com/benubois)) -- Corrected a little typo [\#21](https://github.com/gjtorikian/html-pipeline/pull/21) ([blackerby](https://github.com/blackerby)) -- Added an example of a custom filter. [\#19](https://github.com/gjtorikian/html-pipeline/pull/19) ([benubois](https://github.com/benubois)) -- Use correct OSS Manifesto link. [\#18](https://github.com/gjtorikian/html-pipeline/pull/18) ([wickedshimmy](https://github.com/wickedshimmy)) -- Fixed typos [\#17](https://github.com/gjtorikian/html-pipeline/pull/17) ([pborreli](https://github.com/pborreli)) -- What is the github filter chain? [\#16](https://github.com/gjtorikian/html-pipeline/pull/16) ([geemus](https://github.com/geemus)) -- Loosen Gemoji restriction [\#15](https://github.com/gjtorikian/html-pipeline/pull/15) ([josh](https://github.com/josh)) - -## [v0.0.4](https://github.com/gjtorikian/html-pipeline/tree/v0.0.4) (2012-11-06) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.3...v0.0.4) - -**Implemented enhancements:** - -- Detect asset pipeline availability [\#1](https://github.com/gjtorikian/html-pipeline/issues/1) - -**Fixed bugs:** - -- @mention at end of parenthetical sentence doesn't get linked [\#11](https://github.com/gjtorikian/html-pipeline/issues/11) - -**Closed issues:** - -- Open source, transferring repo ownership [\#12](https://github.com/gjtorikian/html-pipeline/issues/12) -- Ensure we get the latest from github/github [\#10](https://github.com/gjtorikian/html-pipeline/issues/10) -- Rename repository to html-pipeline [\#7](https://github.com/gjtorikian/html-pipeline/issues/7) - -**Merged pull requests:** - -- HTML::Pipeline::Pipeline [\#13](https://github.com/gjtorikian/html-pipeline/pull/13) ([jbarnette](https://github.com/jbarnette)) - -## [v0.0.3](https://github.com/gjtorikian/html-pipeline/tree/v0.0.3) (2012-10-03) - -[Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/a08f65df81dba0004c2de429848cd9a202917d04...v0.0.3) - -**Closed issues:** - -- History [\#3](https://github.com/gjtorikian/html-pipeline/issues/3) - -**Merged pull requests:** - -- Ensure required context values are present [\#9](https://github.com/gjtorikian/html-pipeline/pull/9) ([juliamae](https://github.com/juliamae)) -- emoji filter requires the emoji gem [\#8](https://github.com/gjtorikian/html-pipeline/pull/8) ([atmos](https://github.com/atmos)) -- De-Github and opensource [\#6](https://github.com/gjtorikian/html-pipeline/pull/6) ([jch](https://github.com/jch)) - - - -\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/CONTRIBUTING.md deleted file mode 100644 index 5f66206..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/CONTRIBUTING.md +++ /dev/null @@ -1,60 +0,0 @@ -# Contributing - -Thanks for using and improving `HTML::Pipeline`! - -- [Submitting a New Issue](#submitting-a-new-issue) -- [Sending a Pull Request](#sending-a-pull-request) - -## Submitting a New Issue - -If there's an idea you'd like to propose, or a design change, feel free to file a new issue. - -If you have an implementation question or believe you've found a bug, please provide as many details as possible: - -- Input document -- Output HTML document -- the exact `HTML::Pipeline` code you are using -- output of the following from your project - -``` -ruby -v -bundle exec nokogiri -v -``` - -## Sending a Pull Request - -[Pull requests][pr] are always welcome! - -Check out [the project's issues list][issues] for ideas on what could be improved. - -Before sending, please add tests and ensure the test suite passes. - -### Running the Tests - -To run the full suite: - - `bundle exec rake` - -To run a specific test file: - - `bundle exec ruby -Itest test/html/pipeline_test.rb` - -To run a specific test: - - `bundle exec ruby -Itest test/html/pipeline/markdown_filter_test.rb -n test_disabling_gfm` - -To run the full suite with all [supported rubies][travisyaml] in bash: - -```bash -rubies=(ree-1.8.7-2011.03 1.9.2-p290 1.9.3-p429 2.0.0-p247) -for r in ${rubies[*]} -do - rbenv local $r # switch to your version manager of choice - bundle install - bundle exec rake -done -``` - -[issues]: https://github.com/jch/html-pipeline/issues -[pr]: https://help.github.com/articles/using-pull-requests -[travisyaml]: https://github.com/jch/html-pipeline/blob/master/.travis.yml diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Gemfile deleted file mode 100644 index adc923b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Gemfile +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -source 'https://rubygems.org' - -# Specify your gem's dependencies in html-pipeline.gemspec -gemspec - -group :development do - gem 'appraisal' - gem 'bundler' - gem 'rake' -end - -group :test do - gem 'commonmarker', '~> 0.16', require: false - gem 'email_reply_parser', '~> 0.5', require: false - gem 'gemoji', '~> 2.0', require: false - gem 'minitest' - gem 'RedCloth', '~> 4.2.9', require: false - gem 'rinku', '~> 1.7', require: false - gem 'sanitize', '~> 4.6', require: false - - gem 'escape_utils', '~> 1.0', require: false - gem 'rouge', '~> 3.1', require: false - gem 'minitest-focus', '~> 1.1' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/LICENSE deleted file mode 100644 index c972fc6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2012 GitHub Inc. and Jerry Cheung - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/README.md deleted file mode 100644 index e852842..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/README.md +++ /dev/null @@ -1,369 +0,0 @@ -# HTML::Pipeline [![Build Status](https://travis-ci.org/jch/html-pipeline.svg?branch=master)](https://travis-ci.org/jch/html-pipeline) - -HTML processing filters and utilities. This module includes a small -framework for defining DOM based content filters and applying them to user -provided content. - -[This project was started at GitHub](https://github.com/blog/1311-html-pipeline-chainable-content-filters). While GitHub still uses a similar design and pattern for rendering content, this gem should be considered standalone and independent from GitHub. - -- [Installation](#installation) -- [Usage](#usage) - - [Examples](#examples) -- [Filters](#filters) -- [Dependencies](#dependencies) -- [Documentation](#documentation) -- [Extending](#extending) - - [3rd Party Extensions](#3rd-party-extensions) -- [Instrumenting](#instrumenting) -- [Contributing](#contributing) - - [Contributors](#contributors) - - [Releasing A New Version](#releasing-a-new-version) - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'html-pipeline' -``` - -And then execute: - -```sh -$ bundle -``` - -Or install it by yourself as: - -```sh -$ gem install html-pipeline -``` - -## Usage - -This library provides a handful of chainable HTML filters to transform user -content into markup. A filter takes an HTML string or -`Nokogiri::HTML::DocumentFragment`, optionally manipulates it, and then -outputs the result. - -For example, to transform Markdown source into Markdown HTML: - -```ruby -require 'html/pipeline' - -filter = HTML::Pipeline::MarkdownFilter.new("Hi **world**!") -filter.call -``` - -Filters can be combined into a pipeline which causes each filter to hand its -output to the next filter's input. So if you wanted to have content be -filtered through Markdown and be syntax highlighted, you can create the -following pipeline: - -```ruby -pipeline = HTML::Pipeline.new [ - HTML::Pipeline::MarkdownFilter, - HTML::Pipeline::SyntaxHighlightFilter -] -result = pipeline.call <<-CODE -This is *great*: - - some_code(:first) - -CODE -result[:output].to_s -``` - -Prints: - -```html -

This is great:

- -
some_code(:first)
-
-``` - -To generate CSS for HTML formatted code, use the [Rouge CSS Theme](https://github.com/rouge-ruby/rouge#css-options) `#css` method. `rouge` is a dependency of the `SyntaxHighlightFilter`. - -Some filters take an optional **context** and/or **result** hash. These are -used to pass around arguments and metadata between filters in a pipeline. For -example, if you don't want to use GitHub formatted Markdown, you can pass an -option in the context hash: - -```ruby -filter = HTML::Pipeline::MarkdownFilter.new("Hi **world**!", :gfm => false) -filter.call -``` - -### Examples - -We define different pipelines for different parts of our app. Here are a few -paraphrased snippets to get you started: - -```ruby -# The context hash is how you pass options between different filters. -# See individual filter source for explanation of options. -context = { - :asset_root => "http://your-domain.com/where/your/images/live/icons", - :base_url => "http://your-domain.com" -} - -# Pipeline providing sanitization and image hijacking but no mention -# related features. -SimplePipeline = Pipeline.new [ - SanitizationFilter, - TableOfContentsFilter, # add 'name' anchors to all headers and generate toc list - CamoFilter, - ImageMaxWidthFilter, - SyntaxHighlightFilter, - EmojiFilter, - AutolinkFilter -], context - -# Pipeline used for user provided content on the web -MarkdownPipeline = Pipeline.new [ - MarkdownFilter, - SanitizationFilter, - CamoFilter, - ImageMaxWidthFilter, - HttpsFilter, - MentionFilter, - EmojiFilter, - SyntaxHighlightFilter -], context.merge(:gfm => true) # enable github formatted markdown - - -# Define a pipeline based on another pipeline's filters -NonGFMMarkdownPipeline = Pipeline.new(MarkdownPipeline.filters, - context.merge(:gfm => false)) - -# Pipelines aren't limited to the web. You can use them for email -# processing also. -HtmlEmailPipeline = Pipeline.new [ - PlainTextInputFilter, - ImageMaxWidthFilter -], {} - -# Just emoji. -EmojiPipeline = Pipeline.new [ - PlainTextInputFilter, - EmojiFilter -], context -``` - -## Filters - -* `MentionFilter` - replace `@user` mentions with links -* `TeamMentionFilter` - replace `@org/team` mentions with links -* `AbsoluteSourceFilter` - replace relative image urls with fully qualified versions -* `AutolinkFilter` - auto_linking urls in HTML -* `CamoFilter` - replace http image urls with [camo-fied](https://github.com/atmos/camo) https versions -* `EmailReplyFilter` - util filter for working with emails -* `EmojiFilter` - everyone loves [emoji](http://www.emoji-cheat-sheet.com/)! -* `HttpsFilter` - HTML Filter for replacing http github urls with https versions. -* `ImageMaxWidthFilter` - link to full size image for large images -* `MarkdownFilter` - convert markdown to html -* `PlainTextInputFilter` - html escape text and wrap the result in a div -* `SanitizationFilter` - allow sanitize user markup -* `SyntaxHighlightFilter` - code syntax highlighter -* `TextileFilter` - convert textile to html -* `TableOfContentsFilter` - anchor headings with name attributes and generate Table of Contents html unordered list linking headings - -## Dependencies - -Filter gem dependencies are not bundled; you must bundle the filter's gem -dependencies. The below list details filters with dependencies. For example, -`SyntaxHighlightFilter` uses [rouge](https://github.com/jneen/rouge) -to detect and highlight languages. For example, to use the `SyntaxHighlightFilter`, -add the following to your Gemfile: - -```ruby -gem 'rouge' -``` - -* `AutolinkFilter` - `rinku` -* `EmailReplyFilter` - `escape_utils`, `email_reply_parser` -* `EmojiFilter` - `gemoji` -* `MarkdownFilter` - `commonmarker` -* `PlainTextInputFilter` - `escape_utils` -* `SanitizationFilter` - `sanitize` -* `SyntaxHighlightFilter` - `rouge` -* `TableOfContentsFilter` - `escape_utils` -* `TextileFilter` - `RedCloth` - -_Note:_ See [Gemfile](/Gemfile) `:test` block for version requirements. - -## Documentation - -Full reference documentation can be [found here](http://rubydoc.info/gems/html-pipeline/frames). - -## Extending -To write a custom filter, you need a class with a `call` method that inherits -from `HTML::Pipeline::Filter`. - -For example this filter adds a base url to images that are root relative: - -```ruby -require 'uri' - -class RootRelativeFilter < HTML::Pipeline::Filter - - def call - doc.search("img").each do |img| - next if img['src'].nil? - src = img['src'].strip - if src.start_with? '/' - img["src"] = URI.join(context[:base_url], src).to_s - end - end - doc - end - -end -``` - -Now this filter can be used in a pipeline: - -```ruby -Pipeline.new [ RootRelativeFilter ], { :base_url => 'http://somehost.com' } -``` - -### 3rd Party Extensions - -If you have an idea for a filter, propose it as -[an issue](https://github.com/jch/html-pipeline/issues) first. This allows us discuss -whether the filter is a common enough use case to belong in this gem, or should be -built as an external gem. - -Here are some extensions people have built: - -* [html-pipeline-asciidoc_filter](https://github.com/asciidoctor/html-pipeline-asciidoc_filter) -* [jekyll-html-pipeline](https://github.com/gjtorikian/jekyll-html-pipeline) -* [nanoc-html-pipeline](https://github.com/burnto/nanoc-html-pipeline) -* [html-pipeline-bitly](https://github.com/dewski/html-pipeline-bitly) -* [html-pipeline-cite](https://github.com/lifted-studios/html-pipeline-cite) -* [tilt-html-pipeline](https://github.com/bradgessler/tilt-html-pipeline) -* [html-pipeline-wiki-link'](https://github.com/lifted-studios/html-pipeline-wiki-link) - WikiMedia-style wiki links -* [task_list](https://github.com/github/task_list) - GitHub flavor Markdown Task List -* [html-pipeline-nico_link](https://github.com/rutan/html-pipeline-nico_link) - An HTML::Pipeline filter for [niconico](http://www.nicovideo.jp) description links -* [html-pipeline-gitlab](https://gitlab.com/gitlab-org/html-pipeline-gitlab) - This gem implements various filters for html-pipeline used by GitLab -* [html-pipeline-youtube](https://github.com/st0012/html-pipeline-youtube) - An HTML::Pipeline filter for YouTube links -* [html-pipeline-flickr](https://github.com/st0012/html-pipeline-flickr) - An HTML::Pipeline filter for Flickr links -* [html-pipeline-vimeo](https://github.com/dlackty/html-pipeline-vimeo) - An HTML::Pipeline filter for Vimeo links -* [html-pipeline-hashtag](https://github.com/mr-dxdy/html-pipeline-hashtag) - An HTML::Pipeline filter for hashtags -* [html-pipeline-linkify_github](https://github.com/jollygoodcode/html-pipeline-linkify_github) - An HTML::Pipeline filter to autolink GitHub urls -* [html-pipeline-redcarpet_filter](https://github.com/bmikol/html-pipeline-redcarpet_filter) - Render Markdown source text into Markdown HTML using Redcarpet -* [html-pipeline-typogruby_filter](https://github.com/bmikol/html-pipeline-typogruby_filter) - Add Typogruby text filters to your HTML::Pipeline -* [korgi](https://github.com/jodeci/korgi) - HTML::Pipeline filters for links to Rails resources - - -## Instrumenting - -Filters and Pipelines can be set up to be instrumented when called. The pipeline -must be setup with an -[ActiveSupport::Notifications](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html) -compatible service object and a name. New pipeline objects will default to the -`HTML::Pipeline.default_instrumentation_service` object. - -``` ruby -# the AS::Notifications-compatible service object -service = ActiveSupport::Notifications - -# instrument a specific pipeline -pipeline = HTML::Pipeline.new [MarkdownFilter], context -pipeline.setup_instrumentation "MarkdownPipeline", service - -# or set default instrumentation service for all new pipelines -HTML::Pipeline.default_instrumentation_service = service -pipeline = HTML::Pipeline.new [MarkdownFilter], context -pipeline.setup_instrumentation "MarkdownPipeline" -``` - -Filters are instrumented when they are run through the pipeline. A -`call_filter.html_pipeline` event is published once the filter finishes. The -`payload` should include the `filter` name. Each filter will trigger its own -instrumentation call. - -``` ruby -service.subscribe "call_filter.html_pipeline" do |event, start, ending, transaction_id, payload| - payload[:pipeline] #=> "MarkdownPipeline", set with `setup_instrumentation` - payload[:filter] #=> "MarkdownFilter" - payload[:context] #=> context Hash - payload[:result] #=> instance of result class - payload[:result][:output] #=> output HTML String or Nokogiri::DocumentFragment -end -``` - -The full pipeline is also instrumented: - -``` ruby -service.subscribe "call_pipeline.html_pipeline" do |event, start, ending, transaction_id, payload| - payload[:pipeline] #=> "MarkdownPipeline", set with `setup_instrumentation` - payload[:filters] #=> ["MarkdownFilter"] - payload[:doc] #=> HTML String or Nokogiri::DocumentFragment - payload[:context] #=> context Hash - payload[:result] #=> instance of result class - payload[:result][:output] #=> output HTML String or Nokogiri::DocumentFragment -end -``` - -## FAQ - -### 1. Why doesn't my pipeline work when there's no root element in the document? - -To make a pipeline work on a plain text document, put the `PlainTextInputFilter` -at the beginning of your pipeline. This will wrap the content in a `div` so the -filters have a root element to work with. If you're passing in an HTML fragment, -but it doesn't have a root element, you can wrap the content in a `div` -yourself. For example: - -```ruby -EmojiPipeline = Pipeline.new [ - PlainTextInputFilter, # <- Wraps input in a div and escapes html tags - EmojiFilter -], context - -plain_text = "Gutentag! :wave:" -EmojiPipeline.call(plain_text) - -html_fragment = "This is outside of an html element, but this isn't. :+1:" -EmojiPipeline.call("
#{html_fragment}
") # <- Wrap your own html fragments to avoid escaping -``` - -### 2. How do I customize an allowlist for `SanitizationFilter`s? - -`SanitizationFilter::ALLOWLIST` is the default allowlist used if no `:allowlist` -argument is given in the context. The default is a good starting template for -you to add additional elements. You can either modify the constant's value, or -re-define your own constant and pass that in via the context. - -## Contributing - -Please review the [Contributing Guide](https://github.com/jch/html-pipeline/blob/master/CONTRIBUTING.md). - -1. [Fork it](https://help.github.com/articles/fork-a-repo) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Added some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new [Pull Request](https://help.github.com/articles/using-pull-requests) - -To see what has changed in recent versions, see the [CHANGELOG](https://github.com/jch/html-pipeline/blob/master/CHANGELOG.md). - -### Contributors - -Thanks to all of [these contributors](https://github.com/jch/html-pipeline/graphs/contributors). - -Project is a member of the [OSS Manifesto](http://ossmanifesto.org/). - -The current maintainer is @gjtorikian - -### Releasing A New Version - -This section is for gem maintainers to cut a new version of the gem. - -* create a new branch named `release-x.y.z` where `x.y.z` follows [semver](http://semver.org) -* update lib/html/pipeline/version.rb to next version number X.X.X -* update CHANGELOG.md. Prepare a draft with `script/changelog` -* push branch and create a new pull request -* after tests are green, merge to master -* on the master branch, run `script/release` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Rakefile deleted file mode 100755 index f26f9ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/Rakefile +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env rake -# frozen_string_literal: true - -require 'rubygems' -require 'bundler/setup' - -require 'bundler/gem_tasks' -require 'rake/testtask' - -Rake::TestTask.new do |t| - t.libs << 'test' - t.test_files = FileList['test/**/*_test.rb'] - t.verbose = true - t.warning = false -end - -task default: :test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/bin/html-pipeline b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/bin/html-pipeline deleted file mode 100755 index f262ac6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/bin/html-pipeline +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env ruby -require 'html/pipeline' - -require 'optparse' - -# Accept "help", too -.map! { |a| a == 'help' ? '--help' : a } - -onParser.new do |opts| - opts.banner = <<-HELP.gsub(/^ /, '') - Usage: html-pipeline [-h] [-f] - html-pipeline [FILTER [FILTER [...]]] < file.md - cat file.md | html-pipeline [FILTER [FILTER [...]]] - HELP - - opts.separator 'Options:' - - opts.on('-f', '--filters', 'List the available filters') do - filters = HTML::Pipeline.constants.grep(/\w+Filter$/) - .map { |f| f.to_s.gsub(/Filter$/, '') } - - # Text filter doesn't work, no call method - filters -= ['Text'] - - abort <<-HELP.gsub(/^ /, '') - Available filters: - #{filters.join("\n ")} - HELP - end -end.parse! - -# Default to a GitHub-ish pipeline -if ARGV.empty? - - filters = [ - HTML::Pipeline::MarkdownFilter, - HTML::Pipeline::SanitizationFilter, - HTML::Pipeline::ImageMaxWidthFilter, - HTML::Pipeline::EmojiFilter, - HTML::Pipeline::AutolinkFilter, - HTML::Pipeline::TableOfContentsFilter - ] - - # Add syntax highlighting if rouge is present - begin - require 'rouge' - filters << HTML::Pipeline::SyntaxHighlightFilter - rescue LoadError - end - -else - - def filter_named(name) - case name - when 'Text' - raise NameError # Text filter doesn't work, no call method - end - - HTML::Pipeline.const_get("#{name}Filter") - rescue NameError => e - abort "Unknown filter '#{name}'. List filters with the -f option." - end - - filters = [] - until ARGV.empty? - name = ARGV.shift - filters << filter_named(name) - end - -end - -context = { - asset_root: '/assets', - base_url: '/', - gfm: true -} - -puts HTML::Pipeline.new(filters, context).call(ARGF.read)[:output] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/html-pipeline.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/html-pipeline.gemspec deleted file mode 100644 index ec88cfe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/html-pipeline-2.14.3/html-pipeline.gemspec +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -require File.expand_path('../lib/html/pipeline/version', __FILE__) - -Gem::Specification.new do |gem| - gem.name = 'html-pipeline' - gem.version = HTML::Pipeline::VERSION - gem.license = 'MIT' - gem.authors = ['Ryan Tomayko', 'Jerry Cheung', 'Garen J. Torikian'] - gem.email = ['ryan@github.com', 'jerry@github.com', 'gjtorikian@gmail.com'] - gem.description = 'GitHub HTML processing filters and utilities' - gem.summary = 'Helpers for processing content through a chain of filters' - gem.homepage = 'https://github.com/jch/html-pipeline' - - gem.files = `git ls-files -z`.split("\x0").reject { |f| f =~ %r{^(test|gemfiles|script)/} } - gem.require_paths = ['lib'] - - gem.add_dependency 'activesupport', '>= 2' - gem.add_dependency 'nokogiri', '>= 1.4' - - gem.post_install_message = < -Copyright 2010,2011 Aman Gupta - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/README.md deleted file mode 100644 index e29ef2c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/README.md +++ /dev/null @@ -1,90 +0,0 @@ -# http_parser.rb - -A simple callback-based HTTP request/response parser for writing http -servers, clients and proxies. - -This gem is built on top of [joyent/http-parser](https://github.com/joyent/http-parser) and its java port [http-parser/http-parser.java](https://github.com/http-parser/http-parser.java). - -## Supported Platforms - -This gem aims to work on all major Ruby platforms, including: - -- MRI 1.8, 1.9 and 2.0; should work on MRI 2.4+ -- Rubinius -- JRuby -- win32 - -## Usage - -```ruby -require "http/parser" - -parser = Http::Parser.new - -parser.on_headers_complete = proc do - p parser.http_version - - p parser.http_method # for requests - p parser.request_url - - p parser.status_code # for responses - - p parser.headers -end - -parser.on_body = proc do |chunk| - # One chunk of the body - p chunk -end - -parser.on_message_complete = proc do |env| - # Headers and body is all parsed - puts "Done!" -end -``` - -# Feed raw data from the socket to the parser -`parser << raw_data` - -## Advanced Usage - -### Accept callbacks on an object - -```ruby -module MyHttpConnection - def connection_completed - @parser = Http::Parser.new(self) - end - - def receive_data(data) - @parser << data - end - - def on_message_begin - @headers = nil - @body = '' - end - - def on_headers_complete(headers) - @headers = headers - end - - def on_body(chunk) - @body << chunk - end - - def on_message_complete - p [@headers, @body] - end -end -``` - -### Stop parsing after headers - -```ruby -parser = Http::Parser.new -parser.on_headers_complete = proc{ :stop } - -offset = parser << request_data -body = request_data[offset..-1] -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/Rakefile deleted file mode 100644 index 1820ad1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -require 'bundler/gem_tasks' - -# default task -task :compile => :submodules -task :default => [:compile, :spec] - -# load tasks -Dir['tasks/*.rake'].sort.each { |f| load f } diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/bench/standalone.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/bench/standalone.rb deleted file mode 100755 index 6b4dcb6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/bench/standalone.rb +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env ruby -$:.unshift File.dirname(__FILE__) + "/../lib" -require "rubygems" -require "http/parser" -require "benchmark/ips" - -request = <<-REQUEST -GET / HTTP/1.1 -Host: www.example.com -Connection: keep-alive -User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 S -Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -Accept-Encoding: gzip,deflate,sdch -Accept-Language: en-US,en;q=0.8 -Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 - -REQUEST -request.gsub!(/\n/m, "\r\n") - -Benchmark.ips do |ips| - ips.report("instance") { Http::Parser.new } - ips.report("parsing") { Http::Parser.new << request } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/bench/thin.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/bench/thin.rb deleted file mode 100644 index fe0dd6d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/bench/thin.rb +++ /dev/null @@ -1,58 +0,0 @@ -$:.unshift File.dirname(__FILE__) + "/../lib" -require "rubygems" -require "thin_parser" -require "http_parser" -require "benchmark" -require "stringio" - -data = "POST /postit HTTP/1.1\r\n" + - "Host: localhost:3000\r\n" + - "User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9\r\n" + - "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n" + - "Accept-Language: en-us,en;q=0.5\r\n" + - "Accept-Encoding: gzip,deflate\r\n" + - "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" + - "Keep-Alive: 300\r\n" + - "Connection: keep-alive\r\n" + - "Content-Type: text/html\r\n" + - "Content-Length: 37\r\n" + - "\r\n" + - "name=marc&email=macournoyer@gmail.com" - -def thin(data) - env = {"rack.input" => StringIO.new} - Thin::HttpParser.new.execute(env, data, 0) - env -end - -def http_parser(data) - body = StringIO.new - env = nil - - parser = HTTP::RequestParser.new - parser.on_headers_complete = proc { |e| env = e } - parser.on_body = proc { |c| body << c } - parser << data - - env["rack-input"] = body - env -end - -# p thin(data) -# p http_parser(data) - -TESTS = 30_000 -Benchmark.bmbm do |results| - results.report("thin:") { TESTS.times { thin data } } - results.report("http-parser:") { TESTS.times { http_parser data } } -end - -# On my MBP core duo 2.2Ghz -# Rehearsal ------------------------------------------------ -# thin: 1.470000 0.000000 1.470000 ( 1.474737) -# http-parser: 1.270000 0.020000 1.290000 ( 1.292758) -# --------------------------------------- total: 2.760000sec -# -# user system total real -# thin: 1.150000 0.030000 1.180000 ( 1.173767) -# http-parser: 1.250000 0.010000 1.260000 ( 1.263796) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/.sitearchdir.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/.sitearchdir.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/RubyHttpParserService.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/RubyHttpParserService.java deleted file mode 100644 index 2ea3e8e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/RubyHttpParserService.java +++ /dev/null @@ -1,18 +0,0 @@ -import java.io.IOException; - -import org.jruby.Ruby; -import org.jruby.RubyClass; -import org.jruby.RubyModule; -import org.jruby.runtime.load.BasicLibraryService; - -import org.ruby_http_parser.*; - -public class RubyHttpParserService implements BasicLibraryService { - public boolean basicLoad(final Ruby runtime) throws IOException { - RubyModule mHTTP = runtime.defineModule("HTTP"); - RubyClass cParser = mHTTP.defineClassUnder("Parser", runtime.getObject(), RubyHttpParser.ALLOCATOR); - cParser.defineAnnotatedMethods(RubyHttpParser.class); - cParser.defineClassUnder("Error", runtime.getClass("IOError"),runtime.getClass("IOError").getAllocator()); - return true; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ext_help.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ext_help.h deleted file mode 100644 index a919dff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ext_help.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ext_help_h -#define ext_help_h - -#define RAISE_NOT_NULL(T) if(T == NULL) rb_raise(rb_eArgError, "NULL found for " # T " when shouldn't be."); -#define DATA_GET(from,type,name) Data_Get_Struct(from,type,name); RAISE_NOT_NULL(name); -#define REQUIRE_TYPE(V, T) if(TYPE(V) != T) rb_raise(rb_eTypeError, "Wrong argument type for " # V " required " # T); - -/* for compatibility with Ruby 1.8.5, which doesn't declare RSTRING_PTR */ -#ifndef RSTRING_PTR -#define RSTRING_PTR(s) (RSTRING(s)->ptr) -#endif - -/* for compatibility with Ruby 1.8.5, which doesn't declare RSTRING_LEN */ -#ifndef RSTRING_LEN -#define RSTRING_LEN(s) (RSTRING(s)->len) -#endif - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/extconf.rb deleted file mode 100644 index 0433f9b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/extconf.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'mkmf' - -# check out code if it hasn't been already -if Dir[File.expand_path('../vendor/http-parser/*', __FILE__)].empty? - Dir.chdir(File.expand_path('../../../', __FILE__)) do - xsystem 'git submodule init' - xsystem 'git submodule update' - end -end - -# mongrel and http-parser both define http_parser_(init|execute), so we -# rename functions in http-parser before using them. -vendor_dir = File.expand_path('../vendor/http-parser/', __FILE__) -src_dir = File.expand_path('../', __FILE__) -%w[ http_parser.c http_parser.h ].each do |file| - File.open(File.join(src_dir, "ryah_#{file}"), 'w'){ |f| - f.write File.read(File.join(vendor_dir, file)).gsub('http_parser', 'ryah_http_parser') - } -end - -$CFLAGS << " -I\"#{src_dir}\"" - -dir_config("ruby_http_parser") -create_makefile("ruby_http_parser") diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java deleted file mode 100644 index 1b97269..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java +++ /dev/null @@ -1,502 +0,0 @@ -package org.ruby_http_parser; - -import http_parser.HTTPException; -import http_parser.HTTPMethod; -import http_parser.HTTPParser; -import http_parser.lolevel.HTTPCallback; -import http_parser.lolevel.HTTPDataCallback; -import http_parser.lolevel.ParserSettings; - -import java.nio.ByteBuffer; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.List; - -import org.jcodings.Encoding; -import org.jcodings.specific.UTF8Encoding; -import org.jruby.Ruby; -import org.jruby.RubyArray; -import org.jruby.RubyClass; -import org.jruby.RubyHash; -import org.jruby.RubyNumeric; -import org.jruby.RubyObject; -import org.jruby.RubyString; -import org.jruby.RubySymbol; -import org.jruby.anno.JRubyMethod; -import org.jruby.exceptions.RaiseException; -import org.jruby.runtime.ObjectAllocator; -import org.jruby.runtime.ThreadContext; -import org.jruby.runtime.builtin.IRubyObject; -import org.jruby.util.ByteList; - -public class RubyHttpParser extends RubyObject { - - @JRubyMethod(name = "strict?", module = true) - public static IRubyObject strict(IRubyObject recv) { - return recv.getRuntime().newBoolean(true); - } - - public static ObjectAllocator ALLOCATOR = new ObjectAllocator() { - public IRubyObject allocate(Ruby runtime, RubyClass klass) { - return new RubyHttpParser(runtime, klass); - } - }; - - byte[] fetchBytes(ByteBuffer b, int pos, int len) { - byte[] by = new byte[len]; - int saved = b.position(); - b.position(pos); - b.get(by); - b.position(saved); - return by; - } - - public class StopException extends RuntimeException { - } - - private Ruby runtime; - private HTTPParser parser; - private ParserSettings settings; - - private RubyClass eParserError; - - private RubyHash headers; - - private IRubyObject on_message_begin; - private IRubyObject on_headers_complete; - private IRubyObject on_body; - private IRubyObject on_message_complete; - - private IRubyObject requestUrl; - private IRubyObject requestPath; - private IRubyObject queryString; - private IRubyObject fragment; - - private IRubyObject header_value_type; - private IRubyObject upgradeData; - - private IRubyObject callback_object; - - private boolean completed; - - private byte[] _current_header; - private byte[] _last_header; - - private static final Encoding UTF8 = UTF8Encoding.INSTANCE; - - private static final List VALUE_TYPES = new ArrayList( - Arrays.asList("mixed", "arrays", "strings") - ); - - public RubyHttpParser(final Ruby runtime, RubyClass clazz) { - super(runtime, clazz); - - this.runtime = runtime; - this.eParserError = (RubyClass) runtime.getModule("HTTP").getClass("Parser").getConstant("Error"); - - this.on_message_begin = null; - this.on_headers_complete = null; - this.on_body = null; - this.on_message_complete = null; - - this.callback_object = null; - - this.completed = false; - - this.header_value_type = runtime.getModule("HTTP").getClass("Parser") - .getInstanceVariable("@default_header_value_type"); - - initSettings(); - init(); - } - - private void initSettings() { - this.settings = new ParserSettings(); - - this.settings.on_url = new HTTPDataCallback() { - public int cb(http_parser.lolevel.HTTPParser p, ByteBuffer buf, int pos, int len) { - byte[] data = fetchBytes(buf, pos, len); - if (runtime.is1_9() || runtime.is2_0()) { - ((RubyString) requestUrl).cat(data, 0, data.length, UTF8); - } else { - ((RubyString) requestUrl).cat(data); - } - return 0; - } - }; - - this.settings.on_header_field = new HTTPDataCallback() { - public int cb(http_parser.lolevel.HTTPParser p, ByteBuffer buf, int pos, int len) { - byte[] data = fetchBytes(buf, pos, len); - - if (_current_header == null) - _current_header = data; - else { - byte[] tmp = new byte[_current_header.length + data.length]; - System.arraycopy(_current_header, 0, tmp, 0, _current_header.length); - System.arraycopy(data, 0, tmp, _current_header.length, data.length); - _current_header = tmp; - } - - return 0; - } - }; - final RubySymbol arraysSym = runtime.newSymbol("arrays"); - final RubySymbol mixedSym = runtime.newSymbol("mixed"); - final RubySymbol stopSym = runtime.newSymbol("stop"); - final RubySymbol resetSym = runtime.newSymbol("reset"); - this.settings.on_header_value = new HTTPDataCallback() { - public int cb(http_parser.lolevel.HTTPParser p, ByteBuffer buf, int pos, int len) { - byte[] data = fetchBytes(buf, pos, len); - ThreadContext context = headers.getRuntime().getCurrentContext(); - IRubyObject key, val; - int new_field = 0; - - if (_current_header != null) { - new_field = 1; - _last_header = _current_header; - _current_header = null; - } - - key = RubyString.newString(runtime, new ByteList(_last_header, UTF8, false)); - val = headers.op_aref(context, key); - - if (new_field == 1) { - if (val.isNil()) { - if (header_value_type == arraysSym) { - headers.op_aset(context, key, - RubyArray.newArrayLight(runtime, RubyString.newStringLight(runtime, 10, UTF8))); - } else { - headers.op_aset(context, key, RubyString.newStringLight(runtime, 10, UTF8)); - } - } else { - if (header_value_type == mixedSym) { - if (val instanceof RubyString) { - headers.op_aset(context, key, - RubyArray.newArrayLight(runtime, val, RubyString.newStringLight(runtime, 10, UTF8))); - } else { - ((RubyArray) val).add(RubyString.newStringLight(runtime, 10, UTF8)); - } - } else if (header_value_type == arraysSym) { - ((RubyArray) val).add(RubyString.newStringLight(runtime, 10, UTF8)); - } else { - if (runtime.is1_9() || runtime.is2_0()) { - ((RubyString) val).cat(',', UTF8).cat(' ', UTF8); - } else { - ((RubyString) val).cat(',').cat(' '); - } - } - } - val = headers.op_aref(context, key); - } - - if (val instanceof RubyArray) { - val = ((RubyArray) val).entry(-1); - } - - if (runtime.is1_9() || runtime.is2_0()) { - ((RubyString) val).cat(data, 0, data.length, UTF8); - } else { - ((RubyString) val).cat(data); - } - - return 0; - } - }; - - this.settings.on_message_begin = new HTTPCallback() { - public int cb(http_parser.lolevel.HTTPParser p) { - headers = new RubyHash(runtime); - - if (runtime.is1_9() || runtime.is2_0()) { - requestUrl = RubyString.newEmptyString(runtime, UTF8); - requestPath = RubyString.newEmptyString(runtime, UTF8); - queryString = RubyString.newEmptyString(runtime, UTF8); - fragment = RubyString.newEmptyString(runtime, UTF8); - upgradeData = RubyString.newEmptyString(runtime, UTF8); - } else { - requestUrl = RubyString.newEmptyString(runtime); - requestPath = RubyString.newEmptyString(runtime); - queryString = RubyString.newEmptyString(runtime); - fragment = RubyString.newEmptyString(runtime); - upgradeData = RubyString.newEmptyString(runtime); - } - - IRubyObject ret = runtime.getNil(); - - if (callback_object != null) { - if (((RubyObject) callback_object).respondsTo("on_message_begin")) { - ThreadContext context = callback_object.getRuntime().getCurrentContext(); - ret = callback_object.callMethod(context, "on_message_begin"); - } - } else if (on_message_begin != null) { - ThreadContext context = on_message_begin.getRuntime().getCurrentContext(); - ret = on_message_begin.callMethod(context, "call"); - } - - if (ret == stopSym) { - throw new StopException(); - } else { - return 0; - } - } - }; - this.settings.on_message_complete = new HTTPCallback() { - public int cb(http_parser.lolevel.HTTPParser p) { - IRubyObject ret = runtime.getNil(); - - completed = true; - - if (callback_object != null) { - if (((RubyObject) callback_object).respondsTo("on_message_complete")) { - ThreadContext context = callback_object.getRuntime().getCurrentContext(); - ret = callback_object.callMethod(context, "on_message_complete"); - } - } else if (on_message_complete != null) { - ThreadContext context = on_message_complete.getRuntime().getCurrentContext(); - ret = on_message_complete.callMethod(context, "call"); - } - - if (ret == stopSym) { - throw new StopException(); - } else { - return 0; - } - } - }; - this.settings.on_headers_complete = new HTTPCallback() { - public int cb(http_parser.lolevel.HTTPParser p) { - IRubyObject ret = runtime.getNil(); - - if (callback_object != null) { - if (((RubyObject) callback_object).respondsTo("on_headers_complete")) { - ThreadContext context = callback_object.getRuntime().getCurrentContext(); - ret = callback_object.callMethod(context, "on_headers_complete", headers); - } - } else if (on_headers_complete != null) { - ThreadContext context = on_headers_complete.getRuntime().getCurrentContext(); - ret = on_headers_complete.callMethod(context, "call", headers); - } - - if (ret == stopSym) { - throw new StopException(); - } else if (ret == resetSym) { - return 1; - } else { - return 0; - } - } - }; - this.settings.on_body = new HTTPDataCallback() { - public int cb(http_parser.lolevel.HTTPParser p, ByteBuffer buf, int pos, int len) { - IRubyObject ret = runtime.getNil(); - byte[] data = fetchBytes(buf, pos, len); - - if (callback_object != null) { - if (((RubyObject) callback_object).respondsTo("on_body")) { - ThreadContext context = callback_object.getRuntime().getCurrentContext(); - ret = callback_object.callMethod(context, "on_body", - RubyString.newString(runtime, new ByteList(data, UTF8, false))); - } - } else if (on_body != null) { - ThreadContext context = on_body.getRuntime().getCurrentContext(); - ret = on_body.callMethod(context, "call", RubyString.newString(runtime, new ByteList(data, UTF8, false))); - } - - if (ret == stopSym) { - throw new StopException(); - } else { - return 0; - } - } - }; - } - - private void init() { - this.parser = new HTTPParser(); - this.parser.HTTP_PARSER_STRICT = true; - this.headers = null; - - this.requestUrl = runtime.getNil(); - this.requestPath = runtime.getNil(); - this.queryString = runtime.getNil(); - this.fragment = runtime.getNil(); - - this.upgradeData = runtime.getNil(); - } - - @JRubyMethod(name = "initialize") - public IRubyObject initialize() { - return this; - } - - @JRubyMethod(name = "initialize") - public IRubyObject initialize(IRubyObject arg) { - callback_object = arg; - return initialize(); - } - - @JRubyMethod(name = "initialize") - public IRubyObject initialize(IRubyObject arg, IRubyObject arg2) { - header_value_type = arg2; - return initialize(arg); - } - - @JRubyMethod(name = "on_message_begin=") - public IRubyObject set_on_message_begin(IRubyObject cb) { - on_message_begin = cb; - return cb; - } - - @JRubyMethod(name = "on_headers_complete=") - public IRubyObject set_on_headers_complete(IRubyObject cb) { - on_headers_complete = cb; - return cb; - } - - @JRubyMethod(name = "on_body=") - public IRubyObject set_on_body(IRubyObject cb) { - on_body = cb; - return cb; - } - - @JRubyMethod(name = "on_message_complete=") - public IRubyObject set_on_message_complete(IRubyObject cb) { - on_message_complete = cb; - return cb; - } - - @JRubyMethod(name = "<<") - public IRubyObject execute(IRubyObject data) { - RubyString str = (RubyString) data; - ByteList byteList = str.getByteList(); - ByteBuffer buf = ByteBuffer.wrap(byteList.getUnsafeBytes(), byteList.getBegin(), byteList.getRealSize()); - boolean stopped = false; - - try { - this.parser.execute(this.settings, buf); - } catch (HTTPException e) { - throw new RaiseException(runtime, eParserError, e.getMessage(), true); - } catch (StopException e) { - stopped = true; - } - - if (parser.getUpgrade()) { - byte[] upData = fetchBytes(buf, buf.position(), buf.limit() - buf.position()); - if (runtime.is1_9() || runtime.is2_0()) { - ((RubyString) upgradeData).cat(upData, 0, upData.length, UTF8); - } else { - ((RubyString) upgradeData).cat(upData); - } - } else if (buf.hasRemaining() && !completed) { - if (!stopped) - throw new RaiseException(runtime, eParserError, "Could not parse data entirely", true); - } - - return RubyNumeric.int2fix(runtime, buf.position()); - } - - @JRubyMethod(name = "keep_alive?") - public IRubyObject shouldKeepAlive() { - return runtime.newBoolean(parser.shouldKeepAlive()); - } - - @JRubyMethod(name = "upgrade?") - public IRubyObject shouldUpgrade() { - return runtime.newBoolean(parser.getUpgrade()); - } - - @JRubyMethod(name = "http_major") - public IRubyObject httpMajor() { - if (parser.getMajor() == 0 && parser.getMinor() == 0) - return runtime.getNil(); - else - return RubyNumeric.int2fix(runtime, parser.getMajor()); - } - - @JRubyMethod(name = "http_minor") - public IRubyObject httpMinor() { - if (parser.getMajor() == 0 && parser.getMinor() == 0) - return runtime.getNil(); - else - return RubyNumeric.int2fix(runtime, parser.getMinor()); - } - - @JRubyMethod(name = "http_version") - public IRubyObject httpVersion() { - if (parser.getMajor() == 0 && parser.getMinor() == 0) - return runtime.getNil(); - else - return runtime.newArray(httpMajor(), httpMinor()); - } - - @JRubyMethod(name = "http_method") - public IRubyObject httpMethod() { - HTTPMethod method = parser.getHTTPMethod(); - if (method != null) - return runtime.newString(new String(method.bytes)); - else - return runtime.getNil(); - } - - @JRubyMethod(name = "status_code") - public IRubyObject statusCode() { - int code = parser.getStatusCode(); - if (code != 0) - return RubyNumeric.int2fix(runtime, code); - else - return runtime.getNil(); - } - - @JRubyMethod(name = "headers") - public IRubyObject getHeaders() { - return headers == null ? runtime.getNil() : headers; - } - - @JRubyMethod(name = "request_url") - public IRubyObject getRequestUrl() { - return requestUrl == null ? runtime.getNil() : requestUrl; - } - - @JRubyMethod(name = "request_path") - public IRubyObject getRequestPath() { - return requestPath == null ? runtime.getNil() : requestPath; - } - - @JRubyMethod(name = "query_string") - public IRubyObject getQueryString() { - return queryString == null ? runtime.getNil() : queryString; - } - - @JRubyMethod(name = "fragment") - public IRubyObject getFragment() { - return fragment == null ? runtime.getNil() : fragment; - } - - @JRubyMethod(name = "header_value_type") - public IRubyObject getHeaderValueType() { - return header_value_type == null ? runtime.getNil() : header_value_type; - } - - @JRubyMethod(name = "header_value_type=") - public IRubyObject set_header_value_type(IRubyObject val) { - String valString = val.toString(); - if (!VALUE_TYPES.contains(valString)) { - throw runtime.newArgumentError("Invalid header value type"); - } - header_value_type = val; - return val; - } - - @JRubyMethod(name = "upgrade_data") - public IRubyObject upgradeData() { - return upgradeData == null ? runtime.getNil() : upgradeData; - } - - @JRubyMethod(name = "reset!") - public IRubyObject reset() { - init(); - return runtime.getTrue(); - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ruby_http_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ruby_http_parser.c deleted file mode 100644 index e30f349..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ruby_http_parser.c +++ /dev/null @@ -1,561 +0,0 @@ -#include "ruby.h" -#include "ext_help.h" -#include "ryah_http_parser.h" - -#define GET_WRAPPER(N, from) ParserWrapper *N = (ParserWrapper *)(from)->data; -#define HASH_CAT(h, k, ptr, len) \ - do { \ - VALUE __v = rb_hash_aref(h, k); \ - if (__v != Qnil) { \ - rb_str_cat(__v, ptr, len); \ - } else { \ - rb_hash_aset(h, k, rb_str_new(ptr, len)); \ - } \ - } while(0) - -typedef struct ParserWrapper { - ryah_http_parser parser; - - VALUE status; - VALUE request_url; - - VALUE headers; - - VALUE upgrade_data; - - VALUE on_message_begin; - VALUE on_headers_complete; - VALUE on_body; - VALUE on_message_complete; - - VALUE callback_object; - VALUE stopped; - VALUE completed; - - VALUE header_value_type; - - VALUE last_field_name; - VALUE curr_field_name; - - enum ryah_http_parser_type type; -} ParserWrapper; - -void ParserWrapper_init(ParserWrapper *wrapper) { - ryah_http_parser_init(&wrapper->parser, wrapper->type); - wrapper->parser.status_code = 0; - wrapper->parser.http_major = 0; - wrapper->parser.http_minor = 0; - - wrapper->status = Qnil; - wrapper->request_url = Qnil; - - wrapper->upgrade_data = Qnil; - - wrapper->headers = Qnil; - wrapper->completed = Qfalse; - - wrapper->last_field_name = Qnil; - wrapper->curr_field_name = Qnil; -} - -void ParserWrapper_mark(void *data) { - if(data) { - ParserWrapper *wrapper = (ParserWrapper *) data; - rb_gc_mark_maybe(wrapper->status); - rb_gc_mark_maybe(wrapper->request_url); - rb_gc_mark_maybe(wrapper->upgrade_data); - rb_gc_mark_maybe(wrapper->headers); - rb_gc_mark_maybe(wrapper->on_message_begin); - rb_gc_mark_maybe(wrapper->on_headers_complete); - rb_gc_mark_maybe(wrapper->on_body); - rb_gc_mark_maybe(wrapper->on_message_complete); - rb_gc_mark_maybe(wrapper->callback_object); - rb_gc_mark_maybe(wrapper->last_field_name); - rb_gc_mark_maybe(wrapper->curr_field_name); - } -} - -void ParserWrapper_free(void *data) { - if(data) { - free(data); - } -} - -static VALUE cParser; -static VALUE cRequestParser; -static VALUE cResponseParser; - -static VALUE eParserError; - -static ID Icall; -static ID Ion_message_begin; -static ID Ion_headers_complete; -static ID Ion_body; -static ID Ion_message_complete; - -static VALUE Sstop; -static VALUE Sreset; -static VALUE Sarrays; -static VALUE Sstrings; -static VALUE Smixed; - -/** Callbacks **/ - -int on_message_begin(ryah_http_parser *parser) { - GET_WRAPPER(wrapper, parser); - - wrapper->status = rb_str_new2(""); - wrapper->request_url = rb_str_new2(""); - wrapper->headers = rb_hash_new(); - wrapper->upgrade_data = rb_str_new2(""); - - VALUE ret = Qnil; - - if (wrapper->callback_object != Qnil && rb_respond_to(wrapper->callback_object, Ion_message_begin)) { - ret = rb_funcall(wrapper->callback_object, Ion_message_begin, 0); - } else if (wrapper->on_message_begin != Qnil) { - ret = rb_funcall(wrapper->on_message_begin, Icall, 0); - } - - if (ret == Sstop) { - wrapper->stopped = Qtrue; - return -1; - } else { - return 0; - } -} - -int on_status(ryah_http_parser *parser, const char *at, size_t length) { - GET_WRAPPER(wrapper, parser); - - if (at && length) { - if (wrapper->status == Qnil) { - wrapper->status = rb_str_new(at, length); - } else { - rb_str_cat(wrapper->status, at, length); - } - } - return 0; -} - -int on_url(ryah_http_parser *parser, const char *at, size_t length) { - GET_WRAPPER(wrapper, parser); - if (at && length) { - if (wrapper->request_url == Qnil) { - wrapper->request_url = rb_str_new(at, length); - } else { - rb_str_cat(wrapper->request_url, at, length); - } - } - return 0; -} - -int on_header_field(ryah_http_parser *parser, const char *at, size_t length) { - GET_WRAPPER(wrapper, parser); - - if (wrapper->curr_field_name == Qnil) { - wrapper->last_field_name = Qnil; - wrapper->curr_field_name = rb_str_new(at, length); - } else { - rb_str_cat(wrapper->curr_field_name, at, length); - } - return 0; -} - -int on_header_value(ryah_http_parser *parser, const char *at, size_t length) { - GET_WRAPPER(wrapper, parser); - - int new_field = 0; - VALUE current_value; - - if (wrapper->last_field_name == Qnil) { - new_field = 1; - wrapper->last_field_name = wrapper->curr_field_name; - wrapper->curr_field_name = Qnil; - } - - current_value = rb_hash_aref(wrapper->headers, wrapper->last_field_name); - - if (new_field == 1) { - if (current_value == Qnil) { - if (wrapper->header_value_type == Sarrays) { - rb_hash_aset(wrapper->headers, wrapper->last_field_name, rb_ary_new3(1, rb_str_new2(""))); - } else { - rb_hash_aset(wrapper->headers, wrapper->last_field_name, rb_str_new2("")); - } - } else { - if (wrapper->header_value_type == Smixed) { - if (TYPE(current_value) == T_STRING) { - rb_hash_aset(wrapper->headers, wrapper->last_field_name, rb_ary_new3(2, current_value, rb_str_new2(""))); - } else { - rb_ary_push(current_value, rb_str_new2("")); - } - } else if (wrapper->header_value_type == Sarrays) { - rb_ary_push(current_value, rb_str_new2("")); - } else { - rb_str_cat(current_value, ", ", 2); - } - } - current_value = rb_hash_aref(wrapper->headers, wrapper->last_field_name); - } - - if (TYPE(current_value) == T_ARRAY) { - current_value = rb_ary_entry(current_value, -1); - } - - rb_str_cat(current_value, at, length); - - return 0; -} - -int on_headers_complete(ryah_http_parser *parser) { - GET_WRAPPER(wrapper, parser); - - VALUE ret = Qnil; - - if (wrapper->callback_object != Qnil && rb_respond_to(wrapper->callback_object, Ion_headers_complete)) { - ret = rb_funcall(wrapper->callback_object, Ion_headers_complete, 1, wrapper->headers); - } else if (wrapper->on_headers_complete != Qnil) { - ret = rb_funcall(wrapper->on_headers_complete, Icall, 1, wrapper->headers); - } - - if (ret == Sstop) { - wrapper->stopped = Qtrue; - return -1; - } else if (ret == Sreset){ - return 1; - } else { - return 0; - } -} - -int on_body(ryah_http_parser *parser, const char *at, size_t length) { - GET_WRAPPER(wrapper, parser); - - VALUE ret = Qnil; - - if (wrapper->callback_object != Qnil && rb_respond_to(wrapper->callback_object, Ion_body)) { - ret = rb_funcall(wrapper->callback_object, Ion_body, 1, rb_str_new(at, length)); - } else if (wrapper->on_body != Qnil) { - ret = rb_funcall(wrapper->on_body, Icall, 1, rb_str_new(at, length)); - } - - if (ret == Sstop) { - wrapper->stopped = Qtrue; - return -1; - } else { - return 0; - } -} - -int on_message_complete(ryah_http_parser *parser) { - GET_WRAPPER(wrapper, parser); - - VALUE ret = Qnil; - wrapper->completed = Qtrue; - - if (wrapper->callback_object != Qnil && rb_respond_to(wrapper->callback_object, Ion_message_complete)) { - ret = rb_funcall(wrapper->callback_object, Ion_message_complete, 0); - } else if (wrapper->on_message_complete != Qnil) { - ret = rb_funcall(wrapper->on_message_complete, Icall, 0); - } - - if (ret == Sstop) { - wrapper->stopped = Qtrue; - return -1; - } else { - return 0; - } -} - -static ryah_http_parser_settings settings = { - .on_message_begin = on_message_begin, - .on_status = on_status, - .on_url = on_url, - .on_header_field = on_header_field, - .on_header_value = on_header_value, - .on_headers_complete = on_headers_complete, - .on_body = on_body, - .on_message_complete = on_message_complete -}; - -VALUE Parser_alloc_by_type(VALUE klass, enum ryah_http_parser_type type) { - ParserWrapper *wrapper = ALLOC_N(ParserWrapper, 1); - wrapper->type = type; - wrapper->parser.data = wrapper; - - wrapper->on_message_begin = Qnil; - wrapper->on_headers_complete = Qnil; - wrapper->on_body = Qnil; - wrapper->on_message_complete = Qnil; - - wrapper->callback_object = Qnil; - - ParserWrapper_init(wrapper); - - return Data_Wrap_Struct(klass, ParserWrapper_mark, ParserWrapper_free, wrapper); -} - -VALUE Parser_alloc(VALUE klass) { - return Parser_alloc_by_type(klass, HTTP_BOTH); -} - -VALUE RequestParser_alloc(VALUE klass) { - return Parser_alloc_by_type(klass, HTTP_REQUEST); -} - -VALUE ResponseParser_alloc(VALUE klass) { - return Parser_alloc_by_type(klass, HTTP_RESPONSE); -} - -VALUE Parser_strict_p(VALUE klass) { - return HTTP_PARSER_STRICT == 1 ? Qtrue : Qfalse; -} - -VALUE Parser_initialize(int argc, VALUE *argv, VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - VALUE default_header_value_type = Qnil; - - if (argc > 0 && RB_TYPE_P(argv[argc-1], T_HASH)) { - ID keyword_ids[1]; - keyword_ids[0] = rb_intern("default_header_value_type"); - rb_get_kwargs(argv[argc-1], keyword_ids, 0, 1, &default_header_value_type); - if (default_header_value_type == Qundef) { - default_header_value_type = Qnil; - } - --argc; - } - - if (argc == 1) { - wrapper->callback_object = argv[0]; - } - - if (argc == 2) { - wrapper->callback_object = argv[0]; - default_header_value_type = argv[1]; - } - - if (default_header_value_type == Qnil) { - wrapper->header_value_type = rb_iv_get(CLASS_OF(self), "@default_header_value_type"); - } else { - wrapper->header_value_type = default_header_value_type; - } - - return self; -} - -VALUE Parser_execute(VALUE self, VALUE data) { - ParserWrapper *wrapper = NULL; - - Check_Type(data, T_STRING); - char *ptr = RSTRING_PTR(data); - long len = RSTRING_LEN(data); - - DATA_GET(self, ParserWrapper, wrapper); - - wrapper->stopped = Qfalse; - size_t nparsed = ryah_http_parser_execute(&wrapper->parser, &settings, ptr, len); - - if (wrapper->parser.upgrade) { - if (RTEST(wrapper->stopped) && !RTEST(wrapper->completed)) - nparsed += 1; - - if (nparsed < len) - rb_str_cat(wrapper->upgrade_data, ptr + nparsed, len - nparsed); - - } else if (nparsed != (size_t)len) { - if (!RTEST(wrapper->stopped) && !RTEST(wrapper->completed)) - rb_raise(eParserError, "Could not parse data entirely (%zu != %zu)", nparsed, len); - else - nparsed += 1; // error states fail on the current character - } - - return INT2FIX(nparsed); -} - -VALUE Parser_set_on_message_begin(VALUE self, VALUE callback) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - wrapper->on_message_begin = callback; - return callback; -} - -VALUE Parser_set_on_headers_complete(VALUE self, VALUE callback) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - wrapper->on_headers_complete = callback; - return callback; -} - -VALUE Parser_set_on_body(VALUE self, VALUE callback) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - wrapper->on_body = callback; - return callback; -} - -VALUE Parser_set_on_message_complete(VALUE self, VALUE callback) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - wrapper->on_message_complete = callback; - return callback; -} - -VALUE Parser_keep_alive_p(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - return http_should_keep_alive(&wrapper->parser) == 1 ? Qtrue : Qfalse; -} - -VALUE Parser_upgrade_p(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - return wrapper->parser.upgrade ? Qtrue : Qfalse; -} - -VALUE Parser_http_version(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - if (wrapper->parser.http_major == 0 && wrapper->parser.http_minor == 0) - return Qnil; - else - return rb_ary_new3(2, INT2FIX(wrapper->parser.http_major), INT2FIX(wrapper->parser.http_minor)); -} - -VALUE Parser_http_major(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - if (wrapper->parser.http_major == 0 && wrapper->parser.http_minor == 0) - return Qnil; - else - return INT2FIX(wrapper->parser.http_major); -} - -VALUE Parser_http_minor(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - if (wrapper->parser.http_major == 0 && wrapper->parser.http_minor == 0) - return Qnil; - else - return INT2FIX(wrapper->parser.http_minor); -} - -VALUE Parser_http_method(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - if (wrapper->parser.type == HTTP_REQUEST) - return rb_str_new2(http_method_str(wrapper->parser.method)); - else - return Qnil; -} - -VALUE Parser_status_code(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - if (wrapper->parser.status_code) - return INT2FIX(wrapper->parser.status_code); - else - return Qnil; -} - -#define DEFINE_GETTER(name) \ - VALUE Parser_##name(VALUE self) { \ - ParserWrapper *wrapper = NULL; \ - DATA_GET(self, ParserWrapper, wrapper); \ - return wrapper->name; \ - } - -DEFINE_GETTER(status); -DEFINE_GETTER(request_url); -DEFINE_GETTER(headers); -DEFINE_GETTER(upgrade_data); -DEFINE_GETTER(header_value_type); - -VALUE Parser_set_header_value_type(VALUE self, VALUE val) { - if (val != Sarrays && val != Sstrings && val != Smixed) { - rb_raise(rb_eArgError, "Invalid header value type"); - } - - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - wrapper->header_value_type = val; - return wrapper->header_value_type; -} - -VALUE Parser_reset(VALUE self) { - ParserWrapper *wrapper = NULL; - DATA_GET(self, ParserWrapper, wrapper); - - ParserWrapper_init(wrapper); - - return Qtrue; -} - -void Init_ruby_http_parser() { -#ifdef HAVE_RB_EXT_RACTOR_SAFE - rb_ext_ractor_safe(true); -#endif - - VALUE mHTTP = rb_define_module("HTTP"); - cParser = rb_define_class_under(mHTTP, "Parser", rb_cObject); - cRequestParser = rb_define_class_under(mHTTP, "RequestParser", cParser); - cResponseParser = rb_define_class_under(mHTTP, "ResponseParser", cParser); - - eParserError = rb_define_class_under(cParser, "Error", rb_eIOError); - Icall = rb_intern("call"); - Ion_message_begin = rb_intern("on_message_begin"); - Ion_headers_complete = rb_intern("on_headers_complete"); - Ion_body = rb_intern("on_body"); - Ion_message_complete = rb_intern("on_message_complete"); - Sstop = ID2SYM(rb_intern("stop")); - Sreset = ID2SYM(rb_intern("reset")); - - Sarrays = ID2SYM(rb_intern("arrays")); - Sstrings = ID2SYM(rb_intern("strings")); - Smixed = ID2SYM(rb_intern("mixed")); - - rb_define_alloc_func(cParser, Parser_alloc); - rb_define_alloc_func(cRequestParser, RequestParser_alloc); - rb_define_alloc_func(cResponseParser, ResponseParser_alloc); - - rb_define_singleton_method(cParser, "strict?", Parser_strict_p, 0); - rb_define_method(cParser, "initialize", Parser_initialize, -1); - - rb_define_method(cParser, "on_message_begin=", Parser_set_on_message_begin, 1); - rb_define_method(cParser, "on_headers_complete=", Parser_set_on_headers_complete, 1); - rb_define_method(cParser, "on_body=", Parser_set_on_body, 1); - rb_define_method(cParser, "on_message_complete=", Parser_set_on_message_complete, 1); - rb_define_method(cParser, "<<", Parser_execute, 1); - - rb_define_method(cParser, "keep_alive?", Parser_keep_alive_p, 0); - rb_define_method(cParser, "upgrade?", Parser_upgrade_p, 0); - - rb_define_method(cParser, "http_version", Parser_http_version, 0); - rb_define_method(cParser, "http_major", Parser_http_major, 0); - rb_define_method(cParser, "http_minor", Parser_http_minor, 0); - - rb_define_method(cParser, "http_method", Parser_http_method, 0); - rb_define_method(cParser, "status_code", Parser_status_code, 0); - - rb_define_method(cParser, "status", Parser_status, 0); - rb_define_method(cParser, "request_url", Parser_request_url, 0); - rb_define_method(cParser, "headers", Parser_headers, 0); - rb_define_method(cParser, "upgrade_data", Parser_upgrade_data, 0); - rb_define_method(cParser, "header_value_type", Parser_header_value_type, 0); - rb_define_method(cParser, "header_value_type=", Parser_set_header_value_type, 1); - - rb_define_method(cParser, "reset!", Parser_reset, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/.gitkeep b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/AUTHORS b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/AUTHORS deleted file mode 100644 index abe99de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/AUTHORS +++ /dev/null @@ -1,32 +0,0 @@ -# Authors ordered by first contribution. -Ryan Dahl -Jeremy Hinegardner -Sergey Shepelev -Joe Damato -tomika -Phoenix Sol -Cliff Frey -Ewen Cheslack-Postava -Santiago Gala -Tim Becker -Jeff Terrace -Ben Noordhuis -Nathan Rajlich -Mark Nottingham -Aman Gupta -Tim Becker -Sean Cunningham -Peter Griess -Salman Haq -Cliff Frey -Jon Kolb -Fouad Mardini -Paul Querna -Felix Geisendörfer -koichik -Andre Caron -Ivo Raisr -James McLaughlin -David Gwynne -LE ROUX Thomas -Randy Rizun diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT deleted file mode 100644 index a0ae8dc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT +++ /dev/null @@ -1,48 +0,0 @@ -Copyright 2010 Tim Becker - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - ---- END OF LICENSE - -This code mainly based on code with the following license: - - -http_parser.c is based on src/http/ngx_http_parse.c from NGINX copyright -Igor Sysoev. - -Additional changes are licensed under the same terms as NGINX and -copyright Joyent, Inc. and other Node contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/README.md deleted file mode 100644 index 0a6a432..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/README.md +++ /dev/null @@ -1,183 +0,0 @@ -HTTP Parser -=========== - -This is a parser for HTTP written in Java, based quite heavily on -the Ryan Dahl's C Version: `http-parser` available here: - - http://github.com/ry/http-parser - -It parses both requests and responses. The parser is designed to be used -in performance HTTP applications. - -Features: - - * No dependencies (probably won't be able to keep it up) - * Handles persistent streams (keep-alive). - * Decodes chunked encoding. - * Upgrade support - -The parser extracts the following information from HTTP messages: - - * Header fields and values - * Content-Length - * Request method - * Response status code - * Transfer-Encoding - * HTTP version - * Request URL - * Message body - -Building --------- - -use `ant compile|test|jar` - -Usage ------ - - TODO: in the present form, usage of the Java version of the parser - shouldn't be too difficult to figure out for someone familiar with the - C version. - - More documentation will follow shortly, in case you're looking for an - easy to use http library, this lib is probably not what you are - looking for anyway ... - - All text after this paragraph (and most of the text above it) are from - the original C version of the README and are currently only here for - reference. In case you encounter any difficulties, find bugs, need - help or have suggestions, feel free to contact me at - (tim.becker@kuriositaet.de). - - -One `http_parser` object is used per TCP connection. Initialize the struct -using `http_parser_init()` and set the callbacks. That might look something -like this for a request parser: - - http_parser_settings settings; - settings.on_path = my_path_callback; - settings.on_header_field = my_header_field_callback; - /* ... */ - - http_parser *parser = malloc(sizeof(http_parser)); - http_parser_init(parser, HTTP_REQUEST); - parser->data = my_socket; - -When data is received on the socket execute the parser and check for errors. - - size_t len = 80*1024, nparsed; - char buf[len]; - ssize_t recved; - - recved = recv(fd, buf, len, 0); - - if (recved < 0) { - /* Handle error. */ - } - - /* Start up / continue the parser. - * Note we pass recved==0 to signal that EOF has been recieved. - */ - nparsed = http_parser_execute(parser, &settings, buf, recved); - - if (parser->upgrade) { - /* handle new protocol */ - } else if (nparsed != recved) { - /* Handle error. Usually just close the connection. */ - } - -HTTP needs to know where the end of the stream is. For example, sometimes -servers send responses without Content-Length and expect the client to -consume input (for the body) until EOF. To tell http_parser about EOF, give -`0` as the forth parameter to `http_parser_execute()`. Callbacks and errors -can still be encountered during an EOF, so one must still be prepared -to receive them. - -Scalar valued message information such as `status_code`, `method`, and the -HTTP version are stored in the parser structure. This data is only -temporally stored in `http_parser` and gets reset on each new message. If -this information is needed later, copy it out of the structure during the -`headers_complete` callback. - -The parser decodes the transfer-encoding for both requests and responses -transparently. That is, a chunked encoding is decoded before being sent to -the on_body callback. - - -The Special Problem of Upgrade ------------------------------- - -HTTP supports upgrading the connection to a different protocol. An -increasingly common example of this is the Web Socket protocol which sends -a request like - - GET /demo HTTP/1.1 - Upgrade: WebSocket - Connection: Upgrade - Host: example.com - Origin: http://example.com - WebSocket-Protocol: sample - -followed by non-HTTP data. - -(See http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-75 for more -information the Web Socket protocol.) - -To support this, the parser will treat this as a normal HTTP message without a -body. Issuing both on_headers_complete and on_message_complete callbacks. However -http_parser_execute() will stop parsing at the end of the headers and return. - -The user is expected to check if `parser->upgrade` has been set to 1 after -`http_parser_execute()` returns. Non-HTTP data begins at the buffer supplied -offset by the return value of `http_parser_execute()`. - - -Callbacks ---------- - -During the `http_parser_execute()` call, the callbacks set in -`http_parser_settings` will be executed. The parser maintains state and -never looks behind, so buffering the data is not necessary. If you need to -save certain data for later usage, you can do that from the callbacks. - -There are two types of callbacks: - -* notification `typedef int (*http_cb) (http_parser*);` - Callbacks: on_message_begin, on_headers_complete, on_message_complete. -* data `typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);` - Callbacks: (requests only) on_uri, - (common) on_header_field, on_header_value, on_body; - -Callbacks must return 0 on success. Returning a non-zero value indicates -error to the parser, making it exit immediately. - -In case you parse HTTP message in chunks (i.e. `read()` request line -from socket, parse, read half headers, parse, etc) your data callbacks -may be called more than once. Http-parser guarantees that data pointer is only -valid for the lifetime of callback. You can also `read()` into a heap allocated -buffer to avoid copying memory around if this fits your application. - -Reading headers may be a tricky task if you read/parse headers partially. -Basically, you need to remember whether last header callback was field or value -and apply following logic: - - (on_header_field and on_header_value shortened to on_h_*) - ------------------------ ------------ -------------------------------------------- - | State (prev. callback) | Callback | Description/action | - ------------------------ ------------ -------------------------------------------- - | nothing (first call) | on_h_field | Allocate new buffer and copy callback data | - | | | into it | - ------------------------ ------------ -------------------------------------------- - | value | on_h_field | New header started. | - | | | Copy current name,value buffers to headers | - | | | list and allocate new buffer for new name | - ------------------------ ------------ -------------------------------------------- - | field | on_h_field | Previous name continues. Reallocate name | - | | | buffer and append callback data to it | - ------------------------ ------------ -------------------------------------------- - | field | on_h_value | Value for current header started. Allocate | - | | | new buffer and copy callback data to it | - ------------------------ ------------ -------------------------------------------- - | value | on_h_value | Value continues. Reallocate value buffer | - | | | and append callback data to it | - ------------------------ ------------ -------------------------------------------- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/TODO b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/TODO deleted file mode 100644 index eb46a08..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/TODO +++ /dev/null @@ -1,28 +0,0 @@ -decide how to handle errs per default: - - ry: "set state to dead", return `read` - - current: call on_error w/ details, if no on_error handler set, - throw Exception, else call on_error and behave like orig... - -some tests from test.c left to port - (scan ...) -documentation - -hi level callback interface -eventloop -state() as a function (?) - - perhaps, the idea being to be able to log/debug better... -more tests - - in particular, port available c tests -impl bits of servlet api. - -DONE - -Sun Jul 18 12:19:18 CEST 2010 - -error handling - - consider callback based error handling and the current highlevel - "nice" logging moved to high level http impl. - - use Exceptions "ProtocolException"? - -better testing - - no junit to avoid dependencies diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/build.xml b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/build.xml deleted file mode 100755 index d2c6af4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/build.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c deleted file mode 100644 index e961ae8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c +++ /dev/null @@ -1,2175 +0,0 @@ -/* Based on src/http/ngx_http_parse.c from NGINX copyright Igor Sysoev - * - * Additional changes are licensed under the same terms as NGINX and - * copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#include "http_parser.h" -#include -#include -#include -#include -#include -#include - -#ifndef ULLONG_MAX -# define ULLONG_MAX ((uint64_t) -1) /* 2^64-1 */ -#endif - -#ifndef MIN -# define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -#ifndef ARRAY_SIZE -# define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) -#endif - -#ifndef BIT_AT -# define BIT_AT(a, i) \ - (!!((unsigned int) (a)[(unsigned int) (i) >> 3] & \ - (1 << ((unsigned int) (i) & 7)))) -#endif - -#ifndef ELEM_AT -# define ELEM_AT(a, i, v) ((unsigned int) (i) < ARRAY_SIZE(a) ? (a)[(i)] : (v)) -#endif - -#define SET_ERRNO(e) \ -do { \ - parser->http_errno = (e); \ -} while(0) - - -/* Run the notify callback FOR, returning ER if it fails */ -#define CALLBACK_NOTIFY_(FOR, ER) \ -do { \ - assert(HTTP_PARSER_ERRNO(parser) == HPE_OK); \ - \ - if (settings->on_##FOR) { \ - if (0 != settings->on_##FOR(parser)) { \ - SET_ERRNO(HPE_CB_##FOR); \ - } \ - \ - /* We either errored above or got paused; get out */ \ - if (HTTP_PARSER_ERRNO(parser) != HPE_OK) { \ - return (ER); \ - } \ - } \ -} while (0) - -/* Run the notify callback FOR and consume the current byte */ -#define CALLBACK_NOTIFY(FOR) CALLBACK_NOTIFY_(FOR, p - data + 1) - -/* Run the notify callback FOR and don't consume the current byte */ -#define CALLBACK_NOTIFY_NOADVANCE(FOR) CALLBACK_NOTIFY_(FOR, p - data) - -/* Run data callback FOR with LEN bytes, returning ER if it fails */ -#define CALLBACK_DATA_(FOR, LEN, ER) \ -do { \ - assert(HTTP_PARSER_ERRNO(parser) == HPE_OK); \ - \ - if (FOR##_mark) { \ - if (settings->on_##FOR) { \ - if (0 != settings->on_##FOR(parser, FOR##_mark, (LEN))) { \ - SET_ERRNO(HPE_CB_##FOR); \ - } \ - \ - /* We either errored above or got paused; get out */ \ - if (HTTP_PARSER_ERRNO(parser) != HPE_OK) { \ - return (ER); \ - } \ - } \ - FOR##_mark = NULL; \ - } \ -} while (0) - -/* Run the data callback FOR and consume the current byte */ -#define CALLBACK_DATA(FOR) \ - CALLBACK_DATA_(FOR, p - FOR##_mark, p - data + 1) - -/* Run the data callback FOR and don't consume the current byte */ -#define CALLBACK_DATA_NOADVANCE(FOR) \ - CALLBACK_DATA_(FOR, p - FOR##_mark, p - data) - -/* Set the mark FOR; non-destructive if mark is already set */ -#define MARK(FOR) \ -do { \ - if (!FOR##_mark) { \ - FOR##_mark = p; \ - } \ -} while (0) - - -#define PROXY_CONNECTION "proxy-connection" -#define CONNECTION "connection" -#define CONTENT_LENGTH "content-length" -#define TRANSFER_ENCODING "transfer-encoding" -#define UPGRADE "upgrade" -#define CHUNKED "chunked" -#define KEEP_ALIVE "keep-alive" -#define CLOSE "close" - - -static const char *method_strings[] = - { -#define XX(num, name, string) #string, - HTTP_METHOD_MAP(XX) -#undef XX - }; - - -/* Tokens as defined by rfc 2616. Also lowercases them. - * token = 1* - * separators = "(" | ")" | "<" | ">" | "@" - * | "," | ";" | ":" | "\" | <"> - * | "/" | "[" | "]" | "?" | "=" - * | "{" | "}" | SP | HT - */ -static const char tokens[256] = { -/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' */ - 0, '!', 0, '#', '$', '%', '&', '\'', -/* 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / */ - 0, 0, '*', '+', 0, '-', '.', 0, -/* 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 */ - '0', '1', '2', '3', '4', '5', '6', '7', -/* 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? */ - '8', '9', 0, 0, 0, 0, 0, 0, -/* 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G */ - 0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', -/* 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O */ - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', -/* 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W */ - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', -/* 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ */ - 'x', 'y', 'z', 0, 0, 0, '^', '_', -/* 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g */ - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', -/* 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o */ - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', -/* 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w */ - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', -/* 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del */ - 'x', 'y', 'z', 0, '|', 0, '~', 0 }; - - -static const int8_t unhex[256] = - {-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 - , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1 - ,-1,10,11,12,13,14,15,-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,10,11,12,13,14,15,-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 - }; - - -#if HTTP_PARSER_STRICT -# define T(v) 0 -#else -# define T(v) v -#endif - - -static const uint8_t normal_url_char[32] = { -/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */ - 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0, -/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */ - 0 | T(2) | 0 | 0 | T(16) | 0 | 0 | 0, -/* 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb */ - 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0, -/* 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us */ - 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0, -/* 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' */ - 0 | 2 | 4 | 0 | 16 | 32 | 64 | 128, -/* 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 0, -/* 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 0, }; - -#undef T - -enum state - { s_dead = 1 /* important that this is > 0 */ - - , s_start_req_or_res - , s_res_or_resp_H - , s_start_res - , s_res_H - , s_res_HT - , s_res_HTT - , s_res_HTTP - , s_res_first_http_major - , s_res_http_major - , s_res_first_http_minor - , s_res_http_minor - , s_res_first_status_code - , s_res_status_code - , s_res_status - , s_res_line_almost_done - - , s_start_req - - , s_req_method - , s_req_spaces_before_url - , s_req_schema - , s_req_schema_slash - , s_req_schema_slash_slash - , s_req_server_start - , s_req_server - , s_req_server_with_at - , s_req_path - , s_req_query_string_start - , s_req_query_string - , s_req_fragment_start - , s_req_fragment - , s_req_http_start - , s_req_http_H - , s_req_http_HT - , s_req_http_HTT - , s_req_http_HTTP - , s_req_first_http_major - , s_req_http_major - , s_req_first_http_minor - , s_req_http_minor - , s_req_line_almost_done - - , s_header_field_start - , s_header_field - , s_header_value_start - , s_header_value - , s_header_value_lws - - , s_header_almost_done - - , s_chunk_size_start - , s_chunk_size - , s_chunk_parameters - , s_chunk_size_almost_done - - , s_headers_almost_done - , s_headers_done - - /* Important: 's_headers_done' must be the last 'header' state. All - * states beyond this must be 'body' states. It is used for overflow - * checking. See the PARSING_HEADER() macro. - */ - - , s_chunk_data - , s_chunk_data_almost_done - , s_chunk_data_done - - , s_body_identity - , s_body_identity_eof - - , s_message_done - }; - - -#define PARSING_HEADER(state) (state <= s_headers_done) - - -enum header_states - { h_general = 0 - , h_C - , h_CO - , h_CON - - , h_matching_connection - , h_matching_proxy_connection - , h_matching_content_length - , h_matching_transfer_encoding - , h_matching_upgrade - - , h_connection - , h_content_length - , h_transfer_encoding - , h_upgrade - - , h_matching_transfer_encoding_chunked - , h_matching_connection_keep_alive - , h_matching_connection_close - - , h_transfer_encoding_chunked - , h_connection_keep_alive - , h_connection_close - }; - -enum http_host_state - { - s_http_host_dead = 1 - , s_http_userinfo_start - , s_http_userinfo - , s_http_host_start - , s_http_host_v6_start - , s_http_host - , s_http_host_v6 - , s_http_host_v6_end - , s_http_host_port_start - , s_http_host_port -}; - -/* Macros for character classes; depends on strict-mode */ -#define CR '\r' -#define LF '\n' -#define LOWER(c) (unsigned char)(c | 0x20) -#define IS_ALPHA(c) (LOWER(c) >= 'a' && LOWER(c) <= 'z') -#define IS_NUM(c) ((c) >= '0' && (c) <= '9') -#define IS_ALPHANUM(c) (IS_ALPHA(c) || IS_NUM(c)) -#define IS_HEX(c) (IS_NUM(c) || (LOWER(c) >= 'a' && LOWER(c) <= 'f')) -#define IS_MARK(c) ((c) == '-' || (c) == '_' || (c) == '.' || \ - (c) == '!' || (c) == '~' || (c) == '*' || (c) == '\'' || (c) == '(' || \ - (c) == ')') -#define IS_USERINFO_CHAR(c) (IS_ALPHANUM(c) || IS_MARK(c) || (c) == '%' || \ - (c) == ';' || (c) == ':' || (c) == '&' || (c) == '=' || (c) == '+' || \ - (c) == '$' || (c) == ',') - -#if HTTP_PARSER_STRICT -#define TOKEN(c) (tokens[(unsigned char)c]) -#define IS_URL_CHAR(c) (BIT_AT(normal_url_char, (unsigned char)c)) -#define IS_HOST_CHAR(c) (IS_ALPHANUM(c) || (c) == '.' || (c) == '-') -#else -#define TOKEN(c) ((c == ' ') ? ' ' : tokens[(unsigned char)c]) -#define IS_URL_CHAR(c) \ - (BIT_AT(normal_url_char, (unsigned char)c) || ((c) & 0x80)) -#define IS_HOST_CHAR(c) \ - (IS_ALPHANUM(c) || (c) == '.' || (c) == '-' || (c) == '_') -#endif - - -#define start_state (parser->type == HTTP_REQUEST ? s_start_req : s_start_res) - - -#if HTTP_PARSER_STRICT -# define STRICT_CHECK(cond) \ -do { \ - if (cond) { \ - SET_ERRNO(HPE_STRICT); \ - goto error; \ - } \ -} while (0) -# define NEW_MESSAGE() (http_should_keep_alive(parser) ? start_state : s_dead) -#else -# define STRICT_CHECK(cond) -# define NEW_MESSAGE() start_state -#endif - - -/* Map errno values to strings for human-readable output */ -#define HTTP_STRERROR_GEN(n, s) { "HPE_" #n, s }, -static struct { - const char *name; - const char *description; -} http_strerror_tab[] = { - HTTP_ERRNO_MAP(HTTP_STRERROR_GEN) -}; -#undef HTTP_STRERROR_GEN - -int http_message_needs_eof(const http_parser *parser); - -/* Our URL parser. - * - * This is designed to be shared by http_parser_execute() for URL validation, - * hence it has a state transition + byte-for-byte interface. In addition, it - * is meant to be embedded in http_parser_parse_url(), which does the dirty - * work of turning state transitions URL components for its API. - * - * This function should only be invoked with non-space characters. It is - * assumed that the caller cares about (and can detect) the transition between - * URL and non-URL states by looking for these. - */ -static enum state -parse_url_char(enum state s, const char ch) -{ - if (ch == ' ' || ch == '\r' || ch == '\n') { - return s_dead; - } - -#if HTTP_PARSER_STRICT - if (ch == '\t' || ch == '\f') { - return s_dead; - } -#endif - - switch (s) { - case s_req_spaces_before_url: - /* Proxied requests are followed by scheme of an absolute URI (alpha). - * All methods except CONNECT are followed by '/' or '*'. - */ - - if (ch == '/' || ch == '*') { - return s_req_path; - } - - if (IS_ALPHA(ch)) { - return s_req_schema; - } - - break; - - case s_req_schema: - if (IS_ALPHA(ch)) { - return s; - } - - if (ch == ':') { - return s_req_schema_slash; - } - - break; - - case s_req_schema_slash: - if (ch == '/') { - return s_req_schema_slash_slash; - } - - break; - - case s_req_schema_slash_slash: - if (ch == '/') { - return s_req_server_start; - } - - break; - - case s_req_server_with_at: - if (ch == '@') { - return s_dead; - } - - /* FALLTHROUGH */ - case s_req_server_start: - case s_req_server: - if (ch == '/') { - return s_req_path; - } - - if (ch == '?') { - return s_req_query_string_start; - } - - if (ch == '@') { - return s_req_server_with_at; - } - - if (IS_USERINFO_CHAR(ch) || ch == '[' || ch == ']') { - return s_req_server; - } - - break; - - case s_req_path: - if (IS_URL_CHAR(ch)) { - return s; - } - - switch (ch) { - case '?': - return s_req_query_string_start; - - case '#': - return s_req_fragment_start; - } - - break; - - case s_req_query_string_start: - case s_req_query_string: - if (IS_URL_CHAR(ch)) { - return s_req_query_string; - } - - switch (ch) { - case '?': - /* allow extra '?' in query string */ - return s_req_query_string; - - case '#': - return s_req_fragment_start; - } - - break; - - case s_req_fragment_start: - if (IS_URL_CHAR(ch)) { - return s_req_fragment; - } - - switch (ch) { - case '?': - return s_req_fragment; - - case '#': - return s; - } - - break; - - case s_req_fragment: - if (IS_URL_CHAR(ch)) { - return s; - } - - switch (ch) { - case '?': - case '#': - return s; - } - - break; - - default: - break; - } - - /* We should never fall out of the switch above unless there's an error */ - return s_dead; -} - -size_t http_parser_execute (http_parser *parser, - const http_parser_settings *settings, - const char *data, - size_t len) -{ - char c, ch; - int8_t unhex_val; - const char *p = data; - const char *header_field_mark = 0; - const char *header_value_mark = 0; - const char *url_mark = 0; - const char *body_mark = 0; - - /* We're in an error state. Don't bother doing anything. */ - if (HTTP_PARSER_ERRNO(parser) != HPE_OK) { - return 0; - } - - if (len == 0) { - switch (parser->state) { - case s_body_identity_eof: - /* Use of CALLBACK_NOTIFY() here would erroneously return 1 byte read if - * we got paused. - */ - CALLBACK_NOTIFY_NOADVANCE(message_complete); - return 0; - - case s_dead: - case s_start_req_or_res: - case s_start_res: - case s_start_req: - return 0; - - default: - SET_ERRNO(HPE_INVALID_EOF_STATE); - return 1; - } - } - - - if (parser->state == s_header_field) - header_field_mark = data; - if (parser->state == s_header_value) - header_value_mark = data; - switch (parser->state) { - case s_req_path: - case s_req_schema: - case s_req_schema_slash: - case s_req_schema_slash_slash: - case s_req_server_start: - case s_req_server: - case s_req_server_with_at: - case s_req_query_string_start: - case s_req_query_string: - case s_req_fragment_start: - case s_req_fragment: - url_mark = data; - break; - } - - for (p=data; p != data + len; p++) { - ch = *p; - - if (PARSING_HEADER(parser->state)) { - ++parser->nread; - /* Buffer overflow attack */ - if (parser->nread > HTTP_MAX_HEADER_SIZE) { - SET_ERRNO(HPE_HEADER_OVERFLOW); - goto error; - } - } - - reexecute_byte: - switch (parser->state) { - - case s_dead: - /* this state is used after a 'Connection: close' message - * the parser will error out if it reads another message - */ - if (ch == CR || ch == LF) - break; - - SET_ERRNO(HPE_CLOSED_CONNECTION); - goto error; - - case s_start_req_or_res: - { - if (ch == CR || ch == LF) - break; - parser->flags = 0; - parser->content_length = ULLONG_MAX; - - if (ch == 'H') { - parser->state = s_res_or_resp_H; - - CALLBACK_NOTIFY(message_begin); - } else { - parser->type = HTTP_REQUEST; - parser->state = s_start_req; - goto reexecute_byte; - } - - break; - } - - case s_res_or_resp_H: - if (ch == 'T') { - parser->type = HTTP_RESPONSE; - parser->state = s_res_HT; - } else { - if (ch != 'E') { - SET_ERRNO(HPE_INVALID_CONSTANT); - goto error; - } - - parser->type = HTTP_REQUEST; - parser->method = HTTP_HEAD; - parser->index = 2; - parser->state = s_req_method; - } - break; - - case s_start_res: - { - parser->flags = 0; - parser->content_length = ULLONG_MAX; - - switch (ch) { - case 'H': - parser->state = s_res_H; - break; - - case CR: - case LF: - break; - - default: - SET_ERRNO(HPE_INVALID_CONSTANT); - goto error; - } - - CALLBACK_NOTIFY(message_begin); - break; - } - - case s_res_H: - STRICT_CHECK(ch != 'T'); - parser->state = s_res_HT; - break; - - case s_res_HT: - STRICT_CHECK(ch != 'T'); - parser->state = s_res_HTT; - break; - - case s_res_HTT: - STRICT_CHECK(ch != 'P'); - parser->state = s_res_HTTP; - break; - - case s_res_HTTP: - STRICT_CHECK(ch != '/'); - parser->state = s_res_first_http_major; - break; - - case s_res_first_http_major: - if (ch < '0' || ch > '9') { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_major = ch - '0'; - parser->state = s_res_http_major; - break; - - /* major HTTP version or dot */ - case s_res_http_major: - { - if (ch == '.') { - parser->state = s_res_first_http_minor; - break; - } - - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_major *= 10; - parser->http_major += ch - '0'; - - if (parser->http_major > 999) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - break; - } - - /* first digit of minor HTTP version */ - case s_res_first_http_minor: - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_minor = ch - '0'; - parser->state = s_res_http_minor; - break; - - /* minor HTTP version or end of request line */ - case s_res_http_minor: - { - if (ch == ' ') { - parser->state = s_res_first_status_code; - break; - } - - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_minor *= 10; - parser->http_minor += ch - '0'; - - if (parser->http_minor > 999) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - break; - } - - case s_res_first_status_code: - { - if (!IS_NUM(ch)) { - if (ch == ' ') { - break; - } - - SET_ERRNO(HPE_INVALID_STATUS); - goto error; - } - parser->status_code = ch - '0'; - parser->state = s_res_status_code; - break; - } - - case s_res_status_code: - { - if (!IS_NUM(ch)) { - switch (ch) { - case ' ': - parser->state = s_res_status; - break; - case CR: - parser->state = s_res_line_almost_done; - break; - case LF: - parser->state = s_header_field_start; - break; - default: - SET_ERRNO(HPE_INVALID_STATUS); - goto error; - } - break; - } - - parser->status_code *= 10; - parser->status_code += ch - '0'; - - if (parser->status_code > 999) { - SET_ERRNO(HPE_INVALID_STATUS); - goto error; - } - - break; - } - - case s_res_status: - /* the human readable status. e.g. "NOT FOUND" - * we are not humans so just ignore this */ - if (ch == CR) { - parser->state = s_res_line_almost_done; - break; - } - - if (ch == LF) { - parser->state = s_header_field_start; - break; - } - break; - - case s_res_line_almost_done: - STRICT_CHECK(ch != LF); - parser->state = s_header_field_start; - CALLBACK_NOTIFY(status_complete); - break; - - case s_start_req: - { - if (ch == CR || ch == LF) - break; - parser->flags = 0; - parser->content_length = ULLONG_MAX; - - if (!IS_ALPHA(ch)) { - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - - parser->method = (enum http_method) 0; - parser->index = 1; - switch (ch) { - case 'C': parser->method = HTTP_CONNECT; /* or COPY, CHECKOUT */ break; - case 'D': parser->method = HTTP_DELETE; break; - case 'G': parser->method = HTTP_GET; break; - case 'H': parser->method = HTTP_HEAD; break; - case 'L': parser->method = HTTP_LOCK; break; - case 'M': parser->method = HTTP_MKCOL; /* or MOVE, MKACTIVITY, MERGE, M-SEARCH */ break; - case 'N': parser->method = HTTP_NOTIFY; break; - case 'O': parser->method = HTTP_OPTIONS; break; - case 'P': parser->method = HTTP_POST; - /* or PROPFIND|PROPPATCH|PUT|PATCH|PURGE */ - break; - case 'R': parser->method = HTTP_REPORT; break; - case 'S': parser->method = HTTP_SUBSCRIBE; /* or SEARCH */ break; - case 'T': parser->method = HTTP_TRACE; break; - case 'U': parser->method = HTTP_UNLOCK; /* or UNSUBSCRIBE */ break; - default: - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - parser->state = s_req_method; - - CALLBACK_NOTIFY(message_begin); - - break; - } - - case s_req_method: - { - const char *matcher; - if (ch == '\0') { - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - - matcher = method_strings[parser->method]; - if (ch == ' ' && matcher[parser->index] == '\0') { - parser->state = s_req_spaces_before_url; - } else if (ch == matcher[parser->index]) { - ; /* nada */ - } else if (parser->method == HTTP_CONNECT) { - if (parser->index == 1 && ch == 'H') { - parser->method = HTTP_CHECKOUT; - } else if (parser->index == 2 && ch == 'P') { - parser->method = HTTP_COPY; - } else { - goto error; - } - } else if (parser->method == HTTP_MKCOL) { - if (parser->index == 1 && ch == 'O') { - parser->method = HTTP_MOVE; - } else if (parser->index == 1 && ch == 'E') { - parser->method = HTTP_MERGE; - } else if (parser->index == 1 && ch == '-') { - parser->method = HTTP_MSEARCH; - } else if (parser->index == 2 && ch == 'A') { - parser->method = HTTP_MKACTIVITY; - } else { - goto error; - } - } else if (parser->method == HTTP_SUBSCRIBE) { - if (parser->index == 1 && ch == 'E') { - parser->method = HTTP_SEARCH; - } else { - goto error; - } - } else if (parser->index == 1 && parser->method == HTTP_POST) { - if (ch == 'R') { - parser->method = HTTP_PROPFIND; /* or HTTP_PROPPATCH */ - } else if (ch == 'U') { - parser->method = HTTP_PUT; /* or HTTP_PURGE */ - } else if (ch == 'A') { - parser->method = HTTP_PATCH; - } else { - goto error; - } - } else if (parser->index == 2) { - if (parser->method == HTTP_PUT) { - if (ch == 'R') parser->method = HTTP_PURGE; - } else if (parser->method == HTTP_UNLOCK) { - if (ch == 'S') parser->method = HTTP_UNSUBSCRIBE; - } - } else if (parser->index == 4 && parser->method == HTTP_PROPFIND && ch == 'P') { - parser->method = HTTP_PROPPATCH; - } else { - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - - ++parser->index; - break; - } - - case s_req_spaces_before_url: - { - if (ch == ' ') break; - - MARK(url); - if (parser->method == HTTP_CONNECT) { - parser->state = s_req_server_start; - } - - parser->state = parse_url_char((enum state)parser->state, ch); - if (parser->state == s_dead) { - SET_ERRNO(HPE_INVALID_URL); - goto error; - } - - break; - } - - case s_req_schema: - case s_req_schema_slash: - case s_req_schema_slash_slash: - case s_req_server_start: - { - switch (ch) { - /* No whitespace allowed here */ - case ' ': - case CR: - case LF: - SET_ERRNO(HPE_INVALID_URL); - goto error; - default: - parser->state = parse_url_char((enum state)parser->state, ch); - if (parser->state == s_dead) { - SET_ERRNO(HPE_INVALID_URL); - goto error; - } - } - - break; - } - - case s_req_server: - case s_req_server_with_at: - case s_req_path: - case s_req_query_string_start: - case s_req_query_string: - case s_req_fragment_start: - case s_req_fragment: - { - switch (ch) { - case ' ': - parser->state = s_req_http_start; - CALLBACK_DATA(url); - break; - case CR: - case LF: - parser->http_major = 0; - parser->http_minor = 9; - parser->state = (ch == CR) ? - s_req_line_almost_done : - s_header_field_start; - CALLBACK_DATA(url); - break; - default: - parser->state = parse_url_char((enum state)parser->state, ch); - if (parser->state == s_dead) { - SET_ERRNO(HPE_INVALID_URL); - goto error; - } - } - break; - } - - case s_req_http_start: - switch (ch) { - case 'H': - parser->state = s_req_http_H; - break; - case ' ': - break; - default: - SET_ERRNO(HPE_INVALID_CONSTANT); - goto error; - } - break; - - case s_req_http_H: - STRICT_CHECK(ch != 'T'); - parser->state = s_req_http_HT; - break; - - case s_req_http_HT: - STRICT_CHECK(ch != 'T'); - parser->state = s_req_http_HTT; - break; - - case s_req_http_HTT: - STRICT_CHECK(ch != 'P'); - parser->state = s_req_http_HTTP; - break; - - case s_req_http_HTTP: - STRICT_CHECK(ch != '/'); - parser->state = s_req_first_http_major; - break; - - /* first digit of major HTTP version */ - case s_req_first_http_major: - if (ch < '1' || ch > '9') { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_major = ch - '0'; - parser->state = s_req_http_major; - break; - - /* major HTTP version or dot */ - case s_req_http_major: - { - if (ch == '.') { - parser->state = s_req_first_http_minor; - break; - } - - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_major *= 10; - parser->http_major += ch - '0'; - - if (parser->http_major > 999) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - break; - } - - /* first digit of minor HTTP version */ - case s_req_first_http_minor: - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_minor = ch - '0'; - parser->state = s_req_http_minor; - break; - - /* minor HTTP version or end of request line */ - case s_req_http_minor: - { - if (ch == CR) { - parser->state = s_req_line_almost_done; - break; - } - - if (ch == LF) { - parser->state = s_header_field_start; - break; - } - - /* XXX allow spaces after digit? */ - - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_minor *= 10; - parser->http_minor += ch - '0'; - - if (parser->http_minor > 999) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - break; - } - - /* end of request line */ - case s_req_line_almost_done: - { - if (ch != LF) { - SET_ERRNO(HPE_LF_EXPECTED); - goto error; - } - - parser->state = s_header_field_start; - break; - } - - case s_header_field_start: - { - if (ch == CR) { - parser->state = s_headers_almost_done; - break; - } - - if (ch == LF) { - /* they might be just sending \n instead of \r\n so this would be - * the second \n to denote the end of headers*/ - parser->state = s_headers_almost_done; - goto reexecute_byte; - } - - c = TOKEN(ch); - - if (!c) { - SET_ERRNO(HPE_INVALID_HEADER_TOKEN); - goto error; - } - - MARK(header_field); - - parser->index = 0; - parser->state = s_header_field; - - switch (c) { - case 'c': - parser->header_state = h_C; - break; - - case 'p': - parser->header_state = h_matching_proxy_connection; - break; - - case 't': - parser->header_state = h_matching_transfer_encoding; - break; - - case 'u': - parser->header_state = h_matching_upgrade; - break; - - default: - parser->header_state = h_general; - break; - } - break; - } - - case s_header_field: - { - c = TOKEN(ch); - - if (c) { - switch (parser->header_state) { - case h_general: - break; - - case h_C: - parser->index++; - parser->header_state = (c == 'o' ? h_CO : h_general); - break; - - case h_CO: - parser->index++; - parser->header_state = (c == 'n' ? h_CON : h_general); - break; - - case h_CON: - parser->index++; - switch (c) { - case 'n': - parser->header_state = h_matching_connection; - break; - case 't': - parser->header_state = h_matching_content_length; - break; - default: - parser->header_state = h_general; - break; - } - break; - - /* connection */ - - case h_matching_connection: - parser->index++; - if (parser->index > sizeof(CONNECTION)-1 - || c != CONNECTION[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(CONNECTION)-2) { - parser->header_state = h_connection; - } - break; - - /* proxy-connection */ - - case h_matching_proxy_connection: - parser->index++; - if (parser->index > sizeof(PROXY_CONNECTION)-1 - || c != PROXY_CONNECTION[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(PROXY_CONNECTION)-2) { - parser->header_state = h_connection; - } - break; - - /* content-length */ - - case h_matching_content_length: - parser->index++; - if (parser->index > sizeof(CONTENT_LENGTH)-1 - || c != CONTENT_LENGTH[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(CONTENT_LENGTH)-2) { - parser->header_state = h_content_length; - } - break; - - /* transfer-encoding */ - - case h_matching_transfer_encoding: - parser->index++; - if (parser->index > sizeof(TRANSFER_ENCODING)-1 - || c != TRANSFER_ENCODING[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(TRANSFER_ENCODING)-2) { - parser->header_state = h_transfer_encoding; - } - break; - - /* upgrade */ - - case h_matching_upgrade: - parser->index++; - if (parser->index > sizeof(UPGRADE)-1 - || c != UPGRADE[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(UPGRADE)-2) { - parser->header_state = h_upgrade; - } - break; - - case h_connection: - case h_content_length: - case h_transfer_encoding: - case h_upgrade: - if (ch != ' ') parser->header_state = h_general; - break; - - default: - assert(0 && "Unknown header_state"); - break; - } - break; - } - - if (ch == ':') { - parser->state = s_header_value_start; - CALLBACK_DATA(header_field); - break; - } - - if (ch == CR) { - parser->state = s_header_almost_done; - CALLBACK_DATA(header_field); - break; - } - - if (ch == LF) { - parser->state = s_header_field_start; - CALLBACK_DATA(header_field); - break; - } - - SET_ERRNO(HPE_INVALID_HEADER_TOKEN); - goto error; - } - - case s_header_value_start: - { - if (ch == ' ' || ch == '\t') break; - - MARK(header_value); - - parser->state = s_header_value; - parser->index = 0; - - if (ch == CR) { - parser->header_state = h_general; - parser->state = s_header_almost_done; - CALLBACK_DATA(header_value); - break; - } - - if (ch == LF) { - parser->state = s_header_field_start; - CALLBACK_DATA(header_value); - break; - } - - c = LOWER(ch); - - switch (parser->header_state) { - case h_upgrade: - parser->flags |= F_UPGRADE; - parser->header_state = h_general; - break; - - case h_transfer_encoding: - /* looking for 'Transfer-Encoding: chunked' */ - if ('c' == c) { - parser->header_state = h_matching_transfer_encoding_chunked; - } else { - parser->header_state = h_general; - } - break; - - case h_content_length: - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - goto error; - } - - parser->content_length = ch - '0'; - break; - - case h_connection: - /* looking for 'Connection: keep-alive' */ - if (c == 'k') { - parser->header_state = h_matching_connection_keep_alive; - /* looking for 'Connection: close' */ - } else if (c == 'c') { - parser->header_state = h_matching_connection_close; - } else { - parser->header_state = h_general; - } - break; - - default: - parser->header_state = h_general; - break; - } - break; - } - - case s_header_value: - { - - if (ch == CR) { - parser->state = s_header_almost_done; - CALLBACK_DATA(header_value); - break; - } - - if (ch == LF) { - parser->state = s_header_almost_done; - CALLBACK_DATA_NOADVANCE(header_value); - goto reexecute_byte; - } - - c = LOWER(ch); - - switch (parser->header_state) { - case h_general: - break; - - case h_connection: - case h_transfer_encoding: - assert(0 && "Shouldn't get here."); - break; - - case h_content_length: - { - uint64_t t; - - if (ch == ' ') break; - - if (!IS_NUM(ch)) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - goto error; - } - - t = parser->content_length; - t *= 10; - t += ch - '0'; - - /* Overflow? */ - if (t < parser->content_length || t == ULLONG_MAX) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - goto error; - } - - parser->content_length = t; - break; - } - - /* Transfer-Encoding: chunked */ - case h_matching_transfer_encoding_chunked: - parser->index++; - if (parser->index > sizeof(CHUNKED)-1 - || c != CHUNKED[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(CHUNKED)-2) { - parser->header_state = h_transfer_encoding_chunked; - } - break; - - /* looking for 'Connection: keep-alive' */ - case h_matching_connection_keep_alive: - parser->index++; - if (parser->index > sizeof(KEEP_ALIVE)-1 - || c != KEEP_ALIVE[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(KEEP_ALIVE)-2) { - parser->header_state = h_connection_keep_alive; - } - break; - - /* looking for 'Connection: close' */ - case h_matching_connection_close: - parser->index++; - if (parser->index > sizeof(CLOSE)-1 || c != CLOSE[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(CLOSE)-2) { - parser->header_state = h_connection_close; - } - break; - - case h_transfer_encoding_chunked: - case h_connection_keep_alive: - case h_connection_close: - if (ch != ' ') parser->header_state = h_general; - break; - - default: - parser->state = s_header_value; - parser->header_state = h_general; - break; - } - break; - } - - case s_header_almost_done: - { - STRICT_CHECK(ch != LF); - - parser->state = s_header_value_lws; - - switch (parser->header_state) { - case h_connection_keep_alive: - parser->flags |= F_CONNECTION_KEEP_ALIVE; - break; - case h_connection_close: - parser->flags |= F_CONNECTION_CLOSE; - break; - case h_transfer_encoding_chunked: - parser->flags |= F_CHUNKED; - break; - default: - break; - } - - break; - } - - case s_header_value_lws: - { - if (ch == ' ' || ch == '\t') - parser->state = s_header_value_start; - else - { - parser->state = s_header_field_start; - goto reexecute_byte; - } - break; - } - - case s_headers_almost_done: - { - STRICT_CHECK(ch != LF); - - if (parser->flags & F_TRAILING) { - /* End of a chunked request */ - parser->state = NEW_MESSAGE(); - CALLBACK_NOTIFY(message_complete); - break; - } - - parser->state = s_headers_done; - - /* Set this here so that on_headers_complete() callbacks can see it */ - parser->upgrade = - (parser->flags & F_UPGRADE || parser->method == HTTP_CONNECT); - - /* Here we call the headers_complete callback. This is somewhat - * different than other callbacks because if the user returns 1, we - * will interpret that as saying that this message has no body. This - * is needed for the annoying case of recieving a response to a HEAD - * request. - * - * We'd like to use CALLBACK_NOTIFY_NOADVANCE() here but we cannot, so - * we have to simulate it by handling a change in errno below. - */ - if (settings->on_headers_complete) { - switch (settings->on_headers_complete(parser)) { - case 0: - break; - - case 1: - parser->flags |= F_SKIPBODY; - break; - - default: - SET_ERRNO(HPE_CB_headers_complete); - return p - data; /* Error */ - } - } - - if (HTTP_PARSER_ERRNO(parser) != HPE_OK) { - return p - data; - } - - goto reexecute_byte; - } - - case s_headers_done: - { - STRICT_CHECK(ch != LF); - - parser->nread = 0; - - /* Exit, the rest of the connect is in a different protocol. */ - if (parser->upgrade) { - parser->state = NEW_MESSAGE(); - CALLBACK_NOTIFY(message_complete); - return (p - data) + 1; - } - - if (parser->flags & F_SKIPBODY) { - parser->state = NEW_MESSAGE(); - CALLBACK_NOTIFY(message_complete); - } else if (parser->flags & F_CHUNKED) { - /* chunked encoding - ignore Content-Length header */ - parser->state = s_chunk_size_start; - } else { - if (parser->content_length == 0) { - /* Content-Length header given but zero: Content-Length: 0\r\n */ - parser->state = NEW_MESSAGE(); - CALLBACK_NOTIFY(message_complete); - } else if (parser->content_length != ULLONG_MAX) { - /* Content-Length header given and non-zero */ - parser->state = s_body_identity; - } else { - if (parser->type == HTTP_REQUEST || - !http_message_needs_eof(parser)) { - /* Assume content-length 0 - read the next */ - parser->state = NEW_MESSAGE(); - CALLBACK_NOTIFY(message_complete); - } else { - /* Read body until EOF */ - parser->state = s_body_identity_eof; - } - } - } - - break; - } - - case s_body_identity: - { - uint64_t to_read = MIN(parser->content_length, - (uint64_t) ((data + len) - p)); - - assert(parser->content_length != 0 - && parser->content_length != ULLONG_MAX); - - /* The difference between advancing content_length and p is because - * the latter will automaticaly advance on the next loop iteration. - * Further, if content_length ends up at 0, we want to see the last - * byte again for our message complete callback. - */ - MARK(body); - parser->content_length -= to_read; - p += to_read - 1; - - if (parser->content_length == 0) { - parser->state = s_message_done; - - /* Mimic CALLBACK_DATA_NOADVANCE() but with one extra byte. - * - * The alternative to doing this is to wait for the next byte to - * trigger the data callback, just as in every other case. The - * problem with this is that this makes it difficult for the test - * harness to distinguish between complete-on-EOF and - * complete-on-length. It's not clear that this distinction is - * important for applications, but let's keep it for now. - */ - CALLBACK_DATA_(body, p - body_mark + 1, p - data); - goto reexecute_byte; - } - - break; - } - - /* read until EOF */ - case s_body_identity_eof: - MARK(body); - p = data + len - 1; - - break; - - case s_message_done: - parser->state = NEW_MESSAGE(); - CALLBACK_NOTIFY(message_complete); - break; - - case s_chunk_size_start: - { - assert(parser->nread == 1); - assert(parser->flags & F_CHUNKED); - - unhex_val = unhex[(unsigned char)ch]; - if (unhex_val == -1) { - SET_ERRNO(HPE_INVALID_CHUNK_SIZE); - goto error; - } - - parser->content_length = unhex_val; - parser->state = s_chunk_size; - break; - } - - case s_chunk_size: - { - uint64_t t; - - assert(parser->flags & F_CHUNKED); - - if (ch == CR) { - parser->state = s_chunk_size_almost_done; - break; - } - - unhex_val = unhex[(unsigned char)ch]; - - if (unhex_val == -1) { - if (ch == ';' || ch == ' ') { - parser->state = s_chunk_parameters; - break; - } - - SET_ERRNO(HPE_INVALID_CHUNK_SIZE); - goto error; - } - - t = parser->content_length; - t *= 16; - t += unhex_val; - - /* Overflow? */ - if (t < parser->content_length || t == ULLONG_MAX) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - goto error; - } - - parser->content_length = t; - break; - } - - case s_chunk_parameters: - { - assert(parser->flags & F_CHUNKED); - /* just ignore this shit. TODO check for overflow */ - if (ch == CR) { - parser->state = s_chunk_size_almost_done; - break; - } - break; - } - - case s_chunk_size_almost_done: - { - assert(parser->flags & F_CHUNKED); - STRICT_CHECK(ch != LF); - - parser->nread = 0; - - if (parser->content_length == 0) { - parser->flags |= F_TRAILING; - parser->state = s_header_field_start; - } else { - parser->state = s_chunk_data; - } - break; - } - - case s_chunk_data: - { - uint64_t to_read = MIN(parser->content_length, - (uint64_t) ((data + len) - p)); - - assert(parser->flags & F_CHUNKED); - assert(parser->content_length != 0 - && parser->content_length != ULLONG_MAX); - - /* See the explanation in s_body_identity for why the content - * length and data pointers are managed this way. - */ - MARK(body); - parser->content_length -= to_read; - p += to_read - 1; - - if (parser->content_length == 0) { - parser->state = s_chunk_data_almost_done; - } - - break; - } - - case s_chunk_data_almost_done: - assert(parser->flags & F_CHUNKED); - assert(parser->content_length == 0); - STRICT_CHECK(ch != CR); - parser->state = s_chunk_data_done; - CALLBACK_DATA(body); - break; - - case s_chunk_data_done: - assert(parser->flags & F_CHUNKED); - STRICT_CHECK(ch != LF); - parser->nread = 0; - parser->state = s_chunk_size_start; - break; - - default: - assert(0 && "unhandled state"); - SET_ERRNO(HPE_INVALID_INTERNAL_STATE); - goto error; - } - } - - /* Run callbacks for any marks that we have leftover after we ran our of - * bytes. There should be at most one of these set, so it's OK to invoke - * them in series (unset marks will not result in callbacks). - * - * We use the NOADVANCE() variety of callbacks here because 'p' has already - * overflowed 'data' and this allows us to correct for the off-by-one that - * we'd otherwise have (since CALLBACK_DATA() is meant to be run with a 'p' - * value that's in-bounds). - */ - - assert(((header_field_mark ? 1 : 0) + - (header_value_mark ? 1 : 0) + - (url_mark ? 1 : 0) + - (body_mark ? 1 : 0)) <= 1); - - CALLBACK_DATA_NOADVANCE(header_field); - CALLBACK_DATA_NOADVANCE(header_value); - CALLBACK_DATA_NOADVANCE(url); - CALLBACK_DATA_NOADVANCE(body); - - return len; - -error: - if (HTTP_PARSER_ERRNO(parser) == HPE_OK) { - SET_ERRNO(HPE_UNKNOWN); - } - - return (p - data); -} - - -/* Does the parser need to see an EOF to find the end of the message? */ -int -http_message_needs_eof (const http_parser *parser) -{ - if (parser->type == HTTP_REQUEST) { - return 0; - } - - /* See RFC 2616 section 4.4 */ - if (parser->status_code / 100 == 1 || /* 1xx e.g. Continue */ - parser->status_code == 204 || /* No Content */ - parser->status_code == 304 || /* Not Modified */ - parser->flags & F_SKIPBODY) { /* response to a HEAD request */ - return 0; - } - - if ((parser->flags & F_CHUNKED) || parser->content_length != ULLONG_MAX) { - return 0; - } - - return 1; -} - - -int -http_should_keep_alive (const http_parser *parser) -{ - if (parser->http_major > 0 && parser->http_minor > 0) { - /* HTTP/1.1 */ - if (parser->flags & F_CONNECTION_CLOSE) { - return 0; - } - } else { - /* HTTP/1.0 or earlier */ - if (!(parser->flags & F_CONNECTION_KEEP_ALIVE)) { - return 0; - } - } - - return !http_message_needs_eof(parser); -} - - -const char * -http_method_str (enum http_method m) -{ - return ELEM_AT(method_strings, m, ""); -} - - -void -http_parser_init (http_parser *parser, enum http_parser_type t) -{ - void *data = parser->data; /* preserve application data */ - memset(parser, 0, sizeof(*parser)); - parser->data = data; - parser->type = t; - parser->state = (t == HTTP_REQUEST ? s_start_req : (t == HTTP_RESPONSE ? s_start_res : s_start_req_or_res)); - parser->http_errno = HPE_OK; -} - -const char * -http_errno_name(enum http_errno err) { - assert(err < (sizeof(http_strerror_tab)/sizeof(http_strerror_tab[0]))); - return http_strerror_tab[err].name; -} - -const char * -http_errno_description(enum http_errno err) { - assert(err < (sizeof(http_strerror_tab)/sizeof(http_strerror_tab[0]))); - return http_strerror_tab[err].description; -} - -static enum http_host_state -http_parse_host_char(enum http_host_state s, const char ch) { - switch(s) { - case s_http_userinfo: - case s_http_userinfo_start: - if (ch == '@') { - return s_http_host_start; - } - - if (IS_USERINFO_CHAR(ch)) { - return s_http_userinfo; - } - break; - - case s_http_host_start: - if (ch == '[') { - return s_http_host_v6_start; - } - - if (IS_HOST_CHAR(ch)) { - return s_http_host; - } - - break; - - case s_http_host: - if (IS_HOST_CHAR(ch)) { - return s_http_host; - } - - /* FALLTHROUGH */ - case s_http_host_v6_end: - if (ch == ':') { - return s_http_host_port_start; - } - - break; - - case s_http_host_v6: - if (ch == ']') { - return s_http_host_v6_end; - } - - /* FALLTHROUGH */ - case s_http_host_v6_start: - if (IS_HEX(ch) || ch == ':' || ch == '.') { - return s_http_host_v6; - } - - break; - - case s_http_host_port: - case s_http_host_port_start: - if (IS_NUM(ch)) { - return s_http_host_port; - } - - break; - - default: - break; - } - return s_http_host_dead; -} - -static int -http_parse_host(const char * buf, struct http_parser_url *u, int found_at) { - enum http_host_state s; - - const char *p; - size_t buflen = u->field_data[UF_HOST].off + u->field_data[UF_HOST].len; - - u->field_data[UF_HOST].len = 0; - - s = found_at ? s_http_userinfo_start : s_http_host_start; - - for (p = buf + u->field_data[UF_HOST].off; p < buf + buflen; p++) { - enum http_host_state new_s = http_parse_host_char(s, *p); - - if (new_s == s_http_host_dead) { - return 1; - } - - switch(new_s) { - case s_http_host: - if (s != s_http_host) { - u->field_data[UF_HOST].off = p - buf; - } - u->field_data[UF_HOST].len++; - break; - - case s_http_host_v6: - if (s != s_http_host_v6) { - u->field_data[UF_HOST].off = p - buf; - } - u->field_data[UF_HOST].len++; - break; - - case s_http_host_port: - if (s != s_http_host_port) { - u->field_data[UF_PORT].off = p - buf; - u->field_data[UF_PORT].len = 0; - u->field_set |= (1 << UF_PORT); - } - u->field_data[UF_PORT].len++; - break; - - case s_http_userinfo: - if (s != s_http_userinfo) { - u->field_data[UF_USERINFO].off = p - buf ; - u->field_data[UF_USERINFO].len = 0; - u->field_set |= (1 << UF_USERINFO); - } - u->field_data[UF_USERINFO].len++; - break; - - default: - break; - } - s = new_s; - } - - /* Make sure we don't end somewhere unexpected */ - switch (s) { - case s_http_host_start: - case s_http_host_v6_start: - case s_http_host_v6: - case s_http_host_port_start: - case s_http_userinfo: - case s_http_userinfo_start: - return 1; - default: - break; - } - - return 0; -} - -int -http_parser_parse_url(const char *buf, size_t buflen, int is_connect, - struct http_parser_url *u) -{ - enum state s; - const char *p; - enum http_parser_url_fields uf, old_uf; - int found_at = 0; - - u->port = u->field_set = 0; - s = is_connect ? s_req_server_start : s_req_spaces_before_url; - uf = old_uf = UF_MAX; - - for (p = buf; p < buf + buflen; p++) { - s = parse_url_char(s, *p); - - /* Figure out the next field that we're operating on */ - switch (s) { - case s_dead: - return 1; - - /* Skip delimeters */ - case s_req_schema_slash: - case s_req_schema_slash_slash: - case s_req_server_start: - case s_req_query_string_start: - case s_req_fragment_start: - continue; - - case s_req_schema: - uf = UF_SCHEMA; - break; - - case s_req_server_with_at: - found_at = 1; - - /* FALLTROUGH */ - case s_req_server: - uf = UF_HOST; - break; - - case s_req_path: - uf = UF_PATH; - break; - - case s_req_query_string: - uf = UF_QUERY; - break; - - case s_req_fragment: - uf = UF_FRAGMENT; - break; - - default: - assert(!"Unexpected state"); - return 1; - } - - /* Nothing's changed; soldier on */ - if (uf == old_uf) { - u->field_data[uf].len++; - continue; - } - - u->field_data[uf].off = p - buf; - u->field_data[uf].len = 1; - - u->field_set |= (1 << uf); - old_uf = uf; - } - - /* host must be present if there is a schema */ - /* parsing http:///toto will fail */ - if ((u->field_set & ((1 << UF_SCHEMA) | (1 << UF_HOST))) != 0) { - if (http_parse_host(buf, u, found_at) != 0) { - return 1; - } - } - - /* CONNECT requests can only contain "hostname:port" */ - if (is_connect && u->field_set != ((1 << UF_HOST)|(1 << UF_PORT))) { - return 1; - } - - if (u->field_set & (1 << UF_PORT)) { - /* Don't bother with endp; we've already validated the string */ - unsigned long v = strtoul(buf + u->field_data[UF_PORT].off, NULL, 10); - - /* Ports have a max value of 2^16 */ - if (v > 0xffff) { - return 1; - } - - u->port = (uint16_t) v; - } - - return 0; -} - -void -http_parser_pause(http_parser *parser, int paused) { - /* Users should only be pausing/unpausing a parser that is not in an error - * state. In non-debug builds, there's not much that we can do about this - * other than ignore it. - */ - if (HTTP_PARSER_ERRNO(parser) == HPE_OK || - HTTP_PARSER_ERRNO(parser) == HPE_PAUSED) { - SET_ERRNO((paused) ? HPE_PAUSED : HPE_OK); - } else { - assert(0 && "Attempting to pause parser in error state"); - } -} - -int -http_body_is_final(const struct http_parser *parser) { - return parser->state == s_message_done; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp deleted file mode 100644 index c6eada7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp +++ /dev/null @@ -1,79 +0,0 @@ -# This file is used with the GYP meta build system. -# http://code.google.com/p/gyp/ -# To build try this: -# svn co http://gyp.googlecode.com/svn/trunk gyp -# ./gyp/gyp -f make --depth=`pwd` http_parser.gyp -# ./out/Debug/test -{ - 'target_defaults': { - 'default_configuration': 'Debug', - 'configurations': { - # TODO: hoist these out and put them somewhere common, because - # RuntimeLibrary MUST MATCH across the entire project - 'Debug': { - 'defines': [ 'DEBUG', '_DEBUG' ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'RuntimeLibrary': 1, # static debug - }, - }, - }, - 'Release': { - 'defines': [ 'NDEBUG' ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'RuntimeLibrary': 0, # static release - }, - }, - } - }, - 'msvs_settings': { - 'VCCLCompilerTool': { - }, - 'VCLibrarianTool': { - }, - 'VCLinkerTool': { - 'GenerateDebugInformation': 'true', - }, - }, - 'conditions': [ - ['OS == "win"', { - 'defines': [ - 'WIN32' - ], - }] - ], - }, - - 'targets': [ - { - 'target_name': 'http_parser', - 'type': 'static_library', - 'include_dirs': [ '.' ], - 'direct_dependent_settings': { - 'include_dirs': [ '.' ], - }, - 'defines': [ 'HTTP_PARSER_STRICT=0' ], - 'sources': [ './http_parser.c', ], - 'conditions': [ - ['OS=="win"', { - 'msvs_settings': { - 'VCCLCompilerTool': { - # Compile as C++. http_parser.c is actually C99, but C++ is - # close enough in this case. - 'CompileAs': 2, - }, - }, - }] - ], - }, - - { - 'target_name': 'test', - 'type': 'executable', - 'dependencies': [ 'http_parser' ], - 'sources': [ 'test.c' ] - } - ] -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h deleted file mode 100644 index 2fff4bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h +++ /dev/null @@ -1,304 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#ifndef http_parser_h -#define http_parser_h -#ifdef __cplusplus -extern "C" { -#endif - -#define HTTP_PARSER_VERSION_MAJOR 2 -#define HTTP_PARSER_VERSION_MINOR 0 - -#include -#if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1600) -#include -#include -typedef __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; -#else -#include -#endif - -/* Compile with -DHTTP_PARSER_STRICT=0 to make less checks, but run - * faster - */ -#ifndef HTTP_PARSER_STRICT -# define HTTP_PARSER_STRICT 1 -#endif - -/* Maximium header size allowed */ -#define HTTP_MAX_HEADER_SIZE (80*1024) - - -typedef struct http_parser http_parser; -typedef struct http_parser_settings http_parser_settings; - - -/* Callbacks should return non-zero to indicate an error. The parser will - * then halt execution. - * - * The one exception is on_headers_complete. In a HTTP_RESPONSE parser - * returning '1' from on_headers_complete will tell the parser that it - * should not expect a body. This is used when receiving a response to a - * HEAD request which may contain 'Content-Length' or 'Transfer-Encoding: - * chunked' headers that indicate the presence of a body. - * - * http_data_cb does not return data chunks. It will be call arbitrarally - * many times for each string. E.G. you might get 10 callbacks for "on_url" - * each providing just a few characters more data. - */ -typedef int (*http_data_cb) (http_parser*, const char *at, size_t length); -typedef int (*http_cb) (http_parser*); - - -/* Request Methods */ -#define HTTP_METHOD_MAP(XX) \ - XX(0, DELETE, DELETE) \ - XX(1, GET, GET) \ - XX(2, HEAD, HEAD) \ - XX(3, POST, POST) \ - XX(4, PUT, PUT) \ - /* pathological */ \ - XX(5, CONNECT, CONNECT) \ - XX(6, OPTIONS, OPTIONS) \ - XX(7, TRACE, TRACE) \ - /* webdav */ \ - XX(8, COPY, COPY) \ - XX(9, LOCK, LOCK) \ - XX(10, MKCOL, MKCOL) \ - XX(11, MOVE, MOVE) \ - XX(12, PROPFIND, PROPFIND) \ - XX(13, PROPPATCH, PROPPATCH) \ - XX(14, SEARCH, SEARCH) \ - XX(15, UNLOCK, UNLOCK) \ - /* subversion */ \ - XX(16, REPORT, REPORT) \ - XX(17, MKACTIVITY, MKACTIVITY) \ - XX(18, CHECKOUT, CHECKOUT) \ - XX(19, MERGE, MERGE) \ - /* upnp */ \ - XX(20, MSEARCH, M-SEARCH) \ - XX(21, NOTIFY, NOTIFY) \ - XX(22, SUBSCRIBE, SUBSCRIBE) \ - XX(23, UNSUBSCRIBE, UNSUBSCRIBE) \ - /* RFC-5789 */ \ - XX(24, PATCH, PATCH) \ - XX(25, PURGE, PURGE) \ - -enum http_method - { -#define XX(num, name, string) HTTP_##name = num, - HTTP_METHOD_MAP(XX) -#undef XX - }; - - -enum http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH }; - - -/* Flag values for http_parser.flags field */ -enum flags - { F_CHUNKED = 1 << 0 - , F_CONNECTION_KEEP_ALIVE = 1 << 1 - , F_CONNECTION_CLOSE = 1 << 2 - , F_TRAILING = 1 << 3 - , F_UPGRADE = 1 << 4 - , F_SKIPBODY = 1 << 5 - }; - - -/* Map for errno-related constants - * - * The provided argument should be a macro that takes 2 arguments. - */ -#define HTTP_ERRNO_MAP(XX) \ - /* No error */ \ - XX(OK, "success") \ - \ - /* Callback-related errors */ \ - XX(CB_message_begin, "the on_message_begin callback failed") \ - XX(CB_status_complete, "the on_status_complete callback failed") \ - XX(CB_url, "the on_url callback failed") \ - XX(CB_header_field, "the on_header_field callback failed") \ - XX(CB_header_value, "the on_header_value callback failed") \ - XX(CB_headers_complete, "the on_headers_complete callback failed") \ - XX(CB_body, "the on_body callback failed") \ - XX(CB_message_complete, "the on_message_complete callback failed") \ - \ - /* Parsing-related errors */ \ - XX(INVALID_EOF_STATE, "stream ended at an unexpected time") \ - XX(HEADER_OVERFLOW, \ - "too many header bytes seen; overflow detected") \ - XX(CLOSED_CONNECTION, \ - "data received after completed connection: close message") \ - XX(INVALID_VERSION, "invalid HTTP version") \ - XX(INVALID_STATUS, "invalid HTTP status code") \ - XX(INVALID_METHOD, "invalid HTTP method") \ - XX(INVALID_URL, "invalid URL") \ - XX(INVALID_HOST, "invalid host") \ - XX(INVALID_PORT, "invalid port") \ - XX(INVALID_PATH, "invalid path") \ - XX(INVALID_QUERY_STRING, "invalid query string") \ - XX(INVALID_FRAGMENT, "invalid fragment") \ - XX(LF_EXPECTED, "LF character expected") \ - XX(INVALID_HEADER_TOKEN, "invalid character in header") \ - XX(INVALID_CONTENT_LENGTH, \ - "invalid character in content-length header") \ - XX(INVALID_CHUNK_SIZE, \ - "invalid character in chunk size header") \ - XX(INVALID_CONSTANT, "invalid constant string") \ - XX(INVALID_INTERNAL_STATE, "encountered unexpected internal state")\ - XX(STRICT, "strict mode assertion failed") \ - XX(PAUSED, "parser is paused") \ - XX(UNKNOWN, "an unknown error occurred") - - -/* Define HPE_* values for each errno value above */ -#define HTTP_ERRNO_GEN(n, s) HPE_##n, -enum http_errno { - HTTP_ERRNO_MAP(HTTP_ERRNO_GEN) -}; -#undef HTTP_ERRNO_GEN - - -/* Get an http_errno value from an http_parser */ -#define HTTP_PARSER_ERRNO(p) ((enum http_errno) (p)->http_errno) - - -struct http_parser { - /** PRIVATE **/ - unsigned char type : 2; /* enum http_parser_type */ - unsigned char flags : 6; /* F_* values from 'flags' enum; semi-public */ - unsigned char state; /* enum state from http_parser.c */ - unsigned char header_state; /* enum header_state from http_parser.c */ - unsigned char index; /* index into current matcher */ - - uint32_t nread; /* # bytes read in various scenarios */ - uint64_t content_length; /* # bytes in body (0 if no Content-Length header) */ - - /** READ-ONLY **/ - unsigned short http_major; - unsigned short http_minor; - unsigned short status_code; /* responses only */ - unsigned char method; /* requests only */ - unsigned char http_errno : 7; - - /* 1 = Upgrade header was present and the parser has exited because of that. - * 0 = No upgrade header present. - * Should be checked when http_parser_execute() returns in addition to - * error checking. - */ - unsigned char upgrade : 1; - - /** PUBLIC **/ - void *data; /* A pointer to get hook to the "connection" or "socket" object */ -}; - - -struct http_parser_settings { - http_cb on_message_begin; - http_data_cb on_url; - http_cb on_status_complete; - http_data_cb on_header_field; - http_data_cb on_header_value; - http_cb on_headers_complete; - http_data_cb on_body; - http_cb on_message_complete; -}; - - -enum http_parser_url_fields - { UF_SCHEMA = 0 - , UF_HOST = 1 - , UF_PORT = 2 - , UF_PATH = 3 - , UF_QUERY = 4 - , UF_FRAGMENT = 5 - , UF_USERINFO = 6 - , UF_MAX = 7 - }; - - -/* Result structure for http_parser_parse_url(). - * - * Callers should index into field_data[] with UF_* values iff field_set - * has the relevant (1 << UF_*) bit set. As a courtesy to clients (and - * because we probably have padding left over), we convert any port to - * a uint16_t. - */ -struct http_parser_url { - uint16_t field_set; /* Bitmask of (1 << UF_*) values */ - uint16_t port; /* Converted UF_PORT string */ - - struct { - uint16_t off; /* Offset into buffer in which field starts */ - uint16_t len; /* Length of run in buffer */ - } field_data[UF_MAX]; -}; - - -void http_parser_init(http_parser *parser, enum http_parser_type type); - - -size_t http_parser_execute(http_parser *parser, - const http_parser_settings *settings, - const char *data, - size_t len); - - -/* If http_should_keep_alive() in the on_headers_complete or - * on_message_complete callback returns 0, then this should be - * the last message on the connection. - * If you are the server, respond with the "Connection: close" header. - * If you are the client, close the connection. - */ -int http_should_keep_alive(const http_parser *parser); - -/* Returns a string version of the HTTP method. */ -const char *http_method_str(enum http_method m); - -/* Return a string name of the given error */ -const char *http_errno_name(enum http_errno err); - -/* Return a string description of the given error */ -const char *http_errno_description(enum http_errno err); - -/* Parse a URL; return nonzero on failure */ -int http_parser_parse_url(const char *buf, size_t buflen, - int is_connect, - struct http_parser_url *u); - -/* Pause or un-pause the parser; a nonzero value pauses */ -void http_parser_pause(http_parser *parser, int paused); - -/* Checks if this is the final chunk of the body. */ -int http_body_is_final(const http_parser *parser); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml deleted file mode 100644 index 741121a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java deleted file mode 100644 index 774179f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java +++ /dev/null @@ -1,41 +0,0 @@ -package http_parser; - -public class FieldData { - public int off; - public int len; - - public FieldData(){} - - public FieldData(int off, int len){ - this.off = off; - this.len = len; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - FieldData fieldData = (FieldData) o; - - if (len != fieldData.len) return false; - if (off != fieldData.off) return false; - - return true; - } - - @Override - public int hashCode() { - int result = off; - result = 31 * result + len; - return result; - } - - @Override - public String toString() { - return "FieldData{" + - "off=" + off + - ", len=" + len + - '}'; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java deleted file mode 100644 index 5380b0f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java +++ /dev/null @@ -1,8 +0,0 @@ -package http_parser; - -public abstract class HTTPCallback implements http_parser.lolevel.HTTPCallback{ - public int cb (http_parser.lolevel.HTTPParser parser) { - return this.cb((HTTPParser)parser); - } - public abstract int cb (HTTPParser parser); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java deleted file mode 100644 index bfe576f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java +++ /dev/null @@ -1,34 +0,0 @@ -package http_parser; - -import java.nio.ByteBuffer; - -public abstract class HTTPDataCallback implements http_parser.lolevel.HTTPDataCallback{ - /* - Very raw and extremly foolhardy! DANGER! - The whole Buffer concept is difficult enough to grasp as it is, - we pass in a buffer with an arbitrary position. - - The interesting data is located at position pos and is len - bytes long. - - The contract of this callback is that the buffer is - returned in the state that it was passed in, so implementing - this require good citizenship, you'll need to remember the current - position, change the position to get at the data you're interested - in and then set the position back to how you found it... - - Therefore: there is an abstract implementation that implements - cb as described above, and provides a new callback - with signature @see cb(byte[], int, int) - */ - public int cb(http_parser.lolevel.HTTPParser p, ByteBuffer buf, int pos, int len) { - byte [] by = new byte[len]; - int saved = buf.position(); - buf.position(pos); - buf.get(by); - buf.position(saved); - return cb((HTTPParser)p, by, 0, len); - } - - public abstract int cb(HTTPParser p, byte[] by, int pos, int len); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java deleted file mode 100644 index a74206e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java +++ /dev/null @@ -1,12 +0,0 @@ -package http_parser; - - -import java.nio.ByteBuffer; - -public abstract class HTTPErrorCallback implements http_parser.lolevel.HTTPErrorCallback{ - public void cb (http_parser.lolevel.HTTPParser parser, String mes, ByteBuffer buf, int initial_position) { - this.cb((HTTPParser)parser, Util.error(mes, buf, initial_position)); - } - - public abstract void cb(HTTPParser parser, String error); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java deleted file mode 100644 index 9ccaf14..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java +++ /dev/null @@ -1,9 +0,0 @@ -package http_parser; - -@SuppressWarnings("serial") -public class HTTPException extends RuntimeException { - -public HTTPException(String mes) { - super(mes); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java deleted file mode 100644 index 7c080c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java +++ /dev/null @@ -1,107 +0,0 @@ -package http_parser; - -import java.nio.charset.Charset; - -public enum HTTPMethod { - HTTP_DELETE("DELETE")// = 0 - , HTTP_GET("GET") - , HTTP_HEAD("HEAD") - , HTTP_POST("POST") - , HTTP_PUT("PUT") - , HTTP_PATCH("PATCH") - /* pathological */ - , HTTP_CONNECT("CONNECT") - , HTTP_OPTIONS("OPTIONS") - , HTTP_TRACE("TRACE") - /* webdav */ - , HTTP_COPY("COPY") - , HTTP_LOCK("LOCK") - , HTTP_MKCOL("MKCOL") - , HTTP_MOVE("MOVE") - , HTTP_PROPFIND("PROPFIND") - , HTTP_PROPPATCH("PROPPATCH") - , HTTP_UNLOCK("UNLOCK") - , HTTP_REPORT("REPORT") - , HTTP_MKACTIVITY("MKACTIVITY") - , HTTP_CHECKOUT("CHECKOUT") - , HTTP_MERGE("MERGE") - , HTTP_MSEARCH("M-SEARCH") - , HTTP_NOTIFY("NOTIFY") - , HTTP_SUBSCRIBE("SUBSCRIBE") - , HTTP_UNSUBSCRIBE("UNSUBSCRIBE") - , HTTP_PURGE("PURGE") - ; - - private static Charset ASCII; - static { - ASCII = Charset.forName("US-ASCII");; - } - public byte[] bytes; - - HTTPMethod(String name) { - // good grief, Charlie Brown, the following is necessary because - // java is retarded: - // illegal reference to static field from initializer - // this.bytes = name.getBytes(ASCII); - // yet it's not illegal to reference static fields from - // methods called from initializer. - init(name); - } - public static HTTPMethod parse(String s) { - if ("HTTP_DELETE".equalsIgnoreCase(s)) {return HTTP_DELETE;} - else if ("DELETE".equalsIgnoreCase(s)) {return HTTP_DELETE;} - else if ("HTTP_GET".equalsIgnoreCase(s)) {return HTTP_GET;} - else if ("GET".equalsIgnoreCase(s)) {return HTTP_GET;} - else if ("HTTP_HEAD".equalsIgnoreCase(s)) {return HTTP_HEAD;} - else if ("HEAD".equalsIgnoreCase(s)) {return HTTP_HEAD;} - else if ("HTTP_POST".equalsIgnoreCase(s)) {return HTTP_POST;} - else if ("POST".equalsIgnoreCase(s)) {return HTTP_POST;} - else if ("HTTP_PUT".equalsIgnoreCase(s)) {return HTTP_PUT;} - else if ("PUT".equalsIgnoreCase(s)) {return HTTP_PUT;} - else if ("HTTP_PATCH".equalsIgnoreCase(s)) {return HTTP_PATCH;} - else if ("PATCH".equalsIgnoreCase(s)) {return HTTP_PATCH;} - else if ("HTTP_CONNECT".equalsIgnoreCase(s)) {return HTTP_CONNECT;} - else if ("CONNECT".equalsIgnoreCase(s)) {return HTTP_CONNECT;} - else if ("HTTP_OPTIONS".equalsIgnoreCase(s)) {return HTTP_OPTIONS;} - else if ("OPTIONS".equalsIgnoreCase(s)) {return HTTP_OPTIONS;} - else if ("HTTP_TRACE".equalsIgnoreCase(s)) {return HTTP_TRACE;} - else if ("TRACE".equalsIgnoreCase(s)) {return HTTP_TRACE;} - else if ("HTTP_COPY".equalsIgnoreCase(s)) {return HTTP_COPY;} - else if ("COPY".equalsIgnoreCase(s)) {return HTTP_COPY;} - else if ("HTTP_LOCK".equalsIgnoreCase(s)) {return HTTP_LOCK;} - else if ("LOCK".equalsIgnoreCase(s)) {return HTTP_LOCK;} - else if ("HTTP_MKCOL".equalsIgnoreCase(s)) {return HTTP_MKCOL;} - else if ("MKCOL".equalsIgnoreCase(s)) {return HTTP_MKCOL;} - else if ("HTTP_MOVE".equalsIgnoreCase(s)) {return HTTP_MOVE;} - else if ("MOVE".equalsIgnoreCase(s)) {return HTTP_MOVE;} - else if ("HTTP_PROPFIND".equalsIgnoreCase(s)){return HTTP_PROPFIND;} - else if ("PROPFIND".equalsIgnoreCase(s)) {return HTTP_PROPFIND;} - else if ("HTTP_PROPPATCH".equalsIgnoreCase(s)){return HTTP_PROPPATCH;} - else if ("PROPPATCH".equalsIgnoreCase(s)) {return HTTP_PROPPATCH;} - else if ("HTTP_UNLOCK".equalsIgnoreCase(s)) {return HTTP_UNLOCK;} - else if ("UNLOCK".equalsIgnoreCase(s)) {return HTTP_UNLOCK;} - else if ("HTTP_REPORT".equalsIgnoreCase(s)) {return HTTP_REPORT;} - else if ("REPORT".equalsIgnoreCase(s)){return HTTP_REPORT;} - else if ("HTTP_MKACTIVITY".equalsIgnoreCase(s)) {return HTTP_MKACTIVITY;} - else if ("MKACTIVITY".equalsIgnoreCase(s)){return HTTP_MKACTIVITY;} - else if ("HTTP_CHECKOUT".equalsIgnoreCase(s)) {return HTTP_CHECKOUT;} - else if ("CHECKOUT".equalsIgnoreCase(s)){return HTTP_CHECKOUT;} - else if ("HTTP_MERGE".equalsIgnoreCase(s)) {return HTTP_MERGE;} - else if ("MERGE".equalsIgnoreCase(s)){return HTTP_MERGE;} - else if ("HTTP_MSEARCH".equalsIgnoreCase(s)) {return HTTP_MSEARCH;} - else if ("M-SEARCH".equalsIgnoreCase(s)) {return HTTP_MSEARCH;} - else if ("HTTP_NOTIFY".equalsIgnoreCase(s)) {return HTTP_NOTIFY;} - else if ("NOTIFY".equalsIgnoreCase(s)) {return HTTP_NOTIFY;} - else if ("HTTP_SUBSCRIBE".equalsIgnoreCase(s)) {return HTTP_SUBSCRIBE;} - else if ("SUBSCRIBE".equalsIgnoreCase(s)) {return HTTP_SUBSCRIBE;} - else if ("HTTP_UNSUBSCRIBE".equalsIgnoreCase(s)) {return HTTP_UNSUBSCRIBE;} - else if ("UNSUBSCRIBE".equalsIgnoreCase(s)) {return HTTP_UNSUBSCRIBE;} - else if ("PATCH".equalsIgnoreCase(s)) {return HTTP_PATCH;} - else if ("PURGE".equalsIgnoreCase(s)) {return HTTP_PURGE;} - else {return null;} - } - void init (String name) { - ASCII = null == ASCII ? Charset.forName("US-ASCII") : ASCII; - this.bytes = name.getBytes(ASCII); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java deleted file mode 100644 index 7ab4fb4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java +++ /dev/null @@ -1,36 +0,0 @@ -package http_parser; - -import java.nio.ByteBuffer; - -public class HTTPParser extends http_parser.lolevel.HTTPParser { - - public HTTPParser() { super(); } - public HTTPParser(ParserType type) { super(type); } - - public int getMajor() { - return super.http_major; - } - - public int getMinor() { - return super.http_minor; - } - - public int getStatusCode() { - return super.status_code; - } - - public HTTPMethod getHTTPMethod() { - return super.method; - } - - public boolean getUpgrade() { - return super.upgrade; - } - - public boolean shouldKeepAlive() { - return super.http_should_keep_alive(); - } - public void execute(ParserSettings settings, ByteBuffer data) { - this.execute(settings.getLoLevelSettings(), data); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java deleted file mode 100644 index d371634..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java +++ /dev/null @@ -1,76 +0,0 @@ -package http_parser; - -import http_parser.lolevel.*; -import http_parser.lolevel.HTTPParser; - -import java.io.UnsupportedEncodingException; -import java.nio.ByteBuffer; -import java.util.Arrays; - -/** - */ -public class HTTPParserUrl { - - public int field_set; - public int port; - - public FieldData[] field_data = new FieldData[]{ - new FieldData(0,0), - new FieldData(0,0), - new FieldData(0,0), - new FieldData(0,0), - new FieldData(0,0), - new FieldData(0,0) - }; //UF_MAX - - public HTTPParserUrl(){} - - public HTTPParserUrl(int field_set, int port, FieldData[] field_data){ - this.field_set = field_set; - this.port = port; - this.field_data = field_data; - } - - public String getFieldValue(HTTPParser.UrlFields field, ByteBuffer data) throws UnsupportedEncodingException { - FieldData fd = this.field_data[field.getIndex()]; - if(fd.off == 0 & fd.len == 0) return ""; - byte[] dst = new byte[fd.len]; - int current_pos = data.position(); - data.position(fd.off); - data.get(dst,0,fd.len); - data.position(current_pos); - String v = new String(dst, "UTF8"); - return v; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - HTTPParserUrl that = (HTTPParserUrl) o; - - if (field_set != that.field_set) return false; - if (port != that.port) return false; - if (!Arrays.equals(field_data, that.field_data)) return false; - - return true; - } - - @Override - public int hashCode() { - int result = field_set; - result = 31 * result + port; - result = 31 * result + Arrays.hashCode(field_data); - return result; - } - - @Override - public String toString() { - return "HTTPParserUrl{" + - "field_set=" + field_set + - ", port=" + port + - ", field_data=" + (field_data == null ? null : Arrays.asList(field_data)) + - '}'; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java deleted file mode 100644 index 9a5e6e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java +++ /dev/null @@ -1,256 +0,0 @@ -package http_parser; - - - -import primitive.collection.ByteList; - -public class ParserSettings extends http_parser.lolevel.ParserSettings { - - public HTTPCallback on_message_begin; - public HTTPDataCallback on_path; - public HTTPDataCallback on_query_string; - public HTTPDataCallback on_url; - public HTTPDataCallback on_fragment; - public HTTPCallback on_status_complete; - public HTTPDataCallback on_header_field; - public HTTPDataCallback on_header_value; - - public HTTPCallback on_headers_complete; - public HTTPDataCallback on_body; - public HTTPCallback on_message_complete; - - public HTTPErrorCallback on_error; - - private HTTPCallback _on_message_begin; - private HTTPDataCallback _on_path; - private HTTPDataCallback _on_query_string; - private HTTPDataCallback _on_url; - private HTTPDataCallback _on_fragment; - private HTTPCallback _on_status_complete; - private HTTPDataCallback _on_header_field; - private HTTPDataCallback _on_header_value; - private HTTPCallback _on_headers_complete; - private HTTPDataCallback _on_body; - private HTTPCallback _on_message_complete; - private HTTPErrorCallback _on_error; - - private http_parser.lolevel.ParserSettings settings; - - protected ByteList field = new ByteList(); - protected ByteList value = new ByteList(); - protected ByteList body = new ByteList(); - - public ParserSettings() { - this.settings = new http_parser.lolevel.ParserSettings(); - createMirrorCallbacks(); - attachCallbacks(); - } - - protected http_parser.lolevel.ParserSettings getLoLevelSettings() { - return this.settings; - } - - private void createMirrorCallbacks() { - this._on_message_begin = new HTTPCallback() { - public int cb(HTTPParser p) { - if (null != ParserSettings.this.on_message_begin) { - return ParserSettings.this.on_message_begin.cb(p); - } - return 0; - } - }; - this._on_path = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - if (null != ParserSettings.this.on_path) { - return ParserSettings.this.on_path.cb(p, by, pos, len); - } - return 0; - } - }; - this._on_query_string = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - if (null != ParserSettings.this.on_query_string) { - return ParserSettings.this.on_query_string.cb(p, by, pos, len); - } - return 0; - } - }; - this._on_url = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - if (null != ParserSettings.this.on_url) { - return ParserSettings.this.on_url.cb(p, by, pos, len); - } - return 0; - } - }; - this._on_fragment = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - if (null != ParserSettings.this.on_fragment) { - return ParserSettings.this.on_fragment.cb(p, by, pos, len); - } - return 0; - } - }; - this._on_status_complete = new HTTPCallback() { - @Override - public int cb(HTTPParser p) { - if (null != ParserSettings.this.on_status_complete) { - return ParserSettings.this.on_status_complete.cb(p); - } - return 0; - } - }; - this._on_error = new HTTPErrorCallback() { - @Override - public void cb(HTTPParser parser, String error) { - if (null != ParserSettings.this.on_error) { - ParserSettings.this.on_error.cb(parser, error); - } else { - throw new HTTPException(error); - } - - } - }; - - - -// (on_header_field and on_header_value shortened to on_h_*) -// ------------------------ ------------ -------------------------------------------- -// | State (prev. callback) | Callback | Description/action | -// ------------------------ ------------ -------------------------------------------- -// | nothing (first call) | on_h_field | Allocate new buffer and copy callback data | -// | | | into it | -// ------------------------ ------------ -------------------------------------------- -// | value | on_h_field | New header started. | -// | | | Copy current name,value buffers to headers | -// | | | list and allocate new buffer for new name | -// ------------------------ ------------ -------------------------------------------- -// | field | on_h_field | Previous name continues. Reallocate name | -// | | | buffer and append callback data to it | -// ------------------------ ------------ -------------------------------------------- -// | field | on_h_value | Value for current header started. Allocate | -// | | | new buffer and copy callback data to it | -// ------------------------ ------------ -------------------------------------------- -// | value | on_h_value | Value continues. Reallocate value buffer | -// | | | and append callback data to it | -// ------------------------ ------------ -------------------------------------------- - this._on_header_field = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - // previous value complete, call on_value with full value, reset value. - if (0 != ParserSettings.this.value.size()) { - // check we're even interested... - if (null != ParserSettings.this.on_header_value) { - byte [] valueArr = ParserSettings.this.value.toArray(); - int ret = ParserSettings.this.on_header_value.cb(p, valueArr, 0, valueArr.length); - if (0 != ret) { - return ret; - } - ParserSettings.this.value.clear(); - } - } - - if (null == ParserSettings.this.on_header_field) { - return 0; - } - - ParserSettings.this.field.addAll(by); - return 0; - } - }; - this._on_header_value = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - - // previous field complete, call on_field with full field value, reset field. - if (0 != ParserSettings.this.field.size()) { - // check we're even interested... - if (null != ParserSettings.this.on_header_field) { - byte [] fieldArr = ParserSettings.this.field.toArray(); - int ret = ParserSettings.this.on_header_field.cb(p, fieldArr, 0, fieldArr.length); - if (0 != ret) { - return ret; - } - ParserSettings.this.field.clear(); - } - } - - if (null == ParserSettings.this.on_header_value) { - return 0; - } - ParserSettings.this.value.addAll(by); - return 0; - } - }; - this._on_headers_complete = new HTTPCallback() { - @Override - public int cb(HTTPParser parser) { - // is there an uncompleted value ... ? - if (0 != ParserSettings.this.value.size()) { - // check we're even interested... - if (null != ParserSettings.this.on_header_value) { - byte [] valueArr = ParserSettings.this.value.toArray(); - int ret = ParserSettings.this.on_header_value.cb(parser, valueArr, 0, valueArr.length); - if (0 != ret) { - return ret; - } - ParserSettings.this.value.clear(); - } - } - if (null != ParserSettings.this.on_headers_complete) { - return ParserSettings.this.on_headers_complete.cb(parser); - } - return 0; - } - - }; - this._on_body = new HTTPDataCallback() { - @Override - public int cb(HTTPParser p, byte[] by, int pos, int len) { - if (null != ParserSettings.this.on_body) { - ParserSettings.this.body.addAll(by, pos, len); - } - return 0; - } - }; - - this._on_message_complete = new HTTPCallback() { - @Override - public int cb(HTTPParser parser) { - if (null != ParserSettings.this.on_body) { - byte [] body = ParserSettings.this.body.toArray(); - int ret = ParserSettings.this.on_body.cb(parser, body, 0, body.length); - if (0!=ret) { - return ret; - } - ParserSettings.this.body.clear(); - } - if (null != ParserSettings.this.on_message_complete) { - return ParserSettings.this.on_message_complete.cb(parser); - } - return 0; - } - }; - - } - - private void attachCallbacks() { - // these are certainly set, because we mirror them ... - this.settings.on_message_begin = this._on_message_begin; - this.settings.on_path = this._on_path; - this.settings.on_query_string = this._on_query_string; - this.settings.on_url = this._on_url; - this.settings.on_fragment = this._on_fragment; - this.settings.on_status_complete = this._on_status_complete; - this.settings.on_header_field = this._on_header_field; - this.settings.on_header_value = this._on_header_value; - this.settings.on_headers_complete = this._on_headers_complete; - this.settings.on_body = this._on_body; - this.settings.on_message_complete = this._on_message_complete; - this.settings.on_error = this._on_error; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java deleted file mode 100644 index a51f5b4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java +++ /dev/null @@ -1,13 +0,0 @@ -package http_parser; - -public enum ParserType { -HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH; - - public static ParserType parse(String s) { - if ("HTTP_REQUEST".equalsIgnoreCase(s)) { return HTTP_REQUEST; } - else if ("HTTP_RESPONSE".equalsIgnoreCase(s)) { return HTTP_RESPONSE; } - else if ("HTTP_BOTH".equalsIgnoreCase(s)) { return HTTP_BOTH; } - else { return null; } - } -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java deleted file mode 100644 index 575003a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java +++ /dev/null @@ -1,111 +0,0 @@ -package http_parser; - -import java.nio.ByteBuffer; - -public class Util { -// public static String toString(http_parser.lolevel.HTTPParser p) { -// StringBuilder builder = new StringBuilder(); -// -// // the stuff up to the break is ephermeral and only meaningful -// // while the parser is parsing. In general, this method is -// // probably only useful during debugging. -// -// builder.append("state :"); builder.append(p.state); builder.append("\n"); -// builder.append("header_state :"); builder.append(p.header_state); builder.append("\n"); -// builder.append("strict :"); builder.append(p.strict); builder.append("\n"); -// builder.append("index :"); builder.append(p.index); builder.append("\n"); -// builder.append("flags :"); builder.append(p.flags); builder.append("\n"); -// builder.append("nread :"); builder.append(p.nread); builder.append("\n"); -// builder.append("content_length :"); builder.append(p.content_length); builder.append("\n"); -// -// -// builder.append("type :"); builder.append(p.type); builder.append("\n"); -// builder.append("http_major :"); builder.append(p.http_major); builder.append("\n"); -// builder.append("http_minor :"); builder.append(p.http_minor); builder.append("\n"); -// builder.append("status_code :"); builder.append(p.status_code); builder.append("\n"); -// builder.append("method :"); builder.append(p.method); builder.append("\n"); -// builder.append("upgrade :"); builder.append(p.upgrade); builder.append("\n"); -// -// return builder.toString(); -// -// } - - public static String error (String mes, ByteBuffer b, int beginning) { - // the error message should look like this: - // - // Bla expected something, but it's not there (mes) - // GEt / HTTP 1_1 - // ............^. - // - // |----------------- 72 -------------------------| - - // This is ridiculously complicated and probably riddled with - // off-by-one errors, should be moved into high level interface. - // TODO. - - // also: need to keep track of the initial buffer position in - // execute so that we don't screw up any `mark()` that may have - // been set outside of our control to be nice. - - final int mes_width = 72; - int p = b.position(); // error position - int end = b.limit(); // this is the end - int m = end - beginning; // max mes length - - StringBuilder builder = new StringBuilder(); - int p_adj = p; - - byte [] orig = new byte[0]; - if (m <= mes_width) { - orig = new byte[m]; - b.position(beginning); - b.get(orig, 0, m); - p_adj = p-beginning; - - - } else { - // we'll need to trim bit off the beginning and/or end - orig = new byte[mes_width]; - // three possibilities: - // a.) plenty of stuff around p - // b.) plenty of stuff in front of p - // c.) plenty of stuff behind p - // CAN'T be not enough stuff aorund p in total, because - // m>meswidth (see if to this else) - - int before = p-beginning; - int after = end - p; - if ( (before > mes_width/2) && (after > mes_width/2)) { - // plenty of stuff in front of and behind error - p_adj = mes_width/2; - b.position(p - mes_width/2); - b.get(orig, 0, mes_width); - } else if (before <= mes_width/2) { - // take all of the begining. - b.position(beginning); - // and as much of the rest as possible - - b.get(orig, 0, mes_width); - - } else { - // plenty of stuff before - before = end-mes_width; - b.position(before); - p_adj = p - before; - b.get(orig, 0, mes_width); - } - } - - builder.append(new String(orig)); - builder.append("\n"); - for (int i = 0; i!= p_adj; ++i) { - builder.append("."); - } - builder.append("^"); - - - b.position(p); // restore position - return builder.toString(); - - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java deleted file mode 100644 index 95c29b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java +++ /dev/null @@ -1,5 +0,0 @@ -package http_parser.lolevel; - -public interface HTTPCallback { - public int cb (HTTPParser parser); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java deleted file mode 100644 index 6cad156..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java +++ /dev/null @@ -1,25 +0,0 @@ -package http_parser.lolevel; - -import java.nio.ByteBuffer; - -public interface HTTPDataCallback { - /* - very raw and extremly foolhardy! DANGER! - The whole Buffer concept is difficult enough to grasp as it is, - we pass in a buffer with an arbitrary position. - - The interesting data is located at position pos and is len - bytes long. - - The contract of this callback is that the buffer is - returned in the state that it was passed in, so implementing - this require good citizenship, you'll need to remember the current - position, change the position to get at the data you're interested - in and then set the position back to how you found it... - - //TODO: there should be an abstract implementation that implements - cb as described above, marks it final an provides a new callback - with signature cb(byte[], int, int) - */ - public int cb(HTTPParser p, ByteBuffer buf, int pos, int len); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java deleted file mode 100644 index d38d9d4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java +++ /dev/null @@ -1,7 +0,0 @@ -package http_parser.lolevel; - -import java.nio.ByteBuffer; - -public interface HTTPErrorCallback { - public void cb (HTTPParser parser, String mes, ByteBuffer buf, int initial_position); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java deleted file mode 100644 index 42022ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java +++ /dev/null @@ -1,2161 +0,0 @@ -package http_parser.lolevel; - -import java.nio.ByteBuffer; -import http_parser.HTTPException; -import http_parser.HTTPMethod; -import http_parser.HTTPParserUrl; -import http_parser.ParserType; -import static http_parser.lolevel.HTTPParser.C.*; -import static http_parser.lolevel.HTTPParser.State.*; - -public class HTTPParser { - /* lots of unsigned chars here, not sure what - to about them, `bytes` in java suck... */ - - ParserType type; - State state; - HState header_state; - boolean strict; - - int index; - int flags; // TODO - - int nread; - long content_length; - - int p_start; // updated each call to execute to indicate where the buffer was before we began calling it. - - /** READ-ONLY **/ - public int http_major; - public int http_minor; - public int status_code; /* responses only */ - public HTTPMethod method; /* requests only */ - - /* true = Upgrade header was present and the parser has exited because of that. - * false = No upgrade header present. - * Should be checked when http_parser_execute() returns in addition to - * error checking. - */ - public boolean upgrade; - - /** PUBLIC **/ - // TODO : this is used in c to maintain application state. - // is this even necessary? we have state in java ? - // consider - // Object data; /* A pointer to get hook to the "connection" or "socket" object */ - - - /* - * technically we could combine all of these (except for url_mark) into one - * variable, saving stack space, but it seems more clear to have them - * separated. - */ - int header_field_mark = -1; - int header_value_mark = -1; - int url_mark = -1; - int body_mark = -1; - - /** - * Construct a Parser for ParserType.HTTP_BOTH, meaning it - * determines whether it's parsing a request or a response. - */ - public HTTPParser() { - this(ParserType.HTTP_BOTH); - } - - /** - * Construct a Parser and initialise it to parse either - * requests or responses. - */ - public HTTPParser(ParserType type) { - this.type = type; - switch(type) { - case HTTP_REQUEST: - this.state = State.start_req; - break; - case HTTP_RESPONSE: - this.state = State.start_res; - break; - case HTTP_BOTH: - this.state = State.start_req_or_res; - break; - default: - throw new HTTPException("can't happen, invalid ParserType enum"); - } - } - - /* - * Utility to facilitate System.out.println style debugging (the way god intended) - */ - static void p(Object o) {System.out.println(o);} - - /** Comment from C version follows - * - * Our URL parser. - * - * This is designed to be shared by http_parser_execute() for URL validation, - * hence it has a state transition + byte-for-byte interface. In addition, it - * is meant to be embedded in http_parser_parse_url(), which does the dirty - * work of turning state transitions URL components for its API. - * - * This function should only be invoked with non-space characters. It is - * assumed that the caller cares about (and can detect) the transition between - * URL and non-URL states by looking for these. - */ - public State parse_url_char(byte ch) { - - int chi = ch & 0xff; // utility, ch without signedness for table lookups. - - if(SPACE == ch){ - throw new HTTPException("space as url char"); - } - - switch(state) { - case req_spaces_before_url: - /* Proxied requests are followed by scheme of an absolute URI (alpha). - * All methods except CONNECT are followed by '/' or '*'. - */ - if(SLASH == ch || STAR == ch){ - return req_path; - } - if(isAtoZ(ch)){ - return req_schema; - } - break; - case req_schema: - if(isAtoZ(ch)){ - return req_schema; - } - if(COLON == ch){ - return req_schema_slash; - } - break; - case req_schema_slash: - if(SLASH == ch){ - return req_schema_slash_slash; - } - break; - case req_schema_slash_slash: - if(SLASH == ch){ - return req_host_start; - } - break; - case req_host_start: - if (ch == (byte)'[') { - return req_host_v6_start; - } - if (isHostChar(ch)) { - return req_host; - } - break; - - case req_host: - if (isHostChar(ch)) { - return req_host; - } - - /* FALLTHROUGH */ - case req_host_v6_end: - switch (ch) { - case ':': - return req_port_start; - case '/': - return req_path; - case '?': - return req_query_string_start; - } - break; - - case req_host_v6: - if (ch == ']') { - return req_host_v6_end; - } - - /* FALLTHROUGH */ - case req_host_v6_start: - if (isHex(ch) || ch == ':') { - return req_host_v6; - } - break; - - case req_port: - switch (ch) { - case '/': - return req_path; - case '?': - return req_query_string_start; - } - - /* FALLTHROUGH */ - case req_port_start: - if (isDigit(ch)) { - return req_port; - } - break; - - case req_path: - if (isNormalUrlChar(chi)) { - return req_path; - } - switch (ch) { - case '?': - return req_query_string_start; - case '#': - return req_fragment_start; - } - - break; - - case req_query_string_start: - case req_query_string: - if (isNormalUrlChar(chi)) { - return req_query_string; - } - - switch (ch) { - case '?': - /* allow extra '?' in query string */ - return req_query_string; - - case '#': - return req_fragment_start; - } - - break; - - case req_fragment_start: - if (isNormalUrlChar(chi)) { - return req_fragment; - } - switch (ch) { - case '?': - return req_fragment; - - case '#': - return req_fragment_start; - } - break; - - case req_fragment: - if (isNormalUrlChar(ch)) { - return req_fragment; - } - - switch (ch) { - case '?': - case '#': - return req_fragment; - } - - break; - default: - break; - } - - /* We should never fall out of the switch above unless there's an error */ - return dead; - } - - /** Execute the parser with the currently available data contained in - * the buffer. The buffers position() and limit() need to be set - * correctly (obviously) and a will be updated approriately when the - * method returns to reflect the consumed data. - */ - public int execute(ParserSettings settings, ByteBuffer data) { - - int p = data.position(); - this.p_start = p; // this is used for pretty printing errors. - // and returning the amount of processed bytes. - - - // In case the headers don't provide information about the content - // length, `execute` needs to be called with an empty buffer to - // indicate that all the data has been send be the client/server, - // else there is no way of knowing the message is complete. - int len = (data.limit() - data.position()); - if (0 == len) { -// if (State.body_identity_eof == state) { -// settings.call_on_message_complete(this); -// } - switch (state) { - case body_identity_eof: - settings.call_on_message_complete(this); - return data.position() - this.p_start; - - case dead: - case start_req_or_res: - case start_res: - case start_req: - return data.position() - this.p_start; - - default: - // should we really consider this an error!? - throw new HTTPException("empty bytes! "+state); // error - } - } - - - // in case the _previous_ call to the parser only has data to get to - // the middle of certain fields, we need to update marks to point at - // the beginning of the current buffer. - switch (state) { - case header_field: - header_field_mark = p; - break; - case header_value: - header_value_mark = p; - break; - case req_path: - case req_schema: - case req_schema_slash: - case req_schema_slash_slash: - case req_host_start: - case req_host_v6_start: - case req_host_v6: - case req_host_v6_end: - case req_host: - case req_port_start: - case req_port: - case req_query_string_start: - case req_query_string: - case req_fragment_start: - case req_fragment: - url_mark = p; - break; - } - boolean reexecute = false; - int pe = 0; - byte ch = 0; - int chi = 0; - byte c = -1; - int to_read = 0; - - // this is where the work gets done, traverse the available data... - while (data.position() != data.limit() || reexecute) { -// p(state + ": r: " + reexecute + " :: " +p ); - - if(!reexecute){ - p = data.position(); - pe = data.limit(); - ch = data.get(); // the current character to process. - chi = ch & 0xff; // utility, ch without signedness for table lookups. - c = -1; // utility variably used for up- and downcasing etc. - to_read = 0; // used to keep track of how much of body, etc. is left to read - - if (parsing_header(state)) { - ++nread; - if (nread > HTTP_MAX_HEADER_SIZE) { - return error(settings, "possible buffer overflow", data); - } - } - } - reexecute = false; -// p(state + " ::: " + ch + " : " + (((CR == ch) || (LF == ch)) ? ch : ("'" + (char)ch + "'")) +": "+p ); - - switch (state) { - /* - * this state is used after a 'Connection: close' message - * the parser will error out if it reads another message - */ - case dead: - if (CR == ch || LF == ch){ - break; - } - return error(settings, "Connection already closed", data); - - - - case start_req_or_res: - if (CR == ch || LF == ch){ - break; - } - flags = 0; - content_length = -1; - - if (H == ch) { - state = State.res_or_resp_H; - } else { - type = ParserType.HTTP_REQUEST; - method = start_req_method_assign(ch); - if (null == method) { - return error(settings, "invalid method", data); - } - index = 1; - state = State.req_method; - } - settings.call_on_message_begin(this); - break; - - - - case res_or_resp_H: - if (T == ch) { - type = ParserType.HTTP_RESPONSE; - state = State.res_HT; - } else { - if (E != ch) { - return error(settings, "not E", data); - } - type = ParserType.HTTP_REQUEST; - method = HTTPMethod.HTTP_HEAD; - index = 2; - state = State.req_method; - } - break; - - - - case start_res: - flags = 0; - content_length = -1; - - switch(ch) { - case H: - state = State.res_H; - break; - case CR: - case LF: - break; - default: - return error(settings, "Not H or CR/LF", data); - } - - settings.call_on_message_begin(this); - break; - - - - case res_H: - if (strict && T != ch) { - return error(settings, "Not T", data); - } - state = State.res_HT; - break; - case res_HT: - if (strict && T != ch) { -return error(settings, "Not T2", data); - } - state = State.res_HTT; - break; - case res_HTT: - if (strict && P != ch) { -return error(settings, "Not P", data); - } - state = State.res_HTTP; - break; - case res_HTTP: - if (strict && SLASH != ch) { -return error(settings, "Not '/'", data); - } - state = State.res_first_http_major; - break; - - - - case res_first_http_major: - if (!isDigit(ch)) { -return error(settings, "Not a digit", data); - } - http_major = (int) ch - 0x30; - state = State.res_http_major; - break; - - /* major HTTP version or dot */ - case res_http_major: - if (DOT == ch) { - state = State.res_first_http_minor; - break; - } - if (!isDigit(ch)) { -return error(settings, "Not a digit", data); - } - http_major *= 10; - http_major += (ch - 0x30); - - if (http_major > 999) { -return error(settings, "invalid http major version: ", data); - } - break; - - /* first digit of minor HTTP version */ - case res_first_http_minor: - if (!isDigit(ch)) { -return error(settings, "Not a digit", data); - } - http_minor = (int)ch - 0x30; - state = State.res_http_minor; - break; - - /* minor HTTP version or end of request line */ - case res_http_minor: - if (SPACE == ch) { - state = State.res_first_status_code; - break; - } - if (!isDigit(ch)) { -return error(settings, "Not a digit", data); - } - http_minor *= 10; - http_minor += (ch - 0x30); - if (http_minor > 999) { -return error(settings, "invalid http minor version: ", data); - } - break; - - - - case res_first_status_code: - if (!isDigit(ch)) { - if (SPACE == ch) { - break; - } -return error(settings, "Not a digit (status code)", data); - } - status_code = (int)ch - 0x30; - state = State.res_status_code; - break; - - case res_status_code: - if (!isDigit(ch)) { - switch(ch) { - case SPACE: - state = State.res_status; - break; - case CR: - state = State.res_line_almost_done; - break; - case LF: - state = State.header_field_start; - break; - default: -return error(settings, "not a valid status code", data); - } - break; - } - status_code *= 10; - status_code += (int)ch - 0x30; - if (status_code > 999) { -return error(settings, "ridiculous status code:", data); - } - - if (status_code > 99) { - settings.call_on_status_complete(this); - } - break; - - case res_status: - /* the human readable status. e.g. "NOT FOUND" - * we are not humans so just ignore this - * we are not men, we are devo. */ - - if (CR == ch) { - state = State.res_line_almost_done; - break; - } - if (LF == ch) { - state = State.header_field_start; - break; - } - break; - - case res_line_almost_done: - if (strict && LF != ch) { -return error(settings, "not LF", data); - } - state = State.header_field_start; - break; - - - - case start_req: - if (CR==ch || LF == ch) { - break; - } - flags = 0; - content_length = -1; - - if(!isAtoZ(ch)){ - return error(settings, "invalid method", data); - } - - method = start_req_method_assign(ch); - if (null == method) { - return error(settings, "invalid method", data); - } - index = 1; - state = State.req_method; - - settings.call_on_message_begin(this); - break; - - - - case req_method: - if (0 == ch) { - return error(settings, "NULL in method", data); - } - - byte [] arr = method.bytes; - - if (SPACE == ch && index == arr.length) { - state = State.req_spaces_before_url; - } else if (arr[index] == ch) { - // wuhu! - } else if (HTTPMethod.HTTP_CONNECT == method) { - if (1 == index && H == ch) { - method = HTTPMethod.HTTP_CHECKOUT; - } else if (2 == index && P == ch) { - method = HTTPMethod.HTTP_COPY; - } - } else if (HTTPMethod.HTTP_MKCOL == method) { - if (1 == index && O == ch) { - method = HTTPMethod.HTTP_MOVE; - } else if (1 == index && E == ch) { - method = HTTPMethod.HTTP_MERGE; - } else if (1 == index && DASH == ch) { /* M-SEARCH */ - method = HTTPMethod.HTTP_MSEARCH; - } else if (2 == index && A == ch) { - method = HTTPMethod.HTTP_MKACTIVITY; - } - } else if (1 == index && HTTPMethod.HTTP_POST == method) { - if(R == ch) { - method = HTTPMethod.HTTP_PROPFIND; /* or HTTP_PROPPATCH */ - }else if(U == ch){ - method = HTTPMethod.HTTP_PUT; /* or HTTP_PURGE */ - }else if(A == ch){ - method = HTTPMethod.HTTP_PATCH; - } - } else if (2 == index) { - if(HTTPMethod.HTTP_PUT == method) { - if(R == ch){ - method = HTTPMethod.HTTP_PURGE; - } - }else if(HTTPMethod.HTTP_UNLOCK == method){ - if(S == ch){ - method = HTTPMethod.HTTP_UNSUBSCRIBE; - } - } - }else if(4 == index && HTTPMethod.HTTP_PROPFIND == method && P == ch){ - method = HTTPMethod.HTTP_PROPPATCH; - } else { - return error(settings, "Invalid HTTP method", data); - } - - ++index; - break; - - - - /******************* URL *******************/ - case req_spaces_before_url: - if (SPACE == ch) { - break; - } - url_mark = p; - if(HTTPMethod.HTTP_CONNECT == method){ - state = req_host_start; - } - - state = parse_url_char(ch); - if(state == dead){ - return error(settings, "Invalid something", data); - } - break; - - - case req_schema: - case req_schema_slash: - case req_schema_slash_slash: - case req_host_start: - case req_host_v6_start: - case req_host_v6: - case req_port_start: - switch (ch) { - /* No whitespace allowed here */ - case SPACE: - case CR: - case LF: - return error(settings, "unexpected char in path", data); - default: - state = parse_url_char(ch); - if(dead == state){ - return error(settings, "unexpected char in path", data); - } - } - break; - - case req_host: - case req_host_v6_end: - case req_port: - case req_path: - case req_query_string_start: - case req_query_string: - case req_fragment_start: - case req_fragment: - switch (ch) { - case SPACE: - settings.call_on_url(this, data, url_mark, p-url_mark); - settings.call_on_path(this, data, url_mark, p - url_mark); - url_mark = -1; - state = State.req_http_start; - break; - case CR: - case LF: - http_major = 0; - http_minor = 9; - state = (CR == ch) ? req_line_almost_done : header_field_start; - settings.call_on_url(this, data, url_mark, p-url_mark); //TODO check params!!! - settings.call_on_path(this, data, url_mark, p-url_mark); - url_mark = -1; - break; - default: - state = parse_url_char(ch); - if(dead == state){ - return error(settings, "unexpected char in path", data); - } - } - break; - /******************* URL *******************/ - - - - /******************* HTTP 1.1 *******************/ - case req_http_start: - switch (ch) { - case H: - state = State.req_http_H; - break; - case SPACE: - break; - default: - return error(settings, "error in req_http_H", data); - } - break; - - case req_http_H: - if (strict && T != ch) { - return error(settings, "unexpected char", data); - } - state = State.req_http_HT; - break; - - case req_http_HT: - if (strict && T != ch) { - return error(settings, "unexpected char", data); - } - state = State.req_http_HTT; - break; - - case req_http_HTT: - if (strict && P != ch) { - return error(settings, "unexpected char", data); - } - state = State.req_http_HTTP; - break; - - case req_http_HTTP: - if (strict && SLASH != ch) { - return error(settings, "unexpected char", data); - } - state = req_first_http_major; - break; - - /* first digit of major HTTP version */ - case req_first_http_major: - if (!isDigit(ch)) { -return error(settings, "non digit in http major", data); - } - http_major = (int)ch - 0x30; - state = State.req_http_major; - break; - - /* major HTTP version or dot */ - case req_http_major: - if (DOT == ch) { - state = State.req_first_http_minor; - break; - } - - if (!isDigit(ch)) { -return error(settings, "non digit in http major", data); - } - - http_major *= 10; - http_major += (int)ch - 0x30; - - if (http_major > 999) { -return error(settings, "ridiculous http major", data); - }; - break; - - /* first digit of minor HTTP version */ - case req_first_http_minor: - if (!isDigit(ch)) { -return error(settings, "non digit in http minor", data); - } - http_minor = (int)ch - 0x30; - state = State.req_http_minor; - break; - - case req_http_minor: - if (ch == CR) { - state = State.req_line_almost_done; - break; - } - - if (ch == LF) { - state = State.header_field_start; - break; - } - - /* XXX allow spaces after digit? */ - - if (!isDigit(ch)) { -return error(settings, "non digit in http minor", data); - } - - http_minor *= 10; - http_minor += (int)ch - 0x30; - - - if (http_minor > 999) { -return error(settings, "ridiculous http minor", data); - }; - - break; - - /* end of request line */ - case req_line_almost_done: - { - if (ch != LF) { -return error(settings, "missing LF after request line", data); - } - state = header_field_start; - break; - } - - /******************* HTTP 1.1 *******************/ - - - - /******************* Header *******************/ - case header_field_start: - { - if (ch == CR) { - state = headers_almost_done; - break; - } - - if (ch == LF) { - /* they might be just sending \n instead of \r\n so this would be - * the second \n to denote the end of headers*/ - state = State.headers_almost_done; - reexecute = true; - break; - } - - c = token(ch); - - if (0 == c) { - return error(settings, "invalid char in header:", data); - } - - header_field_mark = p; - - index = 0; - state = State.header_field; - - switch (c) { - case C: - header_state = HState.C; - break; - - case P: - header_state = HState.matching_proxy_connection; - break; - - case T: - header_state = HState.matching_transfer_encoding; - break; - - case U: - header_state = HState.matching_upgrade; - break; - - default: - header_state = HState.general; - break; - } - break; - } - - - - case header_field: - { - c = token(ch); - if (0 != c) { - switch (header_state) { - case general: - break; - - case C: - index++; - header_state = (O == c ? HState.CO : HState.general); - break; - - case CO: - index++; - header_state = (N == c ? HState.CON : HState.general); - break; - - case CON: - index++; - switch (c) { - case N: - header_state = HState.matching_connection; - break; - case T: - header_state = HState.matching_content_length; - break; - default: - header_state = HState.general; - break; - } - break; - - /* connection */ - - case matching_connection: - index++; - if (index > CONNECTION.length || c != CONNECTION[index]) { - header_state = HState.general; - } else if (index == CONNECTION.length-1) { - header_state = HState.connection; - } - break; - - /* proxy-connection */ - - case matching_proxy_connection: - index++; - if (index > PROXY_CONNECTION.length || c != PROXY_CONNECTION[index]) { - header_state = HState.general; - } else if (index == PROXY_CONNECTION.length-1) { - header_state = HState.connection; - } - break; - - /* content-length */ - - case matching_content_length: - index++; - if (index > CONTENT_LENGTH.length || c != CONTENT_LENGTH[index]) { - header_state = HState.general; - } else if (index == CONTENT_LENGTH.length-1) { - header_state = HState.content_length; - } - break; - - /* transfer-encoding */ - - case matching_transfer_encoding: - index++; - if (index > TRANSFER_ENCODING.length || c != TRANSFER_ENCODING[index]) { - header_state = HState.general; - } else if (index == TRANSFER_ENCODING.length-1) { - header_state = HState.transfer_encoding; - } - break; - - /* upgrade */ - - case matching_upgrade: - index++; - if (index > UPGRADE.length || c != UPGRADE[index]) { - header_state = HState.general; - } else if (index == UPGRADE.length-1) { - header_state = HState.upgrade; - } - break; - - case connection: - case content_length: - case transfer_encoding: - case upgrade: - if (SPACE != ch) header_state = HState.general; - break; - - default: -return error(settings, "Unknown Header State", data); - } // switch: header_state - break; - } // 0 != c - - if (COLON == ch) { - settings.call_on_header_field(this, data, header_field_mark, p-header_field_mark); - header_field_mark = -1; - - state = State.header_value_start; - break; - } - - if (CR == ch) { - state = State.header_almost_done; - settings.call_on_header_field(this, data, header_field_mark, p-header_field_mark); - - header_field_mark = -1; - break; - } - - if (ch == LF) { - settings.call_on_header_field(this, data, header_field_mark, p-header_field_mark); - header_field_mark = -1; - - state = State.header_field_start; - break; - } - -return error(settings, "invalid header field", data); - } - - - - case header_value_start: - { - if ((SPACE == ch) || (TAB == ch)) break; - - header_value_mark = p; - - state = State.header_value; - index = 0; - - - if (CR == ch) { - settings.call_on_header_value(this, data, header_value_mark, p-header_value_mark); - header_value_mark = -1; - - header_state = HState.general; - state = State.header_almost_done; - break; - } - - if (LF == ch) { - settings.call_on_header_value(this, data, header_value_mark, p-header_value_mark); - header_value_mark = -1; - - state = State.header_field_start; - break; - } - - - c = upper(ch); - - switch (header_state) { - case upgrade: - flags |= F_UPGRADE; - header_state = HState.general; - break; - - case transfer_encoding: - /* looking for 'Transfer-Encoding: chunked' */ - if (C == c) { - header_state = HState.matching_transfer_encoding_chunked; - } else { - header_state = HState.general; - } - break; - - case content_length: - if (!isDigit(ch)) { -return error(settings, "Content-Length not numeric", data); - } - content_length = (int)ch - 0x30; - break; - - case connection: - /* looking for 'Connection: keep-alive' */ - if (K == c) { - header_state = HState.matching_connection_keep_alive; - /* looking for 'Connection: close' */ - } else if (C == c) { - header_state = HState.matching_connection_close; - } else { - header_state = HState.general; - } - break; - - default: - header_state = HState.general; - break; - } - break; - } // header value start - - - - case header_value: - { - - if (CR == ch) { - settings.call_on_header_value(this, data, header_value_mark, p-header_value_mark); - header_value_mark = -1; - - state = State.header_almost_done; - break; - } - - if (LF == ch) { - settings.call_on_header_value(this, data, header_value_mark, p-header_value_mark); - header_value_mark = -1; - state = header_almost_done; - reexecute = true; - break; - } - - c = upper(ch); - switch (header_state) { - case general: - break; - - case connection: - case transfer_encoding: -return error(settings, "Shouldn't be here", data); - - case content_length: - if (SPACE == ch) { - break; - } - if (!isDigit(ch)) { -return error(settings, "Content-Length not numeric", data); - } - - long t = content_length; - t *= 10; - t += (long)ch - 0x30; - - /* Overflow? */ - // t will wrap and become negative ... - if (t < content_length) { - return error(settings, "Invalid content length", data); - } - content_length = t; - break; - - /* Transfer-Encoding: chunked */ - case matching_transfer_encoding_chunked: - index++; - if (index > CHUNKED.length || c != CHUNKED[index]) { - header_state = HState.general; - } else if (index == CHUNKED.length-1) { - header_state = HState.transfer_encoding_chunked; - } - break; - - /* looking for 'Connection: keep-alive' */ - case matching_connection_keep_alive: - index++; - if (index > KEEP_ALIVE.length || c != KEEP_ALIVE[index]) { - header_state = HState.general; - } else if (index == KEEP_ALIVE.length-1) { - header_state = HState.connection_keep_alive; - } - break; - - /* looking for 'Connection: close' */ - case matching_connection_close: - index++; - if (index > CLOSE.length || c != CLOSE[index]) { - header_state = HState.general; - } else if (index == CLOSE.length-1) { - header_state = HState.connection_close; - } - break; - - case transfer_encoding_chunked: - case connection_keep_alive: - case connection_close: - if (SPACE != ch) header_state = HState.general; - break; - - default: - state = State.header_value; - header_state = HState.general; - break; - } - break; - } // header_value - - - - case header_almost_done: - if (!header_almost_done(ch)) { - return error(settings, "incorrect header ending, expecting LF", data); - } - break; - - case header_value_lws: - if (SPACE == ch || TAB == ch ){ - state = header_value_start; - } else { - state = header_field_start; - reexecute = true; - } - break; - - case headers_almost_done: - if (LF != ch) { - return error(settings, "header not properly completed", data); - } - if (0 != (flags & F_TRAILING)) { - /* End of a chunked request */ - state = new_message(); - settings.call_on_headers_complete(this); - settings.call_on_message_complete(this); - break; - } - - state = headers_done; - - if (0 != (flags & F_UPGRADE) || HTTPMethod.HTTP_CONNECT == method) { - upgrade = true; - } - - /* Here we call the headers_complete callback. This is somewhat - * different than other callbacks because if the user returns 1, we - * will interpret that as saying that this message has no body. This - * is needed for the annoying case of recieving a response to a HEAD - * request. - */ - - /* (responses to HEAD request contain a CONTENT-LENGTH header - * but no content) - * - * Consider what to do here: I don't like the idea of the callback - * interface having a different contract in the case of HEAD - * responses. The alternatives would be either to: - * - * a.) require the header_complete callback to implement a different - * interface or - * - * b.) provide an overridden execute(bla, bla, boolean - * parsingHeader) implementation ... - */ - - /*TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO */ - if (null != settings.on_headers_complete) { - settings.call_on_headers_complete(this); - //return; - } - - // if (null != settings.on_headers_complete) { - // switch (settings.on_headers_complete.cb(parser)) { - // case 0: - // break; - // - // case 1: - // flags |= F_SKIPBODY; - // break; - // - // default: - // return p - data; /* Error */ // TODO // RuntimeException ? - // } - // } - reexecute = true; - break; - - case headers_done: - if (strict && (LF != ch)) { - return error(settings, "STRICT CHECK", data); //TODO correct error msg - } - - nread = 0; - - // Exit, the rest of the connect is in a different protocol. - if (upgrade) { - state = new_message(); - settings.call_on_message_complete(this); - return data.position()-this.p_start; - } - - if (0 != (flags & F_SKIPBODY)) { - state = new_message(); - settings.call_on_message_complete(this); - } else if (0 != (flags & F_CHUNKED)) { - /* chunked encoding - ignore Content-Length header */ - state = State.chunk_size_start; - } else { - if (content_length == 0) { - /* Content-Length header given but zero: Content-Length: 0\r\n */ - state = new_message(); - settings.call_on_message_complete(this); - } else if (content_length != -1) { - /* Content-Length header given and non-zero */ - state = State.body_identity; - } else { - if (type == ParserType.HTTP_REQUEST || !http_message_needs_eof()) { - /* Assume content-length 0 - read the next */ - state = new_message(); - settings.call_on_message_complete(this); - } else { - /* Read body until EOF */ - state = State.body_identity_eof; - } - } - } - - break; - /******************* Header *******************/ - - - - - /******************* Body *******************/ - case body_identity: - to_read = min(pe - p, content_length); //TODO change to use buffer? - body_mark = p; - - if (to_read > 0) { - settings.call_on_body(this, data, p, to_read); - data.position(p+to_read); - content_length -= to_read; - - if (content_length == 0) { - state = message_done; - reexecute = true; - } - } - break; - - - - case body_identity_eof: - to_read = pe - p; // TODO change to use buffer ? - if (to_read > 0) { - settings.call_on_body(this, data, p, to_read); - data.position(p+to_read); - } - break; - - case message_done: - state = new_message(); - settings.call_on_message_complete(this); - break; - /******************* Body *******************/ - - - - /******************* Chunk *******************/ - case chunk_size_start: - if (1 != this.nread) { -return error(settings, "nread != 1 (chunking)", data); - - } - if (0 == (flags & F_CHUNKED)) { -return error(settings, "not chunked", data); - } - - c = UNHEX[chi]; - if (c == -1) { -return error(settings, "invalid hex char in chunk content length", data); - } - content_length = c; - state = State.chunk_size; - break; - - - - case chunk_size: - if (0 == (flags & F_CHUNKED)) { - return error(settings, "not chunked", data); - } - - if (CR == ch) { - state = State.chunk_size_almost_done; - break; - } - - c = UNHEX[chi]; - - if (c == -1) { - if (SEMI == ch || SPACE == ch) { - state = State.chunk_parameters; - break; - } - return error(settings, "invalid hex char in chunk content length", data); - } - long t = content_length; - - t *= 16; - t += c; - if(t < content_length){ - return error(settings, "invalid content length", data); - } - content_length = t; - break; - - - - case chunk_parameters: - if (0 == (flags & F_CHUNKED)) { -return error(settings, "not chunked", data); - } - /* just ignore this shit. TODO check for overflow */ - if (CR == ch) { - state = State.chunk_size_almost_done; - break; - } - break; - - - - case chunk_size_almost_done: - if (0 == (flags & F_CHUNKED)) { -return error(settings, "not chunked", data); - } - if (strict && LF != ch) { -return error(settings, "expected LF at end of chunk size", data); - } - - this.nread = 0; - - if (0 == content_length) { - flags |= F_TRAILING; - state = State.header_field_start; - } else { - state = State.chunk_data; - } - break; - - - - case chunk_data: - //TODO Apply changes from C version for s_chunk_data - if (0 == (flags & F_CHUNKED)) { - return error(settings, "not chunked", data); - } - - to_read = min(pe-p, content_length); - if (to_read > 0) { - settings.call_on_body(this, data, p, to_read); - data.position(p+to_read); - } - - if (to_read == content_length) { - state = State.chunk_data_almost_done; - } - - content_length -= to_read; - break; - - - - case chunk_data_almost_done: - if (0 == (flags & F_CHUNKED)) { -return error(settings, "not chunked", data); - } - if (strict && CR != ch) { -return error(settings, "chunk data terminated incorrectly, expected CR", data); - } - state = State.chunk_data_done; - //TODO CALLBACK_DATA(body) - // settings.call_on_body(this, data,p,?); - break; - - - - case chunk_data_done: - if (0 == (flags & F_CHUNKED)) { -return error(settings, "not chunked", data); - } - if (strict && LF != ch) { -return error(settings, "chunk data terminated incorrectly, expected LF", data); - } - state = State.chunk_size_start; - break; - /******************* Chunk *******************/ - - - - default: -return error(settings, "unhandled state", data); - - } // switch - } // while - - p = data.position(); - - - /* Reaching this point assumes that we only received part of a - * message, inform the callbacks about the progress made so far*/ - - settings.call_on_header_field(this, data, header_field_mark, p-header_field_mark); - settings.call_on_header_value(this, data, header_value_mark, p-header_value_mark); - settings.call_on_url (this, data, url_mark, p-url_mark); - settings.call_on_path (this, data, url_mark, p-url_mark); - - return data.position()-this.p_start; - } // execute - - int error (ParserSettings settings, String mes, ByteBuffer data) { - settings.call_on_error(this, mes, data, this.p_start); - this.state = State.dead; - return data.position()-this.p_start; - } - - public boolean http_message_needs_eof() { - if(type == ParserType.HTTP_REQUEST){ - return false; - } - /* See RFC 2616 section 4.4 */ - if ((status_code / 100 == 1) || /* 1xx e.g. Continue */ - (status_code == 204) || /* No Content */ - (status_code == 304) || /* Not Modified */ - (flags & F_SKIPBODY) != 0) { /* response to a HEAD request */ - return false; - } - if ((flags & F_CHUNKED) != 0 || content_length != -1) { - return false; - } - - return true; - } - - /* If http_should_keep_alive() in the on_headers_complete or - * on_message_complete callback returns true, then this will be should be - * the last message on the connection. - * If you are the server, respond with the "Connection: close" header. - * If you are the client, close the connection. - */ - public boolean http_should_keep_alive() { - if (http_major > 0 && http_minor > 0) { - /* HTTP/1.1 */ - if ( 0 != (flags & F_CONNECTION_CLOSE) ) { - return false; - } - } else { - /* HTTP/1.0 or earlier */ - if ( 0 == (flags & F_CONNECTION_KEEP_ALIVE) ) { - return false; - } - } - return !http_message_needs_eof(); - } - - public int parse_url(ByteBuffer data, boolean is_connect, HTTPParserUrl u) { - - UrlFields uf = UrlFields.UF_MAX; - UrlFields old_uf = UrlFields.UF_MAX; - u.port = 0; - u.field_set = 0; - state = (is_connect ? State.req_host_start : State.req_spaces_before_url); - int p_init = data.position(); - int p = 0; - byte ch = 0; - while (data.position() != data.limit()) { - p = data.position(); - ch = data.get(); - state = parse_url_char(ch); - switch(state) { - case dead: - return 1; - - /* Skip delimeters */ - case req_schema_slash: - case req_schema_slash_slash: - case req_host_start: - case req_host_v6_start: - case req_host_v6_end: - case req_port_start: - case req_query_string_start: - case req_fragment_start: - continue; - - case req_schema: - uf = UrlFields.UF_SCHEMA; - break; - - case req_host: - case req_host_v6: - uf = UrlFields.UF_HOST; - break; - - case req_port: - uf = UrlFields.UF_PORT; - break; - - case req_path: - uf = UrlFields.UF_PATH; - break; - - case req_query_string: - uf = UrlFields.UF_QUERY; - break; - - case req_fragment: - uf = UrlFields.UF_FRAGMENT; - break; - - default: - return 1; - } - /* Nothing's changed; soldier on */ - if (uf == old_uf) { - u.field_data[uf.getIndex()].len++; - continue; - } - - u.field_data[uf.getIndex()].off = p - p_init; - u.field_data[uf.getIndex()].len = 1; - - u.field_set |= (1 << uf.getIndex()); - old_uf = uf; - - } - - /* CONNECT requests can only contain "hostname:port" */ - if (is_connect && u.field_set != ((1 << UrlFields.UF_HOST.getIndex())|(1 << UrlFields.UF_PORT.getIndex()))) { - return 1; - } - - /* Make sure we don't end somewhere unexpected */ - switch (state) { - case req_host_v6_start: - case req_host_v6: - case req_host_v6_end: - case req_host: - case req_port_start: - return 1; - default: - break; - } - - if (0 != (u.field_set & (1 << UrlFields.UF_PORT.getIndex()))) { - /* Don't bother with endp; we've already validated the string */ - int v = strtoi(data, p_init + u.field_data[UrlFields.UF_PORT.getIndex()].off); - - /* Ports have a max value of 2^16 */ - if (v > 0xffff) { - return 1; - } - - u.port = v; - } - - return 0; - } - - //hacky reimplementation of srttoul, tailored for our simple needs - //we only need to parse port val, so no negative values etc - int strtoi(ByteBuffer data, int start_pos) { - data.position(start_pos); - byte ch; - String str = ""; - while(data.position() < data.limit()) { - ch = data.get(); - if(Character.isWhitespace((char)ch)){ - continue; - } - if(isDigit(ch)){ - str = str + (char)ch; //TODO replace with something less hacky - }else{ - break; - } - } - return Integer.parseInt(str); - } - - boolean isDigit(byte b) { - if (b >= 0x30 && b <=0x39) { - return true; - } - return false; - } - - boolean isHex(byte b) { - return isDigit(b) || (lower(b) >= 0x61 /*a*/ && lower(b) <= 0x66 /*f*/); - } - - boolean isAtoZ(byte b) { - byte c = lower(b); - return (c>= 0x61 /*a*/ && c <= 0x7a /*z*/); - } - - - byte lower (byte b) { - return (byte)(b|0x20); - } - - byte upper(byte b) { - char c = (char)(b); - return (byte)Character.toUpperCase(c); - } - - byte token(byte b) { - if(!strict){ - return (b == (byte)' ') ? (byte)' ' : (byte)tokens[b] ; - }else{ - return (byte)tokens[b]; - } - } - - boolean isHostChar(byte ch){ - if(!strict){ - return (isAtoZ(ch)) || isDigit(ch) || DOT == ch || DASH == ch || UNDER == ch ; - }else{ - return (isAtoZ(ch)) || isDigit(ch) || DOT == ch || DASH == ch; - } - } - - boolean isNormalUrlChar(int chi) { - if(!strict){ - return (chi > 0x80) || normal_url_char[chi]; - }else{ - return normal_url_char[chi]; - } - } - - HTTPMethod start_req_method_assign(byte c){ - switch (c) { - case C: return HTTPMethod.HTTP_CONNECT; /* or COPY, CHECKOUT */ - case D: return HTTPMethod.HTTP_DELETE; - case G: return HTTPMethod.HTTP_GET; - case H: return HTTPMethod.HTTP_HEAD; - case L: return HTTPMethod.HTTP_LOCK; - case M: return HTTPMethod.HTTP_MKCOL; /* or MOVE, MKACTIVITY, MERGE, M-SEARCH */ - case N: return HTTPMethod.HTTP_NOTIFY; - case O: return HTTPMethod.HTTP_OPTIONS; - case P: return HTTPMethod.HTTP_POST; /* or PROPFIND|PROPPATCH|PUT|PATCH|PURGE */ - case R: return HTTPMethod.HTTP_REPORT; - case S: return HTTPMethod.HTTP_SUBSCRIBE; - case T: return HTTPMethod.HTTP_TRACE; - case U: return HTTPMethod.HTTP_UNLOCK; /* or UNSUBSCRIBE */ - } - return null; // ugh. - } - - boolean header_almost_done(byte ch) { - if (strict && LF != ch) { - return false; - } - - state = State.header_value_lws; - // TODO java enums support some sort of bitflag mechanism !? - switch (header_state) { - case connection_keep_alive: - flags |= F_CONNECTION_KEEP_ALIVE; - break; - case connection_close: - flags |= F_CONNECTION_CLOSE; - break; - case transfer_encoding_chunked: - flags |= F_CHUNKED; - break; - default: - break; - } - return true; - } - -// boolean headers_almost_done (byte ch, ParserSettings settings) { -// } // headers_almost_done - - - final int min (int a, int b) { - return a < b ? a : b; - } - - final int min (int a, long b) { - return a < b ? a : (int)b; - } - - /* probably not the best place to hide this ... */ - public boolean HTTP_PARSER_STRICT; - State new_message() { - if (HTTP_PARSER_STRICT){ - return http_should_keep_alive() ? start_state() : State.dead; - } else { - return start_state(); - } - - } - - State start_state() { - return type == ParserType.HTTP_REQUEST ? State.start_req : State.start_res; - } - - - boolean parsing_header(State state) { - - switch (state) { - case chunk_data : - case chunk_data_almost_done : - case chunk_data_done : - case body_identity : - case body_identity_eof : - case message_done : - return false; - - } - return true; - } - - /* "Dial C for Constants" */ - static class C { - static final int HTTP_MAX_HEADER_SIZE = 80 * 1024; - - static final int F_CHUNKED = 1 << 0; - static final int F_CONNECTION_KEEP_ALIVE = 1 << 1; - static final int F_CONNECTION_CLOSE = 1 << 2; - static final int F_TRAILING = 1 << 3; - static final int F_UPGRADE = 1 << 4; - static final int F_SKIPBODY = 1 << 5; - - static final byte [] UPCASE = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2d,0x00,0x2f, - 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f, - 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 0x58,0x59,0x5a,0x00,0x00,0x00,0x00,0x5f, - 0x00,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f, - 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 0x58,0x59,0x5a,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - }; - static final byte [] CONNECTION = { - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, - }; - static final byte [] PROXY_CONNECTION = { - 0x50, 0x52, 0x4f, 0x58, 0x59, 0x2d, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, - }; - static final byte [] CONTENT_LENGTH = { - 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x2d, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, - }; - static final byte [] TRANSFER_ENCODING = { - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x2d, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, - }; - static final byte [] UPGRADE = { - 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, - }; - static final byte [] CHUNKED = { - 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x45, 0x44, - }; - static final byte [] KEEP_ALIVE = { - 0x4b, 0x45, 0x45, 0x50, 0x2d, 0x41, 0x4c, 0x49, 0x56, 0x45, - }; - static final byte [] CLOSE = { - 0x43, 0x4c, 0x4f, 0x53, 0x45, - }; - - /* Tokens as defined by rfc 2616. Also lowercases them. - * token = 1* - * separators = "(" | ")" | "<" | ">" | "@" - * | "," | ";" | ":" | "\" | <"> - * | "/" | "[" | "]" | "?" | "=" - * | "{" | "}" | SP | HT - */ - - static final char [] tokens = { -/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' */ - 0, '!', 0, '#', '$', '%', '&', '\'', -/* 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / */ - 0, 0, '*', '+', 0, '-', '.', 0 , -/* 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 */ - '0', '1', '2', '3', '4', '5', '6', '7', -/* 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? */ - '8', '9', 0, 0, 0, 0, 0, 0, -/* 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G */ - 0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', -/* 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O */ - 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', -/* 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W */ - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', -/* 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ */ - 'X', 'Y', 'Z', 0, 0, 0, 0, '_', -/* 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g */ - 0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', -/* 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o */ - 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', -/* 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w */ - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', -/* 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del */ - 'X', 'Y', 'Z', 0, '|', 0, '~', 0, -/* hi bit set, not ascii */ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, }; - - static final byte [] UNHEX = - { -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 - , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1 - ,-1,10,11,12,13,14,15,-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,10,11,12,13,14,15,-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,-1,-1,-1,-1,-1,-1 - ,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 - }; - - static final boolean [] normal_url_char = { -/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */ - false, false, false, false, false, false, false, false, -/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */ - false, false, false, false, false, false, false, false, -/* 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb */ - false, false, false, false, false, false, false, false, -/* 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us */ - false, false, false, false, false, false, false, false, -/* 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' */ - false, true, true, false, true, true, true, true, -/* 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / */ - true, true, true, true, true, true, true, true, -/* 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 */ - true, true, true, true, true, true, true, true, -/* 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? */ - true, true, true, true, true, true, true, false, -/* 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G */ - true, true, true, true, true, true, true, true, -/* 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O */ - true, true, true, true, true, true, true, true, -/* 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W */ - true, true, true, true, true, true, true, true, -/* 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ */ - true, true, true, true, true, true, true, true, -/* 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g */ - true, true, true, true, true, true, true, true, -/* 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o */ - true, true, true, true, true, true, true, true, -/* 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w */ - true, true, true, true, true, true, true, true, -/* 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del */ - true, true, true, true, true, true, true, false, - -/* hi bit set, not ascii */ -/* Remainder of non-ASCII range are accepted as-is to support implicitly UTF-8 - * encoded paths. This is out of spec, but clients generate this and most other - * HTTP servers support it. We should, too. */ - - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - true, true, true, true, true, true, true, true, - - }; - - public static final byte A = 0x41; - public static final byte B = 0x42; - public static final byte C = 0x43; - public static final byte D = 0x44; - public static final byte E = 0x45; - public static final byte F = 0x46; - public static final byte G = 0x47; - public static final byte H = 0x48; - public static final byte I = 0x49; - public static final byte J = 0x4a; - public static final byte K = 0x4b; - public static final byte L = 0x4c; - public static final byte M = 0x4d; - public static final byte N = 0x4e; - public static final byte O = 0x4f; - public static final byte P = 0x50; - public static final byte Q = 0x51; - public static final byte R = 0x52; - public static final byte S = 0x53; - public static final byte T = 0x54; - public static final byte U = 0x55; - public static final byte V = 0x56; - public static final byte W = 0x57; - public static final byte X = 0x58; - public static final byte Y = 0x59; - public static final byte Z = 0x5a; - public static final byte UNDER = 0x5f; - public static final byte CR = 0x0d; - public static final byte LF = 0x0a; - public static final byte DOT = 0x2e; - public static final byte SPACE = 0x20; - public static final byte TAB = 0x09; - public static final byte SEMI = 0x3b; - public static final byte COLON = 0x3a; - public static final byte HASH = 0x23; - public static final byte QMARK = 0x3f; - public static final byte SLASH = 0x2f; - public static final byte DASH = 0x2d; - public static final byte STAR = 0x2a; - public static final byte NULL = 0x00; - } - - enum State { - - dead - - , start_req_or_res - , res_or_resp_H - , start_res - , res_H - , res_HT - , res_HTT - , res_HTTP - , res_first_http_major - , res_http_major - , res_first_http_minor - , res_http_minor - , res_first_status_code - , res_status_code - , res_status - , res_line_almost_done - - , start_req - - , req_method - , req_spaces_before_url - , req_schema - , req_schema_slash - , req_schema_slash_slash - , req_host_start - , req_host_v6_start - , req_host_v6 - , req_host_v6_end - , req_host - , req_port_start - , req_port - , req_path - , req_query_string_start - , req_query_string - , req_fragment_start - , req_fragment - , req_http_start - , req_http_H - , req_http_HT - , req_http_HTT - , req_http_HTTP - , req_first_http_major - , req_http_major - , req_first_http_minor - , req_http_minor - , req_line_almost_done - - , header_field_start - , header_field - , header_value_start - , header_value - , header_value_lws - - , header_almost_done - - , chunk_size_start - , chunk_size - , chunk_parameters - , chunk_size_almost_done - - , headers_almost_done - , headers_done -// This space intentionally not left blank, comment from c, for orientation... -// the c version uses <= s_header_almost_done in java, we list the states explicitly -// in `parsing_header()` -/* Important: 's_headers_done' must be the last 'header' state. All - * states beyond this must be 'body' states. It is used for overflow - * checking. See the PARSING_HEADER() macro. - */ - , chunk_data - , chunk_data_almost_done - , chunk_data_done - - , body_identity - , body_identity_eof - , message_done - - } - enum HState { - general - , C - , CO - , CON - - , matching_connection - , matching_proxy_connection - , matching_content_length - , matching_transfer_encoding - , matching_upgrade - - , connection - , content_length - , transfer_encoding - , upgrade - - , matching_transfer_encoding_chunked - , matching_connection_keep_alive - , matching_connection_close - - , transfer_encoding_chunked - , connection_keep_alive - , connection_close - } - public enum UrlFields { - UF_SCHEMA(0) - , UF_HOST(1) - , UF_PORT(2) - , UF_PATH(3) - , UF_QUERY(4) - , UF_FRAGMENT(5) - , UF_MAX(6); - - - private final int index; - - private UrlFields(int index) { - this.index = index; - } - public int getIndex() { - return index; - } - - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java deleted file mode 100644 index 1ebdd4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java +++ /dev/null @@ -1,83 +0,0 @@ -package http_parser.lolevel; -import java.nio.ByteBuffer; -import http_parser.HTTPException; -public class ParserSettings { - - public HTTPCallback on_message_begin; - public HTTPDataCallback on_path; - public HTTPDataCallback on_query_string; - public HTTPDataCallback on_url; - public HTTPDataCallback on_fragment; - public HTTPCallback on_status_complete; - public HTTPDataCallback on_header_field; - public HTTPDataCallback on_header_value; - public HTTPCallback on_headers_complete; - public HTTPDataCallback on_body; - public HTTPCallback on_message_complete; - public HTTPErrorCallback on_error; - - void call_on_message_begin (HTTPParser p) { - call_on(on_message_begin, p); - } - - void call_on_message_complete (HTTPParser p) { - call_on(on_message_complete, p); - } - - // this one is a little bit different: - // the current `position` of the buffer is the location of the - // error, `ini_pos` indicates where the position of - // the buffer when it was passed to the `execute` method of the parser, i.e. - // using this information and `limit` we'll know all the valid data - // in the buffer around the error we can use to print pretty error - // messages. - void call_on_error (HTTPParser p, String mes, ByteBuffer buf, int ini_pos) { - if (null != on_error) { - on_error.cb(p, mes, buf, ini_pos); - return; - } - // if on_error gets called it MUST throw an exception, else the parser - // will attempt to continue parsing, which it can't because it's - // in an invalid state. - throw new HTTPException(mes); - } - - void call_on_header_field (HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_header_field, p, buf, pos, len); - } - void call_on_query_string (HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_query_string, p, buf, pos, len); - } - void call_on_fragment (HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_fragment, p, buf, pos, len); - } - void call_on_status_complete(HTTPParser p) { - call_on(on_status_complete, p); - } - void call_on_path (HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_path, p, buf, pos, len); - } - void call_on_header_value (HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_header_value, p, buf, pos, len); - } - void call_on_url (HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_url, p, buf, pos, len); - } - void call_on_body(HTTPParser p, ByteBuffer buf, int pos, int len) { - call_on(on_body, p, buf, pos, len); - } - void call_on_headers_complete(HTTPParser p) { - call_on(on_headers_complete, p); - } - void call_on (HTTPCallback cb, HTTPParser p) { - // cf. CALLBACK2 macro - if (null != cb) { - cb.cb(p); - } - } - void call_on (HTTPDataCallback cb, HTTPParser p, ByteBuffer buf, int pos, int len) { - if (null != cb && -1 != pos) { - cb.cb(p,buf,pos,len); - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java deleted file mode 100644 index 62f0a0e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java +++ /dev/null @@ -1,374 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; -import java.io.*; -import java.util.*; - -import http_parser.HTTPMethod; -import http_parser.HTTPParserUrl; -import http_parser.ParserType; -import http_parser.lolevel.TestLoaderNG.Header; -import http_parser.lolevel.TestLoaderNG.LastHeader; - -import primitive.collection.ByteList; - -import static http_parser.lolevel.Util.str; - -public class Message { - String name; - byte [] raw; - ParserType type; - HTTPMethod method; - int status_code; - String request_path; // byte [] ? - String request_url; - String fragment ; - String query_string; - byte [] body; - int body_size; - int num_headers; - LastHeader last_header_element; - Map header; - List
headers; - boolean should_keep_alive; - - byte[] upgrade; - boolean upgrade() { - return null != upgrade; - } - - int http_major; - int http_minor; - - boolean message_begin_called; - boolean headers_complete_called; - boolean message_complete_called; - boolean message_complete_on_eof; - - - Map parsed_header; - String currHField; - String currHValue; - byte [] pbody; - int num_called; - - public String toString() { - StringBuilder b = new StringBuilder(); - b.append("NAME: "); b.append(name);b.append("\n"); - b.append("type: "); b.append(type);b.append("\n"); - b.append("method: "); b.append(method);b.append("\n"); - b.append("status_code: "); b.append(status_code);b.append("\n"); - b.append("request_path: "); b.append(request_path);b.append("\n"); - b.append("request_url: "); b.append(request_url);b.append("\n"); - b.append("fragment: "); b.append(fragment);b.append("\n"); - b.append("query_string: "); b.append(query_string);b.append("\n"); - b.append("body:\n"); b.append(new String(body));b.append("\n"); - b.append("should_keep_alive: "); b.append(should_keep_alive);b.append("\n"); - b.append("upgrade: "); b.append(upgrade);b.append("\n"); - b.append("http_major: "); b.append(http_major);b.append("\n"); - b.append("http_minor: "); b.append(http_minor);b.append("\n"); - b.append("message_complete_called: "); b.append(message_complete_called);b.append("\n"); - return b.toString(); - } - - Message () { - this.header = new HashMap(); - this.headers = new LinkedList
(); - reset(); - } - /* - *prepare this Test Instance for reuse. - * */ - void reset () { - this.parsed_header = new HashMap(); - this.pbody = null; - this.num_called = 0; - - } - void check (boolean val, String mes) { - if (!val) { - //p(name+" : "+mes); - throw new RuntimeException(name+" : "+mes); - } - } - - - HTTPDataCallback getCB (final String value, final String mes, final TestSettings settings) { - return new HTTPDataCallback() { - public int cb (HTTPParser p, ByteBuffer b, int pos, int len){ - // if ("url".equals(mes)){ - // p("pos"+pos); - // p("len"+len); - // if (8==pos && 5 == len && "connect request".equals(name)) { - // //throw new RuntimeException(name); - // } - // } - //String str = str(b, pos, len); - ByteList list = settings.map.get(mes); - for (int i=0; i!=len; ++i) { - list.add(b.get(pos+i)); - } - //settings.map.put(mes, prev_val + str); - //check(value.equals(str), "incorrect "+mes+": "+str); - if (-1 == pos) { - throw new RuntimeException("he?"); - } - return 0; - } - }; - } - - void execute () { - p(name); - ByteBuffer buf = ByteBuffer.wrap(raw); - HTTPParser p = new HTTPParser(); - TestSettings s = settings(); - - - - p.execute(s, buf); - if (!p.upgrade) { - // call execute again, else parser can't know message is done - // if no content length is set. - p.execute(s, buf); - } - if (!s.success) { - throw new RuntimeException("Test: "+name+" failed"); - } - } // execute - - void execute_permutations() { - /* - |-|---------------| - |--|--------------| - |---|-------------| - (...) - |---------------|-| - |-----------------| - */ - p(name); - for (int i = 2; i != raw.length; ++i) { - // p(i); - HTTPParser p = new HTTPParser(); - TestSettings s = settings(); - ByteBuffer buf = ByteBuffer.wrap(raw); - int olimit = buf.limit(); - buf.limit(i); - - parse(p,s,buf); - if (!p.upgrade) { - buf.position(i); - buf.limit(olimit); - - parse(p,s,buf); - if (!p.upgrade) { - parse(p,s,buf); - } else { - if (!upgrade()) { - throw new RuntimeException("Test:"+name+"parsed as upgrade, is not"); - } - } - - } else { - if (!upgrade()) { - throw new RuntimeException("Test:"+name+"parsed as upgrade, is not"); - } - } - if (!s.success) { - p(this); - throw new RuntimeException("Test: "+name+" failed"); - } - reset(); - } - //System.exit(0); - } // execute_permutations - void parse(HTTPParser p, ParserSettings s, ByteBuffer b) { - //p("About to parse: "+b.position() + "->" + b.limit()); - p.execute(s, b); - } - - TestSettings settings() { - final TestSettings s = new TestSettings(); - s.on_url = getCB(request_url, "url", s); - s.on_message_begin = new HTTPCallback() { - public int cb (HTTPParser p) { - message_begin_called = true; - return -1; - } - }; - s.on_header_field = new HTTPDataCallback() { - public int cb (HTTPParser p, ByteBuffer b, int pos, int len){ - if (null != currHValue && null == currHField) { - throw new RuntimeException(name+": shouldn't happen"); - } - if (null != currHField) { - if (null == currHValue) { - currHField += str(b,pos,len); - return 0; - } else { - parsed_header.put(currHField, currHValue); - currHField = null; - currHValue = null; - } - } - currHField = str(b,pos,len); - return 0; - } - }; - s.on_header_value = new HTTPDataCallback() { - public int cb (HTTPParser p, ByteBuffer b, int pos, int len){ - if (null == currHField) { - throw new RuntimeException(name+" :shouldn't happen field"); - } - if (null == currHValue) { - currHValue = str(b,pos,len); - } else { - currHValue += str(b, pos, len); - } - return 0; - } - }; - s.on_headers_complete = new HTTPCallback() { - public int cb (HTTPParser p) { - headers_complete_called = true; - String parsed_path = null; - String parsed_query = null; - String parsed_url = null; - String parsed_frag = null; - - try { - parsed_url = new String(s.map.get("url").toArray(), "UTF8"); - - HTTPParserUrl u = new HTTPParserUrl(); - HTTPParser pp = new HTTPParser(); - ByteBuffer data = Util.buffer(parsed_url); - pp.parse_url(data,false, u); - - parsed_path = u.getFieldValue(HTTPParser.UrlFields.UF_PATH, data); - parsed_query = u.getFieldValue(HTTPParser.UrlFields.UF_QUERY, data); - parsed_frag = u.getFieldValue(HTTPParser.UrlFields.UF_FRAGMENT, data); - - } catch (java.io.UnsupportedEncodingException uee) { - throw new RuntimeException(uee); - } - - if (!request_path.equals(parsed_path)) { - throw new RuntimeException(name+": invalid path: "+parsed_path+" should be: "+request_path); - } - if (!query_string.equals(parsed_query)) { - throw new RuntimeException(name+": invalid query: "+parsed_query+" should be: "+query_string); - } - if (!request_url.equals(parsed_url)) { - throw new RuntimeException(">"+name+"<: invalid url: >"+parsed_url+"< should be: >"+request_url+"<"); - } - if (!fragment.equals(parsed_frag)) { - throw new RuntimeException(name+": invalid fragement: "+parsed_frag+" should be: "+fragment); - } - if (null != currHValue || null != currHField) { - if (null == currHField || null == currHValue) { - throw new RuntimeException("shouldn't happen"); - } - } - if (null != currHField) { - //p(currHField); - //p(">"+currHValue+"<"); - parsed_header.put(currHField, currHValue); - currHField = null; - currHValue = null; - } - - - return 0; - } - }; - // s.on_headers_complete = new HTTPCallback() { - // public int cb (HTTPParser p) { - // p("Complete:"+name); - // return 0; - // } - // }; - - s.on_body = new HTTPDataCallback() { - public int cb (HTTPParser p, ByteBuffer b, int pos, int len){ - int l = pbody == null ? len : len + pbody.length; - int off = pbody == null ? 0 : pbody.length; - byte [] nbody = new byte[l]; - - if (null != pbody) { - System.arraycopy(pbody, 0, nbody, 0, pbody.length); - } - - int saved = b.position(); - b.position(pos); - b.get(nbody, off, len); - b.position(saved); - pbody = nbody; - return 0; - } - }; - - s.on_message_complete = new HTTPCallback() { - public int cb(HTTPParser p) { - message_complete_called = true; - num_called += 1; - if ( p.http_minor != http_minor - || p.http_major != http_major - || p.status_code != status_code ) { - - throw new RuntimeException("major/minor/status_code mismatch"); - } - - //check headers - - if (header.keySet().size() != parsed_header.keySet().size()) { - p(parsed_header); - throw new RuntimeException(name+": different amount of headers"); - } - for (String key : header.keySet()) { - String pvalue = parsed_header.get(key); - if (!header.get(key).equals(pvalue)) { - throw new RuntimeException(name+" : different values for :"+key+" is >"+pvalue+"< should: >"+header.get(key)+"<"); - } - } - //check body - if (null == pbody && (null == body || body.length == 0 || body.length == 1)) { - s.success = true; - return 0; - } - if (null == pbody) { - throw new RuntimeException(name+": no body, should be: "+new String(body)); - } - if (pbody.length != body.length) { - p(pbody.length); - p(body.length); - p(new String(pbody)); - p(new String(body)); - throw new RuntimeException(name+": incorrect body length"); - } - for (int i = 0 ; i!= body.length; ++i) { - if (pbody[i] != body[i]) { - throw new RuntimeException("different body"); - } - } - s.success = true; - return 0; - } - }; - return s; - } // settings - static void p(Object o) { - System.out.println(o); - } - - static class TestSettings extends ParserSettings { - public boolean success; - Map map; - TestSettings () { - map = new HashMap(); - map.put("path", new ByteList()); - map.put("query_string", new ByteList()); - map.put("url", new ByteList()); - map.put("fragment", new ByteList()); - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java deleted file mode 100644 index 0e74021..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java +++ /dev/null @@ -1,51 +0,0 @@ -package http_parser.lolevel; - -import http_parser.HTTPParserUrl; -import static http_parser.lolevel.Util.*; - -public class ParseUrl { - public static void test(int i) { - HTTPParserUrl u = new HTTPParserUrl(); - HTTPParser p = new HTTPParser(); - Url test = Url.URL_TESTS[i]; -// System.out.println(":: " + test.name); - int rv = p.parse_url(Util.buffer(test.url),test.is_connect,u); - UnitTest.check_equals(rv, test.rv); - if(test.rv == 0){ - UnitTest.check_equals(u, test.u); - } - - } - public static void test() { - p(ParseUrl.class); - - for (int i = 0; i < Url.URL_TESTS.length; i++) { - test(i); - } - } - - static void usage() { - p("usage: [jre] http_parser.lolevel.ParseUrl [i]"); - p(" i : optional test case id"); - p("---------------------------------------------"); - p("Test Cases:"); - for (int i =0; i!= Url.URL_TESTS.length; ++i) { - p(" "+i+": "+Url.URL_TESTS[i].name); - } - } - - public static void main (String [] args) { - if (0 == args.length) { - test(); - } else { - try { - int i = Integer.parseInt(args[0]); - test(i); - } catch (Throwable t) { - t.printStackTrace(); - usage(); - } - - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java deleted file mode 100644 index 4367bbb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java +++ /dev/null @@ -1,69 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; -import java.util.*; - -import static http_parser.lolevel.Util.*; -import http_parser.*; - -import primitive.collection.ByteList; - -public class Requests { - - static void test_simple(String req, boolean should_pass) { - HTTPParser parser = new HTTPParser(ParserType.HTTP_REQUEST); - ByteBuffer buf = buffer(req); - boolean passed = false; - int read = 0; - try { - parser.execute(Util.SETTINGS_NULL, buf); - passed = (read == req.length()); - read = parser.execute(Util.SETTINGS_NULL, Util.empty()); - passed &= (0 == read); - } catch (Throwable t) { - passed = false; - } - check(passed == should_pass); - } - static void simple_tests() { - test_simple("hello world", false); - test_simple("GET / HTP/1.1\r\n\r\n", false); - - test_simple("ASDF / HTTP/1.1\r\n\r\n", false); - test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", false); - test_simple("GETA / HTTP/1.1\r\n\r\n", false); - } - - public static void test () { - p(Requests.class); - simple_tests(); - - List all = TestLoaderNG.load("tests.dumped"); - List requests = new LinkedList(); - for (Message m : all) { - if (ParserType.HTTP_REQUEST == m.type) { - requests.add(m); - } - } - for (Message m : requests) { - test_message(m); - } - - for (int i = 0; i!= requests.size(); ++i) { - if (!requests.get(i).should_keep_alive) continue; - for (int j = 0; j!=requests.size(); ++j) { - if (!requests.get(j).should_keep_alive) continue; - for (int k = 0; k!= requests.size(); ++k) { - test_multiple3(requests.get(i), requests.get(j), requests.get(k)); - } - } - } - - // postpone test_scan - - } - - - - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java deleted file mode 100644 index 1cb71dc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java +++ /dev/null @@ -1,52 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; -import java.util.*; - -import static http_parser.lolevel.Util.*; -import http_parser.*; - -import primitive.collection.ByteList; - -public class Responses { - - - - public static void test () { - p(Responses.class); - List all = TestLoaderNG.load("tests.dumped"); - List responses = new LinkedList(); - for (Message m : all) { - if (ParserType.HTTP_RESPONSE == m.type) { - responses.add(m); - } - } - for (Message m : responses) { - test_message(m); - } - - for (int i = 0; i!= responses.size(); ++i) { - if (!responses.get(i).should_keep_alive) continue; - for (int j = 0; j!=responses.size(); ++j) { - if (!responses.get(j).should_keep_alive) continue; - for (int k = 0; k!= responses.size(); ++k) { - test_multiple3(responses.get(i), responses.get(j), responses.get(k)); - } - } - } - - // not sure what test_message_count_body does that test_message doesn't... - // Message m = find(responses, "404 no headers no body"); - // test_message_count_body(m); - // m = find(responses, "200 trailing space on chunked body"); - // test_message_count_body(m); - - // TODO test very large chunked response - - // test_scan is more or less the same as test_permutations, will implement later... - } - - - - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java deleted file mode 100644 index 6c35898..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java +++ /dev/null @@ -1,16 +0,0 @@ -package http_parser.lolevel; - - -public class Test { - public static void main (String [] args) { - UnitTest.test(); - TestHeaderOverflowError.test(); - TestNoOverflowLongBody.test(); - Responses.test(); - ParseUrl.test(); - Requests.test(); - Upgrade.test(); - WrongContentLength.test(); - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java deleted file mode 100644 index ee47903..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java +++ /dev/null @@ -1,48 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; - -import static http_parser.lolevel.Util.*; - -public class TestHeaderOverflowError { - - public static void test (http_parser.ParserType type) { - HTTPParser parser = new HTTPParser(type); - ByteBuffer buf = getBytes(type); - - int numbytes = buf.limit(); - - parser.execute(Util.SETTINGS_NULL, buf); - - check(numbytes == buf.position()); - - buf = buffer("header-key: header-value\r\n"); - numbytes = buf.limit(); - for (int i = 0; i!= 1000; ++i) { - parser.execute(Util.SETTINGS_NULL, buf); - check(numbytes == buf.position()); - - buf.rewind(); - - } - } - - static ByteBuffer getBytes (http_parser.ParserType type) { - if (http_parser.ParserType.HTTP_BOTH == type) { - throw new RuntimeException("only HTTP_REQUEST and HTTP_RESPONSE"); - } - - if (http_parser.ParserType.HTTP_REQUEST == type) { - return buffer("GET / HTTP/1.1\r\n"); - } - return buffer("HTTP/1.0 200 OK\r\n"); - } - - public static void test () { - p(TestHeaderOverflowError.class); - test(http_parser.ParserType.HTTP_REQUEST); - test(http_parser.ParserType.HTTP_RESPONSE); - } - - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java deleted file mode 100644 index 329485d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java +++ /dev/null @@ -1,212 +0,0 @@ -package http_parser.lolevel; -// name : 200 trailing space on chunked body -// raw : "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nTransfer-Encoding: chunked\r\n\r\n25 \r\nThis is the data in the first chunk\r\n\r\n1C\r\nand this is the second one\r\n\r\n0 \r\n\r\n" -// type : HTTP_RESPONSE -// method: HTTP_DELETE -// status code :200 -// request_path: -// request_url : -// fragment : -// query_string: -// body :"This is the data in the first chunk\r\nand this is the second one\r\n" -// body_size :65 -// header_0 :{ "Content-Type": "text/plain"} -// header_1 :{ "Transfer-Encoding": "chunked"} -// should_keep_alive :1 -// upgrade :0 -// http_major :1 -// http_minor :1 - - -import java.io.FileReader; -import java.io.BufferedReader; -import java.io.StringReader; -import java.io.Reader; -import java.io.Reader; -import java.io.IOException; - -import java.util.*; -import java.util.regex.*; - -import java.nio.ByteBuffer; - -import http_parser.HTTPMethod; -import http_parser.ParserType; - -public class TestLoaderNG { - String fn; - public TestLoaderNG(String filename) { - this.fn = filename; - } - static void p(Object o) { - System.out.println(o); - } - public static List load (String fn) { - List list = null; - try { - BufferedReader buf = new BufferedReader(new FileReader(fn)); - list = load(buf); - } catch (Throwable t) { - throw new RuntimeException(t); - } - return list; - - } - public static Message parse (String message) { - List list = load(new BufferedReader(new StringReader(message))); - if (null == list || 0 == list.size() ) { - return null; - } - return list.get(0); - } - - public static List load (BufferedReader buf) { - List list = new LinkedList(); - String line = null; - Message curr = new Message(); - Pattern pattern = Pattern.compile("(\\S+)\\s*:(.*)"); - try { - while (null != (line = buf.readLine()) ){ - if ("".equals(line.trim())) { - list.add (curr); - curr = new Message(); - continue; - } - Matcher m = pattern.matcher(line); - if (m.matches()) { - // you can not be fucking serious!? - // this has got to be the most retarded regex - // interface in the history of the world ... - // (though I'm sure there's worse c++ regexp libs...) - MatchResult r = m.toMatchResult(); - String key = r.group(1).trim(); - String value = r.group(2).trim(); - if ("name".equals(key)) {curr.name = value;} - else if ("raw".equals(key)) {curr.raw = toByteArray(value);} //! - else if ("type".equals(key)) {curr.type = ParserType.parse(value);} - else if ("method".equals(key)) {curr.method = HTTPMethod.parse(value);} - else if ("status_code".equals(key)) {curr.status_code = Integer.parseInt(value);} - else if ("request_path".equals(key)) {curr.request_path = value;} - else if ("request_url".equals(key)) {curr.request_url = value;} - - else if ("fragment".equals(key)) {curr.fragment = value;} - else if ("query_string".equals(key)) {curr.query_string = value;} - else if ("body".equals(key)) {curr.body = toByteArray(value);} //! - else if ("body_size".equals(key)) {curr.body_size = Integer.parseInt(value);} - else if (key.startsWith("header")) { - String [] h = getHeader(value); - curr.header.put(h[0], h[1]); - } - else if ("should_keep_alive".equals(key)) - {curr.should_keep_alive = (1 == Integer.parseInt(value));} - else if ("upgrade".equals(key)) { curr.upgrade = toByteArray(value);} - else if ("http_major".equals(key)) {curr.http_major = Integer.parseInt(value);} - else if ("http_minor".equals(key)) {curr.http_minor = Integer.parseInt(value);} - } else { - p("WTF?"+line); - } - - } - } catch (Throwable t) { - throw new RuntimeException(t); - } - return list; - } - - static String [] getHeader(String value) { - // { "Host": "0.0.0.0=5000"} - Pattern p = Pattern.compile("\\{ ?\"([^\"]*)\": ?\"(.*)\"}"); - Matcher m = p.matcher(value); - if (!m.matches()) { - p(value); - throw new RuntimeException("something wrong"); - } - String [] result = new String[2]; - MatchResult r = m.toMatchResult(); - result[0] = r.group(1).trim(); - result[1] = r.group(2); //.trim(); - return result; - } - - static final byte BSLASH = 0x5c; - static final byte QUOT = 0x22; - static final byte CR = 0x0d; - static final byte LF = 0x0a; - static final byte n = 0x6e; - static final byte r = 0x72; - - static final Byte[] JAVA_GENERICS_ROCK_HARD = new Byte[0]; - - - static byte [] toByteArray (String quotedString) { - ArrayList bytes = new ArrayList(); - String s = quotedString.substring(1, quotedString.length()-1); - byte [] byts = s.getBytes(java.nio.charset.Charset.forName("UTF8")); - boolean escaped = false; - for (byte b : byts) { - switch (b) { - case BSLASH: - escaped = true; - break; - case n: - if (escaped) { - bytes.add(LF); - escaped = false; - } else { - bytes.add(b); - } - break; - case r: - if (escaped) { - escaped = false; - bytes.add(CR); - } else { - bytes.add(b); - } - break; - case QUOT: - escaped = false; - bytes.add(QUOT); - break; - default: - bytes.add(b); - } - - } - - byts = new byte[bytes.size()]; - int i = 0; - for (Byte b : bytes) { - byts[i++]=b; - } - return byts; - } - - public static void main(String [] args) throws Throwable { - //TestLoaderNG l = new TestLoaderNG(args[0]); - List ts = load(args[0]); - for (Message t : ts) { -// for (int i =0; i!= t.raw.length; ++i) { -// p(i+":"+t.raw[i]); -// } -// try { - t.execute_permutations(); -// } catch (Throwable th) { -// p("failed: "+t.name); -// } - t.execute(); - // System.exit(0); - } - } - - class Header { - String field; - String value; - } - enum LastHeader { - NONE - ,FIELD - ,VALUE - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java deleted file mode 100644 index 13d8ea0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java +++ /dev/null @@ -1,62 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; - -import static http_parser.lolevel.Util.*; - -public class TestNoOverflowLongBody { - - public static void test (http_parser.ParserType type, int len) { - HTTPParser parser = new HTTPParser(type); - ByteBuffer buf = getBytes(type, len); - - int buflen = buf.limit(); - - parser.execute(Util.SETTINGS_NULL, buf); - - check(buflen == buf.position()); - - buf = buffer("a"); - buflen = buf.limit(); - - for (int i = 0; i!= len; ++i) { - parser.execute(Util.SETTINGS_NULL, buf); - check(buflen == buf.position()); - buf.rewind(); - } - - buf = getBytes(type, len); - buflen = buf.limit(); - - parser.execute(Util.SETTINGS_NULL, buf); - - check(buflen == buf.position()); - - } - - static ByteBuffer getBytes (http_parser.ParserType type, int length) { - if (http_parser.ParserType.HTTP_BOTH == type) { - throw new RuntimeException("only HTTP_REQUEST and HTTP_RESPONSE"); - } - - String template = "%s\r\nConnection: Keep-Alive\r\nContent-Length: %d\r\n\r\n"; - String str = null; - if (http_parser.ParserType.HTTP_REQUEST == type) { - str = String.format(template, "GET / HTTP/1.1", length); - } else { - str = String.format(template, "HTTP/1.0 200 OK", length); - } - return buffer(str); - } - - public static void test () { - p(TestNoOverflowLongBody.class); - test(http_parser.ParserType.HTTP_REQUEST, 1000); - test(http_parser.ParserType.HTTP_REQUEST, 100000); - test(http_parser.ParserType.HTTP_RESPONSE, 1000); - test(http_parser.ParserType.HTTP_RESPONSE, 100000); - } - - - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java deleted file mode 100644 index 4159980..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java +++ /dev/null @@ -1,117 +0,0 @@ -package http_parser.lolevel; - -import java.nio.ByteBuffer; -import http_parser.HTTPException; -import http_parser.Util; - -public class UnitTest { - - static void p(Object o) {System.out.println(o);} - - public static void testErrorFormat() { - String bla = "This has an error in position 10 (the n in 'an')"; - ByteBuffer buf = ByteBuffer.wrap(bla.getBytes()); - buf.position(10); - - String mes = -"This has an error in position 10 (the n in 'an')\n" + -"..........^"; - - check_equals(mes, Util.error ("test error", buf, 0)); - - - bla = "123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J"; - buf = ByteBuffer.wrap(bla.getBytes()); - buf.position(50); - mes = -"56789B123456789C123456789D123456789E123456789F123456789G123456789H123456\n"+ -"....................................^"; - check_equals(mes, Util.error("test trim right and left", buf, 0)); - - - buf.position(5); - mes = -"123456789A123456789B123456789C123456789D123456789E123456789F123456789G12\n"+ -".....^"; - check_equals(mes, Util.error("test trim right", buf, 0)); - - - int limit = buf.limit(); - buf.limit(10); - mes = -"123456789A\n"+ -".....^"; - check_equals(mes, Util.error("all before, not enough after", buf, 0)); - - - - buf.limit(limit); - buf.position(90); - mes = -"9C123456789D123456789E123456789F123456789G123456789H123456789I123456789J\n"+ -"..............................................................^"; - check_equals(mes, Util.error("test trim left", buf, 10)); - } - - - // Test that the error callbacks are properly called. - public static void testErrorCallback () { - String nothttp = "THis is certainly not valid HTTP"; - ByteBuffer buf = ByteBuffer.wrap(nothttp.getBytes()); - - ParserSettings s = new ParserSettings(); - s.on_error = new HTTPErrorCallback() { - public void cb (HTTPParser p, String mes, ByteBuffer buf, int pos) { - throw new HTTPException(mes); - } - }; // err callback - - - HTTPParser p = new HTTPParser(); - try { - p.execute(s, buf); - } catch (HTTPException e) { - check_equals("Invalid HTTP method", e.getMessage()); - } - - buf = ByteBuffer.wrap("GET / HTTP 1.10000".getBytes()); - p = new HTTPParser(); - try { - p.execute(s, buf); - } catch (HTTPException e) { - check_equals("ridiculous http minor", e.getMessage()); - } - - // if no error handler is defined, behave just like the above... - ParserSettings s0 = new ParserSettings(); - - buf = ByteBuffer.wrap("THis is certainly not valid HTTP".getBytes()); - p = new HTTPParser(); - try { - p.execute(s0, buf); - } catch (HTTPException e) { - check_equals("Invalid HTTP method", e.getMessage()); - } - - buf = ByteBuffer.wrap("GET / HTTP 1.10000".getBytes()); - p = new HTTPParser(); - try { - p.execute(s0, buf); - } catch (HTTPException e) { - check_equals("ridiculous http minor", e.getMessage()); - } - } - - static void check_equals(Object supposed2be, Object is) { - if (!supposed2be.equals(is)) { - throw new RuntimeException(is + " is supposed to be "+supposed2be); - } - } - - - public static void test () { - p(UnitTest.class); - testErrorFormat(); - testErrorCallback(); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java deleted file mode 100644 index 9af3d4a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java +++ /dev/null @@ -1,27 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; -import java.util.*; - -import http_parser.ParserType; - -import static http_parser.lolevel.Util.*; - -public class Upgrade { - static final String upgrade = "GET /demo HTTP/1.1\r\n" + - "Connection: Upgrade\r\n" + - "Upgrade: WebSocket\r\n\r\n" + - "third key data"; - static void test () { - p(Upgrade.class); - HTTPParser parser = new HTTPParser(ParserType.HTTP_REQUEST); - ByteBuffer buf = buffer(upgrade); - - int read = parser.execute(Util.SETTINGS_NULL, buf); - check (63 == read); - String s = str(buf); - check ("third key data".equals(str(buf))); - - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java deleted file mode 100644 index 35469d1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java +++ /dev/null @@ -1,127 +0,0 @@ -package http_parser.lolevel; - -import http_parser.FieldData; -import http_parser.HTTPParserUrl; - -import static http_parser.HTTPParserUrl.*; -import static http_parser.lolevel.HTTPParser.*; - -/** - */ -public class Url { - - public static Url[] URL_TESTS = new Url[]{ - new Url("proxy request", "http://hostname/", false, - new HTTPParserUrl( - (1 << UrlFields.UF_SCHEMA.getIndex()) | (1 << UrlFields.UF_HOST.getIndex()) | (1 << UrlFields.UF_PATH.getIndex()), - 0, - new FieldData[]{ - new FieldData(0,4), - new FieldData(7,8), - new FieldData(0,0), - new FieldData(15,1), - new FieldData(0,0), - new FieldData(0,0) - }), - 0), - new Url("CONNECT request", "hostname:443", true, - new HTTPParserUrl( - (1 << UrlFields.UF_HOST.getIndex()) | (1 << UrlFields.UF_PORT.getIndex()), - 443, - new FieldData[]{ - new FieldData(0,0), - new FieldData(0,8), - new FieldData(9,3), - new FieldData(0,0), - new FieldData(0,0), - new FieldData(0,0) - }), - 0), - new Url("proxy ipv6 request", "http://[1:2::3:4]/", false, - new HTTPParserUrl( - (1 << UrlFields.UF_SCHEMA.getIndex()) | (1 << UrlFields.UF_HOST.getIndex()) | (1 << UrlFields.UF_PATH.getIndex()), - 0, - new FieldData[]{ - new FieldData(0,4), - new FieldData(8,8), - new FieldData(0,0), - new FieldData(17,1), - new FieldData(0,0), - new FieldData(0,0) - }), - 0), - new Url("CONNECT ipv6 address", "[1:2::3:4]:443", true, - new HTTPParserUrl( - (1 << UrlFields.UF_HOST.getIndex()) | (1 << UrlFields.UF_PORT.getIndex()), - 443, - new FieldData[]{ - new FieldData(0,0), - new FieldData(1,8), - new FieldData(11,3), - new FieldData(0,0), - new FieldData(0,0), - new FieldData(0,0) - }), - 0), - new Url("extra ? in query string", - "http://a.tbcdn.cn/p/fp/2010c/??fp-header-min.css,fp-base-min.css,fp-channel-min.css,fp-product-min.css,fp-mall-min.css,fp-category-min.css,fp-sub-min.css,fp-gdp4p-min.css,fp-css3-min.css,fp-misc-min.css?t=20101022.css", - false, - new HTTPParserUrl( - (1 << UrlFields.UF_SCHEMA.getIndex()) | - (1 << UrlFields.UF_HOST.getIndex()) | - (1 << UrlFields.UF_PATH.getIndex()) | - (1 << UrlFields.UF_QUERY.getIndex()), - 0, - new FieldData[]{ - new FieldData(0,4), - new FieldData(7,10), - new FieldData(0,0), - new FieldData(17,12), - new FieldData(30,187), - new FieldData(0,0) - }), - 0), - new Url("proxy empty host", - "http://:443/", - false, - null, - 1), - new Url("proxy empty port", - "http://hostname:/", - false, - null, - 1), - new Url("CONNECT empty host", - ":443", - true, - null, - 1), - new Url("CONNECT empty port", - "hostname:", - true, - null, - 1), - new Url("CONNECT with extra bits", - "hostname:443/", - true, - null, - 1), - - }; - - String name; - String url; - boolean is_connect; - HTTPParserUrl u; - int rv; - - public Url(String name, String url, boolean is_connect, HTTPParserUrl u, int rv) { - this.name = name; - this.url = url; - this.is_connect = is_connect; - this.u = u; - this.rv = rv; - } - - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java deleted file mode 100644 index c73d9e6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java +++ /dev/null @@ -1,236 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; -import java.util.*; - -import primitive.collection.ByteList; - -import http_parser.*; - -public class Util { - - static final ParserSettings SETTINGS_NULL = new ParserSettings(); - - static String str (ByteBuffer b, int pos, int len) { - byte [] by = new byte[len]; - int saved = b.position(); - b.position(pos); - b.get(by); - b.position(saved); - return new String(by); - } - static String str (ByteBuffer b) { - int len = b.limit() - b.position(); - byte [] by = new byte[len]; - int saved = b.position(); - b.get(by); - b.position(saved); - return new String(by); - } - - static ByteBuffer buffer(String str) { - return ByteBuffer.wrap(str.getBytes()); - } - - static ByteBuffer empty() { - return ByteBuffer.wrap(new byte[0]); - } - - static void check(boolean betterBtrue) { - if (!betterBtrue) { - throw new RuntimeException("!"); - } - } - static void check (int should, int is) { - if (should != is) { - throw new RuntimeException("should be: "+should+" is:"+is); - } - } - - static void test_message(Message mes) { - int raw_len = mes.raw.length; - for (int msg1len = 0; msg1len != raw_len; ++msg1len) { - mes.reset(); - ByteBuffer msg1 = ByteBuffer.wrap(mes.raw, 0, msg1len); - ByteBuffer msg2 = ByteBuffer.wrap(mes.raw, msg1len, mes.raw.length - msg1len); - - HTTPParser parser = new HTTPParser(mes.type); - ParserSettings settings = mes.settings(); - - int read = 0; - if (msg1len !=0) { - read = parser.execute(settings, msg1); - if (mes.upgrade() && parser.upgrade) { - // Messages have a settings() that checks itself... - check(1 == mes.num_called); - continue; - } - check(read == msg1len); - } - - read = parser.execute(settings, msg2); - if (mes.upgrade() && parser.upgrade) { - check(1 == mes.num_called); - continue; - } - - check( mes.raw.length - msg1len, read); - - ByteBuffer empty = Util.empty(); - read = parser.execute(settings, empty); - - if (mes.upgrade() && parser.upgrade) { - check(1 == mes.num_called); - continue; - } - check(empty.position() == empty.limit()); - check(0 == read); - check(1 == mes.num_called); - - } - } - - static void test_multiple3(Message r1, Message r2, Message r3) { - int message_count = 1; - if (!r1.upgrade()) { - message_count++; - if (!r2.upgrade()) { - message_count++; - } - } - boolean has_upgrade = (message_count < 3 || r3.upgrade()); - - ByteList blist = new ByteList(); - blist.addAll(r1.raw); - blist.addAll(r2.raw); - blist.addAll(r3.raw); - - byte [] raw = blist.toArray(); - ByteBuffer buf = ByteBuffer.wrap(raw); - - Util.Settings settings = Util.settings(); - HTTPParser parser = new HTTPParser(r1.type); - - int read = parser.execute(settings, buf); - if (has_upgrade && parser.upgrade) { - raw = upgrade_message_fix(raw, read, r1,r2,r3); - check(settings.numCalled == message_count); - return; - } - - check(read == raw.length); - - buf = Util.empty(); - read = parser.execute(settings, buf); - if (has_upgrade && parser.upgrade) { - check(settings.numCalled == message_count); - return; - } - - check(0 == read); - check(settings.numCalled == message_count); - } - - /* Given a sequence of bytes and the number of these that we were able to - * parse, verify that upgrade bodies are correct. - */ - static byte [] upgrade_message_fix(byte[] body, int nread, Message... msgs) { - int off = 0; - for (Message m : msgs) { - off += m.raw.length; - if (m.upgrade()) { - off -= m.upgrade.length; - // Original C: - // Check the portion of the response after its specified upgrade - // if (!check_str_eq(m, "upgrade", body + off, body + nread)) { - // abort(); - // } - // to me, this seems to be equivalent to comparing off and nread ... - check (off, nread); - - // Original C: - // Fix up the response so that message_eq() will verify the beginning - // of the upgrade */ - // - // *(body + nread + strlen(m->upgrade)) = '\0'; - // This only shortens body so the strlen check passes. - return new byte[off]; - - } - } - return null; - } -//upgrade_message_fix(char *body, const size_t nread, const size_t nmsgs, ...) { -// va_list ap; -// size_t i; -// size_t off = 0; -// -// va_start(ap, nmsgs); -// -// for (i = 0; i < nmsgs; i++) { -// struct message *m = va_arg(ap, struct message *); -// -// off += strlen(m->raw); -// -// if (m->upgrade) { -// off -= strlen(m->upgrade); -// -// /* Check the portion of the response after its specified upgrade */ -// if (!check_str_eq(m, "upgrade", body + off, body + nread)) { -// abort(); -// } -// -// /* Fix up the response so that message_eq() will verify the beginning -// * of the upgrade */ -// *(body + nread + strlen(m->upgrade)) = '\0'; -// messages[num_messages -1 ].upgrade = body + nread; -// -// va_end(ap); -// return; -// } -// } -// -// va_end(ap); -// printf("\n\n*** Error: expected a message with upgrade ***\n"); -// -// abort(); -//} - static void p (Object o) { - System.out.println(o); - } - - static Settings settings() { - return new Settings(); - } - static Message find(List list, String name) { - for (Message m : list) { - if (name.equals(m.name)) { - return m; - } - } - return null; - } - - static class Settings extends ParserSettings { - public int numCalled; - public int bodyCount; - Settings() { - this.on_message_complete = new HTTPCallback() { - public int cb (HTTPParser parser) { - numCalled++; - return 0; - } - }; - this.on_body = new HTTPDataCallback() { - public int cb (HTTPParser p, ByteBuffer b, int pos, int len) { - bodyCount += len; - return 0; - } - }; - } - - int numCalled () { - return this.numCalled; - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java deleted file mode 100644 index fc8f081..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java +++ /dev/null @@ -1,59 +0,0 @@ -package http_parser.lolevel; - -import java.nio.*; -import java.util.*; - -import http_parser.ParserType; - -import static http_parser.lolevel.Util.*; - -public class WrongContentLength { - static final String contentLength = "GET / HTTP/1.0\r\n" + - "Content-Length: 5\r\n" + - "\r\n" + - "hello" + - "hello_again"; - static void test () { - p(WrongContentLength.class); - HTTPParser parser = new HTTPParser(ParserType.HTTP_REQUEST); - ByteBuffer buf = buffer(contentLength); - - Settings settings = new Settings(); - - int read = parser.execute(settings, buf); - check (settings.msg_cmplt_called); - check ("invalid method".equals(settings.err)); - - } - public static void main(String [] args) { - test(); - } - - static class Settings extends ParserSettings { - public int bodyCount; - public boolean msg_cmplt_called; - public String err; - Settings () { - this.on_message_complete = new HTTPCallback () { - public int cb (HTTPParser p) { - check (5 == bodyCount); - msg_cmplt_called = true; - return 0; - } - }; - this.on_body = new HTTPDataCallback() { - public int cb (HTTPParser p, ByteBuffer b, int pos, int len) { - bodyCount += len; - check ("hello".equals(str(b, pos, len))); - return 0; - } - }; - this.on_error = new HTTPErrorCallback() { - public void cb (HTTPParser p, String mes, ByteBuffer b, int i) { - err = mes; - } - }; - } - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/test.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/test.c deleted file mode 100644 index 3840747..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/test.c +++ /dev/null @@ -1,3425 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#include "http_parser.h" -#include -#include -#include -#include /* rand */ -#include -#include - -#undef TRUE -#define TRUE 1 -#undef FALSE -#define FALSE 0 - -#define MAX_HEADERS 13 -#define MAX_ELEMENT_SIZE 2048 - -#define MIN(a,b) ((a) < (b) ? (a) : (b)) - -static http_parser *parser; - -struct message { - const char *name; // for debugging purposes - const char *raw; - enum http_parser_type type; - enum http_method method; - int status_code; - char request_path[MAX_ELEMENT_SIZE]; - char request_url[MAX_ELEMENT_SIZE]; - char fragment[MAX_ELEMENT_SIZE]; - char query_string[MAX_ELEMENT_SIZE]; - char body[MAX_ELEMENT_SIZE]; - size_t body_size; - const char *host; - const char *userinfo; - uint16_t port; - int num_headers; - enum { NONE=0, FIELD, VALUE } last_header_element; - char headers [MAX_HEADERS][2][MAX_ELEMENT_SIZE]; - int should_keep_alive; - - const char *upgrade; // upgraded body - - unsigned short http_major; - unsigned short http_minor; - - int message_begin_cb_called; - int headers_complete_cb_called; - int message_complete_cb_called; - int message_complete_on_eof; - int body_is_final; -}; - -static int currently_parsing_eof; - -static struct message messages[5]; -static int num_messages; -static http_parser_settings *current_pause_parser; - -/* * R E Q U E S T S * */ -const struct message requests[] = -#define CURL_GET 0 -{ {.name= "curl get" - ,.type= HTTP_REQUEST - ,.raw= "GET /test HTTP/1.1\r\n" - "User-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1\r\n" - "Host: 0.0.0.0=5000\r\n" - "Accept: */*\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 3 - ,.headers= - { { "User-Agent", "curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1" } - , { "Host", "0.0.0.0=5000" } - , { "Accept", "*/*" } - } - ,.body= "" - } - -#define FIREFOX_GET 1 -, {.name= "firefox get" - ,.type= HTTP_REQUEST - ,.raw= "GET /favicon.ico HTTP/1.1\r\n" - "Host: 0.0.0.0=5000\r\n" - "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0\r\n" - "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" - "Accept-Language: en-us,en;q=0.5\r\n" - "Accept-Encoding: gzip,deflate\r\n" - "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" - "Keep-Alive: 300\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/favicon.ico" - ,.request_url= "/favicon.ico" - ,.num_headers= 8 - ,.headers= - { { "Host", "0.0.0.0=5000" } - , { "User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0" } - , { "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" } - , { "Accept-Language", "en-us,en;q=0.5" } - , { "Accept-Encoding", "gzip,deflate" } - , { "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7" } - , { "Keep-Alive", "300" } - , { "Connection", "keep-alive" } - } - ,.body= "" - } - -#define DUMBFUCK 2 -, {.name= "dumbfuck" - ,.type= HTTP_REQUEST - ,.raw= "GET /dumbfuck HTTP/1.1\r\n" - "aaaaaaaaaaaaa:++++++++++\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/dumbfuck" - ,.request_url= "/dumbfuck" - ,.num_headers= 1 - ,.headers= - { { "aaaaaaaaaaaaa", "++++++++++" } - } - ,.body= "" - } - -#define FRAGMENT_IN_URI 3 -, {.name= "fragment in url" - ,.type= HTTP_REQUEST - ,.raw= "GET /forums/1/topics/2375?page=1#posts-17408 HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "page=1" - ,.fragment= "posts-17408" - ,.request_path= "/forums/1/topics/2375" - /* XXX request url does include fragment? */ - ,.request_url= "/forums/1/topics/2375?page=1#posts-17408" - ,.num_headers= 0 - ,.body= "" - } - -#define GET_NO_HEADERS_NO_BODY 4 -, {.name= "get no headers no body" - ,.type= HTTP_REQUEST - ,.raw= "GET /get_no_headers_no_body/world HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE /* would need Connection: close */ - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/get_no_headers_no_body/world" - ,.request_url= "/get_no_headers_no_body/world" - ,.num_headers= 0 - ,.body= "" - } - -#define GET_ONE_HEADER_NO_BODY 5 -, {.name= "get one header no body" - ,.type= HTTP_REQUEST - ,.raw= "GET /get_one_header_no_body HTTP/1.1\r\n" - "Accept: */*\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE /* would need Connection: close */ - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/get_one_header_no_body" - ,.request_url= "/get_one_header_no_body" - ,.num_headers= 1 - ,.headers= - { { "Accept" , "*/*" } - } - ,.body= "" - } - -#define GET_FUNKY_CONTENT_LENGTH 6 -, {.name= "get funky content length body hello" - ,.type= HTTP_REQUEST - ,.raw= "GET /get_funky_content_length_body_hello HTTP/1.0\r\n" - "conTENT-Length: 5\r\n" - "\r\n" - "HELLO" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/get_funky_content_length_body_hello" - ,.request_url= "/get_funky_content_length_body_hello" - ,.num_headers= 1 - ,.headers= - { { "conTENT-Length" , "5" } - } - ,.body= "HELLO" - } - -#define POST_IDENTITY_BODY_WORLD 7 -, {.name= "post identity body world" - ,.type= HTTP_REQUEST - ,.raw= "POST /post_identity_body_world?q=search#hey HTTP/1.1\r\n" - "Accept: */*\r\n" - "Transfer-Encoding: identity\r\n" - "Content-Length: 5\r\n" - "\r\n" - "World" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "q=search" - ,.fragment= "hey" - ,.request_path= "/post_identity_body_world" - ,.request_url= "/post_identity_body_world?q=search#hey" - ,.num_headers= 3 - ,.headers= - { { "Accept", "*/*" } - , { "Transfer-Encoding", "identity" } - , { "Content-Length", "5" } - } - ,.body= "World" - } - -#define POST_CHUNKED_ALL_YOUR_BASE 8 -, {.name= "post - chunked body: all your base are belong to us" - ,.type= HTTP_REQUEST - ,.raw= "POST /post_chunked_all_your_base HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "1e\r\nall your base are belong to us\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/post_chunked_all_your_base" - ,.request_url= "/post_chunked_all_your_base" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding" , "chunked" } - } - ,.body= "all your base are belong to us" - } - -#define TWO_CHUNKS_MULT_ZERO_END 9 -, {.name= "two chunks ; triple zero ending" - ,.type= HTTP_REQUEST - ,.raw= "POST /two_chunks_mult_zero_end HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "5\r\nhello\r\n" - "6\r\n world\r\n" - "000\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/two_chunks_mult_zero_end" - ,.request_url= "/two_chunks_mult_zero_end" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding", "chunked" } - } - ,.body= "hello world" - } - -#define CHUNKED_W_TRAILING_HEADERS 10 -, {.name= "chunked with trailing headers. blech." - ,.type= HTTP_REQUEST - ,.raw= "POST /chunked_w_trailing_headers HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "5\r\nhello\r\n" - "6\r\n world\r\n" - "0\r\n" - "Vary: *\r\n" - "Content-Type: text/plain\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/chunked_w_trailing_headers" - ,.request_url= "/chunked_w_trailing_headers" - ,.num_headers= 3 - ,.headers= - { { "Transfer-Encoding", "chunked" } - , { "Vary", "*" } - , { "Content-Type", "text/plain" } - } - ,.body= "hello world" - } - -#define CHUNKED_W_BULLSHIT_AFTER_LENGTH 11 -, {.name= "with bullshit after the length" - ,.type= HTTP_REQUEST - ,.raw= "POST /chunked_w_bullshit_after_length HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "5; ihatew3;whatthefuck=aretheseparametersfor\r\nhello\r\n" - "6; blahblah; blah\r\n world\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/chunked_w_bullshit_after_length" - ,.request_url= "/chunked_w_bullshit_after_length" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding", "chunked" } - } - ,.body= "hello world" - } - -#define WITH_QUOTES 12 -, {.name= "with quotes" - ,.type= HTTP_REQUEST - ,.raw= "GET /with_\"stupid\"_quotes?foo=\"bar\" HTTP/1.1\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "foo=\"bar\"" - ,.fragment= "" - ,.request_path= "/with_\"stupid\"_quotes" - ,.request_url= "/with_\"stupid\"_quotes?foo=\"bar\"" - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define APACHEBENCH_GET 13 -/* The server receiving this request SHOULD NOT wait for EOF - * to know that content-length == 0. - * How to represent this in a unit test? message_complete_on_eof - * Compare with NO_CONTENT_LENGTH_RESPONSE. - */ -, {.name = "apachebench get" - ,.type= HTTP_REQUEST - ,.raw= "GET /test HTTP/1.0\r\n" - "Host: 0.0.0.0:5000\r\n" - "User-Agent: ApacheBench/2.3\r\n" - "Accept: */*\r\n\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 3 - ,.headers= { { "Host", "0.0.0.0:5000" } - , { "User-Agent", "ApacheBench/2.3" } - , { "Accept", "*/*" } - } - ,.body= "" - } - -#define QUERY_URL_WITH_QUESTION_MARK_GET 14 -/* Some clients include '?' characters in query strings. - */ -, {.name = "query url with question mark" - ,.type= HTTP_REQUEST - ,.raw= "GET /test.cgi?foo=bar?baz HTTP/1.1\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "foo=bar?baz" - ,.fragment= "" - ,.request_path= "/test.cgi" - ,.request_url= "/test.cgi?foo=bar?baz" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define PREFIX_NEWLINE_GET 15 -/* Some clients, especially after a POST in a keep-alive connection, - * will send an extra CRLF before the next request - */ -, {.name = "newline prefix get" - ,.type= HTTP_REQUEST - ,.raw= "\r\nGET /test HTTP/1.1\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define UPGRADE_REQUEST 16 -, {.name = "upgrade request" - ,.type= HTTP_REQUEST - ,.raw= "GET /demo HTTP/1.1\r\n" - "Host: example.com\r\n" - "Connection: Upgrade\r\n" - "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n" - "Sec-WebSocket-Protocol: sample\r\n" - "Upgrade: WebSocket\r\n" - "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n" - "Origin: http://example.com\r\n" - "\r\n" - "Hot diggity dogg" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/demo" - ,.request_url= "/demo" - ,.num_headers= 7 - ,.upgrade="Hot diggity dogg" - ,.headers= { { "Host", "example.com" } - , { "Connection", "Upgrade" } - , { "Sec-WebSocket-Key2", "12998 5 Y3 1 .P00" } - , { "Sec-WebSocket-Protocol", "sample" } - , { "Upgrade", "WebSocket" } - , { "Sec-WebSocket-Key1", "4 @1 46546xW%0l 1 5" } - , { "Origin", "http://example.com" } - } - ,.body= "" - } - -#define CONNECT_REQUEST 17 -, {.name = "connect request" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "\r\n" - "some data\r\n" - "and yet even more data" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "0-home0.netscape.com:443" - ,.num_headers= 2 - ,.upgrade="some data\r\nand yet even more data" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - } - ,.body= "" - } - -#define REPORT_REQ 18 -, {.name= "report request" - ,.type= HTTP_REQUEST - ,.raw= "REPORT /test HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_REPORT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define NO_HTTP_VERSION 19 -, {.name= "request with no http version" - ,.type= HTTP_REQUEST - ,.raw= "GET /\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 0 - ,.http_minor= 9 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define MSEARCH_REQ 20 -, {.name= "m-search request" - ,.type= HTTP_REQUEST - ,.raw= "M-SEARCH * HTTP/1.1\r\n" - "HOST: 239.255.255.250:1900\r\n" - "MAN: \"ssdp:discover\"\r\n" - "ST: \"ssdp:all\"\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_MSEARCH - ,.query_string= "" - ,.fragment= "" - ,.request_path= "*" - ,.request_url= "*" - ,.num_headers= 3 - ,.headers= { { "HOST", "239.255.255.250:1900" } - , { "MAN", "\"ssdp:discover\"" } - , { "ST", "\"ssdp:all\"" } - } - ,.body= "" - } - -#define LINE_FOLDING_IN_HEADER 21 -, {.name= "line folding in header value" - ,.type= HTTP_REQUEST - ,.raw= "GET / HTTP/1.1\r\n" - "Line1: abc\r\n" - "\tdef\r\n" - " ghi\r\n" - "\t\tjkl\r\n" - " mno \r\n" - "\t \tqrs\r\n" - "Line2: \t line2\t\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 2 - ,.headers= { { "Line1", "abcdefghijklmno qrs" } - , { "Line2", "line2\t" } - } - ,.body= "" - } - - -#define QUERY_TERMINATED_HOST 22 -, {.name= "host terminated by a query string" - ,.type= HTTP_REQUEST - ,.raw= "GET http://hypnotoad.org?hail=all HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "hail=all" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "http://hypnotoad.org?hail=all" - ,.host= "hypnotoad.org" - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define QUERY_TERMINATED_HOSTPORT 23 -, {.name= "host:port terminated by a query string" - ,.type= HTTP_REQUEST - ,.raw= "GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "hail=all" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "http://hypnotoad.org:1234?hail=all" - ,.host= "hypnotoad.org" - ,.port= 1234 - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define SPACE_TERMINATED_HOSTPORT 24 -, {.name= "host:port terminated by a space" - ,.type= HTTP_REQUEST - ,.raw= "GET http://hypnotoad.org:1234 HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "http://hypnotoad.org:1234" - ,.host= "hypnotoad.org" - ,.port= 1234 - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define PATCH_REQ 25 -, {.name = "PATCH request" - ,.type= HTTP_REQUEST - ,.raw= "PATCH /file.txt HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Content-Type: application/example\r\n" - "If-Match: \"e0023aa4e\"\r\n" - "Content-Length: 10\r\n" - "\r\n" - "cccccccccc" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_PATCH - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/file.txt" - ,.request_url= "/file.txt" - ,.num_headers= 4 - ,.headers= { { "Host", "www.example.com" } - , { "Content-Type", "application/example" } - , { "If-Match", "\"e0023aa4e\"" } - , { "Content-Length", "10" } - } - ,.body= "cccccccccc" - } - -#define CONNECT_CAPS_REQUEST 26 -, {.name = "connect caps request" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "HOME0.NETSCAPE.COM:443" - ,.num_headers= 2 - ,.upgrade="" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - } - ,.body= "" - } - -#if !HTTP_PARSER_STRICT -#define UTF8_PATH_REQ 27 -, {.name= "utf-8 path request" - ,.type= HTTP_REQUEST - ,.raw= "GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\n" - "Host: github.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "q=1" - ,.fragment= "narf" - ,.request_path= "/δ¶/δt/pope" - ,.request_url= "/δ¶/δt/pope?q=1#narf" - ,.num_headers= 1 - ,.headers= { {"Host", "github.com" } - } - ,.body= "" - } - -#define HOSTNAME_UNDERSCORE 28 -, {.name = "hostname underscore" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT home_0.netscape.com:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "home_0.netscape.com:443" - ,.num_headers= 2 - ,.upgrade="" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - } - ,.body= "" - } -#endif /* !HTTP_PARSER_STRICT */ - -/* see https://github.com/ry/http-parser/issues/47 */ -#define EAT_TRAILING_CRLF_NO_CONNECTION_CLOSE 29 -, {.name = "eat CRLF between requests, no \"Connection: close\" header" - ,.raw= "POST / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Content-Type: application/x-www-form-urlencoded\r\n" - "Content-Length: 4\r\n" - "\r\n" - "q=42\r\n" /* note the trailing CRLF */ - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 3 - ,.upgrade= 0 - ,.headers= { { "Host", "www.example.com" } - , { "Content-Type", "application/x-www-form-urlencoded" } - , { "Content-Length", "4" } - } - ,.body= "q=42" - } - -/* see https://github.com/ry/http-parser/issues/47 */ -#define EAT_TRAILING_CRLF_WITH_CONNECTION_CLOSE 30 -, {.name = "eat CRLF between requests even if \"Connection: close\" is set" - ,.raw= "POST / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Content-Type: application/x-www-form-urlencoded\r\n" - "Content-Length: 4\r\n" - "Connection: close\r\n" - "\r\n" - "q=42\r\n" /* note the trailing CRLF */ - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE /* input buffer isn't empty when on_message_complete is called */ - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 4 - ,.upgrade= 0 - ,.headers= { { "Host", "www.example.com" } - , { "Content-Type", "application/x-www-form-urlencoded" } - , { "Content-Length", "4" } - , { "Connection", "close" } - } - ,.body= "q=42" - } - -#define PURGE_REQ 31 -, {.name = "PURGE request" - ,.type= HTTP_REQUEST - ,.raw= "PURGE /file.txt HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_PURGE - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/file.txt" - ,.request_url= "/file.txt" - ,.num_headers= 1 - ,.headers= { { "Host", "www.example.com" } } - ,.body= "" - } - -#define SEARCH_REQ 32 -, {.name = "SEARCH request" - ,.type= HTTP_REQUEST - ,.raw= "SEARCH / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_SEARCH - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 1 - ,.headers= { { "Host", "www.example.com" } } - ,.body= "" - } - -#define PROXY_WITH_BASIC_AUTH 33 -, {.name= "host:port and basic_auth" - ,.type= HTTP_REQUEST - ,.raw= "GET http://a%12:b!&*$@hypnotoad.org:1234/toto HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.fragment= "" - ,.request_path= "/toto" - ,.request_url= "http://a%12:b!&*$@hypnotoad.org:1234/toto" - ,.host= "hypnotoad.org" - ,.userinfo= "a%12:b!&*$" - ,.port= 1234 - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - - -, {.name= NULL } /* sentinel */ -}; - -/* * R E S P O N S E S * */ -const struct message responses[] = -#define GOOGLE_301 0 -{ {.name= "google 301" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 301 Moved Permanently\r\n" - "Location: http://www.google.com/\r\n" - "Content-Type: text/html; charset=UTF-8\r\n" - "Date: Sun, 26 Apr 2009 11:11:49 GMT\r\n" - "Expires: Tue, 26 May 2009 11:11:49 GMT\r\n" - "X-$PrototypeBI-Version: 1.6.0.3\r\n" /* $ char in header field */ - "Cache-Control: public, max-age=2592000\r\n" - "Server: gws\r\n" - "Content-Length: 219 \r\n" - "\r\n" - "\n" - "301 Moved\n" - "

301 Moved

\n" - "The document has moved\n" - "
here.\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 301 - ,.num_headers= 8 - ,.headers= - { { "Location", "http://www.google.com/" } - , { "Content-Type", "text/html; charset=UTF-8" } - , { "Date", "Sun, 26 Apr 2009 11:11:49 GMT" } - , { "Expires", "Tue, 26 May 2009 11:11:49 GMT" } - , { "X-$PrototypeBI-Version", "1.6.0.3" } - , { "Cache-Control", "public, max-age=2592000" } - , { "Server", "gws" } - , { "Content-Length", "219 " } - } - ,.body= "\n" - "301 Moved\n" - "

301 Moved

\n" - "The document has moved\n" - "here.\r\n" - "\r\n" - } - -#define NO_CONTENT_LENGTH_RESPONSE 1 -/* The client should wait for the server's EOF. That is, when content-length - * is not specified, and "Connection: close", the end of body is specified - * by the EOF. - * Compare with APACHEBENCH_GET - */ -, {.name= "no content-length response" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Date: Tue, 04 Aug 2009 07:59:32 GMT\r\n" - "Server: Apache\r\n" - "X-Powered-By: Servlet/2.5 JSP/2.1\r\n" - "Content-Type: text/xml; charset=utf-8\r\n" - "Connection: close\r\n" - "\r\n" - "\n" - "\n" - " \n" - " \n" - " SOAP-ENV:Client\n" - " Client Error\n" - " \n" - " \n" - "" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 5 - ,.headers= - { { "Date", "Tue, 04 Aug 2009 07:59:32 GMT" } - , { "Server", "Apache" } - , { "X-Powered-By", "Servlet/2.5 JSP/2.1" } - , { "Content-Type", "text/xml; charset=utf-8" } - , { "Connection", "close" } - } - ,.body= "\n" - "\n" - " \n" - " \n" - " SOAP-ENV:Client\n" - " Client Error\n" - " \n" - " \n" - "" - } - -#define NO_HEADERS_NO_BODY_404 2 -, {.name= "404 no headers no body" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 404 Not Found\r\n\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 404 - ,.num_headers= 0 - ,.headers= {} - ,.body_size= 0 - ,.body= "" - } - -#define NO_REASON_PHRASE 3 -, {.name= "301 no response phrase" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 301\r\n\r\n" - ,.should_keep_alive = FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 301 - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define TRAILING_SPACE_ON_CHUNKED_BODY 4 -, {.name="200 trailing space on chunked body" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Type: text/plain\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "25 \r\n" - "This is the data in the first chunk\r\n" - "\r\n" - "1C\r\n" - "and this is the second one\r\n" - "\r\n" - "0 \r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 2 - ,.headers= - { {"Content-Type", "text/plain" } - , {"Transfer-Encoding", "chunked" } - } - ,.body_size = 37+28 - ,.body = - "This is the data in the first chunk\r\n" - "and this is the second one\r\n" - - } - -#define NO_CARRIAGE_RET 5 -, {.name="no carriage ret" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\n" - "Content-Type: text/html; charset=utf-8\n" - "Connection: close\n" - "\n" - "these headers are from http://news.ycombinator.com/" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 2 - ,.headers= - { {"Content-Type", "text/html; charset=utf-8" } - , {"Connection", "close" } - } - ,.body= "these headers are from http://news.ycombinator.com/" - } - -#define PROXY_CONNECTION 6 -, {.name="proxy connection" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Type: text/html; charset=UTF-8\r\n" - "Content-Length: 11\r\n" - "Proxy-Connection: close\r\n" - "Date: Thu, 31 Dec 2009 20:55:48 +0000\r\n" - "\r\n" - "hello world" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 4 - ,.headers= - { {"Content-Type", "text/html; charset=UTF-8" } - , {"Content-Length", "11" } - , {"Proxy-Connection", "close" } - , {"Date", "Thu, 31 Dec 2009 20:55:48 +0000"} - } - ,.body= "hello world" - } - -#define UNDERSTORE_HEADER_KEY 7 - // shown by - // curl -o /dev/null -v "http://ad.doubleclick.net/pfadx/DARTSHELLCONFIGXML;dcmt=text/xml;" -, {.name="underscore header key" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Server: DCLK-AdSvr\r\n" - "Content-Type: text/xml\r\n" - "Content-Length: 0\r\n" - "DCLK_imp: v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 4 - ,.headers= - { {"Server", "DCLK-AdSvr" } - , {"Content-Type", "text/xml" } - , {"Content-Length", "0" } - , {"DCLK_imp", "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o" } - } - ,.body= "" - } - -#define BONJOUR_MADAME_FR 8 -/* The client should not merge two headers fields when the first one doesn't - * have a value. - */ -, {.name= "bonjourmadame.fr" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.0 301 Moved Permanently\r\n" - "Date: Thu, 03 Jun 2010 09:56:32 GMT\r\n" - "Server: Apache/2.2.3 (Red Hat)\r\n" - "Cache-Control: public\r\n" - "Pragma: \r\n" - "Location: http://www.bonjourmadame.fr/\r\n" - "Vary: Accept-Encoding\r\n" - "Content-Length: 0\r\n" - "Content-Type: text/html; charset=UTF-8\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 301 - ,.num_headers= 9 - ,.headers= - { { "Date", "Thu, 03 Jun 2010 09:56:32 GMT" } - , { "Server", "Apache/2.2.3 (Red Hat)" } - , { "Cache-Control", "public" } - , { "Pragma", "" } - , { "Location", "http://www.bonjourmadame.fr/" } - , { "Vary", "Accept-Encoding" } - , { "Content-Length", "0" } - , { "Content-Type", "text/html; charset=UTF-8" } - , { "Connection", "keep-alive" } - } - ,.body= "" - } - -#define RES_FIELD_UNDERSCORE 9 -/* Should handle spaces in header fields */ -, {.name= "field underscore" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Date: Tue, 28 Sep 2010 01:14:13 GMT\r\n" - "Server: Apache\r\n" - "Cache-Control: no-cache, must-revalidate\r\n" - "Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n" - ".et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\n" - "Vary: Accept-Encoding\r\n" - "_eep-Alive: timeout=45\r\n" /* semantic value ignored */ - "_onnection: Keep-Alive\r\n" /* semantic value ignored */ - "Transfer-Encoding: chunked\r\n" - "Content-Type: text/html\r\n" - "Connection: close\r\n" - "\r\n" - "0\r\n\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 11 - ,.headers= - { { "Date", "Tue, 28 Sep 2010 01:14:13 GMT" } - , { "Server", "Apache" } - , { "Cache-Control", "no-cache, must-revalidate" } - , { "Expires", "Mon, 26 Jul 1997 05:00:00 GMT" } - , { ".et-Cookie", "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com" } - , { "Vary", "Accept-Encoding" } - , { "_eep-Alive", "timeout=45" } - , { "_onnection", "Keep-Alive" } - , { "Transfer-Encoding", "chunked" } - , { "Content-Type", "text/html" } - , { "Connection", "close" } - } - ,.body= "" - } - -#define NON_ASCII_IN_STATUS_LINE 10 -/* Should handle non-ASCII in status line */ -, {.name= "non-ASCII in status line" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 500 Oriëntatieprobleem\r\n" - "Date: Fri, 5 Nov 2010 23:07:12 GMT+2\r\n" - "Content-Length: 0\r\n" - "Connection: close\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 500 - ,.num_headers= 3 - ,.headers= - { { "Date", "Fri, 5 Nov 2010 23:07:12 GMT+2" } - , { "Content-Length", "0" } - , { "Connection", "close" } - } - ,.body= "" - } - -#define HTTP_VERSION_0_9 11 -/* Should handle HTTP/0.9 */ -, {.name= "http version 0.9" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/0.9 200 OK\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 0 - ,.http_minor= 9 - ,.status_code= 200 - ,.num_headers= 0 - ,.headers= - {} - ,.body= "" - } - -#define NO_CONTENT_LENGTH_NO_TRANSFER_ENCODING_RESPONSE 12 -/* The client should wait for the server's EOF. That is, when neither - * content-length nor transfer-encoding is specified, the end of body - * is specified by the EOF. - */ -, {.name= "neither content-length nor transfer-encoding response" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Type: text/plain\r\n" - "\r\n" - "hello world" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 1 - ,.headers= - { { "Content-Type", "text/plain" } - } - ,.body= "hello world" - } - -#define NO_BODY_HTTP10_KA_200 13 -, {.name= "HTTP/1.0 with keep-alive and EOF-terminated 200 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.0 200 OK\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 200 - ,.num_headers= 1 - ,.headers= - { { "Connection", "keep-alive" } - } - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP10_KA_204 14 -, {.name= "HTTP/1.0 with keep-alive and a 204 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.0 204 No content\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 204 - ,.num_headers= 1 - ,.headers= - { { "Connection", "keep-alive" } - } - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_KA_200 15 -, {.name= "HTTP/1.1 with an EOF-terminated 200 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 0 - ,.headers={} - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_KA_204 16 -, {.name= "HTTP/1.1 with a 204 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 204 No content\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 204 - ,.num_headers= 0 - ,.headers={} - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_NOKA_204 17 -, {.name= "HTTP/1.1 with a 204 status and keep-alive disabled" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 204 No content\r\n" - "Connection: close\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 204 - ,.num_headers= 1 - ,.headers= - { { "Connection", "close" } - } - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_KA_CHUNKED_200 18 -, {.name= "HTTP/1.1 with chunked endocing and a 200 response" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding", "chunked" } - } - ,.body_size= 0 - ,.body= "" - } - -#if !HTTP_PARSER_STRICT -#define SPACE_IN_FIELD_RES 19 -/* Should handle spaces in header fields */ -, {.name= "field space" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Server: Microsoft-IIS/6.0\r\n" - "X-Powered-By: ASP.NET\r\n" - "en-US Content-Type: text/xml\r\n" /* this is the problem */ - "Content-Type: text/xml\r\n" - "Content-Length: 16\r\n" - "Date: Fri, 23 Jul 2010 18:45:38 GMT\r\n" - "Connection: keep-alive\r\n" - "\r\n" - "hello" /* fake body */ - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.num_headers= 7 - ,.headers= - { { "Server", "Microsoft-IIS/6.0" } - , { "X-Powered-By", "ASP.NET" } - , { "en-US Content-Type", "text/xml" } - , { "Content-Type", "text/xml" } - , { "Content-Length", "16" } - , { "Date", "Fri, 23 Jul 2010 18:45:38 GMT" } - , { "Connection", "keep-alive" } - } - ,.body= "hello" - } -#endif /* !HTTP_PARSER_STRICT */ - -, {.name= NULL } /* sentinel */ -}; - -/* strnlen() is a POSIX.2008 addition. Can't rely on it being available so - * define it ourselves. - */ -size_t -strnlen(const char *s, size_t maxlen) -{ - const char *p; - - p = memchr(s, '\0', maxlen); - if (p == NULL) - return maxlen; - - return p - s; -} - -size_t -strlncat(char *dst, size_t len, const char *src, size_t n) -{ - size_t slen; - size_t dlen; - size_t rlen; - size_t ncpy; - - slen = strnlen(src, n); - dlen = strnlen(dst, len); - - if (dlen < len) { - rlen = len - dlen; - ncpy = slen < rlen ? slen : (rlen - 1); - memcpy(dst + dlen, src, ncpy); - dst[dlen + ncpy] = '\0'; - } - - assert(len > slen + dlen); - return slen + dlen; -} - -size_t -strlcat(char *dst, const char *src, size_t len) -{ - return strlncat(dst, len, src, (size_t) -1); -} - -size_t -strlncpy(char *dst, size_t len, const char *src, size_t n) -{ - size_t slen; - size_t ncpy; - - slen = strnlen(src, n); - - if (len > 0) { - ncpy = slen < len ? slen : (len - 1); - memcpy(dst, src, ncpy); - dst[ncpy] = '\0'; - } - - assert(len > slen); - return slen; -} - -size_t -strlcpy(char *dst, const char *src, size_t len) -{ - return strlncpy(dst, len, src, (size_t) -1); -} - -int -request_url_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - strlncat(messages[num_messages].request_url, - sizeof(messages[num_messages].request_url), - buf, - len); - return 0; -} - -int -status_complete_cb (http_parser *p) { - assert(p == parser); - p->data++; - return 0; -} - -int -header_field_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - struct message *m = &messages[num_messages]; - - if (m->last_header_element != FIELD) - m->num_headers++; - - strlncat(m->headers[m->num_headers-1][0], - sizeof(m->headers[m->num_headers-1][0]), - buf, - len); - - m->last_header_element = FIELD; - - return 0; -} - -int -header_value_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - struct message *m = &messages[num_messages]; - - strlncat(m->headers[m->num_headers-1][1], - sizeof(m->headers[m->num_headers-1][1]), - buf, - len); - - m->last_header_element = VALUE; - - return 0; -} - -void -check_body_is_final (const http_parser *p) -{ - if (messages[num_messages].body_is_final) { - fprintf(stderr, "\n\n *** Error http_body_is_final() should return 1 " - "on last on_body callback call " - "but it doesn't! ***\n\n"); - assert(0); - abort(); - } - messages[num_messages].body_is_final = http_body_is_final(p); -} - -int -body_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - strlncat(messages[num_messages].body, - sizeof(messages[num_messages].body), - buf, - len); - messages[num_messages].body_size += len; - check_body_is_final(p); - // printf("body_cb: '%s'\n", requests[num_messages].body); - return 0; -} - -int -count_body_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - assert(buf); - messages[num_messages].body_size += len; - check_body_is_final(p); - return 0; -} - -int -message_begin_cb (http_parser *p) -{ - assert(p == parser); - messages[num_messages].message_begin_cb_called = TRUE; - return 0; -} - -int -headers_complete_cb (http_parser *p) -{ - assert(p == parser); - messages[num_messages].method = parser->method; - messages[num_messages].status_code = parser->status_code; - messages[num_messages].http_major = parser->http_major; - messages[num_messages].http_minor = parser->http_minor; - messages[num_messages].headers_complete_cb_called = TRUE; - messages[num_messages].should_keep_alive = http_should_keep_alive(parser); - return 0; -} - -int -message_complete_cb (http_parser *p) -{ - assert(p == parser); - if (messages[num_messages].should_keep_alive != http_should_keep_alive(parser)) - { - fprintf(stderr, "\n\n *** Error http_should_keep_alive() should have same " - "value in both on_message_complete and on_headers_complete " - "but it doesn't! ***\n\n"); - assert(0); - abort(); - } - - if (messages[num_messages].body_size && - http_body_is_final(p) && - !messages[num_messages].body_is_final) - { - fprintf(stderr, "\n\n *** Error http_body_is_final() should return 1 " - "on last on_body callback call " - "but it doesn't! ***\n\n"); - assert(0); - abort(); - } - - messages[num_messages].message_complete_cb_called = TRUE; - - messages[num_messages].message_complete_on_eof = currently_parsing_eof; - - num_messages++; - return 0; -} - -/* These dontcall_* callbacks exist so that we can verify that when we're - * paused, no additional callbacks are invoked */ -int -dontcall_message_begin_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_message_begin() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_header_field_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_header_field() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_header_value_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_header_value() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_request_url_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_request_url() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_body_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_body_cb() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_headers_complete_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_headers_complete() called on paused " - "parser ***\n\n"); - abort(); -} - -int -dontcall_message_complete_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_message_complete() called on paused " - "parser ***\n\n"); - abort(); -} - -static http_parser_settings settings_dontcall = - {.on_message_begin = dontcall_message_begin_cb - ,.on_header_field = dontcall_header_field_cb - ,.on_header_value = dontcall_header_value_cb - ,.on_url = dontcall_request_url_cb - ,.on_body = dontcall_body_cb - ,.on_headers_complete = dontcall_headers_complete_cb - ,.on_message_complete = dontcall_message_complete_cb - }; - -/* These pause_* callbacks always pause the parser and just invoke the regular - * callback that tracks content. Before returning, we overwrite the parser - * settings to point to the _dontcall variety so that we can verify that - * the pause actually did, you know, pause. */ -int -pause_message_begin_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return message_begin_cb(p); -} - -int -pause_header_field_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return header_field_cb(p, buf, len); -} - -int -pause_header_value_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return header_value_cb(p, buf, len); -} - -int -pause_request_url_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return request_url_cb(p, buf, len); -} - -int -pause_body_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return body_cb(p, buf, len); -} - -int -pause_headers_complete_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return headers_complete_cb(p); -} - -int -pause_message_complete_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return message_complete_cb(p); -} - -static http_parser_settings settings_pause = - {.on_message_begin = pause_message_begin_cb - ,.on_header_field = pause_header_field_cb - ,.on_header_value = pause_header_value_cb - ,.on_url = pause_request_url_cb - ,.on_body = pause_body_cb - ,.on_headers_complete = pause_headers_complete_cb - ,.on_message_complete = pause_message_complete_cb - }; - -static http_parser_settings settings = - {.on_message_begin = message_begin_cb - ,.on_header_field = header_field_cb - ,.on_header_value = header_value_cb - ,.on_url = request_url_cb - ,.on_body = body_cb - ,.on_headers_complete = headers_complete_cb - ,.on_message_complete = message_complete_cb - }; - -static http_parser_settings settings_count_body = - {.on_message_begin = message_begin_cb - ,.on_header_field = header_field_cb - ,.on_header_value = header_value_cb - ,.on_url = request_url_cb - ,.on_body = count_body_cb - ,.on_headers_complete = headers_complete_cb - ,.on_message_complete = message_complete_cb - }; - -static http_parser_settings settings_null = - {.on_message_begin = 0 - ,.on_header_field = 0 - ,.on_header_value = 0 - ,.on_url = 0 - ,.on_body = 0 - ,.on_headers_complete = 0 - ,.on_message_complete = 0 - }; - -void -parser_init (enum http_parser_type type) -{ - num_messages = 0; - - assert(parser == NULL); - - parser = malloc(sizeof(http_parser)); - - http_parser_init(parser, type); - - memset(&messages, 0, sizeof messages); - -} - -void -parser_free () -{ - assert(parser); - free(parser); - parser = NULL; -} - -size_t parse (const char *buf, size_t len) -{ - size_t nparsed; - currently_parsing_eof = (len == 0); - nparsed = http_parser_execute(parser, &settings, buf, len); - return nparsed; -} - -size_t parse_count_body (const char *buf, size_t len) -{ - size_t nparsed; - currently_parsing_eof = (len == 0); - nparsed = http_parser_execute(parser, &settings_count_body, buf, len); - return nparsed; -} - -size_t parse_pause (const char *buf, size_t len) -{ - size_t nparsed; - http_parser_settings s = settings_pause; - - currently_parsing_eof = (len == 0); - current_pause_parser = &s; - nparsed = http_parser_execute(parser, current_pause_parser, buf, len); - return nparsed; -} - -static inline int -check_str_eq (const struct message *m, - const char *prop, - const char *expected, - const char *found) { - if ((expected == NULL) != (found == NULL)) { - printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name); - printf("expected %s\n", (expected == NULL) ? "NULL" : expected); - printf(" found %s\n", (found == NULL) ? "NULL" : found); - return 0; - } - if (expected != NULL && 0 != strcmp(expected, found)) { - printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name); - printf("expected '%s'\n", expected); - printf(" found '%s'\n", found); - return 0; - } - return 1; -} - -static inline int -check_num_eq (const struct message *m, - const char *prop, - int expected, - int found) { - if (expected != found) { - printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name); - printf("expected %d\n", expected); - printf(" found %d\n", found); - return 0; - } - return 1; -} - -#define MESSAGE_CHECK_STR_EQ(expected, found, prop) \ - if (!check_str_eq(expected, #prop, expected->prop, found->prop)) return 0 - -#define MESSAGE_CHECK_NUM_EQ(expected, found, prop) \ - if (!check_num_eq(expected, #prop, expected->prop, found->prop)) return 0 - -#define MESSAGE_CHECK_URL_EQ(u, expected, found, prop, fn) \ -do { \ - char ubuf[256]; \ - \ - if ((u)->field_set & (1 << (fn))) { \ - memcpy(ubuf, (found)->request_url + (u)->field_data[(fn)].off, \ - (u)->field_data[(fn)].len); \ - ubuf[(u)->field_data[(fn)].len] = '\0'; \ - } else { \ - ubuf[0] = '\0'; \ - } \ - \ - check_str_eq(expected, #prop, expected->prop, ubuf); \ -} while(0) - -int -message_eq (int index, const struct message *expected) -{ - int i; - struct message *m = &messages[index]; - - MESSAGE_CHECK_NUM_EQ(expected, m, http_major); - MESSAGE_CHECK_NUM_EQ(expected, m, http_minor); - - if (expected->type == HTTP_REQUEST) { - MESSAGE_CHECK_NUM_EQ(expected, m, method); - } else { - MESSAGE_CHECK_NUM_EQ(expected, m, status_code); - } - - MESSAGE_CHECK_NUM_EQ(expected, m, should_keep_alive); - MESSAGE_CHECK_NUM_EQ(expected, m, message_complete_on_eof); - - assert(m->message_begin_cb_called); - assert(m->headers_complete_cb_called); - assert(m->message_complete_cb_called); - - - MESSAGE_CHECK_STR_EQ(expected, m, request_url); - - /* Check URL components; we can't do this w/ CONNECT since it doesn't - * send us a well-formed URL. - */ - if (*m->request_url && m->method != HTTP_CONNECT) { - struct http_parser_url u; - - if (http_parser_parse_url(m->request_url, strlen(m->request_url), 0, &u)) { - fprintf(stderr, "\n\n*** failed to parse URL %s ***\n\n", - m->request_url); - abort(); - } - - if (expected->host) { - MESSAGE_CHECK_URL_EQ(&u, expected, m, host, UF_HOST); - } - - if (expected->userinfo) { - MESSAGE_CHECK_URL_EQ(&u, expected, m, userinfo, UF_USERINFO); - } - - m->port = (u.field_set & (1 << UF_PORT)) ? - u.port : 0; - - MESSAGE_CHECK_URL_EQ(&u, expected, m, query_string, UF_QUERY); - MESSAGE_CHECK_URL_EQ(&u, expected, m, fragment, UF_FRAGMENT); - MESSAGE_CHECK_URL_EQ(&u, expected, m, request_path, UF_PATH); - MESSAGE_CHECK_NUM_EQ(expected, m, port); - } - - if (expected->body_size) { - MESSAGE_CHECK_NUM_EQ(expected, m, body_size); - } else { - MESSAGE_CHECK_STR_EQ(expected, m, body); - } - - MESSAGE_CHECK_NUM_EQ(expected, m, num_headers); - - int r; - for (i = 0; i < m->num_headers; i++) { - r = check_str_eq(expected, "header field", expected->headers[i][0], m->headers[i][0]); - if (!r) return 0; - r = check_str_eq(expected, "header value", expected->headers[i][1], m->headers[i][1]); - if (!r) return 0; - } - - MESSAGE_CHECK_STR_EQ(expected, m, upgrade); - - return 1; -} - -/* Given a sequence of varargs messages, return the number of them that the - * parser should successfully parse, taking into account that upgraded - * messages prevent all subsequent messages from being parsed. - */ -size_t -count_parsed_messages(const size_t nmsgs, ...) { - size_t i; - va_list ap; - - va_start(ap, nmsgs); - - for (i = 0; i < nmsgs; i++) { - struct message *m = va_arg(ap, struct message *); - - if (m->upgrade) { - va_end(ap); - return i + 1; - } - } - - va_end(ap); - return nmsgs; -} - -/* Given a sequence of bytes and the number of these that we were able to - * parse, verify that upgrade bodies are correct. - */ -void -upgrade_message_fix(char *body, const size_t nread, const size_t nmsgs, ...) { - va_list ap; - size_t i; - size_t off = 0; - - va_start(ap, nmsgs); - - for (i = 0; i < nmsgs; i++) { - struct message *m = va_arg(ap, struct message *); - - off += strlen(m->raw); - - if (m->upgrade) { - off -= strlen(m->upgrade); - - /* Check the portion of the response after its specified upgrade */ - if (!check_str_eq(m, "upgrade", body + off, body + nread)) { - abort(); - } - - /* Fix up the response so that message_eq() will verify the beginning - * of the upgrade */ - *(body + nread + strlen(m->upgrade)) = '\0'; - messages[num_messages -1 ].upgrade = body + nread; - - va_end(ap); - return; - } - } - - va_end(ap); - printf("\n\n*** Error: expected a message with upgrade ***\n"); - - abort(); -} - -static void -print_error (const char *raw, size_t error_location) -{ - fprintf(stderr, "\n*** %s ***\n\n", - http_errno_description(HTTP_PARSER_ERRNO(parser))); - - int this_line = 0, char_len = 0; - size_t i, j, len = strlen(raw), error_location_line = 0; - for (i = 0; i < len; i++) { - if (i == error_location) this_line = 1; - switch (raw[i]) { - case '\r': - char_len = 2; - fprintf(stderr, "\\r"); - break; - - case '\n': - char_len = 2; - fprintf(stderr, "\\n\n"); - - if (this_line) goto print; - - error_location_line = 0; - continue; - - default: - char_len = 1; - fputc(raw[i], stderr); - break; - } - if (!this_line) error_location_line += char_len; - } - - fprintf(stderr, "[eof]\n"); - - print: - for (j = 0; j < error_location_line; j++) { - fputc(' ', stderr); - } - fprintf(stderr, "^\n\nerror location: %u\n", (unsigned int)error_location); -} - -void -test_preserve_data (void) -{ - char my_data[] = "application-specific data"; - http_parser parser; - parser.data = my_data; - http_parser_init(&parser, HTTP_REQUEST); - if (parser.data != my_data) { - printf("\n*** parser.data not preserved accross http_parser_init ***\n\n"); - abort(); - } -} - -struct url_test { - const char *name; - const char *url; - int is_connect; - struct http_parser_url u; - int rv; -}; - -const struct url_test url_tests[] = -{ {.name="proxy request" - ,.url="http://hostname/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH) - ,.port=0 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 7, 8 } /* UF_HOST */ - ,{ 0, 0 } /* UF_PORT */ - ,{ 15, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="proxy request with port" - ,.url="http://hostname:444/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PORT) | (1 << UF_PATH) - ,.port=444 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 7, 8 } /* UF_HOST */ - ,{ 16, 3 } /* UF_PORT */ - ,{ 19, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="CONNECT request" - ,.url="hostname:443" - ,.is_connect=1 - ,.u= - {.field_set=(1 << UF_HOST) | (1 << UF_PORT) - ,.port=443 - ,.field_data= - {{ 0, 0 } /* UF_SCHEMA */ - ,{ 0, 8 } /* UF_HOST */ - ,{ 9, 3 } /* UF_PORT */ - ,{ 0, 0 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="CONNECT request but not connect" - ,.url="hostname:443" - ,.is_connect=0 - ,.rv=1 - } - -, {.name="proxy ipv6 request" - ,.url="http://[1:2::3:4]/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH) - ,.port=0 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 8, 8 } /* UF_HOST */ - ,{ 0, 0 } /* UF_PORT */ - ,{ 17, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="proxy ipv6 request with port" - ,.url="http://[1:2::3:4]:67/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PORT) | (1 << UF_PATH) - ,.port=67 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 8, 8 } /* UF_HOST */ - ,{ 18, 2 } /* UF_PORT */ - ,{ 20, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="CONNECT ipv6 address" - ,.url="[1:2::3:4]:443" - ,.is_connect=1 - ,.u= - {.field_set=(1 << UF_HOST) | (1 << UF_PORT) - ,.port=443 - ,.field_data= - {{ 0, 0 } /* UF_SCHEMA */ - ,{ 1, 8 } /* UF_HOST */ - ,{ 11, 3 } /* UF_PORT */ - ,{ 0, 0 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="ipv4 in ipv6 address" - ,.url="http://[2001:0000:0000:0000:0000:0000:1.9.1.1]/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH) - ,.port=0 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 8, 37 } /* UF_HOST */ - ,{ 0, 0 } /* UF_PORT */ - ,{ 46, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="extra ? in query string" - ,.url="http://a.tbcdn.cn/p/fp/2010c/??fp-header-min.css,fp-base-min.css," - "fp-channel-min.css,fp-product-min.css,fp-mall-min.css,fp-category-min.css," - "fp-sub-min.css,fp-gdp4p-min.css,fp-css3-min.css,fp-misc-min.css?t=20101022.css" - ,.is_connect=0 - ,.u= - {.field_set=(1<field_set, u->port); - for (i = 0; i < UF_MAX; i++) { - if ((u->field_set & (1 << i)) == 0) { - printf("\tfield_data[%u]: unset\n", i); - continue; - } - - printf("\tfield_data[%u]: off: %u len: %u part: \"%.*s\n\"", - i, - u->field_data[i].off, - u->field_data[i].len, - u->field_data[i].len, - url + u->field_data[i].off); - } -} - -void -test_parse_url (void) -{ - struct http_parser_url u; - const struct url_test *test; - unsigned int i; - int rv; - - for (i = 0; i < (sizeof(url_tests) / sizeof(url_tests[0])); i++) { - test = &url_tests[i]; - memset(&u, 0, sizeof(u)); - - rv = http_parser_parse_url(test->url, - strlen(test->url), - test->is_connect, - &u); - - if (test->rv == 0) { - if (rv != 0) { - printf("\n*** http_parser_parse_url(\"%s\") \"%s\" test failed, " - "unexpected rv %d ***\n\n", test->url, test->name, rv); - abort(); - } - - if (memcmp(&u, &test->u, sizeof(u)) != 0) { - printf("\n*** http_parser_parse_url(\"%s\") \"%s\" failed ***\n", - test->url, test->name); - - printf("target http_parser_url:\n"); - dump_url(test->url, &test->u); - printf("result http_parser_url:\n"); - dump_url(test->url, &u); - - abort(); - } - } else { - /* test->rv != 0 */ - if (rv == 0) { - printf("\n*** http_parser_parse_url(\"%s\") \"%s\" test failed, " - "unexpected rv %d ***\n\n", test->url, test->name, rv); - abort(); - } - } - } -} - -void -test_method_str (void) -{ - assert(0 == strcmp("GET", http_method_str(HTTP_GET))); - assert(0 == strcmp("", http_method_str(1337))); -} - -void -test_message (const struct message *message) -{ - size_t raw_len = strlen(message->raw); - size_t msg1len; - for (msg1len = 0; msg1len < raw_len; msg1len++) { - parser_init(message->type); - - size_t read; - const char *msg1 = message->raw; - const char *msg2 = msg1 + msg1len; - size_t msg2len = raw_len - msg1len; - - if (msg1len) { - read = parse(msg1, msg1len); - - if (message->upgrade && parser->upgrade) { - messages[num_messages - 1].upgrade = msg1 + read; - goto test; - } - - if (read != msg1len) { - print_error(msg1, read); - abort(); - } - } - - - read = parse(msg2, msg2len); - - if (message->upgrade && parser->upgrade) { - messages[num_messages - 1].upgrade = msg2 + read; - goto test; - } - - if (read != msg2len) { - print_error(msg2, read); - abort(); - } - - read = parse(NULL, 0); - - if (read != 0) { - print_error(message->raw, read); - abort(); - } - - test: - - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name); - abort(); - } - - if(!message_eq(0, message)) abort(); - - parser_free(); - } -} - -void -test_message_count_body (const struct message *message) -{ - parser_init(message->type); - - size_t read; - size_t l = strlen(message->raw); - size_t i, toread; - size_t chunk = 4024; - - for (i = 0; i < l; i+= chunk) { - toread = MIN(l-i, chunk); - read = parse_count_body(message->raw + i, toread); - if (read != toread) { - print_error(message->raw, read); - abort(); - } - } - - - read = parse_count_body(NULL, 0); - if (read != 0) { - print_error(message->raw, read); - abort(); - } - - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name); - abort(); - } - - if(!message_eq(0, message)) abort(); - - parser_free(); -} - -void -test_simple (const char *buf, enum http_errno err_expected) -{ - parser_init(HTTP_REQUEST); - - size_t parsed; - int pass; - enum http_errno err; - - parsed = parse(buf, strlen(buf)); - pass = (parsed == strlen(buf)); - err = HTTP_PARSER_ERRNO(parser); - parsed = parse(NULL, 0); - pass &= (parsed == 0); - - parser_free(); - - /* In strict mode, allow us to pass with an unexpected HPE_STRICT as - * long as the caller isn't expecting success. - */ -#if HTTP_PARSER_STRICT - if (err_expected != err && err_expected != HPE_OK && err != HPE_STRICT) { -#else - if (err_expected != err) { -#endif - fprintf(stderr, "\n*** test_simple expected %s, but saw %s ***\n\n%s\n", - http_errno_name(err_expected), http_errno_name(err), buf); - abort(); - } -} - -void -test_header_overflow_error (int req) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? "GET / HTTP/1.1\r\n" : "HTTP/1.0 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = "header-key: header-value\r\n"; - size_t buflen = strlen(buf); - - int i; - for (i = 0; i < 10000; i++) { - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - //fprintf(stderr, "error found on iter %d\n", i); - assert(HTTP_PARSER_ERRNO(&parser) == HPE_HEADER_OVERFLOW); - return; - } - } - - fprintf(stderr, "\n*** Error expected but none in header overflow test ***\n"); - abort(); -} - -static void -test_content_length_overflow (const char *buf, size_t buflen, int expect_ok) -{ - http_parser parser; - http_parser_init(&parser, HTTP_RESPONSE); - http_parser_execute(&parser, &settings_null, buf, buflen); - - if (expect_ok) - assert(HTTP_PARSER_ERRNO(&parser) == HPE_OK); - else - assert(HTTP_PARSER_ERRNO(&parser) == HPE_INVALID_CONTENT_LENGTH); -} - -void -test_header_content_length_overflow_error (void) -{ -#define X(size) \ - "HTTP/1.1 200 OK\r\n" \ - "Content-Length: " #size "\r\n" \ - "\r\n" - const char a[] = X(18446744073709551614); /* 2^64-2 */ - const char b[] = X(18446744073709551615); /* 2^64-1 */ - const char c[] = X(18446744073709551616); /* 2^64 */ -#undef X - test_content_length_overflow(a, sizeof(a) - 1, 1); /* expect ok */ - test_content_length_overflow(b, sizeof(b) - 1, 0); /* expect failure */ - test_content_length_overflow(c, sizeof(c) - 1, 0); /* expect failure */ -} - -void -test_chunk_content_length_overflow_error (void) -{ -#define X(size) \ - "HTTP/1.1 200 OK\r\n" \ - "Transfer-Encoding: chunked\r\n" \ - "\r\n" \ - #size "\r\n" \ - "..." - const char a[] = X(FFFFFFFFFFFFFFFE); /* 2^64-2 */ - const char b[] = X(FFFFFFFFFFFFFFFF); /* 2^64-1 */ - const char c[] = X(10000000000000000); /* 2^64 */ -#undef X - test_content_length_overflow(a, sizeof(a) - 1, 1); /* expect ok */ - test_content_length_overflow(b, sizeof(b) - 1, 0); /* expect failure */ - test_content_length_overflow(c, sizeof(c) - 1, 0); /* expect failure */ -} - -void -test_no_overflow_long_body (int req, size_t length) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - size_t i; - char buf1[3000]; - size_t buf1len = sprintf(buf1, "%s\r\nConnection: Keep-Alive\r\nContent-Length: %lu\r\n\r\n", - req ? "POST / HTTP/1.0" : "HTTP/1.0 200 OK", (unsigned long)length); - parsed = http_parser_execute(&parser, &settings_null, buf1, buf1len); - if (parsed != buf1len) - goto err; - - for (i = 0; i < length; i++) { - char foo = 'a'; - parsed = http_parser_execute(&parser, &settings_null, &foo, 1); - if (parsed != 1) - goto err; - } - - parsed = http_parser_execute(&parser, &settings_null, buf1, buf1len); - if (parsed != buf1len) goto err; - return; - - err: - fprintf(stderr, - "\n*** error in test_no_overflow_long_body %s of length %lu ***\n", - req ? "REQUEST" : "RESPONSE", - (unsigned long)length); - abort(); -} - -void -test_multiple3 (const struct message *r1, const struct message *r2, const struct message *r3) -{ - int message_count = count_parsed_messages(3, r1, r2, r3); - - char total[ strlen(r1->raw) - + strlen(r2->raw) - + strlen(r3->raw) - + 1 - ]; - total[0] = '\0'; - - strcat(total, r1->raw); - strcat(total, r2->raw); - strcat(total, r3->raw); - - parser_init(r1->type); - - size_t read; - - read = parse(total, strlen(total)); - - if (parser->upgrade) { - upgrade_message_fix(total, read, 3, r1, r2, r3); - goto test; - } - - if (read != strlen(total)) { - print_error(total, read); - abort(); - } - - read = parse(NULL, 0); - - if (read != 0) { - print_error(total, read); - abort(); - } - -test: - - if (message_count != num_messages) { - fprintf(stderr, "\n\n*** Parser didn't see 3 messages only %d *** \n", num_messages); - abort(); - } - - if (!message_eq(0, r1)) abort(); - if (message_count > 1 && !message_eq(1, r2)) abort(); - if (message_count > 2 && !message_eq(2, r3)) abort(); - - parser_free(); -} - -/* SCAN through every possible breaking to make sure the - * parser can handle getting the content in any chunks that - * might come from the socket - */ -void -test_scan (const struct message *r1, const struct message *r2, const struct message *r3) -{ - char total[80*1024] = "\0"; - char buf1[80*1024] = "\0"; - char buf2[80*1024] = "\0"; - char buf3[80*1024] = "\0"; - - strcat(total, r1->raw); - strcat(total, r2->raw); - strcat(total, r3->raw); - - size_t read; - - int total_len = strlen(total); - - int total_ops = 2 * (total_len - 1) * (total_len - 2) / 2; - int ops = 0 ; - - size_t buf1_len, buf2_len, buf3_len; - int message_count = count_parsed_messages(3, r1, r2, r3); - - int i,j,type_both; - for (type_both = 0; type_both < 2; type_both ++ ) { - for (j = 2; j < total_len; j ++ ) { - for (i = 1; i < j; i ++ ) { - - if (ops % 1000 == 0) { - printf("\b\b\b\b%3.0f%%", 100 * (float)ops /(float)total_ops); - fflush(stdout); - } - ops += 1; - - parser_init(type_both ? HTTP_BOTH : r1->type); - - buf1_len = i; - strlncpy(buf1, sizeof(buf1), total, buf1_len); - buf1[buf1_len] = 0; - - buf2_len = j - i; - strlncpy(buf2, sizeof(buf1), total+i, buf2_len); - buf2[buf2_len] = 0; - - buf3_len = total_len - j; - strlncpy(buf3, sizeof(buf1), total+j, buf3_len); - buf3[buf3_len] = 0; - - read = parse(buf1, buf1_len); - - if (parser->upgrade) goto test; - - if (read != buf1_len) { - print_error(buf1, read); - goto error; - } - - read += parse(buf2, buf2_len); - - if (parser->upgrade) goto test; - - if (read != buf1_len + buf2_len) { - print_error(buf2, read); - goto error; - } - - read += parse(buf3, buf3_len); - - if (parser->upgrade) goto test; - - if (read != buf1_len + buf2_len + buf3_len) { - print_error(buf3, read); - goto error; - } - - parse(NULL, 0); - -test: - if (parser->upgrade) { - upgrade_message_fix(total, read, 3, r1, r2, r3); - } - - if (message_count != num_messages) { - fprintf(stderr, "\n\nParser didn't see %d messages only %d\n", - message_count, num_messages); - goto error; - } - - if (!message_eq(0, r1)) { - fprintf(stderr, "\n\nError matching messages[0] in test_scan.\n"); - goto error; - } - - if (message_count > 1 && !message_eq(1, r2)) { - fprintf(stderr, "\n\nError matching messages[1] in test_scan.\n"); - goto error; - } - - if (message_count > 2 && !message_eq(2, r3)) { - fprintf(stderr, "\n\nError matching messages[2] in test_scan.\n"); - goto error; - } - - parser_free(); - } - } - } - puts("\b\b\b\b100%"); - return; - - error: - fprintf(stderr, "i=%d j=%d\n", i, j); - fprintf(stderr, "buf1 (%u) %s\n\n", (unsigned int)buf1_len, buf1); - fprintf(stderr, "buf2 (%u) %s\n\n", (unsigned int)buf2_len , buf2); - fprintf(stderr, "buf3 (%u) %s\n", (unsigned int)buf3_len, buf3); - abort(); -} - -// user required to free the result -// string terminated by \0 -char * -create_large_chunked_message (int body_size_in_kb, const char* headers) -{ - int i; - size_t wrote = 0; - size_t headers_len = strlen(headers); - size_t bufsize = headers_len + (5+1024+2)*body_size_in_kb + 6; - char * buf = malloc(bufsize); - - memcpy(buf, headers, headers_len); - wrote += headers_len; - - for (i = 0; i < body_size_in_kb; i++) { - // write 1kb chunk into the body. - memcpy(buf + wrote, "400\r\n", 5); - wrote += 5; - memset(buf + wrote, 'C', 1024); - wrote += 1024; - strcpy(buf + wrote, "\r\n"); - wrote += 2; - } - - memcpy(buf + wrote, "0\r\n\r\n", 6); - wrote += 6; - assert(wrote == bufsize); - - return buf; -} - -void -test_status_complete (void) -{ - parser_init(HTTP_RESPONSE); - parser->data = 0; - http_parser_settings settings = settings_null; - settings.on_status_complete = status_complete_cb; - - char *response = "don't mind me, just a simple response"; - http_parser_execute(parser, &settings, response, strlen(response)); - assert(parser->data == (void*)0); // the status_complete callback was never called - assert(parser->http_errno == HPE_INVALID_CONSTANT); // the errno for an invalid status line -} - -/* Verify that we can pause parsing at any of the bytes in the - * message and still get the result that we're expecting. */ -void -test_message_pause (const struct message *msg) -{ - char *buf = (char*) msg->raw; - size_t buflen = strlen(msg->raw); - size_t nread; - - parser_init(msg->type); - - do { - nread = parse_pause(buf, buflen); - - // We can only set the upgrade buffer once we've gotten our message - // completion callback. - if (messages[0].message_complete_cb_called && - msg->upgrade && - parser->upgrade) { - messages[0].upgrade = buf + nread; - goto test; - } - - if (nread < buflen) { - - // Not much do to if we failed a strict-mode check - if (HTTP_PARSER_ERRNO(parser) == HPE_STRICT) { - parser_free(); - return; - } - - assert (HTTP_PARSER_ERRNO(parser) == HPE_PAUSED); - } - - buf += nread; - buflen -= nread; - http_parser_pause(parser, 0); - } while (buflen > 0); - - nread = parse_pause(NULL, 0); - assert (nread == 0); - -test: - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", msg->name); - abort(); - } - - if(!message_eq(0, msg)) abort(); - - parser_free(); -} - -int -main (void) -{ - parser = NULL; - int i, j, k; - int request_count; - int response_count; - - printf("sizeof(http_parser) = %u\n", (unsigned int)sizeof(http_parser)); - - for (request_count = 0; requests[request_count].name; request_count++); - for (response_count = 0; responses[response_count].name; response_count++); - - //// API - test_preserve_data(); - test_parse_url(); - test_method_str(); - - //// OVERFLOW CONDITIONS - - test_header_overflow_error(HTTP_REQUEST); - test_no_overflow_long_body(HTTP_REQUEST, 1000); - test_no_overflow_long_body(HTTP_REQUEST, 100000); - - test_header_overflow_error(HTTP_RESPONSE); - test_no_overflow_long_body(HTTP_RESPONSE, 1000); - test_no_overflow_long_body(HTTP_RESPONSE, 100000); - - test_header_content_length_overflow_error(); - test_chunk_content_length_overflow_error(); - - //// RESPONSES - - for (i = 0; i < response_count; i++) { - test_message(&responses[i]); - } - - for (i = 0; i < response_count; i++) { - test_message_pause(&responses[i]); - } - - for (i = 0; i < response_count; i++) { - if (!responses[i].should_keep_alive) continue; - for (j = 0; j < response_count; j++) { - if (!responses[j].should_keep_alive) continue; - for (k = 0; k < response_count; k++) { - test_multiple3(&responses[i], &responses[j], &responses[k]); - } - } - } - - test_message_count_body(&responses[NO_HEADERS_NO_BODY_404]); - test_message_count_body(&responses[TRAILING_SPACE_ON_CHUNKED_BODY]); - - // test very large chunked response - { - char * msg = create_large_chunked_message(31337, - "HTTP/1.0 200 OK\r\n" - "Transfer-Encoding: chunked\r\n" - "Content-Type: text/plain\r\n" - "\r\n"); - struct message large_chunked = - {.name= "large chunked" - ,.type= HTTP_RESPONSE - ,.raw= msg - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 200 - ,.num_headers= 2 - ,.headers= - { { "Transfer-Encoding", "chunked" } - , { "Content-Type", "text/plain" } - } - ,.body_size= 31337*1024 - }; - test_message_count_body(&large_chunked); - free(msg); - } - - - - printf("response scan 1/2 "); - test_scan( &responses[TRAILING_SPACE_ON_CHUNKED_BODY] - , &responses[NO_BODY_HTTP10_KA_204] - , &responses[NO_REASON_PHRASE] - ); - - printf("response scan 2/2 "); - test_scan( &responses[BONJOUR_MADAME_FR] - , &responses[UNDERSTORE_HEADER_KEY] - , &responses[NO_CARRIAGE_RET] - ); - - puts("responses okay"); - - - /// REQUESTS - - test_simple("hello world", HPE_INVALID_METHOD); - test_simple("GET / HTP/1.1\r\n\r\n", HPE_INVALID_VERSION); - - - test_simple("ASDF / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD); - test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD); - test_simple("GETA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD); - - // Well-formed but incomplete - test_simple("GET / HTTP/1.1\r\n" - "Content-Type: text/plain\r\n" - "Content-Length: 6\r\n" - "\r\n" - "fooba", - HPE_OK); - - static const char *all_methods[] = { - "DELETE", - "GET", - "HEAD", - "POST", - "PUT", - //"CONNECT", //CONNECT can't be tested like other methods, it's a tunnel - "OPTIONS", - "TRACE", - "COPY", - "LOCK", - "MKCOL", - "MOVE", - "PROPFIND", - "PROPPATCH", - "UNLOCK", - "REPORT", - "MKACTIVITY", - "CHECKOUT", - "MERGE", - "M-SEARCH", - "NOTIFY", - "SUBSCRIBE", - "UNSUBSCRIBE", - "PATCH", - 0 }; - const char **this_method; - for (this_method = all_methods; *this_method; this_method++) { - char buf[200]; - sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method); - test_simple(buf, HPE_OK); - } - - static const char *bad_methods[] = { - "C******", - "M****", - 0 }; - for (this_method = bad_methods; *this_method; this_method++) { - char buf[200]; - sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method); - test_simple(buf, HPE_UNKNOWN); - } - - const char *dumbfuck2 = - "GET / HTTP/1.1\r\n" - "X-SSL-Bullshit: -----BEGIN CERTIFICATE-----\r\n" - "\tMIIFbTCCBFWgAwIBAgICH4cwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UEBhMCVUsx\r\n" - "\tETAPBgNVBAoTCGVTY2llbmNlMRIwEAYDVQQLEwlBdXRob3JpdHkxCzAJBgNVBAMT\r\n" - "\tAkNBMS0wKwYJKoZIhvcNAQkBFh5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMu\r\n" - "\tdWswHhcNMDYwNzI3MTQxMzI4WhcNMDcwNzI3MTQxMzI4WjBbMQswCQYDVQQGEwJV\r\n" - "\tSzERMA8GA1UEChMIZVNjaWVuY2UxEzARBgNVBAsTCk1hbmNoZXN0ZXIxCzAJBgNV\r\n" - "\tBAcTmrsogriqMWLAk1DMRcwFQYDVQQDEw5taWNoYWVsIHBhcmQYJKoZIhvcNAQEB\r\n" - "\tBQADggEPADCCAQoCggEBANPEQBgl1IaKdSS1TbhF3hEXSl72G9J+WC/1R64fAcEF\r\n" - "\tW51rEyFYiIeZGx/BVzwXbeBoNUK41OK65sxGuflMo5gLflbwJtHBRIEKAfVVp3YR\r\n" - "\tgW7cMA/s/XKgL1GEC7rQw8lIZT8RApukCGqOVHSi/F1SiFlPDxuDfmdiNzL31+sL\r\n" - "\t0iwHDdNkGjy5pyBSB8Y79dsSJtCW/iaLB0/n8Sj7HgvvZJ7x0fr+RQjYOUUfrePP\r\n" - "\tu2MSpFyf+9BbC/aXgaZuiCvSR+8Snv3xApQY+fULK/xY8h8Ua51iXoQ5jrgu2SqR\r\n" - "\twgA7BUi3G8LFzMBl8FRCDYGUDy7M6QaHXx1ZWIPWNKsCAwEAAaOCAiQwggIgMAwG\r\n" - "\tA1UdEwEB/wQCMAAwEQYJYIZIAYb4QgHTTPAQDAgWgMA4GA1UdDwEB/wQEAwID6DAs\r\n" - "\tBglghkgBhvhCAQ0EHxYdVUsgZS1TY2llbmNlIFVzZXIgQ2VydGlmaWNhdGUwHQYD\r\n" - "\tVR0OBBYEFDTt/sf9PeMaZDHkUIldrDYMNTBZMIGaBgNVHSMEgZIwgY+AFAI4qxGj\r\n" - "\tloCLDdMVKwiljjDastqooXSkcjBwMQswCQYDVQQGEwJVSzERMA8GA1UEChMIZVNj\r\n" - "\taWVuY2UxEjAQBgNVBAsTCUF1dGhvcml0eTELMAkGA1UEAxMCQ0ExLTArBgkqhkiG\r\n" - "\t9w0BCQEWHmNhLW9wZXJhdG9yQGdyaWQtc3VwcG9ydC5hYy51a4IBADApBgNVHRIE\r\n" - "\tIjAggR5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMudWswGQYDVR0gBBIwEDAO\r\n" - "\tBgwrBgEEAdkvAQEBAQYwPQYJYIZIAYb4QgEEBDAWLmh0dHA6Ly9jYS5ncmlkLXN1\r\n" - "\tcHBvcnQuYWMudmT4sopwqlBWsvcHViL2NybC9jYWNybC5jcmwwPQYJYIZIAYb4QgEDBDAWLmh0\r\n" - "\tdHA6Ly9jYS5ncmlkLXN1cHBvcnQuYWMudWsvcHViL2NybC9jYWNybC5jcmwwPwYD\r\n" - "\tVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NhLmdyaWQt5hYy51ay9wdWIv\r\n" - "\tY3JsL2NhY3JsLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAS/U4iiooBENGW/Hwmmd3\r\n" - "\tXCy6Zrt08YjKCzGNjorT98g8uGsqYjSxv/hmi0qlnlHs+k/3Iobc3LjS5AMYr5L8\r\n" - "\tUO7OSkgFFlLHQyC9JzPfmLCAugvzEbyv4Olnsr8hbxF1MbKZoQxUZtMVu29wjfXk\r\n" - "\thTeApBv7eaKCWpSp7MCbvgzm74izKhu3vlDk9w6qVrxePfGgpKPqfHiOoGhFnbTK\r\n" - "\twTC6o2xq5y0qZ03JonF7OJspEd3I5zKY3E+ov7/ZhW6DqT8UFvsAdjvQbXyhV8Eu\r\n" - "\tYhixw1aKEPzNjNowuIseVogKOLXxWI5vAi5HgXdS0/ES5gDGsABo4fqovUKlgop3\r\n" - "\tRA==\r\n" - "\t-----END CERTIFICATE-----\r\n" - "\r\n"; - test_simple(dumbfuck2, HPE_OK); - -#if 0 - // NOTE(Wed Nov 18 11:57:27 CET 2009) this seems okay. we just read body - // until EOF. - // - // no content-length - // error if there is a body without content length - const char *bad_get_no_headers_no_body = "GET /bad_get_no_headers_no_body/world HTTP/1.1\r\n" - "Accept: */*\r\n" - "\r\n" - "HELLO"; - test_simple(bad_get_no_headers_no_body, 0); -#endif - /* TODO sending junk and large headers gets rejected */ - - - /* check to make sure our predefined requests are okay */ - for (i = 0; requests[i].name; i++) { - test_message(&requests[i]); - } - - for (i = 0; i < request_count; i++) { - test_message_pause(&requests[i]); - } - - for (i = 0; i < request_count; i++) { - if (!requests[i].should_keep_alive) continue; - for (j = 0; j < request_count; j++) { - if (!requests[j].should_keep_alive) continue; - for (k = 0; k < request_count; k++) { - test_multiple3(&requests[i], &requests[j], &requests[k]); - } - } - } - - printf("request scan 1/4 "); - test_scan( &requests[GET_NO_HEADERS_NO_BODY] - , &requests[GET_ONE_HEADER_NO_BODY] - , &requests[GET_NO_HEADERS_NO_BODY] - ); - - printf("request scan 2/4 "); - test_scan( &requests[POST_CHUNKED_ALL_YOUR_BASE] - , &requests[POST_IDENTITY_BODY_WORLD] - , &requests[GET_FUNKY_CONTENT_LENGTH] - ); - - printf("request scan 3/4 "); - test_scan( &requests[TWO_CHUNKS_MULT_ZERO_END] - , &requests[CHUNKED_W_TRAILING_HEADERS] - , &requests[CHUNKED_W_BULLSHIT_AFTER_LENGTH] - ); - - printf("request scan 4/4 "); - test_scan( &requests[QUERY_URL_WITH_QUESTION_MARK_GET] - , &requests[PREFIX_NEWLINE_GET ] - , &requests[CONNECT_REQUEST] - ); - - test_status_complete(); - - puts("requests okay"); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped deleted file mode 100644 index 038bb52..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped +++ /dev/null @@ -1,845 +0,0 @@ -name :curl get -raw :"GET /test HTTP/1.1\r\nUser-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1\r\nHost: 0.0.0.0=5000\r\nAccept: */*\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/test -request_url :/test -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "User-Agent": "curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1"} -header_1 :{ "Host": "0.0.0.0=5000"} -header_2 :{ "Accept": "*/*"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :firefox get -raw :"GET /favicon.ico HTTP/1.1\r\nHost: 0.0.0.0=5000\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/favicon.ico -request_url :/favicon.ico -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Host": "0.0.0.0=5000"} -header_1 :{ "User-Agent": "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0"} -header_2 :{ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"} -header_3 :{ "Accept-Language": "en-us,en;q=0.5"} -header_4 :{ "Accept-Encoding": "gzip,deflate"} -header_5 :{ "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7"} -header_6 :{ "Keep-Alive": "300"} -header_7 :{ "Connection": "keep-alive"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :dumbfuck -raw :"GET /dumbfuck HTTP/1.1\r\naaaaaaaaaaaaa:++++++++++\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/dumbfuck -request_url :/dumbfuck -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "aaaaaaaaaaaaa": "++++++++++"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :fragment in url -raw :"GET /forums/1/topics/2375?page=1#posts-17408 HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/forums/1/topics/2375 -request_url :/forums/1/topics/2375?page=1#posts-17408 -fragment :posts-17408 -query_string:page=1 -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :get no headers no body -raw :"GET /get_no_headers_no_body/world HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/get_no_headers_no_body/world -request_url :/get_no_headers_no_body/world -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :get one header no body -raw :"GET /get_one_header_no_body HTTP/1.1\r\nAccept: */*\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/get_one_header_no_body -request_url :/get_one_header_no_body -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Accept": "*/*"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :get funky content length body hello -raw :"GET /get_funky_content_length_body_hello HTTP/1.0\r\nconTENT-Length: 5\r\n\r\nHELLO" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/get_funky_content_length_body_hello -request_url :/get_funky_content_length_body_hello -fragment : -query_string: -body :"HELLO" -body_size :0 -header_0 :{ "conTENT-Length": "5"} -should_keep_alive :0 -http_major :1 -http_minor :0 - -name :post identity body world -raw :"POST /post_identity_body_world?q=search#hey HTTP/1.1\r\nAccept: */*\r\nTransfer-Encoding: identity\r\nContent-Length: 5\r\n\r\nWorld" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/post_identity_body_world -request_url :/post_identity_body_world?q=search#hey -fragment :hey -query_string:q=search -body :"World" -body_size :0 -header_0 :{ "Accept": "*/*"} -header_1 :{ "Transfer-Encoding": "identity"} -header_2 :{ "Content-Length": "5"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :post - chunked body: all your base are belong to us -raw :"POST /post_chunked_all_your_base HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n1e\r\nall your base are belong to us\r\n0\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/post_chunked_all_your_base -request_url :/post_chunked_all_your_base -fragment : -query_string: -body :"all your base are belong to us" -body_size :0 -header_0 :{ "Transfer-Encoding": "chunked"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :two chunks ; triple zero ending -raw :"POST /two_chunks_mult_zero_end HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5\r\nhello\r\n6\r\n world\r\n000\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/two_chunks_mult_zero_end -request_url :/two_chunks_mult_zero_end -fragment : -query_string: -body :"hello world" -body_size :0 -header_0 :{ "Transfer-Encoding": "chunked"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :chunked with trailing headers. blech. -raw :"POST /chunked_w_trailing_headers HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5\r\nhello\r\n6\r\n world\r\n0\r\nVary: *\r\nContent-Type: text/plain\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/chunked_w_trailing_headers -request_url :/chunked_w_trailing_headers -fragment : -query_string: -body :"hello world" -body_size :0 -header_0 :{ "Transfer-Encoding": "chunked"} -header_1 :{ "Vary": "*"} -header_2 :{ "Content-Type": "text/plain"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :with bullshit after the length -raw :"POST /chunked_w_bullshit_after_length HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5; ihatew3;whatthefuck=aretheseparametersfor\r\nhello\r\n6; blahblah; blah\r\n world\r\n0\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/chunked_w_bullshit_after_length -request_url :/chunked_w_bullshit_after_length -fragment : -query_string: -body :"hello world" -body_size :0 -header_0 :{ "Transfer-Encoding": "chunked"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :with quotes -raw :"GET /with_\"stupid\"_quotes?foo=\"bar\" HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/with_"stupid"_quotes -request_url :/with_"stupid"_quotes?foo="bar" -fragment : -query_string:foo="bar" -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :apachebench get -raw :"GET /test HTTP/1.0\r\nHost: 0.0.0.0:5000\r\nUser-Agent: ApacheBench/2.3\r\nAccept: */*\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/test -request_url :/test -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Host": "0.0.0.0:5000"} -header_1 :{ "User-Agent": "ApacheBench/2.3"} -header_2 :{ "Accept": "*/*"} -should_keep_alive :0 -http_major :1 -http_minor :0 - -name :query url with question mark -raw :"GET /test.cgi?foo=bar?baz HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/test.cgi -request_url :/test.cgi?foo=bar?baz -fragment : -query_string:foo=bar?baz -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :newline prefix get -raw :"\r\nGET /test HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/test -request_url :/test -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :upgrade request -raw :"GET /demo HTTP/1.1\r\nHost: example.com\r\nConnection: Upgrade\r\nSec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\nSec-WebSocket-Protocol: sample\r\nUpgrade: WebSocket\r\nSec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\nOrigin: http://example.com\r\n\r\nHot diggity dogg" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/demo -request_url :/demo -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Host": "example.com"} -header_1 :{ "Connection": "Upgrade"} -header_2 :{ "Sec-WebSocket-Key2": "12998 5 Y3 1 .P00"} -header_3 :{ "Sec-WebSocket-Protocol": "sample"} -header_4 :{ "Upgrade": "WebSocket"} -header_5 :{ "Sec-WebSocket-Key1": "4 @1 46546xW%0l 1 5"} -header_6 :{ "Origin": "http://example.com"} -should_keep_alive :1 -upgrade :"Hot diggity dogg" -http_major :1 -http_minor :1 - -name :connect request -raw :"CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\nsome data\r\nand yet even more data" -type :HTTP_REQUEST -method: HTTP_CONNECT -status_code :0 -request_path: -request_url :0-home0.netscape.com:443 -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "User-agent": "Mozilla/1.1N"} -header_1 :{ "Proxy-authorization": "basic aGVsbG86d29ybGQ="} -should_keep_alive :0 -upgrade :"some data\r\nand yet even more data" -http_major :1 -http_minor :0 - -name :report request -raw :"REPORT /test HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_REPORT -status_code :0 -request_path:/test -request_url :/test -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :request with no http version -raw :"GET /\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/ -request_url :/ -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :0 -http_major :0 -http_minor :9 - -name :m-search request -raw :"M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nST: \"ssdp:all\"\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_MSEARCH -status_code :0 -request_path:* -request_url :* -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "HOST": "239.255.255.250:1900"} -header_1 :{ "MAN": ""ssdp:discover""} -header_2 :{ "ST": ""ssdp:all""} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :line folding in header value -raw :"GET / HTTP/1.1\r\nLine1: abc\r\n def\r\n ghi\r\n jkl\r\n mno \r\n qrs\r\nLine2: line2 \r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/ -request_url :/ -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Line1": "abcdefghijklmno qrs"} -header_1 :{ "Line2": "line2 "} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :host terminated by a query string -raw :"GET http://hypnotoad.org?hail=all HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path: -request_url :http://hypnotoad.org?hail=all -fragment : -query_string:hail=all -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :host:port terminated by a query string -raw :"GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path: -request_url :http://hypnotoad.org:1234?hail=all -fragment : -query_string:hail=all -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :host:port terminated by a space -raw :"GET http://hypnotoad.org:1234 HTTP/1.1\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path: -request_url :http://hypnotoad.org:1234 -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :PATCH request -raw :"PATCH /file.txt HTTP/1.1\r\nHost: www.example.com\r\nContent-Type: application/example\r\nIf-Match: \"e0023aa4e\"\r\nContent-Length: 10\r\n\r\ncccccccccc" -type :HTTP_REQUEST -method: UNKNOWN -status_code :0 -request_path:/file.txt -request_url :/file.txt -fragment : -query_string: -body :"cccccccccc" -body_size :0 -header_0 :{ "Host": "www.example.com"} -header_1 :{ "Content-Type": "application/example"} -header_2 :{ "If-Match": ""e0023aa4e""} -header_3 :{ "Content-Length": "10"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :connect caps request -raw :"CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_CONNECT -status_code :0 -request_path: -request_url :HOME0.NETSCAPE.COM:443 -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "User-agent": "Mozilla/1.1N"} -header_1 :{ "Proxy-authorization": "basic aGVsbG86d29ybGQ="} -should_keep_alive :0 -upgrade :"" -http_major :1 -http_minor :0 - -name :eat CRLF between requests, no "Connection: close" header -raw :"POST / HTTP/1.1\r\nHost: www.example.com\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 4\r\n\r\nq=42\r\n" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/ -request_url :/ -fragment : -query_string: -body :"q=42" -body_size :0 -header_0 :{ "Host": "www.example.com"} -header_1 :{ "Content-Type": "application/x-www-form-urlencoded"} -header_2 :{ "Content-Length": "4"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :eat CRLF between requests even if "Connection: close" is set -raw :"POST / HTTP/1.1\r\nHost: www.example.com\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 4\r\nConnection: close\r\n\r\nq=42\r\n" -type :HTTP_REQUEST -method: HTTP_POST -status_code :0 -request_path:/ -request_url :/ -fragment : -query_string: -body :"q=42" -body_size :0 -header_0 :{ "Host": "www.example.com"} -header_1 :{ "Content-Type": "application/x-www-form-urlencoded"} -header_2 :{ "Content-Length": "4"} -header_3 :{ "Connection": "close"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :PURGE request -raw :"PURGE /file.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n" -type :HTTP_REQUEST -method: UNKNOWN -status_code :0 -request_path:/file.txt -request_url :/file.txt -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Host": "www.example.com"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :google 301 -raw :"HTTP/1.1 301 Moved Permanently\r\nLocation: http://www.google.com/\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Sun, 26 Apr 2009 11:11:49 GMT\r\nExpires: Tue, 26 May 2009 11:11:49 GMT\r\nX-$PrototypeBI-Version: 1.6.0.3\r\nCache-Control: public, max-age=2592000\r\nServer: gws\r\nContent-Length: 219 \r\n\r\n\n301 Moved\n

301 Moved

\nThe document has moved\nhere.\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :301 -request_path: -request_url : -fragment : -query_string: -body :"\n301 Moved\n

301 Moved

\nThe document has moved\nhere.\r\n\r\n" -body_size :0 -header_0 :{ "Location": "http://www.google.com/"} -header_1 :{ "Content-Type": "text/html; charset=UTF-8"} -header_2 :{ "Date": "Sun, 26 Apr 2009 11:11:49 GMT"} -header_3 :{ "Expires": "Tue, 26 May 2009 11:11:49 GMT"} -header_4 :{ "X-$PrototypeBI-Version": "1.6.0.3"} -header_5 :{ "Cache-Control": "public, max-age=2592000"} -header_6 :{ "Server": "gws"} -header_7 :{ "Content-Length": "219 "} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :no content-length response -raw :"HTTP/1.1 200 OK\r\nDate: Tue, 04 Aug 2009 07:59:32 GMT\r\nServer: Apache\r\nX-Powered-By: Servlet/2.5 JSP/2.1\r\nContent-Type: text/xml; charset=utf-8\r\nConnection: close\r\n\r\n\n\n \n \n SOAP-ENV:Client\n Client Error\n \n \n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"\n\n \n \n SOAP-ENV:Client\n Client Error\n \n \n" -body_size :0 -header_0 :{ "Date": "Tue, 04 Aug 2009 07:59:32 GMT"} -header_1 :{ "Server": "Apache"} -header_2 :{ "X-Powered-By": "Servlet/2.5 JSP/2.1"} -header_3 :{ "Content-Type": "text/xml; charset=utf-8"} -header_4 :{ "Connection": "close"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :404 no headers no body -raw :"HTTP/1.1 404 Not Found\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :404 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :301 no response phrase -raw :"HTTP/1.1 301\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :301 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :200 trailing space on chunked body -raw :"HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nTransfer-Encoding: chunked\r\n\r\n25 \r\nThis is the data in the first chunk\r\n\r\n1C\r\nand this is the second one\r\n\r\n0 \r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"This is the data in the first chunk\r\nand this is the second one\r\n" -body_size :65 -header_0 :{ "Content-Type": "text/plain"} -header_1 :{ "Transfer-Encoding": "chunked"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :no carriage ret -raw :"HTTP/1.1 200 OK\nContent-Type: text/html; charset=utf-8\nConnection: close\n\nthese headers are from http://news.ycombinator.com/" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"these headers are from http://news.ycombinator.com/" -body_size :0 -header_0 :{ "Content-Type": "text/html; charset=utf-8"} -header_1 :{ "Connection": "close"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :proxy connection -raw :"HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Length: 11\r\nProxy-Connection: close\r\nDate: Thu, 31 Dec 2009 20:55:48 +0000\r\n\r\nhello world" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"hello world" -body_size :0 -header_0 :{ "Content-Type": "text/html; charset=UTF-8"} -header_1 :{ "Content-Length": "11"} -header_2 :{ "Proxy-Connection": "close"} -header_3 :{ "Date": "Thu, 31 Dec 2009 20:55:48 +0000"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :underscore header key -raw :"HTTP/1.1 200 OK\r\nServer: DCLK-AdSvr\r\nContent-Type: text/xml\r\nContent-Length: 0\r\nDCLK_imp: v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Server": "DCLK-AdSvr"} -header_1 :{ "Content-Type": "text/xml"} -header_2 :{ "Content-Length": "0"} -header_3 :{ "DCLK_imp": "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o"} -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :bonjourmadame.fr -raw :"HTTP/1.0 301 Moved Permanently\r\nDate: Thu, 03 Jun 2010 09:56:32 GMT\r\nServer: Apache/2.2.3 (Red Hat)\r\nCache-Control: public\r\nPragma: \r\nLocation: http://www.bonjourmadame.fr/\r\nVary: Accept-Encoding\r\nContent-Length: 0\r\nContent-Type: text/html; charset=UTF-8\r\nConnection: keep-alive\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :301 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Date": "Thu, 03 Jun 2010 09:56:32 GMT"} -header_1 :{ "Server": "Apache/2.2.3 (Red Hat)"} -header_2 :{ "Cache-Control": "public"} -header_3 :{ "Pragma": ""} -header_4 :{ "Location": "http://www.bonjourmadame.fr/"} -header_5 :{ "Vary": "Accept-Encoding"} -header_6 :{ "Content-Length": "0"} -header_7 :{ "Content-Type": "text/html; charset=UTF-8"} -header_8 :{ "Connection": "keep-alive"} -should_keep_alive :1 -http_major :1 -http_minor :0 - -name :field underscore -raw :"HTTP/1.1 200 OK\r\nDate: Tue, 28 Sep 2010 01:14:13 GMT\r\nServer: Apache\r\nCache-Control: no-cache, must-revalidate\r\nExpires: Mon, 26 Jul 1997 05:00:00 GMT\r\n.et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\nVary: Accept-Encoding\r\n_eep-Alive: timeout=45\r\n_onnection: Keep-Alive\r\nTransfer-Encoding: chunked\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n0\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Date": "Tue, 28 Sep 2010 01:14:13 GMT"} -header_1 :{ "Server": "Apache"} -header_2 :{ "Cache-Control": "no-cache, must-revalidate"} -header_3 :{ "Expires": "Mon, 26 Jul 1997 05:00:00 GMT"} -header_4 :{ ".et-Cookie": "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com"} -header_5 :{ "Vary": "Accept-Encoding"} -header_6 :{ "_eep-Alive": "timeout=45"} -header_7 :{ "_onnection": "Keep-Alive"} -header_8 :{ "Transfer-Encoding": "chunked"} -header_9 :{ "Content-Type": "text/html"} -header_10 :{ "Connection": "close"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :non-ASCII in status line -raw :"HTTP/1.1 500 Oriëntatieprobleem\r\nDate: Fri, 5 Nov 2010 23:07:12 GMT+2\r\nContent-Length: 0\r\nConnection: close\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :500 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Date": "Fri, 5 Nov 2010 23:07:12 GMT+2"} -header_1 :{ "Content-Length": "0"} -header_2 :{ "Connection": "close"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :http version 0.9 -raw :"HTTP/0.9 200 OK\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :0 -http_major :0 -http_minor :9 - -name :neither content-length nor transfer-encoding response -raw :"HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhello world" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"hello world" -body_size :0 -header_0 :{ "Content-Type": "text/plain"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :HTTP/1.0 with keep-alive and EOF-terminated 200 status -raw :"HTTP/1.0 200 OK\r\nConnection: keep-alive\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Connection": "keep-alive"} -should_keep_alive :0 -http_major :1 -http_minor :0 - -name :HTTP/1.0 with keep-alive and a 204 status -raw :"HTTP/1.0 204 No content\r\nConnection: keep-alive\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :204 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Connection": "keep-alive"} -should_keep_alive :1 -http_major :1 -http_minor :0 - -name :HTTP/1.1 with an EOF-terminated 200 status -raw :"HTTP/1.1 200 OK\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :HTTP/1.1 with a 204 status -raw :"HTTP/1.1 204 No content\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :204 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -should_keep_alive :1 -http_major :1 -http_minor :1 - -name :HTTP/1.1 with a 204 status and keep-alive disabled -raw :"HTTP/1.1 204 No content\r\nConnection: close\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :204 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Connection": "close"} -should_keep_alive :0 -http_major :1 -http_minor :1 - -name :HTTP/1.1 with chunked endocing and a 200 response -raw :"HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n0\r\n\r\n" -type :HTTP_RESPONSE -method: HTTP_DELETE -status_code :200 -request_path: -request_url : -fragment : -query_string: -body :"" -body_size :0 -header_0 :{ "Transfer-Encoding": "chunked"} -should_keep_alive :1 -http_major :1 -http_minor :1 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 deleted file mode 100644 index 5266159..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 +++ /dev/null @@ -1,17 +0,0 @@ -name :utf-8 path request -raw :"GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\nHost: github.com\r\n\r\n" -type :HTTP_REQUEST -method: HTTP_GET -status_code :0 -request_path:/δ¶/δt/pope -request_url :/δ¶/δt/pope?q=1#narf -fragment :narf -query_string:q=1 -body :"" -body_size :0 -header_0 :{ "Host": "github.com"} -should_keep_alive :1 -upgrade :0 -http_major :1 -http_minor :1 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb deleted file mode 100644 index 1604890..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb +++ /dev/null @@ -1,6 +0,0 @@ - -"A".upto("Z") {|c| - puts "public static final byte #{c} = 0x#{c[0].to_s(16)};" -} - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb deleted file mode 100644 index 84f9699..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb +++ /dev/null @@ -1,13 +0,0 @@ - - -def printbytes str -str.each_byte { |b| - print "0x#{b.to_s(16)}, " -} -end - -if $0 == __FILE__ - printf "static final byte [] #{ARGV[0]} = {\n" - printbytes ARGV[0] - printf "\n};\n" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb deleted file mode 100644 index 13960cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb +++ /dev/null @@ -1,15 +0,0 @@ - - -0.upto(255) { |i| - printf "\n" if i%16 == 0 - printf " " if i%8 == 0 - s = ("" << i) - if s =~ /[A-Z0-9\-_\/ ]/ - print "0x#{i.to_s(16)}," - elsif s =~ /[a-z]/ - print "0x#{s.upcase[0].to_s(16)}," - else - print "0x00," - end - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb deleted file mode 100644 index 683adb9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb +++ /dev/null @@ -1,33 +0,0 @@ - - - - -# name : 200 trailing space on chunked body -# raw : "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nTransfer-Encoding: chunked\r\n\r\n25 \r\nThis is the data in the first chunk\r\n\r\n1C\r\nand this is the second one\r\n\r\n0 \r\n\r\n" -# type : HTTP_RESPONSE -# method: HTTP_DELETE -# status code :200 -# request_path: -# request_url : -# fragment : -# query_string: -# body :"This is the data in the first chunk\r\nand this is the second one\r\n" -# body_size :65 -# header_0 :{ "Content-Type": "text/plain"} -# header_1 :{ "Transfer-Encoding": "chunked"} -# should_keep_alive :1 -# upgrade :0 -# http_major :1 -# http_minor :1 - - -class ParserTest - attr_accessor :name - attr_accessor :raw - attr_accessor :type - attr_accessor :method - attr_accessor :status_code - attr_accessor :request_path - attr_accessor :method -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/AUTHORS b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/AUTHORS deleted file mode 100644 index 5323b68..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/AUTHORS +++ /dev/null @@ -1,68 +0,0 @@ -# Authors ordered by first contribution. -Ryan Dahl -Jeremy Hinegardner -Sergey Shepelev -Joe Damato -tomika -Phoenix Sol -Cliff Frey -Ewen Cheslack-Postava -Santiago Gala -Tim Becker -Jeff Terrace -Ben Noordhuis -Nathan Rajlich -Mark Nottingham -Aman Gupta -Tim Becker -Sean Cunningham -Peter Griess -Salman Haq -Cliff Frey -Jon Kolb -Fouad Mardini -Paul Querna -Felix Geisendörfer -koichik -Andre Caron -Ivo Raisr -James McLaughlin -David Gwynne -Thomas LE ROUX -Randy Rizun -Andre Louis Caron -Simon Zimmermann -Erik Dubbelboer -Martell Malone -Bertrand Paquet -BogDan Vatra -Peter Faiman -Corey Richardson -Tóth Tamás -Cam Swords -Chris Dickinson -Uli Köhler -Charlie Somerville -Patrik Stutz -Fedor Indutny -runner -Alexis Campailla -David Wragg -Vinnie Falco -Alex Butum -Rex Feng -Alex Kocharin -Mark Koopman -Helge Heß -Alexis La Goutte -George Miroshnykov -Maciej Małecki -Marc O'Morain -Jeff Pinner -Timothy J Fontaine -Akagi201 -Romain Giraud -Jay Satiro -Arne Steen -Kjell Schubert -Olivier Mengué diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT deleted file mode 100644 index 1ec0ab4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT +++ /dev/null @@ -1,19 +0,0 @@ -Copyright Joyent, Inc. and other Node contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/README.md deleted file mode 100644 index b265d71..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/README.md +++ /dev/null @@ -1,246 +0,0 @@ -HTTP Parser -=========== - -[![Build Status](https://api.travis-ci.org/nodejs/http-parser.svg?branch=master)](https://travis-ci.org/nodejs/http-parser) - -This is a parser for HTTP messages written in C. It parses both requests and -responses. The parser is designed to be used in performance HTTP -applications. It does not make any syscalls nor allocations, it does not -buffer data, it can be interrupted at anytime. Depending on your -architecture, it only requires about 40 bytes of data per message -stream (in a web server that is per connection). - -Features: - - * No dependencies - * Handles persistent streams (keep-alive). - * Decodes chunked encoding. - * Upgrade support - * Defends against buffer overflow attacks. - -The parser extracts the following information from HTTP messages: - - * Header fields and values - * Content-Length - * Request method - * Response status code - * Transfer-Encoding - * HTTP version - * Request URL - * Message body - - -Usage ------ - -One `http_parser` object is used per TCP connection. Initialize the struct -using `http_parser_init()` and set the callbacks. That might look something -like this for a request parser: -```c -http_parser_settings settings; -settings.on_url = my_url_callback; -settings.on_header_field = my_header_field_callback; -/* ... */ - -http_parser *parser = malloc(sizeof(http_parser)); -http_parser_init(parser, HTTP_REQUEST); -parser->data = my_socket; -``` - -When data is received on the socket execute the parser and check for errors. - -```c -size_t len = 80*1024, nparsed; -char buf[len]; -ssize_t recved; - -recved = recv(fd, buf, len, 0); - -if (recved < 0) { - /* Handle error. */ -} - -/* Start up / continue the parser. - * Note we pass recved==0 to signal that EOF has been received. - */ -nparsed = http_parser_execute(parser, &settings, buf, recved); - -if (parser->upgrade) { - /* handle new protocol */ -} else if (nparsed != recved) { - /* Handle error. Usually just close the connection. */ -} -``` - -`http_parser` needs to know where the end of the stream is. For example, sometimes -servers send responses without Content-Length and expect the client to -consume input (for the body) until EOF. To tell `http_parser` about EOF, give -`0` as the fourth parameter to `http_parser_execute()`. Callbacks and errors -can still be encountered during an EOF, so one must still be prepared -to receive them. - -Scalar valued message information such as `status_code`, `method`, and the -HTTP version are stored in the parser structure. This data is only -temporally stored in `http_parser` and gets reset on each new message. If -this information is needed later, copy it out of the structure during the -`headers_complete` callback. - -The parser decodes the transfer-encoding for both requests and responses -transparently. That is, a chunked encoding is decoded before being sent to -the on_body callback. - - -The Special Problem of Upgrade ------------------------------- - -`http_parser` supports upgrading the connection to a different protocol. An -increasingly common example of this is the WebSocket protocol which sends -a request like - - GET /demo HTTP/1.1 - Upgrade: WebSocket - Connection: Upgrade - Host: example.com - Origin: http://example.com - WebSocket-Protocol: sample - -followed by non-HTTP data. - -(See [RFC6455](https://tools.ietf.org/html/rfc6455) for more information the -WebSocket protocol.) - -To support this, the parser will treat this as a normal HTTP message without a -body, issuing both on_headers_complete and on_message_complete callbacks. However -http_parser_execute() will stop parsing at the end of the headers and return. - -The user is expected to check if `parser->upgrade` has been set to 1 after -`http_parser_execute()` returns. Non-HTTP data begins at the buffer supplied -offset by the return value of `http_parser_execute()`. - - -Callbacks ---------- - -During the `http_parser_execute()` call, the callbacks set in -`http_parser_settings` will be executed. The parser maintains state and -never looks behind, so buffering the data is not necessary. If you need to -save certain data for later usage, you can do that from the callbacks. - -There are two types of callbacks: - -* notification `typedef int (*http_cb) (http_parser*);` - Callbacks: on_message_begin, on_headers_complete, on_message_complete. -* data `typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);` - Callbacks: (requests only) on_url, - (common) on_header_field, on_header_value, on_body; - -Callbacks must return 0 on success. Returning a non-zero value indicates -error to the parser, making it exit immediately. - -For cases where it is necessary to pass local information to/from a callback, -the `http_parser` object's `data` field can be used. -An example of such a case is when using threads to handle a socket connection, -parse a request, and then give a response over that socket. By instantiation -of a thread-local struct containing relevant data (e.g. accepted socket, -allocated memory for callbacks to write into, etc), a parser's callbacks are -able to communicate data between the scope of the thread and the scope of the -callback in a threadsafe manner. This allows `http_parser` to be used in -multi-threaded contexts. - -Example: -```c - typedef struct { - socket_t sock; - void* buffer; - int buf_len; - } custom_data_t; - - -int my_url_callback(http_parser* parser, const char *at, size_t length) { - /* access to thread local custom_data_t struct. - Use this access save parsed data for later use into thread local - buffer, or communicate over socket - */ - parser->data; - ... - return 0; -} - -... - -void http_parser_thread(socket_t sock) { - int nparsed = 0; - /* allocate memory for user data */ - custom_data_t *my_data = malloc(sizeof(custom_data_t)); - - /* some information for use by callbacks. - * achieves thread -> callback information flow */ - my_data->sock = sock; - - /* instantiate a thread-local parser */ - http_parser *parser = malloc(sizeof(http_parser)); - http_parser_init(parser, HTTP_REQUEST); /* initialise parser */ - /* this custom data reference is accessible through the reference to the - parser supplied to callback functions */ - parser->data = my_data; - - http_parser_settings settings; /* set up callbacks */ - settings.on_url = my_url_callback; - - /* execute parser */ - nparsed = http_parser_execute(parser, &settings, buf, recved); - - ... - /* parsed information copied from callback. - can now perform action on data copied into thread-local memory from callbacks. - achieves callback -> thread information flow */ - my_data->buffer; - ... -} - -``` - -In case you parse HTTP message in chunks (i.e. `read()` request line -from socket, parse, read half headers, parse, etc) your data callbacks -may be called more than once. `http_parser` guarantees that data pointer is only -valid for the lifetime of callback. You can also `read()` into a heap allocated -buffer to avoid copying memory around if this fits your application. - -Reading headers may be a tricky task if you read/parse headers partially. -Basically, you need to remember whether last header callback was field or value -and apply the following logic: - - (on_header_field and on_header_value shortened to on_h_*) - ------------------------ ------------ -------------------------------------------- - | State (prev. callback) | Callback | Description/action | - ------------------------ ------------ -------------------------------------------- - | nothing (first call) | on_h_field | Allocate new buffer and copy callback data | - | | | into it | - ------------------------ ------------ -------------------------------------------- - | value | on_h_field | New header started. | - | | | Copy current name,value buffers to headers | - | | | list and allocate new buffer for new name | - ------------------------ ------------ -------------------------------------------- - | field | on_h_field | Previous name continues. Reallocate name | - | | | buffer and append callback data to it | - ------------------------ ------------ -------------------------------------------- - | field | on_h_value | Value for current header started. Allocate | - | | | new buffer and copy callback data to it | - ------------------------ ------------ -------------------------------------------- - | value | on_h_value | Value continues. Reallocate value buffer | - | | | and append callback data to it | - ------------------------ ------------ -------------------------------------------- - - -Parsing URLs ------------- - -A simplistic zero-copy URL parser is provided as `http_parser_parse_url()`. -Users of this library may wish to use it to parse URLs constructed from -consecutive `on_url` callbacks. - -See examples of reading in headers: - -* [partial example](http://gist.github.com/155877) in C -* [from http-parser tests](http://github.com/joyent/http-parser/blob/37a0ff8/test.c#L403) in C -* [from Node library](http://github.com/joyent/node/blob/842eaf4/src/http.js#L284) in Javascript diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/bench.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/bench.c deleted file mode 100644 index 678f555..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/bench.c +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright Fedor Indutny. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#include "http_parser.h" -#include -#include -#include -#include -#include - -/* 8 gb */ -static const int64_t kBytes = 8LL << 30; - -static const char data[] = - "POST /joyent/http-parser HTTP/1.1\r\n" - "Host: github.com\r\n" - "DNT: 1\r\n" - "Accept-Encoding: gzip, deflate, sdch\r\n" - "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4\r\n" - "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) " - "AppleWebKit/537.36 (KHTML, like Gecko) " - "Chrome/39.0.2171.65 Safari/537.36\r\n" - "Accept: text/html,application/xhtml+xml,application/xml;q=0.9," - "image/webp,*/*;q=0.8\r\n" - "Referer: https://github.com/joyent/http-parser\r\n" - "Connection: keep-alive\r\n" - "Transfer-Encoding: chunked\r\n" - "Cache-Control: max-age=0\r\n\r\nb\r\nhello world\r\n0\r\n"; -static const size_t data_len = sizeof(data) - 1; - -static int on_info(http_parser* p) { - return 0; -} - - -static int on_data(http_parser* p, const char *at, size_t length) { - return 0; -} - -static http_parser_settings settings = { - .on_message_begin = on_info, - .on_headers_complete = on_info, - .on_message_complete = on_info, - .on_header_field = on_data, - .on_header_value = on_data, - .on_url = on_data, - .on_status = on_data, - .on_body = on_data -}; - -int bench(int iter_count, int silent) { - struct http_parser parser; - int i; - int err; - struct timeval start; - struct timeval end; - - if (!silent) { - err = gettimeofday(&start, NULL); - assert(err == 0); - } - - fprintf(stderr, "req_len=%d\n", (int) data_len); - for (i = 0; i < iter_count; i++) { - size_t parsed; - http_parser_init(&parser, HTTP_REQUEST); - - parsed = http_parser_execute(&parser, &settings, data, data_len); - assert(parsed == data_len); - } - - if (!silent) { - double elapsed; - double bw; - double total; - - err = gettimeofday(&end, NULL); - assert(err == 0); - - fprintf(stdout, "Benchmark result:\n"); - - elapsed = (double) (end.tv_sec - start.tv_sec) + - (end.tv_usec - start.tv_usec) * 1e-6f; - - total = (double) iter_count * data_len; - bw = (double) total / elapsed; - - fprintf(stdout, "%.2f mb | %.2f mb/s | %.2f req/sec | %.2f s\n", - (double) total / (1024 * 1024), - bw / (1024 * 1024), - (double) iter_count / elapsed, - elapsed); - - fflush(stdout); - } - - return 0; -} - -int main(int argc, char** argv) { - int64_t iterations; - - iterations = kBytes / (int64_t) data_len; - if (argc == 2 && strcmp(argv[1], "infinite") == 0) { - for (;;) - bench(iterations, 1); - return 0; - } else { - return bench(iterations, 0); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/parsertrace.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/parsertrace.c deleted file mode 100644 index 3daa7f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/parsertrace.c +++ /dev/null @@ -1,157 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -/* Dump what the parser finds to stdout as it happen */ - -#include "http_parser.h" -#include -#include -#include - -int on_message_begin(http_parser* _) { - (void)_; - printf("\n***MESSAGE BEGIN***\n\n"); - return 0; -} - -int on_headers_complete(http_parser* _) { - (void)_; - printf("\n***HEADERS COMPLETE***\n\n"); - return 0; -} - -int on_message_complete(http_parser* _) { - (void)_; - printf("\n***MESSAGE COMPLETE***\n\n"); - return 0; -} - -int on_url(http_parser* _, const char* at, size_t length) { - (void)_; - printf("Url: %.*s\n", (int)length, at); - return 0; -} - -int on_header_field(http_parser* _, const char* at, size_t length) { - (void)_; - printf("Header field: %.*s\n", (int)length, at); - return 0; -} - -int on_header_value(http_parser* _, const char* at, size_t length) { - (void)_; - printf("Header value: %.*s\n", (int)length, at); - return 0; -} - -int on_body(http_parser* _, const char* at, size_t length) { - (void)_; - printf("Body: %.*s\n", (int)length, at); - return 0; -} - -void usage(const char* name) { - fprintf(stderr, - "Usage: %s $type $filename\n" - " type: -x, where x is one of {r,b,q}\n" - " parses file as a Response, reQuest, or Both\n", - name); - exit(EXIT_FAILURE); -} - -int main(int argc, char* argv[]) { - enum http_parser_type file_type; - - if (argc != 3) { - usage(argv[0]); - } - - char* type = argv[1]; - if (type[0] != '-') { - usage(argv[0]); - } - - switch (type[1]) { - /* in the case of "-", type[1] will be NUL */ - case 'r': - file_type = HTTP_RESPONSE; - break; - case 'q': - file_type = HTTP_REQUEST; - break; - case 'b': - file_type = HTTP_BOTH; - break; - default: - usage(argv[0]); - } - - char* filename = argv[2]; - FILE* file = fopen(filename, "r"); - if (file == NULL) { - perror("fopen"); - goto fail; - } - - fseek(file, 0, SEEK_END); - long file_length = ftell(file); - if (file_length == -1) { - perror("ftell"); - goto fail; - } - fseek(file, 0, SEEK_SET); - - char* data = malloc(file_length); - if (fread(data, 1, file_length, file) != (size_t)file_length) { - fprintf(stderr, "couldn't read entire file\n"); - free(data); - goto fail; - } - - http_parser_settings settings; - memset(&settings, 0, sizeof(settings)); - settings.on_message_begin = on_message_begin; - settings.on_url = on_url; - settings.on_header_field = on_header_field; - settings.on_header_value = on_header_value; - settings.on_headers_complete = on_headers_complete; - settings.on_body = on_body; - settings.on_message_complete = on_message_complete; - - http_parser parser; - http_parser_init(&parser, file_type); - size_t nparsed = http_parser_execute(&parser, &settings, data, file_length); - free(data); - - if (nparsed != (size_t)file_length) { - fprintf(stderr, - "Error: %s (%s)\n", - http_errno_description(HTTP_PARSER_ERRNO(&parser)), - http_errno_name(HTTP_PARSER_ERRNO(&parser))); - goto fail; - } - - return EXIT_SUCCESS; - -fail: - fclose(file); - return EXIT_FAILURE; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/url_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/url_parser.c deleted file mode 100644 index f235bed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/url_parser.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "http_parser.h" -#include -#include - -void -dump_url (const char *url, const struct http_parser_url *u) -{ - unsigned int i; - - printf("\tfield_set: 0x%x, port: %u\n", u->field_set, u->port); - for (i = 0; i < UF_MAX; i++) { - if ((u->field_set & (1 << i)) == 0) { - printf("\tfield_data[%u]: unset\n", i); - continue; - } - - printf("\tfield_data[%u]: off: %u, len: %u, part: %.*s\n", - i, - u->field_data[i].off, - u->field_data[i].len, - u->field_data[i].len, - url + u->field_data[i].off); - } -} - -int main(int argc, char ** argv) { - struct http_parser_url u; - int len, connect, result; - - if (argc != 3) { - printf("Syntax : %s connect|get url\n", argv[0]); - return 1; - } - len = strlen(argv[2]); - connect = strcmp("connect", argv[1]) == 0 ? 1 : 0; - printf("Parsing %s, connect %d\n", argv[2], connect); - - http_parser_url_init(&u); - result = http_parser_parse_url(argv[2], len, connect, &u); - if (result != 0) { - printf("Parse error : %d\n", result); - return result; - } - printf("Parse ok, result : \n"); - dump_url(argv[2], &u); - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.c deleted file mode 100644 index f9991c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.c +++ /dev/null @@ -1,2440 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#include "http_parser.h" -#include -#include -#include -#include -#include - -#ifndef ULLONG_MAX -# define ULLONG_MAX ((uint64_t) -1) /* 2^64-1 */ -#endif - -#ifndef MIN -# define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -#ifndef ARRAY_SIZE -# define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) -#endif - -#ifndef BIT_AT -# define BIT_AT(a, i) \ - (!!((unsigned int) (a)[(unsigned int) (i) >> 3] & \ - (1 << ((unsigned int) (i) & 7)))) -#endif - -#ifndef ELEM_AT -# define ELEM_AT(a, i, v) ((unsigned int) (i) < ARRAY_SIZE(a) ? (a)[(i)] : (v)) -#endif - -#define SET_ERRNO(e) \ -do { \ - parser->http_errno = (e); \ -} while(0) - -#define CURRENT_STATE() p_state -#define UPDATE_STATE(V) p_state = (enum state) (V); -#define RETURN(V) \ -do { \ - parser->state = CURRENT_STATE(); \ - return (V); \ -} while (0); -#define REEXECUTE() \ - goto reexecute; \ - - -#ifdef __GNUC__ -# define LIKELY(X) __builtin_expect(!!(X), 1) -# define UNLIKELY(X) __builtin_expect(!!(X), 0) -#else -# define LIKELY(X) (X) -# define UNLIKELY(X) (X) -#endif - - -/* Run the notify callback FOR, returning ER if it fails */ -#define CALLBACK_NOTIFY_(FOR, ER) \ -do { \ - assert(HTTP_PARSER_ERRNO(parser) == HPE_OK); \ - \ - if (LIKELY(settings->on_##FOR)) { \ - parser->state = CURRENT_STATE(); \ - if (UNLIKELY(0 != settings->on_##FOR(parser))) { \ - SET_ERRNO(HPE_CB_##FOR); \ - } \ - UPDATE_STATE(parser->state); \ - \ - /* We either errored above or got paused; get out */ \ - if (UNLIKELY(HTTP_PARSER_ERRNO(parser) != HPE_OK)) { \ - return (ER); \ - } \ - } \ -} while (0) - -/* Run the notify callback FOR and consume the current byte */ -#define CALLBACK_NOTIFY(FOR) CALLBACK_NOTIFY_(FOR, p - data + 1) - -/* Run the notify callback FOR and don't consume the current byte */ -#define CALLBACK_NOTIFY_NOADVANCE(FOR) CALLBACK_NOTIFY_(FOR, p - data) - -/* Run data callback FOR with LEN bytes, returning ER if it fails */ -#define CALLBACK_DATA_(FOR, LEN, ER) \ -do { \ - assert(HTTP_PARSER_ERRNO(parser) == HPE_OK); \ - \ - if (FOR##_mark) { \ - if (LIKELY(settings->on_##FOR)) { \ - parser->state = CURRENT_STATE(); \ - if (UNLIKELY(0 != \ - settings->on_##FOR(parser, FOR##_mark, (LEN)))) { \ - SET_ERRNO(HPE_CB_##FOR); \ - } \ - UPDATE_STATE(parser->state); \ - \ - /* We either errored above or got paused; get out */ \ - if (UNLIKELY(HTTP_PARSER_ERRNO(parser) != HPE_OK)) { \ - return (ER); \ - } \ - } \ - FOR##_mark = NULL; \ - } \ -} while (0) - -/* Run the data callback FOR and consume the current byte */ -#define CALLBACK_DATA(FOR) \ - CALLBACK_DATA_(FOR, p - FOR##_mark, p - data + 1) - -/* Run the data callback FOR and don't consume the current byte */ -#define CALLBACK_DATA_NOADVANCE(FOR) \ - CALLBACK_DATA_(FOR, p - FOR##_mark, p - data) - -/* Set the mark FOR; non-destructive if mark is already set */ -#define MARK(FOR) \ -do { \ - if (!FOR##_mark) { \ - FOR##_mark = p; \ - } \ -} while (0) - -/* Don't allow the total size of the HTTP headers (including the status - * line) to exceed HTTP_MAX_HEADER_SIZE. This check is here to protect - * embedders against denial-of-service attacks where the attacker feeds - * us a never-ending header that the embedder keeps buffering. - * - * This check is arguably the responsibility of embedders but we're doing - * it on the embedder's behalf because most won't bother and this way we - * make the web a little safer. HTTP_MAX_HEADER_SIZE is still far bigger - * than any reasonable request or response so this should never affect - * day-to-day operation. - */ -#define COUNT_HEADER_SIZE(V) \ -do { \ - parser->nread += (V); \ - if (UNLIKELY(parser->nread > (HTTP_MAX_HEADER_SIZE))) { \ - SET_ERRNO(HPE_HEADER_OVERFLOW); \ - goto error; \ - } \ -} while (0) - - -#define PROXY_CONNECTION "proxy-connection" -#define CONNECTION "connection" -#define CONTENT_LENGTH "content-length" -#define TRANSFER_ENCODING "transfer-encoding" -#define UPGRADE "upgrade" -#define CHUNKED "chunked" -#define KEEP_ALIVE "keep-alive" -#define CLOSE "close" - - -static const char *method_strings[] = - { -#define XX(num, name, string) #string, - HTTP_METHOD_MAP(XX) -#undef XX - }; - - -/* Tokens as defined by rfc 2616. Also lowercases them. - * token = 1* - * separators = "(" | ")" | "<" | ">" | "@" - * | "," | ";" | ":" | "\" | <"> - * | "/" | "[" | "]" | "?" | "=" - * | "{" | "}" | SP | HT - */ -static const char tokens[256] = { -/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us */ - 0, 0, 0, 0, 0, 0, 0, 0, -/* 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' */ - 0, '!', 0, '#', '$', '%', '&', '\'', -/* 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / */ - 0, 0, '*', '+', 0, '-', '.', 0, -/* 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 */ - '0', '1', '2', '3', '4', '5', '6', '7', -/* 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? */ - '8', '9', 0, 0, 0, 0, 0, 0, -/* 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G */ - 0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', -/* 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O */ - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', -/* 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W */ - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', -/* 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ */ - 'x', 'y', 'z', 0, 0, 0, '^', '_', -/* 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g */ - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', -/* 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o */ - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', -/* 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w */ - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', -/* 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del */ - 'x', 'y', 'z', 0, '|', 0, '~', 0 }; - - -static const int8_t unhex[256] = - {-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 - , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1 - ,-1,10,11,12,13,14,15,-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,10,11,12,13,14,15,-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 - }; - - -#if HTTP_PARSER_STRICT -# define T(v) 0 -#else -# define T(v) v -#endif - - -static const uint8_t normal_url_char[32] = { -/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */ - 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0, -/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */ - 0 | T(2) | 0 | 0 | T(16) | 0 | 0 | 0, -/* 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb */ - 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0, -/* 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us */ - 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0, -/* 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' */ - 0 | 2 | 4 | 0 | 16 | 32 | 64 | 128, -/* 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 0, -/* 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, -/* 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del */ - 1 | 2 | 4 | 8 | 16 | 32 | 64 | 0, }; - -#undef T - -enum state - { s_dead = 1 /* important that this is > 0 */ - - , s_start_req_or_res - , s_res_or_resp_H - , s_start_res - , s_res_H - , s_res_HT - , s_res_HTT - , s_res_HTTP - , s_res_http_major - , s_res_http_dot - , s_res_http_minor - , s_res_http_end - , s_res_first_status_code - , s_res_status_code - , s_res_status_start - , s_res_status - , s_res_line_almost_done - - , s_start_req - - , s_req_method - , s_req_spaces_before_url - , s_req_schema - , s_req_schema_slash - , s_req_schema_slash_slash - , s_req_server_start - , s_req_server - , s_req_server_with_at - , s_req_path - , s_req_query_string_start - , s_req_query_string - , s_req_fragment_start - , s_req_fragment - , s_req_http_start - , s_req_http_H - , s_req_http_HT - , s_req_http_HTT - , s_req_http_HTTP - , s_req_http_major - , s_req_http_dot - , s_req_http_minor - , s_req_http_end - , s_req_line_almost_done - - , s_header_field_start - , s_header_field - , s_header_value_discard_ws - , s_header_value_discard_ws_almost_done - , s_header_value_discard_lws - , s_header_value_start - , s_header_value - , s_header_value_lws - - , s_header_almost_done - - , s_chunk_size_start - , s_chunk_size - , s_chunk_parameters - , s_chunk_size_almost_done - - , s_headers_almost_done - , s_headers_done - - /* Important: 's_headers_done' must be the last 'header' state. All - * states beyond this must be 'body' states. It is used for overflow - * checking. See the PARSING_HEADER() macro. - */ - - , s_chunk_data - , s_chunk_data_almost_done - , s_chunk_data_done - - , s_body_identity - , s_body_identity_eof - - , s_message_done - }; - - -#define PARSING_HEADER(state) (state <= s_headers_done) - - -enum header_states - { h_general = 0 - , h_C - , h_CO - , h_CON - - , h_matching_connection - , h_matching_proxy_connection - , h_matching_content_length - , h_matching_transfer_encoding - , h_matching_upgrade - - , h_connection - , h_content_length - , h_content_length_num - , h_content_length_ws - , h_transfer_encoding - , h_upgrade - - , h_matching_transfer_encoding_chunked - , h_matching_connection_token_start - , h_matching_connection_keep_alive - , h_matching_connection_close - , h_matching_connection_upgrade - , h_matching_connection_token - - , h_transfer_encoding_chunked - , h_connection_keep_alive - , h_connection_close - , h_connection_upgrade - }; - -enum http_host_state - { - s_http_host_dead = 1 - , s_http_userinfo_start - , s_http_userinfo - , s_http_host_start - , s_http_host_v6_start - , s_http_host - , s_http_host_v6 - , s_http_host_v6_end - , s_http_host_v6_zone_start - , s_http_host_v6_zone - , s_http_host_port_start - , s_http_host_port -}; - -/* Macros for character classes; depends on strict-mode */ -#define CR '\r' -#define LF '\n' -#define LOWER(c) (unsigned char)(c | 0x20) -#define IS_ALPHA(c) (LOWER(c) >= 'a' && LOWER(c) <= 'z') -#define IS_NUM(c) ((c) >= '0' && (c) <= '9') -#define IS_ALPHANUM(c) (IS_ALPHA(c) || IS_NUM(c)) -#define IS_HEX(c) (IS_NUM(c) || (LOWER(c) >= 'a' && LOWER(c) <= 'f')) -#define IS_MARK(c) ((c) == '-' || (c) == '_' || (c) == '.' || \ - (c) == '!' || (c) == '~' || (c) == '*' || (c) == '\'' || (c) == '(' || \ - (c) == ')') -#define IS_USERINFO_CHAR(c) (IS_ALPHANUM(c) || IS_MARK(c) || (c) == '%' || \ - (c) == ';' || (c) == ':' || (c) == '&' || (c) == '=' || (c) == '+' || \ - (c) == '$' || (c) == ',') - -#define STRICT_TOKEN(c) (tokens[(unsigned char)c]) - -#if HTTP_PARSER_STRICT -#define TOKEN(c) (tokens[(unsigned char)c]) -#define IS_URL_CHAR(c) (BIT_AT(normal_url_char, (unsigned char)c)) -#define IS_HOST_CHAR(c) (IS_ALPHANUM(c) || (c) == '.' || (c) == '-') -#else -#define TOKEN(c) ((c == ' ') ? ' ' : tokens[(unsigned char)c]) -#define IS_URL_CHAR(c) \ - (BIT_AT(normal_url_char, (unsigned char)c) || ((c) & 0x80)) -#define IS_HOST_CHAR(c) \ - (IS_ALPHANUM(c) || (c) == '.' || (c) == '-' || (c) == '_') -#endif - -/** - * Verify that a char is a valid visible (printable) US-ASCII - * character or %x80-FF - **/ -#define IS_HEADER_CHAR(ch) \ - (ch == CR || ch == LF || ch == 9 || ((unsigned char)ch > 31 && ch != 127)) - -#define start_state (parser->type == HTTP_REQUEST ? s_start_req : s_start_res) - - -#if HTTP_PARSER_STRICT -# define STRICT_CHECK(cond) \ -do { \ - if (cond) { \ - SET_ERRNO(HPE_STRICT); \ - goto error; \ - } \ -} while (0) -# define NEW_MESSAGE() (http_should_keep_alive(parser) ? start_state : s_dead) -#else -# define STRICT_CHECK(cond) -# define NEW_MESSAGE() start_state -#endif - - -/* Map errno values to strings for human-readable output */ -#define HTTP_STRERROR_GEN(n, s) { "HPE_" #n, s }, -static struct { - const char *name; - const char *description; -} http_strerror_tab[] = { - HTTP_ERRNO_MAP(HTTP_STRERROR_GEN) -}; -#undef HTTP_STRERROR_GEN - -int http_message_needs_eof(const http_parser *parser); - -/* Our URL parser. - * - * This is designed to be shared by http_parser_execute() for URL validation, - * hence it has a state transition + byte-for-byte interface. In addition, it - * is meant to be embedded in http_parser_parse_url(), which does the dirty - * work of turning state transitions URL components for its API. - * - * This function should only be invoked with non-space characters. It is - * assumed that the caller cares about (and can detect) the transition between - * URL and non-URL states by looking for these. - */ -static enum state -parse_url_char(enum state s, const char ch) -{ - if (ch == ' ' || ch == '\r' || ch == '\n') { - return s_dead; - } - -#if HTTP_PARSER_STRICT - if (ch == '\t' || ch == '\f') { - return s_dead; - } -#endif - - switch (s) { - case s_req_spaces_before_url: - /* Proxied requests are followed by scheme of an absolute URI (alpha). - * All methods except CONNECT are followed by '/' or '*'. - */ - - if (ch == '/' || ch == '*') { - return s_req_path; - } - - if (IS_ALPHA(ch)) { - return s_req_schema; - } - - break; - - case s_req_schema: - if (IS_ALPHA(ch)) { - return s; - } - - if (ch == ':') { - return s_req_schema_slash; - } - - break; - - case s_req_schema_slash: - if (ch == '/') { - return s_req_schema_slash_slash; - } - - break; - - case s_req_schema_slash_slash: - if (ch == '/') { - return s_req_server_start; - } - - break; - - case s_req_server_with_at: - if (ch == '@') { - return s_dead; - } - - /* FALLTHROUGH */ - case s_req_server_start: - case s_req_server: - if (ch == '/') { - return s_req_path; - } - - if (ch == '?') { - return s_req_query_string_start; - } - - if (ch == '@') { - return s_req_server_with_at; - } - - if (IS_USERINFO_CHAR(ch) || ch == '[' || ch == ']') { - return s_req_server; - } - - break; - - case s_req_path: - if (IS_URL_CHAR(ch)) { - return s; - } - - switch (ch) { - case '?': - return s_req_query_string_start; - - case '#': - return s_req_fragment_start; - } - - break; - - case s_req_query_string_start: - case s_req_query_string: - if (IS_URL_CHAR(ch)) { - return s_req_query_string; - } - - switch (ch) { - case '?': - /* allow extra '?' in query string */ - return s_req_query_string; - - case '#': - return s_req_fragment_start; - } - - break; - - case s_req_fragment_start: - if (IS_URL_CHAR(ch)) { - return s_req_fragment; - } - - switch (ch) { - case '?': - return s_req_fragment; - - case '#': - return s; - } - - break; - - case s_req_fragment: - if (IS_URL_CHAR(ch)) { - return s; - } - - switch (ch) { - case '?': - case '#': - return s; - } - - break; - - default: - break; - } - - /* We should never fall out of the switch above unless there's an error */ - return s_dead; -} - -size_t http_parser_execute (http_parser *parser, - const http_parser_settings *settings, - const char *data, - size_t len) -{ - char c, ch; - int8_t unhex_val; - const char *p = data; - const char *header_field_mark = 0; - const char *header_value_mark = 0; - const char *url_mark = 0; - const char *body_mark = 0; - const char *status_mark = 0; - enum state p_state = (enum state) parser->state; - const unsigned int lenient = parser->lenient_http_headers; - - /* We're in an error state. Don't bother doing anything. */ - if (HTTP_PARSER_ERRNO(parser) != HPE_OK) { - return 0; - } - - if (len == 0) { - switch (CURRENT_STATE()) { - case s_body_identity_eof: - /* Use of CALLBACK_NOTIFY() here would erroneously return 1 byte read if - * we got paused. - */ - CALLBACK_NOTIFY_NOADVANCE(message_complete); - return 0; - - case s_dead: - case s_start_req_or_res: - case s_start_res: - case s_start_req: - return 0; - - default: - SET_ERRNO(HPE_INVALID_EOF_STATE); - return 1; - } - } - - - if (CURRENT_STATE() == s_header_field) - header_field_mark = data; - if (CURRENT_STATE() == s_header_value) - header_value_mark = data; - switch (CURRENT_STATE()) { - case s_req_path: - case s_req_schema: - case s_req_schema_slash: - case s_req_schema_slash_slash: - case s_req_server_start: - case s_req_server: - case s_req_server_with_at: - case s_req_query_string_start: - case s_req_query_string: - case s_req_fragment_start: - case s_req_fragment: - url_mark = data; - break; - case s_res_status: - status_mark = data; - break; - default: - break; - } - - for (p=data; p != data + len; p++) { - ch = *p; - - if (PARSING_HEADER(CURRENT_STATE())) - COUNT_HEADER_SIZE(1); - -reexecute: - switch (CURRENT_STATE()) { - - case s_dead: - /* this state is used after a 'Connection: close' message - * the parser will error out if it reads another message - */ - if (LIKELY(ch == CR || ch == LF)) - break; - - SET_ERRNO(HPE_CLOSED_CONNECTION); - goto error; - - case s_start_req_or_res: - { - if (ch == CR || ch == LF) - break; - parser->flags = 0; - parser->content_length = ULLONG_MAX; - - if (ch == 'H') { - UPDATE_STATE(s_res_or_resp_H); - - CALLBACK_NOTIFY(message_begin); - } else { - parser->type = HTTP_REQUEST; - UPDATE_STATE(s_start_req); - REEXECUTE(); - } - - break; - } - - case s_res_or_resp_H: - if (ch == 'T') { - parser->type = HTTP_RESPONSE; - UPDATE_STATE(s_res_HT); - } else { - if (UNLIKELY(ch != 'E')) { - SET_ERRNO(HPE_INVALID_CONSTANT); - goto error; - } - - parser->type = HTTP_REQUEST; - parser->method = HTTP_HEAD; - parser->index = 2; - UPDATE_STATE(s_req_method); - } - break; - - case s_start_res: - { - parser->flags = 0; - parser->content_length = ULLONG_MAX; - - switch (ch) { - case 'H': - UPDATE_STATE(s_res_H); - break; - - case CR: - case LF: - break; - - default: - SET_ERRNO(HPE_INVALID_CONSTANT); - goto error; - } - - CALLBACK_NOTIFY(message_begin); - break; - } - - case s_res_H: - STRICT_CHECK(ch != 'T'); - UPDATE_STATE(s_res_HT); - break; - - case s_res_HT: - STRICT_CHECK(ch != 'T'); - UPDATE_STATE(s_res_HTT); - break; - - case s_res_HTT: - STRICT_CHECK(ch != 'P'); - UPDATE_STATE(s_res_HTTP); - break; - - case s_res_HTTP: - STRICT_CHECK(ch != '/'); - UPDATE_STATE(s_res_http_major); - break; - - case s_res_http_major: - if (UNLIKELY(!IS_NUM(ch))) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_major = ch - '0'; - UPDATE_STATE(s_res_http_dot); - break; - - case s_res_http_dot: - { - if (UNLIKELY(ch != '.')) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - UPDATE_STATE(s_res_http_minor); - break; - } - - case s_res_http_minor: - if (UNLIKELY(!IS_NUM(ch))) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_minor = ch - '0'; - UPDATE_STATE(s_res_http_end); - break; - - case s_res_http_end: - { - if (UNLIKELY(ch != ' ')) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - UPDATE_STATE(s_res_first_status_code); - break; - } - - case s_res_first_status_code: - { - if (!IS_NUM(ch)) { - if (ch == ' ') { - break; - } - - SET_ERRNO(HPE_INVALID_STATUS); - goto error; - } - parser->status_code = ch - '0'; - UPDATE_STATE(s_res_status_code); - break; - } - - case s_res_status_code: - { - if (!IS_NUM(ch)) { - switch (ch) { - case ' ': - UPDATE_STATE(s_res_status_start); - break; - case CR: - case LF: - UPDATE_STATE(s_res_status_start); - REEXECUTE(); - break; - default: - SET_ERRNO(HPE_INVALID_STATUS); - goto error; - } - break; - } - - parser->status_code *= 10; - parser->status_code += ch - '0'; - - if (UNLIKELY(parser->status_code > 999)) { - SET_ERRNO(HPE_INVALID_STATUS); - goto error; - } - - break; - } - - case s_res_status_start: - { - MARK(status); - UPDATE_STATE(s_res_status); - parser->index = 0; - - if (ch == CR || ch == LF) - REEXECUTE(); - - break; - } - - case s_res_status: - if (ch == CR) { - UPDATE_STATE(s_res_line_almost_done); - CALLBACK_DATA(status); - break; - } - - if (ch == LF) { - UPDATE_STATE(s_header_field_start); - CALLBACK_DATA(status); - break; - } - - break; - - case s_res_line_almost_done: - STRICT_CHECK(ch != LF); - UPDATE_STATE(s_header_field_start); - break; - - case s_start_req: - { - if (ch == CR || ch == LF) - break; - parser->flags = 0; - parser->content_length = ULLONG_MAX; - - if (UNLIKELY(!IS_ALPHA(ch))) { - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - - parser->method = (enum http_method) 0; - parser->index = 1; - switch (ch) { - case 'A': parser->method = HTTP_ACL; break; - case 'B': parser->method = HTTP_BIND; break; - case 'C': parser->method = HTTP_CONNECT; /* or COPY, CHECKOUT */ break; - case 'D': parser->method = HTTP_DELETE; break; - case 'G': parser->method = HTTP_GET; break; - case 'H': parser->method = HTTP_HEAD; break; - case 'L': parser->method = HTTP_LOCK; /* or LINK */ break; - case 'M': parser->method = HTTP_MKCOL; /* or MOVE, MKACTIVITY, MERGE, M-SEARCH, MKCALENDAR */ break; - case 'N': parser->method = HTTP_NOTIFY; break; - case 'O': parser->method = HTTP_OPTIONS; break; - case 'P': parser->method = HTTP_POST; - /* or PROPFIND|PROPPATCH|PUT|PATCH|PURGE */ - break; - case 'R': parser->method = HTTP_REPORT; /* or REBIND */ break; - case 'S': parser->method = HTTP_SUBSCRIBE; /* or SEARCH, SOURCE */ break; - case 'T': parser->method = HTTP_TRACE; break; - case 'U': parser->method = HTTP_UNLOCK; /* or UNSUBSCRIBE, UNBIND, UNLINK */ break; - default: - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - UPDATE_STATE(s_req_method); - - CALLBACK_NOTIFY(message_begin); - - break; - } - - case s_req_method: - { - const char *matcher; - if (UNLIKELY(ch == '\0')) { - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - - matcher = method_strings[parser->method]; - if (ch == ' ' && matcher[parser->index] == '\0') { - UPDATE_STATE(s_req_spaces_before_url); - } else if (ch == matcher[parser->index]) { - ; /* nada */ - } else if ((ch >= 'A' && ch <= 'Z') || ch == '-') { - - switch (parser->method << 16 | parser->index << 8 | ch) { -#define XX(meth, pos, ch, new_meth) \ - case (HTTP_##meth << 16 | pos << 8 | ch): \ - parser->method = HTTP_##new_meth; break; - - XX(POST, 1, 'U', PUT) - XX(POST, 1, 'A', PATCH) - XX(POST, 1, 'R', PROPFIND) - XX(PUT, 2, 'R', PURGE) - XX(CONNECT, 1, 'H', CHECKOUT) - XX(CONNECT, 2, 'P', COPY) - XX(MKCOL, 1, 'O', MOVE) - XX(MKCOL, 1, 'E', MERGE) - XX(MKCOL, 1, '-', MSEARCH) - XX(MKCOL, 2, 'A', MKACTIVITY) - XX(MKCOL, 3, 'A', MKCALENDAR) - XX(SUBSCRIBE, 1, 'E', SEARCH) - XX(SUBSCRIBE, 1, 'O', SOURCE) - XX(REPORT, 2, 'B', REBIND) - XX(PROPFIND, 4, 'P', PROPPATCH) - XX(LOCK, 1, 'I', LINK) - XX(UNLOCK, 2, 'S', UNSUBSCRIBE) - XX(UNLOCK, 2, 'B', UNBIND) - XX(UNLOCK, 3, 'I', UNLINK) -#undef XX - default: - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - } else { - SET_ERRNO(HPE_INVALID_METHOD); - goto error; - } - - ++parser->index; - break; - } - - case s_req_spaces_before_url: - { - if (ch == ' ') break; - - MARK(url); - if (parser->method == HTTP_CONNECT) { - UPDATE_STATE(s_req_server_start); - } - - UPDATE_STATE(parse_url_char(CURRENT_STATE(), ch)); - if (UNLIKELY(CURRENT_STATE() == s_dead)) { - SET_ERRNO(HPE_INVALID_URL); - goto error; - } - - break; - } - - case s_req_schema: - case s_req_schema_slash: - case s_req_schema_slash_slash: - case s_req_server_start: - { - switch (ch) { - /* No whitespace allowed here */ - case ' ': - case CR: - case LF: - SET_ERRNO(HPE_INVALID_URL); - goto error; - default: - UPDATE_STATE(parse_url_char(CURRENT_STATE(), ch)); - if (UNLIKELY(CURRENT_STATE() == s_dead)) { - SET_ERRNO(HPE_INVALID_URL); - goto error; - } - } - - break; - } - - case s_req_server: - case s_req_server_with_at: - case s_req_path: - case s_req_query_string_start: - case s_req_query_string: - case s_req_fragment_start: - case s_req_fragment: - { - switch (ch) { - case ' ': - UPDATE_STATE(s_req_http_start); - CALLBACK_DATA(url); - break; - case CR: - case LF: - parser->http_major = 0; - parser->http_minor = 9; - UPDATE_STATE((ch == CR) ? - s_req_line_almost_done : - s_header_field_start); - CALLBACK_DATA(url); - break; - default: - UPDATE_STATE(parse_url_char(CURRENT_STATE(), ch)); - if (UNLIKELY(CURRENT_STATE() == s_dead)) { - SET_ERRNO(HPE_INVALID_URL); - goto error; - } - } - break; - } - - case s_req_http_start: - switch (ch) { - case 'H': - UPDATE_STATE(s_req_http_H); - break; - case ' ': - break; - default: - SET_ERRNO(HPE_INVALID_CONSTANT); - goto error; - } - break; - - case s_req_http_H: - STRICT_CHECK(ch != 'T'); - UPDATE_STATE(s_req_http_HT); - break; - - case s_req_http_HT: - STRICT_CHECK(ch != 'T'); - UPDATE_STATE(s_req_http_HTT); - break; - - case s_req_http_HTT: - STRICT_CHECK(ch != 'P'); - UPDATE_STATE(s_req_http_HTTP); - break; - - case s_req_http_HTTP: - STRICT_CHECK(ch != '/'); - UPDATE_STATE(s_req_http_major); - break; - - case s_req_http_major: - if (UNLIKELY(!IS_NUM(ch))) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_major = ch - '0'; - UPDATE_STATE(s_req_http_dot); - break; - - case s_req_http_dot: - { - if (UNLIKELY(ch != '.')) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - UPDATE_STATE(s_req_http_minor); - break; - } - - case s_req_http_minor: - if (UNLIKELY(!IS_NUM(ch))) { - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - } - - parser->http_minor = ch - '0'; - UPDATE_STATE(s_req_http_end); - break; - - case s_req_http_end: - { - if (ch == CR) { - UPDATE_STATE(s_req_line_almost_done); - break; - } - - if (ch == LF) { - UPDATE_STATE(s_header_field_start); - break; - } - - SET_ERRNO(HPE_INVALID_VERSION); - goto error; - break; - } - - /* end of request line */ - case s_req_line_almost_done: - { - if (UNLIKELY(ch != LF)) { - SET_ERRNO(HPE_LF_EXPECTED); - goto error; - } - - UPDATE_STATE(s_header_field_start); - break; - } - - case s_header_field_start: - { - if (ch == CR) { - UPDATE_STATE(s_headers_almost_done); - break; - } - - if (ch == LF) { - /* they might be just sending \n instead of \r\n so this would be - * the second \n to denote the end of headers*/ - UPDATE_STATE(s_headers_almost_done); - REEXECUTE(); - } - - c = TOKEN(ch); - - if (UNLIKELY(!c)) { - SET_ERRNO(HPE_INVALID_HEADER_TOKEN); - goto error; - } - - MARK(header_field); - - parser->index = 0; - UPDATE_STATE(s_header_field); - - switch (c) { - case 'c': - parser->header_state = h_C; - break; - - case 'p': - parser->header_state = h_matching_proxy_connection; - break; - - case 't': - parser->header_state = h_matching_transfer_encoding; - break; - - case 'u': - parser->header_state = h_matching_upgrade; - break; - - default: - parser->header_state = h_general; - break; - } - break; - } - - case s_header_field: - { - const char* start = p; - for (; p != data + len; p++) { - ch = *p; - c = TOKEN(ch); - - if (!c) - break; - - switch (parser->header_state) { - case h_general: - break; - - case h_C: - parser->index++; - parser->header_state = (c == 'o' ? h_CO : h_general); - break; - - case h_CO: - parser->index++; - parser->header_state = (c == 'n' ? h_CON : h_general); - break; - - case h_CON: - parser->index++; - switch (c) { - case 'n': - parser->header_state = h_matching_connection; - break; - case 't': - parser->header_state = h_matching_content_length; - break; - default: - parser->header_state = h_general; - break; - } - break; - - /* connection */ - - case h_matching_connection: - parser->index++; - if (parser->index > sizeof(CONNECTION)-1 - || c != CONNECTION[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(CONNECTION)-2) { - parser->header_state = h_connection; - } - break; - - /* proxy-connection */ - - case h_matching_proxy_connection: - parser->index++; - if (parser->index > sizeof(PROXY_CONNECTION)-1 - || c != PROXY_CONNECTION[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(PROXY_CONNECTION)-2) { - parser->header_state = h_connection; - } - break; - - /* content-length */ - - case h_matching_content_length: - parser->index++; - if (parser->index > sizeof(CONTENT_LENGTH)-1 - || c != CONTENT_LENGTH[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(CONTENT_LENGTH)-2) { - parser->header_state = h_content_length; - } - break; - - /* transfer-encoding */ - - case h_matching_transfer_encoding: - parser->index++; - if (parser->index > sizeof(TRANSFER_ENCODING)-1 - || c != TRANSFER_ENCODING[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(TRANSFER_ENCODING)-2) { - parser->header_state = h_transfer_encoding; - } - break; - - /* upgrade */ - - case h_matching_upgrade: - parser->index++; - if (parser->index > sizeof(UPGRADE)-1 - || c != UPGRADE[parser->index]) { - parser->header_state = h_general; - } else if (parser->index == sizeof(UPGRADE)-2) { - parser->header_state = h_upgrade; - } - break; - - case h_connection: - case h_content_length: - case h_transfer_encoding: - case h_upgrade: - if (ch != ' ') parser->header_state = h_general; - break; - - default: - assert(0 && "Unknown header_state"); - break; - } - } - - COUNT_HEADER_SIZE(p - start); - - if (p == data + len) { - --p; - break; - } - - if (ch == ':') { - UPDATE_STATE(s_header_value_discard_ws); - CALLBACK_DATA(header_field); - break; - } - - SET_ERRNO(HPE_INVALID_HEADER_TOKEN); - goto error; - } - - case s_header_value_discard_ws: - if (ch == ' ' || ch == '\t') break; - - if (ch == CR) { - UPDATE_STATE(s_header_value_discard_ws_almost_done); - break; - } - - if (ch == LF) { - UPDATE_STATE(s_header_value_discard_lws); - break; - } - - /* FALLTHROUGH */ - - case s_header_value_start: - { - MARK(header_value); - - UPDATE_STATE(s_header_value); - parser->index = 0; - - c = LOWER(ch); - - switch (parser->header_state) { - case h_upgrade: - parser->flags |= F_UPGRADE; - parser->header_state = h_general; - break; - - case h_transfer_encoding: - /* looking for 'Transfer-Encoding: chunked' */ - if ('c' == c) { - parser->header_state = h_matching_transfer_encoding_chunked; - } else { - parser->header_state = h_general; - } - break; - - case h_content_length: - if (UNLIKELY(!IS_NUM(ch))) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - goto error; - } - - if (parser->flags & F_CONTENTLENGTH) { - SET_ERRNO(HPE_UNEXPECTED_CONTENT_LENGTH); - goto error; - } - - parser->flags |= F_CONTENTLENGTH; - parser->content_length = ch - '0'; - parser->header_state = h_content_length_num; - break; - - case h_connection: - /* looking for 'Connection: keep-alive' */ - if (c == 'k') { - parser->header_state = h_matching_connection_keep_alive; - /* looking for 'Connection: close' */ - } else if (c == 'c') { - parser->header_state = h_matching_connection_close; - } else if (c == 'u') { - parser->header_state = h_matching_connection_upgrade; - } else { - parser->header_state = h_matching_connection_token; - } - break; - - /* Multi-value `Connection` header */ - case h_matching_connection_token_start: - break; - - default: - parser->header_state = h_general; - break; - } - break; - } - - case s_header_value: - { - const char* start = p; - enum header_states h_state = (enum header_states) parser->header_state; - for (; p != data + len; p++) { - ch = *p; - if (ch == CR) { - UPDATE_STATE(s_header_almost_done); - parser->header_state = h_state; - CALLBACK_DATA(header_value); - break; - } - - if (ch == LF) { - UPDATE_STATE(s_header_almost_done); - COUNT_HEADER_SIZE(p - start); - parser->header_state = h_state; - CALLBACK_DATA_NOADVANCE(header_value); - REEXECUTE(); - } - - if (!lenient && !IS_HEADER_CHAR(ch)) { - SET_ERRNO(HPE_INVALID_HEADER_TOKEN); - goto error; - } - - c = LOWER(ch); - - switch (h_state) { - case h_general: - { - const char* p_cr; - const char* p_lf; - size_t limit = data + len - p; - - limit = MIN(limit, HTTP_MAX_HEADER_SIZE); - - p_cr = (const char*) memchr(p, CR, limit); - p_lf = (const char*) memchr(p, LF, limit); - if (p_cr != NULL) { - if (p_lf != NULL && p_cr >= p_lf) - p = p_lf; - else - p = p_cr; - } else if (UNLIKELY(p_lf != NULL)) { - p = p_lf; - } else { - p = data + len; - } - --p; - - break; - } - - case h_connection: - case h_transfer_encoding: - assert(0 && "Shouldn't get here."); - break; - - case h_content_length: - if (ch == ' ') break; - h_state = h_content_length_num; - /* FALLTHROUGH */ - - case h_content_length_num: - { - uint64_t t; - - if (ch == ' ') { - h_state = h_content_length_ws; - break; - } - - if (UNLIKELY(!IS_NUM(ch))) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - parser->header_state = h_state; - goto error; - } - - t = parser->content_length; - t *= 10; - t += ch - '0'; - - /* Overflow? Test against a conservative limit for simplicity. */ - if (UNLIKELY((ULLONG_MAX - 10) / 10 < parser->content_length)) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - parser->header_state = h_state; - goto error; - } - - parser->content_length = t; - break; - } - - case h_content_length_ws: - if (ch == ' ') break; - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - parser->header_state = h_state; - goto error; - - /* Transfer-Encoding: chunked */ - case h_matching_transfer_encoding_chunked: - parser->index++; - if (parser->index > sizeof(CHUNKED)-1 - || c != CHUNKED[parser->index]) { - h_state = h_general; - } else if (parser->index == sizeof(CHUNKED)-2) { - h_state = h_transfer_encoding_chunked; - } - break; - - case h_matching_connection_token_start: - /* looking for 'Connection: keep-alive' */ - if (c == 'k') { - h_state = h_matching_connection_keep_alive; - /* looking for 'Connection: close' */ - } else if (c == 'c') { - h_state = h_matching_connection_close; - } else if (c == 'u') { - h_state = h_matching_connection_upgrade; - } else if (STRICT_TOKEN(c)) { - h_state = h_matching_connection_token; - } else if (c == ' ' || c == '\t') { - /* Skip lws */ - } else { - h_state = h_general; - } - break; - - /* looking for 'Connection: keep-alive' */ - case h_matching_connection_keep_alive: - parser->index++; - if (parser->index > sizeof(KEEP_ALIVE)-1 - || c != KEEP_ALIVE[parser->index]) { - h_state = h_matching_connection_token; - } else if (parser->index == sizeof(KEEP_ALIVE)-2) { - h_state = h_connection_keep_alive; - } - break; - - /* looking for 'Connection: close' */ - case h_matching_connection_close: - parser->index++; - if (parser->index > sizeof(CLOSE)-1 || c != CLOSE[parser->index]) { - h_state = h_matching_connection_token; - } else if (parser->index == sizeof(CLOSE)-2) { - h_state = h_connection_close; - } - break; - - /* looking for 'Connection: upgrade' */ - case h_matching_connection_upgrade: - parser->index++; - if (parser->index > sizeof(UPGRADE) - 1 || - c != UPGRADE[parser->index]) { - h_state = h_matching_connection_token; - } else if (parser->index == sizeof(UPGRADE)-2) { - h_state = h_connection_upgrade; - } - break; - - case h_matching_connection_token: - if (ch == ',') { - h_state = h_matching_connection_token_start; - parser->index = 0; - } - break; - - case h_transfer_encoding_chunked: - if (ch != ' ') h_state = h_general; - break; - - case h_connection_keep_alive: - case h_connection_close: - case h_connection_upgrade: - if (ch == ',') { - if (h_state == h_connection_keep_alive) { - parser->flags |= F_CONNECTION_KEEP_ALIVE; - } else if (h_state == h_connection_close) { - parser->flags |= F_CONNECTION_CLOSE; - } else if (h_state == h_connection_upgrade) { - parser->flags |= F_CONNECTION_UPGRADE; - } - h_state = h_matching_connection_token_start; - parser->index = 0; - } else if (ch != ' ') { - h_state = h_matching_connection_token; - } - break; - - default: - UPDATE_STATE(s_header_value); - h_state = h_general; - break; - } - } - parser->header_state = h_state; - - COUNT_HEADER_SIZE(p - start); - - if (p == data + len) - --p; - break; - } - - case s_header_almost_done: - { - if (UNLIKELY(ch != LF)) { - SET_ERRNO(HPE_LF_EXPECTED); - goto error; - } - - UPDATE_STATE(s_header_value_lws); - break; - } - - case s_header_value_lws: - { - if (ch == ' ' || ch == '\t') { - UPDATE_STATE(s_header_value_start); - REEXECUTE(); - } - - /* finished the header */ - switch (parser->header_state) { - case h_connection_keep_alive: - parser->flags |= F_CONNECTION_KEEP_ALIVE; - break; - case h_connection_close: - parser->flags |= F_CONNECTION_CLOSE; - break; - case h_transfer_encoding_chunked: - parser->flags |= F_CHUNKED; - break; - case h_connection_upgrade: - parser->flags |= F_CONNECTION_UPGRADE; - break; - default: - break; - } - - UPDATE_STATE(s_header_field_start); - REEXECUTE(); - } - - case s_header_value_discard_ws_almost_done: - { - STRICT_CHECK(ch != LF); - UPDATE_STATE(s_header_value_discard_lws); - break; - } - - case s_header_value_discard_lws: - { - if (ch == ' ' || ch == '\t') { - UPDATE_STATE(s_header_value_discard_ws); - break; - } else { - switch (parser->header_state) { - case h_connection_keep_alive: - parser->flags |= F_CONNECTION_KEEP_ALIVE; - break; - case h_connection_close: - parser->flags |= F_CONNECTION_CLOSE; - break; - case h_connection_upgrade: - parser->flags |= F_CONNECTION_UPGRADE; - break; - case h_transfer_encoding_chunked: - parser->flags |= F_CHUNKED; - break; - default: - break; - } - - /* header value was empty */ - MARK(header_value); - UPDATE_STATE(s_header_field_start); - CALLBACK_DATA_NOADVANCE(header_value); - REEXECUTE(); - } - } - - case s_headers_almost_done: - { - STRICT_CHECK(ch != LF); - - if (parser->flags & F_TRAILING) { - /* End of a chunked request */ - UPDATE_STATE(s_message_done); - CALLBACK_NOTIFY_NOADVANCE(chunk_complete); - REEXECUTE(); - } - - /* Cannot use chunked encoding and a content-length header together - per the HTTP specification. */ - if ((parser->flags & F_CHUNKED) && - (parser->flags & F_CONTENTLENGTH)) { - SET_ERRNO(HPE_UNEXPECTED_CONTENT_LENGTH); - goto error; - } - - UPDATE_STATE(s_headers_done); - - /* Set this here so that on_headers_complete() callbacks can see it */ - if ((parser->flags & F_UPGRADE) && - (parser->flags & F_CONNECTION_UPGRADE)) { - /* For responses, "Upgrade: foo" and "Connection: upgrade" are - * mandatory only when it is a 101 Switching Protocols response, - * otherwise it is purely informational, to announce support. - */ - parser->upgrade = - (parser->type == HTTP_REQUEST || parser->status_code == 101); - } else { - parser->upgrade = (parser->method == HTTP_CONNECT); - } - - /* Here we call the headers_complete callback. This is somewhat - * different than other callbacks because if the user returns 1, we - * will interpret that as saying that this message has no body. This - * is needed for the annoying case of recieving a response to a HEAD - * request. - * - * We'd like to use CALLBACK_NOTIFY_NOADVANCE() here but we cannot, so - * we have to simulate it by handling a change in errno below. - */ - if (settings->on_headers_complete) { - switch (settings->on_headers_complete(parser)) { - case 0: - break; - - case 2: - parser->upgrade = 1; - - /* FALLTHROUGH */ - case 1: - parser->flags |= F_SKIPBODY; - break; - - default: - SET_ERRNO(HPE_CB_headers_complete); - RETURN(p - data); /* Error */ - } - } - - if (HTTP_PARSER_ERRNO(parser) != HPE_OK) { - RETURN(p - data); - } - - REEXECUTE(); - } - - case s_headers_done: - { - int hasBody; - STRICT_CHECK(ch != LF); - - parser->nread = 0; - - hasBody = parser->flags & F_CHUNKED || - (parser->content_length > 0 && parser->content_length != ULLONG_MAX); - if (parser->upgrade && (parser->method == HTTP_CONNECT || - (parser->flags & F_SKIPBODY) || !hasBody)) { - /* Exit, the rest of the message is in a different protocol. */ - UPDATE_STATE(NEW_MESSAGE()); - CALLBACK_NOTIFY(message_complete); - RETURN((p - data) + 1); - } - - if (parser->flags & F_SKIPBODY) { - UPDATE_STATE(NEW_MESSAGE()); - CALLBACK_NOTIFY(message_complete); - } else if (parser->flags & F_CHUNKED) { - /* chunked encoding - ignore Content-Length header */ - UPDATE_STATE(s_chunk_size_start); - } else { - if (parser->content_length == 0) { - /* Content-Length header given but zero: Content-Length: 0\r\n */ - UPDATE_STATE(NEW_MESSAGE()); - CALLBACK_NOTIFY(message_complete); - } else if (parser->content_length != ULLONG_MAX) { - /* Content-Length header given and non-zero */ - UPDATE_STATE(s_body_identity); - } else { - if (!http_message_needs_eof(parser)) { - /* Assume content-length 0 - read the next */ - UPDATE_STATE(NEW_MESSAGE()); - CALLBACK_NOTIFY(message_complete); - } else { - /* Read body until EOF */ - UPDATE_STATE(s_body_identity_eof); - } - } - } - - break; - } - - case s_body_identity: - { - uint64_t to_read = MIN(parser->content_length, - (uint64_t) ((data + len) - p)); - - assert(parser->content_length != 0 - && parser->content_length != ULLONG_MAX); - - /* The difference between advancing content_length and p is because - * the latter will automaticaly advance on the next loop iteration. - * Further, if content_length ends up at 0, we want to see the last - * byte again for our message complete callback. - */ - MARK(body); - parser->content_length -= to_read; - p += to_read - 1; - - if (parser->content_length == 0) { - UPDATE_STATE(s_message_done); - - /* Mimic CALLBACK_DATA_NOADVANCE() but with one extra byte. - * - * The alternative to doing this is to wait for the next byte to - * trigger the data callback, just as in every other case. The - * problem with this is that this makes it difficult for the test - * harness to distinguish between complete-on-EOF and - * complete-on-length. It's not clear that this distinction is - * important for applications, but let's keep it for now. - */ - CALLBACK_DATA_(body, p - body_mark + 1, p - data); - REEXECUTE(); - } - - break; - } - - /* read until EOF */ - case s_body_identity_eof: - MARK(body); - p = data + len - 1; - - break; - - case s_message_done: - UPDATE_STATE(NEW_MESSAGE()); - CALLBACK_NOTIFY(message_complete); - if (parser->upgrade) { - /* Exit, the rest of the message is in a different protocol. */ - RETURN((p - data) + 1); - } - break; - - case s_chunk_size_start: - { - assert(parser->nread == 1); - assert(parser->flags & F_CHUNKED); - - unhex_val = unhex[(unsigned char)ch]; - if (UNLIKELY(unhex_val == -1)) { - SET_ERRNO(HPE_INVALID_CHUNK_SIZE); - goto error; - } - - parser->content_length = unhex_val; - UPDATE_STATE(s_chunk_size); - break; - } - - case s_chunk_size: - { - uint64_t t; - - assert(parser->flags & F_CHUNKED); - - if (ch == CR) { - UPDATE_STATE(s_chunk_size_almost_done); - break; - } - - unhex_val = unhex[(unsigned char)ch]; - - if (unhex_val == -1) { - if (ch == ';' || ch == ' ') { - UPDATE_STATE(s_chunk_parameters); - break; - } - - SET_ERRNO(HPE_INVALID_CHUNK_SIZE); - goto error; - } - - t = parser->content_length; - t *= 16; - t += unhex_val; - - /* Overflow? Test against a conservative limit for simplicity. */ - if (UNLIKELY((ULLONG_MAX - 16) / 16 < parser->content_length)) { - SET_ERRNO(HPE_INVALID_CONTENT_LENGTH); - goto error; - } - - parser->content_length = t; - break; - } - - case s_chunk_parameters: - { - assert(parser->flags & F_CHUNKED); - /* just ignore this shit. TODO check for overflow */ - if (ch == CR) { - UPDATE_STATE(s_chunk_size_almost_done); - break; - } - break; - } - - case s_chunk_size_almost_done: - { - assert(parser->flags & F_CHUNKED); - STRICT_CHECK(ch != LF); - - parser->nread = 0; - - if (parser->content_length == 0) { - parser->flags |= F_TRAILING; - UPDATE_STATE(s_header_field_start); - } else { - UPDATE_STATE(s_chunk_data); - } - CALLBACK_NOTIFY(chunk_header); - break; - } - - case s_chunk_data: - { - uint64_t to_read = MIN(parser->content_length, - (uint64_t) ((data + len) - p)); - - assert(parser->flags & F_CHUNKED); - assert(parser->content_length != 0 - && parser->content_length != ULLONG_MAX); - - /* See the explanation in s_body_identity for why the content - * length and data pointers are managed this way. - */ - MARK(body); - parser->content_length -= to_read; - p += to_read - 1; - - if (parser->content_length == 0) { - UPDATE_STATE(s_chunk_data_almost_done); - } - - break; - } - - case s_chunk_data_almost_done: - assert(parser->flags & F_CHUNKED); - assert(parser->content_length == 0); - STRICT_CHECK(ch != CR); - UPDATE_STATE(s_chunk_data_done); - CALLBACK_DATA(body); - break; - - case s_chunk_data_done: - assert(parser->flags & F_CHUNKED); - STRICT_CHECK(ch != LF); - parser->nread = 0; - UPDATE_STATE(s_chunk_size_start); - CALLBACK_NOTIFY(chunk_complete); - break; - - default: - assert(0 && "unhandled state"); - SET_ERRNO(HPE_INVALID_INTERNAL_STATE); - goto error; - } - } - - /* Run callbacks for any marks that we have leftover after we ran our of - * bytes. There should be at most one of these set, so it's OK to invoke - * them in series (unset marks will not result in callbacks). - * - * We use the NOADVANCE() variety of callbacks here because 'p' has already - * overflowed 'data' and this allows us to correct for the off-by-one that - * we'd otherwise have (since CALLBACK_DATA() is meant to be run with a 'p' - * value that's in-bounds). - */ - - assert(((header_field_mark ? 1 : 0) + - (header_value_mark ? 1 : 0) + - (url_mark ? 1 : 0) + - (body_mark ? 1 : 0) + - (status_mark ? 1 : 0)) <= 1); - - CALLBACK_DATA_NOADVANCE(header_field); - CALLBACK_DATA_NOADVANCE(header_value); - CALLBACK_DATA_NOADVANCE(url); - CALLBACK_DATA_NOADVANCE(body); - CALLBACK_DATA_NOADVANCE(status); - - RETURN(len); - -error: - if (HTTP_PARSER_ERRNO(parser) == HPE_OK) { - SET_ERRNO(HPE_UNKNOWN); - } - - RETURN(p - data); -} - - -/* Does the parser need to see an EOF to find the end of the message? */ -int -http_message_needs_eof (const http_parser *parser) -{ - if (parser->type == HTTP_REQUEST) { - return 0; - } - - /* See RFC 2616 section 4.4 */ - if (parser->status_code / 100 == 1 || /* 1xx e.g. Continue */ - parser->status_code == 204 || /* No Content */ - parser->status_code == 304 || /* Not Modified */ - parser->flags & F_SKIPBODY) { /* response to a HEAD request */ - return 0; - } - - if ((parser->flags & F_CHUNKED) || parser->content_length != ULLONG_MAX) { - return 0; - } - - return 1; -} - - -int -http_should_keep_alive (const http_parser *parser) -{ - if (parser->http_major > 0 && parser->http_minor > 0) { - /* HTTP/1.1 */ - if (parser->flags & F_CONNECTION_CLOSE) { - return 0; - } - } else { - /* HTTP/1.0 or earlier */ - if (!(parser->flags & F_CONNECTION_KEEP_ALIVE)) { - return 0; - } - } - - return !http_message_needs_eof(parser); -} - - -const char * -http_method_str (enum http_method m) -{ - return ELEM_AT(method_strings, m, ""); -} - - -void -http_parser_init (http_parser *parser, enum http_parser_type t) -{ - void *data = parser->data; /* preserve application data */ - memset(parser, 0, sizeof(*parser)); - parser->data = data; - parser->type = t; - parser->state = (t == HTTP_REQUEST ? s_start_req : (t == HTTP_RESPONSE ? s_start_res : s_start_req_or_res)); - parser->http_errno = HPE_OK; -} - -void -http_parser_settings_init(http_parser_settings *settings) -{ - memset(settings, 0, sizeof(*settings)); -} - -const char * -http_errno_name(enum http_errno err) { - assert(((size_t) err) < ARRAY_SIZE(http_strerror_tab)); - return http_strerror_tab[err].name; -} - -const char * -http_errno_description(enum http_errno err) { - assert(((size_t) err) < ARRAY_SIZE(http_strerror_tab)); - return http_strerror_tab[err].description; -} - -static enum http_host_state -http_parse_host_char(enum http_host_state s, const char ch) { - switch(s) { - case s_http_userinfo: - case s_http_userinfo_start: - if (ch == '@') { - return s_http_host_start; - } - - if (IS_USERINFO_CHAR(ch)) { - return s_http_userinfo; - } - break; - - case s_http_host_start: - if (ch == '[') { - return s_http_host_v6_start; - } - - if (IS_HOST_CHAR(ch)) { - return s_http_host; - } - - break; - - case s_http_host: - if (IS_HOST_CHAR(ch)) { - return s_http_host; - } - - /* FALLTHROUGH */ - case s_http_host_v6_end: - if (ch == ':') { - return s_http_host_port_start; - } - - break; - - case s_http_host_v6: - if (ch == ']') { - return s_http_host_v6_end; - } - - /* FALLTHROUGH */ - case s_http_host_v6_start: - if (IS_HEX(ch) || ch == ':' || ch == '.') { - return s_http_host_v6; - } - - if (s == s_http_host_v6 && ch == '%') { - return s_http_host_v6_zone_start; - } - break; - - case s_http_host_v6_zone: - if (ch == ']') { - return s_http_host_v6_end; - } - - /* FALLTHROUGH */ - case s_http_host_v6_zone_start: - /* RFC 6874 Zone ID consists of 1*( unreserved / pct-encoded) */ - if (IS_ALPHANUM(ch) || ch == '%' || ch == '.' || ch == '-' || ch == '_' || - ch == '~') { - return s_http_host_v6_zone; - } - break; - - case s_http_host_port: - case s_http_host_port_start: - if (IS_NUM(ch)) { - return s_http_host_port; - } - - break; - - default: - break; - } - return s_http_host_dead; -} - -static int -http_parse_host(const char * buf, struct http_parser_url *u, int found_at) { - enum http_host_state s; - - const char *p; - size_t buflen = u->field_data[UF_HOST].off + u->field_data[UF_HOST].len; - - assert(u->field_set & (1 << UF_HOST)); - - u->field_data[UF_HOST].len = 0; - - s = found_at ? s_http_userinfo_start : s_http_host_start; - - for (p = buf + u->field_data[UF_HOST].off; p < buf + buflen; p++) { - enum http_host_state new_s = http_parse_host_char(s, *p); - - if (new_s == s_http_host_dead) { - return 1; - } - - switch(new_s) { - case s_http_host: - if (s != s_http_host) { - u->field_data[UF_HOST].off = p - buf; - } - u->field_data[UF_HOST].len++; - break; - - case s_http_host_v6: - if (s != s_http_host_v6) { - u->field_data[UF_HOST].off = p - buf; - } - u->field_data[UF_HOST].len++; - break; - - case s_http_host_v6_zone_start: - case s_http_host_v6_zone: - u->field_data[UF_HOST].len++; - break; - - case s_http_host_port: - if (s != s_http_host_port) { - u->field_data[UF_PORT].off = p - buf; - u->field_data[UF_PORT].len = 0; - u->field_set |= (1 << UF_PORT); - } - u->field_data[UF_PORT].len++; - break; - - case s_http_userinfo: - if (s != s_http_userinfo) { - u->field_data[UF_USERINFO].off = p - buf ; - u->field_data[UF_USERINFO].len = 0; - u->field_set |= (1 << UF_USERINFO); - } - u->field_data[UF_USERINFO].len++; - break; - - default: - break; - } - s = new_s; - } - - /* Make sure we don't end somewhere unexpected */ - switch (s) { - case s_http_host_start: - case s_http_host_v6_start: - case s_http_host_v6: - case s_http_host_v6_zone_start: - case s_http_host_v6_zone: - case s_http_host_port_start: - case s_http_userinfo: - case s_http_userinfo_start: - return 1; - default: - break; - } - - return 0; -} - -void -http_parser_url_init(struct http_parser_url *u) { - memset(u, 0, sizeof(*u)); -} - -int -http_parser_parse_url(const char *buf, size_t buflen, int is_connect, - struct http_parser_url *u) -{ - enum state s; - const char *p; - enum http_parser_url_fields uf, old_uf; - int found_at = 0; - - u->port = u->field_set = 0; - s = is_connect ? s_req_server_start : s_req_spaces_before_url; - old_uf = UF_MAX; - - for (p = buf; p < buf + buflen; p++) { - s = parse_url_char(s, *p); - - /* Figure out the next field that we're operating on */ - switch (s) { - case s_dead: - return 1; - - /* Skip delimeters */ - case s_req_schema_slash: - case s_req_schema_slash_slash: - case s_req_server_start: - case s_req_query_string_start: - case s_req_fragment_start: - continue; - - case s_req_schema: - uf = UF_SCHEMA; - break; - - case s_req_server_with_at: - found_at = 1; - - /* FALLTHROUGH */ - case s_req_server: - uf = UF_HOST; - break; - - case s_req_path: - uf = UF_PATH; - break; - - case s_req_query_string: - uf = UF_QUERY; - break; - - case s_req_fragment: - uf = UF_FRAGMENT; - break; - - default: - assert(!"Unexpected state"); - return 1; - } - - /* Nothing's changed; soldier on */ - if (uf == old_uf) { - u->field_data[uf].len++; - continue; - } - - u->field_data[uf].off = p - buf; - u->field_data[uf].len = 1; - - u->field_set |= (1 << uf); - old_uf = uf; - } - - /* host must be present if there is a schema */ - /* parsing http:///toto will fail */ - if ((u->field_set & (1 << UF_SCHEMA)) && - (u->field_set & (1 << UF_HOST)) == 0) { - return 1; - } - - if (u->field_set & (1 << UF_HOST)) { - if (http_parse_host(buf, u, found_at) != 0) { - return 1; - } - } - - /* CONNECT requests can only contain "hostname:port" */ - if (is_connect && u->field_set != ((1 << UF_HOST)|(1 << UF_PORT))) { - return 1; - } - - if (u->field_set & (1 << UF_PORT)) { - uint16_t off; - uint16_t len; - const char* p; - const char* end; - unsigned long v; - - off = u->field_data[UF_PORT].off; - len = u->field_data[UF_PORT].len; - end = buf + off + len; - - /* NOTE: The characters are already validated and are in the [0-9] range */ - assert(off + len <= buflen && "Port number overflow"); - v = 0; - for (p = buf + off; p < end; p++) { - v *= 10; - v += *p - '0'; - - /* Ports have a max value of 2^16 */ - if (v > 0xffff) { - return 1; - } - } - - u->port = (uint16_t) v; - } - - return 0; -} - -void -http_parser_pause(http_parser *parser, int paused) { - /* Users should only be pausing/unpausing a parser that is not in an error - * state. In non-debug builds, there's not much that we can do about this - * other than ignore it. - */ - if (HTTP_PARSER_ERRNO(parser) == HPE_OK || - HTTP_PARSER_ERRNO(parser) == HPE_PAUSED) { - SET_ERRNO((paused) ? HPE_PAUSED : HPE_OK); - } else { - assert(0 && "Attempting to pause parser in error state"); - } -} - -int -http_body_is_final(const struct http_parser *parser) { - return parser->state == s_message_done; -} - -unsigned long -http_parser_version(void) { - return HTTP_PARSER_VERSION_MAJOR * 0x10000 | - HTTP_PARSER_VERSION_MINOR * 0x00100 | - HTTP_PARSER_VERSION_PATCH * 0x00001; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.gyp b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.gyp deleted file mode 100644 index ef34eca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.gyp +++ /dev/null @@ -1,111 +0,0 @@ -# This file is used with the GYP meta build system. -# http://code.google.com/p/gyp/ -# To build try this: -# svn co http://gyp.googlecode.com/svn/trunk gyp -# ./gyp/gyp -f make --depth=`pwd` http_parser.gyp -# ./out/Debug/test -{ - 'target_defaults': { - 'default_configuration': 'Debug', - 'configurations': { - # TODO: hoist these out and put them somewhere common, because - # RuntimeLibrary MUST MATCH across the entire project - 'Debug': { - 'defines': [ 'DEBUG', '_DEBUG' ], - 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'RuntimeLibrary': 1, # static debug - }, - }, - }, - 'Release': { - 'defines': [ 'NDEBUG' ], - 'cflags': [ '-Wall', '-Wextra', '-O3' ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'RuntimeLibrary': 0, # static release - }, - }, - } - }, - 'msvs_settings': { - 'VCCLCompilerTool': { - }, - 'VCLibrarianTool': { - }, - 'VCLinkerTool': { - 'GenerateDebugInformation': 'true', - }, - }, - 'conditions': [ - ['OS == "win"', { - 'defines': [ - 'WIN32' - ], - }] - ], - }, - - 'targets': [ - { - 'target_name': 'http_parser', - 'type': 'static_library', - 'include_dirs': [ '.' ], - 'direct_dependent_settings': { - 'defines': [ 'HTTP_PARSER_STRICT=0' ], - 'include_dirs': [ '.' ], - }, - 'defines': [ 'HTTP_PARSER_STRICT=0' ], - 'sources': [ './http_parser.c', ], - 'conditions': [ - ['OS=="win"', { - 'msvs_settings': { - 'VCCLCompilerTool': { - # Compile as C++. http_parser.c is actually C99, but C++ is - # close enough in this case. - 'CompileAs': 2, - }, - }, - }] - ], - }, - - { - 'target_name': 'http_parser_strict', - 'type': 'static_library', - 'include_dirs': [ '.' ], - 'direct_dependent_settings': { - 'defines': [ 'HTTP_PARSER_STRICT=1' ], - 'include_dirs': [ '.' ], - }, - 'defines': [ 'HTTP_PARSER_STRICT=1' ], - 'sources': [ './http_parser.c', ], - 'conditions': [ - ['OS=="win"', { - 'msvs_settings': { - 'VCCLCompilerTool': { - # Compile as C++. http_parser.c is actually C99, but C++ is - # close enough in this case. - 'CompileAs': 2, - }, - }, - }] - ], - }, - - { - 'target_name': 'test-nonstrict', - 'type': 'executable', - 'dependencies': [ 'http_parser' ], - 'sources': [ 'test.c' ] - }, - - { - 'target_name': 'test-strict', - 'type': 'executable', - 'dependencies': [ 'http_parser_strict' ], - 'sources': [ 'test.c' ] - } - ] -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.h deleted file mode 100644 index a0de71e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.h +++ /dev/null @@ -1,433 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#ifndef http_parser_h -#define http_parser_h -#ifdef __cplusplus -extern "C" { -#endif - -/* Also update SONAME in the Makefile whenever you change these. */ -#define HTTP_PARSER_VERSION_MAJOR 2 -#define HTTP_PARSER_VERSION_MINOR 8 -#define HTTP_PARSER_VERSION_PATCH 1 - -#include -#if defined(_WIN32) && !defined(__MINGW32__) && \ - (!defined(_MSC_VER) || _MSC_VER<1600) && !defined(__WINE__) -#include -typedef __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; -#else -#include -#endif - -/* Compile with -DHTTP_PARSER_STRICT=0 to make less checks, but run - * faster - */ -#ifndef HTTP_PARSER_STRICT -# define HTTP_PARSER_STRICT 1 -#endif - -/* Maximium header size allowed. If the macro is not defined - * before including this header then the default is used. To - * change the maximum header size, define the macro in the build - * environment (e.g. -DHTTP_MAX_HEADER_SIZE=). To remove - * the effective limit on the size of the header, define the macro - * to a very large number (e.g. -DHTTP_MAX_HEADER_SIZE=0x7fffffff) - */ -#ifndef HTTP_MAX_HEADER_SIZE -# define HTTP_MAX_HEADER_SIZE (80*1024) -#endif - -typedef struct http_parser http_parser; -typedef struct http_parser_settings http_parser_settings; - - -/* Callbacks should return non-zero to indicate an error. The parser will - * then halt execution. - * - * The one exception is on_headers_complete. In a HTTP_RESPONSE parser - * returning '1' from on_headers_complete will tell the parser that it - * should not expect a body. This is used when receiving a response to a - * HEAD request which may contain 'Content-Length' or 'Transfer-Encoding: - * chunked' headers that indicate the presence of a body. - * - * Returning `2` from on_headers_complete will tell parser that it should not - * expect neither a body nor any futher responses on this connection. This is - * useful for handling responses to a CONNECT request which may not contain - * `Upgrade` or `Connection: upgrade` headers. - * - * http_data_cb does not return data chunks. It will be called arbitrarily - * many times for each string. E.G. you might get 10 callbacks for "on_url" - * each providing just a few characters more data. - */ -typedef int (*http_data_cb) (http_parser*, const char *at, size_t length); -typedef int (*http_cb) (http_parser*); - - -/* Status Codes */ -#define HTTP_STATUS_MAP(XX) \ - XX(100, CONTINUE, Continue) \ - XX(101, SWITCHING_PROTOCOLS, Switching Protocols) \ - XX(102, PROCESSING, Processing) \ - XX(200, OK, OK) \ - XX(201, CREATED, Created) \ - XX(202, ACCEPTED, Accepted) \ - XX(203, NON_AUTHORITATIVE_INFORMATION, Non-Authoritative Information) \ - XX(204, NO_CONTENT, No Content) \ - XX(205, RESET_CONTENT, Reset Content) \ - XX(206, PARTIAL_CONTENT, Partial Content) \ - XX(207, MULTI_STATUS, Multi-Status) \ - XX(208, ALREADY_REPORTED, Already Reported) \ - XX(226, IM_USED, IM Used) \ - XX(300, MULTIPLE_CHOICES, Multiple Choices) \ - XX(301, MOVED_PERMANENTLY, Moved Permanently) \ - XX(302, FOUND, Found) \ - XX(303, SEE_OTHER, See Other) \ - XX(304, NOT_MODIFIED, Not Modified) \ - XX(305, USE_PROXY, Use Proxy) \ - XX(307, TEMPORARY_REDIRECT, Temporary Redirect) \ - XX(308, PERMANENT_REDIRECT, Permanent Redirect) \ - XX(400, BAD_REQUEST, Bad Request) \ - XX(401, UNAUTHORIZED, Unauthorized) \ - XX(402, PAYMENT_REQUIRED, Payment Required) \ - XX(403, FORBIDDEN, Forbidden) \ - XX(404, NOT_FOUND, Not Found) \ - XX(405, METHOD_NOT_ALLOWED, Method Not Allowed) \ - XX(406, NOT_ACCEPTABLE, Not Acceptable) \ - XX(407, PROXY_AUTHENTICATION_REQUIRED, Proxy Authentication Required) \ - XX(408, REQUEST_TIMEOUT, Request Timeout) \ - XX(409, CONFLICT, Conflict) \ - XX(410, GONE, Gone) \ - XX(411, LENGTH_REQUIRED, Length Required) \ - XX(412, PRECONDITION_FAILED, Precondition Failed) \ - XX(413, PAYLOAD_TOO_LARGE, Payload Too Large) \ - XX(414, URI_TOO_LONG, URI Too Long) \ - XX(415, UNSUPPORTED_MEDIA_TYPE, Unsupported Media Type) \ - XX(416, RANGE_NOT_SATISFIABLE, Range Not Satisfiable) \ - XX(417, EXPECTATION_FAILED, Expectation Failed) \ - XX(421, MISDIRECTED_REQUEST, Misdirected Request) \ - XX(422, UNPROCESSABLE_ENTITY, Unprocessable Entity) \ - XX(423, LOCKED, Locked) \ - XX(424, FAILED_DEPENDENCY, Failed Dependency) \ - XX(426, UPGRADE_REQUIRED, Upgrade Required) \ - XX(428, PRECONDITION_REQUIRED, Precondition Required) \ - XX(429, TOO_MANY_REQUESTS, Too Many Requests) \ - XX(431, REQUEST_HEADER_FIELDS_TOO_LARGE, Request Header Fields Too Large) \ - XX(451, UNAVAILABLE_FOR_LEGAL_REASONS, Unavailable For Legal Reasons) \ - XX(500, INTERNAL_SERVER_ERROR, Internal Server Error) \ - XX(501, NOT_IMPLEMENTED, Not Implemented) \ - XX(502, BAD_GATEWAY, Bad Gateway) \ - XX(503, SERVICE_UNAVAILABLE, Service Unavailable) \ - XX(504, GATEWAY_TIMEOUT, Gateway Timeout) \ - XX(505, HTTP_VERSION_NOT_SUPPORTED, HTTP Version Not Supported) \ - XX(506, VARIANT_ALSO_NEGOTIATES, Variant Also Negotiates) \ - XX(507, INSUFFICIENT_STORAGE, Insufficient Storage) \ - XX(508, LOOP_DETECTED, Loop Detected) \ - XX(510, NOT_EXTENDED, Not Extended) \ - XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required) \ - -enum http_status - { -#define XX(num, name, string) HTTP_STATUS_##name = num, - HTTP_STATUS_MAP(XX) -#undef XX - }; - - -/* Request Methods */ -#define HTTP_METHOD_MAP(XX) \ - XX(0, DELETE, DELETE) \ - XX(1, GET, GET) \ - XX(2, HEAD, HEAD) \ - XX(3, POST, POST) \ - XX(4, PUT, PUT) \ - /* pathological */ \ - XX(5, CONNECT, CONNECT) \ - XX(6, OPTIONS, OPTIONS) \ - XX(7, TRACE, TRACE) \ - /* WebDAV */ \ - XX(8, COPY, COPY) \ - XX(9, LOCK, LOCK) \ - XX(10, MKCOL, MKCOL) \ - XX(11, MOVE, MOVE) \ - XX(12, PROPFIND, PROPFIND) \ - XX(13, PROPPATCH, PROPPATCH) \ - XX(14, SEARCH, SEARCH) \ - XX(15, UNLOCK, UNLOCK) \ - XX(16, BIND, BIND) \ - XX(17, REBIND, REBIND) \ - XX(18, UNBIND, UNBIND) \ - XX(19, ACL, ACL) \ - /* subversion */ \ - XX(20, REPORT, REPORT) \ - XX(21, MKACTIVITY, MKACTIVITY) \ - XX(22, CHECKOUT, CHECKOUT) \ - XX(23, MERGE, MERGE) \ - /* upnp */ \ - XX(24, MSEARCH, M-SEARCH) \ - XX(25, NOTIFY, NOTIFY) \ - XX(26, SUBSCRIBE, SUBSCRIBE) \ - XX(27, UNSUBSCRIBE, UNSUBSCRIBE) \ - /* RFC-5789 */ \ - XX(28, PATCH, PATCH) \ - XX(29, PURGE, PURGE) \ - /* CalDAV */ \ - XX(30, MKCALENDAR, MKCALENDAR) \ - /* RFC-2068, section 19.6.1.2 */ \ - XX(31, LINK, LINK) \ - XX(32, UNLINK, UNLINK) \ - /* icecast */ \ - XX(33, SOURCE, SOURCE) \ - -enum http_method - { -#define XX(num, name, string) HTTP_##name = num, - HTTP_METHOD_MAP(XX) -#undef XX - }; - - -enum http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH }; - - -/* Flag values for http_parser.flags field */ -enum flags - { F_CHUNKED = 1 << 0 - , F_CONNECTION_KEEP_ALIVE = 1 << 1 - , F_CONNECTION_CLOSE = 1 << 2 - , F_CONNECTION_UPGRADE = 1 << 3 - , F_TRAILING = 1 << 4 - , F_UPGRADE = 1 << 5 - , F_SKIPBODY = 1 << 6 - , F_CONTENTLENGTH = 1 << 7 - }; - - -/* Map for errno-related constants - * - * The provided argument should be a macro that takes 2 arguments. - */ -#define HTTP_ERRNO_MAP(XX) \ - /* No error */ \ - XX(OK, "success") \ - \ - /* Callback-related errors */ \ - XX(CB_message_begin, "the on_message_begin callback failed") \ - XX(CB_url, "the on_url callback failed") \ - XX(CB_header_field, "the on_header_field callback failed") \ - XX(CB_header_value, "the on_header_value callback failed") \ - XX(CB_headers_complete, "the on_headers_complete callback failed") \ - XX(CB_body, "the on_body callback failed") \ - XX(CB_message_complete, "the on_message_complete callback failed") \ - XX(CB_status, "the on_status callback failed") \ - XX(CB_chunk_header, "the on_chunk_header callback failed") \ - XX(CB_chunk_complete, "the on_chunk_complete callback failed") \ - \ - /* Parsing-related errors */ \ - XX(INVALID_EOF_STATE, "stream ended at an unexpected time") \ - XX(HEADER_OVERFLOW, \ - "too many header bytes seen; overflow detected") \ - XX(CLOSED_CONNECTION, \ - "data received after completed connection: close message") \ - XX(INVALID_VERSION, "invalid HTTP version") \ - XX(INVALID_STATUS, "invalid HTTP status code") \ - XX(INVALID_METHOD, "invalid HTTP method") \ - XX(INVALID_URL, "invalid URL") \ - XX(INVALID_HOST, "invalid host") \ - XX(INVALID_PORT, "invalid port") \ - XX(INVALID_PATH, "invalid path") \ - XX(INVALID_QUERY_STRING, "invalid query string") \ - XX(INVALID_FRAGMENT, "invalid fragment") \ - XX(LF_EXPECTED, "LF character expected") \ - XX(INVALID_HEADER_TOKEN, "invalid character in header") \ - XX(INVALID_CONTENT_LENGTH, \ - "invalid character in content-length header") \ - XX(UNEXPECTED_CONTENT_LENGTH, \ - "unexpected content-length header") \ - XX(INVALID_CHUNK_SIZE, \ - "invalid character in chunk size header") \ - XX(INVALID_CONSTANT, "invalid constant string") \ - XX(INVALID_INTERNAL_STATE, "encountered unexpected internal state")\ - XX(STRICT, "strict mode assertion failed") \ - XX(PAUSED, "parser is paused") \ - XX(UNKNOWN, "an unknown error occurred") - - -/* Define HPE_* values for each errno value above */ -#define HTTP_ERRNO_GEN(n, s) HPE_##n, -enum http_errno { - HTTP_ERRNO_MAP(HTTP_ERRNO_GEN) -}; -#undef HTTP_ERRNO_GEN - - -/* Get an http_errno value from an http_parser */ -#define HTTP_PARSER_ERRNO(p) ((enum http_errno) (p)->http_errno) - - -struct http_parser { - /** PRIVATE **/ - unsigned int type : 2; /* enum http_parser_type */ - unsigned int flags : 8; /* F_* values from 'flags' enum; semi-public */ - unsigned int state : 7; /* enum state from http_parser.c */ - unsigned int header_state : 7; /* enum header_state from http_parser.c */ - unsigned int index : 7; /* index into current matcher */ - unsigned int lenient_http_headers : 1; - - uint32_t nread; /* # bytes read in various scenarios */ - uint64_t content_length; /* # bytes in body (0 if no Content-Length header) */ - - /** READ-ONLY **/ - unsigned short http_major; - unsigned short http_minor; - unsigned int status_code : 16; /* responses only */ - unsigned int method : 8; /* requests only */ - unsigned int http_errno : 7; - - /* 1 = Upgrade header was present and the parser has exited because of that. - * 0 = No upgrade header present. - * Should be checked when http_parser_execute() returns in addition to - * error checking. - */ - unsigned int upgrade : 1; - - /** PUBLIC **/ - void *data; /* A pointer to get hook to the "connection" or "socket" object */ -}; - - -struct http_parser_settings { - http_cb on_message_begin; - http_data_cb on_url; - http_data_cb on_status; - http_data_cb on_header_field; - http_data_cb on_header_value; - http_cb on_headers_complete; - http_data_cb on_body; - http_cb on_message_complete; - /* When on_chunk_header is called, the current chunk length is stored - * in parser->content_length. - */ - http_cb on_chunk_header; - http_cb on_chunk_complete; -}; - - -enum http_parser_url_fields - { UF_SCHEMA = 0 - , UF_HOST = 1 - , UF_PORT = 2 - , UF_PATH = 3 - , UF_QUERY = 4 - , UF_FRAGMENT = 5 - , UF_USERINFO = 6 - , UF_MAX = 7 - }; - - -/* Result structure for http_parser_parse_url(). - * - * Callers should index into field_data[] with UF_* values iff field_set - * has the relevant (1 << UF_*) bit set. As a courtesy to clients (and - * because we probably have padding left over), we convert any port to - * a uint16_t. - */ -struct http_parser_url { - uint16_t field_set; /* Bitmask of (1 << UF_*) values */ - uint16_t port; /* Converted UF_PORT string */ - - struct { - uint16_t off; /* Offset into buffer in which field starts */ - uint16_t len; /* Length of run in buffer */ - } field_data[UF_MAX]; -}; - - -/* Returns the library version. Bits 16-23 contain the major version number, - * bits 8-15 the minor version number and bits 0-7 the patch level. - * Usage example: - * - * unsigned long version = http_parser_version(); - * unsigned major = (version >> 16) & 255; - * unsigned minor = (version >> 8) & 255; - * unsigned patch = version & 255; - * printf("http_parser v%u.%u.%u\n", major, minor, patch); - */ -unsigned long http_parser_version(void); - -void http_parser_init(http_parser *parser, enum http_parser_type type); - - -/* Initialize http_parser_settings members to 0 - */ -void http_parser_settings_init(http_parser_settings *settings); - - -/* Executes the parser. Returns number of parsed bytes. Sets - * `parser->http_errno` on error. */ -size_t http_parser_execute(http_parser *parser, - const http_parser_settings *settings, - const char *data, - size_t len); - - -/* If http_should_keep_alive() in the on_headers_complete or - * on_message_complete callback returns 0, then this should be - * the last message on the connection. - * If you are the server, respond with the "Connection: close" header. - * If you are the client, close the connection. - */ -int http_should_keep_alive(const http_parser *parser); - -/* Returns a string version of the HTTP method. */ -const char *http_method_str(enum http_method m); - -/* Return a string name of the given error */ -const char *http_errno_name(enum http_errno err); - -/* Return a string description of the given error */ -const char *http_errno_description(enum http_errno err); - -/* Initialize all http_parser_url members to 0 */ -void http_parser_url_init(struct http_parser_url *u); - -/* Parse a URL; return nonzero on failure */ -int http_parser_parse_url(const char *buf, size_t buflen, - int is_connect, - struct http_parser_url *u); - -/* Pause or un-pause the parser; a nonzero value pauses */ -void http_parser_pause(http_parser *parser, int paused); - -/* Checks if this is the final chunk of the body. */ -int http_body_is_final(const http_parser *parser); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/test.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/test.c deleted file mode 100644 index df170e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/test.c +++ /dev/null @@ -1,4456 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ -#include "http_parser.h" -#include -#include -#include -#include /* rand */ -#include -#include - -#if defined(__APPLE__) -# undef strlncpy -#endif /* defined(__APPLE__) */ - -#undef TRUE -#define TRUE 1 -#undef FALSE -#define FALSE 0 - -#define MAX_HEADERS 13 -#define MAX_ELEMENT_SIZE 2048 -#define MAX_CHUNKS 16 - -#define MIN(a,b) ((a) < (b) ? (a) : (b)) - -#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*x)) - -static http_parser *parser; - -struct message { - const char *name; // for debugging purposes - const char *raw; - enum http_parser_type type; - enum http_method method; - int status_code; - char response_status[MAX_ELEMENT_SIZE]; - char request_path[MAX_ELEMENT_SIZE]; - char request_url[MAX_ELEMENT_SIZE]; - char fragment[MAX_ELEMENT_SIZE]; - char query_string[MAX_ELEMENT_SIZE]; - char body[MAX_ELEMENT_SIZE]; - size_t body_size; - const char *host; - const char *userinfo; - uint16_t port; - int num_headers; - enum { NONE=0, FIELD, VALUE } last_header_element; - char headers [MAX_HEADERS][2][MAX_ELEMENT_SIZE]; - int should_keep_alive; - - int num_chunks; - int num_chunks_complete; - int chunk_lengths[MAX_CHUNKS]; - - const char *upgrade; // upgraded body - - unsigned short http_major; - unsigned short http_minor; - - int message_begin_cb_called; - int headers_complete_cb_called; - int message_complete_cb_called; - int status_cb_called; - int message_complete_on_eof; - int body_is_final; -}; - -static int currently_parsing_eof; - -static struct message messages[5]; -static int num_messages; -static http_parser_settings *current_pause_parser; - -/* * R E Q U E S T S * */ -const struct message requests[] = -#define CURL_GET 0 -{ {.name= "curl get" - ,.type= HTTP_REQUEST - ,.raw= "GET /test HTTP/1.1\r\n" - "User-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1\r\n" - "Host: 0.0.0.0=5000\r\n" - "Accept: */*\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 3 - ,.headers= - { { "User-Agent", "curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1" } - , { "Host", "0.0.0.0=5000" } - , { "Accept", "*/*" } - } - ,.body= "" - } - -#define FIREFOX_GET 1 -, {.name= "firefox get" - ,.type= HTTP_REQUEST - ,.raw= "GET /favicon.ico HTTP/1.1\r\n" - "Host: 0.0.0.0=5000\r\n" - "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0\r\n" - "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" - "Accept-Language: en-us,en;q=0.5\r\n" - "Accept-Encoding: gzip,deflate\r\n" - "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" - "Keep-Alive: 300\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/favicon.ico" - ,.request_url= "/favicon.ico" - ,.num_headers= 8 - ,.headers= - { { "Host", "0.0.0.0=5000" } - , { "User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0" } - , { "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" } - , { "Accept-Language", "en-us,en;q=0.5" } - , { "Accept-Encoding", "gzip,deflate" } - , { "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7" } - , { "Keep-Alive", "300" } - , { "Connection", "keep-alive" } - } - ,.body= "" - } - -#define DUMBFUCK 2 -, {.name= "dumbfuck" - ,.type= HTTP_REQUEST - ,.raw= "GET /dumbfuck HTTP/1.1\r\n" - "aaaaaaaaaaaaa:++++++++++\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/dumbfuck" - ,.request_url= "/dumbfuck" - ,.num_headers= 1 - ,.headers= - { { "aaaaaaaaaaaaa", "++++++++++" } - } - ,.body= "" - } - -#define FRAGMENT_IN_URI 3 -, {.name= "fragment in url" - ,.type= HTTP_REQUEST - ,.raw= "GET /forums/1/topics/2375?page=1#posts-17408 HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "page=1" - ,.fragment= "posts-17408" - ,.request_path= "/forums/1/topics/2375" - /* XXX request url does include fragment? */ - ,.request_url= "/forums/1/topics/2375?page=1#posts-17408" - ,.num_headers= 0 - ,.body= "" - } - -#define GET_NO_HEADERS_NO_BODY 4 -, {.name= "get no headers no body" - ,.type= HTTP_REQUEST - ,.raw= "GET /get_no_headers_no_body/world HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE /* would need Connection: close */ - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/get_no_headers_no_body/world" - ,.request_url= "/get_no_headers_no_body/world" - ,.num_headers= 0 - ,.body= "" - } - -#define GET_ONE_HEADER_NO_BODY 5 -, {.name= "get one header no body" - ,.type= HTTP_REQUEST - ,.raw= "GET /get_one_header_no_body HTTP/1.1\r\n" - "Accept: */*\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE /* would need Connection: close */ - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/get_one_header_no_body" - ,.request_url= "/get_one_header_no_body" - ,.num_headers= 1 - ,.headers= - { { "Accept" , "*/*" } - } - ,.body= "" - } - -#define GET_FUNKY_CONTENT_LENGTH 6 -, {.name= "get funky content length body hello" - ,.type= HTTP_REQUEST - ,.raw= "GET /get_funky_content_length_body_hello HTTP/1.0\r\n" - "conTENT-Length: 5\r\n" - "\r\n" - "HELLO" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/get_funky_content_length_body_hello" - ,.request_url= "/get_funky_content_length_body_hello" - ,.num_headers= 1 - ,.headers= - { { "conTENT-Length" , "5" } - } - ,.body= "HELLO" - } - -#define POST_IDENTITY_BODY_WORLD 7 -, {.name= "post identity body world" - ,.type= HTTP_REQUEST - ,.raw= "POST /post_identity_body_world?q=search#hey HTTP/1.1\r\n" - "Accept: */*\r\n" - "Transfer-Encoding: identity\r\n" - "Content-Length: 5\r\n" - "\r\n" - "World" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "q=search" - ,.fragment= "hey" - ,.request_path= "/post_identity_body_world" - ,.request_url= "/post_identity_body_world?q=search#hey" - ,.num_headers= 3 - ,.headers= - { { "Accept", "*/*" } - , { "Transfer-Encoding", "identity" } - , { "Content-Length", "5" } - } - ,.body= "World" - } - -#define POST_CHUNKED_ALL_YOUR_BASE 8 -, {.name= "post - chunked body: all your base are belong to us" - ,.type= HTTP_REQUEST - ,.raw= "POST /post_chunked_all_your_base HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "1e\r\nall your base are belong to us\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/post_chunked_all_your_base" - ,.request_url= "/post_chunked_all_your_base" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding" , "chunked" } - } - ,.body= "all your base are belong to us" - ,.num_chunks_complete= 2 - ,.chunk_lengths= { 0x1e } - } - -#define TWO_CHUNKS_MULT_ZERO_END 9 -, {.name= "two chunks ; triple zero ending" - ,.type= HTTP_REQUEST - ,.raw= "POST /two_chunks_mult_zero_end HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "5\r\nhello\r\n" - "6\r\n world\r\n" - "000\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/two_chunks_mult_zero_end" - ,.request_url= "/two_chunks_mult_zero_end" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding", "chunked" } - } - ,.body= "hello world" - ,.num_chunks_complete= 3 - ,.chunk_lengths= { 5, 6 } - } - -#define CHUNKED_W_TRAILING_HEADERS 10 -, {.name= "chunked with trailing headers. blech." - ,.type= HTTP_REQUEST - ,.raw= "POST /chunked_w_trailing_headers HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "5\r\nhello\r\n" - "6\r\n world\r\n" - "0\r\n" - "Vary: *\r\n" - "Content-Type: text/plain\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/chunked_w_trailing_headers" - ,.request_url= "/chunked_w_trailing_headers" - ,.num_headers= 3 - ,.headers= - { { "Transfer-Encoding", "chunked" } - , { "Vary", "*" } - , { "Content-Type", "text/plain" } - } - ,.body= "hello world" - ,.num_chunks_complete= 3 - ,.chunk_lengths= { 5, 6 } - } - -#define CHUNKED_W_BULLSHIT_AFTER_LENGTH 11 -, {.name= "with bullshit after the length" - ,.type= HTTP_REQUEST - ,.raw= "POST /chunked_w_bullshit_after_length HTTP/1.1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "5; ihatew3;whatthefuck=aretheseparametersfor\r\nhello\r\n" - "6; blahblah; blah\r\n world\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/chunked_w_bullshit_after_length" - ,.request_url= "/chunked_w_bullshit_after_length" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding", "chunked" } - } - ,.body= "hello world" - ,.num_chunks_complete= 3 - ,.chunk_lengths= { 5, 6 } - } - -#define WITH_QUOTES 12 -, {.name= "with quotes" - ,.type= HTTP_REQUEST - ,.raw= "GET /with_\"stupid\"_quotes?foo=\"bar\" HTTP/1.1\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "foo=\"bar\"" - ,.fragment= "" - ,.request_path= "/with_\"stupid\"_quotes" - ,.request_url= "/with_\"stupid\"_quotes?foo=\"bar\"" - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define APACHEBENCH_GET 13 -/* The server receiving this request SHOULD NOT wait for EOF - * to know that content-length == 0. - * How to represent this in a unit test? message_complete_on_eof - * Compare with NO_CONTENT_LENGTH_RESPONSE. - */ -, {.name = "apachebench get" - ,.type= HTTP_REQUEST - ,.raw= "GET /test HTTP/1.0\r\n" - "Host: 0.0.0.0:5000\r\n" - "User-Agent: ApacheBench/2.3\r\n" - "Accept: */*\r\n\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 3 - ,.headers= { { "Host", "0.0.0.0:5000" } - , { "User-Agent", "ApacheBench/2.3" } - , { "Accept", "*/*" } - } - ,.body= "" - } - -#define QUERY_URL_WITH_QUESTION_MARK_GET 14 -/* Some clients include '?' characters in query strings. - */ -, {.name = "query url with question mark" - ,.type= HTTP_REQUEST - ,.raw= "GET /test.cgi?foo=bar?baz HTTP/1.1\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "foo=bar?baz" - ,.fragment= "" - ,.request_path= "/test.cgi" - ,.request_url= "/test.cgi?foo=bar?baz" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define PREFIX_NEWLINE_GET 15 -/* Some clients, especially after a POST in a keep-alive connection, - * will send an extra CRLF before the next request - */ -, {.name = "newline prefix get" - ,.type= HTTP_REQUEST - ,.raw= "\r\nGET /test HTTP/1.1\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define UPGRADE_REQUEST 16 -, {.name = "upgrade request" - ,.type= HTTP_REQUEST - ,.raw= "GET /demo HTTP/1.1\r\n" - "Host: example.com\r\n" - "Connection: Upgrade\r\n" - "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n" - "Sec-WebSocket-Protocol: sample\r\n" - "Upgrade: WebSocket\r\n" - "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n" - "Origin: http://example.com\r\n" - "\r\n" - "Hot diggity dogg" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/demo" - ,.request_url= "/demo" - ,.num_headers= 7 - ,.upgrade="Hot diggity dogg" - ,.headers= { { "Host", "example.com" } - , { "Connection", "Upgrade" } - , { "Sec-WebSocket-Key2", "12998 5 Y3 1 .P00" } - , { "Sec-WebSocket-Protocol", "sample" } - , { "Upgrade", "WebSocket" } - , { "Sec-WebSocket-Key1", "4 @1 46546xW%0l 1 5" } - , { "Origin", "http://example.com" } - } - ,.body= "" - } - -#define CONNECT_REQUEST 17 -, {.name = "connect request" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "\r\n" - "some data\r\n" - "and yet even more data" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "0-home0.netscape.com:443" - ,.num_headers= 2 - ,.upgrade="some data\r\nand yet even more data" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - } - ,.body= "" - } - -#define REPORT_REQ 18 -, {.name= "report request" - ,.type= HTTP_REQUEST - ,.raw= "REPORT /test HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_REPORT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/test" - ,.request_url= "/test" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define NO_HTTP_VERSION 19 -, {.name= "request with no http version" - ,.type= HTTP_REQUEST - ,.raw= "GET /\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 0 - ,.http_minor= 9 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define MSEARCH_REQ 20 -, {.name= "m-search request" - ,.type= HTTP_REQUEST - ,.raw= "M-SEARCH * HTTP/1.1\r\n" - "HOST: 239.255.255.250:1900\r\n" - "MAN: \"ssdp:discover\"\r\n" - "ST: \"ssdp:all\"\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_MSEARCH - ,.query_string= "" - ,.fragment= "" - ,.request_path= "*" - ,.request_url= "*" - ,.num_headers= 3 - ,.headers= { { "HOST", "239.255.255.250:1900" } - , { "MAN", "\"ssdp:discover\"" } - , { "ST", "\"ssdp:all\"" } - } - ,.body= "" - } - -#define LINE_FOLDING_IN_HEADER 21 -, {.name= "line folding in header value" - ,.type= HTTP_REQUEST - ,.raw= "GET / HTTP/1.1\r\n" - "Line1: abc\r\n" - "\tdef\r\n" - " ghi\r\n" - "\t\tjkl\r\n" - " mno \r\n" - "\t \tqrs\r\n" - "Line2: \t line2\t\r\n" - "Line3:\r\n" - " line3\r\n" - "Line4: \r\n" - " \r\n" - "Connection:\r\n" - " close\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 5 - ,.headers= { { "Line1", "abc\tdef ghi\t\tjkl mno \t \tqrs" } - , { "Line2", "line2\t" } - , { "Line3", "line3" } - , { "Line4", "" } - , { "Connection", "close" }, - } - ,.body= "" - } - - -#define QUERY_TERMINATED_HOST 22 -, {.name= "host terminated by a query string" - ,.type= HTTP_REQUEST - ,.raw= "GET http://hypnotoad.org?hail=all HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "hail=all" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "http://hypnotoad.org?hail=all" - ,.host= "hypnotoad.org" - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define QUERY_TERMINATED_HOSTPORT 23 -, {.name= "host:port terminated by a query string" - ,.type= HTTP_REQUEST - ,.raw= "GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "hail=all" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "http://hypnotoad.org:1234?hail=all" - ,.host= "hypnotoad.org" - ,.port= 1234 - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define SPACE_TERMINATED_HOSTPORT 24 -, {.name= "host:port terminated by a space" - ,.type= HTTP_REQUEST - ,.raw= "GET http://hypnotoad.org:1234 HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "http://hypnotoad.org:1234" - ,.host= "hypnotoad.org" - ,.port= 1234 - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define PATCH_REQ 25 -, {.name = "PATCH request" - ,.type= HTTP_REQUEST - ,.raw= "PATCH /file.txt HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Content-Type: application/example\r\n" - "If-Match: \"e0023aa4e\"\r\n" - "Content-Length: 10\r\n" - "\r\n" - "cccccccccc" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_PATCH - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/file.txt" - ,.request_url= "/file.txt" - ,.num_headers= 4 - ,.headers= { { "Host", "www.example.com" } - , { "Content-Type", "application/example" } - , { "If-Match", "\"e0023aa4e\"" } - , { "Content-Length", "10" } - } - ,.body= "cccccccccc" - } - -#define CONNECT_CAPS_REQUEST 26 -, {.name = "connect caps request" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "HOME0.NETSCAPE.COM:443" - ,.num_headers= 2 - ,.upgrade="" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - } - ,.body= "" - } - -#if !HTTP_PARSER_STRICT -#define UTF8_PATH_REQ 27 -, {.name= "utf-8 path request" - ,.type= HTTP_REQUEST - ,.raw= "GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\n" - "Host: github.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "q=1" - ,.fragment= "narf" - ,.request_path= "/δ¶/δt/pope" - ,.request_url= "/δ¶/δt/pope?q=1#narf" - ,.num_headers= 1 - ,.headers= { {"Host", "github.com" } - } - ,.body= "" - } - -#define HOSTNAME_UNDERSCORE 28 -, {.name = "hostname underscore" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT home_0.netscape.com:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.query_string= "" - ,.fragment= "" - ,.request_path= "" - ,.request_url= "home_0.netscape.com:443" - ,.num_headers= 2 - ,.upgrade="" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - } - ,.body= "" - } -#endif /* !HTTP_PARSER_STRICT */ - -/* see https://github.com/ry/http-parser/issues/47 */ -#define EAT_TRAILING_CRLF_NO_CONNECTION_CLOSE 29 -, {.name = "eat CRLF between requests, no \"Connection: close\" header" - ,.raw= "POST / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Content-Type: application/x-www-form-urlencoded\r\n" - "Content-Length: 4\r\n" - "\r\n" - "q=42\r\n" /* note the trailing CRLF */ - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 3 - ,.upgrade= 0 - ,.headers= { { "Host", "www.example.com" } - , { "Content-Type", "application/x-www-form-urlencoded" } - , { "Content-Length", "4" } - } - ,.body= "q=42" - } - -/* see https://github.com/ry/http-parser/issues/47 */ -#define EAT_TRAILING_CRLF_WITH_CONNECTION_CLOSE 30 -, {.name = "eat CRLF between requests even if \"Connection: close\" is set" - ,.raw= "POST / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Content-Type: application/x-www-form-urlencoded\r\n" - "Content-Length: 4\r\n" - "Connection: close\r\n" - "\r\n" - "q=42\r\n" /* note the trailing CRLF */ - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE /* input buffer isn't empty when on_message_complete is called */ - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 4 - ,.upgrade= 0 - ,.headers= { { "Host", "www.example.com" } - , { "Content-Type", "application/x-www-form-urlencoded" } - , { "Content-Length", "4" } - , { "Connection", "close" } - } - ,.body= "q=42" - } - -#define PURGE_REQ 31 -, {.name = "PURGE request" - ,.type= HTTP_REQUEST - ,.raw= "PURGE /file.txt HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_PURGE - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/file.txt" - ,.request_url= "/file.txt" - ,.num_headers= 1 - ,.headers= { { "Host", "www.example.com" } } - ,.body= "" - } - -#define SEARCH_REQ 32 -, {.name = "SEARCH request" - ,.type= HTTP_REQUEST - ,.raw= "SEARCH / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_SEARCH - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 1 - ,.headers= { { "Host", "www.example.com" } } - ,.body= "" - } - -#define PROXY_WITH_BASIC_AUTH 33 -, {.name= "host:port and basic_auth" - ,.type= HTTP_REQUEST - ,.raw= "GET http://a%12:b!&*$@hypnotoad.org:1234/toto HTTP/1.1\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.fragment= "" - ,.request_path= "/toto" - ,.request_url= "http://a%12:b!&*$@hypnotoad.org:1234/toto" - ,.host= "hypnotoad.org" - ,.userinfo= "a%12:b!&*$" - ,.port= 1234 - ,.num_headers= 0 - ,.headers= { } - ,.body= "" - } - -#define LINE_FOLDING_IN_HEADER_WITH_LF 34 -, {.name= "line folding in header value" - ,.type= HTTP_REQUEST - ,.raw= "GET / HTTP/1.1\n" - "Line1: abc\n" - "\tdef\n" - " ghi\n" - "\t\tjkl\n" - " mno \n" - "\t \tqrs\n" - "Line2: \t line2\t\n" - "Line3:\n" - " line3\n" - "Line4: \n" - " \n" - "Connection:\n" - " close\n" - "\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/" - ,.request_url= "/" - ,.num_headers= 5 - ,.headers= { { "Line1", "abc\tdef ghi\t\tjkl mno \t \tqrs" } - , { "Line2", "line2\t" } - , { "Line3", "line3" } - , { "Line4", "" } - , { "Connection", "close" }, - } - ,.body= "" - } - -#define CONNECTION_MULTI 35 -, {.name = "multiple connection header values with folding" - ,.type= HTTP_REQUEST - ,.raw= "GET /demo HTTP/1.1\r\n" - "Host: example.com\r\n" - "Connection: Something,\r\n" - " Upgrade, ,Keep-Alive\r\n" - "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n" - "Sec-WebSocket-Protocol: sample\r\n" - "Upgrade: WebSocket\r\n" - "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n" - "Origin: http://example.com\r\n" - "\r\n" - "Hot diggity dogg" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/demo" - ,.request_url= "/demo" - ,.num_headers= 7 - ,.upgrade="Hot diggity dogg" - ,.headers= { { "Host", "example.com" } - , { "Connection", "Something, Upgrade, ,Keep-Alive" } - , { "Sec-WebSocket-Key2", "12998 5 Y3 1 .P00" } - , { "Sec-WebSocket-Protocol", "sample" } - , { "Upgrade", "WebSocket" } - , { "Sec-WebSocket-Key1", "4 @1 46546xW%0l 1 5" } - , { "Origin", "http://example.com" } - } - ,.body= "" - } - -#define CONNECTION_MULTI_LWS 36 -, {.name = "multiple connection header values with folding and lws" - ,.type= HTTP_REQUEST - ,.raw= "GET /demo HTTP/1.1\r\n" - "Connection: keep-alive, upgrade\r\n" - "Upgrade: WebSocket\r\n" - "\r\n" - "Hot diggity dogg" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/demo" - ,.request_url= "/demo" - ,.num_headers= 2 - ,.upgrade="Hot diggity dogg" - ,.headers= { { "Connection", "keep-alive, upgrade" } - , { "Upgrade", "WebSocket" } - } - ,.body= "" - } - -#define CONNECTION_MULTI_LWS_CRLF 37 -, {.name = "multiple connection header values with folding and lws" - ,.type= HTTP_REQUEST - ,.raw= "GET /demo HTTP/1.1\r\n" - "Connection: keep-alive, \r\n upgrade\r\n" - "Upgrade: WebSocket\r\n" - "\r\n" - "Hot diggity dogg" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_GET - ,.query_string= "" - ,.fragment= "" - ,.request_path= "/demo" - ,.request_url= "/demo" - ,.num_headers= 2 - ,.upgrade="Hot diggity dogg" - ,.headers= { { "Connection", "keep-alive, upgrade" } - , { "Upgrade", "WebSocket" } - } - ,.body= "" - } - -#define UPGRADE_POST_REQUEST 38 -, {.name = "upgrade post request" - ,.type= HTTP_REQUEST - ,.raw= "POST /demo HTTP/1.1\r\n" - "Host: example.com\r\n" - "Connection: Upgrade\r\n" - "Upgrade: HTTP/2.0\r\n" - "Content-Length: 15\r\n" - "\r\n" - "sweet post body" - "Hot diggity dogg" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_POST - ,.request_path= "/demo" - ,.request_url= "/demo" - ,.num_headers= 4 - ,.upgrade="Hot diggity dogg" - ,.headers= { { "Host", "example.com" } - , { "Connection", "Upgrade" } - , { "Upgrade", "HTTP/2.0" } - , { "Content-Length", "15" } - } - ,.body= "sweet post body" - } - -#define CONNECT_WITH_BODY_REQUEST 39 -, {.name = "connect with body request" - ,.type= HTTP_REQUEST - ,.raw= "CONNECT foo.bar.com:443 HTTP/1.0\r\n" - "User-agent: Mozilla/1.1N\r\n" - "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n" - "Content-Length: 10\r\n" - "\r\n" - "blarfcicle" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.method= HTTP_CONNECT - ,.request_url= "foo.bar.com:443" - ,.num_headers= 3 - ,.upgrade="blarfcicle" - ,.headers= { { "User-agent", "Mozilla/1.1N" } - , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" } - , { "Content-Length", "10" } - } - ,.body= "" - } - -/* Examples from the Internet draft for LINK/UNLINK methods: - * https://tools.ietf.org/id/draft-snell-link-method-01.html#rfc.section.5 - */ - -#define LINK_REQUEST 40 -, {.name = "link request" - ,.type= HTTP_REQUEST - ,.raw= "LINK /images/my_dog.jpg HTTP/1.1\r\n" - "Host: example.com\r\n" - "Link: ; rel=\"tag\"\r\n" - "Link: ; rel=\"tag\"\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_LINK - ,.request_path= "/images/my_dog.jpg" - ,.request_url= "/images/my_dog.jpg" - ,.query_string= "" - ,.fragment= "" - ,.num_headers= 3 - ,.headers= { { "Host", "example.com" } - , { "Link", "; rel=\"tag\"" } - , { "Link", "; rel=\"tag\"" } - } - ,.body= "" - } - -#define UNLINK_REQUEST 41 -, {.name = "unlink request" - ,.type= HTTP_REQUEST - ,.raw= "UNLINK /images/my_dog.jpg HTTP/1.1\r\n" - "Host: example.com\r\n" - "Link: ; rel=\"tag\"\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_UNLINK - ,.request_path= "/images/my_dog.jpg" - ,.request_url= "/images/my_dog.jpg" - ,.query_string= "" - ,.fragment= "" - ,.num_headers= 2 - ,.headers= { { "Host", "example.com" } - , { "Link", "; rel=\"tag\"" } - } - ,.body= "" - } - -#define SOURCE_REQUEST 42 -, {.name = "source request" - ,.type= HTTP_REQUEST - ,.raw= "SOURCE /music/sweet/music HTTP/1.1\r\n" - "Host: example.com\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.method= HTTP_SOURCE - ,.request_path= "/music/sweet/music" - ,.request_url= "/music/sweet/music" - ,.query_string= "" - ,.fragment= "" - ,.num_headers= 1 - ,.headers= { { "Host", "example.com" } } - ,.body= "" - } -}; - -/* * R E S P O N S E S * */ -const struct message responses[] = -#define GOOGLE_301 0 -{ {.name= "google 301" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 301 Moved Permanently\r\n" - "Location: http://www.google.com/\r\n" - "Content-Type: text/html; charset=UTF-8\r\n" - "Date: Sun, 26 Apr 2009 11:11:49 GMT\r\n" - "Expires: Tue, 26 May 2009 11:11:49 GMT\r\n" - "X-$PrototypeBI-Version: 1.6.0.3\r\n" /* $ char in header field */ - "Cache-Control: public, max-age=2592000\r\n" - "Server: gws\r\n" - "Content-Length: 219 \r\n" - "\r\n" - "\n" - "301 Moved\n" - "

301 Moved

\n" - "The document has moved\n" - "here.\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 301 - ,.response_status= "Moved Permanently" - ,.num_headers= 8 - ,.headers= - { { "Location", "http://www.google.com/" } - , { "Content-Type", "text/html; charset=UTF-8" } - , { "Date", "Sun, 26 Apr 2009 11:11:49 GMT" } - , { "Expires", "Tue, 26 May 2009 11:11:49 GMT" } - , { "X-$PrototypeBI-Version", "1.6.0.3" } - , { "Cache-Control", "public, max-age=2592000" } - , { "Server", "gws" } - , { "Content-Length", "219 " } - } - ,.body= "\n" - "301 Moved\n" - "

301 Moved

\n" - "The document has moved\n" - "here.\r\n" - "\r\n" - } - -#define NO_CONTENT_LENGTH_RESPONSE 1 -/* The client should wait for the server's EOF. That is, when content-length - * is not specified, and "Connection: close", the end of body is specified - * by the EOF. - * Compare with APACHEBENCH_GET - */ -, {.name= "no content-length response" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Date: Tue, 04 Aug 2009 07:59:32 GMT\r\n" - "Server: Apache\r\n" - "X-Powered-By: Servlet/2.5 JSP/2.1\r\n" - "Content-Type: text/xml; charset=utf-8\r\n" - "Connection: close\r\n" - "\r\n" - "\n" - "\n" - " \n" - " \n" - " SOAP-ENV:Client\n" - " Client Error\n" - " \n" - " \n" - "" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 5 - ,.headers= - { { "Date", "Tue, 04 Aug 2009 07:59:32 GMT" } - , { "Server", "Apache" } - , { "X-Powered-By", "Servlet/2.5 JSP/2.1" } - , { "Content-Type", "text/xml; charset=utf-8" } - , { "Connection", "close" } - } - ,.body= "\n" - "\n" - " \n" - " \n" - " SOAP-ENV:Client\n" - " Client Error\n" - " \n" - " \n" - "" - } - -#define NO_HEADERS_NO_BODY_404 2 -, {.name= "404 no headers no body" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 404 Not Found\r\n\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 404 - ,.response_status= "Not Found" - ,.num_headers= 0 - ,.headers= {} - ,.body_size= 0 - ,.body= "" - } - -#define NO_REASON_PHRASE 3 -, {.name= "301 no response phrase" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 301\r\n\r\n" - ,.should_keep_alive = FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 301 - ,.response_status= "" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define TRAILING_SPACE_ON_CHUNKED_BODY 4 -, {.name="200 trailing space on chunked body" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Type: text/plain\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "25 \r\n" - "This is the data in the first chunk\r\n" - "\r\n" - "1C\r\n" - "and this is the second one\r\n" - "\r\n" - "0 \r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 2 - ,.headers= - { {"Content-Type", "text/plain" } - , {"Transfer-Encoding", "chunked" } - } - ,.body_size = 37+28 - ,.body = - "This is the data in the first chunk\r\n" - "and this is the second one\r\n" - ,.num_chunks_complete= 3 - ,.chunk_lengths= { 0x25, 0x1c } - } - -#define NO_CARRIAGE_RET 5 -, {.name="no carriage ret" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\n" - "Content-Type: text/html; charset=utf-8\n" - "Connection: close\n" - "\n" - "these headers are from http://news.ycombinator.com/" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 2 - ,.headers= - { {"Content-Type", "text/html; charset=utf-8" } - , {"Connection", "close" } - } - ,.body= "these headers are from http://news.ycombinator.com/" - } - -#define PROXY_CONNECTION 6 -, {.name="proxy connection" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Type: text/html; charset=UTF-8\r\n" - "Content-Length: 11\r\n" - "Proxy-Connection: close\r\n" - "Date: Thu, 31 Dec 2009 20:55:48 +0000\r\n" - "\r\n" - "hello world" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 4 - ,.headers= - { {"Content-Type", "text/html; charset=UTF-8" } - , {"Content-Length", "11" } - , {"Proxy-Connection", "close" } - , {"Date", "Thu, 31 Dec 2009 20:55:48 +0000"} - } - ,.body= "hello world" - } - -#define UNDERSTORE_HEADER_KEY 7 - // shown by - // curl -o /dev/null -v "http://ad.doubleclick.net/pfadx/DARTSHELLCONFIGXML;dcmt=text/xml;" -, {.name="underscore header key" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Server: DCLK-AdSvr\r\n" - "Content-Type: text/xml\r\n" - "Content-Length: 0\r\n" - "DCLK_imp: v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o\r\n\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 4 - ,.headers= - { {"Server", "DCLK-AdSvr" } - , {"Content-Type", "text/xml" } - , {"Content-Length", "0" } - , {"DCLK_imp", "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o" } - } - ,.body= "" - } - -#define BONJOUR_MADAME_FR 8 -/* The client should not merge two headers fields when the first one doesn't - * have a value. - */ -, {.name= "bonjourmadame.fr" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.0 301 Moved Permanently\r\n" - "Date: Thu, 03 Jun 2010 09:56:32 GMT\r\n" - "Server: Apache/2.2.3 (Red Hat)\r\n" - "Cache-Control: public\r\n" - "Pragma: \r\n" - "Location: http://www.bonjourmadame.fr/\r\n" - "Vary: Accept-Encoding\r\n" - "Content-Length: 0\r\n" - "Content-Type: text/html; charset=UTF-8\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 301 - ,.response_status= "Moved Permanently" - ,.num_headers= 9 - ,.headers= - { { "Date", "Thu, 03 Jun 2010 09:56:32 GMT" } - , { "Server", "Apache/2.2.3 (Red Hat)" } - , { "Cache-Control", "public" } - , { "Pragma", "" } - , { "Location", "http://www.bonjourmadame.fr/" } - , { "Vary", "Accept-Encoding" } - , { "Content-Length", "0" } - , { "Content-Type", "text/html; charset=UTF-8" } - , { "Connection", "keep-alive" } - } - ,.body= "" - } - -#define RES_FIELD_UNDERSCORE 9 -/* Should handle spaces in header fields */ -, {.name= "field underscore" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Date: Tue, 28 Sep 2010 01:14:13 GMT\r\n" - "Server: Apache\r\n" - "Cache-Control: no-cache, must-revalidate\r\n" - "Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n" - ".et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\n" - "Vary: Accept-Encoding\r\n" - "_eep-Alive: timeout=45\r\n" /* semantic value ignored */ - "_onnection: Keep-Alive\r\n" /* semantic value ignored */ - "Transfer-Encoding: chunked\r\n" - "Content-Type: text/html\r\n" - "Connection: close\r\n" - "\r\n" - "0\r\n\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 11 - ,.headers= - { { "Date", "Tue, 28 Sep 2010 01:14:13 GMT" } - , { "Server", "Apache" } - , { "Cache-Control", "no-cache, must-revalidate" } - , { "Expires", "Mon, 26 Jul 1997 05:00:00 GMT" } - , { ".et-Cookie", "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com" } - , { "Vary", "Accept-Encoding" } - , { "_eep-Alive", "timeout=45" } - , { "_onnection", "Keep-Alive" } - , { "Transfer-Encoding", "chunked" } - , { "Content-Type", "text/html" } - , { "Connection", "close" } - } - ,.body= "" - ,.num_chunks_complete= 1 - ,.chunk_lengths= {} - } - -#define NON_ASCII_IN_STATUS_LINE 10 -/* Should handle non-ASCII in status line */ -, {.name= "non-ASCII in status line" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 500 Oriëntatieprobleem\r\n" - "Date: Fri, 5 Nov 2010 23:07:12 GMT+2\r\n" - "Content-Length: 0\r\n" - "Connection: close\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 500 - ,.response_status= "Oriëntatieprobleem" - ,.num_headers= 3 - ,.headers= - { { "Date", "Fri, 5 Nov 2010 23:07:12 GMT+2" } - , { "Content-Length", "0" } - , { "Connection", "close" } - } - ,.body= "" - } - -#define HTTP_VERSION_0_9 11 -/* Should handle HTTP/0.9 */ -, {.name= "http version 0.9" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/0.9 200 OK\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 0 - ,.http_minor= 9 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 0 - ,.headers= - {} - ,.body= "" - } - -#define NO_CONTENT_LENGTH_NO_TRANSFER_ENCODING_RESPONSE 12 -/* The client should wait for the server's EOF. That is, when neither - * content-length nor transfer-encoding is specified, the end of body - * is specified by the EOF. - */ -, {.name= "neither content-length nor transfer-encoding response" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Type: text/plain\r\n" - "\r\n" - "hello world" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 1 - ,.headers= - { { "Content-Type", "text/plain" } - } - ,.body= "hello world" - } - -#define NO_BODY_HTTP10_KA_200 13 -, {.name= "HTTP/1.0 with keep-alive and EOF-terminated 200 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.0 200 OK\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 1 - ,.headers= - { { "Connection", "keep-alive" } - } - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP10_KA_204 14 -, {.name= "HTTP/1.0 with keep-alive and a 204 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.0 204 No content\r\n" - "Connection: keep-alive\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 204 - ,.response_status= "No content" - ,.num_headers= 1 - ,.headers= - { { "Connection", "keep-alive" } - } - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_KA_200 15 -, {.name= "HTTP/1.1 with an EOF-terminated 200 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 0 - ,.headers={} - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_KA_204 16 -, {.name= "HTTP/1.1 with a 204 status" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 204 No content\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 204 - ,.response_status= "No content" - ,.num_headers= 0 - ,.headers={} - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_NOKA_204 17 -, {.name= "HTTP/1.1 with a 204 status and keep-alive disabled" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 204 No content\r\n" - "Connection: close\r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 204 - ,.response_status= "No content" - ,.num_headers= 1 - ,.headers= - { { "Connection", "close" } - } - ,.body_size= 0 - ,.body= "" - } - -#define NO_BODY_HTTP11_KA_CHUNKED_200 18 -, {.name= "HTTP/1.1 with chunked endocing and a 200 response" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 1 - ,.headers= - { { "Transfer-Encoding", "chunked" } - } - ,.body_size= 0 - ,.body= "" - ,.num_chunks_complete= 1 - } - -#if !HTTP_PARSER_STRICT -#define SPACE_IN_FIELD_RES 19 -/* Should handle spaces in header fields */ -, {.name= "field space" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Server: Microsoft-IIS/6.0\r\n" - "X-Powered-By: ASP.NET\r\n" - "en-US Content-Type: text/xml\r\n" /* this is the problem */ - "Content-Type: text/xml\r\n" - "Content-Length: 16\r\n" - "Date: Fri, 23 Jul 2010 18:45:38 GMT\r\n" - "Connection: keep-alive\r\n" - "\r\n" - "hello" /* fake body */ - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 7 - ,.headers= - { { "Server", "Microsoft-IIS/6.0" } - , { "X-Powered-By", "ASP.NET" } - , { "en-US Content-Type", "text/xml" } - , { "Content-Type", "text/xml" } - , { "Content-Length", "16" } - , { "Date", "Fri, 23 Jul 2010 18:45:38 GMT" } - , { "Connection", "keep-alive" } - } - ,.body= "hello" - } -#endif /* !HTTP_PARSER_STRICT */ - -#define AMAZON_COM 20 -, {.name= "amazon.com" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 301 MovedPermanently\r\n" - "Date: Wed, 15 May 2013 17:06:33 GMT\r\n" - "Server: Server\r\n" - "x-amz-id-1: 0GPHKXSJQ826RK7GZEB2\r\n" - "p3p: policyref=\"http://www.amazon.com/w3c/p3p.xml\",CP=\"CAO DSP LAW CUR ADM IVAo IVDo CONo OTPo OUR DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC GOV OTC \"\r\n" - "x-amz-id-2: STN69VZxIFSz9YJLbz1GDbxpbjG6Qjmmq5E3DxRhOUw+Et0p4hr7c/Q8qNcx4oAD\r\n" - "Location: http://www.amazon.com/Dan-Brown/e/B000AP9DSU/ref=s9_pop_gw_al1?_encoding=UTF8&refinementId=618073011&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=0SHYY5BZXN3KR20BNFAY&pf_rd_t=101&pf_rd_p=1263340922&pf_rd_i=507846\r\n" - "Vary: Accept-Encoding,User-Agent\r\n" - "Content-Type: text/html; charset=ISO-8859-1\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "1\r\n" - "\n\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 301 - ,.response_status= "MovedPermanently" - ,.num_headers= 9 - ,.headers= { { "Date", "Wed, 15 May 2013 17:06:33 GMT" } - , { "Server", "Server" } - , { "x-amz-id-1", "0GPHKXSJQ826RK7GZEB2" } - , { "p3p", "policyref=\"http://www.amazon.com/w3c/p3p.xml\",CP=\"CAO DSP LAW CUR ADM IVAo IVDo CONo OTPo OUR DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC GOV OTC \"" } - , { "x-amz-id-2", "STN69VZxIFSz9YJLbz1GDbxpbjG6Qjmmq5E3DxRhOUw+Et0p4hr7c/Q8qNcx4oAD" } - , { "Location", "http://www.amazon.com/Dan-Brown/e/B000AP9DSU/ref=s9_pop_gw_al1?_encoding=UTF8&refinementId=618073011&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=0SHYY5BZXN3KR20BNFAY&pf_rd_t=101&pf_rd_p=1263340922&pf_rd_i=507846" } - , { "Vary", "Accept-Encoding,User-Agent" } - , { "Content-Type", "text/html; charset=ISO-8859-1" } - , { "Transfer-Encoding", "chunked" } - } - ,.body= "\n" - ,.num_chunks_complete= 2 - ,.chunk_lengths= { 1 } - } - -#define EMPTY_REASON_PHRASE_AFTER_SPACE 20 -, {.name= "empty reason phrase after space" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 \r\n" - "\r\n" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "" - ,.num_headers= 0 - ,.headers= {} - ,.body= "" - } - -#define CONTENT_LENGTH_X 21 -, {.name= "Content-Length-X" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Content-Length-X: 0\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "2\r\n" - "OK\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 2 - ,.headers= { { "Content-Length-X", "0" } - , { "Transfer-Encoding", "chunked" } - } - ,.body= "OK" - ,.num_chunks_complete= 2 - ,.chunk_lengths= { 2 } - } - -#define HTTP_101_RESPONSE_WITH_UPGRADE_HEADER 22 -, {.name= "HTTP 101 response with Upgrade header" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 101 Switching Protocols\r\n" - "Connection: upgrade\r\n" - "Upgrade: h2c\r\n" - "\r\n" - "proto" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 101 - ,.response_status= "Switching Protocols" - ,.upgrade= "proto" - ,.num_headers= 2 - ,.headers= - { { "Connection", "upgrade" } - , { "Upgrade", "h2c" } - } - } - -#define HTTP_101_RESPONSE_WITH_UPGRADE_HEADER_AND_CONTENT_LENGTH 23 -, {.name= "HTTP 101 response with Upgrade and Content-Length header" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 101 Switching Protocols\r\n" - "Connection: upgrade\r\n" - "Upgrade: h2c\r\n" - "Content-Length: 4\r\n" - "\r\n" - "body" - "proto" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 101 - ,.response_status= "Switching Protocols" - ,.body= "body" - ,.upgrade= "proto" - ,.num_headers= 3 - ,.headers= - { { "Connection", "upgrade" } - , { "Upgrade", "h2c" } - , { "Content-Length", "4" } - } - } - -#define HTTP_101_RESPONSE_WITH_UPGRADE_HEADER_AND_TRANSFER_ENCODING 24 -, {.name= "HTTP 101 response with Upgrade and Transfer-Encoding header" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 101 Switching Protocols\r\n" - "Connection: upgrade\r\n" - "Upgrade: h2c\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "2\r\n" - "bo\r\n" - "2\r\n" - "dy\r\n" - "0\r\n" - "\r\n" - "proto" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 101 - ,.response_status= "Switching Protocols" - ,.body= "body" - ,.upgrade= "proto" - ,.num_headers= 3 - ,.headers= - { { "Connection", "upgrade" } - , { "Upgrade", "h2c" } - , { "Transfer-Encoding", "chunked" } - } - ,.num_chunks_complete= 3 - ,.chunk_lengths= { 2, 2 } - } - -#define HTTP_200_RESPONSE_WITH_UPGRADE_HEADER 25 -, {.name= "HTTP 200 response with Upgrade header" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Connection: upgrade\r\n" - "Upgrade: h2c\r\n" - "\r\n" - "body" - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= TRUE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.body= "body" - ,.upgrade= NULL - ,.num_headers= 2 - ,.headers= - { { "Connection", "upgrade" } - , { "Upgrade", "h2c" } - } - } - -#define HTTP_200_RESPONSE_WITH_UPGRADE_HEADER_AND_CONTENT_LENGTH 26 -, {.name= "HTTP 200 response with Upgrade and Content-Length header" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Connection: upgrade\r\n" - "Upgrade: h2c\r\n" - "Content-Length: 4\r\n" - "\r\n" - "body" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 3 - ,.body= "body" - ,.upgrade= NULL - ,.headers= - { { "Connection", "upgrade" } - , { "Upgrade", "h2c" } - , { "Content-Length", "4" } - } - } - -#define HTTP_200_RESPONSE_WITH_UPGRADE_HEADER_AND_TRANSFER_ENCODING 27 -, {.name= "HTTP 200 response with Upgrade and Transfer-Encoding header" - ,.type= HTTP_RESPONSE - ,.raw= "HTTP/1.1 200 OK\r\n" - "Connection: upgrade\r\n" - "Upgrade: h2c\r\n" - "Transfer-Encoding: chunked\r\n" - "\r\n" - "2\r\n" - "bo\r\n" - "2\r\n" - "dy\r\n" - "0\r\n" - "\r\n" - ,.should_keep_alive= TRUE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 1 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 3 - ,.body= "body" - ,.upgrade= NULL - ,.headers= - { { "Connection", "upgrade" } - , { "Upgrade", "h2c" } - , { "Transfer-Encoding", "chunked" } - } - ,.num_chunks_complete= 3 - ,.chunk_lengths= { 2, 2 } - } -}; - -/* strnlen() is a POSIX.2008 addition. Can't rely on it being available so - * define it ourselves. - */ -size_t -strnlen(const char *s, size_t maxlen) -{ - const char *p; - - p = memchr(s, '\0', maxlen); - if (p == NULL) - return maxlen; - - return p - s; -} - -size_t -strlncat(char *dst, size_t len, const char *src, size_t n) -{ - size_t slen; - size_t dlen; - size_t rlen; - size_t ncpy; - - slen = strnlen(src, n); - dlen = strnlen(dst, len); - - if (dlen < len) { - rlen = len - dlen; - ncpy = slen < rlen ? slen : (rlen - 1); - memcpy(dst + dlen, src, ncpy); - dst[dlen + ncpy] = '\0'; - } - - assert(len > slen + dlen); - return slen + dlen; -} - -size_t -strlncpy(char *dst, size_t len, const char *src, size_t n) -{ - size_t slen; - size_t ncpy; - - slen = strnlen(src, n); - - if (len > 0) { - ncpy = slen < len ? slen : (len - 1); - memcpy(dst, src, ncpy); - dst[ncpy] = '\0'; - } - - assert(len > slen); - return slen; -} - -int -request_url_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - strlncat(messages[num_messages].request_url, - sizeof(messages[num_messages].request_url), - buf, - len); - return 0; -} - -int -header_field_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - struct message *m = &messages[num_messages]; - - if (m->last_header_element != FIELD) - m->num_headers++; - - strlncat(m->headers[m->num_headers-1][0], - sizeof(m->headers[m->num_headers-1][0]), - buf, - len); - - m->last_header_element = FIELD; - - return 0; -} - -int -header_value_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - struct message *m = &messages[num_messages]; - - strlncat(m->headers[m->num_headers-1][1], - sizeof(m->headers[m->num_headers-1][1]), - buf, - len); - - m->last_header_element = VALUE; - - return 0; -} - -void -check_body_is_final (const http_parser *p) -{ - if (messages[num_messages].body_is_final) { - fprintf(stderr, "\n\n *** Error http_body_is_final() should return 1 " - "on last on_body callback call " - "but it doesn't! ***\n\n"); - assert(0); - abort(); - } - messages[num_messages].body_is_final = http_body_is_final(p); -} - -int -body_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - strlncat(messages[num_messages].body, - sizeof(messages[num_messages].body), - buf, - len); - messages[num_messages].body_size += len; - check_body_is_final(p); - // printf("body_cb: '%s'\n", requests[num_messages].body); - return 0; -} - -int -count_body_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - assert(buf); - messages[num_messages].body_size += len; - check_body_is_final(p); - return 0; -} - -int -message_begin_cb (http_parser *p) -{ - assert(p == parser); - messages[num_messages].message_begin_cb_called = TRUE; - return 0; -} - -int -headers_complete_cb (http_parser *p) -{ - assert(p == parser); - messages[num_messages].method = parser->method; - messages[num_messages].status_code = parser->status_code; - messages[num_messages].http_major = parser->http_major; - messages[num_messages].http_minor = parser->http_minor; - messages[num_messages].headers_complete_cb_called = TRUE; - messages[num_messages].should_keep_alive = http_should_keep_alive(parser); - return 0; -} - -int -message_complete_cb (http_parser *p) -{ - assert(p == parser); - if (messages[num_messages].should_keep_alive != http_should_keep_alive(parser)) - { - fprintf(stderr, "\n\n *** Error http_should_keep_alive() should have same " - "value in both on_message_complete and on_headers_complete " - "but it doesn't! ***\n\n"); - assert(0); - abort(); - } - - if (messages[num_messages].body_size && - http_body_is_final(p) && - !messages[num_messages].body_is_final) - { - fprintf(stderr, "\n\n *** Error http_body_is_final() should return 1 " - "on last on_body callback call " - "but it doesn't! ***\n\n"); - assert(0); - abort(); - } - - messages[num_messages].message_complete_cb_called = TRUE; - - messages[num_messages].message_complete_on_eof = currently_parsing_eof; - - num_messages++; - return 0; -} - -int -response_status_cb (http_parser *p, const char *buf, size_t len) -{ - assert(p == parser); - - messages[num_messages].status_cb_called = TRUE; - - strlncat(messages[num_messages].response_status, - sizeof(messages[num_messages].response_status), - buf, - len); - return 0; -} - -int -chunk_header_cb (http_parser *p) -{ - assert(p == parser); - int chunk_idx = messages[num_messages].num_chunks; - messages[num_messages].num_chunks++; - if (chunk_idx < MAX_CHUNKS) { - messages[num_messages].chunk_lengths[chunk_idx] = p->content_length; - } - - return 0; -} - -int -chunk_complete_cb (http_parser *p) -{ - assert(p == parser); - - /* Here we want to verify that each chunk_header_cb is matched by a - * chunk_complete_cb, so not only should the total number of calls to - * both callbacks be the same, but they also should be interleaved - * properly */ - assert(messages[num_messages].num_chunks == - messages[num_messages].num_chunks_complete + 1); - - messages[num_messages].num_chunks_complete++; - return 0; -} - -/* These dontcall_* callbacks exist so that we can verify that when we're - * paused, no additional callbacks are invoked */ -int -dontcall_message_begin_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_message_begin() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_header_field_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_header_field() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_header_value_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_header_value() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_request_url_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_request_url() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_body_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_body_cb() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_headers_complete_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_headers_complete() called on paused " - "parser ***\n\n"); - abort(); -} - -int -dontcall_message_complete_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_message_complete() called on paused " - "parser ***\n\n"); - abort(); -} - -int -dontcall_response_status_cb (http_parser *p, const char *buf, size_t len) -{ - if (p || buf || len) { } // gcc - fprintf(stderr, "\n\n*** on_status() called on paused parser ***\n\n"); - abort(); -} - -int -dontcall_chunk_header_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_chunk_header() called on paused parser ***\n\n"); - exit(1); -} - -int -dontcall_chunk_complete_cb (http_parser *p) -{ - if (p) { } // gcc - fprintf(stderr, "\n\n*** on_chunk_complete() " - "called on paused parser ***\n\n"); - exit(1); -} - -static http_parser_settings settings_dontcall = - {.on_message_begin = dontcall_message_begin_cb - ,.on_header_field = dontcall_header_field_cb - ,.on_header_value = dontcall_header_value_cb - ,.on_url = dontcall_request_url_cb - ,.on_status = dontcall_response_status_cb - ,.on_body = dontcall_body_cb - ,.on_headers_complete = dontcall_headers_complete_cb - ,.on_message_complete = dontcall_message_complete_cb - ,.on_chunk_header = dontcall_chunk_header_cb - ,.on_chunk_complete = dontcall_chunk_complete_cb - }; - -/* These pause_* callbacks always pause the parser and just invoke the regular - * callback that tracks content. Before returning, we overwrite the parser - * settings to point to the _dontcall variety so that we can verify that - * the pause actually did, you know, pause. */ -int -pause_message_begin_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return message_begin_cb(p); -} - -int -pause_header_field_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return header_field_cb(p, buf, len); -} - -int -pause_header_value_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return header_value_cb(p, buf, len); -} - -int -pause_request_url_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return request_url_cb(p, buf, len); -} - -int -pause_body_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return body_cb(p, buf, len); -} - -int -pause_headers_complete_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return headers_complete_cb(p); -} - -int -pause_message_complete_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return message_complete_cb(p); -} - -int -pause_response_status_cb (http_parser *p, const char *buf, size_t len) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return response_status_cb(p, buf, len); -} - -int -pause_chunk_header_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return chunk_header_cb(p); -} - -int -pause_chunk_complete_cb (http_parser *p) -{ - http_parser_pause(p, 1); - *current_pause_parser = settings_dontcall; - return chunk_complete_cb(p); -} - -int -connect_headers_complete_cb (http_parser *p) -{ - headers_complete_cb(p); - return 1; -} - -int -connect_message_complete_cb (http_parser *p) -{ - messages[num_messages].should_keep_alive = http_should_keep_alive(parser); - return message_complete_cb(p); -} - -static http_parser_settings settings_pause = - {.on_message_begin = pause_message_begin_cb - ,.on_header_field = pause_header_field_cb - ,.on_header_value = pause_header_value_cb - ,.on_url = pause_request_url_cb - ,.on_status = pause_response_status_cb - ,.on_body = pause_body_cb - ,.on_headers_complete = pause_headers_complete_cb - ,.on_message_complete = pause_message_complete_cb - ,.on_chunk_header = pause_chunk_header_cb - ,.on_chunk_complete = pause_chunk_complete_cb - }; - -static http_parser_settings settings = - {.on_message_begin = message_begin_cb - ,.on_header_field = header_field_cb - ,.on_header_value = header_value_cb - ,.on_url = request_url_cb - ,.on_status = response_status_cb - ,.on_body = body_cb - ,.on_headers_complete = headers_complete_cb - ,.on_message_complete = message_complete_cb - ,.on_chunk_header = chunk_header_cb - ,.on_chunk_complete = chunk_complete_cb - }; - -static http_parser_settings settings_count_body = - {.on_message_begin = message_begin_cb - ,.on_header_field = header_field_cb - ,.on_header_value = header_value_cb - ,.on_url = request_url_cb - ,.on_status = response_status_cb - ,.on_body = count_body_cb - ,.on_headers_complete = headers_complete_cb - ,.on_message_complete = message_complete_cb - ,.on_chunk_header = chunk_header_cb - ,.on_chunk_complete = chunk_complete_cb - }; - -static http_parser_settings settings_connect = - {.on_message_begin = message_begin_cb - ,.on_header_field = header_field_cb - ,.on_header_value = header_value_cb - ,.on_url = request_url_cb - ,.on_status = response_status_cb - ,.on_body = dontcall_body_cb - ,.on_headers_complete = connect_headers_complete_cb - ,.on_message_complete = connect_message_complete_cb - ,.on_chunk_header = chunk_header_cb - ,.on_chunk_complete = chunk_complete_cb - }; - -static http_parser_settings settings_null = - {.on_message_begin = 0 - ,.on_header_field = 0 - ,.on_header_value = 0 - ,.on_url = 0 - ,.on_status = 0 - ,.on_body = 0 - ,.on_headers_complete = 0 - ,.on_message_complete = 0 - ,.on_chunk_header = 0 - ,.on_chunk_complete = 0 - }; - -void -parser_init (enum http_parser_type type) -{ - num_messages = 0; - - assert(parser == NULL); - - parser = malloc(sizeof(http_parser)); - - http_parser_init(parser, type); - - memset(&messages, 0, sizeof messages); - -} - -void -parser_free () -{ - assert(parser); - free(parser); - parser = NULL; -} - -size_t parse (const char *buf, size_t len) -{ - size_t nparsed; - currently_parsing_eof = (len == 0); - nparsed = http_parser_execute(parser, &settings, buf, len); - return nparsed; -} - -size_t parse_count_body (const char *buf, size_t len) -{ - size_t nparsed; - currently_parsing_eof = (len == 0); - nparsed = http_parser_execute(parser, &settings_count_body, buf, len); - return nparsed; -} - -size_t parse_pause (const char *buf, size_t len) -{ - size_t nparsed; - http_parser_settings s = settings_pause; - - currently_parsing_eof = (len == 0); - current_pause_parser = &s; - nparsed = http_parser_execute(parser, current_pause_parser, buf, len); - return nparsed; -} - -size_t parse_connect (const char *buf, size_t len) -{ - size_t nparsed; - currently_parsing_eof = (len == 0); - nparsed = http_parser_execute(parser, &settings_connect, buf, len); - return nparsed; -} - -static inline int -check_str_eq (const struct message *m, - const char *prop, - const char *expected, - const char *found) { - if ((expected == NULL) != (found == NULL)) { - printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name); - printf("expected %s\n", (expected == NULL) ? "NULL" : expected); - printf(" found %s\n", (found == NULL) ? "NULL" : found); - return 0; - } - if (expected != NULL && 0 != strcmp(expected, found)) { - printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name); - printf("expected '%s'\n", expected); - printf(" found '%s'\n", found); - return 0; - } - return 1; -} - -static inline int -check_num_eq (const struct message *m, - const char *prop, - int expected, - int found) { - if (expected != found) { - printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name); - printf("expected %d\n", expected); - printf(" found %d\n", found); - return 0; - } - return 1; -} - -#define MESSAGE_CHECK_STR_EQ(expected, found, prop) \ - if (!check_str_eq(expected, #prop, expected->prop, found->prop)) return 0 - -#define MESSAGE_CHECK_NUM_EQ(expected, found, prop) \ - if (!check_num_eq(expected, #prop, expected->prop, found->prop)) return 0 - -#define MESSAGE_CHECK_URL_EQ(u, expected, found, prop, fn) \ -do { \ - char ubuf[256]; \ - \ - if ((u)->field_set & (1 << (fn))) { \ - memcpy(ubuf, (found)->request_url + (u)->field_data[(fn)].off, \ - (u)->field_data[(fn)].len); \ - ubuf[(u)->field_data[(fn)].len] = '\0'; \ - } else { \ - ubuf[0] = '\0'; \ - } \ - \ - check_str_eq(expected, #prop, expected->prop, ubuf); \ -} while(0) - -int -message_eq (int index, int connect, const struct message *expected) -{ - int i; - struct message *m = &messages[index]; - - MESSAGE_CHECK_NUM_EQ(expected, m, http_major); - MESSAGE_CHECK_NUM_EQ(expected, m, http_minor); - - if (expected->type == HTTP_REQUEST) { - MESSAGE_CHECK_NUM_EQ(expected, m, method); - } else { - MESSAGE_CHECK_NUM_EQ(expected, m, status_code); - MESSAGE_CHECK_STR_EQ(expected, m, response_status); - assert(m->status_cb_called); - } - - if (!connect) { - MESSAGE_CHECK_NUM_EQ(expected, m, should_keep_alive); - MESSAGE_CHECK_NUM_EQ(expected, m, message_complete_on_eof); - } - - assert(m->message_begin_cb_called); - assert(m->headers_complete_cb_called); - assert(m->message_complete_cb_called); - - - MESSAGE_CHECK_STR_EQ(expected, m, request_url); - - /* Check URL components; we can't do this w/ CONNECT since it doesn't - * send us a well-formed URL. - */ - if (*m->request_url && m->method != HTTP_CONNECT) { - struct http_parser_url u; - - if (http_parser_parse_url(m->request_url, strlen(m->request_url), 0, &u)) { - fprintf(stderr, "\n\n*** failed to parse URL %s ***\n\n", - m->request_url); - abort(); - } - - if (expected->host) { - MESSAGE_CHECK_URL_EQ(&u, expected, m, host, UF_HOST); - } - - if (expected->userinfo) { - MESSAGE_CHECK_URL_EQ(&u, expected, m, userinfo, UF_USERINFO); - } - - m->port = (u.field_set & (1 << UF_PORT)) ? - u.port : 0; - - MESSAGE_CHECK_URL_EQ(&u, expected, m, query_string, UF_QUERY); - MESSAGE_CHECK_URL_EQ(&u, expected, m, fragment, UF_FRAGMENT); - MESSAGE_CHECK_URL_EQ(&u, expected, m, request_path, UF_PATH); - MESSAGE_CHECK_NUM_EQ(expected, m, port); - } - - if (connect) { - check_num_eq(m, "body_size", 0, m->body_size); - } else if (expected->body_size) { - MESSAGE_CHECK_NUM_EQ(expected, m, body_size); - } else { - MESSAGE_CHECK_STR_EQ(expected, m, body); - } - - if (connect) { - check_num_eq(m, "num_chunks_complete", 0, m->num_chunks_complete); - } else { - assert(m->num_chunks == m->num_chunks_complete); - MESSAGE_CHECK_NUM_EQ(expected, m, num_chunks_complete); - for (i = 0; i < m->num_chunks && i < MAX_CHUNKS; i++) { - MESSAGE_CHECK_NUM_EQ(expected, m, chunk_lengths[i]); - } - } - - MESSAGE_CHECK_NUM_EQ(expected, m, num_headers); - - int r; - for (i = 0; i < m->num_headers; i++) { - r = check_str_eq(expected, "header field", expected->headers[i][0], m->headers[i][0]); - if (!r) return 0; - r = check_str_eq(expected, "header value", expected->headers[i][1], m->headers[i][1]); - if (!r) return 0; - } - - if (!connect) { - MESSAGE_CHECK_STR_EQ(expected, m, upgrade); - } - - return 1; -} - -/* Given a sequence of varargs messages, return the number of them that the - * parser should successfully parse, taking into account that upgraded - * messages prevent all subsequent messages from being parsed. - */ -size_t -count_parsed_messages(const size_t nmsgs, ...) { - size_t i; - va_list ap; - - va_start(ap, nmsgs); - - for (i = 0; i < nmsgs; i++) { - struct message *m = va_arg(ap, struct message *); - - if (m->upgrade) { - va_end(ap); - return i + 1; - } - } - - va_end(ap); - return nmsgs; -} - -/* Given a sequence of bytes and the number of these that we were able to - * parse, verify that upgrade bodies are correct. - */ -void -upgrade_message_fix(char *body, const size_t nread, const size_t nmsgs, ...) { - va_list ap; - size_t i; - size_t off = 0; - - va_start(ap, nmsgs); - - for (i = 0; i < nmsgs; i++) { - struct message *m = va_arg(ap, struct message *); - - off += strlen(m->raw); - - if (m->upgrade) { - off -= strlen(m->upgrade); - - /* Check the portion of the response after its specified upgrade */ - if (!check_str_eq(m, "upgrade", body + off, body + nread)) { - abort(); - } - - /* Fix up the response so that message_eq() will verify the beginning - * of the upgrade */ - *(body + nread + strlen(m->upgrade)) = '\0'; - messages[num_messages -1 ].upgrade = body + nread; - - va_end(ap); - return; - } - } - - va_end(ap); - printf("\n\n*** Error: expected a message with upgrade ***\n"); - - abort(); -} - -static void -print_error (const char *raw, size_t error_location) -{ - fprintf(stderr, "\n*** %s ***\n\n", - http_errno_description(HTTP_PARSER_ERRNO(parser))); - - int this_line = 0, char_len = 0; - size_t i, j, len = strlen(raw), error_location_line = 0; - for (i = 0; i < len; i++) { - if (i == error_location) this_line = 1; - switch (raw[i]) { - case '\r': - char_len = 2; - fprintf(stderr, "\\r"); - break; - - case '\n': - fprintf(stderr, "\\n\n"); - - if (this_line) goto print; - - error_location_line = 0; - continue; - - default: - char_len = 1; - fputc(raw[i], stderr); - break; - } - if (!this_line) error_location_line += char_len; - } - - fprintf(stderr, "[eof]\n"); - - print: - for (j = 0; j < error_location_line; j++) { - fputc(' ', stderr); - } - fprintf(stderr, "^\n\nerror location: %u\n", (unsigned int)error_location); -} - -void -test_preserve_data (void) -{ - char my_data[] = "application-specific data"; - http_parser parser; - parser.data = my_data; - http_parser_init(&parser, HTTP_REQUEST); - if (parser.data != my_data) { - printf("\n*** parser.data not preserved accross http_parser_init ***\n\n"); - abort(); - } -} - -struct url_test { - const char *name; - const char *url; - int is_connect; - struct http_parser_url u; - int rv; -}; - -const struct url_test url_tests[] = -{ {.name="proxy request" - ,.url="http://hostname/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH) - ,.port=0 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 7, 8 } /* UF_HOST */ - ,{ 0, 0 } /* UF_PORT */ - ,{ 15, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="proxy request with port" - ,.url="http://hostname:444/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PORT) | (1 << UF_PATH) - ,.port=444 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 7, 8 } /* UF_HOST */ - ,{ 16, 3 } /* UF_PORT */ - ,{ 19, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="CONNECT request" - ,.url="hostname:443" - ,.is_connect=1 - ,.u= - {.field_set=(1 << UF_HOST) | (1 << UF_PORT) - ,.port=443 - ,.field_data= - {{ 0, 0 } /* UF_SCHEMA */ - ,{ 0, 8 } /* UF_HOST */ - ,{ 9, 3 } /* UF_PORT */ - ,{ 0, 0 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="CONNECT request but not connect" - ,.url="hostname:443" - ,.is_connect=0 - ,.rv=1 - } - -, {.name="proxy ipv6 request" - ,.url="http://[1:2::3:4]/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH) - ,.port=0 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 8, 8 } /* UF_HOST */ - ,{ 0, 0 } /* UF_PORT */ - ,{ 17, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="proxy ipv6 request with port" - ,.url="http://[1:2::3:4]:67/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PORT) | (1 << UF_PATH) - ,.port=67 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 8, 8 } /* UF_HOST */ - ,{ 18, 2 } /* UF_PORT */ - ,{ 20, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="CONNECT ipv6 address" - ,.url="[1:2::3:4]:443" - ,.is_connect=1 - ,.u= - {.field_set=(1 << UF_HOST) | (1 << UF_PORT) - ,.port=443 - ,.field_data= - {{ 0, 0 } /* UF_SCHEMA */ - ,{ 1, 8 } /* UF_HOST */ - ,{ 11, 3 } /* UF_PORT */ - ,{ 0, 0 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="ipv4 in ipv6 address" - ,.url="http://[2001:0000:0000:0000:0000:0000:1.9.1.1]/" - ,.is_connect=0 - ,.u= - {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH) - ,.port=0 - ,.field_data= - {{ 0, 4 } /* UF_SCHEMA */ - ,{ 8, 37 } /* UF_HOST */ - ,{ 0, 0 } /* UF_PORT */ - ,{ 46, 1 } /* UF_PATH */ - ,{ 0, 0 } /* UF_QUERY */ - ,{ 0, 0 } /* UF_FRAGMENT */ - ,{ 0, 0 } /* UF_USERINFO */ - } - } - ,.rv=0 - } - -, {.name="extra ? in query string" - ,.url="http://a.tbcdn.cn/p/fp/2010c/??fp-header-min.css,fp-base-min.css," - "fp-channel-min.css,fp-product-min.css,fp-mall-min.css,fp-category-min.css," - "fp-sub-min.css,fp-gdp4p-min.css,fp-css3-min.css,fp-misc-min.css?t=20101022.css" - ,.is_connect=0 - ,.u= - {.field_set=(1<field_set, u->port); - for (i = 0; i < UF_MAX; i++) { - if ((u->field_set & (1 << i)) == 0) { - printf("\tfield_data[%u]: unset\n", i); - continue; - } - - printf("\tfield_data[%u]: off: %u len: %u part: \"%.*s\n\"", - i, - u->field_data[i].off, - u->field_data[i].len, - u->field_data[i].len, - url + u->field_data[i].off); - } -} - -void -test_parse_url (void) -{ - struct http_parser_url u; - const struct url_test *test; - unsigned int i; - int rv; - - for (i = 0; i < (sizeof(url_tests) / sizeof(url_tests[0])); i++) { - test = &url_tests[i]; - memset(&u, 0, sizeof(u)); - - rv = http_parser_parse_url(test->url, - strlen(test->url), - test->is_connect, - &u); - - if (test->rv == 0) { - if (rv != 0) { - printf("\n*** http_parser_parse_url(\"%s\") \"%s\" test failed, " - "unexpected rv %d ***\n\n", test->url, test->name, rv); - abort(); - } - - if (memcmp(&u, &test->u, sizeof(u)) != 0) { - printf("\n*** http_parser_parse_url(\"%s\") \"%s\" failed ***\n", - test->url, test->name); - - printf("target http_parser_url:\n"); - dump_url(test->url, &test->u); - printf("result http_parser_url:\n"); - dump_url(test->url, &u); - - abort(); - } - } else { - /* test->rv != 0 */ - if (rv == 0) { - printf("\n*** http_parser_parse_url(\"%s\") \"%s\" test failed, " - "unexpected rv %d ***\n\n", test->url, test->name, rv); - abort(); - } - } - } -} - -void -test_method_str (void) -{ - assert(0 == strcmp("GET", http_method_str(HTTP_GET))); - assert(0 == strcmp("", http_method_str(1337))); -} - -void -test_message (const struct message *message) -{ - size_t raw_len = strlen(message->raw); - size_t msg1len; - for (msg1len = 0; msg1len < raw_len; msg1len++) { - parser_init(message->type); - - size_t read; - const char *msg1 = message->raw; - const char *msg2 = msg1 + msg1len; - size_t msg2len = raw_len - msg1len; - - if (msg1len) { - read = parse(msg1, msg1len); - - if (message->upgrade && parser->upgrade && num_messages > 0) { - messages[num_messages - 1].upgrade = msg1 + read; - goto test; - } - - if (read != msg1len) { - print_error(msg1, read); - abort(); - } - } - - - read = parse(msg2, msg2len); - - if (message->upgrade && parser->upgrade) { - messages[num_messages - 1].upgrade = msg2 + read; - goto test; - } - - if (read != msg2len) { - print_error(msg2, read); - abort(); - } - - read = parse(NULL, 0); - - if (read != 0) { - print_error(message->raw, read); - abort(); - } - - test: - - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name); - abort(); - } - - if(!message_eq(0, 0, message)) abort(); - - parser_free(); - } -} - -void -test_message_count_body (const struct message *message) -{ - parser_init(message->type); - - size_t read; - size_t l = strlen(message->raw); - size_t i, toread; - size_t chunk = 4024; - - for (i = 0; i < l; i+= chunk) { - toread = MIN(l-i, chunk); - read = parse_count_body(message->raw + i, toread); - if (read != toread) { - print_error(message->raw, read); - abort(); - } - } - - - read = parse_count_body(NULL, 0); - if (read != 0) { - print_error(message->raw, read); - abort(); - } - - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name); - abort(); - } - - if(!message_eq(0, 0, message)) abort(); - - parser_free(); -} - -void -test_simple_type (const char *buf, - enum http_errno err_expected, - enum http_parser_type type) -{ - parser_init(type); - - enum http_errno err; - - parse(buf, strlen(buf)); - err = HTTP_PARSER_ERRNO(parser); - parse(NULL, 0); - - parser_free(); - - /* In strict mode, allow us to pass with an unexpected HPE_STRICT as - * long as the caller isn't expecting success. - */ -#if HTTP_PARSER_STRICT - if (err_expected != err && err_expected != HPE_OK && err != HPE_STRICT) { -#else - if (err_expected != err) { -#endif - fprintf(stderr, "\n*** test_simple expected %s, but saw %s ***\n\n%s\n", - http_errno_name(err_expected), http_errno_name(err), buf); - abort(); - } -} - -void -test_simple (const char *buf, enum http_errno err_expected) -{ - test_simple_type(buf, err_expected, HTTP_REQUEST); -} - -void -test_invalid_header_content (int req, const char* str) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? - "GET / HTTP/1.1\r\n" : - "HTTP/1.1 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = str; - size_t buflen = strlen(buf); - - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - assert(HTTP_PARSER_ERRNO(&parser) == HPE_INVALID_HEADER_TOKEN); - return; - } - - fprintf(stderr, - "\n*** Error expected but none in invalid header content test ***\n"); - abort(); -} - -void -test_invalid_header_field_content_error (int req) -{ - test_invalid_header_content(req, "Foo: F\01ailure"); - test_invalid_header_content(req, "Foo: B\02ar"); -} - -void -test_invalid_header_field (int req, const char* str) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? - "GET / HTTP/1.1\r\n" : - "HTTP/1.1 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = str; - size_t buflen = strlen(buf); - - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - assert(HTTP_PARSER_ERRNO(&parser) == HPE_INVALID_HEADER_TOKEN); - return; - } - - fprintf(stderr, - "\n*** Error expected but none in invalid header token test ***\n"); - abort(); -} - -void -test_invalid_header_field_token_error (int req) -{ - test_invalid_header_field(req, "Fo@: Failure"); - test_invalid_header_field(req, "Foo\01\test: Bar"); -} - -void -test_double_content_length_error (int req) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? - "GET / HTTP/1.1\r\n" : - "HTTP/1.1 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = "Content-Length: 0\r\nContent-Length: 1\r\n\r\n"; - size_t buflen = strlen(buf); - - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - assert(HTTP_PARSER_ERRNO(&parser) == HPE_UNEXPECTED_CONTENT_LENGTH); - return; - } - - fprintf(stderr, - "\n*** Error expected but none in double content-length test ***\n"); - abort(); -} - -void -test_chunked_content_length_error (int req) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? - "GET / HTTP/1.1\r\n" : - "HTTP/1.1 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = "Transfer-Encoding: chunked\r\nContent-Length: 1\r\n\r\n"; - size_t buflen = strlen(buf); - - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - assert(HTTP_PARSER_ERRNO(&parser) == HPE_UNEXPECTED_CONTENT_LENGTH); - return; - } - - fprintf(stderr, - "\n*** Error expected but none in chunked content-length test ***\n"); - abort(); -} - -void -test_header_cr_no_lf_error (int req) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? - "GET / HTTP/1.1\r\n" : - "HTTP/1.1 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = "Foo: 1\rBar: 1\r\n\r\n"; - size_t buflen = strlen(buf); - - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - assert(HTTP_PARSER_ERRNO(&parser) == HPE_LF_EXPECTED); - return; - } - - fprintf(stderr, - "\n*** Error expected but none in header whitespace test ***\n"); - abort(); -} - -void -test_no_overflow_parse_url (void) -{ - int rv; - struct http_parser_url u; - - http_parser_url_init(&u); - rv = http_parser_parse_url("http://example.com:8001", 22, 0, &u); - - if (rv != 0) { - fprintf(stderr, - "\n*** test_no_overflow_parse_url invalid return value=%d\n", - rv); - abort(); - } - - if (u.port != 800) { - fprintf(stderr, - "\n*** test_no_overflow_parse_url invalid port number=%d\n", - u.port); - abort(); - } -} - -void -test_header_overflow_error (int req) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - const char *buf; - buf = req ? "GET / HTTP/1.1\r\n" : "HTTP/1.0 200 OK\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - buf = "header-key: header-value\r\n"; - size_t buflen = strlen(buf); - - int i; - for (i = 0; i < 10000; i++) { - parsed = http_parser_execute(&parser, &settings_null, buf, buflen); - if (parsed != buflen) { - //fprintf(stderr, "error found on iter %d\n", i); - assert(HTTP_PARSER_ERRNO(&parser) == HPE_HEADER_OVERFLOW); - return; - } - } - - fprintf(stderr, "\n*** Error expected but none in header overflow test ***\n"); - abort(); -} - - -void -test_header_nread_value () -{ - http_parser parser; - http_parser_init(&parser, HTTP_REQUEST); - size_t parsed; - const char *buf; - buf = "GET / HTTP/1.1\r\nheader: value\nhdr: value\r\n"; - parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf)); - assert(parsed == strlen(buf)); - - assert(parser.nread == strlen(buf)); -} - - -static void -test_content_length_overflow (const char *buf, size_t buflen, int expect_ok) -{ - http_parser parser; - http_parser_init(&parser, HTTP_RESPONSE); - http_parser_execute(&parser, &settings_null, buf, buflen); - - if (expect_ok) - assert(HTTP_PARSER_ERRNO(&parser) == HPE_OK); - else - assert(HTTP_PARSER_ERRNO(&parser) == HPE_INVALID_CONTENT_LENGTH); -} - -void -test_header_content_length_overflow_error (void) -{ -#define X(size) \ - "HTTP/1.1 200 OK\r\n" \ - "Content-Length: " #size "\r\n" \ - "\r\n" - const char a[] = X(1844674407370955160); /* 2^64 / 10 - 1 */ - const char b[] = X(18446744073709551615); /* 2^64-1 */ - const char c[] = X(18446744073709551616); /* 2^64 */ -#undef X - test_content_length_overflow(a, sizeof(a) - 1, 1); /* expect ok */ - test_content_length_overflow(b, sizeof(b) - 1, 0); /* expect failure */ - test_content_length_overflow(c, sizeof(c) - 1, 0); /* expect failure */ -} - -void -test_chunk_content_length_overflow_error (void) -{ -#define X(size) \ - "HTTP/1.1 200 OK\r\n" \ - "Transfer-Encoding: chunked\r\n" \ - "\r\n" \ - #size "\r\n" \ - "..." - const char a[] = X(FFFFFFFFFFFFFFE); /* 2^64 / 16 - 1 */ - const char b[] = X(FFFFFFFFFFFFFFFF); /* 2^64-1 */ - const char c[] = X(10000000000000000); /* 2^64 */ -#undef X - test_content_length_overflow(a, sizeof(a) - 1, 1); /* expect ok */ - test_content_length_overflow(b, sizeof(b) - 1, 0); /* expect failure */ - test_content_length_overflow(c, sizeof(c) - 1, 0); /* expect failure */ -} - -void -test_no_overflow_long_body (int req, size_t length) -{ - http_parser parser; - http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE); - size_t parsed; - size_t i; - char buf1[3000]; - size_t buf1len = sprintf(buf1, "%s\r\nConnection: Keep-Alive\r\nContent-Length: %lu\r\n\r\n", - req ? "POST / HTTP/1.0" : "HTTP/1.0 200 OK", (unsigned long)length); - parsed = http_parser_execute(&parser, &settings_null, buf1, buf1len); - if (parsed != buf1len) - goto err; - - for (i = 0; i < length; i++) { - char foo = 'a'; - parsed = http_parser_execute(&parser, &settings_null, &foo, 1); - if (parsed != 1) - goto err; - } - - parsed = http_parser_execute(&parser, &settings_null, buf1, buf1len); - if (parsed != buf1len) goto err; - return; - - err: - fprintf(stderr, - "\n*** error in test_no_overflow_long_body %s of length %lu ***\n", - req ? "REQUEST" : "RESPONSE", - (unsigned long)length); - abort(); -} - -void -test_multiple3 (const struct message *r1, const struct message *r2, const struct message *r3) -{ - int message_count = count_parsed_messages(3, r1, r2, r3); - - char total[ strlen(r1->raw) - + strlen(r2->raw) - + strlen(r3->raw) - + 1 - ]; - total[0] = '\0'; - - strcat(total, r1->raw); - strcat(total, r2->raw); - strcat(total, r3->raw); - - parser_init(r1->type); - - size_t read; - - read = parse(total, strlen(total)); - - if (parser->upgrade) { - upgrade_message_fix(total, read, 3, r1, r2, r3); - goto test; - } - - if (read != strlen(total)) { - print_error(total, read); - abort(); - } - - read = parse(NULL, 0); - - if (read != 0) { - print_error(total, read); - abort(); - } - -test: - - if (message_count != num_messages) { - fprintf(stderr, "\n\n*** Parser didn't see 3 messages only %d *** \n", num_messages); - abort(); - } - - if (!message_eq(0, 0, r1)) abort(); - if (message_count > 1 && !message_eq(1, 0, r2)) abort(); - if (message_count > 2 && !message_eq(2, 0, r3)) abort(); - - parser_free(); -} - -/* SCAN through every possible breaking to make sure the - * parser can handle getting the content in any chunks that - * might come from the socket - */ -void -test_scan (const struct message *r1, const struct message *r2, const struct message *r3) -{ - char total[80*1024] = "\0"; - char buf1[80*1024] = "\0"; - char buf2[80*1024] = "\0"; - char buf3[80*1024] = "\0"; - - strcat(total, r1->raw); - strcat(total, r2->raw); - strcat(total, r3->raw); - - size_t read; - - int total_len = strlen(total); - - int total_ops = 2 * (total_len - 1) * (total_len - 2) / 2; - int ops = 0 ; - - size_t buf1_len, buf2_len, buf3_len; - int message_count = count_parsed_messages(3, r1, r2, r3); - - int i,j,type_both; - for (type_both = 0; type_both < 2; type_both ++ ) { - for (j = 2; j < total_len; j ++ ) { - for (i = 1; i < j; i ++ ) { - - if (ops % 1000 == 0) { - printf("\b\b\b\b%3.0f%%", 100 * (float)ops /(float)total_ops); - fflush(stdout); - } - ops += 1; - - parser_init(type_both ? HTTP_BOTH : r1->type); - - buf1_len = i; - strlncpy(buf1, sizeof(buf1), total, buf1_len); - buf1[buf1_len] = 0; - - buf2_len = j - i; - strlncpy(buf2, sizeof(buf1), total+i, buf2_len); - buf2[buf2_len] = 0; - - buf3_len = total_len - j; - strlncpy(buf3, sizeof(buf1), total+j, buf3_len); - buf3[buf3_len] = 0; - - read = parse(buf1, buf1_len); - - if (parser->upgrade) goto test; - - if (read != buf1_len) { - print_error(buf1, read); - goto error; - } - - read += parse(buf2, buf2_len); - - if (parser->upgrade) goto test; - - if (read != buf1_len + buf2_len) { - print_error(buf2, read); - goto error; - } - - read += parse(buf3, buf3_len); - - if (parser->upgrade) goto test; - - if (read != buf1_len + buf2_len + buf3_len) { - print_error(buf3, read); - goto error; - } - - parse(NULL, 0); - -test: - if (parser->upgrade) { - upgrade_message_fix(total, read, 3, r1, r2, r3); - } - - if (message_count != num_messages) { - fprintf(stderr, "\n\nParser didn't see %d messages only %d\n", - message_count, num_messages); - goto error; - } - - if (!message_eq(0, 0, r1)) { - fprintf(stderr, "\n\nError matching messages[0] in test_scan.\n"); - goto error; - } - - if (message_count > 1 && !message_eq(1, 0, r2)) { - fprintf(stderr, "\n\nError matching messages[1] in test_scan.\n"); - goto error; - } - - if (message_count > 2 && !message_eq(2, 0, r3)) { - fprintf(stderr, "\n\nError matching messages[2] in test_scan.\n"); - goto error; - } - - parser_free(); - } - } - } - puts("\b\b\b\b100%"); - return; - - error: - fprintf(stderr, "i=%d j=%d\n", i, j); - fprintf(stderr, "buf1 (%u) %s\n\n", (unsigned int)buf1_len, buf1); - fprintf(stderr, "buf2 (%u) %s\n\n", (unsigned int)buf2_len , buf2); - fprintf(stderr, "buf3 (%u) %s\n", (unsigned int)buf3_len, buf3); - abort(); -} - -// user required to free the result -// string terminated by \0 -char * -create_large_chunked_message (int body_size_in_kb, const char* headers) -{ - int i; - size_t wrote = 0; - size_t headers_len = strlen(headers); - size_t bufsize = headers_len + (5+1024+2)*body_size_in_kb + 6; - char * buf = malloc(bufsize); - - memcpy(buf, headers, headers_len); - wrote += headers_len; - - for (i = 0; i < body_size_in_kb; i++) { - // write 1kb chunk into the body. - memcpy(buf + wrote, "400\r\n", 5); - wrote += 5; - memset(buf + wrote, 'C', 1024); - wrote += 1024; - strcpy(buf + wrote, "\r\n"); - wrote += 2; - } - - memcpy(buf + wrote, "0\r\n\r\n", 6); - wrote += 6; - assert(wrote == bufsize); - - return buf; -} - -/* Verify that we can pause parsing at any of the bytes in the - * message and still get the result that we're expecting. */ -void -test_message_pause (const struct message *msg) -{ - char *buf = (char*) msg->raw; - size_t buflen = strlen(msg->raw); - size_t nread; - - parser_init(msg->type); - - do { - nread = parse_pause(buf, buflen); - - // We can only set the upgrade buffer once we've gotten our message - // completion callback. - if (messages[0].message_complete_cb_called && - msg->upgrade && - parser->upgrade) { - messages[0].upgrade = buf + nread; - goto test; - } - - if (nread < buflen) { - - // Not much do to if we failed a strict-mode check - if (HTTP_PARSER_ERRNO(parser) == HPE_STRICT) { - parser_free(); - return; - } - - assert (HTTP_PARSER_ERRNO(parser) == HPE_PAUSED); - } - - buf += nread; - buflen -= nread; - http_parser_pause(parser, 0); - } while (buflen > 0); - - nread = parse_pause(NULL, 0); - assert (nread == 0); - -test: - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", msg->name); - abort(); - } - - if(!message_eq(0, 0, msg)) abort(); - - parser_free(); -} - -/* Verify that body and next message won't be parsed in responses to CONNECT */ -void -test_message_connect (const struct message *msg) -{ - char *buf = (char*) msg->raw; - size_t buflen = strlen(msg->raw); - - parser_init(msg->type); - - parse_connect(buf, buflen); - - if (num_messages != 1) { - printf("\n*** num_messages != 1 after testing '%s' ***\n\n", msg->name); - abort(); - } - - if(!message_eq(0, 1, msg)) abort(); - - parser_free(); -} - -int -main (void) -{ - parser = NULL; - unsigned i, j, k; - unsigned long version; - unsigned major; - unsigned minor; - unsigned patch; - - version = http_parser_version(); - major = (version >> 16) & 255; - minor = (version >> 8) & 255; - patch = version & 255; - printf("http_parser v%u.%u.%u (0x%06lx)\n", major, minor, patch, version); - - printf("sizeof(http_parser) = %u\n", (unsigned int)sizeof(http_parser)); - - //// API - test_preserve_data(); - test_parse_url(); - test_method_str(); - - //// NREAD - test_header_nread_value(); - - //// OVERFLOW CONDITIONS - test_no_overflow_parse_url(); - - test_header_overflow_error(HTTP_REQUEST); - test_no_overflow_long_body(HTTP_REQUEST, 1000); - test_no_overflow_long_body(HTTP_REQUEST, 100000); - - test_header_overflow_error(HTTP_RESPONSE); - test_no_overflow_long_body(HTTP_RESPONSE, 1000); - test_no_overflow_long_body(HTTP_RESPONSE, 100000); - - test_header_content_length_overflow_error(); - test_chunk_content_length_overflow_error(); - - //// HEADER FIELD CONDITIONS - test_double_content_length_error(HTTP_REQUEST); - test_chunked_content_length_error(HTTP_REQUEST); - test_header_cr_no_lf_error(HTTP_REQUEST); - test_invalid_header_field_token_error(HTTP_REQUEST); - test_invalid_header_field_content_error(HTTP_REQUEST); - test_double_content_length_error(HTTP_RESPONSE); - test_chunked_content_length_error(HTTP_RESPONSE); - test_header_cr_no_lf_error(HTTP_RESPONSE); - test_invalid_header_field_token_error(HTTP_RESPONSE); - test_invalid_header_field_content_error(HTTP_RESPONSE); - - test_simple_type( - "POST / HTTP/1.1\r\n" - "Content-Length: 42 \r\n" // Note the surrounding whitespace. - "\r\n", - HPE_OK, - HTTP_REQUEST); - - test_simple_type( - "POST / HTTP/1.1\r\n" - "Content-Length: 4 2\r\n" - "\r\n", - HPE_INVALID_CONTENT_LENGTH, - HTTP_REQUEST); - - test_simple_type( - "POST / HTTP/1.1\r\n" - "Content-Length: 13 37\r\n" - "\r\n", - HPE_INVALID_CONTENT_LENGTH, - HTTP_REQUEST); - - //// RESPONSES - - test_simple_type("HTP/1.1 200 OK\r\n\r\n", HPE_INVALID_VERSION, HTTP_RESPONSE); - test_simple_type("HTTP/01.1 200 OK\r\n\r\n", HPE_INVALID_VERSION, HTTP_RESPONSE); - test_simple_type("HTTP/11.1 200 OK\r\n\r\n", HPE_INVALID_VERSION, HTTP_RESPONSE); - test_simple_type("HTTP/1.01 200 OK\r\n\r\n", HPE_INVALID_VERSION, HTTP_RESPONSE); - test_simple_type("HTTP/1.1\t200 OK\r\n\r\n", HPE_INVALID_VERSION, HTTP_RESPONSE); - - for (i = 0; i < ARRAY_SIZE(responses); i++) { - test_message(&responses[i]); - } - - for (i = 0; i < ARRAY_SIZE(responses); i++) { - test_message_pause(&responses[i]); - } - - for (i = 0; i < ARRAY_SIZE(responses); i++) { - test_message_connect(&responses[i]); - } - - for (i = 0; i < ARRAY_SIZE(responses); i++) { - if (!responses[i].should_keep_alive) continue; - for (j = 0; j < ARRAY_SIZE(responses); j++) { - if (!responses[j].should_keep_alive) continue; - for (k = 0; k < ARRAY_SIZE(responses); k++) { - test_multiple3(&responses[i], &responses[j], &responses[k]); - } - } - } - - test_message_count_body(&responses[NO_HEADERS_NO_BODY_404]); - test_message_count_body(&responses[TRAILING_SPACE_ON_CHUNKED_BODY]); - - // test very large chunked response - { - char * msg = create_large_chunked_message(31337, - "HTTP/1.0 200 OK\r\n" - "Transfer-Encoding: chunked\r\n" - "Content-Type: text/plain\r\n" - "\r\n"); - struct message large_chunked = - {.name= "large chunked" - ,.type= HTTP_RESPONSE - ,.raw= msg - ,.should_keep_alive= FALSE - ,.message_complete_on_eof= FALSE - ,.http_major= 1 - ,.http_minor= 0 - ,.status_code= 200 - ,.response_status= "OK" - ,.num_headers= 2 - ,.headers= - { { "Transfer-Encoding", "chunked" } - , { "Content-Type", "text/plain" } - } - ,.body_size= 31337*1024 - ,.num_chunks_complete= 31338 - }; - for (i = 0; i < MAX_CHUNKS; i++) { - large_chunked.chunk_lengths[i] = 1024; - } - test_message_count_body(&large_chunked); - free(msg); - } - - - - printf("response scan 1/2 "); - test_scan( &responses[TRAILING_SPACE_ON_CHUNKED_BODY] - , &responses[NO_BODY_HTTP10_KA_204] - , &responses[NO_REASON_PHRASE] - ); - - printf("response scan 2/2 "); - test_scan( &responses[BONJOUR_MADAME_FR] - , &responses[UNDERSTORE_HEADER_KEY] - , &responses[NO_CARRIAGE_RET] - ); - - puts("responses okay"); - - - /// REQUESTS - - test_simple("GET / HTP/1.1\r\n\r\n", HPE_INVALID_VERSION); - test_simple("GET / HTTP/01.1\r\n\r\n", HPE_INVALID_VERSION); - test_simple("GET / HTTP/11.1\r\n\r\n", HPE_INVALID_VERSION); - test_simple("GET / HTTP/1.01\r\n\r\n", HPE_INVALID_VERSION); - - // Extended characters - see nodejs/test/parallel/test-http-headers-obstext.js - test_simple("GET / HTTP/1.1\r\n" - "Test: Düsseldorf\r\n", - HPE_OK); - - // Well-formed but incomplete - test_simple("GET / HTTP/1.1\r\n" - "Content-Type: text/plain\r\n" - "Content-Length: 6\r\n" - "\r\n" - "fooba", - HPE_OK); - - static const char *all_methods[] = { - "DELETE", - "GET", - "HEAD", - "POST", - "PUT", - //"CONNECT", //CONNECT can't be tested like other methods, it's a tunnel - "OPTIONS", - "TRACE", - "COPY", - "LOCK", - "MKCOL", - "MOVE", - "PROPFIND", - "PROPPATCH", - "SEARCH", - "UNLOCK", - "BIND", - "REBIND", - "UNBIND", - "ACL", - "REPORT", - "MKACTIVITY", - "CHECKOUT", - "MERGE", - "M-SEARCH", - "NOTIFY", - "SUBSCRIBE", - "UNSUBSCRIBE", - "PATCH", - "PURGE", - "MKCALENDAR", - "LINK", - "UNLINK", - 0 }; - const char **this_method; - for (this_method = all_methods; *this_method; this_method++) { - char buf[200]; - sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method); - test_simple(buf, HPE_OK); - } - - static const char *bad_methods[] = { - "ASDF", - "C******", - "COLA", - "GEM", - "GETA", - "M****", - "MKCOLA", - "PROPPATCHA", - "PUN", - "PX", - "SA", - "hello world", - 0 }; - for (this_method = bad_methods; *this_method; this_method++) { - char buf[200]; - sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method); - test_simple(buf, HPE_INVALID_METHOD); - } - - // illegal header field name line folding - test_simple("GET / HTTP/1.1\r\n" - "name\r\n" - " : value\r\n" - "\r\n", - HPE_INVALID_HEADER_TOKEN); - - const char *dumbfuck2 = - "GET / HTTP/1.1\r\n" - "X-SSL-Bullshit: -----BEGIN CERTIFICATE-----\r\n" - "\tMIIFbTCCBFWgAwIBAgICH4cwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UEBhMCVUsx\r\n" - "\tETAPBgNVBAoTCGVTY2llbmNlMRIwEAYDVQQLEwlBdXRob3JpdHkxCzAJBgNVBAMT\r\n" - "\tAkNBMS0wKwYJKoZIhvcNAQkBFh5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMu\r\n" - "\tdWswHhcNMDYwNzI3MTQxMzI4WhcNMDcwNzI3MTQxMzI4WjBbMQswCQYDVQQGEwJV\r\n" - "\tSzERMA8GA1UEChMIZVNjaWVuY2UxEzARBgNVBAsTCk1hbmNoZXN0ZXIxCzAJBgNV\r\n" - "\tBAcTmrsogriqMWLAk1DMRcwFQYDVQQDEw5taWNoYWVsIHBhcmQYJKoZIhvcNAQEB\r\n" - "\tBQADggEPADCCAQoCggEBANPEQBgl1IaKdSS1TbhF3hEXSl72G9J+WC/1R64fAcEF\r\n" - "\tW51rEyFYiIeZGx/BVzwXbeBoNUK41OK65sxGuflMo5gLflbwJtHBRIEKAfVVp3YR\r\n" - "\tgW7cMA/s/XKgL1GEC7rQw8lIZT8RApukCGqOVHSi/F1SiFlPDxuDfmdiNzL31+sL\r\n" - "\t0iwHDdNkGjy5pyBSB8Y79dsSJtCW/iaLB0/n8Sj7HgvvZJ7x0fr+RQjYOUUfrePP\r\n" - "\tu2MSpFyf+9BbC/aXgaZuiCvSR+8Snv3xApQY+fULK/xY8h8Ua51iXoQ5jrgu2SqR\r\n" - "\twgA7BUi3G8LFzMBl8FRCDYGUDy7M6QaHXx1ZWIPWNKsCAwEAAaOCAiQwggIgMAwG\r\n" - "\tA1UdEwEB/wQCMAAwEQYJYIZIAYb4QgHTTPAQDAgWgMA4GA1UdDwEB/wQEAwID6DAs\r\n" - "\tBglghkgBhvhCAQ0EHxYdVUsgZS1TY2llbmNlIFVzZXIgQ2VydGlmaWNhdGUwHQYD\r\n" - "\tVR0OBBYEFDTt/sf9PeMaZDHkUIldrDYMNTBZMIGaBgNVHSMEgZIwgY+AFAI4qxGj\r\n" - "\tloCLDdMVKwiljjDastqooXSkcjBwMQswCQYDVQQGEwJVSzERMA8GA1UEChMIZVNj\r\n" - "\taWVuY2UxEjAQBgNVBAsTCUF1dGhvcml0eTELMAkGA1UEAxMCQ0ExLTArBgkqhkiG\r\n" - "\t9w0BCQEWHmNhLW9wZXJhdG9yQGdyaWQtc3VwcG9ydC5hYy51a4IBADApBgNVHRIE\r\n" - "\tIjAggR5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMudWswGQYDVR0gBBIwEDAO\r\n" - "\tBgwrBgEEAdkvAQEBAQYwPQYJYIZIAYb4QgEEBDAWLmh0dHA6Ly9jYS5ncmlkLXN1\r\n" - "\tcHBvcnQuYWMudmT4sopwqlBWsvcHViL2NybC9jYWNybC5jcmwwPQYJYIZIAYb4QgEDBDAWLmh0\r\n" - "\tdHA6Ly9jYS5ncmlkLXN1cHBvcnQuYWMudWsvcHViL2NybC9jYWNybC5jcmwwPwYD\r\n" - "\tVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NhLmdyaWQt5hYy51ay9wdWIv\r\n" - "\tY3JsL2NhY3JsLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAS/U4iiooBENGW/Hwmmd3\r\n" - "\tXCy6Zrt08YjKCzGNjorT98g8uGsqYjSxv/hmi0qlnlHs+k/3Iobc3LjS5AMYr5L8\r\n" - "\tUO7OSkgFFlLHQyC9JzPfmLCAugvzEbyv4Olnsr8hbxF1MbKZoQxUZtMVu29wjfXk\r\n" - "\thTeApBv7eaKCWpSp7MCbvgzm74izKhu3vlDk9w6qVrxePfGgpKPqfHiOoGhFnbTK\r\n" - "\twTC6o2xq5y0qZ03JonF7OJspEd3I5zKY3E+ov7/ZhW6DqT8UFvsAdjvQbXyhV8Eu\r\n" - "\tYhixw1aKEPzNjNowuIseVogKOLXxWI5vAi5HgXdS0/ES5gDGsABo4fqovUKlgop3\r\n" - "\tRA==\r\n" - "\t-----END CERTIFICATE-----\r\n" - "\r\n"; - test_simple(dumbfuck2, HPE_OK); - - const char *corrupted_connection = - "GET / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "Connection\r\033\065\325eep-Alive\r\n" - "Accept-Encoding: gzip\r\n" - "\r\n"; - test_simple(corrupted_connection, HPE_INVALID_HEADER_TOKEN); - - const char *corrupted_header_name = - "GET / HTTP/1.1\r\n" - "Host: www.example.com\r\n" - "X-Some-Header\r\033\065\325eep-Alive\r\n" - "Accept-Encoding: gzip\r\n" - "\r\n"; - test_simple(corrupted_header_name, HPE_INVALID_HEADER_TOKEN); - -#if 0 - // NOTE(Wed Nov 18 11:57:27 CET 2009) this seems okay. we just read body - // until EOF. - // - // no content-length - // error if there is a body without content length - const char *bad_get_no_headers_no_body = "GET /bad_get_no_headers_no_body/world HTTP/1.1\r\n" - "Accept: */*\r\n" - "\r\n" - "HELLO"; - test_simple(bad_get_no_headers_no_body, 0); -#endif - /* TODO sending junk and large headers gets rejected */ - - - /* check to make sure our predefined requests are okay */ - for (i = 0; i < ARRAY_SIZE(requests); i++) { - test_message(&requests[i]); - } - - for (i = 0; i < ARRAY_SIZE(requests); i++) { - test_message_pause(&requests[i]); - } - - for (i = 0; i < ARRAY_SIZE(requests); i++) { - if (!requests[i].should_keep_alive) continue; - for (j = 0; j < ARRAY_SIZE(requests); j++) { - if (!requests[j].should_keep_alive) continue; - for (k = 0; k < ARRAY_SIZE(requests); k++) { - test_multiple3(&requests[i], &requests[j], &requests[k]); - } - } - } - - printf("request scan 1/4 "); - test_scan( &requests[GET_NO_HEADERS_NO_BODY] - , &requests[GET_ONE_HEADER_NO_BODY] - , &requests[GET_NO_HEADERS_NO_BODY] - ); - - printf("request scan 2/4 "); - test_scan( &requests[POST_CHUNKED_ALL_YOUR_BASE] - , &requests[POST_IDENTITY_BODY_WORLD] - , &requests[GET_FUNKY_CONTENT_LENGTH] - ); - - printf("request scan 3/4 "); - test_scan( &requests[TWO_CHUNKS_MULT_ZERO_END] - , &requests[CHUNKED_W_TRAILING_HEADERS] - , &requests[CHUNKED_W_BULLSHIT_AFTER_LENGTH] - ); - - printf("request scan 4/4 "); - test_scan( &requests[QUERY_URL_WITH_QUESTION_MARK_GET] - , &requests[PREFIX_NEWLINE_GET ] - , &requests[CONNECT_REQUEST] - ); - - puts("requests okay"); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/http_parser.rb.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/http_parser.rb.gemspec deleted file mode 100644 index 56ad49c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/http_parser.rb.gemspec +++ /dev/null @@ -1,32 +0,0 @@ -Gem::Specification.new do |s| - s.name = "http_parser.rb" - s.version = "0.8.0" - s.summary = "Simple callback-based HTTP request/response parser" - s.description = "Ruby bindings to https://github.com/joyent/http-parser and https://github.com/http-parser/http-parser.java" - - s.authors = ["Marc-Andre Cournoyer", "Aman Gupta"] - s.email = ["macournoyer@gmail.com", "aman@tmm1.net"] - s.license = 'MIT' - - s.homepage = "https://github.com/tmm1/http_parser.rb" - s.files = `git ls-files`.split("\n") + Dir['ext/ruby_http_parser/vendor/**/*'] - - s.require_paths = ["lib"] - s.extensions = ["ext/ruby_http_parser/extconf.rb"] - - s.add_development_dependency 'rake-compiler', '~> 1.0' - s.add_development_dependency 'rspec', '~> 3' - s.add_development_dependency 'json', '~> 2.1' - s.add_development_dependency 'benchmark_suite', '~> 1.0' - s.add_development_dependency 'ffi', '~> 1.9' - - if RUBY_PLATFORM =~ /java/ - s.add_development_dependency 'jruby-openssl' - else - if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.4.0') - s.add_development_dependency 'yajl-ruby', '~> 1.3' - else - s.add_development_dependency 'yajl-ruby', '= 1.2.1' - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/parser_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/parser_spec.rb deleted file mode 100644 index 9277c0f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/parser_spec.rb +++ /dev/null @@ -1,428 +0,0 @@ -if defined?(Encoding) - Encoding.default_external = "UTF-8" -end -require "spec_helper" -require "json" - -describe HTTP::Parser do - before do - @parser = HTTP::Parser.new - - @headers = nil - @body = "" - @started = false - @done = false - - @parser.on_message_begin = proc{ @started = true } - @parser.on_headers_complete = proc { |e| @headers = e } - @parser.on_body = proc { |chunk| @body << chunk } - @parser.on_message_complete = proc{ @done = true } - end - - it "should have initial state" do - expect(@parser.headers).to be_nil - - expect(@parser.http_version).to be_nil - expect(@parser.http_method).to be_nil - expect(@parser.status_code).to be_nil - - expect(@parser.request_url).to be_nil - - expect(@parser.header_value_type).to eq(:mixed) - end - - it "should be able to run in non-main ractors" do - skip unless Kernel.const_defined?(:Ractor) - default_header_value_type = HTTP::Parser.default_header_value_type - r = Ractor.new(default_header_value_type) { |type| - parser = HTTP::Parser.new(default_header_value_type: type) - done = false - parser.on_message_complete = proc { - done = true - } - parser << - "GET /ractor HTTP/1.1\r\n" + - "Content-Length: 5\r\n" + - "\r\n" + - "World" - done - } - expect(r.take).to be true - end - - it "should allow us to set the header value type" do - [:mixed, :arrays, :strings].each do |type| - @parser.header_value_type = type - expect(@parser.header_value_type).to eq(type) - - parser_tmp = HTTP::Parser.new(nil, type) - expect(parser_tmp.header_value_type).to eq(type) - - parser_tmp2 = HTTP::Parser.new(default_header_value_type: type) - expect(parser_tmp2.header_value_type).to eq(type) - end - end - - it "should allow us to set the default header value type" do - [:mixed, :arrays, :strings].each do |type| - HTTP::Parser.default_header_value_type = type - - parser = HTTP::Parser.new - expect(parser.header_value_type).to eq(type) - end - end - - it "should throw an Argument Error if header value type is invalid" do - expect{ @parser.header_value_type = 'bob' }.to raise_error(ArgumentError) - end - - it "should throw an Argument Error if default header value type is invalid" do - expect{ HTTP::Parser.default_header_value_type = 'bob' }.to raise_error(ArgumentError) - end - - it "should implement basic api" do - @parser << - "GET /test?ok=1 HTTP/1.1\r\n" + - "User-Agent: curl/7.18.0\r\n" + - "Host: 0.0.0.0:5000\r\n" + - "Accept: */*\r\n" + - "Content-Length: 5\r\n" + - "\r\n" + - "World" - - expect(@started).to be true - expect(@done).to be true - - expect(@parser.http_major).to eq(1) - expect(@parser.http_minor).to eq(1) - expect(@parser.http_version).to eq([1,1]) - expect(@parser.http_method).to eq('GET') - expect(@parser.status_code).to be_nil - - expect(@parser.request_url).to eq('/test?ok=1') - - expect(@parser.headers).to eq(@headers) - expect(@parser.headers['User-Agent']).to eq('curl/7.18.0') - expect(@parser.headers['Host']).to eq('0.0.0.0:5000') - - expect(@body).to eq("World") - end - - it "should raise errors on invalid data" do - expect{ @parser << "BLAH" }.to raise_error(HTTP::Parser::Error) - end - - it "should abort parser via header complete callback with a body" do - @parser.on_headers_complete = proc { |e| @headers = e; :stop } - - data = - "GET / HTTP/1.0\r\n" + - "Content-Length: 5\r\n" + - "\r\n" + - "World" - - bytes = @parser << data - - expect(bytes).to eq(37) - expect(data[bytes..-1]).to eq('World') - - expect(@headers).to eq({'Content-Length' => '5'}) - expect(@body).to be_empty - expect(@done).to be false - end - - it "should abort parser via header complete callback without a body" do - @parser.on_headers_complete = proc { |e| @headers = e; :stop } - - data = - "GET / HTTP/1.0\r\n" + - "Content-Length: 0\r\n" + - "\r\n" - - bytes = @parser << data - - expect(bytes).to eq(37) - expect(data[bytes..-1]).to eq('') - - expect(@headers).to eq({'Content-Length' => '0'}) - expect(@body).to be_empty - expect(@done).to be false - end - - it "should abort parser via message complete callback with a body" do - @parser.on_message_complete = proc { :stop } - - data = - "CONNECT www.example.com:443 HTTP/1.0\r\n" + - "Connection: keep-alive\r\n" + - "\r\n" + - "World" - - bytes = @parser << data - - expect(bytes).to eq(64) - expect(data[bytes..-1]).to eq('World') - - expect(@headers).to eq({'Connection' => 'keep-alive'}) - expect(@parser.upgrade_data).to eq('World') - expect(@body).to be_empty - expect(@done).to be false - end - - it "should abort parser via message complete callback without a body" do - @parser.on_message_complete = proc { :stop } - - data = - "CONNECT www.example.com:443 HTTP/1.0\r\n" + - "Connection: keep-alive\r\n" + - "\r\n" - - bytes = @parser << data - - expect(bytes).to eq(64) - expect(data[bytes..-1]).to eq('') - - expect(@headers).to eq({'Connection' => 'keep-alive'}) - expect(@parser.upgrade_data).to eq('') - expect(@body).to be_empty - expect(@done).to be false - end - - it "should reset to initial state" do - @parser << "GET / HTTP/1.0\r\n\r\n" - - expect(@parser.http_method).to eq('GET') - expect(@parser.http_version).to eq([1,0]) - - expect(@parser.request_url).to eq('/') - - expect(@parser.reset!).to be true - - expect(@parser.http_version).to be_nil - expect(@parser.http_method).to be_nil - expect(@parser.status_code).to be_nil - - expect(@parser.request_url).to be_nil - end - - it "should optionally reset parser state on no-body responses" do - expect(@parser.reset!).to be true - - @head, @complete = 0, 0 - @parser.on_headers_complete = proc {|h| @head += 1; :reset } - @parser.on_message_complete = proc { @complete += 1 } - @parser.on_body = proc {|b| fail } - - head_response = "HTTP/1.1 200 OK\r\nContent-Length:10\r\n\r\n" - - @parser << head_response - expect(@head).to eq(1) - expect(@complete).to eq(1) - - @parser << head_response - expect(@head).to eq(2) - expect(@complete).to eq(2) - end - - it "should retain callbacks after reset" do - expect(@parser.reset!).to be true - - @parser << "GET / HTTP/1.0\r\n\r\n" - expect(@started).to be true - expect(@headers).to eq({}) - expect(@done).to be true - end - - it "should parse headers incrementally" do - request = - "GET / HTTP/1.0\r\n" + - "Header1: value 1\r\n" + - "Header2: value 2\r\n" + - "\r\n" - - while chunk = request.slice!(0,2) and !chunk.empty? - @parser << chunk - end - - expect(@parser.headers).to eq({ - 'Header1' => 'value 1', - 'Header2' => 'value 2' - }) - end - - it "should handle multiple headers using strings" do - @parser.header_value_type = :strings - - @parser << - "GET / HTTP/1.0\r\n" + - "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" + - "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" + - "\r\n" - - expect(@parser.headers["Set-Cookie"]).to eq("PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com, NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly") - end - - it "should handle multiple headers using strings" do - @parser.header_value_type = :arrays - - @parser << - "GET / HTTP/1.0\r\n" + - "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" + - "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" + - "\r\n" - - expect(@parser.headers["Set-Cookie"]).to eq([ - "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com", - "NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly" - ]) - end - - it "should handle multiple headers using mixed" do - @parser.header_value_type = :mixed - - @parser << - "GET / HTTP/1.0\r\n" + - "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" + - "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" + - "\r\n" - - expect(@parser.headers["Set-Cookie"]).to eq([ - "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com", - "NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly" - ]) - end - - it "should handle a single cookie using mixed" do - @parser.header_value_type = :mixed - - @parser << - "GET / HTTP/1.0\r\n" + - "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" + - "\r\n" - - expect(@parser.headers["Set-Cookie"]).to eq("PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com") - end - - it "should support alternative api" do - callbacks = double('callbacks') - allow(callbacks).to receive(:on_message_begin){ @started = true } - allow(callbacks).to receive(:on_headers_complete){ |e| @headers = e } - allow(callbacks).to receive(:on_body){ |chunk| @body << chunk } - allow(callbacks).to receive(:on_message_complete){ @done = true } - - @parser = HTTP::Parser.new(callbacks) - @parser << "GET / HTTP/1.0\r\n\r\n" - - expect(@started).to be true - expect(@headers).to eq({}) - expect(@body).to eq('') - expect(@done).to be true - end - - it "should ignore extra content beyond specified length" do - @parser << - "GET / HTTP/1.0\r\n" + - "Content-Length: 5\r\n" + - "\r\n" + - "hello" + - " \n" - - expect(@body).to eq('hello') - expect(@done).to be true - end - - it 'sets upgrade_data if available' do - @parser << - "GET /demo HTTP/1.1\r\n" + - "Connection: Upgrade\r\n" + - "Upgrade: WebSocket\r\n\r\n" + - "third key data" - - expect(@parser.upgrade?).to be true - expect(@parser.upgrade_data).to eq('third key data') - end - - it 'sets upgrade_data to blank if un-available' do - @parser << - "GET /demo HTTP/1.1\r\n" + - "Connection: Upgrade\r\n" + - "Upgrade: WebSocket\r\n\r\n" - - expect(@parser.upgrade?).to be true - expect(@parser.upgrade_data).to eq('') - end - - it 'should stop parsing headers when instructed' do - request = "GET /websocket HTTP/1.1\r\n" + - "host: localhost\r\n" + - "connection: Upgrade\r\n" + - "upgrade: websocket\r\n" + - "sec-websocket-key: SD6/hpYbKjQ6Sown7pBbWQ==\r\n" + - "sec-websocket-version: 13\r\n" + - "\r\n" - - @parser.on_headers_complete = proc { |e| :stop } - offset = (@parser << request) - expect(@parser.upgrade?).to be true - expect(@parser.upgrade_data).to eq('') - expect(offset).to eq(request.length) - end - - it "should execute on_body on requests with no content-length" do - expect(@parser.reset!).to be true - - @head, @complete, @body = 0, 0, 0 - @parser.on_headers_complete = proc {|h| @head += 1 } - @parser.on_message_complete = proc { @complete += 1 } - @parser.on_body = proc {|b| @body += 1 } - - head_response = "HTTP/1.1 200 OK\r\n\r\nstuff" - - @parser << head_response - @parser << '' - expect(@head).to eq(1) - expect(@complete).to eq(1) - expect(@body).to eq(1) - end - - - %w[ request response ].each do |type| - JSON.parse(File.read(File.expand_path("../support/#{type}s.json", __FILE__))).each do |test| - test['headers'] ||= {} - next if !defined?(JRUBY_VERSION) and HTTP::Parser.strict? != test['strict'] - - it "should parse #{type}: #{test['name']}" do - @parser << test['raw'] - - expect(@parser.http_method).to eq(test['method']) - expect(@parser.keep_alive?).to eq(test['should_keep_alive']) - - if test.has_key?('upgrade') and test['upgrade'] != 0 - expect(@parser.upgrade?).to be true - expect(@parser.upgrade_data).to eq(test['upgrade']) - end - - expect(@parser.send("http_major")).to eq(test["http_major"]) - expect(@parser.send("http_minor")).to eq(test["http_minor"]) - - if test['type'] == 'HTTP_REQUEST' - if defined?(JRUBY_VERSION) - expect(@parser.send("request_url")).to eq(test["request_url"]) - else - # It's created by rb_str_new(), so that encoding is Encoding::ASCII_8BIT a.k.a Encoding::BINARY - expect(@parser.send("request_url")).to eq(test["request_url"].force_encoding(Encoding::ASCII_8BIT)) - end - else - expect(@parser.send("status_code")).to eq(test["status_code"]) - expect(@parser.send("status")).to eq(test["status"].force_encoding(Encoding::ASCII_8BIT)) if !defined?(JRUBY_VERSION) - end - - expect(@headers.size).to eq(test['num_headers']) - expect(@headers).to eq(test['headers']) - - expect(@body).to eq(test['body']) - expect(@body.size).to eq(test['body_size']) if test['body_size'] - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/spec_helper.rb deleted file mode 100644 index a4295f9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/spec_helper.rb +++ /dev/null @@ -1 +0,0 @@ -require "http_parser" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/support/requests.json b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/support/requests.json deleted file mode 100644 index 4fefb01..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/support/requests.json +++ /dev/null @@ -1,612 +0,0 @@ -[ - { - "name": "curl get", - "type": "HTTP_REQUEST", - "raw": "GET /test HTTP/1.1\r\nUser-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1\r\nHost: 0.0.0.0=5000\r\nAccept: */*\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/test", - "request_url": "/test", - "num_headers": 3, - "headers": { - "User-Agent": "curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1", - "Host": "0.0.0.0=5000", - "Accept": "*/*" - }, - "body": "", - "strict": true - }, - { - "name": "firefox get", - "type": "HTTP_REQUEST", - "raw": "GET /favicon.ico HTTP/1.1\r\nHost: 0.0.0.0=5000\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/favicon.ico", - "request_url": "/favicon.ico", - "num_headers": 8, - "headers": { - "Host": "0.0.0.0=5000", - "User-Agent": "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - "Accept-Language": "en-us,en;q=0.5", - "Accept-Encoding": "gzip,deflate", - "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", - "Keep-Alive": "300", - "Connection": "keep-alive" - }, - "body": "", - "strict": true - }, - { - "name": "dumbfuck", - "type": "HTTP_REQUEST", - "raw": "GET /dumbfuck HTTP/1.1\r\naaaaaaaaaaaaa:++++++++++\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/dumbfuck", - "request_url": "/dumbfuck", - "num_headers": 1, - "headers": { - "aaaaaaaaaaaaa": "++++++++++" - }, - "body": "", - "strict": true - }, - { - "name": "fragment in url", - "type": "HTTP_REQUEST", - "raw": "GET /forums/1/topics/2375?page=1#posts-17408 HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "page=1", - "fragment": "posts-17408", - "request_path": "/forums/1/topics/2375", - "request_url": "/forums/1/topics/2375?page=1#posts-17408", - "num_headers": 0, - "body": "", - "strict": true - }, - { - "name": "get no headers no body", - "type": "HTTP_REQUEST", - "raw": "GET /get_no_headers_no_body/world HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/get_no_headers_no_body/world", - "request_url": "/get_no_headers_no_body/world", - "num_headers": 0, - "body": "", - "strict": true - }, - { - "name": "get one header no body", - "type": "HTTP_REQUEST", - "raw": "GET /get_one_header_no_body HTTP/1.1\r\nAccept: */*\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/get_one_header_no_body", - "request_url": "/get_one_header_no_body", - "num_headers": 1, - "headers": { - "Accept": "*/*" - }, - "body": "", - "strict": true - }, - { - "name": "get funky content length body hello", - "type": "HTTP_REQUEST", - "raw": "GET /get_funky_content_length_body_hello HTTP/1.0\r\nconTENT-Length: 5\r\n\r\nHELLO", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/get_funky_content_length_body_hello", - "request_url": "/get_funky_content_length_body_hello", - "num_headers": 1, - "headers": { - "conTENT-Length": "5" - }, - "body": "HELLO", - "strict": true - }, - { - "name": "post identity body world", - "type": "HTTP_REQUEST", - "raw": "POST /post_identity_body_world?q=search#hey HTTP/1.1\r\nAccept: */*\r\nTransfer-Encoding: identity\r\nContent-Length: 5\r\n\r\nWorld", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "POST", - "query_string": "q=search", - "fragment": "hey", - "request_path": "/post_identity_body_world", - "request_url": "/post_identity_body_world?q=search#hey", - "num_headers": 3, - "headers": { - "Accept": "*/*", - "Transfer-Encoding": "identity", - "Content-Length": "5" - }, - "body": "World", - "strict": true - }, - { - "name": "post - chunked body: all your base are belong to us", - "type": "HTTP_REQUEST", - "raw": "POST /post_chunked_all_your_base HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n1e\r\nall your base are belong to us\r\n0\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "POST", - "query_string": "", - "fragment": "", - "request_path": "/post_chunked_all_your_base", - "request_url": "/post_chunked_all_your_base", - "num_headers": 1, - "headers": { - "Transfer-Encoding": "chunked" - }, - "body": "all your base are belong to us", - "strict": true - }, - { - "name": "two chunks ; triple zero ending", - "type": "HTTP_REQUEST", - "raw": "POST /two_chunks_mult_zero_end HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5\r\nhello\r\n6\r\n world\r\n000\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "POST", - "query_string": "", - "fragment": "", - "request_path": "/two_chunks_mult_zero_end", - "request_url": "/two_chunks_mult_zero_end", - "num_headers": 1, - "headers": { - "Transfer-Encoding": "chunked" - }, - "body": "hello world", - "strict": true - }, - { - "name": "chunked with trailing headers. blech.", - "type": "HTTP_REQUEST", - "raw": "POST /chunked_w_trailing_headers HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5\r\nhello\r\n6\r\n world\r\n0\r\nVary: *\r\nContent-Type: text/plain\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "POST", - "query_string": "", - "fragment": "", - "request_path": "/chunked_w_trailing_headers", - "request_url": "/chunked_w_trailing_headers", - "num_headers": 3, - "headers": { - "Transfer-Encoding": "chunked", - "Vary": "*", - "Content-Type": "text/plain" - }, - "body": "hello world", - "strict": true - }, - { - "name": "with bullshit after the length", - "type": "HTTP_REQUEST", - "raw": "POST /chunked_w_bullshit_after_length HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5; ihatew3;whatthefuck=aretheseparametersfor\r\nhello\r\n6; blahblah; blah\r\n world\r\n0\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "POST", - "query_string": "", - "fragment": "", - "request_path": "/chunked_w_bullshit_after_length", - "request_url": "/chunked_w_bullshit_after_length", - "num_headers": 1, - "headers": { - "Transfer-Encoding": "chunked" - }, - "body": "hello world", - "strict": true - }, - { - "name": "with quotes", - "type": "HTTP_REQUEST", - "raw": "GET /with_\"stupid\"_quotes?foo=\"bar\" HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "foo=\"bar\"", - "fragment": "", - "request_path": "/with_\"stupid\"_quotes", - "request_url": "/with_\"stupid\"_quotes?foo=\"bar\"", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "apachebench get", - "type": "HTTP_REQUEST", - "raw": "GET /test HTTP/1.0\r\nHost: 0.0.0.0:5000\r\nUser-Agent: ApacheBench/2.3\r\nAccept: */*\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/test", - "request_url": "/test", - "num_headers": 3, - "headers": { - "Host": "0.0.0.0:5000", - "User-Agent": "ApacheBench/2.3", - "Accept": "*/*" - }, - "body": "", - "strict": true - }, - { - "name": "query url with question mark", - "type": "HTTP_REQUEST", - "raw": "GET /test.cgi?foo=bar?baz HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "foo=bar?baz", - "fragment": "", - "request_path": "/test.cgi", - "request_url": "/test.cgi?foo=bar?baz", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "newline prefix get", - "type": "HTTP_REQUEST", - "raw": "\r\nGET /test HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/test", - "request_url": "/test", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "upgrade request", - "type": "HTTP_REQUEST", - "raw": "GET /demo HTTP/1.1\r\nHost: example.com\r\nConnection: Upgrade\r\nSec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\nSec-WebSocket-Protocol: sample\r\nUpgrade: WebSocket\r\nSec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\nOrigin: http://example.com\r\n\r\nHot diggity dogg", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/demo", - "request_url": "/demo", - "num_headers": 7, - "upgrade": "Hot diggity dogg", - "headers": { - "Host": "example.com", - "Connection": "Upgrade", - "Sec-WebSocket-Key2": "12998 5 Y3 1 .P00", - "Sec-WebSocket-Protocol": "sample", - "Upgrade": "WebSocket", - "Sec-WebSocket-Key1": "4 @1 46546xW%0l 1 5", - "Origin": "http://example.com" - }, - "body": "", - "strict": true - }, - { - "name": "connect request", - "type": "HTTP_REQUEST", - "raw": "CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\nsome data\r\nand yet even more data", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "method": "CONNECT", - "query_string": "", - "fragment": "", - "request_path": "", - "request_url": "0-home0.netscape.com:443", - "num_headers": 2, - "upgrade": "some data\r\nand yet even more data", - "headers": { - "User-agent": "Mozilla/1.1N", - "Proxy-authorization": "basic aGVsbG86d29ybGQ=" - }, - "body": "", - "strict": true - }, - { - "name": "report request", - "type": "HTTP_REQUEST", - "raw": "REPORT /test HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "REPORT", - "query_string": "", - "fragment": "", - "request_path": "/test", - "request_url": "/test", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "request with no http version", - "type": "HTTP_REQUEST", - "raw": "GET /\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 0, - "http_minor": 9, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/", - "request_url": "/", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "m-search request", - "type": "HTTP_REQUEST", - "raw": "M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nST: \"ssdp:all\"\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "M-SEARCH", - "query_string": "", - "fragment": "", - "request_path": "*", - "request_url": "*", - "num_headers": 3, - "headers": { - "HOST": "239.255.255.250:1900", - "MAN": "\"ssdp:discover\"", - "ST": "\"ssdp:all\"" - }, - "body": "", - "strict": true - }, - { - "name": "line folding in header value", - "type": "HTTP_REQUEST", - "raw": "GET / HTTP/1.1\r\nLine1: abc\r\n\tdef\r\n ghi\r\n\t\tjkl\r\n mno \r\n\t \tqrs\r\nLine2: \t line2\t\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "/", - "request_url": "/", - "num_headers": 2, - "headers": { - "Line1": "abc\tdef ghi\t\tjkl mno \t \tqrs", - "Line2": "line2\t" - }, - "body": "", - "strict": true - }, - { - "name": "host terminated by a query string", - "type": "HTTP_REQUEST", - "raw": "GET http://hypnotoad.org?hail=all HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "hail=all", - "fragment": "", - "request_path": "", - "request_url": "http://hypnotoad.org?hail=all", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "host:port terminated by a query string", - "type": "HTTP_REQUEST", - "raw": "GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "hail=all", - "fragment": "", - "request_path": "", - "request_url": "http://hypnotoad.org:1234?hail=all", - "port": 1234, - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "host:port terminated by a space", - "type": "HTTP_REQUEST", - "raw": "GET http://hypnotoad.org:1234 HTTP/1.1\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "", - "fragment": "", - "request_path": "", - "request_url": "http://hypnotoad.org:1234", - "port": 1234, - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "PATCH request", - "type": "HTTP_REQUEST", - "raw": "PATCH /file.txt HTTP/1.1\r\nHost: www.example.com\r\nContent-Type: application/example\r\nIf-Match: \"e0023aa4e\"\r\nContent-Length: 10\r\n\r\ncccccccccc", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "PATCH", - "query_string": "", - "fragment": "", - "request_path": "/file.txt", - "request_url": "/file.txt", - "num_headers": 4, - "headers": { - "Host": "www.example.com", - "Content-Type": "application/example", - "If-Match": "\"e0023aa4e\"", - "Content-Length": "10" - }, - "body": "cccccccccc", - "strict": true - }, - { - "name": "connect caps request", - "type": "HTTP_REQUEST", - "raw": "CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "method": "CONNECT", - "query_string": "", - "fragment": "", - "request_path": "", - "request_url": "HOME0.NETSCAPE.COM:443", - "num_headers": 2, - "upgrade": "", - "headers": { - "User-agent": "Mozilla/1.1N", - "Proxy-authorization": "basic aGVsbG86d29ybGQ=" - }, - "body": "", - "strict": true - }, - { - "name": "utf-8 path request", - "type": "HTTP_REQUEST", - "strict": false, - "raw": "GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\nHost: github.com\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "method": "GET", - "query_string": "q=1", - "fragment": "narf", - "request_path": "/δ¶/δt/pope", - "request_url": "/δ¶/δt/pope?q=1#narf", - "num_headers": 1, - "headers": { - "Host": "github.com" - }, - "body": "" - }, - { - "name": "hostname underscore", - "type": "HTTP_REQUEST", - "strict": false, - "raw": "CONNECT home_0.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "method": "CONNECT", - "query_string": "", - "fragment": "", - "request_path": "", - "request_url": "home_0.netscape.com:443", - "num_headers": 2, - "upgrade": "", - "headers": { - "User-agent": "Mozilla/1.1N", - "Proxy-authorization": "basic aGVsbG86d29ybGQ=" - }, - "body": "" - } -] \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/support/responses.json b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/support/responses.json deleted file mode 100644 index a033f3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/spec/support/responses.json +++ /dev/null @@ -1,395 +0,0 @@ -[ - { - "name": "google 301", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 301 Moved Permanently\r\nLocation: http://www.google.com/\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Sun, 26 Apr 2009 11:11:49 GMT\r\nExpires: Tue, 26 May 2009 11:11:49 GMT\r\nX-$PrototypeBI-Version: 1.6.0.3\r\nCache-Control: public, max-age=2592000\r\nServer: gws\r\nContent-Length: 219 \r\n\r\n\n301 Moved\n

301 Moved

\nThe document has moved\nhere.\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 301, - "status": "Moved Permanently", - "num_headers": 8, - "headers": { - "Location": "http://www.google.com/", - "Content-Type": "text/html; charset=UTF-8", - "Date": "Sun, 26 Apr 2009 11:11:49 GMT", - "Expires": "Tue, 26 May 2009 11:11:49 GMT", - "X-$PrototypeBI-Version": "1.6.0.3", - "Cache-Control": "public, max-age=2592000", - "Server": "gws", - "Content-Length": "219 " - }, - "body": "\n301 Moved\n

301 Moved

\nThe document has moved\nhere.\r\n\r\n", - "strict": true - }, - { - "name": "no content-length response", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nDate: Tue, 04 Aug 2009 07:59:32 GMT\r\nServer: Apache\r\nX-Powered-By: Servlet/2.5 JSP/2.1\r\nContent-Type: text/xml; charset=utf-8\r\nConnection: close\r\n\r\n\n\n \n \n SOAP-ENV:Client\n Client Error\n \n \n", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 5, - "headers": { - "Date": "Tue, 04 Aug 2009 07:59:32 GMT", - "Server": "Apache", - "X-Powered-By": "Servlet/2.5 JSP/2.1", - "Content-Type": "text/xml; charset=utf-8", - "Connection": "close" - }, - "body": "\n\n \n \n SOAP-ENV:Client\n Client Error\n \n \n", - "strict": true - }, - { - "name": "404 no headers no body", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 404 Not Found\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 1, - "status_code": 404, - "status": "Not Found", - "num_headers": 0, - "headers": { - - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "301 no response phrase", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 301\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 1, - "status_code": 301, - "status": "", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "200 trailing space on chunked body", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nTransfer-Encoding: chunked\r\n\r\n25 \r\nThis is the data in the first chunk\r\n\r\n1C\r\nand this is the second one\r\n\r\n0 \r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 2, - "headers": { - "Content-Type": "text/plain", - "Transfer-Encoding": "chunked" - }, - "body_size": 65, - "body": "This is the data in the first chunk\r\nand this is the second one\r\n", - "strict": true - }, - { - "name": "no carriage ret", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\nContent-Type: text/html; charset=utf-8\nConnection: close\n\nthese headers are from http://news.ycombinator.com/", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 2, - "headers": { - "Content-Type": "text/html; charset=utf-8", - "Connection": "close" - }, - "body": "these headers are from http://news.ycombinator.com/", - "strict": true - }, - { - "name": "proxy connection", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Length: 11\r\nProxy-Connection: close\r\nDate: Thu, 31 Dec 2009 20:55:48 +0000\r\n\r\nhello world", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 4, - "headers": { - "Content-Type": "text/html; charset=UTF-8", - "Content-Length": "11", - "Proxy-Connection": "close", - "Date": "Thu, 31 Dec 2009 20:55:48 +0000" - }, - "body": "hello world", - "strict": true - }, - { - "name": "underscore header key", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nServer: DCLK-AdSvr\r\nContent-Type: text/xml\r\nContent-Length: 0\r\nDCLK_imp: v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 4, - "headers": { - "Server": "DCLK-AdSvr", - "Content-Type": "text/xml", - "Content-Length": "0", - "DCLK_imp": "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o" - }, - "body": "", - "strict": true - }, - { - "name": "bonjourmadame.fr", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.0 301 Moved Permanently\r\nDate: Thu, 03 Jun 2010 09:56:32 GMT\r\nServer: Apache/2.2.3 (Red Hat)\r\nCache-Control: public\r\nPragma: \r\nLocation: http://www.bonjourmadame.fr/\r\nVary: Accept-Encoding\r\nContent-Length: 0\r\nContent-Type: text/html; charset=UTF-8\r\nConnection: keep-alive\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "status_code": 301, - "status": "Moved Permanently", - "num_headers": 9, - "headers": { - "Date": "Thu, 03 Jun 2010 09:56:32 GMT", - "Server": "Apache/2.2.3 (Red Hat)", - "Cache-Control": "public", - "Pragma": "", - "Location": "http://www.bonjourmadame.fr/", - "Vary": "Accept-Encoding", - "Content-Length": "0", - "Content-Type": "text/html; charset=UTF-8", - "Connection": "keep-alive" - }, - "body": "", - "strict": true - }, - { - "name": "field underscore", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nDate: Tue, 28 Sep 2010 01:14:13 GMT\r\nServer: Apache\r\nCache-Control: no-cache, must-revalidate\r\nExpires: Mon, 26 Jul 1997 05:00:00 GMT\r\n.et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\nVary: Accept-Encoding\r\n_eep-Alive: timeout=45\r\n_onnection: Keep-Alive\r\nTransfer-Encoding: chunked\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n0\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 11, - "headers": { - "Date": "Tue, 28 Sep 2010 01:14:13 GMT", - "Server": "Apache", - "Cache-Control": "no-cache, must-revalidate", - "Expires": "Mon, 26 Jul 1997 05:00:00 GMT", - ".et-Cookie": "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com", - "Vary": "Accept-Encoding", - "_eep-Alive": "timeout=45", - "_onnection": "Keep-Alive", - "Transfer-Encoding": "chunked", - "Content-Type": "text/html", - "Connection": "close" - }, - "body": "", - "strict": true - }, - { - "name": "non-ASCII in status line", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 500 Oriëntatieprobleem\r\nDate: Fri, 5 Nov 2010 23:07:12 GMT+2\r\nContent-Length: 0\r\nConnection: close\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 500, - "status": "Oriëntatieprobleem", - "num_headers": 3, - "headers": { - "Date": "Fri, 5 Nov 2010 23:07:12 GMT+2", - "Content-Length": "0", - "Connection": "close" - }, - "body": "", - "strict": true - }, - { - "name": "http version 0.9", - "type": "HTTP_RESPONSE", - "raw": "HTTP/0.9 200 OK\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 0, - "http_minor": 9, - "status_code": 200, - "status": "OK", - "num_headers": 0, - "headers": { - - }, - "body": "", - "strict": true - }, - { - "name": "neither content-length nor transfer-encoding response", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhello world", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 1, - "headers": { - "Content-Type": "text/plain" - }, - "body": "hello world", - "strict": true - }, - { - "name": "HTTP/1.0 with keep-alive and EOF-terminated 200 status", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.0 200 OK\r\nConnection: keep-alive\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 0, - "status_code": 200, - "status": "OK", - "num_headers": 1, - "headers": { - "Connection": "keep-alive" - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "HTTP/1.0 with keep-alive and a 204 status", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.0 204 No content\r\nConnection: keep-alive\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 0, - "status_code": 204, - "status": "No content", - "num_headers": 1, - "headers": { - "Connection": "keep-alive" - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "HTTP/1.1 with an EOF-terminated 200 status", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": true, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 0, - "headers": { - - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "HTTP/1.1 with a 204 status", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 204 No content\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 204, - "status": "No content", - "num_headers": 0, - "headers": { - - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "HTTP/1.1 with a 204 status and keep-alive disabled", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 204 No content\r\nConnection: close\r\n\r\n", - "should_keep_alive": false, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 204, - "status": "No content", - "num_headers": 1, - "headers": { - "Connection": "close" - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "HTTP/1.1 with chunked endocing and a 200 response", - "type": "HTTP_RESPONSE", - "raw": "HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n0\r\n\r\n", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 1, - "headers": { - "Transfer-Encoding": "chunked" - }, - "body_size": 0, - "body": "", - "strict": true - }, - { - "name": "field space", - "type": "HTTP_RESPONSE", - "strict": false, - "raw": "HTTP/1.1 200 OK\r\nServer: Microsoft-IIS/6.0\r\nX-Powered-By: ASP.NET\r\nen-US Content-Type: text/xml\r\nContent-Type: text/xml\r\nContent-Length: 16\r\nDate: Fri, 23 Jul 2010 18:45:38 GMT\r\nConnection: keep-alive\r\n\r\nhello", - "should_keep_alive": true, - "message_complete_on_eof": false, - "http_major": 1, - "http_minor": 1, - "status_code": 200, - "status": "OK", - "num_headers": 7, - "headers": { - "Server": "Microsoft-IIS/6.0", - "X-Powered-By": "ASP.NET", - "en-US Content-Type": "text/xml", - "Content-Type": "text/xml", - "Content-Length": "16", - "Date": "Fri, 23 Jul 2010 18:45:38 GMT", - "Connection": "keep-alive" - }, - "body": "hello" - } -] \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/compile.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/compile.rake deleted file mode 100644 index 22d6f6d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/compile.rake +++ /dev/null @@ -1,42 +0,0 @@ -require 'rubygems/package_task' -require 'rake/extensiontask' -require 'rake/javaextensiontask' - -def gemspec - @clean_gemspec ||= eval(File.read(File.expand_path('../../http_parser.rb.gemspec', __FILE__))) -end - -Gem::PackageTask.new(gemspec) do |pkg| -end - -if RUBY_PLATFORM =~ /java/ - Rake::JavaExtensionTask.new("ruby_http_parser", gemspec) do |ext| - ext.classpath = File.expand_path('../../ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar', __FILE__) - end -else - Rake::ExtensionTask.new("ruby_http_parser", gemspec) do |ext| - unless RUBY_PLATFORM =~ /mswin|mingw/ - ext.cross_compile = true - ext.cross_platform = ['x86-mingw32', 'x86-mswin32-60'] - - # inject 1.8/1.9 pure-ruby entry point - ext.cross_compiling do |spec| - spec.files += ['lib/ruby_http_parser.rb'] - end - end - end -end - -file 'lib/ruby_http_parser.rb' do |t| - File.open(t.name, 'wb') do |f| - f.write <<-eoruby -RUBY_VERSION =~ /(\\d+.\\d+)/ -require "\#{$1}/ruby_http_parser" - eoruby - end - at_exit{ FileUtils.rm t.name if File.exists?(t.name) } -end - -if Rake::Task.task_defined?(:cross) - task :cross => 'lib/ruby_http_parser.rb' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/fixtures.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/fixtures.rake deleted file mode 100644 index b5d36ef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/fixtures.rake +++ /dev/null @@ -1,71 +0,0 @@ -desc "Generate test fixtures" -task :fixtures => :submodules do - require 'yajl' - data = File.read File.expand_path('../../ext/ruby_http_parser/vendor/http-parser/test.c', __FILE__) - - %w[ requests responses ].each do |type| - # find test definitions in between requests/responses[]= and .name=NULL - tmp = data[/#{type}\[\]\s*=(.+?),\s*\{\s*\.name=\s*NULL/m, 1] - - # replace first { with a [ (parsing an array of test cases) - tmp.sub!('{','[') - - # replace booleans - tmp.gsub!('TRUE', 'true') - tmp.gsub!('FALSE', 'false') - - # mark strict mode tests - tmp.gsub!(%r|#if\s+!HTTP_PARSER_STRICT(.+?)#endif\s*/\*\s*!HTTP_PARSER_STRICT.+\n|m){ - $1.gsub(/^(.+,\.type= .+)$/, "\\1\n, .strict= false") - } - - # remove macros and comments - tmp.gsub!(/^#(if|elif|endif|define).+$/,'') - tmp.gsub!(/\/\*(.+?)\*\/$/,'') - - # HTTP_* enums become strings - tmp.gsub!(/(= )(HTTP_\w+)/){ - "#{$1}#{$2.sub('MSEARCH','M-SEARCH').dump}" - } - - # join multiline strings for body and raw data - tmp.gsub!(/((body|raw)\s*=)(.+?)(\n\s+[\},])/m){ - before, after = $1, $4 - raw = $3.split("\n").map{ |l| l.strip[1..-2] }.join('') - "#{before} \"#{raw}\" #{after}" - } - - # make headers an array of array tuples - tmp.gsub!(/(\.headers\s*=)(.+?)(\s*,\.)/m){ - before, after = $1, $3 - raw = $2.gsub('{', '[').gsub('}', ']') - "#{before} #{raw} #{after}" - } - - # .name= becomes "name": - tmp.gsub!(/^(.{2,5})\.(\w+)\s*=/){ - "#{$1}#{$2.dump}: " - } - - # evaluate addition expressions - tmp.gsub!(/(body_size\":\s*)(\d+)\+(\d+)/){ - "#{$1}#{$2.to_i+$3.to_i}" - } - - # end result array - tmp << ']' - - # normalize data - results = Yajl.load(tmp, :symbolize_keys => true) - results.map{ |res| - res[:headers] and res[:headers] = Hash[*res[:headers].flatten] - res[:method] and res[:method].gsub!(/^HTTP_/, '') - res[:strict] = true unless res.has_key?(:strict) - } - - # write to a file - File.open("spec/support/#{type}.json", 'w'){ |f| - f.write Yajl.dump(results, :pretty => true) - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/spec.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/spec.rake deleted file mode 100644 index 3deb568..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/spec.rake +++ /dev/null @@ -1,5 +0,0 @@ -require "rspec/core/rake_task" - -RSpec::Core::RakeTask.new do |t| - t.rspec_opts = %w(--format documentation --color) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/submodules.rake b/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/submodules.rake deleted file mode 100644 index d978e9f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/http_parser.rb-0.8.0/tasks/submodules.rake +++ /dev/null @@ -1,7 +0,0 @@ -desc "Fetch upstream submodules" -task :submodules do - if Dir['ext/ruby_http_parser/vendor/http-parser/*'].empty? - sh 'git submodule init' - sh 'git submodule update' - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/i18n-1.14.1/MIT-LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/i18n-1.14.1/MIT-LICENSE deleted file mode 100644 index ed8e9ee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/i18n-1.14.1/MIT-LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2008 The Ruby I18n team - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/i18n-1.14.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/i18n-1.14.1/README.md deleted file mode 100644 index 1d174dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/i18n-1.14.1/README.md +++ /dev/null @@ -1,123 +0,0 @@ -# Ruby I18n - -[![Gem Version](https://badge.fury.io/rb/i18n.svg)](https://badge.fury.io/rb/i18n) -[![Build Status](https://github.com/ruby-i18n/i18n/workflows/Ruby/badge.svg)](https://github.com/ruby-i18n/i18n/actions?query=workflow%3ARuby) - -Ruby internationalization and localization (i18n) solution. - -Currently maintained by @radar. - -## Usage - -### Rails - -You will most commonly use this library within a Rails app. - -[See the Rails Guide](https://guides.rubyonrails.org/i18n.html) for an example of its usage. - -### Ruby (without Rails) - -If you want to use this library without Rails, you can simply add `i18n` to your `Gemfile`: - -```ruby -gem 'i18n' -``` - -Then configure I18n with some translations, and a default locale: - -```ruby -I18n.load_path += Dir[File.expand_path("config/locales") + "/*.yml"] -I18n.default_locale = :en # (note that `en` is already the default!) -``` - -A simple translation file in your project might live at `config/locales/en.yml` and look like: - -```yml -en: - test: "This is a test" -``` - -You can then access this translation by doing: - -```ruby -I18n.t(:test) -``` - -You can switch locales in your project by setting `I18n.locale` to a different value: - -```ruby -I18n.locale = :de -I18n.t(:test) # => "Dies ist ein Test" -``` - -## Features - -* Translation and localization -* Interpolation of values to translations -* Pluralization (CLDR compatible) -* Customizable transliteration to ASCII -* Flexible defaults -* Bulk lookup -* Lambdas as translation data -* Custom key/scope separator -* Custom exception handlers -* Extensible architecture with a swappable backend - -## Pluggable Features - -* Cache -* Pluralization: lambda pluralizers stored as translation data -* Locale fallbacks, RFC4647 compliant (optionally: RFC4646 locale validation) -* [Gettext support](https://github.com/ruby-i18n/i18n/wiki/Gettext) -* Translation metadata - -## Alternative Backend - -* Chain -* ActiveRecord (optionally: ActiveRecord::Missing and ActiveRecord::StoreProcs) -* KeyValue (uses active_support/json and cannot store procs) - -For more information and lots of resources see [the 'Resources' page on the wiki](https://github.com/ruby-i18n/i18n/wiki/Resources). - -## Tests - -You can run tests both with - -* `rake test` or just `rake` -* run any test file directly, e.g. `ruby -Ilib:test test/api/simple_test.rb` - -You can run all tests against all Gemfiles with - -* `ruby test/run_all.rb` - -The structure of the test suite is a bit unusual as it uses modules to reuse -particular tests in different test cases. - -The reason for this is that we need to enforce the I18n API across various -combinations of extensions. E.g. the Simple backend alone needs to support -the same API as any combination of feature and/or optimization modules included -to the Simple backend. We test this by reusing the same API definition (implemented -as test methods) in test cases with different setups. - -You can find the test cases that enforce the API in test/api. And you can find -the API definition test methods in test/api/tests. - -All other test cases (e.g. as defined in test/backend, test/core_ext) etc. -follow the usual test setup and should be easy to grok. - -## More Documentation - -Additional documentation can be found here: https://github.com/ruby-i18n/i18n/wiki - -## Contributors - -* @radar -* @carlosantoniodasilva -* @josevalim -* @knapo -* @tigrish -* [and many more](https://github.com/ruby-i18n/i18n/graphs/contributors) - -## License - -MIT License. See the included MIT-LICENSE file. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/.rubocop.yml deleted file mode 100644 index e10e555..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/.rubocop.yml +++ /dev/null @@ -1,183 +0,0 @@ ---- - -require: - - ./rubocop/jekyll - -Jekyll/NoPutsAllowed: - Exclude: - - rake/*.rake - -AllCops: - TargetRubyVersion: 2.1 - Include: - - lib/**/*.rb - Exclude: - - bin/**/* - - exe/**/* - - benchmark/**/* - - script/**/* - - vendor/**/* - - tmp/**/* -Layout/AlignArray: - Enabled: false -Layout/AlignHash: - EnforcedHashRocketStyle: table -Layout/AlignParameters: - Enabled: false -Layout/EmptyLinesAroundAccessModifier: - Enabled: false -Layout/EmptyLinesAroundModuleBody: - Enabled: false -Layout/EndOfLine: - EnforcedStyle: native -Layout/ExtraSpacing: - AllowForAlignment: true -Layout/FirstParameterIndentation: - EnforcedStyle: consistent -Layout/IndentationWidth: - Severity: error -Layout/IndentArray: - EnforcedStyle: consistent -Layout/IndentHash: - EnforcedStyle: consistent -Layout/IndentHeredoc: - Enabled: false -Layout/MultilineMethodCallIndentation: - EnforcedStyle: indented -Layout/MultilineOperationIndentation: - EnforcedStyle: indented -Lint/NestedPercentLiteral: - Exclude: - - test/test_site.rb -Layout/EmptyComment: - Enabled: false -Layout/EndAlignment: - Severity: error -Lint/SplatKeywordArguments: - Enabled: false -Lint/UnreachableCode: - Severity: error -Lint/UselessAccessModifier: - Enabled: false -Lint/Void: - Enabled: false -Metrics/AbcSize: - Max: 21 -Metrics/BlockLength: - Exclude: - - test/**/*.rb - - lib/jekyll/configuration.rb - - rake/*.rake - - jekyll.gemspec -Metrics/ClassLength: - Exclude: - - !ruby/regexp /features\/.*.rb$/ - - !ruby/regexp /test\/.*.rb$/ - Max: 300 -Metrics/CyclomaticComplexity: - Max: 9 -Metrics/LineLength: - Exclude: - - !ruby/regexp /features\/.*.rb/ - - Rakefile - - rake/*.rake - - Gemfile - - jekyll.gemspec - Max: 90 - Severity: warning -Metrics/MethodLength: - CountComments: false - Max: 20 - Severity: error -Metrics/ModuleLength: - Max: 240 -Metrics/ParameterLists: - Max: 4 -Metrics/PerceivedComplexity: - Max: 8 -Naming/FileName: - Enabled: false -Naming/HeredocDelimiterNaming: - Enabled: false -Naming/MemoizedInstanceVariableName: - Exclude: - - lib/jekyll/page_without_a_file.rb - - lib/jekyll/drops/unified_payload_drop.rb - - lib/jekyll/drops/site_drop.rb -Naming/UncommunicativeMethodParamName: - AllowedNames: - - _ -Security/MarshalLoad: - Exclude: - - !ruby/regexp /test\/.*.rb$/ - - lib/jekyll/regenerator.rb -Security/YAMLLoad: - Exclude: - - !ruby/regexp /features\/.*.rb/ - - !ruby/regexp /test\/.*.rb$/ -Style/Alias: - Enabled: false -Style/AndOr: - Severity: error -Style/BracesAroundHashParameters: - Enabled: false -Style/ClassAndModuleChildren: - Enabled: false -Style/FrozenStringLiteralComment: - EnforcedStyle: always -Style/Documentation: - Enabled: false - Exclude: - - !ruby/regexp /features\/.*.rb$/ -Style/DoubleNegation: - Enabled: false -Style/FormatStringToken: - Exclude: - - lib/jekyll/utils/ansi.rb -Style/GuardClause: - Enabled: false -Style/HashSyntax: - EnforcedStyle: hash_rockets - Severity: error -Style/IfUnlessModifier: - Enabled: false -Style/InverseMethods: - Enabled: false -Style/MixinUsage: - Exclude: - - test/helper.rb -Style/ModuleFunction: - Enabled: false -Style/MultilineTernaryOperator: - Severity: error -Style/PercentLiteralDelimiters: - PreferredDelimiters: - "%q": "{}" - "%Q": "{}" - "%r": "!!" - "%s": "()" - "%w": "()" - "%W": "()" - "%x": "()" -Style/RedundantReturn: - Enabled: false -Style/RedundantSelf: - Enabled: false -Style/RegexpLiteral: - EnforcedStyle: percent_r -Style/RescueModifier: - Enabled: false -Style/SignalException: - EnforcedStyle: only_raise -Style/SingleLineMethods: - Enabled: false -Style/StringLiterals: - EnforcedStyle: double_quotes -Style/StringLiteralsInInterpolation: - EnforcedStyle: double_quotes -Style/SymbolArray: - Enabled: false -Style/TrailingCommaInArrayLiteral: - EnforcedStyleForMultiline: consistent_comma -Style/TrailingCommaInHashLiteral: - EnforcedStyleForMultiline: consistent_comma diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/LICENSE deleted file mode 100644 index c98bc25..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2008-2018 Tom Preston-Werner and Jekyll contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/README.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/README.markdown deleted file mode 100644 index c6864b4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/README.markdown +++ /dev/null @@ -1,61 +0,0 @@ -# [Jekyll](https://jekyllrb.com/) - -[![Gem Version](https://img.shields.io/gem/v/jekyll.svg)][ruby-gems] -[![Linux Build Status](https://img.shields.io/travis/jekyll/jekyll/master.svg?label=Linux%20build)][travis] -[![Windows Build status](https://img.shields.io/appveyor/ci/jekyll/jekyll/master.svg?label=Windows%20build)][appveyor] -[![Maintainability](https://api.codeclimate.com/v1/badges/8ba0cb5b17bb9848e128/maintainability)](codeclimate) -[![Test Coverage](https://api.codeclimate.com/v1/badges/8ba0cb5b17bb9848e128/test_coverage)](coverage) -[![Dependency Status](https://img.shields.io/gemnasium/jekyll/jekyll.svg)][gemnasium] -[![Security](https://hakiri.io/github/jekyll/jekyll/master.svg)][hakiri] - -[ruby-gems]: https://rubygems.org/gems/jekyll -[gemnasium]: https://gemnasium.com/jekyll/jekyll -[codeclimate]: https://codeclimate.com/github/jekyll/jekyll -[coverage]: https://codeclimate.com/github/jekyll/jekyll/coverage -[hakiri]: https://hakiri.io/github/jekyll/jekyll/master -[travis]: https://travis-ci.org/jekyll/jekyll -[appveyor]: https://ci.appveyor.com/project/jekyll/jekyll/branch/master - -Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS, without all the complexity. Jekyll takes your content, renders Markdown and Liquid templates, and spits out a complete, static website ready to be served by Apache, Nginx or another web server. Jekyll is the engine behind [GitHub Pages](https://pages.github.com), which you can use to host sites right from your GitHub repositories. - -## Philosophy - -Jekyll does what you tell it to do — no more, no less. It doesn't try to outsmart users by making bold assumptions, nor does it burden them with needless complexity and configuration. Put simply, Jekyll gets out of your way and allows you to concentrate on what truly matters: your content. - -See: https://jekyllrb.com/philosophy - -## Having trouble? - -See: https://jekyllrb.com/docs/troubleshooting/ - -## Getting Started - -* [Install](https://jekyllrb.com/docs/installation/) the gem -* Read up about its [Usage](https://jekyllrb.com/docs/usage/) and [Configuration](https://jekyllrb.com/docs/configuration/) -* Take a gander at some existing [Sites](https://wiki.github.com/jekyll/jekyll/sites) -* [Fork](https://github.com/jekyll/jekyll/fork) and [Contribute](https://jekyllrb.com/docs/contributing/) your own modifications -* Have questions? Check out our official forum community [Jekyll Talk](https://talk.jekyllrb.com/) or [`#jekyll` on irc.freenode.net](https://botbot.me/freenode/jekyll/) - -## Code of Conduct - -In order to have a more open and welcoming community, Jekyll adheres to a -[code of conduct](CODE_OF_CONDUCT.markdown) adapted from the Ruby on Rails code of -conduct. - -Please adhere to this code of conduct in any interactions you have in the -Jekyll community. It is strictly enforced on all official Jekyll -repositories, websites, and resources. If you encounter someone violating -these terms, please let one of our core team members [Olivia](mailto:olivia@jekyllrb.com?subject=Jekyll%20CoC%20Violation), [Pat](mailto:pat@jekyllrb.com?subject=Jekyll%20CoC%20Violation), [Matt](mailto:matt@jekyllrb.com?subject=Jekyll%20CoC%20Violation) or [Parker](mailto:parker@jekyllrb.com?subject=Jekyll%20CoC%20Violation) know and we will address it as soon as possible. - -## Diving In - -* [Migrate](http://import.jekyllrb.com/docs/home/) from your previous system -* Learn how the [YAML Front Matter](https://jekyllrb.com/docs/frontmatter/) works -* Put information on your site with [Variables](https://jekyllrb.com/docs/variables/) -* Customize the [Permalinks](https://jekyllrb.com/docs/permalinks/) your posts are generated with -* Use the built-in [Liquid Extensions](https://jekyllrb.com/docs/templates/) to make your life easier -* Use custom [Plugins](https://jekyllrb.com/docs/plugins/) to generate content specific to your site - -## License - -See the [LICENSE](https://github.com/jekyll/jekyll/blob/master/LICENSE) file. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/exe/jekyll b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/exe/jekyll deleted file mode 100755 index 07e1371..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/exe/jekyll +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -STDOUT.sync = true - -$LOAD_PATH.unshift File.expand_path("../lib", __dir__) - -require "jekyll" -require "mercenary" - -Jekyll::PluginManager.require_from_bundler - -Jekyll::Deprecator.process(ARGV) - -Mercenary.program(:jekyll) do |p| - p.version Jekyll::VERSION - p.description "Jekyll is a blog-aware, static site generator in Ruby" - p.syntax "jekyll [options]" - - p.option "source", "-s", "--source [DIR]", "Source directory (defaults to ./)" - p.option "destination", "-d", "--destination [DIR]", - "Destination directory (defaults to ./_site)" - p.option "safe", "--safe", "Safe mode (defaults to false)" - p.option "plugins_dir", "-p", "--plugins PLUGINS_DIR1[,PLUGINS_DIR2[,...]]", Array, - "Plugins directory (defaults to ./_plugins)" - p.option "layouts_dir", "--layouts DIR", String, - "Layouts directory (defaults to ./_layouts)" - p.option "profile", "--profile", "Generate a Liquid rendering profile" - - Jekyll::External.require_if_present(Jekyll::External.blessed_gems) do |g, ver_constraint| - cmd = g.split("-").last - p.command(cmd.to_sym) do |c| - c.syntax cmd - c.action do - Jekyll.logger.abort_with "You must install the '#{g}' gem" \ - " version #{ver_constraint} to use the 'jekyll #{cmd}' command." - end - end - end - - Jekyll::Command.subclasses.each { |c| c.init_with_program(p) } - - p.action do |args, _| - if args.empty? - Jekyll.logger.error "A subcommand is required." - puts p - abort - else - subcommand = args.first - unless p.has_command? subcommand - Jekyll.logger.abort_with "fatal: 'jekyll #{args.first}' could not" \ - " be found. You may need to install the jekyll-#{args.first} gem" \ - " or a related gem to be able to use this subcommand." - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll.rb deleted file mode 100644 index 31236b8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll.rb +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -Dir[File.join(File.expand_path("jekyll", __dir__), "*.rb")].each do |ruby_file| - require ruby_file -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll/no_p_allowed.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll/no_p_allowed.rb deleted file mode 100644 index cc7d997..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll/no_p_allowed.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -require "rubocop" - -module RuboCop - module Cop - module Jekyll - class NoPAllowed < Cop - MSG = "Avoid using `p` to print things. Use `Jekyll.logger` instead.".freeze - - def_node_search :p_called?, <<-PATTERN - (send _ :p _) - PATTERN - - def on_send(node) - if p_called?(node) - add_offense(node, :location => :selector) - end - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll/no_puts_allowed.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll/no_puts_allowed.rb deleted file mode 100644 index a666aac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-3.9.3/rubocop/jekyll/no_puts_allowed.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -require "rubocop" - -module RuboCop - module Cop - module Jekyll - class NoPutsAllowed < Cop - MSG = "Avoid using `puts` to print things. Use `Jekyll.logger` instead.".freeze - - def_node_search :puts_called?, <<-PATTERN - (send nil? :puts _) - PATTERN - - def on_send(node) - if puts_called?(node) - add_offense(node, :location => :selector) - end - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/CODEOWNERS b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/CODEOWNERS deleted file mode 100644 index 7582257..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/CODEOWNERS +++ /dev/null @@ -1,3 +0,0 @@ -# Require @benbalter's :+1: for changes to the .github repo-config files -# mainly due to https://github.com/probot/settings privilege escalation -.github/* @benbalter diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/ISSUE_TEMPLATE/bug_report.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index aedf081..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve - ---- - -### Describe the bug - -A clear and concise description of what the bug is. - -### Steps to reproduce the behavior - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -### Expected behavior - -A clear and concise description of what you expected to happen. - -### Screenshots - -If applicable, add screenshots to help explain your problem. - -### Additional context - -Add any other context about the problem here. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/ISSUE_TEMPLATE/feature_request.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 7a8d46c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- - -### Is your feature request related to a problem? Please describe the problem you're trying to solve. - -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -### Describe the solution you'd like - -A clear and concise description of what you want to happen. - -### Describe alternatives you've considered - -A clear and concise description of any alternative solutions or features you've considered. - -### Additional context - -Add any other context or screenshots about the feature request here. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/config.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/config.yml deleted file mode 100644 index a0010ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/config.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Behaviorbot config. See https://github.com/behaviorbot/ for more information. -# Note: Please Don't edit this file directly. -# Edit https://github.com/benbalter/shared-community-files instead. - -# Configuration for update-docs - https://github.com/behaviorbot/update-docs -updateDocsComment: "Thanks for the pull request! If you are making any changes to the user-facing functionality, please be sure to update the documentation in the `README` or `docs/` folder alongside your change. :heart:" - -# Configuration for request-info - https://github.com/behaviorbot/request-info -requestInfoReplyComment: Thanks for this. Do you mind providing a bit more information about what problem you're trying to solve? -requestInfoLabelToAdd: more-information-needed - -# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome -#newIssueWelcomeComment: > -# Welcome! - -# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome -newPRWelcomeComment: Welcome! Congrats on your first pull request to Jekyll Avatar. If you haven't already, please be sure to check out [the contributing guidelines](https://github.com/benbalter/jekyll-avatar/blob/master/docs/CONTRIBUTING.md). - -# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge -firstPRMergeComment: "Congrats on getting your first pull request to Jekyll Avatar merged! Without amazing humans like you submitting pull requests, we couldn’t run this project. You rock! :tada:

If you're interested in tackling another bug or feature, take a look at [the open issues](https://github.com/benbalter/jekyll-avatar/issues), especially those [labeled `help wanted`](https://github.com/benbalter/jekyll-avatar/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)." - -# Bug workaround -contact_links: [] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/funding.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/funding.yml deleted file mode 100644 index 6023e43..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/funding.yml +++ /dev/null @@ -1 +0,0 @@ -patreon: benbalter diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/no-response.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/no-response.yml deleted file mode 100644 index 87344a5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/no-response.yml +++ /dev/null @@ -1,15 +0,0 @@ -# Configuration for probot-no-response - https://github.com/probot/no-response -# Note: Please Don't edit this file directly. -# Edit https://github.com/benbalter/shared-community-files instead. - -# Number of days of inactivity before an Issue is closed for lack of response -daysUntilClose: 14 -# Label requiring a response -responseRequiredLabel: more-information-needed -# Comment to post when closing an Issue for lack of response. Set to `false` to disable -closeComment: > - This issue has been automatically closed because there has been no response - to our request for more information from the original author. With only the - information that is currently in the issue, we don't have enough information - to take action. Please reach out if you have or find the answers we need so - that we can investigate further. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/release-drafter.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/release-drafter.yml deleted file mode 100644 index a4dce4c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/release-drafter.yml +++ /dev/null @@ -1,4 +0,0 @@ -template: | - ## What's Changed - - $CHANGES diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/settings.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/settings.yml deleted file mode 100644 index 1ab325a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/settings.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Repository settings set via https://github.com/probot/settings -# Note: Please Don't edit this file directly. -# Edit https://github.com/benbalter/shared-community-files instead. - -repository: - has_issues: true - has_wiki: false - has_projects: false - has_downloads: false - -labels: - - name: help wanted - oldname: help-wanted - color: 0e8a16 - - name: more-information-needed - color: d93f0b - - name: bug - color: b60205 - - name: feature - color: 1d76db - - name: good first issue - color: "5319e7" - -# Not currently implemented by probot/settings, but manually implemented in script/deploy -branch_protection: - restrictions: null - enforce_admins: false - required_status_checks: - strict: true - contexts: - - "continuous-integration/travis-ci" - required_pull_request_reviews: - require_code_owner_reviews: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/stale.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/stale.yml deleted file mode 100644 index 801709f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.github/stale.yml +++ /dev/null @@ -1,29 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale -# Note: Please Don't edit this file directly. -# Edit https://github.com/benbalter/shared-community-files instead. - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale -exemptLabels: - - pinned - - security - -# Label to use when marking as stale -staleLabel: wontfix - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. - -# Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable -closeComment: false - -# Limit to only `issues` or `pulls` -# only: issues diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rspec deleted file mode 100644 index 8c18f1a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---format documentation ---color diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rubocop.yml deleted file mode 100644 index 6260c43..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rubocop.yml +++ /dev/null @@ -1,19 +0,0 @@ -inherit_from: .rubocop_todo.yml - -require: rubocop-jekyll -inherit_gem: - rubocop-jekyll: .rubocop.yml - -Naming/FileName: - Enabled: false - -Metrics/LineLength: - Exclude: - - spec/*/** - -Metrics/BlockLength: - Enabled: false - -AllCops: - Exclude: - - vendor/**/* diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rubocop_todo.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rubocop_todo.yml deleted file mode 100644 index 178a46e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.rubocop_todo.yml +++ /dev/null @@ -1,46 +0,0 @@ -# This configuration was generated by -# `rubocop --auto-gen-config` -# on 2019-04-18 23:25:25 +0530 using RuboCop version 0.66.0. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: auto_detection, squiggly, active_support, powerpack, unindent -Layout/IndentHeredoc: - Exclude: - - 'spec/jekyll/avatar_spec.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: braces, no_braces, context_dependent -Style/BracesAroundHashParameters: - Exclude: - - 'spec/jekyll/avatar_spec.rb' - - 'spec/spec_helper.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -Style/ExpandPathArguments: - Exclude: - - 'jekyll-avatar.gemspec' - - 'spec/spec_helper.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Style/RedundantFreeze: - Exclude: - - 'lib/jekyll-avatar/version.rb' - -# Offense count: 6 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyleForMultiline. -# SupportedStylesForMultiline: comma, consistent_comma, no_comma -Style/TrailingCommaInHashLiteral: - Exclude: - - 'lib/jekyll-avatar.rb' - - 'spec/jekyll/avatar_spec.rb' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.ruby-version b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.ruby-version deleted file mode 100644 index aedc15b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -2.5.3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.travis.yml deleted file mode 100644 index 851c5af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: ruby -rvm: - - 2.4 -cache: bundler -script: script/cibuild -env: - matrix: - - JEKYLL_VERSION="~> 3.0" - - JEKYLL_VERSION=">= 4.0.0.pre.alpha1" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/Gemfile deleted file mode 100644 index a1ebfdb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gemspec - -gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/LICENSE.txt deleted file mode 100644 index 192fb07..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Ben Balter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/README.md deleted file mode 100644 index 4aa350c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# Jekyll Avatar - -*A Jekyll plugin for rendering GitHub avatars* - -[![Build Status](https://travis-ci.org/benbalter/jekyll-avatar.svg)](https://travis-ci.org/benbalter/jekyll-avatar) - -Jekyll Avatar makes it easy to add GitHub avatars to your Jekyll site by specifying a username. If performance is a concern, Jekyll Avatar is deeply integrated with the GitHub avatar API, ensuring avatars are cached and load in parallel. It even automatically upgrades users to Retina images, when supported. - -## Installation - -Add the following to your site's `Gemfile`: - -```ruby -gem 'jekyll-avatar' -``` - -And add the following to your site's `_config.yml` file: - -```yaml -plugins: - - jekyll-avatar -``` -Note: If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`. - -## Usage - -Simply add the following, anywhere you'd like a user's avatar to appear: - -``` -{% avatar [USERNAME] %} -``` - -With `[USERNAME]` being the user's GitHub username: - -``` -{% avatar hubot %} -``` - -That will output: - -```html -hubot -``` - -### Customizing - -You can customize the size of the resulting avatar by passing the size argument: - -``` -{% avatar hubot size=50 %} -``` - -That will output: - -```html -hubot -``` - -### Passing the username as variable - -You can also pass the username as a variable, like this: - -``` -{% assign user="hubot" %} -{% avatar {{ username }} %} -``` - -Or, if the variable is someplace a bit more complex, like a loop: - -``` -{% assign employees = "alice|bob" | split:"|" %} -{% for employee in employees %} - {% avatar user=employee %} -{% endfor %} -``` - -### Lazy loading images - -For pages showing a large number of avatars, you may want to load the images lazily. - -```liquid -{% avatar hubot lazy=true %} -``` - -This will set the `data-src` and `data-srcset` attributes on the `` tag, which is compatible with many lazy load JavaScript plugins, such as: - -* https://www.andreaverlicchi.eu/lazyload/ -* https://appelsiini.net/projects/lazyload/ - -### Using with GitHub Enterprise - -To use Jekyll Avatars with GitHub Enterprise, you must set the `PAGES_AVATARS_URL` environmental variable. - -This should be the full URL to the avatars subdomain or subpath. For example: - -* With subdomain isolation: `PAGES_AVATARS_URL="https://avatars.github.example.com"` -* Without subdomain isolation: `PAGES_AVATARS_URL="https://github.example.com/avatars"` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/Rakefile deleted file mode 100644 index ee617bb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -require "bundler/gem_tasks" -require "rspec/core/rake_task" - -RSpec::Core::RakeTask.new(:spec) - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/CODE_OF_CONDUCT.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/CODE_OF_CONDUCT.md deleted file mode 100644 index 17a935b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,46 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ben@balter.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/CONTRIBUTING.md deleted file mode 100644 index 4850dcc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/CONTRIBUTING.md +++ /dev/null @@ -1,85 +0,0 @@ -# Contributing to Jekyll Avatar - -Hi there! We're thrilled that you'd like to contribute to Jekyll Avatar. Your help is essential for keeping it great. - -Jekyll Avatar is an open source project supported by the efforts of an entire community and built one contribution at a time by users like you. We'd love for you to get involved. Whatever your level of skill or however much time you can give, your contribution is greatly appreciated. There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests, helping other users by commenting on issues, or writing code which can be incorporated into Jekyll Avatar itself. - -Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests. - - - -## How to report a bug - -Think you found a bug? Please check [the list of open issues](https://github.com/benbalter/jekyll-avatar/issues) to see if your bug has already been reported. If it hasn't please [submit a new issue](https://github.com/benbalter/jekyll-avatar/issues/new). - -Here are a few tips for writing *great* bug reports: - -* Describe the specific problem (e.g., "widget doesn't turn clockwise" versus "getting an error") -* Include the steps to reproduce the bug, what you expected to happen, and what happened instead -* Check that you are using the latest version of the project and its dependencies -* Include what version of the project your using, as well as any relevant dependencies -* Only include one bug per issue. If you have discovered two bugs, please file two issues -* Include screenshots or screencasts whenever possible -* Even if you don't know how to fix the bug, including a failing test may help others track it down - -**If you find a security vulnerability, do not open an issue. Please email ben@balter.com instead.** - -## How to suggest a feature or enhancement - -If you find yourself wishing for a feature that doesn't exist in Jekyll Avatar, you are probably not alone. There are bound to be others out there with similar needs. Many of the features that Jekyll Avatar has today have been added because our users saw the need. - -Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and goals of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible, including describing the problem you're trying to solve. - -[Open an issue](https://github.com/benbalter/jekyll-avatar/issues/new) which describes the feature you would like to see, why you want it, how it should work, etc. - - - -## Your first contribution - -We'd love for you to contribute to the project. Unsure where to begin contributing to Jekyll Avatar? You can start by looking through these "good first issue" and "help wanted" issues: - -* [Good first issues](https://github.com/benbalter/jekyll-avatar/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - issues which should only require a few lines of code and a test or two -* [Help wanted issues](https://github.com/benbalter/jekyll-avatar/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) - issues which may be a bit more involved, but are specifically seeking community contributions - -*p.s. Feel free to ask for help; everyone is a beginner at first* :smiley_cat: - -## How to propose changes - -Here's a few general guidelines for proposing changes: - -* If you are changing any user-facing functionality, please be sure to update the documentation -* If you are adding a new behavior or changing an existing behavior, please be sure to update the corresponding test(s) -* Each pull request should implement **one** feature or bug fix. If you want to add or fix more than one thing, submit more than one pull request -* Do not commit changes to files that are irrelevant to your feature or bug fix -* Don't bump the version number in your pull request (it will be bumped prior to release) -* Write [a good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) - -At a high level, [the process for proposing changes](https://guides.github.com/introduction/flow/) is: - -1. [Fork](https://github.com/benbalter/jekyll-avatar/fork) and clone the project -2. Configure and install the dependencies: `script/bootstrap` -3. Make sure the tests pass on your machine: `script/cibuild` -4. Create a descriptively named branch: `git checkout -b my-branch-name` -5. Make your change, add tests and documentation, and make sure the tests still pass -6. Push to your fork and [submit a pull request](https://github.com/benbalter/jekyll-avatar/compare) describing your change -7. Pat your self on the back and wait for your pull request to be reviewed and merged - -**Interesting in submitting your first Pull Request?** It's easy! You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) - -## Bootstrapping your local development environment - -`script/bootstrap` - -## Running tests - -`script/cibuild` - -## Code of conduct - -This project is governed by [the Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. - -## Additional Resources - -* [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/) -* [Using Pull Requests](https://help.github.com/articles/using-pull-requests/) -* [GitHub Help](https://help.github.com) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/SECURITY.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/SECURITY.md deleted file mode 100644 index 472e9b8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/docs/SECURITY.md +++ /dev/null @@ -1,3 +0,0 @@ -# Security Policy - -To report a security vulnerability, please email [ben@balter.com](mailto:ben@balter.com). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/jekyll-avatar.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/jekyll-avatar.gemspec deleted file mode 100644 index 8e9c2a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/jekyll-avatar.gemspec +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path("../lib", __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "jekyll-avatar/version" - -Gem::Specification.new do |spec| - spec.name = "jekyll-avatar" - spec.version = Jekyll::Avatar::VERSION - spec.authors = ["Ben Balter"] - spec.email = ["ben.balter@github.com"] - - spec.summary = "A Jekyll plugin for rendering GitHub avatars" - spec.homepage = "https://github.com/benbalter/jekyll-avatar" - spec.license = "MIT" - - spec.files = `git ls-files -z`.split("\x0").reject do |file| - file.match(%r!^(test|spec|features)/!) - end - - spec.require_paths = ["lib"] - - spec.add_dependency "jekyll", ">= 3.0", "< 5.0" - spec.add_development_dependency "bundler", "> 1.0", "< 3.0" - spec.add_development_dependency "rake", "~> 12.3" - spec.add_development_dependency "rspec", "~> 3.0" - spec.add_development_dependency "rspec-html-matchers", "~> 0.9" - spec.add_development_dependency "rubocop-jekyll", "~> 0.10.0" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/script/bootstrap deleted file mode 100755 index 654265e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/script/bootstrap +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -ex - -bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/script/cibuild deleted file mode 100755 index d838d0e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-avatar-0.7.0/script/cibuild +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -set -ex - -bundle exec rake spec -bundle exec rubocop diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/History.markdown deleted file mode 100644 index 6ff1ce0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/History.markdown +++ /dev/null @@ -1,55 +0,0 @@ -## 1.4.0 / 2022-01-30 - -### Minor Enhancements - - * Require at least commonmarker-0.22 (#44) - * Highlight fenced code-block contents with Rouge (#29) - -### Bug Fixes - - * Refactor away extra abstractions (#53) - -### Development Fixes - - * DRY begin-rescue-end block with a private helper (#28) - * Fix failing CI builds (#33) - * Remove gemspec dependency on Jekyll (#34) - * Test rendering with invalid configuration (#27) - * Refactor to improve readability (#37) - * Set up Continuous Integration via GH Actions (#46) - * Clean up gemspec (#47) - * Add workflow to release gem via GH Actions (#54) - -### Documentation - - * Update README to link to commonmarker (#38) - -## 1.3.1 / 2019-03-25 - -### Bug Fixes - - * Re-introduce Ruby 2.3 support and test Jekyll 3.7+ (#32) - -## 1.3.0 / 2019-03-22 - -### Development Fixes - - * Allow Jekyll v4 (still alpha) - * Drop Ruby < 2.4 - * chore(deps): rubocop-jekyll 0.3.0 (#25) - * Target Ruby 2.4 (#30) - -## 1.2.0 / 2018-03-29 - -### Minor Enhancements - - * Allow render options (#4) - * Only set options once (#17) - -### Development Fixes - - * Test plugin on Windows (#13) - * Allow options passed to Rubocop (#15) - * Add tests (#16) - * Test against Ruby 2.5 (#18) - * Version with class (#19) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/LICENSE deleted file mode 100644 index bd4ac95..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-present Pat Hawks and jekyll-commonmark contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/Readme.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/Readme.md deleted file mode 100644 index 1b1c6a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-1.4.0/Readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# jekyll-commonmark - -*CommonMark Markdown converter for Jekyll* - -[![Gem Version](https://img.shields.io/gem/v/jekyll-commonmark.svg)](https://rubygems.org/gems/jekyll-commonmark) -[![Build Status](https://img.shields.io/travis/jekyll/jekyll-commonmark/master.svg)](https://travis-ci.org/jekyll/jekyll-commonmark) -[![Windows Build status](https://img.shields.io/appveyor/ci/pathawks/jekyll-commonmark/master.svg?label=Windows%20build)](https://ci.appveyor.com/project/pathawks/jekyll-commonmark) - -Jekyll Markdown converter that uses [libcmark-gfm](https://github.com/github/cmark-gfm) (via [commonmarker](https://github.com/gjtorikian/commonmarker)). -As a result, it is faster than Kramdown. - -GitHub Pages supports CommonMark through https://github.com/github/jekyll-commonmark-ghpages - -## Installation - -Add the following to your `Gemfile` - -```ruby -group :jekyll_plugins do - gem 'jekyll-commonmark' -end -``` - -and modify your `_config.yml` to use **CommonMark** as your Markdown converter - -```yaml -markdown: CommonMark -``` - -## Configuration - -To specify [extensions](https://github.com/gjtorikian/commonmarker#extensions) and [options](https://github.com/gjtorikian/commonmarker#options) for use in converting Markdown to HTML, supply options to the Markdown converter: - -```yaml -commonmark: - options: ["SMART", "FOOTNOTES"] - extensions: ["strikethrough", "autolink", "table"] -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/CODEOWNERS b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/CODEOWNERS deleted file mode 100644 index 9529e05..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -# Automatically add our team to each pull request in this repo -* @github/pages-reviewers diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/dependabot.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/dependabot.yml deleted file mode 100644 index e929360..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "bundler" - directory: "/" - schedule: - interval: "weekly" - - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/workflows/cibuild.yaml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/workflows/cibuild.yaml deleted file mode 100644 index bd81017..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/.github/workflows/cibuild.yaml +++ /dev/null @@ -1,17 +0,0 @@ -on: push -name: cibuild -jobs: - build: - name: Test - strategy: - matrix: - ruby: [2.6, 2.7] - os: [ubuntu-latest, macos-latest, windows-latest] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - - name: script/cibuild - run: script/cibuild diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/Gemfile deleted file mode 100644 index b4e2a20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/LICENSE deleted file mode 100644 index 131d9c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 GitHub - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/README.md deleted file mode 100644 index 9145f77..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# jekyll-commonmark-ghpages - -*GitHub Flavored Markdown converter for Jekyll, based on [`jekyll-commonmark`](https://github.com/jekyll/jekyll-commonmark)* - -[![Gem Version](https://img.shields.io/gem/v/jekyll-commonmark-ghpages.svg)](https://rubygems.org/gems/jekyll-commonmark-ghpages) -[![Build Status](https://github.com/github/jekyll-commonmark-ghpages/actions/workflows/cibuild.yaml/badge.svg)](https://github.com/github/jekyll-commonmark-ghpages/actions/workflows/cibuild.yaml) - -Jekyll Markdown converter that uses [libcmark-gfm](https://github.com/github/cmark), GitHub's fork of [cmark](https://github.com/commonmark/cmark), the reference parser for CommonMark, with some additions to ensure compatibility with existing Kramdown-based sites. - -## Installation - -Add the following to your `Gemfile`: - -```ruby -group :jekyll_plugins do - gem 'jekyll-commonmark-ghpages' -end -``` - -and modify your `_config.yml` to use **CommonMarkGhPages** as your Markdown converter: - -```yaml -markdown: CommonMarkGhPages -``` - -This processor is currently in testing for use in GitHub Pages. - -To specify extensions and options for use in converting Markdown to HTML, supply options to the Markdown converter: - -```yaml -commonmark: - options: ["UNSAFE", "SMART", "FOOTNOTES"] - extensions: ["strikethrough", "autolink", "table", "tagfilter"] -``` - -⚠ The `UNSAFE` option is required for HTML rendering. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/Rakefile deleted file mode 100644 index 8754e40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/Rakefile +++ /dev/null @@ -1,6 +0,0 @@ -require "bundler/gem_tasks" -require 'rspec/core/rake_task' - -RSpec::Core::RakeTask.new(:spec) - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/jekyll-commonmark-ghpages.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/jekyll-commonmark-ghpages.gemspec deleted file mode 100644 index 1c6d380..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/jekyll-commonmark-ghpages.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# coding: utf-8 - -Gem::Specification.new do |spec| - spec.name = "jekyll-commonmark-ghpages" - spec.summary = "CommonMark generator for Jekyll" - spec.version = "0.4.0" - spec.authors = ["GitHub, Inc."] - spec.email = "support@github.com" - spec.homepage = "https://github.com/github/jekyll-commonmark-ghpages" - spec.licenses = ["MIT"] - - spec.files = `git ls-files -z`.split("\x0") - spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) - spec.require_paths = ["lib"] - - spec.add_runtime_dependency "jekyll", "~> 3.9.0" - spec.add_runtime_dependency "jekyll-commonmark", "~> 1.4.0" - spec.add_runtime_dependency "commonmarker", "~> 0.23.7" - spec.add_runtime_dependency "rouge", ">= 2.0", "< 5.0" - - spec.add_development_dependency "rspec", "~> 3.0" - spec.add_development_dependency "rake" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/script/cibuild deleted file mode 100755 index c785b3f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/script/cibuild +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# Update gems -gem update --system 3.2.3 - -# Install bundler -gem install bundler - -# Install dependencies -bundle install - -# Run tests -bundle exec rspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/spec/spec_helper.rb deleted file mode 100644 index ac6c3ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/spec/spec_helper.rb +++ /dev/null @@ -1,7 +0,0 @@ -require "rspec/expectations" -require File.expand_path("../lib/jekyll-commonmark-ghpages.rb", File.dirname(__FILE__)) - -RSpec.configure do |config| - config.run_all_when_everything_filtered = true - config.order = "random" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/spec/test_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/spec/test_spec.rb deleted file mode 100644 index 52892e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-commonmark-ghpages-0.4.0/spec/test_spec.rb +++ /dev/null @@ -1,55 +0,0 @@ -require "spec_helper" - -describe JekyllCommonMarkCustomRenderer do - let(:renderer) { JekyllCommonMarkCustomRenderer.new } - subject { renderer.render(doc) } - - context "headers" do - let(:doc) { CommonMarker.render_doc("# Hello\n\n## Hi, world!") } - it { is_expected.to match %r{

Hello

} } - it { is_expected.to match %r{

Hi, world!

} } - end - - context "code blocks" do - let(:doc) { CommonMarker.render_doc("```ruby\nputs \"Hi!\"\n```\n") } - it { is_expected.to match %r{
} } - it { is_expected.to match %r{puts "Hi!"} } - end -end - -describe Jekyll::Converters::Markdown::CommonMarkGhPages do - let(:converter) { Jekyll::Converters::Markdown::CommonMarkGhPages.new(config) } - let(:config) { - {"commonmark" => { - "options" => ["UNSAFE", "SMART", "FOOTNOTES"], - "extensions" => ["tagfilter"], - }} - } - subject { converter.convert("### \"Hi\" [^nb]\n\n[^nb]: Yes.\n") } - - it { is_expected.to match %r{<h3 id="[^"]*">“Hi” &lt;xmp><sup[^>]*><a href="#fn1"[^>]*>1</a></sup></h3>\n<section class="footnotes">\n<ol>\n<li id="fn1">\n<p>Yes. <a href="#fnref1".*</a></p>} } -end - -describe Jekyll::Renderer do - it "should not re-process markdown in a liquid tag" do - site = Jekyll::Site.new(Jekyll.configuration("markdown" => "CommonMarkGhPages", "commonmark" => { "options" => ["UNSAFE"] })) - collection = Jekyll::Collection.new(site, "pages") - document = Jekyll::Document.new("hello.md", site: site, collection: collection) - document.content = "**Hi**\n" \ - "\n" \ - "```markdown\n" \ - "**Yo**\n" \ - "```\n" \ - "\n" \ - "{% highlight markdown %}\n" \ - "**Hey**\n" \ - "\n" \ - "**Hello**\n" \ - "{% endhighlight %}\n" - out = Jekyll::Renderer.new(site, document).run - expect(out).to match %r(<p><strong>Hi</strong></p>) - expect(out).to match %r(<span class="gs">\*\*Yo\*\*</span>) - expect(out).to match %r(<span class="gs">\*\*Hey\*\*</span>\n\n) - expect(out).to match %r(<span class="gs">\*\*Hello\*\*</span>) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/History.markdown deleted file mode 100644 index 4e39f54..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/History.markdown +++ /dev/null @@ -1,197 +0,0 @@ -## HEAD - -## 0.15.1 / 2020-10-04 - -### Bug Fixes - - * MetaTag: when encoding for XML special characters, handle non-string objects (#326) - -## 0.15.0 / 2020-07-10 - -### Minor Enhancements - - * Add support for drafts (#316) - -## 0.14.0 / 2020-06-24 - -### Minor Enhancements - - * add support for categories (#153) (#233) - * add support for tags (#264) - * Make posts limit configurable (#314) - * XML escape the title field of feed_meta (#306) - -### Bug Fixes - - * Fix feed link when post title contains HTML (#305) - -### Development Fixes - - * Use Dir to list source files (#309) - * Require Ruby &gt;=2.4.0 (#307) - -## 0.13.0 / 2019-11-13 - -### Minor Enhancements - - * Excerpt only flag (#287) - * Add media:content tag (#290) - -### Development Fixes - - * test: use categories in post (#249) - -## 0.12.1 / 2019-03-23 - -### Bug Fixes - - * Re-introduce Ruby 2.3 support and test Jekyll 3.7+ (#272) - -## 0.12.0 / 2019-03-21 - - * Allow Jekyll v4 (still alpha) - -### Development Fixes - - * style: fix offenses in specs (#248) - * dev: update CI and style settings (#258) - * Enable testing for Windows platform (#265) - -## 0.11.0 / 2018-09-09 - -### Development Fixes - - * Require Ruby 2.3 (#222) - * Refactor to remove redundant calls and variables (#240) - -### Minor Enhancements - - * Categories and collections (#228) - * Remove check for older version of Jekyll (#234) - -## 0.10.0 / 2018-06-04 - -### Bug Fixes - - * Escape image URL (#209) - -### Development Fixes - - * Rubocop 0.55 (#223) - * Bump Rubocop (#230) - -### Minor Enhancements - - * Support Typhoeus 1.0 (#232) - -## 0.9.3 / 2018-02-04 - - * Define path with __dir (#187) - * Bump Ruby for Travis (#188) - -### Documentation - - * Fix: Add note about using plugins instead of gems key (#197) - * Add documentation for disabling smartify filter (#205) - * Use `https` in more places. (#165) - -### Development Fixes - - * Rubocop: Target Ruby 2.2 (#195) - * Test feeds that have a `site.lang` (#164) - * Test against Ruby 2.5 (#201) - -### Minor Enhancements - - * fix <entry> template for posts with post.lang defined (#168) - -## 0.9.3 / 2017-03-28 - -## 0.9.1 / 2017-02-17 - -### Minor Enhancements - - * Update feed.xml (#162) - -## 0.9.0 / 2017-02-16 - -### Minor Enhancements - - * Use absolute_url to generate the feed_meta url (#150) - * Make feed stylesheet optional (#149) - * Use new `normalize_whitespace` filter (#143) - * Feed entries must contain <author> (#152) - * Remove trailing slash from feed ID (#159) - -### Development Fixes - - * Simplify minify regular expression (#141) - * Namespace as JekyllFeed (#151) - * rubocop -a (#160) - -### Bug Fixes - - * Filter out drafts before limit (#154) - -## 0.8.0 / 2016-10-06 - - * Use filters to clean up Liquid template (#134) - -### Minor Enhancements - - * Don't set @site.config["time"] on feed generation (#138) - -### pedantry - - * Appease Rubocop (#139) - -## 0.7.2 / 2016-10-06 - - * Support `image.path` when `post.image` is an object (#137) - -## 0.7.1 / 2016-09-26 - - * Assign `url_base` before first usage (#133) - -## 0.7.0 / 2016-09-06 - - * Use type="html" to skirt around double escaping problem (#127) - -## 0.6.0 / 2016-07-08 - - * Cleanup `post_author` logic (#113) - * Add XML stylesheet example with XSLT (#119) - * DRY up and add more doc (#120) - * Use smartify filter (#117) - -## 0.5.1 / 2016-04-18 - - * Fix mangling of whitespace when `site.lang` is set (#110) - -## 0.5.0 / 2016-04-13 - - * Consolidate regexps for stripping whitespace (#82) - * Only test against Jekyll 3 (#99) - * Think about how i18n might work (#75) - * Find author by reference (#106) - * Drop support for Jekyll 2 (#105) - * Add support for post image (#104) - -### Minor Enhancements - - * Use Module#method_defined? (#83) - * Use site.title for meta tag if available (#100) - -### Development Fixes - - * Do not require [**jekyll-last-modified-at**](https://github.com/gjtorikian/jekyll-last-modified-at) in tests (#87) - * Add Rubocop (#81) - * Correct typo in tests (#102) - * Simplify testing feed_meta tag (#101) - * Quiet known warnings in tests (#103) - -## 0.4.0 / 2015-12-30 - - * Feed uses `site.title`, or `site.name` if `title` doesn't exist (#72) - * Replace newlines with spaces in `title` and `summary` elements (#67) - * Properly render post content with Jekyll (#73) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/LICENSE.txt deleted file mode 100644 index e8e1337..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2015-present Ben Balter and jekyll-feed contributors - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/README.md deleted file mode 100644 index 3159782..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-feed-0.15.1/README.md +++ /dev/null @@ -1,253 +0,0 @@ -# Jekyll Feed plugin - -A Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts - -[![Build Status](https://travis-ci.org/jekyll/jekyll-feed.svg)](https://travis-ci.org/jekyll/jekyll-feed) [![Gem Version](https://badge.fury.io/rb/jekyll-feed.svg)](https://badge.fury.io/rb/jekyll-feed) - -## Installation - -Add this line to your site's Gemfile: - -```ruby -gem 'jekyll-feed' -``` - -And then add this line to your site's `_config.yml`: - -```yml -plugins: - - jekyll-feed -``` - -:warning: If you are using Jekyll < 3.5.0 use the `gems` key instead of `plugins`. - -## Usage - -The plugin will automatically generate an Atom feed at `/feed.xml`. - -### Optional configuration options - -The plugin will automatically use any of the following configuration variables, if they are present in your site's `_config.yml` file. - -* `title` or `name` - The title of the site, e.g., "My awesome site" -* `description` - A longer description of what your site is about, e.g., "Where I blog about Jekyll and other awesome things" -* `url` - The URL to your site, e.g., `https://example.com`. If none is provided, the plugin will try to use `site.github.url`. -* `author` - Global author information (see below) - -### Already have a feed path? - -Do you already have an existing feed someplace other than `/feed.xml`, but are on a host like GitHub Pages that doesn't support machine-friendly redirects? If you simply swap out `jekyll-feed` for your existing template, your existing subscribers won't continue to get updates. Instead, you can specify a non-default path via your site's config. - -```yml -feed: - path: atom.xml -``` - -To note, you shouldn't have to do this unless you already have a feed you're using, and you can't or wish not to redirect existing subscribers. - -### Optional front matter - -The plugin will use the following post metadata, automatically generated by Jekyll, which you can override via a post's YAML front matter: - -* `date` -* `title` -* `excerpt` -* `id` -* `category` -* `tags` - -Additionally, the plugin will use the following values, if present in a post's YAML front matter: - -* `image` - URL of an image that is representative of the post (can also be passed as `image.path`) - -* `author` - The author of the post, e.g., "Dr. Jekyll". If none is given, feed readers will look to the feed author as defined in `_config.yml`. Like the feed author, this can also be an object or a reference to an author in `_data/authors.yml` (see below). - -### Author information - -*TL;DR: In most cases, put `author: [your name]` in the document's front matter, for sites with multiple authors. If you need something more complicated, read on.* - -There are several ways to convey author-specific information. Author information is found in the following order of priority: - -1. An `author` object, in the documents's front matter, e.g.: - - ```yml - author: - twitter: benbalter - ``` - -2. An `author` object, in the site's `_config.yml`, e.g.: - - ```yml - author: - twitter: benbalter - ``` - -3. `site.data.authors[author]`, if an author is specified in the document's front matter, and a corresponding key exists in `site.data.authors`. E.g., you have the following in the document's front matter: - - ```yml - author: benbalter - ``` - - And you have the following in `_data/authors.yml`: - - ```yml - benbalter: - picture: /img/benbalter.png - twitter: jekyllrb - - potus: - picture: /img/potus.png - twitter: whitehouse - ``` - - In the above example, the author `benbalter`'s Twitter handle will be resolved to `@jekyllrb`. This allows you to centralize author information in a single `_data/authors` file for site with many authors that require more than just the author's username. - - *Pro-tip: If `authors` is present in the document's front matter as an array (and `author` is not), the plugin will use the first author listed.* - -4. An author in the document's front matter (the simplest way), e.g.: - - ```yml - author: benbalter - ``` - -5. An author in the site's `_config.yml`, e.g.: - - ```yml - author: benbalter - ``` - -### Meta tags - -The plugin exposes a helper tag to expose the appropriate meta tags to support automated discovery of your feed. Simply place `{% feed_meta %}` someplace in your template's `<head>` section, to output the necessary metadata. - -### SmartyPants - -The plugin uses [Jekyll's `smartify` filter](https://jekyllrb.com/docs/templates/) for processing the site title and post titles. This will translate plain ASCII punctuation into "smart" typographic punctuation. This will not render or strip any Markdown you may be using in a title. - -Jekyll's `smartify` filter uses [kramdown](https://kramdown.gettalong.org/options.html) as a processor. Accordingly, if you do not want "smart" typographic punctuation, disabling them in kramdown in your `_config.yml` will disable them in your feed. For example: - - ```yml - kramdown: - smart_quotes: apos,apos,quot,quot - typographic_symbols: {hellip: ...} - ``` - -### Custom styling - -Want to style what your feed looks like in the browser? When a XSLT Styleheet file named `feed.xslt.xml` exists at the root of your repository, a link to this stylesheet is added to the generated feed. - -## Why Atom, and not RSS? - -Great question. In short, Atom is a better format. Think of it like RSS 3.0. For more information, see [this discussion on why we chose Atom over RSS 2.0](https://github.com/jekyll/jekyll-rss-feed/issues/2). - -## Categories - -Jekyll Feed can generate feeds for each category. Simply define which categories you'd like feeds for in your config: - -```yml -feed: - categories: - - news - - updates -``` - -## Posts limit - -By default the plugin limits the number of posts in the feed to 10. Simply define a new limit in your config: - -```yml -feed: - posts_limit: 20 -``` - -## Collections - -Jekyll Feed can generate feeds for collections other than the Posts collection. This works best for chronological collections (e.g., collections with dates in the filenames). Simply define which collections you'd like feeds for in your config: - -```yml -feed: - collections: - - changes -``` - -By default, collection feeds will be outputted to `/feed/<COLLECTION>.xml`. If you'd like to customize the output path, specify a collection's custom path as follows: - -```yml -feed: - collections: - changes: - path: "/changes.xml" -``` - -Finally, collections can also have category feeds which are outputted as `/feed/<COLLECTION>/<CATEGORY>.xml`. Specify categories like so: - -```yml -feed: - collections: - changes: - path: "/changes.xml" - categories: - - news - - updates -``` - -## Excerpt Only flag - -Optional flag `excerpt_only` allows you to exclude post content from the Atom feed. Default value is `false` for backward compatibility. - -When in `config.yml` is `true` than all posts in feed will be without `<content>` tags. - -```yml -feed: - excerpt_only: true -``` - -The same flag can be used directly in post file. It will be disable `<content>` tag for selected post. -Settings in post file has higher priority than in config file. - -## Tags - -To automatically generate feeds for each tag you apply to your posts you can add a tags setting to your config: - -```yml -feed: - tags: true -``` - -If there are tags you don't want included in this auto generation you can exclude them - -```yml -feed: - tags: - except: - - tag-to-exclude - - another-tag -``` - -If you wish to change the location of these auto generated feeds (`/feed/by_tag/<TAG>.xml` by default) you can provide an alternative folder for them to live in. - -```yml -feed: - tags: - path: "alternative/path/for/tags/feeds/" -``` - -If you only want to generate feeds for a few tags you can also set this. - -```yml -feed: - tags: - only: - - tag-to-include - - another-tag -``` - -Note that if you include a tag that is excluded a feed will not be generated for it. - -## Contributing - -1. Fork it (https://github.com/jekyll/jekyll-feed/fork) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create a new Pull Request diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.rspec deleted file mode 100644 index 5f16476..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---format progress diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.rubocop.yml deleted file mode 100644 index e86cc3d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.rubocop.yml +++ /dev/null @@ -1,28 +0,0 @@ -inherit_gem: - jekyll: .rubocop.yml - -AllCops: - TargetRubyVersion: 2.1 - Exclude: - - vendor/**/* - - spec/*.rb - -Lint/IneffectiveAccessModifier: - Exclude: - - lib/jekyll-gist/gist_tag.rb - -Lint/ShadowedException: - Exclude: - - lib/jekyll-gist/gist_tag.rb - -Metrics/AbcSize: - Exclude: - - lib/jekyll-gist/gist_tag.rb - -Metrics/MethodLength: - Exclude: - - lib/jekyll-gist/gist_tag.rb - -Style/PreferredHashMethods: - Exclude: - - lib/jekyll-gist/gist_tag.rb diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.travis.yml deleted file mode 100644 index 4eb8a4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: ruby -script : script/cibuild -sudo: false -notifications: - email: false -branches: - only: - - master - -rvm: - - 2.4 - - 2.3 - - 2.2 - - 2.1 -env: - - "" - - JEKYLL_VERSION=3.6.2 -matrix: - include: - - # GitHub Pages - rvm: 2.4.0 - env: GH_PAGES=true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/Gemfile deleted file mode 100644 index c24711a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" -gemspec - -if ENV["GH_PAGES"] - gem "github-pages" -elsif ENV["JEKYLL_VERSION"] - gem "jekyll", "~> #{ENV["JEKYLL_VERSION"]}" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/History.markdown deleted file mode 100644 index 586a6c2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/History.markdown +++ /dev/null @@ -1,76 +0,0 @@ -## HEAD - -### Documentation - - * replace &#39;plugins&#39; key in config with &#39;gems&#39; (#46) - * Docs: Remove username in gist (#54) - -### Development Fixes - - * Remove testing for Jekyll 2.x - * Requires Ruby > 2.1 - * Add release script - * Inherit Jekyll&#39;s rubocop config for consistency (#48) - * define path with __dir__ (#47) - - -## 1.4.1 / 2017-06-21 - - * Don't ask .empty? until it's a String. (#38) - * rename Liquid 4 `has_key?` to `key?` to add compatibility for liquid 4 (#41) - * Test against Ruby 2.1 to 2.4 (#45) - -## 1.4.0 / 2015-12-01 - - * Allow `noscript` fallback to be disabled (#29) - * Use Octokit to fetch Gist content when passed `JEKYLL_GITHUB_TOKEN` in env(#28) - -## 1.3.5 / 2015-10-23 - - * Fix encoding error for `noscript` code (#23) - * Test against Jekyll 3, 2, and the github-pages gem (#19) - -## 1.3.4 / 2015-08-28 - - * Catch `TimeoutError` to further support 1.9.3 (#16) - -## 1.3.3 / 2015-08-20 - - * Fix gemspec to allow Ruby 1.9.3 (relates to #14) - -## 1.3.2 / 2016-08-19 - - * Re-add support for Ruby 1.9.3. Fixes #11 for 1.9.3 (#14) - * Replaced `OpenURI` with `Net::HTTP` and introduced timeout of 3 seconds (#11) - -## 1.3.1 / 2015-08-16 - - * Replaced `OpenURI` with `Net::HTTP` and introduced timeout of 3 seconds (#11) - -## 1.3.0 / 2015-08-05 - - * Added an `noscript` fallback for browsers without JavaScript enabled. (#7) - -## 1.2.1 / 2015-03-22 - - * Use `has_key?` (#6) - -## 1.2.0 / 2015-03-21 - -### Minor Enhancements - - * Allow variables as parameters (#4) - -### Development Fixes - - * Fix RSpec deprecation warning (#5) - -## 1.1.0 / 2014-06-18 - -### Minor Enhancements - - * Update regex to allow for new sha-ish ids in Gist. (#1) - -## 1.0.0 / 2014-06-01 - - * Birthday! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/LICENSE.txt deleted file mode 100644 index 3ed9f59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2014 Parker Moore - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/README.md deleted file mode 100644 index 9bbba39..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# Jekyll::Gist - -Liquid tag for displaying GitHub Gists in Jekyll sites: `{% gist %}`. - -[![Build Status](https://travis-ci.org/jekyll/jekyll-gist.svg?branch=master)](https://travis-ci.org/jekyll/jekyll-gist) - -## Installation - -Add this line to your application's Gemfile: - - $ gem 'jekyll-gist' - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install jekyll-gist - -Then add the following to your site's `_config.yml`: - -``` -plugins: - - jekyll-gist -``` - -💡 If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`. - -## Usage - -Use the tag as follows in your Jekyll pages, posts and collections: - -```liquid -{% gist c08ee0f2726fd0e3909d %} -``` - -This will create the associated script tag: - -```html -<script src="https://gist.github.com/parkr/c08ee0f2726fd0e3909d.js"> </script> -``` - -You may optionally specify a `filename` after the `gist_id`: - -```liquid -{% gist c08ee0f2726fd0e3909d test.md %} -``` - -This will produce the correct URL to show just the specified file in your post rather than the entire Gist. - -**Pro-tip**: If you provide a personal access token with Gist scope, as the environmental variable `JEKYLL_GITHUB_TOKEN`, Jekyll Gist will use the Gist API to speed up site generation. - -## Disabling `noscript` support - -By default, Jekyll Gist will make an HTTP call per Gist to retrieve the raw content of the Gist. This information is used to propagate `noscript` tags for search engines and browsers without Javascript support. If you'd like to disable this feature, for example, to speed up builds locally, add the following to your site's `_config.yml`: - -```yml -gist: - noscript: false -``` - -## Contributing - -1. Fork it ( https://github.com/jekyll/jekyll-gist/fork ) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create a new Pull Request diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/Rakefile deleted file mode 100644 index 5263b58..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/Rakefile +++ /dev/null @@ -1,3 +0,0 @@ -# frozen_string_literal: true - -require "bundler/gem_tasks" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/jekyll-gist.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/jekyll-gist.gemspec deleted file mode 100644 index dfdd91f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/jekyll-gist.gemspec +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path("lib", __dir__) - -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "jekyll-gist/version" - -Gem::Specification.new do |spec| - spec.name = "jekyll-gist" - spec.version = Jekyll::Gist::VERSION - spec.authors = ["Parker Moore"] - spec.email = ["parkrmoore@gmail.com"] - spec.summary = "Liquid tag for displaying GitHub Gists in Jekyll sites." - spec.homepage = "https://github.com/jekyll/jekyll-gist" - spec.license = "MIT" - - spec.required_ruby_version = ">= 2.1" - - spec.files = `git ls-files -z`.split("\x0") - spec.executables = spec.files.grep(%r!^bin/!) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r!^(test|spec|features)/!) - spec.require_paths = ["lib"] - - spec.add_dependency "octokit", "~> 4.2" - spec.add_development_dependency "bundler", "~> 1.6" - spec.add_development_dependency "jekyll", ">= 3.0" - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec" - spec.add_development_dependency "rubocop", "~> 0.51" - spec.add_development_dependency "webmock" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/bootstrap deleted file mode 100755 index 31a01b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/bootstrap +++ /dev/null @@ -1,4 +0,0 @@ -#! /usr/bin/env bash -set -ex - -bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/cibuild deleted file mode 100755 index 70e6da6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/cibuild +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/env bash -set -e - -script/fmt -bundle exec rspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/fmt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/fmt deleted file mode 100755 index c5351ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/fmt +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -e - -echo "Rubocop $(bundle exec rubocop --version)" -bundle exec rubocop -D -E $@ -success=$? -if ((success != 0)); then - echo -e "\nTry running \`script/fmt -a\` to automatically fix errors" -fi -exit $success diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/release b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/release deleted file mode 100755 index c204a27..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/script/release +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/bash - -rake release diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/fixtures/multiple-files.json b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/fixtures/multiple-files.json deleted file mode 100644 index 338d3a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/fixtures/multiple-files.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", - "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", - "id": "aa5a315d61ae9438b18d", - "description": "description of gist", - "public": true, - "owner": { - "login": "octocat", - "id": 1, - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "user": null, - "files": { - "ring.erl": { - "size": 932, - "raw_url": "https://gist.githubusercontent.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl", - "type": "text/plain", - "language": "Erlang", - "truncated": false, - "content": "contents of gist" - }, - "hello-world.rb": { - "size": 932, - "raw_url": "https://gist.githubusercontent.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl", - "type": "text/plain", - "language": "Ruby", - "truncated": false, - "content": "puts 'hello world'" - } - }, - "comments": 0, - "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", - "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", - "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "created_at": "2010-04-14T02:15:15Z", - "updated_at": "2011-06-20T11:34:15Z", - "forks": [ - { - "user": { - "login": "octocat", - "id": 1, - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "url": "https://api.github.com/gists/dee9c42e4998ce2ea439", - "id": "dee9c42e4998ce2ea439", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z" - } - ], - "history": [ - { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f", - "version": "57a7f021a713b1c5a6a199b54cc514735d2d462f", - "user": { - "login": "octocat", - "id": 1, - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "change_status": { - "deletions": 0, - "additions": 180, - "total": 180 - }, - "committed_at": "2010-04-14T02:15:15Z" - } - ] -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/fixtures/single-file.json b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/fixtures/single-file.json deleted file mode 100644 index 9ac7921..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/fixtures/single-file.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", - "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", - "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", - "id": "aa5a315d61ae9438b18d", - "description": "description of gist", - "public": true, - "owner": { - "login": "octocat", - "id": 1, - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "user": null, - "files": { - "ring.erl": { - "size": 932, - "raw_url": "https://gist.githubusercontent.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl", - "type": "text/plain", - "language": "Erlang", - "truncated": false, - "content": "contents of gist" - } - }, - "comments": 0, - "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", - "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", - "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", - "created_at": "2010-04-14T02:15:15Z", - "updated_at": "2011-06-20T11:34:15Z", - "forks": [ - { - "user": { - "login": "octocat", - "id": 1, - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "url": "https://api.github.com/gists/dee9c42e4998ce2ea439", - "id": "dee9c42e4998ce2ea439", - "created_at": "2011-04-14T16:00:49Z", - "updated_at": "2011-04-14T16:00:49Z" - } - ], - "history": [ - { - "url": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f", - "version": "57a7f021a713b1c5a6a199b54cc514735d2d462f", - "user": { - "login": "octocat", - "id": 1, - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - }, - "change_status": { - "deletions": 0, - "additions": 180, - "total": 180 - }, - "committed_at": "2010-04-14T02:15:15Z" - } - ] -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/gist_tag_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/gist_tag_spec.rb deleted file mode 100644 index f04618c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/gist_tag_spec.rb +++ /dev/null @@ -1,175 +0,0 @@ -require "spec_helper" - -describe(Jekyll::Gist::GistTag) do - let(:http_output) { "<test>true</test>" } - let(:doc) { doc_with_content(content) } - let(:content) { "{% gist #{gist} %}" } - let(:output) do - doc.content = content - doc.output = Jekyll::Renderer.new(doc.site, doc).run - end - - before(:each) { ENV["JEKYLL_GITHUB_TOKEN"] = nil } - - context "valid gist" do - context "with user prefix" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist}/raw").to_return(:body => http_output) } - let(:gist) { "mattr-/24081a1d93d2898ecf0f" } - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{gist}.js">\s<\/script>!) - end - it "produces the correct noscript tag" do - expect(output).to match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "without user prefix" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist}/raw").to_return(:body => http_output) } - let(:gist) { "28949e1d5ee2273f9fd3" } - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{gist}.js">\s<\/script>!) - end - it "produces the correct noscript tag" do - expect(output).to match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "classic Gist id style" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist}/raw").to_return(:body => http_output) } - let(:gist) { "1234321" } - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{gist}.js">\s<\/script>!) - end - it "produces the correct noscript tag" do - expect(output).to match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "with file specified" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist}/raw/#{filename}").to_return(:body => http_output) } - let(:gist) { "mattr-/24081a1d93d2898ecf0f" } - let(:filename) { "myfile.ext" } - let(:content) { "{% gist #{gist} #{filename} %}" } - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{gist}.js\?file=#{filename}">\s<\/script>!) - end - it "produces the correct noscript tag" do - expect(output).to match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "with variable gist id" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist_id}/raw").to_return(:body => http_output) } - let(:gist_id) { "1342013" } - let(:gist) { "page.gist_id" } - let(:output) do - doc.data["gist_id"] = gist_id - doc.content = content - doc.output = Jekyll::Renderer.new(doc.site, doc).run - end - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{doc.data['gist_id']}.js">\s<\/script>!) - end - it "produces the correct noscript tag" do - expect(output).to match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "with variable gist id and filename" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist_id}/raw/#{gist_filename}").to_return(:body => http_output) } - let(:gist_id) { "1342013" } - let(:gist_filename) { "atom.xml" } - let(:gist) { "page.gist_id" } - let(:filename) { "page.gist_filename" } - let(:content) { "{% gist #{gist} #{filename} %}" } - let(:output) do - doc.data["gist_id"] = "1342013" - doc.data["gist_filename"] = "atom.xml" - doc.content = content - doc.output = Jekyll::Renderer.new(doc.site, doc).run - end - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{doc.data['gist_id']}.js\?file=#{doc.data['gist_filename']}">\s<\/script>!) - end - - it "produces the correct noscript tag" do - expect(output).to match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "with valid gist id and invalid filename" do - before { stub_request(:get, "https://gist.githubusercontent.com/#{gist_id}/raw/#{gist_filename}").to_return(:status => 404) } - let(:gist_id) { "mattr-/24081a1d93d2898ecf0f" } - let(:gist_filename) { "myfile.ext" } - let(:content) { "{% gist #{gist_id} #{gist_filename} %}" } - - it "produces the correct script tag" do - expect(output).to match(%r!<script src="https:\/\/gist.github.com\/#{gist_id}.js\?file=#{gist_filename}">\s<\/script>!) - end - - it "does not produce the noscript tag" do - expect(output).to_not match(%r!<noscript><pre>&lt;test&gt;true&lt;\/test&gt;<\/pre><\/noscript>\n!) - end - end - - context "with token" do - before { ENV["JEKYLL_GITHUB_TOKEN"] = "1234" } - before do - stub_request(:get, "https://api.github.com/gists/1342013") - .to_return(:status => 200, :body => fixture("single-file"), :headers => { "Content-Type" => "application/json" }) - end - let(:gist_id) { "1342013" } - let(:gist) { "page.gist_id" } - let(:output) do - doc.data["gist_id"] = gist_id - doc.content = content - doc.output = Jekyll::Renderer.new(doc.site, doc).run - end - - it "produces the noscript tag" do - expect(output).to match(%r!<noscript><pre>contents of gist<\/pre><\/noscript>!) - end - - context "with a filename" do - before do - stub_request(:get, "https://api.github.com/gists/1342013") - .to_return(:status => 200, :body => fixture("multiple-files"), :headers => { "Content-Type" => "application/json" }) - end - let(:content) { "{% gist 1342013 hello-world.rb %}" } - - it "produces the noscript tag" do - expect(output).to match(%r!<noscript><pre>puts &#39;hello world&#39;<\/pre><\/noscript>!) - end - end - end - - context "with noscript disabled" do - let(:doc) { doc_with_content(content, { "gist" => { "noscript" => false } }) } - let(:output) do - doc.content = content - doc.output = Jekyll::Renderer.new(doc.site, doc).run - end - let(:gist) { "mattr-/24081a1d93d2898ecf0f" } - - it "does not produce the noscript tag" do - expect(output).to_not match(%r!<noscript>!) - end - end - end - - context "invalid gist" do - context "no gist id present" do - let(:gist) { "" } - - it "raises an error" do - expect(-> { output }).to raise_error - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/spec_helper.rb deleted file mode 100644 index f2d0a7a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-gist-1.5.0/spec/spec_helper.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -TEST_DIR = __dir__ -TMP_DIR = File.expand_path("../tmp", TEST_DIR) - -require "webmock/rspec" -require "cgi" -require "jekyll" -require File.expand_path("../lib/jekyll-gist.rb", TEST_DIR) - -Jekyll.logger.log_level = :error - -RSpec.configure do |config| - config.run_all_when_everything_filtered = true - config.filter_run :focus - config.order = "random" - - def tmp_dir(*files) - File.join(TMP_DIR, *files) - end - - def source_dir(*files) - tmp_dir("source", *files) - end - - def dest_dir(*files) - tmp_dir("dest", *files) - end - - def doc_with_content(_content, opts = {}) - my_site = site(opts) - Jekyll::Document.new(source_dir("_test/doc.md"), { :site => my_site, :collection => collection(my_site) }) - end - - def collection(site, label = "test") - Jekyll::Collection.new(site, label) - end - - def site(opts = {}) - conf = Jekyll::Utils.deep_merge_hashes(Jekyll::Configuration::DEFAULTS, opts.merge({ - "source" => source_dir, - "destination" => dest_dir, - })) - Jekyll::Site.new(conf) - end - - def fixture(name) - path = File.expand_path "fixtures/#{name}.json", __dir__ - File.open(path).read - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/.rspec deleted file mode 100644 index 5f16476..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---format progress diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/.travis.yml deleted file mode 100644 index 55765aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: ruby -cache: bundler -before_install: script/unbundle -install: -- travis_retry bundle install --path vendor/bundle -rvm: -- 2.1 -- 2.0 -- 1.9.3 -script: script/cibuild -notifications: - irc: - on_success: change - on_failure: change - channels: - - irc.freenode.org#jekyll - template: - - '%{repository}#%{build_number} (%{branch}) %{message} %{build_url}' - email: - on_success: never - on_failure: never diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/Gemfile deleted file mode 100644 index c892bd3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -# Specify your gem's dependencies in jekyll-paginate.gemspec -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/History.markdown deleted file mode 100644 index 605e4c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/History.markdown +++ /dev/null @@ -1,9 +0,0 @@ -## 1.1.0 / 2014-10-14 - -### Minor Enhancements - - * Filter out posts that have `hidden: true` in front matter (#13) - -### Development Fixes - - * Fix tests for rspec 3. (#9) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/LICENSE.txt deleted file mode 100644 index 3ed9f59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2014 Parker Moore - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/README.md deleted file mode 100644 index 67fd2fc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# Jekyll::Paginate - -Default pagination generator for Jekyll. - -[![Build Status](https://secure.travis-ci.org/jekyll/jekyll-paginate.svg?branch=master)](https://travis-ci.org/jekyll/jekyll-paginate) - -## Installation - -Add this line to your application's Gemfile: - - gem 'jekyll-paginate' - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install jekyll-paginate - -## Usage - -Once the gem is installed on your system, Jekyll will auto-require it. Just set the following configuration - -## Contributing - -1. Fork it ( http://github.com/jekyll/jekyll-paginate/fork ) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new Pull Request diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/Rakefile deleted file mode 100644 index 2995527..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/Rakefile +++ /dev/null @@ -1 +0,0 @@ -require "bundler/gem_tasks" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/jekyll-paginate.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/jekyll-paginate.gemspec deleted file mode 100644 index ab46067..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/jekyll-paginate.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# coding: utf-8 -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'jekyll-paginate/version' - -Gem::Specification.new do |spec| - spec.name = "jekyll-paginate" - spec.version = Jekyll::Paginate::VERSION - spec.authors = ["Parker Moore"] - spec.email = ["parkrmoore@gmail.com"] - spec.summary = %q{Built-in Pagination Generator for Jekyll} - spec.homepage = "https://github.com/jekyll/jekyll-paginate" - spec.license = "MIT" - - spec.files = `git ls-files -z`.split("\x0") - spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) - spec.require_paths = ["lib"] - - spec.add_development_dependency "jekyll", "~> 2.0" - spec.add_development_dependency "bundler", "~> 1.5" - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.0" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/bootstrap deleted file mode 100755 index 0a74479..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/cibuild deleted file mode 100755 index 45d681a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/cibuild +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -bundle exec rspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/unbundle b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/unbundle deleted file mode 100755 index 9c4120b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/script/unbundle +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -RELEASES_URL="https://github.com/jekyll/jekyll/releases" -JEKYLL_VERSION=`curl http://jekyllrb.com/latest_version.txt` -JEKYLL_BUNDLE="jekyll-${JEKYLL_VERSION}.tar.gz" - -wget "${RELEASES_URL}/download/v${JEKYLL_VERSION}/${JEKYLL_BUNDLE}" -tar -xzvf ${JEKYLL_BUNDLE} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/pager_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/pager_spec.rb deleted file mode 100644 index 2dba114..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/pager_spec.rb +++ /dev/null @@ -1,134 +0,0 @@ -require 'spec_helper' - -RSpec.describe(Jekyll::Paginate::Pager) do - - it "calculate number of pages" do - expect(described_class.calculate_pages([], '2')).to eql(0) - expect(described_class.calculate_pages([1], '2')).to eql(1) - expect(described_class.calculate_pages([1,2], '2')).to eql(1) - expect(described_class.calculate_pages([1,2,3], '2')).to eql(2) - expect(described_class.calculate_pages([1,2,3,4], '2')).to eql(2) - expect(described_class.calculate_pages([1,2,3,4,5], '2')).to eql(3) - end - - context "with the default paginate_path" do - let(:site) { build_site } - - it "determines the correct pagination path for each page" do - expect(described_class.paginate_path(site, 1)).to eql("/index.html") - expect(described_class.paginate_path(site, 2)).to eql("/page2") - end - end - - context "with paginate_path set to a subdirectory with no index.html" do - let(:site) { build_site({'paginate_path' => '/blog/page-:num'}) } - - it "determines the correct pagination path for each page" do - expect(described_class.paginate_path(site, 1)).to eql("/index.html") - expect(described_class.paginate_path(site, 2)).to eql("/blog/page-2") - end - end - - context "with paginate_path set to a subdirectory with no index.html with num pages being in subdirectories" do - let(:site) { build_site({'paginate_path' => '/blog/page/:num'}) } - - it "determines the correct pagination path for each page" do - expect(described_class.paginate_path(site, 1)).to eql("/index.html") - expect(described_class.paginate_path(site, 2)).to eql("/blog/page/2") - end - end - - context "with paginate_path set to a subdirectory wherein an index.html exists" do - let(:site) { build_site({'paginate_path' => '/contacts/page:num'}) } - - it "determines the correct pagination path for each page" do - expect(described_class.paginate_path(site, 1)).to eql("/contacts/index.html") - expect(described_class.paginate_path(site, 2)).to eql("/contacts/page2") - end - end - - context "with paginate_path set to a subdir wherein an index.html exists with pages in subdirs" do - let(:site) { build_site({'paginate_path' => '/contacts/page/:num'}) } - - it "determines the correct pagination path for each page" do - expect(described_class.paginate_path(site, 1)).to eql("/contacts/index.html") - expect(described_class.paginate_path(site, 2)).to eql("/contacts/page/2") - end - end - - context "pagination disabled" do - let(:site) { build_site('paginate' => nil) } - - it "report that pagination is disabled" do - expect(described_class.pagination_enabled?(site)).to be_falsey - end - end - - context "pagination enabled for 2" do - let(:site) { build_site('paginate' => 2) } - let(:posts) { site.posts } - - it "report that pagination is enabled" do - expect(described_class.pagination_enabled?(site)).to be_truthy - end - - context "with 4 posts" do - let(:posts) { site.posts[1..4] } - - it "create first pager" do - pager = described_class.new(site, 1, posts) - expect(pager.posts.size).to eql(2) - expect(pager.total_pages).to eql(2) - expect(pager.previous_page).to be_nil - expect(pager.next_page).to eql(2) - end - - it "create second pager" do - pager = described_class.new(site, 2, posts) - expect(pager.posts.size).to eql(2) - expect(pager.total_pages).to eql(2) - expect(pager.previous_page).to eql(1) - expect(pager.next_page).to be_nil - end - - it "not create third pager" do - expect { described_class.new(site, 3, posts) }.to raise_error - end - - end - - context "with 5 posts" do - let(:posts) { site.posts[1..5] } - - it "create first pager" do - pager = described_class.new(site, 1, posts) - expect(pager.posts.size).to eql(2) - expect(pager.total_pages).to eql(3) - expect(pager.previous_page).to be_nil - expect(pager.next_page).to eql(2) - end - - it "create second pager" do - pager = described_class.new(site, 2, posts) - expect(pager.posts.size).to eql(2) - expect(pager.total_pages).to eql(3) - expect(pager.previous_page).to eql(1) - expect(pager.next_page).to eql(3) - end - - it "create third pager" do - pager = described_class.new(site, 3, posts) - expect(pager.posts.size).to eql(1) - expect(pager.total_pages).to eql(3) - expect(pager.previous_page).to eql(2) - expect(pager.next_page).to be_nil - end - - it "not create fourth pager" do - expect { described_class.new(site, 4, posts) }.to raise_error(RuntimeError) - end - - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/pagination_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/pagination_spec.rb deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-20-blah.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-20-blah.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-21-bleh.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-21-bleh.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-22-humor.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-22-humor.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-23-hey-there.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-23-hey-there.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-24-whateva.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-24-whateva.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-25-oh-yes.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/_posts/2014-05-25-oh-yes.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/contacts/index.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/contacts/index.html deleted file mode 100644 index a49ba48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/contacts/index.html +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/index.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/index.html deleted file mode 100644 index a49ba48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/source/index.html +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/spec_helper.rb deleted file mode 100644 index c8de534..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-paginate-1.1.0/spec/spec_helper.rb +++ /dev/null @@ -1,97 +0,0 @@ -require 'jekyll' -require File.expand_path("../lib/jekyll-paginate", File.dirname(__FILE__)) - -module TestMethods - def test_dir(*subdirs) - File.join(File.dirname(__FILE__), *subdirs) - end - - def dest_dir(*subdirs) - test_dir('dest', *subdirs) - end - - def source_dir(*subdirs) - test_dir('source', *subdirs) - end - - def build_configs(overrides, base_hash = Jekyll::Configuration::DEFAULTS) - Jekyll::Utils.deep_merge_hashes(base_hash, overrides) - end - - def site_configuration(overrides = {}) - build_configs({ - "source" => source_dir, - "destination" => dest_dir - }, build_configs(overrides)) - end - - def build_site(config = {}) - site = Jekyll::Site.new(site_configuration( - {"paginate" => 1}.merge(config) - )) - site.process - site - end -end - -RSpec.configure do |config| - config.expect_with :rspec do |expectations| - expectations.include_chain_clauses_in_custom_matcher_descriptions = true - end - - # rspec-mocks config goes here. You can use an alternate test double - # library (such as bogus or mocha) by changing the `mock_with` option here. - config.mock_with :rspec do |mocks| - # Prevents you from mocking or stubbing a method that does not exist on - # a real object. This is generally recommended, and will default to - # `true` in RSpec 4. - mocks.verify_partial_doubles = true - end - - # These two settings work together to allow you to limit a spec run - # to individual examples or groups you care about by tagging them with - # `:focus` metadata. When nothing is tagged with `:focus`, all examples - # get run. - config.filter_run :focus - config.run_all_when_everything_filtered = true - - # Limits the available syntax to the non-monkey patched syntax that is recommended. - # For more details, see: - # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax - # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ - # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching - config.disable_monkey_patching! - - # This setting enables warnings. It's recommended, but in some cases may - # be too noisy due to issues in dependencies. - # config.warnings = true - - # Many RSpec users commonly either run the entire suite or an individual - # file, and it's useful to allow more verbose output when running an - # individual spec file. - if config.files_to_run.one? - # Use the documentation formatter for detailed output, - # unless a formatter has already been configured - # (e.g. via a command-line flag). - config.default_formatter = 'doc' - end - - # Print the 10 slowest examples and example groups at the - # end of the spec run, to help surface which specs are running - # particularly slow. - config.profile_examples = 10 - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 - config.order = :random - - # Seed global randomization in this process using the `--seed` CLI option. - # Setting this allows you to use `--seed` to deterministically reproduce - # test failures related to randomization by passing the same `--seed` value - # as the one that triggered the failure. - Kernel.srand config.seed - - include TestMethods -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rspec deleted file mode 100644 index 98b34a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rspec +++ /dev/null @@ -1,4 +0,0 @@ ---color ---format progress ---require spec_helper ---order random diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rubocop.yml deleted file mode 100644 index abb6557..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rubocop.yml +++ /dev/null @@ -1,11 +0,0 @@ -inherit_from: .rubocop_todo.yml - -require: rubocop-jekyll - -inherit_gem: - rubocop-jekyll: .rubocop.yml - -AllCops: - TargetRubyVersion: 2.4 - Exclude: - - vendor/**/* diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rubocop_todo.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rubocop_todo.yml deleted file mode 100644 index b0fac8c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.rubocop_todo.yml +++ /dev/null @@ -1,40 +0,0 @@ -# This configuration was generated by -# `rubocop --auto-gen-config` -# on 2018-12-06 11:51:19 +0100 using RuboCop version 0.61.1. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 12 -# Configuration parameters: CountComments, Max, ExcludedMethods. -# ExcludedMethods: refine -Metrics/BlockLength: - Exclude: - - 'spec/integrations_spec.rb' - - 'spec/jekyll_redirect_from/generator_spec.rb' - - 'spec/jekyll_redirect_from/redirect_page_spec.rb' - - 'spec/jekyll_redirect_from/redirectable_spec.rb' - - 'spec/spec_helper.rb' - -# Offense count: 3 -# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. -# URISchemes: http, https -Metrics/LineLength: - Exclude: - - 'spec/jekyll_redirect_from/generator_spec.rb' - - 'spec/jekyll_redirect_from/redirect_page_spec.rb' - -# Offense count: 1 -# Configuration parameters: EnforcedStyleForLeadingUnderscores. -# SupportedStylesForLeadingUnderscores: disallowed, required, optional -Naming/MemoizedInstanceVariableName: - Exclude: - - 'lib/jekyll-redirect-from/page_without_a_file.rb' - -# Offense count: 2 -# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: io, id, to, by, on, in, at, ip, db -Naming/UncommunicativeMethodParamName: - Exclude: - - 'lib/jekyll-redirect-from/redirect_page.rb' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.travis.yml deleted file mode 100644 index 3570263..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: ruby -cache: bundler -rvm: - - &latest_ruby 2.6 - - 2.4 - - 2.3 -env: - - JEKYLL_VERSION="~> 3.8" -matrix: - include: - - # GitHub Pages - rvm: 2.5.3 - env: GH_PAGES=true - - rvm: *latest_ruby - env: JEKYLL_VERSION="~> 4.0" - -before_install: -- gem update --system -before_script: bundle update -script: script/cibuild diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/Gemfile deleted file mode 100644 index 7ffc8ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" -gemspec - -gem "github-pages" if ENV["GH_PAGES"] -gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/History.markdown deleted file mode 100644 index 1190d11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/History.markdown +++ /dev/null @@ -1,203 +0,0 @@ -## 0.16.0 / 2020-01-26 - -### Minor Enhancements - - * Allows generation of `redirects.json` to be disabled (#207) - * Allow redirects from and for subclasses of page and document (#204) - -### Bug Fixes - - * Use `Hash#key?` instead of `Hash#keys.any?` (#201) - -### Development Fixes - - * Target Ruby 2.4 - * Stop testing with backwards-compatible site config (#211) - -### Documentation - - * Simplifies YAML for `redirect_to` (#185) - -## 0.15.0 / 2019-03-23 - -### Development Fixes - - * chore(deps): rubocop-jekyll 0.3 (#187) - -### Bug Fixes - - * Allow testing and using with Jekyll 4.x (#196) - -## 0.14.0 / 2018-06-29 - -### Minor Enhancements - - * Run javascript at first to avoid splash (#158) - -### Development Fixes - - * Use Rubocop 0.57 - * Target Ruby 2.3 - * Test against Ruby 2.5 (#173) - -## 0.13.0 / 2017-12-03 - - * Test against same version of Ruby that GitHub Pages uses (#132) - -### Development Fixes - - * Rubocop (#141) - * Fix tests for jekyll 3.5.x (#160) - * Rubocop: autocorrect (#165) - -### Minor Enhancements - - * HTML encode ellipsis (#142) - * Added no-index to template (#152) - * Define path with __dir__ (#161) - -### Major Enhancements - - * Create redirects.json file (#147) - -### Documentation - - * Update README.md (#167) - -## 0.12.1 / 2017-01-12 - -### Development Fixes - - * Stop testing Ruby 1.9 (#133) - -### Minor Enhancements - - * Use send to monkey patch to support Ruby < 2.2.0 (#136) - * set `page.output` to empty string instead of nil (#137) - -## 0.12.0 / 2017-01-02 - -### Major Enhancements - - * Support for custom redirect templates - * Use Jekyll's `absolute_url` filter to generate canonical URLs (now respecting `baseurl`) - * Rely more heavily on Jekyll's native Page, permalink, and extension handling logic - -### Minor Enhancementse - - * redirect_to Pages should not have a layout. (#115) - * Require Jekyll >= 3.3 - -### Development Enhancements - - * Push redirect logic to the redirect page model (#131) - * Add Rubocop and enforce Jekyll coding standards - * Tests no longer build and write the entire site between each example - * Removed all the `is_*`? and `has_*`? helpers from the generator - -## 0.11.0 / 2016-07-06 - - * Redirect page should not have any layout (#106) - * Include absolute path in canonical url (#109) - * Add <html> tag and language (#100) - * Ensure redirect_to links produce an HTML file. (#111) - -## 0.10.0 / 2016-03-16 - - * Ensure output extension is assigned (#96) - -## 0.9.1 / 2015-12-11 - - * Enforce double-quote strings to pass htmlhint (#83) - * Stringify all values coming from `site.github` (#89) - -## 0.9.0 / 2015-10-28 - - * Support Jekyll 3 stable (#76) - * Test against Jekyll 3, 2, and GitHub Pages (#72) - -## 0.8.0 / 2015-05-20 - - * Exclude redirect pages from sitemap (#69) - -## 0.7.0 / 2015-03-16 - - * Remove spaces in redirect page (#62) - * Only parse through documents/pages/posts (#56) - * Simplified `has_alt_urls?` and `has_redirect_to_url?` conditions (#52) - * Add support for Jekyll 3. (#59) - -## 0.6.2 / 2014-09-12 - - * Fixed error where `redirect_to` `Document`s were not being output properly (#46) - -## 0.6.1 / 2014-09-08 - - * Fixed error when the `site.github` config key is not a `Hash` (#43) - -## 0.6.0 / 2014-08-22 - - * Support redirecting to/from collection documents (#40) - -## 0.5.0 / 2014-08-10 - -### Minor Enhancements - - * Support `redirect_to` property (#32) - * Automatically prefix redirects with the `baseurl` or GitHub URL. (#26) - -### Bug Fixes - - * Remove unnecessary `Array#flatten` (#34) - -### Development Fixes - - * Use `be_truthy` instead of `be_true`. (#33) - -## 0.4.0 / 2014-05-06 - -### Major Enhancements - - * Upgrade to Jekyll 2.0 (#27) - -### Minor Enhancements - - * Shorten resulting HTML to make redirects quicker (#20) - -### Development Fixes - - * Use SVG Travis badge in README (#21) - -## 0.3.1 / 2014-01-22 - -### Bug Fixes - - * Add `safe true` to the `Jekyll::Generator` so it can be run in safe mode (#12) - -## 0.3.0 / 2014-01-15 - -### Major Enhancements - - * `redirect_from` items are now proper permalinks rooted in site source (#8) - -### Development Fixes - - * Add forgotten `s` to `gems` in README.md (#7) - -## 0.2.0 / 2014-01-04 - -### Minor Enhancements - - * Allow user to set one or many `redirect_from` URLs - * Rename from `jekyll-alt-urls` to `jekyll-redirect-from` (props to @benbalter) - * Namespace now its own module: `JekyllRedirectFrom` (#3) - -### Development Fixes - - * Add history file - * Add specs (#3) - * Add TravisCI badge (#4) - -## 0.1.0 / 2013-12-15 - - * Birthday! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/LICENSE.txt deleted file mode 100644 index 0295617..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2013-present Parker Moore and jekyll-redirect-from contributors - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/README.md deleted file mode 100644 index 706435b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/README.md +++ /dev/null @@ -1,149 +0,0 @@ -# JekyllRedirectFrom - -Give your Jekyll posts and pages multiple URLs. - -When importing your posts and pages from, say, Tumblr, it's annoying and -impractical to create new pages in the proper subdirectories so they, e.g. -`/post/123456789/my-slug-that-is-often-incompl`, redirect to the new post URL. - -Instead of dealing with maintaining those pages for redirection, let -`jekyll-redirect-from` handle it for you. - -[![Build Status](https://travis-ci.org/jekyll/jekyll-redirect-from.svg?branch=master)](https://travis-ci.org/jekyll/jekyll-redirect-from) - -## How it Works - -Redirects are performed by serving an HTML file with an HTTP-REFRESH meta -tag which points to your destination. No `.htaccess` file, nginx conf, xml -file, or anything else will be generated. It simply creates HTML files. - -## Installation - -Add this line to your application's Gemfile: - - gem 'jekyll-redirect-from' - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install jekyll-redirect-from - -Once it's installed into your evironment, add it to your `_config.yml`: - -```yaml -plugins: - - jekyll-redirect-from -``` - -💡 If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`. - -If you're using Jekyll in `safe` mode to mimic GitHub Pages, make sure to -add jekyll-redirect-from to your whitelist: - -```yaml -whitelist: - - jekyll-redirect-from -``` - -Then run `jekyll <cmd> --safe` like normal. - -## Usage - -The object of this gem is to allow an author to specify multiple URLs for a -page, such that the alternative URLs redirect to the new Jekyll URL. - -To use it, simply add the array to the YAML front-matter of your page or post: - -```yaml -title: My amazing post -redirect_from: - - /post/123456789/ - - /post/123456789/my-amazing-post/ -``` - -Redirects including a trailing slash will generate a corresponding subdirectory containing an `index.html`, while redirects without a trailing slash will generate a corresponding `filename` without an extension, and without a subdirectory. - -For example... - -```text -redirect_from: - - /post/123456789/my-amazing-post -``` - -...will generate the following page in the destination: - -```text -/post/123456789/my-amazing-post -``` - -While... - -```text -redirect_from: - - /post/123456789/my-amazing-post/ -``` - -...will generate the following page in the destination: - -```text -/post/123456789/my-amazing-post/index.html -``` - -These pages will contain an HTTP-REFRESH meta tag which redirect to your URL. - -You can also specify just **one url** like this: - -```text -title: My other awesome post -redirect_from: /post/123456798/ -``` - -### Prefix - -If `site.url` is set, its value, together with `site.baseurl`, is used as a prefix for the redirect url automatically. This is useful for scenarios where a site isn't available from the domain root, so the redirects point to the correct path. If `site.url` is not set, only `site.baseurl` is used, if set. - -**_Note_**: If you are hosting your Jekyll site on [GitHub Pages](https://pages.github.com/), and `site.url` is not set, the prefix is set to the pages domain name i.e. http://example.github.io/project or a custom CNAME. - -### Redirect To - -Sometimes, you may want to redirect a site page to a totally different website. This plugin also supports that with the `redirect_to` key: - -```yaml -title: My amazing post -redirect_to: http://www.github.com -``` - -**Note**: Using `redirect_to` or `redirect_from` with collections will only work with files which are output to HTML, such as `.md`, `.textile`, `.html` etc. - -## Customizing the redirect template - -If you want to customize the redirect template, you can. Simply create a layout in your site's `_layouts` directory called `redirect.html`. - -Your layout will get the following variables: - -* `page.redirect.from` - the relative path to the redirect page -* `page.redirect.to` - the absolute URL (where available) to the target page - -## Configuration - -You can configure this plugin in `_config.yml` by adding to the `redirect_from` key. - -### Disabling `redirects.json` - -By default, a file called `redirects.json`, which can be used for automated testing or to implement server-side redirects, will be included in the output. To exclude it from the output, set the `json` key to `false`: - -```yml -redirect_from: - json: false -``` - -## Contributing - -1. Fork it -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new Pull Request diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/Rakefile deleted file mode 100644 index ee617bb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -require "bundler/gem_tasks" -require "rspec/core/rake_task" - -RSpec::Core::RakeTask.new(:spec) - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/jekyll-redirect-from.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/jekyll-redirect-from.gemspec deleted file mode 100644 index cdad96a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/jekyll-redirect-from.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path("lib", __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "jekyll-redirect-from/version" - -Gem::Specification.new do |spec| - spec.name = "jekyll-redirect-from" - spec.version = JekyllRedirectFrom::VERSION - spec.authors = ["Parker Moore"] - spec.email = ["parkrmoore@gmail.com"] - spec.summary = "Seamlessly specify multiple redirection URLs " \ - "for your pages and posts" - spec.homepage = "https://github.com/jekyll/jekyll-redirect-from" - spec.license = "MIT" - - # rubocop:disable Style/SpecialGlobalVars - spec.files = `git ls-files`.split($/) - # rubocop:enable Style/SpecialGlobalVars - - spec.executables = spec.files.grep(%r!^bin/!) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r!^(test|spec|features)/!) - spec.require_paths = ["lib"] - - spec.required_ruby_version = ">= 2.4.0" - - spec.add_runtime_dependency "jekyll", ">= 3.3", "< 5.0" - - spec.add_development_dependency "bundler" - spec.add_development_dependency "jekyll-sitemap", "~> 1.0" - spec.add_development_dependency "rake", "~> 12.0" - spec.add_development_dependency "rspec", "~> 3.5" - spec.add_development_dependency "rubocop-jekyll", "~> 0.10" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/bootstrap deleted file mode 100755 index e3126bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/bootstrap +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/bash -set -e - -bundle install -j8 || bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/cibuild deleted file mode 100755 index 40589af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/cibuild +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/bash -set -e - -script/test -script/fmt -bundle exec rake build diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/fmt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/fmt deleted file mode 100755 index c5351ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/fmt +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -e - -echo "Rubocop $(bundle exec rubocop --version)" -bundle exec rubocop -D -E $@ -success=$? -if ((success != 0)); then - echo -e "\nTry running \`script/fmt -a\` to automatically fix errors" -fi -exit $success diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/release b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/release deleted file mode 100755 index 6c9fcf2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/release +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/bash - -script/cibuild -bundle exec rake release diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/test b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/test deleted file mode 100755 index 8f46fe4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/script/test +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -bundle exec rspec $@ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-me-plz.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-me-plz.md deleted file mode 100644 index 6b78e96..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-me-plz.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Please redirect me, sir. -redirect_from: /articles/23128432159832/mary-had-a-little-lamb ---- - -Yay. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-somewhere-else-im-a-permalink.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-somewhere-else-im-a-permalink.html deleted file mode 100644 index aab0bd3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-somewhere-else-im-a-permalink.html +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Please redirect away from me and my permalink. -permalink: /tags/our projects/ -redirect_to: /tags/our-projects/ ---- - -Bye. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-somewhere-else-plz.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-somewhere-else-plz.html deleted file mode 100644 index afae101..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_articles/redirect-somewhere-else-plz.html +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Please redirect away from me, sir. -redirect_to: "http://www.zombo.com" ---- - -Boo. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_authors/kansaichris.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_authors/kansaichris.md deleted file mode 100644 index 6b23a08..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_authors/kansaichris.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -redirect_from: /kansaichris/ ---- - -Hi. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_layouts/layout.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_layouts/layout.html deleted file mode 100644 index 82e099d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_layouts/layout.html +++ /dev/null @@ -1,6 +0,0 @@ ---- ---- - -LAYOUT INCLUDED - -{{ content }} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_posts/2014-01-03-redirect-me-plz.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_posts/2014-01-03-redirect-me-plz.md deleted file mode 100644 index e25d2c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/_posts/2014-01-03-redirect-me-plz.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Please redirect me, sir. -redirect_from: /posts/23128432159832/mary-had-a-little-lamb ---- - -Yay. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/multiple_redirect_froms.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/multiple_redirect_froms.md deleted file mode 100644 index d7a196d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/multiple_redirect_froms.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: I have lots of redirect urls -redirect_from: -- help -- contact -- let-there/be/light-he-said -- /geepers/mccreepin ---- - -Lots of redirect urls diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/multiple_redirect_tos.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/multiple_redirect_tos.md deleted file mode 100644 index 8d6f76e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/multiple_redirect_tos.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: I have lots of redirect to urls -redirect_to: -- https://www.jekyllrb.com -- https://www.github.com -- https://www.twitter.com ---- - -Lots of redirect to urls. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_from.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_from.md deleted file mode 100644 index 86be7ef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_from.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: I only have one redirect path -redirect_from: some/other/path ---- - -One redirect url diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_to_path.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_to_path.md deleted file mode 100644 index d379671..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_to_path.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: I am going somewhere external -redirect_to: /foo ---- - -Redirecting elsewhere. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_to_url.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_to_url.md deleted file mode 100644 index 6b3f28c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/one_redirect_to_url.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: I am going somewhere external -redirect_to: https://www.github.com ---- - -Redirecting elsewhere. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/tags/how we work.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/tags/how we work.md deleted file mode 100644 index e87d072..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/fixtures/tags/how we work.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -redirect_to: "/tags/how-we-work/" -permalink: "/tags/how we work/" ---- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/integrations_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/integrations_spec.rb deleted file mode 100644 index 2ca7b64..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/integrations_spec.rb +++ /dev/null @@ -1,88 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe "JekyllRedirectFrom integration tests" do - before { site.process } - let(:relative_path) { "" } - let(:path) { dest_dir(relative_path) } - let(:contents) { File.read(path) } - - context "pages" do - context "single redirect from" do - let(:relative_path) { "some/other/path.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("http://jekyllrb.com/one_redirect_from.html") - end - end - - context "multiple redirect froms" do - %w(help contact let-there/be/light-he-said geepers/mccreepin).each do |redirect| - context "the #{redirect} redirect" do - let(:relative_path) { "#{redirect}.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("http://jekyllrb.com/multiple_redirect_froms.html") - end - end - end - end - - context "a redirect to URL" do - let(:relative_path) { "one_redirect_to_url.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("https://www.github.com") - end - end - - context "a redirect to path" do - let(:relative_path) { "one_redirect_to_path.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("http://jekyllrb.com/foo") - end - end - end - - context "documents" do - context "a single redirect from" do - let(:relative_path) { "articles/23128432159832/mary-had-a-little-lamb.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("http://jekyllrb.com/articles/redirect-me-plz.html") - end - end - - context "redirect to" do - let(:relative_path) { "articles/redirect-somewhere-else-plz.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("http://www.zombo.com") - end - end - - context "with a permalink" do - let(:relative_path) { "tags/our projects/index.html" } - - it "exists in the built site" do - expect(path).to exist - expect(contents).to match("http://jekyllrb.com/tags/our-projects/") - end - end - end - - context "sitemap" do - let(:relative_path) { "sitemap.xml" } - - it "doesn't contain redirects" do - expect(contents).to_not be_nil - expect(contents).to_not match("redirect_to") - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/context_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/context_spec.rb deleted file mode 100644 index b619d03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/context_spec.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe JekyllRedirectFrom::Context do - subject { described_class.new(site) } - - it "stores the site" do - expect(subject.site).to be_a(Jekyll::Site) - end - - it "returns the register" do - expect(subject.registers).to have_key(:site) - expect(subject.registers[:site]).to be_a(Jekyll::Site) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/generator_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/generator_spec.rb deleted file mode 100644 index 5a7767b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/generator_spec.rb +++ /dev/null @@ -1,171 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe JekyllRedirectFrom::Generator do - before(:each) do - site.read - site.generate - site.render - site.write - end - - context "layouts" do - context "a site with a redirect layout" do - before { site.layouts["redirect"] = "foo" } - - it "doesn't inject the layout" do - expect(site.layouts["redirect"]).to eql("foo") - end - end - - context "a site without a redirect layout" do - it "injects the layout" do - expect(site.layouts["redirect"]).to be_a(JekyllRedirectFrom::Layout) - end - end - end - - context "redirect froms" do - context "pages" do - context "a page with a single redirect" do - let(:page) { site.pages.find { |p| p.url == "/some/other/path" } } - - it "creates the redirect" do - expect(page).to_not be_nil - expect(page.output).to match("http://jekyllrb.com/one_redirect_from.html") - end - end - - context "a page with multiple redirects" do - let(:redirects) do - ["/help", "/contact", "/let-there/be/light-he-said", "/geepers/mccreepin"] - end - - it "creates all the redirects" do - redirects.each do |url| - page = site.pages.find { |p| p.url == url } - expect(page).to_not be_nil - expect(page.output).to match("http://jekyllrb.com/multiple_redirect_froms.html") - end - end - end - end - - context "documents" do - let(:page) { site.pages.find { |p| p.url == "/articles/23128432159832/mary-had-a-little-lamb" } } - - it "redirects" do - expect(page).to_not be_nil - expect(page.output).to match("http://jekyllrb.com/articles/redirect-me-plz.html") - end - end - end - - context "redirect tos" do - context "pages" do - context "a single redirect to" do - let(:page) { site.pages.find { |p| p.url == "/one_redirect_to_url.html" } } - - it "redirects" do - expect(page.output).to match("https://www.github.com") - end - end - - context "multiple redirect tos" do - let(:page) { site.pages.find { |p| p.url == "/multiple_redirect_tos.html" } } - - it "redirects to the first entry" do - expect(page.output).to match("https://www.jekyllrb.com") - end - end - end - - context "documents" do - let(:doc) { site.documents.find { |p| p.url == "/articles/redirect-somewhere-else-plz.html" } } - - it "redirects" do - expect(doc.output).to match("http://www.zombo.com") - end - end - end - - context "redirects.json" do - let(:path) { dest_dir("redirects.json") } - let(:contents) { File.read(path) } - let(:redirects) { JSON.parse(contents) } - let(:domain) { "http://jekyllrb.com" } - - it "creates the redirects file" do - expect(path).to exist - end - - it "contains redirects" do - expect(redirects.count).to eql(13) - end - - it "contains single redirects tos" do - expect(redirects.keys).to include "/one_redirect_to_path.html" - expect(redirects["/one_redirect_to_path.html"]).to eql("#{domain}/foo") - end - - it "contains multiple redirect tos" do - expect(redirects.keys).to include "/multiple_redirect_tos.html" - expect(redirects["/multiple_redirect_tos.html"]).to eql("https://www.jekyllrb.com") - end - - it "contains single redirect froms" do - expect(redirects.keys).to include "/some/other/path" - expect(redirects["/some/other/path"]).to eql("#{domain}/one_redirect_from.html") - end - - it "contains multiple redirect froms" do - expect(redirects.keys).to include "/help" - expect(redirects["/help"]).to eql("#{domain}/multiple_redirect_froms.html") - - expect(redirects.keys).to include "/contact" - expect(redirects["/contact"]).to eql("#{domain}/multiple_redirect_froms.html") - end - - context "with a user-supplied redirects.json" do - let(:source_path) { File.join fixtures_path, "redirects.json" } - before do - File.write source_path, { "foo" => "bar" }.to_json - site.reset - site.read - site.generate - site.render - site.write - end - - after do - FileUtils.rm_f source_path - end - - it "doesn't overwrite redirects.json" do - expect(path).to exist - expect(redirects).to eql("foo" => "bar") - end - end - - context "when explicitly disabled" do - let(:site) { Jekyll::Site.new(config.merge("redirect_from" => { "json" => false })) } - - it "does not create the redirects file" do - expect(path).to_not exist - end - end - end - - context "redirectable_document?" do - let(:generator) { JekyllRedirectFrom::Generator.new } - - it "accepts subclasses of Jekyll::Document" do - SubclassOfJekyllDocument = Class.new(Jekyll::Document) { define_method(:initialize) {} } - expect(generator.send(:redirectable_document?, SubclassOfJekyllDocument.new)).to be_truthy - end - - it "accepts subclasses of Jekyll::Page" do - SubclassOfJekyllPage = Class.new(Jekyll::Page) { define_method(:initialize) {} } - expect(generator.send(:redirectable_document?, SubclassOfJekyllPage.new)).to be_truthy - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/layout_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/layout_spec.rb deleted file mode 100644 index 60d6f42..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/layout_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe JekyllRedirectFrom::Layout do - subject { described_class.new(@site) } - - it "exposes the site" do - expect(subject.site).to eql(@site) - end - - it "exposes the name" do - expect(subject.name).to eql("redirect.html") - end - - it "exposes the path" do - expected = File.expand_path "../../lib/jekyll-redirect-from/redirect.html", __dir__ - expect(subject.path).to eql(expected) - end - - it "exposes the relative path" do - expect(subject.relative_path).to eql("_layouts/redirect.html") - end - - it "exposes the ext" do - expect(subject.ext).to eql("html") - end - - it "exposes data" do - expect(subject.data).to eql({}) - end - - it "exposes content" do - expect(subject.content).to match("Redirecting...") - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/redirect_page_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/redirect_page_spec.rb deleted file mode 100644 index e3cd2c6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/redirect_page_spec.rb +++ /dev/null @@ -1,211 +0,0 @@ -# frozen_string_literal: true - -describe JekyllRedirectFrom::RedirectPage do - let(:from) { "/foo" } - let(:to) { "/bar" } - let(:site_url) { site.config["url"] } - subject { described_class.from_paths(site, from, to) } - before { site.read } - - context "being a page" do - before { subject.read_yaml(nil, nil, nil) } - - it "returns no content" do - expect(subject.content).to eql("") - end - - it "returns no output" do - expect(subject.output).to eql("") - end - - it "sets default data" do - expect(subject.to_liquid["layout"]).to eql("redirect") - expect(subject.to_liquid["sitemap"]).to be_falsey - end - end - - context "creating a page from paths" do - it "sets the permalink" do - expect(subject.to_liquid["permalink"]).to eql(from) - end - - it "sets redirect metadata" do - expect(subject.to_liquid).to have_key("redirect") - expect(subject.to_liquid["redirect"]["from"]).to eql(from) - expect(subject.to_liquid["redirect"]["to"]).to eql("#{site_url}#{to}") - end - - context "with a document" do - let(:doc) { site.documents.first } - - context "redirect from" do - let(:page) { described_class.redirect_from(doc, from) } - - it "creates with redirect_from" do - expect(page.to_liquid["permalink"]).to eql(from) - expect(page.to_liquid).to have_key("redirect") - expect(page.to_liquid["redirect"]["from"]).to eql(from) - expected = "http://jekyllrb.com/2014/01/03/redirect-me-plz.html" - expect(page.to_liquid["redirect"]["to"]).to eql(expected) - end - end - - context "redirect to" do - let(:page) { described_class.redirect_to(doc, to) } - - context "redirecting to a path" do - let(:to) { "/bar" } - - it "redirects" do - expect(page.to_liquid["permalink"]).to eql("/2014/01/03/redirect-me-plz.html") - expect(page.to_liquid).to have_key("redirect") - expect(page.to_liquid["redirect"]["to"]).to eql("#{site_url}#{to}") - expect(page.to_liquid["redirect"]["from"]).to eql("/2014/01/03/redirect-me-plz.html") - end - - context "with no leading slash" do - let(:to) { "bar" } - - it "redirects" do - expect(page.to_liquid).to have_key("redirect") - expect(page.to_liquid["redirect"]["to"]).to eql("#{site_url}/#{to}") - end - end - - context "with a trailing slash" do - let(:to) { "/bar/" } - - it "redirects" do - expect(page.to_liquid).to have_key("redirect") - expect(page.to_liquid["redirect"]["to"]).to eql("#{site_url}#{to}") - end - end - end - - context "redirecting to a URL" do - let(:to) { "https://foo.invalid" } - - it "redirects" do - expect(page.to_liquid["permalink"]).to eql("/2014/01/03/redirect-me-plz.html") - expect(page.to_liquid).to have_key("redirect") - expect(page.to_liquid["redirect"]["to"]).to eql("https://foo.invalid") - expect(page.to_liquid["redirect"]["from"]).to eql("/2014/01/03/redirect-me-plz.html") - end - end - end - end - end - - context "setting the paths" do - let(:from) { "/foo2" } - let(:to) { "/bar2" } - - before { subject.set_paths(from, to) } - - it "sets the paths" do - expect(subject.to_liquid["permalink"]).to eql(from) - expect(subject.to_liquid).to have_key("redirect") - expect(subject.to_liquid["redirect"]["from"]).to eql(from) - expect(subject.to_liquid["redirect"]["to"]).to eql("#{site_url}#{to}") - end - end - - context "generating" do - before { site.generate } - let(:output) { Jekyll::Renderer.new(site, subject, site.site_payload).run } - - it "renders the template" do - expect(output).to_not be_nil - expect(output.to_s).to_not be_empty - end - - it "contains the meta refresh tag" do - expect(output).to match("<meta http-equiv=\"refresh\" content=\"0; url=#{site_url}#{to}\">") - end - - it "contains the javascript redirect" do - expect(output).to match("<script>location=\"#{site_url}#{to}\"</script>") - end - - it "contains canonical link in header" do - expect(output).to match("<link rel=\"canonical\" href=\"#{site_url}#{to}\">") - end - - it "contains the clickable link" do - expect(output).to match("<a href=\"#{site_url}#{to}\">Click here if you are not redirected.</a>") - end - end - - context "redirect from destination" do - context "when redirect from has no extension" do - let(:from) { "/foo" } - - it "adds .html" do - expected = File.expand_path "foo.html", site.dest - expect(subject.destination("/")).to eql(expected) - end - end - - context "when redirect from is a directory" do - let(:from) { "/foo/" } - - it "knows to add the index.html" do - expected = File.expand_path "foo/index.html", site.dest - expect(subject.destination("/")).to eql(expected) - end - end - - context "when redirect from is an HTML file" do - let(:from) { "/foo.html" } - - it "adds .html" do - expected = File.expand_path "foo.html", site.dest - expect(subject.destination("/")).to eql(expected) - end - end - - context "when redirect from is another extension" do - let(:from) { "/foo.htm" } - - it "doesn't add .html" do - expected = File.expand_path "foo.htm", site.dest - expect(subject.destination("/")).to eql(expected) - end - end - - context "when redirect from has no leading slash" do - let(:from) { "foo" } - - it "adds the slash" do - expected = File.expand_path "foo.html", site.dest - expect(subject.destination("/")).to eql(expected) - end - end - end - - context "output extension" do - context "with an extension" do - let(:from) { "foo.htm" } - - it "honors the extension" do - expect(subject.output_ext).to eql(".htm") - end - end - - context "with a trailing slash" do - let(:from) { "foo/" } - - it "uses HTML" do - expect(subject.output_ext).to eql(".html") - end - end - - context "with no slash" do - let(:from) { "foo" } - - it "uses HTML" do - expect(subject.output_ext).to eql(".html") - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/redirectable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/redirectable_spec.rb deleted file mode 100644 index c9a2108..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/jekyll_redirect_from/redirectable_spec.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -class RedirectableTestHelper - include JekyllRedirectFrom::Redirectable - attr_reader :to_liquid - - def initialize(data) - @to_liquid = data - end -end - -RSpec.describe JekyllRedirectFrom::Redirectable do - let(:data) { "" } - subject { RedirectableTestHelper.new(data) } - - context "with strings" do - let(:data) { { "redirect_from" => "/foo", "redirect_to" => "/bar" } } - - it "returns redirect_from" do - expect(subject.redirect_from).to eql(["/foo"]) - end - - it "returns redirect_to" do - expect(subject.redirect_to).to eql("/bar") - end - end - - context "with arrays" do - let(:data) { { "redirect_from" => ["/foo"], "redirect_to" => ["/bar"] } } - - it "returns redirect_from" do - expect(subject.redirect_from).to eql(["/foo"]) - end - - it "returns redirect_to" do - expect(subject.redirect_to).to eql("/bar") - end - end - - context "with fields missing" do - let(:data) { {} } - - it "returns an empty array for redirect_from" do - expect(subject.redirect_from).to eql([]) - end - - it "returns nil for redirect_to" do - expect(subject.redirect_to).to be_nil - end - end - - context "with nils" do - let(:data) { { "redirect_from" => nil, "redirect_to" => nil } } - - it "returns an empty array for redirect_from" do - expect(subject.redirect_from).to eql([]) - end - - it "returns nil for redirect_to" do - expect(subject.redirect_to).to be_nil - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/spec_helper.rb deleted file mode 100644 index ef597e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-redirect-from-0.16.0/spec/spec_helper.rb +++ /dev/null @@ -1,59 +0,0 @@ -# frozen_string_literal: true - -require "jekyll" -require File.expand_path("lib/jekyll-redirect-from.rb") - -RSpec.configure do |config| - config.run_all_when_everything_filtered = true - config.filter_run :focus - - config.expect_with :rspec do |c| - c.syntax = :expect - end - - config.before(:each) do - Jekyll.logger.log_level = :error - dest_path.rmtree if dest_path.exist? - site.reset - end - - config.after(:each) do - dest_path.rmtree if dest_path.exist? - end - - def fixtures_path - Pathname.new(__dir__).join("fixtures") - end - - def dest_path - Pathname.new(site.dest) - end - - def dest_dir(*paths) - dest_path.join(*paths) - end - - def config - Jekyll.configuration( - "source" => fixtures_path.to_s, - "destination" => fixtures_path.join("_site").to_s, - "collections" => { - "articles" => { "output" => true }, - "authors" => {}, - }, - "url" => "http://jekyllrb.com", - "plugins" => [ - "jekyll-redirect-from", - "jekyll-sitemap", - ], - "defaults" => [{ - "scope" => { "path" => "" }, - "values" => { "layout" => "layout" }, - }] - ) - end - - def site - @site ||= Jekyll::Site.new(config) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/ci.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/ci.yml deleted file mode 100644 index 75291c8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/ci.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Continuous Integration - -on: - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - j4: - if: "!contains(github.event.commits[0].message, '[ci skip]')" - name: "Jekyll ${{ matrix.jekyll_version }} (Ruby ${{ matrix.ruby_version }})" - runs-on: 'ubuntu-latest' - env: - JEKYLL_VERSION: ${{ matrix.jekyll_version }} - strategy: - fail-fast: false - matrix: - ruby_version: - - 2.5 - - 2.7 - - 3.0 - jekyll_version: - - "~> 4.0" - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 5 - - name: "Set up Ruby ${{ matrix.ruby_version }}" - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - - name: Execute tests - run: bundle exec rspec - j3: - if: "!contains(github.event.commits[0].message, '[ci skip]')" - name: "Jekyll ${{ matrix.jekyll_version }} (Ruby ${{ matrix.ruby_version }})" - runs-on: 'ubuntu-latest' - env: - JEKYLL_VERSION: ${{ matrix.jekyll_version }} - strategy: - fail-fast: false - matrix: - ruby_version: - - 2.5 - jekyll_version: - - "~> 3.9" - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 5 - - name: "Set up Ruby ${{ matrix.ruby_version }}" - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - - name: Execute tests - run: bundle exec rspec - - style_check: - if: "!contains(github.event.commits[0].message, '[ci skip]')" - name: "Code Style Check (Ruby ${{ matrix.ruby_version }})" - runs-on: 'ubuntu-latest' - strategy: - fail-fast: false - matrix: - ruby_version: - - 2.5 - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 5 - - name: "Set up Ruby ${{ matrix.ruby_version }}" - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - - name: Check Style Offenses - run: bundle exec rubocop -S -D - - gem_build: - if: "!contains(github.event.commits[0].message, '[ci skip]')" - name: "Test Gem build (Ruby ${{ matrix.ruby_version }})" - runs-on: 'ubuntu-latest' - strategy: - fail-fast: false - matrix: - ruby_version: - - 2.5 - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 5 - - name: "Set up Ruby ${{ matrix.ruby_version }}" - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - - name: Test Gem build - run: bundle exec gem build jekyll-seo-tag.gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/release.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/release.yml deleted file mode 100644 index af07ea6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/release.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Release Gem - -on: - push: - branches: - - master - paths: - - "lib/**/version.rb" - -jobs: - release: - if: "github.repository_owner == 'jekyll'" - name: "Release Gem (Ruby ${{ matrix.ruby_version }})" - runs-on: "ubuntu-latest" - strategy: - fail-fast: true - matrix: - ruby_version: - - 2.7 - steps: - - name: Checkout Repository - uses: actions/checkout@v2 - - name: "Set up Ruby ${{ matrix.ruby_version }}" - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - - name: Build and Publish Gem - uses: ashmaroli/release-gem@dist - with: - gemspec_name: jekyll-seo-tag - env: - GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_GEM_PUSH_API_KEY }} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/scripts/memprof b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/scripts/memprof deleted file mode 100644 index 2f06786..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/scripts/memprof +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -bundle exec ruby jekyll-seo-tag/.github/workflows/scripts/memprof.rb sandbox -exit 0 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/scripts/memprof.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/scripts/memprof.rb deleted file mode 100644 index 45143d8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/scripts/memprof.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -require 'jekyll' -require 'memory_profiler' - -MemoryProfiler.report(allow_files: 'lib/jekyll-seo-tag') do - Jekyll::PluginManager.require_from_bundler - Jekyll::Commands::Build.process({ - "source" => File.expand_path(ARGV[0]), - "destination" => File.expand_path("#{ARGV[0]}/_site"), - "disable_disk_cache" => true, - }) - puts '' -end.pretty_print(scale_bytes: true, normalize_paths: true) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/third-party.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/third-party.yml deleted file mode 100644 index d98e371..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.github/workflows/third-party.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: Third-Party Repository Profiling - -on: - push: - branches: - - master - pull_request: - branches: - - master -jobs: - build_n_profile: - name: "Third-Party Repo Profile (Jekyll ${{ matrix.jekyll_version }}, Ruby ${{ matrix.ruby_version }})" - runs-on: "ubuntu-latest" - strategy: - fail-fast: false - matrix: - ruby_version: - - 2.7 - jekyll_version: - - "~> 4.0" - - "~> 3.9" - env: - BUNDLE_GEMFILE: "sandbox/Gemfile" - BUNDLE_PATH: "vendor/bundle" - BUNDLE_JOBS: 4 - BUNDLE_RETRY: 3 - JEKYLL_VERSION: ${{ matrix.jekyll_version }} - steps: - - name: Checkout Jekyll SEO Tag - uses: actions/checkout@v2 - with: - fetch-depth: 5 - path: jekyll-seo-tag - - name: Checkout Third-Party Repository (WITHOUT SEO Tag) - uses: actions/checkout@v2 - with: - repository: ashmaroli/tomjoht.github.io - ref: "no-seo-tag" - path: alpha-sandbox - - name: Checkout Same Third-Party Repository (WITH SEO Tag) - uses: actions/checkout@v2 - with: - repository: ashmaroli/tomjoht.github.io - ref: "seo-tag" - path: sandbox - - name: "Set up Ruby ${{ matrix.ruby_version }}" - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true - - name: Run Jekyll Build (WITHOUT SEO Tag) 3 times - run: | - bundle exec jekyll build -s alpha-sandbox -d alpha-sandbox/_site --trace - bundle exec jekyll build -s alpha-sandbox -d alpha-sandbox/_site --trace - bundle exec jekyll build -s alpha-sandbox -d alpha-sandbox/_site --trace - - name: Run Jekyll Build (WITH SEO Tag) 3 times - run: | - bundle exec jekyll build -s sandbox -d sandbox/_site --trace - bundle exec jekyll build -s sandbox -d sandbox/_site --trace - bundle exec jekyll build -s sandbox -d sandbox/_site --trace - - name: Memory Analysis of Jekyll Build (WITH SEO Tag) - run: bash jekyll-seo-tag/.github/workflows/scripts/memprof diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rspec deleted file mode 100644 index 83e16f8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---require spec_helper diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rubocop.yml deleted file mode 100644 index 6688e6d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rubocop.yml +++ /dev/null @@ -1,42 +0,0 @@ -inherit_from: .rubocop_todo.yml - -require: rubocop-jekyll -inherit_gem: - rubocop-jekyll: .rubocop.yml - -AllCops: - TargetRubyVersion: 2.5 - SuggestExtensions: false - Exclude: - - vendor/**/* - -Layout/LineEndStringConcatenationIndentation: - Enabled: true -Layout/LineLength: - Exclude: - - spec/**/* - - jekyll-seo-tag.gemspec - -Lint/EmptyInPattern: - Enabled: false - -Metrics/BlockLength: - Exclude: - - spec/**/* - -Naming/InclusiveLanguage: - Enabled: false - -Performance/MapCompact: - Enabled: true -Performance/RedundantEqualityComparisonBlock: - Enabled: true -Performance/RedundantSplitRegexpArgument: - Enabled: true - -Style/InPatternThen: - Enabled: false -Style/MultilineInPatternThen: - Enabled: false -Style/QuotedSymbols: - Enabled: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rubocop_todo.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rubocop_todo.yml deleted file mode 100644 index 59fd59b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/.rubocop_todo.yml +++ /dev/null @@ -1,46 +0,0 @@ -# This configuration was generated by -# `rubocop --auto-gen-config --auto-gen-only-exclude` -# on 2021-09-17 06:40:32 UTC using RuboCop version 1.18.4. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 1 -# Configuration parameters: AllowComments. -Lint/EmptyClass: - Exclude: - - 'lib/jekyll-seo-tag/version.rb' - -# Offense count: 3 -Lint/NoReturnInBeginEndBlocks: - Exclude: - - 'lib/jekyll-seo-tag/author_drop.rb' - - 'lib/jekyll-seo-tag/drop.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Lint/ToJSON: - Exclude: - - 'lib/jekyll-seo-tag/json_ld_drop.rb' - -# Offense count: 1 -# Configuration parameters: IgnoredMethods, Max. -Metrics/PerceivedComplexity: - Exclude: - - 'lib/jekyll-seo-tag/drop.rb' - -# Offense count: 1 -# Configuration parameters: MinSize. -Performance/CollectionLiteralInLoop: - Exclude: - - 'spec/jekyll_seo_tag/author_drop_spec.rb' - -# Offense count: 9 -# Cop supports --auto-correct. -Style/RedundantBegin: - Exclude: - - 'lib/jekyll-seo-tag.rb' - - 'lib/jekyll-seo-tag/author_drop.rb' - - 'lib/jekyll-seo-tag/drop.rb' - - 'lib/jekyll-seo-tag/image_drop.rb' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/Gemfile deleted file mode 100644 index 40f83de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gemspec - -gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"] -gem "kramdown-parser-gfm" if ENV["JEKYLL_VERSION"] == "~> 3.9" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/History.markdown deleted file mode 100644 index 101289e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/History.markdown +++ /dev/null @@ -1,215 +0,0 @@ -## 2.8.0 / 2022-02-04 - -### Minor Enhancements - - * Allow to set type for author (#427) - * Allow setting `author.url` (#453) - * Implement Facebook domain verification (#455) - * Add `og:image:alt` and `twitter:image:alt` (#438) - * Sort JSON-LD data by key (#458) - -### Bug Fixes - - * Set the default `og:type` to &#39;website&#39; (#391) - * Template: Remove double new line (#454) - -### Development Fixes - - * Fix typo in source code comment (#449) - * Set up Continuous Integration via GH Actions (#450) - * Bump RuboCop to v1.18.x (#452) - * Add workflow to release gem via GH Actions - -## 2.7.1 / 2020-10-18 - -### Development Fixes - - * refactor: mutate site payload instead of duplicating it (#419) - -## 2.7.0 / 2020-10-18 - -### Minor Enhancements - - * Change pagination message with `seo_paginator_message` option (#324) - * Make Twitter Summary Card without having Twitter account (#284) - * Prefer site.tagline to site.description for page title (#356) - * Render og:locale meta only when defined explicitly (#388) - -### Bug Fixes - - * Ensure a single leading `@` for twitter usernames (#367) - -### Development Fixes - - * chore(deps): require Ruby > 2.4.0 EOL - * test: fix locale specs that use the fallback locale (#360) - * refactor: Replace read-only empty hash with private constant (#418) - * refactor: Mutate hash literals instead of duplicating them (#417) - * refactor: Reduce allocations of instance-agnostic objects (#376) - * refactor: Memoize #author_hash in SeoTag::AuthorDrop (#342) - * refactor: simplify conditional in SeoTag::Drop#date_modified (#343) - * chore(ci): profile seo-tag plugin on a third-party repository (#414) - * chore(ci): Jekyll v4.0 (#372) - * chore(ci): test against current stable Ruby 2.5 and 2.7 (#385) - * style: align with latest jekyll-rubocop (#382) - * fix: Travis builds for Jekyll 3.x (#415) - -### Documentation - - * Structured Data Testing Tool is deprecated (#409) - * Rename Google webmaster tools to Google Search Console (#403) - * Improve documentation on plugin usage (#399) - * remove Google+ from example snippet (#358) - * HTTPS link to https://ogp.me/ (#359) - * HTTPS links to schema.org (#350) - * use example.com for example URL (#351) - -## 2.6.1 / 2019-05-17 - -### Development Fixes - - * Test against Jekyll 4.x (#336) - -## 2.6.0 / 2019-03-16 - -### Minor Enhancements - - * Twitter Image and Title (#330) - -### Bug Fixes - - * Do not cache the drop payload for SeoTag (#306) - * Update url of schema website (#296) - -### Development Fixes - - * Relax version constraint on Bundler (#325) - * chore(ci): Add Ruby 2.6, drop Ruby 2.3 (#326) - * chore (ci): remove deprecated `sudo: false` in .travis.yml (#333) - * Lint Ruby code with rubocop-jekyll gem (#302) - * chore(deps): bump rubocop-jekyll to v0.4 (#320) - * chore(deps): bump rubocop-jekyll to v0.3 (#316) - * Correct RuboCop offenses in spec files (#319) - -### Documentation - - * Rectify error in Usage documentation (#328) - -## 2.5.0 / 2018-05-18 - - * Docs: Prevent GitHub Pages from processing Liquid raw tag (#276) - -### Documentation - - * Use gems config key for Jekyll &lt; 3.5.0 (#255) - * docs/usage - replace &#34;below&#34; with correct link (#280) - -### Development Fixes - - * Test against Ruby 2.5 (#260) - * add tests for twitter.card types (#289) - * Target Ruby 2.3 and Rubocop 0.56.0 (#292) - -### Minor Enhancements - - * Add webmaster_verifications for baidu (#263) - * Include page number in title (#250) - * Configure default Twitter summary card type (V2) (#225) - -## 2.4.0 / 2017-12-04 - -### Minor - - * Add meta generator (#236) - * Consistently use self-closing tags (#246) - * Strip null values from JSON-LD hash (#249) - -### Documentation - - * Avoid deprecation warning when building docs (#243) - -### Development Fixes - - * Test against latest Rubies (#242) - * Use Nokigiri on CI (#181) - -## 2.3.0 - -### Minor Enhancements - - * Use canonical_url specified in page if present #211 - * Fix for image.path causing an invalid url error #228 - * Ensure `site.data.authors` is properly formatted before attempting to retrieve author meta #227 - * Convert author, image, and JSON-LD to dedicated drops #229 - * Cache parsed template #231 - * Define path with `__dir__` #232 - -### Documentation - - * gems: is deprecated in current Jekyll version of github-pages #230 - -## 2.2.3 - - * Guard against the author's Twitter handle being Nil when stripping @'s #203 - * Guard against empty title or description strings #206 - -## 2.2.2 - -### Minor Enhancements - - * Guard against arrays in subhashes #197 - * Guard against invalid or missing URLs #199 - -### Development fixes - - * Remove dynamic GitHub Pages logic from Gemfile #194 - -## 2.2.1 - - * Convert template logic to a Liquid Drop (significant performance improvement) (#184) - * Fix for JSON-LD validation warning for images missing required properties (#183) - -## 2.2.0 - -### Major Enhancements - - * Add author meta (#103) - * Add og:locale support #166 - * Add support for Bing and Yandex webmaster tools. Closes #147 (#148) - * Add SEO author and date modified to validate JSON-LD output (#151) - -### Minor Enhancements - - * Use `|` for title separator (#162) - * Use `og:image` for twitter image (#174) - -### Development Fixes - - * Style fixes (#170, #157, #149) - * Test against latest version of Jekyll (#171) - * Bump dev dependencies (#172) - * Remove Rake dependency (#180) - -## 2.1.0 - -### Major Enhancement - - * Use new URL filters (#123) - -### Minor Enhancements - - * Wraps logo image json data in a publisher property (#133) - * Fix duplicated `escape_once` (#93) - * Simplify minify regex (#125) - * Don't mangle text with newlines #126 - -### Documentation - - * Add front matter default example for image (#132) - * Fix tiny typo (#106) - * add example usage of social profiles (#139) - -### Development - - * Inherit Jekyll's rubocop config for consistency (#109) - * Correct spelling in .travis.yml (#112) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/LICENSE.txt deleted file mode 100644 index 3b5c0a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-present Ben Balter and the jekyll-seo-tag contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/README.md deleted file mode 100644 index 9a9557d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/README.md +++ /dev/null @@ -1,33 +0,0 @@ -## About Jekyll SEO Tag - -A Jekyll plugin to add metadata tags for search engines and social networks to better index and display your site's content. - -[![Gem Version](https://badge.fury.io/rb/jekyll-seo-tag.svg)](https://badge.fury.io/rb/jekyll-seo-tag) [![Build Status](https://travis-ci.org/jekyll/jekyll-seo-tag.svg)](https://travis-ci.org/jekyll/jekyll-seo-tag) - -## What it does - -Jekyll SEO Tag adds the following meta tags to your site: - -* Page title, with site title or description appended -* Page description -* Canonical URL -* Next and previous URLs on paginated pages -* [JSON-LD Site and post metadata](https://developers.google.com/search/docs/guides/intro-structured-data) for richer indexing -* [Open Graph](https://ogp.me/) title, description, site title, and URL (for Facebook, LinkedIn, etc.) -* [Twitter Summary Card](https://dev.twitter.com/cards/overview) metadata - -While you could theoretically add the necessary metadata tags yourself, Jekyll SEO Tag provides a battle-tested template of crowdsourced best-practices. - -## What it doesn't do - -Jekyll SEO tag is designed to output machine-readable metadata for search engines and social networks to index and display. If you're looking for something to analyze your Jekyll site's structure and content (e.g., more traditional SEO optimization), take a look at [The Jekyll SEO Gem](https://github.com/pmarsceill/jekyll-seo-gem). - -Jekyll SEO tag isn't designed to accommodate every possible use case. It should work for most site out of the box and without a laundry list of configuration options that serve only to confuse most users. - -## Documentation - -For more information, see: - -* [Installation](installation.md) -* [Usage](usage.md) -* [Advanced usage](advanced-usage.md) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/_config.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/_config.yml deleted file mode 100644 index 286cdd0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/_config.yml +++ /dev/null @@ -1,10 +0,0 @@ -title: Jekyll SEO Tag -description: A Jekyll plugin to add metadata tags for search engines and social networks to better index and display your site's content. - -permalink: pretty - -plugins: - - jekyll-seo-tag - - jekyll-sitemap - -theme: jekyll-theme-primer diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/_layouts/default.html deleted file mode 100644 index da8eec8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/_layouts/default.html +++ /dev/null @@ -1,18 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}" rel="stylesheet"> - {% seo %} - </head> - <body> - <div class="container markdown-body"> - <h1>{{ site.title }}</h1> - - {{ content }} - </div> - <script src="{{ "assets/javascript/anchor-js/anchor.min.js" | relative_url }}"></script> - <script>anchors.add();</script> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/advanced-usage.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/advanced-usage.md deleted file mode 100644 index f334496..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/advanced-usage.md +++ /dev/null @@ -1,170 +0,0 @@ -## Advanced usage - -Jekyll SEO Tag is designed to implement SEO best practices by default and to be the right fit for most sites right out of the box. If for some reason, you need more control over the output, read on: - -### Disabling `<title>` output - -If for some reason, you don't want the plugin to output `<title>` tags on each page, simply invoke the plugin within your template like so: - -<!-- {% raw %} --> -``` -{% seo title=false %} -``` -<!-- {% endraw %} --> - -### Author information - -Author information is used to propagate the `creator` field of Twitter summary cards. This should be an author-specific, not site-wide Twitter handle (the site-wide username be stored as `site.twitter.username`). - -*TL;DR: In most cases, put `author: [your Twitter handle]` in the document's front matter, for sites with multiple authors. If you need something more complicated, read on.* - -There are several ways to convey this author-specific information. Author information is found in the following order of priority: - -1. An `author` object, in the documents's front matter, e.g.: - - ```yml - author: - twitter: benbalter - ``` - -2. An `author` object, in the site's `_config.yml`, e.g.: - - ```yml - author: - twitter: benbalter - ``` - -3. `site.data.authors[author]`, if an author is specified in the document's front matter, and a corresponding key exists in `site.data.authors`. E.g., you have the following in the document's front matter: - - ```yml - author: benbalter - ``` - - And you have the following in `_data/authors.yml`: - - ```yml - benbalter: - picture: /img/benbalter.png - twitter: jekyllrb - - potus: - picture: /img/potus.png - twitter: whitehouse - ``` - - In the above example, the author `benbalter`'s Twitter handle will be resolved to `@jekyllrb`. This allows you to centralize author information in a single `_data/authors` file for site with many authors that require more than just the author's username. - - *Pro-tip: If `authors` is present in the document's front matter as an array (and `author` is not), the plugin will use the first author listed, as Twitter supports only one author.* - -4. An author in the document's front matter (the simplest way), e.g.: - - ```yml - author: benbalter - ``` - -5. An author in the site's `_config.yml`, e.g.: - - ```yml - author: benbalter - ``` - -#### Setting author url - -Starting from August 6, 2021 [Google recommends](https://developers.google.com/search/updates) to set the `author.url` property. This property helps Google to disambiguate the correct author of the article. - -You can set it the same way as the other author properties. For example, you can put it in an `author` object, in the site's `_config.yml`, e.g.: - - ```yml - author: - name: My Name - url: https://example.com/ - ``` - -### Customizing JSON-LD output - -The following options can be set for any particular page. While the default options are meant to serve most users in the most common circumstances, there may be situations where more precise control is necessary. - -* `seo` - * `name` - If the name of the thing that the page represents is different from the page title. (i.e.: "Frank's Café" vs "Welcome to Frank's Café") - * `type` - The type of things that the page represents. This must be a [Schema.org type](https://schema.org/docs/schemas.html), and will probably usually be something like [`BlogPosting`](https://schema.org/BlogPosting), [`NewsArticle`](https://schema.org/NewsArticle), [`Person`](https://schema.org/Person), [`Organization`](https://schema.org/Organization), etc. - * `links` - An array of other URLs that represent the same thing that this page represents. For instance, Jane's bio page might include links to Jane's GitHub and Twitter profiles. - * `date_modified` - Manually specify the `dateModified` field in the JSON-LD output to override Jekyll's own `dateModified`. - This field will take **first priority** for the `dateModified` JSON-LD output. This is useful when the file timestamp does not match the true time that the content was modified. A user may also install [Last Modified At](https://github.com/gjtorikian/jekyll-last-modified-at) which will offer an alternative way of providing for the `dateModified` field. - -### Customizing image output - -For most users, setting `image: [path-to-image]` on a per-page basis should be enough. If you need more control over how images are represented, the `image` property can also be an object, with the following options: - -* `path` - The relative path to the image. Same as `image: [path-to-image]` -* `height` - The height of the Open Graph (`og:image`) image -* `width` - The width of the Open Graph (`og:image`) image -* `alt` - The alternative image text for Open Graph (`og:image:alt`) and Twitter (`twitter:image:alt`) - -You can use any of the above, optional properties, like so: - -```yml -image: - path: /img/twitter.png - height: 100 - width: 100 - alt: Twitter Logo -``` - -### Setting a default image - -You can define a default image using [Front Matter defaults](https://jekyllrb.com/docs/configuration/front-matter-defaults/), to provide a default Twitter Card or OGP image to all of your posts and pages. - -Here is a very basic example, that you are encouraged to adapt to your needs: - -```yml -defaults: - - scope: - path: "" - values: - image: /assets/images/default-card.png -``` - -### SmartyPants Titles - -Titles will be processed using [Jekyll's `smartify` filter](https://jekyllrb.com/docs/liquid/filters/). This will use SmartyPants to translate plain ASCII punctuation into "smart" typographic punctuation. This will not render or strip any Markdown you may be using in a page title. - -### Setting customized Canonical URL - -You can set custom Canonical URL for a page by specifying canonical_url option in page front matter. -E.g., you have the following in the page's front matter: -```yml -layout: post -title: Title of Your Post -canonical_url: 'https://github.com/jekyll/jekyll-seo-tag/' -``` - -Which will generate canonical_url with specified link in canonical_url. -```html -<link rel="canonical" href="https://github.com/jekyll/jekyll-seo-tag/" /> -``` - -If no canonical_url option was specified, then uses page url for generating canonical_url. -E.g., you have not specified canonical_url in front matter: -```yml -layout: post -title: Title of Your Post -``` - -Which will generate following canonical_url: -```html -<link rel="canonical" href="https://example.com/title-of-your-post" /> -``` - -### Customizing title modifier for paginated pages - -You can override the default title modifier for paginated pages from `Page %{current} of %{total} for ` to a string of your -choice by setting a `seo_paginator_message` key in your `_config.yml`. - -For example: - -```yml -seo_paginator_message: "%<current>s / %<total>s | " -``` - -While the value can be any string text, we recommend using a Ruby string-template containing the variables `current` and `total` -similar to the example above, to incorporate the current page-number and total number of paginated pages in the title. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/installation.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/installation.md deleted file mode 100644 index 4a91340..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/installation.md +++ /dev/null @@ -1,24 +0,0 @@ -# Installing Jekyll SEO Tag - -1. Add the following to your site's `Gemfile`: - - ```ruby - gem 'jekyll-seo-tag' - ``` - -2. Add the following to your site's `_config.yml`: - - ```yml - plugins: - - jekyll-seo-tag - ``` - -If you are using a Jekyll version less than `3.5.0`, use the `gems` key instead of `plugins`. - -3. Add the following right before `</head>` in your site's template(s): - -<!-- {% raw %} --> - ```liquid - {% seo %} - ``` -<!-- {% endraw %} --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/usage.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/usage.md deleted file mode 100644 index 20dbd41..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/docs/usage.md +++ /dev/null @@ -1,81 +0,0 @@ -## Usage - -The SEO tag will respect any of the following if included in your site's `_config.yml` (and simply not include them if -they're not defined): - -* `title` - Your site's title (e.g., *Ben's Awesome Site*, *The GitHub Blog*, etc.), used as part of the title tag like -`Home | Ben's Awesome Site`. -* `tagline` - A short description (e.g., *A blog dedicated to reviewing cat gifs*), used as part of the title tag like -`Ben's Awesome Site | A blog dedicated to reviewing cat gifs` instead of `Ben's Awesome Site | Long description about a -blog dedicated to reviewing cat gifs` that would be used when `page.title` is not defined. -* `description` - A longer description used for the description meta tag. Also used as fallback for pages that don't -provide their own `description`, and also as part of the page's title tag if neither `page.title` nor `site.tagline` -has been defined. -* `url` - The full URL to your site. Note: `site.github.url` will be used by default. -* `author` - global author information (see [Advanced usage](advanced-usage.md#author-information)) -* `twitter` - The following properties are available: - * `twitter:card` - The site's default card type - * `twitter:username` - The site's Twitter handle. - - You'll want to describe them like so: - - ```yml - twitter: - username: benbalter - card: summary - ``` -* `facebook` - The following properties are available: - * `facebook:app_id` - a Facebook app ID for Facebook insights - * `facebook:publisher` - a Facebook page URL or ID of the publishing entity - * `facebook:admins` - a Facebook user ID for domain insights linked to a personal account - - You'll want to describe one or more like so: - - ```yml - facebook: - app_id: 1234 - publisher: 1234 - admins: 1234 - ``` -* `logo` - URL to a site-wide logo (e.g., `/assets/your-company-logo.png`) - If you would like the "publisher" property -to be present, you must add this field to your site's configuration, during the validation of the structured data by -Google Search Console, if the `logo` field is not validated, you will find errors inherent to the publisher in the -[Rich Results Testing Tool](https://search.google.com/test/rich-results) -* `social` - For [specifying social profiles](https://developers.google.com/search/docs/guides/enhance-site#add-your-sites-name-logo-and-social-links). -The following properties are available: - * `name` - If the user or organization name differs from the site's name - * `links` - An array of links to social media profiles. - - ```yml - social: - name: Ben Balter - links: - - https://twitter.com/BenBalter - - https://www.facebook.com/ben.balter - - https://www.linkedin.com/in/BenBalter - - https://github.com/benbalter - - https://keybase.io/benbalter - ``` -* `google_site_verification` for verifying ownership via Google Search Console -* Alternatively, verify ownership with several services at once using the following format: - ```yml - webmaster_verifications: - google: 1234 - bing: 1234 - alexa: 1234 - yandex: 1234 - baidu: 1234 - facebook: 1234 - ``` -* `locale` - The locale these tags are marked up in. Of the format `language_TERRITORY`. Default is `en_US`. Takes priority -over existing config key `lang`. - -The SEO tag will respect the following YAML front matter if included in a post, page, or document: - -* `title` - The title of the post, page, or document -* `description` - A short description of the page's content -* `image` - URL to an image associated with the post, page, or document (e.g., `/assets/page-pic.jpg`) -* `author` - Page-, post-, or document-specific author information (see [Advanced usage](advanced-usage.md#author-information)) -* `locale` - Page-, post-, or document-specific locale information. Takes priority over existing front matter attribute `lang`. - -*Note:* Front matter defaults can be used for any of the above values as described in advanced usage with an image example. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/jekyll-seo-tag.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/jekyll-seo-tag.gemspec deleted file mode 100644 index 487444b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/jekyll-seo-tag.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -require_relative "lib/jekyll-seo-tag/version" - -Gem::Specification.new do |spec| - spec.name = "jekyll-seo-tag" - spec.version = Jekyll::SeoTag::VERSION - spec.authors = ["Ben Balter"] - spec.email = ["ben.balter@github.com"] - spec.summary = "A Jekyll plugin to add metadata tags for search engines and social networks to better index and display your site's content." - spec.homepage = "https://github.com/jekyll/jekyll-seo-tag" - spec.license = "MIT" - - # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or - # delete this section to allow pushing this gem to any host. - if spec.respond_to?(:metadata) - spec.metadata["allowed_push_host"] = "https://rubygems.org" - else - raise "RubyGems 2.0 or newer is required to protect against public gem pushes." - end - - spec.required_ruby_version = ">= 2.5.0" - - spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r!^(test|spec|features)/!) } - spec.bindir = "exe" - spec.executables = spec.files.grep(%r!^exe/!) { |f| File.basename(f) } - spec.require_paths = ["lib"] - - spec.add_dependency "jekyll", ">= 3.8", "< 5.0" - spec.add_development_dependency "bundler", ">= 1.15" - spec.add_development_dependency "html-proofer", "~> 3.7" - spec.add_development_dependency "rspec", "~> 3.5" - spec.add_development_dependency "rubocop-jekyll", "~> 0.12.0" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/bootstrap deleted file mode 100755 index 654265e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/bootstrap +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -ex - -bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/cibuild deleted file mode 100755 index dec4aa6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/cibuild +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -set -ex - -bundle exec rspec -bundle exec rubocop -S -D -bundle exec gem build jekyll-seo-tag.gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/release b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/release deleted file mode 100755 index 1458842..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/release +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Tag and push a release. - -set -e - -# Make sure we're in the project root. - -cd $(dirname "$0")/.. - -# Build a new gem archive. - -rm -rf jekyll-seo-tag-*.gem -gem build -q jekyll-seo-tag.gemspec - -# Make sure we're on the master branch. - -(git branch | grep -q '* master') || { - echo "Only release from the master branch." - exit 1 -} - -# Figure out what version we're releasing. - -tag=v`ls jekyll-seo-tag-*.gem | sed 's/^jekyll-seo-tag-\(.*\)\.gem$/\1/'` - -# Make sure we haven't released this version before. - -git fetch -t origin - -(git tag -l | grep -q "$tag") && { - echo "Whoops, there's already a '${tag}' tag." - exit 1 -} - -# Tag it and bag it. - -gem push jekyll-seo-tag-*.gem && git tag "$tag" && - git push origin master && git push origin "$tag" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/site b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/site deleted file mode 100755 index 9e4f56f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-seo-tag-2.8.0/script/site +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -bundle exec jekyll serve --source docs diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rspec deleted file mode 100644 index 5f16476..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---format progress diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rubocop.yml deleted file mode 100644 index d2e8a8e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rubocop.yml +++ /dev/null @@ -1,9 +0,0 @@ -inherit_from: .rubocop_todo.yml - -require: rubocop-jekyll -inherit_gem: - rubocop-jekyll: .rubocop.yml - -AllCops: - Exclude: - - vendor/**/* diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rubocop_todo.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rubocop_todo.yml deleted file mode 100644 index 3503a7f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.rubocop_todo.yml +++ /dev/null @@ -1,26 +0,0 @@ -# This configuration was generated by -# `rubocop --auto-gen-config` -# on 2018-12-06 11:55:46 +0100 using RuboCop version 0.61.1. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 1 -Lint/Debugger: - Exclude: - - 'script/console' - -# Offense count: 3 -# Configuration parameters: CountComments, Max, ExcludedMethods. -# ExcludedMethods: refine -Metrics/BlockLength: - Exclude: - - 'spec/jekyll-sitemap_spec.rb' - - 'spec/test_jekyll-last-modified-at.rb' - -# Offense count: 17 -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. -# URISchemes: http, https -Metrics/LineLength: - Max: 154 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.travis.yml deleted file mode 100644 index 6c1707b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/.travis.yml +++ /dev/null @@ -1,48 +0,0 @@ -language: ruby -cache: bundler -rvm: -- &latest_ruby 2.6 -- 2.4 -matrix: - include: - # GitHub Pages - - rvm: 2.5.3 - env: - - JEKYLL_VERSION="~> 3.8.5" - - GITHUB_PAGES=1 # Only set on one build in matrix - - rvm: *latest_ruby - env: JEKYLL_VERSION=">= 4.0.0" -env: - matrix: - - JEKYLL_VERSION="~> 3.8" -branches: - only: - - master - - /^v\d+\.\d+\.\d+/ -git: - depth: 1000 -before_install: -- gem update --system -install: -- travis_retry script/bootstrap -script: script/cibuild -notifications: - irc: - on_success: change - on_failure: change - channels: - - irc.freenode.org#jekyll - template: - - "%{repository}#%{build_number} %{message} %{build_url}" - email: - on_success: never - on_failure: change -deploy: - provider: rubygems - api_key: - secure: O8fGRnM6OJCqC2BlVE1BqYfq5aR19ulpiHhQwRiHbtSCh8H4rYt7FLsuOwSTtRQjhWYRRSpdRt2ilfQ6PY6Jx1UkxZq5zo9QAPQ9tKxiFTm7gBpZAiAgb06eyaMBSzyQ8qe2qccaFI6CiZhsiaGMsdKsWuYpuoPmdLPd7aDyYJs= - gem: jekyll-sitemap - on: - tags: true - repo: jekyll/jekyll-sitemap - condition: "$GITHUB_PAGES == 1" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/Gemfile deleted file mode 100644 index 46cdbf0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" -gemspec - -gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/History.markdown deleted file mode 100644 index 56fc3f8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/History.markdown +++ /dev/null @@ -1,221 +0,0 @@ -## 1.4.0 / 2019-11-21 - -### Minor Enhancements - - * Avoid overwriting an existing robots.txt (#246) - -### Bug Fixes - - * Simulate `last_modified_at` injection by plugin (#256) - -## 1.3.1 / 2019-03-25 - -### Bug Fixes - - * Update plugin metadata and dev environment (#244) - -### Development Fixes - - * Lock requirement for `jekyll-last-modified-at` to `>= 1.0` - -## 1.3.0 / 2019-03-21 - - * Allow Jekyll v4 (still alpha) - -### Documentation - - * Add PDF file exclusion documentation (#213) - * Correct capitalization of GitHub (#207) - -### Development Fixes - - * Use Ruby 2.3 and Rubocop 0.55 (#214) - * chore(deps): rubocop-jekyll-0.3 (#227) - -## 1.2.0 / 2018-01-25 - -### Minor Enhancements - - * Remove excluded static files from the sitemap (#166) - * filter/replace static index.html paths to permalink (#170) - -### Development Fixes - - * Condition the static file tests on Jekyll 3.4.2 and above (#167) - * Update versions for Travis (#174) - * Fix Travis Deploy (#173) - * Test against Jekyll 3.4.x *and* latest 3.x (#177) - * Define path with __dir__ (#186) - * Style: Rubocop auto-correct (#195) - * Test against Ruby 2.5 (#201) - -### Documentation - - * Add note about use with Github Pages gem (#179) - * Fix a couple of typos (#184) - * Use plugins instead of gems in README config (#185) - * Docs: set site.url in config (#172) - -## 1.1.1 / 2017-04-11 - - * Cut a new version to alleviate sha256 checksum issue on RubyGems.org (#165) - -## 1.1.0 / 2017-04-10 - -### Minor Enhancements - - * escape& (#162) - * feat: remove 404 pages from the sitemap. closes #113 (#164) - -## 1.0.0 / 2017-01-06 - - * No new changes - -## 0.13.0 / 2017-01-05 - -### Minor Enhancements - - * Add sitemap.xsl if exists (#143) - * Add robots.txt when none exists (#146) - * Refactor and add sitemap to `site.pages` (#137) - * DRY in sitemap.xml (#136) - -### Documentation - - * Fix #134: Rename "Issues" to "Known Issues" (#135) - * Fix #104: Add explanation in README for <lastmod> tag (#139) - * Update copyright attribution (#149) - -### Development Fixes - - * Travis should do a deep clone (#147) - -## 0.12.0 / 2016-10-06 - -### Minor Enhancements - - * Don't set @site.config["time"] on sitemap generation (#131) - * Use filters to clean up Liquid template (#128) - -### Development Fixes - - * Appease Rubocop (#132) - * Drop Addressable dependency (#133) - -## 0.11.0 / 2016-07-08 - - * Add Rubocop (#100) - * Allow Travis to cache dependencies (#108) - * Properly Escape URLs (#107) - * Include PDF files in sitemap (#109) - -## 0.10.0 / 2016-01-05 - - * URI encode sitemap URLs (#85) - * Do not include 'posts' collection twice (#92) - * Fix GitHub Pages tests to test just the Jekyll version (#87) - * Allow HTML files to end with `.xhtml` or `.htm` (#93) - * Simplify whitespace regex for stripping whitespace (#96) - -## 0.9.0 / 2015-09-21 - - * Test against Jekyll 2, 3, and the GitHub Pages version. (#83) - -## 0.8.1 / 2015-03-11 - - * Do not assume all pages have changed (#35) - * Remove duplicated range from regex (#73) - -## 0.8.0 / 2015-02-03 - - * Call each page `page` in pages loop in `sitemap.xml` for clarity (#64) - * Remove `changefreq` (#34) - * Remove `priority` (#33) - * Don't strip 'index.html' when there is more to filename ## Minor Enhancements (#68) - -## 0.7.0 / 2014-12-07 - - * Make `site.baseurl` support more robust (#59) - * Add `site.baseurl` to base site URL construction ## Development Fixes (#50) - * Remove unnecessary spaces and escaping in README ## Bug Fixes (#58) - -## 0.6.3 / 2014-11-11 - - * Be backwards-compatible when `Site#in_source_dir` and `Site#in_dest_dir` don't exist (#57) - -## 0.6.2 / 2014-11-08 - -### Bug Fixes - - * Don't attempt to read the sitemap upon page creation. (#52) - * Use new secure methods to build source & dest paths. (#53) - -## 0.6.1 / 2014-10-17 - -### Minor Enhancements - - * Strip excess whitespace (#40) - -### Bug Fixes - - * Add UTC offset to `<lastmod>` to handle non-UTC timezones (#49) - -### Development Fixes - - * Adding information about exclusion flag (#45) - -## 0.6.0 / 2014-09-05 - -### Minor Enhancements - - * Include custom collections in the sitemap. (#30) - * Use `post.last_modified_at` for post `<lastmod>` if available (#37) - -## 0.5.1 / 2014-07-31 - -### Bug Fixes - - * Explicitly set sitemap layout to `nil` to avoid warning (#32) - -## 0.5.0 / 2014-06-02 - -### Minor Enhancements - - * Allow users to exclude a page/post from the sitemap (#11) - -## 0.4.1 / 2014-05-10 - -### Bug Fixes - - * Force sitemap layout to be `nil` (#16) - * Correct seconds in timestamp for static files # Development Fixes (#24) - * Upgrade to Rspec 3.0 and use `be_truthy` (#24) - -## 0.4.0 / 2014-05-06 - -### Major Enhancements - - * Support Jekyll 2.0 (#12) - -## 0.3.0 / 2014-05-05 - -### Minor Enhancements - - * Generate sitemap using html_pages (#10) - -### Bug Fixes - - * Remove stray sitemap.xsl from template (#8) - -### Development Fixes - - * Added travis (#6) - * Better timezone support (#7) - -## 0.2.0 / 2014-03-24 - - * Loosen Jekyll requirement (#4) - -## 0.1.0 / 2014-03-15 - - * Birthday! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/LICENSE.md deleted file mode 100644 index 1672e4a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-present, GitHub, inc. and the jekyll-sitemap contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/README.md deleted file mode 100644 index c85be55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# Jekyll Sitemap Generator Plugin - -*Jekyll plugin to silently generate a sitemaps.org compliant sitemap for your Jekyll site* - -[![Build Status](https://travis-ci.org/jekyll/jekyll-sitemap.svg?branch=master)](https://travis-ci.org/jekyll/jekyll-sitemap) - -## Usage - -1. Add `gem 'jekyll-sitemap'` to your site's Gemfile and run `bundle` -2. Add the following to your site's `_config.yml`: - -```yml -url: "http://example.com" # the base hostname & protocol for your site -plugins: - - jekyll-sitemap -``` - -💡 If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`. - -If all gem plugins have the same `priority`, they will be executed in the -order they are required, generally. Thus, if you have other plugins which -generate content and store that content in `site.pages`, `site.posts`, or -`site.collections`, be sure to require `jekyll-sitemap` either *after* -those other gems if you *want* the sitemap to include the generated -content, or *before* those other gems if you *don't want* the sitemap to -include the generated content from the gems. (Programming is *hard*.) - -Because the sitemap is added to `site.pages`, you may have to modify any -templates that iterate through all pages (for example, to build a menu of -all of the site's content). - -## Note on Use with GitHub Pages Gem -The GitHub Pages gem ignores all plugins included in the Gemfile. If you only include `jekyll-sitemap` in the Gemfile without also including it in the `_config.yml` *the plugin will not work*. This can be confusing because the official Jekyll docs state that plugins can be included in either the Gemfile or `_config.yml`. - -When building a site that uses the GitHub Pages gem, follow the instructions above and ensure that `jekyll-sitemap` is listed in the `plugins` array in `_config.yml`. - -:warning: If you are using Jekyll < 3.5.0 use the `gems` key instead of `plugins`. - -## `<lastmod>` tag -The `<lastmod>` tag in the `sitemap.xml` will reflect by priority: - -1. The modified date of the file as reported by the filesystem if you have `jekyll-last-modified-at` plugin installed (not compatible with GitHub Pages auto building) -2. A personalised date if you add the variable `last_modified_at:` with a date in the Front Matter -3. The creation date of your post (corresponding to the `post.date` variable) - -## Exclusions - -If you would like to exclude specific pages/posts from the sitemap set the -sitemap flag to `false` in the front matter for the page/post. - -```yml -sitemap: false -``` - -To exclude files from your sitemap. It can be achieved with configuration using [Jekyll v3.7.2 and jekyll-sitemap v1.2.0](https://github.com/jekyll/jekyll/commit/776433109b96cb644938ffbf9caf4923bdde4d7f). - -Add a glob config to your `_config.yml` file. - -```yml -defaults: - - - scope: - path: "assets/**/*.pdf" - values: - sitemap: false -``` - -## Override default development settings - -[Follow these instructions on Jekyll's documentation](https://jekyllrb.com/docs/usage/#override-default-development-settings). - -## Developing locally - -* Use `script/bootstrap` to bootstrap your local development environment. -* Use `script/console` to load a local IRB console with the Gem. - -## Testing - -1. `script/bootstrap` -2. `script/cibuild` - -## Known Issues - -1. If the `sitemap.xml` doesn't generate in the `_site` folder, ensure `_config.yml` doesn't have `safe: true`. That prevents all plugins from working. -2. If the `sitemap.xml` doesn't generate in the `_site` folder, ensure that you don't have a sitemap generator plugin in your `_plugin` folder. - -## Contributing - -1. Fork the project -2. Create a descriptively named feature branch -3. Add your feature -4. Submit a pull request diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/Rakefile deleted file mode 100644 index ee617bb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -require "bundler/gem_tasks" -require "rspec/core/rake_task" - -RSpec::Core::RakeTask.new(:spec) - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/jekyll-sitemap.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/jekyll-sitemap.gemspec deleted file mode 100644 index a9cdeea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/jekyll-sitemap.gemspec +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path("lib", __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "jekyll-sitemap/version" - -Gem::Specification.new do |spec| - spec.name = "jekyll-sitemap" - spec.summary = "Automatically generate a sitemap.xml for your Jekyll site." - spec.version = Jekyll::Sitemap::VERSION - spec.authors = ["GitHub, Inc."] - spec.email = "support@github.com" - spec.homepage = "https://github.com/jekyll/jekyll-sitemap" - spec.licenses = ["MIT"] - - spec.files = `git ls-files -z`.split("\x0") - spec.executables = spec.files.grep(%r!^bin/!) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r!^(test|spec|features)/!) - spec.require_paths = ["lib"] - - spec.required_ruby_version = ">= 2.3.0" - - spec.add_dependency "jekyll", ">= 3.7", "< 5.0" - - spec.add_development_dependency "bundler" - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.0" - spec.add_development_dependency "rubocop-jekyll", "~> 0.4" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/bootstrap deleted file mode 100755 index e2b126b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/bootstrap +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -ex - -bundle install diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/cibuild deleted file mode 100755 index 509b0c9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/cibuild +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -set -e - -time script/fmt -time script/test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/console b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/console deleted file mode 100755 index 6132d7f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/console +++ /dev/null @@ -1,35 +0,0 @@ -#! /usr/bin/env ruby -# frozen_string_literal: true - -def relative_to_root(path) - File.expand_path(path, File.dirname(__dir__)) -end - -require "jekyll" -require relative_to_root("lib/jekyll-sitemap.rb") -require "pry-debugger" - -SOURCE_DIR = relative_to_root("spec/fixtures") -DEST_DIR = relative_to_root("spec/dest") - -def source_dir(*files) - File.join(SOURCE_DIR, *files) -end - -def dest_dir(*files) - File.join(DEST_DIR, *files) -end - -def config(overrides = {}) - Jekyll.configuration( - "source" => source_dir, - "destination" => dest_dir, - "url" => "http://example.org" - ).merge(overrides) -end - -def site(configuration = config) - Jekyll::Site.new(configuration) -end - -binding.pry diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/fmt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/fmt deleted file mode 100755 index c5351ec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/fmt +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -e - -echo "Rubocop $(bundle exec rubocop --version)" -bundle exec rubocop -D -E $@ -success=$? -if ((success != 0)); then - echo -e "\nTry running \`script/fmt -a\` to automatically fix errors" -fi -exit $success diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/release b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/release deleted file mode 100755 index a9c226f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/release +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Tag and push a release. - -set -e - -script/cibuild -bundle exec rake release diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/test b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/test deleted file mode 100755 index 506d5ef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/script/test +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -set -ex - -bundle exec rspec "$@" -bundle exec rspec spec/test_jekyll-last-modified-at.rb diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/404.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/404.md deleted file mode 100644 index 0d9de63..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/404.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -404. That's an error. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_config.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_config.yml deleted file mode 100644 index cffd3fb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_config.yml +++ /dev/null @@ -1,19 +0,0 @@ -timezone: UTC - -defaults: - - - scope: - path: "" - type: page - values: - layout: some_default - - - scope: - path: "static_files/excluded.pdf" - values: - sitemap: false - - - scope: - path: "static_files/html_file.html" - values: - sitemap: false diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_layouts/some_default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_layouts/some_default.html deleted file mode 100644 index c38a7b9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_layouts/some_default.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- -THIS IS MY LAYOUT -{{ content }} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/custom_permalink.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/custom_permalink.md deleted file mode 100644 index ce4a7d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/custom_permalink.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -permalink: /permalink/ ---- - -# Custom permalink diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/custom_permalink_2.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/custom_permalink_2.md deleted file mode 100644 index 551ee02..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/custom_permalink_2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -permalink: /permalink/unique_name.html ---- - -# Unique html name diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/test.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/test.html deleted file mode 100644 index 2d84021..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/test.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -This is just a test. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/this-has-non-standard-chars.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/this-has-non-standard-chars.md deleted file mode 100644 index 519dae0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_my_collection/this-has-non-standard-chars.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -permalink: this url has an ümlaut ---- - -# URL contains characters that need to be URI encoded diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_other_things/test2.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_other_things/test2.html deleted file mode 100644 index d222dde..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_other_things/test2.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -This file shouldn't show up in the sitemap. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2013-12-12-dec-the-second.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2013-12-12-dec-the-second.md deleted file mode 100644 index 0282994..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2013-12-12-dec-the-second.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -December the twelfth, actually. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-03-02-march-the-second.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-03-02-march-the-second.md deleted file mode 100644 index 9a47b49..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-03-02-march-the-second.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -March the second! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-03-04-march-the-fourth.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-03-04-march-the-fourth.md deleted file mode 100644 index 42ed97c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-03-04-march-the-fourth.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -March the fourth! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-05-11-exclude-this-post.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-05-11-exclude-this-post.md deleted file mode 100644 index ccd540f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2014-05-11-exclude-this-post.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sitemap: false ---- - -This post should not appear in the sitemap. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2015-01-18-jekyll-last-modified-at.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2015-01-18-jekyll-last-modified-at.md deleted file mode 100644 index e26b59b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2015-01-18-jekyll-last-modified-at.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -Please don't modify this file. It's modified time is important. diff --git "a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-01-\351\224\231\350\257\257.html" "b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-01-\351\224\231\350\257\257.html" deleted file mode 100644 index a845151..0000000 --- "a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-01-\351\224\231\350\257\257.html" +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git "a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-02-\351\224\231\350\257\257.html" "b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-02-\351\224\231\350\257\257.html" deleted file mode 100644 index f660f6f..0000000 --- "a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-02-\351\224\231\350\257\257.html" +++ /dev/null @@ -1,3 +0,0 @@ ---- -permalink: "/2016/04/02/错误.html" ---- diff --git "a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-03-\351\224\231\350\257\257.html" "b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-03-\351\224\231\350\257\257.html" deleted file mode 100644 index 3123e48..0000000 --- "a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/_posts/2016-04-03-\351\224\231\350\257\257.html" +++ /dev/null @@ -1,3 +0,0 @@ ---- -permalink: "/2016/04/03/%E9%94%99%E8%AF%AF.html" ---- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/feeds/atom.xml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/feeds/atom.xml deleted file mode 100644 index 58715b6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/feeds/atom.xml +++ /dev/null @@ -1,6 +0,0 @@ ---- ---- - -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> -</feed> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/images/hubot.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/images/hubot.png deleted file mode 100644 index 75da791..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/images/hubot.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/index.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/index.html deleted file mode 100644 index fce076a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/index.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -HERE IS MY SITE I AM SO EXCITED TO BE USING GITHUB PAGES diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/jekyll-last-modified-at/page.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/jekyll-last-modified-at/page.html deleted file mode 100644 index 6fe4bdb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/jekyll-last-modified-at/page.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -This is a page with a modified time. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/exclude-this-page.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/exclude-this-page.html deleted file mode 100644 index 9eea02e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/exclude-this-page.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -sitemap: false ---- - -Exclude this page diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/htm.htm b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/htm.htm deleted file mode 100644 index 7da6a6b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/htm.htm +++ /dev/null @@ -1 +0,0 @@ -This file has an .htm extension, and should be included in the sitemap diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/index.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/index.html deleted file mode 100644 index 2c2b27d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/index.html +++ /dev/null @@ -1 +0,0 @@ -static subfolder index.html file that should be indexed as permalink diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/test_index.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/test_index.html deleted file mode 100644 index e1ac7a9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/test_index.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -The permalink of this page does not end with a '/', but with a filename diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/this-is-a-subfile.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/this-is-a-subfile.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/this-is-a-subpage.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/this-is-a-subpage.html deleted file mode 100644 index 06dd707..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/this-is-a-subpage.html +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -This is a subpage! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/xhtml.xhtml b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/xhtml.xhtml deleted file mode 100644 index 7c5eafa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/some-subfolder/xhtml.xhtml +++ /dev/null @@ -1 +0,0 @@ -This file has an .xhtml extension, and should be included in the sitemap diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/404.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/404.html deleted file mode 100644 index 5416e29..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/404.html +++ /dev/null @@ -1 +0,0 @@ -404. That's an error. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/excluded.pdf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/excluded.pdf deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/html_file.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/html_file.html deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/test.pdf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/fixtures/static_files/test.pdf deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/jekyll-sitemap_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/jekyll-sitemap_spec.rb deleted file mode 100644 index 2b7d9c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/jekyll-sitemap_spec.rb +++ /dev/null @@ -1,256 +0,0 @@ -# frozen_string_literal: true - -require "spec_helper" - -describe(Jekyll::JekyllSitemap) do - let(:overrides) do - { - "source" => source_dir, - "destination" => dest_dir, - "url" => "http://example.org", - "collections" => { - "my_collection" => { "output" => true }, - "other_things" => { "output" => false }, - }, - } - end - let(:config) do - Jekyll.configuration(overrides) - end - let(:site) { Jekyll::Site.new(config) } - let(:contents) { File.read(dest_dir("sitemap.xml")) } - before(:each) do - site.process - end - - it "has no layout" do - expect(contents).not_to match(%r!\ATHIS IS MY LAYOUT!) - end - - it "creates a sitemap.xml file" do - expect(File.exist?(dest_dir("sitemap.xml"))).to be_truthy - end - - it "doesn't have multiple new lines or trailing whitespace" do - expect(contents).to_not match %r!\s+\n! - expect(contents).to_not match %r!\n{2,}! - end - - it "puts all the pages in the sitemap.xml file" do - expect(contents).to match %r!<loc>http://example\.org/</loc>! - expect(contents).to match %r!<loc>http://example\.org/some-subfolder/this-is-a-subpage\.html</loc>! - end - - it "only strips 'index.html' from end of permalink" do - expect(contents).to match %r!<loc>http://example\.org/some-subfolder/test_index\.html</loc>! - end - - it "puts all the posts in the sitemap.xml file" do - expect(contents).to match %r!<loc>http://example\.org/2014/03/04/march-the-fourth\.html</loc>! - expect(contents).to match %r!<loc>http://example\.org/2014/03/02/march-the-second\.html</loc>! - expect(contents).to match %r!<loc>http://example\.org/2013/12/12/dec-the-second\.html</loc>! - end - - describe "collections" do - it "puts all the `output:true` into sitemap.xml" do - expect(contents).to match %r!<loc>http://example\.org/my_collection/test\.html</loc>! - end - - it "doesn't put all the `output:false` into sitemap.xml" do - expect(contents).to_not match %r!<loc>http://example\.org/other_things/test2\.html</loc>! - end - - it "remove 'index.html' for directory custom permalinks" do - expect(contents).to match %r!<loc>http://example\.org/permalink/</loc>! - end - - it "doesn't remove filename for non-directory custom permalinks" do - expect(contents).to match %r!<loc>http://example\.org/permalink/unique_name\.html</loc>! - end - - it "performs URI encoding of site paths" do - expect(contents).to match %r!<loc>http://example\.org/this%20url%20has%20an%20%C3%BCmlaut</loc>! - end - end - - it "generates the correct date for each of the posts" do - expect(contents).to match %r!<lastmod>2014-03-04T00:00:00(-|\+)\d+:\d+</lastmod>! - expect(contents).to match %r!<lastmod>2014-03-02T00:00:00(-|\+)\d+:\d+</lastmod>! - expect(contents).to match %r!<lastmod>2013-12-12T00:00:00(-|\+)\d+:\d+</lastmod>! - end - - it "puts all the static HTML files in the sitemap.xml file" do - expect(contents).to match %r!<loc>http://example\.org/some-subfolder/this-is-a-subfile\.html</loc>! - end - - it "does not include assets or any static files that aren't .html" do - expect(contents).not_to match %r!<loc>http://example\.org/images/hubot\.png</loc>! - expect(contents).not_to match %r!<loc>http://example\.org/feeds/atom\.xml</loc>! - end - - it "converts static index.html files to permalink version" do - expect(contents).to match %r!<loc>http://example\.org/some-subfolder/</loc>! - end - - it "does include assets or any static files with .xhtml and .htm extensions" do - expect(contents).to match %r!/some-subfolder/xhtml\.xhtml! - expect(contents).to match %r!/some-subfolder/htm\.htm! - end - - it "does include assets or any static files with .pdf extension" do - expect(contents).to match %r!/static_files/test.pdf! - end - - it "does not include any static files named 404.html" do - expect(contents).not_to match %r!/static_files/404.html! - end - - if Gem::Version.new(Jekyll::VERSION) >= Gem::Version.new("3.4.2") - it "does not include any static files that have set 'sitemap: false'" do - expect(contents).not_to match %r!/static_files/excluded\.pdf! - end - - it "does not include any static files that have set 'sitemap: false'" do - expect(contents).not_to match %r!/static_files/html_file\.html! - end - end - - it "does not include posts that have set 'sitemap: false'" do - expect(contents).not_to match %r!/exclude-this-post\.html</loc>! - end - - it "does not include pages that have set 'sitemap: false'" do - expect(contents).not_to match %r!/exclude-this-page\.html</loc>! - end - - it "does not include the 404 page" do - expect(contents).not_to match %r!/404\.html</loc>! - end - - it "correctly formats timestamps of static files" do - expect(contents).to match %r!/this-is-a-subfile\.html</loc>\s+<lastmod>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(-|\+)\d{2}:\d{2}</lastmod>! - end - - it "includes the correct number of items" do - # static_files/excluded.pdf is excluded on Jekyll 3.4.2 and above - if Gem::Version.new(Jekyll::VERSION) >= Gem::Version.new("3.4.2") - expect(contents.scan(%r!(?=<url>)!).count).to eql 20 - else - expect(contents.scan(%r!(?=<url>)!).count).to eql 21 - end - end - - context "with a baseurl" do - let(:config) do - Jekyll.configuration(Jekyll::Utils.deep_merge_hashes(overrides, "baseurl" => "/bass")) - end - - it "correctly adds the baseurl to the static files" do - expect(contents).to match %r!<loc>http://example\.org/bass/some-subfolder/this-is-a-subfile\.html</loc>! - end - - it "correctly adds the baseurl to the collections" do - expect(contents).to match %r!<loc>http://example\.org/bass/my_collection/test\.html</loc>! - end - - it "correctly adds the baseurl to the pages" do - expect(contents).to match %r!<loc>http://example\.org/bass/</loc>! - expect(contents).to match %r!<loc>http://example\.org/bass/some-subfolder/this-is-a-subpage\.html</loc>! - end - - it "correctly adds the baseurl to the posts" do - expect(contents).to match %r!<loc>http://example\.org/bass/2014/03/04/march-the-fourth\.html</loc>! - expect(contents).to match %r!<loc>http://example\.org/bass/2014/03/02/march-the-second\.html</loc>! - expect(contents).to match %r!<loc>http://example\.org/bass/2013/12/12/dec-the-second\.html</loc>! - end - - it "adds baseurl to robots.txt" do - content = File.read(dest_dir("robots.txt")) - expect(content).to match("Sitemap: http://example.org/bass/sitemap.xml") - end - end - - context "with urls that needs URI encoding" do - let(:config) do - Jekyll.configuration(Jekyll::Utils.deep_merge_hashes(overrides, "url" => "http://ümlaut.example.org")) - end - - it "performs URI encoding of site url" do - expect(contents).to match %r!<loc>http://xn--mlaut-jva.example.org/</loc>! - expect(contents).to match %r!<loc>http://xn--mlaut-jva.example.org/some-subfolder/this-is-a-subpage.html</loc>! - expect(contents).to match %r!<loc>http://xn--mlaut-jva.example.org/2014/03/04/march-the-fourth.html</loc>! - expect(contents).to match %r!<loc>http://xn--mlaut-jva.example.org/2016/04/01/%E9%94%99%E8%AF%AF.html</loc>! - expect(contents).to match %r!<loc>http://xn--mlaut-jva.example.org/2016/04/02/%E9%94%99%E8%AF%AF.html</loc>! - expect(contents).to match %r!<loc>http://xn--mlaut-jva.example.org/2016/04/03/%E9%94%99%E8%AF%AF.html</loc>! - end - - it "does not double-escape urls" do - expect(contents).to_not match %r!%25! - end - - context "readme" do - let(:contents) { File.read(dest_dir("robots.txt")) } - - it "has no layout" do - expect(contents).not_to match(%r!\ATHIS IS MY LAYOUT!) - end - - it "creates a robots.txt file" do - expect(File.exist?(dest_dir("robots.txt"))).to be_truthy - end - - it "renders liquid" do - expect(contents).to match("Sitemap: http://xn--mlaut-jva.example.org/sitemap.xml") - end - end - end - - context "with user-defined robots.txt" do - let(:fixture) { "/" } - let(:fixture_source) { robot_fixtures(fixture) } - let(:fixture_dest) { robot_fixtures(fixture, "_site") } - let(:robot_contents) { File.read(robot_fixtures(fixture, "_site", "robots.txt")).strip } - let(:overrides) do - { - "source" => fixture_source, - "destination" => fixture_dest, - "url" => "http://example.org", - } - end - - before(:each) { setup_fixture(fixture) } - after(:each) { cleanup_fixture(fixture) } - - context "as a static-file at source-root" do - let(:fixture) { "static-at-source-root" } - - it "doesn't override the robots file" do - expect(robot_contents).to eql("Allow: /") - end - end - - context "as a static-file in a subdir" do - let(:fixture) { "static-in-subdir" } - - it "generates a valid robot.txt" do - expect(robot_contents).to eql("Sitemap: http://example.org/sitemap.xml") - end - end - - context "as a page at root" do - let(:fixture) { "page-at-root" } - - it "doesn't override the robots file" do - expect(robot_contents).to eql("Allow: http://example.org") - end - end - - context "as a page with permalink in a subdir" do - let(:fixture) { "permalinked-page-in-subdir" } - - it "doesn't override the robots file" do - expect(robot_contents).to eql("Allow: http://example.org") - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/page-at-root/robots.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/page-at-root/robots.txt deleted file mode 100644 index e63befd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/page-at-root/robots.txt +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -Allow: {{ site.url }} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/permalinked-page-in-subdir/assets/robots.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/permalinked-page-in-subdir/assets/robots.txt deleted file mode 100644 index 0e396d1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/permalinked-page-in-subdir/assets/robots.txt +++ /dev/null @@ -1,5 +0,0 @@ ---- -permalink: '/robots.txt' ---- - -Allow: {{ site.url }} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/static-at-source-root/robots.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/static-at-source-root/robots.txt deleted file mode 100644 index e9f7c88..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/static-at-source-root/robots.txt +++ /dev/null @@ -1 +0,0 @@ -Allow: / diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/static-in-subdir/assets/robots.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/static-in-subdir/assets/robots.txt deleted file mode 100644 index e9f7c88..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/robot-fixtures/static-in-subdir/assets/robots.txt +++ /dev/null @@ -1 +0,0 @@ -Allow: / diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/spec_helper.rb deleted file mode 100644 index ebeaef9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/spec_helper.rb +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true - -require "jekyll" -require "fileutils" -require File.expand_path("../lib/jekyll-sitemap", __dir__) - -Jekyll.logger.log_level = :error - -RSpec.configure do |config| - config.run_all_when_everything_filtered = true - config.filter_run :focus - config.order = "random" - - SOURCE_DIR = File.expand_path("fixtures", __dir__) - DEST_DIR = File.expand_path("dest", __dir__) - ROBOT_FIXTURES = File.expand_path("robot-fixtures", __dir__) - ROBOT_FIXTURE_ITEMS = %w(_posts _layouts _config.yml index.html).freeze - - def source_dir(*files) - File.join(SOURCE_DIR, *files) - end - - def dest_dir(*files) - File.join(DEST_DIR, *files) - end - - def robot_fixtures(*subdirs) - File.join(ROBOT_FIXTURES, *subdirs) - end - - def setup_fixture(directory) - ROBOT_FIXTURE_ITEMS.each { |item| FileUtils.cp_r(source_dir(item), robot_fixtures(directory)) } - end - - def cleanup_fixture(directory, dest_dirname = "_site") - (ROBOT_FIXTURE_ITEMS + [dest_dirname]).each do |item| - FileUtils.remove_entry(robot_fixtures(directory, item)) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/test_jekyll-last-modified-at.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/test_jekyll-last-modified-at.rb deleted file mode 100644 index 4387b05..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-sitemap-1.4.0/spec/test_jekyll-last-modified-at.rb +++ /dev/null @@ -1,50 +0,0 @@ -# frozen_string_literal: true - -require "spec_helper" - -describe(Jekyll::JekyllSitemap) do - let(:overrides) do - { - "source" => source_dir, - "destination" => dest_dir, - "url" => "http://example.org", - "collections" => { - "my_collection" => { "output" => true }, - "other_things" => { "output" => false }, - }, - } - end - let(:config) do - Jekyll.configuration(overrides) - end - let(:site) { Jekyll::Site.new(config) } - let(:contents) { File.read(dest_dir("sitemap.xml")) } - before(:each) do - # simulate `last_modified_at` injection by `jekyll-last-modified-at` plugin - Jekyll::Hooks.register([:pages, :documents], :post_init) do |page| - page.data["last_modified_at"] = Time.parse("2015-01-18T00:00:00+00:00") - end - - site.process - end - - context "with jekyll-last-modified-at" do - it "correctly adds the modified time to the posts" do - expect(contents).to match( - %r! - <loc>http://example.org/2015/01/18/jekyll-last-modified-at.html</loc>\s+ - <lastmod>2015-01-18T00:00:00\+00:00</lastmod> - !x - ) - end - - it "correctly adds the modified time to the pages" do - expect(contents).to match( - %r! - <loc>http://example.org/jekyll-last-modified-at/page.html</loc>\s+ - <lastmod>2015-01-18T00:00:00\+00:00</lastmod> - !x - ) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/LICENSE.txt deleted file mode 100644 index 3915296..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 broccolini - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/README.md deleted file mode 100644 index 19203a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Swiss Jekyll Theme - -Swiss is a bold Jekyll theme inspired by Swiss design and the works of Massimo Vignelli. This theme lends itself well to sites heavy on written content. - -### Features: -* Mobile-first design ensures this theme performs fastest on mobile while scaling elegantly to desktop-size screens. -* Designed for blogs and sites heavy on written content, with bold typography styles, homepage summaries, and previous/next snippets. -* Supports a wide range of HTML elements and markdown. -* Flexible styles that can be reused for customization without adding additional CSS. -* Dynamically generated navigation links. See docs for adding pages with specific post category for-loops. - -## Installation - -Add this line to your Jekyll site's Gemfile: - -```ruby -gem "github-pages", group: :jekyll_plugins -``` - -And add this line to your Jekyll site: - -```yaml -remote_theme: broccolini/swiss -``` - -And then execute: - - $ bundle - -## Usage - -This theme comes in eight different color variations. The default is set to the black theme, to change to a different theme edit the config under `theme_color: black` to one of the following colors: - -| | | -|:-----------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------| -| `theme_color: black` | `theme_color: red` | -| <img width="330" alt="black" src="https://cloud.githubusercontent.com/assets/334891/18476835/8d70b330-7999-11e6-8c84-a558906d636e.png"> | <img width="330" alt="red" src="https://cloud.githubusercontent.com/assets/334891/18477185/c53af09a-799a-11e6-9354-b9bf1a7f1826.png"> | -| `theme_color: white` | `theme_color: gray` | -| <img width="330" alt="white" src="https://cloud.githubusercontent.com/assets/334891/18477206/d9dc55fc-799a-11e6-89f2-b4ae150caa80.png"> | <img width="330" alt="gray" src="https://cloud.githubusercontent.com/assets/334891/18477058/4e61700c-799a-11e6-80a0-805e57f2563e.png"> | -| `theme_color: blue` | `theme_color: magenta` | -| <img width="330" alt="blue" src="https://cloud.githubusercontent.com/assets/334891/18477240/f03646d2-799a-11e6-8895-25b37d3a1438.png"> | <img width="330" alt="magenta" src="https://cloud.githubusercontent.com/assets/334891/18477252/fb2f5128-799a-11e6-8c8f-e79d9c1884b7.png"> | -| `theme_color: orange` | `theme_color: yellow` | -| <img width="330" alt="orange" src="https://cloud.githubusercontent.com/assets/334891/18477265/06e302bc-799b-11e6-970e-6461b2a89c57.png"> | <img width="330" alt="yellow" src="https://cloud.githubusercontent.com/assets/334891/18477278/117347aa-799b-11e6-83a8-f82341c143e0.png"> | - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/broccolini/swiss. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. - -## Development - -To set up your environment to develop this theme, run `bundle install`. - -Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal. - -When your theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released. - -## License - -The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dot-accent.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dot-accent.html deleted file mode 100644 index c329351..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dot-accent.html +++ /dev/null @@ -1,3 +0,0 @@ -<svg height="32" class="header-social-accent" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true"> - <circle cx="8" cy="8" r="8"/> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dot.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dot.html deleted file mode 100644 index 3c0cfca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dot.html +++ /dev/null @@ -1,3 +0,0 @@ -<svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true"> - <circle cx="8" cy="8" r="8"/> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dribbble.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dribbble.html deleted file mode 100644 index fabf932..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/dribbble.html +++ /dev/null @@ -1,5 +0,0 @@ -<a href="https://dribbble.com/{{ site.social_username }}" title="Follow me on Dribbble" class="link-social block"> - <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"> - <path d="M8 16c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm6.747-6.905c-.234-.074-2.115-.635-4.257-.292.894 2.456 1.258 4.456 1.328 4.872 1.533-1.037 2.624-2.68 2.93-4.58zM10.67 14.3c-.102-.6-.5-2.688-1.46-5.18l-.044.014C5.312 10.477 3.93 13.15 3.806 13.4c1.158.905 2.614 1.444 4.194 1.444.947 0 1.85-.194 2.67-.543zm-7.747-1.72c.155-.266 2.03-3.37 5.555-4.51.09-.03.18-.056.27-.08-.173-.39-.36-.778-.555-1.16C4.78 7.85 1.47 7.807 1.17 7.8l-.003.208c0 1.755.665 3.358 1.756 4.57zM1.31 6.61c.307.005 3.122.017 6.318-.832-1.132-2.012-2.353-3.705-2.533-3.952-1.912.902-3.34 2.664-3.784 4.785zM6.4 1.368c.188.253 1.43 1.943 2.548 4 2.43-.91 3.46-2.293 3.582-2.468C11.323 1.827 9.736 1.176 8 1.176c-.55 0-1.087.066-1.6.19zm6.89 2.322c-.145.194-1.29 1.662-3.816 2.694.16.325.31.656.453.99.05.117.1.235.147.352 2.274-.286 4.533.172 4.758.22-.015-1.613-.59-3.094-1.543-4.257z"/> - </svg> -</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/footer.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/footer.html deleted file mode 100644 index 707950b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/footer.html +++ /dev/null @@ -1,13 +0,0 @@ -<div class="border-top-thin clearfix mt-2 mt-lg-4"> - <div class="container mx-auto px-2"> - <p class="col-8 sm-width-full left py-2 mb-0">This project is maintained by <a class="text-accent" href="https://github.com/{{ site.github_username }}">{{ site.github_username }}</a></p> - <ul class="list-reset right clearfix sm-width-full py-2 mb-2 mb-lg-0"> - <li class="inline-block mr-1"> - <a href="https://twitter.com/share" class="twitter-share-button" data-hashtags="{{ site.title }}">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> - </li> - <li class="inline-block"> - <a class="github-button" href="https://github.com/{{ site.github_username }}/{{ site.github_repo }}" data-icon="octicon-star" data-count-href="{{ site.github_username }}/{{ github_repo }}/stargazers" data-count-api="/repos/{{ site.github_username }}/{{ github_repo }}#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star {{ site.github_username }}/{{ github_repo }} on GitHub">Star</a> - </li> - </ul> - </div> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/github.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/github.html deleted file mode 100644 index 5398249..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/github.html +++ /dev/null @@ -1,4 +0,0 @@ -<a href="https://github.com/{{ site.github_username }}/{{ site.github_repo }}" title="Fork me on GitHub" class="link-social block"> -<svg height="32" class="octicon octicon-mark-github header-social" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path> -</svg> -</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/head.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/head.html deleted file mode 100644 index cc35426..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/head.html +++ /dev/null @@ -1,17 +0,0 @@ -<head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - <title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title> - <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}"> - - {% assign user_url = site.url | append: site.baseurl %} - {% assign full_base_url = user_url | default: site.github.url %} - <link rel="stylesheet" href="{{ "/assets/style.css" | prepend: full_base_url }}"> - - <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}"> - <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}"> - - <script async defer src="https://buttons.github.io/buttons.js"></script> -</head> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/header.html deleted file mode 100644 index 4dbfeb8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/header.html +++ /dev/null @@ -1,20 +0,0 @@ -<header class="border-bottom-thick px-2 clearfix"> - <div class="left sm-width-full py-1 mt-1 mt-lg-0"> - <a class="align-middle link-primary text-accent" href="{{ site.baseurl }}/"> - {{ site.title }} - </a> - </div> - <div class="right sm-width-full"> - <ul class="list-reset mt-lg-1 mb-2 mb-lg-1"> - {% for my_page in site.pages %} - {% if my_page.title %} - <li class="inline-block"> - <a class="align-middle link-primary mr-2 mr-lg-0 ml-lg-2" href="{{ my_page.url | prepend: site.baseurl }}"> - {{ my_page.title }} - </a> - </li> - {% endif %} - {% endfor %} - </ul> - </div> -</header> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/instagram.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/instagram.html deleted file mode 100644 index 530a050..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/instagram.html +++ /dev/null @@ -1,18 +0,0 @@ -<a href="https://www.instagram.com/{{ site.social_username }}" title="Follow me on Instagram" class="link-social block"> - <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true"> - <g> - <path d="M11.9,5.1c-0.1-0.2-0.2-0.4-0.4-0.6s-0.3-0.3-0.6-0.4C10.8,4,10.5,4,10,3.9c-0.5,0-0.7,0-2,0s-1.5,0-2,0 - C5.5,4,5.2,4,5.1,4.1C4.8,4.2,4.7,4.3,4.5,4.5S4.2,4.8,4.1,5.1C4,5.2,4,5.5,3.9,6c0,0.5,0,0.7,0,2s0,1.5,0,2c0,0.5,0.1,0.8,0.2,0.9 - c0.1,0.2,0.2,0.4,0.4,0.6c0.2,0.2,0.3,0.3,0.6,0.4C5.2,12,5.5,12,6,12.1c0.5,0,0.7,0,2,0c1.3,0,1.5,0,2,0c0.5,0,0.8-0.1,0.9-0.2 - c0.2-0.1,0.4-0.2,0.6-0.4s0.3-0.3,0.4-0.6c0.1-0.2,0.2-0.4,0.2-0.9c0-0.5,0-0.7,0-2s0-1.5,0-2C12,5.5,12,5.2,11.9,5.1z M8,10.6 - c-1.4,0-2.6-1.1-2.6-2.6c0-1.4,1.1-2.6,2.6-2.6c1.4,0,2.6,1.1,2.6,2.6C10.6,9.4,9.4,10.6,8,10.6z M10.7,5.9c-0.3,0-0.6-0.3-0.6-0.6 - s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6S11,5.9,10.7,5.9z"/> - <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M13,10.1c0,0.5-0.1,0.9-0.2,1.2c-0.1,0.3-0.3,0.6-0.6,0.9 - c-0.3,0.3-0.6,0.4-0.9,0.6c-0.3,0.1-0.7,0.2-1.2,0.2c-0.5,0-0.7,0-2.1,0s-1.5,0-2.1,0c-0.5,0-0.9-0.1-1.2-0.2 - c-0.3-0.1-0.6-0.3-0.9-0.6c-0.3-0.3-0.4-0.6-0.6-0.9C3.1,11,3.1,10.6,3,10.1C3,9.5,3,9.4,3,8s0-1.5,0-2.1c0-0.5,0.1-0.9,0.2-1.2 - c0.1-0.3,0.3-0.6,0.6-0.9c0.3-0.3,0.6-0.4,0.9-0.6C5,3.1,5.4,3.1,5.9,3C6.5,3,6.6,3,8,3s1.5,0,2.1,0c0.5,0,0.9,0.1,1.2,0.2 - c0.3,0.1,0.6,0.3,0.9,0.6c0.3,0.3,0.4,0.6,0.6,0.9C12.9,5,12.9,5.4,13,5.9c0,0.5,0,0.7,0,2.1S13,9.5,13,10.1z"/> - <circle cx="8" cy="8" r="1.7"/> - </g> - </svg> -</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/medium.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/medium.html deleted file mode 100644 index 05a6bc4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/medium.html +++ /dev/null @@ -1,9 +0,0 @@ -<a href="https://medium.com/@{{ site.social_username }}" title="Follow me on Medium" class="link-social block"> - <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true"> - <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M6.3,12.1c0,0.2-0.1,0.3-0.3,0.3c-0.1,0-0.1,0-0.2-0.1l-2.6-1.3 - C3.1,11.1,3,10.9,3,10.7V4.3c0-0.2,0.1-0.3,0.2-0.3c0,0,0.1,0,0.2,0l0.1,0h0l2.9,1.4c0,0,0,0,0,0V12.1z M9.3,10.8L9,10.7L7,9.6v-3 - l0.2,0.3l0.2,0.3l0.2,0.3L9,10l0,0l0.3,0.5L9.7,11L9.3,10.8z M9.7,9.8L9.3,9.3L9,8.8L7.8,6.9L9,4.9l0.3-0.5l0.2-0.2 - C9.6,4.1,9.7,4,9.8,4c0,0,0,0,0,0c0,0,0.1,0,0.1,0l3,1.5c0,0,0,0,0,0l0,0c0,0,0,0,0,0.1L10,10.4L9.7,9.8z M13,12.1 - c0,0.2-0.1,0.3-0.3,0.3c-0.1,0-0.2,0-0.3-0.1l-1.7-0.9l-0.5-0.2l0.2-0.3h0L13,6.8V12.1z"/> - </svg> -</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/post_block.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/post_block.html deleted file mode 100644 index 7f6ed43..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/post_block.html +++ /dev/null @@ -1,8 +0,0 @@ -<!-- Renders post date, title, and snippet of text. --> -<div class="py-2 mb-2 prose"> - <a class="no-underline h5 bold text-accent" title="{{ post.url | prepend: site.baseurl }}" href="{{ post.url | prepend: site.baseurl }}">{{ post.date | date: "%b %-d, %Y" }}</a> - <h2 class="h1 lh-condensed col-9 mt-0"> - <a class="link-primary" title="{{ post.url | prepend: site.baseurl }}" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a> - </h2> - <p>{{ post.content | strip_html | truncatewords:30 }}</p> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/previous-next.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/previous-next.html deleted file mode 100644 index 3ac67a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/previous-next.html +++ /dev/null @@ -1,21 +0,0 @@ -<!-- Use if you want to show previous and next for all posts. --> -{% assign user_url = site.url | append: site.baseurl %} -{% assign full_base_url = user_url | default: site.github.url %} -{% if page.previous.url %} - <div class="col-4 sm-width-full left mr-lg-4 mt-3"> - <a class="no-underline border-top-thin py-1 block" href="{{ page.previous.url | prepend: full_base_url }}"> - <span class="h5 bold text-accent">Previous</span> - <p class="bold h3 link-primary mb-1">{{ page.previous.title }}</p> - <p>{{ page.previous.content | strip_html | truncatewords:20 }}</p> - </a> - </div> - {% endif %} - {% if page.next.url %} - <div class="col-4 sm-width-full left mt-3"> - <a class="no-underline border-top-thin py-1 block" href="{{ page.next.url | prepend: full_base_url }}"> - <span class="h5 bold text-accent">Next</span> - <p class="bold h3 link-primary mb-1">{{ page.next.title }}</p> - <p>{{ page.next.content | strip_html | truncatewords:20 }}</p> - </a> - </div> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/previous-next_has-categories.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/previous-next_has-categories.html deleted file mode 100644 index 55bd883..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/previous-next_has-categories.html +++ /dev/null @@ -1,39 +0,0 @@ -<!-- Use if you want to show previous and next for posts within a category. --> -{% if page.categories %} - {% assign category = page.categories[0] %} - {% assign posts = site.categories[category] %} - {% for post in posts %} - {% if post.url == page.url %} - {% assign post_index0 = forloop.index0 %} - {% assign post_index1 = forloop.index %} - {% endif %} - {% endfor %} - {% for post in posts %} - {% if post_index0 == forloop.index %} - {% assign next_post = post %} - {% endif %} - {% if post_index1 == forloop.index0 %} - {% assign prev_post = post %} - {% endif %} - {% endfor %} -{% endif %} -{% assign user_url = site.url | append: site.baseurl %} -{% assign full_base_url = user_url | default: site.github.url %} -{% if prev_post %} -<div class="col-4 sm-width-full left mr-lg-4 mt-3"> - <a class="no-underline border-top-thin py-1 block" href="{{ prev_post.url | prepend: full_base_url }}"> - <span class="h5 bold text-accent">Previous</span> - <p class="bold h3 link-primary mb-1">{{ prev_post.title }}</p> - <p>{{ page.previous.content | strip_html | truncatewords:20 }}</p> - </a> -</div> -{% endif %} -{% if next_post %} -<div class="col-4 sm-width-full left mt-3"> - <a class="no-underline border-top-thin py-1 block" href="{{ next_post.url | prepend: full_base_url }}"> - <span class="h5 bold text-accent">Next</span> - <p class="bold h3 link-primary mb-1">{{ next_post.title }}</p> - <p>{{ page.next.content | strip_html | truncatewords:20 }}</p> - </a> -</div> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/twitter.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/twitter.html deleted file mode 100644 index defca53..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_includes/twitter.html +++ /dev/null @@ -1,9 +0,0 @@ -<a href="https://twitter.com/{{ site.social_username }}" title="Follow me on twitter" class="link-social block"> - <svg height="32" class="header-social" version="1.1" width="32" viewBox="0 0 16 16" aria-hidden="true"> - <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M12,6c0,0.1,0,0.2,0,0.3c0,2.7-2.1,5.8-5.8,5.8 - c-1.2,0-2.2-0.3-3.1-0.9c0.2,0,0.3,0,0.5,0c1,0,1.8-0.3,2.5-0.9c-0.9,0-1.7-0.6-1.9-1.4c0.1,0,0.3,0,0.4,0c0.2,0,0.4,0,0.5-0.1 - c-0.9-0.2-1.6-1-1.6-2v0C3.7,6.9,4,7,4.3,7.1c-0.5-0.4-0.9-1-0.9-1.7c0-0.4,0.1-0.7,0.3-1c1,1.2,2.5,2.1,4.2,2.1 - c0-0.2-0.1-0.3-0.1-0.5c0-1.1,0.9-2,2.1-2c0.6,0,1.1,0.2,1.5,0.6c0.5-0.1,0.9-0.3,1.3-0.5c-0.2,0.5-0.5,0.9-0.9,1.1 - c0.4,0,0.8-0.2,1.2-0.3h0C12.7,5.3,12.4,5.7,12,6z"/> - </svg> -</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/category-post.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/category-post.html deleted file mode 100644 index 550e761..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/category-post.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: default ---- -<article class="container px-2 mx-auto mb4" itemscope itemtype="http://schema.org/BlogPosting"> - <h1 class="h0 col-9 sm-width-full py-4 mt-3 inline-block" itemprop="name headline">{{ page.title }}</h1> - <div class="col-4 sm-width-full mt-1 border-top-thin "> - <p class="mb-3 py-2 bold h4"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time></p> - </div> - - <div class="prose" itemprop="articleBody"> - {{ content }} - </div> - -</article> - -<div class="container mx-auto px-2 py-2 clearfix"> - {% include previous-next_has-categories.html %} -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/category_index.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/category_index.html deleted file mode 100644 index 3e1ee61..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/category_index.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page ---- - -{% if page.category_name %} - {% assign category_name = page.category_name %} -{% endif %} - -<div class="container mx-auto"> - {% for post in site.categories[category_name] %} - {% include post_block.html %} - {% endfor %} -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/default.html deleted file mode 100644 index 4176004..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/default.html +++ /dev/null @@ -1,18 +0,0 @@ -<!DOCTYPE html> -<html> - - {% include head.html %} - - <body> - - {% include header.html %} - - <div> - {{ content }} - </div> - - {% include footer.html %} - - </body> - -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/home.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/home.html deleted file mode 100644 index 141be67..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/home.html +++ /dev/null @@ -1,69 +0,0 @@ -<!DOCTYPE html> -<html> - - {% include head.html %} - - <body> - - <div> - - <header class="header-background"> - - <div class="clearfix border-bottom-thick header-border"> - <ul class="list-reset right py-1 header-text font-smoothing"> - {% for my_page in site.pages %} - {% if my_page.title %} - <li class="inline-block"> - <a class="align-middle link-primary header-link mr-2" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title }}</a> - </li> - {% endif %} - {% endfor %} - </ul> - </div> - - <div class="container mx-auto px-2 mb-2 clearfix header-text"> - <h1 class="h0 inline-block col-9 sm-width-full py-4 mt-3 header-title">{{ site.title }}</h1> - - <div class="clearfix mb-4 py-1"> - <div class="col-4 sm-width-full left border-top-thin"> - <div class="table"> - <div class="inline-block mt-3 mr-1"> - {% include dot-accent.html %} - </div> - <div class="inline-block mt-3 mr-1"> - {% include dot-accent.html %} - </div> - <div class="inline-block mt-3"> - {% include github.html %} - </div> - </div> - <!-- Set site description in config.yml --> - <p class="h4 lh-condensed font-smoothing mt-2 py-1">{{ site.description }}</p> - </div> - - <div class="col-4 sm-width-full left border-top-thin mt-3 mt-lg-0 ml-lg-4 table"> - <div class="inline-block mt-3 mr-1"> - {% include dot.html %} - </div> - <div class="inline-block mt-3"> - {% include {{ site.social_link | default: "twitter" }}.html %} - </div> - </div> - </div> - - </div> - </header> - - <div class="container mx-auto px-2 py-4"> - {% for post in site.posts %} - {% include post_block.html %} - {% endfor %} - </div> - - </div> - - {% include footer.html %} - - </body> - -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/page.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/page.html deleted file mode 100644 index a488210..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/page.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: default ---- -<article class="container mx-auto px-2 mt2 mb4"> - <header> - <h1 class="h0 py-4 mt-3">{{ page.title }}</h1> - </header> - <div class="col-4 sm-width-full border-top-thin"> - </div> - <div class="prose mb-4 py-4"> - {{ content }} - </div> -</article> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/post.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/post.html deleted file mode 100644 index 0305591..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_layouts/post.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: default ---- -<article class="container px-2 mx-auto mb4" itemscope itemtype="http://schema.org/BlogPosting"> - <h1 class="h0 col-9 sm-width-full py-4 mt-3 inline-block" itemprop="name headline">{{ page.title }}</h1> - <div class="col-4 sm-width-full mt-1 border-top-thin "> - <p class="mb-3 py-2 bold h4"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time></p> - </div> - - <div class="prose" itemprop="articleBody"> - {{ content }} - </div> - -</article> - -<div class="container mx-auto px-2 py-2 clearfix"> - {% include previous-next.html %} -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_base.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_base.scss deleted file mode 100644 index b88e4cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_base.scss +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Reset some basic elements -*/ - -* { - box-sizing: border-box !important; - margin: 0; } - -input, -select, -textarea, -button { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - - -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; -} - - -/** - * Basic styling - */ -body { - font-family: $body-font-family; - font-size: $body-font-size; - line-height: 1.5; - color: $color-body-text; - background-color: #fff; -} - -p { - margin-top: 0; - margin-bottom: 0.5em; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 1em; - margin-bottom: 0.25em; -} - -h1, .h1 { font-size: $h1-size; } -h2, .h2 { font-size: $h2-size; } -h3, .h3 { font-size: $h3-size; } -h4, .h4 { font-size: $h4-size; } -h5, .h5 { font-size: $h5-size; } -h6, .h6 { font-size: $h6-size; text-transform: uppercase; letter-spacing: 0.02em; } - -a { - color: inherit; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_components.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_components.scss deleted file mode 100644 index a21ef35..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_components.scss +++ /dev/null @@ -1,139 +0,0 @@ -// Styling markdown output - -// Code formatting -pre { - border-left: $spacer-1 solid $color-border; - margin: $spacer-3 0; - padding-left: 16px; - width: (9 / 12 * 100%); // matches col-9 - overflow-x: auto; -} - -code { - color: $color-code; - font-size: $body-font-size; - padding: 1px 0px; -} - - -.prose { - - a { - text-decoration: underline dotted; - - &:hover { - text-decoration: underline; - } - } - - p, ol, ul { - font-size: $prose-font-size; - margin-bottom: 1em; - width: 100%; - - @media (min-width: $breakpoint-lg) { - width: (10 / 12 * 100%); // matches col-10 - } - - } - - ul, ol { - padding-left: 40px; - } - - li { - margin-bottom: 0.5em; - - ul li, ol li { - margin-bottom: 0; - } - } - - img { - - max-width: 100%; - - @media (min-width: $breakpoint-lg) { - max-width: (12 / 10 * 100%); // make image fill width of container on desktop - } - - } - - blockquote { - line-height: 1.375; - padding-left: 20px; - margin: 40px 0 40px -16px; - border-left: $spacer-1 solid $color-border; - font-style: italic; - - p { - font-size: 24px; - } - - @media (min-width: $breakpoint-lg) { - padding-left: $spacer-3; - margin: $spacer-4 0 $spacer-4 -40px; - max-width: (11 / 10 * 100%); - - p { - font-size: 32px; - } - - } - - } - - hr { - color: $color-body-text; - border-style: solid; - border-width: thin; - margin-top: 0.5em; - margin-bottom: 0.5em; - } - - dt { - font-weight: bold; - font-style: italic; - line-height: 1.25; - } - - dd { - font-style: italic; - margin-bottom: 0.5em; - } - - // Markdown tables - table { - border-collapse: collapse; - display: block; - width: 100%; - margin-bottom: 1.5em; - overflow: auto; - // For Firefox to horizontally scroll wider tables. - word-break: normal; - word-break: keep-all; - - th { - font-weight: bold; - text-align: left; - } - - th, - td { - padding: $spacer-2 $spacer-3 $spacer-2 2px; - border-top: 1px solid $color-body-text; - border-bottom: 1px solid $color-body-text; - } - - tr { - background-color: #fff; - border-top: 1px solid $color-body-text; - } - - tr th { - border-top: 2px solid $color-body-text; - border-bottom: 2px solid $color-body-text; - } - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-black.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-black.scss deleted file mode 100644 index f6136da..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-black.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Default black theme - -// Color variables -$black: #181818; -$red: #E74727; -$red-small: #DC3918; -$white: #fff; - -// Config -$color-background: $black !default; -$color-dot-accent: $red !default; -$color-foreground: $white !default; -$color-title: $white !default; -$color-body-text: $black !default; -$color-text-accent: $red !default; -$color-code: $red-small !default; -$color-nav-link: $red !default; -$color-primary-link: $red !default; - -.font-smoothing { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-blue.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-blue.scss deleted file mode 100644 index cc64436..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-blue.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Blue theme - -// Color variables -$blue: #009DDB; -$blue-small: #007AB3; -$gray: #45474A; -$white: #fff; - -// Config -$color-background: $gray !default; -$color-dot-accent: $blue !default; -$color-foreground: $white !default; -$color-title: $blue !default; -$color-body-text: $gray !default; -$color-text-accent: $blue !default; -$color-code: $blue-small !default; -$color-nav-link: $blue !default; -$color-primary-link: $blue !default; - -.font-smoothing { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-gray.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-gray.scss deleted file mode 100644 index a917564..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-gray.scss +++ /dev/null @@ -1,28 +0,0 @@ -// Gray theme - -// Color variables -$white: #fff; -$black: #181818; -$gray: #444; -$gray-light: #777; -$gray-lighter: #bbb; - -// Config -$color-background: $gray-lighter !default; -$color-dot-accent: $white !default; -$color-foreground: $black !default; -$color-title: $black !default; -$color-body-text: $black !default; -$color-text-accent: $gray-light !default; -$color-code: $gray-light !default; -$color-nav-link: $gray !default; -$color-primary-link: $gray-light !default; - - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-magenta.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-magenta.scss deleted file mode 100644 index 5969f38..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-magenta.scss +++ /dev/null @@ -1,25 +0,0 @@ -// Pink theme - links on inside pages? - -// Color variables -$magenta: #CD2DA8; -$black: #2F2323; -$white: #fff; - -// Config -$color-background: $magenta !default; -$color-dot-accent: $black !default; -$color-foreground: $white !default; -$color-title: $white !default; -$color-body-text: $black !default; -$color-text-accent: $magenta !default; -$color-code: $magenta !default; -$color-nav-link: $black !default; -$color-primary-link: $magenta !default; - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-orange.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-orange.scss deleted file mode 100644 index a6c2201..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-orange.scss +++ /dev/null @@ -1,27 +0,0 @@ -// Orange theme - -$orange: #fa8224; -$orange-dark: #DF6D16; -$gray: #767676; -$white: #fff; -$black: #181818; - -$color-background: $orange !default; -$color-dot-accent: $black !default; -$color-foreground: $black !default; -$color-title: $white !default; -$color-body-text: $black !default; -$color-text-accent: $orange-dark !default; -$color-code: $gray !default; -$color-nav-link: $white !default; -$color-primary-link: $orange !default; -$color-border: $orange; - - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-red.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-red.scss deleted file mode 100644 index 2e8dc3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-red.scss +++ /dev/null @@ -1,26 +0,0 @@ -// Default black theme - -// Color variables -$black: #181818; -$red: #E74727; -$red-dark: #DC3918; -$white: #fff; - -// Config -$color-background: $red !default; -$color-dot-accent: $black !default; -$color-foreground: $black !default; -$color-title: $white !default; -$color-body-text: $black !default; -$color-text-accent: $red-dark !default; -$color-code: $red-dark !default; -$color-nav-link: $white !default; -$color-primary-link: $red !default; - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-white.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-white.scss deleted file mode 100644 index 960c1aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-white.scss +++ /dev/null @@ -1,28 +0,0 @@ -// White theme - -// Color variables -$black: #181818; -$red: #E74727; -$red-dark: #DC3918; -$gray-light: #f5f5f5; -$white: #fff; - -// Config -$color-background: $gray-light !default; -$color-dot-accent: $red !default; -$color-foreground: $black !default; -$color-title: $black !default; -$color-body-text: $black !default; -$color-text-accent: $red-dark !default; -$color-code: $red-dark !default; -$color-nav-link: $red-dark !default; -$color-primary-link: $red-dark !default; - - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-yellow.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-yellow.scss deleted file mode 100644 index c9cfb26..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_theme-yellow.scss +++ /dev/null @@ -1,29 +0,0 @@ -// Yellow theme - could do yellow on borders? - links on inside pages? - -// Color variables -$black: #181818; -$white: #fff; -$gray: #777; -$yellow: #fec92e; - - -// Config -$color-background: $yellow !default; -$color-dot-accent: $white !default; -$color-foreground: $black !default; -$color-title: $black !default; -$color-body-text: $black !default; -$color-text-accent: $gray !default; -$color-code: $gray !default; -$color-nav-link: $white !default; -$color-primary-link: $gray !default; -$color-border: $yellow; - - -// Import sass partials (used in all themes) -@import - "variables", - "base", - "components", - "utilities" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_utilities.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_utilities.scss deleted file mode 100644 index bba9165..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_utilities.scss +++ /dev/null @@ -1,182 +0,0 @@ -/* Type utilities */ -.h0 { - font-size: $h0-mobile; - line-height: 1.0125; - margin-top: 0.85em; - word-wrap: break-word; - - @media (min-width: $breakpoint-lg) { - font-size: $h0-desktop; - } -} - -.text-right { text-align: right; } - -.no-underline { - text-decoration: none !important; - - &:hover { - text-decoration: none !important; - } -} - -.bold { font-weight: bold; } -.uppercase { text-transform: uppercase; } - -.lh-condensed { line-height: 1.25; } - -.list-reset { - list-style: none; - padding-left: 0; -} - -/* Border utilities */ -.border-bottom-thick { border-bottom: 2px solid; border-color: currentColor; } -.border-bottom-thin { border-bottom: 1px solid; border-color: currentColor; } -.border-top-thick { border-top: 2px solid; border-color: currentColor; } -.border-top-thin { border-top: 1px solid; border-color: currentColor; } -.border-0 { border: 0; } - - -/* Theme color utilities */ -.header-background { background-color: $color-background; } -.header-border { border-color: $color-foreground; } -.header-title { color: $color-title; } -.header-text { color: $color-foreground; } -.header-social { fill: $color-foreground; } -.header-social-accent { fill: $color-dot-accent; } -.header-link:hover { color: $color-nav-link !important; } // used for navigation links on homepage -.text-accent { color: $color-text-accent; } // used for date in post list and home link - -/* Layout utilities */ -.container { max-width: $container-width; } - -.col-1 { width: (1 / 12 * 100%); } -.col-2 { width: (2 / 12 * 100%); } -.col-3 { width: (3 / 12 * 100%); } -.col-4 { width: (4 / 12 * 100%); } -.col-5 { width: (5 / 12 * 100%); } -.col-6 { width: (6 / 12 * 100%); } -.col-7 { width: (7 / 12 * 100%); } -.col-8 { width: (8 / 12 * 100%); } -.col-9 { width: (9 / 12 * 100%); } -.col-10 { width: (10 / 12 * 100%); } -.col-11 { width: (11 / 12 * 100%); } -.col-12 { width: 100%; } - -@media (max-width: $breakpoint-lg) { - .sm-width-full { width: 100% !important; } -} - -.block { display: block !important; } -.inline-block { display: inline-block !important; } - -.table { display: table !important; } - -.left { float: left; } -.right { float: right; } - -.clearfix:before, -.clearfix:after { - content: " "; - display: table -} -.clearfix:after { clear: both } - -.align-middle { vertical-align: middle; } - -/* Padding */ -.px-0 { padding-left: 0; padding-right: 0 } -.py-0 { padding-top: 0; padding-bottom: 0 } - -.px-1 { padding-left: $spacer-1; padding-right: $spacer-1 } -.py-1 { padding-top: $spacer-1; padding-bottom: $spacer-1 } - -.px-2 { padding-left: $spacer-2; padding-right: $spacer-2; } -.py-2 { padding-top: $spacer-2; padding-bottom: $spacer-2; } - -.px-3 { padding-left: $spacer-3; padding-right: $spacer-3; } -.py-3 { padding-top: $spacer-3; padding-bottom: $spacer-3; } - -.px-4 { padding-left: $spacer-4; padding-right: $spacer-4; } -.py-4 { padding-top: $spacer-4; padding-bottom: $spacer-4; } - -/* Margin */ -.mx-auto { margin-left: auto; margin-right: auto; } - -.mt-0 { margin-top: 0; } -.mr-0 { margin-right: 0; } -.mb-0 { margin-bottom: 0; } -.ml-0 { margin-left: 0; } - -.mt-1 { margin-top: $spacer-1; } -.mr-1 { margin-right: $spacer-1; } -.mb-1 { margin-bottom: $spacer-1; } -.ml-1 { margin-left: $spacer-1; } - -.mt-2 { margin-top: $spacer-2; } -.mr-2 { margin-right: $spacer-2; } -.mb-2 { margin-bottom: $spacer-2; } -.ml-2 { margin-left: $spacer-2; } - -.mt-3 { margin-top: $spacer-3; } -.mr-3 { margin-right: $spacer-3; } -.mb-3 { margin-bottom: $spacer-3; } -.ml-3 { margin-left: $spacer-3; } - -.mt-4 { margin-top: $spacer-4; } -.mr-4 { margin-right: $spacer-4; } -.mb-4 { margin-bottom: $spacer-4; } -.ml-4 { margin-left: $spacer-4; } - -// Responsive margin -@media (min-width: 52em) { - .mx-lg-auto { margin-left: auto; margin-right: auto; } - - .mt-lg-0 { margin-top: 0; } - .mr-lg-0 { margin-right: 0; } - .mb-lg-0 { margin-bottom: 0; } - .ml-lg-0 { margin-left: 0; } - - .mt-lg-1 { margin-top: $spacer-1; } - .mr-lg-1 { margin-right: $spacer-1; } - .mb-lg-1 { margin-bottom: $spacer-1; } - .ml-lg-1 { margin-left: $spacer-1; } - - .mt-lg-2 { margin-top: $spacer-2; } - .mr-lg-2 { margin-right: $spacer-2; } - .mb-lg-2 { margin-bottom: $spacer-2; } - .ml-lg-2 { margin-left: $spacer-2; } - - .mt-lg-3 { margin-top: $spacer-3; } - .mr-lg-3 { margin-right: $spacer-3; } - .mb-lg-3 { margin-bottom: $spacer-3; } - .ml-lg-3 { margin-left: $spacer-3; } - - .mt-lg-4 { margin-top: $spacer-4; } - .mr-lg-4 { margin-right: $spacer-4; } - .mb-lg-4 { margin-bottom: $spacer-4; } - .ml-lg-4 { margin-left: $spacer-4; } -} - -// Link styles for social icons -.link-social { - text-decoration: none; - font-weight: bold; - line-height: 1; - - &:hover { - text-decoration: none !important; - } -} - -// Link styles for navigation -.link-primary { - font-weight: bold; - text-decoration: none !important; - - &:hover { - color: $color-primary-link; - text-decoration: none !important; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_variables.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_variables.scss deleted file mode 100644 index 66b0361..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/_sass/_variables.scss +++ /dev/null @@ -1,35 +0,0 @@ - -// Font family -$body-font-family: "Helvetica Neue", Arial, sans-serif; -$body-font-size: 16px; -$prose-font-size: 20px; - - -// Type scale -$h0-mobile: 64px; -$h0-desktop: 128px; - -$h1-size: 40px !default; -$h2-size: 32px !default; -$h3-size: 24px !default; -$h4-size: 20px !default; -$h5-size: 16px !default; -$h6-size: 12px !default; - -// Default border color -$color-border: #ddd !default; - -// Container width -$container-width: 64em; - -// Large breakpoint -$breakpoint-lg: 52em; - -// Spacing unit -$spacer: 8px !default; - -// Spacing scale -$spacer-1: $spacer !default; // 8px -$spacer-2: ($spacer * 2) !default; // 16px -$spacer-3: ($spacer * 4) !default; // 32px -$spacer-4: ($spacer * 8) !default; // 64px diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/assets/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/assets/style.scss deleted file mode 100644 index bf4f155..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-swiss-1.0.0/assets/style.scss +++ /dev/null @@ -1,9 +0,0 @@ ---- -# Only the main Sass file needs front matter (the dashes are enough) ---- -@charset "utf-8"; - -// Import partials from `sass_dir` and set theme here -@import - "theme-{{ site.theme_color | default: "black" }}.scss" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/README.md deleted file mode 100644 index ffecb37..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Architect theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/architect/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/architect/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-architect.svg)](https://badge.fury.io/rb/jekyll-theme-architect) - -*Architect is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/architect), or even [use it today](#usage).* - -![Thumbnail of Architect](thumbnail.png) - -## Usage - -To use the Architect theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/architect@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Architect will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/architect/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/architect/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/architect/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/architect/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/architect/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Architect theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Architect? We'd love your help. Architect is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/architect`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_layouts/default.html deleted file mode 100644 index f85920c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_layouts/default.html +++ /dev/null @@ -1,63 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset='utf-8'> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}" media="screen" type="text/css"> - <link rel="stylesheet" href="{{ '/assets/css/print.css' | relative_url }}" media="print" type="text/css"> - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> - <![endif]--> - -{% seo %} - - {% include head-custom.html %} - </head> - - <body> - <header> - <div class="inner"> - <a href="{{ '/' | absolute_url }}"> - <h1>{{ site.title | default: site.github.repository_name }}</h1> - </a> - <h2>{{ site.description | default: site.github.project_tagline }}</h2> - {% if site.github.is_project_page %} - <a href="{{ site.github.repository_url }}" class="button"><small>View project on</small> GitHub</a> - {% endif %} - {% if site.github.is_user_page %} - <a href="{{ site.github.owner_url }}" class="button"><small>Follow me on</small> GitHub</a> - {% endif %} - </div> - </header> - - <div id="content-wrapper"> - <div class="inner clearfix"> - <section id="main-content"> - {{ content }} - </section> - - <aside id="sidebar"> - {% if site.show_downloads %} - <a href="{{ site.github.zip_url }}" class="button"> - <small>Download</small> - .zip file - </a> - <a href="{{ site.github.tar_url }}" class="button"> - <small>Download</small> - .tar.gz file - </a> - {% endif %} - - {% if site.github.is_project_page %} - <p class="repo-owner"><a href="{{ site.github.repository_url }}">{{ site.github.repository_name }}</a> is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a>.</p> - {% endif %} - - <p>This page was generated by <a href="https://pages.github.com">GitHub Pages</a>.</p> - </aside> - </div> - </div> - - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/architect.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/architect.scss deleted file mode 100644 index 32ddf40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/architect.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-architect"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/jekyll-theme-architect.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/jekyll-theme-architect.scss deleted file mode 100644 index 756d117..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/jekyll-theme-architect.scss +++ /dev/null @@ -1,455 +0,0 @@ -@import "normalize"; -@import "rouge-github"; -@import url('https://fonts.googleapis.com/css?family=Architects+Daughter'); - -/* LAYOUT STYLES */ -body { - font-family: 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 15px; - font-weight: 400; - line-height: 1.5; - color: #666; - background: #fafafa url(../images/body-bg.jpg) 0 0 repeat; -} - -p { - margin-top: 0; -} - -a { - color: #2879d0; -} -a:hover { - color: #2268b2; -} - -header { - padding-top: 40px; - padding-bottom: 40px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - background: #2e7bcf url(../images/header-bg.jpg) 0 0 repeat-x; - border-bottom: solid 1px #275da1; -} - -header h1 { - width: 540px; - margin-top: 0; - margin-bottom: 0.2em; - font-size: 72px; - font-weight: normal; - line-height: 1; - color: #fff; - letter-spacing: -1px; -} - -header h2 { - width: 540px; - margin-top: 0; - margin-bottom: 0; - font-size: 26px; - font-weight: normal; - line-height: 1.3; - color: #9ddcff; - letter-spacing: 0; -} - -.inner { - position: relative; - width: 940px; - margin: 0 auto; -} - -#content-wrapper { - padding-top: 30px; - border-top: solid 1px #fff; -} - -#main-content { - float: left; - width: 690px; -} - -#main-content img { - max-width: 100%; -} - -aside#sidebar { - float: right; - width: 200px; - min-height: 504px; - padding-left: 20px; - font-size: 12px; - line-height: 1.3; - background: transparent url(../images/sidebar-bg.jpg) 0 0 no-repeat; -} - -aside#sidebar p.repo-owner, -aside#sidebar p.repo-owner a { - font-weight: bold; -} - -#downloads { - margin-bottom: 40px; -} - -a.button { - width: 134px; - height: 58px; - padding-top: 22px; - padding-left: 68px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 23px; - line-height: 1.2; - color: #fff; -} -a.button small { - display: block; - font-size: 11px; -} -header a.button { - position: absolute; - top: 0; - right: 0; - background: transparent url(../images/github-button.png) 0 0 no-repeat; -} -aside a.button { - display: block; - width: 138px; - padding-left: 64px; - margin-bottom: 20px; - font-size: 21px; - background: transparent url(../images/download-button.png) 0 0 no-repeat; -} - -code, pre { - margin-bottom: 30px; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 13px; - color: #222; -} - -code { - padding: 0 3px; - background-color: #f2f8fc; - border: solid 1px #dbe7f3; -} - -pre { - padding: 20px; - overflow: auto; - text-shadow: none; - background: #fff; - border: solid 1px #f2f2f2; -} -pre code { - padding: 0; - color: #2879d0; - background-color: #fff; - border: none; -} - -ul, ol, dl { - margin-bottom: 20px; -} - - -/* COMMON STYLES */ - -hr { - height: 0; - margin-top: 1em; - margin-bottom: 1em; - border: 0; - border-top: solid 1px #ddd; -} - -table { - width: 100%; - border: 1px solid #ebebeb; -} - -th { - font-weight: 500; -} - -td { - font-weight: 300; - text-align: center; - border: 1px solid #ebebeb; -} - -form { - padding: 20px; - background: #f2f2f2; - -} - - -/* GENERAL ELEMENT TYPE STYLES */ - -#main-content h1 { - margin-top: 0; - margin-bottom: 0; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 2.8em; - font-weight: normal; - color: #474747; - text-indent: 6px; - letter-spacing: -1px; -} - -#main-content h1:before { - padding-right: 0.3em; - margin-left: -0.9em; - color: #9ddcff; - content: "/"; -} - -#main-content h2 { - margin-bottom: 8px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 22px; - font-weight: bold; - color: #474747; - text-indent: 4px; -} -#main-content h2:before { - padding-right: 0.3em; - margin-left: -1.5em; - content: "//"; - color: #9ddcff; -} - -#main-content h3 { - margin-top: 24px; - margin-bottom: 8px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 18px; - font-weight: bold; - color: #474747; - text-indent: 3px; -} - -#main-content h3:before { - padding-right: 0.3em; - margin-left: -2em; - content: "///"; - color: #9ddcff; -} - -#main-content h4 { - margin-bottom: 8px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 15px; - font-weight: bold; - color: #474747; - text-indent: 3px; -} - -h4:before { - padding-right: 0.3em; - margin-left: -2.8em; - content: "////"; - color: #9ddcff; -} - -#main-content h5 { - margin-bottom: 8px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 14px; - color: #474747; - text-indent: 3px; -} -h5:before { - padding-right: 0.3em; - margin-left: -3.2em; - content: "/////"; - color: #9ddcff; -} - -#main-content h6 { - margin-bottom: 8px; - font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: .8em; - color: #474747; - text-indent: 3px; -} -h6:before { - padding-right: 0.3em; - margin-left: -3.7em; - content: "//////"; - color: #9ddcff; -} - -p { - margin-bottom: 20px; -} - -a { - text-decoration: none; -} - -p a { - font-weight: 400; -} - -blockquote { - padding: 0 0 0 30px; - margin-bottom: 20px; - font-size: 15px; - border-left: 10px solid #e9e9e9; -} - -ul { - list-style-position: inside; - list-style: disc; - padding-left: 20px; -} - -ol { - list-style-position: inside; - list-style: decimal; - padding-left: 20px; -} - -dl dd { - font-style: italic; - font-weight: 100; -} - -footer { - padding-top: 20px; - padding-bottom: 30px; - margin-top: 40px; - font-size: 13px; - color: #aaa; -} - -footer a { - color: #666; -} -footer a:hover { - color: #444; -} - -/* MISC */ -.clearfix:after { - display: block; - height: 0; - clear: both; - visibility: hidden; - content: '.'; -} - -.clearfix {display: inline-block;} -* html .clearfix {height: 1%;} -.clearfix {display: block;} - -/* #Media Queries -================================================== */ - -/* Smaller than standard 960 (devices and browsers) */ -@media only screen and (max-width: 959px) { } - -/* Tablet Portrait size to standard 960 (devices and browsers) */ -@media only screen and (min-width: 768px) and (max-width: 959px) { - .inner { - width: 740px; - } - header h1, header h2 { - width: 340px; - } - header h1 { - font-size: 60px; - } - header h2 { - font-size: 30px; - } - #main-content { - width: 490px; - } - #main-content h1:before, - #main-content h2:before, - #main-content h3:before, - #main-content h4:before, - #main-content h5:before, - #main-content h6:before { - padding-right: 0; - margin-left: 0; - content: none; - } -} - -/* All Mobile Sizes (devices and browser) */ -@media only screen and (max-width: 767px) { - .inner { - width: 93%; - } - header { - padding: 20px 0; - } - header .inner { - position: relative; - } - header h1, header h2 { - width: 100%; - } - header h1 { - font-size: 48px; - } - header h2 { - font-size: 24px; - } - header a.button { - position: relative; - display: inline-block; - width: auto; - height: auto; - padding: 5px 10px; - margin-top: 15px; - font-size: 13px; - line-height: 1; - color: #2879d0; - text-align: center; - background-color: #9ddcff; - background-image: none; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - } - header a.button small { - display: inline; - font-size: 13px; - } - #main-content, - aside#sidebar { - float: none; - width: 100% ! important; - } - aside#sidebar { - min-height: 0; - padding: 20px 0; - margin-top: 20px; - background-image: none; - border-top: solid 1px #ddd; - } - aside#sidebar a.button { - display: none; - } - #main-content h1:before, - #main-content h2:before, - #main-content h3:before, - #main-content h4:before, - #main-content h5:before, - #main-content h6:before { - padding-right: 0; - margin-left: 0; - content: none; - } -} - -/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ -@media only screen and (min-width: 480px) and (max-width: 767px) { } - -/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ -@media only screen and (max-width: 479px) { } diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/normalize.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/normalize.scss deleted file mode 100644 index 30366a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/normalize.scss +++ /dev/null @@ -1,424 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/rouge-github.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/rouge-github.scss deleted file mode 100644 index daf76ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/_sass/rouge-github.scss +++ /dev/null @@ -1,209 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight .cm { - color: #999988; - font-style: italic; -} -.highlight .cp { - color: #999999; - font-weight: bold; -} -.highlight .c1 { - color: #999988; - font-style: italic; -} -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; -} -.highlight .c, .highlight .cd { - color: #999988; - font-style: italic; -} -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} -.highlight .ge { - color: #000000; - font-style: italic; -} -.highlight .gr { - color: #aa0000; -} -.highlight .gh { - color: #999999; -} -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} -.highlight .go { - color: #888888; -} -.highlight .gp { - color: #555555; -} -.highlight .gs { - font-weight: bold; -} -.highlight .gu { - color: #aaaaaa; -} -.highlight .gt { - color: #aa0000; -} -.highlight .kc { - color: #000000; - font-weight: bold; -} -.highlight .kd { - color: #000000; - font-weight: bold; -} -.highlight .kn { - color: #000000; - font-weight: bold; -} -.highlight .kp { - color: #000000; - font-weight: bold; -} -.highlight .kr { - color: #000000; - font-weight: bold; -} -.highlight .kt { - color: #445588; - font-weight: bold; -} -.highlight .k, .highlight .kv { - color: #000000; - font-weight: bold; -} -.highlight .mf { - color: #009999; -} -.highlight .mh { - color: #009999; -} -.highlight .il { - color: #009999; -} -.highlight .mi { - color: #009999; -} -.highlight .mo { - color: #009999; -} -.highlight .m, .highlight .mb, .highlight .mx { - color: #009999; -} -.highlight .sb { - color: #d14; -} -.highlight .sc { - color: #d14; -} -.highlight .sd { - color: #d14; -} -.highlight .s2 { - color: #d14; -} -.highlight .se { - color: #d14; -} -.highlight .sh { - color: #d14; -} -.highlight .si { - color: #d14; -} -.highlight .sx { - color: #d14; -} -.highlight .sr { - color: #009926; -} -.highlight .s1 { - color: #d14; -} -.highlight .ss { - color: #990073; -} -.highlight .s { - color: #d14; -} -.highlight .na { - color: #008080; -} -.highlight .bp { - color: #999999; -} -.highlight .nb { - color: #0086B3; -} -.highlight .nc { - color: #445588; - font-weight: bold; -} -.highlight .no { - color: #008080; -} -.highlight .nd { - color: #3c5d5d; - font-weight: bold; -} -.highlight .ni { - color: #800080; -} -.highlight .ne { - color: #990000; - font-weight: bold; -} -.highlight .nf { - color: #990000; - font-weight: bold; -} -.highlight .nl { - color: #990000; - font-weight: bold; -} -.highlight .nn { - color: #555555; -} -.highlight .nt { - color: #000080; -} -.highlight .vc { - color: #008080; -} -.highlight .vg { - color: #008080; -} -.highlight .vi { - color: #008080; -} -.highlight .nv { - color: #008080; -} -.highlight .ow { - color: #000000; - font-weight: bold; -} -.highlight .o { - color: #000000; - font-weight: bold; -} -.highlight .w { - color: #bbbbbb; -} -.highlight { - background-color: #f8f8f8; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/css/print.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/css/print.scss deleted file mode 100644 index e9bc8ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/css/print.scss +++ /dev/null @@ -1,231 +0,0 @@ ---- ---- - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - padding: 0; - margin: 0; - font: inherit; - font-size: 100%; - vertical-align: baseline; - border: 0; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-spacing: 0; - border-collapse: collapse; -} -body { - font-family: 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 13px; - line-height: 1.5; - color: #000; -} - -a { - font-weight: bold; - color: #d5000d; -} - -header { - padding-top: 35px; - padding-bottom: 10px; -} - -header h1 { - font-size: 48px; - font-weight: bold; - line-height: 1.2; - color: #303030; - letter-spacing: -1px; -} - -header h2 { - font-size: 24px; - font-weight: normal; - line-height: 1.3; - color: #aaa; - letter-spacing: -1px; -} -#downloads { - display: none; -} -#main_content { - padding-top: 20px; -} - -code, pre { - margin-bottom: 30px; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; - font-size: 12px; - color: #222; -} - -code { - padding: 0 3px; -} - -pre { - padding: 20px; - overflow: auto; - border: solid 1px #ddd; -} -pre code { - padding: 0; -} - -ul, ol, dl { - margin-bottom: 20px; -} - - -/* COMMON STYLES */ - -table { - width: 100%; - border: 1px solid #ebebeb; -} - -th { - font-weight: 500; -} - -td { - font-weight: 300; - text-align: center; - border: 1px solid #ebebeb; -} - -form { - padding: 20px; - background: #f2f2f2; - -} - - -/* GENERAL ELEMENT TYPE STYLES */ - -h1 { - font-size: 2.8em; -} - -h2 { - margin-bottom: 8px; - font-size: 22px; - font-weight: bold; - color: #303030; -} - -h3 { - margin-bottom: 8px; - font-size: 18px; - font-weight: bold; - color: #d5000d; -} - -h4 { - font-size: 16px; - font-weight: bold; - color: #303030; -} - -h5 { - font-size: 1em; - color: #303030; -} - -h6 { - font-size: .8em; - color: #303030; -} - -p { - margin-bottom: 20px; - font-weight: 300; -} - -a { - text-decoration: none; -} - -p a { - font-weight: 400; -} - -blockquote { - padding: 0 0 0 30px; - margin-bottom: 20px; - font-size: 1.6em; - border-left: 10px solid #e9e9e9; -} - -ul li { - padding-left: 20px; - list-style-position: inside; - list-style: disc; -} - -ol li { - padding-left: 3px; - list-style-position: inside; - list-style: decimal; -} - -dl dd { - font-style: italic; - font-weight: 100; -} - -footer { - padding-top: 20px; - padding-bottom: 30px; - margin-top: 40px; - font-size: 13px; - color: #aaa; -} - -footer a { - color: #666; -} - -/* MISC */ -.clearfix:after { - display: block; - height: 0; - clear: both; - visibility: hidden; - content: '.'; -} - -.clearfix {display: inline-block;} -* html .clearfix {height: 1%;} -.clearfix {display: block;} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/css/style.scss deleted file mode 100644 index 793052a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import 'jekyll-theme-architect'; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/body-bg.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/body-bg.jpg deleted file mode 100644 index 719fb88..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/body-bg.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/download-button.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/download-button.png deleted file mode 100644 index c5ffb3a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/download-button.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/github-button.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/github-button.png deleted file mode 100644 index cd41580..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/github-button.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/header-bg.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/header-bg.jpg deleted file mode 100644 index d16497a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/header-bg.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/highlight-bg.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/highlight-bg.jpg deleted file mode 100644 index 355e089..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/highlight-bg.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/sidebar-bg.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/sidebar-bg.jpg deleted file mode 100644 index 536ead9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-architect-0.2.0/assets/images/sidebar-bg.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/README.md deleted file mode 100644 index 06a3b19..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Cayman theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/cayman/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/cayman/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-cayman.svg)](https://badge.fury.io/rb/jekyll-theme-cayman) - -*Cayman is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/cayman), or even [use it today](#usage).* - -![Thumbnail of Cayman](thumbnail.png) - -## Usage - -To use the Cayman theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/cayman@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Cayman will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/cayman/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/cayman/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/cayman/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/cayman/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/cayman/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Cayman theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Cayman? We'd love your help. Cayman is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/cayman`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_layouts/default.html deleted file mode 100644 index ba7224f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_layouts/default.html +++ /dev/null @@ -1,41 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="UTF-8"> - -{% seo %} - <link rel="preconnect" href="https://fonts.gstatic.com"> - <link rel="preload" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap" as="style" type="text/css" crossorigin> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta name="theme-color" content="#157878"> - <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - {% include head-custom.html %} - </head> - <body> - <a id="skip-to-content" href="#content">Skip to the content.</a> - - <header class="page-header" role="banner"> - <h1 class="project-name">{{ page.title | default: site.title | default: site.github.repository_name }}</h1> - <h2 class="project-tagline">{{ page.description | default: site.description | default: site.github.project_tagline }}</h2> - {% if site.github.is_project_page %} - <a href="{{ site.github.repository_url }}" class="btn">View on GitHub</a> - {% endif %} - {% if site.show_downloads %} - <a href="{{ site.github.zip_url }}" class="btn">Download .zip</a> - <a href="{{ site.github.tar_url }}" class="btn">Download .tar.gz</a> - {% endif %} - </header> - - <main id="content" class="main-content" role="main"> - {{ content }} - - <footer class="site-footer"> - {% if site.github.is_project_page %} - <span class="site-footer-owner"><a href="{{ site.github.repository_url }}">{{ site.github.repository_name }}</a> is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a>.</span> - {% endif %} - <span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a>.</span> - </footer> - </main> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/cayman.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/cayman.scss deleted file mode 100644 index ff073aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/cayman.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-cayman"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/jekyll-theme-cayman.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/jekyll-theme-cayman.scss deleted file mode 100644 index d3196e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/jekyll-theme-cayman.scss +++ /dev/null @@ -1,378 +0,0 @@ -@import "normalize"; -@import "rouge-github"; -@import "variables"; -@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap'); - -@mixin large { - @media screen and (min-width: #{$large-breakpoint}) { - @content; - } -} - -@mixin medium { - @media screen and (min-width: #{$medium-breakpoint}) and (max-width: #{$large-breakpoint}) { - @content; - } -} - -@mixin small { - @media screen and (max-width: #{$medium-breakpoint}) { - @content; - } -} - -* { - box-sizing: border-box; -} - -body { - padding: 0; - margin: 0; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 1.5; - color: $body-text-color; -} - -#skip-to-content { - height: 1px; - width: 1px; - position: absolute; - overflow: hidden; - top: -10px; - - &:focus { - position: fixed; - top: 10px; - left: 10px; - height: auto; - width: auto; - background: invert($body-link-color); - outline: thick solid invert($body-link-color); - } -} - -a { - color: $body-link-color; - text-decoration: none; - - &:hover { - text-decoration: underline; - } -} - -.btn { - display: inline-block; - margin-bottom: 1rem; - color: rgba(255, 255, 255, 0.7); - background-color: rgba(255, 255, 255, 0.08); - border-color: rgba(255, 255, 255, 0.2); - border-style: solid; - border-width: 1px; - border-radius: 0.3rem; - transition: color 0.2s, background-color 0.2s, border-color 0.2s; - - &:hover { - color: rgba(255, 255, 255, 0.8); - text-decoration: none; - background-color: rgba(255, 255, 255, 0.2); - border-color: rgba(255, 255, 255, 0.3); - } - - + .btn { - margin-left: 1rem; - } - - @include large { - padding: 0.75rem 1rem; - } - - @include medium { - padding: 0.6rem 0.9rem; - font-size: 0.9rem; - } - - @include small { - display: block; - width: 100%; - padding: 0.75rem; - font-size: 0.9rem; - - + .btn { - margin-top: 1rem; - margin-left: 0; - } - } -} - -.page-header { - color: $header-heading-color; - text-align: center; - background-color: $header-bg-color; - background-image: linear-gradient(120deg, $header-bg-color-secondary, $header-bg-color); - - @include large { - padding: 5rem 6rem; - } - - @include medium { - padding: 3rem 4rem; - } - - @include small { - padding: 2rem 1rem; - } -} - -.project-name { - margin-top: 0; - margin-bottom: 0.1rem; - - @include large { - font-size: 3.25rem; - } - - @include medium { - font-size: 2.25rem; - } - - @include small { - font-size: 1.75rem; - } -} - -.project-tagline { - margin-bottom: 2rem; - font-weight: normal; - opacity: 0.7; - - @include large { - font-size: 1.25rem; - } - - @include medium { - font-size: 1.15rem; - } - - @include small { - font-size: 1rem; - } -} - -.main-content { - word-wrap: break-word; - - :first-child { - margin-top: 0; - } - - @include large { - max-width: 64rem; - padding: 2rem 6rem; - margin: 0 auto; - font-size: 1.1rem; - } - - @include medium { - padding: 2rem 4rem; - font-size: 1.1rem; - } - - @include small { - padding: 2rem 1rem; - font-size: 1rem; - } - - kbd { - background-color: #fafbfc; - border: 1px solid #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; - color: #444d56; - display: inline-block; - font-size: 11px; - line-height: 10px; - padding: 3px 5px; - vertical-align: middle; - } - - img { - max-width: 100%; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - margin-top: 2rem; - margin-bottom: 1rem; - font-weight: normal; - color: $section-headings-color; - } - - p { - margin-bottom: 1em; - } - - code { - padding: 2px 4px; - font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; - font-size: 0.9rem; - color: $code-text-color; - background-color: $code-bg-color; - border-radius: 0.3rem; - } - - pre { - padding: 0.8rem; - margin-top: 0; - margin-bottom: 1rem; - font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; - color: $code-text-color; - word-wrap: normal; - background-color: $code-bg-color; - border: solid 1px $border-color; - border-radius: 0.3rem; - - > code { - padding: 0; - margin: 0; - font-size: 0.9rem; - color: $code-text-color; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; - } - } - - .highlight { - margin-bottom: 1rem; - - pre { - margin-bottom: 0; - word-break: normal; - } - } - - .highlight pre, - pre { - padding: 0.8rem; - overflow: auto; - font-size: 0.9rem; - line-height: 1.45; - border-radius: 0.3rem; - -webkit-overflow-scrolling: touch; - } - - pre code, - pre tt { - display: inline; - max-width: initial; - padding: 0; - margin: 0; - overflow: initial; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; - - &:before, - &:after { - content: normal; - } - } - - ul, - ol { - margin-top: 0; - } - - blockquote { - padding: 0 1rem; - margin-left: 0; - color: $blockquote-text-color; - border-left: 0.3rem solid $border-color; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } - } - - table { - display: block; - width: 100%; - overflow: auto; - word-break: normal; - word-break: keep-all; // For Firefox to horizontally scroll wider tables. - -webkit-overflow-scrolling: touch; - - th { - font-weight: bold; - } - - th, - td { - padding: 0.5rem 1rem; - border: 1px solid $table-border-color; - } - } - - dl { - padding: 0; - - dt { - padding: 0; - margin-top: 1rem; - font-size: 1rem; - font-weight: bold; - } - - dd { - padding: 0; - margin-bottom: 1rem; - } - } - - hr { - height: 2px; - padding: 0; - margin: 1rem 0; - background-color: $hr-border-color; - border: 0; - } -} - -.site-footer { - padding-top: 2rem; - margin-top: 2rem; - border-top: solid 1px $hr-border-color; - - @include large { - font-size: 1rem; - } - - @include medium { - font-size: 1rem; - } - - @include small { - font-size: 0.9rem; - } -} - -.site-footer-owner { - display: block; - font-weight: bold; -} - -.site-footer-credits { - color: $blockquote-text-color; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/normalize.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/normalize.scss deleted file mode 100644 index 30366a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/normalize.scss +++ /dev/null @@ -1,424 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/rouge-github.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/rouge-github.scss deleted file mode 100644 index daf76ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/rouge-github.scss +++ /dev/null @@ -1,209 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight .cm { - color: #999988; - font-style: italic; -} -.highlight .cp { - color: #999999; - font-weight: bold; -} -.highlight .c1 { - color: #999988; - font-style: italic; -} -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; -} -.highlight .c, .highlight .cd { - color: #999988; - font-style: italic; -} -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} -.highlight .ge { - color: #000000; - font-style: italic; -} -.highlight .gr { - color: #aa0000; -} -.highlight .gh { - color: #999999; -} -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} -.highlight .go { - color: #888888; -} -.highlight .gp { - color: #555555; -} -.highlight .gs { - font-weight: bold; -} -.highlight .gu { - color: #aaaaaa; -} -.highlight .gt { - color: #aa0000; -} -.highlight .kc { - color: #000000; - font-weight: bold; -} -.highlight .kd { - color: #000000; - font-weight: bold; -} -.highlight .kn { - color: #000000; - font-weight: bold; -} -.highlight .kp { - color: #000000; - font-weight: bold; -} -.highlight .kr { - color: #000000; - font-weight: bold; -} -.highlight .kt { - color: #445588; - font-weight: bold; -} -.highlight .k, .highlight .kv { - color: #000000; - font-weight: bold; -} -.highlight .mf { - color: #009999; -} -.highlight .mh { - color: #009999; -} -.highlight .il { - color: #009999; -} -.highlight .mi { - color: #009999; -} -.highlight .mo { - color: #009999; -} -.highlight .m, .highlight .mb, .highlight .mx { - color: #009999; -} -.highlight .sb { - color: #d14; -} -.highlight .sc { - color: #d14; -} -.highlight .sd { - color: #d14; -} -.highlight .s2 { - color: #d14; -} -.highlight .se { - color: #d14; -} -.highlight .sh { - color: #d14; -} -.highlight .si { - color: #d14; -} -.highlight .sx { - color: #d14; -} -.highlight .sr { - color: #009926; -} -.highlight .s1 { - color: #d14; -} -.highlight .ss { - color: #990073; -} -.highlight .s { - color: #d14; -} -.highlight .na { - color: #008080; -} -.highlight .bp { - color: #999999; -} -.highlight .nb { - color: #0086B3; -} -.highlight .nc { - color: #445588; - font-weight: bold; -} -.highlight .no { - color: #008080; -} -.highlight .nd { - color: #3c5d5d; - font-weight: bold; -} -.highlight .ni { - color: #800080; -} -.highlight .ne { - color: #990000; - font-weight: bold; -} -.highlight .nf { - color: #990000; - font-weight: bold; -} -.highlight .nl { - color: #990000; - font-weight: bold; -} -.highlight .nn { - color: #555555; -} -.highlight .nt { - color: #000080; -} -.highlight .vc { - color: #008080; -} -.highlight .vg { - color: #008080; -} -.highlight .vi { - color: #008080; -} -.highlight .nv { - color: #008080; -} -.highlight .ow { - color: #000000; - font-weight: bold; -} -.highlight .o { - color: #000000; - font-weight: bold; -} -.highlight .w { - color: #bbbbbb; -} -.highlight { - background-color: #f8f8f8; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/variables.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/variables.scss deleted file mode 100644 index bf56450..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/_sass/variables.scss +++ /dev/null @@ -1,23 +0,0 @@ -// Breakpoints -$large-breakpoint: 64em !default; -$medium-breakpoint: 42em !default; - -// Headers -$header-heading-color: #fff !default; -$header-bg-color: #159957 !default; -$header-bg-color-secondary: #155799 !default; - -// Text -$section-headings-color: #159957 !default; -$body-text-color: #606c71 !default; -$body-link-color: #1e6bb8 !default; -$blockquote-text-color: #819198 !default; - -// Code -$code-bg-color: #f3f6fa !default; -$code-text-color: #567482 !default; - -// Borders -$border-color: #dce6f0 !default; -$table-border-color: #e9ebec !default; -$hr-border-color: #eff0f1 !default; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/assets/css/style.scss deleted file mode 100644 index 46e65d9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-cayman-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import 'jekyll-theme-cayman'; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/README.md deleted file mode 100644 index 29346fa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Dinky theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/dinky/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/dinky/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-dinky.svg)](https://badge.fury.io/rb/jekyll-theme-dinky) - -*Dinky is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/dinky), or even [use it today](#usage).* - -![Thumbnail of Dinky](thumbnail.png) - -## Usage - -To use the Dinky theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/dinky@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Dinky will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/dinky/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/dinky/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/dinky/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/dinky/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/dinky/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Dinky theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Dinky? We'd love your help. Dinky is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/dinky`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_layouts/default.html deleted file mode 100644 index e2d1949..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_layouts/default.html +++ /dev/null @@ -1,51 +0,0 @@ -<!doctype html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - -{% seo %} - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - <script src="{{ '/assets/js/scale.fix.js' | relative_url }}"></script> - <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - {% include head-custom.html %} - </head> - <body> - <div class="wrapper"> - <header> - <h1 class="header">{{ site.title | default: site.github.repository_name }}</h1> - <p class="header">{{ site.description | default: site.github.project_tagline }}</p> - - <ul> - {% if site.show_downloads %} - <li class="download"><a class="buttons" href="{{ site.github.zip_url }}">Download ZIP</a></li> - <li class="download"><a class="buttons" href="{{ site.github.tar_url }}">Download TAR</a></li> - {% endif %} - <li><a class="buttons github" href="{{ site.github.repository_url }}">View On GitHub</a></li> - </ul> - - {% if site.github.is_project_page %} - <p class="header">This project is maintained by <a class="header name" href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p> - {% endif %} - - {% if site.github.is_user_page %} - <ul> - <li><a class="buttons github" href="{{ site.github.owner_url }}">GitHub Profile</a></li> - </ul> - {% endif %} - </header> - - <section> - {{ content }} - </section> - - <footer> - <p><small>Hosted on <a href="https://pages.github.com">GitHub Pages</a> using the Dinky theme</small></p> - </footer> - </div> - <!--[if !IE]><script>fixScale(document);</script><![endif]--> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/dinky.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/dinky.scss deleted file mode 100644 index c08e1fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/dinky.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-dinky"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/jekyll-theme-dinky.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/jekyll-theme-dinky.scss deleted file mode 100644 index d6e1756..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/jekyll-theme-dinky.scss +++ /dev/null @@ -1,424 +0,0 @@ -@import "rouge-github"; -@import url('https://fonts.googleapis.com/css?family=Arvo:400,700,400italic'); - -/* MeyerWeb Reset */ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font: inherit; - vertical-align: baseline; -} - - -/* Base text styles */ - -body { - padding:10px 50px 0 0; - font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - color: #232323; - background-color: #FBFAF7; - margin: 0; - line-height: 1.8em; - -webkit-font-smoothing: antialiased; - -} - -h1, h2, h3, h4, h5, h6 { - color:#232323; - margin:36px 0 10px; -} - -p, ul, ol, table, dl { - margin:0 0 22px; -} - -h1, h2, h3 { - font-family: Arvo, Monaco, serif; - line-height:1.3; - font-weight: normal; -} - -h1,h2, h3 { - display: block; - border-bottom: 1px solid #ccc; - padding-bottom: 5px; -} - -h1 { - font-size: 30px; -} - -h2 { - font-size: 24px; -} - -h3 { - font-size: 18px; -} - -h4, h5, h6 { - font-family: Arvo, Monaco, serif; - font-weight: 700; -} - -a { - color:#C30000; - font-weight:200; - text-decoration:none; -} - -a:hover { - text-decoration: underline; -} - -a small { - font-size: 12px; -} - -em { - font-style: italic; -} - -strong { - font-weight:700; -} - -ul { - list-style-position: inside; - list-style: disc; - padding-left: 25px; -} - -ol { - list-style-position: inside; - list-style: decimal; - padding-left: 25px; -} - -blockquote { - margin: 0; - padding: 0 0 0 20px; - font-style: italic; -} - -dl, dt, dd, dl p { - color: #444; -} - -dl dt { - font-weight: bold; -} - -dl dd { - padding-left: 20px; - font-style: italic; -} - -dl p { - padding-left: 20px; - font-style: italic; -} - -hr { - border:0; - background:#ccc; - height:1px; - margin:0 0 24px; -} - -/* Images */ - -img { - position: relative; - margin: 0 auto; - max-width: 650px; - padding: 5px; - margin: 10px 0 32px 0; - border: 1px solid #ccc; -} - -p img, .emoji { - display: inline; - margin: 0; - padding: 0; - vertical-align: middle; - text-align: center; - border: none; -} - -/* Code blocks */ - -code, pre { - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color:#000; - font-size:14px; -} - -pre { - padding: 4px 12px; - background: #FDFEFB; - border-radius:4px; - border:1px solid #D7D8C8; - overflow: auto; - overflow-y: hidden; - margin-bottom: 32px; -} - - -/* Tables */ - -table { - width:100%; -} - -table { - border: 1px solid #ccc; - margin-bottom: 32px; - text-align: left; - } - -th { - font-family: 'Arvo', Helvetica, Arial, sans-serif; - font-size: 18px; - font-weight: normal; - padding: 10px; - background: #232323; - color: #FDFEFB; - } - -td { - padding: 10px; - background: #ccc; - } - - -/* Wrapper */ -.wrapper { - width:960px; -} - - -/* Header */ - -header { - background-color: #171717; - color: #FDFDFB; - width:170px; - float:left; - position:fixed; - border: 1px solid #000; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -moz-border-radius-topright: 4px; - -moz-border-radius-bottomright: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 34px 25px 22px 50px; - margin: 30px 25px 0 0; - -webkit-font-smoothing: antialiased; -} - -p.header { - font-size: 16px; -} - -h1.header { - font-family: Arvo, sans-serif; - font-size: 30px; - font-weight: 300; - line-height: 1.3em; - border-bottom: none; - margin-top: 0; -} - - -h1.header, a.header, a.name, header a{ - color: #fff; -} - -a.header { - text-decoration: underline; -} - -a.name { - white-space: nowrap; -} - -header ul { - list-style:none; - padding:0; -} - -header li { - list-style-type: none; - width:132px; - height:15px; - margin-bottom: 12px; - line-height: 1em; - padding: 6px 6px 6px 7px; - - background: #AF0011; - background: -moz-linear-gradient(top, #AF0011 0%, #820011 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); - background: -webkit-linear-gradient(top, #AF0011 0%,#820011 100%); - background: -o-linear-gradient(top, #AF0011 0%,#820011 100%); - background: -ms-linear-gradient(top, #AF0011 0%,#820011 100%); - background: linear-gradient(to top, #AF0011 0%,#820011 100%); - - border-radius:4px; - border:1px solid #0D0D0D; - - -webkit-box-shadow: inset 0px 1px 1px 0 rgba(233,2,38, 1); - box-shadow: inset 0px 1px 1px 0 rgba(233,2,38, 1); - -} - -header li:hover { - background: #C3001D; - background: -moz-linear-gradient(top, #C3001D 0%, #950119 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); - background: -webkit-linear-gradient(top, #C3001D 0%,#950119 100%); - background: -o-linear-gradient(top, #C3001D 0%,#950119 100%); - background: -ms-linear-gradient(top, #C3001D 0%,#950119 100%); - background: linear-gradient(to top, #C3001D 0%,#950119 100%); -} - -a.buttons { - -webkit-font-smoothing: antialiased; - background: url(../images/arrow-down.png) no-repeat; - font-weight: normal; - text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0; - padding: 2px 2px 2px 22px; - height: 30px; -} - -a.github { - background: url(../images/octocat-small.png) no-repeat 1px; -} - -a.buttons:hover { - color: #fff; - text-decoration: none; -} - - -/* Section - for main page content */ - -section { - width:650px; - float:right; - padding-bottom:50px; -} - - -/* Footer */ - -footer { - width:170px; - float:left; - position:fixed; - bottom:10px; - padding-left: 50px; -} - -@media print, screen and (max-width: 960px) { - - div.wrapper { - width:auto; - margin:0; - } - - header, section, footer { - float:none; - position:static; - width:auto; - } - - footer { - border-top: 1px solid #ccc; - margin:0 84px 0 50px; - padding:0; - } - - header { - padding-right:320px; - } - - section { - padding:20px 84px 20px 50px; - margin:0 0 20px; - } - - header a small { - display:inline; - } - - header ul { - position:absolute; - right:130px; - top:84px; - } -} - -@media print, screen and (max-width: 720px) { - body { - word-wrap:break-word; - } - - header { - padding:10px 20px 0; - margin-right: 0; - } - - section { - padding:10px 0 10px 20px; - margin:0 0 30px; - } - - footer { - margin: 0 0 0 30px; - } - - header ul, header p.view { - position:static; - } -} - -@media print, screen and (max-width: 480px) { - - header ul li.download { - display:none; - } - - footer { - margin: 0 0 0 20px; - } - - footer a{ - display:block; - } - -} - -@media print { - body { - padding:0.4in; - font-size:12pt; - color:#444; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/rouge-github.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/rouge-github.scss deleted file mode 100644 index daf76ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/_sass/rouge-github.scss +++ /dev/null @@ -1,209 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight .cm { - color: #999988; - font-style: italic; -} -.highlight .cp { - color: #999999; - font-weight: bold; -} -.highlight .c1 { - color: #999988; - font-style: italic; -} -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; -} -.highlight .c, .highlight .cd { - color: #999988; - font-style: italic; -} -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} -.highlight .ge { - color: #000000; - font-style: italic; -} -.highlight .gr { - color: #aa0000; -} -.highlight .gh { - color: #999999; -} -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} -.highlight .go { - color: #888888; -} -.highlight .gp { - color: #555555; -} -.highlight .gs { - font-weight: bold; -} -.highlight .gu { - color: #aaaaaa; -} -.highlight .gt { - color: #aa0000; -} -.highlight .kc { - color: #000000; - font-weight: bold; -} -.highlight .kd { - color: #000000; - font-weight: bold; -} -.highlight .kn { - color: #000000; - font-weight: bold; -} -.highlight .kp { - color: #000000; - font-weight: bold; -} -.highlight .kr { - color: #000000; - font-weight: bold; -} -.highlight .kt { - color: #445588; - font-weight: bold; -} -.highlight .k, .highlight .kv { - color: #000000; - font-weight: bold; -} -.highlight .mf { - color: #009999; -} -.highlight .mh { - color: #009999; -} -.highlight .il { - color: #009999; -} -.highlight .mi { - color: #009999; -} -.highlight .mo { - color: #009999; -} -.highlight .m, .highlight .mb, .highlight .mx { - color: #009999; -} -.highlight .sb { - color: #d14; -} -.highlight .sc { - color: #d14; -} -.highlight .sd { - color: #d14; -} -.highlight .s2 { - color: #d14; -} -.highlight .se { - color: #d14; -} -.highlight .sh { - color: #d14; -} -.highlight .si { - color: #d14; -} -.highlight .sx { - color: #d14; -} -.highlight .sr { - color: #009926; -} -.highlight .s1 { - color: #d14; -} -.highlight .ss { - color: #990073; -} -.highlight .s { - color: #d14; -} -.highlight .na { - color: #008080; -} -.highlight .bp { - color: #999999; -} -.highlight .nb { - color: #0086B3; -} -.highlight .nc { - color: #445588; - font-weight: bold; -} -.highlight .no { - color: #008080; -} -.highlight .nd { - color: #3c5d5d; - font-weight: bold; -} -.highlight .ni { - color: #800080; -} -.highlight .ne { - color: #990000; - font-weight: bold; -} -.highlight .nf { - color: #990000; - font-weight: bold; -} -.highlight .nl { - color: #990000; - font-weight: bold; -} -.highlight .nn { - color: #555555; -} -.highlight .nt { - color: #000080; -} -.highlight .vc { - color: #008080; -} -.highlight .vg { - color: #008080; -} -.highlight .vi { - color: #008080; -} -.highlight .nv { - color: #008080; -} -.highlight .ow { - color: #000000; - font-weight: bold; -} -.highlight .o { - color: #000000; - font-weight: bold; -} -.highlight .w { - color: #bbbbbb; -} -.highlight { - background-color: #f8f8f8; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/css/style.scss deleted file mode 100644 index bc852a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import 'jekyll-theme-dinky'; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/images/arrow-down.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/images/arrow-down.png deleted file mode 100644 index 5c55c6a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/images/arrow-down.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/images/octocat-small.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/images/octocat-small.png deleted file mode 100644 index 57c1e44..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/images/octocat-small.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/js/scale.fix.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/js/scale.fix.js deleted file mode 100644 index 08716c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-dinky-0.2.0/assets/js/scale.fix.js +++ /dev/null @@ -1,20 +0,0 @@ -fixScale = function(doc) { - - var addEvent = 'addEventListener', - type = 'gesturestart', - qsa = 'querySelectorAll', - scales = [1, 1], - meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []; - - function fix() { - meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1]; - doc.removeEventListener(type, fix, true); - } - - if ((meta = meta[meta.length - 1]) && addEvent in doc) { - fix(); - scales = [.25, 1.6]; - doc[addEvent](type, fix, true); - } - -}; \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/README.md deleted file mode 100644 index 4c2fac0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Hacker theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/hacker/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/hacker/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-hacker.svg)](https://badge.fury.io/rb/jekyll-theme-hacker) - -*Hacker is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/hacker), or even [use it today](#usage).* - -![Thumbnail of Hacker](thumbnail.png) - -## Usage - -To use the Hacker theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/hacker@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Hacker will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/hacker/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/hacker/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/hacker/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/hacker/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/hacker/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Hacker theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Hacker? We'd love your help. Hacker is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/hacker`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom-theme-colors.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom-theme-colors.html deleted file mode 100644 index a30e708..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom-theme-colors.html +++ /dev/null @@ -1,5 +0,0 @@ -<!-- start theme color meta headers --> -<meta name="theme-color" content="#151515"> -<meta name="msapplication-navbutton-color" content="#151515"> -<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> -<!-- end theme color meta headers --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom.html deleted file mode 100644 index 44cdb83..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,12 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup theme-color --> -{% include head-custom-theme-colors.html %} - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_layouts/default.html deleted file mode 100644 index 1c8c883..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_layouts/default.html +++ /dev/null @@ -1,38 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset='utf-8'> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - {% include head-custom.html %} - -{% seo %} - </head> - - <body> - - <header> - <div class="container"> - <a id="a-title" href="{{ '/' | relative_url }}"> - <h1>{{ site.title | default: site.github.repository_name }}</h1> - </a> - <h2>{{ site.description | default: site.github.project_tagline }}</h2> - - <section id="downloads"> - {% if site.show_downloads %} - <a href="{{ site.github.zip_url }}" class="btn">Download as .zip</a> - <a href="{{ site.github.tar_url }}" class="btn">Download as .tar.gz</a> - {% endif %} - <a href="{{ site.github.repository_url }}" class="btn btn-github"><span class="icon"></span>View on GitHub</a> - </section> - </div> - </header> - - <div class="container"> - <section id="main_content"> - {{ content }} - </section> - </div> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_layouts/post.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_layouts/post.html deleted file mode 100644 index 0676aff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_layouts/post.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: default ---- - -<small>{{ page.date | date: "%-d %B %Y" }}</small> -<h1>{{ page.title }}</h1> - -<p class="view">by {{ page.author | default: site.author }}</p> - -{{content}} - -{% if page.tags %} - <small>tags: <em>{{ page.tags | join: "</em> - <em>" }}</em></small> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/_default_colors.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/_default_colors.scss deleted file mode 100644 index dee878d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/_default_colors.scss +++ /dev/null @@ -1,15 +0,0 @@ -$apple-blossom: #ac4142; -$alto: #d0d0d0; -$bouquet: #aa759f; -$chelsea-cucumber: #90a959; -$cod-grey: #151515; -$conifer: #b5e853; -$dove-grey: #666; -$gallery: #eaeaea; -$grey: #888; -$gulf-stream: #75b5aa; -$hippie-blue: #6a9fb5; -$potters-clay: #8f5536; -$rajah: #f4bf75; -$raw-sienna: #d28445; -$silver-chalice: #aaa; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/hacker.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/hacker.scss deleted file mode 100644 index b535d24..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/hacker.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-hacker"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/jekyll-theme-hacker.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/jekyll-theme-hacker.scss deleted file mode 100644 index b3123a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/jekyll-theme-hacker.scss +++ /dev/null @@ -1,268 +0,0 @@ -@import "rouge-base16-dark"; -@import "default_colors"; - -$body-background: $cod-grey !default; -$body-foreground: $gallery !default; -$header: $conifer !default; -$blockquote-color: $silver-chalice !default; -$blockquote-border: $dove-grey !default; -$container-max-width: 1000px; - -@mixin media-max-width($max-width) { - @media (max-width: $max-width) { - @content; - } -} - -body { - margin: 0; - padding: 0; - background: $body-background url("../images/bkg.png") 0 0; - color: $body-foreground; - font-size: 16px; - line-height: 1.5; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; -} - -/* General & 'Reset' Stuff */ - -.container { - width: 90%; - max-width: $container-max-width; - margin: 0 auto; -} - -section { - display: block; - margin: 0 0 20px 0; -} - -h1, h2, h3, h4, h5, h6 { - margin: 0 0 20px; -} - -li { - line-height: 1.4 ; -} - -/* Header, <header> - header - container - h1 - project name - h2 - project description -*/ - -header { - background: rgba(0, 0, 0, 0.1); - width: 100%; - border-bottom: 1px dashed $conifer; //header; - padding: 20px 0; - margin: 0 0 40px 0; -} - -header h1 { - font-size: 30px; - line-height: 1.5; - margin: 0 0 0 -40px; - font-weight: bold; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color: $conifer;//$header; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), - 0 0 5px rgba(181, 232, 83, 0.1), - 0 0 10px rgba(181, 232, 83, 0.1); - letter-spacing: -1px; - -webkit-font-smoothing: antialiased; - @include media-max-width($container-max-width) { - margin-left: 0; - } -} - - -header h1:before { - content: "./ "; - font-size: 24px; -} - -header h2 { - font-size: 18px; - font-weight: 300; - color: #666; -} - -#downloads .btn { - display: inline-block; - text-align: center; - margin: 0; -} - -/* Main Content -*/ - -#main_content { - width: 100%; - -webkit-font-smoothing: antialiased; -} -section img { - max-width: 100% -} - -h1, h2, h3, h4, h5, h6 { - font-weight: normal; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color: $header; - letter-spacing: -0.03em; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), - 0 0 5px rgba(181, 232, 83, 0.1), - 0 0 10px rgba(181, 232, 83, 0.1); -} - -#main_content h1 { - font-size: 30px; -} - -#main_content h2 { - font-size: 24px; -} - -#main_content h3 { - font-size: 18px; -} - -#main_content h4 { - font-size: 14px; -} - -#main_content h5 { - font-size: 12px; - text-transform: uppercase; - margin: 0 0 5px 0; -} - -#main_content h6 { - font-size: 12px; - text-transform: uppercase; - color: #999; - margin: 0 0 5px 0; -} - -dt { - font-style: italic; - font-weight: bold; -} - -ul li { - list-style-image:url('../images/bullet.png'); -} - -blockquote { - color: $blockquote-color; - padding-left: 10px; - border-left: 1px dotted $blockquote-border; -} - -pre { - background: rgba(0, 0, 0, 0.9); - border: 1px solid rgba(255, 255, 255, 0.15); - padding: 10px; - font-size: 16px; - color: #b5e853; - border-radius: 2px; - word-wrap: normal; - overflow: auto; - overflow-y: hidden; -} - -code.highlighter-rouge { - background: rgba(0,0,0,0.9); - border: 1px solid rgba(255, 255, 255, 0.15); - padding: 0px 3px; - margin: 0px -3px; - color: #aa759f; - border-radius: 2px; -} - -table { - width: 100%; - margin: 0 0 20px 0; -} - -th { - text-align: left; - border-bottom: 1px dashed #b5e853; - padding: 5px 10px; -} - -td { - padding: 5px 10px; -} - -hr { - height: 0; - border: 0; - border-bottom: 1px dashed #b5e853; - color: #b5e853; -} - -/* Buttons -*/ - -.btn { - display: inline-block; - background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3)); - padding: 8px 18px; - border-radius: 50px; - border: 2px solid rgba(0, 0, 0, 0.7); - border-bottom: 2px solid rgba(0, 0, 0, 0.7); - border-top: 2px solid rgba(0, 0, 0, 1); - color: rgba(255, 255, 255, 0.8); - font-family: Helvetica, Arial, sans-serif; - font-weight: bold; - font-size: 13px; - text-decoration: none; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); -} - -.btn:hover { - background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8)); -} - -.btn .icon { - display: inline-block; - width: 16px; - height: 16px; - margin: 1px 8px 0 0; - float: left; -} - -.btn-github .icon { - opacity: 0.6; - background: url("../images/blacktocat.png") 0 0 no-repeat; -} - -/* Links - a, a:hover, a:visited -*/ - -a { - color: #63c0f5; - text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); -} - -/* Clearfix */ - -.cf:before, .cf:after { - content:""; - display:table; -} - -.cf:after { - clear:both; -} - -.cf { - zoom:1; -} - -#a-title { - text-decoration: none; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/rouge-base16-dark.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/rouge-base16-dark.scss deleted file mode 100644 index 7f839e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/_sass/rouge-base16-dark.scss +++ /dev/null @@ -1,87 +0,0 @@ -/* - generated by rouge http://rouge.jneen.net/ - original base16 by Chris Kempson (https://github.com/chriskempson/base16) -*/ - -@import "default_colors"; - -.highlight { - - $plaintext: $alto !default; - $string: $chelsea-cucumber !default; - $literal: $chelsea-cucumber !default; - $keyword: $bouquet !default; - $error-foreground: $cod-grey !default; - $error-background: $apple-blossom !default; - $comment: $grey !default; - $preprocessor: $rajah !default; - $name-space: $rajah !default; - $name-attribute: $hippie-blue !default; - $operator: $rajah !default; - $keyword-type: $raw-sienna !default; - $regex: $gulf-stream !default; - $string-escape: $potters-clay !default; - $deleted: $apple-blossom !default; - $header: $hippie-blue !default; - - color: $plaintext; - - table td { padding: 5px; } - table pre { margin: 0; } - .w { - color: $plaintext; - } - .err { - color: $error-foreground; - background-color: $error-background; - } - .c, .cd, .cm, .c1, .cs { - color: $comment; - } - .cp { - color: $preprocessor; - } - .o, .ow { - color: $operator; - } - .p, .pi { - color: $plaintext; - } - .gi { - color: $string; - } - .gd { - color: $deleted; - } - .gh { - color: $header; - font-weight: bold; - } - .k, .kn, .kp, .kr, .kv { - color: $keyword; - } - .kc, .kt, .kd { - color: $keyword-type; - } - .s, .sb, .sc, .sd, .s2, .sh, .sx, .s1 { - color: $string; - } - .sr { - color: $regex; - } - .si, .se { - color: $string-escape; - } - .nt, .nn, .nc, .no{ - color: $name-space; - } - .na { - color: $name-attribute; - } - .m, .mf, .mh, .mi, .il, .mo, .mb, .mx { - color: $literal; - } - .ss { - color: $string; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/css/style.scss deleted file mode 100644 index 5f1392b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import 'jekyll-theme-hacker'; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/bkg.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/bkg.png deleted file mode 100644 index d10e5ca..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/bkg.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/blacktocat.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/blacktocat.png deleted file mode 100644 index 9759d77..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/blacktocat.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/bullet.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/bullet.png deleted file mode 100644 index c8f8de1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-hacker-0.2.0/assets/images/bullet.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/README.md deleted file mode 100644 index 4461fb4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Leap day theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/leap-day/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/leap-day/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-leap-day.svg)](https://badge.fury.io/rb/jekyll-theme-leap-day) - -*Leap day is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/leap-day), or even [use it today](#usage).* - -![Thumbnail of Leap day](thumbnail.png) - -## Usage - -To use the Leap day theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/leap-day@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Leap day will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/leap-day/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/leap-day/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/leap-day/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/leap-day/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/leap-day/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Leap day theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Leap day? We'd love your help. Leap day is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/leap-day`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_layouts/default.html deleted file mode 100644 index 1b34eb0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_layouts/default.html +++ /dev/null @@ -1,56 +0,0 @@ -<!doctype html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - -{% seo %} - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - <script src="https://code.jquery.com/jquery-3.3.0.min.js" integrity="sha256-RTQy8VOmNlT6b2PIRur37p6JEBZUE7o8wPgMvu18MC4=" crossorigin="anonymous"></script> - <script src="{{ '/assets/js/main.js' | relative_url }}"></script> - <!--[if lt IE 9]> - <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script> - <![endif]--> - <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> - - {% include head-custom.html %} - </head> - <body> - - <header> - <h1>{{ page.title | default: site.title | default: site.github.repository_name }}</h1> - <p>{{ page.description | default: site.description | default: site.github.project_tagline }}</p> - </header> - - <div id="banner"> - <span id="logo"></span> - - <a href="{{ site.github.repository_url }}" class="button fork"><strong>View On GitHub</strong></a> - {% if site.show_downloads %} - <div class="downloads"> - <span>Downloads:</span> - <ul> - <li><a href="{{ site.github.zip_url }}" class="button">ZIP</a></li> - <li><a href="{{ site.github.tar_url }}" class="button">TAR</a></li> - </ul> - </div> - {% endif %} - </div><!-- end banner --> - - <div class="wrapper"> - <nav> - <ul></ul> - </nav> - <section> - {{ content }} - - </section> - <footer> - {% if site.github.is_project_page %} - <p>Project maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p> - {% endif %} - <p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://twitter.com/mattgraham">mattgraham</a></small></p> - </footer> - </div> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/fonts.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/fonts.scss deleted file mode 100644 index 482518e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/fonts.scss +++ /dev/null @@ -1,55 +0,0 @@ - -@font-face { - font-family: 'Quattrocento Sans'; - src: url('../fonts/quattrocentosans-bold-webfont.eot'); - src: url('../fonts/quattrocentosans-bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/quattrocentosans-bold-webfont.woff') format('woff'), - url('../fonts/quattrocentosans-bold-webfont.ttf') format('truetype'), - url('../fonts/quattrocentosans-bold-webfont.svg#QuattrocentoSansBold') format('svg'); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: 'Quattrocento Sans'; - src: url('../fonts/quattrocentosans-bolditalic-webfont.eot'); - src: url('../fonts/quattrocentosans-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/quattrocentosans-bolditalic-webfont.woff') format('woff'), - url('../fonts/quattrocentosans-bolditalic-webfont.ttf') format('truetype'), - url('../fonts/quattrocentosans-bolditalic-webfont.svg#QuattrocentoSansBoldItalic') format('svg'); - font-weight: bold; - font-style: italic; -} - -@font-face { - font-family: 'Quattrocento Sans'; - src: url('../fonts/quattrocentosans-italic-webfont.eot'); - src: url('../fonts/quattrocentosans-italic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/quattrocentosans-italic-webfont.woff') format('woff'), - url('../fonts/quattrocentosans-italic-webfont.ttf') format('truetype'), - url('../fonts/quattrocentosans-italic-webfont.svg#QuattrocentoSansItalic') format('svg'); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: 'Quattrocento Sans'; - src: url('../fonts/quattrocentosans-regular-webfont.eot'); - src: url('../fonts/quattrocentosans-regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/quattrocentosans-regular-webfont.woff') format('woff'), - url('../fonts/quattrocentosans-regular-webfont.ttf') format('truetype'), - url('../fonts/quattrocentosans-regular-webfont.svg#QuattrocentoSansRegular') format('svg'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'Copse'; - src: url('../fonts/copse-regular-webfont.eot'); - src: url('../fonts/copse-regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/copse-regular-webfont.woff') format('woff'), - url('../fonts/copse-regular-webfont.ttf') format('truetype'), - url('../fonts/copse-regular-webfont.svg#CopseRegular') format('svg'); - font-weight: normal; - font-style: normal; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/jekyll-theme-leap-day.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/jekyll-theme-leap-day.scss deleted file mode 100644 index a602a48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/jekyll-theme-leap-day.scss +++ /dev/null @@ -1,530 +0,0 @@ -/* -Leap Day for GitHub Pages -by Matt Graham -*/ - -@import "normalize"; -@import "fonts"; -@import "rouge-base16-dark"; - -body { - font:14px/22px 'Quattrocento Sans', "Helvetica Neue", Helvetica, Arial, sans-serif; - color:#2b2b2b; - font-weight:300; - margin: 0px; - padding:0px 0 20px 0px; - background: url(../images/body-background.png) #eae6d1; -} - -h1, h2, h3, h4, h5, h6 { - color:#333; - margin:0 0 10px; -} - -p, ul, ol, table, pre, dl { - margin:0 0 20px; -} - -h1, h2, h3 { - line-height:1.1; -} - -h1 { - font-size:28px; -} - -h2 { - font-size: 24px; - color:#393939; -} - -h3, h4, h5, h6 { - color:#666666; -} - -h3 { - font-size: 18px; - line-height: 24px; -} - -a { - color:#4276b6; - font-weight:400; - text-decoration:none; -} - -a small { - font-size:11px; - color:#666; - margin-top:-0.6em; - display:block; -} - -ul{ - list-style-image:url('../images/bullet.png'); -} - -strong { - font-weight: bold; - color: #333; -} - -.wrapper { - width:650px; - margin:0 auto; - position:relative; -} - -section img { - max-width: 100%; -} - -blockquote { - border-left:1px solid #ffcc00; - margin:0; - padding:0 0 0 20px; - font-style:italic; -} - -code { - font-family: 'Lucida Sans', Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; - font-size:13px; - color:#efefef; - text-shadow: 0px 1px 0px #000; - margin: 0 4px; - padding: 2px 6px; - background: #333; - border-radius: 2px; -} - -pre { - padding:8px 15px; - background: #333333; - border-radius: 3px; - border:1px solid #c7c7c7; - overflow: auto; - overflow-y: hidden; - - code { - margin: 0px; - padding: 0px; - } -} - -kbd { - background-color: #fafbfc; - border: 1px solid #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; - color: #444d56; - display: inline-block; - font-size: 11px; - line-height: 10px; - padding: 3px 5px; - vertical-align: middle; -} - -table { - width:100%; - border-collapse:collapse; -} - -th { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #e5e5e5; - color: #444; -} - -td { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #e5e5e5; - border-right: 1px solid #ffcc00; - - &:first-child { - border-left: 1px solid #ffcc00; - } -} - -hr { - border: 0; - outline: none; - height: 11px; - background: transparent url('../images/hr.gif') center center repeat-x; - margin: 0 0 20px; -} - -dt { - color:#444; - font-weight:700; -} - -header { - padding: 25px 20px 40px 20px; - margin: 0; - position: fixed; - top: 0; - left:0; - right:0; - width: 100%; - text-align: center; - background: url(../images/background.png) #4276b6; - box-shadow: 1px 0px 2px rgba(0,0,0,.75); - z-index:99; - -webkit-font-smoothing:antialiased; - min-height: 76px; - - h1 { - font: 40px/48px 'Copse', "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #f3f3f3; - text-shadow: 0px 2px 0px #235796; - margin: 0px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - } - - p { - color: #d8d8d8; - text-shadow:rgba(#000, 0.2) 0 1px 0; - font-size: 18px; - margin: 0px; - } -} - -#banner { - z-index: 100; - left:0; - right:50%; - height: 50px; - margin-right:-382px; - position: fixed; - top: 115px; - background: #ffcc00; - border: 1px solid #f0b500; - box-shadow: 0px 1px 3px rgba(0,0,0,.25); - border-radius: 0px 2px 2px 0px; - padding-right: 10px; - - .button { - border: 1px solid #dba500; - background: linear-gradient(rgb(255, 231, 136), rgb(255, 206, 56)); - border-radius: 2px; - box-shadow: inset 0px 1px 0px rgba(255,255,255,.4), 0px 1px 1px rgba(0,0,0,.1); - background-color: #FFE788; - margin-left: 5px; - padding: 10px 12px; - margin-top: 6px; - line-height:14px; - font-size:14px; - color:#333; - font-weight: bold; - display:inline-block; - text-align:center; - - &:hover { - background: linear-gradient(rgb(255, 231, 136), rgb(255, 231, 136)); - background-color: #ffeca0; - } - } - - .fork { - position:fixed; - left:50%; - margin-left:-325px; - padding: 10px 12px; - margin-top: 6px; - line-height:14px; - font-size:14px; - background-color: #FFE788; - } - - .downloads { - float: right; - margin:0 45px 0 0; - - span { - float:left; - line-height:52px; - font-size:90%; - color:#9d7f0d; - text-transform:uppercase; - text-shadow:rgba(#fff, 0.2) 0 1px 0; - } - } - - ul { - list-style:none; - height:40px; - padding:0; - float: left; - margin-left:10px; - - li { - display:inline; - - a.button { - background-color: #FFE788; - } - } - } - - #logo { - position:absolute; - height: 36px; - width: 36px; - right:7px; - top:7px; - display: block; - background: url(../images/octocat-logo.svg); - } -} - -section { - width:590px; - padding: 30px 30px 50px 30px; - margin: 20px 0; - margin-top: 190px; - position:relative; - background: #fbfbfb; - border-radius: 3px; - border: 1px solid #cbcbcb; - box-shadow: 0px 1px 2px rgba(0,0,0,.09), inset 0px 0px 2px 2px rgba(255,255,255,.5), inset 0 0 5px 5px rgba(255,255,255,.4); -} - -small { - font-size:12px; -} - -nav { - width: 230px; - position: fixed; - top: 220px; - left:50%; - margin-left:-580px; - text-align: right; - - ul { - list-style: none; - list-style-image:none; - font-size: 14px; - line-height:24px; - - li { - padding: 5px 0px; - line-height: 16px; - // padding-right:17px; - // position:relative; - // right:-12px; - - &.tag-h1 { - font-size: 1.2em; - - a { - font-weight: bold; - color: #333; - } - - + .tag-h2 { - - } - } - - &.tag-h2 { - - + .tag-h1 { - margin-top:10px; - } - } - } - - a { - color: #666; - - &:hover { color: #999; } - } - - // .active { - // border-right:solid 4px #39C; - // padding-right:13px; - // } - } -} - -footer { - width:180px; - position: fixed; - left:50%; - margin-left:-530px; - bottom:20px; - text-align: right; - line-height: 16px; -} - -@media print, screen and (max-width: 1060px) { - - div.wrapper { - width:auto; - margin:0; - } - - nav{ - display: none; - } - - header, section, footer { - float:none; - - h1 { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - } - } - - #banner { - width: 100%; - - .downloads { - margin-right: 60px; - } - - .fork { - } - - #logo { - margin-right: 15px; - } - } - - section { - border:1px solid #e5e5e5; - border-width:1px 0; - padding:20px 0; - margin: 190px auto 20px; - max-width: 600px; - } - - footer{ - text-align: center; - margin: 20px auto; - position: relative; - left:auto; - bottom:auto; - width:auto; - } -} - -@media print, screen and (max-width: 720px) { - body { - word-wrap:break-word; - } - - header { - padding:20px 20px; - margin: 0; - - h1 { - font-size: 32px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - } - - p { display: none;} - } - - #banner { - top: 80px; - - .fork { - float: left; - display: inline-block; - margin-left: 0px; - position:fixed; - left:20px; - - } - } - - section { - margin-top: 130px; - margin-bottom: 0px; - width: auto; - } - - header ul, header p.view { - position:static; - } -} - -@media print, screen and (max-width: 480px) { - body { - } - - header{ - position: relative; - padding: 5px 0px; - min-height: 0px; - - h1 { - font-size: 24px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - } - } - section { - margin-top: 5px; - } - - #banner { display: none;} - header ul { - display:none; - } -} - -@media print { - body { - padding:0.4in; - font-size:12pt; - color:#444; - } -} - -@media print, screen and (max-height: 680px) { - - footer { - text-align: center; - margin: 20px auto; - position: relative; - left:auto; - bottom:auto; - width:auto; - } -} - -@media print, screen and (max-height: 480px) { - nav { - display: none; - } - - footer { - text-align: center; - margin: 20px auto; - position: relative; - left:auto; - bottom:auto; - width:auto; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/leap-day.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/leap-day.scss deleted file mode 100644 index 0e50392..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/leap-day.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-leap-day"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/normalize.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/normalize.scss deleted file mode 100644 index 2fa717f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/normalize.scss +++ /dev/null @@ -1,492 +0,0 @@ -/*! normalize.css 2012-02-07T12:37 UTC - https://github.com/necolas/normalize.css */ - -/* ============================================================================= - HTML5 display definitions - ========================================================================== */ - -/* - * Corrects block display not defined in IE6/7/8/9 & FF3 - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block; -} - -/* - * Corrects inline-block display not defined in IE6/7/8/9 & FF3 - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/* - * Prevents modern browsers from displaying 'audio' without controls - */ - -audio:not([controls]) { - display: none; -} - -/* - * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4 - * Known issue: no IE6 support - */ - -[hidden] { - display: none; -} - - -/* ============================================================================= - Base - ========================================================================== */ - -/* - * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units - * http://clagnut.com/blog/348/#c790 - * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom - * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ - */ - -html { - font-size: 100%; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -ms-text-size-adjust: 100%; /* 2 */ -} - -/* - * Addresses font-family inconsistency between 'textarea' and other form elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/* - * Addresses margins handled incorrectly in IE6/7 - */ - -body { - margin: 0; -} - - -/* ============================================================================= - Links - ========================================================================== */ - -/* - * Addresses outline displayed oddly in Chrome - */ - -a:focus { - outline: thin dotted; -} - -/* - * Improves readability when focused and also mouse hovered in all browsers - * people.opera.com/patrickl/experiments/keyboard/test - */ - -a:hover, -a:active { - outline: 0; -} - - -/* ============================================================================= - Typography - ========================================================================== */ - -/* - * Addresses font sizes and margins set differently in IE6/7 - * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5 - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.75em; - margin: 2.33em 0; -} - -/* - * Addresses styling not present in IE7/8/9, S5, Chrome - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/* - * Addresses style set to 'bolder' in FF3+, S4/5, Chrome -*/ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/* - * Addresses styling not present in S5, Chrome - */ - -dfn { - font-style: italic; -} - -/* - * Addresses styling not present in IE6/7/8/9 - */ - -mark { - background: #ff0; - color: #000; -} - -/* - * Addresses margins set differently in IE6/7 - */ - -p, -pre { - margin: 1em 0; -} - -/* - * Corrects font family set oddly in IE6, S4/5, Chrome - * en.wikipedia.org/wiki/User:Davidgothberg/Test59 - */ - -pre, -code, -kbd, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/* - * 1. Addresses CSS quotes not supported in IE6/7 - * 2. Addresses quote property not supported in S4 - */ - -/* 1 */ - -q { - quotes: none; -} - -/* 2 */ - -q:before, -q:after { - content: ''; - content: none; -} - -small { - font-size: 75%; -} - -/* - * Prevents sub and sup affecting line-height in all browsers - * gist.github.com/413930 - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - - -/* ============================================================================= - Lists - ========================================================================== */ - -/* - * Addresses margins set differently in IE6/7 - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/* - * Addresses paddings set differently in IE6/7 - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/* - * Corrects list images handled incorrectly in IE7 - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - - -/* ============================================================================= - Embedded content - ========================================================================== */ - -/* - * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3 - * 2. Improves image quality when scaled in IE7 - * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/* - * Corrects overflow displayed oddly in IE9 - */ - -svg:not(:root) { - overflow: hidden; -} - - -/* ============================================================================= - Figures - ========================================================================== */ - -/* - * Addresses margin not present in IE6/7/8/9, S5, O11 - */ - -figure { - margin: 0; -} - - -/* ============================================================================= - Forms - ========================================================================== */ - -/* - * Corrects margin displayed oddly in IE6/7 - */ - -form { - margin: 0; -} - -/* - * Define consistent border, margin, and padding - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/* - * 1. Corrects color not being inherited in IE6/7/8/9 - * 2. Corrects text not wrapping in FF3 - * 3. Corrects alignment displayed oddly in IE6/7 - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/* - * 1. Corrects font size not being inherited in all browsers - * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome - * 3. Improves appearance and consistency in all browsers - */ - -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ -} - -/* - * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet - */ - -button, -input { - line-height: normal; /* 1 */ -} - -/* - * 1. Improves usability and consistency of cursor style between image-type 'input' and others - * 2. Corrects inability to style clickable 'input' types in iOS - * 3. Removes inner spacing in IE7 without affecting normal text inputs - * Known issue: inner spacing remains in IE6 - */ - -button, -input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; /* 1 */ - -webkit-appearance: button; /* 2 */ - *overflow: visible; /* 3 */ -} - -/* - * Re-set default cursor for disabled elements - */ - -button[disabled], -input[disabled] { - cursor: default; -} - -/* - * 1. Addresses box sizing set to content-box in IE8/9 - * 2. Removes excess padding in IE8/9 - * 3. Removes excess padding in IE7 - Known issue: excess padding remains in IE6 - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ -} - -/* - * 1. Addresses appearance set to searchfield in S5, Chrome - * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof) - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/* - * Removes inner padding and search cancel button in S5, Chrome on OS X - */ - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -/* - * Removes inner padding and border in FF3+ - * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/* - * 1. Removes default vertical scrollbar in IE6/7/8/9 - * 2. Improves readability and alignment in all browsers - */ - -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ -} - - -/* ============================================================================= - Tables - ========================================================================== */ - -/* - * Remove most spacing between table cells - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/rouge-base16-dark.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/rouge-base16-dark.scss deleted file mode 100644 index c303bd5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/_sass/rouge-base16-dark.scss +++ /dev/null @@ -1,81 +0,0 @@ -/* - generated by rouge http://rouge.jneen.net/ - original base16 by Chris Kempson (https://github.com/chriskempson/base16) -*/ - -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight, .highlight .w { - color: #d0d0d0; -} -.highlight .err { - color: #151515; - background-color: #ac4142; -} -.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { - color: #888; -} -.highlight .cp { - color: #f4bf75; -} -.highlight .nt { - color: #f4bf75; -} -.highlight .o, .highlight .ow { - color: #d0d0d0; -} -.highlight .p, .highlight .pi { - color: #d0d0d0; -} -.highlight .gi { - color: #90a959; -} -.highlight .gd { - color: #ac4142; -} -.highlight .gh { - color: #6a9fb5; - font-weight: bold; -} -.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { - color: #aa759f; -} -.highlight .kc { - color: #d28445; -} -.highlight .kt { - color: #d28445; -} -.highlight .kd { - color: #d28445; -} -.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { - color: #90a959; -} -.highlight .sr { - color: #75b5aa; -} -.highlight .si { - color: #8f5536; -} -.highlight .se { - color: #8f5536; -} -.highlight .nn { - color: #f4bf75; -} -.highlight .nc { - color: #f4bf75; -} -.highlight .no { - color: #f4bf75; -} -.highlight .na { - color: #6a9fb5; -} -.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { - color: #90a959; -} -.highlight .ss { - color: #90a959; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/css/style.scss deleted file mode 100644 index 5cb49aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import 'jekyll-theme-leap-day'; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.eot deleted file mode 100755 index af1f5e6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.svg deleted file mode 100755 index 1e920b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.svg +++ /dev/null @@ -1,247 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2010 Daniel Rhatigansparkyultrasparkyorg with Reserved Font Name Copse -Designer : Daniel Rhatigan -Foundry : Daniel Rhatigan -</metadata> -<defs> -<font id="CopseRegular" horiz-adv-x="1200" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="440" /> -<glyph unicode=" " horiz-adv-x="440" /> -<glyph unicode="&#x09;" horiz-adv-x="440" /> -<glyph unicode="&#xa0;" horiz-adv-x="440" /> -<glyph unicode="!" horiz-adv-x="596" d="M163 120q0 29 10 54q9 26 27 44q38 40 96 41q58 -1 100 -41q42 -39 42 -84t-11 -70.5t-31 -43.5q-42 -39 -100 -40q-90 0 -123 84q-10 26 -10 56zM165 1494q0 31 134 31q133 0 133 -33l-50 -1060q0 -27 -55 -38q-15 -3 -28 -3q-86 0 -86 44z" /> -<glyph unicode="&#x22;" horiz-adv-x="760" d="M67 1534q0 49 124 49q62 0 85.5 -16.5t23.5 -28.5l-35 -398q-3 -30 -69 -30q-42 0 -59 11t-18 19zM459 1538q1 32 77 42q18 2 33 3h10q11 0 25 -1q20 -2 40 -6q48 -11 48 -42l-52 -394q-4 -30 -77 -30q-66 0 -69 30z" /> -<glyph unicode="#" horiz-adv-x="1190" d="M60 519q0 11 2 25q3 12 8 24q12 28 31 28h184l46 310h-146q-29 0 -39 52q-2 13 -2 24q0 46 15 62t26 16h168l66 445q3 18 31 19t39 1q10 0 22.5 -0.5t23.5 -2.5q26 -4 26 -17l-64 -445h287l66 445q3 18 31 19t39 1q10 0 22.5 -0.5t23.5 -2.5q26 -4 26 -17l-64 -445h162 q26 0 36 -51q2 -13 3 -24v-4q0 -9 -2 -21q-3 -14 -7 -26q-10 -28 -30 -28h-184l-45 -310h148q27 0 37 -50q2 -13 2 -24q0 -12 -2 -26q-4 -14 -8 -26q-10 -28 -29 -28h-170l-63 -442q-2 -17 -33.5 -18.5t-41.5 -1.5h-22q-11 0 -23 2q-26 3 -27 18l65 442h-286l-63 -442 q-2 -17 -33.5 -18.5t-41.5 -1.5h-22q-12 0 -24 2q-26 3 -26 18l65 442h-162q-29 0 -39 52q-2 13 -2 25zM430 596h286l46 310h-287z" /> -<glyph unicode="$" horiz-adv-x="1130" d="M65 300q0 66 45 111t109 45q65 0 109 -45q44 -46 44 -111q0 -8 -2 -18l-6 -21q-3 -11 -6.5 -21t-5.5 -17q58 -43 138 -48v506q-185 80 -253.5 141.5t-102.5 126.5t-34 152q0 86 30.5 150.5t83.5 110.5q103 90 276 113v133q0 28 71 28t71 -28v-127q153 -9 272 -79 q140 -81 140 -205q0 -64 -44 -110q-43 -44 -109 -44q-65 0 -109 44q-45 45 -45 96q0 50 29 108q-55 32 -134 36v-477q204 -94 276.5 -151t110.5 -119t38 -148q0 -87 -32 -158q-33 -70 -89 -122q-112 -103 -304 -126v-168q0 -28 -71 -28t-71 28v163q-163 11 -284 80 q-141 80 -141 199zM311 1135q0 -120 179 -216v399q-179 -32 -179 -183zM632 184q153 29 198 137q16 37 16 79t-16 72q-17 30 -46 56q-47 42 -152 91v-435z" /> -<glyph unicode="%" horiz-adv-x="1281" d="M67 0l992 1505q20 32 96 32q62 0 62 -32l-984 -1505q-22 -30 -103 -30q-63 0 -63 30zM81 1182q0 140 85 231q86 92 220 92q129 0 202 -91q66 -82 66 -208q0 -140 -85 -231q-86 -92 -221 -92q-68 0 -118 25q-48 25 -82 66q-66 81 -67 208zM238 1205q0 -147 69 -196 q24 -17 58 -17q130 0 130 189q0 148 -71 196q-25 17 -59 17q-127 0 -127 -189zM627 279q0 140 85 231q86 92 220 92q129 0 202 -91q66 -82 66 -208q0 -140 -85 -231q-86 -92 -221 -92q-68 0 -118 25q-48 25 -82 66q-66 81 -67 208zM785 305q0 -147 69 -196q24 -17 58 -17 q130 0 130 189q0 148 -71 196q-25 17 -59 17q-127 0 -127 -189z" /> -<glyph unicode="&#x26;" horiz-adv-x="1354" d="M74 376q0 125 60 228q52 89 196 233l-44 72q-89 151 -89 291q1 136 101 227q108 98 292 98q195 -1 293 -111q75 -85 75 -209q0 -120 -63 -229q-59 -102 -215 -262l255 -338q117 169 117 274q0 16 -13 16h-124q-29 0 -39 54q-2 14 -2 28q0 59 26 59h398q25 0 25 -70 q0 -71 -35 -71h-61q-22 -185 -202 -403l21 -33q31 -49 76.5 -69t115.5 -20q24 0 24 -65q0 -47 -14.5 -61.5t-24.5 -14.5h-170q-76 0 -168 103q-171 -123 -379 -123q-190 0 -310 109q-122 111 -122 287zM307 423q1 -137 63 -215q59 -74 142 -74q161 0 281 91l-369 487 q-117 -117 -117 -289zM399 1228q0 -55 15.5 -102t41.5 -95q42 -77 132 -191q165 146 165 347q-1 125 -93 169q-30 14 -73 15h-4q-41 0 -75 -12q-36 -12 -60 -33q-49 -43 -49 -98z" /> -<glyph unicode="'" horiz-adv-x="379" d="M73 1534q0 49 116 49q71 0 94 -15t23 -30l-43 -398q-3 -30 -69 -30q-74 0 -77 30z" /> -<glyph unicode="(" horiz-adv-x="636" d="M92 727q0 287 102 549q90 230 245 399q10 9 43 9q32 0 55 -21.5t23 -48.5q-208 -356 -244 -660q-12 -106 -12 -224q-1 -5 -1 -9q0 -114 13 -218q12 -107 42 -215q59 -210 202 -454q0 -45 -47 -67q-13 -6 -32 -6q-20 0 -42 12q-239 257 -319 663q-28 140 -28 291z" /> -<glyph unicode=")" horiz-adv-x="637" d="M76 -166q208 353 244 669q12 108 13 227v9q0 113 -12 216q-13 106 -43 211q-58 204 -202 448q0 27 23 48.5t47 21.5q41 0 51 -9q241 -261 319 -657q28 -138 28 -291q0 -433 -213 -777q-63 -102 -134 -177q-22 -12 -41 -12q-20 0 -33 6q-13 5 -23 15q-24 21 -24 52z" /> -<glyph unicode="*" horiz-adv-x="676" d="M66 1349q0 20 4 40t12 40q18 50 42 50l5 -1l147 -67l-17 158q0 21 52 29q13 2 25 2q11 0 26 -2q16 0 28 -4q29 -8 29 -24v-1l-20 -160l145 67q2 1 10 1t19 -14.5t19 -34.5q18 -41 18 -69q0 -29 -14 -35l-161 -33l114 -116q3 -5 3 -14q0 -10 -13 -26.5t-31 -30.5 q-44 -34 -62 -34q-19 0 -23 7l-89 145l-77 -142q-6 -7 -17 -7q-12 0 -31.5 8.5t-38.5 22.5q-46 33 -46 59q0 5 3 10l109 122l-156 30q-14 4 -14 24z" /> -<glyph unicode="+" horiz-adv-x="1042" d="M59 655q0 10 3 22q2 13 7 25q12 27 30 27h349v369q0 21 72 21t72 -21v-369h350q26 0 36 -50q2 -13 3 -24q0 -45 -14.5 -62.5t-24.5 -17.5h-350v-413q0 -21 -72 -21t-72 21v413h-348q-28 0 -38 52q-2 13 -2 25q-1 1 -1 3z" /> -<glyph unicode="," horiz-adv-x="505" d="M74 -211q106 119 106 195q-74 39 -74 129q0 59 42 99t87 40t72 -11t47 -29q44 -40 45 -99q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43z" /> -<glyph unicode="-" horiz-adv-x="750" d="M112 600q0 12 2.5 27t7.5 29q12 33 31 33h447q26 0 36 -59q2 -14 2 -26q0 -52 -14.5 -71.5t-24.5 -19.5h-447q-28 0 -38 61q-2 14 -2 26z" /> -<glyph unicode="." horiz-adv-x="487" d="M106 115q0 95 84 129q26 10 55 10t54 -10q25 -12 43 -30q39 -40 39 -99q0 -92 -82 -125q-25 -10 -54 -10q-30 0 -55.5 10t-43.5 28q-40 38 -40 97z" /> -<glyph unicode="/" horiz-adv-x="913" d="M34 -141l673 1747q49 32 75 32q25 0 38 -1q12 -1 24 -5q28 -8 28 -26l-666 -1747q-40 -29 -97 -29q-46 0 -60.5 10t-14.5 19z" /> -<glyph unicode="0" d="M94 679q0 246 35.5 401.5t104 254.5t167.5 144.5t227 45.5t218 -56q91 -55 149 -155q111 -190 111 -536q0 -367 -142 -581q-144 -217 -390 -217q-240 0 -370 246q-110 206 -110 453zM327 753q0 -427 153 -562q52 -46 122 -46q69 0 120 46q50 46 84 127q66 161 67 435 q0 439 -140 561q-52 46 -131 46q-218 0 -262 -364q-13 -105 -13 -226v-17z" /> -<glyph unicode="1" d="M242 1204q0 26 16 36l458 285q91 0 91 -20v-1364h245q25 0 25 -70q0 -71 -36 -71h-723q-23 0 -23 55v3q0 47 27 75q8 8 16 8h149q91 0 105 25q4 8 4 18v967q0 61 -21 61q-7 0 -27 -8l-46 -18q-26 -10 -55 -23t-56 -23q-66 -26 -80 -26t-26 9q-11 9 -21 23q-22 31 -22 58z " /> -<glyph unicode="2" d="M143 1174q0 76 40.5 143t104.5 113q131 94 307 95q199 0 321 -89q123 -90 123 -241v-2q0 -231 -186 -410q-53 -52 -113 -101l-120 -98q-223 -182 -282 -373h553l40 137q27 22 55 22q55 0 79 -51l-46 -319h-846v75q0 279 200 499q57 62 117 118l116 110q125 118 173 226 q27 61 27 150t-65 141t-180 52q-125 0 -185 -71q32 -16 53 -54t21 -77t-12 -67t-32 -49q-42 -44 -109 -44q-65 0 -109 44q-45 45 -45 121z" /> -<glyph unicode="3" d="M145 340v2q0 65 45 110q44 44 109 44q60 0 105 -42q46 -43 46 -113t-72 -136q60 -71 185 -71q117 0 189 76q74 77 74 206q0 116 -71 204q-77 96 -210 111v93q173 49 237 189q26 55 26 117t-17 103t-49 72q-67 66 -179 66q-125 0 -185 -71q32 -16 53 -54t21 -77t-12 -67 t-32 -49q-43 -44 -109 -44q-65 0 -109 44q-45 45 -45 121t40.5 143t104.5 113q131 94 307 95q194 0 310 -105q112 -102 112 -259v-2q0 -187 -157 -303q-44 -33 -91 -54q125 -63 180 -123q108 -120 108 -273v-2q0 -166 -131 -291q-139 -133 -346 -133q-164 0 -294 94 q-143 104 -143 266z" /> -<glyph unicode="4" d="M96 485l459 1040q175 0 175 -132l-416 -823h382v348q0 102 211 102v-450h183q25 0 25 -62q0 -52 -17 -72t-28 -20h-163v-275h147q25 0 25 -70q0 -71 -36 -71h-625q-23 0 -23 55v3q0 47 27 75q8 8 16 8h149q91 0 105 25q4 8 4 18v232h-553q-41 24 -47 69z" /> -<glyph unicode="5" d="M145 340q0 66 45 111t109 45q65 0 109 -45q44 -46 44 -112t-74 -134q60 -71 197 -71q111 0 185 76q80 82 80 218q0 153 -97 244q-94 88 -254 88h-244v745h758q0 -110 -12 -143q-25 -68 -98 -68h-494v-380h154q248 0 391 -146q129 -132 129 -329q0 -209 -139 -335 q-137 -123 -355 -124q-162 0 -291 94q-143 104 -143 266z" /> -<glyph unicode="6" d="M109 710q0 404 182 624q157 191 367 191h2q299 -1 384 -205q28 -68 28 -128t-12 -88.5t-33 -49.5q-45 -45 -109 -45t-108 45q-44 46 -45 111q0 97 74 135q-60 71 -177 71h-2q-126 0 -217 -145q-101 -160 -101 -417q69 72 204 100q49 10 130 10q80 0 165 -32 q85 -31 146 -93q128 -129 128 -351q0 -206 -156 -339q-146 -124 -331 -124q-519 0 -519 730zM342 577q0 -168 70 -299q78 -144 202 -144q116 0 191 88q77 91 77 237q0 123 -70 211q-76 94 -188 95q-58 0 -104 -17.5t-82 -45.5q-68 -53 -96 -125z" /> -<glyph unicode="7" d="M91 1215l38 290h972q35 0 35 -65l-148 -258q-138 -247 -199.5 -403.5t-93.5 -270.5q-64 -226 -87 -508q0 -20 -116 -20q-117 0 -117 20q53 556 331 1014q88 144 193 296h-637l-37 -124q-6 -19 -44 -19q-84 0 -90 48z" /> -<glyph unicode="8" d="M93 389v3q0 234 264 444q-87 72 -122 128q-71 112 -71 236q0 132 124 227q127 98 316 98q205 0 333 -101q115 -91 115 -219q0 -189 -140 -347q-38 -44 -76 -80q139 -75 187.5 -132t69 -113t20.5 -141q0 -86 -40.5 -164t-108.5 -133q-141 -115 -339 -115q-259 0 -399 116 q-133 109 -133 293zM326 413q0 -123 76 -200q78 -79 208 -79q121 0 201 86q69 74 69 145t-28.5 121t-80.5 96q-78 68 -284 179q-161 -172 -161 -348zM366 1201q0 -62 27 -107t73 -86q71 -64 236 -158q145 187 145 307v3q0 94 -73 154q-68 57 -170 57q-111 -1 -177 -57 q-61 -52 -61 -113z" /> -<glyph unicode="9" d="M92 1062q0 206 156 339q146 124 331 124q519 0 519 -730q0 -621 -318 -769q-100 -46 -201 -46t-176 23t-135 69q-133 101 -133 266v2q0 66 45 111t109 45q65 0 109 -45q44 -46 44 -111q0 -97 -74 -135q60 -71 198 -71q129 0 209 134q90 151 90 428q-64 -72 -204 -100 q-49 -10 -129 -10q-81 0 -166 32t-146 94q-128 129 -128 350zM325 1043q0 -122 69 -209q74 -94 189 -94q58 0 104 18q45 16 81 44q70 54 97 126q-1 197 -71 318q-73 125 -201 125q-116 -1 -191 -89q-77 -91 -77 -236v-3z" /> -<glyph unicode=":" horiz-adv-x="559" d="M142 162q0 60 39 100q38 40 82 40h1q45 -1 70 -12q26 -10 44 -28q39 -39 39 -97v-6q0 -56 -39 -95q-38 -38 -83 -38q-2 -1 -4 -1q-42 0 -67 10q-25 11 -43 29q-39 40 -39 98zM142 772q0 58 39 98q37 38 83 39h4q42 0 66 -10q26 -11 44 -29q39 -39 39 -95v-6 q0 -56 -39 -95q-38 -38 -84 -39q-76 0 -114 39.5t-38 97.5z" /> -<glyph unicode=";" horiz-adv-x="573" d="M110 -211q106 119 106 195q-74 39 -74 129q0 59 42 99t87 40t72 -11t47 -29q44 -40 45 -99q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43zM147 772q0 94 82 127q25 10 55 10q29 0 54 -10q26 -11 44 -29q39 -39 39 -95v-6q0 -56 -39 -95q-38 -38 -84 -39q-74 0 -112.5 38.5 t-38.5 98.5z" /> -<glyph unicode="&#x3c;" horiz-adv-x="1075" d="M56 641q0 60 53 90l791 443q46 -15 62 -73q4 -17 5 -33l-636 -426l636 -446q0 -76 -62 -100l-799 462q-50 30 -50 83z" /> -<glyph unicode="=" horiz-adv-x="1165" d="M118 838q0 46 15 62t26 16h846q27 0 37 -51q2 -13 2 -24t-2 -25q-4 -14 -8 -26q-10 -28 -29 -28h-846q-29 0 -39 52q-2 13 -2 24zM122 466q0 11 2.5 24.5t7.5 25.5q12 27 30 27h843q27 0 37 -50q2 -13 2 -24q0 -12 -2 -26q-4 -14 -8 -26q-10 -28 -29 -28h-842 q-29 0 -39 52q-2 13 -2 25z" /> -<glyph unicode="&#x3e;" horiz-adv-x="1074" d="M108 196l636 446l-636 426q0 57 38 90q12 11 29 16l791 -443q53 -30 53 -90q0 -53 -50 -83l-799 -462q-62 24 -62 100z" /> -<glyph unicode="?" horiz-adv-x="947" d="M56 1267q0 53 22 89.5t58 64t80.5 47.5t90.5 32q90 24 176 25h2q84 0 161 -29q78 -29 130 -78q106 -99 107 -251q0 -149 -117 -271q-52 -54 -116 -103l-129 -101v-247q0 -45 -63 -59q-18 -4 -38 -4q-94 0 -94 63v270q36 33 76 63l77 60q90 73 124 122q63 93 63 187 q0 101 -63 163q-62 60 -166 61q-81 0 -124 -11q23 -41 23 -79t-11 -63.5t-30 -43.5q-41 -40 -85 -40t-70 10q-25 12 -44 30q-40 39 -40 93zM281 119q0 30 10.5 55.5t29.5 43.5q42 40 86 41h3q41 0 66 -11q25 -12 44 -30q41 -40 41 -84q0 -45 -11 -70.5t-30 -43.5 q-41 -40 -85 -40t-69.5 10.5t-44.5 29t-29.5 44t-10.5 55.5z" /> -<glyph unicode="@" horiz-adv-x="1843" d="M68 459q0 398 249 650q156 158 381 217q111 29 266 29t308.5 -63t261.5 -174q226 -231 226 -589q0 -225 -129 -381q-131 -159 -329 -159h-3q-103 0 -143 52q-14 18 -24 44q-83 -67 -211 -95q-46 -10 -95 -10q-366 0 -366 532q0 228 138 373q132 139 331 139 q100 0 233 -37l40 51q6 2 12 2h15q59 0 104 -36q13 -10 19 -23l-55 -215v-577q0 -35 9 -44q14 -15 53 -15t80.5 25t76.5 75q82 118 82 279q0 160 -45 282.5t-131 213.5q-184 196 -492 196q-310 -1 -499 -195q-198 -203 -198 -558q1 -286 183 -465q186 -183 471 -183t461 116 q46 -20 76 -84q8 -18 11 -34q-217 -148 -523 -148q-390 0 -614 210q-230 216 -230 599zM665 512q0 -105 16 -176.5t43 -116.5q51 -85 143 -85q115 0 235 100v571q-83 65 -188 65q-158 0 -224 -184q-25 -70 -25 -174z" /> -<glyph unicode="A" horiz-adv-x="1424" d="M-12 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM485 653h389l-193 504z" /> -<glyph unicode="B" horiz-adv-x="1329" d="M74 1446q0 59 26 59h514q543 0 543 -368q0 -114 -82 -205q-79 -87 -194 -118q169 -24 269 -124q99 -100 99 -252q0 -318 -316 -415q-108 -33 -255 -33l-251 10h-302q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163 q-29 0 -39 54q-2 14 -2 28zM502 298q0 -79 39.5 -116.5t133.5 -37.5q93 0 157 14t105 48q79 65 79 231q0 143 -132 225q-113 71 -274 71h-108v-435zM502 887h153q186 0 246 118q23 45 23 118t-28 119t-82 70q-87 39 -312 39v-464z" /> -<glyph unicode="C" horiz-adv-x="1274" d="M102 734q0 386 194 596q180 195 478 195h3q157 0 288 -76q145 -84 145 -208q0 -64 -44 -110q-43 -44 -109 -44q-65 0 -109 44q-45 45 -45 106q0 60 22 98q-59 36 -155 36t-176 -39q-78 -39 -136 -111q-122 -153 -123 -398q0 -507 249 -637q79 -42 161 -42q1 0 2 1 q82 0 130.5 13t87.5 31.5t69 38.5q58 40 73 40q14 0 28 -11t26 -27q27 -35 27 -61q0 -27 -18.5 -43.5t-57 -42t-94.5 -48.5q-135 -55 -277 -55t-255 44q-112 45 -198 138q-186 202 -186 572z" /> -<glyph unicode="D" horiz-adv-x="1517" d="M73 1442q0 63 26 63h582q395 0 569 -190q162 -177 163 -557v-3q0 -380 -229 -579q-202 -175 -503 -176h-553q-27 0 -27 57q0 46 26 76q7 8 34 8q26 0 55 3q30 2 46 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26zM501 154h147q214 0 364 139 q168 157 168 430q0 468 -292 589q-94 39 -215 39h-172v-1197z" /> -<glyph unicode="E" horiz-adv-x="1288" d="M73 1442q0 63 26 63h1100v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-540h530l76 149q10 19 38 19q27 0 42 -3t27 -8q27 -11 27 -30 q0 -5 -1 -7l-92 -274h-1020q-27 0 -27 59q1 51 25 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26z" /> -<glyph unicode="F" horiz-adv-x="1236" d="M73 1442q0 63 26 63h1100v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-553h215q26 0 26 -61q0 -48 -15 -64t-26 -16h-573q-27 0 -27 59 q1 51 25 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26z" /> -<glyph unicode="G" horiz-adv-x="1363" d="M100 777q0 157 52 305q51 150 141 248q178 195 477 195h8q183 0 313 -75q142 -81 142 -209q-1 -64 -45 -110q-43 -44 -108 -44t-109 44q-45 45 -45 107q0 61 16 98q-77 35 -173 35q-97 0 -177 -39q-78 -39 -136 -111q-122 -153 -123 -398v-4q0 -504 247 -633 q79 -42 190 -42q2 0 3 1q113 0 214 41v289q0 16 -13 16h-163q-29 1 -39 55q-2 14 -2 27q0 59 26 59h483q25 0 25 -70q0 -71 -35 -71h-71v-344q-84 -72 -154 -103q-147 -64 -323 -64q-167 0 -310 94q-221 146 -289 446q-22 100 -22 257z" /> -<glyph unicode="H" horiz-adv-x="1612" d="M73 1444q0 61 26 61h592q25 0 25 -70q0 -71 -35 -71h-180v-516h610v500q0 16 -12 16h-164q-29 0 -39 53q-2 14 -2 27q0 61 27 61h591q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q27 0 27 -61q0 -49 -15.5 -64.5t-25.5 -15.5h-531q-24 0 -24 57q0 51 27 77q8 8 32 8h3 q4 -1 9 -1q23 0 47 3q28 2 44 7q28 9 28 33v510h-610v-553h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57v3q0 47 27 74q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-28 0 -38 53q-2 14 -3 27z" /> -<glyph unicode="I" horiz-adv-x="791" d="M74 1446q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28z" /> -<glyph unicode="J" horiz-adv-x="756" d="M-53 -303q0 95 83 129q25 10 54 10q75 0 117 -67q72 45 72 231v1348q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-1296q0 -187 -100 -339q-70 -104 -178 -147q-56 -22 -103 -22q-48 0 -73 10q-26 10 -44 28 q-39 39 -39 96v3z" /> -<glyph unicode="K" horiz-adv-x="1487" d="M74 1446q0 59 26 59h540q25 0 25 -70q0 -71 -35 -71h-128v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28zM569 796l525 568h-132 q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h437q25 0 25 -57q0 -52 -24 -76q-8 -8 -24 -8q-17 0 -34 -3.5t-29 -9.5q-20 -10 -38 -30l-457 -518l440 -573q35 -46 78.5 -67.5t113.5 -21.5q24 0 24 -65q0 -47 -14.5 -61.5t-24.5 -14.5h-170q-69 0 -139 62q-20 18 -36 40z" /> -<glyph unicode="L" horiz-adv-x="1183" d="M73 1449q0 9 2 17q1 10 4 18q7 20 20 21h592q25 0 25 -70q0 -71 -35 -71h-180v-1210h469l77 149q10 19 38 19q27 0 42 -3t27 -8q28 -12 28 -30q0 -5 -1 -7l-93 -274h-966q-23 0 -23 59v3q0 45 27 72q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164 q0 16 -13 16h-163q-28 0 -38 54q-2 14 -2 26q-1 2 -1 5z" /> -<glyph unicode="M" horiz-adv-x="1969" d="M74 1446q0 59 26 59h298q28 0 41 -29l549 -1156l481 1165q9 20 26 20h375q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-530q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v935l-449 -1119 q-12 -12 -40 -12q-54 0 -75 12l-460 1023v-882h167q26 0 26 -61q0 -48 -15 -64t-26 -16h-472q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28z" /> -<glyph unicode="N" horiz-adv-x="1667" d="M74 1446q0 59 26 59h348l793 -1160v1003q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28q0 59 26 59h534q25 0 25 -70q0 -71 -35 -71h-179v-1366q0 -18 -74 -18q-71 0 -82 18l-794 1129v-986h168q27 0 27 -61q0 -50 -15 -65t-27 -15h-473q-25 0 -25 57q0 49 28 77q8 8 31 8 h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28z" /> -<glyph unicode="O" horiz-adv-x="1501" d="M102 731q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -366 -200 -562q-176 -174 -464 -174q-132 0 -246 44q-114 45 -200 137q-186 200 -186 570zM332 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455 q0 265 -122 447q-124 184 -305 184q-175 0 -289 -145q-120 -151 -120 -392z" /> -<glyph unicode="P" horiz-adv-x="1221" d="M73 1446q0 59 27 59h556q231 -1 367 -111q137 -111 137 -304q0 -461 -659 -461v-488h223q26 0 26 -61q0 -48 -15 -64t-26 -16h-586q-24 0 -24 56v3q0 48 27 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1165q0 15 -13 15h-163q-28 0 -38 54q-2 14 -3 28z M501 783q210 1 304 51q122 65 122 230v3q0 166 -99 227q-92 57 -327 57v-568z" /> -<glyph unicode="Q" horiz-adv-x="1502" d="M103 727v4q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -410 -242 -600q-74 -58 -161 -91q165 -310 392 -310q108 0 248 84q7 4 18 4q10 0 24 -9q16 -10 28 -25q28 -34 28 -65t-22 -46.5t-55 -31.5q-33 -18 -78 -32q-101 -33 -212 -33h-7 q-363 0 -620 419h-8q-276 0 -444 182q-185 200 -185 565zM333 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455q-1 265 -123 447q-124 184 -304 184q-176 0 -290 -145q-119 -150 -119 -388v-4z" /> -<glyph unicode="R" horiz-adv-x="1355" d="M73 1446q0 59 27 59h556q231 -1 367 -111q137 -111 137 -304q0 -302 -291 -408l280 -452q30 -49 76 -69t116 -20q24 0 24 -65q0 -47 -14.5 -61.5t-24.5 -14.5h-170q-76 0 -141 60q-20 18 -34 42l-328 534q-63 -7 -152 -7v-488h223q26 0 26 -61q0 -48 -15 -64t-26 -16 h-586q-24 0 -24 56v3q0 48 27 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1165q0 15 -13 15h-163q-28 0 -38 54q-2 14 -3 28zM501 783q210 1 304 51q122 65 122 230v3q0 166 -99 227q-92 57 -327 57v-568z" /> -<glyph unicode="S" horiz-adv-x="1177" d="M83 260q0 66 45 111t109 45q65 0 109 -45q44 -46 44 -99t-28 -103q65 -35 161 -35t154 18q57 16 99 48q88 67 89 177v1q0 126 -205 244q-58 34 -126 67l-143 73q-273 144 -273 385q0 185 150 287q134 91 341 91h9q154 0 286 -69q158 -81 158 -215q0 -64 -44 -110 q-43 -44 -109 -44q-65 0 -109 44q-45 45 -45 110q0 53 29 94q-59 36 -141 36q-83 0 -137 -15q-54 -14 -94 -42q-82 -57 -83 -163v-2q0 -78 87 -141q42 -32 104 -64l135 -70q221 -110 310 -203q111 -115 111 -276q0 -184 -144 -299.5t-365 -115.5q-170 0 -315 71 q-169 83 -169 209z" /> -<glyph unicode="T" horiz-adv-x="1275" d="M18 1228v4l38 273h1161l38 -273v-4q0 -36 -55 -48q-12 -3 -25 -3h-6q-39 0 -48 26l-44 148h-335v-1210h168q27 0 27 -67q0 -43 -15.5 -58.5t-25.5 -15.5h-531q-24 0 -24 57q0 51 27 77q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q27 8 27 33v1167h-335l-44 -148 q-9 -26 -50 -26q-50 1 -76 31q-8 10 -8 20z" /> -<glyph unicode="U" horiz-adv-x="1545" d="M41 1444q0 61 26 61h572q25 0 25 -70q0 -71 -35 -71h-160v-786q0 -341 194 -411q61 -22 141 -22t142 25.5t102 78.5q78 103 78 326v773q0 16 -13 16h-144q-29 0 -39 54q-2 14 -2 28q0 59 26 59h516q26 0 26 -64q0 -48 -13.5 -62.5t-22.5 -14.5h-169v-809 q0 -575 -519 -575q-280 0 -402 152q-112 139 -112 437v779q0 16 -13 16h-163q-28 0 -38 54q-2 14 -3 26z" /> -<glyph unicode="V" horiz-adv-x="1426" d="M-19 1424q0 49 14 65t25 16h485q25 0 25 -55q0 -53 -15.5 -69.5t-25.5 -16.5q-124 0 -124 -24q0 -9 8 -25l371 -967l375 1016h-153q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h436q25 0 25 -57q0 -52 -24 -76q-9 -8 -37 -8q-76 0 -96 -57l-503 -1307q-8 -20 -61 -20 q-49 0 -59 20l-540 1364h-110q-26 0 -26 60z" /> -<glyph unicode="W" horiz-adv-x="2059" d="M-37 1424q0 49 14 65t25 16h485q25 0 25 -55q0 -53 -15.5 -69.5t-25.5 -16.5q-124 0 -124 -24q0 -9 8 -25l360 -939l229 691l-116 297h-117q-26 0 -26 60q0 49 14 65t25 16h485q25 0 25 -55q0 -53 -15.5 -69.5t-25.5 -16.5q-124 0 -124 -24q0 -9 8 -25l359 -939l297 988 h-156q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h436q25 0 25 -57q0 -52 -24 -76q-8 -8 -36 -8q-74 0 -97 -57l-410 -1307q-6 -20 -41 -20q-71 0 -79 20l-331 848l-277 -848q-6 -20 -55 -20t-59 20l-541 1364h-109q-26 0 -26 60z" /> -<glyph unicode="X" horiz-adv-x="1383" d="M17 61q0 47 26 73q7 7 28 7t45.5 4.5t41.5 12.5q28 12 47 38l349 569l-375 599h-122q-27 0 -27 58q0 50 14.5 66.5t24.5 16.5h511q23 0 23 -57q0 -53 -15.5 -68.5t-26.5 -15.5q-111 0 -111 -22q0 -7 9 -25l257 -411l318 458h-165q-26 0 -26 59q0 51 13.5 66.5t22.5 15.5 h441q24 0 24 -58q0 -51 -15 -67t-25 -16q-72 0 -110 -43l-387 -560l349 -557q34 -56 134 -62q19 -1 37 -1h17q26 0 26 -61q0 -48 -15 -64t-26 -16h-528q-27 0 -27 61q0 47 28 73q8 7 14 7h129l-299 477l-275 -447q-7 -10 -7 -17q0 -13 18 -13h105q26 0 26 -60q0 -49 -15 -65 t-26 -16h-429q-26 0 -26 61z" /> -<glyph unicode="Y" horiz-adv-x="1284" d="M-31 1424q0 49 14 65t25 16h493q25 0 25 -57q0 -52 -15 -68t-26 -16q-106 0 -106 -35q0 -10 6 -22l285 -572l316 629h-156q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h436q25 0 25 -57q0 -52 -24 -76q-9 -8 -37 -8q-66 0 -88 -43l-397 -762v-418h245q26 0 26 -61 q0 -48 -15 -64t-26 -16h-717q-25 0 -25 57v3q0 47 27 74q7 7 14 7h151q91 0 105 25q4 8 4 18v375l-437 805h-112q-26 0 -26 60z" /> -<glyph unicode="Z" horiz-adv-x="1280" d="M80 0v75l822 1276h-644l-44 -148q-9 -26 -50 -26q-50 1 -76 31q-8 10 -8 20v4l38 273h1084l-3 -68l-825 -1283h626l77 149q10 19 38 19q27 0 42 -3t27 -8q28 -12 28 -30q0 -5 -1 -7l-93 -274h-1038z" /> -<glyph unicode="[" horiz-adv-x="654" d="M185 -160v1831h429q33 0 33 -70q0 -71 -33 -71h-234v-1549h234q30 0 30 -70q0 -71 -30 -71h-429z" /> -<glyph unicode="\" horiz-adv-x="913" d="M41 1606q0 32 75 32q41 0 90 -32l673 -1747q0 -29 -75 -29q-57 0 -97 29z" /> -<glyph unicode="]" horiz-adv-x="654" d="M7 1601q0 70 33 70h429v-1831h-429q-30 0 -30 71q0 70 30 70h234v1549h-234q-33 0 -33 71z" /> -<glyph unicode="^" horiz-adv-x="1180" d="M59 920l453 489q30 35 64 35q50 0 83 -35l459 -491q0 -38 -20 -61t-56 -23l-462 405l-445 -405q-76 0 -76 86z" /> -<glyph unicode="_" horiz-adv-x="1178" d="M0 -164h1178v-123h-1178v123z" /> -<glyph unicode="`" horiz-adv-x="1065" d="M211 1423q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42z" /> -<glyph unicode="a" horiz-adv-x="1045" d="M69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252 v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM271 291q0 -118 98 -148q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111z" /> -<glyph unicode="b" horiz-adv-x="1099" d="M-70 1491q0 44 26.5 54.5t70.5 17.5t93 11q93 8 177 9q43 0 45 -85v-559q138 82 247 82q108 0 183 -35q76 -36 130 -102q115 -140 115 -374v-8q0 -241 -139 -383q-130 -133 -336 -133q-80 0 -180 60q-24 14 -41 23l-70 -85q-10 -6 -25 -6q-30 0 -79 24q-43 21 -45 42 l45 181v1184h-176q-29 0 -39 52q-2 14 -2 30zM342 207q95 -67 188 -67q191 0 256 182q26 72 26 181t-25 175q-25 64 -62 102q-66 66 -160 67q-87 0 -169 -49q-30 -18 -54 -45v-546z" /> -<glyph unicode="c" horiz-adv-x="1004" d="M82 510q0 240 145 380q136 130 347 131q226 -1 313 -99q33 -38 33 -81t-10 -68q-12 -25 -30 -43q-40 -39 -97 -39t-97 39q-40 38 -40 76t9 74h-93q-104 0 -179 -79q-96 -101 -96 -291q0 -278 155 -352q49 -24 100 -24t92 11t80 29q40 17 76 39l71 43q4 3 14 3 q9 0 23 -11.5t26 -27.5q26 -38 26 -63t-11 -34q-191 -143 -416 -143q-209 0 -327 145q-114 140 -114 385z" /> -<glyph unicode="d" horiz-adv-x="1147" d="M83 512v3q0 240 149 379q136 127 351 127q101 0 176 -20v408h-176q-29 0 -39 49q-2 14 -2 30q0 48 27 58t71 17t92 11q92 8 177 9h1q42 0 44 -85v-1358h168q26 0 26 -60q0 -45 -15 -62t-22.5 -17.5t-28 -3t-52.5 -5.5q-87 -8 -135 -8q-49 0 -63 4q-14 3 -24 12 q-19 16 -38 69q-122 -89 -287 -89q-194 0 -299 146q-101 140 -101 386zM288 512q0 -105 21 -176.5t53 -116.5q62 -85 148 -85q129 0 249 100v568q-83 65 -188 65q-187 0 -257 -181q-26 -69 -26 -174z" /> -<glyph unicode="e" horiz-adv-x="1041" d="M81 514q0 124 41 220q40 94 108 158q138 128 341 129h3q186 0 287 -117q101 -116 101 -335q0 -47 -43 -81q-42 -33 -106 -33h-527q18 -234 163 -300q46 -21 97 -21t91 11.5t77 29t72 39.5q73 46 86 46q12 -1 26 -12q12 -12 24 -28q26 -38 27 -64v-2q0 -24 -11 -32 q-183 -142 -416 -142q-209 0 -326 146q-115 142 -115 388zM286 605h471v4q0 198 -115 244q-36 14 -80 14t-92 -16q-48 -17 -88 -49q-89 -73 -96 -197z" /> -<glyph unicode="f" horiz-adv-x="792" d="M64 847q0 110 13.5 132t29.5 22h10q116 0 132 23q6 8 6 20v126q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55v32h-1q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86 q-7 -9 -19 -9h-251v-706h226q27 0 27 -61q0 -48 -15 -64t-26 -16h-569q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191z" /> -<glyph unicode="g" horiz-adv-x="1130" d="M63 -166q0 43 14.5 82t38.5 72q24 34 55 64l64 65q-12 15 -24 29t-21 30q-21 38 -21 91q0 52 84 141q-68 45 -106.5 115.5t-38.5 157.5t38.5 150.5t99.5 104.5q119 80 282 80q59 0 117 -15h366q90 0 111 -61q6 -18 6 -39t-9 -40t-23 -31q-30 -26 -66 -26q-2 -1 -3 -1 q-34 0 -51 11q-16 11 -34 26q-48 41 -116 52q76 -86 76 -180t-37.5 -161t-98.5 -112q-123 -91 -298 -91q-39 0 -75 6q-34 -42 -34 -76t34.5 -58.5t91.5 -24.5h203q196 0 282 -85q67 -66 67 -192q0 -136 -128 -238q-151 -120 -416 -120q-217 0 -337 98q-50 41 -71.5 87 t-21.5 89zM258 -137q0 -149 241 -149q135 0 233 57q110 63 110 157q0 79 -108 107q-38 10 -93 10h-272l-34 -37q-77 -84 -77 -145zM318 690q0 -1 1 -1q0 -90 48 -138.5t110 -48.5t99.5 17t63.5 47q51 59 51 146v3q0 69 -49 119q-50 52 -110 52t-97 -14t-63 -40 q-54 -54 -54 -142z" /> -<glyph unicode="h" horiz-adv-x="1249" d="M-7 1489q0 46 27 56.5t71 17.5q45 7 93 11q92 8 176 9q42 0 44 -85q0 -25 1 -52v-535q129 74 259 102q38 8 62 8q196 0 266 -102q54 -78 54 -276v-502h156q26 0 26 -61q0 -48 -15 -64t-26 -16h-454q-27 0 -27 61q0 48 15 64t26 16q104 0 104 43v297q0 192 -22 248.5 t-56.5 80t-93.5 23.5q-134 0 -274 -112v-580h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q116 0 131 23q6 8 6 20v1225h-176q-28 1 -38 51q-2 14 -3 29z" /> -<glyph unicode="i" horiz-adv-x="662" d="M34 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176q-29 1 -39 51q-2 14 -2 29zM190 1409q0 95 83 129q25 10 54 10q58 0 97.5 -39.5 t39.5 -99.5q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55z" /> -<glyph unicode="j" horiz-adv-x="568" d="M-92 -303q0 95 83 129q25 10 54 10q73 0 99 -67q90 0 90 231v847h-176q-30 1 -38 49q-2 14 -3 29q0 46 26 57q105 39 341 39h1q41 0 43 -85q0 -24 1 -52v-816q0 -191 -92 -339q-105 -169 -292 -169q-93 0 -127 82q-10 25 -10 55zM172 1409q0 95 84 129q26 10 54 10 q58 0 97.5 -39.5t39.5 -99.5v-3q0 -57 -39 -96q-38 -38 -98 -38q-94 0 -128 82q-10 25 -10 55z" /> -<glyph unicode="k" horiz-adv-x="1209" d="M-7 1489q0 46 27 56.5t71 17.5q45 7 93 11q92 8 176 9q42 0 44 -85q0 -25 1 -52v-1305h105q27 0 27 -61q0 -49 -15.5 -64.5t-25.5 -15.5h-448q-26 0 -26 61q0 48 15 64t26 16h10q116 0 131 23q6 8 6 20v1225h-176q-28 1 -38 51q-2 14 -3 29zM417 600l403 401h212 q28 0 38 -52q2 -14 2 -27q0 -62 -26 -62q-97 0 -132 -14.5t-51 -30.5l-219 -222l350 -385q60 -67 160 -67q27 0 27 -63q0 -46 -15 -62t-26 -16h-261z" /> -<glyph unicode="l" horiz-adv-x="621" d="M-7 1489q0 46 27 56.5t71 17.5q45 7 93 11q92 8 176 9q42 0 44 -85q0 -25 1 -52v-1305h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q116 0 131 23q6 8 6 20v1225h-176q-28 1 -38 51q-2 14 -3 29z" /> -<glyph unicode="m" horiz-adv-x="1931" d="M34 924q0 47 26.5 57.5t67.5 18.5t86 12q90 10 135 10h4q44 -1 53 -10q10 -10 14 -26q5 -17 5 -71v-19q151 84 275 115q40 10 67 10q185 0 266 -141q155 90 301 129q44 12 107 12t125 -26.5t98 -76.5q64 -88 64 -280v-497h155q27 0 27 -70q0 -71 -37 -71h-459 q-26 0 -26 61q0 49 24 73q7 7 15 7h2q104 0 104 43v297q0 194 -22 254.5t-56.5 86t-93.5 25.5q-111 0 -274 -129v-577h155q27 0 27 -70q0 -71 -41 -71h-455q-26 0 -26 59v4q0 46 25 71q7 7 14 7h2q104 0 104 43v297q0 194 -22 254.5t-56.5 86t-93.5 25.5q-111 0 -274 -129 v-577h168q26 0 26 -59q0 -49 -15.5 -65.5t-25.5 -16.5h-508q-28 0 -28 57q0 52 15 68t26 16h10q115 0 131 23q6 8 6 20v663h-176q-29 1 -39 51q-2 14 -2 26z" /> -<glyph unicode="n" horiz-adv-x="1290" d="M34 925q0 46 26.5 56.5t67.5 18.5t86 12q90 10 135 10h4q44 -1 53 -10q10 -10 14 -26q5 -17 5 -71v-19q151 84 275 115q40 10 102 10q61 0 123 -26.5t98 -76.5q64 -88 64 -280v-497h155q27 0 27 -61q0 -48 -15 -64t-26 -16h-455q-26 0 -26 61q0 48 15 64t26 16 q104 0 104 43v297q0 194 -22 254.5t-56.5 86t-93.5 25.5q-111 0 -274 -129v-577h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q115 0 131 23q6 8 6 20v663h-176q-31 1 -39 49q-2 14 -2 29z" /> -<glyph unicode="o" horiz-adv-x="1093" d="M80 512q0 246 152 384q138 125 348 125h3q196 0 315 -149q114 -142 114 -368q0 -252 -140 -392q-132 -132 -355 -132q-107 0 -188 40t-137 112q-112 145 -112 380zM285 517q0 -102 19 -173q20 -70 54 -116q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340 q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5t-24.5 -170.5z" /> -<glyph unicode="p" horiz-adv-x="1177" d="M7 926q0 47 23 54.5t57.5 14.5t78.5 13q94 13 150 13q55 0 64 -5q10 -4 14 -16q5 -12 5 -59v-17q137 78 219 92q30 6 85 6h9q62 -1 137 -36.5t130 -101.5q116 -140 116 -378q0 -248 -137 -388q-129 -132 -338 -132q-82 0 -170 45q-20 10 -30 14v-342h222q27 0 27 -61 q0 -48 -15 -64t-26 -16h-565q-27 0 -27 61q0 48 15 64t26 16q125 0 142 23q6 8 6 20v1101h-177q-30 1 -38 49q-2 14 -3 30zM420 195q69 -55 188 -55q190 0 256 182q26 72 26 181q0 108 -25 173.5t-63 103.5q-66 67 -160 67h-3q-86 0 -165 -53q-30 -20 -54 -48v-551z" /> -<glyph unicode="q" horiz-adv-x="1116" d="M83 512v3q0 240 149 379q136 127 349 127q105 0 238 -37l63 82q6 2 12 2h15q59 0 104 -36q13 -10 19 -23l-78 -246v-1061h164q26 0 26 -59q0 -50 -15 -66t-26 -16h-579q-27 0 -27 63q0 46 15 62t26 16h84q116 0 132 24q5 7 5 16v322q-67 -55 -193 -77q-40 -7 -111 -7 t-146 38t-125 108q-101 140 -101 386zM288 512q0 -105 23 -176.5t58 -116.5q66 -85 168 -85t222 100v568q-83 65 -188 65q-187 0 -257 -181q-26 -69 -26 -174z" /> -<glyph unicode="r" horiz-adv-x="901" d="M36 921q0 50 25.5 61t66.5 18q42 8 86 12q84 8 133 9h8q41 0 49 -5q10 -4 14 -14q5 -10 5 -43v-12l-1 -40q0 -12 -0.5 -24t-0.5 -22q117 107 235 147q38 12 79 13h2q39 0 70 -15q32 -16 51 -38q34 -40 34 -83q0 -44 -11 -69t-31 -43q-42 -39 -83 -39q-42 0 -64 11.5 t-39 29.5q-36 38 -36 85q-58 -27 -88 -62t-50 -65l-44 -68v-524h243q23 0 23 -61q0 -49 -14.5 -64.5t-26.5 -15.5h-582q-28 0 -28 63q1 46 27 71q8 7 35 7t55.5 2.5t44.5 7.5q28 9 28 33v659h-176q-39 0 -39 78z" /> -<glyph unicode="s" horiz-adv-x="926" d="M76 181q0 34 10 59q12 26 30 44q39 38 98 38q58 0 98 -39q40 -38 40 -86v-1q-1 -50 -5 -62h114q139 0 187 85q14 26 14 57t-14.5 53.5t-45.5 41.5q-47 29 -156.5 62.5t-166.5 58t-99 58.5q-86 72 -86 198q0 185 207 249q78 24 154 24q75 0 139 -10q66 -10 118 -34 q119 -55 119 -157v-5q0 -56 -39 -95q-38 -38 -98 -39q-94 0 -128 82q-10 25 -10 41t12 76h-99q-81 0 -120 -28q-71 -49 -71 -108q0 -78 140 -126l76 -26q193 -64 248 -109t80 -98t25 -121q0 -69 -27 -119q-26 -51 -74 -87q-103 -78 -268 -78q-146 0 -262 44q-86 32 -122 92 q-18 30 -18 65z" /> -<glyph unicode="t" horiz-adv-x="731" d="M27 847q0 110 13.5 132t29.5 22h10q123 0 148 23q10 8 11 20l43 221q12 55 130 55v-319h270q25 0 25 -59q-1 -58 -25 -86q-7 -9 -18 -9h-252v-590q0 -112 66 -112q75 0 106.5 11.5t43.5 11.5q11 0 22.5 -7.5t19.5 -19.5q17 -26 17 -54q0 -30 -19 -39q-129 -68 -246 -68 q-205 0 -205 277v590h-190z" /> -<glyph unicode="u" horiz-adv-x="1234" d="M21 923q0 50 20 55q168 43 307 43q44 0 46 -80v-530q0 -195 100 -233q30 -12 75 -12q44 0 84.5 10t72.5 24q30 15 54 32l43 32v583h-137q-41 0 -41 74q0 47 26.5 57.5t64.5 18.5q38 7 79 13q78 10 125 11h3q43 0 53 -11q12 -10 16 -28q6 -25 6 -88v-753h168q27 0 27 -65 q0 -70 -41 -76q-102 -16 -182 -16t-94 8t-24 22q-16 22 -38 82q-159 -116 -287 -116q-252 0 -324 202q-24 67 -24 156v509h-141q-37 0 -37 76z" /> -<glyph unicode="v" horiz-adv-x="1096" d="M4 920q0 49 14 65t25 16h434q25 0 25 -57q0 -52 -15 -68t-26 -16q-88 0 -88 -43l198 -549l242 592h-131q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h375q25 0 25 -57q0 -52 -24 -76q-8 -8 -24 -8q-17 0 -32 -2q-14 -2 -24 -8q-16 -9 -25 -33l-334 -817q-7 -18 -39 -19 t-48 -1q-56 0 -65 20l-335 860h-112q-26 0 -26 60z" /> -<glyph unicode="w" horiz-adv-x="1563" d="M8 921q0 48 15 64t24 16h434q25 0 25 -57q0 -52 -15 -68t-26 -16q-88 0 -88 -43l136 -601l249 690q9 19 50 19q44 0 52 -18l254 -705l159 658h-131q-26 0 -26 59q0 49 13.5 65.5t22.5 16.5h375q24 0 24 -70q0 -71 -40 -71q-63 0 -79 -24q-6 -8 -9 -19l-244 -817 q-7 -20 -68 -20q-72 0 -79 20l-235 587l-239 -587q-7 -17 -37.5 -18.5t-39.5 -1.5h-23q-14 0 -26 2q-30 4 -33 18l-241 860h-129q-25 0 -25 61z" /> -<glyph unicode="x" horiz-adv-x="1174" d="M35 61q0 47 26 73q7 7 38 7t67 17t53 38l246 324l-273 340h-122q-27 0 -27 58q0 50 14.5 66.5t24.5 16.5h437q23 0 23 -57q0 -53 -15.5 -68.5t-26.5 -15.5q-64 0 -64 -18q0 -7 7 -16l190 -238l203 272h-124q-26 0 -26 59q0 51 13.5 66.5t22.5 15.5h384q24 0 24 -58 q0 -51 -15 -67t-25 -16q-76 0 -110 -43l-265 -331l230 -289q41 -49 119 -55q16 -1 33 -1h16q26 0 26 -61q0 -48 -15 -64t-26 -16h-425q-27 0 -27 61q0 47 28 73q8 7 14 7h83l-221 274l-176 -244q-7 -10 -7 -17q0 -13 18 -13h57q26 0 26 -60q0 -49 -15 -65t-26 -16h-366 q-26 0 -26 61z" /> -<glyph unicode="y" horiz-adv-x="1098" d="M6 920q0 49 14 65t25 16h434q25 0 25 -57q0 -51 -15.5 -67.5t-25.5 -16.5q-88 0 -88 -43l203 -594l237 637h-131q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h375q25 0 25 -57q0 -52 -24 -76q-8 -8 -24 -8q-17 0 -32 -2q-14 -2 -24 -8q-16 -9 -25 -33l-422 -1077 q-32 -83 -104 -131.5t-177 -48.5q-140 0 -196 92q-20 34 -20 73q-1 2 -1 3q0 37 11 62q10 26 28 44q40 40 87 40h2q48 -1 74 -14q25 -14 41 -36q28 -41 29 -110q32 0 55.5 36t41 77t30 77.5t21 64.5t11.5 37l-332 854h-112q-26 0 -26 60z" /> -<glyph unicode="z" horiz-adv-x="1007" d="M75 736q0 3 4 23l44 242h800v-111l-569 -740h415l47 109q10 21 35 21t39 -3q12 -3 24 -9q26 -12 26 -30q0 -5 -1 -7l-72 -231h-778v110l569 741h-393l-30 -110q-11 -42 -85 -42q-75 0 -75 37z" /> -<glyph unicode="{" horiz-adv-x="667" d="M62 683q0 61 29 67q70 10 87 32q28 35 28 109v461q0 251 150 302q50 17 117 17h164q28 0 28 -69q0 -72 -28 -72h-79q-100 0 -132 -48q-25 -37 -25 -136v-445q0 -124 -97 -185q-34 -22 -83 -34q180 -52 180 -225v-309q0 -92 19 -118q35 -49 138 -49h79q28 0 28 -70 q0 -71 -28 -71h-164q-139 0 -201 66q-66 71 -66 244v321q0 76 -17 97q-27 33 -98 43q-29 4 -29 72z" /> -<glyph unicode="|" horiz-adv-x="516" d="M181 -455v2063q0 28 77 28t77 -28v-2063q0 -28 -77 -28t-77 28z" /> -<glyph unicode="}" horiz-adv-x="667" d="M2 -89q0 70 28 70h84q97 0 128 43q24 33 24 133v300q0 172 180 225q-180 45 -180 221v443q0 100 -20 130q-37 54 -137 54h-79q-28 0 -28 72q0 69 28 69h168q133 0 196 -71q66 -74 67 -248v-469q0 -68 17 -88q28 -35 98 -45q29 -6 29 -67q0 -42 -10.5 -56.5t-32.5 -17.5 t-44 -11q-24 -8 -36 -24q-21 -26 -21 -96v-328q0 -250 -150 -295q-50 -15 -117 -15h-164q-28 0 -28 71z" /> -<glyph unicode="~" horiz-adv-x="1218" d="M109 557q65 119 179 175q48 24 93 24q44 0 81 -11t78.5 -27t85.5 -35t84 -35q96 -38 131 -38t60 15.5t46 37t38 43t31 33.5q38 0 60 -21q38 -36 38 -71q-54 -121 -168 -180q-48 -25 -96 -25q-49 0 -90 10t-84 24q-44 14 -88 32l-84 32q-94 34 -129 35h-3q-34 0 -59 -14 q-27 -14 -48 -32t-36 -36.5t-26 -27.5q-37 1 -59 21q-35 34 -35 71z" /> -<glyph unicode="&#xa1;" horiz-adv-x="568" d="M144 886q0 45 11 70.5t31 43.5q42 40 100 40q90 0 123 -84q10 -26 10 -55q0 -30 -10 -55q-9 -26 -27 -45q-37 -40 -96 -40q-58 0 -100 40t-42 85zM150 -407l50 992q0 27 54 38q14 3 29 3q86 0 86 -44l47 -991q-49 -30 -140 -30q-92 0 -126 32z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1002" d="M65 705q0 241 145 381q136 130 347 130q226 0 313 -98q33 -38 33 -81q0 -44 -10.5 -69t-28.5 -43q-40 -39 -98 -39t-98 39q-40 38 -40 75q0 1 1 1q0 38 9 74h-93q-104 0 -179 -79q-96 -101 -96 -291q0 -279 155 -353q48 -24 98 -24q1 0 2 1q51 0 92 11t80 28.5t75 39.5 l72 43q4 3 14 3q9 0 23 -12q13 -12 25 -28q26 -38 27 -62v-3q0 -22 -11 -31q-191 -143 -416 -143q-208 0 -326 145q-114 140 -115 385zM467 0v295h141v-295q-25 -27 -69 -27q-45 0 -72 27zM467 1171h141v232q-29 29 -70 29q-42 0 -71 -29v-232z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1164" d="M61 134q0 66 45 111t109 45q52 0 86 -20l46 -26q41 104 41 362h-232q-28 0 -38 51q-2 13 -2 25q-1 1 -1 3q0 10 3 22q2 13 7 25q12 28 31 28h232v433q0 167 118 257q98 75 237 75h4q165 0 239 -46q21 -14 21 -59q-1 -69 -41 -111q-12 -13 -24 -13t-42 14q-74 35 -162 35 h-3q-66 0 -97 -45q-39 -56 -39 -190v-350h263q26 0 36 -51q2 -13 3 -24q0 -46 -14.5 -62.5t-24.5 -16.5h-263q-4 -39 -7 -84.5t-12 -97.5q-21 -122 -81 -234q149 -56 251 -56q83 0 114 19q55 34 102 129q12 23 38 23t41 -4q15 -3 27 -11q29 -17 33 -43q-65 -210 -193 -253 q-42 -14 -85 -14q-44 0 -94 6q-51 4 -107 14q-122 21 -230 52q-13 -6 -33.5 -18t-44.5 -24q-61 -30 -98 -30t-65 11.5t-49 32.5q-45 45 -45 110z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1184" d="M97 1028q1 59 47 102q44 41 100 41l116 -116q103 66 227 66q123 0 231 -73l122 125h3q54 0 98 -41q46 -43 46 -100l-125 -127q78 -121 78 -256q0 -136 -74 -254l123 -124q0 -53 -47 -99q-45 -44 -99 -44h-2l-121 122q-111 -75 -233 -75t-228 69l-113 -118q-57 0 -103 46 q-44 44 -44 95l116 117q-82 125 -82 267q0 141 80 261zM333 649q1 -118 71 -200q72 -84 187 -84q59 0 106.5 22.5t81.5 61.5q70 80 70 200q0 124 -70 204q-74 85 -189 85q-112 0 -186 -85q-70 -82 -71 -204z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1275" d="M59 1424q0 49 14 65t25 16h470q25 0 25 -57q0 -52 -15 -68t-26 -16q-106 0 -106 -35q0 -4 6 -22l227 -525l239 582h-86q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h350q25 0 25 -57q0 -52 -24 -76q-9 -8 -37 -8q-71 0 -88 -43l-156 -382h146q26 0 36 -51q2 -13 3 -24v-4 q0 -9 -2 -21q-3 -14 -7 -26q-10 -28 -30 -28h-209l-89 -219h298q26 0 36 -50q2 -13 3 -24v-4q0 -10 -2 -22q-3 -14 -7 -26q-10 -28 -30 -28h-301v-271h189q26 0 26 -61q0 -48 -15 -64t-26 -16h-573q-25 0 -25 57v3q0 47 27 74q7 7 14 7h63q91 0 105 25q4 8 4 18v228h-330 q-28 0 -38 52q-2 13 -2 25q-1 1 -1 3q0 10 3 22q2 12 7 24q12 28 31 28h327l-95 219h-236q-28 0 -38 52q-2 13 -3 24q0 46 15 62t26 16h169l-184 425h-112q-26 0 -26 60z" /> -<glyph unicode="&#xa6;" horiz-adv-x="522" d="M184 -455v971h154v-971q0 -28 -77 -28t-77 28zM184 694v914q0 28 77 28t77 -28v-914h-154z" /> -<glyph unicode="&#xa7;" horiz-adv-x="1148" d="M67 -95q0 66 45 111t109 45q65 0 109 -45q44 -46 44 -111q0 -30 -11.5 -54t-16.5 -38q65 -35 161 -35t154 20q57 19 99 53q88 73 89 183v1q0 118 -205 225l-269 136q-273 144 -273 377q0 90 38 179l21 49q-60 91 -60 196q0 104 41 175q42 72 110 119q134 92 345 92 q155 -1 291 -71q157 -80 157 -212v-2q-1 -64 -45 -110q-43 -44 -108 -44t-109 44q-45 45 -45 95t30 110q-59 36 -141 36q-83 0 -138 -14.5t-94 -42.5q-83 -60 -83 -164q0 -80 88 -144q42 -32 102 -62l136 -70q221 -110 311 -199q111 -109 111 -257h-1q0 -84 -59 -238 q60 -91 60 -190q0 -100 -38 -176q-38 -78 -106 -132q-143 -115 -361 -115h-4q-170 0 -315 71q-169 83 -169 209zM313 789q0 -36 21.5 -74.5t63.5 -74.5q72 -63 234 -147l211 -109q6 24 6 67t-28 84.5t-73.5 78t-104.5 68.5l-325 171q-5 -28 -5 -64z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1065" d="M178 1327q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38q-76 0 -113 39t-37 98zM631 1327q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1686" d="M67 745v11q0 209 105 387q103 175 279 277q181 105 392 105t392 -105q177 -102 279 -277q105 -178 105 -387v-8q0 -209 -105 -387q-102 -173 -279 -276q-181 -105 -392 -105q-321 0 -549 225q-144 142 -200 341q-27 96 -27 199zM198 752q0 -137 49.5 -256t136.5 -207.5 t205 -139.5t254 -51q271 0 458 190t187 464q0 272 -187 463q-188 192 -458 192q-136 0 -254 -51.5t-205 -140.5t-136.5 -208t-49.5 -255zM365 753q0 241 145 382q136 132 347 132q226 -1 313 -99q33 -38 33 -81t-10.5 -68t-28.5 -43q-40 -39 -98 -39t-98 39q-39 37 -39 95 v17q0 6 2 15q-37 10 -82 10q-46 0 -94 -16.5t-89 -57.5q-96 -96 -96 -286q0 -279 155 -353q48 -24 98 -24q1 0 2 1q51 0 92 11t80 28.5t75 39.5l72 43q54 -15 76 -73q6 -18 6 -30q0 -18 -4 -30q-177 -143 -416 -143q-208 0 -326 145q-114 140 -115 385z" /> -<glyph unicode="&#xaa;" horiz-adv-x="915" d="M119 662q0 10 2 21q1 11 5 21q8 23 24 23h610q19 0 27 -41q2 -10 2 -20q0 -39 -11.5 -52.5t-18.5 -13.5h-609q-21 0 -29 42q-2 10 -2 20zM131 1024q0 65 19.5 106t51.5 69q67 58 157 58h182q0 97 -43 137.5t-124 40.5q-29 0 -48 -4q7 -16 7 -44t-24 -52.5t-61 -24.5 q-38 0 -62.5 24.5t-24.5 57.5t14 53t37 34.5t52 23.5q28 9 58 13q56 8 114 9h2q56 0 101 -20q45 -21 73 -55q52 -63 52 -167v-321h106q16 0 16 -28q0 -58 -26 -63q-40 -9 -156 -9q-21 0 -33 18t-24 53q-55 -44 -167 -67q-34 -7 -72 -7t-74 14q-36 15 -59 39q-44 47 -44 112z M260 1052q0 -23 7 -38.5t19 -23.5q20 -14 54 -14q2 -1 5 -1q31 0 57 7q28 6 55 16q52 18 84 39v123h-161q-50 0 -76 -23.5t-35 -42.5t-9 -42z" /> -<glyph unicode="&#xab;" horiz-adv-x="1186" d="M43 502q0 68 41 100l421 333q30 0 51 -22q37 -39 37 -73l-306 -305l306 -351q0 -34 -19 -56q-34 -38 -68 -38l-422 339q-41 33 -41 73zM542 513q0 55 40 88l421 334q32 0 53 -22q37 -39 37 -73l-307 -305l307 -351q0 -34 -20 -55q-36 -39 -69 -39l-423 339q-39 31 -39 84 z" /> -<glyph unicode="&#xac;" horiz-adv-x="1119" d="M83 655q0 10 3 22q2 13 7 25q12 27 30 27h810q72 0 72 -84v-360q0 -27 -50 -37q-13 -2 -24 -2q-47 0 -63.5 14.5t-16.5 24.5v290h-727q-28 0 -38 52q-2 13 -2 25q-1 1 -1 3z" /> -<glyph unicode="&#xad;" horiz-adv-x="750" d="M159 604q0 11 3 23q2 15 7 29q12 33 31 33h447q25 0 35 -59q2 -14 3 -26q0 -52 -14.5 -71.5t-24.5 -19.5h-447q-27 0 -37 61q-2 14 -2 26q-1 2 -1 4z" /> -<glyph unicode="&#xae;" horiz-adv-x="1088" d="M68 980q0 197 139.5 336.5t337.5 139.5q196 0 335.5 -139.5t139.5 -336.5q0 -196 -140 -336q-138 -138 -335 -139q-199 1 -337 139q-140 140 -140 336zM176 981q0 -155 108 -267q107 -110 260 -110q135 0 237 89h-43q-42 0 -67 39l-127 200q-26 -2 -53 -2v-174h84 q10 -4 10 -30q0 -27 -15 -33h-220q-9 9 -9 24t5.5 26.5t10.5 12.5q26 0 31 4t5 13v416q0 6 -5 6h-42q-15 4 -15 31q0 26 10 32h228q87 0 138.5 -41.5t51.5 -113.5q0 -115 -114 -156l109 -168q19 -28 78 -33q81 104 81 235q-1 157 -109 267q-110 111 -260 111 q-151 0 -260 -111q-108 -110 -108 -267zM491 1001q85 0 111 11q50 22 50 90q0 90 -161 90v-191z" /> -<glyph unicode="&#xaf;" horiz-adv-x="1065" d="M192 1304q0 67 16 67h637q11 0 13 -17.5t2 -66.5q0 -50 -15 -50h-637q-16 0 -16 67z" /> -<glyph unicode="&#xb0;" horiz-adv-x="855" d="M67 1140q0 154 103 259t256 105q160 0 262 -105q100 -104 100 -259q0 -157 -100 -256t-260 -99q-79 0 -144.5 26t-113.5 73q-103 101 -103 256zM227 1140q1 -138 121 -186q36 -14 80 -14q1 -1 2 -1q42 0 78 15q37 14 64 40q56 54 56 146q0 89 -56 147q-58 60 -146 60 q-84 0 -142 -60q-57 -59 -57 -147z" /> -<glyph unicode="&#xb1;" horiz-adv-x="1093" d="M81 718q0 72 17 72h376v308q0 16 72 16t72 -16v-308h377q16 0 16 -72t-16 -72h-377v-338q0 -16 -72 -16t-72 16v338h-376q-17 0 -17 72zM85 76q0 46 15 62t26 16h842q26 0 36 -50q2 -13 3 -24v-4q0 -10 -2 -22q-3 -14 -7 -26q-10 -28 -30 -28h-842q-28 0 -38 52 q-2 13 -3 24z" /> -<glyph unicode="&#xb2;" horiz-adv-x="808" d="M93 1310q0 48 22 88t62 68q82 58 219 59h4q211 0 274 -121q22 -39 22 -100v-2q-1 -63 -26.5 -111.5t-65 -85t-89 -67t-97.5 -64.5q-114 -80 -151 -181h328l28 78q17 13 46 13q28 0 44 -29l-31 -208h-569v43q1 194 199 354q126 101 162 151.5t36 94.5t-12 70 q-12 27 -32 44q-39 32 -90 32t-77 -9t-49 -32q32 -13 44 -61q4 -14 4 -26q0 -47 -29 -76t-72 -29q-44 0 -74 29.5t-30 77.5z" /> -<glyph unicode="&#xb3;" horiz-adv-x="800" d="M89 843q0 50 31.5 78.5t64.5 28.5t51 -7.5t32 -21.5q30 -30 30 -76q0 -47 -46 -81q41 -41 130 -41h2q59 0 96 49q37 48 37 125v6q0 67 -21 97q-40 58 -126 67v54q67 34 90 60q44 51 44 125q0 54 -41 92q-40 37 -85 37h-2q-89 0 -129 -40q31 -15 45 -58q4 -12 4 -21 q0 -54 -29 -84t-74 -30t-74.5 30.5t-29.5 82.5q0 51 28.5 90t73.5 65q93 54 215 55q204 0 266 -127q18 -38 19 -80v-3q0 -41 -15 -73q-16 -32 -40 -58q-47 -50 -119 -76q99 -41 131 -69q71 -62 71 -159q0 -182 -188 -230q-58 -16 -120 -16q-2 0 -4 1q-64 0 -119 14 q-54 15 -98 41q-100 60 -101 153z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1065" d="M440 1296l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1239" d="M164 -380v1381h195v-366q0 -365 95 -441q34 -28 87 -28t99.5 35t79.5 107q69 151 69 446v247h145q49 0 49 -40v-646q0 -105 17 -133.5t32.5 -34.5t34.5 -6h84q29 -9 29 -47q0 -82 -43 -94q-7 -1 -27 -3l-44 -5q-66 -6 -104 -6q-39 0 -67.5 12t-49.5 38q-46 58 -46 167 q-32 -100 -72 -140q-80 -83 -202 -83q-185 0 -244 159q14 -182 88 -504q-8 -32 -41 -53t-78 -21q-86 0 -86 59z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1579" d="M59 1044q0 232 169.5 346.5t489.5 114.5h766q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-898q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v445h-152q-231 1 -367 111q-137 111 -137 304zM292 1089 q0 -88 34 -147t92 -95q110 -68 297 -68v572q-217 0 -288.5 -34.5t-103 -87t-31.5 -140.5zM926 141h19q116 0 132 23q6 8 6 20v1164q0 16 -13 16h-144v-1223z" /> -<glyph unicode="&#xb7;" horiz-adv-x="522" d="M124 564q0 30 10 55q12 25 30 43q39 38 97 38q93 0 127 -81q10 -25 10 -55t-10 -55q-12 -25 -30 -43q-40 -38 -97 -38q-93 0 -127 81q-10 25 -10 55z" /> -<glyph unicode="&#xb8;" horiz-adv-x="1188" d="M409 -382q0 54 29 54q142 0 194 50q17 15 17 36v2q0 61 -136 61l-39 48l52 146h159l-36 -105q115 -20 155 -92q13 -22 13 -50v-4q0 -204 -368 -204q-20 0 -30 20q-10 18 -10 38z" /> -<glyph unicode="&#xb9;" horiz-adv-x="720" d="M76 1338q0 1 1 1q0 16 9 22l338 164h15q37 0 37 -12v-763h141q15 0 15 -51q0 -52 -21 -52h-481q-12 0 -12 35q0 68 24 68h86q63 0 63 25v508q0 35 -9 35q-10 0 -31 -9l-93 -39q-22 -9 -30 -9q-9 0 -17.5 9.5t-16.5 22.5q-18 29 -18 45z" /> -<glyph unicode="&#xba;" horiz-adv-x="913" d="M112 1187q0 162 112 255q100 83 253 83h3q145 0 230 -99q82 -95 82 -244q0 -166 -102 -258q-96 -87 -256 -87h-4q-78 0 -136 27q-60 26 -100 73q-82 96 -82 250zM125 662q0 10 2 21q1 11 5 21q8 23 24 23h610q19 0 27 -41q2 -10 2 -20q0 -39 -11.5 -52.5t-18.5 -13.5 h-609q-21 0 -29 42q-2 10 -2 20zM261 1186q0 -124 53 -185.5t140 -61.5q92 0 142 72q46 66 46 151q0 84 -14.5 129t-40.5 75q-50 57 -135 57h-3q-123 0 -170 -119q-18 -46 -18 -118z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1184" d="M93 185l306 305l-306 351v3q0 31 19 52q35 39 69 39l422 -340q40 -32 40 -72q0 -68 -41 -100l-420 -333q-31 0 -52 22q-37 39 -37 73zM592 185l306 305l-306 351q0 33 20 55q35 39 68 39l422 -340q41 -35 41 -74q0 -66 -42 -98l-420 -333q-32 0 -53 22q-36 39 -36 73z " /> -<glyph unicode="&#xbc;" horiz-adv-x="1770" d="M68 1338q0 1 1 1q0 16 9 22l338 164h15q37 0 37 -12v-763h141q15 0 15 -51q0 -52 -21 -52h-481q-12 0 -12 35q0 68 24 68h86q63 0 63 25v508q0 35 -9 35q-10 0 -31 -9l-93 -39q-22 -9 -30 -9q-9 0 -17.5 9.5t-16.5 22.5q-18 29 -18 45zM334 0l992 1505q20 32 96 32 q62 0 62 -32l-984 -1505q-22 -30 -103 -30q-63 0 -63 30zM986 280l318 600q69 0 119 -38q44 -34 44 -66l-330 -435h245v189q0 45 124 56q32 3 61 3v-248h130q17 0 17 -48q0 -35 -12 -50t-19 -15h-116v-125h105q17 0 17 -51q0 -52 -25 -52h-455q-16 0 -16 42q0 30 12 45.5 t18 15.5h83q76 0 76 25v100h-364q-26 12 -32 52z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1767" d="M60 1338q0 1 1 1q0 16 9 22l338 164h15q37 0 37 -12v-763h141q15 0 15 -51q0 -52 -21 -52h-481q-12 0 -12 35q0 68 24 68h86q63 0 63 25v508q0 35 -9 35q-10 0 -31 -9l-93 -39q-22 -9 -30 -9q-9 0 -17.5 9.5t-16.5 22.5q-18 29 -18 45zM326 0l992 1505q20 32 96 32 q62 0 62 -32l-984 -1505q-22 -30 -103 -30q-63 0 -63 30zM1076 663q0 48 22 88q22 41 62 69q82 58 219 58q213 0 277 -122q22 -40 22 -102t-25.5 -110.5t-65 -85t-89.5 -66.5q-48 -30 -96 -64q-114 -80 -152 -182h328l28 78q17 13 46 13q28 0 44 -29l-31 -208h-569v43 q0 193 198 353q126 101 162.5 152t36.5 95t-11.5 70.5t-31.5 43.5q-39 32 -90 32q-52 0 -78 -9t-49 -32q33 -12 45 -60q3 -11 3 -22v-5q0 -47 -29 -76t-72 -29q-44 0 -74 29.5t-30 77.5z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1831" d="M83 843q0 50 31.5 78.5t64.5 28.5t51 -7.5t32 -21.5q30 -30 30 -76q0 -47 -46 -81q41 -41 130 -41h2q59 0 96 49q37 48 37 125v6q0 67 -21 97q-40 58 -126 67v54q67 34 90 60q44 51 44 125q0 54 -41 92q-40 37 -85 37h-2q-89 0 -129 -40q31 -15 45 -58q4 -12 4 -21 q0 -54 -29 -84t-74 -30t-74.5 30.5t-29.5 82.5q0 51 28.5 90t73.5 65q93 54 215 55q204 0 266 -127q18 -38 19 -80v-3q0 -41 -15 -73q-16 -32 -40 -58q-47 -50 -119 -76q99 -41 131 -69q71 -62 71 -159q0 -182 -188 -230q-58 -16 -120 -16q-2 0 -4 1q-64 0 -119 14 q-54 15 -98 41q-100 60 -101 153zM346 0l992 1505q20 32 96 32q62 0 62 -32l-984 -1505q-22 -30 -103 -30q-63 0 -63 30zM1048 280l318 600q69 0 119 -38q44 -34 44 -66l-330 -435h245v189q0 45 124 56q32 3 61 3v-248h130q17 0 17 -48q0 -35 -12 -50t-19 -15h-116v-125h105 q17 0 17 -51q0 -52 -25 -52h-455q-16 0 -16 42q0 30 12 45.5t18 15.5h83q76 0 76 25v100h-364q-26 12 -32 52z" /> -<glyph unicode="&#xbf;" horiz-adv-x="949" d="M83 -80q0 148 117 270q52 54 116 104l129 101v155q0 45 63 59q18 4 38 4q94 0 94 -63v-178q-55 -49 -115 -91q-60 -41 -110 -89q-115 -109 -115 -252q0 -102 63 -164q62 -60 166 -60h35q45 0 89 11q-23 41 -23 79t11 64t30 44q41 39 85 39t70 -11q26 -10 44 -28 q40 -40 40 -93q0 -54 -22 -90.5t-58 -64t-80 -47.5q-45 -21 -91 -33q-90 -24 -175 -24q-86 0 -164 29t-130 78q-106 99 -107 251zM405 865q0 44 11 69.5t30 43.5q41 40 85 40t69.5 -10.5t44 -29t29.5 -44t11 -55.5t-11 -55q-12 -26 -30 -45q-39 -40 -83 -40 q-45 0 -70.5 10.5t-44.5 29.5q-41 41 -41 86z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1424" d="M-12 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM321 1833q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42zM485 653h389l-193 504z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1424" d="M-12 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM485 653h389l-193 504zM683 1706l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1424" d="M-12 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM381 1709l256 177q43 28 71 28q36 0 78 -28l256 -177q0 -63 -51 -91q-15 -8 -33 -9l-245 117l-248 -117q-34 1 -53 23q-31 38 -31 77zM485 653h389l-193 504z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1424" d="M-12 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM288 1719q66 117 180 174q48 24 99 24t87.5 -22.5t71.5 -50t70.5 -50t69.5 -22.5q33 0 58 15.5t46 36.5t38 43t31 34q38 0 60 -21q38 -36 38 -71q-53 -121 -167 -180q-48 -25 -97 -25t-78.5 10t-55.5 24.5t-49.5 32t-45.5 31.5 q-54 34 -90 35h-3q-34 0 -59 -14q-27 -14 -48 -32t-36.5 -36.5t-25.5 -27.5q-40 1 -60 21q-34 34 -34 71zM485 653h389l-193 504z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1424" d="M-12 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM355 1757v2q0 93 79 127q24 10 55 10q30 0 55 -10q26 -12 44 -30q40 -40 40 -99t-40 -99q-38 -38 -84 -38q-76 0 -112.5 39t-36.5 98zM485 653h389l-193 504zM808 1757q0 95 80 129q25 10 55 10q59 0 99 -40q38 -38 38 -99q0 -94 -82 -127 q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1420" d="M-14 57q0 52 24 76q8 8 36 8q74 0 97 57l509 1307q8 20 39 20q67 0 75 -20l533 -1364h117q26 0 26 -60q0 -50 -14.5 -65.5t-24.5 -15.5h-485q-25 0 -25 55q0 52 15 69t26 17q124 0 124 24q0 9 -8 25l-119 309h-507l-139 -358h172q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-436q-25 0 -25 57zM483 653h389l-193 504zM488 1608q0 44 16 82q16 39 44 68q62 63 157 63t157 -63q60 -61 60 -150q0 -88 -60 -148q-62 -62 -157 -63q-95 1 -157 63q-60 58 -60 148zM627 1612q0 -35 23.5 -59.5t58.5 -24.5t58.5 24.5t23.5 59.5t-23.5 59.5 t-58.5 24.5t-58.5 -24.5t-23.5 -59.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1875" d="M-37 57q0 51 16 68t25 18q48 4 76 14.5t40 40.5l495 1271q14 36 56 36h1113v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-439l22 -566h278q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-337l18 -477h284 q143 0 191 17t77.5 47t43.5 85q4 20 43 20h6q13 0 31 -3q62 -9 63 -38v-8q-14 -102 -45.5 -177.5t-46.5 -96.5h-1020q-27 0 -27 59q0 51 24 75q8 8 32 8h3q5 -1 11 -1q22 0 45 2q29 2 45 7q29 9 29 34l-17 447h-391l-194 -490h112q26 0 26 -58q0 -52 -13.5 -67.5 t-22.5 -15.5h-387q-25 0 -25 57zM526 785h326l-23 565v1q0 13 -17 13q-57 0 -77 -51z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1277" d="M103 730v4q0 386 194 596q180 195 478 195h3q157 0 288 -76q145 -84 145 -208q-1 -64 -45 -110q-43 -44 -108 -44t-109 44q-45 45 -45 106q0 60 22 98q-59 36 -155 36t-175.5 -39t-137.5 -111q-122 -153 -122 -398q0 -507 249 -637q79 -42 161 -42q1 0 2 1q82 0 130.5 13 t87.5 31.5t69 38.5q58 40 73 40q14 0 28 -11t26 -27q27 -35 27 -61q0 -27 -18.5 -43.5t-56.5 -41.5q-40 -26 -96 -49q-135 -55 -276 -55q-142 0 -255 44.5t-199 137.5q-185 201 -185 568zM545 -382q0 54 29 54q142 0 194 50q17 15 17 36v2q0 61 -136 61l-39 48l52 146h159 l-36 -105q115 -20 155 -92q13 -22 13 -50v-4q0 -204 -368 -204q-20 0 -30 20q-10 18 -10 38z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1288" d="M73 1442q0 63 26 63h1100v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-540h530l76 149q10 19 38 19q27 0 42 -3t27 -8q27 -11 27 -30 q0 -5 -1 -7l-92 -274h-1020q-27 0 -27 59q1 51 25 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26zM411 1833q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1288" d="M73 1442q0 63 26 63h1100v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-540h530l76 149q10 19 38 19q27 0 42 -3t27 -8q27 -11 27 -30 q0 -5 -1 -7l-92 -274h-1020q-27 0 -27 59q1 51 25 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26zM584 1706l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xca;" horiz-adv-x="1288" d="M73 1442q0 63 26 63h1100v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-540h530l76 149q10 19 38 19q27 0 42 -3t27 -8q27 -11 27 -30 q0 -5 -1 -7l-92 -274h-1020q-27 0 -27 59q1 51 25 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26zM366 1709l256 177q42 28 70 28q36 0 79 -28l256 -177q0 -63 -51 -91q-15 -8 -33 -9l-245 117l-248 -117 q-34 1 -53 23q-31 38 -31 77z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1288" d="M73 1442q0 63 26 63h1100v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-540h530l76 149q10 19 38 19q27 0 42 -3t27 -8q27 -11 27 -30 q0 -5 -1 -7l-92 -274h-1020q-27 0 -27 59q1 51 25 75q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26zM324 1757q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38 q-76 0 -113 39t-37 98zM777 1757q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xcc;" horiz-adv-x="791" d="M57 1833q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42zM74 1446q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7 q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28z" /> -<glyph unicode="&#xcd;" horiz-adv-x="791" d="M74 1446q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28zM313 1706l273 285h3 q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xce;" horiz-adv-x="791" d="M61 1709l256 177q43 28 71 28q36 0 78 -28l256 -177q0 -63 -51 -91q-15 -8 -33 -9l-245 117l-248 -117q-34 1 -53 23q-31 38 -31 77zM74 1446q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57q0 49 28 77 q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28z" /> -<glyph unicode="&#xcf;" horiz-adv-x="791" d="M35 1757v2q0 93 79 127q24 10 55 10q30 0 55 -10q26 -12 44 -30q40 -40 40 -99t-40 -99q-38 -38 -84 -38q-76 0 -112.5 39t-36.5 98zM74 1446q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-532q-23 0 -23 57q0 49 28 77 q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28zM488 1757q0 95 80 129q25 10 55 10q59 0 99 -40q38 -38 38 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1527" d="M83 1442q0 63 26 63h582q395 0 569 -190q162 -177 163 -557v-3q0 -380 -229 -579q-202 -175 -503 -176h-553q-27 0 -27 57q0 46 26 76q7 8 34 8q26 0 55 3q30 2 46 7q28 9 28 33v1166q0 14 -12 14h-164q-28 0 -38 52q-2 14 -3 26zM130 694v154h635v-154h-635zM511 154 h147q214 0 364 139q168 157 168 430q0 468 -292 589q-94 39 -215 39h-172v-1197z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1667" d="M74 1446q0 59 26 59h348l793 -1160v1003q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28q0 59 26 59h534q25 0 25 -70q0 -71 -35 -71h-179v-1366q0 -18 -74 -18q-71 0 -82 18l-794 1129v-986h168q27 0 27 -61q0 -50 -15 -65t-27 -15h-473q-25 0 -25 57q0 49 28 77q8 8 31 8 h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28zM421 1719q65 117 179 174q48 24 100 24q51 0 87.5 -22.5t71.5 -50t70.5 -50t69.5 -22.5q33 0 58 15.5t46 36.5t38 43t31 34q38 0 60 -21q38 -36 38 -71q-54 -121 -168 -180 q-48 -25 -96 -25q-49 0 -78.5 10t-55.5 24.5t-50 31.5q-24 18 -46 32q-54 34 -89 35h-3q-34 0 -59 -14q-27 -14 -48 -32t-36.5 -36.5t-25.5 -27.5q-39 1 -59 21q-34 34 -35 71z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1501" d="M102 731q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -366 -200 -562q-176 -174 -464 -174q-132 0 -246 44q-114 45 -200 137q-186 200 -186 570zM332 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455 q0 265 -122 447q-124 184 -305 184q-175 0 -289 -145q-120 -151 -120 -392zM379 1833q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1501" d="M102 731q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -366 -200 -562q-176 -174 -464 -174q-132 0 -246 44q-114 45 -200 137q-186 200 -186 570zM332 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455 q0 265 -122 447q-124 184 -305 184q-175 0 -289 -145q-120 -151 -120 -392zM676 1706l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1501" d="M102 731q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -366 -200 -562q-176 -174 -464 -174q-132 0 -246 44q-114 45 -200 137q-186 200 -186 570zM332 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455 q0 265 -122 447q-124 184 -305 184q-175 0 -289 -145q-120 -151 -120 -392zM425 1709l256 177q43 28 71 28q36 0 78 -28l256 -177q0 -63 -51 -91q-15 -8 -33 -9l-245 117l-248 -117q-34 1 -53 23q-31 38 -31 77z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1501" d="M102 731q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -366 -200 -562q-176 -174 -464 -174q-132 0 -246 44q-114 45 -200 137q-186 200 -186 570zM327 1719q65 117 179 174q48 24 100 24q51 0 87.5 -22.5t71.5 -50t70.5 -50t69.5 -22.5 q33 0 58 15.5t46 36.5t38 43t31 34q38 0 60 -21q38 -36 38 -71q-54 -121 -168 -180q-48 -25 -96 -25q-49 0 -78.5 10t-55.5 24.5t-50 31.5q-24 18 -46 32q-54 34 -89 35h-3q-34 0 -59 -14q-27 -14 -48 -32t-36.5 -36.5t-25.5 -27.5q-39 1 -59 21q-34 34 -35 71zM332 823 q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455q0 265 -122 447q-124 184 -305 184q-175 0 -289 -145q-120 -151 -120 -392z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1501" d="M102 731q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594q0 -366 -200 -562q-176 -174 -464 -174q-132 0 -246 44q-114 45 -200 137q-186 200 -186 570zM332 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455 q0 265 -122 447q-124 184 -305 184q-175 0 -289 -145q-120 -151 -120 -392zM386 1757q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38q-76 0 -113 39t-37 98zM839 1757q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99 q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xd7;" horiz-adv-x="1143" d="M85 285l375 368l-367 351q0 83 68 104q19 6 38 6l369 -352l375 366q106 -6 106 -106l-370 -365l379 -362q0 -51 -27 -81t-80 -30l-383 365l-377 -371q-38 0 -62 23q-44 41 -44 84z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1522" d="M63 -39l1225 1545q54 26 79 26t37.5 -1t23.5 -3q26 -6 26 -22l-1206 -1545q-72 -27 -97 -27h-39q-13 2 -24 4q-25 6 -25 23zM113 727v4q0 386 192 597q179 197 480 197q303 -1 465 -215q159 -210 159 -594v-4q0 -363 -199 -558q-178 -174 -466 -174q-132 0 -246 44.5 t-200 136.5q-185 199 -185 566zM343 823q0 -505 249 -636q80 -42 172 -42q91 0 164 30q73 31 129 99q122 149 122 455q-1 265 -123 447q-124 184 -304 184q-176 0 -290 -145q-119 -150 -119 -388v-4z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1545" d="M41 1444q0 61 26 61h572q25 0 25 -70q0 -71 -35 -71h-160v-786q0 -341 194 -411q61 -22 141 -22t142 25.5t102 78.5q78 103 78 326v773q0 16 -13 16h-144q-29 0 -39 54q-2 14 -2 28q0 59 26 59h516q26 0 26 -64q0 -48 -13.5 -62.5t-22.5 -14.5h-169v-809 q0 -575 -519 -575q-280 0 -402 152q-112 139 -112 437v779q0 16 -13 16h-163q-28 0 -38 54q-2 14 -3 26zM447 1833q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42z" /> -<glyph unicode="&#xda;" horiz-adv-x="1545" d="M41 1444q0 61 26 61h572q25 0 25 -70q0 -71 -35 -71h-160v-786q0 -341 194 -411q61 -22 141 -22t142 25.5t102 78.5q78 103 78 326v773q0 16 -13 16h-144q-29 0 -39 54q-2 14 -2 28q0 59 26 59h516q26 0 26 -64q0 -48 -13.5 -62.5t-22.5 -14.5h-169v-809 q0 -575 -519 -575q-280 0 -402 152q-112 139 -112 437v779q0 16 -13 16h-163q-28 0 -38 54q-2 14 -3 26zM758 1706l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1545" d="M41 1444q0 61 26 61h572q25 0 25 -70q0 -71 -35 -71h-160v-786q0 -341 194 -411q61 -22 141 -22t142 25.5t102 78.5q78 103 78 326v773q0 16 -13 16h-144q-29 0 -39 54q-2 14 -2 28q0 59 26 59h516q26 0 26 -64q0 -48 -13.5 -62.5t-22.5 -14.5h-169v-809 q0 -575 -519 -575q-280 0 -402 152q-112 139 -112 437v779q0 16 -13 16h-163q-28 0 -38 54q-2 14 -3 26zM472 1709l256 177q42 28 70 28q36 0 79 -28l256 -177q0 -63 -51 -91q-15 -8 -33 -9l-245 117l-248 -117q-34 1 -53 23q-31 38 -31 77z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1545" d="M41 1444q0 61 26 61h572q25 0 25 -70q0 -71 -35 -71h-160v-786q0 -341 194 -411q61 -22 141 -22t142 25.5t102 78.5q78 103 78 326v773q0 16 -13 16h-144q-29 0 -39 54q-2 14 -2 28q0 59 26 59h516q26 0 26 -64q0 -48 -13.5 -62.5t-22.5 -14.5h-169v-809 q0 -575 -519 -575q-280 0 -402 152q-112 139 -112 437v779q0 16 -13 16h-163q-28 0 -38 54q-2 14 -3 26zM445 1757v2q0 93 79 127q24 10 55 10q30 0 55 -10q26 -12 44 -30q40 -40 40 -99t-40 -99q-38 -38 -84 -38q-76 0 -112.5 39t-36.5 98zM898 1757q0 95 80 129 q25 10 55 10q59 0 99 -40q38 -38 38 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1284" d="M-31 1424q0 49 14 65t25 16h493q25 0 25 -57q0 -52 -15 -68t-26 -16q-106 0 -106 -35q0 -10 6 -22l285 -572l316 629h-156q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h436q25 0 25 -57q0 -52 -24 -76q-9 -8 -37 -8q-66 0 -88 -43l-397 -762v-418h245q26 0 26 -61 q0 -48 -15 -64t-26 -16h-717q-25 0 -25 57v3q0 47 27 74q7 7 14 7h151q91 0 105 25q4 8 4 18v375l-437 805h-112q-26 0 -26 60zM622 1706l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xde;" horiz-adv-x="1219" d="M74 1446q0 59 26 59h592q25 0 25 -70q0 -71 -35 -71h-180v-182h153q361 0 467 -218q35 -70 35 -164v-5q0 -461 -655 -461v-193h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-530q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164 q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28zM502 488q206 0 302 48q120 62 120 216q0 84 -34 138t-92 84q-101 54 -296 54v-540z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1191" d="M102 44l45 181v857q0 211 111 347q125 154 356 154q274 0 372 -181q36 -66 36 -145t-20.5 -127t-51 -87.5t-66.5 -73t-66 -65.5q-72 -75 -72 -127q0 -53 17 -82t45 -51q28 -20 64 -38l74 -37q96 -48 130 -90q69 -82 69 -200q-1 -136 -93 -217q-94 -82 -247 -82 q-111 0 -219 44q-78 32 -114 92q-18 30 -18 65q0 34 10 59q12 26 30 44q39 38 98 38q58 0 98 -39q39 -37 39 -96v-3q0 -27 -4 -41q32 -9 81 -9q48 0 71 10.5t39 27.5q34 35 34 83t-17 80t-45 55t-64 40l-74 34q-94 43 -129 81q-70 75 -70 187q0 142 130 270 q77 76 103.5 132.5t26.5 113.5t-19 93q-20 35 -48 55q-48 32 -123 33h-2q-74 0 -125 -35q-53 -35 -87 -88q-65 -101 -65 -229v-991l-91 -100q-11 -6 -27 -6q-56 0 -104 40q-14 12 -18 24z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1045" d="M69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252 v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM210 1423q0 109 90 147q25 11 54 11h5l273 -285q0 -43 -20 -66q-36 -42 -78 -42zM271 291q0 -118 98 -148 q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1045" d="M69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252 v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM271 291q0 -118 98 -148q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111zM423 1296 l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1045" d="M69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252 v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM160 1300l256 177q42 28 70 28q36 0 79 -28l256 -177q0 -64 -51 -92q-15 -8 -33 -8l-245 117l-248 -117 q-34 0 -53 22q-31 38 -31 78zM271 291q0 -118 98 -148q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1045" d="M57 1309q65 117 179 174q48 24 100 24q51 0 87.5 -22.5t71.5 -50t70.5 -50t69.5 -22.5q33 0 58 15.5t46 36.5t38 43t31 34q38 0 60 -21q38 -36 38 -71q-54 -121 -168 -180q-48 -25 -96 -25q-49 0 -78.5 10t-55.5 24.5t-50 31.5q-24 18 -46 32q-54 34 -89 35h-3 q-34 0 -59 -14q-27 -14 -48 -32t-36.5 -36.5t-25.5 -27.5q-39 1 -59 21q-34 34 -35 71zM69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62 q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM271 291 q0 -118 98 -148q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1045" d="M69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252 v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM114 1327q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38 q-76 0 -113 39t-37 98zM271 291q0 -118 98 -148q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111zM567 1327q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1045" d="M69 261v3q0 153 113 239q99 76 247 76h247q0 167 -27.5 215.5t-66 67t-102.5 18.5h-102q12 -26 12 -59t-10 -58q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 21 68t55.5 55t78 37t88.5 22q79 14 173 14q93 0 161.5 -30t108.5 -81q69 -89 69 -252 v-517h168q27 0 27 -59q0 -26 -10 -51.5t-31 -30.5q-56 -16 -160 -16q-105 0 -117 3.5t-22 12.5q-19 17 -38 69q-122 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM257 1331v3q0 44 15.5 82t43.5 67q62 63 158 63t158 -63q59 -60 59 -147v-6q0 -87 -59 -146 q-62 -62 -158 -62t-158 62q-59 59 -59 147zM271 291q0 -118 98 -148q29 -9 61 -9q126 0 246 100v195h-218q-80 0 -118 -27q-69 -48 -69 -111zM396 1337q0 -35 23.5 -59.5t58.5 -24.5t58.5 24.5t23.5 59.5t-23.5 59.5t-58.5 24.5t-58.5 -24.5t-23.5 -59.5z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1590" d="M71 261v3q0 155 113 246q103 83 247 83h202q9 81 9 98q0 187 -160 187h-18q-12 0 -27.5 -1t-30.5 -2t-26 -4q12 -26 12 -54q0 -29 -10 -54q-12 -25 -30 -43q-38 -38 -97 -39q-93 0 -127 82q-10 25 -10 62q0 36 19 68t50 55t71 37q38 14 80 22q73 14 139 14t109 -11 q44 -10 78 -30q68 -38 102 -100q110 100 258 131q48 10 119 10t144 -31.5t123 -91.5q101 -121 101 -340q0 -46 -43 -80t-110 -34h-521q11 -155 81.5 -232.5t180.5 -77.5q104 0 234 78l70 41q5 2 9 4t14 2q9 0 22.5 -11.5t24.5 -28.5q25 -39 25 -64q0 -26 -10 -33 q-183 -142 -399 -142q-217 0 -333 132l-66 -43q-136 -89 -294 -89q-154 0 -242 82q-83 76 -83 199zM273 303q0 -53 13 -83q12 -28 34 -48q42 -37 98 -37q3 -1 6 -1q51 0 84 9q35 8 65 22q52 24 107 70q-34 82 -46 208h-168q-83 0 -138 -43.5t-55 -96.5zM835 594h472 q-1 210 -117 258q-36 14 -79 15h-3q-42 0 -89 -17q-47 -18 -87 -52q-89 -78 -97 -204z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1004" d="M82 510q0 240 145 380q136 130 347 131q226 -1 313 -99q33 -38 33 -81t-10 -68q-12 -25 -30 -43q-40 -39 -97 -39t-97 39q-40 38 -40 76t9 74h-93q-104 0 -179 -79q-96 -101 -96 -291q0 -278 155 -352q49 -24 100 -24t92 11t80 29q40 17 76 39l71 43q4 3 14 3 q9 0 23 -11.5t26 -27.5q26 -38 26 -63t-11 -34q-191 -143 -416 -143q-209 0 -327 145q-114 140 -114 385zM330 -382q0 54 29 54q141 0 193 50q18 16 18 38q0 61 -136 61l-39 48l52 146h159l-36 -105q114 -20 154 -92q14 -24 14 -54q0 -204 -368 -204q-20 0 -30 20 q-10 18 -10 38z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1042" d="M81 514q0 124 41 220q40 94 108 158q138 128 341 129h3q186 0 287 -117q101 -116 101 -335q0 -47 -43 -81q-42 -33 -106 -33h-527q18 -234 163 -300q46 -21 97 -21t91 11.5t77 29t72 39.5q73 46 86 46q12 -1 26 -12q12 -12 24 -28q26 -38 27 -64v-2q0 -24 -11 -32 q-183 -142 -416 -142q-209 0 -326 146q-115 142 -115 388zM239 1423q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42zM286 605h471v4q0 198 -115 244q-36 14 -80 14t-92 -16q-48 -17 -88 -49q-89 -73 -96 -197z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1042" d="M81 514q0 124 41 220q40 94 108 158q138 128 341 129h3q186 0 287 -117q101 -116 101 -335q0 -47 -43 -81q-42 -33 -106 -33h-527q18 -234 163 -300q46 -21 97 -21t91 11.5t77 29t72 39.5q73 46 86 46q12 -1 26 -12q12 -12 24 -28q26 -38 27 -64v-2q0 -24 -11 -32 q-183 -142 -416 -142q-209 0 -326 146q-115 142 -115 388zM286 605h471v4q0 198 -115 244q-36 14 -80 14t-92 -16q-48 -17 -88 -49q-89 -73 -96 -197zM474 1296l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xea;" horiz-adv-x="1042" d="M81 514q0 124 41 220q40 94 108 158q138 128 341 129h3q186 0 287 -117q101 -116 101 -335q0 -47 -43 -81q-42 -33 -106 -33h-527q18 -234 163 -300q46 -21 97 -21t91 11.5t77 29t72 39.5q73 46 86 46q12 -1 26 -12q12 -12 24 -28q26 -38 27 -64v-2q0 -24 -11 -32 q-183 -142 -416 -142q-209 0 -326 146q-115 142 -115 388zM214 1300l256 177q42 28 70 28q36 0 79 -28l256 -177q0 -64 -51 -92q-15 -8 -33 -8l-245 117l-248 -117q-34 0 -53 22q-31 38 -31 78zM286 605h471v4q0 198 -115 244q-36 14 -80 14t-92 -16q-48 -17 -88 -49 q-89 -73 -96 -197z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1042" d="M81 514q0 124 41 220q40 94 108 158q138 128 341 129h3q186 0 287 -117q101 -116 101 -335q0 -47 -43 -81q-42 -33 -106 -33h-527q18 -234 163 -300q46 -21 97 -21t91 11.5t77 29t72 39.5q73 46 86 46q12 -1 26 -12q12 -12 24 -28q26 -38 27 -64v-2q0 -24 -11 -32 q-183 -142 -416 -142q-209 0 -326 146q-115 142 -115 388zM206 1327q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38q-76 0 -113 39t-37 98zM286 605h471v4q0 198 -115 244q-36 14 -80 14t-92 -16q-48 -17 -88 -49 q-89 -73 -96 -197zM659 1327q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xec;" horiz-adv-x="662" d="M22 1423q0 109 90 147q25 11 54 11h5l273 -285q0 -43 -20 -66q-36 -42 -78 -42zM34 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176 q-29 1 -39 51q-2 14 -2 29z" /> -<glyph unicode="&#xed;" horiz-adv-x="662" d="M34 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176q-29 1 -39 51q-2 14 -2 29zM257 1296l273 285h3q62 0 103 -43q43 -44 43 -115 l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xee;" horiz-adv-x="662" d="M-25 1300l256 177q43 28 71 28q36 0 78 -28l256 -177q0 -64 -51 -92q-15 -8 -33 -8l-245 117l-248 -117q-34 0 -53 22q-31 38 -31 78zM34 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61 q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176q-29 1 -39 51q-2 14 -2 29z" /> -<glyph unicode="&#xef;" horiz-adv-x="662" d="M-44 1327q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38q-76 0 -113 39t-37 98zM34 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61 q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176q-29 1 -39 51q-2 14 -2 29zM409 1327q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1113" d="M78 510q0 212 146 356q138 136 313 136q109 0 185 -49q-56 140 -214 279l-201 -163l-86 105l180 143q-96 69 -197 118q-25 12 -25 47q0 34 16 58q29 43 58 43q23 0 125 -57.5t161 -98.5l196 156q2 0 13 -15l69 -85l-170 -138q280 -237 343 -591q21 -118 21 -249t-37 -229 t-103 -164q-132 -132 -358 -132q-203 0 -321 152q-114 146 -114 378zM283 507q0 -273 155 -349q48 -24 112 -24q63 0 111.5 29.5t80.5 80.5q64 102 64 262q0 342 -270 342q-96 0 -168 -82q-84 -97 -85 -256v-3z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1290" d="M34 925q0 46 26.5 56.5t67.5 18.5t86 12q90 10 135 10h4q44 -1 53 -10q10 -10 14 -26q5 -17 5 -71v-19q151 84 275 115q40 10 102 10q61 0 123 -26.5t98 -76.5q64 -88 64 -280v-497h155q27 0 27 -61q0 -48 -15 -64t-26 -16h-455q-26 0 -26 61q0 48 15 64t26 16 q104 0 104 43v297q0 194 -22 254.5t-56.5 86t-93.5 25.5q-111 0 -274 -129v-577h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q115 0 131 23q6 8 6 20v663h-176q-31 1 -39 49q-2 14 -2 29zM229 1309q65 117 179 174q48 24 100 24 q51 0 87.5 -22.5t71.5 -50t70.5 -50t69.5 -22.5q33 0 58 15.5t46 36.5t38 43t31 34q38 0 60 -21q38 -36 38 -71q-54 -121 -168 -180q-48 -25 -96 -25q-49 0 -78.5 10t-55.5 24.5t-50 31.5q-24 18 -46 32q-54 34 -89 35h-3q-34 0 -59 -14q-27 -14 -48 -32t-36.5 -36.5 t-25.5 -27.5q-39 1 -59 21q-34 34 -35 71z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1093" d="M80 512q0 246 152 384q138 125 348 125h3q196 0 315 -149q114 -142 114 -368q0 -252 -140 -392q-132 -132 -355 -132q-107 0 -188 40t-137 112q-112 145 -112 380zM244 1423q0 109 90 147q25 11 54 11h5l273 -285q0 -43 -20 -66q-36 -42 -78 -42zM285 517q0 -102 19 -173 q20 -70 54 -116q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5t-24.5 -170.5z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1093" d="M80 512q0 246 152 384q138 125 348 125h3q196 0 315 -149q114 -142 114 -368q0 -252 -140 -392q-132 -132 -355 -132q-107 0 -188 40t-137 112q-112 145 -112 380zM285 517q0 -102 19 -173q20 -70 54 -116q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340 q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5t-24.5 -170.5zM480 1296l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1093" d="M80 512q0 246 152 384q138 125 348 125h3q196 0 315 -149q114 -142 114 -368q0 -252 -140 -392q-132 -132 -355 -132q-107 0 -188 40t-137 112q-112 145 -112 380zM247 1300l256 177q43 28 71 28q36 0 78 -28l256 -177q0 -64 -51 -92q-15 -8 -33 -8l-245 117l-248 -117 q-34 0 -53 22q-31 38 -31 78zM285 517q0 -102 19 -173q20 -70 54 -116q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5t-24.5 -170.5z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1093" d="M80 512q0 246 152 384q138 125 348 125h3q196 0 315 -149q114 -142 114 -368q0 -252 -140 -392q-132 -132 -355 -132q-107 0 -188 40t-137 112q-112 145 -112 380zM146 1309q74 121 180 174q48 24 99 24t87.5 -22.5t72 -50t71 -50t69.5 -22.5q33 0 57.5 15.5t45.5 36.5 t38.5 43t31.5 34q38 0 60 -21q38 -36 38 -71q-54 -121 -168 -180q-48 -25 -97 -25t-78.5 10t-55.5 24.5t-49.5 32t-45.5 31.5q-54 34 -90 35h-3q-34 0 -59 -14q-27 -14 -48 -32t-36 -36.5t-26 -27.5q-37 1 -59 21q-35 34 -35 71zM285 517q0 -102 19 -173q20 -70 54 -116 q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5t-24.5 -170.5z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1093" d="M80 512q0 246 152 384q138 125 348 125h3q196 0 315 -149q114 -142 114 -368q0 -252 -140 -392q-132 -132 -355 -132q-107 0 -188 40t-137 112q-112 145 -112 380zM181 1327v2q0 93 79 127q24 10 55 10q30 0 55 -10q26 -12 44 -30q40 -40 40 -99t-40 -99q-38 -38 -84 -38 q-76 0 -112.5 39t-36.5 98zM285 517q0 -102 19 -173q20 -70 54 -116q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5t-24.5 -170.5zM634 1327q0 95 80 129q25 10 55 10q59 0 99 -40q38 -38 38 -99 q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1065" d="M71 651q0 10 3 22q2 13 7 25q12 27 30 27h843q26 0 36 -50q2 -13 3 -24q0 -47 -14.5 -63.5t-24.5 -16.5h-842q-28 0 -38 52q-2 13 -2 25q-1 1 -1 3zM395 324q0 59 38 99t83 40q44 0 69 -10.5t43 -29.5q38 -40 39 -99q0 -93 -82 -126q-25 -10 -54 -10q-30 0 -55 10t-43 28 q-38 38 -38 98zM395 957q0 45 10 70t28 43q38 38 83 38q44 0 69 -10t43 -28q38 -37 39 -82v-5q0 -42 -10 -66q-10 -25 -28.5 -43t-43.5 -28t-69 -10q-45 0 -83 37.5t-38 83.5z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1095" d="M40 -39l145 192q-102 146 -102 359q1 247 153 385q138 125 347 125q120 0 215 -58l59 78q17 22 50 23.5t44 1.5q10 0 25 -1q16 0 30 -2q34 -6 34 -22l-133 -178q108 -143 108 -360q0 -247 -152 -392q-138 -132 -347 -132q-126 0 -221 64l-62 -83q-19 -27 -111 -27 q-82 0 -82 27zM288 510q0 -128 16 -199l398 527q-56 33 -127 33t-117 -16q-45 -17 -83 -57q-87 -93 -87 -288zM390 171q58 -37 143 -37t133.5 29.5t80.5 80.5q63 100 63 246t-20 217z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1234" d="M21 923q0 50 20 55q168 43 307 43q44 0 46 -80v-530q0 -195 100 -233q30 -12 75 -12q44 0 84.5 10t72.5 24q30 15 54 32l43 32v583h-137q-41 0 -41 74q0 47 26.5 57.5t64.5 18.5q38 7 79 13q78 10 125 11h3q43 0 53 -11q12 -10 16 -28q6 -25 6 -88v-753h168q27 0 27 -65 q0 -70 -41 -76q-102 -16 -182 -16t-94 8t-24 22q-16 22 -38 82q-159 -116 -287 -116q-252 0 -324 202q-24 67 -24 156v509h-141q-37 0 -37 76zM293 1423q0 109 90 147q25 11 54 11h5l273 -285q-1 -43 -21 -66q-36 -42 -77 -42z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1234" d="M21 923q0 50 20 55q168 43 307 43q44 0 46 -80v-530q0 -195 100 -233q30 -12 75 -12q44 0 84.5 10t72.5 24q30 15 54 32l43 32v583h-137q-41 0 -41 74q0 47 26.5 57.5t64.5 18.5q38 7 79 13q78 10 125 11h3q43 0 53 -11q12 -10 16 -28q6 -25 6 -88v-753h168q27 0 27 -65 q0 -70 -41 -76q-102 -16 -182 -16t-94 8t-24 22q-16 22 -38 82q-159 -116 -287 -116q-252 0 -324 202q-24 67 -24 156v509h-141q-37 0 -37 76zM528 1296l273 285h3q62 0 103 -43q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1234" d="M21 923q0 50 20 55q168 43 307 43q44 0 46 -80v-530q0 -195 100 -233q30 -12 75 -12q44 0 84.5 10t72.5 24q30 15 54 32l43 32v583h-137q-41 0 -41 74q0 47 26.5 57.5t64.5 18.5q38 7 79 13q78 10 125 11h3q43 0 53 -11q12 -10 16 -28q6 -25 6 -88v-753h168q27 0 27 -65 q0 -70 -41 -76q-102 -16 -182 -16t-94 8t-24 22q-16 22 -38 82q-159 -116 -287 -116q-252 0 -324 202q-24 67 -24 156v509h-141q-37 0 -37 76zM267 1300l256 177q43 28 71 28q36 0 78 -28l256 -177q0 -64 -51 -92q-15 -8 -33 -8l-245 117l-248 -117q-34 0 -53 22 q-31 38 -31 78z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1234" d="M21 923q0 50 20 55q168 43 307 43q44 0 46 -80v-530q0 -195 100 -233q30 -12 75 -12q44 0 84.5 10t72.5 24q30 15 54 32l43 32v583h-137q-41 0 -41 74q0 47 26.5 57.5t64.5 18.5q38 7 79 13q78 10 125 11h3q43 0 53 -11q12 -10 16 -28q6 -25 6 -88v-753h168q27 0 27 -65 q0 -70 -41 -76q-102 -16 -182 -16t-94 8t-24 22q-16 22 -38 82q-159 -116 -287 -116q-252 0 -324 202q-24 67 -24 156v509h-141q-37 0 -37 76zM227 1327v2q0 93 79 127q24 10 55 10q30 0 55 -10q26 -12 44 -30q40 -40 40 -99t-40 -99q-38 -38 -84 -38q-76 0 -112.5 39 t-36.5 98zM680 1327q0 95 80 129q25 10 55 10q59 0 99 -40q38 -38 38 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1099" d="M6 920q0 49 14 65t25 16h434q25 0 25 -57q0 -51 -15.5 -67.5t-25.5 -16.5q-88 0 -88 -43l203 -594l237 637h-131q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h375q25 0 25 -57q0 -52 -24 -76q-8 -8 -24 -8q-17 0 -32 -2q-14 -2 -24 -8q-16 -9 -25 -33l-422 -1077 q-32 -83 -104 -131.5t-177 -48.5q-140 0 -196 92q-20 34 -20 73q-1 2 -1 3q0 37 11 62q10 26 28 44q40 40 87 40h2q48 -1 74 -14q25 -14 41 -36q28 -41 29 -110q32 0 55.5 36t41 77t30 77.5t21 64.5t11.5 37l-332 854h-112q-26 0 -26 60zM557 1296l273 285h3q62 0 103 -43 q43 -44 43 -115l-323 -235q-42 0 -63 24q-36 41 -36 84z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1093" d="M-77 1489q0 45 27 56t71 19q45 7 93 11q97 8 176 8q42 0 45 -85q1 -25 1 -52v-508q146 83 250 83t179 -35.5t130 -101.5q116 -140 116 -378q0 -248 -137 -388q-129 -132 -338 -132q-82 0 -170 45q-20 10 -30 14v-342h222q27 0 27 -61q0 -48 -15 -64t-26 -16h-565 q-27 0 -27 61q0 48 15 64t26 16q125 0 142 23q6 8 6 20v1663h-177q-28 1 -38 51q-2 14 -3 29zM336 195q69 -55 188 -55q190 0 256 182q26 72 26 181q0 108 -25 173.5t-63 103.5q-66 67 -160 67q-88 0 -168 -51q-30 -19 -54 -47v-554z" /> -<glyph unicode="&#xff;" horiz-adv-x="1099" d="M6 920q0 49 14 65t25 16h434q25 0 25 -57q0 -51 -15.5 -67.5t-25.5 -16.5q-88 0 -88 -43l203 -594l237 637h-131q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h375q25 0 25 -57q0 -52 -24 -76q-8 -8 -24 -8q-17 0 -32 -2q-14 -2 -24 -8q-16 -9 -25 -33l-422 -1077 q-32 -83 -104 -131.5t-177 -48.5q-140 0 -196 92q-20 34 -20 73q-1 2 -1 3q0 37 11 62q10 26 28 44q40 40 87 40h2q48 -1 74 -14q25 -14 41 -36q28 -41 29 -110q32 0 55.5 36t41 77t30 77.5t21 64.5t11.5 37l-332 854h-112q-26 0 -26 60zM230 1327q0 95 80 129q24 10 54 10 t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38q-76 0 -113 39t-37 98zM683 1327q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55z" /> -<glyph unicode="&#x152;" horiz-adv-x="2042" d="M102 731q0 386 192 597q179 197 480 197q89 0 171 -20h1008v-291q0 -34 -70 -34q-71 0 -71 22q0 84 -22 108q-39 41 -142 41h-393v-503h254q46 0 54 22q13 32 13 129q0 23 60 23q52 0 67 -14t15 -23v-428q0 -41 -72 -41t-72 27v151h-319v-540h530l76 149q10 19 38 19 q27 0 42 -3t27 -8q27 -11 27 -30q0 -5 -1 -7l-92 -274h-992q-88 -20 -198 -20t-224 44q-114 45 -200 137q-186 200 -186 570zM332 823q0 -505 249 -636q80 -42 182 -42q192 0 281 76v1032q-105 107 -303 107q-175 0 -289 -145q-120 -151 -120 -392z" /> -<glyph unicode="&#x153;" horiz-adv-x="1769" d="M80 512q0 246 152 384q138 125 351 125t333 -174q138 174 383 174h3q186 0 287 -117q101 -116 101 -335q0 -47 -43 -81q-42 -33 -106 -33h-527q18 -234 163 -300q46 -21 97 -21t91 11.5t77 29t72 39.5q73 46 86 46q12 -1 26 -12q12 -12 24 -28q26 -38 27 -64v-2 q0 -24 -11 -32q-183 -142 -412 -142t-349 170q-132 -170 -390 -170q-205 0 -323 152q-112 145 -112 380zM285 517q0 -102 19 -173q20 -70 54 -116q69 -94 191 -94q126 0 195 110q63 100 63 262q-1 271 -159 340q-48 21 -97 21q-50 0 -95.5 -15t-83.5 -55t-62.5 -109.5 t-24.5 -170.5zM1014 605h471v4q0 198 -115 244q-36 14 -80 14t-92 -16q-48 -17 -88 -49q-89 -73 -96 -197z" /> -<glyph unicode="&#x178;" horiz-adv-x="1284" d="M280 1784q0 95 80 129q24 10 54 10t56 -10q26 -12 44 -30q39 -39 39 -96v-6q0 -57 -39 -96q-38 -38 -84 -38q-76 0 -113 39t-37 98zM733 1784q0 95 80 129q25 10 55 10q58 0 98 -40q38 -38 39 -99q0 -94 -82 -127q-25 -10 -55 -10q-92 0 -125 82q-10 25 -10 55zM-31 1424 q0 49 14 65t25 16h493q25 0 25 -57q0 -52 -15 -68t-26 -16q-106 0 -106 -35q0 -10 6 -22l285 -572l316 629h-156q-26 0 -26 58q0 52 13.5 67.5t22.5 15.5h436q25 0 25 -57q0 -52 -24 -76q-9 -8 -37 -8q-66 0 -88 -43l-397 -762v-418h245q26 0 26 -61q0 -48 -15 -64t-26 -16 h-717q-25 0 -25 57v3q0 47 27 74q7 7 14 7h151q91 0 105 25q4 8 4 18v375l-437 805h-112q-26 0 -26 60z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="1045" d="M192 1300l256 177q42 28 70 28q36 0 79 -28l256 -177q0 -64 -51 -92q-15 -8 -33 -8l-245 117l-248 -117q-34 0 -53 22q-31 38 -31 78z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="1233" d="M192 1309q66 117 180 174q48 24 99 24t87.5 -22.5t71.5 -50t70.5 -50t69.5 -22.5q33 0 58 15.5t46 36.5t38 43t31 34q38 0 60 -21q38 -36 38 -71q-53 -121 -167 -180q-48 -25 -97 -25t-78.5 10t-55.5 24.5t-49.5 32t-45.5 31.5q-54 34 -90 35h-3q-34 0 -59 -14 q-27 -14 -48 -32t-36.5 -36.5t-25.5 -27.5q-40 1 -60 21q-34 34 -34 71z" /> -<glyph unicode="&#x2000;" horiz-adv-x="995" /> -<glyph unicode="&#x2001;" horiz-adv-x="1991" /> -<glyph unicode="&#x2002;" horiz-adv-x="995" /> -<glyph unicode="&#x2003;" horiz-adv-x="1991" /> -<glyph unicode="&#x2004;" horiz-adv-x="663" /> -<glyph unicode="&#x2005;" horiz-adv-x="497" /> -<glyph unicode="&#x2006;" horiz-adv-x="331" /> -<glyph unicode="&#x2007;" horiz-adv-x="331" /> -<glyph unicode="&#x2008;" horiz-adv-x="248" /> -<glyph unicode="&#x2009;" horiz-adv-x="398" /> -<glyph unicode="&#x200a;" horiz-adv-x="110" /> -<glyph unicode="&#x2010;" horiz-adv-x="750" d="M112 600q0 12 2.5 27t7.5 29q12 33 31 33h447q26 0 36 -59q2 -14 2 -26q0 -52 -14.5 -71.5t-24.5 -19.5h-447q-28 0 -38 61q-2 14 -2 26z" /> -<glyph unicode="&#x2011;" horiz-adv-x="750" d="M112 600q0 12 2.5 27t7.5 29q12 33 31 33h447q26 0 36 -59q2 -14 2 -26q0 -52 -14.5 -71.5t-24.5 -19.5h-447q-28 0 -38 61q-2 14 -2 26z" /> -<glyph unicode="&#x2012;" horiz-adv-x="750" d="M112 600q0 12 2.5 27t7.5 29q12 33 31 33h447q26 0 36 -59q2 -14 2 -26q0 -52 -14.5 -71.5t-24.5 -19.5h-447q-28 0 -38 61q-2 14 -2 26z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1103" d="M113 615q0 10 3 22q2 13 7 25q12 27 30 27h798q27 0 37 -50q2 -13 2 -24q0 -45 -14.5 -62.5t-24.5 -17.5h-797q-28 0 -38 52q-2 13 -2 25q-1 1 -1 3z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1979" d="M113 614q0 10 3 22q2 13 7 25q12 28 31 28h1673q27 0 37 -51q2 -13 2 -24q0 -48 -14.5 -63.5t-24.5 -15.5h-1673q-28 0 -38 51q-2 13 -2 25q-1 1 -1 3z" /> -<glyph unicode="&#x2018;" horiz-adv-x="443" d="M66 1200q0 176 265 383q29 0 44.5 -16t15.5 -43q-106 -119 -106 -195q74 -39 74 -129q-1 -60 -43 -100q-41 -40 -85 -40q-1 0 -1 1q-45 0 -72 11q-28 12 -48 30q-44 40 -44 98z" /> -<glyph unicode="&#x2019;" horiz-adv-x="447" d="M80 1120q106 119 106 195q-74 39 -74 129q0 60 42 100q41 40 86 40h1q45 -1 72 -12q27 -12 47 -30q44 -40 45 -98q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43z" /> -<glyph unicode="&#x201a;" horiz-adv-x="505" d="M74 -211q106 119 106 195q-74 39 -74 129q0 59 42 99t87 40t72 -11t47 -29q44 -40 45 -99q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43z" /> -<glyph unicode="&#x201c;" horiz-adv-x="842" d="M66 1200q0 176 265 383q29 0 44.5 -16t15.5 -43q-106 -119 -106 -195q74 -39 74 -129q-1 -60 -43 -100q-41 -40 -85 -40q-1 0 -1 1q-45 0 -72 11q-28 12 -48 30q-44 40 -44 98zM465 1200q0 176 265 383q29 0 44.5 -16t15.5 -43q-106 -119 -106 -195q74 -39 74 -129 q0 -60 -42 -100q-41 -40 -86 -40l-1 1q-45 0 -72 11q-27 12 -47 30q-44 40 -45 98z" /> -<glyph unicode="&#x201d;" horiz-adv-x="845" d="M80 1120q106 119 106 195q-74 39 -74 129q0 60 42 100q41 40 86 40h1q45 -1 72 -12q27 -12 47 -30q44 -40 45 -98q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43zM479 1120q106 119 106 195q-74 39 -74 129q1 60 43 100q41 40 85 40h2q44 -1 71 -12q28 -12 48 -30 q44 -40 44 -98q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43z" /> -<glyph unicode="&#x201e;" horiz-adv-x="904" d="M74 -211q106 119 106 195q-74 39 -74 129q0 59 42 99t87 40t72 -11t47 -29q44 -40 45 -99q0 -176 -265 -383q-29 0 -44.5 16t-15.5 43zM473 -211q106 119 106 195q-74 39 -74 129q1 59 43 99t87 40q44 0 71 -11q28 -11 48 -29q44 -40 44 -99q0 -176 -265 -383 q-29 0 -44.5 16t-15.5 43z" /> -<glyph unicode="&#x2022;" horiz-adv-x="713" d="M100 770q0 112 73 186q72 74 181 74q110 0 185 -74t75 -186q0 -110 -75.5 -183t-184.5 -73q-54 0 -100.5 19.5t-80.5 53.5q-73 73 -73 183z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1461" d="M1080 115q0 95 84 129q26 10 55 10t54 -10q25 -12 43 -30q39 -40 39 -99q0 -92 -82 -125q-25 -10 -54 -10q-30 0 -55.5 10t-43.5 28q-40 38 -40 97zM593 115q0 95 84 129q26 10 55 10t54 -10q25 -12 43 -30q39 -40 39 -99q0 -92 -82 -125q-25 -10 -54 -10q-30 0 -55.5 10 t-43.5 28q-40 38 -40 97zM106 115q0 95 84 129q26 10 55 10t54 -10q25 -12 43 -30q39 -40 39 -99q0 -92 -82 -125q-25 -10 -54 -10q-30 0 -55.5 10t-43.5 28q-40 38 -40 97z" /> -<glyph unicode="&#x202f;" horiz-adv-x="398" /> -<glyph unicode="&#x2039;" horiz-adv-x="686" d="M43 502q0 69 40 100l421 333q31 0 52 -22q37 -39 37 -73l-306 -305l306 -351q0 -34 -20 -55q-36 -39 -68 -39l-422 339q-40 33 -40 73z" /> -<glyph unicode="&#x203a;" horiz-adv-x="686" d="M93 185l305 305l-305 351q0 34 19 56q34 38 68 38l422 -340q41 -33 41 -72q0 -66 -42 -100l-420 -333q-30 0 -51 22q-37 39 -37 73z" /> -<glyph unicode="&#x205f;" horiz-adv-x="497" /> -<glyph unicode="&#x20ac;" d="M27 642q0 10 3 22q2 12 7 24q12 28 31 28h133v18q0 58 3 112h-88q-28 0 -38 52q-2 13 -3 24q0 46 15 62t26 16h103q80 525 516 525q157 0 283 -76q140 -85 141 -208q-1 -64 -45 -110q-43 -44 -108 -44t-109 44q-45 45 -45 106q0 60 22 98q-59 36 -159 36 q-101 0 -169 -94.5t-96 -276.5h307q27 0 37 -51q2 -13 2 -24t-2 -25q-4 -14 -8 -26q-10 -28 -29 -28h-321q-2 -22 -2 -44v-86h278q26 0 36 -50q2 -13 3 -24v-4q0 -10 -2 -22q-3 -14 -7 -26q-10 -28 -30 -28h-268q35 -300 186 -387q52 -30 104 -30q51 0 86 7t69 19 q62 22 95.5 41t45.5 19q11 0 23.5 -9.5t22.5 -23.5q24 -31 24 -57q0 -27 -18.5 -43.5t-49.5 -37.5q-32 -21 -74 -39q-97 -41 -222 -41t-217 50q-91 49 -155 131q-118 152 -152 401h-144q-28 0 -38 52q-2 13 -2 25q-1 1 -1 3z" /> -<glyph unicode="&#x2122;" horiz-adv-x="3244" d="M1349 1446q0 59 26 59h298q28 0 41 -29l549 -1156l481 1165q9 20 26 20h375q25 0 25 -70q0 -71 -35 -71h-180v-1223h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-530q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v935l-449 -1119 q-12 -12 -40 -12q-54 0 -75 12l-460 1023v-882h167q26 0 26 -61q0 -48 -15 -64t-26 -16h-472q-25 0 -25 57q0 49 28 77q8 8 31 8h4q4 -1 8 -1q23 0 47 3q29 2 45 7q28 9 28 33v1164q0 16 -13 16h-163q-29 0 -39 54q-2 14 -2 28zM18 1228v4l38 273h1161l38 -273v-4 q0 -36 -55 -48q-12 -3 -25 -3h-6q-39 0 -48 26l-44 148h-335v-1210h168q27 0 27 -67q0 -43 -15.5 -58.5t-25.5 -15.5h-531q-24 0 -24 57q0 51 27 77q8 8 32 8h3q4 -1 9 -1q23 0 47 3q29 2 45 7q27 8 27 33v1167h-335l-44 -148q-9 -26 -50 -26q-50 1 -76 31q-8 10 -8 20z" /> -<glyph unicode="&#xe000;" horiz-adv-x="1000" d="M0 1000h1000v-1000h-1000v1000z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1454" d="M826 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176q-29 1 -39 51q-2 14 -2 29zM982 1409q0 95 83 129q25 10 54 10q58 0 97.5 -39.5 t39.5 -99.5q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55zM64 847q0 110 13.5 132t29.5 22h10q116 0 132 23q6 8 6 20v126q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55v32h-1 q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86q-7 -9 -19 -9h-251v-706h226q27 0 27 -61q0 -48 -15 -64t-26 -16h-569q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1413" d="M785 1489q0 46 27 56.5t71 17.5q45 7 93 11q92 8 176 9q42 0 44 -85q0 -25 1 -52v-1305h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q116 0 131 23q6 8 6 20v1225h-176q-28 1 -38 51q-2 14 -3 29zM64 847q0 110 13.5 132t29.5 22h10 q116 0 132 23q6 8 6 20v126q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55v32h-1q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86q-7 -9 -19 -9h-251v-706h226q27 0 27 -61 q0 -48 -15 -64t-26 -16h-569q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="2246" d="M1618 927q0 46 27 56.5t71 17.5t92 11q92 8 177 9h1q42 0 44 -85v-795h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q117 0 132 23q5 7 5 17v666h-176q-29 1 -39 51q-2 14 -2 29zM1774 1409q0 95 83 129q25 10 54 10q58 0 97.5 -39.5 t39.5 -99.5q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55zM856 847q0 110 13.5 132t29.5 22h10q116 0 132 23q6 8 6 20v126q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55v32h-1 q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86q-7 -9 -19 -9h-251v-706h226q27 0 27 -61q0 -48 -15 -64t-26 -16h-569q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191zM64 847q0 110 13.5 132t29.5 22h10q116 0 132 23q6 8 6 20v126 q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55v32h-1q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86q-7 -9 -19 -9h-251v-706h226q27 0 27 -61q0 -48 -15 -64t-26 -16h-569 q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="2205" d="M1577 1489q0 46 27 56.5t71 17.5q45 7 93 11q92 8 176 9q42 0 44 -85q0 -25 1 -52v-1305h168q26 0 26 -61q0 -48 -15 -64t-26 -16h-510q-26 0 -26 61q0 48 15 64t26 16h10q116 0 131 23q6 8 6 20v1225h-176q-28 1 -38 51q-2 14 -3 29zM856 847q0 110 13.5 132t29.5 22h10 q116 0 132 23q6 8 6 20v126q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82q-10 25 -10 55v32h-1q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86q-7 -9 -19 -9h-251v-706h226q27 0 27 -61 q0 -48 -15 -64t-26 -16h-569q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191zM64 847q0 110 13.5 132t29.5 22h10q116 0 132 23q6 8 6 20v126q0 288 179 379q66 34 135 34t107 -7t68 -26q70 -43 70 -133q0 -59 -40 -99q-38 -38 -97 -38q-93 0 -127 82 q-10 25 -10 55v32h-1q-81 0 -87 -169q-2 -48 -2 -96v-183h269q25 0 25 -59q0 -58 -24 -86q-7 -9 -19 -9h-251v-706h226q27 0 27 -61q0 -48 -15 -64t-26 -16h-569q-27 0 -27 61q0 48 15 64t26 16h10q116 0 132 23q6 8 6 20v663h-191z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.ttf deleted file mode 100755 index 434b208..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.woff deleted file mode 100755 index a9a0450..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/copse-regular-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.eot deleted file mode 100755 index c041ed9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.svg deleted file mode 100755 index fb162e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.svg +++ /dev/null @@ -1,247 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2011 Pablo Impallari wwwimpallaricomimpallarigmailcomCopyright c 2011 Igino Marini wwwikerncommailiginomarinicomCopyright c 2011 Brenda Gallo gbrenda1987gmailcomwith Reserved Font Name Quattrocento Sans -Designer : Pablo Impallari -Foundry : Pablo Impallari Igino Marini Brenda Gallo -Foundry URL : wwwimpallaricom -</metadata> -<defs> -<font id="QuattrocentoSansBold" horiz-adv-x="1103" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="501" /> -<glyph unicode=" " horiz-adv-x="501" /> -<glyph unicode="&#x09;" horiz-adv-x="501" /> -<glyph unicode="&#xa0;" horiz-adv-x="501" /> -<glyph unicode="!" horiz-adv-x="552" d="M127 121q0 57 43 99t102 42t104.5 -42t45.5 -101t-46 -101.5t-106 -42.5q-59 0 -101 43.5t-42 102.5zM137 1397h281l-53 -1028h-179z" /> -<glyph unicode="&#x22;" horiz-adv-x="770" d="M102 1499h248l-49 -442h-156zM424 1499h248l-49 -442h-156z" /> -<glyph unicode="#" horiz-adv-x="1263" d="M74 424l35 170h198l39 182h-209l33 168h213l84 395h213l-84 -395h176l84 395h213l-84 -395h207l-33 -168h-211l-39 -182h221l-34 -170h-222l-90 -424h-213l91 424h-177l-90 -424h-213l90 424h-198zM520 594h176l39 182h-176z" /> -<glyph unicode="$" horiz-adv-x="1060" d="M74 88l59 211q66 -51 146.5 -85t181.5 -42v428q-59 20 -120.5 48t-113 73t-84 114.5t-32.5 172.5q0 88 26.5 152.5t73.5 105.5t110.5 63.5t139.5 28.5v178h164v-180q84 -8 158.5 -27.5t129.5 -44.5l-55 -217q-49 33 -111.5 55.5t-121.5 34.5v-356q68 -27 132 -60.5 t115.5 -83t82 -119t30.5 -167.5q0 -92 -28.5 -161t-78 -115t-115 -73.5t-138.5 -37.5v-181h-164v174q-117 6 -216 38t-171 73zM328 1024q0 -59 35.5 -95t97.5 -65v297q-61 -10 -97 -44t-36 -93zM625 186q70 18 102.5 60.5t32.5 99.5q0 70 -41 115t-94 74v-349z" /> -<glyph unicode="%" horiz-adv-x="1716" d="M74 977q0 80 21.5 150.5t63.5 123t101 82t135 29.5t135.5 -31t101.5 -82t63.5 -119.5t21.5 -144.5q0 -74 -21.5 -143.5t-63.5 -122.5t-103.5 -85t-141.5 -32q-78 0 -136 30t-98 81t-59.5 119.5t-19.5 144.5zM250 989q0 -127 37 -190.5t102 -63.5q41 0 69.5 19.5t47 53.5 t28 78t9.5 95q0 111 -37 179.5t-115 68.5t-109.5 -68t-31.5 -172zM289 -49l948 1464h184l-948 -1464h-184zM1001 365q0 80 21.5 150.5t63.5 122.5t101.5 82t135.5 30t135.5 -31t101.5 -82t63.5 -119.5t21.5 -144.5q0 -74 -21.5 -143.5t-63.5 -123t-103.5 -85t-141.5 -31.5 q-78 0 -136.5 29.5t-98.5 81t-59.5 120t-19.5 144.5zM1178 377q0 -127 36.5 -190.5t102.5 -63.5q41 0 69.5 19.5t47 53t27.5 77.5t9 96q0 111 -36.5 179t-114.5 68t-109.5 -67.5t-31.5 -171.5z" /> -<glyph unicode="&#x26;" horiz-adv-x="1443" d="M109 360q0 55 17 113.5t51 112t86 98.5t120 74q-59 70 -92 139.5t-33 159.5q0 76 23.5 132t65.5 95t97.5 58.5t116.5 19.5q70 0 146.5 -23.5t146.5 -66.5l-57 -197q-18 16 -45 33.5t-56.5 31t-60.5 22.5t-57 9q-49 0 -83 -32.5t-34 -98.5t37 -118t90 -107l352 -364 q2 10 3 22t1 25q0 47 -15.5 101t-54.5 110l-100 -7v127l594 76v-157l-295 -23q66 -115 66 -244q0 -100 -41 -194l278 -287h-254l-129 133q-72 -72 -176 -115t-239 -43q-115 0 -203 32t-147.5 86t-89 123.5t-29.5 143.5zM346 389q0 -111 70.5 -164t179.5 -53q82 0 147.5 27.5 t110.5 74.5l-348 355q-39 -10 -68.5 -35t-50 -56.5t-31 -70.5t-10.5 -78z" /> -<glyph unicode="'" horiz-adv-x="448" d="M102 1499h248l-49 -442h-156z" /> -<glyph unicode="(" horiz-adv-x="669" d="M84 670q0 262 108.5 495.5t305.5 413.5l139 -51q-78 -92 -135.5 -187.5t-94 -200t-54 -221t-17.5 -251.5q0 -80 9 -178.5t40 -209t90.5 -229.5t159.5 -239l-137 -52q-197 176 -305.5 412t-108.5 498z" /> -<glyph unicode=")" horiz-adv-x="669" d="M33 1528l139 51q197 -180 305.5 -413.5t108.5 -495.5t-108.5 -497.5t-305.5 -412.5l-137 52q100 121 159.5 239.5t90 229t40 209t9.5 178.5q0 135 -17.5 251.5t-54.5 221t-94 200t-135 187.5z" /> -<glyph unicode="*" horiz-adv-x="901" d="M106 1024l244 78l-244 78l107 182l188 -178l-55 254h209l-55 -254l188 178l107 -182l-246 -78l246 -78l-107 -182l-190 176l57 -252h-209l55 252l-188 -176z" /> -<glyph unicode="+" horiz-adv-x="997" d="M94 406v167h309v301h189v-301h311v-167h-311v-322h-189v322h-309z" /> -<glyph unicode="," horiz-adv-x="534" d="M104 -242l93 232h-52v280h244v-311l-211 -252z" /> -<glyph unicode="-" horiz-adv-x="958" d="M133 406v167h692v-167h-692z" /> -<glyph unicode="." horiz-adv-x="522" d="M115 121q0 29 11 55.5t31.5 48t46 33.5t56.5 12q29 0 55.5 -12t48 -33.5t34 -48t12.5 -55.5q0 -31 -12.5 -56.5t-34 -46t-48 -32t-55.5 -11.5q-59 0 -102 43.5t-43 102.5z" /> -<glyph unicode="/" horiz-adv-x="923" d="M59 -117l570 1555h235l-569 -1555h-236z" /> -<glyph unicode="0" horiz-adv-x="1300" d="M106 659q0 145 37 273.5t106.5 223.5t171 150.5t230.5 55.5q131 0 232.5 -56.5t171 -150.5t105.5 -218t36 -261t-37 -263t-107.5 -223.5t-175 -156t-239.5 -58.5q-133 0 -232.5 55.5t-165 149.5t-99.5 218t-34 261zM358 674q0 -248 75 -375t212 -127q78 0 134.5 38 t93 105.5t55 159.5t18.5 199q0 109 -18.5 199t-56 155.5t-95 101t-133.5 35.5t-130 -35.5t-88 -100t-50.5 -155.5t-16.5 -200z" /> -<glyph unicode="1" horiz-adv-x="681" d="M55 1126l447 226v-1352h-236v995l-166 -73z" /> -<glyph unicode="2" horiz-adv-x="1032" d="M96 0v205q80 109 181.5 214t190.5 205.5t150.5 197t61.5 188.5q0 88 -57.5 124.5t-149.5 36.5q-88 0 -173 -27.5t-150 -64.5l-48 176q39 20 89.5 40t104.5 35.5t109.5 23.5t108.5 8q86 0 160 -23.5t126 -67.5t81.5 -106.5t29.5 -138.5q0 -104 -52 -207.5t-131 -207 t-173 -205t-176 -201.5h547v-205h-830z" /> -<glyph unicode="3" horiz-adv-x="1083" d="M61 115l58 186q72 -59 160 -94t188 -35q129 0 195.5 60.5t66.5 177.5q0 104 -60.5 164.5t-201.5 60.5h-55v178h63q90 0 139.5 57.5t49.5 151.5q0 84 -51.5 118t-123.5 34q-39 0 -80.5 -8.5t-80.5 -24t-73 -35t-58 -41.5l-54 188q78 47 179.5 78t201.5 31q86 0 158 -24.5 t124 -68.5t80.5 -105.5t28.5 -135.5q0 -109 -55 -177.5t-139 -115.5q123 -41 191.5 -123t68.5 -215q0 -86 -30.5 -162.5t-94 -134t-158 -91.5t-219.5 -34q-254 1 -418 140z" /> -<glyph unicode="4" horiz-adv-x="1101" d="M53 389v184l572 779h245v-779h142v-184h-142v-389h-235v389h-582zM285 573h350v496z" /> -<glyph unicode="5" horiz-adv-x="1087" d="M76 113l59 194q31 -29 71 -52.5t86 -40.5t94 -27.5t95 -10.5q51 0 99.5 13.5t84 42t57 74.5t21.5 112q0 49 -12 90t-40.5 69.5t-77 45t-121.5 16.5q-63 0 -139.5 -12.5t-143.5 -38.5l-59 30l79 744h695v-215h-504l-31 -324q43 12 90 17.5t86 5.5q94 0 172 -27.5 t135.5 -81t89 -130.5t31.5 -175q0 -94 -30.5 -177t-93 -145.5t-157 -98.5t-220.5 -36q-125 0 -230.5 36t-185.5 102z" /> -<glyph unicode="6" d="M115 614q0 139 23.5 273.5t82 239t155.5 169t242 64.5q37 0 82 -5t91.5 -17.5t89.5 -33t73 -51.5l-51 -180q-68 51 -143.5 71.5t-132.5 20.5q-86 0 -143.5 -37.5t-91.5 -99t-47 -137.5t-13 -152v-29q0 -13 2 -30l6 -2q35 74 107.5 108.5t170.5 34.5q117 0 193 -43 t121 -106.5t62.5 -136t17.5 -134.5q0 -74 -23.5 -149.5t-76 -137t-136.5 -100.5t-203 -39q-127 0 -214 46.5t-141 130.5t-78.5 201.5t-24.5 260.5zM377 395q0 -106 53 -169.5t145 -63.5t143.5 65.5t51.5 182.5q0 43 -8 84t-29.5 72.5t-57.5 50t-89 18.5q-104 0 -156.5 -68 t-52.5 -172z" /> -<glyph unicode="7" horiz-adv-x="935" d="M76 1147v215h829v-215q-88 -96 -176 -234.5t-157.5 -288t-112.5 -293t-43 -249.5v-43q0 -20 2 -39h-260q-2 18 -2 40v40q0 121 48 265t123.5 288.5t167 279t177.5 234.5h-596z" /> -<glyph unicode="8" horiz-adv-x="1114" d="M104 381q0 135 66 229.5t182 128.5v9q-72 27 -126 100.5t-54 185.5q0 147 100.5 237.5t284.5 90.5q180 0 282.5 -87t102.5 -235q0 -109 -52 -183.5t-128 -106.5v-9q119 -27 183.5 -123t64.5 -233q0 -86 -27 -160.5t-83 -130t-142 -87.5t-203 -32q-123 0 -209 34 t-139 90.5t-78 130t-25 151.5zM336 379q0 -111 60.5 -168t158.5 -57t158.5 57t60.5 168q0 47 -12 94t-39 84t-69 60.5t-99 23.5q-59 0 -100 -23.5t-68 -61.5t-39 -85t-12 -92zM397 1010q0 -86 43 -135.5t115 -49.5t115 49.5t43 133.5q0 80 -40 126t-118 46q-76 0 -117 -44 t-41 -126z" /> -<glyph unicode="9" d="M92 934q0 74 23.5 149.5t76 137t135.5 100.5t203 39q127 0 214 -46t141.5 -130t79 -202t24.5 -261q0 -139 -23.5 -273.5t-82 -239t-155.5 -169t-243 -64.5q-37 0 -82 5.5t-91 17.5t-89 32.5t-73 51.5l51 180q68 -51 143.5 -71.5t132.5 -20.5q86 0 142.5 38t90 99.5 t48 137t14.5 151.5v30q0 13 -2 29l-6 2q-35 -74 -107.5 -108.5t-171.5 -34.5q-117 0 -192.5 43t-120.5 106.5t-62.5 136.5t-17.5 134zM334 926q0 -43 8 -84t29.5 -73t57.5 -50.5t89 -18.5q104 0 156.5 68t52.5 172q0 106 -53 170t-146 64q-92 0 -143 -65.5t-51 -182.5z" /> -<glyph unicode=":" horiz-adv-x="561" d="M133 121q0 29 11.5 55.5t32 48t46 33.5t56.5 12q29 0 55 -12t47.5 -33.5t34 -48t12.5 -55.5q0 -31 -12.5 -56.5t-34 -46t-48 -32t-54.5 -11.5q-59 0 -102.5 43.5t-43.5 102.5zM133 782q0 29 11.5 55.5t32 48t46 34t56.5 12.5q29 0 55 -12.5t47.5 -34t34 -48t12.5 -55.5 q0 -31 -12.5 -56.5t-34 -46t-48 -31.5t-54.5 -11q-59 0 -102.5 43t-43.5 102z" /> -<glyph unicode=";" horiz-adv-x="571" d="M123 -242l92 232h-51v280h244v-311l-211 -252zM141 782q0 29 11.5 55.5t32 48t46 34t56.5 12.5q29 0 55.5 -12.5t48 -34t33.5 -48t12 -55.5q0 -31 -12 -56.5t-33.5 -46t-48.5 -31.5t-55 -11q-59 0 -102.5 43t-43.5 102z" /> -<glyph unicode="&#x3c;" horiz-adv-x="813" d="M80 426v133l584 397l36 -190l-403 -268v-11l405 -272l-36 -192z" /> -<glyph unicode="=" horiz-adv-x="974" d="M141 250v168h693v-168h-693zM141 561v168h693v-168h-693z" /> -<glyph unicode="&#x3e;" horiz-adv-x="813" d="M111 215l405 272v11l-403 268l37 190l583 -397v-133l-586 -403z" /> -<glyph unicode="?" horiz-adv-x="837" d="M74 1298q57 43 142 75t177 32q76 0 139.5 -24.5t109.5 -67.5t71.5 -102.5t25.5 -129.5q0 -92 -40 -165.5t-88 -150.5t-89 -170t-41 -224h-213q0 139 39 237.5t85 173t85 139t39 136.5q0 82 -49 114.5t-111 32.5q-66 0 -129 -28.5t-100 -73.5zM233 121q0 57 43 99t103 42 q59 0 104 -42t45 -101t-46 -101.5t-105 -42.5t-101.5 43.5t-42.5 102.5z" /> -<glyph unicode="@" horiz-adv-x="1476" d="M102 369q0 117 42 249t130 244.5t223.5 186t323.5 73.5q145 0 251 -45t174.5 -116.5t101 -161.5t32.5 -178q0 -94 -32.5 -179.5t-89 -150t-131 -102t-156.5 -37.5q-88 0 -123 42t-35 107q-35 -70 -94.5 -110.5t-112.5 -40.5q-31 0 -62.5 15t-56 46t-41 77t-16.5 107 q0 92 36 166t91 126t124 81t136 29q27 0 58.5 -5.5t62.5 -14.5t56.5 -24.5t41.5 -35.5l-63 -291q-4 -20 -6 -42t-2 -38t6 -32.5t35 -16.5q35 0 65.5 26.5t53 70.5t36 99.5t13.5 112.5q0 66 -19.5 130.5t-62.5 114.5t-111 82t-162 32q-125 0 -219 -53.5t-157.5 -138.5 t-96.5 -191.5t-33 -212.5q0 -111 33 -190t90.5 -129t132 -73.5t160.5 -23.5q80 0 150.5 17.5t127 43t98.5 54t64 49.5v-164q-20 -18 -64 -46t-105.5 -53.5t-138.5 -43t-161 -17.5q-121 0 -229.5 41t-190 116t-130 181.5t-48.5 237.5zM631 391q0 -84 45 -84q18 0 39.5 15.5 t42 43t37 63.5t22.5 79l25 147q-18 8 -41 9q-41 0 -72 -28t-53.5 -69t-33.5 -89t-11 -87z" /> -<glyph unicode="A" horiz-adv-x="1286" d="M4 0l524 1352h203l578 -1352h-256l-154 393h-510l-139 -393h-246zM455 578h370l-194 497z" /> -<glyph unicode="B" horiz-adv-x="1167" d="M180 0v1352q23 2 64 3t88 3t94 3t84 1q217 0 332.5 -89t115.5 -263q0 -82 -33.5 -148.5t-105.5 -113.5q123 -41 192.5 -129.5t69.5 -223.5q0 -86 -30.5 -161.5t-94 -133t-157.5 -91.5t-221 -34q-113 0 -219.5 7.5t-178.5 17.5zM416 176q37 -4 76 -4h79q125 0 195 61.5 t70 178.5q0 104 -63.5 164.5t-205.5 60.5q-39 0 -77.5 -1t-73.5 -3v-457zM416 809q25 -2 50 -2h52q90 0 141.5 60.5t51.5 158.5q0 61 -42 102t-120 41q-41 0 -73 -3t-60 -7v-350z" /> -<glyph unicode="C" horiz-adv-x="1286" d="M102 662q0 145 43 272t128 222t211 150.5t294 55.5q111 0 221.5 -23.5t190.5 -64.5l-60 -213q-66 45 -156.5 72.5t-207.5 27.5q-111 0 -189.5 -34.5t-128 -98t-73 -153t-23.5 -197.5q0 -248 105.5 -375t304.5 -127q123 0 224 37t167 90l61 -203q-82 -49 -197.5 -87 t-260.5 -38q-168 0 -291 55.5t-204 149.5t-120 218.5t-39 263.5z" /> -<glyph unicode="D" horiz-adv-x="1447" d="M180 0v1352q27 2 84.5 4t121 3t121.5 2t91 1q199 0 327 -41t212 -113q109 -94 157.5 -239.5t48.5 -321.5q0 -133 -33.5 -255t-120.5 -214t-239.5 -146.5t-390.5 -54.5q-86 0 -184.5 6.5t-194.5 16.5zM416 180q57 -4 110.5 -6t89.5 -2q248 0 362 119t114 387 q0 121 -24 212t-81 152.5t-153.5 92t-239.5 30.5h-77q-48 0 -101 -2v-983z" /> -<glyph unicode="E" horiz-adv-x="1083" d="M180 0v1352h783v-205h-547v-328h409v-205h-409v-409h588v-205h-824z" /> -<glyph unicode="F" horiz-adv-x="997" d="M180 0v1352h772v-205h-536v-328h387v-205h-387v-614h-236z" /> -<glyph unicode="G" horiz-adv-x="1345" d="M102 662q0 145 43 272t128 222t212 150.5t297 55.5q115 0 227.5 -23.5t200.5 -64.5l-65 -213q-70 41 -162 70.5t-209 29.5t-197.5 -33.5t-130 -97t-72 -153t-22.5 -201.5q0 -500 424 -500q76 0 121 12.5t96 28.5v340h236v-444q-92 -61 -211 -99.5t-260 -38.5 q-170 0 -293 55.5t-204 149.5t-120 218.5t-39 263.5z" /> -<glyph unicode="H" horiz-adv-x="1478" d="M180 0v1352h236v-553h647v553h235v-1352h-235v594h-647v-594h-236z" /> -<glyph unicode="I" horiz-adv-x="595" d="M180 0v1352h236v-1352h-236z" /> -<glyph unicode="J" horiz-adv-x="593" d="M-27 -141q72 0 114 32.5t62.5 83t25.5 113t5 121.5v1143h236v-1145q0 -109 -23.5 -204t-73 -167t-124 -113.5t-177.5 -41.5z" /> -<glyph unicode="K" horiz-adv-x="1247" d="M180 0v1352h236v-590q117 111 209 215q86 98 155.5 191.5t120.5 183.5h258q-90 -123 -172 -225.5t-180 -213.5q-37 -41 -76 -84t-80 -86l604 -743h-272l-481 592l-86 -80v-512h-236z" /> -<glyph unicode="L" horiz-adv-x="1017" d="M180 0v1352h236v-1147h563v-205h-799z" /> -<glyph unicode="M" horiz-adv-x="1806" d="M180 0v1352h269l460 -1033l449 1033h268v-1352h-233v891l-389 -891h-189l-399 891v-891h-236z" /> -<glyph unicode="N" horiz-adv-x="1478" d="M180 0v1352h289l594 -994v994h235v-1352h-288l-594 991v-991h-236z" /> -<glyph unicode="O" horiz-adv-x="1519" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -250 102.5 -377t295.5 -127q113 0 191.5 38 t129.5 104.5t74.5 156.5t23.5 193q0 111 -24.5 200.5t-75.5 155.5t-130 101.5t-185 35.5q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5z" /> -<glyph unicode="P" horiz-adv-x="1087" d="M180 0v1352q31 2 71 4t84 3l88 2q44 1 83 1q115 0 209 -27.5t161.5 -83t104.5 -136.5t37 -187q0 -86 -28.5 -162t-86 -133.5t-146.5 -91t-208 -33.5h-69q-34 0 -64 2v-510h-236zM416 707q29 -2 60 -2h67q111 0 167 61t56 178q0 98 -50 159.5t-177 61.5h-64q-31 0 -59 -2 v-456z" /> -<glyph unicode="Q" horiz-adv-x="1525" d="M104 659q0 145 44.5 273.5t128 223.5t206.5 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -131 -40 -254t-119.5 -219.5t-198.5 -156.5t-277 -67q74 -8 141.5 -32.5t134 -50t135.5 -46t147 -20.5q45 0 94 9t104 32l-53 -201q-37 -14 -73 -19 t-70 -5q-86 0 -165 27.5t-156 59t-151.5 59.5t-150.5 28q-45 0 -112.5 -16.5t-131.5 -63.5l-41 147q55 43 120 65.5t124 26.5q-145 10 -255 69.5t-181.5 152t-107.5 211t-36 249.5zM356 674q0 -246 102.5 -372t299.5 -126q111 0 189.5 39t128.5 105.5t74 157.5t24 196 q0 106 -25 196.5t-76 155t-130 100t-187 35.5q-109 0 -184.5 -35.5t-124 -100t-70 -153.5t-21.5 -198z" /> -<glyph unicode="R" horiz-adv-x="1241" d="M180 0v1352q33 2 75 4t85 3t81 2t60 1q262 0 399.5 -99.5t137.5 -289.5q0 -121 -59.5 -217.5t-198.5 -143.5l495 -612h-272l-471 578h-46q-24 0 -50 2v-580h-236zM416 774h127q111 0 168 55.5t57 157.5q0 92 -56.5 135t-209.5 43h-39q-23 0 -47 -2v-389z" /> -<glyph unicode="S" horiz-adv-x="1110" d="M86 88l61 221q78 -59 173.5 -98t218.5 -39q131 0 190 46t59 124q0 59 -28.5 101t-71.5 72t-91 48.5t-85 30.5q-66 20 -133.5 49t-124.5 75t-93 115.5t-36 174.5q0 98 34 165.5t92 109.5t137 60.5t171 18.5q113 0 218.5 -22.5t176.5 -55.5l-55 -217q-37 25 -80 43 t-89 30.5t-92 19.5t-87 7q-92 0 -145.5 -34.5t-53.5 -106.5q0 -43 19.5 -73.5t54.5 -53t83 -42t107 -40.5q74 -27 147 -60.5t131 -83.5t95 -124t37 -178q0 -111 -40 -186.5t-107.5 -122t-155.5 -67t-182 -20.5q-135 0 -253 33t-202 80z" /> -<glyph unicode="T" d="M43 1147v205h1018v-205h-391v-1147h-236v1147h-391z" /> -<glyph unicode="U" horiz-adv-x="1443" d="M166 475v877h235v-828q0 -186 86 -267t240 -81t241 81t87 267v828h225v-877q0 -100 -33 -190t-101.5 -159t-176 -109t-254.5 -40t-252 40t-171.5 109t-96 159t-29.5 190z" /> -<glyph unicode="V" horiz-adv-x="1298" d="M-25 1352h256l431 -1065l389 1065h245l-540 -1352h-187z" /> -<glyph unicode="W" horiz-adv-x="2134" d="M2 1352h256l346 -1049l348 1049h232l346 -1049l346 1049h256l-502 -1352h-194l-369 1028l-367 -1028h-194z" /> -<glyph unicode="X" horiz-adv-x="1306" d="M23 0l499 696l-469 656h264l342 -529l338 529h258l-471 -658l498 -694h-264l-371 547l-366 -547h-258z" /> -<glyph unicode="Y" horiz-adv-x="1155" d="M-25 1352h265l346 -613l332 613h260l-482 -797v-555h-235v547z" /> -<glyph unicode="Z" horiz-adv-x="1134" d="M88 0v205l672 942h-641v205h897v-205l-672 -942h703v-205h-959z" /> -<glyph unicode="[" horiz-adv-x="575" d="M158 -195v1729h327v-148h-112v-1433h112v-148h-327z" /> -<glyph unicode="\" horiz-adv-x="921" d="M59 1438h232l569 -1555h-231z" /> -<glyph unicode="]" horiz-adv-x="575" d="M90 -47h113v1433h-113v148h328v-1729h-328v148z" /> -<glyph unicode="^" horiz-adv-x="712" d="M117 1161l6 15l225 202h17l225 -202l6 -15l-33 -59l-14 -6l-193 84l-192 -84l-14 6z" /> -<glyph unicode="_" horiz-adv-x="964" d="M39 0h887v-168h-887v168z" /> -<glyph unicode="`" horiz-adv-x="448" d="M0 1292q0 35 16.5 71t44.5 36q8 0 21 -6l369 -207l6 -15l-31 -73l-16 -6l-383 141q-14 4 -20.5 20t-6.5 39z" /> -<glyph unicode="a" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M309 281q0 -123 125 -123q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137z" /> -<glyph unicode="b" horiz-adv-x="1175" d="M141 0v1516h224v-668q47 59 124.5 92t176.5 33q106 0 186 -41t133 -108.5t79 -156.5t26 -186q0 -109 -31 -201t-87.5 -159.5t-136 -106.5t-176.5 -39q-111 0 -183.5 45.5t-129.5 108.5h-8l-16 -129h-181zM365 274q23 -31 55.5 -54t68 -39.5t72.5 -26t70 -9.5q59 0 103 29 t74 75t44 106.5t14 121.5q0 63 -15 121.5t-47 104t-80 71t-112 25.5q-59 0 -122.5 -28t-124.5 -103v-394z" /> -<glyph unicode="c" horiz-adv-x="1001" d="M86 479q0 98 27.5 187.5t87 158t151.5 108.5t221 40q98 0 192.5 -22.5t152.5 -59.5l-50 -182q-23 16 -56.5 32.5t-72.5 28.5t-81 19.5t-78 7.5q-70 0 -118 -26t-78 -67.5t-43 -97t-13 -114.5q0 -70 16 -130.5t49 -105.5t83 -71.5t116 -26.5q74 0 156.5 29.5t138.5 82.5 l41 -192q-57 -37 -156.5 -70t-212.5 -33q-119 0 -208 41t-147.5 110t-88 160t-29.5 193z" /> -<glyph unicode="d" horiz-adv-x="1175" d="M86 481q0 96 25.5 185.5t79 157t132 108.5t187.5 41q98 0 176 -33t125 -92v668h223v-1516h-180l-16 129h-9q-57 -63 -129.5 -108.5t-183.5 -45.5q-96 0 -176 39t-136.5 106.5t-87 159.5t-30.5 201zM309 477q0 -61 14.5 -121.5t43 -106.5t73.5 -75t105 -29q33 0 69.5 9.5 t72.5 26t68.5 40t55.5 53.5v394q-61 76 -124.5 103.5t-123.5 27.5q-66 0 -113 -25.5t-78.5 -71t-47 -104t-15.5 -121.5z" /> -<glyph unicode="e" horiz-adv-x="1034" d="M84 471q0 100 31.5 191.5t93 161t153 109.5t207.5 40q180 0 278.5 -91t98.5 -257q0 -23 -3 -48.5t-8 -50t-12.5 -44t-15.5 -31.5h-596q4 -61 22.5 -115.5t53.5 -94.5t85 -63.5t118 -23.5q76 0 161 28.5t144 71.5l37 -168q-27 -16 -66 -35.5t-88 -36t-105.5 -28 t-117.5 -11.5q-115 0 -203 40t-147.5 109t-90 159t-30.5 188zM330 610h391q2 6 3 14.5t1 20.5q0 66 -45 109t-117 43q-86 0 -146 -50.5t-87 -136.5z" /> -<glyph unicode="f" horiz-adv-x="634" d="M70 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57q41 53 107.5 77t146.5 24q10 0 33 -1t50.5 -5t57 -13.5t54.5 -23.5l-51 -174q-20 12 -67.5 33.5t-92.5 21.5q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137h-180v-805h-226v805h-116z" /> -<glyph unicode="g" horiz-adv-x="1019" d="M53 -233q0 41 14.5 80.5t40 73.5t59.5 60.5t73 38.5v9q-47 20 -65.5 55t-18.5 68q0 43 28.5 79.5t81.5 57.5v8q-92 39 -133 121t-41 178q0 80 26.5 149.5t77 119.5t121 79t160.5 29q53 0 105.5 -10.5t91.5 -30.5q86 2 156.5 13t136.5 30l18 -14l-22 -156l-11 -10l-145 16 l-2 -6q70 -88 69 -207q0 -72 -25.5 -134.5t-74.5 -108.5t-121.5 -73.5t-165.5 -27.5q-23 0 -36 1t-25 1q-35 -12 -53.5 -31.5t-18.5 -40.5q0 -23 22.5 -39t69.5 -22l199 -25q68 -8 126 -28.5t102.5 -55t69 -84t24.5 -112.5t-27 -123t-84 -105t-144 -71.5t-210 -26.5 q-109 0 -192 21.5t-140 58.5t-87 87.5t-30 107.5zM254 -209q0 -66 64.5 -98.5t187.5 -32.5q121 0 192.5 34t71.5 109q0 74 -80 105t-268 47q-70 -12 -119 -58.5t-49 -105.5zM305 610q0 -37 11.5 -72.5t34 -63.5t56 -45t78.5 -17q84 0 127 54t43 132q0 37 -10 75t-32.5 68.5 t-56.5 50t-79 19.5q-43 0 -75.5 -17.5t-54 -46t-32 -64.5t-10.5 -73z" /> -<glyph unicode="h" horiz-adv-x="1130" d="M141 0v1516h226v-713q57 90 134 130t181 40q61 0 118.5 -17.5t101.5 -56.5t69.5 -102.5t25.5 -155.5v-641h-225v623q0 84 -37 126t-100 42q-39 0 -81 -12.5t-79 -37t-65.5 -59.5t-42.5 -78v-604h-226z" /> -<glyph unicode="i" horiz-adv-x="507" d="M109 1245q0 29 11 55.5t31.5 48t46 34t56.5 12.5q29 0 55.5 -12.5t48 -34t33.5 -48t12 -55.5q0 -31 -12 -56.5t-33.5 -46t-48 -31.5t-55.5 -11q-59 0 -102 43t-43 102zM141 0v942h226v-942h-226z" /> -<glyph unicode="j" horiz-adv-x="507" d="M-78 -385q6 -4 18.5 -5t24.5 -1q61 0 96 38t53.5 96t22.5 126t4 127v946h226v-948q0 -104 -24 -198.5t-69 -167t-111.5 -114.5t-154.5 -42q-16 0 -29.5 1t-19.5 5zM109 1245q0 29 11 55.5t31.5 48t46 34t56.5 12.5q59 0 104 -46t45 -106q0 -59 -46 -101t-105 -42t-101 43 t-42 102z" /> -<glyph unicode="k" horiz-adv-x="1009" d="M141 0v1516h226v-875l313 301h252l-336 -332l401 -610h-245l-306 463l-79 -80v-383h-226z" /> -<glyph unicode="l" horiz-adv-x="532" d="M154 0v1516h225v-1516h-225z" /> -<glyph unicode="m" horiz-adv-x="1710" d="M141 0v942h176l11 -139h8q41 86 130 128t189 42q96 0 175 -38t118 -130q41 84 129 126t189 42q66 0 124 -17.5t102 -56.5t69.5 -102.5t25.5 -155.5v-641h-225v623q0 168 -133 168q-33 0 -71 -12.5t-73.5 -36t-65.5 -58.5t-42 -80v-604h-225v623q0 168 -134 168 q-33 0 -70.5 -12.5t-73.5 -36t-65.5 -58.5t-41.5 -80v-604h-226z" /> -<glyph unicode="n" horiz-adv-x="1120" d="M141 0v942h176l11 -139h8q43 86 134 128t196 42q68 0 127 -17.5t105 -56.5t72.5 -102.5t26.5 -155.5v-641h-225v623q0 168 -143 168q-35 0 -75 -12.5t-77 -36t-66.5 -58.5t-43.5 -80v-604h-226z" /> -<glyph unicode="o" horiz-adv-x="1124" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q125 0 215 -42t148.5 -112.5t86 -162t27.5 -191.5t-27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26 t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5z" /> -<glyph unicode="p" horiz-adv-x="1177" d="M141 -532v1474h181l16 -129h8q27 33 63.5 62.5t79.5 51t88.5 34t88.5 12.5q111 0 190.5 -42t131.5 -111.5t77 -161t25 -189.5q0 -100 -26 -190.5t-79 -158t-133 -106.5t-190 -39q-92 0 -171 27t-126 86v-620h-224zM365 268q61 -76 125.5 -95t117.5 -19q68 0 116 24.5 t80 66.5t47 98t15 122q0 61 -13 121.5t-43 107.5t-75 77t-106 30q-31 0 -68 -9.5t-72.5 -26.5t-68.5 -42t-55 -55v-400z" /> -<glyph unicode="q" horiz-adv-x="1177" d="M88 469q0 98 24.5 189.5t77 161t132 111.5t190.5 42q43 0 88 -12.5t88 -34t80 -51t63 -62.5h9l16 129h180v-1474h-223v620q-47 -59 -126 -86t-171 -27q-111 0 -190.5 39t-133 106.5t-79 158t-25.5 190.5zM311 465q0 -66 15.5 -123t47.5 -100t80 -67.5t115 -24.5 q53 0 118 24.5t126 93.5v400q-23 31 -55.5 55.5t-68.5 41.5t-72.5 26.5t-67.5 9.5q-61 0 -106.5 -30t-75 -77t-43 -107.5t-13.5 -121.5z" /> -<glyph unicode="r" horiz-adv-x="765" d="M141 0v942h176l11 -197h8q20 43 42.5 84t51.5 73t67 51.5t89 19.5q82 0 153 -53l-59 -183q-20 16 -63.5 26.5t-73.5 10.5q-41 0 -67.5 -19.5t-47 -51t-35 -72.5t-26.5 -84v-547h-226z" /> -<glyph unicode="s" horiz-adv-x="886" d="M88 78l53 194q70 -68 157 -100.5t161 -32.5q78 0 118.5 34t40.5 93q0 35 -20 58.5t-82 40.5l-197 49q-70 16 -113.5 47t-69 68.5t-35 78.5t-9.5 78q0 137 96.5 212t249.5 75q80 0 172 -21.5t156 -62.5l-59 -184q-41 33 -115 66.5t-164 33.5q-68 0 -105.5 -25.5 t-37.5 -72.5q0 -31 21.5 -56.5t90.5 -42.5l146 -33q86 -18 138 -53t82 -75.5t40 -84t10 -79.5q0 -66 -26.5 -122.5t-75.5 -97t-119 -64.5t-156 -24q-109 0 -201 32t-147 71z" /> -<glyph unicode="t" horiz-adv-x="679" d="M68 805v123l133 20l37 279h172v-285h180v-137h-180v-541q0 -61 12 -82.5t47 -21.5q27 0 53.5 10t77.5 39l37 -162q-39 -33 -109.5 -52.5t-140.5 -19.5q-61 0 -101 16.5t-62.5 48.5t-31 77t-8.5 100v588h-116z" /> -<glyph unicode="u" d="M133 301v641h225v-612q0 -84 44 -128t114 -44q72 0 131.5 48t87.5 138v598h228v-942h-177l-12 131h-8q-23 -47 -57.5 -76.5t-76.5 -47t-87 -25t-88 -7.5q-68 0 -126.5 16.5t-102.5 54.5t-69.5 100.5t-25.5 154.5z" /> -<glyph unicode="v" horiz-adv-x="1073" d="M20 942h236l285 -756l297 756h221l-389 -942h-273z" /> -<glyph unicode="w" horiz-adv-x="1683" d="M27 942h235l246 -723l223 723h225l224 -723l245 723h232l-342 -942h-268l-203 655l-203 -655h-272z" /> -<glyph unicode="x" horiz-adv-x="1040" d="M29 0l362 481l-342 461h256l221 -317l211 317h256l-344 -457l365 -485h-256l-240 344l-233 -344h-256z" /> -<glyph unicode="y" horiz-adv-x="1062" d="M-14 942h235l328 -670l262 670h217l-389 -950q-29 -72 -79 -161t-118.5 -168t-154.5 -133t-187 -54q-16 0 -24 1t-19 5l-39 176q6 -2 14.5 -4t35.5 -2q39 0 76.5 8t76.5 33q74 47 128 131t106 207z" /> -<glyph unicode="z" horiz-adv-x="856" d="M86 0v182l430 578h-410v182h644v-182l-443 -578h463v-182h-684z" /> -<glyph unicode="{" horiz-adv-x="598" d="M61 618v103q55 2 85 28.5t43.5 61.5t16.5 73t3 64q0 43 -1 90t-1 90t-1 78t-1 58q0 66 10 120t42 91.5t89 59t154 21.5l4 -104q-49 -6 -60.5 -49t-11.5 -90q0 -25 1 -66t1 -84t1 -83t1 -60q0 -147 -44 -235.5t-148 -114.5q104 -27 148 -115t44 -236q0 -23 -1 -61.5 t-1 -81.5t-1 -83t-1 -64q0 -49 11.5 -92t60.5 -50l-4 -104q-96 0 -153.5 21.5t-89.5 59.5t-42 92t-10 122q0 20 1 58t1 80t1 85t1 76q0 37 -3 78t-17.5 76.5t-44.5 60t-83 26.5z" /> -<glyph unicode="|" horiz-adv-x="524" d="M158 -233v1806h209v-1806h-209z" /> -<glyph unicode="}" horiz-adv-x="598" d="M94 -113q49 6 60.5 49.5t11.5 90.5q0 25 -1 65.5t-1 83.5t-1 82t-1 61q0 147 44 235.5t148 115.5q-104 27 -148 114.5t-44 235.5q0 20 1 60t1 83t1 83t1 65q0 49 -11.5 92t-60.5 49l4 104q94 0 152.5 -21.5t90.5 -59t42 -92t10 -121.5q0 -23 -1 -60t-1 -79t-1 -85t-1 -75 q0 -37 3 -78t17.5 -77t44 -60.5t83.5 -26.5v-103q-55 -4 -85 -29.5t-43.5 -60t-16.5 -72.5t-3 -65q0 -43 1 -90t1 -90t1 -79t1 -56q0 -66 -10 -120t-42 -93t-90 -59.5t-153 -20.5z" /> -<glyph unicode="~" horiz-adv-x="970" d="M131 414q0 16 11.5 48t35 62.5t60 54t88.5 23.5q18 0 61 -3t94 -6t104.5 -6t94.5 -3q39 0 75 7t62 40l25 -41q0 -10 -10.5 -40t-32 -63.5t-57 -59.5t-87.5 -26q-16 0 -67 3.5t-111.5 6.5t-117 6t-85.5 3q-47 0 -71.5 -10.5t-44.5 -34.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="522" d="M115 831q0 59 46 101.5t105 42.5t101.5 -43t42.5 -103q0 -57 -43 -99t-103 -42q-59 0 -104 42t-45 101zM119 -446l53 1028h178l49 -1028h-280z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1015" d="M84 449q0 84 23.5 161.5t72.5 139t126 103.5t183 54v275h189v-279q72 -10 134 -28.5t103 -45.5l-53 -190q-29 27 -78 48.5t-106 33.5v-559q59 14 112.5 41.5t94.5 64.5l41 -190q-41 -29 -105.5 -53.5t-142.5 -36.5v-269h-189v261q-102 10 -177.5 52t-127 104.5t-76 143.5 t-24.5 169zM303 455q0 -98 50 -178t136 -111v557q-92 -27 -139 -103.5t-47 -164.5z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1193" d="M66 74q156 59 225 169.5t69 237.5v31h-190v168h182q-10 90 -24.5 169t-14.5 148q0 98 36 168t94.5 114t129 63.5t142.5 19.5q92 0 183 -28.5t144 -71.5l-45 -187q-41 41 -119.5 71t-154.5 30q-49 0 -81 -13.5t-50.5 -37t-25.5 -55.5t-7 -71q0 -63 12.5 -145t20.5 -174 h250v-168h-246q-4 -86 -36 -179t-99 -171l4 -6q57 -4 112.5 -17.5t113 -29t114.5 -27.5t119 -12q98 0 190 39l-49 -201q-51 -27 -86 -34t-70 -7q-82 0 -158.5 21.5t-150.5 46t-144.5 46t-140.5 21.5q-43 0 -95 -13.5t-109 -60.5z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1212" d="M98 856l113 113l149 -146q61 41 120 60.5t124 19.5q68 0 126 -19.5t116 -60.5l149 146l113 -111l-145 -149q41 -59 60 -118t19 -124q0 -66 -18 -122t-59 -116l149 -147l-115 -113l-151 146q-113 -82 -240 -82q-63 0 -120.5 19.5t-122.5 62.5l-150 -146l-111 113l146 147 q-80 104 -80 242q0 63 18.5 120.5t63.5 117.5zM334 469q0 -57 21.5 -107.5t58.5 -87t87 -58t107 -21.5t106.5 21.5t86.5 58t57.5 87t20.5 107.5t-20.5 107.5t-57.5 87t-87 58t-108 21.5q-55 0 -105 -21.5t-87 -58t-58.5 -87t-21.5 -107.5z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1325" d="M63 1352h265l346 -613l332 613h260l-334 -553h155v-168h-258l-45 -76v-33h303v-168h-303v-354h-235v354h-320v168h320v25l-51 84h-269v168h168z" /> -<glyph unicode="&#xa6;" horiz-adv-x="528" d="M160 -233v794h209v-794h-209zM160 778v795h209v-795h-209z" /> -<glyph unicode="&#xa7;" horiz-adv-x="888" d="M88 760q0 76 35 147.5t94 114.5q-23 61 -22 127q0 78 27.5 135t71.5 94t96 55.5t102 18.5q68 0 140.5 -27.5t119.5 -66.5l-68 -158q-39 29 -82 45.5t-78 16.5q-53 0 -82.5 -38t-29.5 -98q0 -59 28.5 -105t71.5 -86t94 -77t94 -80t72 -95t29 -122q0 -78 -36 -148.5 t-93 -115.5q23 -57 22 -125q0 -78 -27.5 -135t-71.5 -94t-96.5 -55.5t-101.5 -18.5q-68 0 -140.5 27.5t-119.5 66.5l68 158q39 -29 82 -45.5t78 -16.5q53 0 82.5 38t29.5 98q0 59 -28.5 105t-71.5 86t-94.5 77t-94.5 80t-71.5 95t-28.5 122zM270 813q0 -63 34 -112.5 t83 -93.5t106.5 -89t104.5 -100q20 45 20 90q0 61 -33.5 110.5t-83.5 94.5t-107.5 90t-104.5 100q-19 -41 -19 -90z" /> -<glyph unicode="&#xa8;" horiz-adv-x="450" d="M0 1266q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82zM279 1266q0 47 34.5 83.5t81.5 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-81.5 35t-34.5 82z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1456" d="M106 725q0 127 48.5 238.5t133.5 195.5t197.5 132t241.5 48t242.5 -48t197.5 -132t133.5 -195.5t49.5 -238.5q0 -129 -49.5 -242.5t-134.5 -196.5t-200.5 -131.5t-248.5 -48.5q-125 0 -236.5 49.5t-194.5 133.5t-131.5 196.5t-48.5 239.5zM231 729q0 -109 37 -202 t102.5 -161.5t152.5 -108.5t190 -40q109 0 201 39t159.5 106.5t106.5 159.5t39 201q0 104 -38 196.5t-103.5 161t-154.5 108.5t-192 40q-106 0 -197.5 -39t-159 -106.5t-105.5 -159t-38 -195.5zM381 729q0 70 19.5 132.5t60.5 109.5t105.5 75.5t154.5 28.5q68 0 134.5 -15.5 t107.5 -41.5l-33 -144q-29 18 -90.5 34t-114.5 16q-49 0 -83 -17.5t-55.5 -45t-30.5 -62.5t-9 -72q0 -82 46 -144.5t138 -62.5q57 0 115.5 22.5t97.5 51.5l25 -145q-41 -27 -111 -49.5t-147 -22.5q-84 0 -145.5 28.5t-102.5 76.5t-61.5 111.5t-20.5 135.5z" /> -<glyph unicode="&#xaa;" horiz-adv-x="747" d="M104 903q0 102 82 158.5t226 56.5h51v19q0 25 -6 42t-25 31q-35 27 -94 27q-53 0 -92 -18.5t-74 -42.5l-27 112q80 59 203 60q53 0 102.5 -11.5t86.5 -40.5q39 -31 57 -76.5t18 -93.5v-370h-120l-9 75h-8q-33 -41 -89 -66.5t-116 -25.5q-80 0 -123 46t-43 118zM248 922 q0 -72 74 -72q41 0 79.5 19.5t61.5 50.5v112h-23q-102 0 -147 -26.5t-45 -83.5z" /> -<glyph unicode="&#xab;" horiz-adv-x="1087" d="M88 489v11l274 360h230l-297 -362v-11l297 -362h-232zM485 489v11l275 360h229l-297 -362v-11l297 -362h-231z" /> -<glyph unicode="&#xac;" horiz-adv-x="1277" d="M141 561v168h983v-489h-190v321h-793z" /> -<glyph unicode="&#xad;" horiz-adv-x="954" d="M133 406v167h688v-167h-688z" /> -<glyph unicode="&#xae;" horiz-adv-x="1456" d="M106 725q0 127 48.5 238.5t133.5 195.5t197.5 132t241.5 48t242.5 -48t197.5 -132t133.5 -195.5t49.5 -238.5q0 -129 -49.5 -242.5t-134.5 -196.5t-200.5 -131.5t-248.5 -48.5q-125 0 -236.5 49.5t-194.5 133.5t-131.5 196.5t-48.5 239.5zM231 729q0 -109 37 -202 t102.5 -161.5t152.5 -108.5t190 -40q109 0 201 39t159.5 106.5t106.5 159.5t39 201q0 104 -38 196.5t-103.5 161t-154.5 108.5t-192 40q-106 0 -197.5 -39t-159 -106.5t-105.5 -159t-38 -195.5zM506 412v671q16 2 41 3l49 3q25 1 46 1h34q86 0 140 -17.5t85 -47.5t43 -70 t12 -87q0 -55 -28.5 -103t-81.5 -77l153 -276h-145l-127 243h-84v-243h-137zM643 754h59q57 0 89 37.5t32 89.5q0 47 -31.5 78.5t-115.5 31.5h-33v-237z" /> -<glyph unicode="&#xb0;" horiz-adv-x="757" d="M98 1079q0 55 18.5 104.5t53.5 85.5t87 57.5t120 21.5q70 0 123 -21.5t89 -58.5t53 -87.5t17 -105.5q0 -53 -16 -100t-51 -82t-88 -55.5t-127 -20.5t-127 21.5t-87 57.5t-49.5 83t-15.5 100zM242 1085q0 -55 33.5 -99t101.5 -44q72 0 101.5 41t29.5 96q0 53 -29.5 95.5 t-101.5 42.5t-103.5 -40.5t-31.5 -91.5z" /> -<glyph unicode="&#xb1;" horiz-adv-x="948" d="M145 84v168h658v-168h-658zM147 582v168h238v182h188v-182h228v-168h-228v-207h-188v207h-238z" /> -<glyph unicode="&#xb2;" horiz-adv-x="772" d="M119 612v127q49 55 113.5 105.5t121 98.5t95 97.5t38.5 106.5q0 12 -3 28.5t-12 31t-26.5 23.5t-44.5 9q-53 0 -112.5 -36t-104.5 -93l-34 131q66 59 131 90t137 31q104 0 160.5 -55.5t56.5 -141.5q0 -59 -26.5 -112.5t-73 -104.5t-106.5 -102t-128 -107h334v-127h-516z " /> -<glyph unicode="&#xb3;" horiz-adv-x="696" d="M98 680l25 123q43 -35 80 -56.5t98 -21.5q78 0 114 34t36 93q0 53 -36 83t-136 30h-25v110h31q66 0 97.5 25.5t31.5 70.5q0 29 -16.5 48.5t-67.5 19.5q-53 0 -93 -18.5t-67 -40.5l-23 120q47 29 88 45.5t99 16.5q104 0 162.5 -51t58.5 -131q0 -55 -26.5 -91t-69.5 -63 q63 -23 99 -67t36 -117q0 -47 -16.5 -90t-51 -77t-89 -53.5t-128.5 -19.5q-76 0 -120 20.5t-91 57.5z" /> -<glyph unicode="&#xb4;" horiz-adv-x="448" d="M0 1171l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71q0 -23 -6.5 -39t-20.5 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1173" d="M63 -227q37 70 66 132t48.5 125.5t30.5 129t11 141.5v641h225v-612q0 -84 44 -128t114 -44q72 0 131.5 49t87.5 139v596h228v-942h-177l-12 131h-8q-23 -47 -57.5 -76.5t-75.5 -47t-86 -25t-88 -7.5q-86 0 -154 25l-4 -16q-10 -43 -21.5 -80t-24.5 -73t-28.5 -74 t-36.5 -81z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1140" d="M68 928q0 106 34.5 187t99 136.5t156 83t201.5 27.5q78 0 188.5 -3t208.5 -7v-1528h-174v1341h-90v-1341h-184v684h-43q-94 0 -168 33.5t-125 91t-77.5 133.5t-26.5 162z" /> -<glyph unicode="&#xb7;" horiz-adv-x="546" d="M127 498q0 29 11.5 55.5t31.5 48t46 33.5t56 12q29 0 55.5 -12t48 -33.5t34 -48.5t12.5 -55q0 -31 -12.5 -56.5t-34 -46t-48 -32t-55.5 -11.5q-59 0 -102 43.5t-43 102.5z" /> -<glyph unicode="&#xb8;" horiz-adv-x="413" d="M0 -395l57 98h15q23 -10 58.5 -17.5t70.5 -7.5t62.5 13.5t27.5 48.5q0 37 -25.5 50t-60.5 13q-25 0 -50.5 -4t-48.5 -10l-38 53l104 158h111l-52 -84q31 8 60 8q72 0 117 -48t45 -120q0 -41 -19.5 -76.5t-53.5 -64.5t-81 -45t-102 -16q-53 0 -103.5 11t-91.5 27z" /> -<glyph unicode="&#xb9;" horiz-adv-x="516" d="M72 1206l297 156v-750h-154v545l-117 -57z" /> -<glyph unicode="&#xba;" horiz-adv-x="802" d="M96 1051q0 63 20.5 121.5t60.5 101.5t95.5 68.5t126.5 25.5q74 0 131.5 -26.5t96.5 -71.5t59.5 -103.5t20.5 -122.5q0 -59 -18.5 -115.5t-57.5 -99.5t-96.5 -68.5t-133.5 -25.5q-78 0 -135 26.5t-95 71t-56.5 102t-18.5 116.5zM262 1053q0 -72 34 -122t105 -50 q74 0 106 46t32 117q0 72 -35 122.5t-109 50.5q-76 0 -104.5 -47t-28.5 -117z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1087" d="M98 125l297 362v11l-297 362h230l274 -360v-11l-272 -364h-232zM496 125l297 362v11l-297 362h229l274 -360v-11l-272 -364h-231z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1583" d="M70 1206l297 156v-750h-154v545l-117 -57zM180 -49l948 1464h185l-948 -1464h-185zM922 186v127l301 437h211v-437h69v-127h-69v-186h-140v186h-372zM1069 313h225v316z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1595" d="M70 1206l297 156v-750h-154v545l-117 -57zM184 -49l949 1464h184l-948 -1464h-185zM987 0v127q49 55 113.5 105.5t121 98.5t95.5 97t39 107q0 12 -3 28.5t-12.5 30.5t-27 23.5t-43.5 9.5q-53 0 -112.5 -36t-104.5 -93l-35 131q66 59 131 90t137 31q104 0 160.5 -55.5 t56.5 -141.5q0 -59 -26.5 -112.5t-72.5 -104.5t-106.5 -102.5t-128.5 -106.5h334v-127h-516z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1585" d="M74 680l24 123q43 -35 80 -56.5t98 -21.5q78 0 114 34t36 93q0 53 -36 83t-136 30h-25v110h31q66 0 97.5 25.5t31.5 70.5q0 29 -16.5 48.5t-67.5 19.5q-53 0 -93 -18.5t-67 -40.5l-22 120q47 29 88 45.5t98 16.5q104 0 162.5 -51t58.5 -131q0 -55 -26.5 -91t-69.5 -63 q63 -23 99 -67t36 -117q0 -47 -16 -90t-51 -77t-89.5 -53.5t-127.5 -19.5q-76 0 -120 20.5t-91 57.5zM225 -49l949 1464h184l-948 -1464h-185zM926 186v127l301 437h211v-437h69v-127h-69v-186h-140v186h-372zM1073 313h225v316z" /> -<glyph unicode="&#xbf;" horiz-adv-x="821" d="M88 -131q0 92 40 166t88 150.5t89 170t41 224.5h213q0 -139 -39 -237.5t-85 -173.5t-85 -139.5t-39 -135.5q0 -82 49.5 -115t110.5 -33q66 0 129.5 28.5t99.5 73.5l54 -196q-57 -43 -142.5 -75t-177.5 -32q-76 0 -139.5 24.5t-109.5 68t-71.5 102.5t-25.5 129zM299 831 q0 59 46 101.5t106 42.5q59 0 101 -43t42 -103q0 -57 -43 -99t-102 -42t-104.5 42t-45.5 101z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1286" d="M4 2l524 1352h203l578 -1352h-256l-154 393h-510l-139 -393h-246zM420 1630q0 35 16.5 71t44.5 36q8 0 21 -6l368 -207l7 -15l-31 -73l-17 -6l-383 141q-14 4 -20 20t-6 39zM455 580h370l-194 497z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1286" d="M4 0l524 1352h203l578 -1352h-256l-154 393h-510l-139 -393h-246zM414 1511l6 15l368 207q12 6 21 6q29 0 45 -36t16 -71q0 -23 -6 -39t-20 -20l-383 -141l-17 6zM455 578h370l-194 497z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1286" d="M4 0l524 1352h203l578 -1352h-256l-154 393h-510l-139 -393h-246zM414 1507l6 15l225 202h17l225 -202l6 -15l-33 -59l-14 -6l-193 84l-192 -84l-15 6zM455 578h370l-194 497z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1286" d="M4 0l524 1352h203l578 -1352h-256l-154 393h-510l-139 -393h-246zM332 1511q12 37 25.5 71t36 59.5t55 41t83.5 15.5q59 0 130 -14.5t126 -14.5q37 0 76 11.5t80 41.5l25 -47q-6 -33 -19.5 -66.5t-35 -60t-53.5 -44t-77 -17.5q-25 0 -56.5 4t-68 10t-74.5 10.5t-73 4.5 q-47 0 -86 -11.5t-68 -40.5zM455 578h370l-194 497z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1286" d="M4 0l524 1352h203l578 -1352h-256l-154 393h-510l-139 -393h-246zM393 1604q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82zM455 578h370l-194 497zM672 1604q0 47 34.5 83.5t81.5 36.5t84 -36.5t37 -83.5t-36.5 -82t-84.5 -35q-47 0 -81.5 35 t-34.5 82z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1300" d="M4 0l518 1300q-39 23 -61.5 61t-22.5 83q0 72 54.5 125t144.5 53t143.5 -55.5t53.5 -126.5q0 -45 -23 -81t-57 -59l571 -1300h-264l-154 414h-510l-139 -414h-254zM463 598h371l-195 477zM559 1446q0 -35 23.5 -60.5t56.5 -25.5q31 0 51.5 24.5t20.5 55.5 q0 33 -21.5 56.5t-54.5 23.5q-35 0 -55.5 -21.5t-20.5 -52.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1550" d="M-29 0l721 1352h735v-209h-413v-322h276v-209h-276v-403h454v-209h-677v389h-363l-207 -389h-250zM537 594h254v479z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1288" d="M104 662q0 145 43 272t128 222t211 150.5t294 55.5q111 0 221.5 -23.5t190.5 -64.5l-59 -213q-66 45 -157 72.5t-208 27.5q-111 0 -189.5 -34.5t-128 -98t-73 -153t-23.5 -197.5q0 -248 105.5 -375t304.5 -127q123 0 224.5 37t166.5 90l62 -203q-78 -47 -183.5 -82.5 t-236.5 -40.5l-37 -61q31 8 59 8q72 0 117 -48t45 -120q0 -41 -19.5 -76.5t-53.5 -64.5t-81 -45t-102 -16q-53 0 -103.5 11t-91.5 27l-2 13l58 98h14q23 -10 58.5 -17.5t70.5 -7.5t62.5 13.5t27.5 48.5q0 37 -25.5 50t-60.5 13q-25 0 -50.5 -4t-47.5 -10l-39 53l90 138 q-150 12 -259.5 70.5t-181 150.5t-106.5 211t-35 250z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1083" d="M180 0v1352h783v-205h-547v-328h409v-205h-409v-409h588v-205h-824zM356 1630q0 35 16.5 71t45.5 36q8 0 20 -6l369 -207l6 -15l-31 -73l-16 -6l-383 141q-14 4 -20.5 20t-6.5 39z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1083" d="M180 0v1352h783v-205h-547v-328h409v-205h-409v-409h588v-205h-824zM381 1509l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71q0 -23 -6.5 -39t-20.5 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xca;" horiz-adv-x="1083" d="M180 0v1352h783v-205h-547v-328h409v-205h-409v-409h588v-205h-824zM367 1507l6 15l225 202h16l226 -202l6 -15l-33 -59l-14 -6l-193 84l-192 -84l-15 6z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1083" d="M180 0v1352h783v-205h-547v-328h409v-205h-409v-409h588v-205h-824zM330 1606q0 47 34.5 83.5t81.5 36.5t84 -36.5t37 -83.5t-36.5 -82t-84.5 -35q-47 0 -81.5 35t-34.5 82zM608 1606q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82z" /> -<glyph unicode="&#xcc;" horiz-adv-x="595" d="M45 1630q0 35 16.5 71t44.5 36q8 0 21 -6l369 -207l6 -15l-31 -73l-16 -6l-383 141q-14 4 -20.5 20t-6.5 39zM180 0v1352h236v-1352h-236z" /> -<glyph unicode="&#xcd;" horiz-adv-x="595" d="M94 1509l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71q0 -23 -6 -39t-21 -20l-383 -141l-16 6zM180 0v1352h236v-1352h-236z" /> -<glyph unicode="&#xce;" horiz-adv-x="595" d="M53 1507l6 15l226 202h16l225 -202l6 -15l-32 -59l-15 -6l-192 84l-193 -84l-14 6zM180 0v1352h236v-1352h-236z" /> -<glyph unicode="&#xcf;" horiz-adv-x="595" d="M43 1604q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82zM180 0v1352h236v-1352h-236zM322 1604q0 47 34.5 83.5t81.5 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-81.5 35t-34.5 82z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1462" d="M41 637v151h152v564q27 2 84 4t120.5 3t122 2t90.5 1q199 0 327 -41t212 -113q109 -94 158 -239.5t49 -321.5q0 -133 -34 -255t-121 -214t-239.5 -146.5t-390.5 -54.5q-86 0 -184 6.5t-194 16.5v637h-152zM428 180q57 -4 110.5 -6t90.5 -2q248 0 361.5 119t113.5 387 q0 121 -23.5 212t-81 152.5t-153.5 92t-240 30.5h-77q-48 0 -101 -2v-375h303v-151h-303v-457z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1478" d="M180 0v1352h289l594 -994v994h235v-1352h-288l-594 991v-991h-236zM387 1511q12 37 25.5 71t36 59.5t55.5 41t84 15.5q59 0 129.5 -14.5t126.5 -14.5q37 0 75.5 11.5t79.5 41.5l25 -47q-6 -33 -19.5 -66.5t-35 -60t-53 -44t-76.5 -17.5q-25 0 -56.5 4t-68.5 10t-75 10.5 t-73 4.5q-47 0 -86 -11.5t-67 -40.5z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1519" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -250 102.5 -377t295.5 -127q113 0 191.5 38 t129.5 104.5t74.5 156.5t23.5 193q0 111 -24.5 200.5t-75.5 155.5t-130 101.5t-185 35.5q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5zM471 1630q0 35 16.5 71t44.5 36q8 0 21 -6l369 -207l6 -15l-31 -73l-16 -6l-383 141q-14 4 -20.5 20t-6.5 39z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1519" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -250 102.5 -377t295.5 -127q113 0 191.5 38 t129.5 104.5t74.5 156.5t23.5 193q0 111 -24.5 200.5t-75.5 155.5t-130 101.5t-185 35.5q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5zM610 1509l6 15l369 207q12 6 21 6q29 0 45 -36t16 -71q0 -23 -6 -39t-21 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1519" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -250 102.5 -377t295.5 -127q113 0 191.5 38 t129.5 104.5t74.5 156.5t23.5 193q0 111 -24.5 200.5t-75.5 155.5t-130 101.5t-185 35.5q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5zM541 1507l6 15l225 202h16l226 -202l6 -15l-33 -59l-14 -6l-193 84l-192 -84l-15 6z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1519" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -250 102.5 -377t295.5 -127q113 0 191.5 38 t129.5 104.5t74.5 156.5t23.5 193q0 111 -24.5 200.5t-75.5 155.5t-130 101.5t-185 35.5q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5zM442 1511q12 37 25.5 71t36 59.5t55.5 41t84 15.5q59 0 130 -14.5t126 -14.5q37 0 76 11.5t80 41.5l24 -47q-6 -33 -19 -66.5 t-34.5 -60t-53.5 -44t-77 -17.5q-25 0 -56.5 4t-68.5 10t-75 10.5t-72 4.5q-47 0 -86 -11.5t-68 -40.5z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1519" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q160 0 282.5 -55.5t206.5 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -250 102.5 -377t295.5 -127q113 0 191.5 38 t129.5 104.5t74.5 156.5t23.5 193q0 111 -24.5 200.5t-75.5 155.5t-130 101.5t-185 35.5q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5zM504 1604q0 47 34.5 83.5t82.5 36.5q47 0 83.5 -36.5t36.5 -83.5t-36.5 -82t-83.5 -35t-82 35t-35 82zM782 1604q0 47 35 83.5 t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82z" /> -<glyph unicode="&#xd7;" horiz-adv-x="933" d="M129 258l231 231l-231 230l107 106l231 -229l233 233l107 -106l-234 -234l234 -235l-105 -104l-235 233l-231 -231z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1521" d="M72 41l155 184q-63 90 -94 201t-31 233q0 145 44 273.5t128 223.5t207 150.5t281 55.5q104 0 192 -24.5t160 -67.5l137 162l166 -127l-147 -172q76 -94 113.5 -212t37.5 -247q0 -135 -42 -261t-127 -223.5t-211 -156t-293 -58.5q-113 0 -206 27t-165 76l-150 -176z M354 680q0 -156 39 -260l582 688q-90 53 -219 53q-109 0 -185.5 -35.5t-125 -99t-70 -152t-21.5 -194.5zM518 244q92 -68 234 -68q113 0 191.5 38t129.5 104.5t74.5 156.5t23.5 193q0 166 -55 282z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1443" d="M166 475v877h235v-828q0 -186 86 -267t240 -81t241 81t87 267v828h225v-877q0 -100 -33 -190t-101.5 -159t-176 -109t-254.5 -40t-252 40t-171.5 109t-96 159t-29.5 190zM467 1630q0 35 16.5 71t44.5 36q8 0 21 -6l369 -207l6 -15l-31 -73l-16 -6l-383 141 q-14 4 -20.5 20t-6.5 39z" /> -<glyph unicode="&#xda;" horiz-adv-x="1443" d="M166 475v877h235v-828q0 -186 86 -267t240 -81t241 81t87 267v828h225v-877q0 -100 -33 -190t-101.5 -159t-176 -109t-254.5 -40t-252 40t-171.5 109t-96 159t-29.5 190zM526 1509l6 15l369 207q12 6 21 6q29 0 45 -36t16 -71q0 -23 -6 -39t-21 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1443" d="M166 475v877h235v-828q0 -186 86 -267t240 -81t241 81t87 267v828h225v-877q0 -100 -33 -190t-101.5 -159t-176 -109t-254.5 -40t-252 40t-171.5 109t-96 159t-29.5 190zM475 1507l6 15l226 202h16l225 -202l6 -15l-32 -59l-15 -6l-192 84l-193 -84l-14 6z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1443" d="M166 475v877h235v-828q0 -186 86 -267t240 -81t241 81t87 267v828h225v-877q0 -100 -33 -190t-101.5 -159t-176 -109t-254.5 -40t-252 40t-171.5 109t-96 159t-29.5 190zM489 1604q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82zM768 1604 q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1155" d="M-25 1352h265l346 -613l332 613h260l-482 -797v-555h-235v547zM432 1509l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71q0 -23 -6 -39t-21 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xde;" horiz-adv-x="1089" d="M180 0v1352h236v-226h90q115 0 209 -27.5t161.5 -82.5t104.5 -136t37 -188q0 -86 -28.5 -161.5t-86 -133t-146.5 -91.5t-208 -34h-69q-34 0 -64 2v-274h-236zM416 471q29 -2 60 -2h67q111 0 167 61.5t56 178.5q0 98 -50 159.5t-177 61.5h-64q-31 0 -59 -2v-457z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1132" d="M141 0v995q0 115 26 209t77 162t128 104.5t179 36.5q76 0 137.5 -23.5t104.5 -61.5t66.5 -88t23.5 -103q0 -70 -33 -128.5t-72 -110.5t-71.5 -100t-32.5 -93q0 -43 29.5 -75t74.5 -62.5t98.5 -63.5t98.5 -77t74.5 -101.5t29.5 -136.5q0 -92 -33.5 -157t-83 -104.5 t-106.5 -58t-106 -18.5q-74 0 -136.5 27.5t-103.5 62.5l59 215q35 -59 84 -98t111 -39q41 0 71.5 36.5t30.5 110.5q0 72 -28.5 121t-71.5 85t-94 65.5t-94 63.5t-72 78t-29 111q0 72 30 127.5t65.5 104.5t65.5 98t30 107q0 49 -32 84.5t-93 35.5q-66 0 -104 -28.5 t-59.5 -76.5t-27.5 -110.5t-6 -130.5v-995h-205z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M215 1288q0 35 16.5 71t44.5 36q8 0 21 -6l369 -207l6 -15l-31 -73l-16 -7l-383 142q-14 4 -20.5 20t-6.5 39zM309 281q0 -123 125 -123q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M309 281q0 -123 125 -123q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137zM367 1169l6 15l368 207q12 6 21 6q29 0 45 -36t16 -71q0 -23 -6 -39t-20 -20l-383 -141l-17 6z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M256 1161l6 15l225 202h17l225 -202l6 -15l-33 -59l-14 -6l-192 84l-193 -84l-14 6zM309 281q0 -123 125 -123q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M193 1184q12 37 25 70.5t35.5 59t55.5 41t84 15.5q59 0 130 -14.5t126 -14.5q37 0 76 11.5t80 42.5l24 -47q-6 -33 -19 -67t-34.5 -60.5t-53.5 -44t-77 -17.5q-25 0 -56.5 4t-68.5 10.5t-74.5 10.5t-72.5 4q-47 0 -86 -11.5t-68 -39.5zM309 281q0 -123 125 -123 q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M258 1253q0 47 35 84t82 37t84 -37t37 -84t-37 -81.5t-84 -34.5t-82 34.5t-35 81.5zM309 281q0 -123 125 -123q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137zM537 1253q0 47 34.5 84t81.5 37t84 -37t37 -84t-37 -81.5t-84 -34.5t-81.5 34.5t-34.5 81.5z " /> -<glyph unicode="&#xe5;" horiz-adv-x="1026" d="M70 248q0 84 35.5 150.5t103 112.5t162 70.5t211.5 24.5h88v31q0 80 -52 117q-53 37 -165 37q-152 0 -271 -68l-43 170q137 80 332 80q205 0 311 -84q49 -39 81 -100.5t32 -147.5v-641h-180l-17 129h-8q-55 -70 -150.5 -112t-193.5 -42q-129 0 -202.5 75t-73.5 198z M309 281q0 -123 125 -123q66 0 131.5 31.5t104.5 84.5v187h-39q-168 0 -245 -43t-77 -137zM336 1249q0 66 50 118t138 52q45 0 80 -15t59.5 -40t38 -55.5t13.5 -63.5q0 -61 -48.5 -112.5t-140.5 -51.5q-49 0 -84.5 15.5t-59.5 39t-35 53t-11 60.5zM453 1251 q0 -29 20.5 -54.5t52.5 -25.5q33 0 51.5 24t18.5 50q0 29 -19.5 56.5t-54.5 27.5t-52 -24.5t-17 -53.5z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1642" d="M70 248q0 117 55 187.5t135 108.5t169 50t155 12h86v19q0 55 -16.5 84.5t-47.5 50.5q-27 16 -56.5 23.5t-76.5 7.5q-90 0 -157.5 -18.5t-133.5 -49.5l-43 170q147 80 346 80q45 0 93.5 -6t94.5 -21.5t87 -41t71 -64.5q61 61 148.5 97t198.5 36q180 0 278 -91t98 -257 q0 -23 -3 -48.5t-8 -50t-12 -44t-15 -31.5h-596q4 -61 22.5 -115.5t53 -94.5t84.5 -63.5t118 -23.5q76 0 161 28.5t144 71.5l37 -168q-27 -16 -65.5 -35.5t-88 -36t-105.5 -28t-118 -11.5q-127 0 -220 48.5t-152 128.5q-86 -98 -200 -137.5t-237 -39.5q-72 0 -125 20.5 t-88 57.5t-53 87.5t-18 107.5zM309 266q0 -53 34 -80.5t91 -27.5q59 0 127 29.5t109 86.5v191h-15q-59 0 -120.5 -6t-111.5 -26.5t-82 -59.5t-32 -107zM938 610h391q2 10 2 19v18q0 74 -48 112t-112 38q-92 0 -150 -52.5t-83 -134.5z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1003" d="M88 479q0 98 27.5 187.5t87 158t151.5 108.5t221 40q98 0 192.5 -22.5t152.5 -59.5l-50 -182q-23 16 -56.5 32.5t-72.5 28.5t-81 19.5t-78 7.5q-70 0 -118 -26t-78 -67.5t-43 -97t-13 -114.5q0 -70 16 -130.5t49 -105.5t83 -71.5t116 -26.5q74 0 157 29.5t138 82.5 l41 -192q-53 -35 -139 -64.5t-187 -36.5l-37 -61q31 8 60 8q72 0 116.5 -48t44.5 -120q0 -41 -19 -76.5t-53 -64.5t-81 -45t-103 -16q-53 0 -103 11t-91 27l-2 13l57 98h15q23 -10 58.5 -17.5t70.5 -7.5t62.5 13.5t27.5 48.5q0 37 -26 50t-60 13q-25 0 -50.5 -4t-48.5 -10 l-39 53l91 138q-102 12 -178 56t-127.5 110.5t-76 152.5t-24.5 180z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1034" d="M84 471q0 100 31.5 191.5t93 161t153 109.5t207.5 40q180 0 278.5 -91t98.5 -257q0 -23 -3 -48.5t-8 -50t-12.5 -44t-15.5 -31.5h-596q4 -61 22.5 -115.5t53.5 -94.5t85 -63.5t118 -23.5q76 0 161 28.5t144 71.5l37 -168q-27 -16 -66 -35.5t-88 -36t-105.5 -28 t-117.5 -11.5q-115 0 -203 40t-147.5 109t-90 159t-30.5 188zM266 1288q0 35 16.5 71t45.5 36q8 0 20 -6l369 -207l6 -15l-31 -73l-16 -7l-383 142q-14 4 -20.5 20t-6.5 39zM330 610h391q2 10 2 19v18q0 74 -48 112t-112 38q-92 0 -150 -52.5t-83 -134.5z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1034" d="M84 471q0 100 31.5 191.5t93 161t153 109.5t207.5 40q180 0 278.5 -91t98.5 -257q0 -23 -3 -48.5t-8 -50t-12.5 -44t-15.5 -31.5h-596q4 -61 22.5 -115.5t53.5 -94.5t85 -63.5t118 -23.5q76 0 161 28.5t144 71.5l37 -168q-27 -16 -66 -35.5t-88 -36t-105.5 -28 t-117.5 -11.5q-115 0 -203 40t-147.5 109t-90 159t-30.5 188zM330 610h391q2 10 2 19v18q0 74 -48 112t-112 38q-92 0 -150 -52.5t-83 -134.5zM379 1169l6 15l369 207q12 6 20 6q29 0 45.5 -37t16.5 -70q0 -23 -6.5 -39t-20.5 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xea;" horiz-adv-x="1034" d="M84 471q0 100 31.5 191.5t93 161t153 109.5t207.5 40q180 0 278.5 -91t98.5 -257q0 -23 -3 -48.5t-8 -50t-12.5 -44t-15.5 -31.5h-596q4 -61 22.5 -115.5t53.5 -94.5t85 -63.5t118 -23.5q76 0 161 28.5t144 71.5l37 -168q-27 -16 -66 -35.5t-88 -36t-105.5 -28 t-117.5 -11.5q-115 0 -203 40t-147.5 109t-90 159t-30.5 188zM303 1161l6 15l226 202h16l225 -202l6 -15l-32 -59l-15 -6l-192 84l-193 -84l-14 6zM330 610h391q2 10 2 19v18q0 74 -48 112t-112 38q-92 0 -150 -52.5t-83 -134.5z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1034" d="M84 471q0 100 31.5 191.5t93 161t153 109.5t207.5 40q180 0 278.5 -91t98.5 -257q0 -23 -3 -48.5t-8 -50t-12.5 -44t-15.5 -31.5h-596q4 -61 22.5 -115.5t53.5 -94.5t85 -63.5t118 -23.5q76 0 161 28.5t144 71.5l37 -168q-27 -16 -66 -35.5t-88 -36t-105.5 -28 t-117.5 -11.5q-115 0 -203 40t-147.5 109t-90 159t-30.5 188zM283 1253q0 47 34.5 84t81.5 37t84 -37t37 -84t-37 -81.5t-84 -34.5t-81.5 34.5t-34.5 81.5zM330 610h391q2 10 2 19v18q0 74 -48 112t-112 38q-92 0 -150 -52.5t-83 -134.5zM561 1253q0 47 35 84t82 37t84 -37 t37 -84t-37 -81.5t-84 -34.5t-82 34.5t-35 81.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="507" d="M-49 1288q0 35 16.5 71t44.5 36q8 0 21 -6l368 -207l7 -15l-31 -73l-17 -7l-383 142q-14 4 -20 20t-6 39zM141 0v942h226v-942h-226z" /> -<glyph unicode="&#xed;" horiz-adv-x="507" d="M49 1169l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71q0 -23 -6 -39t-21 -20l-383 -141l-16 6zM141 0v942h226v-942h-226z" /> -<glyph unicode="&#xee;" horiz-adv-x="507" d="M8 1161l6 15l226 202h16l225 -202l6 -15l-32 -59l-15 -6l-192 84l-193 -84l-14 6zM141 0v942h226v-942h-226z" /> -<glyph unicode="&#xef;" horiz-adv-x="507" d="M-6 1253q0 47 34.5 84t82.5 37q47 0 83.5 -37t36.5 -84t-36.5 -81.5t-83.5 -34.5t-82 34.5t-35 81.5zM141 0v942h226v-942h-226zM272 1253q0 47 35 84t82 37t84 -37t37 -84t-37 -81.5t-84 -34.5t-82 34.5t-35 81.5z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1146" d="M86 475q0 100 28.5 190.5t86 159t141.5 108.5t193 40q104 0 173.5 -36t106.5 -97l6 2q-10 72 -44 156.5t-85 170.5l-237 -59l-43 133l198 51q-53 72 -113.5 129.5t-119.5 92.5h301q37 -35 72.5 -77t68.5 -89l252 67l43 -139l-217 -55q68 -129 110 -288t42 -341 q0 -125 -24 -236.5t-79 -196.5t-147 -135.5t-232 -50.5q-131 0 -222 43t-148.5 114t-84 161t-26.5 182zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5 t-13 -120.5z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1120" d="M141 0v942h176l11 -139h8q43 86 134 128t196 42q68 0 127 -17.5t105 -56.5t72.5 -102.5t26.5 -155.5v-641h-225v623q0 168 -143 168q-35 0 -75 -12.5t-77 -36t-66.5 -58.5t-43.5 -80v-604h-226zM233 1184q12 37 25.5 70.5t36 59t55.5 41t84 15.5q59 0 130 -14.5 t126 -14.5q37 0 76 11.5t80 42.5l24 -47q-6 -33 -19 -67t-34.5 -60.5t-53.5 -44t-77 -17.5q-25 0 -56.5 4t-68.5 10.5t-74.5 10.5t-72.5 4q-47 0 -86 -11.5t-68 -39.5z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1124" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q125 0 215 -42t148.5 -112.5t86 -162t27.5 -191.5t-27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM264 1288q0 35 16.5 71t45.5 36q8 0 20 -6l369 -207l6 -15l-31 -73 l-16 -7l-383 142q-14 4 -20.5 20t-6.5 39zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1124" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q125 0 215 -42t148.5 -112.5t86 -162t27.5 -191.5t-27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26 t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5zM393 1169l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71q0 -23 -6 -39t-21 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1124" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q125 0 215 -42t148.5 -112.5t86 -162t27.5 -191.5t-27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26 t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5zM340 1161l6 15l225 202h17l225 -202l6 -15l-33 -59l-14 -6l-192 84l-193 -84l-14 6z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1124" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q125 0 215 -42t148.5 -112.5t86 -162t27.5 -191.5t-27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM223 1184q12 37 25.5 70.5t36 59t55.5 41t84 15.5q59 0 130 -14.5 t126 -14.5q37 0 76 11.5t80 42.5l24 -47q-6 -33 -19.5 -67t-35 -60.5t-53 -44t-76.5 -17.5q-25 0 -56.5 4t-68.5 10.5t-75 10.5t-73 4q-47 0 -85.5 -11.5t-67.5 -39.5zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26t73 70t42 101t13.5 121q0 66 -14.5 126 t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1124" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q125 0 215 -42t148.5 -112.5t86 -162t27.5 -191.5t-27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM307 1253q0 47 35 84t82 37t84 -37t37 -84t-37 -81.5t-84 -34.5 t-82 34.5t-35 81.5zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5zM586 1253q0 47 34.5 84t81.5 37t84 -37t37 -84t-36.5 -81.5t-84.5 -34.5 q-47 0 -81.5 34.5t-34.5 81.5z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1050" d="M102 406v167h848v-167h-848zM401 131q0 29 11.5 55.5t32 48t46 34t56.5 12.5q29 0 55.5 -12.5t48 -34t33.5 -48t12 -55.5q0 -31 -12 -56.5t-33.5 -46t-48.5 -31.5t-55 -11q-59 0 -102.5 43t-43.5 102zM401 844q0 29 11.5 55.5t32 48t46 33.5t56.5 12q29 0 55.5 -12 t48 -33.5t33.5 -48.5t12 -55q0 -31 -12 -56.5t-33.5 -46t-48.5 -32t-55 -11.5q-59 0 -102.5 43.5t-43.5 102.5z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1126" d="M66 25l112 129q-47 66 -69.5 147.5t-22.5 173.5q0 100 28.5 190.5t87 159t148.5 108.5t211 40q84 0 151.5 -19.5t121.5 -54.5l104 119l121 -90l-117 -133q49 -70 72.5 -154t23.5 -176q0 -100 -27.5 -189.5t-86 -156t-147.5 -105.5t-210 -39q-86 0 -154.5 19.5 t-121.5 54.5l-111 -127zM328 481q0 -88 20 -155l361 407q-29 29 -68 46.5t-86 17.5q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5zM412 211q59 -66 153 -66q59 0 103.5 26t73 70t42 101t13.5 121q0 86 -25 160z" /> -<glyph unicode="&#xf9;" d="M133 301v641h225v-612q0 -84 44 -128t114 -44q72 0 131.5 48t87.5 138v598h228v-942h-177l-12 131h-8q-23 -47 -57.5 -76.5t-76.5 -47t-87 -25t-88 -7.5q-68 0 -126.5 16.5t-102.5 54.5t-69.5 100.5t-25.5 154.5zM252 1288q0 35 16.5 71t44.5 36q8 0 21 -6l368 -207 l7 -15l-31 -73l-16 -7l-383 142q-14 4 -20.5 20t-6.5 39z" /> -<glyph unicode="&#xfa;" d="M133 301v641h225v-612q0 -84 44 -128t114 -44q72 0 131.5 48t87.5 138v598h228v-942h-177l-12 131h-8q-23 -47 -57.5 -76.5t-76.5 -47t-87 -25t-88 -7.5q-68 0 -126.5 16.5t-102.5 54.5t-69.5 100.5t-25.5 154.5zM328 1169l6 15l368 207q12 6 21 6q29 0 45 -36t16 -71 q0 -23 -6 -39t-20 -20l-383 -141l-17 6z" /> -<glyph unicode="&#xfb;" d="M133 301v641h225v-612q0 -84 44 -128t114 -44q72 0 131.5 48t87.5 138v598h228v-942h-177l-12 131h-8q-23 -47 -57.5 -76.5t-76.5 -47t-87 -25t-88 -7.5q-68 0 -126.5 16.5t-102.5 54.5t-69.5 100.5t-25.5 154.5zM299 1161l6 15l225 202h17l225 -202l6 -15l-33 -59 l-14 -6l-192 84l-193 -84l-14 6z" /> -<glyph unicode="&#xfc;" d="M133 301v641h225v-612q0 -84 44 -128t114 -44q72 0 131.5 48t87.5 138v598h228v-942h-177l-12 131h-8q-23 -47 -57.5 -76.5t-76.5 -47t-87 -25t-88 -7.5q-68 0 -126.5 16.5t-102.5 54.5t-69.5 100.5t-25.5 154.5zM281 1253q0 47 34.5 84t81.5 37t84 -37t37 -84t-37 -81.5 t-84 -34.5t-81.5 34.5t-34.5 81.5zM559 1253q0 47 35 84t82 37t84 -37t37 -84t-37 -81.5t-84 -34.5t-82 34.5t-35 81.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1062" d="M-14 942h235l328 -670l262 670h217l-389 -950q-29 -72 -79 -161t-118.5 -168t-154.5 -133t-187 -54q-16 0 -24 1t-19 5l-39 176q6 -2 14.5 -4t35.5 -2q39 0 76.5 8t76.5 33q74 47 128 131t106 207zM383 1169l6 15l369 207q12 6 20 6q29 0 45.5 -36t16.5 -71 q0 -23 -6.5 -39t-20.5 -20l-383 -141l-16 6z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1177" d="M141 -532v2048h217v-682h9q25 29 59.5 54t74.5 43.5t83 30t82 11.5q111 0 190.5 -42t131.5 -111.5t77 -161t25 -189.5q0 -100 -26 -190.5t-79 -158t-133 -106.5t-190 -39q-92 0 -171 27t-126 86v-620h-224zM365 268q61 -76 125.5 -95t117.5 -19q68 0 116 24.5t80 66.5 t47 98t15 122q0 61 -13 121.5t-43 107.5t-75 77t-106 30q-31 0 -68 -9.5t-72.5 -26.5t-68.5 -42t-55 -55v-400z" /> -<glyph unicode="&#xff;" horiz-adv-x="1062" d="M-14 942h235l328 -670l262 670h217l-389 -950q-29 -72 -79 -161t-118.5 -168t-154.5 -133t-187 -54q-16 0 -24 1t-19 5l-39 176q6 -2 14.5 -4t35.5 -2q39 0 76.5 8t76.5 33q74 47 128 131t106 207zM250 1253q0 47 34.5 84t82.5 37q47 0 83.5 -37t36.5 -84t-36.5 -81.5 t-83.5 -34.5t-82 34.5t-35 81.5zM528 1253q0 47 35 84t82 37t84 -37t37 -84t-37 -81.5t-84 -34.5t-82 34.5t-35 81.5z" /> -<glyph unicode="&#x152;" horiz-adv-x="1730" d="M100 659q0 145 44 273.5t128 223.5t207 150.5t281 55.5q39 0 75.5 -3t71.5 -7h703v-205h-508v-328h371v-205h-371v-409h549v-205h-709q-90 -25 -197 -25q-164 0 -284.5 55.5t-200.5 149.5t-120 218t-40 261zM352 680q0 -252 102.5 -380t295.5 -128q63 0 116 18v957 q-53 18 -112 18q-109 0 -185.5 -35.5t-125 -100t-70 -154t-21.5 -195.5z" /> -<glyph unicode="&#x153;" horiz-adv-x="1728" d="M86 475q0 100 28.5 190.5t87 159t148.5 108.5t211 40q119 0 208 -43t142 -137q121 180 353 180q180 0 278 -91t98 -257q0 -23 -3 -48.5t-8 -50t-12 -44t-15 -31.5h-596q4 -61 22.5 -115.5t53 -94.5t85 -63.5t117.5 -23.5q76 0 161 28.5t144 71.5l37 -168 q-27 -16 -65.5 -35.5t-88 -36t-105.5 -28t-118 -11.5q-109 0 -195.5 41t-140.5 131q-53 -94 -141 -133t-205 -39q-125 0 -215 41t-149.5 110t-88 159t-28.5 190zM328 481q0 -66 13 -126t43 -107t75 -75t106 -28q59 0 103.5 26t73 70t42 101t13.5 121q0 66 -14.5 126t-44 106 t-75 74t-108.5 28q-59 0 -102 -26t-71 -69t-41 -100.5t-13 -120.5zM1024 610h391q2 10 2 19v18q0 74 -48 112t-112 38q-92 0 -150 -52.5t-83 -134.5z" /> -<glyph unicode="&#x178;" horiz-adv-x="1155" d="M-25 1352h265l346 -613l332 613h260l-482 -797v-555h-235v547zM328 1604q0 47 34.5 83.5t81.5 36.5t84 -36.5t37 -83.5t-36.5 -82t-84.5 -35q-47 0 -81.5 35t-34.5 82zM606 1604q0 47 35 83.5t82 36.5t84 -36.5t37 -83.5t-37 -82t-84 -35t-82 35t-35 82z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="479" d="M0 1161l6 15l225 202h17l225 -202l6 -15l-33 -59l-14 -6l-192 84l-193 -84l-14 6z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="636" d="M0 1163q12 37 26.5 71t36 59.5t54.5 41t84 15.5q59 0 129.5 -14.5t126.5 -14.5q37 0 75.5 11t79.5 42l25 -47q-6 -33 -19.5 -66.5t-35 -60t-53 -44t-76.5 -17.5q-25 0 -56.5 4t-68.5 10t-75 10t-73 4q-47 0 -86 -11t-67 -40z" /> -<glyph unicode="&#x2000;" horiz-adv-x="868" /> -<glyph unicode="&#x2001;" horiz-adv-x="1738" /> -<glyph unicode="&#x2002;" horiz-adv-x="868" /> -<glyph unicode="&#x2003;" horiz-adv-x="1738" /> -<glyph unicode="&#x2004;" horiz-adv-x="579" /> -<glyph unicode="&#x2005;" horiz-adv-x="434" /> -<glyph unicode="&#x2006;" horiz-adv-x="288" /> -<glyph unicode="&#x2007;" horiz-adv-x="288" /> -<glyph unicode="&#x2008;" horiz-adv-x="217" /> -<glyph unicode="&#x2009;" horiz-adv-x="346" /> -<glyph unicode="&#x200a;" horiz-adv-x="96" /> -<glyph unicode="&#x2010;" horiz-adv-x="958" d="M133 406v167h692v-167h-692z" /> -<glyph unicode="&#x2011;" horiz-adv-x="958" d="M133 406v167h692v-167h-692z" /> -<glyph unicode="&#x2012;" horiz-adv-x="958" d="M133 406v167h692v-167h-692z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1114" d="M133 406v167h848v-167h-848z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1581" d="M133 406v167h1315v-167h-1315z" /> -<glyph unicode="&#x2018;" horiz-adv-x="516" d="M135 942v311l211 252l74 -51l-92 -231h51v-281h-244z" /> -<glyph unicode="&#x2019;" horiz-adv-x="477" d="M106 993l93 232h-52v280h244v-311l-211 -252z" /> -<glyph unicode="&#x201a;" horiz-adv-x="534" d="M104 -242l93 232h-52v280h244v-311l-211 -252z" /> -<glyph unicode="&#x201c;" horiz-adv-x="841" d="M135 942v311l211 252l74 -51l-92 -231h51v-281h-244zM461 942v311l211 252l73 -51l-92 -231h52v-281h-244z" /> -<glyph unicode="&#x201d;" horiz-adv-x="802" d="M106 993l93 232h-52v280h244v-311l-211 -252zM432 993l92 232h-51v280h244v-311l-211 -252z" /> -<glyph unicode="&#x201e;" horiz-adv-x="860" d="M104 -242l93 232h-52v280h244v-311l-211 -252zM430 -242l92 232h-51v280h244v-311l-211 -252z" /> -<glyph unicode="&#x2022;" horiz-adv-x="659" d="M182 498q0 29 11.5 55.5t32 48t46 33.5t56.5 12q29 0 55.5 -12t48 -33.5t33.5 -48.5t12 -55q0 -31 -12 -56.5t-33.5 -46t-48.5 -32t-55 -11.5q-59 0 -102.5 43.5t-43.5 102.5z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1298" d="M115 121q0 29 11 55.5t31.5 48t46 33.5t56.5 12q29 0 55.5 -12t48 -33.5t34 -48t12.5 -55.5q0 -31 -12.5 -56.5t-34 -46t-48 -32t-55.5 -11.5q-59 0 -102 43.5t-43 102.5zM504 121q0 29 11 55.5t31.5 48t46 33.5t56.5 12q29 0 55.5 -12t48 -33.5t34 -48t12.5 -55.5 q0 -31 -12.5 -56.5t-34 -46t-48 -32t-55.5 -11.5q-59 0 -102 43.5t-43 102.5zM891 121q0 29 11 55.5t31.5 48t46.5 33.5t56 12q29 0 55.5 -12t48 -33.5t34 -48t12.5 -55.5q0 -31 -12.5 -56.5t-34 -46t-48 -32t-55.5 -11.5q-59 0 -102 43.5t-43 102.5z" /> -<glyph unicode="&#x202f;" horiz-adv-x="346" /> -<glyph unicode="&#x2039;" horiz-adv-x="690" d="M88 489v11l274 360h230l-297 -362v-11l297 -362h-232z" /> -<glyph unicode="&#x203a;" horiz-adv-x="690" d="M98 125l297 362v11l-297 362h230l274 -360v-11l-272 -364h-232z" /> -<glyph unicode="&#x205f;" horiz-adv-x="434" /> -<glyph unicode="&#x20ac;" horiz-adv-x="1261" d="M86 461v168h156v33v37q0 19 2 38h-158v168h184q25 100 71 184.5t113.5 144.5t155.5 94t197 34q92 0 188.5 -23.5t161.5 -64.5l-65 -227q-51 49 -125 81.5t-170 32.5q-123 0 -189.5 -68.5t-95.5 -187.5h432v-168h-452v-108h452v-168h-434q59 -285 274 -285q104 0 193.5 37 t142.5 94l62 -207q-72 -49 -171.5 -87t-226.5 -38q-113 0 -200.5 37t-153 102.5t-107.5 153.5t-63 193h-174z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1458" d="M133 1206v131h442v-131h-151v-450h-139v450h-152zM643 756v581h184l146 -411l143 411h182v-581h-139v336l-123 -336h-133l-121 338v-338h-139z" /> -<glyph unicode="&#xe000;" horiz-adv-x="940" d="M0 940h940v-940h-940v940z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1075" d="M70 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57q41 53 107.5 77t146.5 24q25 0 61 -3t79 -14.5t92 -32t98 -53.5l-92 -166q-55 35 -114.5 71t-139.5 36q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137h-180v-805h-226v805h-116zM711 0v942 h225v-942h-225z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1097" d="M70 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57q41 53 107.5 77t146.5 24q47 0 139.5 -12.5t190.5 -47.5l88 50v-1516h-225v1319q-47 16 -97.5 30.5t-111.5 14.5q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137h-180v-805h-226v805h-116z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="1777" d="M1379 1245q0 29 11 55.5t31.5 48t46 34t56.5 12.5q29 0 55.5 -12.5t48 -34t33.5 -48t12 -55.5q0 -31 -12 -56.5t-33.5 -46t-48 -31.5t-55.5 -11q-59 0 -102 43t-43 102zM1411 0v942h226v-942h-226zM705 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57 q41 53 107.5 77t146.5 24q10 0 33 -1t50.5 -5t57 -13.5t54.5 -23.5l-51 -174q-20 12 -67.5 33.5t-92.5 21.5q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137h-180v-805h-226v805h-116zM70 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57 q41 53 107.5 77t146.5 24q10 0 33 -1t50.5 -5t57 -13.5t54.5 -23.5l-51 -174q-20 12 -67.5 33.5t-92.5 21.5q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137h-180v-805h-226v805h-116z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="1802" d="M1424 0v1516h225v-1516h-225zM705 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57q41 53 107.5 77t146.5 24q10 0 33 -1t50.5 -5t57 -13.5t54.5 -23.5l-51 -174q-20 12 -67.5 33.5t-92.5 21.5q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137 h-180v-805h-226v805h-116zM70 805v117l116 18q0 117 7.5 199t19.5 138t27.5 91t31.5 57q41 53 107.5 77t146.5 24q10 0 33 -1t50.5 -5t57 -13.5t54.5 -23.5l-51 -174q-20 12 -67.5 33.5t-92.5 21.5q-27 0 -45.5 -12.5t-30.5 -45t-17 -88t-5 -141.5v-135h180v-137h-180v-805 h-226v805h-116z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.ttf deleted file mode 100755 index 7389c87..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.woff deleted file mode 100755 index fc14168..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bold-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.eot deleted file mode 100755 index 7c1aa7a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.svg deleted file mode 100755 index 9070a8b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.svg +++ /dev/null @@ -1,248 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2011 Pablo Impallari wwwimpallaricomimpallarigmailcomCopyright c 2011 Igino Marini wwwikerncommailiginomarinicomCopyright c 2011 Brenda Gallo gbrenda1987gmailcomwith Reserved Font Name Quattrocento Sans -Designer : Pablo Impallari -Foundry : Pablo Impallari Igino Marini Brenda Gallo -Foundry URL : wwwimpallaricom -</metadata> -<defs> -<font id="QuattrocentoSansBoldItalic" horiz-adv-x="1179" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="501" /> -<glyph unicode=" " horiz-adv-x="501" /> -<glyph unicode="&#x09;" horiz-adv-x="501" /> -<glyph unicode="&#xa0;" horiz-adv-x="501" /> -<glyph unicode="!" horiz-adv-x="555" d="M33 96q0 33 15 62.5t40 53.5t56.5 37t66.5 13q53 0 88 -36t35 -85q0 -33 -17.5 -62.5t-44 -53t-59.5 -37t-66 -13.5q-51 0 -82.5 36t-31.5 85zM147 369l170 1028h281l-272 -1028h-179z" /> -<glyph unicode="&#x22;" horiz-adv-x="768" d="M246 1057l51 442h248l-144 -442h-155zM567 1057l51 442h248l-143 -442h-156z" /> -<glyph unicode="#" horiz-adv-x="1269" d="M49 424l72 170h198l78 182h-209l68 168h213l168 395h213l-168 -395h176l168 395h213l-168 -395h207l-68 -168h-211l-77 -182h221l-72 -170h-221l-180 -424h-213l180 424h-176l-180 -424h-213l180 424h-199zM532 594h177l77 182h-176z" /> -<glyph unicode="$" horiz-adv-x="1073" d="M-20 88l104 211q53 -51 127 -85t172 -42l92 428q-47 16 -95 41t-88 61.5t-65.5 91t-25.5 132.5q0 111 33.5 188.5t93 129.5t138.5 80t171 34l37 178h164l-39 -180q84 -8 154.5 -27.5t119.5 -44.5l-100 -217q-43 33 -100.5 56.5t-116.5 33.5l-76 -354q53 -23 104.5 -52.5 t91 -70.5t63.5 -96.5t24 -130.5q0 -115 -38 -198t-100.5 -140.5t-145.5 -89t-173 -41.5l-37 -181h-164l37 174q-115 6 -207 38t-155 73zM428 997q0 -47 27.5 -77.5t74.5 -55.5l64 297q-74 -12 -120 -52t-46 -112zM549 184q90 23 133 75t43 120q0 53 -29.5 92t-70.5 64z" /> -<glyph unicode="%" horiz-adv-x="1726" d="M156 887q0 94 31.5 180t87 151.5t131 104.5t165.5 39q63 0 110.5 -23.5t79.5 -63.5t47 -93.5t15 -112.5q0 -86 -30.5 -170t-87 -149.5t-134 -106.5t-170.5 -41q-63 0 -109 22.5t-77 60.5t-45 90.5t-14 111.5zM166 -49l1259 1464h185l-1260 -1464h-184zM332 893 q0 -158 100 -158q55 0 96 31t68 79t40 106.5t13 113.5q0 72 -26.5 118t-83.5 46q-66 0 -106 -38t-62.5 -91t-30.5 -110.5t-8 -96.5zM954 274q0 94 32 180.5t87 152t131 104.5t166 39q63 0 110.5 -24t79 -63.5t47 -93t15.5 -112.5q0 -86 -30.5 -170t-87 -149.5t-134.5 -106.5 t-170 -41q-63 0 -109.5 22.5t-77 60.5t-45 90t-14.5 111zM1130 281q0 -158 101 -158q55 0 96 30.5t67.5 79t40 106.5t13.5 114q0 72 -26.5 117.5t-84.5 45.5q-66 0 -105.5 -37.5t-62 -91t-31 -110.5t-8.5 -96z" /> -<glyph unicode="&#x26;" horiz-adv-x="1435" d="M57 299q0 61 24.5 129t72 129t116 114.5t154.5 88.5q-70 109 -70 229q0 90 32 160t84 117t119.5 71.5t141.5 24.5q70 0 141.5 -23.5t133.5 -66.5l-101 -197q-14 16 -37.5 33.5t-50 31t-55.5 22.5t-55 9q-59 0 -104.5 -43t-45.5 -122q0 -53 24.5 -98.5t59.5 -92.5 l279 -369q18 51 18 111q0 35 -8 74t-25 78l-102 -7l28 127l609 76l-33 -157l-299 -23q25 -78 25 -162q0 -152 -89 -282l213 -281h-256l-98 127q-88 -70 -201.5 -111t-248.5 -41q-100 0 -175 27t-124.5 72t-73 103.5t-23.5 121.5zM303 344q0 -86 58.5 -129t150.5 -43 q84 0 154.5 25.5t128.5 72.5l-275 359q-49 -12 -90 -41t-68.5 -69t-43 -86t-15.5 -89z" /> -<glyph unicode="'" horiz-adv-x="446" d="M246 1057l51 442h248l-144 -442h-155z" /> -<glyph unicode="(" horiz-adv-x="667" d="M84 467q0 162 45 314.5t128 292.5t199.5 267t260.5 238l129 -51q-166 -156 -268.5 -302.5t-159 -284.5t-74.5 -269t-18 -256q0 -59 7 -134t25.5 -156t48 -162t72.5 -152l-147 -52q-123 135 -185.5 322.5t-62.5 384.5z" /> -<glyph unicode=")" horiz-adv-x="667" d="M-129 -188q125 121 222 243.5t164 258t100.5 288t33.5 334.5q0 166 -40 317.5t-118 274.5l150 51q59 -68 105.5 -149.5t78 -174t48 -189.5t16.5 -196q0 -160 -45 -313.5t-128 -293.5t-200 -267t-260 -236z" /> -<glyph unicode="*" horiz-adv-x="899" d="M201 1024l260 78l-228 78l146 182l149 -178v254h209l-108 -254l225 178l68 -182l-263 -78l230 -78l-146 -182l-149 176v-252h-209l109 252l-226 -176z" /> -<glyph unicode="+" horiz-adv-x="989" d="M57 406l35 167h309l66 301h188l-65 -301h311l-35 -167h-311l-68 -322h-188l68 322h-310z" /> -<glyph unicode="," horiz-adv-x="532" d="M-63 -242l141 232h-51l59 280h244l-66 -311l-264 -252z" /> -<glyph unicode="-" horiz-adv-x="960" d="M102 406l35 167h692l-34 -167h-693z" /> -<glyph unicode="." horiz-adv-x="516" d="M20 96q0 33 15.5 63.5t41 55.5t57.5 40t67 15q51 0 86 -38.5t35 -90.5q0 -33 -16.5 -62.5t-43 -53t-59.5 -37t-66 -13.5q-53 0 -85 35t-32 86z" /> -<glyph unicode="/" horiz-adv-x="956" d="M-70 -117l899 1555h236l-899 -1555h-236z" /> -<glyph unicode="0" horiz-adv-x="1312" d="M111 485q0 170 53 328t148.5 279.5t227.5 195.5t287 74q106 0 185.5 -42t131.5 -113.5t78.5 -167t26.5 -201.5q0 -158 -53 -311.5t-149.5 -276.5t-230.5 -199t-296 -76q-104 0 -182 40t-128 110t-74.5 163t-24.5 197zM362 489q0 -154 52.5 -235.5t154.5 -81.5 q106 0 187.5 61.5t135.5 157.5t81.5 215t27.5 234q0 143 -54 234t-169 91q-117 0 -195.5 -67.5t-127.5 -169t-71 -219.5t-22 -220z" /> -<glyph unicode="1" horiz-adv-x="684" d="M150 0l210 995l-182 -73v204l494 226l-287 -1352h-235z" /> -<glyph unicode="2" horiz-adv-x="1030" d="M-23 0l43 205q74 78 159 152.5t169 146t162 141.5t138.5 137.5t96 132t35.5 127.5q0 70 -49 99.5t-127 29.5q-88 0 -180 -27.5t-164 -64.5l-10 176q43 20 97 40t111.5 35.5t115 23.5t110.5 8q154 0 244 -76t90 -201q0 -76 -32 -149.5t-86 -147t-126 -146.5t-151.5 -145.5 t-161.5 -146.5t-158 -145h547l-43 -205h-830z" /> -<glyph unicode="3" horiz-adv-x="1085" d="M-33 115l96 186q59 -59 140.5 -94t181.5 -35q158 0 239 79t81 212q0 80 -51.5 126t-170.5 46h-55l37 178h63q55 0 99.5 19.5t75 53.5t47 77t16.5 92q0 66 -42 92.5t-103 26.5q-39 0 -83 -8.5t-86 -24t-80 -35t-67 -41.5l-14 188q88 47 195.5 78t207.5 31q154 0 242 -76 t88 -201q0 -66 -20.5 -118t-56.5 -95t-85 -76.5t-104 -60.5q94 -35 146 -101.5t52 -166.5q0 -94 -39.5 -183t-115.5 -158t-188.5 -110t-256.5 -41q-254 1 -389 140z" /> -<glyph unicode="4" horiz-adv-x="1101" d="M18 389l39 184l738 779h245l-166 -779h142l-39 -184h-141l-82 -389h-236l82 389h-582zM289 573h350l106 496z" /> -<glyph unicode="5" horiz-adv-x="1093" d="M-16 113l100 194q25 -29 59.5 -52.5t76.5 -40.5t89 -27.5t94 -10.5q61 0 120 16.5t103 53.5t71.5 93t27.5 136q0 72 -47 118t-166 46q-63 0 -142 -12.5t-153 -38.5l-51 30l237 744h695l-47 -215h-504l-98 -324q45 12 93 17.5t87 5.5q162 0 257 -86t95 -242 q0 -104 -40 -202.5t-116.5 -173t-191.5 -121t-262 -46.5q-125 0 -223 36t-164 102z" /> -<glyph unicode="6" horiz-adv-x="1116" d="M104 401q0 78 13.5 179.5t45.5 208t84 209t129 183.5t181.5 130t241.5 49q37 0 81 -5t87 -17.5t81.5 -33t63.5 -51.5l-90 -180q-57 51 -128 71.5t-128 20.5q-86 0 -151.5 -37.5t-112.5 -99t-77 -137.5t-46 -152q-4 -16 -6 -29.5t-4 -29.5l6 -2q49 74 130 108.5t179 34.5 q92 0 153.5 -31.5t97.5 -79.5t50 -106.5t14 -114.5q0 -82 -31.5 -173t-98 -166.5t-169 -125t-241.5 -49.5q-96 0 -163 31t-110 87.5t-62.5 134t-19.5 173.5zM344 338q0 -80 40 -128t116 -48q57 0 105 23.5t82 65.5t52.5 99.5t18.5 124.5q0 66 -33 113t-115 47 q-63 0 -112 -24.5t-83 -65.5t-52.5 -94.5t-18.5 -112.5z" /> -<glyph unicode="7" horiz-adv-x="940" d="M37 0q4 18 7 39.5t7 40.5q16 80 58.5 172t101.5 188.5t131 193.5t148.5 189t154.5 174t150 150h-596l45 215h829l-45 -215q-72 -63 -149.5 -147.5t-151.5 -179.5t-142.5 -195.5t-123.5 -197.5t-94 -185t-54 -160l-16 -82h-260z" /> -<glyph unicode="8" horiz-adv-x="1118" d="M57 299q0 162 91.5 279.5t244.5 160.5l2 9q-55 23 -92 80t-37 143q0 84 33 155.5t93.5 124t145.5 82t191 29.5q156 0 241 -71.5t85 -190.5q0 -63 -20.5 -118.5t-55.5 -100.5t-80 -79t-94 -52l-2 -9q92 -23 137 -95.5t45 -176.5q0 -96 -33.5 -185t-103.5 -158t-173.5 -110 t-242.5 -41q-102 0 -174 27t-116 71t-64.5 102t-20.5 124zM293 328q0 -86 47 -130t131 -44q117 0 195.5 75.5t78.5 210.5q0 39 -9 75t-30.5 63.5t-54.5 45t-78 17.5q-70 0 -122 -30.5t-87.5 -78t-53 -101.5t-17.5 -103zM489 965q0 -63 33 -101.5t92 -38.5q43 0 80 17.5 t63.5 47.5t42 70.5t15.5 90.5q0 59 -31.5 94t-95.5 35q-92 0 -145.5 -58.5t-53.5 -156.5z" /> -<glyph unicode="9" horiz-adv-x="1116" d="M49 82l90 180q57 -51 128 -71.5t128 -20.5q96 0 165 46t115 116.5t73.5 156.5t44.5 166l-7 2q-49 -74 -130 -108.5t-179 -34.5q-92 0 -153.5 32t-97.5 80t-50 106.5t-14 113.5q0 82 31.5 173t98 167t169 125t241.5 49q94 0 162 -31t111 -87t62.5 -135t19.5 -173 q0 -78 -13.5 -179.5t-45 -208t-84 -208.5t-130 -183t-182 -130.5t-240.5 -49.5q-37 0 -80.5 5.5t-86.5 17.5t-82 32.5t-64 51.5zM403 844q0 -61 32 -102.5t114 -41.5q63 0 112.5 25t84 65.5t53 94t18.5 112.5q0 80 -40 128.5t-118 48.5q-61 0 -109 -31t-80 -78t-49.5 -105.5 t-17.5 -115.5z" /> -<glyph unicode=":" horiz-adv-x="563" d="M37 96q0 33 15.5 63.5t41 55.5t57 40t66.5 15q51 0 86 -38.5t35 -90.5q0 -33 -16.5 -62.5t-43 -53t-59.5 -37t-65 -13.5q-53 0 -85 35t-32 86zM178 758q0 33 15.5 63.5t41 55t57.5 40t66 15.5q51 0 86 -39t35 -90q0 -33 -17.5 -62.5t-44 -53t-59 -37t-63.5 -13.5 q-53 0 -85 35t-32 86z" /> -<glyph unicode=";" horiz-adv-x="573" d="M-47 -242l141 232h-51l59 280h244l-65 -311l-265 -252zM186 758q0 33 15.5 63.5t41 55t57.5 40t67 15.5q51 0 85.5 -39t34.5 -90q0 -33 -17 -62.5t-44 -53t-59.5 -37t-63.5 -13.5q-53 0 -85 35t-32 86z" /> -<glyph unicode="&#x3c;" horiz-adv-x="808" d="M51 426l29 133l663 397v-190l-460 -268l-2 -11l348 -272l-78 -192z" /> -<glyph unicode="=" horiz-adv-x="976" d="M76 250l35 168h692l-35 -168h-692zM141 561l37 168h692l-36 -168h-693z" /> -<glyph unicode="&#x3e;" horiz-adv-x="811" d="M35 23v192l463 272l2 11l-346 268l77 190l500 -397l-29 -133z" /> -<glyph unicode="?" horiz-adv-x="843" d="M137 96q0 33 15.5 62.5t41 53.5t57.5 37t64 13q53 0 88 -36t35 -85q0 -33 -17.5 -62.5t-44 -53t-59 -37t-65.5 -13.5q-51 0 -83 36t-32 85zM227 371q20 100 59.5 178t83.5 140.5t90 112.5t83 97t60.5 92t23.5 99q0 63 -40 88.5t-93 25.5q-66 0 -135.5 -28.5t-116.5 -73.5 l-11 196q66 43 158 75t184 32q131 0 208 -75t77 -191q0 -72 -24.5 -130.5t-64.5 -110.5t-88 -105.5t-94 -115t-86 -136t-61 -170.5h-213z" /> -<glyph unicode="@" horiz-adv-x="1478" d="M49 262q0 80 26.5 175t79 191.5t129 185.5t176 157.5t220.5 109.5t262 41q125 0 213 -35.5t144.5 -95t82 -134.5t25.5 -150q0 -109 -46 -208.5t-121 -177t-168 -123.5t-187 -46q-59 0 -95 27.5t-36 80.5q0 18 6 41q-49 -70 -118 -110.5t-122 -40.5q-51 0 -91 46t-40 138 q0 102 47 187t118 146.5t155 95.5t159 34q27 0 57.5 -5.5t59.5 -14.5t52.5 -24.5t33.5 -35.5l-125 -291q-12 -29 -20 -57.5t-8 -38.5q0 -12 6 -22.5t28 -10.5q41 0 84 36t79 91t58.5 123.5t22.5 134.5q0 55 -15.5 105.5t-50 90.5t-90 63.5t-133.5 23.5q-145 0 -264 -67 t-204 -169t-132 -224t-47 -235q0 -84 25.5 -143t71.5 -98t108.5 -57.5t136.5 -18.5q80 0 154.5 17.5t136 43t109 54t75.5 49.5l-35 -164q-25 -18 -74.5 -46t-117.5 -53.5t-147.5 -43t-163.5 -17.5q-104 0 -194.5 33t-156 94.5t-102.5 148.5t-37 193zM592 358q0 -51 33 -51 q18 0 42.5 15.5t50 43t49.5 63.5t40 79l55 147q-16 8 -37 9q-47 0 -89 -34t-73.5 -81t-51 -99.5t-19.5 -91.5z" /> -<glyph unicode="A" horiz-adv-x="1292" d="M-106 0l811 1352h202l291 -1352h-256l-72 393h-510l-221 -393h-245zM465 578h373l-90 497z" /> -<glyph unicode="B" horiz-adv-x="1169" d="M61 0l287 1352q25 2 66 3t88 3t94 3t84 1q188 0 286.5 -71.5t98.5 -209.5q0 -104 -51 -190t-156 -143q94 -35 146.5 -106t52.5 -175q0 -94 -40 -183t-117 -158t-189.5 -110t-257.5 -41q-113 0 -216.5 7.5t-175.5 17.5zM334 176q35 -4 75 -4h80q147 0 234.5 77t87.5 212 q0 80 -53 128t-174 48q-39 0 -78 -1t-76 -3zM467 809q25 -2 51 -2h53q53 0 98.5 20.5t77 54t49 79t17.5 92.5q0 51 -35 83.5t-100 32.5q-41 0 -74 -3t-61 -7z" /> -<glyph unicode="C" horiz-adv-x="1290" d="M109 508q0 166 57 320.5t166.5 272.5t266.5 189.5t355 71.5q111 0 216.5 -23.5t177.5 -64.5l-105 -213q-55 45 -141 72.5t-203 27.5q-147 0 -249.5 -53t-166 -141t-92.5 -202t-29 -233q0 -174 82 -265t242 -91q123 0 231.5 37t186.5 90l18 -203q-92 -49 -216 -87 t-269 -38q-139 0 -238.5 42t-164 115t-95 170t-30.5 206z" /> -<glyph unicode="D" horiz-adv-x="1458" d="M61 0l287 1352q29 2 86.5 4t120.5 3t121.5 2t91.5 1q197 0 317.5 -41t188.5 -113q59 -63 87 -165.5t28 -213.5q0 -203 -59.5 -360.5t-178.5 -267t-298 -167t-417 -57.5q-86 0 -183.5 6.5t-191.5 16.5zM334 180q57 -4 110.5 -6t90.5 -2q180 0 296.5 48t185 135t95.5 207 t27 263q0 166 -94.5 253t-321.5 87h-77q-48 0 -103 -2z" /> -<glyph unicode="E" horiz-adv-x="1081" d="M61 0l287 1352h782l-43 -205h-548l-70 -328h412l-43 -205h-412l-86 -409h588l-43 -205h-824z" /> -<glyph unicode="F" horiz-adv-x="1003" d="M61 0l287 1352h772l-43 -205h-538l-70 -328h389l-43 -205h-389l-129 -614h-236z" /> -<glyph unicode="G" horiz-adv-x="1351" d="M109 508q0 166 57 320.5t165.5 272.5t266.5 189.5t360 71.5q115 0 222.5 -23.5t187.5 -64.5l-111 -213q-61 41 -147 70.5t-203 29.5q-170 0 -276.5 -58.5t-167 -150.5t-82 -204.5t-21.5 -221.5q0 -350 340 -350q76 0 124 12.5t102 28.5l71 340h236l-94 -444 q-104 -61 -231.5 -99.5t-268.5 -38.5q-139 0 -239.5 42t-165 115t-95 169t-30.5 207z" /> -<glyph unicode="H" horiz-adv-x="1478" d="M61 0l287 1352h236l-119 -553h647l119 553h235l-286 -1352h-236l125 594h-647l-125 -594h-236z" /> -<glyph unicode="I" horiz-adv-x="595" d="M61 0l287 1352h236l-287 -1352h-236z" /> -<glyph unicode="J" horiz-adv-x="595" d="M-174 -141q72 0 120 32.5t79.5 83t50 113t30.5 121.5l244 1143h236l-244 -1145q-23 -109 -67 -204t-108.5 -167t-147 -113.5t-185.5 -41.5z" /> -<glyph unicode="K" horiz-adv-x="1239" d="M61 0l287 1352h236l-125 -590q68 53 132 107.5t122 107.5q106 98 196 191.5t160 183.5h258q-115 -123 -219 -225.5t-225 -213.5q-45 -41 -93.5 -84t-99.5 -86l447 -743h-273l-356 592q-27 -23 -52.5 -42.5t-49.5 -37.5l-109 -512h-236z" /> -<glyph unicode="L" horiz-adv-x="1007" d="M61 0l287 1352h236l-244 -1147h563l-43 -205h-799z" /> -<glyph unicode="M" horiz-adv-x="1806" d="M61 0l287 1352h268l242 -1033l668 1033h268l-287 -1352h-233l188 891l-577 -891h-189l-211 891l-188 -891h-236z" /> -<glyph unicode="N" horiz-adv-x="1478" d="M61 0l287 1352h289l383 -994l211 994h235l-286 -1352h-289l-383 991l-211 -991h-236z" /> -<glyph unicode="O" horiz-adv-x="1531" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q135 0 234.5 -43t166 -118t99 -174t32.5 -212q0 -154 -57 -303.5t-166.5 -269t-265.5 -193.5t-352 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5 t170 148.5t101.5 204.5t34 228.5q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5z" /> -<glyph unicode="P" horiz-adv-x="1091" d="M61 0l287 1352q31 2 72 4t85 3l88 2q44 1 83 1q201 0 316.5 -89t115.5 -259q0 -98 -37 -189.5t-108.5 -162t-178 -112.5t-245.5 -42h-69q-34 0 -64 2l-109 -510h-236zM446 707q29 -2 61 -2h66q141 0 212 82.5t71 213.5q0 72 -43 118t-145 46h-64q-31 0 -61 -2z" /> -<glyph unicode="Q" horiz-adv-x="1536" d="M111 510q0 168 59 321.5t169 271.5t262.5 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -150 -55.5 -296t-159 -264t-252 -193.5t-336.5 -84.5q72 -8 134 -32.5t123.5 -50t126 -46t142.5 -20.5q92 0 207 41l-96 -201q-41 -14 -78 -19t-72 -5 q-86 0 -158.5 27.5t-142.5 59t-138.5 59.5t-144.5 28q-45 0 -116.5 -16.5t-145.5 -63.5l-8 147q66 45 137.5 66.5t130.5 25.5q-121 8 -206.5 54.5t-143 118t-84 164t-26.5 196.5zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5t170 148.5t101.5 204.5t34 228.5 q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5z" /> -<glyph unicode="R" horiz-adv-x="1228" d="M61 0l287 1352q33 2 76 4t86 3t81 2t60 1q229 0 347 -81t118 -234q0 -68 -19.5 -134.5t-60.5 -125t-107.5 -105.5t-158.5 -74l367 -608h-273l-348 578h-46q-24 0 -50 2l-123 -580h-236zM461 774h127q135 0 206.5 72t71.5 184q0 68 -53 101.5t-182 33.5h-39q-23 0 -49 -2z " /> -<glyph unicode="S" horiz-adv-x="1120" d="M-8 88l108 221q66 -59 153 -98t210 -39q152 0 221.5 57.5t69.5 145.5q0 49 -23.5 86t-58.5 62.5t-75 42t-71 28.5q-53 18 -107 43t-100.5 62.5t-75 93t-28.5 137.5q0 117 41 199.5t111.5 134t166 75t201.5 23.5q113 0 214.5 -22.5t164.5 -55.5l-100 -217 q-63 47 -154.5 73.5t-173.5 26.5q-104 0 -167.5 -41t-63.5 -127q0 -35 16 -61.5t46 -47t71 -37.5t90 -36q59 -23 117.5 -52.5t104.5 -71.5t75 -101.5t29 -140.5q0 -131 -50.5 -222.5t-132.5 -147.5t-186.5 -81t-212.5 -25q-135 0 -245.5 33t-184.5 80z" /> -<glyph unicode="T" horiz-adv-x="1095" d="M166 1147l43 205h1018l-43 -205h-391l-244 -1147h-236l244 1147h-391z" /> -<glyph unicode="U" horiz-adv-x="1443" d="M133 346q0 66 14 129l187 877h235l-176 -828q-8 -33 -11 -62.5t-3 -55.5q0 -123 69.5 -176.5t196.5 -53.5q154 0 257.5 81t144.5 267l176 828h225l-186 -877q-23 -100 -74 -190t-135 -159t-200 -109t-263 -40q-123 0 -210 29t-142.5 78t-80 116.5t-24.5 145.5z" /> -<glyph unicode="V" horiz-adv-x="1304" d="M141 1352h256l205 -1065l615 1065h245l-827 -1352h-186z" /> -<glyph unicode="W" horiz-adv-x="2138" d="M162 1352h256l125 -1049l569 1049h231l125 -1049l568 1049h256l-789 -1352h-194l-150 1028l-586 -1028h-194z" /> -<glyph unicode="X" horiz-adv-x="1304" d="M-96 0l647 696l-330 656h264l230 -529l450 529h258l-610 -658l350 -694h-264l-254 547l-483 -547h-258z" /> -<glyph unicode="Y" horiz-adv-x="1150" d="M137 1352h264l215 -613l463 613h260l-651 -797l-117 -555h-235l115 547z" /> -<glyph unicode="Z" horiz-adv-x="1132" d="M-31 0l43 205l873 942h-641l43 205h897l-43 -205l-873 -942h703l-43 -205h-959z" /> -<glyph unicode="[" horiz-adv-x="577" d="M0 -195l367 1729h327l-30 -148h-113l-305 -1433h112l-30 -148h-328z" /> -<glyph unicode="\" horiz-adv-x="919" d="M246 1438h231l240 -1555h-232z" /> -<glyph unicode="]" horiz-adv-x="577" d="M-70 -195l31 148h113l305 1433h-113l31 148h328l-367 -1729h-328z" /> -<glyph unicode="^" horiz-adv-x="712" d="M365 1161l8 15l270 202h16l181 -202l4 -15l-45 -59l-17 -6l-174 84l-211 -84l-12 6z" /> -<glyph unicode="_" horiz-adv-x="948" d="M-106 -168l34 168h887l-35 -168h-886z" /> -<glyph unicode="`" horiz-adv-x="448" d="M272 1272q0 18 7.5 40.5t19.5 42t27.5 32t31.5 12.5q8 0 21 -6l323 -207l5 -15l-48 -73l-16 -6l-354 141q-17 6 -17 39z" /> -<glyph unicode="a" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5z" /> -<glyph unicode="b" horiz-adv-x="1177" d="M23 0l321 1516h223l-141 -668q59 59 144 92t184 33q88 0 150.5 -31t103.5 -83t60 -119.5t19 -143.5q0 -127 -43 -239.5t-117.5 -197.5t-176 -134.5t-215.5 -49.5q-111 0 -173.5 45.5t-107.5 108.5h-8l-43 -129h-180zM303 274q16 -31 44 -54t59.5 -39.5t67.5 -26t69 -9.5 q74 0 132 39t99 99.5t63.5 133t22.5 142.5q0 98 -47 169t-149 71q-59 0 -129 -28t-148 -103z" /> -<glyph unicode="c" horiz-adv-x="1001" d="M57 369q0 111 37 219t113 193t190.5 138.5t268.5 53.5q98 0 187 -22.5t138 -59.5l-88 -182q-39 35 -116.5 61.5t-153.5 26.5q-90 0 -152.5 -37t-101.5 -94.5t-56.5 -127t-17.5 -132.5q0 -104 49 -176t156 -72q74 0 163 29.5t156 82.5v-192q-66 -37 -172 -70t-219 -33 q-98 0 -169.5 31t-119 85t-70 126t-22.5 152z" /> -<glyph unicode="d" horiz-adv-x="1177" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 169 -33t106 -92l141 668h223l-321 -1516h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5z" /> -<glyph unicode="e" horiz-adv-x="1034" d="M53 369q0 115 43 223t123 193t191.5 136.5t248.5 51.5q154 0 234 -71t80 -200q0 -39 -8.5 -77.5t-21.5 -72.5t-28.5 -60.5t-27.5 -40.5h-600q-2 -12 -2 -25v-25q0 -51 13 -96t40 -78.5t69 -53t99 -19.5q76 0 166 28.5t162 71.5v-168q-31 -16 -75 -35.5t-96.5 -36 t-110.5 -28t-120 -11.5q-96 0 -166.5 32t-118 85t-71 125t-23.5 152zM334 610h399q6 14 11.5 29.5t5.5 32.5q0 55 -37 90t-99 35q-90 0 -163.5 -50.5t-116.5 -136.5z" /> -<glyph unicode="f" horiz-adv-x="634" d="M-47 -535l285 1340h-117l24 117l121 18q25 117 49.5 199t49 138t47 91t43.5 57q51 53 122.5 77t151.5 24q10 0 32.5 -1t49.5 -5t54.5 -13.5t49.5 -23.5l-88 -174q-16 12 -59 33.5t-88 21.5q-27 0 -48.5 -12.5t-40 -45t-35.5 -88t-36 -141.5l-28 -135h180l-29 -137h-180 l-285 -1340h-225z" /> -<glyph unicode="g" horiz-adv-x="1173" d="M-12 -410l35 172q88 -53 191 -83.5t198 -30.5q66 0 113.5 18.5t82.5 61.5t60.5 115.5t48.5 181.5l20 104q-68 -63 -151.5 -108.5t-192.5 -45.5q-82 0 -145.5 30t-106.5 82t-65.5 124t-22.5 156q0 111 37 219t106.5 194t171 139.5t228.5 53.5q98 0 178 -33t115 -92h8 l43 94l170 2l-207 -983q-27 -129 -68.5 -219t-105 -147.5t-149.5 -84t-199 -26.5q-53 0 -100.5 6t-93.5 18.5t-95 32.5t-104 49zM279 391q0 -49 10 -93t31.5 -78t55.5 -54.5t83 -20.5q31 0 68.5 8.5t77.5 26t77 41t68 53.5l84 394q-47 76 -105.5 103.5t-118.5 27.5 q-78 0 -139 -36t-104 -93.5t-65.5 -130t-22.5 -148.5z" /> -<glyph unicode="h" horiz-adv-x="1128" d="M23 0l321 1516h225l-151 -713q78 90 163 130t189 40q53 0 100.5 -12.5t82 -39t55 -70.5t20.5 -108q0 -47 -12 -102l-137 -641h-226l133 623q6 31 7 55q0 55 -29 84t-80 29q-39 0 -83 -12.5t-86 -37t-79 -59.5t-59 -78l-129 -604h-225z" /> -<glyph unicode="i" horiz-adv-x="505" d="M20 0l201 942h225l-200 -942h-226zM250 1221q0 33 15.5 63.5t41 55t57 40t66.5 15.5q51 0 86 -39t35 -90q0 -33 -17.5 -62.5t-44 -53.5t-59.5 -37t-63 -13q-53 0 -85 35t-32 86z" /> -<glyph unicode="j" horiz-adv-x="503" d="M-281 -385q12 -6 41 -6q61 0 105.5 38t74 96t49 126t31.5 127l201 946h223l-200 -948q-23 -104 -66 -198.5t-103.5 -167t-136 -114.5t-163.5 -42q-16 0 -29.5 1t-17.5 5zM250 1221q0 33 15.5 63.5t41 55t57 40t66.5 15.5q51 0 85 -39t34 -90q0 -33 -16.5 -62.5t-43 -53.5 t-59.5 -37t-65 -13q-51 0 -83 36t-32 85z" /> -<glyph unicode="k" horiz-adv-x="1005" d="M23 0l321 1516h225l-186 -877l379 303h252l-408 -334l273 -608h-246l-207 463l-96 -80l-82 -383h-225z" /> -<glyph unicode="l" horiz-adv-x="530" d="M35 0l321 1516h226l-322 -1516h-225z" /> -<glyph unicode="m" horiz-adv-x="1716" d="M20 0l201 942h176l-20 -139h8q59 86 157.5 128t198.5 42q96 0 167 -37t91 -129q59 84 156.5 125t196.5 41q55 0 103 -12.5t84 -39t56.5 -70.5t20.5 -108q0 -47 -12 -102l-138 -641h-225l133 623q6 33 6 59q0 109 -104 109q-33 0 -74 -12.5t-82 -36t-76.5 -58.5t-56.5 -80 v8l-131 -612h-225l133 623q6 33 6 59q0 109 -104 109q-33 0 -74 -12.5t-82 -36t-77 -58.5t-58 -80l-129 -604h-226z" /> -<glyph unicode="n" horiz-adv-x="1126" d="M20 0l201 942h176l-20 -139h8q61 86 161.5 128t205.5 42q57 0 107 -12.5t87 -40t58.5 -71.5t21.5 -108q0 -45 -12 -100l-137 -641h-226l133 623q6 31 7 55q0 113 -115 113q-35 0 -77 -12.5t-84 -36t-80 -58.5t-60 -80l-129 -604h-226z" /> -<glyph unicode="o" horiz-adv-x="1130" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q102 0 175 -32t120 -86t68.5 -125t21.5 -150q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-258.5 -51.5q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5 q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5z" /> -<glyph unicode="p" d="M-92 -532l313 1474h180l-10 -129h8q33 33 76 62.5t91 51t95.5 34t90.5 12.5q88 0 151.5 -31t104.5 -82t59 -120.5t18 -145.5q0 -117 -35.5 -227.5t-104 -197.5t-171 -140.5t-237.5 -53.5q-92 0 -166 27t-109 86l-131 -620h-223zM301 268q47 -76 106.5 -95t112.5 -19 q84 0 146.5 33.5t104.5 90t63.5 129t21.5 148.5q0 47 -9 92t-30.5 79t-55.5 54.5t-83 20.5q-31 0 -69 -9.5t-77.5 -26.5t-77.5 -42t-67 -55z" /> -<glyph unicode="q" d="M55 348q0 111 35 221.5t103.5 200.5t171 146.5t237.5 56.5q43 0 85 -12.5t81 -34t70.5 -51t50.5 -62.5h8l43 129h180l-313 -1474h-223l131 620q-59 -59 -143.5 -86t-176.5 -27q-90 0 -153.5 29t-105.5 80t-61.5 118.5t-19.5 145.5zM283 383q0 -49 11 -91t35.5 -74 t63.5 -50t92 -18t123 24.5t146 93.5l86 400q-16 31 -44 55.5t-61 41.5t-67.5 26.5t-65.5 9.5q-76 0 -135 -40t-100 -101.5t-62.5 -135t-21.5 -141.5z" /> -<glyph unicode="r" horiz-adv-x="765" d="M20 0l201 942h176l-32 -197h8q31 43 62.5 84t66.5 73t77 51.5t93 19.5q82 0 141 -53l-96 -183q-16 16 -58.5 26.5t-72.5 10.5q-41 0 -72 -19.5t-57.5 -51t-49 -72.5t-45.5 -84l-116 -547h-226z" /> -<glyph unicode="s" horiz-adv-x="888" d="M-12 78l94 194q55 -68 135 -100.5t154 -32.5q92 0 141 41t49 107q0 27 -18.5 46t-67.5 32l-184 49q-51 14 -85 37.5t-54.5 53.5t-28.5 62.5t-8 63.5q0 80 31.5 143.5t87 107.5t131 67.5t163.5 23.5q39 0 83 -5t85 -16.5t78 -27t64 -35.5l-99 -184q-33 33 -100.5 66.5 t-157.5 33.5q-78 0 -122 -31t-44 -84q0 -25 19.5 -46t77.5 -36l137 -33q63 -16 105 -42.5t66.5 -59.5t34 -68.5t9.5 -68.5q0 -76 -34 -141.5t-93 -114.5t-142 -77t-182 -28q-109 0 -193.5 32t-131.5 71z" /> -<glyph unicode="t" horiz-adv-x="673" d="M96 111q0 23 4 50t11 56l125 588h-117l24 123l138 20l96 279h172l-60 -285h181l-29 -137h-182l-115 -541q-8 -33 -8 -59q0 -27 11 -36t36 -9q27 0 55.5 10t87.5 39v-162q-47 -33 -121.5 -52.5t-144.5 -19.5q-92 0 -128 35t-36 101z" /> -<glyph unicode="u" horiz-adv-x="1099" d="M63 197q0 45 13 104l137 641h225l-131 -612q-6 -29 -6 -49q0 -59 34 -91t93 -32q72 0 141.5 48t116.5 138l127 598h227l-200 -942h-176l16 131h-8q-33 -47 -74 -76.5t-86 -47t-92 -25t-90 -7.5q-57 0 -105.5 11.5t-84.5 37t-56.5 69t-20.5 104.5z" /> -<glyph unicode="v" horiz-adv-x="1069" d="M92 942h236l125 -756l456 756h221l-589 -942h-273z" /> -<glyph unicode="w" horiz-adv-x="1681" d="M100 942h236l92 -723l377 723h225l68 -723l401 723h232l-543 -942h-268l-64 655l-342 -655h-272z" /> -<glyph unicode="x" horiz-adv-x="1036" d="M-92 0l465 481l-244 461h256l154 -317l278 317h256l-442 -457l262 -485h-256l-166 344l-307 -344h-256z" /> -<glyph unicode="y" horiz-adv-x="1060" d="M-172 -342q6 -2 13 -4t34 -2q135 0 245.5 99t223.5 280l-276 911h235l186 -670l404 670h219l-592 -950q-43 -72 -112.5 -161t-154.5 -168t-183.5 -133t-198.5 -54q-16 0 -24.5 1t-18.5 5v176z" /> -<glyph unicode="z" horiz-adv-x="854" d="M-33 0l39 182l553 578h-409l38 182h643l-38 -182l-566 -578h463l-39 -182h-684z" /> -<glyph unicode="{" horiz-adv-x="593" d="M72 618l22 103q55 2 90 28.5t56.5 61.5t32 73t16.5 64q8 43 18 90t18.5 90t15.5 78t11 58q14 66 36 120t61.5 91.5t101 59t158.5 21.5l-17 -104q-51 -6 -71.5 -49t-30.5 -90q-6 -25 -13.5 -66t-15.5 -84t-16 -83t-13 -60q-31 -147 -94 -235.5t-174 -114.5 q72 -18 104.5 -79t32.5 -153q0 -53 -14 -122.5t-32.5 -137t-33 -125t-14.5 -84.5q0 -29 11.5 -53.5t39.5 -28.5l-26 -104q-72 0 -119 14.5t-75.5 40t-41 61t-12.5 81.5q0 47 15.5 115.5t34 139t33.5 135t15 101.5q0 25 -5 50.5t-17.5 47t-33.5 34.5t-54 15z" /> -<glyph unicode="|" horiz-adv-x="524" d="M-10 -233l383 1806h209l-383 -1806h-209z" /> -<glyph unicode="}" horiz-adv-x="593" d="M-68 -217l19 104q51 6 70.5 49.5t29.5 90.5q6 25 14.5 65.5t16.5 83.5t16 82t13 61q31 147 93 235.5t173 115.5q-72 18 -103.5 78.5t-31.5 152.5q0 53 14 123t31.5 137.5t32 123.5t14.5 85t-10.5 53.5t-40.5 28.5l26 104q72 0 119 -14t75.5 -39.5t41 -61.5t12.5 -81 q0 -47 -15.5 -115.5t-34 -139.5t-33.5 -135.5t-15 -101.5q0 -25 5 -50t17.5 -46.5t34 -35t53.5 -15.5l-20 -103q-55 -4 -91 -29.5t-57.5 -60t-32 -72.5t-16.5 -65q-10 -43 -19 -90t-17.5 -90t-15.5 -79l-11 -56q-14 -66 -36 -120t-61.5 -93t-102.5 -59.5t-157 -20.5z" /> -<glyph unicode="~" horiz-adv-x="970" d="M100 414q2 16 20.5 48t49.5 62.5t73 54t93 23.5q18 0 60 -3t93.5 -6t103.5 -6t93 -3q39 0 76 7t72 40l14 -41q-2 -10 -17.5 -40t-45 -63.5t-70.5 -59.5t-92 -26q-16 0 -66.5 3.5t-110 6.5t-116 6t-84.5 3q-47 0 -75 -10.5t-52 -34.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="524" d="M-94 -446l272 1028h178l-170 -1028h-280zM170 809q0 33 17.5 62.5t44 53t59.5 37t65 13.5q51 0 83 -36t32 -85q0 -33 -15.5 -62.5t-41 -53t-57 -37t-64.5 -13.5q-53 0 -88 36t-35 85z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1019" d="M53 350q0 96 32 190.5t95.5 171t160.5 130t228 65.5l60 275h188l-59 -279q70 -10 128 -28.5t93 -45.5l-94 -190q-23 27 -68 48.5t-98 33.5l-119 -559q61 14 121.5 41.5t107.5 64.5v-190q-47 -29 -116.5 -53.5t-149.5 -36.5l-57 -269h-189l56 261q-84 8 -143.5 40.5 t-99.5 83t-58.5 112.5t-18.5 134zM279 395q0 -78 33.5 -138t99.5 -89l118 557q-57 -14 -104 -48t-80 -79t-50 -98.5t-17 -104.5z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1193" d="M-35 74q168 59 261 168.5t120 238.5l6 31h-190l37 168h182q10 90 11 169t18 148q20 98 71 168t118 114t142.5 63.5t147.5 19.5q92 0 177 -28.5t128 -71.5l-84 -187q-16 20 -43 39t-61.5 32t-73.5 21.5t-76 8.5q-96 0 -140 -50.5t-61 -126.5q-14 -63 -18 -145t-16 -174 h249l-36 -168h-246q-20 -86 -71.5 -179t-137.5 -171l4 -6q55 -4 108.5 -17.5t106.5 -29t108.5 -27.5t116.5 -12q96 0 199 39l-92 -201q-57 -27 -93 -34t-71 -7q-82 0 -153.5 21.5t-140.5 46t-135.5 46t-135.5 21.5q-43 0 -99.5 -13.5t-121.5 -60.5z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1210" d="M2 82l176 147q-20 35 -29.5 80t-9.5 88q0 70 27 142.5t117 169.5l-123 147l137 113l119 -146q72 41 133 60.5t127 19.5q133 0 225 -80l180 146l90 -111l-178 -149q39 -84 39 -172q0 -70 -27.5 -142.5t-111.5 -165.5l119 -147l-140 -113l-120 146q-129 -82 -256 -82 q-63 0 -117.5 19.5t-110.5 62.5l-180 -146zM307 420q0 -96 61.5 -160.5t161.5 -64.5q63 0 124 25.5t108 69.5t74.5 103.5t27.5 124.5q0 94 -59.5 159.5t-159.5 65.5q-63 0 -123.5 -25.5t-108.5 -69.5t-77 -102t-29 -126z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1331" d="M180 354l35 168h320l6 25l-33 84h-268l34 168h168l-215 553h265l215 -613l462 613h261l-453 -553h156l-35 -168h-258l-62 -76l-8 -33h303l-35 -168h-303l-76 -354h-235l76 354h-320z" /> -<glyph unicode="&#xa6;" horiz-adv-x="532" d="M-6 -233l168 794h209l-168 -794h-209zM209 778l168 795h209l-168 -795h-209z" /> -<glyph unicode="&#xa7;" horiz-adv-x="888" d="M10 -37l101 158q33 -29 72.5 -45.5t74.5 -16.5q33 0 60.5 15.5t46 41t28.5 57.5t10 65q0 47 -20.5 84.5t-51 71.5t-67.5 68t-67.5 70.5t-51 80.5t-20.5 100q0 43 15.5 88t41 87t60 77.5t75.5 60.5q-6 27 -6 61q0 92 37 161t92.5 114t120 67.5t121.5 22.5 q68 0 133.5 -27.5t106.5 -66.5l-103 -158q-33 29 -71.5 45.5t-73.5 16.5q-66 0 -107 -49.5t-41 -120.5q0 -74 44 -127.5t96.5 -104.5t96.5 -110.5t44 -141.5q0 -45 -15.5 -90t-42 -86t-61.5 -77t-74 -60q6 -29 7 -62q0 -92 -37 -160.5t-92.5 -113.5t-121 -67.5t-120.5 -22.5 q-68 0 -133.5 27.5t-106.5 66.5zM319 780q0 -55 27 -99t65 -87t81 -87t75 -95q18 29 31.5 61.5t13.5 67.5q0 53 -26.5 98t-65.5 87t-81 86t-74 95q-20 -27 -33 -59.5t-13 -67.5z" /> -<glyph unicode="&#xa8;" horiz-adv-x="450" d="M266 1247q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-47 -29.5t-52.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM545 1247q0 27 12 51.5t32.5 44t47.5 31.5t53 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13 -50.5t-34.5 -42 t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1460" d="M131 621q0 143 64.5 274t172 229.5t245 156.5t282.5 58q113 0 206 -39.5t159.5 -108.5t103.5 -162t37 -200q0 -147 -65.5 -278t-173 -230.5t-248 -157t-289.5 -57.5q-109 0 -200 40t-156.5 110t-101.5 164.5t-36 200.5zM258 633q0 -88 27.5 -164t78 -132t122 -88 t157.5 -32q123 0 236.5 47t199.5 129t137.5 190.5t51.5 231.5q0 86 -28 162t-79 132t-123.5 88t-160.5 32q-121 0 -233 -47t-198 -129t-137 -189.5t-51 -230.5zM410 651q0 78 25.5 154t77.5 136t132 97t189 37q68 0 131 -15.5t98 -41.5l-64 -144q-25 18 -83 34t-111 16 q-59 0 -101 -22.5t-70 -58.5t-41 -79t-13 -82q0 -66 34.5 -114t110.5 -48q57 0 120.5 22.5t108.5 51.5l-6 -145q-47 -27 -120.5 -49.5t-151.5 -22.5q-70 0 -120 21.5t-83 59.5t-48 88t-15 105z" /> -<glyph unicode="&#xaa;" horiz-adv-x="745" d="M170 868q0 117 97.5 183.5t260.5 66.5h52l4 19q2 8 3 14t1 14q0 35 -32 53.5t-77 18.5q-53 0 -95 -18.5t-83 -42.5l-4 112q94 59 215 60q96 0 160.5 -39t64.5 -133q0 -25 -6 -50l-78 -370h-123l9 75h-9q-41 -41 -103 -66.5t-122 -25.5q-66 0 -100.5 36t-34.5 93zM319 903 q0 -53 62 -53q41 0 84 19.5t72 50.5l24 112h-22q-121 0 -170.5 -33t-49.5 -96z" /> -<glyph unicode="&#xab;" horiz-adv-x="1081" d="M70 489l2 11l350 360h229l-372 -362l-3 -11l220 -362h-232zM467 489l2 11l350 360h230l-373 -362l-2 -11l219 -362h-231z" /> -<glyph unicode="&#xac;" horiz-adv-x="1271" d="M135 561l35 168h983l-102 -489h-191l68 321h-793z" /> -<glyph unicode="&#xad;" horiz-adv-x="956" d="M102 406l35 167h688l-34 -167h-689z" /> -<glyph unicode="&#xae;" horiz-adv-x="1460" d="M131 621q0 143 64.5 274t172 229.5t245 156.5t282.5 58q113 0 206 -39.5t159.5 -108.5t103.5 -162t37 -200q0 -147 -65.5 -278t-173 -230.5t-248 -157t-289.5 -57.5q-109 0 -200 40t-156.5 110t-101.5 164.5t-36 200.5zM258 633q0 -88 27.5 -164t78 -132t122 -88 t157.5 -32q123 0 236.5 47t199.5 129t137.5 190.5t51.5 231.5q0 86 -28 162t-79 132t-123.5 88t-160.5 32q-121 0 -233 -47t-198 -129t-137 -189.5t-51 -230.5zM477 412l144 671q16 2 40.5 3t50 2.5t47.5 1.5h34q70 0 115.5 -12.5t73.5 -35t39 -53.5t11 -67 q0 -76 -43 -137.5t-115 -96.5l97 -276h-146l-73 243h-86l-52 -243h-137zM686 754h62q66 0 107.5 47t41.5 102q0 37 -27.5 62.5t-99.5 25.5h-33z" /> -<glyph unicode="&#xaf;" horiz-adv-x="1705" /> -<glyph unicode="&#xb0;" horiz-adv-x="755" d="M197 1024q0 63 23.5 121.5t68.5 103.5t108.5 72t141.5 27q121 0 177 -62.5t56 -155.5q0 -59 -21.5 -115.5t-64.5 -100.5t-107.5 -70.5t-152.5 -26.5q-61 0 -105.5 16.5t-72 45t-39.5 65.5t-12 80zM344 1057q0 -47 25.5 -81t83.5 -34q43 0 74.5 15.5t52 39t29.5 54t9 61.5 q0 41 -24.5 73t-81.5 32q-43 0 -74.5 -14.5t-52 -37t-31 -51t-10.5 -57.5z" /> -<glyph unicode="&#xb1;" horiz-adv-x="946" d="M47 84l35 168h657l-34 -168h-658zM156 582l34 168h238l39 182h188l-39 -182h228l-35 -168h-227l-45 -207h-189l45 207h-237z" /> -<glyph unicode="&#xb2;" horiz-adv-x="768" d="M127 612l27 127q66 59 145.5 111.5t149 103t116.5 102.5t47 113q0 23 -14 46.5t-55 23.5q-53 0 -120 -36t-124 -93l-8 131q80 59 151.5 90t143.5 31q88 0 134 -45t46 -115q0 -61 -32 -116.5t-89 -110.5t-136 -112.5t-173 -123.5h334l-27 -127h-516z" /> -<glyph unicode="&#xb3;" horiz-adv-x="694" d="M121 680l51 123q35 -35 67.5 -56.5t94.5 -21.5q94 0 137 43t43 109q0 41 -32.5 64.5t-119.5 23.5h-24l22 110h31q76 0 114 32t38 81q0 23 -15.5 37t-56.5 14q-53 0 -97 -18.5t-75 -40.5l2 120q53 29 98 45.5t103 16.5q90 0 138 -42t48 -108q0 -68 -37 -110.5t-96 -75.5 q47 -16 74.5 -53t27.5 -90q0 -51 -21.5 -101.5t-63.5 -90.5t-106.5 -64.5t-150.5 -24.5q-76 0 -115.5 20.5t-78.5 57.5z" /> -<glyph unicode="&#xb4;" horiz-adv-x="448" d="M250 1171l10 15l412 207q12 6 22 6q23 0 32 -25.5t9 -54.5t-11 -54.5t-32 -31.5l-413 -141l-15 6z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1175" d="M-102 -227q51 70 93 132t75.5 125.5t58.5 129t41 141.5l137 641h225l-131 -612q-6 -29 -6 -49q0 -59 34 -91t93 -32q72 0 142.5 49t117.5 139l125 596h227l-198 -942h-176l14 131h-8q-33 -47 -74 -76.5t-86 -47t-91 -25t-89 -7.5q-86 0 -148 25l-8 -16q-20 -43 -39.5 -80 t-40 -73t-44 -74t-52.5 -81z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1150" d="M141 842q0 123 44 219t124 162.5t189.5 102.5t238.5 36q78 0 187.5 -3t208.5 -7l-326 -1528h-174l285 1341h-91l-284 -1341h-185l146 684h-43q-80 0 -139.5 26.5t-99.5 71.5t-60.5 105.5t-20.5 130.5z" /> -<glyph unicode="&#xb7;" horiz-adv-x="540" d="M106 473q0 33 15.5 63.5t41 55t58.5 40t66 15.5q51 0 86 -39t35 -90q0 -33 -16.5 -62.5t-43 -53t-59.5 -37t-64 -13.5q-53 0 -86 35t-33 86z" /> -<glyph unicode="&#xb8;" horiz-adv-x="413" d="M-84 -395l78 98h14q23 -10 56.5 -17.5t68.5 -7.5q41 0 73 15.5t32 58.5q0 29 -22.5 40t-51.5 11q-25 0 -52.5 -4t-50.5 -10l-26 53l137 158h111l-68 -84q31 8 59 8q61 0 96.5 -38t35.5 -97q0 -47 -25 -89t-67 -75t-96 -52t-116 -19q-53 0 -100 11t-86 27v13z" /> -<glyph unicode="&#xb9;" horiz-adv-x="509" d="M203 1206l329 156l-159 -750h-154l117 545l-129 -57z" /> -<glyph unicode="&#xba;" horiz-adv-x="802" d="M188 985q0 74 29 143.5t79 123t119.5 85t151.5 31.5q61 0 108.5 -20.5t78 -56.5t46 -83t15.5 -98q0 -70 -25.5 -136.5t-74.5 -119.5t-120 -86t-161 -33q-66 0 -112 20.5t-75.5 55.5t-44 80t-14.5 94zM356 1008q0 -53 27 -90t84 -37q49 0 83 18.5t55.5 48t30.5 66.5t9 73 q0 53 -27.5 91.5t-87.5 38.5q-53 0 -86.5 -21.5t-53 -52.5t-27 -67.5t-7.5 -67.5z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1081" d="M2 125l375 362l2 11l-221 362h229l199 -360l-2 -11l-351 -364h-231zM399 125l375 362l2 11l-221 362h229l199 -360l-2 -11l-350 -364h-232z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1583" d="M51 -49l1260 1464h184l-1259 -1464h-185zM207 1206l330 156l-160 -750h-154l117 545l-129 -57zM842 186l26 127l394 437h211l-93 -437h70l-27 -127h-69l-39 -186h-139l38 186h-372zM1016 313h225l68 316z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1593" d="M55 -49l1260 1464h184l-1259 -1464h-185zM207 1206l330 156l-160 -750h-154l117 545l-129 -57zM868 0l27 127q66 59 145.5 111.5t149.5 102.5t117 102.5t47 113.5q0 23 -14.5 46.5t-55.5 23.5q-53 0 -119.5 -36t-124.5 -93l-8 131q80 59 151.5 90t143.5 31 q88 0 134 -45.5t46 -114.5q0 -61 -31.5 -116.5t-89 -111t-136.5 -112.5t-173 -123h334l-27 -127h-516z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1583" d="M94 -49l1260 1464h184l-1259 -1464h-185zM98 680l52 123q35 -35 67.5 -56.5t93.5 -21.5q94 0 137.5 43t43.5 109q0 41 -33 64.5t-119 23.5h-25l23 110h31q76 0 113.5 32t37.5 81q0 23 -15.5 37t-55.5 14q-53 0 -97.5 -18.5t-75.5 -40.5l3 120q53 29 98 45.5t102 16.5 q90 0 138.5 -42t48.5 -108q0 -68 -37 -110.5t-97 -75.5q47 -16 75 -53t28 -90q0 -51 -21.5 -101.5t-63.5 -90.5t-106.5 -64.5t-150.5 -24.5q-76 0 -116 20.5t-79 57.5zM844 186l26 127l394 437h211l-93 -437h70l-27 -127h-69l-39 -186h-139l39 186h-373zM1018 313h225 l68 316z" /> -<glyph unicode="&#xbf;" horiz-adv-x="831" d="M-59 -188q0 72 24.5 130t64.5 110t88 105.5t94 115t85 136t61 171.5h213q-20 -100 -59 -178t-83 -140.5t-90 -113t-83 -97.5t-60.5 -92t-23.5 -98q0 -63 40 -89t93 -26q66 0 135.5 28.5t116.5 73.5l10 -196q-66 -43 -158 -75t-184 -32q-131 0 -207.5 75t-76.5 192z M360 809q0 33 17.5 62.5t44.5 53t59.5 37t65.5 13.5q51 0 83 -36t32 -85q0 -33 -15.5 -62.5t-41 -53t-57.5 -37t-65 -13.5q-53 0 -88 36t-35 85z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1292" d="M-104 2l811 1352h202l291 -1352h-256l-70 393h-509l-224 -393h-245zM469 580h371l-88 497zM655 1610q0 18 7.5 40.5t19.5 42t27.5 32t31.5 12.5q8 0 19 -6l325 -207l2 -15l-45 -73l-16 -6l-354 141q-17 6 -17 39z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1292" d="M-106 0l811 1352h202l291 -1352h-256l-70 393h-510l-223 -393h-245zM467 578h371l-88 497zM625 1511l8 15l414 207q12 6 20 6q23 0 33 -25.5t10 -54.5t-11.5 -54.5t-31.5 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1292" d="M-106 0l811 1352h202l291 -1352h-256l-70 393h-510l-223 -393h-245zM467 578h371l-88 497zM623 1507l10 15l268 202h17l182 -202l2 -15l-45 -59l-15 -6l-176 84l-209 -84l-14 6z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1292" d="M-106 0l811 1352h202l291 -1352h-256l-70 393h-510l-223 -393h-245zM467 578h371l-88 497zM543 1511q18 37 39.5 71t49 59.5t63.5 41t87 15.5q59 0 127 -14.5t123 -14.5q37 0 79 11.5t89 41.5l14 -47q-12 -33 -32.5 -66.5t-48 -60t-63.5 -44t-81 -17.5q-25 0 -55.5 4 t-66.5 10t-72.5 10.5t-71.5 4.5q-47 0 -88 -11.5t-76 -40.5z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1292" d="M-106 0l811 1352h202l291 -1352h-256l-70 393h-510l-223 -393h-245zM467 578h371l-88 497zM621 1585q0 27 12 51.5t32.5 44t47 31.5t53.5 12q41 0 69.5 -31.5t28.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48.5 -29.5t-53 -11q-41 0 -67.5 28.5t-26.5 69.5zM899 1585 q0 27 12.5 51.5t33 44t47 31.5t52.5 12q41 0 70 -31.5t29 -72.5q0 -27 -14.5 -50.5t-36 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1304" d="M-109 0l795 1300q-29 16 -43 48t-14 67q0 39 18.5 77t51 66.5t76.5 46t93 17.5q78 0 120 -46t42 -108q0 -53 -32.5 -97t-79.5 -71l294 -1300h-264l-65 414h-510l-228 -414h-254zM477 598h371l-92 477zM752 1432q0 -29 17 -50.5t46 -21.5q35 0 62.5 29.5t27.5 64.5 q0 29 -15.5 47.5t-43.5 18.5q-41 0 -67.5 -26.5t-26.5 -61.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1556" d="M-139 0l1007 1352h736l-43 -209h-416l-68 -322h277l-43 -209h-279l-86 -403h457l-45 -209h-678l82 389h-363l-288 -389h-250zM551 594h254l102 479z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1292" d="M111 508q0 166 57 320.5t166.5 272.5t266.5 189.5t355 71.5q111 0 216.5 -23.5t177.5 -64.5l-105 -213q-55 45 -141 72.5t-203 27.5q-147 0 -249.5 -53t-166 -141t-92 -202t-28.5 -233q0 -174 81.5 -265t241.5 -91q123 0 231.5 37t186.5 90l18 -203q-86 -47 -199.5 -82.5 t-248.5 -40.5l-47 -61q16 4 32.5 6t28.5 2q59 0 94 -38t35 -97q0 -47 -24.5 -89t-66.5 -75t-96 -52t-116 -19q-53 0 -100 11t-86 27v13l80 98h14q20 -10 54 -17.5t69 -7.5q41 0 72.5 15.5t31.5 58.5q0 29 -21.5 40t-51.5 11q-25 0 -51.5 -4t-49.5 -10l-28 53l118 138 q-119 10 -205 56t-142 116.5t-82.5 162t-26.5 193.5z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1081" d="M61 0l287 1352h782l-43 -205h-548l-70 -328h412l-43 -205h-412l-86 -409h588l-43 -205h-824zM582 1610q0 18 7 40.5t19.5 42t27.5 32t32 12.5q8 0 20 -6l324 -207l4 -15l-47 -73l-17 -6l-354 141q-16 6 -16 39z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1081" d="M61 0l287 1352h782l-43 -205h-548l-70 -328h412l-43 -205h-412l-86 -409h588l-43 -205h-824zM584 1509l8 15l414 207q12 6 20 6q23 0 33 -25.5t10 -54.5t-11 -54.5t-32 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xca;" horiz-adv-x="1081" d="M61 0l287 1352h782l-43 -205h-548l-70 -328h412l-43 -205h-412l-86 -409h588l-43 -205h-824zM567 1507l11 15l268 202h16l182 -202l3 -15l-46 -59l-14 -6l-176 84l-209 -84l-14 6z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1081" d="M61 0l287 1352h782l-43 -205h-548l-70 -328h412l-43 -205h-412l-86 -409h588l-43 -205h-824zM549 1587q0 27 13 51.5t33.5 44t46.5 31.5t52 12q41 0 70 -31.5t29 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-51.5 -11q-43 0 -69.5 28.5t-26.5 69.5zM827 1587 q0 27 13.5 51.5t34 44t46 31.5t52.5 12q41 0 69.5 -31.5t28.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-50.5 -11q-43 0 -70 28.5t-27 69.5z" /> -<glyph unicode="&#xcc;" horiz-adv-x="595" d="M61 0l287 1352h236l-287 -1352h-236zM270 1610q0 18 7.5 40.5t19.5 42t27.5 32t31.5 12.5q8 0 21 -6l323 -207l5 -15l-48 -73l-16 -6l-354 141q-17 6 -17 39z" /> -<glyph unicode="&#xcd;" horiz-adv-x="595" d="M61 0l287 1352h236l-287 -1352h-236zM297 1509l8 15l414 207q12 6 20 6q23 0 33 -25.5t10 -54.5t-11 -54.5t-32 -31.5l-413 -141l-15 6z" /> -<glyph unicode="&#xce;" horiz-adv-x="595" d="M61 0l287 1352h236l-287 -1352h-236zM254 1507l10 15l268 202h17l182 -202l2 -15l-45 -59l-14 -6l-176 84l-209 -84l-15 6z" /> -<glyph unicode="&#xcf;" horiz-adv-x="595" d="M61 0l287 1352h236l-287 -1352h-236zM262 1585q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 69.5 -31.5t28.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-53.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM541 1585q0 27 12 51.5t32.5 44t47 31.5t53.5 12q41 0 69.5 -31.5 t28.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48 -29.5t-53.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1468" d="M57 637l33 151h152l118 564q29 2 86.5 4t121 3t122 2t90.5 1q197 0 318 -41t188 -113q59 -63 86 -165.5t27 -213.5q0 -203 -59.5 -360.5t-178.5 -267t-297 -167t-415 -57.5q-86 0 -184.5 6.5t-190.5 16.5l135 637h-152zM348 180q55 -4 108.5 -6t90.5 -2q180 0 297 48 t185.5 135t95 207t26.5 263q0 166 -94 253t-322 87h-77q-48 0 -101 -2l-80 -375h303l-32 -151h-304z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1478" d="M61 0l287 1352h289l383 -994l211 994h235l-286 -1352h-289l-383 991l-211 -991h-236zM590 1511q18 37 39.5 71t49.5 59.5t63.5 41t86.5 15.5q59 0 127 -14.5t123 -14.5q37 0 79 11.5t89 41.5l15 -47q-12 -33 -33 -66.5t-48.5 -60t-63.5 -44t-81 -17.5q-25 0 -55.5 4 t-66 10t-72.5 10.5t-72 4.5q-47 0 -88 -11.5t-76 -40.5z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1531" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q135 0 234.5 -43t166 -118t99 -174t32.5 -212q0 -154 -57 -303.5t-166.5 -269t-265.5 -193.5t-352 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5 t170 148.5t101.5 204.5t34 228.5q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5zM702 1610q0 18 8.5 40.5t20.5 42t27.5 32t32.5 12.5q8 0 18 -6l326 -207l2 -15l-47 -73l-17 -6l-354 141q-17 6 -17 39z " /> -<glyph unicode="&#xd3;" horiz-adv-x="1531" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q135 0 234.5 -43t166 -118t99 -174t32.5 -212q0 -154 -57 -303.5t-166.5 -269t-265.5 -193.5t-352 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5 t170 148.5t101.5 204.5t34 228.5q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5zM819 1509l10 15l412 207q12 6 23 6q23 0 32 -25.5t9 -54.5t-10.5 -54.5t-30.5 -31.5l-414 -141l-16 6z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1531" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q135 0 234.5 -43t166 -118t99 -174t32.5 -212q0 -154 -57 -303.5t-166.5 -269t-265.5 -193.5t-352 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5 t170 148.5t101.5 204.5t34 228.5q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5zM750 1507l8 15l268 202h16l183 -202l4 -15l-45 -59l-17 -6l-174 84l-211 -84l-12 6z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1531" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q135 0 234.5 -43t166 -118t99 -174t32.5 -212q0 -154 -57 -303.5t-166.5 -269t-265.5 -193.5t-352 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5 t170 148.5t101.5 204.5t34 228.5q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5zM651 1511q20 37 41 71t48.5 59.5t64.5 41t88 15.5q59 0 126.5 -14.5t123.5 -14.5q37 0 78 11.5t88 41.5l14 -47 q-12 -33 -32.5 -66.5t-48.5 -60t-62.5 -44t-79.5 -17.5q-25 0 -55.5 4t-66.5 10t-73 10.5t-71 4.5q-47 0 -89.5 -11.5t-76.5 -40.5z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1531" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q135 0 234.5 -43t166 -118t99 -174t32.5 -212q0 -154 -57 -303.5t-166.5 -269t-265.5 -193.5t-352 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM354 514q0 -152 83 -245t249 -93q135 0 237.5 57.5 t170 148.5t101.5 204.5t34 228.5q0 76 -20.5 139.5t-63.5 109.5t-108.5 71.5t-157.5 25.5q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5zM731 1585q0 27 12.5 51.5t33 44t46 31.5t51.5 12q41 0 70 -31.5t29 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5 t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM1010 1585q0 27 12 51.5t32.5 44t46 31.5t52.5 12q41 0 69.5 -31.5t28.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48.5 -29.5t-51 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xd7;" horiz-adv-x="929" d="M61 258l281 231l-182 230l129 106l182 -229l283 233l84 -106l-283 -234l184 -235l-127 -104l-186 233l-281 -231z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1533" d="M-31 41l201 188q-31 61 -45 132t-14 149q0 168 59 321.5t169 271.5t262.5 188.5t338.5 70.5q102 0 183 -25.5t145 -70.5l176 166l139 -127l-188 -179q78 -137 78 -311q0 -154 -57.5 -303.5t-167 -269t-265.5 -193.5t-352 -74q-111 0 -196 28t-148 79l-191 -180zM354 514 q0 -29 2 -53.5t9 -46.5l731 690q-82 57 -217 57q-141 0 -240.5 -58.5t-162 -151.5t-92.5 -208.5t-30 -228.5zM461 246q86 -70 225 -70q135 0 237.5 57.5t170 148.5t101.5 204.5t34 228.5q0 78 -21 137z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1443" d="M133 346q0 66 14 129l187 877h235l-176 -828q-8 -33 -11 -62.5t-3 -55.5q0 -123 69.5 -176.5t196.5 -53.5q154 0 257.5 81t144.5 267l176 828h225l-186 -877q-23 -100 -74 -190t-135 -159t-200 -109t-263 -40q-123 0 -210 29t-142.5 78t-80 116.5t-24.5 145.5zM690 1610 q0 18 8.5 40.5t20.5 42t27.5 32t31.5 12.5q8 0 19 -6l325 -207l2 -15l-45 -73l-18 -6l-352 141q-19 6 -19 39z" /> -<glyph unicode="&#xda;" horiz-adv-x="1443" d="M133 346q0 66 14 129l187 877h235l-176 -828q-8 -33 -11 -62.5t-3 -55.5q0 -123 69.5 -176.5t196.5 -53.5q154 0 257.5 81t144.5 267l176 828h225l-186 -877q-23 -100 -74 -190t-135 -159t-200 -109t-263 -40q-123 0 -210 29t-142.5 78t-80 116.5t-24.5 145.5zM727 1509 l10 15l412 207q12 6 22 6q23 0 32 -25.5t9 -54.5t-10 -54.5t-31 -31.5l-413 -141l-15 6z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1443" d="M133 346q0 66 14 129l187 877h235l-176 -828q-8 -33 -11 -62.5t-3 -55.5q0 -123 69.5 -176.5t196.5 -53.5q154 0 257.5 81t144.5 267l176 828h225l-186 -877q-23 -100 -74 -190t-135 -159t-200 -109t-263 -40q-123 0 -210 29t-142.5 78t-80 116.5t-24.5 145.5zM676 1507 l8 15l270 202h17l180 -202l4 -15l-45 -59l-16 -6l-174 84l-211 -84l-13 6z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1443" d="M133 346q0 66 14 129l187 877h235l-176 -828q-8 -33 -11 -62.5t-3 -55.5q0 -123 69.5 -176.5t196.5 -53.5q154 0 257.5 81t144.5 267l176 828h225l-186 -877q-23 -100 -74 -190t-135 -159t-200 -109t-263 -40q-123 0 -210 29t-142.5 78t-80 116.5t-24.5 145.5zM709 1585 q0 27 12 51.5t32.5 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48.5 -29.5t-51 -11q-41 0 -67.5 28.5t-26.5 69.5zM987 1585q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5 t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1150" d="M137 1352h264l215 -613l463 613h260l-651 -797l-117 -555h-235l115 547zM627 1509l10 15l412 207q12 6 22 6q23 0 33 -25.5t10 -54.5t-11 -54.5t-32 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xde;" horiz-adv-x="1091" d="M61 0l287 1352h236l-47 -226h90q201 0 316.5 -89t115.5 -259q0 -98 -37 -189t-108.5 -162t-178 -113t-248.5 -42h-68q-34 0 -65 2l-57 -274h-236zM397 471q29 -2 61 -2h66q141 0 211 83t70 214q0 72 -41 118t-146 46h-63q-31 0 -61 -2z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1132" d="M23 0l210 995q25 115 71 209t111.5 162t149.5 104.5t187 36.5q68 0 119 -19.5t86.5 -51t54 -74.5t18.5 -90q0 -55 -22.5 -103.5t-57.5 -90.5t-73.5 -81t-73.5 -74.5t-57.5 -70.5t-22.5 -70t22.5 -63.5t56.5 -57t73.5 -58.5t73.5 -66.5t56.5 -85t22.5 -111.5 q0 -106 -43 -181t-106.5 -123t-134 -69.5t-126.5 -21.5q-74 0 -130 27.5t-89 62.5l105 215q23 -59 63.5 -98t102.5 -39q51 0 95 50t44 144q0 55 -21.5 95t-53.5 72t-69.5 58.5t-69.5 56t-53.5 66.5t-21.5 88q0 88 45 151.5t100.5 119t100.5 110t45 121.5q0 41 -24.5 68.5 t-77.5 27.5q-66 0 -110 -28.5t-74.5 -76.5t-51 -110.5t-35.5 -130.5l-211 -995h-204z" /> -<glyph unicode="&#xe0;" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5zM485 1268q0 18 8.5 40.5t20.5 42t27.5 32t31.5 12.5q8 0 19 -6l326 -207l2 -15l-46 -73l-18 -7l-352 142q-19 6 -19 39z" /> -<glyph unicode="&#xe1;" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5zM614 1169l11 15l411 207q12 6 23 6q23 0 33 -25.5t10 -54.5t-11.5 -54.5t-31.5 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xe2;" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5zM504 1161l8 15l268 202h17l182 -202l4 -15l-47 -59l-14 -6l-174 84l-211 -84l-15 6z" /> -<glyph unicode="&#xe3;" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5zM444 1184q18 37 40 70.5t49.5 59t63.5 41t87 15.5q59 0 127 -14.5t123 -14.5q37 0 79 11.5t89 42.5l14 -47q-12 -33 -32.5 -67t-48 -60.5 t-63.5 -44t-81 -17.5q-25 0 -55.5 4t-66.5 10.5t-73 10.5t-71 4q-47 0 -88 -11.5t-76 -39.5z" /> -<glyph unicode="&#xe4;" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5zM522 1235q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-51.5 -11 q-41 0 -67.5 28.5t-26.5 69.5zM801 1235q0 27 12 51.5t32.5 44t47.5 31.5t53 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xe5;" d="M57 367q0 111 37 219t106.5 194t171 139.5t230.5 53.5q98 0 177 -33t114 -92h8l43 94h176l-200 -942h-181l11 129h-9q-72 -63 -153.5 -108.5t-192.5 -45.5q-80 0 -143.5 30t-106.5 82t-65.5 124t-22.5 156zM283 389q0 -47 10 -91t31.5 -78t55.5 -54.5t81 -20.5 q33 0 71.5 9.5t78.5 26t77 40t66 53.5l84 394q-47 76 -104.5 103.5t-117.5 27.5q-80 0 -141 -36t-104 -94.5t-65.5 -131t-22.5 -148.5zM598 1223q0 37 17.5 71.5t47 62t71.5 45t91 17.5q78 0 118 -45t40 -102q0 -35 -16.5 -69t-46 -61.5t-71.5 -44t-93 -16.5 q-84 0 -121 44.5t-37 97.5zM717 1237q0 -25 15.5 -45.5t43.5 -20.5q35 0 60.5 29t25.5 60q0 27 -14 48t-43 21q-39 0 -63.5 -30.5t-24.5 -61.5z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1642" d="M-2 190q0 90 30.5 156t81 112t115 75.5t131 45t129 21.5t111.5 6h86l4 19q6 27 6 51q0 115 -168 115q-90 0 -161.5 -18.5t-143.5 -49.5l-6 170q162 80 362 80q45 0 92.5 -6t90.5 -21.5t77.5 -41t57.5 -64.5q76 61 170 97t205 36q154 0 233.5 -71t79.5 -200 q0 -39 -8 -77.5t-20.5 -72.5t-28 -60.5t-29.5 -40.5h-596q-6 -35 -6 -68q0 -98 52 -163.5t169 -65.5q76 0 166 28.5t162 71.5v-168q-31 -16 -75 -35.5t-96 -36t-110.5 -28t-120.5 -11.5q-127 0 -209.5 48.5t-123.5 128.5q-109 -98 -231 -137.5t-245 -39.5q-119 0 -176 61.5 t-57 153.5zM246 244q0 -41 27.5 -63.5t76.5 -22.5q29 0 64 7t69.5 22.5t68.5 37t60 49.5l39 191h-14q-68 0 -136.5 -7t-126 -29.5t-93 -66.5t-35.5 -118zM950 610h344q43 0 49 2q4 10 8.5 22.5t4.5 41.5q0 59 -38 90t-93 31q-92 0 -162 -52.5t-113 -134.5z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1001" d="M57 369q0 111 37 219t113 193t190.5 138.5t268.5 53.5q98 0 187 -22.5t138 -59.5l-88 -182q-39 35 -116.5 61.5t-153.5 26.5q-90 0 -152.5 -37t-101.5 -94.5t-56.5 -127t-17.5 -132.5q0 -104 49 -176t156 -72q74 0 163 29.5t156 82.5v-192q-59 -35 -152 -64.5t-196 -36.5 l-49 -61q16 4 32.5 6t29.5 2q59 0 94 -38t35 -97q0 -47 -25 -89t-65.5 -75t-96 -52t-117.5 -19q-53 0 -100 11t-86 27l2 13l78 98h14q20 -10 54 -17.5t69 -7.5q41 0 73 15.5t32 58.5q0 29 -21.5 40t-52.5 11q-25 0 -51.5 -4t-48.5 -10l-29 53l121 138q-82 10 -141.5 43.5 t-98.5 86t-57.5 119t-18.5 140.5z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1034" d="M53 369q0 115 43 223t123 193t191.5 136.5t248.5 51.5q154 0 234 -71t80 -200q0 -39 -8.5 -77.5t-21.5 -72.5t-28.5 -60.5t-27.5 -40.5h-600q-2 -12 -2 -25v-25q0 -51 13 -96t40 -78.5t69 -53t99 -19.5q76 0 166 28.5t162 71.5v-168q-31 -16 -75 -35.5t-96.5 -36 t-110.5 -28t-120 -11.5q-96 0 -166.5 32t-118 85t-71 125t-23.5 152zM334 610h399q4 10 9.5 22.5t5.5 43.5q0 59 -39 90t-95 31q-96 0 -167.5 -53.5t-112.5 -133.5zM420 1268q0 18 7 40.5t19.5 42t29 32t32.5 12.5q6 0 18 -6l324 -207l4 -15l-47 -73l-16 -7l-355 142 q-16 6 -16 39z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1034" d="M53 369q0 115 43 223t123 193t191.5 136.5t248.5 51.5q154 0 234 -71t80 -200q0 -39 -8.5 -77.5t-21.5 -72.5t-28.5 -60.5t-27.5 -40.5h-600q-2 -12 -2 -25v-25q0 -51 13 -96t40 -78.5t69 -53t99 -19.5q76 0 166 28.5t162 71.5v-168q-31 -16 -75 -35.5t-96.5 -36 t-110.5 -28t-120 -11.5q-96 0 -166.5 32t-118 85t-71 125t-23.5 152zM334 610h399q4 10 9.5 22.5t5.5 43.5q0 59 -39 90t-95 31q-96 0 -167.5 -53.5t-112.5 -133.5zM510 1169l10 15l412 207q12 6 22 6q23 0 33 -25.5t10 -54.5t-11 -54.5t-32 -31.5l-413 -141l-15 6z" /> -<glyph unicode="&#xea;" horiz-adv-x="1034" d="M53 369q0 115 43 223t123 193t191.5 136.5t248.5 51.5q154 0 234 -71t80 -200q0 -39 -8.5 -77.5t-21.5 -72.5t-28.5 -60.5t-27.5 -40.5h-600q-2 -12 -2 -25v-25q0 -51 13 -96t40 -78.5t69 -53t99 -19.5q76 0 166 28.5t162 71.5v-168q-31 -16 -75 -35.5t-96.5 -36 t-110.5 -28t-120 -11.5q-96 0 -166.5 32t-118 85t-71 125t-23.5 152zM334 610h399q4 10 9.5 22.5t5.5 43.5q0 59 -39 90t-95 31q-96 0 -167.5 -53.5t-112.5 -133.5zM432 1161l10 15l269 202h16l182 -202l2 -15l-45 -59l-16 -6l-174 84l-211 -84l-12 6z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1034" d="M53 369q0 115 43 223t123 193t191.5 136.5t248.5 51.5q154 0 234 -71t80 -200q0 -39 -8.5 -77.5t-21.5 -72.5t-28.5 -60.5t-27.5 -40.5h-600q-2 -12 -2 -25v-25q0 -51 13 -96t40 -78.5t69 -53t99 -19.5q76 0 166 28.5t162 71.5v-168q-31 -16 -75 -35.5t-96.5 -36 t-110.5 -28t-120 -11.5q-96 0 -166.5 32t-118 85t-71 125t-23.5 152zM334 610h399q4 10 9.5 22.5t5.5 43.5q0 59 -39 90t-95 31q-96 0 -167.5 -53.5t-112.5 -133.5zM430 1235q0 27 12.5 51.5t33 44t46 31.5t51.5 12q41 0 70 -31.5t29 -72.5q0 -27 -13.5 -50.5t-35 -42 t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM709 1235q0 27 12 51.5t32.5 44t46 31.5t52.5 12q41 0 69.5 -31.5t28.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48.5 -29.5t-51 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="505" d="M20 0l201 942h225l-200 -942h-226zM100 1268q0 18 8.5 40.5t20.5 42t27.5 32t31.5 12.5q8 0 19 -6l325 -207l3 -15l-46 -73l-18 -7l-352 142q-19 6 -19 39z" /> -<glyph unicode="&#xed;" horiz-adv-x="505" d="M20 0l201 942h225l-200 -942h-226zM176 1169l10 15l412 207q12 6 23 6q23 0 33 -25.5t10 -54.5t-11.5 -54.5t-31.5 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xee;" horiz-adv-x="505" d="M20 0l201 942h225l-200 -942h-226zM135 1161l8 15l269 202h16l182 -202l4 -15l-47 -59l-14 -6l-176 84l-209 -84l-14 6z" /> -<glyph unicode="&#xef;" horiz-adv-x="505" d="M20 0l201 942h225l-200 -942h-226zM137 1235q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM416 1235q0 27 12 51.5t32.5 44t47.5 31.5t53 12q41 0 68.5 -31.5 t27.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1171" d="M55 365q0 117 41 226t115 194t179.5 136.5t234.5 51.5q104 0 166.5 -36t85.5 -97l6 2q0 10 1 18t1 19q0 66 -15.5 140.5t-44.5 149.5l-252 -59l-14 133l211 51q-39 72 -87 129.5t-101 92.5h301q57 -68 104 -166l268 67l15 -139l-236 -57q27 -86 41.5 -183.5t14.5 -201.5 q0 -84 -10.5 -180.5t-38 -191.5t-73.5 -184.5t-118 -157t-172 -107.5t-234 -40q-106 0 -181 33t-121 87.5t-66.5 124t-20.5 145.5zM299 385q0 -47 10 -91t31.5 -77t56.5 -52.5t82 -19.5q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5 t-83 19.5q-76 0 -134 -37t-97 -95.5t-58.5 -132t-19.5 -147.5z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1126" d="M20 0l201 942h176l-20 -139h8q61 86 161.5 128t205.5 42q57 0 107 -12.5t87 -40t58.5 -71.5t21.5 -108q0 -45 -12 -100l-137 -641h-226l133 623q6 31 7 55q0 113 -115 113q-35 0 -77 -12.5t-84 -36t-80 -58.5t-60 -80l-129 -604h-226zM365 1184q18 37 39.5 70.5t49 59 t63.5 41t87 15.5q59 0 127 -14.5t123 -14.5q37 0 78 11.5t90 42.5l14 -47q-12 -33 -32.5 -67t-48 -60.5t-63.5 -44t-81 -17.5q-25 0 -55.5 4t-66.5 10.5t-72.5 10.5t-71.5 4q-47 0 -88 -11.5t-76 -39.5z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1130" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q102 0 175 -32t120 -86t68.5 -125t21.5 -150q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-258.5 -51.5q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5 q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5zM418 1268q0 18 8 40.5t20.5 42t27.5 32t32 12.5q8 0 18 -6l326 -207l2 -15l-47 -73l-17 -7l-354 142q-16 6 -16 39z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1130" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q102 0 175 -32t120 -86t68.5 -125t21.5 -150q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-258.5 -51.5q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5 q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5zM524 1169l11 15l411 207q12 6 23 6q23 0 33 -25.5t10 -54.5t-11.5 -54.5t-31.5 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1130" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q102 0 175 -32t120 -86t68.5 -125t21.5 -150q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-258.5 -51.5q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5 q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5zM469 1161l10 15l269 202h16l182 -202l2 -15l-45 -59l-14 -6l-176 84l-209 -84l-15 6z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1130" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q102 0 175 -32t120 -86t68.5 -125t21.5 -150q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-258.5 -51.5q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5 q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5zM358 1184q18 37 40 70.5t49.5 59t63.5 41t87 15.5q59 0 127 -14.5t123 -14.5q37 0 78 11.5t90 42.5l14 -47q-12 -33 -32.5 -67 t-48 -60.5t-63.5 -44t-81 -17.5q-25 0 -55.5 4t-66.5 10.5t-73 10.5t-71 4q-47 0 -88 -11.5t-76 -39.5z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1130" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q102 0 175 -32t120 -86t68.5 -125t21.5 -150q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-258.5 -51.5q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5 q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5zM455 1235q0 27 12 51.5t32.5 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48.5 -29.5t-51 -11 q-41 0 -67.5 28.5t-26.5 69.5zM733 1235q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1042" d="M66 406l34 167h848l-35 -167h-847zM303 106q0 33 15.5 64t41 55.5t57.5 40t66 15.5q51 0 86 -39t35 -90q0 -33 -17.5 -63t-44 -53.5t-59 -36.5t-63.5 -13q-53 0 -85 34.5t-32 85.5zM455 819q0 33 15 63.5t41 55.5t57.5 40t66.5 15q51 0 86 -39t35 -90q0 -33 -16.5 -62.5 t-43 -53t-59.5 -37t-66 -13.5q-53 0 -84.5 35t-31.5 86z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1130" d="M-45 25l145 133q-45 90 -45 207q0 113 39 222t114 195t186.5 138.5t256.5 52.5q82 0 144.5 -21.5t107.5 -56.5l135 123l103 -90l-152 -140q25 -47 36 -99t11 -109q0 -115 -37.5 -223.5t-111.5 -193.5t-184.5 -136.5t-256.5 -51.5q-84 0 -147 20.5t-111 55.5l-141 -129z M301 354q0 -14 4 -28l440 405q-23 29 -56.5 47.5t-80.5 18.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5v-31zM344 215q23 -33 56.5 -51.5t80.5 -18.5q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5q0 33 -7 68z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1099" d="M63 197q0 45 13 104l137 641h225l-131 -612q-4 -10 -4 -22v-21q0 -53 29.5 -91t95.5 -38q72 0 141.5 48t116.5 138l127 598h227l-200 -942h-176l16 131h-8q-33 -47 -74 -76.5t-86 -47t-92 -25t-90 -7.5q-57 0 -105.5 11.5t-84.5 37t-56.5 69t-20.5 104.5zM401 1268 q0 18 7.5 40.5t19.5 42t27.5 32t31.5 12.5q8 0 21 -6l323 -207l5 -15l-48 -73l-16 -7l-354 142q-17 6 -17 39z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1099" d="M63 197q0 45 13 104l137 641h225l-131 -612q-4 -10 -4 -22v-21q0 -53 29.5 -91t95.5 -38q72 0 141.5 48t116.5 138l127 598h227l-200 -942h-176l16 131h-8q-33 -47 -74 -76.5t-86 -47t-92 -25t-90 -7.5q-57 0 -105.5 11.5t-84.5 37t-56.5 69t-20.5 104.5zM455 1169l8 15 l414 207q12 6 20 6q23 0 33 -25.5t10 -54.5t-11 -54.5t-32 -31.5l-414 -141l-14 6z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1099" d="M63 199q0 43 13 102l137 641h225l-131 -612q-4 -10 -4 -22v-21q0 -53 29.5 -91t95.5 -38q72 0 141.5 48t116.5 138l127 598h227l-200 -942h-176l16 131h-8q-33 -47 -74 -76.5t-86 -47t-92 -25t-90 -7.5q-57 0 -105.5 11.5t-84.5 38t-56.5 70t-20.5 104.5zM424 1161l8 15 l270 202h17l180 -202l4 -15l-45 -59l-16 -6l-174 84l-211 -84l-13 6z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1099" d="M63 199q0 43 13 102l137 641h225l-131 -612q-6 -29 -6 -51q0 -59 34 -90t93 -31q72 0 141.5 48t116.5 138l127 598h227l-200 -942h-176l16 131h-8q-33 -47 -74 -76.5t-86 -47t-92 -25t-90 -7.5q-57 0 -105.5 11.5t-84.5 38t-56.5 70t-20.5 104.5zM422 1235q0 27 12 51.5 t32.5 44t47.5 31.5t53 12q41 0 70 -31.5t29 -72.5q0 -27 -14.5 -50.5t-36 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM700 1235q0 27 12.5 51.5t33 44t47 31.5t53.5 12q41 0 69.5 -31.5t28.5 -72.5q0 -27 -13 -50.5t-35 -42t-48.5 -29.5t-52.5 -11 q-41 0 -68 28.5t-27 69.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1060" d="M-172 -342q6 -2 13 -4t34 -2q39 0 80 8t84 33q84 47 155.5 131t149.5 207l-276 911h235l186 -670l404 670h219l-592 -950q-43 -72 -112.5 -161t-154.5 -168t-183.5 -133t-198.5 -54q-16 0 -24.5 1t-18.5 5v176zM514 1169l8 15l414 207q12 6 20 6q23 0 33 -25.5t10 -54.5 t-11 -54.5t-32 -31.5l-413 -141l-15 6z" /> -<glyph unicode="&#xfe;" d="M-92 -532l436 2048h217l-145 -682h8q31 29 71 54t84 43.5t89 30t84 11.5q88 0 151.5 -31t104.5 -82t59 -120.5t18 -145.5q0 -117 -35.5 -227.5t-104 -197.5t-171 -140.5t-237.5 -53.5q-92 0 -166 27t-109 86l-131 -620h-223zM301 268q47 -76 106.5 -95t112.5 -19 q84 0 146.5 33.5t104.5 90t63.5 129t21.5 148.5q0 47 -9 92t-30.5 79t-55.5 54.5t-83 20.5q-31 0 -69 -9.5t-77.5 -26.5t-77.5 -42t-67 -55z" /> -<glyph unicode="&#xff;" horiz-adv-x="1060" d="M-172 -342q6 -2 13 -4t34 -2q39 0 80 8t84 33q84 47 155.5 131t149.5 207l-276 911h235l186 -670l404 670h219l-592 -950q-43 -72 -112.5 -161t-154.5 -168t-183.5 -133t-198.5 -54q-16 0 -24.5 1t-18.5 5v176zM395 1235q0 27 12.5 51.5t33 44t47 31.5t53.5 12 q41 0 69.5 -31.5t28.5 -72.5q0 -27 -14.5 -50.5t-36 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5zM674 1235q0 27 12 51.5t32.5 44t47.5 31.5t53 12q41 0 70 -31.5t29 -72.5q0 -27 -14.5 -50.5t-36 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#x152;" horiz-adv-x="1736" d="M109 510q0 168 59 321.5t168.5 271.5t262.5 188.5t339 70.5q39 0 75 -3t70 -7h703l-45 -205h-508l-70 -328h371l-43 -205h-371l-86 -409h549l-45 -205h-709q-92 -25 -200 -25q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM362 528q0 -174 79 -265t233 -91q66 0 121 18 l202 957q-47 18 -108 18q-147 0 -247.5 -56t-163 -147.5t-89.5 -205t-27 -228.5z" /> -<glyph unicode="&#x153;" horiz-adv-x="1728" d="M55 365q0 113 39 222t114 195t186.5 138.5t256.5 52.5q119 0 199 -43t113 -137q160 180 391 180q154 0 233.5 -71t79.5 -200q0 -39 -8 -77.5t-20.5 -72.5t-28 -60.5t-29.5 -40.5h-596q-6 -35 -6 -68q0 -98 52 -163.5t169 -65.5q76 0 166 28.5t162 71.5v-168 q-31 -16 -75 -35.5t-96 -36t-110.5 -28t-120.5 -11.5q-109 0 -186.5 41t-112.5 131q-72 -94 -169 -133t-214 -39q-102 0 -175.5 31t-121 84t-70 124t-22.5 151zM301 385q0 -47 10.5 -91t32 -77t55 -52.5t80.5 -19.5q76 0 134.5 37t97.5 95.5t59.5 131t20.5 146.5 q0 49 -10.5 93t-33 77t-56.5 52.5t-83 19.5q-76 0 -133 -37t-96 -95.5t-58.5 -132t-19.5 -147.5zM1036 610h344q43 0 50 2q4 10 8 22.5t4 41.5q0 59 -38 90t-93 31q-92 0 -162 -52.5t-113 -134.5z" /> -<glyph unicode="&#x178;" horiz-adv-x="1150" d="M137 1352h264l215 -613l463 613h260l-651 -797l-117 -555h-235l115 547zM541 1585q0 27 12 51.5t32.5 44t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13 -50.5t-34.5 -42t-48.5 -29.5t-51 -11q-41 0 -67.5 28.5t-26.5 69.5zM819 1585q0 27 12.5 51.5t33 44 t47 31.5t53.5 12q41 0 68.5 -31.5t27.5 -72.5q0 -27 -13.5 -50.5t-35 -42t-48 -29.5t-51.5 -11q-41 0 -67.5 28.5t-26.5 69.5z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="479" d="M248 1161l8 15l270 202h17l180 -202l4 -15l-45 -59l-16 -6l-174 84l-211 -84l-13 6z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="636" d="M248 1163q18 37 39.5 71t49.5 59.5t64.5 41t85.5 15.5q59 0 127 -14.5t123 -14.5q37 0 79 11t89 42l15 -47q-12 -33 -33 -66.5t-48.5 -60t-63.5 -44t-81 -17.5q-25 0 -56.5 4t-66 10t-71.5 10t-72 4q-47 0 -88 -11t-76 -40z" /> -<glyph unicode="&#x2000;" horiz-adv-x="868" /> -<glyph unicode="&#x2001;" horiz-adv-x="1738" /> -<glyph unicode="&#x2002;" horiz-adv-x="868" /> -<glyph unicode="&#x2003;" horiz-adv-x="1738" /> -<glyph unicode="&#x2004;" horiz-adv-x="579" /> -<glyph unicode="&#x2005;" horiz-adv-x="434" /> -<glyph unicode="&#x2006;" horiz-adv-x="288" /> -<glyph unicode="&#x2007;" horiz-adv-x="288" /> -<glyph unicode="&#x2008;" horiz-adv-x="217" /> -<glyph unicode="&#x2009;" horiz-adv-x="346" /> -<glyph unicode="&#x200a;" horiz-adv-x="96" /> -<glyph unicode="&#x2010;" horiz-adv-x="960" d="M102 406l35 167h692l-34 -167h-693z" /> -<glyph unicode="&#x2011;" horiz-adv-x="960" d="M102 406l35 167h692l-34 -167h-693z" /> -<glyph unicode="&#x2012;" horiz-adv-x="960" d="M102 406l35 167h692l-34 -167h-693z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1116" d="M102 406l35 167h848l-35 -167h-848z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1583" d="M102 406l35 167h1315l-35 -167h-1315z" /> -<glyph unicode="&#x2018;" horiz-adv-x="514" d="M213 942l66 311l264 252l63 -51l-141 -231h51l-59 -281h-244z" /> -<glyph unicode="&#x2019;" horiz-adv-x="479" d="M195 993l141 232h-51l59 280h244l-66 -311l-264 -252z" /> -<glyph unicode="&#x201a;" horiz-adv-x="532" d="M-63 -242l141 232h-51l59 280h244l-66 -311l-264 -252z" /> -<glyph unicode="&#x201c;" horiz-adv-x="839" d="M213 942l66 311l264 252l63 -51l-141 -231h51l-59 -281h-244zM539 942l65 311l264 252l64 -51l-141 -231h51l-60 -281h-243z" /> -<glyph unicode="&#x201d;" horiz-adv-x="804" d="M195 993l141 232h-51l59 280h244l-66 -311l-264 -252zM520 993l142 232h-52l60 280h243l-65 -311l-264 -252z" /> -<glyph unicode="&#x201e;" horiz-adv-x="858" d="M-63 -242l141 232h-51l59 280h244l-66 -311l-264 -252zM262 -242l141 232h-51l60 280h243l-65 -311l-264 -252z" /> -<glyph unicode="&#x2022;" horiz-adv-x="663" d="M168 473q0 33 15.5 63.5t41 55t58 40t65.5 15.5q51 0 86 -39t35 -90q0 -33 -16.5 -62.5t-43 -53t-59.5 -37t-63 -13.5q-53 0 -86 35t-33 86z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1292" d="M20 96q0 33 15.5 63.5t41 55.5t57.5 40t67 15q51 0 86 -38.5t35 -90.5q0 -33 -16.5 -62.5t-43 -53t-59.5 -37t-66 -13.5q-53 0 -85 35t-32 86zM410 96q0 33 15 63.5t41 55.5t58.5 40t65.5 15q51 0 86 -38.5t35 -90.5q0 -33 -16.5 -62.5t-43 -53t-59.5 -37t-66 -13.5 q-53 0 -84.5 35t-31.5 86zM797 96q0 33 15 63.5t41 55.5t58.5 40t65.5 15q51 0 86 -38.5t35 -90.5q0 -33 -17.5 -62.5t-44 -53t-59.5 -37t-64 -13.5q-53 0 -84.5 35t-31.5 86z" /> -<glyph unicode="&#x202f;" horiz-adv-x="346" /> -<glyph unicode="&#x2039;" horiz-adv-x="684" d="M70 489l2 11l350 360h229l-372 -362l-3 -11l220 -362h-232z" /> -<glyph unicode="&#x203a;" horiz-adv-x="684" d="M2 125l375 362l2 11l-221 362h229l199 -360l-2 -11l-351 -364h-231z" /> -<glyph unicode="&#x205f;" horiz-adv-x="434" /> -<glyph unicode="&#x20ac;" horiz-adv-x="1257" d="M61 461l35 168h150q6 57 20 108h-145l35 168h168q45 98 109.5 182t147.5 144.5t181 95.5t213 35q92 0 182 -23.5t148 -64.5l-113 -227q-41 49 -107.5 81.5t-162.5 32.5q-74 0 -131.5 -20.5t-101.5 -56t-75.5 -82t-54.5 -97.5h455l-35 -168h-471q-6 -29 -10 -56.5 t-6 -51.5h462l-34 -168h-435q6 -139 60.5 -212t152.5 -73q104 0 201.5 37t163.5 94l18 -207q-84 -49 -190.5 -87t-233.5 -38q-109 0 -186.5 38t-129.5 104.5t-77.5 154.5t-27.5 189h-175z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1449" d="M260 1206l29 131h442l-29 -131h-151l-96 -450h-140l97 450h-152zM674 756l125 581h184l57 -411l232 411h182l-125 -581h-139l72 336l-195 -336h-133l-49 338l-72 -338h-139z" /> -<glyph unicode="&#xe000;" horiz-adv-x="940" d="M0 940h940v-940h-940v940z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1073" d="M-47 -532l285 1337h-117l24 117l121 18q25 117 49.5 199t49 138t47 91t43.5 57q51 53 122.5 77t151.5 24q25 0 59.5 -3t75.5 -14.5t86 -32t88 -53.5l-127 -166l-49 37q-25 18 -51.5 33.5t-59 26t-71.5 10.5q-27 0 -48.5 -12.5t-40 -45t-35.5 -88t-36 -141.5l-28 -135h180 l-29 -137h-180l-285 -1337h-225zM590 0l201 942h225l-201 -942h-225z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1093" d="M-47 -532l285 1337h-117l24 117l121 18q25 117 49.5 199t49 138t47 91t43.5 57q51 53 122.5 77t151.5 24q47 0 136 -12.5t182 -47.5l98 50l-322 -1516h-225l281 1319q-41 16 -89.5 30.5t-109.5 14.5q-27 0 -48.5 -12.5t-40 -45t-35.5 -88t-36 -141.5l-28 -135h180 l-29 -137h-180l-285 -1337h-225z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="1775" d="M1290 0l201 942h225l-200 -942h-226zM1520 1221q0 33 15.5 63.5t41 55t57 40t66.5 15.5q51 0 86 -39t35 -90q0 -33 -17.5 -62.5t-44 -53.5t-59.5 -37t-63 -13q-53 0 -85 35t-32 86zM588 -535l285 1340h-117l24 117l121 18q25 117 49.5 199t49 138t47 91t43.5 57 q51 53 122.5 77t151.5 24q10 0 32.5 -1t49.5 -5t54.5 -13.5t49.5 -23.5l-88 -174q-16 12 -59 33.5t-88 21.5q-27 0 -48.5 -12.5t-40 -45t-35.5 -88t-36 -141.5l-28 -135h180l-29 -137h-180l-285 -1340h-225zM-47 -535l285 1340h-117l24 117l121 18q25 117 49.5 199t49 138 t47 91t43.5 57q51 53 122.5 77t151.5 24q10 0 32.5 -1t49.5 -5t54.5 -13.5t49.5 -23.5l-88 -174q-16 12 -59 33.5t-88 21.5q-27 0 -48.5 -12.5t-40 -45t-35.5 -88t-36 -141.5l-28 -135h180l-29 -137h-180l-285 -1340h-225z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="1800" d="M1305 0l321 1516h226l-322 -1516h-225zM588 -535l285 1340h-117l24 117l121 18q25 117 49.5 199t49 138t47 91t43.5 57q51 53 122.5 77t151.5 24q10 0 32.5 -1t49.5 -5t54.5 -13.5t49.5 -23.5l-88 -174q-16 12 -59 33.5t-88 21.5q-27 0 -48.5 -12.5t-40 -45t-35.5 -88 t-36 -141.5l-28 -135h180l-29 -137h-180l-285 -1340h-225zM-47 -535l285 1340h-117l24 117l121 18q25 117 49.5 199t49 138t47 91t43.5 57q51 53 122.5 77t151.5 24q10 0 32.5 -1t49.5 -5t54.5 -13.5t49.5 -23.5l-88 -174q-16 12 -59 33.5t-88 21.5q-27 0 -48.5 -12.5 t-40 -45t-35.5 -88t-36 -141.5l-28 -135h180l-29 -137h-180l-285 -1340h-225z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.ttf deleted file mode 100755 index 9766a17..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.woff deleted file mode 100755 index c436da0..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-bolditalic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.eot deleted file mode 100755 index 379b383..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.svg deleted file mode 100755 index b613779..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.svg +++ /dev/null @@ -1,247 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2011 Pablo Impallari wwwimpallaricomimpallarigmailcomCopyright c 2011 Igino Marini wwwikerncommailiginomarinicomCopyright c 2011 Brenda Gallo gbrenda1987gmailcomwith Reserved Font Name Quattrocento Sans -Designer : Pablo Impallari -Foundry : Pablo Impallari Igino Marini Brenda Gallo -Foundry URL : wwwimpallaricom -</metadata> -<defs> -<font id="QuattrocentoSansItalic" horiz-adv-x="1177" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="501" /> -<glyph unicode=" " horiz-adv-x="501" /> -<glyph unicode="&#x09;" horiz-adv-x="501" /> -<glyph unicode="&#xa0;" horiz-adv-x="501" /> -<glyph unicode="!" horiz-adv-x="530" d="M63 55q0 43 38 79t83 36q33 0 54.5 -24.5t21.5 -59.5q0 -23 -11 -42t-27.5 -33.5t-37 -24t-41.5 -9.5q-35 0 -57.5 22.5t-22.5 55.5zM162 307l182 1090h199l-285 -1090h-96z" /> -<glyph unicode="&#x22;" horiz-adv-x="681" d="M264 1057l51 442h166l-143 -442h-74zM545 1057l51 442h166l-144 -442h-73z" /> -<glyph unicode="#" horiz-adv-x="1261" d="M57 455l43 108h242l102 244h-249l43 106h251l183 426h131l-182 -426h258l182 426h131l-182 -426h250l-43 -106h-252l-103 -244h260l-43 -108h-264l-192 -455h-131l192 455h-258l-193 -455h-131l193 455h-238zM473 563h258l103 244h-259z" /> -<glyph unicode="$" horiz-adv-x="1087" d="M-10 88l76 150q31 -25 62.5 -47.5t70.5 -40t87 -27.5t111 -12l113 530q-68 25 -123 53.5t-94 65.5t-60.5 84t-21.5 108q0 98 35 172t96 124t143 78t177 34l38 176h123l-39 -176q90 -6 166 -26.5t129 -49.5l-75 -158q-41 45 -110 68t-138 29l-94 -449q57 -23 113 -49.5 t99.5 -65t70 -92t26.5 -129.5q0 -113 -40 -195.5t-106.5 -138t-152.5 -86t-180 -38.5l-37 -177h-123l37 174q-119 4 -215 36t-164 75zM367 991q0 -63 44 -100t136 -74l86 408q-123 -10 -194.5 -69t-71.5 -165zM520 115q154 18 218.5 91t64.5 169q0 43 -14.5 75.5t-39 59.5 t-57.5 48.5t-69 37.5z" /> -<glyph unicode="%" horiz-adv-x="1683" d="M160 883q0 94 29.5 180t83 152.5t125 106.5t157.5 40q57 0 101 -22.5t74 -61.5t44 -92t14 -113q0 -86 -29.5 -170t-82.5 -151.5t-128 -108.5t-163 -41q-57 0 -100 21.5t-71 60.5t-41 89.5t-13 109.5zM170 -49l1260 1464h133l-1260 -1464h-133zM274 885q0 -190 134 -191 q70 0 120 35t82.5 89t49 122t16.5 133q0 88 -35 142.5t-109 54.5q-76 0 -126 -39t-78.5 -96.5t-41 -125t-12.5 -124.5zM946 266q0 94 30 180t83 153t124.5 106.5t157.5 39.5q57 0 101.5 -22.5t74 -61t44 -92t14.5 -112.5q0 -86 -29.5 -170t-83 -151.5t-128 -108.5 t-163.5 -41q-57 0 -100 21.5t-70.5 60t-41 89t-13.5 109.5zM1061 268q0 -190 133 -190q70 0 120 34.5t83 89t49 122t16 133.5q0 88 -34.5 142t-108.5 54q-76 0 -126 -39t-79 -96t-41 -125t-12 -125z" /> -<glyph unicode="&#x26;" horiz-adv-x="1427" d="M76 299q0 61 24.5 129t71.5 129t115.5 114.5t154.5 88.5q-70 109 -69 229q0 90 31.5 160t84 117t120 71.5t141.5 24.5q70 0 138 -23.5t128 -66.5l-74 -146q-35 45 -95.5 74t-121.5 29q-41 0 -79 -13.5t-66.5 -42t-46 -72.5t-17.5 -106q0 -100 62 -180l366 -489 q74 109 74 229q0 39 -8.5 79t-22.5 77l-104 -9l20 97l531 75l-27 -126l-281 -25q12 -37 18.5 -79t6.5 -81q0 -90 -34 -177t-95 -161l170 -225h-172l-98 127q-88 -70 -201 -111t-246 -41q-102 0 -177 27t-124 71t-73.5 102t-24.5 124zM238 332q0 -106 77.5 -163.5 t206.5 -57.5q98 0 180 29.5t148 82.5l-338 441q-59 -18 -109.5 -51t-87 -77t-57 -96.5t-20.5 -107.5z" /> -<glyph unicode="'" horiz-adv-x="401" d="M264 1057l51 442h166l-143 -442h-74z" /> -<glyph unicode="(" horiz-adv-x="636" d="M102 467q0 162 45.5 314.5t128 292.5t199.5 267t260 238l74 -27q-104 -94 -201.5 -196.5t-171.5 -235.5t-119 -309t-45 -418q0 -59 7.5 -135t26 -157t49 -161.5t75.5 -152.5l-80 -27q-123 135 -185.5 322.5t-62.5 384.5z" /> -<glyph unicode=")" horiz-adv-x="634" d="M-123 -213q133 125 233.5 252t167 267t100.5 300t34 350q0 166 -39 320t-123 276l84 27q59 -68 105 -149.5t77 -174t47.5 -189.5t16.5 -196q0 -160 -45.5 -313.5t-128 -293.5t-199.5 -267t-260 -236z" /> -<glyph unicode="*" horiz-adv-x="897" d="M211 991l274 109l-227 110l92 119l185 -166l28 275h135l-90 -275l256 166l43 -119l-276 -110l229 -109l-90 -117l-188 162l-27 -270h-133l86 270l-256 -162z" /> -<glyph unicode="+" horiz-adv-x="1009" d="M74 436l22 107h350l70 331h107l-70 -331h352l-22 -107h-353l-75 -352h-107l76 352h-350z" /> -<glyph unicode="," horiz-adv-x="491" d="M-12 -160l112 150h-51l39 184h162l-47 -215l-183 -158z" /> -<glyph unicode="-" horiz-adv-x="995" d="M125 436l22 107h693l-23 -107h-692z" /> -<glyph unicode="." horiz-adv-x="475" d="M45 55q0 43 37 79t82 36q35 0 56.5 -24.5t21.5 -59.5q0 -23 -11.5 -42t-28 -33.5t-38 -24t-41.5 -9.5q-35 0 -56.5 22.5t-21.5 55.5z" /> -<glyph unicode="/" horiz-adv-x="878" d="M-63 -117l899 1555h153l-899 -1555h-153z" /> -<glyph unicode="0" horiz-adv-x="1341" d="M125 485q0 170 53 328t148.5 279.5t227.5 195.5t288 74q106 0 185 -42t131 -112.5t79 -166t27 -201.5q0 -158 -53.5 -312.5t-149.5 -277.5t-230.5 -199t-295.5 -76q-104 0 -182.5 40t-128.5 110t-74.5 163t-24.5 197zM295 487q0 -184 69.5 -280t202.5 -96t232.5 65.5 t166 170t99.5 235.5t33 262q0 86 -17.5 155.5t-53.5 120.5t-91 79t-129 28q-141 0 -239.5 -68.5t-159 -176.5t-87 -239t-26.5 -256z" /> -<glyph unicode="1" horiz-adv-x="643" d="M166 1126l442 226l-286 -1352h-154l229 1077l-217 -94z" /> -<glyph unicode="2" horiz-adv-x="1038" d="M-23 0l31 143q84 86 179.5 167t188.5 159t179 153.5t150.5 150.5t103.5 148.5t39 149.5q0 63 -44 109.5t-153 46.5q-45 0 -97 -7.5t-103.5 -21.5t-98.5 -32.5t-80 -39.5l-8 136q88 43 204 71.5t216 28.5q158 0 247 -76t89 -199q0 -82 -38 -160.5t-101.5 -156.5 t-147.5 -155.5t-177 -155.5t-189.5 -157t-184.5 -159h656l-31 -143h-830z" /> -<glyph unicode="3" horiz-adv-x="1095" d="M-23 102l70 138q59 -59 140 -94t186 -35q199 0 305 96t106 258q0 92 -69.5 146.5t-229.5 54.5h-55l27 116h63q74 0 134.5 21.5t103.5 60.5t66.5 92.5t23.5 118.5q0 68 -42 110t-142 42q-47 0 -96.5 -8.5t-95.5 -21.5t-87 -31.5t-72 -39.5l-8 136q39 20 87 38.5t98.5 33 t99.5 21.5t90 7q158 0 248 -71.5t90 -207.5q0 -61 -21.5 -114.5t-58.5 -96.5t-84 -77.5t-98 -59.5q92 -35 144 -101.5t52 -168.5q0 -94 -39 -182t-115.5 -157t-189 -110t-258.5 -41q-119 0 -213 34t-160 93z" /> -<glyph unicode="4" horiz-adv-x="1040" d="M37 430l31 143l737 779h164l-166 -779h141l-31 -143h-141l-92 -430h-154l92 430h-581zM242 573h407l117 555z" /> -<glyph unicode="5" horiz-adv-x="1110" d="M2 102l74 144q63 -59 139 -97t191 -38q186 0 294.5 96t108.5 266q0 88 -61.5 142.5t-212.5 54.5q-72 0 -151 -12.5t-151 -39.5l-53 31l228 713h694l-31 -143h-565l-146 -437q66 14 137.5 23.5t131.5 9.5q160 0 257 -81t97 -230q0 -98 -40 -193.5t-117.5 -169t-190.5 -120 t-260 -46.5q-119 0 -213 34t-160 93z" /> -<glyph unicode="6" horiz-adv-x="1144" d="M121 399q0 72 12 172.5t43 207t82 211t129 186t184.5 133t247.5 51.5q33 0 75 -4t85 -15.5t81 -31t62 -47.5l-63 -136q-57 57 -131 79t-135 22q-111 0 -197 -52.5t-146.5 -133t-95.5 -179t-43 -190.5q72 88 173.5 118.5t199.5 30.5q100 0 164.5 -31.5t102.5 -79.5 t52.5 -105.5t14.5 -108.5q0 -84 -33 -176.5t-99.5 -169t-168 -126t-238.5 -49.5q-96 0 -163.5 31t-110.5 86t-63.5 133t-20.5 174zM276 328q0 -104 58.5 -166t171.5 -62q76 0 140.5 28t111.5 79t72.5 120.5t25.5 155.5q0 43 -11 81t-36 68t-64.5 47t-97.5 17 q-94 0 -163.5 -30.5t-115.5 -82t-69 -117.5t-23 -138z" /> -<glyph unicode="7" horiz-adv-x="937" d="M41 0q4 18 7 39.5t7 40.5q18 86 64.5 184t111 200.5t144.5 206t165 201t171 186.5t166 161h-660l31 143h829l-30 -143q-125 -102 -258.5 -249t-248 -306.5t-197.5 -313t-107 -268.5l-17 -82h-178z" /> -<glyph unicode="8" horiz-adv-x="1146" d="M72 299q0 162 91 279.5t245 160.5l2 9q-55 23 -92 80t-37 143q0 84 32.5 155.5t93 124t145.5 82t191 29.5q156 0 241 -71.5t85 -190.5q0 -63 -20.5 -118.5t-55.5 -100.5t-80 -79t-94 -52l-2 -9q92 -23 137 -95.5t45 -176.5q0 -96 -33.5 -185t-103 -158t-173 -110 t-243.5 -41q-102 0 -173.5 27t-115.5 71t-64.5 102t-20.5 124zM238 307q0 -98 59 -152.5t176 -54.5q168 0 260 92.5t92 247.5q0 45 -12 87t-40 74t-72 51.5t-105 19.5q-94 0 -161.5 -34t-111.5 -87t-64.5 -118t-20.5 -126zM444 973q0 -78 44 -128t133 -50q63 0 114 22.5 t87 60t55.5 89t19.5 108.5q0 66 -41 112t-141 46q-76 0 -127 -21.5t-83 -58.5t-46.5 -84t-14.5 -96z" /> -<glyph unicode="9" horiz-adv-x="1146" d="M70 74l63 135q57 -57 131 -78.5t135 -21.5q106 0 186.5 44t137.5 114.5t93 159.5t54 177q4 16 6.5 29.5t4.5 30.5l-7 2q-33 -45 -75.5 -74t-92 -46.5t-99.5 -24.5t-99 -7q-100 0 -164.5 32t-102.5 80t-52.5 105t-14.5 109q0 84 33 176t99.5 169t166.5 126t238 49 q193 0 276.5 -116t83.5 -308q0 -72 -12 -172t-43 -206.5t-82 -211t-129 -186.5t-184.5 -133.5t-247.5 -51.5q-33 0 -75 4.5t-85 15.5t-80.5 30.5t-62.5 48.5zM336 836q0 -84 46 -140.5t163 -56.5q94 0 162.5 30.5t114.5 82t68.5 118t22.5 138.5q0 104 -57 165.5t-170 61.5 q-78 0 -142.5 -34t-110.5 -89t-71.5 -127.5t-25.5 -148.5z" /> -<glyph unicode=":" horiz-adv-x="499" d="M47 55q0 43 36 79t83 36q35 0 56.5 -24.5t21.5 -59.5q0 -23 -11.5 -42t-28 -33.5t-38 -24t-41.5 -9.5q-35 0 -56.5 22.5t-21.5 55.5zM211 819q0 43 36 78t81 35q35 0 57.5 -23.5t22.5 -58.5q0 -45 -39 -78t-82 -33q-35 0 -55.5 22.5t-20.5 57.5z" /> -<glyph unicode=";" horiz-adv-x="518" d="M-2 -160l113 150h-52l39 184h162l-47 -215l-182 -158zM223 819q0 43 36 78t81 35q35 0 57.5 -23.5t22.5 -58.5q0 -45 -39 -78t-82 -33q-35 0 -55.5 22.5t-20.5 57.5z" /> -<glyph unicode="&#x3c;" horiz-adv-x="841" d="M68 487l2 11l667 397l11 -129l-461 -268l-2 -11l348 -272l-66 -131z" /> -<glyph unicode="=" horiz-adv-x="1005" d="M96 281l23 106h692l-23 -106h-692zM162 592l22 106h693l-23 -106h-692z" /> -<glyph unicode="&#x3e;" horiz-adv-x="837" d="M61 215l463 272l2 11l-346 268l66 129l497 -397l-2 -11l-671 -403z" /> -<glyph unicode="?" horiz-adv-x="854" d="M178 57q0 47 36 80t81 33q35 0 57.5 -23.5t22.5 -58.5q0 -23 -11.5 -42t-29 -34.5t-39 -25t-41.5 -9.5q-35 0 -55.5 23.5t-20.5 56.5zM242 1305q66 43 153.5 71.5t165.5 28.5q141 0 218 -74t77 -192q0 -74 -28.5 -136.5t-73.5 -120t-99.5 -115.5t-106.5 -126t-96 -148.5 t-67 -183.5h-131q25 113 66.5 197t92 150.5t102.5 120.5t94 105.5t69 106.5t27 125q0 66 -42 112t-133 46q-33 0 -70.5 -8.5t-75.5 -21.5t-73 -32.5t-61 -40.5z" /> -<glyph unicode="@" horiz-adv-x="1486" d="M63 262q0 80 27 175t79 191.5t129 185.5t176 157.5t221 109.5t263 41q123 0 210 -35.5t143.5 -94t82 -133.5t25.5 -154q0 -104 -42 -204t-114.5 -177.5t-169 -124.5t-202.5 -47q-74 0 -99.5 23.5t-25.5 62.5q0 16 2 31.5t6 31.5q-49 -70 -110.5 -110.5t-114.5 -40.5 q-51 0 -90 46t-39 136q0 102 47 188t118.5 147.5t156.5 95.5t163 34q49 0 104.5 -16.5t82.5 -51.5q-57 -137 -88 -212t-45.5 -109.5t-17.5 -40.5l-3 -7q-12 -29 -18.5 -48t-6.5 -38q0 -39 50 -38q63 0 122.5 41.5t105.5 107.5t73.5 146.5t27.5 158.5q0 63 -19.5 123.5 t-62.5 108t-110.5 76t-163.5 28.5q-111 0 -210 -32.5t-181 -90t-147.5 -133.5t-111.5 -161t-69.5 -174t-23.5 -173q0 -96 31.5 -166.5t86 -116t128 -67t157.5 -21.5t159.5 17.5t138 43t110 54.5t73.5 49l-20 -102q-25 -18 -75 -46t-116.5 -53.5t-146.5 -43t-164 -17.5 q-106 0 -196.5 33t-156 94.5t-102.5 148.5t-37 193zM551 317q0 -80 45 -79q27 0 61.5 21.5t68.5 55t63.5 74.5t46.5 80l102 248q-10 12 -49 12q-78 0 -140.5 -46t-106.5 -110.5t-67.5 -135.5t-23.5 -120z" /> -<glyph unicode="A" horiz-adv-x="1316" d="M-102 0l827 1352h186l308 -1352h-175l-102 455h-604l-277 -455h-163zM424 598h485l-129 582z" /> -<glyph unicode="B" horiz-adv-x="1148" d="M86 0l287 1352q70 4 156.5 7t160.5 3q158 0 249 -71.5t91 -207.5q0 -106 -51 -192t-156 -143q94 -35 146.5 -106t52.5 -175q0 -94 -40 -183t-117 -158t-189.5 -110t-257.5 -41q-100 0 -183 7.5t-149 17.5zM264 117q76 -6 176 -6q199 0 305.5 96t106.5 258 q0 92 -68.5 146.5t-228.5 54.5q-45 0 -90 -1t-86 -3zM406 784q29 -2 60 -2h64q76 0 136.5 21.5t103.5 60.5t66.5 92.5t23.5 118.5q0 68 -42 110t-144 42q-45 0 -90 -1t-86 -3z" /> -<glyph unicode="C" horiz-adv-x="1316" d="M123 508q0 166 57.5 320.5t167 272.5t266 189.5t355.5 71.5q111 0 216 -23.5t177 -64.5l-76 -148q-55 43 -145 72t-213 29q-188 0 -311 -63.5t-195 -166t-100.5 -229.5t-28.5 -252q0 -199 98 -302t295 -103q129 0 245 36.5t193 90.5l13 -138q-92 -49 -216 -87t-270 -38 q-139 0 -238.5 42t-164 115t-95 170t-30.5 206z" /> -<glyph unicode="D" horiz-adv-x="1449" d="M86 0l287 1352q100 4 219 7t229 3q145 0 257 -41t179 -113q59 -66 87 -168t28 -211q0 -162 -53 -315.5t-157.5 -273t-258 -192.5t-354.5 -73q-145 0 -258 7.5t-205 17.5zM266 123q125 -12 305 -12q160 0 279 53t197.5 149.5t117.5 229.5t39 293q0 88 -21.5 159.5 t-69.5 122.5t-124 80t-184 29q-82 0 -162 -1t-145 -5z" /> -<glyph unicode="E" horiz-adv-x="1069" d="M86 0l287 1352h741l-31 -144h-587l-88 -420h450l-31 -143h-450l-107 -502h629l-31 -143h-782z" /> -<glyph unicode="F" horiz-adv-x="991" d="M86 0l287 1352h731l-31 -144h-577l-88 -420h428l-31 -143h-428l-137 -645h-154z" /> -<glyph unicode="G" horiz-adv-x="1380" d="M123 508q0 166 57.5 320.5t167 272.5t266 189.5t355.5 71.5q119 0 226.5 -23.5t186.5 -64.5l-75 -148q-55 43 -152.5 72t-226.5 29q-188 0 -311 -63.5t-195 -166t-100.5 -229.5t-28.5 -252q0 -199 98 -302t295 -103q90 0 173 18t155 47l80 381h153l-94 -444 q-104 -61 -230 -99.5t-272 -38.5q-139 0 -238.5 42t-164 115t-95 170t-30.5 206z" /> -<glyph unicode="H" horiz-adv-x="1443" d="M86 0l287 1352h153l-125 -584h729l125 584h154l-287 -1352h-153l131 625h-729l-131 -625h-154z" /> -<glyph unicode="I" horiz-adv-x="561" d="M86 0l287 1352h153l-286 -1352h-154z" /> -<glyph unicode="J" horiz-adv-x="559" d="M-190 -207q80 0 135 39t91 99.5t57.5 134t35.5 143.5l244 1143h153l-243 -1145q-23 -109 -65 -204t-101.5 -167t-135 -113.5t-167.5 -41.5z" /> -<glyph unicode="K" horiz-adv-x="1220" d="M86 0l287 1352h153l-135 -639q66 39 120 77.5t126 96.5q123 98 251 220t238 245h177q-127 -143 -300.5 -303t-375.5 -326l473 -723h-191l-415 627l-142 -92l-112 -535h-154z" /> -<glyph unicode="L" horiz-adv-x="985" d="M86 0l287 1352h153l-256 -1209h604l-30 -143h-758z" /> -<glyph unicode="M" horiz-adv-x="1728" d="M86 0l287 1352h207l213 -1159l704 1159h197l-287 -1352h-154l217 1022l-630 -1022h-185l-198 1024l-217 -1024h-154z" /> -<glyph unicode="N" horiz-adv-x="1443" d="M86 0l287 1352h186l461 -1108l235 1108h154l-287 -1352h-186l-463 1106l-233 -1106h-154z" /> -<glyph unicode="O" horiz-adv-x="1560" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -154 -57.5 -303.5t-167 -269t-265 -193.5t-352.5 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM283 504q0 -184 105.5 -288.5t303.5 -104.5 q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261z" /> -<glyph unicode="P" horiz-adv-x="1089" d="M86 0l287 1352h8q68 4 147.5 7t151.5 3q193 0 302.5 -89t109.5 -255q0 -98 -37 -190.5t-109 -163t-178 -113.5t-246 -43q-98 0 -174 6l-108 -514h-154zM377 649q74 -6 168 -6q188 0 283.5 101.5t95.5 269.5q0 96 -59.5 154.5t-200.5 58.5q-43 0 -85 -1t-81 -3z" /> -<glyph unicode="Q" horiz-adv-x="1564" d="M125 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -150 -55.5 -296t-158 -264t-252 -193.5t-335.5 -84.5q70 -8 133.5 -33.5t128 -52t131 -48t144.5 -21.5q80 0 182 39l-68 -131q-41 -20 -82 -26.5t-75 -6.5 q-86 0 -162 28.5t-145.5 62.5t-136 62.5t-134.5 28.5q-49 0 -122.5 -18.5t-147.5 -65.5l-8 96q66 41 133 61.5t131 24.5q-121 8 -208 54.5t-143.5 118t-84 164t-27.5 196.5zM283 504q0 -184 105.5 -288.5t303.5 -104.5q160 0 280 63.5t198.5 164.5t117.5 230t39 260 q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261z" /> -<glyph unicode="R" horiz-adv-x="1208" d="M86 0l287 1352h8q68 4 147.5 7t151.5 3q195 0 307.5 -82t112.5 -236q0 -74 -24.5 -145.5t-74 -130.5t-123 -104.5t-169.5 -67.5l391 -596h-191l-383 578q-90 0 -164 6l-122 -584h-154zM391 717q37 -4 79 -4h89q184 0 277.5 90t93.5 237q0 82 -60.5 134.5t-205.5 52.5 q-43 0 -85 -1t-81 -3z" /> -<glyph unicode="S" horiz-adv-x="1138" d="M6 88l76 150q33 -27 66.5 -50.5t75.5 -40t95.5 -26.5t124.5 -10q109 0 183.5 20.5t122 56t69 83.5t21.5 102q0 57 -27 98t-70 71.5t-96 52t-104 40.5q-72 25 -130.5 54.5t-99.5 66.5t-63.5 85t-22.5 111q0 106 41 184t112 128.5t165 74t200 23.5q111 0 209.5 -22.5 t161.5 -55.5l-76 -158q-27 29 -66.5 48.5t-84.5 31t-92 16.5t-88 5q-150 0 -238 -58.5t-88 -177.5q0 -41 18.5 -69.5t54.5 -52t91 -45t129 -48.5q61 -23 121.5 -49.5t106.5 -66t75 -94t29 -132.5q0 -123 -50.5 -210t-131.5 -142t-185 -81t-213 -26q-133 0 -240.5 33 t-181.5 80z" /> -<glyph unicode="T" horiz-adv-x="1085" d="M172 1208l31 144h1018l-31 -144h-432l-256 -1208h-154l256 1208h-432z" /> -<glyph unicode="U" horiz-adv-x="1411" d="M152 317q0 61 16 138l190 897h154l-176 -828q-18 -84 -19 -147q0 -141 78 -203.5t219 -62.5q172 0 291 96t166 317l176 828h144l-191 -897q-23 -100 -72 -187.5t-125.5 -152t-181 -101.5t-235.5 -37q-119 0 -201 26t-134 71t-75.5 107t-23.5 136z" /> -<glyph unicode="V" horiz-adv-x="1320" d="M150 1352h174l264 -1180l719 1180h163l-823 -1352h-194z" /> -<glyph unicode="W" horiz-adv-x="2215" d="M162 1352h174l209 -1157l641 1157h174l176 -1153l655 1153h164l-768 -1352h-194l-172 1118l-619 -1118h-194z" /> -<glyph unicode="X" horiz-adv-x="1323" d="M-86 0l684 698l-367 654h183l307 -547l536 547h177l-650 -662l390 -690h-183l-327 584l-574 -584h-176z" /> -<glyph unicode="Y" horiz-adv-x="1157" d="M139 1352h183l290 -650l551 650h178l-692 -797l-117 -555h-153l115 547z" /> -<glyph unicode="Z" horiz-adv-x="1130" d="M-31 0l31 143l979 1065h-723l31 144h897l-31 -144l-979 -1065h784l-30 -143h-959z" /> -<glyph unicode="[" horiz-adv-x="583" d="M25 -195l366 1729h328l-19 -86h-194l-330 -1557h195l-19 -86h-327z" /> -<glyph unicode="\" horiz-adv-x="864" d="M258 1438h150l239 -1555h-149z" /> -<glyph unicode="]" horiz-adv-x="583" d="M-88 -195l18 86h195l330 1557h-195l19 86h327l-366 -1729h-328z" /> -<glyph unicode="^" horiz-adv-x="712" d="M365 1161l8 15l270 202h16l181 -202l4 -15l-21 -39l-16 -6l-186 125l-240 -125l-12 6z" /> -<glyph unicode="_" horiz-adv-x="985" d="M-76 -106l23 106h887l-23 -106h-887z" /> -<glyph unicode="`" horiz-adv-x="448" d="M279 1293v12q0 35 23.5 60.5t64.5 27.5l327 -207l2 -15l-20 -41l-17 -6l-378 158q-2 4 -2 11z" /> -<glyph unicode="a" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5z" /> -<glyph unicode="b" d="M39 0l321 1516h144l-160 -750q47 88 149.5 147.5t235.5 59.5q88 0 153.5 -31t107.5 -83t62.5 -122.5t20.5 -150.5q0 -111 -36 -220.5t-104.5 -195.5t-167.5 -140.5t-226 -54.5q-131 0 -212 58.5t-116 134.5h-8l-51 -168h-113zM246 303q39 -98 122 -152.5t181 -54.5 q100 0 169.5 46t115 117t66 152t20.5 152q0 129 -60.5 209t-177.5 80q-109 0 -209 -65.5t-162 -182.5z" /> -<glyph unicode="c" horiz-adv-x="1024" d="M70 369q0 111 36.5 219t112.5 193t190.5 138.5t268.5 53.5q98 0 187 -22.5t139 -59.5l-62 -121q-39 35 -121 62.5t-170 27.5q-109 0 -188.5 -41t-131.5 -107.5t-78 -148.5t-26 -164q0 -63 16.5 -119.5t50.5 -99.5t85 -67.5t123 -24.5q82 0 176 35t164 88v-133 q-66 -37 -172.5 -70t-218.5 -33q-98 0 -170 31t-119 85t-69.5 126t-22.5 152z" /> -<glyph unicode="d" horiz-adv-x="1179" d="M68 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l157 750h144l-322 -1516h-112l20 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM219 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 206 53.5t185 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5z" /> -<glyph unicode="e" horiz-adv-x="1056" d="M66 369q0 115 43 223t122.5 193t191.5 136.5t249 51.5q154 0 233.5 -71t79.5 -200q0 -59 -18.5 -117.5t-36.5 -82.5h-697q-12 -59 -12 -117q0 -61 15.5 -115.5t47 -95.5t82 -65.5t117.5 -24.5q49 0 99.5 11t96.5 28.5t88 38t75 41.5v-117q-31 -16 -74 -35.5t-94 -36 t-109.5 -28t-120.5 -11.5q-96 0 -166.5 32t-117.5 85t-70.5 125t-23.5 152zM268 610h568q4 10 9 23.5t5 50.5q0 86 -61.5 130t-147.5 44q-141 0 -233.5 -72t-139.5 -176z" /> -<glyph unicode="f" horiz-adv-x="608" d="M-23 -532l293 1378h-157l16 76l162 18q25 115 49.5 197t48 138t46 92t42.5 58q49 57 111.5 79t124.5 22q8 0 28.5 -1t45 -4t50 -10.5t48.5 -19.5l-62 -121q-6 0 -26.5 7t-47 16.5t-56 17.5t-54.5 8q-31 0 -54.5 -17.5t-44 -57t-39 -105t-38.5 -162.5l-29 -135h221 l-20 -96h-221l-293 -1378h-144z" /> -<glyph unicode="g" d="M-29 -406l25 111q43 -25 95 -45t106.5 -33.5t107.5 -21.5t98 -8q154 0 241 91t128 298l37 182h-8q-33 -37 -77 -72t-96.5 -61.5t-111.5 -43t-123 -16.5q-86 0 -148.5 30t-102.5 81t-58 119.5t-18 146.5q0 113 37.5 224.5t109.5 199.5t175.5 142.5t234.5 54.5 q141 0 215.5 -60.5t83.5 -146.5l65 176h113l-203 -954q-31 -139 -75 -235.5t-105.5 -156t-144.5 -86t-191 -26.5q-220 -1 -410 110zM217 369q0 -55 11.5 -104.5t37 -87.5t67.5 -59.5t103 -21.5q47 0 98.5 13.5t102.5 40t99 65.5t87 88l64 301q-12 117 -85 182.5t-184 65.5 q-86 0 -159.5 -39t-126.5 -105.5t-84 -153.5t-31 -185z" /> -<glyph unicode="h" horiz-adv-x="1112" d="M39 0l321 1516h144l-160 -750q45 86 147.5 146.5t239.5 60.5q55 0 103.5 -12.5t83 -39t55 -69.5t20.5 -107q0 -47 -12 -104l-137 -641h-144l134 623q8 39 8 77q0 82 -43 117t-115 35q-51 0 -104.5 -16.5t-102.5 -48t-92 -77.5t-74 -106l-129 -604h-143z" /> -<glyph unicode="i" horiz-adv-x="458" d="M39 0l201 942h143l-201 -942h-143zM279 1268q0 25 11 47t28.5 39.5t41 28t48.5 10.5q37 0 60.5 -28t23.5 -62q0 -49 -41 -84t-89 -35q-37 0 -60 24.5t-23 59.5z" /> -<glyph unicode="j" horiz-adv-x="460" d="M-293 -403q12 -6 43 -7q70 0 119 40t82 99.5t53.5 131t34.5 135.5l201 946h143l-201 -948q-23 -104 -62.5 -199.5t-94 -167t-122 -113.5t-145.5 -42q-14 0 -26.5 1t-16.5 5zM281 1268q0 47 38.5 86t88.5 39q37 0 61.5 -28t24.5 -62q0 -49 -41 -84t-88 -35 q-37 0 -60.5 24.5t-23.5 59.5z" /> -<glyph unicode="k" horiz-adv-x="964" d="M39 0l321 1516h144l-207 -973l500 399h164l-408 -332l272 -610h-163l-230 512l-172 -141l-78 -371h-143z" /> -<glyph unicode="l" horiz-adv-x="483" d="M51 0l322 1516h143l-321 -1516h-144z" /> -<glyph unicode="m" horiz-adv-x="1757" d="M39 0l201 942h112l-22 -176h8q45 86 143.5 146.5t233.5 60.5q123 0 193.5 -54.5t72.5 -152.5q59 82 156.5 144.5t236.5 62.5q53 0 101.5 -12.5t84 -40t57 -71.5t21.5 -108q0 -45 -12 -100l-137 -641h-143l133 623q8 39 8 75q0 84 -45 119t-117 35q-104 0 -201.5 -64.5 t-158.5 -183.5l-129 -604h-144l133 623q8 39 9 75q0 84 -45.5 119t-116.5 35q-104 0 -201.5 -64.5t-159.5 -183.5l-129 -604h-143z" /> -<glyph unicode="n" horiz-adv-x="1112" d="M39 0l201 942h112l-22 -176h8q45 86 150.5 146.5t242.5 60.5q55 0 103.5 -12.5t83 -39t55 -69.5t20.5 -107q0 -47 -12 -104l-137 -641h-144l134 623q8 39 8 77q0 80 -43 116t-115 36q-51 0 -104.5 -16.5t-102.5 -48t-92 -77.5t-74 -106l-129 -604h-143z" /> -<glyph unicode="o" horiz-adv-x="1155" d="M68 367q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q102 0 174.5 -32t120 -86t69 -125t21.5 -150q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-257.5 -52.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 383q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171z" /> -<glyph unicode="p" horiz-adv-x="1179" d="M-74 -532l314 1474h112l-20 -176h8q33 37 77 75t96 66.5t112.5 47t126.5 18.5q84 0 145 -30t101 -81t59.5 -119.5t19.5 -144.5q0 -117 -39 -228.5t-110.5 -198.5t-175 -141.5t-234.5 -54.5q-137 0 -213 59.5t-84 147.5l-151 -714h-144zM256 344q6 -59 31.5 -104t63.5 -78 t87 -49.5t103 -16.5q88 0 158.5 40t119.5 106.5t76 151.5t27 175q0 57 -13.5 108.5t-41 90.5t-71.5 61.5t-106 22.5q-98 0 -195.5 -53.5t-175.5 -153.5z" /> -<glyph unicode="q" horiz-adv-x="1179" d="M68 360q0 113 36.5 222.5t105.5 196.5t166 140.5t220 53.5q68 0 122 -18.5t95 -47t68.5 -65.5t46.5 -76h8l53 176h113l-314 -1474h-143l152 714q-45 -88 -145.5 -147.5t-237.5 -59.5q-90 0 -155.5 31t-107.5 83t-62.5 121.5t-20.5 149.5zM219 371q0 -117 53.5 -196 t167.5 -79q53 0 109.5 16.5t109 49.5t97.5 78t75 104l64 301q-35 100 -108.5 153.5t-172.5 53.5q-96 0 -169.5 -44t-124 -113.5t-76 -155.5t-25.5 -168z" /> -<glyph unicode="r" horiz-adv-x="729" d="M39 0l201 942h112l-28 -207h8q25 47 57.5 90t73.5 76t88 52.5t102 19.5q39 0 79 -13.5t54 -33.5l-71 -135q-29 18 -59.5 29t-61.5 11q-41 0 -83 -22.5t-81 -61t-72.5 -90t-58.5 -106.5l-117 -551h-143z" /> -<glyph unicode="s" horiz-adv-x="905" d="M-4 78l65 133q59 -68 142.5 -98.5t154.5 -30.5q55 0 101.5 16.5t79 44t51 62.5t18.5 74q0 33 -22.5 71.5t-91.5 57.5l-187 49q-102 27 -140 82t-38 114q0 70 30.5 128.5t85 101.5t129.5 66.5t163 23.5q39 0 83 -5t84.5 -16.5t77.5 -27t64 -35.5l-66 -123 q-35 35 -108.5 63.5t-169.5 28.5q-117 0 -168 -45t-51 -113q0 -35 26.5 -71.5t100.5 -53.5l139 -32q66 -16 107.5 -41t66.5 -54.5t34 -62.5t9 -61q0 -70 -33 -133.5t-91 -110.5t-140 -76t-180 -29q-109 0 -194 32t-132 71z" /> -<glyph unicode="t" horiz-adv-x="634" d="M104 846l17 76l166 20l92 285h108l-61 -285h221l-20 -96h-221l-140 -653q-6 -31 -6 -54q0 -33 15.5 -43t48.5 -10q47 0 88 14.5t71 34.5l6 -108q-37 -16 -97 -33t-128 -17q-92 0 -122.5 36t-30.5 87q0 20 4 43l8 45l139 658h-158z" /> -<glyph unicode="u" horiz-adv-x="1110" d="M82 197q0 45 12 104l137 641h144l-133 -623q-4 -23 -7.5 -42t-3.5 -35q0 -82 44 -114t114 -32q104 0 207.5 61.5t167.5 180.5l127 604h143l-200 -942h-113l22 176h-8q-45 -86 -149.5 -143.5t-241.5 -57.5q-55 0 -103 11.5t-83 37t-55.5 69t-20.5 104.5z" /> -<glyph unicode="v" horiz-adv-x="1067" d="M88 942h156l194 -807l539 807h149l-628 -942h-183z" /> -<glyph unicode="w" horiz-adv-x="1685" d="M106 942h152l123 -803l467 803h151l107 -803l483 803h146l-568 -942h-194l-99 737l-428 -737h-194z" /> -<glyph unicode="x" horiz-adv-x="1052" d="M-84 0l510 481l-289 461h174l224 -358l372 358h174l-485 -457l305 -485h-174l-240 383l-397 -383h-174z" /> -<glyph unicode="y" horiz-adv-x="1060" d="M-158 -383q6 -2 13.5 -4t27.5 -2q137 0 251 114.5t222 305.5l-276 911h170l207 -784l504 784h161l-635 -950q-43 -66 -105.5 -155t-140 -169t-168.5 -136t-192 -56q-16 0 -23.5 1t-15.5 5v135z" /> -<glyph unicode="z" horiz-adv-x="849" d="M-35 0l27 123l645 698h-477l26 121h643l-26 -119l-649 -702h522l-27 -121h-684z" /> -<glyph unicode="{" horiz-adv-x="579" d="M88 639l12 61q55 2 92 31t59.5 70t34 86t19.5 82q27 125 43.5 233.5t51 186t102 122.5t198.5 45l-4 -43q-47 -4 -77.5 -22t-50 -46t-31 -65t-19.5 -75l-57 -293q-12 -63 -32.5 -119.5t-52.5 -102t-77 -77t-104 -43.5q78 -18 107.5 -81t29.5 -145q0 -55 -15.5 -123.5 t-33 -137t-32.5 -130t-15 -100.5q0 -47 21.5 -84t80.5 -43l-14 -43q-66 0 -110 14.5t-70.5 39t-37 60t-10.5 78.5q0 49 16.5 117t35 139.5t35 139t16.5 114.5q0 25 -5.5 51.5t-17.5 49t-33.5 37t-54.5 16.5z" /> -<glyph unicode="|" horiz-adv-x="495" d="M16 -233l383 1806h127l-383 -1806h-127z" /> -<glyph unicode="}" horiz-adv-x="577" d="M-76 -217l4 43q47 4 78 22.5t50.5 46t30.5 63.5t19 77q20 98 38 201.5t50.5 192.5t87 154.5t148.5 86.5q-76 18 -106.5 80.5t-30.5 144.5q0 55 15.5 123.5t32.5 137.5t32.5 130.5t15.5 99.5q0 47 -20.5 84t-79.5 43l12 43q131 0 179 -53t48 -139q0 -49 -15 -116.5 t-34.5 -139.5t-35 -138.5t-15.5 -113.5q0 -25 5 -51.5t17.5 -49t33 -38t53.5 -17.5l-13 -61q-55 -2 -91 -29.5t-58.5 -66.5t-33.5 -84t-19 -82q-27 -125 -43.5 -233.5t-52.5 -188.5t-104.5 -126t-197.5 -46z" /> -<glyph unicode="~" horiz-adv-x="1013" d="M121 414q2 14 20.5 40.5t48 53.5t68.5 45t82 18q27 0 70 -3t93 -6t102 -6t97 -3q35 0 73 8t73 45l20 -16q-2 -6 -17 -32t-43 -53.5t-65.5 -50t-87.5 -22.5q-23 0 -73 3t-109 6t-115.5 6.5t-89.5 3.5q-51 0 -74.5 -13.5t-48.5 -38.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="491" d="M-66 -446l281 1089h96l-178 -1089h-199zM219 862q0 45 36 78t81 33q35 0 56.5 -22.5t21.5 -57.5q0 -23 -11.5 -42.5t-28 -35.5t-38 -25.5t-41.5 -9.5q-35 0 -55.5 24.5t-20.5 57.5z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1040" d="M66 350q0 98 32.5 194.5t100 174.5t169 129t240.5 61l58 273h122l-59 -275q80 -6 150.5 -26.5t111.5 -51.5l-61 -120q-33 29 -93.5 51t-131.5 33l-150 -703q74 10 150.5 42t136.5 79v-133q-53 -31 -135 -59.5t-175 -38.5l-55 -261h-123l54 258q-88 6 -153 38t-107 82 t-62 114.5t-20 138.5zM223 383q0 -106 51.5 -187t159.5 -102l150 701q-92 -10 -161 -50t-113 -97.5t-65.5 -126t-21.5 -138.5z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1159" d="M-41 33q88 35 154.5 86t113.5 113.5t77 134t46 145.5l6 31h-200l22 106h193q10 94 14 184.5t21 161.5q20 100 70 170t115.5 114t139.5 63.5t141 19.5q94 0 174 -29.5t125 -70.5l-65 -136q-33 41 -104.5 71t-153.5 30q-61 0 -105.5 -17.5t-75 -48.5t-49 -72.5t-28.5 -89.5 q-16 -70 -20.5 -158.5t-20.5 -191.5h285l-23 -106h-281q-27 -104 -91 -220t-167 -212l2 -7q63 -4 126 -17t124.5 -28.5t125 -28t130.5 -12.5q51 0 94.5 9.5t96.5 29.5l-72 -149q-57 -27 -93 -34t-81 -7q-74 0 -140.5 21.5t-132 46t-134 46t-148.5 21.5q-20 0 -77.5 -9 t-125.5 -56z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1187" d="M12 55l195 164q-23 39 -35 87t-12 95q0 33 5 67t20.5 73t46 83t83.5 95l-133 164l74 61l129 -162q76 47 140.5 68.5t133.5 21.5q72 0 127.5 -21.5t104.5 -68.5l201 160l49 -59l-197 -164q23 -43 34 -90t11 -94q0 -78 -31.5 -152t-117.5 -164l129 -164l-76 -61l-133 162 q-68 -45 -134.5 -69t-133.5 -24q-66 0 -121.5 23t-114.5 70l-197 -162zM266 416q0 -53 17.5 -99.5t50.5 -80t78 -53t100 -19.5q72 0 138.5 28.5t118.5 77.5t84 114t32 138q0 53 -17.5 99.5t-49.5 80t-77 53t-100 19.5q-72 0 -138.5 -28.5t-119.5 -76.5t-85 -113.5 t-32 -139.5z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1339" d="M205 416l22 106h353l6 25l-37 84h-299l22 106h230l-273 615h183l290 -650l551 650h179l-535 -615h233l-22 -106h-303l-66 -76l-8 -33h354l-22 -106h-354l-86 -416h-154l88 416h-352z" /> -<glyph unicode="&#xa6;" horiz-adv-x="499" d="M18 -233l168 794h127l-168 -794h-127zM233 778l168 795h127l-168 -795h-127z" /> -<glyph unicode="&#xa7;" horiz-adv-x="907" d="M37 -51l80 137q29 -41 76 -63.5t98 -22.5q37 0 71.5 13.5t62.5 38t44 57t16 73.5q0 49 -25.5 90t-65.5 80t-85 77t-85 81t-65.5 92t-25.5 113q0 45 15.5 90t42 86t62.5 77t77 60q-8 27 -8 68q0 88 36.5 155.5t92 111.5t121 66.5t122.5 22.5q59 0 119.5 -22.5t99.5 -55.5 l-79 -137q-29 41 -76 63.5t-99 22.5q-35 0 -69.5 -11.5t-62 -35t-45 -56t-17.5 -75.5q0 -49 25.5 -91t65.5 -81t85 -77t85 -81t65.5 -94t25.5 -113q0 -45 -15.5 -90t-42 -87t-62 -78t-76.5 -60q4 -16 6 -32.5t2 -33.5q0 -90 -37 -156.5t-92.5 -110.5t-121 -66.5 t-122.5 -22.5q-59 0 -119.5 22.5t-99.5 55.5zM274 782q0 -59 36 -106t87.5 -93t104.5 -95.5t88 -110.5q41 31 63.5 77t22.5 87q0 57 -36 104t-87 93t-104.5 95.5t-88.5 112.5q-43 -31 -64.5 -78t-21.5 -86z" /> -<glyph unicode="&#xa8;" horiz-adv-x="450" d="M272 1276q0 41 33 74.5t74 33.5q29 0 48 -22.5t19 -54.5q0 -43 -33.5 -74t-72.5 -31q-31 0 -49.5 20.5t-18.5 53.5zM553 1276q0 41 32.5 74.5t73.5 33.5q29 0 48.5 -22.5t19.5 -54.5q0 -43 -34 -74t-72 -31q-31 0 -49.5 20.5t-18.5 53.5z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1488" d="M145 621q0 143 64.5 274t172 229.5t245 156.5t282.5 58q113 0 206 -39.5t159.5 -108.5t103.5 -162t37 -200q0 -147 -65.5 -278t-173 -230.5t-248 -157t-289.5 -57.5q-109 0 -200 40t-156.5 110t-101.5 164.5t-36 200.5zM242 629q0 -92 29.5 -173t85 -139.5t132 -92.5 t168.5 -34q131 0 251 50.5t211 135.5t145.5 199.5t54.5 243.5q0 92 -31 172t-86 138.5t-134 92t-175 33.5q-127 0 -244 -50t-208 -136t-145 -199.5t-54 -240.5zM436 649q0 76 23.5 152t74 134t129 95t189.5 37q68 0 131.5 -15.5t97.5 -41.5l-47 -105q-27 25 -85 43.5 t-118 18.5q-74 0 -125 -27t-81.5 -69t-45 -93t-14.5 -102q0 -80 41 -135.5t131 -55.5q59 0 125 23.5t115 62.5l-6 -114q-47 -27 -122 -49.5t-153 -22.5q-135 0 -197.5 76.5t-62.5 187.5z" /> -<glyph unicode="&#xaa;" horiz-adv-x="759" d="M186 868q0 82 42 132.5t101.5 76t126 33.5t113.5 8h56l2 15q2 10 2 30q0 106 -131 107q-53 0 -95.5 -13.5t-83.5 -35.5l-4 73q47 25 98.5 39.5t108.5 14.5q41 0 80 -8.5t68.5 -27t47 -48t17.5 -72.5q0 -23 -6 -49l-82 -387h-82l10 100h-8q-39 -47 -108.5 -82t-141.5 -35 q-66 0 -98.5 37t-32.5 92zM287 887q0 -63 75 -64q49 0 114 34t112 93l20 99h-10q-55 0 -110.5 -4.5t-100.5 -20.5t-72.5 -49t-27.5 -88z" /> -<glyph unicode="&#xab;" horiz-adv-x="985" d="M88 487l2 11l352 362h162l-373 -362l-2 -11l217 -362h-163zM420 487l2 11l352 362h162l-373 -362l-2 -11l217 -362h-164z" /> -<glyph unicode="&#xac;" horiz-adv-x="1298" d="M162 592l22 106h983l-98 -458h-108l75 352h-874z" /> -<glyph unicode="&#xad;" horiz-adv-x="999" d="M125 436l27 107h688l-27 -107h-688z" /> -<glyph unicode="&#xae;" horiz-adv-x="1488" d="M145 621q0 143 64.5 274t172 229.5t245 156.5t282.5 58q113 0 206 -39.5t159.5 -108.5t103.5 -162t37 -200q0 -147 -65.5 -278t-173 -230.5t-248 -157t-289.5 -57.5q-109 0 -200 40t-156.5 110t-101.5 164.5t-36 200.5zM242 629q0 -92 29.5 -173t85 -139.5t132 -92.5 t168.5 -34q131 0 251 50.5t211 135.5t145.5 199.5t54.5 243.5q0 92 -31 172t-86 138.5t-134 92t-175 33.5q-127 0 -244 -50t-208 -136t-145 -199.5t-54 -240.5zM508 412l143 673q35 2 87.5 3.5t88.5 1.5q98 0 159 -31t61 -117q0 -84 -57.5 -144.5t-149.5 -82.5l141 -303 h-113l-139 297h-59l-64 -297h-98zM686 782q16 -2 37 -2h43q80 0 128 40t48 108q0 37 -29.5 60.5t-99.5 23.5q-23 0 -42 -1t-38 -1z" /> -<glyph unicode="&#xb0;" horiz-adv-x="729" d="M221 1065q0 55 21.5 106.5t61.5 90t96.5 62.5t125.5 24q106 0 156.5 -56.5t50.5 -138.5q0 -53 -19.5 -102.5t-58.5 -87t-96 -61t-133 -23.5q-109 0 -157 56t-48 130zM319 1079q0 -53 30 -88t93 -35q94 0 140.5 54.5t46.5 130.5q0 53 -29 88t-94 35q-49 0 -84 -15.5 t-58.5 -42t-34 -59.5t-10.5 -68z" /> -<glyph unicode="&#xb1;" horiz-adv-x="987" d="M84 143l22 109h654l-23 -109h-653zM182 610l25 109h272l45 213h107l-45 -213h274l-24 -109h-275l-49 -235h-106l49 235h-273z" /> -<glyph unicode="&#xb2;" horiz-adv-x="763" d="M141 612l19 86q66 66 147.5 125.5t153 117.5t121 118.5t49.5 126.5q0 33 -19.5 63.5t-79.5 30.5q-53 0 -113.5 -31.5t-105.5 -77.5l-4 91q57 43 121 71.5t123 28.5q92 0 139 -44t47 -116q0 -76 -40 -139.5t-104.5 -121.5t-146 -116.5t-163.5 -126.5h358l-18 -86h-484z " /> -<glyph unicode="&#xb3;" horiz-adv-x="727" d="M135 680l43 82q35 -35 66.5 -56.5t93.5 -21.5q125 0 178 57.5t53 141.5q0 47 -36.5 74.5t-131.5 27.5h-24l14 70h31q92 0 135 43t43 110q0 33 -21.5 52.5t-80.5 19.5q-55 0 -97.5 -17.5t-78.5 -41.5l-7 79q47 27 95.5 44.5t97.5 17.5q94 0 144 -39t50 -113 q0 -68 -47 -112.5t-106 -71.5q57 -18 89 -55t32 -94q0 -49 -20.5 -97.5t-63.5 -88.5t-107.5 -64.5t-152.5 -24.5q-72 0 -112 20.5t-79 57.5z" /> -<glyph unicode="&#xb4;" horiz-adv-x="448" d="M250 1171l8 15l414 207q29 -2 44 -18.5t15 -39.5q0 -27 -18 -53l-447 -158l-12 6z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1181" d="M-86 -227q51 70 93 132t76 125.5t58.5 129t40.5 141.5l137 641h144l-133 -623q-8 -33 -8 -71q0 -66 34.5 -109t122.5 -43q104 0 206.5 61.5t166.5 180.5l127 604h143l-198 -942h-113l20 176h-8q-45 -86 -149.5 -143.5t-241.5 -57.5q-66 0 -121 16.5t-90 55.5l-12 -27 q-35 -78 -79 -153.5t-97 -153.5z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1101" d="M145 846q0 121 44 216t124 161.5t188.5 102.5t237.5 36q72 0 155 -3t169 -7l-324 -1528h-92l297 1403h-110l-297 -1403h-103l146 684h-43q-102 0 -176 26.5t-122.5 72.5t-71 107.5t-22.5 131.5z" /> -<glyph unicode="&#xb7;" horiz-adv-x="497" d="M137 481q0 43 37 79t82 36q33 0 55.5 -24.5t22.5 -59.5q0 -23 -11.5 -42t-27.5 -33.5t-37.5 -24t-42.5 -9.5q-35 0 -56.5 22.5t-21.5 55.5z" /> -<glyph unicode="&#xb8;" horiz-adv-x="413" d="M-78 -365l37 48h14q23 -10 61 -17.5t77 -7.5q51 0 91 21.5t40 82.5q0 41 -27 56.5t-63 15.5q-25 0 -52.5 -4t-50.5 -10l-12 22l137 158h70l-84 -104q39 8 71 8q61 0 97.5 -35t36.5 -88q0 -39 -21.5 -74t-57.5 -62.5t-84 -44t-102 -16.5q-49 0 -95 11.5t-83 27.5v12z" /> -<glyph unicode="&#xb9;" horiz-adv-x="499" d="M221 1227l283 135l-160 -750h-111l125 586l-129 -57z" /> -<glyph unicode="&#xba;" horiz-adv-x="796" d="M207 989q0 70 26.5 134.5t73.5 114.5t111.5 80t142.5 30q115 0 172.5 -72t57.5 -170q0 -66 -24 -128.5t-70 -111.5t-111.5 -79.5t-149.5 -30.5q-61 0 -104 19.5t-71 51t-41 73.5t-13 89zM313 999q0 -68 34 -113.5t108 -45.5q61 0 105 22.5t71.5 59t40 83t12.5 93.5 q0 66 -35 112.5t-112 46.5q-66 0 -109 -24.5t-68.5 -62t-36 -83t-10.5 -88.5z" /> -<glyph unicode="&#xbb;" horiz-adv-x="985" d="M20 125l373 362l2 11l-219 362h162l199 -362l-2 -11l-351 -362h-164zM352 125l373 362l2 11l-219 362h162l198 -362l-2 -11l-350 -362h-164z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1458" d="M35 -49l1259 1464h133l-1259 -1464h-133zM215 1227l283 135l-160 -750h-111l125 586l-129 -57zM825 225l19 86l393 437h98l-92 -437h74l-19 -86h-73l-49 -227h-93l50 227h-308zM948 311h203l68 316z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1462" d="M-2 -49l1259 1464h134l-1260 -1464h-133zM219 1227l283 135l-160 -750h-111l125 586l-129 -57zM772 -4l19 86q66 66 147.5 125t153 117.5t121 119t49.5 125.5q0 33 -19.5 64t-79.5 31q-53 0 -113.5 -32t-105.5 -77l-4 90q57 43 120.5 71.5t123.5 28.5q92 0 139 -44 t47 -115q0 -76 -40 -139.5t-104.5 -122t-146.5 -116.5t-164 -126h359l-19 -86h-483z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1538" d="M100 680l43 82q35 -35 67 -56.5t93 -21.5q125 0 178.5 57.5t53.5 141.5q0 47 -37 74.5t-131 27.5h-25l14 70h31q92 0 135 43t43 110q0 33 -21.5 52.5t-80.5 19.5q-55 0 -97 -17.5t-79 -41.5l-6 79q47 27 95 44.5t97 17.5q94 0 144.5 -39t50.5 -113q0 -68 -47.5 -112.5 t-106.5 -71.5q57 -18 89 -55t32 -94q0 -49 -20.5 -97.5t-63.5 -88.5t-107.5 -64.5t-152.5 -24.5q-72 0 -112 20.5t-79 57.5zM141 -49l1260 1464h133l-1260 -1464h-133zM903 225l19 86l393 437h98l-92 -437h74l-19 -86h-73l-50 -227h-92l49 227h-307zM1026 311h203l67 316z " /> -<glyph unicode="&#xbf;" horiz-adv-x="831" d="M-51 -188q0 74 28.5 136t73.5 119.5t99.5 116t106.5 126t96 148.5t67 183h131q-25 -113 -68 -197t-93 -150.5t-102 -120.5t-94 -105.5t-69 -106.5t-27 -125q0 -66 42 -112t134 -46q33 0 71 8.5t76 21.5t71.5 31.5t60.5 41.5l8 -135q-66 -43 -152.5 -72t-164.5 -29 q-141 0 -218 74t-77 193zM430 862q0 43 39 77t82 34q35 0 55.5 -22.5t20.5 -55.5q0 -43 -35 -79t-82 -36q-35 0 -57.5 23.5t-22.5 58.5z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1316" d="M-102 0l827 1352h186l308 -1352h-175l-102 455h-604l-277 -455h-163zM424 598h485l-129 582zM678 1639v12q0 35 23.5 59.5t64.5 26.5l328 -205l2 -14l-21 -41l-16 -7l-379 158q-2 4 -2 11z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1316" d="M-102 0l827 1352h186l308 -1352h-175l-102 455h-604l-277 -455h-163zM424 598h485l-129 582zM649 1518l8 14l412 205q31 -2 45 -17.5t14 -38.5q0 -29 -16 -53l-446 -158l-15 7z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1316" d="M-102 0l827 1352h186l308 -1352h-175l-102 455h-604l-277 -455h-163zM424 598h485l-129 582zM635 1507l10 15l268 202h17l182 -202l2 -15l-20 -41l-15 -6l-186 127l-240 -127l-14 6z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1316" d="M-102 0l827 1352h186l308 -1352h-175l-102 455h-604l-277 -455h-163zM424 598h485l-129 582zM559 1540q14 27 33.5 55.5t46.5 50t61.5 36t77.5 14.5q51 0 88 -4t69 -10.5t61.5 -10.5t68.5 -4q35 0 72 8t73 45l21 -16q-12 -29 -31.5 -56.5t-46.5 -50t-60.5 -37 t-76.5 -14.5q-82 0 -164 14.5t-147 14.5q-51 0 -74 -13.5t-49 -37.5z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1316" d="M-102 0l827 1352h186l308 -1352h-175l-102 455h-604l-277 -455h-163zM424 598h485l-129 582zM649 1610q0 41 32 74.5t73 33.5q29 0 49 -22.5t20 -55.5q0 -43 -34.5 -73.5t-73.5 -30.5q-31 0 -48.5 20.5t-17.5 53.5zM971 1610q0 41 31.5 74.5t72.5 33.5q29 0 48.5 -22.5 t19.5 -53.5q0 -45 -35 -75.5t-72 -30.5q-29 0 -47 20.5t-18 53.5z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1316" d="M-102 0l809 1321q-25 16 -38.5 43t-13.5 57q0 35 16.5 68t46.5 57.5t68.5 40t83.5 15.5q72 0 109 -41t37 -95q0 -49 -29 -86t-69 -59l301 -1321h-175l-102 455h-604l-277 -455h-163zM426 598h483l-131 582zM737 1427q0 -35 22.5 -61.5t57.5 -26.5q45 0 81 37t36 82 q0 35 -21.5 58.5t-56.5 23.5q-53 0 -86 -33t-33 -80z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1560" d="M-125 0l1008 1352h725l-31 -144h-485l-88 -420h348l-31 -143h-348l-107 -502h527l-31 -143h-680l96 455h-397l-338 -455h-168zM487 598h322l129 606z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1318" d="M125 508q0 166 57.5 320.5t167 272.5t266 189.5t355.5 71.5q111 0 216 -23.5t177 -64.5l-76 -148q-55 43 -145 72t-213 29q-188 0 -311 -63.5t-195 -166t-100.5 -229.5t-28.5 -252q0 -199 98.5 -302t294.5 -103q129 0 245 36.5t193 90.5l13 -138q-90 -47 -207 -83.5 t-256 -41.5l-66 -79q18 4 36 6t32 2q63 0 99 -34t36 -87q0 -39 -21.5 -75t-57.5 -63.5t-84 -44t-101 -16.5q-49 0 -96 11.5t-82 27.5l2 12l35 48h14q23 -10 59.5 -17.5t77.5 -7.5q53 0 91 21.5t38 82.5q0 41 -25.5 56.5t-62.5 15.5q-25 0 -51.5 -4t-50.5 -10l-13 22l117 135 q-125 8 -215 53.5t-148.5 117t-86 164t-27.5 196.5z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1069" d="M86 0l287 1352h741l-31 -144h-587l-88 -420h450l-31 -143h-450l-107 -502h629l-31 -143h-782zM580 1639v12q0 35 23.5 59.5t64.5 26.5l327 -205l4 -14l-22 -41l-16 -7l-379 158q-2 4 -2 11z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1069" d="M86 0l287 1352h741l-31 -144h-587l-88 -420h450l-31 -143h-450l-107 -502h629l-31 -143h-782zM571 1518l9 14l413 205q59 -4 60 -56q0 -20 -6.5 -31.5t-12.5 -21.5l-446 -158l-15 7z" /> -<glyph unicode="&#xca;" horiz-adv-x="1069" d="M86 0l287 1352h741l-31 -144h-587l-88 -420h450l-31 -143h-450l-107 -502h629l-31 -143h-782zM551 1507l10 15l268 202h17l182 -202l2 -15l-20 -41l-15 -6l-186 127l-240 -127l-14 6z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1069" d="M86 0l287 1352h741l-31 -144h-587l-88 -420h450l-31 -143h-450l-107 -502h629l-31 -143h-782zM551 1610q0 41 31.5 74.5t72.5 33.5q29 0 49.5 -22.5t20.5 -55.5q0 -43 -35 -73.5t-74 -30.5q-31 0 -48 20.5t-17 53.5zM872 1610q0 41 32 74.5t73 33.5q29 0 49.5 -22.5 t20.5 -55.5q0 -43 -35 -73.5t-74 -30.5q-31 0 -48.5 20.5t-17.5 53.5z" /> -<glyph unicode="&#xcc;" horiz-adv-x="561" d="M86 0l287 1352h153l-286 -1352h-154zM266 1639v12q0 35 23.5 59.5t64.5 26.5l328 -205l4 -14l-22 -41l-15 -7l-381 158q-2 4 -2 11z" /> -<glyph unicode="&#xcd;" horiz-adv-x="561" d="M86 0l287 1352h153l-286 -1352h-154zM279 1518l8 14l413 205q31 -2 45.5 -17.5t14.5 -38.5q0 -20 -6 -31.5t-13 -21.5l-444 -158l-16 7z" /> -<glyph unicode="&#xce;" horiz-adv-x="561" d="M86 0l287 1352h153l-286 -1352h-154zM240 1507l10 15l268 202h14l185 -202l2 -15l-21 -41l-16 -6l-184 127l-240 -127l-16 6z" /> -<glyph unicode="&#xcf;" horiz-adv-x="561" d="M86 0l287 1352h153l-286 -1352h-154zM266 1610q0 41 32 74.5t73 33.5q29 0 49 -22.5t20 -55.5q0 -43 -34.5 -73.5t-73.5 -30.5q-29 0 -47.5 20.5t-18.5 53.5zM588 1610q0 41 31.5 74.5t72.5 33.5q29 0 49.5 -22.5t20.5 -55.5q0 -43 -35 -73.5t-74 -30.5q-31 0 -48 20.5 t-17 53.5z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1462" d="M59 668l19 90h178l127 594l10 2q47 6 101.5 8t111.5 2q121 0 220.5 -4t180 -19.5t145.5 -47t116 -85.5q59 -66 86.5 -168t27.5 -211q0 -162 -53 -315.5t-157.5 -273t-258 -192.5t-354.5 -73q-145 0 -259 7.5t-204 17.5l142 668h-179zM274 123q129 -12 308 -12 q158 0 276.5 53t197.5 149.5t118.5 229.5t39.5 293q0 88 -21.5 159.5t-69.5 122.5t-123.5 80t-184.5 29q-82 0 -162 -1t-145 -5l-98 -463h358l-18 -90h-359z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1443" d="M86 0l287 1352h174l473 -1112l235 1112h154l-287 -1352h-174l-473 1110l-235 -1110h-154zM586 1540q14 27 33.5 55.5t46 50t61.5 36t78 14.5q51 0 88 -4t68.5 -10.5t61.5 -10.5t69 -4q35 0 71.5 8t73.5 45l20 -16q-12 -29 -31.5 -56.5t-46 -50t-60.5 -37t-77 -14.5 q-82 0 -163.5 14.5t-147.5 14.5q-51 0 -73.5 -13.5t-49.5 -37.5z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1560" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -154 -57.5 -303.5t-167 -269t-265 -193.5t-352.5 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM283 504q0 -184 105.5 -288.5t303.5 -104.5 q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261zM731 1651q0 35 23.5 59.5t66.5 26.5l324 -205l4 -14l-19 -41l-18 -7l-379 158q0 4 -1 11.5t-1 11.5z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1560" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -154 -57.5 -303.5t-167 -269t-265 -193.5t-352.5 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM283 504q0 -184 105.5 -288.5t303.5 -104.5 q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261zM840 1518l8 14l414 205q29 -2 43 -17.5t14 -38.5q0 -20 -16 -53l-447 -158l-14 7z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1560" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -154 -57.5 -303.5t-167 -269t-265 -193.5t-352.5 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM283 504q0 -184 105.5 -288.5t303.5 -104.5 q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261zM764 1507l8 15l268 202h17l182 -202l4 -15l-20 -41l-17 -6l-186 127l-240 -127l-12 6z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1560" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -154 -57.5 -303.5t-167 -269t-265 -193.5t-352.5 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM283 504q0 -184 105.5 -288.5t303.5 -104.5 q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261zM674 1540q14 27 34.5 55.5t46 50t60.5 36t78 14.5q51 0 88 -4t68.5 -10.5t61.5 -10.5t69 -4q35 0 72.5 8t72.5 45 l21 -16q-12 -29 -31 -56.5t-45.5 -50t-60 -37t-76.5 -14.5q-82 0 -164 14.5t-148 14.5q-51 0 -74.5 -13.5t-48.5 -37.5z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1560" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q135 0 234.5 -43t166 -118t99.5 -174t33 -212q0 -154 -57.5 -303.5t-167 -269t-265 -193.5t-352.5 -74q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM283 504q0 -184 105.5 -288.5t303.5 -104.5 q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 88 -25.5 161t-78 125t-133 82t-191.5 30q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261zM762 1610q0 41 32.5 74.5t73.5 33.5q29 0 48.5 -22.5t19.5 -55.5q0 -43 -34 -73.5t-73 -30.5q-31 0 -49 20.5t-18 53.5 zM1083 1610q0 41 33 74.5t74 33.5q29 0 48 -22.5t19 -55.5q0 -43 -33.5 -73.5t-72.5 -30.5q-31 0 -49.5 20.5t-18.5 53.5z" /> -<glyph unicode="&#xd7;" horiz-adv-x="933" d="M76 242l299 247l-195 246l92 76l195 -246l301 248l59 -76l-301 -248l197 -249l-92 -76l-197 250l-299 -248z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1558" d="M8 16l191 183q-76 131 -76 311q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q113 0 200 -31t153 -86l170 162l88 -80l-179 -170q49 -72 74 -158t25 -184q0 -154 -57.5 -303.5t-166 -269t-264 -193.5t-352.5 -74q-123 0 -214 34t-155 95l-186 -176zM283 504 q0 -111 36 -191l875 828q-53 41 -125 63.5t-170 22.5q-164 0 -280.5 -63.5t-191.5 -166t-109.5 -232.5t-34.5 -261zM389 215q109 -104 303 -104q160 0 280 63.5t198.5 164.5t117.5 230t39 260q0 127 -55 224z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1411" d="M152 317q0 61 16 138l190 897h154l-176 -828q-18 -84 -19 -147q0 -141 78 -203.5t219 -62.5q172 0 291 96t166 317l176 828h144l-191 -897q-23 -100 -72 -187.5t-125.5 -152t-181 -101.5t-235.5 -37q-119 0 -201 26t-134 71t-75.5 107t-23.5 136zM688 1639v12 q0 35 23.5 59.5t64.5 26.5l328 -205v-14l-19 -41l-18 -7l-377 158q-2 4 -2 11z" /> -<glyph unicode="&#xda;" horiz-adv-x="1411" d="M152 317q0 61 16 138l190 897h154l-176 -828q-18 -84 -19 -147q0 -141 78 -203.5t219 -62.5q172 0 291 96t166 317l176 828h144l-191 -897q-23 -100 -72 -187.5t-125.5 -152t-181 -101.5t-235.5 -37q-119 0 -201 26t-134 71t-75.5 107t-23.5 136zM715 1518l10 14l414 205 q59 -4 59 -56q0 -20 -6 -31.5t-12 -21.5l-447 -158l-14 7z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1411" d="M152 317q0 61 16 138l190 897h154l-176 -828q-18 -84 -19 -147q0 -141 78 -203.5t219 -62.5q172 0 291 96t166 317l176 828h144l-191 -897q-23 -100 -72 -187.5t-125.5 -152t-181 -101.5t-235.5 -37q-119 0 -201 26t-134 71t-75.5 107t-23.5 136zM662 1466v41l8 15 l270 202h14l185 -202v-15l-19 -41l-18 -6l-184 127l-240 -127z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1411" d="M152 317q0 61 16 138l190 897h154l-176 -828q-18 -84 -19 -147q0 -141 78 -203.5t219 -62.5q172 0 291 96t166 317l176 828h144l-191 -897q-23 -100 -72 -187.5t-125.5 -152t-181 -101.5t-235.5 -37q-119 0 -201 26t-134 71t-75.5 107t-23.5 136zM709 1610 q0 41 32.5 74.5t73.5 33.5q29 0 48.5 -22.5t19.5 -55.5q0 -43 -34 -73.5t-73 -30.5q-31 0 -49 20.5t-18 53.5zM1030 1610q0 41 33 74.5t74 33.5q29 0 48 -22.5t19 -55.5q0 -43 -33.5 -73.5t-72.5 -30.5q-31 0 -49.5 20.5t-18.5 53.5z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1157" d="M139 1352h183l290 -650l551 650h178l-692 -797l-117 -555h-153l115 547zM637 1518l10 14l412 205q59 -4 59 -56q0 -20 -16 -53l-449 -158l-14 7z" /> -<glyph unicode="&#xde;" horiz-adv-x="1069" d="M86 0l287 1352h143l-55 -260q41 2 83 3t68 1q193 0 299.5 -84t106.5 -244q0 -90 -32 -177t-100.5 -155.5t-176 -110.5t-260.5 -42q-29 0 -73 1t-85 5l-62 -289h-143zM319 426q39 -4 82 -6t68 -2q201 0 290 93t89 255q0 92 -58.5 143.5t-201.5 51.5q-27 0 -72 -1.5 t-84 -3.5z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1110" d="M39 0l211 995q25 115 68.5 209t105 162t140.5 104.5t173 36.5q68 0 119 -19.5t87 -51t54.5 -74.5t18.5 -90q0 -82 -48 -149.5t-105.5 -126t-105.5 -110.5t-48 -106q0 -35 21.5 -63.5t52 -56t68.5 -57.5t68.5 -66.5t52 -83.5t21.5 -111q0 -98 -41 -168t-99 -114 t-124.5 -64.5t-118.5 -20.5q-68 0 -119 28t-79 63l71 145q16 -61 63.5 -95t102.5 -34q37 0 70 15.5t59.5 44t42 71.5t15.5 98q0 82 -42 131.5t-92.5 90t-92.5 87t-42 121.5q0 59 21.5 107.5t54.5 88.5t71 77t70.5 72.5t54 75.5t21.5 87q0 53 -39 93t-119 40 q-74 0 -126 -32.5t-86.5 -86t-57 -124t-39.5 -144.5l-211 -995h-143z" /> -<glyph unicode="&#xe0;" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5zM489 1282q0 47 19.5 78t69.5 33l325 -207l4 -15l-20 -41l-17 -6z" /> -<glyph unicode="&#xe1;" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5zM612 1130v41l9 15l411 207q31 -2 46.5 -18.5t15.5 -39.5t-19 -53l-446 -158z" /> -<glyph unicode="&#xe2;" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5zM494 1161l10 15l268 202h16l183 -202l2 -15l-21 -39l-14 -6l-186 125l-238 -125l-16 6z" /> -<glyph unicode="&#xe3;" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5zM432 1194q2 14 20.5 41t48 52.5t68.5 44t82 18.5q53 0 132 -9.5t169 -9.5q35 0 73 8.5t73 44.5l20 -16q-2 -6 -17.5 -31.5t-43 -53.5 t-65.5 -50.5t-87 -22.5q-23 0 -63.5 3.5t-88.5 6.5t-95.5 6t-79.5 3q-51 0 -74 -13.5t-49 -37.5z" /> -<glyph unicode="&#xe4;" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5zM532 1266q0 41 33 74.5t74 33.5q29 0 47.5 -22.5t18.5 -53.5q0 -45 -35 -75.5t-70 -30.5q-31 0 -49.5 20.5t-18.5 53.5zM854 1264 q0 43 33 76.5t71 33.5q29 0 48.5 -22.5t19.5 -55.5q0 -43 -34 -73.5t-72 -30.5q-29 0 -47.5 20.5t-18.5 51.5z" /> -<glyph unicode="&#xe5;" d="M66 350q0 117 37.5 228.5t110.5 198.5t176.5 141.5t234.5 54.5q137 0 212.5 -59.5t84.5 -147.5l65 176h113l-199 -942h-113l21 168h-8q-66 -76 -172.5 -134.5t-237.5 -58.5q-84 0 -145.5 30t-101.5 81t-59 119.5t-19 144.5zM217 362q0 -51 11.5 -99t37 -85t66.5 -59.5 t100 -22.5q98 0 205.5 53.5t185.5 153.5l64 301q-12 117 -85 182.5t-181 65.5q-86 0 -161 -39t-128 -104.5t-84 -156t-31 -190.5zM610 1227q0 31 15.5 61.5t42 55t64.5 40t81 15.5q70 0 105.5 -40t35.5 -89q0 -31 -14 -60.5t-41 -54.5t-64.5 -39t-82.5 -14q-74 0 -108 39 t-34 86zM688 1235q0 -33 19.5 -58.5t54.5 -25.5q47 0 79.5 36t32.5 77q0 33 -18 59.5t-55 26.5q-49 0 -81 -38t-32 -77z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1673" d="M8 190q0 92 33 158t86 112t120.5 72.5t138.5 42t137.5 19.5t119.5 4h92l6 25q4 23 7.5 39t3.5 32q0 41 -15.5 69t-40.5 48q-31 23 -68.5 32t-103.5 9q-86 0 -155.5 -22.5t-139.5 -59.5l-6 123q154 80 344 80q76 0 141.5 -13.5t108.5 -46.5q23 -16 40 -44.5t22 -57.5h8 q74 70 180.5 116t222.5 46q154 0 234 -71t80 -200q0 -59 -18.5 -117.5t-37.5 -82.5h-690l-8 -37q-12 -55 -12 -105q0 -117 64.5 -196.5t201.5 -79.5q49 0 98 10t95 25.5t86 35t73 40.5l4 -109q-31 -16 -74 -35.5t-94 -36t-109.5 -28t-119.5 -11.5q-137 0 -223 56.5 t-125 148.5h-8q-106 -113 -234.5 -159t-245.5 -46q-111 0 -165 61.5t-54 153.5zM164 221q0 -59 34.5 -92t98.5 -33q41 0 90 13.5t99.5 40t98.5 65.5t87 88l41 191h-19q-92 0 -186 -8.5t-171 -36t-125 -82t-48 -146.5zM895 610h559q4 10 10 23.5t6 50.5q0 86 -61 130t-149 44 q-135 0 -225.5 -71t-139.5 -177z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1024" d="M70 369q0 111 36.5 219t112.5 193t190.5 138.5t268.5 53.5q98 0 187 -22.5t139 -59.5l-62 -121q-39 35 -121 62.5t-170 27.5q-109 0 -188.5 -41t-131.5 -107.5t-78 -148.5t-26 -164q0 -63 16.5 -119.5t50.5 -99.5t85 -67.5t123 -24.5q82 0 173 32t161 85l6 -127 q-61 -35 -160.5 -66.5t-208.5 -36.5l-65 -79q18 4 36.5 6t32.5 2q61 0 97 -34t36 -87q0 -39 -21.5 -75t-57 -63.5t-84 -44t-101.5 -16.5q-49 0 -96 11.5t-82 27.5l2 12l37 48h14q23 -10 58.5 -17.5t76.5 -7.5q53 0 91 21.5t38 82.5q0 41 -25.5 56.5t-62.5 15.5 q-25 0 -51.5 -4t-50.5 -10l-12 22l116 135q-86 8 -147.5 42t-102 86.5t-60 120t-19.5 143.5z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1054" d="M66 369q0 115 43 223t122.5 193t191.5 136.5t249 51.5q154 0 233.5 -71t79.5 -200q0 -59 -18.5 -117.5t-36.5 -82.5h-697q-12 -59 -12 -117q0 -61 15.5 -115.5t47 -95.5t82 -65.5t117.5 -24.5q98 0 193.5 35t161.5 76l4 -109q-31 -16 -74 -35.5t-94 -36t-109.5 -28 t-120.5 -11.5q-96 0 -166.5 32t-117.5 85t-70.5 125t-23.5 152zM268 610h568q4 10 9 23.5t5 50.5q0 86 -61.5 130t-147.5 44q-141 0 -233.5 -72t-139.5 -176zM444 1282q0 47 19.5 78t68.5 33l326 -207l2 -15l-18 -41l-19 -6z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1054" d="M66 369q0 115 43 223t122.5 193t191.5 136.5t249 51.5q154 0 233.5 -71t79.5 -200q0 -59 -18.5 -117.5t-36.5 -82.5h-697q-12 -59 -12 -117q0 -61 15.5 -115.5t47 -95.5t82 -65.5t117.5 -24.5q98 0 193.5 35t161.5 76l4 -109q-31 -16 -74 -35.5t-94 -36t-109.5 -28 t-120.5 -11.5q-96 0 -166.5 32t-117.5 85t-70.5 125t-23.5 152zM268 610h568q4 10 9 23.5t5 50.5q0 86 -61.5 130t-147.5 44q-141 0 -233.5 -72t-139.5 -176zM526 1171l11 15l411 207q31 -2 45.5 -18.5t14.5 -39.5q0 -18 -5.5 -30.5t-11.5 -22.5l-448 -158l-13 6z" /> -<glyph unicode="&#xea;" horiz-adv-x="1054" d="M66 369q0 115 43 223t122.5 193t191.5 136.5t249 51.5q154 0 233.5 -71t79.5 -200q0 -59 -18.5 -117.5t-36.5 -82.5h-697q-12 -59 -12 -117q0 -61 15.5 -115.5t47 -95.5t82 -65.5t117.5 -24.5q98 0 193.5 35t161.5 76l4 -109q-31 -16 -74 -35.5t-94 -36t-109.5 -28 t-120.5 -11.5q-96 0 -166.5 32t-117.5 85t-70.5 125t-23.5 152zM268 610h568q4 10 9 23.5t5 50.5q0 86 -61.5 130t-147.5 44q-141 0 -233.5 -72t-139.5 -176zM446 1161l9 15l270 202h14l185 -202v-15l-19 -39l-16 -6l-184 125l-240 -125l-16 6z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1054" d="M66 369q0 115 43 223t122.5 193t191.5 136.5t249 51.5q154 0 233.5 -71t79.5 -200q0 -59 -18.5 -117.5t-36.5 -82.5h-697q-12 -59 -12 -117q0 -61 15.5 -115.5t47 -95.5t82 -65.5t117.5 -24.5q98 0 193.5 35t161.5 76l4 -109q-31 -16 -74 -35.5t-94 -36t-109.5 -28 t-120.5 -11.5q-96 0 -166.5 32t-117.5 85t-70.5 125t-23.5 152zM268 610h568q4 10 9 23.5t5 50.5q0 86 -61.5 130t-147.5 44q-141 0 -233.5 -72t-139.5 -176zM459 1266q0 41 31.5 74.5t72.5 33.5q29 0 49.5 -22.5t20.5 -55.5q0 -43 -35 -73.5t-74 -30.5q-29 0 -47 20.5 t-18 53.5zM780 1266q0 41 32 74.5t73 33.5q29 0 49 -22.5t20 -55.5q0 -43 -34.5 -73.5t-73.5 -30.5q-29 0 -47.5 20.5t-18.5 53.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="458" d="M39 0l201 942h143l-201 -942h-143zM88 1293v12q0 35 23.5 60.5t66.5 27.5l326 -207l4 -15l-23 -41l-16 -6l-379 158q-2 4 -2 11z" /> -<glyph unicode="&#xed;" horiz-adv-x="458" d="M39 0l201 942h143l-201 -942h-143zM160 1171l8 15l414 207q29 -2 44 -18.5t15 -39.5t-18 -53l-447 -158l-14 6z" /> -<glyph unicode="&#xee;" horiz-adv-x="458" d="M39 0l201 942h143l-201 -942h-143zM113 1161l8 15l268 202h17l182 -202l4 -15l-23 -39l-14 -6l-186 125l-238 -125l-16 6z" /> -<glyph unicode="&#xef;" horiz-adv-x="458" d="M39 0l201 942h143l-201 -942h-143zM133 1266q0 41 33 74.5t74 33.5q29 0 48 -22.5t19 -55.5q0 -43 -33.5 -73.5t-72.5 -30.5q-31 0 -49.5 20.5t-18.5 53.5zM455 1266q0 41 32.5 74.5t73.5 33.5q29 0 48.5 -22.5t19.5 -55.5q0 -43 -34 -73.5t-73 -30.5q-31 0 -49 20.5 t-18 53.5z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1181" d="M70 369q0 111 36.5 219t111.5 194t186.5 138.5t261.5 52.5q113 0 193.5 -38t103.5 -124l6 2q-2 123 -11.5 216t-29.5 171l-271 -65l-14 94l254 63q-23 59 -56.5 112.5t-78.5 111.5h149q31 -35 56.5 -84.5t48.5 -110.5l258 65l16 -98l-248 -61q23 -86 33 -178.5t10 -188.5 q0 -84 -10 -182t-36.5 -196.5t-71.5 -189.5t-116 -162t-169 -113t-231 -42q-104 0 -176 33t-118 87.5t-66.5 125t-20.5 148.5zM225 383q0 -59 14.5 -113.5t44 -95.5t77 -65.5t112.5 -24.5q102 0 181 46t133.5 117.5t82 160t27.5 174.5q0 137 -70.5 207.5t-191.5 70.5 q-109 0 -185.5 -44t-127 -113.5t-74 -153.5t-23.5 -166z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1112" d="M39 0l201 942h112l-22 -176h8q45 86 150.5 146.5t242.5 60.5q55 0 103.5 -12.5t83 -39t55 -69.5t20.5 -107q0 -47 -12 -104l-137 -641h-144l134 623q8 39 8 77q0 82 -43 117t-115 35q-51 0 -104.5 -16.5t-102.5 -48t-92 -77.5t-74 -106l-129 -604h-143zM379 1194 q14 27 34.5 55.5t46 50t60.5 36t78 14.5q51 0 88 -4.5t68.5 -10.5t61.5 -10t69 -4q35 0 72.5 8t72.5 45l21 -16q-12 -29 -32 -56.5t-45.5 -50t-59 -37t-76.5 -14.5q-82 0 -164 14.5t-148 14.5q-51 0 -74.5 -13.5t-50.5 -37.5z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1155" d="M68 367q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q102 0 174.5 -32t120 -86t69 -125t21.5 -150q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-257.5 -52.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 383q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171zM440 1293v12q0 35 24.5 60.5t63.5 27.5l328 -207l2 -15l-20 -41l-15 -6l-381 158q-2 4 -2 11z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1155" d="M68 367q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q102 0 174.5 -32t120 -86t69 -125t21.5 -150q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-257.5 -52.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 383q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171zM541 1171l10 15l412 207q31 -2 46 -18.5t15 -39.5t-18 -53l-447 -158l-14 6z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1155" d="M68 367q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q102 0 174.5 -32t120 -86t69 -125t21.5 -150q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-257.5 -52.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 383q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171zM479 1161l10 15l271 202h14l182 -202l2 -15l-18 -39l-16 -6l-187 125l-237 -125l-17 6z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1155" d="M68 367q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q102 0 174.5 -32t120 -86t69 -125t21.5 -150q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-257.5 -52.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 383q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171zM375 1194q14 27 33.5 55.5t46 50t61.5 36t78 14.5q51 0 88 -4.5t68.5 -10.5t61.5 -10t69 -4q35 0 71.5 8 t73.5 45l21 -16q-12 -29 -32 -56.5t-46.5 -50t-60.5 -37t-77 -14.5q-82 0 -163.5 14.5t-147.5 14.5q-51 0 -73.5 -13.5t-49.5 -37.5z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1155" d="M68 367q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q102 0 174.5 -32t120 -86t69 -125t21.5 -150q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-257.5 -52.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 383q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171zM483 1266q0 41 33 74.5t74 33.5q29 0 48 -22.5t19 -55.5q0 -43 -33.5 -73.5t-72.5 -30.5 q-31 0 -49.5 20.5t-18.5 53.5zM805 1266q0 41 32.5 74.5t73.5 33.5q29 0 48.5 -22.5t19.5 -55.5q0 -43 -34 -73.5t-73 -30.5q-31 0 -49 20.5t-18 53.5z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1150" d="M127 436l23 107h847l-22 -107h-848zM418 147q0 45 37 79t82 34q33 0 55 -23.5t22 -58.5q0 -23 -11 -42t-27.5 -34.5t-38 -24.5t-41.5 -9q-35 0 -56.5 22t-21.5 57zM555 797q0 43 37 78.5t82 35.5q33 0 55.5 -24.5t22.5 -59.5q0 -23 -11.5 -42t-28 -33.5t-38 -23.5 t-41.5 -9q-35 0 -56.5 22.5t-21.5 55.5z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1155" d="M-29 16l148 136q-51 90 -51 215q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q86 0 149.5 -22.5t110.5 -61.5l133 123l88 -80l-148 -135q27 -47 39.5 -102.5t12.5 -114.5q0 -115 -37 -223.5t-111 -192.5t-184.5 -136.5t-255.5 -52.5q-88 0 -153.5 21.5t-112.5 62.5 l-144 -131zM223 383q0 -33 3 -62.5t14 -58.5l575 526q-33 33 -78 51.5t-104 18.5q-102 0 -179 -42t-128.5 -109.5t-77 -152.5t-25.5 -171zM299 154q31 -33 76 -51.5t106 -18.5q102 0 179 42t129.5 109.5t79 152.5t26.5 171q0 66 -18 125z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1110" d="M82 197q0 45 12 104l137 641h144l-133 -623q-4 -23 -7.5 -42t-3.5 -35q0 -82 44 -114t114 -32q104 0 207.5 61.5t167.5 180.5l127 604h143l-200 -942h-113l22 176h-8q-45 -86 -149.5 -143.5t-241.5 -57.5q-55 0 -103 11.5t-83 37t-55.5 69t-20.5 104.5zM422 1293v12 q0 35 23.5 60.5t64.5 27.5l326 -207l2 -15l-19 -41l-18 -6l-377 158q-2 4 -2 11z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1110" d="M82 197q0 45 12 104l137 641h144l-133 -623q-4 -23 -7.5 -42t-3.5 -35q0 -82 44 -114t114 -32q104 0 207.5 61.5t167.5 180.5l127 604h143l-200 -942h-113l22 176h-8q-45 -86 -149.5 -143.5t-241.5 -57.5q-55 0 -103 11.5t-83 37t-55.5 69t-20.5 104.5zM469 1130v41 l10 15l412 207q29 -2 44 -18.5t15 -39.5q0 -12 -5 -25.5t-11 -27.5l-449 -158z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1110" d="M82 197q0 45 12 104l137 641h144l-133 -623q-4 -23 -7.5 -42t-3.5 -35q0 -82 44 -114t114 -32q104 0 207.5 61.5t167.5 180.5l127 604h143l-200 -942h-113l22 176h-8q-45 -86 -149.5 -143.5t-241.5 -57.5q-55 0 -103 11.5t-83 37t-55.5 69t-20.5 104.5zM434 1122v39l6 15 l273 202h14l182 -202l2 -15l-18 -39l-19 -6l-186 125l-237 -125z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1110" d="M82 197q0 45 12 104l137 641h144l-133 -623q-4 -23 -7.5 -42t-3.5 -35q0 -82 44 -114t114 -32q104 0 207.5 61.5t167.5 180.5l127 604h143l-200 -942h-113l22 176h-8q-45 -86 -149.5 -143.5t-241.5 -57.5q-55 0 -103 11.5t-83 37t-55.5 69t-20.5 104.5zM449 1266 q0 41 32.5 74.5t73.5 33.5q29 0 49.5 -22.5t20.5 -55.5q0 -43 -35 -73.5t-74 -30.5q-31 0 -49 20.5t-18 53.5zM770 1266q0 41 33 74.5t74 33.5q29 0 49 -22.5t20 -55.5q0 -43 -34.5 -73.5t-73.5 -30.5q-31 0 -49.5 20.5t-18.5 53.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1060" d="M-158 -383q6 -2 13.5 -4t27.5 -2q41 0 79 8t79 33q84 51 162 149.5t153 229.5l-276 911h170l207 -784l504 784h161l-635 -950q-43 -66 -105.5 -155t-140 -169t-168.5 -136t-192 -56q-16 0 -23.5 1t-15.5 5v135zM522 1171l10 15l412 207q31 -2 45.5 -18.5t14.5 -39.5 q0 -18 -5.5 -30.5t-11.5 -22.5l-448 -158l-13 6z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1179" d="M-74 -532l436 2048h144l-160 -750q29 35 72 71.5t95 66.5t112.5 49.5t126.5 19.5q84 0 145 -30t101 -81t59.5 -119.5t19.5 -144.5q0 -117 -39 -228.5t-110.5 -198.5t-175 -141.5t-234.5 -54.5q-137 0 -213 59.5t-84 147.5l-151 -714h-144zM256 344q6 -59 31.5 -104 t63.5 -78t87 -49.5t103 -16.5q88 0 158.5 40t119.5 106.5t76 151.5t27 175q0 57 -13.5 108.5t-41 90.5t-71.5 61.5t-106 22.5q-98 0 -195.5 -53.5t-175.5 -153.5z" /> -<glyph unicode="&#xff;" horiz-adv-x="1060" d="M-158 -383q6 -2 13.5 -4t27.5 -2q41 0 79 8t79 33q84 51 162 149.5t153 229.5l-276 911h170l207 -784l504 784h161l-635 -950q-43 -66 -105.5 -155t-140 -169t-168.5 -136t-192 -56q-16 0 -23.5 1t-15.5 5v135zM426 1266q0 41 31.5 74.5t72.5 33.5q29 0 49.5 -22.5 t20.5 -55.5q0 -43 -35 -73.5t-73 -30.5q-29 0 -47.5 20.5t-18.5 53.5zM748 1266q0 41 31.5 74.5t72.5 33.5q29 0 49.5 -22.5t20.5 -55.5q0 -43 -35 -73.5t-74 -30.5q-29 0 -47 20.5t-18 53.5z" /> -<glyph unicode="&#x152;" horiz-adv-x="1753" d="M123 510q0 168 59.5 321.5t169 271.5t262 188.5t338.5 70.5q39 0 75 -3t71 -7h702l-31 -144h-548l-91 -420h412l-31 -143h-411l-107 -502h590l-31 -143h-708q-92 -25 -201 -25q-135 0 -233.5 42t-162 115t-94 170t-30.5 208zM295 518q0 -199 96 -303t285 -104 q88 0 162 18l229 1079q-68 18 -149 19q-176 0 -295 -61.5t-192 -161t-104.5 -227.5t-31.5 -259z" /> -<glyph unicode="&#x153;" horiz-adv-x="1865" d="M68 365q0 113 38.5 221t113.5 194t186.5 138.5t257.5 52.5q152 0 236.5 -60.5t119.5 -158.5q80 98 197.5 158.5t265.5 60.5q154 0 233.5 -71t79.5 -200q0 -59 -18.5 -117.5t-36.5 -82.5h-690l-4 -21q-12 -59 -13 -114q0 -59 15.5 -110.5t47 -90.5t81 -60.5t118.5 -21.5 q49 0 98.5 10t95.5 25.5t86 35t73 40.5l4 -109q-31 -16 -74 -35.5t-94 -36t-109.5 -28t-120.5 -11.5q-139 0 -228 57.5t-126 151.5q-74 -94 -183.5 -151.5t-258.5 -57.5q-102 0 -177 31t-122 85t-69.5 125t-22.5 151zM221 381q0 -59 14.5 -113.5t46 -95.5t81 -65.5 t118.5 -24.5q102 0 179 42t129.5 109.5t78 152.5t25.5 171q0 61 -14.5 115.5t-46 95.5t-81 64.5t-118.5 23.5q-102 0 -180 -42t-129.5 -109.5t-77 -152.5t-25.5 -171zM1087 608h560q4 10 10 23.5t6 50.5q0 86 -61.5 130t-149.5 44q-135 0 -225.5 -71t-139.5 -177z" /> -<glyph unicode="&#x178;" horiz-adv-x="1157" d="M139 1352h183l290 -650l551 650h178l-692 -797l-117 -555h-153l115 547zM559 1610q0 41 33 74.5t74 33.5q29 0 47 -22.5t18 -53.5q0 -45 -33.5 -75.5t-70.5 -30.5q-31 0 -49.5 20.5t-18.5 53.5zM881 1608q0 43 32.5 76.5t71.5 33.5q29 0 48.5 -22.5t19.5 -55.5 q0 -43 -34 -73.5t-73 -30.5q-29 0 -47 20.5t-18 51.5z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="479" d="M248 1161l8 15l270 202h17l180 -202l4 -15l-20 -39l-17 -6l-186 125l-240 -125l-12 6z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="636" d="M254 1194q14 27 33.5 55.5t46 50t61.5 36t78 14.5q51 0 88 -4.5t69 -10.5t61.5 -10t68.5 -4q35 0 72.5 8t72.5 45l21 -16q-25 -57 -77 -107.5t-136 -50.5q-82 0 -164 14.5t-148 14.5q-51 0 -74.5 -13.5t-50.5 -37.5z" /> -<glyph unicode="&#x2000;" horiz-adv-x="868" /> -<glyph unicode="&#x2001;" horiz-adv-x="1736" /> -<glyph unicode="&#x2002;" horiz-adv-x="868" /> -<glyph unicode="&#x2003;" horiz-adv-x="1736" /> -<glyph unicode="&#x2004;" horiz-adv-x="577" /> -<glyph unicode="&#x2005;" horiz-adv-x="434" /> -<glyph unicode="&#x2006;" horiz-adv-x="288" /> -<glyph unicode="&#x2007;" horiz-adv-x="288" /> -<glyph unicode="&#x2008;" horiz-adv-x="217" /> -<glyph unicode="&#x2009;" horiz-adv-x="346" /> -<glyph unicode="&#x200a;" horiz-adv-x="96" /> -<glyph unicode="&#x2010;" horiz-adv-x="995" d="M125 436l22 107h693l-23 -107h-692z" /> -<glyph unicode="&#x2011;" horiz-adv-x="995" d="M125 436l22 107h693l-23 -107h-692z" /> -<glyph unicode="&#x2012;" horiz-adv-x="995" d="M125 436l22 107h693l-23 -107h-692z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1150" d="M125 436l22 107h848l-22 -107h-848z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1617" d="M125 436l22 107h1315l-22 -107h-1315z" /> -<glyph unicode="&#x2018;" horiz-adv-x="456" d="M266 1130l45 216l185 157l32 -39l-112 -149h51l-39 -185h-162z" /> -<glyph unicode="&#x2019;" horiz-adv-x="419" d="M250 1169l112 150h-51l39 184h162l-47 -215l-182 -158z" /> -<glyph unicode="&#x201a;" horiz-adv-x="491" d="M-12 -160l112 150h-51l39 184h162l-47 -215l-183 -158z" /> -<glyph unicode="&#x201c;" horiz-adv-x="763" d="M266 1130l45 216l185 157l32 -39l-112 -149h51l-39 -185h-162zM573 1130l45 216l185 157l33 -39l-113 -149h51l-39 -185h-162z" /> -<glyph unicode="&#x201d;" horiz-adv-x="727" d="M250 1169l112 150h-51l39 184h162l-47 -215l-182 -158zM557 1169l113 150h-52l39 184h162l-47 -215l-182 -158z" /> -<glyph unicode="&#x201e;" horiz-adv-x="821" d="M-12 -160l112 150h-51l39 184h162l-47 -215l-183 -158zM317 -160l113 150h-51l39 184h162l-48 -215l-182 -158z" /> -<glyph unicode="&#x2022;" horiz-adv-x="677" d="M182 473q0 31 14.5 61.5t39 53t55.5 37t63 14.5q47 0 80 -36t33 -85q0 -33 -15.5 -61.5t-40 -50t-55 -34t-61.5 -12.5q-51 0 -82 33t-31 80z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1249" d="M45 55q0 43 37 79t82 36q35 0 56.5 -24.5t21.5 -59.5q0 -23 -11.5 -42t-28 -33.5t-38 -24t-41.5 -9.5q-35 0 -56.5 22.5t-21.5 55.5zM432 55q0 43 38 79t81 36q35 0 56.5 -24.5t21.5 -59.5q0 -23 -11.5 -42t-28 -33.5t-38 -24t-41.5 -9.5q-35 0 -56.5 22.5t-21.5 55.5z M819 55q0 43 38 79t81 36q35 0 56.5 -24.5t21.5 -59.5q0 -23 -11.5 -42t-27.5 -33.5t-37.5 -24t-42.5 -9.5q-35 0 -56.5 22.5t-21.5 55.5z" /> -<glyph unicode="&#x202f;" horiz-adv-x="346" /> -<glyph unicode="&#x2039;" horiz-adv-x="653" d="M88 487l2 11l352 362h162l-373 -362l-2 -11l217 -362h-163z" /> -<glyph unicode="&#x203a;" horiz-adv-x="653" d="M20 125l373 362l2 11l-219 362h162l199 -362l-2 -11l-351 -362h-164z" /> -<glyph unicode="&#x205f;" horiz-adv-x="434" /> -<glyph unicode="&#x20ac;" horiz-adv-x="1267" d="M72 522l22 107h150q6 57 20 108h-147l22 107h158q41 111 105.5 205t150.5 163.5t190.5 109.5t227.5 40q92 0 183 -23.5t149 -64.5l-74 -148q-47 43 -121 72t-178 29q-109 0 -188.5 -33t-137 -86t-94.5 -121.5t-59 -142.5h546l-22 -107h-551q-6 -29 -9 -56.5t-5 -51.5h542 l-22 -107h-527v-35q0 -184 72 -280t213 -96q111 0 210 36.5t167 90.5l12 -138q-84 -49 -190.5 -87t-233.5 -38q-111 0 -189.5 40t-129.5 110t-76 162t-25 196v39h-161z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1404" d="M268 1257l17 80h440l-16 -80h-172l-107 -501h-96l106 501h-172zM678 756l123 581h98l96 -495l303 495h97l-123 -581h-80l90 428l-262 -428h-92l-80 430l-92 -430h-78z" /> -<glyph unicode="&#xe000;" horiz-adv-x="940" d="M0 940h940v-940h-940v940z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1071" d="M-25 -532l295 1378h-157l16 76l162 18q41 199 92 312.5t109 172.5q61 66 118.5 83.5t110.5 17.5q102 0 178 -34t123 -69l-96 -123q-80 57 -137.5 88t-116.5 31q-45 0 -76 -19.5t-53.5 -62.5t-42 -110.5t-39.5 -161.5l-27 -123h221l-20 -96h-221l-295 -1378h-144zM653 0 l201 942h143l-200 -942h-144z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1097" d="M-23 -532l293 1378h-157l16 76l162 18q23 111 51.5 190.5t58 137t60.5 95.5t57 62q63 59 120.5 80t104.5 21q20 0 53 -1t74 -6.5t87.5 -16.5t93.5 -29l79 43l-321 -1516h-143l288 1362q-51 29 -123.5 43t-148.5 14q-33 0 -63.5 -18.5t-58.5 -59.5t-53.5 -108.5 t-45.5 -167.5l-27 -123h221l-20 -96h-221l-293 -1378h-144z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="1675" d="M1256 0l201 942h143l-201 -942h-143zM1496 1268q0 25 11 47t28.5 39.5t41 28t48.5 10.5q37 0 60.5 -28t23.5 -62q0 -49 -41 -84t-89 -35q-37 0 -60 24.5t-23 59.5zM585 -532l293 1378h-157l16 76l162 18q25 115 49.5 197t48 138t46 92t42.5 58q49 57 111.5 79t124.5 22 q8 0 28.5 -1t45 -4t50 -10.5t48.5 -19.5l-62 -121q-6 0 -26.5 7t-47 16.5t-56 17.5t-54.5 8q-31 0 -54.5 -17.5t-44 -57t-39 -105t-38.5 -162.5l-29 -135h221l-20 -96h-221l-293 -1378h-144zM-23 -532l293 1378h-157l16 76l162 18q25 115 49.5 197t48 138t46 92t42.5 58 q49 57 111.5 79t124.5 22q8 0 28.5 -1t45 -4t50 -10.5t48.5 -19.5l-62 -121q-6 0 -26.5 7t-47 16.5t-56 17.5t-54.5 8q-31 0 -54.5 -17.5t-44 -57t-39 -105t-38.5 -162.5l-29 -135h221l-20 -96h-221l-293 -1378h-144z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="1699" d="M1268 0l322 1516h143l-321 -1516h-144zM585 -532l293 1378h-157l16 76l162 18q25 115 49.5 197t48 138t46 92t42.5 58q49 57 111.5 79t124.5 22q8 0 28.5 -1t45 -4t50 -10.5t48.5 -19.5l-62 -121q-6 0 -26.5 7t-47 16.5t-56 17.5t-54.5 8q-31 0 -54.5 -17.5t-44 -57 t-39 -105t-38.5 -162.5l-29 -135h221l-20 -96h-221l-293 -1378h-144zM-23 -532l293 1378h-157l16 76l162 18q25 115 49.5 197t48 138t46 92t42.5 58q49 57 111.5 79t124.5 22q8 0 28.5 -1t45 -4t50 -10.5t48.5 -19.5l-62 -121q-6 0 -26.5 7t-47 16.5t-56 17.5t-54.5 8 q-31 0 -54.5 -17.5t-44 -57t-39 -105t-38.5 -162.5l-29 -135h221l-20 -96h-221l-293 -1378h-144z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.ttf deleted file mode 100755 index c7ba47a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.woff deleted file mode 100755 index 3798881..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-italic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.eot deleted file mode 100755 index 346db6f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.svg deleted file mode 100755 index 3470924..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.svg +++ /dev/null @@ -1,247 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2011 Pablo Impallari wwwimpallaricomimpallarigmailcomCopyright c 2011 Igino Marini wwwikerncommailiginomarinicomCopyright c 2011 Brenda Gallo gbrenda1987gmailcomwith Reserved Font Name Quattrocento Sans -Designer : Pablo Impallari -Foundry : Pablo Impallari Igino Marini Brenda Gallo -Foundry URL : wwwimpallaricom -</metadata> -<defs> -<font id="QuattrocentoSansRegular" horiz-adv-x="1314" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="501" /> -<glyph unicode=" " horiz-adv-x="501" /> -<glyph unicode="&#x09;" horiz-adv-x="501" /> -<glyph unicode="&#xa0;" horiz-adv-x="501" /> -<glyph unicode="!" horiz-adv-x="528" d="M166 1397h199l-54 -1090h-96zM170 72q0 39 27.5 68.5t68.5 29.5q37 0 66.5 -29.5t29.5 -68.5t-29.5 -67t-66.5 -28q-41 0 -68.5 28t-27.5 67z" /> -<glyph unicode="&#x22;" horiz-adv-x="684" d="M121 1499h166l-49 -442h-74zM401 1499h166l-49 -442h-74z" /> -<glyph unicode="#" horiz-adv-x="1257" d="M78 455l20 108h240l53 244h-252l21 106h254l90 426h131l-90 -426h258l90 426h131l-90 -426h248l-21 -106h-250l-53 -244h262l-20 -108h-264l-97 -455h-131l97 455h-259l-96 -455h-131l96 455h-237zM469 563h258l53 244h-258z" /> -<glyph unicode="$" horiz-adv-x="1083" d="M88 88l43 150q74 -51 154 -87t207 -40v530q-86 29 -155 61.5t-117 76.5t-73.5 102.5t-25.5 138.5q0 82 27.5 143.5t77.5 102.5t118 63.5t148 28.5v178h122v-176q90 -6 170 -26.5t140 -49.5l-43 -158q-51 45 -124 68t-143 29v-449q72 -25 141.5 -55.5t124 -77.5t88 -114.5 t33.5 -166.5q0 -94 -30.5 -162.5t-83.5 -114.5t-124 -70.5t-149 -32.5v-177h-122v174q-121 4 -224.5 36t-179.5 75zM270 1026q0 -41 13.5 -71.5t40 -54t68.5 -43t100 -40.5v406q-104 -10 -163 -57.5t-59 -139.5zM614 117q123 16 176.5 74.5t53.5 140.5q0 53 -19.5 94 t-51.5 72.5t-73 55.5t-86 42v-479z" /> -<glyph unicode="%" horiz-adv-x="1675" d="M80 977q0 80 20.5 150.5t59.5 123t94 82t127 29.5t128 -31t94 -82t58.5 -119.5t20.5 -144.5q0 -74 -20.5 -143.5t-59.5 -122.5t-97.5 -85t-131.5 -32q-72 0 -127.5 30t-92 81t-55 119.5t-18.5 144.5zM195 989q0 -147 47 -221t133 -74q51 0 88 22.5t60.5 61.5t34.5 91.5 t11 111.5q0 129 -47 209t-145 80q-100 0 -141 -79t-41 -202zM295 -49l948 1464h133l-948 -1464h-133zM997 360q0 80 20.5 151t59.5 123t94.5 81.5t126.5 29.5q72 0 128.5 -30.5t94.5 -81.5t58 -120t20 -144q0 -74 -20 -143.5t-59 -123t-97.5 -85t-132.5 -31.5 q-72 0 -127 29.5t-92 80.5t-55.5 119.5t-18.5 144.5zM1112 373q0 -147 47 -221t133 -74q51 0 88 22.5t60.5 61.5t35 91t11.5 112q0 129 -47 208.5t-146 79.5q-100 0 -141 -78.5t-41 -201.5z" /> -<glyph unicode="&#x26;" horiz-adv-x="1435" d="M129 360q0 55 17.5 113.5t51 112t86 98.5t119.5 74q-59 70 -91.5 139.5t-32.5 159.5q0 76 23.5 132t65.5 95t97 58.5t117 19.5q70 0 142.5 -23.5t141.5 -66.5l-41 -146q-47 45 -112.5 74t-126.5 29q-68 0 -116 -42t-48 -140q0 -68 26.5 -123.5t77.5 -108.5l467 -483 q33 78 33 157q0 61 -17.5 115.5t-50.5 106.5l-102 -9v97l514 75v-126l-274 -25q63 -117 63 -242q0 -133 -69 -250l225 -231h-172l-131 133q-72 -72 -175.5 -115t-234.5 -43q-117 0 -206 32t-148.5 86t-89 123.5t-29.5 143.5zM285 379q0 -66 25.5 -115t69.5 -84t105.5 -52 t135.5 -17q98 0 171.5 31.5t127.5 84.5l-426 437q-96 -33 -152.5 -109t-56.5 -176z" /> -<glyph unicode="'" horiz-adv-x="403" d="M121 1499h166l-49 -442h-74z" /> -<glyph unicode="(" horiz-adv-x="636" d="M102 670q0 262 108.5 495.5t305.5 413.5l78 -27q-84 -94 -142.5 -192t-95.5 -205.5t-53 -227.5t-16 -257q0 -84 7 -185.5t37.5 -215t92 -235.5t168.5 -247l-76 -27q-197 176 -305.5 412t-108.5 498z" /> -<glyph unicode=")" horiz-adv-x="636" d="M43 1552l78 27q197 -180 305.5 -413.5t108.5 -495.5t-109 -497.5t-305 -412.5l-76 27q106 125 167.5 247t92.5 235.5t38 215t7 185.5q0 137 -16.5 257t-53 227.5t-95 205.5t-142.5 192z" /> -<glyph unicode="*" horiz-adv-x="899" d="M125 991l252 109l-252 110l68 119l219 -166l-29 275h135l-33 -275l222 166l67 -119l-252 -110l252 -109l-65 -117l-224 162l31 -270h-133l29 270l-222 -162z" /> -<glyph unicode="+" horiz-adv-x="1017" d="M104 436v107h351v331h106v-331h352v-107h-352v-352h-106v352h-351z" /> -<glyph unicode="," horiz-adv-x="497" d="M139 -160l80 150h-51v184h162v-215l-150 -158z" /> -<glyph unicode="-" horiz-adv-x="995" d="M152 436v107h692v-107h-692z" /> -<glyph unicode="." horiz-adv-x="481" d="M145 72q0 39 27 68.5t68 29.5q39 0 68.5 -29.5t29.5 -68.5t-29.5 -67t-68.5 -28q-41 0 -68 28t-27 67z" /> -<glyph unicode="/" horiz-adv-x="868" d="M74 -117l569 1555h154l-570 -1555h-153z" /> -<glyph unicode="0" horiz-adv-x="1329" d="M121 659q0 145 37 273.5t106.5 223.5t171 150.5t230.5 55.5q131 0 232 -55.5t171 -150.5t105.5 -220t35.5 -262q0 -135 -36.5 -261t-107.5 -223.5t-175.5 -156t-239.5 -58.5q-133 0 -232.5 55.5t-165 149.5t-99 218t-33.5 261zM291 680q0 -283 95 -426t269 -143 q100 0 174 43t121 118.5t69.5 177t22.5 218.5q0 125 -23.5 227t-71.5 176t-119.5 115t-168.5 41q-98 0 -168.5 -40t-114.5 -113t-64.5 -173t-20.5 -221z" /> -<glyph unicode="1" horiz-adv-x="649" d="M51 1126l395 226v-1352h-153v1077l-197 -94z" /> -<glyph unicode="2" horiz-adv-x="1042" d="M96 0v143q92 119 205 232.5t211 222.5t163.5 215.5t65.5 214.5q0 41 -11 77t-38.5 63.5t-72 43t-109.5 15.5q-45 0 -95 -7.5t-99.5 -21.5t-92.5 -32.5t-71 -39.5l-37 136q39 20 88 38.5t101 33t106.5 21.5t103.5 7q88 0 162 -24.5t126 -67.5t80.5 -104.5t28.5 -135.5 q0 -115 -63.5 -225.5t-158.5 -220t-207.5 -220t-211.5 -221.5h656v-143h-830z" /> -<glyph unicode="3" horiz-adv-x="1095" d="M76 102l41 138q72 -59 160 -94t192 -35q166 0 253 76.5t87 224.5q0 117 -79 185.5t-265 68.5h-55v116h63q129 0 199.5 65.5t70.5 178.5q0 90 -49 145.5t-172 55.5q-47 0 -94 -8.5t-90 -21.5t-81 -31.5t-62 -39.5l-37 136q35 20 79 38.5t91 33t94 21.5t88 7 q182 0 292.5 -89t110.5 -263q0 -86 -56 -159t-138 -116q123 -41 191.5 -123t68.5 -217q0 -86 -30.5 -161.5t-94 -133t-158 -91.5t-221.5 -34q-119 0 -220 34t-179 93z" /> -<glyph unicode="4" horiz-adv-x="1040" d="M63 430v143l572 779h164v-779h141v-143h-141v-430h-154v430h-582zM238 573h407v555z" /> -<glyph unicode="5" horiz-adv-x="1101" d="M96 102l43 144q76 -59 160 -97t199 -38q156 0 243.5 76.5t87.5 224.5q0 57 -15 105t-53 82t-99.5 52.5t-153.5 18.5q-72 0 -147.5 -12.5t-143.5 -39.5l-59 31l75 713h695v-143h-566l-53 -437q63 14 133 23.5t129 9.5q92 0 171 -25.5t135.5 -74.5t88 -122t31.5 -167 q0 -90 -30.5 -172t-93 -143.5t-156.5 -98.5t-221 -37q-119 0 -220.5 34t-179.5 93z" /> -<glyph unicode="6" horiz-adv-x="1128" d="M129 612q0 141 23.5 275.5t82 239t156.5 169t246 64.5q33 0 76 -4t88 -15.5t87 -31t73 -47.5l-35 -136q-70 57 -148 79t-139 22q-106 0 -177 -44t-113 -115t-59.5 -160t-17.5 -177v-30q0 -13 2 -29l7 -2q25 45 61.5 73.5t81.5 46t94 24.5t98 7q129 0 209 -44t124 -107.5 t60.5 -136t16.5 -127.5q0 -74 -23.5 -151t-76 -139.5t-135 -101.5t-199.5 -39q-129 0 -217 45.5t-142.5 129t-79 200.5t-24.5 262zM309 395q0 -135 74 -215t209 -80q127 0 200.5 81t73.5 227q0 55 -13 107t-43 92t-80 64.5t-124 24.5q-154 0 -225.5 -86t-71.5 -215z" /> -<glyph unicode="7" horiz-adv-x="935" d="M82 1219v143h829v-143q-102 -102 -204.5 -249t-184.5 -306.5t-132 -313t-50 -268.5v-43q0 -20 2 -39h-178q-2 18 -2 40v40q0 129 54 282.5t138 308t187.5 297t199.5 251.5h-659z" /> -<glyph unicode="8" horiz-adv-x="1142" d="M119 381q0 135 65.5 229.5t182.5 128.5v9q-72 27 -126.5 100.5t-54.5 185.5q0 147 100.5 237.5t284.5 90.5q180 0 282.5 -87t102.5 -235q0 -109 -52 -183.5t-128 -106.5v-9q119 -27 183.5 -123t64.5 -233q0 -86 -26.5 -160.5t-83 -130t-142.5 -87.5t-203 -32 q-123 0 -209 34t-139 90.5t-77.5 130t-24.5 151.5zM285 371q0 -129 72.5 -200t211.5 -71t212 71t73 200q0 57 -15.5 111.5t-50 96.5t-89 67.5t-130.5 25.5q-78 0 -132 -25.5t-88 -67.5t-49 -96.5t-15 -111.5zM350 1026q0 -102 56.5 -166.5t162.5 -64.5t162.5 64.5 t56.5 166.5q0 86 -48 146.5t-171 60.5q-121 0 -170 -58.5t-49 -148.5z" /> -<glyph unicode="9" horiz-adv-x="1130" d="M104 930q0 74 24 150.5t76 139t135 101.5t200 39q129 0 217 -45t142 -129t78.5 -202t24.5 -261q0 -141 -23.5 -275.5t-81.5 -239t-156.5 -169t-245.5 -64.5q-33 0 -76 4.5t-88 15.5t-87 30.5t-73 48.5l35 135q70 -57 147.5 -78.5t139.5 -21.5q106 0 176.5 44t112.5 114.5 t59.5 159.5t17.5 177v30q0 13 -2 30l-6 2q-25 -45 -61.5 -74t-81.5 -46.5t-94.5 -24.5t-98.5 -7q-129 0 -209 44t-124 107.5t-60.5 136.5t-16.5 128zM264 928q0 -55 13.5 -107.5t43 -92.5t80 -64.5t123.5 -24.5q154 0 225.5 86t71.5 215q0 135 -73.5 215t-208.5 80 q-127 0 -201 -81t-74 -226z" /> -<glyph unicode=":" horiz-adv-x="495" d="M152 72q0 39 26.5 68.5t67.5 29.5q39 0 68.5 -29.5t29.5 -68.5t-29.5 -67t-68.5 -28q-41 0 -67.5 28t-26.5 67zM152 836q0 39 26.5 67.5t67.5 28.5q39 0 68.5 -29t29.5 -67q0 -41 -29.5 -69t-68.5 -28q-41 0 -67.5 28t-26.5 69z" /> -<glyph unicode=";" horiz-adv-x="520" d="M154 -160l79 150h-51v184h162v-215l-149 -158zM170 836q0 39 26.5 67.5t67.5 28.5q39 0 68.5 -29t29.5 -67q0 -41 -29.5 -69t-68.5 -28q-41 0 -67.5 28t-26.5 69z" /> -<glyph unicode="&#x3c;" horiz-adv-x="835" d="M78 487v11l584 397l36 -129l-403 -268v-11l405 -272l-36 -131z" /> -<glyph unicode="=" horiz-adv-x="1003" d="M156 281v106h692v-106h-692zM156 592v106h692v-106h-692z" /> -<glyph unicode="&#x3e;" horiz-adv-x="835" d="M135 215l406 272v11l-404 268l37 129l584 -397v-11l-586 -403z" /> -<glyph unicode="?" horiz-adv-x="843" d="M82 1305q55 43 137 71.5t160 28.5q82 0 148.5 -24.5t112.5 -67.5t70.5 -104.5t24.5 -135.5q0 -61 -21.5 -115.5t-55 -108.5t-71.5 -109.5t-72 -120t-56.5 -140.5t-22.5 -170h-131q0 102 20.5 182t52.5 144.5t68.5 118t68.5 103.5t52.5 102.5t20.5 115.5q0 82 -52.5 139.5 t-158.5 57.5q-33 0 -70 -8.5t-71.5 -21.5t-65.5 -32.5t-51 -40.5zM281 74q0 41 27.5 68.5t66.5 27.5t68.5 -27.5t29.5 -68.5q0 -39 -29.5 -68t-68.5 -29t-66.5 29t-27.5 68z" /> -<glyph unicode="@" horiz-adv-x="1480" d="M117 369q0 117 42 249t130 244.5t224 186t325 73.5q143 0 248.5 -45t174 -116.5t101.5 -161.5t33 -183q0 -90 -30 -174t-85 -148.5t-132 -103t-171 -38.5q-49 0 -79 11t-45 30.5t-20.5 47t-5.5 60.5q-35 -70 -87 -110.5t-105 -40.5q-31 0 -61.5 15t-55 46t-40 77 t-15.5 107q0 92 34.5 166t91 126t126 81t139.5 29q49 0 107.5 -16.5t93.5 -51.5l-76 -364q-4 -23 -6 -40.5t-2 -31.5q0 -29 12 -43t47 -14q53 0 97 31.5t76 83.5t49.5 120t17.5 137q0 76 -24.5 151t-77 134t-134.5 96t-198 37q-145 0 -256 -58.5t-184.5 -152.5t-111.5 -211 t-38 -235q0 -127 40 -217.5t107.5 -148.5t156.5 -85t187 -27q84 0 156 17.5t129 43t98 54.5t64 49v-102q-20 -18 -64.5 -46t-106 -53.5t-137 -43t-159.5 -17.5q-123 0 -231.5 41t-190.5 116t-130 181.5t-48 237.5zM598 369q0 -68 18.5 -99.5t47.5 -31.5q27 0 56.5 21.5 t56 55t48 74.5t29.5 80l49 248q-12 12 -51 12q-68 0 -116 -37t-78.5 -91t-45 -117.5t-14.5 -114.5z" /> -<glyph unicode="A" d="M10 0l541 1352h186l594 -1352h-174l-199 455h-604l-180 -455h-164zM412 598h483l-254 582z" /> -<glyph unicode="B" horiz-adv-x="1144" d="M203 0v1352q66 4 153.5 7t161.5 3q182 0 293 -89t111 -263q0 -82 -34 -148.5t-106 -113.5q123 -41 192.5 -129.5t69.5 -223.5q0 -86 -30.5 -161.5t-94 -133t-157.5 -91.5t-221 -34q-100 0 -186 7.5t-152 17.5zM356 117q80 -6 179 -6q166 0 252.5 76.5t86.5 224.5 q0 117 -78.5 185.5t-265.5 68.5q-45 0 -89 -1t-85 -3v-545zM356 784q29 -2 61 -2h64q129 0 200 65.5t71 178.5q0 90 -49.5 145.5t-172.5 55.5q-45 0 -89 -1t-85 -3v-439z" /> -<glyph unicode="C" d="M117 662q0 145 43 272t128 222t211 150.5t294 55.5q111 0 221 -23.5t190 -64.5l-43 -148q-66 43 -162 72t-219 29q-137 0 -231 -40t-152.5 -111.5t-84 -173t-25.5 -224.5q0 -281 122.5 -424t366.5 -143q129 0 237.5 36.5t174.5 90.5l41 -138q-82 -49 -198 -87t-261 -38 q-168 0 -291 55.5t-203.5 149.5t-119.5 218.5t-39 263.5z" /> -<glyph unicode="D" horiz-adv-x="1441" d="M203 0v1352h10q98 4 213 7t223 3q145 0 265 -41t204 -113q109 -98 158 -239.5t49 -306.5q0 -139 -39 -263.5t-120 -218.5t-203.5 -149.5t-290.5 -55.5q-145 0 -261 7.5t-208 17.5zM356 123q129 -12 310 -12q244 0 366.5 143t122.5 424q0 123 -25.5 224.5t-84 173 t-152.5 111.5t-231 40q-82 0 -161 -1t-145 -5v-1098z" /> -<glyph unicode="E" horiz-adv-x="1069" d="M203 0v1352h741v-144h-588v-420h451v-143h-451v-502h629v-143h-782z" /> -<glyph unicode="F" horiz-adv-x="983" d="M203 0v1352h731v-144h-578v-420h428v-143h-428v-645h-153z" /> -<glyph unicode="G" horiz-adv-x="1376" d="M117 662q0 145 43 272t128 222t211 150.5t294 55.5q119 0 231.5 -23.5t200.5 -64.5l-43 -148q-66 43 -169.5 72t-232.5 29q-137 0 -231 -40t-152.5 -111.5t-84 -173t-25.5 -224.5q0 -281 122.5 -424t366.5 -143q90 0 169 18t145 47v381h153v-444q-92 -61 -210 -99.5 t-263 -38.5q-168 0 -291 55.5t-203.5 149.5t-119.5 218.5t-39 263.5z" /> -<glyph unicode="H" horiz-adv-x="1441" d="M203 0v1352h153v-584h729v584h154v-1352h-154v625h-729v-625h-153z" /> -<glyph unicode="I" horiz-adv-x="559" d="M203 0v1352h153v-1352h-153z" /> -<glyph unicode="J" horiz-adv-x="557" d="M-29 -207q80 0 127 39t69.5 99.5t29 134t6.5 143.5v1143h153v-1145q0 -109 -21.5 -204t-65.5 -167t-110.5 -113.5t-158.5 -41.5z" /> -<glyph unicode="K" horiz-adv-x="1224" d="M203 0v1352h153v-639q57 39 103.5 77.5t105.5 96.5q100 98 202.5 220t188.5 245h177q-49 -72 -107.5 -147t-120 -147.5t-122 -138t-113.5 -118.5q-23 -23 -42.5 -41.5t-37.5 -34.5l627 -725h-191l-549 627l-121 -92v-535h-153z" /> -<glyph unicode="L" horiz-adv-x="995" d="M203 0v1352h153v-1209h605v-143h-758z" /> -<glyph unicode="M" horiz-adv-x="1726" d="M203 0v1352h207l458 -1159l459 1159h197v-1352h-154v1022l-414 -1022h-184l-416 1024v-1024h-153z" /> -<glyph unicode="N" horiz-adv-x="1441" d="M203 0v1352h186l696 -1108v1108h154v-1352h-186l-697 1106v-1106h-153z" /> -<glyph unicode="O" horiz-adv-x="1548" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q133 0 228 43 t155.5 118.5t89.5 177t29 218.5q0 125 -30 227t-90.5 176t-154.5 115t-223 41q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221z" /> -<glyph unicode="P" horiz-adv-x="1083" d="M203 0v1352h8q66 4 145.5 7t151.5 3q111 0 201 -27.5t154.5 -83t100 -136.5t35.5 -187q0 -86 -28.5 -162t-86 -133.5t-146.5 -91t-208 -33.5q-98 0 -174 6v-514h-153zM356 649q74 -6 168 -6q152 0 228.5 77t76.5 224q0 63 -16 115.5t-52 89.5t-95.5 57.5t-145.5 20.5 q-43 0 -85 -1t-79 -3v-574z" /> -<glyph unicode="Q" horiz-adv-x="1554" d="M119 659q0 145 44 273.5t128 223.5t207 150.5t280 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -131 -40 -254t-119 -218.5t-197.5 -155.5t-276.5 -69q72 -8 140.5 -33.5t138 -52t141 -48t149.5 -21.5q82 0 174 39l-39 -131q-39 -20 -77.5 -26.5t-73.5 -6.5 q-86 0 -168 28.5t-159 62.5t-149.5 62.5t-140.5 28.5q-49 0 -118.5 -18.5t-133.5 -65.5l-28 96q53 41 116.5 61.5t122.5 24.5q-147 10 -255.5 69.5t-181.5 152t-108.5 211t-35.5 249.5zM289 674q0 -279 124 -421t359 -142q131 0 226.5 43t154.5 118.5t88 179t29 222.5 q0 123 -30 224t-91.5 174t-155.5 114t-225 41q-129 0 -220 -40t-148.5 -114t-84 -175t-26.5 -224z" /> -<glyph unicode="R" horiz-adv-x="1218" d="M203 0v1352q72 4 152.5 7t152.5 3q111 0 201 -25.5t154.5 -75t100 -122t35.5 -166.5q0 -131 -73.5 -233.5t-227.5 -143.5l519 -596h-191l-506 578q-90 0 -164 6v-584h-153zM356 717q37 -4 79 -4h89q152 0 228.5 70.5t76.5 205.5q0 106 -68.5 172t-240.5 66q-43 0 -85 -1 t-79 -3v-506z" /> -<glyph unicode="S" horiz-adv-x="1128" d="M100 88l43 150q39 -27 78 -50.5t85 -40t101.5 -26.5t127.5 -10q92 0 157.5 16t106.5 46t59.5 71t18.5 88q0 70 -33 118t-85 82.5t-114.5 58t-124.5 44.5q-88 29 -159.5 61.5t-122 77.5t-78 104.5t-27.5 141.5q0 92 34 156.5t92 105.5t138 60.5t172 19.5 q111 0 213.5 -22.5t173.5 -55.5l-43 -158q-33 29 -76.5 48.5t-92 31t-95.5 16.5t-88 5q-129 0 -203.5 -48.5t-74.5 -152.5q0 -51 19.5 -85t61.5 -60.5t106.5 -50t154.5 -54.5q76 -25 149.5 -56.5t132 -77.5t93 -114.5t34.5 -167.5q0 -104 -41 -177.5t-108.5 -120t-155.5 -67 t-182 -20.5q-133 0 -248 33t-199 80z" /> -<glyph unicode="T" horiz-adv-x="1091" d="M37 1208v144h1018v-144h-432v-1208h-154v1208h-432z" /> -<glyph unicode="U" horiz-adv-x="1409" d="M188 455v897h154v-828q0 -221 97.5 -317t269.5 -96t270 96t98 317v828h144v-897q0 -100 -31 -187.5t-94.5 -152t-159.5 -101.5t-227 -37q-143 0 -242.5 37t-161 101.5t-89.5 152t-28 187.5z" /> -<glyph unicode="V" horiz-adv-x="1318" d="M-14 1352h174l514 -1180l469 1180h164l-537 -1352h-195z" /> -<glyph unicode="W" horiz-adv-x="2213" d="M-2 1352h174l455 -1157l395 1157h174l420 -1153l412 1153h163l-481 -1352h-194l-410 1118l-381 -1118h-195z" /> -<glyph unicode="X" horiz-adv-x="1323" d="M31 0l536 698l-506 654h183l422 -547l421 547h177l-510 -662l536 -690h-182l-453 584l-448 -584h-176z" /> -<glyph unicode="Y" horiz-adv-x="1159" d="M-23 1352h183l428 -650l413 650h179l-523 -797v-555h-153v547z" /> -<glyph unicode="Z" horiz-adv-x="1134" d="M88 0v143l754 1065h-723v144h897v-144l-754 -1065h785v-143h-959z" /> -<glyph unicode="[" horiz-adv-x="585" d="M184 -195v1729h328v-86h-195v-1557h195v-86h-328z" /> -<glyph unicode="\" horiz-adv-x="864" d="M72 1438h149l570 -1555h-150z" /> -<glyph unicode="]" horiz-adv-x="585" d="M74 -109h194v1557h-194v86h327v-1729h-327v86z" /> -<glyph unicode="^" horiz-adv-x="712" d="M117 1161l6 15l225 202h17l225 -202l6 -15l-12 -39l-15 -6l-213 125l-213 -125l-14 6z" /> -<glyph unicode="_" horiz-adv-x="1001" d="M57 0h887v-106h-887v106z" /> -<glyph unicode="`" horiz-adv-x="448" d="M0 1321q0 29 18.5 49.5t53.5 22.5l370 -207l7 -15l-13 -41l-16 -6l-412 158q-8 19 -8 39z" /> -<glyph unicode="a" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126z" /> -<glyph unicode="b" horiz-adv-x="1177" d="M160 0v1516h143v-750q27 88 117 147.5t223 59.5q109 0 190.5 -41t136 -109.5t82 -161t27.5 -192.5q0 -98 -25.5 -187t-76.5 -157t-129 -109t-182 -41q-131 0 -225.5 58.5t-143.5 134.5h-8l-17 -168h-112zM303 303q59 -98 153.5 -152.5t192.5 -54.5q78 0 131.5 33t86 85 t47 117.5t14.5 131.5q0 86 -21.5 157.5t-60.5 123t-96.5 80t-126.5 28.5q-109 0 -196 -65.5t-124 -182.5v-301z" /> -<glyph unicode="c" horiz-adv-x="1024" d="M98 479q0 98 28 187.5t87 158t151.5 108.5t221.5 40q98 0 192 -22.5t152 -59.5l-35 -121q-47 35 -135 62.5t-176 27.5q-90 0 -152.5 -30.5t-103.5 -82t-59.5 -118t-18.5 -137.5q0 -80 22.5 -154t66.5 -129t108.5 -88t150.5 -33q82 0 169 35t144 88l29 -133 q-57 -37 -156.5 -70t-212.5 -33q-119 0 -208 41t-147 110t-88 160t-30 193z" /> -<glyph unicode="d" horiz-adv-x="1177" d="M98 469q0 100 28 192.5t82 161t136 109.5t191 41q137 0 225 -59.5t114 -147.5v750h144v-1516h-113l-16 168h-8q-49 -76 -143.5 -134.5t-225.5 -58.5q-104 0 -182 41t-129 109t-77 157t-26 187zM250 463q0 -66 14.5 -131.5t47 -117.5t86 -85t130.5 -33q98 0 193.5 53.5 t152.5 153.5v301q-37 117 -123.5 182.5t-195.5 65.5q-72 0 -128 -28.5t-95 -80t-60.5 -123t-21.5 -157.5z" /> -<glyph unicode="e" horiz-adv-x="1058" d="M96 471q0 100 32 191.5t93.5 161t152.5 109.5t208 40q180 0 278 -91t98 -257q0 -35 -4 -71t-14 -52h-690v-21q0 -78 20.5 -149.5t61.5 -126.5t103.5 -88t148.5 -33q49 0 96 11t90 28.5t80 38t65 41.5l25 -117q-27 -16 -65.5 -35.5t-86 -36t-103.5 -28t-118 -11.5 q-115 0 -203 40t-147 109t-90 159t-31 188zM264 610h559q2 10 2 19v18q0 51 -20.5 91t-55 66.5t-79.5 40t-95 13.5q-135 0 -209.5 -71t-101.5 -177z" /> -<glyph unicode="f" horiz-adv-x="610" d="M51 846v76l158 18q0 115 7 197t19.5 138t28 92t29.5 58q39 57 96 79t119 22q8 0 28.5 -1t46 -4t52.5 -10.5t51 -19.5l-35 -121q-6 0 -28.5 7t-50 16.5t-59.5 17.5t-56 8q-31 0 -51.5 -17.5t-32 -57t-16.5 -105t-5 -162.5v-135h221v-96h-221v-846h-143v846h-158z" /> -<glyph unicode="g" horiz-adv-x="1040" d="M66 -236q0 41 16 81t43 75t62.5 61.5t74.5 41.5v8q-84 39 -84 106q0 43 32 78t79 68v8q-98 39 -141.5 124t-43.5 183q0 80 27 147.5t77 118.5t120.5 80t160.5 29q53 0 105.5 -10.5t91.5 -30.5q86 2 161 10t140 27l10 -8l-14 -113l-10 -10l-187 8l-2 -6q53 -43 78 -113 t25 -135q0 -68 -25.5 -129.5t-75 -107.5t-122 -73.5t-166.5 -27.5q-23 0 -39.5 1t-30.5 1q-43 -14 -64.5 -38.5t-21.5 -41.5q0 -20 27.5 -35.5t89.5 -21.5l198 -21q68 -6 126.5 -27.5t101.5 -55t68.5 -82t25.5 -109.5q0 -59 -26.5 -121.5t-80.5 -108.5q-53 -45 -147 -73.5 t-217 -28.5q-104 0 -187 21.5t-139.5 59.5t-86 87t-29.5 104zM211 -211q0 -78 83 -124t224 -46q68 0 126 11.5t100 35t67 57t25 80.5q0 92 -99.5 132t-304.5 55q-47 0 -87 -18.5t-69.5 -47t-47 -64.5t-17.5 -71zM250 610q0 -47 15.5 -92t47 -81t77.5 -58.5t108 -22.5 q57 0 101 19.5t75 51.5t47 75t16 90t-16 96t-48 89t-79 64.5t-109 24.5q-59 0 -103 -23.5t-73.5 -60.5t-44 -82t-14.5 -90z" /> -<glyph unicode="h" horiz-adv-x="1116" d="M160 0v1516h143v-750q27 86 116 146.5t226 60.5q66 0 124 -17.5t101 -56.5t69 -102.5t26 -155.5v-641h-144v623q0 125 -55 177t-141 52q-51 0 -101.5 -16.5t-93.5 -48t-75.5 -77.5t-51.5 -106v-604h-143z" /> -<glyph unicode="i" horiz-adv-x="462" d="M129 1286q0 41 29.5 74t72.5 33q41 0 74 -33t33 -74q0 -43 -33 -72.5t-74 -29.5q-43 0 -72.5 29.5t-29.5 72.5zM160 0v942h143v-942h-143z" /> -<glyph unicode="j" horiz-adv-x="462" d="M-88 -403q12 -6 45 -7q70 0 111 40t61.5 99.5t25.5 131t5 135.5v946h143v-948q0 -104 -19.5 -199.5t-58.5 -167t-98 -113.5t-137 -42q-33 0 -45 6zM129 1286q0 41 29.5 74t72.5 33q41 0 74 -33t33 -74q0 -43 -33 -72.5t-74 -29.5q-43 0 -72.5 29.5t-29.5 72.5z" /> -<glyph unicode="k" horiz-adv-x="970" d="M160 0v1516h143v-971l414 397h164l-336 -332l401 -610h-164l-338 512l-141 -141v-371h-143z" /> -<glyph unicode="l" horiz-adv-x="487" d="M172 0v1516h143v-1516h-143z" /> -<glyph unicode="m" horiz-adv-x="1759" d="M160 0v942h112l17 -176h8q27 86 112 146.5t220 60.5q123 0 206 -54.5t105 -152.5q20 41 51 78t74 65.5t98.5 46t124.5 17.5q63 0 121.5 -17.5t102.5 -56.5t71 -102.5t27 -155.5v-641h-144v623q0 125 -57 177t-143 52q-104 0 -188.5 -64.5t-121.5 -183.5v-604h-143v623 q0 125 -57.5 177t-143.5 52q-104 0 -188 -64.5t-121 -183.5v-604h-143z" /> -<glyph unicode="n" horiz-adv-x="1116" d="M160 0v942h112l17 -176h8q27 86 119 146.5t229 60.5q66 0 124 -17.5t101 -56.5t69 -102.5t26 -155.5v-641h-144v623q0 123 -55 176t-141 53q-51 0 -101.5 -16.5t-93.5 -48t-75.5 -77.5t-51.5 -106v-604h-143z" /> -<glyph unicode="o" horiz-adv-x="1148" d="M98 475q0 100 29 190.5t87 159t148.5 108.5t210.5 40q125 0 215.5 -42t148.5 -112.5t86 -162t28 -191.5t-28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM250 481q0 -78 19.5 -149.5t59.5 -126.5t102.5 -88t148.5 -33 q82 0 142 30.5t100 83t58.5 121t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5z" /> -<glyph unicode="p" horiz-adv-x="1177" d="M160 -532v1474h112l17 -176h8q25 37 60.5 75t82.5 66.5t103.5 47t122.5 18.5q104 0 182 -41t129 -108.5t76.5 -156.5t25.5 -188q0 -102 -27.5 -193t-82 -160t-136 -110t-190.5 -41q-137 0 -225 59.5t-115 147.5v-714h-143zM303 344q18 -59 53 -104t81 -78t98.5 -49.5 t105.5 -16.5q72 0 125 29t89 80t54.5 118.5t18.5 145.5q0 74 -17.5 143.5t-54.5 122.5t-93 85t-134 32q-98 0 -183.5 -53.5t-142.5 -153.5v-301z" /> -<glyph unicode="q" horiz-adv-x="1177" d="M98 477q0 98 26 188.5t77 158t126.5 108.5t178.5 41q68 0 126 -18.5t104 -47t83 -65.5t62 -76h8l16 176h113v-1474h-144v714q-27 -88 -114.5 -147.5t-224.5 -59.5q-109 0 -191 41t-136 110t-82 160t-28 191zM250 469q0 -78 18.5 -145.5t54 -118.5t89 -80t125.5 -29 q53 0 105 16.5t98 49.5t81 78t53 104v301q-57 100 -142 153.5t-183 53.5q-78 0 -134.5 -32t-93 -85t-54 -122.5t-17.5 -143.5z" /> -<glyph unicode="r" horiz-adv-x="731" d="M160 0v942h112l17 -207h8q14 47 37.5 90t57.5 76t77 52.5t98 19.5q39 0 82 -13.5t62 -33.5l-43 -135q-33 18 -66 29t-63 11q-41 0 -78 -22.5t-68 -61t-54.5 -90t-35.5 -106.5v-551h-143z" /> -<glyph unicode="s" horiz-adv-x="903" d="M96 78l37 133q74 -68 164 -98.5t162 -30.5q102 0 155.5 50t53.5 106q0 18 -2 41.5t-16.5 48t-43 46t-82.5 34.5l-196 49q-68 16 -111 42.5t-67.5 58.5t-35 68t-10.5 72q0 125 93.5 200t248.5 75q80 0 172.5 -21.5t155.5 -62.5l-39 -123q-41 35 -122 63.5t-177 28.5 q-98 0 -142 -36t-44 -97q0 -20 6 -43t23.5 -42t47 -36.5t79.5 -28.5l145 -32q86 -18 138 -50t81 -69t38 -75t9 -70q0 -63 -25.5 -119t-73.5 -96.5t-118 -64.5t-156 -24q-109 0 -201 32t-147 71z" /> -<glyph unicode="t" horiz-adv-x="641" d="M45 846v76l162 20l31 285h108v-285h221v-96h-221v-653q0 -66 19.5 -86.5t60.5 -20.5q47 0 84 14.5t65 34.5l29 -108q-35 -16 -91 -33t-124 -17q-66 0 -102.5 18.5t-55 49.5t-23.5 69t-5 74v658h-158z" /> -<glyph unicode="u" horiz-adv-x="1114" d="M150 301v641h143v-623q0 -63 15.5 -106t41 -68.5t61 -37t78.5 -11.5q51 0 101.5 15.5t93.5 46t76 76t51 104.5v604h143v-942h-112l-17 176h-8q-27 -86 -119 -143.5t-229 -57.5q-66 0 -124 16.5t-101 54.5t-68.5 100.5t-25.5 154.5z" /> -<glyph unicode="v" horiz-adv-x="1067" d="M14 942h156l367 -807l366 807h150l-428 -942h-183z" /> -<glyph unicode="w" horiz-adv-x="1683" d="M33 942h151l295 -803l295 803h152l276 -803l314 803h145l-367 -942h-194l-256 737l-271 -737h-194z" /> -<glyph unicode="x" horiz-adv-x="1058" d="M37 0l405 481l-385 461h174l299 -358l297 358h174l-387 -457l408 -485h-174l-322 383l-315 -383h-174z" /> -<glyph unicode="y" horiz-adv-x="1062" d="M-4 942h170l375 -784l336 784h161l-432 -950q-31 -66 -74 -155t-102 -169t-139 -136t-180 -56q-16 0 -24.5 1t-18.5 5l-27 135q6 -2 14 -4t29 -2q41 0 77 8t70 33q72 51 130.5 149.5t105.5 229.5z" /> -<glyph unicode="z" horiz-adv-x="854" d="M86 0v123l498 698h-478v121h644v-119l-502 -702h522v-121h-684z" /> -<glyph unicode="{" horiz-adv-x="583" d="M74 639v61q55 2 84.5 31t44 70t16.5 86t2 82q0 31 -1 72.5t-1 84.5t-1 80t-1 60q0 63 10.5 117.5t39 92t82.5 59t143 21.5l4 -43q-45 -4 -72 -22t-40 -46t-17.5 -65t-4.5 -75q0 -18 1.5 -57.5t1.5 -82.5t1 -85t1 -68q0 -63 -9.5 -119.5t-31 -102t-58.5 -77t-94 -43.5 q57 -12 94 -44t58.5 -77t31 -101.5t9.5 -119.5q0 -27 -1 -69t-1 -85t-1.5 -82t-1.5 -57q0 -41 4.5 -77t17.5 -63.5t40 -46t72 -22.5l-4 -43q-88 0 -142.5 21.5t-83 59.5t-39 91t-10.5 119q0 23 1 61.5t1 82.5t1 87t1 72q0 37 -3 82t-16.5 84t-43 66.5t-84.5 29.5z" /> -<glyph unicode="|" horiz-adv-x="491" d="M182 -233v1806h127v-1806h-127z" /> -<glyph unicode="}" horiz-adv-x="583" d="M88 -174q45 4 71.5 22.5t40 46t17.5 63.5t4 77q0 18 -1 57t-1 82t-1 85t-1 69q0 63 9.5 119.5t31 101.5t58 76.5t94.5 44.5q-57 12 -94 43.5t-58.5 77t-31 101.5t-9.5 120q0 27 1 68.5t1 84.5t1 82t1 58q0 39 -4 75.5t-17.5 64.5t-40 46t-71.5 22l4 43q88 0 142.5 -21.5 t83 -59t39 -92t10.5 -117.5q0 -23 -1 -60t-1 -80t-1.5 -85t-1.5 -72q0 -37 2.5 -82t16.5 -86t44 -70t85 -31v-61q-55 -2 -85 -29.5t-43 -66.5t-16.5 -84t-3.5 -82q0 -29 1.5 -72t1.5 -87t1 -83t1 -61q0 -66 -10.5 -119t-39 -91t-83 -59.5t-142.5 -21.5z" /> -<glyph unicode="~" horiz-adv-x="1015" d="M154 414q0 14 12 40.5t36.5 53.5t59.5 45t78 18q27 0 71 -3t94 -6t103.5 -6t98.5 -3q35 0 70.5 8t62.5 45l24 -16q0 -6 -10 -32t-31.5 -53.5t-55.5 -50t-83 -22.5q-23 0 -74 3t-111.5 6t-116.5 6.5t-89 3.5q-51 0 -71.5 -13.5t-41.5 -38.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="491" d="M147 -446l50 1089h96l53 -1089h-199zM152 879q0 39 27.5 66.5t68.5 27.5q37 0 66.5 -27.5t29.5 -66.5t-29.5 -69t-66.5 -30q-41 0 -68.5 30t-27.5 69z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1036" d="M96 449q0 86 24.5 165.5t77 142t134.5 102.5t194 50v273h123v-275q82 -6 157 -26.5t122 -51.5l-35 -120q-39 29 -105.5 51t-138.5 33v-703q72 10 142.5 42t117.5 79l29 -133q-47 -31 -123 -59.5t-166 -38.5v-261h-123v258q-109 8 -189.5 48.5t-133.5 105t-80 146.5 t-27 172zM248 461q0 -68 17.5 -129.5t53 -110.5t88 -82t119.5 -45v701q-74 -10 -127 -40t-86.5 -75t-49 -101.5t-15.5 -117.5z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1161" d="M70 33q80 35 135 86t89 113.5t49 134t15 145.5v31h-200v106h192q-10 94 -24.5 184.5t-14.5 161.5q0 100 35 170t91.5 114t126 63.5t136.5 19.5q94 0 180.5 -29.5t139.5 -70.5l-37 -136q-41 41 -119 71t-159 30q-61 0 -101.5 -17.5t-64 -48.5t-33.5 -72.5t-10 -89.5 q0 -70 13 -158.5t19 -191.5h285v-106h-281q-4 -104 -43.5 -220t-121.5 -212l4 -7q63 -4 127.5 -17t130 -28.5t131 -28t133.5 -12.5q51 0 93 9.5t89 29.5l-39 -149q-51 -27 -86 -34t-80 -7q-74 0 -145.5 21.5t-142 46t-143 46t-152.5 21.5q-20 0 -75.5 -9t-113.5 -56z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1189" d="M113 883l61 61l164 -162q66 47 125 68.5t129 21.5q72 0 132 -21.5t120 -68.5l166 160l61 -59l-162 -164q47 -63 68.5 -122.5t21.5 -129.5q0 -68 -20.5 -127t-67.5 -121l164 -164l-63 -61l-166 162q-59 -45 -120.5 -69t-129.5 -24q-66 0 -126 23t-128 70l-164 -162l-59 61 l160 164q-90 111 -91 252q0 66 20.5 125t72.5 123zM291 469q0 -63 23.5 -118.5t65.5 -97.5t97 -65.5t119 -23.5q63 0 117.5 23.5t95.5 65.5t64.5 97.5t23.5 118.5t-23.5 118.5t-64.5 96.5t-96.5 65.5t-118.5 24.5q-61 0 -116.5 -23.5t-97.5 -64.5t-65.5 -97.5t-23.5 -119.5z " /> -<glyph unicode="&#xa5;" horiz-adv-x="1329" d="M63 1352h183l428 -650l413 650h179l-404 -615h234v-106h-303l-50 -76v-33h353v-106h-353v-416h-153v416h-352v106h352v25l-55 84h-297v106h227z" /> -<glyph unicode="&#xa6;" horiz-adv-x="499" d="M186 -233v794h127v-794h-127zM186 778v795h127v-795h-127z" /> -<glyph unicode="&#xa7;" horiz-adv-x="901" d="M94 762q0 78 36 148.5t95 115.5q-25 55 -24 127q0 76 27.5 132t71.5 93t97.5 55.5t104.5 18.5q59 0 124.5 -22.5t110.5 -55.5l-51 -137q-37 41 -89 63.5t-103 22.5q-61 0 -109.5 -38t-48.5 -109q0 -59 35 -106.5t87 -90.5t113.5 -86t113.5 -91t87 -106.5t35 -134.5 q0 -78 -36 -149.5t-95 -114.5q10 -29 17 -60.5t7 -66.5q0 -76 -27.5 -132t-71.5 -93t-97 -55.5t-105 -18.5q-59 0 -124.5 22.5t-110.5 55.5l51 137q37 -41 89 -63.5t104 -22.5q61 0 109 38t48 109q0 59 -34.5 106.5t-87 90.5t-114 86t-113.5 91t-87 106.5t-35 134.5z M221 811q0 -68 44 -119t107.5 -98t133 -98.5t121.5 -116.5q29 27 41 62.5t12 70.5q0 66 -45 117t-108.5 99t-133 98.5t-119.5 115.5q-29 -27 -41 -62.5t-12 -68.5z" /> -<glyph unicode="&#xa8;" horiz-adv-x="450" d="M0 1292q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM281 1292q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -26 -64.5t-60 -25.5q-35 0 -59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1484" d="M121 725q0 127 48 238.5t133 195.5t197.5 132t241.5 48t243 -48t198 -132t133 -195.5t49 -238.5q0 -129 -49 -242.5t-134 -196.5t-201 -131.5t-249 -48.5q-125 0 -236.5 49.5t-194.5 133.5t-131 196.5t-48 239.5zM217 725q0 -113 40 -210t110.5 -170t164 -114t201.5 -41 q115 0 212 41t169 113t113 169t41 212q0 111 -41 207t-112 169t-167 113.5t-207 40.5t-207 -40.5t-166.5 -113.5t-110.5 -169t-40 -207zM408 729q0 70 18 131.5t58 107.5t103.5 72.5t153.5 26.5q68 0 134.5 -15.5t107.5 -41.5l-25 -105q-33 25 -95 43.5t-122 18.5 q-57 0 -97 -18.5t-64.5 -49.5t-36 -73t-11.5 -89q0 -104 54.5 -178t163.5 -74q59 0 119.5 23.5t101.5 62.5l18 -114q-41 -27 -110.5 -49.5t-147.5 -22.5q-84 0 -144.5 27.5t-100.5 73.5t-59 108.5t-19 134.5z" /> -<glyph unicode="&#xaa;" horiz-adv-x="763" d="M123 905q0 70 36 113t87 64.5t108.5 28.5t100.5 7h55v15q0 70 -43 103.5t-115 33.5q-53 0 -92 -13.5t-76 -35.5l-20 73q41 25 90 39.5t106 14.5q47 0 92.5 -11.5t80 -36t56 -63.5t21.5 -94v-387h-82l-10 100h-8q-29 -47 -91.5 -82t-133.5 -35q-80 0 -121 47t-41 119z M221 911q0 -47 22.5 -67.5t67.5 -20.5q49 0 106.5 34t92.5 93v99h-10q-49 0 -99.5 -4.5t-90.5 -17.5t-64.5 -41t-24.5 -75z" /> -<glyph unicode="&#xab;" horiz-adv-x="991" d="M106 487v11l275 362h162l-295 -362v-11l295 -362h-164zM438 487v11l275 362h161l-294 -362v-11l294 -362h-163z" /> -<glyph unicode="&#xac;" horiz-adv-x="1294" d="M156 592v106h983v-458h-109v352h-874z" /> -<glyph unicode="&#xad;" horiz-adv-x="997" d="M152 436l4 107h688l-4 -107h-688z" /> -<glyph unicode="&#xae;" horiz-adv-x="1484" d="M121 725q0 127 48 238.5t133 195.5t197.5 132t241.5 48t243 -48t198 -132t133 -195.5t49 -238.5q0 -129 -49 -242.5t-134 -196.5t-201 -131.5t-249 -48.5q-125 0 -236.5 49.5t-194.5 133.5t-131 196.5t-48 239.5zM217 725q0 -113 40 -210t110.5 -170t164 -114t201.5 -41 q115 0 212 41t169 113t113 169t41 212q0 111 -41 207t-112 169t-167 113.5t-207 40.5t-207 -40.5t-166.5 -113.5t-110.5 -169t-40 -207zM537 412v673q35 2 86 3.5t88 1.5q55 0 102 -9.5t81 -31t52.5 -58.5t18.5 -92q0 -63 -43 -113.5t-119 -70.5l207 -303h-113l-203 297h-59 v-297h-98zM635 782q18 -2 39 -2h43q68 0 106.5 33t38.5 94q0 47 -33.5 76t-113.5 29q-23 0 -42.5 -1t-37.5 -1v-228z" /> -<glyph unicode="&#xb0;" horiz-adv-x="733" d="M117 1112q0 49 16.5 91t48 75t77.5 51.5t106 18.5q125 0 188 -72t63 -170q0 -45 -15 -86t-46 -73t-79 -50t-111 -18q-66 0 -113 19.5t-77 52t-44 74.5t-14 87zM213 1114q0 -66 38 -112t114 -46q78 0 113.5 42t35.5 108t-37 112t-115 46q-80 0 -114.5 -44.5t-34.5 -105.5z " /> -<glyph unicode="&#xb1;" horiz-adv-x="989" d="M168 143v109h653v-109h-653zM168 610v109h272v213h107v-213h274v-109h-274v-235h-107v235h-272z" /> -<glyph unicode="&#xb2;" horiz-adv-x="768" d="M133 612v86q49 61 112.5 117.5t120 113t96.5 114t40 118.5q0 18 -5 39t-18.5 38t-36 29.5t-59.5 12.5q-53 0 -107.5 -31.5t-89.5 -77.5l-22 91q47 43 104.5 71.5t116.5 28.5q109 0 166 -55.5t57 -143.5q0 -68 -31.5 -126t-82 -113.5t-113 -109.5t-123.5 -116h358v-86 h-483z" /> -<glyph unicode="&#xb3;" horiz-adv-x="731" d="M115 680l24 82q43 -35 80 -56.5t98 -21.5q100 0 145.5 45t45.5 123q0 61 -40 97t-153 36h-24v70h31q76 0 111.5 32.5t35.5 92.5q0 45 -22.5 72.5t-96.5 27.5q-55 0 -94 -17.5t-70 -41.5l-22 79q41 27 85 44.5t93 17.5q111 0 170 -49t59 -144q0 -45 -34.5 -82.5 t-81.5 -60.5q72 -23 113.5 -67t41.5 -117q0 -47 -16 -90t-52 -77t-90.5 -53.5t-129.5 -19.5q-72 0 -116 20.5t-91 57.5z" /> -<glyph unicode="&#xb4;" horiz-adv-x="448" d="M0 1171l6 15l369 207q35 -2 54.5 -22.5t19.5 -49.5q0 -20 -9 -39l-413 -158l-15 6z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1181" d="M82 -227q37 70 65.5 132t48 125.5t31 129t11.5 141.5v641h143v-623q0 -63 15.5 -106t41 -68.5t61.5 -37t79 -11.5q51 0 101 15.5t93 46t76 76t51 104.5v604h143v-942h-112l-17 176h-8q-27 -86 -119 -143.5t-229 -57.5q-66 0 -125 16.5t-102 55.5l-6 -27 q-35 -152 -111 -307z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1091" d="M72 928q0 106 34.5 187t99 136.5t156 83t201.5 27.5q72 0 155 -3t171 -7v-1528h-92v1403h-111v-1403h-102v684h-43q-121 0 -209 33.5t-145.5 91t-86 133.5t-28.5 162z" /> -<glyph unicode="&#xb7;" horiz-adv-x="495" d="M152 498q0 39 27.5 68.5t68.5 29.5q37 0 66.5 -29.5t29.5 -68.5t-29.5 -67t-66.5 -28q-41 0 -68.5 28t-27.5 67z" /> -<glyph unicode="&#xb8;" horiz-adv-x="413" d="M0 -365l27 48h14q25 -10 63.5 -17.5t77.5 -7.5q45 0 78 17.5t33 64.5q0 55 -32 74.5t-75 19.5q-25 0 -50 -4t-48 -10l-18 22l104 158h70l-62 -104q35 8 70 8q72 0 117 -42t45 -106q0 -35 -17.5 -65.5t-47.5 -54t-70.5 -38t-90.5 -14.5q-49 0 -97 11.5t-89 27.5z" /> -<glyph unicode="&#xb9;" horiz-adv-x="507" d="M88 1227l254 135v-750h-111v586l-116 -57z" /> -<glyph unicode="&#xba;" horiz-adv-x="798" d="M115 1051q0 61 19.5 114.5t56 94t89 64.5t117.5 24q70 0 123 -25t90 -67t55.5 -97t18.5 -115q0 -55 -17.5 -107t-53 -92t-89 -64.5t-125.5 -24.5q-74 0 -127 24.5t-87.5 66.5t-52 95.5t-17.5 108.5zM219 1053q0 -90 44 -151.5t136 -61.5q96 0 137.5 57t41.5 147 q0 88 -44.5 150.5t-140.5 62.5t-135 -58t-39 -146z" /> -<glyph unicode="&#xbb;" horiz-adv-x="991" d="M117 125l295 362v11l-295 362h162l274 -362v-11l-272 -362h-164zM449 125l294 362v11l-294 362h161l275 -362v-11l-273 -362h-163z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1456" d="M72 1227l254 135v-750h-111v586l-117 -57zM162 -49l948 1464h133l-948 -1464h-133zM895 225v86l301 437h98v-437h74v-86h-74v-227h-92v227h-307zM999 311h203v316z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1464" d="M76 1227l254 135v-750h-111v586l-117 -57zM125 -49l948 1464h133l-948 -1464h-133zM889 -4v86q49 61 112.5 117.5t120 113t96 113.5t39.5 119q0 18 -5 38.5t-18 38t-35.5 30t-59.5 12.5q-53 0 -107.5 -32t-89.5 -77l-22 90q47 43 104 71.5t117 28.5q109 0 166 -55 t57 -143q0 -68 -32 -126.5t-82 -113.5t-112.5 -109.5t-123.5 -115.5h358v-86h-483z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1536" d="M76 678l24 82q43 -35 80 -56.5t99 -21.5q100 0 145 45t45 123q0 61 -40 97t-153 36h-24v70h31q76 0 111.5 32.5t35.5 92.5q0 45 -22.5 72.5t-96.5 27.5q-55 0 -94 -17.5t-70 -41.5l-22 79q41 27 85 44.5t93 17.5q111 0 170 -49t59 -144q0 -45 -34.5 -82.5t-81.5 -60.5 q72 -23 113.5 -67t41.5 -117q0 -47 -16 -90t-52 -77t-90.5 -53.5t-129.5 -19.5q-72 0 -116 20.5t-91 57.5zM270 -49l949 1464h133l-949 -1464h-133zM975 225v86l301 437h98v-437h74v-86h-74v-227h-92v227h-307zM1079 311h203v316z" /> -<glyph unicode="&#xbf;" horiz-adv-x="823" d="M94 -123q0 61 21.5 115.5t55.5 109t72 109.5t71.5 119.5t56 140.5t22.5 170h131q0 -102 -20.5 -182t-52 -144.5t-68.5 -118t-68.5 -103.5t-52 -103t-20.5 -115q0 -82 52 -139.5t159 -57.5q33 0 69.5 8.5t71.5 21.5t64.5 31.5t52.5 41.5l37 -135q-55 -43 -137.5 -72 t-159.5 -29q-82 0 -148.5 24.5t-113 68t-71 104.5t-24.5 135zM356 877q0 39 30 67.5t69 28.5t66.5 -29t27.5 -67q0 -41 -27.5 -69t-66.5 -28t-69 28t-30 69z" /> -<glyph unicode="&#xc0;" d="M10 0l541 1352h186l594 -1352h-174l-199 455h-604l-180 -455h-164zM412 598h483l-254 582zM438 1667q0 29 18.5 48.5t53.5 21.5l371 -205l4 -14l-11 -41l-16 -7l-412 158q-8 19 -8 39z" /> -<glyph unicode="&#xc1;" d="M10 0l541 1352h186l594 -1352h-174l-199 455h-604l-180 -455h-164zM412 598h483l-254 582zM438 1518l6 14l369 205q35 -2 53.5 -21.5t18.5 -48.5q0 -10 -1 -19.5t-5 -19.5l-414 -158l-14 7z" /> -<glyph unicode="&#xc2;" d="M10 0l541 1352h186l594 -1352h-174l-199 455h-604l-180 -455h-164zM412 598h483l-254 582zM428 1507l6 15l225 202h17l225 -202l6 -15l-12 -41l-14 -6l-213 127l-213 -127l-15 6z" /> -<glyph unicode="&#xc3;" d="M10 0l541 1352h186l594 -1352h-174l-199 455h-604l-180 -455h-164zM344 1540q8 27 22.5 55.5t36 50t53 36t74.5 14.5q51 0 89 -4t71 -10.5t63.5 -10.5t69.5 -4q35 0 70 8t63 45l25 -16q-6 -29 -19.5 -56.5t-35 -50t-52 -37t-73.5 -14.5q-82 0 -167 14.5t-151 14.5 q-51 0 -71.5 -13.5t-40.5 -37.5zM412 598h483l-254 582z" /> -<glyph unicode="&#xc4;" d="M10 0l541 1352h186l594 -1352h-174l-199 455h-604l-180 -455h-164zM412 598h483l-254 582zM418 1626q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM739 1626q0 37 24.5 64.5t59.5 27.5q33 0 58.5 -27.5 t25.5 -64.5q0 -39 -25.5 -64.5t-58.5 -25.5q-35 0 -59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xc5;" d="M10 0l529 1321q-35 18 -54.5 51t-19.5 72q0 63 49 110.5t129 47.5t128 -49.5t48 -112.5q0 -39 -19.5 -70t-49.5 -49l581 -1321h-174l-199 455h-604l-180 -455h-164zM412 598h483l-254 582zM545 1446q0 -41 29.5 -74t70.5 -33t66.5 31t25.5 70q0 41 -27.5 70.5t-68.5 29.5 q-45 0 -70.5 -26.5t-25.5 -67.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1554" d="M-14 0l721 1352h725v-144h-486v-420h348v-143h-348v-502h527v-143h-680v455h-400l-239 -455h-168zM469 598h324v606z" /> -<glyph unicode="&#xc7;" d="M117 662q0 145 43 272t128 222t211 150.5t294 55.5q111 0 221 -23.5t190 -64.5l-43 -148q-66 43 -162 72t-219 29q-137 0 -231 -40t-152.5 -111.5t-84 -173t-25.5 -224.5q0 -281 122.5 -424t366.5 -143q129 0 237.5 36.5t174.5 90.5l41 -138q-78 -47 -188.5 -83.5 t-247.5 -41.5l-50 -79q18 4 36 6t32 2q72 0 117 -42t45 -106q0 -35 -16.5 -65.5t-46 -54t-70.5 -38t-90 -14.5t-98.5 11.5t-88.5 27.5l-2 12l27 48h14q25 -10 62.5 -17.5t78.5 -7.5q45 0 77 17.5t32 64.5q0 55 -30.5 74.5t-73.5 19.5q-25 0 -51.5 -4t-49.5 -10l-16 22 l88 135q-154 8 -267.5 66.5t-188.5 152t-110.5 213.5t-35.5 253z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1069" d="M203 0v1352h741v-144h-588v-420h451v-143h-451v-502h629v-143h-782zM344 1667q0 29 18.5 48.5t53.5 21.5l370 -205l7 -14l-13 -41l-16 -7l-412 158q-8 19 -8 39z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1069" d="M203 0v1352h741v-144h-588v-420h451v-143h-451v-502h629v-143h-782zM365 1518l6 14l370 205q35 -2 53.5 -21.5t18.5 -48.5q0 -20 -8 -39l-414 -158l-14 7z" /> -<glyph unicode="&#xca;" horiz-adv-x="1069" d="M203 0v1352h741v-144h-588v-420h451v-143h-451v-502h629v-143h-782zM348 1507l6 15l226 202h16l225 -202l6 -15l-12 -41l-14 -6l-213 127l-213 -127l-15 6z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1069" d="M203 0v1352h741v-144h-588v-420h451v-143h-451v-502h629v-143h-782zM324 1626q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -26 -64.5t-60 -25.5q-35 0 -59.5 25.5t-24.5 64.5zM645 1626q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5 t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xcc;" horiz-adv-x="559" d="M31 1667q0 29 18.5 48.5t52.5 21.5l371 -205l6 -14l-12 -41l-14 -7l-414 158q-8 19 -8 39zM203 0v1352h153v-1352h-153z" /> -<glyph unicode="&#xcd;" horiz-adv-x="559" d="M72 1518l6 14l371 205q35 -2 53 -21.5t18 -48.5q0 -20 -8 -39l-412 -158l-16 7zM203 0v1352h153v-1352h-153z" /> -<glyph unicode="&#xce;" horiz-adv-x="559" d="M37 1507l6 15l225 202h15l227 -202l6 -15l-12 -41l-17 -6l-211 127l-213 -127l-16 6zM203 0v1352h153v-1352h-153z" /> -<glyph unicode="&#xcf;" horiz-adv-x="559" d="M39 1626q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM203 0v1352h153v-1352h-153zM360 1626q0 37 25 64.5t59 27.5q35 0 60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1445" d="M29 668v90h178v594h10q98 4 213 7t223 3q145 0 265 -41t204 -113q109 -98 158 -239.5t49 -306.5q0 -139 -39 -263.5t-119.5 -218.5t-203.5 -149.5t-291 -55.5q-145 0 -261 7.5t-208 17.5v668h-178zM360 123q129 -12 310 -12q244 0 366.5 143t122.5 424q0 123 -25.5 224.5 t-84 173t-152.5 111.5t-231 40q-82 0 -161 -1t-145 -5v-463h359v-90h-359v-545z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1441" d="M203 0v1352h174l708 -1112v1112h154v-1352h-174l-709 1110v-1110h-153zM375 1540q8 27 22.5 55.5t36 50t53 36t74.5 14.5q51 0 89 -4t71 -10.5t63.5 -10.5t69.5 -4q35 0 69.5 8t63.5 45l25 -16q-6 -29 -19.5 -56.5t-35 -50t-52.5 -37t-74 -14.5q-82 0 -166.5 14.5 t-150.5 14.5q-51 0 -71.5 -13.5t-41.5 -37.5z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1548" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q133 0 228 43 t155.5 118.5t89.5 177t29 218.5q0 125 -30 227t-90.5 176t-154.5 115t-223 41q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221zM492 1667q0 29 18 48.5t53 21.5l369 -205l6 -14l-10 -41l-17 -7l-411 158q-8 19 -8 39z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1548" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q133 0 228 43 t155.5 118.5t89.5 177t29 218.5q0 125 -30 227t-90.5 176t-154.5 115t-223 41q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221zM629 1518l6 14l369 205q35 -2 53 -21.5t18 -48.5q0 -18 -6 -39l-414 -158l-16 7z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1548" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q133 0 228 43 t155.5 118.5t89.5 177t29 218.5q0 125 -30 227t-90.5 176t-154.5 115t-223 41q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221zM555 1507l6 15l225 202h17l225 -202l6 -15l-12 -41l-14 -6l-213 127l-213 -127l-15 6z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1548" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q133 0 228 43 t155.5 118.5t89.5 177t29 218.5q0 125 -30 227t-90.5 176t-154.5 115t-223 41q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221zM459 1540q8 27 22.5 55.5t36 50t53 36t74.5 14.5q51 0 89 -4t71 -10.5t63.5 -10.5t69.5 -4q35 0 69.5 8t63.5 45l25 -16q-6 -29 -19.5 -56.5 t-35 -50t-52.5 -37t-74 -14.5q-82 0 -166.5 14.5t-150.5 14.5q-51 0 -71.5 -13.5t-41.5 -37.5z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1548" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q160 0 283 -55.5t207 -150.5t127 -220t43 -262q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q133 0 228 43 t155.5 118.5t89.5 177t29 218.5q0 125 -30 227t-90.5 176t-154.5 115t-223 41q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221zM530 1626q0 37 25 64.5t59 27.5q35 0 60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM852 1626 q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xd7;" horiz-adv-x="937" d="M145 242l246 247l-246 246l76 76l246 -246l250 248l76 -76l-250 -248l250 -249l-76 -76l-250 250l-246 -248z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1548" d="M117 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q115 0 210 -28.5t171 -82.5l133 156l105 -80l-138 -164q88 -96 133.5 -222t45.5 -267q0 -135 -42 -261t-127 -223.5t-211 -156t-294 -58.5q-125 0 -224.5 32t-177.5 91l-143 -170l-98 88l147 174 q-76 94 -112.5 214t-36.5 255zM287 680q0 -229 82 -367l700 832q-117 82 -299 82q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221zM455 209q117 -98 311 -98q133 0 228.5 43t155.5 118.5t89 177t29 218.5q0 238 -105 385z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1409" d="M188 455v897h154v-828q0 -221 97.5 -317t269.5 -96t270 96t98 317v828h144v-897q0 -100 -31 -187.5t-94.5 -152t-159.5 -101.5t-227 -37q-143 0 -242.5 37t-161 101.5t-89.5 152t-28 187.5zM453 1667q0 29 18 48.5t53 21.5l371 -205l4 -14l-10 -41l-17 -7l-411 158 q-8 19 -8 39z" /> -<glyph unicode="&#xda;" horiz-adv-x="1409" d="M188 455v897h154v-828q0 -221 97.5 -317t269.5 -96t270 96t98 317v828h144v-897q0 -100 -31 -187.5t-94.5 -152t-159.5 -101.5t-227 -37q-143 0 -242.5 37t-161 101.5t-89.5 152t-28 187.5zM510 1518l6 14l371 205q35 -2 53 -21.5t18 -48.5q0 -20 -8 -39l-411 -158l-17 7 z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1409" d="M188 455v897h154v-828q0 -221 97.5 -317t269.5 -96t270 96t98 317v828h144v-897q0 -100 -31 -187.5t-94.5 -152t-159.5 -101.5t-227 -37q-143 0 -242.5 37t-161 101.5t-89.5 152t-28 187.5zM459 1507l4 15l227 202h15l227 -202l4 -15l-10 -41l-17 -6l-211 127l-213 -127 l-16 6z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1409" d="M188 455v897h154v-828q0 -221 97.5 -317t269.5 -96t270 96t98 317v828h144v-897q0 -100 -31 -187.5t-94.5 -152t-159.5 -101.5t-227 -37q-143 0 -242.5 37t-161 101.5t-89.5 152t-28 187.5zM483 1626q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5 t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM805 1626q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1159" d="M-23 1352h183l428 -650l413 650h179l-523 -797v-555h-153v547zM440 1518l6 14l369 205q35 -2 53.5 -21.5t18.5 -48.5q0 -18 -6 -39l-414 -158l-16 7z" /> -<glyph unicode="&#xde;" horiz-adv-x="1062" d="M203 0v1352h143v-260q41 2 82 3t68 1q221 0 351 -105.5t130 -304.5q0 -84 -25.5 -156.5t-82 -128t-146.5 -87t-217 -31.5q-29 0 -74 1t-86 5v-289h-143zM346 426q39 -4 83 -6t69 -2q160 0 234.5 68.5t74.5 211.5q0 61 -15.5 109.5t-51 82.5t-94 52.5t-146.5 18.5 q-27 0 -71 -1.5t-83 -3.5v-530z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1114" d="M160 0v995q0 115 23.5 209t71.5 162t118.5 104.5t165.5 36.5q76 0 137 -23.5t104 -61.5t66.5 -88t23.5 -103q0 -70 -32.5 -128.5t-71.5 -110.5t-71.5 -100t-32.5 -93q0 -43 28.5 -75t71.5 -62.5t92 -63.5t92 -77t72 -101.5t29 -136.5q0 -84 -32 -142.5t-78 -95.5 t-100.5 -53.5t-99.5 -16.5q-68 0 -125 28t-94 63l41 145q31 -61 84 -95t109 -34q59 0 101 44t42 134q0 72 -27.5 121t-68.5 85t-88 65.5t-88 63.5t-69 78t-28 111q0 72 30 127.5t65.5 104.5t65.5 98t30 107q0 66 -46 113.5t-141 47.5q-74 0 -118.5 -32.5t-69.5 -86t-32 -124 t-7 -144.5v-995h-143z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM215 1321q0 29 18.5 49.5t53.5 22.5l368 -207l7 -15l-11 -41l-16 -6l-414 158q-6 21 -6 39zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5 t-153 -31t-112 -70.5t-43 -126z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126zM367 1171l6 15l368 207q35 -2 54.5 -22.5t19.5 -49.5 q0 -20 -8 -39l-414 -158l-14 6z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126zM252 1161l6 15l225 202h17l225 -202l6 -15l-12 -39l-14 -6 l-213 125l-211 -125l-17 6z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM182 1194q0 14 12.5 41t37 52.5t59.5 44t78 18.5q53 0 134 -9.5t171 -9.5q35 0 69.5 8.5t63.5 44.5l24 -16q0 -6 -10 -31.5t-31.5 -53.5t-55.5 -50.5t-83 -22.5q-23 0 -64.5 3.5t-89.5 6.5 t-95.5 6t-79.5 3q-51 0 -72 -13.5t-41 -37.5zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126zM266 1282q0 37 24.5 64.5t59.5 27.5q33 0 58.5 -27.5 t25.5 -64.5q0 -39 -25.5 -64.5t-58.5 -25.5q-35 0 -59.5 25.5t-24.5 64.5zM588 1282q0 37 23.5 64.5t58.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-58.5 25.5t-23.5 64.5z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1019" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q59 -37 94 -104.5t35 -167.5v-641h-112l-17 168h-8 q-25 -39 -65.5 -74t-91 -61.5t-108.5 -42t-116 -15.5q-135 0 -202.5 79t-67.5 198zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126zM352 1249q0 57 45 103.5t123 46.5q80 0 125 -48t45 -106 q0 -53 -43 -98t-125 -45q-43 0 -74.5 13t-53 34.5t-32 47t-10.5 52.5zM428 1251q0 -37 26.5 -68.5t67.5 -31.5t65.5 29.5t24.5 64.5q0 37 -25.5 71t-68.5 34t-66.5 -32t-23.5 -67z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1677" d="M82 252q0 117 59.5 186.5t145.5 104.5t181 45t167 10h92v25q0 78 -21.5 118.5t-62.5 69.5q-35 23 -75 32t-105 9q-86 0 -151.5 -22.5t-127.5 -59.5l-32 123q137 80 327 80q76 0 143.5 -13.5t118.5 -46.5q25 -16 49.5 -44.5t34.5 -57.5h9q59 70 155 116t213 46 q180 0 278.5 -91t98.5 -257q0 -35 -4 -71t-14 -52h-691v-37q2 -76 22.5 -145.5t62.5 -122t103.5 -83t145.5 -30.5q98 0 185.5 35t144.5 76l27 -109q-27 -16 -66 -35.5t-86 -36t-103.5 -28t-117.5 -11.5q-137 0 -235.5 56.5t-157.5 148.5h-9q-82 -113 -199.5 -159t-234.5 -46 q-135 0 -202.5 79t-67.5 198zM233 260q0 -80 44.5 -122t117.5 -42q84 0 178.5 53.5t153.5 153.5v191h-18q-84 0 -168 -6.5t-153 -31t-112 -70.5t-43 -126zM885 610h559q2 10 2 19v18q0 51 -20.5 91t-55.5 66.5t-80 40t-94 13.5q-135 0 -209.5 -71t-101.5 -177z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1024" d="M100 479q0 98 28 187.5t87 158t151.5 108.5t221.5 40q98 0 192 -22.5t152 -59.5l-35 -121q-47 35 -135 62.5t-176 27.5q-90 0 -152.5 -30.5t-103.5 -82t-59.5 -118t-18.5 -137.5q0 -80 22.5 -154t66.5 -129t108.5 -88t150.5 -33q82 0 167 32t142 85l33 -127 q-53 -35 -146.5 -66.5t-199.5 -36.5l-49 -79q18 4 35.5 6t31.5 2q72 0 117 -42t45 -106q0 -35 -16.5 -65.5t-46 -54t-70.5 -38t-90 -14.5t-98 11.5t-88 27.5l-2 12l26 48h15q25 -10 62.5 -17.5t78.5 -7.5q45 0 76.5 17.5t31.5 64.5q0 55 -30.5 74.5t-73.5 19.5 q-25 0 -51.5 -4t-48.5 -10l-17 22l88 135q-106 8 -185 52.5t-131 112t-79 154.5t-27 183z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1056" d="M96 471q0 100 32 191.5t93.5 161t152.5 109.5t208 40q180 0 278 -91t98 -257q0 -35 -4 -71t-14 -52h-690v-21q0 -78 20.5 -149.5t61.5 -126.5t103.5 -88t148.5 -33q98 0 185 35t144 76l27 -109q-27 -16 -65.5 -35.5t-86 -36t-103.5 -28t-118 -11.5q-115 0 -203 40 t-147 109t-90 159t-31 188zM264 610h559q2 10 2 19v18q0 51 -20.5 91t-55 66.5t-79.5 40t-95 13.5q-135 0 -209.5 -71t-101.5 -177zM283 1321q0 29 18 49.5t53 22.5l369 -207l6 -15l-10 -41l-17 -6l-413 158q-6 21 -6 39z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1056" d="M96 471q0 100 32 191.5t93.5 161t152.5 109.5t208 40q180 0 278 -91t98 -257q0 -35 -4 -71t-14 -52h-690v-21q0 -78 20.5 -149.5t61.5 -126.5t103.5 -88t148.5 -33q98 0 185 35t144 76l27 -109q-27 -16 -65.5 -35.5t-86 -36t-103.5 -28t-118 -11.5q-115 0 -203 40 t-147 109t-90 159t-31 188zM264 610h559q2 10 2 19v18q0 51 -20.5 91t-55 66.5t-79.5 40t-95 13.5q-135 0 -209.5 -71t-101.5 -177zM395 1171l6 15l369 207q35 -2 53.5 -22.5t18.5 -49.5q0 -8 -1 -18.5t-5 -20.5l-414 -158l-14 6z" /> -<glyph unicode="&#xea;" horiz-adv-x="1056" d="M96 471q0 100 32 191.5t93.5 161t152.5 109.5t208 40q180 0 278 -91t98 -257q0 -35 -4 -71t-14 -52h-690v-21q0 -78 20.5 -149.5t61.5 -126.5t103.5 -88t148.5 -33q98 0 185 35t144 76l27 -109q-27 -16 -65.5 -35.5t-86 -36t-103.5 -28t-118 -11.5q-115 0 -203 40 t-147 109t-90 159t-31 188zM264 610h559q2 10 2 19v18q0 51 -20.5 91t-55 66.5t-79.5 40t-95 13.5q-135 0 -209.5 -71t-101.5 -177zM317 1161l5 15l227 202h14l228 -202l4 -15l-11 -39l-16 -6l-211 125l-213 -125l-16 6z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1056" d="M96 471q0 100 32 191.5t93.5 161t152.5 109.5t208 40q180 0 278 -91t98 -257q0 -35 -4 -71t-14 -52h-690v-21q0 -78 20.5 -149.5t61.5 -126.5t103.5 -88t148.5 -33q98 0 185 35t144 76l27 -109q-27 -16 -65.5 -35.5t-86 -36t-103.5 -28t-118 -11.5q-115 0 -203 40 t-147 109t-90 159t-31 188zM264 610h559q2 10 2 19v18q0 51 -20.5 91t-55 66.5t-79.5 40t-95 13.5q-135 0 -209.5 -71t-101.5 -177zM305 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM627 1282 q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -26 -64.5t-60 -25.5q-35 0 -59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="462" d="M-70 1321q0 29 18.5 49.5t53.5 22.5l371 -207l6 -15l-12 -41l-17 -6l-411 158q-9 19 -9 39zM160 0v942h143v-942h-143z" /> -<glyph unicode="&#xed;" horiz-adv-x="462" d="M31 1171l6 15l369 207q35 -2 54 -22.5t19 -49.5q0 -20 -8 -39l-414 -158l-14 6zM160 0v942h143v-942h-143z" /> -<glyph unicode="&#xee;" horiz-adv-x="462" d="M-14 1161l6 15l225 202h16l226 -202l6 -15l-12 -39l-15 -6l-213 125l-211 -125l-16 6zM160 0v942h143v-942h-143z" /> -<glyph unicode="&#xef;" horiz-adv-x="462" d="M-16 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -26 -64.5t-60 -25.5q-35 0 -59.5 25.5t-24.5 64.5zM160 0v942h143v-942h-143zM305 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1155" d="M98 481q0 98 28 187.5t86 157t148.5 107.5t214.5 40q113 0 201 -38t129 -124l6 2q-29 123 -57.5 216t-65.5 171l-256 -65l-34 94l241 63q-37 59 -82 112.5t-102 111.5h150q82 -74 151 -193l240 63l37 -98l-230 -59q63 -135 100 -300t37 -337q0 -119 -21.5 -230.5 t-75.5 -197.5t-144 -137.5t-228 -51.5q-127 0 -217 43t-146 115t-83 162t-27 186zM252 485q0 -78 18.5 -149.5t57.5 -127.5t99 -90t144 -34t144.5 34t100.5 90t59.5 129t19.5 152q0 184 -91 277.5t-237 93.5q-86 0 -146.5 -31.5t-97 -84t-54 -120t-17.5 -139.5z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1116" d="M160 0v942h112l17 -176h8q27 86 119 146.5t229 60.5q66 0 124 -17.5t101 -56.5t69 -102.5t26 -155.5v-641h-144v623q0 125 -55 177t-141 52q-51 0 -101.5 -16.5t-93.5 -48t-75.5 -77.5t-51.5 -106v-604h-143zM246 1194q8 27 22.5 55.5t36 50t53 36t74.5 14.5 q51 0 89 -4.5t71 -10.5t63.5 -10t69.5 -4q35 0 69.5 8t63.5 45l25 -16q-6 -29 -19.5 -56.5t-35 -50t-52.5 -37t-74 -14.5q-82 0 -166.5 14.5t-150.5 14.5q-51 0 -71.5 -13.5t-41.5 -37.5z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1148" d="M98 475q0 100 29 190.5t87 159t148.5 108.5t210.5 40q125 0 215.5 -42t148.5 -112.5t86 -162t28 -191.5t-28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM250 481q0 -78 19.5 -149.5t59.5 -126.5t102.5 -88t148.5 -33 q82 0 142 30.5t100 83t58.5 121t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5zM279 1321q0 29 18 49.5t53 22.5l371 -207l6 -15l-12 -41l-15 -6l-413 158q-8 19 -8 39z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1148" d="M98 475q0 100 29 190.5t87 159t148.5 108.5t210.5 40q125 0 215.5 -42t148.5 -112.5t86 -162t28 -191.5t-28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM250 481q0 -78 19.5 -149.5t59.5 -126.5t102.5 -88t148.5 -33 q82 0 142 30.5t100 83t58.5 121t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5zM410 1171l6 15l368 207q35 -2 54.5 -22.5t19.5 -49.5q0 -20 -8 -39l-414 -158l-14 6z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1148" d="M98 475q0 100 29 190.5t87 159t148.5 108.5t210.5 40q125 0 215.5 -42t148.5 -112.5t86 -162t28 -191.5t-28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM250 481q0 -78 19.5 -149.5t59.5 -126.5t102.5 -88t148.5 -33 q82 0 142 30.5t100 83t58.5 121t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5zM350 1161l6 15l228 202h14l225 -202l6 -15l-10 -39l-16 -6l-213 125l-211 -125l-17 6z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1148" d="M98 475q0 100 29 190.5t87 159t148.5 108.5t210.5 40q125 0 215.5 -42t148.5 -112.5t86 -162t28 -191.5t-28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM238 1194q8 27 22 55.5t35.5 50t53.5 36t75 14.5q51 0 89 -4.5 t70.5 -10.5t63.5 -10t70 -4q35 0 69.5 8t63.5 45l24 -16q-6 -29 -19 -56.5t-34.5 -50t-52.5 -37t-74 -14.5q-82 0 -167 14.5t-150 14.5q-51 0 -71.5 -13.5t-41.5 -37.5zM250 481q0 -78 19.5 -149.5t59.5 -126.5t102.5 -88t148.5 -33q82 0 142 30.5t100 83t58.5 121 t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1148" d="M98 475q0 100 29 190.5t87 159t148.5 108.5t210.5 40q125 0 215.5 -42t148.5 -112.5t86 -162t28 -191.5t-28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM250 481q0 -78 19.5 -149.5t59.5 -126.5t102.5 -88t148.5 -33 q82 0 142 30.5t100 83t58.5 121t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5zM330 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z M651 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1159" d="M158 436v107h848v-107h-848zM508 164q0 39 27.5 67.5t68.5 28.5q37 0 66.5 -28.5t29.5 -67.5q0 -41 -29.5 -68.5t-66.5 -27.5q-41 0 -68.5 27.5t-27.5 68.5zM508 813q0 39 27.5 68.5t68.5 29.5q37 0 66.5 -29.5t29.5 -68.5t-29.5 -66.5t-66.5 -27.5q-41 0 -68.5 27.5 t-27.5 66.5z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1148" d="M84 16l115 129q-51 68 -76 153t-25 177q0 100 29 190.5t87 159t148.5 108.5t210.5 40q86 0 157 -21.5t124 -58.5l104 119l105 -80l-115 -129q53 -70 78 -157t25 -181q0 -100 -28 -189.5t-85 -156t-146.5 -105.5t-209.5 -39q-174 0 -289 80l-111 -127zM250 481 q0 -59 11 -116.5t36 -106.5l469 535q-39 31 -88 48t-111 17q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5zM379 152q80 -68 201 -68q82 0 142 30.5t100 83t58.5 121t18.5 144.5q0 127 -49 225z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1114" d="M150 301v641h143v-623q0 -63 15.5 -106t41 -68.5t61 -37t78.5 -11.5q51 0 101.5 15.5t93.5 46t76 76t51 104.5v604h143v-942h-112l-17 176h-8q-27 -86 -119 -143.5t-229 -57.5q-66 0 -124 16.5t-101 54.5t-68.5 100.5t-25.5 154.5zM262 1321q0 29 18.5 49.5t53.5 22.5 l368 -207l7 -15l-11 -41l-16 -6l-412 158q-8 19 -8 39z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1114" d="M150 301v641h143v-623q0 -63 15.5 -106t41 -68.5t61 -37t78.5 -11.5q51 0 101.5 15.5t93.5 46t76 76t51 104.5v604h143v-942h-112l-17 176h-8q-27 -86 -119 -143.5t-229 -57.5q-66 0 -124 16.5t-101 54.5t-68.5 100.5t-25.5 154.5zM340 1171l6 15l369 207q35 -2 53 -22.5 t18 -49.5q0 -18 -6 -39l-413 -158l-17 6z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M150 301v641h143v-623q0 -63 15.5 -106t41 -68.5t61 -37t78.5 -11.5q51 0 101.5 15.5t93.5 46t76 76t51 104.5v604h143v-942h-112l-17 176h-8q-27 -86 -119 -143.5t-229 -57.5q-66 0 -124 16.5t-101 54.5t-68.5 100.5t-25.5 154.5zM307 1161l4 15l228 202h14l227 -202 l4 -15l-10 -39l-16 -6l-213 125l-211 -125l-17 6z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1114" d="M150 301v641h143v-623q0 -63 15.5 -106t41 -68.5t61 -37t78.5 -11.5q51 0 101.5 15.5t93.5 46t76 76t51 104.5v604h143v-942h-112l-17 176h-8q-27 -86 -119 -143.5t-229 -57.5q-66 0 -124 16.5t-101 54.5t-68.5 100.5t-25.5 154.5zM299 1282q0 37 24.5 64.5t59.5 27.5 t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM621 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -26 -64.5t-60 -25.5q-35 0 -59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1062" d="M-4 942h170l375 -784l336 784h161l-432 -950q-31 -66 -74 -155t-102 -169t-139 -136t-180 -56q-16 0 -24.5 1t-18.5 5l-27 135q6 -2 14 -4t29 -2q41 0 77 8t70 33q72 51 130.5 149.5t105.5 229.5zM391 1171l6 15l369 207q35 -2 53.5 -22.5t18.5 -49.5q0 -8 -1 -18.5 t-6 -20.5l-413 -158l-15 6z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1177" d="M160 -532v2048h143v-750q20 35 56 71.5t82 66.5t102.5 49.5t122.5 19.5q104 0 182 -41t129 -108.5t76.5 -156.5t25.5 -188q0 -102 -27.5 -193t-82 -160t-136 -110t-190.5 -41q-137 0 -225 59.5t-115 147.5v-714h-143zM303 344q18 -59 53 -104t81 -78t98.5 -49.5 t105.5 -16.5q72 0 125 29t89 80t54.5 118.5t18.5 145.5q0 74 -17.5 143.5t-54.5 122.5t-93 85t-134 32q-98 0 -183.5 -53.5t-142.5 -153.5v-301z" /> -<glyph unicode="&#xff;" horiz-adv-x="1062" d="M-4 942h170l375 -784l336 784h161l-432 -950q-31 -66 -74 -155t-102 -169t-139 -136t-180 -56q-16 0 -24.5 1t-18.5 5l-27 135q6 -2 14 -4t29 -2q41 0 77 8t70 33q72 51 130.5 149.5t105.5 229.5zM272 1282q0 37 25 64.5t59 27.5q35 0 60.5 -27.5t25.5 -64.5 q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5zM594 1282q0 37 24.5 64.5t59.5 27.5t60.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-60.5 -25.5t-59.5 25.5t-24.5 64.5z" /> -<glyph unicode="&#x152;" horiz-adv-x="1748" d="M115 659q0 145 44 273.5t128 223.5t206.5 150.5t280.5 55.5q39 0 76 -3t72 -7h702v-144h-549v-420h412v-143h-412v-502h590v-143h-709q-90 -25 -196 -25q-164 0 -285 55.5t-200.5 149.5t-119.5 218t-40 261zM285 680q0 -283 122.5 -426t356.5 -143q86 0 158 18v1079 q-72 18 -154 19q-131 0 -223 -40t-149.5 -113t-84 -173t-26.5 -221z" /> -<glyph unicode="&#x153;" horiz-adv-x="1867" d="M98 473q0 100 29 190.5t87 159t148.5 108.5t210.5 40q152 0 250.5 -60.5t153.5 -158.5q59 98 163.5 158.5t252.5 60.5q180 0 278 -91.5t98 -256.5q0 -35 -4 -71t-14 -52h-690v-21q0 -78 20.5 -149.5t61.5 -127t103.5 -88t148.5 -32.5q98 0 185 35t144 76l27 -109 q-27 -16 -65.5 -35.5t-86 -36t-103.5 -28t-118 -11.5q-139 0 -240.5 57.5t-158.5 151.5q-53 -94 -150.5 -151.5t-246.5 -57.5q-125 0 -216.5 41t-150.5 110t-88 159t-29 190zM250 479q0 -78 19.5 -149.5t59.5 -127t102.5 -88t148.5 -32.5q82 0 142 30.5t100 83t58.5 121 t18.5 144.5q0 78 -19.5 149.5t-60.5 126t-103.5 87t-148.5 32.5q-84 0 -143 -30.5t-98 -82t-57.5 -120t-18.5 -144.5zM1075 608h559q2 10 2 19v18q0 51 -20.5 91t-55 66.5t-79.5 40t-95 13.5q-135 0 -209.5 -71t-101.5 -177z" /> -<glyph unicode="&#x178;" horiz-adv-x="1159" d="M-23 1352h183l428 -650l413 650h179l-523 -797v-555h-153v547zM342 1626q0 37 24.5 64.5t59.5 27.5q33 0 58.5 -27.5t25.5 -64.5q0 -39 -25.5 -64.5t-58.5 -25.5q-35 0 -59.5 25.5t-24.5 64.5zM664 1626q0 37 23.5 64.5t57.5 27.5q35 0 60.5 -27.5t25.5 -64.5 q0 -39 -25.5 -64.5t-60.5 -25.5t-58 25.5t-23 64.5z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="479" d="M0 1161l6 15l225 202h17l225 -202l6 -15l-12 -39l-14 -6l-213 125l-213 -125l-15 6z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="636" d="M0 1194q8 27 22.5 55.5t36 50t53 36t74.5 14.5q51 0 89 -4.5t71 -10.5t63.5 -10t69.5 -4q35 0 70 8t63 45l25 -16q-6 -29 -19.5 -56.5t-35 -50t-52 -37t-73.5 -14.5q-82 0 -167 14.5t-151 14.5q-51 0 -71.5 -13.5t-40.5 -37.5z" /> -<glyph unicode="&#x2000;" horiz-adv-x="868" /> -<glyph unicode="&#x2001;" horiz-adv-x="1736" /> -<glyph unicode="&#x2002;" horiz-adv-x="868" /> -<glyph unicode="&#x2003;" horiz-adv-x="1736" /> -<glyph unicode="&#x2004;" horiz-adv-x="577" /> -<glyph unicode="&#x2005;" horiz-adv-x="434" /> -<glyph unicode="&#x2006;" horiz-adv-x="288" /> -<glyph unicode="&#x2007;" horiz-adv-x="288" /> -<glyph unicode="&#x2008;" horiz-adv-x="217" /> -<glyph unicode="&#x2009;" horiz-adv-x="346" /> -<glyph unicode="&#x200a;" horiz-adv-x="96" /> -<glyph unicode="&#x2010;" horiz-adv-x="995" d="M152 436v107h692v-107h-692z" /> -<glyph unicode="&#x2011;" horiz-adv-x="995" d="M152 436v107h692v-107h-692z" /> -<glyph unicode="&#x2012;" horiz-adv-x="995" d="M152 436v107h692v-107h-692z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1150" d="M152 436v107h847v-107h-847z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1617" d="M152 436v107h1314v-107h-1314z" /> -<glyph unicode="&#x2018;" horiz-adv-x="460" d="M150 1130v216l149 157l41 -39l-80 -149h51v-185h-161z" /> -<glyph unicode="&#x2019;" horiz-adv-x="419" d="M127 1169l80 150h-51v184h161v-215l-149 -158z" /> -<glyph unicode="&#x201a;" horiz-adv-x="497" d="M139 -160l80 150h-51v184h162v-215l-150 -158z" /> -<glyph unicode="&#x201c;" horiz-adv-x="768" d="M150 1130v216l149 157l41 -39l-80 -149h51v-185h-161zM457 1130v216l149 157l41 -39l-80 -149h51v-185h-161z" /> -<glyph unicode="&#x201d;" horiz-adv-x="727" d="M127 1169l80 150h-51v184h161v-215l-149 -158zM434 1169l80 150h-51v184h162v-215l-150 -158z" /> -<glyph unicode="&#x201e;" horiz-adv-x="827" d="M139 -160l80 150h-51v184h162v-215l-150 -158zM469 -160l80 150h-51v184h161v-215l-149 -158z" /> -<glyph unicode="&#x2022;" horiz-adv-x="671" d="M197 498q0 55 39.5 98t99.5 43q27 0 52.5 -11.5t45 -32t30.5 -46t11 -51.5q0 -59 -43 -98.5t-96 -39.5q-59 0 -99 39.5t-40 98.5z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1255" d="M145 72q0 39 27 68.5t68 29.5q39 0 68.5 -29.5t29.5 -68.5t-29.5 -67t-68.5 -28q-41 0 -68 28t-27 67zM532 72q0 39 28 68.5t67 29.5t68.5 -29.5t29.5 -68.5t-29.5 -67t-68.5 -28t-67 28t-28 67zM920 72q0 39 27.5 68.5t66.5 29.5t68.5 -29.5t29.5 -68.5t-29.5 -67 t-68.5 -28t-66.5 28t-27.5 67z" /> -<glyph unicode="&#x202f;" horiz-adv-x="346" /> -<glyph unicode="&#x2039;" horiz-adv-x="659" d="M106 487v11l275 362h162l-295 -362v-11l295 -362h-164z" /> -<glyph unicode="&#x203a;" horiz-adv-x="659" d="M117 125l295 362v11l-295 362h162l274 -362v-11l-272 -362h-164z" /> -<glyph unicode="&#x205f;" horiz-adv-x="434" /> -<glyph unicode="&#x20ac;" horiz-adv-x="1275" d="M86 522v107h156v54q0 32 2 54h-158v107h172q20 113 64.5 207t114 163.5t161.5 108.5t209 39q92 0 188.5 -23.5t161.5 -64.5l-43 -148q-55 43 -135 72t-184 29q-88 0 -154 -26.5t-110 -77t-70.5 -121t-38.5 -158.5h522v-107h-532v-108h532v-107h-524q53 -412 371 -411 q111 0 201.5 36.5t148.5 90.5l41 -138q-72 -49 -171.5 -87t-226.5 -38q-121 0 -214 42t-159.5 116t-106.5 174.5t-54 214.5h-164z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1415" d="M131 1257v80h440v-80h-172v-501h-96v501h-172zM647 756v581h98l201 -495l199 495h96v-581h-80v428l-172 -428h-92l-172 430v-430h-78z" /> -<glyph unicode="&#xe000;" horiz-adv-x="940" d="M0 940h940v-940h-940v940z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1071" d="M51 846v76l158 18q0 199 26.5 312.5t71.5 172.5q47 66 101.5 83.5t107.5 17.5q102 0 184 -34t138 -69l-70 -123q-92 57 -155.5 88t-123.5 31q-45 0 -71.5 -19.5t-41 -62.5t-19.5 -110.5t-5 -161.5v-123h221v-96h-221v-846h-143v846h-158zM772 0v942h143v-942h-143z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1099" d="M51 846v76l158 18q0 111 11 190.5t29.5 137t40 95.5t44.5 62q51 59 104.5 80t100.5 21q20 0 53 -1t75 -6.5t91 -16.5t98 -29l72 43v-1516h-144v1362q-57 29 -133 43t-151 14q-33 0 -60.5 -18.5t-47 -59.5t-30 -108.5t-10.5 -167.5v-123h221v-96h-221v-846h-143v846h-158z " /> -<glyph unicode="&#xfb03;" horiz-adv-x="1683" d="M1350 1286q0 41 29.5 74t72.5 33q41 0 74 -33t33 -74q0 -43 -33 -72.5t-74 -29.5q-43 0 -72.5 29.5t-29.5 72.5zM1381 0v942h143v-942h-143zM661 846v76l158 18q0 115 7 197t19.5 138t28 92t29.5 58q39 57 96 79t119 22q8 0 28.5 -1t46 -4t52.5 -10.5t51 -19.5l-35 -121 q-6 0 -28.5 7t-50 16.5t-59.5 17.5t-56 8q-31 0 -51.5 -17.5t-32 -57t-16.5 -105t-5 -162.5v-135h221v-96h-221v-846h-143v846h-158zM51 846v76l158 18q0 115 7 197t19.5 138t28 92t29.5 58q39 57 96 79t119 22q8 0 28.5 -1t46 -4t52.5 -10.5t51 -19.5l-35 -121 q-6 0 -28.5 7t-50 16.5t-59.5 17.5t-56 8q-31 0 -51.5 -17.5t-32 -57t-16.5 -105t-5 -162.5v-135h221v-96h-221v-846h-143v846h-158z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="1708" d="M1393 0v1516h143v-1516h-143zM661 846v76l158 18q0 115 7 197t19.5 138t28 92t29.5 58q39 57 96 79t119 22q8 0 28.5 -1t46 -4t52.5 -10.5t51 -19.5l-35 -121q-6 0 -28.5 7t-50 16.5t-59.5 17.5t-56 8q-31 0 -51.5 -17.5t-32 -57t-16.5 -105t-5 -162.5v-135h221v-96h-221 v-846h-143v846h-158zM51 846v76l158 18q0 115 7 197t19.5 138t28 92t29.5 58q39 57 96 79t119 22q8 0 28.5 -1t46 -4t52.5 -10.5t51 -19.5l-35 -121q-6 0 -28.5 7t-50 16.5t-59.5 17.5t-56 8q-31 0 -51.5 -17.5t-32 -57t-16.5 -105t-5 -162.5v-135h221v-96h-221v-846h-143 v846h-158z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.ttf deleted file mode 100755 index e414670..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.woff deleted file mode 100755 index 09ed324..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/fonts/quattrocentosans-regular-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/background.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/background.png deleted file mode 100644 index e57dd78..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/background.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/body-background.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/body-background.png deleted file mode 100644 index dbe1a77..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/body-background.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/bullet.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/bullet.png deleted file mode 100644 index 732fa2f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/bullet.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/hr.gif b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/hr.gif deleted file mode 100644 index a64b56c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/hr.gif and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/octocat-logo.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/octocat-logo.svg deleted file mode 100644 index 78471ae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/images/octocat-logo.svg +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="Layer_1" - viewBox="0 0 35.999998 36.000002" - width="36" - height="36" - version="1.1" - sodipodi:docname="octocat-logo.svg" - inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"> - <metadata - id="metadata17"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <defs - id="defs15" /> - <sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="1920" - inkscape:window-height="986" - id="namedview13" - showgrid="false" - fit-margin-top="0" - fit-margin-left="0" - fit-margin-right="0" - fit-margin-bottom="0" - inkscape:zoom="7.9999999" - inkscape:cx="-10.44459" - inkscape:cy="22.061679" - inkscape:window-x="-11" - inkscape:window-y="-11" - inkscape:window-maximized="1" - inkscape:current-layer="Layer_1" /> - <style - id="style3">.Round_x0020_Corners_x0020_2_x0020_pt{fill:#FFF;stroke:#000;stroke-miterlimit:10}.Live_x0020_Reflect_x0020_X{fill:none}.Bevel_x0020_Soft{fill:url(#SVGID_1_)}.Dusk{fill:#FFF}.Foliage_GS{fill:#FD0}.Pompadour_GS{fill:#44ade2}.Pompadour_GS,.st0{fill-rule:evenodd;clip-rule:evenodd}.st0{fill:#191717}</style> - <linearGradient - id="SVGID_1_" - gradientUnits="userSpaceOnUse" - x1="-216.625" - y1="-385.75" - x2="-215.918" - y2="-385.043"> - <stop - offset="0" - id="stop6" - stop-color="#dedfe3" /> - <stop - offset=".174" - id="stop8" - stop-color="#d8d9dd" /> - <stop - offset=".352" - id="stop10" - stop-color="#c9cacd" /> - <stop - offset=".532" - id="stop12" - stop-color="#b4b5b8" /> - <stop - offset=".714" - id="stop14" - stop-color="#989a9c" /> - <stop - offset=".895" - id="stop16" - stop-color="#797c7e" /> - <stop - offset="1" - id="stop18" - stop-color="#656b6c" /> - </linearGradient> - <path - style="fill:#231e1e;fill-opacity:0.2;stroke-width:0.809865" - d="M 18 0 A 18.000056 18.000669 0 0 0 0 18 A 18.000056 18.000669 0 0 0 18 36 A 18.000056 18.000669 0 0 0 36 18 A 18.000056 18.000669 0 0 0 18 0 z M 18 2.6542969 A 15.344311 15.344834 0 0 1 33.34375 18 A 15.344311 15.344834 0 0 1 33.275391 19.332031 C 32.516916 19.269784 31.250006 19.173828 30.369141 19.173828 C 30.002345 19.173828 29.487474 19.211973 29.003906 19.240234 C 29.136396 18.53009 29.210936 17.741989 29.210938 16.853516 A 6.7759857 6.8161667 0 0 0 27.431641 12.216797 C 27.535943 11.794914 28.165751 10.002117 27.222656 7.6835938 C 27.222656 7.6835938 27.131616 7.6572437 26.943359 7.6523438 C 26.378576 7.6376238 24.941822 7.8149574 22.505859 9.4746094 C 21.143368 9.1583804 19.677 8.9492188 18.210938 8.9492188 C 16.744145 8.9492188 15.277048 9.0554125 13.916016 9.4765625 C 10.667336 7.2636935 9.203125 7.6855469 9.203125 7.6855469 C 8.2600308 10.00407 8.7828545 11.794914 8.9921875 12.216797 C 7.8397593 13.481713 7.2109375 14.956875 7.2109375 16.853516 C 7.2109375 17.749113 7.287253 18.543958 7.421875 19.261719 C 6.7665871 19.218431 6.0514138 19.173828 5.5585938 19.173828 C 4.6865309 19.173828 3.4702374 19.269331 2.7246094 19.332031 A 15.344311 15.344834 0 0 1 2.65625 18 A 15.344311 15.344834 0 0 1 18 2.6542969 z M 5.5585938 19.640625 C 6.0798391 19.640625 6.8427542 19.689853 7.5292969 19.736328 C 7.5517558 19.830302 7.5690333 19.932552 7.59375 20.023438 C 6.889709 19.975122 6.0968717 19.925781 5.5585938 19.925781 C 4.7279419 19.925781 3.5908298 20.012069 2.8164062 20.076172 A 15.344311 15.344834 0 0 1 2.7734375 19.794922 C 3.535949 19.731328 4.7085974 19.640625 5.5585938 19.640625 z M 30.369141 19.640625 C 31.227754 19.640625 32.447334 19.73359 33.224609 19.796875 A 15.344311 15.344834 0 0 1 33.181641 20.078125 C 32.391381 20.014231 31.208932 19.925781 30.369141 19.925781 C 29.956167 19.925781 29.37691 19.968116 28.832031 20.001953 C 28.857004 19.910243 28.873836 19.80783 28.896484 19.712891 C 29.418753 19.681148 29.973493 19.640625 30.369141 19.640625 z M 5.5585938 20.394531 C 6.1376861 20.394531 7.0062594 20.445584 7.7480469 20.498047 C 8.9519568 24.076065 12.018089 25.061521 14.964844 25.390625 C 14.545447 25.812509 14.021542 26.549722 13.917969 27.708984 C 12.974875 28.1316 10.564741 28.868395 8.9921875 26.234375 C 8.9921875 26.234375 8.0491739 24.549013 6.3730469 24.443359 C 6.3730469 24.443359 4.6964831 24.44322 6.2675781 25.496094 C 6.2675781 25.496094 7.4212649 26.024315 8.1542969 28.027344 C 8.1542969 28.027344 9.2044478 31.39931 13.919922 30.345703 L 13.919922 32.775391 A 15.344311 15.344834 0 0 1 2.8867188 20.539062 C 3.6750481 20.474648 4.7595789 20.394531 5.5585938 20.394531 z M 30.369141 20.394531 C 31.178146 20.394531 32.305364 20.476631 33.111328 20.541016 A 15.344311 15.344834 0 0 1 22.611328 32.617188 L 22.611328 28.447266 C 22.611328 26.86612 22.088443 25.81196 21.458984 25.285156 C 24.408908 24.955826 27.476238 24.032852 28.677734 20.476562 C 29.274352 20.437755 29.914716 20.394531 30.369141 20.394531 z M 18.144531 26.724609 C 18.288441 26.724609 18.404297 26.902841 18.404297 27.125 L 18.404297 33.369141 A 9.9683741 15.388561 0 0 1 18.050781 33.388672 A 9.9683741 15.388561 0 0 1 17.882812 33.375 L 17.882812 27.125 C 17.882812 26.902841 18.000621 26.724609 18.144531 26.724609 z M 16.164062 27.585938 C 16.307972 27.585938 16.423828 27.766122 16.423828 27.988281 L 16.423828 33.316406 A 9.9683741 15.388561 0 0 1 15.904297 33.203125 L 15.904297 27.988281 C 15.904297 27.766122 16.020152 27.585938 16.164062 27.585938 z M 20.185547 27.585938 C 20.329457 27.585936 20.445312 27.766122 20.445312 27.988281 L 20.445312 33.173828 A 9.9683741 15.388561 0 0 1 19.925781 33.271484 L 19.925781 27.988281 C 19.925781 27.766122 20.041637 27.585938 20.185547 27.585938 z " - id="path57" /> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/js/main.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/js/main.js deleted file mode 100644 index 811bd2e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-leap-day-0.2.0/assets/js/main.js +++ /dev/null @@ -1,33 +0,0 @@ -var sectionHeight = function() { - var total = $(window).height(), - $section = $('section').css('height','auto'); - - if ($section.outerHeight(true) < total) { - var margin = $section.outerHeight(true) - $section.height(); - $section.height(total - margin - 20); - } else { - $section.css('height','auto'); - } -} - -$(window).resize(sectionHeight); - -$(function() { - $("section h1, section h2, section h3").each(function(){ - $("nav ul").append("<li class='tag-" + this.nodeName.toLowerCase() + "'><a href='#" + $(this).text().toLowerCase().replace(/ /g, '-').replace(/[^\w-]+/g,'') + "'>" + $(this).text() + "</a></li>"); - $(this).attr("id",$(this).text().toLowerCase().replace(/ /g, '-').replace(/[^\w-]+/g,'')); - $("nav ul li:first-child a").parent().addClass("active"); - }); - - $("nav ul li").on("click", "a", function(event) { - var position = $($(this).attr("href")).offset().top - 190; - $("html, body").animate({scrollTop: position}, 400); - $("nav ul li a").parent().removeClass("active"); - $(this).parent().addClass("active"); - event.preventDefault(); - }); - - sectionHeight(); - - $('img').on('load', sectionHeight); -}); diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/README.md deleted file mode 100644 index 66c7acd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Merlot theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/merlot/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/merlot/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-merlot.svg)](https://badge.fury.io/rb/jekyll-theme-merlot) - -*Merlot is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/merlot), or even [use it today](#usage).* - -![Thumbnail of Merlot](thumbnail.png) - -## Usage - -To use the Merlot theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/merlot@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Merlot will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/merlot/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/merlot/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/merlot/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/merlot/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/merlot/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Merlot theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Merlot? We'd love your help. Merlot is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/merlot`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_layouts/default.html deleted file mode 100644 index 19ea70c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_layouts/default.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset='utf-8'> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=640"> - - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}" media="screen"> - <link rel="stylesheet" href="{{ '/assets/css/mobile.css' | relative_url }}" media="handheld, only screen and (max-device-width:640px)"> - <link rel="stylesheet" href="{{ '/assets/css/non-screen.css' | relative_url }}" media="handheld, only screen and (max-device-width:640px)"> - - <script src="{{ '/assets/js/modernizr.js' | relative_url }}"></script> - <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> - <script src="{{ '/assets/js/headsmart.min.js' | relative_url }}"></script> - <script> - $(document).ready(function () { - $('#main_content').headsmart() - }) - </script> - -{% seo %} - -{% include head-custom.html %} - </head> - - <body> - <a id="forkme_banner" href="{{ site.github.repository_url }}">View on GitHub</a> - <div class="shell"> - - <header> - <span class="ribbon-outer"> - <span class="ribbon-inner"> - <h1>{{ site.title | default: site.github.repository_name }}</h1> - <h2>{{ site.description | default: site.github.project_tagline }}</h2> - </span> - <span class="left-tail"></span> - <span class="right-tail"></span> - </span> - </header> - - {% if site.show_downloads %} - <section id="downloads"> - <span class="inner"> - <a href="{{ site.github.zip_url }}" class="zip"><em>download</em> .ZIP</a><a href="{{ site.github.tar_url }}" class="tgz"><em>download</em> .TGZ</a> - </span> - </section> - {% else %} - <div id="no-downloads"> - <span class="inner"> - </span> - </div> - {% endif %} - - - <span class="banner-fix"></span> - - - <section id="main_content"> - {{ content }} - </section> - - <footer> - <span class="ribbon-outer"> - <span class="ribbon-inner"> - {% if site.github.is_project_page %} - <p>this project by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a> can be found on <a href="{{ site.github.repository_url }}">GitHub</a></p> - {% endif %} - {% if site.github.is_user_page %} - <p>Projects by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a> can be found on <a href="{{ site.github.repository_url }}">GitHub</a></p> - {% endif %} - </span> - <span class="left-tail"></span> - <span class="right-tail"></span> - </span> - <p>Generated with <a href="https://pages.github.com">GitHub Pages</a> using Merlot</p> - <span class="octocat"></span> - </footer> - - </div> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/jekyll-theme-merlot.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/jekyll-theme-merlot.scss deleted file mode 100644 index f1d3cea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/jekyll-theme-merlot.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import "screen"; -@import "rouge-base16-solarized"; -@import url("non-screen.css") handheld; -@import url("non-screen.css") only screen and (max-device-width:640px); diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/merlot.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/merlot.scss deleted file mode 100644 index 9f4fa11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/merlot.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-merlot"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/rouge-base16-solarized.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/rouge-base16-solarized.scss deleted file mode 100644 index 009bb21..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/rouge-base16-solarized.scss +++ /dev/null @@ -1,77 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight, .highlight .w { - color: #586e75; -} -.highlight .err { - color: #002b36; - background-color: #dc322f; -} -.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { - color: #657b83; -} -.highlight .cp { - color: #b58900; -} -.highlight .nt { - color: #b58900; -} -.highlight .o, .highlight .ow { - color: #93a1a1; -} -.highlight .p, .highlight .pi { - color: #93a1a1; -} -.highlight .gi { - color: #859900; -} -.highlight .gd { - color: #dc322f; -} -.highlight .gh { - color: #268bd2; - background-color: #002b36; - font-weight: bold; -} -.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { - color: #6c71c4; -} -.highlight .kc { - color: #cb4b16; -} -.highlight .kt { - color: #cb4b16; -} -.highlight .kd { - color: #cb4b16; -} -.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { - color: #859900; -} -.highlight .sr { - color: #2aa198; -} -.highlight .si { - color: #d33682; -} -.highlight .se { - color: #d33682; -} -.highlight .nn { - color: #b58900; -} -.highlight .nc { - color: #b58900; -} -.highlight .no { - color: #b58900; -} -.highlight .na { - color: #268bd2; -} -.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { - color: #859900; -} -.highlight .ss { - color: #859900; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/screen.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/screen.scss deleted file mode 100644 index b9e5336..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/_sass/screen.scss +++ /dev/null @@ -1,570 +0,0 @@ -/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 9, 2012 */ - - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-regular-webfont.eot'); - src: url('../fonts/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-regular-webfont.woff') format('woff'), - url('../fonts/opensans-regular-webfont.ttf') format('truetype'), - url('../fonts/opensans-regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-italic-webfont.eot'); - src: url('../fonts/opensans-italic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-italic-webfont.woff') format('woff'), - url('../fonts/opensans-italic-webfont.ttf') format('truetype'), - url('../fonts/opensans-italic-webfont.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-bold-webfont.eot'); - src: url('../fonts/opensans-bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-bold-webfont.woff') format('woff'), - url('../fonts/opensans-bold-webfont.ttf') format('truetype'), - url('../fonts/opensans-bold-webfont.svg#OpenSansBold') format('svg'); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-bolditalic-webfont.eot'); - src: url('../fonts/opensans-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-bolditalic-webfont.woff') format('woff'), - url('../fonts/opensans-bolditalic-webfont.ttf') format('truetype'), - url('../fonts/opensans-bolditalic-webfont.svg#OpenSansBoldItalic') format('svg'); - font-weight: bold; - font-style: italic; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-extrabold-webfont.eot'); - src: url('../fonts/opensans-extrabold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-extrabold-webfont.woff') format('woff'), - url('../fonts/opensans-extrabold-webfont.ttf') format('truetype'), - url('../fonts/opensans-extrabold-webfont.svg#OpenSansExtrabold') format('svg'); - font-weight: 800; - font-style: normal; -} - -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} - -header, footer, section { - display: block; - position: relative; -} - -/* STYLES */ - -div.shell { - display: block; - width: 670px; - margin: 0 auto; -} - -a#forkme_banner { - position: absolute; - top: 0; - left: 0; - width: 138px; - height: 138px; - display: block; - background: transparent url(../images/fork-sprite.png) 0 0 no-repeat; - text-indent: -9000px; - z-index: 3; -} - -a#forkme_banner:hover { - background-position: 0 -138px; -} - -/* header */ - -header { - position: relative; - z-index: 2; - margin: 0 auto; - max-width: 600px; - top: 38px; -} - -header span.ribbon-inner { - position: relative; - display: block; - background-color: #cd596b; - border: 4px solid #7c334f; - padding: 2px; - z-index: 1; -} - -header span.left-tail, header span.right-tail { - position: relative; - display: block; - width: 56px; - height: 105px; - background: transparent url(../images/ribbon-tail-sprite.png) 0 0 no-repeat; - position: absolute; - bottom: -37px; - z-index: 0; -} - -header span.left-tail { - background-position: 0 0; - left: -31px; -} - -header span.right-tail { - background-position: -56px 0; - right: -31px; -} - -header h1 { - background-color: #7c334f; - font-size: 2.5em; - font-weight: 800; - font-style: normal; - text-transform: uppercase; - color: #ece4d8; - text-align: center; - line-height:1; - padding: 14px 20px 0; -} - -header h2 { - background-color: #7c334f; - font: bold italic .85em/1.5 Georgia, Times, “Times New Roman”, serif; - color: #e69b95; - padding-bottom: 14px; - margin-top: -3px; - text-align: center; -} - -section#downloads, -div#no-downloads { - position: relative; - display: block; - height: 197px; - width: 550px; - padding-bottom: 150px; - margin: -80px auto -150px; - z-index: 1; - background: transparent url(../images/bg-ramp.jpg) center 171px no-repeat; -} - -div#no-downloads span.inner { - display: block; - position: relative; - height: 197px; - width: 550px; - background: transparent url(../images/download-sprite.png) 0 0 no-repeat; -} - -section#downloads a { - display: block; - position: relative; - height: 67px; - width: 275px; - padding-top: 130px; - background: transparent url(../images/download-sprite.png) 0 0 no-repeat; - text-align: center; - line-height: 1; - color: #fff; - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - font-weight: 800; - font-size: 1.3em; -} - -section#downloads a:hover { - text-decoration: none; -} - -section#downloads a em { - font: bold italic 12px/1 Georgia, Times, “Times New Roman”, serif; - color: #83b7da; - display: block; -} - -section#downloads a.zip { - float: left; - background-position: 0 0; -} - -section#downloads a.tgz { - float: right; - background-position: -275px 0; -} - -section#downloads a.zip:hover { - background-position: 0 -197px; -} - -section#downloads a.tgz:hover { - background-position: -275px -197px; -} - -span.banner-fix { - background: transparent url(../images/download-fallback-bg.png) center top no-repeat; - display: block; - height: 19px; - position: absolute; - width: 670px; - top: 19px; -} - -section#main_content { - z-index: 2; - padding: 20px 82px 0; - min-height:185px; -} - -/* footer */ - -footer { - background: transparent url(../images/footer-ramp.jpg) center -1px no-repeat; - padding-top: 104px; - margin: -94px auto 40px; - max-width: 560px; - text-align: center; -} - -footer span.ribbon-outer { - display: block; - position: relative; - border-bottom: 2px solid #bdb6ad; -} - -footer span.ribbon-inner { - position: relative; - display: block; - background-color: #cd596b; - border: 2px solid #7c334f; - padding: 1px; - z-index: 1; -} - -footer p { - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - font-weight: bold; - font-size: .8em; - color: #8b786f; -} - -footer a { - color: #cd596b; -} - -footer span.ribbon-inner p { - background-color: #7c334f; - margin: 0; - color: #e69b95; - font: bold italic 12px/1 Georgia, Times, “Times New Roman”, serif; - padding-bottom:4px; -} - -footer span.ribbon-inner a { - position: relative; - bottom: -1px; - color: #7eb0d2; - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - text-transform: uppercase; - font-style: normal; - font-weight: 800; - font-size: 1.2em; -} - -footer span.ribbon-inner a:hover { - color: #7eb0d2; -} - -footer span.left-tail, footer span.right-tail { - position: relative; - display: block; - width: 18px; - height: 29px; - background: transparent url(../images/small-ribbon-tail-sprite.png) 0 0 no-repeat; - position: absolute; - bottom: 5px; - z-index: 0; -} - -footer span.left-tail { - background-position: 0 0; - left: -11px; -} - -footer span.right-tail { - background-position: -18px 0; - right: -11px; -} - -footer span.octocat { - background: transparent url(../images/octocat.png) 0 0 no-repeat; - display: block; - width: 30px; - height: 30px; - margin: 0 auto; -} - -/* content */ - -body { - background: #ece4d8; - font: normal normal 15px/1.5 Georgia, Palatino,” Palatino Linotype”, Times, “Times New Roman”, serif; - color: #544943; - -webkit-font-smoothing: antialiased; -} - -a, a:hover { - color: #417090; -} - -a { - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -h1,h2,h3,h4,h5,h6 { - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - font-weight: bold; -} - -p { - margin: .7em 0; -} - -strong { - font-weight: bold; -} - -em { - font-style: italic; -} - -ol { - margin: .7em 0; - list-style-type: decimal; - padding-left: 1.35em; -} - -ul { - margin: .7em 0; - padding-left: 1.35em; -} - -ul li { - padding-left: 10px; - background: transparent url(../images/chevron.png) left 6px no-repeat; -} - -blockquote { - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - margin: 20px 0; - color: #8b786f; - padding-left: 1.35em; - background: transparent url('../images/blockquote-gfx.png') 0 4px no-repeat; -} - -img { - -webkit-box-shadow: 0px 2px 0px #bdb6ad; - -moz-box-shadow: 0px 2px 0px #bdb6ad; - box-shadow: 0px 2px 0px #bdb6ad; - border: 2px solid #fff6e9; - max-width: 502px; -} - -hr { - border: none; - outline: none; - height: 18px; - background: transparent url('../images/hr.jpg') center center repeat-x; - margin: 0 0 20px; -} - -code { - background: #fff6e9; - font: normal normal .8em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; - padding: 0 5px 1px; -} - -pre { - margin: 10px 0 20px; - padding: .7em; - background: #fff6e9; - border-bottom: 2px solid #bdb6ad; - font: normal normal .9em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; - overflow: auto; -} - -pre code { - font: normal normal 1em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; - padding: 0; -} - -table { - background: #fff6e9; - display: table; - width: 100%; - border-collapse: separate; - border-bottom: 2px solid #bdb6ad; - margin: 10px 0; -} - -tr { - display: table-row; -} - -th { - display: table-cell; - padding: 2px 10px; - border: solid #ece4d8; - border-width: 0 2px 2px 0; - color: #cd596b; - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - font-weight: bold; - font-size: .85em; -} - -td { - display: table-cell; - padding: 0 .7em; - border: solid #ece4d8; - border-width: 0 2px 2px 0; -} - -td:last-child, th:last-child { - border-right: none; -} - -tr:last-child td { - border-bottom: none; -} - -dl { - margin: .7em 0 20px; -} - -dt { - font-family: 'Open Sans', Myriad, Calibri, sans-serif; - font-weight: bold; -} - -dd { - padding-left: 1.35em; -} - -dd p:first-child { - margin-top: 0; -} - -/* Content based headers */ - -#main_content > .header-level-1:first-child, -#main_content > .header-level-2:first-child, -#main_content > .header-level-3:first-child, -#main_content > .header-level-4:first-child, -#main_content > .header-level-5:first-child, -#main_content > .header-level-6:first-child { - margin-top: 0; -} - -.header-level-1 { - font-size: 1.85em; - border-bottom: .2em double #d3ccc1; - color: #7c334f; - text-align: center; - font-style: italic; - margin: 1.1em 0 .38em; - line-height: 1.2; - padding-bottom: 10px -} - -.header-level-2 { - font-size: 1.58em; - color: #7c334f; - margin: .95em 0 .5em; - border-bottom: .1em solid #D3CCC1; - line-height: 1.2; - padding-bottom: 10px -} - -.header-level-3 { - margin: 20px 0 10px; - font-size: 1.45em; -} - -.header-level-4 { - margin: .6em 0; - font-size: 1.2em; - color: #cd596b; -} - -.header-level-5 { - margin: .7em 0; - font-size: 1em; - color: #8b786f; -} - -.header-level-6 { - margin: .8em 0; - font-size: .85em; - font-style: italic; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/mobile.css b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/mobile.css deleted file mode 100644 index c860c09..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/mobile.css +++ /dev/null @@ -1,510 +0,0 @@ -/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 9, 2012 */ - - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-regular-webfont.eot'); - src: url('../fonts/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-regular-webfont.woff') format('woff'), - url('../fonts/opensans-regular-webfont.ttf') format('truetype'), - url('../fonts/opensans-regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-italic-webfont.eot'); - src: url('../fonts/opensans-italic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-italic-webfont.woff') format('woff'), - url('../fonts/opensans-italic-webfont.ttf') format('truetype'), - url('../fonts/opensans-italic-webfont.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-bold-webfont.eot'); - src: url('../fonts/opensans-bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-bold-webfont.woff') format('woff'), - url('../fonts/opensans-bold-webfont.ttf') format('truetype'), - url('../fonts/opensans-bold-webfont.svg#OpenSansBold') format('svg'); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-bolditalic-webfont.eot'); - src: url('../fonts/opensans-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-bolditalic-webfont.woff') format('woff'), - url('../fonts/opensans-bolditalic-webfont.ttf') format('truetype'), - url('../fonts/opensans-bolditalic-webfont.svg#OpenSansBoldItalic') format('svg'); - font-weight: bold; - font-style: italic; -} - -@font-face { - font-family: 'Open Sans'; - src: url('../fonts/opensans-extrabold-webfont.eot'); - src: url('../fonts/opensans-extrabold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/opensans-extrabold-webfont.woff') format('woff'), - url('../fonts/opensans-extrabold-webfont.ttf') format('truetype'), - url('../fonts/opensans-extrabold-webfont.svg#OpenSansExtrabold') format('svg'); - font-weight: bolder; - font-style: normal; -} - - -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} - -header, footer, section { - display: block; - position: relative; -} - -/* STYLES */ - -div.shell { - display: block; - width: 640px; - margin: 0 auto; -} - -a#forkme_banner { - display: none; -} - -/* header */ - -header { - position: relative; - z-index: 2; - margin: 0; - max-width: 640px; - top: 51px; -} - -header span.ribbon-inner { - position: relative; - display: block; - background-color: #cd596b; - border: 8px solid #7c334f; - padding: 6px; - z-index: 1; -} - -header span.left-tail, header span.right-tail { - position: relative; - display: block; - width: 19px; - height: 10px; - background: transparent url(../images/ribbon-tail-sprite-2x.png) 0 0 no-repeat; - position: absolute; - bottom: -10px; - z-index: 0; -} - -header span.left-tail { - background-position: 0 0; - left: 0; -} - -header span.right-tail { - background-position: -19px 0; - right: 0; -} - -header h1 { - background-color: #7c334f; - font-size: 2em; - font-weight: bolder; - font-style: normal; - text-transform: uppercase; - color: #ece4d8; - text-align: center; - line-height:1; - padding: 14px 20px 0; -} - -header h2 { - background-color: #7c334f; - font: bold italic .85em/1.5 Georgia, Times, “Times New Roman”, serif; - color: #e69b95; - padding-bottom: 14px; - margin-top: -3px; - text-align: center; -} - -section#downloads { - position: relative; - display: block; - height: 171px; - width: 602px; - padding-bottom: 150px; - margin: 51px auto -250px; - z-index: 1; - background: transparent url(../images/shield.png) center 0 no-repeat; -} - -section#downloads a { - display: none; -} - -span.banner-fix { - background: transparent url(../images/shield-fallback.png) center top no-repeat; - display: block; - height: 31px; - position: absolute; - width: 640px; - top: 20px; - -} - -section#main_content { - z-index: 2; - padding: 20px 40px 0; - min-height:185px; -} - -/* footer */ - -footer { - background: none; - padding-top: 104px; - margin: -94px auto 40px; - max-width:640px; - text-align: center; -} - -footer span.ribbon-outer { - display: block; - position: relative; - border-bottom: 2px solid #bdb6ad; -} - -footer span.ribbon-inner { - position: relative; - display: block; - background-color: #cd596b; - border: 8px solid #7c334f; - padding: 6px; - z-index: 1; -} - -footer p { - font-family: 'Open Sans', sans-serif; - font-weight: bold; - font-size: .6em; - color: #8b786f; -} - -footer a { - color: #cd596b; -} - -footer span.ribbon-inner p { - background-color: #7c334f; - margin: 0; - color: #e69b95; - font: bold italic 22px/1 Georgia, Times, “Times New Roman”, serif; - height: auto; - line-height: 1.1; - padding: 20px 0px 10px; -} - -footer span.ribbon-inner a { - display: block; - position: relative; - bottom: 0; - color: #7eb0d2; - font-family: 'Open Sans', sans-serif; - text-transform: uppercase; - font-style: normal; - font-weight: bolder; - font-size: 38px; - padding-bottom: 10px; -} - -footer span.ribbon-inner a:hover { - color: #7eb0d2; -} - -footer span.left-tail, footer span.right-tail { - position: relative; - display: block; - width: 23px; - height: 126px; - background: transparent url(../images/small-ribbon-tail-sprite-2x.png) 0 0 no-repeat; - position: absolute; - top: -126px; - z-index: 0; -} - -footer span.left-tail { - background-position: 0 0; - left: 0; -} - -footer span.right-tail { - background-position: -23px 0; - right: 0; -} - -footer span.octocat { - background: transparent url(../images/octocat-2x.png) 0 0 no-repeat; - display: block; - width: 60px; - height: 60px; - margin: 20px auto 0;} - -/* content */ - -body { - background: #ece4d8; - font: normal normal 30px/1.5 Georgia, Palatino,” Palatino Linotype”, Times, “Times New Roman”, serif; - color: #544943; - -webkit-font-smoothing: antialiased; -} - -a, a:hover { - color: #417090; -} - -a { - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -h1,h2,h3,h4,h5,h6 { - font-family: 'Open Sans', sans-serif; - font-weight: bold; -} - -p { - margin: .7em 0 0; -} - -strong { - font-weight: bold; -} - -em { - font-style: italic; -} - -ol { - margin: .7em 0; - list-style-type: decimal; - padding-left: 1.35em; -} - -ul { - margin: .7em 0; - padding-left: 1.35em; -} - -ul li { - padding-left: 20px; - background: transparent url(../images/chevron-2x.png) left 15px no-repeat; -} - -blockquote { - font-family: 'Open Sans', sans-serif; - margin: 20px 0; - color: #8b786f; - padding-left: 1.35em; - background: transparent url('../images/blockquote-gfx-2x.png') 0 8px no-repeat; -} - -img { - -webkit-box-shadow: 0px 4px 0px #bdb6ad; - -moz-box-shadow: 0px 4px 0px #bdb6ad; - box-shadow: 0px 4px 0px #bdb6ad; - border: 4px solid #fff6e9; - max-width: 556px; -} - -hr { - border: none; - outline: none; - height: 42px; - background: transparent url('../images/hr-2x.jpg') center center repeat-x; - margin: 0 0 20px; -} - -code { - background: #fff6e9; - font: normal normal .9em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; - padding: 0 5px 1px; -} - -pre { - margin: 10px 0 20px; - padding: .7em; - background: #fff6e9; - border-bottom: 4px solid #bdb6ad; - font: normal normal .9em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; - overflow: auto; -} - -table { - background: #fff6e9; - display: table; - width: 100%; - border-collapse: separate; - border-bottom: 4px solid #bdb6ad; - margin: 10px 0; -} - -tr { - display: table-row; -} - -th { - display: table-cell; - padding: 2px 10px; - border: solid #ece4d8; - border-width: 0 4px 4px 0; - color: #cd596b; - font-family: 'Open Sans', sans-serif; - font-weight: bold; - font-size: .85em; -} - -td { - display: table-cell; - padding: 0 .7em; - border: solid #ece4d8; - border-width: 0 4px 4px 0; -} - -td:last-child, th:last-child { - border-right: none; -} - -tr:last-child td { - border-bottom: none; -} - -dl { - margin: .7em 0 20px; -} - -dt { - font-family: 'Open Sans', sans-serif; - font-weight: bold; -} - -dd { - padding-left: 1.35em; -} - -dd p:first-child { - margin-top: 0; -} - -/* Content based headers */ - -#main_content > .header-level-1:first-child, -#main_content > .header-level-2:first-child, -#main_content > .header-level-3:first-child, -#main_content > .header-level-4:first-child, -#main_content > .header-level-5:first-child, -#main_content > .header-level-6:first-child { - margin-top: 0; -} - -.header-level-1 { - font-size: 1.85em; - border-bottom: .2em double #d3ccc1; - color: #7c334f; - text-align: center; - font-style: italic; - margin: 1.1em 0 .38em; - line-height: 1.2; - padding-bottom: 10px -} - -.header-level-2 { - font-size: 1.58em; - color: #7c334f; - margin: .95em 0 .5em; - border-bottom: .1em solid #D3CCC1; - line-height: 1.2; - padding-bottom: 10px -} - -.header-level-3 { - margin: 20px 0 10px; - font-size: 1.45em; -} - -.header-level-4 { - margin: .6em 0; - font-size: 1.2em; - color: #cd596b; -} - -.header-level-5 { - margin: .7em 0; - font-size: 1em; - color: #8b786f; -} - -.header-level-6 { - margin: .8em 0; - font-size: .85em; - font-style: italic; -} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/non-screen.css b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/non-screen.css deleted file mode 100644 index eea5ecd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/non-screen.css +++ /dev/null @@ -1,154 +0,0 @@ -a#forkme_banner { - display: none; -} - -div.shell { - width: 640px; -} - - -header { - max-width:640px; - margin: 0; - top: 51px; -} - -header span.ribbon-inner { - border: 8px solid #7c334f; - padding: 6px; -} - -header span.left-tail, header span.right-tail { - width: 19px; - height: 10px; - background: transparent url(../images/ribbon-tail-sprite-2x.png) 0 0 no-repeat; - bottom: -10px; -} - -header span.left-tail { - left: 0; -} - -header span.right-tail { - background-position: -19px 0; - right: 0; -} - -header h1 { - font-size: 2em; -} - -section#downloads { - height: 171px; - width: 602px; - margin: 51px auto -250px; - background: transparent url(../images/shield.png) center 0 no-repeat; -} - -section#downloads a { - display: none; -} - -span.banner-fix { - background: transparent url(../images/shield-fallback.png) center top no-repeat; - height: 31px; - width: 640px; - top: 20px; -} - -section#main_content { - padding: 20px 40px 0; -} - -footer { - max-width:640px; - background: none; -} - -footer span.left-tail, footer span.right-tail { - width: 23px; - height: 126px; - background: transparent url(../images/small-ribbon-tail-sprite-2x.png) 0 0 no-repeat; - top: -126px; -} - -footer span.left-tail { - left: 0; -} - -footer span.right-tail { - background-position: -23px 0; - right: 0; -} - -footer p { - font-size: .6em; -} - -footer span.ribbon-inner { - border: 8px solid #7c334f; - padding: 6px; -} - -footer span.ribbon-inner p { - font-size: 22px; - height: auto; - line-height: 1.1; - padding: 20px 0px 10px; -} - -footer span.ribbon-inner a { - font-size: 38px; - display: block; - bottom: 0; - padding-bottom: 10px; -} - -footer span.octocat { - background: transparent url(../images/octocat-2x.png) 0 0 no-repeat; - width: 60px; - height: 60px; - margin: 20px auto 0; -} - -body { - font: normal normal 30px/1.5 Georgia, Palatino,” Palatino Linotype”, Times, “Times New Roman”, serif; -} - -ul li { - padding-left: 20px; - background: transparent url(../images/chevron-2x.png) left 15px no-repeat; -} - -table { - border-bottom: 4px solid #bdb6ad; -} - -th { - border-width: 0 4px 4px 0; -} - -td { - border-width: 0 4px 4px 0; -} - -pre { - border-bottom: 4px solid #bdb6ad; -} - -img { - -webkit-box-shadow: 0px 4px 0px #bdb6ad; - -moz-box-shadow: 0px 4px 0px #bdb6ad; - box-shadow: 0px 4px 0px #bdb6ad; - border: 4px solid #fff6e9; - max-width: 556px; -} - -blockquote { - background: transparent url('../images/blockquote-gfx-2x.png') 0 8px no-repeat; -} - -hr { - height: 42px; - background: transparent url('../images/hr-2x.jpg') center center repeat-x; -} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/style.scss deleted file mode 100644 index 89562e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import 'jekyll-theme-merlot'; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.eot deleted file mode 100755 index b5bad08..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.svg deleted file mode 100755 index 1557f68..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom -</metadata> -<defs> -<font id="OpenSansBold" horiz-adv-x="1169" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="532" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="&#x09;" horiz-adv-x="532" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="586" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM121 1462h346l-51 -977h-244z" /> -<glyph unicode="&#x22;" horiz-adv-x="967" d="M133 1462h279l-41 -528h-197zM555 1462h279l-41 -528h-197z" /> -<glyph unicode="#" horiz-adv-x="1323" d="M45 406v206h277l47 232h-252v209h289l77 407h219l-77 -407h198l78 407h215l-78 -407h240v-209h-279l-47 -232h258v-206h-297l-77 -406h-220l78 406h-194l-76 -406h-215l74 406h-238zM539 612h196l47 232h-196z" /> -<glyph unicode="$" d="M88 1049q0 145 113.5 238.5t316.5 113.5v153h137v-149q229 -10 414 -92l-94 -234q-156 64 -320 78v-295q195 -75 277.5 -130t121 -121t38.5 -154q0 -159 -115 -255.5t-322 -115.5v-205h-137v201q-244 5 -428 86v264q87 -43 209.5 -76t218.5 -39v310l-67 26 q-198 78 -280.5 169.5t-82.5 226.5zM389 1049q0 -44 30.5 -72.5t98.5 -58.5v235q-129 -19 -129 -104zM655 324q136 23 136 118q0 42 -34 71t-102 60v-249z" /> -<glyph unicode="%" horiz-adv-x="1845" d="M63 1026q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5q0 -230 -89 -345.5t-261 -115.5q-165 0 -255 118.5t-90 342.5zM315 1024q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM395 0l811 1462h240l-811 -1462h-240z M1087 442q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5q0 -229 -89 -344.5t-261 -115.5q-165 0 -255 118.5t-90 341.5zM1339 440q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5z" /> -<glyph unicode="&#x26;" horiz-adv-x="1536" d="M82 395q0 137 60.5 233.5t207.5 180.5q-75 86 -109 164.5t-34 171.5q0 152 116.5 245t311.5 93q186 0 297.5 -86.5t111.5 -231.5q0 -119 -69 -217.5t-223 -187.5l284 -277q71 117 123 301h318q-36 -135 -99 -263.5t-143 -227.5l301 -293h-377l-115 113 q-191 -133 -432 -133q-244 0 -387 112t-143 303zM403 424q0 -86 64.5 -137t165.5 -51q126 0 227 61l-332 330q-58 -44 -91.5 -92t-33.5 -111zM489 1124q0 -88 95 -194q86 48 132 94.5t46 108.5q0 53 -36 83.5t-93 30.5q-67 0 -105.5 -32t-38.5 -91z" /> -<glyph unicode="'" horiz-adv-x="545" d="M133 1462h279l-41 -528h-197z" /> -<glyph unicode="(" horiz-adv-x="694" d="M82 561q0 265 77.5 496t223.5 405h250q-141 -193 -213 -424t-72 -475q0 -245 73.5 -473.5t209.5 -413.5h-248q-147 170 -224 397t-77 488z" /> -<glyph unicode=")" horiz-adv-x="694" d="M61 1462h250q147 -175 224 -406.5t77 -494.5t-77.5 -490t-223.5 -395h-248q135 184 209 412.5t74 474.5q0 244 -72 475t-213 424z" /> -<glyph unicode="*" horiz-adv-x="1116" d="M63 1042l39 250l365 -104l-41 368h262l-41 -368l373 104l33 -252l-340 -24l223 -297l-227 -121l-156 313l-137 -311l-236 119l221 297z" /> -<glyph unicode="+" d="M88 612v219h387v390h219v-390h387v-219h-387v-385h-219v385h-387z" /> -<glyph unicode="," horiz-adv-x="594" d="M63 -264q65 266 101 502h280l15 -23q-52 -202 -176 -479h-220z" /> -<glyph unicode="-" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" /> -<glyph unicode="." horiz-adv-x="584" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> -<glyph unicode="/" horiz-adv-x="846" d="M14 0l545 1462h277l-545 -1462h-277z" /> -<glyph unicode="0" d="M74 731q0 387 125 570.5t385 183.5q253 0 382.5 -192t129.5 -562q0 -383 -125.5 -567t-386.5 -184q-253 0 -381.5 190t-128.5 561zM381 731q0 -269 46.5 -385.5t156.5 -116.5q108 0 156 118t48 384q0 269 -48.5 386.5t-155.5 117.5q-109 0 -156 -117.5t-47 -386.5z" /> -<glyph unicode="1" d="M121 1087l471 375h254v-1462h-309v846l3 139l5 152q-77 -77 -107 -101l-168 -135z" /> -<glyph unicode="2" d="M78 1274q108 92 179 130t155 58.5t188 20.5q137 0 242 -50t163 -140t58 -206q0 -101 -35.5 -189.5t-110 -181.5t-262.5 -265l-188 -177v-14h637v-260h-1022v215l367 371q163 167 213 231.5t72 119.5t22 114q0 88 -48.5 131t-129.5 43q-85 0 -165 -39t-167 -111z" /> -<glyph unicode="3" d="M78 59v263q85 -43 187 -70t202 -27q153 0 226 52t73 167q0 103 -84 146t-268 43h-111v237h113q170 0 248.5 44.5t78.5 152.5q0 166 -208 166q-72 0 -146.5 -24t-165.5 -83l-143 213q200 144 477 144q227 0 358.5 -92t131.5 -256q0 -137 -83 -233t-233 -132v-6 q177 -22 268 -107.5t91 -230.5q0 -211 -153 -328.5t-437 -117.5q-238 0 -422 79z" /> -<glyph unicode="4" d="M35 303v215l641 944h285v-919h176v-240h-176v-303h-302v303h-624zM307 543h352v248q0 62 5 180t8 137h-8q-37 -82 -89 -160z" /> -<glyph unicode="5" d="M100 59v267q79 -42 184 -68.5t199 -26.5q283 0 283 232q0 221 -293 221q-53 0 -117 -10.5t-104 -22.5l-123 66l55 745h793v-262h-522l-27 -287l35 7q61 14 151 14q212 0 337.5 -119t125.5 -326q0 -245 -151 -377t-432 -132q-244 0 -394 79z" /> -<glyph unicode="6" d="M72 621q0 434 183.5 646t549.5 212q125 0 196 -15v-247q-89 20 -176 20q-159 0 -259.5 -48t-150.5 -142t-59 -267h13q99 170 317 170q196 0 307 -123t111 -340q0 -234 -132 -370.5t-366 -136.5q-162 0 -282.5 75t-186 219t-65.5 347zM379 510q0 -119 62.5 -201t158.5 -82 q99 0 152 66.5t53 189.5q0 107 -49.5 168.5t-149.5 61.5q-94 0 -160.5 -61t-66.5 -142z" /> -<glyph unicode="7" d="M55 1200v260h1049v-194l-553 -1266h-324l549 1200h-721z" /> -<glyph unicode="8" d="M72 371q0 125 66.5 222t213.5 171q-125 79 -180 169t-55 197q0 157 130 254t339 97q210 0 338.5 -95.5t128.5 -257.5q0 -112 -62 -199.5t-200 -156.5q164 -88 235.5 -183.5t71.5 -209.5q0 -180 -141 -289.5t-371 -109.5q-240 0 -377 102t-137 289zM358 389q0 -86 60 -134 t164 -48q115 0 172 49.5t57 130.5q0 67 -56.5 125.5t-183.5 124.5q-213 -98 -213 -248zM408 1106q0 -60 38.5 -107.5t139.5 -97.5q98 46 137 94t39 111q0 69 -50 109t-128 40q-79 0 -127.5 -40.5t-48.5 -108.5z" /> -<glyph unicode="9" d="M66 971q0 235 133.5 371.5t363.5 136.5q162 0 283.5 -76t186.5 -220.5t65 -344.5q0 -432 -182 -645t-551 -213q-130 0 -197 14v248q84 -21 176 -21q155 0 255 45.5t153 143t61 268.5h-12q-58 -94 -134 -132t-190 -38q-191 0 -301 122.5t-110 340.5zM365 975 q0 -106 49 -168t149 -62q94 0 161 61.5t67 141.5q0 119 -62.5 201t-159.5 82q-96 0 -150 -66t-54 -190z" /> -<glyph unicode=":" horiz-adv-x="584" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM117 969q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" /> -<glyph unicode=";" horiz-adv-x="594" d="M63 -264q65 266 101 502h280l15 -23q-52 -202 -176 -479h-220zM117 969q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" /> -<glyph unicode="&#x3c;" d="M88 641v143l993 496v-240l-684 -317l684 -281v-239z" /> -<glyph unicode="=" d="M88 418v219h993v-219h-993zM88 805v219h993v-219h-993z" /> -<glyph unicode="&#x3e;" d="M88 203v239l684 281l-684 317v240l993 -496v-143z" /> -<glyph unicode="?" horiz-adv-x="977" d="M6 1358q223 125 473 125q206 0 327.5 -99t121.5 -264q0 -110 -50 -190t-190 -180q-96 -71 -121.5 -108t-25.5 -97v-60h-265v74q0 96 41 167t150 151q105 75 138.5 122t33.5 105q0 65 -48 99t-134 34q-150 0 -342 -98zM244 143q0 84 45 127t131 43q83 0 128.5 -44 t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> -<glyph unicode="@" horiz-adv-x="1837" d="M102 602q0 247 108.5 448.5t309 316t461.5 114.5q220 0 393 -90t267 -256t94 -383q0 -144 -46 -263.5t-130 -187.5t-195 -68q-74 0 -131 35.5t-82 93.5h-16q-108 -129 -275 -129q-177 0 -279 106.5t-102 291.5q0 211 134 340t350 129q86 0 189.5 -16.5t170.5 -39.5 l-23 -489q0 -139 76 -139q64 0 102 93.5t38 244.5q0 161 -67 284.5t-188.5 188.5t-277.5 65q-202 0 -351 -83t-228.5 -239.5t-79.5 -361.5q0 -276 147.5 -423.5t427.5 -147.5q106 0 233 23.5t250 68.5v-192q-214 -91 -475 -91q-380 0 -592.5 200t-212.5 556zM711 627 q0 -211 172 -211q90 0 137 63.5t57 206.5l13 221q-51 11 -115 11q-125 0 -194.5 -78t-69.5 -213z" /> -<glyph unicode="A" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633z" /> -<glyph unicode="B" horiz-adv-x="1376" d="M184 0v1462h455q311 0 451.5 -88.5t140.5 -281.5q0 -131 -61.5 -215t-163.5 -101v-10q139 -31 200.5 -116t61.5 -226q0 -200 -144.5 -312t-392.5 -112h-547zM494 256h202q128 0 189 49t61 150q0 182 -260 182h-192v-381zM494 883h180q126 0 182.5 39t56.5 129 q0 84 -61.5 120.5t-194.5 36.5h-163v-325z" /> -<glyph unicode="C" horiz-adv-x="1305" d="M119 729q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5z" /> -<glyph unicode="D" horiz-adv-x="1516" d="M184 0v1462h459q358 0 556 -189t198 -528q0 -361 -205.5 -553t-593.5 -192h-414zM494 256h133q448 0 448 481q0 471 -416 471h-165v-952z" /> -<glyph unicode="E" horiz-adv-x="1147" d="M184 0v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256h-842z" /> -<glyph unicode="F" horiz-adv-x="1124" d="M184 0v1462h838v-254h-533v-377h496v-253h-496v-578h-305z" /> -<glyph unicode="G" horiz-adv-x="1483" d="M119 733q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5z" /> -<glyph unicode="H" horiz-adv-x="1567" d="M184 0v1462h310v-573h579v573h309v-1462h-309v631h-579v-631h-310z" /> -<glyph unicode="I" horiz-adv-x="678" d="M184 0v1462h310v-1462h-310z" /> -<glyph unicode="J" horiz-adv-x="678" d="M-152 -150q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134q-105 0 -183 22v258z" /> -<glyph unicode="K" horiz-adv-x="1360" d="M184 0v1462h310v-669l122 172l396 497h344l-510 -647l514 -815h-352l-383 616l-131 -94v-522h-310z" /> -<glyph unicode="L" horiz-adv-x="1157" d="M184 0v1462h310v-1206h593v-256h-903z" /> -<glyph unicode="M" horiz-adv-x="1931" d="M184 0v1462h422l346 -1118h6l367 1118h422v-1462h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284l-352 1147h-9q19 -350 19 -467v-680h-277z" /> -<glyph unicode="N" horiz-adv-x="1665" d="M184 0v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462h-394l-636 1106h-9q19 -293 19 -418v-688h-277z" /> -<glyph unicode="O" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -363 -180 -558t-516 -195t-516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" /> -<glyph unicode="P" horiz-adv-x="1286" d="M184 0v1462h467q266 0 404.5 -114.5t138.5 -341.5q0 -236 -147.5 -361t-419.5 -125h-133v-520h-310zM494 774h102q143 0 214 56.5t71 164.5q0 109 -59.5 161t-186.5 52h-141v-434z" /> -<glyph unicode="Q" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -258 -91.5 -432.5t-268.5 -255.5l352 -393h-397l-268 328h-23q-336 0 -516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" /> -<glyph unicode="R" horiz-adv-x="1352" d="M184 0v1462h426q298 0 441 -108.5t143 -329.5q0 -129 -71 -229.5t-201 -157.5q330 -493 430 -637h-344l-349 561h-165v-561h-310zM494 813h100q147 0 217 49t70 154q0 104 -71.5 148t-221.5 44h-94v-395z" /> -<glyph unicode="S" horiz-adv-x="1128" d="M94 68v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107 q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88z" /> -<glyph unicode="T" horiz-adv-x="1186" d="M41 1204v258h1104v-258h-397v-1204h-310v1204h-397z" /> -<glyph unicode="U" horiz-adv-x="1548" d="M174 520v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5z" /> -<glyph unicode="V" horiz-adv-x="1331" d="M0 1462h313l275 -870q23 -77 47.5 -179.5t30.5 -142.5q11 92 75 322l277 870h313l-497 -1462h-338z" /> -<glyph unicode="W" horiz-adv-x="1980" d="M0 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305l-372 -1462h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352z" /> -<glyph unicode="X" horiz-adv-x="1366" d="M0 0l485 754l-454 708h342l315 -526l309 526h334l-459 -725l494 -737h-354l-340 553l-340 -553h-332z" /> -<glyph unicode="Y" horiz-adv-x="1278" d="M0 1462h336l303 -602l305 602h334l-485 -893v-569h-308v559z" /> -<glyph unicode="Z" horiz-adv-x="1186" d="M49 0v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256h-1088z" /> -<glyph unicode="[" horiz-adv-x="678" d="M143 -324v1786h484v-211h-224v-1364h224v-211h-484z" /> -<glyph unicode="\" horiz-adv-x="846" d="M12 1462h277l545 -1462h-277z" /> -<glyph unicode="]" horiz-adv-x="678" d="M51 -113h223v1364h-223v211h484v-1786h-484v211z" /> -<glyph unicode="^" horiz-adv-x="1090" d="M8 520l438 950h144l495 -950h-239l-322 643l-280 -643h-236z" /> -<glyph unicode="_" horiz-adv-x="842" d="M-4 -184h850v-140h-850v140z" /> -<glyph unicode="`" horiz-adv-x="1243" d="M332 1548v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="a" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134z" /> -<glyph unicode="b" horiz-adv-x="1296" d="M160 0v1556h305v-362q0 -69 -12 -221h12q107 166 317 166q198 0 310 -154.5t112 -423.5q0 -277 -115.5 -429t-314.5 -152q-197 0 -309 143h-21l-51 -123h-233zM465 563q0 -180 53.5 -258t169.5 -78q94 0 149.5 86.5t55.5 251.5t-56 247.5t-153 82.5q-113 0 -165 -69.5 t-54 -229.5v-33z" /> -<glyph unicode="c" horiz-adv-x="1053" d="M92 553q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18q-522 0 -522 573z" /> -<glyph unicode="d" horiz-adv-x="1296" d="M92 557q0 275 114.5 428.5t315.5 153.5q211 0 322 -164h10q-23 125 -23 223v358h306v-1556h-234l-59 145h-13q-104 -165 -317 -165q-197 0 -309.5 153t-112.5 424zM401 553q0 -165 57 -247.5t163 -82.5q117 0 171.5 68t59.5 231v33q0 180 -55.5 258t-180.5 78 q-102 0 -158.5 -86.5t-56.5 -251.5z" /> -<glyph unicode="e" horiz-adv-x="1210" d="M92 551q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5q-270 0 -422 149t-152 422zM408 686h428q-2 113 -59 174.5t-154 61.5t-152 -61.5t-63 -174.5z" /> -<glyph unicode="f" horiz-adv-x="793" d="M41 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229h-264v-889h-305v889h-168z" /> -<glyph unicode="g" horiz-adv-x="1157" d="M6 -182q0 101 63 169t185 97q-47 20 -82 65.5t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80 q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144t126.5 -53 q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202z" /> -<glyph unicode="h" horiz-adv-x="1346" d="M160 0v1556h305v-317q0 -37 -7 -174l-7 -90h16q102 164 324 164q197 0 299 -106t102 -304v-729h-305v653q0 242 -180 242q-128 0 -185 -87t-57 -282v-526h-305z" /> -<glyph unicode="i" horiz-adv-x="625" d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM160 0v1118h305v-1118h-305z" /> -<glyph unicode="j" horiz-adv-x="625" d="M-131 -227q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5q-117 0 -201 25v240zM147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> -<glyph unicode="k" horiz-adv-x="1270" d="M160 0v1556h305v-694l-16 -254h4l133 170l313 340h344l-444 -485l471 -633h-352l-322 453l-131 -105v-348h-305z" /> -<glyph unicode="l" horiz-adv-x="625" d="M160 0v1556h305v-1556h-305z" /> -<glyph unicode="m" horiz-adv-x="2011" d="M160 0v1118h233l41 -143h17q45 77 130 120.5t195 43.5q251 0 340 -164h27q45 78 132.5 121t197.5 43q190 0 287.5 -97.5t97.5 -312.5v-729h-306v653q0 121 -40.5 181.5t-127.5 60.5q-112 0 -167.5 -80t-55.5 -254v-561h-305v653q0 121 -40.5 181.5t-127.5 60.5 q-117 0 -170 -86t-53 -283v-526h-305z" /> -<glyph unicode="n" horiz-adv-x="1346" d="M160 0v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305z" /> -<glyph unicode="o" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5z" /> -<glyph unicode="p" horiz-adv-x="1296" d="M160 -492v1610h248l43 -145h14q107 166 317 166q198 0 310 -153t112 -425q0 -179 -52.5 -311t-149.5 -201t-228 -69q-197 0 -309 143h-16q16 -140 16 -162v-453h-305zM465 563q0 -180 53.5 -258t169.5 -78q205 0 205 338q0 165 -50.5 247.5t-158.5 82.5 q-113 0 -165 -69.5t-54 -229.5v-33z" /> -<glyph unicode="q" horiz-adv-x="1296" d="M92 557q0 274 114.5 428t313.5 154q106 0 185 -40t139 -124h8l27 143h258v-1610h-306v469q0 61 13 168h-13q-49 -81 -130 -123t-187 -42q-198 0 -310 152.5t-112 424.5zM403 553q0 -168 53.5 -251t166.5 -83q116 0 170 66.5t59 232.5v37q0 180 -55.5 258t-178.5 78 q-215 0 -215 -338z" /> -<glyph unicode="r" horiz-adv-x="930" d="M160 0v1118h231l45 -188h15q52 94 140.5 151.5t192.5 57.5q62 0 103 -9l-23 -286q-37 10 -90 10q-146 0 -227.5 -75t-81.5 -210v-569h-305z" /> -<glyph unicode="s" horiz-adv-x="1018" d="M92 827q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27 q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5z" /> -<glyph unicode="t" horiz-adv-x="889" d="M47 889v129l168 102l88 236h195v-238h313v-229h-313v-539q0 -65 36.5 -96t96.5 -31q80 0 192 35v-227q-114 -51 -280 -51q-183 0 -266.5 92.5t-83.5 277.5v539h-146z" /> -<glyph unicode="u" horiz-adv-x="1346" d="M154 389v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5z" /> -<glyph unicode="v" horiz-adv-x="1165" d="M0 1118h319l216 -637q36 -121 45 -229h6q5 96 45 229l215 637h319l-426 -1118h-313z" /> -<glyph unicode="w" horiz-adv-x="1753" d="M20 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332l-86 391l-116 494h-7l-204 -885h-328z" /> -<glyph unicode="x" horiz-adv-x="1184" d="M10 0l379 571l-360 547h346l217 -356l219 356h346l-364 -547l381 -571h-347l-235 383l-236 -383h-346z" /> -<glyph unicode="y" horiz-adv-x="1165" d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55z" /> -<glyph unicode="z" horiz-adv-x="999" d="M55 0v180l518 705h-487v233h834v-198l-504 -687h522v-233h-883z" /> -<glyph unicode="{" horiz-adv-x="807" d="M31 449v239q126 0 191 44t65 126v8v318q0 153 97 215.5t341 62.5v-225q-99 -3 -136.5 -38t-37.5 -103v-299q-6 -188 -234 -222v-12q234 -35 234 -212v-9v-299q0 -68 37 -103t137 -38v-226q-244 0 -341 62.5t-97 216.5v315q0 87 -65.5 133t-190.5 46z" /> -<glyph unicode="|" horiz-adv-x="1128" d="M455 -465v2015h219v-2015h-219z" /> -<glyph unicode="}" horiz-adv-x="807" d="M82 -98q99 2 136.5 36t37.5 105v299v11q0 86 59 139.5t174 70.5v12q-227 34 -233 222v299q0 70 -37 104t-137 37v225q167 0 262 -26.5t135.5 -84t40.5 -167.5v-318v-10q0 -84 61.5 -126t194.5 -42v-239q-125 0 -190.5 -41t-65.5 -138v-315q0 -112 -41 -169t-135.5 -83.5 t-261.5 -26.5v226z" /> -<glyph unicode="~" d="M88 551v231q103 109 256 109q73 0 137.5 -16t139.5 -48q129 -55 227 -55q53 0 116 32t117 89v-231q-101 -109 -256 -109q-66 0 -126 13t-150 50q-131 56 -227 56q-55 0 -117.5 -33.5t-116.5 -87.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="586" d="M117 -369l51 975h244l51 -975h-346zM117 948q0 81 46.5 125.5t127.5 44.5q84 0 130 -44t46 -126q0 -84 -45 -127t-131 -43q-83 0 -128.5 44t-45.5 126z" /> -<glyph unicode="&#xa2;" d="M143 741q0 261 104.5 403t315.5 173v166h178v-158q166 -9 299 -74l-90 -235q-72 29 -134 47t-124 18q-121 0 -179 -83.5t-58 -254.5q0 -327 237 -327q82 0 148 15.5t166 60.5v-254q-127 -61 -265 -70v-188h-178v196q-420 59 -420 565z" /> -<glyph unicode="&#xa3;" d="M82 0v248q103 44 141.5 101t38.5 157v145h-178v219h178v195q0 201 114.5 309.5t323.5 108.5q195 0 390 -82l-93 -230q-157 64 -272 64q-78 0 -120 -44.5t-42 -127.5v-193h375v-219h-375v-143q0 -170 -151 -248h718v-260h-1048z" /> -<glyph unicode="&#xa4;" d="M113 1047l147 147l127 -127q91 53 197 53q105 0 196 -55l127 129l150 -143l-129 -129q53 -89 53 -199q0 -107 -53 -199l125 -125l-146 -145l-127 125q-95 -51 -196 -51q-115 0 -199 51l-125 -123l-145 145l127 125q-54 93 -54 197q0 102 54 197zM395 723 q0 -77 54.5 -132.5t134.5 -55.5q81 0 136.5 55t55.5 133q0 80 -56.5 135t-135.5 55q-78 0 -133.5 -56t-55.5 -134z" /> -<glyph unicode="&#xa5;" d="M6 1462h316l262 -602l264 602h313l-383 -747h195v-178h-246v-138h246v-178h-246v-221h-287v221h-247v178h247v138h-247v178h190z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M455 350h219v-815h-219v815zM455 735v815h219v-815h-219z" /> -<glyph unicode="&#xa7;" horiz-adv-x="995" d="M106 59v207q81 -41 180 -69.5t169 -28.5q194 0 194 117q0 39 -18.5 63t-63.5 49.5t-125 59.5q-183 74 -252 152.5t-69 195.5q0 79 36 144.5t97 105.5q-133 84 -133 233q0 131 111.5 210t293.5 79q170 0 363 -84l-82 -190q-68 32 -138.5 57.5t-148.5 25.5q-81 0 -118 -23 t-37 -71q0 -49 49.5 -86t163.5 -82q163 -64 240 -148.5t77 -193.5q0 -177 -125 -260q62 -40 93.5 -92.5t31.5 -126.5q0 -148 -119.5 -235.5t-320.5 -87.5q-203 0 -349 79zM344 827q0 -67 65 -119t181 -98q78 57 78 146q0 68 -50.5 115t-183.5 96q-37 -14 -63.5 -53.5 t-26.5 -86.5z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1243" d="M279 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM682 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM242 731q0 -164 82 -305.5t224 -223t304 -81.5q164 0 305.5 82t223 224t81.5 304q0 164 -82 305.5t-224 223 t-304 81.5q-164 0 -305.5 -82t-223 -224t-81.5 -304zM461 733q0 220 110.5 342.5t309.5 122.5q149 0 305 -78l-74 -168q-113 58 -217 58q-97 0 -150 -74t-53 -205q0 -280 203 -280q57 0 123 15t123 44v-191q-120 -57 -252 -57q-204 0 -316 125t-112 346z" /> -<glyph unicode="&#xaa;" horiz-adv-x="784" d="M47 975q0 109 82.5 163.5t267.5 63.5l99 4q0 117 -127 117q-81 0 -217 -61l-66 135q66 32 145.5 57t178.5 25q137 0 211.5 -71t74.5 -202v-442h-135l-31 110q-43 -58 -105 -90t-136 -32q-117 0 -179.5 58.5t-62.5 164.5zM252 977q0 -38 23 -56t55 -18q77 0 121.5 41.5 t44.5 106.5v36l-99 -6q-145 -10 -145 -104z" /> -<glyph unicode="&#xab;" horiz-adv-x="1260" d="M82 547v26l371 455l219 -119l-279 -348l279 -348l-219 -119zM588 547v26l370 455l220 -119l-279 -348l279 -348l-220 -119z" /> -<glyph unicode="&#xac;" d="M88 612v219h993v-583h-219v364h-774z" /> -<glyph unicode="&#xad;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM242 731q0 -164 82 -305.5t224 -223t304 -81.5q164 0 305.5 82t223 224t81.5 304q0 164 -82 305.5t-224 223 t-304 81.5q-164 0 -305.5 -82t-223 -224t-81.5 -304zM543 272v916h264q181 0 265.5 -70t84.5 -213q0 -170 -143 -233l237 -400h-254l-178 338h-47v-338h-229zM772 778h31q66 0 94.5 28.5t28.5 94.5q0 65 -28 92t-97 27h-29v-242z" /> -<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M-6 1556v201h1036v-201h-1036z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M92 1137q0 92 46 172t126 127t174 47q92 0 172.5 -46t127 -127t46.5 -173q0 -93 -46.5 -173.5t-126.5 -125.5t-173 -45q-145 0 -245.5 99.5t-100.5 244.5zM283 1137q0 -64 44.5 -109t110.5 -45t111 46t45 108q0 63 -45.5 110t-110.5 47q-64 0 -109.5 -46t-45.5 -111z" /> -<glyph unicode="&#xb1;" d="M88 0v219h993v-219h-993zM88 674v219h387v389h219v-389h387v-219h-387v-385h-219v385h-387z" /> -<glyph unicode="&#xb2;" horiz-adv-x="776" d="M47 1354q147 129 336 129q137 0 216 -66.5t79 -183.5q0 -85 -47 -160t-176 -192l-105 -95h352v-200h-647v168l224 219q102 100 130.5 144.5t28.5 94.5q0 38 -24 58t-64 20q-81 0 -180 -88z" /> -<glyph unicode="&#xb3;" horiz-adv-x="776" d="M59 639v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141q62 47 137.5 78t178.5 31q127 0 208 -64t81 -168q0 -143 -170 -198v-13q94 -20 146 -75t52 -134 q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1243" d="M332 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1352" d="M160 -492v1610h305v-653q0 -121 44 -181.5t138 -60.5q126 0 183 86.5t57 282.5v526h305v-1118h-231l-43 150h-15q-42 -85 -102 -127.5t-148 -42.5q-62 0 -114 23t-84 67l5 -85l5 -157v-320h-305z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M113 1042q0 260 109 387t341 127h604v-1816h-161v1616h-166v-1616h-162v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376z" /> -<glyph unicode="&#xb7;" horiz-adv-x="584" d="M117 723q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" /> -<glyph unicode="&#xb8;" horiz-adv-x="420" d="M-37 -303q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168z" /> -<glyph unicode="&#xb9;" horiz-adv-x="776" d="M92 1227l301 235h191v-876h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61z" /> -<glyph unicode="&#xba;" horiz-adv-x="795" d="M57 1116q0 169 89.5 266t252.5 97q152 0 245 -98.5t93 -264.5q0 -171 -91.5 -267.5t-250.5 -96.5q-153 0 -245.5 98.5t-92.5 265.5zM260 1116q0 -100 32.5 -150.5t104.5 -50.5t103.5 50.5t31.5 150.5t-31.5 149.5t-103.5 49.5t-104.5 -49.5t-32.5 -149.5z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1260" d="M82 213l278 348l-278 348l219 119l371 -455v-26l-371 -453zM588 213l278 348l-278 348l219 119l371 -455v-26l-371 -453z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1804" d="M46 1227l301 235h191v-876h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61zM320 0l811 1462h239l-811 -1462h-239zM936 152v154l385 577h236v-563h125v-168h-125v-151h-238v151h-383zM1121 320h198v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1804" d="M46 1227l301 235h191v-876h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61zM320 0l811 1462h239l-811 -1462h-239zM1061 769q147 129 336 129q137 0 216 -66.5t79 -183.5q0 -85 -47 -160t-176 -192l-105 -95h352v-200h-647v168l224 219q102 100 130.5 144.5t28.5 94.5 q0 38 -24 58t-64 20q-81 0 -180 -88z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1804" d="M90 639v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141q62 47 137.5 78t178.5 31q127 0 208 -64t81 -168q0 -143 -170 -198v-13q94 -20 146 -75t52 -134 q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70zM391 0l811 1462h239l-811 -1462h-239zM966 152v154l385 577h236v-563h125v-168h-125v-151h-238v151h-383zM1151 320h198v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77z" /> -<glyph unicode="&#xbf;" horiz-adv-x="977" d="M61 -29q0 108 48.5 187t191.5 184q95 70 121.5 107t26.5 98v59h264v-74q0 -98 -44.5 -169t-152.5 -148q-109 -78 -137.5 -122t-28.5 -107q0 -57 43.5 -94t132.5 -37q79 0 169 29t186 71l102 -221q-98 -56 -221.5 -90.5t-229.5 -34.5q-220 0 -345.5 96.5t-125.5 265.5z M395 948q0 81 46.5 125.5t127.5 44.5q84 0 130 -44t46 -126q0 -84 -45 -127t-131 -43q-83 0 -128.5 44t-45.5 126z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633zM338 1886v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633zM541 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633zM272 1579v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633zM293 1577q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227 t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5h-149z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633zM365 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM768 1743 q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1413" d="M0 0l516 1468h379l518 -1468h-334l-106 348h-533l-106 -348h-334zM518 608h381q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633zM457 1565q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169q0 -108 -71 -174t-183 -66t-180 64t-68 174zM609 1565q0 -45 24 -71 t72 -26q42 0 69 26t27 71t-27 70.5t-69 25.5t-69 -25.5t-27 -70.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1950" d="M0 0l655 1462h1174v-254h-563v-321h526v-254h-526v-377h563v-256h-873v348h-491l-150 -348h-315zM578 608h378v590h-127z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1305" d="M119 729q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5zM504 -303q27 -7 72.5 -14t70.5 -7q72 0 72 62 q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1147" d="M184 0v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256h-842zM259 1886v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1147" d="M184 0v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256h-842zM424 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xca;" horiz-adv-x="1147" d="M184 0v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256h-842zM175 1579v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1147" d="M184 0v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256h-842zM272 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM675 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97 t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xcc;" horiz-adv-x="678" d="M184 0v1462h310v-1462h-310zM-58 1886v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xcd;" horiz-adv-x="678" d="M184 0v1462h310v-1462h-310zM167 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xce;" horiz-adv-x="678" d="M184 0v1462h310v-1462h-310zM-96 1579v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xcf;" horiz-adv-x="678" d="M184 0v1462h310v-1462h-310zM-3 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM400 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z " /> -<glyph unicode="&#xd0;" horiz-adv-x="1516" d="M47 596v254h137v612h459q358 0 556 -189t198 -528q0 -361 -205.5 -553t-593.5 -192h-414v596h-137zM494 256h131q450 0 450 481q0 232 -104 351.5t-314 119.5h-163v-358h237v-254h-237v-340z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1665" d="M184 0v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462h-394l-636 1106h-9q19 -293 19 -418v-688h-277zM418 1577q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5 t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5h-149z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -363 -180 -558t-516 -195t-516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM449 1886v21h342q63 -101 235 -301v-27h-202 q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -363 -180 -558t-516 -195t-516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM658 1579v27q172 200 235 301h342v-21 q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -363 -180 -558t-516 -195t-516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM381 1579v27q189 189 256 301h357q31 -52 107.5 -141.5 t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -363 -180 -558t-516 -195t-516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM402 1577q11 145 82.5 227t189.5 82q41 0 80.5 -16.5 t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5h-149z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5t515.5 -194t178.5 -558q0 -363 -180 -558t-516 -195t-516 195t-180 560zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM474 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37 t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM877 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xd7;" d="M129 1024l152 154l301 -299l305 299l153 -150l-305 -305l301 -303l-149 -152l-305 301l-301 -299l-150 152l297 301z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1630" d="M119 735q0 365 180.5 557.5t517.5 192.5q198 0 344 -70l84 125l160 -104l-88 -131q194 -194 194 -572q0 -363 -180 -558t-516 -195q-197 0 -336 65l-90 -135l-162 108l90 136q-198 194 -198 581zM444 733q0 -191 56 -307l506 756q-84 45 -189 45q-185 0 -279 -124.5 t-94 -369.5zM635 279q76 -39 180 -39q371 0 371 493q0 180 -51 297z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1548" d="M174 520v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5zM375 1886v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xda;" horiz-adv-x="1548" d="M174 520v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5zM602 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1548" d="M174 520v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5zM340 1579v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176 q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1548" d="M174 520v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5zM433 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5 q-64 0 -101.5 35t-37.5 98zM836 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1278" d="M0 1462h336l303 -602l305 602h334l-485 -893v-569h-308v559zM461 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xde;" horiz-adv-x="1286" d="M184 0v1462h310v-229h178q254 0 388 -119t134 -344q0 -229 -142.5 -353t-404.5 -124h-153v-293h-310zM494 543h100q145 0 216 52.5t71 174.5q0 107 -63.5 159t-199.5 52h-124v-438z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1456" d="M160 0v1139q0 201 146.5 314.5t404.5 113.5q244 0 391 -88.5t147 -237.5q0 -64 -21 -112.5t-53 -86.5t-69 -67t-69 -53t-53 -45t-21 -43q0 -27 26.5 -53t92.5 -66q146 -91 198.5 -140t78 -110t25.5 -139q0 -172 -116.5 -259t-343.5 -87q-99 0 -171 14.5t-132 48.5v242 q53 -36 135.5 -61t146.5 -25q168 0 168 123q0 41 -16 66.5t-57 55.5t-115 72q-126 72 -175 131.5t-49 140.5q0 64 35 117t105 102q77 55 108 95t31 86q0 60 -63.5 100.5t-163.5 40.5q-116 0 -181 -52.5t-65 -148.5v-1128h-305z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134zM239 1548v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134zM441 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134zM177 1240v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134zM217 1239q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5 h-149z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134zM285 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM688 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36 q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1237" d="M86 334q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262zM399 332q0 -129 148 -129q106 0 169.5 61 t63.5 162v92l-118 -4q-133 -4 -198 -48t-65 -134zM381 1477q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169q0 -108 -71 -174t-183 -66t-180 64t-68 174zM533 1477q0 -45 24 -71t72 -26q42 0 69 26t27 71t-27 70.5t-69 25.5t-69 -25.5t-27 -70.5z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1878" d="M86 334q0 178 121 262.5t362 93.5l191 6v84q0 69 -44.5 102t-121.5 33q-140 0 -305 -77l-99 202q189 101 422 101q227 0 342 -131q66 64 152.5 96.5t206.5 32.5q221 0 349 -137.5t128 -370.5v-148h-723q5 -130 77 -203t202 -73q196 0 380 88v-236q-79 -39 -171 -59 t-226 -20q-137 0 -249.5 50.5t-184.5 155.5q-98 -117 -196.5 -161.5t-256.5 -44.5q-161 0 -258.5 94.5t-97.5 259.5zM399 332q0 -129 140 -129q101 0 161 61t60 162v92l-113 -4q-124 -4 -186 -47.5t-62 -134.5zM1073 686h430q-2 112 -55 174t-141 62q-217 0 -234 -236z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1053" d="M92 553q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18q-522 0 -522 573zM350 -303q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108 l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1210" d="M92 551q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5q-270 0 -422 149t-152 422zM408 686h428q-2 113 -59 174.5t-154 61.5t-152 -61.5t-63 -174.5zM245 1548v21 h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1210" d="M92 551q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5q-270 0 -422 149t-152 422zM408 686h428q-2 113 -59 174.5t-154 61.5t-152 -61.5t-63 -174.5zM447 1241v27 q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xea;" horiz-adv-x="1210" d="M92 551q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5q-270 0 -422 149t-152 422zM408 686h428q-2 113 -59 174.5t-154 61.5t-152 -61.5t-63 -174.5zM194 1241v27 q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1210" d="M92 551q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5q-270 0 -422 149t-152 422zM408 686h428q-2 113 -59 174.5t-154 61.5t-152 -61.5t-63 -174.5zM297 1405 q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM700 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="625" d="M160 0v1118h305v-1118h-305zM-101 1548v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xed;" horiz-adv-x="625" d="M160 0v1118h305v-1118h-305zM145 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xee;" horiz-adv-x="625" d="M160 0v1118h305v-1118h-305zM-122 1241v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xef;" horiz-adv-x="625" d="M160 0v1118h305v-1118h-305zM-29 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM374 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z " /> -<glyph unicode="&#xf0;" horiz-adv-x="1268" d="M92 489q0 233 130 369.5t351 136.5q205 0 275 -98l8 4q-67 162 -192 281l-230 -142l-100 156l176 107q-80 53 -152 92l101 176q144 -65 258 -141l225 139l100 -154l-170 -104q156 -143 230 -324.5t74 -413.5q0 -280 -145 -436.5t-400 -156.5q-245 0 -392 137t-147 372z M403 487q0 -140 60 -211t172 -71q123 0 176 82t53 245q0 108 -61 173t-168 65q-121 0 -176.5 -68.5t-55.5 -214.5z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1346" d="M160 0v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305zM258 1239q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26 t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5h-149z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM237 1548v21 h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM467 1241v27 q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM198 1241v27 q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM219 1239 q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5h-149z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM291 1405 q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM694 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xf7;" d="M88 612v219h993v-219h-993zM444 373q0 76 37 113.5t103 37.5t102.5 -39t36.5 -112q0 -70 -37 -111t-102 -41t-102.5 39t-37.5 113zM444 1071q0 75 37 113.5t103 38.5q67 0 103 -40.5t36 -111.5q0 -70 -37 -110.5t-102 -40.5t-102.5 39t-37.5 112z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1268" d="M92 561q0 274 143 426t402 152q132 0 248 -52l55 82l152 -108l-58 -84q142 -155 142 -416q0 -273 -144 -427t-401 -154q-126 0 -234 45l-67 -101l-154 105l68 100q-152 156 -152 432zM403 561q0 -94 19 -166l317 475q-43 23 -106 23q-122 0 -176 -82.5t-54 -249.5z M543 240q38 -15 92 -15q122 0 175.5 84.5t53.5 251.5q0 81 -12 141z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1346" d="M154 389v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5zM245 1548v21h342q63 -101 235 -301v-27h-202q-63 44 -185 142.5t-190 164.5z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1346" d="M154 389v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5zM498 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1346" d="M154 389v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5zM235 1241v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203 q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1346" d="M154 389v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5zM326 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5 q-64 0 -101.5 35t-37.5 98zM729 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1165" d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM393 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z " /> -<glyph unicode="&#xfe;" horiz-adv-x="1296" d="M160 -492v2048h305v-391l-7 -120l-7 -72h14q50 81 131 123.5t186 42.5q198 0 310 -154.5t112 -423.5q0 -273 -111.5 -427t-310.5 -154q-213 0 -317 137h-14l7 -62l7 -94v-453h-305zM465 563q0 -180 53.5 -258t169.5 -78q205 0 205 338q0 165 -50.5 247.5t-158.5 82.5 q-113 0 -165 -69.5t-54 -229.5v-33z" /> -<glyph unicode="&#xff;" horiz-adv-x="1165" d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM243 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 t-103 -36.5q-64 0 -101.5 35t-37.5 98zM646 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#x131;" horiz-adv-x="625" d="M160 0v1118h305v-1118h-305z" /> -<glyph unicode="&#x152;" horiz-adv-x="1993" d="M119 735q0 363 169.5 556.5t487.5 193.5q61 0 127 -7t101 -16h868v-254h-563v-321h526v-254h-526v-377h563v-256h-873q-38 -9 -109 -14.5t-116 -5.5q-319 0 -487 197t-168 558zM438 733q0 -244 86 -368.5t250 -124.5q65 0 126 10.5t99 28.5v907q-35 19 -101.5 30 t-121.5 11q-166 0 -252 -125.5t-86 -368.5z" /> -<glyph unicode="&#x153;" horiz-adv-x="2003" d="M92 561q0 277 141.5 427.5t399.5 150.5q112 0 212 -39.5t171 -116.5q144 156 383 156q244 0 380 -135t136 -373v-148h-746v-8q7 -127 81.5 -197.5t207.5 -70.5q107 0 200 21t193 67v-236q-81 -39 -175.5 -59t-229.5 -20q-271 0 -420 155q-141 -155 -391 -155 q-162 0 -286 70t-190.5 202t-66.5 309zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1178 686h450q-2 111 -60.5 173.5t-162.5 62.5q-94 0 -156 -57.5t-71 -178.5z" /> -<glyph unicode="&#x178;" horiz-adv-x="1278" d="M0 1462h336l303 -602l305 602h334l-485 -893v-569h-308v559zM297 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM700 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36 q-60 0 -100.5 32.5t-40.5 100.5z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="1243" d="M186 1241v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203q-157 93 -234 176q-78 -81 -229 -176h-203z" /> -<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M340 1477q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169q0 -108 -71 -174t-183 -66t-180 64t-68 174zM492 1477q0 -45 24 -71t72 -26q42 0 69 26t27 71t-27 70.5t-69 25.5t-69 -25.5t-27 -70.5z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="1243" d="M207 1239q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5q-31 0 -59.5 -26.5t-41.5 -80.5h-149z" /> -<glyph unicode="&#x2000;" horiz-adv-x="953" /> -<glyph unicode="&#x2001;" horiz-adv-x="1907" /> -<glyph unicode="&#x2002;" horiz-adv-x="953" /> -<glyph unicode="&#x2003;" horiz-adv-x="1907" /> -<glyph unicode="&#x2004;" horiz-adv-x="635" /> -<glyph unicode="&#x2005;" horiz-adv-x="476" /> -<glyph unicode="&#x2006;" horiz-adv-x="317" /> -<glyph unicode="&#x2007;" horiz-adv-x="317" /> -<glyph unicode="&#x2008;" horiz-adv-x="238" /> -<glyph unicode="&#x2009;" horiz-adv-x="381" /> -<glyph unicode="&#x200a;" horiz-adv-x="105" /> -<glyph unicode="&#x2010;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" /> -<glyph unicode="&#x2011;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" /> -<glyph unicode="&#x2012;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 436v230h860v-230h-860z" /> -<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 436v230h1884v-230h-1884z" /> -<glyph unicode="&#x2018;" horiz-adv-x="444" d="M25 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280z" /> -<glyph unicode="&#x2019;" horiz-adv-x="444" d="M25 961q69 296 100 501h281l14 -22q-50 -197 -176 -479h-219z" /> -<glyph unicode="&#x201a;" horiz-adv-x="596" d="M63 -264q65 266 101 502h280l15 -23q-52 -202 -176 -479h-220z" /> -<glyph unicode="&#x201c;" horiz-adv-x="911" d="M25 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280zM492 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280z" /> -<glyph unicode="&#x201d;" horiz-adv-x="911" d="M25 961q69 296 100 501h281l14 -22q-50 -197 -176 -479h-219zM492 961q69 296 100 501h280l15 -22q-50 -197 -176 -479h-219z" /> -<glyph unicode="&#x201e;" horiz-adv-x="1061" d="M63 -264q65 266 101 502h280l15 -23q-52 -202 -176 -479h-220zM530 -264q65 266 101 502h280l15 -23q-52 -202 -176 -479h-220z" /> -<glyph unicode="&#x2022;" horiz-adv-x="770" d="M98 748q0 154 74 235.5t213 81.5q137 0 212 -82t75 -235q0 -152 -75.5 -235t-211.5 -83q-138 0 -212.5 83t-74.5 235z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1751" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM700 143q0 84 45 127t132 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-85 0 -131 44.5t-46 125.5zM1284 143q0 84 45 127t131 43 q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> -<glyph unicode="&#x202f;" horiz-adv-x="381" /> -<glyph unicode="&#x2039;" horiz-adv-x="754" d="M82 547v26l371 455l219 -119l-279 -348l279 -348l-219 -119z" /> -<glyph unicode="&#x203a;" horiz-adv-x="754" d="M82 213l278 348l-278 348l219 119l371 -455v-26l-371 -453z" /> -<glyph unicode="&#x2044;" horiz-adv-x="266" d="M-393 0l811 1462h239l-811 -1462h-239z" /> -<glyph unicode="&#x205f;" horiz-adv-x="476" /> -<glyph unicode="&#x2074;" horiz-adv-x="776" d="M12 737v154l385 577h236v-563h125v-168h-125v-151h-238v151h-383zM197 905h198v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77z" /> -<glyph unicode="&#x20ac;" d="M66 481v178h118q-4 23 -4 62l2 53h-116v176h133q37 242 199 382.5t405 140.5q188 0 352 -82l-98 -232q-69 31 -129 48.5t-125 17.5q-122 0 -201 -70.5t-102 -204.5h403v-176h-418l-2 -35v-47l2 -33h355v-178h-338q51 -243 321 -243q143 0 275 57v-256q-116 -59 -293 -59 q-245 0 -403 133t-199 368h-137z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M16 1313v149h564v-149h-199v-572h-168v572h-197zM625 741v721h247l160 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-142l-165 529h-7l4 -111v-418h-163z" /> -<glyph unicode="&#xe000;" horiz-adv-x="1120" d="M0 1120h1120v-1120h-1120v1120z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1417" d="M41 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229h-264v-889h-305v889h-168zM940 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM953 0v1118h305v-1118h-305z " /> -<glyph unicode="&#xfb02;" horiz-adv-x="1417" d="M41 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229h-264v-889h-305v889h-168zM953 0v1556h305v-1556h-305z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="2208" d="M41 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229h-264v-889h-305v889h-168zM834 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5 v-70h264v-229h-264v-889h-305v889h-168zM1730 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM1743 0v1118h305v-1118h-305z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="2208" d="M41 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229h-264v-889h-305v889h-168zM834 889v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5 v-70h264v-229h-264v-889h-305v889h-168zM1743 0v1556h305v-1556h-305z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.ttf deleted file mode 100755 index 338220f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.woff deleted file mode 100755 index ea6007b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bold-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.eot deleted file mode 100755 index d892fd9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.svg deleted file mode 100755 index 24661f3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom -</metadata> -<defs> -<font id="OpenSansBoldItalic" horiz-adv-x="1128" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="532" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="&#x09;" horiz-adv-x="532" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="586" d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM150 485l157 977h340l-256 -977h-241z" /> -<glyph unicode="&#x22;" horiz-adv-x="928" d="M201 934l71 528h277l-152 -528h-196zM604 934l74 528h276l-151 -528h-199z" /> -<glyph unicode="#" horiz-adv-x="1323" d="M41 408l18 206h277l70 232h-252l18 209h289l119 407h217l-117 -407h199l116 407h215l-116 -407h239l-18 -209h-279l-69 -232h258l-19 -206h-297l-116 -408h-220l117 408h-194l-115 -408h-215l113 408h-238zM553 614h197l69 232h-196z" /> -<glyph unicode="$" d="M51 168v266q198 -107 404 -117l71 322q-163 61 -241 151t-78 214q0 173 127 279.5t350 121.5l35 151h139l-33 -151q166 -22 295 -90l-106 -232q-132 65 -242 74l-63 -299q131 -51 195 -99.5t97 -113t33 -149.5q0 -184 -125.5 -291.5t-367.5 -124.5l-39 -199h-140l44 201 q-209 12 -355 86zM502 1022q0 -79 80 -111l51 246q-62 -7 -96.5 -41t-34.5 -94zM594 322q63 9 102 45t39 98q0 46 -24.5 75.5t-59.5 43.5z" /> -<glyph unicode="%" horiz-adv-x="1753" d="M115 885q0 169 55.5 311.5t148.5 214.5t216 72q137 0 211.5 -80t74.5 -238q0 -166 -56 -310t-151 -217t-217 -73q-139 0 -210.5 83.5t-71.5 236.5zM231 0l1088 1462h235l-1083 -1462h-240zM360 868q0 -96 56 -96q65 0 112 131t47 275q0 96 -57 96q-63 0 -110.5 -128.5 t-47.5 -277.5zM973 283q0 177 53 322.5t148 219.5t219 74q137 0 211.5 -78.5t74.5 -230.5q0 -167 -54 -313.5t-148 -220.5t-215 -74q-144 0 -216.5 78.5t-72.5 222.5zM1219 285q0 -97 55 -97q41 0 77 55t59.5 154.5t23.5 196.5q0 96 -58 96q-39 0 -75 -56t-59 -154t-23 -195 z" /> -<glyph unicode="&#x26;" horiz-adv-x="1450" d="M68 358q0 145 78.5 248.5t273.5 200.5q-76 130 -76 258q0 195 117.5 307.5t316.5 112.5q169 0 266 -82.5t97 -224.5q0 -280 -365 -426l195 -263q44 57 80.5 121.5t78.5 173.5h300q-133 -313 -310 -497l205 -287h-350l-72 98q-175 -118 -403 -118q-209 0 -320.5 97.5 t-111.5 280.5zM383 387q0 -65 45.5 -108t116.5 -43q115 0 221 59l-225 328q-88 -51 -123 -104.5t-35 -131.5zM621 1085q0 -46 12 -92t29 -73q113 59 155.5 111t42.5 112q0 57 -30 82.5t-70 25.5q-66 0 -102.5 -46.5t-36.5 -119.5z" /> -<glyph unicode="'" horiz-adv-x="522" d="M201 934l71 528h277l-152 -528h-196z" /> -<glyph unicode="(" horiz-adv-x="694" d="M74 281q0 339 122.5 626.5t381.5 554.5h262q-255 -278 -377.5 -573.5t-122.5 -618.5q0 -308 117 -594h-234q-149 266 -149 605z" /> -<glyph unicode=")" horiz-adv-x="694" d="M-147 -324q499 545 499 1192q0 307 -116 594h233q149 -264 149 -604q0 -342 -124 -630.5t-379 -551.5h-262z" /> -<glyph unicode="*" horiz-adv-x="1116" d="M172 1141l86 237l338 -174l33 369l256 -51l-113 -353l387 29l-18 -254l-338 43l160 -336l-246 -73l-90 337l-197 -278l-207 164l275 248z" /> -<glyph unicode="+" d="M109 612v219h366v369h219v-369h367v-219h-367v-364h-219v364h-366z" /> -<glyph unicode="," horiz-adv-x="569" d="M-102 -264q74 167 194 502h285l8 -23q-118 -255 -262 -479h-225z" /> -<glyph unicode="-" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" /> -<glyph unicode="." horiz-adv-x="584" d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> -<glyph unicode="/" horiz-adv-x="862" d="M-90 0l809 1462h295l-809 -1462h-295z" /> -<glyph unicode="0" d="M66 467q0 297 84 537t228 360.5t333 120.5q399 0 399 -473q0 -470 -168.5 -751t-472.5 -281q-198 0 -300.5 122t-102.5 365zM369 461q0 -115 27.5 -173.5t97.5 -58.5q81 0 150.5 106t116 301t46.5 386q0 111 -30.5 162t-92.5 51q-80 0 -149.5 -104t-117.5 -302t-48 -368z " /> -<glyph unicode="1" d="M182 1114l566 348h249l-309 -1462h-305l180 829q35 152 76 287q-9 -8 -61.5 -47t-262.5 -170z" /> -<glyph unicode="2" d="M-49 0l43 213l477 424q180 159 248.5 254.5t68.5 179.5q0 75 -41 114.5t-110 39.5q-66 0 -135.5 -33.5t-171.5 -118.5l-146 203q132 112 252 159.5t250 47.5q190 0 301 -98t111 -259q0 -107 -41 -201t-122.5 -188t-266.5 -245l-269 -222v-10h568l-54 -260h-962z" /> -<glyph unicode="3" d="M14 59v267q84 -50 182 -75.5t191 -25.5q158 0 243 63.5t85 176.5q0 172 -258 172h-138l46 221h73q167 0 263 62t96 172q0 67 -43 104t-121 37q-134 0 -287 -100l-127 204q124 81 232.5 113.5t246.5 32.5q190 0 298 -90.5t108 -243.5q0 -156 -94.5 -262t-261.5 -135v-4 q131 -26 198.5 -106.5t67.5 -201.5q0 -133 -74 -238t-212 -163.5t-327 -58.5q-239 0 -387 79z" /> -<glyph unicode="4" d="M-25 303l48 234l770 925h311l-195 -919h170l-51 -240h-170l-63 -303h-293l63 303h-590zM305 543h311l58 248q12 58 40 164t42 141h-6q-35 -63 -132 -181z" /> -<glyph unicode="5" d="M27 61v269q174 -99 352 -99q154 0 241 71t87 194q0 94 -57.5 141t-166.5 47q-102 0 -213 -33l-104 78l207 733h755l-55 -262h-489l-88 -293q72 15 127 15q183 0 289 -103t106 -287q0 -167 -71.5 -292t-208.5 -192.5t-330 -67.5q-117 0 -218.5 23t-162.5 58z" /> -<glyph unicode="6" d="M88 469q0 202 61 395.5t167.5 335t256.5 213.5t357 72q125 0 223 -27l-51 -246q-84 25 -191 25q-194 0 -313.5 -108t-185.5 -345h4q115 166 311 166q157 0 242.5 -97t85.5 -273q0 -169 -71 -313.5t-190.5 -215.5t-277.5 -71q-212 0 -320 127t-108 362zM383 422 q0 -91 40 -143t107 -52q99 0 161.5 94t62.5 236q0 71 -33.5 113.5t-102.5 42.5q-60 0 -114.5 -35.5t-87.5 -95.5t-33 -160z" /> -<glyph unicode="7" d="M78 0l737 1202h-629l56 260h975l-41 -194l-752 -1268h-346z" /> -<glyph unicode="8" d="M55 350q0 298 348 426q-165 132 -165 299q0 119 58 212.5t168 145.5t257 52q123 0 215.5 -42t141 -118t48.5 -174q0 -134 -80.5 -233.5t-230.5 -151.5q217 -141 217 -365q0 -122 -63.5 -218.5t-181 -149.5t-273.5 -53q-214 0 -336.5 100t-122.5 270zM352 383 q0 -81 50 -128.5t135 -47.5q93 0 147.5 53.5t54.5 138.5q0 73 -36.5 131.5t-120.5 112.5q-116 -45 -173 -107t-57 -153zM528 1094q0 -132 123 -201q185 72 185 221q0 68 -39.5 107t-102.5 39q-76 0 -121 -46.5t-45 -119.5z" /> -<glyph unicode="9" d="M86 12v256q111 -41 227 -41q121 0 207.5 49t144 138.5t99.5 257.5h-4q-111 -158 -295 -158q-163 0 -252.5 103.5t-89.5 285.5q0 166 73 305.5t196 208t286 68.5q203 0 308.5 -123t105.5 -361q0 -280 -99 -533t-264 -370.5t-403 -117.5q-128 0 -240 32zM424 928 q0 -87 37.5 -131.5t105.5 -44.5q60 0 111.5 36.5t82 100t30.5 158.5q0 84 -35.5 137t-110.5 53q-65 0 -115.5 -42t-78 -114t-27.5 -153z" /> -<glyph unicode=":" horiz-adv-x="584" d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM207 940q0 92 55.5 145.5t149.5 53.5q68 0 108.5 -38.5t40.5 -107.5q0 -86 -54.5 -140t-144.5 -54q-72 0 -113.5 36.5t-41.5 104.5z" /> -<glyph unicode=";" horiz-adv-x="584" d="M-102 -264q74 167 194 502h285l8 -23q-118 -255 -262 -479h-225zM207 940q0 92 55.5 145.5t149.5 53.5q68 0 108.5 -38.5t40.5 -107.5q0 -86 -54.5 -140t-144.5 -54q-72 0 -113.5 36.5t-41.5 104.5z" /> -<glyph unicode="&#x3c;" d="M109 641v143l952 496v-240l-643 -317l643 -281v-239z" /> -<glyph unicode="=" d="M109 418v219h952v-219h-952zM109 807v217h952v-217h-952z" /> -<glyph unicode="&#x3e;" d="M109 203v239l643 281l-643 317v240l952 -496v-143z" /> -<glyph unicode="?" horiz-adv-x="940" d="M166 115q0 91 55 144.5t150 53.5q68 0 108.5 -38t40.5 -107q0 -87 -55 -141t-143 -54q-74 0 -115 38t-41 104zM178 1358q230 125 445 125q177 0 280 -87.5t103 -244.5q0 -83 -28.5 -149.5t-82.5 -123t-190 -147.5q-64 -43 -96.5 -73t-52.5 -64.5t-38 -108.5h-258l14 78 q19 103 73.5 177t172.5 155q124 84 157.5 127t33.5 96q0 119 -133 119q-50 0 -106.5 -16t-201.5 -84z" /> -<glyph unicode="@" horiz-adv-x="1753" d="M92 500q0 279 120.5 497t343 341.5t497.5 123.5q318 0 499 -163.5t181 -458.5q0 -173 -64 -321t-177.5 -231t-254.5 -83q-88 0 -144.5 38.5t-72.5 108.5h-6q-50 -77 -113 -112t-147 -35q-127 0 -198 79.5t-71 229.5q0 147 67.5 276.5t187.5 205t268 75.5q185 0 327 -55 l-106 -420q-11 -44 -19 -76.5t-8 -64.5q0 -68 58 -68q66 0 124 64t92.5 171t34.5 214q0 213 -123.5 325.5t-359.5 112.5q-203 0 -366.5 -94t-255 -266t-91.5 -392q0 -243 134 -380.5t376 -137.5q117 0 219.5 20t221.5 66v-186q-230 -90 -465 -90q-217 0 -378 85.5 t-246 241.5t-85 359zM713 526q0 -65 24.5 -102t69.5 -37q141 0 213 270l57 222q-36 10 -82 10q-82 0 -145.5 -51.5t-100 -137t-36.5 -174.5z" /> -<glyph unicode="A" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254z" /> -<glyph unicode="B" horiz-adv-x="1270" d="M53 0l309 1462h426q229 0 346 -81.5t117 -243.5q0 -150 -83 -247.5t-236 -129.5v-6q100 -26 159.5 -96.5t59.5 -180.5q0 -229 -153 -353t-423 -124h-522zM412 256h180q117 0 183.5 58t66.5 161q0 162 -183 162h-165zM545 883h149q121 0 181.5 48.5t60.5 139.5 q0 137 -170 137h-152z" /> -<glyph unicode="C" horiz-adv-x="1253" d="M123 553q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5z" /> -<glyph unicode="D" horiz-adv-x="1386" d="M53 0l309 1462h396q270 0 417.5 -143t147.5 -410q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451zM412 256h106q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115z" /> -<glyph unicode="E" horiz-adv-x="1110" d="M53 0l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512l-54 -256h-817z" /> -<glyph unicode="F" horiz-adv-x="1087" d="M53 0l309 1462h814l-54 -254h-508l-79 -377h473l-56 -253h-473l-121 -578h-305z" /> -<glyph unicode="G" horiz-adv-x="1413" d="M123 549q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24l66 299h-267l56 258h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5 q-259 0 -400 147t-141 422z" /> -<glyph unicode="H" horiz-adv-x="1434" d="M53 0l309 1462h306l-121 -573h471l121 573h305l-309 -1462h-306l134 631h-471l-134 -631h-305z" /> -<glyph unicode="I" horiz-adv-x="659" d="M53 0l312 1462h305l-312 -1462h-305z" /> -<glyph unicode="J" horiz-adv-x="678" d="M-322 -150q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112q-94 0 -187 27v253z" /> -<glyph unicode="K" horiz-adv-x="1255" d="M53 0l309 1462h306l-152 -702l158 205l409 497h361l-594 -700l291 -762h-338l-211 592l-125 -70l-109 -522h-305z" /> -<glyph unicode="L" horiz-adv-x="1061" d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817z" /> -<glyph unicode="M" horiz-adv-x="1802" d="M53 0l309 1462h404l68 -1093h4l551 1093h423l-309 -1462h-280l145 692q53 247 105 441h-5l-569 -1133h-281l-61 1133h-4q-11 -88 -38 -231t-187 -902h-275z" /> -<glyph unicode="N" horiz-adv-x="1546" d="M53 0l309 1462h357l340 -1077h4q12 76 39 217t180 860h274l-309 -1462h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275z" /> -<glyph unicode="O" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5q-121 0 -222 -91.5 t-158.5 -251.5t-57.5 -347z" /> -<glyph unicode="P" horiz-adv-x="1188" d="M53 0l309 1462h338q242 0 366 -106.5t124 -319.5q0 -241 -169.5 -378.5t-467.5 -137.5h-86l-109 -520h-305zM522 774h56q142 0 223.5 69t81.5 185q0 180 -195 180h-74z" /> -<glyph unicode="Q" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -316 -122.5 -555.5t-334.5 -337.5l254 -393h-359l-178 328h-26q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5 q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347z" /> -<glyph unicode="R" horiz-adv-x="1247" d="M53 0l309 1462h359q237 0 356 -102t119 -299q0 -158 -83 -271.5t-239 -168.5l261 -621h-332l-207 561h-119l-119 -561h-305zM530 813h78q131 0 204 57t73 174q0 82 -47.5 123t-149.5 41h-74z" /> -<glyph unicode="S" horiz-adv-x="1085" d="M41 70v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5 q121 -80 181 -176.5t60 -225.5q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90z" /> -<glyph unicode="T" horiz-adv-x="1087" d="M168 1204l55 258h1010l-55 -258h-353l-254 -1204h-305l254 1204h-352z" /> -<glyph unicode="U" horiz-adv-x="1415" d="M141 401q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5z" /> -<glyph unicode="V" horiz-adv-x="1208" d="M184 1462h295l51 -880q4 -45 4 -133q-2 -103 -6 -150h7q78 221 110 283l432 880h316l-748 -1462h-334z" /> -<glyph unicode="W" horiz-adv-x="1831" d="M184 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4q-46 -146 -115 -299l-324 -719h-338z" /> -<glyph unicode="X" horiz-adv-x="1241" d="M-117 0l576 764l-238 698h320l153 -518l363 518h344l-545 -725l268 -737h-331l-172 543l-396 -543h-342z" /> -<glyph unicode="Y" horiz-adv-x="1155" d="M186 1462h312l129 -592l374 592h342l-618 -903l-119 -559h-303l119 559z" /> -<glyph unicode="Z" horiz-adv-x="1098" d="M-61 0l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596l-53 -256h-981z" /> -<glyph unicode="[" horiz-adv-x="678" d="M-37 -324l381 1786h473l-45 -211h-215l-291 -1364h215l-45 -211h-473z" /> -<glyph unicode="\" horiz-adv-x="862" d="M221 1462h260l224 -1462h-267z" /> -<glyph unicode="]" horiz-adv-x="678" d="M-137 -324l45 211h213l291 1364h-215l45 211h473l-381 -1786h-471z" /> -<glyph unicode="^" horiz-adv-x="1081" d="M20 520l619 950h147l277 -950h-223l-174 633l-402 -633h-244z" /> -<glyph unicode="_" horiz-adv-x="819" d="M-186 -324l30 140h822l-31 -140h-821z" /> -<glyph unicode="`" horiz-adv-x="1135" d="M508 1548v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="a" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234z" /> -<glyph unicode="b" horiz-adv-x="1219" d="M37 0l330 1556h301l-62 -288q-41 -182 -84 -299h8q78 98 142.5 134t140.5 36q146 0 230.5 -108t84.5 -298t-68 -367.5t-187 -281.5t-263 -104q-194 0 -276 163h-8l-58 -143h-231zM420 399q0 -80 37 -128t102 -48q67 0 128 69t98.5 189.5t37.5 237.5q0 176 -131 176 q-68 0 -130 -65t-102 -180.5t-40 -250.5z" /> -<glyph unicode="c" horiz-adv-x="989" d="M90 391q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79q-201 0 -308.5 107.5t-107.5 303.5z" /> -<glyph unicode="d" horiz-adv-x="1217" d="M90 387q0 196 71.5 374.5t188.5 278t258 99.5q82 0 141.5 -37t112.5 -127h8l2 28q6 110 25 195l76 358h301l-330 -1556h-229l14 145h-4q-71 -87 -148.5 -126t-170.5 -39q-147 0 -231.5 107t-84.5 300zM395 399q0 -176 137 -176q66 0 128.5 68.5t100.5 182.5t38 245 q0 80 -37.5 128t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234z" /> -<glyph unicode="e" horiz-adv-x="1141" d="M90 412q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86q-210 0 -326 113t-116 319zM428 647h45q155 0 241.5 48.5 t86.5 131.5q0 95 -105 95q-88 0 -166 -80t-102 -195z" /> -<glyph unicode="f" horiz-adv-x="764" d="M-219 -225q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371q-104 0 -174 25v242z" /> -<glyph unicode="g" horiz-adv-x="1108" d="M-115 -209q0 102 68.5 175.5t214.5 121.5q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78 q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5zM150 -172q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35l-114 14q-106 -14 -160.5 -57t-54.5 -109zM442 680q0 -119 103 -119 q75 0 121.5 76.5t46.5 193.5t-99 117q-77 0 -124.5 -76.5t-47.5 -191.5z" /> -<glyph unicode="h" horiz-adv-x="1237" d="M37 0l330 1556h301q-39 -181 -60 -278t-86 -309h8q62 77 138 123.5t176 46.5q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180l-133 -637h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301z" /> -<glyph unicode="i" horiz-adv-x="608" d="M37 0l237 1118h301l-237 -1118h-301zM322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> -<glyph unicode="j" horiz-adv-x="608" d="M-264 -225q61 -21 114 -21q137 0 173 170l253 1194h302l-265 -1239q-77 -371 -403 -371q-104 0 -174 25v242zM324 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> -<glyph unicode="k" horiz-adv-x="1163" d="M37 0l330 1556h301l-148 -694q-8 -41 -29 -117l-28 -102h4l453 475h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301z" /> -<glyph unicode="l" horiz-adv-x="608" d="M37 0l330 1556h301l-330 -1556h-301z" /> -<glyph unicode="m" horiz-adv-x="1853" d="M37 0l237 1118h230l-21 -207h6q146 228 355 228q219 0 262 -228h6q68 110 160.5 169t197.5 59q136 0 207.5 -85t71.5 -237q0 -76 -23 -180l-133 -637h-301l138 653q16 68 16 119q0 123 -98 123q-92 0 -166.5 -112t-118.5 -318l-96 -465h-301l137 653q16 68 16 119 q0 123 -98 123q-92 0 -167 -114t-118 -318l-98 -463h-301z" /> -<glyph unicode="n" horiz-adv-x="1237" d="M37 0l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180l-133 -637h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301z" /> -<glyph unicode="o" horiz-adv-x="1198" d="M90 410q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5zM393 410q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5q0 197 -143 197q-75 0 -134.5 -61t-97 -179 t-37.5 -243z" /> -<glyph unicode="p" horiz-adv-x="1219" d="M-68 -492l342 1610h230l-17 -170h9q138 191 317 191q146 0 230.5 -107.5t84.5 -300.5q0 -191 -68.5 -367.5t-187.5 -280t-262 -103.5q-83 0 -143 37t-111 126h-8q-12 -159 -43 -295l-72 -340h-301zM420 399q0 -80 37 -128t102 -48q67 0 128 69t98.5 189.5t37.5 237.5 q0 176 -131 176q-68 0 -131.5 -67.5t-102 -180t-38.5 -248.5z" /> -<glyph unicode="q" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q86 0 152.5 -37.5t124.5 -126.5h8l57 143h232l-342 -1610h-301q47 218 73 337.5t84 304.5h-8q-72 -94 -143 -132t-154 -38q-88 0 -156 47.5t-106.5 138.5t-38.5 219zM395 399q0 -88 36.5 -132t103.5 -44q64 0 127.5 70t100 181 t36.5 245q0 80 -37.5 128t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234z" /> -<glyph unicode="r" horiz-adv-x="862" d="M37 0l237 1118h230l-21 -207h6q147 228 353 228q59 0 96 -11l-66 -290q-45 16 -100 16q-116 0 -203.5 -91.5t-124.5 -262.5l-106 -500h-301z" /> -<glyph unicode="s" horiz-adv-x="969" d="M23 45v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170 q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50z" /> -<glyph unicode="t" horiz-adv-x="840" d="M94 889l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-115 -539q-6 -30 -6 -53q0 -74 88 -74q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l115 539h-152z" /> -<glyph unicode="u" horiz-adv-x="1237" d="M111 301q0 93 24 213l127 604h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5z" /> -<glyph unicode="v" horiz-adv-x="1049" d="M102 1118h295l45 -586q7 -133 7 -231h6q55 153 92 223l297 594h323l-604 -1118h-323z" /> -<glyph unicode="w" horiz-adv-x="1614" d="M125 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6q-62 -178 -123 -319l-233 -541h-324z" /> -<glyph unicode="x" horiz-adv-x="1087" d="M-100 0l479 573l-225 545h321l115 -334l244 334h354l-467 -561l244 -557h-326l-125 342l-264 -342h-350z" /> -<glyph unicode="y" horiz-adv-x="1063" d="M-141 -233q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49l-164 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240z" /> -<glyph unicode="z" horiz-adv-x="932" d="M-47 0l35 180l575 705h-397l51 233h750l-43 -200l-566 -685h439l-49 -233h-795z" /> -<glyph unicode="{" horiz-adv-x="727" d="M-8 459l45 229q122 0 192.5 41.5t92.5 138.5l61 285q38 170 131 239.5t270 69.5h84l-49 -225q-90 -2 -130.5 -34.5t-55.5 -106.5l-66 -297q-45 -207 -276 -236v-8q85 -26 126.5 -82.5t41.5 -134.5q0 -44 -15 -113l-36 -178q-7 -28 -7 -51q0 -54 33.5 -74t91.5 -20v-226 h-53q-167 0 -253.5 63.5t-86.5 184.5q0 57 14 125l39 184q15 69 15 86q0 140 -209 140z" /> -<glyph unicode="|" d="M455 -465v2015h219v-2015h-219z" /> -<glyph unicode="}" horiz-adv-x="727" d="M-100 -98q93 3 137 35.5t59 105.5l66 297q25 111 95 166t181 69v9q-168 51 -168 217q0 43 15 112l37 179q6 30 6 51q0 54 -36.5 74t-109.5 20l41 225h33q340 0 340 -248q0 -56 -14 -124l-39 -185q-15 -69 -15 -86q0 -139 209 -139l-45 -229q-122 0 -192.5 -42t-91.5 -139 l-62 -284q-37 -170 -130.5 -240t-270.5 -70h-45v226z" /> -<glyph unicode="~" d="M109 551v231q101 109 256 109q64 0 117 -14t139 -50q64 -27 111 -41t95 -14q51 0 112 30.5t122 90.5v-231q-103 -109 -256 -109q-59 0 -109 11.5t-147 51.5q-89 38 -127 47t-80 9q-54 0 -116.5 -33t-116.5 -88z" /> -<glyph unicode="&#xa1;" horiz-adv-x="586" d="M-74 -371l256 977h242l-158 -977h-340zM195 924q0 85 54 139.5t144 54.5q73 0 114.5 -37t41.5 -104q0 -92 -55.5 -145.5t-149.5 -53.5q-68 0 -108.5 38t-40.5 108z" /> -<glyph unicode="&#xa2;" d="M164 584q0 193 62.5 355t178 262.5t267.5 123.5l33 158h188l-35 -158q118 -14 225 -65l-92 -230q-53 23 -105 40t-118 17q-133 0 -216 -143t-83 -336q0 -96 45 -144t127 -48q75 0 140 23.5t134 58.5v-246q-136 -71 -299 -80l-41 -192h-188l49 210q-134 36 -203 136 t-69 258z" /> -<glyph unicode="&#xa3;" d="M-12 0l49 246q196 48 244 264l22 104h-192l45 220h192l49 247q41 197 162 300.5t313 103.5q195 0 369 -86l-113 -232q-141 68 -237 68q-75 0 -123 -39.5t-68 -132.5l-47 -229h299l-45 -220h-299l-18 -84q-42 -195 -209 -270h655l-55 -260h-993z" /> -<glyph unicode="&#xa4;" d="M115 1047l147 147l127 -127q91 53 197 53q105 0 196 -55l127 129l150 -143l-129 -129q53 -89 53 -199q0 -107 -53 -199l125 -125l-146 -145l-127 125q-95 -51 -196 -51q-115 0 -199 51l-125 -123l-145 145l127 125q-54 93 -54 197q0 102 54 197zM397 723 q0 -77 54.5 -132.5t134.5 -55.5q81 0 136.5 55t55.5 133q0 80 -56.5 135t-135.5 55q-78 0 -133.5 -56t-55.5 -134z" /> -<glyph unicode="&#xa5;" d="M88 221l37 178h252l29 138h-252l39 178h196l-192 747h297l114 -590l371 590h311l-506 -747h203l-39 -178h-252l-28 -138h252l-37 -178h-252l-47 -221h-291l47 221h-252z" /> -<glyph unicode="&#xa6;" d="M455 350h219v-815h-219v815zM455 735v815h219v-815h-219z" /> -<glyph unicode="&#xa7;" horiz-adv-x="995" d="M20 55v224q172 -105 345 -105q99 0 144.5 35t45.5 92q0 39 -33 72.5t-127 79.5q-117 57 -181 131t-64 176q0 89 47.5 163t154.5 142q-42 34 -70 84.5t-28 107.5q0 149 117 234.5t313 85.5q172 0 344 -88l-82 -193q-147 84 -282 84q-144 0 -144 -106q0 -43 40.5 -76 t127.5 -72q242 -106 242 -303q0 -188 -193 -303q38 -35 64 -85.5t26 -108.5q0 -161 -126 -253.5t-345 -92.5q-204 0 -336 75zM393 797q0 -54 43.5 -96.5t143.5 -88.5q49 31 75.5 78.5t26.5 95.5q0 109 -176 181q-51 -25 -82 -70.5t-31 -99.5z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M397 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M125 731q0 200 100 375t275 276t377 101q199 0 373.5 -99t276 -275.5t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM266 731q0 -164 81.5 -305t224 -223t305.5 -82q167 0 308 83t221.5 223.5t80.5 303.5 t-80.5 303.5t-222 223.5t-307.5 83q-164 0 -306.5 -82.5t-223.5 -223.5t-81 -304zM485 721q0 225 117.5 351t325.5 126q142 0 284 -72l-75 -174q-114 58 -205 58q-111 0 -163 -73t-52 -214q0 -134 55.5 -203t159.5 -69q43 0 108.5 15.5t124.5 43.5v-191q-131 -57 -262 -57 q-196 0 -307 122.5t-111 336.5z" /> -<glyph unicode="&#xaa;" horiz-adv-x="772" d="M152 1020q0 117 46 228t123 171t177 60q120 0 180 -103h6l39 90h154l-158 -702h-154l8 92h-2q-80 -104 -202 -104q-103 0 -160 70t-57 198zM356 1014q0 -111 86 -111q45 0 84 41.5t65.5 120t26.5 154.5q0 106 -88 106q-73 0 -123.5 -96t-50.5 -215z" /> -<glyph unicode="&#xab;" horiz-adv-x="1151" d="M72 551v18l401 463l191 -155l-279 -334l135 -350l-246 -103zM559 551v18l402 463l190 -155l-279 -334l136 -350l-246 -103z" /> -<glyph unicode="&#xac;" d="M109 612v219h952v-583h-219v364h-733z" /> -<glyph unicode="&#xad;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M125 731q0 200 100 375t275 276t377 101q199 0 373.5 -99t276 -275.5t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM266 731q0 -164 81.5 -305t224 -223t305.5 -82q167 0 308 83t221.5 223.5t80.5 303.5 t-80.5 303.5t-222 223.5t-307.5 83q-164 0 -306.5 -82.5t-223.5 -223.5t-81 -304zM571 293v874h308q173 0 265.5 -67.5t92.5 -200.5q0 -86 -44 -149.5t-130 -96.5l197 -360h-254l-138 297h-67v-297h-230zM801 758h51q72 0 113 31t41 92q0 59 -35.5 88.5t-116.5 29.5h-53 v-241z" /> -<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M-6 1556l45 201h1036l-45 -201h-1036z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M164 1137q0 93 46.5 173.5t127.5 126.5t172 46q93 0 173.5 -47t126.5 -127t46 -172q0 -93 -46 -173t-126 -125.5t-174 -45.5q-93 0 -173 45t-126.5 125t-46.5 174zM354 1137q0 -63 45.5 -108.5t110.5 -45.5q66 0 111 46t45 108q0 63 -45.5 110t-110.5 47t-110.5 -47.5 t-45.5 -109.5z" /> -<glyph unicode="&#xb1;" d="M109 0v219h952v-219h-952zM109 674v219h366v369h219v-369h367v-219h-367v-365h-219v365h-366z" /> -<glyph unicode="&#xb2;" horiz-adv-x="776" d="M59 586l35 166l273 219q111 91 141 122t44.5 59t14.5 56q0 42 -25.5 62t-60.5 20q-86 0 -188 -82l-100 158q74 57 156 87t192 30q123 0 196.5 -63t73.5 -160q0 -70 -22 -123t-70 -103.5t-189 -152.5l-129 -95h347l-41 -200h-648z" /> -<glyph unicode="&#xb3;" horiz-adv-x="776" d="M92 625v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176 q0 -131 -107 -209t-285 -78q-75 0 -145.5 15.5t-120.5 40.5z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M483 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1249" d="M-68 -492l342 1610h301l-135 -645q-16 -70 -16 -125q0 -60 31.5 -92.5t79.5 -32.5q90 0 162.5 106.5t117.5 319.5l98 469h301l-237 -1118h-229l18 176h-6q-117 -196 -266 -196q-51 0 -89.5 19.5t-58.5 47.5h-6q-8 -66 -21.5 -139t-82.5 -400h-304z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M147 1042q0 256 107.5 385t343.5 129h604v-1816h-162v1616h-166v-1616h-161v819q-62 -18 -146 -18q-216 0 -318 125t-102 376z" /> -<glyph unicode="&#xb7;" horiz-adv-x="584" d="M131 695q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> -<glyph unicode="&#xb8;" horiz-adv-x="420" d="M-207 -301q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178q0 -116 -83 -179t-234 -63q-86 0 -152 23v168z" /> -<glyph unicode="&#xb9;" horiz-adv-x="776" d="M129 1214l399 248h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81z" /> -<glyph unicode="&#xba;" horiz-adv-x="754" d="M162 1038q0 197 104 319t277 122q129 0 197.5 -73.5t68.5 -211.5q0 -128 -48.5 -232.5t-132.5 -157t-196 -52.5q-134 0 -202 75t-68 211zM371 1026q0 -111 80 -111q63 0 105 85.5t42 207.5q0 107 -76 107q-64 0 -107.5 -89.5t-43.5 -199.5z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1151" d="M0 227l279 334l-136 350l246 103l203 -461v-18l-402 -463zM487 227l279 334l-135 350l246 103l202 -461v-18l-401 -463z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1804" d="M177 0l1087 1462h236l-1084 -1462h-239zM97 1214l399 248h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81zM844 152l31 174l475 557h260l-121 -563h119l-35 -168h-119l-32 -151h-238l33 151h-373zM1078 320h174l58 231l22 74q-13 -20 -43 -58 t-211 -247z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1804" d="M940 1l35 166l273 219q111 91 141 122t44.5 59t14.5 56q0 42 -25.5 62t-60.5 20q-86 0 -188 -82l-100 158q74 57 156 87t192 30q123 0 196.5 -63t73.5 -160q0 -70 -22 -123t-70 -103.5t-189 -152.5l-129 -95h347l-41 -200h-648zM97 1214l399 248h207l-186 -876h-246 l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81zM177 0l1087 1462h236l-1084 -1462h-239z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1804" d="M310 0l1087 1462h236l-1084 -1462h-239zM905 152l31 174l475 557h260l-121 -563h119l-35 -168h-119l-32 -151h-238l33 151h-373zM1139 320h174l58 231l22 74q-13 -20 -43 -58t-211 -247zM133 625v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127 l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176q0 -131 -107 -209t-285 -78q-75 0 -145.5 15.5t-120.5 40.5z" /> -<glyph unicode="&#xbf;" horiz-adv-x="940" d="M-68 -59q0 82 28.5 148.5t83.5 124t189 146.5q93 62 128 106.5t51 106.5l8 33h258l-14 -78q-19 -105 -76.5 -180t-169.5 -151q-122 -83 -156.5 -126t-34.5 -98q0 -118 133 -118q50 0 106.5 16t201.5 84l92 -221q-221 -125 -445 -125q-177 0 -280 87.5t-103 244.5z M418 924q0 86 54.5 140t143.5 54q73 0 114.5 -37t41.5 -104q0 -92 -55.5 -145.5t-149.5 -53.5q-68 0 -108.5 38t-40.5 108z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254zM539 1886v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254zM735 1579v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254zM426 1579v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254zM448 1577q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5 t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254zM516 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM918 1720q0 78 42 118t120 40 q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1286" d="M-123 0l766 1468h373l147 -1468h-297l-24 348h-473l-172 -348h-320zM494 608h333l-26 350q-10 131 -10 253v36q-44 -120 -109 -254zM585 1565q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5zM737 1565 q0 -45 24 -71t72 -26q42 0 69.5 26t27.5 71t-27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1833" d="M-123 0l922 1462h1104l-54 -254h-512l-67 -321h477l-55 -254h-478l-79 -377h512l-54 -256h-817l74 348h-426l-219 -348h-328zM588 608h317l127 600h-80z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1253" d="M123 553q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5zM356 -301 q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178q0 -116 -83 -179t-234 -63q-86 0 -152 23v168z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1110" d="M53 0l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512l-54 -256h-817zM480 1886v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1110" d="M53 0l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512l-54 -256h-817zM608 1579v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xca;" horiz-adv-x="1110" d="M53 0l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512l-54 -256h-817zM368 1579v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1110" d="M53 0l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512l-54 -256h-817zM438 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM840 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5 t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xcc;" horiz-adv-x="659" d="M53 0l312 1462h305l-312 -1462h-305zM241 1886v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xcd;" horiz-adv-x="659" d="M53 0l312 1462h305l-312 -1462h-305zM414 1579v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xce;" horiz-adv-x="659" d="M53 0l312 1462h305l-312 -1462h-305zM128 1579v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xcf;" horiz-adv-x="659" d="M53 0l312 1462h305l-312 -1462h-305zM222 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM624 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1386" d="M37 596l55 254h139l131 612h396q270 0 417.5 -143t147.5 -410q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l125 596h-141zM412 256h106q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-75 -358h237l-55 -254h-238z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1546" d="M53 0l309 1462h357l340 -1077h4q12 76 39 217t180 860h274l-309 -1462h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275zM563 1577q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5 t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5q-121 0 -222 -91.5 t-158.5 -251.5t-57.5 -347zM627 1886v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5q-121 0 -222 -91.5 t-158.5 -251.5t-57.5 -347zM753 1579v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5q-121 0 -222 -91.5 t-158.5 -251.5t-57.5 -347zM499 1579v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5q-121 0 -222 -91.5 t-158.5 -251.5t-57.5 -347zM520 1577q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1495" d="M123 537q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5q-121 0 -222 -91.5 t-158.5 -251.5t-57.5 -347zM585 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM987 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xd7;" d="M129 1024l152 154l301 -299l305 299l153 -150l-305 -305l301 -303l-149 -152l-305 301l-301 -299l-150 152l297 301z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1495" d="M100 29l121 151q-98 138 -98 357q0 265 99 487.5t273 341.5t402 119q182 0 305 -76l105 131l151 -117l-117 -145q91 -134 91 -340q0 -283 -99 -506.5t-271 -337.5t-396 -114q-180 0 -304 71l-108 -137zM424 537q0 -32 8 -101l596 754q-69 43 -158 43q-126 0 -229 -91.5 t-160 -252.5t-57 -352zM539 270q59 -37 153 -37q124 0 226 89t158.5 247.5t56.5 360.5l-5 80z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1415" d="M141 401q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5zM576 1886v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5 t-103.5 153.5z" /> -<glyph unicode="&#xda;" horiz-adv-x="1415" d="M141 401q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5zM757 1579v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5 h-209z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1415" d="M141 401q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5zM475 1579v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5 v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1415" d="M141 401q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5zM565 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 t-121 -43.5q-135 0 -135 110zM967 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1155" d="M186 1462h312l129 -592l374 592h342l-618 -903l-119 -559h-303l119 559zM606 1579v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xde;" horiz-adv-x="1188" d="M53 0l309 1462h306l-50 -229h35q242 0 366 -106.5t124 -319.5q0 -243 -170.5 -378.5t-466.5 -135.5h-86l-62 -293h-305zM475 547h55q139 0 222.5 66.5t83.5 185.5q0 180 -195 180h-74z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1350" d="M-260 -225q61 -21 115 -21q133 0 170 178l254 1207q47 224 182 326t385 102q208 0 331 -90t123 -240q0 -114 -49 -192t-178 -152q-73 -42 -96 -68.5t-23 -54.5q0 -23 22 -49.5t79 -69.5q107 -83 144.5 -150.5t37.5 -150.5q0 -170 -123.5 -270t-337.5 -100q-187 0 -297 61 v240q128 -78 258 -78q101 0 148 33t47 86q0 40 -26.5 75t-108.5 97q-94 72 -129 130t-35 126q0 84 45 145t162 127q66 37 104.5 76t38.5 96q0 62 -39.5 98.5t-124.5 36.5q-96 0 -156 -51.5t-85 -171.5l-254 -1219q-43 -198 -147 -288.5t-277 -90.5q-90 0 -160 25v242z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234zM443 1548v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234zM598 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234zM311 1240v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234zM333 1239q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234zM397 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1217" d="M90 385q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165q-147 0 -231.5 106.5t-84.5 298.5zM395 399q0 -88 33.5 -132t95.5 -44q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5 q-68 0 -129.5 -72t-98 -190t-36.5 -234zM521 1477q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5zM673 1477q0 -45 24 -71t72 -26q42 0 69.5 26t27.5 71t-27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1786" d="M90 385q0 200 68.5 375.5t185 277t258.5 101.5q96 0 160.5 -38.5t114.5 -125.5h6l57 143h188l-18 -90q44 49 120.5 80t168.5 31q157 0 246.5 -83.5t89.5 -221.5q0 -187 -167 -288.5t-476 -101.5h-52l-2 -19v-19q0 -96 55.5 -147.5t159.5 -51.5q66 0 152 23t162 63v-227 q-179 -86 -361 -86q-109 0 -179.5 27t-117.5 87l-16 -94h-188l14 145h-6q-71 -88 -146.5 -126.5t-167.5 -38.5q-146 0 -227.5 109t-81.5 296zM395 399q0 -84 32.5 -130t90.5 -46q72 0 134 68t99 184.5t37 243.5q0 80 -33 128t-102 48q-68 0 -128 -69t-95 -185.5t-35 -241.5z M1073 647h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95q-88 0 -166 -80t-102 -195z" /> -<glyph unicode="&#xe7;" horiz-adv-x="989" d="M90 391q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79q-201 0 -308.5 107.5t-107.5 303.5zM184 -301 q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178q0 -116 -83 -179t-234 -63q-86 0 -152 23v168z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1141" d="M90 412q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86q-210 0 -326 113t-116 319zM428 647h45q155 0 241.5 48.5 t86.5 131.5q0 95 -105 95q-88 0 -166 -80t-102 -195zM423 1548v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1141" d="M90 412q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86q-210 0 -326 113t-116 319zM428 647h45q155 0 241.5 48.5 t86.5 131.5q0 95 -105 95q-88 0 -166 -80t-102 -195zM528 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xea;" horiz-adv-x="1141" d="M90 412q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86q-210 0 -326 113t-116 319zM428 647h45q155 0 241.5 48.5 t86.5 131.5q0 95 -105 95q-88 0 -166 -80t-102 -195zM292 1241v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1141" d="M90 412q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86q-210 0 -326 113t-116 319zM428 647h45q155 0 241.5 48.5 t86.5 131.5q0 95 -105 95q-88 0 -166 -80t-102 -195zM365 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM767 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xec;" horiz-adv-x="608" d="M37 0l237 1118h301l-237 -1118h-301zM153 1548v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xed;" horiz-adv-x="608" d="M37 0l237 1118h301l-237 -1118h-301zM291 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xee;" horiz-adv-x="608" d="M37 0l237 1118h301l-237 -1118h-301zM36 1241v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xef;" horiz-adv-x="608" d="M37 0l237 1118h301l-237 -1118h-301zM126 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM528 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1182" d="M72 406q0 165 64.5 301t180.5 212t265 76q83 0 151.5 -31t114.5 -94h6q-20 213 -117 310l-231 -131l-88 147l200 113q-34 34 -124 80l118 186q134 -61 232 -139l237 131l76 -152l-192 -106q81 -107 113 -235t32 -279q0 -249 -69.5 -432.5t-203.5 -283t-323 -99.5 q-216 0 -329 110t-113 316zM375 377q0 -81 39 -126.5t114 -45.5q66 0 122.5 55.5t89 148.5t32.5 193q0 77 -38.5 122.5t-108.5 45.5q-73 0 -130 -53t-88.5 -143t-31.5 -197z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1237" d="M37 0l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180l-133 -637h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301zM358 1239q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16 q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1198" d="M90 410q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5zM393 410q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5q0 197 -143 197q-75 0 -134.5 -61t-97 -179 t-37.5 -243zM419 1548v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5t-103.5 153.5z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1198" d="M90 410q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5zM393 410q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5q0 197 -143 197q-75 0 -134.5 -61t-97 -179 t-37.5 -243zM571 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1198" d="M90 410q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5zM393 410q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5q0 197 -143 197q-75 0 -134.5 -61t-97 -179 t-37.5 -243zM300 1241v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1198" d="M90 410q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5zM393 410q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5q0 197 -143 197q-75 0 -134.5 -61t-97 -179 t-37.5 -243zM314 1239q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1198" d="M90 410q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5zM393 410q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5q0 197 -143 197q-75 0 -134.5 -61t-97 -179 t-37.5 -243zM386 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM788 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xf7;" d="M109 612v219h952v-219h-952zM444 373q0 76 37 113.5t103 37.5t102.5 -39t36.5 -112q0 -70 -37 -111t-102 -41t-102.5 39t-37.5 113zM444 1071q0 75 37 113.5t103 38.5q67 0 103 -40.5t36 -111.5q0 -70 -37 -110.5t-102 -40.5t-102.5 39t-37.5 112z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1198" d="M43 6l119 148q-72 107 -72 256q0 213 71.5 379.5t206.5 258t316 91.5q131 0 227 -56l70 88l145 -110l-84 -105q66 -107 66 -260q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-123 0 -225 53l-109 -135zM385 426l365 453q-35 24 -88 24q-81 0 -144.5 -62.5t-98 -169.5 t-34.5 -233v-12zM457 238q11 -8 35.5 -15.5t50.5 -7.5q114 0 193 133t79 318v16z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1237" d="M111 301q0 93 24 213l127 604h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5zM419 1548v21h311q36 -148 115 -303v-25h-184q-71 69 -138.5 153.5 t-103.5 153.5z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1237" d="M111 301q0 93 24 213l127 604h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5zM610 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5 h-209z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1237" d="M111 301q0 93 24 213l127 604h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5zM334 1241v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25 h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1237" d="M111 301q0 93 24 213l127 604h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5zM411 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 t-121 -43.5q-135 0 -135 110zM813 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1063" d="M-141 -233q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49l-164 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240zM497 1241v25q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5 h-209z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1219" d="M-68 -492l435 2048h301l-66 -307q-29 -131 -80 -280h8q131 170 283 170q150 0 232.5 -106.5t82.5 -301.5q0 -199 -69 -381t-182 -276t-250 -94q-178 0 -271 163h-8q-12 -159 -43 -295l-72 -340h-301zM420 399q0 -80 33.5 -128t105.5 -48q69 0 129 65t97.5 183.5 t37.5 247.5q0 88 -37.5 132t-103.5 44q-71 0 -130 -65t-95.5 -184.5t-36.5 -246.5z" /> -<glyph unicode="&#xff;" horiz-adv-x="1063" d="M-141 -233q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49l-164 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240zM310 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 t-121 -43.5q-135 0 -135 110zM712 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> -<glyph unicode="&#x131;" horiz-adv-x="608" d="M37 0l237 1118h301l-237 -1118h-301z" /> -<glyph unicode="&#x152;" horiz-adv-x="1845" d="M123 537q0 265 99 487.5t273 341.5t402 119q140 0 209 -23h809l-53 -254h-512l-68 -321h477l-55 -254h-477l-80 -377h512l-53 -256h-760q-93 -20 -180 -20q-256 0 -399.5 147.5t-143.5 409.5zM434 537q0 -147 66.5 -222t187.5 -75q88 0 158 32l194 916q-62 39 -168 39 q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347z" /> -<glyph unicode="&#x153;" horiz-adv-x="1806" d="M90 414q0 216 69 380.5t200 254.5t309 90q209 0 313 -160q154 160 399 160q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-476 -101.5h-51l-2 -21v-20q0 -91 51 -143.5t147 -52.5q87 0 158 19t172 67v-227q-93 -46 -185.5 -66t-203.5 -20q-116 0 -208 38.5t-138 106.5 q-63 -68 -147 -106.5t-207 -38.5q-187 0 -297.5 117t-110.5 317zM393 414q0 -91 36.5 -140t109.5 -49q109 0 179 134.5t70 336.5q0 96 -37 146.5t-106 50.5q-71 0 -127 -60.5t-90.5 -176.5t-34.5 -242zM1094 647h45q155 0 241 48.5t86 131.5q0 95 -104 95 q-88 0 -165.5 -78.5t-102.5 -196.5z" /> -<glyph unicode="&#x178;" horiz-adv-x="1155" d="M186 1462h312l129 -592l374 592h342l-618 -903l-119 -559h-303l119 559zM432 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM834 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 q-135 0 -135 110z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="1135" d="M311 1241v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25h-198q-63 53 -162 168q-105 -88 -232 -168h-217z" /> -<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M532 1477q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5zM684 1477q0 -45 24 -71t72 -26q42 0 69.5 26t27.5 71t-27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="1135" d="M315 1239q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177z" /> -<glyph unicode="&#x2000;" horiz-adv-x="953" /> -<glyph unicode="&#x2001;" horiz-adv-x="1907" /> -<glyph unicode="&#x2002;" horiz-adv-x="953" /> -<glyph unicode="&#x2003;" horiz-adv-x="1907" /> -<glyph unicode="&#x2004;" horiz-adv-x="635" /> -<glyph unicode="&#x2005;" horiz-adv-x="476" /> -<glyph unicode="&#x2006;" horiz-adv-x="317" /> -<glyph unicode="&#x2007;" horiz-adv-x="317" /> -<glyph unicode="&#x2008;" horiz-adv-x="238" /> -<glyph unicode="&#x2009;" horiz-adv-x="381" /> -<glyph unicode="&#x200a;" horiz-adv-x="105" /> -<glyph unicode="&#x2010;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" /> -<glyph unicode="&#x2011;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" /> -<glyph unicode="&#x2012;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" /> -<glyph unicode="&#x2013;" horiz-adv-x="983" d="M41 436l49 230h852l-49 -230h-852z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M41 436l49 230h1835l-49 -230h-1835z" /> -<glyph unicode="&#x2018;" horiz-adv-x="440" d="M115 983q103 227 262 479h225q-91 -213 -194 -501h-285z" /> -<glyph unicode="&#x2019;" horiz-adv-x="440" d="M106 961q89 206 195 501h285l8 -22q-103 -227 -262 -479h-226z" /> -<glyph unicode="&#x201a;" horiz-adv-x="569" d="M-102 -264q88 207 194 502h285l8 -23q-103 -227 -262 -479h-225z" /> -<glyph unicode="&#x201c;" horiz-adv-x="887" d="M115 983q103 227 262 479h225q-91 -213 -194 -501h-285zM561 983q103 227 262 479h226q-97 -227 -195 -501h-285z" /> -<glyph unicode="&#x201d;" horiz-adv-x="887" d="M106 961q89 206 195 501h285l8 -22q-103 -227 -262 -479h-226zM553 961q23 53 46.5 111t148.5 390h284l8 -22q-103 -227 -262 -479h-225z" /> -<glyph unicode="&#x201e;" horiz-adv-x="1018" d="M-102 -264q88 207 194 502h285l8 -23q-103 -227 -262 -479h-225zM346 -264q24 57 49 118.5t146 383.5h284l9 -23q-100 -221 -263 -479h-225z" /> -<glyph unicode="&#x2022;" horiz-adv-x="739" d="M104 686q0 106 42.5 194t120 136.5t182.5 48.5q120 0 182.5 -67t62.5 -191q0 -177 -91.5 -277t-248.5 -100q-117 0 -183.5 67t-66.5 189z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1706" d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM586 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM1147 115q0 90 53.5 144t150.5 54q68 0 109 -38 t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> -<glyph unicode="&#x202f;" horiz-adv-x="381" /> -<glyph unicode="&#x2039;" horiz-adv-x="664" d="M72 551v18l401 463l191 -155l-279 -334l135 -350l-246 -103z" /> -<glyph unicode="&#x203a;" horiz-adv-x="664" d="M0 227l279 334l-136 350l246 103l203 -461v-18l-402 -463z" /> -<glyph unicode="&#x2044;" horiz-adv-x="256" d="M-532 0l1087 1462h236l-1084 -1462h-239z" /> -<glyph unicode="&#x205f;" horiz-adv-x="476" /> -<glyph unicode="&#x2074;" horiz-adv-x="776" d="M47 737l31 174l475 557h260l-121 -563h119l-35 -168h-119l-32 -151h-238l33 151h-373zM281 905h174l58 231l22 74q-13 -20 -43 -58t-211 -247z" /> -<glyph unicode="&#x20ac;" d="M41 481l37 178h127q9 67 22 115h-125l39 176h135q87 252 250.5 393.5t374.5 141.5q100 0 179 -23t165 -80l-125 -223q-87 49 -131 63.5t-90 14.5q-97 0 -176 -74.5t-135 -212.5h348l-39 -176h-360q-11 -34 -25 -115h299l-37 -178h-280q0 -120 44.5 -181.5t147.5 -61.5 q133 0 283 63v-258q-126 -63 -330 -63q-446 0 -446 501h-152z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M106 1313v149h564v-149h-199v-572h-168v572h-197zM715 741v721h248l159 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-141l-166 529h-7l5 -111v-418h-164z" /> -<glyph unicode="&#xe000;" horiz-adv-x="1120" d="M0 1120h1120v-1120h-1120v1120z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1352" d="M-219 -225q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371q-104 0 -174 25v242zM780 0 l237 1118h301l-237 -1118h-301zM1065 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1352" d="M-219 -225q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371q-104 0 -174 25v242zM780 0 l330 1556h301l-330 -1556h-301z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="2048" d="M-219 -225q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-79 -224 q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371q-104 0 -174 25v242zM1477 0l237 1118h301l-237 -1118h-301z M1761 1380q0 87 48 131.5t135 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-152 0 -152 123z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="2048" d="M-219 -225q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-79 -224 q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371q-104 0 -174 25v242zM1477 0l329 1556h301l-329 -1556h-301z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.ttf deleted file mode 100755 index b3eb0d3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.woff deleted file mode 100755 index 1712e15..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-bolditalic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.eot deleted file mode 100755 index 0e88f02..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.svg deleted file mode 100755 index c3d6642..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 2011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom -</metadata> -<defs> -<font id="OpenSansExtrabold" horiz-adv-x="1200" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="532" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="&#x09;" horiz-adv-x="532" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="594" d="M82 1462h432l-51 -946h-330zM86 166q0 91 54 141.5t157 50.5q102 0 154.5 -50.5t52.5 -141.5q0 -90 -54.5 -140.5t-152.5 -50.5q-99 0 -155 50.5t-56 140.5z" /> -<glyph unicode="&#x22;" horiz-adv-x="1073" d="M121 1462h356l-41 -528h-274zM596 1462h356l-41 -528h-274z" /> -<glyph unicode="#" horiz-adv-x="1356" d="M37 391v254h274l31 168h-238v260h287l72 389h268l-74 -389h166l72 389h268l-73 -389h229v-260h-277l-30 -168h243v-254h-290l-74 -391h-268l73 391h-168l-71 -391h-267l72 391h-225zM578 645h165l31 168h-166z" /> -<glyph unicode="$" d="M80 1044q0 165 106 258t318 115v137h207v-135q199 -11 401 -98l-119 -285q-209 94 -377 94q-80 0 -112.5 -19.5t-32.5 -57.5q0 -33 23.5 -54.5t81.5 -48t161 -61.5q209 -74 300 -168.5t91 -243.5q0 -168 -106.5 -273t-310.5 -130v-193h-207v187q-219 10 -422 98v332 q116 -59 252 -98.5t239 -39.5q85 0 124.5 20.5t39.5 68.5q0 33 -28.5 56t-95 52t-179.5 70q-127 47 -205 105.5t-113.5 131t-35.5 180.5zM613 1462z" /> -<glyph unicode="%" horiz-adv-x="1942" d="M37 1026q0 220 98 338.5t275 118.5q175 0 278 -123t103 -334q0 -220 -99 -340.5t-282 -120.5q-172 0 -272.5 124.5t-100.5 336.5zM338 1022q0 -115 19 -166t57 -51t56.5 50t18.5 167q0 115 -18.5 166t-56.5 51q-39 0 -57.5 -52t-18.5 -165zM412 0l811 1462h297 l-811 -1462h-297zM1149 444q0 220 98 338.5t275 118.5q175 0 278 -123t103 -334q0 -219 -99.5 -339.5t-281.5 -120.5q-172 0 -272.5 124.5t-100.5 335.5zM1450 440q0 -115 19 -166t57 -51q43 0 59.5 58.5t16.5 158.5t-16.5 158.5t-59.5 58.5q-39 0 -57.5 -52t-18.5 -165z " /> -<glyph unicode="&#x26;" horiz-adv-x="1636" d="M72 406q0 262 272 401q-62 70 -96.5 148.5t-34.5 177.5q0 160 123.5 254t339.5 94q211 0 328.5 -93.5t117.5 -254.5q0 -111 -63.5 -205.5t-200.5 -177.5l199 -189q75 115 104 260h406q-30 -138 -94.5 -276.5t-145.5 -237.5l320 -307h-506l-99 102q-90 -57 -147.5 -78.5 t-129 -32.5t-163.5 -11q-158 0 -279.5 54t-186 151t-64.5 221zM475 434q0 -63 45 -103t119 -40q57 0 100 15t66 34l-248 252q-82 -61 -82 -158zM565 1120q0 -75 88 -155q57 32 87 76.5t30 91.5q0 49 -28.5 70.5t-71.5 21.5q-42 0 -73.5 -25t-31.5 -80z" /> -<glyph unicode="'" horiz-adv-x="598" d="M121 1462h356l-41 -528h-274z" /> -<glyph unicode="(" horiz-adv-x="735" d="M74 582q0 290 71 523t209 398h326q-126 -175 -194 -412t-68 -507q0 -261 66 -495.5t194 -412.5h-324q-137 158 -208.5 388t-71.5 518zM493 1485z" /> -<glyph unicode=")" horiz-adv-x="735" d="M55 1503h326q139 -166 210 -402t71 -519t-71.5 -514.5t-209.5 -391.5h-324q126 172 193 408.5t67 499.5q0 265 -66 501.5t-196 417.5zM247 1485z" /> -<glyph unicode="*" horiz-adv-x="1100" d="M45 1014l45 291l348 -101l-39 352h303l-38 -352l356 101l37 -295l-314 -21l207 -278l-260 -138l-143 283l-123 -281l-272 136l206 278z" /> -<glyph unicode="+" horiz-adv-x="1159" d="M72 588v268h372v367h269v-367h372v-268h-372v-361h-269v361h-372z" /> -<glyph unicode="," horiz-adv-x="633" d="M57 -285q29 138 58.5 309.5t40.5 274.5h342l14 -23q-97 -381 -176 -561h-279z" /> -<glyph unicode="-" horiz-adv-x="651" d="M43 393v312h565v-312h-565z" /> -<glyph unicode="." horiz-adv-x="592" d="M86 166q0 92 54.5 142t158.5 50q99 0 152 -50t53 -142q0 -90 -54.5 -140.5t-150.5 -50.5q-99 0 -156 50t-57 141z" /> -<glyph unicode="/" horiz-adv-x="905" d="M10 -20l545 1503h346l-545 -1503h-346z" /> -<glyph unicode="0" d="M72 729q0 390 130 572t398 182q261 0 394.5 -189.5t133.5 -564.5q0 -388 -130 -568.5t-398 -180.5q-262 0 -395 188.5t-133 560.5zM465 729q0 -248 31 -341t104 -93q74 0 104.5 96t30.5 338q0 243 -31 340.5t-104 97.5t-104 -94t-31 -344z" /> -<glyph unicode="1" d="M84 1053l502 409h356v-1462h-401v774q0 141 6 258q-37 -45 -92 -94l-166 -137z" /> -<glyph unicode="2" d="M45 1249q113 101 190 144.5t167.5 66.5t203.5 23q142 0 253.5 -50t173 -142.5t61.5 -207.5q0 -86 -21.5 -159t-66.5 -143.5t-119.5 -148.5t-317.5 -296v-10h553v-326h-1061v260l357 361q153 160 200 218.5t65.5 100.5t18.5 88q0 57 -37 90t-104 33q-69 0 -139.5 -39.5 t-159.5 -116.5z" /> -<glyph unicode="3" d="M70 59v328q96 -49 195.5 -72.5t183.5 -23.5q130 0 189.5 36.5t59.5 114.5q0 60 -31 92.5t-100 49t-180 16.5h-90v297h92q301 0 301 154q0 58 -44.5 86t-119.5 28q-140 0 -290 -94l-164 264q116 80 237.5 114t278.5 34q227 0 356 -90t129 -248q0 -136 -83 -233.5 t-240 -141.5v-6q366 -46 366 -346q0 -204 -161.5 -321t-448.5 -117q-118 0 -218.5 17t-217.5 62z" /> -<glyph unicode="4" d="M35 283v290l608 889h365v-884h161v-295h-161v-283h-390v283h-583zM377 578h241v170q0 48 3.5 129.5t5.5 85.5h-11q-34 -77 -77 -144z" /> -<glyph unicode="5" d="M94 59v324q87 -40 196.5 -66t188.5 -26q110 0 169 46.5t59 137.5q0 84 -60 131t-182 47q-93 0 -201 -35l-145 72l55 772h834v-329h-498l-18 -193q78 15 111 16.5t61 1.5q126 0 227.5 -58.5t158 -165.5t56.5 -247q0 -245 -147.5 -376t-446.5 -131q-256 0 -418 79z" /> -<glyph unicode="6" d="M70 618q0 306 87.5 495.5t258 279.5t420.5 90q89 0 208 -17v-309q-100 19 -217 19q-198 0 -295 -87t-106 -284h12q90 170 289 170q195 0 302.5 -125.5t107.5 -349.5q0 -241 -136 -380.5t-380 -139.5q-259 0 -405 168t-146 470zM463 512q0 -96 41 -157.5t108 -61.5 q63 0 102.5 47.5t39.5 151.5q0 178 -138 178q-68 0 -110.5 -46t-42.5 -112z" /> -<glyph unicode="7" d="M78 1133v327h1055v-233l-515 -1227h-409l502 1133h-633z" /> -<glyph unicode="8" d="M68 385q0 127 61 216.5t205 162.5q-116 78 -169.5 167.5t-53.5 196.5q0 168 131 261.5t362 93.5t359.5 -93t128.5 -264q0 -116 -60.5 -203.5t-191.5 -152.5q162 -92 228.5 -183.5t66.5 -197.5q0 -195 -141 -302t-394 -107q-258 0 -395 104.5t-137 300.5zM430 401 q0 -62 44 -99.5t122 -37.5q176 0 176 129q0 49 -38.5 96.5t-137.5 106.5q-89 -47 -127.5 -94.5t-38.5 -100.5zM481 1092q0 -86 117 -152q71 41 97 75t26 77q0 48 -35 77t-84 29q-51 0 -86 -29.5t-35 -76.5z" /> -<glyph unicode="9" d="M53 958q0 243 138.5 381t379.5 138q268 0 415 -178t147 -506q0 -429 -185 -621t-592 -192q-134 0 -204 10v313q86 -16 172 -16q212 0 327 87.5t125 276.5h-12q-39 -72 -77 -104t-93 -49t-137 -17q-190 0 -297 127t-107 350zM436 963q0 -82 35 -130.5t107 -48.5 q65 0 113 47t48 113q0 89 -44.5 153t-112.5 64q-65 0 -105.5 -47t-40.5 -151z" /> -<glyph unicode=":" horiz-adv-x="592" d="M86 166q0 92 54.5 142t158.5 50q99 0 152 -50t53 -142q0 -90 -54.5 -140.5t-150.5 -50.5q-99 0 -156 50t-57 141zM86 956q0 91 55 141t158 50q99 0 152 -50t53 -141q0 -90 -54 -141t-151 -51q-102 0 -157.5 51t-55.5 141z" /> -<glyph unicode=";" horiz-adv-x="608" d="M57 -285q29 138 58.5 309.5t40.5 274.5h342l14 -23q-97 -381 -176 -561h-279zM92 956q0 91 53.5 141t157.5 50q100 0 153.5 -50.5t53.5 -140.5t-54 -141t-153 -51q-102 0 -156.5 50.5t-54.5 141.5z" /> -<glyph unicode="&#x3c;" horiz-adv-x="1159" d="M72 627v172l1011 506v-297l-620 -283l620 -252v-295z" /> -<glyph unicode="=" horiz-adv-x="1159" d="M72 358v271h1015v-271h-1015zM72 815v268h1015v-268h-1015z" /> -<glyph unicode="&#x3e;" horiz-adv-x="1159" d="M72 178v295l620 252l-620 283v297l1011 -506v-172z" /> -<glyph unicode="?" horiz-adv-x="1034" d="M0 1341q249 142 520 142q223 0 350 -98t127 -267q0 -121 -56.5 -209.5t-180.5 -167.5q-105 -68 -131.5 -99.5t-26.5 -74.5v-51h-307v86q0 98 40 165.5t142 131.5q81 51 116.5 92t35.5 94q0 42 -38 66.5t-99 24.5q-151 0 -353 -107zM252 166q0 92 53.5 142t157.5 50 q100 0 153.5 -50.5t53.5 -141.5t-55.5 -141t-151.5 -50q-99 0 -155 49.5t-56 141.5z" /> -<glyph unicode="@" horiz-adv-x="1837" d="M82 610q0 253 114.5 453.5t316 309t456.5 108.5q234 0 413.5 -89t276 -253.5t96.5 -382.5q0 -141 -48.5 -263t-134.5 -191t-196 -69q-79 0 -143 31.5t-100 87.5h-15q-107 -119 -260 -119q-183 0 -281 107t-98 299q0 141 62 249.5t179 167t271 58.5q81 0 178.5 -16.5 t178.5 -44.5l-21 -422l-2 -94q0 -86 49 -86q52 0 84.5 87t32.5 220q0 239 -135 369t-383 130q-190 0 -330.5 -79t-214.5 -226.5t-74 -345.5q0 -255 142.5 -393.5t402.5 -138.5q116 0 250.5 25t263.5 71v-229q-224 -95 -500 -95q-388 0 -609.5 202.5t-221.5 561.5zM760 641 q0 -100 36.5 -145t96.5 -45q77 0 113 62t47 220l10 156q-40 6 -68 6q-108 0 -171.5 -67t-63.5 -187z" /> -<glyph unicode="A" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461z" /> -<glyph unicode="B" horiz-adv-x="1380" d="M158 0v1462h510q298 0 442.5 -88.5t144.5 -275.5q0 -123 -63 -210t-166 -112v-10q136 -36 197 -120t61 -218q0 -199 -149.5 -313.5t-407.5 -114.5h-569zM553 305h139q185 0 185 156q0 73 -49.5 112t-143.5 39h-131v-307zM553 901h119q85 0 131.5 35t46.5 104 q0 123 -186 123h-111v-262z" /> -<glyph unicode="C" horiz-adv-x="1329" d="M104 727q0 227 85.5 399t246 264.5t377.5 92.5q237 0 453 -103l-121 -311q-81 38 -162 64t-174 26q-141 0 -220 -115.5t-79 -318.5q0 -422 321 -422q97 0 188 27t183 65v-334q-183 -81 -414 -81q-331 0 -507.5 192t-176.5 555z" /> -<glyph unicode="D" horiz-adv-x="1503" d="M158 0v1462h506q352 0 543.5 -180t191.5 -520q0 -366 -201.5 -564t-566.5 -198h-473zM553 324h88q180 0 264 104.5t84 319.5q0 201 -79.5 298t-241.5 97h-115v-819z" /> -<glyph unicode="E" horiz-adv-x="1124" d="M158 0v1462h868v-317h-473v-230h438v-317h-438v-276h473v-322h-868z" /> -<glyph unicode="F" horiz-adv-x="1104" d="M158 0v1462h864v-317h-475v-279h438v-317h-438v-549h-389z" /> -<glyph unicode="G" horiz-adv-x="1516" d="M104 735q0 354 202 551t566 197q138 0 260.5 -26t213.5 -66l-125 -310q-158 78 -347 78q-173 0 -267.5 -112.5t-94.5 -321.5q0 -205 85.5 -312.5t246.5 -107.5q88 0 162 17v229h-261v305h631v-788q-257 -88 -565 -88q-338 0 -522.5 196t-184.5 559z" /> -<glyph unicode="H" horiz-adv-x="1569" d="M158 0v1462h397v-542h459v542h397v-1462h-397v596h-459v-596h-397z" /> -<glyph unicode="I" horiz-adv-x="713" d="M158 0v1462h397v-1462h-397z" /> -<glyph unicode="J" horiz-adv-x="721" d="M-162 -131q32 -6 68 -13.5t78 -7.5q98 0 140 59t42 202v1353h397v-1319q0 -297 -130 -449.5t-390 -152.5q-108 0 -205 21v307z" /> -<glyph unicode="K" horiz-adv-x="1407" d="M158 0v1462h397v-635q30 59 121 187l307 448h432l-461 -655l453 -807h-446l-289 559l-117 -70v-489h-397z" /> -<glyph unicode="L" horiz-adv-x="1192" d="M158 0v1462h395v-1143h563v-319h-958z" /> -<glyph unicode="M" horiz-adv-x="1980" d="M158 0v1462h526l305 -1038h8l299 1038h527v-1462h-363v641q0 50 1.5 111t13.5 299h-9l-295 -1051h-376l-299 1053h-9q21 -269 21 -418v-635h-350z" /> -<glyph unicode="N" horiz-adv-x="1708" d="M158 0v1462h516l532 -1016h6q-14 221 -14 355v661h352v-1462h-518l-534 1030h-9q19 -243 19 -371v-659h-350z" /> -<glyph unicode="O" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -369 -181 -561t-530 -192q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428z" /> -<glyph unicode="P" horiz-adv-x="1294" d="M158 0v1462h506q277 0 416 -121t139 -344q0 -245 -144.5 -378.5t-410.5 -133.5h-111v-485h-395zM553 807h72q89 0 141.5 50t52.5 138q0 148 -164 148h-102v-336z" /> -<glyph unicode="Q" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -497 -316 -670l357 -411h-492l-258 325l-1 1v1l-1 1q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428z" /> -<glyph unicode="R" horiz-adv-x="1386" d="M158 0v1462h479q596 0 596 -432q0 -254 -248 -393l426 -637h-448l-310 532h-100v-532h-395zM553 829h74q207 0 207 183q0 151 -203 151h-78v-334z" /> -<glyph unicode="S" horiz-adv-x="1182" d="M90 72v352q113 -58 235 -90.5t224 -32.5q88 0 129 30.5t41 78.5q0 30 -16.5 52.5t-53 45.5t-194.5 94q-143 65 -214.5 126t-106 140t-34.5 187q0 202 147 315t404 113q227 0 463 -105l-121 -305q-205 94 -354 94q-77 0 -112 -27t-35 -67q0 -43 44.5 -77t241.5 -124 q189 -85 262.5 -182.5t73.5 -245.5q0 -136 -69 -241.5t-199 -164t-305 -58.5q-146 0 -245 20.5t-206 71.5z" /> -<glyph unicode="T" horiz-adv-x="1210" d="M51 1139v323h1108v-323h-356v-1139h-395v1139h-357z" /> -<glyph unicode="U" horiz-adv-x="1550" d="M150 573v889h397v-858q0 -155 58 -225t171 -70q121 0 175.5 69.5t54.5 227.5v856h395v-880q0 -287 -162.5 -444.5t-468.5 -157.5q-299 0 -459.5 153t-160.5 440z" /> -<glyph unicode="V" horiz-adv-x="1421" d="M0 1462h444l199 -741q62 -247 68 -344q7 70 28 175t37 165l203 745h442l-479 -1462h-465z" /> -<glyph unicode="W" horiz-adv-x="2128" d="M31 1462h381l159 -733q54 -243 74 -387q13 102 46.5 277t62.5 290l129 553h366l125 -553q32 -133 65 -307t44 -260q13 111 71 385l162 735h381l-360 -1462h-467l-140 637q-10 40 -31.5 159t-31.5 199q-8 -65 -26 -161.5t-35.5 -177.5t-145.5 -656h-467z" /> -<glyph unicode="X" horiz-adv-x="1481" d="M4 0l485 748l-456 714h438l264 -452l254 452h451l-463 -745l498 -717h-457l-285 457l-282 -457h-447z" /> -<glyph unicode="Y" horiz-adv-x="1360" d="M0 1462h430l250 -542l252 542h428l-481 -891v-571h-398v559z" /> -<glyph unicode="Z" horiz-adv-x="1251" d="M61 0v244l633 899h-618v319h1108v-243l-633 -900h649v-319h-1139z" /> -<glyph unicode="[" horiz-adv-x="664" d="M117 -344v1847h499v-254h-182v-1339h182v-254h-499zM355 1485z" /> -<glyph unicode="\" horiz-adv-x="905" d="M6 1483h346l545 -1503h-346z" /> -<glyph unicode="]" horiz-adv-x="664" d="M47 -90h182v1339h-182v254h500v-1847h-500v254zM317 1485z" /> -<glyph unicode="^" horiz-adv-x="1075" d="M-16 502l440 966h170l508 -966h-295l-289 577l-124 -291l-124 -286h-286z" /> -<glyph unicode="_" horiz-adv-x="1024" d="M-4 -133h1032v-246h-1032v246z" /> -<glyph unicode="`" horiz-adv-x="1225" d="M264 1548v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="a" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142z" /> -<glyph unicode="b" horiz-adv-x="1317" d="M135 0v1556h391v-352q0 -63 -14 -217h14q57 88 131.5 127t169.5 39q185 0 293.5 -155t108.5 -429q0 -276 -109.5 -432.5t-304.5 -156.5q-63 0 -112 13.5t-87.5 37.5t-89.5 80h-24l-62 -111h-305zM526 555q0 -139 38 -199.5t124 -60.5q69 0 106 70.5t37 207.5 q0 273 -147 273q-82 0 -120 -57t-38 -179v-55z" /> -<glyph unicode="c" horiz-adv-x="1104" d="M86 561q0 282 155 437t441 155q197 0 371 -86l-115 -289q-71 31 -131 49.5t-125 18.5q-95 0 -147 -74t-52 -209q0 -272 201 -272q172 0 330 100v-311q-151 -100 -363 -100q-278 0 -421.5 150t-143.5 431z" /> -<glyph unicode="d" horiz-adv-x="1317" d="M86 565q0 276 111 432t305 156q95 0 166.5 -38t130.5 -128h8q-19 133 -19 266v303h394v-1556h-295l-84 143h-15q-101 -163 -301 -163q-121 0 -211.5 69t-140 203t-49.5 313zM481 559q0 -132 43 -201t123 -69q94 0 132.5 59t41.5 182v31q0 150 -43 213.5t-135 63.5 q-77 0 -119.5 -72.5t-42.5 -206.5z" /> -<glyph unicode="e" horiz-adv-x="1266" d="M86 559q0 287 145 440.5t414 153.5q256 0 395.5 -133.5t139.5 -384.5v-174h-699q4 -95 69.5 -149t178.5 -54q103 0 189.5 19.5t187.5 66.5v-281q-92 -47 -190 -65t-234 -18q-283 0 -439.5 150.5t-156.5 428.5zM489 707h336q-2 82 -46.5 131t-119.5 49q-69 0 -115.5 -43.5 t-54.5 -136.5z" /> -<glyph unicode="f" horiz-adv-x="846" d="M45 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241v-840h-391v840h-150z" /> -<glyph unicode="g" horiz-adv-x="1241" d="M20 -180q0 203 252 262q-52 22 -90.5 71t-38.5 97q0 53 29 93.5t121 96.5q-88 39 -138.5 122t-50.5 202q0 185 126 287t360 102q31 0 107 -7t112 -13h395v-189l-155 -57q32 -58 32 -135q0 -183 -128.5 -284t-383.5 -101q-63 0 -100 8q-14 -26 -14 -49q0 -29 47 -44.5 t123 -15.5h188q381 0 381 -321q0 -207 -176.5 -322t-495.5 -115q-241 0 -371.5 80.5t-130.5 231.5zM350 -141q0 -48 52 -77.5t139 -29.5q142 0 227.5 35.5t85.5 91.5q0 45 -52 63.5t-149 18.5h-153q-63 0 -106.5 -29.5t-43.5 -72.5zM473 762q0 -174 121 -174q56 0 86.5 43 t30.5 129q0 176 -117 176q-121 0 -121 -174z" /> -<glyph unicode="h" horiz-adv-x="1372" d="M135 0v1556h391v-221q0 -150 -16 -342h18q56 88 133 124t179 36q190 0 295.5 -109.5t105.5 -306.5v-737h-393v618q0 228 -135 228q-96 0 -141.5 -80.5t-45.5 -267.5v-498h-391z" /> -<glyph unicode="i" horiz-adv-x="666" d="M127 1415q0 88 49 131t158 43t159 -44t50 -130q0 -172 -209 -172q-207 0 -207 172zM137 0v1133h391v-1133h-391z" /> -<glyph unicode="j" horiz-adv-x="664" d="M-104 -162q64 -18 120 -18q119 0 119 170v1143h391v-1225q0 -187 -109.5 -293.5t-310.5 -106.5q-48 0 -110.5 7.5t-99.5 17.5v305zM125 1415q0 88 49 131t158 43t159 -44t50 -130q0 -172 -209 -172q-207 0 -207 172z" /> -<glyph unicode="k" horiz-adv-x="1350" d="M135 0v1556h393v-612q0 -157 -22 -307h8q71 113 121 176l254 320h436l-393 -482l418 -651h-447l-248 406l-127 -97v-309h-393z" /> -<glyph unicode="l" horiz-adv-x="662" d="M135 0v1556h391v-1556h-391z" /> -<glyph unicode="m" horiz-adv-x="2048" d="M135 0v1133h295l49 -140h23q45 78 130.5 119t194.5 41q245 0 344 -149h31q48 70 133.5 109.5t188.5 39.5q201 0 297 -103t96 -313v-737h-391v616q0 115 -31.5 172.5t-99.5 57.5q-90 0 -132 -77t-42 -241v-528h-392v616q0 115 -30 172.5t-97 57.5q-92 0 -134 -82t-42 -268 v-496h-391z" /> -<glyph unicode="n" horiz-adv-x="1372" d="M135 0v1133h295l49 -140h23q50 80 138.5 120t203.5 40q188 0 292.5 -109t104.5 -307v-737h-391v618q0 113 -32.5 170.5t-104.5 57.5q-99 0 -143 -79t-44 -271v-496h-391z" /> -<glyph unicode="o" horiz-adv-x="1305" d="M86 569q0 277 149.5 430.5t419.5 153.5q167 0 295 -71t197.5 -203.5t69.5 -309.5q0 -278 -149.5 -433.5t-418.5 -155.5q-258 0 -410.5 159t-152.5 430zM483 569q0 -146 39 -222.5t131 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-90 0 -129 -73.5 t-39 -219.5z" /> -<glyph unicode="p" horiz-adv-x="1317" d="M135 -492v1625h318l55 -144h18q109 164 301 164q188 0 295 -156t107 -428q0 -274 -111.5 -431.5t-302.5 -157.5q-86 0 -154 28.5t-135 102.5h-18q18 -119 18 -148v-455h-391zM526 571q0 -146 39 -211t123 -65q75 0 109 64.5t34 213.5q0 146 -34 209.5t-113 63.5 q-86 0 -120.5 -61.5t-37.5 -182.5v-31z" /> -<glyph unicode="q" horiz-adv-x="1317" d="M86 565q0 276 110.5 432t301.5 156q205 0 309 -160h8l29 140h338v-1625h-391v469q0 34 12 166h-12q-96 -163 -299 -163q-190 0 -298 156t-108 429zM483 559q0 -148 41 -212t127 -64q89 0 129.5 55t40.5 186v47q0 150 -41 214.5t-135 64.5q-162 0 -162 -291z" /> -<glyph unicode="r" horiz-adv-x="961" d="M135 0v1133h291l61 -181h19q49 90 136.5 145.5t176.5 55.5q51 0 97 -8l22 -4l-35 -369q-48 12 -133 12q-128 0 -186 -58.5t-58 -168.5v-557h-391z" /> -<glyph unicode="s" horiz-adv-x="1092" d="M119 819q0 158 122 246t345 88q112 0 210.5 -24.5t204.5 -71.5l-106 -252q-78 35 -165 59.5t-142 24.5q-96 0 -96 -47q0 -29 33.5 -49.5t193.5 -83.5q119 -49 177.5 -96t86 -110.5t27.5 -154.5q0 -182 -124 -275t-356 -93q-126 0 -219 13.5t-190 49.5v313 q91 -40 199.5 -66t193.5 -26q127 0 127 58q0 30 -35.5 53.5t-206.5 91.5q-156 64 -218 145.5t-62 206.5z" /> -<glyph unicode="t" horiz-adv-x="942" d="M53 840v159l174 123l101 238h256v-227h278v-293h-278v-441q0 -110 106 -110q79 0 189 39v-285q-79 -34 -150.5 -48.5t-167.5 -14.5q-197 0 -284 96.5t-87 296.5v467h-137z" /> -<glyph unicode="u" horiz-adv-x="1372" d="M133 395v738h391v-619q0 -111 31.5 -168t103.5 -57q101 0 144 79.5t43 268.5v496h391v-1133h-295l-49 141h-23q-49 -78 -136.5 -119.5t-205.5 -41.5q-187 0 -291 108.5t-104 306.5z" /> -<glyph unicode="v" horiz-adv-x="1251" d="M0 1133h408l192 -670q1 -5 4 -17t6 -28.5t5.5 -35t2.5 -34.5h7q0 52 18 113l201 672h407l-432 -1133h-387z" /> -<glyph unicode="w" horiz-adv-x="1864" d="M25 1133h385l92 -435q44 -224 51 -372h6q3 92 55 350l105 457h432l96 -463q46 -221 58 -344h6q6 76 20 189.5t31 182.5l100 435h377l-311 -1133h-418l-128 540l-30 163l-20 131h-6q-49 -280 -66 -353l-115 -481h-411z" /> -<glyph unicode="x" horiz-adv-x="1290" d="M10 0l365 578l-346 555h444l172 -318l176 318h445l-355 -555l369 -578h-444l-191 344l-190 -344h-445z" /> -<glyph unicode="y" horiz-adv-x="1249" d="M-2 1133h412l192 -650q14 -51 19 -123h8q8 69 24 121l197 652h399l-448 -1205q-86 -230 -211.5 -325t-327.5 -95q-78 0 -160 17v307q53 -12 121 -12q52 0 91 20t68 56.5t62 119.5z" /> -<glyph unicode="z" horiz-adv-x="1038" d="M49 0v223l469 611h-442v299h889v-242l-449 -592h471v-299h-938z" /> -<glyph unicode="{" horiz-adv-x="887" d="M61 418v301q115 0 180.5 44.5t65.5 125.5v254q0 139 49 208t159.5 100.5t305.5 31.5v-279q-89 -3 -120.5 -13.5t-50.5 -32.5t-19 -60v-271q0 -113 -56.5 -173.5t-183.5 -78.5v-12q128 -20 184 -79t56 -167v-276q0 -39 21 -61t56 -32.5t113 -13.5v-278q-197 0 -307 32 t-158.5 101.5t-48.5 210.5v248q0 80 -67 125t-179 45z" /> -<glyph unicode="|" horiz-adv-x="1042" d="M387 -446v2002h268v-2002h-268z" /> -<glyph unicode="}" horiz-adv-x="887" d="M66 -66q108 4 149 29.5t41 77.5v276q0 108 56 167t184 79v12q-127 18 -183.5 78.5t-56.5 173.5v271q0 39 -19.5 60.5t-50 32t-120.5 13.5v279q196 0 306 -31.5t159 -100.5t49 -208v-254q0 -81 65 -125.5t180 -44.5v-301q-111 0 -178 -45t-67 -125v-248q0 -140 -49 -210 t-159 -102t-306 -32v278z" /> -<glyph unicode="~" horiz-adv-x="1159" d="M72 526v281q104 108 264 108q69 0 130 -13.5t150 -49.5q131 -55 238 -55q50 0 112.5 32t118.5 89v-281q-105 -109 -264 -109q-71 0 -133.5 15t-146.5 49q-131 55 -236 55q-110 0 -233 -121z" /> -<glyph unicode="&#xa1;" horiz-adv-x="594" d="M82 -334l51 946h330l51 -946h-432zM92 963q0 90 54 140t153 50q101 0 156 -50.5t55 -139.5q0 -91 -53.5 -142t-157.5 -51q-102 0 -154.5 50.5t-52.5 142.5z" /> -<glyph unicode="&#xa2;" d="M129 739q0 240 113 388.5t323 189.5v166h207v-154q171 -9 324 -84l-115 -289q-71 31 -131 49.5t-125 18.5q-95 0 -147 -74t-52 -209q0 -272 201 -272q172 0 330 100v-311q-127 -82 -285 -98v-180h-207v186q-212 31 -324 176t-112 397z" /> -<glyph unicode="&#xa3;" d="M102 649v277h166v118q0 215 117 328t338 113q210 0 405 -82l-110 -289q-148 55 -252 55q-58 0 -85.5 -33t-27.5 -104v-106h344v-277h-344v-96q0 -150 -159 -227h671v-326h-1061v313q81 47 109.5 76.5t41.5 67.5t13 94v98h-166z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1159" d="M96 1018l180 182l123 -123q84 41 172 41q91 0 177 -45l120 127l185 -174l-127 -125q41 -76 41 -178q0 -94 -41 -176l121 -119l-179 -178l-120 119q-89 -39 -177 -39q-100 0 -176 37l-119 -115l-178 178l123 119q-41 82 -41 174q0 89 41 176zM436 723q0 -56 40.5 -95.5 t94.5 -39.5q58 0 100 38.5t42 96.5t-42 97.5t-100 39.5q-56 0 -95.5 -40.5t-39.5 -96.5z" /> -<glyph unicode="&#xa5;" d="M8 1462h400l192 -504l193 504h399l-363 -712h195v-211h-242v-117h242v-209h-242v-213h-364v213h-246v209h246v117h-246v211h190z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1042" d="M387 393h268v-839h-268v839zM387 717v839h268v-839h-268z" /> -<glyph unicode="&#xa7;" horiz-adv-x="1024" d="M106 803q0 64 43 125t121 108q-141 102 -141 246q0 137 111 216t295 79q191 0 370 -86l-98 -221q-73 40 -146.5 63t-128.5 23q-108 0 -108 -74q0 -43 45.5 -79t128.5 -70q175 -71 252.5 -152t77.5 -178q0 -77 -32 -137.5t-116 -120.5q125 -94 125 -244 q0 -149 -116.5 -237.5t-319.5 -88.5q-204 0 -352 86v244q79 -44 182 -76t172 -32q139 0 139 96q0 42 -31 72.5t-139 78.5q-141 63 -205.5 112t-96.5 108t-32 139zM397 834q0 -51 44 -91t155 -98q41 47 41 107q0 57 -42 100t-140 84q-58 -32 -58 -102z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1233" d="M223 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM702 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1688" d="M92 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM256 731q0 -158 79.5 -295.5t215.5 -215t293 -77.5q158 0 294 78.5t215 215t79 294.5 q0 157 -77.5 293t-214 215.5t-296.5 79.5q-158 0 -294.5 -78.5t-215 -215t-78.5 -294.5zM434 735q0 217 113 340t321 123q166 0 322 -78l-92 -205q-106 56 -211 56q-81 0 -126.5 -61t-45.5 -179q0 -128 43.5 -185t134.5 -57q138 0 258 68v-231q-126 -64 -272 -64 q-212 0 -328.5 124t-116.5 349z" /> -<glyph unicode="&#xaa;" horiz-adv-x="813" d="M49 967q0 116 77 171t267 64l88 4v6q0 41 -25.5 58.5t-76.5 17.5q-57 0 -107.5 -15t-103.5 -40l-76 166q108 51 180.5 65.5t163.5 14.5q139 0 218 -75.5t79 -213.5v-449h-162l-45 127q-48 -76 -104.5 -107.5t-138.5 -31.5q-109 0 -171.5 63.5t-62.5 174.5zM301 979 q0 -32 18 -50t52 -18q50 0 80 38.5t30 97.5v22l-84 -6q-96 -6 -96 -84z" /> -<glyph unicode="&#xab;" horiz-adv-x="1395" d="M74 561v27l389 483l280 -149l-272 -347l272 -348l-280 -147zM649 561v27l387 483l283 -149l-275 -347l275 -348l-283 -147z" /> -<glyph unicode="&#xac;" horiz-adv-x="1159" d="M72 588v268h1013v-618h-270v350h-743z" /> -<glyph unicode="&#xad;" horiz-adv-x="651" d="M43 393v312h565v-312h-565z" /> -<glyph unicode="&#xae;" horiz-adv-x="1688" d="M92 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM256 731q0 -158 79.5 -295.5t215.5 -215t293 -77.5q158 0 294 78.5t215 215t79 294.5 q0 157 -77.5 293t-214 215.5t-296.5 79.5q-158 0 -294.5 -78.5t-215 -215t-78.5 -294.5zM506 313v875h291q407 0 407 -270q0 -87 -33 -146.5t-108 -95.5l194 -363h-290l-146 320h-35v-320h-280zM786 809h11q58 0 91.5 21.5t33.5 76.5q0 47 -27.5 66.5t-95.5 19.5h-13v-184z " /> -<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M-6 1556v246h1036v-246h-1036z" /> -<glyph unicode="&#xb0;" horiz-adv-x="864" d="M63 1114q0 97 49 182.5t135 136t185 50.5t185 -50.5t135 -135.5t49 -183q0 -97 -48.5 -181t-134 -133.5t-186.5 -49.5q-99 0 -185 49t-135 133t-49 182zM301 1114q0 -50 38.5 -88.5t92.5 -38.5t92.5 39t38.5 88q0 52 -37.5 92.5t-93.5 40.5t-93.5 -40.5t-37.5 -92.5z" /> -<glyph unicode="&#xb1;" horiz-adv-x="1159" d="M72 0v268h1013v-268h-1013zM72 684v268h372v367h269v-367h372v-268h-372v-360h-269v360h-372z" /> -<glyph unicode="&#xb2;" horiz-adv-x="817" d="M61 1350q80 73 167.5 104t203.5 31q142 0 219.5 -63t77.5 -175q0 -46 -13 -87t-40.5 -84.5t-74.5 -91t-198 -173.5h347v-225h-674v207l215 213q84 84 116.5 129t32.5 79q0 58 -65 58q-81 0 -172 -88z" /> -<glyph unicode="&#xb3;" horiz-adv-x="817" d="M63 1366q149 115 343 115q146 0 232.5 -57.5t86.5 -157.5q0 -78 -37 -132.5t-125 -86.5v-9q97 -24 144 -76t47 -139q0 -120 -98 -187t-277 -67q-185 0 -309 70v233q117 -81 297 -81q116 0 116 67q0 41 -32.5 56.5t-102.5 15.5h-104v194h80q71 0 105 18.5t34 59.5 q0 25 -21 46.5t-71 21.5t-94 -17t-97 -57z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1225" d="M264 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1376" d="M135 -492v1625h391v-615q0 -115 33.5 -172t112.5 -57q93 0 134.5 83t41.5 265v496h393v-1133h-293l-53 152h-16q-34 -88 -90.5 -130t-122.5 -42q-56 0 -90 20t-62 63q12 -90 12 -235v-320h-391z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1317" d="M102 1042q0 256 107.5 385t343.5 129h633v-1816h-191v1587h-157v-1587h-191v819q-54 -18 -125 -18q-216 0 -318 125t-102 376z" /> -<glyph unicode="&#xb7;" horiz-adv-x="592" d="M86 723q0 92 54.5 142t158.5 50q99 0 152 -50t53 -142q0 -90 -54.5 -141.5t-150.5 -51.5q-100 0 -156.5 51t-56.5 142z" /> -<glyph unicode="&#xb8;" horiz-adv-x="383" d="M-90 -258q83 -27 147 -27q52 0 52 47q0 33 -41 58.5t-107 40.5l72 139h203l-9 -29q96 -39 133 -92.5t37 -130.5q0 -109 -75 -174.5t-199 -65.5q-136 0 -213 29v205z" /> -<glyph unicode="&#xb9;" horiz-adv-x="817" d="M57 1188l340 274h219v-876h-282v356q0 35 3.5 118t6.5 99q-9 -19 -31.5 -43t-109.5 -98z" /> -<glyph unicode="&#xba;" horiz-adv-x="803" d="M49 1104q0 177 94.5 276t259.5 99q157 0 255 -103t98 -272q0 -174 -95.5 -274.5t-261.5 -100.5q-159 0 -254.5 102.5t-95.5 272.5zM301 1104q0 -87 24 -129.5t76 -42.5q99 0 99 172q0 174 -99 174q-100 0 -100 -174z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1395" d="M76 227l272 348l-272 347l282 149l387 -483v-27l-387 -481zM649 227l275 348l-275 347l285 149l387 -483v-27l-387 -481z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1919" d="M1028 140v188l350 555h295v-542h125v-201h-125v-139h-275v139h-370zM1241 341h157v166q0 69 7 135q-40 -100 -62 -133zM357 0l753 1462h302l-754 -1462h-301zM-12 1188l340 274h219v-876h-282v356q0 35 3.5 118t6.5 99q-9 -19 -31.5 -43t-109.5 -98z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1921" d="M1140 765q80 73 167.5 104t203.5 31q142 0 219.5 -63t77.5 -175q0 -46 -13 -87t-40.5 -84.5t-74.5 -91t-198 -173.5h347v-225h-674v207l215 213q84 84 116.5 129t32.5 79q0 58 -65 58q-81 0 -172 -88zM381 0l753 1462h302l-754 -1462h-301zM-12 1188l340 274h219v-876 h-282v356q0 35 3.5 118t6.5 99q-9 -19 -31.5 -43t-109.5 -98z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1921" d="M1100 140v188l350 555h295v-542h125v-201h-125v-139h-275v139h-370zM1313 341h157v166q0 69 7 135q-40 -100 -62 -133zM83 1366q149 115 343 115q146 0 232.5 -57.5t86.5 -157.5q0 -78 -37 -132.5t-125 -86.5v-9q97 -24 144 -76t47 -139q0 -120 -98 -187t-277 -67 q-185 0 -309 70v233q117 -81 297 -81q116 0 116 67q0 41 -32.5 56.5t-102.5 15.5h-104v194h80q71 0 105 18.5t34 59.5q0 25 -21 46.5t-71 21.5t-94 -17t-97 -57zM465 0l753 1462h302l-754 -1462h-301z" /> -<glyph unicode="&#xbf;" horiz-adv-x="1034" d="M37 10q0 120 55 208t182 169q100 64 129 97t29 77v51h307v-86q0 -98 -40 -165.5t-142 -131.5q-57 -36 -90 -66t-47 -55.5t-14 -64.5q0 -42 37.5 -66t99.5 -24q148 0 352 106l139 -272q-243 -141 -520 -141q-223 0 -350 98t-127 266zM365 963q0 90 54 140t152 50 q101 0 156 -49.5t55 -140.5q0 -93 -53 -143t-158 -50q-101 0 -153.5 50t-52.5 143z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461zM272 1886v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461zM532 1579v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461zM295 1579v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z " /> -<glyph unicode="&#xc3;" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461zM330 1575q11 175 72 258.5t180 83.5q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182q-11 -167 -74 -254.5 t-172 -87.5q-45 0 -90.5 15t-89.5 33t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461zM352 1751q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41 t-46 115zM831 1751q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1487" d="M0 0l477 1468h527l483 -1468h-432l-72 274h-475l-74 -274h-434zM590 598h311l-63 240q-22 80 -53.5 207t-41.5 182q-9 -51 -35.5 -168t-117.5 -461zM475 1614q0 116 71.5 185t192.5 69q118 0 195 -70t77 -182q0 -113 -76 -183.5t-196 -70.5q-121 0 -192.5 68.5 t-71.5 183.5zM655 1614q0 -37 21 -60.5t63 -23.5q35 0 59.5 23.5t24.5 60.5q0 38 -24.5 61t-59.5 23t-59.5 -23t-24.5 -61z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1937" d="M-10 0l628 1462h1221v-317h-473v-230h438v-317h-438v-276h473v-322h-870v274h-437l-100 -274h-442zM653 602h316v526h-111z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1329" d="M104 727q0 227 85.5 399t246 264.5t377.5 92.5q237 0 453 -103l-121 -311q-81 38 -162 64t-174 26q-141 0 -220 -115.5t-79 -318.5q0 -422 321 -422q97 0 188 27t183 65v-334q-183 -81 -414 -81q-331 0 -507.5 192t-176.5 555zM477 -258q83 -27 147 -27q52 0 52 47 q0 33 -41 58.5t-107 40.5l72 139h203l-9 -29q96 -39 133 -92.5t37 -130.5q0 -109 -75 -174.5t-199 -65.5q-136 0 -213 29v205z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1124" d="M158 0v1462h868v-317h-473v-230h438v-317h-438v-276h473v-322h-868zM154 1886v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1124" d="M158 0v1462h868v-317h-473v-230h438v-317h-438v-276h473v-322h-868zM362 1579v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xca;" horiz-adv-x="1124" d="M158 0v1462h868v-317h-473v-230h438v-317h-438v-276h473v-322h-868zM151 1579v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1124" d="M158 0v1462h868v-317h-473v-230h438v-317h-438v-276h473v-322h-868zM187 1751q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM666 1751q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5 t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xcc;" horiz-adv-x="713" d="M158 0v1462h397v-1462h-397zM-116 1886v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xcd;" horiz-adv-x="713" d="M158 0v1462h397v-1462h-397zM156 1579v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xce;" horiz-adv-x="713" d="M158 0v1462h397v-1462h-397zM-95 1579v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xcf;" horiz-adv-x="713" d="M158 0v1462h397v-1462h-397zM-55 1751q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM424 1751q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5 t-45.5 114.5z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1503" d="M31 563v320h127v579h506q352 0 543.5 -180t191.5 -520q0 -366 -201.5 -564t-566.5 -198h-473v563h-127zM553 324h88q180 0 264 104.5t84 319.5q0 201 -79.5 298t-241.5 97h-115v-260h211v-320h-211v-239z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1708" d="M158 0v1462h516l532 -1016h6q-14 221 -14 355v661h352v-1462h-518l-534 1030h-9q19 -243 19 -371v-659h-350zM434 1575q11 175 72 258.5t180 83.5q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182q-11 -167 -74 -254.5t-172 -87.5q-45 0 -90.5 15t-89.5 33 t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -369 -181 -561t-530 -192q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428zM397 1886v21h430q52 -70 203 -233 l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -369 -181 -561t-530 -192q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428zM583 1579v29q154 165 195.5 213 t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -369 -181 -561t-530 -192q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428zM363 1579v29q69 65 144.5 153 t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -369 -181 -561t-530 -192q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428zM401 1575q11 175 72 258.5t180 83.5 q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182q-11 -167 -74 -254.5t-172 -87.5q-45 0 -90.5 15t-89.5 33t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q349 0 529 -191t180 -561q0 -369 -181 -561t-530 -192q-344 0 -527.5 193t-183.5 562zM520 733q0 -424 295 -424q150 0 222.5 103t72.5 321q0 219 -73.5 323.5t-219.5 104.5q-297 0 -297 -428zM403 1751q0 75 46 116.5t124 41.5 q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM882 1751q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xd7;" horiz-adv-x="1159" d="M121 991l182 189l270 -267l275 267l188 -183l-274 -274l270 -272l-184 -185l-275 271l-270 -269l-180 187l264 268z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1632" d="M104 735q0 365 182.5 557.5t530.5 192.5q191 0 330 -55l76 118l190 -114l-82 -125q195 -189 195 -576q0 -369 -181 -561t-530 -192q-177 0 -307 43l-84 -132l-193 125l84 125q-211 194 -211 594zM520 733q0 -155 29 -239l403 639q-68 28 -135 28q-297 0 -297 -428z M698 324q54 -15 117 -15q150 0 222.5 103t72.5 321q0 125 -18 211z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1550" d="M150 573v889h397v-858q0 -155 58 -225t171 -70q121 0 175.5 69.5t54.5 227.5v856h395v-880q0 -287 -162.5 -444.5t-468.5 -157.5q-299 0 -459.5 153t-160.5 440zM280 1886v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xda;" horiz-adv-x="1550" d="M150 573v889h397v-858q0 -155 58 -225t171 -70q121 0 175.5 69.5t54.5 227.5v856h395v-880q0 -287 -162.5 -444.5t-468.5 -157.5q-299 0 -459.5 153t-160.5 440zM561 1579v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1550" d="M150 573v889h397v-858q0 -155 58 -225t171 -70q121 0 175.5 69.5t54.5 227.5v856h395v-880q0 -287 -162.5 -444.5t-468.5 -157.5q-299 0 -459.5 153t-160.5 440zM322 1579v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150 q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1550" d="M150 573v889h397v-858q0 -155 58 -225t171 -70q121 0 175.5 69.5t54.5 227.5v856h395v-880q0 -287 -162.5 -444.5t-468.5 -157.5q-299 0 -459.5 153t-160.5 440zM362 1751q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5 q-78 0 -124 41t-46 115zM841 1751q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1360" d="M0 1462h430l250 -542l252 542h428l-481 -891v-571h-398v559zM471 1579v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xde;" horiz-adv-x="1284" d="M158 0v1462h395v-213h111q277 0 416 -121t139 -344q0 -245 -144.5 -378.5t-410.5 -133.5h-111v-272h-395zM553 594h72q89 0 141.5 50t52.5 138q0 148 -164 148h-102v-336z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1536" d="M135 0v1100q0 215 167 341t446 126q276 0 433.5 -99.5t157.5 -277.5q0 -57 -20 -103.5t-49.5 -84t-64.5 -66.5t-64.5 -52t-49.5 -41t-20 -32q0 -23 24.5 -44t93.5 -58q169 -95 228.5 -173t59.5 -202q0 -174 -115 -264t-338 -90q-136 0 -221.5 12.5t-149.5 46.5v291 q49 -30 131.5 -55t147.5 -25q61 0 99 23.5t38 62.5q0 28 -14.5 47t-50.5 42.5t-121 68.5q-126 67 -175 124.5t-49 137.5q0 122 140 218q75 52 107 91.5t32 83.5q0 51 -49.5 85t-140.5 34q-222 0 -222 -209v-1059h-391z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142zM204 1548v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142zM434 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142zM197 1238v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142zM244 1237q11 175 72 258.5t180 83.5q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182q-11 -167 -74 -254.5t-172 -87.5q-45 0 -90.5 15t-89.5 33t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142zM268 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM747 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5 t-45.5 114.5z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1276" d="M74 346q0 181 126 269.5t365 99.5l189 6v16q0 140 -138 140q-124 0 -315 -84l-113 258q198 102 500 102q218 0 337.5 -108t119.5 -302v-743h-271l-75 150h-8q-79 -98 -161 -134t-212 -36q-160 0 -252 96t-92 270zM473 360q0 -104 111 -104q71 0 121.5 45t50.5 117v88 l-90 -4q-193 -7 -193 -142zM389 1489q0 116 71.5 185t192.5 69q118 0 195 -70t77 -182q0 -113 -76 -183.5t-196 -70.5q-121 0 -192.5 68.5t-71.5 183.5zM569 1489q0 -37 21 -60.5t63 -23.5q35 0 59.5 23.5t24.5 60.5q0 38 -24.5 61t-59.5 23t-59.5 -23t-24.5 -61z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1915" d="M74 352q0 345 497 363l183 6v18q0 138 -136 138q-138 0 -313 -80l-110 256q190 100 454 100q201 0 336 -94q70 49 153 71.5t199 22.5q229 0 360.5 -136.5t131.5 -383.5v-172h-696q4 -90 74 -146.5t186 -56.5q194 0 364 86v-281q-94 -48 -191 -65.5t-225 -17.5 q-280 0 -430 190q-80 -83 -141.5 -120.5t-138.5 -53.5t-197 -16q-162 0 -261 101.5t-99 270.5zM473 356q0 -100 113 -100q69 0 119.5 45t50.5 117v88l-84 -4q-106 -4 -152.5 -38.5t-46.5 -107.5zM1139 707h340q-2 82 -48 131t-116 49q-162 0 -176 -180z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1104" d="M86 561q0 282 155 437t441 155q197 0 371 -86l-115 -289q-71 31 -131 49.5t-125 18.5q-95 0 -147 -74t-52 -209q0 -272 201 -272q172 0 330 100v-311q-151 -100 -363 -100q-278 0 -421.5 150t-143.5 431zM361 -258q83 -27 147 -27q52 0 52 47q0 33 -41 58.5t-107 40.5 l72 139h203l-9 -29q96 -39 133 -92.5t37 -130.5q0 -109 -75 -174.5t-199 -65.5q-136 0 -213 29v205z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1266" d="M86 559q0 287 145 440.5t414 153.5q256 0 395.5 -133.5t139.5 -384.5v-174h-699q4 -95 69.5 -149t178.5 -54q103 0 189.5 19.5t187.5 66.5v-281q-92 -47 -190 -65t-234 -18q-283 0 -439.5 150.5t-156.5 428.5zM489 707h336q-2 82 -46.5 131t-119.5 49q-69 0 -115.5 -43.5 t-54.5 -136.5zM189 1548v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1266" d="M86 559q0 287 145 440.5t414 153.5q256 0 395.5 -133.5t139.5 -384.5v-174h-699q4 -95 69.5 -149t178.5 -54q103 0 189.5 19.5t187.5 66.5v-281q-92 -47 -190 -65t-234 -18q-283 0 -439.5 150.5t-156.5 428.5zM489 707h336q-2 82 -46.5 131t-119.5 49q-69 0 -115.5 -43.5 t-54.5 -136.5zM471 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xea;" horiz-adv-x="1266" d="M86 559q0 287 145 440.5t414 153.5q256 0 395.5 -133.5t139.5 -384.5v-174h-699q4 -95 69.5 -149t178.5 -54q103 0 189.5 19.5t187.5 66.5v-281q-92 -47 -190 -65t-234 -18q-283 0 -439.5 150.5t-156.5 428.5zM489 707h336q-2 82 -46.5 131t-119.5 49q-69 0 -115.5 -43.5 t-54.5 -136.5zM205 1241v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1266" d="M86 559q0 287 145 440.5t414 153.5q256 0 395.5 -133.5t139.5 -384.5v-174h-699q4 -95 69.5 -149t178.5 -54q103 0 189.5 19.5t187.5 66.5v-281q-92 -47 -190 -65t-234 -18q-283 0 -439.5 150.5t-156.5 428.5zM489 707h336q-2 82 -46.5 131t-119.5 49q-69 0 -115.5 -43.5 t-54.5 -136.5zM252 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM731 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="666" d="M137 0v1133h391v-1133h-391zM-130 1548v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xed;" horiz-adv-x="666" d="M137 0v1133h391v-1133h-391zM107 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xee;" horiz-adv-x="666" d="M137 0v1133h391v-1133h-391zM-120 1241v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xef;" horiz-adv-x="666" d="M137 0v1133h391v-1133h-391zM-61 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM418 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5 t-45.5 114.5z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1313" d="M88 498q0 239 130.5 377.5t348.5 138.5q192 0 244 -84l8 4q-67 130 -143 207l-182 -119l-117 184l143 92l-149 93l108 182q174 -73 266 -135l209 137l115 -182l-145 -97q159 -157 226 -327.5t67 -388.5q0 -275 -152.5 -437.5t-415.5 -162.5q-259 0 -410 139t-151 379z M489 500q0 -242 164 -242q91 0 127.5 71t36.5 216q0 84 -45 136t-119 52q-92 0 -128 -56t-36 -177z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1372" d="M135 0v1133h295l49 -140h23q50 80 138.5 120t203.5 40q188 0 292.5 -109t104.5 -307v-737h-391v618q0 113 -32.5 170.5t-104.5 57.5q-99 0 -143 -79t-44 -271v-496h-391zM274 1237q11 175 72 258.5t180 83.5q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182 q-11 -167 -74 -254.5t-172 -87.5q-45 0 -90.5 15t-89.5 33t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1305" d="M86 569q0 277 149.5 430.5t419.5 153.5q167 0 295 -71t197.5 -203.5t69.5 -309.5q0 -278 -149.5 -433.5t-418.5 -155.5q-258 0 -410.5 159t-152.5 430zM483 569q0 -146 39 -222.5t131 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-90 0 -129 -73.5 t-39 -219.5zM175 1548v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1305" d="M86 569q0 277 149.5 430.5t419.5 153.5q167 0 295 -71t197.5 -203.5t69.5 -309.5q0 -278 -149.5 -433.5t-418.5 -155.5q-258 0 -410.5 159t-152.5 430zM483 569q0 -146 39 -222.5t131 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-90 0 -129 -73.5 t-39 -219.5zM416 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1305" d="M86 569q0 277 149.5 430.5t419.5 153.5q167 0 295 -71t197.5 -203.5t69.5 -309.5q0 -278 -149.5 -433.5t-418.5 -155.5q-258 0 -410.5 159t-152.5 430zM483 569q0 -146 39 -222.5t131 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-90 0 -129 -73.5 t-39 -219.5zM199 1241v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1305" d="M86 569q0 277 149.5 430.5t419.5 153.5q167 0 295 -71t197.5 -203.5t69.5 -309.5q0 -278 -149.5 -433.5t-418.5 -155.5q-258 0 -410.5 159t-152.5 430zM483 569q0 -146 39 -222.5t131 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-90 0 -129 -73.5 t-39 -219.5zM231 1237q11 175 72 258.5t180 83.5q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182q-11 -167 -74 -254.5t-172 -87.5q-45 0 -90.5 15t-89.5 33t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1305" d="M86 569q0 277 149.5 430.5t419.5 153.5q167 0 295 -71t197.5 -203.5t69.5 -309.5q0 -278 -149.5 -433.5t-418.5 -155.5q-258 0 -410.5 159t-152.5 430zM483 569q0 -146 39 -222.5t131 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-90 0 -129 -73.5 t-39 -219.5zM239 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM718 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1159" d="M72 588v268h1013v-268h-1013zM422 332q0 82 39.5 126t116.5 44q75 0 116 -43.5t41 -126.5q0 -80 -43.5 -125t-113.5 -45q-71 0 -113.5 44t-42.5 126zM422 1112q0 82 39.5 126t116.5 44q75 0 116 -43.5t41 -126.5q0 -80 -43.5 -125t-113.5 -45q-71 0 -113.5 44t-42.5 126z " /> -<glyph unicode="&#xf8;" horiz-adv-x="1362" d="M86 569q0 277 157 430.5t441 153.5q125 0 234 -39l71 111l168 -105l-67 -104q184 -158 184 -447q0 -280 -156.5 -434.5t-439.5 -154.5q-125 0 -229 34l-84 -131l-170 107l79 123q-188 158 -188 456zM461 569q0 -99 12 -147l289 448q-36 13 -82 13q-114 0 -166.5 -74 t-52.5 -240zM606 258q27 -8 76 -8q114 0 165.5 73t51.5 246q0 86 -10 131z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1372" d="M133 395v738h391v-619q0 -111 31.5 -168t103.5 -57q101 0 144 79.5t43 268.5v496h391v-1133h-295l-49 141h-23q-49 -78 -136.5 -119.5t-205.5 -41.5q-187 0 -291 108.5t-104 306.5zM175 1548v21h430q52 -70 203 -233l59 -66v-29h-260q-69 44 -203.5 138.5t-228.5 168.5z " /> -<glyph unicode="&#xfa;" horiz-adv-x="1372" d="M133 395v738h391v-619q0 -111 31.5 -168t103.5 -57q101 0 144 79.5t43 268.5v496h391v-1133h-295l-49 141h-23q-49 -78 -136.5 -119.5t-205.5 -41.5q-187 0 -291 108.5t-104 306.5zM471 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z " /> -<glyph unicode="&#xfb;" horiz-adv-x="1372" d="M133 395v738h391v-619q0 -111 31.5 -168t103.5 -57q101 0 144 79.5t43 268.5v496h391v-1133h-295l-49 141h-23q-49 -78 -136.5 -119.5t-205.5 -41.5q-187 0 -291 108.5t-104 306.5zM230 1241v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254 q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1372" d="M133 395v738h391v-619q0 -111 31.5 -168t103.5 -57q101 0 144 79.5t43 268.5v496h391v-1133h-295l-49 141h-23q-49 -78 -136.5 -119.5t-205.5 -41.5q-187 0 -291 108.5t-104 306.5zM272 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5 t-125.5 -42.5q-78 0 -124 41t-46 115zM751 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1249" d="M-2 1133h412l192 -650q14 -51 19 -123h8q8 69 24 121l197 652h399l-448 -1205q-86 -230 -211.5 -325t-327.5 -95q-78 0 -160 17v307q53 -12 121 -12q52 0 91 20t68 56.5t62 119.5zM401 1241v29q154 165 195.5 213t68.5 86h428v-21q-80 -64 -220 -163t-212 -144h-260z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1317" d="M135 -492v2048h391v-344q0 -106 -18 -225h18q43 78 122 122t179 44q185 0 293.5 -154t108.5 -430q0 -271 -111.5 -430t-304.5 -159q-173 0 -287 129h-14l7 -60l7 -92v-449h-391zM526 571q0 -146 39 -211t123 -65q80 0 111.5 70.5t31.5 207.5q0 134 -33 203.5t-116 69.5 q-85 0 -119 -61.5t-37 -184.5v-29z" /> -<glyph unicode="&#xff;" horiz-adv-x="1249" d="M-2 1133h412l192 -650q14 -51 19 -123h8q8 69 24 121l197 652h399l-448 -1205q-86 -230 -211.5 -325t-327.5 -95q-78 0 -160 17v307q53 -12 121 -12q52 0 91 20t68 56.5t62 119.5zM216 1413q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5 t-125.5 -42.5q-78 0 -124 41t-46 115zM695 1413q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#x131;" horiz-adv-x="666" d="M137 0v1133h391v-1133h-391z" /> -<glyph unicode="&#x152;" horiz-adv-x="1960" d="M104 735q0 359 175 554.5t497 195.5q67 0 143.5 -7t106.5 -16h836v-317h-473v-230h436v-317h-436v-276h473v-322h-844q-34 -8 -110.5 -14t-133.5 -6q-319 0 -494.5 200t-175.5 555zM520 733q0 -205 64.5 -314.5t191.5 -109.5q141 0 217 43v760q-34 23 -93 36t-122 13 q-125 0 -191.5 -109.5t-66.5 -318.5z" /> -<glyph unicode="&#x153;" horiz-adv-x="2007" d="M86 569q0 277 149.5 430.5t419.5 153.5q226 0 375 -127q155 127 400 127q227 0 359 -136t132 -384v-172h-696q4 -90 74 -146.5t186 -56.5q194 0 364 86v-281q-92 -47 -187 -65t-228 -18q-238 0 -383 137q-151 -137 -402 -137q-258 0 -410.5 159t-152.5 430zM485 569 q0 -146 38 -222.5t130 -76.5q91 0 128.5 76.5t37.5 222.5q0 145 -38 219t-130 74q-89 0 -127.5 -74t-38.5 -219zM1231 707h340q-2 82 -48 131t-116 49q-162 0 -176 -180z" /> -<glyph unicode="&#x178;" horiz-adv-x="1360" d="M0 1462h430l250 -542l252 542h428l-481 -891v-571h-398v559zM268 1751q0 75 46 116.5t124 41.5q79 0 125.5 -42.5t46.5 -115.5q0 -71 -46.5 -113.5t-125.5 -42.5q-78 0 -124 41t-46 115zM747 1751q0 75 46 116.5t126 41.5t126.5 -43t46.5 -115q0 -71 -46.5 -113.5 t-126.5 -42.5q-81 0 -126.5 41.5t-45.5 114.5z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="1237" d="M164 1241v29q69 65 144.5 153t113.5 146h393q94 -137 256 -299v-29h-254q-84 48 -201 150q-125 -107 -194 -150h-258z" /> -<glyph unicode="&#x2da;" horiz-adv-x="1120" d="M293 1489q0 116 71.5 185t192.5 69q118 0 195 -70t77 -182q0 -113 -76 -183.5t-196 -70.5q-121 0 -192.5 68.5t-71.5 183.5zM473 1489q0 -37 21 -60.5t63 -23.5q35 0 59.5 23.5t24.5 60.5q0 38 -24.5 61t-59.5 23t-59.5 -23t-24.5 -61z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="1225" d="M176 1237q11 175 72 258.5t180 83.5q38 0 81 -15t87 -33t87 -33t81 -15q29 0 46 25t26 73h182q-11 -167 -74 -254.5t-172 -87.5q-45 0 -90.5 15t-89.5 33t-85.5 33t-78.5 15q-54 0 -72 -98h-180z" /> -<glyph unicode="&#x2000;" horiz-adv-x="959" /> -<glyph unicode="&#x2001;" horiz-adv-x="1919" /> -<glyph unicode="&#x2002;" horiz-adv-x="959" /> -<glyph unicode="&#x2003;" horiz-adv-x="1919" /> -<glyph unicode="&#x2004;" horiz-adv-x="639" /> -<glyph unicode="&#x2005;" horiz-adv-x="479" /> -<glyph unicode="&#x2006;" horiz-adv-x="319" /> -<glyph unicode="&#x2007;" horiz-adv-x="319" /> -<glyph unicode="&#x2008;" horiz-adv-x="239" /> -<glyph unicode="&#x2009;" horiz-adv-x="383" /> -<glyph unicode="&#x200a;" horiz-adv-x="106" /> -<glyph unicode="&#x2010;" horiz-adv-x="651" d="M43 393v312h565v-312h-565z" /> -<glyph unicode="&#x2011;" horiz-adv-x="651" d="M43 393v312h565v-312h-565z" /> -<glyph unicode="&#x2012;" horiz-adv-x="651" d="M43 393v312h565v-312h-565z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M74 414v276h876v-276h-876z" /> -<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M74 414v276h1896v-276h-1896z" /> -<glyph unicode="&#x2018;" horiz-adv-x="512" d="M20 899q100 391 177 561h278q-67 -312 -98 -583h-342z" /> -<glyph unicode="&#x2019;" horiz-adv-x="512" d="M37 877q68 317 98 583h342l15 -22q-92 -366 -177 -561h-278z" /> -<glyph unicode="&#x201a;" horiz-adv-x="633" d="M57 -285q29 138 58.5 309.5t40.5 274.5h342l14 -23q-97 -381 -176 -561h-279z" /> -<glyph unicode="&#x201c;" horiz-adv-x="1022" d="M20 899q100 391 177 561h278q-67 -312 -98 -583h-342zM530 899q100 391 177 561h278q-67 -312 -98 -583h-342z" /> -<glyph unicode="&#x201d;" horiz-adv-x="1022" d="M37 877q68 317 98 583h342l15 -22q-92 -366 -177 -561h-278zM547 877q68 317 98 583h342l14 -22q-93 -371 -176 -561h-278z" /> -<glyph unicode="&#x201e;" horiz-adv-x="1143" d="M57 -285q29 138 58.5 309.5t40.5 274.5h342l14 -23q-97 -381 -176 -561h-279zM567 -285q29 138 58.5 309.5t40.5 274.5h342l14 -23q-97 -381 -176 -561h-279z" /> -<glyph unicode="&#x2022;" horiz-adv-x="803" d="M74 748q0 174 84.5 267t242.5 93t243 -94.5t85 -265.5q0 -172 -87 -266.5t-241 -94.5q-155 0 -241 93t-86 268zM668 1133z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1776" d="M86 166q0 92 54.5 142t158.5 50q99 0 152 -50t53 -142q0 -90 -54.5 -140.5t-150.5 -50.5q-99 0 -156 50t-57 141zM678 166q0 92 54.5 142t158.5 50q99 0 152 -50t53 -142q0 -90 -54.5 -140.5t-150.5 -50.5q-99 0 -156 50t-57 141zM1270 166q0 92 54.5 142t158.5 50 q99 0 152 -50t53 -142q0 -90 -54.5 -140.5t-150.5 -50.5q-99 0 -156 50t-57 141z" /> -<glyph unicode="&#x202f;" horiz-adv-x="383" /> -<glyph unicode="&#x2039;" horiz-adv-x="819" d="M74 561v27l389 483l280 -149l-272 -347l272 -348l-280 -147z" /> -<glyph unicode="&#x203a;" horiz-adv-x="819" d="M76 227l272 348l-272 347l282 149l387 -483v-27l-387 -481z" /> -<glyph unicode="&#x2044;" horiz-adv-x="188" d="M-434 0l753 1462h302l-754 -1462h-301z" /> -<glyph unicode="&#x205f;" horiz-adv-x="479" /> -<glyph unicode="&#x2074;" horiz-adv-x="817" d="M29 725v188l350 555h295v-542h125v-201h-125v-139h-275v139h-370zM242 926h157v166q0 69 7 135q-40 -100 -62 -133z" /> -<glyph unicode="&#x20ac;" d="M55 467v205h129l-2 21v22l2 43h-129v205h148q51 255 212.5 387.5t413.5 132.5q180 0 349 -76l-119 -299q-120 51 -230 51q-112 0 -171.5 -53.5t-71.5 -142.5h338v-205h-353l-2 -29v-14l2 -44v1h287v-205h-264q33 -164 260 -164q145 0 266 55v-323q-102 -55 -291 -55 q-253 0 -412 126t-206 361h-156z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1577" d="M37 1286v176h536v-176h-170v-545h-196v545h-170zM645 741v721h287l137 -479l150 479h276v-721h-195v400q0 68 7 110h-9l-151 -510h-164l-143 510h-9q7 -56 7 -110v-400h-193z" /> -<glyph unicode="&#xe000;" horiz-adv-x="1135" d="M0 1135h1135v-1135h-1135v1135z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1511" d="M973 1415q0 88 49 131t158 43t159 -44t50 -130q0 -172 -209 -172q-207 0 -207 172zM983 0v1133h391v-1133h-391zM45 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241 v-840h-391v840h-150z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1507" d="M981 0v1556h391v-1556h-391zM45 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241v-840h-391v840h-150z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="2357" d="M45 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241v-840h-391v840h-150zM891 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253 q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241v-840h-391v840h-150zM1819 1415q0 88 49 131t158 43t159 -44t50 -130q0 -172 -209 -172q-207 0 -207 172zM1829 0v1133h391v-1133h-391z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="2353" d="M45 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241v-840h-391v840h-150zM891 840v192l158 96v19q0 224 91.5 322t293.5 98q78 0 147.5 -12t161.5 -42l-84 -253 q-72 20 -141 20q-45 0 -65.5 -27.5t-20.5 -89.5v-30h241v-293h-241v-840h-391v840h-150zM1827 0v1556h391v-1556h-391z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.ttf deleted file mode 100755 index bec521d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.woff deleted file mode 100755 index a24b205..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-extrabold-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.eot deleted file mode 100755 index 3593c12..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.svg deleted file mode 100755 index 537d20c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.svg +++ /dev/null @@ -1,251 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom -</metadata> -<defs> -<font id="OpenSansItalic" horiz-adv-x="1128" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="532" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="&#x09;" horiz-adv-x="532" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="530" d="M43 78q0 76 39.5 120t107.5 44q45 0 73 -27.5t28 -81.5q0 -68 -39 -115t-105 -47q-49 0 -76.5 28t-27.5 79zM172 403q49 307 176 1059h207l-274 -1059h-109z" /> -<glyph unicode="&#x22;" horiz-adv-x="791" d="M225 934l72 528h188l-153 -528h-107zM573 934l72 528h189l-154 -528h-107z" /> -<glyph unicode="#" horiz-adv-x="1323" d="M63 430l13 129h284l101 340h-277l13 127h301l123 436h139l-125 -436h305l127 436h133l-125 -436h264l-12 -127h-291l-98 -340h285l-13 -129h-309l-125 -430h-139l129 430h-303l-127 -430h-133l121 430h-261zM500 559h303l96 340h-303z" /> -<glyph unicode="$" d="M72 176v154q82 -41 175.5 -63.5t166.5 -22.5l98 452q-139 49 -201.5 123.5t-62.5 188.5q0 159 108 255t299 113l39 176h133l-39 -178q159 -12 283 -76l-63 -135q-121 63 -248 72l-94 -440q149 -55 212.5 -125t63.5 -178q0 -162 -112.5 -263t-309.5 -123l-49 -225h-133 l49 223q-195 14 -315 72zM401 1010q0 -53 34.5 -97.5t107.5 -70.5l84 393q-108 -11 -167 -69t-59 -156zM549 250q107 13 170 75t63 154q0 54 -33 96t-114 74z" /> -<glyph unicode="%" horiz-adv-x="1624" d="M168 860q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -72t60 -205q0 -108 -32 -237.5t-82.5 -217.5t-120.5 -137t-157 -49q-109 0 -170 75t-61 220zM231 0l1086 1462h151l-1085 -1462h-152zM307 864q0 -172 107 -172q52 0 94 39.5t73.5 114t50.5 175t19 171.5 q0 166 -108 166q-66 0 -119 -63t-85 -187.5t-32 -243.5zM909 274q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -71.5t60 -204.5q0 -107 -31.5 -236t-82 -217.5t-121 -138t-156.5 -49.5q-110 0 -171 74.5t-61 219.5zM1049 279q0 -173 106 -173q65 0 117 65t86.5 198.5 t34.5 236.5q0 166 -109 166q-67 0 -119.5 -64.5t-84 -188.5t-31.5 -240z" /> -<glyph unicode="&#x26;" horiz-adv-x="1372" d="M66 342q0 148 90 257.5t303 211.5q-103 165 -103 309q0 164 106 264.5t281 100.5q149 0 236.5 -79t87.5 -212q0 -78 -32.5 -137t-87.5 -108t-127.5 -90t-153.5 -83l278 -389q127 110 199 295h168q-101 -236 -283 -412l203 -270h-201l-117 166q-120 -100 -230 -143 t-247 -43q-168 0 -269 96t-101 266zM229 354q0 -106 66.5 -170.5t175.5 -64.5q87 0 168 33t195 124l-306 433q-128 -67 -184 -116t-85.5 -107.5t-29.5 -131.5zM516 1118q0 -120 82 -235q139 71 191 110t83 85t31 104q0 77 -42.5 121.5t-123.5 44.5q-105 0 -163 -60t-58 -170 z" /> -<glyph unicode="'" horiz-adv-x="444" d="M225 934l72 528h188l-153 -528h-107z" /> -<glyph unicode="(" horiz-adv-x="584" d="M82 272q0 339 120 627t384 563h157q-246 -270 -371.5 -570t-125.5 -618q0 -339 114 -598h-131q-147 266 -147 596z" /> -<glyph unicode=")" horiz-adv-x="584" d="M-160 -324q496 551 496 1188q0 341 -113 598h131q146 -269 146 -598q0 -341 -121.5 -629.5t-382.5 -558.5h-156z" /> -<glyph unicode="*" horiz-adv-x="1130" d="M215 1194l55 154l371 -185l41 400l172 -35l-123 -383l422 18l-8 -157l-393 47l180 -383l-166 -52l-113 406l-258 -344l-116 121l309 284z" /> -<glyph unicode="+" d="M127 651v142h389v391h141v-391h390v-142h-390v-387h-141v387h-389z" /> -<glyph unicode="," horiz-adv-x="492" d="M-100 -264q126 286 204 502h187l8 -23q-113 -235 -270 -479h-129z" /> -<glyph unicode="-" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" /> -<glyph unicode="." horiz-adv-x="518" d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> -<glyph unicode="/" horiz-adv-x="717" d="M-94 0l813 1462h174l-813 -1462h-174z" /> -<glyph unicode="0" d="M121 477q0 270 82 514.5t216.5 369t307.5 124.5q365 0 365 -471q0 -295 -78.5 -539t-214 -369.5t-314.5 -125.5q-176 0 -270 127.5t-94 369.5zM293 479q0 -172 50 -264t161 -92q115 0 209 114t150.5 328t56.5 453q0 323 -203 323q-113 0 -209 -115.5t-155.5 -323 t-59.5 -423.5z" /> -<glyph unicode="1" d="M303 1178l449 284h149l-313 -1462h-172l196 913q59 261 88 359q-50 -53 -139 -111l-178 -110z" /> -<glyph unicode="2" d="M12 0l31 147l465 420q102 93 176.5 163.5t123 133t72 124t23.5 136.5q0 99 -60 157t-163 58q-77 0 -150.5 -28.5t-162.5 -96.5l-82 115q191 154 413 154q176 0 278.5 -88.5t102.5 -243.5q0 -111 -39.5 -204t-131 -197t-294.5 -281l-352 -307v-8h678l-29 -154h-899z" /> -<glyph unicode="3" d="M47 59v164q94 -49 199 -75.5t190 -26.5q162 0 252 79.5t90 217.5q0 131 -79 198.5t-220 67.5h-131l31 143h139q165 0 274 87t109 227q0 92 -58 146t-157 54q-80 0 -157 -27t-175 -93l-80 118q195 144 424 144q179 0 277 -87t98 -237q0 -156 -101 -264.5t-280 -140.5v-9 q124 -23 195 -106.5t71 -208.5q0 -133 -62 -234.5t-181 -158.5t-283 -57q-210 0 -385 79z" /> -<glyph unicode="4" d="M16 334l29 158l834 978h196l-207 -983h232l-33 -153h-233l-72 -334h-164l74 334h-656zM219 487h486q46 220 78 373t116 445h-8q-17 -29 -66.5 -96.5t-72.5 -96.5z" /> -<glyph unicode="5" d="M80 59v164q164 -102 334 -102q191 0 298 96t107 268q0 126 -73.5 199.5t-204.5 73.5q-48 0 -97 -6.5t-139 -30.5l-74 57l197 684h668l-33 -153h-522l-127 -439q87 23 184 23q182 0 289.5 -104.5t107.5 -282.5q0 -161 -73 -283t-204 -182.5t-308 -60.5q-193 0 -330 79z " /> -<glyph unicode="6" d="M133 424q0 209 60.5 415t163.5 351.5t246 219t327 73.5q111 0 184 -23l-35 -145q-68 22 -170 22q-212 0 -356.5 -149t-212.5 -443h8q59 79 146.5 126t193.5 47q154 0 244 -98.5t90 -270.5q0 -161 -66.5 -294.5t-180.5 -204t-261 -70.5q-182 0 -281.5 115t-99.5 329z M299 416q0 -137 60.5 -216t172.5 -79q94 0 167.5 54t114 149t40.5 208q0 248 -221 248q-66 0 -128 -28.5t-110 -76t-72 -104.5t-24 -155z" /> -<glyph unicode="7" d="M174 0l768 1313h-719l31 149h891l-27 -139l-764 -1323h-180z" /> -<glyph unicode="8" d="M96 346q0 148 95 256t296 184q-95 69 -135.5 144.5t-40.5 171.5q0 111 54.5 198.5t153.5 136t222 48.5q174 0 271.5 -86.5t97.5 -235.5q0 -129 -78 -225t-266 -176q127 -78 180 -165t53 -202q0 -122 -60 -217.5t-172.5 -146.5t-264.5 -51q-190 0 -298 98.5t-108 267.5z M270 354q0 -107 69 -170t181 -63q139 0 222 74t83 196q0 99 -52 174t-165 135q-185 -60 -261.5 -143.5t-76.5 -202.5zM479 1100q0 -82 39 -144t127 -116q161 60 228 131.5t67 173.5q0 90 -57.5 143t-153.5 53q-114 0 -182 -65.5t-68 -175.5z" /> -<glyph unicode="9" d="M98 14v158q134 -47 246 -47q202 0 327 141t189 441h-10q-51 -75 -132.5 -118.5t-180.5 -43.5q-169 0 -261 98.5t-92 288.5q0 153 64.5 280.5t180 199t259.5 71.5q180 0 279.5 -114.5t99.5 -334.5q0 -194 -56 -406.5t-147.5 -360t-221.5 -217.5t-302 -70q-136 0 -242 34z M350 938q0 -124 54.5 -190t162.5 -66q76 0 140 28.5t108.5 81.5t65 114t20.5 151q0 131 -59 207.5t-160 76.5q-150 0 -241 -113t-91 -290z" /> -<glyph unicode=":" horiz-adv-x="518" d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" /> -<glyph unicode=";" horiz-adv-x="518" d="M-100 -264q126 286 204 502h187l8 -23q-113 -235 -270 -479h-129zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" /> -<glyph unicode="&#x3c;" d="M121 664v98l919 479v-149l-747 -371l747 -328v-151z" /> -<glyph unicode="=" d="M127 444v142h920v-142h-920zM127 858v139h920v-139h-920z" /> -<glyph unicode="&#x3e;" d="M121 242v151l745 328l-745 371v149l919 -479v-98z" /> -<glyph unicode="?" horiz-adv-x="874" d="M158 74q0 77 40 122.5t111 45.5q44 0 70.5 -26t26.5 -79q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26t-27 77zM197 1382q92 51 192 76t182 25q167 0 259 -84t92 -238q0 -123 -65.5 -226.5t-225.5 -223.5q-125 -91 -169 -147.5t-67 -160.5h-135q22 130 72.5 213.5 t165.5 174.5q128 100 168 144t63 94t23 112q0 93 -51.5 143.5t-147.5 50.5q-81 0 -155 -25.5t-140 -56.5z" /> -<glyph unicode="@" horiz-adv-x="1735" d="M111 504q0 261 126.5 485.5t343.5 347.5t486 123q191 0 329 -75.5t210.5 -213.5t72.5 -319q0 -179 -55 -324t-155 -227t-222 -82q-197 0 -213 184h-8q-111 -184 -291 -184q-115 0 -180.5 75.5t-65.5 209.5q0 157 68 284t188.5 199t260.5 72q65 0 127.5 -12t150.5 -48 q-64 -242 -98 -368t-31 -172q0 -117 102 -117q78 0 141.5 67t100.5 183.5t37 243.5q0 239 -128 367t-370 128q-228 0 -406.5 -107t-277 -295.5t-98.5 -416.5q0 -270 143.5 -418.5t409.5 -148.5q197 0 420 86v-127q-219 -90 -443 -90q-314 0 -494.5 184.5t-180.5 505.5z M639 518q0 -93 33 -134.5t98 -41.5q187 0 272 315l70 258q-63 23 -127 23q-94 0 -174 -55t-126 -153t-46 -212z" /> -<glyph unicode="A" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474z" /> -<glyph unicode="B" horiz-adv-x="1225" d="M86 0l309 1462h375q432 0 432 -336q0 -141 -87 -238t-245 -126v-10q115 -32 176.5 -110.5t61.5 -188.5q0 -212 -152 -332.5t-407 -120.5h-463zM287 145h266q181 0 278 80.5t97 227.5q0 116 -74.5 177.5t-214.5 61.5h-236zM434 836h248q156 0 249 73t93 199 q0 104 -66.5 155.5t-209.5 51.5h-211z" /> -<glyph unicode="C" horiz-adv-x="1198" d="M150 537q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5z" /> -<glyph unicode="D" horiz-adv-x="1364" d="M86 0l309 1462h342q276 0 419.5 -149.5t143.5 -435.5q0 -261 -105 -461t-300 -308t-457 -108h-352zM287 147h162q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178z" /> -<glyph unicode="E" horiz-adv-x="1047" d="M86 0l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565l-33 -152h-735z" /> -<glyph unicode="F" horiz-adv-x="967" d="M86 0l309 1462h735l-30 -153h-568l-110 -533h528l-32 -153h-529l-131 -623h-172z" /> -<glyph unicode="G" horiz-adv-x="1386" d="M150 528q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109q154 0 260 39l96 444h-289l33 152h459l-154 -711q-216 -75 -419 -75 q-264 0 -410.5 144.5t-146.5 403.5z" /> -<glyph unicode="H" horiz-adv-x="1389" d="M86 0l309 1462h170l-131 -622h660l133 622h168l-310 -1462h-167l143 688h-660l-145 -688h-170z" /> -<glyph unicode="I" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168z" /> -<glyph unicode="J" horiz-adv-x="547" d="M-319 -360l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379q-105 0 -153 25z" /> -<glyph unicode="K" horiz-adv-x="1141" d="M86 0l309 1462h170l-151 -710l700 710h209l-639 -637l350 -825h-186q-72 181 -146.5 359.5t-146.5 361.5l-174 -131l-125 -590h-170z" /> -<glyph unicode="L" horiz-adv-x="971" d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735z" /> -<glyph unicode="M" horiz-adv-x="1714" d="M84 0l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162z" /> -<glyph unicode="N" horiz-adv-x="1438" d="M84 0l309 1462h180l459 -1220h6q30 224 72 405l174 815h164l-309 -1462h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162z" /> -<glyph unicode="O" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5q-157 0 -281 -101 t-192.5 -281t-68.5 -398z" /> -<glyph unicode="P" horiz-adv-x="1159" d="M86 0l309 1462h330q214 0 324 -94.5t110 -282.5q0 -248 -164 -379t-481 -131h-135l-123 -575h-170zM410 721h133q216 0 328 91t112 267q0 125 -69.5 180.5t-213.5 55.5h-163z" /> -<glyph unicode="Q" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -333 -139 -576t-375 -321l274 -358h-219l-227 330l-17 -2h-16q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q158 0 279 100t187.5 280.5t66.5 399.5q0 199 -94 310.5 t-261 111.5q-157 0 -281 -101t-192.5 -281t-68.5 -398z" /> -<glyph unicode="R" horiz-adv-x="1165" d="M86 0l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252l-129 -608h-170zM416 754h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166q-102 -494 -116 -559z" /> -<glyph unicode="S" horiz-adv-x="1028" d="M39 43v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5 t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5z" /> -<glyph unicode="T" horiz-adv-x="1020" d="M186 1311l33 151h985l-30 -151h-408l-279 -1311h-172l277 1311h-406z" /> -<glyph unicode="U" horiz-adv-x="1384" d="M164 383q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299z" /> -<glyph unicode="V" horiz-adv-x="1122" d="M188 1462h170l97 -930q20 -196 20 -335h4q61 144 162 338l479 927h191l-781 -1462h-180z" /> -<glyph unicode="W" horiz-adv-x="1745" d="M223 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182l-664 -1462h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174z" /> -<glyph unicode="X" horiz-adv-x="1063" d="M-104 0l596 776l-263 686h172l203 -563l443 563h186l-555 -694l278 -768h-180l-213 641l-481 -641h-186z" /> -<glyph unicode="Y" horiz-adv-x="1030" d="M188 1462h170l179 -747l489 747h193l-627 -921l-113 -541h-172l119 549z" /> -<glyph unicode="Z" horiz-adv-x="1087" d="M-16 0l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697l-33 -154h-901z" /> -<glyph unicode="[" horiz-adv-x="586" d="M-16 -324l381 1786h387l-31 -141h-227l-318 -1503h227l-32 -142h-387z" /> -<glyph unicode="\" horiz-adv-x="717" d="M221 1462h154l217 -1462h-154z" /> -<glyph unicode="]" horiz-adv-x="586" d="M-150 -324l31 142h225l320 1503h-227l30 141h389l-380 -1786h-388z" /> -<glyph unicode="^" horiz-adv-x="1059" d="M53 553l598 920h109l266 -920h-145l-201 747l-467 -747h-160z" /> -<glyph unicode="_" horiz-adv-x="807" d="M-188 -324l30 140h811l-30 -140h-811z" /> -<glyph unicode="`" horiz-adv-x="1135" d="M575 1548v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="a" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310z" /> -<glyph unicode="b" horiz-adv-x="1182" d="M59 0l330 1556h168q-51 -242 -78.5 -370.5t-75.5 -300.5h9q93 118 183.5 173.5t186.5 55.5q141 0 220 -99t79 -272q0 -209 -68.5 -386.5t-191 -277t-276.5 -99.5q-97 0 -170.5 51t-110.5 139h-10l-70 -170h-125zM319 346q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81 t137.5 230.5t52 317.5q0 227 -178 227q-96 0 -195.5 -95t-158 -239t-58.5 -295z" /> -<glyph unicode="c" horiz-adv-x="922" d="M98 389q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63q-194 0 -301 107t-107 302z" /> -<glyph unicode="d" horiz-adv-x="1182" d="M98 350q0 214 72 392t194.5 275t274.5 97q194 0 281 -190h10q17 155 45 274l78 358h166l-330 -1556h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272zM270 346q0 -227 179 -227q94 0 194 93.5t158.5 239t58.5 296.5q0 111 -54 169t-157 58 q-101 0 -187.5 -82.5t-139 -232t-52.5 -314.5z" /> -<glyph unicode="e" horiz-adv-x="1010" d="M98 391q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5q-184 0 -289 109t-105 302zM299 618h12 q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35q-103 0 -193.5 -94t-138.5 -261z" /> -<glyph unicode="f" horiz-adv-x="641" d="M-229 -330q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098q-39 -189 -120 -276 t-213 -87q-69 0 -125 21v141z" /> -<glyph unicode="g" horiz-adv-x="1026" d="M-127 -211q0 105 72 182t233 131q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131 q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680 q0 -85 45 -129.5t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5z" /> -<glyph unicode="h" horiz-adv-x="1182" d="M59 0l330 1556h168q-18 -82 -34.5 -159t-34 -156.5t-38 -166.5t-47.5 -189h11q94 123 185.5 176t191.5 53q131 0 202.5 -72t71.5 -204q0 -62 -23 -166q-39 -193 -145 -672h-168l148 692q18 94 18 135q0 148 -147 148q-89 0 -173.5 -59t-149 -171.5t-97.5 -271.5 l-101 -473h-168z" /> -<glyph unicode="i" horiz-adv-x="520" d="M59 0l234 1096h168l-234 -1096h-168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" /> -<glyph unicode="j" horiz-adv-x="520" d="M-258 -330q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5q-69 0 -123 21v141zM340 1376q0 56 32 91.5t83 35.5q86 0 86 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -64 24.5t-26 69.5z" /> -<glyph unicode="k" horiz-adv-x="999" d="M57 0l330 1556h170l-129 -602q-57 -266 -102 -395h4l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170z" /> -<glyph unicode="l" horiz-adv-x="520" d="M57 0l332 1556h168l-332 -1556h-168z" /> -<glyph unicode="m" horiz-adv-x="1786" d="M59 0l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -68t69.5 -198q0 -68 -22 -178l-144 -672h-170l148 692q20 104 20 146q0 62 -34.5 99.5t-108.5 37.5q-81 0 -160 -58t-138.5 -164.5 t-90.5 -252.5l-107 -500h-168l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60t-140 -171.5t-93.5 -268.5l-101 -475h-168z" /> -<glyph unicode="n" horiz-adv-x="1182" d="M59 0l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168z" /> -<glyph unicode="o" horiz-adv-x="1149" d="M98 406q0 190 73 357.5t197 257t275 89.5q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309zM270 397q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74 t-134 -205.5t-47.5 -292.5z" /> -<glyph unicode="p" horiz-adv-x="1182" d="M-43 -492l336 1588h139l-26 -209h8q179 227 372 227q137 0 216 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5q-97 0 -170 50t-113 140h-10l-4 -38q-3 -25 -10.5 -70t-114.5 -554h-166zM319 346q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81t137.5 230.5 t52 317.5q0 227 -178 227q-96 0 -195.5 -95t-158 -239t-58.5 -295z" /> -<glyph unicode="q" horiz-adv-x="1182" d="M98 350q0 212 72.5 392t196 277t274.5 97q94 0 165.5 -50.5t108.5 -141.5h13l67 172h125l-336 -1588h-166l101 480q9 45 57 221h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5zM270 346q0 -227 179 -227q92 0 190 92t158.5 237t60.5 300 q0 105 -54.5 166t-152.5 61q-101 0 -189 -84.5t-140 -233t-52 -311.5z" /> -<glyph unicode="r" horiz-adv-x="811" d="M59 0l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168z" /> -<glyph unicode="s" horiz-adv-x="877" d="M8 49v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103 t69.5 -92.5t23 -111.5q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69z" /> -<glyph unicode="t" horiz-adv-x="664" d="M90 969l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172z" /> -<glyph unicode="u" horiz-adv-x="1182" d="M113 248q0 62 22 172l146 676h170l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5z" /> -<glyph unicode="v" horiz-adv-x="946" d="M98 1096h168l64 -613q24 -258 24 -362h6q127 275 179 371l325 604h178l-591 -1096h-228z" /> -<glyph unicode="w" horiz-adv-x="1468" d="M117 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202z" /> -<glyph unicode="x" horiz-adv-x="979" d="M-74 0l475 565l-239 531h170l174 -412l330 412h194l-455 -539l252 -557h-168l-192 434l-346 -434h-195z" /> -<glyph unicode="y" horiz-adv-x="946" d="M-197 -336q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136l-166 1114h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135z" /> -<glyph unicode="z" horiz-adv-x="909" d="M-29 0l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531l-25 -125h-719z" /> -<glyph unicode="{" horiz-adv-x="715" d="M27 514l32 143q118 0 189.5 43.5t93.5 147.5l68 326q34 160 117.5 224t254.5 64h33l-31 -141q-105 0 -151 -36.5t-66 -123.5l-71 -321q-28 -123 -91 -184t-167 -78v-5q151 -41 151 -213q0 -59 -18 -131l-47 -211q-15 -58 -15 -98q0 -53 36.5 -77.5t119.5 -24.5v-142h-23 q-141 0 -216.5 52.5t-75.5 171.5q0 52 20 141q33 146 51.5 227.5t14.5 102.5q0 143 -209 143z" /> -<glyph unicode="|" d="M541 -496v2052h139v-2052h-139z" /> -<glyph unicode="}" horiz-adv-x="715" d="M-74 -182q115 0 167 36t71 123l72 322q25 117 88 179.5t170 80.5v6q-150 42 -150 211q0 59 18 131l50 213q14 65 14 99q0 53 -40.5 77.5t-139.5 24.5l28 141h11q144 0 220.5 -52.5t76.5 -170.5q0 -48 -21 -141l-49 -219q-16 -68 -16 -111q0 -143 209 -143l-33 -144 q-119 0 -190 -43t-93 -147l-67 -326q-36 -164 -119 -226.5t-264 -62.5h-13v142z" /> -<glyph unicode="~" d="M115 592v151q98 109 243 109q69 0 127 -14.5t144 -51.5q64 -27 112.5 -41t98.5 -14q55 0 119.5 33t115.5 88v-150q-100 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12q-54 0 -118.5 -34.5t-114.5 -86.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="530" d="M-14 -373l274 1057h109l-176 -1057h-207zM250 950q0 76 40.5 122t110.5 46q44 0 70.5 -26t26.5 -80q0 -71 -40.5 -117.5t-105.5 -46.5q-48 0 -75 25.5t-27 76.5z" /> -<glyph unicode="&#xa2;" d="M225 590q0 185 63.5 344t178.5 258.5t260 120.5l35 170h123l-37 -168q119 -9 217 -49l-47 -142q-109 52 -219 52q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -125 66 -198t184 -73q72 0 136 20t126 48v-143q-123 -62 -286 -66l-41 -198h-125l43 215 q-132 34 -203.5 137.5t-71.5 257.5z" /> -<glyph unicode="&#xa3;" d="M-23 0l27 141q205 46 258 289l47 221h-200l26 127h201l76 350q75 353 430 353q184 0 336 -86l-66 -133q-146 79 -278 79q-213 0 -263 -237l-69 -326h370l-26 -127h-371l-47 -219q-22 -98 -66 -166.5t-124 -111.5h725l-33 -154h-953z" /> -<glyph unicode="&#xa4;" d="M168 1067l92 92l127 -129q103 70 217 70t215 -70l129 129l92 -90l-129 -129q70 -104 70 -217q0 -119 -70 -217l127 -127l-90 -90l-129 127q-98 -68 -215 -68q-119 0 -217 70l-127 -127l-90 90l127 127q-68 96 -68 215q0 117 68 215zM358 723q0 -103 71.5 -174.5 t174.5 -71.5q104 0 177 71.5t73 174.5q0 104 -73 177t-177 73q-102 0 -174 -72.5t-72 -177.5z" /> -<glyph unicode="&#xa5;" d="M127 266l29 133h290l33 160h-291l29 133h225l-202 770h163l179 -747l491 747h187l-533 -770h231l-28 -133h-297l-33 -160h297l-29 -133h-295l-57 -266h-154l56 266h-291z" /> -<glyph unicode="&#xa6;" d="M541 281h139v-777h-139v777zM541 780v776h139v-776h-139z" /> -<glyph unicode="&#xa7;" horiz-adv-x="995" d="M59 53v148q56 -34 136.5 -56t156.5 -22q133 0 204 44.5t71 129.5q0 48 -50.5 89t-152.5 87q-138 61 -194 130.5t-56 166.5q0 201 238 307q-119 70 -119 203q0 127 103.5 206t279.5 79q189 0 321 -68l-53 -123q-148 60 -266 60q-102 0 -162.5 -40.5t-60.5 -109.5 q0 -49 38 -83.5t162 -90.5q100 -44 149 -83.5t75 -89.5t26 -114q0 -97 -61 -180t-172 -139q114 -71 114 -189q0 -152 -114 -237.5t-318 -85.5q-176 0 -295 61zM326 791q0 -70 50.5 -117t198.5 -111q80 44 127.5 107t47.5 131q0 60 -49.5 105.5t-186.5 103.5 q-82 -26 -135 -87.5t-53 -131.5z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M457 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M139 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5 q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM520 733q0 208 110 330.5t300 122.5q130 0 248 -60l-60 -120q-106 53 -190 53q-125 0 -191.5 -87t-66.5 -241q0 -169 65 -249.5t193 -80.5q82 0 211 43v-122q-66 -28 -113 -38 t-104 -10q-192 0 -297 119.5t-105 339.5z" /> -<glyph unicode="&#xaa;" horiz-adv-x="686" d="M170 1014q0 127 41.5 234.5t116.5 169t170 61.5q114 0 153 -103h6l37 90h86l-139 -665h-92l14 117h-4q-40 -56 -90 -93t-123 -37q-77 0 -126.5 60t-49.5 166zM283 1030q0 -139 98 -139q61 0 112.5 49t86 137.5t34.5 167.5q0 62 -28.5 96.5t-85.5 34.5q-92 0 -154.5 -103 t-62.5 -243z" /> -<glyph unicode="&#xab;" horiz-adv-x="958" d="M88 555v29l391 374l78 -81l-297 -328l172 -387l-113 -49zM483 510v31l367 405l86 -69l-283 -365l158 -350l-113 -49z" /> -<glyph unicode="&#xac;" d="M127 651v142h920v-529h-140v387h-780z" /> -<glyph unicode="&#xad;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M139 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5 q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM645 291v880h229q163 0 241.5 -63t78.5 -193q0 -78 -47.5 -141t-132.5 -98l227 -385h-149l-207 352h-113v-352h-127zM772 762h92q195 0 195 149q0 76 -47.5 107t-149.5 31h-90v-287z " /> -<glyph unicode="&#xaf;" horiz-adv-x="782" d="M227 1556l33 132h787l-35 -132h-785z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M215 1171q0 128 90.5 220t220.5 92q83 0 155.5 -41.5t114.5 -114t42 -156.5q0 -128 -90.5 -218.5t-221.5 -90.5t-221 90.5t-90 218.5zM328 1171q0 -80 58 -138t140 -58q83 0 140 58.5t57 137.5q0 82 -57.5 140.5t-139.5 58.5q-80 0 -139 -58.5t-59 -140.5z" /> -<glyph unicode="&#xb1;" d="M127 0v141h920v-141h-920zM127 643v141h389v392h141v-392h390v-141h-390v-387h-141v387h-389z" /> -<glyph unicode="&#xb2;" horiz-adv-x="717" d="M96 586l23 106l264 228q115 100 158.5 149.5t63.5 93t20 90.5q0 53 -31 85t-90 32q-90 0 -195 -80l-59 90q125 101 274 101q109 0 171.5 -56.5t62.5 -150.5q0 -99 -52.5 -179.5t-197.5 -205.5l-221 -187h395l-25 -116h-561z" /> -<glyph unicode="&#xb3;" horiz-adv-x="717" d="M119 625v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151q0 -180 -207 -234v-4q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5 q-125 0 -233 56z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M532 1241v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1194" d="M-43 -492l336 1588h168l-148 -695q-18 -92 -18 -135q0 -147 147 -147q89 0 172 59t148.5 171t99.5 269l105 478h163l-233 -1096h-139l24 205h-12q-93 -121 -183 -173t-188 -52q-112 0 -163 96h-9q-11 -78 -22.5 -148t-83.5 -420h-164z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M199 1042q0 260 109 387t341 127h557v-1816h-114v1661h-213v-1661h-115v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376z" /> -<glyph unicode="&#xb7;" horiz-adv-x="518" d="M170 690q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> -<glyph unicode="&#xb8;" horiz-adv-x="420" d="M-170 -383q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155q0 -98 -81 -157t-214 -59q-41 0 -86 9v100z" /> -<glyph unicode="&#xb9;" horiz-adv-x="717" d="M258 1280l279 182h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5z" /> -<glyph unicode="&#xba;" horiz-adv-x="688" d="M168 1055q0 117 42 215.5t117.5 153.5t174.5 55q117 0 180 -67t63 -193q0 -191 -88.5 -311t-240.5 -120q-113 0 -180.5 71t-67.5 196zM281 1059q0 -85 38 -127.5t107 -42.5q94 0 152.5 88.5t58.5 232.5q0 166 -137 166q-102 0 -160.5 -87.5t-58.5 -229.5z" /> -<glyph unicode="&#xbb;" horiz-adv-x="958" d="M23 197l282 360l-158 354l113 50l217 -402v-31l-368 -401zM401 197l297 323l-172 391l113 50l233 -447v-29l-393 -370z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1518" d="M123 0l1085 1462h154l-1086 -1462h-153zM204 1280l279 182h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5zM706 203l23 101l481 579h133l-121 -563h127l-22 -117h-129l-43 -202h-127l43 202h-365zM870 320h225q69 322 90 395 q-20 -36 -110 -149z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1518" d="M148 1280l279 182h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5zM66 0l1085 1462h154l-1086 -1462h-153zM782 1l23 106l264 228q115 100 158.5 149.5t63.5 93t20 90.5q0 53 -31 85t-90 32q-90 0 -195 -80l-59 90q125 101 274 101 q109 0 171.5 -56.5t62.5 -150.5q0 -99 -52.5 -179.5t-197.5 -205.5l-221 -187h395l-25 -116h-561z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1565" d="M87 625v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151q0 -180 -207 -234v-4q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5 q-125 0 -233 56zM273 0l1085 1462h154l-1086 -1462h-153zM856 203l23 101l481 579h133l-121 -563h127l-22 -117h-129l-43 -202h-127l43 202h-365zM1020 320h225q69 322 90 395q-20 -36 -110 -149z" /> -<glyph unicode="&#xbf;" horiz-adv-x="874" d="M-4 -78q0 124 66 228t225 223q132 98 172.5 152.5t62.5 154.5h135q-22 -130 -72 -212t-165 -175l-95 -75q-159 -127 -159 -275q0 -93 51.5 -144t147.5 -51q80 0 154 25.5t140 56.5l62 -129q-90 -48 -189 -74t-186 -26q-168 0 -259 83.5t-91 237.5zM512 946q0 71 40 118.5 t107 47.5q47 0 74 -25.5t27 -76.5q0 -77 -40.5 -122.5t-111.5 -45.5q-43 0 -69.5 26t-26.5 78z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474zM535 1886v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474zM679 1579v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474zM465 1579v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189 h-109z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474zM432 1579q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258 q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5 t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1137" d="M-117 0l799 1462h174l184 -1462h-170l-57 465h-496l-245 -465h-189zM401 621h394l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474zM553 1583q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5zM657 1583 q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1673" d="M-119 0l938 1462h938l-33 -153h-565l-100 -469h528l-28 -150h-529l-115 -538h566l-33 -152h-737l98 465h-438l-293 -465h-197zM469 621h371l147 688h-84z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1198" d="M150 537q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5zM377 -383 q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155q0 -98 -81 -157t-214 -59q-41 0 -86 9v100z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1047" d="M86 0l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565l-33 -152h-735zM570 1886v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1047" d="M86 0l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565l-33 -152h-735zM657 1579v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xca;" horiz-adv-x="1047" d="M86 0l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565l-33 -152h-735zM469 1579v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1047" d="M86 0l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565l-33 -152h-735zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xcc;" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168zM265 1886v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xcd;" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168zM412 1579v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xce;" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168zM193 1579v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xcf;" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168zM265 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM629 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1364" d="M72 649l32 150h150l141 663h342q276 0 419.5 -149.5t143.5 -435.5q0 -261 -105 -461t-300 -308t-457 -108h-352l135 649h-149zM287 147h162q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-111 -516h330l-33 -150h-330z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1438" d="M84 0l309 1462h180l459 -1220h6q30 224 72 405l174 815h164l-309 -1462h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162zM600 1579q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258q-40 0 -77.5 17.5 t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5q-157 0 -281 -101 t-192.5 -281t-68.5 -398zM679 1886v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5q-157 0 -281 -101 t-192.5 -281t-68.5 -398zM821 1579v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5q-157 0 -281 -101 t-192.5 -281t-68.5 -398zM612 1579v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5q-157 0 -281 -101 t-192.5 -281t-68.5 -398zM565 1579q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1475" d="M150 549q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5q-157 0 -281 -101 t-192.5 -281t-68.5 -398zM664 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1028 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xd7;" d="M168 1044l98 99l320 -320l323 320l99 -96l-324 -324l322 -322l-97 -96l-323 320l-320 -318l-96 96l317 320z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1475" d="M119 8l137 170q-106 136 -106 371q0 264 96 482t263.5 336t377.5 118q99 0 178.5 -27t151.5 -84l131 166l114 -92l-149 -184q48 -62 73 -156t25 -201q0 -269 -88 -481.5t-252 -329t-379 -116.5q-200 0 -332 96l-129 -160zM332 553q0 -135 41 -227l737 919q-90 88 -236 88 q-157 0 -281 -101t-192.5 -281t-68.5 -398zM463 205q91 -74 233 -74q152 0 272.5 97.5t190.5 279.5t70 403q0 118 -33 205z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1384" d="M164 383q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299zM663 1886v21h181q43 -136 147 -303v-25h-104 q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xda;" horiz-adv-x="1384" d="M164 383q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299zM823 1579v27q56 60 125.5 151.5t106.5 149.5h190v-21 q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1384" d="M164 383q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299zM602 1579v27q145 133 204.5 197.5t82.5 103.5h158 q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1384" d="M164 383q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299zM643 1716q0 46 28 79.5t74 33.5q78 0 78 -80 q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1007 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1030" d="M188 1462h170l179 -747l489 747h193l-627 -921l-113 -541h-172l119 549zM616 1579v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xde;" horiz-adv-x="1159" d="M86 0l309 1462h170l-53 -256h160q213 0 323.5 -95t110.5 -282q0 -248 -164 -379t-483 -131h-133l-70 -319h-170zM354 465h135q215 0 328 91t113 267q0 126 -70 181t-215 55h-166z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1182" d="M-256 -328q61 -22 111 -22q65 0 107 47.5t65 157.5l280 1314q43 200 156 299t307 99q162 0 252 -71t90 -196q0 -57 -21 -106.5t-61.5 -95t-178.5 -150.5q-110 -83 -110 -151q0 -56 95 -122q47 -34 101 -87.5t79.5 -110t25.5 -123.5q0 -175 -108.5 -274.5t-292.5 -99.5 q-175 0 -268 71v160q51 -41 118.5 -66.5t129.5 -25.5q113 0 181 58t68 159q0 40 -10.5 71t-33.5 59t-89 83q-88 69 -122.5 124t-34.5 115q0 53 18.5 96t49.5 78.5t124 104.5q80 56 111 87.5t48 65t17 70.5q0 64 -52.5 100.5t-141.5 36.5q-119 0 -186 -62.5t-95 -190.5 l-274 -1303q-40 -189 -121 -276t-211 -87q-69 0 -123 21v143z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310zM496 1548v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310zM600 1241v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310zM390 1241v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310zM354 1241q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310zM454 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM818 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1157" d="M98 350q0 208 71 386t196 279t274 101q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271zM270 346q0 -114 47 -170.5t132 -56.5q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 q-104 0 -193.5 -86t-140.5 -233t-51 -310zM513 1454q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5zM617 1454q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1669" d="M98 348q0 206 70.5 385t191.5 281t263 102q82 0 145 -48.5t102 -143.5h11l67 172h109l-31 -146q123 166 332 166q119 0 192.5 -68t73.5 -184q0 -182 -166.5 -283.5t-472.5 -101.5h-39l-4 -80q0 -131 62.5 -204.5t193.5 -73.5q55 0 116.5 16.5t178.5 67.5v-150 q-164 -75 -328 -75q-108 0 -189.5 39.5t-121.5 119.5l-31 -139h-114l26 209h-8q-109 -132 -191.5 -180.5t-177.5 -48.5q-122 0 -191 99t-69 269zM270 348q0 -114 37 -171.5t105 -57.5q95 0 188.5 91.5t153 240.5t59.5 299q0 103 -45.5 164t-122.5 61q-99 0 -187 -86.5 t-138 -231.5t-50 -309zM973 618h14q226 0 348.5 58.5t122.5 169.5q0 61 -35 94t-98 33q-117 0 -211 -94.5t-141 -260.5z" /> -<glyph unicode="&#xe7;" horiz-adv-x="922" d="M98 389q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63q-194 0 -301 107t-107 302zM211 -383q38 -6 68 -6 q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155q0 -98 -81 -157t-214 -59q-41 0 -86 9v100z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1010" d="M98 391q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5q-184 0 -289 109t-105 302zM299 618h12 q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35q-103 0 -193.5 -94t-138.5 -261zM449 1548v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1010" d="M98 391q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5q-184 0 -289 109t-105 302zM299 618h12 q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35q-103 0 -193.5 -94t-138.5 -261zM585 1241v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xea;" horiz-adv-x="1010" d="M98 391q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5q-184 0 -289 109t-105 302zM299 618h12 q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35q-103 0 -193.5 -94t-138.5 -261zM351 1241v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1010" d="M98 391q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5q-184 0 -289 109t-105 302zM299 618h12 q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35q-103 0 -193.5 -94t-138.5 -261zM413 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM777 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xec;" horiz-adv-x="520" d="M59 0l234 1096h168l-234 -1096h-168zM164 1548v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xed;" horiz-adv-x="520" d="M59 0l234 1096h168l-234 -1096h-168zM324 1241v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xee;" horiz-adv-x="520" d="M59 0l234 1096h168l-234 -1096h-168zM93 1241v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xef;" horiz-adv-x="520" d="M59 0l234 1096h168l-234 -1096h-168zM161 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM525 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1165" d="M90 373q0 160 67.5 298t187 217t267.5 79q105 0 181.5 -45.5t111.5 -124.5l6 2v17q0 136 -36.5 240t-110.5 197l-270 -149l-56 108l238 131q-66 58 -146 113l95 117q118 -84 188 -154l260 146l64 -105l-240 -133q87 -115 126.5 -240.5t39.5 -269.5q0 -253 -71.5 -447 t-203 -292t-311.5 -98q-182 0 -284.5 104t-102.5 289zM262 377q0 -126 57.5 -191t167.5 -65q107 0 190 56t134 168t51 226q0 118 -65.5 187t-178.5 69q-109 0 -189 -57.5t-123.5 -161t-43.5 -231.5z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1182" d="M59 0l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168zM369 1241q58 258 231 258 q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1149" d="M98 406q0 190 73 357.5t197 257t275 89.5q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309zM270 397q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74 t-134 -205.5t-47.5 -292.5zM470 1548v21h181q43 -136 147 -303v-25h-104q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1149" d="M98 406q0 190 73 357.5t197 257t275 89.5q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309zM270 397q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74 t-134 -205.5t-47.5 -292.5zM589 1241v27q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1149" d="M98 406q0 190 73 357.5t197 257t275 89.5q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309zM270 397q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74 t-134 -205.5t-47.5 -292.5zM382 1241v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1149" d="M98 406q0 190 73 357.5t197 257t275 89.5q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309zM270 397q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74 t-134 -205.5t-47.5 -292.5zM342 1241q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1149" d="M98 406q0 190 73 357.5t197 257t275 89.5q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309zM270 397q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74 t-134 -205.5t-47.5 -292.5zM433 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM797 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xf7;" d="M127 651v142h920v-142h-920zM475 373q0 121 111 121q53 0 82.5 -30.5t29.5 -90.5q0 -58 -30 -89.5t-82 -31.5t-81.5 31t-29.5 90zM475 1071q0 121 111 121q53 0 82.5 -30.5t29.5 -90.5q0 -58 -30 -89.5t-82 -31.5t-81.5 31t-29.5 90z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1149" d="M61 6l109 135q-68 103 -68 265q0 194 73.5 361t195.5 255t272 88q146 0 252 -68l104 129l105 -79l-119 -129q62 -97 62 -258q0 -189 -69.5 -360t-191.5 -266t-276 -95q-146 0 -246 65l-98 -125zM264 416q0 -92 17 -137l518 645q-54 47 -152 47q-108 0 -195.5 -73 t-137.5 -202t-50 -280zM358 166q57 -45 158 -45q103 0 188.5 71.5t133 200.5t47.5 295q0 84 -13 119z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1182" d="M113 248q0 62 22 172l146 676h170l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5zM472 1548v21h181q43 -136 147 -303v-25h-104 q-61 61 -128.5 154t-95.5 153z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1182" d="M113 248q0 62 22 172l146 676h170l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5zM636 1241v27q56 60 125.5 151.5t106.5 149.5h190v-21 q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1182" d="M113 248q0 62 22 172l146 676h170l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5zM409 1241v27q145 133 204.5 197.5t82.5 103.5h158 q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1182" d="M113 248q0 62 22 172l146 676h170l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5zM457 1378q0 46 28 79.5t74 33.5q78 0 78 -80 q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#xfd;" horiz-adv-x="946" d="M-197 -336q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136l-166 1114h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135zM500 1241v27q56 60 125.5 151.5t106.5 149.5h190 v-21q-38 -49 -140 -151t-177 -156h-105z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1182" d="M-43 -492l432 2048h168q-95 -441 -115 -522t-39 -149h9q101 125 189 177t183 52q139 0 218 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5q-98 0 -172 51t-113 139h-10q-8 -104 -25 -176l-102 -486h-166zM319 346q0 -110 55.5 -168.5t160.5 -58.5 q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227q-96 0 -195.5 -95t-158 -239t-58.5 -295z" /> -<glyph unicode="&#xff;" horiz-adv-x="946" d="M-197 -336q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136l-166 1114h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135zM335 1378q0 46 28 79.5t74 33.5q78 0 78 -80 q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM699 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> -<glyph unicode="&#x131;" horiz-adv-x="520" d="M59 0l234 1096h168l-234 -1096h-168z" /> -<glyph unicode="&#x152;" horiz-adv-x="1751" d="M150 549q0 264 96 482t263.5 336t377.5 118q152 0 237 -23h709l-31 -153h-565l-100 -469h528l-31 -150h-528l-115 -538h565l-32 -152h-674q-78 -20 -158 -20q-256 0 -399 149.5t-143 419.5zM332 553q0 -199 98 -310.5t266 -111.5q69 0 123 19l246 1161q-76 22 -191 22 q-157 0 -281 -101t-192.5 -281t-68.5 -398z" /> -<glyph unicode="&#x153;" horiz-adv-x="1769" d="M98 406q0 193 75 360t201 255.5t281 88.5q270 0 359 -225q75 109 177.5 170t221.5 61q139 0 217 -65.5t78 -186.5q0 -183 -164.5 -284t-468.5 -101h-41l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q75 0 145 24.5t150 59.5v-150q-162 -75 -326 -75q-270 0 -356 225 q-69 -107 -171.5 -164t-225.5 -57q-184 0 -292 114t-108 308zM270 410q0 -141 62 -214t172 -73q177 0 278 160.5t101 427.5q0 124 -59.5 191t-174.5 67q-109 0 -196 -73t-135 -202t-48 -284zM1053 618h18q231 0 351 61t120 177q0 48 -32 82.5t-97 34.5q-125 0 -220.5 -94.5 t-139.5 -260.5z" /> -<glyph unicode="&#x178;" horiz-adv-x="1030" d="M188 1462h170l179 -747l489 747h193l-627 -921l-113 -541h-172l119 549zM452 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM816 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 t-23.5 62z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="1135" d="M399 1241v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27h-103q-57 48 -161 189q-134 -119 -242 -189h-109z" /> -<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M551 1454q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5zM655 1454q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="1135" d="M336 1241q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100z" /> -<glyph unicode="&#x2000;" horiz-adv-x="953" /> -<glyph unicode="&#x2001;" horiz-adv-x="1907" /> -<glyph unicode="&#x2002;" horiz-adv-x="953" /> -<glyph unicode="&#x2003;" horiz-adv-x="1907" /> -<glyph unicode="&#x2004;" horiz-adv-x="635" /> -<glyph unicode="&#x2005;" horiz-adv-x="476" /> -<glyph unicode="&#x2006;" horiz-adv-x="317" /> -<glyph unicode="&#x2007;" horiz-adv-x="317" /> -<glyph unicode="&#x2008;" horiz-adv-x="238" /> -<glyph unicode="&#x2009;" horiz-adv-x="381" /> -<glyph unicode="&#x200a;" horiz-adv-x="105" /> -<glyph unicode="&#x2010;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" /> -<glyph unicode="&#x2011;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" /> -<glyph unicode="&#x2012;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" /> -<glyph unicode="&#x2013;" horiz-adv-x="983" d="M55 469l35 160h823l-34 -160h-824z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M55 469l35 160h1806l-34 -160h-1807z" /> -<glyph unicode="&#x2018;" horiz-adv-x="348" d="M123 983q98 211 270 479h127q-147 -345 -203 -501h-188z" /> -<glyph unicode="&#x2019;" horiz-adv-x="348" d="M125 961q134 298 203 501h188l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129z" /> -<glyph unicode="&#x201a;" horiz-adv-x="492" d="M-100 -264q126 286 204 502h187l8 -23q-113 -235 -270 -479h-129z" /> -<glyph unicode="&#x201c;" horiz-adv-x="719" d="M123 983q98 211 270 479h127q-147 -345 -203 -501h-188zM492 983q80 181 272 479h127q-162 -379 -203 -501h-188z" /> -<glyph unicode="&#x201d;" horiz-adv-x="719" d="M125 961q134 298 203 501h188l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129zM494 961q57 126 115.5 272.5t86.5 228.5h189l10 -22q-94 -206 -274 -479h-127z" /> -<glyph unicode="&#x201e;" horiz-adv-x="858" d="M-100 -264q126 286 204 502h187l8 -23q-113 -235 -270 -479h-129zM268 -264q140 316 203 502h188l9 -23q-95 -205 -271 -479h-129z" /> -<glyph unicode="&#x2022;" horiz-adv-x="774" d="M199 684q0 145 73.5 231t198.5 86q92 0 139 -49t47 -141q0 -141 -74 -230t-202 -89q-89 0 -135.5 49.5t-46.5 142.5z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1563" d="M563 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM1085 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM43 74q0 77 40.5 122.5t111.5 45.5 q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> -<glyph unicode="&#x202f;" horiz-adv-x="381" /> -<glyph unicode="&#x2039;" horiz-adv-x="580" d="M88 549v29l391 380l78 -81l-297 -334l172 -381l-113 -49z" /> -<glyph unicode="&#x203a;" horiz-adv-x="580" d="M23 197l296 333l-172 381l113 50l232 -437v-28l-392 -381z" /> -<glyph unicode="&#x2044;" horiz-adv-x="268" d="M-487 0l1085 1462h154l-1086 -1462h-153z" /> -<glyph unicode="&#x205f;" horiz-adv-x="476" /> -<glyph unicode="&#x2074;" horiz-adv-x="717" d="M92 788l23 101l481 579h133l-121 -563h127l-22 -117h-129l-43 -202h-127l43 202h-365zM256 905h225q69 322 90 395q-20 -36 -110 -149z" /> -<glyph unicode="&#x20ac;" d="M63 504l27 131h154q8 80 30 164h-151l27 133h159q97 267 259.5 408t369.5 141q89 0 160 -21.5t141 -70.5l-80 -138q-113 78 -231 78q-140 0 -254 -99t-189 -298h426l-26 -133h-441q-21 -65 -32 -164h381l-29 -131h-361q0 -373 297 -373q123 0 256 55v-147 q-127 -59 -278 -59q-212 0 -328.5 133.5t-116.5 378.5v12h-170z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M121 1358v104h516v-104h-199v-617h-121v617h-196zM705 741v721h180l182 -557l193 557h170v-721h-121v430q0 73 4 121h-6l-197 -551h-96l-189 551h-6q4 -52 4 -121v-430h-118z" /> -<glyph unicode="&#xe000;" horiz-adv-x="1095" d="M0 1095h1095v-1095h-1095v1095z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1165" d="M-229 -330q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098q-39 -189 -120 -276 t-213 -87q-69 0 -125 21v141zM702 0l234 1096h168l-234 -1096h-168zM983 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1165" d="M-229 -330q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098q-39 -189 -120 -276 t-213 -87q-69 0 -125 21v141zM700 0l332 1556h168l-332 -1556h-168z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="1815" d="M-229 -330q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11 t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098q-43 -195 -123.5 -279t-210.5 -84q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141 zM1354 0l233 1096h168l-233 -1096h-168zM1634 1376q0 54 32 90.5t83 36.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="1815" d="M-229 -330q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11 t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098q-43 -195 -123.5 -279t-210.5 -84q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141 zM1352 0l331 1556h168l-331 -1556h-168z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.ttf deleted file mode 100755 index ddc75c6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.woff deleted file mode 100755 index 302cb00..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-italic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.eot deleted file mode 100755 index 1c64986..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.svg deleted file mode 100755 index ead219a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.svg +++ /dev/null @@ -1,252 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata> -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom -</metadata> -<defs> -<font id="OpenSansRegular" horiz-adv-x="1171" > -<font-face units-per-em="2048" ascent="1638" descent="-410" /> -<missing-glyph horiz-adv-x="532" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="&#x09;" horiz-adv-x="532" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="547" d="M152 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5zM170 1462h207l-51 -1059h-105z" /> -<glyph unicode="&#x22;" horiz-adv-x="821" d="M133 1462h186l-40 -528h-105zM502 1462h186l-41 -528h-104z" /> -<glyph unicode="#" horiz-adv-x="1323" d="M51 430v129h287l68 340h-277v127h299l82 436h139l-82 -436h305l84 436h134l-84 -436h264v-127h-289l-66 -340h283v-129h-307l-84 -430h-137l84 430h-303l-82 -430h-136l80 430h-262zM475 559h303l66 340h-303z" /> -<glyph unicode="$" d="M131 170v156q83 -37 191.5 -60.5t197.5 -23.5v440q-205 65 -287.5 151t-82.5 222q0 131 101.5 215t268.5 102v182h129v-180q184 -5 355 -74l-52 -131q-149 59 -303 70v-434q157 -50 235 -97.5t115 -109t37 -149.5q0 -136 -102 -224.5t-285 -111.5v-232h-129v223 q-112 0 -217 17.5t-172 48.5zM319 1057q0 -76 45 -122t156 -87v387q-99 -16 -150 -62.5t-51 -115.5zM649 252q217 30 217 184q0 72 -44.5 116.5t-172.5 88.5v-389z" /> -<glyph unicode="%" horiz-adv-x="1686" d="M104 1026q0 227 74.5 342t220.5 115q145 0 223 -119t78 -338q0 -228 -76.5 -344.5t-224.5 -116.5q-140 0 -217.5 119t-77.5 342zM242 1026q0 -170 37 -255t120 -85q164 0 164 340q0 338 -164 338q-83 0 -120 -84t-37 -254zM365 0l811 1462h147l-811 -1462h-147zM985 440 q0 227 74.5 342t220.5 115q142 0 221.5 -117.5t79.5 -339.5q0 -227 -76.5 -343.5t-224.5 -116.5q-142 0 -218.5 119t-76.5 341zM1122 440q0 -171 37 -255.5t121 -84.5t124 83.5t40 256.5q0 171 -40 253.5t-124 82.5t-121 -82.5t-37 -253.5z" /> -<glyph unicode="&#x26;" horiz-adv-x="1495" d="M113 379q0 130 69.5 230t249.5 202q-85 95 -115.5 144t-48.5 102t-18 110q0 150 98 234t273 84q162 0 255 -83.5t93 -232.5q0 -107 -68 -197.5t-225 -183.5l407 -391q56 62 89.5 145.5t56.5 182.5h168q-68 -286 -205 -434l299 -291h-229l-185 178q-118 -106 -240 -152 t-272 -46q-215 0 -333.5 106t-118.5 293zM285 383q0 -117 77.5 -185.5t206.5 -68.5q241 0 400 154l-437 424q-111 -68 -157 -112.5t-68 -95.5t-22 -116zM414 1171q0 -69 36 -131.5t123 -150.5q129 75 179.5 138.5t50.5 146.5q0 77 -51.5 125.5t-137.5 48.5q-89 0 -144.5 -48 t-55.5 -129z" /> -<glyph unicode="'" horiz-adv-x="453" d="M133 1462h186l-40 -528h-105z" /> -<glyph unicode="(" horiz-adv-x="606" d="M82 561q0 265 77.5 496t223.5 405h162q-144 -193 -216.5 -424t-72.5 -475q0 -240 74 -469t213 -418h-160q-147 170 -224 397t-77 488z" /> -<glyph unicode=")" horiz-adv-x="606" d="M61 1462h162q147 -175 224 -406.5t77 -494.5t-77.5 -490t-223.5 -395h-160q139 188 213 417.5t74 469.5q0 244 -72.5 475t-216.5 424z" /> -<glyph unicode="*" horiz-adv-x="1130" d="M86 1090l29 182l391 -111l-43 395h194l-43 -395l398 111l26 -182l-381 -31l248 -326l-172 -94l-176 362l-160 -362l-176 94l242 326z" /> -<glyph unicode="+" d="M104 653v138h410v428h139v-428h412v-138h-412v-426h-139v426h-410z" /> -<glyph unicode="," horiz-adv-x="502" d="M63 -264q27 104 59.5 257t45.5 245h182l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125z" /> -<glyph unicode="-" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" /> -<glyph unicode="." horiz-adv-x="545" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> -<glyph unicode="/" horiz-adv-x="752" d="M20 0l545 1462h166l-545 -1462h-166z" /> -<glyph unicode="0" d="M102 733q0 382 119 567t363 185q238 0 361.5 -193t123.5 -559q0 -379 -119.5 -566t-365.5 -187q-236 0 -359 191.5t-123 561.5zM270 733q0 -319 75 -464.5t239 -145.5q166 0 240.5 147.5t74.5 462.5t-74.5 461.5t-240.5 146.5q-164 0 -239 -144.5t-75 -463.5z" /> -<glyph unicode="1" d="M188 1163l387 299h140v-1462h-162v1042q0 130 8 246q-21 -21 -47 -44t-238 -195z" /> -<glyph unicode="2" d="M100 0v143l385 387q176 178 232 254t84 148t28 155q0 117 -71 185.5t-197 68.5q-91 0 -172.5 -30t-181.5 -109l-88 113q202 168 440 168q206 0 323 -105.5t117 -283.5q0 -139 -78 -275t-292 -344l-320 -313v-8h752v-154h-961z" /> -<glyph unicode="3" d="M94 59v158q95 -47 202.5 -71.5t203.5 -24.5q379 0 379 297q0 266 -418 266h-144v143h146q171 0 271 75.5t100 209.5q0 107 -73.5 168t-199.5 61q-96 0 -181 -26t-194 -96l-84 112q90 71 207.5 111.5t247.5 40.5q213 0 331 -97.5t118 -267.5q0 -140 -78.5 -229 t-222.5 -119v-8q176 -22 261 -112t85 -236q0 -209 -145 -321.5t-412 -112.5q-116 0 -212.5 17.5t-187.5 61.5z" /> -<glyph unicode="4" d="M43 336v145l694 989h176v-983h217v-151h-217v-336h-159v336h-711zM209 487h545v486q0 143 10 323h-8q-48 -96 -90 -159z" /> -<glyph unicode="5" d="M133 59v160q70 -45 174 -70.5t205 -25.5q176 0 273.5 83t97.5 240q0 306 -375 306q-95 0 -254 -29l-86 55l55 684h727v-153h-585l-37 -439q115 23 229 23q231 0 363.5 -114.5t132.5 -313.5q0 -227 -144.5 -356t-398.5 -129q-247 0 -377 79z" /> -<glyph unicode="6" d="M117 625q0 431 167.5 644.5t495.5 213.5q113 0 178 -19v-143q-77 25 -176 25q-235 0 -359 -146.5t-136 -460.5h12q110 172 348 172q197 0 310.5 -119t113.5 -323q0 -228 -124.5 -358.5t-336.5 -130.5q-227 0 -360 170.5t-133 474.5zM287 506q0 -103 40 -192t113.5 -141 t167.5 -52q142 0 220.5 89.5t78.5 258.5q0 145 -73 228t-218 83q-90 0 -165 -37t-119.5 -102t-44.5 -135z" /> -<glyph unicode="7" d="M94 1309v153h973v-133l-598 -1329h-184l606 1309h-797z" /> -<glyph unicode="8" d="M104 373q0 251 306 391q-138 78 -198 168.5t-60 202.5q0 159 117.5 253.5t314.5 94.5q200 0 317 -93t117 -257q0 -108 -67 -197t-214 -162q178 -85 253 -178.5t75 -216.5q0 -182 -127 -290.5t-348 -108.5q-234 0 -360 102.5t-126 290.5zM268 369q0 -120 83.5 -187 t234.5 -67q149 0 232 70t83 192q0 97 -78 172.5t-272 146.5q-149 -64 -216 -141.5t-67 -185.5zM315 1128q0 -92 59 -158t218 -132q143 60 202.5 129t59.5 161q0 101 -72.5 160.5t-199.5 59.5q-125 0 -196 -60t-71 -160z" /> -<glyph unicode="9" d="M106 991q0 228 127.5 360t335.5 132q149 0 260.5 -76.5t171.5 -223t60 -345.5q0 -858 -664 -858q-116 0 -184 20v143q80 -26 182 -26q240 0 362.5 148.5t133.5 455.5h-12q-55 -83 -146 -126.5t-205 -43.5q-194 0 -308 116t-114 324zM270 993q0 -144 72 -226.5t219 -82.5 q91 0 167.5 37t120.5 101t44 134q0 105 -41 194t-114.5 140t-168.5 51q-143 0 -221 -92t-78 -256z" /> -<glyph unicode=":" horiz-adv-x="545" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM152 989q0 135 118 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> -<glyph unicode=";" horiz-adv-x="545" d="M63 -264q27 104 59.5 257t45.5 245h182l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125zM147 989q0 135 119 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-58 0 -88.5 35t-30.5 100z" /> -<glyph unicode="&#x3c;" d="M104 664v98l961 479v-149l-782 -371l782 -328v-151z" /> -<glyph unicode="=" d="M119 449v137h930v-137h-930zM119 858v137h930v-137h-930z" /> -<glyph unicode="&#x3e;" d="M104 242v151l783 326l-783 373v149l961 -479v-98z" /> -<glyph unicode="?" horiz-adv-x="879" d="M27 1384q189 99 395 99q191 0 297 -94t106 -265q0 -73 -19.5 -128.5t-57.5 -105t-164 -159.5q-101 -86 -133.5 -143t-32.5 -152v-33h-129v54q0 117 36 192.5t134 159.5q136 115 171.5 173t35.5 140q0 102 -65.5 157.5t-188.5 55.5q-79 0 -154 -18.5t-172 -67.5zM240 106 q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" /> -<glyph unicode="@" horiz-adv-x="1841" d="M121 571q0 260 107 463t305 314.5t454 111.5q215 0 382.5 -90.5t259 -257t91.5 -383.5q0 -142 -44 -260t-124 -183t-184 -65q-86 0 -145 52t-70 133h-8q-40 -87 -114.5 -136t-176.5 -49q-150 0 -234.5 102.5t-84.5 278.5q0 204 118 331.5t310 127.5q68 0 154 -12.5 t155 -34.5l-25 -470v-22q0 -178 133 -178q91 0 148 107.5t57 279.5q0 181 -74 317t-210.5 209.5t-313.5 73.5q-223 0 -388 -92.5t-252 -264t-87 -396.5q0 -305 161 -469t464 -164q210 0 436 86v-133q-192 -84 -436 -84q-363 0 -563.5 199.5t-200.5 557.5zM686 598 q0 -254 195 -254q207 0 225 313l14 261q-72 20 -157 20q-130 0 -203.5 -90t-73.5 -250z" /> -<glyph unicode="A" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211z" /> -<glyph unicode="B" horiz-adv-x="1327" d="M201 0v1462h413q291 0 421 -87t130 -275q0 -130 -72.5 -214.5t-211.5 -109.5v-10q333 -57 333 -350q0 -196 -132.5 -306t-370.5 -110h-510zM371 145h305q177 0 266.5 68.5t89.5 214.5q0 136 -91.5 200t-278.5 64h-291v-547zM371 836h280q180 0 259 56.5t79 190.5 q0 123 -88 177.5t-280 54.5h-250v-479z" /> -<glyph unicode="C" horiz-adv-x="1292" d="M125 733q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557z" /> -<glyph unicode="D" horiz-adv-x="1493" d="M201 0v1462h448q341 0 530 -189t189 -528q0 -362 -196.5 -553.5t-565.5 -191.5h-405zM371 147h207q304 0 457 149.5t153 442.5q0 286 -143.5 431t-426.5 145h-247v-1168z" /> -<glyph unicode="E" horiz-adv-x="1139" d="M201 0v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152h-815z" /> -<glyph unicode="F" horiz-adv-x="1057" d="M201 0v1462h815v-151h-645v-535h606v-151h-606v-625h-170z" /> -<glyph unicode="G" horiz-adv-x="1491" d="M125 731q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5z" /> -<glyph unicode="H" horiz-adv-x="1511" d="M201 0v1462h170v-622h770v622h170v-1462h-170v688h-770v-688h-170z" /> -<glyph unicode="I" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170z" /> -<glyph unicode="J" horiz-adv-x="547" d="M-160 -213q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5q-94 0 -148 27v145z" /> -<glyph unicode="K" horiz-adv-x="1257" d="M201 0v1462h170v-725l663 725h201l-588 -635l610 -827h-200l-533 709l-153 -136v-573h-170z" /> -<glyph unicode="L" horiz-adv-x="1063" d="M201 0v1462h170v-1308h645v-154h-815z" /> -<glyph unicode="M" horiz-adv-x="1849" d="M201 0v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137l-496 1296h-8q14 -154 14 -366v-930h-157z" /> -<glyph unicode="N" horiz-adv-x="1544" d="M201 0v1462h192l797 -1222h8q-2 28 -9 174q-5 114 -5 177v32v839h159v-1462h-194l-799 1227h-8q16 -216 16 -396v-831h-157z" /> -<glyph unicode="O" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5z" /> -<glyph unicode="P" horiz-adv-x="1233" d="M201 0v1462h379q548 0 548 -426q0 -222 -151.5 -341.5t-433.5 -119.5h-172v-575h-170zM371 721h153q226 0 327 73t101 234q0 145 -95 216t-296 71h-190v-594z" /> -<glyph unicode="Q" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -281 -113 -467t-319 -252l348 -362h-247l-285 330l-55 -2q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5 q-243 0 -369.5 -153.5t-126.5 -446.5z" /> -<glyph unicode="R" horiz-adv-x="1266" d="M201 0v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305v-608h-170zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559z" /> -<glyph unicode="S" horiz-adv-x="1124" d="M106 47v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5 q230 -82 316.5 -176t86.5 -244q0 -193 -140 -301t-380 -108q-260 0 -400 67z" /> -<glyph unicode="T" horiz-adv-x="1133" d="M18 1311v151h1096v-151h-463v-1311h-170v1311h-463z" /> -<glyph unicode="U" horiz-adv-x="1491" d="M186 520v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396z" /> -<glyph unicode="V" horiz-adv-x="1219" d="M0 1462h180l336 -946q58 -163 92 -317q36 162 94 323l334 940h183l-527 -1462h-168z" /> -<glyph unicode="W" horiz-adv-x="1896" d="M27 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180l-391 -1462h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168z" /> -<glyph unicode="X" horiz-adv-x="1182" d="M8 0l486 764l-453 698h188l363 -579l366 579h181l-453 -692l488 -770h-193l-393 643l-400 -643h-180z" /> -<glyph unicode="Y" horiz-adv-x="1147" d="M0 1462h186l387 -731l390 731h184l-488 -895v-567h-172v559z" /> -<glyph unicode="Z" horiz-adv-x="1169" d="M82 0v133l776 1176h-752v153h959v-133l-776 -1175h798v-154h-1005z" /> -<glyph unicode="[" horiz-adv-x="674" d="M166 -324v1786h457v-141h-289v-1503h289v-142h-457z" /> -<glyph unicode="\" horiz-adv-x="752" d="M23 1462h163l547 -1462h-166z" /> -<glyph unicode="]" horiz-adv-x="674" d="M51 -182h289v1503h-289v141h457v-1786h-457v142z" /> -<glyph unicode="^" horiz-adv-x="1110" d="M49 551l434 922h99l477 -922h-152l-372 745l-334 -745h-152z" /> -<glyph unicode="_" horiz-adv-x="918" d="M-4 -184h926v-131h-926v131z" /> -<glyph unicode="`" horiz-adv-x="1182" d="M393 1548v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="a" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5z" /> -<glyph unicode="b" horiz-adv-x="1255" d="M176 0v1556h166v-378q0 -127 -8 -228h8q116 164 344 164q216 0 335.5 -147.5t119.5 -417.5t-120.5 -419.5t-334.5 -149.5q-107 0 -195.5 39.5t-148.5 121.5h-12l-35 -141h-119zM342 549q0 -231 77 -330.5t247 -99.5q153 0 228 111.5t75 320.5q0 214 -75 319t-232 105 q-170 0 -245 -97.5t-75 -328.5z" /> -<glyph unicode="c" horiz-adv-x="975" d="M115 541q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57q-238 0 -368.5 146.5t-130.5 414.5z" /> -<glyph unicode="d" horiz-adv-x="1255" d="M115 545q0 271 120 421t334 150q223 0 342 -162h13l-7 79l-4 77v446h166v-1556h-135l-22 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418zM287 543q0 -210 77 -317t226 -107q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5 q-146 0 -223.5 -113.5t-77.5 -320.5z" /> -<glyph unicode="e" horiz-adv-x="1149" d="M115 539q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5q-243 0 -383.5 148t-140.5 411zM291 653h573q0 157 -70 240.5t-200 83.5q-132 0 -210.5 -86t-92.5 -238z " /> -<glyph unicode="f" horiz-adv-x="694" d="M29 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129h-279v-967h-166v967h-196z" /> -<glyph unicode="g" horiz-adv-x="1122" d="M39 -186q0 100 64 173t180 99q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141 q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187z" /> -<glyph unicode="h" horiz-adv-x="1257" d="M176 0v1556h166v-471q0 -85 -8 -141h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -303.5v-715h-166v709q0 134 -61 200t-191 66q-173 0 -252.5 -94t-79.5 -308v-573h-166z" /> -<glyph unicode="i" horiz-adv-x="518" d="M162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5zM176 0v1096h166v-1096h-166z" /> -<glyph unicode="j" horiz-adv-x="518" d="M-111 -332q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324q-95 0 -154 25v135zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> -<glyph unicode="k" horiz-adv-x="1075" d="M176 0v1556h164v-825q0 -55 -8 -170h8q43 61 131 160l354 375h197l-444 -467l475 -629h-201l-387 518l-125 -108v-410h-164z" /> -<glyph unicode="l" horiz-adv-x="518" d="M176 0v1556h166v-1556h-166z" /> -<glyph unicode="m" horiz-adv-x="1905" d="M176 0v1096h135l27 -150h8q47 80 132.5 125t191.5 45q257 0 336 -186h8q49 86 142 136t212 50q186 0 278.5 -95.5t92.5 -305.5v-715h-166v713q0 131 -56 196.5t-174 65.5q-155 0 -229 -89t-74 -274v-612h-166v713q0 131 -56 196.5t-175 65.5q-156 0 -228.5 -93.5 t-72.5 -306.5v-575h-166z" /> -<glyph unicode="n" horiz-adv-x="1257" d="M176 0v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166z" /> -<glyph unicode="o" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z" /> -<glyph unicode="p" horiz-adv-x="1255" d="M176 -492v1588h135l23 -150h8q64 90 149 130t195 40q218 0 336.5 -149t118.5 -418q0 -270 -120.5 -419.5t-334.5 -149.5q-107 0 -195.5 39.5t-148.5 121.5h-12q12 -96 12 -182v-451h-166zM342 549q0 -231 77 -330.5t247 -99.5q142 0 222.5 115t80.5 317 q0 205 -80.5 314.5t-226.5 109.5q-168 0 -243 -93t-77 -296v-37z" /> -<glyph unicode="q" horiz-adv-x="1255" d="M115 545q0 269 120 420t334 151q225 0 346 -170h9l24 150h131v-1588h-166v469q0 100 11 170h-13q-115 -167 -346 -167q-212 0 -331 149t-119 416zM287 543q0 -207 76.5 -315.5t226.5 -108.5q166 0 242 89t81 300v37q0 230 -78 331t-247 101q-146 0 -223.5 -113.5 t-77.5 -320.5z" /> -<glyph unicode="r" horiz-adv-x="836" d="M176 0v1096h137l19 -203h8q61 107 147 165t189 58q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166z" /> -<glyph unicode="s" horiz-adv-x="977" d="M106 827q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5 t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129z" /> -<glyph unicode="t" horiz-adv-x="723" d="M31 967v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157z" /> -<glyph unicode="u" horiz-adv-x="1257" d="M164 379v717h168v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304z" /> -<glyph unicode="v" horiz-adv-x="1026" d="M0 1096h178l236 -650q80 -228 94 -296h8q11 53 69.5 219.5t262.5 726.5h178l-416 -1096h-194z" /> -<glyph unicode="w" horiz-adv-x="1593" d="M23 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192z" /> -<glyph unicode="x" horiz-adv-x="1073" d="M39 0l401 561l-381 535h189l289 -420l288 420h187l-381 -535l401 -561h-188l-307 444l-310 -444h-188z" /> -<glyph unicode="y" horiz-adv-x="1032" d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156z" /> -<glyph unicode="z" horiz-adv-x="958" d="M82 0v113l598 854h-561v129h743v-129l-590 -838h605v-129h-795z" /> -<glyph unicode="{" horiz-adv-x="776" d="M61 498v141q130 2 188 48t58 142v306q0 155 108 241t290 86v-139q-230 -6 -230 -199v-295q0 -215 -223 -254v-12q223 -39 223 -254v-297q0 -102 58.5 -148t171.5 -48v-140q-190 2 -294 87t-104 239v303q0 104 -63 148.5t-183 44.5z" /> -<glyph unicode="|" horiz-adv-x="1128" d="M494 -496v2052h141v-2052h-141z" /> -<glyph unicode="}" horiz-adv-x="776" d="M72 -184q111 2 169 48t58 148v297q0 114 55 174t168 80v12q-223 39 -223 254v295q0 193 -227 199v139q184 0 289.5 -87t105.5 -240v-306q0 -97 59 -142.5t189 -47.5v-141q-122 0 -185 -44.5t-63 -148.5v-303q0 -153 -102.5 -238.5t-292.5 -87.5v140z" /> -<glyph unicode="~" d="M104 592v151q100 109 244 109q68 0 124.5 -14t145.5 -52q66 -28 115 -41.5t96 -13.5q54 0 118 32t118 89v-150q-102 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12q-53 0 -116.5 -33.5t-117.5 -87.5z" /> -<glyph unicode="&#xa1;" horiz-adv-x="547" d="M152 983q0 63 31.5 99t88.5 36q51 0 86 -32t35 -103q0 -135 -121 -135q-60 0 -90 35.5t-30 99.5zM168 -373l51 1057h105l51 -1057h-207z" /> -<glyph unicode="&#xa2;" d="M190 741q0 508 396 570v172h135v-164q75 -3 146 -19.5t120 -39.5l-49 -140q-133 51 -242 51q-172 0 -253 -105.5t-81 -322.5q0 -212 79.5 -313.5t246.5 -101.5q141 0 283 59v-147q-105 -54 -252 -60v-200h-133v206q-203 32 -299.5 168.5t-96.5 386.5z" /> -<glyph unicode="&#xa3;" d="M63 0v141q205 47 205 291v223h-198v127h198v316q0 178 112 280.5t302 102.5t360 -84l-61 -133q-154 77 -297 77q-123 0 -185.5 -62t-62.5 -202v-295h422v-127h-422v-221q0 -100 -32.5 -168t-106.5 -112h795v-154h-1029z" /> -<glyph unicode="&#xa4;" d="M123 1092l94 92l135 -133q104 73 234 73q127 0 229 -73l137 133l95 -92l-134 -138q74 -113 74 -231q0 -131 -74 -234l131 -135l-92 -92l-137 133q-102 -71 -229 -71q-134 0 -234 73l-135 -133l-92 92l133 136q-74 107 -74 231q0 122 74 229zM313 723q0 -112 78.5 -192 t194.5 -80t195 79.5t79 192.5q0 114 -80 195t-194 81q-116 0 -194.5 -82t-78.5 -194z" /> -<glyph unicode="&#xa5;" d="M31 1462h178l375 -727l379 727h174l-416 -770h262v-127h-317v-170h317v-127h-317v-268h-164v268h-316v127h316v170h-316v127h256z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M494 281h141v-777h-141v777zM494 780v776h141v-776h-141z" /> -<glyph unicode="&#xa7;" horiz-adv-x="1057" d="M123 57v148q78 -37 175 -59.5t179 -22.5q134 0 204.5 38t70.5 109q0 46 -24 75t-78 58t-169 72q-142 52 -209 97t-100 102t-33 135q0 86 43 154.5t121 105.5q-74 40 -116 95.5t-42 140.5q0 121 103.5 190.5t300.5 69.5q94 0 173.5 -14.5t176.5 -53.5l-53 -131 q-98 39 -165.5 52.5t-143.5 13.5q-116 0 -174 -29.5t-58 -93.5q0 -60 61.5 -102t215.5 -97q186 -68 261 -143.5t75 -182.5q0 -90 -41 -160.5t-115 -111.5q153 -81 153 -227q0 -140 -117 -216.5t-329 -76.5q-218 0 -346 65zM285 829q0 -77 66 -129.5t233 -113.5l49 -19 q137 80 137 191q0 83 -73.5 139t-258.5 113q-68 -19 -110.5 -69t-42.5 -112z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1182" d="M309 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM690 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323 t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM481 731q0 209 110.5 332t301.5 123q128 0 246 -60l-58 -118q-108 51 -188 51q-125 0 -192.5 -87t-67.5 -241q0 -168 63.5 -249t194.5 -81q86 0 211 45v-124q-48 -20 -98.5 -34t-120.5 -14 q-194 0 -298 120.5t-104 336.5z" /> -<glyph unicode="&#xaa;" horiz-adv-x="725" d="M70 989q0 102 77 154.5t242 58.5l117 4v39q0 133 -148 133q-100 0 -204 -51l-43 96q114 56 247 56q130 0 198.5 -52.5t68.5 -173.5v-452h-93l-24 84q-92 -97 -232 -97q-95 0 -150.5 49.5t-55.5 151.5zM193 989q0 -100 112 -100q201 0 201 180v49l-98 -4 q-112 -4 -163.5 -32.5t-51.5 -92.5z" /> -<glyph unicode="&#xab;" horiz-adv-x="1018" d="M82 524v27l342 407l119 -69l-289 -350l289 -351l-119 -71zM477 524v27l344 407l117 -69l-287 -350l287 -351l-117 -71z" /> -<glyph unicode="&#xac;" d="M104 653v138h961v-527h-137v389h-824z" /> -<glyph unicode="&#xad;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323 t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM575 285v891h261q166 0 243.5 -65t77.5 -198q0 -80 -42.5 -141.5t-119.5 -91.5l238 -395h-168l-207 354h-135v-354h-148zM723 762h108q80 0 128.5 41.5t48.5 105.5q0 75 -43 107.5t-136 32.5h-106 v-287z" /> -<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M-6 1556v127h1036v-127h-1036z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M127 1171q0 130 90.5 221t220.5 91t221 -90.5t91 -221.5q0 -84 -41 -155.5t-114 -113.5t-157 -42q-130 0 -220.5 90t-90.5 221zM242 1171q0 -82 58.5 -139t139.5 -57q80 0 137.5 56.5t57.5 139.5q0 84 -56.5 140.5t-138.5 56.5q-83 0 -140.5 -57t-57.5 -140z" /> -<glyph unicode="&#xb1;" d="M104 653v138h410v428h139v-428h412v-138h-412v-426h-139v426h-410zM104 1v138h961v-138h-961z" /> -<glyph unicode="&#xb2;" horiz-adv-x="711" d="M49 586v104l236 230q89 86 130 134.5t57.5 86.5t16.5 92q0 68 -40 102.5t-103 34.5q-52 0 -101 -19t-118 -69l-66 88q131 111 283 111q132 0 205.5 -65t73.5 -177q0 -80 -44.5 -155.5t-191.5 -213.5l-174 -165h440v-119h-604z" /> -<glyph unicode="&#xb3;" horiz-adv-x="711" d="M33 625v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90q63 45 133 72t164 27q136 0 214.5 -59.5t78.5 -166.5q0 -80 -41 -131.5t-109 -74.5q176 -47 176 -209 q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1182" d="M393 1241v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1268" d="M176 -492v1588h166v-715q0 -262 254 -262q171 0 250.5 94.5t79.5 306.5v576h166v-1096h-136l-26 147h-10q-111 -167 -340 -167q-150 0 -238 92h-10q10 -84 10 -244v-320h-166z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M113 1042q0 260 109 387t341 127h557v-1816h-114v1712h-213v-1712h-115v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376z" /> -<glyph unicode="&#xb7;" horiz-adv-x="545" d="M152 723q0 66 31 100.5t87 34.5q58 0 90.5 -34.5t32.5 -100.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> -<glyph unicode="&#xb8;" horiz-adv-x="465" d="M37 -377q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106z" /> -<glyph unicode="&#xb9;" horiz-adv-x="711" d="M76 1280l262 182h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5z" /> -<glyph unicode="&#xba;" horiz-adv-x="768" d="M66 1135q0 163 84 253.5t235 90.5q152 0 234.5 -91t82.5 -253q0 -164 -85.5 -255.5t-235.5 -91.5q-146 0 -230.5 93t-84.5 254zM188 1135q0 -122 45.5 -183t149.5 -61q105 0 151 61t46 183q0 123 -46 182t-151 59q-103 0 -149 -59t-46 -182z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1018" d="M80 188l287 351l-287 350l117 69l344 -407v-27l-344 -407zM475 188l287 351l-287 350l117 69l344 -407v-27l-344 -407z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1597" d="M252 0l903 1462h143l-903 -1462h-143zM75 1280l262 182h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5zM817 203v101l408 579h139v-563h125v-117h-125v-202h-145v202h-402zM957 320h262v195q0 134 6 209q-5 -12 -17 -31.5t-27 -41.5l-30 -46 q-15 -22 -26 -39z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1597" d="M184 0l903 1462h143l-903 -1462h-143zM46 1280l262 182h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5zM895 1v104l236 230q89 86 130 134.5t57.5 86.5t16.5 92q0 68 -40 102.5t-103 34.5q-52 0 -101 -19t-118 -69l-66 88q131 111 283 111 q132 0 205.5 -65t73.5 -177q0 -80 -44.5 -155.5t-191.5 -213.5l-174 -165h440v-119h-604z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1597" d="M26 625v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90q63 45 133 72t164 27q136 0 214.5 -59.5t78.5 -166.5q0 -80 -41 -131.5t-109 -74.5q176 -47 176 -209 q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56zM344 0l903 1462h143l-903 -1462h-143zM897 203v101l408 579h139v-563h125v-117h-125v-202h-145v202h-402zM1037 320h262v195q0 134 6 209q-5 -12 -17 -31.5t-27 -41.5l-30 -46q-15 -22 -26 -39z" /> -<glyph unicode="&#xbf;" horiz-adv-x="879" d="M51 -37q0 70 17.5 122.5t49.5 97t76.5 85.5t98.5 88q101 88 133.5 146t32.5 151v31h131v-51q0 -122 -37.5 -196t-134.5 -158q-121 -106 -151.5 -143.5t-43 -76t-12.5 -94.5q0 -100 66 -156.5t188 -56.5q80 0 155 19t173 67l59 -135q-197 -96 -395 -96q-190 0 -298 93 t-108 263zM397 983q0 64 33 99.5t88 35.5q51 0 86 -32t35 -103q0 -135 -121 -135q-59 0 -90 34.5t-31 100.5z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211zM331 1886v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211zM526 1579v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211zM303 1579v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211zM268 1579q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5 q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211zM364 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM745 1731q0 52 26.5 75 t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1296" d="M0 0l578 1468h143l575 -1468h-176l-182 465h-586l-180 -465h-172zM412 618h473l-170 453q-33 86 -68 211q-22 -96 -63 -211zM424 1585q0 98 60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5zM528 1585 q0 -56 30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5t-33 86.5t-84 30.5t-84 -30.5t-33 -86.5z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1788" d="M-2 0l698 1462h969v-151h-580v-471h541v-150h-541v-538h580v-152h-750v465h-514l-227 -465h-176zM469 618h446v693h-118z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1292" d="M125 733q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557zM551 -377q45 -8 104 -8q79 0 119.5 20 t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1139" d="M201 0v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152h-815zM320 1886v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1139" d="M201 0v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152h-815zM456 1579v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xca;" horiz-adv-x="1139" d="M201 0v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152h-815zM263 1579v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1139" d="M201 0v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152h-815zM327 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM708 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xcc;" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170zM5 1886v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xcd;" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170zM179 1579v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xce;" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170zM-57 1579v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xcf;" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170zM5 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM386 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1479" d="M47 649v150h154v663h434q337 0 527 -187.5t190 -529.5q0 -362 -196.5 -553.5t-565.5 -191.5h-389v649h-154zM371 147h190q610 0 610 592q0 576 -569 576h-231v-516h379v-150h-379v-502z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1544" d="M201 0v1462h192l797 -1222h8q-2 28 -9 174q-5 114 -5 177v32v839h159v-1462h-194l-799 1227h-8q16 -216 16 -396v-831h-157zM411 1579q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5 q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM514 1886v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM659 1579v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM448 1579v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM418 1579q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM522 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM903 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xd7;" d="M133 1075l100 101l353 -355l354 355l96 -99l-352 -354l350 -352l-96 -99l-354 351l-348 -351l-101 99l350 352z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1595" d="M125 735q0 357 176 553.5t500 196.5q209 0 366 -94l97 135l120 -80l-106 -148q192 -202 192 -565q0 -351 -177.5 -552t-493.5 -201q-235 0 -383 100l-101 -141l-120 79l108 154q-178 198 -178 563zM305 733q0 -262 101 -416l669 943q-106 73 -274 73 q-243 0 -369.5 -153.5t-126.5 -446.5zM508 211q115 -82 291 -82q243 0 367 153t124 451q0 272 -110 426z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1491" d="M186 520v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396zM463 1886v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xda;" horiz-adv-x="1491" d="M186 520v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396zM600 1579v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1491" d="M186 520v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396zM393 1579v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186 h-115z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1491" d="M186 520v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396zM461 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5z M842 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1147" d="M0 1462h186l387 -731l390 731h184l-488 -895v-567h-172v559zM442 1579v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xde;" horiz-adv-x="1251" d="M201 0v1462h170v-256h215q281 0 420 -103.5t139 -318.5q0 -227 -151.5 -346t-438.5 -119h-184v-319h-170zM371 465h168q226 0 327 71.5t101 235.5q0 149 -95 218t-297 69h-204v-594z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1274" d="M176 0v1202q0 178 110 271.5t332 93.5q206 0 318.5 -78.5t112.5 -222.5q0 -135 -143 -250q-88 -70 -116 -103.5t-28 -66.5q0 -32 13.5 -53t49 -49.5t113.5 -79.5q140 -95 191 -173.5t51 -179.5q0 -160 -97 -245.5t-276 -85.5q-188 0 -295 69v154q63 -39 141 -62.5 t150 -23.5q215 0 215 182q0 75 -41.5 128.5t-151.5 123.5q-127 82 -175 143.5t-48 145.5q0 63 34.5 116t105.5 106q75 57 107 102t32 98q0 80 -68 122.5t-195 42.5q-276 0 -276 -223v-1204h-166z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5zM279 1548v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5zM436 1241v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5zM228 1241v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5zM197 1241q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5q-43 0 -84 18.5t-80.5 41t-76 41 t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5zM279 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM660 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75 q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1139" d="M94 303q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239zM268 301q0 -90 54.5 -137 t152.5 -47q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5zM358 1456q0 98 60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5zM462 1456q0 -56 30 -86.5t87 -30.5q52 0 84.5 30.5 t32.5 86.5t-33 86.5t-84 30.5t-84 -30.5t-33 -86.5z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1757" d="M94 303q0 161 124 250.5t378 97.5l184 6v68q0 129 -58 190.5t-177 61.5q-144 0 -307 -84l-52 127q74 41 173.5 67.5t197.5 26.5q130 0 212.5 -43.5t123.5 -138.5q53 88 138.5 136t195.5 48q192 0 308 -133.5t116 -355.5v-107h-701q8 -395 322 -395q91 0 169.5 17.5 t162.5 56.5v-148q-86 -38 -160.5 -54.5t-175.5 -16.5q-289 0 -414 233q-81 -127 -179.5 -180t-232.5 -53q-163 0 -255.5 85t-92.5 238zM268 301q0 -95 53.5 -139.5t141.5 -44.5q145 0 229 84.5t84 238.5v99l-158 -7q-186 -8 -268 -62.5t-82 -168.5zM954 653h519 q0 156 -64 240t-184 84q-121 0 -190.5 -83t-80.5 -241z" /> -<glyph unicode="&#xe7;" horiz-adv-x="975" d="M115 541q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57q-238 0 -368.5 146.5t-130.5 414.5zM363 -377q45 -8 104 -8q79 0 119.5 20t40.5 74 q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1149" d="M115 539q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5q-243 0 -383.5 148t-140.5 411zM291 653h573q0 157 -70 240.5t-200 83.5q-132 0 -210.5 -86t-92.5 -238z M318 1548v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1149" d="M115 539q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5q-243 0 -383.5 148t-140.5 411zM291 653h573q0 157 -70 240.5t-200 83.5q-132 0 -210.5 -86t-92.5 -238z M471 1241v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xea;" horiz-adv-x="1149" d="M115 539q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5q-243 0 -383.5 148t-140.5 411zM291 653h573q0 157 -70 240.5t-200 83.5q-132 0 -210.5 -86t-92.5 -238z M259 1241v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1149" d="M115 539q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5q-243 0 -383.5 148t-140.5 411zM291 653h573q0 157 -70 240.5t-200 83.5q-132 0 -210.5 -86t-92.5 -238z M319 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM700 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xec;" horiz-adv-x="518" d="M176 0v1096h166v-1096h-166zM-38 1548v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xed;" horiz-adv-x="518" d="M176 0v1096h166v-1096h-166zM169 1241v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xee;" horiz-adv-x="518" d="M176 0v1096h166v-1096h-166zM-77 1241v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xef;" horiz-adv-x="518" d="M176 0v1096h166v-1096h-166zM-20 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM361 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1221" d="M113 475q0 230 131.5 361t351.5 131q226 0 326 -121l8 4q-57 214 -262 405l-271 -155l-73 108l233 133q-92 62 -186 111l69 117q156 -73 258 -148l238 138l76 -107l-207 -119q152 -143 234.5 -342t82.5 -428q0 -281 -130.5 -432t-377.5 -151q-222 0 -361.5 134.5 t-139.5 360.5zM281 469q0 -167 87.5 -258.5t249.5 -91.5q175 0 255.5 100.5t80.5 292.5q0 147 -90 232t-246 85q-337 0 -337 -360z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1257" d="M176 0v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166zM278 1241q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99 q-13 -121 -69.5 -189.5t-150.5 -68.5q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM349 1548v21 h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM479 1241v25 q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM282 1241v23 q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM249 1241 q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM336 1393 q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM717 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xf7;" d="M104 653v138h961v-138h-961zM471 373q0 60 29.5 90.5t83.5 30.5q52 0 81 -31.5t29 -89.5q0 -57 -29.5 -89t-80.5 -32q-52 0 -82.5 31.5t-30.5 89.5zM471 1071q0 60 29.5 90.5t83.5 30.5q52 0 81 -31.5t29 -89.5q0 -57 -29.5 -89t-80.5 -32q-52 0 -82.5 31.5t-30.5 89.5z " /> -<glyph unicode="&#xf8;" horiz-adv-x="1237" d="M115 549q0 268 134 417.5t372 149.5q154 0 270 -76l84 119l117 -76l-97 -133q127 -152 127 -401q0 -268 -135 -418.5t-373 -150.5q-154 0 -266 69l-84 -117l-114 78l94 131q-129 152 -129 408zM287 549q0 -171 53 -273l465 646q-75 53 -189 53q-163 0 -246 -107t-83 -319 zM434 170q71 -51 184 -51q163 0 247.5 109.5t84.5 320.5q0 164 -51 264z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1257" d="M164 379v717h168v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304zM333 1548v21h203q32 -69 89 -159.5t101 -143.5v-25h-110q-65 52 -154 148t-129 159z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1257" d="M164 379v717h168v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304zM506 1241v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1257" d="M164 379v717h168v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304zM286 1241v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119 q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1257" d="M164 379v717h168v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304zM342 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5 q-37 0 -63.5 24.5t-26.5 74.5zM723 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1032" d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM411 1241v25q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111 z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1255" d="M176 -492v2048h166v-466q0 -52 -6 -142h8q66 89 151 128.5t191 39.5q215 0 335 -150t120 -417q0 -268 -120.5 -418.5t-334.5 -150.5q-222 0 -344 161h-12l4 -34q8 -77 8 -140v-459h-166zM342 549q0 -231 77 -330.5t247 -99.5q303 0 303 432q0 215 -74 319.5t-231 104.5 q-168 0 -244 -92t-78 -293v-41z" /> -<glyph unicode="&#xff;" horiz-adv-x="1032" d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM234 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5 t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM615 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#x131;" horiz-adv-x="518" d="M176 0v1096h166v-1096h-166z" /> -<glyph unicode="&#x152;" horiz-adv-x="1890" d="M125 735q0 360 174 555t494 195q102 0 192 -23h782v-151h-589v-471h551v-150h-551v-538h589v-152h-768q-102 -20 -194 -20q-327 0 -503.5 196.5t-176.5 558.5zM305 733q0 -297 128.5 -450.5t375.5 -153.5q112 0 199 33v1141q-87 30 -197 30q-249 0 -377.5 -152.5 t-128.5 -447.5z" /> -<glyph unicode="&#x153;" horiz-adv-x="1929" d="M113 549q0 265 131 415t366 150q131 0 233.5 -59.5t164.5 -173.5q58 112 154 172.5t222 60.5q201 0 320 -132.5t119 -358.5v-105h-729q8 -393 338 -393q94 0 174.5 17.5t167.5 56.5v-148q-88 -39 -164 -55t-180 -16q-293 0 -418 235q-62 -116 -166.5 -175.5t-241.5 -59.5 q-223 0 -357 152.5t-134 416.5zM287 549q0 -211 76 -320.5t243 -109.5q163 0 239.5 106.5t76.5 315.5q0 221 -77.5 327.5t-242.5 106.5q-166 0 -240.5 -108t-74.5 -318zM1098 653h544q0 158 -66 240t-194 82q-127 0 -199.5 -82t-84.5 -240z" /> -<glyph unicode="&#x178;" horiz-adv-x="1147" d="M0 1462h186l387 -731l390 731h184l-488 -895v-567h-172v559zM294 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM675 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5 t-63.5 24.5t-26.5 74.5z" /> -<glyph unicode="&#x2c6;" horiz-adv-x="1212" d="M268 1241v23q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115z" /> -<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M367 1456q0 98 60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5zM471 1456q0 -56 30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5t-33 86.5t-84 30.5t-84 -30.5t-33 -86.5z" /> -<glyph unicode="&#x2dc;" horiz-adv-x="1212" d="M264 1241q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98z" /> -<glyph unicode="&#x2000;" horiz-adv-x="953" /> -<glyph unicode="&#x2001;" horiz-adv-x="1907" /> -<glyph unicode="&#x2002;" horiz-adv-x="953" /> -<glyph unicode="&#x2003;" horiz-adv-x="1907" /> -<glyph unicode="&#x2004;" horiz-adv-x="635" /> -<glyph unicode="&#x2005;" horiz-adv-x="476" /> -<glyph unicode="&#x2006;" horiz-adv-x="317" /> -<glyph unicode="&#x2007;" horiz-adv-x="317" /> -<glyph unicode="&#x2008;" horiz-adv-x="238" /> -<glyph unicode="&#x2009;" horiz-adv-x="381" /> -<glyph unicode="&#x200a;" horiz-adv-x="105" /> -<glyph unicode="&#x2010;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" /> -<glyph unicode="&#x2011;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" /> -<glyph unicode="&#x2012;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 473v152h860v-152h-860z" /> -<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 473v152h1884v-152h-1884z" /> -<glyph unicode="&#x2018;" horiz-adv-x="348" d="M25 983q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" /> -<glyph unicode="&#x2019;" horiz-adv-x="348" d="M25 961q70 285 102 501h182l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122z" /> -<glyph unicode="&#x201a;" horiz-adv-x="502" d="M63 -264q27 104 59.5 257t45.5 245h182l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125z" /> -<glyph unicode="&#x201c;" horiz-adv-x="717" d="M25 983q22 90 71 224t105 255h123q-66 -254 -103 -501h-184zM391 983q56 215 178 479h123q-30 -115 -59.5 -259.5t-42.5 -241.5h-184z" /> -<glyph unicode="&#x201d;" horiz-adv-x="717" d="M25 961q70 285 102 501h182l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122zM391 961q26 100 59 254t46 247h182l14 -22q-24 -91 -72 -224t-104 -255h-125z" /> -<glyph unicode="&#x201e;" horiz-adv-x="829" d="M25 -263q70 285 102 501h182l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122zM391 -263q26 100 59 254t46 247h182l14 -22q-24 -91 -72 -224t-104 -255h-125z" /> -<glyph unicode="&#x2022;" horiz-adv-x="770" d="M164 748q0 121 56.5 184t164.5 63q105 0 163 -62t58 -185q0 -119 -57.5 -183.5t-163.5 -64.5q-107 0 -164 65.5t-57 182.5z" /> -<glyph unicode="&#x2026;" horiz-adv-x="1606" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM682 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM1213 106 q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> -<glyph unicode="&#x202f;" horiz-adv-x="381" /> -<glyph unicode="&#x2039;" horiz-adv-x="623" d="M82 524v27l342 407l119 -69l-289 -350l289 -351l-119 -71z" /> -<glyph unicode="&#x203a;" horiz-adv-x="623" d="M80 188l287 351l-287 350l117 69l344 -407v-27l-344 -407z" /> -<glyph unicode="&#x2044;" horiz-adv-x="266" d="M-391 0l903 1462h143l-903 -1462h-143z" /> -<glyph unicode="&#x205f;" horiz-adv-x="476" /> -<glyph unicode="&#x2074;" horiz-adv-x="711" d="M20 788v101l408 579h139v-563h125v-117h-125v-202h-145v202h-402zM160 905h262v195q0 134 6 209q-5 -12 -17 -31.5t-27 -41.5l-30 -46q-15 -22 -26 -39z" /> -<glyph unicode="&#x20ac;" horiz-adv-x="1208" d="M63 506v129h152l-2 42v44l2 80h-152v129h164q39 261 185 407t383 146q201 0 366 -97l-71 -139q-166 86 -295 86q-319 0 -398 -403h510v-129h-524l-2 -57v-64l2 -45h463v-129h-447q37 -180 138.5 -278.5t271.5 -98.5q156 0 309 66v-150q-146 -65 -317 -65 q-237 0 -381.5 134.5t-190.5 391.5h-166z" /> -<glyph unicode="&#x2122;" horiz-adv-x="1589" d="M37 1356v106h543v-106h-211v-615h-123v615h-209zM647 741v721h187l196 -559l203 559h180v-721h-127v420l6 137h-8l-211 -557h-104l-201 559h-8l6 -129v-430h-119z" /> -<glyph unicode="&#x2212;" d="M104 653v138h961v-138h-961z" /> -<glyph unicode="&#xe000;" horiz-adv-x="1095" d="M0 1095h1095v-1095h-1095v1095z" /> -<glyph unicode="&#xfb01;" horiz-adv-x="1212" d="M29 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129h-279v-967h-166v967h-196zM856 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5zM870 0v1096h166 v-1096h-166z" /> -<glyph unicode="&#xfb02;" horiz-adv-x="1212" d="M29 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129h-279v-967h-166v967h-196zM870 0v1556h166v-1556h-166z" /> -<glyph unicode="&#xfb03;" horiz-adv-x="1909" d="M717 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129h-279v-967h-166v967h-196zM29 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129 h-279v-967h-166v967h-196zM1551 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5zM1565 0v1096h166v-1096h-166z" /> -<glyph unicode="&#xfb04;" horiz-adv-x="1909" d="M717 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129h-279v-967h-166v967h-196zM29 967v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129 h-279v-967h-166v967h-196zM1565 0v1556h166v-1556h-166z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.ttf deleted file mode 100755 index 99a1ece..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.woff deleted file mode 100755 index 826d643..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/fonts/opensans-regular-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/bg-ramp.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/bg-ramp.jpg deleted file mode 100644 index 7738563..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/bg-ramp.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/blockquote-gfx-2x.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/blockquote-gfx-2x.png deleted file mode 100644 index 993efd5..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/blockquote-gfx-2x.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/blockquote-gfx.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/blockquote-gfx.png deleted file mode 100644 index bd5be35..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/blockquote-gfx.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/chevron-2x.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/chevron-2x.png deleted file mode 100644 index 0ae935e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/chevron-2x.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/chevron.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/chevron.png deleted file mode 100644 index 65cfeda..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/chevron.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/download-fallback-bg.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/download-fallback-bg.png deleted file mode 100644 index aedafab..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/download-fallback-bg.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/download-sprite.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/download-sprite.png deleted file mode 100644 index 56eedc4..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/download-sprite.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/footer-ramp.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/footer-ramp.jpg deleted file mode 100644 index 99accec..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/footer-ramp.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/fork-sprite.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/fork-sprite.png deleted file mode 100644 index 0ce61b2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/fork-sprite.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/hr-2x.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/hr-2x.jpg deleted file mode 100644 index a883d5d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/hr-2x.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/hr.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/hr.jpg deleted file mode 100644 index 2dc7cef..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/hr.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/octocat-2x.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/octocat-2x.png deleted file mode 100644 index f995921..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/octocat-2x.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/octocat.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/octocat.png deleted file mode 100644 index 7c55dfc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/octocat.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/ribbon-tail-sprite-2x.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/ribbon-tail-sprite-2x.png deleted file mode 100644 index 46357a0..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/ribbon-tail-sprite-2x.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/ribbon-tail-sprite.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/ribbon-tail-sprite.png deleted file mode 100644 index bd627d9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/ribbon-tail-sprite.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/shield-fallback.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/shield-fallback.png deleted file mode 100644 index be799b2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/shield-fallback.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/shield.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/shield.png deleted file mode 100644 index 224425e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/shield.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/site-2.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/site-2.png deleted file mode 100644 index 7c55dfc..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/site-2.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/small-ribbon-tail-sprite-2x.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/small-ribbon-tail-sprite-2x.png deleted file mode 100644 index 482649d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/small-ribbon-tail-sprite-2x.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/small-ribbon-tail-sprite.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/small-ribbon-tail-sprite.png deleted file mode 100644 index f717af6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/images/small-ribbon-tail-sprite.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/js/headsmart.min.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/js/headsmart.min.js deleted file mode 100644 index 16da97a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/js/headsmart.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){a.fn.headsmart=function(){var c=a(this);d();function d(){var e=[],g="";if(b("h1")){e.push("h1")}if(b("h2")){e.push("h2")}if(b("h3")){e.push("h3")}if(b("h4")){e.push("h4")}if(b("h5")){e.push("h5")}if(b("h6")){e.push("h6")}for(var f=0;f<e.length;f++){c.children(e[f]).addClass("header-level-"+(f+1))}}function b(f){return(c.children(f).length>0)?true:false}}})(jQuery); \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/js/modernizr.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/js/modernizr.js deleted file mode 100644 index 434b0af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-merlot-0.2.0/assets/js/modernizr.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.5.2 (Custom Build) | MIT & BSD - * Build: http://www.modernizr.com/download/#-fontface-borderradius-boxshadow-textshadow-cssgradients-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.5.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["&#173;","<style>",a,"</style>"].join(""),k.id=h,m.innerHTML+=f,m.appendChild(k),l||g.appendChild(m),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e});var G=function(a,c){var d=a.join(""),f=c.length;w(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d?d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"":"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.fontface=/src/i.test(g)&&g.indexOf(c.split(" ")[0])===0},f,c)}(['@font-face {font-family:"font";src:url("https://")}'],["fontface"]);q.borderradius=function(){return F("borderRadius")},q.boxshadow=function(){return F("boxShadow")},q.textshadow=function(){return b.createElement("div").style.textShadow===""},q.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return z((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),C(j.backgroundImage,"gradient")},q.fontface=function(){return e.fontface};for(var H in q)y(q,H)&&(v=H.toLowerCase(),e[v]=q[H](),t.push((e[v]?"":"no-")+v));return z(""),i=k=null,function(a,b){function g(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){function m(){var a=j.cloneNode(!1);return k.shivMethods?(i(a),a):a}function n(a){var b=(c[a]||(c[a]=e(a))).cloneNode(!1);return k.shivMethods&&!d.test(a)?j.appendChild(b):b}var b,c={},e=a.createElement,f=a.createDocumentFragment,g=h(),j=f(),l=g.length;while(l--)b=g[l],c[b]=e(b),j.createElement(b);a.createElement=n,a.createDocumentFragment=m}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),k.shivMethods&&!f&&(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|iframe|input|script|textarea)$/i,e,f;(function(){var c,d=b.createElement("a"),g=a.getComputedStyle,h=b.documentElement,i=b.body||(c=h.insertBefore(b.createElement("body"),h.firstChild));i.insertBefore(d,i.firstChild),d.hidden=!0,d.innerHTML="<xyz></xyz>",e=(d.currentStyle||g(d,null)).display=="none",f=d.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}(),i.removeChild(d),c&&h.removeChild(c)})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=!!b.attachEvent,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))}; \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/README.md deleted file mode 100644 index 60a9069..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Midnight theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/midnight/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/midnight/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-midnight.svg)](https://badge.fury.io/rb/jekyll-theme-midnight) - -*Midnight is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/midnight), or even [use it today](#usage).* - -![Thumbnail of Midnight](thumbnail.png) - -## Usage - -To use the Midnight theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/midnight@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Midnight will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/midnight/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/midnight/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/midnight/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/midnight/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/midnight/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Midnight theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Midnight? We'd love your help. Midnight is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/midnight`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom-theme-colors.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom-theme-colors.html deleted file mode 100644 index 856cb35..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom-theme-colors.html +++ /dev/null @@ -1,5 +0,0 @@ -<!-- start theme color meta headers --> -<meta name="theme-color" content="#353535"> -<meta name="msapplication-navbutton-color" content="#353535"> -<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> -<!-- end theme color meta headers --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom.html deleted file mode 100644 index 44cdb83..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,12 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup theme-color --> -{% include head-custom-theme-colors.html %} - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_layouts/default.html deleted file mode 100644 index 77f23fc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_layouts/default.html +++ /dev/null @@ -1,51 +0,0 @@ -<!doctype html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - -{% seo %} - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> - <script src="{{ '/assets/js/respond.js' | relative_url }}"></script> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <!--[if lt IE 8]> - <link rel="stylesheet" href="{{ '/assets/css/ie.css' | relative_url }}"> - <![endif]--> - <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> - {% include head-custom.html %} - </head> - <body> - <div id="header"> - <nav> - <ul> - <li class="fork"><a href="{{ site.github.repository_url }}">View On GitHub</a></li> - {% if site.show_downloads %} - <li class="downloads"><a href="{{ site.github.zip_url }}">ZIP</a></li> - <li class="downloads"><a href="{{ site.github.tar_url }}">TAR</a></li> - <li class="title">DOWNLOADS</li> - {% endif %} - </ul> - </nav> - </div><!-- end header --> - - <div class="wrapper"> - - <section> - <div id="title"> - <h1>{{ site.title | default: site.github.repository_name }}</h1> - <p>{{ site.description | default: site.github.project_tagline }}</p> - <hr> - <span class="credits left">Project maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></span> - <span class="credits right">Hosted on GitHub Pages &mdash; Theme by <a href="https://twitter.com/mattgraham">mattgraham</a></span> - </div> - - {{ content }} - - </section> - - </div> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/fonts.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/fonts.scss deleted file mode 100644 index e5f8006..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/fonts.scss +++ /dev/null @@ -1,95 +0,0 @@ -@font-face { - font-family: 'OpenSansLight'; - src: url('../fonts/OpenSans-Light-webfont.eot'); - src: url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Light-webfont.woff') format('woff'), - url('../fonts/OpenSans-Light-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg'); - font-weight: normal; - font-style: normal; - -} - -@font-face { - font-family: 'OpenSansLightItalic'; - src: url('../fonts/OpenSans-LightItalic-webfont.eot'); - src: url('../fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-LightItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg'); - font-weight: normal; - font-style: normal; - -} - -@font-face { - font-family: 'OpenSansRegular'; - src: url('../fonts/OpenSans-Regular-webfont.eot'); - src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), - url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing:antialiased; -} - -@font-face { - font-family: 'OpenSansItalic'; - src: url('../fonts/OpenSans-Italic-webfont.eot'); - src: url('../fonts/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Italic-webfont.woff') format('woff'), - url('../fonts/OpenSans-Italic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing:antialiased; -} - -@font-face { - font-family: 'OpenSansSemibold'; - src: url('../fonts/OpenSans-Semibold-webfont.eot'); - src: url('../fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Semibold-webfont.woff') format('woff'), - url('../fonts/OpenSans-Semibold-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing:antialiased; -} - -@font-face { - font-family: 'OpenSansSemiboldItalic'; - src: url('../fonts/OpenSans-SemiboldItalic-webfont.eot'); - src: url('../fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing:antialiased; -} - -@font-face { - font-family: 'OpenSansBold'; - src: url('../fonts/OpenSans-Bold-webfont.eot'); - src: url('../fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Bold-webfont.woff') format('woff'), - url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg'); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing:antialiased; -} - -@font-face { - font-family: 'OpenSansBoldItalic'; - src: url('../fonts/OpenSans-BoldItalic-webfont.eot'); - src: url('../fonts/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-BoldItalic-webfont.woff') format('woff'), - url('../fonts/OpenSans-BoldItalic-webfont.ttf') format('truetype'), - url('../fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg'); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing:antialiased; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/jekyll-theme-midnight.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/jekyll-theme-midnight.scss deleted file mode 100644 index 9bb3264..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/jekyll-theme-midnight.scss +++ /dev/null @@ -1,314 +0,0 @@ -@import "normalize"; -@import "fonts"; -@import "rouge-base16-dark.scss"; - -body { - padding:0px 0 20px 0px; - margin: 0px; - font:14px/1.5 "OpenSansRegular", "Helvetica Neue", Helvetica, Arial, sans-serif; - color:#f0e7d5; - font-weight: normal; - background: #252525; - background-attachment: fixed !important; - background: linear-gradient(#2a2a29, #1c1c1c); -} - -h1, h2, h3, h4, h5, h6 { - color:#e8e8e8; - margin:0 0 10px; - font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; -} - -p, ul, ol, table, pre, dl { - margin:0 0 20px; -} - -h1, h2, h3 { - line-height:1.1; - -} - -h1 { - font-size:28px; -} - -h2 { - font-size: 24px; -} - -h4, h5, h6 { - color:#e8e8e8; -} - -h3 { - font-size: 18px; - line-height: 24px; - font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal; - color: #b6b6b6; -} - -a { - color:#ffcc00; - font-weight:400; - text-decoration:none; - - &:hover { - color: #ffeb9b; - } -} - -a small { - font-size:11px; - color:#666; - margin-top:-0.6em; - display:block; -} - -ul{ - list-style-image:url('../images/bullet.png'); -} - -strong { - font-family: 'OpenSansBold', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal; -} - -.wrapper { - max-width:650px; - margin:0 auto; - position:relative; - padding: 0 20px; -} - -section img { - max-width: 100%; -} - -blockquote { - border-left:3px solid #ffcc00; - margin:0; - padding:0 0 0 20px; - font-style:italic; -} - -code { - font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace; - color:#efefef; - font-size:13px; - margin: 0 4px; - padding: 4px 6px; - border-radius: 2px; -} - -pre { - padding:8px 15px; - background: #191919; - border-radius: 2px; - border:1px solid #121212; - box-shadow: inset 0 1px 3px rgba(0,0,0,.3); - overflow: auto; - overflow-y: hidden; - - code { - color: #efefef; - text-shadow: 0px 1px 0px #000; - margin: 0; - padding: 0; - } -} - -table { - width:100%; - border-collapse:collapse; -} - -th { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #434343; - color: #b6b6b6; - font-family: 'OpenSansSemibold', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal; -} - -td { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #434343; -} - -hr { - border: 0; - outline: none; - height: 3px; - background: transparent url('../images/hr.gif') center center repeat-x; - margin: 0 0 20px; -} - -dt { - color:#F0E7D5; - font-family: 'OpenSansSemibold', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal; -} - - -#header { - z-index: 100; - left:0; - top: 0px; - height: 60px; - width: 100%; - position: fixed; - background: url(../images/nav-bg.gif) #353535; - border-bottom: 4px solid #434343; - box-shadow: 0px 1px 3px rgba(0,0,0,.25); - - nav { - max-width: 650px; - margin: 0 auto; - padding: 0 10px; - background: blue; - margin: 6px auto; - - ul { - list-style-type: none; - margin: 0; - padding: 0; - - li { - font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - list-style: none; - display: inline; - color: white; - line-height: 50px; - text-shadow: 0px 1px 0px rgba(0,0,0,.2); - font-size: 14px; - - a { - color: white; - border: 1px solid #5d910b; - background: linear-gradient(#93bd20, #659e10); - border-radius: 2px; - box-shadow: inset 0px 1px 0px rgba(255,255,255,.3), 0px 3px 7px rgba(0,0,0,.7); - - background-color: #93bd20; - padding: 10px 12px; - margin-top: 6px; - line-height:14px; - font-size:14px; - display:inline-block; - text-align:center; - - &:hover { - background: linear-gradient(#749619, #527f0e); - background-color: #659e10; - border: 1px solid #527f0e; - box-shadow: inset 0px 1px 1px rgba(0,0,0,.2), 0px 1px 0px rgba(0,0,0,.0); - } - } - - &.fork { - float: left; - margin-left: 0px; - } - - &.downloads { - float: right; - margin-left: 6px; - } - - &.title { - float: right; - margin-right: 10px; - font-size: 11px; - } - } - } - } -} - -section { - max-width:650px; - padding: 30px 0px 50px 0px; - margin: 20px 0; - margin-top: 70px; - - #title { - border: 0; - outline: none; - margin: 0 0 50px 0; - padding: 0 0 5px 0; - - h1 { - font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - font-size: 40px; - text-align: center; - line-height: 36px; - } - - p { - color: #d7cfbe; - font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - font-size: 18px; - text-align: center; - } - - .credits { - font-size: 11px; - font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - color: #696969; - margin-top: -10px; - - &.left { - float: left; - } - - &.right { - float: right; - } - } - - } -} - -@media print, screen and (max-width: 720px) { - - #title { - .credits { - display: block; - width: 100%; - line-height: 30px; - text-align: center; - - .left { - float: none; - display: block; - } - - .right { - float: none; - display: block; - } - } - } -} - -@media print, screen and (max-width: 480px) { - - #header { - margin-top: -20px; - } - - section { - margin-top: 40px; - } - nav { - display: none; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/midnight.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/midnight.scss deleted file mode 100644 index 8f54c05..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/midnight.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-midnight"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/normalize.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/normalize.scss deleted file mode 100644 index 2fa717f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/normalize.scss +++ /dev/null @@ -1,492 +0,0 @@ -/*! normalize.css 2012-02-07T12:37 UTC - https://github.com/necolas/normalize.css */ - -/* ============================================================================= - HTML5 display definitions - ========================================================================== */ - -/* - * Corrects block display not defined in IE6/7/8/9 & FF3 - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block; -} - -/* - * Corrects inline-block display not defined in IE6/7/8/9 & FF3 - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/* - * Prevents modern browsers from displaying 'audio' without controls - */ - -audio:not([controls]) { - display: none; -} - -/* - * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4 - * Known issue: no IE6 support - */ - -[hidden] { - display: none; -} - - -/* ============================================================================= - Base - ========================================================================== */ - -/* - * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units - * http://clagnut.com/blog/348/#c790 - * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom - * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ - */ - -html { - font-size: 100%; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -ms-text-size-adjust: 100%; /* 2 */ -} - -/* - * Addresses font-family inconsistency between 'textarea' and other form elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/* - * Addresses margins handled incorrectly in IE6/7 - */ - -body { - margin: 0; -} - - -/* ============================================================================= - Links - ========================================================================== */ - -/* - * Addresses outline displayed oddly in Chrome - */ - -a:focus { - outline: thin dotted; -} - -/* - * Improves readability when focused and also mouse hovered in all browsers - * people.opera.com/patrickl/experiments/keyboard/test - */ - -a:hover, -a:active { - outline: 0; -} - - -/* ============================================================================= - Typography - ========================================================================== */ - -/* - * Addresses font sizes and margins set differently in IE6/7 - * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5 - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.75em; - margin: 2.33em 0; -} - -/* - * Addresses styling not present in IE7/8/9, S5, Chrome - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/* - * Addresses style set to 'bolder' in FF3+, S4/5, Chrome -*/ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/* - * Addresses styling not present in S5, Chrome - */ - -dfn { - font-style: italic; -} - -/* - * Addresses styling not present in IE6/7/8/9 - */ - -mark { - background: #ff0; - color: #000; -} - -/* - * Addresses margins set differently in IE6/7 - */ - -p, -pre { - margin: 1em 0; -} - -/* - * Corrects font family set oddly in IE6, S4/5, Chrome - * en.wikipedia.org/wiki/User:Davidgothberg/Test59 - */ - -pre, -code, -kbd, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/* - * 1. Addresses CSS quotes not supported in IE6/7 - * 2. Addresses quote property not supported in S4 - */ - -/* 1 */ - -q { - quotes: none; -} - -/* 2 */ - -q:before, -q:after { - content: ''; - content: none; -} - -small { - font-size: 75%; -} - -/* - * Prevents sub and sup affecting line-height in all browsers - * gist.github.com/413930 - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - - -/* ============================================================================= - Lists - ========================================================================== */ - -/* - * Addresses margins set differently in IE6/7 - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/* - * Addresses paddings set differently in IE6/7 - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/* - * Corrects list images handled incorrectly in IE7 - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - - -/* ============================================================================= - Embedded content - ========================================================================== */ - -/* - * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3 - * 2. Improves image quality when scaled in IE7 - * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/* - * Corrects overflow displayed oddly in IE9 - */ - -svg:not(:root) { - overflow: hidden; -} - - -/* ============================================================================= - Figures - ========================================================================== */ - -/* - * Addresses margin not present in IE6/7/8/9, S5, O11 - */ - -figure { - margin: 0; -} - - -/* ============================================================================= - Forms - ========================================================================== */ - -/* - * Corrects margin displayed oddly in IE6/7 - */ - -form { - margin: 0; -} - -/* - * Define consistent border, margin, and padding - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/* - * 1. Corrects color not being inherited in IE6/7/8/9 - * 2. Corrects text not wrapping in FF3 - * 3. Corrects alignment displayed oddly in IE6/7 - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/* - * 1. Corrects font size not being inherited in all browsers - * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome - * 3. Improves appearance and consistency in all browsers - */ - -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ -} - -/* - * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet - */ - -button, -input { - line-height: normal; /* 1 */ -} - -/* - * 1. Improves usability and consistency of cursor style between image-type 'input' and others - * 2. Corrects inability to style clickable 'input' types in iOS - * 3. Removes inner spacing in IE7 without affecting normal text inputs - * Known issue: inner spacing remains in IE6 - */ - -button, -input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; /* 1 */ - -webkit-appearance: button; /* 2 */ - *overflow: visible; /* 3 */ -} - -/* - * Re-set default cursor for disabled elements - */ - -button[disabled], -input[disabled] { - cursor: default; -} - -/* - * 1. Addresses box sizing set to content-box in IE8/9 - * 2. Removes excess padding in IE8/9 - * 3. Removes excess padding in IE7 - Known issue: excess padding remains in IE6 - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ -} - -/* - * 1. Addresses appearance set to searchfield in S5, Chrome - * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof) - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/* - * Removes inner padding and search cancel button in S5, Chrome on OS X - */ - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -/* - * Removes inner padding and border in FF3+ - * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/* - * 1. Removes default vertical scrollbar in IE6/7/8/9 - * 2. Improves readability and alignment in all browsers - */ - -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ -} - - -/* ============================================================================= - Tables - ========================================================================== */ - -/* - * Remove most spacing between table cells - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/rouge-base16-dark.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/rouge-base16-dark.scss deleted file mode 100644 index c303bd5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/_sass/rouge-base16-dark.scss +++ /dev/null @@ -1,81 +0,0 @@ -/* - generated by rouge http://rouge.jneen.net/ - original base16 by Chris Kempson (https://github.com/chriskempson/base16) -*/ - -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight, .highlight .w { - color: #d0d0d0; -} -.highlight .err { - color: #151515; - background-color: #ac4142; -} -.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { - color: #888; -} -.highlight .cp { - color: #f4bf75; -} -.highlight .nt { - color: #f4bf75; -} -.highlight .o, .highlight .ow { - color: #d0d0d0; -} -.highlight .p, .highlight .pi { - color: #d0d0d0; -} -.highlight .gi { - color: #90a959; -} -.highlight .gd { - color: #ac4142; -} -.highlight .gh { - color: #6a9fb5; - font-weight: bold; -} -.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { - color: #aa759f; -} -.highlight .kc { - color: #d28445; -} -.highlight .kt { - color: #d28445; -} -.highlight .kd { - color: #d28445; -} -.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { - color: #90a959; -} -.highlight .sr { - color: #75b5aa; -} -.highlight .si { - color: #8f5536; -} -.highlight .se { - color: #8f5536; -} -.highlight .nn { - color: #f4bf75; -} -.highlight .nc { - color: #f4bf75; -} -.highlight .no { - color: #f4bf75; -} -.highlight .na { - color: #6a9fb5; -} -.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { - color: #90a959; -} -.highlight .ss { - color: #90a959; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/css/ie.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/css/ie.scss deleted file mode 100644 index eee54c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/css/ie.scss +++ /dev/null @@ -1,3 +0,0 @@ -nav { - display: none; - } \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/css/style.scss deleted file mode 100644 index a21222f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-midnight"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.eot deleted file mode 100755 index 786821d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.svg deleted file mode 100755 index fae601b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.svg +++ /dev/null @@ -1,21062 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:37:53 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans-Bold" horiz-adv-x="1169" > - <font-face - font-family="Open Sans" - font-weight="700" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 8 6 3 5 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1118" - cap-height="1462" - bbox="-1268 -600 2701 2189" - underline-thickness="102" - underline-position="-307" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1585" -d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1571 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29 -q-65 0 -94 -38.5t-29 -98.5v-70h264v-229z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1417" -d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM940 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM1258 0h-305v1118h305 -v-1118z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1417" -d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1258 0h-305v1556h305v-1556z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="2208" -d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1571 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29 -q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1730 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM2048 0h-305v1118h305v-1118z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="2208" -d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1571 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29 -q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM2048 0h-305v1556h305v-1556z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="586" -d="M416 485h-244l-51 977h346zM117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="967" -d="M412 1462l-41 -528h-197l-41 528h279zM834 1462l-41 -528h-197l-41 528h279z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M999 844l-47 -232h258v-206h-297l-77 -406h-220l78 406h-194l-76 -406h-215l74 406h-238v206h277l47 232h-252v209h289l77 407h219l-77 -407h198l78 407h215l-78 -407h240v-209h-279zM539 612h196l47 232h-196z" /> - <glyph glyph-name="dollar" unicode="$" -d="M1092 457q0 -159 -115 -255.5t-322 -115.5v-205h-137v201q-244 5 -428 86v264q87 -43 209.5 -76t218.5 -39v310l-67 26q-198 78 -280.5 169.5t-82.5 226.5q0 145 113.5 238.5t316.5 113.5v153h137v-149q229 -10 414 -92l-94 -234q-156 64 -320 78v-295 -q195 -75 277.5 -130t121 -121t38.5 -154zM791 442q0 42 -34 71t-102 60v-249q136 23 136 118zM389 1049q0 -44 30.5 -72.5t98.5 -58.5v235q-129 -19 -129 -104z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1845" -d="M315 1024q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM758 1026q0 -230 -89 -345.5t-261 -115.5q-165 0 -255 118.5t-90 342.5q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5zM1446 1462l-811 -1462h-240l811 1462h240z -M1339 440q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM1782 442q0 -229 -89 -344.5t-261 -115.5q-165 0 -255 118.5t-90 341.5q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1536" -d="M1536 0h-377l-115 113q-191 -133 -432 -133q-244 0 -387 112t-143 303q0 137 60.5 233.5t207.5 180.5q-75 86 -109 164.5t-34 171.5q0 152 116.5 245t311.5 93q186 0 297.5 -86.5t111.5 -231.5q0 -119 -69 -217.5t-223 -187.5l284 -277q71 117 123 301h318 -q-36 -135 -99 -263.5t-143 -227.5zM403 424q0 -86 64.5 -137t165.5 -51q126 0 227 61l-332 330q-58 -44 -91.5 -92t-33.5 -111zM762 1133q0 53 -36 83.5t-93 30.5q-67 0 -105.5 -32t-38.5 -91q0 -88 95 -194q86 48 132 94.5t46 108.5z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="545" -d="M412 1462l-41 -528h-197l-41 528h279z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="694" -d="M82 561q0 265 77.5 496t223.5 405h250q-141 -193 -213 -424t-72 -475q0 -245 73.5 -473.5t209.5 -413.5h-248q-147 170 -224 397t-77 488z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="694" -d="M612 561q0 -263 -77.5 -490t-223.5 -395h-248q135 184 209 412.5t74 474.5q0 244 -72 475t-213 424h250q147 -175 224 -406.5t77 -494.5z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1116" -d="M688 1556l-41 -368l373 104l33 -252l-340 -24l223 -297l-227 -121l-156 313l-137 -311l-236 119l221 297l-338 26l39 250l365 -104l-41 368h262z" /> - <glyph glyph-name="plus" unicode="+" -d="M475 612h-387v219h387v390h219v-390h387v-219h-387v-385h-219v385z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="594" -d="M459 215q-52 -202 -176 -479h-220q65 266 101 502h280z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="659" -d="M61 424v250h537v-250h-537z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="584" -d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="846" -d="M836 1462l-545 -1462h-277l545 1462h277z" /> - <glyph glyph-name="zero" unicode="0" -d="M1096 731q0 -383 -125.5 -567t-386.5 -184q-253 0 -381.5 190t-128.5 561q0 387 125 570.5t385 183.5q253 0 382.5 -192t129.5 -562zM381 731q0 -269 46.5 -385.5t156.5 -116.5q108 0 156 118t48 384q0 269 -48.5 386.5t-155.5 117.5q-109 0 -156 -117.5t-47 -386.5z" /> - <glyph glyph-name="one" unicode="1" -d="M846 0h-309v846l3 139l5 152q-77 -77 -107 -101l-168 -135l-149 186l471 375h254v-1462z" /> - <glyph glyph-name="two" unicode="2" -d="M1104 0h-1022v215l367 371q163 167 213 231.5t72 119.5t22 114q0 88 -48.5 131t-129.5 43q-85 0 -165 -39t-167 -111l-168 199q108 92 179 130t155 58.5t188 20.5q137 0 242 -50t163 -140t58 -206q0 -101 -35.5 -189.5t-110 -181.5t-262.5 -265l-188 -177v-14h637v-260z -" /> - <glyph glyph-name="three" unicode="3" -d="M1047 1135q0 -137 -83 -233t-233 -132v-6q177 -22 268 -107.5t91 -230.5q0 -211 -153 -328.5t-437 -117.5q-238 0 -422 79v263q85 -43 187 -70t202 -27q153 0 226 52t73 167q0 103 -84 146t-268 43h-111v237h113q170 0 248.5 44.5t78.5 152.5q0 166 -208 166 -q-72 0 -146.5 -24t-165.5 -83l-143 213q200 144 477 144q227 0 358.5 -92t131.5 -256z" /> - <glyph glyph-name="four" unicode="4" -d="M1137 303h-176v-303h-302v303h-624v215l641 944h285v-919h176v-240zM659 543v248q0 62 5 180t8 137h-8q-37 -82 -89 -160l-268 -405h352z" /> - <glyph glyph-name="five" unicode="5" -d="M614 934q212 0 337.5 -119t125.5 -326q0 -245 -151 -377t-432 -132q-244 0 -394 79v267q79 -42 184 -68.5t199 -26.5q283 0 283 232q0 221 -293 221q-53 0 -117 -10.5t-104 -22.5l-123 66l55 745h793v-262h-522l-27 -287l35 7q61 14 151 14z" /> - <glyph glyph-name="six" unicode="6" -d="M72 621q0 434 183.5 646t549.5 212q125 0 196 -15v-247q-89 20 -176 20q-159 0 -259.5 -48t-150.5 -142t-59 -267h13q99 170 317 170q196 0 307 -123t111 -340q0 -234 -132 -370.5t-366 -136.5q-162 0 -282.5 75t-186 219t-65.5 347zM600 227q99 0 152 66.5t53 189.5 -q0 107 -49.5 168.5t-149.5 61.5q-94 0 -160.5 -61t-66.5 -142q0 -119 62.5 -201t158.5 -82z" /> - <glyph glyph-name="seven" unicode="7" -d="M227 0l549 1200h-721v260h1049v-194l-553 -1266h-324z" /> - <glyph glyph-name="eight" unicode="8" -d="M586 1481q210 0 338.5 -95.5t128.5 -257.5q0 -112 -62 -199.5t-200 -156.5q164 -88 235.5 -183.5t71.5 -209.5q0 -180 -141 -289.5t-371 -109.5q-240 0 -377 102t-137 289q0 125 66.5 222t213.5 171q-125 79 -180 169t-55 197q0 157 130 254t339 97zM358 389 -q0 -86 60 -134t164 -48q115 0 172 49.5t57 130.5q0 67 -56.5 125.5t-183.5 124.5q-213 -98 -213 -248zM584 1255q-79 0 -127.5 -40.5t-48.5 -108.5q0 -60 38.5 -107.5t139.5 -97.5q98 46 137 94t39 111q0 69 -50 109t-128 40z" /> - <glyph glyph-name="nine" unicode="9" -d="M1098 838q0 -432 -182 -645t-551 -213q-130 0 -197 14v248q84 -21 176 -21q155 0 255 45.5t153 143t61 268.5h-12q-58 -94 -134 -132t-190 -38q-191 0 -301 122.5t-110 340.5q0 235 133.5 371.5t363.5 136.5q162 0 283.5 -76t186.5 -220.5t65 -344.5zM569 1231 -q-96 0 -150 -66t-54 -190q0 -106 49 -168t149 -62q94 0 161 61.5t67 141.5q0 119 -62.5 201t-159.5 82z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="584" -d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM117 969q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="594" -d="M444 238l15 -23q-52 -202 -176 -479h-220q65 266 101 502h280zM117 969q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" /> - <glyph glyph-name="less" unicode="&#x3c;" -d="M1081 203l-993 438v143l993 496v-240l-684 -317l684 -281v-239z" /> - <glyph glyph-name="equal" unicode="=" -d="M88 805v219h993v-219h-993zM88 418v219h993v-219h-993z" /> - <glyph glyph-name="greater" unicode="&#x3e;" -d="M88 442l684 281l-684 317v240l993 -496v-143l-993 -438v239z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="977" -d="M276 485v74q0 96 41 167t150 151q105 75 138.5 122t33.5 105q0 65 -48 99t-134 34q-150 0 -342 -98l-109 219q223 125 473 125q206 0 327.5 -99t121.5 -264q0 -110 -50 -190t-190 -180q-96 -71 -121.5 -108t-25.5 -97v-60h-265zM244 143q0 84 45 127t131 43 -q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1837" -d="M1735 752q0 -144 -46 -263.5t-130 -187.5t-195 -68q-74 0 -131 35.5t-82 93.5h-16q-108 -129 -275 -129q-177 0 -279 106.5t-102 291.5q0 211 134 340t350 129q86 0 189.5 -16.5t170.5 -39.5l-23 -489q0 -139 76 -139q64 0 102 93.5t38 244.5q0 161 -67 284.5 -t-188.5 188.5t-277.5 65q-202 0 -351 -83t-228.5 -239.5t-79.5 -361.5q0 -276 147.5 -423.5t427.5 -147.5q106 0 233 23.5t250 68.5v-192q-214 -91 -475 -91q-380 0 -592.5 200t-212.5 556q0 247 108.5 448.5t309 316t461.5 114.5q220 0 393 -90t267 -256t94 -383zM711 627 -q0 -211 172 -211q90 0 137 63.5t57 206.5l13 221q-51 11 -115 11q-125 0 -194.5 -78t-69.5 -213z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1376" -d="M184 1462h455q311 0 451.5 -88.5t140.5 -281.5q0 -131 -61.5 -215t-163.5 -101v-10q139 -31 200.5 -116t61.5 -226q0 -200 -144.5 -312t-392.5 -112h-547v1462zM494 883h180q126 0 182.5 39t56.5 129q0 84 -61.5 120.5t-194.5 36.5h-163v-325zM494 637v-381h202 -q128 0 189 49t61 150q0 182 -260 182h-192z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1516" -d="M1397 745q0 -361 -205.5 -553t-593.5 -192h-414v1462h459q358 0 556 -189t198 -528zM1075 737q0 471 -416 471h-165v-952h133q448 0 448 481z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="1124" -d="M489 0h-305v1462h838v-254h-533v-377h496v-253h-496v-578z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1483" -d="M739 821h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1567" -d="M1382 0h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1462z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="678" -d="M31 -430q-105 0 -183 22v258q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1360" -d="M1360 0h-352l-383 616l-131 -94v-522h-310v1462h310v-669l122 172l396 497h344l-510 -647z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="1157" -d="M184 0v1462h310v-1206h593v-256h-903z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1931" -d="M803 0l-352 1147h-9q19 -350 19 -467v-680h-277v1462h422l346 -1118h6l367 1118h422v-1462h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1665" -d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1286" -d="M494 774h102q143 0 214 56.5t71 164.5q0 109 -59.5 161t-186.5 52h-141v-434zM1194 1006q0 -236 -147.5 -361t-419.5 -125h-133v-520h-310v1462h467q266 0 404.5 -114.5t138.5 -341.5z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1630" -d="M1511 733q0 -258 -91.5 -432.5t-268.5 -255.5l352 -393h-397l-268 328h-23q-336 0 -516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1352" -d="M494 813h100q147 0 217 49t70 154q0 104 -71.5 148t-221.5 44h-94v-395zM494 561v-561h-310v1462h426q298 0 441 -108.5t143 -329.5q0 -129 -71 -229.5t-201 -157.5q330 -493 430 -637h-344l-349 561h-165z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1186" -d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1331" -d="M1018 1462h313l-497 -1462h-338l-496 1462h313l275 -870q23 -77 47.5 -179.5t30.5 -142.5q11 92 75 322z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1980" -d="M1608 0h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352l-373 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1366" -d="M1366 0h-354l-340 553l-340 -553h-332l485 754l-454 708h342l315 -526l309 526h334l-459 -725z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1186" -d="M1137 0h-1088v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="678" -d="M627 -324h-484v1786h484v-211h-224v-1364h224v-211z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="846" -d="M289 1462l545 -1462h-277l-545 1462h277z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="678" -d="M51 -113h223v1364h-223v211h484v-1786h-484v211z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1090" -d="M8 520l438 950h144l495 -950h-239l-322 643l-280 -643h-236z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="842" -d="M846 -324h-850v140h850v-140z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1243" -d="M707 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="a" unicode="a" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1296" -d="M782 1139q198 0 310 -154.5t112 -423.5q0 -277 -115.5 -429t-314.5 -152q-197 0 -309 143h-21l-51 -123h-233v1556h305v-362q0 -69 -12 -221h12q107 166 317 166zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q94 0 149.5 86.5t55.5 251.5 -t-56 247.5t-153 82.5z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18z" /> - <glyph glyph-name="d" unicode="d" horiz-adv-x="1296" -d="M514 -20q-197 0 -309.5 153t-112.5 424q0 275 114.5 428.5t315.5 153.5q211 0 322 -164h10q-23 125 -23 223v358h306v-1556h-234l-59 145h-13q-104 -165 -317 -165zM621 223q117 0 171.5 68t59.5 231v33q0 180 -55.5 258t-180.5 78q-102 0 -158.5 -86.5t-56.5 -251.5 -t57 -247.5t163 -82.5z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="793" -d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1157" -d="M1133 1118v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5q0 101 63 169t185 97q-47 20 -82 65.5 -t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144 -t126.5 -53q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1346" -d="M1192 0h-305v653q0 242 -180 242q-128 0 -185 -87t-57 -282v-526h-305v1556h305v-317q0 -37 -7 -174l-7 -90h16q102 164 324 164q197 0 299 -106t102 -304v-729z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="625" -d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM465 0h-305v1118h305v-1118z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="625" -d="M70 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5zM147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="1270" -d="M453 608l133 170l313 340h344l-444 -485l471 -633h-352l-322 453l-131 -105v-348h-305v1556h305v-694l-16 -254h4z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="625" -d="M465 0h-305v1556h305v-1556z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="2011" -d="M1161 0h-305v653q0 121 -40.5 181.5t-127.5 60.5q-117 0 -170 -86t-53 -283v-526h-305v1118h233l41 -143h17q45 77 130 120.5t195 43.5q251 0 340 -164h27q45 78 132.5 121t197.5 43q190 0 287.5 -97.5t97.5 -312.5v-729h-306v653q0 121 -40.5 181.5t-127.5 60.5 -q-112 0 -167.5 -80t-55.5 -254v-561z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1346" -d="M1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1296" -d="M774 -20q-197 0 -309 143h-16q16 -140 16 -162v-453h-305v1610h248l43 -145h14q107 166 317 166q198 0 310 -153t112 -425q0 -179 -52.5 -311t-149.5 -201t-228 -69zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q205 0 205 338 -q0 165 -50.5 247.5t-158.5 82.5z" /> - <glyph glyph-name="q" unicode="q" horiz-adv-x="1296" -d="M623 219q116 0 170 66.5t59 232.5v37q0 180 -55.5 258t-178.5 78q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM514 -20q-198 0 -310 152.5t-112 424.5q0 274 114.5 428t313.5 154q106 0 185 -40t139 -124h8l27 143h258v-1610h-306v469q0 61 13 168h-13 -q-49 -81 -130 -123t-187 -42z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="930" -d="M784 1139q62 0 103 -9l-23 -286q-37 10 -90 10q-146 0 -227.5 -75t-81.5 -210v-569h-305v1118h231l45 -188h15q52 94 140.5 151.5t192.5 57.5z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="889" -d="M631 223q80 0 192 35v-227q-114 -51 -280 -51q-183 0 -266.5 92.5t-83.5 277.5v539h-146v129l168 102l88 236h195v-238h313v-229h-313v-539q0 -65 36.5 -96t96.5 -31z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="1165" -d="M426 0l-426 1118h319l216 -637q36 -121 45 -229h6q5 96 45 229l215 637h319l-426 -1118h-313z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1753" -d="M1079 0l-86 391l-116 494h-7l-204 -885h-328l-318 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="1184" -d="M389 571l-360 547h346l217 -356l219 356h346l-364 -547l381 -571h-347l-235 383l-236 -383h-346z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="999" -d="M938 0h-883v180l518 705h-487v233h834v-198l-504 -687h522v-233z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="807" -d="M287 270q0 87 -65.5 133t-190.5 46v239q126 0 191 44t65 126v8v318q0 153 97 215.5t341 62.5v-225q-99 -3 -136.5 -38t-37.5 -103v-299q-6 -188 -234 -222v-12q234 -35 234 -212v-9v-299q0 -68 37 -103t137 -38v-226q-244 0 -341 62.5t-97 216.5v315z" /> - <glyph glyph-name="bar" unicode="|" horiz-adv-x="1128" -d="M455 1550h219v-2015h-219v2015z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="807" -d="M520 -45q0 -112 -41 -169t-135.5 -83.5t-261.5 -26.5v226q99 2 136.5 36t37.5 105v299v11q0 86 59 139.5t174 70.5v12q-227 34 -233 222v299q0 70 -37 104t-137 37v225q167 0 262 -26.5t135.5 -84t40.5 -167.5v-318v-10q0 -84 61.5 -126t194.5 -42v-239 -q-125 0 -190.5 -41t-65.5 -138v-315z" /> - <glyph glyph-name="asciitilde" unicode="~" -d="M322 672q-55 0 -117.5 -33.5t-116.5 -87.5v231q103 109 256 109q73 0 137.5 -16t139.5 -48q129 -55 227 -55q53 0 116 32t117 89v-231q-101 -109 -256 -109q-66 0 -126 13t-150 50q-131 56 -227 56z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="586" -d="M168 606h244l51 -975h-346zM467 948q0 -84 -45 -127t-131 -43q-83 0 -128.5 44t-45.5 126q0 81 46.5 125.5t127.5 44.5q84 0 130 -44t46 -126z" /> - <glyph glyph-name="cent" unicode="&#xa2;" -d="M563 176q-420 59 -420 565q0 261 104.5 403t315.5 173v166h178v-158q166 -9 299 -74l-90 -235q-72 29 -134 47t-124 18q-121 0 -179 -83.5t-58 -254.5q0 -327 237 -327q82 0 148 15.5t166 60.5v-254q-127 -61 -265 -70v-188h-178v196z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" -d="M700 1483q195 0 390 -82l-93 -230q-157 64 -272 64q-78 0 -120 -44.5t-42 -127.5v-193h375v-219h-375v-143q0 -170 -151 -248h718v-260h-1048v248q103 44 141.5 101t38.5 157v145h-178v219h178v195q0 201 114.5 309.5t323.5 108.5z" /> - <glyph glyph-name="currency" unicode="&#xa4;" -d="M188 723q0 102 54 197l-129 127l147 147l127 -127q91 53 197 53q105 0 196 -55l127 129l150 -143l-129 -129q53 -89 53 -199q0 -107 -53 -199l125 -125l-146 -145l-127 125q-95 -51 -196 -51q-115 0 -199 51l-125 -123l-145 145l127 125q-54 93 -54 197zM395 723 -q0 -77 54.5 -132.5t134.5 -55.5q81 0 136.5 55t55.5 133q0 80 -56.5 135t-135.5 55q-78 0 -133.5 -56t-55.5 -134z" /> - <glyph glyph-name="yen" unicode="&#xa5;" -d="M584 860l264 602h313l-383 -747h195v-178h-246v-138h246v-178h-246v-221h-287v221h-247v178h247v138h-247v178h190l-377 747h316z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1128" -d="M455 1550h219v-815h-219v815zM455 350h219v-815h-219v815z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="995" -d="M121 805q0 79 36 144.5t97 105.5q-133 84 -133 233q0 131 111.5 210t293.5 79q170 0 363 -84l-82 -190q-68 32 -138.5 57.5t-148.5 25.5q-81 0 -118 -23t-37 -71q0 -49 49.5 -86t163.5 -82q163 -64 240 -148.5t77 -193.5q0 -177 -125 -260q62 -40 93.5 -92.5t31.5 -126.5 -q0 -148 -119.5 -235.5t-320.5 -87.5q-203 0 -349 79v207q81 -41 180 -69.5t169 -28.5q194 0 194 117q0 39 -18.5 63t-63.5 49.5t-125 59.5q-183 74 -252 152.5t-69 195.5zM344 827q0 -67 65 -119t181 -98q78 57 78 146q0 68 -50.5 115t-183.5 96q-37 -14 -63.5 -53.5 -t-26.5 -86.5z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1243" -d="M279 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM682 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M895 1010q-97 0 -150 -74t-53 -205q0 -280 203 -280q57 0 123 15t123 44v-191q-120 -57 -252 -57q-204 0 -316 125t-112 346q0 220 110.5 342.5t309.5 122.5q149 0 305 -78l-74 -168q-113 58 -217 58zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 -t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM242 731q0 -164 82 -305.5t224 -223t304 -81.5q164 0 305.5 82t223 224t81.5 304q0 164 -82 305.5t-224 223t-304 81.5q-164 0 -305.5 -82t-223 -224t-81.5 -304z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="784" -d="M561 764l-31 110q-43 -58 -105 -90t-136 -32q-117 0 -179.5 58.5t-62.5 164.5q0 109 82.5 163.5t267.5 63.5l99 4q0 117 -127 117q-81 0 -217 -61l-66 135q66 32 145.5 57t178.5 25q137 0 211.5 -71t74.5 -202v-442h-135zM252 977q0 -38 23 -56t55 -18q77 0 121.5 41.5 -t44.5 106.5v36l-99 -6q-145 -10 -145 -104z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1260" -d="M82 573l371 455l219 -119l-279 -348l279 -348l-219 -119l-371 453v26zM588 573l370 455l220 -119l-279 -348l279 -348l-220 -119l-370 453v26z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" -d="M1081 248h-219v364h-774v219h993v-583z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="659" -d="M61 424v250h537v-250h-537z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M1157 905q0 -170 -143 -233l237 -400h-254l-178 338h-47v-338h-229v916h264q181 0 265.5 -70t84.5 -213zM772 778h31q66 0 94.5 28.5t28.5 94.5q0 65 -28 92t-97 27h-29v-242zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370 -t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM242 731q0 -164 82 -305.5t224 -223t304 -81.5q164 0 305.5 82t223 224t81.5 304q0 164 -82 305.5t-224 223t-304 81.5q-164 0 -305.5 -82t-223 -224t-81.5 -304z" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="1024" -d="M1030 1556h-1036v201h1036v-201z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M92 1137q0 92 46 172t126 127t174 47q92 0 172.5 -46t127 -127t46.5 -173q0 -93 -46.5 -173.5t-126.5 -125.5t-173 -45q-145 0 -245.5 99.5t-100.5 244.5zM283 1137q0 -64 44.5 -109t110.5 -45t111 46t45 108q0 63 -45.5 110t-110.5 47q-64 0 -109.5 -46t-45.5 -111z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" -d="M475 674h-387v219h387v389h219v-389h387v-219h-387v-385h-219v385zM88 0v219h993v-219h-993z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="776" -d="M702 586h-647v168l224 219q102 100 130.5 144.5t28.5 94.5q0 38 -24 58t-64 20q-81 0 -180 -88l-123 152q147 129 336 129q137 0 216 -66.5t79 -183.5q0 -85 -47 -160t-176 -192l-105 -95h352v-200z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="776" -d="M666 1249q0 -143 -170 -198v-13q94 -20 146 -75t52 -134q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141 -q62 47 137.5 78t178.5 31q127 0 208 -64t81 -168z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1243" -d="M332 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1352" -d="M465 465q0 -121 44 -181.5t138 -60.5q126 0 183 86.5t57 282.5v526h305v-1118h-231l-43 150h-15q-42 -85 -102 -127.5t-148 -42.5q-62 0 -114 23t-84 67l5 -85l5 -157v-320h-305v1610h305v-653z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1167 -260h-161v1616h-166v-1616h-162v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h604v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="584" -d="M117 723q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="420" -d="M418 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="776" -d="M584 586h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61l-109 127l301 235h191v-876z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="795" -d="M737 1116q0 -171 -91.5 -267.5t-250.5 -96.5q-153 0 -245.5 98.5t-92.5 265.5q0 169 89.5 266t252.5 97q152 0 245 -98.5t93 -264.5zM260 1116q0 -100 32.5 -150.5t104.5 -50.5t103.5 50.5t31.5 150.5t-31.5 149.5t-103.5 49.5t-104.5 -49.5t-32.5 -149.5z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1260" -d="M1178 547l-371 -453l-219 119l278 348l-278 348l219 119l371 -455v-26zM672 547l-371 -453l-219 119l278 348l-278 348l219 119l371 -455v-26z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1804" -d="M538 586h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61l-109 127l301 235h191v-876zM1370 1462l-811 -1462h-239l811 1462h239zM1682 152h-125v-151h-238v151h-383v154l385 577h236v-563h125v-168zM1319 320v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77l-127 -191h198z -" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1804" -d="M538 586h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61l-109 127l301 235h191v-876zM1370 1462l-811 -1462h-239l811 1462h239zM1716 1h-647v168l224 219q102 100 130.5 144.5t28.5 94.5q0 38 -24 58t-64 20q-81 0 -180 -88l-123 152q147 129 336 129q137 0 216 -66.5 -t79 -183.5q0 -85 -47 -160t-176 -192l-105 -95h352v-200z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1804" -d="M697 1249q0 -143 -170 -198v-13q94 -20 146 -75t52 -134q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141 -q62 47 137.5 78t178.5 31q127 0 208 -64t81 -168zM1441 1462l-811 -1462h-239l811 1462h239zM1712 152h-125v-151h-238v151h-383v154l385 577h236v-563h125v-168zM1349 320v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77l-127 -191h198z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="977" -d="M713 606v-74q0 -98 -44.5 -169t-152.5 -148q-109 -78 -137.5 -122t-28.5 -107q0 -57 43.5 -94t132.5 -37q79 0 169 29t186 71l102 -221q-98 -56 -221.5 -90.5t-229.5 -34.5q-220 0 -345.5 96.5t-125.5 265.5q0 108 48.5 187t191.5 184q95 70 121.5 107t26.5 98v59h264z -M745 948q0 -84 -45 -127t-131 -43q-83 0 -128.5 44t-45.5 126q0 81 46.5 125.5t127.5 44.5q84 0 130 -44t46 -126z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM713 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM541 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM938 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM543 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26 -t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM365 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM768 1743 -q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM959 1567q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM801 1565q0 45 -27 70.5 -t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1950" -d="M1829 0h-873v348h-491l-150 -348h-315l655 1462h1174v-254h-563v-321h526v-254h-526v-377h563v-256zM578 608h378v590h-127z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM959 -250q0 -128 -75.5 -185t-233.5 -57 -q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM634 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM424 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM841 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM272 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM675 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97 -t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM317 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM167 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM570 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM-3 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM400 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z -" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1516" -d="M47 850h137v612h459q358 0 556 -189t198 -528q0 -361 -205.5 -553t-593.5 -192h-414v596h-137v254zM1075 737q0 232 -104 351.5t-314 119.5h-163v-358h237v-254h-237v-340h131q450 0 450 481z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1665" -d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462zM668 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149 -q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM824 1579q-63 44 -185 142.5t-190 164.5v21h342 -q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM658 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5 -t-196.5 -152.5h-203z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM1047 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27 -q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM652 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149 -q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM474 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98 -q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM877 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" -d="M428 723l-299 301l152 154l301 -299l305 299l153 -150l-305 -305l301 -303l-149 -152l-305 301l-301 -299l-150 152z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195q-197 0 -336 65l-90 -135l-162 108l90 136q-198 194 -198 581q0 365 180.5 557.5t517.5 192.5q198 0 344 -70l84 125l160 -104l-88 -131q194 -194 194 -572zM444 733q0 -191 56 -307l506 756q-84 45 -189 45q-185 0 -279 -124.5 -t-94 -369.5zM1186 733q0 180 -51 297l-500 -751q76 -39 180 -39q371 0 371 493z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM750 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM602 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM1006 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5 -t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM433 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5 -q-64 0 -101.5 35t-37.5 98zM836 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM461 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1286" -d="M1194 770q0 -229 -142.5 -353t-404.5 -124h-153v-293h-310v1462h310v-229h178q254 0 388 -119t134 -344zM494 543h100q145 0 216 52.5t71 174.5q0 107 -63.5 159t-199.5 52h-124v-438z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1456" -d="M1249 1241q0 -64 -21 -112.5t-53 -86.5t-69 -67t-69 -53t-53 -45t-21 -43q0 -27 26.5 -53t92.5 -66q146 -91 198.5 -140t78 -110t25.5 -139q0 -172 -116.5 -259t-343.5 -87q-99 0 -171 14.5t-132 48.5v242q53 -36 135.5 -61t146.5 -25q168 0 168 123q0 41 -16 66.5 -t-57 55.5t-115 72q-126 72 -175 131.5t-49 140.5q0 64 35 117t105 102q77 55 108 95t31 86q0 60 -63.5 100.5t-163.5 40.5q-116 0 -181 -52.5t-65 -148.5v-1128h-305v1139q0 201 146.5 314.5t404.5 113.5q244 0 391 -88.5t147 -237.5z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM614 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM441 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM843 1240q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM467 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z -" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM285 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM688 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5 -t-40.5 100.5z" /> - <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM883 1479q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM725 1477q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1878" -d="M1329 -20q-137 0 -249.5 50.5t-184.5 155.5q-98 -117 -196.5 -161.5t-256.5 -44.5q-161 0 -258.5 94.5t-97.5 259.5q0 178 121 262.5t362 93.5l191 6v84q0 69 -44.5 102t-121.5 33q-140 0 -305 -77l-99 202q189 101 422 101q227 0 342 -131q66 64 152.5 96.5t206.5 32.5 -q221 0 349 -137.5t128 -370.5v-148h-723q5 -130 77 -203t202 -73q196 0 380 88v-236q-79 -39 -171 -59t-226 -20zM760 518l-113 -4q-124 -4 -186 -47.5t-62 -134.5q0 -129 140 -129q101 0 161 61t60 162v92zM1307 922q-217 0 -234 -236h430q-2 112 -55 174t-141 62z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM805 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168 -q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M620 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M447 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M860 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M297 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM700 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM274 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM145 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM544 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM-29 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM374 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z -" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1268" -d="M510 1303q-80 53 -152 92l101 176q144 -65 258 -141l225 139l100 -154l-170 -104q156 -143 230 -324.5t74 -413.5q0 -280 -145 -436.5t-400 -156.5q-245 0 -392 137t-147 372q0 233 130 369.5t351 136.5q205 0 275 -98l8 4q-67 162 -192 281l-230 -142l-100 156zM864 532 -q0 108 -61 173t-168 65q-121 0 -176.5 -68.5t-55.5 -214.5q0 -140 60 -211t172 -71q123 0 176 82t53 245z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1346" -d="M1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729zM508 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5 -t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM612 1241 -q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM467 1241 -v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM864 1241 -q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM469 1346 -q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM291 1405 -q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM694 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="divide" unicode="&#xf7;" -d="M88 612v219h993v-219h-993zM444 373q0 76 37 113.5t103 37.5t102.5 -39t36.5 -112q0 -70 -37 -111t-102 -41t-102.5 39t-37.5 113zM444 1071q0 75 37 113.5t103 38.5q67 0 103 -40.5t36 -111.5q0 -70 -37 -110.5t-102 -40.5t-102.5 39t-37.5 112z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1268" -d="M1176 561q0 -273 -144 -427t-401 -154q-126 0 -234 45l-67 -101l-154 105l68 100q-152 156 -152 432q0 274 143 426t402 152q132 0 248 -52l55 82l152 -108l-58 -84q142 -155 142 -416zM403 561q0 -94 19 -166l317 475q-43 23 -106 23q-122 0 -176 -82.5t-54 -249.5z -M864 561q0 81 -12 141l-309 -462q38 -15 92 -15q122 0 175.5 84.5t53.5 251.5z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM620 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM498 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM901 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357 -q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM326 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5 -q-64 0 -101.5 35t-37.5 98zM729 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM393 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z -" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1296" -d="M465 973q50 81 131 123.5t186 42.5q198 0 310 -154.5t112 -423.5q0 -273 -111.5 -427t-310.5 -154q-213 0 -317 137h-14l7 -62l7 -94v-453h-305v2048h305v-391l-7 -120l-7 -72h14zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q205 0 205 338 -q0 165 -50.5 247.5t-158.5 82.5z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM243 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 -t-103 -36.5q-64 0 -101.5 35t-37.5 98zM646 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM371 1790h678v-211h-678v211z" /> - <glyph glyph-name="amacron" unicode="&#x101;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM293 1452h678v-211h-678v211z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM1100 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="abreve" unicode="&#x103;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM1026 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM1112 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179 -q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM905 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM598 1579v27q172 200 235 301h342v-21 -q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM443 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5 -t-196.5 -152.5h-203z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM1022 1579q-157 93 -234 176q-78 -81 -229 -176 -h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM835 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27 -q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM620 1745q0 149 166 149t166 -149 -q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM462 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5 -t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM1227 1907v-27q-84 -84 -154.5 -167.5 -t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM1055 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357 -q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1516" -d="M1397 745q0 -361 -205.5 -553t-593.5 -192h-414v1462h459q358 0 556 -189t198 -528zM1075 737q0 471 -416 471h-165v-952h133q448 0 448 481zM1159 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176 -q84 87 234 176h203z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" horiz-adv-x="1296" -d="M514 -20q-197 0 -309.5 153t-112.5 424q0 275 114.5 428.5t315.5 153.5q211 0 322 -164h10q-23 125 -23 223v358h306v-1556h-234l-59 145h-13q-104 -165 -317 -165zM621 223q117 0 171.5 68t59.5 231v33q0 180 -55.5 258t-180.5 78q-102 0 -158.5 -86.5t-56.5 -251.5 -t57 -247.5t163 -82.5zM1229 1255q15 49 34.5 143t27.5 158h282v-20q-80 -176 -166 -307h-178v26z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1516" -d="M47 850h137v612h459q358 0 556 -189t198 -528q0 -361 -205.5 -553t-593.5 -192h-414v596h-137v254zM1075 737q0 232 -104 351.5t-314 119.5h-163v-358h237v-254h-237v-340h131q450 0 450 481z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1329" -d="M504 -20q-192 0 -302 144t-110 402q0 282 99 416.5t323 134.5q108 0 192.5 -42t137.5 -122h10q-23 131 -23 232v51h-315v199h315v161h306v-161h155v-199h-155v-1196h-248l-64 145h-12q-104 -165 -309 -165zM633 223q110 0 162.5 61.5t56.5 211.5v28q0 176 -50.5 240.5 -t-183.5 64.5q-111 0 -152.5 -69t-41.5 -238q0 -149 50 -224t159 -75z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM274 1790h678v-211h-678v211z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M278 1452h678v-211h-678v211z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM992 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M1014 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM450 1716q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M466 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM786 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M796 -207q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM1044 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M1057 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1483" -d="M739 821h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258zM1036 1579 -q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1157" -d="M1133 1118v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5q0 101 63 169t185 97q-47 20 -82 65.5 -t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144 -t126.5 -53q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202zM816 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1483" -d="M739 821h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258zM1204 1917 -q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1157" -d="M1133 1118v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5q0 101 63 169t185 97q-47 20 -82 65.5 -t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144 -t126.5 -53q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202zM984 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1483" -d="M739 821h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258zM655 1745 -q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1157" -d="M1133 1118v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5q0 101 63 169t185 97q-47 20 -82 65.5 -t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144 -t126.5 -53q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202zM411 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1483" -d="M739 821h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258zM629 -426 -q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1157" -d="M1133 1118v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5q0 101 63 169t185 97q-47 20 -82 65.5 -t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144 -t126.5 -53q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202zM768 1542q-15 -49 -34.5 -143t-27.5 -158h-282v21q78 170 166 307h178v-27z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1567" -d="M1382 0h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1462zM1012 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1346" -d="M1192 0h-305v653q0 242 -180 242q-128 0 -185 -87t-57 -282v-526h-305v1556h305v-317q0 -37 -7 -174l-7 -90h16q102 164 324 164q197 0 299 -106t102 -304v-729zM905 1634q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5 -t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1567" -d="M1382 1268h185v-199h-185v-1069h-309v631h-579v-631h-310v1069h-184v199h184v194h310v-194h579v194h309v-194zM1073 889v180h-579v-180h579z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1346" -d="M1192 0h-305v592q0 242 -180 242q-127 0 -184.5 -87.5t-57.5 -281.5v-465h-305v1196h-156v199h156v161h305v-161h315v-199h-315v-18q0 -83 -14 -265h18q102 164 324 164q197 0 298 -105t101 -304v-668z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM175 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM149 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM3 1790h678v-211h-678v211z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM-23 1452h678v-211h-678v211z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM734 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM706 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM321 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="625" -d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM465 0h-305v1118h305v-1118zM254 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5 -t-39 -106.5z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM172 1745q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1475" -d="M184 0v1462h310v-1462h-310zM828 -430q-105 0 -183 22v258q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134z" /> - <glyph glyph-name="ij" unicode="&#x133;" horiz-adv-x="1210" -d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM465 0h-305v1118h305v-1118zM656 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5zM733 1407q0 149 166 149 -t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="678" -d="M31 -430q-105 0 -183 22v258q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134zM574 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="625" -d="M70 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5zM540 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1360" -d="M1360 0h-352l-383 616l-131 -94v-522h-310v1462h310v-669l122 172l396 497h344l-510 -647zM506 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="1270" -d="M453 608l133 170l313 340h344l-444 -485l471 -633h-352l-322 453l-131 -105v-348h-305v1556h305v-694l-16 -254h4zM467 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="1270" -d="M463 582l141 170l314 366h325l-440 -512l467 -606h-348l-314 426l-143 -90v-336h-305v1118h305v-293l-3 -161l-3 -82h4z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="1157" -d="M184 0v1462h310v-1206h593v-256h-903zM267 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="625" -d="M465 0h-305v1556h305v-1556zM179 1636v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="1157" -d="M184 0v1462h310v-1206h593v-256h-903zM424 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="625" -d="M465 0h-305v1556h305v-1556zM99 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="1157" -d="M184 0v1462h310v-1206h593v-256h-903zM723 1162q15 49 34.5 143t27.5 158h282v-20q-80 -176 -166 -307h-178v26z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="625" -d="M465 0h-305v1556h305v-1556zM557 1255q15 49 34.5 143t27.5 158h282v-20q-80 -176 -166 -307h-178v26z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="1157" -d="M184 0v1462h310v-1206h593v-256h-903zM706 751q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="877" -d="M465 0h-305v1556h305v-1556zM587 695q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1157" -d="M184 0v492l-69 -41l-113 196l182 111v704h310v-516l143 88l117 -196l-260 -158v-424h593v-256h-903z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="676" -d="M489 930l70 43l117 -197l-187 -112v-664h-305v477l-71 -43l-113 197l184 112v813h305v-626z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1665" -d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462zM656 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1346" -d="M1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729zM502 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1665" -d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462zM598 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1346" -d="M1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729zM467 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1665" -d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462zM1293 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1346" -d="M1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729zM1133 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27 -h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1595" -d="M1442 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729zM387 1462l14 -22q-50 -197 -176 -479h-219q69 296 100 501h281z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1665" -d="M1016 -430q-114 0 -197 22v258q93 -20 166 -20q109 0 168 45.5t68 128.5l-770 1102h-9q19 -293 19 -418v-688h-277v1462h391l635 -891h7l-8 151q-7 109 -7 253v487h279v-1462q0 -207 -120.5 -318.5t-344.5 -111.5z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1346" -d="M829 -492q-107 0 -184 25v240q59 -19 119 -19q123 0 123 170v752q0 219 -180 219q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h19q50 79 138 121.5t204 42.5q195 0 296 -105.5t101 -304.5v-850q0 -179 -94 -275t-269 -96z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM478 1790h678v-211h-678v211z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM295 1452 -h678v-211h-678v211z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM1211 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91 -t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM1026 1579 -q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM478 1579v27q62 85 117.5 172.5t76.5 128.5h301v-21 -q-32 -53 -146 -153t-188 -154h-161zM875 1579v27q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM279 1241 -v27q62 85 117.5 172.5t76.5 128.5h301v-21q-32 -53 -146 -153t-188 -154h-161zM676 1241v27q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1993" -d="M1872 0h-873q-38 -9 -109 -14.5t-116 -5.5q-319 0 -487 197t-168 558q0 363 169.5 556.5t487.5 193.5q61 0 127 -7t101 -16h868v-254h-563v-321h526v-254h-526v-377h563v-256zM776 1227q-166 0 -252 -125.5t-86 -368.5q0 -244 86 -368.5t250 -124.5q65 0 126 10.5 -t99 28.5v907q-35 19 -101.5 30t-121.5 11z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="2003" -d="M1446 -20q-271 0 -420 155q-141 -155 -391 -155q-162 0 -286 70t-190.5 202t-66.5 309q0 277 141.5 427.5t399.5 150.5q112 0 212 -39.5t171 -116.5q144 156 383 156q244 0 380 -135t136 -373v-148h-746v-8q7 -127 81.5 -197.5t207.5 -70.5q107 0 200 21t193 67v-236 -q-81 -39 -175.5 -59t-229.5 -20zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1405 922q-94 0 -156 -57.5t-71 -178.5h450q-2 111 -60.5 173.5t-162.5 62.5z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1352" -d="M494 813h100q147 0 217 49t70 154q0 104 -71.5 148t-221.5 44h-94v-395zM494 561v-561h-310v1462h426q298 0 441 -108.5t143 -329.5q0 -129 -71 -229.5t-201 -157.5q330 -493 430 -637h-344l-349 561h-165zM477 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5 -t-196.5 -152.5h-203z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="930" -d="M784 1139q62 0 103 -9l-23 -286q-37 10 -90 10q-146 0 -227.5 -75t-81.5 -210v-569h-305v1118h231l45 -188h15q52 94 140.5 151.5t192.5 57.5zM338 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1352" -d="M494 813h100q147 0 217 49t70 154q0 104 -71.5 148t-221.5 44h-94v-395zM494 561v-561h-310v1462h426q298 0 441 -108.5t143 -329.5q0 -129 -71 -229.5t-201 -157.5q330 -493 430 -637h-344l-349 561h-165zM530 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308 -h-178v27z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="930" -d="M784 1139q62 0 103 -9l-23 -286q-37 10 -90 10q-146 0 -227.5 -75t-81.5 -210v-569h-305v1118h231l45 -188h15q52 94 140.5 151.5t192.5 57.5zM99 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1352" -d="M494 813h100q147 0 217 49t70 154q0 104 -71.5 148t-221.5 44h-94v-395zM494 561v-561h-310v1462h426q298 0 441 -108.5t143 -329.5q0 -129 -71 -229.5t-201 -157.5q330 -493 430 -637h-344l-349 561h-165zM1106 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357 -q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="930" -d="M784 1139q62 0 103 -9l-23 -286q-37 10 -90 10q-146 0 -227.5 -75t-81.5 -210v-569h-305v1118h231l45 -188h15q52 94 140.5 151.5t192.5 57.5zM952 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176 -q84 87 234 176h203z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5zM410 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143zM342 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5zM830 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143zM759 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5zM772 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61 -q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143zM719 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5zM1033 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143zM972 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1186" -d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204zM830 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="889" -d="M631 223q80 0 192 35v-227q-114 -51 -280 -51q-183 0 -266.5 92.5t-83.5 277.5v539h-146v129l168 102l88 236h195v-238h313v-229h-313v-539q0 -65 36.5 -96t96.5 -31zM740 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62 -q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1186" -d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204zM1029 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="889" -d="M631 223q80 0 192 35v-227q-114 -51 -280 -51q-183 0 -266.5 92.5t-83.5 277.5v539h-146v129l168 102l88 236h195v-238h313v-229h-313v-539q0 -65 36.5 -96t96.5 -31zM620 1275q15 49 34.5 143t27.5 158h282v-20q-80 -176 -166 -307h-178v26z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1186" -d="M748 0h-310v596h-248v254h248v354h-397v258h1104v-258h-397v-354h247v-254h-247v-596z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="889" -d="M631 223q80 0 192 35v-227q-52 -25 -126.5 -38t-147.5 -13q-186 0 -271 91t-85 279v148h-127v198h127v193h-146v129l168 102l88 236h195v-238h313v-229h-313v-193h278v-198h-278v-148q0 -65 36.5 -96t96.5 -31z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM613 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36 -t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM506 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5 -t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM437 1790h678v-211h-678v211z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM330 1452h678v-211h-678v211z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM1168 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39 -t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM1063 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74 -t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM1026 1817q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66 -t72 -169zM868 1815q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM920 1479q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5 -q110 0 182 -66t72 -169zM762 1477q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM441 1579v27q62 85 117.5 172.5t76.5 128.5h301v-21q-32 -53 -146 -153t-188 -154h-161zM838 1579v27 -q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM344 1241v27q62 85 117.5 172.5t76.5 128.5h301v-21q-32 -53 -146 -153t-188 -154h-161z -M741 1241v27q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM805 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5 -t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM981 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5 -t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1980" -d="M1608 0h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352l-373 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305z -M1221 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1753" -d="M1079 0l-86 391l-116 494h-7l-204 -885h-328l-318 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332zM1108 1241q-157 93 -234 176 -q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM872 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM816 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357 -q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM297 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM700 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36 -q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1186" -d="M1137 0h-1088v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256zM410 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="999" -d="M938 0h-883v180l518 705h-487v233h834v-198l-504 -687h522v-233zM352 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1186" -d="M1137 0h-1088v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256zM426 1745q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="999" -d="M938 0h-883v180l518 705h-487v233h834v-198l-504 -687h522v-233zM329 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1186" -d="M1137 0h-1088v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256zM1040 1907v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="999" -d="M938 0h-883v180l518 705h-487v233h834v-198l-504 -687h522v-233zM952 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="784" -d="M592 1325q-127 0 -127 -137v-1188h-305v1200q0 191 94 279t299 88q158 0 278 -47l-71 -224q-92 29 -168 29z" /> - <glyph glyph-name="florin" unicode="&#x192;" -d="M745 -121q0 -177 -94 -274t-270 -97q-107 0 -184 25v240q59 -19 118 -19q125 0 125 170v881h-168v147l168 82v82q0 189 87.5 278t281.5 89q150 0 262 -47l-72 -224q-82 29 -145 29q-109 0 -109 -137v-70h228v-229h-228v-926z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1690" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560q0 363 181 556.5t519 193.5q346 0 524 -203q93 61 93 274h301l14 -22q-36 -177 -107 -277.5t-194 -150.5q61 -159 61 -373zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5 -t-94 -369.5zM1630 0z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1391" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q112 0 212 -34.5t171 -103.5q149 45 149 285h301l15 -22q-27 -134 -70.5 -212.5t-114.5 -132t-176 -79.5q52 -125 52 -279zM403 561q0 -166 54.5 -251t177.5 -85 -q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1268 0z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1812" -d="M1374 1462v-188q74 26 109 101t35 181h301l14 -22q-32 -154 -85.5 -237.5t-144.5 -135t-229 -71.5v-574q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-919q0 -156 70.5 -229.5t222.5 -73.5t220.5 76.5t68.5 228.5v917h309zM1548 0z -" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1556" -d="M952 0l-41 143h-18q-48 -77 -137.5 -120t-204.5 -43q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-117q71 22 110 95.5t39 189.5h301l15 -22q-32 -156 -86 -240t-145.5 -135t-233.5 -72v-817h-234zM1346 0z -" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="625" -d="M70 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5zM745 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1413" -d="M958 1462q0 -85 -47 -147l502 -1315h-332l-106 330h-535l-108 -330h-332l500 1315q-43 58 -43 145q0 110 68 174t180 64q109 0 181 -64.5t72 -171.5zM909 590l-102 289q-86 230 -100 299q-19 -71 -87 -267l-112 -321h401zM584 1753v16q46 42 99 102t75 91h342v-12 -q-23 -26 -114.5 -84t-199.5 -113h-202zM801 1460q0 45 -27 70.5t-69 25.5t-69.5 -25.5t-27.5 -70.5q0 -92 86 -96h19q38 2 63 27.5t25 68.5z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM471 1753v16q46 42 99 102t75 91h342v-12q-21 -24 -103 -76.5t-210 -120.5h-203zM881 1438q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM723 1436q0 45 -27 70.5t-69 25.5 -t-69.5 -25.5t-27.5 -70.5t24.5 -71t72.5 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1950" -d="M1829 0h-873v348h-491l-150 -348h-315l655 1462h1174v-254h-563v-321h526v-254h-526v-377h563v-256zM578 608h378v590h-127zM1004 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1878" -d="M1329 -20q-137 0 -249.5 50.5t-184.5 155.5q-98 -117 -196.5 -161.5t-256.5 -44.5q-161 0 -258.5 94.5t-97.5 259.5q0 178 121 262.5t362 93.5l191 6v84q0 69 -44.5 102t-121.5 33q-140 0 -305 -77l-99 202q189 101 422 101q227 0 342 -131q66 64 152.5 96.5t206.5 32.5 -q221 0 349 -137.5t128 -370.5v-148h-723q5 -130 77 -203t202 -73q196 0 380 88v-236q-79 -39 -171 -59t-226 -20zM760 518l-113 -4q-124 -4 -186 -47.5t-62 -134.5q0 -129 140 -129q101 0 161 61t60 162v92zM1307 922q-217 0 -234 -236h430q-2 112 -55 174t-141 62z -M797 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195q-197 0 -336 65l-90 -135l-162 108l90 136q-198 194 -198 581q0 365 180.5 557.5t517.5 192.5q198 0 344 -70l84 125l160 -104l-88 -131q194 -194 194 -572zM444 733q0 -191 56 -307l506 756q-84 45 -189 45q-185 0 -279 -124.5 -t-94 -369.5zM1186 733q0 180 -51 297l-500 -751q76 -39 180 -39q371 0 371 493zM637 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1268" -d="M1176 561q0 -273 -144 -427t-401 -154q-126 0 -234 45l-67 -101l-154 105l68 100q-152 156 -152 432q0 274 143 426t402 152q132 0 248 -52l55 82l152 -108l-58 -84q142 -155 142 -416zM403 561q0 -94 19 -166l317 475q-43 23 -106 23q-122 0 -176 -82.5t-54 -249.5z -M864 561q0 81 -12 141l-309 -462q38 -15 92 -15q122 0 175.5 84.5t53.5 251.5zM455 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5zM345 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143zM294 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1186" -d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204zM391 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="889" -d="M631 223q80 0 192 35v-227q-114 -51 -280 -51q-183 0 -266.5 92.5t-83.5 277.5v539h-146v129l168 102l88 236h195v-238h313v-229h-313v-539q0 -65 36.5 -96t96.5 -31zM300 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="625" -d="M70 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="444" -d="M406 1462l14 -22q-50 -197 -176 -479h-219q69 296 100 501h281z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1243" -d="M852 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1243" -d="M1055 1569v-27q-84 -84 -154.5 -167.5t-101.5 -133.5h-357q-29 47 -83 112.5t-173 188.5v27h203q147 -93 229 -176q84 87 234 176h203z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1243" -d="M283 1452h678v-211h-678v211z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1243" -d="M1014 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="625" -d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M842 1479q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM684 1477q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="422" -d="M221 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1243" -d="M457 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1204" -d="M156 1241v27q62 85 117.5 172.5t76.5 128.5h301v-21q-32 -53 -146 -153t-188 -154h-161zM553 1241v27q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M590 -360q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM432 -362q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-627 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-816 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-806 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-352 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-442 1241q-62 49 -171 150.5t-143 156.5v21h301q33 -72 83 -158.5t91 -142.5v-27h-161zM-840 1241q-73 57 -177.5 157t-135.5 150v21h301q33 -72 83 -158.5t91 -142.5v-27h-162z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-807 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1182" -d="M471 1272q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1182" -d="M186 1405q0 71 35.5 103t93.5 32q57 0 94 -32t37 -103q0 -68 -37 -100.5t-94 -32.5q-58 0 -93.5 32.5t-35.5 100.5zM733 1405q0 135 131 135q57 0 94 -32t37 -103q0 -68 -37 -100.5t-94 -32.5q-60 0 -95.5 32.5t-35.5 100.5zM487 1415q15 49 34.5 143t27.5 158h262v-20 -q-58 -128 -186 -307h-138v26z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM-56 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="584" -d="M117 721q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1290" -d="M1169 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM-99 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1710" -d="M1525 0h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1462zM-99 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="1049" -d="M436 0v1462h310v-1462h-310zM-99 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1712" -d="M1593 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM526 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM-58 1167q18 54 44.5 164t37.5 194h283v-24 -q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1565" -d="M926 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM-120 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1610" -d="M895 1227q-181 0 -279 -110t-98 -310q0 -203 66 -329.5t200 -198.5v-279h-639v260h371q-152 93 -234.5 253.5t-82.5 358.5q0 184 85.5 323.5t243.5 214.5t367 75q319 0 507.5 -167t188.5 -448q0 -198 -83 -356t-238 -254h374v-260h-643v279q139 72 205 201t66 329 -q0 199 -98.5 308.5t-278.5 109.5zM-58 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="834" -d="M465 1118v-768q0 -65 36.5 -96t96.5 -31q81 0 193 35v-227q-109 -51 -263 -51q-190 0 -279 92.5t-89 277.5v768h305zM-55 1405q0 71 35.5 103t93.5 32q57 0 94 -32t37 -103q0 -68 -37 -100.5t-94 -32.5q-58 0 -93.5 32.5t-35.5 100.5zM492 1405q0 135 131 135 -q57 0 94 -32t37 -103q0 -68 -37 -100.5t-94 -32.5q-60 0 -95.5 32.5t-35.5 100.5zM246 1415q15 49 34.5 143t27.5 158h262v-20q-58 -128 -186 -307h-138v26z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1376" -d="M184 1462h455q311 0 451.5 -88.5t140.5 -281.5q0 -131 -61.5 -215t-163.5 -101v-10q139 -31 200.5 -116t61.5 -226q0 -200 -144.5 -312t-392.5 -112h-547v1462zM494 883h180q126 0 182.5 39t56.5 129q0 84 -61.5 120.5t-194.5 36.5h-163v-325zM494 637v-381h202 -q128 0 189 49t61 150q0 182 -260 182h-192z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="1149" -d="M1108 1462v-256h-614v-1206h-310v1462h924z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1348" -d="M57 178l443 1290h350l440 -1292v-176h-1233v178zM674 1214q-2 -15 -12.5 -58.5t-30.5 -112.5t-258 -785h602l-252 768l-11 39q-36 129 -38 149z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1186" -d="M1137 0h-1088v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1567" -d="M1382 0h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1462z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1630" -d="M1075 870v-254h-520v254h520zM1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM438 733q0 -242 95.5 -367.5t281.5 -125.5q189 0 283 125.5t94 367.5t-94 368t-281 126t-283 -125.5t-96 -368.5z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1360" -d="M1360 0h-352l-383 616l-131 -94v-522h-310v1462h310v-669l122 172l396 497h344l-510 -647z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1331" -d="M666 1202q-12 -62 -37.5 -173t-38.5 -152l-277 -877h-313l496 1462h338l497 -1462h-313l-273 879q-10 29 -40 149t-39 174z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1931" -d="M803 0l-352 1147h-9q19 -350 19 -467v-680h-277v1462h422l346 -1118h6l367 1118h422v-1462h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1665" -d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" -d="M205 887h760v-254h-760v254zM123 1462h924v-254h-924v254zM1087 256v-256h-1005v256h1005z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1526" -d="M1341 0h-309v1204h-538v-1204h-310v1462h1157v-1462z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1286" -d="M494 774h102q143 0 214 56.5t71 164.5q0 109 -59.5 161t-186.5 52h-141v-434zM1194 1006q0 -236 -147.5 -361t-419.5 -125h-133v-520h-310v1462h467q266 0 404.5 -114.5t138.5 -341.5z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1214" -d="M78 0v244l471 522l-459 459v237h995v-254h-438q-51 0 -227 11l454 -451l-477 -524q240 12 285 12h463v-256h-1067z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1186" -d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1761" -d="M1020 444h14q161 0 252.5 84.5t91.5 231.5q0 136 -85 218.5t-232 82.5h-41v-617zM741 -20v225h-22q-186 0 -326 65.5t-220.5 196.5t-80.5 291q0 155 71.5 279.5t206.5 195t318 70.5h53v180h279v-180h53q182 0 317 -70.5t207 -195t72 -279.5q0 -160 -80.5 -291 -t-220.5 -196.5t-326 -65.5h-22v-225h-279zM741 1061h-41q-147 0 -232 -82t-85 -219q0 -144 90 -230t254 -86h14v617z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1366" -d="M1366 0h-354l-340 553l-340 -553h-332l485 754l-454 708h342l315 -526l309 526h334l-459 -725z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1794" -d="M1686 983q0 -281 -149 -414t-450 -133h-51v-436h-278v436h-51q-305 0 -451.5 132.5t-146.5 410.5v483h290v-479q0 -157 75 -227t253 -70h31v776h278v-776h31q174 0 251 72.5t77 220.5v483h291v-479z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1610" -d="M805 1227q-181 0 -279 -110t-98 -310q0 -203 66 -329.5t200 -198.5v-279h-639v260h371q-152 93 -234.5 253.5t-82.5 358.5q0 184 85.5 323.5t243.5 214.5t367 75q319 0 507.5 -167t188.5 -448q0 -198 -83 -356t-238 -254h374v-260h-643v279q139 72 205 201t66 329 -q0 199 -98.5 308.5t-278.5 109.5z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM-3 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM400 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z -" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM299 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM702 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36 -q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1325" -d="M623 223q118 0 171.5 71.5t57.5 250.5v12q0 180 -55.5 258t-178.5 78q-215 0 -215 -340q0 -165 53.5 -247.5t166.5 -82.5zM530 -20q-205 0 -321.5 152t-116.5 423q0 278 121.5 430t339.5 152q118 0 194.5 -42t126.5 -126h15q24 94 67 149h252q-32 -97 -51.5 -222.5 -t-19.5 -229.5v-312q0 -118 84 -118q32 0 59 10v-240q-16 -10 -61.5 -18t-75.5 -8q-112 0 -171 38.5t-93 128.5h-21q-110 -167 -328 -167zM520 1272q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="1137" -d="M840 688v-211h-168q-146 0 -219.5 -32.5t-73.5 -104.5q0 -125 268 -125q103 0 213 22.5t199 63.5v-244q-172 -77 -434 -77q-266 0 -406.5 82.5t-140.5 246.5q0 107 64 174t208 95v10q-213 49 -213 258q0 141 127 217t361 76q115 0 231.5 -23t204.5 -61l-94 -221 -q-119 48 -188 63.5t-146 15.5q-113 0 -168 -25t-55 -79q0 -66 66.5 -93.5t209.5 -27.5h154zM508 1272q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1346" -d="M1192 -492h-305v1145q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-1221zM590 1272q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="834" -d="M465 1118v-768q0 -65 36.5 -96t96.5 -31q81 0 193 35v-227q-109 -51 -263 -51q-190 0 -279 92.5t-89 277.5v768h305zM228 1272q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1321" -d="M657 -18q-259 0 -386.5 129.5t-127.5 398.5v608h306v-618q0 -146 52.5 -210.5t166.5 -64.5q125 0 182 93t57 296q0 107 -14 214t-57 290h307q40 -157 54.5 -275.5t14.5 -236.5q0 -314 -136.5 -469t-418.5 -155zM254 1405q0 71 35.5 103t93.5 32q57 0 94 -32t37 -103 -q0 -68 -37 -100.5t-94 -32.5q-58 0 -93.5 32.5t-35.5 100.5zM801 1405q0 135 131 135q57 0 94 -32t37 -103q0 -68 -37 -100.5t-94 -32.5q-60 0 -95.5 32.5t-35.5 100.5zM555 1415q15 49 34.5 143t27.5 158h262v-20q-58 -128 -186 -307h-138v26z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1325" -d="M623 223q118 0 171.5 71.5t57.5 250.5v12q0 180 -55.5 258t-178.5 78q-215 0 -215 -340q0 -165 53.5 -247.5t166.5 -82.5zM530 -20q-205 0 -321.5 152t-116.5 423q0 278 121.5 430t339.5 152q118 0 194.5 -42t126.5 -126h15q24 94 67 149h252q-32 -97 -51.5 -222.5 -t-19.5 -229.5v-312q0 -118 84 -118q32 0 59 10v-240q-16 -10 -61.5 -18t-75.5 -8q-112 0 -171 38.5t-93 128.5h-21q-110 -167 -328 -167z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1352" -d="M694 1567q235 0 370.5 -104t135.5 -289q0 -149 -76 -235.5t-217 -109.5v-6q188 -24 280.5 -120.5t92.5 -270.5q0 -210 -130.5 -331t-358.5 -121q-200 0 -326 63v-535h-305v1588q0 224 140 347.5t394 123.5zM686 1329q-221 0 -221 -262v-774q48 -31 118 -50.5t130 -19.5 -q128 0 190 62t62 174q0 110 -66.5 167.5t-193.5 57.5h-72v242h53q99 0 154 54.5t55 156.5q0 92 -55 142t-154 50z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="1163" -d="M651 -492h-323q0 86 28 229t72 275l-426 1106h317l164 -493q21 -62 54 -183t47 -194h6q4 44 32.5 158.5t59.5 203.5l164 508h317l-413 -1100q-45 -116 -72 -256.5t-27 -253.5z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1268" -d="M485 918q-237 151 -237 342q0 144 120.5 225.5t333.5 81.5q111 0 215.5 -22.5t245.5 -88.5l-121 -215q-92 45 -178 72.5t-174 27.5q-73 0 -110 -27t-37 -73q0 -54 69 -106.5t207 -122.5q184 -94 270.5 -217t86.5 -283q0 -259 -141 -395.5t-406 -136.5q-244 0 -390.5 124 -t-146.5 334q0 182 96.5 302t296.5 178zM864 492q0 93 -47.5 168t-152.5 133q-123 -35 -190.5 -125.5t-67.5 -216.5q0 -101 60 -163.5t165 -62.5q111 0 172 68t61 199z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="1137" -d="M840 688v-211h-168q-146 0 -219.5 -32.5t-73.5 -104.5q0 -125 268 -125q103 0 213 22.5t199 63.5v-244q-172 -77 -434 -77q-266 0 -406.5 82.5t-140.5 246.5q0 107 64 174t208 95v10q-213 49 -213 258q0 141 127 217t361 76q115 0 231.5 -23t204.5 -61l-94 -221 -q-119 48 -188 63.5t-146 15.5q-113 0 -168 -25t-55 -79q0 -66 66.5 -93.5t209.5 -27.5h154z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="1020" -d="M1010 -37q0 -149 -138 -342h-307q69 93 108.5 170.5t39.5 124.5q0 32 -39.5 52.5t-141.5 39.5q-440 77 -440 459q0 209 131 420t439 463q-28 -7 -99.5 -12t-122.5 -5h-290v223h854v-182q-201 -167 -333 -316t-198.5 -289.5t-66.5 -287.5q0 -74 19.5 -119t56 -71.5 -t88 -40.5t116.5 -27q166 -33 245 -95.5t79 -164.5z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1346" -d="M1192 -492h-305v1145q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-1221z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1266" -d="M1174 780q0 -405 -134.5 -602.5t-408.5 -197.5q-265 0 -402 205.5t-137 594.5q0 407 134 603t405 196q265 0 404 -203.5t139 -595.5zM631 201q117 0 170.5 116.5t58.5 354.5h-457q4 -235 56.5 -353t171.5 -118zM633 1358q-108 0 -163 -106.5t-64 -352.5h454 -q-8 230 -60.5 344.5t-166.5 114.5z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="834" -d="M465 1118v-768q0 -65 36.5 -96t96.5 -31q81 0 193 35v-227q-109 -51 -263 -51q-190 0 -279 92.5t-89 277.5v768h305z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="1270" -d="M463 582l141 170l314 366h325l-440 -512l467 -606h-348l-314 426l-143 -90v-336h-305v1118h305v-293l-3 -161l-3 -82h4z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="1260" -d="M8 0l473 1057l-35 92q-36 90 -82 127t-141 37q-50 0 -102 -13v252q79 17 166 17q115 0 196.5 -35t139 -108.5t108.5 -215.5l281 -772q37 -104 75 -153t93 -49q33 0 69 10v-236q-23 -12 -80 -21t-96 -9q-110 0 -180 54t-111 173q-114 323 -135.5 389.5t-34.5 118.5h-6 -q-46 -154 -76 -230l-206 -485h-316z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1352" -d="M465 465q0 -121 44 -181.5t138 -60.5q126 0 183 86.5t57 282.5v526h305v-1118h-231l-43 150h-15q-42 -85 -102 -127.5t-148 -42.5q-62 0 -114 23t-84 67l5 -85l5 -157v-320h-305v1610h305v-653z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1219" -d="M6 1118h313l218 -620l69 -228h8q115 153 166 351t51 497h308q0 -256 -44 -441.5t-139.5 -351t-255.5 -325.5h-274z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="1020" -d="M92 438q0 126 73 221.5t210 149.5v10q-219 52 -219 254q0 107 67.5 171.5t220.5 101.5q-205 -13 -272 -13h-22v223h804v-210h-75q-185 0 -302.5 -68.5t-117.5 -185.5q0 -95 64.5 -136t211.5 -41h166v-210h-168q-173 0 -250 -61.5t-77 -184.5q0 -71 23.5 -113.5t72 -69 -t184.5 -53.5q166 -33 245 -95.5t79 -164.5q0 -149 -138 -342h-307q69 93 108.5 170.5t39.5 124.5q0 32 -39.5 52.5t-141.5 39.5q-217 38 -328.5 147t-111.5 283z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1513" -d="M1300 219q67 0 130 35v-219q-41 -25 -104.5 -40t-117.5 -15q-150 0 -228.5 82t-78.5 245v578h-338v-885h-305v885h-233v131l178 102h1239v-233h-236v-566q0 -51 27 -75.5t67 -24.5z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1266" -d="M1174 559q0 -273 -122.5 -426t-340.5 -153q-154 0 -281 77h-18q16 -172 16 -268v-281h-307v1053q0 275 138.5 426.5t393.5 151.5q155 0 273 -70.5t183 -202.5t65 -307zM647 893q-113 0 -166 -76.5t-53 -241.5v-264q43 -43 101 -64.5t118 -21.5q114 0 163.5 78.5 -t49.5 255.5q0 176 -48.5 255t-164.5 79z" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="1020" -d="M92 494q0 328 134.5 486.5t424.5 158.5q184 0 357 -80l-88 -232q-173 66 -277 66q-126 0 -183 -98t-57 -293q0 -74 25 -121t75 -75.5t183 -57.5q167 -35 245.5 -100t78.5 -171q0 -152 -138 -356h-307q148 214 148 311q0 36 -41 57.5t-140 41.5q-217 42 -328.5 158.5 -t-111.5 304.5z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1337" -d="M1192 475q0 -146 -67.5 -259.5t-193 -174.5t-292.5 -61q-260 0 -403.5 150.5t-143.5 414.5q0 575 631 575h573v-223h-284q180 -190 180 -422zM406 545q0 -156 59.5 -238t177.5 -82q116 0 176 76.5t60 220.5q0 111 -29.5 201.5t-97.5 173.5h-50q-162 0 -229 -82t-67 -270z -" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="1102" -d="M627 889v-539q0 -65 36.5 -96t96.5 -31q80 0 192 35v-227q-107 -51 -262 -51q-190 0 -279 92.5t-89 277.5v539h-281v127l176 102h807v-229h-397z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1321" -d="M657 -18q-259 0 -386.5 129.5t-127.5 398.5v608h306v-618q0 -146 52.5 -210.5t166.5 -64.5q125 0 182 93t57 296q0 107 -14 214t-57 290h307q40 -157 54.5 -275.5t14.5 -236.5q0 -314 -136.5 -469t-418.5 -155z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1622" -d="M1237 590q0 156 -47 239.5t-137 83.5q-57 0 -89 -39.5t-32 -136.5v-518q137 12 221 114t84 257zM649 -492v480q-275 30 -416 175.5t-141 391.5q0 155 55 298.5t175 289.5l221 -144q-90 -122 -127 -225.5t-37 -224.5q0 -278 270 -330v516q0 185 107 292.5t293 107.5 -q225 0 353 -146t128 -397q0 -171 -74.5 -301.5t-210 -208t-313.5 -94.5v-480h-283z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1212" -d="M240 1133q90 0 147 -25.5t97 -82t81 -179.5l74 -221l279 493h307l-455 -762l195 -475q28 -64 63 -90.5t96 -26.5q49 0 101 13v-238q-85 -31 -195 -31q-125 0 -204.5 67.5t-131.5 225.5l-104 326l-314 -619h-325l502 885l-134 352q-25 70 -60 101t-91 31t-115 -19v244 -q114 31 187 31z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1714" -d="M1008 1554v-1337q176 17 246.5 99.5t70.5 261.5q0 224 -80 540h283q78 -281 78 -543q0 -274 -150.5 -425t-447.5 -168v-474h-283v474q-290 9 -436 153.5t-146 419.5v563h291v-571q0 -173 64 -246.5t227 -85.5v1339h283z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1767" -d="M1208 -20q-122 0 -200 52.5t-119 157.5h-10q-46 -110 -123.5 -160t-196.5 -50q-214 0 -332 151t-118 412q0 154 24 284t88 291h293q-125 -262 -125 -565q0 -164 49.5 -250t145.5 -86q83 0 121 58t38 192v295h281v-295q0 -135 38 -192.5t122 -57.5q94 0 144 84.5t50 247.5 -q0 307 -125 569h293q64 -162 88.5 -291t24.5 -284q0 -263 -119 -413t-332 -150z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="834" -d="M465 1118v-768q0 -65 36.5 -96t96.5 -31q81 0 193 35v-227q-109 -51 -263 -51q-190 0 -279 92.5t-89 277.5v768h305zM12 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM415 1405q0 70 40.5 102.5 -t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1321" -d="M657 -18q-259 0 -386.5 129.5t-127.5 398.5v608h306v-618q0 -146 52.5 -210.5t166.5 -64.5q125 0 182 93t57 296q0 107 -14 214t-57 290h307q40 -157 54.5 -275.5t14.5 -236.5q0 -314 -136.5 -469t-418.5 -155zM318 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98 -q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM721 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM537 1272 -q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1321" -d="M657 -18q-259 0 -386.5 129.5t-127.5 398.5v608h306v-618q0 -146 52.5 -210.5t166.5 -64.5q125 0 182 93t57 296q0 107 -14 214t-57 290h307q40 -157 54.5 -275.5t14.5 -236.5q0 -314 -136.5 -469t-418.5 -155zM549 1272q18 54 44.5 164t37.5 194h283v-24 -q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1767" -d="M1208 -20q-122 0 -200 52.5t-119 157.5h-10q-46 -110 -123.5 -160t-196.5 -50q-214 0 -332 151t-118 412q0 154 24 284t88 291h293q-125 -262 -125 -565q0 -164 49.5 -250t145.5 -86q83 0 121 58t38 192v295h281v-295q0 -135 38 -192.5t122 -57.5q94 0 144 84.5t50 247.5 -q0 307 -125 569h293q64 -162 88.5 -291t24.5 -284q0 -263 -119 -413t-332 -150zM780 1272q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1499" -d="M991 991q-22 169 -91.5 263t-170.5 94q-59 0 -94 -28t-35 -85q0 -114 103.5 -178t287.5 -66zM1309 762l2 -43v-45q0 -338 -158.5 -516t-464.5 -178q-219 0 -328.5 82.5t-109.5 248.5q0 53 6 105.5t6 95.5q0 42 -13.5 56t-41.5 14q-42 0 -90 -29l-76 182q149 86 301 86 -q90 0 141.5 -47t51.5 -135q0 -63 -7.5 -130t-7.5 -138q0 -75 48.5 -114.5t140.5 -39.5q145 0 218.5 115t73.5 362v31l-2 33q-224 2 -380 60t-237 162.5t-81 244.5q0 161 112.5 256.5t309.5 95.5q241 0 383 -146.5t186 -439.5h146v-229h-129z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1292" -d="M637 852q62 136 122 258.5t112 210.5t110.5 121t153.5 33q85 0 151 -27v-229q-44 12 -69 12q-40 0 -66.5 -21.5t-52.5 -60.5q-67 -96 -158 -274t-145 -320v-555h-308v559l-487 903h336z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="2046" -d="M1350 -20q-237 0 -320 210h-10q-82 -210 -320 -210q-221 0 -335.5 135t-114.5 387q0 178 63 387h-262v127l174 102h1770v-229h-258q63 -209 63 -387q0 -252 -114.5 -387t-335.5 -135zM1520 508q0 169 -64 381h-864q-62 -201 -62 -377q0 -150 46 -222.5t149 -72.5 -q84 0 122 57.5t38 192.5v137h280v-137q0 -135 38 -192.5t122 -57.5q103 0 149 72t46 219z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM573 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM264 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM667 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97 -t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1649" -d="M1133 -18q-116 0 -203 38v256q99 -43 172 -43q54 0 79 15.5t37.5 49.5t12.5 89v127q0 89 -41.5 124.5t-136.5 35.5h-336v-674h-309v1204h-367v258h1114v-258h-438v-272h348q228 0 351.5 -103t123.5 -292v-129q0 -209 -102.5 -317.5t-304.5 -108.5z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="1149" -d="M1108 1462v-256h-614v-1206h-310v1462h924zM465 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1386" -d="M842 1225q-170 0 -277 -95.5t-119 -265.5h633v-254h-635q13 -178 113.5 -275t288.5 -97q171 0 414 77v-260q-106 -40 -208.5 -57.5t-224.5 -17.5q-344 0 -526 193.5t-182 555.5q0 227 89 398.5t255.5 263.5t392.5 92q130 0 240.5 -27.5t218.5 -75.5l-111 -252l-87 37 -q-142 60 -275 60z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1128" -d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 -q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM-3 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM400 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z -" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="678" -d="M31 -430q-105 0 -183 22v258q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="2046" -d="M1274 901h115q270 0 417.5 -116t147.5 -328q0 -228 -147 -342.5t-435 -114.5h-407v1204h-291l-16 -134q-62 -511 -109.5 -717.5t-138.5 -290.5t-246 -82q-84 0 -148 22v254q58 -20 109 -20q53 0 84 48.5t58.5 180t73 431t77.5 566.5h856v-561zM1274 254h94 -q141 0 206.5 50.5t65.5 152.5q0 99 -65.5 144.5t-228.5 45.5h-72v-393z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="2052" -d="M1960 457q0 -228 -147 -342.5t-435 -114.5h-407v631h-477v-631h-310v1462h310v-573h477v573h309v-561h115q270 0 417.5 -116t147.5 -328zM1280 254h94q141 0 207 50.5t66 152.5q0 101 -67.5 145.5t-227.5 44.5h-72v-393z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1649" -d="M1231 0v514q0 89 -35 124.5t-115 35.5h-364v-674h-309v1204h-367v258h1114v-258h-438v-272h385q208 0 323 -104.5t115 -290.5v-537h-309z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1376" -d="M1376 0h-352l-530 741v-741h-310v1462h310v-708l524 708h330l-533 -702zM580 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1686" -d="M184 1462h279v-706l-4 -189l-10 -215h6l675 1110h371v-1462h-276v702q0 141 18 418h-8l-678 -1120h-373v1462zM791 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1337" -d="M1337 1462l-452 -1034q-85 -195 -159.5 -280t-176.5 -126.5t-248 -41.5q-125 0 -233 30v266q88 -36 219 -36q83 0 134 38.5t85 133.5l-506 1050h328l360 -815h10l18 50l302 765h319zM1169 1937q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273 -q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1526" -d="M1341 0h-428v-426h-299v426h-430v1462h310v-1204h538v1204h309v-1462z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1307" -d="M494 901h122q286 0 442 -116t156 -328q0 -457 -604 -457h-426v1462h924v-256h-614v-305zM494 254h104q157 0 230 50.5t73 152.5q0 101 -74 145.5t-254 44.5h-79v-393z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1376" -d="M184 1462h455q311 0 451.5 -88.5t140.5 -281.5q0 -131 -61.5 -215t-163.5 -101v-10q139 -31 200.5 -116t61.5 -226q0 -200 -144.5 -312t-392.5 -112h-547v1462zM494 883h180q126 0 182.5 39t56.5 129q0 84 -61.5 120.5t-194.5 36.5h-163v-325zM494 637v-381h202 -q128 0 189 49t61 150q0 182 -260 182h-192z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="1149" -d="M1108 1462v-256h-614v-1206h-310v1462h924z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1565" -d="M10 258h113q145 290 229 579.5t125 624.5h852v-1204h195v-684h-299v426h-916v-426h-299v684zM723 1204q-32 -229 -106.5 -485t-167.5 -461h571v946h-297z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1931" -d="M520 760l-491 702h319l473 -708v708h289v-708l473 708h320l-492 -702l520 -760h-332l-489 741v-741h-289v741l-489 -741h-332z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1327" -d="M1194 1120q0 -141 -100 -233t-271 -117v-6q201 -20 308.5 -111t107.5 -237q0 -202 -163.5 -319t-452.5 -117q-322 0 -517 79v260q94 -45 220.5 -70.5t236.5 -25.5q369 0 369 215q0 97 -118.5 149t-350.5 52h-137v242h123q232 0 338 44t106 146q0 75 -66.5 119.5 -t-199.5 44.5q-206 0 -398 -119l-135 207q125 83 265 121.5t311 38.5q239 0 381.5 -100t142.5 -263z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1686" -d="M184 1462h279v-706l-4 -189l-10 -215h6l675 1110h371v-1462h-276v702q0 141 18 418h-8l-678 -1120h-373v1462z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1686" -d="M184 1462h279v-706l-4 -189l-10 -215h6l675 1110h371v-1462h-276v702q0 141 18 418h-8l-678 -1120h-373v1462zM1327 1937q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1376" -d="M1376 0h-352l-530 741v-741h-310v1462h310v-708l524 708h330l-533 -702z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1526" -d="M1341 0h-309v1204h-358l-16 -134q-62 -511 -109.5 -717.5t-138.5 -290.5t-246 -82q-84 0 -148 22v254q58 -20 109 -20q53 0 84 48.5t58.5 180t73 431t77.5 566.5h923v-1462z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1931" -d="M803 0l-352 1147h-9q19 -350 19 -467v-680h-277v1462h422l346 -1118h6l367 1118h422v-1462h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1567" -d="M1382 0h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1462z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1526" -d="M1341 0h-309v1204h-538v-1204h-310v1462h1157v-1462z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1286" -d="M494 774h102q143 0 214 56.5t71 164.5q0 109 -59.5 161t-186.5 52h-141v-434zM1194 1006q0 -236 -147.5 -361t-419.5 -125h-133v-520h-310v1462h467q266 0 404.5 -114.5t138.5 -341.5z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1186" -d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1337" -d="M1337 1462l-452 -1034q-85 -195 -159.5 -280t-176.5 -126.5t-248 -41.5q-125 0 -233 30v266q88 -36 219 -36q83 0 134 38.5t85 133.5l-506 1050h328l360 -815h10l18 50l302 765h319z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1761" -d="M1020 444h14q161 0 252.5 84.5t91.5 231.5q0 136 -85 218.5t-232 82.5h-41v-617zM741 -20v225h-22q-186 0 -326 65.5t-220.5 196.5t-80.5 291q0 155 71.5 279.5t206.5 195t318 70.5h53v180h279v-180h53q182 0 317 -70.5t207 -195t72 -279.5q0 -160 -80.5 -291 -t-220.5 -196.5t-326 -65.5h-22v-225h-279zM741 1061h-41q-147 0 -232 -82t-85 -219q0 -144 90 -230t254 -86h14v617z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1366" -d="M1366 0h-354l-340 553l-340 -553h-332l485 754l-454 708h342l315 -526l309 526h334l-459 -725z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1599" -d="M1341 246h218v-672h-299v426h-1076v1462h310v-1204h538v1204h309v-1216z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1491" -d="M1307 0h-310v565q-154 -52 -256.5 -71t-195.5 -19q-209 0 -322.5 100.5t-113.5 282.5v604h309v-516q0 -106 49 -159.5t166 -53.5q82 0 163.5 16.5t200.5 57.5v655h310v-1462z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="2208" -d="M1260 258h454v1204h309v-1462h-1839v1462h310v-1204h454v1204h312v-1204z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="2281" -d="M1260 258h454v1204h309v-1216h218v-672h-299v426h-1758v1462h310v-1204h454v1204h312v-1204zM2208 0z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1489" -d="M1397 457q0 -228 -152.5 -342.5t-451.5 -114.5h-426v1204h-367v258h676v-561h123q286 0 442 -116t156 -328zM676 254h104q157 0 230 50.5t73 152.5q0 101 -74 145.5t-253 44.5h-80v-393z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1855" -d="M1184 457q0 -228 -151.5 -342.5t-448.5 -114.5h-400v1462h310v-561h100q281 0 435.5 -116.5t154.5 -327.5zM494 254h81q153 0 224 50.5t71 152.5t-68.5 146t-240.5 44h-67v-393zM1671 0h-309v1462h309v-1462z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1307" -d="M1214 457q0 -457 -604 -457h-426v1462h310v-561h122q286 0 442 -116t156 -328zM494 254h104q157 0 230 50.5t73 152.5q0 101 -74 145.5t-254 44.5h-79v-393z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1358" -d="M553 1225q-99 0 -194.5 -28t-188.5 -67l-98 250q232 103 487 103q325 0 502.5 -199.5t177.5 -554.5q0 -362 -182.5 -555.5t-526.5 -193.5q-237 0 -432 75v260q243 -77 414 -77q191 0 291.5 93t109.5 279h-634v254h632q-6 170 -102 265.5t-256 95.5z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2191" -d="M2073 733q0 -360 -168.5 -556.5t-483.5 -196.5q-289 0 -455 166.5t-192 484.5h-280v-631h-310v1462h310v-573h286q34 289 198.5 442.5t444.5 153.5q316 0 483 -196t167 -556zM1092 733q0 -244 84 -368.5t245 -124.5q332 0 332 493q0 244 -82.5 369t-245.5 125 -q-164 0 -248.5 -125t-84.5 -369z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1362" -d="M676 561l-342 -561h-344l416 643q-124 50 -190 154.5t-66 246.5q0 201 142.5 309.5t409.5 108.5h476v-1462h-310v561h-192zM868 1208h-153q-120 0 -186 -43t-66 -143q0 -97 64 -153t196 -56h145v395z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1274" -d="M92 670q0 385 146.5 584.5t457.5 252.5q151 26 451 66l35 -266q-130 -15 -461 -64q-126 -20 -188 -60t-92.5 -114t-37.5 -197h15q53 82 140 126t187 44q207 0 322 -126.5t115 -362.5q0 -272 -145.5 -422.5t-401.5 -150.5t-399.5 183.5t-143.5 506.5zM653 227 -q217 0 217 299q0 291 -196 291q-54 0 -107.5 -25t-98 -65.5t-65.5 -81.5q0 -203 65 -310.5t185 -107.5z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1309" -d="M1192 825q0 -90 -56.5 -153.5t-166.5 -81.5v-8q119 -14 188.5 -81.5t69.5 -166.5q0 -163 -128 -248.5t-366 -85.5h-573v1118h573q230 0 344.5 -74.5t114.5 -218.5zM911 350q0 66 -51 95.5t-153 29.5h-242v-264h248q97 0 147.5 36.5t50.5 102.5zM883 801q0 102 -162 102 -h-256v-221h221q97 0 147 28t50 91z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="979" -d="M932 1118v-229h-467v-889h-305v1118h772z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1360" -d="M860 223v666h-229q-25 -186 -68.5 -353t-120.5 -313h418zM1329 -401h-274v401h-752v-401h-274v624h94q96 149 161 376t91 519h790v-895h164v-624z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1788" -d="M752 575v543h284v-543l398 543h315l-412 -536l451 -582h-326l-426 567v-567h-284v567l-426 -567h-326l451 582l-412 536h315z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="1137" -d="M438 688q173 0 245.5 28t72.5 89q0 54 -53 81t-175 27q-77 0 -174.5 -19t-177.5 -52l-90 213q119 45 231 64.5t250 19.5q209 0 335 -80t126 -217q0 -189 -223 -246v-10q137 -34 195.5 -96.5t58.5 -163.5q0 -102 -66 -181t-191 -122t-294 -43q-280 0 -430 69v252 -q86 -40 188.5 -63t198.5 -23q149 0 223 33.5t74 95.5q0 68 -78 100.5t-240 32.5h-118v211h112z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1475" -d="M455 1118v-442q0 -70 -23 -342l516 784h367v-1118h-295v446q0 119 20 336l-514 -782h-366v1118h295z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1475" -d="M455 1118v-442q0 -70 -23 -342l516 784h367v-1118h-295v446q0 119 20 336l-514 -782h-366v1118h295zM1225 1599q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="1268" -d="M893 1118h336l-443 -536l482 -582h-346l-457 567v-567h-305v1118h305v-543z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1321" -d="M1161 0h-305v889h-281q-32 -375 -78 -559.5t-122.5 -267t-200.5 -82.5q-106 0 -174 32v244q49 -20 98 -20q57 0 95.5 82t69 273.5t52.5 526.5h846v-1118z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1729" -d="M1569 0h-285v881l-16 -62q-54 -211 -97 -319l-198 -500h-217l-201 504q-43 110 -92 309l-19 68v-881h-284v1118h420l192 -477q30 -77 55.5 -177t34.5 -171q33 150 51.5 215.5t40.5 120.5t199 489h416v-1118z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1356" -d="M465 1118v-430h426v430h305v-1118h-305v461h-426v-461h-305v1118h305z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1335" -d="M1176 1118v-1118h-306v889h-405v-889h-305v1118h1016z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1296" -d="M774 -20q-197 0 -309 143h-16q16 -140 16 -162v-453h-305v1610h248l43 -145h14q107 166 317 166q198 0 310 -153t112 -425q0 -179 -52.5 -311t-149.5 -201t-228 -69zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q205 0 205 338 -q0 165 -50.5 247.5t-158.5 82.5z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="1133" -d="M1085 1118v-229h-366v-889h-305v889h-367v229h1038z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1667" -d="M977 1124q280 -23 439 -173t159 -392q0 -247 -157 -395.5t-441 -171.5v-484h-283v484q-283 26 -442.5 177.5t-159.5 389.5q0 253 154 399.5t448 165.5v432h283v-432zM406 559q0 -141 77 -229.5t211 -106.5v672q-129 -17 -208.5 -109t-79.5 -227zM1262 559 -q0 132 -75 222.5t-210 109.5v-668q133 18 209 107t76 229z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="1184" -d="M389 571l-360 547h346l217 -356l219 356h346l-364 -547l381 -571h-347l-235 383l-236 -383h-346z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1409" -d="M1217 223h163v-624h-274v401h-946v1118h305v-889h446v889h306v-895z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1343" -d="M428 1118v-409q0 -146 135 -146q88 0 163.5 20t152.5 52v483h305v-1118h-305v444q-106 -56 -197 -79t-176 -23q-183 0 -283 93.5t-100 266.5v416h305z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1985" -d="M1825 0h-1665v1118h305v-889h375v889h305v-889h375v889h305v-1118z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="2017" -d="M1825 223h164v-624h-275v401h-1554v1118h305v-889h375v889h305v-889h375v889h305v-895zM1985 0z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1454" -d="M662 1118v-432h215q258 0 381.5 -82t123.5 -248q0 -356 -493 -356h-533v889h-356v229h662zM1077 352q0 65 -51.5 94t-155.5 29h-208v-264h212q203 0 203 141z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1741" -d="M465 686h147q256 0 379 -82t123 -248q0 -177 -123 -266.5t-368 -89.5h-463v1118h305v-432zM809 352q0 65 -52 94t-155 29h-137v-264h141q203 0 203 141zM1581 0h-305v1118h305v-1118z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1257" -d="M465 686h215q258 0 382 -82t124 -248q0 -356 -494 -356h-532v1118h305v-432zM881 352q0 65 -52 94t-155 29h-209v-264h213q203 0 203 141z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="1049" -d="M418 -20q-210 0 -344 69v238q174 -80 327 -80q110 0 170 64t70 192h-422v203h422q-8 123 -61.5 185t-153.5 62q-119 0 -260 -63l-86 209q75 35 169.5 57.5t188.5 22.5q262 0 390 -142t128 -426q0 -292 -135.5 -441.5t-402.5 -149.5z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1796" -d="M1704 561q0 -275 -139 -428t-385 -153q-221 0 -353.5 124t-160.5 357h-201v-461h-305v1118h305v-430h205q29 214 165.5 332.5t350.5 118.5q237 0 377.5 -155.5t140.5 -422.5zM973 561q0 -167 49 -251.5t162 -84.5q111 0 160 84.5t49 251.5t-49.5 249.5t-161.5 82.5 -q-111 0 -160 -83t-49 -249z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1214" -d="M330 0h-330l301 442q-108 45 -163.5 130t-55.5 200q0 162 121.5 254t331.5 92h520v-1118h-305v416h-168zM381 770q0 -70 55 -109.5t144 -39.5h170v282h-209q-75 0 -117.5 -36.5t-42.5 -96.5z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M620 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M281 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM684 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1346" -d="M829 -492q-107 0 -184 25v240q59 -19 119 -19q123 0 123 170v690q0 110 -47 165t-133 55q-127 0 -184.5 -87.5t-57.5 -281.5v-465h-305v1196h-156v199h156v161h305v-161h315v-199h-315v-18q0 -83 -14 -265h18q102 164 324 164q197 0 298 -105t101 -304v-789 -q0 -179 -94 -275t-269 -96z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="979" -d="M932 1118v-229h-467v-889h-305v1118h772zM361 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="1073" -d="M653 -20q-278 0 -419.5 145.5t-141.5 427.5q0 298 135 442t424 144q184 0 357 -74l-88 -217q-170 65 -277 65q-105 0 -162.5 -61t-72.5 -186h421v-203h-421q14 -131 69 -193.5t158 -62.5q79 0 158.5 18t181.5 62v-234q-142 -73 -322 -73z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="1018" -d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 -t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="625" -d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM465 0h-305v1118h305v-1118z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM-27 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM376 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z -" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="625" -d="M70 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5zM147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1819" -d="M813 0v889h-238q-32 -375 -78 -559.5t-122.5 -267t-200.5 -82.5q-106 0 -174 32v244q49 -20 98 -20q57 0 95.5 82t69 273.5t52.5 526.5h803v-432h142q248 0 367.5 -82t119.5 -248q0 -356 -481 -356h-453zM1442 352q0 65 -49 94t-146 29h-129v-264h133q191 0 191 141z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1819" -d="M1118 686h142q248 0 367.5 -82t119.5 -248q0 -356 -481 -356h-453v461h-348v-461h-305v1118h305v-430h348v430h305v-432zM1442 352q0 65 -49 94t-146 29h-129v-264h133q191 0 191 141z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1346" -d="M1192 0h-305v592q0 242 -180 242q-127 0 -184.5 -87.5t-57.5 -281.5v-465h-305v1196h-156v199h156v161h305v-161h315v-199h-315v-18q0 -83 -14 -265h18q102 164 324 164q197 0 298 -105t101 -304v-668z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="1268" -d="M893 1118h336l-443 -536l482 -582h-346l-457 567v-567h-305v1118h305v-543zM506 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1475" -d="M455 1118v-442q0 -70 -23 -342l516 784h367v-1118h-295v446q0 119 20 336l-514 -782h-366v1118h295zM719 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM1070 1599q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273 -q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1376" -d="M160 0v1118h305v-889h446v889h306v-1118h-392v-401h-274v401h-391z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="2228" -d="M1534 1235q-39 0 -84 -16.5t-113 -61.5l-108 215q64 49 152 79t163 30q268 0 416.5 -187t148.5 -526q0 -375 -164 -581.5t-462 -206.5q-116 0 -205 36t-166 111q-77 -75 -164 -111t-203 -36q-297 0 -461.5 206t-164.5 582q0 338 148.5 525.5t416.5 187.5q74 0 161.5 -29 -t153.5 -80l-108 -215q-68 45 -113.5 61.5t-83.5 16.5q-128 0 -199 -121.5t-71 -347.5q0 -251 93 -383.5t269 -132.5q83 0 168 69v396h310v-396q72 -69 180 -69q176 0 268 132.5t92 383.5q0 225 -71.5 347t-198.5 122z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1812" -d="M401 0l-395 1118h320l194 -641q33 -100 45 -229h8q16 83 76 229l109 277l-127 364h344l184 -620l62 -228h8q103 155 149.5 356.5t46.5 491.5h308q0 -368 -100 -641t-308 -477h-274l-164 381l-172 -381h-314z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1378" -d="M565 1124v-223h123q286 0 442 -116t156 -328q0 -457 -604 -457h-426v1124h-256v230h256v202h309v-202h377v-230h-377zM565 254h105q157 0 230 50.5t73 152.5q0 101 -74 145.5t-254 44.5h-80v-393z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1356" -d="M563 889v-203h215q258 0 382 -82t124 -248q0 -356 -493 -356h-533v889h-258v229h258v201h305v-201h359v-229h-359zM979 352q0 65 -52 94t-155 29h-209v-264h213q203 0 203 141z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1946" -d="M1638 631h-614q13 -181 117 -287t274 -106q97 0 193.5 20t210.5 57v-260q-104 -40 -204.5 -57.5t-219.5 -17.5q-315 0 -492.5 167t-202.5 484h-206v-631h-310v1462h310v-573h215q44 280 234 437t482 157q230 0 449 -103l-100 -252q-90 39 -180 68t-177 29 -q-163 0 -267 -87t-124 -249h612v-258z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1638" -d="M1221 -20q-240 0 -375 121t-160 360h-221v-461h-305v1118h305v-430h221q24 225 152.5 338t361.5 113q91 0 186.5 -22t172.5 -58l-86 -209q-141 63 -261 63q-100 0 -153.5 -56.5t-61.5 -168.5h422v-227h-422q9 -128 67 -191t173 -63q152 0 328 80v-238q-136 -69 -344 -69z -" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1495" -d="M1194 0l-209 631h-100v-631h-273v631h-102l-207 -631h-303l557 1468h379l559 -1468h-301zM588 868h313q-134 345 -153 414q-11 -52 -160 -414z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1311" -d="M866 422h-78v-422h-264v422h-80l-151 -422h-293l471 1118h367l473 -1118h-293zM522 629h269l-35 80q-72 156 -101 243q-26 -93 -133 -323z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="2058" -d="M1757 0l-209 631h-100v-631h-272v631h-103l-207 -631h-303l240 631h-309v-631h-310v1462h310v-573h407l219 579h379l559 -1468h-301zM1151 868h313l-51 137q-92 238 -102 277q-11 -52 -160 -414z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1847" -d="M1391 459h-66v-459h-264v459h-66l-166 -459h-292l194 461h-307v-461h-264v1118h264v-430h401l183 430h366l473 -1118h-293zM1077 666h234q-96 218 -119 286q-21 -73 -115 -286z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1647" -d="M41 0l152 453q58 179 142 272t216 129l-375 469v139h1301v-139l-383 -469q135 -37 219 -132.5t141 -268.5l152 -453h-312l-123 385q-41 124 -83 174t-109 66v-625h-307v625q-71 -16 -114 -66.5t-83 -173.5l-123 -385h-311zM823 891l254 313h-506z" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1276" -d="M20 0l117 346q40 125 102.5 197t153.5 104l-289 365v106h1076v-106l-293 -367q89 -32 149.5 -104t102.5 -195l116 -346h-258l-94 295q-26 77 -54 110t-75 44v-449h-264v451q-54 -10 -84 -44t-53 -112l-94 -295h-259zM639 686l180 225h-358z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="2198" -d="M592 0l151 453q44 127 95 178h-344v-631h-310v1462h310v-573h579l-346 434v139h1301v-139l-383 -469q135 -37 219 -132.5t141 -268.5l152 -453h-312l-123 385q-41 124 -83 174t-109 66v-625h-307v625q-71 -16 -114 -66.5t-83 -173.5l-123 -385h-311zM1374 891l254 313 -h-506zM551 0z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1802" -d="M547 0l117 346q29 85 61 115h-301v-461h-264v1118h264v-430h463l-256 324v106h1075v-106l-293 -367q89 -32 150 -104t102 -195l117 -346h-258l-94 295q-23 72 -53 108t-77 46v-449h-264v451q-54 -10 -84 -44t-53 -112l-94 -295h-258zM1165 686l181 225h-359zM527 0z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1294" -d="M963 1776q74 0 122 -17v-151q-26 12 -88 12q-93 0 -188 -154q168 -34 260 -126t92 -220q0 -140 -91.5 -232.5t-250.5 -117.5v-6q184 -20 285.5 -111.5t101.5 -236.5q0 -201 -168.5 -318.5t-464.5 -117.5q-92 0 -141 -8.5t-69.5 -28t-20.5 -60.5q0 -88 145 -88q89 0 193 5 -l154 5q140 0 170 -41v-229q-16 16 -61 28.5t-99 12.5l-181 -4l-239 -4q-178 0 -280.5 86t-102.5 233q0 173 118 251t373 85q195 4 281 54.5t86 160.5q0 97 -118.5 149t-350.5 52h-137v242h123q232 0 338 44t106 146q0 75 -66.5 119.5t-199.5 44.5q-207 0 -397 -119l-136 207 -q83 54 174.5 92t210.5 55q-96 119 -227 250v27h209q54 -40 209 -195q78 100 121.5 139t94 62t110.5 23z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="1137" -d="M891 1380q72 0 123 -16v-152q-34 13 -88 13q-84 0 -158 -111q126 -34 193 -104.5t67 -167.5q0 -95 -52.5 -156.5t-156.5 -89.5v-10q129 -34 184.5 -96.5t55.5 -163.5q0 -168 -146 -257t-417 -89q-108 0 -156.5 -19.5t-48.5 -71.5t37.5 -73t126.5 -21q85 0 164 5 -q78 5 126 5q136 0 166 -41v-229q-17 17 -60 29t-95 12q-68 0 -157.5 -4t-213.5 -4q-177 0 -265.5 76.5t-88.5 230.5q0 175 115 257.5t352 82.5q132 0 198 32t66 97q0 68 -78 100.5t-240 32.5h-118v211h112q173 0 245.5 28t72.5 89q0 54 -53 81t-175 27q-77 0 -174.5 -19 -t-177.5 -52l-90 213q65 24 128.5 40.5t125.5 26.5l-93 108l-87 95v27h196q57 -41 209 -195q82 102 125 140t92.5 60.5t108.5 22.5z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1794" -d="M1686 983q0 -281 -149 -414t-450 -133h-51v-436h-278v436h-51q-305 0 -451.5 132.5t-146.5 410.5v483h290v-479q0 -157 75 -227t253 -70h31v776h278v-776h31q174 0 251 72.5t77 220.5v483h291v-479z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1714" -d="M1008 1554v-1337q176 17 246.5 99.5t70.5 261.5q0 224 -80 540h283q78 -281 78 -543q0 -274 -150.5 -425t-447.5 -168v-474h-283v474q-290 9 -436 153.5t-146 419.5v563h291v-571q0 -173 64 -246.5t227 -85.5v1339h283z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM815 240q163 0 257.5 96t113.5 285h-744q20 -180 111.5 -280.5t261.5 -100.5zM817 1227q-158 0 -251 -87t-120 -261h736q-25 169 -116.5 258.5t-248.5 89.5z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1268" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM635 225q97 0 153 58t70 174h-450q15 -116 70 -174t157 -58zM633 893q-98 0 -154 -56.5t-71 -168.5h450q-14 112 -68.5 168.5 -t-156.5 56.5z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1468" -d="M1346 1217q-46 0 -78 -35.5t-74 -153.5l-360 -1028h-338l-496 1462h313l289 -909q43 -160 64 -299q17 128 71 299l170 520q55 171 101 249t106 115.5t146 37.5q116 0 186 -39v-242q-51 23 -100 23z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="1239" -d="M0 1118h319l205 -626q50 -163 58 -242h4q13 111 57 235l123 344q51 142 89 195t91.5 77.5t138.5 24.5q76 0 148 -28v-236q-43 19 -82 19q-32 0 -57.5 -22t-46.5 -77l-308 -782h-311z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1468" -d="M1346 1217q-46 0 -78 -35.5t-74 -153.5l-360 -1028h-338l-496 1462h313l289 -909q43 -160 64 -299q17 128 71 299l170 520q55 171 101 249t106 115.5t146 37.5q116 0 186 -39v-242q-51 23 -100 23zM877 1579q-62 49 -171 150.5t-143 156.5v21h301q33 -72 83 -158.5 -t91 -142.5v-27h-161zM479 1579q-73 57 -177.5 157t-135.5 150v21h301q33 -72 83 -158.5t91 -142.5v-27h-162z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="1239" -d="M0 1118h319l205 -626q50 -163 58 -242h4q13 111 57 235l123 344q51 142 89 195t91.5 77.5t138.5 24.5q76 0 148 -28v-236q-43 19 -82 19q-32 0 -57.5 -22t-46.5 -77l-308 -782h-311zM785 1241q-62 49 -171 150.5t-143 156.5v21h301q33 -72 83 -158.5t91 -142.5v-27h-161z -M387 1241q-73 57 -177.5 157t-135.5 150v21h301q33 -72 83 -158.5t91 -142.5v-27h-162z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2701" -d="M1536 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-78 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM1430 733q0 -371 -165 -562t-491 -191q-324 0 -489.5 189.5t-165.5 565.5 -t166 563t491 187q323 0 488.5 -188.5t165.5 -563.5zM438 733q0 -257 82 -375t254 -118q173 0 254.5 114.5t81.5 378.5q0 261 -80.5 377.5t-253.5 116.5q-175 0 -256.5 -119t-81.5 -375z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2345" -d="M1180 1118h333l211 -629q26 -75 37 -194h6q13 103 43 194l207 629h328l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-77 0 -156 17v242q57 -13 121 -13q81 0 141.5 49.5t94.5 149.5l18 55zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5 -q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1712" -d="M1593 733q0 -321 -150.5 -512t-436.5 -231q-35 -115 -148 -115q-118 0 -147 115q-287 36 -439.5 227.5t-152.5 517.5q0 323 151 512.5t443 227.5q16 60 50 85t95 25q53 0 89 -22t54 -88q287 -38 439.5 -228t152.5 -514zM438 733q0 -198 71 -319t210 -158q22 42 56.5 57 -t82.5 15q45 0 79.5 -15t57.5 -57q279 74 279 477q0 398 -275 475q-39 -75 -141 -75t-143 75q-277 -77 -277 -475z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1391" -d="M1298 561q0 -235 -119.5 -379t-349.5 -182q-9 -53 -45 -82t-90 -29q-57 0 -92.5 29.5t-44.5 83.5q-223 39 -344 185.5t-121 373.5q0 237 121.5 382.5t351.5 178.5q19 82 129 82q106 0 127 -82q224 -34 350.5 -180.5t126.5 -380.5zM403 561q0 -270 158 -332 -q19 39 47.5 60.5t85.5 21.5q43 0 74 -16.5t57 -67.5q83 31 122.5 119.5t39.5 214.5q0 130 -40 212.5t-113 111.5q-17 -47 -48 -75t-92 -28q-54 0 -88 24.5t-53 78.5q-150 -65 -150 -324z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="2228" -d="M1534 1235q-39 0 -84 -16.5t-113 -61.5l-88 215q60 47 137.5 78t157.5 31q268 0 416.5 -187t148.5 -526q0 -375 -164 -581.5t-462 -206.5q-107 0 -196 35.5t-173 117.5q-77 -75 -165 -114t-204 -39q-297 0 -461.5 206t-164.5 582q0 338 148.5 525.5t416.5 187.5 -q81 0 158 -31t137 -78l-88 -215q-68 45 -113.5 61.5t-83.5 16.5q-128 0 -199 -121.5t-71 -347.5q0 -248 87 -384t247 -136q96 0 189 56t167 155q75 -101 168 -156t188 -55q162 0 248 137t86 383q0 225 -71.5 347t-198.5 122zM1548 2068v-194h-16q-180 0 -316 54 -q-103 41 -128 47.5t-50 6.5q-46 0 -67.5 -25.5t-32.5 -84.5h-182v49q0 98 31.5 156t86.5 85t160 27q58 0 114 -19t115.5 -41.5t126 -41.5t144.5 -19h14zM1276 1735q0 -93 -89.5 -163t-219.5 -77v86q52 14 84 43t32 59q0 19 -18.5 28t-40.5 17t-40.5 21t-18.5 41q0 53 39 82 -t110 29q78 0 120 -45t42 -121z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1823" -d="M614 -20q-258 0 -390 148.5t-132 442.5q0 282 118 425t363 143q149 0 273 -60l-86 -209q-63 30 -96 36.5t-70 6.5q-186 0 -186 -342q0 -178 59.5 -271t167.5 -93q146 0 276 135q130 -135 277 -135q109 0 168 93.5t59 270.5q0 342 -186 342q-39 0 -71.5 -7t-94.5 -36 -l-86 209q124 60 272 60q246 0 364 -143t118 -425q0 -291 -131 -441t-392 -150q-173 0 -297 112q-122 -112 -297 -112zM1339 1753v-194h-16q-180 0 -316 54q-103 41 -128 47.5t-50 6.5q-46 0 -67.5 -26t-32.5 -85h-182v50q0 69 17 119.5t46 81.5t80 49t135 18q58 0 114 -19 -t115.5 -41.5t126 -41.5t144.5 -19h14zM1067 1419q0 -94 -91 -163.5t-218 -75.5v86q50 12 83 41.5t33 60.5q0 19 -18.5 28t-40.5 17t-40.5 21t-18.5 41q0 52 39 81t110 29q78 0 120 -44.5t42 -121.5z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="2228" -d="M1534 1235q-39 0 -84 -16.5t-113 -61.5l-88 215q60 47 137.5 78t157.5 31q268 0 416.5 -187t148.5 -526q0 -375 -164 -581.5t-462 -206.5q-107 0 -196 35.5t-173 117.5q-77 -75 -165 -114t-204 -39q-297 0 -461.5 206t-164.5 582q0 338 148.5 525.5t416.5 187.5 -q81 0 158 -31t137 -78l-88 -215q-68 45 -113.5 61.5t-83.5 16.5q-128 0 -199 -121.5t-71 -347.5q0 -251 93 -383.5t269 -132.5q80 0 168 74v391h310v-381q89 -84 180 -84q176 0 268 132.5t92 383.5q0 225 -71.5 347t-198.5 122zM1528 1858v-89l-82 -172h-55l-50 103h-153 -l-49 -103h-56l-49 103h-153l-50 -103h-55l-80 172v89h832z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1812" -d="M416 0l-410 1118h320l194 -637q37 -111 49 -229h6q6 27 15 54t174 439l-139 373h319l201 -620q7 -23 17 -54t19.5 -62.5t18.5 -61t14 -50.5h9q106 151 154 348t48 500h308q0 -372 -99.5 -628.5t-322.5 -489.5h-285l-133 385l-152 -385h-325zM1292 1444v-88l-82 -172h-55 -l-49 102h-154l-49 -102h-55l-49 102h-154l-49 -102h-55l-80 172v88h831z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1386" -d="M858 -20q-359 0 -549 193.5t-190 555.5q0 227 89 398.5t255.5 263.5t392.5 92q225 0 459 -103l-101 -252q-91 39 -183.5 68t-182.5 29q-195 0 -302.5 -131t-107.5 -367q0 -489 414 -489q58 0 147.5 9.5t167.5 26.5v-766h-309v472z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="1073" -d="M602 -16q-252 19 -381 162.5t-129 406.5q0 298 135 442t424 144q184 0 357 -80l-88 -232q-173 66 -277 66q-126 0 -183 -84.5t-57 -253.5q0 -156 64.5 -242t183.5 -86q125 0 256 37v-756h-305v476z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M588 432l284 -166l-71 -123l-285 164l-180 -313l-129 74l180 315l-283 164l70 123l287 -164l198 346l-284 164l71 125l285 -164l182 313l127 -73l-182 -316l287 -164l-74 -123l-283 164z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1141" -d="M395 1241q-6 -43 -33 -68.5t-75 -25.5q-56 0 -81.5 35.5t-25.5 91.5q0 117 109 117h459q10 94 108 94q109 0 109 -115q0 -57 -27 -93t-84 -36h-459z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1182" -d="M258 1436q78 0 144.5 18.5t126 41t115.5 41.5t114 19q105 0 160 -27t86.5 -85.5t31.5 -155.5v-49h-182q-11 59 -32.5 85t-67.5 26q-30 0 -66.5 -12t-110.5 -42q-134 -55 -317 -55h-16v195h14z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1182" -d="M623 1624q71 0 110 -29t39 -82q0 -27 -18.5 -40t-41 -21.5t-41 -17t-18.5 -27.5q0 -32 34 -61t83 -41v-86q-126 6 -217.5 74.5t-91.5 164.5q0 77 42.5 121.5t119.5 44.5z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1182" -d="M770 1458q0 -94 -91 -163.5t-218 -75.5v86q48 11 82.5 40.5t34.5 61.5q0 19 -18.5 27.5t-41 17t-41 21.5t-18.5 40q0 53 39 82t110 29q78 0 120 -44.5t42 -121.5z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1001 1425q93 0 149.5 -50.5t63.5 -143.5h-79q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194zM1001 -125q92 0 149.5 -51t63.5 -143h-79q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5zM1581 154q92 0 149.5 -51 -t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM428 154q92 0 149.5 -51t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM1581 1141q92 0 149.5 -51t63.5 -144 -h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM428 1141q92 0 149.5 -51t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM1772 653q92 0 149.5 -52t63.5 -142h-80 -q-5 44 -35 66t-98 22q-78 0 -103.5 -20t-30.5 -68h-75q11 194 209 194zM250 653q92 0 149.5 -51t63.5 -143h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1090 -49q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM870 1155q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1581 662q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM377 442q-66 17 -161.5 52t-174.5 71v97q221 -53 350 -70v-139z -M1651 1186l69 -68q-177 -110 -297 -198l-98 98l2 16q67 39 162 83t162 69zM307 -123l-69 68q177 110 297 198l98 -98l-2 -16q-155 -89 -324 -152zM324 1202l67 70q123 -198 199 -297l-98 -98l-17 2q-82 140 -151 323zM1632 -141l-67 -70q-31 50 -96 147.5t-103 149.5l98 98 -l17 -2q39 -69 84 -166t67 -157z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1876" -d="M184 1462h279v-706l-4 -189l-10 -215h6l675 1110h371v-1196h334l-178 -692h-344l188 426h-276v702q0 141 18 418h-8l-678 -1120h-373v1462zM1327 1937q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q99 0 149.5 45.5 -t61.5 140.5h276zM1686 0z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1642" -d="M455 1118v-442q0 -70 -23 -342l516 784h367v-895h299l-146 -624h-290l137 401h-295v446q0 119 20 336l-514 -782h-366v1118h295zM1225 1599q-21 -189 -142.5 -273.5t-351.5 -84.5q-161 0 -262.5 37t-153 112t-61.5 209h272q9 -108 53.5 -147t157.5 -39q103 0 153 47.5 -t58 138.5h277zM1475 0z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1262" -d="M494 1311h299v-254h-299v-156h122q286 0 442 -116t156 -328q0 -457 -604 -457h-426v1057h-137v254h137v151h310v-151zM494 254h104q157 0 230 50.5t73 152.5q0 101 -74 145.5t-254 44.5h-79v-393z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1257" -d="M4 1333h156v223h305v-223h377v-198h-377v-449h215q258 0 382 -82t124 -248q0 -356 -494 -356h-532v1135h-156v198zM881 352q0 65 -52 94t-155 29h-209v-264h213q203 0 203 141z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1286" -d="M1194 1006q0 -129 -47.5 -229.5t-140.5 -162.5l88 -125l-152 -112l-115 164q-86 -21 -200 -21h-133v-520h-310v1462h467q266 0 404.5 -114.5t138.5 -341.5zM494 774h145l23 2l-58 82l154 111l82 -117q41 53 41 143q0 109 -59.5 161t-186.5 52h-141v-434z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1296" -d="M774 -20q-197 0 -309 143h-16q16 -140 16 -162v-453h-305v1610h248l43 -145h16q54 83 135 124.5t180 41.5q198 0 310 -153t112 -425q0 -303 -145 -463l94 -123l-158 -118l-108 139q-52 -16 -113 -16zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258 -t169.5 -78h17l18 2l-102 127l167 123l82 -100q23 78 23 186q0 165 -50.5 247.5t-158.5 82.5z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="1190" -d="M494 0h-310v1462h697v310h268v-566h-655v-1206z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="1049" -d="M465 0h-305v1118h540v305h275v-534h-510v-889z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="1145" -d="M1104 1462v-254h-610v-358h401v-254h-401v-596h-310v596h-137v254h137v612h920z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="1006" -d="M958 1118v-248h-512v-217h332v-235h-332v-418h-305v418h-137v235h137v465h817z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1503" -d="M621 537q-53 0 -127 -13v-524h-310v1462h920v-254h-610v-401q107 12 256 12q193 0 345.5 -85t229 -236.5t76.5 -356.5q0 -195 -69.5 -343.5t-195 -229t-278.5 -80.5q-110 0 -179.5 11t-143.5 36v272q129 -47 262 -47q139 0 220 102.5t81 278.5q0 196 -115 296t-362 100z -" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1233" -d="M1161 68q0 -179 -61 -308t-173 -195.5t-259 -66.5q-142 0 -256 51v263q45 -24 105.5 -39t109.5 -15q116 0 178.5 81.5t62.5 232.5q0 305 -315 305q-42 0 -88 -6v-371h-305v1118h817v-248h-512v-241q74 12 149 12q158 0 283.5 -70t194.5 -200t69 -303z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="2107" -d="M520 760l-491 702h319l473 -708v708h289v-708l473 708h320l-492 -702l338 -494h317v-692h-299v426h-168l-489 741v-741h-289v741l-489 -741h-332zM1931 0z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1929" -d="M752 575v543h284v-543l398 543h315l-412 -536l277 -359h266v-624h-274v401h-144l-426 567v-567h-284v567l-426 -567h-326l451 582l-412 536h315zM1788 0z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1327" -d="M1194 1120q0 -141 -100 -233t-271 -117v-6q201 -20 308.5 -111t107.5 -237q0 -202 -163.5 -319t-452.5 -117q-322 0 -517 79v260q94 -45 220.5 -70.5t236.5 -25.5q369 0 369 215q0 97 -118.5 149t-350.5 52h-137v242h123q232 0 338 44t106 146q0 75 -66.5 119.5 -t-199.5 44.5q-206 0 -398 -119l-135 207q125 83 265 121.5t311 38.5q239 0 381.5 -100t142.5 -263zM619 -227q0 52 -39 106.5t-109 120.5h179q79 -60 112 -97.5t50.5 -77.5t17.5 -87q0 -103 -69 -166.5t-181 -63.5q-74 0 -156 23v178q60 -18 115 -18q35 0 57.5 20t22.5 62z -" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="1137" -d="M438 688q173 0 245.5 28t72.5 89q0 54 -53 81t-175 27q-77 0 -174.5 -19t-177.5 -52l-90 213q119 45 231 64.5t250 19.5q209 0 335 -80t126 -217q0 -189 -223 -246v-10q137 -34 195.5 -96.5t58.5 -163.5q0 -102 -66 -181t-191 -122t-294 -43q-280 0 -430 69v252 -q86 -40 188.5 -63t198.5 -23q149 0 223 33.5t74 95.5q0 68 -78 100.5t-240 32.5h-118v211h112zM510 -227q0 52 -39 106.5t-109 120.5h179q79 -60 112 -97.5t50.5 -77.5t17.5 -87q0 -103 -69 -166.5t-181 -63.5q-74 0 -156 23v178q60 -18 115 -18q35 0 57.5 20t22.5 62z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1548" -d="M1180 266h327v-692h-299v426h-184l-530 741v-741h-310v1462h310v-708l524 708h330l-533 -702zM1376 0z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="1362" -d="M893 1118h336l-443 -536l297 -359h250v-624h-274v401h-137l-457 567v-567h-305v1118h305v-543zM1268 0z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1360" -d="M618 612l-124 -90v-522h-310v1462h310v-669l122 172l2 2v354h134v-186l260 327h344l-510 -647l514 -815h-352l-256 412v-222h-134v422z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="1227" -d="M160 1118h284v-543l99 123v316h145v-129l184 233h316l-443 -536l482 -582h-326l-215 266v-176h-145v356l-97 121v-567h-284v1118z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1317" -d="M4 1327h137v135h310v-135h137v-254h-137v-280l122 172l396 497h344l-510 -647l514 -815h-352l-383 616l-131 -94v-522h-310v1073h-137v254z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="1270" -d="M4 1395h156v161h305v-161h315v-199h-315v-334l-16 -254h4l133 170l313 340h344l-444 -485l471 -633h-352l-322 453l-131 -105v-348h-305v1196h-156v199z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1501" -d="M0 1462h635v-669l123 172l395 497h344l-510 -647l514 -815h-352l-383 616l-131 -94v-522h-309v1204h-326v258zM141 0z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1423" -d="M0 1118h641v-543l428 543h315l-442 -536l481 -582h-325l-457 567v-567h-285v889h-356v229zM196 0z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1722" -d="M1382 266h299v-692h-299v426h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1196zM1567 0z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1522" -d="M465 1118v-430h426v430h305v-895h277v-624h-275v401h-307v461h-426v-461h-305v1118h305zM1356 0z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1708" -d="M1708 1204h-326v-1204h-309v631h-579v-631h-310v1462h310v-573h579v573h635v-258zM1567 0z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1552" -d="M465 1118v-430h426v430h661v-229h-356v-889h-305v461h-426v-461h-305v1118h305zM1356 0z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2304" -d="M1300 803q115 16 281 16q185 0 330 -85.5t218 -236t73 -356.5q0 -195 -69.5 -343.5t-195 -229t-278.5 -80.5q-109 0 -176.5 10t-147.5 37v272q129 -47 262 -47q131 0 216 106.5t85 274.5q0 196 -106.5 296t-335.5 100q-58 0 -156 -21v-516h-309v1204h-497v-1204h-310 -v1462h1116v-659z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1821" -d="M1749 68q0 -179 -60.5 -307t-172.5 -195.5t-261 -67.5q-142 0 -256 51v263q45 -24 105.5 -39t109.5 -15q115 0 178.5 81.5t63.5 232.5q0 149 -77.5 227t-227.5 78h-6v-377h-305v889h-375v-889h-305v1118h985v-481l80 4q151 0 271.5 -70.5t186.5 -200t66 -302.5z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1591" -d="M1485 678q0 -143 -49 -266.5t-162 -235.5q46 -16 112 -16q76 0 144 22v-241q-62 -25 -178 -25q-173 0 -318 98q-104 -34 -250 -34q-310 0 -487.5 195t-177.5 538q0 381 162.5 576.5t480.5 195.5q56 0 129 -12.5t119 -30.5l-78 -240q-92 29 -170 29q-330 0 -330 -508 -q0 -230 100 -355.5t277 -125.5q25 0 31 4q-63 76 -101.5 197.5t-38.5 246.5q0 218 99.5 331.5t290.5 113.5q187 0 291 -121t104 -336zM1208 670q0 233 -112 233q-55 0 -86 -61.5t-31 -167.5q0 -122 28 -209.5t66 -136.5q61 56 98 148.5t37 193.5z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1343" -d="M1245 508q0 -118 -43 -211t-121 -145q28 -7 70 -7q59 0 123 17v-211q-72 -23 -156 -23q-147 0 -274 86q-98 -34 -232 -34q-237 0 -378.5 155.5t-141.5 419.5q0 276 136.5 430t385.5 154q42 0 102.5 -11t108.5 -30l-67 -228q-88 25 -144 25q-111 0 -163 -83t-52 -267 -q0 -152 55.5 -236t163.5 -84q25 0 37 4q-42 79 -56.5 143.5t-14.5 141.5q0 167 83 255.5t248 88.5q152 0 241 -92.5t89 -257.5zM1004 508q0 57 -22 93t-67 36q-90 0 -90 -131q0 -126 76 -213q103 64 103 215z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1305" -d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM774 -227q0 52 -39 106.5t-109 120.5h179 -q79 -60 112 -97.5t50.5 -77.5t17.5 -87q0 -103 -69 -166.5t-181 -63.5q-74 0 -156 23v178q60 -18 115 -18q35 0 57.5 20t22.5 62z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="1053" -d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM621 -227q0 52 -39 106.5t-109 120.5h179q79 -60 112 -97.5 -t50.5 -77.5t17.5 -87q0 -103 -69 -166.5t-181 -63.5q-74 0 -156 23v178q60 -18 115 -18q35 0 57.5 20t22.5 62z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1186" -d="M748 266h299v-692h-299v426h-310v1204h-397v258h1104v-258h-397v-938z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="1126" -d="M1085 1118v-229h-366v-666h274v-624h-274v401h-305v889h-367v229h1038z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="1176" -d="M741 -492h-307v492l-434 1118h336l176 -504q26 -73 57 -216l13 -60h12q36 180 70 276l178 504h334l-435 -1118v-492z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-41h319v-258h-319v-270h-308v270h-319v258h319v31l-485 903h336z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="1176" -d="M1032 0v-229h-291v-263h-307v263h-291v229h291l-434 1118h336l176 -504q26 -73 57 -216l13 -60h12q36 180 70 276l178 504h334l-435 -1118h291z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1522" -d="M1188 266h293v-692h-299v426h-170l-340 553l-340 -553h-332l485 754l-454 708h342l315 -526l309 526h334l-459 -725zM1366 0z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1311" -d="M389 571l-360 547h346l217 -356l219 356h346l-364 -547l231 -348h258v-624h-274v401h-181l-235 383l-236 -383h-346zM1174 0zM1184 0z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1905" -d="M408 0v1204h-367v258h1083v-258h-407v-946h538v1204h310v-1196h299v-692h-299v426h-1157z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1620" -d="M901 1118v-229h-295v-660h406v889h305v-895h274v-624h-274v401h-1016v889h-254v229h854z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1647" -d="M1307 266h299v-692h-299v426h-310v565q-154 -52 -256.5 -71t-195.5 -19q-209 0 -322.5 100.5t-113.5 282.5v604h309v-516q0 -106 49 -159.5t166 -53.5q82 0 163.5 16.5t200.5 57.5v655h310v-1196zM1491 0z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1487" -d="M428 1118v-409q0 -146 135 -146q88 0 163.5 20t152.5 52v483h305v-895h274v-624h-274v401h-305v444q-106 -56 -197 -79t-176 -23q-183 0 -283 93.5t-100 266.5v416h305zM1343 0z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1491" -d="M625 477l-40 -2h-40q-209 0 -322.5 100.5t-113.5 282.5v604h309v-516q0 -110 49 -160.5t158 -52.5v328h133v-318q89 13 239 64v655h310v-1462h-310v565q-129 -45 -239 -69v-324h-133v305z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1343" -d="M582 346q-25 -4 -76 -4q-183 0 -283 93.5t-100 266.5v416h305v-409q0 -146 135 -146h19v256h125v-241q78 16 172 57v483h305v-1118h-305v444q-105 -54 -172 -73v-242h-125v217z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1491" -d="M184 1462h310v-565q147 51 254 70.5t198 19.5q206 0 321 -99.5t115 -283.5v-604h-309v516q0 106 -49 159.5t-166 53.5q-79 0 -162.5 -16t-201.5 -58v-655h-310v1462z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1364" -d="M915 0v420q0 135 -135 135q-144 0 -315 -72v-483h-305v1118h305v-444q106 56 196 79t177 23q183 0 283 -93.5t100 -266.5v-416h-306z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1942" -d="M1122 238q138 0 304 46.5t276 114.5v-278q-125 -75 -267.5 -108t-314.5 -33q-318 0 -509 170.5t-220 480.5h-63q-163 0 -245.5 69t-82.5 191q0 116 53 205h234q-8 -17 -17.5 -53t-9.5 -66q0 -88 96 -88h41q37 284 215 440t471 156q348 0 521.5 -197.5t173.5 -585.5v-71 -h-1067q13 -193 118 -293t293 -100zM1083 1227q-159 0 -257.5 -89.5t-110.5 -248.5h741q0 176 -91 257t-282 81z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1464" -d="M334 686q33 219 172 336t358 117q242 0 377 -134.5t135 -373.5v-148h-743q5 -130 79.5 -203t209.5 -73q106 0 199.5 21.5t191.5 66.5v-236q-78 -39 -173 -59t-229 -20q-259 0 -411.5 130.5t-171.5 372.5q-328 0 -328 224q0 96 41 165h205q-25 -55 -25 -108q0 -78 96 -78 -h17zM866 922q-94 0 -156 -57.5t-71 -178.5h451q-2 112 -61.5 174t-162.5 62z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1942" -d="M956 -8q-246 40 -392.5 204.5t-172.5 434.5h-63q-163 0 -245.5 69t-82.5 191q0 116 53 205h234q-8 -17 -17.5 -53t-9.5 -66q0 -88 96 -88h41q37 284 215 440t471 156q348 0 521.5 -197.5t173.5 -585.5v-71h-1067q13 -193 118 -293t293 -100q138 0 304 46.5t276 114.5 -v-278q-109 -64 -216 -95t-233 -40v-412h-297v418zM1083 1227q-159 0 -257.5 -89.5t-110.5 -248.5h741q0 176 -91 257t-282 81z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1464" -d="M733 -2q-181 40 -285.5 164t-119.5 321q-328 0 -328 224q0 96 41 165h205q-25 -55 -25 -108q0 -78 96 -78h17q33 219 172 336t358 117q242 0 377 -134.5t135 -373.5v-148h-743q5 -130 79.5 -203t209.5 -73q106 0 199.5 21.5t191.5 66.5v-236q-127 -63 -305 -75v-385h-275 -v399zM866 922q-94 0 -156 -57.5t-71 -178.5h451q-2 112 -61.5 174t-162.5 62z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1931" -d="M520 760l-491 702h319l473 -708v708h289v-708l473 708h320l-492 -702l520 -760h-332l-489 741v-741h-289v741l-489 -741h-332zM1448 1937q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5 -h276z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1788" -d="M752 575v543h284v-543l398 543h315l-412 -536l451 -582h-326l-426 567v-567h-284v567l-426 -567h-326l451 582l-412 536h315zM1378 1599q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5 -h276z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1556" -d="M680 537q-75 0 -186 -25v-512h-310v1462h310v-704l145 207l393 497h344l-577 -688h4q200 0 351.5 -78t225.5 -220t74 -335q0 -195 -69.5 -343.5t-195 -229t-278.5 -80.5q-110 0 -179.5 11t-143.5 36v272q129 -47 262 -47q142 0 221.5 102.5t79.5 278.5q0 195 -113 295.5 -t-358 100.5z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1354" -d="M1272 68q0 -179 -60.5 -307t-172.5 -195.5t-261 -67.5q-142 0 -256 51v263q45 -24 105.5 -39t109.5 -15q116 0 179 82.5t63 231.5q0 148 -79 226.5t-232 78.5q-50 0 -111 -10.5t-92 -22.5v-344h-305v1118h305v-493l434 493h344l-473 -500q229 0 365.5 -146.5 -t136.5 -403.5z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1716" -d="M1341 0h-309v1204h-358l-16 -134q-62 -511 -109.5 -717.5t-138.5 -290.5t-246 -82q-84 0 -148 22v254q58 -20 109 -20q53 0 84 48.5t58.5 180t73 431t77.5 566.5h923v-1196h334l-178 -692h-344zM1526 0z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1489" -d="M1161 223h299l-145 -624h-291l137 401h-305v889h-281q-32 -375 -78 -559.5t-122.5 -267t-200.5 -82.5q-106 0 -174 32v244q49 -20 98 -20q57 0 95.5 82t69 273.5t52.5 526.5h846v-895zM1321 0z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1567" -d="M1382 90q0 -177 -67 -315t-190.5 -212.5t-284.5 -74.5q-191 0 -324 47v272q75 -26 141 -36.5t148 -10.5q126 0 197 96.5t71 268.5v506h-579v-631h-310v1462h310v-573h579v573h309v-1372z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1356" -d="M465 461v-461h-305v1118h305v-430h426v430h305v-1095q0 -247 -132 -386t-364 -139q-76 0 -135 12t-123 44v262q112 -58 226 -58q108 0 163.5 74t59.5 215v414h-426z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1757" -d="M1382 266h334l-178 -692h-344l188 426h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1196zM1567 0z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1524" -d="M465 1118v-430h426v430h305v-895h299l-145 -624h-291l137 401h-305v461h-426v-461h-305v1118h305zM1356 0z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1491" -d="M1307 0h-258v-426h-299v692h247v299q-154 -52 -256.5 -71t-195.5 -19q-209 0 -322.5 100.5t-113.5 282.5v604h309v-516q0 -106 49 -159.5t166 -53.5q82 0 163.5 16.5t200.5 57.5v655h310v-1462z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1343" -d="M428 1118v-409q0 -146 135 -146q88 0 163.5 20t152.5 52v483h305v-1118h-260v-401h-275v624h230v221q-106 -56 -197 -79t-176 -23q-183 0 -283 93.5t-100 266.5v416h305z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="2122" -d="M803 0l-352 1147h-9q19 -350 19 -467v-680h-277v1462h422l346 -1118h6l367 1118h422v-1196h334l-178 -692h-344l188 426h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284zM1931 0z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1896" -d="M1569 223h299l-146 -624h-290l137 401h-285v881l-16 -62q-54 -211 -97 -319l-198 -500h-217l-201 504q-43 110 -92 309l-19 68v-881h-284v1118h420l192 -477q30 -77 55.5 -177t34.5 -171q33 150 51.5 215.5t40.5 120.5t199 489h416v-895zM1729 0z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM1192 1937q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5 -t60.5 140.5h276z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM1116 1599q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM365 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM768 1743 -q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM274 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM677 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5 -t-40.5 100.5z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1950" -d="M1829 0h-873v348h-491l-150 -348h-315l655 1462h1174v-254h-563v-321h526v-254h-526v-377h563v-256zM578 608h378v590h-127z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1878" -d="M1329 -20q-137 0 -249.5 50.5t-184.5 155.5q-98 -117 -196.5 -161.5t-256.5 -44.5q-161 0 -258.5 94.5t-97.5 259.5q0 178 121 262.5t362 93.5l191 6v84q0 69 -44.5 102t-121.5 33q-140 0 -305 -77l-99 202q189 101 422 101q227 0 342 -131q66 64 152.5 96.5t206.5 32.5 -q221 0 349 -137.5t128 -370.5v-148h-723q5 -130 77 -203t202 -73q196 0 380 88v-236q-79 -39 -171 -59t-226 -20zM760 518l-113 -4q-124 -4 -186 -47.5t-62 -134.5q0 -129 140 -129q101 0 161 61t60 162v92zM1307 922q-217 0 -234 -236h430q-2 112 -55 174t-141 62z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM1089 1937q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M1104 1599q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1673" -d="M819 1227q-148 0 -307.5 -45.5t-271.5 -116.5v268q139 83 278.5 117.5t302.5 34.5q346 0 539.5 -201t193.5 -555t-182 -551.5t-514 -197.5q-344 0 -519 195.5t-175 586.5v72h1067q-13 192 -118.5 292.5t-293.5 100.5zM858 238q163 0 260.5 91t108.5 246h-742 -q0 -175 90 -256t283 -81z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1231" -d="M602 197q99 0 158 59t69 176h-450q2 -110 60 -172.5t163 -62.5zM557 1139q276 0 431 -149.5t155 -422.5q0 -279 -141.5 -433t-397.5 -154q-241 0 -376.5 133.5t-135.5 373.5v148h744q-5 130 -80 203t-209 73q-99 0 -191.5 -19t-199.5 -69v236q88 44 183 62t218 18z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1673" -d="M819 1227q-148 0 -307.5 -45.5t-271.5 -116.5v268q139 83 278.5 117.5t302.5 34.5q346 0 539.5 -201t193.5 -555t-182 -551.5t-514 -197.5q-344 0 -519 195.5t-175 586.5v72h1067q-13 192 -118.5 292.5t-293.5 100.5zM858 238q163 0 260.5 91t108.5 246h-742 -q0 -175 90 -256t283 -81zM517 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM920 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1231" -d="M602 197q99 0 158 59t69 176h-450q2 -110 60 -172.5t163 -62.5zM557 1139q276 0 431 -149.5t155 -422.5q0 -279 -141.5 -433t-397.5 -154q-241 0 -376.5 133.5t-135.5 373.5v148h744q-5 130 -80 203t-209 73q-99 0 -191.5 -19t-199.5 -69v236q88 44 183 62t218 18z -M278 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM681 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1931" -d="M520 760l-491 702h319l473 -708v708h289v-708l473 708h320l-492 -702l520 -760h-332l-489 741v-741h-289v741l-489 -741h-332zM623 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM1026 1743 -q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1788" -d="M752 575v543h284v-543l398 543h315l-412 -536l451 -582h-326l-426 567v-567h-284v567l-426 -567h-326l451 582l-412 536h315zM551 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM954 1405q0 70 40.5 102.5 -t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1327" -d="M1194 1120q0 -141 -100 -233t-271 -117v-6q201 -20 308.5 -111t107.5 -237q0 -202 -163.5 -319t-452.5 -117q-322 0 -517 79v260q94 -45 220.5 -70.5t236.5 -25.5q369 0 369 215q0 97 -118.5 149t-350.5 52h-137v242h123q232 0 338 44t106 146q0 75 -66.5 119.5 -t-199.5 44.5q-206 0 -398 -119l-135 207q125 83 265 121.5t311 38.5q239 0 381.5 -100t142.5 -263zM324 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM727 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36 -t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="1137" -d="M438 688q173 0 245.5 28t72.5 89q0 54 -53 81t-175 27q-77 0 -174.5 -19t-177.5 -52l-90 213q119 45 231 64.5t250 19.5q209 0 335 -80t126 -217q0 -189 -223 -246v-10q137 -34 195.5 -96.5t58.5 -163.5q0 -102 -66 -181t-191 -122t-294 -43q-280 0 -430 69v252 -q86 -40 188.5 -63t198.5 -23q149 0 223 33.5t74 95.5q0 68 -78 100.5t-240 32.5h-118v211h112zM229 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM632 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36 -t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1210" -d="M283 858l360 348h-537v256h959v-198l-432 -412q241 -10 369 -120t128 -306q0 -208 -162.5 -327t-459.5 -119q-259 0 -451 79v263q93 -44 210.5 -70.5t221.5 -26.5q167 0 249.5 52.5t82.5 166.5q0 102 -104 149.5t-311 47.5h-123v217z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="1190" -d="M283 502l405 383h-590v233h967v-198l-442 -414q237 -26 362 -153t125 -351q0 -151 -71.5 -262.5t-208.5 -171.5t-330 -60q-251 0 -443 80v262q92 -45 205.5 -70.5t214.5 -25.5q158 0 241 67.5t83 194.5q0 138 -101 203.5t-299 65.5h-118v217z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1686" -d="M184 1462h279v-706l-4 -189l-10 -215h6l675 1110h371v-1462h-276v702q0 141 18 418h-8l-678 -1120h-373v1462zM502 1790h678v-211h-678v211z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1475" -d="M455 1118v-442q0 -70 -23 -342l516 784h367v-1118h-295v446q0 119 20 336l-514 -782h-366v1118h295zM400 1452h678v-211h-678v211z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1686" -d="M184 1462h279v-706l-4 -189l-10 -215h6l675 1110h371v-1462h-276v702q0 141 18 418h-8l-678 -1120h-373v1462zM500 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM903 1743q0 70 40.5 102.5t100.5 32.5 -q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1475" -d="M455 1118v-442q0 -70 -23 -342l516 784h367v-1118h-295v446q0 119 20 336l-514 -782h-366v1118h295zM396 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM799 1405q0 70 40.5 102.5t100.5 32.5 -q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM474 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98 -q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM877 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM293 1405 -q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM696 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM815 240q163 0 257.5 96t113.5 285h-744q20 -180 111.5 -280.5t261.5 -100.5zM817 1227q-158 0 -251 -87t-120 -261h736q-25 169 -116.5 258.5t-248.5 89.5z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1268" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM635 225q97 0 153 58t70 174h-450q15 -116 70 -174t157 -58zM633 893q-98 0 -154 -56.5t-71 -168.5h450q-14 112 -68.5 168.5 -t-156.5 56.5z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM815 240q163 0 257.5 96t113.5 285h-744q20 -180 111.5 -280.5t261.5 -100.5zM817 1227q-158 0 -251 -87t-120 -261h736q-25 169 -116.5 258.5t-248.5 89.5z -M476 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM879 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1268" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM635 225q97 0 153 58t70 174h-450q15 -116 70 -174t157 -58zM633 893q-98 0 -154 -56.5t-71 -168.5h450q-14 112 -68.5 168.5 -t-156.5 56.5zM291 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM694 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1358" -d="M553 1225q-99 0 -194.5 -28t-188.5 -67l-98 250q232 103 487 103q325 0 502.5 -199.5t177.5 -554.5q0 -362 -182.5 -555.5t-526.5 -193.5q-237 0 -432 75v260q243 -77 414 -77q191 0 291.5 93t109.5 279h-634v254h632q-6 170 -102 265.5t-256 95.5zM314 1743 -q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM717 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="1049" -d="M418 -20q-210 0 -344 69v238q174 -80 327 -80q110 0 170 64t70 192h-422v203h422q-8 123 -61.5 185t-153.5 62q-119 0 -260 -63l-86 209q75 35 169.5 57.5t188.5 22.5q262 0 390 -142t128 -426q0 -292 -135.5 -441.5t-402.5 -149.5zM174 1405q0 65 37.5 100t101.5 35 -q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM577 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1337" -d="M1337 1462l-452 -1034q-85 -195 -159.5 -280t-176.5 -126.5t-248 -41.5q-125 0 -233 30v266q88 -36 219 -36q83 0 134 38.5t85 133.5l-506 1050h328l360 -815h10l18 50l302 765h319zM332 1790h678v-211h-678v211z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM247 1452h678v-211h-678v211z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1337" -d="M1337 1462l-452 -1034q-85 -195 -159.5 -280t-176.5 -126.5t-248 -41.5q-125 0 -233 30v266q88 -36 219 -36q83 0 134 38.5t85 133.5l-506 1050h328l360 -815h10l18 50l302 765h319zM328 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 -t-103 -36.5q-64 0 -101.5 35t-37.5 98zM731 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM243 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 -t-103 -36.5q-64 0 -101.5 35t-37.5 98zM646 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1337" -d="M1337 1462l-452 -1034q-85 -195 -159.5 -280t-176.5 -126.5t-248 -41.5q-125 0 -233 30v266q88 -36 219 -36q83 0 134 38.5t85 133.5l-506 1050h328l360 -815h10l18 50l302 765h319zM340 1579v27q62 85 117.5 172.5t76.5 128.5h301v-21q-32 -53 -146 -153t-188 -154h-161 -zM737 1579v27q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM238 1241v27q62 85 117.5 172.5t76.5 128.5h301v-21q-32 -53 -146 -153t-188 -154 -h-161zM635 1241v27q139 192 195 301h301v-21q-25 -43 -125.5 -134.5t-208.5 -172.5h-162z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1491" -d="M1307 0h-310v565q-154 -52 -256.5 -71t-195.5 -19q-209 0 -322.5 100.5t-113.5 282.5v604h309v-516q0 -106 49 -159.5t166 -53.5q82 0 163.5 16.5t200.5 57.5v655h310v-1462zM365 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5 -q-64 0 -101.5 35t-37.5 98zM768 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1343" -d="M428 1118v-409q0 -146 135 -146q88 0 163.5 20t152.5 52v483h305v-1118h-305v444q-106 -56 -197 -79t-176 -23q-183 0 -283 93.5t-100 266.5v416h305zM314 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98z -M717 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="1149" -d="M1108 1462v-256h-614v-940h299v-692h-299v426h-310v1462h924z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="979" -d="M932 1118v-229h-467v-666h274v-624h-274v401h-305v1118h772z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1855" -d="M1184 457q0 -228 -151.5 -342.5t-448.5 -114.5h-400v1462h310v-561h100q281 0 435.5 -116.5t154.5 -327.5zM494 254h81q153 0 224 50.5t71 152.5t-68.5 146t-240.5 44h-67v-393zM1671 0h-309v1462h309v-1462zM588 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98 -q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM991 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1741" -d="M465 686h147q256 0 379 -82t123 -248q0 -177 -123 -266.5t-368 -89.5h-463v1118h305v-432zM809 352q0 65 -52 94t-155 29h-137v-264h141q203 0 203 141zM1581 0h-305v1118h305v-1118zM529 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 -t-103 -36.5q-64 0 -101.5 35t-37.5 98zM932 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="1145" -d="M1104 1462v-254h-610v-358h401v-254h-401v-596h-310v596h-137v254h137v612h920zM437 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v383h295v-428q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="1006" -d="M958 1118v-248h-512v-217h332v-235h-332v-418h-305v418h-137v235h137v465h817zM389 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v342h295v-387q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1499" -d="M1366 0h-354l-340 553l-340 -553h-332l485 754l-454 708h342l315 -526l309 526h334l-459 -725zM1106 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v383h295v-428q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="1321" -d="M389 571l-360 547h346l217 -356l219 356h346l-364 -547l381 -571h-347l-235 383l-236 -383h-346zM940 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v342h295v-387q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1366" -d="M113 872h297l-379 590h342l315 -526l309 526h334l-373 -590h295v-254h-301l414 -618h-354l-340 553l-340 -553h-332l397 618h-284v254z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="1184" -d="M102 680h215l-288 438h346l217 -356l219 356h346l-293 -438h217v-229h-209l302 -451h-347l-235 383l-236 -383h-346l299 451h-207v229z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1307" -d="M92 457q0 212 156 328t442 116h123v561h309v-1462h-426q-604 0 -604 457zM813 647h-80q-180 0 -253.5 -44.5t-73.5 -145.5q0 -102 73 -152.5t230 -50.5h104v393z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" horiz-adv-x="1296" -d="M514 -20q-197 0 -309.5 153t-112.5 424q0 275 114.5 428.5t315.5 153.5q211 0 322 -164h10q-23 125 -23 223v358h306v-1556h-234l-59 145h-13q-104 -165 -317 -165zM621 223q117 0 171.5 68t59.5 231v33q0 180 -55.5 258t-180.5 78q-102 0 -158.5 -86.5t-56.5 -251.5 -t57 -247.5t163 -82.5z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1896" -d="M92 438q0 216 149 339.5t416 123.5h115v561h309v-1095q3 -66 42.5 -98.5t125.5 -32.5q90 0 129 51t39 164v397h305v-467q0 -195 -120 -298t-357 -103q-108 0 -204.5 39t-135.5 100q-43 -63 -130 -100t-212 -37q-232 0 -351.5 117.5t-119.5 338.5zM772 647h-72 -q-157 0 -225.5 -52.5t-68.5 -160.5q0 -96 46.5 -147t137.5 -51q84 0 133 32.5t49 91.5v287z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1890" -d="M606 -20q-247 0 -380.5 148t-133.5 429q0 272 108.5 427t303.5 155q203 0 309 -164h10q-7 38 -14.5 109.5t-7.5 113.5v358h305v-1175q0 -75 40 -110t128 -35q87 0 124.5 51t37.5 164v249h301v-319q0 -196 -117.5 -298.5t-349.5 -102.5q-120 0 -196 30.5t-138 106.5 -q-46 -55 -144 -96t-186 -41zM604 223q111 0 162 68.5t55 230.5v33q0 182 -53 259t-166 77q-201 0 -201 -338q0 -165 49 -247.5t154 -82.5z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1870" -d="M1012 1135q0 -137 -83 -233t-233 -132v-6q177 -22 268 -107.5t91 -230.5q0 -101 41.5 -145.5t126.5 -44.5q89 0 128.5 51t39.5 164v397h305v-467q0 -197 -120 -299t-353 -102q-234 0 -356 114t-122 332q0 106 -97.5 160.5t-282.5 54.5h-170v217h170q344 0 344 209 -q0 78 -53.5 122t-166.5 44q-156 0 -309 -100l-155 206q200 144 487 144q230 0 365 -93.5t135 -254.5z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1782" -d="M403 688q158 0 225.5 28t67.5 89q0 54 -50.5 81t-164.5 27q-77 0 -166 -18.5t-168 -52.5l-90 213q120 46 227.5 65t239.5 19q203 0 324 -80t121 -217q0 -189 -209 -246v-10q237 -39 237 -228q0 -122 168 -122q87 0 124.5 51t37.5 164v249h301v-319q0 -197 -117.5 -299 -t-345.5 -102q-221 0 -347 76.5t-126 217.5q0 101 -73 152t-209 51h-154v211h147z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1436" -d="M1053 1135q0 -137 -83 -233t-233 -132v-6q177 -22 268 -107.5t91 -230.5v-160h299v-692h-299v426h-310v426q0 106 -104.5 160.5t-304.5 54.5h-182v217h182q373 0 373 209q0 166 -238 166q-167 0 -332 -100l-155 206q209 144 507 144q241 0 381 -93.5t140 -254.5z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="1354" -d="M434 688q170 0 242 28t72 89q0 54 -53 81t-175 27q-77 0 -174.5 -19t-177.5 -52l-90 213q119 45 231 64.5t250 19.5q209 0 335 -80t126 -217q0 -189 -209 -246v-10q129 -34 184.5 -96.5t55.5 -163.5v-103h274v-624h-274v401h-297v326q0 78 -76.5 114.5t-237.5 36.5h-164 -v211h158z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="2116" -d="M1300 375q2 -72 41.5 -105.5t126.5 -33.5q90 0 129 51t39 164v397h306v-467q0 -197 -120 -299t-354 -102q-235 0 -356 100t-121 295v829h-317l-16 -134q-62 -511 -109.5 -717.5t-138.5 -290.5t-246 -82q-84 0 -148 22v254q58 -20 109 -20q53 0 84 48.5t58.5 180t73 431 -t77.5 566.5h882v-1087z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1915" -d="M1130 377q0 -74 40 -107.5t128 -33.5q87 0 124.5 51t37.5 164v249h301v-319q0 -197 -117.5 -299t-345.5 -102q-235 0 -354 100t-119 297v512h-250q-32 -375 -78 -559.5t-122.5 -267t-200.5 -82.5q-106 0 -174 32v244q49 -20 98 -20q57 0 95.5 82t69 273.5t52.5 526.5h815 -v-741z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="2136" -d="M1341 381q0 -75 36.5 -110t121.5 -35t121.5 51t36.5 164v397h305v-467q0 -196 -117.5 -298.5t-345.5 -102.5q-230 0 -347.5 100t-119.5 293v258h-538v-631h-310v1462h310v-573h538v573h309v-1081z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1950" -d="M465 1118v-430h405v430h306v-743q2 -72 41 -105.5t120 -33.5q85 0 121.5 51t36.5 164v249h301v-319q0 -198 -116.5 -299.5t-342.5 -101.5q-231 0 -348 100.5t-119 294.5v86h-405v-461h-305v1118h305z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1638" -d="M821 821h699v-123q0 -358 -168.5 -538t-493.5 -180q-356 0 -547.5 197t-191.5 556q0 229 87.5 399t254 260.5t393.5 90.5q276 0 504 -107l-107 -250q-114 57 -209.5 78t-199.5 21q-189 0 -296.5 -132t-107.5 -366q0 -235 108.5 -362t319.5 -127q154 0 241 83.5t87 234.5 -v7h-373v258z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1358" -d="M662 664h604v-93q0 -591 -580 -591q-282 0 -438 149t-156 422q0 284 162.5 436t462.5 152q226 0 422 -86l-92 -234q-75 35 -165.5 54.5t-162.5 19.5q-163 0 -240.5 -83.5t-77.5 -262.5q0 -326 277 -326q129 0 202.5 58t73.5 157h-292v228z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1552" -d="M748 381q0 -75 37.5 -110t123.5 -35q88 0 126 51t38 164v397h305v-467q0 -197 -118.5 -299t-348.5 -102q-235 0 -354 101.5t-119 291.5v831h-397v258h1104v-258h-397v-823z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1503" -d="M1085 1118v-229h-366v-508q0 -75 40 -110t128 -35q86 0 124 51t38 164v249h301v-319q0 -197 -117.5 -299t-345.5 -102q-233 0 -352 99.5t-121 295.5v514h-367v229h1038z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1327" -d="M133 1120q0 105 69 188.5t194 129t284 45.5q176 0 305.5 -33.5t247.5 -112.5l-135 -229q-192 119 -398 119q-133 0 -199.5 -40.5t-66.5 -115.5q0 -102 106.5 -146t338.5 -44h122v-242h-137q-234 0 -351.5 -52t-117.5 -149q0 -103 83 -151.5t253 -48.5q128 0 260.5 24.5 -t229.5 71.5v-275q-193 -79 -514 -79q-289 0 -454 117t-165 319q0 146 102 237.5t285 110.5v6q-159 25 -250.5 117.5t-91.5 232.5z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="1139" -d="M840 688v-211h-168q-146 0 -219.5 -34t-73.5 -107q0 -121 256 -121q111 0 223.5 23t200.5 63v-244q-172 -77 -434 -77q-266 0 -406.5 82.5t-140.5 246.5q0 107 64 174t208 95v10q-213 49 -213 258q0 141 128.5 217t363.5 76q111 0 226 -22t206 -62l-82 -213 -q-169 71 -342 71q-227 0 -227 -104q0 -66 66.5 -93.5t209.5 -27.5h154z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1675" -d="M1341 0h-309v1204h-358l-16 -134q-62 -511 -109.5 -717.5t-138.5 -290.5t-246 -82q-84 0 -148 22v254q58 -20 109 -20q53 0 84 48.5t58.5 180t73 431t77.5 566.5h923v-1462zM1282 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v383h295v-428q0 -177 -91.5 -274 -t-260.5 -97z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1483" -d="M1161 0h-305v889h-281q-32 -375 -78 -559.5t-122.5 -267t-200.5 -82.5q-106 0 -174 32v244q49 -20 98 -20q57 0 95.5 82t69 273.5t52.5 526.5h846v-1118zM1102 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v342h295v-387q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM961 -360q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM803 -362q0 45 -27 70.5 -t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM846 -360q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM688 -362q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1931" -d="M803 0l-352 1147h-9q19 -350 19 -467v-680h-277v1462h422l346 -1118h6l367 1118h422v-1462h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284zM783 1581v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="2011" -d="M1161 0h-305v653q0 121 -40.5 181.5t-127.5 60.5q-117 0 -170 -86t-53 -283v-526h-305v1118h233l41 -143h17q45 77 130 120.5t195 43.5q251 0 340 -164h27q45 78 132.5 121t197.5 43q190 0 287.5 -97.5t97.5 -312.5v-729h-306v653q0 121 -40.5 181.5t-127.5 60.5 -q-112 0 -167.5 -80t-55.5 -254v-561zM826 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1980" -d="M1608 0h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352l-373 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305z -M959 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1753" -d="M1079 0l-86 391l-116 494h-7l-204 -885h-328l-318 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332zM842 1241q-63 44 -185 142.5 -t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1980" -d="M1608 0h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352l-373 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305z -M774 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1753" -d="M1079 0l-86 391l-116 494h-7l-204 -885h-328l-318 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332zM688 1241v27q172 200 235 301 -h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1980" -d="M1608 0h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352l-373 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305z -M646 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM1049 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1753" -d="M1079 0l-86 391l-116 494h-7l-204 -885h-328l-318 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332zM533 1405q0 65 37.5 100 -t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM936 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM541 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM416 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM963 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5 -t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM875 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM1080 1579h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27z -M991 1800q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM988 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27zM899 1462q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM334 1606q112 130 215 280h316q49 -72 112 -154t103 -126v-27h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM422 1774h-151 -q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM246 1268q112 130 215 280h316q49 -72 112 -154t103 -126v-27h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM334 1436h-151q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM1280 1970q0 -114 -125 -139l-6 -61h-127l-10 116q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6 -q94 0 150.5 -36t56.5 -116zM1080 1579h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM1192 1632q0 -114 -125 -139l-6 -61h-127l-10 116q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6q94 0 150.5 -36t56.5 -116zM992 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27 -q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM852 1905q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65 -q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-12 -116 -65 -178.5t-134 -62.5zM1080 1579h-142q-141 71 -231 152q-83 -74 -232 -152h-141v27q170 164 236 260h274q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM764 1567q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-12 -116 -65 -178.5 -t-134 -62.5zM992 1241h-142q-141 71 -231 152q-83 -74 -232 -152h-141v27q170 164 236 260h274q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM940 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203zM541 -281 -q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM847 1240q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203zM428 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM608 1866q70 105 117 201h221v-21q-92 -110 -207 -207h-131v27zM1071 1917q-11 -158 -108.5 -248t-257.5 -90q-165 0 -258 86 -t-101 252h150q8 -87 65.5 -128.5t145.5 -41.5t145 47t66 123h153z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM516 1528q70 105 117 201h221v-21q-92 -110 -207 -207h-131v27zM979 1579q-11 -158 -108.5 -248t-257.5 -90q-165 0 -258 86t-101 252h150q8 -87 65.5 -128.5t145.5 -41.5t145 47t66 123h153z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM807 1839h-131q-106 85 -207 207v21h221q47 -96 117 -201v-27zM498 1917q8 -75 65 -122.5t146 -47.5q91 0 147 43.5t64 126.5h149 -q-9 -167 -101.5 -252.5t-256.5 -85.5q-161 0 -258.5 89.5t-108.5 248.5h154z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM715 1501h-131q-106 85 -207 207v21h221q47 -96 117 -201v-27zM406 1579q8 -75 65 -122.5t146 -47.5q91 0 147 43.5t64 126.5h149q-9 -167 -101.5 -252.5t-256.5 -85.5q-161 0 -258.5 89.5t-108.5 248.5h154z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM856 2001q0 -52 -25 -84.5t-79 -50.5l-6 -41h-107l-10 110q51 9 70.5 21t19.5 37q0 41 -59 41q-53 0 -82 -8v104q22 6 92 6 -q86 0 136 -33.5t50 -101.5zM498 1917q8 -75 65 -122.5t146 -47.5q91 0 147 43.5t64 126.5h149q-9 -167 -101.5 -252.5t-256.5 -85.5q-161 0 -258.5 89.5t-108.5 248.5h154z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM766 1663q0 -52 -25 -84.5t-79 -50.5l-6 -41h-107l-10 110q51 9 70.5 21t19.5 37q0 41 -59 41q-53 0 -82 -8v104q22 6 92 6q86 0 136 -33.5t50 -101.5zM408 1579q8 -75 65 -122.5t146 -47.5q91 0 147 43.5t64 126.5h149 -q-9 -167 -101.5 -252.5t-256.5 -85.5q-161 0 -258.5 89.5t-108.5 248.5h154z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM498 1876q7 -59 60 -94t151 -35q197 0 211 129h149q-9 -146 -101 -221.5t-257 -75.5q-163 0 -259.5 79.5t-107.5 217.5h154zM862 1925 -q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-43 0 -63 -18t-33 -64h-113q9 100 58 160.5t141 60.5q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-11 -109 -63 -165t-136 -56z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM408 1538q7 -59 60 -94t151 -35q197 0 211 129h149q-9 -146 -101 -221.5t-257 -75.5q-163 0 -259.5 79.5t-107.5 217.5h154zM772 1587q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-43 0 -63 -18t-33 -64h-113 -q9 100 58 160.5t141 60.5q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-11 -109 -63 -165t-136 -56z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1413" -d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM1100 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z -M541 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" horiz-adv-x="1237" -d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 -q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM418 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149zM1009 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM436 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M438 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM869 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M891 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM440 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5 -t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M452 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM979 1579h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27zM890 1800q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M994 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27zM905 1462q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM240 1606q112 130 215 280h316q49 -72 112 -154t103 -126v-27h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM328 1774h-151q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M258 1268q112 130 215 280h316q49 -72 112 -154t103 -126v-27h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM346 1436h-151q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM1179 1970q0 -114 -125 -139l-6 -61h-127l-10 116q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6q94 0 150.5 -36t56.5 -116zM979 1579h-162q-112 75 -211 166 -q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M1194 1632q0 -114 -125 -139l-6 -61h-127l-10 116q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6q94 0 150.5 -36t56.5 -116zM994 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5 -t95.5 -116.5v-27z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM755 1905q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113 -q-12 -116 -65 -178.5t-134 -62.5zM983 1579h-142q-141 71 -231 152q-83 -74 -232 -152h-141v27q170 164 236 260h274q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M770 1567q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-12 -116 -65 -178.5t-134 -62.5zM998 1241h-142q-141 71 -231 152 -q-83 -74 -232 -152h-141v27q170 164 236 260h274q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1147" -d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM837 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203zM436 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39 -q-166 0 -166 149z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1210" -d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z -M839 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203zM438 -279q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM594 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="625" -d="M465 0h-305v1118h305v-1118zM572 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="678" -d="M184 0v1462h310v-1462h-310zM172 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="625" -d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM465 0h-305v1118h305v-1118zM145 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM649 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39 -q-166 0 -166 149z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM465 -281 -q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM1073 1825q0 -156 -162 -197l-10 -71h-174l-23 147 -q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM891 1487 -q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM1180 1579h-162q-112 75 -211 166q-114 -101 -211 -166h-162 -v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27zM1091 1800q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM1000 1241 -h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27zM911 1462q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM438 1606q112 130 215 280h316q49 -72 112 -154t103 -126v-27 -h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM526 1774h-151q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM258 1268 -q112 130 215 280h316q49 -72 112 -154t103 -126v-27h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM346 1436h-151q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM1380 1970q0 -114 -125 -139l-6 -61h-127l-10 116 -q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6q94 0 150.5 -36t56.5 -116zM1180 1579h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM1200 1632 -q0 -114 -125 -139l-6 -61h-127l-10 116q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6q94 0 150.5 -36t56.5 -116zM1000 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27z -" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM958 1905q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5 -t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-12 -116 -65 -178.5t-134 -62.5zM1186 1579h-142q-141 71 -231 152q-83 -74 -232 -152h-141v27q170 164 236 260h274 -q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM780 1567 -q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-12 -116 -65 -178.5t-134 -62.5zM1008 1241h-142q-141 71 -231 152q-83 -74 -232 -152 -h-141v27q170 164 236 260h274q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1630" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM649 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39 -q-166 0 -166 149zM1045 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1268" -d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307zM469 -281 -q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149zM864 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1690" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560q0 363 181 556.5t519 193.5q346 0 524 -203q93 61 93 274h301l14 -22q-36 -177 -107 -277.5t-194 -150.5q61 -159 61 -373zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5 -t-94 -369.5zM1630 0zM613 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1391" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q112 0 212 -34.5t171 -103.5q149 45 149 285h301l15 -22q-27 -134 -70.5 -212.5t-114.5 -132t-176 -79.5q52 -125 52 -279zM403 561q0 -166 54.5 -251t177.5 -85 -q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1268 0zM457 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1690" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560q0 363 181 556.5t519 193.5q346 0 524 -203q93 61 93 274h301l14 -22q-36 -177 -107 -277.5t-194 -150.5q61 -159 61 -373zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5 -t-94 -369.5zM1630 0zM807 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1391" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q112 0 212 -34.5t171 -103.5q149 45 149 285h301l15 -22q-27 -134 -70.5 -212.5t-114.5 -132t-176 -79.5q52 -125 52 -279zM403 561q0 -166 54.5 -251t177.5 -85 -q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1268 0zM616 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1690" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560q0 363 181 556.5t519 193.5q346 0 524 -203q93 61 93 274h301l14 -22q-36 -177 -107 -277.5t-194 -150.5q61 -159 61 -373zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5 -t-94 -369.5zM1630 0zM1094 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1391" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q112 0 212 -34.5t171 -103.5q149 45 149 285h301l15 -22q-27 -134 -70.5 -212.5t-114.5 -132t-176 -79.5q52 -125 52 -279zM403 561q0 -166 54.5 -251t177.5 -85 -q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1268 0zM903 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z -" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1690" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560q0 363 181 556.5t519 193.5q346 0 524 -203q93 61 93 274h301l14 -22q-36 -177 -107 -277.5t-194 -150.5q61 -159 61 -373zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5 -t-94 -369.5zM1630 0zM660 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1391" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q112 0 212 -34.5t171 -103.5q149 45 149 285h301l15 -22q-27 -134 -70.5 -212.5t-114.5 -132t-176 -79.5q52 -125 52 -279zM403 561q0 -166 54.5 -251t177.5 -85 -q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1268 0zM477 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82 -q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1690" -d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560q0 363 181 556.5t519 193.5q346 0 524 -203q93 61 93 274h301l14 -22q-36 -177 -107 -277.5t-194 -150.5q61 -159 61 -373zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5 -t-94 -369.5zM1630 0zM651 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1391" -d="M1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q112 0 212 -34.5t171 -103.5q149 45 149 285h301l15 -22q-27 -134 -70.5 -212.5t-114.5 -132t-176 -79.5q52 -125 52 -279zM403 561q0 -166 54.5 -251t177.5 -85 -q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1268 0zM471 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM608 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM504 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1548" -d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM1022 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17 -q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1346" -d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM920 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17 -q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1812" -d="M1374 1462v-188q74 26 109 101t35 181h301l14 -22q-32 -154 -85.5 -237.5t-144.5 -135t-229 -71.5v-574q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-919q0 -156 70.5 -229.5t222.5 -73.5t220.5 76.5t68.5 228.5v917h309zM1548 0z -M611 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1556" -d="M952 0l-41 143h-18q-48 -77 -137.5 -120t-204.5 -43q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-117q71 22 110 95.5t39 189.5h301l15 -22q-32 -156 -86 -240t-145.5 -135t-233.5 -72v-817h-234zM1346 0z -M502 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1812" -d="M1374 1462v-188q74 26 109 101t35 181h301l14 -22q-32 -154 -85.5 -237.5t-144.5 -135t-229 -71.5v-574q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-919q0 -156 70.5 -229.5t222.5 -73.5t220.5 76.5t68.5 228.5v917h309zM1548 0z -M727 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1556" -d="M952 0l-41 143h-18q-48 -77 -137.5 -120t-204.5 -43q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-117q71 22 110 95.5t39 189.5h301l15 -22q-32 -156 -86 -240t-145.5 -135t-233.5 -72v-817h-234zM1346 0z -M614 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1812" -d="M1374 1462v-188q74 26 109 101t35 181h301l14 -22q-32 -154 -85.5 -237.5t-144.5 -135t-229 -71.5v-574q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-919q0 -156 70.5 -229.5t222.5 -73.5t220.5 76.5t68.5 228.5v917h309zM1548 0z -M1028 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1556" -d="M952 0l-41 143h-18q-48 -77 -137.5 -120t-204.5 -43q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-117q71 22 110 95.5t39 189.5h301l15 -22q-32 -156 -86 -240t-145.5 -135t-233.5 -72v-817h-234zM1346 0z -M926 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1812" -d="M1374 1462v-188q74 26 109 101t35 181h301l14 -22q-32 -154 -85.5 -237.5t-144.5 -135t-229 -71.5v-574q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-919q0 -156 70.5 -229.5t222.5 -73.5t220.5 76.5t68.5 228.5v917h309zM1548 0z -M611 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1556" -d="M952 0l-41 143h-18q-48 -77 -137.5 -120t-204.5 -43q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-117q71 22 110 95.5t39 189.5h301l15 -22q-32 -156 -86 -240t-145.5 -135t-233.5 -72v-817h-234zM1346 0z -M508 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1812" -d="M1374 1462v-188q74 26 109 101t35 181h301l14 -22q-32 -154 -85.5 -237.5t-144.5 -135t-229 -71.5v-574q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-919q0 -156 70.5 -229.5t222.5 -73.5t220.5 76.5t68.5 228.5v917h309zM1548 0z -M598 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1556" -d="M952 0l-41 143h-18q-48 -77 -137.5 -120t-204.5 -43q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-117q71 22 110 95.5t39 189.5h301l15 -22q-32 -156 -86 -240t-145.5 -135t-233.5 -72v-817h-234zM1346 0z -M496 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM575 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM540 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM471 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM815 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM889 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM834 1487q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5 -q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1278" -d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM475 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36 -t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="1165" -d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM425 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82 -q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1712" -d="M1593 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM526 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM-398 1266q0 82 76 138t217 75v-74q-73 -22 -107.5 -40.5 -t-34.5 -47.5q0 -18 18.5 -27t41 -17.5t41 -21.5t18.5 -41q0 -37 -31.5 -59.5t-97.5 -22.5q-67 0 -104 37t-37 101zM-52 1163l19 67q42 147 63 234h262v-20q-42 -94 -207 -307h-137v26z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="584" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="1024" -d="M82 436v230h860v-230h-860z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="2048" -d="M82 436v230h1884v-230h-1884z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="2048" -d="M82 436v230h1884v-230h-1884z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="842" -d="M846 -463h-850v139h850v-139zM846 -184h-850v139h850v-139z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="444" -d="M39 961l-14 22q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="444" -d="M406 1462l14 -22q-50 -197 -176 -479h-219q69 296 100 501h281z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="596" -d="M459 215q-52 -202 -176 -479h-220q65 266 101 502h280z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="442" -d="M319 1462q37 -245 101 -501h-219q-59 127 -107.5 260.5t-68.5 218.5l14 22h280z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="911" -d="M492 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280zM25 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="911" -d="M420 1440q-50 -197 -176 -479h-219q69 296 100 501h281zM887 1440q-50 -197 -176 -479h-219q69 296 100 501h280z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="1061" -d="M459 215q-52 -202 -176 -479h-220q65 266 101 502h280zM926 215q-52 -202 -176 -479h-220q65 266 101 502h280z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1057" -d="M934 928l-332 30l55 -958h-278l55 958l-311 -30v241l311 -30l-55 417h278l-55 -417l332 30v-241z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1077" -d="M623 557l331 31v-242l-331 31l55 -377h-279l56 377l-332 -31v242l332 -31l-47 229l47 213l-332 -30v241l332 -30l-56 376h279l-55 -376l331 30v-241l-331 30l47 -213z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="770" -d="M98 748q0 154 74 235.5t213 81.5q137 0 212 -82t75 -235q0 -152 -75.5 -235t-211.5 -83q-138 0 -212.5 83t-74.5 235z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1751" -d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM700 143q0 84 45 127t132 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-85 0 -131 44.5t-46 125.5zM1284 143q0 84 45 127t131 43 -q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2623" -d="M315 1024q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM758 1026q0 -230 -89 -345.5t-261 -115.5q-165 0 -255 118.5t-90 342.5q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5zM1446 1462l-811 -1462h-240l811 1462h240z -M1339 440q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM1782 442q0 -229 -89 -344.5t-261 -115.5q-165 0 -255 118.5t-90 341.5q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5zM2118 440q0 -127 22 -189.5t72 -62.5 -q96 0 96 252q0 250 -96 250q-50 0 -72 -61.5t-22 -188.5zM2560 442q0 -228 -88 -344t-262 -116q-164 0 -254 118.5t-90 341.5q0 457 344 457q169 0 259.5 -118.5t90.5 -338.5zM1845 0z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="545" -d="M412 1462l-41 -528h-197l-41 528h279z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="967" -d="M412 1462l-41 -528h-197l-41 528h279zM834 1462l-41 -528h-197l-41 528h279z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="754" -d="M82 573l371 455l219 -119l-279 -348l279 -348l-219 -119l-371 453v26z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="754" -d="M672 547l-371 -453l-219 119l278 348l-278 348l219 119l371 -455v-26z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="1167" -d="M1000 485h-244l-51 977h346zM701 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM416 485h-244l-51 977h346zM117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5 -q-84 0 -130 44.5t-46 125.5z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="266" -d="M657 1462l-811 -1462h-239l811 1462h239z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="776" -d="M293 1024q0 -127 22.5 -189.5t71.5 -62.5q50 0 73 62t23 190q0 127 -23 188.5t-73 61.5q-49 0 -71.5 -61.5t-22.5 -188.5zM735 1026q0 -461 -350 -461q-164 0 -254 118.5t-90 342.5q0 457 344 457q169 0 259.5 -118.5t90.5 -338.5z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="776" -d="M758 737h-125v-151h-238v151h-383v154l385 577h236v-563h125v-168zM395 905v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77l-127 -191h198z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="776" -d="M397 1151q143 0 230.5 -74.5t87.5 -202.5q0 -145 -95 -225t-278 -80q-158 0 -258 52v192q50 -32 116.5 -53t121.5 -21q172 0 172 131q0 63 -43.5 95t-124.5 32q-63 0 -119 -18l-109 43l37 440h520v-184h-356l-16 -135q56 8 114 8z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="776" -d="M729 877q0 -144 -87.5 -228t-242.5 -84q-158 0 -256 95.5t-98 252.5q0 418 547 582l67 -162q-175 -53 -266 -119t-117 -153h11q31 43 75.5 66.5t118.5 23.5q116 0 182 -70t66 -204zM385 743q59 0 90 35.5t31 98.5q0 54 -30 88t-87 34q-129 0 -129 -106q0 -66 34 -108 -t91 -42z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="776" -d="M154 586l340 692h-435v184h668v-149l-321 -727h-252z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="776" -d="M389 1483q141 0 225 -60.5t84 -165.5q0 -63 -33.5 -113t-109.5 -93q75 -42 108 -72.5t50.5 -67t17.5 -80.5q0 -117 -95.5 -191.5t-246.5 -74.5q-161 0 -252.5 70t-91.5 190q0 65 35.5 118t122.5 99q-127 89 -127 215q0 104 87 165t226 61zM270 825q0 -45 29 -73.5 -t86 -28.5q59 0 89 28.5t30 73.5q0 81 -133 125q-101 -44 -101 -125zM387 1325q-43 0 -65.5 -23.5t-22.5 -52.5q0 -41 26 -66t64 -46q38 19 63 44t25 68q0 29 -21 52.5t-69 23.5z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="776" -d="M725 1075q0 -254 -123 -380t-354 -126q-73 0 -127 15v188q49 -22 100 -22q140 0 209.5 56t77.5 187h-8q-71 -98 -197 -98q-122 0 -191 74t-69 205q0 137 91 222t239 85q164 0 258 -106.5t94 -299.5zM385 1303q-53 0 -86 -35.5t-33 -100.5q0 -55 28 -87.5t87 -32.5 -q55 0 90 31.5t35 74.5q0 67 -34 108.5t-87 41.5z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="866" -d="M580 764v401q0 76 -30 108t-87 32q-90 0 -126 -48t-36 -161v-332h-199v698h162l27 -84h14q73 101 215 101q258 0 258 -250v-465h-198z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" -d="M489 440h316v-178h-316v-262h-305v262h-149v178h149v1022h879v-254h-574v-336h537v-254h-537v-178z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" -d="M705 1483q190 0 385 -82l-93 -230q-78 29 -143.5 46.5t-134.5 17.5q-80 0 -118 -43t-38 -129v-113h359v-176h-359v-115h359v-178h-361q-5 -74 -40 -128t-109 -93h718v-260h-1048v248q100 42 137.5 95t42.5 138h-178v178h178v115h-178v176h178v115q0 206 114 312t329 106z -" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1827" -d="M473 774h66q139 0 209.5 52t70.5 169q0 109 -63 161t-199 52h-84v-434zM1112 1006q0 -236 -152.5 -361t-433.5 -125h-53v-520h-289v1462h373q272 0 413.5 -114.5t141.5 -341.5zM1608 203q78 0 161 35v-207q-97 -51 -235 -51q-163 0 -238 83t-75 256v318h-146v108l168 103 -l88 235h154v-237h272v-209h-272v-307q0 -60 36 -93.5t87 -33.5z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" horiz-adv-x="1329" -d="M504 -20q-192 0 -302 144t-110 402q0 282 99 416.5t323 134.5q108 0 192.5 -42t137.5 -122h10q-23 131 -23 232v51h-315v199h315v161h306v-161h155v-199h-155v-1196h-248l-64 145h-12q-104 -165 -309 -165zM633 223q110 0 162.5 61.5t56.5 211.5v28q0 176 -50.5 240.5 -t-183.5 64.5q-111 0 -152.5 -69t-41.5 -238q0 -149 50 -224t159 -75zM1063 -324h-850v140h850v-140z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" -d="M803 1225q-122 0 -201 -70.5t-102 -204.5h403v-176h-418l-2 -35v-47l2 -33h355v-178h-338q51 -243 321 -243q143 0 275 57v-256q-116 -59 -293 -59q-245 0 -403 133t-199 368h-137v178h118q-4 23 -4 62l2 53h-116v176h133q37 242 199 382.5t405 140.5q188 0 352 -82 -l-98 -232q-69 31 -129 48.5t-125 17.5z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1628" -d="M1311 1462l-811 -1462h-240l811 1462h240zM1565 344q0 -172 -90.5 -268t-247.5 -96q-149 0 -240.5 98t-91.5 266q0 170 89 266.5t249 96.5q150 0 241 -99.5t91 -263.5zM1098 344q0 -100 31 -150.5t102 -50.5q68 0 98.5 50.5t30.5 150.5t-30.5 149.5t-98.5 49.5 -q-71 0 -102 -49.5t-31 -149.5zM420 756q-167 0 -262 92t-95 262q0 178 91 270.5t264 92.5q117 0 217 -50l-55 -155q-102 41 -166 41q-73 0 -109.5 -51t-36.5 -146q0 -190 140 -190q116 0 206 43v-164q-79 -45 -194 -45z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1065" -d="M641 190q60 0 98.5 49.5t44.5 151.5h207q-11 -220 -103 -314.5t-278 -94.5q-183 0 -285 103.5t-102 299.5v127l-182 -49v196q98 26 182 54v411q0 184 94 270.5t291 86.5q163 0 258 -87t95 -237q0 -180 -101.5 -308.5t-343.5 -240.5v-233q0 -185 125 -185zM698 1151 -q0 139 -90 139q-53 0 -72.5 -38t-19.5 -101v-328q88 39 135 123t47 205z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="2105" -d="M1231 0h-328l-510 1047h-14q24 -257 24 -418v-629h-268v1462h330l506 -1040h18q-24 233 -24 403v637h266v-1462zM1370 0v188h639v-188h-639zM2030 639q0 -171 -92 -268t-250 -97q-154 0 -246 99t-92 266q0 168 90 265t252 97q154 0 246 -99.5t92 -262.5zM1552 639 -q0 -100 32.5 -150.5t105.5 -50.5q71 0 103 50.5t32 150.5t-32 149.5t-103 49.5q-73 0 -105.5 -49.5t-32.5 -149.5z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1505" -d="M537 946q0 -100 -69.5 -156.5t-186.5 -56.5q-111 0 -199 43v144q115 -54 203 -54q45 0 68.5 19.5t23.5 54.5q0 27 -17.5 46t-54.5 37q-108 53 -144 83t-55.5 69t-19.5 91q0 93 64 150t178 57q95 0 207 -52l-52 -125q-56 27 -86 35t-69 8q-37 0 -59.5 -16.5t-22.5 -50.5 -q0 -31 21 -53t95 -58q105 -51 140 -97.5t35 -117.5zM928 741l-166 529h-6l4 -111v-418h-164v721h248l160 -510l170 510h239v-721h-168v408l4 121h-6l-174 -529h-141z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1534" -d="M381 741h-168v572h-197v149h564v-149h-199v-572zM956 741l-165 529h-7l4 -111v-418h-163v721h247l160 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-142z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1610" -d="M805 1227q-181 0 -279 -110t-98 -310q0 -203 66 -329.5t200 -198.5v-279h-639v260h371q-152 93 -234.5 253.5t-82.5 358.5q0 184 85.5 323.5t243.5 214.5t367 75q319 0 507.5 -167t188.5 -448q0 -198 -83 -356t-238 -254h374v-260h-643v279q139 72 205 201t66 329 -q0 199 -98.5 308.5t-278.5 109.5z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M633 -35q-157 0 -277.5 73.5t-187 204t-66.5 287.5q0 171 69 298.5t191 197.5t271 70q152 0 273.5 -71t189 -200.5t67.5 -294.5h-827v-356q49 -53 132 -88t165 -35q131 0 222.5 52.5t172.5 181.5l72 -41q-98 -155 -206.5 -217t-260.5 -62zM932 616v277q-50 53 -131.5 86 -t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1804" -d="M1347 1462l-811 -1462h-239l811 1462h239zM1368 894q141 0 225 -60.5t84 -165.5q0 -63 -33.5 -113t-109.5 -93q75 -42 108 -72.5t50.5 -67t17.5 -80.5q0 -117 -95.5 -191.5t-246.5 -74.5q-161 0 -252.5 70t-91.5 190q0 65 35.5 118t122.5 99q-127 89 -127 215 -q0 104 87 165t226 61zM1249 236q0 -45 29 -73.5t86 -28.5q59 0 89 28.5t30 73.5q0 81 -133 125q-101 -44 -101 -125zM1366 736q-43 0 -65.5 -23.5t-22.5 -52.5q0 -41 26 -66t64 -46q38 19 63 44t25 68q0 29 -21 52.5t-69 23.5zM550 586h-238v446l3 112l5 95q-27 -36 -75 -78 -l-78 -61l-109 127l301 235h191v-876z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1804" -d="M1417 1462l-811 -1462h-239l811 1462h239zM1403 894q141 0 225 -60.5t84 -165.5q0 -63 -33.5 -113t-109.5 -93q75 -42 108 -72.5t50.5 -67t17.5 -80.5q0 -117 -95.5 -191.5t-246.5 -74.5q-161 0 -252.5 70t-91.5 190q0 65 35.5 118t122.5 99q-127 89 -127 215 -q0 104 87 165t226 61zM1284 236q0 -45 29 -73.5t86 -28.5q59 0 89 28.5t30 73.5q0 81 -133 125q-101 -44 -101 -125zM1401 736q-43 0 -65.5 -23.5t-22.5 -52.5q0 -41 26 -66t64 -46q38 19 63 44t25 68q0 29 -21 52.5t-69 23.5zM666 1249q0 -143 -170 -198v-13 -q94 -20 146 -75t52 -134q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141q62 47 137.5 78t178.5 31q127 0 208 -64 -t81 -168z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1804" -d="M1417 1462l-811 -1462h-239l811 1462h239zM1403 894q141 0 225 -60.5t84 -165.5q0 -63 -33.5 -113t-109.5 -93q75 -42 108 -72.5t50.5 -67t17.5 -80.5q0 -117 -95.5 -191.5t-246.5 -74.5q-161 0 -252.5 70t-91.5 190q0 65 35.5 118t122.5 99q-127 89 -127 215 -q0 104 87 165t226 61zM1284 236q0 -45 29 -73.5t86 -28.5q59 0 89 28.5t30 73.5q0 81 -133 125q-101 -44 -101 -125zM1401 736q-43 0 -65.5 -23.5t-22.5 -52.5q0 -41 26 -66t64 -46q38 19 63 44t25 68q0 29 -21 52.5t-69 23.5zM403 1151q143 0 230.5 -74.5t87.5 -202.5 -q0 -145 -95 -225t-278 -80q-158 0 -258 52v192q50 -32 116.5 -53t121.5 -21q172 0 172 131q0 63 -43.5 95t-124.5 32q-63 0 -119 -18l-109 43l37 440h520v-184h-356l-16 -135q56 8 114 8z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1804" -d="M1327 1462l-811 -1462h-239l811 1462h239zM1347 894q141 0 225 -60.5t84 -165.5q0 -63 -33.5 -113t-109.5 -93q75 -42 108 -72.5t50.5 -67t17.5 -80.5q0 -117 -95.5 -191.5t-246.5 -74.5q-161 0 -252.5 70t-91.5 190q0 65 35.5 118t122.5 99q-127 89 -127 215 -q0 104 87 165t226 61zM1228 236q0 -45 29 -73.5t86 -28.5q59 0 89 28.5t30 73.5q0 81 -133 125q-101 -44 -101 -125zM1345 736q-43 0 -65.5 -23.5t-22.5 -52.5q0 -41 26 -66t64 -46q38 19 63 44t25 68q0 29 -21 52.5t-69 23.5zM162 586l340 692h-435v184h668v-149l-321 -727 -h-252z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M1122 920q0 -260 -86.5 -484t-232.5 -340t-334 -116q-199 0 -304.5 106t-105.5 313q0 174 74.5 329t199 232.5t283.5 77.5q105 0 189 -41q-23 236 -201 236q-54 0 -130.5 -27t-162.5 -84v271q170 90 336 90q234 0 354.5 -145t120.5 -418zM481 223q103 0 187 138t116 346 -q-14 52 -53 78t-92 26q-70 0 -127.5 -54t-94 -162t-36.5 -220q0 -152 100 -152z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1348" -d="M57 178l443 1290h350l440 -1292v-176h-1233v178zM674 1214q-2 -15 -12.5 -58.5t-30.5 -112.5t-258 -785h602l-252 768l-11 39q-36 129 -38 149z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1518" -d="M1034 -457v1661h-551v-1661h-317v1919h1186v-1919h-318z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1292" -d="M41 -457v170l575 834l-559 749v166h1166v-252h-756l494 -657l-519 -756h840v-254h-1241z" /> - <glyph glyph-name="minus" unicode="&#x2212;" -d="M88 612v219h993v-219h-993z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M664 -14h-183l-268 737h-176v213h325l205 -567l490 1388h219z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1448" -d="M1335 717q0 -142 -91 -240t-226 -98q-176 0 -299 176q-59 -77 -132.5 -123.5t-152.5 -46.5q-141 0 -231 92t-90 246q0 144 90.5 240t230.5 96q176 0 291 -174q125 170 293 170q140 0 228.5 -92.5t88.5 -245.5zM444 588q88 0 166 135q-38 68 -78 101.5t-90 33.5 -q-56 0 -90.5 -38.5t-34.5 -98.5t34.5 -96.5t92.5 -36.5zM1004 852q-87 0 -168 -133q80 -137 170 -137q56 0 90 40t34 97q0 58 -35 95.5t-91 37.5z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="844" -d="M686 1300q-51 0 -81 -36t-30 -101v-1276q0 -187 -98 -283t-282 -96q-109 0 -195 41v254q91 -39 158 -39q110 0 110 142v1272q0 185 97 281.5t284 96.5q109 0 195 -40v-254q-89 38 -158 38z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" -d="M322 869q-55 0 -117.5 -33.5t-116.5 -87.5v231q103 109 256 109q73 0 137.5 -16t139.5 -48q129 -55 227 -55q53 0 116 32t117 89v-231q-101 -109 -256 -109q-66 0 -126 13t-150 50q-131 56 -227 56zM322 470q-55 0 -117.5 -33.5t-116.5 -87.5v231q103 109 256 109 -q73 0 137.5 -16t139.5 -48q129 -55 227 -55q53 0 116 32t117 89v-231q-101 -109 -256 -109q-66 0 -126 13t-150 50q-131 56 -227 56z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" -d="M561 418l-127 -275l-201 84l89 191h-234v219h336l80 170h-416v217h516l131 281l201 -86l-92 -195h237v-217h-338l-79 -170h417v-219h-520z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" -d="M86 0v219h993v-219h-993zM1081 264l-993 438v144l993 495v-239l-684 -318l684 -280v-240z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" -d="M88 0v219h993v-219h-993zM88 504l684 280l-684 318v239l993 -495v-144l-993 -438v240z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1194" -d="M1104 735l-451 -735h-114l-451 735l451 738h114zM840 735l-244 410l-244 -410l244 -409z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-4q59 -13 83 -47t24 -90 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM417 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM237 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM630 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM57 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM460 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99 -q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM235 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82 -q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM63 1790h678v-211h-678v211z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM794 1917q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM340 -227q0 -42 22.5 -62t57.5 -20q55 0 115 18v-178q-82 -23 -156 -23q-113 0 -181.5 63.5t-68.5 166.5q0 67 38 126t142 136h179q-70 -66 -109 -120.5t-39 -106.5z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM231 1745q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1475" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM828 -430q-105 0 -183 22v258q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="1049" -d="M983 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM-99 1167q18 54 44.5 164t37.5 194h283v-24q-78 -186 -187 -365h-178v31z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM57 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM460 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99 -q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM57 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM460 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99 -q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1182" -d="M1075 1599q-19 -187 -141 -272.5t-352 -85.5q-237 0 -350.5 82t-127.5 276h273q7 -103 51.5 -144.5t159.5 -41.5q101 0 150.5 45.5t60.5 140.5h276z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="1024" -d="M350 1255q15 49 34.5 143t27.5 158h282v-20q-80 -176 -166 -307h-178v26z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="1024" -d="M350 -426q15 49 34.5 143t27.5 158h282v-20q-75 -168 -166 -308h-178v27z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="1024" -d="M678 1542q-15 -49 -34.5 -143t-27.5 -158h-282v21q78 170 166 307h178v-27z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="512" -d="M121 1266q0 82 76 138t217 75v-74q-73 -22 -107.5 -40.5t-34.5 -47.5q0 -18 18.5 -27t41 -17.5t41 -21.5t18.5 -41q0 -37 -31.5 -59.5t-97.5 -22.5q-67 0 -104 37t-37 101zM467 1163l19 67q42 147 63 234h262v-20q-42 -94 -207 -307h-137v26z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM654 1825q0 -156 -162 -197l-10 -71h-174l-23 147q75 12 102 37.5t27 62.5q0 32 -21 49t-55 17q-65 0 -139 -23v168q30 10 82.5 16.5t93.5 6.5q140 0 209.5 -55.5t69.5 -157.5z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="797" -d="M731 0h-665v176l178 82v946l-178 82v176h665v-176l-178 -82v-946l178 -82v-176zM231 -281q0 150 166 150t166 -150q0 -71 -42 -110t-124 -39q-166 0 -166 149z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-233 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5t95.5 -116.5v-27zM-322 1462q85 91 138 201h241v-21q-67 -89 -227 -206h-152v26z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-977 1268q112 130 215 280h316q49 -72 112 -154t103 -126v-27h-162q-97 65 -211 166q-106 -96 -211 -166h-162v27zM-889 1436h-151q-164 119 -228 206v21h242q54 -112 137 -201v-26z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-33 1632q0 -114 -125 -139l-6 -61h-127l-10 116q55 2 88 17.5t33 44.5q0 21 -18.5 36t-61.5 15q-35 0 -72 -10v127q22 6 92 6q94 0 150.5 -36t56.5 -116zM-233 1241h-162q-112 75 -211 166q-114 -101 -211 -166h-162v27q112 130 215 280h315q53 -78 120.5 -163.5 -t95.5 -116.5v-27z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-457 1567q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-40 0 -61.5 -16.5t-34.5 -65.5h-113q9 111 62.5 176t136.5 65q37 0 75.5 -13t74.5 -28t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-12 -116 -65 -178.5t-134 -62.5zM-229 1241h-142q-141 71 -231 152 -q-83 -74 -232 -152h-141v27q170 164 236 260h274q48 -69 112 -135t124 -125v-27z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-713 1528q70 105 117 201h221v-21q-92 -110 -207 -207h-131v27zM-250 1579q-11 -158 -108.5 -248t-257.5 -90q-165 0 -258 86t-101 252h150q8 -87 65.5 -128.5t145.5 -41.5t145 47t66 123h153z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-512 1501h-131q-106 85 -207 207v21h221q47 -96 117 -201v-27zM-821 1579q8 -75 65 -122.5t146 -47.5q91 0 147 43.5t64 126.5h149q-9 -167 -101.5 -252.5t-256.5 -85.5q-161 0 -258.5 89.5t-108.5 248.5h154z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-463 1663q0 -52 -25 -84.5t-79 -50.5l-6 -41h-107l-10 110q51 9 70.5 21t19.5 37q0 41 -59 41q-53 0 -82 -8v104q22 6 92 6q86 0 136 -33.5t50 -101.5zM-821 1579q8 -75 65 -122.5t146 -47.5q91 0 147 43.5t64 126.5h149q-9 -167 -101.5 -252.5t-256.5 -85.5 -q-161 0 -258.5 89.5t-108.5 248.5h154z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-821 1538q7 -59 60 -94t151 -35q197 0 211 129h149q-9 -146 -101 -221.5t-257 -75.5q-163 0 -259.5 79.5t-107.5 217.5h154zM-457 1587q-36 0 -73.5 12.5t-73.5 27.5t-69.5 27.5t-61.5 12.5q-43 0 -63 -18t-33 -64h-113q9 100 58 160.5t141 60.5q37 0 75.5 -13t74.5 -28 -t69 -28t59 -13q41 0 61.5 18t34.5 66h113q-11 -109 -63 -165t-136 -56z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="422" -d="M205 -227q0 52 -39 106.5t-109 120.5h179q79 -60 112 -97.5t50.5 -77.5t17.5 -87q0 -103 -69 -166.5t-181 -63.5q-74 0 -156 23v178q60 -18 115 -18q35 0 57.5 20t22.5 62z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="598" -d="M201 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v383h295v-428q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="598" -d="M201 -496q-100 0 -185 25v240q59 -19 119 -19q123 0 123 170v342h295v-387q0 -177 -91.5 -274t-260.5 -97z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="985" -d="M770 0h-309v846l3 139l5 152q-6 -8 -28.5 -29.5t-40.5 -38t-205 -168.5l-150 186l471 375h254v-1462z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1247" -d="M408 571q0 -171 50.5 -258.5t166.5 -87.5q114 0 164.5 87.5t50.5 258.5q0 172 -51 257t-166 85q-114 0 -164.5 -85.5t-50.5 -256.5zM1145 571q0 -282 -136 -436.5t-388 -154.5q-250 0 -384.5 153t-134.5 438q0 278 137.5 433t387.5 155q247 0 382.5 -154t135.5 -434z" /> - <glyph glyph-name="one.os" horiz-adv-x="1008" -d="M823 0h-305v522l3 139l5 152q-13 -15 -54.5 -49t-65.5 -51l-195 -135l-150 186l498 375h264v-1139z" /> - <glyph glyph-name="two.os" -d="M1087 0h-1021v207l368 258q157 109 202 151t67 82t22 88q0 51 -40 83t-124 32t-164 -38.5t-168 -110.5l-161 198q137 119 254.5 164t252.5 45q215 0 336 -88t121 -248q0 -120 -61 -209.5t-240 -212.5l-188 -127v-14h544v-260z" /> - <glyph glyph-name="three.os" -d="M1047 811q0 -137 -83 -233t-233 -132v-6q177 -22 268 -107.5t91 -230.5q0 -211 -153 -328.5t-437 -117.5q-238 0 -422 79v263q85 -43 187 -70t202 -27q153 0 226 52t73 167q0 103 -84 146t-268 43h-111v237h113q170 0 248.5 44.5t78.5 152.5q0 166 -208 166 -q-72 0 -146.5 -24t-165.5 -83l-143 213q200 144 477 144q227 0 358.5 -92t131.5 -256z" /> - <glyph glyph-name="four.os" -d="M1145 27h-176v-371h-316v371h-630v204l661 908h285v-873h176v-239zM668 266v219q0 50 4 159.5t8 143.5h-8q-25 -48 -68 -115t-72 -104l-233 -303h369z" /> - <glyph glyph-name="five.os" -d="M614 610q212 0 337.5 -119t125.5 -326q0 -245 -151 -377t-432 -132q-244 0 -394 79v267q79 -42 184 -68.5t199 -26.5q283 0 283 232q0 221 -293 221q-53 0 -117 -10.5t-104 -22.5l-123 66l55 745h793v-262h-522l-27 -287l35 7q61 14 151 14z" /> - <glyph glyph-name="six.os" -d="M72 621q0 434 183.5 646t549.5 212q125 0 196 -15v-247q-89 20 -176 20q-159 0 -259.5 -48t-150.5 -142t-59 -267h13q99 170 317 170q196 0 307 -123t111 -340q0 -234 -132 -370.5t-366 -136.5q-162 0 -282.5 75t-186 219t-65.5 347zM600 227q99 0 152 66.5t53 189.5 -q0 107 -49.5 168.5t-149.5 61.5q-94 0 -160.5 -61t-66.5 -142q0 -119 62.5 -201t158.5 -82z" /> - <glyph glyph-name="seven.os" -d="M227 -324l549 1200h-721v260h1049v-194l-553 -1266h-324z" /> - <glyph glyph-name="eight.os" -d="M586 1481q210 0 338.5 -95.5t128.5 -257.5q0 -112 -62 -199.5t-200 -156.5q164 -88 235.5 -183.5t71.5 -209.5q0 -180 -141 -289.5t-371 -109.5q-240 0 -377 102t-137 289q0 125 66.5 222t213.5 171q-125 79 -180 169t-55 197q0 157 130 254t339 97zM358 389 -q0 -86 60 -134t164 -48q115 0 172 49.5t57 130.5q0 67 -56.5 125.5t-183.5 124.5q-213 -98 -213 -248zM584 1255q-79 0 -127.5 -40.5t-48.5 -108.5q0 -60 38.5 -107.5t139.5 -97.5q98 46 137 94t39 111q0 69 -50 109t-128 40z" /> - <glyph glyph-name="nine.os" -d="M1098 516q0 -432 -182 -645t-551 -213q-130 0 -197 14v248q84 -21 176 -21q155 0 255 45.5t153 143t61 268.5h-12q-58 -94 -134 -132t-190 -38q-191 0 -301 122.5t-110 340.5q0 235 133.5 371.5t363.5 136.5q162 0 283.5 -76t186.5 -220.5t65 -344.5zM569 909 -q-96 0 -150 -66t-54 -190q0 -106 49 -168t149 -62q94 0 161 61.5t67 141.5q0 119 -62.5 201t-159.5 82z" /> - <glyph glyph-name="g.alt" horiz-adv-x="1296" -d="M623 219q120 0 171.5 69.5t57.5 229.5v37q0 179 -55.5 257.5t-178.5 78.5q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM1137 -2q0 -241 -140.5 -365.5t-418.5 -124.5q-245 0 -418 66v244q203 -86 436 -86q235 0 235 254v18l5 141h-5q-107 -165 -317 -165 -q-201 0 -311.5 155t-110.5 422q0 275 114.5 428.5t315.5 153.5q206 0 324 -164h8l25 143h258v-1120z" /> - <glyph glyph-name="gcircumflex.alt" horiz-adv-x="1296" -d="M623 219q120 0 171.5 69.5t57.5 229.5v37q0 179 -55.5 257.5t-178.5 78.5q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM1137 -2q0 -241 -140.5 -365.5t-418.5 -124.5q-245 0 -418 66v244q203 -86 436 -86q235 0 235 254v18l5 141h-5q-107 -165 -317 -165 -q-201 0 -311.5 155t-110.5 422q0 275 114.5 428.5t315.5 153.5q206 0 324 -164h8l25 143h258v-1120zM866 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" /> - <glyph glyph-name="gbreve.alt" horiz-adv-x="1296" -d="M623 219q120 0 171.5 69.5t57.5 229.5v37q0 179 -55.5 257.5t-178.5 78.5q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM1137 -2q0 -241 -140.5 -365.5t-418.5 -124.5q-245 0 -418 66v244q203 -86 436 -86q235 0 235 254v18l5 141h-5q-107 -165 -317 -165 -q-201 0 -311.5 155t-110.5 422q0 275 114.5 428.5t315.5 153.5q206 0 324 -164h8l25 143h258v-1120zM1024 1579q-12 -154 -122 -246t-276 -92q-174 0 -277.5 91t-111.5 247h170q4 -47 27.5 -74t66 -39t127.5 -12q206 0 222 125h174z" /> - <glyph glyph-name="gdot.alt" horiz-adv-x="1296" -d="M623 219q120 0 171.5 69.5t57.5 229.5v37q0 179 -55.5 257.5t-178.5 78.5q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM1137 -2q0 -241 -140.5 -365.5t-418.5 -124.5q-245 0 -418 66v244q203 -86 436 -86q235 0 235 254v18l5 141h-5q-107 -165 -317 -165 -q-201 0 -311.5 155t-110.5 422q0 275 114.5 428.5t315.5 153.5q206 0 324 -164h8l25 143h258v-1120zM483 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" /> - <glyph glyph-name="gcommaaccent.alt" horiz-adv-x="1296" -d="M623 219q120 0 171.5 69.5t57.5 229.5v37q0 179 -55.5 257.5t-178.5 78.5q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM1137 -2q0 -241 -140.5 -365.5t-418.5 -124.5q-245 0 -418 66v244q203 -86 436 -86q235 0 235 254v18l5 141h-5q-107 -165 -317 -165 -q-201 0 -311.5 155t-110.5 422q0 275 114.5 428.5t315.5 153.5q206 0 324 -164h8l25 143h258v-1120zM840 1542q-15 -49 -34.5 -143t-27.5 -158h-282v21q78 170 166 307h178v-27z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.ttf deleted file mode 100755 index cbb4150..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.woff deleted file mode 100755 index 1dcd612..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Bold-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.eot deleted file mode 100755 index 7b32ec3..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.svg deleted file mode 100755 index 23157e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.svg +++ /dev/null @@ -1,21121 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:38:40 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans-BoldItalic" horiz-adv-x="1217" > - <font-face - font-family="Open Sans" - font-weight="700" - font-style="italic" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 8 6 3 5 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1118" - cap-height="1462" - bbox="-1051 -600 2648 2189" - underline-thickness="102" - underline-position="-307" - slope="-12" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1460" -d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49 -l-79 -224q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1352" -d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371z -M1065 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM1081 0h-301l237 1118h301z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1352" -d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371zM1081 0 -h-301l330 1556h301z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="2048" -d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49 -l-79 -224q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371zM1778 0h-301l237 1118h301zM1761 1380q0 87 48 131.5 -t135 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-152 0 -152 123z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="2048" -d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49 -l-79 -224q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371zM1778 0h-301l329 1556h301z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="586" -d="M391 485h-241l157 977h340zM25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="928" -d="M549 1462l-152 -528h-196l71 528h277zM954 1462l-151 -528h-199l74 528h276z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M1036 846l-69 -232h258l-19 -206h-297l-116 -408h-220l117 408h-194l-115 -408h-215l113 408h-238l18 206h277l70 232h-252l18 209h289l119 407h217l-117 -407h199l116 407h215l-116 -407h239l-18 -209h-279zM553 614h197l69 232h-196z" /> - <glyph glyph-name="dollar" unicode="$" horiz-adv-x="1128" -d="M1034 496q0 -184 -125.5 -291.5t-367.5 -124.5l-39 -199h-140l44 201q-209 12 -355 86v266q198 -107 404 -117l71 322q-163 61 -241 151t-78 214q0 173 127 279.5t350 121.5l35 151h139l-33 -151q166 -22 295 -90l-106 -232q-132 65 -242 74l-63 -299q131 -51 195 -99.5 -t97 -113t33 -149.5zM594 322q63 9 102 45t39 98q0 46 -24.5 75.5t-59.5 43.5zM633 1157q-62 -7 -96.5 -41t-34.5 -94q0 -79 80 -111z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1753" -d="M518 1274q-63 0 -110.5 -128.5t-47.5 -277.5q0 -96 56 -96q65 0 112 131t47 275q0 96 -57 96zM821 1165q0 -166 -56 -310t-151 -217t-217 -73q-139 0 -210.5 83.5t-71.5 236.5q0 169 55.5 311.5t148.5 214.5t216 72q137 0 211.5 -80t74.5 -238zM1554 1462l-1083 -1462 -h-240l1088 1462h235zM1376 690q-39 0 -75 -56t-59 -154t-23 -195t55 -97q41 0 77 55t59.5 154.5t23.5 196.5q0 96 -58 96zM1679 590q0 -167 -54 -313.5t-148 -220.5t-215 -74q-144 0 -216.5 78.5t-72.5 222.5q0 177 53 322.5t148 219.5t219 74q137 0 211.5 -78.5 -t74.5 -230.5z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1450" -d="M1325 0h-350l-72 98q-175 -118 -403 -118q-209 0 -320.5 97.5t-111.5 280.5q0 145 78.5 248.5t273.5 200.5q-76 130 -76 258q0 195 117.5 307.5t316.5 112.5q169 0 266 -82.5t97 -224.5q0 -280 -365 -426l195 -263q44 57 80.5 121.5t78.5 173.5h300q-133 -313 -310 -497z -M541 623q-88 -51 -123 -104.5t-35 -131.5q0 -65 45.5 -108t116.5 -43q115 0 221 59zM662 920q113 59 155.5 111t42.5 112q0 57 -30 82.5t-70 25.5q-66 0 -102.5 -46.5t-36.5 -119.5q0 -46 12 -92t29 -73z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="522" -d="M549 1462l-152 -528h-196l71 528h277z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="694" -d="M74 281q0 339 122.5 626.5t381.5 554.5h262q-255 -278 -377.5 -573.5t-122.5 -618.5q0 -308 117 -594h-234q-149 266 -149 605z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="694" -d="M618 858q0 -342 -124 -630.5t-379 -551.5h-262q499 545 499 1192q0 307 -116 594h233q149 -264 149 -604z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1116" -d="M885 1522l-113 -353l387 29l-18 -254l-338 43l160 -336l-246 -73l-90 337l-197 -278l-207 164l275 248l-326 92l86 237l338 -174l33 369z" /> - <glyph glyph-name="plus" unicode="+" horiz-adv-x="1128" -d="M475 612h-366v219h366v369h219v-369h367v-219h-367v-364h-219v364z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="569" -d="M377 238l8 -23q-118 -255 -262 -479h-225q74 167 194 502h285z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="659" -d="M41 424l53 250h524l-53 -250h-524z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="584" -d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="862" -d="M1014 1462l-809 -1462h-295l809 1462h295z" /> - <glyph glyph-name="zero" unicode="0" horiz-adv-x="1128" -d="M1110 1012q0 -470 -168.5 -751t-472.5 -281q-198 0 -300.5 122t-102.5 365q0 297 84 537t228 360.5t333 120.5q399 0 399 -473zM684 1235q-80 0 -149.5 -104t-117.5 -302t-48 -368q0 -115 27.5 -173.5t97.5 -58.5q81 0 150.5 106t116 301t46.5 386q0 111 -30.5 162 -t-92.5 51z" /> - <glyph glyph-name="one" unicode="1" horiz-adv-x="1128" -d="M688 0h-305l180 829q35 152 76 287q-9 -8 -61.5 -47t-262.5 -170l-133 215l566 348h249z" /> - <glyph glyph-name="two" unicode="2" horiz-adv-x="1128" -d="M913 0h-962l43 213l477 424q180 159 248.5 254.5t68.5 179.5q0 75 -41 114.5t-110 39.5q-66 0 -135.5 -33.5t-171.5 -118.5l-146 203q132 112 252 159.5t250 47.5q190 0 301 -98t111 -259q0 -107 -41 -201t-122.5 -188t-266.5 -245l-269 -222v-10h568z" /> - <glyph glyph-name="three" unicode="3" horiz-adv-x="1128" -d="M1104 1149q0 -156 -94.5 -262t-261.5 -135v-4q131 -26 198.5 -106.5t67.5 -201.5q0 -133 -74 -238t-212 -163.5t-327 -58.5q-239 0 -387 79v267q84 -50 182 -75.5t191 -25.5q158 0 243 63.5t85 176.5q0 172 -258 172h-138l46 221h73q167 0 263 62t96 172q0 67 -43 104 -t-121 37q-134 0 -287 -100l-127 204q124 81 232.5 113.5t246.5 32.5q190 0 298 -90.5t108 -243.5z" /> - <glyph glyph-name="four" unicode="4" horiz-adv-x="1128" -d="M1028 303h-170l-63 -303h-293l63 303h-590l48 234l770 925h311l-195 -919h170zM616 543l58 248q12 58 40 164t42 141h-6q-35 -63 -132 -181l-313 -372h311z" /> - <glyph glyph-name="five" unicode="5" horiz-adv-x="1128" -d="M623 922q183 0 289 -103t106 -287q0 -167 -71.5 -292t-208.5 -192.5t-330 -67.5q-117 0 -218.5 23t-162.5 58v269q174 -99 352 -99q154 0 241 71t87 194q0 94 -57.5 141t-166.5 47q-102 0 -213 -33l-104 78l207 733h755l-55 -262h-489l-88 -293q72 15 127 15z" /> - <glyph glyph-name="six" unicode="6" horiz-adv-x="1128" -d="M88 469q0 202 61 395.5t167.5 335t256.5 213.5t357 72q125 0 223 -27l-51 -246q-84 25 -191 25q-194 0 -313.5 -108t-185.5 -345h4q115 166 311 166q157 0 242.5 -97t85.5 -273q0 -169 -71 -313.5t-190.5 -215.5t-277.5 -71q-212 0 -320 127t-108 362zM530 227 -q99 0 161.5 94t62.5 236q0 71 -33.5 113.5t-102.5 42.5q-60 0 -114.5 -35.5t-87.5 -95.5t-33 -160q0 -91 40 -143t107 -52z" /> - <glyph glyph-name="seven" unicode="7" horiz-adv-x="1128" -d="M78 0l737 1202h-629l56 260h975l-41 -194l-752 -1268h-346z" /> - <glyph glyph-name="eight" unicode="8" horiz-adv-x="1128" -d="M721 1485q123 0 215.5 -42t141 -118t48.5 -174q0 -134 -80.5 -233.5t-230.5 -151.5q217 -141 217 -365q0 -122 -63.5 -218.5t-181 -149.5t-273.5 -53q-214 0 -336.5 100t-122.5 270q0 298 348 426q-165 132 -165 299q0 119 58 212.5t168 145.5t257 52zM582 643 -q-116 -45 -173 -107t-57 -153q0 -81 50 -128.5t135 -47.5q93 0 147.5 53.5t54.5 138.5q0 73 -36.5 131.5t-120.5 112.5zM694 1260q-76 0 -121 -46.5t-45 -119.5q0 -132 123 -201q185 72 185 221q0 68 -39.5 107t-102.5 39z" /> - <glyph glyph-name="nine" unicode="9" horiz-adv-x="1128" -d="M1092 1001q0 -280 -99 -533t-264 -370.5t-403 -117.5q-128 0 -240 32v256q111 -41 227 -41q121 0 207.5 49t144 138.5t99.5 257.5h-4q-111 -158 -295 -158q-163 0 -252.5 103.5t-89.5 285.5q0 166 73 305.5t196 208t286 68.5q203 0 308.5 -123t105.5 -361zM645 1237 -q-65 0 -115.5 -42t-78 -114t-27.5 -153q0 -87 37.5 -131.5t105.5 -44.5q60 0 111.5 36.5t82 100t30.5 158.5q0 84 -35.5 137t-110.5 53z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="584" -d="M207 940q0 92 55.5 145.5t149.5 53.5q68 0 108.5 -38.5t40.5 -107.5q0 -86 -54.5 -140t-144.5 -54q-72 0 -113.5 36.5t-41.5 104.5zM25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="584" -d="M385 215q-118 -255 -262 -479h-225q74 167 194 502h285zM207 940q0 92 55.5 145.5t149.5 53.5q68 0 108.5 -38.5t40.5 -107.5q0 -86 -54.5 -140t-144.5 -54q-72 0 -113.5 36.5t-41.5 104.5z" /> - <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="1128" -d="M1061 203l-952 438v143l952 496v-240l-643 -317l643 -281v-239z" /> - <glyph glyph-name="equal" unicode="=" horiz-adv-x="1128" -d="M109 807v217h952v-217h-952zM109 418v219h952v-219h-952z" /> - <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="1128" -d="M109 442l643 281l-643 317v240l952 -496v-143l-952 -438v239z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="940" -d="M260 485l14 78q19 103 73.5 177t172.5 155q124 84 157.5 127t33.5 96q0 119 -133 119q-50 0 -106.5 -16t-201.5 -84l-92 221q230 125 445 125q177 0 280 -87.5t103 -244.5q0 -83 -28.5 -149.5t-82.5 -123t-190 -147.5q-64 -43 -96.5 -73t-52.5 -64.5t-38 -108.5h-258z -M166 115q0 91 55 144.5t150 53.5q68 0 108.5 -38t40.5 -107q0 -87 -55 -141t-143 -54q-74 0 -115 38t-41 104z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1753" -d="M1733 840q0 -173 -64 -321t-177.5 -231t-254.5 -83q-88 0 -144.5 38.5t-72.5 108.5h-6q-50 -77 -113 -112t-147 -35q-127 0 -198 79.5t-71 229.5q0 147 67.5 276.5t187.5 205t268 75.5q185 0 327 -55l-106 -420q-11 -44 -19 -76.5t-8 -64.5q0 -68 58 -68q66 0 124 64 -t92.5 171t34.5 214q0 213 -123.5 325.5t-359.5 112.5q-203 0 -366.5 -94t-255 -266t-91.5 -392q0 -243 134 -380.5t376 -137.5q117 0 219.5 20t221.5 66v-186q-230 -90 -465 -90q-217 0 -378 85.5t-246 241.5t-85 359q0 279 120.5 497t343 341.5t497.5 123.5 -q318 0 499 -163.5t181 -458.5zM995 889q-82 0 -145.5 -51.5t-100 -137t-36.5 -174.5q0 -65 24.5 -102t69.5 -37q141 0 213 270l57 222q-36 10 -82 10z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1270" -d="M788 1462q229 0 346 -81.5t117 -243.5q0 -150 -83 -247.5t-236 -129.5v-6q100 -26 159.5 -96.5t59.5 -180.5q0 -229 -153 -353t-423 -124h-522l309 1462h426zM545 883h149q121 0 181.5 48.5t60.5 139.5q0 137 -170 137h-152zM412 256h180q117 0 183.5 58t66.5 161 -q0 162 -183 162h-165z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1386" -d="M1323 909q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l309 1462h396q270 0 417.5 -143t147.5 -410zM518 256q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-202 -952h106z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="1087" -d="M358 0h-305l309 1462h814l-54 -254h-508l-79 -377h473l-56 -253h-473z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1413" -d="M754 821h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5q-259 0 -400 147t-141 422q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24 -l66 299h-267z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1434" -d="M1135 0h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="678" -d="M-135 -430q-94 0 -187 27v253q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1255" -d="M1141 0h-338l-211 592l-125 -70l-109 -522h-305l309 1462h306l-152 -702l158 205l409 497h361l-594 -700z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="1061" -d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1802" -d="M838 369l551 1093h423l-309 -1462h-280l145 692q53 247 105 441h-5l-569 -1133h-281l-61 1133h-4q-11 -88 -38 -231t-187 -902h-275l309 1462h404l68 -1093h4z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1546" -d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1188" -d="M522 774h56q142 0 223.5 69t81.5 185q0 180 -195 180h-74zM1190 1036q0 -241 -169.5 -378.5t-467.5 -137.5h-86l-109 -520h-305l309 1462h338q242 0 366 -106.5t124 -319.5z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1495" -d="M1432 938q0 -316 -122.5 -555.5t-334.5 -337.5l254 -393h-359l-178 328h-26q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87 -t155.5 246t56 357q0 142 -65 219.5t-183 77.5z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1247" -d="M530 813h78q131 0 204 57t73 174q0 82 -47.5 123t-149.5 41h-74zM477 561l-119 -561h-305l309 1462h359q237 0 356 -102t119 -299q0 -158 -83 -271.5t-239 -168.5l261 -621h-332l-207 561h-119z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1087" -d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1208" -d="M535 299q78 221 110 283l432 880h316l-748 -1462h-334l-127 1462h295l51 -880q4 -45 4 -133q-2 -103 -6 -150h7z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1831" -d="M1006 1018q-46 -146 -115 -299l-324 -719h-338l-45 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1241" -d="M1124 0h-331l-172 543l-396 -543h-342l576 764l-238 698h320l153 -518l363 518h344l-545 -725z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1098" -d="M920 0h-981l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="678" -d="M436 -324h-473l381 1786h473l-45 -211h-215l-291 -1364h215z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="862" -d="M481 1462l224 -1462h-267l-217 1462h260z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="678" -d="M-92 -113h213l291 1364h-215l45 211h473l-381 -1786h-471z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1081" -d="M20 520l619 950h147l277 -950h-223l-174 633l-402 -633h-244z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="819" -d="M635 -324h-821l30 140h822z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1135" -d="M934 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="a" unicode="a" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1219" -d="M813 1139q146 0 230.5 -108t84.5 -298t-68 -367.5t-187 -281.5t-263 -104q-194 0 -276 163h-8l-58 -143h-231l330 1556h301l-62 -288q-41 -182 -84 -299h8q78 98 142.5 134t140.5 36zM692 895q-68 0 -130 -65t-102 -180.5t-40 -250.5q0 -80 37 -128t102 -48q67 0 128 69 -t98.5 189.5t37.5 237.5q0 176 -131 176z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79z" /> - <glyph glyph-name="d" unicode="d" -d="M406 -20q-147 0 -231.5 107t-84.5 300q0 196 71.5 374.5t188.5 278t258 99.5q82 0 141.5 -37t112.5 -127h8l2 28q6 110 25 195l76 358h301l-330 -1556h-229l14 145h-4q-71 -87 -148.5 -126t-170.5 -39zM532 223q66 0 128.5 68.5t100.5 182.5t38 245q0 80 -37.5 128 -t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -176 137 -176z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="764" -d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1108" -d="M1186 1116l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5q0 102 68.5 175.5t214.5 121.5 -q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395zM365 -6q-106 -14 -160.5 -57t-54.5 -109q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35zM614 948q-77 0 -124.5 -76.5t-47.5 -191.5 -q0 -119 103 -119q75 0 121.5 76.5t46.5 193.5t-99 117z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l330 1556h301q-39 -181 -60 -278t-86 -309h8q62 77 138 123.5t176 46.5q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="608" -d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM338 0h-301l237 1118h301z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="608" -d="M-90 -492q-104 0 -174 25v242q61 -21 114 -21q137 0 173 170l253 1194h302l-265 -1239q-77 -371 -403 -371zM324 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="1163" -d="M920 1118h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301l330 1556h301l-148 -694q-8 -41 -29 -117l-28 -102h4z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="608" -d="M338 0h-301l330 1556h301z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1853" -d="M844 1139q219 0 262 -228h6q68 110 160.5 169t197.5 59q136 0 207.5 -85t71.5 -237q0 -76 -23 -180l-133 -637h-301l138 653q16 68 16 119q0 123 -98 123q-92 0 -166.5 -112t-118.5 -318l-96 -465h-301l137 653q16 68 16 119q0 123 -98 123q-92 0 -167 -114t-118 -318 -l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325z" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1219" -d="M813 1139q146 0 230.5 -107.5t84.5 -300.5q0 -191 -68.5 -367.5t-187.5 -280t-262 -103.5q-83 0 -143 37t-111 126h-8q-12 -159 -43 -295l-72 -340h-301l342 1610h230l-17 -170h9q138 191 317 191zM692 895q-68 0 -131.5 -67.5t-102 -180t-38.5 -248.5q0 -80 37 -128 -t102 -48q67 0 128 69t98.5 189.5t37.5 237.5q0 176 -131 176z" /> - <glyph glyph-name="q" unicode="q" -d="M391 -20q-88 0 -156 47.5t-106.5 138.5t-38.5 219q0 198 72 377.5t189 278t257 98.5q86 0 152.5 -37.5t124.5 -126.5h8l57 143h232l-342 -1610h-301q47 218 73 337.5t84 304.5h-8q-72 -94 -143 -132t-154 -38zM535 223q64 0 127.5 70t100 181t36.5 245q0 80 -37.5 128 -t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -88 36.5 -132t103.5 -44z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="862" -d="M842 1139q59 0 96 -11l-66 -290q-45 16 -100 16q-116 0 -203.5 -91.5t-124.5 -262.5l-106 -500h-301l237 1118h230l-21 -207h6q147 228 353 228z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="840" -d="M514 223q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l115 539h-152l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-115 -539q-6 -30 -6 -53q0 -74 88 -74z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="1049" -d="M455 301q55 153 92 223l297 594h323l-604 -1118h-323l-138 1118h295l45 -586q7 -133 7 -231h6z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1614" -d="M856 860q-62 -178 -123 -319l-233 -541h-324l-51 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="1087" -d="M379 573l-225 545h321l115 -334l244 334h354l-467 -561l244 -557h-326l-125 342l-264 -342h-350z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="932" -d="M748 0h-795l35 180l575 705h-397l51 233h750l-43 -200l-566 -685h439z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="727" -d="M201 319q0 140 -209 140l45 229q122 0 192.5 41.5t92.5 138.5l61 285q38 170 131 239.5t270 69.5h84l-49 -225q-90 -2 -130.5 -34.5t-55.5 -106.5l-66 -297q-45 -207 -276 -236v-8q85 -26 126.5 -82.5t41.5 -134.5q0 -44 -15 -113l-36 -178q-7 -28 -7 -51q0 -54 33.5 -74 -t91.5 -20v-226h-53q-167 0 -253.5 63.5t-86.5 184.5q0 57 14 125l39 184q15 69 15 86z" /> - <glyph glyph-name="bar" unicode="|" horiz-adv-x="1128" -d="M455 1550h219v-2015h-219v2015z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="727" -d="M256 1462q340 0 340 -248q0 -56 -14 -124l-39 -185q-15 -69 -15 -86q0 -139 209 -139l-45 -229q-122 0 -192.5 -42t-91.5 -139l-62 -284q-37 -170 -130.5 -240t-270.5 -70h-45v226q93 3 137 35.5t59 105.5l66 297q25 111 95 166t181 69v9q-168 51 -168 217q0 43 15 112 -l37 179q6 30 6 51q0 54 -36.5 74t-109.5 20l41 225h33z" /> - <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="1128" -d="M342 672q-54 0 -116.5 -33t-116.5 -88v231q101 109 256 109q64 0 117 -14t139 -50q64 -27 111 -41t95 -14q51 0 112 30.5t122 90.5v-231q-103 -109 -256 -109q-59 0 -109 11.5t-147 51.5q-89 38 -127 47t-80 9z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="586" -d="M182 606h242l-158 -977h-340zM549 977q0 -92 -55.5 -145.5t-149.5 -53.5q-68 0 -108.5 38t-40.5 108q0 85 54 139.5t144 54.5q73 0 114.5 -37t41.5 -104z" /> - <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="1128" -d="M575 -20h-188l49 210q-134 36 -203 136t-69 258q0 193 62.5 355t178 262.5t267.5 123.5l33 158h188l-35 -158q118 -14 225 -65l-92 -230q-53 23 -105 40t-118 17q-133 0 -216 -143t-83 -336q0 -96 45 -144t127 -48q75 0 140 23.5t134 58.5v-246q-136 -71 -299 -80z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="1128" -d="M872 1485q195 0 369 -86l-113 -232q-141 68 -237 68q-75 0 -123 -39.5t-68 -132.5l-47 -229h299l-45 -220h-299l-18 -84q-42 -195 -209 -270h655l-55 -260h-993l49 246q196 48 244 264l22 104h-192l45 220h192l49 247q41 197 162 300.5t313 103.5z" /> - <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="1128" -d="M190 723q0 102 54 197l-129 127l147 147l127 -127q91 53 197 53q105 0 196 -55l127 129l150 -143l-129 -129q53 -89 53 -199q0 -107 -53 -199l125 -125l-146 -145l-127 125q-95 -51 -196 -51q-115 0 -199 51l-125 -123l-145 145l127 125q-54 93 -54 197zM397 723 -q0 -77 54.5 -132.5t134.5 -55.5q81 0 136.5 55t55.5 133q0 80 -56.5 135t-135.5 55q-78 0 -133.5 -56t-55.5 -134z" /> - <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="1128" -d="M608 872l371 590h311l-506 -747h203l-39 -178h-252l-28 -138h252l-37 -178h-252l-47 -221h-291l47 221h-252l37 178h252l29 138h-252l39 178h196l-192 747h297z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1128" -d="M455 1550h219v-815h-219v815zM455 350h219v-815h-219v815z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="995" -d="M150 760q0 89 47.5 163t154.5 142q-42 34 -70 84.5t-28 107.5q0 149 117 234.5t313 85.5q172 0 344 -88l-82 -193q-147 84 -282 84q-144 0 -144 -106q0 -43 40.5 -76t127.5 -72q242 -106 242 -303q0 -188 -193 -303q38 -35 64 -85.5t26 -108.5q0 -161 -126 -253.5 -t-345 -92.5q-204 0 -336 75v224q172 -105 345 -105q99 0 144.5 35t45.5 92q0 39 -33 72.5t-127 79.5q-117 57 -181 131t-64 176zM506 967q-51 -25 -82 -70.5t-31 -99.5t43.5 -96.5t143.5 -88.5q49 31 75.5 78.5t26.5 95.5q0 109 -176 181z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1135" -d="M397 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M932 1010q-111 0 -163 -73t-52 -214q0 -134 55.5 -203t159.5 -69q43 0 108.5 15.5t124.5 43.5v-191q-131 -57 -262 -57q-196 0 -307 122.5t-111 336.5q0 225 117.5 351t325.5 126q142 0 284 -72l-75 -174q-114 58 -205 58zM125 731q0 200 100 375t275 276t377 101 -q199 0 373.5 -99t276 -275.5t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM266 731q0 -164 81.5 -305t224 -223t305.5 -82q167 0 308 83t221.5 223.5t80.5 303.5t-80.5 303.5t-222 223.5t-307.5 83 -q-164 0 -306.5 -82.5t-223.5 -223.5t-81 -304z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="772" -d="M369 752q-103 0 -160 70t-57 198q0 117 46 228t123 171t177 60q120 0 180 -103h6l39 90h154l-158 -702h-154l8 92h-2q-80 -104 -202 -104zM442 903q45 0 84 41.5t65.5 120t26.5 154.5q0 106 -88 106q-73 0 -123.5 -96t-50.5 -215q0 -111 86 -111z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1151" -d="M72 569l401 463l191 -155l-279 -334l135 -350l-246 -103l-202 461v18zM559 569l402 463l190 -155l-279 -334l136 -350l-246 -103l-203 461v18z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="1128" -d="M1061 248h-219v364h-733v219h952v-583z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="659" -d="M41 424l53 250h524l-53 -250h-524z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M1237 899q0 -86 -44 -149.5t-130 -96.5l197 -360h-254l-138 297h-67v-297h-230v874h308q173 0 265.5 -67.5t92.5 -200.5zM801 758h51q72 0 113 31t41 92q0 59 -35.5 88.5t-116.5 29.5h-53v-241zM125 731q0 200 100 375t275 276t377 101q199 0 373.5 -99t276 -275.5 -t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM266 731q0 -164 81.5 -305t224 -223t305.5 -82q167 0 308 83t221.5 223.5t80.5 303.5t-80.5 303.5t-222 223.5t-307.5 83q-164 0 -306.5 -82.5t-223.5 -223.5t-81 -304z -" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="1024" -d="M1030 1556h-1036l45 201h1036z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M164 1137q0 93 46.5 173.5t127.5 126.5t172 46q93 0 173.5 -47t126.5 -127t46 -172q0 -93 -46 -173t-126 -125.5t-174 -45.5q-93 0 -173 45t-126.5 125t-46.5 174zM354 1137q0 -63 45.5 -108.5t110.5 -45.5q66 0 111 46t45 108q0 63 -45.5 110t-110.5 47t-110.5 -47.5 -t-45.5 -109.5z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="1128" -d="M475 674h-366v219h366v369h219v-369h367v-219h-367v-365h-219v365zM109 0v219h952v-219h-952z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="776" -d="M707 586h-648l35 166l273 219q111 91 141 122t44.5 59t14.5 56q0 42 -25.5 62t-60.5 20q-86 0 -188 -82l-100 158q74 57 156 87t192 30q123 0 196.5 -63t73.5 -160q0 -70 -22 -123t-70 -103.5t-189 -152.5l-129 -95h347z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="776" -d="M813 1270q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176q0 -131 -107 -209t-285 -78q-75 0 -145.5 15.5t-120.5 40.5v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66 -l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1135" -d="M483 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1249" -d="M424 348q0 -60 31.5 -92.5t79.5 -32.5q90 0 162.5 106.5t117.5 319.5l98 469h301l-237 -1118h-229l18 176h-6q-117 -196 -266 -196q-51 0 -89.5 19.5t-58.5 47.5h-6q-8 -66 -21.5 -139t-82.5 -400h-304l342 1610h301l-135 -645q-16 -70 -16 -125z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1202 -260h-162v1616h-166v-1616h-161v819q-62 -18 -146 -18q-216 0 -318 125t-102 376q0 256 107.5 385t343.5 129h604v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="584" -d="M131 695q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="420" -d="M262 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="776" -d="M528 1462h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="754" -d="M809 1194q0 -128 -48.5 -232.5t-132.5 -157t-196 -52.5q-134 0 -202 75t-68 211q0 197 104 319t277 122q129 0 197.5 -73.5t68.5 -211.5zM522 1315q-64 0 -107.5 -89.5t-43.5 -199.5q0 -111 80 -111q63 0 105 85.5t42 207.5q0 107 -76 107z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1151" -d="M1079 535l-401 -463l-191 155l279 334l-135 350l246 103l202 -461v-18zM592 535l-402 -463l-190 155l279 334l-136 350l246 103l203 -461v-18z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1804" -d="M1500 1462l-1084 -1462h-239l1087 1462h236zM496 1462h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165zM1573 152h-119l-32 -151h-238l33 151h-373l31 174l475 557h260l-121 -563h119zM1252 320l58 231l22 74q-13 -20 -43 -58t-211 -247 -h174z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1804" -d="M1588 1h-648l35 166l273 219q111 91 141 122t44.5 59t14.5 56q0 42 -25.5 62t-60.5 20q-86 0 -188 -82l-100 158q74 57 156 87t192 30q123 0 196.5 -63t73.5 -160q0 -70 -22 -123t-70 -103.5t-189 -152.5l-129 -95h347zM496 1462h207l-186 -876h-246l84 397 -q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165zM1500 1462l-1084 -1462h-239l1087 1462h236z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1804" -d="M1633 1462l-1084 -1462h-239l1087 1462h236zM1634 152h-119l-32 -151h-238l33 151h-373l31 174l475 557h260l-121 -563h119zM1313 320l58 231l22 74q-13 -20 -43 -58t-211 -247h174zM854 1270q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176q0 -131 -107 -209 -t-285 -78q-75 0 -145.5 15.5t-120.5 40.5v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="940" -d="M678 606l-14 -78q-19 -105 -76.5 -180t-169.5 -151q-122 -83 -156.5 -126t-34.5 -98q0 -118 133 -118q50 0 106.5 16t201.5 84l92 -221q-221 -125 -445 -125q-177 0 -280 87.5t-103 244.5q0 82 28.5 148.5t83.5 124t189 146.5q93 62 128 106.5t51 106.5l8 33h258z -M772 977q0 -92 -55.5 -145.5t-149.5 -53.5q-68 0 -108.5 38t-40.5 108q0 86 54.5 140t143.5 54q73 0 114.5 -37t41.5 -104z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM965 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM735 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1235 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM999 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5 -t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM516 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM918 1720q0 78 42 118t120 40 -q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1087 1567q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM930 1565 -q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1833" -d="M1593 0h-817l74 348h-426l-219 -348h-328l922 1462h1104l-54 -254h-512l-67 -321h477l-55 -254h-478l-79 -377h512zM905 608l127 600h-80l-364 -600h317z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19zM825 -250 -q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM906 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM608 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1177 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM438 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM840 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 -q-135 0 -135 110z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM667 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM414 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM937 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM222 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM624 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1386" -d="M1323 909q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l125 596h-141l55 254h139l131 612h396q270 0 417.5 -143t147.5 -410zM518 256q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-75 -358h237l-55 -254h-238l-71 -340h106z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1546" -d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274zM1114 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36 -t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1053 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM753 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1308 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1071 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM585 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM987 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1128" -d="M428 723l-299 301l152 154l301 -299l305 299l153 -150l-305 -305l301 -303l-149 -152l-305 301l-301 -299l-150 152z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-180 0 -304 71l-108 -137l-154 115l121 151q-98 138 -98 357q0 265 99 487.5t273 341.5t402 119q182 0 305 -76l105 131l151 -117l-117 -145q91 -134 91 -340zM870 1233q-126 0 -229 -91.5t-160 -252.5t-57 -352 -q0 -32 8 -101l596 754q-69 43 -158 43zM1133 930l-5 80l-589 -740q59 -37 153 -37q124 0 226 89t158.5 247.5t56.5 360.5z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1002 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311 -q36 -148 115 -303v-25z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM757 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5 -h-209v25z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1284 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25 -q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM565 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 -t-121 -43.5q-135 0 -135 110zM967 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM606 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1188" -d="M1143 807q0 -243 -170.5 -378.5t-466.5 -135.5h-86l-62 -293h-305l309 1462h306l-50 -229h35q242 0 366 -106.5t124 -319.5zM475 547h55q139 0 222.5 66.5t83.5 185.5q0 180 -195 180h-74z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1350" -d="M846 1567q208 0 331 -90t123 -240q0 -114 -49 -192t-178 -152q-73 -42 -96 -68.5t-23 -54.5q0 -23 22 -49.5t79 -69.5q107 -83 144.5 -150.5t37.5 -150.5q0 -170 -123.5 -270t-337.5 -100q-187 0 -297 61v240q128 -78 258 -78q101 0 148 33t47 86q0 40 -26.5 75 -t-108.5 97q-94 72 -129 130t-35 126q0 84 45 145t162 127q66 37 104.5 76t38.5 96q0 62 -39.5 98.5t-124.5 36.5q-96 0 -156 -51.5t-85 -171.5l-254 -1219q-43 -198 -147 -288.5t-277 -90.5q-90 0 -160 25v242q61 -21 115 -21q133 0 170 178l254 1207q47 224 182 326 -t385 102z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM869 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM598 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1120 1240h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM884 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM397 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="aring" unicode="&#xe5;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1023 1479q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM866 1477q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z -" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1786" -d="M1206 -20q-109 0 -179.5 27t-117.5 87l-16 -94h-188l14 145h-6q-71 -88 -146.5 -126.5t-167.5 -38.5q-146 0 -227.5 109t-81.5 296q0 200 68.5 375.5t185 277t258.5 101.5q96 0 160.5 -38.5t114.5 -125.5h6l57 143h188l-18 -90q44 49 120.5 80t168.5 31 -q157 0 246.5 -83.5t89.5 -221.5q0 -187 -167 -288.5t-476 -101.5h-52l-2 -19v-19q0 -96 55.5 -147.5t159.5 -51.5q66 0 152 23t162 63v-227q-179 -86 -361 -86zM518 223q72 0 134 68t99 184.5t37 243.5q0 80 -33 128t-102 48q-68 0 -128 -69t-95 -185.5t-35 -241.5 -q0 -84 32.5 -130t90.5 -46zM1341 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79zM653 -250 -q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM849 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM528 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1101 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM365 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM767 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM579 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM291 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM845 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM126 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM528 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1182" -d="M618 1309q-34 34 -124 80l118 186q134 -61 232 -139l237 131l76 -152l-192 -106q81 -107 113 -235t32 -279q0 -249 -69.5 -432.5t-203.5 -283t-323 -99.5q-216 0 -329 110t-113 316q0 165 64.5 301t180.5 212t265 76q83 0 151.5 -31t114.5 -94h6q-20 213 -117 310 -l-231 -131l-88 147zM528 205q66 0 122.5 55.5t89 148.5t32.5 193q0 77 -38.5 122.5t-108.5 45.5q-73 0 -130 -53t-88.5 -143t-31.5 -197q0 -81 39 -126.5t114 -45.5z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM909 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28 -t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM845 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM571 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM1109 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM865 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM386 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM788 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1128" -d="M109 612v219h952v-219h-952zM444 373q0 76 37 113.5t103 37.5t102.5 -39t36.5 -112q0 -70 -37 -111t-102 -41t-102.5 39t-37.5 113zM444 1071q0 75 37 113.5t103 38.5q67 0 103 -40.5t36 -111.5q0 -70 -37 -110.5t-102 -40.5t-102.5 39t-37.5 112z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1198" -d="M1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-123 0 -225 53l-109 -135l-141 108l119 148q-72 107 -72 256q0 213 71.5 379.5t206.5 258t316 91.5q131 0 227 -56l70 88l145 -110l-84 -105q66 -107 66 -260zM662 903q-81 0 -144.5 -62.5t-98 -169.5t-34.5 -233 -v-12l365 453q-35 24 -88 24zM543 215q114 0 193 133t79 318v16l-358 -444q11 -8 35.5 -15.5t50.5 -7.5z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM845 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z -" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM610 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM1143 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147 -t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM411 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 -q-135 0 -135 110zM813 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM497 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1219" -d="M813 1139q150 0 232.5 -106.5t82.5 -301.5q0 -199 -69 -381t-182 -276t-250 -94q-178 0 -271 163h-8q-12 -159 -43 -295l-72 -340h-301l435 2048h301l-66 -307q-29 -131 -80 -280h8q131 170 283 170zM682 895q-71 0 -130 -65t-95.5 -184.5t-36.5 -246.5q0 -80 33.5 -128 -t105.5 -48q69 0 129 65t97.5 183.5t37.5 247.5q0 88 -37.5 132t-103.5 44z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM310 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 -q-135 0 -135 110zM712 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM577 1790h619l-45 -211h-619z" /> - <glyph glyph-name="amacron" unicode="&#x101;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM465 1452h619l-45 -211h-619z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1239 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z -" /> - <glyph glyph-name="abreve" unicode="&#x103;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1130 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1065 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5 -q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM914 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19zM735 1604 -q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79zM510 1266 -q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19zM1292 1579 -h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79z -M1062 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19zM775 1718 -q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79zM531 1380 -q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19zM514 1907 -h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79zM308 1569 -h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1386" -d="M1323 909q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l309 1462h396q270 0 417.5 -143t147.5 -410zM518 256q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-202 -952h106zM469 1907h198q63 -53 162 -168q115 94 232 168h217v-25 -q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" -d="M406 -20q-147 0 -231.5 107t-84.5 300q0 196 71.5 374.5t188.5 278t258 99.5q82 0 141.5 -37t112.5 -127h8l2 28q6 110 25 195l76 358h301l-330 -1556h-229l14 145h-4q-71 -87 -148.5 -126t-170.5 -39zM532 223q66 0 128.5 68.5t100.5 182.5t38 245q0 80 -37.5 128 -t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -176 137 -176zM1301 1255q83 178 124 301h283v-20q-30 -57 -96.5 -147.5t-130.5 -159.5h-180v26z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1386" -d="M1323 909q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l125 596h-141l55 254h139l131 612h396q270 0 417.5 -143t147.5 -410zM518 256q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-75 -358h237l-55 -254h-238l-71 -340h106z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" -d="M596 1077q88 0 150.5 -34.5t107.5 -114.5h8q0 27 5.5 81t29.5 187h-295l41 199h295l35 161h301l-35 -161h154l-41 -199h-156l-252 -1196h-229l14 145h-4q-77 -90 -150.5 -127.5t-158.5 -37.5q-152 0 -239 106t-87 301q0 181 70 348t183 254.5t253 87.5zM537 223 -q68 0 126 59.5t96 171.5t38 220q0 72 -32.5 116t-105.5 44q-71 0 -132 -61t-96.5 -162t-35.5 -212q0 -88 38 -132t104 -44z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM516 1790h619l-45 -211h-619z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM440 1452h619l-45 -211h-619z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1178 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1123 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM623 1689q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM572 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM772 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM691 20q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM422 1907h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM364 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1413" -d="M754 821h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5q-259 0 -400 147t-141 422q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24 -l66 299h-267zM1308 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1108" -d="M1186 1116l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5q0 102 68.5 175.5t214.5 121.5 -q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395zM365 -6q-106 -14 -160.5 -57t-54.5 -109q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35zM614 948q-77 0 -124.5 -76.5t-47.5 -191.5 -q0 -119 103 -119q75 0 121.5 76.5t46.5 193.5t-99 117zM1190 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1413" -d="M754 821h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5q-259 0 -400 147t-141 422q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24 -l66 299h-267zM1303 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1108" -d="M1186 1116l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5q0 102 68.5 175.5t214.5 121.5 -q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395zM365 -6q-106 -14 -160.5 -57t-54.5 -109q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35zM614 948q-77 0 -124.5 -76.5t-47.5 -191.5 -q0 -119 103 -119q75 0 121.5 76.5t46.5 193.5t-99 117zM1149 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1413" -d="M754 821h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5q-259 0 -400 147t-141 422q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24 -l66 299h-267zM777 1718q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1108" -d="M1186 1116l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5q0 102 68.5 175.5t214.5 121.5 -q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395zM365 -6q-106 -14 -160.5 -57t-54.5 -109q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35zM614 948q-77 0 -124.5 -76.5t-47.5 -191.5 -q0 -119 103 -119q75 0 121.5 76.5t46.5 193.5t-99 117zM613 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1413" -d="M754 821h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5q-259 0 -400 147t-141 422q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24 -l66 299h-267zM404 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1108" -d="M1186 1116l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5q0 102 68.5 175.5t214.5 121.5 -q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395zM365 -6q-106 -14 -160.5 -57t-54.5 -109q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35zM614 948q-77 0 -124.5 -76.5t-47.5 -191.5 -q0 -119 103 -119q75 0 121.5 76.5t46.5 193.5t-99 117zM996 1542q-20 -40 -63.5 -141t-61.5 -160h-283v21q31 59 95.5 146t131.5 161h181v-27z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1434" -d="M1135 0h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305zM1304 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l330 1556h301q-39 -181 -60 -278t-86 -309h8q62 77 138 123.5t176 46.5q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM1198 1634h-198q-63 53 -162 168q-105 -88 -232 -168 -h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1434" -d="M1403 1268h178l-41 -199h-180l-225 -1069h-306l134 631h-471l-134 -631h-305l226 1069h-177l41 199h179l40 194h306l-41 -194h471l41 194h305zM1018 889l37 180h-471l-37 -180h471z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1237" -d="M977 0h-301l125 592q16 68 16 119q0 123 -106 123q-93 0 -168.5 -115.5t-118.5 -317.5l-86 -401h-301l254 1196h-162l43 199h160l35 161h301l-33 -161h299l-43 -199h-299q-38 -164 -80 -289h8q62 78 136.5 124t174.5 46q140 0 214.5 -84t74.5 -237q0 -79 -22 -181z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM689 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM605 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM275 1790h619l-45 -211h-619z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM173 1452h619l-45 -211h-619z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM943 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM851 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM342 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="608" -d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM338 0h-301l237 1118h301zM338 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5 -q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM410 1718q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1337" -d="M53 0l312 1462h305l-312 -1462h-305zM524 -430q-94 0 -187 27v253q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112z" /> - <glyph glyph-name="ij" unicode="&#x133;" -d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM338 0h-301l237 1118h301zM518 -492q-104 0 -174 25v242q61 -21 114 -21q137 0 173 170l253 1194h302l-265 -1239q-77 -371 -403 -371zM932 1380 -q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="678" -d="M-135 -430q-94 0 -187 27v253q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112zM949 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="608" -d="M-88 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l254 1194h301l-265 -1239q-77 -371 -403 -371zM836 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1255" -d="M1141 0h-338l-211 592l-125 -70l-109 -522h-305l309 1462h306l-152 -702l158 205l409 497h361l-594 -700zM303 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="1163" -d="M920 1118h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301l330 1556h301l-148 -694q-8 -41 -29 -117l-28 -102h4zM246 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="1163" -d="M920 1118h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301l237 1118h301q-71 -319 -87 -379t-29 -102h4z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="1061" -d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817zM404 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="608" -d="M338 0h-301l330 1556h301zM384 1661q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="1061" -d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817zM189 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="608" -d="M338 0h-301l330 1556h301zM-99 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="1061" -d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817zM783 1162q83 178 124 301h283v-20q-30 -57 -96.5 -147.5t-130.5 -159.5h-180v26z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="608" -d="M338 0h-301l330 1556h301zM695 1255q83 178 124 301h283v-20q-30 -57 -96.5 -147.5t-130.5 -159.5h-180v26z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="1061" -d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817zM695 724q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="889" -d="M338 0h-301l330 1556h301zM611 668q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1063" -d="M57 0l103 481l-58 -30l-102 202l221 119l146 690h303l-107 -506l142 78l106 -203l-311 -167l-86 -408h512l-54 -256h-815z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="670" -d="M559 936l64 37l106 -203l-231 -125l-138 -645h-297l99 467l-60 -33l-102 203l223 121l170 798h297z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1546" -d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274zM856 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM598 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1546" -d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274zM381 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM238 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5 -t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1546" -d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274zM621 1907h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM383 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338 -q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1395" -d="M1135 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM481 1462l8 -22q-103 -227 -262 -479h-226q89 206 195 501h285z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1546" -d="M727 -430q-120 0 -190 24v259q85 -23 161 -23q215 0 269 170l-418 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h330l381 -985h6q41 260 72 397l131 588h274l-309 -1462q-46 -215 -178.5 -322.5t-341.5 -107.5z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1237" -d="M547 -492q-104 0 -174 25v242q61 -21 114 -21q61 0 107.5 40.5t64.5 129.5l154 729q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180l-158 -754 -q-41 -192 -141.5 -283.5t-263.5 -91.5z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM668 1790h619l-45 -211h-619z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM444 1452h619l-45 -211h-619z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1323 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM1111 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM601 1604q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25zM998 1604q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM375 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25zM772 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1845" -d="M1606 0h-760q-93 -20 -180 -20q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q140 0 209 -23h809l-53 -254h-512l-68 -321h477l-55 -254h-477l-80 -377h512zM688 240q88 0 158 32l194 916q-62 39 -168 39q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1806" -d="M1198 -20q-116 0 -208 38.5t-138 106.5q-63 -68 -147 -106.5t-207 -38.5q-187 0 -297.5 117t-110.5 317q0 216 69 380.5t200 254.5t309 90q209 0 313 -160q154 160 399 160q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-476 -101.5h-51l-2 -21v-20q0 -91 51 -143.5 -t147 -52.5q87 0 158 19t172 67v-227q-93 -46 -185.5 -66t-203.5 -20zM645 893q-71 0 -127 -60.5t-90.5 -176.5t-34.5 -242q0 -91 36.5 -140t109.5 -49q109 0 179 134.5t70 336.5q0 96 -37 146.5t-106 50.5zM1362 922q-88 0 -165.5 -78.5t-102.5 -196.5h45q155 0 241 48.5 -t86 131.5q0 95 -104 95z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1247" -d="M530 813h78q131 0 204 57t73 174q0 82 -47.5 123t-149.5 41h-74zM477 561l-119 -561h-305l309 1462h359q237 0 356 -102t119 -299q0 -158 -83 -271.5t-239 -168.5l261 -621h-332l-207 561h-119zM645 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25 -z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="862" -d="M842 1139q59 0 96 -11l-66 -290q-45 16 -100 16q-116 0 -203.5 -91.5t-124.5 -262.5l-106 -500h-301l237 1118h230l-21 -207h6q147 228 353 228zM459 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1247" -d="M530 813h78q131 0 204 57t73 174q0 82 -47.5 123t-149.5 41h-74zM477 561l-119 -561h-305l309 1462h359q237 0 356 -102t119 -299q0 -158 -83 -271.5t-239 -168.5l261 -621h-332l-207 561h-119zM299 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5 -t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="862" -d="M842 1139q59 0 96 -11l-66 -290q-45 16 -100 16q-116 0 -203.5 -91.5t-124.5 -262.5l-106 -500h-301l237 1118h230l-21 -207h6q147 228 353 228zM-95 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1247" -d="M530 813h78q131 0 204 57t73 174q0 82 -47.5 123t-149.5 41h-74zM477 561l-119 -561h-305l309 1462h359q237 0 356 -102t119 -299q0 -158 -83 -271.5t-239 -168.5l261 -621h-332l-207 561h-119zM443 1907h198q63 -53 162 -168q115 94 232 168h217v-25 -q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="862" -d="M842 1139q59 0 96 -11l-66 -290q-45 16 -100 16q-116 0 -203.5 -91.5t-124.5 -262.5l-106 -500h-301l237 1118h230l-21 -207h6q147 228 353 228zM259 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5zM587 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170zM443 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5zM1124 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170zM980 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5zM618 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170zM565 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5zM362 1907h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170zM249 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1087" -d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353zM610 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="840" -d="M514 223q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l115 539h-152l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-115 -539q-6 -30 -6 -53q0 -74 88 -74zM555 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168 -q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1087" -d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353zM397 1907h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="840" -d="M514 223q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l115 539h-152l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-115 -539q-6 -30 -6 -53q0 -74 88 -74zM752 1275q83 178 124 301h283v-20q-30 -57 -96.5 -147.5 -t-130.5 -159.5h-180v26z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1087" -d="M750 850h235l-55 -254h-234l-125 -596h-305l125 596h-225l55 254h223l76 354h-352l55 258h1010l-55 -258h-353z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="840" -d="M514 223q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l33 148h-133l41 198h133l41 193h-152l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-41 -193h233l-41 -198h-235l-31 -148q-6 -30 -6 -53q0 -74 88 -74z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1071 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5 -q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM915 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28 -t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM647 1790h619l-45 -211h-619z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM487 1452h619l-45 -211h-619z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1309 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199 -q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM1161 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174 -q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1194 1817q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5 -t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM1037 1815q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM1034 1479q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5 -q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM877 1477q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM598 1604q114 128 231 303h305v-17q-43 -53 -152.5 -147.5 -t-205.5 -163.5h-178v25zM995 1604q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM429 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25 -zM826 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM863 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5 -q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM934 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176 -q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1831" -d="M1006 1018q-46 -146 -115 -299l-324 -719h-338l-45 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4zM1519 1579h-198 -q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1614" -d="M856 860q-62 -178 -123 -319l-233 -541h-324l-51 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6zM1321 1241h-198q-63 53 -162 168 -q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM1151 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM1033 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156 -h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM432 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM834 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 -q-135 0 -135 110z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1098" -d="M920 0h-981l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596zM589 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="932" -d="M748 0h-795l35 180l575 705h-397l51 233h750l-43 -200l-566 -685h439zM476 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1098" -d="M920 0h-981l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596zM594 1718q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="932" -d="M748 0h-795l35 180l575 705h-397l51 233h750l-43 -200l-566 -685h439zM455 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1098" -d="M920 0h-981l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596zM387 1907h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="932" -d="M748 0h-795l35 180l575 705h-397l51 233h750l-43 -200l-566 -685h439zM265 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="733" -d="M-72 -492q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l272 1278q42 192 139.5 278.5t272.5 86.5q129 0 236 -49l-80 -224q-69 31 -133 31q-57 0 -91.5 -40t-48.5 -105l-276 -1301q-77 -371 -404 -371z" /> - <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="1128" -d="M143 -492q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l186 881h-168l29 149l189 80l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-196 -926q-77 -371 -404 -371z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1581" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q306 0 444 -207q112 74 144 278h303l10 -24q-47 -159 -140.5 -263.5t-244.5 -162.5q19 -84 19 -168zM872 1227q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1317" -d="M684 1139q219 0 334 -146q68 27 110 96t64 197h295l10 -24q-48 -180 -140.5 -278.5t-262.5 -158.5q14 -51 14 -129q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5zM805 696q0 197 -143 197 -q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1587" -d="M1434 1462l-39 -184q76 24 118 86.5t62 191.5h303l10 -24q-60 -204 -197 -316.5t-337 -125.5l-121 -574q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5 -l194 917h306z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1456" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-24 -112q51 13 85 44t55.5 79.5t41.5 154.5h303l10 -24q-58 -201 -194 -314t-340 -129l-174 -817h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213 -l127 604h301z" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="608" -d="M-88 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l254 1194h301l-265 -1239q-77 -371 -403 -371zM97 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1286" -d="M1085 1462q0 -112 -77 -180l155 -1282h-297l-30 330h-469l-170 -330h-320l731 1346q-24 48 -24 114q0 110 68 174t179 64q110 0 182 -65t72 -171zM768 1767q36 27 102.5 87.5t108.5 107.5h342v-10q-58 -49 -156 -105t-182 -94h-215v14zM928 1460q0 45 -27.5 70.5 -t-69.5 25.5t-69 -25.5t-27 -70.5t24 -70.5t72 -25.5q42 0 69.5 25.5t27.5 70.5zM768 1149q-43 -111 -96 -217l-174 -342h323l-26 309q-10 85 -15 250h-12z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1206" -d="M680 1767q39 31 106 92t105 103h342v-10q-58 -49 -156 -105t-182 -94h-215v14zM995 1438q0 -107 -70 -173.5t-184 -66.5q-112 0 -179.5 64.5t-67.5 173.5q0 108 67.5 172.5t179.5 64.5q110 0 182 -65t72 -170zM838 1436q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5 -t24 -71t72 -26q42 0 69.5 26t27.5 71zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5 -t-101.5 46.5q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1833" -d="M1593 0h-817l74 348h-426l-219 -348h-328l922 1462h1104l-54 -254h-512l-67 -321h477l-55 -254h-478l-79 -377h512zM905 608l127 600h-80l-364 -600h317zM1128 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1786" -d="M1206 -20q-109 0 -179.5 27t-117.5 87l-16 -94h-188l14 145h-6q-71 -88 -146.5 -126.5t-167.5 -38.5q-146 0 -227.5 109t-81.5 296q0 200 68.5 375.5t185 277t258.5 101.5q96 0 160.5 -38.5t114.5 -125.5h6l57 143h188l-18 -90q44 49 120.5 80t168.5 31 -q157 0 246.5 -83.5t89.5 -221.5q0 -187 -167 -288.5t-476 -101.5h-52l-2 -19v-19q0 -96 55.5 -147.5t159.5 -51.5q66 0 152 23t162 63v-227q-179 -86 -361 -86zM518 223q72 0 134 68t99 184.5t37 243.5q0 80 -33 128t-102 48q-68 0 -128 -69t-95 -185.5t-35 -241.5 -q0 -84 32.5 -130t90.5 -46zM1341 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM948 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-180 0 -304 71l-108 -137l-154 115l121 151q-98 138 -98 357q0 265 99 487.5t273 341.5t402 119q182 0 305 -76l105 131l151 -117l-117 -145q91 -134 91 -340zM870 1233q-126 0 -229 -91.5t-160 -252.5t-57 -352 -q0 -32 8 -101l596 754q-69 43 -158 43zM1133 930l-5 80l-589 -740q59 -37 153 -37q124 0 226 89t158.5 247.5t56.5 360.5zM753 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1198" -d="M1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-123 0 -225 53l-109 -135l-141 108l119 148q-72 107 -72 256q0 213 71.5 379.5t206.5 258t316 91.5q131 0 227 -56l70 88l145 -110l-84 -105q66 -107 66 -260zM662 903q-81 0 -144.5 -62.5t-98 -169.5t-34.5 -233 -v-12l365 453q-35 24 -88 24zM543 215q114 0 193 133t79 318v16l-358 -444q11 -8 35.5 -15.5t50.5 -7.5zM555 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5zM150 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170zM108 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1087" -d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353zM127 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="840" -d="M514 223q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l115 539h-152l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-115 -539q-6 -30 -6 -53q0 -74 88 -74zM56 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5 -t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="608" -d="M-88 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l254 1194h301l-265 -1239q-77 -371 -403 -371z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="440" -d="M586 1462l8 -22q-103 -227 -262 -479h-226q89 206 195 501h285z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1135" -d="M1120 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1135" -d="M377 1569h198q63 -53 162 -168q115 94 232 168h217v-25q-212 -198 -295 -303h-338q-22 54 -74 142.5t-102 160.5v25z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1096" -d="M430 1452h619l-45 -211h-619z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1135" -d="M1147 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="608" -d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M1034 1479q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM877 1477q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="422" -d="M242 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1135" -d="M866 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1135" -d="M279 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25zM676 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M399 -360q0 -107 -70 -173.5t-184 -66.5q-112 0 -179.5 64.5t-67.5 173.5q0 108 67.5 172.5t179.5 64.5q110 0 182 -65t72 -170zM242 -362q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-359 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-593 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-345 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-174 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-686 1241q-71 69 -138.5 153.5t-103.5 153.5v21h283q38 -156 115 -303v-25h-156zM-305 1241q-71 69 -138.5 153.5t-103.5 153.5v21h283q37 -152 114 -303v-25h-155z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-926 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1135" -d="M565 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1135" -d="M645 1415q21 42 57.5 134t61.5 167h260v-20q-90 -143 -238 -307h-141v26zM342 1382q0 78 38.5 118t106.5 40q60 0 90.5 -28.5t30.5 -79.5q0 -73 -35.5 -116.5t-109.5 -43.5q-121 0 -121 110zM893 1382q0 78 38.5 118t106.5 40q60 0 90.5 -28.5t30.5 -79.5 -q0 -73 -35.5 -116.5t-109.5 -43.5q-121 0 -121 110z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM74 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="584" -d="M131 695q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1290" -d="M1017 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM34 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1581" -d="M1282 0h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305zM34 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="805" -d="M198 0l312 1462h305l-312 -1462h-305zM34 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1614" -d="M1551 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM991 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM62 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1466" -d="M938 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM34 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1636" -d="M1006 1227q-111 0 -199.5 -63t-144 -187.5t-55.5 -265.5q0 -153 38 -256.5t117 -178.5l-59 -276h-610l53 260h373q-101 63 -160.5 185.5t-59.5 273.5q0 223 93 401.5t257 271.5t379 93q256 0 401.5 -138t145.5 -382q0 -246 -108 -426.5t-309 -278.5h364l-55 -260h-649 -l59 276q387 227 387 652q0 145 -67 222t-191 77zM62 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="752" -d="M492 223q66 0 161 35v-225q-111 -53 -266 -53q-148 0 -219.5 62.5t-71.5 195.5q0 52 23 157l153 723h301l-155 -741q-12 -59 -12 -82q0 -72 86 -72zM374 1415q21 42 57.5 134t61.5 167h260v-20q-90 -143 -238 -307h-141v26zM71 1382q0 78 38.5 118t106.5 40 -q60 0 90.5 -28.5t30.5 -79.5q0 -73 -35.5 -116.5t-109.5 -43.5q-121 0 -121 110zM622 1382q0 78 38.5 118t106.5 40q60 0 90.5 -28.5t30.5 -79.5q0 -73 -35.5 -116.5t-109.5 -43.5q-121 0 -121 110z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1270" -d="M788 1462q229 0 346 -81.5t117 -243.5q0 -150 -83 -247.5t-236 -129.5v-6q100 -26 159.5 -96.5t59.5 -180.5q0 -229 -153 -353t-423 -124h-522l309 1462h426zM545 883h149q121 0 181.5 48.5t60.5 139.5q0 137 -170 137h-152zM412 256h180q117 0 183.5 58t66.5 161 -q0 162 -183 162h-165z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="1030" -d="M354 0h-301l309 1462h814l-54 -254h-512z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1239" -d="M629 1468h352l141 -1294l-39 -174h-1136l35 180zM752 1174q-16 -55 -58 -142l-375 -774h517l-76 758q-8 96 -8 158z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1098" -d="M920 0h-981l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1434" -d="M1135 0h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1520" -d="M1040 870l-53 -254h-444l53 254h444zM1456 903q0 -270 -93 -483t-266.5 -326.5t-404.5 -113.5q-268 0 -418.5 153.5t-150.5 421.5q0 271 100.5 488t276 329.5t403.5 112.5q263 0 408 -153.5t145 -428.5zM885 1227q-132 0 -233.5 -84t-159.5 -243.5t-58 -352.5 -q0 -142 73 -224.5t198 -82.5q136 0 235 84.5t152 240.5t53 353q0 142 -69.5 225.5t-190.5 83.5z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1255" -d="M1141 0h-338l-211 592l-125 -70l-109 -522h-305l309 1462h306l-152 -702l158 205l409 497h361l-594 -700z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1229" -d="M-123 0l748 1468h342l139 -1468h-295l-59 836q-9 113 -9 338l-29 -79q-47 -127 -89 -214l-428 -881h-320z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1802" -d="M838 369l551 1093h423l-309 -1462h-280l145 692q53 247 105 441h-5l-569 -1133h-281l-61 1133h-4q-11 -88 -38 -231t-187 -902h-275l309 1462h404l68 -1093h4z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1546" -d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1067" -d="M262 887h668l-56 -254h-667zM305 1462h823l-53 -254h-823zM911 256l-53 -256h-901l51 256h903z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1423" -d="M1124 0h-305l256 1204h-461l-256 -1204h-305l309 1462h1072z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1188" -d="M522 774h56q142 0 223.5 69t81.5 185q0 180 -195 180h-74zM1190 1036q0 -241 -169.5 -378.5t-467.5 -137.5h-86l-109 -520h-305l309 1462h338q242 0 366 -106.5t124 -319.5z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1112" -d="M-43 0l49 242l543 506l-322 481l49 233h906l-54 -254h-559l318 -481l-500 -471h596l-53 -256h-973z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1087" -d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1671" -d="M557 -20l49 223q-147 11 -255.5 69t-168 165.5t-59.5 252.5q0 281 186 440.5t531 172.5l37 180h284l-37 -180q232 -20 358 -145.5t126 -336.5q0 -287 -189.5 -449.5t-527.5 -166.5l-49 -225h-285zM942 444q176 12 268.5 111.5t92.5 265.5q0 109 -59 172.5t-171 67.5z -M788 1061q-168 -10 -264 -107t-96 -266q0 -112 59 -176t170 -68z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1241" -d="M1124 0h-331l-172 543l-396 -543h-342l576 764l-238 698h320l153 -518l363 518h344l-545 -725z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1671" -d="M967 434h-21l-92 -434h-285l95 434h-15q-222 0 -346.5 103.5t-124.5 287.5q0 89 23 197l94 440h295l-101 -479q-14 -68 -14 -117q0 -98 55.5 -139t167.5 -41h17l164 776h284l-164 -776h17q147 0 222.5 69t109.5 224l102 483h297l-111 -518q-109 -510 -669 -510z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1483" -d="M852 1227q-111 0 -199.5 -63t-144 -187.5t-55.5 -265.5q0 -153 38 -256.5t117 -178.5l-59 -276h-610l53 260h373q-101 63 -160.5 185.5t-59.5 273.5q0 223 93 401.5t257 271.5t379 93q256 0 401.5 -138t145.5 -382q0 -246 -108 -426.5t-309 -278.5h364l-55 -260h-649 -l59 276q387 227 387 652q0 145 -67 222t-191 77z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM222 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM624 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM432 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM834 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 -q-135 0 -135 110z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1241" -d="M887 967q19 41 48.5 84.5t51.5 66.5h254q-45 -83 -91.5 -203.5t-72.5 -240.5l-67 -320q-6 -30 -6 -53q0 -65 61 -65q36 0 65 12v-238q-63 -30 -165 -30q-201 0 -246 165h-6q-81 -95 -153.5 -130t-164.5 -35q-145 0 -225 106.5t-80 298.5q0 212 67 385.5t188 271t271 97.5 -q89 0 151.5 -39t113.5 -133h6zM528 223q77 0 135 70.5t91.5 205t33.5 220.5q0 80 -32 128t-97 48q-71 0 -131.5 -68t-96.5 -180.5t-36 -232.5q0 -99 32.5 -145t100.5 -46zM633 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="1051" -d="M762 477h-148q-120 0 -189 -38.5t-69 -106.5q0 -56 45 -86.5t131 -30.5q92 0 175.5 20.5t177.5 69.5v-246q-160 -79 -402 -79q-206 0 -325 77.5t-119 216.5q0 259 328 312v6q-80 31 -123 87.5t-43 127.5q0 158 123 245t344 87q245 0 403 -86l-92 -222q-92 46 -161.5 64 -t-141.5 18q-97 0 -149 -32t-52 -93q0 -52 48.5 -76t148.5 -24h135zM562 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1237" -d="M872 -492h-301l242 1145q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM631 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="752" -d="M492 223q66 0 161 35v-225q-111 -53 -266 -53q-148 0 -219.5 62.5t-71.5 195.5q0 52 23 157l153 723h301l-155 -741q-12 -59 -12 -82q0 -72 86 -72zM333 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1262" -d="M532 -20q-201 0 -307 99t-106 281q0 70 16 150l129 608h299l-129 -616q-14 -61 -14 -121q0 -156 141 -156q309 0 309 893h301q0 -331 -40 -538.5t-117.5 -336t-198 -196t-283.5 -67.5zM657 1415q21 42 57.5 134t61.5 167h260v-20q-90 -143 -238 -307h-141v26zM354 1382 -q0 78 38.5 118t106.5 40q60 0 90.5 -28.5t30.5 -79.5q0 -73 -35.5 -116.5t-109.5 -43.5q-121 0 -121 110zM905 1382q0 78 38.5 118t106.5 40q60 0 90.5 -28.5t30.5 -79.5q0 -73 -35.5 -116.5t-109.5 -43.5q-121 0 -121 110z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1241" -d="M887 967q19 41 48.5 84.5t51.5 66.5h254q-45 -83 -91.5 -203.5t-72.5 -240.5l-67 -320q-6 -30 -6 -53q0 -65 61 -65q36 0 65 12v-238q-63 -30 -165 -30q-201 0 -246 165h-6q-81 -95 -153.5 -130t-164.5 -35q-145 0 -225 106.5t-80 298.5q0 212 67 385.5t188 271t271 97.5 -q89 0 151.5 -39t113.5 -133h6zM528 223q77 0 135 70.5t91.5 205t33.5 220.5q0 80 -32 128t-97 48q-71 0 -131.5 -68t-96.5 -180.5t-36 -232.5q0 -99 32.5 -145t100.5 -46z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1270" -d="M803 1567q204 0 316 -93t112 -257q0 -176 -92.5 -275t-259.5 -127q125 -23 196.5 -109t71.5 -219q0 -149 -64.5 -268.5t-176.5 -179t-263 -59.5q-79 0 -147 16.5t-144 58.5l-114 -547h-304l345 1635q46 219 172.5 321.5t351.5 102.5zM786 1329q-83 0 -134 -60t-77 -184 -l-174 -800q27 -27 79 -44.5t106 -17.5q113 0 178 75.5t65 201.5q0 92 -52.5 138t-151.5 46h-47l51 242h59q110 0 172 68t62 192q0 68 -37 105.5t-99 37.5z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="1049" -d="M381 -492h-322q51 257 183 506l-140 1104h295q25 -314 38 -482t11 -333h5q15 41 37.5 93.5t45 100t310.5 621.5h323l-551 -1012q-98 -181 -151 -318t-84 -280z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1204" -d="M530 926q-151 126 -151 284q0 166 120 261.5t324 95.5q112 0 210.5 -26.5t197.5 -86.5l-119 -215q-157 102 -287 102q-67 0 -107 -32t-40 -88q0 -30 10 -54t33 -49t127 -110q233 -187 233 -437q0 -271 -156 -431t-431 -160q-202 0 -320.5 105.5t-118.5 287.5 -q0 204 124 349.5t351 203.5zM528 225q101 0 168.5 95t67.5 243q0 147 -102 228q-126 -43 -207.5 -150t-81.5 -238q0 -85 38.5 -131.5t116.5 -46.5z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="1051" -d="M762 477h-148q-120 0 -189 -38.5t-69 -106.5q0 -56 45 -86.5t131 -30.5q92 0 175.5 20.5t177.5 69.5v-246q-160 -79 -402 -79q-206 0 -325 77.5t-119 216.5q0 259 328 312v6q-80 31 -123 87.5t-43 127.5q0 158 123 245t344 87q245 0 403 -86l-92 -222q-92 46 -161.5 64 -t-141.5 18q-97 0 -149 -32t-52 -93q0 -52 48.5 -76t148.5 -24h135z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="948" -d="M90 438q0 156 62.5 293t185.5 271t399 344q-78 -13 -180 -13h-238l50 223h780l-39 -182q-281 -226 -430 -374.5t-217 -271.5t-68 -247q0 -76 43 -129.5t135 -95.5q106 -50 154.5 -89.5t73 -88.5t24.5 -115q0 -91 -43.5 -170.5t-142.5 -171.5h-315q119 119 157.5 177.5 -t38.5 103.5q0 34 -28 60t-109 63q-155 70 -224 169.5t-69 243.5z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1237" -d="M872 -492h-301l242 1145q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1198" -d="M492 -20q-192 0 -292 116t-100 336q0 139 30 312.5t90 347t137 276.5t180.5 157t242.5 54q190 0 286.5 -118t96.5 -339q0 -265 -85 -566.5t-230.5 -438.5t-355.5 -137zM514 201q91 0 156 115.5t121 355.5h-363q-31 -167 -31 -285q0 -186 117 -186zM756 1358 -q-171 0 -279 -459h361q28 158 28 283q0 80 -26.5 128t-83.5 48z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="752" -d="M492 223q66 0 161 35v-225q-111 -53 -266 -53q-148 0 -219.5 62.5t-71.5 195.5q0 52 23 157l153 723h301l-155 -741q-12 -59 -12 -82q0 -72 86 -72z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="1163" -d="M920 1118h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301l237 1118h301q-71 -319 -87 -379t-29 -102h4z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="1171" -d="M520 1061l-10 92q-9 88 -39.5 124t-93.5 36q-44 0 -101 -13l-36 246q87 23 192 23q162 0 249.5 -87.5t113.5 -277.5l102 -766q15 -115 40.5 -158.5t74.5 -43.5q32 0 67 10v-234q-73 -32 -190 -32q-115 0 -175.5 66t-80.5 206l-29 201q-11 73 -18 239q-23 -48 -48 -110.5 -t-57 -122.5l-245 -459h-328z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1249" -d="M424 348q0 -60 31.5 -92.5t79.5 -32.5q90 0 162.5 106.5t117.5 319.5l98 469h301l-237 -1118h-229l18 176h-6q-117 -196 -266 -196q-51 0 -89.5 19.5t-58.5 47.5h-6q-8 -66 -21.5 -139t-82.5 -400h-304l342 1610h301l-135 -645q-16 -70 -16 -125z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1126" -d="M102 1118h295l62 -616q10 -97 10 -230q133 157 219.5 355.5t149.5 490.5h307q-65 -357 -211 -624.5t-395 -493.5h-297z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="948" -d="M848 705h-70q-179 0 -281 -64.5t-102 -179.5q0 -68 35 -110.5t143 -94.5q120 -60 163.5 -98t66 -85.5t22.5 -109.5q0 -91 -43.5 -170.5t-142.5 -171.5h-315q113 113 152.5 174t39.5 107q0 38 -29.5 63.5t-103.5 59.5q-152 70 -221.5 163t-69.5 222q0 317 363 411v6 -q-96 23 -149.5 80t-53.5 137q0 112 77.5 186t245.5 116q-185 -13 -243 -13h-53l49 223h753l-45 -210h-24q-134 0 -240.5 -32t-159.5 -92t-53 -143q0 -80 58.5 -122t173.5 -42h102z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1464" -d="M1174 219q65 0 131 33v-217q-100 -55 -248 -55q-131 0 -201 64t-70 185q0 27 5.5 62t119.5 598h-274l-188 -889h-306l191 889h-240l29 147l196 82h1182l-47 -229h-240l-108 -541q-8 -40 -8 -57q0 -72 76 -72z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1219" -d="M1128 705q0 -210 -65 -376t-185 -257.5t-274 -91.5q-163 0 -258 124q-9 -82 -25 -170t-88 -426h-299l228 1082q46 216 113 327t174 166.5t264 55.5q195 0 305 -115t110 -319zM694 895q-87 0 -140 -78.5t-87 -241.5l-55 -264q49 -88 149 -88q69 0 127.5 64.5t96.5 188.5 -t38 233q0 88 -33 137t-96 49z" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="948" -d="M395 487q0 -80 39 -133t139 -98q106 -50 154.5 -89.5t73 -88.5t24.5 -115q0 -91 -43.5 -170.5t-142.5 -171.5h-315q113 113 152.5 174t39.5 107q0 40 -31 67.5t-102 59.5q-157 71 -225 170t-68 247q0 190 81.5 355.5t215.5 251.5t303 86t320 -72l-92 -229 -q-126 57 -224 57q-84 0 -152 -56t-107.5 -152t-39.5 -200z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1266" -d="M1098 590q0 -109 -43.5 -230t-118 -205t-178 -129.5t-234.5 -45.5q-201 0 -317.5 118t-116.5 326q0 211 80 368.5t232.5 241.5t359.5 84h577l-47 -223h-284q37 -45 63.5 -123.5t26.5 -181.5zM735 895q-105 0 -182.5 -60t-118.5 -166.5t-41 -238.5q0 -205 150 -205 -q116 0 189 131t73 326q0 111 -41 213h-29z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="1022" -d="M645 223q65 0 162 35v-225q-111 -53 -266 -53q-148 0 -219.5 62.5t-71.5 195.5q0 50 12 112l115 539h-283l29 147l190 82h748l-49 -229h-334l-115 -539q-6 -30 -6 -53q0 -74 88 -74z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1262" -d="M532 -20q-201 0 -307 99t-106 281q0 70 16 150l129 608h299l-129 -616q-14 -61 -14 -121q0 -156 141 -156q309 0 309 893h301q0 -331 -40 -538.5t-117.5 -336t-198 -196t-283.5 -67.5z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1565" -d="M836 227q102 16 177 86t115.5 180.5t40.5 241.5q0 178 -94 178q-89 0 -129 -176zM397 -492l105 482q-189 25 -300.5 149t-111.5 322q0 203 86 370.5t279 327.5l192 -176q-133 -135 -191.5 -259t-58.5 -253q0 -109 42 -169t110 -77l110 516q47 210 149 304t277 94 -q184 0 287 -115t103 -315q0 -209 -84.5 -371t-242 -254.5t-364.5 -101.5l-96 -474h-291z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1130" -d="M307 1139q124 0 187.5 -70t87.5 -233l26 -183l320 465h332l-574 -774l74 -463q9 -58 33 -87.5t73 -29.5q45 0 103 15v-238q-97 -33 -195 -33q-126 0 -191.5 69.5t-88.5 229.5l-41 281l-385 -580h-328l639 893l-53 334q-13 77 -34 109.5t-63 32.5q-34 0 -73 -15l-52 238 -q101 39 203 39z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1655" -d="M1171 1554l-284 -1339q196 32 286.5 248.5t90.5 654.5h301q0 -416 -78 -649.5t-239 -354.5t-412 -143l-99 -463h-288l98 463q-209 21 -318.5 120t-109.5 269q0 70 16 150l129 608h299l-129 -616q-14 -61 -14 -121q0 -77 45.5 -121t132.5 -49l285 1343h288z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1679" -d="M438 -20q-166 0 -257 105.5t-91 295.5q0 346 246 737h303q-120 -176 -190 -369.5t-70 -359.5q0 -172 113 -172q70 0 112 59t70 191l63 295h285q-41 -189 -61.5 -286.5t-20.5 -143.5q0 -115 100 -115q72 0 132 78.5t96.5 226t36.5 309.5q0 151 -31 287h285 -q30 -125 30 -264q0 -405 -142.5 -639.5t-399.5 -234.5q-218 0 -275 202q-66 -109 -147 -155.5t-187 -46.5z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="752" -d="M492 223q66 0 161 35v-225q-111 -53 -266 -53q-148 0 -219.5 62.5t-71.5 195.5q0 52 23 157l153 723h301l-155 -741q-12 -59 -12 -82q0 -72 86 -72zM150 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM552 1382q0 78 42 118 -t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1262" -d="M532 -20q-201 0 -307 99t-106 281q0 70 16 150l129 608h299l-129 -616q-14 -61 -14 -121q0 -156 141 -156q309 0 309 893h301q0 -331 -40 -538.5t-117.5 -336t-198 -196t-283.5 -67.5zM401 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 -q-135 0 -135 110zM803 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM596 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1262" -d="M532 -20q-201 0 -307 99t-106 281q0 70 16 150l129 608h299l-129 -616q-14 -61 -14 -121q0 -156 141 -156q309 0 309 893h301q0 -331 -40 -538.5t-117.5 -336t-198 -196t-283.5 -67.5zM614 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1679" -d="M438 -20q-166 0 -257 105.5t-91 295.5q0 346 246 737h303q-120 -176 -190 -369.5t-70 -359.5q0 -172 113 -172q70 0 112 59t70 191l63 295h285q-41 -189 -61.5 -286.5t-20.5 -143.5q0 -115 100 -115q72 0 132 78.5t96.5 226t36.5 309.5q0 151 -31 287h285 -q30 -125 30 -264q0 -405 -142.5 -639.5t-399.5 -234.5q-218 0 -275 202q-66 -109 -147 -155.5t-187 -46.5zM841 1272q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1419" -d="M748 1184q0 -89 68 -139.5t192 -53.5q6 50 6 109q0 121 -36 184.5t-99 63.5q-66 0 -98.5 -46t-32.5 -118zM1278 762q-54 -286 -147 -454.5t-227.5 -248t-311.5 -79.5q-179 0 -282 77t-103 211q0 69 31 162q24 77 24 107q0 57 -57 57q-43 0 -88 -25v215q116 45 225 45 -q102 0 157.5 -50.5t55.5 -141.5q0 -73 -35 -191q-26 -83 -26 -127q0 -102 124 -102q122 0 210 132.5t147 408.5q-163 8 -281.5 62.5t-180.5 145.5t-62 205q0 187 120 296.5t324 109.5t311 -133t107 -381v-37l-2 -35h149l-49 -229h-133z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1178" -d="M625 870l67 123q157 287 261.5 384.5t236.5 97.5q83 0 162 -27l-56 -231q-31 14 -69 14q-59 0 -123 -80q-136 -168 -383 -602l-117 -549h-303l119 559l-236 903h312z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1921" -d="M553 -20q-166 0 -257 105.5t-91 295.5q0 128 44.5 265.5t117.5 242.5h-273l29 147l196 82h1641l-47 -229h-244q17 -88 17 -199q0 -198 -72 -367.5t-190 -256t-263 -86.5q-108 0 -176 48.5t-98 153.5q-66 -109 -147 -155.5t-187 -46.5zM1403 768q0 73 -6 121h-760 -q-143 -281 -143 -500q0 -172 112 -172q69 0 110.5 55.5t71.5 194.5l31 137h285l-31 -137q-18 -85 -18 -135q0 -115 100 -115q114 0 181 149.5t67 401.5z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM906 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM456 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM858 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 -q-135 0 -135 110z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1520" -d="M932 -20q-117 0 -195 38v254q80 -39 148 -39q73 0 111 38t56.5 122.5t23.5 119.5t3 46q0 61 -31.5 88t-101.5 27h-233l-144 -674h-305l256 1204h-352l55 258h1000l-56 -258h-342l-57 -272h242q178 0 277 -87t99 -243q0 -39 -3 -72t-29 -172.5t-75 -219.5t-129 -118 -t-218 -40z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="1030" -d="M354 0h-301l309 1462h814l-54 -254h-512zM608 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1253" -d="M905 1227q-146 0 -255.5 -95.5t-166.5 -267.5h533l-53 -254h-527l-2 -30v-31q0 -309 287 -309q146 0 338 77v-260q-187 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q122 0 224 -24.5t206 -80.5l-118 -250q-72 41 -148.5 69t-163.5 28z -" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1085" -d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 -q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM222 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM624 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="678" -d="M-135 -430q-94 0 -187 27v253q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1962" -d="M1298 901h68q237 0 363 -103t126 -296q0 -243 -158 -372.5t-456 -129.5h-438l254 1204h-254q-79 -320 -161 -577t-155.5 -393.5t-164 -195t-240.5 -58.5q-80 0 -143 24v254q53 -20 100 -20q65 0 107 31.5t82 101.5t92.5 217.5t117 371.5t135.5 502h844zM1161 254h119 -q129 0 197.5 60.5t68.5 177.5q0 74 -47.5 114.5t-144.5 40.5h-109z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="1921" -d="M1815 506q0 -244 -156.5 -375t-448.5 -131h-448l137 647h-403l-138 -647h-305l309 1462h306l-119 -561h401l121 561h305l-119 -561h86q230 0 351 -102t121 -293zM1120 254h127q125 0 191.5 60.5t66.5 170.5q0 162 -192 162h-109z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1520" -d="M1079 551q0 68 -37 95.5t-112 27.5h-217l-144 -674h-305l256 1204h-352l55 258h1000l-56 -258h-342l-57 -272h225q195 0 293 -90t98 -250q0 -62 -22 -174l-84 -418h-309l100 471q10 50 10 80z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1219" -d="M1120 0h-338l-272 719l-152 -719h-305l309 1462h306l-146 -684l541 684h344l-582 -723zM702 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1546" -d="M422 418l764 1044h370l-309 -1462h-276q94 446 144 682t85 379l-8 2l-764 -1063h-375l309 1462h281l-147 -692q-65 -282 -84 -352h10zM1084 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1225" -d="M242 -20q-124 0 -211 32v267q81 -39 198 -39q48 0 85 17t68.5 49.5t80.5 113.5l-285 1042h307l154 -631q23 -93 29 -151q46 110 67 149l344 633h334l-602 -1030q-132 -225 -205 -302t-159 -113.5t-205 -36.5zM1304 1937q-34 -133 -98 -207.5t-170 -112.5t-258 -38 -q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1423" -d="M362 1462h308l-256 -1204h460l256 1204h304l-310 -1462h-383l-92 -426h-303l92 426h-385z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1212" -d="M612 901q238 0 364 -104.5t126 -304.5q0 -237 -158 -364.5t-457 -127.5h-434l309 1462h822l-54 -254h-520l-65 -307h67zM508 254q139 0 212 58.5t73 164.5q0 170 -193 170h-108l-84 -393h100z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1270" -d="M788 1462q229 0 346 -81.5t117 -243.5q0 -150 -83 -247.5t-236 -129.5v-6q100 -26 159.5 -96.5t59.5 -180.5q0 -229 -153 -353t-423 -124h-522l309 1462h426zM545 883h149q121 0 181.5 48.5t60.5 139.5q0 137 -170 137h-152zM412 256h180q117 0 183.5 58t66.5 161 -q0 162 -183 162h-165z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="1030" -d="M354 0h-301l309 1462h814l-54 -254h-512z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1475" -d="M-53 258h129q171 247 307.5 542t257.5 662h766l-256 -1204h186l-145 -684h-303l92 426h-784l-93 -426h-301zM840 1204q-215 -616 -426 -946h424l202 946h-200z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1776" -d="M494 780l-279 682h303l266 -684l146 684h293l-146 -684l537 684h328l-582 -723l295 -739h-316l-274 719l-152 -719h-292l151 717l-555 -717h-342z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1221" -d="M1200 1143q0 -169 -109.5 -266.5t-306.5 -110.5v-4q143 -17 226.5 -101t83.5 -215q0 -224 -161 -345t-468 -121q-139 0 -242.5 18t-181.5 61v263q182 -99 399 -99q170 0 256 60.5t86 175.5q0 93 -77 136.5t-242 43.5h-141l51 242h127q383 0 383 200q0 72 -47.5 113 -t-141.5 41q-170 0 -360 -123l-109 209q143 91 268.5 126.5t276.5 35.5q123 0 222 -44t153.5 -122t54.5 -174z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1546" -d="M422 418l764 1044h370l-309 -1462h-276q94 446 144 682t85 379l-8 2l-764 -1063h-375l309 1462h281l-147 -692q-65 -282 -84 -352h10z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1546" -d="M422 418l764 1044h370l-309 -1462h-276q94 446 144 682t85 379l-8 2l-764 -1063h-375l309 1462h281l-147 -692q-65 -282 -84 -352h10zM1482 1937q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139 -q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1219" -d="M1120 0h-338l-272 719l-152 -719h-305l309 1462h306l-146 -684l541 684h344l-582 -723z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1423" -d="M803 1204q-79 -320 -161 -577t-155.5 -393.5t-164 -195t-240.5 -58.5q-80 0 -143 24v254q53 -20 100 -20q65 0 107 31.5t82 101.5t92.5 217.5t117 371.5t135.5 502h861l-312 -1462h-303l256 1204h-272z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1802" -d="M838 369l551 1093h423l-309 -1462h-280l145 692q53 247 105 441h-5l-569 -1133h-281l-61 1133h-4q-11 -88 -38 -231t-187 -902h-275l309 1462h404l68 -1093h4z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1434" -d="M1135 0h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1423" -d="M1124 0h-305l256 1204h-461l-256 -1204h-305l309 1462h1072z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1188" -d="M522 774h56q142 0 223.5 69t81.5 185q0 180 -195 180h-74zM1190 1036q0 -241 -169.5 -378.5t-467.5 -137.5h-86l-109 -520h-305l309 1462h338q242 0 366 -106.5t124 -319.5z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1087" -d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1225" -d="M242 -20q-124 0 -211 32v267q81 -39 198 -39q48 0 85 17t68.5 49.5t80.5 113.5l-285 1042h307l154 -631q23 -93 29 -151q46 110 67 149l344 633h334l-602 -1030q-132 -225 -205 -302t-159 -113.5t-205 -36.5z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1671" -d="M557 -20l49 223q-147 11 -255.5 69t-168 165.5t-59.5 252.5q0 281 186 440.5t531 172.5l37 180h284l-37 -180q232 -20 358 -145.5t126 -336.5q0 -287 -189.5 -449.5t-527.5 -166.5l-49 -225h-285zM942 444q176 12 268.5 111.5t92.5 265.5q0 109 -59 172.5t-171 67.5z -M788 1061q-168 -10 -264 -107t-96 -266q0 -112 59 -176t170 -68z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1241" -d="M1124 0h-331l-172 543l-396 -543h-342l576 764l-238 698h320l153 -518l363 518h344l-545 -725z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1501" -d="M1384 246l-143 -672h-303l92 426h-977l309 1462h308l-256 -1204h460l256 1204h304l-258 -1216h208z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1378" -d="M774 0l119 561q-187 -86 -348 -86q-167 0 -264 85t-97 237q0 57 13 116l112 549h305l-108 -516q-10 -46 -10 -82q0 -131 153 -131q131 0 295 74l139 655h306l-310 -1462h-305z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="2056" -d="M53 0l309 1462h314l-256 -1204h381l256 1204h315l-256 -1204h381l256 1204h313l-309 -1462h-1704z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="2134" -d="M2017 246l-143 -672h-303l92 426h-1610l309 1462h314l-256 -1204h381l256 1204h315l-256 -1204h381l256 1204h313l-258 -1216h209z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1425" -d="M762 901h67q240 0 365 -105t125 -304q0 -237 -158 -364.5t-456 -127.5h-439l254 1204h-352l55 258h658zM625 254h100q139 0 212 58.5t73 164.5q0 170 -193 170h-108z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1751" -d="M1452 0h-313l309 1462h313zM1075 492q0 -237 -158 -364.5t-456 -127.5h-408l309 1462h306l-119 -561h37q240 0 364.5 -105t124.5 -304zM412 254h69q139 0 212 58.5t73 164.5q0 170 -193 170h-77z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1212" -d="M1106 492q0 -237 -158 -364.5t-456 -127.5h-439l309 1462h306l-119 -561h67q240 0 365 -105t125 -304zM412 254h100q139 0 212 58.5t73 164.5q0 170 -193 170h-108z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1253" -d="M389 238q169 0 278 91.5t169 280.5h-539l53 254h527l2 25v26q0 312 -258 312q-65 0 -127.5 -13.5t-194.5 -64.5l-80 246q208 90 440 90q258 0 394.5 -146.5t136.5 -418.5q0 -268 -99 -489.5t-269.5 -336t-397.5 -114.5q-121 0 -217.5 18.5t-179.5 64.5v271 -q173 -96 362 -96z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2060" -d="M1997 938q0 -279 -88 -501t-249.5 -339.5t-381.5 -117.5q-241 0 -377.5 147.5t-136.5 409.5q0 50 4 94h-276l-134 -631h-305l309 1462h306l-121 -573h262q80 288 258.5 442t423.5 154q241 0 373.5 -144t132.5 -403zM1464 1227q-107 0 -197 -91.5t-141 -251.5t-51 -347 -q0 -147 59.5 -222t165.5 -75q107 0 196 87t139.5 244.5t50.5 358.5q0 139 -57 218t-165 79z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1255" -d="M653 561l-415 -561h-363l514 657q-107 68 -151.5 146.5t-44.5 185.5q0 223 153.5 348t433.5 125h486l-310 -1462h-305l119 561h-117zM907 1208h-135q-127 0 -193.5 -57t-66.5 -168q0 -79 54.5 -124.5t148.5 -45.5h108z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1198" -d="M109 461q0 331 131 604.5t358 376.5q72 32 206 60.5t433 68.5l31 -258q-306 -45 -422.5 -68.5t-183.5 -67t-112 -116.5t-75 -189h2q66 84 151 127t181 43q142 0 219.5 -94.5t77.5 -273.5q0 -197 -74 -359.5t-206.5 -248.5t-303.5 -86q-201 0 -307 123t-106 358zM551 227 -q66 0 123.5 60.5t93 165t35.5 211.5q0 153 -115 153q-56 0 -123 -45t-127 -127q-24 -115 -24 -194q0 -224 137 -224z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1174" -d="M711 1139q187 0 295 -81.5t108 -219.5q0 -112 -60.5 -178.5t-181.5 -94.5v-4q89 -25 134 -82t45 -141q0 -106 -58.5 -187.5t-168 -126t-257.5 -44.5q-227 0 -352 116.5t-125 335.5q0 202 76.5 363.5t218 252.5t326.5 91zM393 475l-2 -31v-32q0 -105 45.5 -163.5 -t134.5 -58.5q85 0 131 43t46 111q0 66 -48.5 98.5t-160.5 32.5h-146zM698 922q-85 0 -155 -65t-109 -175h201q87 0 134.5 35t47.5 104q0 48 -33 74.5t-86 26.5z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="981" -d="M166 1051q183 88 391 88q179 0 276 -78.5t97 -224.5q0 -95 -33 -156.5t-89 -103.5t-130 -71.5t-156 -58.5q-100 -35 -132.5 -53t-48 -39t-15.5 -51q0 -100 143 -100q135 0 326 90v-227q-94 -47 -184.5 -66.5t-204.5 -19.5q-184 0 -285 83.5t-101 233.5q0 93 35 155 -t90.5 103.5t125.5 68.5t139 50q131 44 160 61t43 39t14 53q0 86 -121 86q-114 0 -266 -75z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1231" -d="M1165 928q0 -284 -80 -503t-223.5 -332t-339.5 -113q-207 0 -319.5 116.5t-112.5 325.5q0 186 60.5 329t171 221.5t251.5 78.5q185 0 281 -183h6l2 36v30q0 207 -62 302t-202 95q-106 0 -203 -41l-63 238q127 49 313 49q520 0 520 -649zM539 225q106 0 179.5 112 -t106.5 329q-20 66 -64.5 109.5t-115.5 43.5q-115 0 -183.5 -110.5t-68.5 -296.5q0 -88 38 -137.5t108 -49.5z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1966" -d="M811 451h-152q-57 -223 -199.5 -347t-344.5 -124q-77 0 -135 12l47 239q53 -8 79 -8q84 0 149.5 64t101.5 175t36 240q0 96 -36 144.5t-101 48.5q-45 0 -121 -27v244q76 27 178 27q175 0 276 -114t101 -318v-27l-2 -27h166l100 465h289l-100 -465h157q57 227 203 356.5 -t348 129.5q71 0 136 -13l-52 -239q-53 8 -80 8q-125 0 -205.5 -136t-80.5 -343q0 -96 36 -144.5t101 -48.5q45 0 121 27v-244q-73 -26 -178 -26q-177 0 -277 111.5t-100 314.5v45h-172l-96 -451h-289z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="1073" -d="M463 688q140 0 198 29.5t58 97.5q0 46 -34 72t-120 26q-69 0 -153.5 -22.5t-161.5 -56.5l-72 219q224 86 440 86q193 0 297.5 -71t104.5 -206q0 -104 -63 -173t-197 -105v-6q190 -56 190 -226q0 -180 -143.5 -276t-409.5 -96q-101 0 -202 20t-170 55v248q176 -88 362 -88 -q258 0 258 145q0 117 -176 117h-176l45 211h125z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM1265 1599q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5 -t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="1184" -d="M907 1118h344l-479 -561l277 -557h-338l-256 545l-117 -545h-301l239 1118h302l-111 -520z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1260" -d="M987 0h-301l188 885q-40 8 -63 8q-67 0 -112 -31.5t-82 -101t-109 -283.5q-35 -103 -68.5 -193.5t-79 -158t-110 -106.5t-160.5 -39q-89 0 -149 24v248q37 -16 84 -16q50 0 89.5 52.5t77.5 163.5q102 303 158 408t122.5 163.5t162.5 87t233 28.5q87 0 182 -15.5 -t164 -42.5z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1620" -d="M1231 807q-28 -62 -69 -136t-83 -153l-276 -518h-232l-63 504q-24 203 -31 307l-170 -811h-284l239 1118h406l59 -477q11 -84 15.5 -156t9.5 -143q26 60 59 136t78 155l270 485h428l-235 -1118h-293z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1262" -d="M580 1118l-93 -430h349l90 430h301l-238 -1118h-301l96 461h-346l-98 -461h-303l239 1118h304z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1237" -d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1219" -d="M813 1139q146 0 230.5 -107.5t84.5 -300.5q0 -191 -68.5 -367.5t-187.5 -280t-262 -103.5q-83 0 -143 37t-111 126h-8q-12 -159 -43 -295l-72 -340h-301l342 1610h230l-17 -170h9q138 191 317 191zM692 895q-68 0 -131.5 -67.5t-102 -180t-38.5 -248.5q0 -80 37 -128 -t102 -48q67 0 128 69t98.5 189.5t37.5 237.5q0 176 -131 176z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="1853" -d="M844 1139q219 0 262 -228h6q68 110 160.5 169t197.5 59q136 0 207.5 -85t71.5 -237q0 -76 -23 -180l-133 -637h-301l138 653q16 68 16 119q0 123 -98 123q-92 0 -166.5 -112t-118.5 -318l-96 -465h-301l137 653q16 68 16 119q0 123 -98 123q-92 0 -167 -114t-118 -318 -l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1563" -d="M1049 1124q204 -30 314 -153t110 -314q0 -193 -81 -340.5t-229.5 -230.5t-357.5 -104l-96 -474h-291l104 484q-202 23 -317 147.5t-115 313.5q0 191 84.5 342.5t234 234.5t353.5 96l90 430h287zM397 477q0 -103 43 -171t129 -81l144 668q-93 -6 -163.5 -59t-111.5 -150.5 -t-41 -206.5zM856 225q93 13 161.5 66t109 149.5t40.5 210.5q0 96 -45.5 159.5t-124.5 78.5z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="1087" -d="M379 573l-225 545h321l115 -334l244 334h354l-467 -561l244 -557h-326l-125 342l-264 -342h-350z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1270" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-162 -764q-6 -30 -6 -53q0 -65 62 -65q39 0 90 14l-137 -651h-279l96 401q-97 45 -129 180h-2q-142 -200 -340 -200q-137 0 -213 82.5t-76 238.5q0 68 29 213l127 604h301z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1219" -d="M244 1118h301l-62 -291q-16 -68 -16 -118q0 -63 31 -95t88 -32q98 0 161.5 98.5t108.5 310.5l27 127h301l-238 -1118h-301l64 303l43 180h-7q-128 -141 -292 -141q-135 0 -212 86t-77 236q0 79 29 213z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1853" -d="M1190 1118l-137 -653q-17 -70 -17 -119q0 -123 99 -123q93 0 167 115t117 317l99 463h301l-238 -1118h-229l20 207h-6q-145 -227 -354 -227q-219 0 -262 227h-7q-145 -227 -358 -227q-133 0 -206 83t-73 238q0 73 23 180l133 637h301l-137 -653q-16 -68 -16 -119 -q0 -123 98 -123q92 0 165 110.5t120 319.5l96 465h301z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1886" -d="M1190 1118l-137 -653q-17 -70 -17 -119q0 -123 99 -123q93 0 167 115t117 317l99 463h301l-162 -764q-6 -30 -6 -53q0 -65 61 -65q41 0 90 14l-137 -651h-279l97 401q-103 47 -129 184h-2q-145 -204 -340 -204q-219 0 -262 227h-7q-145 -227 -358 -227q-133 0 -206 83 -t-73 238q0 73 23 180l133 637h301l-137 -653q-16 -68 -16 -119q0 -123 98 -123q92 0 165 110.5t120 319.5l96 465h301z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1380" -d="M793 1118l-99 -454q88 22 217 22q166 0 260.5 -82.5t94.5 -220.5q0 -120 -62.5 -211t-182 -141.5t-290.5 -50.5q-195 0 -297 83t-102 244q0 70 24 180l88 402h-352l49 229h652zM631 317q0 -61 38 -94t105 -33q86 0 137.5 44.5t51.5 117.5q0 123 -150 123q-70 0 -160 -18 -q-7 -32 -14.5 -71t-7.5 -69z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1645" -d="M565 1118l-98 -454q98 22 203 22q139 0 226 -82t87 -215q0 -121 -57.5 -213t-167.5 -144t-262 -52q-390 0 -390 325q0 87 23 189l135 624h301zM557 475q-57 0 -131 -18q-15 -67 -17.5 -93.5t-2.5 -50.5q0 -61 31 -92t83 -31q73 0 117.5 46.5t44.5 119.5q0 119 -125 119z -M1372 0h-301l238 1118h301z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1153" -d="M467 664q86 22 217 22q166 0 260 -83t94 -220q0 -121 -62 -211.5t-181.5 -141t-290.5 -50.5q-195 0 -297.5 83.5t-102.5 243.5q0 65 25 180l135 631h301zM586 475q-70 0 -160 -18q-23 -103 -23 -140q0 -62 39 -94.5t105 -32.5q86 0 137 45t51 117q0 123 -149 123z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="989" -d="M489 1139q195 0 302.5 -117t107.5 -332q0 -213 -72.5 -374t-210.5 -248.5t-329 -87.5q-152 0 -256 55v252q52 -25 112 -44.5t138 -19.5q113 0 183 58.5t103 181.5h-372l43 203h356l2 19v20q0 91 -43.5 140.5t-124.5 49.5q-57 0 -103.5 -16t-103.5 -43l-80 221 -q164 82 348 82z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1710" -d="M1620 696q0 -211 -67.5 -374t-195 -252.5t-302.5 -89.5q-194 0 -302 113t-108 315v53h-207l-98 -461h-303l239 1118h304l-93 -430h193q57 214 195 332.5t337 118.5q194 0 301 -117t107 -326zM1186 893q-68 0 -123 -65t-89 -181t-34 -237q0 -185 137 -185q64 0 119 62.5 -t88 174t33 234.5q0 197 -131 197z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1192" -d="M647 416q-57 0 -98 -39.5t-87 -139.5q-66 -141 -143 -199t-188 -58q-91 0 -151 24v248q40 -16 77 -16q42 0 68.5 22.5t46.5 56.5l31 51q64 109 159 138q-157 65 -157 235q0 178 127.5 278.5t355.5 100.5h467l-235 -1118h-302l91 416h-62zM684 903q-79 0 -125.5 -43.5 -t-46.5 -116.5q0 -55 35 -88.5t112 -33.5h93l59 282h-127z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM810 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM355 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM757 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1237" -d="M635 1395h299l-43 -199h-297q-38 -187 -82 -289h8q62 78 136.5 124t174.5 46q140 0 214.5 -84t74.5 -237q0 -79 -22 -181l-146 -692q-41 -192 -141.5 -283.5t-263.5 -91.5q-104 0 -174 25v242q61 -21 114 -21q61 0 107.5 40.5t64.5 129.5l142 668q16 68 16 119 -q0 123 -106 123q-92 0 -166.5 -113.5t-118.5 -319.5l-88 -401h-301l252 1196h-160l43 199h160l35 161h301z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="981" -d="M166 1051q183 88 391 88q179 0 276 -78.5t97 -224.5q0 -95 -33 -156.5t-89 -103.5t-130 -71.5t-156 -58.5q-100 -35 -132.5 -53t-48 -39t-15.5 -51q0 -100 143 -100q135 0 326 90v-227q-94 -47 -184.5 -66.5t-204.5 -19.5q-184 0 -285 83.5t-101 233.5q0 93 35 155 -t90.5 103.5t125.5 68.5t139 50q131 44 160 61t43 39t14 53q0 86 -121 86q-114 0 -266 -75zM485 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="989" -d="M506 -20q-200 0 -308 108t-108 305q0 220 75.5 393t208.5 263t308 90q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-91 0 -160.5 -57.5t-103.5 -171.5h367l-43 -203h-359l-2 -24v-23q0 -193 174 -193q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="969" -d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 -t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="608" -d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM338 0h-301l237 1118h301z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM126 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM528 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="608" -d="M-90 -492q-104 0 -174 25v242q61 -21 114 -21q137 0 173 170l253 1194h302l-265 -1239q-77 -371 -403 -371zM324 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1767" -d="M1087 664q108 22 218 22q165 0 259.5 -82.5t94.5 -220.5q0 -121 -62 -211.5t-181.5 -141t-291.5 -50.5q-195 0 -297 83t-102 244q0 73 25 180l90 402l-45 4q-67 0 -111.5 -32t-80 -99.5t-103.5 -284.5q-72 -232 -123.5 -319t-121.5 -132.5t-171 -45.5q-51 0 -80.5 6 -t-62.5 18v248q37 -16 84 -16q51 0 89.5 51.5t73.5 163.5l43 135q81 251 152 356t173 151t259 46q206 0 363 -58zM1206 475q-69 0 -159 -18q-20 -91 -21.5 -108.5t-1.5 -31.5q0 -61 38 -94t105 -33q86 0 137.5 44.5t51.5 117.5q0 123 -150 123z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1767" -d="M1087 664q116 22 218 22q165 0 259.5 -82.5t94.5 -220.5q0 -121 -62 -211.5t-181.5 -141t-291.5 -50.5q-195 0 -297 83t-102 244q0 61 20 154h-294l-99 -461h-303l240 1118h303l-92 -430h295l90 430h301zM1206 475q-69 0 -159 -18q-20 -91 -21.5 -108.5t-1.5 -31.5 -q0 -61 38 -94t105 -33q86 0 137.5 44.5t51.5 117.5q0 123 -150 123z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1237" -d="M977 0h-301l125 592q16 68 16 119q0 123 -106 123q-93 0 -168.5 -115.5t-118.5 -317.5l-86 -401h-301l254 1196h-162l43 199h160l35 161h301l-33 -161h299l-43 -199h-299q-38 -164 -80 -289h8q62 78 136.5 124t174.5 46q140 0 214.5 -84t74.5 -237q0 -79 -22 -181z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="1184" -d="M907 1118h344l-479 -561l277 -557h-338l-256 545l-117 -545h-301l239 1118h302l-111 -520zM624 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM845 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z -" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM1156 1599q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5 -q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1237" -d="M596 -41h49l-96 -451h-281l76 345zM563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213l127 604h301z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="2097" -d="M1548 1235q-51 0 -95 -20.5t-95 -55.5l-105 217q164 105 346 105q211 0 322 -127t111 -369q0 -289 -91.5 -522t-246 -358t-381.5 -125q-248 0 -348 184q-73 -103 -154 -143.5t-209 -40.5q-224 0 -348.5 148t-124.5 411q0 397 184 669.5t508 272.5q97 0 176 -29.5 -t131 -73.5l-133 -217l-36 26q-68 48 -140 48q-104 0 -191.5 -94.5t-137.5 -255t-50 -346.5q0 -299 195 -299q89 0 144 54t83 173l53 248h304l-39 -193q-19 -85 -19 -141q0 -63 36.5 -102t109.5 -39q121 0 212 89t146 267.5t55 380.5q0 258 -172 258z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1700" -d="M242 0l-140 1118h295l58 -600q8 -84 14 -246l274 492l-32 354h290l32 -659q7 -111 7 -187q136 163 221 359.5t148 486.5h309q-67 -355 -216 -628.5t-392 -489.5h-291l-37 416h-4l-217 -416h-319z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1286" -d="M1180 492q0 -237 -158 -364.5t-457 -127.5h-438l240 1124h-244l49 230h242l43 202h305l-43 -202h291l-49 -230h-291l-47 -223h67q238 0 364 -104.5t126 -304.5zM485 254h101q140 0 212 58.5t72 164.5q0 170 -192 170h-109z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1235" -d="M887 889h-289l-49 -225q86 22 217 22q165 0 259.5 -82.5t94.5 -220.5q0 -121 -62 -211.5t-181.5 -141t-290.5 -50.5q-195 0 -297.5 83.5t-102.5 243.5q0 68 25 185l86 397h-236l48 229h239l43 201h301l-45 -201h287zM668 475q-70 0 -160 -18q-23 -103 -23 -140 -q0 -62 39 -94.5t105 -32.5q86 0 137 45t51 117q0 123 -149 123z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1817" -d="M1468 1227q-139 0 -248.5 -89t-164.5 -249h530l-53 -254h-528q-7 -35 -7 -86q0 -150 69.5 -229.5t193.5 -79.5q74 0 152.5 16t209.5 61v-260q-187 -77 -405 -77q-254 0 -392.5 149.5t-138.5 415.5l4 86h-198l-134 -631h-305l309 1462h306l-121 -573h188 -q82 281 274.5 438.5t458.5 157.5q122 0 224 -24.5t206 -80.5l-118 -250q-168 97 -312 97z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1536" -d="M1053 -20q-200 0 -308 108t-108 305q0 38 4 70h-203l-98 -463h-303l239 1118h304l-93 -430h191q66 213 211.5 332t339.5 119q181 0 327 -72l-92 -229q-53 22 -105 39.5t-118 17.5q-80 0 -146.5 -54.5t-105.5 -152.5h359l-48 -225h-358l-2 -24v-23q0 -96 46.5 -144.5 -t127.5 -48.5q61 0 122.5 17.5t152.5 64.5v-246q-154 -79 -336 -79z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1370" -d="M721 0h-281l135 631h-47l-329 -631h-322l809 1468h373l188 -1468h-282l-68 631h-49zM870 868q-27 243 -34 369q-53 -123 -177 -369h211z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1188" -d="M895 1118l188 -1118h-278l-57 422h-37l-80 -422h-271l97 422h-41l-234 -422h-307l657 1118h363zM723 629q-29 188 -39 289l-147 -289h186z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1892" -d="M1487 0l-68 631h-49l-127 -631h-280l135 631h-47l-330 -631h-322l346 631h-262l-133 -631h-297l309 1462h297l-120 -573h350l319 579h373l188 -1468h-282zM1182 868h211q-27 218 -35 369q-42 -99 -176 -369z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1712" -d="M1266 461h-25l-86 -461h-270l104 461h-28l-254 -461h-308l271 461h-264l-99 -461h-270l237 1118h273l-92 -430h348l254 430h362l189 -1118h-279zM1239 688l-31 230l-116 -230h147z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1495" -d="M-86 0l252 541q68 145 154 215t227 96l-223 473l28 137h1184l-27 -143l-440 -481q121 -36 177.5 -128t68.5 -266l33 -444h-299l-23 455q-5 96 -28.5 138t-69.5 42h-8l-125 -635h-310l131 635h-8q-55 0 -98.5 -39.5t-83.5 -134.5l-195 -461h-317zM813 881l260 323h-405z -" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1186" -d="M-102 0l184 371q61 125 130 188.5t191 89.5l-196 365l22 104h988l-21 -104l-354 -369q80 -31 121 -99t61 -227l37 -319h-254l-23 307q-6 73 -22.5 105t-48.5 39l-92 -451h-267l103 455q-47 -3 -75 -31t-54 -84l-160 -340h-270zM621 680l186 231h-291z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="2017" -d="M1335 881l258 323h-403zM1317 0h-309l131 635h-9q-57 0 -97 -38.5t-81 -131.5l-198 -465h-318l213 457q50 111 109 174h-266l-134 -631h-305l309 1462h306l-121 -573h508l-209 436l28 137h1184l-26 -143l-441 -481q94 -38 140.5 -83.5t71.5 -118t34 -192.5l33 -444h-299 -l-23 455q-5 96 -28 138t-70 42h-8z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1696" -d="M408 0l163 332q43 88 93 129h-258l-99 -461h-270l237 1118h273l-92 -430h438l-176 326l22 104h987l-20 -104l-354 -369q83 -32 123 -102t59 -224l37 -319h-254l-23 307q-5 72 -22.5 104.5t-48.5 39.5l-93 -451h-266l103 455q-47 -3 -75 -31t-54 -84l-160 -340h-270z -M1130 680l187 231h-291z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1221" -d="M1200 1143q0 -169 -109.5 -266.5t-306.5 -110.5v-4q146 -17 228 -101t82 -215q0 -132 -59.5 -226t-187 -152t-360.5 -86q-131 -16 -178 -29t-67.5 -33.5t-20.5 -50.5q0 -74 119 -74q71 0 159 5q87 5 142 5q122 0 152 -41v-229q-16 16 -53 28.5t-93 12.5l-373 -8 -q-165 0 -259.5 76t-94.5 209q0 118 48 189.5t154 116t327 77.5q121 17 194 46t106 71t33 112q0 91 -75.5 132.5t-243.5 41.5h-141l51 242h127q383 0 383 200q0 72 -47.5 113t-141.5 41q-170 0 -360 -123l-109 209q86 55 174.5 93.5t198.5 55.5q-50 104 -152 252v25h166 -q107 -112 154 -174q80 89 128 126.5t97 57t107 19.5q60 0 102 -17v-149q-34 10 -72 10q-37 0 -84.5 -33.5t-128.5 -120.5q130 -33 207.5 -120.5t77.5 -202.5z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="1073" -d="M469 688q141 0 195.5 29.5t54.5 97.5q0 46 -34 72t-120 26q-69 0 -153.5 -22.5t-161.5 -56.5l-72 219q141 52 258 71q-41 80 -125 203v25h166q107 -112 154 -174q81 90 128.5 126.5t98 56t105.5 19.5q62 0 102 -16v-150q-37 11 -72 11q-36 0 -75 -24.5t-101 -86.5 -q203 -63 203 -252q0 -104 -63 -173t-197 -105v-6q190 -56 190 -226q0 -118 -59.5 -193.5t-176.5 -119.5t-349 -68q-112 -12 -154.5 -34.5t-42.5 -65.5t35.5 -59.5t97.5 -16.5q69 0 140.5 5t136.5 5q68 0 101 -10.5t48 -30.5v-229q-17 17 -55 29t-90 12q-86 0 -168.5 -4 -t-175.5 -4q-164 0 -247 77.5t-83 213.5q0 151 103.5 237t326.5 111q140 16 197.5 33.5t83.5 47t26 79.5q0 52 -44 81t-132 29h-176l45 211h131z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1671" -d="M967 434h-21l-92 -434h-285l95 434h-15q-222 0 -346.5 103.5t-124.5 287.5q0 89 23 197l94 440h295l-101 -479q-14 -68 -14 -117q0 -98 55.5 -139t167.5 -41h17l164 776h284l-164 -776h17q147 0 222.5 69t109.5 224l102 483h297l-111 -518q-109 -510 -669 -510z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1655" -d="M1171 1554l-284 -1339q196 32 286.5 248.5t90.5 654.5h301q0 -416 -78 -649.5t-239 -354.5t-412 -143l-99 -463h-288l98 463q-209 21 -318.5 120t-109.5 269q0 70 16 150l129 608h299l-129 -616q-14 -61 -14 -121q0 -77 45.5 -121t132.5 -49l285 1343h288z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM688 240q129 0 235 100.5t158 280.5h-645q-4 -28 -4 -84q0 -147 67.5 -222t188.5 -75zM872 1227q-120 0 -222 -91.5 -t-163 -256.5h633l2 51q0 139 -65 218t-185 79z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1198" -d="M1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325zM543 219q77 0 139 62t96 176h-389l-2 -29v-20q0 -91 40 -140t116 -49zM662 901q-75 0 -136.5 -61.5 -t-97.5 -171.5h383v28q0 100 -38 152.5t-111 52.5z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1331" -d="M537 305q19 58 56 150.5t54 126.5l230 481q92 191 151 265.5t128.5 110.5t164.5 36q82 0 152 -29v-248q-52 19 -97 19q-64 0 -109 -45t-96 -144l-526 -1028h-334l-127 1462h295l51 -848q6 -98 6 -179q0 -68 -6 -130h7z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="1118" -d="M455 309q32 89 92 215l137 281q66 137 117 199.5t112.5 92t145.5 29.5q75 0 131 -26v-238q-42 19 -80 19q-35 0 -65.5 -24t-53 -65t-428.5 -792h-323l-138 1118h295l48 -633l5 -117l-1 -59h6z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1331" -d="M537 305q19 58 56 150.5t54 126.5l230 481q92 191 151 265.5t128.5 110.5t164.5 36q82 0 152 -29v-248q-52 19 -97 19q-64 0 -109 -45t-96 -144l-526 -1028h-334l-127 1462h295l51 -848q6 -98 6 -179q0 -68 -6 -130h7zM580 1579q-71 69 -138.5 153.5t-103.5 153.5v21h283 -q38 -156 115 -303v-25h-156zM961 1579q-71 69 -138.5 153.5t-103.5 153.5v21h283q37 -152 114 -303v-25h-155z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="1118" -d="M455 309q32 89 92 215l137 281q66 137 117 199.5t112.5 92t145.5 29.5q75 0 131 -26v-238q-42 19 -80 19q-35 0 -65.5 -24t-53 -65t-428.5 -792h-323l-138 1118h295l48 -633l5 -117l-1 -59h6zM414 1241q-71 69 -138.5 153.5t-103.5 153.5v21h283q38 -156 115 -303v-25 -h-156zM795 1241q-71 69 -138.5 153.5t-103.5 153.5v21h283q37 -152 114 -303v-25h-155z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2542" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1581 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2173" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM1212 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1550" -d="M1487 883q0 -240 -81.5 -436.5t-228.5 -313t-343 -143.5q-13 -56 -46 -85.5t-98 -29.5q-60 0 -92.5 30.5t-32.5 86.5q-212 40 -327 199.5t-115 404.5q0 229 84.5 423.5t231.5 310.5t341 145q14 54 47.5 82t98.5 28q59 0 91 -29t34 -83q206 -39 321 -192t115 -398z -M735 328q79 0 113 -66q151 53 239.5 218.5t88.5 393.5q0 121 -42 206t-122 122q-51 -69 -133 -69q-86 0 -117 71q-150 -56 -239 -223.5t-89 -378.5q0 -136 45 -221t125 -119q53 66 131 66z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1296" -d="M1206 657q0 -273 -132.5 -450.5t-373.5 -216.5q-25 -101 -133 -101q-54 0 -84 27.5t-32 75.5q-168 35 -264.5 156t-96.5 303q0 279 136.5 459.5t377.5 217.5q28 76 125 76q92 0 113 -76q169 -32 266.5 -157t97.5 -314zM903 657q0 154 -86 207q-43 -82 -127 -82t-112 78 -q-84 -49 -134.5 -161.5t-50.5 -247.5q0 -151 94 -203q23 31 51 47t70 16q77 0 107 -63q87 41 137.5 151t50.5 258z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="2097" -d="M1679 2068l-41 -194h-51q-71 0 -132 17t-113 37t-96 37t-83 17q-43 0 -68.5 -25.5t-39.5 -84.5h-193q14 156 92.5 236.5t208.5 80.5q62 0 121.5 -19t118 -41.5t118.5 -41.5t124 -19h34zM1378 1755q0 -112 -79 -182.5t-246 -79.5v92q72 14 103.5 38.5t31.5 66.5 -q0 17 -9 25t-28 16q-25 12 -40 26.5t-15 48.5q0 45 31.5 70t93.5 25q71 0 114 -40.5t43 -105.5zM1548 1235q-51 0 -95 -20.5t-95 -55.5l-105 217q164 105 346 105q211 0 322 -127t111 -369q0 -306 -90 -534t-252.5 -349.5t-376.5 -121.5q-125 0 -209 39t-146 114 -q-86 -86 -168.5 -119.5t-187.5 -33.5q-224 0 -348.5 148t-124.5 411q0 278 84 492.5t241 332t367 117.5q97 0 176 -29.5t131 -73.5l-133 -217l-36 26q-68 48 -140 48q-99 0 -186 -89.5t-140 -253t-53 -353.5q0 -299 205 -299q87 0 180.5 56t184.5 169q41 -88 80.5 -131.5 -t94 -68.5t122.5 -25q118 0 211 96t147.5 268t54.5 373q0 258 -172 258z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1710" -d="M1063 -20q-182 0 -287 110q-135 -110 -295 -110q-190 0 -290.5 112.5t-100.5 327.5q0 209 72 379.5t195 255t288 84.5q142 0 244 -62l-86 -205q-60 41 -133 41q-74 0 -138 -61t-101.5 -171.5t-37.5 -250.5q0 -223 152 -223q57 0 118.5 31.5t141.5 109.5q89 -141 223 -141 -q130 0 209.5 142t79.5 360q0 108 -33 156t-96 48q-59 0 -146 -41l-59 205q132 62 272 62q180 0 272.5 -110.5t92.5 -319.5q0 -214 -71.5 -386t-197 -257.5t-288.5 -85.5zM1452 1753l-41 -194h-51q-72 0 -132.5 17t-112.5 37t-96.5 37t-82.5 17q-43 0 -69 -26t-40 -85h-192 -q14 156 92.5 237t208.5 81q62 0 121 -19t118 -41.5t118.5 -41.5t123.5 -19h35zM1151 1440q0 -119 -83.5 -186.5t-242.5 -75.5v92q73 14 104.5 38t31.5 66q0 17 -9.5 25t-27.5 16q-25 13 -40.5 27.5t-15.5 48.5q0 94 125 94q72 0 115 -41t43 -104z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="2097" -d="M1548 1235q-51 0 -95 -20.5t-95 -55.5l-105 217q164 105 346 105q211 0 322 -127t111 -369q0 -289 -91.5 -522t-246 -358t-381.5 -125q-248 0 -348 184q-73 -103 -154 -143.5t-209 -40.5q-224 0 -348.5 148t-124.5 411q0 397 184 669.5t508 272.5q97 0 176 -29.5 -t131 -73.5l-133 -217l-36 26q-68 48 -140 48q-104 0 -191.5 -94.5t-137.5 -255t-50 -346.5q0 -299 195 -299q89 0 144 54t83 173l53 248h304l-39 -193q-19 -85 -19 -141q0 -63 36.5 -102t109.5 -39q121 0 212 89t146 267.5t55 380.5q0 258 -172 258zM1688 1858l-19 -89 -l-115 -172h-69l-27 103h-131l-67 -103h-70l-27 103h-131l-67 -103h-70l-41 172l18 89h816z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1700" -d="M242 0l-140 1118h295l58 -600q8 -84 14 -246l274 492l-32 354h290l32 -659q7 -111 7 -187q136 163 221 359.5t148 486.5h309q-67 -355 -216 -628.5t-392 -489.5h-291l-37 416h-4l-217 -416h-319zM1403 1511l-19 -88l-114 -172h-70l-24 103h-132l-69 -103h-70l-24 103 -h-131l-70 -103h-70l-39 172l19 88h813z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1253" -d="M905 1227q-135 0 -241 -84t-168 -246t-62 -348q0 -155 69.5 -232t213.5 -77q110 0 256 36l-162 -768h-305l102 474q-232 14 -358.5 161t-126.5 402q0 265 103 487t277 337.5t402 115.5q122 0 224 -24.5t206 -80.5l-118 -250q-72 41 -148.5 69t-163.5 28z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="989" -d="M614 -492h-301l107 476q-156 20 -243 127t-87 280q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -193 176 -193q100 0 205 45z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M588 432l284 -166l-71 -123l-285 164l-180 -313l-129 74l180 315l-283 164l70 123l287 -164l198 346l-284 164l71 125l285 -164l182 313l127 -73l-182 -316l287 -164l-74 -123l-283 164z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1096" -d="M522 1241q-34 -94 -123 -94q-48 0 -73 29.5t-25 74.5q0 60 36 100t99 40h441q31 94 120 94q51 0 75 -26.5t24 -69.5q0 -67 -36 -107.5t-97 -40.5h-441z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1137" -d="M383 1436q116 0 259 60q142 60 232 60q108 0 170 -60t62 -171q0 -49 -8 -86h-183l3 31q0 80 -78 80q-42 0 -86.5 -17t-100.5 -37.5t-126.5 -37.5t-164.5 -17h-43l41 195h23z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1135" -d="M602 1440q0 78 52.5 131t136.5 53q60 0 87 -27t27 -65q0 -29 -17 -49t-54 -37q-25 -11 -39.5 -24.5t-14.5 -39.5q0 -56 92 -79v-84q-124 8 -197 68.5t-73 152.5z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1135" -d="M909 1479q0 -245 -338 -262v92q73 14 110.5 38t37.5 66q0 17 -9 25t-28 16q-25 12 -40 27t-15 49q0 94 125 94q71 0 114 -41t43 -104z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1001 1425q93 0 149.5 -50.5t63.5 -143.5h-79q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194zM1001 -125q92 0 149.5 -51t63.5 -143h-79q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5zM1581 154q92 0 149.5 -51 -t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM428 154q92 0 149.5 -51t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM1581 1141q92 0 149.5 -51t63.5 -144 -h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM428 1141q92 0 149.5 -51t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM1772 653q92 0 149.5 -52t63.5 -142h-80 -q-5 44 -35 66t-98 22q-78 0 -103.5 -20t-30.5 -68h-75q11 194 209 194zM250 653q92 0 149.5 -51t63.5 -143h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1090 -49q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM870 1155q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1581 662q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM377 442q-66 17 -161.5 52t-174.5 71v97q221 -53 350 -70v-139z -M1651 1186l69 -68q-177 -110 -297 -198l-98 98l2 16q67 39 162 83t162 69zM307 -123l-69 68q177 110 297 198l98 -98l-2 -16q-155 -89 -324 -152zM324 1202l67 70q123 -198 199 -297l-98 -98l-17 2q-82 140 -151 323zM1632 -141l-67 -70q-31 50 -96 147.5t-103 149.5l98 98 -l17 -2q39 -69 84 -166t67 -157z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1681" -d="M362 1462h281l-147 -692q-65 -282 -84 -352h10l764 1044h370l-253 -1196h305l-312 -692h-346l262 426h-241q94 446 144 682t85 379l-8 2l-764 -1063h-375zM1503 1931q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 25 4 47h267l-3 -47 -q0 -139 170 -139q100 0 154 45.5t76 140.5h272z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1288" -d="M717 0l20 180h-2q-142 -200 -340 -200q-137 0 -213 82.5t-76 238.5q0 68 29 213l127 604h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-190 -895h252l-273 -624h-303l217 401h-188zM1266 1599q-50 -194 -177.5 -276t-349.5 -82 -q-199 0 -306 77t-107 234q0 25 4 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h273z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1212" -d="M1106 492q0 -237 -158 -364.5t-456 -127.5h-439l226 1057h-150l55 254h146l32 151h306l-33 -151h248l-56 -254h-245l-33 -156h67q240 0 365 -105t125 -304zM412 254h100q139 0 212 58.5t73 164.5q0 170 -193 170h-108z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1157" -d="M621 1333h303l-41 -198h-305l-101 -471q88 22 217 22q166 0 260.5 -82.5t94.5 -220.5q0 -120 -62.5 -211t-182 -141.5t-290.5 -50.5q-195 0 -297 83t-102 244q0 70 24 180l140 648h-158l41 198h160l47 223h301zM596 475q-70 0 -160 -18q-7 -32 -14.5 -71t-7.5 -69 -q0 -61 38 -94t105 -33q86 0 137 45t51 117q0 123 -149 123z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1188" -d="M1190 1036q0 -143 -61 -251.5t-177 -174.5l62 -129l-174 -82l-68 144q-103 -23 -219 -23h-86l-109 -520h-305l309 1462h338q242 0 366 -106.5t124 -319.5zM522 774h56q43 0 84 6l-52 113l170 82l49 -105q54 63 54 158q0 180 -195 180h-74z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1219" -d="M813 1139q146 0 230.5 -107.5t84.5 -300.5q0 -206 -78 -392.5t-208 -279.5l55 -127l-174 -82l-61 132l-52 -2q-83 0 -143 37t-111 126h-8q-12 -159 -43 -295l-72 -340h-301l342 1610h230l-17 -170h9q138 191 317 191zM692 895q-70 0 -132 -65t-101 -185.5t-39 -245.5 -q0 -90 34.5 -133t82.5 -43h12l-55 121l170 82l49 -104q52 75 81 182t29 215q0 176 -131 176z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="1030" -d="M901 1462l66 310h272l-117 -564h-512l-256 -1208h-301l309 1462h539z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="948" -d="M961 870h-439l-184 -870h-301l237 1118h461l64 305h278z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="1030" -d="M535 850h309l-56 -254h-309l-125 -596h-301l127 596h-151l55 254h149l129 612h814l-54 -254h-512z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="948" -d="M1014 1118l-53 -248h-439l-47 -217h262l-49 -235h-262l-88 -418h-301l90 418h-139l49 235h139l98 465h740z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1364" -d="M598 559q-73 0 -127 -12l-117 -547h-301l309 1462h814l-54 -254h-512l-86 -409q80 20 168 20q151 0 267 -71.5t173.5 -197.5t57.5 -294q0 -223 -83.5 -403t-231.5 -272.5t-338 -92.5q-169 0 -291 49v260q129 -51 270 -51q163 0 263 133t100 344q0 165 -72.5 250.5 -t-208.5 85.5z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1174" -d="M981 184q0 -209 -73 -369t-206 -238.5t-313 -78.5q-149 0 -231 43v271q96 -54 221 -54q141 0 219 108t78 296q0 113 -44.5 174t-131.5 61q-47 0 -82 -14l-80 -383h-301l237 1118h740l-53 -248h-439l-53 -247q51 18 131 18q179 0 280 -122t101 -335z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1882" -d="M1339 0l-274 719l-152 -719h-292l151 717l-555 -717h-342l619 780l-279 682h303l266 -684l146 684h293l-146 -684l537 684h328l-582 -723l196 -493h209l-143 -672h-303l92 426h-72z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1966" -d="M313 1139q175 0 276 -114t101 -318v-27l-2 -27h166l100 465h289l-100 -465h157q57 227 203 356.5t348 129.5q71 0 136 -13l-52 -239q-53 8 -80 8q-125 0 -205.5 -136t-80.5 -343q0 -96 39 -144.5t108 -48.5q82 0 162 33l-137 -657h-279l92 391q-134 27 -208 134t-74 282 -v45h-172l-96 -451h-289l96 451h-152q-57 -223 -199.5 -347t-344.5 -124q-77 0 -135 12l47 239q53 -8 79 -8q84 0 149.5 64t101.5 175t36 240q0 96 -36 144.5t-101 48.5q-45 0 -121 -27v244q76 27 178 27z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1221" -d="M1200 1143q0 -169 -109.5 -266.5t-306.5 -110.5v-4q143 -17 226.5 -101t83.5 -215q0 -224 -161 -345t-468 -121q-139 0 -242.5 18t-181.5 61v263q182 -99 399 -99q170 0 256 60.5t86 175.5q0 93 -77 136.5t-242 43.5h-141l51 242h127q383 0 383 200q0 72 -47.5 113 -t-141.5 41q-170 0 -360 -123l-109 209q143 91 268.5 126.5t276.5 35.5q123 0 222 -44t153.5 -122t54.5 -174zM364 -309q109 0 109 102q0 53 -24.5 101.5t-69.5 105.5h180q127 -118 127 -254q0 -114 -75 -176t-206 -62q-92 0 -153 25v180q58 -22 112 -22z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="1073" -d="M463 688q140 0 198 29.5t58 97.5q0 46 -34 72t-120 26q-69 0 -153.5 -22.5t-161.5 -56.5l-72 219q224 86 440 86q193 0 297.5 -71t104.5 -206q0 -104 -63 -173t-197 -105v-6q190 -56 190 -226q0 -180 -143.5 -276t-409.5 -96q-101 0 -202 20t-170 55v248q176 -88 362 -88 -q258 0 258 145q0 117 -176 117h-176l45 211h125zM295 -309q109 0 109 102q0 53 -24.5 101.5t-69.5 105.5h180q127 -118 127 -254q0 -114 -75 -176t-206 -62q-92 0 -153 25v180q58 -22 112 -22z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1407" -d="M1024 246h291l-144 -672h-303l93 426h-179l-272 719l-152 -719h-305l309 1462h306l-146 -684l541 684h344l-582 -723z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="1253" -d="M907 1118h344l-479 -561l152 -307h245l-137 -651h-278l96 401h-139l-256 545l-117 -545h-301l239 1118h302l-111 -520z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1219" -d="M1120 0h-325l-123 334l-25 -141h-143l86 413l-121 -84l-111 -522h-305l309 1462h306l-146 -684l146 185l75 358h144l-31 -141l236 282h344l-613 -721z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="1204" -d="M391 0h-301l240 1118h301l-111 -520l86 100l68 316h133l-25 -113l187 217h336l-478 -555l-2 -12l277 -551h-330l-125 266l-35 -176h-135l78 356l-47 101z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1255" -d="M1141 0h-338l-211 592l-125 -70l-109 -522h-305l228 1073h-129l53 254h129l28 135h306l-29 -135h133l-53 -254h-135l-68 -313l582 702h360l-608 -710z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="1163" -d="M174 1395h160l33 161h301l-35 -161h305l-43 -199h-305l-70 -334q-26 -121 -57 -217h6l451 473h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301l254 1196h-160z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1403" -d="M1305 0h-338l-273 719l-151 -719h-305l254 1204h-324l53 258h631l-145 -684l540 684h344l-581 -723z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1327" -d="M1083 1118h344l-479 -561l277 -557h-338l-256 545l-117 -545h-301l190 889h-329l49 229h631l-111 -520z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1569" -d="M1186 246h284l-143 -672h-303l92 426h-287l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1352" -d="M580 1118l-93 -430h349l90 430h301l-185 -868h226l-138 -651h-278l94 401h-258l96 461h-346l-98 -461h-303l239 1118h304z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1577" -d="M1389 1204l-254 -1204h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h614l-53 -258h-311z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1456" -d="M580 1118l-93 -430h349l90 430h643l-49 -229h-342l-189 -889h-301l96 461h-346l-98 -461h-303l239 1118h304z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2114" -d="M1274 799q73 20 168 20q149 0 265 -72t174 -198t58 -293q0 -220 -82.5 -399.5t-229 -274t-337.5 -94.5q-172 0 -295 49v260q129 -51 271 -51q161 0 261.5 132.5t100.5 344.5q0 163 -72.5 249.5t-207.5 86.5q-77 0 -127 -12l-117 -547h-303l256 1204h-443l-256 -1204h-305 -l309 1462h1051z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1769" -d="M1206 1118l-106 -495q51 18 131 18q179 0 280 -122t101 -335q0 -209 -73 -369t-206 -238.5t-313 -78.5q-146 0 -232 43v271q98 -54 222 -54q141 0 219 108t78 296q0 114 -45.5 174.5t-131.5 60.5q-46 0 -81 -14l-80 -383h-301l186 889h-326l-188 -889h-303l239 1118h930z -" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1495" -d="M1413 786q0 -179 -78.5 -342t-210.5 -272q24 -12 74 -12q63 0 139 26v-243q-28 -11 -78 -19t-100 -8q-161 0 -274 96q-96 -32 -219 -32q-253 0 -398 146t-145 404q0 271 99 495t271.5 342t399.5 118q135 0 250 -45l-84 -240q-81 31 -166 31q-130 0 -233.5 -87 -t-164.5 -252.5t-61 -354.5q0 -143 67.5 -223.5t184.5 -80.5h12q-63 120 -63 299q0 181 56.5 318t159.5 211t234 74q156 0 242 -91.5t86 -257.5zM944 328q84 76 138.5 212t54.5 261q0 102 -62 102q-69 0 -116.5 -111t-47.5 -286q0 -98 33 -178z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1255" -d="M1165 561q0 -122 -60.5 -239t-150.5 -175q22 -6 56 -6q62 0 118 21v-209q-70 -25 -155 -25q-139 0 -246 90q-96 -38 -221 -38q-200 0 -308 120t-108 334q0 207 76.5 371t211 249t314.5 85q60 0 120.5 -12.5t92.5 -26.5l-71 -219q-64 20 -132 20q-91 0 -160.5 -58 -t-109 -170t-39.5 -237q0 -115 42 -171t110 -56h24q-22 37 -35.5 100t-13.5 113q0 194 96 307t261 113q137 0 212.5 -73t75.5 -208zM795 270q54 44 89.5 129.5t35.5 161.5q0 34 -12.5 55t-37.5 21q-47 0 -75.5 -65t-28.5 -152q0 -36 7.5 -80t21.5 -70z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1253" -d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19zM497 -309 -q109 0 109 102q0 53 -24.5 101.5t-69.5 105.5h180q127 -118 127 -254q0 -114 -75 -176t-206 -62q-92 0 -153 25v180q58 -22 112 -22z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="989" -d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79zM364 -309 -q109 0 109 102q0 53 -24.5 101.5t-69.5 105.5h180q127 -118 127 -254q0 -114 -75 -176t-206 -62q-92 0 -153 25v180q58 -22 112 -22z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1087" -d="M266 0l254 1204h-352l55 258h1010l-55 -258h-353l-202 -958h284l-143 -672h-303l92 426h-287z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="1896" -d="M844 1139q219 0 262 -228h6q68 110 160.5 169t197.5 59q136 0 207.5 -85t71.5 -237q0 -74 -23 -178l-59 -285q-6 -30 -6 -53q0 -65 61 -65q41 0 90 14l-137 -651h-278l96 401q-141 49 -141 223q0 62 14 127l64 303q16 68 16 119q0 123 -98 123q-92 0 -166.5 -112 -t-118.5 -318l-96 -465h-301l137 653q16 68 16 119q0 123 -98 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="1049" -d="M457 309q39 114 90 215l297 594h323l-610 -1118l-104 -492h-312l105 492l-144 1118h295l48 -632q6 -80 6 -177h6z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-6 -31h295l-53 -258h-297l-58 -270h-303l57 270h-284l53 258h287l6 31l-236 903h312z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="1049" -d="M453 305q36 109 94 219l297 594h323l-610 -1118h274l-49 -229h-274l-55 -263h-312l56 263h-258l49 229h258l-144 1118h295l45 -586q4 -57 4 -227h7z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1415" -d="M793 0l-172 543l-396 -543h-342l576 764l-238 698h320l153 -518l363 518h344l-545 -725l178 -491h264l-143 -672h-303l92 426h-151z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1204" -d="M379 573l-225 545h321l115 -334l244 334h354l-467 -561l133 -307h266l-137 -651h-278l94 401h-160l-125 342l-264 -342h-350z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1714" -d="M1602 266l-148 -692h-303l92 426h-977l254 1204h-352l55 258h979l-53 -258h-324l-198 -946h460l256 1204h304l-254 -1196h209z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1397" -d="M641 889l-88 -424q-16 -68 -16 -125q0 -117 102 -117q97 0 172.5 115t118.5 317l98 463h301l-162 -764q-6 -30 -6 -53q0 -65 62 -65q39 0 90 14l-137 -651h-279l96 401q-97 45 -129 180h-2q-142 -200 -340 -200q-137 0 -213 80.5t-76 226.5q0 90 29 225l80 377h-250 -l49 229h797l-49 -229h-248z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1532" -d="M774 0l119 561q-187 -86 -348 -86q-167 0 -264 85t-97 237q0 57 13 116l112 549h305l-108 -516q-10 -46 -10 -82q0 -131 153 -131q131 0 295 74l139 655h306l-259 -1216h285l-143 -672h-303l92 426h-287z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1309" -d="M645 0l64 303l43 180h-7q-128 -141 -292 -141q-135 0 -212 86t-77 236q0 79 29 213l51 241h301l-62 -291q-16 -68 -16 -118q0 -63 31 -95t88 -32q98 0 161.5 98.5t108.5 310.5l27 127h301l-185 -868h226l-138 -651h-278l96 401h-260z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1378" -d="M1079 0h-305l119 561q-102 -46 -178 -65l-70 -324h-145l65 303h-20q-167 0 -264 85t-97 237q0 57 13 116l112 549h305l-108 -516q-10 -46 -10 -82q0 -118 125 -131l69 328h146l-68 -316q82 18 176 62l139 655h306z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1237" -d="M545 1118l-62 -291q-16 -68 -16 -118q0 -94 72 -119l49 229h137l-47 -217q69 35 115 132.5t81 256.5l27 127h301l-237 -1118h-301l63 303l43 180h-6q-62 -68 -135 -104l-54 -250h-137l47 213q-153 0 -237 84t-84 238q0 79 29 213l51 241h301z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1378" -d="M362 1462h306l-119 -561q187 86 348 86q167 0 263.5 -85t96.5 -236q0 -53 -12 -117l-112 -549h-306l109 516q10 46 10 82q0 131 -153 131q-131 0 -295 -74l-140 -655h-305z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1237" -d="M977 0h-301l61 291q17 70 17 119q0 63 -31 95t-88 32q-98 0 -161.5 -98.5t-108.5 -311.5l-27 -127h-301l237 1118h301l-63 -303l-43 -180h6q128 141 293 141q135 0 212 -86t77 -235q0 -68 -29 -213z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1595" -d="M434 868q88 295 280 456t464 161q200 0 308.5 -99t108.5 -278q0 -242 -197 -366t-583 -124h-106l-2 -22v-27q0 -167 70.5 -248t215.5 -81q162 0 359 75v-258q-177 -77 -410 -77q-262 0 -404.5 147t-142.5 418l4 86q-166 8 -252 72.5t-86 177.5q0 117 74 215h252 -q-53 -81 -53 -142q0 -39 22.5 -62.5t67.5 -23.5h10zM1151 1227q-128 0 -236.5 -100.5t-156.5 -258.5h92q219 0 328.5 59t109.5 173q0 59 -34.5 93t-102.5 34z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1354" -d="M745 -20q-210 0 -326 113t-116 319v41q-283 30 -283 237q0 100 58 182h213q-43 -64 -43 -135q0 -42 20.5 -65t53.5 -23h12q60 231 218.5 360.5t375.5 129.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM909 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1595" -d="M1151 1227q-128 0 -236.5 -100.5t-156.5 -258.5h92q219 0 328.5 59t109.5 173q0 59 -34.5 93t-102.5 34zM61 881q0 117 74 215h252q-53 -81 -53 -142q0 -39 22.5 -62.5t67.5 -23.5h10q94 300 285 458.5t459 158.5q200 0 308.5 -99t108.5 -278q0 -242 -197 -366t-583 -124 -h-106l-2 -22v-27q0 -167 70.5 -248t215.5 -81q162 0 359 75v-258q-134 -61 -318 -73l-86 -410h-303l94 432q-167 50 -255.5 189t-88.5 350l4 86q-166 8 -252 72.5t-86 177.5z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1354" -d="M909 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM334 649q60 231 218.5 360.5t375.5 129.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5q87 0 158 19t172 67v-227 -q-133 -67 -293 -82l-80 -385h-279l92 403q-131 39 -201.5 144t-70.5 266v41q-283 30 -283 237q0 100 58 182h213q-43 -64 -43 -135q0 -42 20.5 -65t53.5 -23h12z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1776" -d="M494 780l-279 682h303l266 -684l146 684h293l-146 -684l537 684h328l-582 -723l295 -739h-316l-274 719l-152 -719h-292l151 717l-555 -717h-342zM1609 1937q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21 -q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1966" -d="M811 451h-152q-57 -223 -199.5 -347t-344.5 -124q-77 0 -135 12l47 239q53 -8 79 -8q84 0 149.5 64t101.5 175t36 240q0 96 -36 144.5t-101 48.5q-45 0 -121 -27v244q76 27 178 27q175 0 276 -114t101 -318v-27l-2 -27h166l100 465h289l-100 -465h157q57 227 203 356.5 -t348 129.5q71 0 136 -13l-52 -239q-53 8 -80 8q-125 0 -205.5 -136t-80.5 -343q0 -96 36 -144.5t101 -48.5q45 0 121 27v-244q-73 -26 -178 -26q-177 0 -277 111.5t-100 314.5v45h-172l-96 -451h-289zM1634 1599q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5 -t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1417" -d="M627 545q-83 0 -160 -25l-109 -520h-305l309 1462h306l-146 -684l541 684h344l-555 -686q118 -21 205.5 -89.5t136.5 -181t49 -257.5q0 -217 -83 -395t-228.5 -271.5t-341.5 -93.5q-168 0 -291 49v260q122 -51 270 -51q163 0 263 133t100 344q0 322 -305 322z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1268" -d="M907 1118h344l-467 -534q143 -28 222 -137.5t79 -292.5q0 -193 -70.5 -342.5t-204 -231.5t-316.5 -82q-139 0 -232 43v271q98 -54 221 -54q137 0 217 100t80 281q0 116 -62 182t-173 66q-70 0 -129 -25l-78 -362h-301l237 1118h301l-110 -520z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1556" -d="M1434 1462l-256 -1196h305l-312 -692h-346l262 426h-268l256 1204h-272q-79 -320 -161 -577t-155.5 -393.5t-164 -195t-240.5 -58.5q-80 0 -143 24v254q53 -20 100 -20q65 0 107 31.5t82 101.5t92.5 217.5t117 371.5t135.5 502h861z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1350" -d="M1034 223h254l-272 -624h-303l217 401h-244l188 885q-40 8 -63 8q-67 0 -112 -31.5t-82 -101t-109 -283.5q-35 -103 -68.5 -193.5t-79 -158t-110 -106.5t-160.5 -39q-89 0 -149 24v248q37 -16 84 -16q50 0 89.5 52.5t77.5 163.5q102 303 158 408t122.5 163.5t162.5 87 -t233 28.5q87 0 182 -15.5t164 -42.5z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1434" -d="M543 -512q-170 0 -293 49v273q125 -50 272 -50q135 0 215 89t119 276l107 506h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305l-297 -1405q-61 -289 -207.5 -429t-396.5 -140z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1262" -d="M580 1118l-93 -430h349l90 430h301l-238 -1118q-53 -249 -176.5 -375.5t-335.5 -126.5q-155 0 -258 58v262q114 -60 225 -60q98 0 158 64.5t94 216.5l88 422h-346l-98 -461h-303l239 1118h304z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1569" -d="M829 0l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305l-254 -1196h305l-311 -692h-346l262 426h-271z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1352" -d="M688 0l96 461h-346l-98 -461h-303l239 1118h304l-93 -430h349l90 430h301l-191 -895h254l-272 -624h-303l217 401h-244z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1378" -d="M793 0l-91 -426h-303l148 672h278l68 315q-187 -86 -348 -86q-167 0 -264 85t-97 237q0 57 13 116l112 549h305l-108 -516q-10 -46 -10 -82q0 -131 153 -131q131 0 295 74l139 655h306l-310 -1462h-286z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1219" -d="M545 1118l-62 -291q-16 -68 -16 -118q0 -63 31 -95t88 -32q98 0 161.5 98.5t108.5 310.5l27 127h301l-238 -1118h-282l-84 -401h-279l152 651h243l13 55q8 45 22.5 103.5t20.5 74.5h-7q-128 -141 -292 -141q-135 0 -212 86t-77 236q0 79 29 213l51 241h301z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1937" -d="M618 0l-61 1133h-4q-10 -72 -37 -222.5t-45 -230.5l-143 -680h-275l309 1462h404l68 -1093h4l551 1093h423l-253 -1196h305l-312 -692h-346l262 426h-245l145 692q58 268 105 441h-5l-569 -1133h-281z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1714" -d="M1059 0l172 807q-28 -62 -69 -136t-83 -153l-276 -518h-232l-63 504q-24 203 -31 307l-170 -811h-284l239 1118h406l59 -477q11 -84 15.5 -156t9.5 -143q88 203 137 291l270 485h428l-188 -895h254l-273 -624h-303l217 401h-235z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1374 1937q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139 -q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1277 1599q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM510 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM912 1720q0 78 42 118t120 40 -q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM399 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM801 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1833" -d="M1593 0h-817l74 348h-426l-219 -348h-328l922 1462h1104l-54 -254h-512l-67 -321h477l-55 -254h-478l-79 -377h512zM905 608l127 600h-80l-364 -600h317z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1786" -d="M1206 -20q-109 0 -179.5 27t-117.5 87l-16 -94h-188l14 145h-6q-71 -88 -146.5 -126.5t-167.5 -38.5q-146 0 -227.5 109t-81.5 296q0 200 68.5 375.5t185 277t258.5 101.5q96 0 160.5 -38.5t114.5 -125.5h6l57 143h188l-18 -90q44 49 120.5 80t168.5 31 -q157 0 246.5 -83.5t89.5 -221.5q0 -187 -167 -288.5t-476 -101.5h-52l-2 -19v-19q0 -96 55.5 -147.5t159.5 -51.5q66 0 152 23t162 63v-227q-179 -86 -361 -86zM518 223q72 0 134 68t99 184.5t37 243.5q0 80 -33 128t-102 48q-68 0 -128 -69t-95 -185.5t-35 -241.5 -q0 -84 32.5 -130t90.5 -46zM1341 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1296 1937q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1250 1599q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1352" -d="M694 1225q-109 0 -199 -22t-173 -54v258q179 78 409 78q267 0 412 -148t145 -426q0 -257 -101.5 -478t-276.5 -337t-398 -116q-212 0 -328 98t-116 278q0 247 203 368.5t597 121.5h107q4 24 4 65q0 148 -71 231t-214 83zM514 238q139 0 244.5 90t169.5 268h-154 -q-193 0 -296 -59.5t-103 -169.5q0 -60 39 -94.5t100 -34.5z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1141" -d="M444 197q88 0 166 78.5t103 195.5h-45q-155 0 -241.5 -48.5t-86.5 -131.5q0 -94 104 -94zM608 1139q210 0 326.5 -113.5t116.5 -318.5q0 -204 -80.5 -374t-222 -261.5t-322.5 -91.5q-177 0 -276 81.5t-99 223.5q0 186 166.5 287.5t476.5 101.5h51l3 41q0 91 -51.5 143.5 -t-147.5 52.5q-87 0 -158 -19t-172 -67v228q103 49 193.5 67.5t195.5 18.5z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1352" -d="M694 1225q-109 0 -199 -22t-173 -54v258q179 78 409 78q267 0 412 -148t145 -426q0 -257 -101.5 -478t-276.5 -337t-398 -116q-212 0 -328 98t-116 278q0 247 203 368.5t597 121.5h107q4 24 4 65q0 148 -71 231t-214 83zM514 238q139 0 244.5 90t169.5 268h-154 -q-193 0 -296 -59.5t-103 -169.5q0 -60 39 -94.5t100 -34.5zM522 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM924 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1141" -d="M444 197q88 0 166 78.5t103 195.5h-45q-155 0 -241.5 -48.5t-86.5 -131.5q0 -94 104 -94zM608 1139q210 0 326.5 -113.5t116.5 -318.5q0 -204 -80.5 -374t-222 -261.5t-322.5 -91.5q-177 0 -276 81.5t-99 223.5q0 186 166.5 287.5t476.5 101.5h51l3 41q0 91 -51.5 143.5 -t-147.5 52.5q-87 0 -158 -19t-172 -67v228q103 49 193.5 67.5t195.5 18.5zM357 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM759 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 -q-135 0 -135 110z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1776" -d="M494 780l-279 682h303l266 -684l146 684h293l-146 -684l537 684h328l-582 -723l295 -739h-316l-274 719l-152 -719h-292l151 717l-555 -717h-342zM766 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM1168 1720q0 78 42 118 -t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1966" -d="M811 451h-152q-57 -223 -199.5 -347t-344.5 -124q-77 0 -135 12l47 239q53 -8 79 -8q84 0 149.5 64t101.5 175t36 240q0 96 -36 144.5t-101 48.5q-45 0 -121 -27v244q76 27 178 27q175 0 276 -114t101 -318v-27l-2 -27h166l100 465h289l-100 -465h157q57 227 203 356.5 -t348 129.5q71 0 136 -13l-52 -239q-53 8 -80 8q-125 0 -205.5 -136t-80.5 -343q0 -96 36 -144.5t101 -48.5q45 0 121 27v-244q-73 -26 -178 -26q-177 0 -277 111.5t-100 314.5v45h-172l-96 -451h-289zM796 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 -t-121 -43.5q-135 0 -135 110zM1198 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1221" -d="M1200 1143q0 -169 -109.5 -266.5t-306.5 -110.5v-4q143 -17 226.5 -101t83.5 -215q0 -224 -161 -345t-468 -121q-139 0 -242.5 18t-181.5 61v263q182 -99 399 -99q170 0 256 60.5t86 175.5q0 93 -77 136.5t-242 43.5h-141l51 242h127q383 0 383 200q0 72 -47.5 113 -t-141.5 41q-170 0 -360 -123l-109 209q143 91 268.5 126.5t276.5 35.5q123 0 222 -44t153.5 -122t54.5 -174zM442 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM844 1720q0 78 42 118t120 40q65 0 99 -28t34 -80 -q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="1073" -d="M463 688q140 0 198 29.5t58 97.5q0 46 -34 72t-120 26q-69 0 -153.5 -22.5t-161.5 -56.5l-72 219q224 86 440 86q193 0 297.5 -71t104.5 -206q0 -104 -63 -173t-197 -105v-6q190 -56 190 -226q0 -180 -143.5 -276t-409.5 -96q-101 0 -202 20t-170 55v248q176 -88 362 -88 -q258 0 258 145q0 117 -176 117h-176l45 211h125zM324 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM726 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1137" -d="M649 844q171 -19 266 -113t95 -258q0 -234 -165.5 -363.5t-459.5 -129.5q-242 0 -389 79v263q75 -42 182.5 -70.5t181.5 -28.5q160 0 249 64t89 180q0 97 -64 141.5t-194 44.5h-153l45 205l379 348h-463l55 256h858l-43 -196z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="1120" -d="M651 885h-485l49 233h854l-41 -196l-481 -449q171 -16 269.5 -118.5t98.5 -262.5q0 -175 -77.5 -309t-220.5 -206.5t-330 -72.5q-215 0 -377 80v266q70 -40 165.5 -67t174.5 -27q162 0 257 83.5t95 223.5q0 105 -68 163.5t-192 58.5h-135l45 215z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1546" -d="M422 418l764 1044h370l-309 -1462h-276q94 446 144 682t85 379l-8 2l-764 -1063h-375l309 1462h281l-147 -692q-65 -282 -84 -352h10zM698 1790h619l-45 -211h-619z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM481 1452h619l-45 -211h-619z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1546" -d="M422 418l764 1044h370l-309 -1462h-276q94 446 144 682t85 379l-8 2l-764 -1063h-375l309 1462h281l-147 -692q-65 -282 -84 -352h10zM639 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM1041 1720q0 78 42 118t120 40 -q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM411 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 -q-135 0 -135 110zM813 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM585 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM987 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM375 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM777 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM688 240q129 0 235 100.5t158 280.5h-645q-4 -28 -4 -84q0 -147 67.5 -222t188.5 -75zM872 1227q-120 0 -222 -91.5 -t-163 -256.5h633l2 51q0 139 -65 218t-185 79z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1198" -d="M1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325zM543 219q77 0 139 62t96 176h-389l-2 -29v-20q0 -91 40 -140t116 -49zM662 901q-75 0 -136.5 -61.5 -t-97.5 -171.5h383v28q0 100 -38 152.5t-111 52.5z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM688 240q129 0 235 100.5t158 280.5h-645q-4 -28 -4 -84q0 -147 67.5 -222t188.5 -75zM872 1227q-120 0 -222 -91.5 -t-163 -256.5h633l2 51q0 139 -65 218t-185 79zM585 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM987 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1198" -d="M1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118t114 -325zM543 219q77 0 139 62t96 176h-389l-2 -29v-20q0 -91 40 -140t116 -49zM662 901q-75 0 -136.5 -61.5 -t-97.5 -171.5h383v28q0 100 -38 152.5t-111 52.5zM375 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM777 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1253" -d="M389 238q169 0 278 91.5t169 280.5h-539l53 254h527l2 25v26q0 312 -258 312q-65 0 -127.5 -13.5t-194.5 -64.5l-80 246q208 90 440 90q258 0 394.5 -146.5t136.5 -418.5q0 -268 -99 -489.5t-269.5 -336t-397.5 -114.5q-121 0 -217.5 18.5t-179.5 64.5v271 -q173 -96 362 -96zM397 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="989" -d="M489 1139q195 0 302.5 -117t107.5 -332q0 -213 -72.5 -374t-210.5 -248.5t-329 -87.5q-152 0 -256 55v252q52 -25 112 -44.5t138 -19.5q113 0 183 58.5t103 181.5h-372l43 203h356l2 19v20q0 91 -43.5 140.5t-124.5 49.5q-57 0 -103.5 -16t-103.5 -43l-80 221 -q164 82 348 82zM220 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM622 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1225" -d="M242 -20q-124 0 -211 32v267q81 -39 198 -39q48 0 85 17t68.5 49.5t80.5 113.5l-285 1042h307l154 -631q23 -93 29 -151q46 110 67 149l344 633h334l-602 -1030q-132 -225 -205 -302t-159 -113.5t-205 -36.5zM539 1790h619l-45 -211h-619z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM378 1452h619l-45 -211h-619z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1225" -d="M242 -20q-124 0 -211 32v267q81 -39 198 -39q48 0 85 17t68.5 49.5t80.5 113.5l-285 1042h307l154 -631q23 -93 29 -151q46 110 67 149l344 633h334l-602 -1030q-132 -225 -205 -302t-159 -113.5t-205 -36.5zM446 1720q0 78 42.5 118t119.5 40q133 0 133 -108 -q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM848 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM302 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 -q-135 0 -135 110zM704 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1225" -d="M242 -20q-124 0 -211 32v267q81 -39 198 -39q48 0 85 17t68.5 49.5t80.5 113.5l-285 1042h307l154 -631q23 -93 29 -151q46 110 67 149l344 633h334l-602 -1030q-132 -225 -205 -302t-159 -113.5t-205 -36.5zM476 1604q114 128 231 303h305v-17q-43 -53 -152.5 -147.5 -t-205.5 -163.5h-178v25zM873 1604q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM304 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z -M701 1266q114 128 231 303h305v-17q-43 -53 -152.5 -147.5t-205.5 -163.5h-178v25z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1378" -d="M774 0l119 561q-187 -86 -348 -86q-167 0 -264 85t-97 237q0 57 13 116l112 549h305l-108 -516q-10 -46 -10 -82q0 -131 153 -131q131 0 295 74l139 655h306l-310 -1462h-305zM534 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 -q-135 0 -135 110zM936 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1219" -d="M244 1118h301l-62 -291q-16 -68 -16 -118q0 -63 31 -95t88 -32q98 0 161.5 98.5t108.5 310.5l27 127h301l-238 -1118h-301l64 303l43 180h-7q-128 -141 -292 -141q-135 0 -212 86t-77 236q0 79 29 213zM403 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 -t-121 -43.5q-135 0 -135 110zM805 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="1030" -d="M53 0l309 1462h814l-54 -254h-512l-204 -962h284l-143 -672h-303l92 426h-283z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="948" -d="M37 0l237 1118h738l-51 -248h-439l-131 -620h225l-137 -651h-278l96 401h-260z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1751" -d="M1452 0h-313l309 1462h313zM1075 492q0 -237 -158 -364.5t-456 -127.5h-408l309 1462h306l-119 -561h37q240 0 364.5 -105t124.5 -304zM412 254h69q139 0 212 58.5t73 164.5q0 170 -193 170h-77zM735 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 -t-121 -43.5q-135 0 -135 110zM1137 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1645" -d="M565 1118l-98 -454q98 22 203 22q139 0 226 -82t87 -215q0 -121 -57.5 -213t-167.5 -144t-262 -52q-390 0 -390 325q0 87 23 189l135 624h301zM557 475q-57 0 -131 -18q-15 -67 -17.5 -93.5t-2.5 -50.5q0 -61 31 -92t83 -31q73 0 117.5 46.5t44.5 119.5q0 119 -125 119z -M1372 0h-301l238 1118h301zM604 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM1006 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="1030" -d="M236 -496q-105 0 -177 27v240q55 -21 115 -21q67 0 105.5 41.5t56.5 128.5l16 80h-299l127 596h-151l55 254h149l129 612h814l-54 -254h-512l-75 -358h309l-56 -254h-309l-61 -293h297l-88 -428q-39 -190 -132.5 -280.5t-258.5 -90.5z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="948" -d="M219 -496q-104 0 -176 27v240q55 -21 115 -21q67 0 105 42t56 128l17 80h-299l90 418h-139l49 235h139l98 465h740l-53 -248h-439l-47 -217h262l-49 -235h-262l-33 -156h295l-78 -387q-39 -193 -133 -282t-258 -89z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1415" -d="M831 -496q-104 0 -176 27v240q55 -21 115 -21q67 0 105.5 41.5t56.5 128.5l16 80h-155l-172 543l-396 -543h-342l576 764l-238 698h320l153 -518l363 518h344l-545 -725l158 -434h297l-88 -428q-39 -191 -133.5 -281t-258.5 -90z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="1227" -d="M676 -496q-104 0 -176 27v240q55 -21 114 -21q67 0 105.5 41.5t56.5 128.5l17 80h-154l-125 342l-264 -342h-350l479 573l-225 545h321l115 -334l244 334h354l-467 -561l129 -295h295l-78 -387q-39 -193 -133 -282t-258 -89z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1241" -d="M897 618l227 -618h-331l-172 543l-396 -543h-342l467 618h-229l53 254h250l-203 590h320l153 -518l363 518h344l-447 -590h246l-53 -254h-250z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="1087" -d="M279 451h-191l49 229h199l-182 438h321l115 -334l244 334h354l-367 -438h199l-49 -229h-205l199 -451h-326l-125 342l-264 -342h-350z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1188" -d="M61 414q0 229 162.5 358t450.5 129h102l117 561h305l-309 -1462h-340q-238 0 -363 106.5t-125 307.5zM721 647h-76q-133 0 -204.5 -55.5t-71.5 -167.5q0 -87 51.5 -128.5t142.5 -41.5h74z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" -d="M406 -20q-147 0 -231.5 107t-84.5 300q0 196 71.5 374.5t188.5 278t258 99.5q82 0 141.5 -37t112.5 -127h8l2 28q6 110 25 195l76 358h301l-330 -1556h-229l14 145h-4q-71 -87 -148.5 -126t-170.5 -39zM532 223q66 0 128.5 68.5t100.5 182.5t38 245q0 80 -37.5 128 -t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -176 137 -176z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1769" -d="M1657 848l-98 -467q-46 -208 -163 -304.5t-319 -96.5q-99 0 -183 33.5t-124 95.5q-91 -75 -163.5 -101t-160.5 -26q-180 0 -282.5 99t-102.5 273q0 165 76.5 290t217.5 191t325 66h96l119 561h303l-221 -1044q-8 -35 -8 -66q0 -57 31.5 -86.5t86.5 -29.5q70 0 112 51 -t65 164l84 397h309zM721 647h-53q-142 0 -221.5 -69.5t-79.5 -194.5q0 -75 37.5 -111t97.5 -36q131 0 166 157z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1792" -d="M809 150q-139 -170 -346 -170q-186 0 -279.5 109.5t-93.5 309.5q0 190 69.5 370t184 275t252.5 95q170 0 266 -164h8q0 24 3.5 61.5t10 83t89.5 436.5h301l-240 -1130q-10 -50 -10 -86q0 -56 32 -86.5t83 -30.5q75 0 114 49.5t66 178.5l53 249h305l-67 -319 -q-45 -208 -156.5 -304.5t-300.5 -96.5q-115 0 -201.5 43t-130.5 127h-12zM537 223q73 0 132.5 67.5t94.5 186t35 242.5q0 80 -33.5 128t-106.5 48q-69 0 -129 -65t-97.5 -183.5t-37.5 -247.5q0 -88 38 -132t104 -44z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1761" -d="M1092 1139q0 -144 -91.5 -247t-259.5 -144v-5q110 -29 168 -92.5t58 -173.5l-4 -125q0 -116 122 -116q66 0 106 48t64 167l84 397h310l-99 -467q-44 -208 -160.5 -304.5t-326.5 -96.5q-193 0 -296 87t-103 248q0 38 5 76.5t5 83.5q0 79 -54.5 121.5t-162.5 42.5h-230 -l47 219h158q164 0 253 59.5t89 174.5q0 63 -40.5 102t-119.5 39q-140 0 -303 -105l-114 211q209 144 483 144q187 0 299.5 -96t112.5 -248z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1671" -d="M903 371v-41q0 -54 32.5 -80.5t82.5 -26.5q73 0 111.5 45t60.5 150l61 282h305l-67 -319q-43 -204 -157.5 -302.5t-321.5 -98.5q-189 0 -292.5 81t-103.5 228v41q0 79 -46 113t-171 34h-145l45 211h131q144 0 200 29t56 98q0 54 -36.5 76t-117.5 22q-70 0 -158.5 -23 -t-162.5 -56l-72 219q222 86 434 86q193 0 297.5 -71t104.5 -206q0 -106 -61.5 -174t-192.5 -104v-6q184 -34 184 -207z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1346" -d="M580 0l79 365q17 63 17 108q0 168 -219 168h-230l52 240h127q382 0 382 200q0 72 -47 113t-141 41q-170 0 -360 -123l-109 209q143 91 268.5 126.5t276.5 35.5q123 0 222 -44t153.5 -122t54.5 -174q0 -169 -109.5 -266.5t-306.5 -110.5v-4q136 -14 214.5 -87t78.5 -192 -q0 -30 -5 -69.5t-32 -167.5h283l-144 -672h-303l92 426h-294z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="1235" -d="M588 0l55 250q14 68 14 96q0 72 -47 101.5t-141 29.5h-176l45 211h125q140 0 198 29.5t58 97.5q0 46 -34 72t-120 26q-69 0 -153.5 -22.5t-161.5 -56.5l-72 219q224 86 440 86q193 0 297.5 -71t104.5 -206q0 -109 -64 -177t-196 -101v-6q184 -51 184 -203q0 -37 -18 -125 -h225l-137 -651h-279l96 401h-243z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="2005" -d="M1434 1462l-215 -1018q-15 -60 -15 -94q0 -51 30 -82.5t89 -31.5q69 0 111 51t65 164l84 397h309l-98 -467q-43 -206 -160 -303.5t-321 -97.5q-197 0 -305.5 88.5t-108.5 248.5q0 62 25 175l151 712h-272q-79 -320 -161 -577t-155.5 -393.5t-164 -195t-240.5 -58.5 -q-80 0 -143 24v254q53 -20 100 -20q65 0 107 31.5t82 101.5t92.5 217.5t117 371.5t135.5 502h861z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1835" -d="M1067 340q0 -56 32 -86.5t83 -30.5q75 0 114 49.5t66 178.5l53 249h305l-67 -319q-45 -207 -160.5 -304t-321.5 -97q-196 0 -301.5 87.5t-105.5 245.5q0 54 12 113l98 459q-40 8 -63 8q-67 0 -112 -31.5t-82 -101t-109 -283.5q-35 -103 -68.5 -193.5t-79 -158 -t-110 -106.5t-160.5 -39q-89 0 -149 24v248q37 -16 84 -16q50 0 89.5 52.5t77.5 163.5q102 303 158 408t122.5 163.5t162.5 87t233 28.5q87 0 182 -15.5t164 -42.5l-137 -655q-10 -50 -10 -86z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="2015" -d="M1444 1462l-215 -1018q-15 -60 -15 -94q0 -51 30 -82.5t89 -31.5q69 0 111 51t65 164l84 397h310l-99 -467q-43 -206 -160 -303.5t-321 -97.5q-192 0 -301 90t-109 254q0 45 8.5 98.5t41.5 208.5h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1839" -d="M580 1118l-93 -430h349l90 430h301l-146 -682q-10 -52 -10 -90q0 -54 33.5 -82t87.5 -28q67 0 107.5 48t66.5 167l53 249h305l-67 -319q-45 -207 -160.5 -304t-320.5 -97q-194 0 -301 87t-107 246q0 54 12 113l6 35h-348l-98 -461h-303l239 1118h304z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1507" -d="M754 821h688l-35 -182q-68 -350 -236 -504.5t-473 -154.5q-273 0 -424 152t-151 423q0 262 108 479t299.5 334t442.5 117q238 0 416 -99l-115 -251q-101 54 -172.5 71t-145.5 17q-148 0 -266.5 -84.5t-187 -239.5t-68.5 -338q0 -323 283 -323q137 0 225 82.5t121 242.5 -h-365z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1292" -d="M639 662h567l-32 -158q-56 -267 -202.5 -395.5t-404.5 -128.5q-225 0 -351 115.5t-126 328.5q0 211 82.5 374.5t235.5 252t358 88.5q109 0 206 -25t165 -63l-109 -230q-130 72 -268 72q-167 0 -267 -127.5t-100 -339.5q0 -97 52 -151t143 -54q105 0 172.5 53.5 -t91.5 159.5h-260z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1450" -d="M168 1204l55 258h1022l-55 -258h-367l-159 -760q-15 -60 -15 -94q0 -51 30 -82.5t89 -31.5q69 0 111 51t65 164l84 397h309l-98 -467q-43 -206 -160 -303.5t-321 -97.5q-197 0 -305.5 88.5t-108.5 248.5q0 62 25 175l153 712h-354z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1378" -d="M610 340q0 -56 32 -86.5t83 -30.5q75 0 114 49.5t66 178.5l53 249h306l-68 -319q-43 -206 -160 -303.5t-321 -97.5q-193 0 -299.5 88.5t-106.5 250.5q0 69 27 185l84 385h-326l47 229h957l-49 -229h-332l-96 -463q-11 -55 -11 -86z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1208" -d="M803 1483q127 0 237 -31t236 -111l-141 -225q-65 47 -153.5 79t-190.5 32q-106 0 -167 -47t-61 -125q0 -91 71 -132.5t218 -41.5h139l-51 -242h-123q-227 0 -328.5 -58.5t-101.5 -172.5q0 -92 68.5 -131t191.5 -39q93 0 197.5 26.5t183.5 69.5v-268q-186 -86 -450 -86 -q-238 0 -374 100t-136 278q0 176 108 277t328 133v4q-242 72 -242 299q0 193 150 302.5t391 109.5z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="1051" -d="M762 477h-148q-120 0 -189 -38.5t-69 -106.5q0 -56 45 -86.5t131 -30.5q92 0 175.5 20.5t177.5 69.5v-246q-160 -79 -402 -79q-206 0 -325 77.5t-119 216.5q0 259 328 312v6q-80 31 -123 87.5t-43 127.5q0 158 123 245t344 87q245 0 403 -86l-92 -222q-92 46 -161.5 64 -t-141.5 18q-97 0 -149 -32t-52 -93q0 -52 48.5 -76t148.5 -24h135z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1589" -d="M1434 1462l-248 -1159h299l-88 -428q-39 -190 -132.5 -280.5t-258.5 -90.5q-105 0 -177 27v240q55 -21 115 -21q67 0 105.5 41.5t56.5 128.5l16 80h-303l256 1204h-272q-79 -320 -161 -577t-155.5 -393.5t-164 -195t-240.5 -58.5q-80 0 -143 24v254q53 -20 100 -20 -q65 0 107 31.5t82 101.5t92.5 217.5t117 371.5t135.5 502h861z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1419" -d="M1042 262h295l-77 -387q-39 -191 -133.5 -281t-258.5 -90q-104 0 -176 27v240q55 -21 115 -21q67 0 105.5 41.5t56.5 128.5l16 80h-299l188 885q-40 8 -63 8q-67 0 -112 -31.5t-82 -101t-109 -283.5q-35 -103 -68.5 -193.5t-79 -158t-110 -106.5t-160.5 -39 -q-89 0 -149 24v248q37 -16 84 -16q50 0 89.5 52.5t77.5 163.5q102 303 158 408t122.5 163.5t162.5 87t233 28.5q87 0 182 -15.5t164 -42.5z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM749 -360q0 -107 -70 -173.5t-184 -66.5q-112 0 -179.5 64.5t-67.5 173.5q0 108 67.5 172.5t179.5 64.5q110 0 182 -65t72 -170z -M592 -362q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM721 -360q0 -107 -70 -173.5t-184 -66.5q-112 0 -179.5 64.5t-67.5 173.5q0 108 67.5 172.5t179.5 64.5q110 0 182 -65t72 -170zM564 -362q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26 -t27.5 71z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1802" -d="M838 369l551 1093h423l-309 -1462h-280l145 692q53 247 105 441h-5l-569 -1133h-281l-61 1133h-4q-11 -88 -38 -231t-187 -902h-275l309 1462h404l68 -1093h4zM927 1606q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1853" -d="M844 1139q219 0 262 -228h6q68 110 160.5 169t197.5 59q136 0 207.5 -85t71.5 -237q0 -76 -23 -180l-133 -637h-301l138 653q16 68 16 119q0 123 -98 123q-92 0 -166.5 -112t-118.5 -318l-96 -465h-301l137 653q16 68 16 119q0 123 -98 123q-92 0 -167 -114t-118 -318 -l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228zM944 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1831" -d="M1006 1018q-46 -146 -115 -299l-324 -719h-338l-45 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4zM1227 1579h-184 -q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1614" -d="M856 860q-62 -178 -123 -319l-233 -541h-324l-51 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6zM1049 1241h-184q-71 69 -138.5 153.5 -t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1831" -d="M1006 1018q-46 -146 -115 -299l-324 -719h-338l-45 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4zM954 1604q79 88 222 303h335 -v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1614" -d="M856 860q-62 -178 -123 -319l-233 -541h-324l-51 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6zM798 1266q79 88 222 303h335v-17 -q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1831" -d="M1006 1018q-46 -146 -115 -299l-324 -719h-338l-45 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4zM778 1720q0 78 42.5 118 -t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM1180 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1614" -d="M856 860q-62 -178 -123 -319l-233 -541h-324l-51 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6zM585 1382q0 78 42.5 118t119.5 40 -q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM987 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM331 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM315 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1133 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164 -q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1034 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1024 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM1153 1774v18 -q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5h-156z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM897 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM1026 1436v18q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5h-156z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1024 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM435 1776 -q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM919 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM330 1438q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1465 1978q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5 -t45.5 -104.5zM1024 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1356 1640q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5t45.5 -104.5zM915 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221 -h318q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM758 1985q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5 -t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8t-86.5 35q-61 29 -81.5 34t-43.5 5zM1024 1579q-120 96 -161 137l-209 -137h-203v23l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM645 1647q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8t-86.5 35q-61 29 -81.5 34t-43.5 5z -M911 1241q-120 96 -161 137l-209 -137h-203v23l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1235 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z -M331 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1113 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25zM315 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49 -q-152 0 -152 123z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1233 1917q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150z -M757 1839v19q63 63 164 209h217v-11q-25 -30 -105 -99.5t-151 -117.5h-125z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1149 1579q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150zM673 1501v19q63 63 164 209h217v-11q-25 -30 -105 -99.5t-151 -117.5h-125z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1244 1917q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150z -M857 1839q-126 115 -179 213v15h211q28 -106 84 -211v-17h-116z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1147 1579q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150zM760 1501q-126 115 -179 213v15h211q28 -106 84 -211v-17h-116z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1233 1917q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150z -M1030 2011q0 -54 -33.5 -91.5t-101.5 -51.5l-13 -43h-104l12 110q54 8 79.5 23.5t25.5 46.5q0 29 -45 29q-42 0 -74 -13v101q42 14 102 14q72 0 112 -34.5t40 -90.5z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1145 1579q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150zM942 1673q0 -54 -33.5 -91.5t-101.5 -51.5l-13 -43h-104l12 110q54 8 79.5 23.5t25.5 46.5 -q0 29 -45 29q-42 0 -74 -13v101q42 14 102 14q72 0 112 -34.5t40 -90.5z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1224 1876q-34 -144 -136 -220.5t-257 -76.5q-146 0 -227.5 65t-81.5 183q0 27 4 49h143l-1 -13q0 -116 178 -116q88 0 142 28t89 101 -h147zM757 1999q-62 0 -83 -76h-134q22 112 80.5 166.5t139.5 54.5q53 0 95 -14t92 -40q56 -30 93 -30q35 0 54.5 23t31.5 63h129q-53 -223 -221 -223q-41 0 -72 8.5t-84 34.5q-37 19 -61 26t-60 7z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1130 1538q-34 -144 -136 -220.5t-257 -76.5q-146 0 -227.5 65t-81.5 183q0 27 4 49h143l-1 -13q0 -116 178 -116q88 0 142 28t89 101h147zM663 1661q-62 0 -83 -76h-134q22 112 80.5 166.5t139.5 54.5q53 0 95 -14t92 -40 -q56 -30 93 -30q35 0 54.5 23t31.5 63h129q-53 -223 -221 -223q-41 0 -72 8.5t-84 34.5q-37 19 -61 26t-60 7z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1286" -d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1239 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z -M331 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" -d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 -t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1153 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189zM315 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49 -q-152 0 -152 123z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM258 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM282 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1063 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1004 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM944 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172 -q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM874 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM970 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM1099 1774v18q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5 -h-156z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM884 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM1013 1436v18q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5h-156z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM970 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM381 1776q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z -" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM884 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM295 1438q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1411 1978q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5t45.5 -104.5zM970 1579q-75 66 -153 158 -q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1325 1640q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5t45.5 -104.5zM884 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318 -q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM704 1985q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8 -t-86.5 35q-61 29 -81.5 34t-43.5 5zM970 1579q-120 96 -161 137l-209 -137h-203v23l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM618 1647q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8t-86.5 35q-61 29 -81.5 34t-43.5 5z -M884 1241q-120 96 -161 137l-209 -137h-203v23l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1110" -d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1177 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25zM258 -307q0 86 48 131t135 45q70 0 109.5 -30.5 -t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1141" -d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 -q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1094 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25zM282 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49 -q-152 0 -152 123z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM827 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="608" -d="M338 0h-301l237 1118h301zM744 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="659" -d="M53 0l312 1462h305l-312 -1462h-305zM-15 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="608" -d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM338 0h-301l237 1118h301zM-33 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM434 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM307 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1233 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM1000 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1101 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM1230 1774v18q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5h-156z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM899 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM1028 1436v18q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5h-156z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1101 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM512 1776q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM899 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM310 1438q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1542 1978q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5t45.5 -104.5zM1101 1579q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318 -q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM1340 1640q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5t45.5 -104.5zM899 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM835 1985q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8t-86.5 35q-61 29 -81.5 34t-43.5 5zM1101 1579 -q-120 96 -161 137l-209 -137h-203v23l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM633 1647q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8t-86.5 35q-61 29 -81.5 34t-43.5 5zM899 1241q-120 96 -161 137l-209 -137h-203 -v23l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1495" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM1308 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25zM434 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1198" -d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 -t114 -325zM1109 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25zM307 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1581" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q306 0 444 -207q112 74 144 278h303l10 -24q-47 -159 -140.5 -263.5t-244.5 -162.5q19 -84 19 -168zM872 1227q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5zM753 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1317" -d="M684 1139q219 0 334 -146q68 27 110 96t64 197h295l10 -24q-48 -180 -140.5 -278.5t-262.5 -158.5q14 -51 14 -129q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5zM805 696q0 197 -143 197 -q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM555 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1581" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q306 0 444 -207q112 74 144 278h303l10 -24q-47 -159 -140.5 -263.5t-244.5 -162.5q19 -84 19 -168zM872 1227q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5zM1053 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1317" -d="M684 1139q219 0 334 -146q68 27 110 96t64 197h295l10 -24q-48 -180 -140.5 -278.5t-262.5 -158.5q14 -51 14 -129q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5zM805 696q0 197 -143 197 -q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM837 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1581" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q306 0 444 -207q112 74 144 278h303l10 -24q-47 -159 -140.5 -263.5t-244.5 -162.5q19 -84 19 -168zM872 1227q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5zM1233 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1317" -d="M684 1139q219 0 334 -146q68 27 110 96t64 197h295l10 -24q-48 -180 -140.5 -278.5t-262.5 -158.5q14 -51 14 -129q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5zM805 696q0 197 -143 197 -q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1000 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1581" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q306 0 444 -207q112 74 144 278h303l10 -24q-47 -159 -140.5 -263.5t-244.5 -162.5q19 -84 19 -168zM872 1227q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5zM1071 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5 -t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1317" -d="M684 1139q219 0 334 -146q68 27 110 96t64 197h295l10 -24q-48 -180 -140.5 -278.5t-262.5 -158.5q14 -51 14 -129q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5zM805 696q0 197 -143 197 -q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM855 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5 -h172q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1581" -d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q306 0 444 -207q112 74 144 278h303l10 -24q-47 -159 -140.5 -263.5t-244.5 -162.5q19 -84 19 -168zM872 1227q-121 0 -222 -91.5t-158.5 -251.5 -t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357q0 142 -65 219.5t-183 77.5zM434 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1317" -d="M684 1139q219 0 334 -146q68 27 110 96t64 197h295l10 -24q-48 -180 -140.5 -278.5t-262.5 -158.5q14 -51 14 -129q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5zM805 696q0 197 -143 197 -q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM307 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM403 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5 -q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM325 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129 -t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1415" -d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1202 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5 -t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1237" -d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM1038 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5 -q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1587" -d="M1434 1462l-39 -184q76 24 118 86.5t62 191.5h303l10 -24q-60 -204 -197 -316.5t-337 -125.5l-121 -574q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5 -l194 917h306zM757 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1456" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-24 -112q51 13 85 44t55.5 79.5t41.5 154.5h303l10 -24q-58 -201 -194 -314t-340 -129l-174 -817h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213 -l127 604h301zM596 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1587" -d="M1434 1462l-39 -184q76 24 118 86.5t62 191.5h303l10 -24q-60 -204 -197 -316.5t-337 -125.5l-121 -574q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5 -l194 917h306zM1002 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1456" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-24 -112q51 13 85 44t55.5 79.5t41.5 154.5h303l10 -24q-58 -201 -194 -314t-340 -129l-174 -817h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213 -l127 604h301zM845 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1587" -d="M1434 1462l-39 -184q76 24 118 86.5t62 191.5h303l10 -24q-60 -204 -197 -316.5t-337 -125.5l-121 -574q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5 -l194 917h306zM1202 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1456" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-24 -112q51 13 85 44t55.5 79.5t41.5 154.5h303l10 -24q-58 -201 -194 -314t-340 -129l-174 -817h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213 -l127 604h301zM1038 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1587" -d="M1434 1462l-39 -184q76 24 118 86.5t62 191.5h303l10 -24q-60 -204 -197 -316.5t-337 -125.5l-121 -574q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5 -l194 917h306zM1061 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1456" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-24 -112q51 13 85 44t55.5 79.5t41.5 154.5h303l10 -24q-58 -201 -194 -314t-340 -129l-174 -817h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213 -l127 604h301zM915 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1587" -d="M1434 1462l-39 -184q76 24 118 86.5t62 191.5h303l10 -24q-60 -204 -197 -316.5t-337 -125.5l-121 -574q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5 -l194 917h306zM403 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1456" -d="M563 1118l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-24 -112q51 13 85 44t55.5 79.5t41.5 154.5h303l10 -24q-58 -201 -194 -314t-340 -129l-174 -817h-230l21 207h-6q-145 -227 -355 -227q-137 0 -213 82.5t-76 238.5q0 68 29 213 -l127 604h301zM325 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM865 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM755 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM237 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM579 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49 -q-152 0 -152 123z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM1024 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM922 1516q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5 -q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1155" -d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM907 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172 -q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="1063" -d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM791 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79 -h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1595" -d="M1532 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM972 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 -q0 142 -65 219.5t-183 77.5zM38 1163q61 121 143 301h262v-20q-120 -171 -252 -307h-153v26zM-274 1245q0 94 75 152t237 84v-74q-69 -17 -108.5 -37.5t-39.5 -58.5q0 -14 9 -20.5t24 -14.5q22 -11 35.5 -24t13.5 -42q0 -38 -28 -60t-82 -22q-57 0 -96.5 30t-39.5 87z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="584" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="983" -d="M41 436l49 230h852l-49 -230h-852z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1966" -d="M41 436l49 230h1835l-49 -230h-1835z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="1966" -d="M41 436l49 230h1835l-49 -230h-1835z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="819" -d="M664 -185h-821l30 140h822zM609 -462h-821l30 140h822z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="440" -d="M123 961l-8 22q103 227 262 479h225q-91 -213 -194 -501h-285z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="440" -d="M586 1462l8 -22q-103 -227 -262 -479h-226q89 206 195 501h285z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="569" -d="M377 238l8 -23q-103 -227 -262 -479h-225q88 207 194 502h285z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="440" -d="M504 1462q-4 -104 -4 -208q0 -151 10 -293h-209q-67 269 -78 479l13 22h268z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="887" -d="M569 961l-8 22q103 227 262 479h226q-97 -227 -195 -501h-285zM123 961l-8 22q103 227 262 479h225q-91 -213 -194 -501h-285z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="887" -d="M586 1462l8 -22q-103 -227 -262 -479h-226q89 206 195 501h285zM1032 1462l8 -22q-103 -227 -262 -479h-225q23 53 46.5 111t148.5 390h284z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="1018" -d="M377 238l8 -23q-103 -227 -262 -479h-225q88 207 194 502h285zM825 238l9 -23q-100 -221 -263 -479h-225q24 57 49 118.5t146 383.5h284z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1036" -d="M985 928l-311 30l-152 -958h-282l256 956l-306 -28l52 241l295 -28l34 415h283l-141 -415l323 28z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1057" -d="M600 559l324 29l-52 -242l-311 29l-26 -375h-285l133 375l-324 -29l52 242l311 -29l4 227l90 211l-323 -28l51 241l311 -28l27 374h284l-133 -374l324 28l-51 -241l-312 28v-211z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="739" -d="M104 686q0 106 42.5 194t120 136.5t182.5 48.5q120 0 182.5 -67t62.5 -191q0 -177 -91.5 -277t-248.5 -100q-117 0 -183.5 67t-66.5 189z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1706" -d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM586 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM1147 115q0 90 53.5 144t150.5 54q68 0 109 -38 -t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2494" -d="M518 1274q-63 0 -110.5 -128.5t-47.5 -277.5q0 -96 56 -96q65 0 112 131t47 275q0 96 -57 96zM821 1165q0 -166 -56 -310t-151 -217t-217 -73q-139 0 -210.5 83.5t-71.5 236.5q0 169 55.5 311.5t148.5 214.5t216 72q137 0 211.5 -80t74.5 -238zM1554 1462l-1083 -1462 -h-240l1088 1462h235zM2118 690q-39 0 -75.5 -56t-59.5 -156t-23 -193q0 -97 55 -97q66 0 113 131t47 275q0 96 -57 96zM2421 590q0 -167 -55.5 -314t-149 -220.5t-213.5 -73.5q-144 0 -216.5 78.5t-72.5 222.5q0 178 53 322.5t148 219t219 74.5q137 0 212 -78.5t75 -230.5z -M1376 690q-39 0 -75 -56t-59 -154t-23 -195t55 -97q41 0 77 55t59.5 154.5t23.5 196.5q0 96 -58 96zM1679 590q0 -167 -54 -313.5t-148 -220.5t-215 -74q-144 0 -216.5 78.5t-72.5 222.5q0 177 53 322.5t148 219.5t219 74q137 0 211.5 -78.5t74.5 -230.5z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="522" -d="M549 1462l-152 -528h-196l71 528h277z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="928" -d="M549 1462l-152 -528h-196l71 528h277zM954 1462l-151 -528h-199l74 528h276z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="664" -d="M72 569l401 463l191 -155l-279 -334l135 -350l-246 -103l-202 461v18z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="664" -d="M592 535l-402 -463l-190 155l279 334l-136 350l246 103l203 -461v-18z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="1149" -d="M391 485h-241l157 977h340zM25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM954 485h-241l157 977h340zM588 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5 -t-41 104.5z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="256" -d="M791 1462l-1084 -1462h-239l1087 1462h236z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="776" -d="M502 1274q-63 0 -110.5 -128.5t-47.5 -277.5q0 -96 55 -96q66 0 113 131t47 275q0 96 -57 96zM805 1174q0 -177 -52.5 -316.5t-149 -216t-222.5 -76.5q-130 0 -206.5 79.5t-76.5 221.5q0 183 52.5 327t146 217t221.5 73q137 0 212 -79t75 -230z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="776" -d="M776 737h-119l-32 -151h-238l33 151h-373l31 174l475 557h260l-121 -563h119zM455 905l58 231l22 74q-13 -20 -43 -58t-211 -247h174z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="776" -d="M489 1151q113 0 184.5 -66.5t71.5 -173.5q0 -155 -109 -248.5t-288 -93.5q-161 0 -254 54v182q51 -31 113 -48.5t119 -17.5q89 0 138.5 39t49.5 109q0 110 -131 110q-63 0 -133 -20l-76 67l119 418h528l-41 -184h-354l-43 -139q36 12 106 12z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="776" -d="M332 1069q80 88 196 88q105 0 165.5 -62t60.5 -171q0 -155 -99 -255t-260 -100q-154 0 -229.5 86t-75.5 238q0 173 69 309.5t192.5 207.5t293.5 71q36 0 87 -7t71 -14l-43 -182q-57 22 -144 22q-109 0 -184 -59.5t-106 -171.5h6zM399 741q61 0 98.5 45.5t37.5 116.5 -q0 48 -25.5 75.5t-67.5 27.5q-61 0 -97 -38.5t-36 -111.5q0 -49 23.5 -82t66.5 -33z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="776" -d="M123 586l463 692h-406l39 184h658l-31 -149l-465 -727h-258z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="776" -d="M516 1483q139 0 215 -56t76 -153q0 -88 -50 -140.5t-139 -84.5q65 -36 104.5 -85t39.5 -122q0 -131 -99 -204t-270 -73q-142 0 -226.5 64.5t-84.5 169.5q0 94 60 154t169 98q-51 35 -79.5 78.5t-28.5 105.5q0 110 88 179t225 69zM440 952q-127 -44 -127 -137 -q0 -42 26.5 -67t70.5 -25q52 0 82 31.5t30 74.5q0 44 -21.5 72t-60.5 51zM514 1325q-35 0 -59.5 -25t-24.5 -65q0 -56 64 -98q94 41 94 116q0 34 -21 53t-53 19z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="776" -d="M791 1169q0 -182 -67 -319t-192.5 -209t-295.5 -72q-89 0 -146 19v186q28 -11 74 -17.5t78 -6.5q122 0 199.5 55t115.5 178q-90 -90 -205 -90q-104 0 -164.5 61.5t-60.5 171.5q0 157 99 256t259 99q147 0 226.5 -80.5t79.5 -231.5zM481 1309q-58 0 -95.5 -44.5 -t-37.5 -113.5q0 -48 25 -75t67 -27q60 0 96.5 37.5t36.5 113.5q0 48 -22 78.5t-70 30.5z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="793" -d="M551 764l84 401q8 32 8 66q0 74 -65 74q-60 0 -106 -69.5t-73 -193.5l-61 -278h-205l148 698h170l-17 -121q100 138 225 138q97 0 147 -55.5t50 -149.5q0 -45 -8 -80l-88 -430h-209z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" horiz-adv-x="1128" -d="M479 440h264l-36 -178h-265l-53 -262h-301l55 262h-143l37 178h143l217 1022h813l-53 -254h-512l-72 -336h478l-56 -254h-477z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" horiz-adv-x="1128" -d="M371 950l26 131q41 198 162.5 301t312.5 103q195 0 369 -86l-113 -232q-141 68 -237 68q-72 0 -121.5 -38.5t-69.5 -133.5l-24 -113h299l-39 -176h-297l-25 -115h297l-37 -178h-299q-43 -152 -196 -221h657l-55 -260h-993l49 246q101 33 155.5 88t79.5 147h-192l37 178 -h192l25 115h-193l39 176h191z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1753" -d="M508 774h51q141 0 220 73.5t79 205.5q0 75 -48 115t-142 40h-68zM1155 1059q0 -254 -164.5 -396.5t-453.5 -142.5h-82l-111 -520h-287l312 1462h317q224 0 346.5 -106t122.5 -297zM1454 203q38 0 70 11t75 30v-211q-104 -53 -227 -53q-130 0 -203 63.5t-73 179.5 -q0 47 18 133l62 281h-111l22 106l156 115l123 225h172l-51 -237h242l-46 -209h-241l-66 -307q-6 -26 -6 -51q0 -36 23 -56t61 -20z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" -d="M596 1077q88 0 150.5 -34.5t107.5 -114.5h8q0 27 5.5 81t29.5 187h-295l41 199h295l35 161h301l-35 -161h154l-41 -199h-156l-252 -1196h-229l14 145h-4q-77 -90 -150.5 -127.5t-158.5 -37.5q-152 0 -239 106t-87 301q0 181 70 348t183 254.5t253 87.5zM537 223 -q68 0 126 59.5t96 171.5t38 220q0 72 -32.5 116t-105.5 44q-71 0 -132 -61t-96.5 -162t-35.5 -212q0 -88 38 -132t104 -44zM875 -324h-821l30 140h822z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="1128" -d="M899 1237q-97 0 -176 -74.5t-135 -212.5h348l-39 -176h-360q-11 -34 -25 -115h299l-37 -178h-280q0 -120 44.5 -181.5t147.5 -61.5q133 0 283 63v-258q-126 -63 -330 -63q-446 0 -446 501h-152l37 178h127q9 67 22 115h-125l39 176h135q87 252 250.5 393.5t374.5 141.5 -q100 0 179 -23t165 -80l-125 -223q-87 49 -131 63.5t-90 14.5z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1567" -d="M426 752q-128 0 -200 73.5t-72 198.5q0 199 101 327t269 128q109 0 207 -41l-55 -158q-85 35 -144 35q-50 0 -88.5 -40t-60 -105t-21.5 -130q0 -60 27 -92.5t78 -32.5q33 0 63.5 8t94.5 40v-162q-96 -49 -199 -49zM1446 1462l-1084 -1462h-239l1087 1462h236zM1468 422 -q0 -200 -101 -321t-275 -121q-125 0 -198 73.5t-73 202.5q0 203 102 327t275 124q127 0 198.5 -75.5t71.5 -209.5zM1182 543q-43 0 -77.5 -40.5t-54.5 -111t-20 -137.5q0 -54 21 -82.5t59 -28.5q63 0 105 85.5t42 207.5q0 107 -75 107z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1024" -d="M623 190q51 0 83 49.5t37 151.5h207q-11 -220 -98 -314.5t-262 -94.5q-173 0 -270 103.5t-97 299.5v127q-114 -33 -182 -49v196q98 26 182 54v411q0 181 87.5 269t277.5 88q154 0 243 -86.5t89 -237.5q0 -117 -39 -207t-119 -162t-246 -157v-256q0 -185 107 -185z -M657 1151q0 139 -69 139q-42 0 -57 -38t-15 -101v-305q141 79 141 305z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="2005" -d="M1055 0h-301l-254 1038h-4q-6 -48 -29 -187.5t-41 -221.5l-133 -629h-268l309 1462h301l256 -1044h2q23 197 68 407l135 637h268zM1204 0l39 188h590l-39 -188h-590zM1944 715q0 -121 -46.5 -223.5t-131 -160t-199.5 -57.5q-128 0 -199.5 72t-71.5 199q0 131 49.5 239 -t134 162.5t195.5 54.5q122 0 195.5 -76.5t73.5 -209.5zM1737 733q0 45 -18 75t-56 30q-43 0 -78 -39.5t-57.5 -114.5t-22.5 -147q0 -99 74 -99q42 0 77 37.5t58 114t23 143.5z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1505" -d="M612 946q0 -100 -69.5 -156.5t-186.5 -56.5q-110 0 -198 43v144q115 -54 202 -54q45 0 69 19.5t24 54.5q0 27 -18 46.5t-55 36.5l-50 26q-98 49 -133 99.5t-35 117.5q0 93 64 150t177 57q95 0 207 -52l-51 -125q-56 27 -86 35t-70 8q-81 0 -81 -67q0 -32 23 -55t93 -56 -q103 -50 138.5 -97t35.5 -118zM1004 741l-166 529h-7l5 -111v-418h-164v721h248l159 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-141z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1534" -d="M471 741h-168v572h-197v149h564v-149h-199v-572zM1047 741l-166 529h-7l5 -111v-418h-164v721h248l159 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-141z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1483" -d="M852 1227q-111 0 -199.5 -63t-144 -187.5t-55.5 -265.5q0 -153 38 -256.5t117 -178.5l-59 -276h-610l53 260h373q-101 63 -160.5 185.5t-59.5 273.5q0 223 93 401.5t257 271.5t379 93q256 0 401.5 -138t145.5 -382q0 -246 -108 -426.5t-309 -278.5h364l-55 -260h-649 -l59 276q387 227 387 652q0 145 -67 222t-191 77z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M639 -35q-157 0 -278 73.5t-186.5 204t-65.5 287.5q0 161 63.5 288.5t188.5 202.5t278 75q152 0 273.5 -71t189 -200.5t67.5 -294.5h-827v-356q49 -53 132 -88t165 -35q132 0 222.5 52t172.5 182l72 -41q-98 -155 -206.5 -217t-260.5 -62zM938 616v277q-50 53 -131.5 86 -t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1804" -d="M1384 894q139 0 215 -56t76 -153q0 -88 -50 -140.5t-139 -84.5q65 -36 104.5 -85t39.5 -122q0 -131 -99 -204t-270 -73q-142 0 -226.5 64.5t-84.5 169.5q0 94 60 154t169 98q-51 35 -79.5 78.5t-28.5 105.5q0 110 88 179t225 69zM1308 363q-127 -44 -127 -137 -q0 -42 26.5 -67t70.5 -25q52 0 82 31.5t30 74.5q0 44 -21.5 72t-60.5 51zM1382 736q-35 0 -59.5 -25t-24.5 -65q0 -56 64 -98q94 41 94 116q0 34 -21 53t-53 19zM496 1462h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165zM1500 1462 -l-1084 -1462h-239l1087 1462h236z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1804" -d="M813 1270q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176q0 -131 -107 -209t-285 -78q-75 0 -145.5 15.5t-120.5 40.5v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66 -l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5zM1600 1462l-1084 -1462h-239l1087 1462h236zM1464 894q139 0 215 -56t76 -153q0 -88 -50 -140.5t-139 -84.5q65 -36 104.5 -85t39.5 -122q0 -131 -99 -204t-270 -73q-142 0 -226.5 64.5t-84.5 169.5q0 94 60 154 -t169 98q-51 35 -79.5 78.5t-28.5 105.5q0 110 88 179t225 69zM1388 363q-127 -44 -127 -137q0 -42 26.5 -67t70.5 -25q52 0 82 31.5t30 74.5q0 44 -21.5 72t-60.5 51zM1462 736q-35 0 -59.5 -25t-24.5 -65q0 -56 64 -98q94 41 94 116q0 34 -21 53t-53 19z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1804" -d="M497 1151q113 0 184.5 -66.5t71.5 -173.5q0 -155 -109 -248.5t-288 -93.5q-161 0 -254 54v182q51 -31 113 -48.5t119 -17.5q89 0 138.5 39t49.5 109q0 110 -131 110q-63 0 -133 -20l-76 67l119 418h528l-41 -184h-354l-43 -139q36 12 106 12zM1584 1462l-1084 -1462h-239 -l1087 1462h236zM1448 894q139 0 215 -56t76 -153q0 -88 -50 -140.5t-139 -84.5q65 -36 104.5 -85t39.5 -122q0 -131 -99 -204t-270 -73q-142 0 -226.5 64.5t-84.5 169.5q0 94 60 154t169 98q-51 35 -79.5 78.5t-28.5 105.5q0 110 88 179t225 69zM1372 363 -q-127 -44 -127 -137q0 -42 26.5 -67t70.5 -25q52 0 82 31.5t30 74.5q0 44 -21.5 72t-60.5 51zM1446 736q-35 0 -59.5 -25t-24.5 -65q0 -56 64 -98q94 41 94 116q0 34 -21 53t-53 19z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1804" -d="M148 586l463 692h-406l39 184h658l-31 -149l-465 -727h-258zM1502 1462l-1084 -1462h-239l1087 1462h236zM1386 894q139 0 215 -56t76 -153q0 -88 -50 -140.5t-139 -84.5q65 -36 104.5 -85t39.5 -122q0 -131 -99 -204t-270 -73q-142 0 -226.5 64.5t-84.5 169.5 -q0 94 60 154t169 98q-51 35 -79.5 78.5t-28.5 105.5q0 110 88 179t225 69zM1310 363q-127 -44 -127 -137q0 -42 26.5 -67t70.5 -25q52 0 82 31.5t30 74.5q0 44 -21.5 72t-60.5 51zM1384 736q-35 0 -59.5 -25t-24.5 -65q0 -56 64 -98q94 41 94 116q0 34 -21 53t-53 19z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M1139 920q0 -263 -85 -486t-231.5 -338.5t-337.5 -115.5q-199 0 -304 106t-105 313q0 170 71.5 325.5t189 234.5t267.5 79q137 0 221 -67q-11 141 -66.5 201.5t-158.5 60.5q-137 0 -272 -90v258q153 82 336 82q228 0 351.5 -143t123.5 -420zM502 223q104 0 186 132 -t121 362q-20 40 -60.5 67t-93.5 27q-70 0 -127.5 -54t-94 -162t-36.5 -220q0 -152 105 -152z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1239" -d="M629 1468h352l141 -1294l-39 -174h-1136l35 180zM752 1174q-16 -55 -58 -142l-375 -774h517l-76 758q-8 96 -8 158z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1518" -d="M1061 -457v1661h-551v-1661h-317v1919h1185v-1919h-317z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1292" -d="M123 -457v170l575 834l-559 749v166h1166v-252h-756l493 -657l-518 -756h840v-254h-1241z" /> - <glyph glyph-name="minus" unicode="&#x2212;" horiz-adv-x="1128" -d="M109 612v219h952v-219h-952z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M725 -14h-182l-269 737h-176v213h326l205 -567l489 1388h219z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1448" -d="M1356 717q0 -142 -91 -240t-227 -98q-176 0 -299 176q-61 -80 -134 -125t-150 -45q-142 0 -232 92t-90 246q0 144 90.5 240t231.5 96q177 0 290 -174q125 170 293 170q140 0 229 -92t89 -246zM465 588q88 0 166 135q-75 135 -168 135q-58 0 -91.5 -39t-33.5 -98 -q0 -60 34.5 -96.5t92.5 -36.5zM1024 852q-87 0 -168 -133q80 -137 170 -137q58 0 91.5 40.5t33.5 96.5q0 59 -36 96t-91 37z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="844" -d="M686 1300q-51 0 -81 -36t-30 -101v-1276q0 -187 -98 -283t-282 -96q-109 0 -195 41v254q91 -39 158 -39q110 0 110 142v1272q0 185 97 281.5t284 96.5q109 0 195 -40v-254q-89 38 -158 38z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" horiz-adv-x="1128" -d="M342 868q-51 0 -112 -30.5t-121 -89.5v231q100 108 256 108q59 0 109 -11.5t147 -51.5q64 -27 111 -41t95 -14q51 0 112 30.5t122 90.5v-232q-102 -108 -256 -108q-59 0 -109 11.5t-147 51.5q-78 33 -119 44t-88 11zM342 469q-51 0 -111.5 -30t-121.5 -91v232 -q102 108 256 108q59 0 109 -11.5t147 -51.5q73 -31 115.5 -43.5t90.5 -12.5q108 0 234 121v-231q-103 -109 -256 -109q-64 0 -117 14t-139 50q-78 33 -119 44t-88 11z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1128" -d="M561 418l-127 -275l-201 84l89 191h-213v219h315l80 170h-395v217h495l131 281l201 -86l-92 -195h217v-217h-318l-79 -170h397v-219h-500z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" horiz-adv-x="1128" -d="M109 0v219h952v-219h-952zM1063 264l-952 438v144l952 495v-239l-643 -318l643 -280v-240z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" horiz-adv-x="1128" -d="M109 0v219h952v-219h-952zM109 504l643 280l-643 318v239l952 -495v-144l-952 -438v240z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1194" -d="M1128 735l-450 -735h-115l-450 735l450 738h115zM864 735l-243 410l-244 -410l244 -409z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-4q59 -13 83 -47t24 -90 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM708 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM455 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM978 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM263 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM665 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5 -t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM754 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5 -t46 80.5h172q-66 -309 -287 -309z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM327 1790h619l-45 -211h-619z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM984 1917q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM410 0q-119 -96 -155 -148t-36 -102q0 -28 16 -43.5t44 -15.5q44 0 102 18v-176q-84 -25 -164 -25q-102 0 -161.5 53.5t-59.5 141.5q0 82 47.5 151t167.5 146h199z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM437 1718q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1462" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM649 -430q-94 0 -187 27v253q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="1042" -d="M846 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM34 1167q76 152 150 358h284v-24q-120 -198 -254 -365h-180v31z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM263 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM665 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5 -t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM263 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM665 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5 -t-120.5 -43.5q-135 0 -135 110z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1135" -d="M1257 1599q-34 -133 -98 -207.5t-170 -112.5t-258 -38q-200 0 -307 76.5t-107 234.5q0 24 5 47h266l-2 -26v-21q0 -139 170 -139q99 0 152.5 44t76.5 142h272z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="1024" -d="M494 1255q83 178 124 301h283v-20q-30 -57 -96.5 -147.5t-130.5 -159.5h-180v26z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="1024" -d="M123 -426q25 51 65.5 147.5t59.5 153.5h282v-20q-33 -62 -95.5 -146.5t-131.5 -161.5h-180v27z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="1024" -d="M877 1542q-20 -40 -63.5 -141t-61.5 -160h-283v21q31 59 95.5 146t131.5 161h181v-27z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="512" -d="M414 1163q61 121 143 301h262v-20q-120 -171 -252 -307h-153v26zM102 1245q0 94 75 152t237 84v-74q-69 -17 -108.5 -37.5t-39.5 -58.5q0 -14 9 -20.5t24 -14.5q22 -11 35.5 -24t13.5 -42q0 -38 -28 -60t-82 -22q-57 0 -96.5 30t-39.5 87z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM868 1854q0 -166 -197 -226l-20 -71h-182l14 147q78 14 110.5 41.5t32.5 71.5q0 24 -16 38.5t-47 14.5q-51 0 -125 -21v164q73 25 174 25q122 0 189 -47.5t67 -136.5z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="784" -d="M588 0h-647l36 176l187 82l201 946l-152 82l37 176h647l-37 -176l-190 -82l-201 -946l156 -82zM49 -307q0 86 48 131t135 45q70 0 109.5 -30.5t39.5 -90.5q0 -80 -44 -129t-136 -49q-152 0 -152 123z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-283 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM-154 1436v18q48 48 164 209h248v-10q-25 -30 -105 -99.5t-151 -117.5h-156z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-283 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187zM-872 1438q-59 54 -109 113.5t-70 99.5v14h232q23 -95 84 -211v-16h-137z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M158 1640q0 -120 -154 -155l-14 -53h-123l14 116q127 6 127 76q0 37 -55 37q-44 0 -84 -14v120q47 17 117 17q81 0 126.5 -39.5t45.5 -104.5zM-283 1241q-75 66 -153 158q-90 -76 -217 -158h-203v23l66 63q143 136 210 221h318q60 -135 166 -284v-23h-187z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-549 1647q-37 0 -54 -23.5t-28 -58.5h-135q19 121 79.5 181t141.5 60q62 0 118.5 -24.5t73.5 -33.5q44 -24 89 -24q35 0 53.5 19.5t34.5 64.5h131q-53 -243 -223 -243q-37 0 -69.5 8t-86.5 35q-61 29 -81.5 34t-43.5 5zM-283 1241q-120 96 -161 137l-209 -137h-203v23 -l65 60q143 127 203 204h318q36 -82 130 -204l44 -60v-23h-187z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-59 1579q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150zM-535 1501v19q63 63 164 209h217v-11q-25 -30 -105 -99.5t-151 -117.5h-125z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-59 1579q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150zM-446 1501q-126 115 -179 213v15h211q28 -106 84 -211v-17h-116z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-59 1579q-34 -164 -138.5 -251t-263.5 -87q-146 0 -224.5 73t-78.5 210q0 31 4 55h144v-18q0 -152 170 -152q171 0 237 170h150zM-262 1673q0 -54 -33.5 -91.5t-101.5 -51.5l-13 -43h-104l12 110q54 8 79.5 23.5t25.5 46.5q0 29 -45 29q-42 0 -74 -13v101q42 14 102 14 -q72 0 112 -34.5t40 -90.5z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-68 1538q-34 -144 -136 -220.5t-257 -76.5q-146 0 -227.5 65t-81.5 183q0 27 4 49h143l-1 -13q0 -116 178 -116q88 0 142 28t89 101h147zM-535 1661q-62 0 -83 -76h-134q22 112 80.5 166.5t139.5 54.5q53 0 95 -14t92 -40q56 -30 93 -30q35 0 54.5 23t31.5 63h129 -q-53 -223 -221 -223q-41 0 -72 8.5t-84 34.5q-37 19 -61 26t-60 7z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="422" -d="M-74 -309q109 0 109 102q0 53 -24.5 101.5t-69.5 105.5h180q127 -118 127 -254q0 -114 -75 -176t-206 -62q-92 0 -153 25v180q58 -22 112 -22z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="598" -d="M16 -496q-104 0 -176 27v240q55 -21 115 -21q67 0 105.5 41.5t56.5 128.5l82 383h297l-88 -428q-39 -191 -133.5 -281t-258.5 -90z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="598" -d="M16 -496q-104 0 -176 27v240q55 -21 115 -21q67 0 105.5 41.5t56.5 128.5l73 342h295l-77 -387q-39 -191 -133.5 -281t-258.5 -90z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="985" -d="M619 0h-305l180 829q35 152 76 287q-9 -8 -61.5 -47t-262.5 -170l-133 215l566 348h249z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1190" -d="M653 913q-114 0 -186 -147t-72 -352q0 -189 144 -189q113 0 185.5 147t72.5 359q0 182 -144 182zM1100 715q0 -217 -70.5 -386t-202.5 -259t-309 -90q-202 0 -315 118.5t-113 327.5q0 215 75 385.5t206 259t303 88.5q203 0 314.5 -118.5t111.5 -325.5z" /> - <glyph glyph-name="one.os" horiz-adv-x="911" -d="M612 0h-305l111 508q19 99 76 287q-45 -40 -125 -90l-195 -125l-135 215l565 344h248z" /> - <glyph glyph-name="two.os" horiz-adv-x="1120" -d="M948 0h-968l40 203l365 250q195 132 261.5 202t66.5 144q0 47 -30 74.5t-83 27.5q-65 0 -139 -37t-168 -112l-143 200q108 87 180.5 126t151 60t167.5 21q182 0 280.5 -87t98.5 -243q0 -129 -72 -229.5t-251 -210.5l-207 -125v-4h506z" /> - <glyph glyph-name="three.os" horiz-adv-x="1128" -d="M1009 826q0 -156 -94.5 -262t-261.5 -135v-4q131 -26 198.5 -106.5t67.5 -201.5q0 -133 -74 -238t-212 -163.5t-327 -58.5q-239 0 -387 79v267q84 -50 182 -75.5t191 -25.5q158 0 243 63.5t85 176.5q0 172 -258 172h-138l46 221h73q167 0 263 62t96 172q0 67 -43 104 -t-121 37q-134 0 -287 -100l-127 204q124 81 232.5 113.5t246.5 32.5q190 0 298 -90.5t108 -243.5z" /> - <glyph glyph-name="four.os" horiz-adv-x="1128" -d="M997 27h-170l-77 -371h-295l80 371h-590l49 235l758 877h313l-186 -873h170zM586 266q32 150 51 237.5t82 295.5h-6q-68 -112 -129 -181l-310 -352h312z" /> - <glyph glyph-name="five.os" horiz-adv-x="1102" -d="M567 599q183 0 289 -103t106 -287q0 -167 -71.5 -292t-208.5 -192.5t-330 -67.5q-117 0 -218.5 23t-162.5 58v269q174 -99 352 -99q154 0 241 71t87 194q0 94 -57.5 141t-166.5 47q-102 0 -213 -33l-104 78l207 733h755l-55 -262h-489l-88 -293q72 15 127 15z" /> - <glyph glyph-name="six.os" horiz-adv-x="1157" -d="M90 469q0 202 61 395.5t167.5 335t256.5 213.5t357 72q125 0 223 -27l-51 -246q-84 25 -191 25q-194 0 -313.5 -108t-185.5 -345h4q115 166 311 166q157 0 242.5 -97t85.5 -273q0 -169 -71 -313.5t-190.5 -215.5t-277.5 -71q-212 0 -320 127t-108 362zM532 227 -q99 0 161.5 94t62.5 236q0 71 -33.5 113.5t-102.5 42.5q-60 0 -114.5 -35.5t-87.5 -95.5t-33 -160q0 -91 40 -143t107 -52z" /> - <glyph glyph-name="seven.os" horiz-adv-x="1120" -d="M1 -321l737 1202h-629l56 260h975l-41 -194l-752 -1268h-346z" /> - <glyph glyph-name="eight.os" horiz-adv-x="1149" -d="M729 1485q123 0 215.5 -42t141 -118t48.5 -174q0 -134 -80.5 -233.5t-230.5 -151.5q217 -141 217 -365q0 -122 -63.5 -218.5t-181 -149.5t-273.5 -53q-214 0 -336.5 100t-122.5 270q0 298 348 426q-165 132 -165 299q0 119 58 212.5t168 145.5t257 52zM590 643 -q-116 -45 -173 -107t-57 -153q0 -81 50 -128.5t135 -47.5q93 0 147.5 53.5t54.5 138.5q0 73 -36.5 131.5t-120.5 112.5zM702 1260q-76 0 -121 -46.5t-45 -119.5q0 -132 123 -201q185 72 185 221q0 68 -39.5 107t-102.5 39z" /> - <glyph glyph-name="nine.os" horiz-adv-x="1178" -d="M1075 683q0 -280 -99 -533t-264 -370.5t-403 -117.5q-128 0 -240 32v256q111 -41 227 -41q121 0 207.5 49t144 138.5t99.5 257.5h-4q-111 -158 -295 -158q-163 0 -252.5 103.5t-89.5 285.5q0 166 73 305.5t196 208t286 68.5q203 0 308.5 -123t105.5 -361zM628 919 -q-65 0 -115.5 -42t-78 -114t-27.5 -153q0 -87 37.5 -131.5t105.5 -44.5q60 0 111.5 36.5t82 100t30.5 158.5q0 84 -35.5 137t-110.5 53z" /> - <glyph glyph-name="g.alt" -d="M537 223q72 0 132 68t95 186t35 242q0 80 -35 128t-105 48q-69 0 -129 -65t-97.5 -183.5t-37.5 -247.5q0 -88 38 -132t104 -44zM412 -492q-255 0 -385 66v272q157 -90 348 -90q101 0 174 49.5t92 128.5q22 107 55 216h-8q-72 -94 -143 -132t-154 -38q-139 0 -220 107 -t-81 298q0 202 67.5 380.5t180 276t250.5 97.5q95 0 166 -37t131 -127h8l57 143h232l-244 -1145q-100 -465 -526 -465z" /> - <glyph glyph-name="gcircumflex.alt" -d="M537 223q72 0 132 68t95 186t35 242q0 80 -35 128t-105 48q-69 0 -129 -65t-97.5 -183.5t-37.5 -247.5q0 -88 38 -132t104 -44zM412 -492q-255 0 -385 66v272q157 -90 348 -90q101 0 174 49.5t92 128.5q22 107 55 216h-8q-72 -94 -143 -132t-154 -38q-139 0 -220 107 -t-81 298q0 202 67.5 380.5t180 276t250.5 97.5q95 0 166 -37t131 -127h8l57 143h232l-244 -1145q-100 -465 -526 -465zM1145 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" /> - <glyph glyph-name="gbreve.alt" -d="M537 223q72 0 132 68t95 186t35 242q0 80 -35 128t-105 48q-69 0 -129 -65t-97.5 -183.5t-37.5 -247.5q0 -88 38 -132t104 -44zM412 -492q-255 0 -385 66v272q157 -90 348 -90q101 0 174 49.5t92 128.5q22 107 55 216h-8q-72 -94 -143 -132t-154 -38q-139 0 -220 107 -t-81 298q0 202 67.5 380.5t180 276t250.5 97.5q95 0 166 -37t131 -127h8l57 143h232l-244 -1145q-100 -465 -526 -465zM1155 1579q-55 -338 -393 -338q-153 0 -238.5 73t-85.5 199q0 38 6 66h174q0 -65 36.5 -95t117.5 -30q78 0 127.5 27t66.5 98h189z" /> - <glyph glyph-name="gdot.alt" -d="M537 223q72 0 132 68t95 186t35 242q0 80 -35 128t-105 48q-69 0 -129 -65t-97.5 -183.5t-37.5 -247.5q0 -88 38 -132t104 -44zM412 -492q-255 0 -385 66v272q157 -90 348 -90q101 0 174 49.5t92 128.5q22 107 55 216h-8q-72 -94 -143 -132t-154 -38q-139 0 -220 107 -t-81 298q0 202 67.5 380.5t180 276t250.5 97.5q95 0 166 -37t131 -127h8l57 143h232l-244 -1145q-100 -465 -526 -465zM613 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" /> - <glyph glyph-name="gcommaaccent.alt" -d="M537 223q72 0 132 68t95 186t35 242q0 80 -35 128t-105 48q-69 0 -129 -65t-97.5 -183.5t-37.5 -247.5q0 -88 38 -132t104 -44zM412 -492q-255 0 -385 66v272q157 -90 348 -90q101 0 174 49.5t92 128.5q22 107 55 216h-8q-72 -94 -143 -132t-154 -38q-139 0 -220 107 -t-81 298q0 202 67.5 380.5t180 276t250.5 97.5q95 0 166 -37t131 -127h8l57 143h232l-244 -1145q-100 -465 -526 -465zM1000 1542q-20 -40 -63.5 -141t-61.5 -160h-283v21q31 59 95.5 146t131.5 161h181v-27z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.ttf deleted file mode 100755 index 4e7a54e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.woff deleted file mode 100755 index bc76ba9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-BoldItalic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.eot deleted file mode 100755 index 33c438b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.svg deleted file mode 100755 index 3595a3a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.svg +++ /dev/null @@ -1,21164 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:42:54 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans-Italic" horiz-adv-x="1182" > - <font-face - font-family="Open Sans" - font-weight="400" - font-style="italic" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 6 6 3 5 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1096" - cap-height="1462" - bbox="-1020 -549 2521 2146" - underline-thickness="102" - underline-position="-307" - slope="-12" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1292" -d="M545 -492q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5 -t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098q-43 -195 -123.5 -279t-210.5 -84z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1165" -d="M-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 -q-39 -189 -120 -276t-213 -87zM870 0h-168l234 1096h168zM983 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1165" -d="M-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 -q-39 -189 -120 -276t-213 -87zM868 0h-168l332 1556h168z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="1815" -d="M545 -492q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5 -t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098q-43 -195 -123.5 -279t-210.5 -84z -M1522 0h-168l233 1096h168zM1634 1376q0 54 32 90.5t83 36.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="1815" -d="M1520 0h-168l331 1556h168zM545 -492q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5 -t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098 -q-43 -195 -123.5 -279t-210.5 -84z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="530" -d="M555 1462l-274 -1059h-109q49 307 176 1059h207zM43 78q0 76 39.5 120t107.5 44q45 0 73 -27.5t28 -81.5q0 -68 -39 -115t-105 -47q-49 0 -76.5 28t-27.5 79z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="791" -d="M485 1462l-153 -528h-107l72 528h188zM834 1462l-154 -528h-107l72 528h189z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M1036 899l-98 -340h285l-13 -129h-309l-125 -430h-139l129 430h-303l-127 -430h-133l121 430h-261l13 129h284l101 340h-277l13 127h301l123 436h139l-125 -436h305l127 436h133l-125 -436h264l-12 -127h-291zM500 559h303l96 340h-303z" /> - <glyph glyph-name="dollar" unicode="$" horiz-adv-x="1128" -d="M942 492q0 -162 -112.5 -263t-309.5 -123l-49 -225h-133l49 223q-195 14 -315 72v154q82 -41 175.5 -63.5t166.5 -22.5l98 452q-139 49 -201.5 123.5t-62.5 188.5q0 159 108 255t299 113l39 176h133l-39 -178q159 -12 283 -76l-63 -135q-121 63 -248 72l-94 -440 -q149 -55 212.5 -125t63.5 -178zM549 250q107 13 170 75t63 154q0 54 -33 96t-114 74zM627 1235q-108 -11 -167 -69t-59 -156q0 -53 34.5 -97.5t107.5 -70.5z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1624" -d="M1468 1462l-1085 -1462h-152l1086 1462h151zM1284 772q-67 0 -119.5 -64.5t-84 -188.5t-31.5 -240q0 -173 106 -173q65 0 117 65t86.5 198.5t34.5 236.5q0 166 -109 166zM1532 621q0 -107 -31.5 -236t-82 -217.5t-121 -138t-156.5 -49.5q-110 0 -171 74.5t-61 219.5 -q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -71.5t60 -204.5zM543 1358q-66 0 -119 -63t-85 -187.5t-32 -243.5q0 -172 107 -172q52 0 94 39.5t73.5 114t50.5 175t19 171.5q0 166 -108 166zM791 1206q0 -108 -32 -237.5t-82.5 -217.5t-120.5 -137t-157 -49 -q-109 0 -170 75t-61 220q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -72t60 -205z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1372" -d="M737 1348q-105 0 -163 -60t-58 -170q0 -120 82 -235q139 71 191 110t83 85t31 104q0 77 -42.5 121.5t-123.5 44.5zM471 119q87 0 168 33t195 124l-306 433q-128 -67 -184 -116t-85.5 -107.5t-29.5 -131.5q0 -106 66.5 -170.5t175.5 -64.5zM66 342q0 148 90 257.5 -t303 211.5q-103 165 -103 309q0 164 106 264.5t281 100.5q149 0 236.5 -79t87.5 -212q0 -78 -32.5 -137t-87.5 -108t-127.5 -90t-153.5 -83l278 -389q127 110 199 295h168q-101 -236 -283 -412l203 -270h-201l-117 166q-120 -100 -230 -143t-247 -43q-168 0 -269 96 -t-101 266z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="444" -d="M485 1462l-153 -528h-107l72 528h188z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="584" -d="M82 272q0 339 120 627t384 563h157q-246 -270 -371.5 -570t-125.5 -618q0 -339 114 -598h-131q-147 266 -147 596z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="584" -d="M500 864q0 -341 -121.5 -629.5t-382.5 -558.5h-156q496 551 496 1188q0 341 -113 598h131q146 -269 146 -598z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1130" -d="M854 1528l-123 -383l422 18l-8 -157l-393 47l180 -383l-166 -52l-113 406l-258 -344l-116 121l309 284l-373 109l55 154l371 -185l41 400z" /> - <glyph glyph-name="plus" unicode="+" horiz-adv-x="1128" -d="M516 651h-389v142h389v391h141v-391h390v-142h-390v-387h-141v387z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="492" -d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="639" -d="M55 469l35 158h479l-34 -158h-480z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="518" -d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="717" -d="M893 1462l-813 -1462h-174l813 1462h174z" /> - <glyph glyph-name="zero" unicode="0" horiz-adv-x="1128" -d="M1092 1014q0 -295 -78.5 -539t-214 -369.5t-314.5 -125.5q-176 0 -270 127.5t-94 369.5q0 270 82 514.5t216.5 369t307.5 124.5q365 0 365 -471zM717 1341q-113 0 -209 -115.5t-155.5 -323t-59.5 -423.5q0 -172 50 -264t161 -92q115 0 209 114t150.5 328t56.5 453 -q0 323 -203 323z" /> - <glyph glyph-name="one" unicode="1" horiz-adv-x="1128" -d="M588 0h-172l196 913q59 261 88 359q-50 -53 -139 -111l-178 -110l-80 127l449 284h149z" /> - <glyph glyph-name="two" unicode="2" horiz-adv-x="1128" -d="M911 0h-899l31 147l465 420q102 93 176.5 163.5t123 133t72 124t23.5 136.5q0 99 -60 157t-163 58q-77 0 -150.5 -28.5t-162.5 -96.5l-82 115q191 154 413 154q176 0 278.5 -88.5t102.5 -243.5q0 -111 -39.5 -204t-131 -197t-294.5 -281l-352 -307v-8h678z" /> - <glyph glyph-name="three" unicode="3" horiz-adv-x="1128" -d="M1073 1159q0 -156 -101 -264.5t-280 -140.5v-9q124 -23 195 -106.5t71 -208.5q0 -133 -62 -234.5t-181 -158.5t-283 -57q-210 0 -385 79v164q94 -49 199 -75.5t190 -26.5q162 0 252 79.5t90 217.5q0 131 -79 198.5t-220 67.5h-131l31 143h139q165 0 274 87t109 227 -q0 92 -58 146t-157 54q-80 0 -157 -27t-175 -93l-80 118q195 144 424 144q179 0 277 -87t98 -237z" /> - <glyph glyph-name="four" unicode="4" horiz-adv-x="1128" -d="M1067 334h-233l-72 -334h-164l74 334h-656l29 158l834 978h196l-207 -983h232zM705 487q46 220 78 373t116 445h-8q-17 -29 -66.5 -96.5t-72.5 -96.5l-533 -625h486z" /> - <glyph glyph-name="five" unicode="5" horiz-adv-x="1128" -d="M598 893q182 0 289.5 -104.5t107.5 -282.5q0 -161 -73 -283t-204 -182.5t-308 -60.5q-193 0 -330 79v164q164 -102 334 -102q191 0 298 96t107 268q0 126 -73.5 199.5t-204.5 73.5q-48 0 -97 -6.5t-139 -30.5l-74 57l197 684h668l-33 -153h-522l-127 -439q87 23 184 23z -" /> - <glyph glyph-name="six" unicode="6" horiz-adv-x="1128" -d="M133 424q0 209 60.5 415t163.5 351.5t246 219t327 73.5q111 0 184 -23l-35 -145q-68 22 -170 22q-212 0 -356.5 -149t-212.5 -443h8q59 79 146.5 126t193.5 47q154 0 244 -98.5t90 -270.5q0 -161 -66.5 -294.5t-180.5 -204t-261 -70.5q-182 0 -281.5 115t-99.5 329z -M532 121q94 0 167.5 54t114 149t40.5 208q0 248 -221 248q-66 0 -128 -28.5t-110 -76t-72 -104.5t-24 -155q0 -137 60.5 -216t172.5 -79z" /> - <glyph glyph-name="seven" unicode="7" horiz-adv-x="1128" -d="M174 0l768 1313h-719l31 149h891l-27 -139l-764 -1323h-180z" /> - <glyph glyph-name="eight" unicode="8" horiz-adv-x="1128" -d="M741 1485q174 0 271.5 -86.5t97.5 -235.5q0 -129 -78 -225t-266 -176q127 -78 180 -165t53 -202q0 -122 -60 -217.5t-172.5 -146.5t-264.5 -51q-190 0 -298 98.5t-108 267.5q0 148 95 256t296 184q-95 69 -135.5 144.5t-40.5 171.5q0 111 54.5 198.5t153.5 136t222 48.5z -M608 700q-185 -60 -261.5 -143.5t-76.5 -202.5q0 -107 69 -170t181 -63q139 0 222 74t83 196q0 99 -52 174t-165 135zM729 1341q-114 0 -182 -65.5t-68 -175.5q0 -82 39 -144t127 -116q161 60 228 131.5t67 173.5q0 90 -57.5 143t-153.5 53z" /> - <glyph glyph-name="nine" unicode="9" horiz-adv-x="1128" -d="M1067 1034q0 -194 -56 -406.5t-147.5 -360t-221.5 -217.5t-302 -70q-136 0 -242 34v158q134 -47 246 -47q202 0 327 141t189 441h-10q-51 -75 -132.5 -118.5t-180.5 -43.5q-169 0 -261 98.5t-92 288.5q0 153 64.5 280.5t180 199t259.5 71.5q180 0 279.5 -114.5 -t99.5 -334.5zM682 1341q-150 0 -241 -113t-91 -290q0 -124 54.5 -190t162.5 -66q76 0 140 28.5t108.5 81.5t65 114t20.5 151q0 131 -59 207.5t-160 76.5z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="518" -d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="518" -d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" /> - <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="1128" -d="M1040 242l-919 422v98l919 479v-149l-747 -371l747 -328v-151z" /> - <glyph glyph-name="equal" unicode="=" horiz-adv-x="1128" -d="M127 858v139h920v-139h-920zM127 444v142h920v-142h-920z" /> - <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="1128" -d="M121 393l745 328l-745 371v149l919 -479v-98l-919 -422v151z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="874" -d="M260 403q22 130 72.5 213.5t165.5 174.5q128 100 168 144t63 94t23 112q0 93 -51.5 143.5t-147.5 50.5q-81 0 -155 -25.5t-140 -56.5l-61 129q92 51 192 76t182 25q167 0 259 -84t92 -238q0 -123 -65.5 -226.5t-225.5 -223.5q-125 -91 -169 -147.5t-67 -160.5h-135z -M158 74q0 77 40 122.5t111 45.5q44 0 70.5 -26t26.5 -79q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26t-27 77z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1735" -d="M1679 852q0 -179 -55 -324t-155 -227t-222 -82q-197 0 -213 184h-8q-111 -184 -291 -184q-115 0 -180.5 75.5t-65.5 209.5q0 157 68 284t188.5 199t260.5 72q65 0 127.5 -12t150.5 -48q-64 -242 -98 -368t-31 -172q0 -117 102 -117q78 0 141.5 67t100.5 183.5t37 243.5 -q0 239 -128 367t-370 128q-228 0 -406.5 -107t-277 -295.5t-98.5 -416.5q0 -270 143.5 -418.5t409.5 -148.5q197 0 420 86v-127q-219 -90 -443 -90q-314 0 -494.5 184.5t-180.5 505.5q0 261 126.5 485.5t343.5 347.5t486 123q191 0 329 -75.5t210.5 -213.5t72.5 -319z -M985 938q-94 0 -174 -55t-126 -153t-46 -212q0 -93 33 -134.5t98 -41.5q187 0 272 315l70 258q-63 23 -127 23z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1225" -d="M770 1462q432 0 432 -336q0 -141 -87 -238t-245 -126v-10q115 -32 176.5 -110.5t61.5 -188.5q0 -212 -152 -332.5t-407 -120.5h-463l309 1462h375zM434 836h248q156 0 249 73t93 199q0 104 -66.5 155.5t-209.5 51.5h-211zM287 145h266q181 0 278 80.5t97 227.5 -q0 116 -74.5 177.5t-214.5 61.5h-236z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1364" -d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l309 1462h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-250 -1168h162z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="967" -d="M258 0h-172l309 1462h735l-30 -153h-568l-110 -533h528l-32 -153h-529z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1386" -d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 -q154 0 260 39l96 444h-289z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1389" -d="M1085 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="547" -d="M-166 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1141" -d="M1034 0h-186q-72 181 -146.5 359.5t-146.5 361.5l-174 -131l-125 -590h-170l309 1462h170l-151 -710l700 710h209l-639 -637z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="971" -d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1714" -d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1438" -d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1159" -d="M1159 1085q0 -248 -164 -379t-481 -131h-135l-123 -575h-170l309 1462h330q214 0 324 -94.5t110 -282.5zM410 721h133q216 0 328 91t112 267q0 125 -69.5 180.5t-213.5 55.5h-163z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1475" -d="M874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q158 0 279 100t187.5 280.5t66.5 399.5q0 199 -94 310.5t-261 111.5zM725 -18l-17 -2h-16q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424 -q0 -333 -139 -576t-375 -321l274 -358h-219z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1165" -d="M385 608l-129 -608h-170l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252zM532 1313q-102 -494 -116 -559h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1020" -d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1122" -d="M479 197q61 144 162 338l479 927h191l-781 -1462h-180l-162 1462h170l97 -930q20 -196 20 -335h4z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1745" -d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1063" -d="M956 0h-180l-213 641l-481 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1087" -d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="586" -d="M371 -324h-387l381 1786h387l-31 -141h-227l-318 -1503h227z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="717" -d="M375 1462l217 -1462h-154l-217 1462h154z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="586" -d="M-119 -182h225l320 1503h-227l30 141h389l-380 -1786h-388z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1059" -d="M53 553l598 920h109l266 -920h-145l-201 747l-467 -747h-160z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="807" -d="M623 -324h-811l30 140h811z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1135" -d="M903 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="a" unicode="a" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5z" /> - <glyph glyph-name="b" unicode="b" -d="M545 -20q-97 0 -170.5 51t-110.5 139h-10l-70 -170h-125l330 1556h168q-51 -242 -78.5 -370.5t-75.5 -300.5h9q93 118 183.5 173.5t186.5 55.5q141 0 220 -99t79 -272q0 -209 -68.5 -386.5t-191 -277t-276.5 -99.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295 -q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63z" /> - <glyph glyph-name="d" unicode="d" -d="M639 1114q194 0 281 -190h10q17 155 45 274l78 358h166l-330 -1556h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 214 72 392t194.5 275t274.5 97zM449 119q94 0 194 93.5t158.5 239t58.5 296.5q0 111 -54 169t-157 58q-101 0 -187.5 -82.5 -t-139 -232t-52.5 -314.5q0 -227 179 -227z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="641" -d="M-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 -q-39 -189 -120 -276t-213 -87z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1026" -d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 -q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 -t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5z" /> - <glyph glyph-name="h" unicode="h" -d="M729 0l148 692q18 94 18 135q0 148 -147 148q-89 0 -173.5 -59t-149 -171.5t-97.5 -271.5l-101 -473h-168l330 1556h168q-18 -82 -34.5 -159t-34 -156.5t-38 -166.5t-47.5 -189h11q94 123 185.5 176t191.5 53q131 0 202.5 -72t71.5 -204q0 -62 -23 -166 -q-39 -193 -145 -672h-168z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="520" -d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM340 1376q0 56 32 91.5t83 35.5q86 0 86 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -64 24.5t-26 69.5z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="999" -d="M330 559l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l330 1556h170l-129 -602t-102 -395h4z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="520" -d="M225 0h-168l332 1556h168z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1786" -d="M696 0l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60t-140 -171.5t-93.5 -268.5l-101 -475h-168l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -68t69.5 -198q0 -68 -22 -178 -l-144 -672h-170l148 692q20 104 20 146q0 62 -34.5 99.5t-108.5 37.5q-81 0 -160 -58t-138.5 -164.5t-90.5 -252.5l-107 -500h-168z" /> - <glyph glyph-name="n" unicode="n" -d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5z" /> - <glyph glyph-name="p" unicode="p" -d="M545 -20q-97 0 -170 50t-113 140h-10l-4 -38q-3 -25 -10.5 -70t-114.5 -554h-166l336 1588h139l-26 -209h8q179 227 372 227q137 0 216 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295q0 -110 55.5 -168.5 -t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" /> - <glyph glyph-name="q" unicode="q" -d="M641 1116q94 0 165.5 -50.5t108.5 -141.5h13l67 172h125l-336 -1588h-166l101 480q9 45 57 221h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97zM449 119q92 0 190 92t158.5 237t60.5 300q0 105 -54.5 166t-152.5 61 -q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="811" -d="M752 1116q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="664" -d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30z" /> - <glyph glyph-name="u" unicode="u" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="946" -d="M223 0l-125 1096h168l64 -613q24 -258 24 -362h6q127 275 179 371l325 604h178l-591 -1096h-228z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1468" -d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="979" -d="M467 434l-346 -434h-195l475 565l-239 531h170l174 -412l330 412h194l-455 -539l252 -557h-168z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="909" -d="M690 0h-719l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="715" -d="M442 -324q-141 0 -216.5 52.5t-75.5 171.5q0 52 20 141q33 146 51.5 227.5t14.5 102.5q0 143 -209 143l32 143q118 0 189.5 43.5t93.5 147.5l68 326q34 160 117.5 224t254.5 64h33l-31 -141q-105 0 -151 -36.5t-66 -123.5l-71 -321q-28 -123 -91 -184t-167 -78v-5 -q151 -41 151 -213q0 -59 -18 -131l-47 -211q-15 -58 -15 -98q0 -53 36.5 -77.5t119.5 -24.5v-142h-23z" /> - <glyph glyph-name="bar" unicode="|" horiz-adv-x="1128" -d="M541 1556h139v-2052h-139v2052z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="715" -d="M285 1462q144 0 220.5 -52.5t76.5 -170.5q0 -48 -21 -141l-49 -219q-16 -68 -16 -111q0 -143 209 -143l-33 -144q-119 0 -190 -43t-93 -147l-67 -326q-36 -164 -119 -226.5t-264 -62.5h-13v142q115 0 167 36t71 123l72 322q25 117 88 179.5t170 80.5v6q-150 42 -150 211 -q0 59 18 131l50 213q14 65 14 99q0 53 -40.5 77.5t-139.5 24.5l28 141h11z" /> - <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="1128" -d="M348 713q-54 0 -118.5 -34.5t-114.5 -86.5v151q98 109 243 109q69 0 127 -14.5t144 -51.5q64 -27 112.5 -41t98.5 -14q55 0 119.5 33t115.5 88v-150q-100 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="530" -d="M260 684h109l-176 -1057h-207zM250 950q0 76 40.5 122t110.5 46q44 0 70.5 -26t26.5 -80q0 -71 -40.5 -117.5t-105.5 -46.5q-48 0 -75 25.5t-27 76.5z" /> - <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="1128" -d="M582 -20h-125l43 215q-132 34 -203.5 137.5t-71.5 257.5q0 185 63.5 344t178.5 258.5t260 120.5l35 170h123l-37 -168q119 -9 217 -49l-47 -142q-109 52 -219 52q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -125 66 -198t184 -73q72 0 136 20t126 48v-143 -q-123 -62 -286 -66z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="1128" -d="M842 1481q184 0 336 -86l-66 -133q-146 79 -278 79q-213 0 -263 -237l-69 -326h370l-26 -127h-371l-47 -219q-22 -98 -66 -166.5t-124 -111.5h725l-33 -154h-953l27 141q205 46 258 289l47 221h-200l26 127h201l76 350q75 353 430 353z" /> - <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="1128" -d="M229 723q0 117 68 215l-129 129l92 92l127 -129q103 70 217 70t215 -70l129 129l92 -90l-129 -129q70 -104 70 -217q0 -119 -70 -217l127 -127l-90 -90l-129 127q-98 -68 -215 -68q-119 0 -217 70l-127 -127l-90 90l127 127q-68 96 -68 215zM358 723q0 -103 71.5 -174.5 -t174.5 -71.5q104 0 177 71.5t73 174.5q0 104 -73 177t-177 73q-102 0 -174 -72.5t-72 -177.5z" /> - <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="1128" -d="M582 715l491 747h187l-533 -770h231l-28 -133h-297l-33 -160h297l-29 -133h-295l-57 -266h-154l56 266h-291l29 133h290l33 160h-291l29 133h225l-202 770h163z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1128" -d="M541 1556h139v-776h-139v776zM541 281h139v-777h-139v777z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="995" -d="M174 770q0 201 238 307q-119 70 -119 203q0 127 103.5 206t279.5 79q189 0 321 -68l-53 -123q-148 60 -266 60q-102 0 -162.5 -40.5t-60.5 -109.5q0 -49 38 -83.5t162 -90.5q100 -44 149 -83.5t75 -89.5t26 -114q0 -97 -61 -180t-172 -139q114 -71 114 -189 -q0 -152 -114 -237.5t-318 -85.5q-176 0 -295 61v148q56 -34 136.5 -56t156.5 -22q133 0 204 44.5t71 129.5q0 48 -50.5 89t-152.5 87q-138 61 -194 130.5t-56 166.5zM514 1010q-82 -26 -135 -87.5t-53 -131.5t50.5 -117t198.5 -111q80 44 127.5 107t47.5 131 -q0 60 -49.5 105.5t-186.5 103.5z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1135" -d="M457 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M928 1059q-125 0 -191.5 -87t-66.5 -241q0 -169 65 -249.5t193 -80.5q82 0 211 43v-122q-66 -28 -113 -38t-104 -10q-192 0 -297 119.5t-105 339.5q0 208 110 330.5t300 122.5q130 0 248 -60l-60 -120q-106 53 -190 53zM139 731q0 200 100 375t275 276t377 101 -q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5 -q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="686" -d="M498 1479q114 0 153 -103h6l37 90h86l-139 -665h-92l14 117h-4q-40 -56 -90 -93t-123 -37q-77 0 -126.5 60t-49.5 166q0 127 41.5 234.5t116.5 169t170 61.5zM381 891q61 0 112.5 49t86 137.5t34.5 167.5q0 62 -28.5 96.5t-85.5 34.5q-92 0 -154.5 -103t-62.5 -243 -q0 -139 98 -139z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="958" -d="M88 584l391 374l78 -81l-297 -328l172 -387l-113 -49l-231 442v29zM483 541l367 405l86 -69l-283 -365l158 -350l-113 -49l-215 397v31z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="1128" -d="M1047 793v-529h-140v387h-780v142h920z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="639" -d="M55 469l35 158h479l-34 -158h-480z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M139 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5 -q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM1194 915q0 -78 -47.5 -141t-132.5 -98l227 -385h-149l-207 352h-113v-352h-127v880h229q163 0 241.5 -63t78.5 -193zM772 762h92q195 0 195 149q0 76 -47.5 107t-149.5 31h-90v-287z -" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="782" -d="M1012 1556h-785l33 132h787z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M215 1171q0 128 90.5 220t220.5 92q83 0 155.5 -41.5t114.5 -114t42 -156.5q0 -128 -90.5 -218.5t-221.5 -90.5t-221 90.5t-90 218.5zM328 1171q0 -80 58 -138t140 -58q83 0 140 58.5t57 137.5q0 82 -57.5 140.5t-139.5 58.5q-80 0 -139 -58.5t-59 -140.5z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="1128" -d="M516 643h-389v141h389v392h141v-392h390v-141h-390v-387h-141v387zM127 0v141h920v-141h-920z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="717" -d="M657 586h-561l23 106l264 228q115 100 158.5 149.5t63.5 93t20 90.5q0 53 -31 85t-90 32q-90 0 -195 -80l-59 90q125 101 274 101q109 0 171.5 -56.5t62.5 -150.5q0 -99 -52.5 -179.5t-197.5 -205.5l-221 -187h395z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="717" -d="M549 1036q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5q-125 0 -233 56v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151 -q0 -180 -207 -234v-4z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1135" -d="M532 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1194" -d="M295 266q0 -147 147 -147q89 0 172 59t148.5 171t99.5 269l105 478h163l-233 -1096h-139l24 205h-12q-93 -121 -183 -173t-188 -52q-112 0 -163 96h-9q-11 -78 -22.5 -148t-83.5 -420h-164l336 1588h168l-148 -695q-18 -92 -18 -135z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1206 -260h-114v1661h-213v-1661h-115v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h557v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="518" -d="M170 690q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="420" -d="M211 -276q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="717" -d="M537 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="688" -d="M745 1219q0 -191 -88.5 -311t-240.5 -120q-113 0 -180.5 71t-67.5 196q0 117 42 215.5t117.5 153.5t174.5 55q117 0 180 -67t63 -193zM500 1376q-102 0 -160.5 -87.5t-58.5 -229.5q0 -85 38 -127.5t107 -42.5q94 0 152.5 88.5t58.5 232.5q0 166 -137 166z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="958" -d="M872 485l-393 -370l-78 82l297 323l-172 391l113 50l233 -447v-29zM477 528l-368 -401l-86 70l282 360l-158 354l113 50l217 -402v-31z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1518" -d="M1362 1462l-1086 -1462h-153l1085 1462h154zM483 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90zM1327 203h-129l-43 -202h-127l43 202h-365l23 101l481 579h133l-121 -563h127zM1095 320q69 322 90 395q-20 -36 -110 -149 -l-205 -246h225z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1518" -d="M427 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90zM1305 1462l-1086 -1462h-153l1085 1462h154zM1343 1h-561l23 106l264 228q115 100 158.5 149.5t63.5 93t20 90.5q0 53 -31 85t-90 32q-90 0 -195 -80l-59 90q125 101 274 101 -q109 0 171.5 -56.5t62.5 -150.5q0 -99 -52.5 -179.5t-197.5 -205.5l-221 -187h395z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1565" -d="M517 1036q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5q-125 0 -233 56v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151 -q0 -180 -207 -234v-4zM1512 1462l-1086 -1462h-153l1085 1462h154zM1477 203h-129l-43 -202h-127l43 202h-365l23 101l481 579h133l-121 -563h127zM1245 320q69 322 90 395q-20 -36 -110 -149l-205 -246h225z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="874" -d="M657 680q-22 -130 -72 -212t-165 -175l-95 -75q-159 -127 -159 -275q0 -93 51.5 -144t147.5 -51q80 0 154 25.5t140 56.5l62 -129q-90 -48 -189 -74t-186 -26q-168 0 -259 83.5t-91 237.5q0 124 66 228t225 223q132 98 172.5 152.5t62.5 154.5h135zM760 1010 -q0 -77 -40.5 -122.5t-111.5 -45.5q-43 0 -69.5 26t-26.5 78q0 71 40 118.5t107 47.5q47 0 74 -25.5t27 -76.5z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM863 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM679 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM1080 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM934 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5 -t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5t75 33.5 -q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM991 1585q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM887 1583 -q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1673" -d="M1448 0h-737l98 465h-438l-293 -465h-197l938 1462h938l-33 -153h-565l-100 -469h528l-28 -150h-529l-115 -538h566zM840 621l147 688h-84l-434 -688h371z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM758 -276 -q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM898 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM657 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM1084 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM593 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM412 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM808 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM265 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM629 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1364" -d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l135 649h-149l32 150h150l141 663h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-111 -516h330l-33 -150h-330l-106 -502h162z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1438" -d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164zM1102 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5 -t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1007 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM821 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1227 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1067 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM664 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1028 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1128" -d="M487 723l-319 321l98 99l320 -320l323 320l99 -96l-324 -324l322 -322l-97 -96l-323 320l-320 -318l-96 96z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-200 0 -332 96l-129 -160l-112 92l137 170q-106 136 -106 371q0 264 96 482t263.5 336t377.5 118q99 0 178.5 -27t151.5 -84l131 166l114 -92l-149 -184q48 -62 73 -156t25 -201zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -135 41 -227l737 919q-90 88 -236 88zM1229 911q0 118 -33 205l-733 -911q91 -74 233 -74q152 0 272.5 97.5t190.5 279.5t70 403z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM991 1579h-104q-61 61 -128.5 154t-95.5 153v21 -h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM823 1606q56 60 125.5 151.5t106.5 149.5h190v-21 -q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM1217 1579h-103q-57 48 -161 189 -q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM643 1716q0 46 28 79.5t74 33.5q78 0 78 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1007 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM616 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1159" -d="M1106 829q0 -248 -164 -379t-483 -131h-133l-70 -319h-170l309 1462h170l-53 -256h160q213 0 323.5 -95t110.5 -282zM354 465h135q215 0 328 91t113 267q0 126 -70 181t-215 55h-166z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" -d="M-133 -492q-69 0 -123 21v143q61 -22 111 -22q65 0 107 47.5t65 157.5l280 1314q43 200 156 299t307 99q162 0 252 -71t90 -196q0 -57 -21 -106.5t-61.5 -95t-178.5 -150.5q-110 -83 -110 -151q0 -56 95 -122q47 -34 101 -87.5t79.5 -110t25.5 -123.5 -q0 -175 -108.5 -274.5t-292.5 -99.5q-175 0 -268 71v160q51 -41 118.5 -66.5t129.5 -25.5q113 0 181 58t68 159q0 40 -10.5 71t-33.5 59t-89 83q-88 69 -122.5 124t-34.5 115q0 53 18.5 96t49.5 78.5t124 104.5q80 56 111 87.5t48 65t17 70.5q0 64 -52.5 100.5t-141.5 36.5 -q-119 0 -186 -62.5t-95 -190.5l-274 -1303q-40 -189 -121 -276t-211 -87z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM824 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM600 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM1005 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM856 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM454 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM818 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM951 1456q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM847 1454q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1669" -d="M1165 -20q-108 0 -189.5 39.5t-121.5 119.5l-31 -139h-114l26 209h-8q-109 -132 -191.5 -180.5t-177.5 -48.5q-122 0 -191 99t-69 269q0 206 70.5 385t191.5 281t263 102q82 0 145 -48.5t102 -143.5h11l67 172h109l-31 -146q123 166 332 166q119 0 192.5 -68t73.5 -184 -q0 -182 -166.5 -283.5t-472.5 -101.5h-39l-4 -80q0 -131 62.5 -204.5t193.5 -73.5q55 0 116.5 16.5t178.5 67.5v-150q-164 -75 -328 -75zM412 119q95 0 188.5 91.5t153 240.5t59.5 299q0 103 -45.5 164t-122.5 61q-99 0 -187 -86.5t-138 -231.5t-50 -309q0 -114 37 -171.5 -t105 -57.5zM1325 973q-117 0 -211 -94.5t-141 -260.5h14q226 0 348.5 58.5t122.5 169.5q0 61 -35 94t-98 33z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM592 -276q0 -98 -81 -157 -t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM777 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM585 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM966 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM413 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM777 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM492 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM324 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM708 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM161 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM525 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1165" -d="M676 1343q-66 58 -146 113l95 117q118 -84 188 -154l260 146l64 -105l-240 -133q87 -115 126.5 -240.5t39.5 -269.5q0 -253 -71.5 -447t-203 -292t-311.5 -98q-182 0 -284.5 104t-102.5 289q0 160 67.5 298t187 217t267.5 79q105 0 181.5 -45.5t111.5 -124.5l6 2v17 -q0 136 -36.5 240t-110.5 197l-270 -149l-56 108zM487 121q107 0 190 56t134 168t51 226q0 118 -65.5 187t-178.5 69q-109 0 -189 -57.5t-123.5 -161t-43.5 -231.5q0 -126 57.5 -191t167.5 -65z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" -d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170zM871 1243q-40 0 -77.5 17.5 -t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM798 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM589 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM997 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM844 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM433 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM797 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1128" -d="M127 651v142h920v-142h-920zM475 373q0 121 111 121q53 0 82.5 -30.5t29.5 -90.5q0 -58 -30 -89.5t-82 -31.5t-81.5 31t-29.5 90zM475 1071q0 121 111 121q53 0 82.5 -30.5t29.5 -90.5q0 -58 -30 -89.5t-82 -31.5t-81.5 31t-29.5 90z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1149" -d="M1047 705q0 -189 -69.5 -360t-191.5 -266t-276 -95q-146 0 -246 65l-98 -125l-105 82l109 135q-68 103 -68 265q0 194 73.5 361t195.5 255t272 88q146 0 252 -68l104 129l105 -79l-119 -129q62 -97 62 -258zM647 971q-108 0 -195.5 -73t-137.5 -202t-50 -280 -q0 -92 17 -137l518 645q-54 47 -152 47zM885 688q0 84 -13 119l-514 -641q57 -45 158 -45q103 0 188.5 71.5t133 200.5t47.5 295z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM800 1241h-104q-61 61 -128.5 154t-95.5 153v21h181 -q43 -136 147 -303v-25z" /> - <glyph glyph-name="uacute" unicode="&#xfa;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM636 1268q56 60 125.5 151.5t106.5 149.5h190v-21 -q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM1024 1241h-103q-57 48 -161 189q-134 -119 -242 -189 -h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM457 1378q0 46 28 79.5t74 33.5q78 0 78 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM500 1268q56 60 125.5 151.5t106.5 149.5h190v-21 -q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" -d="M545 -20q-98 0 -172 51t-113 139h-10q-8 -104 -25 -176l-102 -486h-166l432 2048h168q-95 -441 -115 -522t-39 -149h9q101 125 189 177t183 52q139 0 218 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295 -q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM335 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83 -t-68.5 -34q-35 0 -58.5 22t-23.5 62zM699 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM534 1720h545l-31 -141h-544z" /> - <glyph glyph-name="amacron" unicode="&#x101;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM471 1382h545l-31 -141h-544z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM1102 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="abreve" unicode="&#x103;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM1053 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM997 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5 -q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM864 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM845 1606 -q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM602 1268q56 60 125.5 151.5 -t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM1227 1579h-103 -q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM964 1241h-103q-57 48 -161 189 -q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM822 1714 -q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM605 1376q0 53 32 90t82 37 -q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM633 1907h100 -q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM402 1569h100q41 -32 80.5 -82 -t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1364" -d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l309 1462h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-250 -1168h162zM561 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27 -q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" -d="M639 1114q194 0 281 -190h10q17 155 45 274l78 358h166l-330 -1556h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 214 72 392t194.5 275t274.5 97zM449 119q94 0 194 93.5t158.5 239t58.5 296.5q0 111 -54 169t-157 58q-101 0 -187.5 -82.5 -t-139 -232t-52.5 -314.5q0 -227 179 -227zM1243 1255q37 55 84 151.5t66 149.5h159v-20q-20 -55 -91 -154.5t-126 -152.5h-92v26z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1364" -d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l135 649h-149l32 150h150l141 663h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-111 -516h330l-33 -150h-330l-106 -502h162z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" -d="M635 1122q97 0 170.5 -50t114.5 -140h10l11 87l15 95l27 127h-373l27 129h377l39 186h166l-41 -186h149l-27 -129h-149l-262 -1241h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 213 68 390.5t191 279.5t278 102zM449 119q94 0 194.5 96.5 -t158.5 242t58 296.5q0 112 -56.5 170.5t-158.5 58.5q-103 0 -187.5 -84t-136 -233t-51.5 -320q0 -227 179 -227z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM526 1720h545l-31 -141h-544z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM436 1382h545l-31 -141h-544z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM1112 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM1005 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM672 1685q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM584 1376q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM772 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM729 31q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM514 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM405 1569h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1386" -d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 -q154 0 260 39l96 444h-289zM1219 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1026" -d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 -q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 -t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5zM952 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1386" -d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 -q154 0 260 39l96 444h-289zM1237 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1026" -d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 -q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 -t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5zM980 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1386" -d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 -q154 0 260 39l96 444h-289zM836 1714q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1026" -d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 -q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 -t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5zM611 1376q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1386" -d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 -q154 0 260 39l96 444h-289zM457 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1026" -d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 -q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 -t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5zM928 1542q-36 -54 -82 -149.5t-65 -151.5h-160v21q16 46 85 146.5t130 160.5h92v-27z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1389" -d="M1085 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168zM1200 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" -d="M729 0l148 692q18 94 18 135q0 148 -147 148q-89 0 -173.5 -59t-149 -171.5t-97.5 -271.5l-101 -473h-168l330 1556h168q-18 -82 -34.5 -159t-34 -156.5t-38 -166.5t-47.5 -189h11q94 123 185.5 176t191.5 53q131 0 202.5 -72t71.5 -204q0 -62 -23 -166 -q-39 -193 -145 -672h-168zM1075 1634h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1389" -d="M1348 1212h186l-29 -143h-190l-225 -1069h-172l143 688h-660l-145 -688h-170l225 1069h-186l31 143h186l53 250h170l-53 -250h659l56 250h172zM1094 840l49 229h-662l-47 -229h660z" /> - <glyph glyph-name="hbar" unicode="&#x127;" -d="M729 0l145 678q19 89 19 135q0 152 -148 152q-88 0 -173 -60t-150 -172.5t-98 -269.5l-97 -463h-168l265 1241h-152l29 129h149l39 186h168l-41 -186h350l-28 -129h-349l-88 -367h11q165 230 374 230q134 0 204.5 -73.5t70.5 -207.5q0 -58 -23 -166l-141 -657h-168z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM653 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM565 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM253 1720h545l-31 -141h-544z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM158 1382h545l-31 -141h-544z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM833 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM728 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM254 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5zM227 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5 -t61 84t131 97.5h116z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM426 1714q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1106" -d="M86 0l311 1462h168l-311 -1462h-168zM393 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379z" /> - <glyph glyph-name="ij" unicode="&#x133;" horiz-adv-x="1040" -d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5zM385 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM860 1376 -q0 56 32 91.5t83 35.5q86 0 86 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -64 24.5t-26 69.5z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="547" -d="M-166 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379zM796 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="520" -d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM700 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1141" -d="M1034 0h-186q-72 181 -146.5 359.5t-146.5 361.5l-174 -131l-125 -590h-170l309 1462h170l-151 -710l700 710h209l-639 -637zM299 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="999" -d="M330 559l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l330 1556h170l-129 -602t-102 -395h4zM226 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="999" -d="M330 559l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l232 1096h170l-62 -281q-6 -31 -13.5 -60.5t-57.5 -195.5h4z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="971" -d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735zM437 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="520" -d="M225 0h-168l332 1556h168zM406 1663q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="971" -d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735zM312 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="520" -d="M225 0h-168l332 1556h168zM-97 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="971" -d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735zM751 1162q37 55 84 151.5t66 149.5h159v-20q-20 -55 -91 -154.5t-126 -152.5h-92v26z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="520" -d="M225 0h-168l332 1556h168zM581 1255q37 55 84 151.5t66 149.5h159v-20q-20 -55 -91 -154.5t-126 -152.5h-92v26z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="971" -d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735zM684 709q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="580" -d="M225 0h-168l332 1556h168zM494 738q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="971" -d="M84 0l109 506l-111 -64l-59 109l202 117l168 794h172l-145 -682l237 135l60 -106l-330 -191l-98 -464h565l-33 -154h-737z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="512" -d="M408 870l124 74l54 -104l-213 -127l-152 -713h-168l127 596l-119 -72l-57 105l209 127l172 800h168z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1438" -d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164zM831 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="nacute" unicode="&#x144;" -d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170zM645 1268q56 60 125.5 151.5 -t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1438" -d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164zM381 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" -d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170zM242 -426q31 48 75 135.5 -t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1438" -d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164zM649 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" -d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170zM460 1569h100q41 -32 80.5 -82 -t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1321" -d="M868 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170zM484 1462l8 -22 -q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1438" -d="M717 -383q-104 0 -154 25l8 147q64 -20 146 -20q102 0 165.5 60t86.5 171l-471 1223h-9q-39 -265 -71 -418l-172 -805h-162l309 1462h182l455 -1214h6q20 123 44.5 258t201.5 956h166l-309 -1462q-82 -383 -422 -383z" /> - <glyph glyph-name="eng" unicode="&#x14b;" -d="M537 -492q-67 0 -123 21v141q64 -22 118 -22q124 0 166 207l179 837q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5 -q0 -76 -23 -180l-178 -836q-36 -172 -114.5 -250t-212.5 -78z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM667 1720h545l-31 -141h-544z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM438 1382h545l-31 -141h-544z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1217 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM1005 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM692 1606q44 45 113.5 135.5t116.5 165.5h172v-21q-51 -65 -149 -161t-167 -146h-86v27zM1034 1606q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM420 1268q44 45 113.5 135.5t116.5 165.5h172v-21q-51 -65 -149 -161t-167 -146h-86v27zM762 1268q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1751" -d="M1524 0h-674q-78 -20 -158 -20q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q152 0 237 -23h709l-31 -153h-565l-100 -469h528l-31 -150h-528l-115 -538h565zM696 131q69 0 123 19l246 1161q-76 22 -191 22q-157 0 -281 -101t-192.5 -281t-68.5 -398 -q0 -199 98 -310.5t266 -111.5z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1769" -d="M1251 -20q-270 0 -356 225q-69 -107 -171.5 -164t-225.5 -57q-184 0 -292 114t-108 308q0 193 75 360t201 255.5t281 88.5q270 0 359 -225q75 109 177.5 170t221.5 61q139 0 217 -65.5t78 -186.5q0 -183 -164.5 -284t-468.5 -101h-41l-4 -80q0 -131 61.5 -204.5 -t190.5 -73.5q75 0 145 24.5t150 59.5v-150q-162 -75 -326 -75zM649 969q-109 0 -196 -73t-135 -202t-48 -284q0 -141 62 -214t172 -73q177 0 278 160.5t101 427.5q0 124 -59.5 191t-174.5 67zM1413 973q-125 0 -220.5 -94.5t-139.5 -260.5h18q231 0 351 61t120 177 -q0 48 -32 82.5t-97 34.5z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1165" -d="M385 608l-129 -608h-170l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252zM532 1313q-102 -494 -116 -559h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166zM677 1606q56 60 125.5 151.5t106.5 149.5h190v-21 -q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="811" -d="M752 1116q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5zM504 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z -" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1165" -d="M385 608l-129 -608h-170l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252zM532 1313q-102 -494 -116 -559h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166zM314 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156 -t-125 -152h-92v27z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="811" -d="M752 1116q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5zM-103 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1165" -d="M385 608l-129 -608h-170l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252zM532 1313q-102 -494 -116 -559h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166zM518 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27 -q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="811" -d="M752 1116q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5zM331 1569h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163 -t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5zM641 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5zM486 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5zM1014 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z -" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5zM853 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5zM537 -276q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121 -q131 -38 131 -155z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5zM467 -276q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5zM421 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66 -v27z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5zM284 1569h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1020" -d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408zM530 -276q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="664" -d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30zM428 -276q0 -98 -81 -157t-214 -59q-41 0 -86 9 -v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1020" -d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408zM469 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="664" -d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30zM651 1254q37 55 84 151.5t66 149.5h159v-20 -q-20 -55 -91 -154.5t-126 -152.5h-92v26z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1020" -d="M659 815h295l-28 -137h-295l-144 -678h-172l144 678h-289l31 137h284l107 496h-406l33 151h985l-30 -151h-408z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="664" -d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 35 6.5 82t56.5 287h-137l27 129h137l55 254h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-55 -254h244l-27 -129h-244q-52 -245 -58.5 -282t-6.5 -71q0 -56 29 -86 -t81 -30z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM1059 1581q-40 0 -77.5 17.5t-73 39t-69 39 -t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="utilde" unicode="&#x169;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM887 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5 -q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM657 1720h545l-31 -141h-544z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM481 1382h545l-31 -141h-544z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM1221 1847q-34 -138 -115 -203t-213 -65 -q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM1040 1509q-34 -138 -115 -203t-213 -65 -q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM1132 1794q0 -99 -60 -157t-159 -58 -q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM1028 1792q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" /> - <glyph glyph-name="uring" unicode="&#x16f;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM951 1456q0 -99 -60 -157t-159 -58q-101 0 -160 57.5 -t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM847 1454q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM663 1606q44 45 113.5 135.5t116.5 165.5h172v-21 -q-51 -65 -149 -161t-167 -146h-86v27zM1005 1606q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM458 1268q44 45 113.5 135.5t116.5 165.5h172v-21 -q-51 -65 -149 -161t-167 -146h-86v27zM800 1268q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM815 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5 -q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM864 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5 -q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1745" -d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182zM1376 1579h-103q-57 48 -161 189 -q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1468" -d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205zM1139 1241h-103q-57 48 -161 189 -q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM988 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM870 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27 -q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM452 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM816 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 -t-23.5 62z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1087" -d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697zM679 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="909" -d="M690 0h-719l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531zM523 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1087" -d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697zM664 1714q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="909" -d="M690 0h-719l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531zM500 1376q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1087" -d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697zM502 1907h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="909" -d="M690 0h-719l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531zM331 1569h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="563" -d="M-137 -492q-65 0 -123 21v141q64 -22 113 -22q130 0 180 239l276 1315q40 195 122 280t247 85q41 0 97.5 -11t92.5 -26l-43 -129q-76 29 -137 29q-88 0 -135 -50.5t-74 -175.5l-280 -1333q-40 -190 -122 -276.5t-214 -86.5z" /> - <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="1128" -d="M127 -492q-69 0 -123 21v141q61 -22 113 -22q130 0 180 239l201 953h-191l12 65l205 66l29 147q38 195 123.5 280t247.5 85q42 0 99 -11t89 -26l-43 -129q-76 29 -137 29q-88 0 -135 -49.5t-74 -176.5l-33 -155h238l-25 -125h-237l-205 -969q-39 -188 -119.5 -275.5 -t-214.5 -87.5z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1462" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q148 0 258 -56.5t176 -162.5q81 33 124 97t62 193h187l8 -22q-33 -138 -114 -223.5t-222 -141.5q45 -117 45 -262zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1149" -d="M643 1110q216 0 326 -143q79 33 123 98.5t67 198.5h184l9 -23q-33 -134 -114.5 -222t-219.5 -140q35 -86 35 -191q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5 -q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1479" -d="M1407 1462l-43 -198q169 36 209 292h184l8 -22q-34 -153 -144.5 -254t-281.5 -135l-137 -649q-55 -266 -196 -391t-383 -125q-231 0 -345 106t-114 301q0 86 24 197l189 878h170l-191 -893q-22 -104 -22 -172q0 -266 291 -266q169 0 265 87t142 292l205 952h170z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1264" -d="M451 1096l-150 -695q-18 -89 -18 -133q0 -149 147 -149q88 0 173 60t150 172t99 270l100 475h166l-26 -127q171 34 211 295h184l8 -23q-34 -155 -147 -255.5t-281 -133.5l-180 -852h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-130 0 -202 70.5t-72 203.5q0 44 9 97 -t159 745h170z" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="520" -d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM153 1569h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1137" -d="M975 1432q0 -118 -90 -181l155 -1251h-168l-55 467h-498l-247 -467h-187l695 1286q-45 54 -45 144q0 95 62.5 153.5t156.5 58.5q100 0 160.5 -57.5t60.5 -152.5zM682 1714q103 91 227 248h213v-18q-43 -46 -146 -126.5t-175 -125.5h-119v22zM868 1430q0 54 -31.5 84 -t-82.5 30q-50 0 -82.5 -30t-32.5 -84t29.5 -84.5t85.5 -30.5q51 0 82.5 30.5t31.5 84.5zM707 1208q-37 -79 -79.5 -163t-224.5 -424h394q-51 442 -62 587h-28z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1157" -d="M659 1714q118 109 228 248h213v-18q-49 -51 -156 -132.5t-168 -117.5h-117v20zM942 1411q0 -99 -60.5 -156t-158.5 -57t-159.5 56t-61.5 155q0 97 62.5 155t158.5 58q98 0 158.5 -57.5t60.5 -153.5zM838 1409q0 54 -33 84.5t-82 30.5q-51 0 -83 -30.5t-32 -84.5 -q0 -53 29 -84t86 -31q49 0 82 31t33 84zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61 -q-104 0 -193.5 -86t-140.5 -233t-51 -310q0 -114 47 -170.5t132 -56.5z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1673" -d="M1448 0h-737l98 465h-438l-293 -465h-197l938 1462h938l-33 -153h-565l-100 -469h528l-28 -150h-529l-115 -538h566zM840 621l147 688h-84l-434 -688h371zM1128 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1669" -d="M1165 -20q-108 0 -189.5 39.5t-121.5 119.5l-31 -139h-114l26 209h-8q-109 -132 -191.5 -180.5t-177.5 -48.5q-122 0 -191 99t-69 269q0 206 70.5 385t191.5 281t263 102q82 0 145 -48.5t102 -143.5h11l67 172h109l-31 -146q123 166 332 166q119 0 192.5 -68t73.5 -184 -q0 -182 -166.5 -283.5t-472.5 -101.5h-39l-4 -80q0 -131 62.5 -204.5t193.5 -73.5q55 0 116.5 16.5t178.5 67.5v-150q-164 -75 -328 -75zM412 119q95 0 188.5 91.5t153 240.5t59.5 299q0 103 -45.5 164t-122.5 61q-99 0 -187 -86.5t-138 -231.5t-50 -309q0 -114 37 -171.5 -t105 -57.5zM1325 973q-117 0 -211 -94.5t-141 -260.5h14q226 0 348.5 58.5t122.5 169.5q0 61 -35 94t-98 33zM921 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-200 0 -332 96l-129 -160l-112 92l137 170q-106 136 -106 371q0 264 96 482t263.5 336t377.5 118q99 0 178.5 -27t151.5 -84l131 166l114 -92l-149 -184q48 -62 73 -156t25 -201zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -135 41 -227l737 919q-90 88 -236 88zM1229 911q0 118 -33 205l-733 -911q91 -74 233 -74q152 0 272.5 97.5t190.5 279.5t70 403zM811 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1149" -d="M1047 705q0 -189 -69.5 -360t-191.5 -266t-276 -95q-146 0 -246 65l-98 -125l-105 82l109 135q-68 103 -68 265q0 194 73.5 361t195.5 255t272 88q146 0 252 -68l104 129l105 -79l-119 -129q62 -97 62 -258zM647 971q-108 0 -195.5 -73t-137.5 -202t-50 -280 -q0 -92 17 -137l518 645q-54 47 -152 47zM885 688q0 84 -13 119l-514 -641q57 -45 158 -45q103 0 188.5 71.5t133 200.5t47.5 295zM589 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5zM183 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5zM96 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1020" -d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408zM145 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="664" -d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30zM59 -426q31 48 75 135.5t72 165.5h160v-20 -q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="520" -d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="348" -d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1135" -d="M1014 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1135" -d="M467 1569h100q41 -32 80.5 -82t81.5 -107q123 109 246 189h106v-27q-87 -77 -170.5 -163t-115.5 -138h-160q-34 95 -125 235l-43 66v27z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1096" -d="M436 1382h545l-31 -141h-544z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1135" -d="M1051 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="498" -d="M324 1376q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="ring" unicode="&#x2da;" -d="M989 1456q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM885 1454q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="373" -d="M184 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1135" -d="M838 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1135" -d="M397 1268q44 45 113.5 135.5t116.5 165.5h172v-21q-51 -65 -149 -161t-167 -146h-86v27zM739 1268q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M377 -336q0 -97 -63.5 -155t-163.5 -58q-101 0 -160.5 57t-59.5 154q0 98 59 155.5t161 57.5q100 0 163.5 -59t63.5 -152zM264 -338q0 54 -31.5 84.5t-82.5 30.5t-83 -30.5t-32 -84.5q0 -53 29 -84t86 -31q51 0 82.5 31t31.5 84z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-394 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-538 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-341 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-233 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-688 1241h-109q-59 59 -125 151.5t-98 155.5v21h186q40 -134 146 -303v-25zM-338 1241h-111q-59 59 -125 151.5t-98 155.5v21h187q44 -145 147 -303v-25z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-852 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1153" -d="M623 1270q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1153" -d="M666 1411q106 187 157 305h195v-20q-50 -69 -127 -154.5t-150 -152.5h-75v22zM449 1378q0 49 28.5 81t73.5 32q78 0 78 -80q0 -50 -30.5 -83.5t-68.5 -33.5q-35 0 -58 22t-23 62zM852 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 -t-23.5 62z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM139 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="518" -d="M170 690q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1163" -d="M940 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM71 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1544" -d="M1239 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168zM71 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="745" -d="M270 0l311 1462h168l-311 -1462h-168zM96 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1550" -d="M1487 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM950 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM92 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1311" -d="M818 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM71 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1602" -d="M110 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29zM968 1333q-156 0 -274.5 -83.5t-183 -233.5t-64.5 -340q0 -170 50.5 -300.5t164.5 -244.5l-26 -131h-551l30 152h348q-198 203 -198 534q0 225 93 411.5t255.5 287t368.5 100.5 -q169 0 292 -69t186.5 -197.5t63.5 -300.5q0 -230 -111 -428t-323 -338h363l-31 -152h-602l26 131q247 148 371.5 348.5t124.5 444.5q0 197 -97.5 303t-275.5 106z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="625" -d="M381 117q48 0 139 26v-129q-31 -13 -80.5 -23.5t-87.5 -10.5q-121 0 -184.5 59.5t-63.5 177.5q0 33 9.5 86.5t165.5 792.5h167l-155 -736q-17 -76 -17 -124q0 -119 107 -119zM354 1411q106 187 157 305h195v-20q-50 -69 -127 -154.5t-150 -152.5h-75v22zM137 1378 -q0 49 28.5 81t73.5 32q78 0 78 -80q0 -50 -30.5 -83.5t-68.5 -33.5q-35 0 -58 22t-23 62zM540 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1225" -d="M770 1462q432 0 432 -336q0 -141 -87 -238t-245 -126v-10q115 -32 176.5 -110.5t61.5 -188.5q0 -212 -152 -332.5t-407 -120.5h-463l309 1462h375zM434 836h248q156 0 249 73t93 199q0 104 -66.5 155.5t-209.5 51.5h-211zM287 145h266q181 0 278 80.5t97 227.5 -q0 116 -74.5 177.5t-214.5 61.5h-236z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="975" -d="M258 0h-172l309 1462h735l-30 -153h-565z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1143" -d="M686 1460h172l150 -1358l-21 -102h-1042l20 104zM737 1274q-71 -180 -166 -361l-403 -761h668l-78 757q-21 204 -21 365z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1087" -d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1389" -d="M1085 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1475" -d="M1057 819l-31 -149h-532l30 149h533zM1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5 -q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1141" -d="M1034 0h-186q-72 181 -146.5 359.5t-146.5 361.5l-174 -131l-125 -590h-170l309 1462h170l-151 -710l700 710h209l-639 -637z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1143" -d="M-117 0l801 1460h178l187 -1460h-168l-113 934q-19 155 -27 344q-72 -167 -176 -358l-493 -920h-189z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1714" -d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1438" -d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1059" -d="M276 840h639l-28 -150h-641zM322 1462h813l-33 -153h-813zM897 152l-33 -152h-891l31 152h893z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1391" -d="M1092 0h-174l276 1311h-662l-276 -1311h-170l309 1462h1006z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1159" -d="M1159 1085q0 -248 -164 -379t-481 -131h-135l-123 -575h-170l309 1462h330q214 0 324 -94.5t110 -282.5zM410 721h133q216 0 328 91t112 267q0 125 -69.5 180.5t-213.5 55.5h-163z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1067" -d="M-29 0l27 139l532 617l-268 569l27 137h862l-33 -153h-676l267 -566l-510 -591h733l-33 -152h-928z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1020" -d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1524" -d="M553 -20l49 225q-217 15 -334.5 133.5t-117.5 325.5q0 290 176.5 459.5t509.5 179.5l36 180h177l-37 -180q215 -13 331.5 -130t116.5 -319q0 -190 -84.5 -337.5t-237.5 -225.5t-360 -86l-49 -225h-176zM809 352q228 13 352.5 143.5t124.5 348.5q0 144 -80 223.5 -t-227 85.5zM803 1153q-152 0 -260 -59.5t-163.5 -167t-55.5 -252.5q0 -147 80.5 -232.5t226.5 -89.5z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1063" -d="M956 0h-180l-213 641l-481 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1505" -d="M866 449h-39l-94 -449h-176l94 449h-14q-210 0 -324 104.5t-114 298.5q0 93 24 207l84 403h178l-88 -422q-24 -111 -24 -182q0 -134 71.5 -199t221.5 -65h16l184 868h176l-184 -868h14q185 0 295.5 91t153.5 294l102 483h181l-105 -497q-53 -265 -210.5 -390.5 -t-422.5 -125.5z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1501" -d="M868 1333q-156 0 -274.5 -83.5t-183 -233.5t-64.5 -340q0 -170 50.5 -300.5t164.5 -244.5l-26 -131h-551l30 152h348q-198 203 -198 534q0 225 93 411.5t255.5 287t368.5 100.5q169 0 292 -69t186.5 -197.5t63.5 -300.5q0 -230 -111 -428t-323 -338h363l-31 -152h-602 -l26 131q247 148 371.5 348.5t124.5 444.5q0 197 -97.5 303t-275.5 106z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM255 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM619 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM452 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM816 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 -t-23.5 62z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1165" -d="M631 1116q99 0 171.5 -48.5t110.5 -141.5h13q54 120 100 170h135q-37 -76 -81 -216t-70 -257l-72 -322q-16 -68 -16 -113q0 -35 17 -54t48 -19q28 0 66 12v-121q-19 -11 -58 -18.5t-63 -7.5q-178 0 -178 193v13h-9q-89 -109 -173.5 -157.5t-176.5 -48.5 -q-138 0 -217.5 98.5t-79.5 271.5q0 209 70 387.5t192 278.5t271 100zM449 119q96 0 190 92t152.5 240.5t58.5 298.5q0 103 -56 164t-147 61q-102 0 -188.5 -83t-137.5 -228.5t-51 -317.5q0 -114 47 -170.5t132 -56.5zM635 1270q46 84 100.5 201.5t77.5 181.5h182v-29 -q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="911" -d="M655 496h-112q-155 0 -234.5 -54t-79.5 -155q0 -84 57 -127t160 -43q147 0 332 90v-144q-70 -38 -166.5 -60.5t-191.5 -22.5q-169 0 -263 74t-94 206q0 127 74 207.5t225 107.5v7q-74 28 -113.5 85.5t-39.5 135.5q0 95 51.5 165.5t142.5 108t205 37.5q180 0 316 -72 -l-62 -131q-47 28 -117 45t-129 17q-119 0 -184 -48t-65 -137q0 -70 52 -108.5t142 -38.5h125zM554 1270q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" -d="M623 -492l254 1184q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-251 -1164h-168zM633 1270 -q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="625" -d="M381 117q48 0 139 26v-129q-31 -13 -80.5 -23.5t-87.5 -10.5q-121 0 -184.5 59.5t-63.5 177.5q0 33 9.5 86.5t165.5 792.5h167l-155 -736q-17 -76 -17 -124q0 -119 107 -119zM329 1270q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z -" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1180" -d="M508 -20q-181 0 -278 93.5t-97 264.5q0 48 10.5 112.5t132.5 645.5h168l-110 -525q-33 -148 -33 -225q0 -120 58.5 -174.5t158.5 -54.5q131 0 223 107t140.5 324t48.5 548h168q0 -1116 -590 -1116zM642 1411q106 187 157 305h195v-20q-50 -69 -127 -154.5t-150 -152.5 -h-75v22zM425 1378q0 49 28.5 81t73.5 32q78 0 78 -80q0 -50 -30.5 -83.5t-68.5 -33.5q-35 0 -58 22t-23 62zM828 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1165" -d="M631 1116q99 0 171.5 -48.5t110.5 -141.5h13q54 120 100 170h135q-37 -76 -81 -216t-70 -257l-72 -322q-16 -68 -16 -113q0 -35 17 -54t48 -19q28 0 66 12v-121q-19 -11 -58 -18.5t-63 -7.5q-178 0 -178 193v13h-9q-89 -109 -173.5 -157.5t-176.5 -48.5 -q-138 0 -217.5 98.5t-79.5 271.5q0 209 70 387.5t192 278.5t271 100zM449 119q96 0 190 92t152.5 240.5t58.5 298.5q0 103 -56 164t-147 61q-102 0 -188.5 -83t-137.5 -228.5t-51 -317.5q0 -114 47 -170.5t132 -56.5z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" -d="M-45 -492l338 1584q39 174 101 272.5t158 150.5t234 52q172 0 268.5 -92t96.5 -254t-88 -266t-262 -144q124 -29 189 -117.5t65 -222.5q0 -223 -134 -357t-356 -134q-86 0 -160.5 25.5t-156.5 88.5l-125 -586h-168zM768 1427q-119 0 -192.5 -75t-114.5 -262l-189 -885 -q53 -38 128 -63t155 -25q102 0 179.5 45t118 124.5t40.5 174.5q0 284 -299 284h-68l31 142h72q171 0 261.5 83.5t90.5 239.5q0 99 -55.5 158t-157.5 59z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="940" -d="M260 -492h-176q42 230 184 504l-170 1084h170l80 -592q27 -211 27 -357h4q74 184 160 351l319 598h178l-583 -1076q-139 -253 -193 -512z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1133" -d="M596 948q-97 78 -137.5 152t-40.5 155q0 139 99.5 225.5t260.5 86.5q183 0 352 -115l-67 -121q-107 62 -168 80.5t-119 18.5q-97 0 -147.5 -45t-50.5 -130q0 -44 15 -78.5t46 -69t115 -101.5q141 -114 198.5 -222t57.5 -243q0 -158 -66 -287.5t-187 -201.5t-280 -72 -q-184 0 -293.5 107t-109.5 284q0 216 132.5 363t389.5 214zM496 119q153 0 248.5 117t95.5 303q0 101 -34 179.5t-112 145.5q-218 -50 -334 -171.5t-116 -297.5q0 -129 64.5 -202.5t187.5 -73.5z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="911" -d="M655 496h-112q-155 0 -234.5 -54t-79.5 -155q0 -84 57 -127t160 -43q147 0 332 90v-144q-70 -38 -166.5 -60.5t-191.5 -22.5q-169 0 -263 74t-94 206q0 127 74 207.5t225 107.5v7q-74 28 -113.5 85.5t-39.5 135.5q0 95 51.5 165.5t142.5 108t205 37.5q180 0 316 -72 -l-62 -131q-47 28 -117 45t-129 17q-119 0 -184 -48t-65 -137q0 -70 52 -108.5t142 -38.5h125z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="928" -d="M98 385q0 212 168 450t586 588q-115 -12 -264 -12h-205l31 145h661l-28 -133l-178 -157q-329 -287 -464 -486.5t-135 -369.5q0 -107 44 -165.5t163 -109.5q150 -62 202 -120.5t52 -147.5q0 -71 -39 -139t-131 -146h-176q110 96 147 152t37 110q0 45 -33.5 76.5 -t-156.5 81.5q-159 67 -220 151t-61 232z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" -d="M623 -492l254 1184q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-251 -1164h-168z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1112" -d="M428 -20q-157 0 -243.5 103.5t-86.5 319.5q0 268 91 579t228 454t331 143q325 0 325 -442q0 -249 -88 -556t-227 -454t-330 -147zM449 123q135 0 232 145.5t171 462.5h-557q-33 -169 -33 -309q0 -158 46 -228.5t141 -70.5zM727 1436q-133 0 -229.5 -132t-171.5 -427h555 -q26 128 26 266q0 293 -180 293z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="625" -d="M381 117q48 0 139 26v-129q-31 -13 -80.5 -23.5t-87.5 -10.5q-121 0 -184.5 59.5t-63.5 177.5q0 33 9.5 86.5t165.5 792.5h167l-155 -736q-17 -76 -17 -124q0 -119 107 -119z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="999" -d="M330 559l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l232 1096h170l-62 -281q-6 -31 -13.5 -60.5t-57.5 -195.5h4z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="989" -d="M506 1077l-19 148q-12 109 -48 157t-103 48q-55 0 -103 -11l-20 133q63 17 135 17q96 0 155.5 -30t91.5 -93.5t46 -183.5l119 -1049q11 -98 69 -98q34 0 68 12v-125q-20 -9 -52.5 -15.5t-58.5 -6.5q-90 0 -131.5 49.5t-52.5 154.5l-43 406q-18 153 -18 313 -q-55 -142 -121 -262l-361 -641h-176z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1194" -d="M295 266q0 -147 147 -147q89 0 172 59t148.5 171t99.5 269l105 478h163l-233 -1096h-139l24 205h-12q-93 -121 -183 -173t-188 -52q-112 0 -163 96h-9q-11 -78 -22.5 -148t-83.5 -420h-164l336 1588h168l-148 -695q-18 -92 -18 -135z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1001" -d="M98 1096h168l74 -627q17 -161 27 -324q178 162 296.5 389.5t192.5 561.5h166q-75 -365 -217.5 -620t-394.5 -476h-177z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="911" -d="M823 750h-80q-138 0 -250.5 -44.5t-175.5 -127.5t-63 -197q0 -94 46 -147.5t175 -104.5q244 -87 244 -260q0 -69 -36.5 -136.5t-131.5 -150.5h-182q109 95 146.5 149t37.5 111q0 49 -35.5 82.5t-163.5 81.5q-144 55 -208 138.5t-64 217.5q0 173 113.5 293t316.5 164v6 -q-108 32 -162.5 98.5t-54.5 161.5q0 116 91 209t239 129l-46 -4q-68 -8 -157 -8h-57l30 145h606l-28 -133h-6q-135 0 -253 -41t-187.5 -115t-69.5 -169q0 -215 303 -215h92z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1229" -d="M944 117q44 0 84 16v-133q-70 -20 -133 -20q-91 0 -138.5 46.5t-47.5 127.5q0 61 18 143l135 653h-395l-205 -950h-170l205 950h-221l12 66l197 80h985l-31 -146h-209l-139 -669q-12 -58 -12 -99q0 -29 16.5 -47t48.5 -18z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1169" -d="M1069 682q0 -187 -70 -357t-187.5 -257.5t-266.5 -87.5q-88 0 -160 28.5t-143 97.5q-7 -47 -17 -102t-102 -496h-166l242 1143q95 463 483 463q189 0 288 -110t99 -322zM672 975q-121 0 -196.5 -83.5t-119.5 -281.5l-82 -381q110 -110 256 -110q107 0 191 75.5t131 209.5 -t47 280q0 144 -58.5 217.5t-168.5 73.5z" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="928" -d="M270 438q0 -86 22.5 -143.5t69 -96.5t140.5 -75q133 -52 183 -112.5t50 -149.5q0 -70 -38.5 -138.5t-131.5 -152.5h-180q94 83 139 147t45 127q0 52 -34 82.5t-144 71.5q-153 57 -223 164t-70 260q0 190 77 354t205.5 252t291.5 88q133 0 266 -51l-47 -141q-42 17 -98 34 -t-127 17q-110 0 -199 -70t-143 -200t-54 -267z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1190" -d="M1020 600q0 -174 -69 -320.5t-183.5 -221t-265.5 -74.5q-199 0 -301.5 115t-102.5 337q0 309 163 484.5t456 175.5h502l-29 -146h-266q43 -79 60 -125.5t26.5 -100t9.5 -124.5zM711 950q-215 0 -328 -131.5t-113 -380.5q0 -156 62 -235.5t182 -79.5q163 0 251.5 137 -t88.5 383q0 189 -72 307h-71z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="856" -d="M526 117q53 0 144 26v-129q-33 -14 -83.5 -24t-82.5 -10q-125 0 -191.5 59.5t-66.5 177.5q0 65 28 195l113 538h-311l12 66l197 80h635l-31 -146h-332l-117 -544q-24 -111 -24 -173q0 -58 29 -87t81 -29z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1180" -d="M508 -20q-181 0 -278 93.5t-97 264.5q0 48 10.5 112.5t132.5 645.5h168l-110 -525q-33 -148 -33 -225q0 -120 58.5 -174.5t158.5 -54.5q131 0 223 107t140.5 324t48.5 548h168q0 -1116 -590 -1116z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1372" -d="M469 -18q-175 20 -273 133.5t-98 298.5q0 198 79 361t255 329l107 -100q-146 -140 -210.5 -275t-64.5 -297q0 -283 236 -313l135 643q39 184 125.5 268t226.5 84q143 0 215 -96t72 -268q0 -225 -80 -398t-222.5 -267.5t-338.5 -107.5l-98 -469h-166zM1106 743 -q0 230 -129 230q-71 0 -111 -52t-67 -182l-133 -620q133 13 231 91t153.5 220t55.5 313z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1030" -d="M246 1098q101 0 155.5 -58t71.5 -194l41 -352l410 602h176l-549 -791l67 -498q14 -93 42.5 -128t87.5 -35q38 0 79 12v-125q-66 -23 -129 -23q-102 0 -159 63t-76 216l-47 371l-455 -650h-190l608 832l-60 481q-9 79 -35.5 110.5t-72.5 31.5q-17 0 -68 -15l-30 123 -q70 27 133 27z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1462" -d="M1026 1554l-303 -1427q169 17 277.5 121.5t159 305.5t50.5 542h172q0 -391 -73.5 -625.5t-226 -352.5t-390.5 -132l-100 -478h-166l102 478q-186 17 -285.5 115.5t-99.5 273.5q0 92 27 213l106 508h168l-106 -512q-25 -117 -25 -189q0 -129 61 -194.5t183 -77.5l303 1431 -h166z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1495" -d="M377 -20q-132 0 -205.5 97.5t-73.5 268.5q0 181 68 373.5t194 376.5h177q-267 -410 -267 -746q0 -229 146 -229q159 0 217 270l65 305h166l-61 -278q-17 -74 -17 -131q0 -82 33.5 -124t93.5 -42q89 0 159.5 80t112.5 239t42 332q0 179 -27 324h168q31 -147 31 -318 -q0 -217 -65 -410.5t-174.5 -290.5t-254.5 -97q-93 0 -151.5 48.5t-81.5 127.5q-56 -88 -125.5 -132t-169.5 -44z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="625" -d="M381 117q48 0 139 26v-129q-31 -13 -80.5 -23.5t-87.5 -10.5q-121 0 -184.5 59.5t-63.5 177.5q0 33 9.5 86.5t165.5 792.5h167l-155 -736q-17 -76 -17 -124q0 -119 107 -119zM139 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 -t-23.5 62zM503 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1180" -d="M508 -20q-181 0 -278 93.5t-97 264.5q0 48 10.5 112.5t132.5 645.5h168l-110 -525q-33 -148 -33 -225q0 -120 58.5 -174.5t158.5 -54.5q131 0 223 107t140.5 324t48.5 548h168q0 -1116 -590 -1116zM450 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62zM814 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM625 1270q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1180" -d="M508 -20q-181 0 -278 93.5t-97 264.5q0 48 10.5 112.5t132.5 645.5h168l-110 -525q-33 -148 -33 -225q0 -120 58.5 -174.5t158.5 -54.5q131 0 223 107t140.5 324t48.5 548h168q0 -1116 -590 -1116zM610 1270q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5 -t-151 -203.5h-104v29z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1495" -d="M377 -20q-132 0 -205.5 97.5t-73.5 268.5q0 181 68 373.5t194 376.5h177q-267 -410 -267 -746q0 -229 146 -229q159 0 217 270l65 305h166l-61 -278q-17 -74 -17 -131q0 -82 33.5 -124t93.5 -42q89 0 159.5 80t112.5 239t42 332q0 179 -27 324h168q31 -147 31 -318 -q0 -217 -65 -410.5t-174.5 -290.5t-254.5 -97q-93 0 -151.5 48.5t-81.5 127.5q-56 -88 -125.5 -132t-169.5 -44zM797 1270q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1167" -d="M1055 848q-37 -266 -132 -468.5t-227 -301t-293 -98.5q-150 0 -232.5 73t-82.5 207q0 75 21 141.5t47 133.5q15 38 29 75.5t14 71.5q0 29 -15.5 43t-38.5 14q-21 0 -49.5 -8.5t-48.5 -19.5l10 131q78 32 150 32q74 0 117 -43t43 -114q0 -60 -18 -115.5t-38 -109.5 -q-21 -56 -38 -109.5t-17 -112.5q0 -153 164 -153q112 0 205.5 86.5t163 261.5t98.5 385q-525 6 -525 369q0 161 97.5 260.5t255.5 99.5q173 0 266.5 -130t93.5 -368q0 -66 -4 -106h143l-28 -127h-131zM528 1223q0 -128 88 -188t283 -60q6 30 6 106q0 361 -192 361 -q-87 0 -136 -59t-49 -160z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1044" -d="M537 715q130 245 248.5 438t191 257.5t166.5 64.5q47 0 104 -17l-37 -135q-37 8 -53 8q-51 0 -102.5 -56t-166.5 -241t-298 -504l-111 -530h-172l119 549l-238 913h170z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1622" -d="M440 -20q-135 0 -211.5 88t-76.5 264q0 145 56.5 305.5t164.5 312.5h-264l12 66l196 80h1356l-31 -146h-235q29 -126 29 -252q0 -202 -62.5 -373t-166 -258t-240.5 -87q-99 0 -158.5 49.5t-81.5 136.5q-105 -186 -287 -186zM1264 702q0 133 -21 248h-694 -q-223 -334 -223 -616q0 -106 37 -159.5t100 -53.5q80 0 138 70.5t85 199.5l39 180h162l-31 -151q-16 -75 -16 -133q0 -82 33.5 -124t95.5 -42q82 0 149.5 80.5t106.5 216t39 284.5z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM898 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1366" -d="M805 -20q-70 0 -137 20v152q60 -21 127 -21q92 0 145.5 49.5t79.5 175.5q29 153 29 213q0 88 -52.5 130t-160.5 42h-279l-156 -741h-172l279 1311h-322l33 151h901l-30 -151h-410l-90 -418h258q371 0 371 -307q0 -85 -19 -180l-14 -72q-37 -183 -129 -268.5t-252 -85.5z -" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="975" -d="M258 0h-172l309 1462h735l-30 -153h-565zM657 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1198" -d="M942 1331q-204 0 -353.5 -130.5t-213.5 -356.5h622l-30 -152h-625q-10 -62 -10 -151q0 -195 96 -302.5t270 -107.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-246 0 -382 146.5t-136 410.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141 -q-138 69 -279 69z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1028" -d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 -q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM255 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM619 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="547" -d="M-166 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1821" -d="M741 1309q-75 -292 -163 -598.5t-152.5 -455.5t-151.5 -213.5t-215 -64.5q-76 0 -125 23v150q52 -21 103 -21q83 0 135.5 44t99.5 148t119.5 340t224.5 801h666l-131 -624h109q440 0 440 -357q0 -231 -149 -356t-425 -125h-323l276 1309h-338zM1153 145q371 0 371 320 -q0 115 -63.5 170t-198.5 55h-142l-116 -545h149z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="1847" -d="M1139 1462h170l-133 -622h110q440 0 440 -359q0 -230 -148 -355.5t-425 -125.5h-324l144 688h-572l-145 -688h-170l309 1462h170l-131 -622h572zM1180 145q370 0 370 320q0 112 -61.5 167.5t-200.5 55.5h-141l-117 -543h150z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1366" -d="M1049 571q0 90 -52.5 130t-160.5 40h-279l-156 -741h-172l279 1311h-322l33 151h901l-30 -151h-410l-90 -418h272q184 0 270.5 -78t86.5 -233q0 -39 -9.5 -95.5t-99.5 -486.5h-172l90 416q21 93 21 155z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1145" -d="M1065 0h-197l-460 725l-152 -725h-170l309 1462h170l-151 -712l704 712h211l-737 -731zM727 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1427" -d="M395 1462h164l-174 -817l-90 -395h4l940 1212h199l-310 -1462h-161l174 825q60 289 94 410h-4l-946 -1235h-199zM1005 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1171" -d="M162 -20q-39 0 -87 8t-79 20v168q91 -39 164 -39q106 0 186 61.5t178 221.5l-309 1042h172l178 -643q49 -182 70 -289q61 136 125 246l405 686h195l-682 -1104q-124 -203 -241.5 -290.5t-274.5 -87.5zM1190 1890q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69 -h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1391" -d="M395 1462h172l-276 -1310h661l277 1310h172l-309 -1462h-422l-80 -381h-162l82 381h-424z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1155" -d="M590 838q440 0 440 -357q0 -230 -148 -355.5t-425 -125.5h-367l309 1462h731l-32 -153h-559l-101 -471h152zM483 145q371 0 371 320q0 114 -62.5 169.5t-199.5 55.5h-184l-117 -545h192z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1225" -d="M770 1462q432 0 432 -336q0 -141 -87 -238t-245 -126v-10q115 -32 176.5 -110.5t61.5 -188.5q0 -212 -152 -332.5t-407 -120.5h-463l309 1462h375zM434 836h248q156 0 249 73t93 199q0 104 -66.5 155.5t-209.5 51.5h-211zM287 145h266q181 0 278 80.5t97 227.5 -q0 116 -74.5 177.5t-214.5 61.5h-236z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="975" -d="M258 0h-172l309 1462h735l-30 -153h-565z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1272" -d="M895 -379l80 379h-907l-80 -379h-158l113 533h102q139 192 274.5 442.5t229.5 477t133 388.5h580l-277 -1308h186l-114 -533h-162zM1057 1307h-250q-77 -249 -249.5 -598.5t-319.5 -554.5h573z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1589" -d="M584 768l-365 694h187l360 -698l147 698h166l-147 -698l637 698h207l-674 -735l375 -727h-191l-362 731l-154 -731h-166l154 731l-649 -731h-209z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1090" -d="M1063 1159q0 -154 -100.5 -261t-272.5 -142v-6q129 -19 206 -102t77 -220q0 -130 -71.5 -233t-204 -159t-312.5 -56q-225 0 -391 79v166q78 -45 185.5 -74.5t219.5 -29.5q185 0 288.5 85.5t103.5 229.5q0 248 -322 248h-215l29 141h200q187 0 295.5 83t108.5 229 -q0 106 -62.5 155t-167.5 49q-168 0 -352 -118l-72 123q113 74 220.5 105.5t236.5 31.5q172 0 272.5 -86.5t100.5 -237.5z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1427" -d="M395 1462h164l-174 -817l-90 -395h4l940 1212h199l-310 -1462h-161l174 825q60 289 94 410h-4l-946 -1235h-199z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1427" -d="M395 1462h164l-174 -817l-90 -395h4l940 1212h199l-310 -1462h-161l174 825q60 289 94 410h-4l-946 -1235h-199zM1319 1890q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1145" -d="M1065 0h-197l-460 725l-152 -725h-170l309 1462h170l-151 -712l704 712h211l-737 -731z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1319" -d="M741 1309q-75 -292 -163 -598.5t-152.5 -455.5t-151.5 -213.5t-215 -64.5q-76 0 -125 23v150q52 -21 103 -21q83 0 135.5 44t99.5 148t119.5 340t224.5 801h713l-311 -1462h-172l278 1309h-383z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1714" -d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1389" -d="M1085 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1391" -d="M1092 0h-174l276 1311h-662l-276 -1311h-170l309 1462h1006z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1159" -d="M1159 1085q0 -248 -164 -379t-481 -131h-135l-123 -575h-170l309 1462h330q214 0 324 -94.5t110 -282.5zM410 721h133q216 0 328 91t112 267q0 125 -69.5 180.5t-213.5 55.5h-163z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1020" -d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1171" -d="M162 -20q-39 0 -87 8t-79 20v168q91 -39 164 -39q106 0 186 61.5t178 221.5l-309 1042h172l178 -643q49 -182 70 -289q61 136 125 246l405 686h195l-682 -1104q-124 -203 -241.5 -290.5t-274.5 -87.5z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1524" -d="M553 -20l49 225q-217 15 -334.5 133.5t-117.5 325.5q0 290 176.5 459.5t509.5 179.5l36 180h177l-37 -180q215 -13 331.5 -130t116.5 -319q0 -190 -84.5 -337.5t-237.5 -225.5t-360 -86l-49 -225h-176zM809 352q228 13 352.5 143.5t124.5 348.5q0 144 -80 223.5 -t-227 85.5zM803 1153q-152 0 -260 -59.5t-163.5 -167t-55.5 -252.5q0 -147 80.5 -232.5t226.5 -89.5z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1063" -d="M956 0h-180l-213 641l-481 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1362" -d="M1257 156l-114 -535h-162l80 379h-977l309 1462h172l-276 -1308h631l276 1308h172l-276 -1306h165z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1309" -d="M838 0l127 600q-199 -88 -400 -88q-156 0 -235.5 71.5t-79.5 204.5q0 74 22 168l109 506h170l-107 -504q-20 -100 -20 -137q0 -78 41 -117.5t141 -39.5q75 0 165.5 16.5t225.5 62.5l150 719h172l-309 -1462h-172z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="1956" -d="M84 0l309 1462h172l-278 -1308h532l277 1308h170l-277 -1308h531l276 1308h170l-309 -1462h-1573z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="1960" -d="M1855 156l-114 -535h-162l80 379h-1575l309 1462h172l-278 -1308h532l277 1308h170l-277 -1308h531l276 1308h170l-276 -1306h165z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1280" -d="M719 838q440 0 440 -357q0 -230 -148 -355.5t-425 -125.5h-355l277 1311h-322l33 151h494l-133 -624h139zM612 145q371 0 371 320q0 114 -62.5 169.5t-199.5 55.5h-172l-117 -545h180z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1610" -d="M1311 0h-170l309 1462h170zM567 1462l-133 -624h139q441 0 441 -357q0 -231 -149 -356t-425 -125h-354l309 1462h172zM467 145q371 0 371 320q0 115 -63.5 170t-199.5 55h-172l-116 -545h180z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1135" -d="M567 1462l-133 -624h139q441 0 441 -357q0 -231 -149 -356t-425 -125h-354l309 1462h172zM467 145q371 0 371 320q0 115 -63.5 170t-199.5 55h-172l-116 -545h180z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1198" -d="M375 131q227 0 369.5 142.5t187.5 418.5h-623l29 152h612l2 92q0 186 -92.5 290.5t-257.5 104.5q-63 0 -128 -11t-193 -52l-43 143q199 72 380 72q246 0 381.5 -144t135.5 -403q0 -299 -93.5 -517t-265.5 -328.5t-416 -110.5q-100 0 -181.5 18.5t-160.5 60.5v166 -q106 -48 152 -62.5t95.5 -23t109.5 -8.5z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2005" -d="M1942 907q0 -269 -85 -481t-243.5 -329t-368.5 -117q-252 0 -388 149.5t-136 419.5q0 68 6 139h-326l-145 -688h-170l309 1462h170l-131 -622h318q66 296 252 470.5t442 174.5q231 0 363.5 -152.5t132.5 -425.5zM1421 1333q-150 0 -269 -101t-184 -280t-65 -399 -q0 -201 90.5 -311.5t257.5 -110.5q147 0 261 95t180.5 278.5t66.5 406.5q0 201 -88.5 311.5t-249.5 110.5z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1165" -d="M594 610l-463 -610h-207l514 670q-192 101 -192 325t143.5 345.5t405.5 121.5h381l-308 -1462h-172l129 610h-231zM977 1315h-182q-188 0 -280.5 -77.5t-92.5 -225.5q0 -124 74.5 -190t212.5 -66h149z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1108" -d="M100 440q0 223 72 459t188.5 377t264.5 184q74 23 258 56t274 47l21 -138l-106 -17q-266 -44 -384 -81q-258 -85 -369 -493l5 -3q74 88 170.5 137.5t199.5 49.5q155 0 232.5 -97.5t77.5 -271.5q0 -201 -64.5 -356t-180 -234t-270.5 -79q-188 0 -288.5 116.5t-100.5 343.5 -zM504 119q96 0 168.5 63.5t115.5 186.5t43 260q0 130 -44 189t-132 59q-92 0 -190.5 -61.5t-171.5 -164.5q-23 -115 -23 -217q0 -315 234 -315z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1102" -d="M676 1114q175 0 270.5 -69t95.5 -207q0 -221 -280 -285v-4q110 -29 158.5 -86t48.5 -148q0 -96 -52 -172t-152.5 -119.5t-238.5 -43.5q-209 0 -318.5 115t-109.5 337q0 198 71.5 355t203.5 242t303 85zM270 475v-47q0 -307 271 -307q124 0 196 52.5t72 143.5 -q0 81 -65 119.5t-205 38.5h-269zM680 971q-152 0 -252.5 -91.5t-138.5 -265.5h225q176 0 268 53.5t92 151.5q0 72 -51 112t-143 40z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="936" -d="M203 1036q116 44 202 61t162 17q151 0 230.5 -64t79.5 -186q0 -106 -76 -187.5t-262 -152.5q-163 -61 -213 -92.5t-75.5 -70t-25.5 -93.5q0 -68 49 -107.5t154 -39.5q135 0 313 84v-150q-159 -75 -335 -75q-165 0 -258 73t-93 201q0 84 38 147.5t107.5 113t217.5 106.5 -q133 51 184.5 82t78 67.5t26.5 83.5q0 119 -154 119q-128 0 -305 -72z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1153" -d="M1077 948q0 -255 -83 -488t-222 -356.5t-317 -123.5q-168 0 -262.5 104.5t-94.5 290.5q0 178 68.5 339t185.5 249t260 88q101 0 171.5 -41.5t115.5 -132.5h6l2 32v25q0 256 -68.5 380t-207.5 124q-112 0 -215 -47l-43 122q56 28 135.5 46t142.5 18q214 0 320 -155 -t106 -474zM473 121q137 0 244.5 151.5t156.5 409.5q-31 112 -96.5 175t-154.5 63q-91 0 -173.5 -73.5t-131 -199.5t-48.5 -270q0 -122 52.5 -189t150.5 -67z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1708" -d="M774 489h-162q-33 -152 -106 -266.5t-179 -178.5t-239 -64q-67 0 -123 16l25 139q53 -16 100 -16q105 0 190.5 77t135 213t49.5 281q0 139 -52 212t-151 73q-49 0 -112 -14v137q87 18 137 18q170 0 260 -107.5t90 -314.5l-4 -76h168l100 478h154l-105 -478h164 -q30 147 106.5 265t180 175.5t225.5 57.5q79 0 141 -18l-30 -137q-54 14 -109 14q-104 0 -186 -75t-131 -212.5t-49 -284.5q0 -138 49 -211t149 -73q57 0 115 16v-139q-83 -16 -135 -16q-172 0 -261 108.5t-89 312.5q0 56 4 88h-170l-103 -489h-151z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="893" -d="M379 641q291 0 291 195q0 63 -43 100t-129 37q-66 0 -131 -16t-148 -54l-53 129q91 43 173 63.5t181 20.5q152 0 235 -67.5t83 -188.5q0 -109 -65.5 -183t-192.5 -102v-4q186 -49 186 -235q0 -164 -123.5 -260t-337.5 -96q-180 0 -309 69v158q71 -43 158 -65.5t168 -22.5 -q127 0 205.5 56.5t78.5 154.5q0 89 -51 127.5t-158 38.5h-149l33 145h98z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM1132 1552q-57 -311 -413 -311q-156 0 -236 61t-80 181 -q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="977" -d="M862 1096h213l-549 -541l375 -555h-203l-356 547l-115 -547h-168l232 1096h166l-113 -529z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1100" -d="M803 0h-170l207 954q-39 9 -78 9q-77 0 -125 -30.5t-89 -106t-124 -312.5q-84 -240 -142 -339.5t-128 -144t-170 -44.5q-47 0 -78 14v145q28 -10 67 -10q64 0 109.5 38t89 123.5t107.5 272.5q87 258 148 353t144 138.5t215 43.5q126 0 246 -31z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1413" -d="M969 0l188 881q-16 -35 -117 -205l-391 -676h-123l-110 678q-19 113 -23 201l-186 -879h-146l232 1096h186l115 -725q20 -142 24 -207q34 77 121 225l412 707h199l-234 -1096h-147z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1227" -d="M459 1096l-97 -459h535l98 459h168l-231 -1096h-170l104 494h-534l-105 -494h-168l234 1096h166z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" -d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" -d="M545 -20q-97 0 -170 50t-113 140h-10l-4 -38q-3 -25 -10.5 -70t-114.5 -554h-166l336 1588h139l-26 -209h8q179 227 372 227q137 0 216 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295q0 -110 55.5 -168.5 -t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="1786" -d="M696 0l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60t-140 -171.5t-93.5 -268.5l-101 -475h-168l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -68t69.5 -198q0 -68 -22 -178 -l-144 -672h-170l148 692q20 104 20 146q0 62 -34.5 99.5t-108.5 37.5q-81 0 -160 -58t-138.5 -164.5t-90.5 -252.5l-107 -500h-168z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1358" -d="M874 1112q189 -25 289.5 -142t100.5 -315q0 -187 -80.5 -342t-224 -242t-322.5 -87l-102 -476h-154l100 474q-185 24 -284 143.5t-99 323.5q0 183 77 333.5t218 237t328 92.5l94 444h156zM270 451q0 -147 66 -233.5t176 -94.5l180 848q-129 -6 -225 -75t-146.5 -185.5 -t-50.5 -259.5zM668 123q128 5 222.5 71.5t148 187t53.5 265.5t-64 228t-180 94z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="979" -d="M467 434l-346 -434h-195l475 565l-239 531h170l174 -412l330 412h194l-455 -539l252 -557h-168z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1219" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-164 -774q-16 -78 -16 -129q0 -78 78 -78q27 0 78 14l-113 -508h-172l80 363q-62 16 -90.5 66t-28.5 151h-8q-156 -221 -373 -221q-130 0 -203 70.5t-73 197.5 -q0 62 22 172l146 676h170z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1137" -d="M406 1096q-39 -185 -58.5 -278t-19.5 -146q0 -83 40 -115.5t111 -32.5q148 0 252 119.5t152 339.5l24 113h168l-233 -1096h-172l65 309q27 130 70 266h-8q-145 -192 -361 -192q-278 0 -278 276q0 55 24 183l54 254h170z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1786" -d="M1087 1096l-147 -693q-18 -92 -18 -135q0 -69 30.5 -108t106.5 -39q84 0 163.5 60t140 171.5t93.5 268.5l100 475h168l-233 -1096h-139l22 203h-10q-87 -119 -173.5 -171t-178.5 -52q-113 0 -174 65t-72 180h-8q-84 -122 -181.5 -183.5t-197.5 -61.5q-127 0 -196.5 68 -t-69.5 198q0 68 22 178l144 672h170l-148 -693q-20 -102 -20 -145q0 -62 34.5 -99.5t108.5 -37.5q80 0 158 57t139 165t92 253l107 500h167z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1823" -d="M1090 1096l-150 -695q-18 -89 -18 -133q0 -71 30.5 -109t106.5 -38q84 0 163.5 60t140 171.5t93.5 268.5l100 475h168l-163 -774q-17 -81 -17 -129q0 -39 21.5 -58.5t56.5 -19.5q26 0 45.5 5.5t32.5 8.5l-113 -508h-172l80 363q-63 16 -93 66t-30 151h-6 -q-153 -221 -354 -221q-113 0 -174 65t-72 180h-8q-169 -245 -379 -245q-127 0 -196.5 68t-69.5 198q0 63 22 178l144 672h170l-148 -695q-20 -100 -20 -143q0 -62 34.5 -99.5t108.5 -37.5q80 0 159 58t139 164t91 253l107 500h170z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1212" -d="M528 616q125 25 220 25q169 0 252 -75t83 -214q0 -169 -111 -270.5t-310 -101.5q-170 0 -261.5 80t-91.5 233q0 95 23 194l98 463h-346l31 146h516zM702 500q-101 0 -204 -21q-23 -106 -23 -168q0 -97 48.5 -143.5t148.5 -46.5q114 0 180 59t66 158q0 84 -49 123t-167 39 -z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1477" -d="M1180 0h-166l231 1096h168zM451 1096l-103 -480q125 25 219 25q169 0 252.5 -75t83.5 -214q0 -169 -112 -270.5t-310 -101.5q-170 0 -261 80.5t-91 232.5q0 95 23 194l129 609h170zM522 500q-100 0 -205 -21q-22 -110 -22 -168q0 -97 48.5 -143.5t148.5 -46.5 -q115 0 180 59t65 158q0 85 -49 123.5t-166 38.5z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1063" -d="M346 616q135 25 244 25q168 0 256 -72t88 -217q0 -109 -54.5 -194.5t-155 -131.5t-232.5 -46q-177 0 -270 79.5t-93 237.5q0 91 23 190l129 609h170zM553 500q-129 0 -236 -21q-22 -108 -22 -168q0 -97 52.5 -143.5t158.5 -46.5q124 0 194 57.5t70 159.5q0 82 -52.5 122 -t-164.5 40z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="934" -d="M426 1114q200 0 304 -113t104 -329q0 -211 -68.5 -370.5t-193 -240.5t-296.5 -81q-71 0 -144.5 14.5t-113.5 34.5v151q143 -59 258 -59q146 0 243 97t128 271h-481l29 148h469v29q0 160 -63 234.5t-189 74.5q-111 0 -242 -57l-51 129q155 67 307 67z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1599" -d="M1499 688q0 -194 -69.5 -360.5t-187 -255t-265.5 -88.5q-184 0 -287.5 114.5t-103.5 307.5q0 66 4 88h-258l-105 -494h-168l234 1096h166l-97 -459h250q63 226 192.5 349.5t303.5 123.5q184 0 287.5 -113.5t103.5 -308.5zM1110 969q-102 0 -181.5 -71.5t-125 -206 -t-45.5 -294.5q0 -131 59.5 -202.5t169.5 -71.5q96 0 174 74.5t121 208.5t43 305q0 119 -58 188.5t-157 69.5z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1079" -d="M569 434q-84 0 -132.5 -35t-100.5 -145q-62 -131 -100.5 -176.5t-86.5 -67.5t-114 -22q-49 0 -78 12v133q21 -6 49 -6q49 0 83 31t89 143q32 68 74.5 118.5t112.5 78.5q-93 27 -143 91.5t-50 160.5q0 159 114.5 252.5t313.5 93.5h414l-232 -1096h-166l93 434h-140z -M569 948q-112 0 -172.5 -53t-60.5 -145q0 -168 215 -168h188l78 366h-248z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM732 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM413 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM777 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" -d="M516 1370h350l-28 -129h-346q-38 -177 -54 -241t-41 -148h11q150 225 374 225q133 0 204 -73t71 -205q0 -62 -23 -166l-170 -795q-36 -171 -114 -250.5t-213 -79.5q-69 0 -123 21v143q59 -22 118 -22q124 0 166 207l170 796q21 99 21 135q0 148 -150 148 -q-88 0 -172.5 -59.5t-149.5 -171t-98 -269.5l-92 -436h-168l265 1241h-152l29 129h149l39 186h168z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="936" -d="M203 1036q116 44 202 61t162 17q151 0 230.5 -64t79.5 -186q0 -106 -76 -187.5t-262 -152.5q-163 -61 -213 -92.5t-75.5 -70t-25.5 -93.5q0 -68 49 -107.5t154 -39.5q135 0 313 84v-150q-159 -75 -335 -75q-165 0 -258 73t-93 201q0 84 38 147.5t107.5 113t217.5 106.5 -q133 51 184.5 82t78 67.5t26.5 83.5q0 119 -154 119q-128 0 -305 -72zM542 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 199 76 373t204.5 264t291.5 90q137 0 268 -51l-47 -141q-120 51 -219 51q-125 0 -221 -88t-146 -250h471l-33 -148h-469q-4 -35 -4 -100q0 -123 65.5 -196.5t184.5 -73.5q57 0 114 13t148 54v-143q-124 -63 -276 -63z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="877" -d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 -q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM161 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM525 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="520" -d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM340 1376q0 56 32 91.5t83 35.5q86 0 86 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -64 24.5t-26 69.5z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1561" -d="M874 616q128 25 222 25q169 0 252.5 -75t83.5 -214q0 -169 -112 -270.5t-310 -101.5q-170 0 -261.5 80t-91.5 233q0 84 23 194l96 467q-33 9 -63 9q-60 0 -99.5 -35t-79.5 -120.5t-110 -293.5q-81 -238 -139 -337.5t-128 -145t-169 -45.5q-51 0 -82 14v145q30 -10 67 -10 -q64 0 109.5 38t89 123.5t107.5 272.5q43 127 81 227t88 168t121 104t181 36q111 0 221 -33zM1051 500q-104 0 -205 -21q-23 -106 -23 -168q0 -190 197 -190q114 0 180 59t66 158q0 84 -49 123t-166 39z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1663" -d="M979 616q123 25 219 25q169 0 252.5 -75t83.5 -214q0 -169 -112 -270.5t-310 -101.5q-170 0 -261 80.5t-91 232.5q0 96 24 201h-452l-105 -494h-170l236 1096h166l-97 -459h453l98 459h168zM1155 500q-102 0 -207 -21q-22 -114 -22 -170q0 -188 196 -188q114 0 180 59 -t66 158q0 85 -49 123.5t-164 38.5z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" -d="M729 0l145 678q19 89 19 135q0 152 -148 152q-88 0 -173 -60t-150 -172.5t-98 -269.5l-97 -463h-168l265 1241h-152l29 129h149l39 186h168l-41 -186h350l-28 -129h-349l-88 -367h11q165 230 374 230q134 0 204.5 -73.5t70.5 -207.5q0 -58 -23 -166l-141 -657h-168z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="977" -d="M862 1096h213l-549 -541l375 -555h-203l-356 547l-115 -547h-168l232 1096h166l-113 -529zM591 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM789 1241h-104q-61 61 -128.5 154t-95.5 153v21h181 -q43 -136 147 -303v-25z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM1010 1552q-57 -311 -413 -311q-156 0 -236 61t-80 181 -q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" -d="M532 -72h41l-92 -420h-170l82 375zM451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="1952" -d="M1503 1327q-54 0 -101 -21.5t-99 -52.5l-72 142q132 86 293 86q175 0 269.5 -120t94.5 -339q0 -183 -58.5 -388t-153 -358t-210.5 -224.5t-262 -71.5q-114 0 -192 46.5t-111 129.5q-49 -82 -137.5 -129t-204.5 -47q-200 0 -304.5 126.5t-104.5 366.5q0 254 88.5 503.5 -t223 377t314.5 127.5q175 0 279 -88l-82 -138q-51 34 -96 53t-99 19q-124 0 -221.5 -114.5t-161 -325t-63.5 -402.5q0 -173 66 -263.5t192 -90.5q109 0 173 69t95 210l53 245h174q-54 -256 -58.5 -290.5t-4.5 -59.5q0 -174 178 -174q146 0 256 123.5t181 344t71 423.5 -q0 153 -54 229t-151 76z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1470" -d="M236 0l-132 1096h170l70 -650l13 -144l12 -167l319 500l-57 461h166l67 -590q24 -192 33 -350q111 116 189 243t134.5 280.5t114.5 416.5h168q-75 -374 -210 -632.5t-355 -463.5h-170l-53 428h-4l-273 -428h-202z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1268" -d="M1147 481q0 -234 -164.5 -357.5t-474.5 -123.5h-287l238 1120h-309l34 156h308l61 280h172l-61 -280h370l-33 -156h-370l-62 -282h144q214 0 324 -90t110 -267zM422 147h117q212 0 322 85t110 241q0 114 -71 163.5t-214 49.5h-147z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1130" -d="M774 950h-287l-73 -334q130 25 243 25q344 0 344 -289q0 -169 -120.5 -270.5t-321.5 -101.5q-172 0 -267 78t-95 239q0 85 22 190l98 463h-225l31 146h225l47 223h168l-45 -223h287zM621 500q-125 0 -236 -21q-23 -115 -23 -168q0 -99 52.5 -144.5t158.5 -45.5 -q123 0 194 58t71 159q0 87 -54.5 124.5t-162.5 37.5z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1763" -d="M1507 1331q-201 0 -351 -130t-216 -361h623l-31 -152h-625q-10 -62 -10 -147q0 -191 96.5 -300.5t270.5 -109.5q138 0 321 57v-149q-86 -31 -164 -45t-188 -14q-246 0 -381 146t-135 411q0 90 8 151h-324l-145 -688h-170l309 1462h170l-131 -622h322q53 195 161 342.5 -t258 224t332 76.5q195 0 351 -80l-72 -141q-135 69 -279 69z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1407" -d="M989 -20q-195 0 -300 106.5t-105 302.5q0 52 6 105h-258l-105 -494h-168l234 1096h166l-97 -459h254q59 226 201 352.5t336 126.5q135 0 268 -51l-47 -141q-120 51 -219 51q-126 0 -221.5 -89t-145.5 -251h472l-33 -146h-467q-6 -54 -6 -77v-23q0 -124 67 -197t185 -73 -q78 0 139 20t121 47v-143q-126 -63 -277 -63z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1231" -d="M594 0h-158l148 688h-123l-400 -688h-178l858 1460h144l252 -1460h-170l-111 688h-119zM831 842l-24 155q-25 156 -29 260q-26 -59 -59.5 -121.5t-167.5 -293.5h280z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1083" -d="M762 1096l188 -1096h-168l-80 498h-92l-102 -498h-158l111 498h-92l-289 -498h-172l641 1096h213zM682 633q-28 157 -49 336q-74 -139 -189 -336h238z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1722" -d="M1083 0h-157l149 688h-125l-397 -688h-180l405 688h-377l-143 -688h-172l309 1462h172l-133 -622h432l365 620h145l250 -1460h-170l-110 688h-119zM1319 842l-23 151q-22 149 -26 269q-32 -73 -67 -140.5t-163 -279.5h279z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1477" -d="M1153 1096l188 -1096h-167l-76 494h-94l-103 -494h-158l109 494h-92l-287 -494h-174l289 494h-252l-105 -494h-172l234 1096h170l-96 -459h307l268 459h211zM1077 633l-49 336l-188 -336h237z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1352" -d="M-82 0l209 444q80 170 138 239.5t133 106t182 41.5l-254 492l28 139h1049l-31 -139l-471 -489q103 -7 164.5 -45.5t92.5 -110.5t38 -221l25 -457h-172l-25 457q-9 146 -55 198t-148 52h-18l-152 -707h-170l150 707h-15q-73 0 -122.5 -22t-90 -71.5t-94.5 -162.5 -l-215 -451h-176zM739 860l422 451h-649z" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1235" -d="M-111 0l195 362q56 106 106 157.5t116 81.5t159 40l-225 350l20 105h928l-23 -105l-372 -350q81 -12 130.5 -44t78.5 -87.5t45 -167.5l49 -342h-168l-47 340q-15 108 -58.5 150t-142.5 42l-113 -532h-155l110 530h-9q-91 0 -148 -38.5t-117 -151.5l-180 -340h-179z -M621 643l311 305h-504z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="1874" -d="M430 0l213 453q34 72 68 132t77 103h-387l-145 -688h-170l309 1462h170l-131 -622h653l-249 483l28 139h1049l-31 -139l-471 -489q103 -7 164.5 -45.5t92.5 -110.5t38 -221l25 -457h-170l-23 457q-6 137 -52 193.5t-148 56.5h-7h-18l-152 -707h-170l150 707h-15 -q-109 0 -171.5 -51t-135.5 -203l-215 -453h-176zM1251 860l422 451h-649z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1640" -d="M307 0l197 365q46 87 98 129h-266l-105 -494h-172l234 1096h170l-96 -459h518l-228 354l19 105h930l-23 -105l-373 -350q119 -18 176.5 -82t77.5 -217l49 -342h-167l-48 342q-15 112 -59.5 151t-140.5 39l-113 -532h-156l109 530h-10q-92 0 -146 -38.5t-116 -153.5 -l-181 -338h-178zM1038 643l312 305h-504z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1090" -d="M791 436q0 248 -322 248h-215l29 141h200q187 0 295.5 82t108.5 230q0 106 -62.5 155t-167.5 49q-168 0 -352 -118l-72 123q174 114 367 133q-39 75 -113 179l-36 52v27h120q84 -91 150 -183q80 99 112.5 127.5t67.5 44t74 15.5q38 0 80 -15v-112q-37 8 -64 8 -q-31 0 -61 -24.5t-109 -131.5q112 -22 177 -102.5t65 -204.5q0 -154 -100.5 -261t-272.5 -142v-6q129 -19 206 -102t77 -220q0 -205 -145.5 -319t-450.5 -140q-159 -14 -217 -39.5t-58 -83.5q0 -84 131 -84q59 0 168 7q109 6 183 6q66 0 111 -10t85 -21v-166 -q-105 37 -215 37l-168 -4l-192 -4q-129 0 -203 59t-74 156q0 130 94 199.5t334 97.5q171 17 260.5 55t132 103t42.5 159z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="915" -d="M401 641q291 0 291 195q0 137 -174 137q-68 0 -132 -17.5t-144 -52.5l-54 129q135 62 254 78q-48 89 -143 215v27h121q65 -72 145 -178q90 116 142 151t106 35q47 0 86 -14v-113q-37 8 -63 8q-34 0 -67.5 -25.5t-96.5 -115.5q91 -26 139.5 -87.5t48.5 -152.5 -q0 -109 -65.5 -183t-192.5 -102v-4q87 -21 136.5 -81t49.5 -146q0 -105 -50 -175t-148 -114.5t-289 -74.5q-146 -23 -193 -50t-47 -71q0 -35 29 -55.5t88 -20.5q90 0 166 5t152 5q48 0 93 -6t93 -31v-143q-92 39 -188 39l-154 -4l-168 -4q-125 0 -195.5 53.5t-70.5 142.5 -q0 78 34.5 125t90.5 74.5t125.5 42t140.5 29.5q152 28 209 55t90 68.5t33 107.5q0 154 -209 154h-148l31 145h98z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1505" -d="M866 449h-39l-94 -449h-176l94 449h-14q-210 0 -324 104.5t-114 298.5q0 93 24 207l84 403h178l-88 -422q-24 -111 -24 -182q0 -134 71.5 -199t221.5 -65h16l184 868h176l-184 -868h14q185 0 295.5 91t153.5 294l102 483h181l-105 -497q-53 -265 -210.5 -390.5 -t-422.5 -125.5z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1462" -d="M1026 1554l-303 -1427q169 17 277.5 121.5t159 305.5t50.5 542h172q0 -391 -73.5 -625.5t-226 -352.5t-390.5 -132l-100 -478h-166l102 478q-186 17 -285.5 115.5t-99.5 273.5q0 92 27 213l106 508h168l-106 -512q-25 -117 -25 -189q0 -129 61 -194.5t183 -77.5l303 1431 -h166z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM696 131q186 0 321.5 143.5t188.5 395.5h-868q-6 -35 -6 -117q0 -199 98 -310.5t266 -111.5zM874 1333q-185 0 -323 -138 -t-191 -376h865q4 44 4 92q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1149" -d="M1051 705q0 -193 -72 -363.5t-194 -264t-275 -93.5q-194 0 -303 114t-109 308q0 190 73 357.5t197 257t275 89.5q191 0 299.5 -108.5t108.5 -296.5zM516 123q120 0 212 100t128 269h-580q-6 -30 -6 -95q0 -131 63.5 -202.5t182.5 -71.5zM647 969q-119 0 -210.5 -88.5 -t-133.5 -243.5h574l2 74q0 123 -58.5 190.5t-173.5 67.5z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1145" -d="M1262 1475q48 0 118 -15v-137q-42 16 -102 16q-38 0 -69 -21.5t-62 -68.5t-96 -180l-516 -1069h-185l-162 1462h170l97 -936q20 -184 20 -331l4 2q41 127 139 338l261 550q96 204 144 269t104 93t135 28z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="901" -d="M96 1096h170l64 -609q17 -203 20 -266l4 -100h6q70 177 156 366l158 340q61 132 99.5 181.5t87 71.5t118.5 22q41 0 78 -8v-121q-39 6 -66 6q-42 0 -72.5 -29.5t-78.5 -126.5l-387 -823h-230z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1145" -d="M1262 1475q48 0 118 -15v-137q-42 16 -102 16q-38 0 -69 -21.5t-62 -68.5t-96 -180l-516 -1069h-185l-162 1462h170l97 -936q20 -184 20 -331l4 2q41 127 139 338l261 550q96 204 144 269t104 93t135 28zM635 1579h-109q-59 59 -125 151.5t-98 155.5v21h186 -q40 -134 146 -303v-25zM985 1579h-111q-59 59 -125 151.5t-98 155.5v21h187q44 -145 147 -303v-25z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="901" -d="M96 1096h170l64 -609q17 -203 20 -266l4 -100h6q70 177 156 366l158 340q61 132 99.5 181.5t87 71.5t118.5 22q41 0 78 -8v-121q-39 6 -66 6q-42 0 -72.5 -29.5t-78.5 -126.5l-387 -823h-230zM463 1241h-109q-59 59 -125 151.5t-98 155.5v21h186q40 -134 146 -303v-25z -M813 1241h-111q-59 59 -125 151.5t-98 155.5v21h187q44 -145 147 -303v-25z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2425" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1577 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2056" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM1208 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1513" -d="M1450 891q0 -244 -79.5 -442.5t-227.5 -319t-344 -143.5q-22 -62 -59 -86.5t-91 -24.5q-59 0 -90 37.5t-33 91.5q-178 43 -277 189.5t-99 369.5q0 236 81.5 436t231 325t338.5 153q39 108 151 108q59 0 90 -33.5t33 -89.5q184 -50 279.5 -195t95.5 -376zM895 1225 -q-51 0 -84 23.5t-41 68.5q-128 -33 -228 -138t-155 -265.5t-55 -346.5q0 -158 58 -264.5t175 -146.5q48 80 142 80q49 0 81.5 -24.5t40.5 -68.5q196 48 317.5 255.5t121.5 496.5q0 318 -230 412q-45 -82 -143 -82z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1184" -d="M1083 688q0 -170 -53 -316.5t-152 -245t-231 -130.5q-18 -59 -53 -83t-86 -24q-50 0 -78 29.5t-31 79.5q-145 25 -223 137.5t-78 286.5q0 156 56 304t158.5 247t234.5 129q18 59 52.5 81.5t88.5 22.5q51 0 79 -29.5t30 -80.5q140 -34 213 -139.5t73 -268.5zM553 207 -q34 0 59 -18.5t37 -43.5q118 45 189 192.5t71 364.5q0 96 -35 162.5t-106 89.5q-40 -65 -121 -65q-35 0 -62 17t-36 46q-78 -26 -142 -102.5t-100.5 -191t-36.5 -248.5q0 -110 40.5 -182t117.5 -91q46 70 125 70z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="1952" -d="M1638 1985l-24 -121h-15q-81 0 -139.5 18t-108 39t-96.5 39t-104 18q-100 0 -127 -114h-131q50 235 274 235q61 0 114.5 -18t106.5 -39t108 -39t120 -18h22zM1329 1772q0 -152 -248 -220l17 74q114 44 114 90q0 17 -10.5 25t-25.5 14q-33 12 -47.5 27.5t-14.5 40.5 -q0 71 92 71q57 0 90 -33.5t33 -88.5zM1184 -20q-160 0 -305 88q-78 -39 -157 -63.5t-175 -24.5q-192 0 -294.5 128t-102.5 365q0 254 88.5 503.5t223 377t314.5 127.5q175 0 279 -88l-82 -138q-51 34 -96 53t-99 19q-124 0 -221.5 -114.5t-161 -325t-63.5 -402.5 -q0 -176 64 -265t188 -89q83 0 167 35t142 92q53 -60 130.5 -93.5t156.5 -33.5q163 0 273 120.5t182.5 343t72.5 427.5q0 153 -54 229t-151 76q-54 0 -101 -21.5t-99 -52.5l-72 142q132 86 293 86q175 0 269.5 -120t94.5 -339q0 -187 -60.5 -395.5t-157.5 -360.5t-216 -219 -t-270 -67z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1554" -d="M926 -20q-131 0 -230 59q-101 -59 -235 -59q-173 0 -268 107t-95 304q0 203 64 375t173.5 260t252.5 88q68 0 115 -17.5t88 -41.5l-64 -140q-78 48 -145 48q-89 0 -158 -69t-111.5 -207.5t-42.5 -297.5q0 -133 53.5 -196.5t161.5 -63.5q105 0 228 80q96 -80 219 -80 -q102 0 180.5 74t125 220t46.5 329q0 211 -137 211q-73 0 -166 -45l-41 137q40 23 104.5 41t126.5 18q138 0 211.5 -92t73.5 -270q0 -236 -66.5 -416t-185 -268t-278.5 -88zM1360 1679l-27 -120h-14q-123 0 -248 57q-67 30 -112.5 43.5t-88.5 13.5q-99 0 -127 -114h-131 -q26 121 98.5 177t176.5 56q62 0 115.5 -17.5t106 -39t107 -39t119.5 -17.5h25zM1059 1464q0 -72 -61.5 -128.5t-188.5 -90.5l18 74q115 46 115 92q0 26 -39 41q-36 13 -48.5 28t-12.5 36q0 35 24.5 54t67.5 19q59 0 92 -34.5t33 -90.5z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="1952" -d="M1614 1788l-4 -19l-119 -172h-31l-26 103h-191l-72 -103h-30l-27 103h-190l-74 -103h-29l-45 172l6 19h832zM1503 1327q-54 0 -101 -21.5t-99 -52.5l-72 142q132 86 293 86q175 0 269.5 -120t94.5 -339q0 -183 -58.5 -388t-153 -358t-210.5 -224.5t-262 -71.5 -q-114 0 -192 46.5t-111 129.5q-49 -82 -137.5 -129t-204.5 -47q-200 0 -304.5 126.5t-104.5 366.5q0 254 88.5 503.5t223 377t314.5 127.5q175 0 279 -88l-82 -138q-51 34 -96 53t-99 19q-124 0 -221.5 -114.5t-161 -325t-63.5 -402.5q0 -173 66 -263.5t192 -90.5 -q109 0 173 69t95 210l53 245h174q-54 -256 -58.5 -290.5t-4.5 -59.5q0 -174 178 -174q146 0 256 123.5t181 344t71 423.5q0 153 -54 229t-151 76z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1470" -d="M1247 1444v-10l-2 -11l-119 -172h-30l-27 103h-190l-72 -103h-31l-26 103h-193l-72 -103h-30l-43 172l4 21h831zM236 0l-132 1096h170l70 -650l13 -144l12 -167l319 500l-57 461h166l67 -590q24 -192 33 -350q111 116 189 243t134.5 280.5t114.5 416.5h168 -q-75 -374 -210 -632.5t-355 -463.5h-170l-53 428h-4l-273 -428h-202z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1198" -d="M526 -492l103 474q-224 12 -351.5 160t-127.5 395q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -190 99.5 -299t264.5 -109q77 0 144 29l-140 -654h-174z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="922" -d="M401 -492l101 472q-192 0 -298 105.5t-106 293.5q0 203 75 378.5t203 267t294 91.5q137 0 268 -51l-47 -141q-120 51 -219 51q-113 0 -205 -77.5t-144.5 -216t-52.5 -300.5q0 -128 65.5 -190t184.5 -62q103 0 191 47l-142 -668h-168z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M600 432l285 -166l-72 -123l-285 164l-180 -313l-129 74l180 315l-282 164l69 123l287 -164l199 346l-285 164l72 125l284 -164l183 313l127 -73l-183 -316l287 -164l-74 -123l-282 164z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1147" -d="M530 1264q-17 -95 -106 -95q-40 0 -62 24.5t-22 55.5q0 119 137 119h432q17 94 107 94q42 0 64 -19.5t22 -53.5q0 -62 -33.5 -92.5t-105.5 -32.5h-433z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1188" -d="M408 1374q81 0 148.5 18t128 39.5t118 39.5t119.5 18q100 0 153 -47.5t53 -126.5q0 -29 -6 -60h-123l2 24v21q0 36 -26.5 53t-67.5 17q-43 0 -99 -18.5t-122.5 -40t-142 -40t-156.5 -18.5h-12l24 121h9z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1188" -d="M637 1464q0 57 32.5 88t94.5 31q42 0 64 -20t22 -54q0 -29 -17.5 -41t-37.5 -20q-17 -6 -29 -14t-12 -25q0 -48 120 -94v-74q-237 67 -237 223z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1188" -d="M893 1460q0 -72 -57.5 -128.5t-171.5 -90.5v74q112 44 112 90q0 27 -41 41q-34 12 -46.5 27.5t-12.5 37.5q0 72 94 72q57 0 90 -33.5t33 -89.5z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1135 1231q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194q93 0 149.5 -50.5t63.5 -143.5h-79zM1135 -319q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5q92 0 149.5 -51t63.5 -143h-79zM1714 -41q-5 45 -35 66.5 -t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 -41q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1714 946q-5 45 -35 66.5t-98 21.5 -q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 946q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1905 459q-5 44 -35 66t-98 22q-78 0 -103.5 -20 -t-30.5 -68h-75q11 194 209 194q92 0 149.5 -52t63.5 -142h-80zM383 459q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52q92 0 149.5 -51t63.5 -143h-80z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1079 -35l11 -14q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM1567 651l14 11q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM881 1141l-11 14q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1565 -211q-31 50 -96 147.5t-103 149.5l98 98 -l17 -2q39 -69 84 -166t67 -157zM633 45l-2 -16q-155 -89 -324 -152l-69 68q177 110 297 198zM492 877l-17 2q-82 140 -151 323l67 70q123 -198 199 -297zM1651 1186l69 -68q-177 -110 -297 -198l-98 98l2 16q67 39 162 83t162 69zM391 453l-14 -11q-66 17 -161.5 52 -t-174.5 71v97q221 -53 350 -70v-139z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1440" -d="M395 1462h164l-174 -817l-90 -395h4l940 1212h199l-277 -1308h172l-250 -535h-200l239 381h-155l174 825q60 289 94 410h-4l-946 -1235h-199zM1319 1890q-57 -311 -414 -311q-155 0 -235 61.5t-80 180.5q0 32 10 69h145q-6 -34 -6 -59q0 -127 174 -127q113 0 170 45.5 -t74 140.5h162z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1186" -d="M451 1096l-150 -695q-18 -90 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-200 -951h163l-227 -524h-168l199 379h-137l22 203h-12q-93 -122 -182.5 -172.5t-188.5 -50.5q-130 0 -202 69.5t-72 198.5q0 62 22 172l146 676h170zM1135 1552 -q-57 -311 -414 -311q-155 0 -235 61.5t-80 180.5q0 32 10 69h145q-6 -34 -6 -59q0 -127 174 -127q113 0 170 45.5t74 140.5h162z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1133" -d="M565 1462l-39 -182h303l-32 -152h-303l-60 -290h141q435 0 435 -357q0 -233 -163.5 -357t-473.5 -124h-287l238 1128h-154l33 152h153l41 182h168zM287 147h116q211 0 322 84.5t111 241.5q0 114 -71.5 163.5t-213.5 49.5h-148z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1063" -d="M492 1311h264l-29 -131h-262l-121 -564q132 25 244 25q344 0 344 -289q0 -170 -121.5 -271t-321.5 -101q-358 0 -362 317q0 91 23 190l147 693h-150l29 131h148l53 245h168zM551 500q-125 0 -236 -21q-22 -110 -22 -168q0 -99 52 -144.5t159 -45.5q124 0 194 58.5 -t70 158.5q0 87 -54.5 124.5t-162.5 37.5z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1159" -d="M725 1462q214 0 324 -94.5t110 -282.5q0 -311 -256 -436l74 -155l-129 -64l-82 170q-117 -25 -252 -25h-135l-123 -575h-170l309 1462h330zM410 721h133q96 0 162 14l-68 148l127 61l74 -158q145 92 145 293q0 125 -69.5 180.5t-215.5 55.5h-163z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" -d="M545 -20q-98 0 -172 51t-113 139h-10q-9 -86 -13.5 -114.5t-113.5 -547.5h-166l336 1588h139l-26 -209h8q179 227 372 227q137 0 216 -97.5t79 -273.5q0 -222 -78 -409t-217 -283l74 -153l-129 -64l-76 160q-61 -14 -110 -14zM731 975q-96 0 -195.5 -95t-158 -239 -t-58.5 -295q0 -109 57 -168t161 -59q28 0 57 6l-74 164l127 59l72 -151q87 83 138.5 233t51.5 318q0 227 -178 227z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="975" -d="M961 1462l63 299h164l-98 -454h-555l-277 -1307h-172l311 1462h564z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="784" -d="M834 971h-402l-205 -971h-168l234 1096h395l70 319h172z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="965" -d="M1122 1462l-32 -155h-555l-109 -508h326l-33 -150h-326l-135 -649h-172l137 649h-145l31 150h145l141 663h727z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="784" -d="M59 0l105 489h-152l27 125h151l103 482h569l-31 -144h-401l-74 -338h271l-27 -125h-268l-105 -489h-168z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1235" -d="M522 655q-92 0 -129 -8l-135 -647h-172l309 1462h735l-30 -153h-565l-113 -521q63 13 137 13q236 0 371 -142.5t135 -396.5q0 -230 -82.5 -407t-232 -272t-342.5 -95q-152 0 -265 47v156q125 -53 244 -53q145 0 257.5 76t176.5 223t64 329q0 185 -95 287t-268 102z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1006" -d="M334 -502q-68 0 -115 13.5t-90 37.5v158q41 -25 86.5 -43t108.5 -18q166 0 268 150t102 390q0 143 -63.5 223t-177.5 80q-75 0 -127 -18l-99 -471h-168l234 1096h579l-30 -144h-412l-70 -334q83 19 134 19q108 0 193.5 -55t132 -156.5t46.5 -235.5q0 -203 -63.5 -360.5 -t-184.5 -244.5t-284 -87z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1683" -d="M584 768l-365 694h187l360 -698l147 698h166l-147 -698l637 698h207l-674 -735l293 -571h184l-115 -537h-161l79 381h-96l-362 731l-154 -731h-166l154 731l-649 -731h-209z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1716" -d="M774 489h-162q-33 -152 -106 -266.5t-179 -178.5t-239 -64q-67 0 -123 16l25 139q53 -16 100 -16q105 0 190.5 77t135 213t49.5 281q0 139 -52 212t-151 73q-49 0 -112 -14v137q87 18 137 18q170 0 260 -107.5t90 -314.5l-4 -76h168l100 478h154l-105 -478h164 -q30 147 106.5 265t180 175.5t225.5 57.5q79 0 141 -18l-30 -137q-54 14 -109 14q-104 0 -186 -75t-131 -212.5t-49 -284.5q0 -138 49 -211t149 -73q78 0 144 22l-111 -518h-164l74 359q-159 11 -236 120.5t-77 298.5q0 56 4 88h-170l-103 -489h-151z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1090" -d="M1063 1159q0 -154 -100.5 -261t-272.5 -142v-6q129 -19 206 -102t77 -220q0 -130 -71.5 -233t-204 -159t-312.5 -56q-225 0 -391 79v166q78 -45 185.5 -74.5t219.5 -29.5q185 0 288.5 85.5t103.5 229.5q0 248 -322 248h-215l29 141h200q187 0 295.5 83t108.5 229 -q0 106 -62.5 155t-167.5 49q-168 0 -352 -118l-72 123q113 74 220.5 105.5t236.5 31.5q172 0 272.5 -86.5t100.5 -237.5zM290 -328q57 0 89 36.5t32 105.5q0 102 -41 186h117q25 -41 42 -97t17 -108q0 -113 -65 -174t-188 -61q-65 0 -109 14l22 107q36 -9 84 -9z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="893" -d="M379 641q291 0 291 195q0 63 -43 100t-129 37q-66 0 -131 -16t-148 -54l-53 129q91 43 173 63.5t181 20.5q152 0 235 -67.5t83 -188.5q0 -109 -65.5 -183t-192.5 -102v-4q186 -49 186 -235q0 -164 -123.5 -260t-337.5 -96q-180 0 -309 69v158q71 -43 158 -65.5t168 -22.5 -q127 0 205.5 56.5t78.5 154.5q0 89 -51 127.5t-158 38.5h-149l33 145h98zM206 -328q57 0 89 36.5t32 105.5q0 102 -41 186h117q25 -41 42 -97t17 -108q0 -113 -65 -174t-188 -61q-65 0 -109 14l22 107q36 -9 84 -9z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1229" -d="M961 156h159l-112 -535h-162l82 379h-60l-460 725l-152 -725h-172l309 1462h172l-151 -712l704 712h209l-735 -731z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="1067" -d="M862 1096h197l-549 -539l283 -416h176l-113 -520h-160l80 379h-78l-356 547l-115 -547h-168l232 1096h166l-111 -521z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1145" -d="M1036 0h-186l-244 512l-43 -205h-137l80 377l-125 -96l-125 -588h-172l309 1462h172l-151 -712l135 135l69 319h136l-31 -141l391 399h211l-666 -674z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="973" -d="M219 0h-166l230 1094h168l-111 -521l123 117l69 324h130l-37 -172l266 252h196l-528 -482l-22 -108l348 -504h-191l-188 287l-41 -197h-129l74 344l-76 115z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1141" -d="M1034 0h-186l-293 721l-174 -129l-125 -592h-170l236 1126h-148l33 152h147l41 184h170l-39 -184h191l-33 -152h-190l-80 -374l700 710h207l-637 -635z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="979" -d="M199 1372h149l41 184h168l-41 -184h258l-29 -131h-258l-61 -295q-52 -226 -100 -387h4l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l265 1241h-152z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1294" -d="M1214 0h-196l-461 725l-151 -725h-170l276 1311h-326l33 151h496l-152 -712l705 712h211l-738 -731z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1147" -d="M1030 1096h197l-551 -539l383 -557h-193l-358 547l-115 -547h-166l199 950h-348l31 146h516l-111 -521z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1386" -d="M1118 156h160l-113 -537h-161l79 381h-165l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1227" -d="M459 1096l-97 -459h535l98 459h168l-202 -955h145l-113 -520h-172l80 379h-139l104 494h-534l-105 -494h-168l234 1096h166z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1546" -d="M1364 1311l-279 -1311h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h499l-30 -151h-332z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1409" -d="M459 1096l-97 -459h535l98 459h516l-30 -146h-348l-201 -950h-170l104 494h-534l-105 -494h-168l234 1096h166z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2040" -d="M1063 0h-174l276 1311h-633l-276 -1311h-170l309 1462h977l-145 -674q63 13 137 13q238 0 372 -143t134 -396q0 -230 -82.5 -406.5t-232.5 -272t-343 -95.5q-151 0 -264 47v156q125 -53 244 -53q145 0 257.5 76t176.5 223t64 329q0 185 -95 287t-268 102q-92 0 -129 -8z -" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1675" -d="M1020 618q83 19 141 19q109 0 195 -54.5t132 -155.5t46 -237q0 -203 -64 -361t-184.5 -244.5t-284.5 -86.5q-113 0 -202 51v158q42 -25 86 -43t106 -18q109 0 194 67.5t131 192.5t46 280q0 143 -63.5 223t-176.5 80q-80 0 -133 -20l-98 -469h-170l203 950h-496l-201 -950 -h-168l234 1096h829z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1475" -d="M1401 815q0 -229 -95 -421t-259 -296q46 -22 110 -22q67 0 141 26v-159q-64 -27 -151 -27q-81 0 -150.5 25t-115.5 67q-57 -17 -102 -22.5t-97 -5.5q-251 0 -391.5 151.5t-140.5 429.5q0 263 95.5 475.5t266.5 330.5t383 118q121 0 246 -47l-58 -148q-93 41 -190 41 -q-159 0 -289 -94t-201 -266t-71 -400q0 -210 95 -325t263 -115q42 0 70 4q-86 152 -86 361q0 186 58.5 352t159 255t228.5 89q139 0 210 -96t71 -281zM922 195q137 91 217 264t80 379q0 106 -28.5 157.5t-88.5 51.5q-63 0 -121 -78t-92.5 -208.5t-34.5 -271.5 -q0 -188 68 -294z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1227" -d="M748 190q94 60 152 174.5t58 237.5q0 121 -86 121q-77 0 -126.5 -97.5t-49.5 -228.5t52 -207zM920 -57q-129 0 -228 69q-92 -32 -188 -32q-190 0 -298 121.5t-108 332.5q0 192 71 352.5t194.5 245t283.5 84.5q99 0 180 -24l-34 -142q-65 25 -146 25q-112 0 -196.5 -65.5 -t-132.5 -195.5t-48 -296q0 -137 66 -218t186 -81q38 0 70 6q-74 111 -74 266q0 135 45.5 245t129 172t196.5 62q112 0 175.5 -71t63.5 -193q0 -154 -71.5 -290.5t-198.5 -217.5q40 -16 86 -16q53 0 115 18v-139q-60 -18 -139 -18z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1198" -d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM501 -328 -q57 0 89 36.5t32 105.5q0 102 -41 186h117q25 -41 42 -97t17 -108q0 -113 -65 -174t-188 -61q-65 0 -109 14l22 107q36 -9 84 -9z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="922" -d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM309 -328q57 0 89 36.5 -t32 105.5q0 102 -41 186h117q25 -41 42 -97t17 -108q0 -113 -65 -174t-188 -61q-65 0 -109 14l22 107q36 -9 84 -9z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1020" -d="M520 156h154l-113 -537h-160l80 381h-166l277 1311h-406l33 151h985l-30 -151h-408z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="1812" -d="M1550 186q0 -32 18.5 -51.5t47.5 -19.5q45 0 96 20l-110 -514h-172l79 363q-133 36 -133 174q0 48 15 108l92 426q18 93 18 139q0 144 -141 144q-81 0 -160 -58t-138.5 -164.5t-90.5 -252.5l-107 -500h-168l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60 -t-140 -171.5t-93.5 -268.5l-101 -475h-168l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -69.5t69.5 -208.5q0 -41 -7 -81t-15 -85l-88 -404q-11 -44 -11 -82z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="946" -d="M373 199q51 121 184 356l307 541h178l-628 -1100l-103 -488h-168l103 488l-148 1100h168l68 -535q13 -110 31 -362h8z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-10 -35h290l-32 -154h-287l-74 -352h-172l76 352h-274l32 154h277l8 43l-238 913h170z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="946" -d="M373 199q51 121 184 356l307 541h178l-626 -1096h256l-27 -125h-258l-76 -367h-168l76 367h-246l27 125h244l-146 1096h168l68 -535q13 -110 31 -362h8z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1165" -d="M897 156h164l-113 -537h-162l82 381h-92l-211 641l-483 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1067" -d="M526 434l-348 -434h-192l473 565l-238 531h168l174 -412l330 412h194l-454 -539l188 -416h150l-113 -520h-162l82 379h-61z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1591" -d="M1485 152l-113 -531h-162l80 379h-977l279 1309h-406l31 153h991l-32 -153h-412l-244 -1155h629l276 1308h172l-276 -1310h164z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1346" -d="M571 950l-118 -549q-19 -85 -19 -133q0 -149 148 -149q89 0 174.5 61t150 173.5t97.5 267.5l100 475h168l-176 -826q-11 -44 -11 -82q0 -32 17.5 -52.5t46.5 -20.5q45 0 96 20l-110 -514h-174l81 363q-63 16 -95 66t-32 151h-8q-92 -120 -180.5 -170.5t-185.5 -50.5 -q-131 0 -203 71t-72 203q0 48 21 166l114 530h-311l29 146h792l-30 -146h-310z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1303" -d="M1083 -379h-161l79 379h-163l127 600q-217 -88 -390 -88q-167 0 -247 72.5t-80 201.5q0 52 16 136l117 540h170l-113 -540q-16 -75 -16 -115q0 -71 41 -107t137 -36q87 0 174 15.5t223 63.5l150 719h172l-277 -1306h156z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1114" -d="M406 1096l-62 -289q-18 -94 -18 -135q0 -148 147 -148q151 0 255 118.5t155 342.5l24 111h168l-203 -955h146l-113 -520h-172l80 379h-143q83 387 100.5 453t38.5 129h-8q-169 -199 -369 -199q-133 0 -204.5 73t-71.5 203q0 38 5.5 75t74.5 362h170z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1309" -d="M838 0l127 600q-148 -58 -246 -76l-66 -307h-135l62 295q-332 0 -332 279q0 49 12 108l121 563h170l-119 -565q-10 -46 -10 -86q0 -75 43.5 -111t144.5 -36l74 346h137l-71 -334q95 14 247 67l150 719h172l-309 -1462h-172z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1135" -d="M406 1096l-62 -291q-18 -90 -18 -133q0 -146 135 -150l63 291h127l-61 -276q208 74 291 444l24 115h168l-233 -1096h-172l65 309q29 141 74 273h-8q-109 -142 -240 -187l-55 -264h-127l53 252q-128 0 -201 68t-73 206q0 43 7.5 89t72.5 350h170z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1309" -d="M440 860q222 90 387 90q328 0 328 -280q0 -51 -12 -109l-119 -561h-172l121 563q10 46 10 88q0 73 -42 109.5t-138 36.5q-89 0 -173 -15.5t-222 -64.5l-152 -717h-172l309 1462h172z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1180" -d="M729 0l62 291q18 91 18 135q0 147 -147 147q-154 0 -261 -124t-151 -343l-23 -106h-168l234 1096h172q-85 -404 -101.5 -467t-31.5 -113h8q89 105 177.5 151t184.5 46q131 0 204 -71.5t73 -203.5q0 -60 -23 -164l-57 -274h-170z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1567" -d="M387 817q49 199 159 352t261 234.5t321 81.5q201 0 312.5 -89t111.5 -249q0 -170 -99 -274t-300 -154.5t-512 -50.5h-104q-7 -54 -7 -113q0 -203 96 -313.5t273 -110.5q92 0 178.5 17.5t239.5 78.5v-159q-123 -50 -224 -69t-223 -19q-243 0 -380.5 149.5t-137.5 411.5 -q0 63 10 127q-111 0 -172 51t-61 145q0 42 12 86t35 76h152q-41 -64 -41 -131q0 -78 75 -78h25zM1130 1331q-197 0 -348.5 -136.5t-216.5 -377.5h58q259 0 423 33.5t243 103t79 187.5q0 91 -63.5 140.5t-174.5 49.5z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1214" -d="M696 -20q-183 0 -287 109t-104 302q0 57 4 88q-113 2 -171 51.5t-58 143.5q0 39 14 82t33 65h152q-17 -25 -29 -60t-12 -67q0 -73 77 -73h19q58 221 196 358t316 137q151 0 230 -64.5t79 -187.5q0 -117 -75 -204t-217.5 -134t-346.5 -47h-35l-4 -80q0 -136 64 -207 -t188 -71q75 0 146.5 24.5t148.5 59.5v-146q-170 -79 -328 -79zM838 973q-103 0 -195 -94.5t-139 -260.5h14q232 0 351.5 60.5t119.5 171.5q0 59 -42.5 91t-108.5 32z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1567" -d="M129 864q0 42 12 86t35 76h152q-41 -64 -41 -131q0 -78 75 -78h25q49 199 159 352t261 234.5t321 81.5q201 0 312.5 -89t111.5 -249q0 -175 -102.5 -278t-311.5 -152t-536 -49h-65q-7 -54 -7 -113q0 -203 96 -313.5t273 -110.5q92 0 178.5 17.5t239.5 78.5v-159 -q-123 -48 -208.5 -66t-172.5 -20l-74 -361h-170l76 367q-200 30 -308 177.5t-108 375.5q0 63 10 127q-111 0 -172 51t-61 145zM1130 1331q-197 0 -348.5 -136.5t-216.5 -377.5h58q259 0 423 33.5t243 103t79 187.5q0 91 -63.5 140.5t-174.5 49.5z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1214" -d="M502 -379l73 373q-131 34 -200.5 137.5t-69.5 259.5q0 57 4 88q-113 2 -171 51.5t-58 143.5q0 39 14 82t33 65h152q-17 -25 -29 -60t-12 -67q0 -73 77 -73h19q58 221 196 358t316 137q151 0 230 -64.5t79 -187.5q0 -117 -75 -204t-217.5 -134t-346.5 -47h-35l-4 -80 -q0 -136 64 -207t188 -71q75 0 146.5 24.5t148.5 59.5v-146q-142 -68 -279 -77l-71 -361h-172zM838 973q-103 0 -195 -94.5t-139 -260.5h14q232 0 351.5 60.5t119.5 171.5q0 59 -42.5 91t-108.5 32z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1589" -d="M584 768l-365 694h187l360 -698l147 698h166l-147 -698l637 698h207l-674 -735l375 -727h-191l-362 731l-154 -731h-166l154 731l-649 -731h-209zM1435 1890q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44 -t74.5 142h162z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1708" -d="M774 489h-162q-33 -152 -106 -266.5t-179 -178.5t-239 -64q-67 0 -123 16l25 139q53 -16 100 -16q105 0 190.5 77t135 213t49.5 281q0 139 -52 212t-151 73q-49 0 -112 -14v137q87 18 137 18q170 0 260 -107.5t90 -314.5l-4 -76h168l100 478h154l-105 -478h164 -q30 147 106.5 265t180 175.5t225.5 57.5q79 0 141 -18l-30 -137q-54 14 -109 14q-104 0 -186 -75t-131 -212.5t-49 -284.5q0 -138 49 -211t149 -73q57 0 115 16v-139q-83 -16 -135 -16q-172 0 -261 108.5t-89 312.5q0 56 4 88h-170l-103 -489h-151zM1409 1552 -q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1288" -d="M256 0h-170l309 1462h170l-151 -712l704 712h211l-692 -680q233 -15 357 -151.5t124 -378.5q0 -229 -81 -402.5t-231.5 -267.5t-346.5 -94q-151 0 -262 47v156q123 -53 241 -53q149 0 261.5 75.5t175.5 218t63 320.5q0 185 -93.5 283t-269.5 98q-104 0 -192 -31z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1053" -d="M862 1096h197l-490 -486q166 -25 254 -135.5t88 -294.5q0 -199 -64 -354.5t-184 -241.5t-282 -86q-126 0 -217 51v158q42 -25 87 -43t107 -18q177 0 279 144.5t102 391.5q0 142 -70.5 224.5t-189.5 82.5q-81 0 -155 -24l-97 -465h-168l232 1096h166l-111 -521z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1331" -d="M1329 1462l-278 -1310h170l-246 -531h-201l240 379h-168l278 1309h-383q-75 -292 -163 -598.5t-152.5 -455.5t-151.5 -213.5t-215 -64.5q-76 0 -125 23v150q52 -21 103 -21q83 0 135.5 44t99.5 148t119.5 340t224.5 801h713z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1098" -d="M834 145h163l-229 -524h-166l199 379h-168l207 954q-39 9 -78 9q-77 0 -125 -30.5t-89 -106t-124 -312.5q-84 -240 -142 -339.5t-128 -144t-170 -44.5q-47 0 -78 14v145q28 -10 67 -10q64 0 109.5 38t89 123.5t107.5 272.5q87 258 148 353t144 138.5t215 43.5 -q126 0 246 -31z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1389" -d="M459 -512q-148 0 -264 49v164q125 -53 260 -53q212 0 323.5 112t167.5 377l115 551h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168l-285 -1353q-68 -323 -225 -472t-426 -149z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1227" -d="M459 1096l-97 -459h535l98 459h168l-225 -1063q-63 -292 -174.5 -413.5t-308.5 -121.5q-121 0 -217 49v162q91 -63 215 -63q127 0 200.5 92.5t120.5 320.5l92 435h-534l-105 -494h-168l234 1096h166z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1401" -d="M1118 154h176l-247 -535h-201l239 381h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1227" -d="M459 1096l-97 -459h535l98 459h168l-200 -951h163l-227 -524h-168l199 379h-168l104 494h-534l-105 -494h-168l234 1096h166z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1309" -d="M846 0l-82 -379h-160l113 535h153l95 444q-217 -88 -390 -88q-327 0 -327 279q0 49 12 108l121 563h170l-119 -565q-10 -46 -10 -86q0 -74 41 -110.5t137 -36.5q88 0 176 16t219 63l152 719h172l-309 -1462h-164z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1184" -d="M453 1096l-62 -289q-18 -94 -18 -135q0 -148 145 -148q155 0 261.5 121t152.5 344l22 107h166l-231 -1096h-137l-82 -379h-170l108 520h140q47 230 63.5 293t42.5 133h-10q-147 -184 -363 -184q-135 0 -206.5 71.5t-71.5 204.5q0 42 7.5 85t72.5 352h170z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1724" -d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-272 -1310h172l-246 -531h-200l239 379h-170q126 590 193 905.5t94 392.5h-6l-717 -1298h-131z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1411" -d="M1157 881q-16 -35 -117 -205l-391 -676h-123l-110 678q-19 113 -23 201l-186 -879h-146l232 1096h186l115 -725q20 -142 24 -207q34 77 121 225l412 707h199l-203 -953h164l-226 -520h-170l199 377h-145z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM1204 1890q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z -" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM1157 1552q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5t75 33.5 -q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM454 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM818 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1673" -d="M1448 0h-737l98 465h-438l-293 -465h-197l938 1462h938l-33 -153h-565l-100 -469h528l-28 -150h-529l-115 -538h566zM840 621l147 688h-84l-434 -688h371z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1669" -d="M1165 -20q-108 0 -189.5 39.5t-121.5 119.5l-31 -139h-114l26 209h-8q-109 -132 -191.5 -180.5t-177.5 -48.5q-122 0 -191 99t-69 269q0 206 70.5 385t191.5 281t263 102q82 0 145 -48.5t102 -143.5h11l67 172h109l-31 -146q123 166 332 166q119 0 192.5 -68t73.5 -184 -q0 -182 -166.5 -283.5t-472.5 -101.5h-39l-4 -80q0 -131 62.5 -204.5t193.5 -73.5q55 0 116.5 16.5t178.5 67.5v-150q-164 -75 -328 -75zM412 119q95 0 188.5 91.5t153 240.5t59.5 299q0 103 -45.5 164t-122.5 61q-99 0 -187 -86.5t-138 -231.5t-50 -309q0 -114 37 -171.5 -t105 -57.5zM1325 973q-117 0 -211 -94.5t-141 -260.5h14q226 0 348.5 58.5t122.5 169.5q0 61 -35 94t-98 33z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM1192 1890q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM1068 1552q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1354" -d="M750 1333q-221 0 -431 -96v160q121 50 223 69t224 19q245 0 381.5 -150t136.5 -411q0 -253 -100.5 -470t-281.5 -345.5t-394 -128.5q-200 0 -312 88t-112 249q0 251 221 364.5t690 113.5h105q6 57 6 84v30q0 198 -93.5 311t-262.5 113zM506 133q199 0 347 135t216 377 -h-106q-353 0 -524 -77t-171 -244q0 -90 63 -140.5t175 -50.5z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1010" -d="M516 1116q186 0 289.5 -110.5t103.5 -300.5t-75 -362.5t-197.5 -267.5t-269.5 -95q-153 0 -230.5 66.5t-77.5 184.5q0 181 167.5 283t473.5 102h33l4 80q0 138 -65 208.5t-187 70.5q-75 0 -145 -23t-150 -61v145q100 46 172.5 63t153.5 17zM377 123q104 0 195 95.5 -t137 258.5h-13q-229 0 -350 -59.5t-121 -171.5q0 -53 36.5 -88t115.5 -35z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1354" -d="M750 1333q-221 0 -431 -96v160q121 50 223 69t224 19q245 0 381.5 -150t136.5 -411q0 -253 -100.5 -470t-281.5 -345.5t-394 -128.5q-200 0 -312 88t-112 249q0 251 221 364.5t690 113.5h105q6 57 6 84v30q0 198 -93.5 311t-262.5 113zM506 133q199 0 347 135t216 377 -h-106q-353 0 -524 -77t-171 -244q0 -90 63 -140.5t175 -50.5zM586 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM950 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1010" -d="M516 1116q186 0 289.5 -110.5t103.5 -300.5t-75 -362.5t-197.5 -267.5t-269.5 -95q-153 0 -230.5 66.5t-77.5 184.5q0 181 167.5 283t473.5 102h33l4 80q0 138 -65 208.5t-187 70.5q-75 0 -145 -23t-150 -61v145q100 46 172.5 63t153.5 17zM377 123q104 0 195 95.5 -t137 258.5h-13q-229 0 -350 -59.5t-121 -171.5q0 -53 36.5 -88t115.5 -35zM341 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM705 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 -t-23.5 62z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1589" -d="M584 768l-365 694h187l360 -698l147 698h166l-147 -698l637 698h207l-674 -735l375 -727h-191l-362 731l-154 -731h-166l154 731l-649 -731h-209zM770 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1134 1716 -q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1708" -d="M774 489h-162q-33 -152 -106 -266.5t-179 -178.5t-239 -64q-67 0 -123 16l25 139q53 -16 100 -16q105 0 190.5 77t135 213t49.5 281q0 139 -52 212t-151 73q-49 0 -112 -14v137q87 18 137 18q170 0 260 -107.5t90 -314.5l-4 -76h168l100 478h154l-105 -478h164 -q30 147 106.5 265t180 175.5t225.5 57.5q79 0 141 -18l-30 -137q-54 14 -109 14q-104 0 -186 -75t-131 -212.5t-49 -284.5q0 -138 49 -211t149 -73q57 0 115 16v-139q-83 -16 -135 -16q-172 0 -261 108.5t-89 312.5q0 56 4 88h-170l-103 -489h-151zM748 1378q0 46 28 79.5 -t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1112 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1090" -d="M1063 1159q0 -154 -100.5 -261t-272.5 -142v-6q129 -19 206 -102t77 -220q0 -130 -71.5 -233t-204 -159t-312.5 -56q-225 0 -391 79v166q78 -45 185.5 -74.5t219.5 -29.5q185 0 288.5 85.5t103.5 229.5q0 248 -322 248h-215l29 141h200q187 0 295.5 83t108.5 229 -q0 106 -62.5 155t-167.5 49q-168 0 -352 -118l-72 123q113 74 220.5 105.5t236.5 31.5q172 0 272.5 -86.5t100.5 -237.5zM461 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM825 1716q0 46 28 79.5t75 33.5q77 0 77 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="893" -d="M379 641q291 0 291 195q0 63 -43 100t-129 37q-66 0 -131 -16t-148 -54l-53 129q91 43 173 63.5t181 20.5q152 0 235 -67.5t83 -188.5q0 -109 -65.5 -183t-192.5 -102v-4q186 -49 186 -235q0 -164 -123.5 -260t-337.5 -96q-180 0 -309 69v158q71 -43 158 -65.5t168 -22.5 -q127 0 205.5 56.5t78.5 154.5q0 89 -51 127.5t-158 38.5h-149l33 145h98zM323 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM687 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62 -z" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1077" -d="M547 819q193 -4 299 -99t106 -261q0 -143 -70 -252t-204 -168t-316 -59q-94 0 -187.5 22.5t-158.5 58.5v164q179 -104 361 -104q184 0 289.5 87.5t105.5 244.5q0 116 -73 173.5t-214 57.5h-159l26 137l514 486h-581l32 155h797l-29 -139z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="934" -d="M385 453q164 -13 264.5 -121t100.5 -285q0 -159 -68.5 -281.5t-197.5 -190t-300 -67.5q-197 0 -323 70v156q147 -88 332 -88q179 0 284 105.5t105 289.5q0 143 -86 216t-254 73h-72l25 114l487 508h-539l31 144h733l-26 -125z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1427" -d="M395 1462h164l-174 -817l-90 -395h4l940 1212h199l-310 -1462h-161l174 825q60 289 94 410h-4l-946 -1235h-199zM676 1720h545l-31 -141h-544z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM481 1382h545l-31 -141h-544z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1427" -d="M395 1462h164l-174 -817l-90 -395h4l940 1212h199l-310 -1462h-161l174 825q60 289 94 410h-4l-946 -1235h-199zM664 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1028 1716q0 46 28 79.5t75 33.5q77 0 77 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM457 1378q0 46 28 79.5t74 33.5q78 0 78 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM664 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1028 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM433 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM797 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM696 131q186 0 321.5 143.5t188.5 395.5h-868q-6 -35 -6 -117q0 -199 98 -310.5t266 -111.5zM874 1333q-185 0 -323 -138 -t-191 -376h865q4 44 4 92q0 199 -94 310.5t-261 111.5z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1149" -d="M1051 705q0 -193 -72 -363.5t-194 -264t-275 -93.5q-194 0 -303 114t-109 308q0 190 73 357.5t197 257t275 89.5q191 0 299.5 -108.5t108.5 -296.5zM516 123q120 0 212 100t128 269h-580q-6 -30 -6 -95q0 -131 63.5 -202.5t182.5 -71.5zM647 969q-119 0 -210.5 -88.5 -t-133.5 -243.5h574l2 74q0 123 -58.5 190.5t-173.5 67.5z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM696 131q186 0 321.5 143.5t188.5 395.5h-868q-6 -35 -6 -117q0 -199 98 -310.5t266 -111.5zM874 1333q-185 0 -323 -138 -t-191 -376h865q4 44 4 92q0 199 -94 310.5t-261 111.5zM664 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1028 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1149" -d="M1051 705q0 -193 -72 -363.5t-194 -264t-275 -93.5q-194 0 -303 114t-109 308q0 190 73 357.5t197 257t275 89.5q191 0 299.5 -108.5t108.5 -296.5zM516 123q120 0 212 100t128 269h-580q-6 -30 -6 -95q0 -131 63.5 -202.5t182.5 -71.5zM647 969q-119 0 -210.5 -88.5 -t-133.5 -243.5h574l2 74q0 123 -58.5 190.5t-173.5 67.5zM433 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM797 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1198" -d="M375 131q227 0 369.5 142.5t187.5 418.5h-623l29 152h612l2 92q0 186 -92.5 290.5t-257.5 104.5q-63 0 -128 -11t-193 -52l-43 143q199 72 380 72q246 0 381.5 -144t135.5 -403q0 -299 -93.5 -517t-265.5 -328.5t-416 -110.5q-100 0 -181.5 18.5t-160.5 60.5v166 -q106 -48 152 -62.5t95.5 -23t109.5 -8.5zM446 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM810 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="934" -d="M426 1114q200 0 304 -113t104 -329q0 -211 -68.5 -370.5t-193 -240.5t-296.5 -81q-71 0 -144.5 14.5t-113.5 34.5v151q143 -59 258 -59q146 0 243 97t128 271h-481l29 148h469v29q0 160 -63 234.5t-189 74.5q-111 0 -242 -57l-51 129q155 67 307 67zM286 1378 -q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM650 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1171" -d="M162 -20q-39 0 -87 8t-79 20v168q91 -39 164 -39q106 0 186 61.5t178 221.5l-309 1042h172l178 -643q49 -182 70 -289q61 136 125 246l405 686h195l-682 -1104q-124 -203 -241.5 -290.5t-274.5 -87.5zM528 1720h545l-31 -141h-544z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM333 1382h545l-31 -141h-544z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1171" -d="M162 -20q-39 0 -87 8t-79 20v168q91 -39 164 -39q106 0 186 61.5t178 221.5l-309 1042h172l178 -643q49 -182 70 -289q61 136 125 246l405 686h195l-682 -1104q-124 -203 -241.5 -290.5t-274.5 -87.5zM525 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83 -t-68.5 -34q-35 0 -58.5 22t-23.5 62zM889 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM337 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83 -t-68.5 -34q-35 0 -58.5 22t-23.5 62zM701 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1171" -d="M162 -20q-39 0 -87 8t-79 20v168q91 -39 164 -39q106 0 186 61.5t178 221.5l-309 1042h172l178 -643q49 -182 70 -289q61 136 125 246l405 686h195l-682 -1104q-124 -203 -241.5 -290.5t-274.5 -87.5zM532 1606q44 45 113.5 135.5t116.5 165.5h172v-21q-51 -65 -149 -161 -t-167 -146h-86v27zM874 1606q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM320 1268q44 45 113.5 135.5t116.5 165.5h172v-21 -q-51 -65 -149 -161t-167 -146h-86v27zM662 1268q47 51 116.5 141t113.5 160h172v-21q-51 -65 -149 -161t-167 -146h-86v27z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1309" -d="M838 0l127 600q-199 -88 -400 -88q-156 0 -235.5 71.5t-79.5 204.5q0 74 22 168l109 506h170l-107 -504q-20 -100 -20 -137q0 -78 41 -117.5t141 -39.5q75 0 165.5 16.5t225.5 62.5l150 719h172l-309 -1462h-172zM598 1716q0 46 28 79.5t74 33.5q78 0 78 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM962 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1137" -d="M406 1096q-39 -185 -58.5 -278t-19.5 -146q0 -83 40 -115.5t111 -32.5q148 0 252 119.5t152 339.5l24 113h168l-233 -1096h-172l65 309q27 130 70 266h-8q-145 -192 -361 -192q-278 0 -278 276q0 55 24 183l54 254h170zM413 1378q0 46 28 79.5t74 33.5q78 0 78 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM777 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="975" -d="M1130 1462l-30 -153h-565l-244 -1153h155l-114 -537h-162l80 381h-164l309 1462h735z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="784" -d="M59 0l234 1096h569l-31 -144h-401l-172 -811h143l-110 -520h-174l80 379h-138z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1610" -d="M1311 0h-170l309 1462h170zM567 1462l-133 -624h139q441 0 441 -357q0 -231 -149 -356t-425 -125h-354l309 1462h172zM467 145q371 0 371 320q0 115 -63.5 170t-199.5 55h-172l-116 -545h180zM752 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62zM1116 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1477" -d="M1180 0h-166l231 1096h168zM451 1096l-103 -480q125 25 219 25q169 0 252.5 -75t83.5 -214q0 -169 -112 -270.5t-310 -101.5q-170 0 -261 80.5t-91 232.5q0 95 23 194l129 609h170zM522 500q-100 0 -205 -21q-22 -110 -22 -168q0 -97 48.5 -143.5t148.5 -46.5 -q115 0 180 59t65 158q0 85 -49 123.5t-166 38.5zM590 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM954 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="965" -d="M1122 1462l-32 -155h-555l-109 -508h326l-33 -150h-326l-104 -502h139l-61 -299q-24 -122 -81.5 -180.5t-156.5 -58.5q-67 0 -104 20v142q46 -19 98 -19q40 0 66.5 31t37.5 82l29 135h-170l137 649h-145l31 150h145l141 663h727z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="784" -d="M397 139l-61 -291q-27 -127 -83.5 -183t-154.5 -56q-66 0 -104 20v142q47 -19 98 -19q40 0 67 31t38 82l28 135h-166l105 489h-152l27 125h151l103 482h569l-31 -144h-401l-74 -338h271l-27 -125h-268l-76 -350h141z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1042" -d="M901 147h139l-61 -299q-29 -126 -85 -182.5t-153 -56.5q-66 0 -104 20v142q48 -19 98 -19q40 0 67 31t38 82l26 135h-90l-211 641l-483 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="961" -d="M467 434l-346 -434h-195l475 565l-239 531h170l174 -412l330 412h194l-455 -539l189 -418h141l-61 -291q-27 -123 -83 -181t-155 -58q-66 0 -104 20v142q48 -19 98 -19q40 0 67 31t38 82l28 135h-74z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1063" -d="M700 700l256 -700h-180l-211 641l-483 -641h-186l536 700h-276l32 154h273l-232 608h172l203 -563l443 563h186l-485 -608h268l-33 -154h-283z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="979" -d="M117 629h256l-211 467h170l174 -412l330 412h194l-393 -467h260l-27 -125h-270l227 -504h-168l-192 434l-346 -434h-195l424 504h-260z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1159" -d="M96 379q0 213 156 336t434 123h178l135 624h170l-309 -1462h-319q-445 0 -445 379zM834 692h-177q-181 0 -283 -79.5t-102 -225.5q0 -240 289 -240h158z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" -d="M639 1114q194 0 281 -190h10q17 155 45 274l78 358h166l-330 -1556h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 214 72 392t194.5 275t274.5 97zM449 119q94 0 194 93.5t158.5 239t58.5 296.5q0 111 -54 169t-157 58q-101 0 -187.5 -82.5 -t-139 -232t-52.5 -314.5q0 -227 179 -227z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1702" -d="M1604 848l-103 -490q-40 -192 -140.5 -285t-264.5 -93q-212 0 -283 170q-130 -168 -354 -168q-170 0 -263.5 92.5t-93.5 257.5q0 237 170.5 371.5t462.5 134.5h139l134 624h172l-234 -1100q-8 -32 -8 -71q0 -78 42.5 -119t121.5 -41q176 0 223 217l105 500h174zM844 686 -h-117q-219 0 -331.5 -90.5t-112.5 -265.5q0 -91 53 -145t156 -54q111 0 186.5 61.5t95.5 163.5z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1741" -d="M961 299q0 -84 41.5 -133t127.5 -49q100 0 158.5 61t89.5 205l66 317h164l-66 -319q-43 -213 -141 -307t-277 -94q-134 0 -213 64t-102 173h-8q-97 -126 -197.5 -181.5t-212.5 -55.5q-138 0 -215.5 97t-77.5 273q0 215 70 391t192 274.5t275 98.5q97 0 170.5 -50 -t114.5 -140h10q16 138 47 278l76 354h166l-244 -1138q-14 -72 -14 -119zM449 119q93 0 191.5 90.5t159 236.5t60.5 302q0 110 -55.5 168.5t-159.5 58.5q-100 0 -185.5 -81.5t-137.5 -229.5t-52 -318q0 -227 179 -227z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1716" -d="M754 295q0 35 5 77.5t5 98.5q0 116 -72 164.5t-227 48.5h-199l29 143h203q190 0 296.5 82.5t106.5 227.5q0 100 -58.5 152t-170.5 52q-169 0 -353 -118l-71 123q115 75 221.5 106t235.5 31q171 0 271.5 -87t100.5 -237q0 -153 -99 -260t-273 -143v-6q133 -27 187 -89 -t54 -180l-6 -157q0 -101 39 -147t127 -46q103 0 158.5 56t85.5 196l96 465h172l-102 -490q-44 -201 -140 -289.5t-274 -88.5q-348 0 -348 315z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1522" -d="M745 356l-2 -88q0 -151 166 -151q100 0 158.5 61t89.5 205l66 317h166l-66 -319q-43 -214 -141.5 -307.5t-280.5 -93.5q-321 0 -321 270l4 90q0 84 -43 120t-146 36h-162l31 145h107q138 0 210 49.5t72 140.5q0 68 -44 105t-130 37q-72 0 -137 -19.5t-137 -50.5l-53 129 -q176 84 337 84q157 0 245.5 -66.5t88.5 -189.5q0 -108 -64.5 -183t-195.5 -104v-4q90 -14 136 -68.5t46 -144.5z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1167" -d="M860 0h-164l76 356q16 76 16 119q0 209 -280 209h-242l29 141h217q172 0 279.5 87.5t107.5 232.5q0 95 -57 145.5t-154 50.5q-106 0 -195 -31.5t-176 -86.5l-71 123q206 137 454 137q175 0 275 -87t100 -237q0 -152 -96.5 -256t-278.5 -145v-4q130 -19 194 -90t64 -183 -q0 -30 -8.5 -81t-50.5 -244h156l-113 -537h-162z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="963" -d="M750 360q0 -22 -2.5 -44t-32.5 -175h145l-110 -518h-170l77 377h-141q34 157 52.5 241.5t15.5 110.5q0 80 -47 112t-142 32h-162l31 145h107q138 0 210 49.5t72 140.5q0 68 -44 105t-130 37q-72 0 -137 -19.5t-137 -50.5l-53 129q176 84 337 84q157 0 245.5 -66.5 -t88.5 -189.5q0 -108 -64.5 -183t-195.5 -104v-4q90 -14 138.5 -68t48.5 -141z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="1835" -d="M1282 1462l-213 -995q-25 -119 -25 -176q0 -160 170 -160q101 0 157.5 55.5t88.5 196.5l96 465h168l-104 -486q-43 -203 -142 -292.5t-274 -89.5q-153 0 -241.5 79t-88.5 220q0 65 27 200l176 830h-336q-75 -292 -163 -598.5t-152.5 -455.5t-151.5 -213.5t-215 -64.5 -q-76 0 -125 23v150q52 -21 103 -21q83 0 135.5 44t99.5 148t119.5 340t224.5 801h666z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1651" -d="M874 287q0 -168 170 -168q68 0 113.5 25t74.5 77.5t54 161.5l66 317h168l-72 -342q-31 -143 -82.5 -221t-134.5 -117.5t-205 -39.5q-154 0 -236.5 75t-82.5 217q0 62 16 134l117 548q-39 9 -78 9q-77 0 -125 -30.5t-89 -106t-124 -312.5q-84 -240 -142 -339.5t-128 -144 -t-170 -44.5q-47 0 -78 14v145q28 -10 67 -10q64 0 109.5 38t89 123.5t107.5 272.5q87 258 148 353t144 138.5t215 43.5q126 0 246 -31l-143 -686q-15 -72 -15 -100z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="1952" -d="M1161 291q0 -160 172 -160q103 0 160 58t86 194l96 465h168l-104 -486q-45 -204 -142.5 -293t-273.5 -89q-155 0 -244.5 79t-89.5 220q0 61 19 149l53 260h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h172l-223 -1054q-15 -66 -15 -117z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1776" -d="M866 494h-534l-105 -494h-168l234 1096h166l-97 -459h535l98 459h168l-149 -709q-15 -72 -15 -100q0 -168 170 -168q68 0 113.5 25t74.5 77.5t54 161.5l66 317h168l-72 -342q-31 -143 -82.5 -221t-134.5 -117.5t-205 -39.5q-155 0 -237.5 76t-82.5 216q0 29 4 63t31 159z -" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1425" -d="M817 750h541l-23 -121q-43 -238 -123 -374t-209.5 -205.5t-318.5 -69.5q-252 0 -393 147.5t-141 421.5q0 262 103 477t281.5 336t399.5 121q235 0 424 -84l-66 -152q-108 47 -190.5 65.5t-167.5 18.5q-168 0 -306.5 -100t-217 -278.5t-78.5 -399.5q0 -205 93.5 -313.5 -t272.5 -108.5q190 0 297 105.5t156 361.5h-365z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1206" -d="M623 575h493l-20 -92q-59 -263 -189 -383t-358 -120q-212 0 -331.5 119t-119.5 333q0 195 80 352t229 244.5t345 87.5q112 0 196 -19t158 -61l-64 -133q-138 78 -290 78q-223 0 -352.5 -150.5t-129.5 -404.5q0 -147 74.5 -229t214.5 -82q290 0 354 319h-319z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1348" -d="M186 1311l33 151h985l-33 -151h-407l-193 -903q-14 -72 -14 -117q0 -160 172 -160q101 0 157.5 55.5t88.5 196.5l96 465h166l-102 -486q-45 -204 -143 -293t-273 -89q-155 0 -244.5 79t-89.5 220q0 52 21 149l186 883h-406z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1202" -d="M426 287q0 -168 170 -168q68 0 113.5 25t74.5 77.5t54 161.5l65 317h168l-72 -342q-31 -143 -82.5 -221.5t-135 -117.5t-203.5 -39q-155 0 -237.5 76t-82.5 216q0 62 16 134l117 544h-305l29 146h778l-31 -146h-303l-119 -563q-14 -68 -14 -100z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1104" -d="M313 1069q0 187 128 300.5t339 113.5q130 0 224.5 -36t171.5 -106l-91 -118q-87 67 -154.5 92.5t-148.5 25.5q-134 0 -217.5 -76t-83.5 -202q0 -116 72.5 -177t214.5 -61h184l-30 -141h-181q-218 0 -328 -80t-110 -235q0 -118 76.5 -183t214.5 -65q110 0 201 27t174 65 -v-152q-191 -81 -406 -81q-208 0 -325 97t-117 273q0 177 112.5 286t309.5 126v6q-107 34 -168.5 112t-61.5 189z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="911" -d="M655 496h-112q-155 0 -234.5 -54t-79.5 -155q0 -84 57 -127t160 -43q147 0 332 90v-144q-70 -38 -166.5 -60.5t-191.5 -22.5q-169 0 -263 74t-94 206q0 127 74 207.5t225 107.5v7q-74 28 -113.5 85.5t-39.5 135.5q0 95 51.5 165.5t142.5 108t205 37.5q180 0 316 -72 -l-62 -131q-47 28 -117 45t-129 17q-119 0 -184 -48t-65 -137q0 -70 52 -108.5t142 -38.5h125z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1298" -d="M1329 1462l-280 -1315h143l-64 -299q-28 -129 -83.5 -184t-151.5 -55q-70 0 -105 20v142q44 -19 99 -19q77 0 104 113l25 135h-170l280 1309h-385q-75 -292 -163 -598.5t-152.5 -455.5t-151.5 -213.5t-215 -64.5q-76 0 -125 23v150q52 -21 103 -21q83 0 135.5 44 -t99.5 148t119.5 340t224.5 801h713z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1079" -d="M831 139h142l-62 -291q-27 -126 -83 -182.5t-154 -56.5q-65 0 -105 20v142q48 -19 99 -19q40 0 66.5 31t37.5 82l29 135h-168l207 954q-39 9 -78 9q-77 0 -125 -30.5t-89 -106t-124 -312.5q-84 -240 -142 -339.5t-128 -144t-170 -44.5q-47 0 -78 14v145q28 -10 67 -10 -q64 0 109.5 38t89 123.5t107.5 272.5q87 258 148 353t144 138.5t215 43.5q126 0 246 -31z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM658 -336q0 -97 -63.5 -155t-163.5 -58q-101 0 -160.5 57t-59.5 154q0 98 59 155.5t161 57.5q100 0 163.5 -59t63.5 -152zM545 -338 -q0 54 -31.5 84.5t-82.5 30.5t-83 -30.5t-32 -84.5q0 -53 29 -84t86 -31q51 0 82.5 31t31.5 84z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM680 -336q0 -97 -63.5 -155t-163.5 -58q-101 0 -160.5 57t-59.5 154q0 98 59 155.5t161 57.5q100 0 163.5 -59t63.5 -152zM567 -338q0 54 -31.5 84.5t-82.5 30.5t-83 -30.5t-32 -84.5q0 -53 29 -84t86 -31q51 0 82.5 31t31.5 84z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1714" -d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131zM981 1608q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27 -z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1786" -d="M696 0l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60t-140 -171.5t-93.5 -268.5l-101 -475h-168l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -68t69.5 -198q0 -68 -22 -178 -l-144 -672h-170l148 692q20 104 20 146q0 62 -34.5 99.5t-108.5 37.5q-81 0 -160 -58t-138.5 -164.5t-90.5 -252.5l-107 -500h-168zM940 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1745" -d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182zM1159 1579h-104q-61 61 -128.5 154t-95.5 153v21 -h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1468" -d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205zM930 1241h-104q-61 61 -128.5 154 -t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1745" -d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182zM1013 1606q56 60 125.5 151.5t106.5 149.5h190 -v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1468" -d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205zM772 1268q56 60 125.5 151.5 -t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1745" -d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182zM822 1716q0 46 28 79.5t74 33.5q78 0 78 -80 -q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1186 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1468" -d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205zM580 1378q0 46 28 79.5t74 33.5 -q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM944 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM344 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM322 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM1051 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100 -q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM981 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM738 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119z -M1016 1798l46 47q94 94 137 156h169v-25q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM680 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM958 1460l46 47q94 94 137 156h169v-25q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM738 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119z -M500 1774q-67 61 -174 204l-2 23h137q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM680 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM442 1436q-67 61 -174 204l-2 23h137q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM738 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119z -M1041 1788l8 94q69 11 103 31t34 55q0 31 -23 41t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30t44 -87q0 -65 -42 -99.5t-114 -51.5l-14 -39h-80z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM680 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM983 1450l8 94q69 11 103 31t34 55q0 31 -23 41t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30t44 -87 -q0 -65 -42 -99.5t-114 -51.5l-14 -39h-80z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM998 1927q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33 -t56 -15q38 0 63.5 19.5t57.5 78.5h100q-64 -219 -231 -219zM740 1866h174q15 -51 58.5 -128.5t90.5 -135.5l-8 -23h-57q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM940 1589q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33t56 -15q38 0 63.5 19.5t57.5 78.5h100q-64 -219 -231 -219zM682 1528h174q15 -51 58.5 -128.5t90.5 -135.5 -l-8 -23h-57q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM344 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5zM1080 1579h-103 -q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM322 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5zM1005 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM777 1579q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5zM756 1862 -q105 95 178 205h172v-23q-44 -44 -124.5 -105t-149.5 -100h-76v23z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM723 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5zM702 1524q105 95 178 205h172v-23q-44 -44 -124.5 -105t-149.5 -100h-76v23z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM791 1839q-114 109 -186 205l6 23h139q49 -98 121 -201l-8 -27h-72zM777 1579q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92 -t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM737 1501q-114 109 -186 205l6 23h139q49 -98 121 -201l-8 -27h-72zM723 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM740 1821l6 96q69 11 104 30.5t35 59.5q0 29 -23 39t-63 10q-37 0 -72 -8v80q30 8 88 8q87 0 133 -30.5t46 -90.5q0 -65 -43 -100.5 -t-115 -52.5l-16 -41h-80zM777 1579q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM686 1483l6 96q69 11 104 30.5t35 59.5q0 29 -23 39t-63 10q-37 0 -72 -8v80q30 8 88 8q87 0 133 -30.5t46 -90.5q0 -65 -43 -100.5t-115 -52.5l-16 -41h-80zM723 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27 -q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM979 1925q-39 0 -75.5 15t-70.5 33t-65.5 33t-60.5 15q-43 0 -69.5 -22.5t-51.5 -75.5h-100q57 221 233 221q42 0 79.5 -15t71 -33 -t63.5 -33t57 -15q37 0 61.5 18t58.5 80h101q-65 -221 -232 -221zM777 1579q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM925 1587q-39 0 -75.5 15t-70.5 33t-65.5 33t-60.5 15q-43 0 -69.5 -22.5t-51.5 -75.5h-100q57 221 233 221q42 0 79.5 -15t71 -33t63.5 -33t57 -15q37 0 61.5 18t58.5 80h101q-65 -221 -232 -221zM723 1241q-120 0 -193.5 69t-77.5 187h107 -q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1137" -d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM1102 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z -M344 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" horiz-adv-x="1157" -d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 -q0 -114 47 -170.5t132 -56.5zM1053 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107zM322 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM315 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM289 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM1031 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM922 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM922 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100 -q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM800 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100 -q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM736 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM1014 1798l46 47q94 94 137 156h169v-25 -q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM635 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM913 1460l46 47q94 94 137 156h169v-25 -q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM736 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM498 1774q-67 61 -174 204l-2 23h137 -q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM635 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM397 1436q-67 61 -174 204l-2 23h137 -q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM736 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM1039 1788l8 94q69 11 103 31t34 55q0 31 -23 41 -t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30t44 -87q0 -65 -42 -99.5t-114 -51.5l-14 -39h-80z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM635 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM938 1450l8 94q69 11 103 31t34 55 -q0 31 -23 41t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30t44 -87q0 -65 -42 -99.5t-114 -51.5l-14 -39h-80z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM996 1927q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33t56 -15q38 0 63.5 19.5t57.5 78.5h100 -q-64 -219 -231 -219zM738 1866h174q15 -51 58.5 -128.5t90.5 -135.5l-8 -23h-57q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM895 1589q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33t56 -15q38 0 63.5 19.5t57.5 78.5h100 -q-64 -219 -231 -219zM637 1528h174q15 -51 58.5 -128.5t90.5 -135.5l-8 -23h-57q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1047" -d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM315 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5zM1084 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27 -q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1010" -d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 -q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM289 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5zM966 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27 -q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM779 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM678 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="559" -d="M86 0l311 1462h168l-311 -1462h-168zM18 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="520" -d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5zM-6 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM481 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM350 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1217 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM957 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM877 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM1155 1798l46 47q94 94 137 156h169v-25q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM647 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM925 1460l46 47q94 94 137 156h169v-25q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM873 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM635 1774q-67 61 -174 204l-2 23h137q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM647 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM409 1436q-67 61 -174 204l-2 23h137q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM873 1864h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM1176 1788l8 94q69 11 103 31t34 55q0 31 -23 41t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30t44 -87 -q0 -65 -42 -99.5t-114 -51.5l-14 -39h-80z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM647 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM950 1450l8 94q69 11 103 31t34 55q0 31 -23 41t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30 -t44 -87q0 -65 -42 -99.5t-114 -51.5l-14 -39h-80z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM1133 1927q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33t56 -15q38 0 63.5 19.5t57.5 78.5h100q-64 -219 -231 -219zM875 1866h174q15 -51 58.5 -128.5t90.5 -135.5 -l-8 -23h-57q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM907 1589q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33t56 -15q38 0 63.5 19.5t57.5 78.5h100q-64 -219 -231 -219zM649 1528h174q15 -51 58.5 -128.5 -t90.5 -135.5l-8 -23h-57q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1475" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM481 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5zM1219 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1149" -d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 -q104 0 187 73t129.5 207.5t46.5 307.5zM350 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5zM997 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66 -v-27z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1462" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q148 0 258 -56.5t176 -162.5q81 33 124 97t62 193h187l8 -22q-33 -138 -114 -223.5t-222 -141.5q45 -117 45 -262zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5zM811 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1149" -d="M643 1110q216 0 326 -143q79 33 123 98.5t67 198.5h184l9 -23q-33 -134 -114.5 -222t-219.5 -140q35 -86 35 -191q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5 -q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5zM589 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1462" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q148 0 258 -56.5t176 -162.5q81 33 124 97t62 193h187l8 -22q-33 -138 -114 -223.5t-222 -141.5q45 -117 45 -262zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5zM1007 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1149" -d="M643 1110q216 0 326 -143q79 33 123 98.5t67 198.5h184l9 -23q-33 -134 -114.5 -222t-219.5 -140q35 -86 35 -191q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5 -q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5zM781 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1462" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q148 0 258 -56.5t176 -162.5q81 33 124 97t62 193h187l8 -22q-33 -138 -114 -223.5t-222 -141.5q45 -117 45 -262zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5zM1217 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12 -q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1149" -d="M643 1110q216 0 326 -143q79 33 123 98.5t67 198.5h184l9 -23q-33 -134 -114.5 -222t-219.5 -140q35 -86 35 -191q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5 -q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5zM957 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42 -t59.5 -119z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1462" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q148 0 258 -56.5t176 -162.5q81 33 124 97t62 193h187l8 -22q-33 -138 -114 -223.5t-222 -141.5q45 -117 45 -262zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5zM1067 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5 -t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1149" -d="M643 1110q216 0 326 -143q79 33 123 98.5t67 198.5h184l9 -23q-33 -134 -114.5 -222t-219.5 -140q35 -86 35 -191q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5 -q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5zM844 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18 -q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1462" -d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q148 0 258 -56.5t176 -162.5q81 33 124 97t62 193h187l8 -22q-33 -138 -114 -223.5t-222 -141.5q45 -117 45 -262zM874 1333q-157 0 -281 -101 -t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403q0 199 -94 310.5t-261 111.5zM481 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1149" -d="M643 1110q216 0 326 -143q79 33 123 98.5t67 198.5h184l9 -23q-33 -134 -114.5 -222t-219.5 -140q35 -86 35 -191q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5 -q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5q104 0 187 73t129.5 207.5t46.5 307.5zM350 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM455 -258q0 52 32 89.5t83 37.5q46 0 67 -26 -t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM375 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64 -q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1384" -d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM1156 1854q0 -82 -55 -129t-154 -70l-27 -111h-106 -l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" -d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM986 1516q0 -82 -55 -129t-154 -70l-27 -111h-106 -l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1479" -d="M1407 1462l-43 -198q169 36 209 292h184l8 -22q-34 -153 -144.5 -254t-281.5 -135l-137 -649q-55 -266 -196 -391t-383 -125q-231 0 -345 106t-114 301q0 86 24 197l189 878h170l-191 -893q-22 -104 -22 -172q0 -266 291 -266q169 0 265 87t142 292l205 952h170z -M811 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1264" -d="M451 1096l-150 -695q-18 -89 -18 -133q0 -149 147 -149q88 0 173 60t150 172t99 270l100 475h166l-26 -127q171 34 211 295h184l8 -23q-34 -155 -147 -255.5t-281 -133.5l-180 -852h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-130 0 -202 70.5t-72 203.5q0 44 9 97 -t159 745h170zM616 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1479" -d="M1407 1462l-43 -198q169 36 209 292h184l8 -22q-34 -153 -144.5 -254t-281.5 -135l-137 -649q-55 -266 -196 -391t-383 -125q-231 0 -345 106t-114 301q0 86 24 197l189 878h170l-191 -893q-22 -104 -22 -172q0 -266 291 -266q169 0 265 87t142 292l205 952h170z -M964 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1264" -d="M451 1096l-150 -695q-18 -89 -18 -133q0 -149 147 -149q88 0 173 60t150 172t99 270l100 475h166l-26 -127q171 34 211 295h184l8 -23q-34 -155 -147 -255.5t-281 -133.5l-180 -852h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-130 0 -202 70.5t-72 203.5q0 44 9 97 -t159 745h170zM789 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1479" -d="M1407 1462l-43 -198q169 36 209 292h184l8 -22q-34 -153 -144.5 -254t-281.5 -135l-137 -649q-55 -266 -196 -391t-383 -125q-231 0 -345 106t-114 301q0 86 24 197l189 878h170l-191 -893q-22 -104 -22 -172q0 -266 291 -266q169 0 265 87t142 292l205 952h170z -M1162 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1264" -d="M451 1096l-150 -695q-18 -89 -18 -133q0 -149 147 -149q88 0 173 60t150 172t99 270l100 475h166l-26 -127q171 34 211 295h184l8 -23q-34 -155 -147 -255.5t-281 -133.5l-180 -852h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-130 0 -202 70.5t-72 203.5q0 44 9 97 -t159 745h170zM994 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1479" -d="M1407 1462l-43 -198q169 36 209 292h184l8 -22q-34 -153 -144.5 -254t-281.5 -135l-137 -649q-55 -266 -196 -391t-383 -125q-231 0 -345 106t-114 301q0 86 24 197l189 878h170l-191 -893q-22 -104 -22 -172q0 -266 291 -266q169 0 265 87t142 292l205 952h170z -M1059 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1264" -d="M451 1096l-150 -695q-18 -89 -18 -133q0 -149 147 -149q88 0 173 60t150 172t99 270l100 475h166l-26 -127q171 34 211 295h184l8 -23q-34 -155 -147 -255.5t-281 -133.5l-180 -852h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-130 0 -202 70.5t-72 203.5q0 44 9 97 -t159 745h170zM887 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1479" -d="M1407 1462l-43 -198q169 36 209 292h184l8 -22q-34 -153 -144.5 -254t-281.5 -135l-137 -649q-55 -266 -196 -391t-383 -125q-231 0 -345 106t-114 301q0 86 24 197l189 878h170l-191 -893q-22 -104 -22 -172q0 -266 291 -266q169 0 265 87t142 292l205 952h170z -M455 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1264" -d="M451 1096l-150 -695q-18 -89 -18 -133q0 -149 147 -149q88 0 173 60t150 172t99 270l100 475h166l-26 -127q171 34 211 295h184l8 -23q-34 -155 -147 -255.5t-281 -133.5l-180 -852h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-130 0 -202 70.5t-72 203.5q0 44 9 97 -t159 745h170zM375 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM769 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM658 1241h-104q-61 61 -128.5 154t-95.5 153v21h181 -q43 -136 147 -303v-25z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM248 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM549 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64 -q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM961 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM838 1516q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185 -q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1030" -d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM861 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100 -q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="946" -d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM733 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5 -q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1595" -d="M1532 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM995 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 -q0 199 -94 310.5t-261 111.5zM107 1151q86 155 150 309h186v-28q-96 -130 -270 -308h-66v27zM-141 1225q0 90 72.5 156t202.5 96l-17 -86q-62 -20 -94.5 -44t-32.5 -47q0 -14 9.5 -22t21.5 -16q15 -10 27 -22.5t12 -37.5q0 -34 -26 -59t-72 -25q-48 0 -75.5 31t-27.5 76z -" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="545" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="983" -d="M55 469l35 160h823l-34 -160h-824z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1966" -d="M55 469l35 160h1806l-34 -160h-1807z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="1966" -d="M55 469l35 160h1806l-34 -160h-1807z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="807" -d="M604 -464h-811l30 140h811zM660 -183h-811l30 140h811z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="348" -d="M129 961l-6 22q98 211 270 479h127q-147 -345 -203 -501h-188z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="348" -d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="492" -d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="348" -d="M412 1462q0 -273 16 -501h-119q-61 224 -80 479l17 22h166z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="719" -d="M500 961l-8 22q80 181 272 479h127q-162 -379 -203 -501h-188zM129 961l-6 22q98 211 270 479h127q-147 -345 -203 -501h-188z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="719" -d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188zM885 1462l10 -22q-94 -206 -274 -479h-127q57 126 115.5 272.5t86.5 228.5h189z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="858" -d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187zM659 238l9 -23q-95 -205 -271 -479h-129q140 316 203 502h188z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="954" -d="M936 995l-313 31l-166 -1026h-207l272 1028l-305 -33l35 174l293 -32l37 419h206l-143 -419l326 32z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="975" -d="M528 487l326 31l-37 -172l-315 31l-27 -377h-207l133 377l-323 -31l37 172l311 -31l18 299l103 283l-324 -33l39 174l311 -32l27 378h207l-133 -378l327 32l-38 -174l-314 33l-14 -283z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="774" -d="M199 684q0 145 73.5 231t198.5 86q92 0 139 -49t47 -141q0 -141 -74 -230t-202 -89q-89 0 -135.5 49.5t-46.5 142.5z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1563" -d="M563 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM1085 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM43 74q0 77 40.5 122.5t111.5 45.5 -q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2288" -d="M1468 1462l-1085 -1462h-152l1086 1462h151zM1948 772q-66 0 -119 -63t-85 -186t-32 -244q0 -173 107 -173q52 0 94 39.5t73.5 114t50.5 175t19 171.5q0 166 -108 166zM2195 621q0 -107 -31.5 -236t-82 -217.5t-121 -138t-156.5 -49.5q-109 0 -170 74.5t-61 219.5 -q0 166 50.5 318.5t136.5 228.5t200 76q116 0 175.5 -71.5t59.5 -204.5zM543 1358q-66 0 -119 -63t-85 -187.5t-32 -243.5q0 -172 107 -172q52 0 94 39.5t73.5 114t50.5 175t19 171.5q0 166 -108 166zM791 1206q0 -108 -32 -237.5t-82.5 -217.5t-120.5 -137t-157 -49 -q-109 0 -170 75t-61 220q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -72t60 -205zM1284 772q-67 0 -119.5 -64.5t-84 -188.5t-31.5 -240q0 -173 106 -173q65 0 117 65t86.5 198.5t34.5 236.5q0 166 -109 166zM1532 621q0 -107 -31.5 -236t-82 -217.5t-121 -138 -t-156.5 -49.5q-110 0 -171 74.5t-61 219.5q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -71.5t60 -204.5z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="444" -d="M485 1462l-153 -528h-107l72 528h188z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="791" -d="M485 1462l-153 -528h-107l72 528h188zM834 1462l-154 -528h-107l72 528h189z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="580" -d="M88 578l391 380l78 -81l-297 -334l172 -381l-113 -49l-231 436v29z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="580" -d="M492 496l-392 -381l-77 82l296 333l-172 381l113 50l232 -437v-28z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="983" -d="M486 1462l-274 -1059h-109q49 307 176 1059h207zM-26 78q0 76 39.5 120t107.5 44q45 0 73 -27.5t28 -81.5q0 -68 -39 -115t-105 -47q-49 0 -76.5 28t-27.5 79zM1077 1462l-274 -1059h-109q49 307 176 1059h207zM565 78q0 76 39.5 120t107.5 44q45 0 73 -27.5t28 -81.5 -q0 -68 -39 -115t-105 -47q-49 0 -76.5 28t-27.5 79z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="268" -d="M752 1462l-1086 -1462h-153l1085 1462h154z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="717" -d="M764 1192q0 -180 -49 -329t-134 -223.5t-194 -74.5q-116 0 -178 79t-62 237q0 164 49.5 310.5t133 220t190.5 73.5q244 0 244 -293zM514 1366q-66 0 -119.5 -67.5t-84.5 -182.5t-31 -235q0 -96 27.5 -146.5t90.5 -50.5q106 0 171 150t65 360q0 172 -119 172z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="717" -d="M713 788h-129l-43 -202h-127l43 202h-365l23 101l481 579h133l-121 -563h127zM481 905q69 322 90 395q-20 -36 -110 -149l-205 -246h225z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="717" -d="M457 1130q112 0 176.5 -63.5t64.5 -175.5q0 -148 -95 -235t-261 -87q-115 0 -207 52v133q119 -72 219 -72q104 0 159.5 53.5t55.5 143.5q0 63 -44.5 102t-118.5 39q-67 0 -134 -23l-53 45l123 420h426l-25 -121h-313l-65 -223q43 12 92 12z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="717" -d="M330 1053q31 45 81.5 68.5t106.5 23.5q96 0 152.5 -63t56.5 -167q0 -97 -40 -177.5t-112 -125.5t-167 -45q-115 0 -178.5 72t-63.5 203q0 170 65 326t171.5 230.5t254.5 74.5q67 0 129 -17l-28 -115q-59 19 -129 19q-112 0 -192 -79t-115 -228h8zM420 680 -q81 0 129.5 64.5t48.5 160.5q0 129 -119 129q-47 0 -91 -24.5t-69.5 -64t-25.5 -107.5q0 -73 33 -115.5t94 -42.5z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="717" -d="M174 586l467 762h-391l24 114h539l-18 -94l-467 -782h-154z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="717" -d="M539 1479q106 0 168.5 -56t62.5 -145q0 -81 -54.5 -141.5t-148.5 -92.5q73 -47 103 -98t30 -115q0 -116 -86.5 -189t-226.5 -73q-117 0 -186.5 59t-69.5 160q0 180 225 265q-61 46 -84.5 88.5t-23.5 105.5q0 106 80 169t211 63zM444 991q-100 -38 -142 -84t-42 -106 -q0 -59 40 -91t104 -32q72 0 117.5 40.5t45.5 108.5q0 49 -34.5 93.5t-88.5 70.5zM522 1370q-71 0 -108 -36.5t-37 -90.5q0 -42 21 -75t77 -70q68 24 98 46t48 52.5t18 71.5q0 48 -33 75t-84 27z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="717" -d="M598 993q-31 -45 -82 -68.5t-106 -23.5q-96 0 -152.5 62t-56.5 167q0 97 40 178t112.5 126t166.5 45q115 0 178.5 -72t63.5 -203q0 -170 -66 -326t-171.5 -230.5t-254.5 -74.5q-67 0 -129 17v123q61 -27 144 -27q121 0 203.5 79t117.5 228h-8zM508 1366 -q-79 0 -128.5 -63.5t-49.5 -161.5q0 -129 119 -129q47 0 91 24.5t69.5 64t25.5 107.5q0 73 -33 115.5t-94 42.5z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="754" -d="M573 801l86 381q17 68 17 110q0 84 -76 84q-79 0 -152.5 -87t-99.5 -208l-61 -280h-119l143 665h101l-19 -141q104 154 248 154q68 0 111 -39t43 -119q0 -49 -23 -154l-78 -366h-121z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" horiz-adv-x="1128" -d="M410 393h282l-26 -131h-283l-57 -262h-162l55 262h-174l29 131h174l225 1069h719l-33 -153h-555l-115 -539h521l-33 -152h-518z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" horiz-adv-x="1128" -d="M358 883l54 245q40 180 147 266.5t283 86.5q91 0 181 -23.5t155 -62.5l-66 -133q-57 33 -135 56t-143 23q-105 0 -170.5 -56.5t-92.5 -180.5l-47 -221h371l-29 -133h-368l-37 -162h370l-26 -133h-371q-29 -129 -75 -194.5t-121 -106.5h725l-33 -154h-953l27 141 -q110 25 170.5 97t85.5 188l6 29h-190l28 133h193l33 162h-199l31 133h196z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1485" -d="M1202 119q54 0 123 22v-129q-73 -32 -170 -32q-96 0 -147.5 48.5t-51.5 139.5q0 53 27 174l80 375h-154l17 78l166 75l100 183h104l-45 -207h197l-27 -129h-196l-84 -385q-19 -86 -19 -131q0 -38 21 -60t59 -22zM367 1462h204q207 0 316.5 -94t109.5 -276 -q0 -247 -156 -382t-448 -135h-49l-123 -575h-166zM377 721h31q202 0 308.5 91t106.5 257q0 127 -68.5 186.5t-205.5 59.5h-49z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" -d="M635 1122q97 0 170.5 -50t114.5 -140h10l11 87l15 95l27 127h-373l27 129h377l39 186h166l-41 -186h149l-27 -129h-149l-262 -1241h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 213 68 390.5t191 279.5t278 102zM449 119q94 0 194.5 96.5 -t158.5 242t58 296.5q0 112 -56.5 170.5t-158.5 58.5q-103 0 -187.5 -84t-136 -233t-51.5 -320q0 -227 179 -227zM818 -324h-811l30 140h811z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="1128" -d="M928 1329q-140 0 -254 -99t-189 -298h426l-26 -133h-441q-21 -65 -32 -164h381l-29 -131h-361q0 -373 297 -373q123 0 256 55v-147q-127 -59 -278 -59q-212 0 -328.5 133.5t-116.5 378.5v12h-170l27 131h154q8 80 30 164h-151l27 133h159q97 267 259.5 408t369.5 141 -q89 0 160 -21.5t141 -70.5l-80 -138q-113 78 -231 78z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1593" -d="M1450 1462l-1092 -1462h-155l1095 1462h152zM1427 403q0 -187 -93 -298t-251 -111q-117 0 -182 66t-65 188q0 119 41.5 216.5t117.5 152.5t181 55q118 0 184.5 -72t66.5 -197zM1165 567q-89 0 -143.5 -86.5t-54.5 -222.5q0 -164 129 -164q60 0 104.5 42t69 113t24.5 148 -q0 170 -129 170zM516 793q-121 0 -187.5 68.5t-66.5 195.5q0 115 48 210.5t136 149t207 53.5q80 0 166 -34l-37 -99q-71 31 -143 31q-108 0 -176 -86.5t-68 -218.5q0 -166 137 -166q48 0 84.5 11t67.5 22v-103q-75 -34 -168 -34z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1024" -d="M655 109q79 0 123.5 56.5t50.5 158.5h86q-8 -164 -76 -254t-200 -90q-138 0 -211.5 92t-73.5 258v243q-87 -31 -194 -57v111q76 20 194 59v506q0 138 67.5 214.5t190.5 76.5q106 0 165 -82t59 -217q0 -175 -87.5 -317t-244.5 -224v-307q0 -106 40 -166.5t111 -60.5z -M719 1178q0 99 -25.5 146.5t-81.5 47.5t-82 -42t-26 -152v-418q113 68 164 165.5t51 252.5z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="1946" -d="M1014 0h-189l-360 1239q-29 -194 -78 -426l-172 -813h-156l310 1462h194l355 -1216l57 297l194 919h154zM1225 0l30 141h469l-30 -141h-469zM1876 692q0 -116 -45 -217t-120.5 -151t-176.5 -50q-121 0 -186.5 71.5t-65.5 199.5q0 116 43 213t120.5 152t178.5 55 -q117 0 184.5 -75t67.5 -198zM1614 846q-87 0 -143 -82.5t-56 -210.5q0 -78 32 -121t95 -43q90 0 145.5 83t55.5 212q0 162 -129 162z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1561" -d="M950 741l-188 551h-6l4 -110v-441h-119v721h178l185 -557l192 557h170v-721h-121v430l4 121h-6l-199 -551h-94zM537 950q0 -102 -71 -159.5t-192 -57.5q-126 0 -192 33v108q94 -40 192 -40q144 0 144 106q0 44 -26 69t-120 62q-105 43 -142.5 89t-37.5 114q0 89 63 144 -t164 55q109 0 203 -37l-35 -99q-80 35 -159 35q-53 0 -86 -23.5t-33 -66.5q0 -40 27.5 -65.5t111.5 -59.5q115 -48 152 -92.5t37 -114.5z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1534" -d="M438 741h-121v617h-196v104h516v-104h-199v-617zM1014 741l-189 551h-6q4 -52 4 -121v-430h-118v721h180l182 -557l193 557h170v-721h-121v430q0 73 4 121h-6l-197 -551h-96z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1501" -d="M868 1333q-156 0 -274.5 -83.5t-183 -233.5t-64.5 -340q0 -170 50.5 -300.5t164.5 -244.5l-26 -131h-551l30 152h348q-198 203 -198 534q0 225 93 411.5t255.5 287t368.5 100.5q169 0 292 -69t186.5 -197.5t63.5 -300.5q0 -230 -111 -428t-323 -338h363l-31 -152h-602 -l26 131q247 148 371.5 348.5t124.5 444.5q0 197 -97.5 303t-275.5 106z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M657 -35q-157 0 -278 73.5t-186.5 204t-65.5 287.5q0 171 69 298.5t191 197.5t270 70q152 0 274.5 -71t189.5 -200.5t67 -294.5h-828v-356q48 -52 131.5 -87.5t165.5 -35.5q133 0 224.5 52.5t171.5 181.5l71 -41q-98 -155 -206.5 -217t-260.5 -62zM956 616v277 -q-50 53 -131.5 86t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1542" -d="M1325 1462l-1086 -1462h-153l1085 1462h154zM448 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90zM1239 890q106 0 168.5 -56t62.5 -145q0 -81 -54.5 -141.5t-148.5 -92.5q73 -47 103 -98t30 -115q0 -116 -86.5 -189t-226.5 -73 -q-117 0 -186.5 59t-69.5 160q0 180 225 265q-61 46 -84.5 88.5t-23.5 105.5q0 106 80 169t211 63zM1144 402q-100 -38 -142 -84t-42 -106q0 -59 40 -91t104 -32q72 0 117.5 40.5t45.5 108.5q0 49 -34.5 93.5t-88.5 70.5zM1222 781q-71 0 -108 -36.5t-37 -90.5q0 -42 21 -75 -t77 -70q68 24 98 46t48 52.5t18 71.5q0 48 -33 75t-84 27z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1665" -d="M513 1036q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5q-125 0 -233 56v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151 -q0 -180 -207 -234v-4zM1481 1462l-1086 -1462h-153l1085 1462h154zM1362 890q106 0 168.5 -56t62.5 -145q0 -81 -54.5 -141.5t-148.5 -92.5q73 -47 103 -98t30 -115q0 -116 -86.5 -189t-226.5 -73q-117 0 -186.5 59t-69.5 160q0 180 225 265q-61 46 -84.5 88.5t-23.5 105.5 -q0 106 80 169t211 63zM1267 402q-100 -38 -142 -84t-42 -106q0 -59 40 -91t104 -32q72 0 117.5 40.5t45.5 108.5q0 49 -34.5 93.5t-88.5 70.5zM1345 781q-71 0 -108 -36.5t-37 -90.5q0 -42 21 -75t77 -70q68 24 98 46t48 52.5t18 71.5q0 48 -33 75t-84 27z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1677" -d="M415 1130q112 0 176.5 -63.5t64.5 -175.5q0 -148 -95 -235t-261 -87q-115 0 -207 52v133q119 -72 219 -72q104 0 159.5 53.5t55.5 143.5q0 63 -44.5 102t-118.5 39q-67 0 -134 -23l-53 45l123 420h426l-25 -121h-313l-65 -223q43 12 92 12zM1473 1462l-1086 -1462h-153 -l1085 1462h154zM1375 890q106 0 168.5 -56t62.5 -145q0 -81 -54.5 -141.5t-148.5 -92.5q73 -47 103 -98t30 -115q0 -116 -86.5 -189t-226.5 -73q-117 0 -186.5 59t-69.5 160q0 180 225 265q-61 46 -84.5 88.5t-23.5 105.5q0 106 80 169t211 63zM1280 402q-100 -38 -142 -84 -t-42 -106q0 -59 40 -91t104 -32q72 0 117.5 40.5t45.5 108.5q0 49 -34.5 93.5t-88.5 70.5zM1358 781q-71 0 -108 -36.5t-37 -90.5q0 -42 21 -75t77 -70q68 24 98 46t48 52.5t18 71.5q0 48 -33 75t-84 27z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1536" -d="M126 586l467 762h-391l24 114h539l-18 -94l-467 -782h-154zM1321 1462l-1086 -1462h-153l1085 1462h154zM1233 890q106 0 168.5 -56t62.5 -145q0 -81 -54.5 -141.5t-148.5 -92.5q73 -47 103 -98t30 -115q0 -116 -86.5 -189t-226.5 -73q-117 0 -186.5 59t-69.5 160 -q0 180 225 265q-61 46 -84.5 88.5t-23.5 105.5q0 106 80 169t211 63zM1138 402q-100 -38 -142 -84t-42 -106q0 -59 40 -91t104 -32q72 0 117.5 40.5t45.5 108.5q0 49 -34.5 93.5t-88.5 70.5zM1216 781q-71 0 -108 -36.5t-37 -90.5q0 -42 21 -75t77 -70q68 24 98 46t48 52.5 -t18 71.5q0 48 -33 75t-84 27z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M1094 936q0 -268 -84 -496.5t-221 -344t-314 -115.5q-173 0 -264.5 100t-91.5 291q0 172 70.5 327t187 233.5t268.5 78.5q193 0 285 -164l2 44v36q0 409 -287 409q-57 0 -125.5 -19t-128.5 -54v147q57 28 132.5 47t138.5 19q210 0 321 -135.5t111 -403.5zM487 121 -q97 0 182.5 71.5t145.5 198t82 277.5q-25 89 -92 147.5t-146 58.5q-106 0 -187.5 -61t-131 -184t-49.5 -262q0 -117 49 -181.5t147 -64.5z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1143" -d="M686 1460h172l150 -1358l-21 -102h-1042l20 104zM737 1274q-71 -180 -166 -361l-403 -761h668l-78 757q-21 204 -21 365z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1518" -d="M1188 -496v1805h-772v-1805h-170v1958h1112v-1958h-170z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1292" -d="M195 -496v107l630 924l-614 819v108h1085v-153h-843l577 -772l-600 -881h934v-152h-1169z" /> - <glyph glyph-name="minus" unicode="&#x2212;" horiz-adv-x="1128" -d="M127 651v142h920v-142h-920z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M684 -14h-127l-278 782h-181v135h293l234 -676l514 1461h135z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1448" -d="M1360 717q0 -131 -83.5 -222.5t-207.5 -91.5q-191 0 -315 226q-60 -103 -142 -161t-166 -58q-132 0 -213 86t-81 227q0 133 82 223t212 90q87 0 166.5 -56t141.5 -169q61 105 143.5 161t171.5 56q131 0 211 -85.5t80 -225.5zM457 532q66 0 121.5 45.5t109.5 145.5 -q-51 97 -106 143.5t-127 46.5q-78 0 -127 -54t-49 -138q0 -85 49 -137t129 -52zM1055 907q-66 0 -121.5 -45t-112.5 -145q53 -97 109 -144t127 -47q78 0 127 56t49 137q0 80 -50 134t-128 54z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="786" -d="M664 1556q82 0 122 -16v-137q-47 22 -110 22q-178 0 -178 -239v-1301q0 -185 -85 -281t-249 -96q-70 0 -125 15v139q60 -20 111 -20q94 0 142 60.5t48 176.5v1307q0 370 324 370z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" horiz-adv-x="1128" -d="M348 502q-51 0 -114.5 -32t-118.5 -89v151q98 109 243 109q69 0 127 -14.5t144 -51.5q64 -27 112.5 -41t98.5 -14q55 0 119.5 33t115.5 88v-149q-101 -111 -244 -111q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12zM348 915q-52 0 -115.5 -32.5t-117.5 -87.5v151 -q98 109 243 109q65 0 128.5 -16t142.5 -50q64 -27 112.5 -41t98.5 -14q55 0 119.5 33t115.5 88v-150q-100 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-66 28 -115 41.5t-98 13.5z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1128" -d="M379 444h-252v142h317l127 272h-444v139h510l133 285l129 -57l-106 -228h254v-139h-320l-129 -272h449v-142h-515l-129 -278l-129 53z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" horiz-adv-x="1128" -d="M1047 233l-920 422v99l920 479v-150l-748 -370l748 -328v-152zM127 0v141h920v-141h-920z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" horiz-adv-x="1128" -d="M127 385l750 328l-750 368v152l920 -479v-99l-920 -422v152zM127 0v141h920v-141h-920z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1194" -d="M1126 737l-452 -737h-72l-450 735l450 740h72zM952 737l-313 525l-313 -525l313 -526z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-4q59 -13 83 -47t24 -90 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM634 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM453 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM841 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM286 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM650 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM698 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90 -h100q-66 -258 -233 -258z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM292 1720h545l-31 -141h-544z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM864 1847q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM346 0q-82 -65 -116 -102t-54 -75.5t-20 -80.5q0 -70 69 -70q39 0 80 9v-107q-42 -14 -110 -14q-83 0 -130.5 41.5t-47.5 119.5q0 53 21 97.5t61 84t131 97.5h116z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM457 1714q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1196" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM483 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="901" -d="M709 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM96 1165q46 84 100.5 201.5t77.5 181.5h182v-29q-25 -60 -105 -179.5t-151 -203.5h-104v29z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM286 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM650 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM286 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM650 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 -q-35 0 -58.5 22t-23.5 62z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1153" -d="M1077 1552q-57 -311 -413 -311q-156 0 -236 61t-80 181q0 32 10 69h146q-6 -34 -6 -59q0 -127 174 -127q112 0 168.5 44t74.5 142h162z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="977" -d="M518 1255q37 55 84 151.5t66 149.5h159v-20q-20 -55 -91 -154.5t-126 -152.5h-92v26z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="977" -d="M156 -426q31 48 75 135.5t72 165.5h160v-20q-22 -59 -90 -156t-125 -152h-92v27z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="977" -d="M811 1542q-36 -54 -82 -149.5t-65 -151.5h-160v21q16 46 85 146.5t130 160.5h92v-27z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="858" -d="M555 1151q86 155 150 309h186v-28q-96 -130 -270 -308h-66v27zM307 1225q0 90 72.5 156t202.5 96l-17 -86q-62 -20 -94.5 -44t-32.5 -47q0 -14 9.5 -22t21.5 -16q15 -10 27 -22.5t12 -37.5q0 -34 -26 -59t-72 -25q-48 0 -75.5 31t-27.5 76z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM809 1854q0 -82 -55 -129t-154 -70l-27 -111h-106l20 185q94 15 141 41.5t47 72.5q0 42 -32 55t-84 13q-39 0 -95 -8v100q50 12 115 12q111 0 170.5 -42t59.5 -119z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="651" -d="M459 0h-498l19 92l172 37l256 1204l-156 35l18 94h498l-18 -94l-175 -35l-256 -1204l158 -37zM76 -258q0 52 32 89.5t83 37.5q46 0 67 -26t21 -64q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-524 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM-246 1460l46 47q94 94 137 156h169v-25q-43 -43 -115 -101.5t-141 -100.5h-96v24z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-524 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM-762 1436q-67 61 -174 204l-2 23h137q56 -112 121 -205v-22h-82z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-524 1526h174q16 -53 59 -127.5t90 -134.5l-6 -23h-57q-97 57 -191 166q-144 -108 -264 -166h-74l9 27q75 64 150.5 139t109.5 119zM-221 1450l8 94q69 11 103 31t34 55q0 31 -23 41t-63 10q-42 0 -71 -8v78q22 6 88 6q86 0 130 -30t44 -87q0 -65 -42 -99.5t-114 -51.5 -l-14 -39h-80z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-264 1589q-39 0 -76 15t-71 33.5t-65.5 33.5t-60.5 15q-43 0 -69.5 -23t-50.5 -76h-101q58 219 232 219q42 0 80 -15t72 -33t64 -33t56 -15q38 0 63.5 19.5t57.5 78.5h100q-64 -219 -231 -219zM-522 1528h174q15 -51 58.5 -128.5t90.5 -135.5l-8 -23h-57 -q-91 55 -189 168q-133 -105 -264 -168h-74l7 27q185 159 262 260z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-487 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5zM-508 1524q105 95 178 205h172v-23q-44 -44 -124.5 -105t-149.5 -100h-76v23z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-473 1501q-114 109 -186 205l6 23h139q49 -98 121 -201l-8 -27h-72zM-487 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-524 1483l6 96q69 11 104 30.5t35 59.5q0 29 -23 39t-63 10q-37 0 -72 -8v80q30 8 88 8q87 0 133 -30.5t46 -90.5q0 -65 -43 -100.5t-115 -52.5l-16 -41h-80zM-487 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27q148 0 201 119h112 -q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-285 1587q-39 0 -75.5 15t-70.5 33t-65.5 33t-60.5 15q-43 0 -69.5 -22.5t-51.5 -75.5h-100q57 221 233 221q42 0 79.5 -15t71 -33t63.5 -33t57 -15q37 0 61.5 18t58.5 80h101q-65 -221 -232 -221zM-487 1241q-120 0 -193.5 69t-77.5 187h107q14 -65 57.5 -92t120.5 -27 -q148 0 201 119h112q-34 -125 -118 -190.5t-209 -65.5z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="420" -d="M-66 -328q57 0 89 36.5t32 105.5q0 102 -41 186h117q25 -41 42 -97t17 -108q0 -113 -65 -174t-188 -61q-65 0 -109 14l22 107q36 -9 84 -9z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="397" -d="M377 139l-66 -311q-24 -111 -80.5 -165t-154.5 -54q-65 0 -105 20v142q55 -19 92 -19q45 0 71 25.5t40 87.5l59 274h144z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="397" -d="M377 139l-66 -311q-24 -111 -80.5 -165t-154.5 -54q-65 0 -105 20v142q55 -19 92 -19q45 0 71 25.5t40 87.5l59 274h144z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="768" -d="M421 0h-172l196 913q59 261 88 359q-50 -53 -139 -111l-178 -110l-80 127l449 284h149z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1135" -d="M1034 707q0 -203 -70.5 -376.5t-190.5 -262t-279 -88.5q-189 0 -292.5 116.5t-103.5 317.5q0 207 69.5 372.5t195.5 258t284 92.5q181 0 284 -114.5t103 -315.5zM637 995q-104 0 -188 -75t-131.5 -210t-47.5 -298q0 -141 61 -217t175 -76q103 0 183 71.5t127.5 212 -t47.5 308.5q0 137 -56.5 210.5t-170.5 73.5z" /> - <glyph glyph-name="one.os" horiz-adv-x="735" -d="M399 0h-163l124 575q12 58 42 182t49 181q-28 -29 -71.5 -64.5t-227.5 -162.5l-78 108l422 297h139z" /> - <glyph glyph-name="two.os" horiz-adv-x="991" -d="M805 0h-848l29 133l430 313q149 108 209.5 166t87 109.5t26.5 112.5q0 74 -43.5 117.5t-128.5 43.5q-74 0 -149.5 -31.5t-181.5 -113.5l-82 111q122 100 222 138t210 38q155 0 238 -76t83 -209q0 -84 -33 -154.5t-96.5 -135.5t-202.5 -161t-348 -239v-8h609z" /> - <glyph glyph-name="three.os" horiz-adv-x="991" -d="M890 814q0 -156 -101 -264.5t-280 -140.5v-9q124 -23 195 -106.5t71 -208.5q0 -133 -62 -234.5t-181 -158.5t-283 -57q-210 0 -385 79v164q94 -49 199 -75.5t190 -26.5q162 0 252 79.5t90 217.5q0 131 -79 198.5t-220 67.5h-131l31 143h139q165 0 274 87t109 227 -q0 92 -58 146t-157 54q-80 0 -157 -27t-175 -93l-80 118q195 144 424 144q179 0 277 -87t98 -237z" /> - <glyph glyph-name="four.os" horiz-adv-x="1106" -d="M963 27h-209l-78 -371h-162l76 371h-647l24 123l815 966h203l-203 -956h209zM618 160l72 334q26 120 58 233.5t61 218.5l-8 2q-95 -139 -152 -203l-493 -585h462z" /> - <glyph glyph-name="five.os" horiz-adv-x="1032" -d="M484 548q182 0 289.5 -104.5t107.5 -282.5q0 -161 -73 -283t-204 -182.5t-308 -60.5q-193 0 -330 79v164q164 -102 334 -102q191 0 298 96t107 268q0 126 -73.5 199.5t-204.5 73.5q-48 0 -97 -6.5t-139 -30.5l-74 57l197 684h668l-33 -153h-522l-127 -439q87 23 184 23z -" /> - <glyph glyph-name="six.os" horiz-adv-x="1106" -d="M111 424q0 209 60.5 415t163.5 351.5t246 219t327 73.5q111 0 184 -23l-35 -145q-68 22 -170 22q-212 0 -356.5 -149t-212.5 -443h8q59 79 146.5 126t193.5 47q154 0 244 -98.5t90 -270.5q0 -161 -66.5 -294.5t-180.5 -204t-261 -70.5q-182 0 -281.5 115t-99.5 329z -M510 121q94 0 167.5 54t114 149t40.5 208q0 248 -221 248q-66 0 -128 -28.5t-110 -76t-72 -104.5t-24 -155q0 -137 60.5 -216t172.5 -79z" /> - <glyph glyph-name="seven.os" horiz-adv-x="971" -d="M-1 -345l768 1313h-719l31 149h891l-27 -139l-764 -1323h-180z" /> - <glyph glyph-name="eight.os" horiz-adv-x="1094" -d="M705 1485q174 0 271.5 -86.5t97.5 -235.5q0 -129 -78 -225t-266 -176q127 -78 180 -165t53 -202q0 -122 -60 -217.5t-172.5 -146.5t-264.5 -51q-190 0 -298 98.5t-108 267.5q0 148 95 256t296 184q-95 69 -135.5 144.5t-40.5 171.5q0 111 54.5 198.5t153.5 136t222 48.5z -M572 700q-185 -60 -261.5 -143.5t-76.5 -202.5q0 -107 69 -170t181 -63q139 0 222 74t83 196q0 99 -52 174t-165 135zM693 1341q-114 0 -182 -65.5t-68 -175.5q0 -82 39 -144t127 -116q161 60 228 131.5t67 173.5q0 90 -57.5 143t-153.5 53z" /> - <glyph glyph-name="nine.os" horiz-adv-x="1081" -d="M976 689q0 -194 -56 -406.5t-147.5 -360t-221.5 -217.5t-302 -70q-136 0 -242 34v158q134 -47 246 -47q202 0 327 141t189 441h-10q-51 -75 -132.5 -118.5t-180.5 -43.5q-169 0 -261 98.5t-92 288.5q0 153 64.5 280.5t180 199t259.5 71.5q180 0 279.5 -114.5t99.5 -334.5 -zM591 996q-150 0 -241 -113t-91 -290q0 -124 54.5 -190t162.5 -66q76 0 140 28.5t108.5 81.5t65 114t20.5 151q0 131 -59 207.5t-160 76.5z" /> - <glyph glyph-name="g.alt" -d="M449 119q93 0 190.5 93.5t158 239t60.5 296.5q0 111 -52.5 169t-154.5 58q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227zM776 209h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97q189 0 277 -192h10 -l67 172h127l-250 -1164q-45 -216 -165 -320t-330 -104q-182 0 -324 70v156q62 -36 152 -61t170 -25q140 0 219.5 68t110.5 206q36 166 71 287z" /> - <glyph glyph-name="gcircumflex.alt" -d="M449 119q93 0 190.5 93.5t158 239t60.5 296.5q0 111 -52.5 169t-154.5 58q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227zM776 209h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97q189 0 277 -192h10 -l67 172h127l-250 -1164q-45 -216 -165 -320t-330 -104q-182 0 -324 70v156q62 -36 152 -61t170 -25q140 0 219.5 68t110.5 206q36 166 71 287zM1039 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27 -z" /> - <glyph glyph-name="gbreve.alt" -d="M449 119q93 0 190.5 93.5t158 239t60.5 296.5q0 111 -52.5 169t-154.5 58q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227zM776 209h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97q189 0 277 -192h10 -l67 172h127l-250 -1164q-45 -216 -165 -320t-330 -104q-182 0 -324 70v156q62 -36 152 -61t170 -25q140 0 219.5 68t110.5 206q36 166 71 287zM1059 1509q-34 -138 -115 -203t-213 -65q-113 0 -180.5 59.5t-67.5 165.5v21l2 22h98q0 -59 37 -92t129 -33q169 0 203 125h107z -" /> - <glyph glyph-name="gdot.alt" -d="M449 119q93 0 190.5 93.5t158 239t60.5 296.5q0 111 -52.5 169t-154.5 58q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227zM776 209h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97q189 0 277 -192h10 -l67 172h127l-250 -1164q-45 -216 -165 -320t-330 -104q-182 0 -324 70v156q62 -36 152 -61t170 -25q140 0 219.5 68t110.5 206q36 166 71 287zM615 1376q0 53 32 90t82 37q88 0 88 -90q0 -55 -33.5 -93t-76.5 -38q-38 0 -65 24.5t-27 69.5z" /> - <glyph glyph-name="gcommaaccent.alt" -d="M449 119q93 0 190.5 93.5t158 239t60.5 296.5q0 111 -52.5 169t-154.5 58q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227zM776 209h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97q189 0 277 -192h10 -l67 172h127l-250 -1164q-45 -216 -165 -320t-330 -104q-182 0 -324 70v156q62 -36 152 -61t170 -25q140 0 219.5 68t110.5 206q36 166 71 287zM934 1542q-36 -54 -82 -149.5t-65 -151.5h-160v21q16 46 85 146.5t130 160.5h92v-27z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.ttf deleted file mode 100755 index 661ba13..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.woff deleted file mode 100755 index 9e1378f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Italic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.eot deleted file mode 100755 index 32cc215..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.svg deleted file mode 100755 index 6ebce1f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.svg +++ /dev/null @@ -1,21034 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:43:32 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans-Light" horiz-adv-x="1169" > - <font-face - font-family="Open Sans Light" - font-weight="300" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 3 6 3 5 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1087" - cap-height="1462" - bbox="-1067 -551 2335 2146" - underline-thickness="102" - underline-position="-307" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1229" -d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1200 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27 -l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1077" -d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM895 0h-99v1087h99v-1087zM782 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71 -t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1077" -d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM895 0h-99v1556h99v-1556z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="1692" -d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1200 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27 -l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1510 0h-99v1087h99v-1087zM1397 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="1692" -d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1200 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27 -l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1510 0h-99v1556h99v-1556z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="492" -d="M276 377h-61l-29 1085h119zM164 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="723" -d="M260 1462l-33 -528h-61l-33 528h127zM590 1462l-33 -528h-61l-33 528h127z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M967 928l-76 -398h303v-79h-320l-86 -451h-90l88 451h-360l-86 -451h-88l86 451h-283v79h299l76 398h-297v80h311l86 454h91l-89 -454h365l88 454h86l-88 -454h285v-80h-301zM440 530h363l78 398h-363z" /> - <glyph glyph-name="dollar" unicode="$" -d="M991 440q0 -133 -99 -217t-274 -106v-236h-81v232q-92 2 -200.5 22.5t-172.5 50.5v103q75 -36 179.5 -61t193.5 -25v508q-145 44 -215 88t-102 104t-32 146q0 124 94.5 208.5t254.5 104.5v192h81v-190q197 -9 351 -72l-33 -90q-141 62 -318 72v-486q213 -66 293 -144 -t80 -204zM881 444q0 85 -63 140.5t-200 95.5v-471q122 13 192.5 75t70.5 160zM297 1049q0 -86 57 -141t183 -93v453q-119 -16 -179.5 -76t-60.5 -143z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1653" -d="M211 1026q0 -186 45 -279.5t141 -93.5q193 0 193 373q0 184 -49.5 276.5t-143.5 92.5q-96 0 -141 -92.5t-45 -276.5zM688 1026q0 -226 -75 -343.5t-216 -117.5q-133 0 -208.5 120.5t-75.5 340.5q0 223 72 340t212 117q139 0 215 -120.5t76 -336.5zM1063 438 -q0 -185 45 -277.5t141 -92.5q193 0 193 370q0 369 -193 369q-96 0 -141 -91.5t-45 -277.5zM1540 438q0 -226 -74 -343.5t-215 -117.5q-136 0 -211 121.5t-75 339.5q0 225 73.5 341t212.5 116q137 0 213 -120t76 -337zM1280 1462l-811 -1462h-96l811 1462h96z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1460" -d="M123 371q0 138 73.5 235t274.5 205l-75 82q-66 71 -98 139t-32 142q0 143 95.5 227t256.5 84q155 0 245.5 -81t90.5 -224q0 -105 -70 -192.5t-253 -194.5l452 -457q61 72 104 157t75 201h96q-63 -246 -209 -426l266 -268h-135l-193 197q-92 -90 -164 -131.5t-157.5 -63.5 -t-194.5 -22q-209 0 -328.5 103t-119.5 288zM578 70q128 0 234.5 43.5t209.5 146.5l-483 485q-136 -72 -196.5 -122.5t-88 -109.5t-27.5 -138q0 -143 93 -224t258 -81zM373 1176q0 -79 40 -146t152 -174q159 85 221 159t62 169q0 94 -62 152.5t-168 58.5q-114 0 -179.5 -58 -t-65.5 -161z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="393" -d="M260 1462l-33 -528h-61l-33 528h127z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="557" -d="M82 561q0 265 77.5 496t223.5 405h113q-148 -182 -227 -412.5t-79 -486.5q0 -483 304 -887h-111q-147 170 -224 397t-77 488z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="557" -d="M475 561q0 -263 -77.5 -490t-223.5 -395h-111q304 404 304 887q0 257 -79 487.5t-227 411.5h113q147 -175 224 -406.5t77 -494.5z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1128" -d="M631 1556l-37 -405l405 104l21 -131l-395 -39l247 -340l-124 -71l-191 379l-180 -379l-125 71l242 340l-390 39l19 131l401 -104l-39 405h146z" /> - <glyph glyph-name="plus" unicode="+" -d="M625 764h434v-82h-434v-432h-82v432h-432v82h432v434h82v-434z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="440" -d="M295 238l12 -21q-75 -265 -174 -481h-65q77 275 110 502h117z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="659" -d="M92 512v82h475v-82h-475z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="487" -d="M162 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="698" -d="M674 1462l-545 -1462h-104l544 1462h105z" /> - <glyph glyph-name="zero" unicode="0" -d="M1055 735q0 -385 -117.5 -570t-355.5 -185q-229 0 -348 190.5t-119 564.5q0 382 115.5 566t351.5 184q231 0 352 -190.5t121 -559.5zM223 735q0 -340 89 -502.5t270 -162.5q189 0 275.5 168t86.5 497q0 324 -86.5 492t-275.5 168t-274 -168t-85 -492z" /> - <glyph glyph-name="one" unicode="1" -d="M682 0h-98v1065q0 145 12 301q-15 -15 -31 -29t-309 -243l-57 71l397 297h86v-1462z" /> - <glyph glyph-name="two" unicode="2" -d="M1028 0h-915v88l389 406q164 170 230 260t97 172t31 172q0 131 -86 213t-223 82q-183 0 -350 -133l-54 69q183 154 406 154q191 0 300.5 -102t109.5 -281q0 -145 -73.5 -280.5t-268.5 -334.5l-375 -385v-4h782v-96z" /> - <glyph glyph-name="three" unicode="3" -d="M979 1118q0 -136 -85.5 -229t-229.5 -119v-6q176 -22 268 -112t92 -242q0 -205 -139.5 -317.5t-401.5 -112.5q-223 0 -389 83v99q84 -44 188.5 -69t196.5 -25q221 0 332 89.5t111 252.5q0 145 -113.5 223t-333.5 78h-158v96h160q182 0 288.5 86.5t106.5 234.5 -q0 122 -86.5 195.5t-226.5 73.5q-109 0 -199 -30.5t-202 -104.5l-49 67q85 71 205 112.5t243 41.5q202 0 312 -95.5t110 -269.5z" /> - <glyph glyph-name="four" unicode="4" -d="M1141 373h-252v-373h-94v373h-752v67l725 1030h121v-1011h252v-86zM795 459v418q0 302 14 507h-8q-20 -37 -123 -188l-516 -737h633z" /> - <glyph glyph-name="five" unicode="5" -d="M537 879q234 0 368.5 -113t134.5 -311q0 -225 -140 -350t-386 -125q-109 0 -207 21.5t-164 61.5v103q108 -55 192 -76.5t179 -21.5q192 0 308 101.5t116 274.5q0 163 -113 256t-307 93q-130 0 -272 -39l-60 39l58 669h704v-96h-610l-45 -516q156 29 244 29z" /> - <glyph glyph-name="six" unicode="6" -d="M131 623q0 285 77.5 479.5t220 288.5t343.5 94q94 0 172 -23v-88q-73 27 -176 27q-247 0 -384.5 -178t-154.5 -518h13q76 98 174 148t207 50q205 0 320.5 -117t115.5 -323q0 -224 -121.5 -353.5t-327.5 -129.5q-222 0 -350.5 169.5t-128.5 473.5zM610 68q164 0 255 103 -t91 294q0 168 -90 262t-245 94q-102 0 -189.5 -45t-139.5 -119.5t-52 -152.5q0 -111 49.5 -213.5t134 -162.5t186.5 -60z" /> - <glyph glyph-name="seven" unicode="7" -d="M334 0l602 1366h-827v96h946v-73l-604 -1389h-117z" /> - <glyph glyph-name="eight" unicode="8" -d="M582 1487q186 0 299.5 -95t113.5 -257q0 -112 -70.5 -198t-228.5 -159q192 -79 270 -173t78 -228q0 -181 -126.5 -289t-339.5 -108q-221 0 -339 101t-118 294q0 131 83 230t257 169q-161 76 -227 160.5t-66 202.5q0 105 53 184.5t148.5 122.5t212.5 43zM223 360 -q0 -138 93.5 -214t261.5 -76q164 0 264 80.5t100 218.5q0 124 -78.5 201.5t-302.5 162.5q-184 -71 -261 -157t-77 -216zM580 1397q-141 0 -226.5 -69.5t-85.5 -190.5q0 -70 31.5 -123.5t91 -97t199.5 -101.5q163 63 234 139t71 183q0 120 -84.5 190t-230.5 70z" /> - <glyph glyph-name="nine" unicode="9" -d="M1036 842q0 -288 -75.5 -482t-220 -287t-349.5 -93q-104 0 -192 26v86q43 -14 103.5 -21.5t92.5 -7.5q247 0 387 178.5t156 520.5h-12q-73 -96 -174 -147.5t-211 -51.5q-203 0 -316.5 112t-113.5 318q0 220 124.5 356t323.5 136q144 0 252 -75.5t166.5 -221.5t58.5 -346z -M559 1397q-158 0 -252 -106.5t-94 -291.5q0 -174 87 -264t249 -90q101 0 188.5 45t139 119.5t51.5 151.5q0 117 -46.5 219t-130 159.5t-192.5 57.5z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="487" -d="M162 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM162 971q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="487" -d="M303 238l12 -21q-75 -265 -174 -481h-65q29 97 62 245.5t48 256.5h117zM162 971q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" /> - <glyph glyph-name="less" unicode="&#x3c;" -d="M1059 266l-948 416v61l948 474v-95l-823 -405l823 -355v-96z" /> - <glyph glyph-name="equal" unicode="=" -d="M111 885v82h948v-82h-948zM111 477v82h948v-82h-948z" /> - <glyph glyph-name="greater" unicode="&#x3e;" -d="M111 362l823 355l-823 405v95l948 -474v-61l-948 -416v96z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="862" -d="M293 377v37q0 123 37.5 201t138.5 167l91 79q72 61 103 121t31 138q0 127 -83.5 202t-219.5 75q-79 0 -148 -17.5t-149 -56.5l-37 80q110 48 184.5 64t153.5 16q183 0 288 -98.5t105 -270.5q0 -68 -18 -119t-50.5 -94.5t-78.5 -84t-102 -87.5q-64 -54 -98.5 -98.5 -t-50 -93.5t-15.5 -146v-14h-82zM260 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1815" -d="M1702 725q0 -228 -90.5 -366t-245.5 -138q-89 0 -144.5 54t-64.5 147h-4q-43 -100 -124 -150.5t-189 -50.5q-148 0 -229 96.5t-81 270.5q0 202 120.5 330.5t314.5 128.5q138 0 286 -41l-22 -464v-30q0 -104 35 -156.5t116 -52.5q103 0 168.5 116.5t65.5 303.5 -q0 194 -79 340t-225.5 224.5t-334.5 78.5q-230 0 -405.5 -99.5t-270 -281.5t-94.5 -418q0 -322 167 -497.5t474 -175.5q93 0 188.5 18t231.5 70v-99q-203 -80 -414 -80q-349 0 -544 200.5t-195 557.5q0 256 108.5 460.5t307 317.5t448.5 113q215 0 380.5 -89t255 -254.5 -t89.5 -383.5zM633 590q0 -143 55 -215t174 -72q255 0 273 346l16 291q-79 27 -193 27q-149 0 -237 -102.5t-88 -274.5z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1284" -d="M207 1462h401q271 0 398 -92t127 -278q0 -127 -77.5 -211.5t-226.5 -108.5v-6q175 -26 257.5 -110.5t82.5 -235.5q0 -202 -134 -311t-380 -109h-448v1462zM309 811h322q206 0 299.5 68.5t93.5 214.5t-105.5 212t-314.5 66h-295v-561zM309 721v-631h344q406 0 406 330 -q0 301 -428 301h-322z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1446" -d="M1317 745q0 -368 -193 -556.5t-567 -188.5h-350v1462h395q350 0 532.5 -183t182.5 -534zM1206 741q0 314 -159.5 472.5t-468.5 158.5h-269v-1282h242q655 0 655 651z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="1028" -d="M309 0h-102v1462h801v-94h-699v-620h660v-95h-660v-653z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1481" -d="M782 737h539v-667q-212 -90 -477 -90q-346 0 -530.5 195.5t-184.5 553.5q0 223 91.5 395.5t262 266.5t391.5 94q239 0 429 -88l-41 -92q-190 88 -394 88q-289 0 -458.5 -178.5t-169.5 -481.5q0 -330 161 -496.5t473 -166.5q202 0 343 57v514h-435v96z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1473" -d="M1266 0h-103v719h-854v-719h-102v1462h102v-649h854v649h103v-1462z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="506" -d="M-33 -369q-92 0 -151 27v88q78 -20 149 -20q242 0 242 264v1472h102v-1462q0 -369 -342 -369z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1190" -d="M1190 0h-125l-561 772l-195 -172v-600h-102v1462h102v-760l162 162l573 598h130l-599 -618z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="1051" -d="M207 0v1462h102v-1366h697v-96h-799z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1767" -d="M850 0l-545 1350h-8q8 -124 8 -254v-1096h-98v1462h158l518 -1286h6l518 1286h154v-1462h-103v1108q0 116 12 240h-8l-547 -1348h-65z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1477" -d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1198" -d="M1087 1042q0 -212 -144 -325t-408 -113h-226v-604h-102v1462h358q522 0 522 -420zM309 692h201q247 0 357 81.5t110 264.5q0 169 -104 250.5t-322 81.5h-242v-678z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1565" -d="M1436 733q0 -294 -126 -486.5t-349 -246.5l333 -348h-166l-282 330l-33 -2h-31q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5 -t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1217" -d="M309 637v-637h-102v1462h348q272 0 402 -100.5t130 -302.5q0 -147 -77.5 -248t-235.5 -145l397 -666h-122l-377 637h-363zM309 725h279q185 0 287 82.5t102 243.5q0 167 -100 243t-326 76h-242v-645z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1073" -d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1182" -d="M1071 1462h111l-547 -1462h-90l-545 1462h109l368 -995q84 -225 113 -338q20 75 79 233z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1827" -d="M1372 0h-84l-321 1128q-40 139 -60 228q-16 -87 -45.5 -200t-322.5 -1156h-86l-402 1462h107l256 -942q15 -57 28 -105.5t23.5 -91t19 -82t15.5 -79.5q24 136 102 413l250 887h113l293 -1018q51 -176 73 -284q13 72 33.5 153t308.5 1149h103z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1102" -d="M1102 0h-117l-432 682l-440 -682h-113l492 762l-447 700h115l395 -626l401 626h109l-453 -698z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1180" -d="M1098 0h-1016v76l856 1290h-817v96h954v-76l-858 -1290h881v-96z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="653" -d="M602 -324h-428v1786h428v-94h-330v-1597h330v-95z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="698" -d="M127 1462l547 -1462h-103l-546 1462h102z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="653" -d="M51 -229h330v1597h-330v94h428v-1786h-428v95z" /> - <glyph glyph-name="asciicircum" unicode="^" -d="M88 561l465 912h68l460 -912h-100l-395 791l-398 -791h-100z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="842" -d="M846 -266h-850v82h850v-82z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1182" -d="M776 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="a" unicode="a" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1219" -d="M641 1108q228 0 343.5 -143.5t115.5 -419.5q0 -271 -121.5 -418t-341.5 -147q-116 0 -209 48t-147 136h-9l-28 -164h-62v1556h99v-391q0 -88 -4 -162l-3 -85h7q62 98 149.5 144t210.5 46zM639 1018q-192 0 -275 -110t-83 -363v-17q0 -246 86.5 -353t269.5 -107 -q178 0 268 124.5t90 354.5q0 471 -356 471z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51z" /> - <glyph glyph-name="d" unicode="d" horiz-adv-x="1219" -d="M580 1108q118 0 204 -43t154 -147h6q-6 126 -6 247v391h98v-1556h-65l-25 166h-8q-124 -186 -356 -186q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q184 0 270 107t86 353v17q0 252 -84.5 362.5 -t-273.5 110.5z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="614" -d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1071" -d="M1030 1087v-69l-225 -14q90 -112 90 -246q0 -157 -104.5 -254.5t-280.5 -97.5q-74 0 -104 6q-59 -31 -90 -73t-31 -89q0 -52 39.5 -76t132.5 -24h190q177 0 271 -71.5t94 -211.5q0 -172 -139.5 -265.5t-397.5 -93.5q-205 0 -317.5 79t-112.5 220q0 112 69.5 186 -t188.5 101q-49 21 -78.5 59.5t-29.5 88.5q0 109 139 192q-95 39 -148 122.5t-53 191.5q0 163 103.5 261.5t279.5 98.5q107 0 166 -21h348zM150 -184q0 -224 333 -224q428 0 428 273q0 98 -67 142t-217 44h-178q-299 0 -299 -235zM233 748q0 -126 76.5 -195.5t204.5 -69.5 -q136 0 208.5 69t72.5 200q0 139 -74.5 208.5t-208.5 69.5q-130 0 -204.5 -74.5t-74.5 -207.5z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1556h99v-495l-5 -139h7q61 98 154 142t231 44q370 0 370 -397v-711h-98z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="463" -d="M37 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="991" -d="M279 477l555 610h120l-428 -464l465 -623h-119l-413 549l-178 -162v-387h-99v1556h99v-780l-7 -299h5z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="463" -d="M281 0h-99v1556h99v-1556z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1808" -d="M1540 0v713q0 159 -62 232t-190 73q-167 0 -247 -92t-80 -289v-637h-101v743q0 275 -252 275q-171 0 -249 -99.5t-78 -318.5v-600h-99v1087h82l21 -149h6q45 81 128 125.5t183 44.5q257 0 330 -193h4q53 93 142.5 143t203.5 50q178 0 267 -95t89 -302v-711h-98z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1219" -d="M647 -20q-251 0 -366 188h-7l3 -84q4 -74 4 -162v-414h-99v1579h84l19 -155h6q112 176 358 176q220 0 335.5 -144.5t115.5 -420.5q0 -268 -121.5 -415.5t-331.5 -147.5zM645 68q167 0 258.5 124t91.5 347q0 479 -346 479q-190 0 -279 -104.5t-89 -340.5v-32 -q0 -255 85.5 -364t278.5 -109z" /> - <glyph glyph-name="q" unicode="q" horiz-adv-x="1219" -d="M569 -20q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1579h-98v414q0 122 6 248h-6q-118 -190 -369 -190zM571 68q198 0 282.5 109t84.5 366v12q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5 -t258.5 -116.5z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="797" -d="M610 1108q69 0 148 -14l-19 -95q-68 17 -141 17q-139 0 -228 -118t-89 -298v-600h-99v1087h84l10 -196h7q67 120 143 168.5t184 48.5z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="686" -d="M469 68q94 0 164 16v-80q-72 -24 -166 -24q-144 0 -212.5 77t-68.5 242v702h-161v58l161 45l50 246h51v-263h319v-86h-319v-688q0 -125 44 -185t138 -60z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="940" -d="M420 0l-420 1087h102l281 -739q56 -142 84 -248h6q41 136 84 250l281 737h102l-420 -1087h-100z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1481" -d="M1051 0l-238 727q-23 74 -59 217h-6l-21 -74l-45 -145l-242 -725h-98l-311 1087h106l174 -630q61 -234 80 -344h6q59 234 86 311l224 663h90l213 -661q72 -235 88 -311h6q8 65 80 348l166 624h100l-295 -1087h-104z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="1020" -d="M449 559l-379 528h114l324 -458l321 458h109l-373 -528l400 -559h-115l-342 485l-344 -485h-109z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="944" -d="M858 0h-776v63l645 936h-598v88h727v-63l-649 -936h651v-88z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="723" -d="M389 -27q0 -102 59.5 -152.5t202.5 -53.5v-91q-195 0 -277.5 75t-82.5 231v337q0 205 -230 209v80q122 2 176 51t54 148v350q0 299 360 305v-90q-138 -5 -200 -58t-62 -157v-305q0 -130 -44 -194t-142 -85v-8q97 -20 141.5 -83.5t44.5 -186.5v-322z" /> - <glyph glyph-name="bar" unicode="|" horiz-adv-x="1108" -d="M508 1561h92v-2067h-92v2067z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="723" -d="M334 295q0 123 44.5 186.5t141.5 83.5v8q-97 20 -141.5 84t-44.5 195v305q0 103 -61.5 156.5t-200.5 58.5v90q174 0 267 -77.5t93 -227.5v-350q0 -100 54.5 -148.5t175.5 -50.5v-80q-230 -4 -230 -209v-337q0 -155 -82.5 -230.5t-277.5 -75.5v91q141 2 201.5 52.5 -t60.5 153.5v322z" /> - <glyph glyph-name="asciitilde" unicode="~" -d="M334 745q-49 0 -108 -30.5t-115 -89.5v94q108 110 233 110q61 0 115 -13.5t155 -57.5q126 -58 220 -58q56 0 109.5 30.5t115.5 94.5v-96q-48 -49 -104.5 -81t-129.5 -32q-116 0 -270 72q-124 57 -221 57z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="492" -d="M215 711h61l29 -1086h-119zM166 1010q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" /> - <glyph glyph-name="cent" unicode="&#xa2;" -d="M602 190q-186 30 -288.5 175t-102.5 380q0 232 102.5 381.5t288.5 182.5v174h82v-166h14q131 0 275 -55l-31 -84q-134 51 -237 51q-187 0 -288.5 -122.5t-101.5 -358.5q0 -225 100.5 -349.5t280.5 -124.5q131 0 267 58v-92q-110 -56 -267 -56h-12v-204h-82v210z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" -d="M412 676v-256q0 -116 -35 -196t-113 -128h809v-96h-995v84q110 21 171.5 110t61.5 224v258h-211v82h211v297q0 204 98 315t281 111q175 0 330 -68l-35 -86q-157 66 -295 66q-141 0 -209.5 -81t-68.5 -253v-301h411v-82h-411z" /> - <glyph glyph-name="currency" unicode="&#xa4;" -d="M991 723q0 -151 -90 -256l139 -141l-59 -60l-137 142q-110 -93 -260 -93q-153 0 -260 93l-138 -142l-59 60l139 141q-90 106 -90 256q0 147 90 258l-139 141l59 60l138 -142q103 93 260 93q155 0 260 -93l137 142l59 -60l-139 -141q90 -111 90 -258zM584 395 -q134 0 228.5 95.5t94.5 232.5q0 136 -95 233t-228 97q-134 0 -229 -97t-95 -233t94.5 -232t229.5 -96z" /> - <glyph glyph-name="yen" unicode="&#xa5;" -d="M586 666l428 796h110l-432 -788h283v-82h-338v-205h338v-82h-338v-305h-105v305h-337v82h337v205h-337v82h278l-430 788h117z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1108" -d="M508 1561h92v-764h-92v764zM508 258h92v-764h-92v764z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="1057" -d="M145 813q0 83 50.5 152.5t138.5 107.5q-86 47 -125 102t-39 136q0 117 101.5 183.5t275.5 66.5q175 0 336 -64l-35 -80q-91 34 -158.5 47t-144.5 13q-134 0 -205.5 -44.5t-71.5 -119.5q0 -54 25.5 -88.5t85.5 -65.5t188 -74q192 -64 264 -132.5t72 -170.5 -q0 -173 -186 -274q86 -42 129 -96t43 -136q0 -135 -113 -207.5t-311 -72.5q-92 0 -171 15t-165 52v95q182 -78 332 -78q162 0 247 49.5t85 140.5q0 55 -25 87.5t-88.5 65.5t-190.5 79q-200 73 -272 141.5t-72 169.5zM246 825q0 -65 31.5 -104t105.5 -75t250 -99 -q82 41 126 98t44 121q0 62 -32 102t-108.5 77t-236.5 87q-81 -23 -130.5 -79t-49.5 -128z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1182" -d="M336 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM717 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M897 1092q-142 0 -222.5 -94.5t-80.5 -264.5q0 -186 74.5 -275t220.5 -89q84 0 198 43v-88q-102 -45 -208 -45q-187 0 -288.5 115t-101.5 331q0 208 111 332.5t297 124.5q119 0 227 -52l-37 -83q-98 45 -190 45zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100 -t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM193 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89t329.5 88.5t240.5 240.5t89 330q0 174 -85.5 325t-239 243t-334.5 92q-176 0 -328.5 -88.5t-241.5 -242.5t-89 -329z -" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="686" -d="M512 813l-25 72q-84 -84 -202 -84q-95 0 -151 49t-56 139q0 100 80 151.5t241 59.5l95 4v43q0 77 -38 114.5t-106 37.5q-87 0 -196 -49l-33 73q117 56 231 56q228 0 228 -215v-451h-68zM168 993q0 -54 35 -85t96 -31q90 0 142.5 50t52.5 142v64l-88 -5 -q-116 -6 -177 -36.5t-61 -98.5z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="885" -d="M82 543l309 393l62 -43l-254 -363l254 -362l-62 -43l-309 391v27zM442 543l310 393l61 -43l-254 -363l254 -362l-61 -43l-310 391v27z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" -d="M1038 764v-494h-82v412h-845v82h927z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="659" -d="M92 512v82h475v-82h-475z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M709 731h112q91 0 143 46.5t52 135.5q0 172 -197 172h-110v-354zM1120 918q0 -79 -38.5 -139.5t-110.5 -94.5l237 -393h-121l-210 360h-168v-360h-101v880h211q143 0 222 -62t79 -191zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377 -q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM193 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89t329.5 88.5t240.5 240.5t89 330q0 174 -85.5 325t-239 243t-334.5 92q-176 0 -328.5 -88.5t-241.5 -242.5t-89 -329z" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="1024" -d="M1030 1556h-1036v82h1036v-82z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M139 1184q0 132 86.5 215.5t212.5 83.5t212.5 -83.5t86.5 -215.5t-86.5 -215.5t-212.5 -83.5q-130 0 -214.5 83t-84.5 216zM229 1184q0 -91 61 -154t148 -63q86 0 147.5 62t61.5 155q0 92 -60 154.5t-149 62.5q-90 0 -149.5 -64t-59.5 -153z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" -d="M111 1v82h948v-82h-948zM625 764h434v-82h-434v-432h-82v432h-432v82h432v434h82v-434z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="688" -d="M629 586h-576v78l242 237q125 121 172 193t47 149q0 71 -46.5 112.5t-123.5 41.5q-108 0 -217 -82l-49 65q119 103 270 103q124 0 194 -63.5t70 -174.5q0 -47 -13 -89t-40 -85.5t-68.5 -90t-308.5 -306.5h447v-88z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="688" -d="M616 1260q0 -78 -44 -131.5t-117 -75.5q186 -45 186 -211q0 -130 -88.5 -201.5t-247.5 -71.5q-144 0 -264 60v88q136 -62 266 -62q115 0 174.5 49t59.5 136q0 83 -59.5 122t-178.5 39h-131v84h135q105 0 158 43.5t53 120.5q0 67 -47 107.5t-127 40.5q-128 0 -246 -78 -l-47 70q130 94 293 94q127 0 199.5 -60t72.5 -163z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1182" -d="M393 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1221" -d="M281 1087v-704q0 -164 69 -238.5t213 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-50 -77 -150 -123.5t-217 -46.5q-99 0 -167.5 27.5t-119.5 84.5q5 -92 5 -170v-414h-99v1579h99z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1106 -260h-100v1722h-228v-1722h-100v819q-64 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h543v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="487" -d="M162 721q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="420" -d="M393 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="688" -d="M350 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="739" -d="M670 1141q0 -161 -80 -250.5t-223 -89.5t-220 86t-77 254q0 162 78 250t223 88q142 0 220.5 -87t78.5 -251zM160 1141q0 -264 209 -264t209 264q0 131 -50 194.5t-159 63.5t-159 -63.5t-50 -194.5z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="885" -d="M803 518l-309 -393l-62 43l254 362l-254 363l62 43l309 -391v-27zM442 518l-309 -393l-61 43l254 362l-254 363l61 43l309 -391v-27z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1516" -d="M333 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77zM1148 1462l-811 -1462h-94l811 1462h94zM1392 242h-129v-241h-90v241h-413v60l407 581h96v-563h129v-78zM1173 320v221q0 132 8 232q-6 -12 -21.5 -35.5t-295.5 -417.5h309z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1516" -d="M285 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77zM1073 1462l-811 -1462h-94l811 1462h94zM1403 1h-576v78l242 237q125 121 172 193t47 149q0 71 -46.5 112.5t-123.5 41.5q-108 0 -217 -82l-49 65q119 103 270 103q124 0 194 -63.5t70 -174.5 -q0 -47 -13 -89t-40 -85.5t-68.5 -90t-308.5 -306.5h447v-88z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1516" -d="M616 1260q0 -78 -44 -131.5t-117 -75.5q186 -45 186 -211q0 -130 -88.5 -201.5t-247.5 -71.5q-144 0 -264 60v88q136 -62 266 -62q115 0 174.5 49t59.5 136q0 83 -59.5 122t-178.5 39h-131v84h135q105 0 158 43.5t53 120.5q0 67 -47 107.5t-127 40.5q-128 0 -246 -78 -l-47 70q130 94 293 94q127 0 199.5 -60t72.5 -163zM1300 1462l-811 -1462h-94l811 1462h94zM1495 242h-129v-241h-90v241h-413v60l407 581h96v-563h129v-78zM1276 320v221q0 132 8 232q-6 -12 -21.5 -35.5t-295.5 -417.5h309z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="862" -d="M569 711v-37q0 -125 -39.5 -204.5t-136.5 -164.5l-90 -79q-73 -61 -104 -120.5t-31 -138.5q0 -124 82 -200t221 -76q125 0 233 46l64 27l37 -79q-111 -48 -185.5 -64t-152.5 -16q-184 0 -288.5 99t-104.5 269q0 70 20 124t58.5 102t171.5 159q64 53 98.5 98.5t49.5 94 -t15 145.5v15h82zM440 1010q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM720 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM504 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM328 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM784 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59 -q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM367 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM748 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM836 1610q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM482 1610q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5 -t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1653" -d="M1528 0h-717v516h-475l-227 -516h-111l653 1462h877v-94h-615v-553h576v-94h-576v-627h615v-94zM377 608h434v760h-100z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM911 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11 -v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM697 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM463 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM315 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM354 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM735 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM320 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM191 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM-32 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM5 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM386 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1466" -d="M1317 745q0 -368 -193 -556.5t-567 -188.5h-350v678h-160v94h160v690h395q350 0 532.5 -183t182.5 -534zM1206 741q0 314 -159.5 472.5t-468.5 158.5h-269v-600h406v-94h-406v-588h242q655 0 655 651z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1477" -d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462zM897 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50 -t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM885 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM686 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM492 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM940 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM529 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM910 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" -d="M584 780l409 408l58 -58l-408 -407l406 -408l-58 -57l-407 408l-406 -408l-57 57l405 408l-407 407l57 58z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-236 0 -395 120l-86 -120l-74 59l90 127q-188 200 -188 569q0 349 175.5 549.5t479.5 200.5q232 0 392 -121l108 152l72 -60l-111 -153q191 -207 191 -570zM1325 733q0 315 -139 486l-742 -1037q133 -106 338 -106 -q264 0 403.5 170t139.5 487zM240 733q0 -312 139 -483l739 1034q-133 102 -334 102q-261 0 -402.5 -170t-141.5 -483z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM833 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM633 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM444 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207 -q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM481 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM862 1727q0 46 15.5 66t47.5 20 -q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM434 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1198" -d="M1087 778q0 -212 -144 -325t-408 -113h-226v-340h-102v1462h102v-264h256q522 0 522 -420zM309 428h201q247 0 357 81.5t110 264.5q0 169 -104 250.5t-322 81.5h-242v-678z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1194" -d="M961 1284q0 -139 -139 -250q-81 -64 -110.5 -100.5t-29.5 -75.5q0 -44 14.5 -68t51.5 -57t102 -78q106 -75 151.5 -124.5t68 -103t22.5 -120.5q0 -156 -88 -241.5t-246 -85.5q-95 0 -174.5 18.5t-126.5 48.5v107q65 -38 148.5 -62t152.5 -24q114 0 174.5 54.5t60.5 160.5 -q0 83 -39 144t-149 136q-127 87 -175 147t-48 146q0 60 32.5 110t106.5 108q74 57 106.5 105.5t32.5 106.5q0 93 -70 143t-202 50q-145 0 -226 -69t-81 -196v-1214h-99v1206q0 173 103.5 267t292.5 94q188 0 285.5 -72.5t97.5 -210.5z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM638 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM422 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM251 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM697 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5 -h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM282 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM663 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM759 1456q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM405 1456q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5 -q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1731" -d="M1243 -20q-295 0 -397 256q-68 -133 -168 -194.5t-252 -61.5q-156 0 -242 82.5t-86 226.5q0 154 125 243t377 97l201 6v72q0 155 -61.5 234t-198.5 79q-148 0 -305 -84l-37 86q173 84 346 84q261 0 325 -211q111 213 347 213q184 0 289.5 -134.5t105.5 -363.5v-80h-715 -q0 -460 348 -460q85 0 150 12t174 57v-90q-92 -41 -165 -55t-161 -14zM434 70q169 0 266 99.5t97 276.5v107l-187 -8q-219 -11 -313 -71.5t-94 -188.5q0 -102 61 -158.5t170 -56.5zM1217 1020q-284 0 -314 -402h604q0 188 -77.5 295t-212.5 107z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM723 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88 -q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM685 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM452 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM290 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM331 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM712 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM349 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM107 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM-58 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM-21 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM360 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1174" -d="M1055 559q0 -276 -124 -427.5t-349 -151.5q-214 0 -339.5 130t-125.5 361q0 228 126.5 357.5t342.5 129.5q108 0 187.5 -33t148.5 -96l4 2q-64 270 -269 459l-270 -157l-49 77l244 146q-86 62 -199 119l45 81q147 -69 248 -145l225 137l49 -84l-202 -121 -q154 -151 230.5 -353t76.5 -431zM950 557q0 146 -97 228.5t-267 82.5q-185 0 -275 -100.5t-90 -304.5q0 -186 94.5 -289.5t268.5 -103.5q179 0 272.5 123t93.5 364z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98zM779 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5 -t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M718 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M499 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M309 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M761 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M346 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM727 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="divide" unicode="&#xf7;" -d="M111 682v82h948v-82h-948zM504 1075q0 99 80 99q82 0 82 -99q0 -52 -23.5 -75t-58.5 -23q-34 0 -57 23t-23 75zM504 371q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-173 0 -291 98l-86 -113l-72 58l93 120q-121 153 -121 402q0 266 129 414.5t354 148.5q179 0 301 -104l96 124l74 -55l-104 -137q112 -147 112 -391zM223 545q0 -200 78 -322l543 705q-98 90 -246 90q-180 0 -277.5 -123.5 -t-97.5 -349.5zM977 545q0 190 -72 309l-543 -702q94 -82 238 -82q180 0 278.5 125.5t98.5 349.5z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM687 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM495 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM313 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM350 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM731 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM361 1257q73 79 144.5 171.5t97.5 140.5h141v-17 -q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1219" -d="M281 918q114 190 368 190q220 0 335.5 -144.5t115.5 -420.5q0 -268 -121.5 -415.5t-331.5 -147.5q-251 0 -366 188h-7l3 -84q4 -74 4 -162v-414h-99v2048h99v-391l-7 -247h7zM645 68q167 0 258.5 124t91.5 347q0 479 -348 479q-193 0 -279.5 -105t-86.5 -354v-18 -q0 -255 85.5 -364t278.5 -109z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM214 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86zM595 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM342 1671h555v-82h-555v82z" /> - <glyph glyph-name="amacron" unicode="&#x101;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM274 1333h555v-82h-555v82z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM617 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="abreve" unicode="&#x103;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM552 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM1061 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5 -t-35.5 -128.5z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" horiz-adv-x="1085" -d="M772 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139q38 67 127 138l-23 159h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79 -q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723q-72 -63 -107.5 -119.5t-35.5 -128.5zM442 70q174 0 274.5 99.5t100.5 276.5v107l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM657 1595q73 79 144.5 171.5t97.5 140.5h141v-17 -q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM444 1257q73 79 144.5 171.5t97.5 140.5h141v-17 -q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM473 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312 -v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM290 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312 -v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM717 1727q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71 -t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM522 1389q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71 -t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM1051 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17 -h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM872 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70 -q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1446" -d="M1317 745q0 -368 -193 -556.5t-567 -188.5h-350v1462h395q350 0 532.5 -183t182.5 -534zM1206 741q0 314 -159.5 472.5t-468.5 158.5h-269v-1282h242q655 0 655 651zM961 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z -" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" horiz-adv-x="1219" -d="M580 1108q118 0 204 -43t154 -147h6q-6 126 -6 247v391h98v-1556h-65l-25 166h-8q-124 -186 -356 -186q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q184 0 270 107t86 353v17q0 252 -84.5 362.5 -t-273.5 110.5zM1141 1245q21 45 48 139.5t38 171.5h112v-14q-15 -60 -53.5 -147t-91.5 -166h-53v16z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1466" -d="M1317 745q0 -368 -193 -556.5t-567 -188.5h-350v678h-160v94h160v690h395q350 0 532.5 -183t182.5 -534zM1206 741q0 314 -159.5 472.5t-468.5 158.5h-269v-600h406v-94h-406v-588h242q655 0 655 651z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1219" -d="M580 1108q118 0 204 -43t154 -147h6q-6 126 -6 247v107h-473v82h473v202h98v-202h156v-82h-156v-1272h-65l-25 166h-8q-124 -186 -356 -186q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q184 0 270 107 -t86 353v17q0 252 -84.5 362.5t-273.5 110.5z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM322 1671h555v-82h-555v82z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM309 1333h555v-82h-555v82z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM596 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM581 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM543 1698q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM512 1389q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM754 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5t-35.5 -128.5z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM752 -211q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5t-35.5 -128.5z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM889 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM866 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1481" -d="M782 737h539v-667q-212 -90 -477 -90q-346 0 -530.5 195.5t-184.5 553.5q0 223 91.5 395.5t262 266.5t391.5 94q239 0 429 -88l-41 -92q-190 88 -394 88q-289 0 -458.5 -178.5t-169.5 -481.5q0 -330 161 -496.5t473 -166.5q202 0 343 57v514h-435v96zM512 1595 -q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1071" -d="M1030 1087v-69l-225 -14q90 -112 90 -246q0 -157 -104.5 -254.5t-280.5 -97.5q-74 0 -104 6q-59 -31 -90 -73t-31 -89q0 -52 39.5 -76t132.5 -24h190q177 0 271 -71.5t94 -211.5q0 -172 -139.5 -265.5t-397.5 -93.5q-205 0 -317.5 79t-112.5 220q0 112 69.5 186 -t188.5 101q-49 21 -78.5 59.5t-29.5 88.5q0 109 139 192q-95 39 -148 122.5t-53 191.5q0 163 103.5 261.5t279.5 98.5q107 0 166 -21h348zM150 -184q0 -224 333 -224q428 0 428 273q0 98 -67 142t-217 44h-178q-299 0 -299 -235zM233 748q0 -126 76.5 -195.5t204.5 -69.5 -q136 0 208.5 69t72.5 200q0 139 -74.5 208.5t-208.5 69.5q-130 0 -204.5 -74.5t-74.5 -207.5zM230 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1481" -d="M782 737h539v-667q-212 -90 -477 -90q-346 0 -530.5 195.5t-184.5 553.5q0 223 91.5 395.5t262 266.5t391.5 94q239 0 429 -88l-41 -92q-190 88 -394 88q-289 0 -458.5 -178.5t-169.5 -481.5q0 -330 161 -496.5t473 -166.5q202 0 343 57v514h-435v96zM799 1579 -q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1071" -d="M1030 1087v-69l-225 -14q90 -112 90 -246q0 -157 -104.5 -254.5t-280.5 -97.5q-74 0 -104 6q-59 -31 -90 -73t-31 -89q0 -52 39.5 -76t132.5 -24h190q177 0 271 -71.5t94 -211.5q0 -172 -139.5 -265.5t-397.5 -93.5q-205 0 -317.5 79t-112.5 220q0 112 69.5 186 -t188.5 101q-49 21 -78.5 59.5t-29.5 88.5q0 109 139 192q-95 39 -148 122.5t-53 191.5q0 163 103.5 261.5t279.5 98.5q107 0 166 -21h348zM150 -184q0 -224 333 -224q428 0 428 273q0 98 -67 142t-217 44h-178q-299 0 -299 -235zM233 748q0 -126 76.5 -195.5t204.5 -69.5 -q136 0 208.5 69t72.5 200q0 139 -74.5 208.5t-208.5 69.5q-130 0 -204.5 -74.5t-74.5 -207.5zM513 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1481" -d="M782 737h539v-667q-212 -90 -477 -90q-346 0 -530.5 195.5t-184.5 553.5q0 223 91.5 395.5t262 266.5t391.5 94q239 0 429 -88l-41 -92q-190 88 -394 88q-289 0 -458.5 -178.5t-169.5 -481.5q0 -330 161 -496.5t473 -166.5q202 0 343 57v514h-435v96zM753 1727 -q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1071" -d="M1030 1087v-69l-225 -14q90 -112 90 -246q0 -157 -104.5 -254.5t-280.5 -97.5q-74 0 -104 6q-59 -31 -90 -73t-31 -89q0 -52 39.5 -76t132.5 -24h190q177 0 271 -71.5t94 -211.5q0 -172 -139.5 -265.5t-397.5 -93.5q-205 0 -317.5 79t-112.5 220q0 112 69.5 186 -t188.5 101q-49 21 -78.5 59.5t-29.5 88.5q0 109 139 192q-95 39 -148 122.5t-53 191.5q0 163 103.5 261.5t279.5 98.5q107 0 166 -21h348zM150 -184q0 -224 333 -224q428 0 428 273q0 98 -67 142t-217 44h-178q-299 0 -299 -235zM233 748q0 -126 76.5 -195.5t204.5 -69.5 -q136 0 208.5 69t72.5 200q0 139 -74.5 208.5t-208.5 69.5q-130 0 -204.5 -74.5t-74.5 -207.5zM463 1389q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1481" -d="M782 737h539v-667q-212 -90 -477 -90q-346 0 -530.5 195.5t-184.5 553.5q0 223 91.5 395.5t262 266.5t391.5 94q239 0 429 -88l-41 -92q-190 88 -394 88q-289 0 -458.5 -178.5t-169.5 -481.5q0 -330 161 -496.5t473 -166.5q202 0 343 57v514h-435v96zM682 -436 -q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1071" -d="M1030 1087v-69l-225 -14q90 -112 90 -246q0 -157 -104.5 -254.5t-280.5 -97.5q-74 0 -104 6q-59 -31 -90 -73t-31 -89q0 -52 39.5 -76t132.5 -24h190q177 0 271 -71.5t94 -211.5q0 -172 -139.5 -265.5t-397.5 -93.5q-205 0 -317.5 79t-112.5 220q0 112 69.5 186 -t188.5 101q-49 21 -78.5 59.5t-29.5 88.5q0 109 139 192q-95 39 -148 122.5t-53 191.5q0 163 103.5 261.5t279.5 98.5q107 0 166 -21h348zM150 -184q0 -224 333 -224q428 0 428 273q0 98 -67 142t-217 44h-178q-299 0 -299 -235zM233 748q0 -126 76.5 -195.5t204.5 -69.5 -q136 0 208.5 69t72.5 200q0 139 -74.5 208.5t-208.5 69.5q-130 0 -204.5 -74.5t-74.5 -207.5zM669 1552q-27 -58 -53.5 -159t-32.5 -152h-112v14q20 77 61.5 165t83.5 149h53v-17z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1473" -d="M1266 0h-103v719h-854v-719h-102v1462h102v-649h854v649h103v-1462zM444 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1556h99v-495l-5 -139h7q61 98 154 142t231 44q370 0 370 -397v-711h-98zM313 1650q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207 -h-70v16z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1473" -d="M207 1192v270h102v-270h854v270h103v-270h207v-94h-207v-1098h-103v719h-854v-719h-102v1098h-207v94h207zM1163 813v285h-854v-285h854z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1208" -d="M940 0v674q0 164 -69 238.5t-214 74.5q-197 0 -286.5 -98t-89.5 -320v-569h-99v1272h-155v82h155v202h99v-202h473v-82h-473v-242l-5 -139h7q61 98 154 142t231 44q370 0 370 -397v-680h-98z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM419 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM390 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM-17 1671h555v-82h-555v82z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM-44 1333h555v-82h-555v82z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM257 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM231 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM164 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5t-35.5 -128.5z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97zM138 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5 -t-35.5 -128.5z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM194 1727q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1022" -d="M207 0v1462h102v-1462h-102zM483 -369q-92 0 -151 27v88q78 -20 149 -20q242 0 242 264v1472h102v-1462q0 -369 -342 -369z" /> - <glyph glyph-name="ij" unicode="&#x133;" horiz-adv-x="926" -d="M281 0h-99v1087h99v-1087zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97zM500 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73zM631 1389q0 96 63 96q31 0 48.5 -25t17.5 -71 -q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="506" -d="M-33 -369q-92 0 -151 27v88q78 -20 149 -20q242 0 242 264v1472h102v-1462q0 -369 -342 -369zM-34 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="463" -d="M37 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73zM-58 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1190" -d="M1190 0h-125l-561 772l-195 -172v-600h-102v1462h102v-760l162 162l573 598h130l-599 -618zM524 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="991" -d="M279 477l555 610h120l-428 -464l465 -623h-119l-413 549l-178 -162v-387h-99v1556h99v-780l-7 -299h5zM436 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="991" -d="M279 477l555 610h120l-428 -464l465 -623h-119l-413 549l-178 -162v-387h-99v1087h99v-311l-7 -299h5z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="1051" -d="M207 0v1462h102v-1366h697v-96h-799zM226 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="463" -d="M281 0h-99v1556h99v-1556zM136 1652q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="1051" -d="M207 0v1462h102v-1366h697v-96h-799zM461 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="463" -d="M281 0h-99v1556h99v-1556zM97 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="1051" -d="M207 0v1462h102v-1366h697v-96h-799zM676 1152q21 45 48 139.5t38 171.5h112v-14q-15 -60 -53.5 -147t-91.5 -166h-53v16z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="463" -d="M281 0h-99v1556h99v-1556zM386 1245q21 45 48 139.5t38 171.5h112v-14q-15 -60 -53.5 -147t-91.5 -166h-53v16z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="1051" -d="M207 0v1462h102v-1366h697v-96h-799zM692 728q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="477" -d="M281 0h-99v1556h99v-1556zM405 677q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1051" -d="M207 0v551l-137 -86l-41 74l178 112v811h102v-747l324 205l47 -76l-371 -230v-518h697v-96h-799z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="463" -d="M281 817l153 103l43 -70l-196 -131v-719h-99v653l-129 -86l-45 72l174 115v802h99v-739z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1477" -d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462zM618 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98zM489 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1477" -d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462zM598 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98zM475 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1477" -d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462zM1028 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1208" -d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98zM895 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1284" -d="M1016 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98zM228 1462l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1477" -d="M1270 0q0 -369 -342 -369q-93 0 -152 27v88q78 -20 150 -20q241 0 241 264v10l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1208" -d="M795 -492q-79 0 -136 25v86q69 -20 129 -20q152 0 152 176v930q0 164 -72.5 238.5t-224.5 74.5q-189 0 -275.5 -99.5t-86.5 -318.5v-600h-99v1087h84l19 -149h6q54 87 147 128.5t205 41.5q201 0 298 -99t97 -298v-922q0 -134 -62.5 -207.5t-180.5 -73.5z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM506 1671h555v-82h-555v82z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M324 1333h555v-82h-555v82z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM781 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M598 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM534 1595q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16zM872 1595q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M342 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16zM680 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1839" -d="M1714 0h-756q-76 -16 -176 -16q-305 0 -479 200t-174 551q0 347 174.5 545.5t480.5 198.5q78 0 183 -17h747v-94h-655v-553h616v-94h-616v-627h655v-94zM782 80q109 0 174 18v1266q-62 16 -172 16q-262 0 -403 -167.5t-141 -479.5q0 -315 140.5 -484t401.5 -169z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1942" -d="M1438 -20q-156 0 -266.5 67.5t-165.5 198.5q-59 -128 -158 -197t-252 -69q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q151 0 251 -70t157 -209q110 279 399 279q192 0 303 -134t111 -364v-80h-762q2 -230 100.5 -345t276.5 -115q93 0 163.5 13t178.5 56 -v-90q-92 -40 -170 -54.5t-172 -14.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5q174 0 265 122.5t91 352.5q0 224 -93 348.5t-265 124.5q-180 0 -277.5 -123.5t-97.5 -349.5zM1409 1020q-155 0 -242 -104t-102 -298h653q0 189 -82 295.5t-227 106.5z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1217" -d="M309 637v-637h-102v1462h348q272 0 402 -100.5t130 -302.5q0 -147 -77.5 -248t-235.5 -145l397 -666h-122l-377 637h-363zM309 725h279q185 0 287 82.5t102 243.5q0 167 -100 243t-326 76h-242v-645zM491 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138 -t-190.5 -173h-70v16z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="797" -d="M610 1108q69 0 148 -14l-19 -95q-68 17 -141 17q-139 0 -228 -118t-89 -298v-600h-99v1087h84l10 -196h7q67 120 143 168.5t184 48.5zM339 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1217" -d="M309 637v-637h-102v1462h348q272 0 402 -100.5t130 -302.5q0 -147 -77.5 -248t-235.5 -145l397 -666h-122l-377 637h-363zM309 725h279q185 0 287 82.5t102 243.5q0 167 -100 243t-326 76h-242v-645zM524 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5 -t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="797" -d="M610 1108q69 0 148 -14l-19 -95q-68 17 -141 17q-139 0 -228 -118t-89 -298v-600h-99v1087h84l10 -196h7q67 120 143 168.5t184 48.5zM109 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1217" -d="M309 637v-637h-102v1462h348q272 0 402 -100.5t130 -302.5q0 -147 -77.5 -248t-235.5 -145l397 -666h-122l-377 637h-363zM309 725h279q185 0 287 82.5t102 243.5q0 167 -100 243t-326 76h-242v-645zM895 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70 -q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="797" -d="M610 1108q69 0 148 -14l-19 -95q-68 17 -141 17q-139 0 -228 -118t-89 -298v-600h-99v1087h84l10 -196h7q67 120 143 168.5t184 48.5zM745 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5zM456 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127zM351 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5zM280 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127zM196 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5zM719 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127zM629 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5zM859 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127zM759 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1073" -d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366zM686 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="686" -d="M469 68q94 0 164 16v-80q-72 -24 -166 -24q-144 0 -212.5 77t-68.5 242v702h-161v58l161 45l50 246h51v-263h319v-86h-319v-688q0 -125 44 -185t138 -60zM590 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121 -l93 174h96l-66 -117q168 -37 168 -174z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1073" -d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366zM829 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="686" -d="M469 68q94 0 164 16v-80q-72 -24 -166 -24q-144 0 -212.5 77t-68.5 242v702h-161v58l161 45l50 246h51v-263h319v-86h-319v-688q0 -125 44 -185t138 -60zM480 1245q21 45 48 139.5t38 171.5h112v-14q-15 -60 -53.5 -147t-91.5 -166h-53v16z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1073" -d="M588 793h354v-95h-354v-698h-103v698h-358v95h358v573h-475v96h1053v-96h-475v-573z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="686" -d="M41 688h145v313h-161v58l161 45l50 246h51v-263h319v-86h-319v-313h309v-86h-309v-289q0 -125 44 -185t138 -60t164 16v-80q-72 -24 -166 -24q-144 0 -212.5 77t-68.5 242v303h-145v86z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM893 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73 -q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM765 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5 -t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM459 1671h555v-82h-555v82z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM328 1333h555v-82h-555v82z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM733 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80 -q-30 -246 -278 -246z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM602 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM952 1794q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM598 1794 -q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM821 1456q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM467 1456 -q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM475 1595q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16zM813 1595q31 33 67 90t121 222h136 -v-17q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM346 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16zM684 1257q31 33 67 90t121 222h136v-17 -q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM697 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139 -t112 125h90q-72 -63 -107.5 -119.5t-35.5 -128.5z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087q-72 -63 -107.5 -119.5t-35.5 -128.5q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139q39 69 117 129l-17 146h-6q-106 -170 -377 -170 -q-186 0 -278.5 99t-92.5 298v710h98z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1827" -d="M1372 0h-84l-321 1128q-40 139 -60 228q-16 -87 -45.5 -200t-322.5 -1156h-86l-402 1462h107l256 -942q15 -57 28 -105.5t23.5 -91t19 -82t15.5 -79.5q24 136 102 413l250 887h113l293 -1018q51 -176 73 -284q13 72 33.5 153t308.5 1149h103zM618 1595q62 67 131.5 156 -t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1481" -d="M1051 0l-238 727q-23 74 -59 217h-6l-21 -74l-45 -145l-242 -725h-98l-311 1087h106l174 -630q61 -234 80 -344h6q59 234 86 311l224 663h90l213 -661q72 -235 88 -311h6q8 65 80 348l166 624h100l-295 -1087h-104zM459 1257q62 67 131.5 156t110.5 156h98 -q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM251 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM179 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16 -h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM288 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM669 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1180" -d="M1098 0h-1016v76l856 1290h-817v96h954v-76l-858 -1290h881v-96zM481 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="944" -d="M858 0h-776v63l645 936h-598v88h727v-63l-649 -936h651v-88zM380 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1180" -d="M1098 0h-1016v76l856 1290h-817v96h954v-76l-858 -1290h881v-96zM526 1727q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="944" -d="M858 0h-776v63l645 936h-598v88h727v-63l-649 -936h651v-88zM426 1389q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1180" -d="M1098 0h-1016v76l856 1290h-817v96h954v-76l-858 -1290h881v-96zM891 1890q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="944" -d="M858 0h-776v63l645 936h-598v88h727v-63l-649 -936h651v-88zM780 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="627" -d="M281 0h-99v1180q0 203 74.5 295t239.5 92q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-1188z" /> - <glyph glyph-name="florin" unicode="&#x192;" -d="M303 854v59l207 37v146q0 201 76.5 294t240.5 93q82 0 183 -31l-25 -86q-89 29 -160 29q-115 0 -166 -67.5t-51 -223.5v-162h281v-88h-281v-1028q0 -155 -71 -236.5t-207 -81.5q-85 0 -140 19v90q78 -18 144 -18q176 0 176 217v1038h-207z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q330 0 500 -230q81 21 120.5 92t39.5 209h104l13 -18q-10 -147 -67.5 -232t-164.5 -120q107 -182 107 -453zM240 733q0 -314 140 -485.5t402 -171.5 -q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q219 0 348 -147q72 24 107.5 92t38.5 202h100l12 -18q-11 -144 -62 -225t-147 -119q82 -137 82 -348zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5 -t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1497" -d="M1282 1462v-207q89 19 130.5 89t41.5 212h105l12 -18q-12 -167 -85.5 -254.5t-203.5 -112.5v-655q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1262" -d="M268 1087v-704q0 -164 72.5 -238.5t224.5 -74.5q189 0 276 99t87 318v600h98v-122q66 11 104.5 44t55 90t16.5 167h101l12 -19q-9 -123 -41 -190t-91.5 -113t-156.5 -63v-881h-84l-18 150h-6q-52 -82 -143.5 -126t-209.5 -44q-201 0 -298 98t-97 299v710h98z" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="463" -d="M37 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73zM524 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1229" -d="M836 1411q0 -81 -41 -133t-109 -72l553 -1206h-115l-200 446h-617l-209 -446h-110l565 1206q-68 17 -110 69t-42 136q0 94 60 152.5t157 58.5q98 0 158 -58t60 -153zM885 539l-207 454q-24 52 -60 154q-23 -70 -63 -160l-209 -448h539zM481 1411q0 -66 38 -103.5 -t99 -37.5q62 0 100 37.5t38 103.5q0 64 -39 101.5t-99 37.5t-98.5 -38t-38.5 -101zM561 1690q103 111 191 272h141v-16q-44 -61 -121.5 -141t-140.5 -132h-70v17z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM467 1712q48 50 101.5 123t86.5 127h138v-14q-35 -45 -112.5 -120t-145.5 -128h-68v12zM758 1413q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152z -M403 1413q0 -66 38 -103.5t100 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-60 0 -99 -37.5t-39 -101.5z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1653" -d="M1528 0h-717v516h-475l-227 -516h-111l653 1462h877v-94h-615v-553h576v-94h-576v-627h615v-94zM377 608h434v760h-100zM891 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1731" -d="M1243 -20q-295 0 -397 256q-68 -133 -168 -194.5t-252 -61.5q-156 0 -242 82.5t-86 226.5q0 154 125 243t377 97l201 6v72q0 155 -61.5 234t-198.5 79q-148 0 -305 -84l-37 86q173 84 346 84q261 0 325 -211q111 213 347 213q184 0 289.5 -134.5t105.5 -363.5v-80h-715 -q0 -460 348 -460q85 0 150 12t174 57v-90q-92 -41 -165 -55t-161 -14zM434 70q169 0 266 99.5t97 276.5v107l-187 -8q-219 -11 -313 -71.5t-94 -188.5q0 -102 61 -158.5t170 -56.5zM1217 1020q-284 0 -314 -402h604q0 188 -77.5 295t-212.5 107zM774 1257q73 79 144.5 171.5 -t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-236 0 -395 120l-86 -120l-74 59l90 127q-188 200 -188 569q0 349 175.5 549.5t479.5 200.5q232 0 392 -121l108 152l72 -60l-111 -153q191 -207 191 -570zM1325 733q0 315 -139 486l-742 -1037q133 -106 338 -106 -q264 0 403.5 170t139.5 487zM240 733q0 -312 139 -483l739 1034q-133 102 -334 102q-261 0 -402.5 -170t-141.5 -483zM686 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-173 0 -291 98l-86 -113l-72 58l93 120q-121 153 -121 402q0 266 129 414.5t354 148.5q179 0 301 -104l96 124l74 -55l-104 -137q112 -147 112 -391zM223 545q0 -200 78 -322l543 705q-98 90 -246 90q-180 0 -277.5 -123.5 -t-97.5 -349.5zM977 545q0 190 -72 309l-543 -702q94 -82 238 -82q180 0 278.5 125.5t98.5 349.5zM499 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5zM428 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127zM326 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1073" -d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366zM403 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="686" -d="M469 68q94 0 164 16v-80q-72 -24 -166 -24q-144 0 -212.5 77t-68.5 242v702h-161v58l161 45l50 246h51v-263h319v-86h-319v-688q0 -125 44 -185t138 -60zM263 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="463" -d="M37 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="297" -d="M256 1462l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1182" -d="M299 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1182" -d="M881 1552q-170 -188 -242 -311h-98q-76 128 -242 311v17h70q114 -94 221 -207q108 114 221 207h70v-17z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1141" -d="M293 1333h555v-82h-555v82z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1182" -d="M586 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="483" -d="M178 1389q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M805 1456q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM451 1456q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="356" -d="M162 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5t-35.5 -128.5z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1182" -d="M780 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1182" -d="M258 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16zM596 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M557 -338q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM203 -338q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-501 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-708 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-446 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-412 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-350 1241h-70q-57 50 -131.5 142.5t-122.5 168.5v17h135q79 -154 118 -216t71 -96v-16zM-688 1241h-70q-57 50 -131.5 142.5t-122.5 168.5v17h135q76 -148 115.5 -212t73.5 -100v-16z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-662 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1182" -d="M530 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1182" -d="M526 1405q75 164 115 311h117v-18q-21 -52 -72.5 -145t-101.5 -164h-58v16zM309 1389q0 86 64 86q63 0 63 -86t-63 -86q-64 0 -64 86zM745 1389q0 86 64 86q63 0 63 -86t-63 -86q-64 0 -64 86z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM76 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="487" -d="M162 721q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1221" -d="M1096 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1563" -d="M1356 0h-103v719h-854v-719h-102v1462h102v-649h854v649h103v-1462zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="602" -d="M293 0v1462h102v-1462h-102zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1577" -d="M1448 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM252 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1321" -d="M783 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1608" -d="M813 1393q-251 0 -399 -151.5t-148 -412.5q0 -226 90.5 -397.5t312.5 -359.5v-72h-567v94h407q-133 118 -205.5 224.5t-110.5 232t-38 270.5q0 200 80 351t229.5 232t348.5 81q311 0 485 -174t174 -488q0 -209 -80.5 -384t-269.5 -345h403v-94h-565v72q215 175 308 350 -t93 405q0 262 -146 414t-402 152zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="629" -d="M264 1087v-774q0 -134 46.5 -189.5t152.5 -55.5q65 0 129 16v-84q-20 -7 -61 -13.5t-78 -6.5q-152 0 -219.5 80t-67.5 243v784h98zM167 1405q75 164 115 311h117v-18q-21 -52 -72.5 -145t-101.5 -164h-58v16zM-50 1389q0 86 64 86q63 0 63 -86t-63 -86q-64 0 -64 86z -M386 1389q0 86 64 86q63 0 63 -86t-63 -86q-64 0 -64 86z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1284" -d="M207 1462h401q271 0 398 -92t127 -278q0 -127 -77.5 -211.5t-226.5 -108.5v-6q175 -26 257.5 -110.5t82.5 -235.5q0 -202 -134 -311t-380 -109h-448v1462zM309 811h322q206 0 299.5 68.5t93.5 214.5t-105.5 212t-314.5 66h-295v-561zM309 721v-631h344q406 0 406 330 -q0 301 -428 301h-322z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="1028" -d="M309 0h-102v1462h801v-94h-699v-1368z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" -d="M20 59l521 1403h80l528 -1405v-57h-1129v59zM580 1315q-53 -153 -441 -1219h889q-391 1054 -448 1219z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1180" -d="M1098 0h-1016v76l856 1290h-817v96h954v-76l-858 -1290h881v-96z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1473" -d="M1266 0h-103v719h-854v-719h-102v1462h102v-649h854v649h103v-1462z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1565" -d="M449 793h665v-95h-665v95zM1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5 -q-261 0 -402.5 -170t-141.5 -483z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1190" -d="M1190 0h-125l-561 772l-195 -172v-600h-102v1462h102v-760l162 162l573 598h130l-599 -618z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1229" -d="M113 0h-113l596 1468h49l584 -1468h-115l-436 1120q-23 60 -60 172q-29 -100 -59 -174z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1767" -d="M850 0l-545 1350h-8q8 -124 8 -254v-1096h-98v1462h158l518 -1286h6l518 1286h154v-1462h-103v1108q0 116 12 240h-8l-547 -1348h-65z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1477" -d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1087" -d="M164 815h760v-94h-760v94zM82 1462h924v-94h-924v94zM1047 94v-94h-1006v94h1006z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1462" -d="M1255 0h-102v1366h-844v-1366h-102v1462h1048v-1462z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1198" -d="M1087 1042q0 -212 -144 -325t-408 -113h-226v-604h-102v1462h358q522 0 522 -420zM309 692h201q247 0 357 81.5t110 264.5q0 169 -104 250.5t-322 81.5h-242v-678z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1128" -d="M61 0v84l533 676l-520 620v82h964v-94h-647l-182 2l514 -604l-530 -672h905v-94h-1037z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1073" -d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1561" -d="M729 1483h102v-180h43q275 0 425.5 -141t150.5 -392q0 -174 -69.5 -301t-206 -195.5t-332.5 -68.5h-11v-225h-102v225h-18q-193 0 -327.5 68t-203.5 191t-69 294q0 156 70 281.5t201 194.5t310 69h37v180zM831 289h15q236 0 364.5 124.5t128.5 352.5q0 219 -120 336 -t-345 117h-43v-930zM729 1219h-41q-219 0 -343 -122t-124 -333q0 -227 128.5 -351t363.5 -124h16v930z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1102" -d="M1102 0h-117l-432 682l-440 -682h-113l492 762l-447 700h115l395 -626l401 626h109l-453 -698z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1565" -d="M823 0h-102v453h-27q-280 0 -425.5 130.5t-145.5 395.5v483h102v-479q0 -226 117 -333t356 -107h23v919h102v-919h23q239 0 356 107t117 333v479h102v-483q0 -265 -146 -395.5t-425 -130.5h-27v-453z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1587" -d="M793 1393q-251 0 -399 -151.5t-148 -412.5q0 -226 90.5 -397.5t312.5 -359.5v-72h-567v94h407q-133 118 -205.5 224.5t-110.5 232t-38 270.5q0 200 80 351t229.5 232t348.5 81q311 0 485 -174t174 -488q0 -209 -80.5 -384t-269.5 -345h403v-94h-565v72q215 175 308 350 -t93 405q0 262 -146 414t-402 152z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM5 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM386 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM288 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM669 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1208" -d="M578 68q180 0 265 108.5t85 353.5v35q0 237 -85.5 345t-267.5 108q-169 0 -260.5 -123.5t-91.5 -353.5q0 -473 355 -473zM578 -20q-226 0 -342.5 143t-116.5 416q0 275 120.5 422t346.5 147q128 0 216 -56.5t142 -177.5h6q4 52 18.5 119.5t24.5 93.5h74 -q-41 -134 -41 -391v-495q0 -142 90 -142q37 0 64 11v-72q-29 -18 -82 -18q-146 0 -164 188h-8q-63 -98 -148 -143t-200 -45zM567 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="928" -d="M672 618v-86h-140q-169 0 -251 -62.5t-82 -174.5q0 -105 87 -165t244 -60q76 0 140 14t174 66v-93q-135 -77 -322 -77q-202 0 -315 81t-113 226q0 224 248 284v9q-215 63 -215 239q0 133 103 211t282 78q96 0 174.5 -15.5t165.5 -52.5l-37 -84q-148 64 -303 64 -q-142 0 -211.5 -53t-69.5 -150q0 -199 326 -199h115zM451 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1208" -d="M940 -492v1197q0 164 -72.5 238.5t-224.5 74.5q-189 0 -275.5 -99.5t-86.5 -318.5v-600h-99v1087h84l19 -149h6q54 87 147 128.5t205 41.5q201 0 298 -99t97 -298v-1203h-98zM561 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="629" -d="M264 1087v-774q0 -134 46.5 -189.5t152.5 -55.5q65 0 129 16v-84q-20 -7 -61 -13.5t-78 -6.5q-152 0 -219.5 80t-67.5 243v784h98zM171 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1219" -d="M602 -20q-219 0 -327.5 125t-108.5 387v595h98v-606q0 -201 82.5 -307t263.5 -106q189 0 282 132t93 404q0 127 -13 237t-46 246h98q31 -116 46 -231.5t15 -259.5q0 -318 -121.5 -467t-361.5 -149zM542 1405q75 164 115 311h117v-18q-21 -52 -72.5 -145t-101.5 -164h-58 -v16zM325 1389q0 86 64 86q63 0 63 -86t-63 -86q-64 0 -64 86zM761 1389q0 86 64 86q63 0 63 -86t-63 -86q-64 0 -64 86z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1208" -d="M578 68q180 0 265 108.5t85 353.5v35q0 237 -85.5 345t-267.5 108q-169 0 -260.5 -123.5t-91.5 -353.5q0 -473 355 -473zM578 -20q-226 0 -342.5 143t-116.5 416q0 275 120.5 422t346.5 147q128 0 216 -56.5t142 -177.5h6q4 52 18.5 119.5t24.5 93.5h74 -q-41 -134 -41 -391v-495q0 -142 90 -142q37 0 64 11v-72q-29 -18 -82 -18q-146 0 -164 188h-8q-63 -98 -148 -143t-200 -45z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1245" -d="M649 1567q204 0 319 -102t115 -283q0 -140 -72.5 -232.5t-213.5 -118.5v-6q176 -24 261 -124t85 -287q0 -201 -132 -313.5t-358 -112.5q-183 0 -372 100v-580h-99v1586q0 224 121 348.5t346 124.5zM647 1479q-182 0 -274 -97t-92 -284v-928q109 -58 194 -81t176 -23 -q187 0 292.5 91t105.5 255q0 364 -392 364h-118v88h106q164 0 249 81.5t85 238.5q0 139 -87 217t-245 78z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="983" -d="M459 -492h-99q0 92 30 238.5t73 265.5l-453 1075h103l268 -645l125 -313h6l86 238l272 720h103l-404 -1040q-44 -116 -74.5 -269t-35.5 -270z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1190" -d="M573 940q-158 89 -220 169.5t-62 180.5q0 122 93.5 199.5t242.5 77.5q97 0 187.5 -20.5t213.5 -80.5l-45 -86q-112 57 -191.5 78t-162.5 21q-109 0 -172.5 -50.5t-63.5 -134.5t53 -141.5t238 -165.5q166 -95 241 -165.5t110.5 -153.5t35.5 -197q0 -229 -126.5 -360 -t-350.5 -131q-217 0 -347 124.5t-130 329.5q0 195 109.5 319t346.5 187zM967 473q0 135 -70.5 232t-237.5 182q-148 -36 -222.5 -75.5t-120.5 -92t-70.5 -123t-24.5 -162.5q0 -166 101.5 -266t273.5 -100q177 0 274 104.5t97 300.5z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="928" -d="M672 618v-86h-140q-169 0 -251 -62.5t-82 -174.5q0 -105 87 -165t244 -60q76 0 140 14t174 66v-93q-135 -77 -322 -77q-202 0 -315 81t-113 226q0 224 248 284v9q-215 63 -215 239q0 133 103 211t282 78q96 0 174.5 -15.5t165.5 -52.5l-37 -84q-148 64 -303 64 -q-142 0 -211.5 -53t-69.5 -150q0 -199 326 -199h115z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="956" -d="M182 1470v86h717v-75q-256 -236 -401.5 -407.5t-210 -313.5t-64.5 -297q0 -113 29 -176.5t95 -103t198 -68.5q153 -33 216.5 -62t92.5 -72t29 -110q0 -60 -25 -123t-88 -149h-96q114 155 114 258q0 49 -26 76.5t-85 49.5t-165 42q-209 38 -301 142t-92 292 -q0 100 25.5 192t71.5 179.5t112.5 175t154 181.5t293.5 290q-105 -7 -364 -7h-230z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1208" -d="M940 -492v1197q0 164 -72.5 238.5t-224.5 74.5q-189 0 -275.5 -99.5t-86.5 -318.5v-600h-99v1087h84l19 -149h6q54 87 147 128.5t205 41.5q201 0 298 -99t97 -298v-1203h-98z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1167" -d="M1049 782q0 -399 -118 -600.5t-351 -201.5q-461 0 -461 800q0 392 119.5 595.5t347.5 203.5q463 0 463 -797zM582 68q353 0 368 692h-733q12 -692 365 -692zM580 1491q-176 0 -263.5 -164.5t-99.5 -480.5h731q-12 328 -103 486.5t-265 158.5z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="629" -d="M264 1087v-774q0 -134 46.5 -189.5t152.5 -55.5q65 0 129 16v-84q-20 -7 -61 -13.5t-78 -6.5q-152 0 -219.5 80t-67.5 243v784h98z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="991" -d="M279 477l555 610h120l-428 -464l465 -623h-119l-413 549l-178 -162v-387h-99v1087h99v-311l-7 -299h5z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="1030" -d="M-12 0l477 1092l-55 165q-35 107 -60 148.5t-58 62.5t-81 21q-44 0 -102 -12v75q63 17 114 17q68 0 112 -23t78 -76.5t81 -185.5l401 -1139q15 -43 33 -64.5t47 -21.5q31 0 55 11v-74q-30 -16 -78 -16q-52 0 -85.5 32t-59.5 105l-172 489q-96 280 -123 389h-4 -q-32 -95 -76.5 -202t-339.5 -793h-104z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1221" -d="M281 1087v-704q0 -164 69 -238.5t213 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-50 -77 -150 -123.5t-217 -46.5q-99 0 -167.5 27.5t-119.5 84.5q5 -92 5 -170v-414h-99v1579h99z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1051" -d="M-2 1087h102q290 -781 318 -858.5t49 -140.5h6q399 369 399 999h95q0 -352 -110 -607.5t-349 -479.5h-102z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="940" -d="M809 780h-150q-200 0 -318 -96.5t-118 -255.5q0 -93 32.5 -152.5t98.5 -97t230 -72.5q174 -38 236.5 -89t62.5 -148q0 -119 -113 -270h-96q114 157 114 256q0 50 -26.5 79t-85 50t-164.5 41q-207 38 -300 137t-93 260q0 144 80 247.5t225 145.5v10q-121 36 -178.5 107 -t-57.5 182q0 131 85 226.5t245 138.5q-69 -9 -248 -9h-88v86h670v-79h-16q-155 0 -286 -47t-201 -128.5t-70 -183.5q0 -254 380 -254h150v-84z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1253" -d="M1085 68q42 0 68 12v-84q-37 -16 -82 -16q-91 0 -142.5 58t-51.5 171v792h-533v-1001h-98v1001h-221v58l165 28h1006v-86h-221v-778q0 -155 110 -155z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1196" -d="M1077 547q0 -279 -124.5 -423t-366.5 -144q-84 0 -167.5 26.5t-148.5 79.5h-2l3 -94l3 -187v-297h-98v1059q0 268 114 404.5t337 136.5q221 0 335.5 -142t114.5 -419zM618 1018q-179 0 -261.5 -110.5t-82.5 -344.5v-373q68 -61 142.5 -91.5t171.5 -30.5q195 0 290 117.5 -t95 361.5q0 232 -85.5 351.5t-269.5 119.5z" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="973" -d="M223 514q0 -141 35 -213t114 -120t218 -77q161 -34 227 -86t66 -147q0 -44 -12.5 -85.5t-31 -78.5t-69.5 -108h-96q55 74 84.5 142t29.5 118q0 65 -59 100t-207 64q-157 31 -241.5 92t-123 160.5t-38.5 232.5q0 286 134 443t380 157q138 0 268 -49l-27 -88 -q-69 23 -136 35t-109 12q-406 0 -406 -504z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1202" -d="M1073 518q0 -249 -127.5 -393.5t-353.5 -144.5q-222 0 -347.5 142.5t-125.5 391.5q0 282 149.5 427.5t436.5 145.5h448v-86h-254q174 -200 174 -483zM223 514q0 -209 97 -326.5t276 -117.5q177 0 275 116t98 318q0 297 -181 497h-79q-246 0 -366 -119t-120 -368z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="913" -d="M848 1087v-86h-430v-677q0 -131 54.5 -194.5t174.5 -63.5q75 0 146 20v-84q-57 -22 -168 -22q-153 0 -230.5 85t-77.5 246v690h-297v58l162 28h666z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1219" -d="M602 -20q-219 0 -327.5 125t-108.5 387v595h98v-606q0 -201 82.5 -307t263.5 -106q189 0 282 132t93 404q0 127 -13 237t-46 246h98q31 -116 46 -231.5t15 -259.5q0 -318 -121.5 -467t-361.5 -149z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1389" -d="M637 -492v472q-256 17 -387 161.5t-131 411.5q0 290 200 537l80 -56q-102 -138 -139 -248t-37 -233q0 -221 103 -344t311 -141v682q0 358 283 358q165 0 257.5 -140.5t92.5 -385.5q0 -180 -66 -311.5t-186.5 -205.5t-282.5 -85v-472h-98zM1165 580q0 204 -69.5 321 -t-182.5 117q-88 0 -133 -69.5t-45 -196.5v-684q128 11 226.5 75.5t151 175.5t52.5 261z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1053" -d="M143 1102q40 0 68 -14.5t50 -43.5t42 -77t217 -545l344 665h111l-406 -765l193 -472q54 -134 79 -178t51 -63t62 -19q42 0 80 9v-76q-37 -15 -96 -15q-58 0 -98.5 24.5t-74 77t-89.5 193.5l-170 428l-414 -723h-112l477 826l-228 563q-27 67 -53 96t-61 29q-29 0 -66 -8 -v71q46 17 94 17z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1477" -d="M788 1554v-1480q224 17 339.5 147.5t115.5 364.5q0 126 -11.5 236.5t-47.5 264.5h96q63 -226 63 -491q0 -278 -142.5 -437.5t-412.5 -176.5v-474h-98v474q-257 12 -390.5 155.5t-133.5 411.5v538h98v-540q0 -221 110 -340.5t316 -132.5v1480h98z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1503" -d="M1034 -20q-113 0 -177 51.5t-99 146.5h-10q-39 -103 -104.5 -150.5t-170.5 -47.5q-168 0 -261 140t-93 402q0 161 29 295t94 270h102q-66 -154 -93.5 -286.5t-27.5 -282.5q0 -219 67 -333.5t191 -114.5q107 0 164 74.5t57 215.5v324h99v-324q0 -136 58.5 -213t168.5 -77 -q124 0 188 116t64 332q0 153 -27.5 283.5t-93.5 285.5h103q63 -132 92.5 -266.5t29.5 -298.5q0 -258 -91 -400t-259 -142z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="629" -d="M264 1087v-774q0 -134 46.5 -189.5t152.5 -55.5q65 0 129 16v-84q-20 -7 -61 -13.5t-78 -6.5q-152 0 -219.5 80t-67.5 243v784h98zM3 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM384 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z -" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1219" -d="M602 -20q-219 0 -327.5 125t-108.5 387v595h98v-606q0 -201 82.5 -307t263.5 -106q189 0 282 132t93 404q0 127 -13 237t-46 246h98q31 -116 46 -231.5t15 -259.5q0 -318 -121.5 -467t-361.5 -149zM346 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z -M727 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M553 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1219" -d="M602 -20q-219 0 -327.5 125t-108.5 387v595h98v-606q0 -201 82.5 -307t263.5 -106q189 0 282 132t93 404q0 127 -13 237t-46 246h98q31 -116 46 -231.5t15 -259.5q0 -318 -121.5 -467t-361.5 -149zM553 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58 -v16z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1503" -d="M1034 -20q-113 0 -177 51.5t-99 146.5h-10q-39 -103 -104.5 -150.5t-170.5 -47.5q-168 0 -261 140t-93 402q0 161 29 295t94 270h102q-66 -154 -93.5 -286.5t-27.5 -282.5q0 -219 67 -333.5t191 -114.5q107 0 164 74.5t57 215.5v324h99v-324q0 -136 58.5 -213t168.5 -77 -q124 0 188 116t64 332q0 153 -27.5 283.5t-93.5 285.5h103q63 -132 92.5 -266.5t29.5 -298.5q0 -258 -91 -400t-259 -142zM692 1257q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1208" -d="M1042 862q5 -65 5 -104q0 -375 -130 -576.5t-372 -201.5q-179 0 -272 87.5t-93 262.5q0 62 16 182q15 119 15 156q0 55 -22.5 79.5t-57.5 24.5q-39 0 -94 -22l-27 75q62 31 135 31q80 0 124 -47.5t44 -140.5q0 -52 -15 -158q-15 -107 -15 -186q0 -254 258 -254 -q401 0 401 686q0 56 -4 108q-332 3 -511 108t-179 300q0 143 85.5 225t231.5 82q187 0 309 -161.5t162 -465.5h142v-90h-136zM930 952q-32 252 -127.5 394.5t-231.5 142.5q-108 0 -167.5 -55t-59.5 -156q0 -157 151.5 -240.5t434.5 -85.5z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1104" -d="M543 662l50 113q140 320 210 461t121 190t118 49q31 0 62 -11v-90q-26 6 -51 6q-42 0 -78.5 -43.5t-96 -162t-130 -274.5t-154.5 -357v-543h-105v557l-489 905h117z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1587" -d="M1059 -20q-106 0 -174.5 49t-108.5 159h-4q-37 -107 -103 -157.5t-180 -50.5q-171 0 -259.5 114.5t-88.5 337.5q0 142 41.5 271.5t139.5 297.5h-302v58l168 28h1334v-86h-267q81 -143 116.5 -273t35.5 -296q0 -221 -88.5 -336.5t-259.5 -115.5zM1303 432q0 155 -32.5 296 -t-115.5 273h-737q-172 -293 -172 -569q0 -185 62.5 -273.5t193.5 -88.5q109 0 166 76t57 208v221h98v-221q0 -134 60.5 -209t167.5 -75q252 0 252 362z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM697 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM354 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM735 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1425" -d="M928 -20q-94 0 -142 18v100q58 -18 142 -18q109 0 168 71.5t59 204.5v160q0 146 -69.5 207t-227.5 61h-409v-784h-103v1366h-336v96h955v-96h-516v-487h438q190 0 281.5 -88t91.5 -271v-160q0 -183 -86 -281.5t-246 -98.5z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="1028" -d="M309 0h-102v1462h801v-94h-699v-1368zM483 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1272" -d="M831 1391q-256 0 -412.5 -153t-176.5 -425h776v-94h-780q6 -311 156 -478t421 -167q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1116" -d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 -q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM5 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM386 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="506" -d="M-33 -369q-92 0 -151 27v88q78 -20 149 -20q242 0 242 264v1472h102v-1462q0 -369 -342 -369z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1874" -d="M1761 424q0 -205 -126 -314.5t-355 -109.5h-315v1366h-402q-71 -507 -112 -763.5t-79.5 -385.5t-97.5 -184.5t-157 -55.5q-62 0 -117 25v92q61 -22 109 -22q68 0 107 51t73 184.5t80 415t108 739.5h590v-645h195q250 0 374.5 -94t124.5 -299zM1067 90h190q202 0 298 80.5 -t96 253.5q0 161 -94 232t-314 71h-176v-637z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="1939" -d="M1133 817h194q249 0 374.5 -94t125.5 -299q0 -204 -126 -314t-355 -110h-316v723h-721v-723h-102v1462h102v-645h721v645h103v-645zM1133 90h190q201 0 297 79.5t96 254.5q0 161 -94 232t-313 71h-176v-637z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1430" -d="M449 879h450q189 0 275 -85t86 -274v-520h-105v526q0 145 -60 201.5t-210 56.5h-436v-784h-103v1366h-336v96h981v-96h-542v-487z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1171" -d="M1171 0h-139l-723 745v-745h-102v1462h102v-708l703 708h135l-707 -708zM553 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1477" -d="M207 1462h98v-956q0 -102 -8 -342h6l864 1298h103v-1462h-99v950q0 162 13 350h-8l-867 -1300h-102v1462zM852 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1204" -d="M276 -20q-119 0 -192 30v103q86 -37 182 -37q72 0 123.5 24.5t95.5 79t107 182.5l-582 1100h121l447 -854q35 -69 63 -143h4l25 61l420 936h114l-469 -1028q-45 -99 -86 -182.5t-91 -143.5t-117 -94t-165 -34zM623 1579q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5 -t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1462" -d="M1255 0h-475v-369h-98v369h-475v1462h102v-1366h844v1366h102v-1462z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1219" -d="M602 817q252 0 378 -95.5t126 -301.5q0 -202 -124.5 -311t-356.5 -109h-418v1462h821v-96h-719v-549h293zM309 90h299q197 0 292 79.5t95 250.5q0 165 -96 236t-311 71h-279v-637z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1284" -d="M207 1462h401q271 0 398 -92t127 -278q0 -127 -77.5 -211.5t-226.5 -108.5v-6q175 -26 257.5 -110.5t82.5 -235.5q0 -202 -134 -311t-380 -109h-448v1462zM309 811h322q206 0 299.5 68.5t93.5 214.5t-105.5 212t-314.5 66h-295v-561zM309 721v-631h344q406 0 406 330 -q0 301 -428 301h-322z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="1028" -d="M309 0h-102v1462h801v-94h-699v-1368z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1337" -d="M1276 -369h-98v369h-1065v-369h-99v465h105q148 257 260 652.5t125 713.5h622v-1366h150v-465zM1022 96v1270h-430q-24 -315 -126 -679t-233 -591h789z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1597" -d="M625 745l-592 717h127l588 -708v708h102v-708l588 708h127l-594 -710l626 -752h-135l-612 741v-741h-102v741l-613 -741h-135z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1145" -d="M1001 1120q0 -286 -303 -352v-6q332 -71 332 -356q0 -201 -141.5 -313.5t-399.5 -112.5q-242 0 -407 86v104q95 -46 203 -71t204 -25q200 0 315.5 86.5t115.5 242.5q0 152 -112.5 230t-336.5 78h-217v96h225q212 0 313 80t101 227q0 125 -92.5 200t-241.5 75 -q-111 0 -204 -31.5t-201 -108.5l-58 80q202 154 463 154q205 0 323.5 -98t118.5 -265z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1477" -d="M207 1462h98v-956q0 -102 -8 -342h6l864 1298h103v-1462h-99v950q0 162 13 350h-8l-867 -1300h-102v1462z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1477" -d="M207 1462h98v-956q0 -102 -8 -342h6l864 1298h103v-1462h-99v950q0 162 13 350h-8l-867 -1300h-102v1462zM737 1579q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1171" -d="M1171 0h-139l-723 745v-745h-102v1462h102v-708l703 708h135l-707 -708z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1395" -d="M1188 0h-103v1366h-530q-41 -339 -87 -643t-77.5 -433t-66 -191.5t-83.5 -92t-124 -29.5q-67 0 -117 25v92q61 -22 113 -22q87 0 135.5 108t106 466t114.5 816h719v-1462z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1767" -d="M850 0l-545 1350h-8q8 -124 8 -254v-1096h-98v1462h158l518 -1286h6l518 1286h154v-1462h-103v1108q0 116 12 240h-8l-547 -1348h-65z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1473" -d="M1266 0h-103v719h-854v-719h-102v1462h102v-649h854v649h103v-1462z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1462" -d="M1255 0h-102v1366h-844v-1366h-102v1462h1048v-1462z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1198" -d="M1087 1042q0 -212 -144 -325t-408 -113h-226v-604h-102v1462h358q522 0 522 -420zM309 692h201q247 0 357 81.5t110 264.5q0 169 -104 250.5t-322 81.5h-242v-678z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1073" -d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1204" -d="M276 -20q-119 0 -192 30v103q86 -37 182 -37q72 0 123.5 24.5t95.5 79t107 182.5l-582 1100h121l447 -854q35 -69 63 -143h4l25 61l420 936h114l-469 -1028q-45 -99 -86 -182.5t-91 -143.5t-117 -94t-165 -34z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1561" -d="M729 1483h102v-180h43q275 0 425.5 -141t150.5 -392q0 -174 -69.5 -301t-206 -195.5t-332.5 -68.5h-11v-225h-102v225h-18q-193 0 -327.5 68t-203.5 191t-69 294q0 156 70 281.5t201 194.5t310 69h37v180zM831 289h15q236 0 364.5 124.5t128.5 352.5q0 219 -120 336 -t-345 117h-43v-930zM729 1219h-41q-219 0 -343 -122t-124 -333q0 -227 128.5 -351t363.5 -124h16v930z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1102" -d="M1102 0h-117l-432 682l-440 -682h-113l492 762l-447 700h115l395 -626l401 626h109l-453 -698z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1473" -d="M1255 96h156v-465h-98v369h-1106v1462h102v-1366h844v1366h102v-1366z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1372" -d="M1165 0h-102v635q-261 -103 -461 -103q-204 0 -312 90.5t-108 276.5v563h103v-567q0 -266 325 -266q96 0 192 17.5t261 76.5v739h102v-1462z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="2060" -d="M1853 0h-1646v1462h102v-1366h670v1366h102v-1366h670v1366h102v-1462z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="2071" -d="M207 0v1462h102v-1366h670v1366h102v-1366h670v1366h102v-1366h156v-465h-98v369h-1704z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1348" -d="M346 0v1366h-336v96h439v-645h282q252 0 378 -95.5t126 -301.5q0 -202 -124.5 -311t-356.5 -109h-408zM449 90h288q197 0 292 79.5t95 250.5q0 165 -96 236t-311 71h-268v-637z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1669" -d="M1462 0h-102v1462h102v-1462zM309 817h283q251 0 377.5 -95.5t126.5 -301.5q0 -202 -124 -311t-358 -109h-407v1462h102v-645zM309 90h289q204 0 295.5 83t91.5 247q0 163 -95 235t-312 72h-269v-637z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1219" -d="M309 817h295q252 0 378 -95.5t126 -301.5q0 -203 -124 -311.5t-357 -108.5h-420v1462h102v-645zM309 90h301q197 0 292 79.5t95 250.5q0 165 -96 236t-311 71h-281v-637z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1266" -d="M434 1391q-80 0 -154.5 -17.5t-162.5 -60.5l-41 92q164 78 368 78q324 0 508.5 -192t184.5 -525q0 -239 -83 -417t-239.5 -273.5t-361.5 -95.5q-238 0 -383 51v94q167 -51 364 -51q270 0 425 169t169 476h-774v94h772q-22 278 -174.5 428t-417.5 150z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2105" -d="M1976 733q0 -348 -166 -550.5t-460 -202.5q-293 0 -459 199.5t-168 539.5h-414v-719h-102v1462h102v-649h416q19 312 185 492t442 180q293 0 458.5 -201.5t165.5 -550.5zM834 733q0 -313 133 -485t383 -172t383 170.5t133 486.5q0 315 -132.5 484t-381.5 169 -q-248 0 -383 -170t-135 -483z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1202" -d="M545 637l-391 -637h-123l411 657q-153 30 -237 131t-84 254q0 420 526 420h348v-1462h-102v637h-348zM893 1370h-242q-221 0 -320.5 -76.5t-99.5 -246.5q0 -160 98 -241t287 -81h277v645z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1176" -d="M123 653q0 708 399 807q140 35 268.5 59.5t227.5 43.5l18 -86l-120 -23q-297 -56 -392 -86q-135 -39 -211.5 -187t-87.5 -405h6q107 127 208 181.5t208 54.5q200 0 306 -129t106 -367q0 -253 -122 -394.5t-343 -141.5q-224 0 -347.5 175t-123.5 498zM602 70 -q171 0 261.5 114t90.5 328q0 203 -80.5 306.5t-236.5 103.5q-116 0 -224.5 -72.5t-189.5 -200.5q0 -179 44.5 -314t129.5 -200t205 -65z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1159" -d="M1016 825q0 -103 -51 -161.5t-166 -81.5v-7q131 -15 189.5 -75.5t58.5 -173.5q0 -157 -103.5 -241.5t-302.5 -84.5h-459v1087h461q186 0 279.5 -67t93.5 -195zM942 328q0 200 -307 200h-354v-434h368q293 0 293 234zM911 817q0 95 -68 135.5t-204 40.5h-358v-372h346 -q152 0 218 47t66 149z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="862" -d="M821 1001h-540v-1001h-99v1087h639v-86z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1118" -d="M1069 -369h-98v369h-832v-369h-98v463h72q136 191 210 443t78 550h523v-993h145v-463zM825 94v901h-338q-24 -541 -262 -901h600z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1362" -d="M631 1087h100v-528l467 528h121l-471 -528l508 -559h-127l-498 551v-551h-100v551l-498 -551h-127l506 555l-469 532h121l467 -528v528z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="926" -d="M387 618q295 0 295 203q0 97 -68 148t-194 51q-80 0 -149 -18.5t-148 -53.5l-37 82q174 78 338 78q178 0 270 -74t92 -205q0 -189 -194 -241v-6q121 -30 176 -99.5t55 -177.5q0 -151 -110.5 -238t-306.5 -87q-106 0 -193.5 20.5t-144.5 54.5v99q103 -49 178 -66.5 -t160 -17.5q148 0 230.5 62.5t82.5 178.5q0 113 -79 167t-237 54h-151v86h135z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1229" -d="M276 1087v-786l-6 -205l645 991h132v-1087h-95v781l4 210l-645 -991h-129v1087h94z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1229" -d="M276 1087v-786l-6 -205l645 991h132v-1087h-95v781l4 210l-645 -991h-129v1087h94zM615 1241q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="940" -d="M772 1087h123l-487 -526l522 -561h-133l-514 551v-551h-101v1087h101v-528z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1116" -d="M934 0h-98v995h-385q-30 -395 -73.5 -602.5t-112 -305t-177.5 -97.5q-39 0 -68 8v90q19 -6 54 -6q113 0 182.5 238.5t105.5 766.5h572v-1087z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1382" -d="M688 106l62 175l313 806h137v-1087h-94v967q-22 -63 -46.5 -129t-326.5 -838h-88l-301 764q-19 46 -35.5 97t-36.5 110v-971h-90v1087h131l314 -800q37 -97 61 -181z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1251" -d="M281 1087v-477h690v477h98v-1087h-98v524h-690v-524h-99v1087h99z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1231" -d="M281 0h-99v1087h867v-1087h-99v993h-669v-993z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1219" -d="M647 -20q-251 0 -366 188h-7l3 -84q4 -74 4 -162v-414h-99v1579h84l19 -155h6q112 176 358 176q220 0 335.5 -144.5t115.5 -420.5q0 -268 -121.5 -415.5t-331.5 -147.5zM645 68q167 0 258.5 124t91.5 347q0 479 -346 479q-190 0 -279 -104.5t-89 -340.5v-32 -q0 -255 85.5 -364t278.5 -109z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="913" -d="M872 1001h-362v-1001h-98v1001h-371v86h831v-86z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1372" -d="M1253 545q0 -251 -135.5 -399t-380.5 -166v-472h-98v472q-244 14 -382 162t-138 403q0 251 136 398t384 165v448h98v-448q246 -18 381 -165t135 -398zM223 545q0 -213 108.5 -335.5t307.5 -137.5v944q-205 -17 -310.5 -138.5t-105.5 -332.5zM1149 545q0 209 -107 331.5 -t-305 139.5v-944q200 17 306 142t106 331z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="1020" -d="M449 559l-379 528h114l324 -458l321 458h109l-373 -528l400 -559h-115l-342 485l-344 -485h-109z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1223" -d="M1174 -369h-99v369h-893v1087h99v-993h649v993h98v-993h146v-463z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1188" -d="M262 1087v-364q0 -138 67 -199t206 -61q98 0 187 35t185 112v477h99v-1087h-99v516q-100 -77 -196.5 -110t-208.5 -33q-167 0 -252.5 87t-85.5 251v376h98z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1745" -d="M922 94h542v993h99v-1087h-1381v1087h99v-993h542v993h99v-993z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1757" -d="M922 94h542v993h99v-993h145v-463h-98v369h-1428v1087h99v-993h542v993h99v-993z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1323" -d="M469 629h352q383 0 383 -301q0 -155 -107 -241.5t-306 -86.5h-420v1001h-330v86h428v-458zM469 535v-441h338q144 0 218.5 62t74.5 176q0 106 -67 154.5t-232 48.5h-332z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1481" -d="M281 629h346q383 0 383 -301q0 -155 -107 -241.5t-307 -86.5h-414v1087h99v-458zM281 535v-441h331q141 0 217 59t76 177q0 108 -67 156.5t-232 48.5h-325zM1298 0h-98v1087h98v-1087z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1165" -d="M281 629h383q383 0 383 -301q0 -155 -107 -241.5t-307 -86.5h-451v1087h99v-458zM281 535v-441h368q142 0 217.5 60t75.5 176q0 108 -67 156.5t-232 48.5h-362z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="1006" -d="M358 -20q-92 0 -171 15t-119 36v92q127 -53 284 -53q196 0 313 124.5t119 335.5h-620v88h616q-17 197 -119.5 298.5t-281.5 101.5q-106 0 -266 -60l-29 89q56 23 140 42t153 19q244 0 377 -144t133 -407q0 -269 -141.5 -423t-387.5 -154z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1634" -d="M1516 545q0 -266 -119.5 -415.5t-327.5 -149.5q-196 0 -315.5 147t-122.5 397h-350v-524h-99v1087h99v-477h352q14 235 130.5 366.5t311.5 131.5q204 0 322.5 -150.5t118.5 -412.5zM735 545q0 -224 88.5 -349.5t249.5 -125.5t249.5 126t88.5 349q0 224 -89 348.5 -t-251 124.5q-161 0 -248.5 -123.5t-87.5 -349.5z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1083" -d="M166 0h-125l328 469q-150 28 -216.5 104t-66.5 195q0 148 99.5 233.5t267.5 85.5h448v-1087h-98v457h-332zM190 772q0 -112 72.5 -166.5t218.5 -54.5h322v442h-352q-124 0 -192.5 -56.5t-68.5 -164.5z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM685 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM331 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM712 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1208" -d="M795 -492q-79 0 -136 25v86q69 -20 129 -20q152 0 152 176v899q0 164 -68.5 238.5t-214.5 74.5q-197 0 -286.5 -98.5t-89.5 -319.5v-569h-99v1272h-155v82h155v202h99v-202h473v-82h-473v-242l-5 -139h7q61 98 154 142t231 44q370 0 370 -397v-891q0 -134 -62.5 -207.5 -t-180.5 -73.5z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="862" -d="M821 1001h-540v-1001h-99v1087h639v-86zM378 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="993" -d="M627 -20q-237 0 -372.5 149.5t-135.5 407.5q0 265 140.5 418t381.5 153q62 0 142.5 -13t138.5 -36l-29 -88q-59 21 -132.5 34t-121.5 13q-185 0 -291 -105t-123 -295h625v-88h-629q2 -217 111 -338.5t293 -121.5q157 0 284 53v-92q-46 -23 -121 -37t-161 -14z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="954" -d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 -t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM-21 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM360 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="463" -d="M37 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1655" -d="M862 621h285q205 0 297 -71.5t92 -225.5q0 -324 -420 -324h-352v995h-313q-29 -394 -72.5 -603t-113.5 -305.5t-181 -96.5q-37 0 -64 8v90q20 -6 52 -6q114 0 183 231t107 774h500v-466zM862 526v-432h271q154 0 226.5 57.5t72.5 176.5q0 74 -28 116.5t-86.5 62 -t-191.5 19.5h-264z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1759" -d="M967 1087v-466h295q196 0 287 -71t91 -226q0 -161 -104.5 -242.5t-304.5 -81.5h-363v526h-587v-526h-99v1087h99v-466h587v466h99zM967 526v-432h280q142 0 215.5 54.5t73.5 177.5q0 75 -28 118.5t-86.5 62.5t-180.5 19h-274z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1208" -d="M940 0v674q0 164 -69 238.5t-214 74.5q-197 0 -286.5 -98t-89.5 -320v-569h-99v1272h-155v82h155v202h99v-202h473v-82h-473v-242l-5 -139h7q61 98 154 142t231 44q370 0 370 -397v-680h-98z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="940" -d="M772 1087h123l-487 -526l522 -561h-133l-514 551v-551h-101v1087h101v-528zM422 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1229" -d="M276 1087v-786l-6 -205l645 991h132v-1087h-95v781l4 210l-645 -991h-129v1087h94zM720 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM470 1241q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5 -t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1231" -d="M567 0h-385v1087h99v-993h669v993h99v-1087h-383v-369h-99v369z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="1987" -d="M674 76q165 0 268 80v506h102v-504q110 -82 289 -82q196 0 305 180.5t109 501.5q0 193 -41.5 335.5t-118.5 217.5t-180 75q-63 0 -110.5 -17t-94.5 -42l-43 94q68 36 125.5 50t128.5 14q212 0 328.5 -190.5t116.5 -534.5q0 -367 -135 -573.5t-382 -206.5 -q-111 0 -189.5 21.5t-156.5 74.5h-4q-76 -53 -153.5 -74.5t-188.5 -21.5q-250 0 -385 205.5t-135 574.5q0 340 124 532.5t341 192.5q73 0 131 -14.5t123 -49.5l-43 -94q-72 36 -118 47.5t-93 11.5q-107 0 -187.5 -74t-123.5 -216.5t-43 -337.5q0 -324 114.5 -503t319.5 -179 -z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1548" -d="M754 526l-30 -65q-37 -82 -46 -101t-184 -360h-103l-391 1087h104l209 -577q39 -106 136 -408h6q34 77 74.5 159.5t187.5 365.5l-166 460h102l209 -577l148 -422h6q178 178 266 422.5t88 576.5h94q0 -367 -99 -618.5t-314 -468.5h-101z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1378" -d="M31 1239h336v317h102v-317h481v-84h-481v-338h287q252 0 381 -97.5t129 -299.5q0 -199 -128 -309.5t-364 -110.5h-407v1155h-336v84zM469 88h289q205 0 301 84t96 248q0 158 -98 231.5t-320 73.5h-268v-637z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1241" -d="M356 1087h398v-81h-398v-377h383q383 0 383 -301q0 -155 -107 -241.5t-306 -86.5h-451v1006h-227v81h227v232h98v-232zM356 535v-441h369q142 0 217.5 60t75.5 176q0 108 -69 156.5t-236 48.5h-357z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1866" -d="M1425 1391q-256 0 -412.5 -153t-176.5 -425h776v-94h-781q6 -309 155.5 -477t422.5 -168q184 0 338 47v-90q-145 -51 -363 -51q-304 0 -480.5 195t-180.5 544h-414v-719h-102v1462h102v-649h416q23 308 209.5 489t484.5 181q214 0 383 -80l-41 -92q-160 80 -336 80z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1487" -d="M1128 -20q-237 0 -365 142.5t-130 405.5h-352v-528h-99v1087h99v-473h356q19 232 153 363t351 131q61 0 141.5 -13.5t132.5 -35.5l-29 -88q-54 21 -123 34t-122 13q-178 0 -281.5 -106t-120.5 -298h584v-88h-588q2 -213 106 -334.5t289 -121.5q148 0 273 53v-92 -q-45 -23 -118.5 -37t-156.5 -14z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1286" -d="M887 690h-195v-690h-98v690h-191l-292 -690h-111l627 1468h49l610 -1468h-115zM442 784h406q-82 198 -126 304t-73 204q-16 -52 -33 -96t-174 -412z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1022" -d="M561 1087l451 -1087h-101l-209 500h-143v-500h-98v500h-142l-206 -500h-103l453 1087h98zM352 582h318q-116 287 -156 409h-6q-25 -81 -48.5 -147t-107.5 -262z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1763" -d="M1352 719h-183v-719h-98v719h-178l-305 -719h-111l307 719h-475v-719h-102v1462h102v-649h516l279 655h49l610 -1468h-114zM932 813h381l-121 293q-34 85 -66 186q-16 -51 -32.5 -94.5t-161.5 -384.5z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1395" -d="M934 1087l450 -1087h-100l-221 532h-131v-532h-98v532h-127l-222 -532h-102l221 528h-323v-528h-99v1087h99v-473h358l197 473h98zM739 614h291q-114 281 -143 377h-6q-25 -80 -48.5 -145.5t-93.5 -231.5z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1419" -d="M1260 1462v-86l-439 -545q121 -3 200.5 -38t131.5 -104t98 -218t144 -471h-105l-147 483q-45 148 -118 204t-230 56h-35v-743h-103v743h-34q-109 0 -171 -23.5t-103 -78t-73 -158.5l-147 -483h-104l139 457q47 158 99 228.5t132.5 106.5t200.5 39l-438 545v86h1102z -M1133 1368h-848l424 -526z" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1241" -d="M1083 1087v-83l-342 -373q93 -7 155.5 -35t107 -81.5t98.5 -186.5l129 -328h-105l-133 344q-44 115 -106.5 157t-179.5 42h-37v-543h-99v543h-34q-119 0 -181.5 -42t-105.5 -155l-135 -346h-105l129 328q48 124 93 181t108.5 86.5t159.5 35.5l-344 373v83h927zM965 1001 -h-691l347 -380z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="1929" -d="M1769 1462v-86l-438 -559q126 -4 206.5 -38t132 -104t95.5 -218l140 -457h-105l-147 483q-44 144 -115.5 195t-232.5 51h-35v-729h-103v729h-34q-117 0 -178.5 -22.5t-100.5 -75t-68 -148.5l-147 -483h-104l139 457q28 94 61 161t86 111h-512v-729h-102v1462h102v-639 -h805l-446 553v86h1101zM1642 1368h-847l428 -539z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1636" -d="M1479 1087v-83l-355 -388q100 0 166.5 -26.5t111 -79t95.5 -182.5l129 -328h-104l-133 344q-42 109 -100 146.5t-181 37.5h-43v-528h-98v528h-43q-124 0 -182 -37.5t-99 -144.5l-135 -346h-102l129 328q24 62 51 112.5t69 87.5h-374v-528h-99v1087h99v-473h630l-360 390 -v83h928zM1360 1001h-690l346 -380z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1145" -d="M1001 1120q0 -286 -303 -352v-6q163 -31 247.5 -115t84.5 -237q0 -193 -126 -285t-415 -109q-157 -9 -226.5 -44t-69.5 -111q0 -146 198 -146q82 0 191 9q109 8 186 8q127 0 201 -35v-105q-44 26 -98 36t-126 10q-80 0 -171.5 -8.5t-182.5 -8.5q-150 0 -229.5 60.5 -t-79.5 179.5q0 118 98.5 181.5t313.5 76.5q236 13 327.5 79.5t91.5 213.5q0 299 -442 299h-217v96h225q212 0 313 80t101 227q0 125 -92.5 200t-241.5 75q-111 0 -204 -31.5t-201 -108.5l-58 80q74 58 175 98.5t200 49.5q-65 75 -235 245v17h75q108 -77 236 -203 -q91 113 153.5 156t122.5 43q41 0 76 -13v-84q-26 11 -55 11q-51 0 -103.5 -37t-122.5 -131q181 -17 282 -113t101 -248z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="926" -d="M387 618q295 0 295 203q0 97 -68 148t-194 51q-80 0 -149 -18.5t-148 -53.5l-37 82q145 65 272 76q-25 29 -55 61t-166 168v17h76q115 -84 236 -203q93 116 155 157.5t121 41.5q35 0 76 -13v-84q-29 11 -56 11q-51 0 -102 -35t-117 -125q260 -44 260 -273 -q0 -189 -194 -241v-6q123 -28 177 -91t54 -167q0 -145 -99 -221.5t-308 -98.5q-156 -16 -216.5 -45.5t-60.5 -91.5q0 -55 43.5 -79t139.5 -24q64 0 274 13l84 2q70 0 145 -31v-102q-67 39 -166 39l-81 -2q-215 -13 -265 -13q-136 0 -207 49.5t-71 145.5q0 107 88 160t285 73 -q175 19 243 72t68 158q0 108 -79 156t-237 48h-151v86h135z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1565" -d="M823 0h-102v453h-27q-280 0 -425.5 130.5t-145.5 395.5v483h102v-479q0 -226 117 -333t356 -107h23v919h102v-919h23q239 0 356 107t117 333v479h102v-483q0 -265 -146 -395.5t-425 -130.5h-27v-453z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1477" -d="M788 1554v-1480q224 17 339.5 147.5t115.5 364.5q0 126 -11.5 236.5t-47.5 264.5h96q63 -226 63 -491q0 -278 -142.5 -437.5t-412.5 -176.5v-474h-98v474q-257 12 -390.5 155.5t-133.5 411.5v538h98v-540q0 -221 110 -340.5t316 -132.5v1480h98z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM782 76q256 0 395.5 160t147.5 462h-1085q8 -299 147.5 -460.5t394.5 -161.5zM784 1386q-250 0 -389 -153.5t-153 -439.5h1081 -q-13 288 -152.5 440.5t-386.5 152.5z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM600 70q174 0 272.5 118.5t104.5 333.5h-754q4 -211 103 -331.5t274 -120.5zM598 1018q-165 0 -262 -107.5t-111 -300.5h750 -q-16 196 -114.5 302t-262.5 106z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1210" -d="M1210 1384q-49 0 -80 -26t-60.5 -87.5t-80.5 -209.5l-354 -1061h-94l-541 1462h109l358 -968q85 -234 121 -355q44 164 125 402l176 532q64 192 104 265t87.5 105t121.5 32q48 0 90 -15v-90q-42 14 -82 14z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="973" -d="M420 0l-420 1087h102l279 -733q73 -187 96 -270h6q37 130 115 365l125 372q36 109 70.5 171t72.5 89t97 27q30 0 59 -8v-88q-29 8 -57 8q-45 0 -79 -48.5t-73 -166.5l-272 -805h-121z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1210" -d="M1210 1384q-49 0 -80 -26t-60.5 -87.5t-80.5 -209.5l-354 -1061h-94l-541 1462h109l358 -968q85 -234 121 -355q44 164 125 402l176 532q64 192 104 265t87.5 105t121.5 32q48 0 90 -15v-90q-42 14 -82 14zM842 1579h-70q-57 50 -131.5 142.5t-122.5 168.5v17h135 -q79 -154 118 -216t71 -96v-16zM504 1579h-70q-57 50 -131.5 142.5t-122.5 168.5v17h135q76 -148 115.5 -212t73.5 -100v-16z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="973" -d="M420 0l-420 1087h102l279 -733q73 -187 96 -270h6q37 130 115 365l125 372q36 109 70.5 171t72.5 89t97 27q30 0 59 -8v-88q-29 8 -57 8q-45 0 -79 -48.5t-73 -166.5l-272 -805h-121zM727 1241h-70q-57 50 -131.5 142.5t-122.5 168.5v17h135q79 -154 118 -216t71 -96v-16 -zM389 1241h-70q-57 50 -131.5 142.5t-122.5 168.5v17h135q76 -148 115.5 -212t73.5 -100v-16z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2335" -d="M1292 733q0 -350 -156 -551.5t-427 -201.5q-276 0 -428 198t-152 557q0 348 156 549t428 201q277 0 428 -200t151 -552zM240 733q0 -317 119.5 -487t349.5 -170q232 0 352.5 167.5t120.5 489.5q0 320 -120 486.5t-349 166.5q-232 0 -352.5 -167t-120.5 -486zM1395 1087 -h102q169 -450 256 -679.5t107 -309.5h6q10 35 53.5 156.5t312.5 832.5h103l-488 -1263q-53 -142 -94 -201t-95 -87t-132 -28q-57 0 -127 21v86q58 -16 125 -16q51 0 89.5 23.5t69.5 72t72 155.5l55 150z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2093" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M1153 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1626" -d="M1497 733q0 -319 -155 -518t-433 -229q-21 -74 -96 -74q-73 0 -94 74q-280 29 -435 228.5t-155 520.5q0 318 156.5 516.5t433.5 227.5q21 69 94 69q75 0 96 -69q278 -30 433 -228t155 -518zM240 733q0 -285 123 -454.5t354 -198.5q17 80 96 80t96 -78q234 29 355.5 196.5 -t121.5 454.5q0 286 -122 452t-353 195q-9 -42 -36 -61t-62 -19q-79 0 -96 80q-228 -29 -352.5 -194.5t-124.5 -452.5z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1241" -d="M1122 545q0 -238 -108.5 -383t-302.5 -174q-19 -72 -93 -72q-68 0 -88 70q-190 29 -300.5 177t-110.5 382q0 237 108 382.5t301 174.5q14 76 90 76q77 0 95 -76q195 -29 302 -176t107 -381zM223 545q0 -196 80 -317t225 -150q19 72 90 72q74 0 93 -72q148 30 227.5 152 -t79.5 315t-80 314t-229 151q-21 -66 -91 -66q-67 0 -88 66q-149 -28 -228 -148.5t-79 -316.5z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="1987" -d="M674 76q94 0 169.5 30t149.5 91q84 -63 164.5 -92t175.5 -29q196 0 304 179t108 503q0 294 -91 461t-247 167q-63 0 -110.5 -17t-94.5 -42l-43 94q68 36 125.5 50t128.5 14q212 0 328.5 -190.5t116.5 -534.5q0 -367 -135 -573.5t-382 -206.5q-111 0 -189.5 21.5 -t-156.5 74.5h-4q-76 -53 -153.5 -74.5t-188.5 -21.5q-250 0 -385 205.5t-135 574.5q0 340 124 532.5t341 192.5q73 0 131 -14.5t123 -49.5l-43 -94q-72 36 -118 47.5t-93 11.5q-164 0 -258 -166t-94 -462q0 -326 113.5 -504t318.5 -178zM1116 1761q0 -83 -51 -134.5 -t-154 -80.5v56q127 38 127 106q0 24 -14.5 35t-32.5 20t-32.5 20.5t-14.5 37.5q0 31 20 49t52 18q46 0 73 -35t27 -92zM1401 1886h-12q-112 0 -239 49l-67 25q-84 32 -117.5 39.5t-70.5 7.5q-56 0 -87.5 -29t-31.5 -104v-8h-90v8q0 104 52.5 161.5t154.5 57.5q50 0 98 -13 -t178 -65q117 -47 232 -47v-82z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1569" -d="M780 37q-98 -57 -219 -57q-214 0 -328 142.5t-114 414.5q0 180 43.5 308t126 195.5t192.5 67.5q123 0 205 -45l-33 -86q-82 43 -157 43q-133 0 -203 -123.5t-70 -357.5q0 -236 90 -352.5t256 -116.5q109 0 215 67q110 -67 220 -67q166 0 254 116.5t88 352.5 -q0 233 -65 357t-187 124q-78 0 -160 -43l-31 86q82 45 205 45q104 0 181.5 -67t119 -196t41.5 -308q0 -268 -115 -412.5t-327 -144.5q-128 0 -228 57zM895 1452q0 -84 -51.5 -135t-153.5 -80v55q57 17 92 44.5t35 62.5q0 24 -14.5 35t-32.5 19.5t-32.5 20.5t-14.5 37 -q0 31 20 49.5t52 18.5q46 0 73 -35t27 -92zM1180 1577h-13q-113 0 -239 49q-150 57 -184.5 64.5t-69.5 7.5q-56 0 -87.5 -29t-31.5 -104v-9h-90v9q0 104 52.5 161.5t154.5 57.5q50 0 98 -13t178 -65q117 -47 232 -47v-82z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="1987" -d="M1403 1796v-27l-80 -172h-12l-54 117h-202l-56 -117h-12l-55 117h-203l-53 -117h-12l-80 172v27h819zM674 76q165 0 268 80v506h102v-504q110 -82 289 -82q196 0 305 180.5t109 501.5q0 193 -41.5 335.5t-118.5 217.5t-180 75q-63 0 -110.5 -17t-94.5 -42l-43 94 -q68 36 125.5 50t128.5 14q212 0 328.5 -190.5t116.5 -534.5q0 -367 -135 -573.5t-382 -206.5q-111 0 -189.5 21.5t-156.5 74.5h-4q-76 -53 -153.5 -74.5t-188.5 -21.5q-250 0 -385 205.5t-135 574.5q0 340 124 532.5t341 192.5q73 0 131 -14.5t123 -49.5l-43 -94 -q-72 36 -118 47.5t-93 11.5q-107 0 -187.5 -74t-123.5 -216.5t-43 -337.5q0 -324 114.5 -503t319.5 -179z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1548" -d="M1180 1444v-27l-80 -172h-13l-53 117h-203l-55 -117h-12l-55 117h-203l-53 -117h-13l-80 172v27h820zM754 526l-30 -65q-37 -82 -46 -101t-184 -360h-103l-391 1087h104l209 -577q39 -106 136 -408h6q34 77 74.5 159.5t187.5 365.5l-166 460h102l209 -577l148 -422h6 -q178 178 266 422.5t88 576.5h94q0 -367 -99 -618.5t-314 -468.5h-101z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -316 157 -486.5t441 -170.5q69 0 127 10v-578h-103v472h-33q-338 0 -519 195t-181 560q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="973" -d="M635 72q76 0 147 20v-584h-100v469h-43q-249 0 -384.5 143.5t-135.5 416.5q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -223 106.5 -345t305.5 -122z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1239" -d="M500 348l-197 -342l-82 45l197 342l-303 178l41 74l303 -180l237 407l-307 181l43 73l305 -180l195 334l80 -45l-197 -336l309 -178l-45 -74l-305 180l-233 -407l305 -180l-39 -74z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1141" -d="M219 1264q0 49 24.5 66.5t73.5 17.5h441q6 51 24.5 71.5t57.5 20.5q40 0 60 -18.5t20 -67.5q0 -46 -22 -64t-77 -18h-440q-6 -51 -25 -72.5t-57 -21.5q-40 0 -60 18t-20 68z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1182" -d="M260 1356q61 0 122 13t173 58q57 23 108 38.5t105 15.5q100 0 153.5 -56.5t53.5 -162.5v-9h-90v9q0 75 -31.5 104t-87.5 29q-38 0 -74.5 -8.5t-180.5 -63.5q-126 -49 -239 -49h-12v82z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1182" -d="M485 1462q0 57 27 92t74 35q32 0 51.5 -18t19.5 -49q0 -26 -14.5 -37.5t-32.5 -20.5t-32.5 -20t-14.5 -35q0 -68 127 -106v-56q-102 29 -153.5 80.5t-51.5 134.5z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1182" -d="M696 1462q0 -83 -51 -134.5t-153 -80.5v56q126 38 126 106q0 24 -14.5 35t-32.5 20t-32.5 20.5t-14.5 37.5q0 31 20 49t52 18q46 0 73 -35t27 -92z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1135 1231q-7 57 -45 82.5t-89 25.5q-61 0 -93.5 -24t-39.5 -84h-75q11 194 208 194q93 0 149.5 -50.5t63.5 -143.5h-79zM1135 -319q-7 57 -45 82.5t-89 25.5q-61 0 -93.5 -24t-39.5 -84h-75q5 89 55 141.5t153 52.5q92 0 149.5 -51t63.5 -143h-79zM1714 -41 -q-6 57 -44 83t-89 26q-62 0 -94.5 -24.5t-38.5 -84.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 -41q-6 57 -44 83t-89 26q-62 0 -94.5 -24.5t-38.5 -84.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1714 946q-6 57 -44 83 -t-89 26q-62 0 -94.5 -24.5t-38.5 -84.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 946q-6 57 -44 83t-89 26q-62 0 -94.5 -24.5t-38.5 -84.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1905 459q-7 57 -44.5 82.5t-88.5 25.5 -q-62 0 -94.5 -24t-39.5 -84h-75q11 194 209 194q92 0 149.5 -52t63.5 -142h-80zM383 459q-5 51 -39.5 79.5t-93.5 28.5q-62 0 -94.5 -24t-38.5 -84h-76q5 90 55.5 142t153.5 52q92 0 149.5 -51t63.5 -143h-80z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1069 -35l10 -14q-40 -156 -123 -336h-75q55 230 71 350h117zM891 1141l-10 14q43 162 123 336h75q-55 -230 -71 -350h-117zM1567 641l14 10q86 -23 180.5 -59t155.5 -64v-75q-230 55 -350 71v117zM391 463l-14 -8q-171 44 -336 120v76q230 -55 350 -71v-117zM1458 180 -l19 -4q77 -131 149 -323l-53 -54q-124 199 -197 299zM502 885l-19 4q-77 131 -149 323l53 54q138 -222 197 -299zM1331 1010l4 18q134 79 324 150l53 -54q-208 -129 -299 -196zM627 53l-4 -16q-73 -42 -163.5 -83.5t-160.5 -68.5l-53 54q208 129 299 196z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1477" -d="M305 1462v-956q0 -102 -8 -342h6l864 1298h103v-1368h127l-142 -463h-116l131 369h-99v950q0 162 13 350h-8l-867 -1300h-102v1462h98zM737 1579q-149 0 -227 66.5t-90 214.5h88q14 -109 66.5 -155t164.5 -46t165 48t65 153h88q-23 -281 -320 -281z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1229" -d="M276 1087v-786l-6 -205l645 991h132v-993h127l-142 -463h-117l132 369h-95v781l4 210l-645 -991h-129v1087h94zM614 1241q-149 0 -227 66.5t-90 214.5h88q14 -109 66.5 -155t164.5 -46t165 48t65 153h88q-21 -281 -320 -281z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1219" -d="M207 1155h-160v84h160v223h102v-223h424v-84h-424v-338h299q250 0 375 -95.5t125 -301.5q0 -203 -124 -311.5t-357 -108.5h-420v1155zM309 90h301q198 0 292.5 79.5t94.5 250.5q0 164 -96.5 235.5t-310.5 71.5h-281v-637z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1165" -d="M281 1292h352v-82h-352v-581h383q383 0 383 -301q0 -155 -107 -241.5t-307 -86.5h-451v1210h-155v82h155v264h99v-264zM281 535v-441h368q142 0 217.5 60t75.5 176q0 108 -69 156.5t-236 48.5h-356z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1198" -d="M1087 1042q0 -128 -56 -222.5t-163 -149.5l121 -168l-69 -53l-136 188q-101 -33 -249 -33h-226v-604h-102v1462h358q522 0 522 -420zM309 692h205q129 0 217 21l-117 164l70 51l131 -185q82 39 122 110t40 185q0 169 -104 250.5t-322 81.5h-242v-678z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1219" -d="M647 -20q-251 0 -366 188h-7l3 -84q4 -74 4 -162v-414h-99v1579h84l19 -155h6q112 176 358 176q220 0 335.5 -144.5t115.5 -420.5q0 -319 -172 -465l121 -168l-70 -53l-123 172q-90 -49 -209 -49zM645 68q88 0 158 34l-129 183l69 51l129 -182q123 123 123 385 -q0 479 -346 479q-190 0 -279 -104.5t-89 -340.5v-32q0 -255 85.5 -364t278.5 -109z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="1028" -d="M909 1462v301h99v-395h-699v-1368h-102v1462h702z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="862" -d="M821 1001h-540v-1001h-99v1087h543v330h96v-416z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="1028" -d="M309 772h439v-94h-439v-678h-102v678h-160v94h160v690h801v-94h-699v-596z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="862" -d="M821 1001h-540v-409h366v-86h-366v-506h-99v506h-164v86h164v495h639v-86z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1292" -d="M1028 1462v-94h-719v-588q115 23 223 23q203 0 349.5 -79t222.5 -226t76 -344q0 -320 -133.5 -493t-380.5 -173q-144 0 -258 49v101q131 -56 258 -56q193 0 298 151t105 423q0 263 -146.5 409t-410.5 146q-108 0 -203 -23v-688h-102v1462h821z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1049" -d="M838 1001h-557v-391q93 27 194 27q248 0 377 -149t129 -431q0 -265 -103 -412t-286 -147q-138 0 -225 58v100q112 -68 229 -68q134 0 207.5 124t73.5 347q0 241 -104 364.5t-308 123.5q-98 0 -184 -35v-512h-99v1087h656v-86z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1642" -d="M625 745l-592 717h127l588 -708v708h102v-708l588 708h127l-594 -710l547 -658h94v-463h-99v369h-51l-612 741v-741h-102v741l-613 -741h-135z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1411" -d="M631 1087h100v-528l467 528h121l-471 -528l422 -465h110v-463h-98v369h-53l-498 551v-551h-100v551l-498 -551h-127l506 555l-469 532h121l467 -528v528z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1145" -d="M1001 1120q0 -286 -303 -352v-6q332 -71 332 -356q0 -201 -141.5 -313.5t-399.5 -112.5q-242 0 -407 86v104q95 -46 203 -71t204 -25q200 0 315.5 86.5t115.5 242.5q0 152 -112.5 230t-336.5 78h-217v96h225q212 0 313 80t101 227q0 125 -92.5 200t-241.5 75 -q-111 0 -204 -31.5t-201 -108.5l-58 80q202 154 463 154q205 0 323.5 -98t118.5 -265zM588 -248q0 72 -35.5 128.5t-108.5 119.5h91q151 -118 151 -260q0 -87 -51 -136.5t-137 -49.5q-56 0 -99 16v84q34 -12 82 -12q107 0 107 110z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="926" -d="M387 618q295 0 295 203q0 97 -68 148t-194 51q-80 0 -149 -18.5t-148 -53.5l-37 82q174 78 338 78q178 0 270 -74t92 -205q0 -189 -194 -241v-6q121 -30 176 -99.5t55 -177.5q0 -151 -110.5 -238t-306.5 -87q-106 0 -193.5 20.5t-144.5 54.5v99q103 -49 178 -66.5 -t160 -17.5q148 0 230.5 62.5t82.5 178.5q0 113 -79 167t-237 54h-151v86h135zM488 -248q0 72 -35.5 128.5t-108.5 119.5h91q151 -118 151 -260q0 -87 -51 -136.5t-137 -49.5q-56 0 -99 16v84q34 -12 82 -12q107 0 107 110z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1278" -d="M1120 94h127v-463h-98v369h-84l-561 772l-195 -172v-600h-102v1462h102v-760l162 162l573 598h130l-599 -618z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="989" -d="M772 1087h123l-487 -526l434 -467h116v-463h-98v369h-63l-514 551v-551h-101v1087h101v-528z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1190" -d="M1190 0h-125l-508 700v-389h-86v432l-162 -143v-600h-102v1462h102v-760l162 162v355h86v-267l487 510h130l-599 -618z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="940" -d="M412 698v316h86v-223l274 296h123l-397 -428v-194l432 -465h-133l-299 322v-216h-86v308l-129 137v-551h-101v1087h101v-528z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1190" -d="M49 1274h158v188h102v-188h250v-94h-250v-478l162 162l573 598h130l-599 -618l615 -844h-125l-561 772l-195 -172v-600h-102v1180h-158v94z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="991" -d="M27 1356h155v200h99v-200h385v-86h-385v-494l-7 -299h5l555 610h120l-428 -464l465 -623h-119l-413 549l-178 -162v-387h-99v1270h-155v86z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1319" -d="M1319 0h-125l-561 772l-195 -172v-600h-102v1366h-326v96h428v-760l162 162l574 598h129l-598 -618z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1118" -d="M950 1087h123l-487 -526l522 -561h-133l-514 551v-551h-101v1001h-319v86h420v-528z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1483" -d="M1266 94h118v-463h-98v369h-123v719h-854v-719h-102v1462h102v-649h854v649h103v-1368z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1251" -d="M281 1087v-477h690v477h98v-993h119v-463h-98v369h-119v524h-690v-524h-99v1087h99z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1602" -d="M1591 1366h-325v-1366h-103v719h-854v-719h-102v1462h102v-649h854v649h428v-96z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1430" -d="M281 1087v-477h690v477h418v-86h-320v-1001h-98v524h-690v-524h-99v1087h99z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2146" -d="M1184 0h-103v1366h-772v-1366h-102v1462h977v-682q113 23 223 23q194 0 336 -79.5t216.5 -226.5t74.5 -343q0 -321 -136 -493.5t-382 -172.5q-145 0 -259 49v101q134 -56 259 -56q192 0 299.5 150.5t107.5 423.5q0 261 -139 408t-389 147q-116 0 -211 -23v-688z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1737" -d="M989 610q93 27 174 27q250 0 378 -146t128 -434q0 -267 -96 -413t-275 -146q-138 0 -225 58v100q114 -68 221 -68q132 0 201.5 123.5t69.5 347.5q0 488 -412 488q-91 0 -164 -27v-520h-98v993h-610v-993h-99v1087h807v-477z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1565" -d="M1436 678q0 -185 -78.5 -348.5t-212.5 -251.5q89 -68 196 -68q74 0 129 21v-92q-42 -23 -139 -23t-169.5 30.5t-131.5 73.5q-100 -40 -252 -40q-196 0 -344.5 92.5t-226.5 262t-78 390.5q0 361 163 560.5t460 199.5q130 0 209 -27l-27 -96q-75 24 -186 24 -q-508 0 -508 -663q0 -311 143.5 -479t404.5 -168q38 0 85.5 5.5t74.5 14.5q-105 98 -163 250t-58 332q0 245 94.5 380.5t257.5 135.5q173 0 265 -132.5t92 -383.5zM1329 680q0 416 -250 416q-115 0 -181.5 -109.5t-66.5 -308.5q0 -350 224 -543q132 72 203 215t71 330z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1239" -d="M686 496q0 -122 39.5 -208t114.5 -151q78 51 126 145t48 220q0 139 -36.5 210.5t-121.5 71.5q-170 0 -170 -288zM1067 -53q-126 0 -240 76q-86 -43 -227 -43q-145 0 -254 70.5t-168 197.5t-59 287q0 266 117 419.5t329 153.5q82 0 146 -18l-21 -91q-69 19 -129 19 -q-162 0 -250 -124.5t-88 -358.5q0 -139 47.5 -245t138 -163t218.5 -57q78 0 127 22q-172 154 -172 406q0 178 72 277t202 99q128 0 195 -96t67 -276q0 -132 -53 -241.5t-150 -178.5q24 -18 68 -32.5t84 -14.5q62 0 107 14v-88q-44 -14 -107 -14z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1272" -d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM795 -248q0 72 -35.5 128.5t-108.5 119.5h91 -q151 -118 151 -260q0 -87 -51 -136.5t-137 -49.5q-56 0 -99 16v84q34 -12 82 -12q107 0 107 110z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="973" -d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM621 -248q0 72 -35.5 128.5t-108.5 119.5h91 -q151 -118 151 -260q0 -87 -51 -136.5t-137 -49.5q-56 0 -99 16v84q34 -12 82 -12q107 0 107 110z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1073" -d="M588 94h119v-463h-99v369h-123v1366h-475v96h1053v-96h-475v-1272z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="913" -d="M872 1001h-362v-907h119v-463h-99v369h-118v1001h-371v86h831v-86z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="940" -d="M518 -4v-488h-98v492l-420 1087h102l281 -739q56 -142 84 -248h6q41 136 84 250l281 737h102z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-67h315v-95h-315v-403h-105v403h-317v95h317v59l-489 905h117z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="940" -d="M520 0h307v-86h-309v-406h-98v406h-309v86h309l-420 1087h102l281 -739q56 -142 84 -248h6q41 136 84 250l281 737h102z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1171" -d="M1040 94h101v-463h-99v369h-57l-432 682l-440 -682h-113l492 762l-447 700h115l395 -626l401 626h109l-453 -698z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1036" -d="M508 485l-344 -485h-109l394 559l-379 528h114l324 -458l321 458h109l-373 -528l332 -465h109v-463h-99v369h-57z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1720" -d="M1503 96h156v-465h-98v369h-1106v1366h-445v96h1073v-96h-526v-1270h844v1366h102v-1366z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1411" -d="M862 1001h-393v-907h649v993h99v-993h145v-463h-98v369h-893v1001h-330v86h821v-86z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1372" -d="M1165 94h119v-463h-98v369h-123v635q-261 -103 -461 -103q-204 0 -312 90.5t-108 276.5v563h103v-567q0 -266 325 -266q96 0 192 17.5t261 76.5v739h102v-1368z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1188" -d="M262 1087v-364q0 -138 67 -199t206 -61q98 0 187 35t185 112v477h99v-993h118v-463h-98v369h-119v516q-100 -77 -196.5 -110t-208.5 -33q-167 0 -252.5 87t-85.5 251v376h98z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1372" -d="M1165 0h-102v635q-174 -72 -352 -96v-326h-86v319h-23q-204 0 -312 90.5t-108 276.5v563h103v-567q0 -266 325 -266h15v370h86v-366q73 7 147.5 25t204.5 65v739h102v-1462z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1188" -d="M262 1087v-364q0 -138 67 -199t206 -61h2v311h86v-305q142 25 284 141v477h99v-1087h-99v516q-144 -108 -284 -133v-252h-86v242h-35q-167 0 -252.5 87t-85.5 251v376h98z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1352" -d="M207 1462h102v-635q274 111 461 111q205 0 312.5 -94t107.5 -281v-563h-103v567q0 138 -83 206.5t-242 68.5q-70 0 -130.5 -9t-115 -24t-105.5 -33.5t-102 -36.5v-739h-102v1462z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1167" -d="M926 0v365q0 138 -67 199t-206 61q-93 0 -183.5 -34t-188.5 -114v-477h-99v1087h99v-516q100 77 196.5 110.5t208.5 33.5q167 0 252.5 -87t85.5 -251v-377h-98z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1636" -d="M61 909q0 66 21 111h100q-18 -50 -18 -107q0 -66 39 -97.5t121 -31.5q9 209 90.5 368.5t224.5 246t324 86.5q268 0 407 -185t139 -546v-66h-1077q19 -315 168.5 -463.5t429.5 -148.5q94 0 181.5 15t201.5 52v-96q-179 -67 -403 -67q-326 0 -498.5 179t-187.5 529 -q-129 2 -196 58.5t-67 162.5zM958 1389q-237 0 -373 -157t-153 -450h967q0 298 -112 452.5t-329 154.5z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1303" -d="M799 -20q-235 0 -367.5 144t-134.5 404q-126 7 -185 66t-59 156q0 65 21 110h100q-18 -50 -18 -106q0 -127 145 -133q22 225 147 356t322 131q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5 -zM770 1020q-160 0 -254 -106.5t-108 -295.5h671q0 189 -82 295.5t-227 106.5z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1636" -d="M61 909q0 66 21 111h100q-18 -50 -18 -107q0 -66 39 -97.5t121 -31.5q9 209 90.5 368.5t224.5 246t324 86.5q268 0 407 -185t139 -546v-66h-1077q19 -315 168.5 -463.5t429.5 -148.5q94 0 181.5 15t201.5 52v-96q-179 -67 -403 -67v-349h-99v353q-559 52 -587 704 -q-129 2 -196 58.5t-67 162.5zM958 1389q-237 0 -373 -157t-153 -450h967q0 298 -112 452.5t-329 154.5z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1303" -d="M797 -369h-99v357q-189 29 -294 168t-107 372q-126 7 -185 66t-59 156q0 65 21 110h100q-18 -50 -18 -106q0 -127 145 -133q22 225 147 356t322 131q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5 -t-174 -14.5v-349zM770 1020q-160 0 -254 -106.5t-108 -295.5h671q0 189 -82 295.5t-227 106.5z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1597" -d="M625 745l-592 717h127l588 -708v708h102v-708l588 708h127l-594 -710l626 -752h-135l-612 741v-741h-102v741l-613 -741h-135zM799 1591q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1362" -d="M631 1087h100v-528l467 528h121l-471 -528l508 -559h-127l-498 551v-551h-100v551l-498 -551h-127l506 555l-469 532h121l467 -528v528zM680 1241q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1341" -d="M309 0h-102v1462h102v-727l725 727h129l-694 -692q54 12 100 12q322 0 491 -159.5t169 -468.5q0 -323 -136 -494.5t-391 -171.5q-135 0 -249 49v101q134 -56 249 -56q202 0 309 149t107 425q0 262 -146.5 396t-428.5 134q-143 0 -234 -41v-645z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1087" -d="M281 0h-99v1087h99v-528l520 528h123l-482 -481q288 0 433 -138.5t145 -410.5q0 -177 -49 -302.5t-140 -191t-213 -65.5q-126 0 -217 58v100q47 -28 98.5 -48t121.5 -20q142 0 218 120.5t76 350.5q0 225 -117.5 342t-344.5 117q-92 0 -172 -26v-492z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1395" -d="M1188 94h153l-147 -463h-117l131 369h-123v1366h-530q-41 -339 -87 -643t-77.5 -433t-66 -191.5t-83.5 -92t-124 -29.5q-67 0 -117 25v92q61 -22 113 -22q87 0 135.5 108t106 466t114.5 816h719v-1368z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1116" -d="M934 94h153l-147 -463h-117l131 369h-118v995h-385q-30 -395 -73.5 -602.5t-112 -305t-177.5 -97.5q-39 0 -68 8v90q19 -6 54 -6q113 0 182.5 238.5t105.5 766.5h572v-993z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1473" -d="M1266 147q0 -331 -123 -495t-383 -164q-76 0 -135 10.5t-131 40.5v94q134 -51 256 -51q208 0 310.5 137.5t102.5 427.5v574h-854v-721h-102v1462h102v-647h854v647h103v-1315z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1251" -d="M281 1087v-475h690v475h98v-1052q0 -270 -81 -398.5t-261 -128.5q-126 0 -213 54v98q97 -61 205 -61q132 0 192 108.5t60 327.5v491h-690v-526h-99v1087h99z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1473" -d="M1266 94h153l-147 -463h-117l131 369h-123v719h-854v-719h-102v1462h102v-649h854v649h103v-1368z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1251" -d="M281 1087v-479h690v479h98v-993h154l-148 -463h-117l132 369h-119v522h-690v-522h-99v1087h99z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1372" -d="M1165 0h-123v-369h-98v463h119v541q-261 -103 -461 -103q-204 0 -312 90.5t-108 276.5v563h103v-567q0 -266 325 -266q96 0 192 17.5t261 76.5v739h102v-1462z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1188" -d="M262 1087v-364q0 -138 67 -199t206 -61q98 0 187 35t185 112v477h99v-1087h-119v-369h-99v463h119v422q-100 -77 -196.5 -110t-208.5 -33q-167 0 -252.5 87t-85.5 251v376h98z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1767" -d="M850 0l-545 1350h-8q8 -124 8 -254v-1096h-98v1462h158l518 -1286h6l518 1286h154v-1368h153l-147 -463h-117l131 369h-123v1108q0 116 12 240h-8l-547 -1348h-65z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1382" -d="M688 106l62 175l313 806h137v-993h154l-148 -463h-116l131 369h-115v967q-22 -63 -46.5 -129t-326.5 -838h-88l-301 764q-19 46 -35.5 97t-36.5 110v-971h-90v1087h131l314 -800q37 -97 61 -181z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM619 1579q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM546 1241q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM367 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM748 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM282 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM663 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1653" -d="M1528 0h-717v516h-475l-227 -516h-111l653 1462h877v-94h-615v-553h576v-94h-576v-627h615v-94zM377 608h434v760h-100z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1731" -d="M1243 -20q-295 0 -397 256q-68 -133 -168 -194.5t-252 -61.5q-156 0 -242 82.5t-86 226.5q0 154 125 243t377 97l201 6v72q0 155 -61.5 234t-198.5 79q-148 0 -305 -84l-37 86q173 84 346 84q261 0 325 -211q111 213 347 213q184 0 289.5 -134.5t105.5 -363.5v-80h-715 -q0 -460 348 -460q85 0 150 12t174 57v-90q-92 -41 -165 -55t-161 -14zM434 70q169 0 266 99.5t97 276.5v107l-187 -8q-219 -11 -313 -71.5t-94 -188.5q0 -102 61 -158.5t170 -56.5zM1217 1020q-284 0 -314 -402h604q0 188 -77.5 295t-212.5 107z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM592 1579q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM579 1241q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1442" -d="M639 1386q-189 0 -416 -73v100q128 43 220.5 57.5t195.5 14.5q329 0 501.5 -195.5t172.5 -560.5q0 -224 -75 -394t-217 -262.5t-335 -92.5q-275 0 -417 185.5t-142 549.5v61h1077q-34 610 -565 610zM690 76q227 0 363.5 160.5t150.5 445.5h-966q0 -295 115.5 -450.5 -t336.5 -155.5z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1124" -d="M504 1108q237 0 369.5 -146t132.5 -409q0 -172 -59 -303.5t-167 -200.5t-248 -69q-191 0 -302 133.5t-111 363.5v80h782q-2 223 -103.5 342t-293.5 119q-89 0 -162.5 -14t-179.5 -56v90q90 39 165.5 54.5t176.5 15.5zM532 68q157 0 252 104t111 297h-672 -q0 -186 81.5 -293.5t227.5 -107.5z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1442" -d="M639 1386q-189 0 -416 -73v100q128 43 220.5 57.5t195.5 14.5q329 0 501.5 -195.5t172.5 -560.5q0 -224 -75 -394t-217 -262.5t-335 -92.5q-275 0 -417 185.5t-142 549.5v61h1077q-34 610 -565 610zM690 76q227 0 363.5 160.5t150.5 445.5h-966q0 -295 115.5 -450.5 -t336.5 -155.5zM488 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM869 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1124" -d="M504 1108q237 0 369.5 -146t132.5 -409q0 -172 -59 -303.5t-167 -200.5t-248 -69q-191 0 -302 133.5t-111 363.5v80h782q-2 223 -103.5 342t-293.5 119q-89 0 -162.5 -14t-179.5 -56v90q90 39 165.5 54.5t176.5 15.5zM532 68q157 0 252 104t111 297h-672 -q0 -186 81.5 -293.5t227.5 -107.5zM310 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM691 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1597" -d="M625 745l-592 717h127l588 -708v708h102v-708l588 708h127l-594 -710l626 -752h-135l-612 741v-741h-102v741l-613 -741h-135zM545 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM926 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1362" -d="M631 1087h100v-528l467 528h121l-471 -528l508 -559h-127l-498 551v-551h-100v551l-498 -551h-127l506 555l-469 532h121l467 -528v528zM426 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM807 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1145" -d="M1001 1120q0 -286 -303 -352v-6q332 -71 332 -356q0 -201 -141.5 -313.5t-399.5 -112.5q-242 0 -407 86v104q95 -46 203 -71t204 -25q200 0 315.5 86.5t115.5 242.5q0 152 -112.5 230t-336.5 78h-217v96h225q212 0 313 80t101 227q0 125 -92.5 200t-241.5 75 -q-111 0 -204 -31.5t-201 -108.5l-58 80q202 154 463 154q205 0 323.5 -98t118.5 -265zM310 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM691 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="926" -d="M387 618q295 0 295 203q0 97 -68 148t-194 51q-80 0 -149 -18.5t-148 -53.5l-37 82q174 78 338 78q178 0 270 -74t92 -205q0 -189 -194 -241v-6q121 -30 176 -99.5t55 -177.5q0 -151 -110.5 -238t-306.5 -87q-106 0 -193.5 20.5t-144.5 54.5v99q103 -49 178 -66.5 -t160 -17.5q148 0 230.5 62.5t82.5 178.5q0 113 -79 167t-237 54h-151v86h135zM194 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM575 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1153" -d="M442 815q286 0 441 -107t155 -302q0 -207 -142 -316.5t-407 -109.5q-248 0 -407 83v109q198 -96 414 -96q206 0 319 85t113 240q0 151 -122 231.5t-351 80.5h-152v86l565 567h-749v96h882v-96z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="942" -d="M319 436q291 -3 423 -112t132 -324q0 -148 -62 -260.5t-174.5 -172t-254.5 -59.5q-209 0 -352 68v102q90 -43 174 -61t174 -18q181 0 286 108t105 293q0 172 -110.5 259t-342.5 87h-124v80l507 573h-645v88h781v-73z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1477" -d="M207 1462h98v-956q0 -102 -8 -342h6l864 1298h103v-1462h-99v950q0 162 13 350h-8l-867 -1300h-102v1462zM461 1671h555v-82h-555v82z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1229" -d="M276 1087v-786l-6 -205l645 991h132v-1087h-95v781l4 210l-645 -991h-129v1087h94zM338 1333h555v-82h-555v82z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1477" -d="M207 1462h98v-956q0 -102 -8 -342h6l864 1298h103v-1462h-99v950q0 162 13 350h-8l-867 -1300h-102v1462zM483 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM864 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1229" -d="M276 1087v-786l-6 -205l645 991h132v-1087h-95v781l4 210l-645 -991h-129v1087h94zM361 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM742 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM529 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM910 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M346 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM727 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM782 76q256 0 395.5 160t147.5 462h-1085q8 -299 147.5 -460.5t394.5 -161.5zM784 1386q-250 0 -389 -153.5t-153 -439.5h1081 -q-13 288 -152.5 440.5t-386.5 152.5z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM600 70q174 0 272.5 118.5t104.5 333.5h-754q4 -211 103 -331.5t274 -120.5zM598 1018q-165 0 -262 -107.5t-111 -300.5h750 -q-16 196 -114.5 302t-262.5 106z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM782 76q256 0 395.5 160t147.5 462h-1085q8 -299 147.5 -460.5t394.5 -161.5zM784 1386q-250 0 -389 -153.5t-153 -439.5h1081 -q-13 288 -152.5 440.5t-386.5 152.5zM529 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM910 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM600 70q174 0 272.5 118.5t104.5 333.5h-754q4 -211 103 -331.5t274 -120.5zM598 1018q-165 0 -262 -107.5t-111 -300.5h750 -q-16 196 -114.5 302t-262.5 106zM346 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM727 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1266" -d="M434 1391q-80 0 -154.5 -17.5t-162.5 -60.5l-41 92q164 78 368 78q324 0 508.5 -192t184.5 -525q0 -239 -83 -417t-239.5 -273.5t-361.5 -95.5q-238 0 -383 51v94q167 -51 364 -51q270 0 425 169t169 476h-774v94h772q-22 278 -174.5 428t-417.5 150zM329 1727 -q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM710 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="1006" -d="M358 -20q-92 0 -171 15t-119 36v92q127 -53 284 -53q196 0 313 124.5t119 335.5h-620v88h616q-17 197 -119.5 298.5t-281.5 101.5q-106 0 -266 -60l-29 89q56 23 140 42t153 19q244 0 377 -144t133 -407q0 -269 -141.5 -423t-387.5 -154zM214 1389q0 46 15.5 66t47.5 20 -q64 0 64 -86t-64 -86q-63 0 -63 86zM595 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1204" -d="M276 -20q-119 0 -192 30v103q86 -37 182 -37q72 0 123.5 24.5t95.5 79t107 182.5l-582 1100h121l447 -854q35 -69 63 -143h4l25 61l420 936h114l-469 -1028q-45 -99 -86 -182.5t-91 -143.5t-117 -94t-165 -34zM338 1671h555v-82h-555v82z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM194 1333h555v-82h-555v82z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1204" -d="M276 -20q-119 0 -192 30v103q86 -37 182 -37q72 0 123.5 24.5t95.5 79t107 182.5l-582 1100h121l447 -854q35 -69 63 -143h4l25 61l420 936h114l-469 -1028q-45 -99 -86 -182.5t-91 -143.5t-117 -94t-165 -34zM365 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86zM746 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM214 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86zM595 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1204" -d="M276 -20q-119 0 -192 30v103q86 -37 182 -37q72 0 123.5 24.5t95.5 79t107 182.5l-582 1100h121l447 -854q35 -69 63 -143h4l25 61l420 936h114l-469 -1028q-45 -99 -86 -182.5t-91 -143.5t-117 -94t-165 -34zM367 1595q31 33 67 90t121 222h136v-17q-135 -202 -254 -311 -h-70v16zM705 1595q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM212 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70 -v16zM550 1257q31 33 67 90t121 222h136v-17q-135 -202 -254 -311h-70v16z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1372" -d="M1165 0h-102v635q-261 -103 -461 -103q-204 0 -312 90.5t-108 276.5v563h103v-567q0 -266 325 -266q96 0 192 17.5t261 76.5v739h102v-1462zM420 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM801 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1188" -d="M262 1087v-364q0 -138 67 -199t206 -61q98 0 187 35t185 112v477h99v-1087h-99v516q-100 -77 -196.5 -110t-208.5 -33q-167 0 -252.5 87t-85.5 251v376h98zM331 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM712 1389q0 46 15.5 66t47.5 20q64 0 64 -86 -t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="1028" -d="M207 1462h801v-94h-699v-1274h99v-463h-99v369h-102v1462z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="862" -d="M182 1087h639v-86h-540v-907h98v-463h-98v369h-99v1087z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1669" -d="M1462 0h-102v1462h102v-1462zM309 817h283q251 0 377.5 -95.5t126.5 -301.5q0 -202 -124 -311t-358 -109h-407v1462h102v-645zM309 90h289q204 0 295.5 83t91.5 247q0 163 -95 235t-312 72h-269v-637zM576 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z -M957 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1481" -d="M281 629h346q383 0 383 -301q0 -155 -107 -241.5t-307 -86.5h-414v1087h99v-458zM281 535v-441h331q141 0 217 59t76 177q0 108 -67 156.5t-232 48.5h-325zM1298 0h-98v1087h98v-1087zM486 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM867 1389 -q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="1028" -d="M309 772h439v-94h-439v-584h119v-244q0 -104 -46 -161.5t-136 -57.5q-57 0 -99 21v92q45 -18 84 -18q99 0 99 124v150h-123v678h-160v94h160v690h801v-94h-699v-596z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="862" -d="M821 1001h-540v-409h366v-86h-366v-412h118v-244q0 -104 -46 -161.5t-136 -57.5q-59 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-119v506h-164v86h164v495h639v-86z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1192" -d="M1042 94h119v-244q0 -104 -46 -161.5t-136 -57.5q-59 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-78l-432 682l-440 -682h-113l492 762l-447 700h115l395 -626l401 626h109l-453 -698z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="1036" -d="M449 559l-379 528h114l324 -458l321 458h109l-373 -528l332 -465h109v-244q0 -104 -46 -161.5t-137 -57.5q-59 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-57l-342 485l-344 -485h-109z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1102" -d="M147 831h299l-401 631h115l395 -626l401 626h109l-410 -631h303v-90h-331l475 -741h-117l-432 682l-440 -682h-113l477 741h-330v90z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="1020" -d="M123 608h291l-344 479h114l324 -458l321 458h109l-338 -479h297v-82h-309l377 -526h-115l-342 485l-344 -485h-109l371 526h-303v82z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1219" -d="M909 1462h103v-1462h-420q-233 0 -357 108.5t-124 311.5q0 206 126 301.5t377 95.5h295v645zM909 727h-280q-217 0 -312.5 -71.5t-95.5 -235.5t91.5 -247t295.5 -83h301v637z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" horiz-adv-x="1219" -d="M580 1108q118 0 204 -43t154 -147h6q-6 126 -6 247v391h98v-1556h-65l-25 166h-8q-124 -186 -356 -186q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q184 0 270 107t86 353v17q0 252 -84.5 362.5 -t-273.5 110.5z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1759" -d="M547 -20q-207 0 -320.5 105t-113.5 300q0 210 144.5 321t408.5 111h190v645h102v-1083q0 -303 273 -303q116 0 175.5 75t59.5 222v475h103v-481q0 -184 -89.5 -285.5t-254.5 -101.5q-236 0 -330 182q-121 -182 -348 -182zM856 725h-197q-436 0 -436 -334 -q0 -156 85.5 -238.5t246.5 -82.5q142 0 221.5 79t79.5 213v363z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1769" -d="M580 1108q112 0 192 -47t135 -143h6q-6 126 -6 247v391h99v-1142q0 -177 61 -261.5t197 -84.5q109 0 173 73.5t64 231.5v327h98v-333q0 -189 -88 -288t-256 -99q-249 0 -315 223h-6q-109 -223 -352 -223q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018 -q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q166 0 245.5 111t79.5 349v17q0 242 -77 357.5t-250 115.5z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1774" -d="M434 711h-194v96h194q199 0 301.5 79.5t102.5 227.5q0 126 -85 200.5t-221 74.5q-103 0 -192 -30.5t-201 -109.5l-57 80q112 82 218 118t232 36q194 0 304 -98t110 -265q0 -141 -78 -231t-223 -121v-6q171 -37 246 -124.5t86 -250.5q12 -175 71 -243t193 -68 -q121 0 180.5 73t59.5 222v477h102v-481q0 -188 -88 -287.5t-254 -99.5q-191 0 -279.5 97.5t-97.5 307.5q-7 172 -108 249t-322 77z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1546" -d="M389 532h-143v86h112q141 0 215 52t74 151q0 93 -65 146t-185 53q-123 0 -280 -72l-37 82q80 35 157.5 56.5t165.5 21.5q165 0 257 -74t92 -209q0 -91 -49.5 -152.5t-145.5 -84.5v-6q113 -24 165.5 -83t68.5 -173q13 -98 40.5 -154t72.5 -80t138 -24q236 0 236 305v327 -h98v-333q0 -189 -85 -288t-249 -99q-116 0 -185.5 33t-108 103.5t-58.5 209.5q-15 111 -81 158.5t-220 47.5z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1184" -d="M987 1120q0 -141 -77 -230.5t-226 -121.5v-6q171 -35 244 -118t73 -238v-312h119v-463h-98v369h-123v403q0 155 -112.5 231.5t-340.5 76.5h-206v96h225q212 0 313 80t101 227q0 125 -92.5 200t-241.5 75q-112 0 -205.5 -32t-200.5 -108l-57 80q202 154 463 154 -q205 0 323.5 -99t118.5 -264z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="983" -d="M387 618q295 0 295 203q0 97 -68 148t-194 51q-80 0 -149 -18.5t-148 -53.5l-37 82q174 78 338 78q178 0 270 -74t92 -205q0 -189 -194 -241v-6q122 -31 170.5 -95t48.5 -174v-219h119v-463h-99v369h-118v319q0 109 -78 161t-236 52h-147v86h135z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="1907" -d="M1006 1366h-443l-36 -258q-30 -216 -69 -463.5t-80 -398.5t-99.5 -210t-157.5 -59q-66 0 -121 25v92q61 -22 111 -22q51 0 85 31.5t58 88t59 220.5t76.5 435.5t87.5 614.5h631v-1079q0 -167 61 -237t195 -70q250 0 250 297v475h102v-481q0 -184 -93.5 -285.5 -t-258.5 -101.5q-186 0 -272 99t-86 302v985z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1667" -d="M903 369q0 -301 256 -301q111 0 175.5 71.5t64.5 225.5v335h98v-333q0 -188 -86.5 -287.5t-251.5 -99.5q-354 0 -354 401v614h-354q-30 -400 -73.5 -607t-114 -302.5t-181.5 -95.5q-33 0 -62 8v90q20 -6 50 -6q115 0 184.5 233t107.5 772h541v-718z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="2023" -d="M1225 373q0 -153 60.5 -226t195.5 -73q250 0 250 288v486h102v-481q0 -184 -91.5 -285.5t-260.5 -101.5q-184 0 -271.5 100.5t-87.5 300.5v338h-813v-719h-102v1462h102v-649h813v649h103v-1089z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1802" -d="M281 1087v-477h659v477h98v-714q0 -305 254 -305q118 0 180 75.5t62 221.5v335h98v-333q0 -189 -87.5 -288t-252.5 -99q-176 0 -264 99t-88 302v143h-659v-524h-99v1087h99z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1503" -d="M866 733h518v-88q0 -335 -146 -500t-441 -165q-313 0 -490.5 200t-177.5 553q0 229 90.5 399t259.5 260.5t391 90.5q102 0 214.5 -21t197.5 -57l-39 -94q-80 35 -180.5 57.5t-196.5 22.5q-290 0 -458 -174t-168 -484q0 -311 148 -486t413 -175q243 0 359 137.5t116 427.5 -h-410v96z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1257" -d="M676 547h477v-68q0 -246 -122 -372.5t-361 -126.5q-260 0 -405.5 147.5t-145.5 411.5q0 173 70.5 302.5t205 198t320.5 68.5q207 0 370 -68l-32 -88q-150 66 -336 66q-234 0 -364 -123.5t-130 -351.5t116 -350.5t333 -122.5q383 0 383 391h-379v86z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1386" -d="M10 1366v96h1057v-96h-479v-983q0 -161 62.5 -235t203.5 -74q240 0 240 299v475h102v-481q0 -187 -90 -287t-252 -100q-187 0 -278 98.5t-91 302.5v985h-475z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1264" -d="M862 1001h-362v-618q0 -315 256 -315q239 0 239 305v327h99v-333q0 -188 -86.5 -287.5t-251.5 -99.5q-355 0 -355 401v620h-360v86h821v-86z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1159" -d="M158 1108q0 108 57 194.5t162 133.5t237 47q273 0 463 -111l-51 -90q-181 107 -412 107q-154 0 -251 -77t-97 -210q0 -143 126.5 -219t346.5 -76h166v-96h-196q-233 0 -357.5 -84.5t-124.5 -243.5q0 -151 110 -230t318 -79q238 0 414 86v-101q-151 -79 -414 -79 -q-262 0 -401 104.5t-139 300.5q0 146 100.5 245.5t280.5 131.5v6q-166 29 -252 116t-86 224z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="928" -d="M672 618v-86h-140q-169 0 -251 -62.5t-82 -174.5q0 -105 87 -165t244 -60q76 0 140 14t174 66v-93q-135 -77 -322 -77q-202 0 -315 81t-113 226q0 224 248 284v9q-215 63 -215 239q0 133 103 211t282 78q96 0 174.5 -15.5t165.5 -52.5l-37 -84q-148 64 -303 64 -q-142 0 -211.5 -53t-69.5 -150q0 -199 326 -199h115z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1395" -d="M1085 1366h-530q-41 -339 -87 -643t-77.5 -433t-66 -191.5t-83.5 -92t-124 -29.5q-67 0 -117 25v92q61 -22 113 -22q87 0 135.5 108t106 466t114.5 816h719v-1368h119v-244q0 -104 -46 -161.5t-137 -57.5q-56 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-123v1366z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1116" -d="M836 995h-385q-30 -395 -73.5 -602.5t-112 -305t-177.5 -97.5q-39 0 -68 8v90q19 -6 54 -6q113 0 182.5 238.5t105.5 766.5h572v-993h119v-244q0 -104 -46 -161.5t-137 -57.5q-56 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-118v995z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM831 -338q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM477 -338q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5 -t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM737 -338q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM383 -338q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5 -q-62 0 -99.5 -38t-37.5 -101z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1767" -d="M850 0l-545 1350h-8q8 -124 8 -254v-1096h-98v1462h158l518 -1286h6l518 1286h154v-1462h-103v1108q0 116 12 240h-8l-547 -1348h-65zM778 1597q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1808" -d="M1540 0v713q0 159 -62 232t-190 73q-167 0 -247 -92t-80 -289v-637h-101v743q0 275 -252 275q-171 0 -249 -99.5t-78 -318.5v-600h-99v1087h82l21 -149h6q45 81 128 125.5t183 44.5q257 0 330 -193h4q53 93 142.5 143t203.5 50q178 0 267 -95t89 -302v-711h-98zM837 1257 -q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1827" -d="M1372 0h-84l-321 1128q-40 139 -60 228q-16 -87 -45.5 -200t-322.5 -1156h-86l-402 1462h107l256 -942q15 -57 28 -105.5t23.5 -91t19 -82t15.5 -79.5q24 136 102 413l250 887h113l293 -1018q51 -176 73 -284q13 72 33.5 153t308.5 1149h103zM1028 1579h-69 -q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1481" -d="M1051 0l-238 727q-23 74 -59 217h-6l-21 -74l-45 -145l-242 -725h-98l-311 1087h106l174 -630q61 -234 80 -344h6q59 234 86 311l224 663h90l213 -661q72 -235 88 -311h6q8 65 80 348l166 624h100l-295 -1087h-104zM864 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17 -h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1827" -d="M1372 0h-84l-321 1128q-40 139 -60 228q-16 -87 -45.5 -200t-322.5 -1156h-86l-402 1462h107l256 -942q15 -57 28 -105.5t23.5 -91t19 -82t15.5 -79.5q24 136 102 413l250 887h113l293 -1018q51 -176 73 -284q13 72 33.5 153t308.5 1149h103zM815 1595q73 79 144.5 171.5 -t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1481" -d="M1051 0l-238 727q-23 74 -59 217h-6l-21 -74l-45 -145l-242 -725h-98l-311 1087h106l174 -630q61 -234 80 -344h6q59 234 86 311l224 663h90l213 -661q72 -235 88 -311h6q8 65 80 348l166 624h100l-295 -1087h-104zM661 1257q73 79 144.5 171.5t97.5 140.5h141v-17 -q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1827" -d="M1372 0h-84l-321 1128q-40 139 -60 228q-16 -87 -45.5 -200t-322.5 -1156h-86l-402 1462h107l256 -942q15 -57 28 -105.5t23.5 -91t19 -82t15.5 -79.5q24 136 102 413l250 887h113l293 -1018q51 -176 73 -284q13 72 33.5 153t308.5 1149h103zM655 1727q0 46 15.5 66 -t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM1036 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1481" -d="M1051 0l-238 727q-23 74 -59 217h-6l-21 -74l-45 -145l-242 -725h-98l-311 1087h106l174 -630q61 -234 80 -344h6q59 234 86 311l224 663h90l213 -661q72 -235 88 -311h6q8 65 80 348l166 624h100l-295 -1087h-104zM498 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 -q-63 0 -63 86zM879 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM548 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM448 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM837 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5 -t60.5 -128.5z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM731 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM674 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM824 1790q42 54 65.5 90t69.5 121h125v-16 -q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM588 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM738 1452q42 54 65.5 90t69.5 121h125v-16q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM674 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM418 1774h-67q-115 100 -193 211v16h125 -q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM588 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM332 1436h-67q-115 100 -193 211v16h125q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM1086 1987q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM674 1856 -q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM1000 1649q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM588 1518q101 -135 229 -261v-16h-67 -q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM754 1935q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5 -q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55zM674 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM668 1597q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55z -M588 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM548 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97zM328 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312 -v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM251 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16zM448 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26 -q-64 0 -64 97z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM617 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM555 1856q34 42 59.5 80t75.5 131h125 -v-17q-37 -53 -93 -113.5t-99 -97.5h-68v17z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM551 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM489 1518q34 42 59.5 80t75.5 131h125v-17q-37 -53 -93 -113.5t-99 -97.5h-68 -v17z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM670 1839h-68q-42 37 -99 98.5t-93 112.5v17h125q51 -94 70 -122.5t65 -88.5v-17zM617 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5 -t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM604 1501h-68q-42 37 -99 98.5t-93 112.5v17h125q51 -94 70 -122.5t65 -88.5v-17zM551 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80 -q-30 -246 -278 -246z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM760 1999q0 -107 -127 -131l-6 -43h-70l-10 90q62 11 93.5 28.5t31.5 55.5q0 63 -98 63q-39 0 -78 -6v72q34 8 90 8q80 0 127 -37t47 -100zM617 1579 -q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM694 1661q0 -107 -127 -131l-6 -43h-70l-10 90q62 11 93.5 28.5t31.5 55.5q0 63 -98 63q-39 0 -78 -6v72q34 8 90 8q80 0 127 -37t47 -100zM551 1241q-253 0 -275 246h82q14 -87 60.5 -124.5 -t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM617 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM758 1925q-39 0 -74.5 20t-67.5 43.5 -t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q45 0 66 35t32 92h76q-11 -101 -58.5 -156t-121.5 -55z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM551 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM692 1587q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73 -q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q45 0 66 35t32 92h76q-11 -101 -58.5 -156t-121.5 -55z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1229" -d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM617 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM548 -227q0 96 64 96q31 0 48.5 -25 -t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" horiz-adv-x="1085" -d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 -l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM552 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM448 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26 -q-64 0 -64 97z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM544 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM512 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM798 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM786 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM754 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76 -q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM738 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM659 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM809 1790q42 54 65.5 90t69.5 121h125v-16q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM623 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM773 1452q42 54 65.5 90t69.5 121h125v-16q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM661 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM405 1774h-67q-115 100 -193 211v16h125q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM623 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM367 1436h-67q-115 100 -193 211v16h125q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM1073 1987q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM661 1856q101 -135 229 -261v-16h-67q-128 93 -217 176 -q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM1035 1649q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM623 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM741 1935q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55zM661 1856 -q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM713 1597q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55zM633 1518q101 -135 229 -261v-16h-67q-128 93 -217 176 -q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1130" -d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM544 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97zM315 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70 -v16z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1124" -d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 -t-227 106.5zM290 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16zM512 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM469 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM448 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="516" -d="M207 0v1462h102v-1462h-102zM192 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="463" -d="M281 0h-99v1087h99v-1087zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97zM165 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM716 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M534 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM974 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M792 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM838 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM988 1790q42 54 65.5 90t69.5 121h125v-16q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M655 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM805 1452q42 54 65.5 90t69.5 121h125v-16q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM838 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM582 1774h-67q-115 100 -193 211v16h125q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M655 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM399 1436h-67q-115 100 -193 211v16h125q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM1250 1987q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM838 1856q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M1067 1649q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM655 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM918 1935q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55zM838 1856q101 -135 229 -261v-16h-67q-128 93 -217 176 -q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M735 1597q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55zM655 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68 -v16q141 136 234 261h106z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM716 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97zM492 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z -M534 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97zM309 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q330 0 500 -230q81 21 120.5 92t39.5 209h104l13 -18q-10 -147 -67.5 -232t-164.5 -120q107 -182 107 -453zM240 733q0 -314 140 -485.5t402 -171.5 -q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483zM686 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q219 0 348 -147q72 24 107.5 92t38.5 202h100l12 -18q-11 -144 -62 -225t-147 -119q82 -137 82 -348zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5 -t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5zM499 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q330 0 500 -230q81 21 120.5 92t39.5 209h104l13 -18q-10 -147 -67.5 -232t-164.5 -120q107 -182 107 -453zM240 733q0 -314 140 -485.5t402 -171.5 -q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483zM885 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q219 0 348 -147q72 24 107.5 92t38.5 202h100l12 -18q-11 -144 -62 -225t-147 -119q82 -137 82 -348zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5 -t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5zM718 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q330 0 500 -230q81 21 120.5 92t39.5 209h104l13 -18q-10 -147 -67.5 -232t-164.5 -120q107 -182 107 -453zM240 733q0 -314 140 -485.5t402 -171.5 -q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483zM974 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q219 0 348 -147q72 24 107.5 92t38.5 202h100l12 -18q-11 -144 -62 -225t-147 -119q82 -137 82 -348zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5 -t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5zM792 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q330 0 500 -230q81 21 120.5 92t39.5 209h104l13 -18q-10 -147 -67.5 -232t-164.5 -120q107 -182 107 -453zM240 733q0 -314 140 -485.5t402 -171.5 -q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483zM940 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22 -q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q219 0 348 -147q72 24 107.5 92t38.5 202h100l12 -18q-11 -144 -62 -225t-147 -119q82 -137 82 -348zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5 -t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5zM761 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76 -q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1565" -d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q330 0 500 -230q81 21 120.5 92t39.5 209h104l13 -18q-10 -147 -67.5 -232t-164.5 -120q107 -182 107 -453zM240 733q0 -314 140 -485.5t402 -171.5 -q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483zM716 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1200" -d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q219 0 348 -147q72 24 107.5 92t38.5 202h100l12 -18q-11 -144 -62 -225t-147 -119q82 -137 82 -348zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5 -t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5zM534 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM669 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM526 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1473" -d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM923 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24 -q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1208" -d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM802 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78 -q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1497" -d="M1282 1462v-207q89 19 130.5 89t41.5 212h105l12 -18q-12 -167 -85.5 -254.5t-203.5 -112.5v-655q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM633 1595 -q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1262" -d="M268 1087v-704q0 -164 72.5 -238.5t224.5 -74.5q189 0 276 99t87 318v600h98v-122q66 11 104.5 44t55 90t16.5 167h101l12 -19q-9 -123 -41 -190t-91.5 -113t-156.5 -63v-881h-84l-18 150h-6q-52 -82 -143.5 -126t-209.5 -44q-201 0 -298 98t-97 299v710h98zM495 1257 -q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1497" -d="M1282 1462v-207q89 19 130.5 89t41.5 212h105l12 -18q-12 -167 -85.5 -254.5t-203.5 -112.5v-655q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM833 1579h-69 -q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1262" -d="M268 1087v-704q0 -164 72.5 -238.5t224.5 -74.5q189 0 276 99t87 318v600h98v-122q66 11 104.5 44t55 90t16.5 167h101l12 -19q-9 -123 -41 -190t-91.5 -113t-156.5 -63v-881h-84l-18 150h-6q-52 -82 -143.5 -126t-209.5 -44q-201 0 -298 98t-97 299v710h98zM687 1241 -h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1497" -d="M1282 1462v-207q89 19 130.5 89t41.5 212h105l12 -18q-12 -167 -85.5 -254.5t-203.5 -112.5v-655q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM923 1843 -q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1262" -d="M268 1087v-704q0 -164 72.5 -238.5t224.5 -74.5q189 0 276 99t87 318v600h98v-122q66 11 104.5 44t55 90t16.5 167h101l12 -19q-9 -123 -41 -190t-91.5 -113t-156.5 -63v-881h-84l-18 150h-6q-52 -82 -143.5 -126t-209.5 -44q-201 0 -298 98t-97 299v710h98zM802 1505 -q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1497" -d="M1282 1462v-207q89 19 130.5 89t41.5 212h105l12 -18q-12 -167 -85.5 -254.5t-203.5 -112.5v-655q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM893 1581 -q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1262" -d="M268 1087v-704q0 -164 72.5 -238.5t224.5 -74.5q189 0 276 99t87 318v600h98v-122q66 11 104.5 44t55 90t16.5 167h101l12 -19q-9 -123 -41 -190t-91.5 -113t-156.5 -63v-881h-84l-18 150h-6q-52 -82 -143.5 -126t-209.5 -44q-201 0 -298 98t-97 299v710h98zM765 1243 -q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1497" -d="M1282 1462v-207q89 19 130.5 89t41.5 212h105l12 -18q-12 -167 -85.5 -254.5t-203.5 -112.5v-655q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM669 -227q0 96 64 96 -q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1262" -d="M268 1087v-704q0 -164 72.5 -238.5t224.5 -74.5q189 0 276 99t87 318v600h98v-122q66 11 104.5 44t55 90t16.5 167h101l12 -19q-9 -123 -41 -190t-91.5 -113t-156.5 -63v-881h-84l-18 150h-6q-52 -82 -143.5 -126t-209.5 -44q-201 0 -298 98t-97 299v710h98zM526 -227 -q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM646 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM564 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142 -q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM475 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM702 -244q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71 -t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM745 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM661 1505q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43 -t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1081" -d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM701 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76 -q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="940" -d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM629 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20 -q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1632" -d="M1504 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM308 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 -t-141.5 -483zM7 1151q87 179 123 311h115v-18q-31 -67 -84 -155t-102 -154h-52v16zM-259 1255q0 84 51.5 135t153.5 80v-55q-127 -38 -127 -106q0 -24 14.5 -35t32.5 -20t32.5 -21t14.5 -37q0 -31 -20 -49.5t-52 -18.5q-46 0 -73 35t-27 92z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="530" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="1024" -d="M82 512v82h860v-82h-860z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="2048" -d="M82 512v82h1884v-82h-1884z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="2048" -d="M82 512v82h1884v-82h-1884z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="842" -d="M846 -127h-850v82h850v-82zM846 -404h-850v82h850v-82z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="297" -d="M41 961l-12 20q32 112 81.5 251t92.5 230h65q-30 -101 -64.5 -257t-45.5 -244h-117z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="297" -d="M256 1462l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="451" -d="M295 238l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="297" -d="M158 1462q11 -87 45.5 -243t64.5 -258h-65q-40 84 -89.5 220.5t-84.5 260.5l12 20h117z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="614" -d="M358 961l-12 20q34 120 83 255t91 226h66q-30 -98 -63 -248.5t-48 -252.5h-117zM41 961l-12 20q32 112 81.5 251t92.5 230h65q-30 -101 -64.5 -257t-45.5 -244h-117z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="614" -d="M256 1462l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117zM573 1462l13 -20q-36 -128 -85 -261t-89 -220h-66q30 98 63 248.5t48 252.5h116z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="768" -d="M295 238l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117zM612 238l13 -20q-36 -128 -85 -261t-89 -220h-66q30 98 63 248.5t48 252.5h116z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1006" -d="M883 1055l-359 20l27 -1075h-117l27 1075l-338 -20v112l338 -28l-27 417h117l-27 -417l359 28v-112z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1006" -d="M524 461l359 24v-112l-359 24l27 -397h-117l27 397l-338 -24v112l338 -24l-17 325l17 293l-338 -24v112l338 -24l-27 413h117l-27 -413l359 24v-112l-359 24l17 -293z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="770" -d="M231 748q0 89 40.5 134.5t113.5 45.5t113.5 -47t40.5 -133q0 -85 -41 -133t-113 -48t-113 47t-41 134z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1466" -d="M162 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM651 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM1141 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2331" -d="M211 1026q0 -186 45 -279.5t141 -93.5q193 0 193 373q0 184 -49.5 276.5t-143.5 92.5q-96 0 -141 -92.5t-45 -276.5zM688 1026q0 -226 -75 -343.5t-216 -117.5q-133 0 -208.5 120.5t-75.5 340.5q0 223 72 340t212 117q139 0 215 -120.5t76 -336.5zM1063 438 -q0 -185 45 -277.5t141 -92.5q193 0 193 370q0 369 -193 369q-96 0 -141 -91.5t-45 -277.5zM1540 438q0 -226 -74 -343.5t-215 -117.5q-136 0 -211 121.5t-75 339.5q0 225 73.5 341t212.5 116q137 0 213 -120t76 -337zM1280 1462l-811 -1462h-96l811 1462h96zM1741 438 -q0 -185 45 -277.5t141 -92.5q193 0 193 370q0 369 -193 369q-96 0 -141 -91.5t-45 -277.5zM2218 438q0 -226 -74 -343.5t-215 -117.5q-135 0 -211 120.5t-76 340.5q0 225 73.5 341t213.5 116q137 0 213 -120t76 -337z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="393" -d="M260 1462l-33 -528h-61l-33 528h127z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="723" -d="M260 1462l-33 -528h-61l-33 528h127zM590 1462l-33 -528h-61l-33 528h127z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="524" -d="M82 543l309 393l62 -43l-254 -363l254 -362l-62 -43l-309 391v27z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="524" -d="M442 518l-309 -393l-61 43l254 362l-254 363l61 43l309 -391v-27z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="918" -d="M276 377h-61l-29 1085h119zM164 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM702 377h-61l-29 1085h119zM590 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="246" -d="M573 1462l-811 -1462h-94l811 1462h94z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="688" -d="M147 1028q0 -190 45.5 -281.5t151.5 -91.5q104 0 150.5 91t46.5 282q0 187 -46.5 278t-150.5 91q-106 0 -151.5 -91t-45.5 -278zM639 1026q0 -230 -72.5 -343.5t-220.5 -113.5q-154 0 -225.5 112.5t-71.5 344.5q0 457 297 457q149 0 221 -112t72 -345z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="688" -d="M657 827h-129v-241h-90v241h-413v60l407 581h96v-563h129v-78zM438 905v221q0 132 8 232q-6 -12 -21.5 -35.5t-295.5 -417.5h309z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="688" -d="M324 1122q145 0 229 -71.5t84 -194.5q0 -132 -87 -209.5t-239 -77.5q-65 0 -133 16t-110 42v94q120 -66 245 -66q107 0 166.5 51.5t59.5 147.5q0 85 -58.5 133.5t-171.5 48.5q-74 0 -162 -24l-51 39l31 411h475v-88h-389l-18 -266q56 14 129 14z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="688" -d="M647 874q0 -131 -83.5 -218t-211.5 -87q-142 0 -225.5 92.5t-83.5 251.5q0 211 125 353t379 221l35 -80q-194 -57 -298 -145.5t-139 -223.5h7q89 113 227 113q119 0 193.5 -75.5t74.5 -201.5zM352 655q88 0 142.5 61t54.5 156q0 91 -50 142t-141 51q-92 0 -153.5 -50.5 -t-61.5 -125.5q0 -109 58 -171.5t151 -62.5z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="688" -d="M164 586l364 788h-467v88h576v-67l-363 -809h-110z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="688" -d="M344 1483q121 0 193.5 -62t72.5 -164q0 -136 -172 -206q100 -38 149.5 -98t49.5 -136q0 -111 -79.5 -179.5t-215.5 -68.5t-213.5 64.5t-77.5 177.5q0 75 44.5 136t131.5 102q-86 47 -118.5 92.5t-32.5 111.5q0 101 74.5 165.5t193.5 64.5zM150 811q0 -71 52.5 -113.5 -t141.5 -42.5q93 0 142 41.5t49 114.5q0 59 -42.5 103t-150.5 85l-20 9q-93 -35 -132.5 -83t-39.5 -114zM342 1397q-75 0 -119.5 -38.5t-44.5 -103.5q0 -54 36.5 -93t129.5 -72q86 30 126 70.5t40 96.5q0 63 -45 101.5t-123 38.5z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="688" -d="M641 1108q0 -282 -103.5 -410.5t-314.5 -128.5q-76 0 -129 17v90q54 -21 131 -21q148 0 231.5 90.5t92.5 274.5h-8q-37 -52 -98 -82.5t-128 -30.5q-130 0 -204 75t-74 204q0 135 81 215t212 80q91 0 162.5 -44.5t110 -129.5t38.5 -199zM324 1397q-91 0 -143 -55.5 -t-52 -149.5q0 -91 46.5 -145t143.5 -54q95 0 158.5 50t63.5 120q0 102 -59.5 168t-157.5 66z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="766" -d="M573 813v414q0 93 -42.5 133.5t-127.5 40.5q-108 0 -154 -55t-46 -179v-354h-90v655h75l11 -90h6q70 101 211 101q248 0 248 -250v-416h-91z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" -d="M387 381h373v-82h-373v-299h-102v299h-181v82h181v1081h759v-94h-657v-610h619v-94h-619v-283z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" -d="M412 799v-215h411v-82h-411v-82q0 -116 -35 -196t-113 -128h809v-96h-995v84q110 21 171.5 110t61.5 224v84h-211v82h211v215h-211v82h211v174q0 204 98 315t281 111q175 0 330 -68l-35 -86q-157 66 -295 66q-141 0 -209.5 -81t-68.5 -253v-178h411v-82h-411z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1501" -d="M1319 66q58 0 108 12v-82q-48 -16 -131 -16q-227 0 -227 253v527h-160v59l160 43l39 195h61v-211h234v-86h-234v-502q0 -106 35 -149t115 -43zM872 1042q0 -448 -555 -448h-45v-594h-102v1462h195q507 0 507 -420zM272 682h58q225 0 329.5 85t104.5 271q0 172 -98 252 -t-308 80h-86v-688z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" horiz-adv-x="1219" -d="M580 1108q118 0 204 -43t154 -147h6q-6 126 -6 247v107h-473v82h473v202h98v-202h156v-82h-156v-1272h-65l-25 166h-8q-124 -186 -356 -186q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q184 0 270 107 -t86 353v17q0 252 -84.5 362.5t-273.5 110.5zM1036 -266h-850v82h850v-82z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" -d="M803 1397q-174 0 -288 -125.5t-155 -364.5h502v-82h-510l-4 -104v-24q0 -65 4 -87h449v-82h-443q30 -217 147.5 -338.5t301.5 -121.5q148 0 287 65v-94q-81 -34 -150.5 -46.5t-140.5 -12.5q-228 0 -367.5 140t-181.5 408h-180v82h172q-4 38 -4 113l4 102h-172v82h184 -q39 272 183 425t362 153q88 0 161 -17t148 -57l-39 -86q-132 72 -270 72z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1645" -d="M1501 334q0 -160 -78.5 -251t-220.5 -91q-140 0 -217.5 91.5t-77.5 250.5q0 162 80.5 252t220.5 90t216.5 -91.5t76.5 -250.5zM1006 334q0 -124 51.5 -189t148.5 -65q95 0 146 66t51 188q0 124 -50.5 189t-146.5 65q-99 0 -149.5 -65t-50.5 -189zM475 788q-160 0 -246 90 -t-86 250q0 159 93.5 252t252.5 93q100 0 193 -31l-29 -88q-85 30 -161 30q-121 0 -185.5 -65t-64.5 -189q0 -131 59 -192t184 -61q100 0 185 32v-84q-86 -37 -195 -37zM1272 1462l-811 -1462h-94l811 1462h94z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1024" -d="M602 72q171 0 197 229h78q-5 -146 -82.5 -232.5t-204.5 -86.5q-143 0 -210 82.5t-67 246.5v285q-104 -43 -198 -64v84q106 28 198 66v506q0 144 62.5 219.5t177.5 75.5q116 0 181 -76.5t65 -216.5q0 -188 -99 -330.5t-288 -228.5v-301q0 -134 44 -196t146 -62zM705 1188 -q0 105 -40.5 158t-111.5 53q-73 0 -107 -48t-34 -163v-463q152 77 222.5 190t70.5 273z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="2073" -d="M1208 0h-104l-803 1296h-8q12 -232 12 -348v-948h-98v1462h102l803 -1290h6q-8 232 -8 336v954h98v-1462zM1958 610q0 -166 -79.5 -251t-217.5 -85q-135 0 -213 85t-78 251q0 164 79 253t218 89q138 0 214.5 -90t76.5 -252zM1468 610q0 -123 50 -185.5t147 -62.5 -q94 0 144.5 63.5t50.5 184.5q0 124 -49.5 189t-145.5 65q-197 0 -197 -254zM1425 0v86h473v-86h-473z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1552" -d="M565 938q0 -92 -74.5 -148.5t-197.5 -56.5q-139 0 -201 31v78q99 -33 203 -33q180 0 180 121q0 59 -29.5 88t-142.5 69q-112 39 -154.5 83.5t-42.5 123.5q0 78 67 128.5t171 50.5q122 0 209 -33l-31 -76q-80 33 -174 33q-69 0 -112 -27t-43 -74q0 -50 29.5 -78t139.5 -69 -q94 -36 131.5 -62t54.5 -61t17 -88zM981 733l-221 608h-6l4 -200v-408h-82v721h125l221 -606l223 606h125v-721h-86v397l4 207h-6l-227 -604h-74z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1485" -d="M313 741h-86v643h-217v78h522v-78h-219v-643zM913 741l-221 609h-6l4 -201v-408h-82v721h125l221 -606l224 606h125v-721h-86v398l4 207h-7l-227 -605h-74z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1587" -d="M793 1393q-251 0 -399 -151.5t-148 -412.5q0 -226 90.5 -397.5t312.5 -359.5v-72h-567v94h407q-133 118 -205.5 224.5t-110.5 232t-38 270.5q0 200 80 351t229.5 232t348.5 81q311 0 485 -174t174 -488q0 -209 -80.5 -384t-269.5 -345h403v-94h-565v72q215 175 308 350 -t93 405q0 262 -146 414t-402 152z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M633 -35q-157 0 -277.5 73.5t-187 204t-66.5 287.5q0 171 69 298.5t191 197.5t271 70q152 0 273.5 -71t189 -200.5t67.5 -294.5h-827v-356q49 -53 132 -88t165 -35q131 0 222.5 52.5t172.5 181.5l72 -41q-98 -155 -206.5 -217t-260.5 -62zM932 616v277q-50 53 -131.5 86 -t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1516" -d="M1106 894q121 0 193.5 -62t72.5 -164q0 -136 -172 -206q100 -38 149.5 -98t49.5 -136q0 -111 -79.5 -179.5t-215.5 -68.5t-213.5 64.5t-77.5 177.5q0 75 44.5 136t131.5 102q-86 47 -118.5 92.5t-32.5 111.5q0 101 74.5 165.5t193.5 64.5zM912 222q0 -71 52.5 -113.5 -t141.5 -42.5q93 0 142 41.5t49 114.5q0 59 -42.5 103t-150.5 85l-20 9q-93 -35 -132.5 -83t-39.5 -114zM1104 808q-75 0 -119.5 -38.5t-44.5 -103.5q0 -54 36.5 -93t129.5 -72q86 30 126 70.5t40 96.5q0 63 -45 101.5t-123 38.5zM1085 1462l-811 -1462h-94l811 1462h94z -M296 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1516" -d="M1190 894q121 0 193.5 -62t72.5 -164q0 -136 -172 -206q100 -38 149.5 -98t49.5 -136q0 -111 -79.5 -179.5t-215.5 -68.5t-213.5 64.5t-77.5 177.5q0 75 44.5 136t131.5 102q-86 47 -118.5 92.5t-32.5 111.5q0 101 74.5 165.5t193.5 64.5zM996 222q0 -71 52.5 -113.5 -t141.5 -42.5q93 0 142 41.5t49 114.5q0 59 -42.5 103t-150.5 85l-20 9q-93 -35 -132.5 -83t-39.5 -114zM1188 808q-75 0 -119.5 -38.5t-44.5 -103.5q0 -54 36.5 -93t129.5 -72q86 30 126 70.5t40 96.5q0 63 -45 101.5t-123 38.5zM1218 1462l-811 -1462h-94l811 1462h94z -M607 1260q0 -78 -44 -131.5t-117 -75.5q186 -45 186 -211q0 -130 -88.5 -201.5t-247.5 -71.5q-144 0 -264 60v88q136 -62 266 -62q115 0 174.5 49t59.5 136q0 83 -59.5 122t-178.5 39h-131v84h135q105 0 158 43.5t53 120.5q0 67 -47 107.5t-127 40.5q-128 0 -246 -78l-47 70 -q130 94 293 94q127 0 199.5 -60t72.5 -163z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1516" -d="M309 1122q145 0 229 -71.5t84 -194.5q0 -132 -87 -209.5t-239 -77.5q-65 0 -133 16t-110 42v94q120 -66 245 -66q107 0 166.5 51.5t59.5 147.5q0 85 -58.5 133.5t-171.5 48.5q-74 0 -162 -24l-51 39l31 411h475v-88h-389l-18 -266q56 14 129 14zM1206 1462l-811 -1462 -h-94l811 1462h94zM1173 894q121 0 193.5 -62t72.5 -164q0 -136 -172 -206q100 -38 149.5 -98t49.5 -136q0 -111 -79.5 -179.5t-215.5 -68.5t-213.5 64.5t-77.5 177.5q0 75 44.5 136t131.5 102q-86 47 -118.5 92.5t-32.5 111.5q0 101 74.5 165.5t193.5 64.5zM979 222 -q0 -71 52.5 -113.5t141.5 -42.5q93 0 142 41.5t49 114.5q0 59 -42.5 103t-150.5 85l-20 9q-93 -35 -132.5 -83t-39.5 -114zM1171 808q-75 0 -119.5 -38.5t-44.5 -103.5q0 -54 36.5 -93t129.5 -72q86 30 126 70.5t40 96.5q0 63 -45 101.5t-123 38.5z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1516" -d="M1153 894q121 0 193.5 -62t72.5 -164q0 -136 -172 -206q100 -38 149.5 -98t49.5 -136q0 -111 -79.5 -179.5t-215.5 -68.5t-213.5 64.5t-77.5 177.5q0 75 44.5 136t131.5 102q-86 47 -118.5 92.5t-32.5 111.5q0 101 74.5 165.5t193.5 64.5zM959 222q0 -71 52.5 -113.5 -t141.5 -42.5q93 0 142 41.5t49 114.5q0 59 -42.5 103t-150.5 85l-20 9q-93 -35 -132.5 -83t-39.5 -114zM1151 808q-75 0 -119.5 -38.5t-44.5 -103.5q0 -54 36.5 -93t129.5 -72q86 30 126 70.5t40 96.5q0 63 -45 101.5t-123 38.5zM1097 1462l-811 -1462h-94l811 1462h94z -M193 586l364 788h-467v88h576v-67l-363 -809h-110z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" -d="M463 -20q-165 0 -254.5 102.5t-89.5 284.5q0 175 68.5 330t181.5 234t258 79q205 0 301 -226q8 75 8 144q0 236 -73 350.5t-228 114.5q-61 0 -127 -16.5t-115 -41.5v99q128 51 256 51q389 0 389 -549q0 -266 -77 -496.5t-205.5 -345t-292.5 -114.5zM465 72 -q159 0 278.5 166t163.5 428q-39 123 -109 187.5t-165 64.5q-118 0 -210.5 -70.5t-148 -203.5t-55.5 -277q0 -139 64 -217t182 -78z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" -d="M20 59l521 1403h80l528 -1405v-57h-1129v59zM580 1315q-53 -153 -441 -1219h889q-391 1054 -448 1219z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1501" -d="M1192 -510v1876h-883v-1876h-102v1972h1087v-1972h-102z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1272" -d="M86 -510v70l664 970l-648 863v69h1041v-94h-897l628 -829l-649 -955h985v-94h-1124z" /> - <glyph glyph-name="minus" unicode="&#x2212;" -d="M111 682v82h948v-82h-948z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M610 -14h-110l-281 798h-182v88h250l270 -768l541 1561h94z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1434" -d="M416 1034q91 0 163.5 -53.5t137.5 -175.5q63 120 135 174.5t166 54.5q127 0 210 -88.5t83 -222.5q0 -135 -83.5 -223t-209.5 -88q-94 0 -166 54.5t-135 174.5q-66 -123 -138.5 -176t-162.5 -53q-127 0 -210 88.5t-83 222.5q0 135 83.5 223t209.5 88zM1018 938 -q-80 0 -137.5 -54t-112.5 -161q55 -107 112.5 -161t137.5 -54q88 0 140 59.5t52 155.5q0 97 -52.5 156t-139.5 59zM416 938q-87 0 -140 -59t-53 -156t53 -156t140 -59q74 0 131.5 49t118.5 166q-60 116 -118 165.5t-132 49.5z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="745" -d="M315 1169q0 387 293 387q48 0 90 -12v-90q-46 12 -90 12q-97 0 -145.5 -68t-48.5 -224v-1278q0 -198 -71.5 -293t-217.5 -95q-66 0 -121 19v90q52 -18 125 -18q186 0 186 288v1282z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" -d="M334 940q-48 0 -105.5 -29t-117.5 -92v94q107 111 233 111q64 0 121 -15t149 -57q124 -57 220 -57q110 0 225 125v-96q-108 -113 -234 -113q-116 0 -270 72q-124 57 -221 57zM334 571q-49 0 -108 -30.5t-115 -89.5v94q108 110 233 110q61 0 115 -13.5t155 -57.5 -q126 -58 220 -58q56 0 109.5 30.5t115.5 94.5v-96q-108 -113 -234 -113q-116 0 -270 72q-124 57 -221 57z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" -d="M514 477l-139 -299l-76 37l123 262h-311v82h350l153 326h-503v82h542l144 305l73 -39l-125 -266h314v-82h-352l-154 -326h506v-82h-545z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" -d="M1059 266l-948 416v61l948 474v-95l-823 -405l823 -355v-96zM111 1v82h948v-82h-948z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" -d="M111 362l823 355l-823 405v95l948 -474v-61l-948 -416v96zM111 1v82h948v-82h-948z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1188" -d="M119 735l450 740h49l451 -740l-451 -735h-49zM969 735l-375 621l-375 -621l375 -614z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-4q59 -13 83 -47t24 -90 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM435 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM224 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM21 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM58 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM439 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM472 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5 -h76q-16 -116 -69 -177t-132 -61z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM36 1671h555v-82h-555v82z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM311 1579q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM264 -248q0 -110 106 -110q49 0 82 12v-84q-40 -16 -104 -16q-84 0 -133.5 47.5t-49.5 134.5q0 70 40 139t112 125h90q-72 -63 -107.5 -119.5t-35.5 -128.5z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM248 1727q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1128" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM590 -369q-92 0 -151 27v88q78 -20 149 -20q242 0 242 264v1472h102v-1462q0 -369 -342 -369z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="801" -d="M710 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM-40 1152q29 75 57 184t42 210h119v-17q-18 -77 -63 -191t-97 -202h-58v16z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM58 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM439 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM58 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM439 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1182" -d="M590 1241q-149 0 -227 66.5t-91 214.5h88q15 -110 68 -155.5t164 -45.5q110 0 163.5 47t65.5 154h88q-21 -281 -319 -281z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="1024" -d="M412 1245q21 45 48 139.5t38 171.5h112v-14q-15 -60 -53.5 -147t-91.5 -166h-53v16z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="1024" -d="M395 -436q25 54 50 145t36 166h113v-14q-23 -82 -63.5 -167.5t-81.5 -146.5h-54v17z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="1024" -d="M606 1552q-27 -58 -53.5 -159t-32.5 -152h-112v14q20 77 61.5 165t83.5 149h53v-17z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="819" -d="M440 1151q87 179 123 311h115v-18q-31 -67 -84 -155t-102 -154h-52v16zM174 1255q0 84 51.5 135t153.5 80v-55q-127 -38 -127 -106q0 -24 14.5 -35t32.5 -20t32.5 -21t14.5 -37q0 -31 -20 -49.5t-52 -18.5q-46 0 -73 35t-27 92z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM522 1843q0 -140 -168 -176l-10 -121h-80l-10 178q89 15 129.5 43t40.5 72q0 48 -33.5 72t-111.5 24q-48 0 -93 -8v78q52 12 107 12q108 0 168.5 -45.5t60.5 -128.5z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="623" -d="M532 0h-442v66l170 20v1290l-170 21v65h442v-65l-170 -21v-1290l170 -20v-66zM245 -227q0 96 64 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-64 0 -64 97z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-551 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM-401 1452q42 54 65.5 90t69.5 121h125v-16q-90 -121 -193 -211h-67v16z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-551 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106zM-807 1436h-67q-115 100 -193 211v16h125q47 -86 69 -119.5t66 -91.5v-16z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-139 1649q0 -107 -131 -136l-4 -81h-68l-10 131q63 11 94 28t31 56q0 37 -29 50t-76 13q-31 0 -71 -6v72q34 8 86 8q84 0 131 -36t47 -99zM-551 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-471 1597q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q75 0 98 127h76q-11 -101 -58.5 -156t-121.5 -55zM-551 1518q101 -135 229 -261v-16h-67q-128 93 -217 176q-89 -83 -217 -176 -h-68v16q141 136 234 261h106z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-612 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM-674 1518q34 42 59.5 80t75.5 131h125v-17q-37 -53 -93 -113.5t-99 -97.5h-68v17z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-559 1501h-68q-42 37 -99 98.5t-93 112.5v17h125q51 -94 70 -122.5t65 -88.5v-17zM-612 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-469 1661q0 -107 -127 -131l-6 -43h-70l-10 90q62 11 93.5 28.5t31.5 55.5q0 63 -98 63q-39 0 -78 -6v72q34 8 90 8q80 0 127 -37t47 -100zM-612 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-612 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246zM-471 1587q-39 0 -74.5 20t-67.5 43.5t-61 43.5t-55 20q-80 0 -105 -129h-73q14 97 60 154t124 57q39 0 73.5 -19.5t66 -43t60.5 -43t58 -19.5q45 0 66 35 -t32 92h76q-11 -101 -58.5 -156t-121.5 -55z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="418" -d="M248 -248q0 72 -35.5 128.5t-108.5 119.5h91q151 -118 151 -260q0 -87 -51 -136.5t-137 -49.5q-56 0 -99 16v84q34 -12 82 -12q107 0 107 110z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="420" -d="M211 94h119v-244q0 -104 -46 -161.5t-137 -57.5q-56 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-20v94z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="420" -d="M211 94h119v-244q0 -104 -46 -161.5t-137 -57.5q-56 0 -98 21v92q45 -18 84 -18q98 0 98 124v150h-20v94z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="745" -d="M547 0h-98v1065q0 145 12 301q-15 -15 -31 -29t-309 -243l-58 71l398 297h86v-1462z" /> - <glyph glyph-name="zero.os" -d="M1051 561q0 -276 -124 -428.5t-347 -152.5q-216 0 -338.5 152.5t-122.5 428.5q0 277 124 427.5t343 150.5t342 -151t123 -427zM223 561q0 -239 91.5 -365t269.5 -126q362 0 362 491q0 243 -92 365.5t-272 122.5q-177 0 -268 -122t-91 -366z" /> - <glyph glyph-name="one.os" horiz-adv-x="717" -d="M535 0h-99v721q0 132 13 301q-39 -37 -79.5 -70.5t-265.5 -189.5l-53 72l402 284h82v-1118z" /> - <glyph glyph-name="two.os" horiz-adv-x="1018" -d="M946 0h-895v88l393 299q153 115 216 178.5t90.5 121.5t27.5 130q0 108 -78 170t-211 62q-188 0 -350 -134l-53 70q181 154 424 154q170 0 270.5 -86.5t100.5 -235.5q0 -118 -61.5 -210.5t-244.5 -231.5l-364 -277l2 -2h733v-96z" /> - <glyph glyph-name="three.os" horiz-adv-x="1053" -d="M927 775q0 -136 -85.5 -229t-229.5 -119v-6q176 -22 268 -112t92 -242q0 -205 -139.5 -317.5t-401.5 -112.5q-223 0 -389 83v99q84 -44 188.5 -69t196.5 -25q221 0 332 89.5t111 252.5q0 145 -113.5 223t-333.5 78h-158v96h160q182 0 288.5 86.5t106.5 234.5 -q0 122 -86.5 195.5t-226.5 73.5q-109 0 -199 -30.5t-202 -104.5l-49 67q85 71 205 112.5t243 41.5q202 0 312 -95.5t110 -269.5z" /> - <glyph glyph-name="four.os" horiz-adv-x="1161" -d="M1120 37h-252v-381h-94v381h-751v67l725 1014h120v-995h252v-86zM774 123v401q0 298 14 508h-8q-23 -44 -123 -188l-516 -721h633z" /> - <glyph glyph-name="five.os" horiz-adv-x="1124" -d="M524 536q234 0 368.5 -113t134.5 -311q0 -225 -140 -350t-386 -125q-109 0 -207 21.5t-164 61.5v103q108 -55 192 -76.5t179 -21.5q192 0 308 101.5t116 274.5q0 163 -113 256t-307 93q-130 0 -272 -39l-60 39l58 669h704v-96h-610l-45 -516q156 29 244 29z" /> - <glyph glyph-name="six.os" -d="M131 623q0 285 77.5 479.5t220 288.5t343.5 94q94 0 172 -23v-88q-73 27 -176 27q-247 0 -384.5 -178t-154.5 -518h13q76 98 174 148t207 50q205 0 320.5 -117t115.5 -323q0 -224 -121.5 -353.5t-327.5 -129.5q-222 0 -350.5 169.5t-128.5 473.5zM610 68q164 0 255 103 -t91 294q0 168 -90 262t-245 94q-102 0 -189.5 -45t-139.5 -119.5t-52 -152.5q0 -111 49.5 -213.5t134 -162.5t186.5 -60z" /> - <glyph glyph-name="seven.os" horiz-adv-x="1069" -d="M272 -343l602 1366h-827v96h946v-73l-604 -1389h-117z" /> - <glyph glyph-name="eight.os" -d="M584 1487q186 0 299.5 -95t113.5 -257q0 -112 -70.5 -198t-228.5 -159q192 -79 270 -173t78 -228q0 -181 -126.5 -289t-339.5 -108q-221 0 -339 101t-118 294q0 131 83 230t257 169q-161 76 -227 160.5t-66 202.5q0 105 53 184.5t148.5 122.5t212.5 43zM225 360 -q0 -138 93.5 -214t261.5 -76q164 0 264 80.5t100 218.5q0 124 -78.5 201.5t-302.5 162.5q-184 -71 -261 -157t-77 -216zM582 1397q-141 0 -226.5 -69.5t-85.5 -190.5q0 -70 31.5 -123.5t91 -97t199.5 -101.5q163 63 234 139t71 183q0 120 -84.5 190t-230.5 70z" /> - <glyph glyph-name="nine.os" -d="M1040 499q0 -288 -75.5 -482t-220 -287t-349.5 -93q-104 0 -192 26v86q43 -14 103.5 -21.5t92.5 -7.5q247 0 387 178.5t156 520.5h-12q-73 -96 -174 -147.5t-211 -51.5q-203 0 -316.5 112t-113.5 318q0 220 124.5 356t323.5 136q144 0 252 -75.5t166.5 -221.5t58.5 -346z -M563 1054q-158 0 -252 -106.5t-94 -291.5q0 -174 87 -264t249 -90q101 0 188.5 45t139 119.5t51.5 151.5q0 117 -46.5 219t-130 159.5t-192.5 57.5z" /> - <glyph glyph-name="g.alt" horiz-adv-x="1219" -d="M938 -2q0 118 6 172h-6q-118 -190 -369 -190q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1107q0 -214 -122 -343t-326 -129q-221 0 -377 70v107q166 -88 383 -88q160 0 252 100t92 280v21zM571 68q198 0 282.5 109t84.5 366v12 -q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5t258.5 -116.5z" /> - <glyph glyph-name="gcircumflex.alt" horiz-adv-x="1219" -d="M938 -2q0 118 6 172h-6q-118 -190 -369 -190q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1107q0 -214 -122 -343t-326 -129q-221 0 -377 70v107q166 -88 383 -88q160 0 252 100t92 280v21zM571 68q198 0 282.5 109t84.5 366v12 -q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5t258.5 -116.5zM292 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" /> - <glyph glyph-name="gbreve.alt" horiz-adv-x="1219" -d="M938 -2q0 118 6 172h-6q-118 -190 -369 -190q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1107q0 -214 -122 -343t-326 -129q-221 0 -377 70v107q166 -88 383 -88q160 0 252 100t92 280v21zM571 68q198 0 282.5 109t84.5 366v12 -q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5t258.5 -116.5zM575 1241q-253 0 -275 246h82q14 -87 60.5 -124.5t134.5 -37.5t134.5 37.5t61.5 124.5h80q-30 -246 -278 -246z" /> - <glyph glyph-name="gdot.alt" horiz-adv-x="1219" -d="M938 -2q0 118 6 172h-6q-118 -190 -369 -190q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1107q0 -214 -122 -343t-326 -129q-221 0 -377 70v107q166 -88 383 -88q160 0 252 100t92 280v21zM571 68q198 0 282.5 109t84.5 366v12 -q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5t258.5 -116.5zM514 1389q0 96 64 96q31 0 48 -25t17 -71q0 -45 -17 -71t-48 -26q-64 0 -64 97z" /> - <glyph glyph-name="gcommaaccent.alt" horiz-adv-x="1219" -d="M938 -2q0 118 6 172h-6q-118 -190 -369 -190q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1107q0 -214 -122 -343t-326 -129q-221 0 -377 70v107q166 -88 383 -88q160 0 252 100t92 280v21zM571 68q198 0 282.5 109t84.5 366v12 -q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5t258.5 -116.5zM731 1552q-27 -58 -53.5 -159t-32.5 -152h-112v14q20 77 61.5 165t83.5 149h53v-17z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.ttf deleted file mode 100755 index 5c75d4c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.woff deleted file mode 100755 index 3e3f561..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Light-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.eot deleted file mode 100755 index 0c0686f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.svg deleted file mode 100755 index 03b7547..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.svg +++ /dev/null @@ -1,21161 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:44:13 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSansLight-Italic" horiz-adv-x="1128" > - <font-face - font-family="Open Sans Light" - font-weight="300" - font-style="italic" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 3 6 3 5 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1087" - cap-height="1462" - bbox="-1069 -522 2478 2153" - underline-thickness="102" - underline-position="-307" - slope="-12" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1155" -d="M-131 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h477l35 160q35 168 116.5 244t227.5 76q73 0 166 -31 -l-24 -80q-87 27 -148 27q-97 0 -154.5 -54.5t-82.5 -177.5l-35 -164h248l-17 -81h-248l-252 -1190q-34 -165 -105.5 -236.5t-193.5 -71.5q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l244 1166h-477l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1040" -d="M739 0h-98l231 1087h96zM915 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5zM-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31 -l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h248l-16 -81h-248l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1042" -d="M737 0h-94l334 1556h94zM-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h248l-16 -81h-248l-252 -1190 -q-33 -161 -104 -234.5t-195 -73.5z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="1616" -d="M-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h477l35 160q35 168 116.5 244t227.5 76q73 0 166 -31 -l-24 -80q-87 27 -148 27q-97 0 -154.5 -54.5t-82.5 -177.5l-35 -164h248l-17 -81h-248l-252 -1190q-34 -165 -105.5 -236.5t-193.5 -71.5q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l244 1166h-477l-252 -1190q-33 -161 -104 -234.5t-195 -73.5zM1315 0h-98 -l231 1087h96zM1491 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="1626" -d="M-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h477l35 160q35 168 116.5 244t227.5 76q73 0 166 -31 -l-24 -80q-87 27 -148 27q-97 0 -154.5 -54.5t-82.5 -177.5l-35 -164h248l-17 -81h-248l-252 -1190q-34 -165 -105.5 -236.5t-193.5 -71.5q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l244 1166h-477l-252 -1190q-33 -161 -104 -234.5t-195 -73.5zM1321 0h-94 -l334 1556h94z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="502" -d="M248 377h-62l203 1085h119zM80 57q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-68 -34.5q-67 0 -67 73z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="721" -d="M455 1462l-146 -528h-61l80 528h127zM784 1462l-145 -528h-61l79 528h127z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M389 530l119 398h-297l8 80h311l134 454h90l-136 -454h365l135 454h86l-135 -454h285l-8 -80h-302l-118 -398h303l-8 -79h-320l-133 -451h-90l135 451h-360l-134 -451h-88l134 451h-283l8 79h299zM475 530h363l120 398h-362z" /> - <glyph glyph-name="dollar" unicode="$" -d="M928 467q0 -151 -110.5 -243t-297.5 -103l-53 -240h-82l51 240q-79 2 -158 18t-137 43v94q65 -34 153.5 -53.5t160.5 -19.5l110 512q-110 53 -153 91t-66.5 87.5t-23.5 116.5q0 155 105.5 250.5t272.5 99.5l41 192h80l-41 -192q149 -5 277 -68l-35 -78q-110 61 -256 70 -l-109 -514q124 -60 172.5 -99.5t73.5 -88.5t25 -115zM537 203q142 7 223.5 74.5t81.5 183.5q0 76 -48 129.5t-157 97.5zM686 1284q-134 -9 -205 -80t-71 -186q0 -78 37 -128.5t137 -96.5z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1556" -d="M1458 1462l-1139 -1462h-106l1135 1462h110zM1520 612q0 -175 -50 -327t-136 -230t-197 -78q-112 0 -172 75.5t-60 223.5q0 160 52 312t138 229.5t193 77.5q121 0 176.5 -71.5t55.5 -211.5zM1284 821q-80 0 -146.5 -72.5t-106.5 -202.5t-40 -263q0 -116 41 -174t113 -58 -q130 0 209.5 166.5t79.5 386.5q0 109 -36 163t-114 54zM760 1198q0 -175 -50 -327t-136 -230t-197 -78q-112 0 -172 75.5t-60 223.5q0 160 52 312t138 229.5t193 77.5q232 0 232 -283zM524 1407q-79 0 -145 -71.5t-107 -203t-41 -264.5q0 -115 41 -173t113 -58 -q84 0 148.5 72t102.5 204t38 277q0 109 -36 163t-114 54z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1331" -d="M748 1395q-125 0 -194 -68t-69 -192q0 -132 109 -281q203 89 279.5 163.5t76.5 182.5q0 91 -56.5 143t-145.5 52zM465 63q108 0 211.5 42.5t222.5 146.5l-352 493q-164 -79 -232 -134.5t-103.5 -124t-35.5 -158.5q0 -119 78 -192t211 -73zM78 324q0 162 99 277.5 -t325 215.5l-41 67q-78 128 -78 251q0 157 101 253.5t264 96.5q145 0 227 -76.5t82 -206.5q0 -85 -41 -154t-121 -128t-256 -138l330 -463q73 75 135.5 176.5t91.5 186.5h111q-102 -247 -285 -436l184 -246h-123l-131 184q-121 -108 -242 -156t-266 -48q-167 0 -266.5 94 -t-99.5 250z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="403" -d="M461 1462l-146 -528h-61l80 528h127z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="526" -d="M104 270q0 343 122 633t382 559h105q-259 -276 -384.5 -568t-125.5 -618q0 -317 127 -600h-80q-146 262 -146 594z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="526" -d="M453 868q0 -345 -123.5 -636t-380.5 -556h-105q257 274 383.5 566.5t126.5 619.5q0 148 -28.5 294t-98.5 306h80q146 -262 146 -594z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1137" -d="M834 1540l-109 -405l438 8l-8 -107l-416 29l181 -401l-115 -37l-135 417l-285 -348l-78 78l318 318l-392 125l39 102l394 -168l47 408z" /> - <glyph glyph-name="plus" unicode="+" -d="M563 672h-401v100h401v404h101v-404h401v-100h-401v-400h-101v400z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="451" -d="M250 238l8 -23q-34 -92 -114 -233.5t-160 -245.5h-74q79 132 141 271t88 231h111z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="629" -d="M82 502l18 90h457l-16 -90h-459z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="485" -d="M82 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="641" -d="M827 1462l-817 -1462h-110l815 1462h112z" /> - <glyph glyph-name="zero" unicode="0" -d="M1075 1016q0 -201 -41 -405t-116.5 -346t-183.5 -213.5t-242 -71.5q-176 0 -264.5 126.5t-88.5 387.5q0 186 44.5 381.5t124 334t187 207t240.5 68.5q340 0 340 -469zM723 1397q-134 0 -241.5 -113t-173.5 -329t-66 -451q0 -222 62.5 -329t197.5 -107q139 0 244 112 -t166 337t61 489q0 199 -59.5 295t-190.5 96z" /> - <glyph glyph-name="one" unicode="1" -d="M537 0h-105l225 1055q19 92 74 293q-42 -36 -75.5 -61t-249.5 -161l-52 78l406 258h90z" /> - <glyph glyph-name="two" unicode="2" -d="M909 0h-870l22 104l449 402q198 177 284 276.5t126.5 186.5t40.5 180q0 112 -66 178t-197 66q-176 0 -333 -129l-54 73q180 146 394 146q173 0 268.5 -85t95.5 -237q0 -110 -43.5 -208.5t-141.5 -211.5t-311 -303l-383 -338v-4h736z" /> - <glyph glyph-name="three" unicode="3" -d="M1049 1174q0 -162 -106 -275t-286 -143v-4q117 -24 185.5 -115.5t68.5 -226.5q0 -134 -64 -233t-179.5 -148t-274.5 -49q-96 0 -184.5 20.5t-153.5 52.5v101q172 -86 344 -86q197 0 303.5 89.5t106.5 252.5q0 145 -89 223t-247 78h-117l21 96h110q209 0 333 95.5 -t124 258.5q0 114 -63.5 175t-188.5 61q-167 0 -344 -131l-49 75q84 67 188 104.5t218 37.5q161 0 252.5 -82.5t91.5 -226.5z" /> - <glyph glyph-name="four" unicode="4" -d="M1071 371h-264l-80 -371h-96l80 371h-688l20 96l881 1010h118l-215 -1018h265zM729 459q79 369 119 558.5t86 354.5h-4q-66 -91 -129 -166l-651 -747h579z" /> - <glyph glyph-name="five" unicode="5" -d="M582 879q188 0 292.5 -102t104.5 -279q0 -237 -148 -377.5t-407 -140.5q-84 0 -177.5 20t-158.5 51v107q170 -90 340 -90q208 0 328.5 114.5t120.5 313.5q0 140 -85 219.5t-225 79.5q-133 0 -243 -41l-66 49l193 659h624l-18 -96h-541l-149 -516q98 29 215 29z" /> - <glyph glyph-name="six" unicode="6" -d="M170 428q0 283 105 544.5t269.5 385t383.5 123.5q123 0 182 -21l-18 -90q-86 23 -170 23q-233 0 -393.5 -174t-233.5 -502h8q68 94 164 143t211 49q161 0 250.5 -100.5t89.5 -282.5q0 -156 -60 -281t-171 -195t-257 -70q-171 0 -265.5 119t-94.5 329zM543 68 -q112 0 196.5 58.5t130 162t45.5 229.5q0 146 -67 224.5t-195 78.5q-81 0 -154 -31.5t-129 -87t-78 -115t-22 -173.5q0 -164 72.5 -255t200.5 -91z" /> - <glyph glyph-name="seven" unicode="7" -d="M244 0l796 1366h-766l23 96h858l-20 -110l-779 -1352h-112z" /> - <glyph glyph-name="eight" unicode="8" -d="M737 1485q163 0 258 -85t95 -229q0 -138 -84 -234.5t-285 -172.5q130 -78 190 -170.5t60 -208.5t-58 -208t-165.5 -144.5t-260.5 -52.5q-178 0 -283.5 92.5t-105.5 253.5q0 159 100.5 268.5t321.5 187.5q-100 72 -144 152t-44 180q0 159 114 265t291 106zM610 733 -q-218 -73 -313.5 -167.5t-95.5 -225.5q0 -136 77.5 -206.5t219.5 -70.5q168 0 270 91t102 233q0 104 -62 189t-198 157zM727 1399q-130 0 -214.5 -82t-84.5 -203q0 -91 41.5 -159t157.5 -142q192 62 279 144t87 206q0 109 -70.5 172.5t-195.5 63.5z" /> - <glyph glyph-name="nine" unicode="9" -d="M1059 1032q0 -288 -101.5 -548t-263.5 -382t-393 -122q-114 0 -186 22v90q87 -29 192 -29q474 0 627 674h-8q-140 -192 -367 -192q-162 0 -255 105t-93 284q0 155 59.5 281t170.5 196t257 70q174 0 267.5 -115.5t93.5 -333.5zM686 1393q-112 0 -197.5 -58.5 -t-130.5 -162.5t-45 -230q0 -145 67.5 -225t192.5 -80q83 0 157.5 32.5t129 87.5t76.5 114t22 176q0 166 -71 256t-201 90z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="485" -d="M260 989q0 57 25.5 89t68.5 32q66 0 66 -72q0 -55 -25 -89t-67 -34q-68 0 -68 74zM102 55q0 56 25.5 88.5t69.5 32.5q65 0 65 -72q0 -55 -25.5 -88.5t-66.5 -33.5q-68 0 -68 73z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="485" -d="M287 238l8 -23q-35 -96 -118.5 -242t-156.5 -237h-73q79 132 141 271t88 231h111zM266 989q0 57 25.5 89t68.5 32q66 0 66 -72q0 -55 -25 -89t-67 -34q-68 0 -68 74z" /> - <glyph glyph-name="less" unicode="&#x3c;" -d="M1051 262l-914 414v74l914 471v-103l-801 -399l801 -350v-107z" /> - <glyph glyph-name="equal" unicode="=" -d="M168 885v100h903v-100h-903zM168 461v98h903v-98h-903z" /> - <glyph glyph-name="greater" unicode="&#x3e;" -d="M170 369l801 350l-801 399v103l915 -471v-74l-915 -414v107z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="799" -d="M242 362l6 29q29 132 82 206.5t157 147.5q118 84 175 145.5t86.5 127.5t29.5 141q0 108 -67.5 170t-182.5 62q-139 0 -307 -101l-39 86q85 49 171.5 78t187.5 29q159 0 250.5 -84.5t91.5 -229.5q0 -127 -66 -234t-231 -226q-85 -61 -132.5 -108.5t-73 -95t-46.5 -143.5 -h-92zM170 59q0 56 25 88.5t69 32.5q66 0 66 -71q0 -54 -24.5 -88.5t-67.5 -34.5q-68 0 -68 73z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1724" -d="M1688 858q0 -179 -56 -323.5t-154.5 -227t-211.5 -82.5q-98 0 -154.5 55t-56.5 144h-4q-54 -97 -132.5 -148t-168.5 -51q-112 0 -178 73t-66 202q0 156 63 283t178 198.5t261 71.5q122 0 252 -52l-84 -315q-39 -140 -39 -221q0 -71 34.5 -111.5t100.5 -40.5 -q86 0 160 73.5t117.5 198t43.5 251.5q0 156 -65 277t-187 188t-292 67q-235 0 -424.5 -108.5t-295.5 -304t-106 -439.5q0 -288 155 -449t435 -161q207 0 420 82v-90q-210 -82 -428 -82q-203 0 -357.5 82.5t-238.5 239t-84 370.5q0 276 121.5 493.5t337 337t473.5 119.5 -q189 0 330.5 -72.5t221 -213t79.5 -314.5zM1008 969q-113 0 -204.5 -59t-142.5 -165.5t-51 -238.5q0 -92 40.5 -142.5t113.5 -50.5q101 0 180.5 89t124.5 255l78 289q-66 23 -139 23z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1202" -d="M412 1462h379q190 0 290.5 -84t100.5 -241q0 -153 -90 -249t-254 -124v-4q125 -31 188.5 -113.5t63.5 -204.5q0 -205 -140.5 -323.5t-390.5 -118.5h-457zM377 811h278q206 0 313 81t107 238q0 119 -78 180.5t-229 61.5h-272zM358 721l-135 -631h342q201 0 309.5 87.5 -t108.5 256.5q0 145 -90 216t-275 71h-260z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1350" -d="M1288 879q0 -253 -109.5 -461.5t-300.5 -313t-446 -104.5h-330l310 1462h305q282 0 426.5 -147.5t144.5 -435.5zM430 90q226 0 394.5 94.5t261 275.5t92.5 412q0 498 -476 498h-206l-275 -1280h209z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="981" -d="M205 0h-103l310 1462h708l-20 -94h-604l-134 -620h570l-21 -95h-569z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1374" -d="M856 735h406l-150 -682q-211 -73 -405 -73q-257 0 -397 146t-140 421q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -229 114.5 -352t326.5 -123q155 0 309 47l117 526 -h-303z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1366" -d="M1063 0h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="477" -d="M-180 -360q-48 0 -88 8t-56 16l11 92q57 -20 137 -20q213 0 262 241l309 1485h105l-314 -1491q-35 -170 -125 -250.5t-241 -80.5z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1122" -d="M979 0h-111l-342 788l-190 -153l-131 -635h-103l310 1462h102l-158 -723l133 121l680 602h138l-699 -610z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="938" -d="M102 0l310 1462h102l-289 -1366h621l-23 -96h-721z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1669" -d="M772 205l733 1257h150l-301 -1462h-101l191 901q79 369 100 447h-6l-780 -1348h-51l-222 1348h-6q-20 -154 -78 -426l-196 -922h-96l309 1462h143l205 -1257h6z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1372" -d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1145" -d="M1145 1102q0 -500 -610 -500h-201l-129 -602h-103l310 1462h315q202 0 310 -92.5t108 -267.5zM350 694h191q252 0 373.5 96.5t121.5 305.5q0 274 -329 274h-211z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1464" -d="M1403 911q0 -216 -70 -418t-186.5 -324t-274.5 -167l267 -350h-142l-231 332l-74 -4q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128 -q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1145" -d="M336 633l-131 -633h-103l310 1462h303q430 0 430 -360q0 -182 -103.5 -303t-281.5 -152q201 -591 221 -647h-111l-211 633h-323zM358 725h252q208 0 317 95.5t109 281.5q0 268 -329 268h-211z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="985" -d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1079" -d="M457 147q51 111 124 247l572 1068h117l-799 -1462h-88l-182 1462h100l117 -950q26 -217 35 -365h4z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1702" -d="M1018 1341q-27 -76 -62 -153.5t-563 -1187.5h-82l-73 1462h100l47 -1031l4 -165l-2 -86h6q85 226 170 398l434 884h105l61 -878q19 -266 19 -410h6q30 86 61.5 163t493.5 1125h108q-169 -365 -330.5 -731t-328.5 -731h-78l-78 1075q-11 142 -11 219l1 47h-8z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="971" -d="M879 0h-107l-254 678l-526 -678h-127l608 766l-272 696h106l240 -626l483 626h119l-555 -719z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100z" /> - <glyph glyph-name="Z" unicode="Z" -d="M913 0h-925l22 92l1069 1276h-764l23 94h887l-19 -88l-1069 -1280h799z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="537" -d="M369 -324h-426l376 1786h429l-19 -90h-330l-340 -1605h330z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="641" -d="M295 1462l242 -1462h-82l-246 1462h86z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="537" -d="M203 1462h426l-377 -1786h-428l18 91h330l340 1605h-330z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1047" -d="M70 569l587 906h91l260 -906h-105l-217 809l-500 -809h-116z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="801" -d="M625 -291h-807l18 86h807z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1135" -d="M766 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="a" unicode="a" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1151" -d="M500 -16q-113 0 -186 59t-97 166h-6l-55 -209h-80l327 1556h95q-131 -628 -162 -751h6q93 156 199 229.5t231 73.5q281 0 281 -375q0 -203 -76 -380t-201 -273t-276 -96zM750 1018q-91 0 -180 -61.5t-160.5 -169.5t-106.5 -235t-35 -206q0 -129 64 -202.5t166 -73.5 -q124 0 224 83t164 245t64 325q0 152 -49 223.5t-151 71.5z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57z" /> - <glyph glyph-name="d" unicode="d" horiz-adv-x="1133" -d="M655 1104q230 0 279 -219h4q12 66 143 671h99l-330 -1556h-82l45 274h-6q-173 -294 -424 -294q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5 -t-64 -327.5q0 -295 201 -295z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="578" -d="M-131 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h248l-16 -81h-248l-252 -1190q-33 -161 -104 -234.5 -t-195 -73.5z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1040" -d="M1100 1087l-17 -79l-243 -11q26 -28 43.5 -84t17.5 -114q0 -109 -54.5 -206.5t-148 -145.5t-213.5 -48q-63 0 -77 9q-80 -33 -124 -73t-44 -81t31.5 -64.5t113.5 -31.5l121 -11q346 -31 346 -264q0 -112 -65 -197.5t-187 -131.5t-291 -46q-186 0 -291.5 72t-105.5 203 -q0 236 309 334q-78 42 -78 123q0 123 191 202q-71 36 -110.5 105.5t-39.5 157.5q0 111 53.5 204t148 146t206.5 53q69 0 147 -21h361zM14 -207q0 -101 81 -150t224 -49q203 0 317 74.5t114 204.5q0 85 -62.5 130.5t-218.5 57.5l-160 15q-157 -45 -226 -114.5t-69 -168.5z -M285 711q0 -112 58.5 -170t164.5 -58q88 0 154 37t102.5 114t36.5 169q0 104 -56 161.5t-157 57.5q-93 0 -161 -43t-105 -116t-37 -152z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -188t-103.5 -286l-102 -477h-98l332 1556h96l-86 -411q-44 -200 -66 -279h6q78 113 186.5 175.5t229.5 62.5q124 0 192 -65t68 -183q0 -70 -24 -182l-148 -674h-98z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="475" -d="M-166 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="944" -d="M270 477l609 610h125l-474 -469l297 -618h-106l-264 559l-205 -188l-80 -371h-96l330 1556h96l-166 -780l-70 -299h4z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="475" -d="M170 0h-94l334 1556h94z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1751" -d="M711 0l147 674q25 125 25 162q0 182 -154 182q-106 0 -200 -67.5t-159 -188.5t-100 -287l-100 -475h-98l231 1087h80l-33 -210h6q80 113 181.5 170t212.5 57q106 0 163 -67t60 -195h6q77 129 181 195.5t222 66.5q117 0 182.5 -61.5t65.5 -176.5q0 -29 -2.5 -56.5 -t-19.5 -119.5l-152 -690h-100l149 680q25 120 25 176q0 77 -43 119.5t-119 42.5q-157 0 -277.5 -137.5t-168.5 -362.5l-109 -518h-102z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83z" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1149" -d="M498 -16q-230 0 -279 219h-4q-13 -72 -149 -695h-99l336 1579h82l-45 -274h6q91 153 195.5 224t228.5 71q135 0 208 -92.5t73 -282.5q0 -195 -72 -371t-197.5 -277t-283.5 -101zM748 1018q-87 0 -174 -58.5t-161.5 -167.5t-110.5 -237.5t-36 -208.5q0 -125 61.5 -200.5 -t168.5 -75.5q124 0 225 84t164 243.5t63 325.5q0 295 -200 295z" /> - <glyph glyph-name="q" unicode="q" horiz-adv-x="1157" -d="M651 1104q109 0 183.5 -58t99.5 -167h6l55 208h80l-327 -1556h-95l98 470l64 282h-6q-93 -156 -199 -229.5t-231 -73.5q-281 0 -281 374q0 201 75.5 379t200.5 274.5t277 96.5zM401 70q92 0 182 62.5t160.5 171.5t105 236.5t34.5 200.5q0 130 -63.5 203.5t-166.5 73.5 -q-124 0 -224 -83t-164 -245t-64 -325q0 -143 45.5 -219t154.5 -76z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="752" -d="M713 1106q69 0 123 -14l-21 -93q-47 15 -113 15q-94 0 -179 -64t-153 -192t-100 -277l-100 -481h-98l231 1087h80l-29 -204h6q73 94 123 135.5t106.5 64.5t123.5 23z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="616" -d="M694 1087l-18 -81h-283l-135 -635q-22 -99 -22 -164q0 -139 126 -139q68 0 152 26v-86q-101 -28 -170 -28q-99 0 -153 54.5t-54 158.5q0 73 29 206l129 607h-182l14 67l184 17l97 253h55l-55 -256h286z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="895" -d="M276 0l-172 1087h101l108 -735q26 -165 33 -254h6q51 115 129 256l406 733h102l-600 -1087h-113z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1393" -d="M838 0l-60 686q-14 224 -14 266h-6q-34 -92 -144 -290l-356 -662h-117l-20 1087h92l13 -821l-3 -157h6q61 134 150 297l373 681h77l64 -681q14 -147 14 -297h6l24 61l101 236l320 681h96l-508 -1087h-108z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="922" -d="M442 483l-393 -483h-121l471 559l-245 528h100l207 -462l373 462h120l-448 -534l258 -553h-98z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="887" -d="M700 0h-729l15 72l776 932h-543l17 83h659l-18 -83l-762 -920h602z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="709" -d="M424 -324q-256 0 -256 199q0 45 16 115l56 252q18 90 18 127q0 159 -199 159l21 78q126 0 191 49t89 158l89 393q30 135 106 195.5t215 60.5h29l-17 -86q-86 -2 -129 -20.5t-69.5 -61.5t-44.5 -120l-74 -338q-30 -134 -91.5 -194.5t-164.5 -78.5v-4q68 -18 105.5 -68.5 -t37.5 -121.5q0 -52 -24 -164l-47 -225q-13 -58 -13 -101q0 -61 37.5 -89t138.5 -28v-86h-20z" /> - <glyph glyph-name="bar" unicode="|" -d="M584 1561h100v-2071h-100v2071z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="709" -d="M332 1462q131 0 189.5 -51t58.5 -147q0 -41 -17 -115l-55 -252q-19 -95 -19 -127q0 -77 49.5 -118.5t149.5 -41.5l-20 -78q-125 0 -191 -48.5t-90 -157.5l-88 -394q-32 -139 -108.5 -197.5t-213.5 -58.5h-18v86q96 2 138 21t68.5 61t43.5 121l74 338q27 126 87.5 189.5 -t168.5 82.5v5q-75 20 -109.5 72.5t-34.5 117.5q0 55 18 131l54 258q12 61 12 101q0 44 -18 69t-54 36t-116 11l20 86h21z" /> - <glyph glyph-name="asciitilde" unicode="~" -d="M350 745q-49 0 -108 -30.5t-115 -89.5v94q108 110 233 110q61 0 115 -13.5t156 -57.5q126 -58 219 -58q54 0 107.5 29t117.5 96v-96q-111 -113 -233 -113q-117 0 -271 72q-62 29 -112.5 43t-108.5 14z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="502" -d="M264 711h62l-203 -1086h-119zM432 1030q0 -56 -25 -88.5t-69 -32.5q-66 0 -66 72q0 55 25 89t68 34q67 0 67 -74z" /> - <glyph glyph-name="cent" unicode="&#xa2;" -d="M578 -20h-93l45 215q-132 25 -206 132.5t-74 272.5q0 184 63.5 341t178 253t256.5 111l36 178h90l-38 -176q116 -4 217 -43l-29 -90q-107 47 -217 47q-130 0 -233 -76t-162.5 -221t-59.5 -322q0 -164 74.5 -247t208.5 -83q127 0 264 60v-92q-118 -58 -281 -58z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" -d="M879 1479q170 0 313 -78l-39 -84l-54 26q-108 50 -231 50q-134 0 -220.5 -74.5t-117.5 -220.5l-73 -340h409l-18 -82h-408l-57 -268q-50 -225 -188 -314h759l-20 -94h-938l16 84q93 11 165.5 95.5t107.5 236.5l57 260h-199l17 82h198l76 350q41 187 155 279t290 92z" /> - <glyph glyph-name="currency" unicode="&#xa4;" -d="M262 723q0 118 74 225l-129 129l63 64l127 -129q105 78 230 78q118 0 223 -78l131 129l61 -62l-129 -129q78 -106 78 -227q0 -135 -78 -227l129 -127l-61 -62l-131 127q-104 -76 -223 -76q-126 0 -228 80l-129 -129l-61 62l127 127q-74 98 -74 225zM350 723 -q0 -116 80 -196.5t197 -80.5t198.5 81t81.5 196q0 75 -36.5 140t-102.5 104t-141 39q-114 0 -195.5 -82t-81.5 -201z" /> - <glyph glyph-name="yen" unicode="&#xa5;" -d="M584 645l544 817h117l-559 -823h266l-16 -76h-315l-39 -190h317l-18 -84h-316l-59 -289h-105l64 289h-299l18 84h299l41 190h-301l17 76h258l-215 823h100z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" -d="M578 1561h100v-756h-100v756zM578 246h100v-756h-100v756z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="995" -d="M211 778q0 101 69.5 182t198.5 130q-64 31 -103.5 85.5t-39.5 120.5q0 74 46 134.5t132.5 94.5t202.5 34q163 0 289 -58l-31 -80q-138 54 -264 54q-124 0 -202.5 -46.5t-78.5 -123.5q0 -59 46 -104.5t183 -106.5q112 -52 158.5 -89.5t71 -85t24.5 -110.5 -q0 -197 -249 -317q122 -64 122 -197q0 -86 -48 -153.5t-139.5 -105.5t-221.5 -38q-157 0 -275 53v99q47 -27 126 -46.5t153 -19.5q149 0 228 52.5t79 150.5q0 62 -42.5 106t-166.5 96q-155 65 -211.5 130t-56.5 159zM559 1038q-119 -30 -187.5 -97.5t-68.5 -154.5 -q0 -57 24.5 -96.5t81 -73t187.5 -81.5q103 49 162 113.5t59 156.5q0 72 -57.5 126t-200.5 107z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1135" -d="M836 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM492 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M944 1092q-142 0 -222.5 -94.5t-80.5 -264.5q0 -186 74.5 -275t220.5 -89q85 0 199 43v-88q-104 -45 -209 -45q-187 0 -288 116t-101 330q0 207 110 332t297 125q119 0 227 -52l-36 -83q-99 45 -191 45zM147 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 -t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM240 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89q174 0 325 85.5t243 239t92 334.5q0 178 -89 330t-240.5 241t-330.5 89q-182 0 -335 -92t-238.5 -243t-85.5 -325z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="643" -d="M487 1485q55 0 97.5 -29t66.5 -86h6l35 103h66l-137 -650h-72l22 125h-4q-96 -137 -223 -137q-80 0 -127 56.5t-47 164.5q0 189 90.5 321t226.5 132zM369 885q66 0 133.5 75.5t97.5 184.5q16 51 16 123q0 58 -36 100.5t-93 42.5q-94 0 -161.5 -111.5t-67.5 -271.5 -q0 -143 111 -143z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="860" -d="M426 932l57 -49l-317 -336l213 -385l-64 -39l-254 418l2 26zM786 932l58 -49l-314 -336l209 -385l-63 -39l-254 418l2 26z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" -d="M1028 772v-500h-100v400h-803v100h903z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="629" -d="M77 502l18 90h457l-16 -90h-459z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M758 731h112q93 0 144 46.5t51 135.5q0 172 -197 172h-110v-354zM1169 918q0 -80 -39.5 -141t-109.5 -93l237 -393h-120l-211 360h-168v-360h-101v880h211q143 0 222 -62t79 -191zM150 731q0 207 103.5 382t276.5 272.5t371 97.5q200 0 375 -100t276 -275t101 -377 -q0 -197 -97 -370t-272 -277t-383 -104q-204 0 -376.5 100.5t-273.5 273t-101 377.5zM242 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89q174 0 325 85.5t243 239t92 334.5q0 178 -89 330t-240.5 241t-330.5 89q-182 0 -335 -92t-238.5 -243t-85.5 -325z" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="655" -d="M1001 1556h-653l53 97h654z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M242 1190q0 120 85 206.5t208 86.5q122 0 207 -86.5t85 -206.5q0 -122 -85.5 -207.5t-206.5 -85.5q-122 0 -207.5 85.5t-85.5 207.5zM315 1190q0 -89 64.5 -153t155.5 -64q92 0 155.5 64t63.5 153q0 90 -64 155.5t-155 65.5q-90 0 -155 -65.5t-65 -155.5z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" -d="M528 629h-401v98h401v406h101v-406h401v-98h-401v-400h-101v400zM127 0v100h903v-100h-903z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="643" -d="M604 586h-522l16 80l297 258q137 118 182.5 190.5t45.5 153.5q0 59 -38.5 97t-105.5 38q-95 0 -194 -76l-41 62q108 90 239 90q73 0 125 -27t78.5 -72t26.5 -100q0 -106 -59 -198.5t-183 -194.5l-266 -223h416z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="643" -d="M705 1276q0 -85 -48.5 -148t-154.5 -88v-4q66 -16 105.5 -68t39.5 -124q0 -77 -39 -141t-109 -99t-161 -35q-59 0 -123.5 15.5t-105.5 40.5v90q46 -28 108 -48t125 -20q99 0 159 52.5t60 142.5q0 162 -196 162h-84l16 79h86q102 0 168.5 49.5t66.5 129.5 -q0 68 -37.5 102.5t-105.5 34.5q-100 0 -199 -68l-40 64q109 86 251 86q100 0 159 -56.5t59 -148.5z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1135" -d="M580 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1171" -d="M238 242q0 -82 48.5 -127t135.5 -45q110 0 207 64.5t162.5 182.5t101.5 285l104 485h99l-234 -1087h-78l29 205h-6q-164 -221 -404 -221q-85 0 -139 32.5t-76 89.5h-6q-18 -132 -51 -284l-63 -314h-97l338 1579h101l-152 -698q-20 -96 -20 -147z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1208 -260h-100v1722h-227v-1722h-101v819q-64 -18 -145 -18q-216 0 -318 125t-102 376q0 260 109 387t342 127h542v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="485" -d="M207 698q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="420" -d="M197 -289q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="643" -d="M512 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5t14 60t15.5 59t15 49.5q-34 -31 -60 -51.5t-143 -93.5l-39 59z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="655" -d="M518 1479q105 0 165 -64t60 -180q0 -115 -40 -214t-114 -156.5t-175 -57.5q-114 0 -169 67.5t-55 184.5q0 112 41.5 209.5t116 154t170.5 56.5zM508 1405q-70 0 -124 -46.5t-84 -124.5t-30 -167q0 -186 156 -186q73 0 125.5 46.5t81.5 127.5t29 176q0 83 -39 128.5 -t-115 45.5z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="860" -d="M451 123l-58 49l314 336l-209 385l63 39l254 -418l-2 -27zM90 123l-57 49l313 336l-209 385l64 39l254 -418l-2 -27z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1481" -d="M1319 230h-131l-49 -229h-82l49 229h-391l21 76l506 577h86l-125 -581h133zM1121 302q61 294 79 365.5t29 105.5q-10 -16 -61 -79t-338 -392h291zM1323 1462l-1087 -1462h-107l1086 1462h108zM509 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5t14 60t15.5 59t15 49.5 -q-34 -31 -60 -51.5t-143 -93.5l-39 59z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1458" -d="M1278 1h-522l16 80l297 258q137 118 182.5 190.5t45.5 153.5q0 59 -38.5 97t-105.5 38q-95 0 -194 -76l-41 62q108 90 239 90q73 0 125 -27t78.5 -72t26.5 -100q0 -106 -59 -198.5t-183 -194.5l-266 -223h416zM431 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5t14 60 -t15.5 59t15 49.5q-34 -31 -60 -51.5t-143 -93.5l-39 59zM1247 1462l-1087 -1462h-107l1086 1462h108z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1458" -d="M1380 230h-131l-49 -229h-82l49 229h-391l21 76l506 577h86l-125 -581h133zM1182 302q61 294 79 365.5t29 105.5q-10 -16 -61 -79t-338 -392h291zM667 1276q0 -85 -48.5 -148t-154.5 -88v-4q66 -16 105.5 -68t39.5 -124q0 -77 -39 -141t-109 -99t-161 -35 -q-59 0 -123.5 15.5t-105.5 40.5v90q46 -28 108 -48t125 -20q99 0 159 52.5t60 142.5q0 162 -196 162h-84l16 79h86q102 0 168.5 49.5t66.5 129.5q0 68 -37.5 102.5t-105.5 34.5q-100 0 -199 -68l-40 64q109 86 251 86q100 0 159 -56.5t59 -148.5zM1407 1462l-1087 -1462 -h-107l1086 1462h108z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="799" -d="M641 717l-6 -29q-28 -127 -79 -200t-161 -154q-118 -84 -175 -145.5t-86.5 -127.5t-29.5 -141q0 -106 65.5 -168.5t184.5 -62.5q141 0 308 100l38 -86q-85 -49 -170.5 -77.5t-187.5 -28.5q-159 0 -250.5 84.5t-91.5 228.5q0 133 70 240.5t227 220.5q85 61 133.5 109 -t73 95t45.5 142h92zM713 1020q0 -56 -25.5 -88.5t-69.5 -32.5q-65 0 -65 72q0 56 25 89.5t67 33.5q68 0 68 -74z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM815 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM668 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1007 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 -t92.5 -146.5v-29z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM911 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5 -q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM879 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM535 1704q0 49 20.5 78t56.5 29q54 0 54 -64 -q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM945 1600q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM867 1598 -q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1640" -d="M1403 0h-727l110 522h-444l-328 -522h-131l946 1462h883l-20 -94h-625l-117 -553h590l-20 -94h-588l-135 -627h626zM408 627h401l156 741h-88z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM752 -289 -q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM891 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM654 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM1036 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM902 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM558 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM525 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM419 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM738 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM604 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM260 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1352" -d="M1288 879q0 -253 -109.5 -461.5t-300.5 -313t-446 -104.5h-330l144 676h-156l21 96h155l146 690h305q282 0 426.5 -147.5t144.5 -435.5zM430 90q226 0 394.5 94.5t261 275.5t92.5 412q0 498 -476 498h-206l-129 -598h378l-20 -96h-379l-125 -586h209z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1372" -d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94zM1062 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72 -q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM989 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM844 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1171 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1077 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1031 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM687 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" -d="M551 723l-330 332l70 69l330 -329l333 329l68 -67l-332 -334l332 -332l-68 -67l-333 329l-330 -327l-68 67z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1464" -d="M1403 911q0 -187 -52 -365.5t-144.5 -304.5t-223 -193.5t-291.5 -67.5q-215 0 -348 112l-139 -170l-66 64l146 172q-113 149 -113 401q0 263 94 479.5t256.5 330.5t370.5 114q219 0 352 -121l133 168l70 -53l-145 -183q45 -51 72.5 -161t27.5 -222zM879 1389 -q-134 0 -244 -59.5t-188.5 -170t-124.5 -267.5t-46 -319q0 -105 21.5 -191t56.5 -138l826 1032q-107 113 -301 113zM1294 901q0 85 -17.5 172t-43.5 129l-821 -1030q107 -100 293 -100q170 0 301 100t209.5 296.5t78.5 432.5z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM946 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z -" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM838 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5 -t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1148 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29 -q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1022 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 -q-55 0 -55 63zM678 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM563 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1145" -d="M1087 836q0 -247 -153 -373.5t-457 -126.5h-201l-71 -336h-103l310 1462h102l-57 -266h213q200 0 308.5 -92.5t108.5 -267.5zM293 428h190q256 0 376 98.5t120 302.5q0 275 -330 275h-211z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1094" -d="M-162 -492q-73 0 -119 23v90q53 -24 115 -24q79 0 123 50.5t66 153.5l305 1409q80 357 405 357q137 0 215 -61.5t78 -174.5q0 -75 -44.5 -140.5t-166.5 -148.5q-107 -76 -141.5 -124.5t-34.5 -106.5q0 -51 34 -88.5t93 -75.5q96 -63 138 -133.5t42 -165.5 -q0 -170 -106.5 -269t-286.5 -99q-143 0 -234 65v109q45 -36 112.5 -59t129.5 -23q132 0 208.5 71t76.5 195q0 75 -31.5 129t-109.5 108q-82 58 -119 110.5t-37 121.5q0 57 21 103t60.5 88.5t137.5 113.5q101 70 131.5 116t30.5 101q0 70 -55 110t-150 40q-129 0 -205 -76 -t-108 -229l-291 -1377q-33 -152 -103.5 -220.5t-179.5 -68.5z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM809 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM586 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM955 1243h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM858 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z -" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM835 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM491 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM927 1448q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM849 1446q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1602" -d="M1155 -20q-123 0 -211 60t-117 165l-39 -205h-77l41 254h-9q-94 -142 -189 -208t-208 -66q-120 0 -182 94t-62 270q0 206 70.5 384.5t192.5 277t274 98.5q106 0 166 -56.5t74 -156.5h10l59 192h66l-35 -186q139 207 350 207q112 0 175 -61.5t63 -172.5 -q0 -179 -158.5 -271.5t-470.5 -92.5h-39q-8 -51 -8 -96q0 -161 69.5 -250.5t217.5 -89.5q69 0 133.5 21t130.5 52v-94q-80 -37 -147 -53t-140 -16zM369 70q67 0 138.5 42t134 117.5t106 170.5t63.5 199t20 165q0 118 -49 186t-141 68q-123 0 -223 -86t-156.5 -240 -t-56.5 -340q0 -150 42.5 -216t121.5 -66zM1317 1018q-119 0 -232 -115.5t-172 -308.5h48q263 0 383 67t120 203q0 71 -38.5 112.5t-108.5 41.5z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM574 -289 -q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM751 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM532 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM904 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM780 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM436 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM454 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM284 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM642 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM515 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM171 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1124" -d="M713 1364q-54 60 -158 139l59 68q32 -26 81 -66t100 -94l266 150l39 -74l-256 -141q87 -116 131.5 -276t44.5 -335q0 -355 -141.5 -555t-399.5 -200q-177 0 -277 106.5t-100 294.5q0 170 63 301.5t178.5 203.5t262.5 72q107 0 188 -49.5t121 -142.5h5q0 139 -43 289 -t-115 243l-295 -163l-39 73zM489 70q118 0 208.5 61t144 186.5t53.5 270.5q0 77 -35 142t-100 101.5t-156 36.5q-124 0 -213.5 -61.5t-137.5 -169.5t-48 -248q0 -153 73.5 -236t210.5 -83z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98zM874 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41 -t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM744 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM573 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM941 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM839 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM812 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM468 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="divide" unicode="&#xf7;" -d="M168 672v100h903v-100h-903zM522 373q0 106 96 106q48 0 73.5 -27.5t25.5 -78.5q0 -57 -29 -82t-70 -25q-96 0 -96 107zM522 1071q0 107 96 107q46 0 72.5 -27.5t26.5 -79.5q0 -57 -29 -81.5t-70 -24.5q-96 0 -96 106z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1124" -d="M164 127q-66 106 -66 276q0 191 73 358t197 257t281 90q150 0 250 -82l109 133l65 -53l-117 -143q70 -105 70 -263q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-163 0 -254 83l-110 -135l-64 54zM924 702q0 101 -35 179l-608 -742q67 -73 202 -73q127 0 225.5 77.5 -t157 228t58.5 330.5zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -125 32 -197l605 739q-74 72 -197 72z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM774 1241h-66q-50 52 -114 144.5 -t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM627 1262q66 51 150.5 142t129.5 165h137 -v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM957 1241h-49q-70 60 -161 207 -q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM827 1366q0 49 20.5 78t56.5 29 -q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM483 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM505 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5 -t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1163" -d="M498 -16q-230 0 -279 219h-4q-13 -72 -149 -695h-99l434 2048h99q-114 -535 -164 -751h6q93 156 199 229.5t231 73.5q133 0 206 -92.5t73 -282.5q0 -195 -72 -371t-197.5 -277t-283.5 -101zM748 1018q-86 0 -172.5 -57.5t-162.5 -169.5t-111.5 -238t-35.5 -207 -q0 -125 61.5 -200.5t168.5 -75.5q124 0 225 84t164 243.5t63 325.5q0 295 -200 295z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM698 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 -q-55 0 -55 63zM354 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM512 1671h508l-18 -88h-508z" /> - <glyph glyph-name="amacron" unicode="&#x101;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM469 1333h508l-18 -88h-508z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1043 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5 -h72z" /> - <glyph glyph-name="abreve" unicode="&#x103;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1020 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM947 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5 -t169 135.5h72z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM840 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM856 1600q66 51 150.5 142 -t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM577 1262 -q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM1171 1579h-49 -q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM908 1241h-49 -q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM848 1704q0 56 21.5 88.5 -t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM643 1366 -q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM680 1907h49 -q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM449 1569h49 -q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1350" -d="M1288 879q0 -253 -109.5 -461.5t-300.5 -313t-446 -104.5h-330l310 1462h305q282 0 426.5 -147.5t144.5 -435.5zM430 90q226 0 394.5 94.5t261 275.5t92.5 412q0 498 -476 498h-206l-275 -1280h209zM608 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29 -q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" horiz-adv-x="1133" -d="M655 1104q230 0 279 -219h4q12 66 143 671h99l-330 -1556h-82l45 274h-6q-173 -294 -424 -294q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5 -t-64 -327.5q0 -295 201 -295zM1257 1255q36 46 88 146.5t72 154.5h96v-20q-9 -39 -79.5 -146t-128.5 -161h-48v26z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1352" -d="M1288 879q0 -253 -109.5 -461.5t-300.5 -313t-446 -104.5h-330l144 676h-156l21 96h155l146 690h305q282 0 426.5 -147.5t144.5 -435.5zM430 90q226 0 394.5 94.5t261 275.5t92.5 412q0 498 -476 498h-206l-129 -598h378l-20 -96h-379l-125 -586h209z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1163" -d="M655 1104q227 0 279 -219h4q7 42 82 387h-404l21 84h401l43 200h99l-43 -200h157l-20 -84h-154l-270 -1272h-82l45 274h-6q-173 -294 -424 -294q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5 -q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5t-64 -327.5q0 -295 201 -295z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM543 1671h508l-18 -88h-508z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM419 1333h508l-18 -88h-508z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM1088 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM946 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM734 1675q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM574 1366q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM742 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM699 31l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM582 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM445 1569h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1374" -d="M856 735h406l-150 -682q-211 -73 -405 -73q-257 0 -397 146t-140 421q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -229 114.5 -352t326.5 -123q155 0 309 47l117 526 -h-303zM1177 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1040" -d="M1100 1087l-17 -79l-243 -11q26 -28 43.5 -84t17.5 -114q0 -109 -54.5 -206.5t-148 -145.5t-213.5 -48q-63 0 -77 9q-80 -33 -124 -73t-44 -81t31.5 -64.5t113.5 -31.5l121 -11q346 -31 346 -264q0 -112 -65 -197.5t-187 -131.5t-291 -46q-186 0 -291.5 72t-105.5 203 -q0 236 309 334q-78 42 -78 123q0 123 191 202q-71 36 -110.5 105.5t-39.5 157.5q0 111 53.5 204t148 146t206.5 53q69 0 147 -21h361zM14 -207q0 -101 81 -150t224 -49q203 0 317 74.5t114 204.5q0 85 -62.5 130.5t-218.5 57.5l-160 15q-157 -45 -226 -114.5t-69 -168.5z -M285 711q0 -112 58.5 -170t164.5 -58q88 0 154 37t102.5 114t36.5 169q0 104 -56 161.5t-157 57.5q-93 0 -161 -43t-105 -116t-37 -152zM898 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 -t92.5 -146.5v-29z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1374" -d="M856 735h406l-150 -682q-211 -73 -405 -73q-257 0 -397 146t-140 421q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -229 114.5 -352t326.5 -123q155 0 309 47l117 526 -h-303zM1217 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1040" -d="M1100 1087l-17 -79l-243 -11q26 -28 43.5 -84t17.5 -114q0 -109 -54.5 -206.5t-148 -145.5t-213.5 -48q-63 0 -77 9q-80 -33 -124 -73t-44 -81t31.5 -64.5t113.5 -31.5l121 -11q346 -31 346 -264q0 -112 -65 -197.5t-187 -131.5t-291 -46q-186 0 -291.5 72t-105.5 203 -q0 236 309 334q-78 42 -78 123q0 123 191 202q-71 36 -110.5 105.5t-39.5 157.5q0 111 53.5 204t148 146t206.5 53q69 0 147 -21h361zM14 -207q0 -101 81 -150t224 -49q203 0 317 74.5t114 204.5q0 85 -62.5 130.5t-218.5 57.5l-160 15q-157 -45 -226 -114.5t-69 -168.5z -M285 711q0 -112 58.5 -170t164.5 -58q88 0 154 37t102.5 114t36.5 169q0 104 -56 161.5t-157 57.5q-93 0 -161 -43t-105 -116t-37 -152zM921 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72 -z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1374" -d="M856 735h406l-150 -682q-211 -73 -405 -73q-257 0 -397 146t-140 421q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -229 114.5 -352t326.5 -123q155 0 309 47l117 526 -h-303zM869 1704q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1040" -d="M1100 1087l-17 -79l-243 -11q26 -28 43.5 -84t17.5 -114q0 -109 -54.5 -206.5t-148 -145.5t-213.5 -48q-63 0 -77 9q-80 -33 -124 -73t-44 -81t31.5 -64.5t113.5 -31.5l121 -11q346 -31 346 -264q0 -112 -65 -197.5t-187 -131.5t-291 -46q-186 0 -291.5 72t-105.5 203 -q0 236 309 334q-78 42 -78 123q0 123 191 202q-71 36 -110.5 105.5t-39.5 157.5q0 111 53.5 204t148 146t206.5 53q69 0 147 -21h361zM14 -207q0 -101 81 -150t224 -49q203 0 317 74.5t114 204.5q0 85 -62.5 130.5t-218.5 57.5l-160 15q-157 -45 -226 -114.5t-69 -168.5z -M285 711q0 -112 58.5 -170t164.5 -58q88 0 154 37t102.5 114t36.5 169q0 104 -56 161.5t-157 57.5q-93 0 -161 -43t-105 -116t-37 -152zM605 1366q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1374" -d="M856 735h406l-150 -682q-211 -73 -405 -73q-257 0 -397 146t-140 421q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -229 114.5 -352t326.5 -123q155 0 309 47l117 526 -h-303zM461 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1040" -d="M1100 1087l-17 -79l-243 -11q26 -28 43.5 -84t17.5 -114q0 -109 -54.5 -206.5t-148 -145.5t-213.5 -48q-63 0 -77 9q-80 -33 -124 -73t-44 -81t31.5 -64.5t113.5 -31.5l121 -11q346 -31 346 -264q0 -112 -65 -197.5t-187 -131.5t-291 -46q-186 0 -291.5 72t-105.5 203 -q0 236 309 334q-78 42 -78 123q0 123 191 202q-71 36 -110.5 105.5t-39.5 157.5q0 111 53.5 204t148 146t206.5 53q69 0 147 -21h361zM14 -207q0 -101 81 -150t224 -49q203 0 317 74.5t114 204.5q0 85 -62.5 130.5t-218.5 57.5l-160 15q-157 -45 -226 -114.5t-69 -168.5z -M285 711q0 -112 58.5 -170t164.5 -58q88 0 154 37t102.5 114t36.5 169q0 104 -56 161.5t-157 57.5q-93 0 -161 -43t-105 -116t-37 -152zM835 1542q-34 -44 -85.5 -142t-74.5 -159h-96v21q8 38 77 143t132 164h47v-27z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1366" -d="M1063 0h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100zM1148 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -188t-103.5 -286l-102 -477h-98l332 1556h96l-86 -411q-44 -200 -66 -279h6q78 113 186.5 175.5t229.5 62.5q124 0 192 -65t68 -183q0 -70 -24 -182l-148 -674h-98zM999 1634h-49 -q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1366" -d="M1313 1184h198l-20 -90h-197l-231 -1094h-100l151 719h-760l-149 -719h-103l232 1094h-193l21 90h190l60 278h102l-59 -278h757l60 278h100zM1135 813l59 281h-760l-59 -281h760z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1153" -d="M760 0l153 698q21 101 21 156q0 81 -48 122.5t-134 41.5q-171 0 -298.5 -141.5t-179.5 -395.5l-100 -481h-98l272 1282h-143l16 78h144l41 196h98l-41 -196h373l-17 -78h-373q-68 -315 -94 -408h10q93 124 191 177t215 53q129 0 197.5 -62t68.5 -182q0 -62 -22 -170 -l-150 -690h-102z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM639 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM551 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM232 1671h508l-18 -88h-508z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM150 1333h508l-18 -88h-508z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM769 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM673 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM201 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5zM174 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5 -h72z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM439 1704q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="997" -d="M102 0l310 1462h98l-309 -1462h-99zM324 -360q-48 0 -88 8t-56 16l11 92q57 -20 137 -20q213 0 262 241l309 1485h105l-314 -1491q-35 -170 -125 -250.5t-241 -80.5z" /> - <glyph glyph-name="ij" unicode="&#x133;" horiz-adv-x="950" -d="M171 0h-98l231 1087h96zM347 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5zM305 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5zM821 1366 -q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="477" -d="M-180 -360q-48 0 -88 8t-56 16l11 92q57 -20 137 -20q213 0 262 241l309 1485h105l-314 -1491q-35 -170 -125 -250.5t-241 -80.5zM726 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 -t92.5 -146.5v-29z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="475" -d="M-166 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5zM625 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 -t92.5 -146.5v-29z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1122" -d="M979 0h-111l-342 788l-190 -153l-131 -635h-103l310 1462h102l-158 -723l133 121l680 602h138l-699 -610zM297 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="944" -d="M270 477l609 610h125l-474 -469l297 -618h-106l-264 559l-205 -188l-80 -371h-96l330 1556h96l-166 -780l-70 -299h4zM217 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="944" -d="M270 477l609 610h125l-474 -469l297 -618h-106l-264 559l-205 -188l-80 -371h-96l229 1087h96l-65 -311l-70 -299h4z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="938" -d="M102 0l310 1462h102l-289 -1366h621l-23 -96h-721zM415 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="475" -d="M170 0h-94l334 1556h94zM403 1657q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="938" -d="M102 0l310 1462h102l-289 -1366h621l-23 -96h-721zM291 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="475" -d="M170 0h-94l334 1556h94zM-81 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="938" -d="M102 0l310 1462h102l-289 -1366h621l-23 -96h-721zM765 1162q36 46 88 146.5t72 154.5h96v-20q-9 -39 -79.5 -146t-128.5 -161h-48v26z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="475" -d="M170 0h-94l334 1556h94zM595 1255q36 46 88 146.5t72 154.5h96v-20q-9 -39 -79.5 -146t-128.5 -161h-48v26z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="938" -d="M102 0l310 1462h102l-289 -1366h621l-23 -96h-721zM684 718q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="418" -d="M163 0h-94l334 1556h94zM443 761q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="922" -d="M100 0l113 524l-135 -80l-39 78l199 119l174 821h102l-160 -755l285 170l43 -76l-354 -213l-103 -492h621l-23 -96h-723z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="430" -d="M350 836l182 104l41 -72l-247 -141l-156 -727h-94l141 664l-170 -99l-37 72l230 135l170 784h94z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1372" -d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94zM844 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98zM666 1262q66 51 150.5 142t129.5 165h137v-23 -q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1372" -d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94zM387 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98zM258 -426q34 44 85.5 142t74.5 159h96v-20 -q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1372" -d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94zM711 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98zM507 1569h49q72 -61 162 -207q55 57 125 114.5 -t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1282" -d="M481 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113zM889 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238 -q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1380" -d="M696 -360q-37 0 -83 8.5t-60 15.5l10 92q58 -20 137 -20q113 0 175.5 65t97.5 222l-506 1261h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94l-305 -1444q-41 -196 -130.5 -287t-246.5 -91z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1153" -d="M528 -492q-65 0 -112 19v92q47 -22 112 -22q82 0 127.5 51t71.5 178l186 866q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182 -l-187 -858q-35 -165 -106.5 -236.5t-188.5 -71.5z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM665 1671h508l-18 -88h-508z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM436 1333h508l-18 -88h-508z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1184 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM958 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM756 1608q48 49 112 132t115 167h103v-23q-59 -80 -145 -170.5t-146 -134.5h-39v29zM1069 1608q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM484 1270q48 49 112 132t115 167h103v-23q-59 -80 -145 -170.5t-146 -134.5h-39v29zM797 1270q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1767" -d="M1530 0h-666q-25 -6 -77.5 -13t-94.5 -7q-251 0 -385.5 149.5t-134.5 429.5q0 263 96 482t262 330.5t381 111.5q130 0 240 -21h688l-20 -94h-625l-117 -553h590l-20 -94h-588l-135 -627h626zM705 72q68 0 116 12l271 1290q-110 15 -189 15q-182 0 -321.5 -98.5 -t-222.5 -293.5t-83 -424q0 -245 109 -373t320 -128z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1720" -d="M1262 -20q-135 0 -228 69t-125 201q-65 -127 -179 -198.5t-257 -71.5q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90q141 0 237 -74.5t126 -212.5q70 132 182.5 207.5t241.5 75.5q114 0 182 -61t68 -166q0 -181 -163.5 -276t-486.5 -95h-32 -q-7 -38 -7 -98q0 -165 74 -251.5t213 -86.5q133 0 277 73v-94q-140 -69 -299 -69zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM1423 1018q-131 0 -243 -115t-162 -309h49q516 0 516 270 -q0 70 -44.5 112t-115.5 42z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1145" -d="M336 633l-131 -633h-103l310 1462h303q430 0 430 -360q0 -182 -103.5 -303t-281.5 -152q201 -591 221 -647h-111l-211 633h-323zM358 725h252q208 0 317 95.5t109 281.5q0 268 -329 268h-211zM725 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5 -t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="752" -d="M713 1106q69 0 123 -14l-21 -93q-47 15 -113 15q-94 0 -179 -64t-153 -192t-100 -277l-100 -481h-98l231 1087h80l-29 -204h6q73 94 123 135.5t106.5 64.5t123.5 23zM466 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1145" -d="M336 633l-131 -633h-103l310 1462h303q430 0 430 -360q0 -182 -103.5 -303t-281.5 -152q201 -591 221 -647h-111l-211 633h-323zM358 725h252q208 0 317 95.5t109 281.5q0 268 -329 268h-211zM315 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5 -t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="752" -d="M713 1106q69 0 123 -14l-21 -93q-47 15 -113 15q-94 0 -179 -64t-153 -192t-100 -277l-100 -481h-98l231 1087h80l-29 -204h6q73 94 123 135.5t106.5 64.5t123.5 23zM-87 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1145" -d="M336 633l-131 -633h-103l310 1462h303q430 0 430 -360q0 -182 -103.5 -303t-281.5 -152q201 -591 221 -647h-111l-211 633h-323zM358 725h252q208 0 317 95.5t109 281.5q0 268 -329 268h-211zM565 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29 -q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="752" -d="M713 1106q69 0 123 -14l-21 -93q-47 15 -113 15q-94 0 -179 -64t-153 -192t-100 -277l-100 -481h-98l231 1087h80l-29 -204h6q73 94 123 135.5t106.5 64.5t123.5 23zM378 1569h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63 -q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147zM643 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107zM452 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147zM958 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 -t92.5 -146.5v-29z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107zM797 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147zM508 -289q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137 -q140 -30 140 -152z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107zM449 -289q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147zM468 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141 -v29z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107zM331 1569h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="985" -d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440zM492 -289q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="616" -d="M694 1087l-18 -81h-283l-135 -635q-22 -99 -22 -164q0 -139 126 -139q68 0 152 26v-86q-101 -28 -170 -28q-99 0 -153 54.5t-54 158.5q0 73 29 206l129 607h-182l14 67l184 17l97 253h55l-55 -256h286zM426 -289q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79 -q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="985" -d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440zM516 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="616" -d="M694 1087l-18 -81h-283l-135 -635q-22 -99 -22 -164q0 -139 126 -139q68 0 152 26v-86q-101 -28 -170 -28q-99 0 -153 54.5t-54 158.5q0 73 29 206l129 607h-182l14 67l184 17l97 253h55l-55 -256h286zM636 1254q36 46 88 146.5t72 154.5h96v-20q-9 -39 -79.5 -146 -t-128.5 -161h-48v26z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="985" -d="M182 803h324l119 565h-432l20 94h973l-19 -94h-440l-121 -565h332l-18 -82h-330l-152 -721h-102l151 721h-323z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="573" -d="M63 680h162l70 326h-182l14 67l184 17l97 253h55l-55 -256h286l-18 -81h-283l-69 -326h249l-18 -82h-250l-47 -227q-22 -99 -22 -170q0 -57 30.5 -95t95.5 -38q68 0 152 26v-86q-25 -10 -78.5 -19t-87.5 -9q-98 0 -154.5 59t-56.5 154q0 79 25 188l45 217h-162z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1069 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18 -q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM870 1249q-40 0 -77.5 19t-75.5 45 -q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM663 1671h508l-18 -88h-508z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM471 1333h508l-18 -88h-508z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1188 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20 -h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM984 1481q-29 -120 -101 -177t-192 -57 -q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1110 1786q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145 -q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM1032 1784q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM929 1448q0 -92 -57.5 -148.5 -t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM851 1446q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM713 1608q48 49 112 132t115 167h103v-23q-59 -80 -145 -170.5t-146 -134.5 -h-39v29zM1026 1608q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM479 1270q48 49 112 132t115 167h103v-23 -q-59 -80 -145 -170.5t-146 -134.5h-39v29zM792 1270q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM785 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71 -q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM828 0l-75 -60q-61 -47 -91.5 -95 -t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1702" -d="M1018 1341q-27 -76 -62 -153.5t-563 -1187.5h-82l-73 1462h100l47 -1031l4 -165l-2 -86h6q85 226 170 398l434 884h105l61 -878q19 -266 19 -410h6q30 86 61.5 163t493.5 1125h108q-169 -365 -330.5 -731t-328.5 -731h-78l-78 1075q-11 142 -11 219l1 47h-8zM1310 1579 -h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1393" -d="M838 0l-60 686q-14 224 -14 266h-6q-34 -92 -144 -290l-356 -662h-117l-20 1087h92l13 -821l-3 -157h6q61 134 150 297l373 681h77l64 -681q14 -147 14 -297h6l24 61l101 236l320 681h96l-508 -1087h-108zM1071 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5 -h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM928 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM830 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29 -q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM798 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM454 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" -d="M913 0h-925l22 92l1069 1276h-764l23 94h887l-19 -88l-1069 -1280h799zM668 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="887" -d="M700 0h-729l15 72l776 932h-543l17 83h659l-18 -83l-762 -920h602zM489 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" -d="M913 0h-925l22 92l1069 1276h-764l23 94h887l-19 -88l-1069 -1280h799zM719 1704q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="887" -d="M700 0h-729l15 72l776 932h-543l17 83h659l-18 -83l-762 -920h602zM527 1366q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" -d="M913 0h-925l22 92l1069 1276h-764l23 94h887l-19 -88l-1069 -1280h799zM567 1907h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="887" -d="M700 0h-729l15 72l776 932h-543l17 83h659l-18 -83l-762 -920h602zM382 1569h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="473" -d="M-184 -492q-49 0 -103 19v90q53 -16 101 -16q88 0 134 53t75 186l294 1407q38 169 118.5 244.5t226.5 75.5q40 0 90 -11t75 -20l-24 -80q-87 27 -148 27q-95 0 -152 -53t-85 -179l-303 -1435q-33 -161 -104 -234.5t-195 -73.5z" /> - <glyph glyph-name="florin" unicode="&#x192;" -d="M104 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l215 1018h-204l14 68l205 14l47 223q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-47 -227h248l-17 -82h-247l-222 -1042q-34 -165 -105.5 -236.5 -t-193.5 -71.5z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q143 0 252.5 -54t175.5 -163q102 41 154 109t71 181h105l12 -18q-53 -246 -305 -344q45 -121 45 -283zM879 1389q-174 0 -308.5 -101t-214.5 -298 -t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1155" -d="M649 1108q203 0 301 -137q87 35 135.5 101.5t67.5 178.5h104l13 -18q-52 -240 -281 -334q37 -87 37 -199q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5 -q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1489" -d="M1395 1462l-45 -211q101 29 160.5 99t82.5 206h105l12 -18q-35 -160 -129.5 -248.5t-249.5 -126.5l-143 -678q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5 -l207 977h101z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1284" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-31 -145q103 28 163 99t83 212h104l13 -18q-35 -162 -130 -254t-251 -127l-182 -854h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62 -t-67.5 181q0 60 22 170l150 690h100z" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="475" -d="M-166 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5zM181 1569h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158 -t-89.5 141v29z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1059" -d="M928 1446q0 -63 -31 -114t-90 -72l172 -1260h-105l-69 520h-512l-287 -520h-117l713 1276q-37 26 -58.5 68.5t-21.5 95.5q0 90 59 146t148 56q93 0 146 -52.5t53 -143.5zM793 612l-39 291q-22 155 -35 342h-33q-28 -55 -58 -112.5t-284 -520.5h449zM852 1444 -q0 57 -32.5 91t-92.5 34q-54 0 -89.5 -34t-35.5 -91q0 -59 32.5 -92t92.5 -33q56 0 90.5 33t34.5 92zM676 1729q66 51 150.5 142t129.5 165h138v-23q-58 -71 -161 -161t-190 -144h-67v21z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM931 1398q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM853 1396q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93zM656 1684 -q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1640" -d="M1403 0h-727l110 522h-444l-328 -522h-131l946 1462h883l-20 -94h-625l-117 -553h590l-20 -94h-588l-135 -627h626zM408 627h401l156 741h-88zM1100 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1602" -d="M1155 -20q-123 0 -211 60t-117 165l-39 -205h-77l41 254h-9q-94 -142 -189 -208t-208 -66q-120 0 -182 94t-62 270q0 206 70.5 384.5t192.5 277t274 98.5q106 0 166 -56.5t74 -156.5h10l59 192h66l-35 -186q139 207 350 207q112 0 175 -61.5t63 -172.5 -q0 -179 -158.5 -271.5t-470.5 -92.5h-39q-8 -51 -8 -96q0 -161 69.5 -250.5t217.5 -89.5q69 0 133.5 21t130.5 52v-94q-80 -37 -147 -53t-140 -16zM369 70q67 0 138.5 42t134 117.5t106 170.5t63.5 199t20 165q0 118 -49 186t-141 68q-123 0 -223 -86t-156.5 -240 -t-56.5 -340q0 -150 42.5 -216t121.5 -66zM1317 1018q-119 0 -232 -115.5t-172 -308.5h48q263 0 383 67t120 203q0 71 -38.5 112.5t-108.5 41.5zM969 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1464" -d="M1403 911q0 -187 -52 -365.5t-144.5 -304.5t-223 -193.5t-291.5 -67.5q-215 0 -348 112l-139 -170l-66 64l146 172q-113 149 -113 401q0 263 94 479.5t256.5 330.5t370.5 114q219 0 352 -121l133 168l70 -53l-145 -183q45 -51 72.5 -161t27.5 -222zM879 1389 -q-134 0 -244 -59.5t-188.5 -170t-124.5 -267.5t-46 -319q0 -105 21.5 -191t56.5 -138l826 1032q-107 113 -301 113zM1294 901q0 85 -17.5 172t-43.5 129l-821 -1030q107 -100 293 -100q170 0 301 100t209.5 296.5t78.5 432.5zM813 1600q66 51 150.5 142t129.5 165h137v-23 -q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1124" -d="M164 127q-66 106 -66 276q0 191 73 358t197 257t281 90q150 0 250 -82l109 133l65 -53l-117 -143q70 -105 70 -263q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-163 0 -254 83l-110 -135l-64 54zM924 702q0 101 -35 179l-608 -742q67 -73 202 -73q127 0 225.5 77.5 -t157 228t58.5 330.5zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -125 32 -197l605 739q-74 72 -197 72zM580 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147zM199 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107zM112 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="985" -d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440zM161 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="616" -d="M694 1087l-18 -81h-283l-135 -635q-22 -99 -22 -164q0 -139 126 -139q68 0 152 26v-86q-101 -28 -170 -28q-99 0 -153 54.5t-54 158.5q0 73 29 206l129 607h-182l14 67l184 17l97 253h55l-55 -256h286zM75 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5 -t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="475" -d="M-166 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="299" -d="M475 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1135" -d="M958 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1135" -d="M514 1569h49q72 -61 162 -207q55 57 125 114.5t125 92.5h53v-29q-68 -55 -155.5 -146t-129.5 -153h-63q-29 74 -76.5 158t-89.5 141v29z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1096" -d="M434 1333h508l-18 -88h-508z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1135" -d="M1008 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="440" -d="M326 1366q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M967 1448q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM889 1446q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="348" -d="M154 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1135" -d="M831 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1135" -d="M461 1270q48 49 112 132t115 167h103v-23q-59 -80 -145 -170.5t-146 -134.5h-39v29zM774 1270q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M365 -322q0 -92 -58 -146t-155 -54q-96 0 -150.5 53t-54.5 145q0 93 54.5 146t150.5 53q97 0 155 -55t58 -142zM276 -324q0 57 -34.5 91t-89.5 34q-54 0 -88.5 -34t-34.5 -91q0 -58 31.5 -91.5t91.5 -33.5q55 0 89.5 33.5t34.5 91.5z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-411 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-541 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-331 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-248 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-780 1241h-74q-47 47 -116 147t-99 160v21h125q49 -137 164 -303v-25zM-449 1241h-73q-47 47 -116 147t-99 160v21h125q47 -132 163 -303v-25z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-810 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1163" -d="M651 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1163" -d="M733 1368q0 52 20.5 81.5t55.5 29.5q51 0 51 -66q0 -52 -19.5 -82.5t-54.5 -30.5q-53 0 -53 68zM319 1368q0 52 20.5 81.5t55.5 29.5q51 0 51 -66q0 -52 -19.5 -82.5t-53.5 -30.5q-26 0 -40 18t-14 50zM541 1405q39 72 77.5 161.5t55.5 149.5h117v-18q-26 -60 -82 -151.5 -t-111 -157.5h-57v16z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM169 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="485" -d="M207 698q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1098" -d="M89 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25zM976 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1526" -d="M89 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25zM1221 0h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="659" -d="M258 0l310 1462h98l-309 -1462h-99zM109 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1520" -d="M103 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25zM1456 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM932 1389 -q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1231" -d="M813 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM89 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1583" -d="M953 1389q-135 0 -245 -52.5t-188 -149.5t-124 -236.5t-46 -282.5q0 -129 27.5 -230.5t77 -186t156.5 -194.5l-11 -57h-499l18 94h346q-84 94 -126 174.5t-67.5 180.5t-25.5 225q0 227 94.5 421t253 291t363.5 97q251 0 385.5 -145.5t134.5 -426.5q0 -253 -123 -472 -t-334 -345h377l-18 -94h-560l11 57q265 146 401.5 367.5t136.5 495.5q0 224 -108 346.5t-307 122.5zM130 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="559" -d="M346 68q55 0 131 20v-84q-84 -24 -149 -24q-100 0 -153.5 57.5t-53.5 155.5q0 83 29 206l147 688h98l-153 -716q-23 -103 -23 -164q0 -139 127 -139zM539 1368q0 52 20.5 81.5t55.5 29.5q51 0 51 -66q0 -52 -19.5 -82.5t-54.5 -30.5q-53 0 -53 68zM125 1368 -q0 52 20.5 81.5t55.5 29.5q51 0 51 -66q0 -52 -19.5 -82.5t-53.5 -30.5q-26 0 -40 18t-14 50zM347 1405q39 72 77.5 161.5t55.5 149.5h117v-18q-26 -60 -82 -151.5t-111 -157.5h-57v16z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1202" -d="M412 1462h379q190 0 290.5 -84t100.5 -241q0 -153 -90 -249t-254 -124v-4q125 -31 188.5 -113.5t63.5 -204.5q0 -205 -140.5 -323.5t-390.5 -118.5h-457zM377 811h278q206 0 313 81t107 238q0 119 -78 180.5t-229 61.5h-272zM358 721l-135 -631h342q201 0 309.5 87.5 -t108.5 256.5q0 145 -90 216t-275 71h-260z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="981" -d="M205 0h-103l310 1462h708l-20 -94h-604z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1092" -d="M752 1468h67l193 -1402l-11 -66h-1046l14 70zM754 1305q-42 -90 -93.5 -188t-560.5 -1021h801q-70 531 -107 812t-40 397z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" -d="M913 0h-925l22 92l1069 1276h-764l23 94h887l-19 -88l-1069 -1280h799z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1366" -d="M1063 0h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1464" -d="M1087 793l-18 -97h-600l18 97h600zM1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128 -q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1122" -d="M979 0h-111l-342 788l-190 -153l-131 -635h-103l310 1462h102l-158 -723l133 121l680 602h138l-699 -610z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1100" -d="M737 1331q-67 -148 -205 -391l-526 -940h-119l830 1462h92l207 -1462h-101l-139 985q-29 206 -35 346h-4z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1669" -d="M772 205l733 1257h150l-301 -1462h-101l191 901q79 369 100 447h-6l-780 -1348h-51l-222 1348h-6q-20 -154 -78 -426l-196 -922h-96l309 1462h143l205 -1257h6z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1372" -d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1057" -d="M285 815h626l-18 -94h-627zM330 1462h809l-19 -94h-811zM889 94l-21 -94h-886l18 94h889z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1374" -d="M1063 0h-100l288 1366h-757l-289 -1366h-103l310 1462h960z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1145" -d="M1145 1102q0 -500 -610 -500h-201l-129 -602h-103l310 1462h315q202 0 310 -92.5t108 -267.5zM350 694h191q252 0 373.5 96.5t121.5 305.5q0 274 -329 274h-211z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1044" -d="M-23 0l15 88l626 655l-337 635l16 84h840l-19 -94h-530l-197 4l336 -641l-612 -641l151 4h639l-20 -94h-908z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="985" -d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1446" -d="M561 -20l49 233q-144 8 -245.5 69.5t-155 161.5t-53.5 230q0 177 82.5 318.5t236 217.5t365.5 82l41 191h100l-39 -191q218 -14 334.5 -129.5t116.5 -316.5q0 -187 -84 -330.5t-237 -219.5t-357 -83l-51 -233h-103zM733 305q264 8 409.5 147t145.5 388q0 163 -92 257.5 -t-274 100.5zM819 1198q-171 -3 -296.5 -65t-195 -180t-69.5 -271q0 -174 100 -273.5t273 -103.5z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="971" -d="M879 0h-107l-254 678l-526 -678h-127l608 766l-272 696h106l240 -626l483 626h119l-555 -719z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1419" -d="M770 455h-12l-96 -455h-103l96 455h-8q-212 0 -325 100.5t-113 292.5q0 102 29 239l79 375h103q-55 -258 -85.5 -399.5t-25.5 -206.5q0 -160 86 -236.5t267 -76.5h12l194 919h103l-195 -919h10q235 0 360.5 105t178.5 351l100 463h101l-105 -485q-56 -275 -214.5 -398.5 -t-436.5 -123.5z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1511" -d="M879 1389q-135 0 -245 -52.5t-188 -149.5t-124 -236.5t-46 -282.5q0 -129 27.5 -230.5t77 -186t156.5 -194.5l-11 -57h-499l18 94h346q-84 94 -126 174.5t-67.5 180.5t-25.5 225q0 227 94.5 421t253 291t363.5 97q251 0 385.5 -145.5t134.5 -426.5q0 -253 -123 -472 -t-334 -345h377l-18 -94h-560l11 57q265 146 401.5 367.5t136.5 495.5q0 224 -108 346.5t-307 122.5z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM604 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM260 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM796 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM452 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1137" -d="M655 1104q113 0 185.5 -57t99.5 -173h6q52 143 105 213h82q-36 -61 -77 -183.5t-75 -278.5q-73 -344 -79.5 -390.5t-6.5 -70.5q0 -98 76 -98q39 0 94 22v-78q-60 -30 -123 -30q-77 0 -112 44.5t-35 116.5q0 55 12 133h-6q-164 -294 -418 -294q-281 0 -281 374 -q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q92 0 181.5 61.5t158 165.5t105 227t36.5 217q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM634 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5 -t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="840" -d="M621 524h-113q-168 0 -257 -66.5t-89 -191.5q0 -95 62.5 -147.5t178.5 -52.5q82 0 175.5 24.5t162.5 63.5v-93q-68 -35 -159 -58t-187 -23q-157 0 -246.5 74t-89.5 204q0 132 82 217.5t228 106.5v4q-72 25 -116 79.5t-44 135.5q0 138 103 220.5t276 82.5q162 0 289 -66 -l-39 -86q-51 29 -120.5 46.5t-131.5 17.5q-133 0 -204 -55.5t-71 -157.5q0 -91 63 -139t179 -48h86zM558 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1153" -d="M657 -492l256 1184q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-256 -1166h-97zM653 1266q57 81 116.5 191.5t94.5 205.5h111 -v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="559" -d="M337 68q55 0 131 20v-84q-84 -24 -149 -24q-100 0 -153.5 57.5t-53.5 155.5q0 83 29 206l147 688h98l-153 -716q-23 -103 -23 -164q0 -139 127 -139zM312 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1139" -d="M483 -20q-162 0 -252 91.5t-90 254.5q0 105 37 270l105 491h102l-102 -479q-29 -141 -34 -184.5t-5 -89.5q0 -132 64 -200t188 -68q230 0 346 258.5t116 762.5h103q0 -1107 -578 -1107zM856 1368q0 52 20.5 81.5t55.5 29.5q51 0 51 -66q0 -52 -19.5 -82.5t-54.5 -30.5 -q-53 0 -53 68zM442 1368q0 52 20.5 81.5t55.5 29.5q51 0 51 -66q0 -52 -19.5 -82.5t-53.5 -30.5q-26 0 -40 18t-14 50zM664 1405q39 72 77.5 161.5t55.5 149.5h117v-18q-26 -60 -82 -151.5t-111 -157.5h-57v16z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1137" -d="M655 1104q113 0 185.5 -57t99.5 -173h6q52 143 105 213h82q-36 -61 -77 -183.5t-75 -278.5q-73 -344 -79.5 -390.5t-6.5 -70.5q0 -98 76 -98q39 0 94 22v-78q-60 -30 -123 -30q-77 0 -112 44.5t-35 116.5q0 55 12 133h-6q-164 -294 -418 -294q-281 0 -281 374 -q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q92 0 181.5 61.5t158 165.5t105 227t36.5 217q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1151" -d="M770 1567q155 0 247.5 -88t92.5 -240q0 -115 -45 -205t-124.5 -146t-184.5 -73q125 -31 193.5 -127.5t68.5 -238.5q0 -136 -57.5 -243t-164 -166.5t-249.5 -59.5q-69 0 -128 14t-108 36.5t-118 73.5l-65 -296l-65 -300h-94l348 1618q50 233 161 337t292 104zM756 1481 -q-96 0 -164 -40.5t-111.5 -117t-72.5 -215.5l-197 -920q70 -56 158 -89t174 -33q170 0 271 101.5t101 274.5q0 334 -362 334h-53l16 82h59q211 0 322 95.5t111 279.5q0 118 -66.5 183t-185.5 65z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="883" -d="M221 -492h-102q27 206 188 506l-184 1073h100l103 -636q19 -113 45 -342h4q69 151 168 329l352 649h100l-567 -1042q-177 -321 -207 -537z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1096" -d="M627 958q-205 155 -205 322q0 129 92 208t242 79q161 0 334 -115l-46 -78q-160 107 -299 107q-104 0 -162.5 -55.5t-58.5 -143.5q0 -47 17.5 -87.5t50.5 -79.5t123 -114q105 -87 156 -156.5t77.5 -150t26.5 -176.5q0 -148 -65.5 -276t-180 -195t-260.5 -67 -q-180 0 -285.5 107t-105.5 282q0 456 549 589zM479 66q119 0 208 58.5t137 161.5t48 232q0 115 -40.5 207t-137.5 172q-273 -68 -393.5 -195.5t-120.5 -322.5q0 -147 79 -230t220 -83z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="840" -d="M621 524h-113q-168 0 -257 -66.5t-89 -191.5q0 -95 62.5 -147.5t178.5 -52.5q82 0 175.5 24.5t162.5 63.5v-93q-68 -35 -159 -58t-187 -23q-157 0 -246.5 74t-89.5 204q0 132 82 217.5t228 106.5v4q-72 25 -116 79.5t-44 135.5q0 138 103 220.5t276 82.5q162 0 289 -66 -l-39 -86q-51 29 -120.5 46.5t-131.5 17.5q-133 0 -204 -55.5t-71 -157.5q0 -91 63 -139t179 -48h86z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="905" -d="M117 385q0 227 186 480.5t627 613.5q-96 -6 -230 -6h-268l19 83h602l-19 -83l-191 -172q-226 -200 -358.5 -349t-198 -287t-65.5 -268q0 -85 23 -142t69.5 -96.5t157.5 -84.5q102 -41 145.5 -72t64.5 -70t21 -92q0 -64 -35 -128t-124 -150h-117q90 83 135 145t45 119 -q0 50 -36.5 86.5t-155.5 81.5q-161 59 -229 150.5t-68 240.5z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1153" -d="M657 -492l256 1184q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-256 -1166h-97z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1079" -d="M471 66q169 0 284.5 168t194.5 536h-696q-12 -55 -23.5 -158t-11.5 -172q0 -190 61.5 -282t190.5 -92zM741 1495q-331 0 -469 -635h693q26 150 26 283q0 182 -60 267t-190 85zM461 -20q-170 0 -254 113t-84 341q0 141 28.5 313t85.5 341.5t132.5 277.5t171 160.5 -t213.5 52.5q331 0 331 -432q0 -133 -28 -311t-84.5 -351.5t-129.5 -283t-167.5 -165.5t-214.5 -56z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="559" -d="M346 68q55 0 131 20v-84q-84 -24 -149 -24q-100 0 -153.5 57.5t-53.5 155.5q0 83 29 206l147 688h98l-153 -716q-23 -103 -23 -164q0 -139 127 -139z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="944" -d="M270 477l609 610h125l-474 -469l297 -618h-106l-264 559l-205 -188l-80 -371h-96l229 1087h96l-65 -311l-70 -299h4z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="895" -d="M528 965q-49 -107 -125 -240l-415 -725h-103q155 272 314 543.5t315 546.5l-20 192q-10 105 -50.5 154t-128.5 49q-39 0 -104 -17l-8 82q51 19 125 19q119 0 180.5 -63t77.5 -212l110 -1112q7 -63 25.5 -93t60.5 -30q32 0 68 13v-78q-39 -14 -88 -14q-78 0 -114.5 43 -t-45.5 139l-47 495q-15 170 -20 308h-7z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1171" -d="M238 242q0 -82 48.5 -127t135.5 -45q110 0 207 64.5t162.5 182.5t101.5 285l104 485h99l-234 -1087h-78l29 205h-6q-164 -221 -404 -221q-85 0 -139 32.5t-76 89.5h-6q-18 -132 -51 -284l-63 -314h-97l338 1579h101l-152 -698q-20 -96 -20 -147z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="936" -d="M121 1087h98l70 -571q27 -226 45 -426q202 167 346.5 423.5t208.5 573.5h98q-68 -345 -221 -610.5t-404 -476.5h-100z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="874" -d="M795 782h-72q-164 0 -296 -51t-197.5 -139.5t-65.5 -210.5q0 -103 53 -171t195 -118q122 -43 168 -73.5t69 -73t23 -103.5t-38 -129t-108 -129h-120q161 132 161 260q0 48 -31 80t-102 59q-125 45 -185 75.5t-100.5 71t-65 99t-24.5 144.5q0 175 119.5 294t333.5 158v4 -q-118 22 -179 90t-61 175q0 134 100.5 237t284.5 150q-115 -8 -202 -8h-109l19 83h602l-21 -83h-33q-131 0 -266 -53.5t-206.5 -136t-71.5 -183.5q0 -117 94.5 -175.5t273.5 -58.5h78z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1106" -d="M866 61q43 0 90 13v-82q-43 -12 -104 -12q-72 0 -115 43t-43 106t21 154l153 723h-467l-213 -1006h-98l213 1006h-213l14 63l187 18h885l-19 -81h-192l-156 -742q-16 -75 -16 -121q0 -35 19 -58.5t54 -23.5z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1137" -d="M668 1108q173 0 271.5 -107.5t98.5 -300.5q0 -201 -72 -372.5t-193 -259.5t-275 -88q-89 0 -160 28t-148 98q-28 -152 -124 -598h-99l250 1174q95 426 451 426zM653 1022q-135 0 -220 -90t-132 -305l-92 -434q127 -127 287 -127q126 0 223 77.5t157 229.5t60 329 -q0 154 -73 237t-210 83z" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="918" -d="M877 971q-110 47 -218 47q-129 0 -233 -78.5t-162.5 -219t-58.5 -306.5q0 -94 24 -156.5t75 -106.5t169 -90q136 -52 182.5 -104t46.5 -135q0 -129 -145 -260h-121q75 65 119.5 125t44.5 118q0 61 -37.5 97.5t-144.5 77.5q-175 64 -245.5 163t-70.5 269q0 195 75 359 -t201 248.5t286 84.5q131 0 241 -43z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1137" -d="M1014 633q0 -307 -132 -480t-372 -173q-192 0 -299 123t-107 341q0 197 77 345t216.5 223t333.5 75h461l-18 -81h-240q35 -70 57.5 -173.5t22.5 -199.5zM735 1006q-252 0 -390 -145t-138 -406q0 -188 82 -288.5t235 -100.5q119 0 206 66t134 193t47 314q0 83 -18.5 186 -t-48.5 181h-109z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="770" -d="M473 68q61 0 152 26v-86q-17 -7 -72.5 -17.5t-97.5 -10.5q-99 0 -153 55t-54 158q0 82 28 206l130 607h-334l14 63l184 18h580l-16 -81h-330l-135 -635q-23 -107 -23 -164q0 -65 32 -102t95 -37z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1139" -d="M483 -20q-162 0 -252 91.5t-90 254.5q0 105 37 270l105 491h102l-102 -479q-29 -141 -34 -184.5t-5 -89.5q0 -132 64 -200t188 -68q230 0 346 258.5t116 762.5h103q0 -1107 -578 -1107z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1274" -d="M459 -23q-191 20 -295.5 140t-104.5 319q0 187 77 349.5t247 320.5l63 -64q-149 -136 -217.5 -278t-68.5 -322q0 -170 81.5 -267t235.5 -112l160 742q31 149 109 226t194 77q131 0 204 -95t73 -261q0 -226 -80 -401t-229.5 -271.5t-354.5 -104.5l-98 -467h-97zM1120 741 -q0 134 -48.5 205.5t-135.5 71.5q-82 0 -133 -56t-76 -176l-156 -723q170 10 294.5 96t189.5 236.5t65 345.5z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="993" -d="M223 1098q63 0 100 -21.5t58 -61t35 -145.5l55 -452l481 669h107l-567 -788l69 -524q12 -100 44 -139t91 -39q47 0 86 14v-82q-53 -21 -112 -21q-177 0 -203 230l-57 471l-506 -701h-119l606 822l-65 512q-11 85 -23.5 112.5t-34.5 41.5t-57 14q-38 0 -78 -17l-18 84 -q20 8 53.5 14.5t54.5 6.5z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1364" -d="M950 1556q-237 -1094 -317 -1478q286 17 418.5 257.5t132.5 751.5h102q0 -391 -74.5 -624t-224 -347.5t-373.5 -123.5l-102 -484h-94l102 484q-180 17 -273 120.5t-93 278.5q0 96 30 238l99 458h102l-98 -454q-31 -139 -31 -232q0 -293 283 -323q118 547 184.5 851.5 -t132.5 626.5h94z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1364" -d="M338 -20q-130 0 -200 95t-70 269q0 192 68 382t204 361h102q-141 -196 -208.5 -376t-67.5 -363q0 -138 47 -209t139 -71q86 0 148.5 68t97.5 224l72 332h96l-66 -309q-18 -90 -18 -141q0 -84 42 -129t120 -45q157 0 254.5 186.5t97.5 482.5q0 199 -31 350h92 -q14 -56 25.5 -156t11.5 -198q0 -215 -60 -394.5t-162 -269t-236 -89.5q-88 0 -149.5 47t-78.5 131q-93 -178 -270 -178z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="559" -d="M346 68q55 0 131 20v-84q-84 -24 -149 -24q-100 0 -153.5 57.5t-53.5 155.5q0 83 29 206l147 688h98l-153 -716q-23 -103 -23 -164q0 -139 127 -139zM528 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM184 1366q0 49 20.5 78t56.5 29 -q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1139" -d="M483 -20q-162 0 -252 91.5t-90 254.5q0 105 37 270l105 491h102l-102 -479q-29 -141 -34 -184.5t-5 -89.5q0 -132 64 -200t188 -68q230 0 346 258.5t116 762.5h103q0 -1107 -578 -1107zM829 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z -M485 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM642 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1139" -d="M483 -20q-162 0 -252 91.5t-90 254.5q0 105 37 270l105 491h102l-102 -479q-29 -141 -34 -184.5t-5 -89.5q0 -132 64 -200t188 -68q230 0 346 258.5t116 762.5h103q0 -1107 -578 -1107zM627 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5 -t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1364" -d="M338 -20q-130 0 -200 95t-70 269q0 192 68 382t204 361h102q-141 -196 -208.5 -376t-67.5 -363q0 -138 47 -209t139 -71q86 0 148.5 68t97.5 224l72 332h96l-66 -309q-18 -90 -18 -141q0 -84 42 -129t120 -45q157 0 254.5 186.5t97.5 482.5q0 199 -31 350h92 -q14 -56 25.5 -156t11.5 -198q0 -215 -60 -394.5t-162 -269t-236 -89.5q-88 0 -149.5 47t-78.5 131q-93 -178 -270 -178zM792 1266q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1036" -d="M942 883q-15 -169 -73.5 -349.5t-145.5 -306t-192.5 -186.5t-227.5 -61q-130 0 -203 72.5t-73 205.5q0 103 58 243q68 163 77.5 196t9.5 59q0 31 -18.5 45t-38.5 14q-19 0 -48.5 -8t-54.5 -23l15 90q54 27 108 27q56 0 93.5 -38.5t37.5 -96.5q0 -76 -51 -191 -q-47 -107 -68.5 -179t-21.5 -140q0 -87 50 -137.5t140 -50.5q133 0 244 101t187 295.5t98 418.5h-23q-253 0 -378.5 89.5t-125.5 274.5q0 147 87.5 238.5t226.5 91.5q157 0 239 -124.5t82 -362.5l-4 -125h144l-15 -82h-135zM418 1251q0 -101 41 -163t124 -92.5t236 -30.5h29 -q4 42 4 106q0 214 -55.5 317t-167.5 103q-96 0 -153.5 -64.5t-57.5 -175.5z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="975" -d="M494 645q128 239 245.5 435t175.5 267t109 99.5t111 28.5q29 0 49.5 -5t34.5 -8l-27 -88q-28 10 -59 10q-59 0 -111.5 -52.5t-129.5 -172.5t-176 -287.5t-192 -341.5l-108 -530h-105l119 545l-237 917h100z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1464" -d="M391 -20q-130 0 -198 90.5t-68 273.5q0 173 68 344.5t192 317.5h-270l14 63l186 18h1215l-19 -81h-247q15 -69 29 -156t14 -205q0 -182 -58 -344.5t-155 -241.5t-226 -79q-86 0 -143 47t-76 131q-94 -178 -258 -178zM1206 649q0 191 -32 357h-687q-260 -327 -260 -654 -q0 -284 179 -284q82 0 140 68t93 224l59 275h97l-54 -252q-18 -99 -18 -137q0 -80 40.5 -129t110.5 -49q93 0 167.5 71.5t119.5 212t45 297.5z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM891 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM902 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM558 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1292" -d="M731 -14q-59 0 -129 14v98q14 -3 48.5 -10.5t80.5 -7.5q121 0 183.5 60t89.5 210l16 90q12 64 12 133q0 109 -59.5 159t-190.5 50h-301l-164 -782h-102l289 1368h-307l20 94h850l-18 -94h-443l-106 -496h305q167 0 248.5 -76.5t81.5 -211.5q0 -75 -15 -148l-24 -129 -q-32 -164 -120 -242.5t-245 -78.5z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="981" -d="M205 0h-103l310 1462h708l-20 -94h-604zM664 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1169" -d="M961 1389q-241 0 -411 -151t-239 -415h676l-18 -94h-678q-17 -85 -17 -190q0 -226 111.5 -346.5t316.5 -120.5q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 143t-134 412q0 258 101 479t280.5 345t409.5 124q177 0 307 -68l-45 -90q-113 64 -262 64z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1020" -d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 -l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM604 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM260 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="477" -d="M-180 -360q-48 0 -88 8t-56 16l11 92q57 -20 137 -20q213 0 262 241l309 1485h105l-314 -1491q-35 -170 -125 -250.5t-241 -80.5z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1817" -d="M1694 465q0 -223 -140 -344t-391 -121h-362l289 1368h-371l-40 -137q-132 -452 -217 -706t-142 -354.5t-129 -147t-173 -46.5q-54 0 -102 17v96q45 -16 102 -16q78 0 132.5 44t104 143.5t141 383t245.5 817.5h573l-139 -651h232q187 0 287 -89.5t100 -256.5zM1057 721 -l-135 -631h239q205 0 315.5 92t110.5 277q0 134 -74.5 198t-224.5 64h-231z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="1894" -d="M1772 465q0 -223 -140 -344t-391 -121h-362l151 719h-676l-149 -719h-103l310 1462h102l-139 -649h676l137 649h104l-139 -649h231q186 0 287 -90.5t101 -257.5zM1135 719l-136 -629h240q204 0 315 92t111 277q0 132 -73.5 196t-225.5 64h-231z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1313" -d="M924 0l84 379q28 117 28 184q0 115 -59.5 167t-194.5 52h-301l-164 -782h-102l289 1368h-307l20 94h850l-18 -94h-443l-106 -496h305q332 0 332 -294q0 -41 -6.5 -82.5t-108.5 -495.5h-98z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1106" -d="M1040 0h-129l-555 729l-151 -729h-103l310 1462h102l-158 -727l787 727h143l-809 -733zM721 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1368" -d="M412 1462h102l-186 -878q-79 -346 -95 -406l1035 1284h110l-309 -1462h-100q120 569 184.5 876t99.5 431l-1050 -1307h-101zM969 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1145" -d="M133 -20q-93 0 -156 30v111q67 -37 162 -37q111 0 203 71.5t209 264.5l-318 1042h105l194 -651q13 -41 89 -319q33 61 88.5 156t507.5 814h116l-723 -1140q-112 -180 -223.5 -261t-253.5 -81zM1128 1866q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155 -q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1374" -d="M412 1462h100l-289 -1366h758l289 1366h102l-309 -1462h-424l-76 -356h-100l78 356h-439z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1112" -d="M995 465q0 -222 -139 -343.5t-391 -121.5h-363l310 1462h680l-21 -94h-575l-119 -557h231q187 0 287 -89.5t100 -256.5zM358 721l-135 -631h240q204 0 315 92t111 277q0 134 -74.5 198t-224.5 64h-232z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1202" -d="M412 1462h379q190 0 290.5 -84t100.5 -241q0 -153 -90 -249t-254 -124v-4q125 -31 188.5 -113.5t63.5 -204.5q0 -205 -140.5 -323.5t-390.5 -118.5h-457zM377 811h278q206 0 313 81t107 238q0 119 -78 180.5t-229 61.5h-272zM358 721l-135 -631h342q201 0 309.5 87.5 -t108.5 256.5q0 145 -90 216t-275 71h-260z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="981" -d="M205 0h-103l310 1462h708l-20 -94h-604z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1165" -d="M1108 94l-98 -450h-105l80 356h-967l-81 -356h-101l105 450h79q178 207 347 555.5t323 812.5h539l-291 -1368h170zM762 1368q-146 -435 -308.5 -765.5t-314.5 -508.5h697l270 1274h-344z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1491" -d="M641 760l-424 702h125l414 -704l147 704h103l-152 -706l692 706h140l-717 -725l434 -737h-123l-430 737l-154 -737h-102l158 739l-699 -739h-141z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1020" -d="M987 1169q0 -160 -91 -263.5t-267 -145.5v-4q130 -23 199 -110.5t69 -227.5q0 -130 -67.5 -232.5t-187 -154t-284.5 -51.5q-211 0 -389 79v117q183 -106 402 -106q204 0 314 93.5t110 260.5q0 287 -373 287h-182l18 96h178q131 0 237 45t158 123.5t52 183.5 -q0 114 -67 176t-191 62q-168 0 -340 -119l-54 76q190 129 406 129q165 0 257.5 -82t92.5 -232z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1368" -d="M412 1462h102l-186 -878q-79 -346 -95 -406l1035 1284h110l-309 -1462h-100q120 569 184.5 876t99.5 431l-1050 -1307h-101z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1368" -d="M412 1462h102l-186 -878q-79 -346 -95 -406l1035 1284h110l-309 -1462h-100q120 569 184.5 876t99.5 431l-1050 -1307h-101zM1253 1866q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5 -q231 0 258 201h94z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1106" -d="M1040 0h-129l-555 729l-151 -729h-103l310 1462h102l-158 -727l787 727h143l-809 -733z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1266" -d="M719 1368l-40 -137q-132 -452 -217 -706t-142 -354.5t-129 -147t-173 -46.5q-54 0 -102 17v96q45 -16 102 -16q78 0 132.5 44t104 143.5t141 383t245.5 817.5h633l-309 -1462h-101l289 1368h-434z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1669" -d="M772 205l733 1257h150l-301 -1462h-101l191 901q79 369 100 447h-6l-780 -1348h-51l-222 1348h-6q-20 -154 -78 -426l-196 -922h-96l309 1462h143l205 -1257h6z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1366" -d="M1063 0h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1374" -d="M1063 0h-100l288 1366h-757l-289 -1366h-103l310 1462h960z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1145" -d="M1145 1102q0 -500 -610 -500h-201l-129 -602h-103l310 1462h315q202 0 310 -92.5t108 -267.5zM350 694h191q252 0 373.5 96.5t121.5 305.5q0 274 -329 274h-211z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="985" -d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1145" -d="M133 -20q-93 0 -156 30v111q67 -37 162 -37q111 0 203 71.5t209 264.5l-318 1042h105l194 -651q13 -41 89 -319q33 61 88.5 156t507.5 814h116l-723 -1140q-112 -180 -223.5 -261t-253.5 -81z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1446" -d="M561 -20l49 233q-144 8 -245.5 69.5t-155 161.5t-53.5 230q0 177 82.5 318.5t236 217.5t365.5 82l41 191h100l-39 -191q218 -14 334.5 -129.5t116.5 -316.5q0 -187 -84 -330.5t-237 -219.5t-357 -83l-51 -233h-103zM733 305q264 8 409.5 147t145.5 388q0 163 -92 257.5 -t-274 100.5zM819 1198q-171 -3 -296.5 -65t-195 -180t-69.5 -271q0 -174 100 -273.5t273 -103.5z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="971" -d="M879 0h-107l-254 678l-526 -678h-127l608 766l-272 696h106l240 -626l483 626h119l-555 -719z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1423" -d="M1272 1462h100l-289 -1368h168l-98 -450h-104l79 356h-1026l310 1462h100l-289 -1368h758z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1192" -d="M788 0l132 621q-219 -91 -408 -91q-146 0 -226.5 69.5t-80.5 201.5q0 64 22 164l105 497h102l-102 -483q-25 -116 -25 -172q0 -92 57 -139t162 -47q195 0 412 90l160 751h100l-309 -1462h-101z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="1905" -d="M102 0l310 1462h100l-289 -1368h600l291 1368h100l-288 -1368h602l291 1368h100l-309 -1462h-1508z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="1970" -d="M1798 94l-98 -450h-105l80 356h-1573l310 1462h100l-289 -1368h600l291 1368h100l-288 -1368h602l291 1368h100l-289 -1368h168z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1262" -d="M1139 465q0 -223 -140 -344t-391 -121h-362l289 1368h-342l20 94h446l-139 -651h232q187 0 287 -89.5t100 -256.5zM502 721l-135 -631h239q205 0 315.5 92t110.5 277q0 134 -74.5 198t-224.5 64h-231z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1536" -d="M995 465q0 -222 -139 -343.5t-391 -121.5h-363l310 1462h104l-139 -651h231q187 0 287 -89.5t100 -256.5zM358 721l-135 -631h240q204 0 315 92t111 277q0 134 -74.5 198t-224.5 64h-232zM1243 0h-102l309 1462h102z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1118" -d="M995 465q0 -222 -139 -343.5t-391 -121.5h-363l310 1462h104l-139 -651h231q187 0 287 -89.5t100 -256.5zM358 721l-135 -631h240q204 0 315 92t111 277q0 134 -74.5 198t-224.5 64h-232z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1169" -d="M365 72q254 0 410.5 168t205.5 493h-666l17 96h659l2 72q0 239 -105.5 363.5t-309.5 124.5q-128 0 -306 -64l-26 94q114 38 195.5 51t150.5 13q250 0 380 -148.5t130 -423.5q0 -272 -95.5 -492t-259.5 -329.5t-382 -109.5q-206 0 -351 75v109q184 -92 351 -92z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2025" -d="M1964 911q0 -245 -88 -469.5t-248 -343t-375 -118.5q-250 0 -385 149t-135 430q0 96 8 160h-387l-149 -719h-103l310 1462h102l-139 -649h383q40 203 136.5 354.5t240.5 233.5t319 82q247 0 378.5 -148.5t131.5 -423.5zM1440 1389q-173 0 -307.5 -100.5t-214.5 -299 -t-80 -416.5q0 -245 109.5 -373t318.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1118" -d="M588 635l-514 -635h-125l532 662q-105 40 -165 132.5t-60 211.5q0 219 143 337.5t402 118.5h332l-310 -1462h-102l133 635h-266zM1012 1370h-197q-229 0 -343 -91.5t-114 -266.5q0 -133 82 -210t230 -77h204z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1061" -d="M98 434q0 240 67.5 465.5t178.5 363t252 183.5q93 30 259 63.5t241 44.5l12 -86l-63 -12q-306 -57 -429 -98q-133 -47 -231.5 -191.5t-153.5 -378.5h5q178 218 397 218q150 0 233.5 -99t83.5 -286q0 -188 -63.5 -340t-173.5 -226.5t-258 -74.5q-172 0 -264.5 117 -t-92.5 337zM469 66q116 0 202 69t131.5 192t45.5 281t-62.5 234t-171.5 76q-101 0 -196.5 -58t-200.5 -192q-6 -35 -12 -107t-6 -119q0 -192 65.5 -284t204.5 -92z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1065" -d="M674 1104q148 0 229.5 -70.5t81.5 -195.5q0 -119 -73 -193.5t-207 -103.5v-4q104 -17 162.5 -76.5t58.5 -151.5q0 -94 -50.5 -169t-146 -117.5t-227.5 -42.5q-194 0 -296 114.5t-102 327.5q0 185 73 343.5t203.5 248.5t293.5 90zM205 487l-2 -73q0 -169 80.5 -256.5 -t234.5 -87.5q144 0 224.5 62t80.5 169q0 186 -270 186h-348zM666 1018q-166 0 -290 -121.5t-163 -321.5h240q213 0 321.5 65t108.5 187q0 88 -56 139.5t-161 51.5z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="913" -d="M231 1030q121 42 171 53t94.5 16t85.5 5q136 0 207 -58.5t71 -166.5q0 -111 -76.5 -189t-267.5 -147q-152 -56 -214.5 -95t-92 -87t-29.5 -115q0 -87 55 -133.5t162 -46.5q164 0 328 73v-90q-66 -26 -149 -47.5t-191 -21.5q-146 0 -226.5 68.5t-80.5 193.5 -q0 82 35.5 144.5t108.5 113t227 110.5q148 59 203 93t80.5 73t25.5 90q0 75 -49 112.5t-140 37.5q-58 0 -141 -19.5t-168 -52.5z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1112" -d="M1032 975q0 -181 -51 -376t-137.5 -337t-196.5 -212t-237 -70q-147 0 -227.5 100t-80.5 274q0 184 74 355t196 265.5t269 94.5q217 0 283 -209h6q4 28 4 103q0 266 -72.5 395t-218.5 129q-53 0 -115.5 -19.5t-99.5 -42.5l-39 82q52 30 124 50t140 20q194 0 286.5 -148 -t92.5 -454zM426 70q161 0 290.5 174t188.5 473q-70 266 -268 266q-116 0 -216.5 -87.5t-158 -231t-57.5 -299.5q0 -295 221 -295z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1581" -d="M862 602h162q28 149 96.5 262t170.5 176.5t233 63.5q77 0 135 -17l-19 -92q-57 19 -127 19q-113 0 -206.5 -76t-150 -218.5t-56.5 -301.5q0 -177 59 -262.5t184 -85.5q53 0 113 10v-88q-72 -12 -121 -12q-334 0 -334 419q0 46 9 115h-166l-109 -514h-96l109 514h-158 -q-30 -160 -100 -280.5t-173 -187t-233 -66.5q-75 0 -135 16l18 92q56 -18 127 -18q116 0 210 79t149 219.5t55 297.5q0 177 -59 262.5t-185 85.5q-52 0 -112 -10v88q72 12 120 12q334 0 334 -420q0 -50 -4 -82h164l104 485h95z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="799" -d="M336 616q146 0 226.5 59.5t80.5 170.5q0 78 -52 125t-140 47q-61 0 -117.5 -17t-130.5 -63l-41 80q83 50 153 68t156 18q130 0 202 -65t72 -181q0 -113 -66 -187t-187 -98v-4q94 -20 142 -82.5t48 -158.5q0 -102 -51 -181.5t-145 -123t-222 -43.5q-86 0 -160 18.5 -t-122 46.5v109q139 -86 290 -86q143 0 225.5 68.5t82.5 185.5q0 107 -64.5 154.5t-206.5 47.5h-84l21 92h90z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM1059 1528q-17 -137 -110.5 -212 -t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="932" -d="M858 1087h146l-607 -534l404 -553h-127l-391 549l-113 -549h-98l225 1087h98l-110 -524z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1028" -d="M725 0h-96l215 1006q-38 6 -74 6q-92 0 -152 -39.5t-112 -134t-123 -306.5q-86 -255 -141 -354t-121 -143.5t-162 -44.5q-37 0 -61 8v90q29 -8 59 -8q74 0 122 38t94.5 131t121.5 312q84 249 146 348.5t143 143t200 43.5q81 0 172 -17z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1305" -d="M944 0l197 930q-17 -32 -39 -70t-531 -860h-67l-146 723q-6 29 -17.5 99t-12.5 102l-193 -924h-90l231 1087h101l153 -798q27 -158 27 -170q26 55 62.5 117t529.5 851h117l-234 -1087h-88z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1208" -d="M403 1087l-100 -479h625l104 479h101l-232 -1087h-102l110 516h-624l-111 -516h-100l233 1087h96z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1143" -d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1163" -d="M498 -16q-230 0 -279 219h-4q-13 -72 -149 -695h-99l336 1579h82l-45 -274h6q91 153 195.5 224t228.5 71q135 0 208 -92.5t73 -282.5q0 -195 -72 -371t-197.5 -277t-283.5 -101zM748 1018q-87 0 -174 -58.5t-161.5 -167.5t-110.5 -237.5t-36 -208.5q0 -125 61.5 -200.5 -t168.5 -75.5q124 0 225 84t164 243.5t63 325.5q0 295 -200 295z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="1751" -d="M711 0l147 674q25 125 25 162q0 182 -154 182q-106 0 -200 -67.5t-159 -188.5t-100 -287l-100 -475h-98l231 1087h80l-33 -210h6q80 113 181.5 170t212.5 57q106 0 163 -67t60 -195h6q77 129 181 195.5t222 66.5q117 0 182.5 -61.5t65.5 -176.5q0 -29 -2.5 -56.5 -t-19.5 -119.5l-152 -690h-100l149 680q25 120 25 176q0 77 -43 119.5t-119 42.5q-157 0 -277.5 -137.5t-168.5 -362.5l-109 -518h-102z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1249" -d="M786 1090q371 -39 371 -437q0 -185 -77 -339t-212 -234t-315 -80l-107 -492h-90l105 492q-169 14 -266 129t-97 309q0 185 72.5 333t208 231.5t315.5 84.5l99 469h94zM201 449q0 -164 70.5 -258t207.5 -105l197 913q-143 -3 -248 -68.5t-166 -196.5t-61 -285zM571 86 -q142 0 249.5 66t171 201.5t63.5 291.5q0 165 -73 256t-214 98z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="922" -d="M442 483l-393 -483h-121l471 559l-245 528h100l207 -462l373 462h120l-448 -534l258 -553h-98z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1169" -d="M381 1087l-152 -698q-22 -103 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-164 -765q-22 -104 -22 -170q0 -89 84 -89q23 0 63 7l-100 -435h-101l80 351q-67 13 -94 54.5t-27 119.5l2 51h-6q-84 -113 -187.5 -170 -t-217.5 -57q-133 0 -200.5 62t-67.5 181q0 60 22 170l150 690h100z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1096" -d="M336 1087q-69 -318 -75.5 -362t-6.5 -72q0 -74 44.5 -117.5t141.5 -43.5q163 0 290 135.5t175 369.5l19 90h98l-234 -1087h-102q50 229 75 345.5t70 281.5h-8q-161 -221 -401 -221q-128 0 -197 60t-69 177q0 74 22 176l58 268h100z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1751" -d="M1036 1087l-147 -673q-25 -125 -25 -162q0 -92 38 -137t116 -45q105 0 199 67.5t159 188t101 286.5l102 475h96l-231 -1087h-80l33 211h-6q-161 -227 -387 -227q-110 0 -167.5 67t-60.5 195h-6q-74 -126 -178.5 -194t-226.5 -68q-117 0 -182.5 61.5t-65.5 175.5 -q0 30 2.5 57.5t19.5 118.5l152 690h100l-149 -679q-25 -120 -25 -177q0 -75 42.5 -118t119.5 -43q156 0 278 139t168 364l109 514h102z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1778" -d="M1489 152q0 -89 84 -89q23 0 63 7l-100 -435h-100l80 351q-68 13 -95 53.5t-27 115.5l3 56h-6q-161 -227 -387 -227q-110 0 -167.5 67t-60.5 195h-6q-74 -126 -178.5 -194t-226.5 -68q-117 0 -182.5 61.5t-65.5 175.5q0 30 2.5 57.5t19.5 118.5l152 690h100l-149 -679 -q-25 -120 -25 -177q0 -75 42.5 -118t119.5 -43q156 0 278 139t168 364l109 514h102l-147 -673q-25 -125 -25 -162q0 -92 38 -137t116 -45q105 0 199 67.5t159 188t101 286.5l102 475h96l-164 -765q-22 -104 -22 -170z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1139" -d="M426 588l56 10q117 20 214 20q340 0 340 -280q0 -162 -111.5 -260t-303.5 -98q-163 0 -249.5 79t-86.5 232q0 98 30 248l101 467h-334l20 81h433zM678 532q-78 0 -147 -10.5t-123 -19.5q-25 -118 -25 -195q0 -122 57 -179.5t189 -57.5q142 0 223.5 69t81.5 191 -q0 103 -64 152.5t-192 49.5z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1389" -d="M1081 0h-98l234 1087h96zM283 588l56 10q117 20 214 20q340 0 340 -280q0 -162 -111.5 -260t-304.5 -98q-163 0 -249.5 79t-86.5 232q0 93 31 248l119 548h100zM535 532q-78 0 -147.5 -10.5t-123.5 -19.5q-24 -120 -24 -195q0 -122 56.5 -179.5t188.5 -57.5 -q143 0 224.5 69t81.5 191q0 104 -64.5 153t-191.5 49z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="995" -d="M283 588l56 10q117 20 214 20q340 0 340 -280q0 -162 -111.5 -260t-304.5 -98q-163 0 -249.5 79t-86.5 232q0 93 31 248l119 548h100zM535 532q-78 0 -147.5 -10.5t-123.5 -19.5q-24 -120 -24 -195q0 -122 56.5 -179.5t188.5 -57.5q143 0 224.5 69t81.5 191 -q0 104 -64.5 153t-191.5 49z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="905" -d="M440 1108q178 0 272.5 -105.5t94.5 -302.5q0 -208 -71.5 -377.5t-198 -256t-295.5 -86.5q-56 0 -120 12t-112 33v102q53 -27 118 -42t122 -15q176 0 287.5 115t152.5 341h-524l18 88h516q5 33 5 70q0 172 -68 255t-207 83q-48 0 -98 -11t-158 -53l-27 84 -q88 35 125.5 45.5t80 15.5t87.5 5z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1542" -d="M1096 1108q174 0 270 -105.5t96 -302.5q0 -203 -70.5 -374t-190.5 -258.5t-281 -87.5q-182 0 -273.5 108t-91.5 315q0 54 6 113h-276l-111 -516h-100l233 1087h96l-100 -479h275q51 231 187.5 365.5t330.5 134.5zM1087 1022q-122 0 -218.5 -77t-154 -224t-57.5 -313 -q0 -179 68 -260.5t205 -81.5q125 0 221.5 76.5t152.5 229.5t56 330q0 158 -69.5 239t-203.5 81z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1038" -d="M594 481q-83 0 -135.5 -19.5t-90.5 -63.5t-94 -169q-51 -114 -83.5 -154.5t-73.5 -61.5t-103 -21q-33 0 -51 6v84q12 -4 39 -4q60 0 96.5 34.5t87.5 151.5q47 111 93.5 164.5t111.5 77.5q-104 20 -160.5 82t-56.5 162q0 105 48 180t132 116t189 41h420l-232 -1087h-98 -l104 481h-143zM555 1006q-130 0 -204.5 -67.5t-74.5 -184.5q0 -195 277 -195h201l94 447h-293z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM738 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM792 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM448 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1153" -d="M348 1278h-145l18 82h146l39 196h98l-41 -196h373l-19 -82h-371q-51 -245 -67 -309t-27 -103h6q171 238 416 238q124 0 192 -63.5t68 -184.5q0 -70 -24 -182l-187 -858q-35 -162 -105 -235t-190 -73q-65 0 -112 19v92q58 -22 112 -22q87 0 131.5 54t69.5 175l184 866 -q21 92 21 156q0 170 -178 170q-110 0 -209 -67t-166.5 -185.5t-104.5 -288.5l-102 -477h-98z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="913" -d="M231 1030q121 42 171 53t94.5 16t85.5 5q136 0 207 -58.5t71 -166.5q0 -111 -76.5 -189t-267.5 -147q-152 -56 -214.5 -95t-92 -87t-29.5 -115q0 -87 55 -133.5t162 -46.5q164 0 328 73v-90q-66 -26 -149 -47.5t-191 -21.5q-146 0 -226.5 68.5t-80.5 193.5 -q0 82 35.5 144.5t108.5 113t227 110.5q148 59 203 93t80.5 73t25.5 90q0 75 -49 112.5t-140 37.5q-58 0 -141 -19.5t-168 -52.5zM493 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="895" -d="M475 -20q-180 0 -278.5 111t-98.5 306q0 196 75 365.5t200 255.5t286 86q135 0 242 -43l-29 -90q-107 47 -217 47q-153 0 -268 -106.5t-164 -305.5h535l-21 -84h-528q-8 -54 -8 -123q0 -160 72.5 -244.5t209.5 -84.5q69 0 129.5 13t132.5 46v-92q-123 -57 -270 -57z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="827" -d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 -q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM540 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM196 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="475" -d="M-166 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1493" -d="M821 596q149 22 238 22q167 0 249.5 -68.5t82.5 -211.5q0 -160 -108.5 -259t-287.5 -99q-156 0 -237.5 80.5t-81.5 228.5q0 26 3.5 64t9.5 77.5t112 577.5q-21 4 -51 4q-119 0 -198 -104t-169 -376q-84 -254 -139 -354t-122 -144t-163 -44q-32 0 -61 8v90q32 -8 59 -8 -q75 0 123.5 38.5t95 133t119.5 309.5q42 122 82 221t92.5 168.5t125 107.5t179.5 38q65 0 144 -17zM1040 532q-115 0 -235 -22q-29 -132 -29 -207q0 -233 223 -233q134 0 211.5 70.5t77.5 189.5q0 101 -59.5 151.5t-188.5 50.5z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1595" -d="M883 588l56 10q117 20 214 20q340 0 340 -280q0 -162 -111.5 -260t-304.5 -98q-163 0 -249.5 79t-86.5 232q0 98 25 225h-481l-111 -516h-100l233 1087h96l-100 -479h483l105 479h100zM1135 532q-78 0 -147.5 -10.5t-123.5 -19.5q-24 -120 -24 -195q0 -122 56.5 -179.5 -t188.5 -57.5q143 0 224.5 69t81.5 191q0 104 -64.5 153t-191.5 49z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1153" -d="M760 0l153 698q21 101 21 156q0 81 -48 122.5t-134 41.5q-171 0 -298.5 -141.5t-179.5 -395.5l-100 -481h-98l272 1282h-143l16 78h144l41 196h98l-41 -196h373l-17 -78h-373q-68 -315 -94 -408h10q93 124 191 177t215 53q129 0 197.5 -62t68.5 -182q0 -62 -22 -170 -l-150 -690h-102z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="932" -d="M858 1087h146l-607 -534l404 -553h-127l-391 549l-113 -549h-98l225 1087h98l-110 -524zM592 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM766 1241h-66q-50 52 -114 144.5 -t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM933 1528q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58 -t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1143" -d="M500 -86h32l-90 -406h-90l88 390zM381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="1876" -d="M1462 1389q-59 0 -105.5 -16.5t-92.5 -41.5l-45 84q119 68 254 68q335 0 335 -443q0 -189 -54 -396t-145.5 -365.5t-201.5 -228.5t-250 -70q-112 0 -185 50t-95 142q-41 -87 -130.5 -139.5t-195.5 -52.5q-183 0 -282 122.5t-99 368.5q0 260 85 504.5t218.5 376 -t310.5 131.5q134 0 234 -72l-57 -86q-90 64 -187 64q-93 0 -182.5 -70t-163 -208.5t-114 -308t-40.5 -321.5q0 -409 283 -409q122 0 193 75t106 234l53 244h109l-41 -201q-19 -89 -19 -143q0 -209 207 -209q116 0 209.5 76.5t167.5 224t118 331.5t44 340q0 170 -61.5 257.5 -t-180.5 87.5z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1352" -d="M242 0l-127 1087h98l76 -677q24 -239 30 -312l340 480l-69 509h98l92 -655q28 -203 37 -334q179 179 293 418t178 571h98q-62 -355 -196.5 -619t-349.5 -468h-99l-61 457h-4l-320 -457h-114z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1262" -d="M1139 465q0 -223 -140 -344t-391 -121h-362l246 1161h-314l21 94h313l68 301h104l-68 -301h410l-18 -94h-412l-76 -350h232q187 0 287 -89.5t100 -256.5zM502 721l-135 -631h239q205 0 315.5 92t110.5 277q0 134 -74.5 198t-224.5 64h-231z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1022" -d="M416 1087h284l-18 -81h-283l-90 -418l56 10q117 20 215 20q340 0 340 -280q0 -162 -111.5 -260t-304.5 -98q-163 0 -249.5 79t-86.5 232q0 105 31 248l100 467h-227l16 81h227l52 232h100zM561 532q-77 0 -146.5 -10.5t-123.5 -19.5q-25 -118 -25 -195q0 -122 57 -179.5 -t189 -57.5q144 0 224.5 69.5t80.5 190.5q0 103 -64 152.5t-192 49.5z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1735" -d="M1526 1389q-236 0 -408.5 -153.5t-243.5 -422.5h678l-18 -94h-678q-7 -34 -11.5 -91t-4.5 -89q0 -226 111.5 -346.5t316.5 -120.5q139 0 303 51v-94q-156 -49 -316 -49q-252 0 -386 143t-134 412q0 96 15 184h-396l-149 -719h-103l310 1462h102l-139 -649h393 -q48 202 155 353t262.5 234t340.5 83q177 0 307 -68l-45 -90q-111 64 -262 64z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1356" -d="M936 -20q-180 0 -278.5 111t-98.5 306q0 74 8 125h-280l-113 -522h-100l233 1087h96l-100 -481h279q52 234 195 366t343 132q135 0 242 -43l-29 -90q-107 47 -217 47q-153 0 -268 -106.5t-164 -305.5h535l-21 -84h-528q-8 -54 -8 -123q0 -160 72.5 -244.5t209.5 -84.5 -q69 0 129.5 13t132.5 46v-92q-123 -57 -270 -57z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1159" -d="M528 0h-94l156 725h-166l-426 -725h-109l863 1462h69l248 -1462h-96l-125 725h-168zM756 1315q-15 -36 -57 -115.5t-86 -154t-138 -232.5h359l-35 209q-36 204 -39 293h-4z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1001" -d="M680 1087l188 -1087h-98l-82 510h-137l-109 -510h-94l115 510h-125l-309 -510h-99l652 1087h98zM610 989q-72 -144 -225 -399h291q-52 305 -60 399h-6z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1647" -d="M1016 0h-94l155 725h-166l-426 -725h-108l426 725h-447l-151 -725h-103l310 1462h102l-139 -649h481l383 649h70l247 -1462h-96l-125 725h-168zM1243 1315q-15 -37 -59 -120t-99 -175l-122 -207h358l-35 209q-36 204 -39 293h-4z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1341" -d="M1020 1087l188 -1087h-98l-82 510h-137l-109 -510h-94l115 510h-125l-309 -510h-99l305 510h-296l-109 -510h-94l233 1087h94l-106 -497h326l299 497h98zM950 989q-72 -144 -225 -399h291q-52 305 -60 399h-6z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1315" -d="M-61 0l247 512q70 143 124 202t128 89t178 33l-276 536l18 90h1018l-20 -86l-522 -540q109 -7 173.5 -44.5t97 -106.5t42.5 -224l31 -461h-105l-31 471q-8 120 -34 174.5t-79 79.5t-147 25h-16l-166 -750h-98l160 750h-19q-98 0 -157.5 -22.5t-106 -77t-107.5 -181.5 -l-225 -469h-108zM721 836l502 536h-772z" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1247" -d="M-98 0l202 367q57 105 110.5 156t127 79t176.5 35l-258 381l10 69h895l-12 -69l-418 -381q98 -11 159.5 -45t96.5 -95t53 -178l54 -319h-99l-51 311q-23 140 -84.5 191t-208.5 53l-118 -555h-95l119 555q-113 -3 -170.5 -22.5t-103 -63.5t-90.5 -125l-187 -344h-108z -M623 637l391 369h-637z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="1827" -d="M451 0l247 512q41 85 80.5 139.5t93.5 89.5h-512l-155 -741h-103l310 1462h102l-133 -626h745l-274 536l18 90h1018l-20 -86l-522 -540q109 -7 173.5 -44.5t97 -106.5t42.5 -224l31 -461h-105l-31 471q-8 120 -34 174.5t-79 79.5t-147 25h-16l-166 -750h-98l160 750h-19 -q-98 0 -157.5 -22.5t-106 -77t-107.5 -181.5l-225 -469h-108zM1233 836l502 536h-772z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1614" -d="M268 0l203 367q35 63 68.5 105t81.5 73h-330l-117 -545h-100l233 1087h96l-94 -450h576l-258 381l10 69h895l-12 -69l-418 -381q97 -11 158 -45t96 -94t55 -179l53 -319h-98l-51 311q-23 140 -84.5 191t-208.5 53l-119 -555h-94l119 555h-13q-134 0 -210 -45t-142 -166 -l-186 -344h-109zM989 637l391 369h-637z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1020" -d="M795 422q0 289 -373 289h-182l18 96h178q131 0 237 45t158 123.5t52 183.5q0 114 -68 176t-190 62q-95 0 -178 -33.5t-162 -85.5l-54 76q88 60 177.5 91.5t201.5 37.5q-30 59 -77 127.5t-80 99.5v21h94q62 -72 137 -205q64 94 98 130t67.5 55.5t68.5 19.5q34 0 63 -13 -v-78q-38 7 -53 7q-37 0 -86.5 -45t-102.5 -127q117 -23 182.5 -102.5t65.5 -203.5q0 -160 -91 -263.5t-267 -145.5v-4q128 -23 205 -111t77 -219q0 -206 -147.5 -324t-441.5 -139q-167 -11 -231 -42.5t-64 -96.5q0 -52 40.5 -81.5t108.5 -29.5l75 3q190 12 267 12 -q153 0 225 -37v-111q-94 47 -249 47l-78 -2q-180 -10 -246 -10q-112 0 -183 53.5t-71 141.5q0 79 39.5 129t115 78t238.5 42q188 16 287 57.5t149 117t50 188.5z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="834" -d="M567 1098q96 -17 147.5 -82t51.5 -158q0 -113 -65.5 -187t-188.5 -98v-4q89 -18 139.5 -76.5t50.5 -150.5q0 -103 -45.5 -172t-137 -112t-265.5 -72q-160 -27 -213 -60t-53 -92q0 -94 143 -94q56 0 224 10l69 2q77 0 127 -10t92 -33v-96q-92 47 -229 47l-66 -2 -q-155 -10 -229 -10q-118 0 -175 48t-57 132q0 69 34.5 115t106 76.5t228.5 58.5q198 34 271 91.5t73 168.5q0 97 -65 141.5t-205 44.5h-84l20 92h90q149 0 228.5 61.5t79.5 168.5q0 78 -52.5 125t-140.5 47q-61 0 -117.5 -17t-130.5 -63l-41 80q118 73 258 86 -q-32 64 -79.5 130.5t-79.5 96.5v21h94q61 -69 137 -205q64 94 98 130t67.5 55.5t67.5 19.5q35 0 64 -13v-77q-33 6 -53 6q-38 0 -87 -44.5t-102 -125.5z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1419" -d="M770 455h-12l-96 -455h-103l96 455h-8q-212 0 -325 100.5t-113 292.5q0 102 29 239l79 375h103q-55 -258 -85.5 -399.5t-25.5 -206.5q0 -160 86 -236.5t267 -76.5h12l194 919h103l-195 -919h10q235 0 360.5 105t178.5 351l100 463h101l-105 -485q-56 -275 -214.5 -398.5 -t-436.5 -123.5z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1364" -d="M950 1556q-237 -1094 -317 -1478q286 17 418.5 257.5t132.5 751.5h102q0 -391 -74.5 -624t-224 -347.5t-373.5 -123.5l-102 -484h-94l102 484q-180 17 -273 120.5t-93 278.5q0 96 30 238l99 458h102l-98 -454q-31 -139 -31 -232q0 -293 283 -323q118 547 184.5 851.5 -t132.5 626.5h94z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1464" -d="M1403 911q0 -189 -53.5 -370t-145 -304.5t-222 -190t-290.5 -66.5q-253 0 -386.5 150t-133.5 429q0 256 91.5 472.5t254.5 334t375 117.5q248 0 379 -148.5t131 -423.5zM705 72q223 0 371.5 162.5t199.5 459.5h-993q-7 -65 -7 -121q0 -246 110 -373.5t319 -127.5z -M879 1389q-221 0 -376 -162t-206 -441h993l4 115q0 244 -107 366t-308 122z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM483 66q160 0 271 119.5t151 330.5h-698q-6 -56 -6 -108q0 -342 282 -342zM641 1022q-151 0 -263 -114.5 -t-157 -307.5h697q6 52 6 102q0 154 -73 237t-210 83z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1096" -d="M457 147q18 47 61.5 143t417.5 888q60 126 107.5 184t104.5 85.5t132 27.5q43 0 72 -7v-84q-29 9 -72 9q-77 0 -132 -52t-130 -206l-547 -1135h-88l-182 1462h100l117 -950q27 -228 35 -365h4z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="877" -d="M104 1087h101l108 -735q26 -178 33 -254h6l63 157l238 556q53 125 94.5 180.5t92 84t118.5 28.5q48 0 72 -10v-78q-28 10 -72 10q-60 0 -107 -49.5t-106 -185.5l-356 -791h-113z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1096" -d="M457 147q18 47 61.5 143t417.5 888q60 126 107.5 184t104.5 85.5t132 27.5q43 0 72 -7v-84q-29 9 -72 9q-77 0 -132 -52t-130 -206l-547 -1135h-88l-182 1462h100l117 -950q27 -228 35 -365h4zM602 1579h-74q-47 47 -116 147t-99 160v21h125q49 -137 164 -303v-25z -M933 1579h-73q-47 47 -116 147t-99 160v21h125q47 -132 163 -303v-25z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="877" -d="M104 1087h101l108 -735q26 -178 33 -254h6l63 157l238 556q53 125 94.5 180.5t92 84t118.5 28.5q48 0 72 -10v-78q-28 10 -72 10q-60 0 -107 -49.5t-106 -185.5l-356 -791h-113zM400 1241h-74q-47 47 -116 147t-99 160v21h125q49 -137 164 -303v-25zM731 1241h-73 -q-47 47 -116 147t-99 160v21h125q47 -132 163 -303v-25z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2390" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1593 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="1974" -d="M1178 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM651 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5 -t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM643 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1464" -d="M1403 911q0 -241 -84.5 -458t-229.5 -335t-331 -134q-11 -39 -39.5 -58.5t-63.5 -19.5q-38 0 -66.5 22.5t-37.5 65.5q-185 38 -282 183.5t-97 381.5q0 249 84.5 458t234.5 328.5t345 135.5q12 37 39.5 56t62.5 19q38 0 67.5 -22.5t38.5 -69.5q175 -41 267 -182.5 -t92 -370.5zM938 1303q-82 0 -104 83q-161 -12 -285 -116t-198.5 -295.5t-74.5 -401.5q0 -196 71.5 -319t209.5 -164q12 34 38 52t60 18q38 0 67 -21.5t40 -64.5q155 17 272.5 120.5t188.5 298t71 408.5q0 378 -258 465q-28 -63 -98 -63z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1124" -d="M684 1171q35 0 60.5 -20.5t33.5 -60.5q121 -36 184.5 -136t63.5 -254q0 -185 -62.5 -347t-169 -255.5t-247.5 -111.5q-23 -72 -92 -72q-34 0 -59.5 20t-33.5 58q-134 31 -199 137.5t-65 273.5q0 178 62.5 334.5t175 253.5t258.5 113q23 67 90 67zM684 942q-34 0 -59 19.5 -t-33 56.5q-113 -15 -201 -98.5t-139 -222t-51 -289.5q0 -265 166 -324q24 59 88 59q74 0 92 -73q113 20 196 104t132 227t49 301q0 107 -38 183.5t-116 111.5q-24 -55 -86 -55z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="1876" -d="M1116 72q142 0 243.5 71.5t178 217t121.5 332t45 351.5q0 170 -61.5 257.5t-180.5 87.5q-59 0 -105.5 -16.5t-92.5 -41.5l-45 84q119 68 254 68q335 0 335 -443q0 -278 -98 -545t-239.5 -391t-346.5 -124q-146 0 -274 73q-98 -43 -160 -58t-119 -15q-193 0 -297 125 -t-104 366q0 260 85 504.5t218.5 376t310.5 131.5q134 0 234 -72l-57 -86q-90 64 -187 64q-93 0 -182.5 -70t-163 -208.5t-114 -308t-40.5 -321.5q0 -205 78 -307t228 -102q85 0 156.5 27t119.5 61q53 -38 122.5 -63t137.5 -25zM1620 1942l-16 -82h-17q-75 0 -134 20t-122 51 -q-42 20 -81.5 33.5t-86.5 13.5q-62 0 -102.5 -30.5t-50.5 -85.5h-99q22 94 86.5 144t159.5 50q48 0 99 -11.5t143 -51.5q75 -34 116 -42.5t84 -8.5h21zM1309 1790q0 -74 -56 -130.5t-143 -74.5l10 62q43 10 71 35t28 47q0 21 -14 28.5t-36 18.5q-14 8 -29.5 20t-15.5 35 -q0 31 21.5 47t56.5 16q51 0 79 -27.5t28 -76.5z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1475" -d="M842 72q130 0 217 76t152 261.5t65 360.5q0 115 -42.5 178.5t-127.5 63.5q-76 0 -158 -47l-43 82q109 57 207 57q264 0 264 -334q0 -216 -77 -419.5t-189 -287t-262 -83.5q-111 0 -209 53q-112 -53 -211 -53q-152 0 -235.5 93.5t-83.5 288.5q0 194 68 376t170 274t233 92 -q101 0 180 -62l-55 -84q-67 54 -134 54q-80 0 -161 -75t-141 -243.5t-60 -322.5q0 -299 225 -299q62 0 118 20t93 45q39 -29 93 -47t104 -18zM1315 1636l-17 -82h-16q-55 0 -110 14t-146 58q-42 20 -81.5 33.5t-86.5 13.5q-62 0 -102.5 -30.5t-50.5 -86.5h-99 -q22 94 86.5 144.5t159.5 50.5q47 0 98.5 -11.5t143.5 -51.5q76 -35 114 -43.5t86 -8.5h21zM1004 1485q0 -74 -56 -130.5t-143 -74.5l10 61q40 10 69 35.5t29 46.5q0 25 -29 38q-8 4 -18 8.5t-28.5 18.5t-18.5 38q0 31 21.5 47t56.5 16q51 0 79 -27.5t28 -76.5z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="1876" -d="M1462 1389q-59 0 -105.5 -16.5t-92.5 -41.5l-45 84q119 68 254 68q335 0 335 -443q0 -189 -54 -396t-145.5 -365.5t-201.5 -228.5t-250 -70q-112 0 -185 50t-95 142q-41 -87 -130.5 -139.5t-195.5 -52.5q-183 0 -282 122.5t-99 368.5q0 260 85 504.5t218.5 376 -t310.5 131.5q134 0 234 -72l-57 -86q-90 64 -187 64q-93 0 -182.5 -70t-163 -208.5t-114 -308t-40.5 -321.5q0 -409 283 -409q122 0 193 75t106 234l53 244h109l-41 -201q-19 -89 -19 -143q0 -209 207 -209q116 0 209.5 76.5t167.5 224t118 331.5t44 340q0 170 -61.5 257.5 -t-180.5 87.5zM1573 1788l-6 -27l-115 -164h-12l-29 117h-203l-80 -117h-12l-31 117h-202l-78 -117h-12l-45 164l6 27h819z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1352" -d="M242 0l-127 1087h98l76 -677q24 -239 30 -312l340 480l-69 509h98l92 -655q28 -203 37 -334q179 179 293 418t178 571h98q-62 -355 -196.5 -619t-349.5 -468h-99l-61 457h-4l-320 -457h-114zM1217 1456l-7 -26l-114 -164h-13l-28 116h-203l-80 -116h-12l-31 116h-203 -l-77 -116h-13l-45 164l6 26h820z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -221 108.5 -344t297.5 -123q54 0 84 8l-125 -572h-102l102 474q-222 9 -345.5 154.5t-123.5 398.5q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-128 64 -262 64z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="887" -d="M487 70q88 0 164 36l-129 -598h-98l100 469l-31 -1q-189 0 -290 111t-101 310q0 193 75.5 363t200.5 257t286 87q134 0 241 -43l-28 -90q-107 47 -218 47q-131 0 -235 -77.5t-161.5 -220.5t-57.5 -321q0 -154 74 -241.5t208 -87.5z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M561 420l285 -166l-39 -66l-285 164l-180 -313l-72 41l181 315l-283 166l39 64l285 -164l231 403l-283 164l37 68l285 -164l182 309l70 -37l-183 -315l287 -164l-41 -66l-282 164z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1174" -d="M532 1278q-6 -86 -88 -86q-34 0 -52.5 18t-18.5 47q0 44 29 69.5t87 25.5h443q5 43 26 64.5t64 21.5q34 0 54 -17t20 -51q0 -87 -121 -92h-443z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1214" -d="M434 1343q52 0 112.5 11.5t160.5 46.5q58 20 116.5 36.5t124.5 16.5q88 0 140.5 -38t52.5 -105q0 -31 -4 -47h-93q5 13 5 30q0 86 -105 86q-44 0 -93.5 -12.5t-148.5 -48.5q-164 -57 -278 -57h-21l17 81h14z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1214" -d="M655 1464q0 44 24 72.5t62 28.5q80 0 80 -62q0 -39 -37 -51q-43 -17 -43 -37q0 -57 119 -94v-66q-106 34 -155.5 89t-49.5 120z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1214" -d="M891 1464q0 -75 -53 -128.5t-152 -80.5v66q119 37 119 94q0 20 -43 37q-20 10 -26 18t-8.5 16t-2.5 17q0 62 80 62q38 0 62 -28.5t24 -72.5z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1135 1231q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194q93 0 149.5 -50.5t63.5 -143.5h-79zM1135 -319q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5q92 0 149.5 -51t63.5 -143h-79zM1714 -41q-5 45 -35 66.5 -t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 -41q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1714 946q-5 45 -35 66.5t-98 21.5 -q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 946q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1905 459q-5 44 -35 66t-98 22q-78 0 -103.5 -20 -t-30.5 -68h-75q11 194 209 194q92 0 149.5 -52t63.5 -142h-80zM383 459q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52q92 0 149.5 -51t63.5 -143h-80z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1079 -35l11 -14q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM1567 651l14 11q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM881 1141l-11 14q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1565 -211q-31 50 -96 147.5t-103 149.5l98 98 -l17 -2q39 -69 84 -166t67 -157zM633 45l-2 -16q-155 -89 -324 -152l-69 68q177 110 297 198zM492 877l-17 2q-82 140 -151 323l67 70q123 -198 199 -297zM1651 1186l69 -68q-177 -110 -297 -198l-98 98l2 16q67 39 162 83t162 69zM391 453l-14 -11q-66 17 -161.5 52 -t-174.5 71v97q221 -53 350 -70v-139z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1430" -d="M412 1462h102l-186 -878q-41 -197 -95 -406l1035 1284h110l-291 -1368h164l-217 -450h-114l208 356h-161l184 864q54 261 102 443l-1050 -1307h-101zM1251 1866q-17 -137 -110.5 -212t-243.5 -75q-133 0 -201.5 55t-68.5 158q0 40 12 74h82q-8 -45 -8 -62 -q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1169" -d="M381 1087l-152 -698q-22 -106 -22 -162q0 -74 47.5 -115.5t138.5 -41.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-215 -1007h164l-201 -447h-117l207 367h-149l28 205h-6q-167 -221 -403 -221q-132 0 -199 62t-67 181q0 60 22 170l150 690h100zM1059 1530 -q-17 -136 -110.5 -211.5t-243.5 -75.5q-140 0 -205.5 58t-65.5 155q0 40 12 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t144.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1118" -d="M995 465q0 -222 -139 -343.5t-391 -121.5h-363l246 1169h-162l21 95h162l43 198h104l-43 -198h328l-19 -95h-329l-76 -358h231q187 0 287 -89.5t100 -256.5zM358 721l-135 -631h240q204 0 315 92t111 277q0 134 -74.5 198t-224.5 64h-232z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="995" -d="M430 1284h244l-19 -82h-241l-131 -614l56 10q117 20 214 20q340 0 340 -280q0 -162 -111.5 -260t-304.5 -98q-163 0 -249.5 79t-86.5 232q0 93 31 248l141 663h-166l17 82h166l61 272h101zM535 532q-78 0 -147.5 -10.5t-123.5 -19.5q-24 -120 -24 -195 -q0 -122 56.5 -179.5t188.5 -57.5q143 0 224.5 69t81.5 191q0 104 -64.5 153t-191.5 49z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1145" -d="M1145 1102q0 -328 -264 -440l98 -201l-84 -41l-104 211q-110 -29 -256 -29h-201l-129 -602h-103l310 1462h315q202 0 310 -92.5t108 -267.5zM350 694h191q123 0 209 21l-95 196l86 41l99 -207q102 47 149 134t47 217q0 274 -329 274h-211z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1149" -d="M498 -16q-230 0 -279 219h-4l-37 -180l-112 -515h-99l336 1579h82l-45 -274h6q91 153 195.5 224t228.5 71q135 0 208 -92.5t73 -282.5q0 -210 -83 -396t-225 -280l103 -209l-84 -41l-100 207q-78 -30 -164 -30zM748 1018q-87 0 -174 -58.5t-161.5 -167.5t-110.5 -237.5 -t-36 -208.5q0 -125 61.5 -200.5t168.5 -75.5q68 0 127 24l-101 205l86 41l97 -201q108 82 175.5 247t67.5 337q0 295 -200 295z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="946" -d="M1014 1462l65 293h105l-86 -387h-602l-291 -1368h-103l310 1462h602z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="698" -d="M784 1006h-403l-211 -1006h-98l227 1087h408l69 326h96z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="932" -d="M1120 1462l-20 -94h-604l-129 -602h335l-18 -82h-334l-145 -684h-103l146 684h-146l19 82h143l148 696h708z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="698" -d="M72 0l106 514h-155l18 80h154l104 493h504l-19 -81h-403l-86 -412h274l-18 -80h-275l-106 -514h-98z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1167" -d="M485 705q-62 0 -131 -9l-145 -696h-107l310 1462h708l-20 -94h-604l-123 -582q68 11 129 11q236 0 365.5 -134.5t129.5 -377.5q0 -237 -87 -424.5t-238.5 -280t-356.5 -92.5q-134 0 -229 41v104q119 -51 238 -51q169 0 295.5 81t200 247t73.5 369q0 201 -108.5 313.5 -t-299.5 112.5z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="918" -d="M287 -498q-102 0 -178 37v99q88 -48 186 -48q122 0 215 79.5t144 222.5t51 317q0 154 -75 242t-208 88q-79 0 -143 -17l-109 -522h-98l227 1087h504l-19 -81h-403l-82 -390q57 13 133 13q112 0 195.5 -47.5t131.5 -141t48 -229.5q0 -202 -67.5 -370.5t-184.5 -253.5 -t-268 -85z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1591" -d="M641 760l-424 702h125l414 -704l147 704h103l-152 -706l692 706h140l-717 -725l379 -643h149l-98 -450h-105l80 356h-94l-430 737l-154 -737h-102l158 739l-699 -739h-141z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1634" -d="M1362 -18l-13 -2h-14q-334 0 -334 419q0 46 9 115h-166l-109 -514h-96l109 514h-158q-30 -160 -100 -280.5t-173 -187t-233 -66.5q-75 0 -135 16l18 92q56 -18 127 -18q116 0 210 79t149 219.5t55 297.5q0 177 -59 262.5t-185 85.5q-52 0 -112 -10v88q72 12 120 12 -q334 0 334 -420q0 -50 -4 -82h164l104 485h95l-103 -485h162q28 149 96.5 262t170.5 176.5t233 63.5q77 0 135 -17l-19 -92q-57 19 -127 19q-113 0 -206.5 -76t-150 -218.5t-56.5 -301.5q0 -177 59 -262.5t184 -85.5q47 0 146 22l-105 -457h-100z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1020" -d="M987 1169q0 -160 -91 -263.5t-267 -145.5v-4q130 -23 199 -110.5t69 -227.5q0 -130 -67.5 -232.5t-187 -154t-284.5 -51.5q-211 0 -389 79v117q183 -106 402 -106q204 0 314 93.5t110 260.5q0 287 -373 287h-182l18 96h178q131 0 237 45t158 123.5t52 183.5 -q0 114 -67 176t-191 62q-168 0 -340 -119l-54 76q190 129 406 129q165 0 257.5 -82t92.5 -232zM269 -340q118 0 118 160q0 100 -32 180h84q43 -115 43 -190q0 -102 -54.5 -163t-158.5 -61q-50 0 -82 15l14 69q27 -10 68 -10z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="799" -d="M336 616q146 0 226.5 59.5t80.5 170.5q0 78 -52 125t-140 47q-61 0 -117.5 -17t-130.5 -63l-41 80q83 50 153 68t156 18q130 0 202 -65t72 -181q0 -113 -66 -187t-187 -98v-4q94 -20 142 -82.5t48 -158.5q0 -102 -51 -181.5t-145 -123t-222 -43.5q-86 0 -160 18.5 -t-122 46.5v109q139 -86 290 -86q143 0 225.5 68.5t82.5 185.5q0 107 -64.5 154.5t-206.5 47.5h-84l21 92h90zM179 -340q118 0 118 160q0 100 -32 180h84q43 -115 43 -190q0 -102 -54.5 -163t-158.5 -61q-50 0 -82 15l14 69q27 -10 68 -10z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1192" -d="M967 94h161l-98 -450h-104l80 356h-95l-555 729l-151 -729h-103l310 1462h102l-158 -727l787 727h143l-809 -733z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="969" -d="M858 1087h146l-607 -534l344 -473h123l-102 -445h-100l81 365h-69l-391 549l-113 -549h-98l225 1087h98l-110 -524z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1106" -d="M504 770l-168 -135l-131 -635h-103l310 1462h102l-156 -712l172 147l54 248h86l-33 -156l532 473h138l-699 -610l371 -852h-111l-297 684l-67 -315h-86z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="854" -d="M514 1014h86l-43 -203l301 276h146l-478 -421l-49 -226l324 -440h-127l-223 313l-48 -223h-86l68 316l-102 143l-113 -549h-98l225 1087h98l-110 -524l166 152z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1079" -d="M979 0h-111l-342 788l-190 -153l-131 -635h-103l246 1165h-164l19 82h164l45 215h102l-47 -215h223l-18 -82h-223l-93 -426l133 121l680 602h138l-699 -610z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="883" -d="M270 477l609 610h125l-474 -469l297 -618h-106l-264 559l-205 -188l-80 -371h-96l270 1282h-141l16 78h141l44 196h96l-43 -196h377l-17 -78h-377l-106 -506l-70 -299h4z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1237" -d="M502 735l786 727h144l-809 -733l563 -729h-129l-555 729l-152 -729h-102l289 1368h-344l20 94h446z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1071" -d="M82 1006l20 81h433l-111 -524l573 524h146l-606 -534l403 -553h-127l-391 549l-113 -549h-98l209 1006h-338z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1423" -d="M963 0l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100l-289 -1368h168l-98 -450h-104l79 356h-165z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1235" -d="M403 1087l-100 -479h625l104 479h101l-215 -1003h178l-103 -449h-100l84 365h-178l110 516h-624l-111 -516h-100l233 1087h96z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1532" -d="M1720 1368h-368l-289 -1368h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h467z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1386" -d="M901 0h-102l110 516h-624l-111 -516h-100l233 1087h96l-100 -479h625l104 479h434l-20 -81h-330z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2001" -d="M1063 0h-100l288 1366h-757l-289 -1366h-103l310 1462h960l-143 -676q68 11 129 11q236 0 365.5 -134.5t129.5 -377.5q0 -237 -87 -424.5t-238.5 -280t-356.5 -92.5q-134 0 -229 41v104q119 -51 238 -51q169 0 295.5 81t200 247t73.5 369q0 201 -108.5 313.5 -t-299.5 112.5q-62 0 -131 -9z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1626" -d="M1128 1087l-100 -471q68 13 135 13q112 0 195.5 -47.5t131.5 -141t48 -229.5q0 -202 -67.5 -370.5t-184.5 -253.5t-268 -85q-104 0 -178 37v99q88 -48 186 -48q122 0 215 79.5t144 222.5t51 317q0 154 -75 242t-208 88q-63 0 -145 -17l-109 -522h-104l213 995h-625 -l-213 -995h-100l231 1087h827z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1464" -d="M1389 854q0 -157 -52 -320.5t-144 -289.5t-208 -197q63 -37 170 -37q71 0 123 21v-92q-60 -21 -137 -21q-81 0 -151.5 23t-117.5 61q-76 -22 -180 -22q-250 0 -385 152t-135 427q0 259 90 473t253.5 332.5t377.5 118.5q125 0 246 -47l-43 -95q-105 48 -217 48 -q-172 0 -307 -100.5t-215.5 -294.5t-80.5 -421q0 -246 111 -373.5t318 -127.5q41 0 94 8q-52 77 -75.5 171.5t-23.5 223.5q0 216 56.5 388.5t154 265t219.5 92.5q134 0 196.5 -90.5t62.5 -276.5zM905 111q115 70 200 188.5t130 266t45 294.5q0 142 -41 204t-117 62 -q-83 0 -158 -85.5t-117 -233.5t-42 -328q0 -131 24.5 -217.5t75.5 -150.5z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1212" -d="M705 109q121 73 207.5 223.5t86.5 285.5q0 88 -35 130.5t-92 42.5q-108 0 -174.5 -112.5t-66.5 -297.5q0 -96 18 -160t56 -112zM893 -55q-126 0 -217 63q-76 -28 -174 -28q-195 0 -297.5 114.5t-102.5 333.5q0 200 62.5 354.5t180 238t276.5 83.5q93 0 167 -21l-18 -92 -q-67 27 -154 27q-122 0 -213.5 -69t-144.5 -209.5t-53 -315.5q0 -171 76.5 -262.5t222.5 -91.5q54 0 98 10q-74 107 -74 289q0 144 44 264.5t123.5 185t185.5 64.5q101 0 161 -64t60 -190q0 -169 -87 -326t-235 -248q55 -24 127 -24q58 0 117 16v-86q-48 -16 -131 -16z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1169" -d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM467 -340q118 0 118 160 -q0 100 -32 180h84q43 -115 43 -190q0 -102 -54.5 -163t-158.5 -61q-50 0 -82 15l14 69q27 -10 68 -10z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="887" -d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM322 -340 -q118 0 118 160q0 100 -32 180h84q43 -115 43 -190q0 -102 -54.5 -163t-158.5 -61q-50 0 -82 15l14 69q27 -10 68 -10z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="985" -d="M336 0l289 1368h-432l20 94h973l-19 -94h-440l-270 -1274h168l-99 -450h-104l80 356h-166z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="1784" -d="M1530 856q0 77 -43 119.5t-119 42.5q-157 0 -277.5 -137.5t-168.5 -362.5l-109 -518h-102l147 674q25 125 25 162q0 182 -154 182q-106 0 -200 -67.5t-159 -188.5t-100 -287l-100 -475h-98l231 1087h80l-33 -210h6q80 113 181.5 170t212.5 57q106 0 163 -67t60 -195h6 -q77 129 181 195.5t222 66.5q117 0 182.5 -61.5t65.5 -176.5q0 -29 -2.5 -56.5t-19.5 -119.5l-82 -371q-23 -103 -23 -159q0 -97 84 -97q31 0 64 7l-101 -435h-100l80 351q-61 7 -95 51.5t-34 114.5q0 21 3.5 48t7 49t93.5 431q25 120 25 176z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="895" -d="M360 102q32 67 63 127.5t472 857.5h102l-612 -1103l-102 -476h-93l101 478l-178 1101h100l109 -735q18 -118 32 -250h6z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-10 -45h289l-19 -82h-286l-82 -403h-105l88 403h-268l19 82h266l14 60l-237 917h100z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="895" -d="M45 0h244l-176 1087h100l109 -735q18 -118 32 -250h6q32 67 63 127.5t472 857.5h102l-604 -1087h244l-19 -82h-247l-88 -410h-93l86 410h-249z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1014" -d="M989 94l-98 -450h-105l80 356h-94l-254 678l-526 -678h-127l608 766l-272 696h106l240 -626l483 626h119l-555 -719l248 -649h147z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="942" -d="M870 80l-102 -445h-100l82 365h-84l-224 479l-393 -479h-121l471 555l-245 528h100l207 -462l373 462h120l-448 -534l221 -469h143z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1659" -d="M625 1368h-432l20 94h973l-19 -94h-440l-268 -1274h758l290 1368h101l-289 -1368h168l-98 -450h-105l80 356h-1028z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1346" -d="M866 1006h-327l-133 -617q-23 -99 -23 -158q0 -74 47.5 -117.5t138.5 -43.5q109 0 206 65t163 183t102 284l105 485h98l-164 -765q-22 -104 -22 -170q0 -89 84 -89q23 0 63 7l-100 -435h-100l79 351q-65 12 -93 53t-28 116l3 56h-7q-78 -109 -183 -168t-222 -59 -q-133 0 -200.5 62t-67.5 181q0 60 22 170l131 609h-354l20 81h783z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1249" -d="M788 0l132 621q-219 -91 -408 -91q-146 0 -226.5 69.5t-80.5 201.5q0 64 22 164l105 497h102l-102 -483q-25 -116 -25 -172q0 -92 57 -139t162 -47q195 0 412 90l160 751h100l-289 -1368h168l-98 -450h-105l80 356h-166z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1124" -d="M831 627h-8q-161 -221 -401 -221q-128 0 -197 60t-69 177q0 74 22 176l58 268h100q-69 -318 -75.5 -362t-6.5 -72q0 -74 44.5 -117.5t141.5 -43.5q163 0 290 135.5t175 369.5l19 90h98l-215 -1003h178l-102 -449h-101l84 365h-178l84 399q24 122 59 228z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1192" -d="M453 221l65 309h-6q-146 0 -226.5 69.5t-80.5 201.5q0 64 22 164l105 497h102l-102 -483q-25 -116 -25 -172q0 -92 57 -139t162 -47h13l79 376h87l-80 -370q144 16 313 84l160 751h100l-309 -1462h-101l132 621q-153 -66 -314 -86l-67 -314h-86z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1098" -d="M336 1087q-69 -318 -75.5 -362t-6.5 -72q0 -74 43.5 -117.5t138.5 -43.5l66 307h86l-64 -297q137 32 238.5 164.5t142.5 330.5l19 90h98l-234 -1087h-102q50 229 75 345.5t70 281.5h-8q-131 -182 -317 -215l-55 -267h-86l53 261q-128 0 -195 61.5t-67 175.5q0 74 22 176 -l58 268h100z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1274" -d="M510 1462l-131 -620q212 90 407 90q147 0 227.5 -69.5t80.5 -200.5q0 -62 -23 -164l-104 -498h-103l103 483q24 111 24 172q0 94 -57.5 140.5t-161.5 46.5q-189 0 -412 -90l-159 -752h-101l310 1462h100z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1149" -d="M758 0q69 321 75.5 364t6.5 70q0 74 -45 118t-142 44q-166 0 -292 -139t-173 -367l-18 -90h-98l233 1087h103q-49 -226 -74 -342t-72 -284h8q78 111 182 166t220 55q128 0 197 -62t69 -176q0 -42 -8 -93t-72 -351h-100z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1552" -d="M365 788q69 315 275.5 505t483.5 190q199 0 303.5 -85t104.5 -241q0 -234 -231.5 -347.5t-722.5 -113.5h-129q-9 -56 -9 -127q0 -245 106.5 -370t313.5 -125q106 0 210 20t228 68v-96q-126 -49 -231 -67.5t-217 -18.5q-243 0 -378.5 151t-135.5 424q0 85 8 141l-26 -1 -q-88 0 -137.5 47.5t-49.5 127.5q0 70 31 121h100q-31 -54 -31 -112q0 -91 101 -91h33zM1124 1389q-231 0 -407.5 -158.5t-251.5 -442.5h131q416 0 620.5 89t204.5 272q0 117 -77 178.5t-220 61.5z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1143" -d="M836 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49q516 0 516 270q0 70 -44.5 112t-114.5 42zM330 594q53 230 195 370t323 140q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t212 -86.5q133 0 277 73v-94q-140 -69 -299 -69 -q-173 0 -270 109.5t-97 305.5q0 58 6 111l-26 -1q-88 0 -137.5 47.5t-49.5 127.5q0 70 31 121h96q-30 -55 -30 -113q0 -94 104 -94h29z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1552" -d="M365 788q69 315 275.5 505t483.5 190q199 0 303.5 -85t104.5 -241q0 -234 -231.5 -347.5t-722.5 -113.5h-129q-9 -56 -9 -127q0 -245 106.5 -370t313.5 -125q106 0 210 20t228 68v-96q-118 -47 -216 -65.5t-201 -20.5l-72 -336h-104l75 340q-212 21 -328 170.5 -t-116 400.5q0 85 8 141l-26 -1q-88 0 -137.5 47.5t-49.5 127.5q0 70 31 121h100q-31 -54 -31 -112q0 -91 101 -91h33zM1124 1389q-231 0 -407.5 -158.5t-251.5 -442.5h131q416 0 620.5 89t204.5 272q0 117 -77 178.5t-220 61.5z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1143" -d="M330 594q53 230 195 370t323 140q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t212 -86.5q133 0 277 73v-94q-131 -65 -287 -69l-63 -345h-101l68 353q-133 23 -208 127.5t-75 279.5q0 58 6 111l-26 -1q-88 0 -137.5 47.5 -t-49.5 127.5q0 70 31 121h96q-30 -55 -30 -113q0 -94 104 -94h29zM836 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49q516 0 516 270q0 70 -44.5 112t-114.5 42z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1491" -d="M641 760l-424 702h125l414 -704l147 704h103l-152 -706l692 706h140l-717 -725l434 -737h-123l-430 737l-154 -737h-102l158 739l-699 -739h-141zM1345 1866q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5 -t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1581" -d="M862 602h162q28 149 96.5 262t170.5 176.5t233 63.5q77 0 135 -17l-19 -92q-57 19 -127 19q-113 0 -206.5 -76t-150 -218.5t-56.5 -301.5q0 -177 59 -262.5t184 -85.5q53 0 113 10v-88q-72 -12 -121 -12q-334 0 -334 419q0 46 9 115h-166l-109 -514h-96l109 514h-158 -q-30 -160 -100 -280.5t-173 -187t-233 -66.5q-75 0 -135 16l18 92q56 -18 127 -18q116 0 210 79t149 219.5t55 297.5q0 177 -59 262.5t-185 85.5q-52 0 -112 -10v88q72 12 120 12q334 0 334 -420q0 -50 -4 -82h164l104 485h95zM1319 1528q-17 -137 -110.5 -212t-243.5 -75 -q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1204" -d="M498 752q40 4 82 4q228 0 352.5 -127.5t124.5 -364.5q0 -233 -86 -414.5t-238 -271.5t-358 -90q-135 0 -230 41v104q119 -51 238 -51q171 0 298 78.5t199 238t72 359.5q0 195 -104.5 300.5t-302.5 105.5q-97 0 -205 -19l-135 -645h-103l310 1462h102l-158 -727l787 727 -h143z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="942" -d="M449 598q173 -5 262.5 -112.5t89.5 -295.5q0 -203 -67.5 -371t-183.5 -252.5t-269 -84.5q-101 0 -179 37v98q86 -47 187 -47q122 0 215 80t143.5 222t50.5 316q0 159 -78.5 245.5t-228.5 86.5q-61 0 -117 -10l-104 -510h-98l225 1087h98l-110 -524l573 524h146z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1325" -d="M1153 1368h-434l-40 -137q-132 -452 -217 -706t-142 -354.5t-129 -147t-173 -46.5q-54 0 -102 17v96q45 -16 102 -16q78 0 132.5 44t104 143.5t141 383t245.5 817.5h633l-291 -1368h164l-217 -450h-115l209 356h-160z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1059" -d="M844 1006q-38 6 -74 6q-92 0 -152 -39.5t-112 -134t-123 -306.5q-86 -255 -141 -354t-121 -143.5t-162 -44.5q-37 0 -61 8v90q29 -8 59 -8q74 0 122 38t94.5 131t121.5 312q84 249 146 348.5t143 143t200 43.5q81 0 172 -17l-215 -999h164l-200 -447h-117l207 367h-166z -" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1366" -d="M420 -508q-140 0 -254 45v105q44 -20 122 -37t142 -17q234 0 366.5 130.5t194.5 418.5l123 582h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100l-280 -1329q-72 -339 -231 -490t-441 -151z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1208" -d="M420 -498q-102 0 -178 37v99q88 -48 186 -48q146 0 234.5 93.5t134.5 306.5l112 526h-624l-111 -516h-100l233 1087h96l-100 -479h625l104 479h101l-240 -1132q-43 -169 -103.5 -263t-151 -142t-218.5 -48z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1423" -d="M1114 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100l-289 -1368h164l-217 -450h-115l209 356h-161z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1235" -d="M1075 84l-201 -451h-116l207 367h-166l110 516h-624l-111 -516h-100l233 1087h96l-100 -479h625l104 479h101l-222 -1003h164z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1192" -d="M920 621q-219 -91 -408 -91q-146 0 -226.5 69.5t-80.5 201.5q0 64 22 164l105 497h102l-102 -483q-25 -116 -25 -172q0 -92 57 -139t162 -47q195 0 412 90l160 751h100l-309 -1462h-166l-72 -356h-104l94 450h168z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1098" -d="M336 1087q-69 -318 -75.5 -362t-6.5 -72q0 -74 44.5 -117.5t141.5 -43.5q163 0 290 135.5t175 369.5l19 90h98l-234 -1087h-139l-74 -367h-98l92 451h136l49 229q26 124 77 314h-8q-161 -221 -401 -221q-128 0 -197 60t-69 177q0 74 22 176l58 268h100z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1706" -d="M772 205l733 1257h150l-283 -1368h164l-217 -450h-115l209 356h-160l191 901q79 369 100 447h-6l-780 -1348h-51l-222 1348h-6q-20 -154 -78 -426l-196 -922h-96l309 1462h143l205 -1257h6z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1368" -d="M1141 930q-17 -32 -39 -70t-531 -860h-67l-146 723q-6 29 -17.5 99t-12.5 102l-193 -924h-90l231 1087h101l153 -798q27 -158 27 -170q26 55 62.5 117t529.5 851h117l-217 -1007h163l-200 -447h-117l207 367h-158z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1110 1866q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5 -q231 0 258 201h94z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1053 1528q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM879 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM535 1704q0 49 20.5 78t56.5 29q54 0 54 -64 -q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM821 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM477 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1640" -d="M1403 0h-727l110 522h-444l-328 -522h-131l946 1462h883l-20 -94h-625l-117 -553h590l-20 -94h-588l-135 -627h626zM408 627h401l156 741h-88z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1632" -d="M1155 -20q-123 0 -211 60t-117 165l-39 -205h-77l41 254h-9q-94 -142 -189 -208t-208 -66q-120 0 -182 94t-62 270q0 206 70.5 384.5t192.5 277t274 98.5q106 0 166 -56.5t74 -156.5h10l59 192h66l-35 -186q139 207 350 207q112 0 175 -61.5t63 -172.5 -q0 -179 -158.5 -271.5t-470.5 -92.5h-39q-8 -51 -8 -96q0 -161 69.5 -250.5t217.5 -89.5q69 0 133.5 21t130.5 52v-94q-80 -37 -147 -53t-140 -16zM369 70q67 0 138.5 42t134 117.5t106 170.5t63.5 199t20 165q0 118 -49 186t-141 68q-123 0 -223 -86t-156.5 -240 -t-56.5 -340q0 -150 42.5 -216t121.5 -66zM1317 1018q-119 0 -232 -115.5t-172 -308.5h48q263 0 383 67t120 203q0 71 -38.5 112.5t-108.5 41.5z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM1132 1866q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM993 1528q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1356" -d="M1290 907q0 -245 -107 -466.5t-285 -341t-396 -119.5q-199 0 -303.5 85t-104.5 240q0 236 231.5 348.5t723.5 112.5h129q8 50 8 127q0 244 -106.5 370t-313.5 126q-210 0 -438 -89v97q118 47 225.5 66.5t222.5 19.5q241 0 377.5 -151.5t136.5 -424.5zM502 74 -q230 0 407 157t252 443h-131q-414 0 -619.5 -88.5t-205.5 -272.5q0 -118 77 -178.5t220 -60.5z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="928" -d="M485 1104q173 0 270 -109.5t97 -306.5q0 -189 -75 -355.5t-197.5 -259.5t-268.5 -93q-114 0 -182 61t-68 166q0 181 163.5 276t486.5 95h32q7 37 7 98q0 165 -74 251.5t-213 86.5q-131 0 -277 -74v94q143 70 299 70zM324 66q132 0 244 116t161 307h-49q-516 0 -516 -270 -q0 -69 43.5 -111t116.5 -42z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1356" -d="M1290 907q0 -245 -107 -466.5t-285 -341t-396 -119.5q-199 0 -303.5 85t-104.5 240q0 236 231.5 348.5t723.5 112.5h129q8 50 8 127q0 244 -106.5 370t-313.5 126q-210 0 -438 -89v97q118 47 225.5 66.5t222.5 19.5q241 0 377.5 -151.5t136.5 -424.5zM502 74 -q230 0 407 157t252 443h-131q-414 0 -619.5 -88.5t-205.5 -272.5q0 -118 77 -178.5t220 -60.5zM965 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM621 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="928" -d="M485 1104q173 0 270 -109.5t97 -306.5q0 -189 -75 -355.5t-197.5 -259.5t-268.5 -93q-114 0 -182 61t-68 166q0 181 163.5 276t486.5 95h32q7 37 7 98q0 165 -74 251.5t-213 86.5q-131 0 -277 -74v94q143 70 299 70zM324 66q132 0 244 116t161 307h-49q-516 0 -516 -270 -q0 -69 43.5 -111t116.5 -42zM720 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM376 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1491" -d="M641 760l-424 702h125l414 -704l147 704h103l-152 -706l692 706h140l-717 -725l434 -737h-123l-430 737l-154 -737h-102l158 739l-699 -739h-141zM1115 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM771 1704q0 49 20.5 78t56.5 29 -q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1581" -d="M862 602h162q28 149 96.5 262t170.5 176.5t233 63.5q77 0 135 -17l-19 -92q-57 19 -127 19q-113 0 -206.5 -76t-150 -218.5t-56.5 -301.5q0 -177 59 -262.5t184 -85.5q53 0 113 10v-88q-72 -12 -121 -12q-334 0 -334 419q0 46 9 115h-166l-109 -514h-96l109 514h-158 -q-30 -160 -100 -280.5t-173 -187t-233 -66.5q-75 0 -135 16l18 92q56 -18 127 -18q116 0 210 79t149 219.5t55 297.5q0 177 -59 262.5t-185 85.5q-52 0 -112 -10v88q72 12 120 12q334 0 334 -420q0 -50 -4 -82h164l104 485h95zM1065 1366q0 49 20.5 78t56.5 29q54 0 54 -64 -q0 -48 -21 -77t-55 -29q-55 0 -55 63zM721 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1020" -d="M987 1169q0 -160 -91 -263.5t-267 -145.5v-4q130 -23 199 -110.5t69 -227.5q0 -130 -67.5 -232.5t-187 -154t-284.5 -51.5q-211 0 -389 79v117q183 -106 402 -106q204 0 314 93.5t110 260.5q0 287 -373 287h-182l18 96h178q131 0 237 45t158 123.5t52 183.5 -q0 114 -67 176t-191 62q-168 0 -340 -119l-54 76q190 129 406 129q165 0 257.5 -82t92.5 -232zM798 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM454 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="799" -d="M336 616q146 0 226.5 59.5t80.5 170.5q0 78 -52 125t-140 47q-61 0 -117.5 -17t-130.5 -63l-41 80q83 50 153 68t156 18q130 0 202 -65t72 -181q0 -113 -66 -187t-187 -98v-4q94 -20 142 -82.5t48 -158.5q0 -102 -51 -181.5t-145 -123t-222 -43.5q-86 0 -160 18.5 -t-122 46.5v109q139 -86 290 -86q143 0 225.5 68.5t82.5 185.5q0 107 -64.5 154.5t-206.5 47.5h-84l21 92h90zM642 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM298 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 -q-55 0 -55 63z" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1044" -d="M469 809q226 -2 340.5 -94.5t114.5 -270.5q0 -136 -68 -245t-186.5 -164t-278.5 -55q-100 0 -190.5 17.5t-190.5 61.5v117q183 -106 393 -106q131 0 224.5 47t143.5 129.5t50 189.5q0 145 -95 214t-300 69h-104l18 88l584 561h-609l23 94h743l-18 -88z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="836" -d="M283 430q174 -4 279.5 -107.5t105.5 -277.5q0 -156 -66.5 -279t-189.5 -190.5t-293 -67.5q-163 0 -283 64v104q54 -35 136 -58.5t157 -23.5q134 0 232.5 56t152 157t53.5 228q0 311 -342 311h-75l14 80l504 573h-535l19 88h655l-16 -79z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1368" -d="M412 1462h102l-186 -878q-79 -346 -95 -406l1035 1284h110l-309 -1462h-100q120 569 184.5 876t99.5 431l-1050 -1307h-101zM667 1671h508l-18 -88h-508z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM471 1333h508l-18 -88h-508z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1368" -d="M412 1462h102l-186 -878q-79 -346 -95 -406l1035 1284h110l-309 -1462h-100q120 569 184.5 876t99.5 431l-1050 -1307h-101zM1016 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM672 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77 -t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM821 1366q0 49 20.5 78t56.5 29 -q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM477 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1043 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM699 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM812 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM468 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1464" -d="M1403 911q0 -189 -53.5 -370t-145 -304.5t-222 -190t-290.5 -66.5q-253 0 -386.5 150t-133.5 429q0 256 91.5 472.5t254.5 334t375 117.5q248 0 379 -148.5t131 -423.5zM705 72q223 0 371.5 162.5t199.5 459.5h-993q-7 -65 -7 -121q0 -246 110 -373.5t319 -127.5z -M879 1389q-221 0 -376 -162t-206 -441h993l4 115q0 244 -107 366t-308 122z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM483 66q160 0 271 119.5t151 330.5h-698q-6 -56 -6 -108q0 -342 282 -342zM641 1022q-151 0 -263 -114.5 -t-157 -307.5h697q6 52 6 102q0 154 -73 237t-210 83z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1464" -d="M1403 911q0 -189 -53.5 -370t-145 -304.5t-222 -190t-290.5 -66.5q-253 0 -386.5 150t-133.5 429q0 256 91.5 472.5t254.5 334t375 117.5q248 0 379 -148.5t131 -423.5zM705 72q223 0 371.5 162.5t199.5 459.5h-993q-7 -65 -7 -121q0 -246 110 -373.5t319 -127.5z -M879 1389q-221 0 -376 -162t-206 -441h993l4 115q0 244 -107 366t-308 122zM1043 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM699 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM483 66q160 0 271 119.5t151 330.5h-698q-6 -56 -6 -108q0 -342 282 -342zM641 1022q-151 0 -263 -114.5 -t-157 -307.5h697q6 52 6 102q0 154 -73 237t-210 83zM812 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM468 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1169" -d="M365 72q254 0 410.5 168t205.5 493h-666l17 96h659l2 72q0 239 -105.5 363.5t-309.5 124.5q-128 0 -306 -64l-26 94q114 38 195.5 51t150.5 13q250 0 380 -148.5t130 -423.5q0 -272 -95.5 -492t-259.5 -329.5t-382 -109.5q-206 0 -351 75v109q184 -92 351 -92zM825 1704 -q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM481 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="905" -d="M440 1108q178 0 272.5 -105.5t94.5 -302.5q0 -208 -71.5 -377.5t-198 -256t-295.5 -86.5q-56 0 -120 12t-112 33v102q53 -27 118 -42t122 -15q176 0 287.5 115t152.5 341h-524l18 88h516q5 33 5 70q0 172 -68 255t-207 83q-48 0 -98 -11t-158 -53l-27 84 -q88 35 125.5 45.5t80 15.5t87.5 5zM640 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM296 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1145" -d="M133 -20q-93 0 -156 30v111q67 -37 162 -37q111 0 203 71.5t209 264.5l-318 1042h105l194 -651q13 -41 89 -319q33 61 88.5 156t507.5 814h116l-723 -1140q-112 -180 -223.5 -261t-253.5 -81zM526 1671h508l-18 -88h-508z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM341 1333h508l-18 -88h-508z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1145" -d="M133 -20q-93 0 -156 30v111q67 -37 162 -37q111 0 203 71.5t209 264.5l-318 1042h105l194 -651q13 -41 89 -319q33 61 88.5 156t507.5 814h116l-723 -1140q-112 -180 -223.5 -261t-253.5 -81zM904 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 -q-55 0 -55 63zM560 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM694 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 -q-55 0 -55 63zM350 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1145" -d="M133 -20q-93 0 -156 30v111q67 -37 162 -37q111 0 203 71.5t209 264.5l-318 1042h105l194 -651q13 -41 89 -319q33 61 88.5 156t507.5 814h116l-723 -1140q-112 -180 -223.5 -261t-253.5 -81zM565 1608q48 49 112 132t115 167h103v-23q-59 -80 -145 -170.5t-146 -134.5 -h-39v29zM878 1608q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM374 1270q48 49 112 132t115 167h103v-23q-59 -80 -145 -170.5 -t-146 -134.5h-39v29zM687 1270q41 44 107.5 129.5t119.5 169.5h103v-23q-61 -82 -146.5 -171.5t-146.5 -133.5h-37v29z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1192" -d="M788 0l132 621q-219 -91 -408 -91q-146 0 -226.5 69.5t-80.5 201.5q0 64 22 164l105 497h102l-102 -483q-25 -116 -25 -172q0 -92 57 -139t162 -47q195 0 412 90l160 751h100l-309 -1462h-101zM897 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 -q-55 0 -55 63zM553 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1096" -d="M336 1087q-69 -318 -75.5 -362t-6.5 -72q0 -74 44.5 -117.5t141.5 -43.5q163 0 290 135.5t175 369.5l19 90h98l-234 -1087h-102q50 229 75 345.5t70 281.5h-8q-161 -221 -401 -221q-128 0 -197 60t-69 177q0 74 22 176l58 268h100zM774 1366q0 49 20.5 78t56.5 29 -q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM430 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="946" -d="M102 0l310 1462h708l-20 -94h-604l-271 -1274h168l-98 -450h-105l80 356h-168z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="698" -d="M365 84l-103 -449h-100l84 365h-174l227 1087h504l-19 -81h-403l-195 -922h179z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1536" -d="M995 465q0 -222 -139 -343.5t-391 -121.5h-363l310 1462h104l-139 -651h231q187 0 287 -89.5t100 -256.5zM358 721l-135 -631h240q204 0 315 92t111 277q0 134 -74.5 198t-224.5 64h-232zM1243 0h-102l309 1462h102zM1115 1704q0 49 20.5 78t56.5 29q54 0 54 -64 -q0 -48 -21 -77t-55 -29q-55 0 -55 63zM771 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1389" -d="M1081 0h-98l234 1087h96zM283 588l56 10q117 20 214 20q340 0 340 -280q0 -162 -111.5 -260t-304.5 -98q-163 0 -249.5 79t-86.5 232q0 93 31 248l119 548h100zM535 532q-78 0 -147.5 -10.5t-123.5 -19.5q-24 -120 -24 -195q0 -122 56.5 -179.5t188.5 -57.5 -q143 0 224.5 69t81.5 191q0 104 -64.5 153t-191.5 49zM969 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM625 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="946" -d="M1120 1462l-20 -94h-604l-129 -602h335l-18 -82h-334l-125 -590h142l-56 -260q-18 -87 -58.5 -128.5t-113.5 -41.5q-48 0 -67 17v88q32 -15 65 -15q84 0 103 103l30 143h-168l146 684h-146l19 82h143l148 696h708z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="698" -d="M72 0l106 514h-155l18 80h154l104 493h504l-19 -81h-403l-86 -412h274l-18 -80h-275l-90 -430h133l-53 -250q-18 -87 -59 -128.5t-113 -41.5q-48 0 -67 17v88q32 -15 65 -15q84 0 103 103l30 143h-153z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1034" -d="M842 94h145l-55 -260q-19 -87 -59.5 -128.5t-112.5 -41.5q-49 0 -68 17v88q34 -15 66 -15q83 0 102 103l31 143h-119l-254 678l-526 -678h-127l608 766l-272 696h106l240 -626l483 626h119l-555 -719z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="944" -d="M442 479l-393 -479h-121l471 555l-245 528h100l207 -462l373 462h120l-448 -534l217 -465h149l-53 -250q-18 -87 -59 -128.5t-113 -41.5q-48 0 -67 17v88q32 -15 65 -15q84 0 103 103l30 143h-112z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="971" -d="M604 717l275 -717h-107l-254 678l-526 -678h-127l569 717h-270l18 82h277l-258 663h106l240 -626l483 626h119l-512 -663h301l-18 -82h-316z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="922" -d="M442 479l-393 -479h-121l434 512h-270l19 82h270l-227 489h100l207 -462l373 462h120l-411 -489h286l-18 -82h-289l242 -512h-98z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" -d="M92 360q0 218 144 332.5t421 114.5h232l143 655h103l-310 -1462h-315q-200 0 -309 92.5t-109 267.5zM870 715h-188q-257 0 -369 -83.5t-112 -271.5q0 -268 329 -268h211z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" horiz-adv-x="1133" -d="M655 1104q230 0 279 -219h4q12 66 143 671h99l-330 -1556h-82l45 274h-6q-173 -294 -424 -294q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5 -t-64 -327.5q0 -295 201 -295z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1679" -d="M1585 848l-110 -533q-32 -160 -132.5 -247.5t-250.5 -87.5q-109 0 -184.5 49.5t-102.5 140.5q-123 -188 -354 -188q-164 0 -261.5 96.5t-97.5 265.5q0 227 141.5 345t423.5 118h232l143 655h103l-211 -995q-10 -40 -19.5 -102.5t-9.5 -98.5q0 -85 56.5 -136.5 -t146.5 -51.5q222 0 272 246l109 524h106zM870 715h-188q-256 0 -368.5 -87.5t-112.5 -281.5q0 -127 70 -197.5t188 -70.5q92 0 161.5 33t114.5 92.5t60 134.5z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1665" -d="M922 276q0 -102 52 -154t144 -52q116 0 177.5 66.5t93.5 217.5l71 346h92l-73 -366q-37 -180 -127 -267t-242 -87q-268 0 -289 290h-6q-172 -290 -432 -290q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5q230 0 279 -219h4q12 66 143 671h99l-242 -1140 -q-16 -70 -16 -140zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5t-64 -327.5q0 -295 201 -295z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1659" -d="M793 449q0 133 -80.5 197.5t-253.5 64.5h-219l18 96h178q131 0 237 45t158 123.5t52 183.5q0 114 -67 176t-191 62q-168 0 -340 -119l-54 76q190 129 406 129q165 0 257.5 -82t92.5 -232q0 -160 -91 -263.5t-267 -145.5v-4q128 -17 196 -92.5t68 -202.5q0 -38 -7 -101 -t-7 -94q0 -85 56.5 -136.5t145.5 -51.5q115 0 179.5 62t89.5 184l108 524h107l-113 -539q-35 -161 -133 -245t-248 -84q-88 0 -154.5 34t-102.5 95t-36 135q0 42 13 165z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1389" -d="M567 229l6 119q0 91 -49 133.5t-164 42.5h-135l21 92h90q146 0 226.5 59.5t80.5 170.5q0 78 -52 125t-140 47q-61 0 -117.5 -17t-130.5 -63l-41 80q83 50 153 68t156 18q130 0 202 -65t72 -181q0 -113 -66 -187t-187 -98v-4q182 -30 182 -209l-6 -120q0 -170 180 -170 -q112 0 171.5 63.5t92.5 220.5l72 346h92l-74 -366q-38 -184 -122.5 -269t-237.5 -85q-130 0 -202.5 62t-72.5 187z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1114" -d="M795 430q0 145 -94.5 213t-278.5 68h-182l18 96h178q131 0 237 45t158 123.5t52 183.5q0 114 -67 176t-191 62q-168 0 -340 -119l-54 76q190 129 406 129q165 0 257.5 -82t92.5 -232q0 -160 -91 -263.5t-267 -145.5v-4q132 -24 200 -105.5t68 -214.5q0 -54 -25 -168 -l-36 -174h168l-99 -450h-104l80 356h-166q64 293 72 345t8 85z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="934" -d="M637 84h178l-102 -449h-101l84 365h-178l47 221q15 65 15 101q0 107 -64.5 154.5t-206.5 47.5h-84l21 92h90q146 0 226.5 59.5t80.5 170.5q0 78 -52 125t-140 47q-61 0 -117.5 -17t-130.5 -63l-41 80q83 50 153 68t156 18q130 0 202 -65t72 -181q0 -113 -66 -187 -t-187 -98v-4q190 -40 190 -233q0 -26 -5 -58t-40 -194z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="1788" -d="M1010 254q0 -81 54.5 -128.5t145.5 -47.5q115 0 179.5 62t89.5 184l108 524h107l-113 -539q-35 -161 -133 -245t-248 -84q-135 0 -214 73t-79 189q0 66 27 204l194 922h-409l-40 -137q-132 -452 -217 -706t-142 -354.5t-129 -147t-173 -46.5q-54 0 -102 17v96 -q45 -16 102 -16q78 0 132.5 44t104 143.5t141 383t245.5 817.5h608l-213 -1007q-26 -128 -26 -201z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1507" -d="M786 254q0 -184 181 -184q112 0 171.5 63.5t92.5 220.5l72 346h92l-74 -366q-38 -184 -122.5 -269t-237.5 -85q-134 0 -204.5 69t-70.5 193q0 71 23 178l125 586q-38 6 -74 6q-92 0 -152 -39.5t-111 -131.5t-124 -309q-86 -255 -141 -354t-121 -143.5t-162 -44.5 -q-35 0 -62 8v90q29 -8 60 -8q74 0 122 38t94.5 131t121.5 312q83 250 144 348t142 142.5t203 44.5q81 0 172 -17l-137 -655q-23 -123 -23 -170z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="1911" -d="M1114 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100l-213 -1007q-26 -128 -26 -201q0 -81 54.5 -128.5t145.5 -47.5q115 0 179.5 62t89.5 184l108 524h107l-113 -539q-35 -161 -133 -245t-248 -84q-135 0 -214 73t-79 189q0 47 7 95.5t77 381.5z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1690" -d="M909 516h-624l-111 -516h-100l233 1087h96l-100 -479h625l104 479h101l-142 -663q-22 -96 -22 -170q0 -184 180 -184q112 0 171.5 63.5t92.5 220.5l72 346h92l-74 -366q-38 -184 -122.5 -269t-237.5 -85q-134 0 -205.5 68.5t-71.5 193.5q0 71 23 178z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1384" -d="M852 713h463l-19 -119q-48 -318 -197.5 -466t-412.5 -148q-244 0 -380 150.5t-136 416.5q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -225 110 -350t306 -125 -q151 0 252 57.5t160 167.5t90 319h-361z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1163" -d="M614 532h437l-15 -69q-51 -257 -176 -370t-332 -113t-318.5 119.5t-111.5 340.5q0 189 74.5 342t209.5 239.5t306 86.5q80 0 156.5 -21t183.5 -79l-41 -84l-65 35q-120 63 -244 63q-136 0 -244.5 -73.5t-170.5 -211t-62 -295.5q0 -181 86 -278.5t248 -97.5 -q159 0 254 89.5t135 290.5h-330z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1296" -d="M508 254q0 -82 55 -129t146 -47q114 0 178.5 62t89.5 184l108 524h107l-113 -539q-35 -161 -133 -245t-248 -84q-135 0 -215 74t-80 188q0 66 27 204l195 922h-432l20 94h973l-19 -94h-440l-192 -913q-27 -123 -27 -201z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1112" -d="M438 1006h-354l20 81h783l-21 -81h-327l-125 -584q-23 -100 -23 -168q0 -184 180 -184q113 0 173 65t92 219l71 346h92l-73 -366q-38 -185 -123.5 -269.5t-237.5 -84.5q-134 0 -205 69t-71 193q0 72 22 178z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1051" -d="M336 1067q0 185 123 300.5t319 115.5q100 0 183.5 -24.5t166.5 -86.5l-53 -86q-132 111 -303 111q-147 0 -239.5 -91.5t-92.5 -238.5q0 -125 84 -194.5t230 -69.5h178l-21 -96h-200q-222 0 -336.5 -92t-114.5 -267q0 -130 79 -203t228 -73q92 0 173 18t198 70v-99 -q-117 -47 -207 -64t-176 -17q-193 0 -300.5 97t-107.5 269q0 179 109 292t297 126v4q-217 69 -217 299z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="840" -d="M621 524h-113q-168 0 -257 -66.5t-89 -191.5q0 -95 62.5 -147.5t178.5 -52.5q82 0 175.5 24.5t162.5 63.5v-93q-68 -35 -159 -58t-187 -23q-157 0 -246.5 74t-89.5 204q0 132 82 217.5t228 106.5v4q-72 25 -116 79.5t-44 135.5q0 138 103 220.5t276 82.5q162 0 289 -66 -l-39 -86q-51 29 -120.5 46.5t-131.5 17.5q-133 0 -204 -55.5t-71 -157.5q0 -91 63 -139t179 -48h86z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1325" -d="M719 1368l-40 -137q-132 -452 -217 -706t-142 -354.5t-129 -147t-173 -46.5q-54 0 -102 17v96q45 -16 102 -16q78 0 132.5 44t104 143.5t141 383t245.5 817.5h633l-291 -1368h141l-55 -260q-19 -87 -59.5 -128.5t-112.5 -41.5q-49 0 -68 17v88q34 -15 66 -15 -q83 0 102 103l31 143h-164l289 1368h-434z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1059" -d="M743 84h134l-54 -250q-18 -87 -58.5 -128.5t-113.5 -41.5q-48 0 -67 17v88q32 -15 65 -15q84 0 103 103l30 143h-153l215 1006q-38 6 -74 6q-92 0 -152 -39.5t-112 -134t-123 -306.5q-86 -255 -141 -354t-121 -143.5t-162 -44.5q-37 0 -61 8v90q29 -8 59 -8q74 0 122 38 -t94.5 131t121.5 312q84 249 146 348.5t143 143t200 43.5q81 0 172 -17z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM613 -322q0 -92 -58 -146t-155 -54q-96 0 -150.5 53t-54.5 145q0 93 54.5 146t150.5 53q97 0 155 -55t58 -142zM524 -324q0 57 -34.5 91 -t-89.5 34q-54 0 -88.5 -34t-34.5 -91q0 -58 31.5 -91.5t91.5 -33.5q55 0 89.5 33.5t34.5 91.5z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM658 -322q0 -92 -58 -146t-155 -54q-96 0 -150.5 53t-54.5 145q0 93 54.5 146t150.5 53q97 0 155 -55t58 -142zM569 -324q0 57 -34.5 91t-89.5 34q-54 0 -88.5 -34t-34.5 -91q0 -58 31.5 -91.5t91.5 -33.5q55 0 89.5 33.5t34.5 91.5 -z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1669" -d="M772 205l733 1257h150l-301 -1462h-101l191 901q79 369 100 447h-6l-780 -1348h-51l-222 1348h-6q-20 -154 -78 -426l-196 -922h-96l309 1462h143l205 -1257h6zM961 1602q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1751" -d="M711 0l147 674q25 125 25 162q0 182 -154 182q-106 0 -200 -67.5t-159 -188.5t-100 -287l-100 -475h-98l231 1087h80l-33 -210h6q80 113 181.5 170t212.5 57q106 0 163 -67t60 -195h6q77 129 181 195.5t222 66.5q117 0 182.5 -61.5t65.5 -176.5q0 -29 -2.5 -56.5 -t-19.5 -119.5l-152 -690h-100l149 680q25 120 25 176q0 77 -43 119.5t-119 42.5q-157 0 -277.5 -137.5t-168.5 -362.5l-109 -518h-102zM949 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1702" -d="M1018 1341q-27 -76 -62 -153.5t-563 -1187.5h-82l-73 1462h100l47 -1031l4 -165l-2 -86h6q85 226 170 398l434 884h105l61 -878q19 -266 19 -410h6q30 86 61.5 163t493.5 1125h108q-169 -365 -330.5 -731t-328.5 -731h-78l-78 1075q-11 142 -11 219l1 47h-8zM1118 1579 -h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1393" -d="M838 0l-60 686q-14 224 -14 266h-6q-34 -92 -144 -290l-356 -662h-117l-20 1087h92l13 -821l-3 -157h6q61 134 150 297l373 681h77l64 -681q14 -147 14 -297h6l24 61l101 236l320 681h96l-508 -1087h-108zM875 1241h-66q-50 52 -114 144.5t-99 162.5v21h115 -q46 -129 164 -303v-25z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1702" -d="M1018 1341q-27 -76 -62 -153.5t-563 -1187.5h-82l-73 1462h100l47 -1031l4 -165l-2 -86h6q85 226 170 398l434 884h105l61 -878q19 -266 19 -410h6q30 86 61.5 163t493.5 1125h108q-169 -365 -330.5 -731t-328.5 -731h-78l-78 1075q-11 142 -11 219l1 47h-8zM994 1600 -q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1393" -d="M838 0l-60 686q-14 224 -14 266h-6q-34 -92 -144 -290l-356 -662h-117l-20 1087h92l13 -821l-3 -157h6q61 134 150 297l373 681h77l64 -681q14 -147 14 -297h6l24 61l101 236l320 681h96l-508 -1087h-108zM738 1262q66 51 150.5 142t129.5 165h137v-23 -q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1702" -d="M1018 1341q-27 -76 -62 -153.5t-563 -1187.5h-82l-73 1462h100l47 -1031l4 -165l-2 -86h6q85 226 170 398l434 884h105l61 -878q19 -266 19 -410h6q30 86 61.5 163t493.5 1125h108q-169 -365 -330.5 -731t-328.5 -731h-78l-78 1075q-11 142 -11 219l1 47h-8zM1192 1704 -q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM848 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1393" -d="M838 0l-60 686q-14 224 -14 266h-6q-34 -92 -144 -290l-356 -662h-117l-20 1087h92l13 -821l-3 -157h6q61 134 150 297l373 681h77l64 -681q14 -147 14 -297h6l24 61l101 236l320 681h96l-508 -1087h-108zM947 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77 -t-55 -29q-55 0 -55 63zM603 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM369 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM359 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1030 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10 -q221 0 221 -139z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM977 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM475 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z -M950 1802q50 37 104.5 96.5t84.5 102.5h129v-31q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM457 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM932 1464q50 37 104.5 96.5t84.5 102.5h129v-31q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM530 1772q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM475 1604q63 39 147.5 114.5t133.5 132.5h77 -q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM512 1434q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM457 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM475 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z -M1214 1978q0 -108 -172 -141l-6 -41h-63l6 88q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58q45 8 90 8q155 0 155 -107z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM457 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1196 1640q0 -108 -172 -141l-6 -41h-63l6 88q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58 -q45 8 90 8q155 0 155 -107z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM475 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z -M985 1942q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM457 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM967 1604q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76 -q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1001 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 -t92.5 -146.5v-29zM355 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM955 1243h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29zM365 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5 -q-59 0 -59 74z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1030 1819q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5 -t76.5 107.5h72zM733 1868q42 32 97.5 90t90.5 109h129v-31q-46 -50 -118 -106.5t-134 -90.5h-65v29z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1006 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM709 1530q42 32 97.5 90t90.5 109h129v-31q-46 -50 -118 -106.5t-134 -90.5h-65v29z -" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1030 1819q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5 -t76.5 107.5h72zM772 1839q-62 38 -121.5 96t-83.5 101v31h115q20 -43 65 -104.5t86 -96.5v-27h-61z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1006 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM748 1501q-62 38 -121.5 96t-83.5 101v31h115q20 -43 65 -104.5t86 -96.5v-27h-61z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1030 1819q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5 -t76.5 107.5h72zM975 2021q0 -56 -48 -95t-133 -54l-6 -43h-67l6 94q164 11 164 92q0 58 -91 58q-34 0 -84 -9v60q63 10 95 10q164 0 164 -113z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1006 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM951 1683q0 -56 -48 -95t-133 -54l-6 -43h-67l6 94q164 11 164 92q0 58 -91 58 -q-34 0 -84 -9v60q63 10 95 10q164 0 164 -113z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1030 1819q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5 -t76.5 107.5h72zM948 1942q-42 0 -80 17t-78 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1006 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM924 1604q-42 0 -80 17t-78 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93 -h-76q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1059" -d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1059 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5 -h72zM355 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" horiz-adv-x="1133" -d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 -t-64 -325.5q0 -152 50 -223.5t151 -71.5zM1010 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM351 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5 -q-59 0 -59 74z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM385 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM344 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM1016 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM907 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM919 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5 -t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM793 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173 -t-124.5 -55z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM494 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM969 1802q50 37 104.5 96.5t84.5 102.5h129v-31 -q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM393 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM868 1464q50 37 104.5 96.5t84.5 102.5h129v-31q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z -" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM553 1772q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM498 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36 -q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM448 1434q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM393 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM494 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1233 1978q0 -108 -172 -141l-6 -41h-63l6 88 -q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58q45 8 90 8q155 0 155 -107z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM393 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1132 1640q0 -108 -172 -141l-6 -41h-63l6 88q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58 -q45 8 90 8q155 0 155 -107z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM498 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1008 1942q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5 -t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM393 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM903 1604q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76 -q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1067" -d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM1028 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29zM385 -239q0 56 21.5 88.5t60.5 32.5 -q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="928" -d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 -q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM910 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29zM357 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5 -t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM753 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM663 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="504" -d="M102 0l310 1462h98l-309 -1462h-99zM48 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="475" -d="M174 0h-98l231 1087h96zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5zM18 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM594 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM387 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1202 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM942 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM635 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1110 1802q50 37 104.5 96.5t84.5 102.5h129v-31q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM405 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM880 1464q50 37 104.5 96.5t84.5 102.5h129v-31q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM686 1772q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM631 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM460 1434q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM405 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM631 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1370 1978q0 -108 -172 -141l-6 -41h-63l6 88q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58q45 8 90 8 -q155 0 155 -107z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM405 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1144 1640q0 -108 -172 -141l-6 -41h-63l6 88q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58q45 8 90 8 -q155 0 155 -107z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM631 1604q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM1141 1942q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76 -q19 101 72.5 155t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM405 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM915 1604q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76q19 101 72.5 155 -t138.5 54q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 -q0 240 -104.5 364t-310.5 124zM1163 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29zM590 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5 -q-59 0 -59 74z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1124" -d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 -q0 154 -73 237t-210 83zM941 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29zM387 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q143 0 252.5 -54t175.5 -163q102 41 154 109t71 181h105l12 -18q-53 -246 -305 -344q45 -121 45 -283zM879 1389q-174 0 -308.5 -101t-214.5 -298 -t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124zM811 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1155" -d="M649 1108q203 0 301 -137q87 35 135.5 101.5t67.5 178.5h104l13 -18q-52 -240 -281 -334q37 -87 37 -199q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5 -q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM586 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q143 0 252.5 -54t175.5 -163q102 41 154 109t71 181h105l12 -18q-53 -246 -305 -344q45 -121 45 -283zM879 1389q-174 0 -308.5 -101t-214.5 -298 -t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124zM973 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1155" -d="M649 1108q203 0 301 -137q87 35 135.5 101.5t67.5 178.5h104l13 -18q-52 -240 -281 -334q37 -87 37 -199q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5 -q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM749 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q143 0 252.5 -54t175.5 -163q102 41 154 109t71 181h105l12 -18q-53 -246 -305 -344q45 -121 45 -283zM879 1389q-174 0 -308.5 -101t-214.5 -298 -t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124zM1202 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1155" -d="M649 1108q203 0 301 -137q87 35 135.5 101.5t67.5 178.5h104l13 -18q-52 -240 -281 -334q37 -87 37 -199q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5 -q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM942 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q143 0 252.5 -54t175.5 -163q102 41 154 109t71 181h105l12 -18q-53 -246 -305 -344q45 -121 45 -283zM879 1389q-174 0 -308.5 -101t-214.5 -298 -t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124zM1060 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36 -q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1155" -d="M649 1108q203 0 301 -137q87 35 135.5 101.5t67.5 178.5h104l13 -18q-52 -240 -281 -334q37 -87 37 -199q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5 -q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM837 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5 -h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1464" -d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q143 0 252.5 -54t175.5 -163q102 41 154 109t71 181h105l12 -18q-53 -246 -305 -344q45 -121 45 -283zM879 1389q-174 0 -308.5 -101t-214.5 -298 -t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124zM590 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1155" -d="M649 1108q203 0 301 -137q87 35 135.5 101.5t67.5 178.5h104l13 -18q-52 -240 -281 -334q37 -87 37 -199q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5 -q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM371 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM506 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5 -t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM359 -239q0 56 21.5 88.5t60.5 32.5 -q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1370" -d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1141 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82 -q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1143" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM971 1526q0 -152 -227 -193l-33 -125h-78 -l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1489" -d="M1395 1462l-45 -211q101 29 160.5 99t82.5 206h105l12 -18q-35 -160 -129.5 -248.5t-249.5 -126.5l-143 -678q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5 -l207 977h101zM811 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1284" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-31 -145q103 28 163 99t83 212h104l13 -18q-35 -162 -130 -254t-251 -127l-182 -854h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62 -t-67.5 181q0 60 22 170l150 690h100zM607 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1489" -d="M1395 1462l-45 -211q101 29 160.5 99t82.5 206h105l12 -18q-35 -160 -129.5 -248.5t-249.5 -126.5l-143 -678q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5 -l207 977h101zM973 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1284" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-31 -145q103 28 163 99t83 212h104l13 -18q-35 -162 -130 -254t-251 -127l-182 -854h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62 -t-67.5 181q0 60 22 170l150 690h100zM770 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1489" -d="M1395 1462l-45 -211q101 29 160.5 99t82.5 206h105l12 -18q-35 -160 -129.5 -248.5t-249.5 -126.5l-143 -678q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5 -l207 977h101zM1163 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1284" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-31 -145q103 28 163 99t83 212h104l13 -18q-35 -162 -130 -254t-251 -127l-182 -854h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62 -t-67.5 181q0 60 22 170l150 690h100zM981 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1489" -d="M1395 1462l-45 -211q101 29 160.5 99t82.5 206h105l12 -18q-35 -160 -129.5 -248.5t-249.5 -126.5l-143 -678q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5 -l207 977h101zM1052 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1284" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-31 -145q103 28 163 99t83 212h104l13 -18q-35 -162 -130 -254t-251 -127l-182 -854h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62 -t-67.5 181q0 60 22 170l150 690h100zM856 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1489" -d="M1395 1462l-45 -211q101 29 160.5 99t82.5 206h105l12 -18q-35 -160 -129.5 -248.5t-249.5 -126.5l-143 -678q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5 -l207 977h101zM506 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1284" -d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-31 -145q103 28 163 99t83 212h104l13 -18q-35 -162 -130 -254t-251 -127l-182 -854h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62 -t-67.5 181q0 60 22 170l150 690h100zM365 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM728 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM632 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303 -v-25z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM264 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM586 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5 -t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM946 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM823 1526q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82 -q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="965" -d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM843 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76 -q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="920" -d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM726 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18 -q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1595" -d="M165 1157q105 152 164 301h135v-33q-60 -85 -138.5 -171.5t-135.5 -135.5h-25v39zM-89 1214q0 86 67 156t183 105l-20 -93q-55 -15 -85 -40.5t-30 -45.5t29 -41q30 -25 30 -57q0 -35 -25 -59.5t-63 -24.5q-42 0 -64 29t-22 71zM1532 911q0 -255 -94 -481.5t-252 -338 -t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM1008 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="524" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="983" -d="M66 502l18 90h807l-17 -90h-808z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1966" -d="M68 502l18 90h1788l-16 -90h-1790z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="1966" -d="M68 502l18 90h1788l-16 -90h-1790z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="801" -d="M666 -148h-807l18 86h807zM603 -433h-807l18 86h807z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="299" -d="M133 961l-4 22q41 100 116 231t161 248h73q-66 -106 -129.5 -242.5t-103.5 -258.5h-113z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="299" -d="M475 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="451" -d="M246 238l4 -23q-40 -97 -115.5 -230t-161.5 -249h-73q68 110 131.5 248t101.5 254h113z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="299" -d="M324 1462q19 -278 86 -501h-74q-102 265 -131 479l20 22h99z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="631" -d="M133 961l-4 22q41 100 116 231t161 248h73q-66 -106 -129.5 -242.5t-103.5 -258.5h-113zM467 961l-4 22q43 104 120 238.5t156 240.5h74q-66 -106 -129.5 -242.5t-103.5 -258.5h-113z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="631" -d="M809 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113zM475 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="776" -d="M561 238l4 -23q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 108 129 242.5t105 259.5h112zM227 238l4 -23q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q73 119 135.5 254.5t98.5 247.5h112z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1006" -d="M940 1055l-354 20l-201 -1075h-117l254 1075l-342 -20l25 112l332 -28l61 417h117l-115 -417l365 28z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1006" -d="M457 461l362 24l-24 -112l-353 24l-57 -397h-117l111 397l-344 -24l24 112l334 -24l51 325l80 293l-344 -24l25 112l332 -24l61 413h117l-115 -413l365 24l-25 -112l-352 24l-47 -293z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="793" -d="M248 682q0 137 63 213t172 76q76 0 116 -39.5t40 -118.5q0 -125 -66 -207t-176 -82q-149 0 -149 158z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1489" -d="M69 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73zM569 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73zM1071 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2255" -d="M1458 1462l-1139 -1462h-106l1135 1462h110zM1520 612q0 -175 -50 -327t-136 -230t-197 -78q-112 0 -172 75.5t-60 223.5q0 158 51.5 310t137 230.5t194.5 78.5q121 0 176.5 -71.5t55.5 -211.5zM1284 821q-79 0 -145.5 -72t-107 -202t-40.5 -264q0 -116 41 -174t113 -58 -q130 0 209.5 166.5t79.5 386.5q0 109 -36 163t-114 54zM760 1198q0 -175 -50 -327t-136 -230t-197 -78q-112 0 -172 75.5t-60 223.5q0 158 51.5 310t137 230.5t194.5 78.5q232 0 232 -283zM524 1407q-78 0 -144 -70t-107.5 -200.5t-41.5 -268.5q0 -115 41 -173t113 -58 -q84 0 148.5 72t102.5 204t38 277q0 109 -36 163t-114 54zM2218 612q0 -175 -50 -327t-136 -230t-197 -78t-171 75.5t-60 223.5q0 158 51.5 310t137 230.5t194.5 78.5q120 0 175.5 -71.5t55.5 -211.5zM1982 821q-79 0 -145 -71.5t-106.5 -201t-40.5 -265.5q0 -116 40.5 -174 -t112.5 -58q84 0 148.5 72t102.5 204t38 277q0 112 -36.5 164.5t-113.5 52.5z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="403" -d="M461 1462l-146 -528h-61l80 528h127z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="721" -d="M455 1462l-146 -528h-61l80 528h127zM784 1462l-145 -528h-61l79 528h127z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="537" -d="M451 932l57 -49l-318 -336l213 -385l-63 -39l-254 418l2 26z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="537" -d="M94 123l-57 49l317 336l-213 385l64 39l254 -418l-2 -27z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="897" -d="M676 377h-62l203 1085h119zM508 57q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-68 -34.5q-67 0 -67 73zM218 377h-62l203 1085h119zM50 57q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-68 -34.5q-67 0 -67 73z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="274" -d="M731 1462l-1087 -1462h-107l1086 1462h108z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="643" -d="M729 1198q0 -174 -50 -326t-135.5 -230.5t-197.5 -78.5q-111 0 -171 75.5t-60 223.5q0 158 51.5 310t137 230.5t194.5 78.5q231 0 231 -283zM494 1407q-78 0 -144 -69.5t-107.5 -199t-41.5 -270.5q0 -115 40.5 -173t112.5 -58q84 0 148.5 72t102.5 204t38 277 -q0 112 -36.5 164.5t-112.5 52.5z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="643" -d="M657 815h-131l-49 -229h-82l49 229h-391l21 76l506 577h86l-125 -581h133zM459 887q61 294 79 365.5t29 105.5q-10 -16 -61 -79t-338 -392h291z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="643" -d="M408 1120q112 0 174.5 -58t62.5 -175q0 -141 -96.5 -230.5t-249.5 -89.5q-126 0 -209 49v93q102 -66 213 -66q116 0 185 67t69 173q0 77 -43 120.5t-125 43.5q-78 0 -168 -31l-33 22l121 424h406l-15 -78h-333l-80 -280q64 16 121 16z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="643" -d="M719 1370q-51 16 -117 16q-124 0 -221.5 -96.5t-132.5 -257.5h8q85 96 217 96q93 0 149 -59.5t56 -163.5q0 -90 -39 -169t-109.5 -125t-164.5 -46q-110 0 -168 73t-58 210q0 170 62 315t170.5 225t244.5 80q24 0 66 -4.5t59 -11.5zM375 639q93 0 154 74t61 182 -q0 69 -36 114.5t-105 45.5q-58 0 -110.5 -28t-83 -75.5t-30.5 -124.5q0 -85 40.5 -136.5t109.5 -51.5z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="643" -d="M154 586l483 796h-412l17 80h508l-9 -65l-485 -811h-102z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="643" -d="M504 1477q98 0 157.5 -51t59.5 -140q0 -79 -48.5 -139t-166.5 -109q63 -40 101 -90t38 -121q0 -112 -82.5 -184t-216.5 -72q-106 0 -171.5 56.5t-65.5 154.5t63 162t178 109q-60 47 -85 92.5t-25 101.5q0 102 72 166t192 64zM414 1008q-104 -35 -161.5 -86t-57.5 -134 -q0 -65 42.5 -103t116.5 -38q90 0 145.5 47.5t55.5 126.5q0 60 -41 110.5t-100 76.5zM494 1397q-81 0 -126.5 -39.5t-45.5 -106.5q0 -46 25 -86.5t89 -85.5q83 33 118.5 58t57 59t21.5 82q0 55 -37 87t-102 32z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="643" -d="M115 670q69 -23 133 -23q124 0 219 94t131 256h-8q-90 -102 -211 -102q-95 0 -151 64t-56 167q0 91 39 170t110 125.5t164 46.5q109 0 167.5 -74t58.5 -212q0 -168 -61 -311.5t-169.5 -224.5t-247.5 -81q-77 0 -118 17v88zM475 1391q-91 0 -150 -71t-59 -183 -q0 -73 35 -117.5t102 -44.5q65 0 120 34.5t83 98.5q5 10 10 41t5 57q0 82 -40 133.5t-106 51.5z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="733" -d="M584 819l86 389q14 60 14 111q0 86 -84 86q-89 0 -164.5 -83.5t-103.5 -219.5l-60 -283h-84l138 649h67l-14 -127h6q45 68 105.5 103t127.5 35q150 0 150 -154q0 -51 -14 -113l-84 -393h-86z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" -d="M268 399l226 1063h667l-20 -94h-563l-127 -592h548l-20 -94h-549l-59 -283h309l-21 -94h-309l-63 -305h-103l64 305h-185l21 94h184z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" -d="M879 1479q170 0 313 -78l-39 -84l-54 26q-108 50 -231 50q-134 0 -220.5 -74.5t-117.5 -220.5l-43 -197h410l-18 -82h-408l-47 -231h414l-19 -82h-413l-23 -100q-49 -223 -188 -312h759l-20 -94h-938l16 84q95 11 167 95.5t106 234.5l20 92h-190l16 82h193l49 231h-199 -l16 82h199l45 207q41 187 155 279t290 92z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1346" -d="M934 1102q0 -500 -610 -500h-31l-129 -602h-103l310 1462h145q202 0 310 -92.5t108 -267.5zM309 694h27q252 0 371.5 96.5t119.5 305.5q0 274 -331 274h-41zM1391 842l-19 -82h-242l-83 -387q-23 -103 -23 -164q0 -66 26 -102.5t91 -36.5q46 0 75.5 9t55.5 17v-86 -q-29 -8 -63.5 -18t-86.5 -10q-196 0 -196 213q0 78 28 206l78 359h-141l14 67l144 17l96 254h55l-55 -256h246z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" horiz-adv-x="1163" -d="M655 1104q227 0 279 -219h4q7 42 82 387h-404l21 84h401l43 200h99l-43 -200h157l-20 -84h-154l-270 -1272h-82l45 274h-6q-173 -294 -424 -294q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5 -q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5t-64 -327.5q0 -295 201 -295zM795 -291h-807l18 86h807z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" -d="M991 1389q-186 0 -330.5 -120.5t-226.5 -346.5h457l-21 -82h-460q-30 -98 -39 -217h442l-20 -82h-424q0 -243 89 -356t265 -113q115 0 252 57v-94q-129 -55 -270 -55q-209 0 -325 139.5t-116 394.5v27h-184l16 82h172q5 101 35 217h-170l19 82h174q95 273 270 417 -t399 144q166 0 287 -90l-53 -82q-102 78 -238 78z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1610" -d="M1452 1462l-1096 -1462h-106l1096 1462h106zM573 811q-113 0 -177 61t-64 187q0 110 44.5 204.5t122.5 148.5t171 54q82 0 161 -28l-26 -80q-72 28 -139 28q-103 0 -172.5 -94t-69.5 -229q0 -172 151 -172q81 0 166 39v-82q-74 -37 -168 -37zM1157 653q119 0 180.5 -66 -t61.5 -184q0 -112 -39 -205t-111.5 -145.5t-169.5 -52.5q-117 0 -179 66.5t-62 185.5q0 110 41 203.5t113.5 145.5t164.5 52zM1307 410q0 81 -39.5 123t-110.5 42q-70 0 -121 -43t-78.5 -118.5t-27.5 -163.5q0 -174 155 -174q101 0 161.5 92t60.5 242z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1024" -d="M602 72q171 0 197 229h78q-5 -146 -82.5 -232.5t-204.5 -86.5q-143 0 -210 82.5t-67 246.5v285q-104 -43 -198 -64v84q106 28 198 66v506q0 144 62.5 219.5t177.5 75.5q116 0 181 -76.5t65 -216.5q0 -188 -99 -330.5t-288 -228.5v-301q0 -134 44 -196t146 -62zM705 1188 -q0 105 -40.5 158t-111.5 53q-73 0 -107 -48t-34 -163v-463q152 77 222.5 190t70.5 273z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="1913" -d="M991 0h-102l-438 1343l-41 -221l-43 -213l-193 -909h-96l309 1462h123l424 -1296l274 1296h92zM1235 0l18 86h406l-17 -86h-407zM1602 950q122 0 190 -73t68 -199q0 -114 -45 -210.5t-121 -145t-174 -48.5q-118 0 -185 72.5t-67 202.5q0 174 93 287.5t241 113.5z -M1761 676q0 89 -42.5 140.5t-116.5 51.5q-108 0 -173 -86t-65 -227q0 -100 45 -149.5t117 -49.5q108 0 171.5 88.5t63.5 231.5z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1589" -d="M496 936q0 -93 -70.5 -148t-192.5 -55q-111 0 -192 29v82q93 -35 190 -35q91 0 137 33.5t46 89.5q0 53 -31.5 81.5t-140.5 71.5q-81 33 -118 58.5t-52 57t-15 89.5q0 79 64.5 131t159.5 52q89 0 196 -31l-22 -76q-33 11 -83 20t-91 9q-69 0 -104.5 -29.5t-35.5 -79.5 -q0 -46 27.5 -73t122.5 -62q96 -38 134 -65t54.5 -63t16.5 -87zM934 741l-221 609h-6l4 -201v-408h-82v721h125l221 -606l223 606h125v-721h-86v398l4 207h-6l-227 -605h-74z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1534" -d="M477 741h-86v643h-217v78h522v-78h-219v-643zM1077 741l-221 609h-6l4 -201v-408h-82v721h125l221 -606l223 606h125v-721h-86v398l4 207h-6l-227 -605h-74z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1511" -d="M879 1389q-135 0 -245 -52.5t-188 -149.5t-124 -236.5t-46 -282.5q0 -129 27.5 -230.5t77 -186t156.5 -194.5l-11 -57h-499l18 94h346q-84 94 -126 174.5t-67.5 180.5t-25.5 225q0 227 94.5 421t253 291t363.5 97q251 0 385.5 -145.5t134.5 -426.5q0 -253 -123 -472 -t-334 -345h377l-18 -94h-560l11 57q265 146 401.5 367.5t136.5 495.5q0 224 -108 346.5t-307 122.5z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M668 -35q-157 0 -277.5 73.5t-187 204t-66.5 287.5q0 171 69 298.5t191 197.5t271 70q152 0 273.5 -71t189 -200.5t67.5 -294.5h-827v-356q49 -53 132 -88t165 -35q131 0 222.5 52.5t172.5 181.5l72 -41q-98 -155 -206.5 -217t-260.5 -62zM967 616v277q-55 55 -134 87 -t-167 32q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1442" -d="M1153 888q98 0 157.5 -51t59.5 -140q0 -79 -48.5 -139t-166.5 -109q63 -40 101 -90t38 -121q0 -112 -82.5 -184t-216.5 -72q-106 0 -171.5 56.5t-65.5 154.5t63 162t178 109q-60 47 -85 92.5t-25 101.5q0 102 72 166t192 64zM1063 419q-104 -35 -161.5 -86t-57.5 -134 -q0 -65 42.5 -103t116.5 -38q90 0 145.5 47.5t55.5 126.5q0 60 -41 110.5t-100 76.5zM1143 808q-81 0 -126.5 -39.5t-45.5 -106.5q0 -46 25 -86.5t89 -85.5q83 33 118.5 58t57 59t21.5 82q0 55 -37 87t-102 32zM452 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5t14 60 -t15.5 59t15 49.5q-34 -31 -60 -51.5t-143 -93.5l-39 59zM1251 1462l-1087 -1462h-107l1086 1462h108z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1630" -d="M1342 888q98 0 157.5 -51t59.5 -140q0 -79 -48.5 -139t-166.5 -109q63 -40 101 -90t38 -121q0 -112 -82.5 -184t-216.5 -72q-106 0 -171.5 56.5t-65.5 154.5t63 162t178 109q-60 47 -85 92.5t-25 101.5q0 102 72 166t192 64zM1252 419q-104 -35 -161.5 -86t-57.5 -134 -q0 -65 42.5 -103t116.5 -38q90 0 145.5 47.5t55.5 126.5q0 60 -41 110.5t-100 76.5zM1332 808q-81 0 -126.5 -39.5t-45.5 -106.5q0 -46 25 -86.5t89 -85.5q83 33 118.5 58t57 59t21.5 82q0 55 -37 87t-102 32zM679 1276q0 -85 -48.5 -148t-154.5 -88v-4q66 -16 105.5 -68 -t39.5 -124q0 -77 -39 -141t-109 -99t-161 -35q-59 0 -123.5 15.5t-105.5 40.5v90q46 -28 108 -48t125 -20q99 0 159 52.5t60 142.5q0 162 -196 162h-84l16 79h86q102 0 168.5 49.5t66.5 129.5q0 68 -37.5 102.5t-105.5 34.5q-100 0 -199 -68l-40 64q109 86 251 86 -q100 0 159 -56.5t59 -148.5zM1436 1462l-1087 -1462h-107l1086 1462h108z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1614" -d="M1325 888q98 0 157.5 -51t59.5 -140q0 -79 -48.5 -139t-166.5 -109q63 -40 101 -90t38 -121q0 -112 -82.5 -184t-216.5 -72q-106 0 -171.5 56.5t-65.5 154.5t63 162t178 109q-60 47 -85 92.5t-25 101.5q0 102 72 166t192 64zM1235 419q-104 -35 -161.5 -86t-57.5 -134 -q0 -65 42.5 -103t116.5 -38q90 0 145.5 47.5t55.5 126.5q0 60 -41 110.5t-100 76.5zM1315 808q-81 0 -126.5 -39.5t-45.5 -106.5q0 -46 25 -86.5t89 -85.5q83 33 118.5 58t57 59t21.5 82q0 55 -37 87t-102 32zM401 1120q112 0 174.5 -58t62.5 -175q0 -141 -96.5 -230.5 -t-249.5 -89.5q-126 0 -209 49v93q102 -66 213 -66q116 0 185 67t69 173q0 77 -43 120.5t-125 43.5q-78 0 -168 -31l-33 22l121 424h406l-15 -78h-333l-80 -280q64 16 121 16zM1425 1462l-1087 -1462h-107l1086 1462h108z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1432" -d="M1143 888q98 0 157.5 -51t59.5 -140q0 -79 -48.5 -139t-166.5 -109q63 -40 101 -90t38 -121q0 -112 -82.5 -184t-216.5 -72q-106 0 -171.5 56.5t-65.5 154.5t63 162t178 109q-60 47 -85 92.5t-25 101.5q0 102 72 166t192 64zM1053 419q-104 -35 -161.5 -86t-57.5 -134 -q0 -65 42.5 -103t116.5 -38q90 0 145.5 47.5t55.5 126.5q0 60 -41 110.5t-100 76.5zM1133 808q-81 0 -126.5 -39.5t-45.5 -106.5q0 -46 25 -86.5t89 -85.5q83 33 118.5 58t57 59t21.5 82q0 55 -37 87t-102 32zM1255 1462l-1087 -1462h-107l1086 1462h108zM132 586l483 796 -h-412l17 80h508l-9 -65l-485 -811h-102z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M1069 940q0 -275 -75 -495.5t-211 -342.5t-312 -122q-154 0 -241 100t-87 276q0 170 71 324.5t186 233.5t259 79q223 0 308 -213l4 105q0 259 -76 379t-236 120q-57 0 -122.5 -17.5t-110.5 -41.5v98q42 20 115.5 35t130.5 15q192 0 294.5 -135t102.5 -398zM485 70 -q113 0 206 73t158.5 208t92.5 306q-95 250 -287 250q-117 0 -208.5 -69.5t-146 -200t-54.5 -270.5q0 -144 62.5 -220.5t176.5 -76.5z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1092" -d="M752 1468h67l193 -1402l-11 -66h-1046l14 70zM754 1305q-42 -90 -93.5 -188t-560.5 -1021h801q-70 531 -107 812t-40 397z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1501" -d="M1192 -510v1876h-883v-1876h-102v1972h1087v-1972h-102z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1272" -d="M86 -510v70l664 970l-648 863v69h1041v-94h-897l628 -829l-649 -955h985v-94h-1124z" /> - <glyph glyph-name="minus" unicode="&#x2212;" -d="M168 672v100h903v-100h-903z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M610 -14h-110l-281 798h-182v88h250l270 -768l541 1561h94z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1434" -d="M416 1034q91 0 163.5 -53.5t137.5 -175.5q63 120 135 174.5t166 54.5q127 0 210 -88.5t83 -222.5q0 -135 -83.5 -223t-209.5 -88q-94 0 -166 54.5t-135 174.5q-66 -123 -138.5 -176t-162.5 -53q-127 0 -210 88.5t-83 222.5q0 135 83.5 223t209.5 88zM1018 938 -q-80 0 -137.5 -54t-112.5 -161q55 -107 112.5 -161t137.5 -54q88 0 140 59.5t52 155.5q0 97 -52.5 156t-139.5 59zM416 938q-87 0 -140 -59t-53 -156t53 -156t140 -59q74 0 131.5 49t118.5 166q-60 116 -118 165.5t-132 49.5z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="745" -d="M356 1169q0 387 293 387q48 0 90 -12v-90q-46 12 -90 12q-97 0 -145.5 -68t-48.5 -224v-1278q0 -198 -71.5 -293t-217.5 -95q-66 0 -121 19v90q52 -18 125 -18q186 0 186 288v1282z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" -d="M350 543q-50 0 -108.5 -31.5t-114.5 -89.5v94q107 111 233 111q67 0 124.5 -16.5t146.5 -55.5q122 -57 219 -57q110 0 225 125v-97q-110 -112 -233 -112q-119 0 -271 71q-59 27 -112 42.5t-109 15.5zM350 954q-49 0 -108 -30.5t-115 -89.5v94q108 110 233 110 -q61 0 115 -13.5t156 -57.5q126 -58 219 -58q54 0 107.5 29t117.5 96v-96q-108 -113 -233 -113q-117 0 -271 72q-62 29 -112.5 43t-108.5 14z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1169" -d="M514 477l-139 -299l-76 37l123 262h-311v82h350l153 326h-503v82h542l144 305l73 -39l-125 -266h314v-82h-352l-154 -326h506v-82h-545z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" horiz-adv-x="1169" -d="M1051 262l-914 414v74l914 471v-103l-801 -399l801 -350v-107zM168 -10v100h903v-100h-903z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" horiz-adv-x="1169" -d="M170 369l801 350l-801 399v103l915 -471v-74l-915 -414v107zM168 -10v100h903v-100h-903z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1188" -d="M119 735l450 740h49l451 -740l-451 -735h-49zM969 735l-375 621l-375 -621l375 -614z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-4q59 -13 83 -47t24 -90 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM579 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM413 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM758 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM634 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM290 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM660 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36 -q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM267 1671h508l-18 -88h-508z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM792 1819q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM308 0l-75 -60q-61 -47 -91.5 -95t-30.5 -101q0 -82 88 -82q33 0 76 10v-71q-41 -15 -98 -15q-75 0 -116.5 38t-41.5 108q0 69 48 132.5t169 135.5h72z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM461 1704q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1059" -d="M391 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM402 -360q-48 0 -88 8t-56 16l11 92q57 -20 137 -20q213 0 262 241l309 1485h105l-314 -1491q-35 -170 -125 -250.5t-241 -80.5z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="827" -d="M639 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM124 1161q57 81 116.5 191.5t94.5 205.5h111v-31q-29 -70 -108.5 -191.5t-147.5 -199.5h-66v25z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM634 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM290 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM634 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM290 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1163" -d="M987 1528q-17 -137 -110.5 -212t-243.5 -75q-140 0 -205.5 58t-65.5 155q0 38 13 74h82q-8 -45 -8 -62q0 -68 42.5 -103.5t143.5 -35.5q231 0 258 201h94z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="954" -d="M532 1255q36 46 88 146.5t72 154.5h96v-20q-9 -39 -79.5 -146t-128.5 -161h-48v26z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="954" -d="M172 -426q34 44 85.5 142t74.5 159h96v-20q-9 -40 -78.5 -145.5t-130.5 -162.5h-47v27z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="954" -d="M778 1542q-34 -44 -85.5 -142t-74.5 -159h-96v21q8 38 77 143t132 164h47v-27z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="1038" -d="M649 1157q105 152 164 301h135v-33q-60 -85 -138.5 -171.5t-135.5 -135.5h-25v39zM395 1214q0 86 67 156t183 105l-20 -93q-55 -15 -85 -40.5t-30 -45.5t29 -41q30 -25 30 -57q0 -35 -25 -59.5t-63 -24.5q-42 0 -64 29t-22 71z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM786 1864q0 -152 -227 -193l-33 -125h-78l33 178q123 19 169 48t46 82q0 38 -34 58.5t-97 20.5q-48 0 -98 -10v70q46 10 98 10q221 0 221 -139z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="582" -d="M383 0h-420l14 63l164 11l277 1312l-158 11l10 65h420l-10 -65l-160 -11l-278 -1312l153 -11zM77 -239q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-766 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM-291 1464q50 37 104.5 96.5t84.5 102.5h129v-31q-55 -57 -126.5 -111.5t-125.5 -84.5h-66v28z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-711 1434q-55 34 -116.5 92t-87.5 104v31h114q31 -59 73.5 -114.5t78.5 -86.5v-26h-62zM-766 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-766 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM-27 1640q0 -108 -172 -141l-6 -41h-63l6 88q156 12 156 88q0 56 -87 56q-30 0 -79 -9v58q45 8 90 8q155 0 155 -107z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-766 1266q63 39 147.5 114.5t133.5 132.5h77q16 -43 63.5 -115t104.5 -134v-23h-36q-99 55 -189 160q-127 -104 -264 -160h-37v25zM-256 1604q-42 0 -79.5 17t-78.5 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76q19 101 72.5 155t138.5 54q50 0 88.5 -18 -t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-221 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM-518 1530q42 32 97.5 90t90.5 109h129v-31q-46 -50 -118 -106.5t-134 -90.5h-65v29z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-221 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM-479 1501q-62 38 -121.5 96t-83.5 101v31h115q20 -43 65 -104.5t86 -96.5v-27h-61z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-221 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM-276 1683q0 -56 -48 -95t-133 -54l-6 -43h-67l6 94q164 11 164 92q0 58 -91 58q-34 0 -84 -9v60q63 10 95 10q164 0 164 -113 -z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-221 1481q-29 -119 -100 -176.5t-193 -57.5q-105 0 -163 50.5t-58 142.5v21l2 20h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72zM-303 1604q-42 0 -80 17t-78 40q-35 22 -66 38.5t-71 16.5q-46 0 -76.5 -26t-52.5 -93h-76q19 101 72.5 155t138.5 54 -q50 0 88.5 -18t67.5 -37q59 -39 84 -49t53 -10q45 0 74.5 29t48.5 94h78q-26 -110 -76.5 -160.5t-128.5 -50.5z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="418" -d="M-59 -340q118 0 118 160q0 100 -32 180h84q43 -115 43 -190q0 -102 -54.5 -163t-158.5 -61q-50 0 -82 15l14 69q27 -10 68 -10z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="293" -d="M322 94l-56 -260q-18 -87 -59 -128.5t-113 -41.5q-48 0 -67 17v88q32 -15 65 -15q84 0 103 103l49 237h78z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="293" -d="M319 84l-53 -250q-18 -87 -59 -128.5t-113 -41.5q-48 0 -67 17v88q32 -15 65 -15q84 0 103 103l47 227h77z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="655" -d="M319 0h-105l225 1055q19 92 74 293q-42 -36 -75.5 -61t-249.5 -161l-52 78l406 258h90z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1106" -d="M1001 705q0 -204 -68.5 -376.5t-186.5 -260.5t-273 -88q-179 0 -274 110t-95 318q0 199 68.5 364t190 258.5t268.5 93.5q175 0 272.5 -110.5t97.5 -308.5zM627 1040q-117 0 -213 -79.5t-152.5 -226.5t-56.5 -318q0 -182 73 -267.5t205 -85.5q123 0 217 81.5t146.5 229 -t52.5 326.5q0 162 -71 251t-201 89z" /> - <glyph glyph-name="one.os" horiz-adv-x="610" -d="M303 0h-104l151 705q52 223 74 294q-40 -35 -84.5 -66.5t-241.5 -154.5l-51 78l406 258h90z" /> - <glyph glyph-name="two.os" horiz-adv-x="903" -d="M733 0h-782l24 106l459 328q138 99 199 159.5t89 119t28 127.5q0 88 -58 140t-162 52q-162 0 -321 -139l-59 78q84 72 176.5 112.5t205.5 40.5q153 0 239.5 -74t86.5 -200q0 -86 -36.5 -160.5t-102.5 -143t-203 -163.5l-405 -281v-6h641z" /> - <glyph glyph-name="three.os" horiz-adv-x="932" -d="M868 817q0 -162 -106 -275t-286 -143v-4q117 -24 185.5 -115.5t68.5 -226.5q0 -134 -64 -233t-179.5 -148t-274.5 -49q-96 0 -184.5 20.5t-153.5 52.5v101q172 -86 344 -86q197 0 303.5 89.5t106.5 252.5q0 145 -89 223t-247 78h-117l21 96h110q209 0 333 95.5t124 258.5 -q0 114 -63.5 175t-188.5 61q-167 0 -344 -131l-49 75q84 67 188 104.5t218 37.5q161 0 252.5 -82.5t91.5 -226.5z" /> - <glyph glyph-name="four.os" horiz-adv-x="1094" -d="M977 18h-264l-80 -370h-96l79 370h-688l21 97l878 999h119l-213 -1008h264zM635 106l104 490q59 267 99 414h-4q-56 -82 -132 -168l-647 -736h580z" /> - <glyph glyph-name="five.os" horiz-adv-x="997" -d="M470 522q188 0 292.5 -102t104.5 -279q0 -237 -148 -377.5t-407 -140.5q-84 0 -177.5 20t-158.5 51v107q170 -90 340 -90q208 0 328.5 114.5t120.5 313.5q0 140 -85 219.5t-225 79.5q-133 0 -243 -41l-66 49l193 659h624l-18 -96h-541l-149 -516q98 29 215 29z" /> - <glyph glyph-name="six.os" horiz-adv-x="1044" -d="M108 428q0 283 105 544.5t269.5 385t383.5 123.5q123 0 182 -21l-18 -90q-86 23 -170 23q-233 0 -393.5 -174t-233.5 -502h8q68 94 164 143t211 49q161 0 250.5 -100.5t89.5 -282.5q0 -156 -60 -281t-171 -195t-257 -70q-171 0 -265.5 119t-94.5 329zM481 68 -q112 0 196.5 58.5t130 162t45.5 229.5q0 146 -67 224.5t-195 78.5q-81 0 -154 -31.5t-129 -87t-78 -115t-22 -173.5q0 -164 72.5 -255t200.5 -91z" /> - <glyph glyph-name="seven.os" horiz-adv-x="893" -d="M-11 -359l796 1366h-766l23 96h858l-20 -110l-779 -1352h-112z" /> - <glyph glyph-name="eight.os" horiz-adv-x="1065" -d="M726 1485q163 0 258 -85t95 -229q0 -138 -84 -234.5t-285 -172.5q130 -78 190 -170.5t60 -208.5t-58 -208t-165.5 -144.5t-260.5 -52.5q-178 0 -283.5 92.5t-105.5 253.5q0 159 100.5 268.5t321.5 187.5q-100 72 -144 152t-44 180q0 159 114 265t291 106zM599 733 -q-218 -73 -313.5 -167.5t-95.5 -225.5q0 -136 77.5 -206.5t219.5 -70.5q168 0 270 91t102 233q0 104 -62 189t-198 157zM716 1399q-130 0 -214.5 -82t-84.5 -203q0 -91 41.5 -159t157.5 -142q192 62 279 144t87 206q0 109 -70.5 172.5t-195.5 63.5z" /> - <glyph glyph-name="nine.os" horiz-adv-x="1030" -d="M943 671q0 -288 -101.5 -548t-263.5 -382t-393 -122q-114 0 -186 22v90q87 -29 192 -29q474 0 627 674h-8q-140 -192 -367 -192q-162 0 -255 105t-93 284q0 155 59.5 281t170.5 196t257 70q174 0 267.5 -115.5t93.5 -333.5zM570 1032q-112 0 -197.5 -58.5t-130.5 -162.5 -t-45 -230q0 -145 67.5 -225t192.5 -80q83 0 157.5 32.5t129 87.5t76.5 114t22 176q0 166 -71 256t-201 90z" /> - <glyph glyph-name="g.alt" horiz-adv-x="1133" -d="M358 -492q-72 0 -150 19.5t-138 50.5v103q62 -39 143.5 -63t153.5 -24q155 0 245.5 82t132.5 273l70 325h-8q-72 -136 -186.5 -215t-237.5 -79q-137 0 -208 95.5t-71 278.5q0 196 74.5 377.5t197.5 277t281 95.5q228 0 277 -219h6l59 202h80l-241 -1146 -q-49 -227 -166.5 -330t-313.5 -103zM406 70q85 0 174.5 60t162 166.5t108.5 236t36 208.5q0 127 -61.5 202t-168.5 75q-124 0 -224 -81.5t-164 -241.5t-64 -330q0 -152 50.5 -223.5t150.5 -71.5z" /> - <glyph glyph-name="gcircumflex.alt" horiz-adv-x="1133" -d="M358 -492q-72 0 -150 19.5t-138 50.5v103q62 -39 143.5 -63t153.5 -24q155 0 245.5 82t132.5 273l70 325h-8q-72 -136 -186.5 -215t-237.5 -79q-137 0 -208 95.5t-71 278.5q0 196 74.5 377.5t197.5 277t281 95.5q228 0 277 -219h6l59 202h80l-241 -1146 -q-49 -227 -166.5 -330t-313.5 -103zM406 70q85 0 174.5 60t162 166.5t108.5 236t36 208.5q0 127 -61.5 202t-168.5 75q-124 0 -224 -81.5t-164 -241.5t-64 -330q0 -152 50.5 -223.5t150.5 -71.5zM976 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29 -q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" /> - <glyph glyph-name="gbreve.alt" horiz-adv-x="1133" -d="M358 -492q-72 0 -150 19.5t-138 50.5v103q62 -39 143.5 -63t153.5 -24q155 0 245.5 82t132.5 273l70 325h-8q-72 -136 -186.5 -215t-237.5 -79q-137 0 -208 95.5t-71 278.5q0 196 74.5 377.5t197.5 277t281 95.5q228 0 277 -219h6l59 202h80l-241 -1146 -q-49 -227 -166.5 -330t-313.5 -103zM406 70q85 0 174.5 60t162 166.5t108.5 236t36 208.5q0 127 -61.5 202t-168.5 75q-124 0 -224 -81.5t-164 -241.5t-64 -330q0 -152 50.5 -223.5t150.5 -71.5zM1003 1481q-29 -120 -101 -177t-192 -57q-105 0 -163 50.5t-58 142.5v21l2 20 -h69q0 -68 36 -103t122 -35q85 0 136.5 30.5t76.5 107.5h72z" /> - <glyph glyph-name="gdot.alt" horiz-adv-x="1133" -d="M358 -492q-72 0 -150 19.5t-138 50.5v103q62 -39 143.5 -63t153.5 -24q155 0 245.5 82t132.5 273l70 325h-8q-72 -136 -186.5 -215t-237.5 -79q-137 0 -208 95.5t-71 278.5q0 196 74.5 377.5t197.5 277t281 95.5q228 0 277 -219h6l59 202h80l-241 -1146 -q-49 -227 -166.5 -330t-313.5 -103zM406 70q85 0 174.5 60t162 166.5t108.5 236t36 208.5q0 127 -61.5 202t-168.5 75q-124 0 -224 -81.5t-164 -241.5t-64 -330q0 -152 50.5 -223.5t150.5 -71.5zM637 1366q0 56 21.5 88.5t60.5 32.5q57 0 57 -72q0 -58 -22.5 -90.5 -t-57.5 -32.5q-59 0 -59 74z" /> - <glyph glyph-name="gcommaaccent.alt" horiz-adv-x="1133" -d="M358 -492q-72 0 -150 19.5t-138 50.5v103q62 -39 143.5 -63t153.5 -24q155 0 245.5 82t132.5 273l70 325h-8q-72 -136 -186.5 -215t-237.5 -79q-137 0 -208 95.5t-71 278.5q0 196 74.5 377.5t197.5 277t281 95.5q228 0 277 -219h6l59 202h80l-241 -1146 -q-49 -227 -166.5 -330t-313.5 -103zM406 70q85 0 174.5 60t162 166.5t108.5 236t36 208.5q0 127 -61.5 202t-168.5 75q-124 0 -224 -81.5t-164 -241.5t-64 -330q0 -152 50.5 -223.5t150.5 -71.5zM884 1542q-34 -44 -85.5 -142t-74.5 -159h-96v21q8 38 77 143t132 164h47v-27 -z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.ttf deleted file mode 100755 index 3e5a0d9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.woff deleted file mode 100755 index b07b69c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-LightItalic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.eot deleted file mode 100755 index 5e7a02e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.svg deleted file mode 100755 index fcc97e0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.svg +++ /dev/null @@ -1,21064 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:45:00 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans" horiz-adv-x="1139" > - <font-face - font-family="Open Sans" - font-weight="400" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 6 6 3 5 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1096" - cap-height="1462" - bbox="-1126 -555 2466 2146" - underline-thickness="102" - underline-position="-307" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1389" -d="M1364 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31 -q-94 0 -139 -62.5t-45 -200.5v-71h279v-129z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1212" -d="M670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1036 0h-166v1096h166v-1096zM856 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5 -t-28 83.5z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1212" -d="M670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1036 0h-166v1556h166v-1556z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="1909" -d="M1358 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31 -q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1731 0h-166v1096h166v-1096zM1551 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="1909" -d="M1358 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31 -q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1731 0h-166v1556h166v-1556z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="547" -d="M326 403h-105l-51 1059h207zM152 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="821" -d="M319 1462l-40 -528h-105l-41 528h186zM688 1462l-41 -528h-104l-41 528h186z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M981 899l-66 -340h283v-129h-307l-84 -430h-137l84 430h-303l-82 -430h-136l80 430h-262v129h287l68 340h-277v127h299l82 436h139l-82 -436h305l84 436h134l-84 -436h264v-127h-289zM475 559h303l66 340h-303z" /> - <glyph glyph-name="dollar" unicode="$" horiz-adv-x="1171" -d="M1036 449q0 -136 -102 -224.5t-285 -111.5v-232h-129v223q-112 0 -217 17.5t-172 48.5v156q83 -37 191.5 -60.5t197.5 -23.5v440q-205 65 -287.5 151t-82.5 222q0 131 101.5 215t268.5 102v182h129v-180q184 -5 355 -74l-52 -131q-149 59 -303 70v-434q157 -50 235 -97.5 -t115 -109t37 -149.5zM866 436q0 72 -44.5 116.5t-172.5 88.5v-389q217 30 217 184zM319 1057q0 -76 45 -122t156 -87v387q-99 -16 -150 -62.5t-51 -115.5z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1686" -d="M242 1026q0 -170 37 -255t120 -85q164 0 164 340q0 338 -164 338q-83 0 -120 -84t-37 -254zM700 1026q0 -228 -76.5 -344.5t-224.5 -116.5q-140 0 -217.5 119t-77.5 342q0 227 74.5 342t220.5 115q145 0 223 -119t78 -338zM1122 440q0 -171 37 -255.5t121 -84.5t124 83.5 -t40 256.5q0 171 -40 253.5t-124 82.5t-121 -82.5t-37 -253.5zM1581 440q0 -227 -76.5 -343.5t-224.5 -116.5q-142 0 -218.5 119t-76.5 341q0 227 74.5 342t220.5 115q142 0 221.5 -117.5t79.5 -339.5zM1323 1462l-811 -1462h-147l811 1462h147z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1495" -d="M414 1171q0 -69 36 -131.5t123 -150.5q129 75 179.5 138.5t50.5 146.5q0 77 -51.5 125.5t-137.5 48.5q-89 0 -144.5 -48t-55.5 -129zM569 129q241 0 400 154l-437 424q-111 -68 -157 -112.5t-68 -95.5t-22 -116q0 -117 77.5 -185.5t206.5 -68.5zM113 379q0 130 69.5 230 -t249.5 202q-85 95 -115.5 144t-48.5 102t-18 110q0 150 98 234t273 84q162 0 255 -83.5t93 -232.5q0 -107 -68 -197.5t-225 -183.5l407 -391q56 62 89.5 145.5t56.5 182.5h168q-68 -286 -205 -434l299 -291h-229l-185 178q-118 -106 -240 -152t-272 -46q-215 0 -333.5 106 -t-118.5 293z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="453" -d="M319 1462l-40 -528h-105l-41 528h186z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="606" -d="M82 561q0 265 77.5 496t223.5 405h162q-144 -193 -216.5 -424t-72.5 -475q0 -240 74 -469t213 -418h-160q-147 170 -224 397t-77 488z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="606" -d="M524 561q0 -263 -77.5 -490t-223.5 -395h-160q139 188 213 417.5t74 469.5q0 244 -72.5 475t-216.5 424h162q147 -175 224 -406.5t77 -494.5z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1130" -d="M657 1556l-43 -395l398 111l26 -182l-381 -31l248 -326l-172 -94l-176 362l-160 -362l-176 94l242 326l-377 31l29 182l391 -111l-43 395h194z" /> - <glyph glyph-name="plus" unicode="+" horiz-adv-x="1171" -d="M653 791h412v-138h-412v-426h-139v426h-410v138h410v428h139v-428z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="502" -d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="659" -d="M84 473v152h491v-152h-491z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="545" -d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="752" -d="M731 1462l-545 -1462h-166l545 1462h166z" /> - <glyph glyph-name="zero" unicode="0" horiz-adv-x="1171" -d="M1069 733q0 -379 -119.5 -566t-365.5 -187q-236 0 -359 191.5t-123 561.5q0 382 119 567t363 185q238 0 361.5 -193t123.5 -559zM270 733q0 -319 75 -464.5t239 -145.5q166 0 240.5 147.5t74.5 462.5t-74.5 461.5t-240.5 146.5q-164 0 -239 -144.5t-75 -463.5z" /> - <glyph glyph-name="one" unicode="1" horiz-adv-x="1171" -d="M715 0h-162v1042q0 130 8 246q-21 -21 -47 -44t-238 -195l-88 114l387 299h140v-1462z" /> - <glyph glyph-name="two" unicode="2" horiz-adv-x="1171" -d="M1061 0h-961v143l385 387q176 178 232 254t84 148t28 155q0 117 -71 185.5t-197 68.5q-91 0 -172.5 -30t-181.5 -109l-88 113q202 168 440 168q206 0 323 -105.5t117 -283.5q0 -139 -78 -275t-292 -344l-320 -313v-8h752v-154z" /> - <glyph glyph-name="three" unicode="3" horiz-adv-x="1171" -d="M1006 1118q0 -140 -78.5 -229t-222.5 -119v-8q176 -22 261 -112t85 -236q0 -209 -145 -321.5t-412 -112.5q-116 0 -212.5 17.5t-187.5 61.5v158q95 -47 202.5 -71.5t203.5 -24.5q379 0 379 297q0 266 -418 266h-144v143h146q171 0 271 75.5t100 209.5q0 107 -73.5 168 -t-199.5 61q-96 0 -181 -26t-194 -96l-84 112q90 71 207.5 111.5t247.5 40.5q213 0 331 -97.5t118 -267.5z" /> - <glyph glyph-name="four" unicode="4" horiz-adv-x="1171" -d="M1130 336h-217v-336h-159v336h-711v145l694 989h176v-983h217v-151zM754 487v486q0 143 10 323h-8q-48 -96 -90 -159l-457 -650h545z" /> - <glyph glyph-name="five" unicode="5" horiz-adv-x="1171" -d="M557 893q231 0 363.5 -114.5t132.5 -313.5q0 -227 -144.5 -356t-398.5 -129q-247 0 -377 79v160q70 -45 174 -70.5t205 -25.5q176 0 273.5 83t97.5 240q0 306 -375 306q-95 0 -254 -29l-86 55l55 684h727v-153h-585l-37 -439q115 23 229 23z" /> - <glyph glyph-name="six" unicode="6" horiz-adv-x="1171" -d="M117 625q0 431 167.5 644.5t495.5 213.5q113 0 178 -19v-143q-77 25 -176 25q-235 0 -359 -146.5t-136 -460.5h12q110 172 348 172q197 0 310.5 -119t113.5 -323q0 -228 -124.5 -358.5t-336.5 -130.5q-227 0 -360 170.5t-133 474.5zM608 121q142 0 220.5 89.5t78.5 258.5 -q0 145 -73 228t-218 83q-90 0 -165 -37t-119.5 -102t-44.5 -135q0 -103 40 -192t113.5 -141t167.5 -52z" /> - <glyph glyph-name="seven" unicode="7" horiz-adv-x="1171" -d="M285 0l606 1309h-797v153h973v-133l-598 -1329h-184z" /> - <glyph glyph-name="eight" unicode="8" horiz-adv-x="1171" -d="M584 1483q200 0 317 -93t117 -257q0 -108 -67 -197t-214 -162q178 -85 253 -178.5t75 -216.5q0 -182 -127 -290.5t-348 -108.5q-234 0 -360 102.5t-126 290.5q0 251 306 391q-138 78 -198 168.5t-60 202.5q0 159 117.5 253.5t314.5 94.5zM268 369q0 -120 83.5 -187 -t234.5 -67q149 0 232 70t83 192q0 97 -78 172.5t-272 146.5q-149 -64 -216 -141.5t-67 -185.5zM582 1348q-125 0 -196 -60t-71 -160q0 -92 59 -158t218 -132q143 60 202.5 129t59.5 161q0 101 -72.5 160.5t-199.5 59.5z" /> - <glyph glyph-name="nine" unicode="9" horiz-adv-x="1171" -d="M1061 838q0 -858 -664 -858q-116 0 -184 20v143q80 -26 182 -26q240 0 362.5 148.5t133.5 455.5h-12q-55 -83 -146 -126.5t-205 -43.5q-194 0 -308 116t-114 324q0 228 127.5 360t335.5 132q149 0 260.5 -76.5t171.5 -223t60 -345.5zM569 1341q-143 0 -221 -92t-78 -256 -q0 -144 72 -226.5t219 -82.5q91 0 167.5 37t120.5 101t44 134q0 105 -41 194t-114.5 140t-168.5 51z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="545" -d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM152 989q0 135 118 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="545" -d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182zM147 989q0 135 119 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-58 0 -88.5 35t-30.5 100z" /> - <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="1171" -d="M1065 242l-961 422v98l961 479v-149l-782 -371l782 -328v-151z" /> - <glyph glyph-name="equal" unicode="=" horiz-adv-x="1171" -d="M119 858v137h930v-137h-930zM119 449v137h930v-137h-930z" /> - <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="1171" -d="M104 393l783 326l-783 373v149l961 -479v-98l-961 -422v151z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="879" -d="M289 403v54q0 117 36 192.5t134 159.5q136 115 171.5 173t35.5 140q0 102 -65.5 157.5t-188.5 55.5q-79 0 -154 -18.5t-172 -67.5l-59 135q189 99 395 99q191 0 297 -94t106 -265q0 -73 -19.5 -128.5t-57.5 -105t-164 -159.5q-101 -86 -133.5 -143t-32.5 -152v-33h-129z -M240 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1841" -d="M1720 729q0 -142 -44 -260t-124 -183t-184 -65q-86 0 -145 52t-70 133h-8q-40 -87 -114.5 -136t-176.5 -49q-150 0 -234.5 102.5t-84.5 278.5q0 204 118 331.5t310 127.5q68 0 154 -12.5t155 -34.5l-25 -470v-22q0 -178 133 -178q91 0 148 107.5t57 279.5q0 181 -74 317 -t-210.5 209.5t-313.5 73.5q-223 0 -388 -92.5t-252 -264t-87 -396.5q0 -305 161 -469t464 -164q210 0 436 86v-133q-192 -84 -436 -84q-363 0 -563.5 199.5t-200.5 557.5q0 260 107 463t305 314.5t454 111.5q215 0 382.5 -90.5t259 -257t91.5 -383.5zM686 598 -q0 -254 195 -254q207 0 225 313l14 261q-72 20 -157 20q-130 0 -203.5 -90t-73.5 -250z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1327" -d="M201 1462h413q291 0 421 -87t130 -275q0 -130 -72.5 -214.5t-211.5 -109.5v-10q333 -57 333 -350q0 -196 -132.5 -306t-370.5 -110h-510v1462zM371 836h280q180 0 259 56.5t79 190.5q0 123 -88 177.5t-280 54.5h-250v-479zM371 692v-547h305q177 0 266.5 68.5t89.5 214.5 -q0 136 -91.5 200t-278.5 64h-291z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1493" -d="M1368 745q0 -362 -196.5 -553.5t-565.5 -191.5h-405v1462h448q341 0 530 -189t189 -528zM1188 739q0 286 -143.5 431t-426.5 145h-247v-1168h207q304 0 457 149.5t153 442.5z" /> - <glyph glyph-name="E" unicode="E" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="1057" -d="M371 0h-170v1462h815v-151h-645v-535h606v-151h-606v-625z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1491" -d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1511" -d="M1311 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="547" -d="M-12 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1257" -d="M1257 0h-200l-533 709l-153 -136v-573h-170v1462h170v-725l663 725h201l-588 -635z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="1063" -d="M201 0v1462h170v-1308h645v-154h-815z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1849" -d="M848 0l-496 1296h-8q14 -154 14 -366v-930h-157v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1544" -d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1233" -d="M1128 1036q0 -222 -151.5 -341.5t-433.5 -119.5h-172v-575h-170v1462h379q548 0 548 -426zM371 721h153q226 0 327 73t101 234q0 145 -95 216t-296 71h-190v-594z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1595" -d="M1470 733q0 -281 -113 -467t-319 -252l348 -362h-247l-285 330l-55 -2q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5 -q-243 0 -369.5 -153.5t-126.5 -446.5z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1266" -d="M371 608v-608h-170v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1133" -d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1219" -d="M1036 1462h183l-527 -1462h-168l-524 1462h180l336 -946q58 -163 92 -317q36 162 94 323z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1896" -d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1182" -d="M1174 0h-193l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1169" -d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="674" -d="M623 -324h-457v1786h457v-141h-289v-1503h289v-142z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="752" -d="M186 1462l547 -1462h-166l-544 1462h163z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="674" -d="M51 -182h289v1503h-289v141h457v-1786h-457v142z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1110" -d="M49 551l434 922h99l477 -922h-152l-372 745l-334 -745h-152z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="918" -d="M922 -315h-926v131h926v-131z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1182" -d="M786 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="a" unicode="a" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1255" -d="M686 1114q216 0 335.5 -147.5t119.5 -417.5t-120.5 -419.5t-334.5 -149.5q-107 0 -195.5 39.5t-148.5 121.5h-12l-35 -141h-119v1556h166v-378q0 -127 -8 -228h8q116 164 344 164zM662 975q-170 0 -245 -97.5t-75 -328.5t77 -330.5t247 -99.5q153 0 228 111.5t75 320.5 -q0 214 -75 319t-232 105z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57z" /> - <glyph glyph-name="d" unicode="d" horiz-adv-x="1255" -d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13l-7 79l-4 77v446h166v-1556h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317 -t226 -107z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="694" -d="M670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1122" -d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 -q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 -t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-173 0 -252.5 -94t-79.5 -308v-573h-166v1556h166v-471q0 -85 -8 -141h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -303.5v-715h-166z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="518" -d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="1075" -d="M340 561q43 61 131 160l354 375h197l-444 -467l475 -629h-201l-387 518l-125 -108v-410h-164v1556h164v-825q0 -55 -8 -170h8z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="518" -d="M342 0h-166v1556h166v-1556z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1905" -d="M1573 0v713q0 131 -56 196.5t-174 65.5q-155 0 -229 -89t-74 -274v-612h-166v713q0 131 -56 196.5t-175 65.5q-156 0 -228.5 -93.5t-72.5 -306.5v-575h-166v1096h135l27 -150h8q47 80 132.5 125t191.5 45q257 0 336 -186h8q49 86 142 136t212 50q186 0 278.5 -95.5 -t92.5 -305.5v-715h-166z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1255" -d="M686 -20q-107 0 -195.5 39.5t-148.5 121.5h-12q12 -96 12 -182v-451h-166v1588h135l23 -150h8q64 90 149 130t195 40q218 0 336.5 -149t118.5 -418q0 -270 -120.5 -419.5t-334.5 -149.5zM662 975q-168 0 -243 -93t-77 -296v-37q0 -231 77 -330.5t247 -99.5 -q142 0 222.5 115t80.5 317q0 205 -80.5 314.5t-226.5 109.5z" /> - <glyph glyph-name="q" unicode="q" horiz-adv-x="1255" -d="M590 119q166 0 242 89t81 300v37q0 230 -78 331t-247 101q-146 0 -223.5 -113.5t-77.5 -320.5t76.5 -315.5t226.5 -108.5zM565 -20q-212 0 -331 149t-119 416q0 269 120 420t334 151q225 0 346 -170h9l24 150h131v-1588h-166v469q0 100 11 170h-13q-115 -167 -346 -167z -" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="836" -d="M676 1116q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166v1096h137l19 -203h8q61 107 147 165t189 58z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="723" -d="M530 117q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="1026" -d="M416 0l-416 1096h178l236 -650q80 -228 94 -296h8q11 53 69.5 219.5t262.5 726.5h178l-416 -1096h-194z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1593" -d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="1073" -d="M440 561l-381 535h189l289 -420l288 420h187l-381 -535l401 -561h-188l-307 444l-310 -444h-188z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="958" -d="M877 0h-795v113l598 854h-561v129h743v-129l-590 -838h605v-129z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="776" -d="M475 12q0 -102 58.5 -148t171.5 -48v-140q-190 2 -294 87t-104 239v303q0 104 -63 148.5t-183 44.5v141q130 2 188 48t58 142v306q0 155 108 241t290 86v-139q-230 -6 -230 -199v-295q0 -215 -223 -254v-12q223 -39 223 -254v-297z" /> - <glyph glyph-name="bar" unicode="|" horiz-adv-x="1128" -d="M494 1556h141v-2052h-141v2052z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="776" -d="M522 575q-223 39 -223 254v295q0 193 -227 199v139q184 0 289.5 -87t105.5 -240v-306q0 -97 59 -142.5t189 -47.5v-141q-122 0 -185 -44.5t-63 -148.5v-303q0 -153 -102.5 -238.5t-292.5 -87.5v140q111 2 169 48t58 148v297q0 114 55 174t168 80v12z" /> - <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="1171" -d="M338 713q-53 0 -116.5 -33.5t-117.5 -87.5v151q100 109 244 109q68 0 124.5 -14t145.5 -52q66 -28 115 -41.5t96 -13.5q54 0 118 32t118 89v-150q-102 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="547" -d="M219 684h105l51 -1057h-207zM393 983q0 -135 -121 -135q-60 0 -90 35.5t-30 99.5q0 63 31.5 99t88.5 36q51 0 86 -32t35 -103z" /> - <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="1171" -d="M971 240q-105 -54 -252 -60v-200h-133v206q-203 32 -299.5 168.5t-96.5 386.5q0 508 396 570v172h135v-164q75 -3 146 -19.5t120 -39.5l-49 -140q-133 51 -242 51q-172 0 -253 -105.5t-81 -322.5q0 -212 79.5 -313.5t246.5 -101.5q141 0 283 59v-147z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="1171" -d="M682 1481q190 0 360 -84l-61 -133q-154 77 -297 77q-123 0 -185.5 -62t-62.5 -202v-295h422v-127h-422v-221q0 -100 -32.5 -168t-106.5 -112h795v-154h-1029v141q205 47 205 291v223h-198v127h198v316q0 178 112 280.5t302 102.5z" /> - <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="1171" -d="M184 723q0 122 74 229l-135 140l94 92l135 -133q104 73 234 73q127 0 229 -73l137 133l95 -92l-134 -138q74 -113 74 -231q0 -131 -74 -234l131 -135l-92 -92l-137 133q-102 -71 -229 -71q-134 0 -234 73l-135 -133l-92 92l133 136q-74 107 -74 231zM313 723 -q0 -112 78.5 -192t194.5 -80t195 79.5t79 192.5q0 114 -80 195t-194 81q-116 0 -194.5 -82t-78.5 -194z" /> - <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="1171" -d="M584 735l379 727h174l-416 -770h262v-127h-317v-170h317v-127h-317v-268h-164v268h-316v127h316v170h-316v127h256l-411 770h178z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1128" -d="M494 1556h141v-776h-141v776zM494 281h141v-777h-141v777z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="1057" -d="M139 809q0 86 43 154.5t121 105.5q-74 40 -116 95.5t-42 140.5q0 121 103.5 190.5t300.5 69.5q94 0 173.5 -14.5t176.5 -53.5l-53 -131q-98 39 -165.5 52.5t-143.5 13.5q-116 0 -174 -29.5t-58 -93.5q0 -60 61.5 -102t215.5 -97q186 -68 261 -143.5t75 -182.5 -q0 -90 -41 -160.5t-115 -111.5q153 -81 153 -227q0 -140 -117 -216.5t-329 -76.5q-218 0 -346 65v148q78 -37 175 -59.5t179 -22.5q134 0 204.5 38t70.5 109q0 46 -24 75t-78 58t-169 72q-142 52 -209 97t-100 102t-33 135zM285 829q0 -77 66 -129.5t233 -113.5l49 -19 -q137 80 137 191q0 83 -73.5 139t-258.5 113q-68 -19 -110.5 -69t-42.5 -112z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1182" -d="M309 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM690 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M893 1059q-125 0 -192.5 -87t-67.5 -241q0 -168 63.5 -249t194.5 -81q86 0 211 45v-124q-48 -20 -98.5 -34t-120.5 -14q-194 0 -298 120.5t-104 336.5q0 209 110.5 332t301.5 123q128 0 246 -60l-58 -118q-108 51 -188 51zM100 731q0 200 100 375t275 276t377 101 -q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87 -t-236.5 -235.5t-87.5 -324.5z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="725" -d="M532 801l-24 84q-92 -97 -232 -97q-95 0 -150.5 49.5t-55.5 151.5t77 154.5t242 58.5l117 4v39q0 133 -148 133q-100 0 -204 -51l-43 96q114 56 247 56q130 0 198.5 -52.5t68.5 -173.5v-452h-93zM193 989q0 -100 112 -100q201 0 201 180v49l-98 -4q-112 -4 -163.5 -32.5 -t-51.5 -92.5z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1018" -d="M82 551l342 407l119 -69l-289 -350l289 -351l-119 -71l-342 407v27zM477 551l344 407l117 -69l-287 -350l287 -351l-117 -71l-344 407v27z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="1171" -d="M1065 791v-527h-137v389h-824v138h961z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="659" -d="M84 473v152h491v-152h-491z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M723 762h108q80 0 128.5 41.5t48.5 105.5q0 75 -43 107.5t-136 32.5h-106v-287zM1157 913q0 -80 -42.5 -141.5t-119.5 -91.5l238 -395h-168l-207 354h-135v-354h-148v891h261q166 0 243.5 -65t77.5 -198zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 -t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5z -" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="1024" -d="M1030 1556h-1036v127h1036v-127z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M127 1171q0 130 90.5 221t220.5 91t221 -90.5t91 -221.5q0 -84 -41 -155.5t-114 -113.5t-157 -42q-130 0 -220.5 90t-90.5 221zM242 1171q0 -82 58.5 -139t139.5 -57q80 0 137.5 56.5t57.5 139.5q0 84 -56.5 140.5t-138.5 56.5q-83 0 -140.5 -57t-57.5 -140z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="1171" -d="M653 791h412v-138h-412v-426h-139v426h-410v138h410v428h139v-428zM104 1v138h961v-138h-961z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="711" -d="M653 586h-604v104l236 230q89 86 130 134.5t57.5 86.5t16.5 92q0 68 -40 102.5t-103 34.5q-52 0 -101 -19t-118 -69l-66 88q131 111 283 111q132 0 205.5 -65t73.5 -177q0 -80 -44.5 -155.5t-191.5 -213.5l-174 -165h440v-119z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="711" -d="M627 1255q0 -80 -41 -131.5t-109 -74.5q176 -47 176 -209q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90 -q63 45 133 72t164 27q136 0 214.5 -59.5t78.5 -166.5z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1182" -d="M393 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1268" -d="M342 381q0 -262 254 -262q171 0 250.5 94.5t79.5 306.5v576h166v-1096h-136l-26 147h-10q-111 -167 -340 -167q-150 0 -238 92h-10q10 -84 10 -244v-320h-166v1588h166v-715z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1120 -260h-114v1712h-213v-1712h-115v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h557v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="545" -d="M152 723q0 66 31 100.5t87 34.5q58 0 90.5 -34.5t32.5 -100.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="465" -d="M436 -289q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="711" -d="M338 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="768" -d="M702 1135q0 -164 -85.5 -255.5t-235.5 -91.5q-146 0 -230.5 93t-84.5 254q0 163 84 253.5t235 90.5q152 0 234.5 -91t82.5 -253zM188 1135q0 -122 45.5 -183t149.5 -61q105 0 151 61t46 183q0 123 -46 182t-151 59q-103 0 -149 -59t-46 -182z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1018" -d="M936 524l-344 -407l-117 71l287 351l-287 350l117 69l344 -407v-27zM541 524l-344 -407l-117 71l287 351l-287 350l117 69l344 -407v-27z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1597" -d="M1298 1462l-903 -1462h-143l903 1462h143zM337 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96zM1489 203h-125v-202h-145v202h-402v101l408 579h139v-563h125v-117zM1219 320v195q0 134 6 209q-5 -12 -17 -31.5t-27 -42l-30 -45t-26 -39.5 -l-168 -246h262z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1597" -d="M1230 1462l-903 -1462h-143l903 1462h143zM308 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96zM1499 1h-604v104l236 230q89 86 130 134.5t57.5 86.5t16.5 92q0 68 -40 102.5t-103 34.5q-52 0 -101 -19t-118 -69l-66 88q131 111 283 111 -q132 0 205.5 -65t73.5 -177q0 -80 -44.5 -155.5t-191.5 -213.5l-174 -165h440v-119z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1597" -d="M620 1255q0 -80 -41 -131.5t-109 -74.5q176 -47 176 -209q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90 -q63 45 133 72t164 27q136 0 214.5 -59.5t78.5 -166.5zM1390 1462l-903 -1462h-143l903 1462h143zM1569 203h-125v-202h-145v202h-402v101l408 579h139v-563h125v-117zM1299 320v195q0 134 6 209q-5 -12 -17 -31.5t-27 -42l-30 -45t-26 -39.5l-168 -246h262z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="879" -d="M590 684v-51q0 -122 -37.5 -196t-134.5 -158q-121 -106 -151.5 -143.5t-43 -76t-12.5 -94.5q0 -100 66 -156.5t188 -56.5q80 0 155 19t173 67l59 -135q-197 -96 -395 -96q-190 0 -298 93t-108 263q0 70 17.5 122.5t49.5 97t76.5 85.5t98.5 88q101 88 133.5 146t32.5 151 -v31h131zM639 983q0 -135 -121 -135q-59 0 -90 34.5t-31 100.5q0 64 33 99.5t88 35.5q51 0 86 -32t35 -103z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM724 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM526 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM303 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z -" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM792 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5 -q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM364 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM745 1731 -q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM870 1587q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5z -M762 1585q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1788" -d="M1665 0h-750v465h-514l-227 -465h-176l698 1462h969v-151h-580v-471h541v-150h-541v-538h580v-152zM469 618h446v693h-118z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM950 -289q0 -97 -76.5 -150t-226.5 -53 -q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM713 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM456 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM263 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM327 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM708 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM398 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM179 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM-57 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM5 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM386 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1479" -d="M1352 745q0 -362 -196.5 -553.5t-565.5 -191.5h-389v649h-154v150h154v663h434q337 0 527 -187.5t190 -529.5zM1171 739q0 576 -569 576h-231v-516h379v-150h-379v-502h190q610 0 610 592z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1544" -d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462zM935 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41 -t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM907 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM659 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM448 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM942 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM522 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM903 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1171" -d="M940 1176l96 -99l-352 -354l350 -352l-96 -99l-354 351l-348 -351l-101 99l350 352l-352 352l100 101l353 -355z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-235 0 -383 100l-101 -141l-120 79l108 154q-178 198 -178 563q0 357 176 553.5t500 196.5q209 0 366 -94l97 135l120 -80l-106 -148q192 -202 192 -565zM1290 733q0 272 -110 426l-672 -948q115 -82 291 -82q243 0 367 153 -t124 451zM305 733q0 -262 101 -416l669 943q-106 73 -274 73q-243 0 -369.5 -153.5t-126.5 -446.5z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM856 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM600 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM393 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186 -h-115v23z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM461 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5z -M842 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM442 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1251" -d="M1145 784q0 -227 -151.5 -346t-438.5 -119h-184v-319h-170v1462h170v-256h215q281 0 420 -103.5t139 -318.5zM371 465h168q226 0 327 71.5t101 235.5q0 149 -95 218t-297 69h-204v-594z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1274" -d="M1049 1266q0 -135 -143 -250q-88 -70 -116 -103.5t-28 -66.5q0 -32 13.5 -53t49 -49.5t113.5 -79.5q140 -95 191 -173.5t51 -179.5q0 -160 -97 -245.5t-276 -85.5q-188 0 -295 69v154q63 -39 141 -62.5t150 -23.5q215 0 215 182q0 75 -41.5 128.5t-151.5 123.5 -q-127 82 -175 143.5t-48 145.5q0 63 34.5 116t105.5 106q75 57 107 102t32 98q0 80 -68 122.5t-195 42.5q-276 0 -276 -223v-1204h-166v1202q0 178 110 271.5t332 93.5q206 0 318.5 -78.5t112.5 -222.5z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM672 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM436 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM228 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM721 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99 -q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM279 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM660 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="aring" unicode="&#xe5;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM804 1458q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5zM696 1456q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5 -t87 -30.5q52 0 84.5 30.5t32.5 86.5z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1757" -d="M94 303q0 161 124 250.5t378 97.5l184 6v68q0 129 -58 190.5t-177 61.5q-144 0 -307 -84l-52 127q74 41 173.5 67.5t197.5 26.5q130 0 212.5 -43.5t123.5 -138.5q53 88 138.5 136t195.5 48q192 0 308 -133.5t116 -355.5v-107h-701q8 -395 322 -395q91 0 169.5 17.5 -t162.5 56.5v-148q-86 -38 -160.5 -54.5t-175.5 -16.5q-289 0 -414 233q-81 -127 -179.5 -180t-232.5 -53q-163 0 -255.5 85t-92.5 238zM268 301q0 -95 53.5 -139.5t141.5 -44.5q145 0 229 84.5t84 238.5v99l-158 -7q-186 -8 -268 -62.5t-82 -168.5zM1225 977 -q-121 0 -190.5 -83t-80.5 -241h519q0 156 -64 240t-184 84z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM762 -289q0 -97 -76.5 -150t-226.5 -53 -q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M711 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M471 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M259 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M319 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM700 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM355 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM169 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM-77 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM-20 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM361 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1221" -d="M1122 563q0 -281 -130.5 -432t-377.5 -151q-222 0 -361.5 134.5t-139.5 360.5q0 230 131.5 361t351.5 131q226 0 326 -121l8 4q-57 214 -262 405l-271 -155l-73 108l233 133q-92 62 -186 111l69 117q156 -73 258 -148l238 138l76 -107l-207 -119q152 -143 234.5 -342 -t82.5 -428zM954 512q0 147 -90 232t-246 85q-337 0 -337 -360q0 -167 87.5 -258.5t249.5 -91.5q175 0 255.5 100.5t80.5 292.5z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166zM802 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5 -t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM742 1241 -h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM479 1266 -q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM282 1264 -q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM773 1243 -q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM336 1393 -q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM717 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1171" -d="M104 653v138h961v-138h-961zM471 373q0 60 29.5 90.5t83.5 30.5q52 0 81 -31.5t29 -89.5q0 -57 -29.5 -89t-80.5 -32q-52 0 -82.5 31.5t-30.5 89.5zM471 1071q0 60 29.5 90.5t83.5 30.5q52 0 81 -31.5t29 -89.5q0 -57 -29.5 -89t-80.5 -32q-52 0 -82.5 31.5t-30.5 89.5z -" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-154 0 -266 69l-84 -117l-114 78l94 131q-129 152 -129 408q0 268 134 417.5t372 149.5q154 0 270 -76l84 119l117 -76l-97 -133q127 -152 127 -401zM287 549q0 -171 53 -273l465 646q-75 53 -189 53q-163 0 -246 -107 -t-83 -319zM950 549q0 164 -51 264l-465 -643q71 -51 184 -51q163 0 247.5 109.5t84.5 320.5z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM726 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM506 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM286 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186 -q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM342 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5 -q-37 0 -63.5 24.5t-26.5 74.5zM723 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM411 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25 -z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1255" -d="M344 948q66 89 151 128.5t191 39.5q215 0 335 -150t120 -417q0 -268 -120.5 -418.5t-334.5 -150.5q-222 0 -344 161h-12l4 -34q8 -77 8 -140v-459h-166v2048h166v-466q0 -52 -6 -142h8zM664 975q-168 0 -244 -92t-78 -293v-41q0 -231 77 -330.5t247 -99.5q303 0 303 432 -q0 215 -74 319.5t-231 104.5z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM234 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM615 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM364 1716h600v-137h-600v137z" /> - <glyph glyph-name="amacron" unicode="&#x101;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM290 1378h600v-137h-600v137z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM641 1579q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197 -t-221.5 -71z" /> - <glyph glyph-name="abreve" unicode="&#x103;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM570 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM1106 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5 -t-34.5 -117.5z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM833 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM657 1604q48 62 103.5 150t87.5 153 -h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM461 1266q48 62 103.5 150t87.5 153h202v-21 -q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM440 1602q127 136 178 200t74 105h166 -q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM224 1264q127 136 178 200t74 105h166 -q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM701 1731q0 57 28 83.5t70 26.5 -q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM498 1393q0 57 28 83.5t70 26.5q40 0 69 -27 -t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM461 1907h115q114 -74 219 -189 -q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM255 1569h115q114 -74 219 -189 -q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1493" -d="M1368 745q0 -362 -196.5 -553.5t-565.5 -191.5h-405v1462h448q341 0 530 -189t189 -528zM1188 739q0 286 -143.5 431t-426.5 145h-247v-1168h207q304 0 457 149.5t153 442.5zM356 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166 -q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" horiz-adv-x="1255" -d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13l-7 79l-4 77v446h166v-1556h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317 -t226 -107zM1173 1253q19 55 38.5 138.5t29.5 164.5h168v-18q-11 -51 -55 -145t-91 -164h-90v24z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1479" -d="M1352 745q0 -362 -196.5 -553.5t-565.5 -191.5h-389v649h-154v150h154v663h434q337 0 527 -187.5t190 -529.5zM1171 739q0 576 -569 576h-231v-516h379v-150h-379v-502h190q610 0 610 592z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1255" -d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13q-11 83 -11 156v133h-448v129h448v184h166v-184h156v-129h-156v-1243h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5 -q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317t226 -107z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM319 1716h600v-137h-600v137z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M311 1378h600v-137h-600v137z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM614 1579q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M593 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM529 1702q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M502 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM805 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M792 -207q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM284 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M263 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1491" -d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152zM501 1602 -q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1122" -d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 -q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 -t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187zM214 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1491" -d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152zM854 1579 -q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1122" -d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 -q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 -t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187zM548 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1491" -d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152zM774 1731 -q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1122" -d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 -q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 -t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187zM449 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1491" -d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152zM664 -428 -q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1122" -d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 -q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 -t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187zM707 1544q-29 -61 -55.5 -157.5t-32.5 -145.5h-166v19q14 61 63.5 156.5t98.5 152.5h92v-25z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1511" -d="M1311 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462zM418 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-173 0 -252.5 -94t-79.5 -308v-573h-166v1556h166v-471q0 -85 -8 -141h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -303.5v-715h-166zM299 1657q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119 -q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1511" -d="M201 1214v248h170v-248h770v248h170v-248h200v-141h-200v-1073h-170v688h-770v-688h-170v1073h-201v141h201zM1141 840v233h-770v-233h770z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1257" -d="M926 0v670q0 134 -61 200t-191 66q-174 0 -253 -93t-79 -306v-537h-166v1243h-156v127h156v186h166v-186h449v-127h-449v-196q0 -84 -8 -140h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -305.5v-676h-166z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM439 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM412 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM-13 1716h600v-137h-600v137z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM-38 1378h600v-137h-600v137z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM280 1579q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM253 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM227 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5zM194 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5 -t-34.5 -117.5z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM187 1731q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1118" -d="M201 0v1462h170v-1462h-170zM559 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5z" /> - <glyph glyph-name="ij" unicode="&#x133;" horiz-adv-x="1036" -d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5zM561 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM680 1393q0 57 28 83.5 -t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="547" -d="M-12 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5zM-61 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="518" -d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM-83 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1257" -d="M1257 0h-200l-533 709l-153 -136v-573h-170v1462h170v-725l663 725h201l-588 -635zM506 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="1075" -d="M340 561q43 61 131 160l354 375h197l-444 -467l475 -629h-201l-387 518l-125 -108v-410h-164v1556h164v-825q0 -55 -8 -170h8zM412 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="1061" -d="M815 1094h207l-414 -482l443 -612h-201l-361 504l-135 -113v-391h-178v1094h178v-283q0 -166 -12 -279z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="1063" -d="M201 0v1462h170v-1308h645v-154h-815zM236 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="518" -d="M342 0h-166v1556h166v-1556zM163 1661q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="1063" -d="M201 0v1462h170v-1308h645v-154h-815zM418 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="518" -d="M342 0h-166v1556h166v-1556zM89 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="1063" -d="M201 0v1462h170v-1308h645v-154h-815zM678 1160q19 55 38.5 138.5t29.5 164.5h168v-18q-11 -51 -55 -145t-91 -164h-90v24z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="518" -d="M342 0h-166v1556h166v-1556zM436 1253q19 55 38.5 138.5t29.5 164.5h168v-18q-11 -51 -55 -145t-91 -164h-90v24z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="1063" -d="M201 0v1462h170v-1308h645v-154h-815zM678 728q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="643" -d="M342 0h-166v1556h166v-1556zM484 681q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1071" -d="M201 0v508l-105 -59l-67 114l172 101v798h170v-698l297 174l67 -121l-364 -211v-452h645v-154h-815z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="535" -d="M342 864l137 94l72 -112l-209 -141v-705h-166v596l-110 -72l-70 113l180 119v800h166v-692z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1544" -d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462zM651 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166zM514 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1544" -d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462zM574 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166zM455 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1544" -d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462zM434 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1257" -d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166zM299 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104 -t-178 199v25z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1395" -d="M1061 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166zM285 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1544" -d="M969 -385q-98 0 -152 27v145q71 -20 154 -20q105 0 158 61t53 172l-832 1227h-8q16 -264 16 -422v-805h-157v1462h192l797 -1202h8q-14 149 -14 373v829h159v-1448q0 -195 -96.5 -297t-277.5 -102z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1257" -d="M805 -492q-86 0 -141 25v135q60 -20 122 -20q140 0 140 172v889q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h10q52 82 142 126t200 44q203 0 302.5 -95.5t99.5 -305.5v-883q0 -154 -70 -239t-217 -85z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM500 1716h600v-137h-600v137z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM319 1378 -h600v-137h-600v137z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM791 1579q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM612 1241 -q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM507 1604q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161t-143.5 -146h-97v25zM864 1604q49 68 99.5 156.5t76.5 146.5h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM321 1266 -q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161t-143.5 -146h-97v25zM678 1266q49 68 99.5 156.5t76.5 146.5h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1890" -d="M1767 0h-768q-102 -20 -194 -20q-327 0 -503.5 196.5t-176.5 558.5q0 360 174 555t494 195q102 0 192 -23h782v-151h-589v-471h551v-150h-551v-538h589v-152zM811 1333q-249 0 -377.5 -152.5t-128.5 -447.5q0 -297 128.5 -450.5t375.5 -153.5q112 0 199 33v1141 -q-87 30 -197 30z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1929" -d="M1430 -20q-293 0 -418 235q-62 -116 -166.5 -175.5t-241.5 -59.5q-223 0 -357 152.5t-134 416.5q0 265 131 415t366 150q131 0 233.5 -59.5t164.5 -173.5q58 112 154 172.5t222 60.5q201 0 320 -132.5t119 -358.5v-105h-729q8 -393 338 -393q94 0 174.5 17.5t167.5 56.5 -v-148q-88 -39 -164 -55t-180 -16zM287 549q0 -211 76 -320.5t243 -109.5q163 0 239.5 106.5t76.5 315.5q0 221 -77.5 327.5t-242.5 106.5q-166 0 -240.5 -108t-74.5 -318zM1382 975q-127 0 -199.5 -82t-84.5 -240h544q0 158 -66 240t-194 82z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1266" -d="M371 608v-608h-170v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559zM514 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111 -v25z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="836" -d="M676 1116q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166v1096h137l19 -203h8q61 107 147 165t189 58zM357 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1266" -d="M371 608v-608h-170v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559zM494 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90 -v25z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="836" -d="M676 1116q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166v1096h137l19 -203h8q61 107 147 165t189 58zM96 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1266" -d="M371 608v-608h-170v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559zM295 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68 -q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="836" -d="M676 1116q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166v1096h137l19 -203h8q61 107 147 165t189 58zM130 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244zM473 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181zM371 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244zM246 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181zM163 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244zM731 -289q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181zM649 -289q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244zM240 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181zM165 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1133" -d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311zM755 -289q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="723" -d="M530 117q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53zM633 -289q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74 -q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1133" -d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311zM232 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="723" -d="M530 117q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53zM491 1253q19 55 38.5 138.5t29.5 164.5h168v-18q-11 -51 -55 -145t-91 -164h-90v24z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1133" -d="M481 815v496h-463v151h1096v-151h-463v-496h310v-141h-310v-674h-170v674h-313v141h313z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="723" -d="M535 117q85 0 145 20v-127q-32 -14 -85 -22t-95 -8q-312 0 -312 348v254h-141v129h141v256h-157v80l157 69l70 234h96v-254h318v-129h-318v-256h301v-129h-301v-244q0 -221 181 -221z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM899 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5 -q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM779 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98 -q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM446 1716h600v-137h-600v137z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM326 1378h600v-137h-600v137z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM737 1579q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197 -t-221.5 -71z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM616 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99 -h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM969 1796q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5 -zM861 1794q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM848 1458q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5 -q101 0 163 -59.5t62 -151.5zM740 1456q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM456 1604q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161t-143.5 -146h-97v25zM813 1604q49 68 99.5 156.5t76.5 146.5 -h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM335 1266q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161t-143.5 -146h-97v25zM692 1266 -q49 68 99.5 156.5t76.5 146.5h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM723 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120 -q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM934 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5 -t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1896" -d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180zM608 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5 -t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1593" -d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197zM461 1264q127 136 178 200 -t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM236 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM185 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119 -q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM294 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM675 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5 -t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1169" -d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154zM459 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="958" -d="M877 0h-795v113l598 854h-561v129h743v-129l-590 -838h605v-129zM369 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1169" -d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154zM486 1731q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="958" -d="M877 0h-795v113l598 854h-561v129h743v-129l-590 -838h605v-129zM385 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1169" -d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154zM249 1907h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="958" -d="M877 0h-795v113l598 854h-561v129h743v-129l-590 -838h605v-129zM146 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="655" -d="M342 0h-166v1180q0 387 359 387q96 0 196 -37l-43 -133q-87 30 -160 30q-97 0 -141.5 -61.5t-44.5 -183.5v-1182z" /> - <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="1182" -d="M328 -492q-69 0 -133 19v139q70 -18 131 -18q95 0 133.5 51t38.5 164v973h-222v75l222 60v139q0 195 81 284t263 89q85 0 205 -43l-22 -64l-21 -65q-102 32 -162 32q-98 0 -138 -52.5t-40 -176.5v-149h282v-129h-278v-969q0 -184 -79 -271.5t-261 -87.5z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1597" -d="M1468 733q0 -354 -177.5 -553.5t-491.5 -199.5q-323 0 -498.5 196.5t-175.5 558.5q0 360 176.5 555t499.5 195q325 0 504 -215q50 12 79 45.5t42.5 84.5t13.5 156h182l14 -22q-29 -155 -94.5 -241.5t-169.5 -125.5q96 -176 96 -434zM305 733q0 -298 125 -451t369 -153 -q243 0 366 152.5t123 451.5q0 295 -122.5 447.5t-364.5 152.5q-243 0 -369.5 -151.5t-126.5 -448.5z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1247" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q217 0 354 -141q51 15 80 47.5t42 82t13 159.5h180l15 -23q-31 -156 -91.5 -243.5t-162.5 -125.5q71 -138 71 -323zM287 549q0 -211 79 -320.5t252 -109.5 -q175 0 253.5 109.5t78.5 320.5q0 210 -79.5 318t-254.5 108q-173 0 -251 -108t-78 -318z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1573" -d="M1305 1462v-198q58 8 93 39t50.5 87t15.5 166h181l14 -22q-33 -182 -119 -274t-235 -117v-627q0 -258 -143.5 -397t-407.5 -139q-268 0 -418 143.5t-150 396.5v942h170v-954q0 -183 102 -281t300 -98q184 0 280.5 96.5t96.5 284.5v952h170z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1362" -d="M332 1094v-709q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v574h166v-121q82 11 119 75t37 218h178l15 -23q-32 -186 -120 -281.5t-229 -109.5v-852h-137l-24 147h-9q-52 -82 -142.5 -124.5t-201.5 -42.5q-203 0 -303 95t-100 304v715h168z" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="518" -d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM-75 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1300" -d="M872 1430q0 -133 -104 -189l532 -1241h-174l-176 401h-610l-166 -401h-174l532 1239q-106 52 -106 188q0 101 61 158t160 57q100 0 162.5 -58.5t62.5 -153.5zM899 555l-178 432q-25 58 -72 203q-14 -48 -38 -115.5t-33 -91.5l-177 -428h498zM553 1712q49 59 100 133.5 -t74 116.5h203v-16q-32 -46 -116 -126.5t-150 -125.5h-111v18zM764 1427q0 57 -33 87t-84 30t-84 -30t-33 -87q0 -55 30 -85.5t87 -30.5q53 0 85 30.5t32 85.5z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" -d="M471 1753v16q46 42 99 102t75 91h260v-12q-21 -24 -103 -76.5t-210 -120.5h-121zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 537 348l180 6v68q0 130 -59.5 191t-192.5 61q-96 0 -179.5 -26t-154.5 -58l-55 127 -q84 43 188 68.5t205 25.5q209 0 309.5 -87t100.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM803 1458q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161.5 58t-60.5 157q0 98 60.5 155.5 -t161.5 57.5t163 -59.5t62 -151.5zM694 1456q0 56 -32.5 86.5t-83.5 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84 30.5t32 86.5z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1788" -d="M1665 0h-750v465h-514l-227 -465h-176l698 1462h969v-151h-580v-471h541v-150h-541v-538h580v-152zM469 618h446v693h-118zM981 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1757" -d="M94 303q0 161 124 250.5t378 97.5l184 6v68q0 129 -58 190.5t-177 61.5q-144 0 -307 -84l-52 127q74 41 173.5 67.5t197.5 26.5q130 0 212.5 -43.5t123.5 -138.5q53 88 138.5 136t195.5 48q192 0 308 -133.5t116 -355.5v-107h-701q8 -395 322 -395q91 0 169.5 17.5 -t162.5 56.5v-148q-86 -38 -160.5 -54.5t-175.5 -16.5q-289 0 -414 233q-81 -127 -179.5 -180t-232.5 -53q-163 0 -255.5 85t-92.5 238zM268 301q0 -95 53.5 -139.5t141.5 -44.5q145 0 229 84.5t84 238.5v99l-158 -7q-186 -8 -268 -62.5t-82 -168.5zM1225 977 -q-121 0 -190.5 -83t-80.5 -241h519q0 156 -64 240t-184 84zM782 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-235 0 -383 100l-101 -141l-120 79l108 154q-178 198 -178 563q0 357 176 553.5t500 196.5q209 0 366 -94l97 135l120 -80l-106 -148q192 -202 192 -565zM1290 733q0 272 -110 426l-672 -948q115 -82 291 -82q243 0 367 153 -t124 451zM305 733q0 -262 101 -416l669 943q-106 73 -274 73q-243 0 -369.5 -153.5t-126.5 -446.5zM674 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-154 0 -266 69l-84 -117l-114 78l94 131q-129 152 -129 408q0 268 134 417.5t372 149.5q154 0 270 -76l84 119l117 -76l-97 -133q127 -152 127 -401zM287 549q0 -171 53 -273l465 646q-75 53 -189 53q-163 0 -246 -107 -t-83 -319zM950 549q0 164 -51 264l-465 -643q71 -51 184 -51q163 0 247.5 109.5t84.5 320.5zM479 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244zM375 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181zM298 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1133" -d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311zM394 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="723" -d="M530 117q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53zM243 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="518" -d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="348" -d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1212" -d="M268 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1212" -d="M268 1569h115q114 -74 219 -189q130 130 221 189h119v-25l-66 -68q-144 -148 -190 -235h-166q-23 41 -74 104t-178 199v25z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1202" -d="M301 1378h600v-137h-600v137z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1212" -d="M598 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="518" -d="M162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M813 1458q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5zM705 1456q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="403" -d="M178 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1212" -d="M788 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1182" -d="M231 1266q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161t-143.5 -146h-97v25zM588 1266q49 68 99.5 156.5t76.5 146.5h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M565 -338q0 -97 -62.5 -157t-164.5 -60q-101 0 -161 58.5t-60 156.5t60 156.5t161 58.5t164 -59t63 -154zM455 -340q0 57 -33 87t-84 30t-84 -30t-33 -87q0 -56 30 -86.5t87 -30.5q53 0 85 30.5t32 86.5z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-548 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-755 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-475 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-397 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-332 1241h-96q-52 42 -140.5 143t-125.5 164v21h186q28 -61 77.5 -148t98.5 -155v-25zM-688 1241h-96q-56 44 -143 144t-124 163v21h187q28 -61 77.5 -148t98.5 -155v-25z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-709 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1182" -d="M508 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1182" -d="M512 1413q65 169 96 303h189v-20q-33 -67 -93.5 -156.5t-111.5 -150.5h-80v24zM283 1393q0 52 26 75t64 23q41 0 65.5 -26t24.5 -72q0 -50 -27.5 -74.5t-62.5 -24.5q-38 0 -64 24.5t-26 74.5zM719 1393q0 52 26 75t64 23q41 0 65.5 -26t24.5 -72q0 -50 -27.5 -74.5 -t-62.5 -24.5q-38 0 -64 24.5t-26 74.5z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM28 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="545" -d="M152 723q0 66 31 100.5t87 34.5q58 0 90.5 -34.5t32.5 -100.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1266" -d="M1141 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM-44 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1661" -d="M1461 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462zM-44 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="741" -d="M371 0v1462h170v-1462h-170zM-28 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1665" -d="M1538 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM373 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM-28 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1413" -d="M839 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM-44 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1665" -d="M864 1333q-238 0 -363 -128.5t-125 -381.5q0 -225 86.5 -391.5t266.5 -298.5v-133h-586v152h364q-151 118 -231 293t-80 378q0 310 177 486t491 176q315 0 492 -173.5t177 -486.5q0 -207 -79 -380t-230 -293h363v-152h-586v133q183 134 267.5 301t84.5 389 -q0 252 -124.5 381t-364.5 129zM-28 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="694" -d="M334 1096v-774q0 -104 36.5 -154.5t123.5 -50.5q37 0 87.5 6.5t77.5 13.5v-127q-31 -13 -83.5 -21.5t-102.5 -8.5q-160 0 -232.5 84t-72.5 253v779h166zM206 1413q65 169 96 303h189v-20q-33 -67 -93.5 -156.5t-111.5 -150.5h-80v24zM-23 1393q0 52 26 75t64 23 -q41 0 65.5 -26t24.5 -72q0 -50 -27.5 -74.5t-62.5 -24.5q-38 0 -64 24.5t-26 74.5zM413 1393q0 52 26 75t64 23q41 0 65.5 -26t24.5 -72q0 -50 -27.5 -74.5t-62.5 -24.5q-38 0 -64 24.5t-26 74.5z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1327" -d="M201 1462h413q291 0 421 -87t130 -275q0 -130 -72.5 -214.5t-211.5 -109.5v-10q333 -57 333 -350q0 -196 -132.5 -306t-370.5 -110h-510v1462zM371 836h280q180 0 259 56.5t79 190.5q0 123 -88 177.5t-280 54.5h-250v-479zM371 692v-547h305q177 0 266.5 68.5t89.5 214.5 -q0 136 -91.5 200t-278.5 64h-291z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="1065" -d="M1016 1462v-153h-645v-1309h-170v1462h815z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1171" -d="M39 104l463 1358h166l465 -1360v-102h-1094v104zM584 1268q-61 -225 -101 -346l-260 -770h721l-258 761q-68 202 -102 355z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1169" -d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1511" -d="M1311 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1595" -d="M483 819h629v-149h-629v149zM1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -296 125 -450t369 -154q243 0 367 152t124 452q0 298 -123.5 449t-365.5 151 -q-245 0 -370.5 -153t-125.5 -447z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1257" -d="M1257 0h-200l-533 709l-153 -136v-573h-170v1462h170v-725l663 725h201l-588 -635z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1235" -d="M1235 0h-182l-330 928q-87 252 -109 342q-33 -139 -104 -340l-328 -930h-182l528 1462h177z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1849" -d="M848 0l-496 1296h-8q14 -154 14 -366v-930h-157v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1544" -d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1133" -d="M195 840h743v-150h-743v150zM113 1462h907v-151h-907v151zM1061 152v-152h-989v152h989z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1493" -d="M1292 0h-170v1311h-751v-1311h-170v1462h1091v-1462z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1233" -d="M1128 1036q0 -222 -151.5 -341.5t-433.5 -119.5h-172v-575h-170v1462h379q548 0 548 -426zM371 721h153q226 0 327 73t101 234q0 145 -95 216t-296 71h-190v-594z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1161" -d="M74 0v141l481 623l-469 555v143h971v-153h-676l-96 2l460 -545l-481 -614h852v-152h-1042z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1133" -d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1634" -d="M731 1483h172v-180h70q171 0 296.5 -68t192 -192t66.5 -283q0 -166 -74.5 -295.5t-204 -194.5t-305.5 -65h-41v-225h-172v225h-45q-176 0 -305 66t-202 196t-73 291q0 158 67.5 282t193.5 193.5t297 69.5h67v180zM903 348h25q201 0 312.5 109.5t111.5 304.5 -q0 185 -103 290t-288 105h-58v-809zM731 1157h-57q-182 0 -286.5 -106t-104.5 -289q0 -197 111 -305.5t313 -108.5h24v809z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1182" -d="M1174 0h-193l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1630" -d="M899 0h-170v446h-45q-176 0 -303.5 61t-199.5 184.5t-72 287.5v483h174v-479q0 -188 103.5 -288.5t315.5 -100.5h27v868h170v-868h29q211 0 314.5 99t103.5 286v483h176v-481q0 -165 -72 -288.5t-201.5 -185t-304.5 -61.5h-45v-446z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1602" -d="M801 1333q-238 0 -363 -128.5t-125 -381.5q0 -225 86.5 -391.5t266.5 -298.5v-133h-586v152h364q-151 118 -231 293t-80 378q0 310 177 486t491 176q315 0 492 -173.5t177 -486.5q0 -207 -79 -380t-230 -293h363v-152h-586v133q183 134 267.5 301t84.5 389 -q0 252 -124.5 381t-364.5 129z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM5 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM386 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM292 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM673 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5 -t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1251" -d="M592 119q169 0 244 97.5t75 315.5v15q0 229 -76 328.5t-245 99.5q-303 0 -303 -432q0 -212 73.5 -318t231.5 -106zM567 -20q-214 0 -333 148.5t-119 416.5q0 274 122 422.5t347 148.5q121 0 201.5 -42t134.5 -126h12q24 92 65 148h129q-21 -66 -35 -189t-14 -239v-439 -q0 -114 84 -114q29 0 62 10v-119q-46 -26 -111 -26q-81 0 -125.5 40.5t-62.5 126.5h-13q-59 -86 -142.5 -126.5t-201.5 -40.5zM537 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="973" -d="M715 641v-141h-148q-311 0 -311 -195q0 -90 73.5 -139t219.5 -49q84 0 167 19.5t183 66.5v-148q-137 -75 -358 -75q-210 0 -330.5 84.5t-120.5 232.5q0 98 55 163.5t185 106.5v11q-98 28 -151.5 91.5t-53.5 155.5q0 133 112 212t304 79q97 0 179.5 -16.5t182.5 -61.5 -l-63 -133q-94 42 -159 56t-144 14q-250 0 -250 -162q0 -172 317 -172h111zM452 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1257" -d="M926 -492v1201q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-1207h-166zM567 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="694" -d="M334 1096v-774q0 -104 36.5 -154.5t123.5 -50.5q37 0 87.5 6.5t77.5 13.5v-127q-31 -13 -83.5 -21.5t-102.5 -8.5q-160 0 -232.5 84t-72.5 253v779h166zM192 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1247" -d="M627 -20q-231 0 -347 125t-116 391v600h166v-592q0 -192 79 -289.5t232 -97.5q167 0 247.5 119t80.5 370q0 130 -14 242t-48 248h166q36 -144 50 -251t14 -247q0 -318 -129 -468t-381 -150zM571 1413q65 169 96 303h189v-20q-33 -67 -93.5 -156.5t-111.5 -150.5h-80v24z -M342 1393q0 52 26 75t64 23q41 0 65.5 -26t24.5 -72q0 -50 -27.5 -74.5t-62.5 -24.5q-38 0 -64 24.5t-26 74.5zM778 1393q0 52 26 75t64 23q41 0 65.5 -26t24.5 -72q0 -50 -27.5 -74.5t-62.5 -24.5q-38 0 -64 24.5t-26 74.5z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1251" -d="M592 119q169 0 244 97.5t75 315.5v15q0 229 -76 328.5t-245 99.5q-303 0 -303 -432q0 -212 73.5 -318t231.5 -106zM567 -20q-214 0 -333 148.5t-119 416.5q0 274 122 422.5t347 148.5q121 0 201.5 -42t134.5 -126h12q24 92 65 148h129q-21 -66 -35 -189t-14 -239v-439 -q0 -114 84 -114q29 0 62 10v-119q-46 -26 -111 -26q-81 0 -125.5 40.5t-62.5 126.5h-13q-59 -86 -142.5 -126.5t-201.5 -40.5z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1286" -d="M659 1567q220 0 344.5 -104t124.5 -287q0 -294 -313 -345v-8q377 -42 377 -409q0 -209 -132 -321.5t-370 -112.5q-109 0 -189 15.5t-159 53.5v-541h-166v1588q0 225 126.5 348t356.5 123zM657 1427q-158 0 -236.5 -86t-78.5 -251v-887q93 -49 173.5 -67.5t166.5 -18.5 -q171 0 257.5 75t86.5 232t-95 239t-272 82h-112v142h92q155 0 236 73.5t81 210.5q0 123 -78 189.5t-221 66.5z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="1049" -d="M532 -492h-180q0 96 32 243t75 261l-449 1084h172l240 -584q94 -235 113 -338h8q5 30 25.5 101t42 135.5t255.5 685.5h172l-405 -1069q-48 -124 -74.5 -270t-26.5 -249z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1188" -d="M545 936q-140 78 -198 157.5t-58 178.5q0 130 97 206t261 76q103 0 197.5 -22.5t220.5 -85.5l-72 -135q-112 62 -191.5 84t-160.5 22q-85 0 -133.5 -39.5t-48.5 -105.5q0 -71 53.5 -126.5t220.5 -146.5q210 -115 298.5 -235.5t88.5 -284.5q0 -235 -136 -367t-372 -132 -q-227 0 -363 124t-136 334q0 177 113 307.5t319 190.5zM948 479q0 128 -61.5 219.5t-202.5 165.5q-206 -53 -301.5 -161.5t-95.5 -268.5q0 -144 89 -229.5t236 -85.5q162 0 249 93t87 267z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="973" -d="M715 641v-141h-148q-311 0 -311 -195q0 -90 73.5 -139t219.5 -49q84 0 167 19.5t183 66.5v-148q-137 -75 -358 -75q-210 0 -330.5 84.5t-120.5 232.5q0 98 55 163.5t185 106.5v11q-98 28 -151.5 91.5t-53.5 155.5q0 133 112 212t304 79q97 0 179.5 -16.5t182.5 -61.5 -l-63 -133q-94 42 -159 56t-144 14q-250 0 -250 -162q0 -172 317 -172h111z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="989" -d="M176 1415v141h752v-129q-215 -180 -359 -341.5t-213 -306t-69 -310.5q0 -98 29.5 -157t92 -95.5t234.5 -73.5q149 -31 217 -85.5t68 -145.5q0 -149 -127 -313h-166q125 161 125 268q0 56 -55.5 86.5t-198.5 56.5q-203 36 -297 145.5t-94 303.5q0 114 29.5 218t85.5 201.5 -t156.5 212t342.5 332.5q-40 -8 -311 -8h-242z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1257" -d="M926 -492v1201q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-1207h-166z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1212" -d="M1098 780q0 -406 -122 -603t-372 -197q-240 0 -364.5 201.5t-124.5 598.5q0 407 122.5 603t366.5 196t369 -202.5t125 -596.5zM604 119q164 0 242 152.5t84 459.5h-647q4 -304 79 -458t242 -154zM604 1440q-161 0 -236 -143.5t-85 -424.5h645q-11 281 -87 424.5 -t-237 143.5z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="694" -d="M334 1096v-774q0 -104 36.5 -154.5t123.5 -50.5q37 0 87.5 6.5t77.5 13.5v-127q-31 -13 -83.5 -21.5t-102.5 -8.5q-160 0 -232.5 84t-72.5 253v779h166z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="1061" -d="M815 1094h207l-414 -482l443 -612h-201l-361 504l-135 -113v-391h-178v1094h178v-283q0 -166 -12 -279z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="1094" -d="M-14 0l473 1079l-58 162q-30 85 -55 120t-58.5 53t-82.5 18q-58 0 -115 -13v133q68 17 131 17q91 0 151.5 -30t104.5 -95t98 -217l363 -1012q19 -49 40 -74.5t56 -25.5q27 0 60 10v-121q-48 -24 -109 -24q-74 0 -115.5 38t-70.5 121l-156 436q-84 240 -106 336h-9 -q-28 -116 -116 -325l-254 -586h-172z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1268" -d="M342 381q0 -262 254 -262q171 0 250.5 94.5t79.5 306.5v576h166v-1096h-136l-26 147h-10q-111 -167 -340 -167q-150 0 -238 92h-10q10 -84 10 -244v-320h-166v1588h166v-715z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1110" -d="M0 1096h172l219 -590q26 -67 67.5 -186t57.5 -181h8q177 175 256.5 397.5t79.5 559.5h166q0 -363 -103.5 -617t-328.5 -479h-186z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="973" -d="M854 754h-178q-176 0 -282.5 -89t-106.5 -231q0 -80 25 -129t72.5 -79.5t115 -48.5t151.5 -36q142 -29 209.5 -84t67.5 -145q0 -65 -27 -139.5t-94 -173.5h-156q53 71 86 144.5t33 125.5q0 55 -57.5 85.5t-200.5 55.5q-200 34 -299.5 134t-99.5 276q0 140 79 245t207 144 -v12q-217 64 -217 281q0 117 69.5 196t235.5 129q-128 -12 -243 -12h-68v141h698v-131h-51q-130 0 -242 -40t-175.5 -112t-63.5 -167q0 -115 83.5 -169t258.5 -54h170v-129z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1331" -d="M1149 117q38 0 86 18v-131q-43 -24 -127 -24q-219 0 -219 253v721h-477v-954h-166v954h-221v74l143 68h1100v-142h-213v-708q0 -74 25.5 -101.5t68.5 -27.5z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1237" -d="M1122 549q0 -271 -128 -420t-361 -149q-179 0 -299 94h-8q8 -61 8 -273v-293h-168v1055q0 266 125.5 409.5t359.5 143.5q219 0 345 -151.5t126 -415.5zM643 975q-158 0 -233.5 -103.5t-75.5 -312.5v-338q122 -102 305 -102q159 0 235 104t76 326q0 214 -72 320t-235 106z -" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="987" -d="M287 522q0 -135 29.5 -201t101 -106t231.5 -74q148 -32 213.5 -85.5t65.5 -143.5q0 -66 -27 -142t-94 -171h-156q54 70 87.5 144t33.5 124q0 40 -25.5 63.5t-80.5 42.5t-152 37q-204 37 -301.5 164t-97.5 346q0 286 138 441t386 155q79 0 158 -16.5t133 -40.5l-53 -141 -q-130 51 -244 51q-176 0 -261 -109t-85 -338z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1255" -d="M1120 508q0 -157 -61.5 -277.5t-176 -185.5t-268.5 -65q-235 0 -367 144t-132 398q0 574 592 574h499v-142h-264q178 -167 178 -446zM287 522q0 -194 85 -298.5t246 -104.5q159 0 244.5 98.5t85.5 280.5q0 270 -174 456h-65q-222 0 -322 -104t-100 -328z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="969" -d="M915 1096v-142h-432v-618q0 -223 205 -223q47 0 96 6.5t76 13.5v-125q-35 -15 -90.5 -24t-103.5 -9q-181 0 -266 85t-85 255v639h-297v74l148 68h749z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1247" -d="M627 -20q-231 0 -347 125t-116 391v600h166v-592q0 -192 79 -289.5t232 -97.5q167 0 247.5 119t80.5 370q0 130 -14 242t-48 248h166q36 -144 50 -251t14 -247q0 -318 -129 -468t-381 -150z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1470" -d="M643 -492v474q-260 11 -394 156.5t-134 416.5q0 296 207 549l131 -90q-89 -117 -129.5 -229t-40.5 -236q0 -395 360 -430v620q0 187 83 282t232 95q180 0 289 -146.5t109 -396.5q0 -178 -68 -308.5t-192 -202.5t-289 -80v-474h-164zM1184 571q0 185 -62 294.5t-164 109.5 -q-73 0 -112 -60t-39 -174v-622q179 16 278 134t99 318z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1118" -d="M178 1102q54 0 93 -21.5t70 -67t75 -157.5l145 -369l318 609h180l-428 -772l190 -484q48 -122 89 -159t104 -37q45 0 90 8v-129q-60 -15 -119 -15q-115 0 -185.5 59t-129.5 218l-150 387l-362 -664h-178l464 836l-172 444q-38 99 -73 139t-78 40q-37 0 -64 -11v129 -q49 17 121 17z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1542" -d="M858 1554v-1431q188 15 289.5 130.5t101.5 319.5q0 120 -13 237.5t-50 285.5h166q63 -272 63 -516q0 -276 -142.5 -429t-414.5 -169v-474h-164v474q-264 9 -397 154t-133 417v543h166v-549q0 -195 90 -304t274 -122v1433h164z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1583" -d="M500 -20q-182 0 -283.5 148t-101.5 402q0 156 27.5 284.5t95.5 281.5h172q-68 -156 -96.5 -283.5t-28.5 -284.5q0 -193 60 -301t167 -108q94 0 146.5 71.5t52.5 196.5v311h161v-311q0 -128 53 -198t146 -70q107 0 167 108t60 301q0 151 -27.5 281t-96.5 287h172 -q65 -146 93.5 -277.5t28.5 -288.5q0 -252 -101.5 -401t-283.5 -149q-220 0 -288 182h-9q-65 -182 -286 -182z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="694" -d="M334 1096v-774q0 -104 36.5 -154.5t123.5 -50.5q37 0 87.5 6.5t77.5 13.5v-127q-31 -13 -83.5 -21.5t-102.5 -8.5q-160 0 -232.5 84t-72.5 253v779h166zM9 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5 -zM390 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1247" -d="M627 -20q-231 0 -347 125t-116 391v600h166v-592q0 -192 79 -289.5t232 -97.5q167 0 247.5 119t80.5 370q0 130 -14 242t-48 248h166q36 -144 50 -251t14 -247q0 -318 -129 -468t-381 -150zM366 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM747 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM541 1270 -q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1247" -d="M627 -20q-231 0 -347 125t-116 391v600h166v-592q0 -192 79 -289.5t232 -97.5q167 0 247.5 119t80.5 370q0 130 -14 242t-48 248h166q36 -144 50 -251t14 -247q0 -318 -129 -468t-381 -150zM547 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5 -t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1583" -d="M500 -20q-182 0 -283.5 148t-101.5 402q0 156 27.5 284.5t95.5 281.5h172q-68 -156 -96.5 -283.5t-28.5 -284.5q0 -193 60 -301t167 -108q94 0 146.5 71.5t52.5 196.5v311h161v-311q0 -128 53 -198t146 -70q107 0 167 108t60 301q0 151 -27.5 281t-96.5 287h172 -q65 -146 93.5 -277.5t28.5 -288.5q0 -252 -101.5 -401t-283.5 -149q-220 0 -288 182h-9q-65 -182 -286 -182zM709 1270q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1274" -d="M1110 846q4 -46 4 -111q0 -353 -144 -554t-403 -201q-393 0 -393 344q0 57 16 180q15 122 15 145q0 47 -18 64.5t-50 17.5q-25 0 -52 -7.5t-42 -16.5l-33 118q83 39 178 39q88 0 134.5 -46.5t46.5 -139.5q0 -35 -15 -166q-16 -132 -16 -190q0 -207 233 -207 -q375 0 375 624q0 63 -4 107q-223 2 -378.5 54.5t-235.5 146.5t-80 225q0 144 91 225.5t259 81.5q208 0 336 -153.5t170 -450.5h143v-129h-137zM934 975q-28 211 -119.5 339t-214.5 128q-93 0 -141.5 -47.5t-48.5 -122.5q0 -141 137.5 -218t386.5 -79z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1157" -d="M569 717q122 291 192.5 446.5t109 209.5t84.5 78t104 24q48 0 88 -15v-135q-26 6 -57 6q-40 0 -69.5 -28t-72.5 -108.5t-105 -206.5t-112.5 -244t-81.5 -203v-541h-172v559l-477 903h186z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1720" -d="M553 -20q-186 0 -285.5 115.5t-99.5 355.5t135 503h-285v74l142 68h1495v-142h-250q117 -252 117 -503q0 -240 -100 -355.5t-285 -115.5q-221 0 -289 182h-8q-68 -182 -287 -182zM467 954q-63 -132 -96 -261t-33 -232q0 -174 54 -258t171 -84q93 0 147 71.5t54 196.5v188 -h162v-188q0 -122 53.5 -195t146.5 -73q117 0 171.5 84.5t54.5 257.5q0 254 -111 493h-774z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM746 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM348 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM729 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1503" -d="M975 -20q-96 0 -150 22v150q55 -19 146 -19q101 0 153 62t52 174v131q0 128 -65.5 184.5t-205.5 56.5h-381v-741h-170v1311h-336v151h951v-151h-445v-418h396q205 0 315.5 -95.5t110.5 -273.5v-143q0 -190 -98 -295.5t-273 -105.5z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="1065" -d="M1016 1462v-153h-645v-1309h-170v1462h815zM483 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1309" -d="M834 1331q-226 0 -360.5 -125t-164.5 -366h723v-150h-727q10 -274 143.5 -416.5t382.5 -142.5q162 0 363 55v-149q-161 -57 -387 -57q-332 0 -507 194t-175 559q0 351 188.5 551.5t522.5 200.5q237 0 415 -88l-71 -148q-169 82 -346 82z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1124" -d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 -t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM5 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM386 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="547" -d="M-12 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1903" -d="M1827 426q0 -206 -137.5 -316t-397.5 -110h-327v1311h-365q-57 -440 -99 -701t-82 -386.5t-109.5 -186t-176.5 -60.5q-69 0 -133 25v143q50 -26 113 -26q48 0 80.5 31t54 82.5t49 176.5t61.5 348t99 705h678v-624h122q570 0 570 -412zM1135 147h133q198 0 289.5 69.5 -t91.5 209.5q0 138 -96 200t-316 62h-102v-541z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="1952" -d="M1876 426q0 -206 -136 -316t-397 -110h-329v688h-643v-688h-170v1462h170v-622h643v622h172v-624h121q569 0 569 -412zM1186 147h133q196 0 288.5 69.5t92.5 209.5q0 137 -96.5 199.5t-315.5 62.5h-102v-541z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1503" -d="M524 893h400q205 0 313.5 -94t108.5 -275v-524h-170v502q0 126 -62.5 182.5t-202.5 56.5h-387v-741h-170v1311h-336v151h1014v-151h-508v-418z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1253" -d="M1253 0h-206l-676 741v-741h-170v1462h170v-708l659 708h195l-647 -710zM555 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1561" -d="M203 1462h159v-813q0 -225 -14 -407h8l820 1220h186v-1462h-160v805q0 201 17 422h-9l-821 -1227h-186v1462zM890 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1272" -d="M293 -20q-111 0 -195 30v166q93 -43 189 -43q110 0 176.5 50.5t132.5 189.5l-569 1089h188l432 -831q25 -49 39 -96h8q28 84 39 106l359 821h180l-467 -1046q-84 -187 -151.5 -272t-152 -124.5t-208.5 -39.5zM652 1579q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145 -t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1493" -d="M1292 0h-465v-381h-176v381h-450v1462h170v-1308h751v1308h170v-1462z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1255" -d="M1149 426q0 -218 -129.5 -322t-390.5 -104h-428v1462h862v-151h-692v-473h227q193 0 314 -44.5t179 -131.5t58 -236zM371 147h239q190 0 276.5 65t86.5 214q0 142 -88 202t-307 60h-207v-541z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1327" -d="M201 1462h413q291 0 421 -87t130 -275q0 -130 -72.5 -214.5t-211.5 -109.5v-10q333 -57 333 -350q0 -196 -132.5 -306t-370.5 -110h-510v1462zM371 836h280q180 0 259 56.5t79 190.5q0 123 -88 177.5t-280 54.5h-250v-479zM371 692v-547h305q177 0 266.5 68.5t89.5 214.5 -q0 136 -91.5 200t-278.5 64h-291z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="1065" -d="M1016 1462v-153h-645v-1309h-170v1462h815z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1399" -d="M1354 -381h-162v381h-1016v-381h-162v535h113q154 259 263.5 630t121.5 678h657v-1308h185v-535zM999 154v1155h-333q-18 -242 -121 -581.5t-240 -573.5h694z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1729" -d="M598 752l-575 710h190l569 -708v708h164v-708l570 708h190l-576 -708l594 -754h-196l-582 741v-741h-164v741l-581 -741h-199z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1190" -d="M1049 1120q0 -144 -91.5 -234t-252.5 -114v-8q183 -25 277.5 -115t94.5 -235q0 -205 -153 -319.5t-432 -114.5q-255 0 -418 79v158q96 -46 207.5 -71t214.5 -25q198 0 299.5 75t101.5 216q0 134 -112.5 203t-335.5 69h-218v143h209q205 0 317.5 73.5t112.5 205.5 -q0 107 -81 171t-218 64q-110 0 -199 -25t-206 -99l-84 114q101 75 226.5 113.5t260.5 38.5q225 0 352.5 -98.5t127.5 -264.5z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1561" -d="M203 1462h159v-813q0 -225 -14 -407h8l820 1220h186v-1462h-160v805q0 201 17 422h-9l-821 -1227h-186v1462z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1561" -d="M203 1462h159v-813q0 -225 -14 -407h8l820 1220h186v-1462h-160v805q0 201 17 422h-9l-821 -1227h-186v1462zM809 1579q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1253" -d="M1253 0h-206l-676 741v-741h-170v1462h170v-708l659 708h195l-647 -710z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1442" -d="M1241 0h-170v1311h-475l-31 -240q-61 -479 -107.5 -700.5t-122.5 -308.5t-202 -85q-74 0 -133 25v143q54 -26 113 -26q53 0 92.5 43.5t70 151t77 408t102.5 740.5h786v-1462z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1849" -d="M848 0l-496 1296h-8q14 -154 14 -366v-930h-157v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1511" -d="M1311 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1493" -d="M1292 0h-170v1311h-751v-1311h-170v1462h1091v-1462z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1233" -d="M1128 1036q0 -222 -151.5 -341.5t-433.5 -119.5h-172v-575h-170v1462h379q548 0 548 -426zM371 721h153q226 0 327 73t101 234q0 145 -95 216t-296 71h-190v-594z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1133" -d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1272" -d="M293 -20q-111 0 -195 30v166q93 -43 189 -43q110 0 176.5 50.5t132.5 189.5l-569 1089h188l432 -831q25 -49 39 -96h8q28 84 39 106l359 821h180l-467 -1046q-84 -187 -151.5 -272t-152 -124.5t-208.5 -39.5z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1634" -d="M731 1483h172v-180h70q171 0 296.5 -68t192 -192t66.5 -283q0 -166 -74.5 -295.5t-204 -194.5t-305.5 -65h-41v-225h-172v225h-45q-176 0 -305 66t-202 196t-73 291q0 158 67.5 282t193.5 193.5t297 69.5h67v180zM903 348h25q201 0 312.5 109.5t111.5 304.5 -q0 185 -103 290t-288 105h-58v-809zM731 1157h-57q-182 0 -286.5 -106t-104.5 -289q0 -197 111 -305.5t313 -108.5h24v809z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1182" -d="M1174 0h-193l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1509" -d="M1292 154h172v-535h-161v381h-1102v1462h170v-1308h751v1308h170v-1308z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1423" -d="M1223 0h-170v604q-149 -53 -248 -72.5t-205 -19.5q-207 0 -318.5 95t-111.5 274v581h170v-561q0 -121 63.5 -179t206.5 -58q97 0 185.5 14.5t257.5 69.5v714h170v-1462z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="2114" -d="M1913 0h-1712v1462h170v-1308h600v1308h170v-1308h600v1308h172v-1462z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="2116" -d="M201 0v1462h170v-1308h583v1308h172v-1308h584v1308h170v-1308h172v-535h-162v381h-1689z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1409" -d="M1303 426q0 -206 -129.5 -316t-378.5 -110h-441v1311h-336v151h506v-624h244q261 0 398 -102.5t137 -309.5zM524 147h252q181 0 265.5 69.5t84.5 209.5q0 136 -87.5 199t-290.5 63h-224v-541z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1747" -d="M201 0v1462h170v-624h239q261 0 398 -102.5t137 -309.5q0 -206 -129.5 -316t-378.5 -110h-436zM371 145h247q181 0 266 70.5t85 210.5q0 137 -89.5 198.5t-289.5 61.5h-219v-541zM1546 0h-170v1462h170v-1462z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1317" -d="M1210 426q0 -203 -135.5 -314.5t-386.5 -111.5h-487v1462h170v-624h291q267 0 407.5 -105.5t140.5 -306.5zM371 147h299q364 0 364 279q0 135 -93.5 198.5t-299.5 63.5h-270v-541z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1290" -d="M467 1331q-172 0 -334 -76l-72 144q172 84 408 84q217 0 373.5 -88t237.5 -251t81 -384q0 -376 -182 -578t-524 -202q-227 0 -383 57v149q83 -21 169 -38t185 -17q271 0 409 144.5t146 416.5h-719v152h717q-22 229 -157.5 358t-354.5 129z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2150" -d="M2023 733q0 -354 -170.5 -553.5t-474.5 -199.5q-301 0 -471.5 183.5t-181.5 524.5h-354v-688h-170v1462h170v-622h356q23 311 191.5 478t455.5 167q307 0 478 -200.5t171 -551.5zM903 733q0 -296 119 -450t350 -154q234 0 352.5 153t118.5 451t-117.5 449t-349.5 151 -q-233 0 -353 -152.5t-120 -447.5z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1303" -d="M635 610l-383 -610h-201l410 639q-161 51 -234 154.5t-73 261.5q0 196 135.5 301.5t410.5 105.5h402v-1462h-170v610h-297zM932 1315h-227q-183 0 -278 -63t-95 -205q0 -291 379 -291h221v559z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1221" -d="M119 657q0 360 106 561.5t336 251.5q286 61 504 99l31 -146q-347 -58 -496 -92q-145 -33 -217.5 -156t-79.5 -335h12q62 84 160 132t205 48q202 0 315 -131t113 -363q0 -257 -131 -401.5t-365 -144.5q-231 0 -362 177t-131 500zM627 119q305 0 305 389q0 371 -277 371 -q-76 0 -146.5 -31.5t-129 -83.5t-90.5 -107q0 -263 83 -400.5t255 -137.5z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1165" -d="M1065 821q0 -107 -61.5 -162.5t-172.5 -74.5v-9q140 -19 204.5 -82t64.5 -174q0 -153 -112.5 -236t-328.5 -83h-483v1096h481q408 0 408 -275zM934 330q0 89 -67.5 129.5t-223.5 40.5h-301v-361h305q287 0 287 191zM903 805q0 80 -61.5 113.5t-186.5 33.5h-313v-309h281 -q154 0 217 38t63 124z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="877" -d="M836 954h-494v-954h-166v1096h660v-142z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1171" -d="M1128 -379h-161v379h-766v-379h-160v522h86q134 182 210 427t79 526h555v-953h157v-522zM811 143v822h-246q-13 -222 -85.5 -449.5t-180.5 -372.5h512z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1507" -d="M676 1094h153v-531l453 531h182l-458 -531l497 -563h-192l-482 555v-555h-153v555l-481 -555h-191l496 563l-457 531h182l451 -531v531z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="989" -d="M385 641q311 0 311 172q0 162 -252 162q-77 0 -140 -14t-165 -56l-59 135q170 76 371 76q189 0 298 -77.5t109 -211.5q0 -184 -205 -241v-8q126 -37 184 -105.5t58 -171.5q0 -152 -122.5 -236.5t-338.5 -84.5q-237 0 -366 71v152q183 -86 370 -86q144 0 217.5 49.5 -t73.5 142.5q0 191 -311 191h-152v141h119z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1298" -d="M332 1096v-695l-7 -182l-3 -57l593 934h207v-1096h-155v670l3 132l5 130l-592 -932h-207v1096h156z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1298" -d="M332 1096v-695l-7 -182l-3 -57l593 934h207v-1096h-155v670l3 132l5 130l-592 -932h-207v1096h156zM645 1241q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="1063" -d="M815 1096h182l-473 -529l512 -567h-194l-500 555v-555h-166v1096h166v-533z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1169" -d="M993 0h-168v954h-329q-27 -356 -75 -565t-124.5 -306t-194.5 -97q-54 0 -86 12v123q22 -6 50 -6q115 0 183 243t103 738h641v-1096z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1505" -d="M745 160l31 93l43 118l297 723h211v-1094h-147v905l-20 -58l-58 -153l-283 -694h-139l-283 696q-53 134 -73 209v-905h-148v1094h203l287 -695q43 -110 79 -239z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1298" -d="M342 1096v-459h614v459h166v-1096h-166v494h-614v-494h-166v1096h166z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1272" -d="M342 0h-166v1096h920v-1096h-168v952h-586v-952z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1255" -d="M686 -20q-107 0 -195.5 39.5t-148.5 121.5h-12q12 -96 12 -182v-451h-166v1588h135l23 -150h8q64 90 149 130t195 40q218 0 336.5 -149t118.5 -418q0 -270 -120.5 -419.5t-334.5 -149.5zM662 975q-168 0 -243 -93t-77 -296v-37q0 -231 77 -330.5t247 -99.5 -q142 0 222.5 115t80.5 317q0 205 -80.5 314.5t-226.5 109.5z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="956" -d="M915 954h-356v-954h-166v954h-352v142h874v-142z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1464" -d="M1350 549q0 -249 -141.5 -396.5t-395.5 -168.5v-476h-164v476q-248 19 -392 170t-144 395q0 249 143.5 396t398.5 167v444h158v-444q251 -23 394 -173t143 -390zM287 549q0 -192 88 -301t280 -127v852q-185 -17 -276.5 -120.5t-91.5 -303.5zM1178 549q0 383 -365 422 -v-850q190 19 277.5 128t87.5 300z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="1073" -d="M440 561l-381 535h189l289 -420l288 420h187l-381 -535l401 -561h-188l-307 444l-310 -444h-188z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1282" -d="M1245 -379h-166v379h-903v1096h166v-953h582v953h166v-953h155v-522z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1245" -d="M322 1096v-400q0 -192 219 -192q91 0 174 28t188 95v469h166v-1096h-166v496q-105 -72 -194.5 -101.5t-202.5 -29.5q-164 0 -257 86t-93 233v412h166z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1823" -d="M993 143h486v953h168v-1096h-1471v1096h166v-953h485v953h166v-953z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1837" -d="M993 143h486v951h166v-951h157v-520h-168v377h-1458v1094h166v-951h485v951h166v-951z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1423" -d="M557 643h313q224 0 331.5 -77t107.5 -232q0 -166 -111.5 -250t-331.5 -84h-475v954h-350v142h516v-453zM1145 324q0 93 -62 134.5t-219 41.5h-307v-361h313q275 0 275 185z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1577" -d="M342 643h299q209 0 309.5 -77.5t100.5 -231.5q0 -165 -106.5 -249.5t-313.5 -84.5h-455v1096h166v-453zM1401 0h-166v1096h166v-1096zM342 500v-361h281q264 0 264 185q0 92 -61 134t-208 42h-276z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1212" -d="M342 643h338q420 0 420 -309q0 -162 -109.5 -248t-320.5 -86h-494v1096h166v-453zM342 500v-361h320q132 0 202 46t70 139q0 91 -64.5 133.5t-212.5 42.5h-315z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="1008" -d="M342 -20q-167 0 -285 57v147q60 -23 130 -41t161 -18q174 0 268.5 93t104.5 278h-555v141h553q-16 172 -100.5 252t-245.5 80q-103 0 -254 -54l-47 140q55 26 137 43.5t162 17.5q256 0 389 -146.5t133 -422.5q0 -269 -144.5 -418t-406.5 -149z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1702" -d="M1587 549q0 -269 -128.5 -419t-352.5 -150q-213 0 -338 133.5t-139 380.5h-287v-494h-166v1096h166v-459h289q20 228 146 353.5t333 125.5q220 0 348.5 -152.5t128.5 -414.5zM801 549q0 -211 73 -320.5t234 -109.5q158 0 232.5 106.5t74.5 323.5q0 210 -73 318t-234 108 -t-234 -108t-73 -318z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1137" -d="M231 0h-194l315 463q-127 28 -194.5 108.5t-67.5 202.5q0 150 101 236t282 86h488v-1096h-166v438h-277zM252 772q0 -190 276 -190h267v370h-301q-242 0 -242 -180z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M713 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M317 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM698 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1257" -d="M815 -492q-79 0 -131 25v137q58 -20 113 -20q129 0 129 170v850q0 134 -61 200t-191 66q-173 0 -251.5 -94t-78.5 -305v-537h-168v1243h-156v127h156v186h166v-186h401v-127h-401v-196q0 -84 -8 -140h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -305.5 -v-842q0 -156 -68.5 -241t-208.5 -85z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="877" -d="M836 954h-494v-954h-166v1096h660v-142zM378 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="1008" -d="M633 -20q-248 0 -383 145.5t-135 417.5q0 275 137.5 424t388.5 149q82 0 161 -16t136 -41l-49 -141q-143 51 -252 51q-164 0 -249 -81.5t-101 -250.5h553v-141h-555q9 -190 94 -280.5t252 -90.5q140 0 291 59v-147q-116 -57 -289 -57z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="977" -d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 -q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM-20 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM361 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="518" -d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1714" -d="M944 643h244q211 0 312.5 -77.5t101.5 -231.5q0 -334 -437 -334h-411v954h-258q-40 -518 -130.5 -743t-261.5 -225q-56 0 -88 12v123q22 -6 50 -6q115 0 183 243t103 738h592v-453zM1436 324q0 91 -62.5 133.5t-220.5 42.5h-231v-361h237q277 0 277 185z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1815" -d="M1024 1094v-453h256q217 0 318.5 -76.5t101.5 -230.5q0 -334 -434 -334h-416v494h-502v-494h-172v1094h172v-457h506v457h170zM1020 500v-361h240q276 0 276 185q0 92 -64 134t-217 42h-235z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1257" -d="M926 0v670q0 134 -61 200t-191 66q-174 0 -253 -93t-79 -306v-537h-166v1243h-156v127h156v186h166v-186h449v-127h-449v-196q0 -84 -8 -140h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -305.5v-676h-166z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="1063" -d="M815 1096h182l-473 -529l512 -567h-194l-500 555v-555h-166v1096h166v-533zM444 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1298" -d="M332 1096v-695l-7 -182l-3 -57l593 934h207v-1096h-155v670l3 132l5 130l-592 -932h-207v1096h156zM750 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM511 1241q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41 -q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1272" -d="M559 0h-383v1094h166v-951h586v951h166v-1094h-369v-377h-166v377z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="2071" -d="M1444 1327q-60 0 -107 -20.5t-92 -51.5l-69 146q126 80 276 80q228 0 356.5 -188t128.5 -527q0 -371 -141.5 -578.5t-396.5 -207.5q-108 0 -194 22.5t-169 73.5h-8q-80 -50 -164.5 -73t-191.5 -23q-256 0 -397.5 205.5t-141.5 580.5q0 339 127.5 527t355.5 188 -q153 0 277 -80l-70 -146q-45 31 -91.5 51.5t-106.5 20.5q-147 0 -229.5 -148.5t-82.5 -414.5q0 -301 103.5 -468t290.5 -167q139 0 241 76v457h170v-457q102 -76 244 -76q187 0 290 165.5t103 469.5q0 267 -82.5 415t-228.5 148z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1677" -d="M807 457q-10 -26 -20 -51.5t-189 -405.5h-213l-385 1096h172l246 -695q32 -93 78 -282h8q19 53 56 134.5t179 373.5l-172 469h178q265 -769 287.5 -841t32.5 -116h8q173 184 249.5 401.5t76.5 555.5h166q0 -362 -97.5 -614.5t-316.5 -481.5h-182l-125 346q-33 92 -37 111 -z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1382" -d="M23 1274h319v282h172v-282h418v-148h-418v-288h201q561 0 561 -412q0 -208 -132.5 -317t-393.5 -109h-408v1126h-319v148zM514 145h213q192 0 282.5 68.5t90.5 212.5q0 138 -93 199t-311 61h-182v-541z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1294" -d="M424 1096h344v-140h-344v-315h319q437 0 437 -307q0 -166 -111.5 -250t-331.5 -84h-479v956h-235v140h235v223h166v-223zM424 500v-361h305q287 0 287 185q0 92 -67.5 134t-223.5 42h-301z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1882" -d="M1423 1331q-227 0 -357 -125t-161 -366h703v-150h-707q8 -273 140.5 -416t379.5 -143q154 0 348 55v-149q-152 -57 -374 -57q-319 0 -492.5 184t-181.5 524h-350v-688h-170v1462h170v-622h356q30 307 214.5 474t488.5 169q213 0 395 -92l-72 -146q-100 48 -178.5 67 -t-151.5 19z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1507" -d="M1143 -20q-235 0 -369 133t-145 381h-287v-494h-166v1096h166v-461h289q24 235 158.5 358t357.5 123q81 0 158 -16t131 -41l-50 -141q-138 51 -239 51q-163 0 -246.5 -82t-99.5 -252h536v-141h-538q9 -188 93.5 -278.5t248.5 -90.5q61 0 120.5 11t157.5 48v-147 -q-110 -57 -276 -57z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1389" -d="M920 682h-148v-682h-156v682h-149l-289 -682h-178l616 1462h158l615 -1462h-183zM530 831h332l-82 207q-56 144 -86 244q-24 -98 -88 -262z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1155" -d="M680 1096l465 -1096h-172l-207 489h-113v-489h-151v489h-115l-205 -489h-172l465 1096h205zM442 629h271q-43 108 -71 177t-62 175h-9q-28 -92 -129 -352z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1886" -d="M1413 688h-143v-688h-154v688h-147l-285 -688h-186l290 688h-417v-688h-170v1462h170v-622h481l262 622h158l614 -1462h-188zM1032 840h318q-118 309 -132 352t-26 90q-19 -67 -36.5 -119t-123.5 -323z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1569" -d="M1094 1096l462 -1096h-170l-208 494h-113v-494h-152v494h-110l-209 -494h-172l209 494h-289v-494h-166v1096h166v-461h350l197 461h205zM993 981h-8q-10 -34 -26 -81.5t-105 -264.5h268z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1477" -d="M1321 1462v-133l-422 -495q118 -6 195 -42t127 -105.5t100 -233.5l133 -453h-174l-137 457q-35 111 -69 159t-84.5 67t-139.5 19h-27v-702h-170v702h-26q-91 0 -140.5 -19.5t-82 -67t-64.5 -158.5l-135 -457h-185l136 453q47 159 96.5 230t124 107.5t192.5 43.5l-411 495 -v133h1163zM1116 1309h-758l379 -455z" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1315" -d="M1163 1096v-105l-338 -352q87 -7 142.5 -31t92 -64t61 -92.5t179.5 -451.5h-172l-133 336q-34 87 -63 122.5t-71 49.5t-118 14h-10v-522h-153v522h-11q-75 0 -116 -13t-69 -45t-67 -126l-135 -338h-170l131 336q24 61 48 113.5t60.5 92t91.5 64.5t142 33l-335 352v105 -h1013zM950 956h-588l293 -319z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="1995" -d="M1853 1462v-133l-419 -498q120 -6 196.5 -42t127 -108t95.5 -228l136 -453h-168l-138 457q-31 104 -66 153.5t-87.5 69.5t-147.5 20h-24v-700h-172v700h-25q-94 0 -144 -20t-83 -67.5t-66 -155.5l-135 -457h-178l135 446q55 184 111 242h-430v-688h-170v1462h170v-622 -h727l-408 489v133h1163zM1651 1309h-758l379 -457z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1733" -d="M1585 1096v-105l-338 -354q88 -7 143.5 -31.5t92 -63.5t60.5 -91.5t179 -450.5h-172l-133 336q-34 86 -63 121t-72 49t-117 14h-10v-520h-154v520h-10q-75 0 -117 -13.5t-69.5 -45t-65.5 -123.5l-135 -338h-170l131 336q47 120 84 160h-307v-496h-166v1096h166v-459h565 -l-336 354v105h1014zM1372 956h-588l293 -313z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1192" -d="M240 -137q0 -55 43.5 -80t132.5 -25q97 0 217 7q120 6 190 6q155 0 226 -39v-166q-80 51 -240 51q-68 0 -173 -5t-210 -5q-179 0 -271 62.5t-92 195.5q0 126 108.5 190.5t340.5 73.5q204 8 294.5 77t90.5 210q0 268 -448 268h-218v143h209q205 0 317.5 73.5t112.5 205.5 -q0 107 -81 171t-218 64q-106 0 -199.5 -27.5t-203.5 -96.5l-86 114q168 114 358 142q-57 66 -174 187l-49 52v27h123q92 -59 223 -195q92 115 157.5 158t129.5 43q50 0 98 -14v-113q-24 10 -67 10q-44 0 -99.5 -41t-103.5 -112q178 -23 274.5 -117.5t96.5 -237.5 -q0 -140 -95.5 -232t-265.5 -118v-8q186 -24 287.5 -113t101.5 -233q0 -208 -141.5 -314.5t-423.5 -115.5q-138 -5 -205 -32.5t-67 -90.5z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="989" -d="M760 1358q51 0 96 -15v-112q-24 10 -65 10q-47 0 -98.5 -39.5t-96.5 -101.5q122 -28 192 -97t70 -176q0 -184 -211 -241v-8q248 -71 248 -273q0 -148 -121 -232t-346 -87q-93 -2 -147.5 -13.5t-78.5 -32.5t-24 -65q0 -49 37.5 -70.5t126.5 -21.5q86 0 208 5l175 5 -q125 0 164 -39v-143q-21 19 -63 31t-97 12l-179 -5q-130 -5 -222 -5q-144 0 -223.5 59.5t-79.5 171.5q0 116 95 178.5t275 65.5q334 4 334 194q0 97 -78 142t-237 45h-148v141h119q311 0 311 172q0 162 -252 162q-74 0 -145.5 -17t-159.5 -53l-59 135q124 55 250 70 -q-92 117 -195 215v27h123q75 -52 215 -189q88 110 155 152.5t132 42.5z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1630" -d="M899 0h-170v446h-45q-176 0 -303.5 61t-199.5 184.5t-72 287.5v483h174v-479q0 -188 103.5 -288.5t315.5 -100.5h27v868h170v-868h29q211 0 314.5 99t103.5 286v483h176v-481q0 -165 -72 -288.5t-201.5 -185t-304.5 -61.5h-45v-446z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1542" -d="M858 1554v-1431q188 15 289.5 130.5t101.5 319.5q0 120 -13 237.5t-50 285.5h166q63 -272 63 -516q0 -276 -142.5 -429t-414.5 -169v-474h-164v474q-264 9 -397 154t-133 417v543h166v-549q0 -195 90 -304t274 -122v1433h164z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1597" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM799 129q229 0 352.5 136.5t136.5 404.5h-981q13 -267 137.5 -404t354.5 -137zM801 1333q-224 0 -349.5 -129t-144.5 -385h979 -q-17 254 -139 384t-346 130z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM618 119q158 0 240 92t92 283h-663q9 -186 89 -280.5t242 -94.5zM616 975q-156 0 -235 -86.5t-92 -253.5h659q-15 168 -95.5 254 -t-236.5 86z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1282" -d="M1249 1335q-59 0 -98 -51.5t-96 -232.5l-328 -1051h-197l-530 1462h180l338 -938q72 -199 107 -342q32 144 102 367l162 518q59 191 101 267t97 108.5t144 32.5q42 0 121 -19v-141q-56 20 -103 20z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="1036" -d="M406 0l-406 1096h174l225 -613q100 -268 119 -368h8q23 118 105 385l96 309q37 122 72.5 183.5t81 87.5t129.5 26q45 0 75 -10v-127q-29 8 -67 8q-47 0 -76 -42t-57 -134l-248 -801h-231z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1282" -d="M1249 1335q-59 0 -98 -51.5t-96 -232.5l-328 -1051h-197l-530 1462h180l338 -938q72 -199 107 -342q32 144 102 367l162 518q59 191 101 267t97 108.5t144 32.5q42 0 121 -19v-141q-56 20 -103 20zM907 1579h-96q-52 42 -140.5 143t-125.5 164v21h186q28 -61 77.5 -148 -t98.5 -155v-25zM551 1579h-96q-56 44 -143 144t-124 163v21h187q28 -61 77.5 -148t98.5 -155v-25z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="1036" -d="M406 0l-406 1096h174l225 -613q100 -268 119 -368h8q23 118 105 385l96 309q37 122 72.5 183.5t81 87.5t129.5 26q45 0 75 -10v-127q-29 8 -67 8q-47 0 -76 -42t-57 -134l-248 -801h-231zM792 1241h-96q-52 42 -140.5 143t-125.5 164v21h186q28 -61 77.5 -148t98.5 -155 -v-25zM436 1241h-96q-56 44 -143 144t-124 163v21h187q28 -61 77.5 -148t98.5 -155v-25z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2476" -d="M1364 733q0 -352 -163.5 -552.5t-455.5 -200.5q-297 0 -458.5 197.5t-161.5 557.5q0 358 161.5 554t461.5 196q291 0 453.5 -200t162.5 -552zM305 733q0 -297 111.5 -450.5t328.5 -153.5q218 0 328.5 152.5t110.5 451.5q0 297 -110 448.5t-326 151.5q-218 0 -330.5 -151 -t-112.5 -449zM1440 1096h176l246 -629q78 -207 98 -309h8q11 44 52.5 169.5t269.5 768.5h176l-469 -1248q-69 -182 -163 -261t-230 -79q-76 0 -150 17v133q55 -12 121 -12q94 0 152.5 51.5t93.5 140.5l61 156z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2173" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM1143 1096 -h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1677" -d="M1552 733q0 -302 -151.5 -500.5t-415.5 -242.5q-26 -111 -145 -111q-124 0 -144 111q-268 41 -419.5 238t-151.5 507q0 305 149.5 499.5t421.5 238.5q20 108 144 108q121 0 143 -108q268 -44 418.5 -242.5t150.5 -497.5zM305 733q0 -244 101 -396.5t290 -193.5 -q17 48 53.5 67t90.5 19q110 0 141 -86q189 41 290 193.5t101 396.5t-101 395.5t-290 190.5q-31 -88 -141 -88q-113 0 -144 86q-189 -39 -290 -189.5t-101 -394.5z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1346" -d="M1231 549q0 -233 -112 -377.5t-316 -181.5q-9 -54 -41 -76.5t-88 -22.5q-57 0 -87.5 21.5t-39.5 77.5q-203 36 -317.5 183t-114.5 376q0 233 112 377t320 180q8 56 39 77t88 21q56 0 88 -21.5t41 -78.5q202 -38 315 -184t113 -371zM287 549q0 -177 62.5 -282t199.5 -136 -q12 42 42 59t83 17q103 0 127 -74q134 31 196 136t62 280q0 352 -260 414q-13 -42 -43.5 -58t-81.5 -16q-53 0 -83 16t-42 60q-137 -31 -199.5 -135.5t-62.5 -280.5z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="2046" -d="M1442 1991v-121h-17q-84 0 -155 18t-131 39.5t-111 39.5t-94 18q-47 0 -77 -26t-30 -77v-16h-125v28q0 103 58 158t170 55q58 0 114 -18t115.5 -40t126 -40t144.5 -18h12zM702 129q88 0 173.5 33t146.5 96q55 -57 140.5 -93t178.5 -36q188 0 293 167t105 468 -q0 267 -82.5 415t-229.5 148q-60 0 -107.5 -21.5t-90.5 -52.5l-70 146q121 82 275 82q228 0 356.5 -188t128.5 -527q0 -372 -144 -579t-403 -207q-104 0 -189 20t-161 68q-75 -45 -158.5 -66.5t-193.5 -21.5q-260 0 -402.5 206.5t-142.5 579.5q0 341 128.5 528t356.5 187 -q154 0 275 -82l-70 -146q-43 31 -90 52.5t-107 21.5q-148 0 -230.5 -147.5t-82.5 -415.5q0 -303 105 -469t292 -166zM1155 1769q0 -162 -237 -223v72q120 41 120 94q0 20 -15.5 29t-33.5 17.5t-33.5 21.5t-15.5 41q0 73 92 73q56 0 89.5 -34t33.5 -91z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1655" -d="M1067 -20q-148 0 -242 65q-92 -65 -235 -65q-225 0 -350 145.5t-125 415.5q0 279 103.5 427t289.5 148q62 0 121.5 -16t99.5 -41l-57 -139q-89 51 -160 51q-116 0 -170.5 -107t-54.5 -321q0 -418 305 -418q123 0 235 80q62 -42 117.5 -61t122.5 -19q301 0 301 418 -q0 214 -55 321t-170 107q-71 0 -160 -51l-57 139q40 25 99.5 41t121.5 16q187 0 290 -148.5t103 -426.5q0 -267 -123.5 -414t-349.5 -147zM1212 1681v-120h-16q-84 0 -155.5 18t-131.5 39t-110.5 39t-93.5 18q-107 0 -107 -102v-17h-125v31q0 100 57.5 155.5t169.5 55.5 -q58 0 114.5 -18.5t115.5 -40t124.5 -40t143.5 -18.5h14zM926 1460q0 -161 -238 -223v72q119 40 119 96q0 20 -15 28.5t-33 17t-33 21t-15 39.5q0 74 92 74q56 0 89.5 -34t33.5 -91z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="2015" -d="M1419 1796v-27l-80 -172h-32l-50 103h-186l-49 -103h-33l-49 103h-188l-47 -103h-33l-80 172v27h827zM1427 1327q-60 0 -106.5 -20.5t-91.5 -51.5l-70 146q124 80 277 80q228 0 355.5 -188t127.5 -527q0 -373 -143 -579.5t-402 -206.5q-116 0 -202 24t-162 72h-9 -q-78 -49 -164 -72.5t-198 -23.5q-260 0 -402.5 208t-142.5 578q0 341 128.5 528t357.5 187q150 0 276 -80l-70 -146q-45 31 -91.5 51.5t-106.5 20.5q-147 0 -229.5 -148.5t-82.5 -414.5q0 -303 105 -469t295 -166q65 0 130 19t116 57v457h170v-457q102 -76 247 -76 -q188 0 294 165t106 470q0 267 -82.5 415t-229.5 148z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1677" -d="M1206 1444v-27l-82 -172h-30l-50 103h-188l-49 -103h-31l-49 103h-188l-50 -103h-30l-80 172v27h827zM807 457l-39 -95l-170 -362h-213l-385 1096h172l246 -695q39 -111 80 -282h8q12 35 29.5 75.5t203.5 432.5l-172 469h178q265 -769 287.5 -841t32.5 -116h8 -q173 184 249.5 401.5t76.5 555.5h166q0 -362 -97.5 -614.5t-316.5 -481.5h-182l-125 346q-33 92 -37 111z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1309" -d="M840 1331q-245 0 -389 -160t-144 -440q0 -294 133 -444t391 -150q111 0 168 23v-652h-170v472h-20q-331 0 -507.5 194t-176.5 559q0 224 87.5 395t251.5 263t380 92q237 0 407 -84l-71 -146q-171 78 -340 78z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="999" -d="M629 -20q-254 0 -384 143.5t-130 417.5q0 276 136.5 425.5t387.5 149.5q79 0 161 -17t130 -40l-49 -141q-142 51 -246 51q-177 0 -262.5 -102.5t-85.5 -323.5q0 -220 85.5 -320t256.5 -100q53 0 93 8.5t97 34.5v-658h-166v472h-24z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M514 313l-182 -317l-121 67l182 322l-287 166l66 115l289 -168l205 356l-289 166l67 117l289 -168l185 317l118 -67l-184 -320l289 -166l-68 -115l-287 166l-204 -354l286 -168l-65 -115z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1141" -d="M391 1264q-6 -45 -27 -70t-69 -25q-51 0 -71.5 25t-20.5 78t21 73.5t75 20.5h449q6 46 27.5 70t68.5 24q51 0 73.5 -24.5t22.5 -75.5q0 -56 -22 -76t-76 -20h-451z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1182" -d="M260 1378q120 0 270 59q149 58 230 58q111 0 169 -55.5t58 -155.5v-31h-125v17q0 102 -106 102q-43 0 -94 -18t-111.5 -39.5t-131.5 -39.5t-155 -18h-16v121h12z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1182" -d="M479 1464q0 56 33.5 90.5t89.5 34.5q92 0 92 -76q0 -27 -15 -39.5t-33 -20.5t-33 -17t-15 -29q0 -54 119 -94v-74q-238 64 -238 225z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1182" -d="M719 1464q0 -161 -238 -225v74q119 40 119 94q0 20 -15 29t-33 17t-33 20.5t-15 39.5q0 76 92 76q56 0 89.5 -34.5t33.5 -90.5z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1135 1231q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194q93 0 149.5 -50.5t63.5 -143.5h-79zM1135 -319q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5q92 0 149.5 -51t63.5 -143h-79zM1714 -41q-5 45 -35 66.5 -t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 -41q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1714 946q-5 45 -35 66.5t-98 21.5 -q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 946q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1905 459q-5 44 -35 66t-98 22q-78 0 -103.5 -20 -t-30.5 -68h-75q11 194 209 194q92 0 149.5 -52t63.5 -142h-80zM383 459q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52q92 0 149.5 -51t63.5 -143h-80z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1079 -35l11 -14q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM881 1141l-11 14q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1567 651l14 11q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM391 453l-14 -11q-66 17 -161.5 52t-174.5 71v97 -q221 -53 350 -70v-139zM1325 1018l2 16q67 39 162 83t162 69l69 -68q-177 -110 -297 -198zM633 45l-2 -16q-155 -89 -324 -152l-69 68q177 110 297 198zM492 877l-17 2q-82 140 -151 323l67 70q123 -198 199 -297zM1464 184l17 -2q39 -69 84 -166t67 -157l-67 -70 -q-31 50 -96 147.5t-103 149.5z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1577" -d="M201 1462h161v-815q0 -118 -10 -324l-4 -83h8l820 1222h184v-1310h184l-143 -533h-197l156 381h-160v805q0 175 19 422h-9l-823 -1227h-186v1462zM780 1579q-186 0 -270 71.5t-94 235.5h155q10 -108 56.5 -147t156.5 -39q105 0 154.5 46.5t58.5 139.5h158 -q-12 -159 -102.5 -233t-272.5 -74z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1317" -d="M332 1096v-662q0 -136 -10 -272l593 934h207v-953h176l-129 -520h-172l125 377h-155v672q0 158 8 262l-594 -934h-205v1096h156zM668 1241q-185 0 -270 71.5t-95 235.5h156q7 -102 52 -144t161 -42q103 0 153 45t60 141h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1255" -d="M47 1276h154v186h170v-186h342v-150h-342v-288h192q586 0 586 -412q0 -210 -138 -318t-409 -108h-401v1126h-154v150zM371 145h221q379 0 379 281q0 132 -92 196t-293 64h-215v-541z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1212" -d="M342 1311h295v-129h-295v-539h320q223 0 330.5 -77t107.5 -232q0 -164 -112 -249t-333 -85h-479v1182h-156v129h156v245h166v-245zM342 500v-361h305q287 0 287 185q0 92 -66 134t-225 42h-301z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1251" -d="M1145 1036q0 -127 -57.5 -227.5t-165.5 -157.5l120 -157l-100 -84l-149 192q-102 -27 -238 -27h-184v-575h-170v1462h393q274 0 412.5 -107.5t138.5 -318.5zM371 721h166q87 0 163 10l-108 141l108 82l140 -176q127 72 127 250q0 145 -97 216t-299 71h-200v-594z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1255" -d="M686 -20q-107 0 -195.5 39.5t-148.5 121.5h-12q12 -148 12 -182v-451h-166v1588h135l25 -150h8q64 90 148.5 130t193.5 40q218 0 336.5 -149t118.5 -418q0 -338 -183 -483l115 -156l-100 -80l-131 174q-71 -24 -156 -24zM662 975q-168 0 -243 -93t-77 -296v-37 -q0 -231 77 -330.5t247 -99.5q47 0 88 12l-121 158l106 80l129 -170q101 103 101 352q0 215 -75 319.5t-232 104.5z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="1079" -d="M870 1462v301h162v-454h-661v-1309h-170v1462h669z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="877" -d="M836 967h-494v-967h-166v1096h494v321h166v-450z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="1079" -d="M1032 1462v-153h-661v-510h424v-150h-424v-649h-170v649h-154v150h154v663h831z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="877" -d="M834 956h-492v-344h346v-127h-346v-485h-166v485h-158v127h158v484h658v-140z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1315" -d="M561 655q-100 0 -190 -12v-643h-170v1462h841v-153h-671v-516q90 10 211 10q320 0 490.5 -169.5t170.5 -483.5q0 -315 -143 -488.5t-402 -173.5q-83 0 -145.5 10.5t-132.5 38.5v152q123 -49 260 -49q383 0 383 510q0 245 -128 375t-374 130z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1075" -d="M582 -502q-145 0 -246 60v149q116 -63 239 -63q133 0 201 101t68 316q0 223 -89 327t-270 104q-69 0 -143 -17v-475h-166v1096h666v-142h-500v-329q82 12 141 12q272 0 403.5 -141.5t131.5 -436.5q0 -267 -114 -414t-322 -147z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1823" -d="M598 752l-575 710h190l569 -708v708h164v-708l570 708h190l-576 -708l474 -600h180v-535h-162v381h-94l-582 741v-741h-164v741l-581 -741h-199z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1597" -d="M676 1096h153v-531l453 531h182l-458 -531l368 -422h193v-520h-162v377h-94l-482 557v-557h-153v557l-481 -557h-191l496 565l-457 531h182l451 -531v531z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1190" -d="M1049 1120q0 -144 -91.5 -234t-252.5 -114v-8q183 -25 277.5 -115t94.5 -235q0 -205 -153 -319.5t-432 -114.5q-255 0 -418 79v158q96 -46 207.5 -71t214.5 -25q198 0 299.5 75t101.5 216q0 134 -112.5 203t-335.5 69h-218v143h209q205 0 317.5 73.5t112.5 205.5 -q0 107 -81 171t-218 64q-110 0 -199 -25t-206 -99l-84 114q101 75 226.5 113.5t260.5 38.5q225 0 352.5 -98.5t127.5 -264.5zM567 -238q0 103 -139 238h123q158 -120 158 -252q0 -91 -51 -142.5t-150 -51.5q-65 0 -115 16v108q32 -10 86 -10q37 0 62.5 24t25.5 70z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="989" -d="M385 641q311 0 311 172q0 162 -252 162q-77 0 -140 -14t-165 -56l-59 135q170 76 371 76q189 0 298 -77.5t109 -211.5q0 -184 -205 -241v-8q126 -37 184 -105.5t58 -171.5q0 -152 -122.5 -236.5t-338.5 -84.5q-237 0 -366 71v152q183 -86 370 -86q144 0 217.5 49.5 -t73.5 142.5q0 191 -311 191h-152v141h119zM487 -238q0 103 -139 238h123q158 -120 158 -252q0 -91 -51 -142.5t-150 -51.5q-65 0 -115 16v108q32 -10 86 -10q37 0 62.5 24t25.5 70z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1354" -d="M1151 154h172v-535h-162v381h-102l-535 709l-153 -136v-573h-170v1462h170v-725l663 725h201l-588 -635z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="1116" -d="M815 1096h182l-473 -529l383 -424h178v-522h-159v379h-84l-500 555v-555h-166v1096h166v-533z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1257" -d="M496 680l-125 -107v-573h-170v1462h170v-731l125 139v349h125v-211l411 454h203l-588 -635l610 -827h-200l-436 604v-305h-125v381z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="1092" -d="M461 434l-119 121v-555h-166v1096h166v-533l119 121v330h131v-205l270 287h182l-452 -475v-107l491 -514h-194l-299 315v-221h-129v340z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1257" -d="M47 1284h154v178h170v-178h221v-151h-221v-402l661 731h203l-588 -635l610 -827h-206l-527 709l-153 -134v-575h-170v1133h-154v151z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="1059" -d="M20 1370h156v186h164v-186h381v-127h-381v-536l-3 -91l-3 -55h8l18 24q55 74 75 98t388 413h199l-444 -467l473 -629h-199l-387 516l-125 -106v-410h-164v1243h-156v127z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1411" -d="M16 1462h508v-731l662 731h203l-588 -635l610 -827h-201l-532 709l-154 -136v-573h-170v1309h-338v153z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1260" -d="M41 1096h514v-533l475 533h182l-473 -531l512 -565h-194l-502 555v-555h-164v956h-350v140z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1528" -d="M1311 154h162v-535h-162v381h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1308z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1327" -d="M342 1096v-459h614v459h166v-953h150v-520h-166v377h-150v494h-614v-494h-166v1096h166z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1665" -d="M1647 1309h-336v-1309h-172v688h-768v-688h-170v1462h170v-622h768v622h508v-153z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1507" -d="M342 1096v-459h614v459h517v-140h-351v-956h-166v494h-614v-494h-166v1096h166z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2185" -d="M1241 0h-170v1309h-700v-1309h-170v1462h1040v-671q68 12 193 12q306 0 474.5 -172t168.5 -484q0 -313 -141.5 -486t-399.5 -173q-156 0 -279 49v152q134 -49 261 -49q378 0 378 510q0 242 -115 372.5t-347 130.5q-42 0 -105.5 -3.5t-87.5 -8.5v-641z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1772" -d="M1303 -502q-131 0 -228 60v149q109 -63 217 -63q240 0 240 417q0 223 -83 327t-255 104q-67 0 -139 -21v-471h-168v952h-545v-952h-166v1096h879v-473q75 14 141 14q246 0 377 -148.5t131 -429.5q0 -268 -104.5 -414.5t-296.5 -146.5z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1595" -d="M1464 678q0 -181 -69 -335.5t-185 -240.5q66 -30 156 -30q78 0 139 22v-153q-56 -25 -147 -25q-178 0 -326 100q-102 -36 -246 -36q-310 0 -485.5 196.5t-175.5 538.5q0 376 164.5 573t478.5 197q127 0 219 -35l-47 -145q-84 28 -174 28q-461 0 -461 -610 -q0 -288 127.5 -441t362.5 -153q54 0 100 10q-86 103 -132 245t-46 302q0 244 99 377t274 133q181 0 277.5 -133t96.5 -385zM1288 672q0 177 -51.5 279t-144.5 102q-94 0 -145.5 -100.5t-51.5 -276.5q0 -140 46.5 -267t129.5 -212q102 67 159.5 194.5t57.5 280.5z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1311" -d="M750 498q0 -94 34 -174.5t97 -133.5q68 44 109.5 123t41.5 189q0 235 -135 235q-72 0 -109.5 -62.5t-37.5 -176.5zM1108 -57q-147 0 -277 77q-96 -40 -219 -40q-149 0 -262 69.5t-174 196.5t-61 291q0 275 124 427t351 152q91 0 168 -22l-37 -138q-54 19 -133 19 -q-156 0 -228.5 -104.5t-72.5 -335.5q0 -206 85 -311t249 -105q37 0 63.5 4.5t32.5 7.5q-139 148 -139 373q0 173 84 269.5t235 96.5q148 0 226.5 -94.5t78.5 -271.5q0 -125 -53.5 -229.5t-147.5 -168.5q52 -26 119 -26q66 0 115 14v-137q-39 -14 -127 -14z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1292" -d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM772 -238q0 103 -139 238h123 -q158 -120 158 -252q0 -91 -51 -142.5t-150 -51.5q-65 0 -115 16v108q32 -10 86 -10q37 0 62.5 24t25.5 70z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="975" -d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM610 -238q0 103 -139 238h123 -q158 -120 158 -252q0 -91 -51 -142.5t-150 -51.5q-65 0 -115 16v108q32 -10 86 -10q37 0 62.5 24t25.5 70z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1133" -d="M479 1309h-463v153h1098v-153h-463v-1155h162v-535h-162v381h-172v1309z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="956" -d="M393 956h-352v140h872v-140h-354v-813h150v-520h-166v377h-150v956z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="1026" -d="M596 -492h-166v488l-430 1100h172l236 -613q83 -222 102 -319h8q33 138 103 319l233 613h172l-430 -1100v-488z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-59h299v-152h-299v-356h-172v356h-301v152h301v51l-487 903h186z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="1026" -d="M596 -129v-363h-166v363h-278v129h276l-428 1096h172l236 -613q83 -222 102 -319h8q33 138 103 319l233 613h172l-428 -1096h274v-129h-276z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1268" -d="M1075 154h162v-535h-162v381h-94l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1110" -d="M440 561l-381 535h189l289 -420l288 420h187l-381 -535l299 -418h149v-522h-166v379h-69l-307 444l-310 -444h-188z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1751" -d="M1534 154h170v-535h-162v381h-1100v1309h-426v153h1071v-153h-475v-1155h752v1308h170v-1308z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1468" -d="M889 954h-361v-811h582v951h166v-951h156v-520h-166v377h-904v954h-321v140h848v-140z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1417" -d="M1223 154h161v-535h-161v381h-170v604q-149 -53 -248 -72.5t-205 -19.5q-207 0 -318.5 95t-111.5 274v581h170v-561q0 -121 63.5 -179t206.5 -58q97 0 185.5 14.5t257.5 69.5v714h170v-1308z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1247" -d="M322 1096v-400q0 -192 219 -192q91 0 174 28t188 95v469h166v-953h150v-522h-166v379h-150v496q-105 -72 -194.5 -101.5t-202.5 -29.5q-164 0 -257 86t-93 233v412h166z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1423" -d="M629 512q-459 0 -459 369v581h170v-561q0 -119 67.5 -178t221.5 -59v348h125v-342q134 13 297 73v719h172v-1462h-172v600q-168 -65 -297 -82v-305h-125v299z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1229" -d="M322 1096v-400q0 -186 200 -192v301h119v-291q113 24 246 113v469h166v-1096h-166v496q-128 -91 -246 -117v-248h-119v234h-22q-160 0 -252 85t-92 234v412h166z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1423" -d="M201 1462h170v-604q256 92 452 92q207 0 318.5 -95.5t111.5 -272.5v-582h-170v561q0 120 -63.5 179t-206.5 59q-107 0 -200 -17t-242 -67v-715h-170v1462z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1198" -d="M922 0v397q0 193 -217 193q-88 0 -166 -24.5t-197 -98.5v-467h-166v1096h166v-498q95 69 188 100t207 31q163 0 258 -84t95 -235v-410h-168z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1716" -d="M61 903q0 73 27 127h145q-20 -50 -20 -110q0 -103 113 -103h34l5 43q29 298 195.5 461.5t445.5 163.5q297 0 445 -189.5t148 -558.5v-69h-1060q14 -264 144.5 -400.5t377.5 -136.5q101 0 202 15.5t242 58.5v-156q-114 -39 -224.5 -54t-240.5 -15q-314 0 -488.5 178 -t-193.5 510q-142 0 -219.5 59t-77.5 176zM1004 1333q-209 0 -329 -133.5t-136 -382.5h878q0 265 -101.5 390.5t-311.5 125.5z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1350" -d="M842 -20q-243 0 -381 143t-144 395q-266 4 -266 225q0 69 25 119h141q-20 -47 -20 -106q0 -103 106 -103h21l6 35q34 202 159 314t308 112q207 0 327.5 -132.5t120.5 -358.5v-105h-756q6 -198 92 -295.5t259 -97.5q101 0 180.5 16t177.5 58v-148q-88 -38 -166.5 -54.5 -t-189.5 -16.5zM793 975q-134 0 -209.5 -82t-89.5 -240h573q0 157 -70 239.5t-204 82.5z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1716" -d="M928 -12q-258 29 -404.5 202t-165.5 478q-142 0 -219.5 59t-77.5 176q0 73 27 127h145q-20 -50 -20 -110q0 -103 113 -103h34l5 43q29 298 195.5 461.5t445.5 163.5q297 0 445 -189.5t148 -558.5v-69h-1060q14 -264 144.5 -400.5t377.5 -136.5q101 0 202 15.5t242 58.5 -v-156q-176 -62 -411 -67v-363h-166v369zM1004 1333q-209 0 -329 -133.5t-136 -382.5h878q0 265 -101.5 390.5t-311.5 125.5z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1350" -d="M725 -10q-191 31 -296.5 167.5t-111.5 360.5q-266 4 -266 225q0 69 25 119h141q-20 -47 -20 -106q0 -103 106 -103h21l6 35q34 202 159 314t308 112q207 0 327.5 -132.5t120.5 -358.5v-105h-756q6 -198 92 -295.5t259 -97.5q101 0 180.5 16t177.5 58v-148 -q-142 -65 -307 -69v-359h-166v367zM793 975q-134 0 -209.5 -82t-89.5 -240h573q0 157 -70 239.5t-204 82.5z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1729" -d="M598 752l-575 710h190l569 -708v708h164v-708l570 708h190l-576 -708l594 -754h-196l-582 741v-741h-164v741l-581 -741h-199zM856 1581q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1507" -d="M676 1094h153v-531l453 531h182l-458 -531l497 -563h-192l-482 555v-555h-153v555l-481 -555h-191l496 563l-457 531h182l451 -531v531zM748 1241q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5 -t-273 -74.5z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1411" -d="M606 635q-140 0 -235 -31v-604h-170v1462h170v-708l649 708h205l-635 -684l26 2q335 0 512 -162.5t177 -467.5q0 -314 -147.5 -488t-414.5 -174q-82 0 -144 10t-132 39v152q122 -49 274 -49q187 0 287 134.5t100 375.5q0 232 -138.5 358.5t-383.5 126.5z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1124" -d="M340 0h-164v1096h164v-518l483 518h183l-457 -482q256 -4 382 -146t126 -409q0 -177 -55 -303t-157 -192t-235 -66q-136 0 -231 60v145q46 -25 100 -44t125 -19q135 0 211 108.5t76 308.5q0 211 -93.5 314.5t-283.5 103.5q-82 0 -174 -24v-451z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1446" -d="M1241 154h184l-143 -535h-197l156 381h-170v1311h-475l-31 -240q-61 -479 -107.5 -700.5t-122.5 -308.5t-202 -85q-74 0 -133 25v143q54 -26 113 -26q53 0 92.5 43.5t70 151t77 408t102.5 740.5h786v-1308z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1171" -d="M991 143h176l-129 -520h-172l125 377h-166v952h-331q-28 -360 -75 -566t-123 -302t-194 -96q-58 0 -86 10v127q22 -6 50 -6q113 0 181.5 236.5t102.5 738.5h641v-951z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1489" -d="M1311 150q0 -318 -141 -490t-402 -172q-82 0 -143 9.5t-138 39.5v150q123 -49 258 -49q396 0 396 503v547h-770v-688h-170v1462h170v-622h770v622h170v-1312z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1262" -d="M723 -502q-132 0 -225 58v149q111 -61 213 -61q125 0 184 99t59 306v445h-612v-494h-166v1096h166v-459h612v459h168v-1045q0 -268 -103.5 -410.5t-295.5 -142.5z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1526" -d="M1311 154h184l-145 -535h-197l158 381h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1308z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1337" -d="M342 1094v-457h614v457h166v-951h176l-129 -520h-172l125 377h-166v494h-614v-494h-166v1094h166z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1423" -d="M1223 0h-170v-381h-162v535h162v450q-149 -53 -248 -72.5t-205 -19.5q-207 0 -318.5 95t-111.5 274v581h170v-561q0 -121 63.5 -179t206.5 -58q97 0 185.5 14.5t257.5 69.5v714h170v-1462z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1245" -d="M322 1096v-400q0 -192 219 -192q91 0 174 28t188 95v469h166v-1096h-149v-379h-166v522h149v353q-105 -72 -194.5 -101.5t-202.5 -29.5q-164 0 -257 86t-93 233v412h166z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1851" -d="M848 0l-496 1296h-8l7 -127q7 -192 7 -239v-930h-157v1462h256l465 -1206h8l465 1206h254v-1308h184l-143 -535h-199l158 381h-170v942q0 132 14 352h-8l-500 -1294h-137z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1507" -d="M745 160l31 93l43 118l297 723h211v-951h176l-129 -520h-172l125 377h-147v905l-20 -58l-58 -153l-283 -694h-139l-283 696q-53 134 -73 209v-905h-148v1094h203l297 -723q45 -110 69 -211z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM641 1579q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5 -t-273 -74.5z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM560 1241q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM370 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM751 1731 -q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM296 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM677 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1788" -d="M1665 0h-750v465h-514l-227 -465h-176l698 1462h969v-151h-580v-471h541v-150h-541v-538h580v-152zM469 618h446v693h-118z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1757" -d="M94 303q0 161 124 250.5t378 97.5l184 6v68q0 129 -58 190.5t-177 61.5q-144 0 -307 -84l-52 127q74 41 173.5 67.5t197.5 26.5q130 0 212.5 -43.5t123.5 -138.5q53 88 138.5 136t195.5 48q192 0 308 -133.5t116 -355.5v-107h-701q8 -395 322 -395q91 0 169.5 17.5 -t162.5 56.5v-148q-86 -38 -160.5 -54.5t-175.5 -16.5q-289 0 -414 233q-81 -127 -179.5 -180t-232.5 -53q-163 0 -255.5 85t-92.5 238zM268 301q0 -95 53.5 -139.5t141.5 -44.5q145 0 229 84.5t84 238.5v99l-158 -7q-186 -8 -268 -62.5t-82 -168.5zM1225 977 -q-121 0 -190.5 -83t-80.5 -241h519q0 156 -64 240t-184 84z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM600 1579q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M596 1241q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1495" -d="M664 1333q-227 0 -453 -76v158q115 38 220 54t239 16q331 0 514.5 -199.5t183.5 -556.5q0 -350 -173 -549.5t-482 -199.5q-596 0 -596 747v70h1071q-17 266 -148.5 401t-375.5 135zM713 131q210 0 334.5 134.5t140.5 381.5h-889q0 -264 102 -390t312 -126z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1145" -d="M506 1116q245 0 384.5 -150t139.5 -411q0 -264 -129.5 -419.5t-347.5 -155.5q-208 0 -329.5 134t-121.5 359v105h756q-5 204 -94.5 297.5t-255.5 93.5q-98 0 -180.5 -16.5t-177.5 -57.5v147q89 40 170 57t186 17zM555 119q133 0 210 82.5t89 238.5h-573q0 -157 70.5 -239 -t203.5 -82z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1495" -d="M664 1333q-227 0 -453 -76v158q115 38 220 54t239 16q331 0 514.5 -199.5t183.5 -556.5q0 -350 -173 -549.5t-482 -199.5q-596 0 -596 747v70h1071q-17 266 -148.5 401t-375.5 135zM713 131q210 0 334.5 134.5t140.5 381.5h-889q0 -264 102 -390t312 -126zM456 1731 -q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM837 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1145" -d="M506 1116q245 0 384.5 -150t139.5 -411q0 -264 -129.5 -419.5t-347.5 -155.5q-208 0 -329.5 134t-121.5 359v105h756q-5 204 -94.5 297.5t-255.5 93.5q-98 0 -180.5 -16.5t-177.5 -57.5v147q89 40 170 57t186 17zM555 119q133 0 210 82.5t89 238.5h-573q0 -157 70.5 -239 -t203.5 -82zM287 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM668 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1729" -d="M598 752l-575 710h190l569 -708v708h164v-708l570 708h190l-576 -708l594 -754h-196l-582 741v-741h-164v741l-581 -741h-199zM581 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM962 1731 -q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1507" -d="M676 1094h153v-531l453 531h182l-458 -531l497 -563h-192l-482 555v-555h-153v555l-481 -555h-191l496 563l-457 531h182l451 -531v531zM471 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM852 1393 -q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1190" -d="M1049 1120q0 -144 -91.5 -234t-252.5 -114v-8q183 -25 277.5 -115t94.5 -235q0 -205 -153 -319.5t-432 -114.5q-255 0 -418 79v158q96 -46 207.5 -71t214.5 -25q198 0 299.5 75t101.5 216q0 134 -112.5 203t-335.5 69h-218v143h209q205 0 317.5 73.5t112.5 205.5 -q0 107 -81 171t-218 64q-110 0 -199 -25t-206 -99l-84 114q101 75 226.5 113.5t260.5 38.5q225 0 352.5 -98.5t127.5 -264.5zM296 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM677 1731q0 52 26.5 75 -t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="989" -d="M385 641q311 0 311 172q0 162 -252 162q-77 0 -140 -14t-165 -56l-59 135q170 76 371 76q189 0 298 -77.5t109 -211.5q0 -184 -205 -241v-8q126 -37 184 -105.5t58 -171.5q0 -152 -122.5 -236.5t-338.5 -84.5q-237 0 -366 71v152q183 -86 370 -86q144 0 217.5 49.5 -t73.5 142.5q0 191 -311 191h-152v141h119zM201 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM582 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z -" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1194" -d="M508 831q279 -9 425 -114.5t146 -298.5q0 -206 -153.5 -322t-431.5 -116q-257 0 -420 79v158q96 -46 207 -71t217 -25q199 0 300 76.5t101 220.5q0 134 -112.5 203t-335.5 69h-140v141l494 478h-690v153h903v-139z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="1001" -d="M428 463q149 -7 264 -64t178.5 -158t63.5 -237q0 -222 -148 -359t-387 -137q-234 0 -372 70v154q183 -86 383 -86q161 0 259.5 95t98.5 255q0 164 -107 249t-309 85h-121v114l453 510h-631v142h824v-123z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1561" -d="M203 1462h159v-813q0 -225 -14 -407h8l820 1220h186v-1462h-160v805q0 201 17 422h-9l-821 -1227h-186v1462zM481 1716h600v-137h-600v137z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1298" -d="M332 1096v-695l-7 -182l-3 -57l593 934h207v-1096h-155v670l3 132l5 130l-592 -932h-207v1096h156zM350 1378h600v-137h-600v137z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1561" -d="M203 1462h159v-813q0 -225 -14 -407h8l820 1220h186v-1462h-160v805q0 201 17 422h-9l-821 -1227h-186v1462zM499 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM880 1731q0 52 26.5 75t63.5 23 -t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1298" -d="M332 1096v-695l-7 -182l-3 -57l593 934h207v-1096h-155v670l3 132l5 130l-592 -932h-207v1096h156zM370 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM751 1393q0 52 26.5 75t63.5 23t64.5 -23 -t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM518 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM899 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM338 1393 -q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM719 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1597" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM799 129q229 0 352.5 136.5t136.5 404.5h-981q13 -267 137.5 -404t354.5 -137zM801 1333q-224 0 -349.5 -129t-144.5 -385h979 -q-17 254 -139 384t-346 130z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM618 119q158 0 240 92t92 283h-663q9 -186 89 -280.5t242 -94.5zM616 975q-156 0 -235 -86.5t-92 -253.5h659q-15 168 -95.5 254 -t-236.5 86z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1597" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM799 129q229 0 352.5 136.5t136.5 404.5h-981q13 -267 137.5 -404t354.5 -137zM801 1333q-224 0 -349.5 -129t-144.5 -385h979 -q-17 254 -139 384t-346 130zM518 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM899 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM618 119q158 0 240 92t92 283h-663q9 -186 89 -280.5t242 -94.5zM616 975q-156 0 -235 -86.5t-92 -253.5h659q-15 168 -95.5 254 -t-236.5 86zM336 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM717 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1290" -d="M467 1331q-172 0 -334 -76l-72 144q172 84 408 84q217 0 373.5 -88t237.5 -251t81 -384q0 -376 -182 -578t-524 -202q-227 0 -383 57v149q83 -21 169 -38t185 -17q271 0 409 144.5t146 416.5h-719v152h717q-22 229 -157.5 358t-354.5 129zM290 1731q0 52 26.5 75t63.5 23 -q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM671 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="1008" -d="M342 -20q-167 0 -285 57v147q60 -23 130 -41t161 -18q174 0 268.5 93t104.5 278h-555v141h553q-16 172 -100.5 252t-245.5 80q-103 0 -254 -54l-47 140q55 26 137 43.5t162 17.5q256 0 389 -146.5t133 -422.5q0 -269 -144.5 -418t-406.5 -149zM195 1393q0 52 26.5 75 -t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM576 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1272" -d="M293 -20q-111 0 -195 30v166q93 -43 189 -43q110 0 176.5 50.5t132.5 189.5l-569 1089h188l432 -831q25 -49 39 -96h8q28 84 39 106l359 821h180l-467 -1046q-84 -187 -151.5 -272t-152 -124.5t-208.5 -39.5zM348 1716h600v-137h-600v137z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM218 1378h600v-137h-600v137z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1272" -d="M293 -20q-111 0 -195 30v166q93 -43 189 -43q110 0 176.5 50.5t132.5 189.5l-569 1089h188l432 -831q25 -49 39 -96h8q28 84 39 106l359 821h180l-467 -1046q-84 -187 -151.5 -272t-152 -124.5t-208.5 -39.5zM368 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75 -q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM749 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM236 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM617 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1272" -d="M293 -20q-111 0 -195 30v166q93 -43 189 -43q110 0 176.5 50.5t132.5 189.5l-569 1089h188l432 -831q25 -49 39 -96h8q28 84 39 106l359 821h180l-467 -1046q-84 -187 -151.5 -272t-152 -124.5t-208.5 -39.5zM372 1604q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161 -t-143.5 -146h-97v25zM729 1604q49 68 99.5 156.5t76.5 146.5h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM235 1266q36 48 91 141t86 162h186v-21q-37 -63 -122.5 -161t-143.5 -146h-97v25z -M592 1266q49 68 99.5 156.5t76.5 146.5h186v-21q-37 -63 -122.5 -161t-143.5 -146h-96v25z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1423" -d="M1223 0h-170v604q-149 -53 -248 -72.5t-205 -19.5q-207 0 -318.5 95t-111.5 274v581h170v-561q0 -121 63.5 -179t206.5 -58q97 0 185.5 14.5t257.5 69.5v714h170v-1462zM415 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5 -q-37 0 -63.5 24.5t-26.5 74.5zM796 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1245" -d="M322 1096v-400q0 -192 219 -192q91 0 174 28t188 95v469h166v-1096h-166v496q-105 -72 -194.5 -101.5t-202.5 -29.5q-164 0 -257 86t-93 233v412h166zM332 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5 -zM713 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="1079" -d="M201 1462h831v-153h-661v-1155h161v-535h-161v381h-170v1462z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="877" -d="M176 1094h658v-140h-492v-811h150v-520h-166v377h-150v1094z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1747" -d="M201 0v1462h170v-624h239q261 0 398 -102.5t137 -309.5q0 -206 -129.5 -316t-378.5 -110h-436zM371 145h247q181 0 266 70.5t85 210.5q0 137 -89.5 198.5t-289.5 61.5h-219v-541zM1546 0h-170v1462h170v-1462zM592 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75 -q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM973 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1577" -d="M342 643h299q209 0 309.5 -77.5t100.5 -231.5q0 -165 -106.5 -249.5t-313.5 -84.5h-455v1096h166v-453zM1401 0h-166v1096h166v-1096zM342 500v-361h281q264 0 264 185q0 92 -61 134t-208 42h-276zM506 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75 -q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM887 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="1079" -d="M1032 1462v-153h-661v-510h424v-150h-424v-649h-170v649h-154v150h154v663h831zM516 154v-289q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v304h148z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="877" -d="M834 956h-492v-344h346v-127h-346v-485h-166v485h-158v127h158v484h658v-140zM486 143v-278q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v293h148z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1272" -d="M1174 0h-193l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692zM1225 154v-289q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v304h148z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="1106" -d="M440 561l-381 535h189l289 -420l288 420h187l-381 -535l401 -561h-188l-307 444l-310 -444h-188zM1076 143v-278q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v293h148z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1182" -d="M127 852h307l-393 610h188l363 -581l364 581h183l-400 -610h316v-152h-326l445 -700h-193l-393 643l-400 -643h-182l447 700h-326v152z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="1073" -d="M117 631h274l-332 465h189l289 -420l288 420h187l-334 -465h280v-129h-286l360 -502h-188l-307 444l-310 -444h-188l358 502h-280v129z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1255" -d="M131 420q0 212 146 315t434 103h198v624h170v-1462h-413q-267 0 -401 106.5t-134 313.5zM909 688h-186q-222 0 -319 -62t-97 -204q0 -143 91 -209t294 -66h217v541z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" horiz-adv-x="1255" -d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13l-7 79l-4 77v446h166v-1556h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317 -t226 -107z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1841" -d="M590 -18q-226 0 -342.5 104.5t-116.5 312.5q0 217 149 328t439 111h145v624h170v-1097q0 -236 230 -236q100 0 160.5 61.5t60.5 171.5v486h170v-488q0 -174 -103.5 -277t-287.5 -103q-118 0 -197.5 41t-130.5 131q-113 -170 -346 -170zM864 686h-151q-212 0 -309 -69.5 -t-97 -219.5q0 -268 289 -268q127 0 197.5 59.5t70.5 171.5v326z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1835" -d="M1278 119q118 0 171.5 66t53.5 202v313h168v-323q0 -200 -100 -298.5t-289 -98.5q-129 0 -208 45.5t-122 158.5h-8q-75 -113 -167.5 -158.5t-221.5 -45.5q-208 0 -324 148.5t-116 416.5t115.5 419.5t322.5 151.5q106 0 185.5 -38.5t142.5 -123.5h12q-2 17 -6 73t-4 83 -v446h166v-1140q0 -160 54.5 -228.5t174.5 -68.5zM575 119q162 0 235 92.5t73 298.5v35q0 231 -74 331.5t-236 100.5q-286 0 -286 -434q0 -214 69.5 -319t218.5 -105z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1851" -d="M430 684h-201v143h193q192 0 298.5 73.5t106.5 205.5q0 108 -77 171.5t-205 63.5q-103 0 -191.5 -27.5t-191.5 -96.5l-84 114q93 72 216 112t253 40q214 0 336.5 -98t122.5 -265q0 -141 -89 -232.5t-245 -117.5v-8q354 -51 360 -354q2 -150 56 -213.5t178 -63.5 -q119 0 175 60.5t56 195.5v461h168v-471q0 -198 -105 -297.5t-294 -99.5q-202 0 -306 104.5t-106 304.5q-2 150 -104.5 222.5t-319.5 72.5z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1642" -d="M1090 119q221 0 221 268v313h166v-323q0 -202 -93.5 -299.5t-289.5 -97.5q-378 0 -394 333q-5 99 -75.5 143t-218.5 44h-140v141h111q289 0 289 172q0 162 -242 162q-75 0 -142.5 -18t-144.5 -52l-57 135q85 40 166.5 58t185.5 18q184 0 289.5 -77.5t105.5 -211.5 -q0 -184 -192 -241v-8q99 -20 160.5 -81t66.5 -167q9 -211 228 -211z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1280" -d="M899 412q0 133 -114.5 202.5t-340.5 69.5h-217v143h209q205 0 317.5 73.5t112.5 205.5q0 107 -82 171t-217 64q-105 0 -202.5 -29t-202.5 -95l-84 114q97 74 224 113t259 39q220 0 346.5 -98t126.5 -265q0 -140 -94.5 -231.5t-257.5 -116.5v-8q184 -25 281.5 -114.5 -t97.5 -237.5v-258h172v-535h-162v381h-172v412z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="1071" -d="M725 301q0 199 -309 199h-150v141h117q313 0 313 172q0 82 -66.5 122t-185.5 40q-153 0 -303 -70l-61 135q161 74 364 74q191 0 297.5 -77t106.5 -212q0 -182 -203 -239v-11q126 -37 182 -105.5t56 -170.5v-156h157v-520h-166v377h-149v301z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="2009" -d="M1036 1311h-440l-31 -240q-43 -338 -81 -560t-79.5 -327t-106.5 -156t-165 -51q-69 0 -133 25v143q50 -26 113 -26q49 0 81 31t54 83t50 181t65 373.5t92 674.5h751v-1073q0 -137 55.5 -197.5t170.5 -60.5q112 0 168.5 60.5t56.5 195.5v461h168v-471q0 -193 -102.5 -295 -t-290.5 -102q-196 0 -296 102t-100 299v930z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1743" -d="M975 387q0 -137 52 -202.5t171 -65.5q213 0 213 266v315h166v-323q0 -202 -93.5 -299.5t-283.5 -97.5q-188 0 -289.5 98t-101.5 301v573h-315q-28 -360 -75 -566t-123 -302t-194 -96q-58 0 -86 10v127q22 -6 50 -6q113 0 181.5 236.5t102.5 738.5h625v-707z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="2073" -d="M1270 389q0 -137 55 -197.5t170 -60.5q112 0 168.5 60.5t56.5 195.5v461h166v-471q0 -191 -100 -294t-291 -103q-195 0 -295 101.5t-100 299.5v307h-729v-688h-170v1462h170v-622h729v622h170v-1073z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1870" -d="M342 1096v-459h592v459h166v-707q0 -137 53 -203.5t172 -66.5q213 0 213 268v313h166v-323q0 -202 -93.5 -299.5t-285.5 -97.5q-186 0 -288.5 99t-102.5 300v115h-592v-494h-166v1096h166z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1548" -d="M870 752h564v-86q0 -351 -154 -518.5t-465 -167.5q-325 0 -507.5 200.5t-182.5 552.5q0 229 89.5 399t260 260.5t404.5 90.5q120 0 238.5 -24.5t201.5 -63.5l-66 -148q-90 38 -197 61t-194 23q-267 0 -412 -157.5t-145 -442.5t133.5 -443.5t380.5 -158.5q436 0 436 471 -h-385v152z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1311" -d="M690 575h510v-67q0 -528 -514 -528q-274 0 -422.5 147.5t-148.5 419.5q0 270 161.5 419.5t450.5 149.5q212 0 387 -80l-59 -131q-168 74 -334 74q-205 0 -319.5 -111t-114.5 -321q0 -207 102 -318.5t299 -111.5q169 0 256.5 80t87.5 237h-342v141z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1454" -d="M16 1309v153h1084v-153h-465v-920q0 -137 59.5 -198.5t173.5 -61.5q232 0 232 256v463h168v-471q0 -192 -105.5 -294.5t-294.5 -102.5q-198 0 -300.5 103t-102.5 298v928h-449z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1325" -d="M897 954h-346v-567q0 -137 54.5 -202.5t172.5 -65.5q215 0 215 260v321h166v-323q0 -202 -94.5 -299.5t-286.5 -97.5t-292.5 101.5t-100.5 297.5v575h-344v140h856v-140z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1194" -d="M156 1116q0 169 132 268t357 99q258 0 467 -144l-94 -120q-105 68 -195.5 94t-191.5 26q-140 0 -219.5 -61.5t-79.5 -175.5q0 -128 104.5 -201.5t304.5 -73.5h217v-141h-213q-222 0 -338 -71t-116 -209q0 -142 101 -212.5t284 -70.5q233 0 432 92v-158q-175 -77 -436 -77 -q-268 0 -414.5 110t-146.5 307q0 151 103.5 247t291.5 118v8q-170 25 -260 114t-90 232z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="973" -d="M715 641v-141h-148q-311 0 -311 -195q0 -90 73.5 -139t219.5 -49q84 0 167 19.5t183 66.5v-148q-137 -75 -358 -75q-210 0 -330.5 84.5t-120.5 232.5q0 98 55 163.5t185 106.5v11q-98 28 -151.5 91.5t-53.5 155.5q0 133 112 212t304 79q97 0 179.5 -16.5t182.5 -61.5 -l-63 -133q-94 42 -159 56t-144 14q-250 0 -250 -162q0 -172 317 -172h111z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1434" -d="M1241 0h-170v1311h-475l-31 -240q-61 -479 -107.5 -700.5t-122.5 -308.5t-202 -85q-74 0 -133 25v143q54 -26 113 -26q53 0 92.5 43.5t70 151t77 408t102.5 740.5h786v-1462zM1387 154v-289q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v304h148z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1169" -d="M993 0h-168v954h-329q-27 -356 -75 -565t-124.5 -306t-194.5 -97q-54 0 -86 12v123q22 -6 50 -6q115 0 183 243t103 738h641v-1096zM1139 143v-278q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v293h148z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM874 -338q0 -97 -62.5 -157t-164.5 -60q-101 0 -161 58.5t-60 156.5t60 156.5t161 58.5t164 -59t63 -154zM764 -340q0 57 -33 87 -t-84 30t-84 -30t-33 -87q0 -56 30 -86.5t87 -30.5q53 0 85 30.5t32 86.5z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM764 -338q0 -97 -62.5 -157t-164.5 -60q-101 0 -161 58.5t-60 156.5t60 156.5t161 58.5t164 -59t63 -154zM654 -340q0 57 -33 87t-84 30t-84 -30t-33 -87q0 -56 30 -86.5t87 -30.5q53 0 85 30.5 -t32 86.5z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1849" -d="M848 0l-496 1296h-8q14 -154 14 -366v-930h-157v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137zM805 1606q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1905" -d="M1573 0v713q0 131 -56 196.5t-174 65.5q-155 0 -229 -89t-74 -274v-612h-166v713q0 131 -56 196.5t-175 65.5q-156 0 -228.5 -93.5t-72.5 -306.5v-575h-166v1096h135l27 -150h8q47 80 132.5 125t191.5 45q257 0 336 -186h8q49 86 142 136t212 50q186 0 278.5 -95.5 -t92.5 -305.5v-715h-166zM854 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1896" -d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180zM1065 1579h-110q-65 52 -154 148t-129 159v21h203 -q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1593" -d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197zM901 1241h-110 -q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1896" -d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180zM825 1604q48 62 103.5 150t87.5 153h202v-21 -q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1593" -d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197zM676 1266q48 62 103.5 150 -t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1896" -d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180zM665 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75 -q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM1046 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1593" -d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197zM516 1393q0 52 26.5 75 -t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM897 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM548 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM436 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM879 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10 -q256 0 256 -184z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM793 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM952 1579h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM872 1798 -q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM870 1241h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM790 1460q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM948 1579h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM418 1774h-95 -q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM874 1241h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM344 1436h-95q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM940 1579h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1108 1983 -q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6q195 0 195 -139z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM879 1241h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1047 1645q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54 -q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6q195 0 195 -139z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM786 1927q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5 -q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -104 -60.5 -161.5t-125.5 -57.5zM956 1579h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM702 1589q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90 -q-11 -104 -60.5 -161.5t-125.5 -57.5zM872 1241h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM548 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5zM311 1602 -q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM436 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5zM224 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119 -q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM586 1862q80 104 129 205h172v-21q-86 -114 -205 -207h-96v23zM648 1579q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5 -q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM504 1524q80 104 129 205h172v-21q-86 -114 -205 -207h-96v23zM566 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM698 1839h-94q-119 93 -205 207v21h172q52 -108 127 -205v-23zM645 1579q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5 -q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM617 1501h-94q-119 93 -205 207v21h172q52 -108 127 -205v-23zM564 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM794 1995q0 -100 -127 -129l-6 -41h-82l-10 90q57 9 90 25t33 53t-28.5 50t-72.5 13q-37 0 -73 -6v78q22 8 84 8q192 0 192 -141z -M645 1579q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM721 1657q0 -100 -127 -129l-6 -41h-82l-10 90q57 9 90 25t33 53t-28.5 50t-72.5 13q-37 0 -73 -6v78q22 8 84 8q192 0 192 -141zM572 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5 -q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM784 1925q-37 0 -72.5 15t-69 33t-65 33t-59.5 15q-40 0 -61 -24t-35 -74h-91q13 104 63 160.5t126 56.5q37 0 73.5 -15t70 -33 -t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -103 -60.5 -160t-125.5 -57zM639 1579q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM709 1587q-37 0 -72.5 15t-69 33t-65 33t-59.5 15q-40 0 -61 -24t-35 -74h-91q13 104 63 160.5t126 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -103 -60.5 -160 -t-125.5 -57zM564 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1296" -d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM643 1597q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197 -t-221.5 -71zM548 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" -d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 -v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM558 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71zM436 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84 -q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM508 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M499 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM836 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M828 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM760 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99 -q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M740 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM916 1579h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM836 1798q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M897 1241h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM817 1460q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM922 1579h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM392 1774h-95q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M903 1241h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM373 1436h-95q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM913 1579h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1081 1983q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54 -q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6q195 0 195 -139z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M885 1241h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1053 1645q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6q195 0 195 -139z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM741 1927q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90 -q-11 -104 -60.5 -161.5t-125.5 -57.5zM911 1579h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M719 1589q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -104 -60.5 -161.5t-125.5 -57.5zM889 1241h-94q-97 65 -211 166 -q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" -d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM505 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5zM270 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119 -q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1149" -d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z -M491 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5zM253 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM516 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM486 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="571" -d="M201 0v1462h170v-1462h-170zM184 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="518" -d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5zM157 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM698 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM516 -242 -q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM1026 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM844 1495 -q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM1104 1579h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1024 1798q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM922 1241 -h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM842 1460q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM1108 1579h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM578 1774h-95q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM926 1241 -h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM396 1436h-95q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM1102 1579h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1270 1983q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6 -q195 0 195 -139z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM922 1241 -h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM1090 1645q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6q195 0 195 -139z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM934 1927q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -104 -60.5 -161.5t-125.5 -57.5zM1104 1579h-94q-97 65 -211 166 -q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM754 1589 -q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -104 -60.5 -161.5t-125.5 -57.5zM924 1241h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23 -l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1595" -d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM698 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5zM461 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1237" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319zM520 -242 -q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5zM282 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1597" -d="M1468 733q0 -354 -177.5 -553.5t-491.5 -199.5q-323 0 -498.5 196.5t-175.5 558.5q0 360 176.5 555t499.5 195q325 0 504 -215q50 12 79 45.5t42.5 84.5t13.5 156h182l14 -22q-29 -155 -94.5 -241.5t-169.5 -125.5q96 -176 96 -434zM305 733q0 -298 125 -451t369 -153 -q243 0 366 152.5t123 451.5q0 295 -122.5 447.5t-364.5 152.5q-243 0 -369.5 -151.5t-126.5 -448.5zM692 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1247" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q217 0 354 -141q51 15 80 47.5t42 82t13 159.5h180l15 -23q-31 -156 -91.5 -243.5t-162.5 -125.5q71 -138 71 -323zM287 549q0 -211 79 -320.5t252 -109.5 -q175 0 253.5 109.5t78.5 320.5q0 210 -79.5 318t-254.5 108q-173 0 -251 -108t-78 -318zM502 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1597" -d="M1468 733q0 -354 -177.5 -553.5t-491.5 -199.5q-323 0 -498.5 196.5t-175.5 558.5q0 360 176.5 555t499.5 195q325 0 504 -215q50 12 79 45.5t42.5 84.5t13.5 156h182l14 -22q-29 -155 -94.5 -241.5t-169.5 -125.5q96 -176 96 -434zM305 733q0 -298 125 -451t369 -153 -q243 0 366 152.5t123 451.5q0 295 -122.5 447.5t-364.5 152.5q-243 0 -369.5 -151.5t-126.5 -448.5zM921 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1247" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q217 0 354 -141q51 15 80 47.5t42 82t13 159.5h180l15 -23q-31 -156 -91.5 -243.5t-162.5 -125.5q71 -138 71 -323zM287 549q0 -211 79 -320.5t252 -109.5 -q175 0 253.5 109.5t78.5 320.5q0 210 -79.5 318t-254.5 108q-173 0 -251 -108t-78 -318zM742 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1597" -d="M1468 733q0 -354 -177.5 -553.5t-491.5 -199.5q-323 0 -498.5 196.5t-175.5 558.5q0 360 176.5 555t499.5 195q325 0 504 -215q50 12 79 45.5t42.5 84.5t13.5 156h182l14 -22q-29 -155 -94.5 -241.5t-169.5 -125.5q96 -176 96 -434zM305 733q0 -298 125 -451t369 -153 -q243 0 366 152.5t123 451.5q0 295 -122.5 447.5t-364.5 152.5q-243 0 -369.5 -151.5t-126.5 -448.5zM1026 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1247" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q217 0 354 -141q51 15 80 47.5t42 82t13 159.5h180l15 -23q-31 -156 -91.5 -243.5t-162.5 -125.5q71 -138 71 -323zM287 549q0 -211 79 -320.5t252 -109.5 -q175 0 253.5 109.5t78.5 320.5q0 210 -79.5 318t-254.5 108q-173 0 -251 -108t-78 -318zM844 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1597" -d="M1468 733q0 -354 -177.5 -553.5t-491.5 -199.5q-323 0 -498.5 196.5t-175.5 558.5q0 360 176.5 555t499.5 195q325 0 504 -215q50 12 79 45.5t42.5 84.5t13.5 156h182l14 -22q-29 -155 -94.5 -241.5t-169.5 -125.5q96 -176 96 -434zM305 733q0 -298 125 -451t369 -153 -q243 0 366 152.5t123 451.5q0 295 -122.5 447.5t-364.5 152.5q-243 0 -369.5 -151.5t-126.5 -448.5zM948 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5 -t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1247" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q217 0 354 -141q51 15 80 47.5t42 82t13 159.5h180l15 -23q-31 -156 -91.5 -243.5t-162.5 -125.5q71 -138 71 -323zM287 549q0 -211 79 -320.5t252 -109.5 -q175 0 253.5 109.5t78.5 320.5q0 210 -79.5 318t-254.5 108q-173 0 -251 -108t-78 -318zM777 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99 -q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1597" -d="M1468 733q0 -354 -177.5 -553.5t-491.5 -199.5q-323 0 -498.5 196.5t-175.5 558.5q0 360 176.5 555t499.5 195q325 0 504 -215q50 12 79 45.5t42.5 84.5t13.5 156h182l14 -22q-29 -155 -94.5 -241.5t-169.5 -125.5q96 -176 96 -434zM305 733q0 -298 125 -451t369 -153 -q243 0 366 152.5t123 451.5q0 295 -122.5 447.5t-364.5 152.5q-243 0 -369.5 -151.5t-126.5 -448.5zM694 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1247" -d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q217 0 354 -141q51 15 80 47.5t42 82t13 159.5h180l15 -23q-31 -156 -91.5 -243.5t-162.5 -125.5q71 -138 71 -323zM287 549q0 -211 79 -320.5t252 -109.5 -q175 0 253.5 109.5t78.5 320.5q0 210 -79.5 318t-254.5 108q-173 0 -251 -108t-78 -318zM516 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM645 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM499 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5 -t-29.5 82.5z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1491" -d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM967 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100 -q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1257" -d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM840 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5 -q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1573" -d="M1305 1462v-198q58 8 93 39t50.5 87t15.5 166h181l14 -22q-33 -182 -119 -274t-235 -117v-627q0 -258 -143.5 -397t-407.5 -139q-268 0 -418 143.5t-150 396.5v942h170v-954q0 -183 102 -281t300 -98q184 0 280.5 96.5t96.5 284.5v952h170zM631 1604q48 62 103.5 150 -t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1362" -d="M332 1094v-709q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v574h166v-121q82 11 119 75t37 218h178l15 -23q-32 -186 -120 -281.5t-229 -109.5v-852h-137l-24 147h-9q-52 -82 -142.5 -124.5t-201.5 -42.5q-203 0 -303 95t-100 304v715h168zM514 1266 -q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1573" -d="M1305 1462v-198q58 8 93 39t50.5 87t15.5 166h181l14 -22q-33 -182 -119 -274t-235 -117v-627q0 -258 -143.5 -397t-407.5 -139q-268 0 -418 143.5t-150 396.5v942h170v-954q0 -183 102 -281t300 -98q184 0 280.5 96.5t96.5 284.5v952h170zM876 1579h-110 -q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1362" -d="M332 1094v-709q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v574h166v-121q82 11 119 75t37 218h178l15 -23q-32 -186 -120 -281.5t-229 -109.5v-852h-137l-24 147h-9q-52 -82 -142.5 -124.5t-201.5 -42.5q-203 0 -303 95t-100 304v715h168zM717 1241h-110 -q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1573" -d="M1305 1462v-198q58 8 93 39t50.5 87t15.5 166h181l14 -22q-33 -182 -119 -274t-235 -117v-627q0 -258 -143.5 -397t-407.5 -139q-268 0 -418 143.5t-150 396.5v942h170v-954q0 -183 102 -281t300 -98q184 0 280.5 96.5t96.5 284.5v952h170zM979 1833q0 -140 -166 -174 -l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1362" -d="M332 1094v-709q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v574h166v-121q82 11 119 75t37 218h178l15 -23q-32 -186 -120 -281.5t-229 -109.5v-852h-137l-24 147h-9q-52 -82 -142.5 -124.5t-201.5 -42.5q-203 0 -303 95t-100 304v715h168zM846 1495 -q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1573" -d="M1305 1462v-198q58 8 93 39t50.5 87t15.5 166h181l14 -22q-33 -182 -119 -274t-235 -117v-627q0 -258 -143.5 -397t-407.5 -139q-268 0 -418 143.5t-150 396.5v942h170v-954q0 -183 102 -281t300 -98q184 0 280.5 96.5t96.5 284.5v952h170zM915 1581q-43 0 -84 18.5 -t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1362" -d="M332 1094v-709q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v574h166v-121q82 11 119 75t37 218h178l15 -23q-32 -186 -120 -281.5t-229 -109.5v-852h-137l-24 147h-9q-52 -82 -142.5 -124.5t-201.5 -42.5q-203 0 -303 95t-100 304v715h168zM787 1243q-43 0 -84 18.5 -t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1573" -d="M1305 1462v-198q58 8 93 39t50.5 87t15.5 166h181l14 -22q-33 -182 -119 -274t-235 -117v-627q0 -258 -143.5 -397t-407.5 -139q-268 0 -418 143.5t-150 396.5v942h170v-954q0 -183 102 -281t300 -98q184 0 280.5 96.5t96.5 284.5v952h170zM647 -242q0 57 29.5 84 -t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1362" -d="M332 1094v-709q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v574h166v-121q82 11 119 75t37 218h178l15 -23q-32 -186 -120 -281.5t-229 -109.5v-852h-137l-24 147h-9q-52 -82 -142.5 -124.5t-201.5 -42.5q-203 0 -303 95t-100 304v715h168zM493 -242q0 57 29.5 84 -t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM678 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM627 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25 -z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM471 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM729 -245q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5 -q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM797 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM733 1495q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5 -t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1147" -d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM726 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5 -t-150.5 -68.5z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="1032" -d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM670 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91 -h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1618" -d="M1490 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM325 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 -t-126.5 -446.5zM-9 1159q70 181 98 303h189v-20q-41 -78 -100.5 -164t-108.5 -143h-78v24zM-289 1253q0 163 237 224v-72q-121 -41 -121 -94q0 -20 15.5 -29.5t34 -17.5t34 -21t15.5 -41q0 -74 -93 -74q-55 0 -88.5 34t-33.5 91z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="545" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="1024" -d="M82 473v152h860v-152h-860z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="2048" -d="M82 473v152h1884v-152h-1884z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="2048" -d="M82 473v152h1884v-152h-1884z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="842" -d="M846 -463h-850v139h850v-139zM846 -184h-850v139h850v-139z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="348" -d="M37 961l-12 22q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="348" -d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="502" -d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="348" -d="M223 1462q37 -251 103 -501h-123q-45 94 -99.5 236t-78.5 243l14 22h184z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="717" -d="M406 961l-15 22q56 215 178 479h123q-30 -115 -59.5 -259.5t-42.5 -241.5h-184zM37 961l-12 22q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="717" -d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182zM678 1462l14 -22q-24 -91 -72 -224t-104 -255h-125q26 100 59 254t46 247h182z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="829" -d="M309 238l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182zM678 238l14 -22q-24 -91 -72 -224t-104 -255h-125q26 100 59 254t46 247h182z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1028" -d="M905 999l-352 31l49 -1030h-196l49 1030l-332 -31v170l332 -30l-49 417h196l-49 -417l352 30v-170z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1044" -d="M569 487l353 31v-168l-353 29l49 -379h-198l49 379l-346 -29v168l346 -31l-43 299l43 283l-346 -31v168l346 -30l-49 380h198l-49 -380l353 30v-168l-353 31l43 -283z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="770" -d="M164 748q0 121 56.5 184t164.5 63q105 0 163 -62t58 -185q0 -119 -57.5 -183.5t-163.5 -64.5q-107 0 -164 65.5t-57 182.5z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1606" -d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM682 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM1213 106 -q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2462" -d="M236 1026q0 -170 41.5 -255t134.5 -85q180 0 180 340q0 338 -180 338q-93 0 -134.5 -84t-41.5 -254zM729 1026q0 -230 -80.5 -345.5t-236.5 -115.5q-149 0 -230.5 119t-81.5 342q0 457 312 457q152 0 234.5 -120t82.5 -337zM1346 1462l-811 -1462h-148l811 1462h148z -M1870 440q0 -171 41.5 -255.5t134.5 -84.5q91 0 135.5 83.5t44.5 256.5q0 171 -44.5 253.5t-135.5 82.5q-93 0 -134.5 -82.5t-41.5 -253.5zM2363 440q0 -230 -81 -345t-236 -115q-148 0 -229.5 119.5t-81.5 340.5q0 457 311 457q150 0 233.5 -118t83.5 -339zM1139 440 -q0 -171 40.5 -255.5t133.5 -84.5q91 0 135.5 83.5t44.5 256.5q0 171 -44.5 253.5t-135.5 82.5q-93 0 -133.5 -82.5t-40.5 -253.5zM1630 440q0 -230 -81 -345t-236 -115q-149 0 -230.5 119t-81.5 341q0 457 312 457q150 0 233.5 -118t83.5 -339z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="453" -d="M319 1462l-40 -528h-105l-41 528h186z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="805" -d="M319 1462l-40 -528h-105l-41 528h186zM688 1462l-41 -528h-104l-41 528h186z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="623" -d="M82 551l342 407l119 -69l-289 -350l289 -351l-119 -71l-342 407v27z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="623" -d="M541 524l-344 -407l-117 71l287 351l-287 350l117 69l344 -407v-27z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="995" -d="M326 403h-105l-51 1059h207zM152 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5zM775 403h-105l-51 1059h207zM601 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z -" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="266" -d="M655 1462l-903 -1462h-143l903 1462h143z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="711" -d="M176 1024q0 -168 41 -251t135 -83t137 82.5t43 253.5q0 170 -43 252t-137 82t-135 -82.5t-41 -253.5zM670 1026q0 -457 -316 -457q-158 0 -236.5 118t-78.5 339q0 453 315 453q158 0 237 -116t79 -337z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="711" -d="M692 788h-125v-202h-145v202h-402v101l408 579h139v-563h125v-117zM422 905v195q0 134 6 209q-5 -12 -17 -31.5t-27 -42l-30 -45t-26 -39.5l-168 -246h262z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="711" -d="M328 1128q145 0 233 -71.5t88 -194.5q0 -140 -85 -217.5t-251 -77.5q-74 0 -143.5 15.5t-110.5 38.5v131q56 -34 126 -53t124 -19q95 0 150 41.5t55 130.5q0 78 -54.5 122t-156.5 44q-57 0 -95 -8.5t-69 -16.5l-59 41l33 416h495v-104h-381l-20 -230q62 12 121 12z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="711" -d="M41 963q0 261 109.5 388.5t328.5 127.5q74 0 123 -15v-114q-52 18 -135 18q-141 0 -216 -76.5t-85 -242.5h8q29 43 85.5 72.5t141.5 29.5q125 0 199 -74t74 -200q0 -144 -83 -226t-224 -82q-153 0 -239.5 105t-86.5 289zM365 680q81 0 130.5 46.5t49.5 145.5 -q0 79 -44 124.5t-130 45.5q-85 0 -141 -45t-56 -104q0 -89 53 -151t138 -62z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="711" -d="M162 586l350 760h-455v116h598v-94l-352 -782h-141z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="711" -d="M356 1479q124 0 199.5 -59t75.5 -163q0 -130 -148 -206q176 -74 176 -232q0 -113 -82.5 -181.5t-220.5 -68.5q-146 0 -225.5 64t-79.5 180q0 69 36.5 127t121.5 104q-74 46 -102.5 92.5t-28.5 114.5q0 102 78.5 165t199.5 63zM182 813q0 -60 42 -96.5t128 -36.5 -q90 0 132 36.5t42 96.5q0 63 -46.5 102.5t-127.5 67.5l-28 10q-72 -34 -107 -76t-35 -104zM354 1370q-68 0 -105.5 -30t-37.5 -87q0 -47 34 -82.5t115 -68.5q140 54 140 151q0 57 -39 87t-107 30z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="711" -d="M668 1094q0 -270 -109 -397.5t-321 -127.5q-83 0 -132 15v116q49 -20 142 -20q276 0 297 326h-10q-35 -51 -93 -77t-123 -26q-131 0 -207.5 73t-76.5 204q0 136 84.5 218.5t220.5 82.5q152 0 240 -101t88 -286zM340 1370q-81 0 -128.5 -47.5t-47.5 -134.5 -q0 -81 42.5 -128.5t129.5 -47.5q84 0 141.5 42.5t57.5 104.5q0 97 -51.5 154t-143.5 57z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="807" -d="M588 801v420q0 84 -39 119.5t-119 35.5q-114 0 -159.5 -52.5t-45.5 -174.5v-348h-116v665h96l14 -88h10q75 101 220 101q258 0 258 -250v-428h-119z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" horiz-adv-x="1171" -d="M440 395h308v-129h-308v-266h-166v266h-176v129h176v1067h785v-151h-619v-535h580v-151h-580v-230z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" horiz-adv-x="1171" -d="M688 1481q201 0 359 -80l-60 -131q-152 71 -299 71q-122 0 -185 -67.5t-63 -196.5v-186h420v-129h-420v-166h420v-129h-420v-33q0 -100 -32.5 -168t-106.5 -112h795v-154h-1028v141q206 48 206 291v35h-200v129h200v166h-200v129h200v207q0 178 112 280.5t302 102.5z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1563" -d="M1358 117q34 0 77 7t54 11v-125q-60 -30 -170 -30q-109 0 -173.5 68t-64.5 206v463h-157v80l157 69l62 191h98v-211h221v-129h-221v-441q0 -77 26 -118t91 -41zM926 1036q0 -227 -138.5 -344t-404.5 -117h-64v-575h-165v1462h262q256 0 383 -105.5t127 -320.5zM319 721 -h52q200 0 292.5 72.5t92.5 234.5q0 145 -86 216t-269 71h-82v-594z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" horiz-adv-x="1255" -d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13q-11 83 -11 156v133h-448v129h448v184h166v-184h156v-129h-156v-1243h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5 -q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317t226 -107zM1102 -315h-926v131h926v-131z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="1208" -d="M795 1333q-319 0 -398 -403h510v-129h-524l-2 -57v-64l2 -45h463v-129h-447q37 -180 138.5 -278.5t271.5 -98.5q156 0 309 66v-150q-146 -65 -317 -65q-237 0 -381.5 134.5t-190.5 391.5h-166v129h152l-2 42v44l2 80h-152v129h164q39 261 185 407t383 146q201 0 366 -97 -l-71 -139q-166 86 -295 86z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1688" -d="M1311 1462l-811 -1462h-148l811 1462h148zM1546 334q0 -159 -84.5 -250.5t-232.5 -91.5q-139 0 -224 92.5t-85 249.5q0 158 83.5 250t231.5 92q141 0 226 -93t85 -249zM1055 334q0 -238 178 -238q176 0 176 238q0 235 -176 235q-178 0 -178 -235zM489 788 -q-166 0 -257 88.5t-91 249.5q0 168 94 257.5t265 89.5q104 0 192 -35l-33 -103q-81 31 -161 31q-224 0 -224 -238q0 -235 220 -235q98 0 188 33v-101q-78 -37 -193 -37z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1065" -d="M637 111q174 0 192 213h95q-8 -166 -84.5 -255t-218.5 -89q-150 0 -230 90.5t-80 259.5v243q-96 -35 -192 -57v113q78 21 192 59v498q0 138 75 217.5t210 79.5q117 0 184.5 -80.5t67.5 -218.5q0 -185 -103 -337t-278 -226v-283q0 -104 41 -165.5t129 -61.5zM723 1178 -q0 194 -127 194q-67 0 -98 -43t-31 -151v-437q256 137 256 437z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="2087" -d="M1223 0h-187l-692 1227h-8q16 -288 16 -396v-831h-151v1462h194l682 -1222h8q-14 245 -14 383v839h152v-1462zM1987 621q0 -163 -80.5 -255t-227.5 -92q-139 0 -220 93.5t-81 253.5q0 163 80.5 253.5t227.5 90.5q139 0 220 -93.5t81 -250.5zM1509 621q0 -114 40.5 -173 -t133.5 -59q91 0 130.5 58.5t39.5 173.5t-39.5 171t-130.5 56q-92 0 -133 -56t-41 -171zM1423 0v135h512v-135h-512z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1626" -d="M584 940q0 -98 -74.5 -152.5t-198.5 -54.5q-145 0 -219 33v108q106 -40 225 -40q148 0 148 100q0 33 -11.5 53t-38.5 36.5t-112 47.5q-120 44 -160.5 89.5t-40.5 121.5q0 86 71 138.5t181 52.5q125 0 217 -39l-34 -99q-100 37 -183 37q-60 0 -97.5 -23t-37.5 -63 -q0 -29 9 -47t30.5 -32t116.5 -50q129 -50 169 -95t40 -122zM1006 741l-201 559h-8l6 -129v-430h-119v721h188l195 -559l203 559h180v-721h-127v420l6 137h-8l-211 -557h-104z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1589" -d="M369 741h-123v615h-209v106h543v-106h-211v-615zM969 741l-201 559h-8l6 -129v-430h-119v721h187l196 -559l203 559h180v-721h-127v420l6 137h-8l-211 -557h-104z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1602" -d="M801 1333q-238 0 -363 -128.5t-125 -381.5q0 -225 86.5 -391.5t266.5 -298.5v-133h-586v152h364q-151 118 -231 293t-80 378q0 310 177 486t491 176q315 0 492 -173.5t177 -486.5q0 -207 -79 -380t-230 -293h363v-152h-586v133q183 134 267.5 301t84.5 389 -q0 252 -124.5 381t-364.5 129z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M633 -35q-157 0 -277.5 73.5t-187 204t-66.5 287.5q0 171 69 298.5t191 197.5t271 70q152 0 273.5 -71t189 -200.5t67.5 -294.5h-827v-356q49 -53 132 -88t165 -35q131 0 222.5 52.5t172.5 181.5l72 -41q-98 -155 -206.5 -217t-260.5 -62zM932 616v277q-50 53 -131.5 86 -t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1597" -d="M1259 1462l-903 -1462h-143l903 1462h143zM333 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96zM1220 890q124 0 199.5 -59t75.5 -163q0 -130 -148 -206q176 -74 176 -232q0 -113 -82.5 -181.5t-220.5 -68.5q-146 0 -225.5 64t-79.5 180 -q0 69 36.5 127t121.5 104q-74 46 -102.5 92.5t-28.5 114.5q0 102 78.5 165t199.5 63zM1046 224q0 -60 42 -96.5t128 -36.5q90 0 132 36.5t42 96.5q0 63 -46.5 102.5t-127.5 67.5l-28 10q-72 -34 -107 -76t-35 -104zM1218 781q-68 0 -105.5 -30t-37.5 -87q0 -47 34 -82.5 -t115 -68.5q140 54 140 151q0 57 -39 87t-107 30z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1597" -d="M1329 1462l-903 -1462h-143l903 1462h143zM1241 890q124 0 199.5 -59t75.5 -163q0 -130 -148 -206q176 -74 176 -232q0 -113 -82.5 -181.5t-220.5 -68.5q-146 0 -225.5 64t-79.5 180q0 69 36.5 127t121.5 104q-74 46 -102.5 92.5t-28.5 114.5q0 102 78.5 165t199.5 63z -M1067 224q0 -60 42 -96.5t128 -36.5q90 0 132 36.5t42 96.5q0 63 -46.5 102.5t-127.5 67.5l-28 10q-72 -34 -107 -76t-35 -104zM1239 781q-68 0 -105.5 -30t-37.5 -87q0 -47 34 -82.5t115 -68.5q140 54 140 151q0 57 -39 87t-107 30zM626 1255q0 -80 -41 -131.5t-109 -74.5 -q176 -47 176 -209q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90q63 45 133 72t164 27q136 0 214.5 -59.5 -t78.5 -166.5z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1597" -d="M1323 1462l-903 -1462h-143l903 1462h143zM340 1128q145 0 233 -71.5t88 -194.5q0 -140 -85 -217.5t-251 -77.5q-74 0 -143.5 15.5t-110.5 38.5v131q56 -34 126 -53t124 -19q95 0 150 41.5t55 130.5q0 78 -54.5 122t-156.5 44q-57 0 -95 -8.5t-69 -16.5l-59 41l33 416 -h495v-104h-381l-20 -230q62 12 121 12zM1237 890q124 0 199.5 -59t75.5 -163q0 -130 -148 -206q176 -74 176 -232q0 -113 -82.5 -181.5t-220.5 -68.5q-146 0 -225.5 64t-79.5 180q0 69 36.5 127t121.5 104q-74 46 -102.5 92.5t-28.5 114.5q0 102 78.5 165t199.5 63z -M1063 224q0 -60 42 -96.5t128 -36.5q90 0 132 36.5t42 96.5q0 63 -46.5 102.5t-127.5 67.5l-28 10q-72 -34 -107 -76t-35 -104zM1235 781q-68 0 -105.5 -30t-37.5 -87q0 -47 34 -82.5t115 -68.5q140 54 140 151q0 57 -39 87t-107 30z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1597" -d="M1237 1462l-903 -1462h-143l903 1462h143zM1233 890q124 0 199.5 -59t75.5 -163q0 -130 -148 -206q176 -74 176 -232q0 -113 -82.5 -181.5t-220.5 -68.5q-146 0 -225.5 64t-79.5 180q0 69 36.5 127t121.5 104q-74 46 -102.5 92.5t-28.5 114.5q0 102 78.5 165t199.5 63z -M1059 224q0 -60 42 -96.5t128 -36.5q90 0 132 36.5t42 96.5q0 63 -46.5 102.5t-127.5 67.5l-28 10q-72 -34 -107 -76t-35 -104zM1231 781q-68 0 -105.5 -30t-37.5 -87q0 -47 34 -82.5t115 -68.5q140 54 140 151q0 57 -39 87t-107 30zM211 586l350 760h-455v116h598v-94 -l-352 -782h-141z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M1077 934q0 -262 -83.5 -491.5t-221.5 -346t-311 -116.5q-172 0 -265.5 100.5t-93.5 292.5q0 169 68 322.5t184 234t267 80.5q97 0 170 -46.5t116 -121.5l4 90q0 405 -282 405q-62 0 -134 -22t-120 -55v159q47 23 124.5 41.5t151.5 18.5q210 0 318 -138t108 -407z -M471 121q95 0 178 72t143 201.5t82 279.5q-25 97 -89 151t-144 54q-101 0 -183.5 -66t-133 -191t-50.5 -253q0 -118 50.5 -183t146.5 -65z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1171" -d="M39 104l463 1358h166l465 -1360v-102h-1094v104zM584 1268q-61 -225 -101 -346l-260 -770h721l-258 761q-68 202 -102 355z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1513" -d="M1143 -496v1805h-772v-1805h-170v1958h1112v-1958h-170z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1292" -d="M76 -496v107l631 924l-615 819v108h1088v-151h-848l579 -772l-604 -883h938v-152h-1169z" /> - <glyph glyph-name="minus" unicode="&#x2212;" horiz-adv-x="1171" -d="M104 653v138h961v-138h-961z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M623 -14h-127l-279 782h-180v135h289l235 -684l514 1469h137z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1444" -d="M1325 719q0 -131 -83.5 -223.5t-211.5 -92.5q-93 0 -169.5 53t-141.5 169q-60 -104 -136.5 -160.5t-164.5 -56.5q-131 0 -215 86.5t-84 228.5q0 134 84 223.5t215 89.5q181 0 303 -219q124 215 309 215q133 0 214 -87.5t81 -225.5zM426 532q66 0 120.5 45.5t108.5 145.5 -q-50 97 -104.5 143.5t-126.5 46.5q-76 0 -126 -52.5t-50 -139.5q0 -83 48.5 -136t129.5 -53zM1018 909q-66 0 -120.5 -46t-109.5 -144q51 -97 106 -144t126 -47q76 0 126 53.5t50 137.5q0 85 -50.5 137.5t-127.5 52.5z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="786" -d="M637 1556q79 0 123 -16v-137q-49 22 -111 22q-176 0 -176 -243v-1311q0 -176 -82.5 -269.5t-245.5 -93.5q-74 0 -133 19v135q61 -22 119 -22q182 0 182 243v1311q0 362 324 362z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" horiz-adv-x="1171" -d="M336 512q-54 0 -117.5 -32t-120.5 -89v150q108 110 256 110q67 0 123 -14t144 -51q77 -33 122.5 -45.5t90.5 -12.5q53 0 117 33t118 90v-151q-101 -109 -254 -109q-67 0 -122.5 14.5t-143.5 51.5q-73 30 -118.5 42.5t-94.5 12.5zM336 918q-57 0 -121 -34t-117 -87v149 -q106 109 256 109q69 0 127 -16t140 -50q69 -29 116.5 -42t96.5 -13q55 0 119.5 33t115.5 88v-150q-100 -110 -254 -110q-69 0 -128 16t-138 49q-84 34 -126.5 46t-86.5 12z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1171" -d="M381 449h-277v137h340l127 272h-467v137h531l135 287l125 -57l-109 -230h279v-137h-342l-129 -272h471v-137h-535l-131 -283l-125 55z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" horiz-adv-x="1171" -d="M1065 242l-961 422v98l961 479v-149l-782 -371l782 -328v-151zM104 1v138h961v-138h-961z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" horiz-adv-x="1171" -d="M104 393l783 326l-783 373v149l961 -479v-98l-961 -422v151zM104 1v138h961v-138h-961z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1194" -d="M111 735l450 740h72l452 -740l-452 -735h-72zM915 737l-317 531l-317 -531l317 -532z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -82t-67 -41v-8q61 -14 84 -48t23 -87 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM453 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM234 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM-1 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM60 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM441 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM494 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99 -q-13 -121 -69.5 -189.5t-150.5 -68.5z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM42 1716h600v-137h-600v137z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM335 1579q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM282 -238q0 -94 94 -94q42 0 97 13v-109q-65 -18 -125 -18q-207 0 -207 188q0 70 43 137.5t115 120.5h120q-68 -66 -102.5 -120.5t-34.5 -117.5z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM242 1731q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1229" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM668 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="920" -d="M836 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM-28 1165q27 72 53.5 185.5t38.5 195.5h184v-23q-18 -74 -72.5 -192.5t-103.5 -194.5h-100v29z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM60 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM441 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM60 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM441 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 -t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1182" -d="M584 1241q-185 0 -270 71.5t-95 235.5h156q9 -104 54.5 -145t158.5 -41q103 0 152.5 44t60.5 142h157q-12 -158 -101 -232.5t-273 -74.5z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="1024" -d="M393 1253q19 55 38.5 138.5t29.5 164.5h168v-18q-11 -51 -55 -145t-91 -164h-90v24z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="1024" -d="M369 -428q28 64 53.5 157t32.5 146h168v-18q-11 -51 -60 -147.5t-104 -162.5h-90v25z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="1024" -d="M639 1544q-29 -61 -55.5 -157.5t-32.5 -145.5h-166v19q14 61 63.5 156.5t98.5 152.5h92v-25z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="819" -d="M432 1159q70 181 98 303h189v-20q-41 -78 -100.5 -164t-108.5 -143h-78v24zM152 1253q0 163 237 224v-72q-121 -41 -121 -94q0 -20 15.5 -29.5t34 -17.5t34 -21t15.5 -41q0 -74 -93 -74q-55 0 -88.5 34t-33.5 91z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM572 1833q0 -140 -166 -174l-10 -113h-105l-12 176q86 14 125 39t39 68t-33.5 63.5t-106.5 20.5q-62 0 -94 -6v100q38 10 107 10q256 0 256 -184z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="682" -d="M598 0h-514v98l172 35v1194l-172 37v98h514v-98l-172 -37v-1194l172 -35v-98zM239 -242q0 57 29.5 84t71.5 27q40 0 69 -27t29 -84q0 -55 -29 -82.5t-69 -27.5q-42 0 -71.5 27.5t-29.5 82.5z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-301 1241h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM-381 1460q73 91 127 203h172v-21q-83 -110 -203 -206h-96v24z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-297 1241h-94q-97 65 -211 166q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23zM-827 1436h-95q-120 94 -204 206v21h172q52 -108 127 -205v-22z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-301 1241h-94q-112 75 -211 166q-114 -101 -211 -166h-94v25l53 60q112 123 164 200h176q66 -94 217 -260v-25zM-133 1645q0 -103 -127 -132l-6 -81h-80l-10 131q57 9 88.5 25t31.5 54q0 37 -28.5 49.5t-71.5 12.5q-46 0 -72 -6v80q25 6 80 6q195 0 195 -139z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-467 1589q-37 0 -72.5 15t-69 33.5t-65 33.5t-59.5 15q-40 0 -61 -24.5t-35 -74.5h-91q13 106 63.5 162.5t125.5 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -104 -60.5 -161.5t-125.5 -57.5zM-297 1241h-94q-97 65 -211 166 -q-106 -96 -211 -166h-94v23l53 60q112 123 164 200h176q66 -94 217 -260v-23z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-674 1524q80 104 129 205h172v-21q-86 -114 -205 -207h-96v23zM-612 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-559 1501h-94q-119 93 -205 207v21h172q52 -108 127 -205v-23zM-612 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-463 1657q0 -100 -127 -129l-6 -41h-82l-10 90q57 9 90 25t33 53t-28.5 50t-72.5 13q-37 0 -73 -6v78q22 8 84 8q192 0 192 -141zM-612 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-467 1587q-37 0 -72.5 15t-69 33t-65 33t-59.5 15q-40 0 -61 -24t-35 -74h-91q13 104 63 160.5t126 56.5q37 0 73.5 -15t70 -33t64.5 -33t58 -15q40 0 61 24.5t33 73.5h90q-11 -103 -60.5 -160t-125.5 -57zM-612 1241q-276 0 -291 260h102q9 -72 47 -100.5t144 -28.5 -q98 0 141 32.5t51 96.5h105q-11 -120 -85.5 -190t-213.5 -70z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="420" -d="M223 -238q0 103 -139 238h123q158 -120 158 -252q0 -91 -51 -142.5t-150 -51.5q-65 0 -115 16v108q32 -10 86 -10q37 0 62.5 24t25.5 70z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="420" -d="M369 154v-289q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v304h148z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="420" -d="M369 143v-278q0 -260 -228 -260q-56 0 -116 24v140q41 -19 102 -19q94 0 94 100v293h148z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="813" -d="M579 0h-162v1042q0 130 8 246q-21 -21 -47 -44t-238 -195l-88 114l387 299h140v-1462z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1161" -d="M1047 559q0 -267 -123.5 -423t-345.5 -156q-217 0 -340 154.5t-123 424.5q0 271 124.5 425.5t342.5 154.5q216 0 340.5 -154.5t124.5 -425.5zM283 559q0 -208 77.5 -324t219.5 -116q141 0 220 117t79 323q0 204 -79 322t-222 118q-141 0 -218 -116.5t-77 -323.5z" /> - <glyph glyph-name="one.os" horiz-adv-x="756" -d="M567 0h-161v561q0 239 8 379q-67 -67 -129 -115l-150 -112l-90 114l383 291h139v-1118z" /> - <glyph glyph-name="two.os" horiz-adv-x="1044" -d="M983 0h-942v133l401 303q157 119 213.5 171t78.5 93.5t22 106.5q0 87 -69.5 138.5t-188.5 51.5q-88 0 -166 -30.5t-170 -104.5l-90 109q192 168 434 168q198 0 307 -84t109 -234q0 -115 -65 -208.5t-251 -221.5l-327 -231l2 -6h702v-154z" /> - <glyph glyph-name="three.os" horiz-adv-x="1171" -d="M1006 775q0 -140 -78.5 -229t-222.5 -119v-8q176 -22 261 -112t85 -236q0 -209 -145 -321.5t-412 -112.5q-116 0 -212.5 17.5t-187.5 61.5v158q95 -47 202.5 -71.5t203.5 -24.5q379 0 379 297q0 266 -418 266h-144v143h146q171 0 271 75.5t100 209.5q0 107 -73.5 168 -t-199.5 61q-96 0 -181 -26t-194 -96l-84 112q90 71 207.5 111.5t247.5 40.5q213 0 331 -97.5t118 -267.5z" /> - <glyph glyph-name="four.os" horiz-adv-x="1167" -d="M1126 27h-217v-371h-168v371h-718v125l702 966h184v-956h217v-135zM748 162v348q0 218 12 440h-10q-41 -86 -109 -178l-455 -610h562z" /> - <glyph glyph-name="five.os" horiz-adv-x="1171" -d="M557 550q231 0 363.5 -114.5t132.5 -313.5q0 -227 -144.5 -356t-398.5 -129q-247 0 -377 79v160q70 -45 174 -70.5t205 -25.5q176 0 273.5 83t97.5 240q0 306 -375 306q-94 0 -254 -29l-86 55l55 684h727v-153h-585l-37 -439q115 23 229 23z" /> - <glyph glyph-name="six.os" horiz-adv-x="1171" -d="M117 625q0 431 167.5 644.5t495.5 213.5q113 0 178 -19v-143q-77 25 -176 25q-235 0 -359 -146.5t-136 -460.5h12q110 172 348 172q197 0 310.5 -119t113.5 -323q0 -228 -124.5 -358.5t-336.5 -130.5q-227 0 -360 170.5t-133 474.5zM608 121q142 0 220.5 89.5t78.5 258.5 -q0 145 -73 228t-218 83q-90 0 -165 -37t-119.5 -102t-44.5 -135q0 -103 40 -192t113.5 -141t167.5 -52z" /> - <glyph glyph-name="seven.os" horiz-adv-x="1171" -d="M285 -343l606 1309h-797v153h973v-133l-598 -1329h-184z" /> - <glyph glyph-name="eight.os" horiz-adv-x="1171" -d="M584 1483q200 0 317 -93t117 -257q0 -108 -67 -197t-214 -162q178 -85 253 -178.5t75 -216.5q0 -182 -127 -290.5t-348 -108.5q-234 0 -360 102.5t-126 290.5q0 251 306 391q-138 78 -198 168.5t-60 202.5q0 159 117.5 253.5t314.5 94.5zM268 369q0 -120 83.5 -187 -t234.5 -67q149 0 232 70t83 192q0 97 -78 172.5t-272 146.5q-149 -64 -216 -141.5t-67 -185.5zM582 1348q-125 0 -196 -60t-71 -160q0 -92 59 -158t218 -132q143 60 202.5 129t59.5 161q0 101 -72.5 160.5t-199.5 59.5z" /> - <glyph glyph-name="nine.os" horiz-adv-x="1171" -d="M1061 495q0 -858 -664 -858q-116 0 -184 20v143q80 -26 182 -26q240 0 362.5 148.5t133.5 455.5h-12q-55 -83 -146 -126.5t-205 -43.5q-194 0 -308 116t-114 324q0 228 127.5 360t335.5 132q149 0 260.5 -76.5t171.5 -223t60 -345.5zM569 998q-143 0 -221 -92t-78 -256 -q0 -144 72 -226.5t219 -82.5q91 0 167.5 37t120.5 101t44 134q0 105 -41 194t-114.5 140t-168.5 51z" /> - <glyph glyph-name="g.alt" horiz-adv-x="1255" -d="M588 119q170 0 245.5 91.5t79.5 293.5v43q0 226 -79 328t-250 102q-144 0 -220.5 -112t-76.5 -320q0 -209 75.5 -317.5t225.5 -108.5zM913 12q0 36 9 135h-11q-112 -167 -342 -167q-217 0 -336.5 150.5t-119.5 416.5q0 264 121.5 416.5t332.5 152.5q223 0 346 -166h11 -l24 146h131v-1116q0 -236 -118 -354t-367 -118q-242 0 -391 70v158q75 -42 180 -65t223 -23q142 0 224.5 84.5t82.5 230.5v49z" /> - <glyph glyph-name="gcircumflex.alt" horiz-adv-x="1255" -d="M588 119q170 0 245.5 91.5t79.5 293.5v43q0 226 -79 328t-250 102q-144 0 -220.5 -112t-76.5 -320q0 -209 75.5 -317.5t225.5 -108.5zM913 12q0 36 9 135h-11q-112 -167 -342 -167q-217 0 -336.5 150.5t-119.5 416.5q0 264 121.5 416.5t332.5 152.5q223 0 346 -166h11 -l24 146h131v-1116q0 -236 -118 -354t-367 -118q-242 0 -391 70v158q75 -42 180 -65t223 -23q142 0 224.5 84.5t82.5 230.5v49zM274 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" /> - <glyph glyph-name="gbreve.alt" horiz-adv-x="1255" -d="M588 119q170 0 245.5 91.5t79.5 293.5v43q0 226 -79 328t-250 102q-144 0 -220.5 -112t-76.5 -320q0 -209 75.5 -317.5t225.5 -108.5zM913 12q0 36 9 135h-11q-112 -167 -342 -167q-217 0 -336.5 150.5t-119.5 416.5q0 264 121.5 416.5t332.5 152.5q223 0 346 -166h11 -l24 146h131v-1116q0 -236 -118 -354t-367 -118q-242 0 -391 70v158q75 -42 180 -65t223 -23q142 0 224.5 84.5t82.5 230.5v49zM610 1241q-140 0 -218 68.5t-87 199.5h104q6 -49 26.5 -77t57 -41t121.5 -13q101 0 149 32t58 99h104q-10 -126 -93.5 -197t-221.5 -71z" /> - <glyph glyph-name="gdot.alt" horiz-adv-x="1255" -d="M588 119q170 0 245.5 91.5t79.5 293.5v43q0 226 -79 328t-250 102q-144 0 -220.5 -112t-76.5 -320q0 -209 75.5 -317.5t225.5 -108.5zM913 12q0 36 9 135h-11q-112 -167 -342 -167q-217 0 -336.5 150.5t-119.5 416.5q0 264 121.5 416.5t332.5 152.5q223 0 346 -166h11 -l24 146h131v-1116q0 -236 -118 -354t-367 -118q-242 0 -391 70v158q75 -42 180 -65t223 -23q142 0 224.5 84.5t82.5 230.5v49zM504 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" /> - <glyph glyph-name="gcommaaccent.alt" horiz-adv-x="1255" -d="M588 119q170 0 245.5 91.5t79.5 293.5v43q0 226 -79 328t-250 102q-144 0 -220.5 -112t-76.5 -320q0 -209 75.5 -317.5t225.5 -108.5zM913 12q0 36 9 135h-11q-112 -167 -342 -167q-217 0 -336.5 150.5t-119.5 416.5q0 264 121.5 416.5t332.5 152.5q223 0 346 -166h11 -l24 146h131v-1116q0 -236 -118 -354t-367 -118q-242 0 -391 70v158q75 -42 180 -65t223 -23q142 0 224.5 84.5t82.5 230.5v49zM758 1544q-29 -61 -55.5 -157.5t-32.5 -145.5h-166v19q14 61 63.5 156.5t98.5 152.5h92v-25z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.ttf deleted file mode 100755 index 7c88d91..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.woff deleted file mode 100755 index 74c2457..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Regular-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.eot deleted file mode 100755 index 5835fba..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.svg deleted file mode 100755 index 5b21ce2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.svg +++ /dev/null @@ -1,21055 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:45:44 2011 - By Aleksey,,, -Digitized data copyright (c) 2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans-Semibold" horiz-adv-x="1169" > - <font-face - font-family="Open Sans Semibold" - font-weight="600" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 7 6 3 8 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1106" - cap-height="1462" - bbox="-1196 -578 2583 2148" - underline-thickness="102" - underline-position="-307" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1487" -d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1466 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178 -q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1315" -d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1146 0h-235v1106h235v-1106zM897 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97 -q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1315" -d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1146 0h-235v1556h235v-1556z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="2058" -d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1466 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178 -q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1890 0h-235v1106h235v-1106zM1641 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="2058" -d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1466 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178 -q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178zM1890 0h-235v1556h235v-1556z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="565" -d="M371 444h-174l-52 1018h277zM133 125q0 74 39 112.5t111 38.5q71 0 109 -40t38 -111t-38.5 -112.5t-108.5 -41.5q-71 0 -110.5 40t-39.5 114z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="893" -d="M365 1462l-41 -528h-150l-41 528h232zM760 1462l-41 -528h-150l-41 528h232z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M989 870l-55 -284h270v-168h-303l-80 -418h-178l80 418h-248l-80 -418h-174l76 418h-250v168h283l57 284h-264v168h293l80 422h180l-80 -422h252l80 422h174l-80 -422h252v-168h-285zM506 586h250l57 284h-250z" /> - <glyph glyph-name="dollar" unicode="$" -d="M1063 453q0 -145 -106 -239t-306 -116v-217h-133v211q-248 4 -407 76v211q86 -42 201 -70.5t206 -29.5v374l-84 31q-164 63 -239.5 150.5t-75.5 216.5q0 138 107.5 227t291.5 108v168h133v-165q203 -7 385 -82l-73 -183q-157 62 -312 74v-364l76 -29q190 -73 263 -154 -t73 -198zM827 438q0 58 -40.5 95.5t-135.5 72.5v-319q176 27 176 151zM354 1053q0 -57 35.5 -95t128.5 -75v311q-80 -12 -122 -49t-42 -92z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1765" -d="M279 1024q0 -149 29 -222t95 -73q132 0 132 295t-132 295q-66 0 -95 -73t-29 -222zM729 1026q0 -230 -82.5 -345.5t-243.5 -115.5q-152 0 -235.5 119.5t-83.5 341.5q0 457 319 457q157 0 241.5 -118.5t84.5 -338.5zM1231 440q0 -149 29.5 -223t95.5 -74q131 0 131 297 -q0 293 -131 293q-66 0 -95.5 -72t-29.5 -221zM1681 440q0 -230 -83 -345t-242 -115q-152 0 -236 118.5t-84 341.5q0 457 320 457q154 0 239.5 -118t85.5 -339zM1384 1462l-811 -1462h-194l811 1462h194z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1516" -d="M451 1147q0 -63 33.5 -119t93.5 -119q113 64 158.5 119.5t45.5 124.5q0 65 -43.5 104t-115.5 39q-79 0 -125.5 -40.5t-46.5 -108.5zM600 182q183 0 313 107l-383 377q-106 -68 -146 -127.5t-40 -135.5q0 -98 69.5 -159.5t186.5 -61.5zM96 387q0 131 64 228.5t231 193.5 -q-95 111 -129.5 187.5t-34.5 158.5q0 152 108.5 240t291.5 88q177 0 278 -85.5t101 -230.5q0 -114 -67.5 -207t-225.5 -186l346 -334q81 107 135 314h242q-70 -284 -224 -463l301 -291h-303l-149 145q-102 -82 -217.5 -123.5t-255.5 -41.5q-230 0 -361 109t-131 298z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="498" -d="M365 1462l-41 -528h-150l-41 528h232z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="649" -d="M82 561q0 265 77.5 496t223.5 405h205q-139 -188 -213 -421.5t-74 -477.5t74 -473t211 -414h-203q-147 170 -224 397t-77 488z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="649" -d="M567 561q0 -263 -77.5 -490t-223.5 -395h-203q138 187 211.5 415t73.5 472q0 245 -74 477.5t-213 421.5h205q147 -175 224 -406.5t77 -494.5z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1122" -d="M672 1556l-41 -382l385 108l28 -217l-360 -29l236 -311l-199 -107l-166 338l-149 -338l-205 107l231 311l-358 29l35 217l376 -108l-41 382h228z" /> - <glyph glyph-name="plus" unicode="+" -d="M494 633h-398v178h398v408h180v-408h399v-178h-399v-406h-180v406z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="547" -d="M412 215q-48 -186 -176 -479h-173q69 270 103 502h231z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="659" -d="M72 449v200h514v-200h-514z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="563" -d="M133 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="799" -d="M782 1462l-544 -1462h-222l545 1462h221z" /> - <glyph glyph-name="zero" unicode="0" -d="M1081 731q0 -381 -122.5 -566t-374.5 -185q-244 0 -370 191t-126 560q0 387 122.5 570.5t373.5 183.5q245 0 371 -192t126 -562zM326 731q0 -299 61.5 -427t196.5 -128t197.5 130t62.5 425q0 294 -62.5 425.5t-197.5 131.5t-196.5 -129t-61.5 -428z" /> - <glyph glyph-name="one" unicode="1" -d="M780 0h-235v944q0 169 8 268q-23 -24 -56.5 -53t-224.5 -184l-118 149l430 338h196v-1462z" /> - <glyph glyph-name="two" unicode="2" -d="M1081 0h-991v178l377 379q167 171 221.5 242.5t79.5 134.5t25 135q0 99 -59.5 156t-164.5 57q-84 0 -162.5 -31t-181.5 -112l-127 155q122 103 237 146t245 43q204 0 327 -106.5t123 -286.5q0 -99 -35.5 -188t-109 -183.5t-244.5 -255.5l-254 -246v-10h694v-207z" /> - <glyph glyph-name="three" unicode="3" -d="M1026 1126q0 -139 -81 -231.5t-228 -124.5v-8q176 -22 264 -109.5t88 -232.5q0 -211 -149 -325.5t-424 -114.5q-243 0 -410 79v209q93 -46 197 -71t200 -25q170 0 254 63t84 195q0 117 -93 172t-292 55h-127v191h129q350 0 350 242q0 94 -61 145t-180 51 -q-83 0 -160 -23.5t-182 -91.5l-115 164q201 148 467 148q221 0 345 -95t124 -262z" /> - <glyph glyph-name="four" unicode="4" -d="M1133 319h-197v-319h-229v319h-668v181l668 966h229v-952h197v-195zM707 514v367q0 196 10 321h-8q-28 -66 -88 -160l-363 -528h449z" /> - <glyph glyph-name="five" unicode="5" -d="M586 913q221 0 350 -117t129 -319q0 -234 -146.5 -365.5t-416.5 -131.5q-245 0 -385 79v213q81 -46 186 -71t195 -25q159 0 242 71t83 208q0 262 -334 262q-47 0 -116 -9.5t-121 -21.5l-105 62l56 714h760v-209h-553l-33 -362q35 6 85.5 14t123.5 8z" /> - <glyph glyph-name="six" unicode="6" -d="M94 623q0 858 699 858q110 0 186 -17v-196q-76 22 -176 22q-235 0 -353 -126t-128 -404h12q47 81 132 125.5t200 44.5q199 0 310 -122t111 -331q0 -230 -128.5 -363.5t-350.5 -133.5q-157 0 -273 75.5t-178.5 220t-62.5 347.5zM604 174q121 0 186.5 78t65.5 223 -q0 126 -61.5 198t-184.5 72q-76 0 -140 -32.5t-101 -89t-37 -115.5q0 -141 76.5 -237.5t195.5 -96.5z" /> - <glyph glyph-name="seven" unicode="7" -d="M256 0l578 1253h-760v207h1011v-164l-575 -1296h-254z" /> - <glyph glyph-name="eight" unicode="8" -d="M584 1481q208 0 329 -95.5t121 -255.5q0 -225 -270 -358q172 -86 244.5 -181t72.5 -212q0 -181 -133 -290t-360 -109q-238 0 -369 102t-131 289q0 122 68.5 219.5t224.5 173.5q-134 80 -191 169t-57 200q0 159 125 253.5t326 94.5zM313 379q0 -104 73 -161.5t198 -57.5 -q129 0 200.5 59.5t71.5 161.5q0 81 -66 148t-200 124l-29 13q-132 -58 -190 -127.5t-58 -159.5zM582 1300q-100 0 -161 -49.5t-61 -134.5q0 -52 22 -93t64 -74.5t142 -80.5q120 53 169.5 111.5t49.5 136.5q0 85 -61.5 134.5t-163.5 49.5z" /> - <glyph glyph-name="nine" unicode="9" -d="M1079 838q0 -432 -174 -645t-524 -213q-133 0 -191 16v197q89 -25 179 -25q238 0 355 128t128 402h-12q-59 -90 -142.5 -130t-195.5 -40q-194 0 -305 121t-111 332q0 229 128.5 364.5t350.5 135.5q156 0 272 -76t179 -220.5t63 -346.5zM569 1286q-122 0 -187 -79.5 -t-65 -223.5q0 -125 60.5 -196.5t183.5 -71.5q119 0 200 71t81 166q0 89 -34.5 166.5t-96.5 122.5t-142 45z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="563" -d="M133 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113zM133 979q0 151 148 151q75 0 112 -40t37 -111t-38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="569" -d="M397 238l15 -23q-48 -186 -176 -479h-173q69 270 103 502h231zM131 979q0 151 148 151q75 0 112 -40t37 -111t-38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" /> - <glyph glyph-name="less" unicode="&#x3c;" -d="M1073 221l-977 430v121l977 488v-195l-733 -344l733 -303v-197z" /> - <glyph glyph-name="equal" unicode="=" -d="M102 831v179h963v-179h-963zM102 432v178h963v-178h-963z" /> - <glyph glyph-name="greater" unicode="&#x3e;" -d="M96 418l733 303l-733 344v195l977 -488v-121l-977 -430v197z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="928" -d="M283 444v64q0 110 40 183t140 151q119 94 153.5 146t34.5 124q0 84 -56 129t-161 45q-95 0 -176 -27t-158 -65l-84 176q203 113 435 113q196 0 311 -96t115 -265q0 -75 -22 -133.5t-66.5 -111.5t-153.5 -138q-93 -73 -124.5 -121t-31.5 -129v-45h-196zM242 125 -q0 151 147 151q72 0 110 -39.5t38 -111.5q0 -71 -38.5 -112.5t-109.5 -41.5t-109 40.5t-38 113.5z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1839" -d="M1726 739q0 -143 -45 -261.5t-126.5 -184.5t-188.5 -66q-79 0 -137 42t-78 114h-12q-49 -78 -121 -117t-162 -39q-163 0 -256.5 105t-93.5 284q0 206 124 334.5t333 128.5q76 0 168.5 -13.5t164.5 -37.5l-22 -465v-24q0 -160 104 -160q79 0 125.5 102t46.5 260 -q0 171 -70 300.5t-199 199.5t-296 70q-213 0 -370.5 -88t-240.5 -251.5t-83 -379.5q0 -290 155 -446t445 -156q221 0 461 90v-164q-210 -86 -457 -86q-370 0 -577 199.5t-207 556.5q0 261 112 464.5t310.5 311.5t449.5 108q217 0 386.5 -90t263 -256.5t93.5 -384.5zM698 612 -q0 -233 183 -233q193 0 211 293l12 239q-63 17 -135 17q-128 0 -199.5 -85t-71.5 -231z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1352" -d="M193 1462h434q302 0 436.5 -88t134.5 -278q0 -128 -66 -213t-190 -107v-10q154 -29 226.5 -114.5t72.5 -231.5q0 -197 -137.5 -308.5t-382.5 -111.5h-528v1462zM432 858h230q150 0 219 47.5t69 161.5q0 103 -74.5 149t-236.5 46h-207v-404zM432 664v-463h254 -q150 0 226.5 57.5t76.5 181.5q0 114 -78 169t-237 55h-242z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1503" -d="M1382 745q0 -362 -201 -553.5t-579 -191.5h-409v1462h452q349 0 543 -188t194 -529zM1130 737q0 525 -491 525h-207v-1061h170q528 0 528 536z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="1090" -d="M430 0h-237v1462h825v-202h-588v-457h551v-203h-551v-600z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1487" -d="M791 793h538v-734q-132 -43 -253.5 -61t-262.5 -18q-332 0 -512 196.5t-180 554.5q0 353 203 552.5t559 199.5q229 0 434 -88l-84 -199q-178 82 -356 82q-234 0 -370 -147t-136 -402q0 -268 122.5 -407.5t352.5 -139.5q116 0 248 29v377h-303v205z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1538" -d="M1346 0h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1462z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="612" -d="M8 -408q-98 0 -164 25v201q84 -21 146 -21q196 0 196 248v1417h240v-1409q0 -224 -106.5 -342.5t-311.5 -118.5z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1309" -d="M1309 0h-277l-459 662l-141 -115v-547h-239v1462h239v-698q98 120 195 231l395 467h272q-383 -450 -549 -641z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="1110" -d="M193 0v1462h239v-1257h619v-205h-858z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1890" -d="M825 0l-424 1221h-8q17 -272 17 -510v-711h-217v1462h337l406 -1163h6l418 1163h338v-1462h-230v723q0 109 5.5 284t9.5 212h-8l-439 -1219h-211z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1604" -d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1260" -d="M1161 1020q0 -229 -150 -351t-427 -122h-152v-547h-239v1462h421q274 0 410.5 -112t136.5 -330zM432 748h127q184 0 270 64t86 200q0 126 -77 188t-240 62h-166v-514z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1612" -d="M1491 733q0 -266 -101.5 -448t-295.5 -256l350 -377h-322l-276 328h-39q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139 -q-215 0 -324.5 -139t-109.5 -408z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1309" -d="M432 782h166q167 0 242 62t75 184q0 124 -81 178t-244 54h-158v-478zM432 584v-584h-239v1462h413q283 0 419 -106t136 -320q0 -273 -284 -389l413 -647h-272l-350 584h-236z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1159" -d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1274" -d="M1026 1462h248l-512 -1462h-252l-510 1462h246l305 -909q24 -65 51 -167.5t35 -152.5q13 76 40 176t44 148z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1937" -d="M1542 0h-260l-248 872q-16 57 -40 164.5t-29 149.5q-10 -64 -32.5 -166t-37.5 -152l-242 -868h-260l-189 732l-192 730h244l209 -852q49 -205 70 -362q11 85 33 190t40 170l238 854h237l244 -858q35 -119 74 -356q15 143 72 364l208 850h242z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1274" -d="M1270 0h-275l-366 598l-369 -598h-256l485 758l-454 704h266l338 -553l338 553h258l-457 -708z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1178" -d="M1112 0h-1046v166l737 1091h-717v205h1006v-168l-740 -1089h760v-205z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="676" -d="M625 -324h-471v1786h471v-176h-256v-1433h256v-177z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="799" -d="M238 1462l544 -1462h-221l-545 1462h222z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="676" -d="M51 -147h256v1433h-256v176h469v-1786h-469v177z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1100" -d="M29 535l436 935h121l485 -935h-194l-349 694l-307 -694h-192z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="879" -d="M883 -319h-887v135h887v-135z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1212" -d="M690 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="a" unicode="a" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1276" -d="M733 1126q207 0 322.5 -150t115.5 -421q0 -272 -117 -423.5t-325 -151.5q-210 0 -326 151h-16l-43 -131h-176v1556h235v-370q0 -41 -4 -122t-6 -103h10q112 165 330 165zM672 934q-142 0 -204.5 -83.5t-64.5 -279.5v-16q0 -202 64 -292.5t209 -90.5q125 0 189.5 99 -t64.5 286q0 377 -258 377z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16z" /> - <glyph glyph-name="d" unicode="d" horiz-adv-x="1276" -d="M541 -20q-207 0 -323 150t-116 421q0 272 117.5 423.5t325.5 151.5q218 0 332 -161h12q-17 119 -17 188v403h236v-1556h-184l-41 145h-11q-113 -165 -331 -165zM604 170q145 0 211 81.5t68 264.5v33q0 209 -68 297t-213 88q-124 0 -191 -100.5t-67 -286.5 -q0 -184 65 -280.5t195 -96.5z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="743" -d="M723 928h-270v-928h-236v928h-182v110l182 72v72q0 196 92 290.5t281 94.5q124 0 244 -41l-62 -178q-87 28 -166 28q-80 0 -116.5 -49.5t-36.5 -148.5v-72h270v-178z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1139" -d="M1102 1106v-129l-189 -35q26 -35 43 -86t17 -108q0 -171 -118 -269t-325 -98q-53 0 -96 8q-76 -47 -76 -110q0 -38 35.5 -57t130.5 -19h193q183 0 278 -78t95 -225q0 -188 -155 -290t-448 -102q-226 0 -345 80t-119 228q0 102 64.5 171.5t180.5 96.5q-47 20 -77.5 64.5 -t-30.5 93.5q0 62 35 105t104 85q-86 37 -139.5 120.5t-53.5 195.5q0 180 113.5 279t323.5 99q47 0 98.5 -6.5t77.5 -13.5h383zM233 -172q0 -76 68.5 -117t192.5 -41q192 0 286 55t94 146q0 72 -51.5 102.5t-191.5 30.5h-178q-101 0 -160.5 -47.5t-59.5 -128.5zM334 748 -q0 -104 53.5 -160t153.5 -56q204 0 204 218q0 108 -50.5 166.5t-153.5 58.5q-102 0 -154.5 -58t-52.5 -169z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-148 0 -217.5 -88.5t-69.5 -296.5v-549h-235v1556h235v-395q0 -95 -12 -203h15q48 80 133.5 124t199.5 44q402 0 402 -405v-721z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="571" -d="M55 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="1171" -d="M395 584l133 166l334 356h271l-445 -475l473 -631h-276l-355 485l-129 -106v-379h-233v1556h233v-759l-12 -213h6z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="571" -d="M403 0h-235v1556h235v-1556z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1958" -d="M1100 0h-236v682q0 127 -48 189.5t-150 62.5q-136 0 -199.5 -88.5t-63.5 -294.5v-551h-235v1106h184l33 -145h12q46 79 133.5 122t192.5 43q255 0 338 -174h16q49 82 138 128t204 46q198 0 288.5 -100t90.5 -305v-721h-235v682q0 127 -48.5 189.5t-150.5 62.5 -q-137 0 -200.5 -85.5t-63.5 -262.5v-586z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281z" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1276" -d="M729 -20q-210 0 -326 151h-14q14 -140 14 -170v-453h-235v1598h190q8 -31 33 -148h12q110 168 330 168q207 0 322.5 -150t115.5 -421t-117.5 -423t-324.5 -152zM672 934q-140 0 -204.5 -82t-64.5 -262v-35q0 -202 64 -292.5t209 -90.5q122 0 188 100t66 285 -q0 186 -65.5 281.5t-192.5 95.5z" /> - <glyph glyph-name="q" unicode="q" horiz-adv-x="1276" -d="M606 168q148 0 212.5 85.5t64.5 258.5v37q0 205 -66.5 295t-214.5 90q-126 0 -192 -100t-66 -287q0 -379 262 -379zM539 -20q-205 0 -321 150.5t-116 420.5t118 422.5t325 152.5q104 0 186.5 -38.5t147.5 -126.5h8l26 145h195v-1598h-236v469q0 44 4 93t7 75h-13 -q-104 -165 -331 -165z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="883" -d="M729 1126q71 0 117 -10l-23 -219q-50 12 -104 12q-141 0 -228.5 -92t-87.5 -239v-578h-235v1106h184l31 -195h12q55 99 143.5 157t190.5 58z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="805" -d="M580 170q86 0 172 27v-177q-39 -17 -100.5 -28.5t-127.5 -11.5q-334 0 -334 352v596h-151v104l162 86l80 234h145v-246h315v-178h-315v-592q0 -85 42.5 -125.5t111.5 -40.5z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="1096" -d="M420 0l-420 1106h248l225 -643q58 -162 70 -262h8q9 72 70 262l225 643h250l-422 -1106h-254z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1673" -d="M1075 0l-143 516q-26 82 -94 381h-9q-58 -270 -92 -383l-147 -514h-260l-310 1106h240l141 -545q48 -202 68 -346h6q10 73 30.5 167.5t35.5 141.5l168 582h258l163 -582q15 -49 37.5 -150t26.5 -157h8q15 123 70 344l143 545h236l-312 -1106h-264z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="1128" -d="M414 565l-371 541h268l252 -387l254 387h266l-372 -541l391 -565h-266l-273 414l-272 -414h-266z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="979" -d="M907 0h-839v145l559 781h-525v180h789v-164l-547 -762h563v-180z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="791" -d="M311 287q0 186 -266 186v191q135 0 200.5 45.5t65.5 138.5v311q0 156 108.5 229.5t325.5 73.5v-182q-114 -5 -165.5 -46.5t-51.5 -123.5v-297q0 -199 -229 -238v-12q229 -36 229 -237v-299q0 -82 51 -124t166 -44v-183q-231 2 -332.5 78.5t-101.5 247.5v285z" /> - <glyph glyph-name="bar" unicode="|" horiz-adv-x="1128" -d="M473 1552h180v-2033h-180v2033z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="760" -d="M463 -20q0 -156 -99.5 -229t-318.5 -75v183q95 1 148 38.5t53 129.5v262q0 121 53 187t176 87v12q-229 39 -229 238v297q0 82 -45.5 123.5t-155.5 46.5v182q223 0 320.5 -76.5t97.5 -250.5v-287q0 -100 63.5 -142t188.5 -42v-191q-123 0 -187.5 -42.5t-64.5 -143.5v-307z -" /> - <glyph glyph-name="asciitilde" unicode="~" -d="M330 692q-50 0 -111.5 -30t-122.5 -91v191q99 108 250 108q66 0 125 -13t147 -50q131 -55 220 -55q52 0 114.5 31t120.5 89v-190q-105 -111 -250 -111q-65 0 -127.5 15.5t-146.5 50.5q-127 55 -219 55z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="565" -d="M193 645h174l51 -1016h-277zM430 965q0 -74 -37.5 -113t-111.5 -39q-72 0 -110 39.5t-38 112.5q0 69 38 111t110 42t110.5 -40.5t38.5 -112.5z" /> - <glyph glyph-name="cent" unicode="&#xa2;" -d="M987 238q-119 -59 -258 -64v-194h-156v200q-207 31 -307 171t-100 390q0 254 100.5 397t306.5 175v170h158v-162q152 -5 283 -66l-70 -188q-146 59 -250 59q-146 0 -216 -95t-70 -288q0 -194 72 -283t210 -89q75 0 142.5 15t154.5 52v-200z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" -d="M690 1481q194 0 375 -82l-76 -182q-162 71 -284 71q-205 0 -205 -219v-244h397v-172h-397v-182q0 -91 -33 -155t-113 -109h756v-207h-1038v195q98 30 145 96t47 178v184h-188v172h188v256q0 188 113.5 294t312.5 106z" /> - <glyph glyph-name="currency" unicode="&#xa4;" -d="M186 723q0 109 64 213l-133 133l121 119l131 -129q100 63 215 63t213 -65l133 131l121 -117l-131 -133q63 -100 63 -215q0 -119 -63 -217l129 -129l-119 -119l-133 129q-99 -61 -213 -61q-126 0 -215 61l-131 -127l-119 119l131 129q-64 99 -64 215zM354 723 -q0 -98 68 -164.5t162 -66.5q97 0 165 66.5t68 164.5q0 97 -68 165t-165 68q-93 0 -161.5 -68t-68.5 -165z" /> - <glyph glyph-name="yen" unicode="&#xa5;" -d="M584 797l321 665h244l-399 -760h227v-151h-281v-154h281v-153h-281v-244h-225v244h-283v153h283v154h-283v151h224l-394 760h246z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1128" -d="M473 1552h180v-794h-180v794zM473 315h180v-796h-180v796z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="1026" -d="M129 807q0 80 38.5 145.5t111.5 108.5q-146 83 -146 235q0 129 109.5 202t294.5 73q91 0 174 -17t182 -59l-68 -162q-116 50 -176 63t-121 13q-194 0 -194 -109q0 -54 55 -93.5t191 -90.5q175 -68 250 -146.5t75 -187.5q0 -177 -139 -266q139 -80 139 -223 -q0 -142 -118 -224.5t-326 -82.5q-212 0 -346 71v179q77 -40 173 -65.5t177 -25.5q235 0 235 131q0 43 -21 70t-71 54t-147 65q-141 55 -206 101.5t-95.5 105t-30.5 135.5zM313 827q0 -45 24 -80t78.5 -69t194.5 -90q109 65 109 168q0 75 -62 126.5t-221 104.5 -q-54 -16 -88.5 -61.5t-34.5 -98.5z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1212" -d="M293 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM686 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M893 1034q-111 0 -171 -80.5t-60 -222.5q0 -147 54 -226t177 -79q55 0 118 15t109 36v-158q-115 -51 -235 -51q-197 0 -305.5 120.5t-108.5 342.5q0 214 110 337.5t306 123.5q138 0 274 -70l-65 -143q-106 55 -203 55zM100 731q0 200 100 375t275 276t377 101 -q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM223 731q0 -170 84.5 -315.5t230.5 -229.5t314 -84q170 0 316 85.5t229.5 230t83.5 313.5q0 168 -84.5 314.5t-231 230.5t-313.5 84q-168 0 -312.5 -83 -t-230.5 -229t-86 -317z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="754" -d="M547 782l-29 97q-46 -55 -105 -82t-130 -27q-113 0 -169.5 52.5t-56.5 158.5q0 104 84 159.5t252 61.5l107 4q0 72 -34.5 108t-103.5 36q-90 0 -210 -56l-54 115q144 70 285 70q138 0 207 -62.5t69 -187.5v-447h-112zM401 1098q-71 -2 -125.5 -34t-54.5 -81q0 -88 96 -88 -q91 0 137 41t46 123v43z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1139" -d="M82 561l356 432l168 -94l-282 -350l282 -348l-168 -97l-356 431v26zM532 561l357 432l168 -94l-283 -350l283 -348l-168 -97l-357 431v26z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" -d="M1073 256h-178v377h-799v178h977v-555z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="659" -d="M72 449v200h514v-200h-514z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M748 770h69q74 0 112 35t38 100q0 72 -36.5 100.5t-115.5 28.5h-67v-264zM1157 909q0 -171 -153 -233l237 -397h-211l-192 346h-90v-346h-189v903h262q174 0 255 -68t81 -205zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370 -t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM223 731q0 -170 84.5 -315.5t230.5 -229.5t314 -84q170 0 316 85.5t229.5 230t83.5 313.5q0 168 -84.5 314.5t-231 230.5t-313.5 84q-168 0 -312.5 -83t-230.5 -229t-86 -317z" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="1024" -d="M1030 1556h-1036v164h1036v-164z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M109 1153q0 135 95 232.5t234 97.5q138 0 233 -96t95 -234q0 -139 -96 -233.5t-232 -94.5q-88 0 -164.5 43.5t-120.5 119.5t-44 165zM262 1153q0 -70 51 -122t125 -52t125 51.5t51 122.5q0 76 -52 127t-124 51t-124 -52t-52 -126z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" -d="M494 664h-398v178h398v407h180v-407h399v-178h-399v-406h-180v406zM96 0v178h977v-178h-977z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="743" -d="M678 586h-627v135l230 225q117 112 149.5 165t32.5 112q0 52 -32 79t-83 27q-93 0 -201 -88l-94 121q139 119 309 119q136 0 211.5 -66t75.5 -180q0 -83 -46 -158.5t-183 -202.5l-139 -129h397v-159z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="743" -d="M645 1251q0 -75 -40.5 -122.5t-119.5 -86.5q94 -21 141.5 -76t47.5 -132q0 -127 -93 -196t-266 -69q-148 0 -270 62v157q145 -79 270 -79q179 0 179 135q0 125 -199 125h-115v133h105q184 0 184 129q0 52 -34.5 80t-90.5 28q-57 0 -105.5 -20t-105.5 -57l-84 114 -q61 46 134 75.5t171 29.5q134 0 212.5 -61.5t78.5 -168.5z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1212" -d="M362 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1309" -d="M403 422q0 -252 218 -252q146 0 215 88.5t69 296.5v551h236v-1106h-183l-34 147h-13q-48 -83 -119.5 -125t-175.5 -42q-140 0 -219 90h-4q3 -28 6.5 -117t3.5 -125v-320h-235v1598h235v-684z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1143 -260h-137v1663h-191v-1663h-137v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h580v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="563" -d="M133 723q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="442" -d="M426 -270q0 -222 -305 -222q-66 0 -121 15v137q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="743" -d="M532 586h-186v512l3 103l5 91q-17 -18 -40.5 -40t-141.5 -111l-88 112l281 209h167v-876z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="780" -d="M719 1124q0 -164 -87.5 -259t-244.5 -95q-150 0 -238 95.5t-88 258.5q0 169 88.5 262t241.5 93q152 0 240 -94.5t88 -260.5zM223 1124q0 -111 39 -166t127 -55t127 55t39 166q0 113 -39 167.5t-127 54.5t-127 -54.5t-39 -167.5z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1139" -d="M1057 535l-359 -431l-168 97l283 348l-283 350l168 94l359 -432v-26zM606 535l-358 -431l-168 97l282 348l-282 350l168 94l358 -432v-26z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1700" -d="M1333 1462l-856 -1462h-192l858 1462h190zM508 586h-186v512l3 103l5 91q-17 -18 -40.5 -40t-141.5 -111l-88 112l281 209h167v-876zM1585 177h-125v-176h-192v176h-392v127l396 579h188v-563h125v-143zM1268 320v178q0 97 6 197q-52 -104 -88 -158l-148 -217h230z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1700" -d="M1298 1462l-856 -1462h-192l858 1462h190zM494 586h-186v512l3 103l5 91q-17 -18 -40.5 -40t-141.5 -111l-88 112l281 209h167v-876zM1608 1h-627v135l230 225q117 112 149.5 165t32.5 112q0 52 -32 79t-83 27q-93 0 -201 -88l-94 121q139 119 309 119q136 0 211.5 -66 -t75.5 -180q0 -83 -46 -158.5t-183 -202.5l-139 -129h397v-159z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1700" -d="M1415 1462l-856 -1462h-192l858 1462h190zM1640 177h-125v-176h-192v176h-392v127l396 579h188v-563h125v-143zM1323 320v178q0 97 6 197q-52 -104 -88 -158l-148 -217h230zM655 1251q0 -75 -40.5 -122.5t-119.5 -86.5q94 -21 141.5 -76t47.5 -132q0 -127 -93 -196 -t-266 -69q-148 0 -270 62v157q145 -79 270 -79q179 0 179 135q0 125 -199 125h-115v133h105q184 0 184 129q0 52 -34.5 80t-90.5 28q-57 0 -105.5 -20t-105.5 -57l-84 114q61 46 134 75.5t171 29.5q134 0 212.5 -61.5t78.5 -168.5z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="928" -d="M651 645v-63q0 -106 -41 -181t-143 -155q-124 -98 -155 -147t-31 -124q0 -78 54 -125t161 -47q90 0 174 27.5t166 65.5l82 -179q-220 -110 -424 -110q-207 0 -323 95.5t-116 264.5q0 73 21 130t64 109t157 142q94 76 125 124.5t31 127.5v45h198zM692 965 -q0 -74 -37.5 -113t-111.5 -39q-72 0 -110 39.5t-38 112.5q0 69 38 111t110 42t110.5 -40.5t38.5 -112.5z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM662 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM532 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM897 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM821 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73 -q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM363 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88z -M756 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM913 1577q0 -102 -65.5 -165.5t-173.5 -63.5t-172 62.5t-64 164.5q0 101 63.5 163.5t172.5 62.5q104 0 171.5 -62 -t67.5 -162zM780 1575q0 50 -30 78.5t-76 28.5q-47 0 -77 -28.5t-30 -78.5q0 -106 107 -106q46 0 76 27.5t30 78.5z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1868" -d="M1747 0h-811v406h-504l-188 -406h-246l678 1462h1071v-202h-571v-398h532v-200h-532v-459h571v-203zM522 612h414v641h-123z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5zM952 -270 -q0 -222 -305 -222q-66 0 -121 15v137q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM617 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM440 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM831 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM297 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM690 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5 -q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM322 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM179 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM536 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM1 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM394 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1497" -d="M1374 745q0 -360 -201 -552.5t-579 -192.5h-401v623h-146v200h146v639h446q347 0 541 -188.5t194 -528.5zM1122 737q0 260 -124.5 392.5t-368.5 132.5h-197v-439h307v-200h-307v-422h160q530 0 530 536z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1604" -d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462zM954 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39 -t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM809 1579 -q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM657 1579 -v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM1024 1579 -q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM950 1579 -q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM496 1737 -q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM889 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="multiply" unicode="&#xd7;" -d="M457 723l-326 326l125 127l328 -326l329 326l125 -123l-329 -330l325 -328l-123 -125l-329 326l-324 -326l-125 125z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-213 0 -361 81l-94 -137l-141 94l98 144q-188 196 -188 573q0 362 178.5 556t509.5 194q199 0 354 -82l90 129l142 -92l-99 -140q195 -199 195 -567zM1237 733q0 225 -80 361l-586 -850q97 -60 236 -60q213 0 321.5 138 -t108.5 411zM375 733q0 -231 78 -362l587 850q-92 59 -231 59q-215 0 -324.5 -139t-109.5 -408z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM745 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM600 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM977 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM445 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88z -M838 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM450 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1268" -d="M1169 776q0 -227 -146 -349t-423 -122h-168v-305h-239v1462h239v-243h197q268 0 404 -112t136 -331zM432 504h133q187 0 273 63t86 203q0 127 -78 188.5t-250 61.5h-164v-516z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1364" -d="M1149 1253q0 -74 -38.5 -140.5t-104.5 -117.5q-90 -69 -117 -98t-27 -57q0 -30 22.5 -55.5t79.5 -63.5l95 -64q92 -62 135.5 -109.5t65.5 -103.5t22 -127q0 -165 -107 -251t-311 -86q-190 0 -299 65v199q58 -37 139 -61.5t148 -24.5q192 0 192 151q0 61 -34.5 105 -t-155.5 118q-119 73 -171 135t-52 146q0 63 34 115.5t105 105.5q75 55 107 97.5t32 93.5q0 72 -67 112.5t-178 40.5q-127 0 -194 -54t-67 -159v-1165h-235v1169q0 193 128.5 295.5t367.5 102.5q225 0 355 -84t130 -230z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM587 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM438 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM814 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM748 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115 -h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM282 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM675 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31 -t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM841 1468q0 -102 -65.5 -165.5t-173.5 -63.5t-172 62.5t-64 164.5q0 101 63.5 163.5t172.5 62.5q104 0 171.5 -62t67.5 -162zM708 1466q0 50 -30 78.5t-76 28.5 -q-47 0 -77 -28.5t-30 -78.5q0 -106 107 -106q46 0 76 27.5t30 78.5z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1817" -d="M90 317q0 172 121.5 258.5t370.5 94.5l188 6v76q0 194 -201 194q-141 0 -307 -82l-74 166q88 47 192.5 71.5t203.5 24.5q241 0 340 -155q120 155 346 155q206 0 328 -134.5t122 -362.5v-127h-712q10 -336 301 -336q184 0 356 80v-191q-86 -41 -171.5 -58t-195.5 -17 -q-140 0 -248.5 54.5t-175.5 164.5q-94 -125 -190.5 -172t-241.5 -47q-165 0 -258.5 90t-93.5 247zM334 315q0 -155 166 -155q124 0 196 72.5t72 199.5v96l-135 -6q-155 -6 -227 -54.5t-72 -152.5zM1266 948q-112 0 -177.5 -69.5t-74.5 -208.5h473q0 130 -58.5 204t-162.5 74 -z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16zM782 -270q0 -222 -305 -222q-66 0 -121 15v137 -q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM609 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM458 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM838 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM307 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM700 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM259 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM156 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM511 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM-25 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM368 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1243" -d="M1149 567q0 -279 -137.5 -433t-388.5 -154q-235 0 -378 136t-143 365q0 231 131 365.5t351 134.5q214 0 301 -111l8 4q-62 189 -227 345l-250 -150l-88 133l204 119q-86 59 -167 102l84 146q140 -63 258 -144l231 138l88 -129l-188 -113q152 -140 231.5 -330t79.5 -424z -M909 522q0 127 -75.5 202t-206.5 75q-151 0 -218 -82t-67 -240q0 -153 74 -234t211 -81q148 0 215 91t67 269z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721zM809 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5 -t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM621 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273 -q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM473 1241v25q57 70 117.5 156t95.5 147h273v-21 -q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM850 1241q-123 73 -228 180q-103 -103 -225 -180 -h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM775 1241q-42 0 -82.5 17.5t-79.5 39t-76 39 -t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM311 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31 -t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM704 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="divide" unicode="&#xf7;" -d="M96 633v178h977v-178h-977zM457 373q0 64 31.5 99.5t95.5 35.5q61 0 93 -36t32 -99t-34 -100t-91 -37q-60 0 -93.5 35.5t-33.5 101.5zM457 1071q0 64 31.5 99.5t95.5 35.5q61 0 93 -36t32 -99t-34 -100t-91 -37q-60 0 -93.5 35.5t-33.5 101.5z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-144 0 -250 57l-76 -109l-135 90l82 117q-142 155 -142 420q0 269 138 420t389 151q144 0 258 -63l69 100l136 -92l-78 -108q135 -152 135 -408zM344 555q0 -135 37 -219l391 559q-60 39 -147 39q-148 0 -214.5 -98t-66.5 -281z -M907 555q0 121 -33 203l-387 -553q54 -33 140 -33q280 0 280 383z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM617 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z -" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM501 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z -" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM871 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260 -q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM332 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32 -q-48 0 -81.5 29t-33.5 88zM725 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM401 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1276" -d="M403 961q61 86 142.5 125.5t187.5 39.5q206 0 322 -151t116 -420q0 -272 -116.5 -423.5t-321.5 -151.5q-219 0 -330 149h-14l8 -72l6 -92v-457h-235v2048h235v-430l-7 -138l-3 -27h10zM674 934q-142 0 -206.5 -82t-64.5 -260v-37q0 -202 64 -292.5t209 -90.5 -q254 0 254 385q0 190 -61.5 283.5t-194.5 93.5z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM239 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29 -t-33.5 88zM632 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM367 1753h639v-174h-639v174z" /> - <glyph glyph-name="amacron" unicode="&#x101;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM291 1415h639v-174h-639v174z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM669 1579q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140 -q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="abreve" unicode="&#x103;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM599 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM1108 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149 -q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM869 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5zM626 1579v25 -q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16zM450 1241v25q57 70 117.5 156t95.5 147h273v-21 -q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5zM1008 1579 -q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16zM808 1241q-123 73 -228 180q-103 -103 -225 -180 -h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5zM660 1737q0 63 34.5 97 -t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16zM480 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34 -t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5zM1179 1907v-27 -q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16zM992 1569v-27q-126 -131 -177.5 -193t-78.5 -108 -h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1503" -d="M1382 745q0 -362 -201 -553.5t-579 -191.5h-409v1462h452q349 0 543 -188t194 -529zM1130 737q0 525 -491 525h-207v-1061h170q528 0 528 536zM1093 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" horiz-adv-x="1276" -d="M541 -20q-207 0 -323 150t-116 421q0 272 117.5 423.5t325.5 151.5q218 0 332 -161h12q-17 119 -17 188v403h236v-1556h-184l-41 145h-11q-113 -165 -331 -165zM604 170q145 0 211 81.5t68 264.5v33q0 209 -68 297t-213 88q-124 0 -191 -100.5t-67 -286.5 -q0 -184 65 -280.5t195 -96.5zM1200 1253q47 158 65 303h226v-20q-23 -62 -68 -151.5t-88 -155.5h-135v24z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1497" -d="M1374 745q0 -360 -201 -552.5t-579 -192.5h-401v623h-146v200h146v639h446q347 0 541 -188.5t194 -528.5zM1122 737q0 260 -124.5 392.5t-368.5 132.5h-197v-439h307v-200h-307v-422h160q530 0 530 536z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1292" -d="M537 -20q-206 0 -320.5 147.5t-114.5 407.5q0 277 110.5 419t328.5 142q222 0 336 -162h12q-3 10 -10 79t-7 113v93h-383v163h383v174h236v-174h156v-163h-156v-1219h-193l-43 145h-10q-108 -165 -325 -165zM610 170q142 0 207.5 79.5t65.5 252.5v33q0 204 -64.5 286 -t-216.5 82q-125 0 -186.5 -88.5t-61.5 -282.5q0 -362 256 -362z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM295 1753h639v-174h-639v174z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM293 1415h639v-174h-639v174z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM605 1579q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM605 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM488 1708q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM484 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM795 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM793 -208q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM999 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM996 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1487" -d="M791 793h538v-734q-132 -43 -253.5 -61t-262.5 -18q-332 0 -512 196.5t-180 554.5q0 353 203 552.5t559 199.5q229 0 434 -88l-84 -199q-178 82 -356 82q-234 0 -370 -147t-136 -402q0 -268 122.5 -407.5t352.5 -139.5q116 0 248 29v377h-303v205zM1047 1579 -q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1139" -d="M1102 1106v-129l-189 -35q26 -35 43 -86t17 -108q0 -171 -118 -269t-325 -98q-53 0 -96 8q-76 -47 -76 -110q0 -38 35.5 -57t130.5 -19h193q183 0 278 -78t95 -225q0 -188 -155 -290t-448 -102q-226 0 -345 80t-119 228q0 102 64.5 171.5t180.5 96.5q-47 20 -77.5 64.5 -t-30.5 93.5q0 62 35 105t104 85q-86 37 -139.5 120.5t-53.5 195.5q0 180 113.5 279t323.5 99q47 0 98.5 -6.5t77.5 -13.5h383zM233 -172q0 -76 68.5 -117t192.5 -41q192 0 286 55t94 146q0 72 -51.5 102.5t-191.5 30.5h-178q-101 0 -160.5 -47.5t-59.5 -128.5zM334 748 -q0 -104 53.5 -160t153.5 -56q204 0 204 218q0 108 -50.5 166.5t-153.5 58.5q-102 0 -154.5 -58t-52.5 -169zM794 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1487" -d="M791 793h538v-734q-132 -43 -253.5 -61t-262.5 -18q-332 0 -512 196.5t-180 554.5q0 353 203 552.5t559 199.5q229 0 434 -88l-84 -199q-178 82 -356 82q-234 0 -370 -147t-136 -402q0 -268 122.5 -407.5t352.5 -139.5q116 0 248 29v377h-303v205zM829 1579 -q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1139" -d="M1102 1106v-129l-189 -35q26 -35 43 -86t17 -108q0 -171 -118 -269t-325 -98q-53 0 -96 8q-76 -47 -76 -110q0 -38 35.5 -57t130.5 -19h193q183 0 278 -78t95 -225q0 -188 -155 -290t-448 -102q-226 0 -345 80t-119 228q0 102 64.5 171.5t180.5 96.5q-47 20 -77.5 64.5 -t-30.5 93.5q0 62 35 105t104 85q-86 37 -139.5 120.5t-53.5 195.5q0 180 113.5 279t323.5 99q47 0 98.5 -6.5t77.5 -13.5h383zM233 -172q0 -76 68.5 -117t192.5 -41q192 0 286 55t94 146q0 72 -51.5 102.5t-191.5 30.5h-178q-101 0 -160.5 -47.5t-59.5 -128.5zM334 748 -q0 -104 53.5 -160t153.5 -56q204 0 204 218q0 108 -50.5 166.5t-153.5 58.5q-102 0 -154.5 -58t-52.5 -169zM566 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1487" -d="M791 793h538v-734q-132 -43 -253.5 -61t-262.5 -18q-332 0 -512 196.5t-180 554.5q0 353 203 552.5t559 199.5q229 0 434 -88l-84 -199q-178 82 -356 82q-234 0 -370 -147t-136 -402q0 -268 122.5 -407.5t352.5 -139.5q116 0 248 29v377h-303v205zM713 1737q0 63 34.5 97 -t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1139" -d="M1102 1106v-129l-189 -35q26 -35 43 -86t17 -108q0 -171 -118 -269t-325 -98q-53 0 -96 8q-76 -47 -76 -110q0 -38 35.5 -57t130.5 -19h193q183 0 278 -78t95 -225q0 -188 -155 -290t-448 -102q-226 0 -345 80t-119 228q0 102 64.5 171.5t180.5 96.5q-47 20 -77.5 64.5 -t-30.5 93.5q0 62 35 105t104 85q-86 37 -139.5 120.5t-53.5 195.5q0 180 113.5 279t323.5 99q47 0 98.5 -6.5t77.5 -13.5h383zM233 -172q0 -76 68.5 -117t192.5 -41q192 0 286 55t94 146q0 72 -51.5 102.5t-191.5 30.5h-178q-101 0 -160.5 -47.5t-59.5 -128.5zM334 748 -q0 -104 53.5 -160t153.5 -56q204 0 204 218q0 108 -50.5 166.5t-153.5 58.5q-102 0 -154.5 -58t-52.5 -169zM428 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1487" -d="M791 793h538v-734q-132 -43 -253.5 -61t-262.5 -18q-332 0 -512 196.5t-180 554.5q0 353 203 552.5t559 199.5q229 0 434 -88l-84 -199q-178 82 -356 82q-234 0 -370 -147t-136 -402q0 -268 122.5 -407.5t352.5 -139.5q116 0 248 29v377h-303v205zM645 -428 -q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1139" -d="M1102 1106v-129l-189 -35q26 -35 43 -86t17 -108q0 -171 -118 -269t-325 -98q-53 0 -96 8q-76 -47 -76 -110q0 -38 35.5 -57t130.5 -19h193q183 0 278 -78t95 -225q0 -188 -155 -290t-448 -102q-226 0 -345 80t-119 228q0 102 64.5 171.5t180.5 96.5q-47 20 -77.5 64.5 -t-30.5 93.5q0 62 35 105t104 85q-86 37 -139.5 120.5t-53.5 195.5q0 180 113.5 279t323.5 99q47 0 98.5 -6.5t77.5 -13.5h383zM233 -172q0 -76 68.5 -117t192.5 -41q192 0 286 55t94 146q0 72 -51.5 102.5t-191.5 30.5h-178q-101 0 -160.5 -47.5t-59.5 -128.5zM334 748 -q0 -104 53.5 -160t153.5 -56q204 0 204 218q0 108 -50.5 166.5t-153.5 58.5q-102 0 -154.5 -58t-52.5 -169zM735 1542q-19 -53 -41.5 -141.5t-31.5 -159.5h-226v19q28 77 74.5 163.5t89.5 145.5h135v-27z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1538" -d="M1346 0h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1462zM992 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-148 0 -217.5 -88.5t-69.5 -296.5v-549h-235v1556h235v-395q0 -95 -12 -203h15q48 80 133.5 124t199.5 44q402 0 402 -405v-721zM879 1634q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260 -q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1538" -d="M1346 1241h192v-170h-192v-1071h-240v659h-674v-659h-239v1071h-193v170h193v221h239v-221h674v221h240v-221zM1106 864v207h-674v-207h674z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1300" -d="M1141 0h-236v631q0 127 -51.5 190.5t-163.5 63.5q-148 0 -217.5 -88.5t-69.5 -296.5v-500h-235v1219h-156v163h156v174h235v-174h381v-163h-381v-107q0 -29 -2 -69.5t-10 -133.5h15q54 87 141.5 127.5t193.5 40.5q400 0 400 -405v-672z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM462 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM435 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM-5 1753h639v-174h-639v174z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM-32 1415h639v-174h-639v174z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM308 1579q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM279 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM252 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5zM224 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149 -q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM179 1737q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1237" -d="M193 0v1462h239v-1462h-239zM633 -408q-98 0 -164 25v201q84 -21 146 -21q196 0 196 248v1417h240v-1409q0 -224 -106.5 -342.5t-311.5 -118.5z" /> - <glyph glyph-name="ij" unicode="&#x133;" horiz-adv-x="1122" -d="M403 0h-235v1106h235v-1106zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5zM606 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88zM705 1399 -q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="612" -d="M8 -408q-98 0 -164 25v201q84 -21 146 -21q196 0 196 248v1417h240v-1409q0 -224 -106.5 -342.5t-311.5 -118.5zM536 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="571" -d="M55 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88zM507 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1309" -d="M1309 0h-277l-459 662l-141 -115v-547h-239v1462h239v-698q98 120 195 231l395 467h272q-383 -450 -549 -641zM503 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="1171" -d="M395 584l133 166l334 356h271l-445 -475l473 -631h-276l-355 485l-129 -106v-379h-233v1556h233v-759l-12 -213h6zM438 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="1165" -d="M399 557l467 549h267l-428 -498l454 -608h-274l-336 465l-139 -103v-362h-242v1106h242v-289q0 -128 -11 -260z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="1110" -d="M193 0v1462h239v-1257h619v-205h-858zM252 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="571" -d="M403 0h-235v1556h235v-1556zM170 1636v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="1110" -d="M193 0v1462h239v-1257h619v-205h-858zM419 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="571" -d="M403 0h-235v1556h235v-1556zM93 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="1110" -d="M193 0v1462h239v-1257h619v-205h-858zM699 1160q47 158 65 303h226v-20q-23 -62 -68 -151.5t-88 -155.5h-135v24z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="571" -d="M403 0h-235v1556h235v-1556zM496 1253q47 158 65 303h226v-20q-23 -62 -68 -151.5t-88 -155.5h-135v24z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="1110" -d="M193 0v1462h239v-1257h619v-205h-858zM691 738q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="760" -d="M403 0h-235v1556h235v-1556zM535 687q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1114" -d="M193 0v500l-89 -51l-90 155l179 107v751h239v-608l219 131l92 -158l-311 -184v-438h619v-205h-858z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="604" -d="M416 897l102 68l94 -154l-196 -127v-684h-236v537l-92 -58l-90 154l182 117v806h236v-659z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1604" -d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462zM653 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721zM507 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1604" -d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462zM583 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721zM458 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1604" -d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462zM1198 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1300" -d="M1141 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721zM1050 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159 -z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1495" -d="M1334 0h-236v680q0 128 -51.5 191t-163.5 63q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-721zM334 1462l15 -22q-53 -209 -176 -479h-170q69 289 100 501h231z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1604" -d="M991 -408q-104 0 -174 25v203q74 -21 160 -21q106 0 162 53t61 150l-801 1163h-8l5 -62q14 -193 14 -358v-745h-217v1462h290l717 -1046h6q-14 123 -14 553v493h219v-1456q0 -201 -109 -307.5t-311 -106.5z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1300" -d="M817 -492q-98 0 -164 25v186q58 -18 121 -18q131 0 131 170v821q0 122 -52.5 182t-162.5 60q-149 0 -218 -88t-69 -295v-551h-235v1106h184l33 -145h14q49 79 138.5 122t203.5 43q203 0 301.5 -101t98.5 -304v-866q0 -169 -83 -258t-241 -89z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM488 1753 -h639v-174h-639v174z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM305 1415h639v-174h-639v174z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM801 1579 -q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM618 1241q-157 0 -247.5 79.5t-98.5 223.5h137 -q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM492 1579 -v25q104 144 186 303h244v-21q-29 -49 -126 -148t-175 -159h-129zM868 1579v25q43 57 99.5 147.5t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM299 1241v25q104 144 186 303h244v-21 -q-29 -49 -126 -148t-175 -159h-129zM675 1241v25q43 57 99.5 147.5t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1942" -d="M1819 0h-820q-102 -20 -211 -20q-320 0 -493.5 196.5t-173.5 558.5q0 360 172 555t491 195q115 0 209 -23h826v-202h-576v-398h539v-200h-539v-459h576v-203zM793 1280q-208 0 -315 -139t-107 -408t106 -409t314 -140q129 0 213 35v1024q-80 37 -211 37z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1966" -d="M1438 -20q-281 0 -420 194q-132 -194 -400 -194q-236 0 -376 155t-140 420q0 272 137 421.5t382 149.5q121 0 223 -49t168 -145q131 194 379 194q221 0 349 -133.5t128 -365.5v-127h-738q11 -164 85.5 -249t228.5 -85q102 0 187 18.5t181 61.5v-191q-84 -40 -171.5 -57.5 -t-202.5 -17.5zM344 555q0 -189 65.5 -286t211.5 -97q141 0 206.5 95.5t65.5 283.5q0 192 -66 287.5t-211 95.5q-143 0 -207.5 -95t-64.5 -284zM1393 948q-110 0 -177.5 -69.5t-78.5 -208.5h497q0 134 -63 206t-178 72z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1309" -d="M432 782h166q167 0 242 62t75 184q0 124 -81 178t-244 54h-158v-478zM432 584v-584h-239v1462h413q283 0 419 -106t136 -320q0 -273 -284 -389l413 -647h-272l-350 584h-236zM495 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z -" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="883" -d="M729 1126q71 0 117 -10l-23 -219q-50 12 -104 12q-141 0 -228.5 -92t-87.5 -239v-578h-235v1106h184l31 -195h12q55 99 143.5 157t190.5 58zM349 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1309" -d="M432 782h166q167 0 242 62t75 184q0 124 -81 178t-244 54h-158v-478zM432 584v-584h-239v1462h413q283 0 419 -106t136 -320q0 -273 -284 -389l413 -647h-272l-350 584h-236zM510 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="883" -d="M729 1126q71 0 117 -10l-23 -219q-50 12 -104 12q-141 0 -228.5 -92t-87.5 -239v-578h-235v1106h184l31 -195h12q55 99 143.5 157t190.5 58zM97 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1309" -d="M432 782h166q167 0 242 62t75 184q0 124 -81 178t-244 54h-158v-478zM432 584v-584h-239v1462h413q283 0 419 -106t136 -320q0 -273 -284 -389l413 -647h-272l-350 584h-236zM1036 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158 -q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="883" -d="M729 1126q71 0 117 -10l-23 -219q-50 12 -104 12q-141 0 -228.5 -92t-87.5 -239v-578h-235v1106h184l31 -195h12q55 99 143.5 157t190.5 58zM877 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172zM440 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5zM357 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172zM816 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5zM739 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172zM750 -270q0 -222 -305 -222q-66 0 -121 15v137q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5zM682 -270q0 -222 -305 -222q-66 0 -121 15v137q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172zM973 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5zM904 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1159" -d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257zM782 -270q0 -222 -305 -222q-66 0 -121 15v137q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="805" -d="M580 170q86 0 172 27v-177q-39 -17 -100.5 -28.5t-127.5 -11.5q-334 0 -334 352v596h-151v104l162 86l80 234h145v-246h315v-178h-315v-592q0 -85 42.5 -125.5t111.5 -40.5zM672 -270q0 -222 -305 -222q-66 0 -121 15v137q54 -14 123 -14q54 0 85.5 16.5t31.5 61.5 -q0 85 -179 110l84 166h152l-41 -88q80 -21 125 -68.5t45 -113.5z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1159" -d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257zM967 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="805" -d="M580 170q86 0 172 27v-177q-39 -17 -100.5 -28.5t-127.5 -11.5q-334 0 -334 352v596h-151v104l162 86l80 234h145v-246h315v-178h-315v-592q0 -85 42.5 -125.5t111.5 -40.5zM555 1263q47 158 65 303h226v-20q-23 -62 -68 -151.5t-88 -155.5h-135v24z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1159" -d="M698 0h-239v635h-281v196h281v426h-430v205h1099v-205h-430v-426h279v-196h-279v-635z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="805" -d="M582 170q77 0 170 27v-177q-38 -17 -100.5 -28.5t-127.5 -11.5q-171 0 -252.5 89t-81.5 269v201h-135v163h135v226h-151v104l162 86l80 234h145v-246h315v-178h-315v-226h289v-163h-289v-195q0 -174 156 -174z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM909 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73 -q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM794 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212 -t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM441 1753h639v-174h-639v174z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM326 1415h639v-174h-639v174z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM751 1579q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140 -q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM639 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12 -q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM997 1806q0 -102 -65.5 -165.5t-173.5 -63.5t-172 62.5t-64 164.5q0 101 63.5 163.5t172.5 62.5q104 0 171.5 -62 -t67.5 -162zM864 1804q0 50 -30 78.5t-76 28.5q-47 0 -77 -28.5t-30 -78.5q0 -106 107 -106q46 0 76 27.5t30 78.5z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM882 1468q0 -102 -65.5 -165.5t-173.5 -63.5t-172 62.5t-64 164.5q0 101 63.5 163.5t172.5 62.5 -q104 0 171.5 -62t67.5 -162zM749 1466q0 50 -30 78.5t-76 28.5q-47 0 -77 -28.5t-30 -78.5q0 -106 107 -106q46 0 76 27.5t30 78.5z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM447 1579v25q104 144 186 303h244v-21q-29 -49 -126 -148t-175 -159h-129zM823 1579v25q43 57 99.5 147.5 -t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM338 1241v25q104 144 186 303h244v-21q-29 -49 -126 -148t-175 -159h-129zM714 1241v25 -q43 57 99.5 147.5t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM762 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149 -q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM957 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5 -q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1937" -d="M1542 0h-260l-248 872q-16 57 -40 164.5t-29 149.5q-10 -64 -32.5 -166t-37.5 -152l-242 -868h-260l-189 732l-192 730h244l209 -852q49 -205 70 -362q11 85 33 190t40 170l238 854h237l244 -858q35 -119 74 -356q15 143 72 364l208 850h242zM1192 1579q-123 73 -228 180 -q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1673" -d="M1075 0l-143 516q-26 82 -94 381h-9q-58 -270 -92 -383l-147 -514h-260l-310 1106h240l141 -545q48 -202 68 -346h6q10 73 30.5 167.5t35.5 141.5l168 582h258l163 -582q15 -49 37.5 -150t26.5 -157h8q15 123 70 344l143 545h236l-312 -1106h-264zM1061 1241 -q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM833 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM780 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25 -h-159z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM293 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM686 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5 -q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1178" -d="M1112 0h-1046v166l737 1091h-717v205h1006v-168l-740 -1089h760v-205zM434 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="979" -d="M907 0h-839v145l559 781h-525v180h789v-164l-547 -762h563v-180zM361 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1178" -d="M1112 0h-1046v166l737 1091h-717v205h1006v-168l-740 -1089h760v-205zM455 1737q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="979" -d="M907 0h-839v145l559 781h-525v180h789v-164l-547 -762h563v-180zM357 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1178" -d="M1112 0h-1046v166l737 1091h-717v205h1006v-168l-740 -1089h760v-205zM980 1907v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="979" -d="M907 0h-839v145l559 781h-525v180h789v-164l-547 -762h563v-180zM885 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="719" -d="M559 1376q-156 0 -156 -192v-1184h-235v1190q0 190 90.5 283.5t284.5 93.5q131 0 237 -43l-57 -178q-93 30 -164 30z" /> - <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="1176" -d="M354 -492q-87 0 -159 21v190q62 -18 124 -18q80 0 115 45t35 148v925h-195v113l195 69v111q0 191 83 281t273 90q78 0 135 -15t99 -30l-58 -176q-87 30 -153 30q-78 0 -110.5 -43.5t-32.5 -140.5v-109h253v-180h-251v-946q0 -365 -353 -365z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1642" -d="M1489 733q0 -357 -178 -555t-504 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q335 0 514 -209q59 23 87 90t28 190h241l15 -22q-32 -167 -100.5 -260.5t-182.5 -136.5q78 -174 78 -404zM375 733q0 -273 109.5 -411t322.5 -138q430 0 430 549 -q0 547 -428 547q-215 0 -324.5 -137.5t-109.5 -409.5z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1319" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q109 0 204 -35.5t164 -103.5q71 21 106.5 86.5t35.5 200.5h241l15 -23q-37 -179 -109.5 -268.5t-198.5 -126.5q62 -135 62 -301zM344 555q0 -189 67 -286t216 -97 -q147 0 213.5 97t66.5 286q0 187 -67 283t-215 96t-214.5 -96t-66.5 -283z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1692" -d="M1339 1462v-194q78 18 115 87.5t37 200.5h240l14 -22q-27 -142 -75.5 -221t-130 -129t-200.5 -68v-600q0 -251 -152 -393.5t-427 -142.5q-276 0 -428 144t-152 396v942h240v-938q0 -340 346 -340q334 0 334 342v936h239z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1458" -d="M948 0l-33 145h-14q-49 -77 -137.5 -121t-204.5 -44q-202 0 -301.5 100t-99.5 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-119q79 18 116 88.5t37 200.5h240l14 -23q-28 -145 -77 -225.5t-130.5 -130t-199.5 -63.5v-834h-185z -" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="571" -d="M55 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88zM670 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1356" -d="M915 1446q0 -106 -75 -168l516 -1278h-252l-141 365h-574l-137 -365h-252l516 1276q-76 58 -76 168q0 102 64.5 163.5t171.5 61.5q103 0 171 -60.5t68 -162.5zM903 571l-117 308q-81 198 -108 305q-12 -38 -25.5 -78t-197.5 -535h448zM567 1722v19q30 29 86 98.5 -t88 122.5h273v-14q-31 -39 -126.5 -111.5t-162.5 -114.5h-158zM782 1444q0 51 -30 78.5t-76 27.5q-47 0 -77 -27.5t-30 -78.5q0 -50 25.5 -78.5t75.5 -28.5h10q45 0 73.5 28.5t28.5 78.5z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-67 -87 -159 -130.5t-210 -43.5q-160 0 -253 88t-93 249q0 169 128.5 257t385.5 96l191 6v59q0 105 -51 158t-152 53q-71 0 -149 -21t-164 -63l-76 168q96 48 195.5 72t203.5 24q213 0 319.5 -95.5t106.5 -285.5v-745h-168zM510 160q127 0 205 71.5 -t78 200.5v96l-142 -6q-159 -7 -238 -59t-79 -148q0 -78 44 -116.5t132 -38.5zM471 1753v16q98 91 174 193h301v-12q-59 -64 -313 -197h-162zM602 1219q-104 0 -169.5 60t-65.5 167q0 104 65.5 164.5t169.5 60.5q100 0 170 -59.5t70 -163.5q0 -109 -68.5 -169t-171.5 -60z -M602 1552q-53 0 -79.5 -26.5t-26.5 -79.5q0 -54 26.5 -80.5t79.5 -26.5t80 26.5t27 80.5q0 53 -27 79.5t-80 26.5z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1868" -d="M1747 0h-811v406h-504l-188 -406h-246l678 1462h1071v-202h-571v-398h532v-200h-532v-459h571v-203zM522 612h414v641h-123zM991 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1817" -d="M90 317q0 172 121.5 258.5t370.5 94.5l188 6v76q0 194 -201 194q-141 0 -307 -82l-74 166q88 47 192.5 71.5t203.5 24.5q241 0 340 -155q120 155 346 155q206 0 328 -134.5t122 -362.5v-127h-712q10 -336 301 -336q184 0 356 80v-191q-86 -41 -171.5 -58t-195.5 -17 -q-140 0 -248.5 54.5t-175.5 164.5q-94 -125 -190.5 -172t-241.5 -47q-165 0 -258.5 90t-93.5 247zM334 315q0 -155 166 -155q124 0 196 72.5t72 199.5v96l-135 -6q-155 -6 -227 -54.5t-72 -152.5zM1266 948q-112 0 -177.5 -69.5t-74.5 -208.5h473q0 130 -58.5 204t-162.5 74 -zM788 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-213 0 -361 81l-94 -137l-141 94l98 144q-188 196 -188 573q0 362 178.5 556t509.5 194q199 0 354 -82l90 129l142 -92l-99 -140q195 -199 195 -567zM1237 733q0 225 -80 361l-586 -850q97 -60 236 -60q213 0 321.5 138 -t108.5 411zM375 733q0 -231 78 -362l587 850q-92 59 -231 59q-215 0 -324.5 -139t-109.5 -408zM655 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-144 0 -250 57l-76 -109l-135 90l82 117q-142 155 -142 420q0 269 138 420t389 151q144 0 258 -63l69 100l136 -92l-78 -108q135 -152 135 -408zM344 555q0 -135 37 -219l391 559q-60 39 -147 39q-148 0 -214.5 -98t-66.5 -281z -M907 555q0 121 -33 203l-387 -553q54 -33 140 -33q280 0 280 383zM466 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172zM358 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5zM296 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1159" -d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257zM391 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="805" -d="M580 170q86 0 172 27v-177q-39 -17 -100.5 -28.5t-127.5 -11.5q-334 0 -334 352v596h-151v104l162 86l80 234h145v-246h315v-178h-315v-592q0 -85 42.5 -125.5t111.5 -40.5zM271 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="571" -d="M55 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="393" -d="M347 1462l15 -22q-53 -209 -176 -479h-170q69 289 100 501h231z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1227" -d="M838 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1227" -d="M997 1569v-27q-126 -131 -177.5 -193t-78.5 -108h-260q-65 105 -254 301v27h158q138 -90 225 -183q97 100 228 183h159z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1223" -d="M291 1415h639v-174h-639v174z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1227" -d="M606 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="571" -d="M154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M827 1468q0 -102 -65.5 -165.5t-173.5 -63.5t-172 62.5t-64 164.5q0 101 63.5 163.5t172.5 62.5q104 0 171.5 -62t67.5 -162zM694 1466q0 50 -30 78.5t-76 28.5q-47 0 -77 -28.5t-30 -78.5q0 -106 107 -106q46 0 76 27.5t30 78.5z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="412" -d="M199 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1227" -d="M776 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1192" -d="M193 1241v25q104 144 186 303h244v-21q-29 -49 -126 -148t-175 -159h-129zM569 1241v25q43 57 99.5 147.5t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M578 -350q0 -104 -67.5 -166t-174.5 -62q-106 0 -170 61t-64 165t64 165.5t170 61.5q108 0 175 -63.5t67 -161.5zM442 -352q0 51 -30 78.5t-76 27.5q-47 0 -77 -27.5t-30 -78.5q0 -50 27 -78.5t80 -28.5q48 0 77 28.5t29 78.5z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-644 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-786 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-487 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-375 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-434 1241q-68 54 -164.5 155t-126.5 152v21h244q28 -61 77.5 -148t98.5 -155v-25h-129zM-811 1241q-68 54 -164.5 155t-126.5 152v21h244q28 -61 77.5 -148t98.5 -155v-25h-129z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-758 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1182" -d="M489 1270q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1182" -d="M500 1413q23 73 46.5 163.5t31.5 139.5h225v-20q-28 -61 -80.5 -144t-114.5 -163h-108v24zM233 1399q0 62 31 89.5t80 27.5q51 0 81 -30t30 -87q0 -59 -32 -88t-79 -29q-49 0 -80 29t-31 88zM725 1399q0 117 111 117q46 0 78 -28t32 -89q0 -59 -32 -88t-78 -29 -q-50 0 -80.5 29t-30.5 88z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM-14 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="563" -d="M133 721q0 75 37.5 114t110.5 39t111 -40t38 -113q0 -72 -39 -112t-110 -40t-109.5 39t-38.5 113z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1278" -d="M1153 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM-71 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1686" -d="M1491 0h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1462zM-71 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="784" -d="M351 0v1462h239v-1462h-239zM-63 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1688" -d="M1565 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM449 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM-42 1165 -q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1489" -d="M882 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM-81 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1636" -d="M879 1280q-212 0 -322 -119.5t-110 -345.5q0 -209 73.5 -356.5t235.5 -253.5v-205h-612v205h366q-152 107 -232.5 275t-80.5 368q0 292 182 464.5t500 172.5t500 -171t182 -466q0 -203 -82 -370t-234 -273h369v-205h-614v205q158 100 234.5 248.5t76.5 361.5 -q0 227 -110.5 346t-321.5 119zM-42 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="764" -d="M399 1106v-770q0 -166 146 -166q89 0 180 27v-177q-37 -17 -98 -28.5t-127 -11.5q-173 0 -254.5 88t-81.5 266v772h235zM227 1413q23 73 46.5 163.5t31.5 139.5h225v-20q-28 -61 -80.5 -144t-114.5 -163h-108v24zM-40 1399q0 62 31 89.5t80 27.5q51 0 81 -30t30 -87 -q0 -59 -32 -88t-79 -29q-49 0 -80 29t-31 88zM452 1399q0 117 111 117q46 0 78 -28t32 -89q0 -59 -32 -88t-78 -29q-50 0 -80.5 29t-30.5 88z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1352" -d="M193 1462h434q302 0 436.5 -88t134.5 -278q0 -128 -66 -213t-190 -107v-10q154 -29 226.5 -114.5t72.5 -231.5q0 -197 -137.5 -308.5t-382.5 -111.5h-528v1462zM432 858h230q150 0 219 47.5t69 161.5q0 103 -74.5 149t-236.5 46h-207v-404zM432 664v-463h254 -q150 0 226.5 57.5t76.5 181.5q0 114 -78 169t-237 55h-242z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="1106" -d="M1061 1462v-205h-629v-1257h-239v1462h868z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1260" -d="M47 141l453 1323h258l452 -1325v-139h-1163v141zM629 1241q-43 -173 -76 -268l-256 -768h661l-253 764q-23 64 -46 148t-30 124z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1178" -d="M1112 0h-1046v166l737 1091h-717v205h1006v-168l-740 -1089h760v-205z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1538" -d="M1346 0h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1462z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1612" -d="M1094 844v-201h-576v201h576zM1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM371 733q0 -269 110 -409t326 -140q215 0 324.5 137.5t109.5 411.5q0 271 -109.5 409t-322.5 138 -q-217 0 -327.5 -139.5t-110.5 -407.5z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1309" -d="M1309 0h-277l-459 662l-141 -115v-547h-239v1462h239v-698q98 120 195 231l395 467h272q-383 -450 -549 -641z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1282" -d="M639 1235q-9 -44 -26 -111.5t-32.5 -120.5t-332.5 -1003h-248l512 1462h256l514 -1462h-248l-301 903q-65 194 -94 332z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1890" -d="M825 0l-424 1221h-8q17 -272 17 -510v-711h-217v1462h337l406 -1163h6l418 1163h338v-1462h-230v723q0 109 5.5 284t9.5 212h-8l-439 -1219h-211z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1604" -d="M1411 0h-293l-719 1165h-8l5 -65q14 -186 14 -340v-760h-217v1462h290l717 -1159h6q-2 23 -8 167.5t-6 225.5v766h219v-1462z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1151" -d="M199 862h751v-200h-751v200zM117 1462h915v-202h-915v202zM1073 203v-203h-997v203h997z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1509" -d="M1317 0h-240v1257h-645v-1257h-239v1462h1124v-1462z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1260" -d="M1161 1020q0 -229 -150 -351t-427 -122h-152v-547h-239v1462h421q274 0 410.5 -112t136.5 -330zM432 748h127q184 0 270 64t86 200q0 126 -77 188t-240 62h-166v-514z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1188" -d="M76 0v193l475 571l-463 508v190h983v-205h-504l-215 7l457 -498l-479 -569l313 6h487v-203h-1054z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1159" -d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1698" -d="M961 395h20q180 0 281.5 96.5t101.5 268.5q0 160 -94.5 254t-259.5 94h-49v-713zM735 -20v225h-33q-179 0 -314.5 65.5t-212.5 196.5t-77 291q0 155 70 279.5t201 195t307 70.5h59v180h226v-180h61q177 0 307.5 -70t199 -193.5t68.5 -281.5q0 -163 -77 -293t-211.5 -195 -t-315.5 -65h-32v-225h-226zM735 1108h-49q-166 0 -260 -94.5t-94 -253.5q0 -170 101 -267.5t284 -97.5h18v713z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1274" -d="M1270 0h-275l-366 598l-369 -598h-256l485 758l-454 704h266l338 -553l338 553h258l-457 -708z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1712" -d="M1604 981q0 -263 -150.5 -402t-437.5 -139h-49v-440h-224v440h-49q-283 0 -434 136.5t-151 402.5v483h231v-479q0 -176 91.5 -260t283.5 -84h28v823h224v-823h30q182 0 277.5 85.5t95.5 254.5v483h234v-481z" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1606" -d="M803 1280q-212 0 -322 -119.5t-110 -345.5q0 -209 73.5 -356.5t235.5 -253.5v-205h-612v205h366q-152 107 -232.5 275t-80.5 368q0 292 182 464.5t500 172.5t500 -171t182 -466q0 -203 -82 -370t-234 -273h369v-205h-614v205q158 100 234.5 248.5t76.5 361.5 -q0 227 -110.5 346t-321.5 119z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM1 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM394 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM293 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM686 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5 -q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1288" -d="M606 170q146 0 209.5 84.5t65.5 284.5v12q0 206 -67 294.5t-210 88.5q-260 0 -260 -387q0 -189 63 -283t199 -94zM549 -20q-210 0 -328.5 150t-118.5 419q0 277 122.5 427t342.5 150q120 0 198.5 -42.5t131.5 -125.5h12q27 97 68 148h190q-27 -82 -44 -210.5t-17 -229.5 -v-375q0 -57 22 -87t62 -30q31 0 61 10v-178q-16 -10 -55.5 -18t-69.5 -8q-95 0 -147 39t-78 128h-16q-115 -167 -336 -167zM528 1270q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="1055" -d="M776 664v-177h-158q-156 0 -228.5 -41.5t-72.5 -123.5q0 -156 281 -156q193 0 381 86v-197q-152 -75 -397 -75q-242 0 -370 84.5t-128 238.5q0 105 61.5 170.5t194.5 97.5v11q-209 54 -209 254q0 136 121.5 213t329.5 77q220 0 399 -79l-78 -179q-111 48 -179.5 62 -t-139.5 14q-236 0 -236 -133q0 -76 72.5 -111.5t224.5 -35.5h131zM480 1270q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1300" -d="M1141 -492h-236v1172q0 132 -54 193t-167 61q-147 0 -214 -90.5t-67 -292.5v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-1213zM577 1270q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="764" -d="M399 1106v-770q0 -166 146 -166q89 0 180 27v-177q-37 -17 -98 -28.5t-127 -11.5q-173 0 -254.5 88t-81.5 266v772h235zM209 1270q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1284" -d="M641 -20q-243 0 -365 127t-122 395v604h235v-604q0 -163 63 -247.5t201 -84.5q148 0 216.5 106.5t68.5 333.5q0 109 -14 218.5t-54 277.5h238q39 -152 52.5 -267.5t13.5 -236.5q0 -313 -131.5 -467.5t-401.5 -154.5zM563 1413q23 73 46.5 163.5t31.5 139.5h225v-20 -q-28 -61 -80.5 -144t-114.5 -163h-108v24zM296 1399q0 62 31 89.5t80 27.5q51 0 81 -30t30 -87q0 -59 -32 -88t-79 -29q-49 0 -80 29t-31 88zM788 1399q0 117 111 117q46 0 78 -28t32 -89q0 -59 -32 -88t-78 -29q-50 0 -80.5 29t-30.5 88z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1288" -d="M606 170q146 0 209.5 84.5t65.5 284.5v12q0 206 -67 294.5t-210 88.5q-260 0 -260 -387q0 -189 63 -283t199 -94zM549 -20q-210 0 -328.5 150t-118.5 419q0 277 122.5 427t342.5 150q120 0 198.5 -42.5t131.5 -125.5h12q27 97 68 148h190q-27 -82 -44 -210.5t-17 -229.5 -v-375q0 -57 22 -87t62 -30q31 0 61 10v-178q-16 -10 -55.5 -18t-69.5 -8q-95 0 -147 39t-78 128h-16q-115 -167 -336 -167z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1319" -d="M676 1567q226 0 356.5 -104t130.5 -289q0 -293 -303 -345v-6q375 -44 375 -401q0 -212 -132 -327t-364 -115q-204 0 -336 65v-537h-235v1588q0 225 133.5 348t374.5 123zM672 1378q-269 0 -269 -301v-829q138 -78 293 -78q299 0 299 270q0 132 -80.5 203.5t-232.5 71.5 -h-92v190h72q128 0 196 64.5t68 183.5q0 109 -67.5 167t-186.5 58z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="1106" -d="M592 -492h-252q0 86 28 229t74 275l-436 1094h244l203 -539q28 -74 62 -186.5t44 -169.5h6q6 34 23.5 103t38 135.5t229.5 656.5h244l-410 -1083q-42 -109 -70 -255.5t-28 -259.5z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1227" -d="M514 926q-246 144 -246 340q0 137 109 216t297 79q105 0 202 -22.5t238 -88.5l-96 -174q-85 43 -170 72.5t-182 29.5q-79 0 -122.5 -33.5t-43.5 -89.5q0 -58 58 -112t218 -137q199 -108 285 -228.5t86 -281.5q0 -247 -137.5 -381.5t-388.5 -134.5q-236 0 -377.5 123.5 -t-141.5 334.5q0 178 103 302.5t309 185.5zM905 485q0 114 -56 197t-175 145q-163 -42 -245.5 -142t-82.5 -243q0 -121 73.5 -195.5t201.5 -74.5q137 0 210.5 80.5t73.5 232.5z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="1055" -d="M776 664v-177h-158q-156 0 -228.5 -41.5t-72.5 -123.5q0 -156 281 -156q193 0 381 86v-197q-152 -75 -397 -75q-242 0 -370 84.5t-128 238.5q0 105 61.5 170.5t194.5 97.5v11q-209 54 -209 254q0 136 121.5 213t329.5 77q220 0 399 -79l-78 -179q-111 48 -179.5 62 -t-139.5 14q-236 0 -236 -133q0 -76 72.5 -111.5t224.5 -35.5h131z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="1004" -d="M969 -61q0 -145 -133 -328h-236q59 77 97 154t38 126q0 33 -20 51.5t-68 35t-129 30.5q-213 38 -314.5 150t-101.5 305q0 153 58 291t168.5 273.5t365.5 358.5q-44 -12 -266 -12h-266v182h803v-155q-212 -178 -349 -333.5t-203.5 -296.5t-66.5 -296q0 -90 27.5 -144.5 -t86 -87t204.5 -61.5q158 -32 231.5 -90t73.5 -153z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1300" -d="M1141 -492h-236v1172q0 132 -54 193t-167 61q-147 0 -214 -90.5t-67 -292.5v-551h-235v1106h184l33 -145h12q50 79 142 122t204 43q398 0 398 -405v-1213z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1239" -d="M1135 780q0 -405 -128 -602.5t-391 -197.5q-252 0 -383 203t-131 597q0 406 128.5 602.5t385.5 196.5q255 0 387 -203t132 -596zM616 160q142 0 207.5 134t71.5 406h-553q4 -279 70.5 -409.5t203.5 -130.5zM618 1399q-138 0 -201.5 -129.5t-72.5 -384.5h549 -q-9 255 -73.5 384.5t-201.5 129.5z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="764" -d="M399 1106v-770q0 -166 146 -166q89 0 180 27v-177q-37 -17 -98 -28.5t-127 -11.5q-173 0 -254.5 88t-81.5 266v772h235z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="1165" -d="M399 557l467 549h267l-428 -498l454 -608h-274l-336 465l-139 -103v-362h-242v1106h242v-289q0 -128 -11 -260z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="1176" -d="M-4 0l473 1067l-45 127q-37 99 -83.5 138.5t-127.5 39.5q-56 0 -109 -12v192q68 17 150 17q103 0 173.5 -32.5t121 -101.5t104.5 -216l322 -893q29 -78 59 -115t72 -37q18 0 65 10v-178q-26 -12 -67 -19t-76 -7q-90 0 -145 43.5t-92 148.5q-143 398 -176 498t-42 143h-6 -q-35 -135 -96 -278l-231 -535h-244z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1309" -d="M403 422q0 -252 218 -252q146 0 215 88.5t69 296.5v551h236v-1106h-183l-34 147h-13q-48 -83 -119.5 -125t-175.5 -42q-140 0 -219 90h-4q3 -28 6.5 -117t3.5 -125v-320h-235v1598h235v-684z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1163" -d="M2 1106h244l217 -604q32 -83 98 -297h8q149 167 213 376t64 525h235q0 -366 -102 -619.5t-332 -486.5h-231z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="995" -d="M102 428q0 133 75 233t210 148v10q-219 60 -219 268q0 112 71 184t226 115q-192 -12 -258 -12h-45v182h751v-172h-63q-197 0 -324 -79t-127 -207q0 -104 75 -151.5t235 -47.5h168v-170h-172q-171 0 -265 -73.5t-94 -209.5q0 -78 27 -125.5t80.5 -76.5t214.5 -62 -q161 -35 231 -94t70 -149q0 -143 -129 -328h-232q58 78 95.5 155t37.5 128q0 44 -52 69.5t-167 44.5q-420 72 -420 420z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1421" -d="M1225 168q54 0 106 27v-177q-25 -15 -71.5 -26.5t-102.5 -11.5q-262 0 -262 290v650h-408v-920h-235v920h-227v102l159 84h1170v-186h-224v-637q0 -115 95 -115z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1251" -d="M1147 553q0 -273 -125 -423t-350 -150q-167 0 -291 86h-12q12 -120 12 -271v-287h-238v1053q0 270 132.5 417.5t375.5 147.5q228 0 362 -154.5t134 -418.5zM645 934q-134 0 -199 -90t-65 -277v-301q104 -94 262 -94q139 0 200.5 93t61.5 288q0 196 -61 288.5t-199 92.5z -" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="1004" -d="M344 512q0 -100 27 -158.5t90 -94t207 -64.5q162 -37 231.5 -96.5t69.5 -153.5q0 -145 -129 -336h-232q63 90 98 167t35 124q0 45 -48 70.5t-171 49.5q-214 42 -317 163.5t-103 322.5q0 308 137.5 464t405.5 156q177 0 324 -67l-72 -187q-146 58 -260 58 -q-155 0 -224 -106.5t-69 -311.5z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1296" -d="M1155 492q0 -152 -64 -269t-183 -180t-281 -63q-246 0 -385.5 145.5t-139.5 406.5q0 574 613 574h536v-182h-274q178 -183 178 -432zM346 532q0 -174 73.5 -267t211.5 -93q135 0 208.5 86.5t73.5 251.5q0 243 -151 414h-57q-194 0 -276.5 -93t-82.5 -299z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="1034" -d="M555 922v-580q0 -174 168 -174q89 0 182 27v-177q-101 -41 -227 -41q-186 0 -273.5 89t-87.5 266v590h-288v100l161 84h779v-184h-414z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1284" -d="M641 -20q-243 0 -365 127t-122 395v604h235v-604q0 -163 63 -247.5t201 -84.5q148 0 216.5 106.5t68.5 333.5q0 109 -14 218.5t-54 277.5h238q39 -152 52.5 -267.5t13.5 -236.5q0 -313 -131.5 -467.5t-401.5 -154.5z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1546" -d="M645 -492v476q-269 21 -406 167.5t-137 403.5q0 301 220 567l176 -116q-92 -122 -130 -230t-38 -227q0 -337 315 -381v569q0 186 96.5 286.5t262.5 100.5q199 0 318.5 -145.5t119.5 -396.5q0 -174 -70.5 -304t-200.5 -206t-303 -88v-476h-223zM1210 580q0 170 -54.5 267 -t-149.5 97q-138 0 -138 -205v-571q158 15 250 124.5t92 287.5z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1165" -d="M209 1116q71 0 118.5 -23t82.5 -71.5t79 -171.5l111 -295l297 551h244l-441 -766l193 -479q35 -88 73.5 -123t102.5 -35q44 0 94 10v-182q-65 -23 -155 -23q-122 0 -196.5 63t-129.5 222l-127 357l-338 -642h-252l484 861l-154 397q-29 80 -65 118t-87 38q-45 0 -88 -15 -v187q76 22 154 22z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1628" -d="M932 1556v-1386q180 15 267 113.5t87 291.5q0 113 -15 233.5t-57 297.5h226q69 -272 69 -528q0 -273 -145.5 -426.5t-431.5 -169.5v-474h-223v474q-275 9 -415 152.5t-140 418.5v553h227v-559q0 -186 78.5 -277t249.5 -102v1388h223z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1675" -d="M528 -20q-196 0 -306.5 149t-110.5 408q0 157 28 290.5t90 278.5h232q-66 -145 -95.5 -278t-29.5 -287q0 -177 55 -275t156 -98q180 0 180 258v303h221v-303q0 -258 178 -258q102 0 156.5 96t54.5 275q0 156 -30.5 291.5t-94.5 275.5h234q63 -146 90 -282t27 -287 -q0 -258 -110.5 -407.5t-307.5 -149.5q-230 0 -303 196h-11q-73 -196 -303 -196z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="764" -d="M399 1106v-770q0 -166 146 -166q89 0 180 27v-177q-37 -17 -98 -28.5t-127 -11.5q-173 0 -254.5 88t-81.5 266v772h235zM9 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM402 1399q0 62 33.5 89.5t81.5 27.5 -q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1284" -d="M641 -20q-243 0 -365 127t-122 395v604h235v-604q0 -163 63 -247.5t201 -84.5q148 0 216.5 106.5t68.5 333.5q0 109 -14 218.5t-54 277.5h238q39 -152 52.5 -267.5t13.5 -236.5q0 -313 -131.5 -467.5t-401.5 -154.5zM340 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31 -t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM733 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM538 1270q27 82 52 188.5t34 181.5h234v-24 -q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1284" -d="M641 -20q-243 0 -365 127t-122 395v604h235v-604q0 -163 63 -247.5t201 -84.5q148 0 216.5 106.5t68.5 333.5q0 109 -14 218.5t-54 277.5h238q39 -152 52.5 -267.5t13.5 -236.5q0 -313 -131.5 -467.5t-401.5 -154.5zM546 1270q27 82 52 188.5t34 181.5h234v-24 -q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1675" -d="M528 -20q-196 0 -306.5 149t-110.5 408q0 157 28 290.5t90 278.5h232q-66 -145 -95.5 -278t-29.5 -287q0 -177 55 -275t156 -98q180 0 180 258v303h221v-303q0 -258 178 -258q102 0 156.5 96t54.5 275q0 156 -30.5 291.5t-94.5 275.5h234q63 -146 90 -282t27 -287 -q0 -258 -110.5 -407.5t-307.5 -149.5q-230 0 -303 196h-11q-73 -196 -303 -196zM743 1270q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1386" -d="M1208 803q4 -38 4 -98q0 -350 -152 -537.5t-433 -187.5q-416 0 -416 337q0 44 19 208l3 55q0 45 -16 60t-45 15q-49 0 -92 -26l-55 151q114 62 239 62q95 0 141 -51t46 -134q0 -47 -11 -147q-12 -101 -12 -164q0 -89 54.5 -134.5t156.5 -45.5q334 0 334 551v42l-2 42 -q-224 2 -380 57.5t-236.5 155t-80.5 233.5q0 156 102 243t283 87q450 0 539 -594h143v-180h-133zM963 983q-25 189 -106.5 300.5t-192.5 111.5q-76 0 -118 -38t-42 -104q0 -126 122 -197.5t337 -72.5z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1225" -d="M602 784q151 340 207.5 452t93.5 155.5t83.5 63.5t109.5 20t121 -21v-182q-35 8 -64 8q-41 0 -70 -26t-73 -102t-104.5 -194.5t-103.5 -215t-81 -195.5v-547h-240v559l-481 903h260z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1882" -d="M627 -20q-206 0 -312 126.5t-106 368.5q0 210 98 447h-272v100l158 84h1632v-184h-254q90 -234 90 -447q0 -244 -106 -369.5t-312 -125.5q-228 0 -305 196h-8q-77 -196 -303 -196zM528 922q-94 -242 -94 -437q0 -161 49.5 -239t159.5 -78q180 0 180 258v164h221v-164 -q0 -124 45 -191t136 -67q107 0 159 76t52 239q0 217 -88 439h-820z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM603 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM303 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM696 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5 -q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1575" -d="M1053 -20q-103 0 -176 30v203q84 -31 159 -31q87 0 126.5 49t39.5 146v129q0 108 -52 154.5t-171 46.5h-358v-707h-240v1257h-352v205h1032v-205h-440v-346h370q218 0 334.5 -100t116.5 -281v-137q0 -198 -100 -305.5t-289 -107.5z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="1106" -d="M1061 1462v-205h-629v-1257h-239v1462h868zM473 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1348" -d="M838 1278q-200 0 -320.5 -111t-140.5 -315h678v-203h-680q10 -223 126 -344t337 -121q161 0 389 66v-205q-180 -65 -410 -65q-336 0 -516 192t-180 559q0 228 86.5 398.5t250 262t388.5 91.5q231 0 436 -94l-90 -201q-125 55 -200 72.5t-154 17.5z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1126" -d="M1036 397q0 -195 -141 -306t-389 -111t-406 77v226q100 -47 212.5 -74t209.5 -27q142 0 209.5 54t67.5 145q0 82 -62 139t-256 135q-200 81 -282 185t-82 250q0 183 130 288t349 105q210 0 418 -92l-76 -195q-195 82 -348 82q-116 0 -176 -50.5t-60 -133.5 -q0 -57 24 -97.5t79 -76.5t198 -95q161 -67 236 -125t110 -131t35 -172z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM1 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM394 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="612" -d="M8 -408q-98 0 -164 25v201q84 -21 146 -21q196 0 196 248v1417h240v-1409q0 -224 -106.5 -342.5t-311.5 -118.5z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1974" -d="M1890 440q0 -217 -142.5 -328.5t-416.5 -111.5h-366v1257h-328l-29 -223q-50 -376 -84.5 -569.5t-79.5 -293t-116.5 -147t-180.5 -47.5q-73 0 -139 25v199q57 -25 111 -25q72 0 113.5 89.5t92.5 405t111 791.5h768v-594h119q276 0 421.5 -109.5t145.5 -318.5zM1204 201 -h113q163 0 245.5 56.5t82.5 182.5q0 120 -81 174t-274 54h-86v-467z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="2001" -d="M1917 440q0 -217 -141.5 -328.5t-415.5 -111.5h-369v659h-559v-659h-239v1462h239v-598h559v598h242v-594h117q278 0 422.5 -110.5t144.5 -317.5zM1233 201h113q161 0 244 56.5t83 182.5q0 118 -80.5 173t-273.5 55h-86v-467z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1575" -d="M1202 0v508q0 104 -47.5 151.5t-159.5 47.5h-374v-707h-240v1257h-352v205h1065v-205h-473v-346h391q207 0 318.5 -99.5t111.5 -281.5v-530h-240z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1315" -d="M1315 0h-281l-602 741v-741h-239v1462h239v-708l592 708h262l-590 -706zM567 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1622" -d="M193 1462h219v-760q0 -119 -6 -240.5t-9 -164.5h9l747 1165h279v-1462h-220v754q0 173 19 420h-8l-750 -1174h-280v1462zM784 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1305" -d="M1305 1462l-461 -1040q-85 -191 -156 -276.5t-164.5 -125.5t-226.5 -40q-116 0 -215 30v215q98 -39 205 -39q91 0 152.5 44.5t111.5 160.5l-539 1071h258l357 -733q48 -104 59 -139h10q6 26 30 83l329 789h250zM662 1579q-212 0 -310.5 76.5t-109.5 255.5h213 -q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1509" -d="M1317 0h-447v-403h-237v403h-440v1462h239v-1257h645v1257h240v-1462z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1280" -d="M1182 440q0 -440 -564 -440h-425v1462h892v-205h-653v-389h174q576 0 576 -428zM432 201h172q172 0 252 56.5t80 182.5q0 121 -80.5 174.5t-280.5 53.5h-143v-467z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1352" -d="M193 1462h434q302 0 436.5 -88t134.5 -278q0 -128 -66 -213t-190 -107v-10q154 -29 226.5 -114.5t72.5 -231.5q0 -197 -137.5 -308.5t-382.5 -111.5h-528v1462zM432 858h230q150 0 219 47.5t69 161.5q0 103 -74.5 149t-236.5 46h-207v-404zM432 664v-463h254 -q150 0 226.5 57.5t76.5 181.5q0 114 -78 169t-237 55h-242z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="1106" -d="M1061 1462v-205h-629v-1257h-239v1462h868z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1481" -d="M12 205h113q145 265 243 595t126 662h755v-1257h189v-608h-230v403h-966v-403h-230v608zM694 1255q-22 -227 -112 -526.5t-205 -523.5h633v1050h-316z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1829" -d="M559 756l-534 706h256l520 -708v708h227v-708l520 708h256l-534 -706l557 -756h-264l-535 741v-741h-227v741l-535 -741h-266z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1257" -d="M1120 1120q0 -143 -94.5 -234t-261.5 -116v-6q192 -23 292.5 -113.5t100.5 -236.5q0 -204 -159.5 -319t-440.5 -115q-292 0 -467 79v209q97 -46 217.5 -71t220.5 -25q385 0 385 252q0 116 -115.5 177t-342.5 61h-176v192h165q437 0 437 233q0 93 -74.5 147t-208.5 54 -q-106 0 -202 -28t-199 -95l-109 162q225 156 530 156q232 0 367 -99t135 -264z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1622" -d="M193 1462h219v-760q0 -119 -6 -240.5t-9 -164.5h9l747 1165h279v-1462h-220v754q0 173 19 420h-8l-750 -1174h-280v1462z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1622" -d="M193 1462h219v-760q0 -119 -6 -240.5t-9 -164.5h9l747 1165h279v-1462h-220v754q0 173 19 420h-8l-750 -1174h-280v1462zM820 1579q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z -" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1315" -d="M1315 0h-281l-602 741v-741h-239v1462h239v-708l592 708h262l-590 -706z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1483" -d="M1290 0h-239v1257h-416q-79 -640 -126.5 -871t-133.5 -321.5t-228 -87.5q-73 0 -139 25v199q57 -25 111 -25q72 0 112.5 86.5t89 382.5t115.5 817h854v-1462z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1890" -d="M825 0l-424 1221h-8q17 -272 17 -510v-711h-217v1462h337l406 -1163h6l418 1163h338v-1462h-230v723q0 109 5.5 284t9.5 212h-8l-439 -1219h-211z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1538" -d="M1346 0h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1462z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1509" -d="M1317 0h-240v1257h-645v-1257h-239v1462h1124v-1462z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1260" -d="M1161 1020q0 -229 -150 -351t-427 -122h-152v-547h-239v1462h421q274 0 410.5 -112t136.5 -330zM432 748h127q184 0 270 64t86 200q0 126 -77 188t-240 62h-166v-514z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1159" -d="M698 0h-239v1257h-430v205h1099v-205h-430v-1257z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1305" -d="M1305 1462l-461 -1040q-85 -191 -156 -276.5t-164.5 -125.5t-226.5 -40q-116 0 -215 30v215q98 -39 205 -39q91 0 152.5 44.5t111.5 160.5l-539 1071h258l357 -733q48 -104 59 -139h10q6 26 30 83l329 789h250z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1698" -d="M961 395h20q180 0 281.5 96.5t101.5 268.5q0 160 -94.5 254t-259.5 94h-49v-713zM735 -20v225h-33q-179 0 -314.5 65.5t-212.5 196.5t-77 291q0 155 70 279.5t201 195t307 70.5h59v180h226v-180h61q177 0 307.5 -70t199 -193.5t68.5 -281.5q0 -163 -77 -293t-211.5 -195 -t-315.5 -65h-32v-225h-226zM735 1108h-49q-166 0 -260 -94.5t-94 -253.5q0 -170 101 -267.5t284 -97.5h18v713z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1274" -d="M1270 0h-275l-366 598l-369 -598h-256l485 758l-454 704h266l338 -553l338 553h258l-457 -708z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1554" -d="M1317 199h194v-602h-231v403h-1087v1462h239v-1257h645v1257h240v-1263z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1456" -d="M1264 0h-240v584q-135 -48 -240.5 -69t-212.5 -21q-207 0 -319.5 97.5t-112.5 276.5v594h240v-538q0 -114 56.5 -170t185.5 -56q95 0 185 17.5t218 60.5v686h240v-1462z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="2161" -d="M1200 205h526v1257h242v-1462h-1775v1462h239v-1257h526v1257h242v-1257z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="2198" -d="M1192 205h520v1257h240v-1263h194v-602h-231v403h-1722v1462h239v-1257h518v1257h242v-1257z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1448" -d="M1350 440q0 -217 -141.5 -328.5t-415.5 -111.5h-433v1257h-352v205h592v-594h182q276 0 422 -109.5t146 -318.5zM600 201h178q161 0 243.5 56.5t82.5 182.5q0 118 -80.5 173t-271.5 55h-152v-467z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1800" -d="M1163 440q0 -217 -140.5 -328.5t-412.5 -111.5h-417v1462h239v-594h170q274 0 417.5 -110t143.5 -318zM432 199h164q160 0 242 57.5t82 183.5q0 119 -78.5 172.5t-266.5 53.5h-143v-467zM1608 0h-240v1462h240v-1462z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1311" -d="M1212 440q0 -215 -144.5 -327.5t-418.5 -112.5h-456v1462h239v-594h207q278 0 425.5 -110.5t147.5 -317.5zM432 201h201q161 0 247.5 56.5t86.5 182.5q0 118 -83 173t-278 55h-174v-467z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1323" -d="M510 1278q-166 0 -358 -86l-86 197q201 94 448 94q326 0 506 -196.5t180 -543.5q0 -368 -182.5 -565.5t-525.5 -197.5q-228 0 -408 65v205q100 -29 193 -47.5t192 -18.5q230 0 349.5 118.5t127.5 348.5h-676v203h674q-14 200 -130 312t-304 112z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2171" -d="M2048 733q0 -358 -169.5 -555.5t-479.5 -197.5q-297 0 -464.5 177.5t-184.5 501.5h-318v-659h-239v1462h239v-598h322q28 301 194 461t451 160q309 0 479 -198t170 -554zM997 733q0 -271 101 -410t299 -139q201 0 301 140t100 409q0 271 -101 409t-296 138 -q-200 0 -302 -139t-102 -408z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1331" -d="M655 586l-362 -586h-273l412 641q-280 97 -280 408q0 201 139 307t409 106h439v-1462h-240v586h-244zM899 1262h-190q-151 0 -231.5 -53.5t-80.5 -174.5q0 -118 78 -184t242 -66h182v478z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1247" -d="M104 664q0 370 125.5 569t399.5 256q207 42 477 82l33 -207q-328 -50 -480 -78q-157 -29 -226.5 -129t-80.5 -301h15q57 83 149 128.5t197 45.5q204 0 318 -129t114 -362q0 -267 -138.5 -413t-383.5 -146q-243 0 -381 180t-138 504zM639 172q262 0 262 344 -q0 332 -237 332q-65 0 -126 -28t-112.5 -74t-79.5 -95q0 -236 75 -357.5t218 -121.5z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1237" -d="M1128 823q0 -196 -229 -237v-8q128 -15 196 -81t68 -171q0 -157 -119.5 -241.5t-347.5 -84.5h-528v1106h526q434 0 434 -283zM922 340q0 80 -62 113.5t-186 33.5h-271v-313h277q242 0 242 166zM893 803q0 66 -51.5 95.5t-153.5 29.5h-285v-266h250q118 0 179 30.5 -t61 110.5z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="928" -d="M883 1106v-184h-480v-922h-235v1106h715z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1266" -d="M1229 -391h-219v391h-758v-391h-217v573h90q118 169 187.5 408.5t82.5 515.5h672v-924h162v-573zM836 182v744h-238q-19 -206 -79.5 -406t-147.5 -338h465z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1647" -d="M713 569v537h219v-537l426 537h248l-435 -535l474 -571h-259l-454 561v-561h-219v561l-453 -561h-258l473 571l-434 535h248z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="1063" -d="M412 664q161 0 237 35.5t76 109.5q0 135 -240 135q-160 0 -327 -72l-76 175q193 79 426 79q206 0 320 -75.5t114 -216.5q0 -186 -213 -244v-8q133 -36 190.5 -103t57.5 -166q0 -152 -133.5 -242.5t-372.5 -90.5q-261 0 -399 69v203q183 -86 379 -86q141 0 217.5 39.5 -t76.5 120.5q0 83 -77 122t-238 39h-135v177h117z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1386" -d="M393 1106v-567q0 -99 -16 -291l555 858h287v-1106h-226v557q0 46 5.5 149t9.5 150l-553 -856h-287v1106h225z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1386" -d="M393 1106v-567q0 -99 -16 -291l555 858h287v-1106h-226v557q0 46 5.5 149t9.5 150l-553 -856h-287v1106h225zM686 1241q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="1165" -d="M854 1106h258l-457 -533l496 -573h-270l-478 561v-561h-235v1106h235v-537z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1245" -d="M1077 0h-237v922h-305q-28 -356 -75.5 -556t-124 -292t-198.5 -92q-77 0 -129 22v184q37 -14 74 -14q102 0 160.5 229.5t91.5 702.5h743v-1106z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1616" -d="M803 225l13 48q41 149 71 229l248 604h313v-1106h-217v893l-18 -60q-45 -161 -76 -237l-242 -596h-178l-242 600q-50 130 -92 293v-893h-215v1106h311l240 -586q32 -81 84 -295z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1327" -d="M403 1106v-444h521v444h235v-1106h-235v477h-521v-477h-235v1106h235z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1303" -d="M1135 1106v-1106h-236v920h-496v-920h-235v1106h967z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1276" -d="M729 -20q-210 0 -326 151h-14q14 -140 14 -170v-453h-235v1598h190q8 -31 33 -148h12q110 168 330 168q207 0 322.5 -150t115.5 -421t-117.5 -423t-324.5 -152zM672 934q-140 0 -204.5 -82t-64.5 -262v-35q0 -202 64 -292.5t209 -90.5q122 0 188 100t66 285 -q0 186 -65.5 281.5t-192.5 95.5z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="1044" -d="M999 1106v-184h-360v-922h-236v922h-360v184h956z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1565" -d="M1462 553q0 -249 -150.5 -397t-416.5 -168v-480h-223v480q-263 20 -416.5 170.5t-153.5 394.5q0 253 149 399.5t423 165.5v438h221v-438q266 -24 416.5 -173t150.5 -392zM346 553q0 -164 82 -264t246 -117v762q-165 -19 -246.5 -118t-81.5 -263zM1219 553 -q0 162 -81.5 260t-242.5 117v-758q163 19 243.5 118.5t80.5 262.5z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="1128" -d="M414 565l-371 541h268l252 -387l254 387h266l-372 -541l391 -565h-266l-273 414l-272 -414h-266z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1346" -d="M1153 182h160v-571h-221v389h-924v1106h235v-920h515v920h235v-924z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1294" -d="M375 1106v-404q0 -170 176 -170q85 0 166 23.5t174 75.5v475h235v-1106h-235v469q-97 -60 -187.5 -88.5t-197.5 -28.5q-173 0 -270 89.5t-97 250.5v414h236z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1903" -d="M1735 0h-1567v1106h235v-920h431v920h235v-920h430v920h236v-1106z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1927" -d="M1735 182h159v-571h-221v389h-1505v1106h235v-920h431v920h235v-920h430v920h236v-924z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1438" -d="M608 1106v-442h264q241 0 357.5 -80t116.5 -240q0 -169 -118 -256.5t-351 -87.5h-504v922h-353v184h588zM1110 338q0 83 -60.5 116t-183.5 33h-258v-313h264q238 0 238 164z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1659" -d="M403 664h224q232 0 343 -80t111 -240q0 -171 -115.5 -257.5t-338.5 -86.5h-459v1106h235v-442zM848 338q0 83 -61.5 116t-176.5 33h-207v-313h177q142 0 205 40t63 124zM1491 0h-236v1106h236v-1106z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1235" -d="M403 664h277q463 0 463 -320q0 -169 -118 -256.5t-345 -87.5h-512v1106h235v-442zM907 338q0 83 -63 116t-178 33h-263v-313h267q116 0 176.5 42t60.5 122z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="1028" -d="M379 -20q-185 0 -313 63v193q159 -70 309 -70q286 0 305 313h-487v172h487q-12 149 -81 219t-200 70q-98 0 -258 -57l-65 174q67 31 154.5 50t172.5 19q261 0 391 -144t130 -423t-139.5 -429t-405.5 -150z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1749" -d="M1645 555q0 -272 -132.5 -423.5t-369.5 -151.5q-218 0 -346.5 128.5t-149.5 368.5h-244v-477h-235v1106h235v-444h246q25 220 154.5 342t343.5 122q230 0 364 -154.5t134 -416.5zM887 555q0 -189 60.5 -286t197.5 -97q136 0 197 97t61 286q0 187 -61 283t-197 96 -q-137 0 -197.5 -96t-60.5 -283z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1176" -d="M281 0h-263l308 453q-112 32 -176 114.5t-64 204.5q0 157 112 245.5t306 88.5h504v-1106h-236v426h-223zM315 770q0 -85 64.5 -127.5t173.5 -42.5h219v328h-256q-96 0 -148.5 -41t-52.5 -117z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM611 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM297 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM690 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1300" -d="M821 -492q-91 0 -157 25v188q58 -18 116 -18q125 0 125 170v768q0 244 -215 244q-148 0 -217.5 -90t-69.5 -295v-500h-235v1219h-156v163h156v174h235v-174h359v-163h-359v-107q0 -29 -2 -69.5t-10 -133.5h15q54 87 141.5 127.5t193.5 40.5q400 0 400 -405v-815 -q0 -168 -82.5 -258.5t-237.5 -90.5z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="928" -d="M883 1106v-184h-480v-922h-235v1106h715zM368 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="1040" -d="M643 -20q-264 0 -402.5 145t-138.5 422q0 285 135.5 432t407.5 147q183 0 328 -65l-70 -178q-154 57 -264 57q-134 0 -205 -71t-88 -218h488v-172h-488q11 -161 81 -237t206 -76q152 0 315 70v-191q-132 -65 -305 -65z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="997" -d="M911 315q0 -162 -118 -248.5t-338 -86.5q-221 0 -355 67v203q195 -90 363 -90q217 0 217 131q0 42 -24 70t-79 58t-153 68q-191 74 -258.5 148t-67.5 192q0 142 114.5 220.5t311.5 78.5q195 0 369 -79l-76 -177q-179 74 -301 74q-186 0 -186 -106q0 -52 48.5 -88 -t211.5 -99q137 -53 199 -97t92 -101.5t30 -137.5z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM-23 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM370 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="571" -d="M55 -492q-106 0 -176 25v186q68 -18 139 -18q150 0 150 170v1235h235v-1251q0 -171 -89.5 -259t-258.5 -88zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1765" -d="M782 0v922h-247q-28 -361 -75 -558.5t-123.5 -288.5t-197.5 -91q-84 0 -131 20v184q37 -14 74 -14q102 0 160.5 229.5t91.5 702.5h696v-442h193q230 0 340 -80t110 -240q0 -171 -116.5 -257.5t-342.5 -86.5h-432zM1438 338q0 83 -60.5 116t-177.5 33h-180v-313h184 -q115 0 174.5 42t59.5 122z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1817" -d="M1071 664h199q232 0 342 -80t110 -240q0 -170 -114.5 -257t-341.5 -87h-435v477h-425v-477h-238v1106h238v-444h428v444h237v-442zM1489 338q0 83 -60.5 116t-177.5 33h-182v-313h186q234 0 234 164z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1300" -d="M1141 0h-236v631q0 127 -51.5 190.5t-163.5 63.5q-148 0 -217.5 -88.5t-69.5 -296.5v-500h-235v1219h-156v163h156v174h235v-174h381v-163h-381v-107q0 -29 -2 -69.5t-10 -133.5h15q54 87 141.5 127.5t193.5 40.5q400 0 400 -405v-672z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="1165" -d="M854 1106h258l-457 -533l496 -573h-270l-478 561v-561h-235v1106h235v-537zM475 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1386" -d="M393 1106v-567q0 -99 -16 -291l555 858h287v-1106h-226v557q0 46 5.5 149t9.5 150l-553 -856h-287v1106h225zM679 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM544 1241q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5 -t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1323" -d="M168 0v1106h235v-920h517v920h235v-1106h-381v-389h-219v389h-387z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="2148" -d="M1489 1280q-43 0 -87 -15t-112 -59l-88 180q60 42 137.5 68.5t157.5 26.5q248 0 387 -187t139 -528q0 -372 -153 -579t-430 -207q-116 0 -203 29.5t-164 90.5q-87 -66 -172.5 -93t-191.5 -27q-278 0 -431 206t-153 580q0 341 138.5 528t385.5 187q81 0 159 -26.5 -t138 -68.5l-90 -180q-69 45 -111.5 59.5t-85.5 14.5q-137 0 -213.5 -133.5t-76.5 -382.5q0 -277 98.5 -426.5t277.5 -149.5q114 0 205 74v426h240v-426q90 -74 213 -74q181 0 279 149.5t98 426.5q0 246 -77 381t-214 135z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1745" -d="M393 0l-391 1106h246l221 -668q37 -109 61 -256h9q10 38 26 81t183 427l-150 416h262l193 -604q73 -227 90 -297h8q140 170 200 378t60 523h238q0 -367 -99.5 -629t-312.5 -477h-227l-164 418l-47 -111l-144 -307h-262z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1380" -d="M539 1124v-256h161q284 0 432 -109.5t148 -318.5q0 -218 -142.5 -329t-422.5 -111h-416v1124h-289v189h289v243h240v-243h397v-189h-397zM539 199h159q169 0 253.5 57.5t84.5 183.5q0 121 -84.5 173.5t-281.5 52.5h-131v-467z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1325" -d="M494 922v-258h266q471 0 471 -320q0 -169 -117.5 -256.5t-349.5 -87.5h-506v922h-248v184h248v213h236v-213h350v-184h-350zM997 338q0 83 -63.5 116t-185.5 33h-254v-313h258q245 0 245 164z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1913" -d="M1419 1278q-196 0 -312 -106.5t-142 -307.5h657v-205h-659q10 -225 128 -350t326 -125q97 0 188 18.5t189 47.5v-205q-176 -65 -399 -65q-316 0 -492.5 175.5t-191.5 503.5h-279v-659h-239v1462h239v-598h285q38 293 223 455t487 164q222 0 422 -99l-86 -198 -q-199 92 -344 92z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1573" -d="M1182 -20q-237 0 -372.5 126.5t-152.5 370.5h-254v-477h-235v1106h235v-444h254q25 228 155 346t362 118q168 0 323 -67l-67 -176q-139 57 -250 57q-133 0 -201 -69t-80 -209h479v-185h-481q9 -163 83 -237t208 -74q144 0 303 70v-193q-124 -63 -309 -63z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1442" -d="M1200 0l-248 655h-125v-655h-213v655h-127l-247 -655h-240l586 1464h268l588 -1464h-242zM559 850h322l-82 213q-66 170 -78 219q-6 -27 -25.5 -82t-136.5 -350z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1233" -d="M995 0l-180 455h-94v-455h-209v455h-96l-178 -455h-234l469 1106h285l469 -1106h-232zM481 629h271q-112 266 -136 338q-29 -81 -135 -338z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1972" -d="M1481 659h-123v-659h-213v659h-125l-246 -659h-244l265 659h-363v-659h-239v1462h239v-598h445l239 600h268l588 -1464h-246zM1092 854h315q-102 264 -124 326.5t-32 101.5q-7 -31 -28.5 -90.5t-130.5 -337.5z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1708" -d="M1233 1106l469 -1106h-232l-186 475h-90v-475h-207v475h-88l-188 -475h-232l201 477h-297v-477h-215v1106h215v-444h375l190 444h285zM965 649h252q-74 177 -92 225.5t-33 92.5l-88 -226z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1561" -d="M31 0q31 105 143 453q47 146 96 220t119 115.5t170 55.5l-393 481v137h1233v-137l-404 -481q154 -22 242 -107.5t149 -283.5l144 -453h-244l-129 420q-41 133 -94 188.5t-127 55.5h-35v-664h-239v664h-33q-77 0 -128 -54t-93 -190l-129 -420h-248zM780 872l316 383h-631z -" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1294" -d="M16 0l123 340q54 152 121 217t178 86l-311 358v105h1044v-105l-315 -360q75 -14 127 -46t90 -86.5t80 -168.5l125 -340h-215l-115 315q-34 96 -73 133t-93 37h-28v-485h-209v485h-33q-59 0 -96 -35.5t-72 -134.5l-115 -315h-213zM647 662l238 272h-473z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="2095" -d="M573 0l144 449q50 156 102 210h-387v-659h-239v1462h239v-598h653l-376 461v137h1230v-137l-401 -483q104 -13 175.5 -55.5t121 -117t94.5 -216.5l144 -453h-240l-131 420q-45 144 -97.5 193t-148.5 49h-12v-662h-240v662h-12q-96 0 -148 -48.5t-98 -193.5l-129 -420 -h-244zM1323 870l315 385h-630z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1767" -d="M1120 664l238 270h-473zM686 477h-303v-477h-215v1106h215v-444h514l-297 339v105h1045v-105l-316 -360q75 -14 127 -46t90 -86.5t80 -168.5l125 -340h-215l-115 315q-34 96 -73 133t-93 37h-28v-485h-209v485h-33q-59 0 -96 -35.5t-72 -134.5l-115 -315h-213l125 340 -q41 107 72 137z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1243" -d="M291 -127q0 -51 41.5 -73.5t118.5 -22.5q95 0 205 5t171 5q146 0 199 -39v-199q-22 19 -72.5 33.5t-128.5 14.5q-70 0 -176 -5q-107 -6 -225 -6q-181 0 -277 76t-96 213q0 147 113 219t358 82q199 6 287 65t88 185q0 117 -117 176.5t-342 59.5h-176v192h166 -q436 0 436 233q0 96 -74.5 148.5t-207.5 52.5q-208 0 -400 -123l-110 162q176 117 370 143q-27 33 -61 71.5t-164 174.5v27h166q75 -53 217 -195q75 93 117 129.5t88 59t100 22.5q66 0 111 -14v-133q-26 12 -78 12q-43 0 -93.5 -38t-101.5 -116q169 -27 265 -121t96 -229 -q0 -138 -91.5 -230.5t-258.5 -119.5v-8q187 -22 287 -112.5t100 -233.5q0 -203 -153.5 -315.5t-444.5 -118.5q-97 -2 -151.5 -13t-77.5 -32t-23 -64z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="1063" -d="M825 1368q64 0 109 -14v-133q-29 12 -76 12q-45 0 -91.5 -35t-84.5 -92q124 -30 192 -101t68 -171q0 -187 -209 -244v-8q131 -37 187.5 -102t56.5 -165q0 -160 -135 -246t-381 -87q-84 -1 -133.5 -11.5t-72 -30t-22.5 -59.5q0 -47 36 -69.5t128 -22.5q85 0 187 5l151 5 -q132 0 164 -41v-186q-19 19 -61 31t-97 12q-69 0 -167.5 -5t-217.5 -5q-161 0 -245 69t-84 201q0 287 419 291q299 2 299 162q0 83 -78 121t-239 38h-133v177h117q161 0 237 35.5t76 109.5q0 135 -240 135q-160 0 -327 -72l-76 175q134 54 252 69q-70 85 -187 209v27h160 -q78 -55 211 -193q72 89 115.5 127.5t91 60t100.5 21.5z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1712" -d="M1604 981q0 -263 -150.5 -402t-437.5 -139h-49v-440h-224v440h-49q-283 0 -434 136.5t-151 402.5v483h231v-479q0 -176 91.5 -260t283.5 -84h28v823h224v-823h30q182 0 277.5 85.5t95.5 254.5v483h234v-481z" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1628" -d="M932 1556v-1386q180 15 267 113.5t87 291.5q0 113 -15 233.5t-57 297.5h226q69 -272 69 -528q0 -273 -145.5 -426.5t-431.5 -169.5v-474h-223v474q-275 9 -415 152.5t-140 418.5v553h227v-559q0 -186 78.5 -277t249.5 -102v1388h223z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1614" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM807 184q195 0 304 115.5t126 345.5h-862q15 -227 125.5 -344t306.5 -117zM809 1280q-189 0 -299 -108t-133 -324h856q-21 213 -128 322.5 -t-296 109.5z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM627 172q131 0 197.5 75.5t78.5 227.5h-557q12 -152 80 -227.5t201 -75.5zM625 934q-129 0 -196 -71.5t-81 -211.5h555q-15 141 -82.5 212 -t-195.5 71z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1374" -d="M1296 1276q-54 0 -90 -47t-82 -191l-344 -1038h-268l-512 1462h246l313 -923q58 -186 86 -322q24 135 86 334l166 518q60 190 104 264.5t101.5 108t142.5 33.5q73 0 154 -29v-193q-53 23 -103 23z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="1137" -d="M0 1106h246l215 -619q79 -231 88 -305h6q8 53 33 145t49 165l108 327q44 132 81 189t87.5 82.5t133.5 25.5q65 0 112 -20v-181q-33 13 -76 13q-46 0 -71.5 -36t-46.5 -101l-277 -791h-272z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1374" -d="M1296 1276q-54 0 -90 -47t-82 -191l-344 -1038h-268l-512 1462h246l313 -923q58 -186 86 -322q24 135 86 334l166 518q60 190 104 264.5t101.5 108t142.5 33.5q73 0 154 -29v-193q-53 23 -103 23zM844 1579q-68 54 -164.5 155t-126.5 152v21h244q28 -61 77.5 -148 -t98.5 -155v-25h-129zM467 1579q-68 54 -164.5 155t-126.5 152v21h244q28 -61 77.5 -148t98.5 -155v-25h-129z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="1137" -d="M0 1106h246l215 -619q79 -231 88 -305h6q8 53 33 145t49 165l108 327q44 132 81 189t87.5 82.5t133.5 25.5q65 0 112 -20v-181q-33 13 -76 13q-46 0 -71.5 -36t-46.5 -101l-277 -791h-272zM742 1241q-68 54 -164.5 155t-126.5 152v21h244q28 -61 77.5 -148t98.5 -155v-25 -h-129zM365 1241q-68 54 -164.5 155t-126.5 152v21h244q28 -61 77.5 -148t98.5 -155v-25h-129z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2589" -d="M1397 733q0 -363 -165 -558t-472 -195q-312 0 -475.5 193t-163.5 562q0 368 164 559t477 191q308 0 471.5 -194.5t163.5 -557.5zM371 733q0 -278 97.5 -413.5t291.5 -135.5q197 0 292 135t95 414q0 275 -94 411t-291 136t-294 -136t-97 -411zM1487 1106h256l227 -629 -q49 -127 68 -252h8q14 83 72 254l213 627h252l-472 -1253q-128 -345 -430 -345q-77 0 -151 17v186q53 -12 121 -12q170 0 239 197l41 104z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2259" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM1161 1106h256l225 -627q54 -155 68 -252h6 -q18 93 72 254l217 625h252l-471 -1253q-129 -345 -430 -345q-75 0 -154 17v186q55 -12 123 -12q171 0 240 197l39 104z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1694" -d="M1573 733q0 -311 -152.5 -506.5t-425.5 -236.5q-29 -113 -147 -113q-120 0 -146 113q-279 38 -430 233t-151 512q0 316 151.5 507.5t432.5 230.5q13 62 50 86t93 24q54 0 91 -24t52 -86q277 -39 429.5 -233.5t152.5 -506.5zM371 733q0 -217 84 -355.5t252 -178.5 -q20 45 55 62.5t86 17.5q103 0 139 -80q169 40 252.5 178.5t83.5 355.5q0 214 -83.5 352t-250.5 179q-34 -82 -141 -82q-105 0 -143 80q-168 -41 -251 -178t-83 -351z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1368" -d="M1264 555q0 -235 -116.5 -379.5t-332.5 -181.5q-18 -105 -131 -105q-116 0 -133 107q-211 36 -330 182.5t-119 376.5q0 237 119 381t334 178q9 51 42 70.5t87 19.5q50 0 83 -19.5t44 -72.5q213 -36 333 -183t120 -374zM344 555q0 -316 211 -375q15 40 44 59t85 19 -q53 0 82.5 -20t46.5 -58q209 60 209 375q0 307 -207 369q-14 -45 -44.5 -66.5t-86.5 -21.5q-59 0 -89 21.5t-44 66.5q-207 -62 -207 -369z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="2136" -d="M1481 1280q-60 0 -109.5 -24t-89.5 -52l-78 180q130 97 285 97q248 0 386 -187t138 -528q0 -370 -153 -578t-433 -208q-113 0 -199 30t-161 90q-75 -60 -161 -90t-199 -30q-280 0 -433 206.5t-153 579.5q0 341 138.5 528t387.5 187q153 0 285 -97l-80 -180 -q-103 76 -197 76q-137 0 -213.5 -133.5t-76.5 -382.5q0 -277 96 -427.5t268 -150.5q92 0 181.5 45t156.5 125q69 -80 158 -125t180 -45q173 0 270 151.5t97 426.5q0 246 -77 381t-214 135zM1495 2030v-158h-16q-98 0 -171 17t-131 38t-104 38t-88 17q-53 0 -74.5 -28.5 -t-27.5 -85.5h-154v39q0 241 252 241q58 0 114.5 -18.5t116 -40.5t125.5 -40.5t144 -18.5h14zM1214 1753q0 -89 -74.5 -152t-197.5 -81v79q59 17 89 45t30 54q0 19 -17 27.5t-37.5 17t-37.5 21.5t-17 40q0 92 121 92q66 0 103.5 -39t37.5 -104z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1739" -d="M602 -20q-241 0 -370.5 147.5t-129.5 427.5t111 425.5t328 145.5q138 0 245 -57l-71 -174q-88 47 -162 47q-207 0 -207 -385q0 -189 66 -288t198 -99q141 0 258 102q51 -43 114 -74.5t144 -31.5q131 0 198 100t67 291q0 385 -205 385q-51 0 -90.5 -15t-73.5 -32l-72 174 -q112 57 248 57q216 0 326 -145.5t110 -425.5t-127.5 -427.5t-369.5 -147.5q-161 0 -269 88q-108 -88 -266 -88zM1276 1716v-157h-16q-99 0 -172.5 17.5t-131 38.5t-103 38.5t-87.5 17.5q-51 0 -72.5 -27.5t-29.5 -87.5h-154v39q0 118 60.5 179t191.5 61q58 0 114.5 -18.5 -t116 -41t125.5 -41t144 -18.5h14zM995 1442q0 -91 -75.5 -153.5t-196.5 -80.5v78q59 19 88 46.5t29 53.5q0 19 -16.5 28t-37 17t-37 21t-16.5 41q0 45 32.5 68.5t88.5 23.5q66 0 103.5 -39t37.5 -104z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="2122" -d="M1481 1280q-43 0 -87 -15t-112 -59l-78 180q133 95 285 95q248 0 386 -187t138 -528q0 -373 -153.5 -579.5t-432.5 -206.5q-115 0 -202 31.5t-164 92.5q-88 -66 -176 -95t-193 -29q-279 0 -432.5 206t-153.5 580q0 339 137.5 527t387.5 188q151 0 287 -95l-80 -180 -q-69 45 -111.5 59.5t-85.5 14.5q-136 0 -213.5 -133.5t-77.5 -382.5q0 -274 99 -425t282 -151q109 0 207 76v424h240v-420q93 -80 213 -80q183 0 282 150.5t99 425.5q0 246 -77 381t-214 135zM1473 1827v-60l-80 -170h-45l-50 103h-170l-49 -103h-43l-49 103h-172l-47 -103 -h-45l-80 170v60h830z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1745" -d="M399 0l-397 1106h246l221 -666q42 -125 63 -256h9q22 76 68.5 186.5t142.5 315.5l-156 420h248l203 -604q81 -251 92 -297h8q141 167 202.5 372t61.5 529h238q0 -253 -42 -437t-134 -349t-242 -320h-234l-112 311l-35 109l-45 -111l-135 -309h-271zM1249 1444v-58 -l-82 -172h-43l-49 103h-172l-49 -103h-43l-49 103h-170l-49 -103h-43l-80 172v58h829z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1348" -d="M844 -20q-352 0 -537.5 192.5t-185.5 558.5q0 225 88 396.5t253 263.5t388 92q236 0 432 -94l-86 -199q-196 88 -352 88q-221 0 -346 -146.5t-125 -402.5q0 -270 118.5 -406.5t350.5 -136.5q127 0 241 31v-709h-239v472z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="1036" -d="M614 -18q-248 8 -380 150.5t-132 414.5q0 285 135.5 432t407.5 147q177 0 324 -67l-70 -187q-156 58 -260 58q-153 0 -224 -92.5t-71 -288.5q0 -192 77 -283.5t218 -91.5q75 0 126 12t97 29v-707h-235v474h-13z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M514 309l-180 -313l-125 70l180 317l-285 166l68 119l289 -166l201 350l-287 166l69 121l287 -166l184 315l123 -71l-184 -318l289 -164l-72 -119l-285 164l-202 -350l286 -166l-69 -119z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1141" -d="M393 1251q-13 -94 -102 -94q-101 0 -101 115q0 56 23.5 81t79.5 25h455q11 95 102 95q102 0 102 -109q0 -56 -24 -84.5t-80 -28.5h-455z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1182" -d="M258 1407q78 0 144 18.5t125.5 41t115.5 41t115 18.5q130 0 192 -60t62 -180v-41h-154v27q0 88 -104 88q-42 0 -88 -17.5t-103 -38t-130.5 -38t-170.5 -17.5h-16v158h12z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1182" -d="M469 1462q0 65 38.5 104.5t104.5 39.5q57 0 89 -24t32 -69q0 -42 -54 -61q-27 -10 -40.5 -20t-13.5 -25q0 -26 29 -53.5t89 -44.5v-80q-124 19 -199 81.5t-75 151.5z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1182" -d="M743 1458q0 -86 -74 -148t-198 -81v80q59 17 88 44.5t29 53.5q0 19 -16.5 27.5t-37 17t-37 21.5t-16.5 40q0 45 32 69t89 24q66 0 103.5 -39.5t37.5 -108.5z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1135 1231q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194q93 0 149.5 -50.5t63.5 -143.5h-79zM1135 -319q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5q92 0 149.5 -51t63.5 -143h-79zM1714 -41q-5 45 -35 66.5 -t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 -41q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1714 946q-5 45 -35 66.5t-98 21.5 -q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM561 946q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5q92 0 149.5 -51t63.5 -144h-80zM1905 459q-5 44 -35 66t-98 22q-78 0 -103.5 -20 -t-30.5 -68h-75q11 194 209 194q92 0 149.5 -52t63.5 -142h-80zM383 459q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52q92 0 149.5 -51t63.5 -143h-80z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1090 -49q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM870 1155q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1581 662q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM377 442q-66 17 -161.5 52t-174.5 71v97q221 -53 350 -70v-139z -M1653 1186l67 -68q-234 -152 -297 -198l-98 96l4 18q126 78 324 152zM1632 -143l-67 -68q-144 222 -199 297l96 98l19 -4q35 -58 78.5 -152t72.5 -171zM303 -125l-67 68q225 146 296 198l97 -96l-4 -18q-131 -78 -322 -152zM324 1204l67 68q158 -243 199 -297l-96 -98l-19 4 -q-31 50 -76 146.5t-75 176.5z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1726" -d="M193 1462h219v-762q0 -90 -15 -405h9q199 315 747 1167h277v-1253h260l-162 -612h-271l173 403h-218v754q0 29 1.5 71.5t3 89t4 92.5t4.5 83t3.5 60t2.5 24h-8l-752 -1174h-278v1462zM1241 1911q-18 -176 -123.5 -254t-310.5 -78q-211 0 -310 75.5t-112 256.5h215 -q7 -102 51 -144.5t160 -42.5q103 0 153.5 46t59.5 141h217z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1479" -d="M393 1106v-551q0 -17 -0.5 -38t-15.5 -269l555 858h287v-924h237l-137 -571h-232l132 389h-226v559q0 104 15 299l-555 -858h-285v1106h225zM698 1241q-212 0 -310 76.5t-109 255.5h213q7 -102 51 -144.5t162 -42.5q99 0 150 45.5t60 141.5h218q-16 -173 -122 -252.5 -t-313 -79.5z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1257" -d="M432 1292h320v-200h-320v-224h158q290 0 441 -109t151 -319q0 -218 -146 -329t-430 -111h-413v1092h-146v200h146v170h239v-170zM432 199h162q167 0 254.5 57.5t87.5 183.5q0 117 -83 171.5t-273 54.5h-148v-467z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1235" -d="M12 1321h156v235h235v-235h336v-164h-336v-493h267q241 0 357 -80t116 -240q0 -171 -120 -257.5t-349 -86.5h-506v1157h-156v164zM907 338q0 83 -63.5 116t-186.5 33h-254v-313h259q245 0 245 164z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1268" -d="M1169 1020q0 -130 -53 -229t-153 -158l104 -141l-125 -99l-133 178q-96 -24 -219 -24h-158v-547h-239v1462h430q271 0 408.5 -112.5t137.5 -329.5zM432 748h143q55 0 105 6l-82 110l131 97l111 -146q84 65 84 197q0 127 -78.5 188.5t-243.5 61.5h-170v-514z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1276" -d="M729 -20q-210 0 -326 151h-14l7 -68l7 -104v-451h-235v1598h190l35 -148h13q110 168 327 168q207 0 322.5 -150t115.5 -421q0 -323 -163 -473l104 -139l-129 -101l-119 158q-59 -20 -135 -20zM672 934q-138 0 -201.5 -80t-67.5 -264v-35q0 -202 64 -292.5t209 -90.5 -q39 0 61 8l-110 142l137 102l104 -135q62 89 62 268q0 190 -62.5 283.5t-195.5 93.5z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="1135" -d="M432 0h-239v1462h681v305h216v-510h-658v-1257z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="963" -d="M403 0h-235v1106h516v313h221v-491h-502v-928z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="1112" -d="M432 823h412v-200h-412v-623h-239v623h-146v200h146v639h874v-205h-635v-434z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="940" -d="M895 913h-502v-280h340v-182h-340v-451h-235v451h-148v182h148v473h737v-193z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1409" -d="M590 596q-62 0 -158 -12v-584h-239v1462h880v-205h-641v-458q106 12 234 12q200 0 348 -78.5t227.5 -229.5t79.5 -358q0 -202 -66 -350t-190 -227.5t-287 -79.5q-102 0 -167 10.5t-134 36.5v213q123 -49 260 -49q164 0 253 114.5t89 331.5t-124.5 334t-364.5 117z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1153" -d="M625 -502q-142 0 -252 56v204q109 -57 227 -57q124 0 190 92t66 273q0 179 -80.5 273.5t-257.5 94.5q-57 0 -115 -12v-422h-235v1106h741v-195h-506v-284q86 12 146 12q259 0 400 -150.5t141 -425.5q0 -269 -123.5 -417t-341.5 -148z" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1964" -d="M559 756l-534 706h256l520 -708v708h227v-708l520 708h256l-534 -706l405 -547h250v-612h-231v403h-131l-535 741v-741h-227v741l-535 -741h-266z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1763" -d="M713 1106h219v-537l426 537h248l-435 -533l322 -391h229v-571h-217v389h-119l-454 561v-561h-219v561l-453 -561h-258l473 573l-434 533h248l424 -537v537z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1257" -d="M1120 1120q0 -143 -94.5 -234t-261.5 -116v-6q192 -23 292.5 -113.5t100.5 -236.5q0 -204 -159.5 -319t-440.5 -115q-292 0 -467 79v209q97 -46 217.5 -71t220.5 -25q385 0 385 252q0 116 -115.5 177t-342.5 61h-176v192h165q437 0 437 233q0 93 -74.5 147t-208.5 54 -q-106 0 -202 -28t-199 -95l-109 162q225 156 530 156q232 0 367 -99t135 -264zM592 -233q0 54 -37 110.5t-106 122.5h151q72 -56 103 -92.5t48 -78.5t17 -87q0 -97 -60.5 -154t-164.5 -57q-70 0 -135 18v144q54 -15 100 -15q37 0 60.5 22.5t23.5 66.5z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="1063" -d="M412 664q161 0 237 35.5t76 109.5q0 135 -240 135q-160 0 -327 -72l-76 175q193 79 426 79q206 0 320 -75.5t114 -216.5q0 -186 -213 -244v-8q133 -36 190.5 -103t57.5 -166q0 -152 -133.5 -242.5t-372.5 -90.5q-261 0 -399 69v203q183 -86 379 -86q141 0 217.5 39.5 -t76.5 120.5q0 83 -77 122t-238 39h-135v177h117zM498 -233q0 54 -37 110.5t-106 122.5h151q72 -56 103 -92.5t48 -78.5t17 -87q0 -97 -60.5 -154t-164.5 -57q-70 0 -135 18v144q54 -15 100 -15q37 0 60.5 22.5t23.5 66.5z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1450" -d="M1165 209h250v-612h-231v403h-152l-459 662l-141 -115v-547h-239v1462h239v-698q98 120 195 231l395 467h272q-383 -450 -549 -641z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="1239" -d="M854 1106h258l-457 -533l340 -391h213v-573h-217v391h-110l-478 561v-561h-235v1106h235v-537z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1309" -d="M1309 0h-277l-346 500v-256h-129v405l-125 -102v-547h-239v1462h239v-698l125 149v357h129v-205l336 397h272l-549 -641z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="1159" -d="M502 686v328h137v-164l215 256h258l-457 -533l496 -573h-270l-242 283v-191h-137v352l-99 117v-561h-235v1106h235v-537z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1309" -d="M1309 0h-277l-459 662l-141 -115v-547h-239v1102h-146v203h146v157h239v-157h180v-203h-180v-338q98 120 195 231l395 467h272q-383 -450 -549 -641z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="1163" -d="M12 1382h156v174h233v-174h349v-163h-349v-435l-10 -200h6l129 166l334 356h273l-445 -475l471 -631h-274l-355 483l-129 -104v-379h-233v1219h-156v163z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1456" -d="M8 1462h572v-700l589 700h273l-549 -641l563 -821h-276l-459 662l-141 -115v-547h-240v1255h-332v207z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1341" -d="M1049 1106h249l-458 -533l497 -573h-260l-479 561v-561h-225v922h-353v184h578v-537z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1624" -d="M1346 209h231v-612h-231v403h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1253z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1423" -d="M403 1106v-444h521v444h235v-924h213v-571h-221v389h-227v477h-521v-477h-235v1106h235z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1686" -d="M1677 1255h-331v-1255h-240v659h-674v-659h-239v1462h239v-598h674v598h571v-207z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1530" -d="M403 1106v-444h521v444h587v-184h-352v-922h-235v477h-521v-477h-235v1106h235z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2245" -d="M1270 797q100 14 237 14q191 0 334 -78.5t220 -228.5t77 -361q0 -202 -67.5 -351t-190.5 -226.5t-283 -77.5q-90 0 -157 10t-144 39v211q129 -47 260 -47q158 0 249 117t91 327q0 218 -114.5 333.5t-337.5 115.5q-102 0 -174 -16v-578h-240v1255h-598v-1255h-239v1462 -h1077v-665z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1796" -d="M1726 63q0 -179 -53.5 -306t-155 -193t-239.5 -66q-134 0 -242 56v206q102 -59 217 -59q116 0 178 93t62 272t-77 273.5t-245 94.5q-41 0 -71 -10v-424h-238v920h-459v-920h-235v1106h932v-477q52 10 110 10q157 0 273.5 -67.5t179.5 -197.5t63 -311z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1593" -d="M1475 678q0 -164 -61.5 -305.5t-172.5 -233.5q61 -24 135 -24q78 0 142 22v-196q-60 -25 -164 -25q-175 0 -322 98q-102 -34 -248 -34q-205 0 -355 88.5t-229 254t-79 390.5q0 380 164.5 576t478.5 196q56 0 122 -11t111 -28l-61 -193q-84 29 -172 29q-395 0 -395 -559 -q0 -257 112.5 -398t319.5 -141q38 0 65 9q-70 82 -113.5 215.5t-43.5 279.5q0 234 99 355.5t282 121.5t284 -126.5t101 -360.5zM1247 670q0 147 -39.5 227t-113.5 80t-116 -80t-42 -223q0 -136 38 -241.5t97 -170.5q78 56 127 166.5t49 241.5z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1327" -d="M786 502q0 -162 105 -260q57 35 92 101.5t35 160.5q0 182 -113 182q-119 0 -119 -184zM1112 -66q-145 0 -274 82q-108 -36 -226 -36q-152 0 -268 69.5t-179 199t-63 296.5q0 275 130 428t370 153q102 0 189 -30l-52 -183q-72 21 -139 21q-133 0 -195.5 -94.5 -t-62.5 -300.5q0 -174 68 -270.5t208 -96.5q52 0 68 8q-106 138 -106 328q0 171 86 263.5t239 92.5q150 0 234 -94t84 -264q0 -123 -48.5 -221t-134.5 -156q40 -16 95 -16q64 0 118 14v-174q-55 -19 -141 -19z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1298" -d="M815 1278q-206 0 -324 -146t-118 -403q0 -269 113.5 -407t328.5 -138q93 0 180 18.5t181 47.5v-205q-172 -65 -390 -65q-321 0 -493 194.5t-172 556.5q0 228 83.5 399t241.5 262t371 91q224 0 414 -94l-86 -199q-74 35 -156.5 61.5t-173.5 26.5zM772 -233q0 54 -37 110.5 -t-106 122.5h151q72 -56 103 -92.5t48 -78.5t17 -87q0 -97 -60.5 -154t-164.5 -57q-70 0 -135 18v144q54 -15 100 -15q37 0 60.5 22.5t23.5 66.5z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="1014" -d="M614 -20q-251 0 -381.5 146.5t-130.5 420.5q0 279 136.5 429t394.5 150q175 0 315 -65l-71 -189q-149 58 -246 58q-287 0 -287 -381q0 -186 71.5 -279.5t209.5 -93.5q157 0 297 78v-205q-63 -37 -134.5 -53t-173.5 -16zM614 -233q0 54 -37 110.5t-106 122.5h151 -q72 -56 103 -92.5t48 -78.5t17 -87q0 -97 -60.5 -154t-164.5 -57q-70 0 -135 18v144q54 -15 100 -15q37 0 60.5 22.5t23.5 66.5z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1159" -d="M698 209h232v-612h-232v403h-239v1255h-430v207h1099v-207h-430v-1046z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="1040" -d="M999 922h-360v-740h211v-571h-219v389h-228v922h-360v184h956v-184z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="1100" -d="M668 -2v-490h-236v490l-432 1108h254l205 -557q39 -103 86 -299h10q45 188 86 299l207 557h252z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-49h309v-205h-309v-313h-240v313h-309v205h309v41l-485 903h260z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="1100" -d="M670 0h282v-178h-284v-314h-236v314h-285v178h283l-430 1106h254l219 -596q39 -108 72 -260h10q33 132 76 254l217 602h252z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1395" -d="M1130 209h228v-612h-230v403h-133l-366 598l-369 -598h-256l485 758l-454 704h266l338 -553l338 553h258l-457 -708z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1210" -d="M563 414l-272 -414h-266l389 565l-371 541h268l252 -387l254 387h266l-372 -541l266 -383h203v-573h-219v391h-125z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1827" -d="M1548 209h236v-612h-232v403h-1128v1255h-395v207h1077v-207h-442v-1050h645v1257h239v-1253z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1544" -d="M895 922h-328v-736h494v920h235v-924h215v-571h-221v389h-958v922h-289v184h852v-184z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1532" -d="M1264 209h231v-612h-231v403h-240v584q-135 -48 -240.5 -69t-212.5 -21q-207 0 -319.5 97.5t-112.5 276.5v594h240v-538q0 -114 56.5 -170t185.5 -56q95 0 185 17.5t218 60.5v686h240v-1253z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1366" -d="M375 1106v-404q0 -170 176 -170q85 0 166 23.5t174 75.5v475h235v-924h211v-573h-219v391h-227v469q-97 -60 -187.5 -88.5t-197.5 -28.5q-173 0 -270 89.5t-97 250.5v414h236z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1456" -d="M627 494q-244 0 -366 92t-122 282v594h240v-538q0 -118 60 -172t188 -54v338h129v-329q114 13 268 67v688h240v-1462h-240v582q-154 -56 -268 -76v-313h-129v301z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1286" -d="M551 354l-23 -2h-26q-169 0 -266 88.5t-97 251.5v414h236v-404q0 -170 176 -170v279h123v-266q97 21 209 86v475h235v-1106h-235v469q-120 -73 -209 -94v-246h-123v225z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1456" -d="M193 1462h239v-585q146 50 252.5 71t200.5 21q208 0 320 -99t112 -278v-592h-240v539q0 112 -56 168.5t-185 56.5q-85 0 -172 -16t-232 -64v-684h-239v1462z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1280" -d="M918 0v408q0 163 -177 163q-82 0 -155.5 -19.5t-182.5 -76.5v-475h-235v1106h235v-471q183 117 383 117q176 0 272.5 -89.5t96.5 -250.5v-412h-237z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1829" -d="M1092 184q121 0 258 31.5t254 85.5v-217q-223 -104 -525 -104q-316 0 -497.5 173.5t-206.5 495.5q-344 0 -344 248q0 93 39 166h190q-24 -56 -24 -115q0 -96 104 -96h39q35 304 206 468.5t459 164.5q319 0 481.5 -192.5t162.5 -573.5v-70h-1063q13 -223 128 -344 -t339 -121zM1042 1280q-183 0 -292 -111t-123 -317h809q0 220 -96.5 324t-297.5 104z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1407" -d="M328 670q43 224 171 340t330 116q225 0 353.5 -134t128.5 -365v-127h-750q10 -334 320 -334q103 0 187 17.5t187 62.5v-191q-86 -41 -176.5 -58t-201.5 -17q-249 0 -395.5 135.5t-159.5 384.5q-297 2 -297 225q0 82 32 141h174q-22 -42 -22 -106q0 -90 100 -90h19z -M829 948q-114 0 -182.5 -69.5t-81.5 -208.5h512q0 132 -64.5 205t-183.5 73z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1829" -d="M942 -10q-256 35 -401.5 205.5t-165.5 453.5q-168 0 -256 62t-88 186q0 93 39 166h190q-24 -56 -24 -115q0 -96 104 -96h39q31 300 205 466.5t460 166.5q319 0 481.5 -192.5t162.5 -573.5v-70h-1063q13 -223 128 -344t339 -121q121 0 258 31.5t254 85.5v-217 -q-188 -87 -430 -100v-387h-232v393zM1042 1280q-183 0 -292 -111t-123 -317h809q0 220 -96.5 324t-297.5 104z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1407" -d="M729 -6q-189 36 -293 166.5t-114 339.5q-297 2 -297 225q0 82 32 141h174q-22 -42 -22 -106q0 -90 100 -90h19q43 224 171 340t330 116q225 0 353.5 -134t128.5 -365v-127h-750q10 -334 320 -334q103 0 187 17.5t187 62.5v-191q-130 -63 -307 -71v-373h-219v383zM829 948 -q-114 0 -182.5 -69.5t-81.5 -208.5h512q0 132 -64.5 205t-183.5 73z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1829" -d="M559 756l-534 706h256l520 -708v708h227v-708l520 708h256l-534 -706l557 -756h-264l-535 741v-741h-227v741l-535 -741h-266zM904 1579q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252 -t-313 -80z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1647" -d="M713 569v537h219v-537l426 537h248l-435 -535l474 -571h-259l-454 561v-561h-219v561l-453 -561h-258l473 571l-434 535h248zM815 1241q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252 -t-313 -80z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1483" -d="M643 586q-97 0 -211 -29v-557h-239v1462h239v-706l180 221l414 485h274l-606 -686h15q208 0 357 -71.5t230.5 -213.5t81.5 -346q0 -203 -68.5 -352t-193.5 -227t-289 -78q-88 0 -154 9.5t-147 39.5v211q129 -47 269 -47q163 0 253.5 117t90.5 327q0 212 -128 326.5 -t-368 114.5z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1239" -d="M1163 63q0 -177 -58 -305t-164 -194t-247 -66q-137 0 -243 56v204q111 -59 219 -59q124 0 194 94t70 270q0 363 -344 363q-88 0 -189 -29v-397h-233v1106h233v-506l459 506h264l-465 -490q243 -2 373.5 -146.5t130.5 -406.5z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1581" -d="M1290 209h260l-161 -612h-271l172 403h-239v1257h-416q-79 -640 -126.5 -871t-133.5 -321.5t-228 -87.5q-73 0 -139 25v199q57 -25 111 -25q72 0 112.5 86.5t89 382.5t115.5 817h854v-1253z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1329" -d="M1075 182h238l-137 -571h-232l131 389h-235v920h-305q-28 -356 -75.5 -555.5t-123.5 -290t-199 -90.5q-82 0 -129 20v186q37 -14 74 -14q97 0 156 213t94 717h743v-924z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1528" -d="M1346 119q0 -295 -144.5 -463t-398.5 -168q-99 0 -164.5 10.5t-136.5 36.5v211q129 -47 272 -47q164 0 248 110t84 324v526h-674v-659h-239v1462h239v-598h674v598h240v-1343z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1309" -d="M711 -502q-76 0 -132 13.5t-110 42.5v206q109 -59 219 -59q118 0 175 86t59 260v430h-519v-477h-235v1106h235v-444h519v444h237v-1069q0 -255 -116.5 -397t-331.5 -142z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1640" -d="M1346 209h260l-162 -612h-270l172 403h-240v659h-674v-659h-239v1462h239v-598h674v598h240v-1253z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1430" -d="M403 1106v-444h521v444h235v-924h238l-137 -571h-232l131 389h-235v477h-521v-477h-235v1106h235z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1456" -d="M1264 0h-213v-403h-232v612h205v375q-135 -48 -240.5 -69t-212.5 -21q-207 0 -319.5 97.5t-112.5 276.5v594h240v-538q0 -114 56.5 -170t185.5 -56q95 0 185 17.5t218 60.5v686h240v-1462z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1294" -d="M375 1106v-404q0 -170 176 -170q85 0 166 23.5t174 75.5v475h235v-1106h-204v-391h-222v573h191v287q-97 -60 -187.5 -88.5t-197.5 -28.5q-173 0 -270 89.5t-97 250.5v414h236z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1987" -d="M825 0l-424 1221h-8q17 -327 17 -416v-805h-217v1462h337l406 -1163h8l416 1163h338v-1253h258l-160 -612h-272l174 403h-230v817q0 50 1.5 110t13.5 292h-8l-439 -1219h-211z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1702" -d="M803 225l13 48q41 149 71 229l248 604h313v-924h238l-138 -571h-231l131 389h-217v893l-18 -60q-45 -161 -76 -237l-242 -596h-178l-242 600q-50 130 -92 293v-893h-215v1106h311l244 -600q23 -58 41.5 -120t38.5 -161z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM668 1579q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217 -q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM590 1241q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM367 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88z -M760 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM284 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM677 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31 -t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1868" -d="M1747 0h-811v406h-504l-188 -406h-246l678 1462h1071v-202h-571v-398h532v-200h-532v-459h571v-203zM522 612h414v641h-123z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1817" -d="M90 317q0 172 121.5 258.5t370.5 94.5l188 6v76q0 194 -201 194q-141 0 -307 -82l-74 166q88 47 192.5 71.5t203.5 24.5q241 0 340 -155q120 155 346 155q206 0 328 -134.5t122 -362.5v-127h-712q10 -336 301 -336q184 0 356 80v-191q-86 -41 -171.5 -58t-195.5 -17 -q-140 0 -248.5 54.5t-175.5 164.5q-94 -125 -190.5 -172t-241.5 -47q-165 0 -258.5 90t-93.5 247zM334 315q0 -155 166 -155q124 0 196 72.5t72 199.5v96l-135 -6q-155 -6 -227 -54.5t-72 -152.5zM1266 948q-112 0 -177.5 -69.5t-74.5 -208.5h473q0 130 -58.5 204t-162.5 74 -z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM596 1579q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM602 1241q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1583" -d="M741 1280q-247 0 -516 -119v213q130 61 252.5 86t267.5 25q337 0 526 -200.5t189 -555.5q0 -353 -178 -551t-498 -198q-645 0 -645 763v72h1069q-15 232 -134 348.5t-333 116.5zM784 184q184 0 296.5 111.5t125.5 314.5h-815q0 -220 96 -323t297 -103z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1188" -d="M530 1126q260 0 407.5 -149t147.5 -416q0 -272 -136 -426.5t-371 -154.5q-225 0 -353.5 133.5t-128.5 365.5v127h750q-5 167 -86.5 250.5t-233.5 83.5q-189 0 -374 -82v193q85 39 172.5 57t205.5 18zM578 158q113 0 183 70t81 208h-512q0 -133 64 -205.5t184 -72.5z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1583" -d="M741 1280q-247 0 -516 -119v213q130 61 252.5 86t267.5 25q337 0 526 -200.5t189 -555.5q0 -353 -178 -551t-498 -198q-645 0 -645 763v72h1069q-15 232 -134 348.5t-333 116.5zM784 184q184 0 296.5 111.5t125.5 314.5h-815q0 -220 96 -323t297 -103zM486 1737 -q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM879 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1188" -d="M530 1126q260 0 407.5 -149t147.5 -416q0 -272 -136 -426.5t-371 -154.5q-225 0 -353.5 133.5t-128.5 365.5v127h750q-5 167 -86.5 250.5t-233.5 83.5q-189 0 -374 -82v193q85 39 172.5 57t205.5 18zM578 158q113 0 183 70t81 208h-512q0 -133 64 -205.5t184 -72.5z -M282 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM675 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1829" -d="M559 756l-534 706h256l520 -708v708h227v-708l520 708h256l-534 -706l557 -756h-264l-535 741v-741h-227v741l-535 -741h-266zM600 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM993 1737q0 62 33.5 89.5 -t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1647" -d="M713 569v537h219v-537l426 537h248l-435 -535l474 -571h-259l-454 561v-561h-219v561l-453 -561h-258l473 571l-434 535h248zM510 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM903 1399q0 62 33.5 89.5 -t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1257" -d="M1120 1120q0 -143 -94.5 -234t-261.5 -116v-6q192 -23 292.5 -113.5t100.5 -236.5q0 -204 -159.5 -319t-440.5 -115q-292 0 -467 79v209q97 -46 217.5 -71t220.5 -25q385 0 385 252q0 116 -115.5 177t-342.5 61h-176v192h165q437 0 437 233q0 93 -74.5 147t-208.5 54 -q-106 0 -202 -28t-199 -95l-109 162q225 156 530 156q232 0 367 -99t135 -264zM307 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM700 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5 -t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="1063" -d="M412 664q161 0 237 35.5t76 109.5q0 135 -240 135q-160 0 -327 -72l-76 175q193 79 426 79q206 0 320 -75.5t114 -216.5q0 -186 -213 -244v-8q133 -36 190.5 -103t57.5 -166q0 -152 -133.5 -242.5t-372.5 -90.5q-261 0 -399 69v203q183 -86 379 -86q141 0 217.5 39.5 -t76.5 120.5q0 83 -77 122t-238 39h-135v177h117zM214 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM607 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z -" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1202" -d="M297 844l426 413h-612v205h929v-170l-471 -450q263 -10 399 -119t136 -301q0 -208 -158.5 -325t-445.5 -117q-261 0 -434 79v209q99 -46 212 -71t216 -25q366 0 366 258q0 236 -432 236h-131v178z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="1096" -d="M256 473l430 447h-610v186h895v-160l-447 -463q239 -20 368.5 -146.5t129.5 -334.5q0 -148 -70 -260.5t-200.5 -173t-302.5 -60.5q-244 0 -408 76v207q94 -44 200.5 -67t200.5 -23q163 0 252.5 82t89.5 223q0 301 -407 301h-121v166z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1622" -d="M193 1462h219v-760q0 -119 -6 -240.5t-9 -164.5h9l747 1165h279v-1462h-220v754q0 173 19 420h-8l-750 -1174h-280v1462zM490 1753h639v-174h-639v174z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1386" -d="M393 1106v-567q0 -99 -16 -291l555 858h287v-1106h-226v557q0 46 5.5 149t9.5 150l-553 -856h-287v1106h225zM373 1415h639v-174h-639v174z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1622" -d="M193 1462h219v-760q0 -119 -6 -240.5t-9 -164.5h9l747 1165h279v-1462h-220v754q0 173 19 420h-8l-750 -1174h-280v1462zM498 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM891 1737q0 62 33.5 89.5t81.5 27.5 -q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1386" -d="M393 1106v-567q0 -99 -16 -291l555 858h287v-1106h-226v557q0 46 5.5 149t9.5 150l-553 -856h-287v1106h225zM381 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM774 1399q0 62 33.5 89.5t81.5 27.5 -q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM494 1737 -q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM887 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM313 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31 -t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM706 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1614" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM807 184q195 0 304 115.5t126 345.5h-862q15 -227 125.5 -344t306.5 -117zM809 1280q-189 0 -299 -108t-133 -324h856q-21 213 -128 322.5 -t-296 109.5z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM627 172q131 0 197.5 75.5t78.5 227.5h-557q12 -152 80 -227.5t201 -75.5zM625 934q-129 0 -196 -71.5t-81 -211.5h555q-15 141 -82.5 212 -t-195.5 71z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1614" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM807 184q195 0 304 115.5t126 345.5h-862q15 -227 125.5 -344t306.5 -117zM809 1280q-189 0 -299 -108t-133 -324h856q-21 213 -128 322.5 -t-296 109.5zM496 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM889 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM627 172q131 0 197.5 75.5t78.5 227.5h-557q12 -152 80 -227.5t201 -75.5zM625 934q-129 0 -196 -71.5t-81 -211.5h555q-15 141 -82.5 212 -t-195.5 71zM311 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM704 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1323" -d="M510 1278q-166 0 -358 -86l-86 197q201 94 448 94q326 0 506 -196.5t180 -543.5q0 -368 -182.5 -565.5t-525.5 -197.5q-228 0 -408 65v205q100 -29 193 -47.5t192 -18.5q230 0 349.5 118.5t127.5 348.5h-676v203h674q-14 200 -130 312t-304 112zM299 1737q0 62 33.5 89.5 -t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM692 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="1028" -d="M379 -20q-185 0 -313 63v193q159 -70 309 -70q286 0 305 313h-487v172h487q-12 149 -81 219t-200 70q-98 0 -258 -57l-65 174q67 31 154.5 50t172.5 19q261 0 391 -144t130 -423t-139.5 -429t-405.5 -150zM183 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86 -q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM576 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1305" -d="M1305 1462l-461 -1040q-85 -191 -156 -276.5t-164.5 -125.5t-226.5 -40q-116 0 -215 30v215q98 -39 205 -39q91 0 152.5 44.5t111.5 160.5l-539 1071h258l357 -733q48 -104 59 -139h10q6 26 30 83l329 789h250zM338 1753h639v-174h-639v174z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM233 1415h639v-174h-639v174z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1305" -d="M1305 1462l-461 -1040q-85 -191 -156 -276.5t-164.5 -125.5t-226.5 -40q-116 0 -215 30v215q98 -39 205 -39q91 0 152.5 44.5t111.5 160.5l-539 1071h258l357 -733q48 -104 59 -139h10q6 26 30 83l329 789h250zM346 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31 -t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM739 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM239 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29 -t-33.5 88zM632 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1305" -d="M1305 1462l-461 -1040q-85 -191 -156 -276.5t-164.5 -125.5t-226.5 -40q-116 0 -215 30v215q98 -39 205 -39q91 0 152.5 44.5t111.5 160.5l-539 1071h258l357 -733q48 -104 59 -139h10q6 26 30 83l329 789h250zM355 1579v25q104 144 186 303h244v-21q-29 -49 -126 -148 -t-175 -159h-129zM731 1579v25q43 57 99.5 147.5t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM236 1241v25q104 144 186 303h244v-21q-29 -49 -126 -148t-175 -159h-129zM612 1241v25q43 57 99.5 147.5 -t87.5 155.5h243v-21q-29 -49 -126 -148t-175 -159h-129z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1456" -d="M1264 0h-240v584q-135 -48 -240.5 -69t-212.5 -21q-207 0 -319.5 97.5t-112.5 276.5v594h240v-538q0 -114 56.5 -170t185.5 -56q95 0 185 17.5t218 60.5v686h240v-1462zM389 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29 -t-33.5 88zM782 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1294" -d="M375 1106v-404q0 -170 176 -170q85 0 166 23.5t174 75.5v475h235v-1106h-235v469q-97 -60 -187.5 -88.5t-197.5 -28.5q-173 0 -270 89.5t-97 250.5v414h236zM322 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88z -M715 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="1114" -d="M193 1462h876v-205h-637v-1048h230v-612h-230v403h-239v1462z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="928" -d="M168 1106h715v-184h-480v-740h211v-571h-219v389h-227v1106z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1800" -d="M1163 440q0 -217 -140.5 -328.5t-412.5 -111.5h-417v1462h239v-594h170q274 0 417.5 -110t143.5 -318zM432 199h164q160 0 242 57.5t82 183.5q0 119 -78.5 172.5t-266.5 53.5h-143v-467zM1608 0h-240v1462h240v-1462zM588 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31 -t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM981 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1659" -d="M403 664h224q232 0 343 -80t111 -240q0 -171 -115.5 -257.5t-338.5 -86.5h-459v1106h235v-442zM848 338q0 83 -61.5 116t-176.5 33h-207v-313h177q142 0 205 40t63 124zM1491 0h-236v1106h236v-1106zM516 1399q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86 -q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM909 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="1112" -d="M432 823h412v-200h-412v-623h-239v623h-146v200h146v639h874v-205h-635v-434zM360 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v342h221v-356q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="940" -d="M895 913h-502v-280h340v-182h-340v-451h-235v451h-148v182h148v473h737v-193zM322 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v318h221v-332q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1384" -d="M1270 0h-275l-366 598l-369 -598h-256l485 758l-454 704h266l338 -553l338 553h258l-457 -708zM1051 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v342h221v-356q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="1212" -d="M414 565l-371 541h268l252 -387l254 387h266l-372 -541l391 -565h-266l-273 414l-272 -414h-266zM893 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v318h221v-332q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1274" -d="M119 862h303l-387 600h266l338 -555l338 555h258l-387 -600h305v-203h-313l430 -659h-275l-366 598l-369 -598h-258l422 659h-305v203z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="1128" -d="M109 655h245l-311 451h268l252 -387l254 387h266l-313 -451h250v-180h-248l330 -475h-266l-273 414l-272 -414h-266l327 475h-243v180z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1280" -d="M860 1462h240v-1462h-420q-282 0 -425.5 110.5t-143.5 327.5q0 211 150 320.5t439 109.5h160v594zM860 668h-133q-200 0 -285.5 -55t-85.5 -175q0 -125 84.5 -181t259.5 -56h160v467z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" horiz-adv-x="1276" -d="M541 -20q-207 0 -323 150t-116 421q0 272 117.5 423.5t325.5 151.5q218 0 332 -161h12q-17 119 -17 188v403h236v-1556h-184l-41 145h-11q-113 -165 -331 -165zM604 170q145 0 211 81.5t68 264.5v33q0 209 -68 297t-213 88q-124 0 -191 -100.5t-67 -286.5 -q0 -184 65 -280.5t195 -96.5z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1868" -d="M575 -18q-230 0 -347 112t-117 324q0 217 149.5 333.5t427.5 116.5h129v594h240v-1097q4 -183 198 -183q195 0 195 224v442h238v-477q0 -185 -113 -288t-322 -103q-115 0 -202.5 41.5t-130.5 113.5q-103 -153 -345 -153zM817 666h-110q-186 0 -268.5 -61t-82.5 -189 -q0 -234 236 -234q106 0 165.5 47.5t59.5 130.5v306z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1862" -d="M580 -20q-230 0 -354 148.5t-124 422.5q0 270 112.5 422.5t313.5 152.5q209 0 318 -161h12q-16 112 -16 188v403h235v-1159q0 -119 47 -170t152 -51q102 0 147 59t45 183v282h236v-321q0 -196 -106.5 -296.5t-317.5 -100.5q-121 0 -198.5 35.5t-141.5 132.5 -q-58 -80 -152 -125t-208 -45zM590 170q134 0 197 80.5t65 265.5v33q0 210 -63.5 297.5t-200.5 87.5q-244 0 -244 -387q0 -189 59 -283t187 -94z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1860" -d="M397 662h-186v180h182q183 0 279 63.5t96 179.5q0 97 -66.5 149t-185.5 52q-89 0 -171.5 -25.5t-174.5 -86.5l-119 161q201 148 477 148q220 0 350 -95.5t130 -261.5q0 -139 -85.5 -232t-238.5 -124v-8q174 -23 265 -110t93 -236q2 -126 50 -180t151 -54q105 0 153 56 -t48 180v430h235v-469q0 -196 -111.5 -297.5t-324.5 -101.5q-216 0 -329 109.5t-115 318.5q0 254 -402 254z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1712" -d="M1126 176q101 0 147 59t46 183v282h233v-321q0 -399 -424 -399q-205 0 -317.5 81t-114.5 232q-3 103 -77 148.5t-211 45.5h-148v177h129q150 0 220.5 35.5t70.5 109.5q0 135 -209 135q-167 0 -330 -72l-73 175q95 42 191 60.5t218 18.5q192 0 306 -78t114 -214 -q0 -187 -201 -244v-8q106 -20 168.5 -78.5t65.5 -159.5q4 -168 196 -168z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1358" -d="M1042 1126q0 -137 -85.5 -229.5t-247.5 -126.5v-6q180 -23 274 -111.5t94 -234.5v-209h236v-612h-230v403h-241v418q0 130 -122.5 187t-363.5 57h-145v180h195q194 0 297.5 62.5t103.5 180.5q0 96 -70.5 148.5t-197.5 52.5q-188 0 -369 -112l-119 161q99 72 226 110 -t270 38q229 0 362 -96.5t133 -260.5z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="1212" -d="M408 664q161 0 237 35.5t76 109.5q0 135 -225 135q-182 0 -342 -72l-76 175q189 79 424 79q197 0 314.5 -78.5t117.5 -213.5q0 -187 -207 -244v-10q126 -33 183 -98.5t57 -170.5v-129h215v-571h-219v389h-224v313q0 88 -76 131t-235 43h-158v177h138z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="2062" -d="M1253 1462v-1081q0 -105 47.5 -152t149.5 -47t149.5 57t47.5 179v430h235v-469q0 -194 -111 -296.5t-321 -102.5q-215 0 -325.5 99.5t-110.5 297.5v880h-379l-29 -223q-47 -372 -82 -567t-80 -295t-116.5 -147.5t-180.5 -47.5q-73 0 -139 25v199q57 -25 111 -25 -q72 0 113.5 89.5t92.5 405t111 791.5h817z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1829" -d="M1053 381q0 -105 45.5 -155t148.5 -50q96 0 142.5 59t46.5 183v282h233v-321q0 -399 -420 -399q-213 0 -322.5 99.5t-109.5 297.5v543h-282q-28 -356 -75.5 -555.5t-123.5 -290t-199 -90.5q-82 0 -129 20v186q37 -14 74 -14q97 0 156 213t94 717h721v-725z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="2103" -d="M1495 -20q-426 0 -430 397v282h-633v-659h-239v1462h239v-598h633v598h240v-1077q0 -106 45 -154.5t145 -48.5q102 0 147.5 57t45.5 179v430h235v-469q0 -195 -110 -297t-318 -102z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1909" -d="M403 1106v-444h498v444h236v-725q0 -105 47 -155t147 -50q94 0 139.5 59t45.5 183v282h233v-321q0 -399 -418 -399q-211 0 -319.5 101t-110.5 296v100h-498v-477h-235v1106h235z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1593" -d="M846 786h631v-104q0 -702 -641 -702q-341 0 -528 199t-187 554q0 229 88.5 398.5t257 260.5t399.5 91q264 0 471 -99l-86 -198q-200 92 -399 92q-228 0 -354.5 -144.5t-126.5 -404.5q0 -264 123 -405.5t348 -141.5q185 0 284 100t99 292v8h-379v204z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1333" -d="M676 618h557v-79q0 -279 -138 -419t-409 -140q-279 0 -431.5 148.5t-152.5 420.5q0 277 163.5 427t455.5 150q226 0 405 -82l-75 -182q-74 34 -164.5 54t-167.5 20q-185 0 -280 -98t-95 -291q0 -185 85 -282t253 -97q150 0 230.5 69t80.5 197h-317v184z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1503" -d="M690 385q0 -106 49.5 -154.5t149.5 -48.5t148 57.5t48 178.5v430h238v-469q0 -196 -113.5 -297.5t-320.5 -101.5q-215 0 -326.5 100t-111.5 297v878h-422v207h1093v-207h-432v-870z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1413" -d="M831 -20q-211 0 -321.5 100t-110.5 297v545h-356v184h948v-184h-356v-539q0 -106 47 -156.5t149 -50.5q189 0 189 242v282h233v-321q0 -197 -105.5 -298t-316.5 -101z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1260" -d="M143 1118q0 106 63 189t181.5 129.5t274.5 46.5q154 0 275 -35t234 -111l-114 -174q-98 63 -193.5 91t-197.5 28q-137 0 -210 -50.5t-73 -146.5q0 -231 426 -231h170v-192h-174q-229 0 -346 -61t-117 -179q0 -242 360 -242q265 0 461 94v-217q-184 -77 -475 -77 -q-279 0 -434.5 114t-155.5 312q0 147 102 241.5t289 114.5v8q-165 26 -255.5 116.5t-90.5 231.5z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="1055" -d="M776 664v-177h-158q-301 0 -301 -168q0 -153 275 -153q199 0 387 86v-197q-152 -75 -397 -75q-242 0 -370 84.5t-128 238.5q0 105 61.5 170.5t194.5 97.5v11q-209 54 -209 254q0 135 121.5 212.5t331.5 77.5q218 0 397 -79l-72 -175q-165 72 -323 72q-238 0 -238 -133 -q0 -76 72.5 -111.5t224.5 -35.5h131z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1554" -d="M1290 0h-239v1257h-416q-79 -640 -126.5 -871t-133.5 -321.5t-228 -87.5q-73 0 -139 25v199q57 -25 111 -25q72 0 112.5 86.5t89 382.5t115.5 817h854v-1462zM1219 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v342h221v-356q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1325" -d="M1077 0h-237v922h-305q-28 -356 -75.5 -556t-124 -292t-198.5 -92q-77 0 -129 22v184q37 -14 74 -14q102 0 160.5 229.5t91.5 702.5h743v-1106zM1006 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v318h221v-332q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM918 -350q0 -104 -67.5 -166t-174.5 -62q-106 0 -170 61t-64 165t64 165.5t170 61.5q108 0 175 -63.5t67 -161.5z -M782 -352q0 51 -30 78.5t-76 27.5q-47 0 -77 -27.5t-30 -78.5q0 -50 27 -78.5t80 -28.5q48 0 77 28.5t29 78.5z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM805 -350q0 -104 -67.5 -166t-174.5 -62q-106 0 -170 61t-64 165t64 165.5t170 61.5q108 0 175 -63.5t67 -161.5zM669 -352q0 51 -30 78.5t-76 27.5q-47 0 -77 -27.5 -t-30 -78.5q0 -50 27 -78.5t80 -28.5q48 0 77 28.5t29 78.5z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1890" -d="M825 0l-424 1221h-8q17 -272 17 -510v-711h-217v1462h337l406 -1163h6l418 1163h338v-1462h-230v723q0 109 5.5 284t9.5 212h-8l-439 -1219h-211zM792 1581v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1958" -d="M1100 0h-236v682q0 127 -48 189.5t-150 62.5q-136 0 -199.5 -88.5t-63.5 -294.5v-551h-235v1106h184l33 -145h12q46 79 133.5 122t192.5 43q255 0 338 -174h16q49 82 138 128t204 46q198 0 288.5 -100t90.5 -305v-721h-235v682q0 127 -48.5 189.5t-150.5 62.5 -q-137 0 -200.5 -85.5t-63.5 -262.5v-586zM839 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1937" -d="M1542 0h-260l-248 872q-16 57 -40 164.5t-29 149.5q-10 -64 -32.5 -166t-37.5 -152l-242 -868h-260l-189 732l-192 730h244l209 -852q49 -205 70 -362q11 85 33 190t40 170l238 854h237l244 -858q35 -119 74 -356q15 143 72 364l208 850h242zM954 1579 -q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1673" -d="M1075 0l-143 516q-26 82 -94 381h-9q-58 -270 -92 -383l-147 -514h-260l-310 1106h240l141 -545q48 -202 68 -346h6q10 73 30.5 167.5t35.5 141.5l168 582h258l163 -582q15 -49 37.5 -150t26.5 -157h8q15 123 70 344l143 545h236l-312 -1106h-264zM815 1241 -q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1937" -d="M1542 0h-260l-248 872q-16 57 -40 164.5t-29 149.5q-10 -64 -32.5 -166t-37.5 -152l-242 -868h-260l-189 732l-192 730h244l209 -852q49 -205 70 -362q11 85 33 190t40 170l238 854h237l244 -858q35 -119 74 -356q15 143 72 364l208 850h242zM798 1579v25 -q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1673" -d="M1075 0l-143 516q-26 82 -94 381h-9q-58 -270 -92 -383l-147 -514h-260l-310 1106h240l141 -545q48 -202 68 -346h6q10 73 30.5 167.5t35.5 141.5l168 582h258l163 -582q15 -49 37.5 -150t26.5 -157h8q15 123 70 344l143 545h236l-312 -1106h-264zM681 1241v25 -q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1937" -d="M1542 0h-260l-248 872q-16 57 -40 164.5t-29 149.5q-10 -64 -32.5 -166t-37.5 -152l-242 -868h-260l-189 732l-192 730h244l209 -852q49 -205 70 -362q11 85 33 190t40 170l238 854h237l244 -858q35 -119 74 -356q15 143 72 364l208 850h242zM653 1737q0 62 33.5 89.5 -t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM1046 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1673" -d="M1075 0l-143 516q-26 82 -94 381h-9q-58 -270 -92 -383l-147 -514h-260l-310 1106h240l141 -545q48 -202 68 -346h6q10 73 30.5 167.5t35.5 141.5l168 582h258l163 -582q15 -49 37.5 -150t26.5 -157h8q15 123 70 344l143 545h236l-312 -1106h-264zM522 1399 -q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM915 1399q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM545 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM426 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM919 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135 -q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM833 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM1014 1579h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25z -M930 1798q83 99 133 203h207v-21q-69 -92 -215 -206h-125v24z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM928 1241h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM844 1460q83 99 133 203h207v-21q-69 -92 -215 -206 -h-125v24z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM336 1604q112 130 150.5 179.5t66.5 90.5h246q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129 -v25zM420 1774h-123q-139 105 -215 206v21h207q53 -110 131 -203v-24z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM254 1266q112 130 150.5 179.5t66.5 90.5h246q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129v25zM338 1436h-123q-139 105 -215 206v21h207 -q53 -110 131 -203v-24z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM1008 1579h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25z -M1192 1976q0 -108 -125 -135l-6 -71h-104l-11 122q65 7 93 24t28 48q0 55 -90 55q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM934 1241h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM1118 1638q0 -108 -125 -135l-6 -71h-104l-11 122 -q65 7 93 24t28 48q0 55 -90 55q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM817 1915q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64 -q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -108 -62.5 -169.5t-130.5 -61.5zM1016 1579h-117q-122 69 -221 158q-91 -81 -221 -158h-119v25q169 175 227 260h226q67 -96 225 -260v-25z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM731 1577q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64q37 0 74.5 -14t72.5 -31t67 -31t58 -14 -q40 0 61 21.5t35 70.5h101q-11 -108 -62.5 -169.5t-130.5 -61.5zM930 1241h-117q-122 69 -221 158q-91 -81 -221 -158h-119v25q169 175 227 260h226q67 -96 225 -260v-25z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM545 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z -M904 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM432 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5zM814 1241q-123 73 -228 180q-103 -103 -225 -180h-158 -v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM596 1864q74 101 123 203h196v-21q-90 -116 -205 -207h-114v25zM676 1579q-151 0 -234.5 76t-91.5 223h127 -q7 -76 53.5 -112.5t147.5 -36.5q87 0 139 37.5t61 111.5h129q-10 -142 -97.5 -220.5t-233.5 -78.5z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM508 1526q74 101 123 203h196v-21q-90 -116 -205 -207h-114v25zM588 1241q-151 0 -234.5 76t-91.5 223h127q7 -76 53.5 -112.5t147.5 -36.5q87 0 139 37.5t61 111.5 -h129q-10 -142 -97.5 -220.5t-233.5 -78.5z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM751 1839h-112q-115 91 -205 207v21h197q49 -107 120 -203v-25zM678 1579q-151 0 -236 78.5t-94 220.5h129 -q15 -149 201 -149q182 0 200 149h127q-11 -148 -94.5 -223.5t-232.5 -75.5z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM663 1501h-112q-115 91 -205 207v21h197q49 -107 120 -203v-25zM590 1241q-151 0 -236 78.5t-94 220.5h129q15 -149 201 -149q182 0 200 149h127 -q-11 -148 -94.5 -223.5t-232.5 -75.5z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM825 1997q0 -102 -117 -131l-6 -41h-94l-10 100q57 9 81.5 24t24.5 44q0 51 -80 51q-41 0 -77 -6v90q19 8 88 8 -q89 0 139.5 -34t50.5 -105zM678 1579q-151 0 -236 78.5t-94 220.5h129q15 -149 201 -149q182 0 200 149h127q-11 -148 -94.5 -223.5t-232.5 -75.5z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM743 1659q0 -102 -117 -131l-6 -41h-94l-10 100q57 9 81.5 24t24.5 44q0 51 -80 51q-41 0 -77 -6v90q19 8 88 8q89 0 139.5 -34t50.5 -105zM596 1241 -q-151 0 -236 78.5t-94 220.5h129q15 -149 201 -149q182 0 200 149h127q-11 -148 -94.5 -223.5t-232.5 -75.5z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM821 1925q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20t-35 -70h-101q8 98 58.5 158.5t134.5 60.5 -q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -104 -61.5 -161.5t-131.5 -57.5zM674 1579q-153 0 -237.5 74t-92.5 205h129q7 -67 53 -98t148 -31q99 0 145 31t55 98h127q-11 -138 -95 -208.5t-232 -70.5z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM739 1587q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20t-35 -70h-101q8 98 58.5 158.5t134.5 60.5q37 0 74.5 -14t72.5 -31t67 -31t58 -14 -q40 0 61 21.5t35 70.5h101q-11 -104 -61.5 -161.5t-131.5 -57.5zM592 1241q-153 0 -237.5 74t-92.5 205h129q7 -67 53 -98t148 -31q99 0 145 31t55 98h127q-11 -138 -95 -208.5t-232 -70.5z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1354" -d="M1100 0l-146 406h-559l-143 -406h-252l547 1468h260l547 -1468h-254zM891 612l-137 398q-15 40 -41.5 126t-36.5 126q-27 -123 -79 -269l-132 -381h426zM672 1587q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140 -q-12 -141 -108 -222t-249 -81zM545 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" horiz-adv-x="1188" -d="M860 0l-47 154h-8q-80 -101 -161 -137.5t-208 -36.5q-163 0 -254.5 88t-91.5 249q0 171 127 258t387 95l191 6v59q0 106 -49.5 158.5t-153.5 52.5q-85 0 -163 -25t-150 -59l-76 168q90 47 197 71.5t202 24.5q211 0 318.5 -92t107.5 -289v-745h-168zM510 160 -q128 0 205.5 71.5t77.5 200.5v96l-142 -6q-166 -6 -241.5 -55.5t-75.5 -151.5q0 -74 44 -114.5t132 -40.5zM584 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81zM426 -262 -q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM471 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM469 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM852 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM858 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM754 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5 -z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM750 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM946 1579h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM862 1798q83 99 133 203h207v-21q-69 -92 -215 -206h-125v24z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM944 1241h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM860 1460q83 99 133 203h207v-21q-69 -92 -215 -206h-125v24z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM275 1604q112 130 150.5 179.5t66.5 90.5h246q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129v25zM359 1774h-123q-139 105 -215 206v21h207q53 -110 131 -203v-24z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM275 1266q112 130 150.5 179.5t66.5 90.5h246q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129v25zM359 1436h-123q-139 105 -215 206v21h207q53 -110 131 -203v-24z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM944 1579h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM1128 1976q0 -108 -125 -135l-6 -71h-104l-11 122q65 7 93 24t28 48q0 55 -90 55 -q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM938 1241h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM1122 1638q0 -108 -125 -135l-6 -71h-104l-11 122q65 7 93 24t28 48q0 55 -90 55q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM747 1915q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101 -q-11 -108 -62.5 -169.5t-130.5 -61.5zM946 1579h-117q-122 69 -221 158q-91 -81 -221 -158h-119v25q169 175 227 260h226q67 -96 225 -260v-25z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM743 1577q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -108 -62.5 -169.5t-130.5 -61.5zM942 1241h-117q-122 69 -221 158q-91 -81 -221 -158 -h-119v25q169 175 227 260h226q67 -96 225 -260v-25z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1143" -d="M1020 0h-827v1462h827v-202h-588v-398h551v-200h-551v-459h588v-203zM471 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5zM833 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260 -q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1180" -d="M651 -20q-258 0 -403.5 150.5t-145.5 414.5q0 271 135 426t371 155q219 0 346 -133t127 -366v-127h-737q5 -161 87 -247.5t231 -86.5q98 0 182.5 18.5t181.5 61.5v-191q-86 -41 -174 -58t-201 -17zM608 948q-112 0 -179.5 -71t-80.5 -207h502q-2 137 -66 207.5t-176 70.5 -zM465 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5zM825 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM555 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM528 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="625" -d="M193 0v1462h239v-1462h-239zM178 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="571" -d="M403 0h-235v1106h235v-1106zM154 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5zM151 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM674 -262 -q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM489 -262q0 63 34.5 97t98.5 34t97.5 -34.5 -t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM1048 1829 -q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM866 1491q0 -147 -164 -186l-10 -93h-139l-19 162 -q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM1141 1579 -h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM1057 1798q83 99 133 203h207v-21q-69 -92 -215 -206h-125v24z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM959 1241h-127q-112 75 -211 166 -q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM875 1460q83 99 133 203h207v-21q-69 -92 -215 -206h-125v24z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM467 1604 -q112 130 150.5 179.5t66.5 90.5h246q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129v25zM551 1774h-123q-139 105 -215 206v21h207q53 -110 131 -203v-24z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM287 1266q112 130 150.5 179.5t66.5 90.5h246 -q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129v25zM371 1436h-123q-139 105 -215 206v21h207q53 -110 131 -203v-24z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM1139 1579 -h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM1323 1976q0 -108 -125 -135l-6 -71h-104l-11 122q65 7 93 24t28 48q0 55 -90 55q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM959 1241h-127q-112 75 -211 166 -q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM1143 1638q0 -108 -125 -135l-6 -71h-104l-11 122q65 7 93 24t28 48q0 55 -90 55q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM944 1915 -q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -108 -62.5 -169.5t-130.5 -61.5zM1143 1579h-117q-122 69 -221 158q-91 -81 -221 -158h-119v25 -q169 175 227 260h226q67 -96 225 -260v-25z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM766 1577q-36 0 -72.5 13.5t-71 30t-67.5 30.5 -t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -108 -62.5 -169.5t-130.5 -61.5zM965 1241h-117q-122 69 -221 158q-91 -81 -221 -158h-119v25q169 175 227 260h226q67 -96 225 -260 -v-25z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1612" -d="M1491 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM375 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM674 -262 -q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5zM1031 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1251" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q240 0 380 -154.5t140 -416.5zM344 555q0 -383 283 -383q280 0 280 383q0 379 -282 379q-148 0 -214.5 -98t-66.5 -281zM493 -262q0 63 34.5 97t98.5 34t97.5 -34.5 -t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5zM850 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1642" -d="M1489 733q0 -357 -178 -555t-504 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q335 0 514 -209q59 23 87 90t28 190h241l15 -22q-32 -167 -100.5 -260.5t-182.5 -136.5q78 -174 78 -404zM375 733q0 -273 109.5 -411t322.5 -138q430 0 430 549 -q0 547 -428 547q-215 0 -324.5 -137.5t-109.5 -409.5zM651 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1319" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q109 0 204 -35.5t164 -103.5q71 21 106.5 86.5t35.5 200.5h241l15 -23q-37 -179 -109.5 -268.5t-198.5 -126.5q62 -135 62 -301zM344 555q0 -189 67 -286t216 -97 -q147 0 213.5 97t66.5 286q0 187 -67 283t-215 96t-214.5 -96t-66.5 -283zM479 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1642" -d="M1489 733q0 -357 -178 -555t-504 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q335 0 514 -209q59 23 87 90t28 190h241l15 -22q-32 -167 -100.5 -260.5t-182.5 -136.5q78 -174 78 -404zM375 733q0 -273 109.5 -411t322.5 -138q430 0 430 549 -q0 547 -428 547q-215 0 -324.5 -137.5t-109.5 -409.5zM807 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1319" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q109 0 204 -35.5t164 -103.5q71 21 106.5 86.5t35.5 200.5h241l15 -23q-37 -179 -109.5 -268.5t-198.5 -126.5q62 -135 62 -301zM344 555q0 -189 67 -286t216 -97 -q147 0 213.5 97t66.5 286q0 187 -67 283t-215 96t-214.5 -96t-66.5 -283zM623 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1642" -d="M1489 733q0 -357 -178 -555t-504 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q335 0 514 -209q59 23 87 90t28 190h241l15 -22q-32 -167 -100.5 -260.5t-182.5 -136.5q78 -174 78 -404zM375 733q0 -273 109.5 -411t322.5 -138q430 0 430 549 -q0 547 -428 547q-215 0 -324.5 -137.5t-109.5 -409.5zM1059 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1319" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q109 0 204 -35.5t164 -103.5q71 21 106.5 86.5t35.5 200.5h241l15 -23q-37 -179 -109.5 -268.5t-198.5 -126.5q62 -135 62 -301zM344 555q0 -189 67 -286t216 -97 -q147 0 213.5 97t66.5 286q0 187 -67 283t-215 96t-214.5 -96t-66.5 -283zM872 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1642" -d="M1489 733q0 -357 -178 -555t-504 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q335 0 514 -209q59 23 87 90t28 190h241l15 -22q-32 -167 -100.5 -260.5t-182.5 -136.5q78 -174 78 -404zM375 733q0 -273 109.5 -411t322.5 -138q430 0 430 549 -q0 547 -428 547q-215 0 -324.5 -137.5t-109.5 -409.5zM956 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1319" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q109 0 204 -35.5t164 -103.5q71 21 106.5 86.5t35.5 200.5h241l15 -23q-37 -179 -109.5 -268.5t-198.5 -126.5q62 -135 62 -301zM344 555q0 -189 67 -286t216 -97 -q147 0 213.5 97t66.5 286q0 187 -67 283t-215 96t-214.5 -96t-66.5 -283zM780 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5 -t-169 -75.5z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1642" -d="M1489 733q0 -357 -178 -555t-504 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q335 0 514 -209q59 23 87 90t28 190h241l15 -22q-32 -167 -100.5 -260.5t-182.5 -136.5q78 -174 78 -404zM375 733q0 -273 109.5 -411t322.5 -138q430 0 430 549 -q0 547 -428 547q-215 0 -324.5 -137.5t-109.5 -409.5zM672 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1319" -d="M1149 555q0 -271 -139 -423t-387 -152q-155 0 -274 70t-183 201t-64 304q0 269 138 420t389 151q109 0 204 -35.5t164 -103.5q71 21 106.5 86.5t35.5 200.5h241l15 -23q-37 -179 -109.5 -268.5t-198.5 -126.5q62 -135 62 -301zM344 555q0 -189 67 -286t216 -97 -q147 0 213.5 97t66.5 286q0 187 -67 283t-215 96t-214.5 -96t-66.5 -283zM493 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM626 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM502 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35 -q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1520" -d="M1339 1462v-946q0 -162 -69.5 -283.5t-201 -187t-314.5 -65.5q-272 0 -423 144t-151 396v942h240v-925q0 -181 84 -267t258 -86q338 0 338 355v923h239zM993 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135 -q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1300" -d="M948 0l-33 145h-12q-49 -77 -139.5 -121t-206.5 -44q-201 0 -300 100t-99 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-1106h-185zM878 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73 -q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1692" -d="M1339 1462v-194q78 18 115 87.5t37 200.5h240l14 -22q-27 -142 -75.5 -221t-130 -129t-200.5 -68v-600q0 -251 -152 -393.5t-427 -142.5q-276 0 -428 144t-152 396v942h240v-938q0 -340 346 -340q334 0 334 342v936h239zM620 1579v25q57 70 117.5 156t95.5 147h273v-21 -q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1458" -d="M948 0l-33 145h-14q-49 -77 -137.5 -121t-204.5 -44q-202 0 -301.5 100t-99.5 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-119q79 18 116 88.5t37 200.5h240l14 -23q-28 -145 -77 -225.5t-130.5 -130t-199.5 -63.5v-834h-185z -M507 1241v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1692" -d="M1339 1462v-194q78 18 115 87.5t37 200.5h240l14 -22q-27 -142 -75.5 -221t-130 -129t-200.5 -68v-600q0 -251 -152 -393.5t-427 -142.5q-276 0 -428 144t-152 396v942h240v-938q0 -340 346 -340q334 0 334 342v936h239zM745 1579q-69 52 -174.5 150.5t-153.5 156.5v21 -h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1458" -d="M948 0l-33 145h-14q-49 -77 -137.5 -121t-204.5 -44q-202 0 -301.5 100t-99.5 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-119q79 18 116 88.5t37 200.5h240l14 -23q-28 -145 -77 -225.5t-130.5 -130t-199.5 -63.5v-834h-185z -M609 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1692" -d="M1339 1462v-194q78 18 115 87.5t37 200.5h240l14 -22q-27 -142 -75.5 -221t-130 -129t-200.5 -68v-600q0 -251 -152 -393.5t-427 -142.5q-276 0 -428 144t-152 396v942h240v-938q0 -340 346 -340q334 0 334 342v936h239zM1003 1829q0 -147 -164 -186l-10 -93h-139 -l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1458" -d="M948 0l-33 145h-14q-49 -77 -137.5 -121t-204.5 -44q-202 0 -301.5 100t-99.5 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-119q79 18 116 88.5t37 200.5h240l14 -23q-28 -145 -77 -225.5t-130.5 -130t-199.5 -63.5v-834h-185z -M885 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1692" -d="M1339 1462v-194q78 18 115 87.5t37 200.5h240l14 -22q-27 -142 -75.5 -221t-130 -129t-200.5 -68v-600q0 -251 -152 -393.5t-427 -142.5q-276 0 -428 144t-152 396v942h240v-938q0 -340 346 -340q334 0 334 342v936h239zM915 1579q-42 0 -82.5 17.5t-79.5 39t-76 39 -t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1458" -d="M948 0l-33 145h-14q-49 -77 -137.5 -121t-204.5 -44q-202 0 -301.5 100t-99.5 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-119q79 18 116 88.5t37 200.5h240l14 -23q-28 -145 -77 -225.5t-130.5 -130t-199.5 -63.5v-834h-185z -M801 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1692" -d="M1339 1462v-194q78 18 115 87.5t37 200.5h240l14 -22q-27 -142 -75.5 -221t-130 -129t-200.5 -68v-600q0 -251 -152 -393.5t-427 -142.5q-276 0 -428 144t-152 396v942h240v-938q0 -340 346 -340q334 0 334 342v936h239zM622 -262q0 63 34.5 97t98.5 34t97.5 -34.5 -t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1458" -d="M948 0l-33 145h-14q-49 -77 -137.5 -121t-204.5 -44q-202 0 -301.5 100t-99.5 303v723h237v-682q0 -127 52 -190.5t163 -63.5q148 0 217.5 88.5t69.5 296.5v551h236v-119q79 18 116 88.5t37 200.5h240l14 -23q-28 -145 -77 -225.5t-130.5 -130t-199.5 -63.5v-834h-185z -M493 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM570 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM527 1241q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM471 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM772 -263q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5 -t-34.5 94.5z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM842 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM782 1491q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14 -v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1212" -d="M606 795l346 667h260l-487 -895v-567h-240v559l-485 903h260zM754 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="1098" -d="M0 1106h256l225 -627q51 -134 68 -252h8q9 55 33 133.5t254 745.5h254l-473 -1253q-129 -345 -430 -345q-78 0 -152 17v186q53 -12 121 -12q170 0 239 197l41 104zM701 1241q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73 -q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1665" -d="M1542 733q0 -357 -178.5 -555t-505.5 -198q-331 0 -508.5 196.5t-177.5 558.5t178.5 556t509.5 194q326 0 504 -197t178 -555zM426 733q0 -270 109 -409.5t323 -139.5q213 0 321.5 138t108.5 411q0 269 -107.5 408t-320.5 139q-215 0 -324.5 -139t-109.5 -408zM-31 1161 -q67 202 90 301h225v-20q-61 -126 -207 -307h-108v26zM-345 1260q0 81 70 137t196 80v-72q-66 -22 -98.5 -43t-32.5 -49q0 -19 17 -28t37.5 -17t37.5 -21t17 -41q0 -37 -28.5 -57.5t-82.5 -20.5q-60 0 -96.5 35t-36.5 97z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="563" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="1024" -d="M82 455v190h860v-190h-860z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="2048" -d="M82 455v190h1884v-190h-1884z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="2048" -d="M82 455v190h1884v-190h-1884z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="842" -d="M846 -463h-850v139h850v-139zM846 -184h-850v139h850v-139z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="395" -d="M37 961l-12 22q20 83 71 224t105 255h170q-64 -256 -101 -501h-233z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="395" -d="M356 1462l15 -22q-53 -209 -176 -479h-170q69 289 100 501h231z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="549" -d="M412 215q-48 -186 -176 -479h-173q69 270 103 502h231z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="395" -d="M270 1462q34 -230 103 -501h-172q-53 112 -103.5 249.5t-72.5 229.5l14 22h231z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="813" -d="M440 983q53 203 178 479h170q-69 -296 -100 -501h-233zM25 983q20 83 71 224t105 255h170q-64 -256 -101 -501h-233z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="813" -d="M371 1440q-53 -209 -176 -479h-170q69 289 100 501h231zM788 1440q-53 -209 -176 -479h-172q69 271 103 501h231z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="944" -d="M391 215q-55 -214 -176 -479h-172q66 260 102 502h232zM809 215q-48 -186 -176 -479h-172q66 260 102 502h232z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1042" -d="M920 963l-342 30l51 -993h-238l53 993l-321 -30v206l321 -30l-53 417h238l-51 -417l342 30v-206z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1061" -d="M596 522l342 31v-205l-342 29l51 -377h-237l51 377l-338 -29v205l338 -31l-45 264l45 248l-338 -30v204l338 -30l-51 378h237l-51 -378l342 30v-204l-342 30l45 -248z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="770" -d="M131 748q0 138 66 210t188 72q121 0 187.5 -72.5t66.5 -209.5q0 -135 -67 -209t-187 -74t-187 72.5t-67 210.5z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1677" -d="M133 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113zM690 125q0 73 38 112t110 39q73 0 111 -40.5t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113zM1247 125q0 73 38 112t110 39q73 0 111 -40.5 -t38 -110.5q0 -71 -38.5 -112.5t-110.5 -41.5t-110 41t-38 113z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2542" -d="M274 1024q0 -149 32 -222t104 -73q71 0 105 72.5t34 222.5q0 295 -139 295q-72 0 -104 -73t-32 -222zM743 1026q0 -230 -85 -345.5t-248 -115.5q-156 0 -242 118.5t-86 342.5q0 457 328 457q160 0 246.5 -118.5t86.5 -338.5zM1395 1462l-811 -1462h-193l811 1462h193z -M1993 440q0 -149 32 -223t103 -74t105 73t34 224q0 293 -139 293q-71 0 -103 -72t-32 -221zM2462 440q0 -230 -85 -345t-249 -115q-156 0 -242 118.5t-86 341.5q0 457 328 457q159 0 246.5 -118t87.5 -339zM1239 440q0 -149 31 -223t102 -74t105 73t34 224q0 293 -139 293 -q-71 0 -102 -72t-31 -221zM1706 440q0 -230 -85 -345t-249 -115q-156 0 -242 118.5t-86 341.5q0 457 328 457q159 0 246.5 -118t87.5 -339z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="498" -d="M365 1462l-41 -528h-150l-41 528h232z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="893" -d="M365 1462l-41 -528h-150l-41 528h232zM760 1462l-41 -528h-150l-41 528h232z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="688" -d="M82 561l356 432l168 -94l-282 -350l282 -348l-168 -97l-356 431v26z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="688" -d="M606 535l-358 -431l-168 97l282 348l-282 350l168 94l358 -432v-26z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="1128" -d="M371 444h-174l-52 1018h277zM133 125q0 74 39 112.5t111 38.5q71 0 109 -40t38 -111t-38.5 -112.5t-108.5 -41.5q-71 0 -110.5 40t-39.5 114zM937 444h-174l-52 1018h277zM699 125q0 74 39 112.5t111 38.5q71 0 109 -40t38 -111t-38.5 -112.5t-108.5 -41.5 -q-71 0 -110.5 40t-39.5 114z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="266" -d="M655 1462l-856 -1462h-192l858 1462h190z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="743" -d="M233 1024q0 -149 32 -221t104 -72t105.5 71.5t33.5 221.5q0 149 -33.5 221t-105.5 72t-104 -72t-32 -221zM702 1026q0 -459 -333 -459q-163 0 -246.5 119.5t-83.5 339.5q0 455 330 455q164 0 248.5 -118.5t84.5 -336.5z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="743" -d="M725 762h-125v-176h-192v176h-392v127l396 579h188v-563h125v-143zM408 905v178q0 97 6 197q-52 -104 -88 -158l-148 -217h230z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="743" -d="M362 1139q146 0 233 -74t87 -197q0 -143 -90 -222t-264 -79q-75 0 -144.5 15t-111.5 39v161q49 -32 116.5 -52.5t126.5 -20.5q189 0 189 151q0 71 -51.5 109.5t-139.5 38.5q-61 0 -141 -23l-84 43l35 428h508v-145h-369l-3 -39l-15 -144q50 11 118 11z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="743" -d="M43 967q0 256 113.5 385t341.5 129q75 0 129 -15v-151q-51 20 -121 20q-139 0 -211 -68t-82 -216h10q33 48 87 74t118 26q129 0 200.5 -73.5t71.5 -203.5q0 -138 -87.5 -221.5t-229.5 -83.5q-158 0 -249 104.5t-91 293.5zM377 715q65 0 106 40t41 117q0 69 -35.5 109.5 -t-107.5 40.5q-67 0 -114.5 -37t-47.5 -90q0 -81 42 -130.5t116 -49.5z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="743" -d="M158 586l344 725h-445v151h633v-123l-336 -753h-196z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="743" -d="M373 1481q131 0 211 -60.5t80 -163.5q0 -131 -146 -206q93 -45 134.5 -100t41.5 -126q0 -115 -90 -186.5t-231 -71.5q-153 0 -239.5 67.5t-86.5 184.5q0 70 37 124.5t121 98.5q-71 49 -100 96t-29 115q0 103 83 165.5t214 62.5zM225 819q0 -52 35.5 -85.5t108.5 -33.5 -q74 0 109.5 33.5t35.5 85.5q0 57 -48 94.5t-120 57.5q-59 -28 -90 -63.5t-31 -88.5zM371 1348q-56 0 -86.5 -26.5t-30.5 -70.5q0 -41 28 -72t93 -61q49 23 80.5 53t31.5 80q0 44 -29.5 70.5t-86.5 26.5z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="743" -d="M696 1083q0 -255 -113 -384.5t-341 -129.5q-78 0 -129 15v151q51 -20 120 -20q138 0 210 66.5t83 217.5h-10q-33 -48 -87 -74t-118 -26q-129 0 -200.5 73.5t-71.5 203.5q0 138 87.5 221.5t229.5 83.5q158 0 249 -104.5t91 -293.5zM362 1335q-65 0 -106 -40t-41 -117 -q0 -69 35.5 -109.5t107.5 -40.5q67 0 114.5 37t47.5 90q0 81 -42 130.5t-116 49.5z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="836" -d="M584 782v410q0 80 -34.5 113.5t-103.5 33.5q-102 0 -143 -51t-41 -166v-340h-158v682h129l21 -86h12q73 101 217 101q258 0 258 -250v-447h-157z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" -d="M465 418h311v-154h-311v-264h-236v264h-163v154h163v1044h832v-202h-596v-437h557v-202h-557v-203z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" -d="M696 1481q197 0 371 -80l-76 -180q-159 67 -289 67q-200 0 -200 -219v-149h389v-152h-389v-141h389v-154h-391q0 -182 -144 -266h756v-207h-1038v195q97 28 140 92t54 186h-190v154h190v141h-190v152h190v127q0 217 110 325.5t318 108.5z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1694" -d="M1483 160q79 0 145 26v-166q-73 -40 -203 -40q-274 0 -274 307v389h-152v94l162 86l76 213h125v-223h248v-170h-248v-373q0 -69 31 -106t90 -37zM1018 1020q0 -230 -144 -351.5t-419 -121.5h-60v-547h-227v1462h317q533 0 533 -442zM395 748h60q166 0 248.5 61t82.5 203 -q0 127 -74 188.5t-233 61.5h-84v-514z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" horiz-adv-x="1292" -d="M537 -20q-206 0 -320.5 147.5t-114.5 407.5q0 277 110.5 419t328.5 142q222 0 336 -162h12q-3 10 -10 79t-7 113v93h-383v163h383v174h236v-174h156v-163h-156v-1219h-193l-43 145h-10q-108 -165 -325 -165zM610 170q142 0 207.5 79.5t65.5 252.5v33q0 204 -64.5 286 -t-216.5 82q-125 0 -186.5 -88.5t-61.5 -282.5q0 -362 256 -362zM1082 -319h-887v135h887v-135z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="1188" -d="M799 1278q-141 0 -230.5 -84t-119.5 -254h456v-154h-471l-2 -45v-55l2 -39h408v-153h-391q64 -312 364 -312q143 0 293 62v-203q-131 -61 -305 -61q-241 0 -391.5 132t-196.5 382h-152v153h136l-2 37v37l2 65h-136v154h150q38 251 191 394t395 143q200 0 358 -88 -l-84 -187q-154 76 -274 76z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1657" -d="M1311 1462l-811 -1462h-195l811 1462h195zM1554 338q0 -163 -87 -257.5t-240 -94.5q-146 0 -233 95.5t-87 256.5q0 165 86 258.5t240 93.5q146 0 233.5 -96t87.5 -256zM1075 338q0 -219 156 -219q153 0 153 219q0 217 -153 217q-85 0 -120.5 -57t-35.5 -160zM455 772 -q-168 0 -260.5 91t-92.5 255q0 173 92 264t265 91q110 0 205 -43l-46 -130q-88 37 -163 37q-185 0 -185 -217q0 -213 181 -213q109 0 196 37v-131q-76 -41 -192 -41z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1065" -d="M639 150q74 0 117.5 52t50.5 154h149q-9 -193 -94.5 -284.5t-247.5 -91.5q-167 0 -257.5 98t-90.5 278v187q-68 -23 -186 -54v154q106 29 186 57v455q0 154 82 240t254 86q139 0 220 -82t81 -230q0 -369 -411 -555v-258q0 -206 147 -206zM711 1163q0 168 -109 168 -q-58 0 -84 -37.5t-26 -130.5v-381q111 54 165 152.5t54 228.5z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="2095" -d="M1227 0h-258l-600 1137h-13q21 -255 21 -408v-729h-209v1462h262l594 -1132h12q-18 248 -18 393v739h209v-1462zM2007 629q0 -168 -85.5 -261.5t-238.5 -93.5q-145 0 -232 94t-87 261t85.5 260.5t238.5 93.5q146 0 232.5 -97t86.5 -257zM1530 629q0 -107 36 -161t120 -54 -q81 0 117 54t36 161q0 108 -36 160.5t-117 52.5q-82 0 -119 -52.5t-37 -160.5zM1397 0v162h575v-162h-575z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1565" -d="M559 942q0 -96 -71 -152.5t-193 -56.5q-131 0 -209 37v127q113 -47 215 -47q119 0 119 86q0 25 -9 41.5t-28.5 30.5t-103.5 51q-81 36 -116 63.5t-52 63.5t-17 88q0 89 67.5 144t178.5 55q103 0 213 -46l-43 -112q-42 18 -81 29.5t-89 11.5q-48 0 -78.5 -20.5 -t-30.5 -57.5q0 -38 26.5 -61.5t111.5 -57.5q117 -51 153.5 -97t36.5 -120zM967 741l-185 543h-6l4 -119v-424h-141v721h219l176 -534l187 534h211v-721h-148v414l4 129h-6l-192 -543h-123z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1561" -d="M375 741h-146v592h-202v129h553v-129h-205v-592zM963 741l-185 543h-6l4 -119v-424h-141v721h217l178 -534l187 534h210v-721h-147v414l4 129h-6l-193 -543h-122z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1606" -d="M803 1280q-212 0 -322 -119.5t-110 -345.5q0 -209 73.5 -356.5t235.5 -253.5v-205h-612v205h366q-152 107 -232.5 275t-80.5 368q0 292 182 464.5t500 172.5t500 -171t182 -466q0 -203 -82 -370t-234 -273h369v-205h-614v205q158 100 234.5 248.5t76.5 361.5 -q0 227 -110.5 346t-321.5 119z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M633 -35q-157 0 -277.5 73.5t-187 204t-66.5 287.5q0 171 69 298.5t191 197.5t271 70q152 0 273.5 -71t189 -200.5t67.5 -294.5h-827v-356q49 -53 132 -88t165 -35q131 0 222.5 52.5t172.5 181.5l72 -41q-98 -155 -206.5 -217t-260.5 -62zM932 616v277q-50 53 -131.5 86 -t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1700" -d="M1302 1462l-856 -1462h-192l858 1462h190zM513 586h-186v512l3 103l5 91q-17 -18 -40.5 -40t-141.5 -111l-88 112l281 209h167v-876zM1295 892q131 0 211 -60.5t80 -163.5q0 -131 -146 -206q93 -45 134.5 -100t41.5 -126q0 -115 -90 -186.5t-231 -71.5 -q-153 0 -239.5 67.5t-86.5 184.5q0 70 37 124.5t121 98.5q-71 49 -100 96t-29 115q0 103 83 165.5t214 62.5zM1147 230q0 -52 35.5 -85.5t108.5 -33.5q74 0 109.5 33.5t35.5 85.5q0 57 -48 94.5t-120 57.5q-59 -28 -90 -63.5t-31 -88.5zM1293 759q-56 0 -86.5 -26.5 -t-30.5 -70.5q0 -41 28 -72t93 -61q49 23 80.5 53t31.5 80q0 44 -29.5 70.5t-86.5 26.5z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1700" -d="M1372 1462l-856 -1462h-192l858 1462h190zM1321 892q131 0 211 -60.5t80 -163.5q0 -131 -146 -206q93 -45 134.5 -100t41.5 -126q0 -115 -90 -186.5t-231 -71.5q-153 0 -239.5 67.5t-86.5 184.5q0 70 37 124.5t121 98.5q-71 49 -100 96t-29 115q0 103 83 165.5t214 62.5z -M1173 230q0 -52 35.5 -85.5t108.5 -33.5q74 0 109.5 33.5t35.5 85.5q0 57 -48 94.5t-120 57.5q-59 -28 -90 -63.5t-31 -88.5zM1319 759q-56 0 -86.5 -26.5t-30.5 -70.5q0 -41 28 -72t93 -61q49 23 80.5 53t31.5 80q0 44 -29.5 70.5t-86.5 26.5zM645 1251q0 -75 -40.5 -122.5 -t-119.5 -86.5q94 -21 141.5 -76t47.5 -132q0 -127 -93 -196t-266 -69q-148 0 -270 62v157q145 -79 270 -79q179 0 179 135q0 125 -199 125h-115v133h105q184 0 184 129q0 52 -34.5 80t-90.5 28q-57 0 -105.5 -20t-105.5 -57l-84 114q61 46 134 75.5t171 29.5 -q134 0 212.5 -61.5t78.5 -168.5z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1700" -d="M1368 1462l-856 -1462h-192l858 1462h190zM370 1139q146 0 233 -74t87 -197q0 -143 -90 -222t-264 -79q-75 0 -144.5 15t-111.5 39v161q49 -32 116.5 -52.5t126.5 -20.5q189 0 189 151q0 71 -51.5 109.5t-139.5 38.5q-61 0 -141 -23l-84 43l35 428h508v-145h-369l-3 -39 -l-15 -144q50 11 118 11zM1319 892q131 0 211 -60.5t80 -163.5q0 -131 -146 -206q93 -45 134.5 -100t41.5 -126q0 -115 -90 -186.5t-231 -71.5q-153 0 -239.5 67.5t-86.5 184.5q0 70 37 124.5t121 98.5q-71 49 -100 96t-29 115q0 103 83 165.5t214 62.5zM1171 230 -q0 -52 35.5 -85.5t108.5 -33.5q74 0 109.5 33.5t35.5 85.5q0 57 -48 94.5t-120 57.5q-59 -28 -90 -63.5t-31 -88.5zM1317 759q-56 0 -86.5 -26.5t-30.5 -70.5q0 -41 28 -72t93 -61q49 23 80.5 53t31.5 80q0 44 -29.5 70.5t-86.5 26.5z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1700" -d="M1280 1462l-856 -1462h-192l858 1462h190zM1291 892q131 0 211 -60.5t80 -163.5q0 -131 -146 -206q93 -45 134.5 -100t41.5 -126q0 -115 -90 -186.5t-231 -71.5q-153 0 -239.5 67.5t-86.5 184.5q0 70 37 124.5t121 98.5q-71 49 -100 96t-29 115q0 103 83 165.5t214 62.5z -M1143 230q0 -52 35.5 -85.5t108.5 -33.5q74 0 109.5 33.5t35.5 85.5q0 57 -48 94.5t-120 57.5q-59 -28 -90 -63.5t-31 -88.5zM1289 759q-56 0 -86.5 -26.5t-30.5 -70.5q0 -41 28 -72t93 -61q49 23 80.5 53t31.5 80q0 44 -29.5 70.5t-86.5 26.5zM187 586l344 725h-445v151 -h633v-123l-336 -753h-196z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M856 940l2 12q0 166 -60.5 249t-181.5 83q-129 0 -274 -94v215q145 76 307 76q225 0 338 -139.5t113 -415.5q0 -379 -171 -662.5t-464 -283.5q-193 0 -289 101t-96 304q0 248 141 443.5t397 195.5q140 0 238 -84zM829 690q-34 154 -190 154q-139 0 -224 -143.5 -t-85 -311.5q0 -108 35.5 -162.5t109.5 -54.5q121 0 217 139.5t137 378.5z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1260" -d="M47 141l453 1323h258l452 -1325v-139h-1163v141zM629 1241q-43 -173 -76 -268l-256 -768h661l-253 764q-23 64 -46 148t-30 124z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1516" -d="M1087 -477v1732h-661v-1732h-244v1939h1149v-1939h-244z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1292" -d="M57 -477v139l605 879l-588 784v137h1126v-202h-801l537 -715l-561 -819h889v-203h-1207z" /> - <glyph glyph-name="minus" unicode="&#x2212;" -d="M96 633v178h977v-178h-977z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M643 -14h-156l-272 759h-178v175h307l219 -627l502 1429h178z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1446" -d="M1329 717q0 -136 -87 -231t-218 -95q-183 0 -305 199q-129 -195 -293 -195q-139 0 -225 91t-86 237q0 142 88.5 233t222.5 91q177 0 297 -197q124 192 301 192q138 0 221.5 -90.5t83.5 -234.5zM434 559q56 0 103.5 39.5t95.5 124.5q-45 81 -92 121.5t-109 40.5 -q-69 0 -109 -47t-40 -117q0 -72 41 -117t110 -45zM1010 881q-54 0 -101.5 -39.5t-97.5 -122.5q45 -82 93.5 -123t107.5 -41q67 0 109 46t42 118t-43 117t-110 45z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="815" -d="M643 1556q96 0 158 -28v-197q-67 31 -133 31q-76 0 -110 -52.5t-34 -138.5v-1292q0 -182 -90 -276.5t-264 -94.5q-98 0 -164 29v195q79 -31 137 -31q148 0 148 193v1292q0 181 89 275.5t263 94.5z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" -d="M328 489q-53 0 -117 -32.5t-119 -87.5v190q109 111 256 111q72 0 136.5 -17.5t136.5 -48.5q127 -55 219 -55q53 0 116 31.5t119 89.5v-191q-102 -108 -256 -108q-67 0 -124.5 13t-145.5 50q-71 29 -120.5 42t-100.5 13zM328 893q-52 0 -115.5 -32t-120.5 -89v191 -q106 108 256 108q70 0 130.5 -15.5t142.5 -49.5q73 -31 122 -43.5t97 -12.5q53 0 115 31.5t120 89.5v-190q-101 -109 -256 -109q-69 0 -128 14.5t-142 49.5q-85 35 -132.5 46t-88.5 11z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" -d="M545 432l-129 -278l-162 69l96 209h-254v178h338l103 221h-441v179h522l134 282l163 -71l-100 -211h258v-179h-340l-104 -221h444v-178h-528z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" -d="M1073 252l-977 430v121l977 487v-194l-733 -344l733 -303v-197zM94 0v178h977v-178h-977z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" -d="M96 449l733 303l-733 344v194l977 -487v-121l-977 -430v197zM96 0v178h977v-178h-977z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1194" -d="M98 735l451 738h94l451 -738l-451 -735h-94zM877 735l-281 471l-281 -471l281 -471z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-6q61 -14 84 -48t23 -87 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM380 1579q-69 52 -174.5 150.5t-153.5 156.5v21h273q38 -70 103.5 -161t109.5 -142v-25h-158z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM236 1579v25q57 70 117.5 156t95.5 147h273v-21q-52 -61 -155.5 -157.5t-174.5 -149.5h-156z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM593 1579q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM58 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM451 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5 -t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM519 1579q-42 0 -82.5 17.5t-79.5 39t-76 39t-71 17.5q-81 0 -109 -115h-122q12 139 77.5 212t167.5 73q43 0 84 -17.5t80 -39t75.5 -39t70.5 -17.5q79 0 106 115h125 -q-12 -134 -77 -209.5t-169 -75.5z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM52 1753h639v-174h-639v174z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM365 1579q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM310 -233q0 -89 88 -89q43 0 104 17v-144q-69 -20 -139 -20q-113 0 -171 56.5t-58 152.5q0 65 38 127t132 133h149q-69 -66 -106 -120.5t-37 -112.5z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM236 1737q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1352" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM745 -408q-98 0 -164 25v201q84 -21 146 -21q196 0 196 248v1417h240v-1409q0 -224 -106.5 -342.5t-311.5 -118.5z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="983" -d="M908 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM-63 1165q27 82 52 188.5t34 181.5h234v-24q-24 -71 -75 -178t-105 -197h-140v29z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM58 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM451 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5 -t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM58 1737q0 62 33.5 89.5t81.5 27.5q53 0 84.5 -31t31.5 -86q0 -53 -32 -85t-84 -32q-48 0 -81.5 29t-33.5 88zM451 1737q0 62 33.5 89.5t81.5 27.5q53 0 85 -31t32 -86q0 -54 -33 -85.5 -t-84 -31.5q-48 0 -81.5 29t-33.5 88z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1182" -d="M582 1241q-212 0 -310.5 76.5t-109.5 255.5h213q6 -72 27.5 -112t62 -57.5t123.5 -17.5q98 0 149 43.5t62 143.5h217q-15 -172 -121 -252t-313 -80z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="1024" -d="M371 1253q47 158 65 303h226v-20q-23 -62 -68 -151.5t-88 -155.5h-135v24z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="1024" -d="M358 -428q23 64 44.5 150.5t29.5 152.5h225v-20q-29 -80 -75 -166t-88 -142h-136v25z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="1024" -d="M657 1542q-19 -53 -41.5 -141.5t-31.5 -159.5h-226v19q28 77 74.5 163.5t89.5 145.5h135v-27z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="666" -d="M449 1161q67 202 90 301h225v-20q-61 -126 -207 -307h-108v26zM135 1260q0 81 70 137t196 80v-72q-66 -22 -98.5 -43t-32.5 -49q0 -19 17 -28t37.5 -17t37.5 -21t17 -41q0 -37 -28.5 -57.5t-82.5 -20.5q-60 0 -96.5 35t-36.5 97z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM612 1829q0 -147 -164 -186l-10 -93h-139l-19 162q75 13 111.5 37t36.5 68q0 73 -109 73q-60 0 -116 -14v135q68 17 141 17q131 0 199.5 -50t68.5 -149z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="739" -d="M664 0h-590v137l176 58v1071l-176 59v137h590v-137l-175 -59v-1071l175 -58v-137zM235 -262q0 63 34.5 97t98.5 34t97.5 -34.5t33.5 -96.5q0 -59 -34 -94t-97 -35q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-268 1241h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM-352 1460q83 99 133 203h207v-21q-69 -92 -215 -206h-125v24z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-942 1266q112 130 150.5 179.5t66.5 90.5h246q88 -128 215 -270v-25h-127q-97 65 -211 166q-106 -96 -211 -166h-129v25zM-858 1436h-123q-139 105 -215 206v21h207q53 -110 131 -203v-24z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-268 1241h-127q-112 75 -211 166q-114 -101 -211 -166h-129v25q156 181 217 270h246q88 -128 215 -270v-25zM-84 1638q0 -108 -125 -135l-6 -71h-104l-11 122q65 7 93 24t28 48q0 55 -90 55q-37 0 -72 -8v105q25 6 86 6q201 0 201 -146z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-463 1577q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20.5t-35 -69.5h-101q8 103 59.5 167t133.5 64q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -108 -62.5 -169.5t-130.5 -61.5zM-264 1241h-117q-122 69 -221 158 -q-91 -81 -221 -158h-119v25q169 175 227 260h226q67 -96 225 -260v-25z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-694 1526q74 101 123 203h196v-21q-90 -116 -205 -207h-114v25zM-614 1241q-151 0 -234.5 76t-91.5 223h127q7 -76 53.5 -112.5t147.5 -36.5q87 0 139 37.5t61 111.5h129q-10 -142 -97.5 -220.5t-233.5 -78.5z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-537 1501h-112q-115 91 -205 207v21h197q49 -107 120 -203v-25zM-610 1241q-151 0 -236 78.5t-94 220.5h129q15 -149 201 -149q182 0 200 149h127q-11 -148 -94.5 -223.5t-232.5 -75.5z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-463 1659q0 -102 -117 -131l-6 -41h-94l-10 100q57 9 81.5 24t24.5 44q0 51 -80 51q-41 0 -77 -6v90q19 8 88 8q89 0 139.5 -34t50.5 -105zM-610 1241q-151 0 -236 78.5t-94 220.5h129q15 -149 201 -149q182 0 200 149h127q-11 -148 -94.5 -223.5t-232.5 -75.5z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-463 1587q-36 0 -72.5 13.5t-71 30t-67.5 30.5t-61 14q-40 0 -61 -20t-35 -70h-101q8 98 58.5 158.5t134.5 60.5q37 0 74.5 -14t72.5 -31t67 -31t58 -14q40 0 61 21.5t35 70.5h101q-11 -104 -61.5 -161.5t-131.5 -57.5zM-610 1241q-153 0 -237.5 74t-92.5 205h129 -q7 -67 53 -98t148 -31q99 0 145 31t55 98h127q-11 -138 -95 -208.5t-232 -70.5z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="420" -d="M213 -233q0 54 -37 110.5t-106 122.5h151q72 -56 103 -92.5t48 -78.5t17 -87q0 -97 -60.5 -154t-164.5 -57q-70 0 -135 18v144q54 -15 100 -15q37 0 60.5 22.5t23.5 66.5z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="508" -d="M170 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v342h221v-356q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="508" -d="M170 -444q-81 0 -150 24v189q55 -19 111 -19q109 0 109 135v318h221v-332q0 -154 -75 -234.5t-216 -80.5z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="899" -d="M674 0h-236v944q0 169 8 268q-25 -26 -64 -60t-216 -177l-119 149l430 338h197v-1462z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1204" -d="M1096 565q0 -275 -130.5 -430t-367.5 -155q-232 0 -360.5 153.5t-128.5 431.5q0 275 131 429.5t364 154.5t362.5 -154t129.5 -430zM344 565q0 -191 65.5 -292t192.5 -101q129 0 192.5 103.5t63.5 289.5t-64 288.5t-194 102.5q-129 0 -192.5 -102.5t-63.5 -288.5z" /> - <glyph glyph-name="one.os" horiz-adv-x="881" -d="M694 0h-233v541q0 196 8 336q-57 -60 -125 -109l-172 -123l-119 150l441 333h200v-1128z" /> - <glyph glyph-name="two.os" horiz-adv-x="1106" -d="M1034 0h-981v170l385 281q169 123 214.5 167.5t66 85t20.5 93.5q0 71 -55 111t-156 40q-94 0 -173.5 -38t-159.5 -103l-125 154q120 104 233.5 146t237.5 42q207 0 321.5 -86.5t114.5 -241.5q0 -118 -64.5 -210t-244.5 -216l-258 -178l2 -10h622v-207z" /> - <glyph glyph-name="three.os" -d="M1026 793q0 -140 -80 -232t-229 -125v-8q176 -22 264 -109t88 -233q0 -211 -149 -325.5t-424 -114.5q-245 0 -410 80v208q93 -46 197 -71t200 -25q170 0 254 63t84 195q0 117 -93 172.5t-292 55.5h-127v190h129q350 0 350 242q0 94 -61 145t-180 51q-85 0 -164 -25 -t-178 -89l-115 163q201 148 467 148q220 0 344.5 -94.5t124.5 -261.5z" /> - <glyph glyph-name="four.os" horiz-adv-x="1167" -d="M1135 27h-197v-371h-242v371h-673v163l682 938h233v-915h197v-186zM707 213v285q0 58 4 186t8 184h-8q-45 -86 -125 -198l-344 -457h465z" /> - <glyph glyph-name="five.os" -d="M586 580q222 0 350.5 -118t128.5 -319q0 -234 -146.5 -365.5t-416.5 -131.5q-246 0 -385 80v213q76 -45 183.5 -71t197.5 -26q159 0 242 71t83 208q0 262 -334 262q-58 0 -127.5 -10t-109.5 -21l-105 62l56 714h760v-208h-553l-33 -363q35 6 85.5 14.5t123.5 8.5z" /> - <glyph glyph-name="six.os" -d="M94 623q0 858 699 858q110 0 186 -17v-196q-76 22 -176 22q-235 0 -353 -126t-128 -404h12q47 81 132 125.5t200 44.5q199 0 310 -122t111 -331q0 -230 -128.5 -363.5t-350.5 -133.5q-157 0 -273 75.5t-178.5 220t-62.5 347.5zM604 174q121 0 186.5 78t65.5 223 -q0 126 -61.5 198t-184.5 72q-76 0 -140 -32.5t-101 -89t-37 -115.5q0 -141 76.5 -237.5t195.5 -96.5z" /> - <glyph glyph-name="seven.os" -d="M256 -344l578 1266h-760v206h1011v-163l-575 -1309h-254z" /> - <glyph glyph-name="eight.os" -d="M584 1481q208 0 329 -95.5t121 -255.5q0 -225 -270 -358q172 -86 244.5 -181t72.5 -212q0 -181 -133 -290t-360 -109q-238 0 -369 102t-131 289q0 122 68.5 219.5t224.5 173.5q-134 80 -191 169t-57 200q0 159 125 253.5t326 94.5zM313 379q0 -104 73 -161.5t198 -57.5 -q129 0 200.5 59.5t71.5 161.5q0 81 -66 148t-200 124l-29 13q-132 -58 -190 -127.5t-58 -159.5zM582 1300q-100 0 -161 -49.5t-61 -134.5q0 -52 22 -93t64 -74.5t142 -80.5q120 53 169.5 111.5t49.5 136.5q0 85 -61.5 134.5t-163.5 49.5z" /> - <glyph glyph-name="nine.os" -d="M1079 506q0 -432 -174 -645t-524 -213q-133 0 -191 16v197q89 -25 179 -25q238 0 355 128t128 403h-12q-57 -89 -140 -129.5t-198 -40.5q-193 0 -304.5 120t-111.5 332q0 229 128.5 364.5t350.5 135.5q156 0 272 -76t179 -220.5t63 -346.5zM569 954q-122 0 -187 -79.5 -t-65 -223.5q0 -125 60.5 -196.5t183.5 -71.5q119 0 200 71t81 167q0 89 -34 165.5t-96.5 122t-142.5 45.5z" /> - <glyph glyph-name="g.alt" horiz-adv-x="1276" -d="M604 168q144 0 208.5 79.5t70.5 262.5v41q0 200 -66 291.5t-217 91.5q-125 0 -190.5 -98t-65.5 -287q0 -381 260 -381zM872 8l7 137h-9q-109 -165 -329 -165q-207 0 -323 150.5t-116 420.5q0 267 117.5 421t325.5 154q216 0 334 -163h10l24 143h195v-1116 -q0 -482 -522 -482q-237 0 -406 68v201q184 -86 412 -86q131 0 205.5 73.5t74.5 210.5v33z" /> - <glyph glyph-name="gcircumflex.alt" horiz-adv-x="1276" -d="M604 168q144 0 208.5 79.5t70.5 262.5v41q0 200 -66 291.5t-217 91.5q-125 0 -190.5 -98t-65.5 -287q0 -381 260 -381zM872 8l7 137h-9q-109 -165 -329 -165q-207 0 -323 150.5t-116 420.5q0 267 117.5 421t325.5 154q216 0 334 -163h10l24 143h195v-1116 -q0 -482 -522 -482q-237 0 -406 68v201q184 -86 412 -86q131 0 205.5 73.5t74.5 210.5v33zM844 1241q-123 73 -228 180q-103 -103 -225 -180h-158v25q191 198 254 303h260q63 -110 256 -303v-25h-159z" /> - <glyph glyph-name="gbreve.alt" horiz-adv-x="1276" -d="M604 168q144 0 208.5 79.5t70.5 262.5v41q0 200 -66 291.5t-217 91.5q-125 0 -190.5 -98t-65.5 -287q0 -381 260 -381zM872 8l7 137h-9q-109 -165 -329 -165q-207 0 -323 150.5t-116 420.5q0 267 117.5 421t325.5 154q216 0 334 -163h10l24 143h195v-1116 -q0 -482 -522 -482q-237 0 -406 68v201q184 -86 412 -86q131 0 205.5 73.5t74.5 210.5v33zM606 1241q-157 0 -247.5 79.5t-98.5 223.5h137q5 -48 27 -76.5t62.5 -40.5t123.5 -12q105 0 155.5 33t57.5 96h140q-12 -141 -108 -222t-249 -81z" /> - <glyph glyph-name="gdot.alt" horiz-adv-x="1276" -d="M604 168q144 0 208.5 79.5t70.5 262.5v41q0 200 -66 291.5t-217 91.5q-125 0 -190.5 -98t-65.5 -287q0 -381 260 -381zM872 8l7 137h-9q-109 -165 -329 -165q-207 0 -323 150.5t-116 420.5q0 267 117.5 421t325.5 154q216 0 334 -163h10l24 143h195v-1116 -q0 -482 -522 -482q-237 0 -406 68v201q184 -86 412 -86q131 0 205.5 73.5t74.5 210.5v33zM480 1399q0 63 34.5 97t98.5 34q62 0 96.5 -34t34.5 -97q0 -60 -34.5 -94.5t-96.5 -34.5q-64 0 -98.5 34.5t-34.5 94.5z" /> - <glyph glyph-name="gcommaaccent.alt" horiz-adv-x="1276" -d="M604 168q144 0 208.5 79.5t70.5 262.5v41q0 200 -66 291.5t-217 91.5q-125 0 -190.5 -98t-65.5 -287q0 -381 260 -381zM872 8l7 137h-9q-109 -165 -329 -165q-207 0 -323 150.5t-116 420.5q0 267 117.5 421t325.5 154q216 0 334 -163h10l24 143h195v-1116 -q0 -482 -522 -482q-237 0 -406 68v201q184 -86 412 -86q131 0 205.5 73.5t74.5 210.5v33zM776 1542q-19 -53 -41.5 -141.5t-31.5 -159.5h-226v19q28 77 74.5 163.5t89.5 145.5h135v-27z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.ttf deleted file mode 100755 index dc10896..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.woff deleted file mode 100755 index 9511e0a..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-Semibold-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.eot deleted file mode 100755 index 7132cb2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.svg deleted file mode 100755 index bd36a0f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.svg +++ /dev/null @@ -1,21154 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata> -Created by FontForge 20170731 at Thu May 5 16:46:27 2011 - By Aleksey,,, -Digitized data copyright (c) 2010-2011, Google Corporation. -</metadata> -<defs> -<font id="OpenSans-SemiboldItalic" horiz-adv-x="1128" > - <font-face - font-family="Open Sans Semibold" - font-weight="600" - font-style="italic" - font-stretch="normal" - units-per-em="2048" - panose-1="2 11 7 6 3 8 4 2 2 4" - ascent="1638" - descent="-410" - x-height="1106" - cap-height="1462" - bbox="-993 -575 2585 2146" - underline-thickness="102" - underline-position="-307" - slope="-12" - unicode-range="U+0020-FFFD" - /> -<missing-glyph horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name="ff" unicode="ff" horiz-adv-x="1376" -d="M-76 -492q-90 0 -149 23v190q64 -20 114 -20q133 0 177 205l217 1022h-179l21 106l194 76l21 92q44 198 134.5 281.5t256.5 83.5q115 0 211 -43l-61 -176q-74 28 -136 28q-69 0 -110.5 -43t-63.5 -141l-18 -86h438l23 96q44 197 133 281t256 84q117 0 213 -43l-62 -176 -q-74 28 -135 28q-71 0 -111.5 -43t-62.5 -141l-18 -86h229l-39 -178h-227l-223 -1053q-43 -192 -133.5 -279.5t-235.5 -87.5q-95 0 -149 23v190q60 -20 114 -20q136 0 176 205l215 1022h-438l-223 -1053q-40 -189 -131 -278t-238 -89z" /> - <glyph glyph-name="uniFB01" unicode="fi" horiz-adv-x="1257" -d="M-76 -492q-90 0 -149 23v190q64 -20 114 -20q134 0 177 205l217 1022h-179l21 106l194 76l21 92q44 198 134.5 281.5t256.5 83.5q115 0 211 -43l-61 -176q-74 28 -136 28q-69 0 -110.5 -43t-63.5 -141l-18 -86h229l-37 -178h-229l-223 -1053q-40 -189 -131 -278t-238 -89 -zM1022 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40 -112t-105 -41q-53 0 -88 26t-35 82zM975 0h-236l236 1106h235z" /> - <glyph glyph-name="uniFB02" unicode="fl" horiz-adv-x="1257" -d="M-76 -492q-90 0 -149 23v190q64 -20 114 -20q134 0 177 205l217 1022h-179l21 106l194 76l21 92q44 198 134.5 281.5t256.5 83.5q115 0 211 -43l-61 -176q-74 28 -136 28q-69 0 -110.5 -43t-63.5 -141l-18 -86h229l-37 -178h-229l-223 -1053q-40 -189 -131 -278t-238 -89 -zM973 0h-234l330 1556h235z" /> - <glyph glyph-name="uniFB03" unicode="ffi" horiz-adv-x="1931" -d="M-76 -492q-90 0 -149 23v190q64 -20 114 -20q133 0 177 205l217 1022h-179l21 106l194 76l21 92q44 198 134.5 281.5t256.5 83.5q115 0 211 -43l-61 -176q-74 28 -136 28q-69 0 -110.5 -43t-63.5 -141l-18 -86h438l23 96q44 197 133 281t256 84q117 0 213 -43l-62 -176 -q-74 28 -135 28q-71 0 -111.5 -43t-62.5 -141l-18 -86h229l-39 -178h-227l-223 -1053q-43 -192 -133.5 -279.5t-235.5 -87.5q-95 0 -149 23v190q60 -20 114 -20q136 0 176 205l215 1022h-438l-223 -1053q-40 -189 -131 -278t-238 -89zM1649 0h-234l236 1106h233zM1698 1378 -q0 68 39 110t108 42q54 0 86.5 -26.5t32.5 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uniFB04" unicode="ffl" horiz-adv-x="1931" -d="M-76 -492q-90 0 -149 23v190q64 -20 114 -20q133 0 177 205l217 1022h-179l21 106l194 76l21 92q44 198 134.5 281.5t256.5 83.5q115 0 211 -43l-61 -176q-74 28 -136 28q-69 0 -110.5 -43t-63.5 -141l-18 -86h438l23 96q44 197 133 281t256 84q117 0 213 -43l-62 -176 -q-74 28 -135 28q-71 0 -111.5 -43t-62.5 -141l-18 -86h229l-39 -178h-227l-223 -1053q-43 -192 -133.5 -279.5t-235.5 -87.5q-95 0 -149 23v190q60 -20 114 -20q136 0 176 205l215 1022h-438l-223 -1053q-40 -189 -131 -278t-238 -89zM1649 0h-236l332 1556h233z" /> - <glyph glyph-name=".notdef" horiz-adv-x="1229" -d="M193 1462h841v-1462h-841v1462zM297 104h633v1254h-633v-1254z" /> - <glyph glyph-name=".null" horiz-adv-x="0" - /> - <glyph glyph-name="nonmarkingreturn" horiz-adv-x="1044" - /> - <glyph glyph-name="space" unicode=" " horiz-adv-x="532" - /> - <glyph glyph-name="exclam" unicode="!" horiz-adv-x="557" -d="M336 444h-176l168 1018h272zM33 96q0 80 45.5 130t130.5 50q57 0 91 -32.5t34 -93.5q0 -79 -47 -128t-123 -49q-62 0 -96.5 33.5t-34.5 89.5z" /> - <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="858" -d="M516 1462l-151 -528h-152l72 528h231zM893 1462l-152 -528h-153l74 528h231z" /> - <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1323" -d="M1036 872l-84 -286h271l-15 -168h-303l-121 -418h-180l123 418h-248l-121 -418h-174l117 418h-250l17 168h280l84 286h-264l16 168h295l121 422h178l-121 -422h252l121 422h174l-121 -422h252l-14 -168h-285zM526 586h250l82 286h-250z" /> - <glyph glyph-name="dollar" unicode="$" -d="M987 494q0 -172 -119.5 -277t-337.5 -125l-45 -211h-135l45 211q-197 13 -334 80v209q78 -42 179.5 -70t193.5 -30l84 387q-156 56 -223.5 138.5t-67.5 199.5q0 167 118.5 267.5t324.5 117.5l37 163h135l-35 -165q161 -16 289 -82l-86 -185q-134 66 -244 74l-80 -371 -q128 -51 186.5 -95t86.5 -101t28 -135zM571 285q86 11 136.5 60t50.5 126q0 101 -115 145zM629 1196q-89 -11 -133.5 -57.5t-44.5 -122.5q0 -98 110 -139z" /> - <glyph glyph-name="percent" unicode="%" horiz-adv-x="1688" -d="M530 1315q-55 0 -99 -61t-70.5 -173t-26.5 -215q0 -135 80 -135q52 0 95.5 58t73 175.5t29.5 219.5q0 131 -82 131zM805 1186q0 -160 -55.5 -313.5t-146.5 -230.5t-206 -77q-124 0 -190 79t-66 228q0 166 53 313.5t142.5 222.5t208.5 75q127 0 193.5 -76t66.5 -221z -M1511 1462l-1085 -1462h-195l1086 1462h194zM1329 731q-52 0 -95.5 -57.5t-72 -171t-28.5 -221.5q0 -134 81 -134q52 0 96 58.5t73.5 174.5t29.5 220q0 131 -84 131zM1606 604q0 -161 -55.5 -315.5t-146.5 -231.5t-204 -77q-127 0 -193.5 76.5t-66.5 222.5q0 171 53 320 -t142.5 223.5t207.5 74.5q127 0 195 -75t68 -218z" /> - <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1411" -d="M748 1298q-87 0 -134 -54t-47 -142q0 -109 62 -201q147 75 199.5 133.5t52.5 126.5q0 66 -36 101.5t-97 35.5zM508 176q77 0 147 27t144 82l-264 381q-133 -74 -181.5 -141.5t-48.5 -153.5t56 -140.5t147 -54.5zM66 350q0 147 85.5 254t286.5 205q-88 151 -88 283 -q0 180 112.5 286.5t297.5 106.5q160 0 252 -81t92 -218q0 -129 -89.5 -230t-293.5 -192l235 -326q109 112 181 295h233q-113 -270 -297 -454l205 -279h-277l-94 131q-106 -80 -211 -115.5t-229 -35.5q-190 0 -295.5 97.5t-105.5 272.5z" /> - <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="483" -d="M516 1462l-151 -528h-152l72 528h231z" /> - <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="639" -d="M78 276q0 343 124.5 632.5t379.5 553.5h209q-498 -548 -498 -1190q0 -329 115 -596h-183q-147 261 -147 600z" /> - <glyph glyph-name="parenright" unicode=")" horiz-adv-x="639" -d="M559 860q0 -342 -123 -629.5t-381 -554.5h-209q498 548 498 1190q0 327 -115 596h183q147 -265 147 -602z" /> - <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1122" -d="M868 1524l-116 -367l403 23l-12 -205l-367 45l170 -361l-205 -61l-102 371l-227 -312l-162 144l293 266l-350 100l71 195l354 -178l37 383z" /> - <glyph glyph-name="plus" unicode="+" -d="M496 631h-379v180h379v381h180v-381h377v-180h-377v-375h-180v375z" /> - <glyph glyph-name="comma" unicode="," horiz-adv-x="530" -d="M334 238l8 -23q-125 -260 -266 -479h-178q105 238 200 502h236z" /> - <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="649" -d="M47 446l45 203h502l-45 -203h-502z" /> - <glyph glyph-name="period" unicode="." horiz-adv-x="551" -d="M33 94q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5z" /> - <glyph glyph-name="slash" unicode="/" horiz-adv-x="788" -d="M952 1462l-811 -1462h-233l811 1462h233z" /> - <glyph glyph-name="zero" unicode="0" -d="M1100 1012q0 -306 -79 -546.5t-219 -363t-325 -122.5q-194 0 -289.5 127.5t-95.5 363.5q0 284 83 526t222.5 365t321.5 123q187 0 284 -118.5t97 -354.5zM700 1288q-97 0 -180 -112t-136.5 -312.5t-53.5 -394.5q0 -143 39 -218t129 -75q100 0 182.5 113.5t132 316.5 -t49.5 414q0 268 -162 268z" /> - <glyph glyph-name="one" unicode="1" -d="M637 0h-238l189 870q28 150 82 324q-57 -55 -135 -102l-187 -117l-106 170l508 317h198z" /> - <glyph glyph-name="two" unicode="2" -d="M911 0h-929l36 180l471 422q176 159 238.5 231t90.5 133.5t28 131.5q0 85 -49.5 134.5t-139.5 49.5q-70 0 -139 -30t-170 -109l-115 160q120 97 231 138.5t228 41.5q181 0 288 -93t107 -251q0 -108 -39 -201t-123 -190.5t-284 -268.5l-311 -264v-8h622z" /> - <glyph glyph-name="three" unicode="3" -d="M1087 1153q0 -158 -99 -264t-269 -137v-7q127 -24 196.5 -106t69.5 -205q0 -133 -68 -236.5t-196.5 -160.5t-304.5 -57q-225 0 -385 79v215q84 -49 185.5 -75.5t195.5 -26.5q157 0 245 71.5t88 196.5q0 219 -278 219h-133l37 183h106q164 0 267.5 74.5t103.5 199.5 -q0 79 -49.5 124.5t-139.5 45.5q-72 0 -146.5 -25.5t-162.5 -84.5l-104 161q120 81 225.5 113.5t226.5 32.5q183 0 286 -88.5t103 -241.5z" /> - <glyph glyph-name="four" unicode="4" -d="M1047 317h-201l-68 -317h-229l69 317h-622l37 197l803 952h254l-201 -952h201zM659 514l68 309q31 136 100 377h-8q-51 -86 -135 -186l-422 -500h397z" /> - <glyph glyph-name="five" unicode="5" -d="M610 907q181 0 288.5 -103.5t107.5 -285.5q0 -161 -70 -283t-204 -188.5t-324 -66.5q-214 0 -355 79v217q167 -100 342 -100q173 0 270 83t97 230q0 105 -62 168.5t-188 63.5q-95 0 -225 -35l-88 68l200 708h713l-45 -209h-506l-106 -364q93 18 155 18z" /> - <glyph glyph-name="six" unicode="6" -d="M111 446q0 205 60.5 406t165 343t251 215t342.5 73q117 0 203 -25l-43 -194q-72 22 -181 22q-205 0 -337 -129.5t-197 -392.5h6q125 170 326 170q156 0 243.5 -99t87.5 -272q0 -162 -68.5 -301t-185.5 -210.5t-270 -71.5q-194 0 -298.5 120t-104.5 346zM530 174 -q81 0 143 48.5t96 134.5t34 188q0 200 -178 200q-51 0 -95.5 -19t-79 -48t-58.5 -64.5t-39 -82t-13 -113.5q0 -110 49.5 -177t140.5 -67z" /> - <glyph glyph-name="seven" unicode="7" -d="M125 0l754 1257h-674l43 205h932l-33 -168l-758 -1294h-264z" /> - <glyph glyph-name="eight" unicode="8" -d="M731 1485q179 0 283 -89t104 -239q0 -132 -79 -229.5t-248 -163.5q120 -78 172.5 -165.5t52.5 -201.5q0 -121 -61.5 -216.5t-175.5 -148t-271 -52.5q-203 0 -317.5 100t-114.5 268q0 297 368 432q-91 70 -130.5 145t-39.5 162q0 179 127 288.5t330 109.5zM594 672 -q-149 -54 -216 -126.5t-67 -176.5q0 -93 59 -149t158 -56q115 0 184.5 64t69.5 167q0 91 -48.5 157.5t-139.5 119.5zM711 1300q-93 0 -150 -56t-57 -148q0 -83 39 -137t104 -93q115 43 177.5 105t62.5 157q0 81 -48 126.5t-128 45.5z" /> - <glyph glyph-name="nine" unicode="9" -d="M1079 1018q0 -205 -58 -414.5t-152.5 -349t-226 -207t-310.5 -67.5q-133 0 -240 32v207q121 -43 236 -43q188 0 306 123t177 389h-6q-113 -160 -305 -160q-165 0 -255.5 102t-90.5 288q0 156 67 289t186.5 204.5t274.5 71.5q192 0 294.5 -119.5t102.5 -345.5zM664 1288 -q-82 0 -145.5 -47t-97.5 -130t-34 -179q0 -105 46 -160t134 -55q117 0 198 94t81 240q0 108 -48 172.5t-134 64.5z" /> - <glyph glyph-name="colon" unicode=":" horiz-adv-x="551" -d="M205 948q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -79 -48.5 -130t-125.5 -51q-66 0 -96.5 35.5t-30.5 87.5zM33 94q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5z" /> - <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="551" -d="M334 238l8 -23q-125 -260 -266 -479h-176q95 214 198 502h236zM205 948q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -79 -48.5 -130t-125.5 -51q-66 0 -96.5 35.5t-30.5 87.5z" /> - <glyph glyph-name="less" unicode="&#x3c;" -d="M1051 221l-936 430v121l936 488v-195l-697 -344l697 -303v-197z" /> - <glyph glyph-name="equal" unicode="=" -d="M117 831v179h936v-179h-936zM117 430v180h936v-180h-936z" /> - <glyph glyph-name="greater" unicode="&#x3e;" -d="M115 418l694 303l-694 344v195l936 -488v-121l-936 -430v197z" /> - <glyph glyph-name="question" unicode="?" horiz-adv-x="907" -d="M260 444q18 133 71.5 220.5t176.5 177.5q107 77 146.5 117t58 80.5t18.5 88.5q0 70 -42.5 114t-123.5 44q-77 0 -150 -27.5t-151 -64.5l-78 176q207 113 410 113q171 0 269 -85.5t98 -242.5q0 -120 -63.5 -217.5t-231.5 -216.5q-104 -74 -150 -133t-61 -144h-197zM162 94 -q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -79 -49 -129t-125 -50q-66 0 -96.5 34.5t-30.5 86.5z" /> - <glyph glyph-name="at" unicode="@" horiz-adv-x="1743" -d="M1706 846q0 -176 -59.5 -322.5t-166.5 -229.5t-239 -83q-98 0 -150.5 46t-64.5 120h-6q-101 -166 -277 -166q-123 0 -189.5 78.5t-66.5 218.5q0 151 67.5 279.5t188 203t263.5 74.5q52 0 94.5 -5t79.5 -13t129 -39l-101 -392q-30 -114 -30 -159q0 -92 79 -92 -q72 0 134 66.5t97.5 174.5t35.5 230q0 228 -128.5 347.5t-363.5 119.5q-214 0 -385 -99.5t-266.5 -281.5t-95.5 -406q0 -259 140.5 -401t391.5 -142q200 0 430 86v-155q-219 -90 -454 -90q-210 0 -367 83.5t-241.5 239.5t-84.5 365q0 270 122.5 489t343 344t493.5 125 -q200 0 346 -74.5t223.5 -214.5t77.5 -325zM989 913q-86 0 -158.5 -53.5t-113.5 -144t-41 -193.5q0 -157 112 -157q82 0 141.5 72t100.5 220l64 240q-53 16 -105 16z" /> - <glyph glyph-name="A" unicode="A" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365z" /> - <glyph glyph-name="B" unicode="B" horiz-adv-x="1247" -d="M778 1462q222 0 335.5 -84t113.5 -248q0 -146 -86.5 -243t-239.5 -127v-8q108 -28 167.5 -103.5t59.5 -183.5q0 -217 -150 -341t-417 -124h-491l309 1462h399zM489 858h199q139 0 215 60.5t76 171.5q0 172 -223 172h-181zM348 201h223q147 0 230.5 68t83.5 194 -q0 98 -60 149.5t-176 51.5h-200z" /> - <glyph glyph-name="C" unicode="C" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24z" /> - <glyph glyph-name="D" unicode="D" horiz-adv-x="1374" -d="M1311 893q0 -271 -100 -473t-291 -311t-449 -109h-401l309 1462h369q271 0 417 -145t146 -424zM483 201q177 0 309 86t202.5 242t70.5 356q0 184 -88 280.5t-256 96.5h-146l-227 -1061h135z" /> - <glyph glyph-name="E" unicode="E" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539z" /> - <glyph glyph-name="F" unicode="F" horiz-adv-x="1026" -d="M307 0h-237l309 1462h774l-43 -205h-537l-96 -454h502l-45 -203h-500z" /> - <glyph glyph-name="G" unicode="G" horiz-adv-x="1399" -d="M786 793h512l-157 -736q-112 -40 -218.5 -58.5t-238.5 -18.5q-261 0 -405 146t-144 413q0 264 102.5 483t290 340t426.5 121q111 0 213 -20.5t205 -69.5l-90 -203q-174 86 -334 86q-158 0 -287 -90.5t-203.5 -258t-74.5 -372.5q0 -183 89 -277t253 -94q109 0 215 33 -l80 371h-277z" /> - <glyph glyph-name="H" unicode="H" horiz-adv-x="1411" -d="M1110 0h-238l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237z" /> - <glyph glyph-name="I" unicode="I" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235z" /> - <glyph glyph-name="J" unicode="J" horiz-adv-x="612" -d="M-152 -408q-104 0 -170 25l5 201q84 -21 153 -21q201 0 254 250l299 1415h238l-305 -1446q-46 -217 -161.5 -320.5t-312.5 -103.5z" /> - <glyph glyph-name="K" unicode="K" horiz-adv-x="1198" -d="M1087 0h-262l-252 655l-149 -100l-117 -555h-237l309 1462h237l-151 -706l141 166l492 540h284l-616 -669z" /> - <glyph glyph-name="L" unicode="L" horiz-adv-x="1016" -d="M70 0l309 1462h237l-266 -1257h539l-43 -205h-776z" /> - <glyph glyph-name="M" unicode="M" horiz-adv-x="1757" -d="M647 0l-115 1214h-6q-9 -118 -55 -340l-184 -874h-219l309 1462h323l109 -1149h6l606 1149h344l-305 -1462h-227l182 872q39 186 86 342h-6l-643 -1214h-205z" /> - <glyph glyph-name="N" unicode="N" horiz-adv-x="1491" -d="M1192 0h-260l-410 1163h-6l-10 -69q-24 -149 -35.5 -212.5t-183.5 -881.5h-219l309 1462h268l399 -1149h7q6 54 31 192.5t40 203.5l160 753h219z" /> - <glyph glyph-name="O" unicode="O" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95z" /> - <glyph glyph-name="P" unicode="P" horiz-adv-x="1174" -d="M465 748h94q178 0 275.5 79.5t97.5 225.5q0 109 -58.5 159t-179.5 50h-119zM1174 1061q0 -248 -169.5 -381t-472.5 -133h-110l-115 -547h-237l309 1462h334q229 0 345 -100.5t116 -300.5z" /> - <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1485" -d="M1421 922q0 -322 -130 -563t-355 -332l264 -375h-289l-202 328h-31q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94 -q138 0 248.5 94t172 263.5t61.5 378.5q0 170 -79 265t-223 95z" /> - <glyph glyph-name="R" unicode="R" horiz-adv-x="1206" -d="M430 584l-123 -584h-237l309 1462h338q223 0 342 -94.5t119 -290.5q0 -165 -86.5 -278.5t-257.5 -165.5l249 -633h-260l-207 584h-186zM473 782h123q170 0 254 75t84 206q0 105 -59 151t-183 46h-119z" /> - <glyph glyph-name="S" unicode="S" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5z" /> - <glyph glyph-name="T" unicode="T" horiz-adv-x="1053" -d="M528 0h-237l264 1257h-379l45 205h998l-43 -205h-381z" /> - <glyph glyph-name="U" unicode="U" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237z" /> - <glyph glyph-name="V" unicode="V" horiz-adv-x="1165" -d="M506 248q70 178 137 309l455 905h254l-764 -1462h-258l-144 1462h232l74 -905q9 -103 11 -233l-1 -76h4z" /> - <glyph glyph-name="W" unicode="W" horiz-adv-x="1788" -d="M1317 0h-258l-37 842l-6 185l4 106h-6q-47 -144 -117 -291l-385 -842h-256l-53 1462h229l19 -850q0 -136 -13 -346h6q83 221 142 355l387 841h225l31 -839l3 -169l-3 -188h8q28 88 70 197.5t61 152.5l358 846h246z" /> - <glyph glyph-name="X" unicode="X" horiz-adv-x="1151" -d="M1040 0h-256l-192 592l-438 -592h-265l586 770l-250 692h246l178 -540l402 540h266l-551 -710z" /> - <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242z" /> - <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1092" -d="M901 0h-940l33 168l850 1087h-598l43 207h897l-35 -172l-852 -1085h645z" /> - <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="631" -d="M403 -324h-430l381 1786h430l-39 -176h-221l-303 -1433h221z" /> - <glyph glyph-name="backslash" unicode="\" horiz-adv-x="788" -d="M428 1462l219 -1462h-209l-217 1462h207z" /> - <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="631" -d="M-106 -147h219l305 1433h-221l39 176h430l-381 -1786h-428z" /> - <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1069" -d="M37 537l608 933h127l272 -933h-184l-188 690l-434 -690h-201z" /> - <glyph glyph-name="underscore" unicode="_" horiz-adv-x="813" -d="M629 -324h-817l30 140h817z" /> - <glyph glyph-name="grave" unicode="`" horiz-adv-x="1135" -d="M918 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="a" unicode="a" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5z" /> - <glyph glyph-name="b" unicode="b" horiz-adv-x="1200" -d="M578 -20q-98 0 -168.5 45t-110.5 131h-10l-64 -156h-178l330 1556h235l-71 -333q-13 -63 -38 -156.5t-40 -140.5h8q90 113 165 156.5t161 43.5q145 0 226 -103.5t81 -285.5q0 -202 -69.5 -379.5t-190.5 -277.5t-266 -100zM711 934q-81 0 -162 -80t-130.5 -210.5 -t-49.5 -270.5q0 -96 46.5 -149.5t131.5 -53.5t159 78.5t117 210t43 274.5q0 201 -155 201z" /> - <glyph glyph-name="c" unicode="c" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71z" /> - <glyph glyph-name="d" unicode="d" horiz-adv-x="1198" -d="M623 1126q179 0 268 -178h8q13 146 37 250l76 358h233l-330 -1556h-184l19 176h-7q-88 -106 -170 -151t-174 -45q-143 0 -224 101.5t-81 287.5q0 205 71.5 383t191.5 276t266 98zM489 170q82 0 162.5 82t129 214t48.5 267q0 91 -43.5 146t-132.5 55q-85 0 -159 -77 -t-118 -211t-44 -273q0 -203 157 -203z" /> - <glyph glyph-name="e" unicode="e" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5z" /> - <glyph glyph-name="f" unicode="f" horiz-adv-x="702" -d="M-76 -492q-90 0 -149 23v190q64 -20 114 -20q134 0 177 205l217 1022h-179l21 106l194 76l21 92q44 198 134.5 281.5t256.5 83.5q115 0 211 -43l-61 -176q-74 28 -136 28q-69 0 -110.5 -43t-63.5 -141l-18 -86h229l-37 -178h-229l-223 -1053q-40 -189 -131 -278t-238 -89 -z" /> - <glyph glyph-name="g" unicode="g" horiz-adv-x="1067" -d="M1143 1106l-31 -137l-192 -33q28 -58 28 -137q0 -193 -119 -306.5t-319 -113.5q-52 0 -92 8q-111 -40 -111 -104q0 -38 31.5 -52t91.5 -22l127 -16q176 -22 252 -87.5t76 -187.5q0 -196 -151 -303t-429 -107q-203 0 -314.5 75t-111.5 206q0 103 69.5 178t223.5 127 -q-76 45 -76 127q0 69 46.5 119.5t146.5 97.5q-135 81 -135 252q0 196 122.5 316t323.5 120q80 0 160 -20h383zM324 18q-112 -18 -172 -71t-60 -131q0 -65 55.5 -103.5t169.5 -38.5q163 0 255 54t92 155q0 51 -45 80t-158 41zM594 969q-65 0 -114 -38.5t-76 -105t-27 -145.5 -q0 -71 35.5 -109.5t101.5 -38.5q65 0 112.5 39t74 107t26.5 149q0 142 -133 142z" /> - <glyph glyph-name="h" unicode="h" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 127q0 135 -129 135q-112 0 -209.5 -125t-142.5 -342l-98 -467h-236l330 1556h235l-57 -262q-27 -126 -73 -293l-19 -75h8q84 106 168.5 153t177.5 47q136 0 208.5 -77.5t72.5 -221.5q0 -76 -23 -174l-139 -653h-234z" /> - <glyph glyph-name="i" unicode="i" horiz-adv-x="563" -d="M330 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40 -112t-105 -41q-53 0 -88 26t-35 82zM283 0h-236l236 1106h235z" /> - <glyph glyph-name="j" unicode="j" horiz-adv-x="563" -d="M-113 -492q-90 0 -149 23v190q64 -20 117 -20q131 0 170 186l260 1219h233l-266 -1247q-38 -181 -127.5 -266t-237.5 -85zM332 1378q0 68 38 110t109 42q54 0 86.5 -26.5t32.5 -80.5q0 -71 -40 -112t-105 -41q-53 0 -87 25.5t-34 82.5z" /> - <glyph glyph-name="k" unicode="k" horiz-adv-x="1081" -d="M887 1106h272l-483 -485l291 -621h-262l-209 471l-136 -96l-77 -375h-236l330 1556h235q-135 -627 -159.5 -729.5t-59.5 -226.5h4z" /> - <glyph glyph-name="l" unicode="l" horiz-adv-x="563" -d="M281 0h-234l330 1556h235z" /> - <glyph glyph-name="m" unicode="m" horiz-adv-x="1819" -d="M807 1126q220 0 254 -235h8q75 116 170.5 175.5t198.5 59.5q133 0 202.5 -76.5t69.5 -215.5q0 -64 -22 -181l-140 -653h-235l143 672q19 95 19 133q0 129 -121 129q-108 0 -201.5 -124t-136.5 -329l-101 -481h-235l143 672q17 82 17 127q0 135 -117 135 -q-110 0 -203.5 -127t-138.5 -338l-98 -469h-236l236 1106h184l-21 -205h9q148 225 352 225z" /> - <glyph glyph-name="n" unicode="n" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236z" /> - <glyph glyph-name="o" unicode="o" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316z" /> - <glyph glyph-name="p" unicode="p" horiz-adv-x="1200" -d="M578 -20q-181 0 -269 176h-10q-7 -97 -25 -185l-96 -463h-233l338 1598h184l-21 -188h9q157 208 344 208q143 0 224 -103t81 -286q0 -204 -70 -381.5t-190.5 -276.5t-265.5 -99zM711 934q-81 0 -161 -79.5t-130.5 -210.5t-50.5 -271q0 -96 46.5 -149.5t131.5 -53.5 -t159 78.5t117 210t43 274.5q0 201 -155 201z" /> - <glyph glyph-name="q" unicode="q" horiz-adv-x="1198" -d="M625 1126q183 0 274 -178h10l64 158h178l-340 -1598h-233l75 349q12 56 43.5 180t38.5 141h-8q-84 -108 -164 -153t-170 -45q-139 0 -219 102.5t-80 284.5q0 208 73 387t192.5 275.5t265.5 96.5zM492 170q80 0 159 81t127.5 213t48.5 269q0 94 -45.5 147.5t-126.5 53.5 -q-86 0 -160 -77.5t-118.5 -209.5t-44.5 -274q0 -203 160 -203z" /> - <glyph glyph-name="r" unicode="r" horiz-adv-x="836" -d="M797 1126q62 0 108 -12l-51 -219q-54 14 -102 14q-126 0 -225 -113t-138 -296l-106 -500h-236l236 1106h184l-21 -205h9q83 120 166 172.5t176 52.5z" /> - <glyph glyph-name="s" unicode="s" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5z" /> - <glyph glyph-name="t" unicode="t" horiz-adv-x="752" -d="M455 170q68 0 151 31v-178q-35 -17 -95 -30t-120 -13q-274 0 -274 247q0 57 16 131l121 570h-162l21 110l190 82l129 232h146l-52 -246h279l-39 -178h-277l-122 -572q-13 -55 -13 -92q0 -43 25 -68.5t76 -25.5z" /> - <glyph glyph-name="u" unicode="u" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236z" /> - <glyph glyph-name="v" unicode="v" horiz-adv-x="997" -d="M231 0l-131 1106h232l55 -598q14 -159 14 -297h7q28 74 70 165t65 132l311 598h250l-598 -1106h-275z" /> - <glyph glyph-name="w" unicode="w" horiz-adv-x="1540" -d="M844 0l-19 627l-1 70l3 200q-25 -62 -51.5 -125t-345.5 -772h-262l-47 1106h221l13 -646q-2 -87 -11 -245h6q66 176 109 272l278 619h254l19 -604l1 -53l-3 -234h6q17 50 57 158.5t63.5 163.5t251.5 569h244l-518 -1106h-268z" /> - <glyph glyph-name="x" unicode="x" horiz-adv-x="1032" -d="M489 387l-305 -387h-270l475 569l-231 537h245l144 -373l287 373h274l-461 -549l248 -557h-246z" /> - <glyph glyph-name="y" unicode="y" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92z" /> - <glyph glyph-name="z" unicode="z" horiz-adv-x="920" -d="M719 0h-758l29 147l635 781h-439l39 178h705l-37 -170l-623 -758h486z" /> - <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="721" -d="M457 -324q-316 0 -316 236q0 61 17 133l45 201q14 65 14 98q0 141 -209 141l39 187q120 0 191.5 42.5t93.5 143.5l59 275q28 134 73 201.5t120 97.5t198 30h60l-41 -184q-96 0 -139.5 -34t-61.5 -116l-70 -309q-24 -108 -87 -170.5t-179 -79.5v-6q160 -45 160 -215 -q0 -38 -16 -121l-43 -194q-11 -48 -11 -74q0 -51 32.5 -74.5t109.5 -23.5v-185h-39z" /> - <glyph glyph-name="bar" unicode="|" -d="M498 1552h178v-2033h-178v2033z" /> - <glyph glyph-name="braceright" unicode="}" horiz-adv-x="721" -d="M270 1462q318 0 318 -235q0 -61 -17 -133l-45 -203q-14 -65 -14 -98q0 -142 209 -142l-39 -186q-121 0 -192 -42t-93 -142l-63 -306q-34 -165 -123.5 -232t-269.5 -67h-29v183q106 2 152.5 36.5t64.5 114.5l70 309q24 109 87 170t179 78v6q-158 48 -158 215q0 55 17 121 -l43 197q10 44 10 74q0 58 -43 78t-121 20l35 184h22z" /> - <glyph glyph-name="asciitilde" unicode="~" -d="M344 692q-51 0 -112 -31t-121 -90v191q100 108 249 108q64 0 118.5 -12t146.5 -51q70 -30 115 -42.5t94 -12.5q50 0 112.5 31t120.5 89v-190q-103 -111 -250 -111q-63 0 -124 16.5t-138 49.5q-76 32 -119.5 43.5t-91.5 11.5z" /> - <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="532" - /> - <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="557" -d="M221 645h174l-166 -1018h-274zM522 993q0 -80 -47 -130t-127 -50q-59 0 -93 31.5t-34 91.5q0 82 49 132t127 50q65 0 95 -35.5t30 -89.5z" /> - <glyph glyph-name="cent" unicode="&#xa2;" -d="M578 -20h-156l45 213q-132 34 -202 134.5t-70 258.5q0 190 63.5 351t178 260.5t261.5 121.5l35 164h156l-37 -164q124 -12 221 -57l-69 -185q-125 53 -222 53q-99 0 -180 -71.5t-125.5 -194.5t-44.5 -266q0 -111 56 -171t155 -60q74 0 138.5 21.5t129.5 53.5v-194 -q-133 -69 -293 -74z" /> - <glyph glyph-name="sterling" unicode="&#xa3;" -d="M856 1483q188 0 352 -86l-88 -183q-143 74 -258 74q-185 0 -227 -205l-57 -278h333l-34 -172h-336l-33 -152q-21 -98 -68.5 -165t-130.5 -109h690l-45 -207h-972l38 193q200 45 250 276l35 164h-196l36 172h197l61 299q38 185 153 282t300 97z" /> - <glyph glyph-name="currency" unicode="&#xa4;" -d="M209 723q0 110 61 205l-129 129l119 119l127 -127q102 61 207 61q108 0 207 -63l127 129l121 -117l-129 -129q61 -99 61 -207q0 -114 -61 -209l127 -125l-119 -119l-127 127q-95 -59 -207 -59q-120 0 -207 59l-127 -125l-117 119l127 125q-61 95 -61 207zM377 723 -q0 -91 62.5 -154t154.5 -63q91 0 156 62t65 155t-65 156t-156 63q-92 0 -154.5 -64t-62.5 -155z" /> - <glyph glyph-name="yen" unicode="&#xa5;" -d="M594 793l432 669h248l-518 -760h217l-35 -155h-274l-31 -148h274l-33 -155h-272l-53 -244h-221l51 244h-273l33 155h273l30 148h-272l35 155h211l-199 760h232z" /> - <glyph glyph-name="brokenbar" unicode="&#xa6;" -d="M498 1552h178v-794h-178v794zM498 315h178v-796h-178v796z" /> - <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="995" -d="M162 764q0 188 219 307q-47 32 -78 82t-31 115q0 138 111.5 220.5t296.5 82.5q178 0 332 -78l-68 -158q-62 29 -129.5 50.5t-144.5 21.5q-86 0 -134.5 -34.5t-48.5 -94.5q0 -43 36.5 -76.5t148.5 -83.5q127 -56 186.5 -127.5t59.5 -167.5q0 -92 -52.5 -171t-160.5 -140 -q102 -76 102 -193q0 -157 -123 -245t-330 -88q-188 0 -315 67v187q152 -93 319 -93q116 0 174 40.5t58 111.5q0 43 -39 79.5t-141 84.5q-130 60 -189 131.5t-59 169.5zM510 987q-69 -26 -110.5 -79t-41.5 -115q0 -61 46.5 -104.5t173.5 -100.5q62 36 99.5 90.5t37.5 114.5 -t-49.5 104.5t-155.5 89.5z" /> - <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1135" -d="M426 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM809 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1704" -d="M930 1034q-113 0 -175.5 -76t-62.5 -231q0 -301 238 -301q47 0 112 16t109 35v-158q-117 -51 -240 -51q-197 0 -303 123.5t-106 335.5q0 216 113.5 340.5t312.5 124.5q138 0 266 -66l-68 -147q-106 55 -196 55zM131 731q0 200 100 375t275 276t377 101q199 0 373.5 -99 -t276 -275.5t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM254 731q0 -168 83 -312.5t229 -230.5t317 -86q173 0 319.5 87t227.5 231.5t81 310.5q0 165 -82 310.5t-227.5 232t-318.5 86.5q-168 0 -314.5 -84.5 -t-230.5 -231t-84 -313.5z" /> - <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="729" -d="M498 1479q113 0 166 -103h6l39 90h118l-147 -684h-123l10 105h-4q-50 -62 -98 -89.5t-109 -27.5q-91 0 -143.5 66t-52.5 180q0 128 47 238.5t122.5 167.5t168.5 57zM412 897q50 0 97.5 48t77 127.5t29.5 158.5q0 119 -102 119q-82 0 -138.5 -97.5t-56.5 -230.5 -q0 -125 93 -125z" /> - <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1055" -d="M80 575l395 420l135 -118l-288 -332l153 -369l-178 -76l-217 453v22zM520 555l385 434l137 -112l-280 -351l147 -350l-180 -76l-209 430v25z" /> - <glyph glyph-name="logicalnot" unicode="&#xac;" -d="M1053 811v-555h-179v375h-757v180h936z" /> - <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="649" -d="M47 446l45 203h502l-45 -203h-502z" /> - <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1704" -d="M131 731q0 200 100 375t275 276t377 101q199 0 373.5 -99t276 -275.5t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM254 731q0 -168 83 -312.5t229 -230.5t317 -86q173 0 319.5 87t227.5 231.5t81 310.5 -q0 165 -82 310.5t-227.5 232t-318.5 86.5q-168 0 -314.5 -84.5t-230.5 -231t-84 -313.5zM1214 907q0 -83 -45.5 -145t-130.5 -98l211 -373h-200l-172 325h-91v-325h-178v878h269q337 0 337 -262zM786 760h72q84 0 129 36t45 99q0 73 -45.5 101t-128.5 28h-72v-264z" /> - <glyph glyph-name="overscore" unicode="&#xaf;" horiz-adv-x="903" -d="M1020 1556h-909l39 166h911z" /> - <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="877" -d="M188 1153q0 136 97 233t233 97t232 -97t96 -233q0 -137 -96 -231.5t-232 -94.5q-88 0 -165 44t-121 119t-44 163zM340 1153q0 -70 52 -122t126 -52q72 0 124 52t52 122q0 74 -51.5 126t-124.5 52q-74 0 -126 -51.5t-52 -126.5z" /> - <glyph glyph-name="plusminus" unicode="&#xb1;" -d="M496 657h-379v181h379v381h180v-381h377v-181h-377v-374h-180v374zM117 0v180h936v-180h-936z" /> - <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="745" -d="M682 586h-604l28 135l269 223q111 95 148.5 136t55 77t17.5 74q0 46 -28 72t-76 26q-91 0 -191 -80l-80 123q68 54 142.5 81.5t168.5 27.5q115 0 183.5 -60t68.5 -155q0 -69 -23.5 -124.5t-74 -110.5t-168.5 -146l-174 -142h371z" /> - <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="745" -d="M784 1272q0 -90 -54.5 -149t-158.5 -85v-4q78 -18 115 -67t37 -115q0 -129 -99.5 -206t-269.5 -77q-138 0 -250 56v159q126 -71 248 -71q90 0 139.5 37t49.5 106q0 113 -146 113h-108l28 133h93q89 0 142.5 34t53.5 99q0 100 -117 100q-92 0 -188 -65l-68 121 -q126 90 291 90q124 0 193 -55.5t69 -153.5z" /> - <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1135" -d="M508 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1221" -d="M358 307q0 -65 33 -101t96 -36q113 0 209.5 125.5t141.5 337.5l102 473h231l-235 -1106h-184l22 190h-10q-75 -111 -153 -160.5t-165 -49.5q-108 0 -155 81h-8q-9 -73 -39 -235l-66 -318h-233l338 1598h235l-141 -670q-19 -84 -19 -129z" /> - <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1341" -d="M1204 -260h-139v1638h-188v-1638h-140v819q-62 -18 -145 -18q-216 0 -318 125t-102 376q0 260 109 387t342 127h581v-1816z" /> - <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="551" -d="M150 692q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5z" /> - <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="420" -d="M236 -264q0 -106 -82 -167t-224 -61q-64 0 -118 15v135q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="745" -d="M532 1462h162l-186 -876h-191l99 461q17 79 57 217q-21 -20 -49.5 -43t-153.5 -103l-77 129z" /> - <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="721" -d="M776 1206q0 -126 -42 -225t-121 -155t-189 -56q-122 0 -191 73t-69 204q0 122 44 221.5t125.5 155t188.5 55.5q124 0 189 -71.5t65 -201.5zM510 1346q-81 0 -132.5 -87.5t-51.5 -216.5q0 -141 112 -141q77 0 127.5 87.5t50.5 219.5q0 138 -106 138z" /> - <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1055" -d="M975 510l-397 -418l-134 119l287 330l-153 370l180 76l217 -455v-22zM535 530l-385 -432l-140 113l281 348l-146 352l179 76l211 -432v-25z" /> - <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1661" -d="M1429 1462l-1083 -1462h-197l1085 1462h195zM490 1462h162l-186 -876h-191l99 461q17 79 57 217q-21 -20 -49.5 -43t-153.5 -103l-77 129zM1448 177h-122l-39 -176h-183l39 176h-368l26 137l477 569h197l-121 -563h123zM1172 320l52 221l34 129q-32 -51 -98 -131 -l-187 -219h199z" /> - <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1661" -d="M1401 1462l-1083 -1462h-197l1085 1462h195zM461 1462h162l-186 -876h-191l99 461q17 79 57 217q-21 -20 -49.5 -43t-153.5 -103l-77 129zM1464 1h-604l28 135l269 223q111 95 148.5 136t55 77t17.5 74q0 46 -28 72t-76 26q-91 0 -191 -80l-80 123q68 54 142.5 81.5 -t168.5 27.5q115 0 183.5 -60t68.5 -155q0 -69 -23.5 -124.5t-74 -110.5t-168.5 -146l-174 -142h371z" /> - <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1683" -d="M1571 1462l-1083 -1462h-197l1085 1462h195zM1554 177h-122l-39 -176h-183l39 176h-368l26 137l477 569h197l-121 -563h123zM1278 320l52 221l34 129q-32 -51 -98 -131l-187 -219h199zM788 1272q0 -90 -54.5 -149t-158.5 -85v-4q78 -18 115 -67t37 -115 -q0 -129 -99.5 -206t-269.5 -77q-138 0 -250 56v159q126 -71 248 -71q90 0 139.5 37t49.5 106q0 113 -146 113h-108l28 133h93q89 0 142.5 34t53.5 99q0 100 -117 100q-92 0 -188 -65l-68 121q126 90 291 90q124 0 193 -55.5t69 -153.5z" /> - <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="907" -d="M668 643q-25 -146 -79.5 -231t-170.5 -168q-107 -79 -145.5 -118t-57 -79t-18.5 -88q0 -71 42 -114.5t123 -43.5q76 0 149.5 27.5t152.5 65.5l75 -177q-205 -112 -409 -112q-174 0 -269.5 85.5t-95.5 241.5q0 120 64 219t231 216q93 64 141 122.5t70 153.5h197zM766 993 -q0 -85 -48 -134.5t-130 -49.5q-56 0 -89.5 32.5t-33.5 92.5q0 78 46.5 129t125.5 51q66 0 97.5 -34t31.5 -87z" /> - <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM915 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM707 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1157 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM967 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5 -t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM518 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM901 1718 -q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1039 1575q0 -104 -66 -165.5t-172 -61.5t-169.5 61t-63.5 164t65 164.5t168 61.5q104 0 171 -60.5t67 -163.5zM908 1573 -q0 50 -30 78.5t-77 28.5q-45 0 -74.5 -28.5t-29.5 -78.5q0 -49 26.5 -76.5t77.5 -27.5q47 0 77 27.5t30 76.5z" /> - <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1753" -d="M1520 0h-777l86 406h-432l-256 -406h-262l930 1462h1020l-43 -205h-539l-84 -395h504l-43 -200h-502l-98 -459h539zM872 614l138 643h-82l-400 -643h344z" /> - <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24zM791 -264 -q0 -106 -82 -167t-224 -61q-64 0 -118 15v135q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM903 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM633 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM1130 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM479 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM862 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM630 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM415 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM873 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM243 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM626 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1374" -d="M1311 893q0 -271 -100 -473t-291 -311t-449 -109h-401l129 623h-146l45 200h144l137 639h369q271 0 417 -145t146 -424zM483 201q177 0 309 86t202.5 242t70.5 356q0 184 -88 280.5t-256 96.5h-146l-94 -439h285l-45 -200h-283l-90 -422h135z" /> - <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1491" -d="M1192 0h-260l-410 1163h-6l-10 -69q-24 -149 -35.5 -212.5t-183.5 -881.5h-219l309 1462h268l399 -1149h7q6 54 31 192.5t40 203.5l160 753h219zM1108 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5 -t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1029 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM787 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1268 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1069 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM623 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1006 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z -" /> - <glyph glyph-name="multiply" unicode="&#xd7;" -d="M457 723l-310 311l125 125l312 -309l313 309l127 -123l-315 -313l311 -313l-123 -123l-313 309l-312 -307l-122 123z" /> - <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-193 0 -318 83l-118 -149l-133 104l129 160q-103 138 -103 365q0 267 98.5 487.5t269.5 337.5t388 117q189 0 317 -94l119 149l133 -104l-133 -166q94 -130 94 -348zM872 1282q-141 0 -253 -93t-177 -265 -t-65 -379q0 -88 24 -164l668 836q-80 65 -197 65zM1180 920q0 88 -19 143l-661 -825q75 -56 194 -56q139 0 250.5 95.5t173.5 264.5t62 378z" /> - <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM996 1579h-144q-65 63 -132 151.5t-101 155.5v21 -h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM791 1604q97 108 225 303h264v-19 -q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM1249 1579h-152q-76 63 -161 178 -q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM602 1718q0 60 35 98t98 38q48 0 76.5 -23.5 -t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM985 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM610 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1174" -d="M1124 817q0 -243 -166.5 -377.5t-476.5 -134.5h-108l-66 -305h-237l309 1462h237l-51 -243h97q227 0 344.5 -101t117.5 -301zM414 506h96q176 0 274.5 78.5t98.5 226.5q0 109 -59.5 158t-180.5 49h-121z" /> - <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1266" -d="M-117 -492q-69 0 -141 23v193q61 -21 113 -21q65 0 106.5 43.5t63.5 147.5l262 1234q48 231 173 333t349 102q188 0 292.5 -80t104.5 -215q0 -169 -179 -299q-118 -87 -148.5 -119.5t-30.5 -67.5q0 -44 74 -101q107 -84 143 -127t55 -92.5t19 -109.5q0 -172 -116 -272 -t-314 -100q-182 0 -283 65v201q126 -86 252 -86q105 0 164 44t59 124q0 48 -23.5 85t-111.5 107q-82 64 -121 121.5t-39 126.5q0 75 44.5 139t135.5 124q98 66 138.5 112t40.5 98q0 65 -47 101t-132 36q-210 0 -262 -239l-264 -1260q-42 -197 -134.5 -284t-242.5 -87z" /> - <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM847 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM598 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM1064 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM870 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM425 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM808 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z -" /> - <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM988 1466q0 -104 -66 -165.5t-172 -61.5t-169.5 61t-63.5 164t65 164.5t168 61.5q104 0 171 -60.5t67 -163.5zM857 1464q0 50 -30 78.5t-77 28.5q-45 0 -74.5 -28.5t-29.5 -78.5q0 -49 26.5 -76.5t77.5 -27.5q47 0 77 27.5 -t30 76.5z" /> - <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1726" -d="M1186 -20q-222 0 -305 137l-23 -117h-151l20 176h-8q-85 -106 -165.5 -151t-174.5 -45q-134 0 -209.5 103t-75.5 284q0 201 69 378t188.5 279t260.5 102q88 0 152 -43.5t108 -134.5h9l63 158h148l-25 -117q51 63 131 100t180 37q140 0 220.5 -76.5t80.5 -201.5 -q0 -182 -166.5 -284.5t-474.5 -102.5h-45l-4 -60q0 -117 60.5 -177t175.5 -60q125 0 305 84v-189q-175 -79 -344 -79zM465 170q85 0 162.5 80.5t125.5 215.5t48 267q0 91 -38.5 146t-113.5 55q-85 0 -159.5 -80t-116 -211t-41.5 -270q0 -105 37 -154t96 -49zM1333 946 -q-103 0 -188.5 -86t-122.5 -227h31q187 0 293 53.5t106 149.5q0 58 -34 84t-85 26z" /> - <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71zM621 -264q0 -106 -82 -167t-224 -61 -q-64 0 -118 15v135q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM813 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM557 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM1033 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM388 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM771 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM536 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM308 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM777 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM142 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM525 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1174" -d="M647 1325q-44 41 -135 96l106 152q129 -72 209 -146l250 138l70 -127l-217 -121q155 -205 155 -512q0 -255 -73 -444.5t-204 -285t-312 -95.5q-197 0 -306.5 107t-109.5 302q0 162 65.5 299t184.5 215t266 78q96 0 168 -38.5t113 -108.5h6q-10 243 -133 383l-250 -142 -l-72 129zM508 162q92 0 161.5 59.5t108.5 159t39 205.5q0 97 -52 155t-144 58q-91 0 -160.5 -56t-106.5 -153.5t-37 -212.5q0 -104 49 -159.5t142 -55.5z" /> - <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236zM889 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5 -t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM821 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM580 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM1054 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM854 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM409 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM792 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="divide" unicode="&#xf7;" -d="M117 631v180h936v-180h-936zM459 373q0 64 31.5 99.5t93.5 35.5t94.5 -36t32.5 -99q0 -64 -34.5 -100.5t-92.5 -36.5t-91.5 35.5t-33.5 101.5zM459 1071q0 64 31.5 99.5t93.5 35.5t94.5 -36t32.5 -99q0 -64 -34.5 -100.5t-92.5 -36.5t-91.5 35.5t-33.5 101.5z" /> - <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1174" -d="M1077 700q0 -208 -74 -376t-200.5 -255t-288.5 -87q-137 0 -235 59l-105 -131l-123 96l115 141q-70 104 -70 261q0 200 70.5 365t199.5 258t298 93q136 0 239 -61l86 108l125 -96l-100 -117q63 -100 63 -258zM653 936q-141 0 -235 -145.5t-94 -364.5q0 -39 8 -74l442 549 -q-45 35 -121 35zM528 168q89 0 163 66.5t116.5 184t42.5 257.5q0 45 -6 67l-436 -542q41 -33 120 -33z" /> - <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM823 1241h-144q-65 63 -132 151.5 -t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM623 1266q97 108 225 303h264v-19 -q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM1083 1241h-152q-76 63 -161 178 -q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM432 1380q0 60 35 98t98 38 -q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM815 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM501 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156 -v25z" /> - <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1200" -d="M586 -20q-94 0 -165 45.5t-114 130.5h-8q-7 -91 -25 -185l-96 -463h-233l432 2048h235q-48 -223 -73 -339t-76 -291h8q155 200 328 200q144 0 224.5 -102t80.5 -287q0 -204 -68 -381.5t-184.5 -276.5t-265.5 -99zM707 934q-84 0 -163 -81t-127 -213.5t-48 -266.5 -q0 -98 46 -150.5t132 -52.5t159.5 77t116.5 209t43 277q0 100 -41 150.5t-118 50.5z" /> - <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM323 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM706 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Amacron" unicode="&#x100;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM555 1755h582l-37 -176h-582z" /> - <glyph glyph-name="amacron" unicode="&#x101;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM467 1417h582l-37 -176h-582z" /> - <glyph glyph-name="Abreve" unicode="&#x102;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1170 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31 -t62.5 94h148z" /> - <glyph glyph-name="abreve" unicode="&#x103;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM1091 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1030 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47 -t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="aogonek" unicode="&#x105;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM889 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24zM791 1604 -q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71zM555 1266q97 108 225 303h264v-19 -q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24zM1260 1579h-152 -q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="ccircumflex" unicode="&#x109;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71zM1013 1241h-152q-76 63 -161 178 -q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Cdot" unicode="&#x10a;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24zM797 1716 -q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="cdot" unicode="&#x10b;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71zM566 1378q0 68 39 110t110 42q53 0 86 -26.5 -t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24zM574 1907h149 -q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71zM355 1569h149q69 -58 162 -178 -q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="1374" -d="M1311 893q0 -271 -100 -473t-291 -311t-449 -109h-401l309 1462h369q271 0 417 -145t146 -424zM483 201q177 0 309 86t202.5 242t70.5 356q0 184 -88 280.5t-256 96.5h-146l-227 -1061h135zM514 1907h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5 -t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="dcaron" unicode="&#x10f;" horiz-adv-x="1198" -d="M623 1126q179 0 268 -178h8q13 146 37 250l76 358h233l-330 -1556h-184l19 176h-7q-88 -106 -170 -151t-174 -45q-143 0 -224 101.5t-81 287.5q0 205 71.5 383t191.5 276t266 98zM489 170q82 0 162.5 82t129 214t48.5 267q0 91 -43.5 146t-132.5 55q-85 0 -159 -77 -t-118 -211t-44 -273q0 -203 157 -203zM1272 1255q80 144 137 301h221v-20q-33 -69 -101 -161.5t-122 -145.5h-135v26z" /> - <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="1374" -d="M1311 893q0 -271 -100 -473t-291 -311t-449 -109h-401l129 623h-146l45 200h144l137 639h369q271 0 417 -145t146 -424zM483 201q177 0 309 86t202.5 242t70.5 356q0 184 -88 280.5t-256 96.5h-146l-94 -439h285l-45 -200h-283l-90 -422h135z" /> - <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1198" -d="M614 1100q183 0 273 -170h8q5 75 23 180l22 109h-334l33 163h336l37 174h233l-37 -174h152l-35 -163h-151l-259 -1219h-184l19 176h-7q-82 -103 -164.5 -149.5t-175.5 -46.5q-146 0 -227.5 104t-81.5 285q0 192 67 364t185 269.5t268 97.5zM492 170q80 0 157.5 77 -t127.5 205t50 261q0 87 -42 140.5t-134 53.5q-87 0 -160.5 -73.5t-116 -198.5t-42.5 -262q0 -203 160 -203z" /> - <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM520 1755h582l-37 -176h-582z" /> - <glyph glyph-name="emacron" unicode="&#x113;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM436 1417h582l-37 -176h-582z" /> - <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM1143 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="ebreve" unicode="&#x115;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM1064 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM646 1687q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="edotaccent" unicode="&#x117;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM576 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM772 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="eogonek" unicode="&#x119;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM709 25q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM467 1907h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="ecaron" unicode="&#x11b;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM384 1569h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="1399" -d="M786 793h512l-157 -736q-112 -40 -218.5 -58.5t-238.5 -18.5q-261 0 -405 146t-144 413q0 264 102.5 483t290 340t426.5 121q111 0 213 -20.5t205 -69.5l-90 -203q-174 86 -334 86q-158 0 -287 -90.5t-203.5 -258t-74.5 -372.5q0 -183 89 -277t253 -94q109 0 215 33 -l80 371h-277zM1264 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="gcircumflex" unicode="&#x11d;" horiz-adv-x="1067" -d="M1143 1106l-31 -137l-192 -33q28 -58 28 -137q0 -193 -119 -306.5t-319 -113.5q-52 0 -92 8q-111 -40 -111 -104q0 -38 31.5 -52t91.5 -22l127 -16q176 -22 252 -87.5t76 -187.5q0 -196 -151 -303t-429 -107q-203 0 -314.5 75t-111.5 206q0 103 69.5 178t223.5 127 -q-76 45 -76 127q0 69 46.5 119.5t146.5 97.5q-135 81 -135 252q0 196 122.5 316t323.5 120q80 0 160 -20h383zM324 18q-112 -18 -172 -71t-60 -131q0 -65 55.5 -103.5t169.5 -38.5q163 0 255 54t92 155q0 51 -45 80t-158 41zM594 969q-65 0 -114 -38.5t-76 -105t-27 -145.5 -q0 -71 35.5 -109.5t101.5 -38.5q65 0 112.5 39t74 107t26.5 149q0 142 -133 142zM1069 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1399" -d="M786 793h512l-157 -736q-112 -40 -218.5 -58.5t-238.5 -18.5q-261 0 -405 146t-144 413q0 264 102.5 483t290 340t426.5 121q111 0 213 -20.5t205 -69.5l-90 -203q-174 86 -334 86q-158 0 -287 -90.5t-203.5 -258t-74.5 -372.5q0 -183 89 -277t253 -94q109 0 215 33 -l80 371h-277zM1268 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1067" -d="M1143 1106l-31 -137l-192 -33q28 -58 28 -137q0 -193 -119 -306.5t-319 -113.5q-52 0 -92 8q-111 -40 -111 -104q0 -38 31.5 -52t91.5 -22l127 -16q176 -22 252 -87.5t76 -187.5q0 -196 -151 -303t-429 -107q-203 0 -314.5 75t-111.5 206q0 103 69.5 178t223.5 127 -q-76 45 -76 127q0 69 46.5 119.5t146.5 97.5q-135 81 -135 252q0 196 122.5 316t323.5 120q80 0 160 -20h383zM324 18q-112 -18 -172 -71t-60 -131q0 -65 55.5 -103.5t169.5 -38.5q163 0 255 54t92 155q0 51 -45 80t-158 41zM594 969q-65 0 -114 -38.5t-76 -105t-27 -145.5 -q0 -71 35.5 -109.5t101.5 -38.5q65 0 112.5 39t74 107t26.5 149q0 142 -133 142zM1064 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Gdot" unicode="&#x120;" horiz-adv-x="1399" -d="M786 793h512l-157 -736q-112 -40 -218.5 -58.5t-238.5 -18.5q-261 0 -405 146t-144 413q0 264 102.5 483t290 340t426.5 121q111 0 213 -20.5t205 -69.5l-90 -203q-174 86 -334 86q-158 0 -287 -90.5t-203.5 -258t-74.5 -372.5q0 -183 89 -277t253 -94q109 0 215 33 -l80 371h-277zM805 1716q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="gdot" unicode="&#x121;" horiz-adv-x="1067" -d="M1143 1106l-31 -137l-192 -33q28 -58 28 -137q0 -193 -119 -306.5t-319 -113.5q-52 0 -92 8q-111 -40 -111 -104q0 -38 31.5 -52t91.5 -22l127 -16q176 -22 252 -87.5t76 -187.5q0 -196 -151 -303t-429 -107q-203 0 -314.5 75t-111.5 206q0 103 69.5 178t223.5 127 -q-76 45 -76 127q0 69 46.5 119.5t146.5 97.5q-135 81 -135 252q0 196 122.5 316t323.5 120q80 0 160 -20h383zM324 18q-112 -18 -172 -71t-60 -131q0 -65 55.5 -103.5t169.5 -38.5q163 0 255 54t92 155q0 51 -45 80t-158 41zM594 969q-65 0 -114 -38.5t-76 -105t-27 -145.5 -q0 -71 35.5 -109.5t101.5 -38.5q65 0 112.5 39t74 107t26.5 149q0 142 -133 142zM611 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="1399" -d="M786 793h512l-157 -736q-112 -40 -218.5 -58.5t-238.5 -18.5q-261 0 -405 146t-144 413q0 264 102.5 483t290 340t426.5 121q111 0 213 -20.5t205 -69.5l-90 -203q-174 86 -334 86q-158 0 -287 -90.5t-203.5 -258t-74.5 -372.5q0 -183 89 -277t253 -94q109 0 215 33 -l80 371h-277zM430 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="gcommaaccent" unicode="&#x123;" horiz-adv-x="1067" -d="M1143 1106l-31 -137l-192 -33q28 -58 28 -137q0 -193 -119 -306.5t-319 -113.5q-52 0 -92 8q-111 -40 -111 -104q0 -38 31.5 -52t91.5 -22l127 -16q176 -22 252 -87.5t76 -187.5q0 -196 -151 -303t-429 -107q-203 0 -314.5 75t-111.5 206q0 103 69.5 178t223.5 127 -q-76 45 -76 127q0 69 46.5 119.5t146.5 97.5q-135 81 -135 252q0 196 122.5 316t323.5 120q80 0 160 -20h383zM324 18q-112 -18 -172 -71t-60 -131q0 -65 55.5 -103.5t169.5 -38.5q163 0 255 54t92 155q0 51 -45 80t-158 41zM594 969q-65 0 -114 -38.5t-76 -105t-27 -145.5 -q0 -71 35.5 -109.5t101.5 -38.5q65 0 112.5 39t74 107t26.5 149q0 142 -133 142zM961 1542q-97 -181 -137 -301h-222v21q31 62 94.5 150.5t127.5 156.5h137v-27z" /> - <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="1411" -d="M1110 0h-238l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237zM1251 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="hcircumflex" unicode="&#x125;" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 127q0 135 -129 135q-112 0 -209.5 -125t-142.5 -342l-98 -467h-236l330 1556h235l-57 -262q-27 -126 -73 -293l-19 -75h8q84 106 168.5 153t177.5 47q136 0 208.5 -77.5t72.5 -221.5q0 -76 -23 -174l-139 -653h-234zM1137 1634h-152 -q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="1411" -d="M1374 1239h182l-34 -170h-185l-225 -1069h-240l140 659h-566l-139 -659h-237l225 1069h-182l37 170h182l47 223h237l-47 -223h566l47 223h239zM1055 864l43 205h-566l-43 -205h566z" /> - <glyph glyph-name="hbar" unicode="&#x127;" horiz-adv-x="1208" -d="M702 0l136 635q16 71 16 127q0 131 -121 131q-73 0 -146.5 -57.5t-130 -162t-83.5 -241.5l-90 -432h-236l260 1219h-157l36 163h154l37 174h235l-37 -174h324l-35 -163h-323l-84 -328h8q83 106 167 152.5t177 46.5q278 0 278 -314q0 -56 -20 -160l-131 -616h-234z" /> - <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM671 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="itilde" unicode="&#x129;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM585 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM263 1755h582l-37 -176h-582z" /> - <glyph glyph-name="imacron" unicode="&#x12b;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM165 1417h582l-37 -176h-582z" /> - <glyph glyph-name="Ibreve" unicode="&#x12c;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM888 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="ibreve" unicode="&#x12d;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM790 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM297 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="iogonek" unicode="&#x12f;" horiz-adv-x="563" -d="M330 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40 -112t-105 -41q-53 0 -88 26t-35 82zM283 0h-236l236 1106h235zM283 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131 -q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM416 1716q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235z" /> - <glyph glyph-name="IJ" unicode="&#x132;" horiz-adv-x="1221" -d="M456 -408q-104 0 -170 25l5 201q84 -21 153 -21q201 0 254 250l299 1415h238l-305 -1446q-46 -217 -161.5 -320.5t-312.5 -103.5zM70 0l311 1462h235l-311 -1462h-235z" /> - <glyph glyph-name="ij" unicode="&#x133;" -d="M330 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40 -112t-105 -41q-53 0 -88 26t-35 82zM283 0h-236l236 1106h235zM450 -492q-90 0 -149 23v190q64 -20 117 -20q131 0 170 186l260 1219h233l-266 -1247q-38 -181 -127.5 -266t-237.5 -85zM895 1378 -q0 68 38 110t109 42q54 0 86.5 -26.5t32.5 -80.5q0 -71 -40 -112t-105 -41q-53 0 -87 25.5t-34 82.5z" /> - <glyph glyph-name="Jcircumflex" unicode="&#x134;" horiz-adv-x="612" -d="M-152 -408q-104 0 -170 25l5 201q84 -21 153 -21q201 0 254 250l299 1415h238l-305 -1446q-46 -217 -161.5 -320.5t-312.5 -103.5zM873 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="jcircumflex" unicode="&#x135;" horiz-adv-x="563" -d="M-113 -492q-93 0 -147 23v190q62 -20 117 -20q131 0 170 186l258 1219h233l-264 -1247q-38 -182 -128.5 -266.5t-238.5 -84.5zM769 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="1198" -d="M1087 0h-262l-252 655l-149 -100l-117 -555h-237l309 1462h237l-151 -706l141 166l492 540h284l-616 -669zM301 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="kcommaaccent" unicode="&#x137;" horiz-adv-x="1081" -d="M887 1106h272l-483 -485l291 -621h-262l-209 471l-136 -96l-77 -375h-236l330 1556h235q-135 -627 -159.5 -729.5t-59.5 -226.5h4zM235 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="kgreenlandic" unicode="&#x138;" horiz-adv-x="1081" -d="M395 598l492 508h272l-483 -485l291 -621h-262l-209 471l-136 -96l-77 -375h-236l234 1106h235l-57 -262q-13 -53 -68 -246h4z" /> - <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="1016" -d="M70 0l309 1462h237l-266 -1257h539l-43 -205h-776zM421 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="563" -d="M281 0h-234l330 1556h235zM396 1661q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="1016" -d="M70 0l309 1462h237l-266 -1257h539l-43 -205h-776zM250 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="lcommaaccent" unicode="&#x13c;" horiz-adv-x="563" -d="M281 0h-234l330 1556h235zM-98 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="1016" -d="M70 0l309 1462h237l-266 -1257h539l-43 -205h-776zM766 1162q80 144 137 301h221v-20q-33 -69 -101 -161.5t-122 -145.5h-135v26z" /> - <glyph glyph-name="lcaron" unicode="&#x13e;" horiz-adv-x="563" -d="M281 0h-234l330 1556h235zM637 1255q80 144 137 301h221v-20q-33 -69 -101 -161.5t-122 -145.5h-135v26z" /> - <glyph glyph-name="Ldot" unicode="&#x13f;" horiz-adv-x="1016" -d="M70 0l309 1462h237l-266 -1257h539l-43 -205h-776zM689 717q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="ldot" unicode="&#x140;" horiz-adv-x="733" -d="M281 0h-234l330 1556h235zM551 703q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1016" -d="M70 0l106 494l-84 -48l-82 156l213 117l156 743h237l-124 -594l188 107l84 -156l-322 -178l-92 -436h539l-43 -205h-776z" /> - <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="590" -d="M483 903l95 55l79 -153l-223 -127l-143 -678h-234l113 530l-88 -51l-80 154l215 123l172 800h232z" /> - <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="1491" -d="M1192 0h-260l-410 1163h-6l-10 -69q-24 -149 -35.5 -212.5t-183.5 -881.5h-219l309 1462h268l399 -1149h7q6 54 31 192.5t40 203.5l160 753h219zM844 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="nacute" unicode="&#x144;" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236zM621 1266q97 108 225 303h264v-19 -q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="1491" -d="M1192 0h-260l-410 1163h-6l-10 -69q-24 -149 -35.5 -212.5t-183.5 -881.5h-219l309 1462h268l399 -1149h7q6 54 31 192.5t40 203.5l160 753h219zM381 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="ncommaaccent" unicode="&#x146;" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236zM239 -426q87 156 135 301h222v-20 -q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="1491" -d="M1192 0h-260l-410 1163h-6l-10 -69q-24 -149 -35.5 -212.5t-183.5 -881.5h-219l309 1462h268l399 -1149h7q6 54 31 192.5t40 203.5l160 753h219zM635 1907h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="ncaron" unicode="&#x148;" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236zM422 1569h149q69 -58 162 -178q125 105 238 178h162 -v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="napostrophe" unicode="&#x149;" horiz-adv-x="1358" -d="M849 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236zM482 1462l8 -22q-37 -83 -110.5 -217.5 -t-155.5 -261.5h-178q43 95 106 255t92 246h238z" /> - <glyph glyph-name="Eng" unicode="&#x14a;" horiz-adv-x="1491" -d="M721 -406q-108 0 -172 25l4 203q87 -23 154 -23q206 0 260 201l-445 1163h-6q-45 -293 -72 -418l-157 -745h-219l309 1462h256l418 -1100h6q26 169 76 394l149 706h219l-309 -1462q-43 -200 -161 -303t-310 -103z" /> - <glyph glyph-name="eng" unicode="&#x14b;" horiz-adv-x="1208" -d="M541 -492q-76 0 -148 23v193q61 -23 117 -23q129 0 168 188l166 783q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -58 -23 -181l-155 -741 -q-34 -159 -80 -240t-119 -122.5t-180 -41.5z" /> - <glyph glyph-name="Omacron" unicode="&#x14c;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM665 1755h582l-37 -176h-582z" /> - <glyph glyph-name="omacron" unicode="&#x14d;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM440 1417h582l-37 -176h-582z" /> - <glyph glyph-name="Obreve" unicode="&#x14e;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1268 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM1058 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM645 1604q66 74 132.5 164t96.5 139h240v-19q-39 -51 -152.5 -155.5t-185.5 -153.5h-131v25zM1014 1604q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="ohungarumlaut" unicode="&#x151;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM397 1266q66 74 132.5 164t96.5 139h240v-19q-39 -51 -152.5 -155.5t-185.5 -153.5h-131v25zM766 1266q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="1798" -d="M1565 0h-717q-84 -20 -170 -20q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q145 0 223 -23h760l-43 -205h-539l-84 -395h504l-43 -200h-504l-96 -459h539zM692 184q74 0 139 27l222 1038q-68 31 -181 31q-138 0 -250 -96t-175.5 -266.5 -t-63.5 -372.5q0 -173 81.5 -267t227.5 -94z" /> - <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1788" -d="M1225 -20q-120 0 -212.5 46t-140.5 138q-137 -182 -374 -182q-186 0 -295 115.5t-109 312.5q0 206 73.5 372.5t201 254t293.5 87.5q237 0 335 -192q73 91 174 142.5t226 51.5q159 0 246.5 -74.5t87.5 -203.5q0 -183 -165.5 -285t-471.5 -102h-47l-3 -60q0 -111 56.5 -174 -t169.5 -63q69 0 134.5 17.5t176.5 66.5v-189q-91 -43 -175 -61t-181 -18zM647 930q-87 0 -157.5 -64t-114 -186.5t-43.5 -267.5q0 -116 48.5 -177t139.5 -61q143 0 229.5 146.5t86.5 381.5q0 111 -49.5 169.5t-139.5 58.5zM1386 946q-105 0 -192 -85.5t-121 -227.5h31 -q189 0 294 54t105 155q0 48 -30 76t-87 28z" /> - <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="1206" -d="M430 584l-123 -584h-237l309 1462h338q223 0 342 -94.5t119 -290.5q0 -165 -86.5 -278.5t-257.5 -165.5l249 -633h-260l-207 584h-186zM473 782h123q170 0 254 75t84 206q0 105 -59 151t-183 46h-119zM662 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5 -h-156v25z" /> - <glyph glyph-name="racute" unicode="&#x155;" horiz-adv-x="836" -d="M797 1126q62 0 108 -12l-51 -219q-54 14 -102 14q-126 0 -225 -113t-138 -296l-106 -500h-236l236 1106h184l-21 -205h9q83 120 166 172.5t176 52.5zM482 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="1206" -d="M430 584l-123 -584h-237l309 1462h338q223 0 342 -94.5t119 -290.5q0 -165 -86.5 -278.5t-257.5 -165.5l249 -633h-260l-207 584h-186zM473 782h123q170 0 254 75t84 206q0 105 -59 151t-183 46h-119zM305 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5 -h-135v27z" /> - <glyph glyph-name="rcommaaccent" unicode="&#x157;" horiz-adv-x="836" -d="M797 1126q62 0 108 -12l-51 -219q-54 14 -102 14q-126 0 -225 -113t-138 -296l-106 -500h-236l236 1106h184l-21 -205h9q83 120 166 172.5t176 52.5zM-100 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="1206" -d="M430 584l-123 -584h-237l309 1462h338q223 0 342 -94.5t119 -290.5q0 -165 -86.5 -278.5t-257.5 -165.5l249 -633h-260l-207 584h-186zM473 782h123q170 0 254 75t84 206q0 105 -59 151t-183 46h-119zM479 1907h149q69 -58 162 -178q125 105 238 178h162v-27 -q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="rcaron" unicode="&#x159;" horiz-adv-x="836" -d="M797 1126q62 0 108 -12l-51 -219q-54 14 -102 14q-126 0 -225 -113t-138 -296l-106 -500h-236l236 1106h184l-21 -205h9q83 120 166 172.5t176 52.5zM296 1569h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z -" /> - <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5zM614 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="sacute" unicode="&#x15b;" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5zM466 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5zM1069 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="scircumflex" unicode="&#x15d;" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5zM916 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5zM576 -264q0 -106 -82 -167t-224 -61q-64 0 -118 15v135q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5zM515 -264q0 -106 -82 -167t-224 -61q-64 0 -118 15v135q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5zM392 1907h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5zM267 1569h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="Tcedilla" unicode="&#x162;" horiz-adv-x="1053" -d="M528 0h-237l264 1257h-379l45 205h998l-43 -205h-381zM570 -264q0 -106 -82 -167t-224 -61q-64 0 -118 15v135q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="tcedilla" unicode="&#x163;" horiz-adv-x="752" -d="M455 170q68 0 151 31v-178q-35 -17 -95 -30t-120 -13q-274 0 -274 247q0 57 16 131l121 570h-162l21 110l190 82l129 232h146l-52 -246h279l-39 -178h-277l-122 -572q-13 -55 -13 -92q0 -43 25 -68.5t76 -25.5zM519 -264q0 -106 -82 -167t-224 -61q-64 0 -118 15v135 -q47 -14 96 -14q137 0 137 96q0 40 -35 61.5t-104 30.5l98 168h146l-50 -96q72 -25 104 -67t32 -101z" /> - <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="1053" -d="M528 0h-237l264 1257h-379l45 205h998l-43 -205h-381zM432 1907h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="tcaron" unicode="&#x165;" horiz-adv-x="752" -d="M455 170q68 0 151 31v-178q-35 -17 -95 -30t-120 -13q-274 0 -274 247q0 57 16 131l121 570h-162l21 110l190 82l129 232h146l-52 -246h279l-39 -178h-277l-122 -572q-13 -55 -13 -92q0 -43 25 -68.5t76 -25.5zM701 1263q80 144 137 301h221v-20q-33 -69 -101 -161.5 -t-122 -145.5h-135v26z" /> - <glyph glyph-name="Tbar" unicode="&#x166;" horiz-adv-x="1053" -d="M705 831h264l-41 -194h-264l-136 -637h-237l133 637h-256l43 194h254l90 426h-379l45 205h998l-43 -205h-381z" /> - <glyph glyph-name="tbar" unicode="&#x167;" horiz-adv-x="752" -d="M455 170q68 0 151 31v-178q-35 -17 -95 -30t-120 -13q-274 0 -274 247q0 28 4 61t51 253h-135l33 164h135l49 223h-162l21 110l190 82l129 232h146l-52 -246h279l-39 -178h-277l-49 -223h240l-35 -164h-239l-39 -185q-13 -55 -13 -92q0 -43 25 -68.5t76 -25.5z" /> - <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM1065 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5 -t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="utilde" unicode="&#x169;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM901 1241q-45 0 -82.5 17t-71.5 37.5 -t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM651 1755h582l-37 -176h-582z" /> - <glyph glyph-name="umacron" unicode="&#x16b;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM483 1417h582l-37 -176h-582z" /> - <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM1264 1882q-31 -155 -120 -229t-241 -74 -q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="ubreve" unicode="&#x16d;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM1098 1544q-31 -155 -120 -229t-241 -74 -q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM1164 1804q0 -104 -66 -165.5t-172 -61.5t-169.5 61 -t-63.5 164t65 164.5t168 61.5q104 0 171 -60.5t67 -163.5zM1033 1802q0 50 -30 78.5t-77 28.5q-45 0 -74.5 -28.5t-29.5 -78.5q0 -49 26.5 -76.5t77.5 -27.5q47 0 77 27.5t30 76.5z" /> - <glyph glyph-name="uring" unicode="&#x16f;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM995 1466q0 -104 -66 -165.5t-172 -61.5 -t-169.5 61t-63.5 164t65 164.5t168 61.5q104 0 171 -60.5t67 -163.5zM864 1464q0 50 -30 78.5t-77 28.5q-45 0 -74.5 -28.5t-29.5 -78.5q0 -49 26.5 -76.5t77.5 -27.5q47 0 77 27.5t30 76.5z" /> - <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM631 1604q66 74 132.5 164t96.5 139h240v-19 -q-39 -51 -152.5 -155.5t-185.5 -153.5h-131v25zM1000 1604q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="uhungarumlaut" unicode="&#x171;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM442 1266q66 74 132.5 164t96.5 139h240 -v-19q-39 -51 -152.5 -155.5t-185.5 -153.5h-131v25zM811 1266q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM838 0q-111 -88 -150.5 -145.5t-39.5 -108.5 -q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="uogonek" unicode="&#x173;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM899 0q-111 -88 -150.5 -145.5 -t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="1788" -d="M1317 0h-258l-37 842l-6 185l4 106h-6q-47 -144 -117 -291l-385 -842h-256l-53 1462h229l19 -850q0 -136 -13 -346h6q83 221 142 355l387 841h225l31 -839l3 -169l-3 -188h8q28 88 70 197.5t61 152.5l358 846h246zM1448 1579h-152q-76 63 -161 178q-131 -110 -236 -178 -h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="wcircumflex" unicode="&#x175;" horiz-adv-x="1540" -d="M844 0l-19 627l-1 70l3 200q-25 -62 -51.5 -125t-345.5 -772h-262l-47 1106h221l13 -646q-2 -87 -11 -245h6q66 176 109 272l278 619h254l19 -604l1 -53l-3 -234h6q17 50 57 158.5t63.5 163.5t251.5 569h244l-518 -1106h-268zM1229 1241h-152q-76 63 -161 178 -q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Ycircumflex" unicode="&#x176;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM1069 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="ycircumflex" unicode="&#x177;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM951 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25 -q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM440 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM823 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102 -t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="1092" -d="M901 0h-940l33 168l850 1087h-598l43 207h897l-35 -172l-852 -1085h645zM635 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="920" -d="M719 0h-758l29 147l635 781h-439l39 178h705l-37 -170l-623 -758h486zM501 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="1092" -d="M901 0h-940l33 168l850 1087h-598l43 207h897l-35 -172l-852 -1085h645zM627 1716q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="zdotaccent" unicode="&#x17c;" horiz-adv-x="920" -d="M719 0h-758l29 147l635 781h-439l39 178h705l-37 -170l-623 -758h486zM476 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1092" -d="M901 0h-940l33 168l850 1087h-598l43 207h897l-35 -172l-852 -1085h645zM445 1907h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="920" -d="M719 0h-758l29 147l635 781h-439l39 178h705l-37 -170l-623 -758h486zM298 1569h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="longs" unicode="&#x17f;" horiz-adv-x="647" -d="M-104 -492q-91 0 -150 23v190q64 -20 115 -20q62 0 108 50t68 155l274 1296q41 192 131 278.5t258 86.5q117 0 213 -43l-61 -176q-74 28 -135 28q-69 0 -111 -42.5t-63 -141.5l-279 -1317q-40 -191 -130.5 -279t-237.5 -88z" /> - <glyph glyph-name="florin" unicode="&#x192;" -d="M135 -492q-90 0 -149 23v190q64 -20 114 -20q62 0 108.5 50t67.5 155l193 915h-178l20 109l197 71l22 117q37 190 129.5 277.5t262.5 87.5q115 0 213 -43l-62 -176q-74 28 -135 28q-71 0 -112.5 -42.5t-61.5 -141.5l-23 -109h228l-37 -178h-227l-201 -946 -q-43 -192 -133.5 -279.5t-235.5 -87.5z" /> - <glyph glyph-name="Ohorn" unicode="&#x1a0;" horiz-adv-x="1522" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q302 0 440 -213q72 37 110.5 107.5t53.5 176.5h246l8 -24q-41 -152 -129.5 -245.5t-230.5 -149.5q32 -102 32 -215zM872 1280 -q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5t172 265t61.5 375.5q0 170 -79 265t-223 95z" /> - <glyph glyph-name="ohorn" unicode="&#x1a1;" horiz-adv-x="1233" -d="M664 1124q219 0 329 -145q71 28 115 96t68 199h239l8 -23q-40 -157 -125.5 -249.5t-242.5 -149.5q24 -71 24 -160q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5t298 92.5zM842 702q0 107 -49 167.5t-140 60.5 -q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5z" /> - <glyph glyph-name="Uhorn" unicode="&#x1af;" horiz-adv-x="1532" -d="M1419 1462l-41 -192q84 23 130 93t65 193h244l10 -24q-47 -176 -171 -284.5t-310 -131.5l-129 -610q-57 -269 -208.5 -397.5t-400.5 -128.5q-218 0 -337 108t-119 305q0 72 20 168l193 901h237l-192 -907q-21 -90 -21 -147q0 -224 240 -224q147 0 232 83.5t122 258.5 -l199 936h237z" /> - <glyph glyph-name="uhorn" unicode="&#x1b0;" horiz-adv-x="1360" -d="M506 1106l-144 -674q-16 -76 -16 -125q0 -137 127 -137q112 0 210.5 127.5t143.5 339.5l99 469h233l-24 -119q80 19 127.5 87t68.5 200h244l8 -25q-44 -174 -168 -282t-313 -133l-176 -834h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76.5t-74 219.5 -q0 66 26 191l135 639h236z" /> - <glyph glyph-name="uni01F0" unicode="&#x1f0;" horiz-adv-x="563" -d="M-113 -492q-93 0 -147 23v190q62 -20 117 -20q131 0 170 186l258 1219h233l-264 -1247q-38 -182 -128.5 -266.5t-238.5 -84.5zM126 1569h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="Aringacute" unicode="&#x1fa;" horiz-adv-x="1210" -d="M1030 1446q0 -114 -84 -180l156 -1266h-234l-43 397h-483l-209 -397h-252l713 1315q-35 48 -35 129q0 103 65.5 164t168.5 61q104 0 170.5 -61t66.5 -162zM725 1741q43 36 112 105t107 116h277v-14q-53 -49 -148.5 -113.5t-181.5 -112.5h-166v19zM897 1444q0 49 -29 77.5 -t-75 28.5q-47 0 -77 -28.5t-30 -77.5q0 -50 27 -77.5t80 -27.5q46 0 75 27.5t29 77.5zM737 1178q-22 -51 -46.5 -103t-239.5 -471h358q-38 363 -42.5 433t-8.5 141h-21z" /> - <glyph glyph-name="aringacute" unicode="&#x1fb;" horiz-adv-x="1182" -d="M670 1741q48 41 115 109t104 112h276v-14q-42 -41 -138 -107t-191 -119h-166v19zM969 1423q0 -102 -65 -163.5t-173 -61.5q-106 0 -169.5 60.5t-63.5 162.5q0 103 65 164.5t168 61.5q104 0 171 -60.5t67 -163.5zM838 1421q0 50 -30 78.5t-77 28.5q-46 0 -75 -28.5 -t-29 -78.5q0 -48 26 -76t78 -28q47 0 77 28t30 76zM399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284 -q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5z" /> - <glyph glyph-name="AEacute" unicode="&#x1fc;" horiz-adv-x="1753" -d="M1520 0h-777l86 406h-432l-256 -406h-262l930 1462h1020l-43 -205h-539l-84 -395h504l-43 -200h-502l-98 -459h539zM872 614l138 643h-82l-400 -643h344zM1129 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="aeacute" unicode="&#x1fd;" horiz-adv-x="1726" -d="M1186 -20q-222 0 -305 137l-23 -117h-151l20 176h-8q-85 -106 -165.5 -151t-174.5 -45q-134 0 -209.5 103t-75.5 284q0 201 69 378t188.5 279t260.5 102q88 0 152 -43.5t108 -134.5h9l63 158h148l-25 -117q51 63 131 100t180 37q140 0 220.5 -76.5t80.5 -201.5 -q0 -182 -166.5 -284.5t-474.5 -102.5h-45l-4 -60q0 -117 60.5 -177t175.5 -60q125 0 305 84v-189q-175 -79 -344 -79zM465 170q85 0 162.5 80.5t125.5 215.5t48 267q0 91 -38.5 146t-113.5 55q-85 0 -159.5 -80t-116 -211t-41.5 -270q0 -105 37 -154t96 -49zM1333 946 -q-103 0 -188.5 -86t-122.5 -227h31q187 0 293 53.5t106 149.5q0 58 -34 84t-85 26zM934 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Oslashacute" unicode="&#x1fe;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-193 0 -318 83l-118 -149l-133 104l129 160q-103 138 -103 365q0 267 98.5 487.5t269.5 337.5t388 117q189 0 317 -94l119 149l133 -104l-133 -166q94 -130 94 -348zM872 1282q-141 0 -253 -93t-177 -265 -t-65 -379q0 -88 24 -164l668 836q-80 65 -197 65zM1180 920q0 88 -19 143l-661 -825q75 -56 194 -56q139 0 250.5 95.5t173.5 264.5t62 378zM782 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="oslashacute" unicode="&#x1ff;" horiz-adv-x="1174" -d="M1077 700q0 -208 -74 -376t-200.5 -255t-288.5 -87q-137 0 -235 59l-105 -131l-123 96l115 141q-70 104 -70 261q0 200 70.5 365t199.5 258t298 93q136 0 239 -61l86 108l125 -96l-100 -117q63 -100 63 -258zM653 936q-141 0 -235 -145.5t-94 -364.5q0 -39 8 -74l442 549 -q-45 35 -121 35zM528 168q89 0 163 66.5t116.5 184t42.5 257.5q0 45 -6 67l-436 -542q41 -33 120 -33zM571 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5zM166 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="scommaaccent" unicode="&#x219;" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5zM101 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="Tcommaaccent" unicode="&#x21a;" horiz-adv-x="1053" -d="M528 0h-237l264 1257h-379l45 205h998l-43 -205h-381zM136 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="tcommaaccent" unicode="&#x21b;" horiz-adv-x="752" -d="M455 170q68 0 151 31v-178q-35 -17 -95 -30t-120 -13q-274 0 -274 247q0 57 16 131l121 570h-162l21 110l190 82l129 232h146l-52 -246h279l-39 -178h-277l-122 -572q-13 -55 -13 -92q0 -43 25 -68.5t76 -25.5zM58 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5 -t-129 -155.5h-135v27z" /> - <glyph glyph-name="dotlessj" unicode="&#x237;" horiz-adv-x="563" -d="M-113 -492q-93 0 -147 23v190q62 -20 117 -20q131 0 170 186l258 1219h233l-264 -1247q-38 -182 -128.5 -266.5t-238.5 -84.5z" /> - <glyph glyph-name="uni02BC" unicode="&#x2bc;" horiz-adv-x="393" -d="M551 1462l8 -22q-37 -83 -110.5 -217.5t-155.5 -261.5h-178q43 95 106 255t92 246h238z" /> - <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="1135" -d="M1067 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="1135" -d="M422 1569h149q69 -58 162 -178q125 105 238 178h162v-27q-80 -71 -169 -162.5t-122 -138.5h-248q-44 110 -172 301v27z" /> - <glyph glyph-name="macron" unicode="&#x2c9;" horiz-adv-x="1096" -d="M432 1417h582l-37 -176h-582z" /> - <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="1135" -d="M1098 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="553" -d="M322 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="1182" -d="M1012 1466q0 -104 -66 -165.5t-172 -61.5t-169.5 61t-63.5 164t65 164.5t168 61.5q104 0 171 -60.5t67 -163.5zM881 1464q0 50 -30 78.5t-77 28.5q-45 0 -74.5 -28.5t-29.5 -78.5q0 -49 26.5 -76.5t77.5 -27.5q47 0 77 27.5t30 76.5z" /> - <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="397" -d="M213 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="1135" -d="M852 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="1135" -d="M338 1266q66 74 132.5 164t96.5 139h240v-19q-39 -51 -152.5 -155.5t-185.5 -153.5h-131v25zM707 1266q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="uni02F3" unicode="&#x2f3;" horiz-adv-x="682" -d="M387 -348q0 -100 -64.5 -163.5t-175.5 -63.5q-108 0 -170.5 61t-62.5 164t63.5 164t169.5 61q104 0 172 -61t68 -162zM252 -350q0 49 -29 76.5t-76 27.5q-46 0 -76 -27.5t-30 -76.5q0 -50 27 -78.5t79 -28.5q47 0 76 28.5t29 78.5z" /> - <glyph glyph-name="uni0300" unicode="&#x300;" horiz-adv-x="0" -d="M-377 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="uni0301" unicode="&#x301;" horiz-adv-x="0" -d="M-564 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni0303" unicode="&#x303;" horiz-adv-x="0" -d="M-343 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="hook" unicode="&#x309;" horiz-adv-x="0" -d="M-205 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni030F" unicode="&#x30f;" horiz-adv-x="0" -d="M-608 1241h-133q-60 60 -129 149.5t-103 157.5v21h234q42 -150 131 -303v-25zM-244 1241h-133q-64 64 -131.5 153.5t-99.5 153.5v21h233q42 -150 131 -303v-25z" /> - <glyph glyph-name="dotbelow" unicode="&#x323;" horiz-adv-x="0" -d="M-889 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="tonos" unicode="&#x384;" horiz-adv-x="1143" -d="M594 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="dieresistonos" unicode="&#x385;" horiz-adv-x="1143" -d="M395 1380q0 60 33 98t92 38q45 0 71.5 -23.5t26.5 -71.5q0 -65 -33 -102t-87 -37q-44 0 -73.5 23.5t-29.5 74.5zM872 1380q0 60 33.5 98t91.5 38q45 0 72 -23.5t27 -71.5q0 -65 -33.5 -102t-87.5 -37q-43 0 -73 23.5t-30 74.5zM655 1415q107 214 136 301h229v-20 -q-47 -75 -183 -227l-71 -80h-111v26z" /> - <glyph glyph-name="Alphatonos" unicode="&#x386;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM108 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="anoteleia" unicode="&#x387;" horiz-adv-x="551" -d="M150 692q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5z" /> - <glyph glyph-name="Epsilontonos" unicode="&#x388;" horiz-adv-x="1227" -d="M979 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM52 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="Etatonos" unicode="&#x389;" horiz-adv-x="1563" -d="M1260 0h-238l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237zM52 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="Iotatonos" unicode="&#x38a;" horiz-adv-x="774" -d="M234 0l311 1462h235l-311 -1462h-235zM65 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="Omicrontonos" unicode="&#x38c;" horiz-adv-x="1581" -d="M1517 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM968 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM77 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="Upsilontonos" unicode="&#x38e;" horiz-adv-x="1389" -d="M877 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM52 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="Omegatonos" unicode="&#x38f;" horiz-adv-x="1618" -d="M987 1280q-132 0 -235.5 -72t-164.5 -210.5t-61 -305.5q0 -159 43 -275t142 -214l-43 -203h-580l41 205h360q-102 85 -155 212.5t-53 284.5q0 225 92.5 406t255 279t375.5 98q170 0 292.5 -66t187 -190.5t64.5 -288.5q0 -233 -106.5 -421t-319.5 -314h365l-43 -205h-627 -l43 203q218 128 330.5 311t112.5 412q0 170 -82 262t-234 92zM87 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="iotadieresistonos" unicode="&#x390;" horiz-adv-x="688" -d="M436 170q65 0 150 31v-178q-35 -17 -94.5 -30t-122.5 -13q-269 0 -269 247q0 51 21 154l153 725h236l-156 -737q-14 -68 -14 -105q0 -94 96 -94zM103 1380q0 60 33 98t92 38q45 0 71.5 -23.5t26.5 -71.5q0 -65 -33 -102t-87 -37q-44 0 -73.5 23.5t-29.5 74.5zM580 1380 -q0 60 33.5 98t91.5 38q45 0 72 -23.5t27 -71.5q0 -65 -33.5 -102t-87.5 -37q-43 0 -73 23.5t-30 74.5zM363 1415q107 214 136 301h229v-20q-47 -75 -183 -227l-71 -80h-111v26z" /> - <glyph glyph-name="Alpha" unicode="&#x391;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365z" /> - <glyph glyph-name="Beta" unicode="&#x392;" horiz-adv-x="1247" -d="M778 1462q222 0 335.5 -84t113.5 -248q0 -146 -86.5 -243t-239.5 -127v-8q108 -28 167.5 -103.5t59.5 -183.5q0 -217 -150 -341t-417 -124h-491l309 1462h399zM489 858h199q139 0 215 60.5t76 171.5q0 172 -223 172h-181zM348 201h223q147 0 230.5 68t83.5 194 -q0 98 -60 149.5t-176 51.5h-200z" /> - <glyph glyph-name="Gamma" unicode="&#x393;" horiz-adv-x="1001" -d="M305 0h-235l309 1462h774l-43 -205h-539z" /> - <glyph glyph-name="uni0394" unicode="&#x394;" horiz-adv-x="1190" -d="M657 1464h263l145 -1327l-31 -137h-1089l28 141zM743 1223q-36 -106 -110 -250l-389 -768h592l-78 758q-15 163 -15 260z" /> - <glyph glyph-name="Epsilon" unicode="&#x395;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539z" /> - <glyph glyph-name="Zeta" unicode="&#x396;" horiz-adv-x="1092" -d="M901 0h-940l33 168l850 1087h-598l43 207h897l-35 -172l-852 -1085h645z" /> - <glyph glyph-name="Eta" unicode="&#x397;" horiz-adv-x="1411" -d="M1110 0h-238l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237z" /> - <glyph glyph-name="Theta" unicode="&#x398;" horiz-adv-x="1497" -d="M1049 844l-43 -201h-488l41 201h490zM1434 905q0 -265 -88 -477t-256.5 -330t-397.5 -118q-264 0 -410.5 152t-146.5 419q0 265 97.5 483t269 334.5t393.5 116.5q254 0 396.5 -153t142.5 -427zM879 1280q-146 0 -259 -94.5t-175 -262t-62 -374.5q0 -169 84 -267t233 -98 -q140 0 250.5 90t173 260.5t62.5 378.5q0 173 -82 270t-225 97z" /> - <glyph glyph-name="Iota" unicode="&#x399;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235z" /> - <glyph glyph-name="Kappa" unicode="&#x39a;" horiz-adv-x="1198" -d="M1087 0h-262l-252 655l-149 -100l-117 -555h-237l309 1462h237l-151 -706l141 166l492 540h284l-616 -669z" /> - <glyph glyph-name="Lambda" unicode="&#x39b;" horiz-adv-x="1186" -d="M-121 0l774 1464h260l164 -1464h-231l-86 885q-15 136 -19 340q-23 -59 -66 -155.5t-73 -155.5t-469 -914h-254z" /> - <glyph glyph-name="Mu" unicode="&#x39c;" horiz-adv-x="1757" -d="M647 0l-115 1214h-6q-9 -118 -55 -340l-184 -874h-219l309 1462h323l109 -1149h6l606 1149h344l-305 -1462h-227l182 872q39 186 86 342h-6l-643 -1214h-205z" /> - <glyph glyph-name="Nu" unicode="&#x39d;" horiz-adv-x="1491" -d="M1192 0h-260l-410 1163h-6l-10 -69q-24 -149 -35.5 -212.5t-183.5 -881.5h-219l309 1462h268l399 -1149h7q6 54 31 192.5t40 203.5l160 753h219z" /> - <glyph glyph-name="Xi" unicode="&#x39e;" horiz-adv-x="1063" -d="M268 862h654l-41 -200h-656zM313 1462h817l-43 -205h-817zM903 203l-43 -203h-895l41 203h897z" /> - <glyph glyph-name="Omicron" unicode="&#x39f;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95z" /> - <glyph glyph-name="Pi" unicode="&#x3a0;" horiz-adv-x="1407" -d="M1108 0h-240l267 1257h-562l-266 -1257h-237l309 1462h1038z" /> - <glyph glyph-name="Rho" unicode="&#x3a1;" horiz-adv-x="1174" -d="M465 748h94q178 0 275.5 79.5t97.5 225.5q0 109 -58.5 159t-179.5 50h-119zM1174 1061q0 -248 -169.5 -381t-472.5 -133h-110l-115 -547h-237l309 1462h334q229 0 345 -100.5t116 -300.5z" /> - <glyph glyph-name="Sigma" unicode="&#x3a3;" horiz-adv-x="1090" -d="M-37 0l39 190l537 562l-295 524l39 186h882l-43 -205h-616l291 -522l-504 -532h663l-43 -203h-950z" /> - <glyph glyph-name="Tau" unicode="&#x3a4;" horiz-adv-x="1053" -d="M528 0h-237l264 1257h-379l45 205h998l-43 -205h-381z" /> - <glyph glyph-name="Upsilon" unicode="&#x3a5;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242z" /> - <glyph glyph-name="Phi" unicode="&#x3a6;" horiz-adv-x="1597" -d="M555 -20l49 223q-225 17 -347 140t-122 333q0 287 184.5 451t518.5 176l36 180h230l-37 -180q226 -17 346.5 -138.5t120.5 -326.5q0 -186 -82 -327t-239.5 -221t-378.5 -85l-50 -225h-229zM874 397q199 11 309.5 125.5t110.5 308.5q0 126 -70.5 199t-197.5 76zM795 1106 -q-196 -4 -308 -118t-112 -308q0 -127 67.5 -202.5t200.5 -80.5z" /> - <glyph glyph-name="Chi" unicode="&#x3a7;" horiz-adv-x="1151" -d="M1040 0h-256l-192 592l-438 -592h-265l586 770l-250 692h246l178 -540l402 540h266l-551 -710z" /> - <glyph glyph-name="Psi" unicode="&#x3a8;" horiz-adv-x="1587" -d="M915 440h-28l-94 -440h-230l94 440h-14q-217 0 -336 105.5t-119 292.5q0 83 23 202l90 422h236l-95 -450q-18 -96 -18 -150q0 -117 63.5 -170t194.5 -53h16l174 823h230l-174 -823h16q170 0 262 84t127 256l103 483h239l-108 -508q-55 -263 -217.5 -388.5t-434.5 -125.5z -" /> - <glyph glyph-name="uni03A9" unicode="&#x3a9;" horiz-adv-x="1491" -d="M860 1280q-132 0 -235.5 -72t-164.5 -210.5t-61 -305.5q0 -159 43 -275t142 -214l-43 -203h-580l41 205h360q-102 85 -155 212.5t-53 284.5q0 225 92.5 406t255 279t375.5 98q170 0 292.5 -66t187 -190.5t64.5 -288.5q0 -233 -106.5 -421t-319.5 -314h365l-43 -205h-627 -l43 203q218 128 330.5 311t112.5 412q0 170 -82 262t-234 92z" /> - <glyph glyph-name="Iotadieresis" unicode="&#x3aa;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM239 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM622 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Upsilondieresis" unicode="&#x3ab;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM461 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM844 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102 -t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="alphatonos" unicode="&#x3ac;" horiz-adv-x="1202" -d="M623 1126q189 0 274 -180h8l20 39q42 82 81 121h194q-93 -187 -141 -387l-80 -344q-16 -68 -16 -131q0 -34 17 -52t46 -18q28 0 66 12v-178q-62 -28 -144 -28q-192 0 -213 186h-6q-84 -102 -162.5 -144t-171.5 -42q-142 0 -221.5 102.5t-79.5 284.5q0 211 68 386.5 -t189 274t272 98.5zM487 170q84 0 160.5 83.5t124 217.5t47.5 262q0 91 -43.5 146t-122.5 55q-86 0 -159.5 -75t-117.5 -204t-44 -276q0 -209 155 -209zM633 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="epsilontonos" unicode="&#x3ad;" horiz-adv-x="981" -d="M709 485h-131q-135 0 -210 -44.5t-75 -131.5q0 -65 46.5 -104t149.5 -39q167 0 342 90v-195q-159 -81 -380 -81q-186 0 -293 76t-107 210q0 259 314 314v6q-78 31 -119 87.5t-41 131.5q0 150 116.5 235.5t315.5 85.5q212 0 360 -79l-77 -177q-139 72 -275 72 -q-110 0 -167.5 -41t-57.5 -113q0 -124 196 -124h129zM558 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="etatonos" unicode="&#x3ae;" horiz-adv-x="1208" -d="M596 -492l248 1164q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-244 -1145h-235zM631 1270q94 182 164 370h233v-26 -q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="iotatonos" unicode="&#x3af;" horiz-adv-x="688" -d="M436 170q65 0 150 31v-178q-35 -17 -94.5 -30t-122.5 -13q-269 0 -269 247q0 51 21 154l153 725h236l-156 -737q-14 -68 -14 -105q0 -94 96 -94zM331 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="upsilondieresistonos" unicode="&#x3b0;" horiz-adv-x="1221" -d="M520 -20q-191 0 -293 96t-102 272q0 71 25 189l120 569h234l-121 -569q-23 -103 -23 -175q0 -192 179 -192q177 0 268.5 237.5t91.5 698.5h236q0 -587 -154 -856.5t-461 -269.5zM390 1380q0 60 33 98t92 38q45 0 71.5 -23.5t26.5 -71.5q0 -65 -33 -102t-87 -37 -q-44 0 -73.5 23.5t-29.5 74.5zM867 1380q0 60 33.5 98t91.5 38q45 0 72 -23.5t27 -71.5q0 -65 -33.5 -102t-87.5 -37q-43 0 -73 23.5t-30 74.5zM650 1415q107 214 136 301h229v-20q-47 -75 -183 -227l-71 -80h-111v26z" /> - <glyph glyph-name="alpha" unicode="&#x3b1;" horiz-adv-x="1202" -d="M623 1126q189 0 274 -180h8l20 39q42 82 81 121h194q-93 -187 -141 -387l-80 -344q-16 -68 -16 -131q0 -34 17 -52t46 -18q28 0 66 12v-178q-62 -28 -144 -28q-192 0 -213 186h-6q-84 -102 -162.5 -144t-171.5 -42q-142 0 -221.5 102.5t-79.5 284.5q0 211 68 386.5 -t189 274t272 98.5zM487 170q84 0 160.5 83.5t124 217.5t47.5 262q0 91 -43.5 146t-122.5 55q-86 0 -159.5 -75t-117.5 -204t-44 -276q0 -209 155 -209z" /> - <glyph glyph-name="beta" unicode="&#x3b2;" horiz-adv-x="1225" -d="M795 1567q184 0 289.5 -92t105.5 -256q0 -336 -350 -406q125 -27 192.5 -114t67.5 -220q0 -143 -59.5 -256.5t-170.5 -178t-266 -64.5q-81 0 -152 19.5t-153 74.5l-119 -566h-235l340 1608q50 236 176 343.5t334 107.5zM776 1378q-100 0 -161.5 -67t-96.5 -224l-182 -843 -q39 -32 102.5 -53t130.5 -21q133 0 212 85.5t79 223.5q0 236 -252 236h-57l41 190h65q142 0 217.5 76t75.5 217q0 80 -44 130t-130 50z" /> - <glyph glyph-name="gamma" unicode="&#x3b3;" horiz-adv-x="993" -d="M319 -492h-247q43 236 182 504l-154 1094h232l59 -545q19 -165 19 -336h4q23 64 71.5 168.5t81.5 165.5l283 547h252l-567 -1043q-157 -283 -216 -555z" /> - <glyph glyph-name="delta" unicode="&#x3b4;" horiz-adv-x="1167" -d="M563 936q-166 133 -166 297q0 151 110 242.5t294 91.5q96 0 188.5 -26.5t190.5 -88.5l-93 -168q-63 40 -134.5 70t-151.5 30q-84 0 -129 -39t-45 -108q0 -53 30 -96.5t144 -134.5q125 -102 184 -211.5t59 -239.5q0 -170 -68 -301t-195.5 -202.5t-295.5 -71.5 -q-130 0 -225 48.5t-146 138.5t-51 204q0 209 128 355.5t372 209.5zM512 172q129 0 209 107t80 272q0 177 -123 276q-170 -46 -270.5 -159.5t-100.5 -268.5q0 -108 51.5 -167.5t153.5 -59.5z" /> - <glyph glyph-name="epsilon" unicode="&#x3b5;" horiz-adv-x="981" -d="M709 485h-131q-135 0 -210 -44.5t-75 -131.5q0 -65 46.5 -104t149.5 -39q167 0 342 90v-195q-159 -81 -380 -81q-186 0 -293 76t-107 210q0 259 314 314v6q-78 31 -119 87.5t-41 131.5q0 150 116.5 235.5t315.5 85.5q212 0 360 -79l-77 -177q-139 72 -275 72 -q-110 0 -167.5 -41t-57.5 -113q0 -124 196 -124h129z" /> - <glyph glyph-name="zeta" unicode="&#x3b6;" horiz-adv-x="938" -d="M94 412q0 151 70 297t210.5 299t420.5 376q-100 -12 -224 -12h-221l41 184h721l-35 -157q-306 -253 -453 -408t-219.5 -288t-72.5 -259q0 -92 44 -148t148 -101q110 -48 157 -85t72 -84t25 -112q0 -75 -38.5 -147.5t-139.5 -165.5h-246q104 95 147.5 157.5t43.5 114.5 -q0 40 -33 68.5t-131 70.5q-152 65 -219.5 158t-67.5 242z" /> - <glyph glyph-name="eta" unicode="&#x3b7;" horiz-adv-x="1208" -d="M596 -492l248 1164q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-244 -1145h-235z" /> - <glyph glyph-name="theta" unicode="&#x3b8;" horiz-adv-x="1155" -d="M459 -20q-178 0 -269.5 111.5t-91.5 326.5q0 193 49 413q93 399 240.5 573.5t376.5 174.5q176 0 265 -113.5t89 -337.5q0 -190 -54.5 -434.5t-138 -400.5t-199.5 -234.5t-267 -78.5zM481 162q117 0 197 134.5t143 403.5h-461q-30 -166 -30 -297q0 -121 36.5 -181 -t114.5 -60zM741 1397q-109 0 -193 -124.5t-147 -385.5h457q29 153 29 274q0 236 -146 236z" /> - <glyph glyph-name="iota" unicode="&#x3b9;" horiz-adv-x="688" -d="M436 170q65 0 150 31v-178q-35 -17 -94.5 -30t-122.5 -13q-269 0 -269 247q0 51 21 154l153 725h236l-156 -737q-14 -68 -14 -105q0 -94 96 -94z" /> - <glyph glyph-name="kappa" unicode="&#x3ba;" horiz-adv-x="1081" -d="M395 598l492 508h272l-483 -485l291 -621h-262l-209 471l-136 -96l-77 -375h-236l234 1106h235l-57 -262q-13 -53 -68 -246h4z" /> - <glyph glyph-name="lambda" unicode="&#x3bb;" horiz-adv-x="1079" -d="M512 1069l-14 119q-11 93 -42.5 137.5t-99.5 44.5q-58 0 -102 -10l-29 188q73 21 164 21q154 0 230.5 -79t97.5 -257l110 -907q11 -83 32.5 -117.5t60.5 -34.5q31 0 67 12v-180q-61 -26 -149 -26q-100 0 -154 55.5t-68 181.5q-24 215 -37.5 332.5t-15.5 247.5 -q-26 -60 -52 -123t-60 -125l-304 -549h-251z" /> - <glyph glyph-name="uni03BC" unicode="&#x3bc;" horiz-adv-x="1221" -d="M358 307q0 -65 33 -101t96 -36q113 0 209.5 125.5t141.5 337.5l102 473h231l-235 -1106h-184l22 190h-10q-75 -111 -153 -160.5t-165 -49.5q-108 0 -155 81h-8q-9 -73 -39 -235l-66 -318h-233l338 1598h235l-141 -670q-19 -84 -19 -129z" /> - <glyph glyph-name="nu" unicode="&#x3bd;" horiz-adv-x="1063" -d="M100 1106h232l67 -621q10 -90 19 -276q153 155 254.5 364t173.5 533h237q-71 -365 -217.5 -627.5t-392.5 -478.5h-235z" /> - <glyph glyph-name="xi" unicode="&#x3be;" horiz-adv-x="930" -d="M836 727h-76q-198 0 -317 -82t-119 -225q0 -80 42 -129t158 -98q143 -63 195.5 -127t52.5 -150q0 -80 -42 -156t-136 -157h-248q115 107 152 163.5t37 106.5q0 42 -31.5 69.5t-134.5 71.5q-145 60 -214 148t-69 223q0 164 101.5 276.5t295.5 157.5v6q-100 27 -155.5 88.5 -t-55.5 151.5q0 111 87.5 195.5t240.5 123.5q-140 -12 -223 -12h-55l38 184h680l-36 -172h-15q-134 0 -245 -36t-173.5 -103t-62.5 -158q0 -188 266 -188h98z" /> - <glyph glyph-name="omicron" unicode="&#x3bf;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316z" /> - <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1346" -d="M1059 168q54 0 106 25v-177q-82 -36 -190 -36q-112 0 -169.5 55t-57.5 155q0 57 16 132l123 598h-336l-197 -920h-237l198 920h-231l20 106l197 80h1083l-38 -186h-224l-125 -607q-10 -42 -10 -77q0 -68 72 -68z" /> - <glyph glyph-name="rho" unicode="&#x3c1;" horiz-adv-x="1194" -d="M1098 692q0 -199 -68 -365.5t-186.5 -256.5t-270.5 -90q-165 0 -280 124q-10 -71 -21.5 -137t-93.5 -459h-233l235 1113q56 268 181 386.5t335 118.5q192 0 297 -113t105 -321zM682 934q-104 0 -168 -79.5t-102 -262.5l-70 -322q79 -100 203 -100q86 0 155.5 67 -t114.5 195.5t45 263.5q0 111 -43 174.5t-135 63.5z" /> - <glyph glyph-name="sigma1" unicode="&#x3c2;" horiz-adv-x="938" -d="M332 463q0 -102 43.5 -163.5t161.5 -111.5q139 -58 191 -121.5t52 -154.5q0 -79 -41.5 -154.5t-136.5 -163.5h-248q87 82 138 149t51 130q0 45 -32.5 73.5t-123.5 65.5q-157 65 -225 169t-68 253q0 191 79.5 356t211.5 250.5t295 85.5q158 0 293 -61l-70 -184 -q-122 53 -223 53q-93 0 -171 -59.5t-127.5 -172.5t-49.5 -239z" /> - <glyph glyph-name="sigma" unicode="&#x3c3;" horiz-adv-x="1227" -d="M1059 594q0 -117 -41 -236.5t-113 -203t-172 -128t-221 -44.5q-201 0 -309.5 116.5t-108.5 331.5q0 207 75.5 359.5t221.5 234.5t348 82h539l-37 -184h-276q94 -136 94 -328zM723 922q-185 0 -288 -130t-103 -358q0 -260 196 -260q139 0 220 133t81 355q0 151 -57 260 -h-49z" /> - <glyph glyph-name="tau" unicode="&#x3c4;" horiz-adv-x="938" -d="M586 170q68 0 151 31v-178q-35 -17 -94.5 -30t-120.5 -13q-274 0 -274 247q0 61 20 154l113 539h-297l20 106l195 80h690l-39 -186h-334l-114 -543q-17 -68 -17 -113q0 -43 25 -68.5t76 -25.5z" /> - <glyph glyph-name="upsilon" unicode="&#x3c5;" horiz-adv-x="1221" -d="M520 -20q-191 0 -293 96t-102 272q0 71 25 189l120 569h234l-121 -569q-23 -103 -23 -175q0 -192 179 -192q177 0 268.5 237.5t91.5 698.5h236q0 -587 -154 -856.5t-461 -269.5z" /> - <glyph glyph-name="phi" unicode="&#x3c6;" horiz-adv-x="1468" -d="M485 -14q-183 22 -287 141.5t-104 308.5q0 201 81 364.5t267 329.5l150 -137q-136 -134 -199 -264t-63 -278q0 -246 194 -279l105 498q37 177 87.5 270.5t128.5 139.5t191 46q160 0 249 -104.5t89 -292.5q0 -211 -80.5 -378.5t-230.5 -263t-354 -107.5l-99 -472h-227z -M1137 739q0 203 -111 203q-59 0 -95 -48.5t-59 -156.5l-122 -565q121 15 207.5 92t133 201.5t46.5 273.5z" /> - <glyph glyph-name="chi" unicode="&#x3c7;" horiz-adv-x="1079" -d="M276 1118q112 0 171.5 -65t78.5 -213l35 -267l365 533h254l-562 -782l70 -480q11 -75 37 -108t82 -33q45 0 90 14v-182q-76 -27 -162 -27q-115 0 -176.5 68t-81.5 221l-43 326l-420 -615h-260l625 863l-57 407q-11 78 -34.5 110t-68.5 32q-24 0 -69 -15l-41 180 -q80 33 167 33z" /> - <glyph glyph-name="psi" unicode="&#x3c8;" horiz-adv-x="1559" -d="M805 170q224 28 328 247.5t104 688.5h236q0 -400 -75.5 -635t-232 -353.5t-401.5 -137.5l-100 -472h-228l101 472q-200 17 -303 117t-103 270q0 61 10 125l129 614h234l-119 -563q-18 -93 -18 -156q0 -102 54.5 -158t156.5 -63l292 1388h228z" /> - <glyph glyph-name="omega" unicode="&#x3c9;" horiz-adv-x="1587" -d="M408 -20q-147 0 -230.5 100t-83.5 282q0 178 66 369t188 375h240q-126 -188 -195 -376.5t-69 -360.5q0 -201 129 -201q79 0 125.5 67.5t74.5 192.5l64 301h225q-40 -188 -62 -291.5t-18 -128.5q0 -141 115 -141q81 0 146.5 80.5t104 231t38.5 321.5q0 162 -29 305h225 -q31 -142 31 -291q0 -246 -66.5 -441.5t-182.5 -294.5t-269 -99q-199 0 -254 188q-62 -100 -137 -144t-176 -44z" /> - <glyph glyph-name="iotadieresis" unicode="&#x3ca;" horiz-adv-x="688" -d="M436 170q65 0 150 31v-178q-35 -17 -94.5 -30t-122.5 -13q-269 0 -269 247q0 51 21 154l153 725h236l-156 -737q-14 -68 -14 -105q0 -94 96 -94zM144 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM527 1380 -q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="upsilondieresis" unicode="&#x3cb;" horiz-adv-x="1221" -d="M520 -20q-191 0 -293 96t-102 272q0 71 25 189l120 569h234l-121 -569q-23 -103 -23 -175q0 -192 179 -192q177 0 268.5 237.5t91.5 698.5h236q0 -587 -154 -856.5t-461 -269.5zM425 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37 -q-47 0 -78 23.5t-31 74.5zM808 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="omicrontonos" unicode="&#x3cc;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM610 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="upsilontonos" unicode="&#x3cd;" horiz-adv-x="1221" -d="M520 -20q-191 0 -293 96t-102 272q0 71 25 189l120 569h234l-121 -569q-23 -103 -23 -175q0 -192 179 -192q177 0 268.5 237.5t91.5 698.5h236q0 -587 -154 -856.5t-461 -269.5zM610 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="omegatonos" unicode="&#x3ce;" horiz-adv-x="1587" -d="M408 -20q-147 0 -230.5 100t-83.5 282q0 178 66 369t188 375h240q-126 -188 -195 -376.5t-69 -360.5q0 -201 129 -201q79 0 125.5 67.5t74.5 192.5l64 301h225q-40 -188 -62 -291.5t-18 -128.5q0 -141 115 -141q81 0 146.5 80.5t104 231t38.5 321.5q0 162 -29 305h225 -q31 -142 31 -291q0 -246 -66.5 -441.5t-182.5 -294.5t-269 -99q-199 0 -254 188q-62 -100 -137 -144t-176 -44zM819 1270q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="uni03D1" unicode="&#x3d1;" horiz-adv-x="1292" -d="M1165 805q-42 -267 -135.5 -455t-227.5 -279t-304 -91q-165 0 -258 76t-93 208q0 48 13 94.5t28 90t28 84t13 75.5q0 58 -55 58q-20 0 -47 -8t-45 -19l4 174q97 39 188 39q88 0 137.5 -47t49.5 -129q0 -55 -13.5 -105t-29.5 -96.5t-29.5 -91t-13.5 -88.5q0 -129 143 -129 -t248 162.5t164 474.5q-249 7 -386.5 109.5t-137.5 281.5q0 174 110 278.5t289 104.5q188 0 288.5 -131.5t100.5 -374.5q0 -54 -4 -88h147l-39 -178h-133zM637 1202q0 -108 77 -162.5t238 -56.5q6 40 6 107q0 151 -42.5 228t-120.5 77q-75 0 -116.5 -51.5t-41.5 -141.5z" /> - <glyph glyph-name="uni03D2" unicode="&#x3d2;" horiz-adv-x="1110" -d="M580 793q119 225 225.5 393.5t184 228.5t175.5 60q72 0 133 -23l-45 -182q-40 10 -61 10q-49 0 -99 -52t-162 -228t-276 -461l-114 -539h-238l119 553l-236 909h240z" /> - <glyph glyph-name="uni03D6" unicode="&#x3d6;" horiz-adv-x="1772" -d="M496 -20q-152 0 -235 97t-83 279q0 132 48.5 280t142.5 284h-269l21 106l196 80h1500l-39 -186h-240q23 -100 23 -226q0 -195 -65.5 -365t-177 -259.5t-255.5 -89.5q-206 0 -256 194q-54 -91 -128 -142.5t-183 -51.5zM1333 735q0 94 -14 185h-727q-182 -308 -182 -560 -q0 -92 31.5 -142t93.5 -50q76 0 125 65.5t77 194.5l35 160h223l-30 -146q-19 -76 -19 -133q0 -141 115 -141q120 0 196 164.5t76 402.5z" /> - <glyph glyph-name="uni0400" unicode="&#x400;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM903 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM487 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM870 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="1442" -d="M868 -20q-98 0 -166 28v203q63 -29 138 -29q85 0 130 46t66 147q21 100 24 132.5t3 55.5q0 71 -39.5 107.5t-132.5 36.5h-256l-150 -707h-239l268 1257h-338l45 205h950l-43 -205h-376l-74 -346h250q187 0 281 -84t94 -233q0 -96 -38 -273t-131 -259t-266 -82z" /> - <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="1001" -d="M305 0h-235l309 1462h774l-43 -205h-539zM633 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="afii10053" unicode="&#x404;" horiz-adv-x="1225" -d="M924 1278q-173 0 -303 -111t-193 -313h578l-41 -203h-576q-6 -31 -6 -106q0 -175 82 -268t244 -93q141 0 329 68v-205q-87 -33 -174.5 -50t-199.5 -17q-254 0 -391.5 149t-137.5 416q0 260 105.5 483t281.5 339t402 116q215 0 389 -92l-94 -195q-152 82 -295 82z" /> - <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="1057" -d="M930 428q0 -210 -144.5 -329t-398.5 -119q-210 0 -348 75v224q173 -97 350 -97q137 0 216 58.5t79 162.5q0 69 -41 122.5t-172 136.5q-105 67 -155 122t-76.5 120.5t-26.5 144.5q0 128 61.5 227t174 153t253.5 54q205 0 381 -92l-86 -191q-161 78 -295 78 -q-109 0 -175 -58.5t-66 -152.5q0 -47 15 -82.5t46.5 -66t134.5 -95.5q155 -97 214 -187.5t59 -207.5z" /> - <glyph glyph-name="afii10055" unicode="&#x406;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235z" /> - <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM239 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM622 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="612" -d="M-152 -408q-104 0 -170 25l5 201q84 -21 153 -21q201 0 254 250l299 1415h238l-305 -1446q-46 -217 -161.5 -320.5t-312.5 -103.5z" /> - <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="1890" -d="M772 1255l-60 -225q-139 -513 -218 -704.5t-176 -268.5t-248 -77q-74 0 -133 22v201q60 -21 100 -21q68 0 112 31.5t85.5 103.5t94.5 225t124 402.5t141 517.5h756l-125 -594h88q226 0 345.5 -95t119.5 -281q0 -237 -154 -364.5t-440 -127.5h-381l264 1255h-295z -M1217 199q156 0 236.5 70t80.5 208q0 191 -227 191h-125l-101 -469h136z" /> - <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="1884" -d="M1104 1462h237l-124 -592h98q224 0 339 -95t115 -281q0 -239 -152 -366.5t-435 -127.5h-387l141 668h-487l-142 -668h-237l309 1462h237l-124 -592h485zM1212 199q156 0 236 70t80 206q0 193 -228 193h-124l-101 -469h137z" /> - <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="1442" -d="M1063 561q0 76 -43.5 111t-136.5 35h-248l-150 -707h-239l268 1257h-338l45 205h950l-43 -205h-376l-74 -346h250q372 0 372 -325q0 -68 -22 -172l-84 -414h-242l97 442q14 75 14 119z" /> - <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="1182" -d="M1092 0h-267l-366 721l-152 -721h-237l309 1462h237l-149 -698l623 698h278l-659 -727zM715 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni040D" unicode="&#x40d;" horiz-adv-x="1487" -d="M379 1462h221q-183 -863 -209 -973t-39 -155h8l852 1128h285l-309 -1462h-219q112 532 173.5 827t74.5 322h-7l-854 -1149h-286zM1043 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="afii10062" unicode="&#x40e;" horiz-adv-x="1198" -d="M201 -20q-110 0 -189 30v217q82 -39 183 -39q85 0 151.5 49t147.5 183l-297 1042h239l166 -637q39 -160 49 -221q50 118 97 199l374 659h264l-643 -1067q-107 -178 -183.5 -260t-161.5 -118.5t-197 -36.5zM1247 1913q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5 -t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="1407" -d="M379 1462h239l-266 -1257h561l267 1257h237l-309 -1462h-403l-87 -403h-231l86 403h-403z" /> - <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365z" /> - <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="1184" -d="M600 868q230 0 347.5 -96.5t117.5 -286.5q0 -234 -154.5 -359.5t-439.5 -125.5h-399l309 1462h776l-43 -205h-541l-81 -389h108zM496 199q163 0 245 69.5t82 202.5q0 197 -227 197h-147l-101 -469h148z" /> - <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="1247" -d="M778 1462q222 0 335.5 -84t113.5 -248q0 -146 -86.5 -243t-239.5 -127v-8q108 -28 167.5 -103.5t59.5 -183.5q0 -217 -150 -341t-417 -124h-491l309 1462h399zM489 858h199q139 0 215 60.5t76 171.5q0 172 -223 172h-181zM348 201h223q147 0 230.5 68t83.5 194 -q0 98 -60 149.5t-176 51.5h-200z" /> - <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="1001" -d="M305 0h-235l309 1462h774l-43 -205h-539z" /> - <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="1372" -d="M891 -401l86 401h-846l-86 -401h-227l127 606h114q183 257 344.5 594.5t258.5 662.5h671l-266 -1257h186l-129 -606h-233zM1049 1255h-226q-80 -244 -217 -540t-280 -510h497z" /> - <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539z" /> - <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="1681" -d="M539 774l-322 688h244l313 -692l148 692h229l-147 -692l587 692h267l-627 -729l334 -733h-252l-320 725l-151 -725h-230l152 723l-602 -723h-275z" /> - <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="1155" -d="M1130 1151q0 -160 -104 -263t-289 -128v-4q137 -18 216 -103t79 -217q0 -214 -162 -335t-446 -121q-132 0 -229 19t-179 60v213q84 -46 189.5 -73t214.5 -27q173 0 269.5 73t96.5 201q0 115 -83.5 165.5t-237.5 50.5h-178l41 190h164q190 0 291.5 68t101.5 188 -q0 90 -55 135t-154 45q-173 0 -357 -121l-90 166q125 82 243 116t257 34q181 0 291 -91t110 -241z" /> - <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="1487" -d="M379 1462h221q-183 -863 -209 -973t-39 -155h8l852 1128h285l-309 -1462h-219q112 532 173.5 827t74.5 322h-7l-854 -1149h-286z" /> - <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="1487" -d="M379 1462h221q-183 -863 -209 -973t-39 -155h8l852 1128h285l-309 -1462h-219q112 532 173.5 827t74.5 322h-7l-854 -1149h-286zM1400 1913q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5 -t75.5 141.5h217z" /> - <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="1182" -d="M1092 0h-267l-366 721l-152 -721h-237l309 1462h237l-149 -698l623 698h278l-659 -727z" /> - <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="1370" -d="M772 1255q-135 -520 -227.5 -793.5t-195.5 -379t-279 -105.5q-81 0 -133 25v201q55 -21 100 -21q68 0 112 31.5t85.5 103.5t94.5 225t124 402.5t141 517.5h786l-311 -1462h-238l269 1255h-328z" /> - <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="1757" -d="M647 0l-115 1214h-6q-9 -118 -55 -340l-184 -874h-219l309 1462h323l109 -1149h6l606 1149h344l-305 -1462h-227l182 872q39 186 86 342h-6l-643 -1214h-205z" /> - <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="1411" -d="M1110 0h-238l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237z" /> - <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95z" /> - <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="1407" -d="M1108 0h-240l267 1257h-562l-266 -1257h-237l309 1462h1038z" /> - <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="1174" -d="M465 748h94q178 0 275.5 79.5t97.5 225.5q0 109 -58.5 159t-179.5 50h-119zM1174 1061q0 -248 -169.5 -381t-472.5 -133h-110l-115 -547h-237l309 1462h334q229 0 345 -100.5t116 -300.5z" /> - <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24z" /> - <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="1053" -d="M528 0h-237l264 1257h-379l45 205h998l-43 -205h-381z" /> - <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="1198" -d="M201 -20q-110 0 -189 30v217q82 -39 183 -39q85 0 151.5 49t147.5 183l-297 1042h239l166 -637q39 -160 49 -221q50 118 97 199l374 659h264l-643 -1067q-107 -178 -183.5 -260t-161.5 -118.5t-197 -36.5z" /> - <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="1597" -d="M555 -20l49 223q-225 17 -347 140t-122 333q0 287 184.5 451t518.5 176l36 180h230l-37 -180q226 -17 346.5 -138.5t120.5 -326.5q0 -186 -82 -327t-239.5 -221t-378.5 -85l-50 -225h-229zM874 397q199 11 309.5 125.5t110.5 308.5q0 126 -70.5 199t-197.5 76zM795 1106 -q-196 -4 -308 -118t-112 -308q0 -127 67.5 -202.5t200.5 -80.5z" /> - <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="1151" -d="M1040 0h-256l-192 592l-438 -592h-265l586 770l-250 692h246l178 -540l402 540h266l-551 -710z" /> - <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="1432" -d="M1321 201l-129 -604h-234l86 403h-976l309 1462h239l-266 -1257h547l266 1257h238l-268 -1261h188z" /> - <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="1343" -d="M805 0l123 580q-188 -86 -373 -86q-162 0 -250 78.5t-88 220.5q0 61 16 141l111 528h238l-107 -510q-16 -68 -16 -110q0 -144 168 -144q153 0 344 76l143 688h240l-310 -1462h-239z" /> - <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="2005" -d="M68 0l309 1462h244l-269 -1257h457l266 1257h244l-266 -1257h454l267 1257h241l-309 -1462h-1638z" /> - <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="2046" -d="M1935 201l-129 -604h-231l86 403h-1593l309 1462h244l-269 -1257h457l266 1257h244l-266 -1257h454l267 1257h241l-266 -1261h186z" /> - <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="1352" -d="M774 868q228 0 346.5 -96.5t118.5 -286.5q0 -233 -153.5 -359t-440.5 -126h-397l266 1257h-338l45 205h576l-127 -594h104zM668 199q163 0 245 69.5t82 202.5q0 105 -58 151t-169 46h-139l-101 -469h140z" /> - <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="1679" -d="M1380 0h-241l309 1462h242zM616 1462l-124 -594h88q227 0 345.5 -96t118.5 -287q0 -233 -153.5 -359t-439.5 -126h-381l309 1462h237zM473 199q162 0 245 69t83 203q0 104 -58.5 150.5t-169.5 46.5h-124l-101 -469h125z" /> - <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="1174" -d="M616 1462l-124 -594h102q230 0 347.5 -96.5t117.5 -286.5q0 -234 -154.5 -359.5t-439.5 -125.5h-395l309 1462h237zM489 199q162 0 245 69t83 203q0 197 -227 197h-141l-101 -469h141z" /> - <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="1225" -d="M381 184q396 0 502 467h-580l41 203h569l2 72q0 170 -79 261t-226 91q-71 0 -143 -15t-178 -55l-62 195q200 80 412 80q251 0 386.5 -144t135.5 -411q0 -285 -96 -504.5t-268 -331.5t-406 -112q-109 0 -198.5 18t-169.5 63v218q90 -47 175.5 -71t182.5 -24z" /> - <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="2032" -d="M1968 922q0 -280 -89 -496.5t-247 -331t-370 -114.5q-249 0 -385 149t-136 414q0 65 7 116h-302l-139 -659h-237l309 1462h237l-127 -598h291q71 289 253.5 455t434.5 166q235 0 367.5 -148.5t132.5 -414.5zM1442 1280q-128 0 -232 -95.5t-162.5 -266t-58.5 -373.5 -q0 -175 75.5 -268t211.5 -93q128 0 228 91t159 260t59 385q0 173 -74 266.5t-206 93.5z" /> - <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="1210" -d="M623 586l-439 -586h-284l514 664q-104 61 -149.5 141t-45.5 186q0 223 148.5 347t418.5 124h435l-310 -1462h-237l123 586h-174zM942 1262h-160q-156 0 -235.5 -68.5t-79.5 -196.5q0 -102 64.5 -157.5t179.5 -55.5h129z" /> - <glyph glyph-name="afii10065" unicode="&#x430;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5z" /> - <glyph glyph-name="afii10066" unicode="&#x431;" horiz-adv-x="1153" -d="M104 451q0 222 67 441.5t180.5 362.5t258.5 195q67 27 240 61t346 56l27 -199l-106 -16q-335 -49 -438.5 -98.5t-173 -149.5t-108.5 -252h2q74 88 165.5 133t187.5 45q143 0 223 -94t80 -274q0 -198 -69.5 -357.5t-193 -242t-286.5 -82.5q-196 0 -299 120.5t-103 350.5z -M526 172q81 0 145 59.5t105 174t41 239.5q0 201 -145 201q-75 0 -160.5 -55.5t-146.5 -143.5q-23 -113 -23 -205q0 -270 184 -270z" /> - <glyph glyph-name="afii10067" unicode="&#x432;" horiz-adv-x="1137" -d="M692 1126q183 0 284 -75t101 -213q0 -220 -260 -279v-4q193 -52 193 -229q0 -100 -54.5 -178t-158.5 -123t-250 -45q-220 0 -336.5 116.5t-116.5 335.5q0 199 74 358.5t210 247.5t314 88zM332 475l-2 -27v-28q0 -128 56.5 -196t168.5 -68q105 0 164 47.5t59 126.5 -q0 73 -56.5 109t-182.5 36h-207zM688 946q-119 0 -204 -79t-124 -220h213q133 0 203 46t70 126q0 56 -39.5 91.5t-118.5 35.5z" /> - <glyph glyph-name="afii10068" unicode="&#x433;" horiz-adv-x="958" -d="M184 1042q189 84 377 84q166 0 254 -71t88 -205q0 -117 -71.5 -198t-247.5 -148q-178 -59 -240.5 -107.5t-62.5 -115.5q0 -58 43.5 -88.5t124.5 -30.5q85 0 165 26t154 60v-189q-99 -46 -183.5 -62.5t-178.5 -16.5q-175 0 -272 77t-97 217q0 88 39.5 155t115.5 117 -t275 123q103 37 151 78t48 93q0 102 -138 102q-126 0 -284 -74z" /> - <glyph glyph-name="afii10069" unicode="&#x434;" horiz-adv-x="1192" -d="M1120 938q0 -270 -81.5 -496.5t-223.5 -344t-328 -117.5q-187 0 -290 110.5t-103 306.5q0 179 63 330t177.5 237.5t257.5 86.5q191 0 285 -179h6l2 34v28q0 232 -65.5 341t-205.5 109q-107 0 -208 -45l-54 181q63 27 143.5 42t151.5 15q473 0 473 -639zM506 172 -q122 0 212.5 134t131.5 368q-26 90 -83 142t-134 52q-83 0 -153 -62.5t-109 -172t-39 -240.5q0 -106 46 -163.5t128 -57.5z" /> - <glyph glyph-name="afii10070" unicode="&#x435;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5z" /> - <glyph glyph-name="afii10072" unicode="&#x436;" horiz-adv-x="1837" -d="M793 469h-158q-54 -227 -196 -358t-339 -131q-68 0 -129 14l37 188q48 -12 90 -12q95 0 170 71t117.5 194t42.5 261q0 117 -44.5 177.5t-125.5 60.5q-56 0 -117 -21v191q76 22 158 22q173 0 269 -111t96 -315q0 -27 -5 -65h168l101 471h221l-102 -471h159 -q55 229 196.5 360t336.5 131q83 0 137 -14l-41 -188q-44 10 -94 10q-90 0 -163.5 -65.5t-118 -190t-44.5 -268.5q0 -115 42.5 -177.5t125.5 -62.5q50 0 117 23v-193q-70 -20 -156 -20q-172 0 -268 108.5t-96 314.5v33l2 33h-170l-101 -469h-219z" /> - <glyph glyph-name="afii10073" unicode="&#x437;" horiz-adv-x="983" -d="M420 664q146 0 210 40t64 121q0 117 -164 117q-124 0 -297 -74l-61 174q196 84 397 84q171 0 265 -70t94 -196q0 -110 -67.5 -181.5t-190.5 -98.5v-7q90 -23 139 -81t49 -148q0 -174 -133.5 -269t-374.5 -95q-92 0 -183.5 19t-156.5 52v203q170 -88 344 -88 -q128 0 199.5 47.5t71.5 130.5q0 72 -46.5 106.5t-146.5 34.5h-162l39 179h111z" /> - <glyph glyph-name="afii10074" unicode="&#x438;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236z" /> - <glyph glyph-name="afii10075" unicode="&#x439;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM1198 1575q-39 -174 -153.5 -254 -t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="afii10076" unicode="&#x43a;" horiz-adv-x="1079" -d="M885 1106h278l-514 -551l326 -555h-270l-308 545l-114 -545h-236l236 1106h233l-110 -524z" /> - <glyph glyph-name="afii10077" unicode="&#x43b;" horiz-adv-x="1180" -d="M895 0h-236l197 920q-37 8 -70 8q-72 0 -119 -32t-87.5 -107t-114.5 -293q-87 -251 -140 -339.5t-122 -131.5t-166 -43q-64 0 -115 20v197q36 -15 76 -15q49 0 86 32.5t71.5 99t102.5 262.5q73 209 122.5 299.5t109.5 142t141 76t196 24.5q156 0 295 -43z" /> - <glyph glyph-name="afii10078" unicode="&#x43c;" horiz-adv-x="1516" -d="M1194 844q-2 -3 -3.5 -6.5t-465.5 -837.5h-176l-98 672q-12 77 -17 172l-178 -844h-215l235 1106h297l95 -678l16 -176q61 142 115 231l356 623h313l-235 -1106h-219z" /> - <glyph glyph-name="afii10079" unicode="&#x43d;" horiz-adv-x="1243" -d="M518 1106l-94 -444h442l95 444h233l-233 -1106h-236l100 477h-440l-102 -477h-236l238 1106h233z" /> - <glyph glyph-name="afii10080" unicode="&#x43e;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316z" /> - <glyph glyph-name="afii10081" unicode="&#x43f;" horiz-adv-x="1208" -d="M702 0l142 672q18 90 18 131q0 131 -129 131q-72 0 -142 -57t-126 -164.5t-84 -243.5l-98 -469h-236l236 1106h184l-21 -205h9q83 118 171 171.5t191 53.5q134 0 207.5 -76t73.5 -216q0 -69 -23 -181l-137 -653h-236z" /> - <glyph glyph-name="afii10082" unicode="&#x440;" horiz-adv-x="1200" -d="M578 -20q-181 0 -269 176h-10q-7 -97 -25 -185l-96 -463h-233l338 1598h184l-21 -188h9q157 208 344 208q143 0 224 -103t81 -286q0 -204 -70 -381.5t-190.5 -276.5t-265.5 -99zM711 934q-81 0 -161 -79.5t-130.5 -210.5t-50.5 -271q0 -96 46.5 -149.5t131.5 -53.5 -t159 78.5t117 210t43 274.5q0 201 -155 201z" /> - <glyph glyph-name="afii10083" unicode="&#x441;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71z" /> - <glyph glyph-name="afii10084" unicode="&#x442;" horiz-adv-x="1819" -d="M807 1126q220 0 254 -235h8q75 116 170.5 175.5t198.5 59.5q133 0 202.5 -76.5t69.5 -215.5q0 -64 -22 -181l-140 -653h-235l143 672q19 95 19 133q0 129 -121 129q-108 0 -201.5 -124t-136.5 -329l-101 -481h-235l143 672q17 82 17 127q0 135 -117 135 -q-110 0 -203.5 -127t-138.5 -338l-98 -469h-236l236 1106h184l-21 -205h9q148 225 352 225z" /> - <glyph glyph-name="afii10085" unicode="&#x443;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92z" /> - <glyph glyph-name="afii10086" unicode="&#x444;" horiz-adv-x="1460" -d="M961 1118q196 -26 301.5 -147.5t105.5 -315.5q0 -190 -82 -342t-228 -236t-337 -95l-100 -474h-222l103 478q-194 23 -301 145.5t-107 319.5q0 188 82 340t227.5 235.5t337.5 91.5l93 438h221zM334 463q0 -127 55 -202.5t152 -86.5l161 758q-111 -7 -193 -66 -t-128.5 -167.5t-46.5 -235.5zM762 174q109 10 190.5 69.5t128.5 168.5t47 237q0 124 -55 195t-151 84z" /> - <glyph glyph-name="afii10087" unicode="&#x445;" horiz-adv-x="1032" -d="M489 387l-305 -387h-270l475 569l-231 537h245l144 -373l287 373h274l-461 -549l248 -557h-246z" /> - <glyph glyph-name="afii10088" unicode="&#x446;" horiz-adv-x="1243" -d="M506 1106l-144 -674q-16 -76 -16 -129q0 -133 127 -133q112 0 210.5 127.5t143.5 339.5l99 469h233l-162 -768q-12 -58 -12 -92t18 -53t52 -19q33 0 84 14l-125 -579h-226l89 383q-59 21 -88 69.5t-35 128.5h-6q-147 -210 -357 -210q-134 0 -208 76t-74 218q0 68 26 193 -l135 639h236z" /> - <glyph glyph-name="afii10089" unicode="&#x447;" horiz-adv-x="1178" -d="M475 1106l-59 -277q-19 -86 -19 -139q0 -71 37 -104t98 -33q122 0 204 106.5t132 327.5l27 119h233l-235 -1106h-236l64 305q12 60 28.5 117.5t28.5 105.5h-8q-135 -166 -326 -166q-139 0 -211.5 78t-72.5 222q0 79 26 196l54 248h235z" /> - <glyph glyph-name="afii10090" unicode="&#x448;" horiz-adv-x="1819" -d="M1139 1106l-144 -672q-16 -80 -16 -127q0 -135 117 -135q110 0 202.5 126t139.5 339l98 469h236l-236 -1106h-184l20 205h-8q-148 -225 -352 -225q-114 0 -176.5 62.5t-77.5 172.5h-8q-75 -116 -170.5 -175.5t-198.5 -59.5q-133 0 -202.5 76.5t-69.5 215.5q0 64 22 181 -l139 653h236l-144 -672q-18 -90 -18 -133q0 -129 121 -129q108 0 201 124.5t137 328.5l100 481h236z" /> - <glyph glyph-name="afii10091" unicode="&#x449;" horiz-adv-x="1853" -d="M1139 1106l-144 -674q-16 -76 -16 -125q0 -68 27.5 -101.5t89.5 -33.5q110 0 202.5 126t139.5 339l98 469h236l-164 -768q-11 -57 -11 -92t19 -53.5t51 -18.5q36 0 84 14l-125 -579h-225l88 383q-115 40 -127 201h-4q-147 -213 -346 -213q-114 0 -176.5 62.5t-77.5 172.5 -h-8q-75 -116 -170 -175.5t-199 -59.5q-133 0 -202.5 76.5t-69.5 215.5q0 59 22 181l139 653h236l-144 -674q-18 -85 -18 -131q0 -129 121 -129q107 0 201 124t137 329l100 481h236z" /> - <glyph glyph-name="afii10092" unicode="&#x44a;" horiz-adv-x="1296" -d="M610 639q107 25 219 25q164 0 254.5 -78.5t90.5 -218.5q0 -116 -56.5 -203.5t-164 -135.5t-257.5 -48q-189 0 -283 84t-94 235q0 77 25 188l92 433h-348l39 186h584zM758 487q-79 0 -183 -20q-22 -104 -22 -154q0 -157 170 -157q99 0 158 50.5t59 137.5q0 74 -44 108.5 -t-138 34.5z" /> - <glyph glyph-name="afii10093" unicode="&#x44b;" horiz-adv-x="1561" -d="M508 1106l-100 -467q125 25 210 25q152 0 238 -78t86 -215q0 -179 -121.5 -285t-333.5 -106q-188 0 -279 84t-91 235q0 86 22 190l133 617h236zM539 487q-72 0 -168 -20q-6 -29 -10.5 -50.5t-6.5 -39.5t-3 -33.5t-1 -32.5q0 -155 156 -155q93 0 148 51.5t55 138.5 -q0 77 -43 109t-127 32zM1276 0h-234l234 1106h235z" /> - <glyph glyph-name="afii10094" unicode="&#x44c;" horiz-adv-x="1108" -d="M406 639q111 25 231 25q169 0 258.5 -78.5t89.5 -218.5q0 -115 -58 -202.5t-167.5 -136t-261.5 -48.5q-194 0 -287.5 84.5t-93.5 236.5q0 88 22 186l133 619h236zM569 487q-91 0 -198 -20q-14 -67 -18.5 -93t-4.5 -61q0 -157 178 -157q106 0 166 50.5t60 137.5 -q0 74 -45.5 108.5t-137.5 34.5z" /> - <glyph glyph-name="afii10095" unicode="&#x44d;" horiz-adv-x="961" -d="M457 1126q197 0 303 -114.5t106 -331.5q0 -209 -69 -368t-201 -245.5t-315 -86.5q-79 0 -146.5 14.5t-109.5 36.5v202q134 -61 254 -61q124 0 209.5 74.5t117.5 228.5h-426l35 176h414v33q0 250 -209 250q-62 0 -116 -16.5t-109 -40.5l-66 174q159 75 328 75z" /> - <glyph glyph-name="afii10096" unicode="&#x44e;" horiz-adv-x="1655" -d="M1559 692q0 -202 -68 -366.5t-190.5 -254t-284.5 -89.5q-190 0 -296 113.5t-106 310.5l2 71h-231l-102 -477h-236l238 1106h233l-94 -444h221q61 221 194.5 341.5t319.5 120.5q189 0 294.5 -114.5t105.5 -317.5zM1147 930q-84 0 -151 -67.5t-107.5 -194.5t-40.5 -265 -q0 -106 45 -167.5t139 -61.5q80 0 146.5 68.5t104.5 190.5t38 269q0 110 -46.5 169t-127.5 59z" /> - <glyph glyph-name="afii10097" unicode="&#x44f;" horiz-adv-x="1135" -d="M608 424q-63 0 -107.5 -33t-80.5 -105q-75 -146 -117.5 -199t-95 -78t-125.5 -25q-71 0 -115 18v191q36 -13 64 -13q44 0 75 27t68 100q50 94 93 135t95 58q-174 59 -174 243q0 168 121.5 265.5t333.5 97.5h440l-233 -1106h-234l93 424h-101zM627 926q-94 0 -148.5 -48 -t-54.5 -133q0 -75 48.5 -110t131.5 -35h141l68 326h-186z" /> - <glyph glyph-name="uni0450" unicode="&#x450;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM772 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="afii10071" unicode="&#x451;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM384 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM767 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="afii10099" unicode="&#x452;" horiz-adv-x="1208" -d="M575 1382h324l-35 -163h-321l-17 -74q-21 -112 -71 -266h8q149 198 344 198q136 0 208 -78.5t72 -222.5q0 -76 -22 -172l-158 -743q-38 -183 -128.5 -268t-237.5 -85q-94 0 -148 23v193q59 -23 117 -23q129 0 168 188l156 734q18 79 18 127q0 135 -127 135 -q-112 0 -209.5 -125t-142.5 -342l-90 -418h-236l258 1219h-155l36 163h154l37 174h235z" /> - <glyph glyph-name="afii10100" unicode="&#x453;" horiz-adv-x="958" -d="M184 1042q189 84 377 84q166 0 254 -71t88 -205q0 -117 -71.5 -198t-247.5 -148q-178 -59 -240.5 -107.5t-62.5 -115.5q0 -58 43.5 -88.5t124.5 -30.5q85 0 165 26t154 60v-189q-99 -46 -183.5 -62.5t-178.5 -16.5q-175 0 -272 77t-97 217q0 88 39.5 155t115.5 117 -t275 123q103 37 151 78t48 93q0 102 -138 102q-126 0 -284 -74zM514 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="afii10101" unicode="&#x454;" horiz-adv-x="954" -d="M506 -20q-197 0 -304.5 107t-107.5 304q0 207 75 380t205.5 264t301.5 91q164 0 297 -61l-70 -184q-122 53 -221 53q-112 0 -194 -75.5t-121 -207.5h419l-38 -176h-414l-2 -36v-38q0 -106 53 -168.5t158 -62.5q58 0 118 15.5t150 60.5v-195q-140 -71 -305 -71z" /> - <glyph glyph-name="afii10102" unicode="&#x455;" horiz-adv-x="922" -d="M782 340q0 -173 -118 -266.5t-328 -93.5q-190 0 -322 67v203q153 -90 312 -90q97 0 157 40t60 109q0 51 -34.5 87.5t-141.5 97.5q-125 67 -176.5 136.5t-51.5 164.5q0 155 107 243t289 88q196 0 346 -84l-76 -176q-140 76 -266 76q-73 0 -118.5 -33t-45.5 -92 -q0 -45 33 -80t135 -90q105 -59 149 -101t67 -91.5t23 -114.5z" /> - <glyph glyph-name="afii10103" unicode="&#x456;" horiz-adv-x="563" -d="M330 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40 -112t-105 -41q-53 0 -88 26t-35 82zM283 0h-236l236 1106h235z" /> - <glyph glyph-name="afii10104" unicode="&#x457;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM142 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM525 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="afii10105" unicode="&#x458;" horiz-adv-x="563" -d="M-113 -492q-90 0 -149 23v190q64 -20 117 -20q131 0 170 186l260 1219h233l-266 -1247q-38 -181 -127.5 -266t-237.5 -85zM332 1378q0 68 38 110t109 42q54 0 86.5 -26.5t32.5 -80.5q0 -71 -40 -112t-105 -41q-53 0 -87 25.5t-34 82.5z" /> - <glyph glyph-name="afii10106" unicode="&#x459;" horiz-adv-x="1663" -d="M981 639q128 25 219 25q163 0 253.5 -78t90.5 -219q0 -116 -56.5 -203.5t-164 -135.5t-256.5 -48q-189 0 -283 84t-94 235q0 77 25 188l92 435q-33 6 -53 6q-61 0 -102 -30t-77 -99.5t-114 -302.5q-81 -246 -134 -335.5t-123 -134t-169 -44.5q-62 0 -113 20v197 -q34 -15 76 -15q48 0 84.5 30.5t69 93t102.5 270.5q76 224 122 310t102 135.5t131 73t173 23.5q163 0 291 -45zM1128 487q-78 0 -182 -20q-22 -104 -22 -154q0 -157 170 -157q99 0 158 50.5t59 137.5q0 74 -44.5 108.5t-138.5 34.5z" /> - <glyph glyph-name="afii10107" unicode="&#x45a;" horiz-adv-x="1714" -d="M1032 639q131 25 219 25q163 0 253.5 -78t90.5 -219q0 -116 -56.5 -203.5t-164 -135.5t-256.5 -48q-189 0 -283 84t-94 235q0 63 23 178h-373l-102 -477h-236l238 1106h233l-94 -444h375l94 444h234zM1180 487q-79 0 -183 -20q-22 -104 -22 -154q0 -157 170 -157 -q99 0 158 50.5t59 137.5q0 74 -44 108.5t-138 34.5z" /> - <glyph glyph-name="afii10108" unicode="&#x45b;" horiz-adv-x="1208" -d="M702 0l136 635q16 71 16 127q0 131 -121 131q-73 0 -146.5 -57.5t-130 -162t-83.5 -241.5l-90 -432h-236l260 1219h-157l36 163h154l37 174h235l-37 -174h324l-35 -163h-323l-84 -328h8q83 106 167 152.5t177 46.5q278 0 278 -314q0 -56 -20 -160l-131 -616h-234z" /> - <glyph glyph-name="afii10109" unicode="&#x45c;" horiz-adv-x="1079" -d="M885 1106h278l-514 -551l326 -555h-270l-308 545l-114 -545h-236l236 1106h233l-110 -524zM608 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni045D" unicode="&#x45d;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM817 1241h-144q-65 63 -132 151.5 -t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="afii10110" unicode="&#x45e;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM1084 1575q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5 -t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="afii10193" unicode="&#x45f;" horiz-adv-x="1208" -d="M563 -57h45l-94 -435h-225l80 359zM506 1106l-144 -674q-16 -76 -16 -129q0 -133 127 -133q112 0 210.5 127.5t143.5 339.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76t-74 218q0 68 26 193l135 639h236z" /> - <glyph glyph-name="uni0460" unicode="&#x460;" horiz-adv-x="2023" -d="M1526 1280q-53 0 -98.5 -21t-98.5 -53l-88 178q147 97 320 97q192 0 295.5 -122.5t103.5 -354.5q0 -196 -54.5 -392.5t-151 -344.5t-218.5 -217.5t-279 -69.5q-236 0 -325 180q-62 -96 -147 -138t-205 -42q-210 0 -325.5 136.5t-115.5 389.5q0 268 90.5 503t233.5 353.5 -t336 118.5q176 0 293 -97l-109 -176q-41 29 -85 50.5t-99 21.5q-112 0 -204 -102t-151 -287t-59 -379q0 -156 56 -242t171 -86q103 0 161.5 65.5t86.5 188.5l53 246h238l-41 -203q-18 -86 -18 -139q0 -74 40.5 -116t120.5 -42q127 0 226.5 99t167 303.5t67.5 412.5 -q0 141 -48.5 211t-139.5 70z" /> - <glyph glyph-name="uni0461" unicode="&#x461;" horiz-adv-x="1585" -d="M238 0l-136 1106h234l63 -625q12 -104 16 -204l3 -74l297 495l-45 408h229l54 -666l16 -227q144 160 236.5 358.5t166.5 534.5h238q-70 -361 -211.5 -626t-374.5 -480h-231l-45 422h-5l-243 -422h-262z" /> - <glyph glyph-name="uni0462" unicode="&#x462;" horiz-adv-x="1276" -d="M1163 485q0 -235 -161.5 -360t-464.5 -125h-363l238 1122h-277l43 193h275l51 241h239l-53 -241h332l-41 -193h-332l-53 -254h104q226 0 344.5 -97t118.5 -286zM453 201h108q177 0 268 71.5t91 202.5q0 99 -58.5 145t-179.5 46h-129z" /> - <glyph glyph-name="uni0463" unicode="&#x463;" horiz-adv-x="1182" -d="M829 920h-286l-62 -281q109 25 230 25q167 0 258.5 -77.5t91.5 -219.5q0 -115 -59 -203.5t-170 -136t-261 -47.5q-195 0 -288 85t-93 236q0 77 25 188l92 431h-231l39 186h233l45 213h234l-45 -213h286zM643 487q-90 0 -197 -20q-22 -104 -22 -154q0 -157 176 -157 -q106 0 166.5 51t60.5 137q0 71 -44 107t-140 36z" /> - <glyph glyph-name="uni0464" unicode="&#x464;" horiz-adv-x="1790" -d="M1487 1278q-171 0 -301 -111.5t-189 -302.5h576l-41 -202h-578q-8 -46 -8 -117q0 -172 83 -266.5t233 -94.5q85 0 166.5 18.5t175.5 49.5v-205q-94 -36 -183.5 -51.5t-195.5 -15.5q-247 0 -386 146t-139 415q0 64 7 118h-261l-139 -659h-237l309 1462h237l-127 -598h256 -q83 293 278 456t464 163q215 0 391 -92l-96 -195q-150 82 -295 82z" /> - <glyph glyph-name="uni0465" unicode="&#x465;" horiz-adv-x="1470" -d="M1020 -20q-196 0 -303 106t-107 305l4 86h-229l-102 -477h-236l238 1106h233l-94 -444h223q64 220 206 342t337 122q162 0 299 -61l-70 -184q-48 20 -101.5 36.5t-119.5 16.5q-103 0 -184 -71.5t-125 -200.5h414l-39 -187h-414q-4 -31 -4 -74q0 -109 56.5 -170t156.5 -61 -q58 0 120.5 16.5t147.5 59.5v-195q-140 -71 -307 -71z" /> - <glyph glyph-name="uni0466" unicode="&#x466;" horiz-adv-x="1300" -d="M657 0h-219l142 659h-86l-365 -659h-250l834 1464h258l221 -1464h-227l-88 659h-84zM850 854l-16 123q-8 49 -17 137.5t-10 132.5q-25 -57 -55 -118t-148 -275h246z" /> - <glyph glyph-name="uni0467" unicode="&#x467;" horiz-adv-x="1135" -d="M827 1106l189 -1106h-223l-68 459h-66l-90 -459h-215l105 459h-68l-260 -459h-240l650 1106h286zM702 631q-31 193 -45 311q-55 -108 -168 -311h213z" /> - <glyph glyph-name="uni0468" unicode="&#x468;" horiz-adv-x="1806" -d="M1163 0h-219l141 659h-86l-362 -659h-252l377 659h-320l-139 -659h-233l309 1462h233l-127 -598h392l342 600h260l219 -1464h-228l-88 659h-84zM1356 854q-31 234 -35 282t-8 113q-28 -64 -60.5 -130.5t-142.5 -264.5h246z" /> - <glyph glyph-name="uni0469" unicode="&#x469;" horiz-adv-x="1593" -d="M1286 1106l189 -1106h-224l-69 477h-60l-94 -477h-215l107 477h-60l-270 -477h-242l281 477h-258l-103 -477h-221l236 1106h221l-94 -444h327l262 444h287zM1157 659l-39 283l-153 -283h192z" /> - <glyph glyph-name="uni046A" unicode="&#x46a;" horiz-adv-x="1423" -d="M-84 0l229 492q61 129 116.5 196t127.5 105t174 49l-239 481l28 139h1116l-28 -141l-455 -485q91 -14 147.5 -57.5t85.5 -118t37 -209.5l29 -451h-235l-25 455q-7 121 -41 168t-109 47h-14l-137 -670h-240l140 670h-11q-85 0 -137.5 -46.5t-107.5 -168.5l-205 -455h-246z -M776 870l340 387h-526z" /> - <glyph glyph-name="uni046B" unicode="&#x46b;" horiz-adv-x="1210" -d="M-106 0l188 367q73 143 152 202t200 76l-211 356l21 105h958l-22 -105l-363 -358q69 -17 112 -52.5t67 -92.5t38 -168l43 -330h-211l-35 324q-9 87 -39 125.5t-96 42.5l-102 -492h-211l106 492q-69 0 -113 -32.5t-89 -119.5l-170 -340h-223zM621 662l247 268h-397z" /> - <glyph glyph-name="uni046C" unicode="&#x46c;" horiz-adv-x="1946" -d="M432 0l213 455q65 138 127 204h-326l-139 -659h-237l309 1462h237l-127 -598h582l-229 459l28 139h1117l-29 -141l-457 -485q94 -19 150 -61.5t84 -117t37 -213.5t28 -444h-233l-23 455q-9 215 -153 215h-13l-139 -670h-240l142 670h-13q-81 0 -132 -43t-109 -168 -l-207 -459h-248zM1292 870l340 387h-526z" /> - <glyph glyph-name="uni046D" unicode="&#x46d;" horiz-adv-x="1667" -d="M356 0l181 348q47 90 96 129h-262l-103 -477h-221l236 1106h221l-94 -444h479l-203 339l21 105h958l-20 -105l-365 -358q69 -18 113 -54t68.5 -94t37.5 -165l43 -330h-211l-35 324q-9 87 -39.5 125.5t-97.5 42.5l-102 -492h-211l106 492q-69 0 -112 -31.5t-88 -122.5 -l-170 -338h-226zM1083 662l250 268h-397z" /> - <glyph glyph-name="uni046E" unicode="&#x46e;" horiz-adv-x="1155" -d="M1130 1151q0 -160 -104 -263t-289 -128v-4q136 -18 215.5 -101.5t79.5 -218.5q0 -203 -143 -316.5t-457 -144.5q-162 -17 -216 -41.5t-54 -76.5q0 -78 125 -78q68 0 163 5t162 5q107 0 174 -35v-198q-65 38 -180 38l-179 -4l-187 -4q-149 0 -232.5 68.5t-83.5 181.5 -q0 154 103.5 230t373.5 110q217 29 301 93t84 182q0 113 -83.5 162t-237.5 49h-178l41 190h164q190 0 291.5 67t101.5 189q0 90 -55 135t-154 45q-173 0 -357 -121l-90 166q184 118 369 142q-38 74 -149 241v25h143q106 -116 151 -178q78 89 119.5 123.5t83 52.5t90.5 18 -q50 0 90 -14v-131q-40 8 -67 8q-34 0 -71.5 -29t-119.5 -125q125 -30 193.5 -114.5t68.5 -200.5z" /> - <glyph glyph-name="uni046F" unicode="&#x46f;" horiz-adv-x="993" -d="M434 664q149 0 210 40t61 121q0 117 -164 117q-126 0 -295 -74l-64 174q143 59 256 74q-40 77 -133 209v27h144q77 -82 149 -176q100 118 161 156t128 38q49 0 94 -16v-131q-30 10 -68 10q-36 0 -74 -28t-96 -99q197 -56 197 -246q0 -108 -67.5 -180.5t-192.5 -99.5v-7 -q93 -24 140.5 -83t47.5 -142q0 -111 -54.5 -183.5t-158.5 -116.5t-323 -73q-131 -18 -174 -42.5t-43 -67.5q0 -76 125 -76q78 0 151.5 5t145.5 5q111 0 168 -39v-186q-67 39 -168 39l-161 -4l-171 -4q-141 0 -220 64.5t-79 178.5q0 131 93 204.5t318 105.5 -q139 20 199.5 42.5t90.5 59t30 94.5q0 131 -193 131h-161l36 179h115z" /> - <glyph glyph-name="uni0470" unicode="&#x470;" horiz-adv-x="1587" -d="M915 440h-28l-94 -440h-230l94 440h-14q-217 0 -336 105.5t-119 292.5q0 83 23 202l90 422h236l-95 -450q-18 -96 -18 -150q0 -117 63.5 -170t194.5 -53h16l174 823h230l-174 -823h16q170 0 262 84t127 256l103 483h239l-108 -508q-55 -263 -217.5 -388.5t-434.5 -125.5z -" /> - <glyph glyph-name="uni0471" unicode="&#x471;" horiz-adv-x="1559" -d="M805 170q224 28 328 247.5t104 688.5h236q0 -400 -75.5 -635t-232 -353.5t-401.5 -137.5l-100 -472h-228l101 472q-200 17 -303 117t-103 270q0 61 10 125l129 614h234l-119 -563q-18 -93 -18 -156q0 -102 54.5 -158t156.5 -63l292 1388h228z" /> - <glyph glyph-name="uni0472" unicode="&#x472;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM692 184q155 0 276.5 121.5t174.5 339.5h-756q-6 -44 -6 -100q0 -171 82 -266t229 -95zM872 1280 -q-152 0 -272 -114.5t-176 -317.5h747q5 35 5 72q0 169 -80.5 264.5t-223.5 95.5z" /> - <glyph glyph-name="uni0473" unicode="&#x473;" horiz-adv-x="1174" -d="M1079 700q0 -204 -74 -373t-201 -257t-290 -88q-192 0 -306 115t-114 311q0 199 71.5 365t200.5 258.5t298 92.5q193 0 304 -113.5t111 -310.5zM528 170q98 0 176 81.5t113 221.5h-485q-4 -27 -4 -72q0 -111 51.5 -171t148.5 -60zM653 934q-98 0 -174 -76.5t-114 -206.5 -h479v51q0 113 -48.5 172.5t-142.5 59.5z" /> - <glyph glyph-name="uni0474" unicode="&#x474;" horiz-adv-x="1237" -d="M508 250q51 150 125 307l244 516q98 203 150.5 271t114.5 99.5t148 31.5q66 0 135 -23v-192q-47 18 -98 18q-61 0 -107 -51t-110 -178l-520 -1049h-260l-144 1462h232l74 -893q11 -154 11 -249l-1 -70h6z" /> - <glyph glyph-name="uni0475" unicode="&#x475;" horiz-adv-x="1010" -d="M98 1106h234l55 -586q9 -110 14 -305h7q49 139 122 291l148 309q63 131 109 188t101.5 84t129.5 27q62 0 104 -18v-178q-36 12 -71 12q-48 0 -78.5 -34t-59.5 -93l-405 -803h-277z" /> - <glyph glyph-name="uni0476" unicode="&#x476;" horiz-adv-x="1237" -d="M508 250q51 150 125 307l244 516q98 203 150.5 271t114.5 99.5t148 31.5q66 0 135 -23v-192q-47 18 -98 18q-61 0 -107 -51t-110 -178l-520 -1049h-260l-144 1462h232l74 -893q11 -154 11 -249l-1 -70h6zM686 1579h-133q-60 60 -129 149.5t-103 157.5v21h234 -q42 -150 131 -303v-25zM1050 1579h-133q-64 64 -131.5 153.5t-99.5 153.5v21h233q42 -150 131 -303v-25z" /> - <glyph glyph-name="uni0477" unicode="&#x477;" horiz-adv-x="1010" -d="M98 1106h234l55 -586q9 -110 14 -305h7q49 139 122 291l148 309q63 131 109 188t101.5 84t129.5 27q62 0 104 -18v-178q-36 12 -71 12q-48 0 -78.5 -34t-59.5 -93l-405 -803h-277zM516 1241h-133q-60 60 -129 149.5t-103 157.5v21h234q42 -150 131 -303v-25zM880 1241 -h-133q-64 64 -131.5 153.5t-99.5 153.5v21h233q42 -150 131 -303v-25z" /> - <glyph glyph-name="uni0478" unicode="&#x478;" horiz-adv-x="2482" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1579 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92z" /> - <glyph glyph-name="uni0479" unicode="&#x479;" horiz-adv-x="2114" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM1210 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92z" /> - <glyph glyph-name="uni047A" unicode="&#x47a;" horiz-adv-x="1532" -d="M1468 887q0 -240 -78.5 -435.5t-226.5 -316.5t-348 -147q-17 -59 -51.5 -86t-93.5 -27q-60 0 -91.5 33.5t-33.5 89.5q-196 42 -303 194t-107 388q0 231 82.5 428t231 318.5t342.5 148.5q17 57 52 83.5t95 26.5q59 0 91 -31.5t34 -87.5q191 -41 298 -191t107 -388z -M721 281q45 0 75.5 -20.5t41.5 -57.5q172 47 277.5 235.5t105.5 446.5q0 284 -197 368q-49 -75 -137 -75q-98 0 -121 82q-170 -51 -276.5 -238t-106.5 -438q0 -147 51 -242.5t150 -132.5q49 72 137 72z" /> - <glyph glyph-name="uni047B" unicode="&#x47b;" horiz-adv-x="1239" -d="M1145 672q0 -269 -126 -452.5t-345 -227.5q-16 -53 -49 -78t-88 -25q-51 0 -80.5 28.5t-32.5 76.5q-155 30 -242.5 146.5t-87.5 295.5q0 171 58 316t168 240.5t255 121.5q16 48 48.5 69t85.5 21q48 0 76 -24.5t34 -67.5q155 -34 240.5 -150t85.5 -290zM905 680 -q0 81 -27 142t-85 87q-23 -40 -53 -56.5t-72 -16.5q-83 0 -105 69q-104 -46 -167.5 -176t-63.5 -299q0 -93 31.5 -154.5t93.5 -82.5q47 65 123 65q69 0 102 -61q102 42 162.5 171t60.5 312z" /> - <glyph glyph-name="uni047C" unicode="&#x47c;" horiz-adv-x="2023" -d="M1659 2025l-33 -157h-33q-76 0 -135.5 17.5t-110.5 38.5t-96.5 38.5t-93.5 17.5q-92 0 -119 -112h-161q20 139 95.5 207.5t192.5 68.5q61 0 117.5 -18.5t112 -41t113 -41t122.5 -18.5h29zM1354 1763q0 -94 -70.5 -157t-216.5 -84l8 84q125 35 125 96q0 17 -10 25t-27 16 -q-38 17 -48.5 33t-10.5 39q0 81 108 81q63 0 102.5 -35.5t39.5 -97.5zM1526 1280q-53 0 -98.5 -21t-98.5 -53l-88 178q147 97 320 97q192 0 295.5 -122.5t103.5 -354.5q0 -276 -96 -524.5t-249 -374t-368 -125.5q-200 0 -329 120q-87 -66 -168.5 -93t-176.5 -27 -q-208 0 -321 138t-113 388q0 266 86 498.5t232.5 354.5t341.5 122q176 0 293 -97l-109 -176q-41 29 -85 50.5t-99 21.5q-115 0 -206.5 -103t-149.5 -287t-58 -378q0 -328 229 -328q86 0 175 46.5t161 129.5q116 -176 293 -176q141 0 244 112.5t165 310.5t62 392 -q0 141 -48.5 211t-139.5 70z" /> - <glyph glyph-name="uni047D" unicode="&#x47d;" horiz-adv-x="1632" -d="M993 -20q-154 0 -258 83q-121 -83 -264 -83q-181 0 -279 109.5t-98 316.5q0 205 68.5 377t184.5 257.5t269 85.5q122 0 224 -61l-76 -172q-69 45 -139 45q-125 0 -209 -152t-84 -376q0 -242 182 -242q113 0 244 111q94 -111 221 -111q144 0 232.5 156.5t88.5 404.5 -q0 209 -133 209q-66 0 -155 -43l-51 170q120 61 251 61q159 0 242.5 -100.5t83.5 -296.5q0 -225 -69 -399.5t-191 -262t-285 -87.5zM1405 1716l-33 -157h-33q-76 0 -135.5 17t-110.5 38t-96.5 38t-93.5 17q-92 0 -119 -113h-161q20 140 95.5 208.5t192.5 68.5 -q62 0 118.5 -18.5t112 -40t112.5 -40t122 -18.5h29zM1104 1452q0 -93 -70 -156.5t-217 -85.5l8 84q125 36 125 99q0 17 -10 25t-27 16q-23 10 -41 23.5t-18 45.5q0 40 28 62t81 22q63 0 102 -36.5t39 -98.5z" /> - <glyph glyph-name="uni047E" unicode="&#x47e;" horiz-adv-x="2023" -d="M1651 1823l-13 -54l-116 -172h-49l-27 103h-162l-70 -103h-49l-26 103h-162l-70 -103h-49l-43 172l12 54h824zM1526 1280q-53 0 -98.5 -21t-98.5 -53l-88 178q147 97 320 97q192 0 295.5 -122.5t103.5 -354.5q0 -196 -54.5 -392.5t-151 -344.5t-218.5 -217.5t-279 -69.5 -q-236 0 -325 180q-62 -96 -147 -138t-205 -42q-210 0 -325.5 136.5t-115.5 389.5q0 268 90.5 503t233.5 353.5t336 118.5q176 0 293 -97l-109 -176q-41 29 -85 50.5t-99 21.5q-112 0 -204 -102t-151 -287t-59 -379q0 -156 56 -242t171 -86q103 0 161.5 65.5t86.5 188.5 -l53 246h238l-41 -203q-18 -86 -18 -139q0 -74 40.5 -116t120.5 -42q127 0 226.5 99t167 303.5t67.5 412.5q0 141 -48.5 211t-139.5 70z" /> - <glyph glyph-name="uni047F" unicode="&#x47f;" horiz-adv-x="1585" -d="M1325 1477l-10 -54l-117 -172h-51l-25 103h-161l-70 -103h-51l-25 103h-162l-71 -103h-50l-40 172l10 54h823zM238 0l-136 1106h234l63 -625q12 -104 16 -204l3 -74l297 495l-45 408h229l54 -666l16 -227q144 160 236.5 358.5t166.5 534.5h238q-70 -361 -211.5 -626 -t-374.5 -480h-231l-45 422h-5l-243 -422h-262z" /> - <glyph glyph-name="uni0480" unicode="&#x480;" horiz-adv-x="1225" -d="M924 1278q-156 0 -277.5 -91t-192.5 -264t-71 -378q0 -174 84 -266.5t240 -92.5q93 0 198 33l-149 -711h-240l102 474q-229 12 -356 160t-127 399q0 262 105.5 486.5t282 340t401.5 115.5q215 0 389 -92l-94 -195q-152 82 -295 82z" /> - <glyph glyph-name="uni0481" unicode="&#x481;" horiz-adv-x="954" -d="M356 -492l105 474q-172 8 -269.5 114t-97.5 289q0 213 76.5 386t207.5 264t298 91q164 0 297 -61l-70 -184q-122 53 -221 53t-179.5 -71t-125.5 -195t-45 -271q0 -104 56.5 -162.5t156.5 -58.5q102 0 198 45l-151 -713h-236z" /> - <glyph glyph-name="uni0482" unicode="&#x482;" horiz-adv-x="1247" -d="M594 432l285 -166l-72 -123l-285 164l-180 -313l-129 74l180 315l-282 164l69 123l287 -164l199 346l-285 164l72 125l284 -164l183 313l127 -73l-183 -316l287 -164l-74 -123l-282 164z" /> - <glyph glyph-name="uni0483" unicode="&#x483;" horiz-adv-x="1120" -d="M526 1251q-27 -94 -114 -94q-45 0 -69 27.5t-24 64.5q0 59 34.5 94t103.5 35h436q23 95 113 95q46 0 69 -23t23 -61q0 -60 -33 -98t-102 -40h-437z" /> - <glyph glyph-name="uni0484" unicode="&#x484;" horiz-adv-x="1161" -d="M395 1405q120 0 267 59q80 31 134 44.5t101 13.5q103 0 161 -52.5t58 -150.5q0 -35 -6 -72h-154l2 20v17q0 76 -86 76q-42 0 -92 -17.5t-111 -39t-134 -39t-160 -17.5h-29l33 158h16z" /> - <glyph glyph-name="uni0485" unicode="&#x485;" horiz-adv-x="1161" -d="M618 1452q0 69 44 110.5t114 41.5q51 0 76 -23.5t25 -60.5q0 -29 -17.5 -45.5t-46.5 -28.5q-47 -19 -47 -51q0 -53 106 -86v-80q-121 21 -187.5 79.5t-66.5 143.5z" /> - <glyph glyph-name="uni0486" unicode="&#x486;" horiz-adv-x="1161" -d="M901 1468q0 -198 -285 -239v82q132 36 132 98q0 17 -11 25t-28 16q-23 10 -40.5 24t-17.5 46q0 40 28 62t81 22q63 0 102 -37t39 -99z" /> - <glyph glyph-name="uni0488" unicode="&#x488;" horiz-adv-x="2025" -d="M1001 1425q93 0 149.5 -50.5t63.5 -143.5h-79q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q11 194 208 194zM1001 -125q92 0 149.5 -51t63.5 -143h-79q-5 44 -35 66t-99 22q-78 0 -103 -20.5t-30 -67.5h-75q5 89 55 141.5t153 52.5zM1581 154q92 0 149.5 -51 -t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM428 154q92 0 149.5 -51t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM1581 1141q92 0 149.5 -51t63.5 -144 -h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM428 1141q92 0 149.5 -51t63.5 -144h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142.5t153.5 52.5zM1772 653q92 0 149.5 -52t63.5 -142h-80 -q-5 44 -35 66t-98 22q-78 0 -103.5 -20t-30.5 -68h-75q11 194 209 194zM250 653q92 0 149.5 -51t63.5 -143h-80q-5 45 -35 66.5t-98 21.5q-78 0 -103 -19.5t-30 -68.5h-76q5 90 55.5 142t153.5 52z" /> - <glyph glyph-name="uni0489" unicode="&#x489;" horiz-adv-x="1958" -d="M1079 -35l11 -14q-17 -66 -52 -161.5t-71 -174.5h-97q53 221 70 350h139zM1567 651l14 11q71 -19 171 -55.5t165 -67.5v-97q-221 53 -350 70v139zM881 1141l-11 14q19 71 55.5 171t67.5 165h97q-52 -220 -70 -350h-139zM1565 -211q-31 50 -96 147.5t-103 149.5l98 98 -l17 -2q28 -44 74 -143.5t77 -179.5zM633 45l-2 -16q-55 -34 -148 -77t-176 -75l-69 68q177 110 297 198zM492 877l-17 2q-37 61 -86 169t-65 154l67 70q123 -198 199 -297zM1651 1186l69 -68q-177 -110 -297 -198l-98 98l2 16q124 74 324 152zM391 453l-14 -11 -q-66 17 -161.5 52t-174.5 71v97q221 -53 350 -70v-139z" /> - <glyph glyph-name="uni048A" unicode="&#x48a;" horiz-adv-x="1561" -d="M379 1462h221q-183 -863 -209 -973t-39 -155h8l852 1128h285l-266 -1253h239l-280 -612h-275l252 403h-198l159 756q47 232 89 391l-7 2l-854 -1149h-286zM1411 1911q-38 -173 -152 -254.5t-319 -81.5q-177 0 -271 69.5t-94 206.5q0 27 9 60h204l-4 -53q0 -134 172 -134 -q104 0 159.5 43t78.5 144h217z" /> - <glyph glyph-name="uni048B" unicode="&#x48b;" horiz-adv-x="1237" -d="M506 1106l-144 -674q-16 -76 -16 -129q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-194 -922h206l-249 -573h-236l209 389h-164l23 190h-9q-154 -210 -354 -210q-133 0 -207.5 75.5t-74.5 218.5q0 77 38 248l123 584h236zM1200 1575 -q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-5 -53q0 -133 172 -133q104 0 160 43.5t78 142.5h217z" /> - <glyph glyph-name="uni048C" unicode="&#x48c;" horiz-adv-x="1171" -d="M1057 485q0 -235 -161.5 -360t-463.5 -125h-362l231 1092h-151l43 202h149l37 168h237l-36 -168h276l-45 -202h-274l-45 -224h104q229 0 345 -98t116 -285zM348 201h109q176 0 267 71.5t91 202.5q0 99 -58.5 145t-178.5 46h-129z" /> - <glyph glyph-name="uni048D" unicode="&#x48d;" horiz-adv-x="1110" -d="M555 1321h285l-35 -164h-285l-110 -518q109 25 231 25q165 0 256.5 -77.5t91.5 -219.5q0 -115 -58 -203t-167 -136t-262 -48q-186 0 -283.5 80.5t-97.5 240.5q0 88 22 186l144 670h-154l35 164h154l51 235h233zM573 487q-89 0 -198 -20q-23 -101 -23 -154 -q0 -157 178 -157q107 0 166.5 52t59.5 136q0 71 -43.5 107t-139.5 36z" /> - <glyph glyph-name="uni048E" unicode="&#x48e;" horiz-adv-x="1174" -d="M1174 1061q0 -298 -246 -432l67 -142l-151 -73l-76 157q-105 -24 -236 -24h-110l-115 -547h-237l309 1462h334q229 0 345 -100.5t116 -300.5zM465 748h94q76 0 123 10l-59 129l149 71l62 -131q98 78 98 226q0 109 -59 159t-181 50h-119z" /> - <glyph glyph-name="uni048F" unicode="&#x48f;" horiz-adv-x="1200" -d="M799 1126q143 0 224 -103t81 -286q0 -214 -79.5 -402.5t-211.5 -279.5l66 -141l-152 -72l-70 146q-45 -8 -79 -8q-183 0 -271 176h-8q-11 -133 -35 -236l-86 -412h-233l338 1598h184l-21 -188h9q157 208 344 208zM711 934q-84 0 -165 -83t-129 -213.5t-48 -264.5 -q0 -97 43.5 -150t124.5 -53l34 4l-65 141l149 72l60 -129q70 80 110.5 208.5t40.5 266.5q0 201 -155 201z" /> - <glyph glyph-name="afii10050" unicode="&#x490;" horiz-adv-x="1001" -d="M930 1462l65 303h217l-106 -508h-535l-266 -1257h-235l309 1462h551z" /> - <glyph glyph-name="afii10098" unicode="&#x491;" horiz-adv-x="866" -d="M897 920h-420l-194 -920h-236l236 1106h428l67 313h226z" /> - <glyph glyph-name="uni0492" unicode="&#x492;" horiz-adv-x="997" -d="M1149 1462l-43 -205h-535l-92 -434h318l-43 -200h-318l-131 -623h-235l131 623h-148l43 200h148l135 639h770z" /> - <glyph glyph-name="uni0493" unicode="&#x493;" horiz-adv-x="866" -d="M47 0l98 453h-145l37 180h145l101 473h655l-43 -195h-420l-59 -278h266l-39 -180h-264l-96 -453h-236z" /> - <glyph glyph-name="uni0494" unicode="&#x494;" horiz-adv-x="1298" -d="M559 606q-87 0 -127 -10l-127 -596h-235l309 1462h774l-43 -205h-539l-98 -464q64 16 152 16q233 0 367 -148.5t134 -402.5q0 -223 -80.5 -399t-229.5 -273.5t-345 -97.5q-161 0 -276 47v209q127 -53 256 -53q128 0 225.5 69.5t151 198t53.5 285.5q0 175 -83 268.5 -t-239 93.5z" /> - <glyph glyph-name="uni0495" unicode="&#x495;" horiz-adv-x="1090" -d="M924 186q0 -207 -70.5 -367t-197.5 -240.5t-296 -80.5q-131 0 -217 47v213q98 -57 207 -57q155 0 244.5 128.5t89.5 344.5q0 131 -55 199.5t-154 68.5q-61 0 -104 -16l-88 -426h-236l236 1106h659l-41 -195h-426l-61 -290q78 18 133 18q174 0 275.5 -122.5t101.5 -330.5z -" /> - <glyph glyph-name="uni0496" unicode="&#x496;" horiz-adv-x="1782" -d="M539 774l-322 688h244l313 -692l148 692h229l-147 -692l587 692h267l-627 -729l244 -532h196l-129 -604h-231l86 403h-84l-320 725l-151 -725h-230l152 723l-602 -723h-275z" /> - <glyph glyph-name="uni0497" unicode="&#x497;" horiz-adv-x="1841" -d="M299 1126q173 0 269 -111t96 -315q0 -27 -5 -65h168l101 471h221l-102 -471h159q55 229 196.5 360t336.5 131q83 0 137 -14l-41 -188q-44 10 -94 10q-90 0 -163.5 -65.5t-118 -190t-44.5 -268.5q0 -117 44 -178.5t128 -61.5q78 0 154 29l-125 -588h-221l84 375 -q-144 18 -221.5 124.5t-77.5 292.5v33l2 33h-170l-101 -469h-219l101 469h-158q-54 -227 -196 -358t-339 -131q-68 0 -129 14l37 188q48 -12 90 -12q95 0 170 71t117.5 194t42.5 261q0 117 -44.5 177.5t-125.5 60.5q-56 0 -117 -21v191q76 22 158 22z" /> - <glyph glyph-name="uni0498" unicode="&#x498;" horiz-adv-x="1155" -d="M1130 1151q0 -160 -104 -263t-289 -128v-4q137 -18 216 -103t79 -217q0 -214 -162 -335t-446 -121q-132 0 -229 19t-179 60v213q84 -46 189.5 -73t214.5 -27q173 0 269.5 73t96.5 201q0 115 -83.5 165.5t-237.5 50.5h-178l41 190h164q190 0 291.5 68t101.5 188 -q0 90 -55 135t-154 45q-173 0 -357 -121l-90 166q125 82 243 116t257 34q181 0 291 -91t110 -241zM334 -319q48 0 76 27t28 81q0 92 -90 211h151q115 -115 115 -244q0 -105 -66 -164t-182 -59q-74 0 -127 21v143q44 -16 95 -16z" /> - <glyph glyph-name="uni0499" unicode="&#x499;" horiz-adv-x="983" -d="M420 664q146 0 210 40t64 121q0 117 -164 117q-124 0 -297 -74l-61 174q196 84 397 84q171 0 265 -70t94 -196q0 -110 -67.5 -181.5t-190.5 -98.5v-7q90 -23 139 -81t49 -148q0 -174 -133.5 -269t-374.5 -95q-92 0 -183.5 19t-156.5 52v203q170 -88 344 -88 -q128 0 199.5 47.5t71.5 130.5q0 72 -46.5 106.5t-146.5 34.5h-162l39 179h111zM273 -319q48 0 76 27t28 81q0 92 -90 211h151q115 -115 115 -244q0 -105 -66 -164t-182 -59q-74 0 -127 21v143q44 -16 95 -16z" /> - <glyph glyph-name="uni049A" unicode="&#x49a;" horiz-adv-x="1317" -d="M991 201h226l-127 -604h-234l88 403h-119l-366 721l-152 -721h-239l309 1462h239l-149 -698l623 698h276l-657 -727z" /> - <glyph glyph-name="uni049B" unicode="&#x49b;" horiz-adv-x="1159" -d="M885 1106h270l-514 -549l217 -362h211l-125 -586h-219l88 391h-108l-308 545l-114 -545h-236l236 1106h233l-110 -520z" /> - <glyph glyph-name="uni049C" unicode="&#x49c;" horiz-adv-x="1182" -d="M1077 0h-256l-182 422l-35 -172h-139l82 395l-123 -90l-117 -555h-239l309 1462h239l-149 -698l141 160l72 338h139l-31 -142l314 342h278l-639 -698z" /> - <glyph glyph-name="uni049D" unicode="&#x49d;" horiz-adv-x="1087" -d="M305 0h-233l233 1106h236l-111 -520l105 108l67 320h131l-31 -144l228 236h266l-504 -518l-12 -62l313 -526h-260l-158 276l-36 -186h-133l75 350l-61 107z" /> - <glyph glyph-name="uni049E" unicode="&#x49e;" horiz-adv-x="1198" -d="M1087 0h-262l-252 655l-149 -98l-117 -557h-237l231 1100h-139l43 203h139l35 159h237l-34 -159h161l-43 -203h-161l-74 -344l641 706h283l-623 -674z" /> - <glyph glyph-name="uni049F" unicode="&#x49f;" horiz-adv-x="1071" -d="M186 1382h154l37 174h235l-39 -174h283l-37 -163h-280l-66 -316q-40 -177 -80 -301h6l488 504h272l-483 -485l291 -621h-262l-209 471l-136 -96l-77 -375h-236l258 1219h-155z" /> - <glyph glyph-name="uni04A0" unicode="&#x4a0;" horiz-adv-x="1348" -d="M1260 0h-269l-366 721l-152 -721h-237l266 1257h-326l43 205h563l-147 -698l622 698h277l-660 -727z" /> - <glyph glyph-name="uni04A1" unicode="&#x4a1;" horiz-adv-x="1237" -d="M1057 1106h270l-516 -549l330 -557h-264l-308 545l-116 -545h-234l195 920h-338l39 186h573l-110 -520z" /> - <glyph glyph-name="uni04A2" unicode="&#x4a2;" horiz-adv-x="1477" -d="M1151 201h223l-129 -604h-231l86 403h-228l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237z" /> - <glyph glyph-name="uni04A3" unicode="&#x4a3;" horiz-adv-x="1288" -d="M518 1106l-94 -444h442l95 444h233l-193 -911h185l-125 -586h-225l88 391h-199l100 477h-440l-102 -477h-236l238 1106h233z" /> - <glyph glyph-name="uni04A4" unicode="&#x4a4;" horiz-adv-x="1561" -d="M1376 1257l-266 -1257h-238l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h557l-41 -205h-322z" /> - <glyph glyph-name="uni04A5" unicode="&#x4a5;" horiz-adv-x="1432" -d="M518 1106l-94 -444h442l95 444h579l-41 -186h-344l-194 -920h-236l100 477h-440l-102 -477h-236l238 1106h233z" /> - <glyph glyph-name="uni04A6" unicode="&#x4a6;" horiz-adv-x="2077" -d="M1083 0h-239l266 1257h-537l-266 -1257h-237l309 1462h1014l-144 -669q64 16 154 16q229 0 365.5 -147t136.5 -404q0 -223 -82 -400t-231 -273.5t-341 -96.5q-164 0 -280 49v207q126 -51 258 -51q125 0 223.5 71.5t152.5 199t54 280.5q0 174 -83.5 268t-238.5 94 -q-83 0 -129 -10z" /> - <glyph glyph-name="uni04A7" unicode="&#x4a7;" horiz-adv-x="1722" -d="M1059 621q78 18 137 18q174 0 275.5 -122.5t101.5 -330.5q0 -207 -70.5 -367t-196.5 -240.5t-296 -80.5q-129 0 -217 47v215q103 -57 206 -57q154 0 244 127.5t90 343.5q0 130 -53.5 199t-153.5 69q-62 0 -108 -16l-88 -426h-236l195 920h-412l-194 -920h-236l238 1106 -h878z" /> - <glyph glyph-name="uni04A8" unicode="&#x4a8;" horiz-adv-x="1485" -d="M1407 801q0 -199 -85.5 -377.5t-236.5 -288.5q37 -18 93 -18q65 0 139 26v-200q-62 -27 -164 -27q-168 0 -270 94q-90 -30 -209 -30q-254 0 -396.5 149t-142.5 416q0 266 97.5 484t270 337t390.5 119q132 0 248 -47l-70 -193q-83 35 -178 35q-145 0 -262 -92.5 -t-182.5 -260t-65.5 -374.5q0 -173 80 -272t225 -99h23l18 2q-76 136 -76 330q0 183 57 332.5t160.5 233t231.5 83.5q147 0 226 -92t79 -270zM932 260q110 81 178 235.5t68 323.5q0 156 -91 156q-81 0 -142.5 -138.5t-61.5 -338.5q0 -146 49 -238z" /> - <glyph glyph-name="uni04A9" unicode="&#x4a9;" horiz-adv-x="1241" -d="M1147 584q0 -138 -66.5 -266t-175.5 -195q31 -12 72 -12q55 0 117 20v-174q-66 -23 -148 -23q-130 0 -237 80q-93 -34 -205 -34q-193 0 -301.5 120t-108.5 334q0 197 73.5 359.5t203 247.5t299.5 85q50 0 105 -8.5t91 -21.5l-53 -181q-64 23 -139 23q-102 0 -178 -61 -t-120 -183.5t-44 -267.5q0 -124 52.5 -193t147.5 -69h27l21 2q-25 40 -43.5 102.5t-18.5 137.5q0 204 100.5 327t264.5 123q125 0 194.5 -73t69.5 -199zM770 229q74 53 121 152t47 201q0 98 -68 98q-62 0 -100.5 -81t-38.5 -191q0 -53 11 -101.5t28 -77.5z" /> - <glyph glyph-name="uni04AA" unicode="&#x4aa;" horiz-adv-x="1225" -d="M924 1278q-154 0 -275 -89t-193.5 -259.5t-72.5 -374.5q0 -180 82.5 -275.5t243.5 -95.5q141 0 329 68v-205q-180 -67 -374 -67q-248 0 -388.5 148.5t-140.5 416.5q0 260 105.5 483t281.5 339t402 116q217 0 389 -92l-94 -195q-63 34 -134 58t-161 24zM508 -319 -q48 0 76 27t28 81q0 92 -90 211h151q115 -115 115 -244q0 -105 -66 -164t-182 -59q-74 0 -127 21v143q44 -16 95 -16z" /> - <glyph glyph-name="uni04AB" unicode="&#x4ab;" horiz-adv-x="954" -d="M506 -20q-196 0 -304 106t-108 303q0 207 73.5 376.5t206.5 265t302 95.5q164 0 297 -61l-70 -184q-122 53 -221 53q-150 0 -250 -153.5t-100 -379.5q0 -111 56 -171t155 -60q74 0 138.5 22t129.5 54v-195q-140 -71 -305 -71zM351 -319q48 0 76 27t28 81q0 92 -90 211 -h151q115 -115 115 -244q0 -105 -66 -164t-182 -59q-74 0 -127 21v143q44 -16 95 -16z" /> - <glyph glyph-name="uni04AC" unicode="&#x4ac;" horiz-adv-x="1053" -d="M571 201h220l-129 -604h-232l86 403h-225l264 1257h-379l45 205h998l-43 -205h-381z" /> - <glyph glyph-name="uni04AD" unicode="&#x4ad;" horiz-adv-x="1853" -d="M807 1126q220 0 254 -235h8q75 116 170.5 175.5t198.5 59.5q133 0 202.5 -77.5t69.5 -221.5q0 -55 -22 -172l-74 -344q-8 -34 -8 -67q0 -34 17 -52t46 -18q42 0 92 19l-123 -584h-225l88 383q-137 39 -137 198q0 61 14 117q48 222 73 340t22 154q0 133 -119 133 -q-108 0 -201.5 -124t-136.5 -329l-101 -481h-235l143 672q17 82 17 127q0 135 -117 135q-110 0 -203.5 -127t-138.5 -338l-98 -469h-236l236 1106h184l-21 -205h9q148 225 352 225z" /> - <glyph glyph-name="uni04AE" unicode="&#x4ae;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242z" /> - <glyph glyph-name="uni04AF" unicode="&#x4af;" horiz-adv-x="997" -d="M414 254q51 128 137 285l303 567h250l-619 -1108l-104 -490h-240l105 490l-146 1108h232l55 -559q8 -78 21 -293h6z" /> - <glyph glyph-name="uni04B0" unicode="&#x4b0;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-8 -33h293l-43 -205h-291l-65 -311h-238l66 311h-279l43 205h281l8 37l-238 909h242z" /> - <glyph glyph-name="uni04B1" unicode="&#x4b1;" horiz-adv-x="997" -d="M412 252q40 101 139 287l303 567h250l-619 -1106h267l-39 -178h-267l-65 -314h-240l66 314h-252l39 178h250l-144 1106h232l55 -559q5 -46 19 -295h6z" /> - <glyph glyph-name="uni04B2" unicode="&#x4b2;" horiz-adv-x="1290" -d="M965 201h215l-129 -604h-232l86 403h-121l-192 592l-438 -592h-265l586 770l-250 692h246l178 -540l402 540h266l-551 -710z" /> - <glyph glyph-name="uni04B3" unicode="&#x4b3;" horiz-adv-x="1135" -d="M520 387l-307 -387h-270l475 569l-232 537h246l143 -373l287 373h275l-461 -549l162 -362h206l-124 -584h-220l88 389h-110z" /> - <glyph glyph-name="uni04B4" unicode="&#x4b4;" horiz-adv-x="1653" -d="M1542 209l-129 -612h-233l86 403h-977l266 1255h-379l43 207h985l-43 -207h-366l-222 -1050h545l266 1257h238l-266 -1253h186z" /> - <glyph glyph-name="uni04B5" unicode="&#x4b5;" horiz-adv-x="1370" -d="M606 920l-104 -488q-17 -81 -17 -129q0 -133 125 -133q74 0 144 56t126 162.5t87 248.5l98 469h235l-170 -795q-8 -34 -8 -67q0 -32 17.5 -51t46.5 -19q40 0 92 19l-123 -584h-227l90 383q-60 21 -90.5 69.5t-38.5 128.5h-4q-154 -210 -355 -210q-134 0 -207 75.5 -t-73 214.5q0 86 24 195l97 455h-281l39 186h795l-39 -186h-279z" /> - <glyph glyph-name="uni04B6" unicode="&#x4b6;" horiz-adv-x="1417" -d="M1178 -401h-234l86 401h-225l123 580q-118 -48 -203.5 -67t-165.5 -19q-165 0 -254.5 77.5t-89.5 219.5q0 63 14 127l115 544h238l-111 -528q-12 -48 -12 -98q0 -138 166 -138q94 0 176 21t170 55l143 688h240l-269 -1261h222z" /> - <glyph glyph-name="uni04B7" unicode="&#x4b7;" horiz-adv-x="1210" -d="M475 1106l-61 -289q-19 -76 -19 -127q0 -66 35 -101.5t98 -35.5q242 0 340 434l27 119h233l-192 -911h184l-125 -584h-225l88 389h-201l123 532h-8q-147 -170 -330 -170q-134 0 -208 79t-74 221q0 77 24 188l56 256h235z" /> - <glyph glyph-name="uni04B8" unicode="&#x4b8;" horiz-adv-x="1343" -d="M805 0l123 580q-124 -52 -211 -70l-68 -315h-141l65 299q-171 0 -264.5 77t-93.5 222q0 50 12 112l117 557h238l-113 -540q-10 -46 -10 -84q0 -68 37.5 -102.5t117.5 -37.5l72 336h141l-69 -323q91 15 213 63l143 688h240l-310 -1462h-239z" /> - <glyph glyph-name="uni04B9" unicode="&#x4b9;" horiz-adv-x="1186" -d="M475 1106q-40 -191 -61.5 -293t-18.5 -123q0 -119 105 -135l55 260h133l-55 -246q166 72 244 416l26 121h234l-236 -1106h-235l63 305q3 17 9 41t24.5 96t25.5 90h-8q-82 -107 -186 -145l-55 -258h-131l49 233q-144 0 -220.5 77t-76.5 220q0 75 24 191l56 256h235z" /> - <glyph glyph-name="uni04BA" unicode="&#x4ba;" horiz-adv-x="1343" -d="M494 881q127 52 210.5 70t157.5 18q167 0 255.5 -78.5t88.5 -222.5q0 -52 -12 -113l-117 -555h-237l114 539q11 47 11 86q0 137 -168 137q-94 0 -176 -21t-168 -55l-146 -686h-239l309 1462h239z" /> - <glyph glyph-name="uni04BB" unicode="&#x4bb;" horiz-adv-x="1208" -d="M702 0l62 291q10 49 16 127q0 65 -34 101t-99 36q-247 0 -340 -438l-24 -117h-236l236 1106h237q-43 -203 -65 -306t-56 -225h9q145 168 327 168q135 0 209 -79.5t74 -217.5q0 -88 -55 -328l-25 -118h-236z" /> - <glyph glyph-name="uni04BC" unicode="&#x4bc;" horiz-adv-x="1581" -d="M410 842q81 298 277.5 470.5t465.5 172.5q199 0 309.5 -94.5t110.5 -264.5q0 -245 -209 -364t-637 -119h-104q-5 -27 -5 -82q0 -189 84.5 -283t243.5 -94q86 0 174.5 18.5t212.5 67.5v-209q-114 -46 -216.5 -63.5t-211.5 -17.5q-252 0 -392 148.5t-140 414.5q0 31 8 106 -q-133 2 -210 60t-77 163q0 108 62 189h200q-47 -77 -47 -137q0 -82 84 -82h17zM1141 1278q-162 0 -292 -117t-187 -319h73q302 0 447 67t145 211q0 78 -50 118t-136 40z" /> - <glyph glyph-name="uni04BD" unicode="&#x4bd;" horiz-adv-x="1284" -d="M721 -20q-197 0 -307.5 112t-110.5 309v33l2 31q-256 18 -256 217q0 40 13.5 85t39.5 79h183q-43 -63 -43 -131q0 -31 17 -55.5t58 -24.5h17q58 226 207.5 358.5t345.5 132.5q165 0 253.5 -72.5t88.5 -205.5q0 -181 -167 -284t-474 -103h-43l-4 -60q0 -111 56 -174 -t169 -63q72 0 141 18.5t172 65.5v-187q-170 -81 -358 -81zM872 946q-97 0 -180.5 -87.5t-120.5 -225.5h31q185 0 292 53t107 152q0 54 -35 81t-94 27z" /> - <glyph glyph-name="uni04BE" unicode="&#x4be;" horiz-adv-x="1581" -d="M1141 1278q-162 0 -292 -117t-187 -319h73q302 0 447 67t145 211q0 78 -50 118t-136 40zM94 872q0 108 62 189h200q-47 -77 -47 -137q0 -82 84 -82h17q84 300 279.5 471.5t463.5 171.5q199 0 309.5 -94.5t110.5 -264.5q0 -249 -212 -366t-652 -117h-86q-5 -27 -5 -82 -q0 -189 84.5 -283t243.5 -94q86 0 174.5 18.5t212.5 67.5v-209q-165 -69 -348 -79l-80 -385h-237l86 399q-180 39 -280.5 181t-100.5 366q0 31 8 106q-133 2 -210 60t-77 163z" /> - <glyph glyph-name="uni04BF" unicode="&#x4bf;" horiz-adv-x="1284" -d="M872 946q-97 0 -180.5 -87.5t-120.5 -225.5h31q185 0 292 53t107 152q0 54 -35 81t-94 27zM334 635q58 226 207.5 358.5t345.5 132.5q165 0 253.5 -72.5t88.5 -205.5q0 -181 -167 -284t-474 -103h-43l-4 -60q0 -111 56 -174t169 -63q72 0 141 18.5t172 65.5v-187 -q-142 -68 -286 -79l-76 -373h-225l83 389q-130 35 -201 138t-71 265v33l2 31q-256 18 -256 217q0 40 13.5 85t39.5 79h183q-43 -63 -43 -131q0 -31 17 -55.5t58 -24.5h17z" /> - <glyph glyph-name="uni04C0" unicode="&#x4c0;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235z" /> - <glyph glyph-name="uni04C1" unicode="&#x4c1;" horiz-adv-x="1681" -d="M539 774l-322 688h244l313 -692l148 692h229l-147 -692l587 692h267l-627 -729l334 -733h-252l-320 725l-151 -725h-230l152 723l-602 -723h-275zM1521 1913q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133 -q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="uni04C2" unicode="&#x4c2;" horiz-adv-x="1837" -d="M793 469h-158q-54 -227 -196 -358t-339 -131q-68 0 -129 14l37 188q48 -12 90 -12q95 0 170 71t117.5 194t42.5 261q0 117 -44.5 177.5t-125.5 60.5q-56 0 -117 -21v191q76 22 158 22q173 0 269 -111t96 -315q0 -27 -5 -65h168l101 471h221l-102 -471h159 -q55 229 196.5 360t336.5 131q83 0 137 -14l-41 -188q-44 10 -94 10q-90 0 -163.5 -65.5t-118 -190t-44.5 -268.5q0 -115 42.5 -177.5t125.5 -62.5q50 0 117 23v-193q-70 -20 -156 -20q-172 0 -268 108.5t-96 314.5v33l2 33h-170l-101 -469h-219zM1521 1575 -q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="uni04C3" unicode="&#x4c3;" horiz-adv-x="1352" -d="M600 588q-89 0 -176 -27l-117 -561h-237l309 1462h237l-149 -698l623 698h278l-625 -684q207 -23 322 -160.5t115 -367.5q0 -220 -80.5 -395t-229.5 -271t-346 -96q-158 0 -276 47v209q125 -53 256 -53q128 0 225.5 68.5t151 195t53.5 283.5q0 172 -85 261t-249 89z" /> - <glyph glyph-name="uni04C4" unicode="&#x4c4;" horiz-adv-x="1159" -d="M885 1106h270l-479 -510q157 -28 239 -140.5t82 -289.5q0 -197 -66.5 -348.5t-193.5 -235.5t-301 -84q-133 0 -223 47v213q98 -57 207 -57q156 0 248 121.5t92 337.5q0 129 -66.5 203.5t-181.5 74.5q-73 0 -143 -24l-86 -414h-236l236 1106h233l-110 -520z" /> - <glyph glyph-name="uni04C5" unicode="&#x4c5;" horiz-adv-x="1444" -d="M1380 1462l-266 -1253h238l-279 -612h-274l252 403h-220l269 1255h-328q-135 -520 -227.5 -793.5t-195.5 -379t-279 -105.5q-81 0 -133 25v201q55 -21 100 -21q68 0 112 31.5t85.5 103.5t94.5 225t124 402.5t141 517.5h786z" /> - <glyph glyph-name="uni04C6" unicode="&#x4c6;" horiz-adv-x="1223" -d="M934 184h209l-252 -575h-234l207 391h-205l197 920q-37 8 -70 8q-72 0 -119 -32t-87.5 -107t-114.5 -293q-87 -251 -140 -339.5t-122 -131.5t-166 -43q-64 0 -115 20v197q36 -15 76 -15q49 0 86 32.5t71.5 99t102.5 262.5q73 209 122.5 299.5t109.5 142t141 76t196 24.5 -q156 0 295 -43z" /> - <glyph glyph-name="uni04C7" unicode="&#x4c7;" horiz-adv-x="1411" -d="M500 -512q-163 0 -279 49v217q138 -51 266 -51q171 0 267.5 98t146.5 330l111 528h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237l-291 -1380q-65 -307 -218 -450.5t-410 -143.5z" /> - <glyph glyph-name="uni04C8" unicode="&#x4c8;" horiz-adv-x="1243" -d="M518 1106l-94 -444h442l95 444h233l-231 -1090q-60 -275 -177.5 -396.5t-320.5 -121.5q-138 0 -238 53v211q108 -61 222 -61q115 0 181 81.5t105 266.5l90 428h-440l-102 -477h-236l238 1106h233z" /> - <glyph glyph-name="uni04C9" unicode="&#x4c9;" horiz-adv-x="1485" -d="M1153 209h242l-281 -612h-272l250 403h-220l140 659h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h237z" /> - <glyph glyph-name="uni04CA" unicode="&#x4ca;" horiz-adv-x="1288" -d="M518 1106l-94 -444h442l95 444h233l-195 -922h209l-250 -573h-235l207 389h-205l100 477h-440l-102 -477h-236l238 1106h233z" /> - <glyph glyph-name="uni04CB" unicode="&#x4cb;" horiz-adv-x="1343" -d="M819 0l-86 -403h-231l129 604h217l80 379q-118 -48 -203.5 -67t-165.5 -19q-166 0 -255 78.5t-89 220.5q0 50 12 112l117 557h238l-113 -540q-10 -46 -10 -84q0 -140 166 -140q94 0 176 21t168 55l145 688h240l-310 -1462h-225z" /> - <glyph glyph-name="uni04CC" unicode="&#x4cc;" horiz-adv-x="1200" -d="M498 1106l-62 -289q-16 -80 -16 -127q0 -137 131 -137q122 0 209.5 110t132.5 326l25 117h233l-233 -1106h-211l-82 -391h-226l131 586h191q33 154 47.5 214t34.5 115h-8q-139 -162 -328 -162q-138 0 -211.5 81t-73.5 219q0 36 7 81.5t73 362.5h236z" /> - <glyph glyph-name="uni04CD" unicode="&#x4cd;" horiz-adv-x="1831" -d="M647 0l-115 1214h-6q-16 -158 -73 -426l-166 -788h-219l309 1462h323l109 -1149h6l606 1149h344l-262 -1253h238l-279 -612h-272l250 403h-207l166 788q21 97 56.5 244.5t45.5 181.5h-6l-643 -1214h-205z" /> - <glyph glyph-name="uni04CE" unicode="&#x4ce;" horiz-adv-x="1563" -d="M1194 844q-2 -3 -3.5 -6.5t-465.5 -837.5h-176l-99 671q-13 83 -16 173l-178 -844h-215l235 1106h297l95 -678l16 -176q29 79 94 194l377 660h313l-196 -924h209l-248 -571h-238l209 389h-190z" /> - <glyph glyph-name="uni04CF" unicode="&#x4cf;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235z" /> - <glyph glyph-name="uni04D0" unicode="&#x4d0;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1288 1913q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133 -q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="uni04D1" unicode="&#x4d1;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM1216 1575q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="uni04D2" unicode="&#x4d2;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM514 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM897 1718 -q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04D3" unicode="&#x4d3;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM426 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM809 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z -" /> - <glyph glyph-name="uni04D4" unicode="&#x4d4;" horiz-adv-x="1753" -d="M1520 0h-777l86 406h-432l-256 -406h-262l930 1462h1020l-43 -205h-539l-84 -395h504l-43 -200h-502l-98 -459h539zM872 614l138 643h-82l-400 -643h344z" /> - <glyph glyph-name="uni04D5" unicode="&#x4d5;" horiz-adv-x="1726" -d="M1186 -20q-222 0 -305 137l-23 -117h-151l20 176h-8q-85 -106 -165.5 -151t-174.5 -45q-134 0 -209.5 103t-75.5 284q0 201 69 378t188.5 279t260.5 102q88 0 152 -43.5t108 -134.5h9l63 158h148l-25 -117q51 63 131 100t180 37q140 0 220.5 -76.5t80.5 -201.5 -q0 -182 -166.5 -284.5t-474.5 -102.5h-45l-4 -60q0 -117 60.5 -177t175.5 -60q125 0 305 84v-189q-175 -79 -344 -79zM465 170q85 0 162.5 80.5t125.5 215.5t48 267q0 91 -38.5 146t-113.5 55q-85 0 -159.5 -80t-116 -211t-41.5 -270q0 -105 37 -154t96 -49zM1333 946 -q-103 0 -188.5 -86t-122.5 -227h31q187 0 293 53.5t106 149.5q0 58 -34 84t-85 26z" /> - <glyph glyph-name="uni04D6" unicode="&#x4d6;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM1243 1913q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="uni04D7" unicode="&#x4d7;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM1160 1575q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="uni04D8" unicode="&#x4d8;" horiz-adv-x="1352" -d="M721 1278q-198 0 -402 -86v209q107 45 207 64.5t222 19.5q258 0 398 -150.5t140 -416.5q0 -253 -102 -474t-279.5 -342.5t-394.5 -121.5q-209 0 -321.5 94t-112.5 262q0 247 212 365t644 118h104q6 52 6 90q0 177 -85 273t-236 96zM510 184q166 0 293 111.5t194 325.5 -h-129q-268 0 -407 -67.5t-139 -209.5q0 -72 48.5 -116t139.5 -44z" /> - <glyph glyph-name="uni04D9" unicode="&#x4d9;" horiz-adv-x="1075" -d="M410 160q97 0 182 88t119 225h-29q-189 0 -294 -54t-105 -151q0 -51 32 -79.5t95 -28.5zM561 1126q197 0 307.5 -111t110.5 -310q0 -198 -77.5 -368.5t-210 -263.5t-296.5 -93q-161 0 -250.5 72.5t-89.5 205.5q0 182 166.5 284.5t474.5 102.5h43l2 31v29q0 111 -56 174 -t-169 63q-70 0 -139.5 -18t-171.5 -66v186q97 46 180 64t176 18z" /> - <glyph glyph-name="uni04DA" unicode="&#x4da;" horiz-adv-x="1352" -d="M721 1278q-198 0 -402 -86v209q107 45 207 64.5t222 19.5q258 0 398 -150.5t140 -416.5q0 -253 -102 -474t-279.5 -342.5t-394.5 -121.5q-209 0 -321.5 94t-112.5 262q0 247 212 365t644 118h104q6 52 6 90q0 177 -85 273t-236 96zM510 184q166 0 293 111.5t194 325.5 -h-129q-268 0 -407 -67.5t-139 -209.5q0 -72 48.5 -116t139.5 -44zM553 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM936 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37 -q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04DB" unicode="&#x4db;" horiz-adv-x="1075" -d="M410 160q97 0 182 88t119 225h-29q-189 0 -294 -54t-105 -151q0 -51 32 -79.5t95 -28.5zM561 1126q197 0 307.5 -111t110.5 -310q0 -198 -77.5 -368.5t-210 -263.5t-296.5 -93q-161 0 -250.5 72.5t-89.5 205.5q0 182 166.5 284.5t474.5 102.5h43l2 31v29q0 111 -56 174 -t-169 63q-70 0 -139.5 -18t-171.5 -66v186q97 46 180 64t176 18zM349 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM732 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37 -q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04DC" unicode="&#x4dc;" horiz-adv-x="1681" -d="M539 774l-322 688h244l313 -692l148 692h229l-147 -692l587 692h267l-627 -729l334 -733h-252l-320 725l-151 -725h-230l152 723l-602 -723h-275zM766 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1149 1718 -q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04DD" unicode="&#x4dd;" horiz-adv-x="1837" -d="M793 469h-158q-54 -227 -196 -358t-339 -131q-68 0 -129 14l37 188q48 -12 90 -12q95 0 170 71t117.5 194t42.5 261q0 117 -44.5 177.5t-125.5 60.5q-56 0 -117 -21v191q76 22 158 22q173 0 269 -111t96 -315q0 -27 -5 -65h168l101 471h221l-102 -471h159 -q55 229 196.5 360t336.5 131q83 0 137 -14l-41 -188q-44 10 -94 10q-90 0 -163.5 -65.5t-118 -190t-44.5 -268.5q0 -115 42.5 -177.5t125.5 -62.5q50 0 117 23v-193q-70 -20 -156 -20q-172 0 -268 108.5t-96 314.5v33l2 33h-170l-101 -469h-219zM770 1380q0 60 35 98t98 38 -q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1153 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04DE" unicode="&#x4de;" horiz-adv-x="1155" -d="M1130 1151q0 -160 -104 -263t-289 -128v-4q137 -18 216 -103t79 -217q0 -214 -162 -335t-446 -121q-132 0 -229 19t-179 60v213q84 -46 189.5 -73t214.5 -27q173 0 269.5 73t96.5 201q0 115 -83.5 165.5t-237.5 50.5h-178l41 190h164q190 0 291.5 68t101.5 188 -q0 90 -55 135t-154 45q-173 0 -357 -121l-90 166q125 82 243 116t257 34q181 0 291 -91t110 -241zM451 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM834 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04DF" unicode="&#x4df;" horiz-adv-x="983" -d="M420 664q146 0 210 40t64 121q0 117 -164 117q-124 0 -297 -74l-61 174q196 84 397 84q171 0 265 -70t94 -196q0 -110 -67.5 -181.5t-190.5 -98.5v-7q90 -23 139 -81t49 -148q0 -174 -133.5 -269t-374.5 -95q-92 0 -183.5 19t-156.5 52v203q170 -88 344 -88 -q128 0 199.5 47.5t71.5 130.5q0 72 -46.5 106.5t-146.5 34.5h-162l39 179h111zM323 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM706 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102 -t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04E0" unicode="&#x4e0;" horiz-adv-x="1106" -d="M598 831q180 -10 281.5 -105t101.5 -261q0 -225 -161.5 -355t-446.5 -130q-99 0 -196 19.5t-171 59.5v213q80 -45 179.5 -72.5t183.5 -27.5q172 0 269 76.5t97 210.5q0 105 -66.5 157t-205.5 52h-158l37 172l446 415h-522l43 207h828l-35 -168z" /> - <glyph glyph-name="uni04E1" unicode="&#x4e1;" horiz-adv-x="1026" -d="M465 463q167 -14 266.5 -118.5t99.5 -274.5q0 -167 -72.5 -295t-208 -198.5t-314.5 -70.5q-201 0 -351 76v211q160 -92 336 -92q174 0 272.5 96.5t98.5 253.5q0 125 -77.5 190.5t-223.5 65.5h-103l35 164l443 447h-512l41 188h792l-33 -160z" /> - <glyph glyph-name="uni04E2" unicode="&#x4e2;" horiz-adv-x="1487" -d="M379 1462h221q-183 -863 -209 -973t-39 -155h8l852 1128h285l-309 -1462h-219q112 532 173.5 827t74.5 322h-7l-854 -1149h-286zM686 1755h582l-37 -176h-582z" /> - <glyph glyph-name="uni04E3" unicode="&#x4e3;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM479 1417h582l-37 -176h-582z" /> - <glyph glyph-name="uni04E4" unicode="&#x4e4;" horiz-adv-x="1487" -d="M379 1462h221q-183 -863 -209 -973t-39 -155h8l852 1128h285l-309 -1462h-219q112 532 173.5 827t74.5 322h-7l-854 -1149h-286zM649 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1032 1718q0 60 35 98 -t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04E5" unicode="&#x4e5;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM432 1380q0 60 35 98t98 38 -q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM815 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04E6" unicode="&#x4e6;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM623 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1006 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z -" /> - <glyph glyph-name="uni04E7" unicode="&#x4e7;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM404 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM787 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04E8" unicode="&#x4e8;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM692 184q155 0 276.5 121.5t174.5 339.5h-756q-6 -44 -6 -100q0 -171 82 -266t229 -95zM872 1280 -q-152 0 -272 -114.5t-176 -317.5h747q5 35 5 72q0 169 -80.5 264.5t-223.5 95.5z" /> - <glyph glyph-name="uni04E9" unicode="&#x4e9;" horiz-adv-x="1174" -d="M1079 700q0 -204 -74 -373t-201 -257t-290 -88q-192 0 -306 115t-114 311q0 199 71.5 365t200.5 258.5t298 92.5q193 0 304 -113.5t111 -310.5zM528 170q98 0 176 81.5t113 221.5h-485q-4 -27 -4 -72q0 -111 51.5 -171t148.5 -60zM653 934q-98 0 -174 -76.5t-114 -206.5 -h479v51q0 113 -48.5 172.5t-142.5 59.5z" /> - <glyph glyph-name="uni04EA" unicode="&#x4ea;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM692 184q155 0 276.5 121.5t174.5 339.5h-756q-6 -44 -6 -100q0 -171 82 -266t229 -95zM872 1280 -q-152 0 -272 -114.5t-176 -317.5h747q5 35 5 72q0 169 -80.5 264.5t-223.5 95.5zM623 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1006 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102 -t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04EB" unicode="&#x4eb;" horiz-adv-x="1174" -d="M1079 700q0 -204 -74 -373t-201 -257t-290 -88q-192 0 -306 115t-114 311q0 199 71.5 365t200.5 258.5t298 92.5q193 0 304 -113.5t111 -310.5zM528 170q98 0 176 81.5t113 221.5h-485q-4 -27 -4 -72q0 -111 51.5 -171t148.5 -60zM653 934q-98 0 -174 -76.5t-114 -206.5 -h479v51q0 113 -48.5 172.5t-142.5 59.5zM404 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM787 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04EC" unicode="&#x4ec;" horiz-adv-x="1225" -d="M381 184q396 0 502 467h-580l41 203h569l2 72q0 170 -79 261t-226 91q-71 0 -143 -15t-178 -55l-62 195q200 80 412 80q251 0 386.5 -144t135.5 -411q0 -285 -96 -504.5t-268 -331.5t-406 -112q-109 0 -198.5 18t-169.5 63v218q90 -47 175.5 -71t182.5 -24zM421 1718 -q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM804 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04ED" unicode="&#x4ed;" horiz-adv-x="961" -d="M457 1126q197 0 303 -114.5t106 -331.5q0 -209 -69 -368t-201 -245.5t-315 -86.5q-79 0 -146.5 14.5t-109.5 36.5v202q134 -61 254 -61q124 0 209.5 74.5t117.5 228.5h-426l35 176h414v33q0 250 -209 250q-62 0 -116 -16.5t-109 -40.5l-66 174q159 75 328 75zM253 1380 -q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM636 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04EE" unicode="&#x4ee;" horiz-adv-x="1198" -d="M201 -20q-110 0 -189 30v217q82 -39 183 -39q85 0 151.5 49t147.5 183l-297 1042h239l166 -637q39 -160 49 -221q50 118 97 199l374 659h264l-643 -1067q-107 -178 -183.5 -260t-161.5 -118.5t-197 -36.5zM532 1755h582l-37 -176h-582z" /> - <glyph glyph-name="uni04EF" unicode="&#x4ef;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM355 1417h582l-37 -176h-582z" /> - <glyph glyph-name="uni04F0" unicode="&#x4f0;" horiz-adv-x="1198" -d="M201 -20q-110 0 -189 30v217q82 -39 183 -39q85 0 151.5 49t147.5 183l-297 1042h239l166 -637q39 -160 49 -221q50 118 97 199l374 659h264l-643 -1067q-107 -178 -183.5 -260t-161.5 -118.5t-197 -36.5zM483 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM866 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04F1" unicode="&#x4f1;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM318 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM701 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04F2" unicode="&#x4f2;" horiz-adv-x="1198" -d="M201 -20q-110 0 -189 30v217q82 -39 183 -39q85 0 151.5 49t147.5 183l-297 1042h239l166 -637q39 -160 49 -221q50 118 97 199l374 659h264l-643 -1067q-107 -178 -183.5 -260t-161.5 -118.5t-197 -36.5zM504 1604q66 74 132.5 164t96.5 139h240v-19 -q-39 -51 -152.5 -155.5t-185.5 -153.5h-131v25zM873 1604q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="uni04F3" unicode="&#x4f3;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM312 1266q66 74 132.5 164t96.5 139h240v-19q-39 -51 -152.5 -155.5 -t-185.5 -153.5h-131v25zM681 1266q119 133 231 303h238v-19q-52 -64 -158.5 -161t-177.5 -148h-133v25z" /> - <glyph glyph-name="uni04F4" unicode="&#x4f4;" horiz-adv-x="1343" -d="M805 0l123 580q-188 -86 -373 -86q-162 0 -250 78.5t-88 220.5q0 61 16 141l111 528h238l-107 -510q-16 -68 -16 -110q0 -144 168 -144q153 0 344 76l143 688h240l-310 -1462h-239zM565 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37 -q-47 0 -78 23.5t-31 74.5zM948 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04F5" unicode="&#x4f5;" horiz-adv-x="1178" -d="M475 1106l-59 -277q-19 -86 -19 -139q0 -71 37 -104t98 -33q122 0 204 106.5t132 327.5l27 119h233l-235 -1106h-236l64 305q12 60 28.5 117.5t28.5 105.5h-8q-135 -166 -326 -166q-139 0 -211.5 78t-72.5 222q0 79 26 196l54 248h235zM409 1380q0 60 35 98t98 38 -q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM792 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04F6" unicode="&#x4f6;" horiz-adv-x="1001" -d="M1153 1462l-43 -205h-539l-223 -1056h219l-129 -604h-231l86 403h-223l309 1462h774z" /> - <glyph glyph-name="uni04F7" unicode="&#x4f7;" horiz-adv-x="866" -d="M47 0l236 1106h653l-41 -195h-420l-151 -716h184l-123 -586h-227l88 391h-199z" /> - <glyph glyph-name="uni04F8" unicode="&#x4f8;" horiz-adv-x="1679" -d="M1380 0h-241l309 1462h242zM616 1462l-124 -594h88q227 0 345.5 -96t118.5 -287q0 -233 -153.5 -359t-439.5 -126h-381l309 1462h237zM473 199q162 0 245 69t83 203q0 104 -58.5 150.5t-169.5 46.5h-124l-101 -469h125zM741 1718q0 60 35 98t98 38q48 0 76.5 -23.5 -t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1124 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni04F9" unicode="&#x4f9;" horiz-adv-x="1561" -d="M508 1106l-100 -467q125 25 210 25q152 0 238 -78t86 -215q0 -179 -121.5 -285t-333.5 -106q-188 0 -279 84t-91 235q0 86 22 190l133 617h236zM539 487q-72 0 -168 -20q-6 -29 -10.5 -50.5t-6.5 -39.5t-3 -33.5t-1 -32.5q0 -155 156 -155q93 0 148 51.5t55 138.5 -q0 77 -43 109t-127 32zM1276 0h-234l234 1106h235zM596 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM979 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5 -t-31 74.5z" /> - <glyph glyph-name="uni04FA" unicode="&#x4fa;" horiz-adv-x="997" -d="M182 -444q-86 0 -141 24v191q55 -21 106 -21q104 0 134 141l22 109h-233l131 623h-148l43 200h148l135 639h770l-43 -205h-535l-92 -434h318l-43 -200h-318l-84 -398h219l-75 -364q-33 -158 -108.5 -231.5t-205.5 -73.5z" /> - <glyph glyph-name="uni04FB" unicode="&#x4fb;" horiz-adv-x="866" -d="M158 -444q-90 0 -140 24v191q52 -21 107 -21q101 0 133 141l23 109h-234l98 453h-145l37 180h145l101 473h655l-43 -195h-420l-59 -278h266l-39 -180h-264l-55 -252h219l-70 -340q-33 -158 -108.5 -231.5t-206.5 -73.5z" /> - <glyph glyph-name="uni04FC" unicode="&#x4fc;" horiz-adv-x="1229" -d="M786 -444q-86 0 -141 24v191q55 -21 107 -21q103 0 133 141l22 109h-123l-192 592l-438 -592h-265l586 770l-250 692h246l178 -540l402 540h266l-551 -710l190 -527h220l-76 -364q-33 -158 -108.5 -231.5t-205.5 -73.5z" /> - <glyph glyph-name="uni04FD" unicode="&#x4fd;" horiz-adv-x="1094" -d="M641 -444q-89 0 -141 24v191q55 -21 106 -21q105 0 133 141l23 109h-113l-160 387l-305 -387h-272l477 569l-231 537h245l144 -373l287 373h274l-461 -549l160 -356h217l-70 -340q-33 -157 -108 -231t-205 -74z" /> - <glyph glyph-name="uni04FE" unicode="&#x4fe;" horiz-adv-x="1151" -d="M799 659l241 -659h-256l-192 592l-438 -592h-265l502 659h-254l43 203h262l-217 600h246l178 -540l402 540h266l-467 -600h258l-43 -203h-266z" /> - <glyph glyph-name="uni04FF" unicode="&#x4ff;" horiz-adv-x="1032" -d="M127 653h227l-196 453h245l144 -373l287 373h274l-379 -453h229l-38 -176h-238l213 -477h-246l-160 387l-305 -387h-270l399 477h-225z" /> - <glyph glyph-name="uni0500" unicode="&#x500;" horiz-adv-x="1174" -d="M78 395q0 222 158.5 347.5t443.5 125.5h139l127 594h238l-310 -1462h-329q-234 0 -350.5 102t-116.5 293zM776 670h-125q-157 0 -244.5 -67.5t-87.5 -196.5q0 -205 242 -205h117z" /> - <glyph glyph-name="uni0501" unicode="&#x501;" horiz-adv-x="1198" -d="M623 1126q179 0 268 -178h8q13 146 37 250l76 358h233l-330 -1556h-184l19 176h-7q-88 -106 -170 -151t-174 -45q-143 0 -224 101.5t-81 287.5q0 205 71.5 383t191.5 276t266 98zM489 170q82 0 162.5 82t129 214t48.5 267q0 91 -43.5 146t-132.5 55q-85 0 -159 -77 -t-118 -211t-44 -273q0 -203 157 -203z" /> - <glyph glyph-name="uni0502" unicode="&#x502;" horiz-adv-x="1735" -d="M1630 848l-100 -479q-41 -192 -148 -290.5t-297 -98.5q-106 0 -181.5 39t-112.5 110q-75 -79 -156 -113t-182 -34q-175 0 -273 94.5t-98 265.5q0 243 168.5 384.5t456.5 141.5h118l125 594h238l-227 -1073q-9 -36 -9 -67q0 -69 38 -104.5t104 -35.5q80 0 128.5 54 -t71.5 163l95 449h241zM782 666h-86q-180 0 -276 -80.5t-96 -229.5q0 -83 45.5 -128.5t126.5 -45.5q88 0 146.5 50.5t78.5 142.5z" /> - <glyph glyph-name="uni0503" unicode="&#x503;" horiz-adv-x="1765" -d="M991 319q0 -69 37 -109t107 -40q91 0 139 60t74 186l59 284h235l-67 -319q-44 -211 -148.5 -306t-287.5 -95q-132 0 -212.5 55.5t-111.5 146.5h-10q-161 -202 -379 -202q-161 0 -246.5 105t-85.5 290q0 196 67.5 373.5t185.5 277.5t267 100q90 0 161.5 -45t115.5 -133h8 -q16 156 37 252l76 356h233l-241 -1134q-13 -52 -13 -103zM492 170q85 0 164.5 82t126 214t46.5 267q0 91 -43 146t-135 55q-86 0 -159 -75t-116.5 -208t-43.5 -278q0 -203 160 -203z" /> - <glyph glyph-name="uni0504" unicode="&#x504;" horiz-adv-x="1739" -d="M1083 1149q0 -148 -95.5 -254t-264.5 -143v-7q123 -27 178 -91t55 -175l-6 -141q0 -79 35 -117.5t111 -38.5q83 0 131.5 53t75.5 181l90 432h239l-100 -479q-43 -204 -149.5 -296.5t-301.5 -92.5q-182 0 -277 82.5t-95 242.5q0 35 5 76t5 92q0 98 -62.5 143.5 -t-195.5 45.5h-215l39 180h180q176 0 274.5 71t98.5 201q0 85 -52 128.5t-143 43.5q-153 0 -328 -110l-94 165q208 142 471 142q180 0 285.5 -92t105.5 -242z" /> - <glyph glyph-name="uni0505" unicode="&#x505;" horiz-adv-x="1595" -d="M823 362v-63q0 -129 140 -129q90 0 138 56.5t73 172.5l63 301h236l-68 -319q-41 -206 -148 -303.5t-303 -97.5q-173 0 -265.5 73t-92.5 215l2 66q0 81 -44.5 116t-158.5 35h-153l39 179h118q139 0 204 39t65 120q0 119 -164 119q-119 0 -297 -74l-64 174q193 84 387 84 -q178 0 272.5 -69t94.5 -197q0 -221 -256 -282v-5q182 -29 182 -211z" /> - <glyph glyph-name="uni0506" unicode="&#x506;" horiz-adv-x="1255" -d="M866 0h-229l78 360q16 83 16 113q0 91 -62.5 140t-187.5 49h-235l41 190h172q181 0 283 69.5t102 190.5q0 85 -52.5 130.5t-148.5 45.5q-178 0 -364 -121l-91 166q127 82 243 116t257 34q120 0 211.5 -42t141 -118t49.5 -172q0 -165 -106 -264.5t-290 -124.5v-4 -q136 -17 206.5 -89.5t70.5 -187.5q0 -27 -6.5 -67t-42.5 -213h219l-127 -604h-234z" /> - <glyph glyph-name="uni0507" unicode="&#x507;" horiz-adv-x="1098" -d="M844 367q0 -25 -2.5 -49.5t-22.5 -122.5h187l-125 -584h-224l86 389h-192l59 260q11 48 11 88q0 76 -49 106.5t-140 30.5h-170l39 179h115q140 0 205 40t65 119q0 119 -164 119q-115 0 -295 -74l-63 174q193 84 389 84q178 0 273.5 -69t95.5 -197q0 -107 -65.5 -179.5 -t-194.5 -102.5v-5q86 -20 134 -71.5t48 -134.5z" /> - <glyph glyph-name="uni0508" unicode="&#x508;" horiz-adv-x="1919" -d="M1358 1462l-215 -1007q-19 -93 -19 -136q0 -137 144 -137q84 0 134.5 54.5t76.5 179.5l90 432h239l-102 -477q-42 -202 -148.5 -296.5t-300.5 -94.5q-173 0 -271.5 82.5t-98.5 234.5q0 77 24 188l164 770h-303q-135 -520 -227.5 -793.5t-195.5 -379t-279 -105.5 -q-81 0 -133 25v201q55 -21 100 -21q68 0 112 31.5t85.5 103.5t94.5 225t124 402.5t141 517.5h764z" /> - <glyph glyph-name="uni0509" unicode="&#x509;" horiz-adv-x="1743" -d="M971 313q0 -71 36.5 -107t104.5 -36q84 0 131 50t80 196l59 284h238l-70 -331q-43 -204 -151.5 -296.5t-300.5 -92.5q-179 0 -271 82.5t-92 230.5q0 63 15 123l106 504q-37 8 -70 8q-72 0 -119 -32t-87.5 -107t-114.5 -293q-87 -251 -140 -339.5t-122 -131.5t-166 -43 -q-64 0 -115 20v197q36 -15 76 -15q49 0 86 32.5t71.5 99t102.5 262.5q73 209 122.5 299.5t109.5 142t141 76t196 24.5q156 0 295 -43l-139 -671q-12 -53 -12 -93z" /> - <glyph glyph-name="uni050A" unicode="&#x50a;" horiz-adv-x="1982" -d="M1188 319q0 -137 145 -137q86 0 135.5 56t75.5 178l90 432h238l-100 -477q-45 -206 -151.5 -298.5t-297.5 -92.5q-174 0 -273.5 85t-99.5 236q0 63 25 178l37 180h-566l-139 -659h-237l309 1462h237l-127 -598h566l127 598h239l-219 -1036q-14 -75 -14 -107z" /> - <glyph glyph-name="uni050B" unicode="&#x50b;" horiz-adv-x="1806" -d="M825 477h-440l-102 -477h-236l238 1106h233l-94 -444h442l95 444h233l-147 -694q-13 -58 -13 -97q0 -69 38 -104t108 -35q86 0 134 55t75 185l59 284h235l-61 -286q-52 -234 -162 -334t-297 -100q-178 0 -271 82.5t-93 230.5q0 25 2.5 51.5t23.5 132.5z" /> - <glyph glyph-name="uni050C" unicode="&#x50c;" horiz-adv-x="1466" -d="M784 784h615l-29 -151q-46 -240 -129.5 -377t-218.5 -206.5t-332 -69.5q-264 0 -409.5 150t-145.5 421q0 262 104.5 476.5t289.5 335t423 120.5t420 -90l-90 -203q-102 50 -177.5 68t-160.5 18q-159 0 -288 -93.5t-201 -259.5t-72 -366q0 -183 82 -278t242 -95 -q164 0 261.5 95t137.5 301h-365z" /> - <glyph glyph-name="uni050D" unicode="&#x50d;" horiz-adv-x="1249" -d="M631 618h530l-26 -124q-58 -263 -195.5 -388.5t-382.5 -125.5q-217 0 -340 117.5t-123 330.5q0 202 81.5 362.5t232.5 248t350 87.5q217 0 362 -84l-86 -180q-134 74 -278 74q-195 0 -309.5 -138.5t-114.5 -371.5q0 -124 63.5 -191t177.5 -67q124 0 203.5 67.5 -t106.5 198.5h-291z" /> - <glyph glyph-name="uni050E" unicode="&#x50e;" horiz-adv-x="1399" -d="M176 1257l45 205h1004l-45 -205h-387l-177 -831q-14 -75 -14 -107q0 -65 36.5 -101t109.5 -36q83 0 132.5 52t77.5 182l91 432h237l-100 -477q-45 -206 -151.5 -298.5t-297.5 -92.5q-174 0 -273 82t-99 235q0 63 22 162l170 798h-381z" /> - <glyph glyph-name="uni050F" unicode="&#x50f;" horiz-adv-x="1290" -d="M518 313q0 -71 36.5 -107t104.5 -36q84 0 131 50t80 196l60 284h237l-69 -331q-43 -202 -152 -295.5t-301 -93.5q-178 0 -270 83.5t-92 231.5q0 66 22 160l101 465h-316l37 186h868l-41 -186h-317l-107 -514q-12 -53 -12 -93z" /> - <glyph glyph-name="uni0510" unicode="&#x510;" horiz-adv-x="1155" -d="M791 1483q128 0 231 -33t203 -109l-115 -172q-153 115 -324 115q-118 0 -191 -61t-73 -164q0 -207 287 -207h162l-41 -190h-152q-434 0 -434 -275q0 -102 70 -155.5t207 -53.5q183 0 376 94v-209q-183 -83 -428 -83q-224 0 -349.5 100.5t-125.5 273.5t107.5 278.5 -t320.5 131.5v6q-111 34 -173 110.5t-62 188.5q0 127 64.5 221t179 143.5t260.5 49.5z" /> - <glyph glyph-name="uni0511" unicode="&#x511;" horiz-adv-x="981" -d="M709 485h-131q-135 0 -210 -44.5t-75 -131.5q0 -65 46.5 -104t149.5 -39q167 0 342 90v-195q-159 -81 -380 -81q-186 0 -293 76t-107 210q0 259 314 314v6q-78 31 -119 87.5t-41 131.5q0 150 116.5 235.5t315.5 85.5q212 0 360 -79l-77 -177q-139 72 -275 72 -q-110 0 -167.5 -41t-57.5 -113q0 -124 196 -124h129z" /> - <glyph glyph-name="uni0512" unicode="&#x512;" horiz-adv-x="1444" -d="M1380 1462l-264 -1237h221l-75 -364q-34 -161 -109 -233t-205 -72q-89 0 -139 24v191q53 -21 106 -21q102 0 134 141l20 109h-238l269 1255h-328q-135 -520 -227.5 -793.5t-195.5 -379t-279 -105.5q-81 0 -133 25v201q55 -21 100 -21q68 0 112 31.5t85.5 103.5t94.5 225 -t124 402.5t141 517.5h786z" /> - <glyph glyph-name="uni0513" unicode="&#x513;" horiz-adv-x="1249" -d="M936 201h219l-70 -340q-33 -158 -108.5 -231.5t-206.5 -73.5q-89 0 -139 24v191q53 -21 106 -21q101 0 133 141l23 109h-234l197 920q-37 8 -70 8q-72 0 -119 -32t-87.5 -107t-114.5 -293q-87 -251 -140 -339.5t-122 -131.5t-166 -43q-64 0 -115 20v197q36 -15 76 -15 -q49 0 86 32.5t71.5 99t102.5 262.5q73 209 122.5 299.5t109.5 142t141 76t196 24.5q156 0 295 -43z" /> - <glyph glyph-name="uni1E00" unicode="&#x1e00;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM702 -348q0 -100 -64.5 -163.5t-175.5 -63.5q-108 0 -170.5 61t-62.5 164t63.5 164t169.5 61q104 0 172 -61t68 -162zM567 -350 -q0 49 -29 76.5t-76 27.5q-46 0 -76 -27.5t-30 -76.5q0 -50 27 -78.5t79 -28.5q47 0 76 28.5t29 78.5z" /> - <glyph glyph-name="uni1E01" unicode="&#x1e01;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM698 -348q0 -100 -64.5 -163.5t-175.5 -63.5q-108 0 -170.5 61t-62.5 164t63.5 164t169.5 61q104 0 172 -61t68 -162zM563 -350q0 49 -29 76.5t-76 27.5q-46 0 -76 -27.5t-30 -76.5q0 -50 27 -78.5t79 -28.5q47 0 76 28.5 -t29 78.5z" /> - <glyph glyph-name="uni1E3E" unicode="&#x1e3e;" horiz-adv-x="1757" -d="M647 0l-115 1214h-6q-9 -118 -55 -340l-184 -874h-219l309 1462h323l109 -1149h6l606 1149h344l-305 -1462h-227l182 872q39 186 86 342h-6l-643 -1214h-205zM954 1606q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni1E3F" unicode="&#x1e3f;" horiz-adv-x="1819" -d="M807 1126q220 0 254 -235h8q75 116 170.5 175.5t198.5 59.5q133 0 202.5 -76.5t69.5 -215.5q0 -64 -22 -181l-140 -653h-235l143 672q19 95 19 133q0 129 -121 129q-108 0 -201.5 -124t-136.5 -329l-101 -481h-235l143 672q17 82 17 127q0 135 -117 135 -q-110 0 -203.5 -127t-138.5 -338l-98 -469h-236l236 1106h184l-21 -205h9q148 225 352 225zM942 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Wgrave" unicode="&#x1e80;" horiz-adv-x="1788" -d="M1317 0h-258l-37 842l-6 185l4 106h-6q-47 -144 -117 -291l-385 -842h-256l-53 1462h229l19 -850q0 -136 -13 -346h6q83 221 142 355l387 841h225l31 -839l3 -169l-3 -188h8q28 88 70 197.5t61 152.5l358 846h246zM1192 1579h-144q-65 63 -132 151.5t-101 155.5v21h245 -q47 -154 132 -303v-25z" /> - <glyph glyph-name="wgrave" unicode="&#x1e81;" horiz-adv-x="1540" -d="M844 0l-19 627l-1 70l3 200q-25 -62 -51.5 -125t-345.5 -772h-262l-47 1106h221l13 -646q-2 -87 -11 -245h6q66 176 109 272l278 619h254l19 -604l1 -53l-3 -234h6q17 50 57 158.5t63.5 163.5t251.5 569h244l-518 -1106h-268zM988 1241h-144q-65 63 -132 151.5 -t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Wacute" unicode="&#x1e82;" horiz-adv-x="1788" -d="M1317 0h-258l-37 842l-6 185l4 106h-6q-47 -144 -117 -291l-385 -842h-256l-53 1462h229l19 -850q0 -136 -13 -346h6q83 221 142 355l387 841h225l31 -839l3 -169l-3 -188h8q28 88 70 197.5t61 152.5l358 846h246zM983 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5 -t-175 -147.5h-156v25z" /> - <glyph glyph-name="wacute" unicode="&#x1e83;" horiz-adv-x="1540" -d="M844 0l-19 627l-1 70l3 200q-25 -62 -51.5 -125t-345.5 -772h-262l-47 1106h221l13 -646q-2 -87 -11 -245h6q66 176 109 272l278 619h254l19 -604l1 -53l-3 -234h6q17 50 57 158.5t63.5 163.5t251.5 569h244l-518 -1106h-268zM784 1266q97 108 225 303h264v-19 -q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Wdieresis" unicode="&#x1e84;" horiz-adv-x="1788" -d="M1317 0h-258l-37 842l-6 185l4 106h-6q-47 -144 -117 -291l-385 -842h-256l-53 1462h229l19 -850q0 -136 -13 -346h6q83 221 142 355l387 841h225l31 -839l3 -169l-3 -188h8q28 88 70 197.5t61 152.5l358 846h246zM799 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM1182 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="wdieresis" unicode="&#x1e85;" horiz-adv-x="1540" -d="M844 0l-19 627l-1 70l3 200q-25 -62 -51.5 -125t-345.5 -772h-262l-47 1106h221l13 -646q-2 -87 -11 -245h6q66 176 109 272l278 619h254l19 -604l1 -53l-3 -234h6q17 50 57 158.5t63.5 163.5t251.5 569h244l-518 -1106h-268zM582 1380q0 60 35 98t98 38q48 0 76.5 -23.5 -t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM965 1380q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="uni1EA0" unicode="&#x1ea0;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM338 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EA1" unicode="&#x1ea1;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM317 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EA2" unicode="&#x1ea2;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1089 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19 -q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EA3" unicode="&#x1ea3;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM1005 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EA4" unicode="&#x1ea4;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM733 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1085 1794 -q105 110 172 207h209v-18q-35 -39 -112 -102.5t-144 -106.5h-125v20z" /> - <glyph glyph-name="uni1EA5" unicode="&#x1ea5;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM641 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM993 1456q105 110 172 207h209v-18q-35 -39 -112 -102.5t-144 -106.5h-125v20z" /> - <glyph glyph-name="uni1EA6" unicode="&#x1ea6;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM733 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM467 1774 -q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="uni1EA7" unicode="&#x1ea7;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM651 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM385 1436q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="uni1EA8" unicode="&#x1ea8;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM733 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1108 1778 -l10 106q70 7 101.5 26t31.5 54q0 45 -71 45q-45 0 -78 -12v100q33 10 102 10q79 0 125.5 -33t46.5 -96q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="uni1EA9" unicode="&#x1ea9;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM649 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1024 1440l10 106q70 7 101.5 26t31.5 54q0 45 -71 45q-45 0 -78 -12v100q33 10 102 10q79 0 125.5 -33t46.5 -96 -q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="uni1EAA" unicode="&#x1eaa;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1018 1915q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5 -q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22t43.5 70h115q-57 -231 -227 -231zM729 1866h246q34 -92 162 -264l-5 -23h-120q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="uni1EAB" unicode="&#x1eab;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM932 1577q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22t43.5 70h115q-57 -231 -227 -231zM643 1528h246 -q34 -92 162 -264l-5 -23h-120q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="uni1EAC" unicode="&#x1eac;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM338 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82zM1157 1579h-152 -q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="uni1EAD" unicode="&#x1ead;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM317 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82zM1060 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z -" /> - <glyph glyph-name="uni1EAE" unicode="&#x1eae;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM838 1579q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77z -M791 1860q94 88 170 207h194v-17q-31 -34 -115.5 -103t-148.5 -108h-100v21z" /> - <glyph glyph-name="uni1EAF" unicode="&#x1eaf;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM735 1241q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77zM688 1522q94 88 170 207h194v-17q-31 -34 -115.5 -103t-148.5 -108h-100v21z" /> - <glyph glyph-name="uni1EB0" unicode="&#x1eb0;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM823 1839q-54 50 -106 110t-76 99l2 19h176q29 -86 103 -207l-5 -21h-94zM809 1579q-135 0 -211 74t-76 205l2 18h125 -q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77z" /> - <glyph glyph-name="uni1EB1" unicode="&#x1eb1;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM749 1501q-54 50 -106 110t-76 99l2 19h176q29 -86 103 -207l-5 -21h-94zM735 1241q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77z" /> - <glyph glyph-name="uni1EB2" unicode="&#x1eb2;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM760 1823l8 102q62 9 92.5 27t30.5 53q0 39 -66 39q-43 0 -73 -10v90q36 12 96 12q75 0 118.5 -31t43.5 -86q0 -58 -37 -99 -t-107 -56l-14 -41h-92zM805 1579q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77z" /> - <glyph glyph-name="uni1EB3" unicode="&#x1eb3;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM688 1485l8 102q62 9 92.5 27t30.5 53q0 39 -66 39q-43 0 -73 -10v90q36 12 96 12q75 0 118.5 -31t43.5 -86q0 -58 -37 -99t-107 -56l-14 -41h-92zM733 1241q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34 -q158 0 219 145h131q-35 -143 -127 -220t-237 -77z" /> - <glyph glyph-name="uni1EB4" unicode="&#x1eb4;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1008 1923q-37 0 -74.5 13.5t-72.5 29.5t-67.5 29.5t-60.5 13.5q-72 0 -102 -86h-117q50 221 225 221q36 0 74 -14t74 -31t69 -31 -t60 -14q38 0 60 23t42 69h115q-58 -223 -225 -223zM805 1579q-140 0 -214.5 71t-74.5 206h125q5 -65 48.5 -95t129.5 -30q87 0 137 31.5t78 93.5h131q-34 -133 -125.5 -205t-234.5 -72z" /> - <glyph glyph-name="uni1EB5" unicode="&#x1eb5;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM934 1585q-37 0 -74.5 13.5t-72.5 29.5t-67.5 29.5t-60.5 13.5q-72 0 -102 -86h-117q50 221 225 221q36 0 74 -14t74 -31t69 -31t60 -14q38 0 60 23t42 69h115q-58 -223 -225 -223zM731 1241q-140 0 -214.5 71t-74.5 206h125 -q5 -65 48.5 -95t129.5 -30q87 0 137 31.5t78 93.5h131q-34 -133 -125.5 -205t-234.5 -72z" /> - <glyph glyph-name="uni1EB6" unicode="&#x1eb6;" horiz-adv-x="1210" -d="M827 406h-485l-209 -406h-254l783 1464h274l166 -1464h-234zM811 614q-40 416 -45.5 503.5t-5.5 139.5q-55 -139 -142 -307l-172 -336h365zM1170 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31 -t62.5 94h148zM338 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EB7" unicode="&#x1eb7;" horiz-adv-x="1186" -d="M399 -20q-141 0 -223 101.5t-82 285.5q0 202 69.5 378t191.5 278.5t268 102.5q97 0 167 -45.5t109 -132.5h10l62 158h180l-236 -1106h-182l21 176h-6q-158 -196 -349 -196zM485 170q82 0 161 77.5t130 207.5t51 284q0 88 -47 141.5t-123 53.5q-85 0 -160 -77t-120 -209.5 -t-45 -274.5q0 -102 40.5 -152.5t112.5 -50.5zM1102 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148zM317 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41 -q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EB8" unicode="&#x1eb8;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM287 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EB9" unicode="&#x1eb9;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM285 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EBA" unicode="&#x1eba;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM1044 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EBB" unicode="&#x1ebb;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM960 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EBC" unicode="&#x1ebc;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM932 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137 -q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EBD" unicode="&#x1ebd;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM839 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137 -q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EBE" unicode="&#x1ebe;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM704 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1056 1794q105 110 172 207h209v-18q-35 -39 -112 -102.5t-144 -106.5 -h-125v20z" /> - <glyph glyph-name="uni1EBF" unicode="&#x1ebf;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM612 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM964 1456q105 110 172 207h209v-18q-35 -39 -112 -102.5 -t-144 -106.5h-125v20z" /> - <glyph glyph-name="uni1EC0" unicode="&#x1ec0;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM704 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM438 1774q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5 -t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="uni1EC1" unicode="&#x1ec1;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM612 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM346 1436q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5 -t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="uni1EC2" unicode="&#x1ec2;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM704 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1079 1778l10 106q70 7 101.5 26t31.5 54q0 45 -71 45q-45 0 -78 -12 -v100q33 10 102 10q79 0 125.5 -33t46.5 -96q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="uni1EC3" unicode="&#x1ec3;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM612 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM987 1440l10 106q70 7 101.5 26t31.5 54q0 45 -71 45 -q-45 0 -78 -12v100q33 10 102 10q79 0 125.5 -33t46.5 -96q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="uni1EC4" unicode="&#x1ec4;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM989 1915q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22t43.5 70 -h115q-57 -231 -227 -231zM700 1866h246q34 -92 162 -264l-5 -23h-120q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="uni1EC5" unicode="&#x1ec5;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM897 1577q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22 -t43.5 70h115q-57 -231 -227 -231zM608 1528h246q34 -92 162 -264l-5 -23h-120q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="uni1EC6" unicode="&#x1ec6;" horiz-adv-x="1077" -d="M846 0h-776l309 1462h776l-43 -205h-539l-84 -395h502l-41 -203h-504l-96 -456h539zM287 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82zM1130 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25 -q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="uni1EC7" unicode="&#x1ec7;" horiz-adv-x="1075" -d="M664 946q-96 0 -180.5 -86t-121.5 -227h29q188 0 294 53.5t106 151.5q0 51 -32 79.5t-95 28.5zM512 -20q-197 0 -307.5 111t-110.5 310q0 198 77.5 368.5t210 263.5t296.5 93q161 0 250.5 -72.5t89.5 -205.5q0 -182 -166.5 -284.5t-474.5 -102.5h-43l-2 -31v-29 -q0 -111 56.5 -174t168.5 -63q72 0 143 19t168 65v-187q-96 -44 -176.5 -62.5t-179.5 -18.5zM285 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82zM1031 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25 -q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="uni1EC8" unicode="&#x1ec8;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM801 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EC9" unicode="&#x1ec9;" horiz-adv-x="563" -d="M283 0h-236l236 1106h235zM708 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1ECA" unicode="&#x1eca;" horiz-adv-x="608" -d="M70 0l311 1462h235l-311 -1462h-235zM2 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1ECB" unicode="&#x1ecb;" horiz-adv-x="563" -d="M330 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40 -112t-105 -41q-53 0 -88 26t-35 82zM283 0h-236l236 1106h235zM-21 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1ECC" unicode="&#x1ecc;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM457 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1ECD" unicode="&#x1ecd;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM328 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1ECE" unicode="&#x1ece;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1222 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1ECF" unicode="&#x1ecf;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM977 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1ED0" unicode="&#x1ed0;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM842 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1194 1794q105 110 172 207h209v-18q-35 -39 -112 -102.5t-144 -106.5h-125v20z" /> - <glyph glyph-name="uni1ED1" unicode="&#x1ed1;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM625 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM977 1456q105 110 172 207h209v-18q-35 -39 -112 -102.5t-144 -106.5h-125v20z" /> - <glyph glyph-name="uni1ED2" unicode="&#x1ed2;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM840 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM574 1774q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="uni1ED3" unicode="&#x1ed3;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM625 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM359 1436q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="uni1ED4" unicode="&#x1ed4;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM840 1874h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1215 1778l10 106q70 7 101.5 26t31.5 54q0 45 -71 45q-45 0 -78 -12v100q33 10 102 10q79 0 125.5 -33t46.5 -96 -q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="uni1ED5" unicode="&#x1ed5;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM625 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM1000 1440l10 106q70 7 101.5 26t31.5 54q0 45 -71 45q-45 0 -78 -12v100q33 10 102 10q79 0 125.5 -33t46.5 -96 -q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="uni1ED6" unicode="&#x1ed6;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM1125 1915q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22t43.5 70h115q-57 -231 -227 -231zM836 1866h246 -q34 -92 162 -264l-5 -23h-120q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="uni1ED7" unicode="&#x1ed7;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM910 1577q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22t43.5 70h115q-57 -231 -227 -231zM621 1528h246 -q34 -92 162 -264l-5 -23h-120q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="uni1ED8" unicode="&#x1ed8;" horiz-adv-x="1485" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM872 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM457 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82zM1264 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z -" /> - <glyph glyph-name="uni1ED9" unicode="&#x1ed9;" horiz-adv-x="1174" -d="M842 702q0 107 -49 167.5t-140 60.5q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM1079 692q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5 -t298 92.5q195 0 305 -116t110 -316zM328 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82zM1054 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="uni1EDA" unicode="&#x1eda;" horiz-adv-x="1522" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q302 0 440 -213q72 37 110.5 107.5t53.5 176.5h246l8 -24q-41 -152 -129.5 -245.5t-230.5 -149.5q32 -102 32 -215zM872 1280 -q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5t172 265t61.5 375.5q0 170 -79 265t-223 95zM782 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni1EDB" unicode="&#x1edb;" horiz-adv-x="1233" -d="M664 1124q219 0 329 -145q71 28 115 96t68 199h239l8 -23q-40 -157 -125.5 -249.5t-242.5 -149.5q24 -71 24 -160q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5t298 92.5zM842 702q0 107 -49 167.5t-140 60.5 -q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM571 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni1EDC" unicode="&#x1edc;" horiz-adv-x="1522" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q302 0 440 -213q72 37 110.5 107.5t53.5 176.5h246l8 -24q-41 -152 -129.5 -245.5t-230.5 -149.5q32 -102 32 -215zM872 1280 -q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5t172 265t61.5 375.5q0 170 -79 265t-223 95zM1029 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="uni1EDD" unicode="&#x1edd;" horiz-adv-x="1233" -d="M664 1124q219 0 329 -145q71 28 115 96t68 199h239l8 -23q-40 -157 -125.5 -249.5t-242.5 -149.5q24 -71 24 -160q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5t298 92.5zM842 702q0 107 -49 167.5t-140 60.5 -q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM808 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="uni1EDE" unicode="&#x1ede;" horiz-adv-x="1522" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q302 0 440 -213q72 37 110.5 107.5t53.5 176.5h246l8 -24q-41 -152 -129.5 -245.5t-230.5 -149.5q32 -102 32 -215zM872 1280 -q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5t172 265t61.5 375.5q0 170 -79 265t-223 95zM1222 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19 -q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EDF" unicode="&#x1edf;" horiz-adv-x="1233" -d="M664 1124q219 0 329 -145q71 28 115 96t68 199h239l8 -23q-40 -157 -125.5 -249.5t-242.5 -149.5q24 -71 24 -160q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5t298 92.5zM842 702q0 107 -49 167.5t-140 60.5 -q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM977 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EE0" unicode="&#x1ee0;" horiz-adv-x="1522" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q302 0 440 -213q72 37 110.5 107.5t53.5 176.5h246l8 -24q-41 -152 -129.5 -245.5t-230.5 -149.5q32 -102 32 -215zM872 1280 -q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5t172 265t61.5 375.5q0 170 -79 265t-223 95zM1069 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38 -t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EE1" unicode="&#x1ee1;" horiz-adv-x="1233" -d="M664 1124q219 0 329 -145q71 28 115 96t68 199h239l8 -23q-40 -157 -125.5 -249.5t-242.5 -149.5q24 -71 24 -160q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5t298 92.5zM842 702q0 107 -49 167.5t-140 60.5 -q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM851 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5 -q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EE2" unicode="&#x1ee2;" horiz-adv-x="1522" -d="M1421 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q302 0 440 -213q72 37 110.5 107.5t53.5 176.5h246l8 -24q-41 -152 -129.5 -245.5t-230.5 -149.5q32 -102 32 -215zM872 1280 -q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5t172 265t61.5 375.5q0 170 -79 265t-223 95zM457 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EE3" unicode="&#x1ee3;" horiz-adv-x="1233" -d="M664 1124q219 0 329 -145q71 28 115 96t68 199h239l8 -23q-40 -157 -125.5 -249.5t-242.5 -149.5q24 -71 24 -160q0 -202 -73 -367.5t-200.5 -254t-293.5 -88.5q-192 0 -305 114.5t-113 311.5q0 199 71.5 365t200.5 258.5t298 92.5zM842 702q0 107 -49 167.5t-140 60.5 -q-93 0 -166.5 -71.5t-114 -194t-40.5 -261.5q0 -111 49.5 -170t146.5 -59q90 0 162 68t112 190.5t40 269.5zM328 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EE4" unicode="&#x1ee4;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM428 -283q0 68 39 110t109 42q54 0 86 -26.5 -t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EE5" unicode="&#x1ee5;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM350 -283q0 68 39 110t109 42 -q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EE6" unicode="&#x1ee6;" horiz-adv-x="1399" -d="M1419 1462l-202 -956q-56 -267 -208 -396.5t-403 -129.5q-217 0 -335.5 106t-118.5 305q0 83 20 170l193 901h237l-192 -905q-21 -88 -21 -158q0 -102 59.5 -158.5t180.5 -56.5q145 0 230 80.5t124 261.5l199 936h237zM1177 1854q0 -160 -203 -213l-22 -91h-145l18 166 -q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EE7" unicode="&#x1ee7;" horiz-adv-x="1208" -d="M506 1106l-129 -610q-31 -141 -31 -193q0 -133 127 -133q72 0 143 57t126 162.5t85 247.5l99 469h233l-233 -1106h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -207 76t-73 218q0 63 12 124.5t24 123.5l123 584h236zM1009 1516q0 -160 -203 -213l-22 -91 -h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EE8" unicode="&#x1ee8;" horiz-adv-x="1532" -d="M1419 1462l-41 -192q84 23 130 93t65 193h244l10 -24q-47 -176 -171 -284.5t-310 -131.5l-129 -610q-57 -269 -208.5 -397.5t-400.5 -128.5q-218 0 -337 108t-119 305q0 72 20 168l193 901h237l-192 -907q-21 -90 -21 -147q0 -224 240 -224q147 0 232 83.5t122 258.5 -l199 936h237zM784 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni1EE9" unicode="&#x1ee9;" horiz-adv-x="1360" -d="M506 1106l-144 -674q-16 -76 -16 -125q0 -137 127 -137q112 0 210.5 127.5t143.5 339.5l99 469h233l-24 -119q80 19 127.5 87t68.5 200h244l8 -25q-44 -174 -168 -282t-313 -133l-176 -834h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76.5t-74 219.5 -q0 66 26 191l135 639h236zM606 1266q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="uni1EEA" unicode="&#x1eea;" horiz-adv-x="1532" -d="M1419 1462l-41 -192q84 23 130 93t65 193h244l10 -24q-47 -176 -171 -284.5t-310 -131.5l-129 -610q-57 -269 -208.5 -397.5t-400.5 -128.5q-218 0 -337 108t-119 305q0 72 20 168l193 901h237l-192 -907q-21 -90 -21 -147q0 -224 240 -224q147 0 232 83.5t122 258.5 -l199 936h237zM981 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="uni1EEB" unicode="&#x1eeb;" horiz-adv-x="1360" -d="M506 1106l-144 -674q-16 -76 -16 -125q0 -137 127 -137q112 0 210.5 127.5t143.5 339.5l99 469h233l-24 -119q80 19 127.5 87t68.5 200h244l8 -25q-44 -174 -168 -282t-313 -133l-176 -834h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76.5t-74 219.5 -q0 66 26 191l135 639h236zM817 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="uni1EEC" unicode="&#x1eec;" horiz-adv-x="1532" -d="M1419 1462l-41 -192q84 23 130 93t65 193h244l10 -24q-47 -176 -171 -284.5t-310 -131.5l-129 -610q-57 -269 -208.5 -397.5t-400.5 -128.5q-218 0 -337 108t-119 305q0 72 20 168l193 901h237l-192 -907q-21 -90 -21 -147q0 -224 240 -224q147 0 232 83.5t122 258.5 -l199 936h237zM1179 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EED" unicode="&#x1eed;" horiz-adv-x="1360" -d="M506 1106l-144 -674q-16 -76 -16 -125q0 -137 127 -137q112 0 210.5 127.5t143.5 339.5l99 469h233l-24 -119q80 19 127.5 87t68.5 200h244l8 -25q-44 -174 -168 -282t-313 -133l-176 -834h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76.5t-74 219.5 -q0 66 26 191l135 639h236zM1014 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EEE" unicode="&#x1eee;" horiz-adv-x="1532" -d="M1419 1462l-41 -192q84 23 130 93t65 193h244l10 -24q-47 -176 -171 -284.5t-310 -131.5l-129 -610q-57 -269 -208.5 -397.5t-400.5 -128.5q-218 0 -337 108t-119 305q0 72 20 168l193 901h237l-192 -907q-21 -90 -21 -147q0 -224 240 -224q147 0 232 83.5t122 258.5 -l199 936h237zM1059 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EEF" unicode="&#x1eef;" horiz-adv-x="1360" -d="M506 1106l-144 -674q-16 -76 -16 -125q0 -137 127 -137q112 0 210.5 127.5t143.5 339.5l99 469h233l-24 -119q80 19 127.5 87t68.5 200h244l8 -25q-44 -174 -168 -282t-313 -133l-176 -834h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76.5t-74 219.5 -q0 66 26 191l135 639h236zM901 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EF0" unicode="&#x1ef0;" horiz-adv-x="1532" -d="M1419 1462l-41 -192q84 23 130 93t65 193h244l10 -24q-47 -176 -171 -284.5t-310 -131.5l-129 -610q-57 -269 -208.5 -397.5t-400.5 -128.5q-218 0 -337 108t-119 305q0 72 20 168l193 901h237l-192 -907q-21 -90 -21 -147q0 -224 240 -224q147 0 232 83.5t122 258.5 -l199 936h237zM428 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EF1" unicode="&#x1ef1;" horiz-adv-x="1360" -d="M506 1106l-144 -674q-16 -76 -16 -125q0 -137 127 -137q112 0 210.5 127.5t143.5 339.5l99 469h233l-24 -119q80 19 127.5 87t68.5 200h244l8 -25q-44 -174 -168 -282t-313 -133l-176 -834h-185l21 205h-8q-82 -116 -171 -170.5t-192 -54.5q-134 0 -208 76.5t-74 219.5 -q0 66 26 191l135 639h236zM350 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="Ygrave" unicode="&#x1ef2;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM817 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="ygrave" unicode="&#x1ef3;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM706 1241h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303 -v-25z" /> - <glyph glyph-name="uni1EF4" unicode="&#x1ef4;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM241 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EF5" unicode="&#x1ef5;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM563 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112 -t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="uni1EF6" unicode="&#x1ef6;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM991 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EF7" unicode="&#x1ef7;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM878 1516q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70 -q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1EF8" unicode="&#x1ef8;" horiz-adv-x="1092" -d="M582 793l432 669h266l-623 -913l-114 -549h-238l119 553l-238 909h242zM883 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137 -q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1EF9" unicode="&#x1ef9;" horiz-adv-x="1004" -d="M100 1106h232l63 -531q9 -62 16 -174.5t7 -181.5h6q86 215 135 313l293 574h254l-688 -1280q-90 -165 -196 -241.5t-249 -76.5q-76 0 -143 19v188q75 -16 125 -16q74 0 134 43.5t124 155.5l51 92zM763 1241q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17 -q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="uni1F4D" unicode="&#x1f4d;" horiz-adv-x="1595" -d="M1532 922q0 -279 -95 -497t-261.5 -331.5t-386.5 -113.5q-259 0 -401 149.5t-142 413.5q0 267 98.5 487.5t269.5 337.5t388 117q251 0 390.5 -149t139.5 -414zM983 1280q-138 0 -250 -96t-175.5 -266.5t-63.5 -372.5q0 -173 81.5 -267t227.5 -94q138 0 248.5 95.5 -t172 265t61.5 375.5q0 170 -79 265t-223 95zM72 1157q85 157 148 305h223v-24q-116 -160 -260 -308h-111v27zM-206 1235q0 186 293 244l-9 -80q-66 -19 -101.5 -41t-35.5 -53q0 -15 12 -24t26 -18t26 -21.5t12 -35.5q0 -37 -27.5 -60.5t-76.5 -23.5q-53 0 -86 29.5t-33 83.5 -z" /> - <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" - /> - <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" - /> - <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="682" - /> - <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" - /> - <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="342" - /> - <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1145" - /> - <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="563" - /> - <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="410" - /> - <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="205" - /> - <glyph glyph-name="uni200B" unicode="&#x200b;" horiz-adv-x="0" - /> - <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="983" -d="M47 453l43 194h838l-43 -194h-838z" /> - <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1966" -d="M47 453l43 194h1821l-43 -194h-1821z" /> - <glyph glyph-name="afii00208" unicode="&#x2015;" horiz-adv-x="1966" -d="M47 453l43 194h1821l-43 -194h-1821z" /> - <glyph glyph-name="underscoredbl" unicode="&#x2017;" horiz-adv-x="813" -d="M605 -462h-817l30 140h817zM660 -185h-817l30 140h817z" /> - <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="393" -d="M125 961l-6 22q34 76 106.5 209t159.5 270h176q-122 -286 -199 -501h-237z" /> - <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="393" -d="M551 1462l8 -22q-37 -83 -110.5 -217.5t-155.5 -261.5h-178q43 95 106 255t92 246h238z" /> - <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="530" -d="M334 238l8 -23q-108 -233 -266 -479h-178q105 238 200 502h236z" /> - <glyph glyph-name="quotereversed" unicode="&#x201b;" horiz-adv-x="393" -d="M457 1462l-1 -111q0 -218 13 -390h-164q-25 90 -48 222.5t-32 256.5l15 22h217z" /> - <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="803" -d="M535 961l-9 22q84 190 267 479h176q-122 -286 -199 -501h-235zM125 961l-6 22q34 76 106.5 209t159.5 270h176q-122 -286 -199 -501h-237z" /> - <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="803" -d="M551 1462l8 -22q-37 -83 -110.5 -217.5t-155.5 -261.5h-178q43 95 106 255t92 246h238zM958 1462l9 -22q-98 -220 -269 -479h-176q51 114 109 261t90 240h237z" /> - <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="938" -d="M334 238l8 -23q-108 -233 -266 -479h-178q105 238 200 502h236zM741 238l9 -23q-92 -206 -267 -479h-176q120 281 199 502h235z" /> - <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="995" -d="M961 961l-314 30l-158 -991h-245l264 991l-305 -30l43 208l295 -30l34 417h246l-143 -417l326 30z" /> - <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1016" -d="M563 522l326 31l-45 -207l-314 29l-26 -375h-246l133 375l-323 -29l45 207l311 -31l10 264l96 246l-323 -31l45 209l311 -30l27 376h246l-134 -376l326 30l-45 -209l-311 31l-8 -246z" /> - <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="756" -d="M152 684q0 156 83.5 252t223.5 96q100 0 158.5 -54.5t58.5 -168.5q0 -156 -82 -252t-227 -96q-102 0 -158.5 57.5t-56.5 165.5z" /> - <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1634" -d="M834 94q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5zM594 94q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5zM293 94 -q0 83 47 132.5t131 49.5q56 0 89.5 -31.5t33.5 -92.5q0 -78 -47.5 -129.5t-124.5 -51.5q-66 0 -97.5 35.5t-31.5 87.5z" /> - <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2390" -d="M530 1315q-55 0 -99 -61t-70.5 -173t-26.5 -215q0 -135 80 -135q52 0 95.5 58t73 175.5t29.5 219.5q0 131 -82 131zM805 1186q0 -160 -55.5 -313.5t-146.5 -230.5t-206 -77q-124 0 -190 79t-66 228q0 166 53 313.5t142.5 222.5t208.5 75q127 0 193.5 -76t66.5 -221z -M1511 1462l-1085 -1462h-195l1086 1462h194zM2032 731q-53 0 -96 -57t-72 -169t-29 -224q0 -134 82 -134q54 0 98 61t72.5 177t28.5 215q0 131 -84 131zM2308 604q0 -161 -55.5 -315.5t-145 -231.5t-204.5 -77q-127 0 -194 76.5t-67 222.5q0 172 53 320.5t143 223t208 74.5 -q127 0 194.5 -75t67.5 -218zM1329 731q-52 0 -95.5 -57.5t-72 -171t-28.5 -221.5q0 -134 81 -134q52 0 96 58.5t73.5 174.5t29.5 220q0 131 -84 131zM1606 604q0 -161 -55.5 -315.5t-146.5 -231.5t-204 -77q-127 0 -193.5 76.5t-66.5 222.5q0 171 53 320t142.5 223.5 -t207.5 74.5q127 0 195 -75t68 -218z" /> - <glyph glyph-name="minute" unicode="&#x2032;" horiz-adv-x="483" -d="M516 1462l-151 -528h-152l72 528h231z" /> - <glyph glyph-name="second" unicode="&#x2033;" horiz-adv-x="858" -d="M516 1462l-151 -528h-152l72 528h231zM893 1462l-152 -528h-153l74 528h231z" /> - <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="621" -d="M80 573l395 422l135 -118l-288 -334l153 -367l-178 -76l-217 449v24z" /> - <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="621" -d="M541 514l-396 -422l-135 119l289 334l-154 366l179 76l217 -448v-25z" /> - <glyph glyph-name="exclamdbl" unicode="&#x203c;" horiz-adv-x="1065" -d="M879 444h-176l168 1018h272zM576 96q0 80 45.5 130t130.5 50q57 0 91 -32.5t34 -93.5q0 -79 -47 -128t-123 -49q-62 0 -96.5 33.5t-34.5 89.5zM302 444h-176l168 1018h272zM-1 96q0 80 45.5 130t130.5 50q57 0 91 -32.5t34 -93.5q0 -79 -47 -128t-123 -49 -q-62 0 -96.5 33.5t-34.5 89.5z" /> - <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="262" -d="M770 1462l-1083 -1462h-197l1085 1462h195z" /> - <glyph glyph-name="zerosuperior" unicode="&#x2070;" horiz-adv-x="745" -d="M508 1319q-51 0 -95 -56.5t-73 -165t-29 -223.5q0 -147 86 -147q89 0 144 143t55 316q0 133 -88 133zM784 1182q0 -177 -49 -318t-140 -220t-212 -79q-124 0 -192 79t-68 228q0 175 51 320t140 218t204 73q130 0 198 -76t68 -225z" /> - <glyph glyph-name="foursuperior" unicode="&#x2074;" horiz-adv-x="745" -d="M743 762h-122l-39 -176h-183l39 176h-368l26 137l477 569h197l-121 -563h123zM467 905l52 221l34 129q-32 -51 -98 -131l-187 -219h199z" /> - <glyph glyph-name="fivesuperior" unicode="&#x2075;" horiz-adv-x="745" -d="M473 1141q113 0 180.5 -65.5t67.5 -174.5q0 -150 -103 -241t-274 -91q-137 0 -229 52v157q110 -67 225 -67q101 0 151 48t50 124q0 63 -41 94t-107 31q-58 0 -133 -21l-63 55l120 420h478l-33 -153h-334l-55 -181q44 13 100 13z" /> - <glyph glyph-name="sixsuperior" unicode="&#x2076;" horiz-adv-x="745" -d="M330 1061q72 90 192 90q101 0 159 -62.5t58 -168.5q0 -99 -42.5 -180.5t-120 -127t-175.5 -45.5q-131 0 -202.5 76.5t-71.5 222.5q0 174 68.5 322t184 218.5t271.5 70.5q82 0 144 -19l-37 -149q-56 20 -135 20q-119 0 -193.5 -72.5t-105.5 -195.5h6zM410 711 -q67 0 111 53.5t44 138.5q0 56 -26.5 86.5t-77.5 30.5q-41 0 -77 -18.5t-59.5 -53t-23.5 -102.5q0 -61 28.5 -98t80.5 -37z" /> - <glyph glyph-name="sevensuperior" unicode="&#x2077;" horiz-adv-x="745" -d="M147 586l465 727h-397l31 149h598l-25 -123l-465 -753h-207z" /> - <glyph glyph-name="eightsuperior" unicode="&#x2078;" horiz-adv-x="745" -d="M526 1481q120 0 191 -54.5t71 -150.5q0 -162 -196 -229q63 -39 101 -87.5t38 -123.5q0 -122 -93.5 -195.5t-248.5 -73.5q-130 0 -206.5 62t-76.5 164q0 179 228 258q-57 39 -83 84.5t-26 105.5q0 105 83.5 172.5t217.5 67.5zM442 971q-155 -53 -155 -164 -q0 -50 32.5 -78.5t89.5 -28.5q58 0 97 34.5t39 92.5q0 90 -103 144zM518 1348q-54 0 -84.5 -31.5t-30.5 -77.5q0 -45 24 -73t56 -50q70 28 99.5 63t29.5 81q0 37 -24.5 62.5t-69.5 25.5z" /> - <glyph glyph-name="ninesuperior" unicode="&#x2079;" horiz-adv-x="745" -d="M582 987q-35 -39 -88.5 -64.5t-112.5 -25.5q-101 0 -159 62.5t-58 168.5q0 152 93.5 251.5t244.5 99.5q131 0 202.5 -75.5t71.5 -217.5q0 -181 -68 -326t-185 -217t-271 -72q-82 0 -137 17v155q68 -26 147 -26q246 0 320 270zM494 1337q-69 0 -112.5 -54.5t-43.5 -137.5 -q0 -54 27.5 -84.5t78.5 -30.5q74 0 117 47.5t43 126.5q0 60 -29 96.5t-81 36.5z" /> - <glyph glyph-name="nsuperior" unicode="&#x207f;" horiz-adv-x="772" -d="M561 782l86 392q12 58 12 88q0 77 -71 77q-70 0 -129.5 -78.5t-85.5 -199.5l-62 -279h-161l145 682h135l-16 -131q100 146 235 146q84 0 130 -47.5t46 -135.5q0 -54 -16 -116l-82 -398h-166z" /> - <glyph glyph-name="franc" unicode="&#x20a3;" -d="M444 416h273l-31 -154h-274l-56 -262h-231l55 262h-157l32 154h158l221 1046h766l-43 -205h-532l-95 -436h500l-45 -203h-498z" /> - <glyph glyph-name="afii08941" unicode="&#x20a4;" -d="M365 915l30 148q47 219 160 319.5t301 100.5q190 0 352 -86l-88 -183q-56 31 -126 52.5t-132 21.5q-94 0 -149.5 -50.5t-77.5 -154.5l-35 -168h334l-33 -153h-334l-30 -139h333l-30 -156h-336q-57 -186 -197 -260h692l-45 -207h-970l36 193q97 25 156.5 90.5t91.5 183.5 -h-190l33 156h192l29 139h-197l35 153h195z" /> - <glyph glyph-name="peseta" unicode="&#x20a7;" horiz-adv-x="1618" -d="M442 748h41q172 0 264.5 83.5t92.5 229.5q0 201 -232 201h-59zM1075 1075q0 -251 -160.5 -389.5t-449.5 -138.5h-66l-116 -547h-228l312 1462h262q216 0 331 -100.5t115 -286.5zM1327 160q55 0 135 33v-170q-86 -43 -198 -43q-116 0 -177 56t-61 159q0 61 23 153l69 328 -h-131l19 92l161 96l111 203h139l-49 -221h219l-35 -170h-219l-76 -346q-12 -62 -12 -90q0 -38 22 -59t60 -21z" /> - <glyph glyph-name="uni20AB" unicode="&#x20ab;" horiz-adv-x="1198" -d="M614 1100q183 0 273 -170h8q5 75 23 180l22 109h-334l33 163h336l37 174h233l-37 -174h152l-35 -163h-151l-259 -1219h-184l19 176h-7q-82 -103 -164.5 -149.5t-175.5 -46.5q-146 0 -227.5 104t-81.5 285q0 192 67 364t185 269.5t268 97.5zM492 170q80 0 157.5 77 -t127.5 205t50 261q0 87 -42 140.5t-134 53.5q-87 0 -160.5 -73.5t-116 -198.5t-42.5 -262q0 -203 160 -203zM846 -324h-817l30 140h817z" /> - <glyph glyph-name="Euro" unicode="&#x20ac;" -d="M913 1282q-118 0 -214.5 -87t-161.5 -255h387l-33 -154h-402q-18 -67 -28 -139h340l-33 -155h-319q0 -161 60.5 -234.5t195.5 -73.5q120 0 258 60v-203q-129 -61 -306 -61q-216 0 -330 130t-114 382h-162l33 155h139q15 95 27 139h-137l32 154h148q92 260 255.5 401.5 -t371.5 141.5q88 0 164.5 -22t156.5 -77l-102 -180q-54 34 -107 56t-119 22z" /> - <glyph glyph-name="afii61248" unicode="&#x2105;" horiz-adv-x="1579" -d="M1448 1462l-1088 -1462h-198l1091 1462h195zM1448 412q0 -194 -97.5 -309t-263.5 -115q-123 0 -191.5 70.5t-68.5 193.5q0 125 43.5 225t125 155.5t190.5 55.5q124 0 193 -73.5t69 -202.5zM1174 555q-77 0 -127 -88t-50 -211q0 -137 105 -137q52 0 90.5 40t61 109 -t22.5 148q0 139 -102 139zM471 772q-127 0 -195.5 71.5t-68.5 196.5q0 122 47 222.5t133.5 156.5t200.5 56q88 0 186 -39l-45 -127q-78 32 -143 32q-60 0 -107.5 -39.5t-73.5 -107t-26 -143.5q0 -146 121 -146q47 0 81.5 12t71.5 29v-133q-80 -41 -182 -41z" /> - <glyph glyph-name="afii61289" unicode="&#x2113;" horiz-adv-x="1024" -d="M639 150q64 0 102.5 52.5t44.5 153.5h146q-9 -194 -88.5 -285t-229.5 -91q-156 0 -240.5 97t-84.5 279v187q-84 -27 -189 -54v154q62 15 189 55v459q0 161 79 242.5t232 81.5q129 0 203 -83.5t74 -228.5q0 -174 -88.5 -305t-278.5 -227v-283q0 -101 34 -152.5t95 -51.5z -M688 1163q0 168 -88 168q-46 0 -68 -36.5t-22 -131.5v-360q94 55 136 141.5t42 218.5z" /> - <glyph glyph-name="afii61352" unicode="&#x2116;" horiz-adv-x="1974" -d="M1034 0h-246l-307 1139q-39 -237 -75 -418l-152 -721h-213l309 1462h248l305 -1130l15 86q36 214 59 315l156 729h210zM1214 0l35 164h529l-35 -164h-529zM1909 702q0 -116 -43.5 -214.5t-123.5 -156t-192 -57.5q-121 0 -191.5 70t-70.5 201q0 121 44 221.5t126 158.5 -t191 58q120 0 190 -77t70 -204zM1638 842q-53 0 -93 -43t-62.5 -112.5t-22.5 -141.5q0 -131 101 -131q54 0 93 40.5t62 109t23 145.5q0 133 -101 133z" /> - <glyph glyph-name="uni2120" unicode="&#x2120;" horiz-adv-x="1532" -d="M573 948q0 -100 -69.5 -157.5t-188.5 -57.5q-122 0 -196 37v127q106 -47 198 -47q117 0 117 90q0 35 -23.5 58.5t-109.5 60.5q-98 44 -136 92t-38 119q0 91 63 147t170 56q99 0 205 -46l-43 -110q-87 39 -157 39q-45 0 -73 -21t-28 -59q0 -37 26.5 -60.5t102.5 -56.5 -q110 -51 145 -95.5t35 -115.5zM977 741l-178 539h-6l4 -111v-428h-142v721h213l172 -534l183 534h204v-721h-145v418l4 121h-6l-186 -539h-117z" /> - <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1534" -d="M455 741h-146v594h-196v127h540v-127h-198v-594zM1030 741l-178 539h-6l4 -115v-424h-141v721h215l170 -534l182 534h205v-721h-146v418l4 121h-6l-184 -539h-119z" /> - <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="1491" -d="M860 1280q-132 0 -235.5 -72t-164.5 -210.5t-61 -305.5q0 -159 43 -275t142 -214l-43 -203h-580l41 205h360q-102 85 -155 212.5t-53 284.5q0 225 92.5 406t255 279t375.5 98q170 0 292.5 -66t187 -190.5t64.5 -288.5q0 -233 -106.5 -421t-319.5 -314h365l-43 -205h-627 -l43 203q218 128 330.5 311t112.5 412q0 170 -82 262t-234 92z" /> - <glyph glyph-name="estimated" unicode="&#x212e;" horiz-adv-x="1268" -d="M647 -35q-157 0 -278 73.5t-186.5 204t-65.5 287.5q0 161 63.5 288.5t188.5 202.5t278 75q152 0 274.5 -71t189.5 -200.5t67 -294.5h-828v-356q49 -53 132 -88t165 -35q132 0 222.5 52t172.5 182l72 -41q-98 -155 -206.5 -217t-260.5 -62zM946 616v277q-50 53 -131.5 86 -t-169.5 33q-173 0 -295 -117v-279h596z" /> - <glyph glyph-name="oneeighth" unicode="&#x215b;" horiz-adv-x="1673" -d="M1411 1462l-1083 -1462h-197l1085 1462h195zM472 1462h162l-186 -876h-191l99 461q17 79 57 217q-21 -20 -49.5 -43t-153.5 -103l-77 129zM1310 892q120 0 191 -54.5t71 -150.5q0 -162 -196 -229q63 -39 101 -87.5t38 -123.5q0 -122 -93.5 -195.5t-248.5 -73.5 -q-130 0 -206.5 62t-76.5 164q0 179 228 258q-57 39 -83 84.5t-26 105.5q0 105 83.5 172.5t217.5 67.5zM1226 382q-155 -53 -155 -164q0 -50 32.5 -78.5t89.5 -28.5q58 0 97 34.5t39 92.5q0 90 -103 144zM1302 759q-54 0 -84.5 -31.5t-30.5 -77.5q0 -45 24 -73t56 -50 -q70 28 99.5 63t29.5 81q0 37 -24.5 62.5t-69.5 25.5z" /> - <glyph glyph-name="threeeighths" unicode="&#x215c;" horiz-adv-x="1735" -d="M1538 1462l-1083 -1462h-197l1085 1462h195zM1411 892q120 0 191 -54.5t71 -150.5q0 -162 -196 -229q63 -39 101 -87.5t38 -123.5q0 -122 -93.5 -195.5t-248.5 -73.5q-130 0 -206.5 62t-76.5 164q0 179 228 258q-57 39 -83 84.5t-26 105.5q0 105 83.5 172.5t217.5 67.5z -M1327 382q-155 -53 -155 -164q0 -50 32.5 -78.5t89.5 -28.5q58 0 97 34.5t39 92.5q0 90 -103 144zM1403 759q-54 0 -84.5 -31.5t-30.5 -77.5q0 -45 24 -73t56 -50q70 28 99.5 63t29.5 81q0 37 -24.5 62.5t-69.5 25.5zM767 1272q0 -90 -54.5 -149t-158.5 -85v-4 -q78 -18 115 -67t37 -115q0 -129 -99.5 -206t-269.5 -77q-138 0 -250 56v159q126 -71 248 -71q90 0 139.5 37t49.5 106q0 113 -146 113h-108l28 133h93q89 0 142.5 34t53.5 99q0 100 -117 100q-92 0 -188 -65l-68 121q126 90 291 90q124 0 193 -55.5t69 -153.5z" /> - <glyph glyph-name="fiveeighths" unicode="&#x215d;" horiz-adv-x="1741" -d="M1526 1462l-1083 -1462h-197l1085 1462h195zM458 1141q113 0 180.5 -65.5t67.5 -174.5q0 -150 -103 -241t-274 -91q-137 0 -229 52v157q110 -67 225 -67q101 0 151 48t50 124q0 63 -41 94t-107 31q-58 0 -133 -21l-63 55l120 420h478l-33 -153h-334l-55 -181 -q44 13 100 13zM1409 892q120 0 191 -54.5t71 -150.5q0 -162 -196 -229q63 -39 101 -87.5t38 -123.5q0 -122 -93.5 -195.5t-248.5 -73.5q-130 0 -206.5 62t-76.5 164q0 179 228 258q-57 39 -83 84.5t-26 105.5q0 105 83.5 172.5t217.5 67.5zM1325 382q-155 -53 -155 -164 -q0 -50 32.5 -78.5t89.5 -28.5q58 0 97 34.5t39 92.5q0 90 -103 144zM1401 759q-54 0 -84.5 -31.5t-30.5 -77.5q0 -45 24 -73t56 -50q70 28 99.5 63t29.5 81q0 37 -24.5 62.5t-69.5 25.5z" /> - <glyph glyph-name="seveneighths" unicode="&#x215e;" horiz-adv-x="1669" -d="M1409 1462l-1083 -1462h-197l1085 1462h195zM1308 892q120 0 191 -54.5t71 -150.5q0 -162 -196 -229q63 -39 101 -87.5t38 -123.5q0 -122 -93.5 -195.5t-248.5 -73.5q-130 0 -206.5 62t-76.5 164q0 179 228 258q-57 39 -83 84.5t-26 105.5q0 105 83.5 172.5t217.5 67.5z -M1224 382q-155 -53 -155 -164q0 -50 32.5 -78.5t89.5 -28.5q58 0 97 34.5t39 92.5q0 90 -103 144zM1300 759q-54 0 -84.5 -31.5t-30.5 -77.5q0 -45 24 -73t56 -50q70 28 99.5 63t29.5 81q0 37 -24.5 62.5t-69.5 25.5zM136 586l465 727h-397l31 149h598l-25 -123l-465 -753 -h-207z" /> - <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1190" -d="M1116 928q0 -268 -84.5 -492.5t-226.5 -340t-326 -115.5t-283.5 101.5t-99.5 303.5q0 172 71.5 327t188.5 233.5t269 78.5q163 0 252 -117q0 186 -66.5 281.5t-187.5 95.5q-59 0 -129.5 -20t-135.5 -62v203q65 34 145.5 54t158.5 20q219 0 336.5 -138t117.5 -413z -M494 172q125 0 222.5 141t135.5 379q-24 67 -77.5 108.5t-117.5 41.5q-88 0 -157 -57t-111.5 -165.5t-42.5 -226.5q0 -221 148 -221z" /> - <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1190" -d="M657 1464h263l145 -1327l-31 -137h-1089l28 141zM743 1223q-36 -106 -110 -250l-389 -768h592l-78 758q-15 163 -15 260z" /> - <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1518" -d="M1124 -477v1732h-661v-1732h-244v1939h1149v-1939h-244z" /> - <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1292" -d="M158 -477v139l604 879l-588 784v137h1126v-202h-800l536 -715l-559 -819h887v-203h-1206z" /> - <glyph glyph-name="minus" unicode="&#x2212;" -d="M117 631v180h936v-180h-936z" /> - <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1124" -d="M705 -14h-156l-273 759h-178v175h310l219 -623l501 1425h177z" /> - <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1448" -d="M1358 717q0 -136 -87 -231t-218 -95q-181 0 -308 201q-58 -90 -134.5 -142.5t-159.5 -52.5q-139 0 -224.5 90.5t-85.5 235.5q0 140 87.5 232t222.5 92q179 0 299 -199q124 192 303 192q138 0 221.5 -89t83.5 -234zM461 559q56 0 103 39.5t95 124.5q-45 81 -92.5 121.5 -t-107.5 40.5q-68 0 -110 -46.5t-42 -117.5q0 -72 41.5 -117t112.5 -45zM1038 879q-54 0 -102.5 -38.5t-97.5 -123.5q93 -164 202 -164q67 0 109.5 46.5t42.5 119.5q0 70 -43.5 115t-110.5 45z" /> - <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="815" -d="M680 1362q-68 0 -105.5 -48t-37.5 -140v-1289q0 -186 -91 -281.5t-268 -95.5q-88 0 -160 27v197q74 -29 136 -29q149 0 149 188v1291q0 183 89 278.5t263 95.5q98 0 160 -28v-197q-62 31 -135 31z" /> - <glyph glyph-name="approxequal" unicode="&#x2248;" -d="M344 893q-51 0 -112 -31t-121 -90v191q102 108 249 108q64 0 118.5 -12t146.5 -51q81 -35 123 -45.5t86 -10.5q53 0 115.5 32.5t117.5 88.5v-190q-103 -111 -250 -111q-67 0 -122 15t-140 51q-76 32 -119.5 43.5t-91.5 11.5zM344 498q-54 0 -117.5 -34t-115.5 -87v190 -q101 109 249 109q66 0 120 -13.5t145 -50.5q70 -30 115 -42.5t94 -12.5q51 0 114.5 32t118.5 89v-191q-102 -110 -250 -110q-68 0 -127 16t-135 49q-87 37 -127 46.5t-84 9.5z" /> - <glyph glyph-name="notequal" unicode="&#x2260;" -d="M350 430h-233v180h317l103 221h-420v179h504l131 282l166 -71l-101 -211h236v-179h-318l-104 -221h422v-180h-506l-129 -276l-164 69z" /> - <glyph glyph-name="lessequal" unicode="&#x2264;" -d="M117 0v180h936v-180h-936zM1055 248l-936 430v121l936 487v-194l-697 -344l697 -304v-196z" /> - <glyph glyph-name="greaterequal" unicode="&#x2265;" -d="M117 0v180h936v-180h-936zM117 444l696 304l-696 344v194l936 -487v-121l-936 -430v196z" /> - <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1194" -d="M1126 735l-450 -735h-94l-451 735l451 738h94zM907 735l-278 467l-279 -467l279 -467z" /> - <glyph glyph-name="uniFEFF" unicode="&#xfeff;" horiz-adv-x="0" - /> - <glyph glyph-name="uniFFFC" unicode="&#xfffc;" horiz-adv-x="2048" -d="M84 1214v304h303v-111h-192v-193h-111zM1681 1407v111h304v-304h-109v193h-195zM84 -383v303h111v-194h192v-109h-303zM1681 -383v109h195v194h109v-303h-304zM1290 -383v109h273v-109h-273zM508 -383v109h270v-109h-270zM508 1407v111h270v-111h-270zM1985 39h-109v270 -h109v-270zM1985 823h-109v271h109v-271zM899 -383v109h272v-109h-272zM195 39h-111v270h111v-270zM899 1407v111h272v-111h-272zM1290 1407v111h273v-111h-273zM195 430h-111v272h111v-272zM195 823h-111v271h111v-271zM1985 430h-109v272h109v-272zM864 629 -q0 -145 -67.5 -223t-194.5 -78t-194.5 78t-67.5 223q0 146 67.5 223.5t194.5 77.5q126 0 194 -77t68 -224zM467 629q0 -197 135 -197t135 197q0 196 -135 196t-135 -196zM948 922h172q109 0 165 -33.5t56 -116.5q0 -49 -23 -83t-67 -42v-4q59 -13 83 -47t24 -90 -q0 -81 -54.5 -125.5t-148.5 -44.5h-207v586zM1071 690h66q46 0 64 17t18 49q0 34 -21 48.5t-68 14.5h-59v-129zM1071 592v-154h74q49 0 67.5 21.5t18.5 58.5q0 74 -90 74h-70zM1491 330q-52 0 -80 10v102q43 -8 68 -8q86 0 86 86v402h125v-398q0 -95 -52.5 -144.5 -t-146.5 -49.5z" /> - <glyph glyph-name="uniFFFD" unicode="&#xfffd;" horiz-adv-x="2048" -d="M1022 1556l940 -938l-940 -937l-938 937zM1087 367v47q0 50 22 82.5t87 81.5q103 82 139.5 145t36.5 151q0 135 -93.5 212t-258.5 77q-79 0 -172 -28t-164 -70l82 -178q160 80 250 80q63 0 94 -29t31 -76q0 -53 -24.5 -90.5t-96.5 -91.5q-84 -68 -113.5 -124t-29.5 -130 -v-59h210zM850 92q0 -63 35.5 -99t105.5 -36q66 0 102.5 36.5t36.5 98.5q0 64 -36 100.5t-103 36.5q-72 0 -106.5 -36t-34.5 -101z" /> - <glyph glyph-name="null" horiz-adv-x="0" - /> - <glyph glyph-name="I.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60z" /> - <glyph glyph-name="Igrave.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM671 1579h-144q-65 63 -132 151.5t-101 155.5v21h245q47 -154 132 -303v-25z" /> - <glyph glyph-name="Iacute.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM456 1604q97 108 225 303h264v-19q-54 -66 -158 -161.5t-175 -147.5h-156v25z" /> - <glyph glyph-name="Icircumflex.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM910 1579h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248q38 -99 174 -303v-25z" /> - <glyph glyph-name="Idieresis.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM273 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM656 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="Itilde.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM726 1579q-45 0 -82.5 17t-71.5 37.5t-65.5 37.5t-63.5 17q-38 0 -63 -27.5t-43 -83.5h-137q57 285 256 285q46 0 85 -17.5t72.5 -38t63.5 -38t59 -17.5q40 0 65 26.5 -t48 86.5h137q-66 -285 -260 -285z" /> - <glyph glyph-name="Imacron.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM308 1755h582l-37 -176h-582z" /> - <glyph glyph-name="Ibreve.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM923 1882q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="Iogonek.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM377 0q-111 -88 -150.5 -145.5t-39.5 -108.5q0 -32 17 -48.5t46 -16.5q38 0 92 14v-141q-65 -21 -137 -21q-91 0 -146 47t-55 131q0 81 47.5 148t167.5 141h158z" /> - <glyph glyph-name="Idotaccent.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM445 1716q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26t-35 82z" /> - <glyph glyph-name="IJ.alt" horiz-adv-x="1329" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM565 -408q-104 0 -170 25l5 201q84 -21 153 -21q201 0 254 250l299 1415h238l-305 -1446q-46 -217 -161.5 -320.5t-312.5 -103.5z" /> - <glyph glyph-name="Iotatonos.alt" horiz-adv-x="971" -d="M776 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM65 1165q94 182 164 370h233v-26q-35 -69 -109.5 -178t-146.5 -195h-141v29z" /> - <glyph glyph-name="Iota.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60z" /> - <glyph glyph-name="Iotadieresis.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM294 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM677 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="afii10055.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60z" /> - <glyph glyph-name="afii10056.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM294 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5zM677 1718q0 60 35 98t98 38q48 0 76.5 -23.5t28.5 -71.5 -q0 -65 -35.5 -102t-93.5 -37q-47 0 -78 23.5t-31 74.5z" /> - <glyph glyph-name="cyrillicbreve" horiz-adv-x="1143" -d="M1167 1575q-39 -174 -153.5 -254t-317.5 -80q-177 0 -270.5 69.5t-93.5 207.5q0 28 8 57h205l-4 -53q0 -133 172 -133q106 0 161.5 44.5t75.5 141.5h217z" /> - <glyph glyph-name="caroncommaaccent" horiz-adv-x="999" -d="M506 1255q80 144 137 301h221v-20q-33 -69 -101 -161.5t-122 -145.5h-135v26z" /> - <glyph glyph-name="commaaccent" horiz-adv-x="999" -d="M139 -426q87 156 135 301h222v-20q-29 -65 -93 -152.5t-129 -155.5h-135v27z" /> - <glyph glyph-name="commaaccentrotate" horiz-adv-x="999" -d="M844 1542q-97 -181 -137 -301h-222v21q31 62 94.5 150.5t127.5 156.5h137v-27z" /> - <glyph glyph-name="dasiaoxia" horiz-adv-x="684" -d="M483 1157q85 157 148 305h223v-24q-116 -160 -260 -308h-111v27zM205 1235q0 186 293 244l-9 -80q-66 -19 -101.5 -41t-35.5 -53q0 -15 12 -24t26 -18t26 -21.5t12 -35.5q0 -37 -27.5 -60.5t-76.5 -23.5q-53 0 -86 29.5t-33 83.5z" /> - <glyph glyph-name="uni04C0.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60z" /> - <glyph glyph-name="uni04CF.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60z" /> - <glyph glyph-name="uni1EC8.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM837 1854q0 -160 -203 -213l-22 -91h-145l18 166q91 16 128.5 43t37.5 70q0 61 -90 61q-41 0 -111 -14v131q61 19 146 19q113 0 177 -44.5t64 -127.5z" /> - <glyph glyph-name="uni1ECA.alt" horiz-adv-x="717" -d="M522 0h-571l26 133l181 60l227 1075l-154 59l29 135h571l-26 -135l-182 -59l-230 -1075l158 -60zM61 -283q0 68 39 110t109 42q54 0 86 -26.5t32 -80.5q0 -71 -39.5 -112t-105.5 -41q-51 0 -86 26t-35 82z" /> - <glyph glyph-name="circumflexacutecomb" horiz-adv-x="0" -d="M-551 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM-199 1456q105 110 172 207h209v-18q-35 -39 -112 -102.5t-144 -106.5h-125v20z" /> - <glyph glyph-name="circumflexgravecomb" horiz-adv-x="0" -d="M-551 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM-817 1436q-50 46 -101 108.5t-75 100.5v18h184q17 -45 48.5 -107.5t53.5 -99.5v-20h-110z" /> - <glyph glyph-name="circumflexhookcomb" horiz-adv-x="0" -d="M-551 1536h246q45 -119 158 -272l-5 -23h-120q-91 63 -172 162q-129 -102 -242 -162h-137l4 25q210 195 268 270zM-176 1440l10 106q70 7 101.5 26t31.5 54q0 45 -71 45q-45 0 -78 -12v100q33 10 102 10q79 0 125.5 -33t46.5 -96q0 -118 -153 -153l-15 -47h-100z" /> - <glyph glyph-name="circumflextildecomb" horiz-adv-x="0" -d="M-266 1577q-41 0 -78 13.5t-71.5 30t-66 30.5t-61.5 14q-41 0 -63 -24.5t-37 -65.5h-119q25 116 83.5 173.5t143.5 57.5q39 0 76 -14t71.5 -31t67 -31t62.5 -14q37 0 60.5 22t43.5 70h115q-57 -231 -227 -231zM-555 1528h246q34 -92 162 -264l-5 -23h-120 -q-89 59 -177 152q-126 -93 -235 -152h-139l4 25l64 59q141 127 200 203z" /> - <glyph glyph-name="breveacutecomb" horiz-adv-x="0" -d="M-473 1241q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77zM-520 1522q94 88 170 207h194v-17q-31 -34 -115.5 -103t-148.5 -108h-100v21z" /> - <glyph glyph-name="brevegravecomb" horiz-adv-x="0" -d="M-459 1501q-54 50 -106 110t-76 99l2 19h176q29 -86 103 -207l-5 -21h-94zM-473 1241q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220t-237 -77z" /> - <glyph glyph-name="brevehookcomb" horiz-adv-x="0" -d="M-518 1485l8 102q62 9 92.5 27t30.5 53q0 39 -66 39q-43 0 -73 -10v90q36 12 96 12q75 0 118.5 -31t43.5 -86q0 -58 -37 -99t-107 -56l-14 -41h-92zM-473 1241q-135 0 -211 74t-76 205l2 18h125q10 -77 53.5 -111t120.5 -34q158 0 219 145h131q-35 -143 -127 -220 -t-237 -77z" /> - <glyph glyph-name="brevetildecomb" horiz-adv-x="0" -d="M-270 1585q-37 0 -74.5 13.5t-72.5 29.5t-67.5 29.5t-60.5 13.5q-72 0 -102 -86h-117q50 221 225 221q36 0 74 -14t74 -31t69 -31t60 -14q38 0 60 23t42 69h115q-58 -223 -225 -223zM-473 1241q-140 0 -214.5 71t-74.5 206h125q5 -65 48.5 -95t129.5 -30q87 0 137 31.5 -t78 93.5h131q-34 -133 -125.5 -205t-234.5 -72z" /> - <glyph glyph-name="cyrillichookleft" horiz-adv-x="420" -d="M-63 -319q48 0 76 27t28 81q0 92 -90 211h151q115 -115 115 -244q0 -105 -66 -164t-182 -59q-74 0 -127 21v143q44 -16 95 -16z" /> - <glyph glyph-name="cyrillicbighookUC" horiz-adv-x="498" -d="M45 -444q-89 0 -139 24v191q52 -21 102 -21q51 0 85 30t52 111l70 330h221l-78 -371q-33 -155 -108.5 -224.5t-204.5 -69.5z" /> - <glyph glyph-name="cyrillicbighookLC" horiz-adv-x="498" -d="M45 -444q-89 0 -139 24v191q52 -21 102 -21q51 0 85 30t52 111l66 310h219l-72 -351q-33 -155 -108.5 -224.5t-204.5 -69.5z" /> - <glyph glyph-name="one.pnum" horiz-adv-x="877" -d="M519 0h-238l189 870q28 150 82 324q-57 -55 -135 -102l-187 -117l-106 170l508 317h198z" /> - <glyph glyph-name="zero.os" horiz-adv-x="1161" -d="M645 954q-134 0 -223.5 -155t-89.5 -387q0 -240 190 -240q86 0 155 66t110.5 196.5t41.5 286.5q0 233 -184 233zM1067 711q0 -212 -71.5 -382.5t-198 -259.5t-291.5 -89q-196 0 -304 117.5t-108 322.5q0 212 73.5 380.5t201.5 257.5t290 89q194 0 301 -116.5t107 -319.5z -" /> - <glyph glyph-name="one.os" horiz-adv-x="823" -d="M506 0h-236q81 367 124 562.5t77 303.5q-44 -44 -131 -102l-178 -119l-107 162l494 319h194z" /> - <glyph glyph-name="two.os" horiz-adv-x="1055" -d="M877 0h-910l35 168l397 281q202 142 264 213.5t62 152.5q0 57 -34.5 95t-106.5 38q-79 0 -156 -39.5t-164 -107.5l-112 155q136 110 241.5 150.5t222.5 40.5q169 0 260 -81t91 -226q0 -124 -73.5 -227t-256.5 -220l-275 -180v-6h558z" /> - <glyph glyph-name="three.os" horiz-adv-x="1059" -d="M949 820q0 -158 -99 -264t-269 -137v-7q127 -24 196.5 -106t69.5 -205q0 -133 -68 -236.5t-196.5 -160.5t-304.5 -57q-225 0 -385 79v215q84 -49 185.5 -75.5t195.5 -26.5q157 0 245 71.5t88 196.5q0 219 -278 219h-133l37 183h106q164 0 267.5 74.5t103.5 199.5 -q0 79 -49.5 124.5t-139.5 45.5q-72 0 -146.5 -25.5t-162.5 -84.5l-104 161q120 81 225.5 113.5t226.5 32.5q183 0 286 -88.5t103 -241.5z" /> - <glyph glyph-name="four.os" horiz-adv-x="1116" -d="M979 27h-188l-78 -371h-230l78 371h-618l37 178l786 921h258l-195 -913h191zM602 213q39 182 63.5 296.5t98.5 362.5h-8q-22 -36 -66 -96.5t-74 -93.5l-401 -469h387z" /> - <glyph glyph-name="five.os" horiz-adv-x="1067" -d="M525 574q181 0 288.5 -103.5t107.5 -285.5q0 -161 -70 -283t-204 -188.5t-324 -66.5q-214 0 -355 79v217q167 -100 342 -100q173 0 270 83t97 230q0 105 -62 168.5t-188 63.5q-95 0 -225 -35l-88 68l200 708h713l-45 -209h-506l-106 -364q93 18 155 18z" /> - <glyph glyph-name="six.os" horiz-adv-x="1130" -d="M102 446q0 205 60.5 406t165 343t251 215t342.5 73q117 0 203 -25l-43 -194q-72 22 -181 22q-205 0 -337 -129.5t-197 -392.5h6q125 170 326 170q156 0 243.5 -99t87.5 -272q0 -162 -68.5 -301t-185.5 -210.5t-270 -71.5q-194 0 -298.5 120t-104.5 346zM521 174 -q81 0 143 48.5t96 134.5t34 188q0 200 -178 200q-51 0 -95.5 -19t-79 -48t-58.5 -64.5t-39 -82t-13 -113.5q0 -110 49.5 -177t140.5 -67z" /> - <glyph glyph-name="seven.os" horiz-adv-x="1044" -d="M-1 -333l754 1257h-674l43 205h932l-33 -168l-758 -1294h-264z" /> - <glyph glyph-name="eight.os" horiz-adv-x="1120" -d="M718 1485q179 0 283 -89t104 -239q0 -132 -79 -229.5t-248 -163.5q120 -78 172.5 -165.5t52.5 -201.5q0 -121 -61.5 -216.5t-175.5 -148t-271 -52.5q-203 0 -317.5 100t-114.5 268q0 297 368 432q-91 70 -130.5 145t-39.5 162q0 179 127 288.5t330 109.5zM581 672 -q-149 -54 -216 -126.5t-67 -176.5q0 -93 59 -149t158 -56q115 0 184.5 64t69.5 167q0 91 -48.5 157.5t-139.5 119.5zM698 1300q-93 0 -150 -56t-57 -148q0 -83 39 -137t104 -93q115 43 177.5 105t62.5 157q0 81 -48 126.5t-128 45.5z" /> - <glyph glyph-name="nine.os" -d="M1025 687q0 -205 -58 -414.5t-152.5 -349t-226 -207t-310.5 -67.5q-133 0 -240 32v207q121 -43 236 -43q188 0 306 123t177 389h-6q-113 -160 -305 -160q-165 0 -255.5 102t-90.5 288q0 156 67 289t186.5 204.5t274.5 71.5q192 0 294.5 -119.5t102.5 -345.5zM610 957 -q-82 0 -145.5 -47t-97.5 -130t-34 -179q0 -105 46 -160t134 -55q117 0 198 94t81 240q0 108 -48 172.5t-134 64.5z" /> - <glyph glyph-name="g.alt" horiz-adv-x="1198" -d="M492 170q83 0 161.5 81t126 214t47.5 268q0 97 -44 149t-128 52q-86 0 -160 -75.5t-118.5 -208.5t-44.5 -277q0 -102 42 -152.5t118 -50.5zM393 -492q-216 0 -354 68v213q71 -40 161.5 -64t174.5 -24q117 0 194.5 56.5t102.5 170.5l14 64l49 186h-8q-84 -108 -164 -153 -t-170 -45q-140 0 -219.5 103.5t-79.5 283.5q0 205 68.5 383t187 277t264.5 99q96 0 167 -43t120 -135h8l64 158h178l-246 -1153q-47 -222 -172.5 -333.5t-339.5 -111.5z" /> - <glyph glyph-name="gcircumflex.alt" horiz-adv-x="1198" -d="M492 170q83 0 161.5 81t126 214t47.5 268q0 97 -44 149t-128 52q-86 0 -160 -75.5t-118.5 -208.5t-44.5 -277q0 -102 42 -152.5t118 -50.5zM393 -492q-216 0 -354 68v213q71 -40 161.5 -64t174.5 -24q117 0 194.5 56.5t102.5 170.5l14 64l49 186h-8q-84 -108 -164 -153 -t-170 -45q-140 0 -219.5 103.5t-79.5 283.5q0 205 68.5 383t187 277t264.5 99q96 0 167 -43t120 -135h8l64 158h178l-246 -1153q-47 -222 -172.5 -333.5t-339.5 -111.5zM1092 1241h-152q-76 63 -161 178q-131 -110 -236 -178h-164v25q138 128 201 195.5t90 107.5h248 -q38 -99 174 -303v-25z" /> - <glyph glyph-name="gbreve.alt" horiz-adv-x="1198" -d="M492 170q83 0 161.5 81t126 214t47.5 268q0 97 -44 149t-128 52q-86 0 -160 -75.5t-118.5 -208.5t-44.5 -277q0 -102 42 -152.5t118 -50.5zM393 -492q-216 0 -354 68v213q71 -40 161.5 -64t174.5 -24q117 0 194.5 56.5t102.5 170.5l14 64l49 186h-8q-84 -108 -164 -153 -t-170 -45q-140 0 -219.5 103.5t-79.5 283.5q0 205 68.5 383t187 277t264.5 99q96 0 167 -43t120 -135h8l64 158h178l-246 -1153q-47 -222 -172.5 -333.5t-339.5 -111.5zM1106 1544q-31 -155 -120 -229t-241 -74q-133 0 -208.5 66t-75.5 182q0 36 4 55h135q0 -63 36.5 -94 -t123.5 -31q88 0 135.5 31t62.5 94h148z" /> - <glyph glyph-name="gdot.alt" horiz-adv-x="1198" -d="M492 170q83 0 161.5 81t126 214t47.5 268q0 97 -44 149t-128 52q-86 0 -160 -75.5t-118.5 -208.5t-44.5 -277q0 -102 42 -152.5t118 -50.5zM393 -492q-216 0 -354 68v213q71 -40 161.5 -64t174.5 -24q117 0 194.5 56.5t102.5 170.5l14 64l49 186h-8q-84 -108 -164 -153 -t-170 -45q-140 0 -219.5 103.5t-79.5 283.5q0 205 68.5 383t187 277t264.5 99q96 0 167 -43t120 -135h8l64 158h178l-246 -1153q-47 -222 -172.5 -333.5t-339.5 -111.5zM613 1378q0 68 39 110t110 42q53 0 86 -26.5t33 -80.5q0 -71 -40.5 -112t-105.5 -41q-52 0 -87 26 -t-35 82z" /> - <glyph glyph-name="gcommaaccent.alt" horiz-adv-x="1198" -d="M492 170q83 0 161.5 81t126 214t47.5 268q0 97 -44 149t-128 52q-86 0 -160 -75.5t-118.5 -208.5t-44.5 -277q0 -102 42 -152.5t118 -50.5zM393 -492q-216 0 -354 68v213q71 -40 161.5 -64t174.5 -24q117 0 194.5 56.5t102.5 170.5l14 64l49 186h-8q-84 -108 -164 -153 -t-170 -45q-140 0 -219.5 103.5t-79.5 283.5q0 205 68.5 383t187 277t264.5 99q96 0 167 -43t120 -135h8l64 158h178l-246 -1153q-47 -222 -172.5 -333.5t-339.5 -111.5zM967 1542q-97 -181 -137 -301h-222v21q31 62 94.5 150.5t127.5 156.5h137v-27z" /> - <hkern u1="&#x22;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x22;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x22;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x22;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x22;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x22;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x22;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x22;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x22;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x22;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x22;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x22;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x22;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x22;" u2="&#x513;" k="143" /> - <hkern u1="&#x22;" u2="&#x512;" k="123" /> - <hkern u1="&#x22;" u2="&#x511;" k="123" /> - <hkern u1="&#x22;" u2="&#x50d;" k="123" /> - <hkern u1="&#x22;" u2="&#x509;" k="143" /> - <hkern u1="&#x22;" u2="&#x508;" k="123" /> - <hkern u1="&#x22;" u2="&#x503;" k="123" /> - <hkern u1="&#x22;" u2="&#x502;" k="143" /> - <hkern u1="&#x22;" u2="&#x501;" k="123" /> - <hkern u1="&#x22;" u2="&#x500;" k="143" /> - <hkern u1="&#x22;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x22;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4db;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x22;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x22;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x22;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x22;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x22;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x22;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x22;" u2="&#x481;" k="123" /> - <hkern u1="&#x22;" u2="&#x47d;" k="123" /> - <hkern u1="&#x22;" u2="&#x47b;" k="123" /> - <hkern u1="&#x22;" u2="&#x479;" k="123" /> - <hkern u1="&#x22;" u2="&#x473;" k="123" /> - <hkern u1="&#x22;" u2="&#x471;" k="20" /> - <hkern u1="&#x22;" u2="&#x467;" k="143" /> - <hkern u1="&#x22;" u2="&#x466;" k="143" /> - <hkern u1="&#x22;" u2="&#x459;" k="143" /> - <hkern u1="&#x22;" u2="&#x455;" k="61" /> - <hkern u1="&#x22;" u2="&#x454;" k="123" /> - <hkern u1="&#x22;" u2="&#x451;" k="123" /> - <hkern u1="&#x22;" u2="&#x450;" k="123" /> - <hkern u1="&#x22;" u2="&#x444;" k="123" /> - <hkern u1="&#x22;" u2="&#x441;" k="123" /> - <hkern u1="&#x22;" u2="&#x43e;" k="123" /> - <hkern u1="&#x22;" u2="&#x43b;" k="143" /> - <hkern u1="&#x22;" u2="&#x435;" k="123" /> - <hkern u1="&#x22;" u2="&#x434;" k="143" /> - <hkern u1="&#x22;" u2="&#x430;" k="41" /> - <hkern u1="&#x22;" u2="&#x41b;" k="123" /> - <hkern u1="&#x22;" u2="&#x414;" k="123" /> - <hkern u1="&#x22;" u2="&#x410;" k="143" /> - <hkern u1="&#x22;" u2="&#x409;" k="123" /> - <hkern u1="&#x22;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x22;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x22;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x22;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x22;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x22;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x22;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x22;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x22;" u2="&#x39b;" k="143" /> - <hkern u1="&#x22;" u2="&#x394;" k="143" /> - <hkern u1="&#x22;" u2="&#x391;" k="143" /> - <hkern u1="&#x22;" u2="&#x386;" k="143" /> - <hkern u1="&#x22;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x22;" u2="&#x219;" k="61" /> - <hkern u1="&#x22;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x22;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x22;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x22;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x22;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x22;" u2="&#x178;" k="-20" /> - <hkern u1="&#x22;" u2="&#x176;" k="-20" /> - <hkern u1="&#x22;" u2="&#x174;" k="-41" /> - <hkern u1="&#x22;" u2="&#x173;" k="61" /> - <hkern u1="&#x22;" u2="&#x171;" k="61" /> - <hkern u1="&#x22;" u2="&#x16f;" k="61" /> - <hkern u1="&#x22;" u2="&#x16d;" k="61" /> - <hkern u1="&#x22;" u2="&#x16b;" k="61" /> - <hkern u1="&#x22;" u2="&#x169;" k="61" /> - <hkern u1="&#x22;" u2="&#x164;" k="-41" /> - <hkern u1="&#x22;" u2="&#x162;" k="-41" /> - <hkern u1="&#x22;" u2="&#x15f;" k="61" /> - <hkern u1="&#x22;" u2="&#x15b;" k="61" /> - <hkern u1="&#x22;" u2="&#x157;" k="61" /> - <hkern u1="&#x22;" u2="&#x155;" k="61" /> - <hkern u1="&#x22;" u2="&#x153;" k="123" /> - <hkern u1="&#x22;" u2="&#x151;" k="123" /> - <hkern u1="&#x22;" u2="&#x14f;" k="123" /> - <hkern u1="&#x22;" u2="&#x14d;" k="123" /> - <hkern u1="&#x22;" u2="&#x14b;" k="61" /> - <hkern u1="&#x22;" u2="&#x146;" k="61" /> - <hkern u1="&#x22;" u2="&#x144;" k="61" /> - <hkern u1="&#x22;" u2="&#x138;" k="61" /> - <hkern u1="&#x22;" u2="&#x123;" k="61" /> - <hkern u1="&#x22;" u2="&#x121;" k="61" /> - <hkern u1="&#x22;" u2="&#x11f;" k="61" /> - <hkern u1="&#x22;" u2="&#x11d;" k="61" /> - <hkern u1="&#x22;" u2="&#x11b;" k="123" /> - <hkern u1="&#x22;" u2="&#x119;" k="123" /> - <hkern u1="&#x22;" u2="&#x117;" k="123" /> - <hkern u1="&#x22;" u2="&#x115;" k="123" /> - <hkern u1="&#x22;" u2="&#x113;" k="123" /> - <hkern u1="&#x22;" u2="&#x111;" k="123" /> - <hkern u1="&#x22;" u2="&#x10f;" k="123" /> - <hkern u1="&#x22;" u2="&#x10d;" k="123" /> - <hkern u1="&#x22;" u2="&#x10b;" k="123" /> - <hkern u1="&#x22;" u2="&#x109;" k="123" /> - <hkern u1="&#x22;" u2="&#x107;" k="123" /> - <hkern u1="&#x22;" u2="&#x105;" k="82" /> - <hkern u1="&#x22;" u2="&#x104;" k="143" /> - <hkern u1="&#x22;" u2="&#x103;" k="82" /> - <hkern u1="&#x22;" u2="&#x102;" k="143" /> - <hkern u1="&#x22;" u2="&#x101;" k="82" /> - <hkern u1="&#x22;" u2="&#x100;" k="143" /> - <hkern u1="&#x22;" u2="&#xfc;" k="61" /> - <hkern u1="&#x22;" u2="&#xfb;" k="61" /> - <hkern u1="&#x22;" u2="&#xfa;" k="61" /> - <hkern u1="&#x22;" u2="&#xf9;" k="61" /> - <hkern u1="&#x22;" u2="&#xf8;" k="123" /> - <hkern u1="&#x22;" u2="&#xf6;" k="123" /> - <hkern u1="&#x22;" u2="&#xf5;" k="123" /> - <hkern u1="&#x22;" u2="&#xf4;" k="123" /> - <hkern u1="&#x22;" u2="&#xf3;" k="123" /> - <hkern u1="&#x22;" u2="&#xf2;" k="123" /> - <hkern u1="&#x22;" u2="&#xeb;" k="123" /> - <hkern u1="&#x22;" u2="&#xea;" k="123" /> - <hkern u1="&#x22;" u2="&#xe9;" k="123" /> - <hkern u1="&#x22;" u2="&#xe8;" k="123" /> - <hkern u1="&#x22;" u2="&#xe7;" k="123" /> - <hkern u1="&#x22;" u2="&#xe6;" k="82" /> - <hkern u1="&#x22;" u2="&#xe5;" k="82" /> - <hkern u1="&#x22;" u2="&#xe4;" k="82" /> - <hkern u1="&#x22;" u2="&#xe3;" k="82" /> - <hkern u1="&#x22;" u2="&#xe2;" k="82" /> - <hkern u1="&#x22;" u2="&#xe1;" k="82" /> - <hkern u1="&#x22;" u2="&#xe0;" k="123" /> - <hkern u1="&#x22;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x22;" u2="&#xc5;" k="143" /> - <hkern u1="&#x22;" u2="&#xc4;" k="143" /> - <hkern u1="&#x22;" u2="&#xc3;" k="143" /> - <hkern u1="&#x22;" u2="&#xc2;" k="143" /> - <hkern u1="&#x22;" u2="&#xc1;" k="143" /> - <hkern u1="&#x22;" u2="&#xc0;" k="143" /> - <hkern u1="&#x22;" u2="u" k="61" /> - <hkern u1="&#x22;" u2="s" k="61" /> - <hkern u1="&#x22;" u2="r" k="61" /> - <hkern u1="&#x22;" u2="q" k="123" /> - <hkern u1="&#x22;" u2="p" k="61" /> - <hkern u1="&#x22;" u2="o" k="123" /> - <hkern u1="&#x22;" u2="n" k="61" /> - <hkern u1="&#x22;" u2="m" k="61" /> - <hkern u1="&#x22;" u2="g" k="61" /> - <hkern u1="&#x22;" u2="e" k="123" /> - <hkern u1="&#x22;" u2="d" k="123" /> - <hkern u1="&#x22;" u2="c" k="123" /> - <hkern u1="&#x22;" u2="a" k="82" /> - <hkern u1="&#x22;" u2="Y" k="-20" /> - <hkern u1="&#x22;" u2="W" k="-41" /> - <hkern u1="&#x22;" u2="V" k="-41" /> - <hkern u1="&#x22;" u2="T" k="-41" /> - <hkern u1="&#x22;" u2="A" k="143" /> - <hkern u1="&#x27;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x27;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x27;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x27;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x27;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x27;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x27;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x27;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x27;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x27;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x27;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x27;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x27;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x27;" u2="&#x513;" k="143" /> - <hkern u1="&#x27;" u2="&#x512;" k="123" /> - <hkern u1="&#x27;" u2="&#x511;" k="123" /> - <hkern u1="&#x27;" u2="&#x50d;" k="123" /> - <hkern u1="&#x27;" u2="&#x509;" k="143" /> - <hkern u1="&#x27;" u2="&#x508;" k="123" /> - <hkern u1="&#x27;" u2="&#x503;" k="123" /> - <hkern u1="&#x27;" u2="&#x502;" k="143" /> - <hkern u1="&#x27;" u2="&#x501;" k="123" /> - <hkern u1="&#x27;" u2="&#x500;" k="143" /> - <hkern u1="&#x27;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x27;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4db;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x27;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x27;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x27;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x27;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x27;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x27;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x27;" u2="&#x481;" k="123" /> - <hkern u1="&#x27;" u2="&#x47d;" k="123" /> - <hkern u1="&#x27;" u2="&#x47b;" k="123" /> - <hkern u1="&#x27;" u2="&#x479;" k="123" /> - <hkern u1="&#x27;" u2="&#x473;" k="123" /> - <hkern u1="&#x27;" u2="&#x471;" k="20" /> - <hkern u1="&#x27;" u2="&#x467;" k="143" /> - <hkern u1="&#x27;" u2="&#x466;" k="143" /> - <hkern u1="&#x27;" u2="&#x459;" k="143" /> - <hkern u1="&#x27;" u2="&#x455;" k="61" /> - <hkern u1="&#x27;" u2="&#x454;" k="123" /> - <hkern u1="&#x27;" u2="&#x451;" k="123" /> - <hkern u1="&#x27;" u2="&#x450;" k="123" /> - <hkern u1="&#x27;" u2="&#x444;" k="123" /> - <hkern u1="&#x27;" u2="&#x441;" k="123" /> - <hkern u1="&#x27;" u2="&#x43e;" k="123" /> - <hkern u1="&#x27;" u2="&#x43b;" k="143" /> - <hkern u1="&#x27;" u2="&#x435;" k="123" /> - <hkern u1="&#x27;" u2="&#x434;" k="143" /> - <hkern u1="&#x27;" u2="&#x430;" k="41" /> - <hkern u1="&#x27;" u2="&#x41b;" k="123" /> - <hkern u1="&#x27;" u2="&#x414;" k="123" /> - <hkern u1="&#x27;" u2="&#x410;" k="143" /> - <hkern u1="&#x27;" u2="&#x409;" k="123" /> - <hkern u1="&#x27;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x27;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x27;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x27;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x27;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x27;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x27;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x27;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x27;" u2="&#x39b;" k="143" /> - <hkern u1="&#x27;" u2="&#x394;" k="143" /> - <hkern u1="&#x27;" u2="&#x391;" k="143" /> - <hkern u1="&#x27;" u2="&#x386;" k="143" /> - <hkern u1="&#x27;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x27;" u2="&#x219;" k="61" /> - <hkern u1="&#x27;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x27;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x27;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x27;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x27;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x27;" u2="&#x178;" k="-20" /> - <hkern u1="&#x27;" u2="&#x176;" k="-20" /> - <hkern u1="&#x27;" u2="&#x174;" k="-41" /> - <hkern u1="&#x27;" u2="&#x173;" k="61" /> - <hkern u1="&#x27;" u2="&#x171;" k="61" /> - <hkern u1="&#x27;" u2="&#x16f;" k="61" /> - <hkern u1="&#x27;" u2="&#x16d;" k="61" /> - <hkern u1="&#x27;" u2="&#x16b;" k="61" /> - <hkern u1="&#x27;" u2="&#x169;" k="61" /> - <hkern u1="&#x27;" u2="&#x164;" k="-41" /> - <hkern u1="&#x27;" u2="&#x162;" k="-41" /> - <hkern u1="&#x27;" u2="&#x15f;" k="61" /> - <hkern u1="&#x27;" u2="&#x15b;" k="61" /> - <hkern u1="&#x27;" u2="&#x157;" k="61" /> - <hkern u1="&#x27;" u2="&#x155;" k="61" /> - <hkern u1="&#x27;" u2="&#x153;" k="123" /> - <hkern u1="&#x27;" u2="&#x151;" k="123" /> - <hkern u1="&#x27;" u2="&#x14f;" k="123" /> - <hkern u1="&#x27;" u2="&#x14d;" k="123" /> - <hkern u1="&#x27;" u2="&#x14b;" k="61" /> - <hkern u1="&#x27;" u2="&#x146;" k="61" /> - <hkern u1="&#x27;" u2="&#x144;" k="61" /> - <hkern u1="&#x27;" u2="&#x138;" k="61" /> - <hkern u1="&#x27;" u2="&#x123;" k="61" /> - <hkern u1="&#x27;" u2="&#x121;" k="61" /> - <hkern u1="&#x27;" u2="&#x11f;" k="61" /> - <hkern u1="&#x27;" u2="&#x11d;" k="61" /> - <hkern u1="&#x27;" u2="&#x11b;" k="123" /> - <hkern u1="&#x27;" u2="&#x119;" k="123" /> - <hkern u1="&#x27;" u2="&#x117;" k="123" /> - <hkern u1="&#x27;" u2="&#x115;" k="123" /> - <hkern u1="&#x27;" u2="&#x113;" k="123" /> - <hkern u1="&#x27;" u2="&#x111;" k="123" /> - <hkern u1="&#x27;" u2="&#x10f;" k="123" /> - <hkern u1="&#x27;" u2="&#x10d;" k="123" /> - <hkern u1="&#x27;" u2="&#x10b;" k="123" /> - <hkern u1="&#x27;" u2="&#x109;" k="123" /> - <hkern u1="&#x27;" u2="&#x107;" k="123" /> - <hkern u1="&#x27;" u2="&#x105;" k="82" /> - <hkern u1="&#x27;" u2="&#x104;" k="143" /> - <hkern u1="&#x27;" u2="&#x103;" k="82" /> - <hkern u1="&#x27;" u2="&#x102;" k="143" /> - <hkern u1="&#x27;" u2="&#x101;" k="82" /> - <hkern u1="&#x27;" u2="&#x100;" k="143" /> - <hkern u1="&#x27;" u2="&#xfc;" k="61" /> - <hkern u1="&#x27;" u2="&#xfb;" k="61" /> - <hkern u1="&#x27;" u2="&#xfa;" k="61" /> - <hkern u1="&#x27;" u2="&#xf9;" k="61" /> - <hkern u1="&#x27;" u2="&#xf8;" k="123" /> - <hkern u1="&#x27;" u2="&#xf6;" k="123" /> - <hkern u1="&#x27;" u2="&#xf5;" k="123" /> - <hkern u1="&#x27;" u2="&#xf4;" k="123" /> - <hkern u1="&#x27;" u2="&#xf3;" k="123" /> - <hkern u1="&#x27;" u2="&#xf2;" k="123" /> - <hkern u1="&#x27;" u2="&#xeb;" k="123" /> - <hkern u1="&#x27;" u2="&#xea;" k="123" /> - <hkern u1="&#x27;" u2="&#xe9;" k="123" /> - <hkern u1="&#x27;" u2="&#xe8;" k="123" /> - <hkern u1="&#x27;" u2="&#xe7;" k="123" /> - <hkern u1="&#x27;" u2="&#xe6;" k="82" /> - <hkern u1="&#x27;" u2="&#xe5;" k="82" /> - <hkern u1="&#x27;" u2="&#xe4;" k="82" /> - <hkern u1="&#x27;" u2="&#xe3;" k="82" /> - <hkern u1="&#x27;" u2="&#xe2;" k="82" /> - <hkern u1="&#x27;" u2="&#xe1;" k="82" /> - <hkern u1="&#x27;" u2="&#xe0;" k="123" /> - <hkern u1="&#x27;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x27;" u2="&#xc5;" k="143" /> - <hkern u1="&#x27;" u2="&#xc4;" k="143" /> - <hkern u1="&#x27;" u2="&#xc3;" k="143" /> - <hkern u1="&#x27;" u2="&#xc2;" k="143" /> - <hkern u1="&#x27;" u2="&#xc1;" k="143" /> - <hkern u1="&#x27;" u2="&#xc0;" k="143" /> - <hkern u1="&#x27;" u2="u" k="61" /> - <hkern u1="&#x27;" u2="s" k="61" /> - <hkern u1="&#x27;" u2="r" k="61" /> - <hkern u1="&#x27;" u2="q" k="123" /> - <hkern u1="&#x27;" u2="p" k="61" /> - <hkern u1="&#x27;" u2="o" k="123" /> - <hkern u1="&#x27;" u2="n" k="61" /> - <hkern u1="&#x27;" u2="m" k="61" /> - <hkern u1="&#x27;" u2="g" k="61" /> - <hkern u1="&#x27;" u2="e" k="123" /> - <hkern u1="&#x27;" u2="d" k="123" /> - <hkern u1="&#x27;" u2="c" k="123" /> - <hkern u1="&#x27;" u2="a" k="82" /> - <hkern u1="&#x27;" u2="Y" k="-20" /> - <hkern u1="&#x27;" u2="W" k="-41" /> - <hkern u1="&#x27;" u2="V" k="-41" /> - <hkern u1="&#x27;" u2="T" k="-41" /> - <hkern u1="&#x27;" u2="A" k="143" /> - <hkern u1="&#x28;" u2="J" k="-184" /> - <hkern u1="&#x2c;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2c;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2c;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2c;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x507;" k="102" /> - <hkern u1="&#x2c;" u2="&#x506;" k="123" /> - <hkern u1="&#x2c;" u2="&#x505;" k="102" /> - <hkern u1="&#x2c;" u2="&#x504;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2c;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2c;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2c;" u2="&#x480;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x478;" k="102" /> - <hkern u1="&#x2c;" u2="&#x476;" k="123" /> - <hkern u1="&#x2c;" u2="&#x474;" k="123" /> - <hkern u1="&#x2c;" u2="&#x472;" k="102" /> - <hkern u1="&#x2c;" u2="&#x470;" k="164" /> - <hkern u1="&#x2c;" u2="&#x460;" k="102" /> - <hkern u1="&#x2c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x447;" k="123" /> - <hkern u1="&#x2c;" u2="&#x442;" k="102" /> - <hkern u1="&#x2c;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x427;" k="164" /> - <hkern u1="&#x2c;" u2="&#x424;" k="82" /> - <hkern u1="&#x2c;" u2="&#x422;" k="143" /> - <hkern u1="&#x2c;" u2="&#x421;" k="102" /> - <hkern u1="&#x2c;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2c;" u2="&#x404;" k="102" /> - <hkern u1="&#x2c;" u2="&#x402;" k="143" /> - <hkern u1="&#x2c;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2c;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2c;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2c;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2c;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2c;" u2="&#x398;" k="82" /> - <hkern u1="&#x2c;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2c;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2c;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2c;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2c;" u2="&#x178;" k="123" /> - <hkern u1="&#x2c;" u2="&#x176;" k="123" /> - <hkern u1="&#x2c;" u2="&#x174;" k="123" /> - <hkern u1="&#x2c;" u2="&#x172;" k="41" /> - <hkern u1="&#x2c;" u2="&#x170;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2c;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2c;" u2="&#x168;" k="41" /> - <hkern u1="&#x2c;" u2="&#x164;" k="143" /> - <hkern u1="&#x2c;" u2="&#x162;" k="143" /> - <hkern u1="&#x2c;" u2="&#x152;" k="102" /> - <hkern u1="&#x2c;" u2="&#x150;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x122;" k="102" /> - <hkern u1="&#x2c;" u2="&#x120;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2c;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2c;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2c;" u2="&#x108;" k="102" /> - <hkern u1="&#x2c;" u2="&#x106;" k="102" /> - <hkern u1="&#x2c;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2c;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2c;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2c;" u2="&#xda;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2c;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2c;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2c;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2c;" u2="Y" k="123" /> - <hkern u1="&#x2c;" u2="W" k="123" /> - <hkern u1="&#x2c;" u2="V" k="123" /> - <hkern u1="&#x2c;" u2="U" k="41" /> - <hkern u1="&#x2c;" u2="T" k="143" /> - <hkern u1="&#x2c;" u2="Q" k="102" /> - <hkern u1="&#x2c;" u2="O" k="102" /> - <hkern u1="&#x2c;" u2="G" k="102" /> - <hkern u1="&#x2c;" u2="C" k="102" /> - <hkern u1="&#x2d;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2d;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2d;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2d;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2d;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2d;" u2="&#x442;" k="41" /> - <hkern u1="&#x2d;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x422;" k="82" /> - <hkern u1="&#x2d;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2d;" u2="&#x402;" k="82" /> - <hkern u1="&#x2d;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2d;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2d;" u2="&#x164;" k="82" /> - <hkern u1="&#x2d;" u2="&#x162;" k="82" /> - <hkern u1="&#x2d;" u2="T" k="82" /> - <hkern u1="&#x2e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x2e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x2e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x2e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x2e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x507;" k="102" /> - <hkern u1="&#x2e;" u2="&#x506;" k="123" /> - <hkern u1="&#x2e;" u2="&#x505;" k="102" /> - <hkern u1="&#x2e;" u2="&#x504;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x2e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x2e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x2e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x2e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x2e;" u2="&#x480;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x478;" k="102" /> - <hkern u1="&#x2e;" u2="&#x476;" k="123" /> - <hkern u1="&#x2e;" u2="&#x474;" k="123" /> - <hkern u1="&#x2e;" u2="&#x472;" k="102" /> - <hkern u1="&#x2e;" u2="&#x470;" k="164" /> - <hkern u1="&#x2e;" u2="&#x460;" k="102" /> - <hkern u1="&#x2e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x447;" k="123" /> - <hkern u1="&#x2e;" u2="&#x442;" k="102" /> - <hkern u1="&#x2e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x427;" k="164" /> - <hkern u1="&#x2e;" u2="&#x424;" k="82" /> - <hkern u1="&#x2e;" u2="&#x422;" k="143" /> - <hkern u1="&#x2e;" u2="&#x421;" k="102" /> - <hkern u1="&#x2e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x2e;" u2="&#x404;" k="102" /> - <hkern u1="&#x2e;" u2="&#x402;" k="143" /> - <hkern u1="&#x2e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x2e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x2e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x2e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x2e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x2e;" u2="&#x398;" k="82" /> - <hkern u1="&#x2e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x2e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x2e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x2e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x2e;" u2="&#x178;" k="123" /> - <hkern u1="&#x2e;" u2="&#x176;" k="123" /> - <hkern u1="&#x2e;" u2="&#x174;" k="123" /> - <hkern u1="&#x2e;" u2="&#x172;" k="41" /> - <hkern u1="&#x2e;" u2="&#x170;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x2e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x2e;" u2="&#x168;" k="41" /> - <hkern u1="&#x2e;" u2="&#x164;" k="143" /> - <hkern u1="&#x2e;" u2="&#x162;" k="143" /> - <hkern u1="&#x2e;" u2="&#x152;" k="102" /> - <hkern u1="&#x2e;" u2="&#x150;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x122;" k="102" /> - <hkern u1="&#x2e;" u2="&#x120;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x2e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x2e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x2e;" u2="&#x108;" k="102" /> - <hkern u1="&#x2e;" u2="&#x106;" k="102" /> - <hkern u1="&#x2e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x2e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x2e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x2e;" u2="&#xda;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x2e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x2e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x2e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x2e;" u2="Y" k="123" /> - <hkern u1="&#x2e;" u2="W" k="123" /> - <hkern u1="&#x2e;" u2="V" k="123" /> - <hkern u1="&#x2e;" u2="U" k="41" /> - <hkern u1="&#x2e;" u2="T" k="143" /> - <hkern u1="&#x2e;" u2="Q" k="102" /> - <hkern u1="&#x2e;" u2="O" k="102" /> - <hkern u1="&#x2e;" u2="G" k="102" /> - <hkern u1="&#x2e;" u2="C" k="102" /> - <hkern u1="A" u2="&#x201d;" k="143" /> - <hkern u1="A" u2="&#x2019;" k="143" /> - <hkern u1="A" u2="&#x1ef8;" k="123" /> - <hkern u1="A" u2="&#x1ef6;" k="123" /> - <hkern u1="A" u2="&#x1ef4;" k="123" /> - <hkern u1="A" u2="&#x1ef2;" k="123" /> - <hkern u1="A" u2="&#x1ee2;" k="41" /> - <hkern u1="A" u2="&#x1ee0;" k="41" /> - <hkern u1="A" u2="&#x1ede;" k="41" /> - <hkern u1="A" u2="&#x1edc;" k="41" /> - <hkern u1="A" u2="&#x1eda;" k="41" /> - <hkern u1="A" u2="&#x1ed8;" k="41" /> - <hkern u1="A" u2="&#x1ed6;" k="41" /> - <hkern u1="A" u2="&#x1ed4;" k="41" /> - <hkern u1="A" u2="&#x1ed2;" k="41" /> - <hkern u1="A" u2="&#x1ed0;" k="41" /> - <hkern u1="A" u2="&#x1ece;" k="41" /> - <hkern u1="A" u2="&#x1ecc;" k="41" /> - <hkern u1="A" u2="&#x1e84;" k="82" /> - <hkern u1="A" u2="&#x1e82;" k="82" /> - <hkern u1="A" u2="&#x1e80;" k="82" /> - <hkern u1="A" u2="&#x21a;" k="143" /> - <hkern u1="A" u2="&#x1fe;" k="41" /> - <hkern u1="A" u2="&#x1a0;" k="41" /> - <hkern u1="A" u2="&#x178;" k="123" /> - <hkern u1="A" u2="&#x176;" k="123" /> - <hkern u1="A" u2="&#x174;" k="82" /> - <hkern u1="A" u2="&#x164;" k="143" /> - <hkern u1="A" u2="&#x162;" k="143" /> - <hkern u1="A" u2="&#x152;" k="41" /> - <hkern u1="A" u2="&#x150;" k="41" /> - <hkern u1="A" u2="&#x14e;" k="41" /> - <hkern u1="A" u2="&#x14c;" k="41" /> - <hkern u1="A" u2="&#x122;" k="41" /> - <hkern u1="A" u2="&#x120;" k="41" /> - <hkern u1="A" u2="&#x11e;" k="41" /> - <hkern u1="A" u2="&#x11c;" k="41" /> - <hkern u1="A" u2="&#x10c;" k="41" /> - <hkern u1="A" u2="&#x10a;" k="41" /> - <hkern u1="A" u2="&#x108;" k="41" /> - <hkern u1="A" u2="&#x106;" k="41" /> - <hkern u1="A" u2="&#xdd;" k="123" /> - <hkern u1="A" u2="&#xd8;" k="41" /> - <hkern u1="A" u2="&#xd6;" k="41" /> - <hkern u1="A" u2="&#xd5;" k="41" /> - <hkern u1="A" u2="&#xd4;" k="41" /> - <hkern u1="A" u2="&#xd3;" k="41" /> - <hkern u1="A" u2="&#xd2;" k="41" /> - <hkern u1="A" u2="&#xc7;" k="41" /> - <hkern u1="A" u2="Y" k="123" /> - <hkern u1="A" u2="W" k="82" /> - <hkern u1="A" u2="V" k="82" /> - <hkern u1="A" u2="T" k="143" /> - <hkern u1="A" u2="Q" k="41" /> - <hkern u1="A" u2="O" k="41" /> - <hkern u1="A" u2="J" k="-266" /> - <hkern u1="A" u2="G" k="41" /> - <hkern u1="A" u2="C" k="41" /> - <hkern u1="A" u2="&#x27;" k="143" /> - <hkern u1="A" u2="&#x22;" k="143" /> - <hkern u1="B" u2="&#x201e;" k="82" /> - <hkern u1="B" u2="&#x201a;" k="82" /> - <hkern u1="B" u2="&#x1ef8;" k="20" /> - <hkern u1="B" u2="&#x1ef6;" k="20" /> - <hkern u1="B" u2="&#x1ef4;" k="20" /> - <hkern u1="B" u2="&#x1ef2;" k="20" /> - <hkern u1="B" u2="&#x1eb6;" k="41" /> - <hkern u1="B" u2="&#x1eb4;" k="41" /> - <hkern u1="B" u2="&#x1eb2;" k="41" /> - <hkern u1="B" u2="&#x1eb0;" k="41" /> - <hkern u1="B" u2="&#x1eae;" k="41" /> - <hkern u1="B" u2="&#x1eac;" k="41" /> - <hkern u1="B" u2="&#x1eaa;" k="41" /> - <hkern u1="B" u2="&#x1ea8;" k="41" /> - <hkern u1="B" u2="&#x1ea6;" k="41" /> - <hkern u1="B" u2="&#x1ea4;" k="41" /> - <hkern u1="B" u2="&#x1ea2;" k="41" /> - <hkern u1="B" u2="&#x1ea0;" k="41" /> - <hkern u1="B" u2="&#x1e84;" k="20" /> - <hkern u1="B" u2="&#x1e82;" k="20" /> - <hkern u1="B" u2="&#x1e80;" k="20" /> - <hkern u1="B" u2="&#x1e00;" k="41" /> - <hkern u1="B" u2="&#x405;" k="20" /> - <hkern u1="B" u2="&#x21a;" k="61" /> - <hkern u1="B" u2="&#x1fa;" k="41" /> - <hkern u1="B" u2="&#x17d;" k="20" /> - <hkern u1="B" u2="&#x17b;" k="20" /> - <hkern u1="B" u2="&#x179;" k="20" /> - <hkern u1="B" u2="&#x178;" k="20" /> - <hkern u1="B" u2="&#x176;" k="20" /> - <hkern u1="B" u2="&#x174;" k="20" /> - <hkern u1="B" u2="&#x164;" k="61" /> - <hkern u1="B" u2="&#x162;" k="61" /> - <hkern u1="B" u2="&#x104;" k="41" /> - <hkern u1="B" u2="&#x102;" k="41" /> - <hkern u1="B" u2="&#x100;" k="41" /> - <hkern u1="B" u2="&#xdd;" k="20" /> - <hkern u1="B" u2="&#xc5;" k="41" /> - <hkern u1="B" u2="&#xc4;" k="41" /> - <hkern u1="B" u2="&#xc3;" k="41" /> - <hkern u1="B" u2="&#xc2;" k="41" /> - <hkern u1="B" u2="&#xc1;" k="41" /> - <hkern u1="B" u2="&#xc0;" k="41" /> - <hkern u1="B" u2="Z" k="20" /> - <hkern u1="B" u2="Y" k="20" /> - <hkern u1="B" u2="X" k="41" /> - <hkern u1="B" u2="W" k="20" /> - <hkern u1="B" u2="V" k="20" /> - <hkern u1="B" u2="T" k="61" /> - <hkern u1="B" u2="A" k="41" /> - <hkern u1="B" u2="&#x2e;" k="82" /> - <hkern u1="B" u2="&#x2c;" k="82" /> - <hkern u1="C" u2="&#x1ee2;" k="41" /> - <hkern u1="C" u2="&#x1ee0;" k="41" /> - <hkern u1="C" u2="&#x1ede;" k="41" /> - <hkern u1="C" u2="&#x1edc;" k="41" /> - <hkern u1="C" u2="&#x1eda;" k="41" /> - <hkern u1="C" u2="&#x1ed8;" k="41" /> - <hkern u1="C" u2="&#x1ed6;" k="41" /> - <hkern u1="C" u2="&#x1ed4;" k="41" /> - <hkern u1="C" u2="&#x1ed2;" k="41" /> - <hkern u1="C" u2="&#x1ed0;" k="41" /> - <hkern u1="C" u2="&#x1ece;" k="41" /> - <hkern u1="C" u2="&#x1ecc;" k="41" /> - <hkern u1="C" u2="&#x1fe;" k="41" /> - <hkern u1="C" u2="&#x1a0;" k="41" /> - <hkern u1="C" u2="&#x152;" k="41" /> - <hkern u1="C" u2="&#x150;" k="41" /> - <hkern u1="C" u2="&#x14e;" k="41" /> - <hkern u1="C" u2="&#x14c;" k="41" /> - <hkern u1="C" u2="&#x122;" k="41" /> - <hkern u1="C" u2="&#x120;" k="41" /> - <hkern u1="C" u2="&#x11e;" k="41" /> - <hkern u1="C" u2="&#x11c;" k="41" /> - <hkern u1="C" u2="&#x10c;" k="41" /> - <hkern u1="C" u2="&#x10a;" k="41" /> - <hkern u1="C" u2="&#x108;" k="41" /> - <hkern u1="C" u2="&#x106;" k="41" /> - <hkern u1="C" u2="&#xd8;" k="41" /> - <hkern u1="C" u2="&#xd6;" k="41" /> - <hkern u1="C" u2="&#xd5;" k="41" /> - <hkern u1="C" u2="&#xd4;" k="41" /> - <hkern u1="C" u2="&#xd3;" k="41" /> - <hkern u1="C" u2="&#xd2;" k="41" /> - <hkern u1="C" u2="&#xc7;" k="41" /> - <hkern u1="C" u2="Q" k="41" /> - <hkern u1="C" u2="O" k="41" /> - <hkern u1="C" u2="G" k="41" /> - <hkern u1="C" u2="C" k="41" /> - <hkern u1="D" u2="&#x201e;" k="82" /> - <hkern u1="D" u2="&#x201a;" k="82" /> - <hkern u1="D" u2="&#x1ef8;" k="20" /> - <hkern u1="D" u2="&#x1ef6;" k="20" /> - <hkern u1="D" u2="&#x1ef4;" k="20" /> - <hkern u1="D" u2="&#x1ef2;" k="20" /> - <hkern u1="D" u2="&#x1eb6;" k="41" /> - <hkern u1="D" u2="&#x1eb4;" k="41" /> - <hkern u1="D" u2="&#x1eb2;" k="41" /> - <hkern u1="D" u2="&#x1eb0;" k="41" /> - <hkern u1="D" u2="&#x1eae;" k="41" /> - <hkern u1="D" u2="&#x1eac;" k="41" /> - <hkern u1="D" u2="&#x1eaa;" k="41" /> - <hkern u1="D" u2="&#x1ea8;" k="41" /> - <hkern u1="D" u2="&#x1ea6;" k="41" /> - <hkern u1="D" u2="&#x1ea4;" k="41" /> - <hkern u1="D" u2="&#x1ea2;" k="41" /> - <hkern u1="D" u2="&#x1ea0;" k="41" /> - <hkern u1="D" u2="&#x1e84;" k="20" /> - <hkern u1="D" u2="&#x1e82;" k="20" /> - <hkern u1="D" u2="&#x1e80;" k="20" /> - <hkern u1="D" u2="&#x1e00;" k="41" /> - <hkern u1="D" u2="&#x405;" k="20" /> - <hkern u1="D" u2="&#x21a;" k="61" /> - <hkern u1="D" u2="&#x1fa;" k="41" /> - <hkern u1="D" u2="&#x17d;" k="20" /> - <hkern u1="D" u2="&#x17b;" k="20" /> - <hkern u1="D" u2="&#x179;" k="20" /> - <hkern u1="D" u2="&#x178;" k="20" /> - <hkern u1="D" u2="&#x176;" k="20" /> - <hkern u1="D" u2="&#x174;" k="20" /> - <hkern u1="D" u2="&#x164;" k="61" /> - <hkern u1="D" u2="&#x162;" k="61" /> - <hkern u1="D" u2="&#x104;" k="41" /> - <hkern u1="D" u2="&#x102;" k="41" /> - <hkern u1="D" u2="&#x100;" k="41" /> - <hkern u1="D" u2="&#xdd;" k="20" /> - <hkern u1="D" u2="&#xc5;" k="41" /> - <hkern u1="D" u2="&#xc4;" k="41" /> - <hkern u1="D" u2="&#xc3;" k="41" /> - <hkern u1="D" u2="&#xc2;" k="41" /> - <hkern u1="D" u2="&#xc1;" k="41" /> - <hkern u1="D" u2="&#xc0;" k="41" /> - <hkern u1="D" u2="Z" k="20" /> - <hkern u1="D" u2="Y" k="20" /> - <hkern u1="D" u2="X" k="41" /> - <hkern u1="D" u2="W" k="20" /> - <hkern u1="D" u2="V" k="20" /> - <hkern u1="D" u2="T" k="61" /> - <hkern u1="D" u2="A" k="41" /> - <hkern u1="D" u2="&#x2e;" k="82" /> - <hkern u1="D" u2="&#x2c;" k="82" /> - <hkern u1="E" u2="J" k="-123" /> - <hkern u1="F" u2="&#x201e;" k="123" /> - <hkern u1="F" u2="&#x201a;" k="123" /> - <hkern u1="F" u2="&#x1eb6;" k="41" /> - <hkern u1="F" u2="&#x1eb4;" k="41" /> - <hkern u1="F" u2="&#x1eb2;" k="41" /> - <hkern u1="F" u2="&#x1eb0;" k="41" /> - <hkern u1="F" u2="&#x1eae;" k="41" /> - <hkern u1="F" u2="&#x1eac;" k="41" /> - <hkern u1="F" u2="&#x1eaa;" k="41" /> - <hkern u1="F" u2="&#x1ea8;" k="41" /> - <hkern u1="F" u2="&#x1ea6;" k="41" /> - <hkern u1="F" u2="&#x1ea4;" k="41" /> - <hkern u1="F" u2="&#x1ea2;" k="41" /> - <hkern u1="F" u2="&#x1ea0;" k="41" /> - <hkern u1="F" u2="&#x1e00;" k="41" /> - <hkern u1="F" u2="&#x1fa;" k="41" /> - <hkern u1="F" u2="&#x104;" k="41" /> - <hkern u1="F" u2="&#x102;" k="41" /> - <hkern u1="F" u2="&#x100;" k="41" /> - <hkern u1="F" u2="&#xc5;" k="41" /> - <hkern u1="F" u2="&#xc4;" k="41" /> - <hkern u1="F" u2="&#xc3;" k="41" /> - <hkern u1="F" u2="&#xc2;" k="41" /> - <hkern u1="F" u2="&#xc1;" k="41" /> - <hkern u1="F" u2="&#xc0;" k="41" /> - <hkern u1="F" u2="A" k="41" /> - <hkern u1="F" u2="&#x3f;" k="-41" /> - <hkern u1="F" u2="&#x2e;" k="123" /> - <hkern u1="F" u2="&#x2c;" k="123" /> - <hkern u1="K" u2="&#x1ee2;" k="41" /> - <hkern u1="K" u2="&#x1ee0;" k="41" /> - <hkern u1="K" u2="&#x1ede;" k="41" /> - <hkern u1="K" u2="&#x1edc;" k="41" /> - <hkern u1="K" u2="&#x1eda;" k="41" /> - <hkern u1="K" u2="&#x1ed8;" k="41" /> - <hkern u1="K" u2="&#x1ed6;" k="41" /> - <hkern u1="K" u2="&#x1ed4;" k="41" /> - <hkern u1="K" u2="&#x1ed2;" k="41" /> - <hkern u1="K" u2="&#x1ed0;" k="41" /> - <hkern u1="K" u2="&#x1ece;" k="41" /> - <hkern u1="K" u2="&#x1ecc;" k="41" /> - <hkern u1="K" u2="&#x1fe;" k="41" /> - <hkern u1="K" u2="&#x1a0;" k="41" /> - <hkern u1="K" u2="&#x152;" k="41" /> - <hkern u1="K" u2="&#x150;" k="41" /> - <hkern u1="K" u2="&#x14e;" k="41" /> - <hkern u1="K" u2="&#x14c;" k="41" /> - <hkern u1="K" u2="&#x122;" k="41" /> - <hkern u1="K" u2="&#x120;" k="41" /> - <hkern u1="K" u2="&#x11e;" k="41" /> - <hkern u1="K" u2="&#x11c;" k="41" /> - <hkern u1="K" u2="&#x10c;" k="41" /> - <hkern u1="K" u2="&#x10a;" k="41" /> - <hkern u1="K" u2="&#x108;" k="41" /> - <hkern u1="K" u2="&#x106;" k="41" /> - <hkern u1="K" u2="&#xd8;" k="41" /> - <hkern u1="K" u2="&#xd6;" k="41" /> - <hkern u1="K" u2="&#xd5;" k="41" /> - <hkern u1="K" u2="&#xd4;" k="41" /> - <hkern u1="K" u2="&#xd3;" k="41" /> - <hkern u1="K" u2="&#xd2;" k="41" /> - <hkern u1="K" u2="&#xc7;" k="41" /> - <hkern u1="K" u2="Q" k="41" /> - <hkern u1="K" u2="O" k="41" /> - <hkern u1="K" u2="G" k="41" /> - <hkern u1="K" u2="C" k="41" /> - <hkern u1="L" u2="&#x201d;" k="164" /> - <hkern u1="L" u2="&#x2019;" k="164" /> - <hkern u1="L" u2="&#x1ef8;" k="61" /> - <hkern u1="L" u2="&#x1ef6;" k="61" /> - <hkern u1="L" u2="&#x1ef4;" k="61" /> - <hkern u1="L" u2="&#x1ef2;" k="61" /> - <hkern u1="L" u2="&#x1ef0;" k="20" /> - <hkern u1="L" u2="&#x1eee;" k="20" /> - <hkern u1="L" u2="&#x1eec;" k="20" /> - <hkern u1="L" u2="&#x1eea;" k="20" /> - <hkern u1="L" u2="&#x1ee8;" k="20" /> - <hkern u1="L" u2="&#x1ee6;" k="20" /> - <hkern u1="L" u2="&#x1ee4;" k="20" /> - <hkern u1="L" u2="&#x1ee2;" k="41" /> - <hkern u1="L" u2="&#x1ee0;" k="41" /> - <hkern u1="L" u2="&#x1ede;" k="41" /> - <hkern u1="L" u2="&#x1edc;" k="41" /> - <hkern u1="L" u2="&#x1eda;" k="41" /> - <hkern u1="L" u2="&#x1ed8;" k="41" /> - <hkern u1="L" u2="&#x1ed6;" k="41" /> - <hkern u1="L" u2="&#x1ed4;" k="41" /> - <hkern u1="L" u2="&#x1ed2;" k="41" /> - <hkern u1="L" u2="&#x1ed0;" k="41" /> - <hkern u1="L" u2="&#x1ece;" k="41" /> - <hkern u1="L" u2="&#x1ecc;" k="41" /> - <hkern u1="L" u2="&#x1e84;" k="41" /> - <hkern u1="L" u2="&#x1e82;" k="41" /> - <hkern u1="L" u2="&#x1e80;" k="41" /> - <hkern u1="L" u2="&#x21a;" k="41" /> - <hkern u1="L" u2="&#x1fe;" k="41" /> - <hkern u1="L" u2="&#x1af;" k="20" /> - <hkern u1="L" u2="&#x1a0;" k="41" /> - <hkern u1="L" u2="&#x178;" k="61" /> - <hkern u1="L" u2="&#x176;" k="61" /> - <hkern u1="L" u2="&#x174;" k="41" /> - <hkern u1="L" u2="&#x172;" k="20" /> - <hkern u1="L" u2="&#x170;" k="20" /> - <hkern u1="L" u2="&#x16e;" k="20" /> - <hkern u1="L" u2="&#x16c;" k="20" /> - <hkern u1="L" u2="&#x16a;" k="20" /> - <hkern u1="L" u2="&#x168;" k="20" /> - <hkern u1="L" u2="&#x164;" k="41" /> - <hkern u1="L" u2="&#x162;" k="41" /> - <hkern u1="L" u2="&#x152;" k="41" /> - <hkern u1="L" u2="&#x150;" k="41" /> - <hkern u1="L" u2="&#x14e;" k="41" /> - <hkern u1="L" u2="&#x14c;" k="41" /> - <hkern u1="L" u2="&#x122;" k="41" /> - <hkern u1="L" u2="&#x120;" k="41" /> - <hkern u1="L" u2="&#x11e;" k="41" /> - <hkern u1="L" u2="&#x11c;" k="41" /> - <hkern u1="L" u2="&#x10c;" k="41" /> - <hkern u1="L" u2="&#x10a;" k="41" /> - <hkern u1="L" u2="&#x108;" k="41" /> - <hkern u1="L" u2="&#x106;" k="41" /> - <hkern u1="L" u2="&#xdd;" k="61" /> - <hkern u1="L" u2="&#xdc;" k="20" /> - <hkern u1="L" u2="&#xdb;" k="20" /> - <hkern u1="L" u2="&#xda;" k="20" /> - <hkern u1="L" u2="&#xd9;" k="20" /> - <hkern u1="L" u2="&#xd8;" k="41" /> - <hkern u1="L" u2="&#xd6;" k="41" /> - <hkern u1="L" u2="&#xd5;" k="41" /> - <hkern u1="L" u2="&#xd4;" k="41" /> - <hkern u1="L" u2="&#xd3;" k="41" /> - <hkern u1="L" u2="&#xd2;" k="41" /> - <hkern u1="L" u2="&#xc7;" k="41" /> - <hkern u1="L" u2="Y" k="61" /> - <hkern u1="L" u2="W" k="41" /> - <hkern u1="L" u2="V" k="41" /> - <hkern u1="L" u2="U" k="20" /> - <hkern u1="L" u2="T" k="41" /> - <hkern u1="L" u2="Q" k="41" /> - <hkern u1="L" u2="O" k="41" /> - <hkern u1="L" u2="G" k="41" /> - <hkern u1="L" u2="C" k="41" /> - <hkern u1="L" u2="&#x27;" k="164" /> - <hkern u1="L" u2="&#x22;" k="164" /> - <hkern u1="O" u2="&#x201e;" k="82" /> - <hkern u1="O" u2="&#x201a;" k="82" /> - <hkern u1="O" u2="&#x1ef8;" k="20" /> - <hkern u1="O" u2="&#x1ef6;" k="20" /> - <hkern u1="O" u2="&#x1ef4;" k="20" /> - <hkern u1="O" u2="&#x1ef2;" k="20" /> - <hkern u1="O" u2="&#x1eb6;" k="41" /> - <hkern u1="O" u2="&#x1eb4;" k="41" /> - <hkern u1="O" u2="&#x1eb2;" k="41" /> - <hkern u1="O" u2="&#x1eb0;" k="41" /> - <hkern u1="O" u2="&#x1eae;" k="41" /> - <hkern u1="O" u2="&#x1eac;" k="41" /> - <hkern u1="O" u2="&#x1eaa;" k="41" /> - <hkern u1="O" u2="&#x1ea8;" k="41" /> - <hkern u1="O" u2="&#x1ea6;" k="41" /> - <hkern u1="O" u2="&#x1ea4;" k="41" /> - <hkern u1="O" u2="&#x1ea2;" k="41" /> - <hkern u1="O" u2="&#x1ea0;" k="41" /> - <hkern u1="O" u2="&#x1e84;" k="20" /> - <hkern u1="O" u2="&#x1e82;" k="20" /> - <hkern u1="O" u2="&#x1e80;" k="20" /> - <hkern u1="O" u2="&#x1e00;" k="41" /> - <hkern u1="O" u2="&#x405;" k="20" /> - <hkern u1="O" u2="&#x21a;" k="61" /> - <hkern u1="O" u2="&#x1fa;" k="41" /> - <hkern u1="O" u2="&#x17d;" k="20" /> - <hkern u1="O" u2="&#x17b;" k="20" /> - <hkern u1="O" u2="&#x179;" k="20" /> - <hkern u1="O" u2="&#x178;" k="20" /> - <hkern u1="O" u2="&#x176;" k="20" /> - <hkern u1="O" u2="&#x174;" k="20" /> - <hkern u1="O" u2="&#x164;" k="61" /> - <hkern u1="O" u2="&#x162;" k="61" /> - <hkern u1="O" u2="&#x104;" k="41" /> - <hkern u1="O" u2="&#x102;" k="41" /> - <hkern u1="O" u2="&#x100;" k="41" /> - <hkern u1="O" u2="&#xdd;" k="20" /> - <hkern u1="O" u2="&#xc5;" k="41" /> - <hkern u1="O" u2="&#xc4;" k="41" /> - <hkern u1="O" u2="&#xc3;" k="41" /> - <hkern u1="O" u2="&#xc2;" k="41" /> - <hkern u1="O" u2="&#xc1;" k="41" /> - <hkern u1="O" u2="&#xc0;" k="41" /> - <hkern u1="O" u2="Z" k="20" /> - <hkern u1="O" u2="Y" k="20" /> - <hkern u1="O" u2="X" k="41" /> - <hkern u1="O" u2="W" k="20" /> - <hkern u1="O" u2="V" k="20" /> - <hkern u1="O" u2="T" k="61" /> - <hkern u1="O" u2="A" k="41" /> - <hkern u1="O" u2="&#x2e;" k="82" /> - <hkern u1="O" u2="&#x2c;" k="82" /> - <hkern u1="P" u2="&#x201e;" k="266" /> - <hkern u1="P" u2="&#x201a;" k="266" /> - <hkern u1="P" u2="&#x1eb6;" k="102" /> - <hkern u1="P" u2="&#x1eb4;" k="102" /> - <hkern u1="P" u2="&#x1eb2;" k="102" /> - <hkern u1="P" u2="&#x1eb0;" k="102" /> - <hkern u1="P" u2="&#x1eae;" k="102" /> - <hkern u1="P" u2="&#x1eac;" k="102" /> - <hkern u1="P" u2="&#x1eaa;" k="102" /> - <hkern u1="P" u2="&#x1ea8;" k="102" /> - <hkern u1="P" u2="&#x1ea6;" k="102" /> - <hkern u1="P" u2="&#x1ea4;" k="102" /> - <hkern u1="P" u2="&#x1ea2;" k="102" /> - <hkern u1="P" u2="&#x1ea0;" k="102" /> - <hkern u1="P" u2="&#x1e00;" k="102" /> - <hkern u1="P" u2="&#x1fa;" k="102" /> - <hkern u1="P" u2="&#x17d;" k="20" /> - <hkern u1="P" u2="&#x17b;" k="20" /> - <hkern u1="P" u2="&#x179;" k="20" /> - <hkern u1="P" u2="&#x104;" k="102" /> - <hkern u1="P" u2="&#x102;" k="102" /> - <hkern u1="P" u2="&#x100;" k="102" /> - <hkern u1="P" u2="&#xc5;" k="102" /> - <hkern u1="P" u2="&#xc4;" k="102" /> - <hkern u1="P" u2="&#xc3;" k="102" /> - <hkern u1="P" u2="&#xc2;" k="102" /> - <hkern u1="P" u2="&#xc1;" k="102" /> - <hkern u1="P" u2="&#xc0;" k="102" /> - <hkern u1="P" u2="Z" k="20" /> - <hkern u1="P" u2="X" k="41" /> - <hkern u1="P" u2="A" k="102" /> - <hkern u1="P" u2="&#x2e;" k="266" /> - <hkern u1="P" u2="&#x2c;" k="266" /> - <hkern u1="Q" u2="&#x201e;" k="82" /> - <hkern u1="Q" u2="&#x201a;" k="82" /> - <hkern u1="Q" u2="&#x1ef8;" k="20" /> - <hkern u1="Q" u2="&#x1ef6;" k="20" /> - <hkern u1="Q" u2="&#x1ef4;" k="20" /> - <hkern u1="Q" u2="&#x1ef2;" k="20" /> - <hkern u1="Q" u2="&#x1eb6;" k="41" /> - <hkern u1="Q" u2="&#x1eb4;" k="41" /> - <hkern u1="Q" u2="&#x1eb2;" k="41" /> - <hkern u1="Q" u2="&#x1eb0;" k="41" /> - <hkern u1="Q" u2="&#x1eae;" k="41" /> - <hkern u1="Q" u2="&#x1eac;" k="41" /> - <hkern u1="Q" u2="&#x1eaa;" k="41" /> - <hkern u1="Q" u2="&#x1ea8;" k="41" /> - <hkern u1="Q" u2="&#x1ea6;" k="41" /> - <hkern u1="Q" u2="&#x1ea4;" k="41" /> - <hkern u1="Q" u2="&#x1ea2;" k="41" /> - <hkern u1="Q" u2="&#x1ea0;" k="41" /> - <hkern u1="Q" u2="&#x1e84;" k="20" /> - <hkern u1="Q" u2="&#x1e82;" k="20" /> - <hkern u1="Q" u2="&#x1e80;" k="20" /> - <hkern u1="Q" u2="&#x1e00;" k="41" /> - <hkern u1="Q" u2="&#x405;" k="20" /> - <hkern u1="Q" u2="&#x21a;" k="61" /> - <hkern u1="Q" u2="&#x1fa;" k="41" /> - <hkern u1="Q" u2="&#x17d;" k="20" /> - <hkern u1="Q" u2="&#x17b;" k="20" /> - <hkern u1="Q" u2="&#x179;" k="20" /> - <hkern u1="Q" u2="&#x178;" k="20" /> - <hkern u1="Q" u2="&#x176;" k="20" /> - <hkern u1="Q" u2="&#x174;" k="20" /> - <hkern u1="Q" u2="&#x164;" k="61" /> - <hkern u1="Q" u2="&#x162;" k="61" /> - <hkern u1="Q" u2="&#x104;" k="41" /> - <hkern u1="Q" u2="&#x102;" k="41" /> - <hkern u1="Q" u2="&#x100;" k="41" /> - <hkern u1="Q" u2="&#xdd;" k="20" /> - <hkern u1="Q" u2="&#xc5;" k="41" /> - <hkern u1="Q" u2="&#xc4;" k="41" /> - <hkern u1="Q" u2="&#xc3;" k="41" /> - <hkern u1="Q" u2="&#xc2;" k="41" /> - <hkern u1="Q" u2="&#xc1;" k="41" /> - <hkern u1="Q" u2="&#xc0;" k="41" /> - <hkern u1="Q" u2="Z" k="20" /> - <hkern u1="Q" u2="Y" k="20" /> - <hkern u1="Q" u2="X" k="41" /> - <hkern u1="Q" u2="W" k="20" /> - <hkern u1="Q" u2="V" k="20" /> - <hkern u1="Q" u2="T" k="61" /> - <hkern u1="Q" u2="A" k="41" /> - <hkern u1="Q" u2="&#x2e;" k="82" /> - <hkern u1="Q" u2="&#x2c;" k="82" /> - <hkern u1="T" u2="&#x201e;" k="123" /> - <hkern u1="T" u2="&#x201a;" k="123" /> - <hkern u1="T" u2="&#x2015;" k="82" /> - <hkern u1="T" u2="&#x2014;" k="82" /> - <hkern u1="T" u2="&#x2013;" k="82" /> - <hkern u1="T" u2="&#x1ef5;" k="41" /> - <hkern u1="T" u2="&#x1ef1;" k="102" /> - <hkern u1="T" u2="&#x1eef;" k="102" /> - <hkern u1="T" u2="&#x1eed;" k="102" /> - <hkern u1="T" u2="&#x1eeb;" k="102" /> - <hkern u1="T" u2="&#x1ee9;" k="102" /> - <hkern u1="T" u2="&#x1ee7;" k="102" /> - <hkern u1="T" u2="&#x1ee5;" k="102" /> - <hkern u1="T" u2="&#x1ee3;" k="143" /> - <hkern u1="T" u2="&#x1ee2;" k="41" /> - <hkern u1="T" u2="&#x1ee1;" k="143" /> - <hkern u1="T" u2="&#x1ee0;" k="41" /> - <hkern u1="T" u2="&#x1edf;" k="143" /> - <hkern u1="T" u2="&#x1ede;" k="41" /> - <hkern u1="T" u2="&#x1edd;" k="143" /> - <hkern u1="T" u2="&#x1edc;" k="41" /> - <hkern u1="T" u2="&#x1edb;" k="143" /> - <hkern u1="T" u2="&#x1eda;" k="41" /> - <hkern u1="T" u2="&#x1ed9;" k="143" /> - <hkern u1="T" u2="&#x1ed8;" k="41" /> - <hkern u1="T" u2="&#x1ed7;" k="143" /> - <hkern u1="T" u2="&#x1ed6;" k="41" /> - <hkern u1="T" u2="&#x1ed5;" k="143" /> - <hkern u1="T" u2="&#x1ed4;" k="41" /> - <hkern u1="T" u2="&#x1ed2;" k="41" /> - <hkern u1="T" u2="&#x1ed1;" k="143" /> - <hkern u1="T" u2="&#x1ed0;" k="41" /> - <hkern u1="T" u2="&#x1ecf;" k="143" /> - <hkern u1="T" u2="&#x1ece;" k="41" /> - <hkern u1="T" u2="&#x1ecd;" k="143" /> - <hkern u1="T" u2="&#x1ecc;" k="41" /> - <hkern u1="T" u2="&#x1ec7;" k="143" /> - <hkern u1="T" u2="&#x1ec5;" k="143" /> - <hkern u1="T" u2="&#x1ec3;" k="143" /> - <hkern u1="T" u2="&#x1ebf;" k="143" /> - <hkern u1="T" u2="&#x1ebd;" k="143" /> - <hkern u1="T" u2="&#x1ebb;" k="143" /> - <hkern u1="T" u2="&#x1eb9;" k="143" /> - <hkern u1="T" u2="&#x1eb7;" k="164" /> - <hkern u1="T" u2="&#x1eb6;" k="143" /> - <hkern u1="T" u2="&#x1eb5;" k="164" /> - <hkern u1="T" u2="&#x1eb4;" k="143" /> - <hkern u1="T" u2="&#x1eb3;" k="164" /> - <hkern u1="T" u2="&#x1eb2;" k="143" /> - <hkern u1="T" u2="&#x1eb1;" k="164" /> - <hkern u1="T" u2="&#x1eb0;" k="143" /> - <hkern u1="T" u2="&#x1eaf;" k="164" /> - <hkern u1="T" u2="&#x1eae;" k="143" /> - <hkern u1="T" u2="&#x1ead;" k="164" /> - <hkern u1="T" u2="&#x1eac;" k="143" /> - <hkern u1="T" u2="&#x1eab;" k="164" /> - <hkern u1="T" u2="&#x1eaa;" k="143" /> - <hkern u1="T" u2="&#x1ea9;" k="164" /> - <hkern u1="T" u2="&#x1ea8;" k="143" /> - <hkern u1="T" u2="&#x1ea6;" k="143" /> - <hkern u1="T" u2="&#x1ea5;" k="164" /> - <hkern u1="T" u2="&#x1ea4;" k="143" /> - <hkern u1="T" u2="&#x1ea3;" k="164" /> - <hkern u1="T" u2="&#x1ea2;" k="143" /> - <hkern u1="T" u2="&#x1ea1;" k="164" /> - <hkern u1="T" u2="&#x1ea0;" k="143" /> - <hkern u1="T" u2="&#x1e83;" k="41" /> - <hkern u1="T" u2="&#x1e81;" k="41" /> - <hkern u1="T" u2="&#x1e3f;" k="102" /> - <hkern u1="T" u2="&#x1e01;" k="164" /> - <hkern u1="T" u2="&#x1e00;" k="143" /> - <hkern u1="T" u2="&#x21a;" k="-41" /> - <hkern u1="T" u2="&#x219;" k="123" /> - <hkern u1="T" u2="&#x1ff;" k="143" /> - <hkern u1="T" u2="&#x1fe;" k="41" /> - <hkern u1="T" u2="&#x1fd;" k="164" /> - <hkern u1="T" u2="&#x1fb;" k="164" /> - <hkern u1="T" u2="&#x1fa;" k="143" /> - <hkern u1="T" u2="&#x1b0;" k="102" /> - <hkern u1="T" u2="&#x1a1;" k="143" /> - <hkern u1="T" u2="&#x1a0;" k="41" /> - <hkern u1="T" u2="&#x17e;" k="82" /> - <hkern u1="T" u2="&#x17c;" k="82" /> - <hkern u1="T" u2="&#x17a;" k="82" /> - <hkern u1="T" u2="&#x175;" k="41" /> - <hkern u1="T" u2="&#x173;" k="102" /> - <hkern u1="T" u2="&#x171;" k="102" /> - <hkern u1="T" u2="&#x16f;" k="102" /> - <hkern u1="T" u2="&#x16d;" k="102" /> - <hkern u1="T" u2="&#x16b;" k="102" /> - <hkern u1="T" u2="&#x169;" k="102" /> - <hkern u1="T" u2="&#x164;" k="-41" /> - <hkern u1="T" u2="&#x162;" k="-41" /> - <hkern u1="T" u2="&#x15f;" k="123" /> - <hkern u1="T" u2="&#x15b;" k="123" /> - <hkern u1="T" u2="&#x157;" k="102" /> - <hkern u1="T" u2="&#x155;" k="102" /> - <hkern u1="T" u2="&#x153;" k="143" /> - <hkern u1="T" u2="&#x152;" k="41" /> - <hkern u1="T" u2="&#x151;" k="143" /> - <hkern u1="T" u2="&#x150;" k="41" /> - <hkern u1="T" u2="&#x14f;" k="143" /> - <hkern u1="T" u2="&#x14e;" k="41" /> - <hkern u1="T" u2="&#x14d;" k="143" /> - <hkern u1="T" u2="&#x14c;" k="41" /> - <hkern u1="T" u2="&#x14b;" k="102" /> - <hkern u1="T" u2="&#x146;" k="102" /> - <hkern u1="T" u2="&#x144;" k="102" /> - <hkern u1="T" u2="&#x138;" k="102" /> - <hkern u1="T" u2="&#x123;" k="143" /> - <hkern u1="T" u2="&#x122;" k="41" /> - <hkern u1="T" u2="&#x121;" k="143" /> - <hkern u1="T" u2="&#x120;" k="41" /> - <hkern u1="T" u2="&#x11f;" k="143" /> - <hkern u1="T" u2="&#x11e;" k="41" /> - <hkern u1="T" u2="&#x11d;" k="143" /> - <hkern u1="T" u2="&#x11c;" k="41" /> - <hkern u1="T" u2="&#x11b;" k="143" /> - <hkern u1="T" u2="&#x119;" k="143" /> - <hkern u1="T" u2="&#x117;" k="143" /> - <hkern u1="T" u2="&#x115;" k="143" /> - <hkern u1="T" u2="&#x113;" k="143" /> - <hkern u1="T" u2="&#x111;" k="143" /> - <hkern u1="T" u2="&#x10f;" k="143" /> - <hkern u1="T" u2="&#x10d;" k="143" /> - <hkern u1="T" u2="&#x10c;" k="41" /> - <hkern u1="T" u2="&#x10b;" k="143" /> - <hkern u1="T" u2="&#x10a;" k="41" /> - <hkern u1="T" u2="&#x109;" k="143" /> - <hkern u1="T" u2="&#x108;" k="41" /> - <hkern u1="T" u2="&#x107;" k="143" /> - <hkern u1="T" u2="&#x106;" k="41" /> - <hkern u1="T" u2="&#x105;" k="164" /> - <hkern u1="T" u2="&#x104;" k="143" /> - <hkern u1="T" u2="&#x103;" k="164" /> - <hkern u1="T" u2="&#x102;" k="143" /> - <hkern u1="T" u2="&#x101;" k="164" /> - <hkern u1="T" u2="&#x100;" k="143" /> - <hkern u1="T" u2="&#xfd;" k="41" /> - <hkern u1="T" u2="&#xfc;" k="102" /> - <hkern u1="T" u2="&#xfb;" k="102" /> - <hkern u1="T" u2="&#xfa;" k="102" /> - <hkern u1="T" u2="&#xf9;" k="102" /> - <hkern u1="T" u2="&#xf8;" k="143" /> - <hkern u1="T" u2="&#xf6;" k="143" /> - <hkern u1="T" u2="&#xf5;" k="143" /> - <hkern u1="T" u2="&#xf4;" k="143" /> - <hkern u1="T" u2="&#xf3;" k="143" /> - <hkern u1="T" u2="&#xf2;" k="143" /> - <hkern u1="T" u2="&#xeb;" k="143" /> - <hkern u1="T" u2="&#xea;" k="143" /> - <hkern u1="T" u2="&#xe9;" k="143" /> - <hkern u1="T" u2="&#xe8;" k="143" /> - <hkern u1="T" u2="&#xe7;" k="143" /> - <hkern u1="T" u2="&#xe6;" k="164" /> - <hkern u1="T" u2="&#xe5;" k="164" /> - <hkern u1="T" u2="&#xe4;" k="164" /> - <hkern u1="T" u2="&#xe3;" k="164" /> - <hkern u1="T" u2="&#xe2;" k="164" /> - <hkern u1="T" u2="&#xe1;" k="164" /> - <hkern u1="T" u2="&#xe0;" k="143" /> - <hkern u1="T" u2="&#xd8;" k="41" /> - <hkern u1="T" u2="&#xd6;" k="41" /> - <hkern u1="T" u2="&#xd5;" k="41" /> - <hkern u1="T" u2="&#xd4;" k="41" /> - <hkern u1="T" u2="&#xd3;" k="41" /> - <hkern u1="T" u2="&#xd2;" k="41" /> - <hkern u1="T" u2="&#xc7;" k="41" /> - <hkern u1="T" u2="&#xc5;" k="143" /> - <hkern u1="T" u2="&#xc4;" k="143" /> - <hkern u1="T" u2="&#xc3;" k="143" /> - <hkern u1="T" u2="&#xc2;" k="143" /> - <hkern u1="T" u2="&#xc1;" k="143" /> - <hkern u1="T" u2="&#xc0;" k="143" /> - <hkern u1="T" u2="z" k="82" /> - <hkern u1="T" u2="y" k="41" /> - <hkern u1="T" u2="x" k="41" /> - <hkern u1="T" u2="w" k="41" /> - <hkern u1="T" u2="v" k="41" /> - <hkern u1="T" u2="u" k="102" /> - <hkern u1="T" u2="s" k="123" /> - <hkern u1="T" u2="r" k="102" /> - <hkern u1="T" u2="q" k="143" /> - <hkern u1="T" u2="p" k="102" /> - <hkern u1="T" u2="o" k="143" /> - <hkern u1="T" u2="n" k="102" /> - <hkern u1="T" u2="m" k="102" /> - <hkern u1="T" u2="g" k="143" /> - <hkern u1="T" u2="e" k="143" /> - <hkern u1="T" u2="d" k="143" /> - <hkern u1="T" u2="c" k="143" /> - <hkern u1="T" u2="a" k="164" /> - <hkern u1="T" u2="T" k="-41" /> - <hkern u1="T" u2="Q" k="41" /> - <hkern u1="T" u2="O" k="41" /> - <hkern u1="T" u2="G" k="41" /> - <hkern u1="T" u2="C" k="41" /> - <hkern u1="T" u2="A" k="143" /> - <hkern u1="T" u2="&#x3f;" k="-41" /> - <hkern u1="T" u2="&#x2e;" k="123" /> - <hkern u1="T" u2="&#x2d;" k="82" /> - <hkern u1="T" u2="&#x2c;" k="123" /> - <hkern u1="U" u2="&#x201e;" k="41" /> - <hkern u1="U" u2="&#x201a;" k="41" /> - <hkern u1="U" u2="&#x1eb6;" k="20" /> - <hkern u1="U" u2="&#x1eb4;" k="20" /> - <hkern u1="U" u2="&#x1eb2;" k="20" /> - <hkern u1="U" u2="&#x1eb0;" k="20" /> - <hkern u1="U" u2="&#x1eae;" k="20" /> - <hkern u1="U" u2="&#x1eac;" k="20" /> - <hkern u1="U" u2="&#x1eaa;" k="20" /> - <hkern u1="U" u2="&#x1ea8;" k="20" /> - <hkern u1="U" u2="&#x1ea6;" k="20" /> - <hkern u1="U" u2="&#x1ea4;" k="20" /> - <hkern u1="U" u2="&#x1ea2;" k="20" /> - <hkern u1="U" u2="&#x1ea0;" k="20" /> - <hkern u1="U" u2="&#x1e00;" k="20" /> - <hkern u1="U" u2="&#x1fa;" k="20" /> - <hkern u1="U" u2="&#x104;" k="20" /> - <hkern u1="U" u2="&#x102;" k="20" /> - <hkern u1="U" u2="&#x100;" k="20" /> - <hkern u1="U" u2="&#xc5;" k="20" /> - <hkern u1="U" u2="&#xc4;" k="20" /> - <hkern u1="U" u2="&#xc3;" k="20" /> - <hkern u1="U" u2="&#xc2;" k="20" /> - <hkern u1="U" u2="&#xc1;" k="20" /> - <hkern u1="U" u2="&#xc0;" k="20" /> - <hkern u1="U" u2="A" k="20" /> - <hkern u1="U" u2="&#x2e;" k="41" /> - <hkern u1="U" u2="&#x2c;" k="41" /> - <hkern u1="V" u2="&#x201e;" k="102" /> - <hkern u1="V" u2="&#x201a;" k="102" /> - <hkern u1="V" u2="&#x1ef1;" k="20" /> - <hkern u1="V" u2="&#x1eef;" k="20" /> - <hkern u1="V" u2="&#x1eed;" k="20" /> - <hkern u1="V" u2="&#x1eeb;" k="20" /> - <hkern u1="V" u2="&#x1ee9;" k="20" /> - <hkern u1="V" u2="&#x1ee7;" k="20" /> - <hkern u1="V" u2="&#x1ee5;" k="20" /> - <hkern u1="V" u2="&#x1ee3;" k="41" /> - <hkern u1="V" u2="&#x1ee2;" k="20" /> - <hkern u1="V" u2="&#x1ee1;" k="41" /> - <hkern u1="V" u2="&#x1ee0;" k="20" /> - <hkern u1="V" u2="&#x1edf;" k="41" /> - <hkern u1="V" u2="&#x1ede;" k="20" /> - <hkern u1="V" u2="&#x1edd;" k="41" /> - <hkern u1="V" u2="&#x1edc;" k="20" /> - <hkern u1="V" u2="&#x1edb;" k="41" /> - <hkern u1="V" u2="&#x1eda;" k="20" /> - <hkern u1="V" u2="&#x1ed9;" k="41" /> - <hkern u1="V" u2="&#x1ed8;" k="20" /> - <hkern u1="V" u2="&#x1ed7;" k="41" /> - <hkern u1="V" u2="&#x1ed6;" k="20" /> - <hkern u1="V" u2="&#x1ed5;" k="41" /> - <hkern u1="V" u2="&#x1ed4;" k="20" /> - <hkern u1="V" u2="&#x1ed2;" k="20" /> - <hkern u1="V" u2="&#x1ed1;" k="41" /> - <hkern u1="V" u2="&#x1ed0;" k="20" /> - <hkern u1="V" u2="&#x1ecf;" k="41" /> - <hkern u1="V" u2="&#x1ece;" k="20" /> - <hkern u1="V" u2="&#x1ecd;" k="41" /> - <hkern u1="V" u2="&#x1ecc;" k="20" /> - <hkern u1="V" u2="&#x1ec7;" k="41" /> - <hkern u1="V" u2="&#x1ec5;" k="41" /> - <hkern u1="V" u2="&#x1ec3;" k="41" /> - <hkern u1="V" u2="&#x1ebf;" k="41" /> - <hkern u1="V" u2="&#x1ebd;" k="41" /> - <hkern u1="V" u2="&#x1ebb;" k="41" /> - <hkern u1="V" u2="&#x1eb9;" k="41" /> - <hkern u1="V" u2="&#x1eb7;" k="41" /> - <hkern u1="V" u2="&#x1eb6;" k="82" /> - <hkern u1="V" u2="&#x1eb5;" k="41" /> - <hkern u1="V" u2="&#x1eb4;" k="82" /> - <hkern u1="V" u2="&#x1eb3;" k="41" /> - <hkern u1="V" u2="&#x1eb2;" k="82" /> - <hkern u1="V" u2="&#x1eb1;" k="41" /> - <hkern u1="V" u2="&#x1eb0;" k="82" /> - <hkern u1="V" u2="&#x1eaf;" k="41" /> - <hkern u1="V" u2="&#x1eae;" k="82" /> - <hkern u1="V" u2="&#x1ead;" k="41" /> - <hkern u1="V" u2="&#x1eac;" k="82" /> - <hkern u1="V" u2="&#x1eab;" k="41" /> - <hkern u1="V" u2="&#x1eaa;" k="82" /> - <hkern u1="V" u2="&#x1ea9;" k="41" /> - <hkern u1="V" u2="&#x1ea8;" k="82" /> - <hkern u1="V" u2="&#x1ea6;" k="82" /> - <hkern u1="V" u2="&#x1ea5;" k="41" /> - <hkern u1="V" u2="&#x1ea4;" k="82" /> - <hkern u1="V" u2="&#x1ea3;" k="41" /> - <hkern u1="V" u2="&#x1ea2;" k="82" /> - <hkern u1="V" u2="&#x1ea1;" k="41" /> - <hkern u1="V" u2="&#x1ea0;" k="82" /> - <hkern u1="V" u2="&#x1e3f;" k="20" /> - <hkern u1="V" u2="&#x1e01;" k="41" /> - <hkern u1="V" u2="&#x1e00;" k="82" /> - <hkern u1="V" u2="&#x219;" k="20" /> - <hkern u1="V" u2="&#x1ff;" k="41" /> - <hkern u1="V" u2="&#x1fe;" k="20" /> - <hkern u1="V" u2="&#x1fd;" k="41" /> - <hkern u1="V" u2="&#x1fb;" k="41" /> - <hkern u1="V" u2="&#x1fa;" k="82" /> - <hkern u1="V" u2="&#x1b0;" k="20" /> - <hkern u1="V" u2="&#x1a1;" k="41" /> - <hkern u1="V" u2="&#x1a0;" k="20" /> - <hkern u1="V" u2="&#x173;" k="20" /> - <hkern u1="V" u2="&#x171;" k="20" /> - <hkern u1="V" u2="&#x16f;" k="20" /> - <hkern u1="V" u2="&#x16d;" k="20" /> - <hkern u1="V" u2="&#x16b;" k="20" /> - <hkern u1="V" u2="&#x169;" k="20" /> - <hkern u1="V" u2="&#x15f;" k="20" /> - <hkern u1="V" u2="&#x15b;" k="20" /> - <hkern u1="V" u2="&#x157;" k="20" /> - <hkern u1="V" u2="&#x155;" k="20" /> - <hkern u1="V" u2="&#x153;" k="41" /> - <hkern u1="V" u2="&#x152;" k="20" /> - <hkern u1="V" u2="&#x151;" k="41" /> - <hkern u1="V" u2="&#x150;" k="20" /> - <hkern u1="V" u2="&#x14f;" k="41" /> - <hkern u1="V" u2="&#x14e;" k="20" /> - <hkern u1="V" u2="&#x14d;" k="41" /> - <hkern u1="V" u2="&#x14c;" k="20" /> - <hkern u1="V" u2="&#x14b;" k="20" /> - <hkern u1="V" u2="&#x146;" k="20" /> - <hkern u1="V" u2="&#x144;" k="20" /> - <hkern u1="V" u2="&#x138;" k="20" /> - <hkern u1="V" u2="&#x123;" k="20" /> - <hkern u1="V" u2="&#x122;" k="20" /> - <hkern u1="V" u2="&#x121;" k="20" /> - <hkern u1="V" u2="&#x120;" k="20" /> - <hkern u1="V" u2="&#x11f;" k="20" /> - <hkern u1="V" u2="&#x11e;" k="20" /> - <hkern u1="V" u2="&#x11d;" k="20" /> - <hkern u1="V" u2="&#x11c;" k="20" /> - <hkern u1="V" u2="&#x11b;" k="41" /> - <hkern u1="V" u2="&#x119;" k="41" /> - <hkern u1="V" u2="&#x117;" k="41" /> - <hkern u1="V" u2="&#x115;" k="41" /> - <hkern u1="V" u2="&#x113;" k="41" /> - <hkern u1="V" u2="&#x111;" k="41" /> - <hkern u1="V" u2="&#x10f;" k="41" /> - <hkern u1="V" u2="&#x10d;" k="41" /> - <hkern u1="V" u2="&#x10c;" k="20" /> - <hkern u1="V" u2="&#x10b;" k="41" /> - <hkern u1="V" u2="&#x10a;" k="20" /> - <hkern u1="V" u2="&#x109;" k="41" /> - <hkern u1="V" u2="&#x108;" k="20" /> - <hkern u1="V" u2="&#x107;" k="41" /> - <hkern u1="V" u2="&#x106;" k="20" /> - <hkern u1="V" u2="&#x105;" k="41" /> - <hkern u1="V" u2="&#x104;" k="82" /> - <hkern u1="V" u2="&#x103;" k="41" /> - <hkern u1="V" u2="&#x102;" k="82" /> - <hkern u1="V" u2="&#x101;" k="41" /> - <hkern u1="V" u2="&#x100;" k="82" /> - <hkern u1="V" u2="&#xfc;" k="20" /> - <hkern u1="V" u2="&#xfb;" k="20" /> - <hkern u1="V" u2="&#xfa;" k="20" /> - <hkern u1="V" u2="&#xf9;" k="20" /> - <hkern u1="V" u2="&#xf8;" k="41" /> - <hkern u1="V" u2="&#xf6;" k="41" /> - <hkern u1="V" u2="&#xf5;" k="41" /> - <hkern u1="V" u2="&#xf4;" k="41" /> - <hkern u1="V" u2="&#xf3;" k="41" /> - <hkern u1="V" u2="&#xf2;" k="41" /> - <hkern u1="V" u2="&#xeb;" k="41" /> - <hkern u1="V" u2="&#xea;" k="41" /> - <hkern u1="V" u2="&#xe9;" k="41" /> - <hkern u1="V" u2="&#xe8;" k="41" /> - <hkern u1="V" u2="&#xe7;" k="41" /> - <hkern u1="V" u2="&#xe6;" k="41" /> - <hkern u1="V" u2="&#xe5;" k="41" /> - <hkern u1="V" u2="&#xe4;" k="41" /> - <hkern u1="V" u2="&#xe3;" k="41" /> - <hkern u1="V" u2="&#xe2;" k="41" /> - <hkern u1="V" u2="&#xe1;" k="41" /> - <hkern u1="V" u2="&#xe0;" k="41" /> - <hkern u1="V" u2="&#xd8;" k="20" /> - <hkern u1="V" u2="&#xd6;" k="20" /> - <hkern u1="V" u2="&#xd5;" k="20" /> - <hkern u1="V" u2="&#xd4;" k="20" /> - <hkern u1="V" u2="&#xd3;" k="20" /> - <hkern u1="V" u2="&#xd2;" k="20" /> - <hkern u1="V" u2="&#xc7;" k="20" /> - <hkern u1="V" u2="&#xc5;" k="82" /> - <hkern u1="V" u2="&#xc4;" k="82" /> - <hkern u1="V" u2="&#xc3;" k="82" /> - <hkern u1="V" u2="&#xc2;" k="82" /> - <hkern u1="V" u2="&#xc1;" k="82" /> - <hkern u1="V" u2="&#xc0;" k="82" /> - <hkern u1="V" u2="u" k="20" /> - <hkern u1="V" u2="s" k="20" /> - <hkern u1="V" u2="r" k="20" /> - <hkern u1="V" u2="q" k="41" /> - <hkern u1="V" u2="p" k="20" /> - <hkern u1="V" u2="o" k="41" /> - <hkern u1="V" u2="n" k="20" /> - <hkern u1="V" u2="m" k="20" /> - <hkern u1="V" u2="g" k="20" /> - <hkern u1="V" u2="e" k="41" /> - <hkern u1="V" u2="d" k="41" /> - <hkern u1="V" u2="c" k="41" /> - <hkern u1="V" u2="a" k="41" /> - <hkern u1="V" u2="Q" k="20" /> - <hkern u1="V" u2="O" k="20" /> - <hkern u1="V" u2="G" k="20" /> - <hkern u1="V" u2="C" k="20" /> - <hkern u1="V" u2="A" k="82" /> - <hkern u1="V" u2="&#x3f;" k="-41" /> - <hkern u1="V" u2="&#x2e;" k="102" /> - <hkern u1="V" u2="&#x2c;" k="102" /> - <hkern u1="W" u2="&#x201e;" k="102" /> - <hkern u1="W" u2="&#x201a;" k="102" /> - <hkern u1="W" u2="&#x1ef1;" k="20" /> - <hkern u1="W" u2="&#x1eef;" k="20" /> - <hkern u1="W" u2="&#x1eed;" k="20" /> - <hkern u1="W" u2="&#x1eeb;" k="20" /> - <hkern u1="W" u2="&#x1ee9;" k="20" /> - <hkern u1="W" u2="&#x1ee7;" k="20" /> - <hkern u1="W" u2="&#x1ee5;" k="20" /> - <hkern u1="W" u2="&#x1ee3;" k="41" /> - <hkern u1="W" u2="&#x1ee2;" k="20" /> - <hkern u1="W" u2="&#x1ee1;" k="41" /> - <hkern u1="W" u2="&#x1ee0;" k="20" /> - <hkern u1="W" u2="&#x1edf;" k="41" /> - <hkern u1="W" u2="&#x1ede;" k="20" /> - <hkern u1="W" u2="&#x1edd;" k="41" /> - <hkern u1="W" u2="&#x1edc;" k="20" /> - <hkern u1="W" u2="&#x1edb;" k="41" /> - <hkern u1="W" u2="&#x1eda;" k="20" /> - <hkern u1="W" u2="&#x1ed9;" k="41" /> - <hkern u1="W" u2="&#x1ed8;" k="20" /> - <hkern u1="W" u2="&#x1ed7;" k="41" /> - <hkern u1="W" u2="&#x1ed6;" k="20" /> - <hkern u1="W" u2="&#x1ed5;" k="41" /> - <hkern u1="W" u2="&#x1ed4;" k="20" /> - <hkern u1="W" u2="&#x1ed2;" k="20" /> - <hkern u1="W" u2="&#x1ed1;" k="41" /> - <hkern u1="W" u2="&#x1ed0;" k="20" /> - <hkern u1="W" u2="&#x1ecf;" k="41" /> - <hkern u1="W" u2="&#x1ece;" k="20" /> - <hkern u1="W" u2="&#x1ecd;" k="41" /> - <hkern u1="W" u2="&#x1ecc;" k="20" /> - <hkern u1="W" u2="&#x1ec7;" k="41" /> - <hkern u1="W" u2="&#x1ec5;" k="41" /> - <hkern u1="W" u2="&#x1ec3;" k="41" /> - <hkern u1="W" u2="&#x1ebf;" k="41" /> - <hkern u1="W" u2="&#x1ebd;" k="41" /> - <hkern u1="W" u2="&#x1ebb;" k="41" /> - <hkern u1="W" u2="&#x1eb9;" k="41" /> - <hkern u1="W" u2="&#x1eb7;" k="41" /> - <hkern u1="W" u2="&#x1eb6;" k="82" /> - <hkern u1="W" u2="&#x1eb5;" k="41" /> - <hkern u1="W" u2="&#x1eb4;" k="82" /> - <hkern u1="W" u2="&#x1eb3;" k="41" /> - <hkern u1="W" u2="&#x1eb2;" k="82" /> - <hkern u1="W" u2="&#x1eb1;" k="41" /> - <hkern u1="W" u2="&#x1eb0;" k="82" /> - <hkern u1="W" u2="&#x1eaf;" k="41" /> - <hkern u1="W" u2="&#x1eae;" k="82" /> - <hkern u1="W" u2="&#x1ead;" k="41" /> - <hkern u1="W" u2="&#x1eac;" k="82" /> - <hkern u1="W" u2="&#x1eab;" k="41" /> - <hkern u1="W" u2="&#x1eaa;" k="82" /> - <hkern u1="W" u2="&#x1ea9;" k="41" /> - <hkern u1="W" u2="&#x1ea8;" k="82" /> - <hkern u1="W" u2="&#x1ea6;" k="82" /> - <hkern u1="W" u2="&#x1ea5;" k="41" /> - <hkern u1="W" u2="&#x1ea4;" k="82" /> - <hkern u1="W" u2="&#x1ea3;" k="41" /> - <hkern u1="W" u2="&#x1ea2;" k="82" /> - <hkern u1="W" u2="&#x1ea1;" k="41" /> - <hkern u1="W" u2="&#x1ea0;" k="82" /> - <hkern u1="W" u2="&#x1e3f;" k="20" /> - <hkern u1="W" u2="&#x1e01;" k="41" /> - <hkern u1="W" u2="&#x1e00;" k="82" /> - <hkern u1="W" u2="&#x219;" k="20" /> - <hkern u1="W" u2="&#x1ff;" k="41" /> - <hkern u1="W" u2="&#x1fe;" k="20" /> - <hkern u1="W" u2="&#x1fd;" k="41" /> - <hkern u1="W" u2="&#x1fb;" k="41" /> - <hkern u1="W" u2="&#x1fa;" k="82" /> - <hkern u1="W" u2="&#x1b0;" k="20" /> - <hkern u1="W" u2="&#x1a1;" k="41" /> - <hkern u1="W" u2="&#x1a0;" k="20" /> - <hkern u1="W" u2="&#x173;" k="20" /> - <hkern u1="W" u2="&#x171;" k="20" /> - <hkern u1="W" u2="&#x16f;" k="20" /> - <hkern u1="W" u2="&#x16d;" k="20" /> - <hkern u1="W" u2="&#x16b;" k="20" /> - <hkern u1="W" u2="&#x169;" k="20" /> - <hkern u1="W" u2="&#x15f;" k="20" /> - <hkern u1="W" u2="&#x15b;" k="20" /> - <hkern u1="W" u2="&#x157;" k="20" /> - <hkern u1="W" u2="&#x155;" k="20" /> - <hkern u1="W" u2="&#x153;" k="41" /> - <hkern u1="W" u2="&#x152;" k="20" /> - <hkern u1="W" u2="&#x151;" k="41" /> - <hkern u1="W" u2="&#x150;" k="20" /> - <hkern u1="W" u2="&#x14f;" k="41" /> - <hkern u1="W" u2="&#x14e;" k="20" /> - <hkern u1="W" u2="&#x14d;" k="41" /> - <hkern u1="W" u2="&#x14c;" k="20" /> - <hkern u1="W" u2="&#x14b;" k="20" /> - <hkern u1="W" u2="&#x146;" k="20" /> - <hkern u1="W" u2="&#x144;" k="20" /> - <hkern u1="W" u2="&#x138;" k="20" /> - <hkern u1="W" u2="&#x123;" k="20" /> - <hkern u1="W" u2="&#x122;" k="20" /> - <hkern u1="W" u2="&#x121;" k="20" /> - <hkern u1="W" u2="&#x120;" k="20" /> - <hkern u1="W" u2="&#x11f;" k="20" /> - <hkern u1="W" u2="&#x11e;" k="20" /> - <hkern u1="W" u2="&#x11d;" k="20" /> - <hkern u1="W" u2="&#x11c;" k="20" /> - <hkern u1="W" u2="&#x11b;" k="41" /> - <hkern u1="W" u2="&#x119;" k="41" /> - <hkern u1="W" u2="&#x117;" k="41" /> - <hkern u1="W" u2="&#x115;" k="41" /> - <hkern u1="W" u2="&#x113;" k="41" /> - <hkern u1="W" u2="&#x111;" k="41" /> - <hkern u1="W" u2="&#x10f;" k="41" /> - <hkern u1="W" u2="&#x10d;" k="41" /> - <hkern u1="W" u2="&#x10c;" k="20" /> - <hkern u1="W" u2="&#x10b;" k="41" /> - <hkern u1="W" u2="&#x10a;" k="20" /> - <hkern u1="W" u2="&#x109;" k="41" /> - <hkern u1="W" u2="&#x108;" k="20" /> - <hkern u1="W" u2="&#x107;" k="41" /> - <hkern u1="W" u2="&#x106;" k="20" /> - <hkern u1="W" u2="&#x105;" k="41" /> - <hkern u1="W" u2="&#x104;" k="82" /> - <hkern u1="W" u2="&#x103;" k="41" /> - <hkern u1="W" u2="&#x102;" k="82" /> - <hkern u1="W" u2="&#x101;" k="41" /> - <hkern u1="W" u2="&#x100;" k="82" /> - <hkern u1="W" u2="&#xfc;" k="20" /> - <hkern u1="W" u2="&#xfb;" k="20" /> - <hkern u1="W" u2="&#xfa;" k="20" /> - <hkern u1="W" u2="&#xf9;" k="20" /> - <hkern u1="W" u2="&#xf8;" k="41" /> - <hkern u1="W" u2="&#xf6;" k="41" /> - <hkern u1="W" u2="&#xf5;" k="41" /> - <hkern u1="W" u2="&#xf4;" k="41" /> - <hkern u1="W" u2="&#xf3;" k="41" /> - <hkern u1="W" u2="&#xf2;" k="41" /> - <hkern u1="W" u2="&#xeb;" k="41" /> - <hkern u1="W" u2="&#xea;" k="41" /> - <hkern u1="W" u2="&#xe9;" k="41" /> - <hkern u1="W" u2="&#xe8;" k="41" /> - <hkern u1="W" u2="&#xe7;" k="41" /> - <hkern u1="W" u2="&#xe6;" k="41" /> - <hkern u1="W" u2="&#xe5;" k="41" /> - <hkern u1="W" u2="&#xe4;" k="41" /> - <hkern u1="W" u2="&#xe3;" k="41" /> - <hkern u1="W" u2="&#xe2;" k="41" /> - <hkern u1="W" u2="&#xe1;" k="41" /> - <hkern u1="W" u2="&#xe0;" k="41" /> - <hkern u1="W" u2="&#xd8;" k="20" /> - <hkern u1="W" u2="&#xd6;" k="20" /> - <hkern u1="W" u2="&#xd5;" k="20" /> - <hkern u1="W" u2="&#xd4;" k="20" /> - <hkern u1="W" u2="&#xd3;" k="20" /> - <hkern u1="W" u2="&#xd2;" k="20" /> - <hkern u1="W" u2="&#xc7;" k="20" /> - <hkern u1="W" u2="&#xc5;" k="82" /> - <hkern u1="W" u2="&#xc4;" k="82" /> - <hkern u1="W" u2="&#xc3;" k="82" /> - <hkern u1="W" u2="&#xc2;" k="82" /> - <hkern u1="W" u2="&#xc1;" k="82" /> - <hkern u1="W" u2="&#xc0;" k="82" /> - <hkern u1="W" u2="u" k="20" /> - <hkern u1="W" u2="s" k="20" /> - <hkern u1="W" u2="r" k="20" /> - <hkern u1="W" u2="q" k="41" /> - <hkern u1="W" u2="p" k="20" /> - <hkern u1="W" u2="o" k="41" /> - <hkern u1="W" u2="n" k="20" /> - <hkern u1="W" u2="m" k="20" /> - <hkern u1="W" u2="g" k="20" /> - <hkern u1="W" u2="e" k="41" /> - <hkern u1="W" u2="d" k="41" /> - <hkern u1="W" u2="c" k="41" /> - <hkern u1="W" u2="a" k="41" /> - <hkern u1="W" u2="Q" k="20" /> - <hkern u1="W" u2="O" k="20" /> - <hkern u1="W" u2="G" k="20" /> - <hkern u1="W" u2="C" k="20" /> - <hkern u1="W" u2="A" k="82" /> - <hkern u1="W" u2="&#x3f;" k="-41" /> - <hkern u1="W" u2="&#x2e;" k="102" /> - <hkern u1="W" u2="&#x2c;" k="102" /> - <hkern u1="X" u2="&#x1ee2;" k="41" /> - <hkern u1="X" u2="&#x1ee0;" k="41" /> - <hkern u1="X" u2="&#x1ede;" k="41" /> - <hkern u1="X" u2="&#x1edc;" k="41" /> - <hkern u1="X" u2="&#x1eda;" k="41" /> - <hkern u1="X" u2="&#x1ed8;" k="41" /> - <hkern u1="X" u2="&#x1ed6;" k="41" /> - <hkern u1="X" u2="&#x1ed4;" k="41" /> - <hkern u1="X" u2="&#x1ed2;" k="41" /> - <hkern u1="X" u2="&#x1ed0;" k="41" /> - <hkern u1="X" u2="&#x1ece;" k="41" /> - <hkern u1="X" u2="&#x1ecc;" k="41" /> - <hkern u1="X" u2="&#x1fe;" k="41" /> - <hkern u1="X" u2="&#x1a0;" k="41" /> - <hkern u1="X" u2="&#x152;" k="41" /> - <hkern u1="X" u2="&#x150;" k="41" /> - <hkern u1="X" u2="&#x14e;" k="41" /> - <hkern u1="X" u2="&#x14c;" k="41" /> - <hkern u1="X" u2="&#x122;" k="41" /> - <hkern u1="X" u2="&#x120;" k="41" /> - <hkern u1="X" u2="&#x11e;" k="41" /> - <hkern u1="X" u2="&#x11c;" k="41" /> - <hkern u1="X" u2="&#x10c;" k="41" /> - <hkern u1="X" u2="&#x10a;" k="41" /> - <hkern u1="X" u2="&#x108;" k="41" /> - <hkern u1="X" u2="&#x106;" k="41" /> - <hkern u1="X" u2="&#xd8;" k="41" /> - <hkern u1="X" u2="&#xd6;" k="41" /> - <hkern u1="X" u2="&#xd5;" k="41" /> - <hkern u1="X" u2="&#xd4;" k="41" /> - <hkern u1="X" u2="&#xd3;" k="41" /> - <hkern u1="X" u2="&#xd2;" k="41" /> - <hkern u1="X" u2="&#xc7;" k="41" /> - <hkern u1="X" u2="Q" k="41" /> - <hkern u1="X" u2="O" k="41" /> - <hkern u1="X" u2="G" k="41" /> - <hkern u1="X" u2="C" k="41" /> - <hkern u1="Y" u2="&#x201e;" k="123" /> - <hkern u1="Y" u2="&#x201a;" k="123" /> - <hkern u1="Y" u2="&#x1ef1;" k="61" /> - <hkern u1="Y" u2="&#x1eef;" k="61" /> - <hkern u1="Y" u2="&#x1eed;" k="61" /> - <hkern u1="Y" u2="&#x1eeb;" k="61" /> - <hkern u1="Y" u2="&#x1ee9;" k="61" /> - <hkern u1="Y" u2="&#x1ee7;" k="61" /> - <hkern u1="Y" u2="&#x1ee5;" k="61" /> - <hkern u1="Y" u2="&#x1ee3;" k="102" /> - <hkern u1="Y" u2="&#x1ee2;" k="41" /> - <hkern u1="Y" u2="&#x1ee1;" k="102" /> - <hkern u1="Y" u2="&#x1ee0;" k="41" /> - <hkern u1="Y" u2="&#x1edf;" k="102" /> - <hkern u1="Y" u2="&#x1ede;" k="41" /> - <hkern u1="Y" u2="&#x1edd;" k="102" /> - <hkern u1="Y" u2="&#x1edc;" k="41" /> - <hkern u1="Y" u2="&#x1edb;" k="102" /> - <hkern u1="Y" u2="&#x1eda;" k="41" /> - <hkern u1="Y" u2="&#x1ed9;" k="102" /> - <hkern u1="Y" u2="&#x1ed8;" k="41" /> - <hkern u1="Y" u2="&#x1ed7;" k="102" /> - <hkern u1="Y" u2="&#x1ed6;" k="41" /> - <hkern u1="Y" u2="&#x1ed5;" k="102" /> - <hkern u1="Y" u2="&#x1ed4;" k="41" /> - <hkern u1="Y" u2="&#x1ed2;" k="41" /> - <hkern u1="Y" u2="&#x1ed1;" k="102" /> - <hkern u1="Y" u2="&#x1ed0;" k="41" /> - <hkern u1="Y" u2="&#x1ecf;" k="102" /> - <hkern u1="Y" u2="&#x1ece;" k="41" /> - <hkern u1="Y" u2="&#x1ecd;" k="102" /> - <hkern u1="Y" u2="&#x1ecc;" k="41" /> - <hkern u1="Y" u2="&#x1ec7;" k="102" /> - <hkern u1="Y" u2="&#x1ec5;" k="102" /> - <hkern u1="Y" u2="&#x1ec3;" k="102" /> - <hkern u1="Y" u2="&#x1ebf;" k="102" /> - <hkern u1="Y" u2="&#x1ebd;" k="102" /> - <hkern u1="Y" u2="&#x1ebb;" k="102" /> - <hkern u1="Y" u2="&#x1eb9;" k="102" /> - <hkern u1="Y" u2="&#x1eb7;" k="102" /> - <hkern u1="Y" u2="&#x1eb6;" k="123" /> - <hkern u1="Y" u2="&#x1eb5;" k="102" /> - <hkern u1="Y" u2="&#x1eb4;" k="123" /> - <hkern u1="Y" u2="&#x1eb3;" k="102" /> - <hkern u1="Y" u2="&#x1eb2;" k="123" /> - <hkern u1="Y" u2="&#x1eb1;" k="102" /> - <hkern u1="Y" u2="&#x1eb0;" k="123" /> - <hkern u1="Y" u2="&#x1eaf;" k="102" /> - <hkern u1="Y" u2="&#x1eae;" k="123" /> - <hkern u1="Y" u2="&#x1ead;" k="102" /> - <hkern u1="Y" u2="&#x1eac;" k="123" /> - <hkern u1="Y" u2="&#x1eab;" k="102" /> - <hkern u1="Y" u2="&#x1eaa;" k="123" /> - <hkern u1="Y" u2="&#x1ea9;" k="102" /> - <hkern u1="Y" u2="&#x1ea8;" k="123" /> - <hkern u1="Y" u2="&#x1ea6;" k="123" /> - <hkern u1="Y" u2="&#x1ea5;" k="102" /> - <hkern u1="Y" u2="&#x1ea4;" k="123" /> - <hkern u1="Y" u2="&#x1ea3;" k="102" /> - <hkern u1="Y" u2="&#x1ea2;" k="123" /> - <hkern u1="Y" u2="&#x1ea1;" k="102" /> - <hkern u1="Y" u2="&#x1ea0;" k="123" /> - <hkern u1="Y" u2="&#x1e3f;" k="61" /> - <hkern u1="Y" u2="&#x1e01;" k="102" /> - <hkern u1="Y" u2="&#x1e00;" k="123" /> - <hkern u1="Y" u2="&#x219;" k="82" /> - <hkern u1="Y" u2="&#x1ff;" k="102" /> - <hkern u1="Y" u2="&#x1fe;" k="41" /> - <hkern u1="Y" u2="&#x1fd;" k="102" /> - <hkern u1="Y" u2="&#x1fb;" k="102" /> - <hkern u1="Y" u2="&#x1fa;" k="123" /> - <hkern u1="Y" u2="&#x1b0;" k="61" /> - <hkern u1="Y" u2="&#x1a1;" k="102" /> - <hkern u1="Y" u2="&#x1a0;" k="41" /> - <hkern u1="Y" u2="&#x17e;" k="41" /> - <hkern u1="Y" u2="&#x17c;" k="41" /> - <hkern u1="Y" u2="&#x17a;" k="41" /> - <hkern u1="Y" u2="&#x173;" k="61" /> - <hkern u1="Y" u2="&#x171;" k="61" /> - <hkern u1="Y" u2="&#x16f;" k="61" /> - <hkern u1="Y" u2="&#x16d;" k="61" /> - <hkern u1="Y" u2="&#x16b;" k="61" /> - <hkern u1="Y" u2="&#x169;" k="61" /> - <hkern u1="Y" u2="&#x15f;" k="82" /> - <hkern u1="Y" u2="&#x15b;" k="82" /> - <hkern u1="Y" u2="&#x157;" k="61" /> - <hkern u1="Y" u2="&#x155;" k="61" /> - <hkern u1="Y" u2="&#x153;" k="102" /> - <hkern u1="Y" u2="&#x152;" k="41" /> - <hkern u1="Y" u2="&#x151;" k="102" /> - <hkern u1="Y" u2="&#x150;" k="41" /> - <hkern u1="Y" u2="&#x14f;" k="102" /> - <hkern u1="Y" u2="&#x14e;" k="41" /> - <hkern u1="Y" u2="&#x14d;" k="102" /> - <hkern u1="Y" u2="&#x14c;" k="41" /> - <hkern u1="Y" u2="&#x14b;" k="61" /> - <hkern u1="Y" u2="&#x146;" k="61" /> - <hkern u1="Y" u2="&#x144;" k="61" /> - <hkern u1="Y" u2="&#x138;" k="61" /> - <hkern u1="Y" u2="&#x123;" k="41" /> - <hkern u1="Y" u2="&#x122;" k="41" /> - <hkern u1="Y" u2="&#x121;" k="41" /> - <hkern u1="Y" u2="&#x120;" k="41" /> - <hkern u1="Y" u2="&#x11f;" k="41" /> - <hkern u1="Y" u2="&#x11e;" k="41" /> - <hkern u1="Y" u2="&#x11d;" k="41" /> - <hkern u1="Y" u2="&#x11c;" k="41" /> - <hkern u1="Y" u2="&#x11b;" k="102" /> - <hkern u1="Y" u2="&#x119;" k="102" /> - <hkern u1="Y" u2="&#x117;" k="102" /> - <hkern u1="Y" u2="&#x115;" k="102" /> - <hkern u1="Y" u2="&#x113;" k="102" /> - <hkern u1="Y" u2="&#x111;" k="102" /> - <hkern u1="Y" u2="&#x10f;" k="102" /> - <hkern u1="Y" u2="&#x10d;" k="102" /> - <hkern u1="Y" u2="&#x10c;" k="41" /> - <hkern u1="Y" u2="&#x10b;" k="102" /> - <hkern u1="Y" u2="&#x10a;" k="41" /> - <hkern u1="Y" u2="&#x109;" k="102" /> - <hkern u1="Y" u2="&#x108;" k="41" /> - <hkern u1="Y" u2="&#x107;" k="102" /> - <hkern u1="Y" u2="&#x106;" k="41" /> - <hkern u1="Y" u2="&#x105;" k="102" /> - <hkern u1="Y" u2="&#x104;" k="123" /> - <hkern u1="Y" u2="&#x103;" k="102" /> - <hkern u1="Y" u2="&#x102;" k="123" /> - <hkern u1="Y" u2="&#x101;" k="102" /> - <hkern u1="Y" u2="&#x100;" k="123" /> - <hkern u1="Y" u2="&#xfc;" k="61" /> - <hkern u1="Y" u2="&#xfb;" k="61" /> - <hkern u1="Y" u2="&#xfa;" k="61" /> - <hkern u1="Y" u2="&#xf9;" k="61" /> - <hkern u1="Y" u2="&#xf8;" k="102" /> - <hkern u1="Y" u2="&#xf6;" k="102" /> - <hkern u1="Y" u2="&#xf5;" k="102" /> - <hkern u1="Y" u2="&#xf4;" k="102" /> - <hkern u1="Y" u2="&#xf3;" k="102" /> - <hkern u1="Y" u2="&#xf2;" k="102" /> - <hkern u1="Y" u2="&#xeb;" k="102" /> - <hkern u1="Y" u2="&#xea;" k="102" /> - <hkern u1="Y" u2="&#xe9;" k="102" /> - <hkern u1="Y" u2="&#xe8;" k="102" /> - <hkern u1="Y" u2="&#xe7;" k="102" /> - <hkern u1="Y" u2="&#xe6;" k="102" /> - <hkern u1="Y" u2="&#xe5;" k="102" /> - <hkern u1="Y" u2="&#xe4;" k="102" /> - <hkern u1="Y" u2="&#xe3;" k="102" /> - <hkern u1="Y" u2="&#xe2;" k="102" /> - <hkern u1="Y" u2="&#xe1;" k="102" /> - <hkern u1="Y" u2="&#xe0;" k="102" /> - <hkern u1="Y" u2="&#xd8;" k="41" /> - <hkern u1="Y" u2="&#xd6;" k="41" /> - <hkern u1="Y" u2="&#xd5;" k="41" /> - <hkern u1="Y" u2="&#xd4;" k="41" /> - <hkern u1="Y" u2="&#xd3;" k="41" /> - <hkern u1="Y" u2="&#xd2;" k="41" /> - <hkern u1="Y" u2="&#xc7;" k="41" /> - <hkern u1="Y" u2="&#xc5;" k="123" /> - <hkern u1="Y" u2="&#xc4;" k="123" /> - <hkern u1="Y" u2="&#xc3;" k="123" /> - <hkern u1="Y" u2="&#xc2;" k="123" /> - <hkern u1="Y" u2="&#xc1;" k="123" /> - <hkern u1="Y" u2="&#xc0;" k="123" /> - <hkern u1="Y" u2="z" k="41" /> - <hkern u1="Y" u2="u" k="61" /> - <hkern u1="Y" u2="s" k="82" /> - <hkern u1="Y" u2="r" k="61" /> - <hkern u1="Y" u2="q" k="102" /> - <hkern u1="Y" u2="p" k="61" /> - <hkern u1="Y" u2="o" k="102" /> - <hkern u1="Y" u2="n" k="61" /> - <hkern u1="Y" u2="m" k="61" /> - <hkern u1="Y" u2="g" k="41" /> - <hkern u1="Y" u2="e" k="102" /> - <hkern u1="Y" u2="d" k="102" /> - <hkern u1="Y" u2="c" k="102" /> - <hkern u1="Y" u2="a" k="102" /> - <hkern u1="Y" u2="Q" k="41" /> - <hkern u1="Y" u2="O" k="41" /> - <hkern u1="Y" u2="G" k="41" /> - <hkern u1="Y" u2="C" k="41" /> - <hkern u1="Y" u2="A" k="123" /> - <hkern u1="Y" u2="&#x3f;" k="-41" /> - <hkern u1="Y" u2="&#x2e;" k="123" /> - <hkern u1="Y" u2="&#x2c;" k="123" /> - <hkern u1="Z" u2="&#x1ee2;" k="20" /> - <hkern u1="Z" u2="&#x1ee0;" k="20" /> - <hkern u1="Z" u2="&#x1ede;" k="20" /> - <hkern u1="Z" u2="&#x1edc;" k="20" /> - <hkern u1="Z" u2="&#x1eda;" k="20" /> - <hkern u1="Z" u2="&#x1ed8;" k="20" /> - <hkern u1="Z" u2="&#x1ed6;" k="20" /> - <hkern u1="Z" u2="&#x1ed4;" k="20" /> - <hkern u1="Z" u2="&#x1ed2;" k="20" /> - <hkern u1="Z" u2="&#x1ed0;" k="20" /> - <hkern u1="Z" u2="&#x1ece;" k="20" /> - <hkern u1="Z" u2="&#x1ecc;" k="20" /> - <hkern u1="Z" u2="&#x1fe;" k="20" /> - <hkern u1="Z" u2="&#x1a0;" k="20" /> - <hkern u1="Z" u2="&#x152;" k="20" /> - <hkern u1="Z" u2="&#x150;" k="20" /> - <hkern u1="Z" u2="&#x14e;" k="20" /> - <hkern u1="Z" u2="&#x14c;" k="20" /> - <hkern u1="Z" u2="&#x122;" k="20" /> - <hkern u1="Z" u2="&#x120;" k="20" /> - <hkern u1="Z" u2="&#x11e;" k="20" /> - <hkern u1="Z" u2="&#x11c;" k="20" /> - <hkern u1="Z" u2="&#x10c;" k="20" /> - <hkern u1="Z" u2="&#x10a;" k="20" /> - <hkern u1="Z" u2="&#x108;" k="20" /> - <hkern u1="Z" u2="&#x106;" k="20" /> - <hkern u1="Z" u2="&#xd8;" k="20" /> - <hkern u1="Z" u2="&#xd6;" k="20" /> - <hkern u1="Z" u2="&#xd5;" k="20" /> - <hkern u1="Z" u2="&#xd4;" k="20" /> - <hkern u1="Z" u2="&#xd3;" k="20" /> - <hkern u1="Z" u2="&#xd2;" k="20" /> - <hkern u1="Z" u2="&#xc7;" k="20" /> - <hkern u1="Z" u2="Q" k="20" /> - <hkern u1="Z" u2="O" k="20" /> - <hkern u1="Z" u2="G" k="20" /> - <hkern u1="Z" u2="C" k="20" /> - <hkern u1="[" u2="J" k="-184" /> - <hkern u1="a" u2="&#x201d;" k="20" /> - <hkern u1="a" u2="&#x2019;" k="20" /> - <hkern u1="a" u2="&#x27;" k="20" /> - <hkern u1="a" u2="&#x22;" k="20" /> - <hkern u1="b" u2="&#x201d;" k="20" /> - <hkern u1="b" u2="&#x2019;" k="20" /> - <hkern u1="b" u2="&#x1ef5;" k="41" /> - <hkern u1="b" u2="&#x1e83;" k="41" /> - <hkern u1="b" u2="&#x1e81;" k="41" /> - <hkern u1="b" u2="&#x17e;" k="20" /> - <hkern u1="b" u2="&#x17c;" k="20" /> - <hkern u1="b" u2="&#x17a;" k="20" /> - <hkern u1="b" u2="&#x175;" k="41" /> - <hkern u1="b" u2="&#xfd;" k="41" /> - <hkern u1="b" u2="z" k="20" /> - <hkern u1="b" u2="y" k="41" /> - <hkern u1="b" u2="x" k="41" /> - <hkern u1="b" u2="w" k="41" /> - <hkern u1="b" u2="v" k="41" /> - <hkern u1="b" u2="&#x27;" k="20" /> - <hkern u1="b" u2="&#x22;" k="20" /> - <hkern u1="c" u2="&#x201d;" k="-41" /> - <hkern u1="c" u2="&#x2019;" k="-41" /> - <hkern u1="c" u2="&#x27;" k="-41" /> - <hkern u1="c" u2="&#x22;" k="-41" /> - <hkern u1="e" u2="&#x201d;" k="20" /> - <hkern u1="e" u2="&#x2019;" k="20" /> - <hkern u1="e" u2="&#x1ef5;" k="41" /> - <hkern u1="e" u2="&#x1e83;" k="41" /> - <hkern u1="e" u2="&#x1e81;" k="41" /> - <hkern u1="e" u2="&#x17e;" k="20" /> - <hkern u1="e" u2="&#x17c;" k="20" /> - <hkern u1="e" u2="&#x17a;" k="20" /> - <hkern u1="e" u2="&#x175;" k="41" /> - <hkern u1="e" u2="&#xfd;" k="41" /> - <hkern u1="e" u2="z" k="20" /> - <hkern u1="e" u2="y" k="41" /> - <hkern u1="e" u2="x" k="41" /> - <hkern u1="e" u2="w" k="41" /> - <hkern u1="e" u2="v" k="41" /> - <hkern u1="e" u2="&#x27;" k="20" /> - <hkern u1="e" u2="&#x22;" k="20" /> - <hkern u1="f" u2="&#x201d;" k="-123" /> - <hkern u1="f" u2="&#x2019;" k="-123" /> - <hkern u1="f" u2="&#x27;" k="-123" /> - <hkern u1="f" u2="&#x22;" k="-123" /> - <hkern u1="h" u2="&#x201d;" k="20" /> - <hkern u1="h" u2="&#x2019;" k="20" /> - <hkern u1="h" u2="&#x27;" k="20" /> - <hkern u1="h" u2="&#x22;" k="20" /> - <hkern u1="k" u2="&#x1ee3;" k="41" /> - <hkern u1="k" u2="&#x1ee1;" k="41" /> - <hkern u1="k" u2="&#x1edf;" k="41" /> - <hkern u1="k" u2="&#x1edd;" k="41" /> - <hkern u1="k" u2="&#x1edb;" k="41" /> - <hkern u1="k" u2="&#x1ed9;" k="41" /> - <hkern u1="k" u2="&#x1ed7;" k="41" /> - <hkern u1="k" u2="&#x1ed5;" k="41" /> - <hkern u1="k" u2="&#x1ed1;" k="41" /> - <hkern u1="k" u2="&#x1ecf;" k="41" /> - <hkern u1="k" u2="&#x1ecd;" k="41" /> - <hkern u1="k" u2="&#x1ec7;" k="41" /> - <hkern u1="k" u2="&#x1ec5;" k="41" /> - <hkern u1="k" u2="&#x1ec3;" k="41" /> - <hkern u1="k" u2="&#x1ebf;" k="41" /> - <hkern u1="k" u2="&#x1ebd;" k="41" /> - <hkern u1="k" u2="&#x1ebb;" k="41" /> - <hkern u1="k" u2="&#x1eb9;" k="41" /> - <hkern u1="k" u2="&#x1ff;" k="41" /> - <hkern u1="k" u2="&#x1a1;" k="41" /> - <hkern u1="k" u2="&#x153;" k="41" /> - <hkern u1="k" u2="&#x151;" k="41" /> - <hkern u1="k" u2="&#x14f;" k="41" /> - <hkern u1="k" u2="&#x14d;" k="41" /> - <hkern u1="k" u2="&#x11b;" k="41" /> - <hkern u1="k" u2="&#x119;" k="41" /> - <hkern u1="k" u2="&#x117;" k="41" /> - <hkern u1="k" u2="&#x115;" k="41" /> - <hkern u1="k" u2="&#x113;" k="41" /> - <hkern u1="k" u2="&#x111;" k="41" /> - <hkern u1="k" u2="&#x10f;" k="41" /> - <hkern u1="k" u2="&#x10d;" k="41" /> - <hkern u1="k" u2="&#x10b;" k="41" /> - <hkern u1="k" u2="&#x109;" k="41" /> - <hkern u1="k" u2="&#x107;" k="41" /> - <hkern u1="k" u2="&#xf8;" k="41" /> - <hkern u1="k" u2="&#xf6;" k="41" /> - <hkern u1="k" u2="&#xf5;" k="41" /> - <hkern u1="k" u2="&#xf4;" k="41" /> - <hkern u1="k" u2="&#xf3;" k="41" /> - <hkern u1="k" u2="&#xf2;" k="41" /> - <hkern u1="k" u2="&#xeb;" k="41" /> - <hkern u1="k" u2="&#xea;" k="41" /> - <hkern u1="k" u2="&#xe9;" k="41" /> - <hkern u1="k" u2="&#xe8;" k="41" /> - <hkern u1="k" u2="&#xe7;" k="41" /> - <hkern u1="k" u2="&#xe0;" k="41" /> - <hkern u1="k" u2="q" k="41" /> - <hkern u1="k" u2="o" k="41" /> - <hkern u1="k" u2="e" k="41" /> - <hkern u1="k" u2="d" k="41" /> - <hkern u1="k" u2="c" k="41" /> - <hkern u1="m" u2="&#x201d;" k="20" /> - <hkern u1="m" u2="&#x2019;" k="20" /> - <hkern u1="m" u2="&#x27;" k="20" /> - <hkern u1="m" u2="&#x22;" k="20" /> - <hkern u1="n" u2="&#x201d;" k="20" /> - <hkern u1="n" u2="&#x2019;" k="20" /> - <hkern u1="n" u2="&#x27;" k="20" /> - <hkern u1="n" u2="&#x22;" k="20" /> - <hkern u1="o" u2="&#x201d;" k="20" /> - <hkern u1="o" u2="&#x2019;" k="20" /> - <hkern u1="o" u2="&#x1ef5;" k="41" /> - <hkern u1="o" u2="&#x1e83;" k="41" /> - <hkern u1="o" u2="&#x1e81;" k="41" /> - <hkern u1="o" u2="&#x17e;" k="20" /> - <hkern u1="o" u2="&#x17c;" k="20" /> - <hkern u1="o" u2="&#x17a;" k="20" /> - <hkern u1="o" u2="&#x175;" k="41" /> - <hkern u1="o" u2="&#xfd;" k="41" /> - <hkern u1="o" u2="z" k="20" /> - <hkern u1="o" u2="y" k="41" /> - <hkern u1="o" u2="x" k="41" /> - <hkern u1="o" u2="w" k="41" /> - <hkern u1="o" u2="v" k="41" /> - <hkern u1="o" u2="&#x27;" k="20" /> - <hkern u1="o" u2="&#x22;" k="20" /> - <hkern u1="p" u2="&#x201d;" k="20" /> - <hkern u1="p" u2="&#x2019;" k="20" /> - <hkern u1="p" u2="&#x1ef5;" k="41" /> - <hkern u1="p" u2="&#x1e83;" k="41" /> - <hkern u1="p" u2="&#x1e81;" k="41" /> - <hkern u1="p" u2="&#x17e;" k="20" /> - <hkern u1="p" u2="&#x17c;" k="20" /> - <hkern u1="p" u2="&#x17a;" k="20" /> - <hkern u1="p" u2="&#x175;" k="41" /> - <hkern u1="p" u2="&#xfd;" k="41" /> - <hkern u1="p" u2="z" k="20" /> - <hkern u1="p" u2="y" k="41" /> - <hkern u1="p" u2="x" k="41" /> - <hkern u1="p" u2="w" k="41" /> - <hkern u1="p" u2="v" k="41" /> - <hkern u1="p" u2="&#x27;" k="20" /> - <hkern u1="p" u2="&#x22;" k="20" /> - <hkern u1="r" u2="&#x201d;" k="-82" /> - <hkern u1="r" u2="&#x2019;" k="-82" /> - <hkern u1="r" u2="&#x1ee3;" k="41" /> - <hkern u1="r" u2="&#x1ee1;" k="41" /> - <hkern u1="r" u2="&#x1edf;" k="41" /> - <hkern u1="r" u2="&#x1edd;" k="41" /> - <hkern u1="r" u2="&#x1edb;" k="41" /> - <hkern u1="r" u2="&#x1ed9;" k="41" /> - <hkern u1="r" u2="&#x1ed7;" k="41" /> - <hkern u1="r" u2="&#x1ed5;" k="41" /> - <hkern u1="r" u2="&#x1ed1;" k="41" /> - <hkern u1="r" u2="&#x1ecf;" k="41" /> - <hkern u1="r" u2="&#x1ecd;" k="41" /> - <hkern u1="r" u2="&#x1ec7;" k="41" /> - <hkern u1="r" u2="&#x1ec5;" k="41" /> - <hkern u1="r" u2="&#x1ec3;" k="41" /> - <hkern u1="r" u2="&#x1ebf;" k="41" /> - <hkern u1="r" u2="&#x1ebd;" k="41" /> - <hkern u1="r" u2="&#x1ebb;" k="41" /> - <hkern u1="r" u2="&#x1eb9;" k="41" /> - <hkern u1="r" u2="&#x1eb7;" k="41" /> - <hkern u1="r" u2="&#x1eb5;" k="41" /> - <hkern u1="r" u2="&#x1eb3;" k="41" /> - <hkern u1="r" u2="&#x1eb1;" k="41" /> - <hkern u1="r" u2="&#x1eaf;" k="41" /> - <hkern u1="r" u2="&#x1ead;" k="41" /> - <hkern u1="r" u2="&#x1eab;" k="41" /> - <hkern u1="r" u2="&#x1ea9;" k="41" /> - <hkern u1="r" u2="&#x1ea5;" k="41" /> - <hkern u1="r" u2="&#x1ea3;" k="41" /> - <hkern u1="r" u2="&#x1ea1;" k="41" /> - <hkern u1="r" u2="&#x1e01;" k="41" /> - <hkern u1="r" u2="&#x1ff;" k="41" /> - <hkern u1="r" u2="&#x1fd;" k="41" /> - <hkern u1="r" u2="&#x1fb;" k="41" /> - <hkern u1="r" u2="&#x1a1;" k="41" /> - <hkern u1="r" u2="&#x153;" k="41" /> - <hkern u1="r" u2="&#x151;" k="41" /> - <hkern u1="r" u2="&#x14f;" k="41" /> - <hkern u1="r" u2="&#x14d;" k="41" /> - <hkern u1="r" u2="&#x123;" k="20" /> - <hkern u1="r" u2="&#x121;" k="20" /> - <hkern u1="r" u2="&#x11f;" k="20" /> - <hkern u1="r" u2="&#x11d;" k="20" /> - <hkern u1="r" u2="&#x11b;" k="41" /> - <hkern u1="r" u2="&#x119;" k="41" /> - <hkern u1="r" u2="&#x117;" k="41" /> - <hkern u1="r" u2="&#x115;" k="41" /> - <hkern u1="r" u2="&#x113;" k="41" /> - <hkern u1="r" u2="&#x111;" k="41" /> - <hkern u1="r" u2="&#x10f;" k="41" /> - <hkern u1="r" u2="&#x10d;" k="41" /> - <hkern u1="r" u2="&#x10b;" k="41" /> - <hkern u1="r" u2="&#x109;" k="41" /> - <hkern u1="r" u2="&#x107;" k="41" /> - <hkern u1="r" u2="&#x105;" k="41" /> - <hkern u1="r" u2="&#x103;" k="41" /> - <hkern u1="r" u2="&#x101;" k="41" /> - <hkern u1="r" u2="&#xf8;" k="41" /> - <hkern u1="r" u2="&#xf6;" k="41" /> - <hkern u1="r" u2="&#xf5;" k="41" /> - <hkern u1="r" u2="&#xf4;" k="41" /> - <hkern u1="r" u2="&#xf3;" k="41" /> - <hkern u1="r" u2="&#xf2;" k="41" /> - <hkern u1="r" u2="&#xeb;" k="41" /> - <hkern u1="r" u2="&#xea;" k="41" /> - <hkern u1="r" u2="&#xe9;" k="41" /> - <hkern u1="r" u2="&#xe8;" k="41" /> - <hkern u1="r" u2="&#xe7;" k="41" /> - <hkern u1="r" u2="&#xe6;" k="41" /> - <hkern u1="r" u2="&#xe5;" k="41" /> - <hkern u1="r" u2="&#xe4;" k="41" /> - <hkern u1="r" u2="&#xe3;" k="41" /> - <hkern u1="r" u2="&#xe2;" k="41" /> - <hkern u1="r" u2="&#xe1;" k="41" /> - <hkern u1="r" u2="&#xe0;" k="41" /> - <hkern u1="r" u2="q" k="41" /> - <hkern u1="r" u2="o" k="41" /> - <hkern u1="r" u2="g" k="20" /> - <hkern u1="r" u2="e" k="41" /> - <hkern u1="r" u2="d" k="41" /> - <hkern u1="r" u2="c" k="41" /> - <hkern u1="r" u2="a" k="41" /> - <hkern u1="r" u2="&#x27;" k="-82" /> - <hkern u1="r" u2="&#x22;" k="-82" /> - <hkern u1="t" u2="&#x201d;" k="-41" /> - <hkern u1="t" u2="&#x2019;" k="-41" /> - <hkern u1="t" u2="&#x27;" k="-41" /> - <hkern u1="t" u2="&#x22;" k="-41" /> - <hkern u1="v" u2="&#x201e;" k="82" /> - <hkern u1="v" u2="&#x201d;" k="-82" /> - <hkern u1="v" u2="&#x201a;" k="82" /> - <hkern u1="v" u2="&#x2019;" k="-82" /> - <hkern u1="v" u2="&#x3f;" k="-41" /> - <hkern u1="v" u2="&#x2e;" k="82" /> - <hkern u1="v" u2="&#x2c;" k="82" /> - <hkern u1="v" u2="&#x27;" k="-82" /> - <hkern u1="v" u2="&#x22;" k="-82" /> - <hkern u1="w" u2="&#x201e;" k="82" /> - <hkern u1="w" u2="&#x201d;" k="-82" /> - <hkern u1="w" u2="&#x201a;" k="82" /> - <hkern u1="w" u2="&#x2019;" k="-82" /> - <hkern u1="w" u2="&#x3f;" k="-41" /> - <hkern u1="w" u2="&#x2e;" k="82" /> - <hkern u1="w" u2="&#x2c;" k="82" /> - <hkern u1="w" u2="&#x27;" k="-82" /> - <hkern u1="w" u2="&#x22;" k="-82" /> - <hkern u1="x" u2="&#x1ee3;" k="41" /> - <hkern u1="x" u2="&#x1ee1;" k="41" /> - <hkern u1="x" u2="&#x1edf;" k="41" /> - <hkern u1="x" u2="&#x1edd;" k="41" /> - <hkern u1="x" u2="&#x1edb;" k="41" /> - <hkern u1="x" u2="&#x1ed9;" k="41" /> - <hkern u1="x" u2="&#x1ed7;" k="41" /> - <hkern u1="x" u2="&#x1ed5;" k="41" /> - <hkern u1="x" u2="&#x1ed1;" k="41" /> - <hkern u1="x" u2="&#x1ecf;" k="41" /> - <hkern u1="x" u2="&#x1ecd;" k="41" /> - <hkern u1="x" u2="&#x1ec7;" k="41" /> - <hkern u1="x" u2="&#x1ec5;" k="41" /> - <hkern u1="x" u2="&#x1ec3;" k="41" /> - <hkern u1="x" u2="&#x1ebf;" k="41" /> - <hkern u1="x" u2="&#x1ebd;" k="41" /> - <hkern u1="x" u2="&#x1ebb;" k="41" /> - <hkern u1="x" u2="&#x1eb9;" k="41" /> - <hkern u1="x" u2="&#x1ff;" k="41" /> - <hkern u1="x" u2="&#x1a1;" k="41" /> - <hkern u1="x" u2="&#x153;" k="41" /> - <hkern u1="x" u2="&#x151;" k="41" /> - <hkern u1="x" u2="&#x14f;" k="41" /> - <hkern u1="x" u2="&#x14d;" k="41" /> - <hkern u1="x" u2="&#x11b;" k="41" /> - <hkern u1="x" u2="&#x119;" k="41" /> - <hkern u1="x" u2="&#x117;" k="41" /> - <hkern u1="x" u2="&#x115;" k="41" /> - <hkern u1="x" u2="&#x113;" k="41" /> - <hkern u1="x" u2="&#x111;" k="41" /> - <hkern u1="x" u2="&#x10f;" k="41" /> - <hkern u1="x" u2="&#x10d;" k="41" /> - <hkern u1="x" u2="&#x10b;" k="41" /> - <hkern u1="x" u2="&#x109;" k="41" /> - <hkern u1="x" u2="&#x107;" k="41" /> - <hkern u1="x" u2="&#xf8;" k="41" /> - <hkern u1="x" u2="&#xf6;" k="41" /> - <hkern u1="x" u2="&#xf5;" k="41" /> - <hkern u1="x" u2="&#xf4;" k="41" /> - <hkern u1="x" u2="&#xf3;" k="41" /> - <hkern u1="x" u2="&#xf2;" k="41" /> - <hkern u1="x" u2="&#xeb;" k="41" /> - <hkern u1="x" u2="&#xea;" k="41" /> - <hkern u1="x" u2="&#xe9;" k="41" /> - <hkern u1="x" u2="&#xe8;" k="41" /> - <hkern u1="x" u2="&#xe7;" k="41" /> - <hkern u1="x" u2="&#xe0;" k="41" /> - <hkern u1="x" u2="q" k="41" /> - <hkern u1="x" u2="o" k="41" /> - <hkern u1="x" u2="e" k="41" /> - <hkern u1="x" u2="d" k="41" /> - <hkern u1="x" u2="c" k="41" /> - <hkern u1="y" u2="&#x201e;" k="82" /> - <hkern u1="y" u2="&#x201d;" k="-82" /> - <hkern u1="y" u2="&#x201a;" k="82" /> - <hkern u1="y" u2="&#x2019;" k="-82" /> - <hkern u1="y" u2="&#x3f;" k="-41" /> - <hkern u1="y" u2="&#x2e;" k="82" /> - <hkern u1="y" u2="&#x2c;" k="82" /> - <hkern u1="y" u2="&#x27;" k="-82" /> - <hkern u1="y" u2="&#x22;" k="-82" /> - <hkern u1="&#x7b;" u2="J" k="-184" /> - <hkern u1="&#xc0;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc0;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc0;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc0;" u2="&#x178;" k="123" /> - <hkern u1="&#xc0;" u2="&#x176;" k="123" /> - <hkern u1="&#xc0;" u2="&#x174;" k="82" /> - <hkern u1="&#xc0;" u2="&#x164;" k="143" /> - <hkern u1="&#xc0;" u2="&#x162;" k="143" /> - <hkern u1="&#xc0;" u2="&#x152;" k="41" /> - <hkern u1="&#xc0;" u2="&#x150;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x122;" k="41" /> - <hkern u1="&#xc0;" u2="&#x120;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc0;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc0;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc0;" u2="&#x108;" k="41" /> - <hkern u1="&#xc0;" u2="&#x106;" k="41" /> - <hkern u1="&#xc0;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc0;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc0;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc0;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc0;" u2="Y" k="123" /> - <hkern u1="&#xc0;" u2="W" k="82" /> - <hkern u1="&#xc0;" u2="V" k="82" /> - <hkern u1="&#xc0;" u2="T" k="143" /> - <hkern u1="&#xc0;" u2="Q" k="41" /> - <hkern u1="&#xc0;" u2="O" k="41" /> - <hkern u1="&#xc0;" u2="J" k="-266" /> - <hkern u1="&#xc0;" u2="G" k="41" /> - <hkern u1="&#xc0;" u2="C" k="41" /> - <hkern u1="&#xc0;" u2="&#x27;" k="143" /> - <hkern u1="&#xc0;" u2="&#x22;" k="143" /> - <hkern u1="&#xc1;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc1;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc1;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc1;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc1;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc1;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc1;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc1;" u2="&#x178;" k="123" /> - <hkern u1="&#xc1;" u2="&#x176;" k="123" /> - <hkern u1="&#xc1;" u2="&#x174;" k="82" /> - <hkern u1="&#xc1;" u2="&#x164;" k="143" /> - <hkern u1="&#xc1;" u2="&#x162;" k="143" /> - <hkern u1="&#xc1;" u2="&#x152;" k="41" /> - <hkern u1="&#xc1;" u2="&#x150;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x122;" k="41" /> - <hkern u1="&#xc1;" u2="&#x120;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc1;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc1;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc1;" u2="&#x108;" k="41" /> - <hkern u1="&#xc1;" u2="&#x106;" k="41" /> - <hkern u1="&#xc1;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc1;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc1;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc1;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc1;" u2="Y" k="123" /> - <hkern u1="&#xc1;" u2="W" k="82" /> - <hkern u1="&#xc1;" u2="V" k="82" /> - <hkern u1="&#xc1;" u2="T" k="143" /> - <hkern u1="&#xc1;" u2="Q" k="41" /> - <hkern u1="&#xc1;" u2="O" k="41" /> - <hkern u1="&#xc1;" u2="J" k="-266" /> - <hkern u1="&#xc1;" u2="G" k="41" /> - <hkern u1="&#xc1;" u2="C" k="41" /> - <hkern u1="&#xc1;" u2="&#x27;" k="143" /> - <hkern u1="&#xc1;" u2="&#x22;" k="143" /> - <hkern u1="&#xc2;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc2;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc2;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc2;" u2="&#x178;" k="123" /> - <hkern u1="&#xc2;" u2="&#x176;" k="123" /> - <hkern u1="&#xc2;" u2="&#x174;" k="82" /> - <hkern u1="&#xc2;" u2="&#x164;" k="143" /> - <hkern u1="&#xc2;" u2="&#x162;" k="143" /> - <hkern u1="&#xc2;" u2="&#x152;" k="41" /> - <hkern u1="&#xc2;" u2="&#x150;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x122;" k="41" /> - <hkern u1="&#xc2;" u2="&#x120;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc2;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc2;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc2;" u2="&#x108;" k="41" /> - <hkern u1="&#xc2;" u2="&#x106;" k="41" /> - <hkern u1="&#xc2;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc2;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc2;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc2;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc2;" u2="Y" k="123" /> - <hkern u1="&#xc2;" u2="W" k="82" /> - <hkern u1="&#xc2;" u2="V" k="82" /> - <hkern u1="&#xc2;" u2="T" k="143" /> - <hkern u1="&#xc2;" u2="Q" k="41" /> - <hkern u1="&#xc2;" u2="O" k="41" /> - <hkern u1="&#xc2;" u2="J" k="-266" /> - <hkern u1="&#xc2;" u2="G" k="41" /> - <hkern u1="&#xc2;" u2="C" k="41" /> - <hkern u1="&#xc2;" u2="&#x27;" k="143" /> - <hkern u1="&#xc2;" u2="&#x22;" k="143" /> - <hkern u1="&#xc3;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc3;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc3;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc3;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc3;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc3;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc3;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc3;" u2="&#x178;" k="123" /> - <hkern u1="&#xc3;" u2="&#x176;" k="123" /> - <hkern u1="&#xc3;" u2="&#x174;" k="82" /> - <hkern u1="&#xc3;" u2="&#x164;" k="143" /> - <hkern u1="&#xc3;" u2="&#x162;" k="143" /> - <hkern u1="&#xc3;" u2="&#x152;" k="41" /> - <hkern u1="&#xc3;" u2="&#x150;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x122;" k="41" /> - <hkern u1="&#xc3;" u2="&#x120;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc3;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc3;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc3;" u2="&#x108;" k="41" /> - <hkern u1="&#xc3;" u2="&#x106;" k="41" /> - <hkern u1="&#xc3;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc3;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc3;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc3;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc3;" u2="Y" k="123" /> - <hkern u1="&#xc3;" u2="W" k="82" /> - <hkern u1="&#xc3;" u2="V" k="82" /> - <hkern u1="&#xc3;" u2="T" k="143" /> - <hkern u1="&#xc3;" u2="Q" k="41" /> - <hkern u1="&#xc3;" u2="O" k="41" /> - <hkern u1="&#xc3;" u2="J" k="-266" /> - <hkern u1="&#xc3;" u2="G" k="41" /> - <hkern u1="&#xc3;" u2="C" k="41" /> - <hkern u1="&#xc3;" u2="&#x27;" k="143" /> - <hkern u1="&#xc3;" u2="&#x22;" k="143" /> - <hkern u1="&#xc4;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc4;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc4;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc4;" u2="&#x178;" k="123" /> - <hkern u1="&#xc4;" u2="&#x176;" k="123" /> - <hkern u1="&#xc4;" u2="&#x174;" k="82" /> - <hkern u1="&#xc4;" u2="&#x164;" k="143" /> - <hkern u1="&#xc4;" u2="&#x162;" k="143" /> - <hkern u1="&#xc4;" u2="&#x152;" k="41" /> - <hkern u1="&#xc4;" u2="&#x150;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x122;" k="41" /> - <hkern u1="&#xc4;" u2="&#x120;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc4;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc4;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc4;" u2="&#x108;" k="41" /> - <hkern u1="&#xc4;" u2="&#x106;" k="41" /> - <hkern u1="&#xc4;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc4;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc4;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc4;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc4;" u2="Y" k="123" /> - <hkern u1="&#xc4;" u2="W" k="82" /> - <hkern u1="&#xc4;" u2="V" k="82" /> - <hkern u1="&#xc4;" u2="T" k="143" /> - <hkern u1="&#xc4;" u2="Q" k="41" /> - <hkern u1="&#xc4;" u2="O" k="41" /> - <hkern u1="&#xc4;" u2="J" k="-266" /> - <hkern u1="&#xc4;" u2="G" k="41" /> - <hkern u1="&#xc4;" u2="C" k="41" /> - <hkern u1="&#xc4;" u2="&#x27;" k="143" /> - <hkern u1="&#xc4;" u2="&#x22;" k="143" /> - <hkern u1="&#xc5;" u2="&#x201d;" k="143" /> - <hkern u1="&#xc5;" u2="&#x2019;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#xc5;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1e84;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e82;" k="82" /> - <hkern u1="&#xc5;" u2="&#x1e80;" k="82" /> - <hkern u1="&#xc5;" u2="&#x21a;" k="143" /> - <hkern u1="&#xc5;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc5;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc5;" u2="&#x178;" k="123" /> - <hkern u1="&#xc5;" u2="&#x176;" k="123" /> - <hkern u1="&#xc5;" u2="&#x174;" k="82" /> - <hkern u1="&#xc5;" u2="&#x164;" k="143" /> - <hkern u1="&#xc5;" u2="&#x162;" k="143" /> - <hkern u1="&#xc5;" u2="&#x152;" k="41" /> - <hkern u1="&#xc5;" u2="&#x150;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x122;" k="41" /> - <hkern u1="&#xc5;" u2="&#x120;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc5;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc5;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc5;" u2="&#x108;" k="41" /> - <hkern u1="&#xc5;" u2="&#x106;" k="41" /> - <hkern u1="&#xc5;" u2="&#xdd;" k="123" /> - <hkern u1="&#xc5;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc5;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc5;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc5;" u2="Y" k="123" /> - <hkern u1="&#xc5;" u2="W" k="82" /> - <hkern u1="&#xc5;" u2="V" k="82" /> - <hkern u1="&#xc5;" u2="T" k="143" /> - <hkern u1="&#xc5;" u2="Q" k="41" /> - <hkern u1="&#xc5;" u2="O" k="41" /> - <hkern u1="&#xc5;" u2="J" k="-266" /> - <hkern u1="&#xc5;" u2="G" k="41" /> - <hkern u1="&#xc5;" u2="C" k="41" /> - <hkern u1="&#xc5;" u2="&#x27;" k="143" /> - <hkern u1="&#xc5;" u2="&#x22;" k="143" /> - <hkern u1="&#xc6;" u2="J" k="-123" /> - <hkern u1="&#xc7;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xc7;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xc7;" u2="&#x152;" k="41" /> - <hkern u1="&#xc7;" u2="&#x150;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x14c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x122;" k="41" /> - <hkern u1="&#xc7;" u2="&#x120;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11e;" k="41" /> - <hkern u1="&#xc7;" u2="&#x11c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10c;" k="41" /> - <hkern u1="&#xc7;" u2="&#x10a;" k="41" /> - <hkern u1="&#xc7;" u2="&#x108;" k="41" /> - <hkern u1="&#xc7;" u2="&#x106;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd8;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd6;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd5;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd4;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd3;" k="41" /> - <hkern u1="&#xc7;" u2="&#xd2;" k="41" /> - <hkern u1="&#xc7;" u2="&#xc7;" k="41" /> - <hkern u1="&#xc7;" u2="Q" k="41" /> - <hkern u1="&#xc7;" u2="O" k="41" /> - <hkern u1="&#xc7;" u2="G" k="41" /> - <hkern u1="&#xc7;" u2="C" k="41" /> - <hkern u1="&#xc8;" u2="J" k="-123" /> - <hkern u1="&#xc9;" u2="J" k="-123" /> - <hkern u1="&#xca;" u2="J" k="-123" /> - <hkern u1="&#xcb;" u2="J" k="-123" /> - <hkern u1="&#xd0;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd0;" u2="&#x405;" k="20" /> - <hkern u1="&#xd0;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd0;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd0;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd0;" u2="&#x179;" k="20" /> - <hkern u1="&#xd0;" u2="&#x178;" k="20" /> - <hkern u1="&#xd0;" u2="&#x176;" k="20" /> - <hkern u1="&#xd0;" u2="&#x174;" k="20" /> - <hkern u1="&#xd0;" u2="&#x164;" k="61" /> - <hkern u1="&#xd0;" u2="&#x162;" k="61" /> - <hkern u1="&#xd0;" u2="&#x104;" k="41" /> - <hkern u1="&#xd0;" u2="&#x102;" k="41" /> - <hkern u1="&#xd0;" u2="&#x100;" k="41" /> - <hkern u1="&#xd0;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd0;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd0;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd0;" u2="Z" k="20" /> - <hkern u1="&#xd0;" u2="Y" k="20" /> - <hkern u1="&#xd0;" u2="X" k="41" /> - <hkern u1="&#xd0;" u2="W" k="20" /> - <hkern u1="&#xd0;" u2="V" k="20" /> - <hkern u1="&#xd0;" u2="T" k="61" /> - <hkern u1="&#xd0;" u2="A" k="41" /> - <hkern u1="&#xd0;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd0;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd2;" u2="&#x405;" k="20" /> - <hkern u1="&#xd2;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd2;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd2;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd2;" u2="&#x179;" k="20" /> - <hkern u1="&#xd2;" u2="&#x178;" k="20" /> - <hkern u1="&#xd2;" u2="&#x176;" k="20" /> - <hkern u1="&#xd2;" u2="&#x174;" k="20" /> - <hkern u1="&#xd2;" u2="&#x164;" k="61" /> - <hkern u1="&#xd2;" u2="&#x162;" k="61" /> - <hkern u1="&#xd2;" u2="&#x104;" k="41" /> - <hkern u1="&#xd2;" u2="&#x102;" k="41" /> - <hkern u1="&#xd2;" u2="&#x100;" k="41" /> - <hkern u1="&#xd2;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd2;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd2;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd2;" u2="Z" k="20" /> - <hkern u1="&#xd2;" u2="Y" k="20" /> - <hkern u1="&#xd2;" u2="X" k="41" /> - <hkern u1="&#xd2;" u2="W" k="20" /> - <hkern u1="&#xd2;" u2="V" k="20" /> - <hkern u1="&#xd2;" u2="T" k="61" /> - <hkern u1="&#xd2;" u2="A" k="41" /> - <hkern u1="&#xd2;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd2;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd3;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd3;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd3;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd3;" u2="&#x405;" k="20" /> - <hkern u1="&#xd3;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd3;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd3;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd3;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd3;" u2="&#x179;" k="20" /> - <hkern u1="&#xd3;" u2="&#x178;" k="20" /> - <hkern u1="&#xd3;" u2="&#x176;" k="20" /> - <hkern u1="&#xd3;" u2="&#x174;" k="20" /> - <hkern u1="&#xd3;" u2="&#x164;" k="61" /> - <hkern u1="&#xd3;" u2="&#x162;" k="61" /> - <hkern u1="&#xd3;" u2="&#x104;" k="41" /> - <hkern u1="&#xd3;" u2="&#x102;" k="41" /> - <hkern u1="&#xd3;" u2="&#x100;" k="41" /> - <hkern u1="&#xd3;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd3;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd3;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd3;" u2="Z" k="20" /> - <hkern u1="&#xd3;" u2="Y" k="20" /> - <hkern u1="&#xd3;" u2="X" k="41" /> - <hkern u1="&#xd3;" u2="W" k="20" /> - <hkern u1="&#xd3;" u2="V" k="20" /> - <hkern u1="&#xd3;" u2="T" k="61" /> - <hkern u1="&#xd3;" u2="A" k="41" /> - <hkern u1="&#xd3;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd3;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd4;" u2="&#x405;" k="20" /> - <hkern u1="&#xd4;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd4;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd4;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd4;" u2="&#x179;" k="20" /> - <hkern u1="&#xd4;" u2="&#x178;" k="20" /> - <hkern u1="&#xd4;" u2="&#x176;" k="20" /> - <hkern u1="&#xd4;" u2="&#x174;" k="20" /> - <hkern u1="&#xd4;" u2="&#x164;" k="61" /> - <hkern u1="&#xd4;" u2="&#x162;" k="61" /> - <hkern u1="&#xd4;" u2="&#x104;" k="41" /> - <hkern u1="&#xd4;" u2="&#x102;" k="41" /> - <hkern u1="&#xd4;" u2="&#x100;" k="41" /> - <hkern u1="&#xd4;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd4;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd4;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd4;" u2="Z" k="20" /> - <hkern u1="&#xd4;" u2="Y" k="20" /> - <hkern u1="&#xd4;" u2="X" k="41" /> - <hkern u1="&#xd4;" u2="W" k="20" /> - <hkern u1="&#xd4;" u2="V" k="20" /> - <hkern u1="&#xd4;" u2="T" k="61" /> - <hkern u1="&#xd4;" u2="A" k="41" /> - <hkern u1="&#xd4;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd4;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd5;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd5;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd5;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd5;" u2="&#x405;" k="20" /> - <hkern u1="&#xd5;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd5;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd5;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd5;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd5;" u2="&#x179;" k="20" /> - <hkern u1="&#xd5;" u2="&#x178;" k="20" /> - <hkern u1="&#xd5;" u2="&#x176;" k="20" /> - <hkern u1="&#xd5;" u2="&#x174;" k="20" /> - <hkern u1="&#xd5;" u2="&#x164;" k="61" /> - <hkern u1="&#xd5;" u2="&#x162;" k="61" /> - <hkern u1="&#xd5;" u2="&#x104;" k="41" /> - <hkern u1="&#xd5;" u2="&#x102;" k="41" /> - <hkern u1="&#xd5;" u2="&#x100;" k="41" /> - <hkern u1="&#xd5;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd5;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd5;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd5;" u2="Z" k="20" /> - <hkern u1="&#xd5;" u2="Y" k="20" /> - <hkern u1="&#xd5;" u2="X" k="41" /> - <hkern u1="&#xd5;" u2="W" k="20" /> - <hkern u1="&#xd5;" u2="V" k="20" /> - <hkern u1="&#xd5;" u2="T" k="61" /> - <hkern u1="&#xd5;" u2="A" k="41" /> - <hkern u1="&#xd5;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd5;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd6;" u2="&#x405;" k="20" /> - <hkern u1="&#xd6;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd6;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd6;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd6;" u2="&#x179;" k="20" /> - <hkern u1="&#xd6;" u2="&#x178;" k="20" /> - <hkern u1="&#xd6;" u2="&#x176;" k="20" /> - <hkern u1="&#xd6;" u2="&#x174;" k="20" /> - <hkern u1="&#xd6;" u2="&#x164;" k="61" /> - <hkern u1="&#xd6;" u2="&#x162;" k="61" /> - <hkern u1="&#xd6;" u2="&#x104;" k="41" /> - <hkern u1="&#xd6;" u2="&#x102;" k="41" /> - <hkern u1="&#xd6;" u2="&#x100;" k="41" /> - <hkern u1="&#xd6;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd6;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd6;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd6;" u2="Z" k="20" /> - <hkern u1="&#xd6;" u2="Y" k="20" /> - <hkern u1="&#xd6;" u2="X" k="41" /> - <hkern u1="&#xd6;" u2="W" k="20" /> - <hkern u1="&#xd6;" u2="V" k="20" /> - <hkern u1="&#xd6;" u2="T" k="61" /> - <hkern u1="&#xd6;" u2="A" k="41" /> - <hkern u1="&#xd6;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd6;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x201a;" k="82" /> - <hkern u1="&#xd8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#xd8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#xd8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#xd8;" u2="&#x405;" k="20" /> - <hkern u1="&#xd8;" u2="&#x21a;" k="61" /> - <hkern u1="&#xd8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#xd8;" u2="&#x17d;" k="20" /> - <hkern u1="&#xd8;" u2="&#x17b;" k="20" /> - <hkern u1="&#xd8;" u2="&#x179;" k="20" /> - <hkern u1="&#xd8;" u2="&#x178;" k="20" /> - <hkern u1="&#xd8;" u2="&#x176;" k="20" /> - <hkern u1="&#xd8;" u2="&#x174;" k="20" /> - <hkern u1="&#xd8;" u2="&#x164;" k="61" /> - <hkern u1="&#xd8;" u2="&#x162;" k="61" /> - <hkern u1="&#xd8;" u2="&#x104;" k="41" /> - <hkern u1="&#xd8;" u2="&#x102;" k="41" /> - <hkern u1="&#xd8;" u2="&#x100;" k="41" /> - <hkern u1="&#xd8;" u2="&#xdd;" k="20" /> - <hkern u1="&#xd8;" u2="&#xc5;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc4;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc3;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc2;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc1;" k="41" /> - <hkern u1="&#xd8;" u2="&#xc0;" k="41" /> - <hkern u1="&#xd8;" u2="Z" k="20" /> - <hkern u1="&#xd8;" u2="Y" k="20" /> - <hkern u1="&#xd8;" u2="X" k="41" /> - <hkern u1="&#xd8;" u2="W" k="20" /> - <hkern u1="&#xd8;" u2="V" k="20" /> - <hkern u1="&#xd8;" u2="T" k="61" /> - <hkern u1="&#xd8;" u2="A" k="41" /> - <hkern u1="&#xd8;" u2="&#x2e;" k="82" /> - <hkern u1="&#xd8;" u2="&#x2c;" k="82" /> - <hkern u1="&#xd9;" u2="&#x201e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x201a;" k="41" /> - <hkern u1="&#xd9;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xd9;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xd9;" u2="&#x104;" k="20" /> - <hkern u1="&#xd9;" u2="&#x102;" k="20" /> - <hkern u1="&#xd9;" u2="&#x100;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc5;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc4;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc3;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc2;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc1;" k="20" /> - <hkern u1="&#xd9;" u2="&#xc0;" k="20" /> - <hkern u1="&#xd9;" u2="A" k="20" /> - <hkern u1="&#xd9;" u2="&#x2e;" k="41" /> - <hkern u1="&#xd9;" u2="&#x2c;" k="41" /> - <hkern u1="&#xda;" u2="&#x201e;" k="41" /> - <hkern u1="&#xda;" u2="&#x201a;" k="41" /> - <hkern u1="&#xda;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xda;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xda;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xda;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xda;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xda;" u2="&#x104;" k="20" /> - <hkern u1="&#xda;" u2="&#x102;" k="20" /> - <hkern u1="&#xda;" u2="&#x100;" k="20" /> - <hkern u1="&#xda;" u2="&#xc5;" k="20" /> - <hkern u1="&#xda;" u2="&#xc4;" k="20" /> - <hkern u1="&#xda;" u2="&#xc3;" k="20" /> - <hkern u1="&#xda;" u2="&#xc2;" k="20" /> - <hkern u1="&#xda;" u2="&#xc1;" k="20" /> - <hkern u1="&#xda;" u2="&#xc0;" k="20" /> - <hkern u1="&#xda;" u2="A" k="20" /> - <hkern u1="&#xda;" u2="&#x2e;" k="41" /> - <hkern u1="&#xda;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdb;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdb;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdb;" u2="&#x104;" k="20" /> - <hkern u1="&#xdb;" u2="&#x102;" k="20" /> - <hkern u1="&#xdb;" u2="&#x100;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdb;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdb;" u2="A" k="20" /> - <hkern u1="&#xdb;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdb;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x201a;" k="41" /> - <hkern u1="&#xdc;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eae;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eac;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1e00;" k="20" /> - <hkern u1="&#xdc;" u2="&#x1fa;" k="20" /> - <hkern u1="&#xdc;" u2="&#x104;" k="20" /> - <hkern u1="&#xdc;" u2="&#x102;" k="20" /> - <hkern u1="&#xdc;" u2="&#x100;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc5;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc4;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc3;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc2;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc1;" k="20" /> - <hkern u1="&#xdc;" u2="&#xc0;" k="20" /> - <hkern u1="&#xdc;" u2="A" k="20" /> - <hkern u1="&#xdc;" u2="&#x2e;" k="41" /> - <hkern u1="&#xdc;" u2="&#x2c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x201e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x201a;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eef;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eed;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ede;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1edc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1edb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eda;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ece;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eae;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ead;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eac;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1eab;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1e01;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1e00;" k="123" /> - <hkern u1="&#xdd;" u2="&#x219;" k="82" /> - <hkern u1="&#xdd;" u2="&#x1ff;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fe;" k="41" /> - <hkern u1="&#xdd;" u2="&#x1fd;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fb;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1fa;" k="123" /> - <hkern u1="&#xdd;" u2="&#x1b0;" k="61" /> - <hkern u1="&#xdd;" u2="&#x1a1;" k="102" /> - <hkern u1="&#xdd;" u2="&#x1a0;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x17a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x173;" k="61" /> - <hkern u1="&#xdd;" u2="&#x171;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16f;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16d;" k="61" /> - <hkern u1="&#xdd;" u2="&#x16b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x169;" k="61" /> - <hkern u1="&#xdd;" u2="&#x15f;" k="82" /> - <hkern u1="&#xdd;" u2="&#x15b;" k="82" /> - <hkern u1="&#xdd;" u2="&#x157;" k="61" /> - <hkern u1="&#xdd;" u2="&#x155;" k="61" /> - <hkern u1="&#xdd;" u2="&#x153;" k="102" /> - <hkern u1="&#xdd;" u2="&#x152;" k="41" /> - <hkern u1="&#xdd;" u2="&#x151;" k="102" /> - <hkern u1="&#xdd;" u2="&#x150;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x14c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x14b;" k="61" /> - <hkern u1="&#xdd;" u2="&#x146;" k="61" /> - <hkern u1="&#xdd;" u2="&#x144;" k="61" /> - <hkern u1="&#xdd;" u2="&#x138;" k="61" /> - <hkern u1="&#xdd;" u2="&#x123;" k="41" /> - <hkern u1="&#xdd;" u2="&#x122;" k="41" /> - <hkern u1="&#xdd;" u2="&#x121;" k="41" /> - <hkern u1="&#xdd;" u2="&#x120;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11f;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11e;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11d;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x11b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x119;" k="102" /> - <hkern u1="&#xdd;" u2="&#x117;" k="102" /> - <hkern u1="&#xdd;" u2="&#x115;" k="102" /> - <hkern u1="&#xdd;" u2="&#x113;" k="102" /> - <hkern u1="&#xdd;" u2="&#x111;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10f;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10d;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10c;" k="41" /> - <hkern u1="&#xdd;" u2="&#x10b;" k="102" /> - <hkern u1="&#xdd;" u2="&#x10a;" k="41" /> - <hkern u1="&#xdd;" u2="&#x109;" k="102" /> - <hkern u1="&#xdd;" u2="&#x108;" k="41" /> - <hkern u1="&#xdd;" u2="&#x107;" k="102" /> - <hkern u1="&#xdd;" u2="&#x106;" k="41" /> - <hkern u1="&#xdd;" u2="&#x105;" k="102" /> - <hkern u1="&#xdd;" u2="&#x104;" k="123" /> - <hkern u1="&#xdd;" u2="&#x103;" k="102" /> - <hkern u1="&#xdd;" u2="&#x102;" k="123" /> - <hkern u1="&#xdd;" u2="&#x101;" k="102" /> - <hkern u1="&#xdd;" u2="&#x100;" k="123" /> - <hkern u1="&#xdd;" u2="&#xfc;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfb;" k="61" /> - <hkern u1="&#xdd;" u2="&#xfa;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf9;" k="61" /> - <hkern u1="&#xdd;" u2="&#xf8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xf2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xeb;" k="102" /> - <hkern u1="&#xdd;" u2="&#xea;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe9;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe8;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe7;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe6;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe5;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe4;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe3;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe2;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe1;" k="102" /> - <hkern u1="&#xdd;" u2="&#xe0;" k="102" /> - <hkern u1="&#xdd;" u2="&#xd8;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd6;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd5;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd4;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd3;" k="41" /> - <hkern u1="&#xdd;" u2="&#xd2;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc7;" k="41" /> - <hkern u1="&#xdd;" u2="&#xc5;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc4;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc3;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc2;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc1;" k="123" /> - <hkern u1="&#xdd;" u2="&#xc0;" k="123" /> - <hkern u1="&#xdd;" u2="z" k="41" /> - <hkern u1="&#xdd;" u2="u" k="61" /> - <hkern u1="&#xdd;" u2="s" k="82" /> - <hkern u1="&#xdd;" u2="r" k="61" /> - <hkern u1="&#xdd;" u2="q" k="102" /> - <hkern u1="&#xdd;" u2="p" k="61" /> - <hkern u1="&#xdd;" u2="o" k="102" /> - <hkern u1="&#xdd;" u2="n" k="61" /> - <hkern u1="&#xdd;" u2="m" k="61" /> - <hkern u1="&#xdd;" u2="g" k="41" /> - <hkern u1="&#xdd;" u2="e" k="102" /> - <hkern u1="&#xdd;" u2="d" k="102" /> - <hkern u1="&#xdd;" u2="c" k="102" /> - <hkern u1="&#xdd;" u2="a" k="102" /> - <hkern u1="&#xdd;" u2="Q" k="41" /> - <hkern u1="&#xdd;" u2="O" k="41" /> - <hkern u1="&#xdd;" u2="G" k="41" /> - <hkern u1="&#xdd;" u2="C" k="41" /> - <hkern u1="&#xdd;" u2="A" k="123" /> - <hkern u1="&#xdd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xdd;" u2="&#x2e;" k="123" /> - <hkern u1="&#xdd;" u2="&#x2c;" k="123" /> - <hkern u1="&#xde;" u2="&#x201e;" k="266" /> - <hkern u1="&#xde;" u2="&#x201a;" k="266" /> - <hkern u1="&#xde;" u2="&#x1eb6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eb0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eae;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eac;" k="102" /> - <hkern u1="&#xde;" u2="&#x1eaa;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea8;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea6;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea4;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea2;" k="102" /> - <hkern u1="&#xde;" u2="&#x1ea0;" k="102" /> - <hkern u1="&#xde;" u2="&#x1e00;" k="102" /> - <hkern u1="&#xde;" u2="&#x1fa;" k="102" /> - <hkern u1="&#xde;" u2="&#x17d;" k="20" /> - <hkern u1="&#xde;" u2="&#x17b;" k="20" /> - <hkern u1="&#xde;" u2="&#x179;" k="20" /> - <hkern u1="&#xde;" u2="&#x104;" k="102" /> - <hkern u1="&#xde;" u2="&#x102;" k="102" /> - <hkern u1="&#xde;" u2="&#x100;" k="102" /> - <hkern u1="&#xde;" u2="&#xc5;" k="102" /> - <hkern u1="&#xde;" u2="&#xc4;" k="102" /> - <hkern u1="&#xde;" u2="&#xc3;" k="102" /> - <hkern u1="&#xde;" u2="&#xc2;" k="102" /> - <hkern u1="&#xde;" u2="&#xc1;" k="102" /> - <hkern u1="&#xde;" u2="&#xc0;" k="102" /> - <hkern u1="&#xde;" u2="Z" k="20" /> - <hkern u1="&#xde;" u2="X" k="41" /> - <hkern u1="&#xde;" u2="A" k="102" /> - <hkern u1="&#xde;" u2="&#x2e;" k="266" /> - <hkern u1="&#xde;" u2="&#x2c;" k="266" /> - <hkern u1="&#xe0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe0;" u2="&#x27;" k="20" /> - <hkern u1="&#xe0;" u2="&#x22;" k="20" /> - <hkern u1="&#xe1;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe1;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe1;" u2="&#x27;" k="20" /> - <hkern u1="&#xe1;" u2="&#x22;" k="20" /> - <hkern u1="&#xe2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe2;" u2="&#x27;" k="20" /> - <hkern u1="&#xe2;" u2="&#x22;" k="20" /> - <hkern u1="&#xe3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe3;" u2="&#x27;" k="20" /> - <hkern u1="&#xe3;" u2="&#x22;" k="20" /> - <hkern u1="&#xe4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe4;" u2="&#x27;" k="20" /> - <hkern u1="&#xe4;" u2="&#x22;" k="20" /> - <hkern u1="&#xe5;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe5;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe5;" u2="&#x27;" k="20" /> - <hkern u1="&#xe5;" u2="&#x22;" k="20" /> - <hkern u1="&#xe8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe8;" u2="&#x175;" k="41" /> - <hkern u1="&#xe8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe8;" u2="z" k="20" /> - <hkern u1="&#xe8;" u2="y" k="41" /> - <hkern u1="&#xe8;" u2="x" k="41" /> - <hkern u1="&#xe8;" u2="w" k="41" /> - <hkern u1="&#xe8;" u2="v" k="41" /> - <hkern u1="&#xe8;" u2="&#x27;" k="20" /> - <hkern u1="&#xe8;" u2="&#x22;" k="20" /> - <hkern u1="&#xe9;" u2="&#x201d;" k="20" /> - <hkern u1="&#xe9;" u2="&#x2019;" k="20" /> - <hkern u1="&#xe9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xe9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xe9;" u2="&#x17e;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17c;" k="20" /> - <hkern u1="&#xe9;" u2="&#x17a;" k="20" /> - <hkern u1="&#xe9;" u2="&#x175;" k="41" /> - <hkern u1="&#xe9;" u2="&#xfd;" k="41" /> - <hkern u1="&#xe9;" u2="z" k="20" /> - <hkern u1="&#xe9;" u2="y" k="41" /> - <hkern u1="&#xe9;" u2="x" k="41" /> - <hkern u1="&#xe9;" u2="w" k="41" /> - <hkern u1="&#xe9;" u2="v" k="41" /> - <hkern u1="&#xe9;" u2="&#x27;" k="20" /> - <hkern u1="&#xe9;" u2="&#x22;" k="20" /> - <hkern u1="&#xea;" u2="&#x201d;" k="20" /> - <hkern u1="&#xea;" u2="&#x2019;" k="20" /> - <hkern u1="&#xea;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xea;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xea;" u2="&#x17e;" k="20" /> - <hkern u1="&#xea;" u2="&#x17c;" k="20" /> - <hkern u1="&#xea;" u2="&#x17a;" k="20" /> - <hkern u1="&#xea;" u2="&#x175;" k="41" /> - <hkern u1="&#xea;" u2="&#xfd;" k="41" /> - <hkern u1="&#xea;" u2="z" k="20" /> - <hkern u1="&#xea;" u2="y" k="41" /> - <hkern u1="&#xea;" u2="x" k="41" /> - <hkern u1="&#xea;" u2="w" k="41" /> - <hkern u1="&#xea;" u2="v" k="41" /> - <hkern u1="&#xea;" u2="&#x27;" k="20" /> - <hkern u1="&#xea;" u2="&#x22;" k="20" /> - <hkern u1="&#xeb;" u2="&#x201d;" k="20" /> - <hkern u1="&#xeb;" u2="&#x2019;" k="20" /> - <hkern u1="&#xeb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xeb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xeb;" u2="&#x17e;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17c;" k="20" /> - <hkern u1="&#xeb;" u2="&#x17a;" k="20" /> - <hkern u1="&#xeb;" u2="&#x175;" k="41" /> - <hkern u1="&#xeb;" u2="&#xfd;" k="41" /> - <hkern u1="&#xeb;" u2="z" k="20" /> - <hkern u1="&#xeb;" u2="y" k="41" /> - <hkern u1="&#xeb;" u2="x" k="41" /> - <hkern u1="&#xeb;" u2="w" k="41" /> - <hkern u1="&#xeb;" u2="v" k="41" /> - <hkern u1="&#xeb;" u2="&#x27;" k="20" /> - <hkern u1="&#xeb;" u2="&#x22;" k="20" /> - <hkern u1="&#xf0;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf0;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf0;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf0;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf0;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf0;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf0;" u2="&#x175;" k="41" /> - <hkern u1="&#xf0;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf0;" u2="z" k="20" /> - <hkern u1="&#xf0;" u2="y" k="41" /> - <hkern u1="&#xf0;" u2="x" k="41" /> - <hkern u1="&#xf0;" u2="w" k="41" /> - <hkern u1="&#xf0;" u2="v" k="41" /> - <hkern u1="&#xf0;" u2="&#x27;" k="20" /> - <hkern u1="&#xf0;" u2="&#x22;" k="20" /> - <hkern u1="&#xf2;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf2;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf2;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf2;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf2;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf2;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf2;" u2="&#x175;" k="41" /> - <hkern u1="&#xf2;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf2;" u2="z" k="20" /> - <hkern u1="&#xf2;" u2="y" k="41" /> - <hkern u1="&#xf2;" u2="x" k="41" /> - <hkern u1="&#xf2;" u2="w" k="41" /> - <hkern u1="&#xf2;" u2="v" k="41" /> - <hkern u1="&#xf2;" u2="&#x27;" k="20" /> - <hkern u1="&#xf2;" u2="&#x22;" k="20" /> - <hkern u1="&#xf3;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf3;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf3;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf3;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf3;" u2="&#x175;" k="41" /> - <hkern u1="&#xf3;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf3;" u2="z" k="20" /> - <hkern u1="&#xf3;" u2="y" k="41" /> - <hkern u1="&#xf3;" u2="x" k="41" /> - <hkern u1="&#xf3;" u2="w" k="41" /> - <hkern u1="&#xf3;" u2="v" k="41" /> - <hkern u1="&#xf3;" u2="&#x27;" k="20" /> - <hkern u1="&#xf3;" u2="&#x22;" k="20" /> - <hkern u1="&#xf4;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf4;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf4;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf4;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf4;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf4;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf4;" u2="&#x175;" k="41" /> - <hkern u1="&#xf4;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf4;" u2="z" k="20" /> - <hkern u1="&#xf4;" u2="y" k="41" /> - <hkern u1="&#xf4;" u2="x" k="41" /> - <hkern u1="&#xf4;" u2="w" k="41" /> - <hkern u1="&#xf4;" u2="v" k="41" /> - <hkern u1="&#xf4;" u2="&#x27;" k="20" /> - <hkern u1="&#xf4;" u2="&#x22;" k="20" /> - <hkern u1="&#xf6;" u2="&#x201d;" k="41" /> - <hkern u1="&#xf6;" u2="&#x2019;" k="41" /> - <hkern u1="&#xf6;" u2="&#x27;" k="41" /> - <hkern u1="&#xf6;" u2="&#x22;" k="41" /> - <hkern u1="&#xf8;" u2="&#x201d;" k="20" /> - <hkern u1="&#xf8;" u2="&#x2019;" k="20" /> - <hkern u1="&#xf8;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xf8;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xf8;" u2="&#x17e;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17c;" k="20" /> - <hkern u1="&#xf8;" u2="&#x17a;" k="20" /> - <hkern u1="&#xf8;" u2="&#x175;" k="41" /> - <hkern u1="&#xf8;" u2="&#xfd;" k="41" /> - <hkern u1="&#xf8;" u2="z" k="20" /> - <hkern u1="&#xf8;" u2="y" k="41" /> - <hkern u1="&#xf8;" u2="x" k="41" /> - <hkern u1="&#xf8;" u2="w" k="41" /> - <hkern u1="&#xf8;" u2="v" k="41" /> - <hkern u1="&#xf8;" u2="&#x27;" k="20" /> - <hkern u1="&#xf8;" u2="&#x22;" k="20" /> - <hkern u1="&#xfd;" u2="&#x201e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x201a;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xfd;" u2="&#x2e;" k="82" /> - <hkern u1="&#xfd;" u2="&#x2c;" k="82" /> - <hkern u1="&#xfd;" u2="&#x27;" k="-82" /> - <hkern u1="&#xfd;" u2="&#x22;" k="-82" /> - <hkern u1="&#xfe;" u2="&#x201d;" k="20" /> - <hkern u1="&#xfe;" u2="&#x2019;" k="20" /> - <hkern u1="&#xfe;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e83;" k="41" /> - <hkern u1="&#xfe;" u2="&#x1e81;" k="41" /> - <hkern u1="&#xfe;" u2="&#x17e;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17c;" k="20" /> - <hkern u1="&#xfe;" u2="&#x17a;" k="20" /> - <hkern u1="&#xfe;" u2="&#x175;" k="41" /> - <hkern u1="&#xfe;" u2="&#xfd;" k="41" /> - <hkern u1="&#xfe;" u2="z" k="20" /> - <hkern u1="&#xfe;" u2="y" k="41" /> - <hkern u1="&#xfe;" u2="x" k="41" /> - <hkern u1="&#xfe;" u2="w" k="41" /> - <hkern u1="&#xfe;" u2="v" k="41" /> - <hkern u1="&#xfe;" u2="&#x27;" k="20" /> - <hkern u1="&#xfe;" u2="&#x22;" k="20" /> - <hkern u1="&#xff;" u2="&#x201e;" k="82" /> - <hkern u1="&#xff;" u2="&#x201d;" k="-82" /> - <hkern u1="&#xff;" u2="&#x201a;" k="82" /> - <hkern u1="&#xff;" u2="&#x2019;" k="-82" /> - <hkern u1="&#xff;" u2="&#x3f;" k="-41" /> - <hkern u1="&#xff;" u2="&#x2e;" k="82" /> - <hkern u1="&#xff;" u2="&#x2c;" k="82" /> - <hkern u1="&#xff;" u2="&#x27;" k="-82" /> - <hkern u1="&#xff;" u2="&#x22;" k="-82" /> - <hkern u1="&#x100;" u2="&#x201d;" k="143" /> - <hkern u1="&#x100;" u2="&#x2019;" k="143" /> - <hkern u1="&#x100;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x100;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x100;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x100;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x100;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x100;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x100;" u2="&#x21a;" k="143" /> - <hkern u1="&#x100;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x100;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x100;" u2="&#x178;" k="123" /> - <hkern u1="&#x100;" u2="&#x176;" k="123" /> - <hkern u1="&#x100;" u2="&#x174;" k="82" /> - <hkern u1="&#x100;" u2="&#x164;" k="143" /> - <hkern u1="&#x100;" u2="&#x162;" k="143" /> - <hkern u1="&#x100;" u2="&#x152;" k="41" /> - <hkern u1="&#x100;" u2="&#x150;" k="41" /> - <hkern u1="&#x100;" u2="&#x14e;" k="41" /> - <hkern u1="&#x100;" u2="&#x14c;" k="41" /> - <hkern u1="&#x100;" u2="&#x122;" k="41" /> - <hkern u1="&#x100;" u2="&#x120;" k="41" /> - <hkern u1="&#x100;" u2="&#x11e;" k="41" /> - <hkern u1="&#x100;" u2="&#x11c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10c;" k="41" /> - <hkern u1="&#x100;" u2="&#x10a;" k="41" /> - <hkern u1="&#x100;" u2="&#x108;" k="41" /> - <hkern u1="&#x100;" u2="&#x106;" k="41" /> - <hkern u1="&#x100;" u2="&#xdd;" k="123" /> - <hkern u1="&#x100;" u2="&#xd8;" k="41" /> - <hkern u1="&#x100;" u2="&#xd6;" k="41" /> - <hkern u1="&#x100;" u2="&#xd5;" k="41" /> - <hkern u1="&#x100;" u2="&#xd4;" k="41" /> - <hkern u1="&#x100;" u2="&#xd3;" k="41" /> - <hkern u1="&#x100;" u2="&#xd2;" k="41" /> - <hkern u1="&#x100;" u2="&#xc7;" k="41" /> - <hkern u1="&#x100;" u2="Y" k="123" /> - <hkern u1="&#x100;" u2="W" k="82" /> - <hkern u1="&#x100;" u2="V" k="82" /> - <hkern u1="&#x100;" u2="T" k="143" /> - <hkern u1="&#x100;" u2="Q" k="41" /> - <hkern u1="&#x100;" u2="O" k="41" /> - <hkern u1="&#x100;" u2="J" k="-266" /> - <hkern u1="&#x100;" u2="G" k="41" /> - <hkern u1="&#x100;" u2="C" k="41" /> - <hkern u1="&#x100;" u2="&#x27;" k="143" /> - <hkern u1="&#x100;" u2="&#x22;" k="143" /> - <hkern u1="&#x101;" u2="&#x201d;" k="20" /> - <hkern u1="&#x101;" u2="&#x2019;" k="20" /> - <hkern u1="&#x101;" u2="&#x27;" k="20" /> - <hkern u1="&#x101;" u2="&#x22;" k="20" /> - <hkern u1="&#x102;" u2="&#x201d;" k="143" /> - <hkern u1="&#x102;" u2="&#x2019;" k="143" /> - <hkern u1="&#x102;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x102;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x102;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x102;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x102;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x102;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x102;" u2="&#x21a;" k="143" /> - <hkern u1="&#x102;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x102;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x102;" u2="&#x178;" k="123" /> - <hkern u1="&#x102;" u2="&#x176;" k="123" /> - <hkern u1="&#x102;" u2="&#x174;" k="82" /> - <hkern u1="&#x102;" u2="&#x164;" k="143" /> - <hkern u1="&#x102;" u2="&#x162;" k="143" /> - <hkern u1="&#x102;" u2="&#x152;" k="41" /> - <hkern u1="&#x102;" u2="&#x150;" k="41" /> - <hkern u1="&#x102;" u2="&#x14e;" k="41" /> - <hkern u1="&#x102;" u2="&#x14c;" k="41" /> - <hkern u1="&#x102;" u2="&#x122;" k="41" /> - <hkern u1="&#x102;" u2="&#x120;" k="41" /> - <hkern u1="&#x102;" u2="&#x11e;" k="41" /> - <hkern u1="&#x102;" u2="&#x11c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10c;" k="41" /> - <hkern u1="&#x102;" u2="&#x10a;" k="41" /> - <hkern u1="&#x102;" u2="&#x108;" k="41" /> - <hkern u1="&#x102;" u2="&#x106;" k="41" /> - <hkern u1="&#x102;" u2="&#xdd;" k="123" /> - <hkern u1="&#x102;" u2="&#xd8;" k="41" /> - <hkern u1="&#x102;" u2="&#xd6;" k="41" /> - <hkern u1="&#x102;" u2="&#xd5;" k="41" /> - <hkern u1="&#x102;" u2="&#xd4;" k="41" /> - <hkern u1="&#x102;" u2="&#xd3;" k="41" /> - <hkern u1="&#x102;" u2="&#xd2;" k="41" /> - <hkern u1="&#x102;" u2="&#xc7;" k="41" /> - <hkern u1="&#x102;" u2="Y" k="123" /> - <hkern u1="&#x102;" u2="W" k="82" /> - <hkern u1="&#x102;" u2="V" k="82" /> - <hkern u1="&#x102;" u2="T" k="143" /> - <hkern u1="&#x102;" u2="Q" k="41" /> - <hkern u1="&#x102;" u2="O" k="41" /> - <hkern u1="&#x102;" u2="J" k="-266" /> - <hkern u1="&#x102;" u2="G" k="41" /> - <hkern u1="&#x102;" u2="C" k="41" /> - <hkern u1="&#x102;" u2="&#x27;" k="143" /> - <hkern u1="&#x102;" u2="&#x22;" k="143" /> - <hkern u1="&#x103;" u2="&#x201d;" k="20" /> - <hkern u1="&#x103;" u2="&#x2019;" k="20" /> - <hkern u1="&#x103;" u2="&#x27;" k="20" /> - <hkern u1="&#x103;" u2="&#x22;" k="20" /> - <hkern u1="&#x104;" u2="&#x201d;" k="143" /> - <hkern u1="&#x104;" u2="&#x2019;" k="143" /> - <hkern u1="&#x104;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x104;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x104;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x104;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x104;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x104;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x104;" u2="&#x21a;" k="143" /> - <hkern u1="&#x104;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x104;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x104;" u2="&#x178;" k="123" /> - <hkern u1="&#x104;" u2="&#x176;" k="123" /> - <hkern u1="&#x104;" u2="&#x174;" k="82" /> - <hkern u1="&#x104;" u2="&#x164;" k="143" /> - <hkern u1="&#x104;" u2="&#x162;" k="143" /> - <hkern u1="&#x104;" u2="&#x152;" k="41" /> - <hkern u1="&#x104;" u2="&#x150;" k="41" /> - <hkern u1="&#x104;" u2="&#x14e;" k="41" /> - <hkern u1="&#x104;" u2="&#x14c;" k="41" /> - <hkern u1="&#x104;" u2="&#x122;" k="41" /> - <hkern u1="&#x104;" u2="&#x120;" k="41" /> - <hkern u1="&#x104;" u2="&#x11e;" k="41" /> - <hkern u1="&#x104;" u2="&#x11c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10c;" k="41" /> - <hkern u1="&#x104;" u2="&#x10a;" k="41" /> - <hkern u1="&#x104;" u2="&#x108;" k="41" /> - <hkern u1="&#x104;" u2="&#x106;" k="41" /> - <hkern u1="&#x104;" u2="&#xdd;" k="123" /> - <hkern u1="&#x104;" u2="&#xd8;" k="41" /> - <hkern u1="&#x104;" u2="&#xd6;" k="41" /> - <hkern u1="&#x104;" u2="&#xd5;" k="41" /> - <hkern u1="&#x104;" u2="&#xd4;" k="41" /> - <hkern u1="&#x104;" u2="&#xd3;" k="41" /> - <hkern u1="&#x104;" u2="&#xd2;" k="41" /> - <hkern u1="&#x104;" u2="&#xc7;" k="41" /> - <hkern u1="&#x104;" u2="Y" k="123" /> - <hkern u1="&#x104;" u2="W" k="82" /> - <hkern u1="&#x104;" u2="V" k="82" /> - <hkern u1="&#x104;" u2="T" k="143" /> - <hkern u1="&#x104;" u2="Q" k="41" /> - <hkern u1="&#x104;" u2="O" k="41" /> - <hkern u1="&#x104;" u2="J" k="-266" /> - <hkern u1="&#x104;" u2="G" k="41" /> - <hkern u1="&#x104;" u2="C" k="41" /> - <hkern u1="&#x104;" u2="&#x27;" k="143" /> - <hkern u1="&#x104;" u2="&#x22;" k="143" /> - <hkern u1="&#x105;" u2="&#x201d;" k="20" /> - <hkern u1="&#x105;" u2="&#x2019;" k="20" /> - <hkern u1="&#x105;" u2="&#x27;" k="20" /> - <hkern u1="&#x105;" u2="&#x22;" k="20" /> - <hkern u1="&#x106;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x106;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x106;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x106;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x106;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x106;" u2="&#x152;" k="41" /> - <hkern u1="&#x106;" u2="&#x150;" k="41" /> - <hkern u1="&#x106;" u2="&#x14e;" k="41" /> - <hkern u1="&#x106;" u2="&#x14c;" k="41" /> - <hkern u1="&#x106;" u2="&#x122;" k="41" /> - <hkern u1="&#x106;" u2="&#x120;" k="41" /> - <hkern u1="&#x106;" u2="&#x11e;" k="41" /> - <hkern u1="&#x106;" u2="&#x11c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10c;" k="41" /> - <hkern u1="&#x106;" u2="&#x10a;" k="41" /> - <hkern u1="&#x106;" u2="&#x108;" k="41" /> - <hkern u1="&#x106;" u2="&#x106;" k="41" /> - <hkern u1="&#x106;" u2="&#xd8;" k="41" /> - <hkern u1="&#x106;" u2="&#xd6;" k="41" /> - <hkern u1="&#x106;" u2="&#xd5;" k="41" /> - <hkern u1="&#x106;" u2="&#xd4;" k="41" /> - <hkern u1="&#x106;" u2="&#xd3;" k="41" /> - <hkern u1="&#x106;" u2="&#xd2;" k="41" /> - <hkern u1="&#x106;" u2="&#xc7;" k="41" /> - <hkern u1="&#x106;" u2="Q" k="41" /> - <hkern u1="&#x106;" u2="O" k="41" /> - <hkern u1="&#x106;" u2="G" k="41" /> - <hkern u1="&#x106;" u2="C" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x108;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x108;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x108;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x108;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x108;" u2="&#x152;" k="41" /> - <hkern u1="&#x108;" u2="&#x150;" k="41" /> - <hkern u1="&#x108;" u2="&#x14e;" k="41" /> - <hkern u1="&#x108;" u2="&#x14c;" k="41" /> - <hkern u1="&#x108;" u2="&#x122;" k="41" /> - <hkern u1="&#x108;" u2="&#x120;" k="41" /> - <hkern u1="&#x108;" u2="&#x11e;" k="41" /> - <hkern u1="&#x108;" u2="&#x11c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10c;" k="41" /> - <hkern u1="&#x108;" u2="&#x10a;" k="41" /> - <hkern u1="&#x108;" u2="&#x108;" k="41" /> - <hkern u1="&#x108;" u2="&#x106;" k="41" /> - <hkern u1="&#x108;" u2="&#xd8;" k="41" /> - <hkern u1="&#x108;" u2="&#xd6;" k="41" /> - <hkern u1="&#x108;" u2="&#xd5;" k="41" /> - <hkern u1="&#x108;" u2="&#xd4;" k="41" /> - <hkern u1="&#x108;" u2="&#xd3;" k="41" /> - <hkern u1="&#x108;" u2="&#xd2;" k="41" /> - <hkern u1="&#x108;" u2="&#xc7;" k="41" /> - <hkern u1="&#x108;" u2="Q" k="41" /> - <hkern u1="&#x108;" u2="O" k="41" /> - <hkern u1="&#x108;" u2="G" k="41" /> - <hkern u1="&#x108;" u2="C" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10a;" u2="&#x152;" k="41" /> - <hkern u1="&#x10a;" u2="&#x150;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x122;" k="41" /> - <hkern u1="&#x10a;" u2="&#x120;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10a;" u2="&#x108;" k="41" /> - <hkern u1="&#x10a;" u2="&#x106;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10a;" u2="Q" k="41" /> - <hkern u1="&#x10a;" u2="O" k="41" /> - <hkern u1="&#x10a;" u2="G" k="41" /> - <hkern u1="&#x10a;" u2="C" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x10c;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x10c;" u2="&#x152;" k="41" /> - <hkern u1="&#x10c;" u2="&#x150;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x14c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x122;" k="41" /> - <hkern u1="&#x10c;" u2="&#x120;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11e;" k="41" /> - <hkern u1="&#x10c;" u2="&#x11c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10c;" k="41" /> - <hkern u1="&#x10c;" u2="&#x10a;" k="41" /> - <hkern u1="&#x10c;" u2="&#x108;" k="41" /> - <hkern u1="&#x10c;" u2="&#x106;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd8;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd6;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd5;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd4;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd3;" k="41" /> - <hkern u1="&#x10c;" u2="&#xd2;" k="41" /> - <hkern u1="&#x10c;" u2="&#xc7;" k="41" /> - <hkern u1="&#x10c;" u2="Q" k="41" /> - <hkern u1="&#x10c;" u2="O" k="41" /> - <hkern u1="&#x10c;" u2="G" k="41" /> - <hkern u1="&#x10c;" u2="C" k="41" /> - <hkern u1="&#x10e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x10e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x10e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x10e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x10e;" u2="&#x405;" k="20" /> - <hkern u1="&#x10e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x10e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x10e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x10e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x10e;" u2="&#x179;" k="20" /> - <hkern u1="&#x10e;" u2="&#x178;" k="20" /> - <hkern u1="&#x10e;" u2="&#x176;" k="20" /> - <hkern u1="&#x10e;" u2="&#x174;" k="20" /> - <hkern u1="&#x10e;" u2="&#x164;" k="61" /> - <hkern u1="&#x10e;" u2="&#x162;" k="61" /> - <hkern u1="&#x10e;" u2="&#x104;" k="41" /> - <hkern u1="&#x10e;" u2="&#x102;" k="41" /> - <hkern u1="&#x10e;" u2="&#x100;" k="41" /> - <hkern u1="&#x10e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x10e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x10e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x10e;" u2="Z" k="20" /> - <hkern u1="&#x10e;" u2="Y" k="20" /> - <hkern u1="&#x10e;" u2="X" k="41" /> - <hkern u1="&#x10e;" u2="W" k="20" /> - <hkern u1="&#x10e;" u2="V" k="20" /> - <hkern u1="&#x10e;" u2="T" k="61" /> - <hkern u1="&#x10e;" u2="A" k="41" /> - <hkern u1="&#x10e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x10e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x10f;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x127;" k="-123" /> - <hkern u1="&#x10f;" u2="&#x125;" k="-61" /> - <hkern u1="&#x10f;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x10f;" u2="l" k="-61" /> - <hkern u1="&#x10f;" u2="k" k="-61" /> - <hkern u1="&#x10f;" u2="h" k="-61" /> - <hkern u1="&#x10f;" u2="b" k="-61" /> - <hkern u1="&#x10f;" u2="]" k="-143" /> - <hkern u1="&#x10f;" u2="&#x3f;" k="-164" /> - <hkern u1="&#x10f;" u2="&#x29;" k="-143" /> - <hkern u1="&#x10f;" u2="&#x27;" k="-82" /> - <hkern u1="&#x10f;" u2="&#x22;" k="-82" /> - <hkern u1="&#x110;" u2="&#x201e;" k="82" /> - <hkern u1="&#x110;" u2="&#x201a;" k="82" /> - <hkern u1="&#x110;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x110;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x110;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x110;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x110;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x110;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x110;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x110;" u2="&#x405;" k="20" /> - <hkern u1="&#x110;" u2="&#x21a;" k="61" /> - <hkern u1="&#x110;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x110;" u2="&#x17d;" k="20" /> - <hkern u1="&#x110;" u2="&#x17b;" k="20" /> - <hkern u1="&#x110;" u2="&#x179;" k="20" /> - <hkern u1="&#x110;" u2="&#x178;" k="20" /> - <hkern u1="&#x110;" u2="&#x176;" k="20" /> - <hkern u1="&#x110;" u2="&#x174;" k="20" /> - <hkern u1="&#x110;" u2="&#x164;" k="61" /> - <hkern u1="&#x110;" u2="&#x162;" k="61" /> - <hkern u1="&#x110;" u2="&#x104;" k="41" /> - <hkern u1="&#x110;" u2="&#x102;" k="41" /> - <hkern u1="&#x110;" u2="&#x100;" k="41" /> - <hkern u1="&#x110;" u2="&#xdd;" k="20" /> - <hkern u1="&#x110;" u2="&#xc5;" k="41" /> - <hkern u1="&#x110;" u2="&#xc4;" k="41" /> - <hkern u1="&#x110;" u2="&#xc3;" k="41" /> - <hkern u1="&#x110;" u2="&#xc2;" k="41" /> - <hkern u1="&#x110;" u2="&#xc1;" k="41" /> - <hkern u1="&#x110;" u2="&#xc0;" k="41" /> - <hkern u1="&#x110;" u2="Z" k="20" /> - <hkern u1="&#x110;" u2="Y" k="20" /> - <hkern u1="&#x110;" u2="X" k="41" /> - <hkern u1="&#x110;" u2="W" k="20" /> - <hkern u1="&#x110;" u2="V" k="20" /> - <hkern u1="&#x110;" u2="T" k="61" /> - <hkern u1="&#x110;" u2="A" k="41" /> - <hkern u1="&#x110;" u2="&#x2e;" k="82" /> - <hkern u1="&#x110;" u2="&#x2c;" k="82" /> - <hkern u1="&#x112;" u2="J" k="-123" /> - <hkern u1="&#x113;" u2="&#x201d;" k="20" /> - <hkern u1="&#x113;" u2="&#x2019;" k="20" /> - <hkern u1="&#x113;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x113;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x113;" u2="&#x17e;" k="20" /> - <hkern u1="&#x113;" u2="&#x17c;" k="20" /> - <hkern u1="&#x113;" u2="&#x17a;" k="20" /> - <hkern u1="&#x113;" u2="&#x175;" k="41" /> - <hkern u1="&#x113;" u2="&#xfd;" k="41" /> - <hkern u1="&#x113;" u2="z" k="20" /> - <hkern u1="&#x113;" u2="y" k="41" /> - <hkern u1="&#x113;" u2="x" k="41" /> - <hkern u1="&#x113;" u2="w" k="41" /> - <hkern u1="&#x113;" u2="v" k="41" /> - <hkern u1="&#x113;" u2="&#x27;" k="20" /> - <hkern u1="&#x113;" u2="&#x22;" k="20" /> - <hkern u1="&#x114;" u2="J" k="-123" /> - <hkern u1="&#x115;" u2="&#x201d;" k="20" /> - <hkern u1="&#x115;" u2="&#x2019;" k="20" /> - <hkern u1="&#x115;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x115;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x115;" u2="&#x17e;" k="20" /> - <hkern u1="&#x115;" u2="&#x17c;" k="20" /> - <hkern u1="&#x115;" u2="&#x17a;" k="20" /> - <hkern u1="&#x115;" u2="&#x175;" k="41" /> - <hkern u1="&#x115;" u2="&#xfd;" k="41" /> - <hkern u1="&#x115;" u2="z" k="20" /> - <hkern u1="&#x115;" u2="y" k="41" /> - <hkern u1="&#x115;" u2="x" k="41" /> - <hkern u1="&#x115;" u2="w" k="41" /> - <hkern u1="&#x115;" u2="v" k="41" /> - <hkern u1="&#x115;" u2="&#x27;" k="20" /> - <hkern u1="&#x115;" u2="&#x22;" k="20" /> - <hkern u1="&#x116;" u2="J" k="-123" /> - <hkern u1="&#x117;" u2="&#x201d;" k="20" /> - <hkern u1="&#x117;" u2="&#x2019;" k="20" /> - <hkern u1="&#x117;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x117;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x117;" u2="&#x17e;" k="20" /> - <hkern u1="&#x117;" u2="&#x17c;" k="20" /> - <hkern u1="&#x117;" u2="&#x17a;" k="20" /> - <hkern u1="&#x117;" u2="&#x175;" k="41" /> - <hkern u1="&#x117;" u2="&#xfd;" k="41" /> - <hkern u1="&#x117;" u2="z" k="20" /> - <hkern u1="&#x117;" u2="y" k="41" /> - <hkern u1="&#x117;" u2="x" k="41" /> - <hkern u1="&#x117;" u2="w" k="41" /> - <hkern u1="&#x117;" u2="v" k="41" /> - <hkern u1="&#x117;" u2="&#x27;" k="20" /> - <hkern u1="&#x117;" u2="&#x22;" k="20" /> - <hkern u1="&#x118;" u2="J" k="-123" /> - <hkern u1="&#x119;" u2="&#x201d;" k="20" /> - <hkern u1="&#x119;" u2="&#x2019;" k="20" /> - <hkern u1="&#x119;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x119;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x119;" u2="&#x17e;" k="20" /> - <hkern u1="&#x119;" u2="&#x17c;" k="20" /> - <hkern u1="&#x119;" u2="&#x17a;" k="20" /> - <hkern u1="&#x119;" u2="&#x175;" k="41" /> - <hkern u1="&#x119;" u2="&#xfd;" k="41" /> - <hkern u1="&#x119;" u2="z" k="20" /> - <hkern u1="&#x119;" u2="y" k="41" /> - <hkern u1="&#x119;" u2="x" k="41" /> - <hkern u1="&#x119;" u2="w" k="41" /> - <hkern u1="&#x119;" u2="v" k="41" /> - <hkern u1="&#x119;" u2="&#x27;" k="20" /> - <hkern u1="&#x119;" u2="&#x22;" k="20" /> - <hkern u1="&#x11a;" u2="J" k="-123" /> - <hkern u1="&#x11b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x11b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x11b;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x11b;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x11b;" u2="&#x17e;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17c;" k="20" /> - <hkern u1="&#x11b;" u2="&#x17a;" k="20" /> - <hkern u1="&#x11b;" u2="&#x175;" k="41" /> - <hkern u1="&#x11b;" u2="&#xfd;" k="41" /> - <hkern u1="&#x11b;" u2="z" k="20" /> - <hkern u1="&#x11b;" u2="y" k="41" /> - <hkern u1="&#x11b;" u2="x" k="41" /> - <hkern u1="&#x11b;" u2="w" k="41" /> - <hkern u1="&#x11b;" u2="v" k="41" /> - <hkern u1="&#x11b;" u2="&#x27;" k="20" /> - <hkern u1="&#x11b;" u2="&#x22;" k="20" /> - <hkern u1="&#x125;" u2="&#x201d;" k="20" /> - <hkern u1="&#x125;" u2="&#x2019;" k="20" /> - <hkern u1="&#x125;" u2="&#x27;" k="20" /> - <hkern u1="&#x125;" u2="&#x22;" k="20" /> - <hkern u1="&#x136;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x136;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x136;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x136;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x136;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x136;" u2="&#x152;" k="41" /> - <hkern u1="&#x136;" u2="&#x150;" k="41" /> - <hkern u1="&#x136;" u2="&#x14e;" k="41" /> - <hkern u1="&#x136;" u2="&#x14c;" k="41" /> - <hkern u1="&#x136;" u2="&#x122;" k="41" /> - <hkern u1="&#x136;" u2="&#x120;" k="41" /> - <hkern u1="&#x136;" u2="&#x11e;" k="41" /> - <hkern u1="&#x136;" u2="&#x11c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10c;" k="41" /> - <hkern u1="&#x136;" u2="&#x10a;" k="41" /> - <hkern u1="&#x136;" u2="&#x108;" k="41" /> - <hkern u1="&#x136;" u2="&#x106;" k="41" /> - <hkern u1="&#x136;" u2="&#xd8;" k="41" /> - <hkern u1="&#x136;" u2="&#xd6;" k="41" /> - <hkern u1="&#x136;" u2="&#xd5;" k="41" /> - <hkern u1="&#x136;" u2="&#xd4;" k="41" /> - <hkern u1="&#x136;" u2="&#xd3;" k="41" /> - <hkern u1="&#x136;" u2="&#xd2;" k="41" /> - <hkern u1="&#x136;" u2="&#xc7;" k="41" /> - <hkern u1="&#x136;" u2="Q" k="41" /> - <hkern u1="&#x136;" u2="O" k="41" /> - <hkern u1="&#x136;" u2="G" k="41" /> - <hkern u1="&#x136;" u2="C" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x137;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x137;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x137;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x137;" u2="&#x153;" k="41" /> - <hkern u1="&#x137;" u2="&#x151;" k="41" /> - <hkern u1="&#x137;" u2="&#x14f;" k="41" /> - <hkern u1="&#x137;" u2="&#x14d;" k="41" /> - <hkern u1="&#x137;" u2="&#x11b;" k="41" /> - <hkern u1="&#x137;" u2="&#x119;" k="41" /> - <hkern u1="&#x137;" u2="&#x117;" k="41" /> - <hkern u1="&#x137;" u2="&#x115;" k="41" /> - <hkern u1="&#x137;" u2="&#x113;" k="41" /> - <hkern u1="&#x137;" u2="&#x111;" k="41" /> - <hkern u1="&#x137;" u2="&#x10f;" k="41" /> - <hkern u1="&#x137;" u2="&#x10d;" k="41" /> - <hkern u1="&#x137;" u2="&#x10b;" k="41" /> - <hkern u1="&#x137;" u2="&#x109;" k="41" /> - <hkern u1="&#x137;" u2="&#x107;" k="41" /> - <hkern u1="&#x137;" u2="&#xf8;" k="41" /> - <hkern u1="&#x137;" u2="&#xf6;" k="41" /> - <hkern u1="&#x137;" u2="&#xf5;" k="41" /> - <hkern u1="&#x137;" u2="&#xf4;" k="41" /> - <hkern u1="&#x137;" u2="&#xf3;" k="41" /> - <hkern u1="&#x137;" u2="&#xf2;" k="41" /> - <hkern u1="&#x137;" u2="&#xeb;" k="41" /> - <hkern u1="&#x137;" u2="&#xea;" k="41" /> - <hkern u1="&#x137;" u2="&#xe9;" k="41" /> - <hkern u1="&#x137;" u2="&#xe8;" k="41" /> - <hkern u1="&#x137;" u2="&#xe7;" k="41" /> - <hkern u1="&#x137;" u2="&#xe0;" k="41" /> - <hkern u1="&#x137;" u2="q" k="41" /> - <hkern u1="&#x137;" u2="o" k="41" /> - <hkern u1="&#x137;" u2="e" k="41" /> - <hkern u1="&#x137;" u2="d" k="41" /> - <hkern u1="&#x137;" u2="c" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x138;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x138;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x138;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x138;" u2="&#x153;" k="41" /> - <hkern u1="&#x138;" u2="&#x151;" k="41" /> - <hkern u1="&#x138;" u2="&#x14f;" k="41" /> - <hkern u1="&#x138;" u2="&#x14d;" k="41" /> - <hkern u1="&#x138;" u2="&#x11b;" k="41" /> - <hkern u1="&#x138;" u2="&#x119;" k="41" /> - <hkern u1="&#x138;" u2="&#x117;" k="41" /> - <hkern u1="&#x138;" u2="&#x115;" k="41" /> - <hkern u1="&#x138;" u2="&#x113;" k="41" /> - <hkern u1="&#x138;" u2="&#x111;" k="41" /> - <hkern u1="&#x138;" u2="&#x10f;" k="41" /> - <hkern u1="&#x138;" u2="&#x10d;" k="41" /> - <hkern u1="&#x138;" u2="&#x10b;" k="41" /> - <hkern u1="&#x138;" u2="&#x109;" k="41" /> - <hkern u1="&#x138;" u2="&#x107;" k="41" /> - <hkern u1="&#x138;" u2="&#xf8;" k="41" /> - <hkern u1="&#x138;" u2="&#xf6;" k="41" /> - <hkern u1="&#x138;" u2="&#xf5;" k="41" /> - <hkern u1="&#x138;" u2="&#xf4;" k="41" /> - <hkern u1="&#x138;" u2="&#xf3;" k="41" /> - <hkern u1="&#x138;" u2="&#xf2;" k="41" /> - <hkern u1="&#x138;" u2="&#xeb;" k="41" /> - <hkern u1="&#x138;" u2="&#xea;" k="41" /> - <hkern u1="&#x138;" u2="&#xe9;" k="41" /> - <hkern u1="&#x138;" u2="&#xe8;" k="41" /> - <hkern u1="&#x138;" u2="&#xe7;" k="41" /> - <hkern u1="&#x138;" u2="&#xe0;" k="41" /> - <hkern u1="&#x138;" u2="q" k="41" /> - <hkern u1="&#x138;" u2="o" k="41" /> - <hkern u1="&#x138;" u2="e" k="41" /> - <hkern u1="&#x138;" u2="d" k="41" /> - <hkern u1="&#x138;" u2="c" k="41" /> - <hkern u1="&#x139;" u2="&#x201d;" k="164" /> - <hkern u1="&#x139;" u2="&#x2019;" k="164" /> - <hkern u1="&#x139;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x139;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x139;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x139;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x139;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x139;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x139;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x139;" u2="&#x21a;" k="41" /> - <hkern u1="&#x139;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x139;" u2="&#x1af;" k="20" /> - <hkern u1="&#x139;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x139;" u2="&#x178;" k="61" /> - <hkern u1="&#x139;" u2="&#x176;" k="61" /> - <hkern u1="&#x139;" u2="&#x174;" k="41" /> - <hkern u1="&#x139;" u2="&#x172;" k="20" /> - <hkern u1="&#x139;" u2="&#x170;" k="20" /> - <hkern u1="&#x139;" u2="&#x16e;" k="20" /> - <hkern u1="&#x139;" u2="&#x16c;" k="20" /> - <hkern u1="&#x139;" u2="&#x16a;" k="20" /> - <hkern u1="&#x139;" u2="&#x168;" k="20" /> - <hkern u1="&#x139;" u2="&#x164;" k="41" /> - <hkern u1="&#x139;" u2="&#x162;" k="41" /> - <hkern u1="&#x139;" u2="&#x152;" k="41" /> - <hkern u1="&#x139;" u2="&#x150;" k="41" /> - <hkern u1="&#x139;" u2="&#x14e;" k="41" /> - <hkern u1="&#x139;" u2="&#x14c;" k="41" /> - <hkern u1="&#x139;" u2="&#x122;" k="41" /> - <hkern u1="&#x139;" u2="&#x120;" k="41" /> - <hkern u1="&#x139;" u2="&#x11e;" k="41" /> - <hkern u1="&#x139;" u2="&#x11c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10c;" k="41" /> - <hkern u1="&#x139;" u2="&#x10a;" k="41" /> - <hkern u1="&#x139;" u2="&#x108;" k="41" /> - <hkern u1="&#x139;" u2="&#x106;" k="41" /> - <hkern u1="&#x139;" u2="&#xdd;" k="61" /> - <hkern u1="&#x139;" u2="&#xdc;" k="20" /> - <hkern u1="&#x139;" u2="&#xdb;" k="20" /> - <hkern u1="&#x139;" u2="&#xda;" k="20" /> - <hkern u1="&#x139;" u2="&#xd9;" k="20" /> - <hkern u1="&#x139;" u2="&#xd8;" k="41" /> - <hkern u1="&#x139;" u2="&#xd6;" k="41" /> - <hkern u1="&#x139;" u2="&#xd5;" k="41" /> - <hkern u1="&#x139;" u2="&#xd4;" k="41" /> - <hkern u1="&#x139;" u2="&#xd3;" k="41" /> - <hkern u1="&#x139;" u2="&#xd2;" k="41" /> - <hkern u1="&#x139;" u2="&#xc7;" k="41" /> - <hkern u1="&#x139;" u2="Y" k="61" /> - <hkern u1="&#x139;" u2="W" k="41" /> - <hkern u1="&#x139;" u2="V" k="41" /> - <hkern u1="&#x139;" u2="U" k="20" /> - <hkern u1="&#x139;" u2="T" k="41" /> - <hkern u1="&#x139;" u2="Q" k="41" /> - <hkern u1="&#x139;" u2="O" k="41" /> - <hkern u1="&#x139;" u2="G" k="41" /> - <hkern u1="&#x139;" u2="C" k="41" /> - <hkern u1="&#x139;" u2="&#x27;" k="164" /> - <hkern u1="&#x139;" u2="&#x22;" k="164" /> - <hkern u1="&#x13b;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13b;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13b;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13b;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13b;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13b;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13b;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13b;" u2="&#x178;" k="61" /> - <hkern u1="&#x13b;" u2="&#x176;" k="61" /> - <hkern u1="&#x13b;" u2="&#x174;" k="41" /> - <hkern u1="&#x13b;" u2="&#x172;" k="20" /> - <hkern u1="&#x13b;" u2="&#x170;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13b;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13b;" u2="&#x168;" k="20" /> - <hkern u1="&#x13b;" u2="&#x164;" k="41" /> - <hkern u1="&#x13b;" u2="&#x162;" k="41" /> - <hkern u1="&#x13b;" u2="&#x152;" k="41" /> - <hkern u1="&#x13b;" u2="&#x150;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x122;" k="41" /> - <hkern u1="&#x13b;" u2="&#x120;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13b;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13b;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13b;" u2="&#x108;" k="41" /> - <hkern u1="&#x13b;" u2="&#x106;" k="41" /> - <hkern u1="&#x13b;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13b;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13b;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13b;" u2="&#xda;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13b;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13b;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13b;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13b;" u2="Y" k="61" /> - <hkern u1="&#x13b;" u2="W" k="41" /> - <hkern u1="&#x13b;" u2="V" k="41" /> - <hkern u1="&#x13b;" u2="U" k="20" /> - <hkern u1="&#x13b;" u2="T" k="41" /> - <hkern u1="&#x13b;" u2="Q" k="41" /> - <hkern u1="&#x13b;" u2="O" k="41" /> - <hkern u1="&#x13b;" u2="G" k="41" /> - <hkern u1="&#x13b;" u2="C" k="41" /> - <hkern u1="&#x13b;" u2="&#x27;" k="164" /> - <hkern u1="&#x13b;" u2="&#x22;" k="164" /> - <hkern u1="&#x13d;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13d;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13d;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13d;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13d;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13d;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13d;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13d;" u2="&#x178;" k="61" /> - <hkern u1="&#x13d;" u2="&#x176;" k="61" /> - <hkern u1="&#x13d;" u2="&#x174;" k="41" /> - <hkern u1="&#x13d;" u2="&#x172;" k="20" /> - <hkern u1="&#x13d;" u2="&#x170;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13d;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13d;" u2="&#x168;" k="20" /> - <hkern u1="&#x13d;" u2="&#x164;" k="41" /> - <hkern u1="&#x13d;" u2="&#x162;" k="41" /> - <hkern u1="&#x13d;" u2="&#x152;" k="41" /> - <hkern u1="&#x13d;" u2="&#x150;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x122;" k="41" /> - <hkern u1="&#x13d;" u2="&#x120;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13d;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13d;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13d;" u2="&#x108;" k="41" /> - <hkern u1="&#x13d;" u2="&#x106;" k="41" /> - <hkern u1="&#x13d;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13d;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13d;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13d;" u2="&#xda;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13d;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13d;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13d;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13d;" u2="Y" k="61" /> - <hkern u1="&#x13d;" u2="W" k="41" /> - <hkern u1="&#x13d;" u2="V" k="41" /> - <hkern u1="&#x13d;" u2="U" k="20" /> - <hkern u1="&#x13d;" u2="T" k="41" /> - <hkern u1="&#x13d;" u2="Q" k="41" /> - <hkern u1="&#x13d;" u2="O" k="41" /> - <hkern u1="&#x13d;" u2="G" k="41" /> - <hkern u1="&#x13d;" u2="C" k="41" /> - <hkern u1="&#x13d;" u2="&#x27;" k="164" /> - <hkern u1="&#x13d;" u2="&#x22;" k="164" /> - <hkern u1="&#x13e;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x127;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x125;" k="-61" /> - <hkern u1="&#x13e;" u2="&#x7d;" k="-143" /> - <hkern u1="&#x13e;" u2="l" k="-61" /> - <hkern u1="&#x13e;" u2="k" k="-61" /> - <hkern u1="&#x13e;" u2="h" k="-61" /> - <hkern u1="&#x13e;" u2="b" k="-61" /> - <hkern u1="&#x13e;" u2="]" k="-143" /> - <hkern u1="&#x13e;" u2="&#x3f;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x29;" k="-143" /> - <hkern u1="&#x13e;" u2="&#x27;" k="-82" /> - <hkern u1="&#x13e;" u2="&#x22;" k="-82" /> - <hkern u1="&#x13f;" u2="&#x201d;" k="164" /> - <hkern u1="&#x13f;" u2="&#x2019;" k="164" /> - <hkern u1="&#x13f;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x13f;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x13f;" u2="&#x21a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x13f;" u2="&#x1af;" k="20" /> - <hkern u1="&#x13f;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x13f;" u2="&#x178;" k="61" /> - <hkern u1="&#x13f;" u2="&#x176;" k="61" /> - <hkern u1="&#x13f;" u2="&#x174;" k="41" /> - <hkern u1="&#x13f;" u2="&#x172;" k="20" /> - <hkern u1="&#x13f;" u2="&#x170;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16e;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16c;" k="20" /> - <hkern u1="&#x13f;" u2="&#x16a;" k="20" /> - <hkern u1="&#x13f;" u2="&#x168;" k="20" /> - <hkern u1="&#x13f;" u2="&#x164;" k="41" /> - <hkern u1="&#x13f;" u2="&#x162;" k="41" /> - <hkern u1="&#x13f;" u2="&#x152;" k="41" /> - <hkern u1="&#x13f;" u2="&#x150;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x14c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x122;" k="41" /> - <hkern u1="&#x13f;" u2="&#x120;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11e;" k="41" /> - <hkern u1="&#x13f;" u2="&#x11c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10c;" k="41" /> - <hkern u1="&#x13f;" u2="&#x10a;" k="41" /> - <hkern u1="&#x13f;" u2="&#x108;" k="41" /> - <hkern u1="&#x13f;" u2="&#x106;" k="41" /> - <hkern u1="&#x13f;" u2="&#xdd;" k="61" /> - <hkern u1="&#x13f;" u2="&#xdc;" k="20" /> - <hkern u1="&#x13f;" u2="&#xdb;" k="20" /> - <hkern u1="&#x13f;" u2="&#xda;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd9;" k="20" /> - <hkern u1="&#x13f;" u2="&#xd8;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd6;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd5;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd4;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd3;" k="41" /> - <hkern u1="&#x13f;" u2="&#xd2;" k="41" /> - <hkern u1="&#x13f;" u2="&#xc7;" k="41" /> - <hkern u1="&#x13f;" u2="Y" k="61" /> - <hkern u1="&#x13f;" u2="W" k="41" /> - <hkern u1="&#x13f;" u2="V" k="41" /> - <hkern u1="&#x13f;" u2="U" k="20" /> - <hkern u1="&#x13f;" u2="T" k="41" /> - <hkern u1="&#x13f;" u2="Q" k="41" /> - <hkern u1="&#x13f;" u2="O" k="41" /> - <hkern u1="&#x13f;" u2="G" k="41" /> - <hkern u1="&#x13f;" u2="C" k="41" /> - <hkern u1="&#x13f;" u2="&#x27;" k="164" /> - <hkern u1="&#x13f;" u2="&#x22;" k="164" /> - <hkern u1="&#x141;" u2="&#x201d;" k="164" /> - <hkern u1="&#x141;" u2="&#x2019;" k="164" /> - <hkern u1="&#x141;" u2="&#x1ef8;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef6;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef4;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef2;" k="61" /> - <hkern u1="&#x141;" u2="&#x1ef0;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eee;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eec;" k="20" /> - <hkern u1="&#x141;" u2="&#x1eea;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee8;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee6;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee4;" k="20" /> - <hkern u1="&#x141;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x141;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x141;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e84;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e82;" k="41" /> - <hkern u1="&#x141;" u2="&#x1e80;" k="41" /> - <hkern u1="&#x141;" u2="&#x21a;" k="41" /> - <hkern u1="&#x141;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x141;" u2="&#x1af;" k="20" /> - <hkern u1="&#x141;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x141;" u2="&#x178;" k="61" /> - <hkern u1="&#x141;" u2="&#x176;" k="61" /> - <hkern u1="&#x141;" u2="&#x174;" k="41" /> - <hkern u1="&#x141;" u2="&#x172;" k="20" /> - <hkern u1="&#x141;" u2="&#x170;" k="20" /> - <hkern u1="&#x141;" u2="&#x16e;" k="20" /> - <hkern u1="&#x141;" u2="&#x16c;" k="20" /> - <hkern u1="&#x141;" u2="&#x16a;" k="20" /> - <hkern u1="&#x141;" u2="&#x168;" k="20" /> - <hkern u1="&#x141;" u2="&#x164;" k="41" /> - <hkern u1="&#x141;" u2="&#x162;" k="41" /> - <hkern u1="&#x141;" u2="&#x152;" k="41" /> - <hkern u1="&#x141;" u2="&#x150;" k="41" /> - <hkern u1="&#x141;" u2="&#x14e;" k="41" /> - <hkern u1="&#x141;" u2="&#x14c;" k="41" /> - <hkern u1="&#x141;" u2="&#x122;" k="41" /> - <hkern u1="&#x141;" u2="&#x120;" k="41" /> - <hkern u1="&#x141;" u2="&#x11e;" k="41" /> - <hkern u1="&#x141;" u2="&#x11c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10c;" k="41" /> - <hkern u1="&#x141;" u2="&#x10a;" k="41" /> - <hkern u1="&#x141;" u2="&#x108;" k="41" /> - <hkern u1="&#x141;" u2="&#x106;" k="41" /> - <hkern u1="&#x141;" u2="&#xdd;" k="61" /> - <hkern u1="&#x141;" u2="&#xdc;" k="20" /> - <hkern u1="&#x141;" u2="&#xdb;" k="20" /> - <hkern u1="&#x141;" u2="&#xda;" k="20" /> - <hkern u1="&#x141;" u2="&#xd9;" k="20" /> - <hkern u1="&#x141;" u2="&#xd8;" k="41" /> - <hkern u1="&#x141;" u2="&#xd6;" k="41" /> - <hkern u1="&#x141;" u2="&#xd5;" k="41" /> - <hkern u1="&#x141;" u2="&#xd4;" k="41" /> - <hkern u1="&#x141;" u2="&#xd3;" k="41" /> - <hkern u1="&#x141;" u2="&#xd2;" k="41" /> - <hkern u1="&#x141;" u2="&#xc7;" k="41" /> - <hkern u1="&#x141;" u2="Y" k="61" /> - <hkern u1="&#x141;" u2="W" k="41" /> - <hkern u1="&#x141;" u2="V" k="41" /> - <hkern u1="&#x141;" u2="U" k="20" /> - <hkern u1="&#x141;" u2="T" k="41" /> - <hkern u1="&#x141;" u2="Q" k="41" /> - <hkern u1="&#x141;" u2="O" k="41" /> - <hkern u1="&#x141;" u2="G" k="41" /> - <hkern u1="&#x141;" u2="C" k="41" /> - <hkern u1="&#x141;" u2="&#x27;" k="164" /> - <hkern u1="&#x141;" u2="&#x22;" k="164" /> - <hkern u1="&#x146;" u2="&#x201d;" k="20" /> - <hkern u1="&#x146;" u2="&#x2019;" k="20" /> - <hkern u1="&#x146;" u2="&#x27;" k="20" /> - <hkern u1="&#x146;" u2="&#x22;" k="20" /> - <hkern u1="&#x14c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14c;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14c;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14c;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14c;" u2="&#x405;" k="20" /> - <hkern u1="&#x14c;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14c;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14c;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14c;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14c;" u2="&#x179;" k="20" /> - <hkern u1="&#x14c;" u2="&#x178;" k="20" /> - <hkern u1="&#x14c;" u2="&#x176;" k="20" /> - <hkern u1="&#x14c;" u2="&#x174;" k="20" /> - <hkern u1="&#x14c;" u2="&#x164;" k="61" /> - <hkern u1="&#x14c;" u2="&#x162;" k="61" /> - <hkern u1="&#x14c;" u2="&#x104;" k="41" /> - <hkern u1="&#x14c;" u2="&#x102;" k="41" /> - <hkern u1="&#x14c;" u2="&#x100;" k="41" /> - <hkern u1="&#x14c;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14c;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14c;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14c;" u2="Z" k="20" /> - <hkern u1="&#x14c;" u2="Y" k="20" /> - <hkern u1="&#x14c;" u2="X" k="41" /> - <hkern u1="&#x14c;" u2="W" k="20" /> - <hkern u1="&#x14c;" u2="V" k="20" /> - <hkern u1="&#x14c;" u2="T" k="61" /> - <hkern u1="&#x14c;" u2="A" k="41" /> - <hkern u1="&#x14c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x14e;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x14e;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x14e;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x14e;" u2="&#x405;" k="20" /> - <hkern u1="&#x14e;" u2="&#x21a;" k="61" /> - <hkern u1="&#x14e;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x14e;" u2="&#x17d;" k="20" /> - <hkern u1="&#x14e;" u2="&#x17b;" k="20" /> - <hkern u1="&#x14e;" u2="&#x179;" k="20" /> - <hkern u1="&#x14e;" u2="&#x178;" k="20" /> - <hkern u1="&#x14e;" u2="&#x176;" k="20" /> - <hkern u1="&#x14e;" u2="&#x174;" k="20" /> - <hkern u1="&#x14e;" u2="&#x164;" k="61" /> - <hkern u1="&#x14e;" u2="&#x162;" k="61" /> - <hkern u1="&#x14e;" u2="&#x104;" k="41" /> - <hkern u1="&#x14e;" u2="&#x102;" k="41" /> - <hkern u1="&#x14e;" u2="&#x100;" k="41" /> - <hkern u1="&#x14e;" u2="&#xdd;" k="20" /> - <hkern u1="&#x14e;" u2="&#xc5;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc4;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc3;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc2;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc1;" k="41" /> - <hkern u1="&#x14e;" u2="&#xc0;" k="41" /> - <hkern u1="&#x14e;" u2="Z" k="20" /> - <hkern u1="&#x14e;" u2="Y" k="20" /> - <hkern u1="&#x14e;" u2="X" k="41" /> - <hkern u1="&#x14e;" u2="W" k="20" /> - <hkern u1="&#x14e;" u2="V" k="20" /> - <hkern u1="&#x14e;" u2="T" k="61" /> - <hkern u1="&#x14e;" u2="A" k="41" /> - <hkern u1="&#x14e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x14e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x150;" u2="&#x201e;" k="82" /> - <hkern u1="&#x150;" u2="&#x201a;" k="82" /> - <hkern u1="&#x150;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x150;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x150;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x150;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x150;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x150;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x150;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x150;" u2="&#x405;" k="20" /> - <hkern u1="&#x150;" u2="&#x21a;" k="61" /> - <hkern u1="&#x150;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x150;" u2="&#x17d;" k="20" /> - <hkern u1="&#x150;" u2="&#x17b;" k="20" /> - <hkern u1="&#x150;" u2="&#x179;" k="20" /> - <hkern u1="&#x150;" u2="&#x178;" k="20" /> - <hkern u1="&#x150;" u2="&#x176;" k="20" /> - <hkern u1="&#x150;" u2="&#x174;" k="20" /> - <hkern u1="&#x150;" u2="&#x164;" k="61" /> - <hkern u1="&#x150;" u2="&#x162;" k="61" /> - <hkern u1="&#x150;" u2="&#x104;" k="41" /> - <hkern u1="&#x150;" u2="&#x102;" k="41" /> - <hkern u1="&#x150;" u2="&#x100;" k="41" /> - <hkern u1="&#x150;" u2="&#xdd;" k="20" /> - <hkern u1="&#x150;" u2="&#xc5;" k="41" /> - <hkern u1="&#x150;" u2="&#xc4;" k="41" /> - <hkern u1="&#x150;" u2="&#xc3;" k="41" /> - <hkern u1="&#x150;" u2="&#xc2;" k="41" /> - <hkern u1="&#x150;" u2="&#xc1;" k="41" /> - <hkern u1="&#x150;" u2="&#xc0;" k="41" /> - <hkern u1="&#x150;" u2="Z" k="20" /> - <hkern u1="&#x150;" u2="Y" k="20" /> - <hkern u1="&#x150;" u2="X" k="41" /> - <hkern u1="&#x150;" u2="W" k="20" /> - <hkern u1="&#x150;" u2="V" k="20" /> - <hkern u1="&#x150;" u2="T" k="61" /> - <hkern u1="&#x150;" u2="A" k="41" /> - <hkern u1="&#x150;" u2="&#x2e;" k="82" /> - <hkern u1="&#x150;" u2="&#x2c;" k="82" /> - <hkern u1="&#x152;" u2="J" k="-123" /> - <hkern u1="&#x155;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x155;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x155;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x155;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x155;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x155;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x155;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x155;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x155;" u2="&#x153;" k="41" /> - <hkern u1="&#x155;" u2="&#x151;" k="41" /> - <hkern u1="&#x155;" u2="&#x14f;" k="41" /> - <hkern u1="&#x155;" u2="&#x14d;" k="41" /> - <hkern u1="&#x155;" u2="&#x123;" k="20" /> - <hkern u1="&#x155;" u2="&#x121;" k="20" /> - <hkern u1="&#x155;" u2="&#x11f;" k="20" /> - <hkern u1="&#x155;" u2="&#x11d;" k="20" /> - <hkern u1="&#x155;" u2="&#x11b;" k="41" /> - <hkern u1="&#x155;" u2="&#x119;" k="41" /> - <hkern u1="&#x155;" u2="&#x117;" k="41" /> - <hkern u1="&#x155;" u2="&#x115;" k="41" /> - <hkern u1="&#x155;" u2="&#x113;" k="41" /> - <hkern u1="&#x155;" u2="&#x111;" k="41" /> - <hkern u1="&#x155;" u2="&#x10f;" k="41" /> - <hkern u1="&#x155;" u2="&#x10d;" k="41" /> - <hkern u1="&#x155;" u2="&#x10b;" k="41" /> - <hkern u1="&#x155;" u2="&#x109;" k="41" /> - <hkern u1="&#x155;" u2="&#x107;" k="41" /> - <hkern u1="&#x155;" u2="&#x105;" k="41" /> - <hkern u1="&#x155;" u2="&#x103;" k="41" /> - <hkern u1="&#x155;" u2="&#x101;" k="41" /> - <hkern u1="&#x155;" u2="&#xf8;" k="41" /> - <hkern u1="&#x155;" u2="&#xf6;" k="41" /> - <hkern u1="&#x155;" u2="&#xf5;" k="41" /> - <hkern u1="&#x155;" u2="&#xf4;" k="41" /> - <hkern u1="&#x155;" u2="&#xf3;" k="41" /> - <hkern u1="&#x155;" u2="&#xf2;" k="41" /> - <hkern u1="&#x155;" u2="&#xeb;" k="41" /> - <hkern u1="&#x155;" u2="&#xea;" k="41" /> - <hkern u1="&#x155;" u2="&#xe9;" k="41" /> - <hkern u1="&#x155;" u2="&#xe8;" k="41" /> - <hkern u1="&#x155;" u2="&#xe7;" k="41" /> - <hkern u1="&#x155;" u2="&#xe6;" k="41" /> - <hkern u1="&#x155;" u2="&#xe5;" k="41" /> - <hkern u1="&#x155;" u2="&#xe4;" k="41" /> - <hkern u1="&#x155;" u2="&#xe3;" k="41" /> - <hkern u1="&#x155;" u2="&#xe2;" k="41" /> - <hkern u1="&#x155;" u2="&#xe1;" k="41" /> - <hkern u1="&#x155;" u2="&#xe0;" k="41" /> - <hkern u1="&#x155;" u2="q" k="41" /> - <hkern u1="&#x155;" u2="o" k="41" /> - <hkern u1="&#x155;" u2="g" k="20" /> - <hkern u1="&#x155;" u2="e" k="41" /> - <hkern u1="&#x155;" u2="d" k="41" /> - <hkern u1="&#x155;" u2="c" k="41" /> - <hkern u1="&#x155;" u2="a" k="41" /> - <hkern u1="&#x155;" u2="&#x27;" k="-82" /> - <hkern u1="&#x155;" u2="&#x22;" k="-82" /> - <hkern u1="&#x157;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x157;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x157;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x157;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x157;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x157;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x157;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x157;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x157;" u2="&#x153;" k="41" /> - <hkern u1="&#x157;" u2="&#x151;" k="41" /> - <hkern u1="&#x157;" u2="&#x14f;" k="41" /> - <hkern u1="&#x157;" u2="&#x14d;" k="41" /> - <hkern u1="&#x157;" u2="&#x123;" k="20" /> - <hkern u1="&#x157;" u2="&#x121;" k="20" /> - <hkern u1="&#x157;" u2="&#x11f;" k="20" /> - <hkern u1="&#x157;" u2="&#x11d;" k="20" /> - <hkern u1="&#x157;" u2="&#x11b;" k="41" /> - <hkern u1="&#x157;" u2="&#x119;" k="41" /> - <hkern u1="&#x157;" u2="&#x117;" k="41" /> - <hkern u1="&#x157;" u2="&#x115;" k="41" /> - <hkern u1="&#x157;" u2="&#x113;" k="41" /> - <hkern u1="&#x157;" u2="&#x111;" k="41" /> - <hkern u1="&#x157;" u2="&#x10f;" k="41" /> - <hkern u1="&#x157;" u2="&#x10d;" k="41" /> - <hkern u1="&#x157;" u2="&#x10b;" k="41" /> - <hkern u1="&#x157;" u2="&#x109;" k="41" /> - <hkern u1="&#x157;" u2="&#x107;" k="41" /> - <hkern u1="&#x157;" u2="&#x105;" k="41" /> - <hkern u1="&#x157;" u2="&#x103;" k="41" /> - <hkern u1="&#x157;" u2="&#x101;" k="41" /> - <hkern u1="&#x157;" u2="&#xf8;" k="41" /> - <hkern u1="&#x157;" u2="&#xf6;" k="41" /> - <hkern u1="&#x157;" u2="&#xf5;" k="41" /> - <hkern u1="&#x157;" u2="&#xf4;" k="41" /> - <hkern u1="&#x157;" u2="&#xf3;" k="41" /> - <hkern u1="&#x157;" u2="&#xf2;" k="41" /> - <hkern u1="&#x157;" u2="&#xeb;" k="41" /> - <hkern u1="&#x157;" u2="&#xea;" k="41" /> - <hkern u1="&#x157;" u2="&#xe9;" k="41" /> - <hkern u1="&#x157;" u2="&#xe8;" k="41" /> - <hkern u1="&#x157;" u2="&#xe7;" k="41" /> - <hkern u1="&#x157;" u2="&#xe6;" k="41" /> - <hkern u1="&#x157;" u2="&#xe5;" k="41" /> - <hkern u1="&#x157;" u2="&#xe4;" k="41" /> - <hkern u1="&#x157;" u2="&#xe3;" k="41" /> - <hkern u1="&#x157;" u2="&#xe2;" k="41" /> - <hkern u1="&#x157;" u2="&#xe1;" k="41" /> - <hkern u1="&#x157;" u2="&#xe0;" k="41" /> - <hkern u1="&#x157;" u2="q" k="41" /> - <hkern u1="&#x157;" u2="o" k="41" /> - <hkern u1="&#x157;" u2="g" k="20" /> - <hkern u1="&#x157;" u2="e" k="41" /> - <hkern u1="&#x157;" u2="d" k="41" /> - <hkern u1="&#x157;" u2="c" k="41" /> - <hkern u1="&#x157;" u2="a" k="41" /> - <hkern u1="&#x157;" u2="&#x27;" k="-82" /> - <hkern u1="&#x157;" u2="&#x22;" k="-82" /> - <hkern u1="&#x159;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x159;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x159;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x159;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x159;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x159;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x159;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x159;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x159;" u2="&#x153;" k="41" /> - <hkern u1="&#x159;" u2="&#x151;" k="41" /> - <hkern u1="&#x159;" u2="&#x14f;" k="41" /> - <hkern u1="&#x159;" u2="&#x14d;" k="41" /> - <hkern u1="&#x159;" u2="&#x123;" k="20" /> - <hkern u1="&#x159;" u2="&#x121;" k="20" /> - <hkern u1="&#x159;" u2="&#x11f;" k="20" /> - <hkern u1="&#x159;" u2="&#x11d;" k="20" /> - <hkern u1="&#x159;" u2="&#x11b;" k="41" /> - <hkern u1="&#x159;" u2="&#x119;" k="41" /> - <hkern u1="&#x159;" u2="&#x117;" k="41" /> - <hkern u1="&#x159;" u2="&#x115;" k="41" /> - <hkern u1="&#x159;" u2="&#x113;" k="41" /> - <hkern u1="&#x159;" u2="&#x111;" k="41" /> - <hkern u1="&#x159;" u2="&#x10f;" k="41" /> - <hkern u1="&#x159;" u2="&#x10d;" k="41" /> - <hkern u1="&#x159;" u2="&#x10b;" k="41" /> - <hkern u1="&#x159;" u2="&#x109;" k="41" /> - <hkern u1="&#x159;" u2="&#x107;" k="41" /> - <hkern u1="&#x159;" u2="&#x105;" k="41" /> - <hkern u1="&#x159;" u2="&#x103;" k="41" /> - <hkern u1="&#x159;" u2="&#x101;" k="41" /> - <hkern u1="&#x159;" u2="&#xf8;" k="41" /> - <hkern u1="&#x159;" u2="&#xf6;" k="41" /> - <hkern u1="&#x159;" u2="&#xf5;" k="41" /> - <hkern u1="&#x159;" u2="&#xf4;" k="41" /> - <hkern u1="&#x159;" u2="&#xf3;" k="41" /> - <hkern u1="&#x159;" u2="&#xf2;" k="41" /> - <hkern u1="&#x159;" u2="&#xeb;" k="41" /> - <hkern u1="&#x159;" u2="&#xea;" k="41" /> - <hkern u1="&#x159;" u2="&#xe9;" k="41" /> - <hkern u1="&#x159;" u2="&#xe8;" k="41" /> - <hkern u1="&#x159;" u2="&#xe7;" k="41" /> - <hkern u1="&#x159;" u2="&#xe6;" k="41" /> - <hkern u1="&#x159;" u2="&#xe5;" k="41" /> - <hkern u1="&#x159;" u2="&#xe4;" k="41" /> - <hkern u1="&#x159;" u2="&#xe3;" k="41" /> - <hkern u1="&#x159;" u2="&#xe2;" k="41" /> - <hkern u1="&#x159;" u2="&#xe1;" k="41" /> - <hkern u1="&#x159;" u2="&#xe0;" k="41" /> - <hkern u1="&#x159;" u2="q" k="41" /> - <hkern u1="&#x159;" u2="o" k="41" /> - <hkern u1="&#x159;" u2="g" k="20" /> - <hkern u1="&#x159;" u2="e" k="41" /> - <hkern u1="&#x159;" u2="d" k="41" /> - <hkern u1="&#x159;" u2="c" k="41" /> - <hkern u1="&#x159;" u2="a" k="41" /> - <hkern u1="&#x159;" u2="&#x27;" k="-82" /> - <hkern u1="&#x159;" u2="&#x22;" k="-82" /> - <hkern u1="&#x162;" u2="&#x201e;" k="123" /> - <hkern u1="&#x162;" u2="&#x201a;" k="123" /> - <hkern u1="&#x162;" u2="&#x2015;" k="82" /> - <hkern u1="&#x162;" u2="&#x2014;" k="82" /> - <hkern u1="&#x162;" u2="&#x2013;" k="82" /> - <hkern u1="&#x162;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x162;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x162;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x162;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x162;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x162;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x162;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x162;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x162;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x162;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x162;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x162;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x162;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x162;" u2="&#x219;" k="123" /> - <hkern u1="&#x162;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x162;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x162;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x162;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x162;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x162;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x162;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x162;" u2="&#x17e;" k="82" /> - <hkern u1="&#x162;" u2="&#x17c;" k="82" /> - <hkern u1="&#x162;" u2="&#x17a;" k="82" /> - <hkern u1="&#x162;" u2="&#x175;" k="41" /> - <hkern u1="&#x162;" u2="&#x173;" k="102" /> - <hkern u1="&#x162;" u2="&#x171;" k="102" /> - <hkern u1="&#x162;" u2="&#x16f;" k="102" /> - <hkern u1="&#x162;" u2="&#x16d;" k="102" /> - <hkern u1="&#x162;" u2="&#x16b;" k="102" /> - <hkern u1="&#x162;" u2="&#x169;" k="102" /> - <hkern u1="&#x162;" u2="&#x164;" k="-41" /> - <hkern u1="&#x162;" u2="&#x162;" k="-41" /> - <hkern u1="&#x162;" u2="&#x15f;" k="123" /> - <hkern u1="&#x162;" u2="&#x15b;" k="123" /> - <hkern u1="&#x162;" u2="&#x157;" k="102" /> - <hkern u1="&#x162;" u2="&#x155;" k="102" /> - <hkern u1="&#x162;" u2="&#x153;" k="143" /> - <hkern u1="&#x162;" u2="&#x152;" k="41" /> - <hkern u1="&#x162;" u2="&#x151;" k="143" /> - <hkern u1="&#x162;" u2="&#x150;" k="41" /> - <hkern u1="&#x162;" u2="&#x14f;" k="143" /> - <hkern u1="&#x162;" u2="&#x14e;" k="41" /> - <hkern u1="&#x162;" u2="&#x14d;" k="143" /> - <hkern u1="&#x162;" u2="&#x14c;" k="41" /> - <hkern u1="&#x162;" u2="&#x14b;" k="102" /> - <hkern u1="&#x162;" u2="&#x146;" k="102" /> - <hkern u1="&#x162;" u2="&#x144;" k="102" /> - <hkern u1="&#x162;" u2="&#x138;" k="102" /> - <hkern u1="&#x162;" u2="&#x123;" k="143" /> - <hkern u1="&#x162;" u2="&#x122;" k="41" /> - <hkern u1="&#x162;" u2="&#x121;" k="143" /> - <hkern u1="&#x162;" u2="&#x120;" k="41" /> - <hkern u1="&#x162;" u2="&#x11f;" k="143" /> - <hkern u1="&#x162;" u2="&#x11e;" k="41" /> - <hkern u1="&#x162;" u2="&#x11d;" k="143" /> - <hkern u1="&#x162;" u2="&#x11c;" k="41" /> - <hkern u1="&#x162;" u2="&#x11b;" k="143" /> - <hkern u1="&#x162;" u2="&#x119;" k="143" /> - <hkern u1="&#x162;" u2="&#x117;" k="143" /> - <hkern u1="&#x162;" u2="&#x115;" k="143" /> - <hkern u1="&#x162;" u2="&#x113;" k="143" /> - <hkern u1="&#x162;" u2="&#x111;" k="143" /> - <hkern u1="&#x162;" u2="&#x10f;" k="143" /> - <hkern u1="&#x162;" u2="&#x10d;" k="143" /> - <hkern u1="&#x162;" u2="&#x10c;" k="41" /> - <hkern u1="&#x162;" u2="&#x10b;" k="143" /> - <hkern u1="&#x162;" u2="&#x10a;" k="41" /> - <hkern u1="&#x162;" u2="&#x109;" k="143" /> - <hkern u1="&#x162;" u2="&#x108;" k="41" /> - <hkern u1="&#x162;" u2="&#x107;" k="143" /> - <hkern u1="&#x162;" u2="&#x106;" k="41" /> - <hkern u1="&#x162;" u2="&#x105;" k="164" /> - <hkern u1="&#x162;" u2="&#x104;" k="143" /> - <hkern u1="&#x162;" u2="&#x103;" k="164" /> - <hkern u1="&#x162;" u2="&#x102;" k="143" /> - <hkern u1="&#x162;" u2="&#x101;" k="164" /> - <hkern u1="&#x162;" u2="&#x100;" k="143" /> - <hkern u1="&#x162;" u2="&#xfd;" k="41" /> - <hkern u1="&#x162;" u2="&#xfc;" k="102" /> - <hkern u1="&#x162;" u2="&#xfb;" k="102" /> - <hkern u1="&#x162;" u2="&#xfa;" k="102" /> - <hkern u1="&#x162;" u2="&#xf9;" k="102" /> - <hkern u1="&#x162;" u2="&#xf8;" k="143" /> - <hkern u1="&#x162;" u2="&#xf6;" k="143" /> - <hkern u1="&#x162;" u2="&#xf5;" k="143" /> - <hkern u1="&#x162;" u2="&#xf4;" k="143" /> - <hkern u1="&#x162;" u2="&#xf3;" k="143" /> - <hkern u1="&#x162;" u2="&#xf2;" k="143" /> - <hkern u1="&#x162;" u2="&#xeb;" k="143" /> - <hkern u1="&#x162;" u2="&#xea;" k="143" /> - <hkern u1="&#x162;" u2="&#xe9;" k="143" /> - <hkern u1="&#x162;" u2="&#xe8;" k="143" /> - <hkern u1="&#x162;" u2="&#xe7;" k="143" /> - <hkern u1="&#x162;" u2="&#xe6;" k="164" /> - <hkern u1="&#x162;" u2="&#xe5;" k="164" /> - <hkern u1="&#x162;" u2="&#xe4;" k="164" /> - <hkern u1="&#x162;" u2="&#xe3;" k="164" /> - <hkern u1="&#x162;" u2="&#xe2;" k="164" /> - <hkern u1="&#x162;" u2="&#xe1;" k="164" /> - <hkern u1="&#x162;" u2="&#xe0;" k="143" /> - <hkern u1="&#x162;" u2="&#xd8;" k="41" /> - <hkern u1="&#x162;" u2="&#xd6;" k="41" /> - <hkern u1="&#x162;" u2="&#xd5;" k="41" /> - <hkern u1="&#x162;" u2="&#xd4;" k="41" /> - <hkern u1="&#x162;" u2="&#xd3;" k="41" /> - <hkern u1="&#x162;" u2="&#xd2;" k="41" /> - <hkern u1="&#x162;" u2="&#xc7;" k="41" /> - <hkern u1="&#x162;" u2="&#xc5;" k="143" /> - <hkern u1="&#x162;" u2="&#xc4;" k="143" /> - <hkern u1="&#x162;" u2="&#xc3;" k="143" /> - <hkern u1="&#x162;" u2="&#xc2;" k="143" /> - <hkern u1="&#x162;" u2="&#xc1;" k="143" /> - <hkern u1="&#x162;" u2="&#xc0;" k="143" /> - <hkern u1="&#x162;" u2="z" k="82" /> - <hkern u1="&#x162;" u2="y" k="41" /> - <hkern u1="&#x162;" u2="x" k="41" /> - <hkern u1="&#x162;" u2="w" k="41" /> - <hkern u1="&#x162;" u2="v" k="41" /> - <hkern u1="&#x162;" u2="u" k="102" /> - <hkern u1="&#x162;" u2="s" k="123" /> - <hkern u1="&#x162;" u2="r" k="102" /> - <hkern u1="&#x162;" u2="q" k="143" /> - <hkern u1="&#x162;" u2="p" k="102" /> - <hkern u1="&#x162;" u2="o" k="143" /> - <hkern u1="&#x162;" u2="n" k="102" /> - <hkern u1="&#x162;" u2="m" k="102" /> - <hkern u1="&#x162;" u2="g" k="143" /> - <hkern u1="&#x162;" u2="e" k="143" /> - <hkern u1="&#x162;" u2="d" k="143" /> - <hkern u1="&#x162;" u2="c" k="143" /> - <hkern u1="&#x162;" u2="a" k="164" /> - <hkern u1="&#x162;" u2="T" k="-41" /> - <hkern u1="&#x162;" u2="Q" k="41" /> - <hkern u1="&#x162;" u2="O" k="41" /> - <hkern u1="&#x162;" u2="G" k="41" /> - <hkern u1="&#x162;" u2="C" k="41" /> - <hkern u1="&#x162;" u2="A" k="143" /> - <hkern u1="&#x162;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x162;" u2="&#x2e;" k="123" /> - <hkern u1="&#x162;" u2="&#x2d;" k="82" /> - <hkern u1="&#x162;" u2="&#x2c;" k="123" /> - <hkern u1="&#x163;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x163;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x163;" u2="&#x27;" k="-41" /> - <hkern u1="&#x163;" u2="&#x22;" k="-41" /> - <hkern u1="&#x164;" u2="&#x201e;" k="123" /> - <hkern u1="&#x164;" u2="&#x201a;" k="123" /> - <hkern u1="&#x164;" u2="&#x2015;" k="82" /> - <hkern u1="&#x164;" u2="&#x2014;" k="82" /> - <hkern u1="&#x164;" u2="&#x2013;" k="82" /> - <hkern u1="&#x164;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x164;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x164;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x164;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x164;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x164;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x164;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x164;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x164;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x164;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x164;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x164;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x164;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x164;" u2="&#x219;" k="123" /> - <hkern u1="&#x164;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x164;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x164;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x164;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x164;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x164;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x164;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x164;" u2="&#x17e;" k="82" /> - <hkern u1="&#x164;" u2="&#x17c;" k="82" /> - <hkern u1="&#x164;" u2="&#x17a;" k="82" /> - <hkern u1="&#x164;" u2="&#x175;" k="41" /> - <hkern u1="&#x164;" u2="&#x173;" k="102" /> - <hkern u1="&#x164;" u2="&#x171;" k="102" /> - <hkern u1="&#x164;" u2="&#x16f;" k="102" /> - <hkern u1="&#x164;" u2="&#x16d;" k="102" /> - <hkern u1="&#x164;" u2="&#x16b;" k="102" /> - <hkern u1="&#x164;" u2="&#x169;" k="102" /> - <hkern u1="&#x164;" u2="&#x164;" k="-41" /> - <hkern u1="&#x164;" u2="&#x162;" k="-41" /> - <hkern u1="&#x164;" u2="&#x15f;" k="123" /> - <hkern u1="&#x164;" u2="&#x15b;" k="123" /> - <hkern u1="&#x164;" u2="&#x157;" k="102" /> - <hkern u1="&#x164;" u2="&#x155;" k="102" /> - <hkern u1="&#x164;" u2="&#x153;" k="143" /> - <hkern u1="&#x164;" u2="&#x152;" k="41" /> - <hkern u1="&#x164;" u2="&#x151;" k="143" /> - <hkern u1="&#x164;" u2="&#x150;" k="41" /> - <hkern u1="&#x164;" u2="&#x14f;" k="143" /> - <hkern u1="&#x164;" u2="&#x14e;" k="41" /> - <hkern u1="&#x164;" u2="&#x14d;" k="143" /> - <hkern u1="&#x164;" u2="&#x14c;" k="41" /> - <hkern u1="&#x164;" u2="&#x14b;" k="102" /> - <hkern u1="&#x164;" u2="&#x146;" k="102" /> - <hkern u1="&#x164;" u2="&#x144;" k="102" /> - <hkern u1="&#x164;" u2="&#x138;" k="102" /> - <hkern u1="&#x164;" u2="&#x123;" k="143" /> - <hkern u1="&#x164;" u2="&#x122;" k="41" /> - <hkern u1="&#x164;" u2="&#x121;" k="143" /> - <hkern u1="&#x164;" u2="&#x120;" k="41" /> - <hkern u1="&#x164;" u2="&#x11f;" k="143" /> - <hkern u1="&#x164;" u2="&#x11e;" k="41" /> - <hkern u1="&#x164;" u2="&#x11d;" k="143" /> - <hkern u1="&#x164;" u2="&#x11c;" k="41" /> - <hkern u1="&#x164;" u2="&#x11b;" k="143" /> - <hkern u1="&#x164;" u2="&#x119;" k="143" /> - <hkern u1="&#x164;" u2="&#x117;" k="143" /> - <hkern u1="&#x164;" u2="&#x115;" k="143" /> - <hkern u1="&#x164;" u2="&#x113;" k="143" /> - <hkern u1="&#x164;" u2="&#x111;" k="143" /> - <hkern u1="&#x164;" u2="&#x10f;" k="143" /> - <hkern u1="&#x164;" u2="&#x10d;" k="143" /> - <hkern u1="&#x164;" u2="&#x10c;" k="41" /> - <hkern u1="&#x164;" u2="&#x10b;" k="143" /> - <hkern u1="&#x164;" u2="&#x10a;" k="41" /> - <hkern u1="&#x164;" u2="&#x109;" k="143" /> - <hkern u1="&#x164;" u2="&#x108;" k="41" /> - <hkern u1="&#x164;" u2="&#x107;" k="143" /> - <hkern u1="&#x164;" u2="&#x106;" k="41" /> - <hkern u1="&#x164;" u2="&#x105;" k="164" /> - <hkern u1="&#x164;" u2="&#x104;" k="143" /> - <hkern u1="&#x164;" u2="&#x103;" k="164" /> - <hkern u1="&#x164;" u2="&#x102;" k="143" /> - <hkern u1="&#x164;" u2="&#x101;" k="164" /> - <hkern u1="&#x164;" u2="&#x100;" k="143" /> - <hkern u1="&#x164;" u2="&#xfd;" k="41" /> - <hkern u1="&#x164;" u2="&#xfc;" k="102" /> - <hkern u1="&#x164;" u2="&#xfb;" k="102" /> - <hkern u1="&#x164;" u2="&#xfa;" k="102" /> - <hkern u1="&#x164;" u2="&#xf9;" k="102" /> - <hkern u1="&#x164;" u2="&#xf8;" k="143" /> - <hkern u1="&#x164;" u2="&#xf6;" k="143" /> - <hkern u1="&#x164;" u2="&#xf5;" k="143" /> - <hkern u1="&#x164;" u2="&#xf4;" k="143" /> - <hkern u1="&#x164;" u2="&#xf3;" k="143" /> - <hkern u1="&#x164;" u2="&#xf2;" k="143" /> - <hkern u1="&#x164;" u2="&#xeb;" k="143" /> - <hkern u1="&#x164;" u2="&#xea;" k="143" /> - <hkern u1="&#x164;" u2="&#xe9;" k="143" /> - <hkern u1="&#x164;" u2="&#xe8;" k="143" /> - <hkern u1="&#x164;" u2="&#xe7;" k="143" /> - <hkern u1="&#x164;" u2="&#xe6;" k="164" /> - <hkern u1="&#x164;" u2="&#xe5;" k="164" /> - <hkern u1="&#x164;" u2="&#xe4;" k="164" /> - <hkern u1="&#x164;" u2="&#xe3;" k="164" /> - <hkern u1="&#x164;" u2="&#xe2;" k="164" /> - <hkern u1="&#x164;" u2="&#xe1;" k="164" /> - <hkern u1="&#x164;" u2="&#xe0;" k="143" /> - <hkern u1="&#x164;" u2="&#xd8;" k="41" /> - <hkern u1="&#x164;" u2="&#xd6;" k="41" /> - <hkern u1="&#x164;" u2="&#xd5;" k="41" /> - <hkern u1="&#x164;" u2="&#xd4;" k="41" /> - <hkern u1="&#x164;" u2="&#xd3;" k="41" /> - <hkern u1="&#x164;" u2="&#xd2;" k="41" /> - <hkern u1="&#x164;" u2="&#xc7;" k="41" /> - <hkern u1="&#x164;" u2="&#xc5;" k="143" /> - <hkern u1="&#x164;" u2="&#xc4;" k="143" /> - <hkern u1="&#x164;" u2="&#xc3;" k="143" /> - <hkern u1="&#x164;" u2="&#xc2;" k="143" /> - <hkern u1="&#x164;" u2="&#xc1;" k="143" /> - <hkern u1="&#x164;" u2="&#xc0;" k="143" /> - <hkern u1="&#x164;" u2="z" k="82" /> - <hkern u1="&#x164;" u2="y" k="41" /> - <hkern u1="&#x164;" u2="x" k="41" /> - <hkern u1="&#x164;" u2="w" k="41" /> - <hkern u1="&#x164;" u2="v" k="41" /> - <hkern u1="&#x164;" u2="u" k="102" /> - <hkern u1="&#x164;" u2="s" k="123" /> - <hkern u1="&#x164;" u2="r" k="102" /> - <hkern u1="&#x164;" u2="q" k="143" /> - <hkern u1="&#x164;" u2="p" k="102" /> - <hkern u1="&#x164;" u2="o" k="143" /> - <hkern u1="&#x164;" u2="n" k="102" /> - <hkern u1="&#x164;" u2="m" k="102" /> - <hkern u1="&#x164;" u2="g" k="143" /> - <hkern u1="&#x164;" u2="e" k="143" /> - <hkern u1="&#x164;" u2="d" k="143" /> - <hkern u1="&#x164;" u2="c" k="143" /> - <hkern u1="&#x164;" u2="a" k="164" /> - <hkern u1="&#x164;" u2="T" k="-41" /> - <hkern u1="&#x164;" u2="Q" k="41" /> - <hkern u1="&#x164;" u2="O" k="41" /> - <hkern u1="&#x164;" u2="G" k="41" /> - <hkern u1="&#x164;" u2="C" k="41" /> - <hkern u1="&#x164;" u2="A" k="143" /> - <hkern u1="&#x164;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x164;" u2="&#x2e;" k="123" /> - <hkern u1="&#x164;" u2="&#x2d;" k="82" /> - <hkern u1="&#x164;" u2="&#x2c;" k="123" /> - <hkern u1="&#x165;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x165;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x165;" u2="&#x27;" k="-41" /> - <hkern u1="&#x165;" u2="&#x22;" k="-41" /> - <hkern u1="&#x166;" u2="&#x201e;" k="123" /> - <hkern u1="&#x166;" u2="&#x201a;" k="123" /> - <hkern u1="&#x166;" u2="&#x2015;" k="82" /> - <hkern u1="&#x166;" u2="&#x2014;" k="82" /> - <hkern u1="&#x166;" u2="&#x2013;" k="82" /> - <hkern u1="&#x166;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x166;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x166;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x166;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x166;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x166;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x166;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x166;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x166;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x166;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x166;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x166;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x166;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x166;" u2="&#x219;" k="123" /> - <hkern u1="&#x166;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x166;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x166;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x166;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x166;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x166;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x166;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x166;" u2="&#x17e;" k="82" /> - <hkern u1="&#x166;" u2="&#x17c;" k="82" /> - <hkern u1="&#x166;" u2="&#x17a;" k="82" /> - <hkern u1="&#x166;" u2="&#x175;" k="41" /> - <hkern u1="&#x166;" u2="&#x173;" k="102" /> - <hkern u1="&#x166;" u2="&#x171;" k="102" /> - <hkern u1="&#x166;" u2="&#x16f;" k="102" /> - <hkern u1="&#x166;" u2="&#x16d;" k="102" /> - <hkern u1="&#x166;" u2="&#x16b;" k="102" /> - <hkern u1="&#x166;" u2="&#x169;" k="102" /> - <hkern u1="&#x166;" u2="&#x164;" k="-41" /> - <hkern u1="&#x166;" u2="&#x162;" k="-41" /> - <hkern u1="&#x166;" u2="&#x15f;" k="123" /> - <hkern u1="&#x166;" u2="&#x15b;" k="123" /> - <hkern u1="&#x166;" u2="&#x157;" k="102" /> - <hkern u1="&#x166;" u2="&#x155;" k="102" /> - <hkern u1="&#x166;" u2="&#x153;" k="143" /> - <hkern u1="&#x166;" u2="&#x152;" k="41" /> - <hkern u1="&#x166;" u2="&#x151;" k="143" /> - <hkern u1="&#x166;" u2="&#x150;" k="41" /> - <hkern u1="&#x166;" u2="&#x14f;" k="143" /> - <hkern u1="&#x166;" u2="&#x14e;" k="41" /> - <hkern u1="&#x166;" u2="&#x14d;" k="143" /> - <hkern u1="&#x166;" u2="&#x14c;" k="41" /> - <hkern u1="&#x166;" u2="&#x14b;" k="102" /> - <hkern u1="&#x166;" u2="&#x146;" k="102" /> - <hkern u1="&#x166;" u2="&#x144;" k="102" /> - <hkern u1="&#x166;" u2="&#x138;" k="102" /> - <hkern u1="&#x166;" u2="&#x123;" k="143" /> - <hkern u1="&#x166;" u2="&#x122;" k="41" /> - <hkern u1="&#x166;" u2="&#x121;" k="143" /> - <hkern u1="&#x166;" u2="&#x120;" k="41" /> - <hkern u1="&#x166;" u2="&#x11f;" k="143" /> - <hkern u1="&#x166;" u2="&#x11e;" k="41" /> - <hkern u1="&#x166;" u2="&#x11d;" k="143" /> - <hkern u1="&#x166;" u2="&#x11c;" k="41" /> - <hkern u1="&#x166;" u2="&#x11b;" k="143" /> - <hkern u1="&#x166;" u2="&#x119;" k="143" /> - <hkern u1="&#x166;" u2="&#x117;" k="143" /> - <hkern u1="&#x166;" u2="&#x115;" k="143" /> - <hkern u1="&#x166;" u2="&#x113;" k="143" /> - <hkern u1="&#x166;" u2="&#x111;" k="143" /> - <hkern u1="&#x166;" u2="&#x10f;" k="143" /> - <hkern u1="&#x166;" u2="&#x10d;" k="143" /> - <hkern u1="&#x166;" u2="&#x10c;" k="41" /> - <hkern u1="&#x166;" u2="&#x10b;" k="143" /> - <hkern u1="&#x166;" u2="&#x10a;" k="41" /> - <hkern u1="&#x166;" u2="&#x109;" k="143" /> - <hkern u1="&#x166;" u2="&#x108;" k="41" /> - <hkern u1="&#x166;" u2="&#x107;" k="143" /> - <hkern u1="&#x166;" u2="&#x106;" k="41" /> - <hkern u1="&#x166;" u2="&#x105;" k="164" /> - <hkern u1="&#x166;" u2="&#x104;" k="143" /> - <hkern u1="&#x166;" u2="&#x103;" k="164" /> - <hkern u1="&#x166;" u2="&#x102;" k="143" /> - <hkern u1="&#x166;" u2="&#x101;" k="164" /> - <hkern u1="&#x166;" u2="&#x100;" k="143" /> - <hkern u1="&#x166;" u2="&#xfd;" k="41" /> - <hkern u1="&#x166;" u2="&#xfc;" k="102" /> - <hkern u1="&#x166;" u2="&#xfb;" k="102" /> - <hkern u1="&#x166;" u2="&#xfa;" k="102" /> - <hkern u1="&#x166;" u2="&#xf9;" k="102" /> - <hkern u1="&#x166;" u2="&#xf8;" k="143" /> - <hkern u1="&#x166;" u2="&#xf6;" k="143" /> - <hkern u1="&#x166;" u2="&#xf5;" k="143" /> - <hkern u1="&#x166;" u2="&#xf4;" k="143" /> - <hkern u1="&#x166;" u2="&#xf3;" k="143" /> - <hkern u1="&#x166;" u2="&#xf2;" k="143" /> - <hkern u1="&#x166;" u2="&#xeb;" k="143" /> - <hkern u1="&#x166;" u2="&#xea;" k="143" /> - <hkern u1="&#x166;" u2="&#xe9;" k="143" /> - <hkern u1="&#x166;" u2="&#xe8;" k="143" /> - <hkern u1="&#x166;" u2="&#xe7;" k="143" /> - <hkern u1="&#x166;" u2="&#xe6;" k="164" /> - <hkern u1="&#x166;" u2="&#xe5;" k="164" /> - <hkern u1="&#x166;" u2="&#xe4;" k="164" /> - <hkern u1="&#x166;" u2="&#xe3;" k="164" /> - <hkern u1="&#x166;" u2="&#xe2;" k="164" /> - <hkern u1="&#x166;" u2="&#xe1;" k="164" /> - <hkern u1="&#x166;" u2="&#xe0;" k="143" /> - <hkern u1="&#x166;" u2="&#xd8;" k="41" /> - <hkern u1="&#x166;" u2="&#xd6;" k="41" /> - <hkern u1="&#x166;" u2="&#xd5;" k="41" /> - <hkern u1="&#x166;" u2="&#xd4;" k="41" /> - <hkern u1="&#x166;" u2="&#xd3;" k="41" /> - <hkern u1="&#x166;" u2="&#xd2;" k="41" /> - <hkern u1="&#x166;" u2="&#xc7;" k="41" /> - <hkern u1="&#x166;" u2="&#xc5;" k="143" /> - <hkern u1="&#x166;" u2="&#xc4;" k="143" /> - <hkern u1="&#x166;" u2="&#xc3;" k="143" /> - <hkern u1="&#x166;" u2="&#xc2;" k="143" /> - <hkern u1="&#x166;" u2="&#xc1;" k="143" /> - <hkern u1="&#x166;" u2="&#xc0;" k="143" /> - <hkern u1="&#x166;" u2="z" k="82" /> - <hkern u1="&#x166;" u2="y" k="41" /> - <hkern u1="&#x166;" u2="x" k="41" /> - <hkern u1="&#x166;" u2="w" k="41" /> - <hkern u1="&#x166;" u2="v" k="41" /> - <hkern u1="&#x166;" u2="u" k="102" /> - <hkern u1="&#x166;" u2="s" k="123" /> - <hkern u1="&#x166;" u2="r" k="102" /> - <hkern u1="&#x166;" u2="q" k="143" /> - <hkern u1="&#x166;" u2="p" k="102" /> - <hkern u1="&#x166;" u2="o" k="143" /> - <hkern u1="&#x166;" u2="n" k="102" /> - <hkern u1="&#x166;" u2="m" k="102" /> - <hkern u1="&#x166;" u2="g" k="143" /> - <hkern u1="&#x166;" u2="e" k="143" /> - <hkern u1="&#x166;" u2="d" k="143" /> - <hkern u1="&#x166;" u2="c" k="143" /> - <hkern u1="&#x166;" u2="a" k="164" /> - <hkern u1="&#x166;" u2="T" k="-41" /> - <hkern u1="&#x166;" u2="Q" k="41" /> - <hkern u1="&#x166;" u2="O" k="41" /> - <hkern u1="&#x166;" u2="G" k="41" /> - <hkern u1="&#x166;" u2="C" k="41" /> - <hkern u1="&#x166;" u2="A" k="143" /> - <hkern u1="&#x166;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x166;" u2="&#x2e;" k="123" /> - <hkern u1="&#x166;" u2="&#x2d;" k="82" /> - <hkern u1="&#x166;" u2="&#x2c;" k="123" /> - <hkern u1="&#x168;" u2="&#x201e;" k="41" /> - <hkern u1="&#x168;" u2="&#x201a;" k="41" /> - <hkern u1="&#x168;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x168;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x168;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x168;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x168;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x168;" u2="&#x104;" k="20" /> - <hkern u1="&#x168;" u2="&#x102;" k="20" /> - <hkern u1="&#x168;" u2="&#x100;" k="20" /> - <hkern u1="&#x168;" u2="&#xc5;" k="20" /> - <hkern u1="&#x168;" u2="&#xc4;" k="20" /> - <hkern u1="&#x168;" u2="&#xc3;" k="20" /> - <hkern u1="&#x168;" u2="&#xc2;" k="20" /> - <hkern u1="&#x168;" u2="&#xc1;" k="20" /> - <hkern u1="&#x168;" u2="&#xc0;" k="20" /> - <hkern u1="&#x168;" u2="A" k="20" /> - <hkern u1="&#x168;" u2="&#x2e;" k="41" /> - <hkern u1="&#x168;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16a;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16a;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16a;" u2="&#x104;" k="20" /> - <hkern u1="&#x16a;" u2="&#x102;" k="20" /> - <hkern u1="&#x16a;" u2="&#x100;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16a;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16a;" u2="A" k="20" /> - <hkern u1="&#x16a;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16a;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16c;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16c;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16c;" u2="&#x104;" k="20" /> - <hkern u1="&#x16c;" u2="&#x102;" k="20" /> - <hkern u1="&#x16c;" u2="&#x100;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16c;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16c;" u2="A" k="20" /> - <hkern u1="&#x16c;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16c;" u2="&#x2c;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x201a;" k="41" /> - <hkern u1="&#x16e;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x16e;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x16e;" u2="&#x104;" k="20" /> - <hkern u1="&#x16e;" u2="&#x102;" k="20" /> - <hkern u1="&#x16e;" u2="&#x100;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc5;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc4;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc3;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc2;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc1;" k="20" /> - <hkern u1="&#x16e;" u2="&#xc0;" k="20" /> - <hkern u1="&#x16e;" u2="A" k="20" /> - <hkern u1="&#x16e;" u2="&#x2e;" k="41" /> - <hkern u1="&#x16e;" u2="&#x2c;" k="41" /> - <hkern u1="&#x170;" u2="&#x201e;" k="41" /> - <hkern u1="&#x170;" u2="&#x201a;" k="41" /> - <hkern u1="&#x170;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x170;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x170;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x170;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x170;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x170;" u2="&#x104;" k="20" /> - <hkern u1="&#x170;" u2="&#x102;" k="20" /> - <hkern u1="&#x170;" u2="&#x100;" k="20" /> - <hkern u1="&#x170;" u2="&#xc5;" k="20" /> - <hkern u1="&#x170;" u2="&#xc4;" k="20" /> - <hkern u1="&#x170;" u2="&#xc3;" k="20" /> - <hkern u1="&#x170;" u2="&#xc2;" k="20" /> - <hkern u1="&#x170;" u2="&#xc1;" k="20" /> - <hkern u1="&#x170;" u2="&#xc0;" k="20" /> - <hkern u1="&#x170;" u2="A" k="20" /> - <hkern u1="&#x170;" u2="&#x2e;" k="41" /> - <hkern u1="&#x170;" u2="&#x2c;" k="41" /> - <hkern u1="&#x172;" u2="&#x201e;" k="41" /> - <hkern u1="&#x172;" u2="&#x201a;" k="41" /> - <hkern u1="&#x172;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x172;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x172;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x172;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x172;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x172;" u2="&#x104;" k="20" /> - <hkern u1="&#x172;" u2="&#x102;" k="20" /> - <hkern u1="&#x172;" u2="&#x100;" k="20" /> - <hkern u1="&#x172;" u2="&#xc5;" k="20" /> - <hkern u1="&#x172;" u2="&#xc4;" k="20" /> - <hkern u1="&#x172;" u2="&#xc3;" k="20" /> - <hkern u1="&#x172;" u2="&#xc2;" k="20" /> - <hkern u1="&#x172;" u2="&#xc1;" k="20" /> - <hkern u1="&#x172;" u2="&#xc0;" k="20" /> - <hkern u1="&#x172;" u2="A" k="20" /> - <hkern u1="&#x172;" u2="&#x2e;" k="41" /> - <hkern u1="&#x172;" u2="&#x2c;" k="41" /> - <hkern u1="&#x174;" u2="&#x201e;" k="102" /> - <hkern u1="&#x174;" u2="&#x201a;" k="102" /> - <hkern u1="&#x174;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x174;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x174;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x174;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x174;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x174;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x174;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x174;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x174;" u2="&#x219;" k="20" /> - <hkern u1="&#x174;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x174;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x174;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x174;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x174;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x174;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x174;" u2="&#x173;" k="20" /> - <hkern u1="&#x174;" u2="&#x171;" k="20" /> - <hkern u1="&#x174;" u2="&#x16f;" k="20" /> - <hkern u1="&#x174;" u2="&#x16d;" k="20" /> - <hkern u1="&#x174;" u2="&#x16b;" k="20" /> - <hkern u1="&#x174;" u2="&#x169;" k="20" /> - <hkern u1="&#x174;" u2="&#x15f;" k="20" /> - <hkern u1="&#x174;" u2="&#x15b;" k="20" /> - <hkern u1="&#x174;" u2="&#x157;" k="20" /> - <hkern u1="&#x174;" u2="&#x155;" k="20" /> - <hkern u1="&#x174;" u2="&#x153;" k="41" /> - <hkern u1="&#x174;" u2="&#x152;" k="20" /> - <hkern u1="&#x174;" u2="&#x151;" k="41" /> - <hkern u1="&#x174;" u2="&#x150;" k="20" /> - <hkern u1="&#x174;" u2="&#x14f;" k="41" /> - <hkern u1="&#x174;" u2="&#x14e;" k="20" /> - <hkern u1="&#x174;" u2="&#x14d;" k="41" /> - <hkern u1="&#x174;" u2="&#x14c;" k="20" /> - <hkern u1="&#x174;" u2="&#x14b;" k="20" /> - <hkern u1="&#x174;" u2="&#x146;" k="20" /> - <hkern u1="&#x174;" u2="&#x144;" k="20" /> - <hkern u1="&#x174;" u2="&#x138;" k="20" /> - <hkern u1="&#x174;" u2="&#x123;" k="20" /> - <hkern u1="&#x174;" u2="&#x122;" k="20" /> - <hkern u1="&#x174;" u2="&#x121;" k="20" /> - <hkern u1="&#x174;" u2="&#x120;" k="20" /> - <hkern u1="&#x174;" u2="&#x11f;" k="20" /> - <hkern u1="&#x174;" u2="&#x11e;" k="20" /> - <hkern u1="&#x174;" u2="&#x11d;" k="20" /> - <hkern u1="&#x174;" u2="&#x11c;" k="20" /> - <hkern u1="&#x174;" u2="&#x11b;" k="41" /> - <hkern u1="&#x174;" u2="&#x119;" k="41" /> - <hkern u1="&#x174;" u2="&#x117;" k="41" /> - <hkern u1="&#x174;" u2="&#x115;" k="41" /> - <hkern u1="&#x174;" u2="&#x113;" k="41" /> - <hkern u1="&#x174;" u2="&#x111;" k="41" /> - <hkern u1="&#x174;" u2="&#x10f;" k="41" /> - <hkern u1="&#x174;" u2="&#x10d;" k="41" /> - <hkern u1="&#x174;" u2="&#x10c;" k="20" /> - <hkern u1="&#x174;" u2="&#x10b;" k="41" /> - <hkern u1="&#x174;" u2="&#x10a;" k="20" /> - <hkern u1="&#x174;" u2="&#x109;" k="41" /> - <hkern u1="&#x174;" u2="&#x108;" k="20" /> - <hkern u1="&#x174;" u2="&#x107;" k="41" /> - <hkern u1="&#x174;" u2="&#x106;" k="20" /> - <hkern u1="&#x174;" u2="&#x105;" k="41" /> - <hkern u1="&#x174;" u2="&#x104;" k="82" /> - <hkern u1="&#x174;" u2="&#x103;" k="41" /> - <hkern u1="&#x174;" u2="&#x102;" k="82" /> - <hkern u1="&#x174;" u2="&#x101;" k="41" /> - <hkern u1="&#x174;" u2="&#x100;" k="82" /> - <hkern u1="&#x174;" u2="&#xfc;" k="20" /> - <hkern u1="&#x174;" u2="&#xfb;" k="20" /> - <hkern u1="&#x174;" u2="&#xfa;" k="20" /> - <hkern u1="&#x174;" u2="&#xf9;" k="20" /> - <hkern u1="&#x174;" u2="&#xf8;" k="41" /> - <hkern u1="&#x174;" u2="&#xf6;" k="41" /> - <hkern u1="&#x174;" u2="&#xf5;" k="41" /> - <hkern u1="&#x174;" u2="&#xf4;" k="41" /> - <hkern u1="&#x174;" u2="&#xf3;" k="41" /> - <hkern u1="&#x174;" u2="&#xf2;" k="41" /> - <hkern u1="&#x174;" u2="&#xeb;" k="41" /> - <hkern u1="&#x174;" u2="&#xea;" k="41" /> - <hkern u1="&#x174;" u2="&#xe9;" k="41" /> - <hkern u1="&#x174;" u2="&#xe8;" k="41" /> - <hkern u1="&#x174;" u2="&#xe7;" k="41" /> - <hkern u1="&#x174;" u2="&#xe6;" k="41" /> - <hkern u1="&#x174;" u2="&#xe5;" k="41" /> - <hkern u1="&#x174;" u2="&#xe4;" k="41" /> - <hkern u1="&#x174;" u2="&#xe3;" k="41" /> - <hkern u1="&#x174;" u2="&#xe2;" k="41" /> - <hkern u1="&#x174;" u2="&#xe1;" k="41" /> - <hkern u1="&#x174;" u2="&#xe0;" k="41" /> - <hkern u1="&#x174;" u2="&#xd8;" k="20" /> - <hkern u1="&#x174;" u2="&#xd6;" k="20" /> - <hkern u1="&#x174;" u2="&#xd5;" k="20" /> - <hkern u1="&#x174;" u2="&#xd4;" k="20" /> - <hkern u1="&#x174;" u2="&#xd3;" k="20" /> - <hkern u1="&#x174;" u2="&#xd2;" k="20" /> - <hkern u1="&#x174;" u2="&#xc7;" k="20" /> - <hkern u1="&#x174;" u2="&#xc5;" k="82" /> - <hkern u1="&#x174;" u2="&#xc4;" k="82" /> - <hkern u1="&#x174;" u2="&#xc3;" k="82" /> - <hkern u1="&#x174;" u2="&#xc2;" k="82" /> - <hkern u1="&#x174;" u2="&#xc1;" k="82" /> - <hkern u1="&#x174;" u2="&#xc0;" k="82" /> - <hkern u1="&#x174;" u2="u" k="20" /> - <hkern u1="&#x174;" u2="s" k="20" /> - <hkern u1="&#x174;" u2="r" k="20" /> - <hkern u1="&#x174;" u2="q" k="41" /> - <hkern u1="&#x174;" u2="p" k="20" /> - <hkern u1="&#x174;" u2="o" k="41" /> - <hkern u1="&#x174;" u2="n" k="20" /> - <hkern u1="&#x174;" u2="m" k="20" /> - <hkern u1="&#x174;" u2="g" k="20" /> - <hkern u1="&#x174;" u2="e" k="41" /> - <hkern u1="&#x174;" u2="d" k="41" /> - <hkern u1="&#x174;" u2="c" k="41" /> - <hkern u1="&#x174;" u2="a" k="41" /> - <hkern u1="&#x174;" u2="Q" k="20" /> - <hkern u1="&#x174;" u2="O" k="20" /> - <hkern u1="&#x174;" u2="G" k="20" /> - <hkern u1="&#x174;" u2="C" k="20" /> - <hkern u1="&#x174;" u2="A" k="82" /> - <hkern u1="&#x174;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x174;" u2="&#x2e;" k="102" /> - <hkern u1="&#x174;" u2="&#x2c;" k="102" /> - <hkern u1="&#x175;" u2="&#x201e;" k="82" /> - <hkern u1="&#x175;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x175;" u2="&#x201a;" k="82" /> - <hkern u1="&#x175;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x175;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x175;" u2="&#x2e;" k="82" /> - <hkern u1="&#x175;" u2="&#x2c;" k="82" /> - <hkern u1="&#x175;" u2="&#x27;" k="-82" /> - <hkern u1="&#x175;" u2="&#x22;" k="-82" /> - <hkern u1="&#x176;" u2="&#x201e;" k="123" /> - <hkern u1="&#x176;" u2="&#x201a;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x176;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x176;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x176;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x176;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x176;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x176;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x176;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x176;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x176;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x176;" u2="&#x219;" k="82" /> - <hkern u1="&#x176;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x176;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x176;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x176;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x176;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x176;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x176;" u2="&#x17e;" k="41" /> - <hkern u1="&#x176;" u2="&#x17c;" k="41" /> - <hkern u1="&#x176;" u2="&#x17a;" k="41" /> - <hkern u1="&#x176;" u2="&#x173;" k="61" /> - <hkern u1="&#x176;" u2="&#x171;" k="61" /> - <hkern u1="&#x176;" u2="&#x16f;" k="61" /> - <hkern u1="&#x176;" u2="&#x16d;" k="61" /> - <hkern u1="&#x176;" u2="&#x16b;" k="61" /> - <hkern u1="&#x176;" u2="&#x169;" k="61" /> - <hkern u1="&#x176;" u2="&#x15f;" k="82" /> - <hkern u1="&#x176;" u2="&#x15b;" k="82" /> - <hkern u1="&#x176;" u2="&#x157;" k="61" /> - <hkern u1="&#x176;" u2="&#x155;" k="61" /> - <hkern u1="&#x176;" u2="&#x153;" k="102" /> - <hkern u1="&#x176;" u2="&#x152;" k="41" /> - <hkern u1="&#x176;" u2="&#x151;" k="102" /> - <hkern u1="&#x176;" u2="&#x150;" k="41" /> - <hkern u1="&#x176;" u2="&#x14f;" k="102" /> - <hkern u1="&#x176;" u2="&#x14e;" k="41" /> - <hkern u1="&#x176;" u2="&#x14d;" k="102" /> - <hkern u1="&#x176;" u2="&#x14c;" k="41" /> - <hkern u1="&#x176;" u2="&#x14b;" k="61" /> - <hkern u1="&#x176;" u2="&#x146;" k="61" /> - <hkern u1="&#x176;" u2="&#x144;" k="61" /> - <hkern u1="&#x176;" u2="&#x138;" k="61" /> - <hkern u1="&#x176;" u2="&#x123;" k="41" /> - <hkern u1="&#x176;" u2="&#x122;" k="41" /> - <hkern u1="&#x176;" u2="&#x121;" k="41" /> - <hkern u1="&#x176;" u2="&#x120;" k="41" /> - <hkern u1="&#x176;" u2="&#x11f;" k="41" /> - <hkern u1="&#x176;" u2="&#x11e;" k="41" /> - <hkern u1="&#x176;" u2="&#x11d;" k="41" /> - <hkern u1="&#x176;" u2="&#x11c;" k="41" /> - <hkern u1="&#x176;" u2="&#x11b;" k="102" /> - <hkern u1="&#x176;" u2="&#x119;" k="102" /> - <hkern u1="&#x176;" u2="&#x117;" k="102" /> - <hkern u1="&#x176;" u2="&#x115;" k="102" /> - <hkern u1="&#x176;" u2="&#x113;" k="102" /> - <hkern u1="&#x176;" u2="&#x111;" k="102" /> - <hkern u1="&#x176;" u2="&#x10f;" k="102" /> - <hkern u1="&#x176;" u2="&#x10d;" k="102" /> - <hkern u1="&#x176;" u2="&#x10c;" k="41" /> - <hkern u1="&#x176;" u2="&#x10b;" k="102" /> - <hkern u1="&#x176;" u2="&#x10a;" k="41" /> - <hkern u1="&#x176;" u2="&#x109;" k="102" /> - <hkern u1="&#x176;" u2="&#x108;" k="41" /> - <hkern u1="&#x176;" u2="&#x107;" k="102" /> - <hkern u1="&#x176;" u2="&#x106;" k="41" /> - <hkern u1="&#x176;" u2="&#x105;" k="102" /> - <hkern u1="&#x176;" u2="&#x104;" k="123" /> - <hkern u1="&#x176;" u2="&#x103;" k="102" /> - <hkern u1="&#x176;" u2="&#x102;" k="123" /> - <hkern u1="&#x176;" u2="&#x101;" k="102" /> - <hkern u1="&#x176;" u2="&#x100;" k="123" /> - <hkern u1="&#x176;" u2="&#xfc;" k="61" /> - <hkern u1="&#x176;" u2="&#xfb;" k="61" /> - <hkern u1="&#x176;" u2="&#xfa;" k="61" /> - <hkern u1="&#x176;" u2="&#xf9;" k="61" /> - <hkern u1="&#x176;" u2="&#xf8;" k="102" /> - <hkern u1="&#x176;" u2="&#xf6;" k="102" /> - <hkern u1="&#x176;" u2="&#xf5;" k="102" /> - <hkern u1="&#x176;" u2="&#xf4;" k="102" /> - <hkern u1="&#x176;" u2="&#xf3;" k="102" /> - <hkern u1="&#x176;" u2="&#xf2;" k="102" /> - <hkern u1="&#x176;" u2="&#xeb;" k="102" /> - <hkern u1="&#x176;" u2="&#xea;" k="102" /> - <hkern u1="&#x176;" u2="&#xe9;" k="102" /> - <hkern u1="&#x176;" u2="&#xe8;" k="102" /> - <hkern u1="&#x176;" u2="&#xe7;" k="102" /> - <hkern u1="&#x176;" u2="&#xe6;" k="102" /> - <hkern u1="&#x176;" u2="&#xe5;" k="102" /> - <hkern u1="&#x176;" u2="&#xe4;" k="102" /> - <hkern u1="&#x176;" u2="&#xe3;" k="102" /> - <hkern u1="&#x176;" u2="&#xe2;" k="102" /> - <hkern u1="&#x176;" u2="&#xe1;" k="102" /> - <hkern u1="&#x176;" u2="&#xe0;" k="102" /> - <hkern u1="&#x176;" u2="&#xd8;" k="41" /> - <hkern u1="&#x176;" u2="&#xd6;" k="41" /> - <hkern u1="&#x176;" u2="&#xd5;" k="41" /> - <hkern u1="&#x176;" u2="&#xd4;" k="41" /> - <hkern u1="&#x176;" u2="&#xd3;" k="41" /> - <hkern u1="&#x176;" u2="&#xd2;" k="41" /> - <hkern u1="&#x176;" u2="&#xc7;" k="41" /> - <hkern u1="&#x176;" u2="&#xc5;" k="123" /> - <hkern u1="&#x176;" u2="&#xc4;" k="123" /> - <hkern u1="&#x176;" u2="&#xc3;" k="123" /> - <hkern u1="&#x176;" u2="&#xc2;" k="123" /> - <hkern u1="&#x176;" u2="&#xc1;" k="123" /> - <hkern u1="&#x176;" u2="&#xc0;" k="123" /> - <hkern u1="&#x176;" u2="z" k="41" /> - <hkern u1="&#x176;" u2="u" k="61" /> - <hkern u1="&#x176;" u2="s" k="82" /> - <hkern u1="&#x176;" u2="r" k="61" /> - <hkern u1="&#x176;" u2="q" k="102" /> - <hkern u1="&#x176;" u2="p" k="61" /> - <hkern u1="&#x176;" u2="o" k="102" /> - <hkern u1="&#x176;" u2="n" k="61" /> - <hkern u1="&#x176;" u2="m" k="61" /> - <hkern u1="&#x176;" u2="g" k="41" /> - <hkern u1="&#x176;" u2="e" k="102" /> - <hkern u1="&#x176;" u2="d" k="102" /> - <hkern u1="&#x176;" u2="c" k="102" /> - <hkern u1="&#x176;" u2="a" k="102" /> - <hkern u1="&#x176;" u2="Q" k="41" /> - <hkern u1="&#x176;" u2="O" k="41" /> - <hkern u1="&#x176;" u2="G" k="41" /> - <hkern u1="&#x176;" u2="C" k="41" /> - <hkern u1="&#x176;" u2="A" k="123" /> - <hkern u1="&#x176;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x176;" u2="&#x2e;" k="123" /> - <hkern u1="&#x176;" u2="&#x2c;" k="123" /> - <hkern u1="&#x177;" u2="&#x201e;" k="82" /> - <hkern u1="&#x177;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x177;" u2="&#x201a;" k="82" /> - <hkern u1="&#x177;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x177;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x177;" u2="&#x2e;" k="82" /> - <hkern u1="&#x177;" u2="&#x2c;" k="82" /> - <hkern u1="&#x177;" u2="&#x27;" k="-82" /> - <hkern u1="&#x177;" u2="&#x22;" k="-82" /> - <hkern u1="&#x178;" u2="&#x201e;" k="123" /> - <hkern u1="&#x178;" u2="&#x201a;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x178;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x178;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x178;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x178;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x178;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x178;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x178;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x178;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x178;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x178;" u2="&#x219;" k="82" /> - <hkern u1="&#x178;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x178;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x178;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x178;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x178;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x178;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x178;" u2="&#x17e;" k="41" /> - <hkern u1="&#x178;" u2="&#x17c;" k="41" /> - <hkern u1="&#x178;" u2="&#x17a;" k="41" /> - <hkern u1="&#x178;" u2="&#x173;" k="61" /> - <hkern u1="&#x178;" u2="&#x171;" k="61" /> - <hkern u1="&#x178;" u2="&#x16f;" k="61" /> - <hkern u1="&#x178;" u2="&#x16d;" k="61" /> - <hkern u1="&#x178;" u2="&#x16b;" k="61" /> - <hkern u1="&#x178;" u2="&#x169;" k="61" /> - <hkern u1="&#x178;" u2="&#x15f;" k="82" /> - <hkern u1="&#x178;" u2="&#x15b;" k="82" /> - <hkern u1="&#x178;" u2="&#x157;" k="61" /> - <hkern u1="&#x178;" u2="&#x155;" k="61" /> - <hkern u1="&#x178;" u2="&#x153;" k="102" /> - <hkern u1="&#x178;" u2="&#x152;" k="41" /> - <hkern u1="&#x178;" u2="&#x151;" k="102" /> - <hkern u1="&#x178;" u2="&#x150;" k="41" /> - <hkern u1="&#x178;" u2="&#x14f;" k="102" /> - <hkern u1="&#x178;" u2="&#x14e;" k="41" /> - <hkern u1="&#x178;" u2="&#x14d;" k="102" /> - <hkern u1="&#x178;" u2="&#x14c;" k="41" /> - <hkern u1="&#x178;" u2="&#x14b;" k="61" /> - <hkern u1="&#x178;" u2="&#x146;" k="61" /> - <hkern u1="&#x178;" u2="&#x144;" k="61" /> - <hkern u1="&#x178;" u2="&#x138;" k="61" /> - <hkern u1="&#x178;" u2="&#x123;" k="41" /> - <hkern u1="&#x178;" u2="&#x122;" k="41" /> - <hkern u1="&#x178;" u2="&#x121;" k="41" /> - <hkern u1="&#x178;" u2="&#x120;" k="41" /> - <hkern u1="&#x178;" u2="&#x11f;" k="41" /> - <hkern u1="&#x178;" u2="&#x11e;" k="41" /> - <hkern u1="&#x178;" u2="&#x11d;" k="41" /> - <hkern u1="&#x178;" u2="&#x11c;" k="41" /> - <hkern u1="&#x178;" u2="&#x11b;" k="102" /> - <hkern u1="&#x178;" u2="&#x119;" k="102" /> - <hkern u1="&#x178;" u2="&#x117;" k="102" /> - <hkern u1="&#x178;" u2="&#x115;" k="102" /> - <hkern u1="&#x178;" u2="&#x113;" k="102" /> - <hkern u1="&#x178;" u2="&#x111;" k="102" /> - <hkern u1="&#x178;" u2="&#x10f;" k="102" /> - <hkern u1="&#x178;" u2="&#x10d;" k="102" /> - <hkern u1="&#x178;" u2="&#x10c;" k="41" /> - <hkern u1="&#x178;" u2="&#x10b;" k="102" /> - <hkern u1="&#x178;" u2="&#x10a;" k="41" /> - <hkern u1="&#x178;" u2="&#x109;" k="102" /> - <hkern u1="&#x178;" u2="&#x108;" k="41" /> - <hkern u1="&#x178;" u2="&#x107;" k="102" /> - <hkern u1="&#x178;" u2="&#x106;" k="41" /> - <hkern u1="&#x178;" u2="&#x105;" k="102" /> - <hkern u1="&#x178;" u2="&#x104;" k="123" /> - <hkern u1="&#x178;" u2="&#x103;" k="102" /> - <hkern u1="&#x178;" u2="&#x102;" k="123" /> - <hkern u1="&#x178;" u2="&#x101;" k="102" /> - <hkern u1="&#x178;" u2="&#x100;" k="123" /> - <hkern u1="&#x178;" u2="&#xfc;" k="61" /> - <hkern u1="&#x178;" u2="&#xfb;" k="61" /> - <hkern u1="&#x178;" u2="&#xfa;" k="61" /> - <hkern u1="&#x178;" u2="&#xf9;" k="61" /> - <hkern u1="&#x178;" u2="&#xf8;" k="102" /> - <hkern u1="&#x178;" u2="&#xf6;" k="102" /> - <hkern u1="&#x178;" u2="&#xf5;" k="102" /> - <hkern u1="&#x178;" u2="&#xf4;" k="102" /> - <hkern u1="&#x178;" u2="&#xf3;" k="102" /> - <hkern u1="&#x178;" u2="&#xf2;" k="102" /> - <hkern u1="&#x178;" u2="&#xeb;" k="102" /> - <hkern u1="&#x178;" u2="&#xea;" k="102" /> - <hkern u1="&#x178;" u2="&#xe9;" k="102" /> - <hkern u1="&#x178;" u2="&#xe8;" k="102" /> - <hkern u1="&#x178;" u2="&#xe7;" k="102" /> - <hkern u1="&#x178;" u2="&#xe6;" k="102" /> - <hkern u1="&#x178;" u2="&#xe5;" k="102" /> - <hkern u1="&#x178;" u2="&#xe4;" k="102" /> - <hkern u1="&#x178;" u2="&#xe3;" k="102" /> - <hkern u1="&#x178;" u2="&#xe2;" k="102" /> - <hkern u1="&#x178;" u2="&#xe1;" k="102" /> - <hkern u1="&#x178;" u2="&#xe0;" k="102" /> - <hkern u1="&#x178;" u2="&#xd8;" k="41" /> - <hkern u1="&#x178;" u2="&#xd6;" k="41" /> - <hkern u1="&#x178;" u2="&#xd5;" k="41" /> - <hkern u1="&#x178;" u2="&#xd4;" k="41" /> - <hkern u1="&#x178;" u2="&#xd3;" k="41" /> - <hkern u1="&#x178;" u2="&#xd2;" k="41" /> - <hkern u1="&#x178;" u2="&#xc7;" k="41" /> - <hkern u1="&#x178;" u2="&#xc5;" k="123" /> - <hkern u1="&#x178;" u2="&#xc4;" k="123" /> - <hkern u1="&#x178;" u2="&#xc3;" k="123" /> - <hkern u1="&#x178;" u2="&#xc2;" k="123" /> - <hkern u1="&#x178;" u2="&#xc1;" k="123" /> - <hkern u1="&#x178;" u2="&#xc0;" k="123" /> - <hkern u1="&#x178;" u2="z" k="41" /> - <hkern u1="&#x178;" u2="u" k="61" /> - <hkern u1="&#x178;" u2="s" k="82" /> - <hkern u1="&#x178;" u2="r" k="61" /> - <hkern u1="&#x178;" u2="q" k="102" /> - <hkern u1="&#x178;" u2="p" k="61" /> - <hkern u1="&#x178;" u2="o" k="102" /> - <hkern u1="&#x178;" u2="n" k="61" /> - <hkern u1="&#x178;" u2="m" k="61" /> - <hkern u1="&#x178;" u2="g" k="41" /> - <hkern u1="&#x178;" u2="e" k="102" /> - <hkern u1="&#x178;" u2="d" k="102" /> - <hkern u1="&#x178;" u2="c" k="102" /> - <hkern u1="&#x178;" u2="a" k="102" /> - <hkern u1="&#x178;" u2="Q" k="41" /> - <hkern u1="&#x178;" u2="O" k="41" /> - <hkern u1="&#x178;" u2="G" k="41" /> - <hkern u1="&#x178;" u2="C" k="41" /> - <hkern u1="&#x178;" u2="A" k="123" /> - <hkern u1="&#x178;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x178;" u2="&#x2e;" k="123" /> - <hkern u1="&#x178;" u2="&#x2c;" k="123" /> - <hkern u1="&#x179;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x179;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x179;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x179;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x179;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x179;" u2="&#x152;" k="20" /> - <hkern u1="&#x179;" u2="&#x150;" k="20" /> - <hkern u1="&#x179;" u2="&#x14e;" k="20" /> - <hkern u1="&#x179;" u2="&#x14c;" k="20" /> - <hkern u1="&#x179;" u2="&#x122;" k="20" /> - <hkern u1="&#x179;" u2="&#x120;" k="20" /> - <hkern u1="&#x179;" u2="&#x11e;" k="20" /> - <hkern u1="&#x179;" u2="&#x11c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10c;" k="20" /> - <hkern u1="&#x179;" u2="&#x10a;" k="20" /> - <hkern u1="&#x179;" u2="&#x108;" k="20" /> - <hkern u1="&#x179;" u2="&#x106;" k="20" /> - <hkern u1="&#x179;" u2="&#xd8;" k="20" /> - <hkern u1="&#x179;" u2="&#xd6;" k="20" /> - <hkern u1="&#x179;" u2="&#xd5;" k="20" /> - <hkern u1="&#x179;" u2="&#xd4;" k="20" /> - <hkern u1="&#x179;" u2="&#xd3;" k="20" /> - <hkern u1="&#x179;" u2="&#xd2;" k="20" /> - <hkern u1="&#x179;" u2="&#xc7;" k="20" /> - <hkern u1="&#x179;" u2="Q" k="20" /> - <hkern u1="&#x179;" u2="O" k="20" /> - <hkern u1="&#x179;" u2="G" k="20" /> - <hkern u1="&#x179;" u2="C" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17b;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17b;" u2="&#x152;" k="20" /> - <hkern u1="&#x17b;" u2="&#x150;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x122;" k="20" /> - <hkern u1="&#x17b;" u2="&#x120;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17b;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17b;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17b;" u2="&#x108;" k="20" /> - <hkern u1="&#x17b;" u2="&#x106;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17b;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17b;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17b;" u2="Q" k="20" /> - <hkern u1="&#x17b;" u2="O" k="20" /> - <hkern u1="&#x17b;" u2="G" k="20" /> - <hkern u1="&#x17b;" u2="C" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x17d;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x17d;" u2="&#x152;" k="20" /> - <hkern u1="&#x17d;" u2="&#x150;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x14c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x122;" k="20" /> - <hkern u1="&#x17d;" u2="&#x120;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11e;" k="20" /> - <hkern u1="&#x17d;" u2="&#x11c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10c;" k="20" /> - <hkern u1="&#x17d;" u2="&#x10a;" k="20" /> - <hkern u1="&#x17d;" u2="&#x108;" k="20" /> - <hkern u1="&#x17d;" u2="&#x106;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd8;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd6;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd5;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd4;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd3;" k="20" /> - <hkern u1="&#x17d;" u2="&#xd2;" k="20" /> - <hkern u1="&#x17d;" u2="&#xc7;" k="20" /> - <hkern u1="&#x17d;" u2="Q" k="20" /> - <hkern u1="&#x17d;" u2="O" k="20" /> - <hkern u1="&#x17d;" u2="G" k="20" /> - <hkern u1="&#x17d;" u2="C" k="20" /> - <hkern u1="&#x1a1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1a1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1a1;" g2="ff" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1a1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1a1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1a1;" u2="y" k="-102" /> - <hkern u1="&#x1a1;" u2="x" k="-102" /> - <hkern u1="&#x1a1;" u2="w" k="-102" /> - <hkern u1="&#x1a1;" u2="v" k="-102" /> - <hkern u1="&#x1a1;" u2="t" k="-82" /> - <hkern u1="&#x1a1;" u2="f" k="-82" /> - <hkern u1="&#x1b0;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1b0;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1b0;" g2="ff" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1b0;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1b0;" u2="y" k="-102" /> - <hkern u1="&#x1b0;" u2="x" k="-102" /> - <hkern u1="&#x1b0;" u2="w" k="-102" /> - <hkern u1="&#x1b0;" u2="v" k="-102" /> - <hkern u1="&#x1b0;" u2="t" k="-102" /> - <hkern u1="&#x1b0;" u2="f" k="-102" /> - <hkern u1="&#x1fa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1fa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1fa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1fa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1fa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1fa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1fa;" u2="Y" k="123" /> - <hkern u1="&#x1fa;" u2="W" k="82" /> - <hkern u1="&#x1fa;" u2="V" k="82" /> - <hkern u1="&#x1fa;" u2="T" k="143" /> - <hkern u1="&#x1fa;" u2="Q" k="41" /> - <hkern u1="&#x1fa;" u2="O" k="41" /> - <hkern u1="&#x1fa;" u2="J" k="-266" /> - <hkern u1="&#x1fa;" u2="G" k="41" /> - <hkern u1="&#x1fa;" u2="C" k="41" /> - <hkern u1="&#x1fa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1fa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1fb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1fb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1fc;" u2="J" k="-123" /> - <hkern u1="&#x1fe;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x405;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x179;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x178;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x176;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x174;" k="20" /> - <hkern u1="&#x1fe;" u2="&#x164;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x162;" k="61" /> - <hkern u1="&#x1fe;" u2="&#x104;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x102;" k="41" /> - <hkern u1="&#x1fe;" u2="&#x100;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1fe;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1fe;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1fe;" u2="Z" k="20" /> - <hkern u1="&#x1fe;" u2="Y" k="20" /> - <hkern u1="&#x1fe;" u2="X" k="41" /> - <hkern u1="&#x1fe;" u2="W" k="20" /> - <hkern u1="&#x1fe;" u2="V" k="20" /> - <hkern u1="&#x1fe;" u2="T" k="61" /> - <hkern u1="&#x1fe;" u2="A" k="41" /> - <hkern u1="&#x1fe;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1fe;" u2="&#x2c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x201e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x201a;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2015;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2014;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2013;" k="82" /> - <hkern u1="&#x21a;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ef1;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eef;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eed;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1eeb;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee9;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee7;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee5;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1ee3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ee1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1edb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ed1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ecd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1ec7;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec5;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ec3;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebf;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebd;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ebb;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb9;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb7;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eb1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eaf;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ead;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1eab;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea9;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea5;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea3;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1ea1;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1e3f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1e01;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x21a;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x219;" k="123" /> - <hkern u1="&#x21a;" u2="&#x1ff;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x21a;" u2="&#x1fd;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fb;" k="164" /> - <hkern u1="&#x21a;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1b0;" k="102" /> - <hkern u1="&#x21a;" u2="&#x1a1;" k="143" /> - <hkern u1="&#x21a;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x21a;" u2="&#x17e;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17c;" k="82" /> - <hkern u1="&#x21a;" u2="&#x17a;" k="82" /> - <hkern u1="&#x21a;" u2="&#x175;" k="41" /> - <hkern u1="&#x21a;" u2="&#x173;" k="102" /> - <hkern u1="&#x21a;" u2="&#x171;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16f;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16d;" k="102" /> - <hkern u1="&#x21a;" u2="&#x16b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x169;" k="102" /> - <hkern u1="&#x21a;" u2="&#x164;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x162;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x15f;" k="123" /> - <hkern u1="&#x21a;" u2="&#x15b;" k="123" /> - <hkern u1="&#x21a;" u2="&#x157;" k="102" /> - <hkern u1="&#x21a;" u2="&#x155;" k="102" /> - <hkern u1="&#x21a;" u2="&#x153;" k="143" /> - <hkern u1="&#x21a;" u2="&#x152;" k="41" /> - <hkern u1="&#x21a;" u2="&#x151;" k="143" /> - <hkern u1="&#x21a;" u2="&#x150;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x14c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x14b;" k="102" /> - <hkern u1="&#x21a;" u2="&#x146;" k="102" /> - <hkern u1="&#x21a;" u2="&#x144;" k="102" /> - <hkern u1="&#x21a;" u2="&#x138;" k="102" /> - <hkern u1="&#x21a;" u2="&#x123;" k="143" /> - <hkern u1="&#x21a;" u2="&#x122;" k="41" /> - <hkern u1="&#x21a;" u2="&#x121;" k="143" /> - <hkern u1="&#x21a;" u2="&#x120;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11e;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x11c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x11b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x119;" k="143" /> - <hkern u1="&#x21a;" u2="&#x117;" k="143" /> - <hkern u1="&#x21a;" u2="&#x115;" k="143" /> - <hkern u1="&#x21a;" u2="&#x113;" k="143" /> - <hkern u1="&#x21a;" u2="&#x111;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10f;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10d;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10c;" k="41" /> - <hkern u1="&#x21a;" u2="&#x10b;" k="143" /> - <hkern u1="&#x21a;" u2="&#x10a;" k="41" /> - <hkern u1="&#x21a;" u2="&#x109;" k="143" /> - <hkern u1="&#x21a;" u2="&#x108;" k="41" /> - <hkern u1="&#x21a;" u2="&#x107;" k="143" /> - <hkern u1="&#x21a;" u2="&#x106;" k="41" /> - <hkern u1="&#x21a;" u2="&#x105;" k="164" /> - <hkern u1="&#x21a;" u2="&#x104;" k="143" /> - <hkern u1="&#x21a;" u2="&#x103;" k="164" /> - <hkern u1="&#x21a;" u2="&#x102;" k="143" /> - <hkern u1="&#x21a;" u2="&#x101;" k="164" /> - <hkern u1="&#x21a;" u2="&#x100;" k="143" /> - <hkern u1="&#x21a;" u2="&#xfd;" k="41" /> - <hkern u1="&#x21a;" u2="&#xfc;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfb;" k="102" /> - <hkern u1="&#x21a;" u2="&#xfa;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf9;" k="102" /> - <hkern u1="&#x21a;" u2="&#xf8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf6;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xf2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xeb;" k="143" /> - <hkern u1="&#x21a;" u2="&#xea;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe9;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe8;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe7;" k="143" /> - <hkern u1="&#x21a;" u2="&#xe6;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe5;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe4;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe3;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe2;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe1;" k="164" /> - <hkern u1="&#x21a;" u2="&#xe0;" k="143" /> - <hkern u1="&#x21a;" u2="&#xd8;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd6;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd5;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd4;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd3;" k="41" /> - <hkern u1="&#x21a;" u2="&#xd2;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc7;" k="41" /> - <hkern u1="&#x21a;" u2="&#xc5;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc4;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc3;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc2;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc1;" k="143" /> - <hkern u1="&#x21a;" u2="&#xc0;" k="143" /> - <hkern u1="&#x21a;" u2="z" k="82" /> - <hkern u1="&#x21a;" u2="y" k="41" /> - <hkern u1="&#x21a;" u2="x" k="41" /> - <hkern u1="&#x21a;" u2="w" k="41" /> - <hkern u1="&#x21a;" u2="v" k="41" /> - <hkern u1="&#x21a;" u2="u" k="102" /> - <hkern u1="&#x21a;" u2="s" k="123" /> - <hkern u1="&#x21a;" u2="r" k="102" /> - <hkern u1="&#x21a;" u2="q" k="143" /> - <hkern u1="&#x21a;" u2="p" k="102" /> - <hkern u1="&#x21a;" u2="o" k="143" /> - <hkern u1="&#x21a;" u2="n" k="102" /> - <hkern u1="&#x21a;" u2="m" k="102" /> - <hkern u1="&#x21a;" u2="g" k="143" /> - <hkern u1="&#x21a;" u2="e" k="143" /> - <hkern u1="&#x21a;" u2="d" k="143" /> - <hkern u1="&#x21a;" u2="c" k="143" /> - <hkern u1="&#x21a;" u2="a" k="164" /> - <hkern u1="&#x21a;" u2="T" k="-41" /> - <hkern u1="&#x21a;" u2="Q" k="41" /> - <hkern u1="&#x21a;" u2="O" k="41" /> - <hkern u1="&#x21a;" u2="G" k="41" /> - <hkern u1="&#x21a;" u2="C" k="41" /> - <hkern u1="&#x21a;" u2="A" k="143" /> - <hkern u1="&#x21a;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x21a;" u2="&#x2e;" k="123" /> - <hkern u1="&#x21a;" u2="&#x2d;" k="82" /> - <hkern u1="&#x21a;" u2="&#x2c;" k="123" /> - <hkern u1="&#x21b;" u2="&#x201d;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x2019;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x27;" k="-41" /> - <hkern u1="&#x21b;" u2="&#x22;" k="-41" /> - <hkern u1="&#x386;" u2="&#x201d;" k="143" /> - <hkern u1="&#x386;" u2="&#x2019;" k="143" /> - <hkern u1="&#x386;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x386;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x386;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x386;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x386;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x386;" u2="&#x39f;" k="41" /> - <hkern u1="&#x386;" u2="&#x398;" k="41" /> - <hkern u1="&#x386;" u2="&#x27;" k="143" /> - <hkern u1="&#x386;" u2="&#x22;" k="143" /> - <hkern u1="&#x38c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x38c;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x38c;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38c;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x38c;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x38c;" u2="&#x39b;" k="41" /> - <hkern u1="&#x38c;" u2="&#x396;" k="20" /> - <hkern u1="&#x38c;" u2="&#x394;" k="41" /> - <hkern u1="&#x38c;" u2="&#x391;" k="41" /> - <hkern u1="&#x38c;" u2="&#x386;" k="41" /> - <hkern u1="&#x38c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x38c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x38e;" u2="&#x2126;" k="20" /> - <hkern u1="&#x38e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x38e;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3af;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x38e;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x38e;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x38e;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x38e;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x38e;" u2="&#x39f;" k="41" /> - <hkern u1="&#x38e;" u2="&#x39b;" k="123" /> - <hkern u1="&#x38e;" u2="&#x398;" k="41" /> - <hkern u1="&#x38e;" u2="&#x394;" k="123" /> - <hkern u1="&#x38e;" u2="&#x391;" k="123" /> - <hkern u1="&#x38e;" u2="&#x386;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x38e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x38f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x38f;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x390;" u2="&#x201d;" k="41" /> - <hkern u1="&#x390;" u2="&#x2019;" k="41" /> - <hkern u1="&#x390;" u2="&#x27;" k="41" /> - <hkern u1="&#x390;" u2="&#x22;" k="41" /> - <hkern u1="&#x391;" u2="&#x201d;" k="143" /> - <hkern u1="&#x391;" u2="&#x2019;" k="143" /> - <hkern u1="&#x391;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x391;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x391;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x391;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x391;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x391;" u2="&#x39f;" k="41" /> - <hkern u1="&#x391;" u2="&#x398;" k="41" /> - <hkern u1="&#x391;" u2="&#x27;" k="143" /> - <hkern u1="&#x391;" u2="&#x22;" k="143" /> - <hkern u1="&#x392;" u2="&#x201e;" k="82" /> - <hkern u1="&#x392;" u2="&#x201a;" k="82" /> - <hkern u1="&#x392;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x392;" u2="&#x39b;" k="41" /> - <hkern u1="&#x392;" u2="&#x394;" k="41" /> - <hkern u1="&#x392;" u2="&#x391;" k="41" /> - <hkern u1="&#x392;" u2="&#x386;" k="41" /> - <hkern u1="&#x392;" u2="&#x2e;" k="82" /> - <hkern u1="&#x392;" u2="&#x2c;" k="82" /> - <hkern u1="&#x393;" u2="&#x2126;" k="61" /> - <hkern u1="&#x393;" u2="&#x201e;" k="123" /> - <hkern u1="&#x393;" u2="&#x201a;" k="123" /> - <hkern u1="&#x393;" u2="&#x2015;" k="82" /> - <hkern u1="&#x393;" u2="&#x2014;" k="82" /> - <hkern u1="&#x393;" u2="&#x2013;" k="82" /> - <hkern u1="&#x393;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x393;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x393;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x393;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x393;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x393;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x393;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x393;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x393;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x393;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x393;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x393;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x393;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x393;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x393;" u2="&#x3af;" k="82" /> - <hkern u1="&#x393;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x393;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x393;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x393;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x393;" u2="&#x39f;" k="61" /> - <hkern u1="&#x393;" u2="&#x39b;" k="164" /> - <hkern u1="&#x393;" u2="&#x398;" k="61" /> - <hkern u1="&#x393;" u2="&#x394;" k="164" /> - <hkern u1="&#x393;" u2="&#x391;" k="164" /> - <hkern u1="&#x393;" u2="&#x386;" k="164" /> - <hkern u1="&#x393;" u2="&#x2e;" k="123" /> - <hkern u1="&#x393;" u2="&#x2d;" k="82" /> - <hkern u1="&#x393;" u2="&#x2c;" k="123" /> - <hkern u1="&#x394;" u2="&#x201d;" k="143" /> - <hkern u1="&#x394;" u2="&#x2019;" k="143" /> - <hkern u1="&#x394;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x394;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x394;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x394;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x394;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x394;" u2="&#x39f;" k="41" /> - <hkern u1="&#x394;" u2="&#x398;" k="41" /> - <hkern u1="&#x394;" u2="&#x27;" k="143" /> - <hkern u1="&#x394;" u2="&#x22;" k="143" /> - <hkern u1="&#x396;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x396;" u2="&#x39f;" k="20" /> - <hkern u1="&#x396;" u2="&#x398;" k="20" /> - <hkern u1="&#x398;" u2="&#x201e;" k="82" /> - <hkern u1="&#x398;" u2="&#x201a;" k="82" /> - <hkern u1="&#x398;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x398;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x398;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x398;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x398;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x398;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x398;" u2="&#x39b;" k="41" /> - <hkern u1="&#x398;" u2="&#x396;" k="20" /> - <hkern u1="&#x398;" u2="&#x394;" k="41" /> - <hkern u1="&#x398;" u2="&#x391;" k="41" /> - <hkern u1="&#x398;" u2="&#x386;" k="41" /> - <hkern u1="&#x398;" u2="&#x2e;" k="82" /> - <hkern u1="&#x398;" u2="&#x2c;" k="82" /> - <hkern u1="&#x39a;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x39a;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x39a;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39a;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x201d;" k="143" /> - <hkern u1="&#x39b;" u2="&#x2019;" k="143" /> - <hkern u1="&#x39b;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a8;" k="82" /> - <hkern u1="&#x39b;" u2="&#x3a6;" k="41" /> - <hkern u1="&#x39b;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x39b;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x39b;" u2="&#x39f;" k="41" /> - <hkern u1="&#x39b;" u2="&#x398;" k="41" /> - <hkern u1="&#x39b;" u2="&#x27;" k="143" /> - <hkern u1="&#x39b;" u2="&#x22;" k="143" /> - <hkern u1="&#x39f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x39f;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x39f;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x39f;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x39f;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x39f;" u2="&#x39b;" k="41" /> - <hkern u1="&#x39f;" u2="&#x396;" k="20" /> - <hkern u1="&#x39f;" u2="&#x394;" k="41" /> - <hkern u1="&#x39f;" u2="&#x391;" k="41" /> - <hkern u1="&#x39f;" u2="&#x386;" k="41" /> - <hkern u1="&#x39f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x39f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3a1;" u2="&#x201e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x201a;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x3bb;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x3a1;" u2="&#x39b;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x396;" k="20" /> - <hkern u1="&#x3a1;" u2="&#x394;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x391;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x386;" k="102" /> - <hkern u1="&#x3a1;" u2="&#x2e;" k="266" /> - <hkern u1="&#x3a1;" u2="&#x2c;" k="266" /> - <hkern u1="&#x3a4;" u2="&#x2126;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2015;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2014;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2013;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3d1;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3ce;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cd;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3cc;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3cb;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c9;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c8;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c7;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3c6;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3c3;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c2;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3bf;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3bc;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ba;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b9;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3b7;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b5;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3a4;" u2="&#x3b1;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3b0;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3af;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x3ae;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ad;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x3ac;" k="143" /> - <hkern u1="&#x3a4;" u2="&#x3a9;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x3a4;" u2="&#x39f;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x39b;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x398;" k="61" /> - <hkern u1="&#x3a4;" u2="&#x394;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x391;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x386;" k="164" /> - <hkern u1="&#x3a4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a4;" u2="&#x2d;" k="82" /> - <hkern u1="&#x3a4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3a5;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3a5;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3a5;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a5;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a5;" u2="&#x394;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x391;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x386;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a5;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a6;" u2="&#x201e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x201a;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x3d2;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3ab;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a7;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x3a5;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x3a6;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x3a6;" u2="&#x39b;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x396;" k="61" /> - <hkern u1="&#x3a6;" u2="&#x394;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x391;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x386;" k="41" /> - <hkern u1="&#x3a6;" u2="&#x2e;" k="102" /> - <hkern u1="&#x3a6;" u2="&#x2c;" k="102" /> - <hkern u1="&#x3a7;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3a7;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3a7;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3a7;" u2="&#x398;" k="41" /> - <hkern u1="&#x3a8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x39f;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x39b;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x398;" k="20" /> - <hkern u1="&#x3a8;" u2="&#x394;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x391;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x386;" k="82" /> - <hkern u1="&#x3a8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3a8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3a9;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x3a9;" u2="&#x3a4;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3ab;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3ab;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3ab;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3ab;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x398;" k="41" /> - <hkern u1="&#x3ab;" u2="&#x394;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x391;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x386;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3ab;" u2="&#x2c;" k="123" /> - <hkern u1="&#x3ac;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3ae;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x27;" k="20" /> - <hkern u1="&#x3ae;" u2="&#x22;" k="20" /> - <hkern u1="&#x3af;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3af;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3af;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3af;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3af;" u2="&#x27;" k="82" /> - <hkern u1="&#x3af;" u2="&#x22;" k="82" /> - <hkern u1="&#x3b1;" u2="&#x3bb;" k="-41" /> - <hkern u1="&#x3b3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3b3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3b3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3b6;" u2="&#x2015;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2014;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x2013;" k="102" /> - <hkern u1="&#x3b6;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3b6;" u2="&#x2d;" k="102" /> - <hkern u1="&#x3b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x3b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x3b8;" u2="&#x201e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x201a;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2e;" k="41" /> - <hkern u1="&#x3b8;" u2="&#x2c;" k="41" /> - <hkern u1="&#x3b9;" u2="&#x201d;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x2019;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x3c4;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x3c0;" k="20" /> - <hkern u1="&#x3b9;" u2="&#x27;" k="82" /> - <hkern u1="&#x3b9;" u2="&#x22;" k="82" /> - <hkern u1="&#x3ba;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3ba;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x201d;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x2019;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x3cc;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c6;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c4;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3c3;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c2;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3c0;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3bf;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bb;" u2="&#x3b1;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x3ac;" k="20" /> - <hkern u1="&#x3bb;" u2="&#x27;" k="123" /> - <hkern u1="&#x3bb;" u2="&#x22;" k="123" /> - <hkern u1="&#x3bd;" u2="&#x201e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x201a;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x3bd;" u2="&#x2e;" k="82" /> - <hkern u1="&#x3bd;" u2="&#x2c;" k="82" /> - <hkern u1="&#x3bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x3bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c1;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c1;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x201a;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2e;" k="20" /> - <hkern u1="&#x3c3;" u2="&#x2c;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x3c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x3c7;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3cc;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c6;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c3;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3c2;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3bf;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b4;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3b1;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x3ac;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3c7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x3c7;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3ca;" u2="&#x201d;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x2019;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x27;" k="41" /> - <hkern u1="&#x3ca;" u2="&#x22;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x201d;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x2019;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x3bd;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x3b3;" k="41" /> - <hkern u1="&#x3cc;" u2="&#x27;" k="20" /> - <hkern u1="&#x3cc;" u2="&#x22;" k="20" /> - <hkern u1="&#x3d1;" u2="&#x201e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x201a;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2e;" k="61" /> - <hkern u1="&#x3d1;" u2="&#x2c;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x2126;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x3ce;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cd;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3cc;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3cb;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c8;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c6;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c5;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3c3;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c2;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3c1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bf;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3bc;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ba;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b9;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b7;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b5;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3b1;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3b0;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3af;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ae;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x3ad;" k="82" /> - <hkern u1="&#x3d2;" u2="&#x3ac;" k="102" /> - <hkern u1="&#x3d2;" u2="&#x3a9;" k="20" /> - <hkern u1="&#x3d2;" u2="&#x3a6;" k="61" /> - <hkern u1="&#x3d2;" u2="&#x39f;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x39b;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x398;" k="41" /> - <hkern u1="&#x3d2;" u2="&#x394;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x391;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x386;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x3d2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x402;" u2="&#x201d;" k="82" /> - <hkern u1="&#x402;" u2="&#x2019;" k="82" /> - <hkern u1="&#x402;" u2="&#x50f;" k="41" /> - <hkern u1="&#x402;" u2="&#x50e;" k="123" /> - <hkern u1="&#x402;" u2="&#x507;" k="61" /> - <hkern u1="&#x402;" u2="&#x506;" k="102" /> - <hkern u1="&#x402;" u2="&#x505;" k="61" /> - <hkern u1="&#x402;" u2="&#x504;" k="102" /> - <hkern u1="&#x402;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x402;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x402;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x402;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x402;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x402;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x402;" u2="&#x4af;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x402;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x402;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x402;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x402;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x402;" u2="&#x49e;" k="82" /> - <hkern u1="&#x402;" u2="&#x492;" k="82" /> - <hkern u1="&#x402;" u2="&#x48c;" k="82" /> - <hkern u1="&#x402;" u2="&#x476;" k="82" /> - <hkern u1="&#x402;" u2="&#x474;" k="82" /> - <hkern u1="&#x402;" u2="&#x470;" k="102" /> - <hkern u1="&#x402;" u2="&#x462;" k="82" /> - <hkern u1="&#x402;" u2="&#x45e;" k="41" /> - <hkern u1="&#x402;" u2="&#x44a;" k="41" /> - <hkern u1="&#x402;" u2="&#x447;" k="41" /> - <hkern u1="&#x402;" u2="&#x443;" k="41" /> - <hkern u1="&#x402;" u2="&#x442;" k="41" /> - <hkern u1="&#x402;" u2="&#x42a;" k="123" /> - <hkern u1="&#x402;" u2="&#x427;" k="102" /> - <hkern u1="&#x402;" u2="&#x423;" k="41" /> - <hkern u1="&#x402;" u2="&#x422;" k="102" /> - <hkern u1="&#x402;" u2="&#x40e;" k="41" /> - <hkern u1="&#x402;" u2="&#x40b;" k="123" /> - <hkern u1="&#x402;" u2="&#x402;" k="123" /> - <hkern u1="&#x402;" u2="&#x27;" k="82" /> - <hkern u1="&#x402;" u2="&#x22;" k="82" /> - <hkern u1="&#x403;" u2="&#x201e;" k="123" /> - <hkern u1="&#x403;" u2="&#x201a;" k="123" /> - <hkern u1="&#x403;" u2="&#x2015;" k="82" /> - <hkern u1="&#x403;" u2="&#x2014;" k="82" /> - <hkern u1="&#x403;" u2="&#x2013;" k="82" /> - <hkern u1="&#x403;" u2="&#x513;" k="123" /> - <hkern u1="&#x403;" u2="&#x512;" k="102" /> - <hkern u1="&#x403;" u2="&#x511;" k="143" /> - <hkern u1="&#x403;" u2="&#x50f;" k="82" /> - <hkern u1="&#x403;" u2="&#x50d;" k="143" /> - <hkern u1="&#x403;" u2="&#x50c;" k="41" /> - <hkern u1="&#x403;" u2="&#x50b;" k="102" /> - <hkern u1="&#x403;" u2="&#x509;" k="123" /> - <hkern u1="&#x403;" u2="&#x508;" k="102" /> - <hkern u1="&#x403;" u2="&#x507;" k="102" /> - <hkern u1="&#x403;" u2="&#x505;" k="102" /> - <hkern u1="&#x403;" u2="&#x503;" k="143" /> - <hkern u1="&#x403;" u2="&#x502;" k="143" /> - <hkern u1="&#x403;" u2="&#x501;" k="143" /> - <hkern u1="&#x403;" u2="&#x500;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x403;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x403;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x403;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x403;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x403;" u2="&#x4df;" k="41" /> - <hkern u1="&#x403;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x403;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x403;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x403;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x403;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x403;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x403;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x403;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x403;" u2="&#x4be;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x403;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x403;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x403;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x403;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x403;" u2="&#x4af;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x403;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x403;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x403;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x403;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x403;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x403;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x403;" u2="&#x49d;" k="102" /> - <hkern u1="&#x403;" u2="&#x49b;" k="102" /> - <hkern u1="&#x403;" u2="&#x499;" k="41" /> - <hkern u1="&#x403;" u2="&#x497;" k="41" /> - <hkern u1="&#x403;" u2="&#x495;" k="102" /> - <hkern u1="&#x403;" u2="&#x491;" k="102" /> - <hkern u1="&#x403;" u2="&#x48f;" k="102" /> - <hkern u1="&#x403;" u2="&#x48b;" k="102" /> - <hkern u1="&#x403;" u2="&#x481;" k="143" /> - <hkern u1="&#x403;" u2="&#x480;" k="41" /> - <hkern u1="&#x403;" u2="&#x47f;" k="41" /> - <hkern u1="&#x403;" u2="&#x47e;" k="41" /> - <hkern u1="&#x403;" u2="&#x47d;" k="143" /> - <hkern u1="&#x403;" u2="&#x47c;" k="41" /> - <hkern u1="&#x403;" u2="&#x47b;" k="143" /> - <hkern u1="&#x403;" u2="&#x47a;" k="41" /> - <hkern u1="&#x403;" u2="&#x479;" k="143" /> - <hkern u1="&#x403;" u2="&#x478;" k="41" /> - <hkern u1="&#x403;" u2="&#x477;" k="41" /> - <hkern u1="&#x403;" u2="&#x475;" k="41" /> - <hkern u1="&#x403;" u2="&#x473;" k="143" /> - <hkern u1="&#x403;" u2="&#x472;" k="41" /> - <hkern u1="&#x403;" u2="&#x471;" k="102" /> - <hkern u1="&#x403;" u2="&#x46d;" k="102" /> - <hkern u1="&#x403;" u2="&#x46b;" k="102" /> - <hkern u1="&#x403;" u2="&#x469;" k="102" /> - <hkern u1="&#x403;" u2="&#x467;" k="123" /> - <hkern u1="&#x403;" u2="&#x466;" k="143" /> - <hkern u1="&#x403;" u2="&#x465;" k="102" /> - <hkern u1="&#x403;" u2="&#x461;" k="41" /> - <hkern u1="&#x403;" u2="&#x460;" k="41" /> - <hkern u1="&#x403;" u2="&#x45f;" k="102" /> - <hkern u1="&#x403;" u2="&#x45e;" k="82" /> - <hkern u1="&#x403;" u2="&#x45d;" k="102" /> - <hkern u1="&#x403;" u2="&#x45c;" k="102" /> - <hkern u1="&#x403;" u2="&#x45a;" k="102" /> - <hkern u1="&#x403;" u2="&#x459;" k="123" /> - <hkern u1="&#x403;" u2="&#x455;" k="123" /> - <hkern u1="&#x403;" u2="&#x454;" k="143" /> - <hkern u1="&#x403;" u2="&#x453;" k="102" /> - <hkern u1="&#x403;" u2="&#x451;" k="143" /> - <hkern u1="&#x403;" u2="&#x450;" k="143" /> - <hkern u1="&#x403;" u2="&#x44f;" k="61" /> - <hkern u1="&#x403;" u2="&#x44e;" k="102" /> - <hkern u1="&#x403;" u2="&#x44d;" k="41" /> - <hkern u1="&#x403;" u2="&#x44c;" k="102" /> - <hkern u1="&#x403;" u2="&#x44b;" k="102" /> - <hkern u1="&#x403;" u2="&#x44a;" k="82" /> - <hkern u1="&#x403;" u2="&#x449;" k="102" /> - <hkern u1="&#x403;" u2="&#x448;" k="102" /> - <hkern u1="&#x403;" u2="&#x447;" k="102" /> - <hkern u1="&#x403;" u2="&#x446;" k="102" /> - <hkern u1="&#x403;" u2="&#x445;" k="41" /> - <hkern u1="&#x403;" u2="&#x444;" k="143" /> - <hkern u1="&#x403;" u2="&#x443;" k="82" /> - <hkern u1="&#x403;" u2="&#x442;" k="82" /> - <hkern u1="&#x403;" u2="&#x441;" k="143" /> - <hkern u1="&#x403;" u2="&#x440;" k="102" /> - <hkern u1="&#x403;" u2="&#x43f;" k="102" /> - <hkern u1="&#x403;" u2="&#x43e;" k="143" /> - <hkern u1="&#x403;" u2="&#x43d;" k="102" /> - <hkern u1="&#x403;" u2="&#x43c;" k="102" /> - <hkern u1="&#x403;" u2="&#x43b;" k="123" /> - <hkern u1="&#x403;" u2="&#x43a;" k="102" /> - <hkern u1="&#x403;" u2="&#x439;" k="102" /> - <hkern u1="&#x403;" u2="&#x438;" k="102" /> - <hkern u1="&#x403;" u2="&#x437;" k="41" /> - <hkern u1="&#x403;" u2="&#x436;" k="41" /> - <hkern u1="&#x403;" u2="&#x435;" k="143" /> - <hkern u1="&#x403;" u2="&#x434;" k="123" /> - <hkern u1="&#x403;" u2="&#x433;" k="102" /> - <hkern u1="&#x403;" u2="&#x432;" k="102" /> - <hkern u1="&#x403;" u2="&#x424;" k="82" /> - <hkern u1="&#x403;" u2="&#x422;" k="-41" /> - <hkern u1="&#x403;" u2="&#x421;" k="41" /> - <hkern u1="&#x403;" u2="&#x41e;" k="41" /> - <hkern u1="&#x403;" u2="&#x41b;" k="102" /> - <hkern u1="&#x403;" u2="&#x414;" k="102" /> - <hkern u1="&#x403;" u2="&#x410;" k="143" /> - <hkern u1="&#x403;" u2="&#x409;" k="102" /> - <hkern u1="&#x403;" u2="&#x404;" k="41" /> - <hkern u1="&#x403;" u2="&#x2e;" k="123" /> - <hkern u1="&#x403;" u2="&#x2d;" k="82" /> - <hkern u1="&#x403;" u2="&#x2c;" k="123" /> - <hkern u1="&#x404;" u2="&#x50c;" k="41" /> - <hkern u1="&#x404;" u2="&#x507;" k="41" /> - <hkern u1="&#x404;" u2="&#x505;" k="41" /> - <hkern u1="&#x404;" u2="&#x502;" k="41" /> - <hkern u1="&#x404;" u2="&#x500;" k="41" /> - <hkern u1="&#x404;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x404;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x404;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x404;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4be;" k="41" /> - <hkern u1="&#x404;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x404;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x404;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x404;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x404;" u2="&#x480;" k="41" /> - <hkern u1="&#x404;" u2="&#x47e;" k="41" /> - <hkern u1="&#x404;" u2="&#x47c;" k="41" /> - <hkern u1="&#x404;" u2="&#x47a;" k="41" /> - <hkern u1="&#x404;" u2="&#x478;" k="41" /> - <hkern u1="&#x404;" u2="&#x472;" k="41" /> - <hkern u1="&#x404;" u2="&#x460;" k="41" /> - <hkern u1="&#x404;" u2="&#x447;" k="41" /> - <hkern u1="&#x404;" u2="&#x424;" k="41" /> - <hkern u1="&#x404;" u2="&#x421;" k="41" /> - <hkern u1="&#x404;" u2="&#x41e;" k="41" /> - <hkern u1="&#x404;" u2="&#x404;" k="41" /> - <hkern u1="&#x405;" u2="&#x507;" k="41" /> - <hkern u1="&#x405;" u2="&#x505;" k="41" /> - <hkern u1="&#x409;" u2="&#x201d;" k="82" /> - <hkern u1="&#x409;" u2="&#x2019;" k="82" /> - <hkern u1="&#x409;" u2="&#x50f;" k="41" /> - <hkern u1="&#x409;" u2="&#x50e;" k="123" /> - <hkern u1="&#x409;" u2="&#x507;" k="61" /> - <hkern u1="&#x409;" u2="&#x506;" k="102" /> - <hkern u1="&#x409;" u2="&#x505;" k="61" /> - <hkern u1="&#x409;" u2="&#x504;" k="102" /> - <hkern u1="&#x409;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x409;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x409;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x409;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x409;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x409;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x409;" u2="&#x4af;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x409;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x409;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x409;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x409;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x409;" u2="&#x49e;" k="82" /> - <hkern u1="&#x409;" u2="&#x492;" k="82" /> - <hkern u1="&#x409;" u2="&#x48c;" k="82" /> - <hkern u1="&#x409;" u2="&#x476;" k="82" /> - <hkern u1="&#x409;" u2="&#x474;" k="82" /> - <hkern u1="&#x409;" u2="&#x470;" k="102" /> - <hkern u1="&#x409;" u2="&#x462;" k="82" /> - <hkern u1="&#x409;" u2="&#x45e;" k="41" /> - <hkern u1="&#x409;" u2="&#x44a;" k="41" /> - <hkern u1="&#x409;" u2="&#x447;" k="41" /> - <hkern u1="&#x409;" u2="&#x443;" k="41" /> - <hkern u1="&#x409;" u2="&#x442;" k="41" /> - <hkern u1="&#x409;" u2="&#x42a;" k="123" /> - <hkern u1="&#x409;" u2="&#x427;" k="102" /> - <hkern u1="&#x409;" u2="&#x423;" k="41" /> - <hkern u1="&#x409;" u2="&#x422;" k="102" /> - <hkern u1="&#x409;" u2="&#x40e;" k="41" /> - <hkern u1="&#x409;" u2="&#x40b;" k="123" /> - <hkern u1="&#x409;" u2="&#x402;" k="123" /> - <hkern u1="&#x409;" u2="&#x27;" k="82" /> - <hkern u1="&#x409;" u2="&#x22;" k="82" /> - <hkern u1="&#x40a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40a;" u2="&#x507;" k="61" /> - <hkern u1="&#x40a;" u2="&#x506;" k="102" /> - <hkern u1="&#x40a;" u2="&#x505;" k="61" /> - <hkern u1="&#x40a;" u2="&#x504;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40a;" u2="&#x492;" k="82" /> - <hkern u1="&#x40a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40a;" u2="&#x476;" k="82" /> - <hkern u1="&#x40a;" u2="&#x474;" k="82" /> - <hkern u1="&#x40a;" u2="&#x470;" k="102" /> - <hkern u1="&#x40a;" u2="&#x462;" k="82" /> - <hkern u1="&#x40a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40a;" u2="&#x447;" k="41" /> - <hkern u1="&#x40a;" u2="&#x443;" k="41" /> - <hkern u1="&#x40a;" u2="&#x442;" k="41" /> - <hkern u1="&#x40a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40a;" u2="&#x427;" k="102" /> - <hkern u1="&#x40a;" u2="&#x423;" k="41" /> - <hkern u1="&#x40a;" u2="&#x422;" k="102" /> - <hkern u1="&#x40a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40a;" u2="&#x402;" k="123" /> - <hkern u1="&#x40a;" u2="&#x27;" k="82" /> - <hkern u1="&#x40a;" u2="&#x22;" k="82" /> - <hkern u1="&#x40b;" u2="&#x201d;" k="82" /> - <hkern u1="&#x40b;" u2="&#x2019;" k="82" /> - <hkern u1="&#x40b;" u2="&#x50f;" k="41" /> - <hkern u1="&#x40b;" u2="&#x50e;" k="123" /> - <hkern u1="&#x40b;" u2="&#x507;" k="61" /> - <hkern u1="&#x40b;" u2="&#x506;" k="102" /> - <hkern u1="&#x40b;" u2="&#x505;" k="61" /> - <hkern u1="&#x40b;" u2="&#x504;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x40b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x40b;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4af;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x40b;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x40b;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x40b;" u2="&#x49e;" k="82" /> - <hkern u1="&#x40b;" u2="&#x492;" k="82" /> - <hkern u1="&#x40b;" u2="&#x48c;" k="82" /> - <hkern u1="&#x40b;" u2="&#x476;" k="82" /> - <hkern u1="&#x40b;" u2="&#x474;" k="82" /> - <hkern u1="&#x40b;" u2="&#x470;" k="102" /> - <hkern u1="&#x40b;" u2="&#x462;" k="82" /> - <hkern u1="&#x40b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x44a;" k="41" /> - <hkern u1="&#x40b;" u2="&#x447;" k="41" /> - <hkern u1="&#x40b;" u2="&#x443;" k="41" /> - <hkern u1="&#x40b;" u2="&#x442;" k="41" /> - <hkern u1="&#x40b;" u2="&#x42a;" k="123" /> - <hkern u1="&#x40b;" u2="&#x427;" k="102" /> - <hkern u1="&#x40b;" u2="&#x423;" k="41" /> - <hkern u1="&#x40b;" u2="&#x422;" k="102" /> - <hkern u1="&#x40b;" u2="&#x40e;" k="41" /> - <hkern u1="&#x40b;" u2="&#x40b;" k="123" /> - <hkern u1="&#x40b;" u2="&#x402;" k="123" /> - <hkern u1="&#x40b;" u2="&#x27;" k="82" /> - <hkern u1="&#x40b;" u2="&#x22;" k="82" /> - <hkern u1="&#x40c;" u2="&#x510;" k="20" /> - <hkern u1="&#x40c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x507;" k="41" /> - <hkern u1="&#x40c;" u2="&#x505;" k="41" /> - <hkern u1="&#x40c;" u2="&#x502;" k="41" /> - <hkern u1="&#x40c;" u2="&#x500;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x40c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x40c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x40c;" u2="&#x480;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x40c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x40c;" u2="&#x478;" k="41" /> - <hkern u1="&#x40c;" u2="&#x472;" k="41" /> - <hkern u1="&#x40c;" u2="&#x470;" k="41" /> - <hkern u1="&#x40c;" u2="&#x460;" k="41" /> - <hkern u1="&#x40c;" u2="&#x447;" k="41" /> - <hkern u1="&#x40c;" u2="&#x427;" k="41" /> - <hkern u1="&#x40c;" u2="&#x424;" k="41" /> - <hkern u1="&#x40c;" u2="&#x421;" k="41" /> - <hkern u1="&#x40c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x40c;" u2="&#x404;" k="41" /> - <hkern u1="&#x40e;" u2="&#x201e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x201a;" k="123" /> - <hkern u1="&#x40e;" u2="&#x513;" k="82" /> - <hkern u1="&#x40e;" u2="&#x512;" k="102" /> - <hkern u1="&#x40e;" u2="&#x511;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x50c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x509;" k="82" /> - <hkern u1="&#x40e;" u2="&#x508;" k="102" /> - <hkern u1="&#x40e;" u2="&#x503;" k="41" /> - <hkern u1="&#x40e;" u2="&#x502;" k="143" /> - <hkern u1="&#x40e;" u2="&#x501;" k="41" /> - <hkern u1="&#x40e;" u2="&#x500;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x40e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x40e;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x40e;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4be;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x40e;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x40e;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x40e;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x40e;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x481;" k="41" /> - <hkern u1="&#x40e;" u2="&#x480;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47d;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47c;" k="20" /> - <hkern u1="&#x40e;" u2="&#x47b;" k="41" /> - <hkern u1="&#x40e;" u2="&#x47a;" k="20" /> - <hkern u1="&#x40e;" u2="&#x479;" k="41" /> - <hkern u1="&#x40e;" u2="&#x478;" k="20" /> - <hkern u1="&#x40e;" u2="&#x473;" k="41" /> - <hkern u1="&#x40e;" u2="&#x472;" k="20" /> - <hkern u1="&#x40e;" u2="&#x467;" k="82" /> - <hkern u1="&#x40e;" u2="&#x466;" k="143" /> - <hkern u1="&#x40e;" u2="&#x460;" k="20" /> - <hkern u1="&#x40e;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x459;" k="82" /> - <hkern u1="&#x40e;" u2="&#x455;" k="20" /> - <hkern u1="&#x40e;" u2="&#x454;" k="41" /> - <hkern u1="&#x40e;" u2="&#x452;" k="-102" /> - <hkern u1="&#x40e;" u2="&#x451;" k="41" /> - <hkern u1="&#x40e;" u2="&#x450;" k="41" /> - <hkern u1="&#x40e;" u2="&#x447;" k="41" /> - <hkern u1="&#x40e;" u2="&#x444;" k="41" /> - <hkern u1="&#x40e;" u2="&#x441;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43e;" k="41" /> - <hkern u1="&#x40e;" u2="&#x43b;" k="82" /> - <hkern u1="&#x40e;" u2="&#x435;" k="41" /> - <hkern u1="&#x40e;" u2="&#x434;" k="82" /> - <hkern u1="&#x40e;" u2="&#x42f;" k="20" /> - <hkern u1="&#x40e;" u2="&#x424;" k="61" /> - <hkern u1="&#x40e;" u2="&#x421;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41e;" k="20" /> - <hkern u1="&#x40e;" u2="&#x41b;" k="102" /> - <hkern u1="&#x40e;" u2="&#x414;" k="102" /> - <hkern u1="&#x40e;" u2="&#x410;" k="143" /> - <hkern u1="&#x40e;" u2="&#x409;" k="102" /> - <hkern u1="&#x40e;" u2="&#x404;" k="20" /> - <hkern u1="&#x40e;" u2="&#x2e;" k="123" /> - <hkern u1="&#x40e;" u2="&#x2c;" k="123" /> - <hkern u1="&#x410;" u2="&#x201d;" k="143" /> - <hkern u1="&#x410;" u2="&#x2019;" k="143" /> - <hkern u1="&#x410;" u2="&#x50f;" k="41" /> - <hkern u1="&#x410;" u2="&#x50e;" k="102" /> - <hkern u1="&#x410;" u2="&#x507;" k="41" /> - <hkern u1="&#x410;" u2="&#x506;" k="143" /> - <hkern u1="&#x410;" u2="&#x505;" k="41" /> - <hkern u1="&#x410;" u2="&#x504;" k="143" /> - <hkern u1="&#x410;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4da;" k="41" /> - <hkern u1="&#x410;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x410;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x410;" u2="&#x4be;" k="102" /> - <hkern u1="&#x410;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x410;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x410;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x410;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x410;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x410;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x410;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x410;" u2="&#x49e;" k="41" /> - <hkern u1="&#x410;" u2="&#x492;" k="41" /> - <hkern u1="&#x410;" u2="&#x48c;" k="41" /> - <hkern u1="&#x410;" u2="&#x476;" k="82" /> - <hkern u1="&#x410;" u2="&#x474;" k="82" /> - <hkern u1="&#x410;" u2="&#x470;" k="102" /> - <hkern u1="&#x410;" u2="&#x462;" k="41" /> - <hkern u1="&#x410;" u2="&#x44a;" k="41" /> - <hkern u1="&#x410;" u2="&#x447;" k="41" /> - <hkern u1="&#x410;" u2="&#x442;" k="41" /> - <hkern u1="&#x410;" u2="&#x42a;" k="102" /> - <hkern u1="&#x410;" u2="&#x427;" k="102" /> - <hkern u1="&#x410;" u2="&#x424;" k="41" /> - <hkern u1="&#x410;" u2="&#x422;" k="143" /> - <hkern u1="&#x410;" u2="&#x40b;" k="102" /> - <hkern u1="&#x410;" u2="&#x402;" k="102" /> - <hkern u1="&#x410;" u2="&#x27;" k="143" /> - <hkern u1="&#x410;" u2="&#x22;" k="143" /> - <hkern u1="&#x411;" u2="&#x201d;" k="41" /> - <hkern u1="&#x411;" u2="&#x2019;" k="41" /> - <hkern u1="&#x411;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x411;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x411;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x411;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x411;" u2="&#x4be;" k="41" /> - <hkern u1="&#x411;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x411;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x411;" u2="&#x470;" k="41" /> - <hkern u1="&#x411;" u2="&#x466;" k="20" /> - <hkern u1="&#x411;" u2="&#x427;" k="41" /> - <hkern u1="&#x411;" u2="&#x410;" k="20" /> - <hkern u1="&#x411;" u2="&#x27;" k="41" /> - <hkern u1="&#x411;" u2="&#x22;" k="41" /> - <hkern u1="&#x412;" u2="&#x201e;" k="82" /> - <hkern u1="&#x412;" u2="&#x201a;" k="82" /> - <hkern u1="&#x412;" u2="&#x506;" k="41" /> - <hkern u1="&#x412;" u2="&#x504;" k="41" /> - <hkern u1="&#x412;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x412;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x412;" u2="&#x476;" k="20" /> - <hkern u1="&#x412;" u2="&#x474;" k="20" /> - <hkern u1="&#x412;" u2="&#x2e;" k="82" /> - <hkern u1="&#x412;" u2="&#x2c;" k="82" /> - <hkern u1="&#x413;" u2="&#x201e;" k="123" /> - <hkern u1="&#x413;" u2="&#x201a;" k="123" /> - <hkern u1="&#x413;" u2="&#x2015;" k="82" /> - <hkern u1="&#x413;" u2="&#x2014;" k="82" /> - <hkern u1="&#x413;" u2="&#x2013;" k="82" /> - <hkern u1="&#x413;" u2="&#x513;" k="123" /> - <hkern u1="&#x413;" u2="&#x512;" k="102" /> - <hkern u1="&#x413;" u2="&#x511;" k="143" /> - <hkern u1="&#x413;" u2="&#x50f;" k="82" /> - <hkern u1="&#x413;" u2="&#x50d;" k="143" /> - <hkern u1="&#x413;" u2="&#x50c;" k="41" /> - <hkern u1="&#x413;" u2="&#x50b;" k="102" /> - <hkern u1="&#x413;" u2="&#x509;" k="123" /> - <hkern u1="&#x413;" u2="&#x508;" k="102" /> - <hkern u1="&#x413;" u2="&#x507;" k="102" /> - <hkern u1="&#x413;" u2="&#x505;" k="102" /> - <hkern u1="&#x413;" u2="&#x503;" k="143" /> - <hkern u1="&#x413;" u2="&#x502;" k="143" /> - <hkern u1="&#x413;" u2="&#x501;" k="143" /> - <hkern u1="&#x413;" u2="&#x500;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x413;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x413;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x413;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x413;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x413;" u2="&#x4df;" k="41" /> - <hkern u1="&#x413;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x413;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x413;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x413;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x413;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x413;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x413;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x413;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x413;" u2="&#x4be;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x413;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x413;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x413;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x413;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x413;" u2="&#x4af;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x413;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x413;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x413;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x413;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x413;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x413;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x413;" u2="&#x49d;" k="102" /> - <hkern u1="&#x413;" u2="&#x49b;" k="102" /> - <hkern u1="&#x413;" u2="&#x499;" k="41" /> - <hkern u1="&#x413;" u2="&#x497;" k="41" /> - <hkern u1="&#x413;" u2="&#x495;" k="102" /> - <hkern u1="&#x413;" u2="&#x491;" k="102" /> - <hkern u1="&#x413;" u2="&#x48f;" k="102" /> - <hkern u1="&#x413;" u2="&#x48b;" k="102" /> - <hkern u1="&#x413;" u2="&#x481;" k="143" /> - <hkern u1="&#x413;" u2="&#x480;" k="41" /> - <hkern u1="&#x413;" u2="&#x47f;" k="41" /> - <hkern u1="&#x413;" u2="&#x47e;" k="41" /> - <hkern u1="&#x413;" u2="&#x47d;" k="143" /> - <hkern u1="&#x413;" u2="&#x47c;" k="41" /> - <hkern u1="&#x413;" u2="&#x47b;" k="143" /> - <hkern u1="&#x413;" u2="&#x47a;" k="41" /> - <hkern u1="&#x413;" u2="&#x479;" k="143" /> - <hkern u1="&#x413;" u2="&#x478;" k="41" /> - <hkern u1="&#x413;" u2="&#x477;" k="41" /> - <hkern u1="&#x413;" u2="&#x475;" k="41" /> - <hkern u1="&#x413;" u2="&#x473;" k="143" /> - <hkern u1="&#x413;" u2="&#x472;" k="41" /> - <hkern u1="&#x413;" u2="&#x471;" k="102" /> - <hkern u1="&#x413;" u2="&#x46d;" k="102" /> - <hkern u1="&#x413;" u2="&#x46b;" k="102" /> - <hkern u1="&#x413;" u2="&#x469;" k="102" /> - <hkern u1="&#x413;" u2="&#x467;" k="123" /> - <hkern u1="&#x413;" u2="&#x466;" k="143" /> - <hkern u1="&#x413;" u2="&#x465;" k="102" /> - <hkern u1="&#x413;" u2="&#x461;" k="41" /> - <hkern u1="&#x413;" u2="&#x460;" k="41" /> - <hkern u1="&#x413;" u2="&#x45f;" k="102" /> - <hkern u1="&#x413;" u2="&#x45e;" k="82" /> - <hkern u1="&#x413;" u2="&#x45d;" k="102" /> - <hkern u1="&#x413;" u2="&#x45c;" k="102" /> - <hkern u1="&#x413;" u2="&#x45a;" k="102" /> - <hkern u1="&#x413;" u2="&#x459;" k="123" /> - <hkern u1="&#x413;" u2="&#x455;" k="123" /> - <hkern u1="&#x413;" u2="&#x454;" k="143" /> - <hkern u1="&#x413;" u2="&#x453;" k="102" /> - <hkern u1="&#x413;" u2="&#x451;" k="143" /> - <hkern u1="&#x413;" u2="&#x450;" k="143" /> - <hkern u1="&#x413;" u2="&#x44f;" k="61" /> - <hkern u1="&#x413;" u2="&#x44e;" k="102" /> - <hkern u1="&#x413;" u2="&#x44d;" k="41" /> - <hkern u1="&#x413;" u2="&#x44c;" k="102" /> - <hkern u1="&#x413;" u2="&#x44b;" k="102" /> - <hkern u1="&#x413;" u2="&#x44a;" k="82" /> - <hkern u1="&#x413;" u2="&#x449;" k="102" /> - <hkern u1="&#x413;" u2="&#x448;" k="102" /> - <hkern u1="&#x413;" u2="&#x447;" k="102" /> - <hkern u1="&#x413;" u2="&#x446;" k="102" /> - <hkern u1="&#x413;" u2="&#x445;" k="41" /> - <hkern u1="&#x413;" u2="&#x444;" k="143" /> - <hkern u1="&#x413;" u2="&#x443;" k="82" /> - <hkern u1="&#x413;" u2="&#x442;" k="82" /> - <hkern u1="&#x413;" u2="&#x441;" k="143" /> - <hkern u1="&#x413;" u2="&#x440;" k="102" /> - <hkern u1="&#x413;" u2="&#x43f;" k="102" /> - <hkern u1="&#x413;" u2="&#x43e;" k="143" /> - <hkern u1="&#x413;" u2="&#x43d;" k="102" /> - <hkern u1="&#x413;" u2="&#x43c;" k="102" /> - <hkern u1="&#x413;" u2="&#x43b;" k="123" /> - <hkern u1="&#x413;" u2="&#x43a;" k="102" /> - <hkern u1="&#x413;" u2="&#x439;" k="102" /> - <hkern u1="&#x413;" u2="&#x438;" k="102" /> - <hkern u1="&#x413;" u2="&#x437;" k="41" /> - <hkern u1="&#x413;" u2="&#x436;" k="41" /> - <hkern u1="&#x413;" u2="&#x435;" k="143" /> - <hkern u1="&#x413;" u2="&#x434;" k="123" /> - <hkern u1="&#x413;" u2="&#x433;" k="102" /> - <hkern u1="&#x413;" u2="&#x432;" k="102" /> - <hkern u1="&#x413;" u2="&#x424;" k="82" /> - <hkern u1="&#x413;" u2="&#x422;" k="-41" /> - <hkern u1="&#x413;" u2="&#x421;" k="41" /> - <hkern u1="&#x413;" u2="&#x41e;" k="41" /> - <hkern u1="&#x413;" u2="&#x41b;" k="102" /> - <hkern u1="&#x413;" u2="&#x414;" k="102" /> - <hkern u1="&#x413;" u2="&#x410;" k="143" /> - <hkern u1="&#x413;" u2="&#x409;" k="102" /> - <hkern u1="&#x413;" u2="&#x404;" k="41" /> - <hkern u1="&#x413;" u2="&#x2e;" k="123" /> - <hkern u1="&#x413;" u2="&#x2d;" k="82" /> - <hkern u1="&#x413;" u2="&#x2c;" k="123" /> - <hkern u1="&#x414;" u2="&#x507;" k="41" /> - <hkern u1="&#x414;" u2="&#x505;" k="41" /> - <hkern u1="&#x414;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x414;" u2="&#x408;" k="-225" /> - <hkern u1="&#x416;" u2="&#x510;" k="20" /> - <hkern u1="&#x416;" u2="&#x50c;" k="41" /> - <hkern u1="&#x416;" u2="&#x507;" k="41" /> - <hkern u1="&#x416;" u2="&#x505;" k="41" /> - <hkern u1="&#x416;" u2="&#x502;" k="41" /> - <hkern u1="&#x416;" u2="&#x500;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x416;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x416;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x416;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x416;" u2="&#x4be;" k="102" /> - <hkern u1="&#x416;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x416;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x416;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x416;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x416;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x416;" u2="&#x480;" k="41" /> - <hkern u1="&#x416;" u2="&#x47e;" k="41" /> - <hkern u1="&#x416;" u2="&#x47c;" k="41" /> - <hkern u1="&#x416;" u2="&#x47a;" k="41" /> - <hkern u1="&#x416;" u2="&#x478;" k="41" /> - <hkern u1="&#x416;" u2="&#x472;" k="41" /> - <hkern u1="&#x416;" u2="&#x470;" k="41" /> - <hkern u1="&#x416;" u2="&#x460;" k="41" /> - <hkern u1="&#x416;" u2="&#x447;" k="41" /> - <hkern u1="&#x416;" u2="&#x427;" k="41" /> - <hkern u1="&#x416;" u2="&#x424;" k="41" /> - <hkern u1="&#x416;" u2="&#x421;" k="41" /> - <hkern u1="&#x416;" u2="&#x41e;" k="41" /> - <hkern u1="&#x416;" u2="&#x404;" k="41" /> - <hkern u1="&#x417;" u2="&#x201e;" k="82" /> - <hkern u1="&#x417;" u2="&#x201a;" k="82" /> - <hkern u1="&#x417;" u2="&#x506;" k="41" /> - <hkern u1="&#x417;" u2="&#x504;" k="41" /> - <hkern u1="&#x417;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x417;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x417;" u2="&#x476;" k="20" /> - <hkern u1="&#x417;" u2="&#x474;" k="20" /> - <hkern u1="&#x417;" u2="&#x2e;" k="82" /> - <hkern u1="&#x417;" u2="&#x2c;" k="82" /> - <hkern u1="&#x41a;" u2="&#x510;" k="20" /> - <hkern u1="&#x41a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x507;" k="41" /> - <hkern u1="&#x41a;" u2="&#x505;" k="41" /> - <hkern u1="&#x41a;" u2="&#x502;" k="41" /> - <hkern u1="&#x41a;" u2="&#x500;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4be;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x41a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x41a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x41a;" u2="&#x480;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x41a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x41a;" u2="&#x478;" k="41" /> - <hkern u1="&#x41a;" u2="&#x472;" k="41" /> - <hkern u1="&#x41a;" u2="&#x470;" k="41" /> - <hkern u1="&#x41a;" u2="&#x460;" k="41" /> - <hkern u1="&#x41a;" u2="&#x447;" k="41" /> - <hkern u1="&#x41a;" u2="&#x427;" k="41" /> - <hkern u1="&#x41a;" u2="&#x424;" k="41" /> - <hkern u1="&#x41a;" u2="&#x421;" k="41" /> - <hkern u1="&#x41a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x41a;" u2="&#x404;" k="41" /> - <hkern u1="&#x41e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x41e;" u2="&#x513;" k="20" /> - <hkern u1="&#x41e;" u2="&#x512;" k="41" /> - <hkern u1="&#x41e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x509;" k="20" /> - <hkern u1="&#x41e;" u2="&#x508;" k="41" /> - <hkern u1="&#x41e;" u2="&#x506;" k="41" /> - <hkern u1="&#x41e;" u2="&#x504;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x41e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x41e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x41e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x41e;" u2="&#x498;" k="20" /> - <hkern u1="&#x41e;" u2="&#x496;" k="41" /> - <hkern u1="&#x41e;" u2="&#x476;" k="20" /> - <hkern u1="&#x41e;" u2="&#x474;" k="20" /> - <hkern u1="&#x41e;" u2="&#x470;" k="41" /> - <hkern u1="&#x41e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x41e;" u2="&#x467;" k="20" /> - <hkern u1="&#x41e;" u2="&#x466;" k="41" /> - <hkern u1="&#x41e;" u2="&#x459;" k="20" /> - <hkern u1="&#x41e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x434;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x41e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x41e;" u2="&#x427;" k="41" /> - <hkern u1="&#x41e;" u2="&#x425;" k="41" /> - <hkern u1="&#x41e;" u2="&#x423;" k="41" /> - <hkern u1="&#x41e;" u2="&#x422;" k="61" /> - <hkern u1="&#x41e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x41e;" u2="&#x417;" k="20" /> - <hkern u1="&#x41e;" u2="&#x416;" k="41" /> - <hkern u1="&#x41e;" u2="&#x414;" k="41" /> - <hkern u1="&#x41e;" u2="&#x410;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x41e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x41e;" u2="&#x409;" k="41" /> - <hkern u1="&#x41e;" u2="&#x402;" k="20" /> - <hkern u1="&#x41e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x41e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x420;" u2="&#x201e;" k="266" /> - <hkern u1="&#x420;" u2="&#x201a;" k="266" /> - <hkern u1="&#x420;" u2="&#x513;" k="102" /> - <hkern u1="&#x420;" u2="&#x512;" k="123" /> - <hkern u1="&#x420;" u2="&#x509;" k="102" /> - <hkern u1="&#x420;" u2="&#x508;" k="123" /> - <hkern u1="&#x420;" u2="&#x502;" k="82" /> - <hkern u1="&#x420;" u2="&#x500;" k="82" /> - <hkern u1="&#x420;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x420;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x420;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x420;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x420;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x420;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x420;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x420;" u2="&#x496;" k="41" /> - <hkern u1="&#x420;" u2="&#x46a;" k="20" /> - <hkern u1="&#x420;" u2="&#x467;" k="102" /> - <hkern u1="&#x420;" u2="&#x466;" k="102" /> - <hkern u1="&#x420;" u2="&#x459;" k="102" /> - <hkern u1="&#x420;" u2="&#x43b;" k="102" /> - <hkern u1="&#x420;" u2="&#x434;" k="102" /> - <hkern u1="&#x420;" u2="&#x425;" k="41" /> - <hkern u1="&#x420;" u2="&#x41b;" k="123" /> - <hkern u1="&#x420;" u2="&#x416;" k="41" /> - <hkern u1="&#x420;" u2="&#x414;" k="123" /> - <hkern u1="&#x420;" u2="&#x410;" k="102" /> - <hkern u1="&#x420;" u2="&#x409;" k="123" /> - <hkern u1="&#x420;" u2="&#x2e;" k="266" /> - <hkern u1="&#x420;" u2="&#x2c;" k="266" /> - <hkern u1="&#x421;" u2="&#x50c;" k="41" /> - <hkern u1="&#x421;" u2="&#x507;" k="41" /> - <hkern u1="&#x421;" u2="&#x505;" k="41" /> - <hkern u1="&#x421;" u2="&#x502;" k="41" /> - <hkern u1="&#x421;" u2="&#x500;" k="41" /> - <hkern u1="&#x421;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x421;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x421;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x421;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4be;" k="41" /> - <hkern u1="&#x421;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x421;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x421;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x421;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x421;" u2="&#x480;" k="41" /> - <hkern u1="&#x421;" u2="&#x47e;" k="41" /> - <hkern u1="&#x421;" u2="&#x47c;" k="41" /> - <hkern u1="&#x421;" u2="&#x47a;" k="41" /> - <hkern u1="&#x421;" u2="&#x478;" k="41" /> - <hkern u1="&#x421;" u2="&#x472;" k="41" /> - <hkern u1="&#x421;" u2="&#x460;" k="41" /> - <hkern u1="&#x421;" u2="&#x447;" k="41" /> - <hkern u1="&#x421;" u2="&#x424;" k="41" /> - <hkern u1="&#x421;" u2="&#x421;" k="41" /> - <hkern u1="&#x421;" u2="&#x41e;" k="41" /> - <hkern u1="&#x421;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x201e;" k="123" /> - <hkern u1="&#x422;" u2="&#x201a;" k="123" /> - <hkern u1="&#x422;" u2="&#x2015;" k="82" /> - <hkern u1="&#x422;" u2="&#x2014;" k="82" /> - <hkern u1="&#x422;" u2="&#x2013;" k="82" /> - <hkern u1="&#x422;" u2="&#x513;" k="123" /> - <hkern u1="&#x422;" u2="&#x512;" k="102" /> - <hkern u1="&#x422;" u2="&#x511;" k="143" /> - <hkern u1="&#x422;" u2="&#x50f;" k="82" /> - <hkern u1="&#x422;" u2="&#x50d;" k="143" /> - <hkern u1="&#x422;" u2="&#x50c;" k="41" /> - <hkern u1="&#x422;" u2="&#x50b;" k="102" /> - <hkern u1="&#x422;" u2="&#x509;" k="123" /> - <hkern u1="&#x422;" u2="&#x508;" k="102" /> - <hkern u1="&#x422;" u2="&#x507;" k="102" /> - <hkern u1="&#x422;" u2="&#x505;" k="102" /> - <hkern u1="&#x422;" u2="&#x503;" k="143" /> - <hkern u1="&#x422;" u2="&#x502;" k="143" /> - <hkern u1="&#x422;" u2="&#x501;" k="143" /> - <hkern u1="&#x422;" u2="&#x500;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x422;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x422;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x422;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x422;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x422;" u2="&#x4df;" k="41" /> - <hkern u1="&#x422;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x422;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x422;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x422;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x422;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x422;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x422;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x422;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x422;" u2="&#x4be;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x422;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x422;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x422;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x422;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x422;" u2="&#x4af;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x422;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x422;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x422;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x422;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x422;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x422;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x422;" u2="&#x49d;" k="102" /> - <hkern u1="&#x422;" u2="&#x49b;" k="102" /> - <hkern u1="&#x422;" u2="&#x499;" k="41" /> - <hkern u1="&#x422;" u2="&#x497;" k="41" /> - <hkern u1="&#x422;" u2="&#x495;" k="102" /> - <hkern u1="&#x422;" u2="&#x491;" k="102" /> - <hkern u1="&#x422;" u2="&#x48f;" k="102" /> - <hkern u1="&#x422;" u2="&#x48b;" k="102" /> - <hkern u1="&#x422;" u2="&#x481;" k="143" /> - <hkern u1="&#x422;" u2="&#x480;" k="41" /> - <hkern u1="&#x422;" u2="&#x47f;" k="41" /> - <hkern u1="&#x422;" u2="&#x47e;" k="41" /> - <hkern u1="&#x422;" u2="&#x47d;" k="143" /> - <hkern u1="&#x422;" u2="&#x47c;" k="41" /> - <hkern u1="&#x422;" u2="&#x47b;" k="143" /> - <hkern u1="&#x422;" u2="&#x47a;" k="41" /> - <hkern u1="&#x422;" u2="&#x479;" k="143" /> - <hkern u1="&#x422;" u2="&#x478;" k="41" /> - <hkern u1="&#x422;" u2="&#x477;" k="41" /> - <hkern u1="&#x422;" u2="&#x475;" k="41" /> - <hkern u1="&#x422;" u2="&#x473;" k="143" /> - <hkern u1="&#x422;" u2="&#x472;" k="41" /> - <hkern u1="&#x422;" u2="&#x471;" k="102" /> - <hkern u1="&#x422;" u2="&#x46d;" k="102" /> - <hkern u1="&#x422;" u2="&#x46b;" k="102" /> - <hkern u1="&#x422;" u2="&#x469;" k="102" /> - <hkern u1="&#x422;" u2="&#x467;" k="123" /> - <hkern u1="&#x422;" u2="&#x466;" k="143" /> - <hkern u1="&#x422;" u2="&#x465;" k="102" /> - <hkern u1="&#x422;" u2="&#x461;" k="41" /> - <hkern u1="&#x422;" u2="&#x460;" k="41" /> - <hkern u1="&#x422;" u2="&#x45f;" k="102" /> - <hkern u1="&#x422;" u2="&#x45e;" k="82" /> - <hkern u1="&#x422;" u2="&#x45d;" k="102" /> - <hkern u1="&#x422;" u2="&#x45c;" k="102" /> - <hkern u1="&#x422;" u2="&#x45a;" k="102" /> - <hkern u1="&#x422;" u2="&#x459;" k="123" /> - <hkern u1="&#x422;" u2="&#x455;" k="123" /> - <hkern u1="&#x422;" u2="&#x454;" k="143" /> - <hkern u1="&#x422;" u2="&#x453;" k="102" /> - <hkern u1="&#x422;" u2="&#x451;" k="143" /> - <hkern u1="&#x422;" u2="&#x450;" k="143" /> - <hkern u1="&#x422;" u2="&#x44f;" k="61" /> - <hkern u1="&#x422;" u2="&#x44e;" k="102" /> - <hkern u1="&#x422;" u2="&#x44d;" k="41" /> - <hkern u1="&#x422;" u2="&#x44c;" k="102" /> - <hkern u1="&#x422;" u2="&#x44b;" k="102" /> - <hkern u1="&#x422;" u2="&#x44a;" k="82" /> - <hkern u1="&#x422;" u2="&#x449;" k="102" /> - <hkern u1="&#x422;" u2="&#x448;" k="102" /> - <hkern u1="&#x422;" u2="&#x447;" k="102" /> - <hkern u1="&#x422;" u2="&#x446;" k="102" /> - <hkern u1="&#x422;" u2="&#x445;" k="41" /> - <hkern u1="&#x422;" u2="&#x444;" k="143" /> - <hkern u1="&#x422;" u2="&#x443;" k="82" /> - <hkern u1="&#x422;" u2="&#x442;" k="82" /> - <hkern u1="&#x422;" u2="&#x441;" k="143" /> - <hkern u1="&#x422;" u2="&#x440;" k="102" /> - <hkern u1="&#x422;" u2="&#x43f;" k="102" /> - <hkern u1="&#x422;" u2="&#x43e;" k="143" /> - <hkern u1="&#x422;" u2="&#x43d;" k="102" /> - <hkern u1="&#x422;" u2="&#x43c;" k="102" /> - <hkern u1="&#x422;" u2="&#x43b;" k="123" /> - <hkern u1="&#x422;" u2="&#x43a;" k="102" /> - <hkern u1="&#x422;" u2="&#x439;" k="102" /> - <hkern u1="&#x422;" u2="&#x438;" k="102" /> - <hkern u1="&#x422;" u2="&#x437;" k="41" /> - <hkern u1="&#x422;" u2="&#x436;" k="41" /> - <hkern u1="&#x422;" u2="&#x435;" k="143" /> - <hkern u1="&#x422;" u2="&#x434;" k="123" /> - <hkern u1="&#x422;" u2="&#x433;" k="102" /> - <hkern u1="&#x422;" u2="&#x432;" k="102" /> - <hkern u1="&#x422;" u2="&#x424;" k="82" /> - <hkern u1="&#x422;" u2="&#x422;" k="-41" /> - <hkern u1="&#x422;" u2="&#x421;" k="41" /> - <hkern u1="&#x422;" u2="&#x41e;" k="41" /> - <hkern u1="&#x422;" u2="&#x41b;" k="102" /> - <hkern u1="&#x422;" u2="&#x414;" k="102" /> - <hkern u1="&#x422;" u2="&#x410;" k="143" /> - <hkern u1="&#x422;" u2="&#x409;" k="102" /> - <hkern u1="&#x422;" u2="&#x404;" k="41" /> - <hkern u1="&#x422;" u2="&#x2e;" k="123" /> - <hkern u1="&#x422;" u2="&#x2d;" k="82" /> - <hkern u1="&#x422;" u2="&#x2c;" k="123" /> - <hkern u1="&#x423;" u2="&#x201e;" k="123" /> - <hkern u1="&#x423;" u2="&#x201a;" k="123" /> - <hkern u1="&#x423;" u2="&#x513;" k="82" /> - <hkern u1="&#x423;" u2="&#x512;" k="102" /> - <hkern u1="&#x423;" u2="&#x511;" k="41" /> - <hkern u1="&#x423;" u2="&#x50d;" k="41" /> - <hkern u1="&#x423;" u2="&#x50c;" k="20" /> - <hkern u1="&#x423;" u2="&#x509;" k="82" /> - <hkern u1="&#x423;" u2="&#x508;" k="102" /> - <hkern u1="&#x423;" u2="&#x503;" k="41" /> - <hkern u1="&#x423;" u2="&#x502;" k="143" /> - <hkern u1="&#x423;" u2="&#x501;" k="41" /> - <hkern u1="&#x423;" u2="&#x500;" k="143" /> - <hkern u1="&#x423;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x423;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x423;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x423;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x423;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x423;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x423;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x423;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x423;" u2="&#x4be;" k="41" /> - <hkern u1="&#x423;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x423;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x423;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x423;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x423;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x423;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x423;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x423;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x423;" u2="&#x481;" k="41" /> - <hkern u1="&#x423;" u2="&#x480;" k="20" /> - <hkern u1="&#x423;" u2="&#x47e;" k="20" /> - <hkern u1="&#x423;" u2="&#x47d;" k="41" /> - <hkern u1="&#x423;" u2="&#x47c;" k="20" /> - <hkern u1="&#x423;" u2="&#x47b;" k="41" /> - <hkern u1="&#x423;" u2="&#x47a;" k="20" /> - <hkern u1="&#x423;" u2="&#x479;" k="41" /> - <hkern u1="&#x423;" u2="&#x478;" k="20" /> - <hkern u1="&#x423;" u2="&#x473;" k="41" /> - <hkern u1="&#x423;" u2="&#x472;" k="20" /> - <hkern u1="&#x423;" u2="&#x467;" k="82" /> - <hkern u1="&#x423;" u2="&#x466;" k="143" /> - <hkern u1="&#x423;" u2="&#x460;" k="20" /> - <hkern u1="&#x423;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x423;" u2="&#x459;" k="82" /> - <hkern u1="&#x423;" u2="&#x455;" k="20" /> - <hkern u1="&#x423;" u2="&#x454;" k="41" /> - <hkern u1="&#x423;" u2="&#x452;" k="-102" /> - <hkern u1="&#x423;" u2="&#x451;" k="41" /> - <hkern u1="&#x423;" u2="&#x450;" k="41" /> - <hkern u1="&#x423;" u2="&#x447;" k="41" /> - <hkern u1="&#x423;" u2="&#x444;" k="41" /> - <hkern u1="&#x423;" u2="&#x441;" k="41" /> - <hkern u1="&#x423;" u2="&#x43e;" k="41" /> - <hkern u1="&#x423;" u2="&#x43b;" k="82" /> - <hkern u1="&#x423;" u2="&#x435;" k="41" /> - <hkern u1="&#x423;" u2="&#x434;" k="82" /> - <hkern u1="&#x423;" u2="&#x42f;" k="20" /> - <hkern u1="&#x423;" u2="&#x424;" k="61" /> - <hkern u1="&#x423;" u2="&#x421;" k="20" /> - <hkern u1="&#x423;" u2="&#x41e;" k="20" /> - <hkern u1="&#x423;" u2="&#x41b;" k="102" /> - <hkern u1="&#x423;" u2="&#x414;" k="102" /> - <hkern u1="&#x423;" u2="&#x410;" k="143" /> - <hkern u1="&#x423;" u2="&#x409;" k="102" /> - <hkern u1="&#x423;" u2="&#x404;" k="20" /> - <hkern u1="&#x423;" u2="&#x2e;" k="123" /> - <hkern u1="&#x423;" u2="&#x2c;" k="123" /> - <hkern u1="&#x424;" u2="&#x201e;" k="82" /> - <hkern u1="&#x424;" u2="&#x201a;" k="82" /> - <hkern u1="&#x424;" u2="&#x513;" k="20" /> - <hkern u1="&#x424;" u2="&#x512;" k="41" /> - <hkern u1="&#x424;" u2="&#x50e;" k="41" /> - <hkern u1="&#x424;" u2="&#x509;" k="20" /> - <hkern u1="&#x424;" u2="&#x508;" k="41" /> - <hkern u1="&#x424;" u2="&#x506;" k="41" /> - <hkern u1="&#x424;" u2="&#x504;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x424;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x424;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ec;" k="41" /> - <hkern u1="&#x424;" u2="&#x4de;" k="41" /> - <hkern u1="&#x424;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x424;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x424;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x424;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x424;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x424;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x424;" u2="&#x498;" k="41" /> - <hkern u1="&#x424;" u2="&#x496;" k="41" /> - <hkern u1="&#x424;" u2="&#x476;" k="20" /> - <hkern u1="&#x424;" u2="&#x474;" k="20" /> - <hkern u1="&#x424;" u2="&#x46e;" k="41" /> - <hkern u1="&#x424;" u2="&#x467;" k="20" /> - <hkern u1="&#x424;" u2="&#x466;" k="41" /> - <hkern u1="&#x424;" u2="&#x459;" k="20" /> - <hkern u1="&#x424;" u2="&#x43b;" k="20" /> - <hkern u1="&#x424;" u2="&#x434;" k="20" /> - <hkern u1="&#x424;" u2="&#x42d;" k="41" /> - <hkern u1="&#x424;" u2="&#x42a;" k="41" /> - <hkern u1="&#x424;" u2="&#x425;" k="41" /> - <hkern u1="&#x424;" u2="&#x423;" k="61" /> - <hkern u1="&#x424;" u2="&#x422;" k="61" /> - <hkern u1="&#x424;" u2="&#x41b;" k="41" /> - <hkern u1="&#x424;" u2="&#x417;" k="41" /> - <hkern u1="&#x424;" u2="&#x416;" k="41" /> - <hkern u1="&#x424;" u2="&#x414;" k="41" /> - <hkern u1="&#x424;" u2="&#x410;" k="41" /> - <hkern u1="&#x424;" u2="&#x40e;" k="61" /> - <hkern u1="&#x424;" u2="&#x40b;" k="41" /> - <hkern u1="&#x424;" u2="&#x409;" k="41" /> - <hkern u1="&#x424;" u2="&#x402;" k="41" /> - <hkern u1="&#x424;" u2="&#x2e;" k="82" /> - <hkern u1="&#x424;" u2="&#x2c;" k="82" /> - <hkern u1="&#x425;" u2="&#x510;" k="20" /> - <hkern u1="&#x425;" u2="&#x50c;" k="41" /> - <hkern u1="&#x425;" u2="&#x507;" k="41" /> - <hkern u1="&#x425;" u2="&#x505;" k="41" /> - <hkern u1="&#x425;" u2="&#x502;" k="41" /> - <hkern u1="&#x425;" u2="&#x500;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x425;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x425;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x425;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x425;" u2="&#x4be;" k="102" /> - <hkern u1="&#x425;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x425;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x425;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x425;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x425;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x425;" u2="&#x480;" k="41" /> - <hkern u1="&#x425;" u2="&#x47e;" k="41" /> - <hkern u1="&#x425;" u2="&#x47c;" k="41" /> - <hkern u1="&#x425;" u2="&#x47a;" k="41" /> - <hkern u1="&#x425;" u2="&#x478;" k="41" /> - <hkern u1="&#x425;" u2="&#x472;" k="41" /> - <hkern u1="&#x425;" u2="&#x470;" k="41" /> - <hkern u1="&#x425;" u2="&#x460;" k="41" /> - <hkern u1="&#x425;" u2="&#x447;" k="41" /> - <hkern u1="&#x425;" u2="&#x427;" k="41" /> - <hkern u1="&#x425;" u2="&#x424;" k="41" /> - <hkern u1="&#x425;" u2="&#x421;" k="41" /> - <hkern u1="&#x425;" u2="&#x41e;" k="41" /> - <hkern u1="&#x425;" u2="&#x404;" k="41" /> - <hkern u1="&#x426;" u2="&#x507;" k="41" /> - <hkern u1="&#x426;" u2="&#x505;" k="41" /> - <hkern u1="&#x426;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x426;" u2="&#x408;" k="-225" /> - <hkern u1="&#x429;" u2="&#x507;" k="41" /> - <hkern u1="&#x429;" u2="&#x505;" k="41" /> - <hkern u1="&#x429;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x429;" u2="&#x408;" k="-225" /> - <hkern u1="&#x42a;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42a;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42a;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42a;" u2="&#x507;" k="61" /> - <hkern u1="&#x42a;" u2="&#x506;" k="102" /> - <hkern u1="&#x42a;" u2="&#x505;" k="61" /> - <hkern u1="&#x42a;" u2="&#x504;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42a;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42a;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42a;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42a;" u2="&#x492;" k="82" /> - <hkern u1="&#x42a;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42a;" u2="&#x476;" k="82" /> - <hkern u1="&#x42a;" u2="&#x474;" k="82" /> - <hkern u1="&#x42a;" u2="&#x470;" k="102" /> - <hkern u1="&#x42a;" u2="&#x462;" k="82" /> - <hkern u1="&#x42a;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42a;" u2="&#x447;" k="41" /> - <hkern u1="&#x42a;" u2="&#x443;" k="41" /> - <hkern u1="&#x42a;" u2="&#x442;" k="41" /> - <hkern u1="&#x42a;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42a;" u2="&#x427;" k="102" /> - <hkern u1="&#x42a;" u2="&#x423;" k="41" /> - <hkern u1="&#x42a;" u2="&#x422;" k="102" /> - <hkern u1="&#x42a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42a;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42a;" u2="&#x402;" k="123" /> - <hkern u1="&#x42a;" u2="&#x27;" k="82" /> - <hkern u1="&#x42a;" u2="&#x22;" k="82" /> - <hkern u1="&#x42c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x42c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x42c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x42c;" u2="&#x50e;" k="123" /> - <hkern u1="&#x42c;" u2="&#x507;" k="61" /> - <hkern u1="&#x42c;" u2="&#x506;" k="102" /> - <hkern u1="&#x42c;" u2="&#x505;" k="61" /> - <hkern u1="&#x42c;" u2="&#x504;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4fa;" k="82" /> - <hkern u1="&#x42c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b4;" k="123" /> - <hkern u1="&#x42c;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4af;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4ac;" k="102" /> - <hkern u1="&#x42c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x42c;" u2="&#x4a0;" k="123" /> - <hkern u1="&#x42c;" u2="&#x49e;" k="82" /> - <hkern u1="&#x42c;" u2="&#x492;" k="82" /> - <hkern u1="&#x42c;" u2="&#x48c;" k="82" /> - <hkern u1="&#x42c;" u2="&#x476;" k="82" /> - <hkern u1="&#x42c;" u2="&#x474;" k="82" /> - <hkern u1="&#x42c;" u2="&#x470;" k="102" /> - <hkern u1="&#x42c;" u2="&#x462;" k="82" /> - <hkern u1="&#x42c;" u2="&#x45e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x42c;" u2="&#x447;" k="41" /> - <hkern u1="&#x42c;" u2="&#x443;" k="41" /> - <hkern u1="&#x42c;" u2="&#x442;" k="41" /> - <hkern u1="&#x42c;" u2="&#x42a;" k="123" /> - <hkern u1="&#x42c;" u2="&#x427;" k="102" /> - <hkern u1="&#x42c;" u2="&#x423;" k="41" /> - <hkern u1="&#x42c;" u2="&#x422;" k="102" /> - <hkern u1="&#x42c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42c;" u2="&#x40b;" k="123" /> - <hkern u1="&#x42c;" u2="&#x402;" k="123" /> - <hkern u1="&#x42c;" u2="&#x27;" k="82" /> - <hkern u1="&#x42c;" u2="&#x22;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42d;" u2="&#x513;" k="20" /> - <hkern u1="&#x42d;" u2="&#x512;" k="41" /> - <hkern u1="&#x42d;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x509;" k="20" /> - <hkern u1="&#x42d;" u2="&#x508;" k="41" /> - <hkern u1="&#x42d;" u2="&#x506;" k="41" /> - <hkern u1="&#x42d;" u2="&#x504;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42d;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42d;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42d;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42d;" u2="&#x498;" k="20" /> - <hkern u1="&#x42d;" u2="&#x496;" k="41" /> - <hkern u1="&#x42d;" u2="&#x476;" k="20" /> - <hkern u1="&#x42d;" u2="&#x474;" k="20" /> - <hkern u1="&#x42d;" u2="&#x470;" k="41" /> - <hkern u1="&#x42d;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42d;" u2="&#x467;" k="20" /> - <hkern u1="&#x42d;" u2="&#x466;" k="41" /> - <hkern u1="&#x42d;" u2="&#x459;" k="20" /> - <hkern u1="&#x42d;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x434;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42d;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42d;" u2="&#x427;" k="41" /> - <hkern u1="&#x42d;" u2="&#x425;" k="41" /> - <hkern u1="&#x42d;" u2="&#x423;" k="41" /> - <hkern u1="&#x42d;" u2="&#x422;" k="61" /> - <hkern u1="&#x42d;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42d;" u2="&#x417;" k="20" /> - <hkern u1="&#x42d;" u2="&#x416;" k="41" /> - <hkern u1="&#x42d;" u2="&#x414;" k="41" /> - <hkern u1="&#x42d;" u2="&#x410;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42d;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42d;" u2="&#x409;" k="41" /> - <hkern u1="&#x42d;" u2="&#x402;" k="20" /> - <hkern u1="&#x42d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x42e;" u2="&#x513;" k="20" /> - <hkern u1="&#x42e;" u2="&#x512;" k="41" /> - <hkern u1="&#x42e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x509;" k="20" /> - <hkern u1="&#x42e;" u2="&#x508;" k="41" /> - <hkern u1="&#x42e;" u2="&#x506;" k="41" /> - <hkern u1="&#x42e;" u2="&#x504;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x42e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x42e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x42e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x42e;" u2="&#x498;" k="20" /> - <hkern u1="&#x42e;" u2="&#x496;" k="41" /> - <hkern u1="&#x42e;" u2="&#x476;" k="20" /> - <hkern u1="&#x42e;" u2="&#x474;" k="20" /> - <hkern u1="&#x42e;" u2="&#x470;" k="41" /> - <hkern u1="&#x42e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x42e;" u2="&#x467;" k="20" /> - <hkern u1="&#x42e;" u2="&#x466;" k="41" /> - <hkern u1="&#x42e;" u2="&#x459;" k="20" /> - <hkern u1="&#x42e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x434;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x42e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x42e;" u2="&#x427;" k="41" /> - <hkern u1="&#x42e;" u2="&#x425;" k="41" /> - <hkern u1="&#x42e;" u2="&#x423;" k="41" /> - <hkern u1="&#x42e;" u2="&#x422;" k="61" /> - <hkern u1="&#x42e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x42e;" u2="&#x417;" k="20" /> - <hkern u1="&#x42e;" u2="&#x416;" k="41" /> - <hkern u1="&#x42e;" u2="&#x414;" k="41" /> - <hkern u1="&#x42e;" u2="&#x410;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x42e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x42e;" u2="&#x409;" k="41" /> - <hkern u1="&#x42e;" u2="&#x402;" k="20" /> - <hkern u1="&#x42e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x42e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x430;" u2="&#x201d;" k="20" /> - <hkern u1="&#x430;" u2="&#x2019;" k="20" /> - <hkern u1="&#x430;" u2="&#x27;" k="20" /> - <hkern u1="&#x430;" u2="&#x22;" k="20" /> - <hkern u1="&#x432;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x433;" u2="&#x201e;" k="102" /> - <hkern u1="&#x433;" u2="&#x201a;" k="102" /> - <hkern u1="&#x433;" u2="&#x2015;" k="41" /> - <hkern u1="&#x433;" u2="&#x2014;" k="41" /> - <hkern u1="&#x433;" u2="&#x2013;" k="41" /> - <hkern u1="&#x433;" u2="&#x513;" k="61" /> - <hkern u1="&#x433;" u2="&#x511;" k="20" /> - <hkern u1="&#x433;" u2="&#x50d;" k="20" /> - <hkern u1="&#x433;" u2="&#x509;" k="61" /> - <hkern u1="&#x433;" u2="&#x503;" k="20" /> - <hkern u1="&#x433;" u2="&#x501;" k="20" /> - <hkern u1="&#x433;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x433;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x433;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x433;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x433;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x433;" u2="&#x481;" k="20" /> - <hkern u1="&#x433;" u2="&#x47d;" k="20" /> - <hkern u1="&#x433;" u2="&#x47b;" k="20" /> - <hkern u1="&#x433;" u2="&#x479;" k="20" /> - <hkern u1="&#x433;" u2="&#x473;" k="20" /> - <hkern u1="&#x433;" u2="&#x467;" k="61" /> - <hkern u1="&#x433;" u2="&#x459;" k="61" /> - <hkern u1="&#x433;" u2="&#x454;" k="20" /> - <hkern u1="&#x433;" u2="&#x451;" k="20" /> - <hkern u1="&#x433;" u2="&#x450;" k="20" /> - <hkern u1="&#x433;" u2="&#x444;" k="20" /> - <hkern u1="&#x433;" u2="&#x441;" k="20" /> - <hkern u1="&#x433;" u2="&#x43e;" k="20" /> - <hkern u1="&#x433;" u2="&#x43b;" k="61" /> - <hkern u1="&#x433;" u2="&#x435;" k="20" /> - <hkern u1="&#x433;" u2="&#x434;" k="61" /> - <hkern u1="&#x433;" u2="&#x2e;" k="102" /> - <hkern u1="&#x433;" u2="&#x2d;" k="41" /> - <hkern u1="&#x433;" u2="&#x2c;" k="102" /> - <hkern u1="&#x434;" u2="&#x201d;" k="20" /> - <hkern u1="&#x434;" u2="&#x2019;" k="20" /> - <hkern u1="&#x434;" u2="&#x27;" k="20" /> - <hkern u1="&#x434;" u2="&#x22;" k="20" /> - <hkern u1="&#x435;" u2="&#x201d;" k="20" /> - <hkern u1="&#x435;" u2="&#x2019;" k="20" /> - <hkern u1="&#x435;" u2="&#x27;" k="20" /> - <hkern u1="&#x435;" u2="&#x22;" k="20" /> - <hkern u1="&#x436;" u2="&#x511;" k="41" /> - <hkern u1="&#x436;" u2="&#x50d;" k="41" /> - <hkern u1="&#x436;" u2="&#x503;" k="41" /> - <hkern u1="&#x436;" u2="&#x501;" k="41" /> - <hkern u1="&#x436;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x436;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x436;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x436;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x436;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x436;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x436;" u2="&#x481;" k="41" /> - <hkern u1="&#x436;" u2="&#x47d;" k="41" /> - <hkern u1="&#x436;" u2="&#x47b;" k="41" /> - <hkern u1="&#x436;" u2="&#x479;" k="41" /> - <hkern u1="&#x436;" u2="&#x473;" k="41" /> - <hkern u1="&#x436;" u2="&#x454;" k="41" /> - <hkern u1="&#x436;" u2="&#x451;" k="41" /> - <hkern u1="&#x436;" u2="&#x450;" k="41" /> - <hkern u1="&#x436;" u2="&#x447;" k="41" /> - <hkern u1="&#x436;" u2="&#x444;" k="41" /> - <hkern u1="&#x436;" u2="&#x441;" k="41" /> - <hkern u1="&#x436;" u2="&#x43e;" k="41" /> - <hkern u1="&#x436;" u2="&#x435;" k="41" /> - <hkern u1="&#x437;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x43a;" u2="&#x511;" k="41" /> - <hkern u1="&#x43a;" u2="&#x50d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x503;" k="41" /> - <hkern u1="&#x43a;" u2="&#x501;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x43a;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x43a;" u2="&#x481;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47d;" k="41" /> - <hkern u1="&#x43a;" u2="&#x47b;" k="41" /> - <hkern u1="&#x43a;" u2="&#x479;" k="41" /> - <hkern u1="&#x43a;" u2="&#x473;" k="41" /> - <hkern u1="&#x43a;" u2="&#x454;" k="41" /> - <hkern u1="&#x43a;" u2="&#x451;" k="41" /> - <hkern u1="&#x43a;" u2="&#x450;" k="41" /> - <hkern u1="&#x43a;" u2="&#x447;" k="41" /> - <hkern u1="&#x43a;" u2="&#x444;" k="41" /> - <hkern u1="&#x43a;" u2="&#x441;" k="41" /> - <hkern u1="&#x43a;" u2="&#x43e;" k="41" /> - <hkern u1="&#x43a;" u2="&#x435;" k="41" /> - <hkern u1="&#x43e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x43e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x43e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x43e;" u2="&#x507;" k="20" /> - <hkern u1="&#x43e;" u2="&#x505;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x43e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x43e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x43e;" u2="&#x497;" k="41" /> - <hkern u1="&#x43e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x43e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x43e;" u2="&#x447;" k="20" /> - <hkern u1="&#x43e;" u2="&#x445;" k="41" /> - <hkern u1="&#x43e;" u2="&#x443;" k="20" /> - <hkern u1="&#x43e;" u2="&#x442;" k="20" /> - <hkern u1="&#x43e;" u2="&#x436;" k="41" /> - <hkern u1="&#x43e;" u2="&#x27;" k="20" /> - <hkern u1="&#x43e;" u2="&#x22;" k="20" /> - <hkern u1="&#x440;" u2="&#x201d;" k="20" /> - <hkern u1="&#x440;" u2="&#x2019;" k="20" /> - <hkern u1="&#x440;" u2="&#x50f;" k="20" /> - <hkern u1="&#x440;" u2="&#x507;" k="20" /> - <hkern u1="&#x440;" u2="&#x505;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x440;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x440;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x440;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x440;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x440;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x440;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x440;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x440;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x440;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x440;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x440;" u2="&#x497;" k="41" /> - <hkern u1="&#x440;" u2="&#x45e;" k="20" /> - <hkern u1="&#x440;" u2="&#x44a;" k="20" /> - <hkern u1="&#x440;" u2="&#x447;" k="20" /> - <hkern u1="&#x440;" u2="&#x445;" k="41" /> - <hkern u1="&#x440;" u2="&#x443;" k="20" /> - <hkern u1="&#x440;" u2="&#x442;" k="20" /> - <hkern u1="&#x440;" u2="&#x436;" k="41" /> - <hkern u1="&#x440;" u2="&#x27;" k="20" /> - <hkern u1="&#x440;" u2="&#x22;" k="20" /> - <hkern u1="&#x442;" u2="&#x201e;" k="102" /> - <hkern u1="&#x442;" u2="&#x201a;" k="102" /> - <hkern u1="&#x442;" u2="&#x2015;" k="41" /> - <hkern u1="&#x442;" u2="&#x2014;" k="41" /> - <hkern u1="&#x442;" u2="&#x2013;" k="41" /> - <hkern u1="&#x442;" u2="&#x513;" k="61" /> - <hkern u1="&#x442;" u2="&#x511;" k="20" /> - <hkern u1="&#x442;" u2="&#x50d;" k="20" /> - <hkern u1="&#x442;" u2="&#x509;" k="61" /> - <hkern u1="&#x442;" u2="&#x503;" k="20" /> - <hkern u1="&#x442;" u2="&#x501;" k="20" /> - <hkern u1="&#x442;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x442;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x442;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x442;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x442;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x442;" u2="&#x481;" k="20" /> - <hkern u1="&#x442;" u2="&#x47d;" k="20" /> - <hkern u1="&#x442;" u2="&#x47b;" k="20" /> - <hkern u1="&#x442;" u2="&#x479;" k="20" /> - <hkern u1="&#x442;" u2="&#x473;" k="20" /> - <hkern u1="&#x442;" u2="&#x467;" k="61" /> - <hkern u1="&#x442;" u2="&#x459;" k="61" /> - <hkern u1="&#x442;" u2="&#x454;" k="20" /> - <hkern u1="&#x442;" u2="&#x451;" k="20" /> - <hkern u1="&#x442;" u2="&#x450;" k="20" /> - <hkern u1="&#x442;" u2="&#x444;" k="20" /> - <hkern u1="&#x442;" u2="&#x441;" k="20" /> - <hkern u1="&#x442;" u2="&#x43e;" k="20" /> - <hkern u1="&#x442;" u2="&#x43b;" k="61" /> - <hkern u1="&#x442;" u2="&#x435;" k="20" /> - <hkern u1="&#x442;" u2="&#x434;" k="61" /> - <hkern u1="&#x442;" u2="&#x2e;" k="102" /> - <hkern u1="&#x442;" u2="&#x2d;" k="41" /> - <hkern u1="&#x442;" u2="&#x2c;" k="102" /> - <hkern u1="&#x443;" u2="&#x201e;" k="82" /> - <hkern u1="&#x443;" u2="&#x201a;" k="82" /> - <hkern u1="&#x443;" u2="&#x513;" k="41" /> - <hkern u1="&#x443;" u2="&#x509;" k="41" /> - <hkern u1="&#x443;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x443;" u2="&#x467;" k="41" /> - <hkern u1="&#x443;" u2="&#x459;" k="41" /> - <hkern u1="&#x443;" u2="&#x43b;" k="41" /> - <hkern u1="&#x443;" u2="&#x434;" k="41" /> - <hkern u1="&#x443;" u2="&#x2e;" k="82" /> - <hkern u1="&#x443;" u2="&#x2c;" k="82" /> - <hkern u1="&#x444;" u2="&#x201d;" k="20" /> - <hkern u1="&#x444;" u2="&#x2019;" k="20" /> - <hkern u1="&#x444;" u2="&#x50f;" k="20" /> - <hkern u1="&#x444;" u2="&#x507;" k="20" /> - <hkern u1="&#x444;" u2="&#x505;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x444;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x444;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x444;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x444;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x444;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x444;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x444;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x444;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x444;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x444;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x444;" u2="&#x497;" k="41" /> - <hkern u1="&#x444;" u2="&#x45e;" k="20" /> - <hkern u1="&#x444;" u2="&#x44a;" k="20" /> - <hkern u1="&#x444;" u2="&#x447;" k="20" /> - <hkern u1="&#x444;" u2="&#x445;" k="41" /> - <hkern u1="&#x444;" u2="&#x443;" k="20" /> - <hkern u1="&#x444;" u2="&#x442;" k="20" /> - <hkern u1="&#x444;" u2="&#x436;" k="41" /> - <hkern u1="&#x444;" u2="&#x27;" k="20" /> - <hkern u1="&#x444;" u2="&#x22;" k="20" /> - <hkern u1="&#x445;" u2="&#x511;" k="41" /> - <hkern u1="&#x445;" u2="&#x50d;" k="41" /> - <hkern u1="&#x445;" u2="&#x503;" k="41" /> - <hkern u1="&#x445;" u2="&#x501;" k="41" /> - <hkern u1="&#x445;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x445;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x445;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x445;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x445;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x445;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x445;" u2="&#x481;" k="41" /> - <hkern u1="&#x445;" u2="&#x47d;" k="41" /> - <hkern u1="&#x445;" u2="&#x47b;" k="41" /> - <hkern u1="&#x445;" u2="&#x479;" k="41" /> - <hkern u1="&#x445;" u2="&#x473;" k="41" /> - <hkern u1="&#x445;" u2="&#x454;" k="41" /> - <hkern u1="&#x445;" u2="&#x451;" k="41" /> - <hkern u1="&#x445;" u2="&#x450;" k="41" /> - <hkern u1="&#x445;" u2="&#x447;" k="41" /> - <hkern u1="&#x445;" u2="&#x444;" k="41" /> - <hkern u1="&#x445;" u2="&#x441;" k="41" /> - <hkern u1="&#x445;" u2="&#x43e;" k="41" /> - <hkern u1="&#x445;" u2="&#x435;" k="41" /> - <hkern u1="&#x446;" u2="&#x201d;" k="20" /> - <hkern u1="&#x446;" u2="&#x2019;" k="20" /> - <hkern u1="&#x446;" u2="&#x27;" k="20" /> - <hkern u1="&#x446;" u2="&#x22;" k="20" /> - <hkern u1="&#x449;" u2="&#x201d;" k="20" /> - <hkern u1="&#x449;" u2="&#x2019;" k="20" /> - <hkern u1="&#x449;" u2="&#x27;" k="20" /> - <hkern u1="&#x449;" u2="&#x22;" k="20" /> - <hkern u1="&#x44a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44a;" u2="&#x507;" k="102" /> - <hkern u1="&#x44a;" u2="&#x505;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44a;" u2="&#x497;" k="41" /> - <hkern u1="&#x44a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44a;" u2="&#x477;" k="41" /> - <hkern u1="&#x44a;" u2="&#x475;" k="41" /> - <hkern u1="&#x44a;" u2="&#x461;" k="41" /> - <hkern u1="&#x44a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44a;" u2="&#x447;" k="82" /> - <hkern u1="&#x44a;" u2="&#x445;" k="41" /> - <hkern u1="&#x44a;" u2="&#x443;" k="61" /> - <hkern u1="&#x44a;" u2="&#x442;" k="102" /> - <hkern u1="&#x44a;" u2="&#x436;" k="41" /> - <hkern u1="&#x44a;" u2="&#x27;" k="123" /> - <hkern u1="&#x44a;" u2="&#x22;" k="123" /> - <hkern u1="&#x44c;" u2="&#x201d;" k="123" /> - <hkern u1="&#x44c;" u2="&#x2019;" k="123" /> - <hkern u1="&#x44c;" u2="&#x50f;" k="102" /> - <hkern u1="&#x44c;" u2="&#x507;" k="102" /> - <hkern u1="&#x44c;" u2="&#x505;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x44c;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44c;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4af;" k="61" /> - <hkern u1="&#x44c;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x44c;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x44c;" u2="&#x497;" k="41" /> - <hkern u1="&#x44c;" u2="&#x47f;" k="41" /> - <hkern u1="&#x44c;" u2="&#x477;" k="41" /> - <hkern u1="&#x44c;" u2="&#x475;" k="41" /> - <hkern u1="&#x44c;" u2="&#x461;" k="41" /> - <hkern u1="&#x44c;" u2="&#x45e;" k="61" /> - <hkern u1="&#x44c;" u2="&#x44a;" k="102" /> - <hkern u1="&#x44c;" u2="&#x447;" k="82" /> - <hkern u1="&#x44c;" u2="&#x445;" k="41" /> - <hkern u1="&#x44c;" u2="&#x443;" k="61" /> - <hkern u1="&#x44c;" u2="&#x442;" k="102" /> - <hkern u1="&#x44c;" u2="&#x436;" k="41" /> - <hkern u1="&#x44c;" u2="&#x27;" k="123" /> - <hkern u1="&#x44c;" u2="&#x22;" k="123" /> - <hkern u1="&#x44d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44d;" u2="&#x507;" k="20" /> - <hkern u1="&#x44d;" u2="&#x505;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44d;" u2="&#x497;" k="41" /> - <hkern u1="&#x44d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44d;" u2="&#x447;" k="20" /> - <hkern u1="&#x44d;" u2="&#x445;" k="41" /> - <hkern u1="&#x44d;" u2="&#x443;" k="20" /> - <hkern u1="&#x44d;" u2="&#x442;" k="20" /> - <hkern u1="&#x44d;" u2="&#x436;" k="41" /> - <hkern u1="&#x44d;" u2="&#x27;" k="20" /> - <hkern u1="&#x44d;" u2="&#x22;" k="20" /> - <hkern u1="&#x44e;" u2="&#x201d;" k="20" /> - <hkern u1="&#x44e;" u2="&#x2019;" k="20" /> - <hkern u1="&#x44e;" u2="&#x50f;" k="20" /> - <hkern u1="&#x44e;" u2="&#x507;" k="20" /> - <hkern u1="&#x44e;" u2="&#x505;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x44e;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x44e;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x44e;" u2="&#x497;" k="41" /> - <hkern u1="&#x44e;" u2="&#x45e;" k="20" /> - <hkern u1="&#x44e;" u2="&#x44a;" k="20" /> - <hkern u1="&#x44e;" u2="&#x447;" k="20" /> - <hkern u1="&#x44e;" u2="&#x445;" k="41" /> - <hkern u1="&#x44e;" u2="&#x443;" k="20" /> - <hkern u1="&#x44e;" u2="&#x442;" k="20" /> - <hkern u1="&#x44e;" u2="&#x436;" k="41" /> - <hkern u1="&#x44e;" u2="&#x27;" k="20" /> - <hkern u1="&#x44e;" u2="&#x22;" k="20" /> - <hkern u1="&#x450;" u2="&#x201d;" k="20" /> - <hkern u1="&#x450;" u2="&#x2019;" k="20" /> - <hkern u1="&#x450;" u2="&#x27;" k="20" /> - <hkern u1="&#x450;" u2="&#x22;" k="20" /> - <hkern u1="&#x451;" u2="&#x201d;" k="20" /> - <hkern u1="&#x451;" u2="&#x2019;" k="20" /> - <hkern u1="&#x451;" u2="&#x27;" k="20" /> - <hkern u1="&#x451;" u2="&#x22;" k="20" /> - <hkern u1="&#x452;" u2="&#x201d;" k="20" /> - <hkern u1="&#x452;" u2="&#x2019;" k="20" /> - <hkern u1="&#x452;" u2="&#x507;" k="41" /> - <hkern u1="&#x452;" u2="&#x505;" k="41" /> - <hkern u1="&#x452;" u2="&#x27;" k="20" /> - <hkern u1="&#x452;" u2="&#x22;" k="20" /> - <hkern u1="&#x453;" u2="&#x201e;" k="102" /> - <hkern u1="&#x453;" u2="&#x201a;" k="102" /> - <hkern u1="&#x453;" u2="&#x2015;" k="41" /> - <hkern u1="&#x453;" u2="&#x2014;" k="41" /> - <hkern u1="&#x453;" u2="&#x2013;" k="41" /> - <hkern u1="&#x453;" u2="&#x513;" k="61" /> - <hkern u1="&#x453;" u2="&#x511;" k="20" /> - <hkern u1="&#x453;" u2="&#x50d;" k="20" /> - <hkern u1="&#x453;" u2="&#x509;" k="61" /> - <hkern u1="&#x453;" u2="&#x503;" k="20" /> - <hkern u1="&#x453;" u2="&#x501;" k="20" /> - <hkern u1="&#x453;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x453;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x453;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x453;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x453;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x453;" u2="&#x481;" k="20" /> - <hkern u1="&#x453;" u2="&#x47d;" k="20" /> - <hkern u1="&#x453;" u2="&#x47b;" k="20" /> - <hkern u1="&#x453;" u2="&#x479;" k="20" /> - <hkern u1="&#x453;" u2="&#x473;" k="20" /> - <hkern u1="&#x453;" u2="&#x467;" k="61" /> - <hkern u1="&#x453;" u2="&#x459;" k="61" /> - <hkern u1="&#x453;" u2="&#x454;" k="20" /> - <hkern u1="&#x453;" u2="&#x451;" k="20" /> - <hkern u1="&#x453;" u2="&#x450;" k="20" /> - <hkern u1="&#x453;" u2="&#x444;" k="20" /> - <hkern u1="&#x453;" u2="&#x441;" k="20" /> - <hkern u1="&#x453;" u2="&#x43e;" k="20" /> - <hkern u1="&#x453;" u2="&#x43b;" k="61" /> - <hkern u1="&#x453;" u2="&#x435;" k="20" /> - <hkern u1="&#x453;" u2="&#x434;" k="61" /> - <hkern u1="&#x453;" u2="&#x2e;" k="102" /> - <hkern u1="&#x453;" u2="&#x2d;" k="41" /> - <hkern u1="&#x453;" u2="&#x2c;" k="102" /> - <hkern u1="&#x459;" u2="&#x201d;" k="123" /> - <hkern u1="&#x459;" u2="&#x2019;" k="123" /> - <hkern u1="&#x459;" u2="&#x50f;" k="102" /> - <hkern u1="&#x459;" u2="&#x507;" k="102" /> - <hkern u1="&#x459;" u2="&#x505;" k="102" /> - <hkern u1="&#x459;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x459;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x459;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x459;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x459;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x459;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x459;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x459;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x459;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x459;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x459;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x459;" u2="&#x4af;" k="61" /> - <hkern u1="&#x459;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x459;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x459;" u2="&#x497;" k="41" /> - <hkern u1="&#x459;" u2="&#x47f;" k="41" /> - <hkern u1="&#x459;" u2="&#x477;" k="41" /> - <hkern u1="&#x459;" u2="&#x475;" k="41" /> - <hkern u1="&#x459;" u2="&#x461;" k="41" /> - <hkern u1="&#x459;" u2="&#x45e;" k="61" /> - <hkern u1="&#x459;" u2="&#x44a;" k="102" /> - <hkern u1="&#x459;" u2="&#x447;" k="82" /> - <hkern u1="&#x459;" u2="&#x445;" k="41" /> - <hkern u1="&#x459;" u2="&#x443;" k="61" /> - <hkern u1="&#x459;" u2="&#x442;" k="102" /> - <hkern u1="&#x459;" u2="&#x436;" k="41" /> - <hkern u1="&#x459;" u2="&#x27;" k="123" /> - <hkern u1="&#x459;" u2="&#x22;" k="123" /> - <hkern u1="&#x45a;" u2="&#x201d;" k="123" /> - <hkern u1="&#x45a;" u2="&#x2019;" k="123" /> - <hkern u1="&#x45a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x45a;" u2="&#x507;" k="102" /> - <hkern u1="&#x45a;" u2="&#x505;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x45a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x45a;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4af;" k="61" /> - <hkern u1="&#x45a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x45a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x45a;" u2="&#x497;" k="41" /> - <hkern u1="&#x45a;" u2="&#x47f;" k="41" /> - <hkern u1="&#x45a;" u2="&#x477;" k="41" /> - <hkern u1="&#x45a;" u2="&#x475;" k="41" /> - <hkern u1="&#x45a;" u2="&#x461;" k="41" /> - <hkern u1="&#x45a;" u2="&#x45e;" k="61" /> - <hkern u1="&#x45a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x45a;" u2="&#x447;" k="82" /> - <hkern u1="&#x45a;" u2="&#x445;" k="41" /> - <hkern u1="&#x45a;" u2="&#x443;" k="61" /> - <hkern u1="&#x45a;" u2="&#x442;" k="102" /> - <hkern u1="&#x45a;" u2="&#x436;" k="41" /> - <hkern u1="&#x45a;" u2="&#x27;" k="123" /> - <hkern u1="&#x45a;" u2="&#x22;" k="123" /> - <hkern u1="&#x45b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x45b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x45b;" u2="&#x507;" k="41" /> - <hkern u1="&#x45b;" u2="&#x505;" k="41" /> - <hkern u1="&#x45b;" u2="&#x27;" k="20" /> - <hkern u1="&#x45b;" u2="&#x22;" k="20" /> - <hkern u1="&#x45c;" u2="&#x511;" k="41" /> - <hkern u1="&#x45c;" u2="&#x50d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x503;" k="41" /> - <hkern u1="&#x45c;" u2="&#x501;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x45c;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x45c;" u2="&#x481;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47d;" k="41" /> - <hkern u1="&#x45c;" u2="&#x47b;" k="41" /> - <hkern u1="&#x45c;" u2="&#x479;" k="41" /> - <hkern u1="&#x45c;" u2="&#x473;" k="41" /> - <hkern u1="&#x45c;" u2="&#x454;" k="41" /> - <hkern u1="&#x45c;" u2="&#x451;" k="41" /> - <hkern u1="&#x45c;" u2="&#x450;" k="41" /> - <hkern u1="&#x45c;" u2="&#x447;" k="41" /> - <hkern u1="&#x45c;" u2="&#x444;" k="41" /> - <hkern u1="&#x45c;" u2="&#x441;" k="41" /> - <hkern u1="&#x45c;" u2="&#x43e;" k="41" /> - <hkern u1="&#x45c;" u2="&#x435;" k="41" /> - <hkern u1="&#x45e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x45e;" u2="&#x513;" k="41" /> - <hkern u1="&#x45e;" u2="&#x509;" k="41" /> - <hkern u1="&#x45e;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x45e;" u2="&#x467;" k="41" /> - <hkern u1="&#x45e;" u2="&#x459;" k="41" /> - <hkern u1="&#x45e;" u2="&#x43b;" k="41" /> - <hkern u1="&#x45e;" u2="&#x434;" k="41" /> - <hkern u1="&#x45e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x45e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x460;" u2="&#x201e;" k="82" /> - <hkern u1="&#x460;" u2="&#x201a;" k="82" /> - <hkern u1="&#x460;" u2="&#x513;" k="20" /> - <hkern u1="&#x460;" u2="&#x512;" k="41" /> - <hkern u1="&#x460;" u2="&#x50e;" k="20" /> - <hkern u1="&#x460;" u2="&#x509;" k="20" /> - <hkern u1="&#x460;" u2="&#x508;" k="41" /> - <hkern u1="&#x460;" u2="&#x506;" k="41" /> - <hkern u1="&#x460;" u2="&#x504;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x460;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x460;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x460;" u2="&#x4de;" k="20" /> - <hkern u1="&#x460;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x460;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x460;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x460;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x460;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x460;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x460;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x460;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x460;" u2="&#x498;" k="20" /> - <hkern u1="&#x460;" u2="&#x496;" k="41" /> - <hkern u1="&#x460;" u2="&#x476;" k="20" /> - <hkern u1="&#x460;" u2="&#x474;" k="20" /> - <hkern u1="&#x460;" u2="&#x470;" k="41" /> - <hkern u1="&#x460;" u2="&#x46e;" k="20" /> - <hkern u1="&#x460;" u2="&#x467;" k="20" /> - <hkern u1="&#x460;" u2="&#x466;" k="41" /> - <hkern u1="&#x460;" u2="&#x459;" k="20" /> - <hkern u1="&#x460;" u2="&#x43b;" k="20" /> - <hkern u1="&#x460;" u2="&#x434;" k="20" /> - <hkern u1="&#x460;" u2="&#x42d;" k="20" /> - <hkern u1="&#x460;" u2="&#x42a;" k="20" /> - <hkern u1="&#x460;" u2="&#x427;" k="41" /> - <hkern u1="&#x460;" u2="&#x425;" k="41" /> - <hkern u1="&#x460;" u2="&#x423;" k="41" /> - <hkern u1="&#x460;" u2="&#x422;" k="61" /> - <hkern u1="&#x460;" u2="&#x41b;" k="41" /> - <hkern u1="&#x460;" u2="&#x417;" k="20" /> - <hkern u1="&#x460;" u2="&#x416;" k="41" /> - <hkern u1="&#x460;" u2="&#x414;" k="41" /> - <hkern u1="&#x460;" u2="&#x410;" k="41" /> - <hkern u1="&#x460;" u2="&#x40e;" k="41" /> - <hkern u1="&#x460;" u2="&#x40b;" k="20" /> - <hkern u1="&#x460;" u2="&#x409;" k="41" /> - <hkern u1="&#x460;" u2="&#x402;" k="20" /> - <hkern u1="&#x460;" u2="&#x2e;" k="82" /> - <hkern u1="&#x460;" u2="&#x2c;" k="82" /> - <hkern u1="&#x461;" u2="&#x201e;" k="82" /> - <hkern u1="&#x461;" u2="&#x201a;" k="82" /> - <hkern u1="&#x461;" u2="&#x513;" k="41" /> - <hkern u1="&#x461;" u2="&#x509;" k="41" /> - <hkern u1="&#x461;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x461;" u2="&#x467;" k="41" /> - <hkern u1="&#x461;" u2="&#x459;" k="41" /> - <hkern u1="&#x461;" u2="&#x43b;" k="41" /> - <hkern u1="&#x461;" u2="&#x434;" k="41" /> - <hkern u1="&#x461;" u2="&#x2e;" k="82" /> - <hkern u1="&#x461;" u2="&#x2c;" k="82" /> - <hkern u1="&#x462;" u2="&#x201d;" k="82" /> - <hkern u1="&#x462;" u2="&#x2019;" k="82" /> - <hkern u1="&#x462;" u2="&#x50f;" k="41" /> - <hkern u1="&#x462;" u2="&#x50e;" k="41" /> - <hkern u1="&#x462;" u2="&#x506;" k="102" /> - <hkern u1="&#x462;" u2="&#x504;" k="102" /> - <hkern u1="&#x462;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x462;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x462;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x462;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x462;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x462;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x462;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x462;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x462;" u2="&#x476;" k="61" /> - <hkern u1="&#x462;" u2="&#x474;" k="61" /> - <hkern u1="&#x462;" u2="&#x470;" k="82" /> - <hkern u1="&#x462;" u2="&#x44a;" k="41" /> - <hkern u1="&#x462;" u2="&#x442;" k="41" /> - <hkern u1="&#x462;" u2="&#x42a;" k="41" /> - <hkern u1="&#x462;" u2="&#x427;" k="82" /> - <hkern u1="&#x462;" u2="&#x422;" k="82" /> - <hkern u1="&#x462;" u2="&#x40b;" k="41" /> - <hkern u1="&#x462;" u2="&#x402;" k="41" /> - <hkern u1="&#x462;" u2="&#x27;" k="82" /> - <hkern u1="&#x462;" u2="&#x22;" k="82" /> - <hkern u1="&#x463;" u2="&#x201d;" k="123" /> - <hkern u1="&#x463;" u2="&#x2019;" k="123" /> - <hkern u1="&#x463;" u2="&#x50f;" k="102" /> - <hkern u1="&#x463;" u2="&#x507;" k="102" /> - <hkern u1="&#x463;" u2="&#x505;" k="102" /> - <hkern u1="&#x463;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x463;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x463;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x463;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x463;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x463;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x463;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x463;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x463;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x463;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x463;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x463;" u2="&#x4af;" k="61" /> - <hkern u1="&#x463;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x463;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x463;" u2="&#x497;" k="41" /> - <hkern u1="&#x463;" u2="&#x47f;" k="41" /> - <hkern u1="&#x463;" u2="&#x477;" k="41" /> - <hkern u1="&#x463;" u2="&#x475;" k="41" /> - <hkern u1="&#x463;" u2="&#x461;" k="41" /> - <hkern u1="&#x463;" u2="&#x45e;" k="61" /> - <hkern u1="&#x463;" u2="&#x44a;" k="102" /> - <hkern u1="&#x463;" u2="&#x447;" k="82" /> - <hkern u1="&#x463;" u2="&#x445;" k="41" /> - <hkern u1="&#x463;" u2="&#x443;" k="61" /> - <hkern u1="&#x463;" u2="&#x442;" k="102" /> - <hkern u1="&#x463;" u2="&#x436;" k="41" /> - <hkern u1="&#x463;" u2="&#x27;" k="123" /> - <hkern u1="&#x463;" u2="&#x22;" k="123" /> - <hkern u1="&#x464;" u2="&#x50c;" k="41" /> - <hkern u1="&#x464;" u2="&#x507;" k="41" /> - <hkern u1="&#x464;" u2="&#x505;" k="41" /> - <hkern u1="&#x464;" u2="&#x502;" k="41" /> - <hkern u1="&#x464;" u2="&#x500;" k="41" /> - <hkern u1="&#x464;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x464;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x464;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x464;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4be;" k="41" /> - <hkern u1="&#x464;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x464;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x464;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x464;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x464;" u2="&#x480;" k="41" /> - <hkern u1="&#x464;" u2="&#x47e;" k="41" /> - <hkern u1="&#x464;" u2="&#x47c;" k="41" /> - <hkern u1="&#x464;" u2="&#x47a;" k="41" /> - <hkern u1="&#x464;" u2="&#x478;" k="41" /> - <hkern u1="&#x464;" u2="&#x472;" k="41" /> - <hkern u1="&#x464;" u2="&#x460;" k="41" /> - <hkern u1="&#x464;" u2="&#x447;" k="41" /> - <hkern u1="&#x464;" u2="&#x424;" k="41" /> - <hkern u1="&#x464;" u2="&#x421;" k="41" /> - <hkern u1="&#x464;" u2="&#x41e;" k="41" /> - <hkern u1="&#x464;" u2="&#x404;" k="41" /> - <hkern u1="&#x466;" u2="&#x201d;" k="143" /> - <hkern u1="&#x466;" u2="&#x2019;" k="143" /> - <hkern u1="&#x466;" u2="&#x50f;" k="41" /> - <hkern u1="&#x466;" u2="&#x50e;" k="102" /> - <hkern u1="&#x466;" u2="&#x507;" k="41" /> - <hkern u1="&#x466;" u2="&#x506;" k="143" /> - <hkern u1="&#x466;" u2="&#x505;" k="41" /> - <hkern u1="&#x466;" u2="&#x504;" k="143" /> - <hkern u1="&#x466;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4da;" k="41" /> - <hkern u1="&#x466;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x466;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x466;" u2="&#x4be;" k="102" /> - <hkern u1="&#x466;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x466;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x466;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x466;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x466;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x466;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x466;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x466;" u2="&#x49e;" k="41" /> - <hkern u1="&#x466;" u2="&#x492;" k="41" /> - <hkern u1="&#x466;" u2="&#x48c;" k="41" /> - <hkern u1="&#x466;" u2="&#x476;" k="82" /> - <hkern u1="&#x466;" u2="&#x474;" k="82" /> - <hkern u1="&#x466;" u2="&#x470;" k="102" /> - <hkern u1="&#x466;" u2="&#x462;" k="41" /> - <hkern u1="&#x466;" u2="&#x44a;" k="41" /> - <hkern u1="&#x466;" u2="&#x447;" k="41" /> - <hkern u1="&#x466;" u2="&#x442;" k="41" /> - <hkern u1="&#x466;" u2="&#x42a;" k="102" /> - <hkern u1="&#x466;" u2="&#x427;" k="102" /> - <hkern u1="&#x466;" u2="&#x424;" k="41" /> - <hkern u1="&#x466;" u2="&#x422;" k="143" /> - <hkern u1="&#x466;" u2="&#x40b;" k="102" /> - <hkern u1="&#x466;" u2="&#x402;" k="102" /> - <hkern u1="&#x466;" u2="&#x27;" k="143" /> - <hkern u1="&#x466;" u2="&#x22;" k="143" /> - <hkern u1="&#x467;" u2="&#x201d;" k="143" /> - <hkern u1="&#x467;" u2="&#x2019;" k="143" /> - <hkern u1="&#x467;" u2="&#x511;" k="41" /> - <hkern u1="&#x467;" u2="&#x50f;" k="102" /> - <hkern u1="&#x467;" u2="&#x50d;" k="41" /> - <hkern u1="&#x467;" u2="&#x507;" k="123" /> - <hkern u1="&#x467;" u2="&#x505;" k="123" /> - <hkern u1="&#x467;" u2="&#x503;" k="41" /> - <hkern u1="&#x467;" u2="&#x501;" k="41" /> - <hkern u1="&#x467;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x467;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x467;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x467;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x467;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x467;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x467;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x467;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x467;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x467;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x467;" u2="&#x4af;" k="41" /> - <hkern u1="&#x467;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x467;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x467;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x467;" u2="&#x481;" k="41" /> - <hkern u1="&#x467;" u2="&#x47f;" k="41" /> - <hkern u1="&#x467;" u2="&#x47d;" k="41" /> - <hkern u1="&#x467;" u2="&#x47b;" k="41" /> - <hkern u1="&#x467;" u2="&#x479;" k="41" /> - <hkern u1="&#x467;" u2="&#x477;" k="41" /> - <hkern u1="&#x467;" u2="&#x475;" k="41" /> - <hkern u1="&#x467;" u2="&#x473;" k="41" /> - <hkern u1="&#x467;" u2="&#x471;" k="20" /> - <hkern u1="&#x467;" u2="&#x461;" k="41" /> - <hkern u1="&#x467;" u2="&#x45e;" k="61" /> - <hkern u1="&#x467;" u2="&#x454;" k="41" /> - <hkern u1="&#x467;" u2="&#x451;" k="41" /> - <hkern u1="&#x467;" u2="&#x450;" k="41" /> - <hkern u1="&#x467;" u2="&#x44a;" k="102" /> - <hkern u1="&#x467;" u2="&#x447;" k="61" /> - <hkern u1="&#x467;" u2="&#x444;" k="41" /> - <hkern u1="&#x467;" u2="&#x443;" k="61" /> - <hkern u1="&#x467;" u2="&#x442;" k="102" /> - <hkern u1="&#x467;" u2="&#x441;" k="41" /> - <hkern u1="&#x467;" u2="&#x43e;" k="41" /> - <hkern u1="&#x467;" u2="&#x435;" k="41" /> - <hkern u1="&#x467;" u2="&#x27;" k="143" /> - <hkern u1="&#x467;" u2="&#x22;" k="143" /> - <hkern u1="&#x468;" u2="&#x201d;" k="143" /> - <hkern u1="&#x468;" u2="&#x2019;" k="143" /> - <hkern u1="&#x468;" u2="&#x50f;" k="41" /> - <hkern u1="&#x468;" u2="&#x50e;" k="102" /> - <hkern u1="&#x468;" u2="&#x507;" k="41" /> - <hkern u1="&#x468;" u2="&#x506;" k="143" /> - <hkern u1="&#x468;" u2="&#x505;" k="41" /> - <hkern u1="&#x468;" u2="&#x504;" k="143" /> - <hkern u1="&#x468;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4da;" k="41" /> - <hkern u1="&#x468;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x468;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x468;" u2="&#x4be;" k="102" /> - <hkern u1="&#x468;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x468;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x468;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x468;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x468;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x468;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x468;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x468;" u2="&#x49e;" k="41" /> - <hkern u1="&#x468;" u2="&#x492;" k="41" /> - <hkern u1="&#x468;" u2="&#x48c;" k="41" /> - <hkern u1="&#x468;" u2="&#x476;" k="82" /> - <hkern u1="&#x468;" u2="&#x474;" k="82" /> - <hkern u1="&#x468;" u2="&#x470;" k="102" /> - <hkern u1="&#x468;" u2="&#x462;" k="41" /> - <hkern u1="&#x468;" u2="&#x44a;" k="41" /> - <hkern u1="&#x468;" u2="&#x447;" k="41" /> - <hkern u1="&#x468;" u2="&#x442;" k="41" /> - <hkern u1="&#x468;" u2="&#x42a;" k="102" /> - <hkern u1="&#x468;" u2="&#x427;" k="102" /> - <hkern u1="&#x468;" u2="&#x424;" k="41" /> - <hkern u1="&#x468;" u2="&#x422;" k="143" /> - <hkern u1="&#x468;" u2="&#x40b;" k="102" /> - <hkern u1="&#x468;" u2="&#x402;" k="102" /> - <hkern u1="&#x468;" u2="&#x27;" k="143" /> - <hkern u1="&#x468;" u2="&#x22;" k="143" /> - <hkern u1="&#x469;" u2="&#x201d;" k="143" /> - <hkern u1="&#x469;" u2="&#x2019;" k="143" /> - <hkern u1="&#x469;" u2="&#x511;" k="41" /> - <hkern u1="&#x469;" u2="&#x50f;" k="102" /> - <hkern u1="&#x469;" u2="&#x50d;" k="41" /> - <hkern u1="&#x469;" u2="&#x507;" k="123" /> - <hkern u1="&#x469;" u2="&#x505;" k="123" /> - <hkern u1="&#x469;" u2="&#x503;" k="41" /> - <hkern u1="&#x469;" u2="&#x501;" k="41" /> - <hkern u1="&#x469;" u2="&#x4f5;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x469;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x469;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x469;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x469;" u2="&#x4cc;" k="61" /> - <hkern u1="&#x469;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x469;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x469;" u2="&#x4b9;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b7;" k="61" /> - <hkern u1="&#x469;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x469;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x469;" u2="&#x4af;" k="41" /> - <hkern u1="&#x469;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x469;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x469;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x469;" u2="&#x481;" k="41" /> - <hkern u1="&#x469;" u2="&#x47f;" k="41" /> - <hkern u1="&#x469;" u2="&#x47d;" k="41" /> - <hkern u1="&#x469;" u2="&#x47b;" k="41" /> - <hkern u1="&#x469;" u2="&#x479;" k="41" /> - <hkern u1="&#x469;" u2="&#x477;" k="41" /> - <hkern u1="&#x469;" u2="&#x475;" k="41" /> - <hkern u1="&#x469;" u2="&#x473;" k="41" /> - <hkern u1="&#x469;" u2="&#x471;" k="20" /> - <hkern u1="&#x469;" u2="&#x461;" k="41" /> - <hkern u1="&#x469;" u2="&#x45e;" k="61" /> - <hkern u1="&#x469;" u2="&#x454;" k="41" /> - <hkern u1="&#x469;" u2="&#x451;" k="41" /> - <hkern u1="&#x469;" u2="&#x450;" k="41" /> - <hkern u1="&#x469;" u2="&#x44a;" k="102" /> - <hkern u1="&#x469;" u2="&#x447;" k="61" /> - <hkern u1="&#x469;" u2="&#x444;" k="41" /> - <hkern u1="&#x469;" u2="&#x443;" k="61" /> - <hkern u1="&#x469;" u2="&#x442;" k="102" /> - <hkern u1="&#x469;" u2="&#x441;" k="41" /> - <hkern u1="&#x469;" u2="&#x43e;" k="41" /> - <hkern u1="&#x469;" u2="&#x435;" k="41" /> - <hkern u1="&#x469;" u2="&#x27;" k="143" /> - <hkern u1="&#x469;" u2="&#x22;" k="143" /> - <hkern u1="&#x46a;" u2="&#x506;" k="20" /> - <hkern u1="&#x46a;" u2="&#x504;" k="20" /> - <hkern u1="&#x46c;" u2="&#x506;" k="20" /> - <hkern u1="&#x46c;" u2="&#x504;" k="20" /> - <hkern u1="&#x46e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x46e;" u2="&#x506;" k="41" /> - <hkern u1="&#x46e;" u2="&#x504;" k="41" /> - <hkern u1="&#x46e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x46e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x46e;" u2="&#x476;" k="20" /> - <hkern u1="&#x46e;" u2="&#x474;" k="20" /> - <hkern u1="&#x46e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x46e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x470;" u2="&#x201e;" k="143" /> - <hkern u1="&#x470;" u2="&#x201a;" k="143" /> - <hkern u1="&#x470;" u2="&#x513;" k="41" /> - <hkern u1="&#x470;" u2="&#x512;" k="61" /> - <hkern u1="&#x470;" u2="&#x509;" k="41" /> - <hkern u1="&#x470;" u2="&#x508;" k="61" /> - <hkern u1="&#x470;" u2="&#x502;" k="82" /> - <hkern u1="&#x470;" u2="&#x500;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d4;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d2;" k="82" /> - <hkern u1="&#x470;" u2="&#x4d0;" k="82" /> - <hkern u1="&#x470;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x470;" u2="&#x4c5;" k="61" /> - <hkern u1="&#x470;" u2="&#x467;" k="41" /> - <hkern u1="&#x470;" u2="&#x466;" k="82" /> - <hkern u1="&#x470;" u2="&#x459;" k="41" /> - <hkern u1="&#x470;" u2="&#x43b;" k="41" /> - <hkern u1="&#x470;" u2="&#x434;" k="41" /> - <hkern u1="&#x470;" u2="&#x41b;" k="61" /> - <hkern u1="&#x470;" u2="&#x414;" k="61" /> - <hkern u1="&#x470;" u2="&#x410;" k="82" /> - <hkern u1="&#x470;" u2="&#x409;" k="61" /> - <hkern u1="&#x470;" u2="&#x2e;" k="143" /> - <hkern u1="&#x470;" u2="&#x2c;" k="143" /> - <hkern u1="&#x471;" u2="&#x201d;" k="20" /> - <hkern u1="&#x471;" u2="&#x2019;" k="20" /> - <hkern u1="&#x471;" u2="&#x50f;" k="20" /> - <hkern u1="&#x471;" u2="&#x507;" k="20" /> - <hkern u1="&#x471;" u2="&#x505;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x471;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x471;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x471;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x471;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x471;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x471;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x471;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x471;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x471;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x471;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x471;" u2="&#x497;" k="41" /> - <hkern u1="&#x471;" u2="&#x45e;" k="20" /> - <hkern u1="&#x471;" u2="&#x44a;" k="20" /> - <hkern u1="&#x471;" u2="&#x447;" k="20" /> - <hkern u1="&#x471;" u2="&#x445;" k="41" /> - <hkern u1="&#x471;" u2="&#x443;" k="20" /> - <hkern u1="&#x471;" u2="&#x442;" k="20" /> - <hkern u1="&#x471;" u2="&#x436;" k="41" /> - <hkern u1="&#x471;" u2="&#x27;" k="20" /> - <hkern u1="&#x471;" u2="&#x22;" k="20" /> - <hkern u1="&#x472;" u2="&#x201e;" k="82" /> - <hkern u1="&#x472;" u2="&#x201a;" k="82" /> - <hkern u1="&#x472;" u2="&#x513;" k="20" /> - <hkern u1="&#x472;" u2="&#x512;" k="41" /> - <hkern u1="&#x472;" u2="&#x50e;" k="20" /> - <hkern u1="&#x472;" u2="&#x509;" k="20" /> - <hkern u1="&#x472;" u2="&#x508;" k="41" /> - <hkern u1="&#x472;" u2="&#x506;" k="41" /> - <hkern u1="&#x472;" u2="&#x504;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x472;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x472;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x472;" u2="&#x4de;" k="20" /> - <hkern u1="&#x472;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x472;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x472;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x472;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x472;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x472;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x472;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x472;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x472;" u2="&#x498;" k="20" /> - <hkern u1="&#x472;" u2="&#x496;" k="41" /> - <hkern u1="&#x472;" u2="&#x476;" k="20" /> - <hkern u1="&#x472;" u2="&#x474;" k="20" /> - <hkern u1="&#x472;" u2="&#x470;" k="41" /> - <hkern u1="&#x472;" u2="&#x46e;" k="20" /> - <hkern u1="&#x472;" u2="&#x467;" k="20" /> - <hkern u1="&#x472;" u2="&#x466;" k="41" /> - <hkern u1="&#x472;" u2="&#x459;" k="20" /> - <hkern u1="&#x472;" u2="&#x43b;" k="20" /> - <hkern u1="&#x472;" u2="&#x434;" k="20" /> - <hkern u1="&#x472;" u2="&#x42d;" k="20" /> - <hkern u1="&#x472;" u2="&#x42a;" k="20" /> - <hkern u1="&#x472;" u2="&#x427;" k="41" /> - <hkern u1="&#x472;" u2="&#x425;" k="41" /> - <hkern u1="&#x472;" u2="&#x423;" k="41" /> - <hkern u1="&#x472;" u2="&#x422;" k="61" /> - <hkern u1="&#x472;" u2="&#x41b;" k="41" /> - <hkern u1="&#x472;" u2="&#x417;" k="20" /> - <hkern u1="&#x472;" u2="&#x416;" k="41" /> - <hkern u1="&#x472;" u2="&#x414;" k="41" /> - <hkern u1="&#x472;" u2="&#x410;" k="41" /> - <hkern u1="&#x472;" u2="&#x40e;" k="41" /> - <hkern u1="&#x472;" u2="&#x40b;" k="20" /> - <hkern u1="&#x472;" u2="&#x409;" k="41" /> - <hkern u1="&#x472;" u2="&#x402;" k="20" /> - <hkern u1="&#x472;" u2="&#x2e;" k="82" /> - <hkern u1="&#x472;" u2="&#x2c;" k="82" /> - <hkern u1="&#x473;" u2="&#x201d;" k="20" /> - <hkern u1="&#x473;" u2="&#x2019;" k="20" /> - <hkern u1="&#x473;" u2="&#x50f;" k="20" /> - <hkern u1="&#x473;" u2="&#x507;" k="20" /> - <hkern u1="&#x473;" u2="&#x505;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x473;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x473;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x473;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x473;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x473;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x473;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x473;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x473;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x473;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x473;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x473;" u2="&#x497;" k="41" /> - <hkern u1="&#x473;" u2="&#x45e;" k="20" /> - <hkern u1="&#x473;" u2="&#x44a;" k="20" /> - <hkern u1="&#x473;" u2="&#x447;" k="20" /> - <hkern u1="&#x473;" u2="&#x445;" k="41" /> - <hkern u1="&#x473;" u2="&#x443;" k="20" /> - <hkern u1="&#x473;" u2="&#x442;" k="20" /> - <hkern u1="&#x473;" u2="&#x436;" k="41" /> - <hkern u1="&#x473;" u2="&#x27;" k="20" /> - <hkern u1="&#x473;" u2="&#x22;" k="20" /> - <hkern u1="&#x474;" u2="&#x201e;" k="123" /> - <hkern u1="&#x474;" u2="&#x201a;" k="123" /> - <hkern u1="&#x474;" u2="&#x513;" k="82" /> - <hkern u1="&#x474;" u2="&#x512;" k="102" /> - <hkern u1="&#x474;" u2="&#x511;" k="41" /> - <hkern u1="&#x474;" u2="&#x50d;" k="41" /> - <hkern u1="&#x474;" u2="&#x50c;" k="20" /> - <hkern u1="&#x474;" u2="&#x509;" k="82" /> - <hkern u1="&#x474;" u2="&#x508;" k="102" /> - <hkern u1="&#x474;" u2="&#x503;" k="41" /> - <hkern u1="&#x474;" u2="&#x502;" k="143" /> - <hkern u1="&#x474;" u2="&#x501;" k="41" /> - <hkern u1="&#x474;" u2="&#x500;" k="143" /> - <hkern u1="&#x474;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x474;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x474;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x474;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x474;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x474;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x474;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x474;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x474;" u2="&#x4be;" k="41" /> - <hkern u1="&#x474;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x474;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x474;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x474;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x474;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x474;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x474;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x474;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x474;" u2="&#x481;" k="41" /> - <hkern u1="&#x474;" u2="&#x480;" k="20" /> - <hkern u1="&#x474;" u2="&#x47e;" k="20" /> - <hkern u1="&#x474;" u2="&#x47d;" k="41" /> - <hkern u1="&#x474;" u2="&#x47c;" k="20" /> - <hkern u1="&#x474;" u2="&#x47b;" k="41" /> - <hkern u1="&#x474;" u2="&#x47a;" k="20" /> - <hkern u1="&#x474;" u2="&#x479;" k="41" /> - <hkern u1="&#x474;" u2="&#x478;" k="20" /> - <hkern u1="&#x474;" u2="&#x473;" k="41" /> - <hkern u1="&#x474;" u2="&#x472;" k="20" /> - <hkern u1="&#x474;" u2="&#x467;" k="82" /> - <hkern u1="&#x474;" u2="&#x466;" k="143" /> - <hkern u1="&#x474;" u2="&#x460;" k="20" /> - <hkern u1="&#x474;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x474;" u2="&#x459;" k="82" /> - <hkern u1="&#x474;" u2="&#x455;" k="20" /> - <hkern u1="&#x474;" u2="&#x454;" k="41" /> - <hkern u1="&#x474;" u2="&#x452;" k="-102" /> - <hkern u1="&#x474;" u2="&#x451;" k="41" /> - <hkern u1="&#x474;" u2="&#x450;" k="41" /> - <hkern u1="&#x474;" u2="&#x447;" k="41" /> - <hkern u1="&#x474;" u2="&#x444;" k="41" /> - <hkern u1="&#x474;" u2="&#x441;" k="41" /> - <hkern u1="&#x474;" u2="&#x43e;" k="41" /> - <hkern u1="&#x474;" u2="&#x43b;" k="82" /> - <hkern u1="&#x474;" u2="&#x435;" k="41" /> - <hkern u1="&#x474;" u2="&#x434;" k="82" /> - <hkern u1="&#x474;" u2="&#x42f;" k="20" /> - <hkern u1="&#x474;" u2="&#x424;" k="61" /> - <hkern u1="&#x474;" u2="&#x421;" k="20" /> - <hkern u1="&#x474;" u2="&#x41e;" k="20" /> - <hkern u1="&#x474;" u2="&#x41b;" k="102" /> - <hkern u1="&#x474;" u2="&#x414;" k="102" /> - <hkern u1="&#x474;" u2="&#x410;" k="143" /> - <hkern u1="&#x474;" u2="&#x409;" k="102" /> - <hkern u1="&#x474;" u2="&#x404;" k="20" /> - <hkern u1="&#x474;" u2="&#x2e;" k="123" /> - <hkern u1="&#x474;" u2="&#x2c;" k="123" /> - <hkern u1="&#x475;" u2="&#x201e;" k="82" /> - <hkern u1="&#x475;" u2="&#x201a;" k="82" /> - <hkern u1="&#x475;" u2="&#x513;" k="41" /> - <hkern u1="&#x475;" u2="&#x509;" k="41" /> - <hkern u1="&#x475;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x475;" u2="&#x467;" k="41" /> - <hkern u1="&#x475;" u2="&#x459;" k="41" /> - <hkern u1="&#x475;" u2="&#x43b;" k="41" /> - <hkern u1="&#x475;" u2="&#x434;" k="41" /> - <hkern u1="&#x475;" u2="&#x2e;" k="82" /> - <hkern u1="&#x475;" u2="&#x2c;" k="82" /> - <hkern u1="&#x476;" u2="&#x201e;" k="123" /> - <hkern u1="&#x476;" u2="&#x201a;" k="123" /> - <hkern u1="&#x476;" u2="&#x513;" k="82" /> - <hkern u1="&#x476;" u2="&#x512;" k="102" /> - <hkern u1="&#x476;" u2="&#x511;" k="41" /> - <hkern u1="&#x476;" u2="&#x50d;" k="41" /> - <hkern u1="&#x476;" u2="&#x50c;" k="20" /> - <hkern u1="&#x476;" u2="&#x509;" k="82" /> - <hkern u1="&#x476;" u2="&#x508;" k="102" /> - <hkern u1="&#x476;" u2="&#x503;" k="41" /> - <hkern u1="&#x476;" u2="&#x502;" k="143" /> - <hkern u1="&#x476;" u2="&#x501;" k="41" /> - <hkern u1="&#x476;" u2="&#x500;" k="143" /> - <hkern u1="&#x476;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x476;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x476;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x476;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x476;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x476;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x476;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x476;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x476;" u2="&#x4be;" k="41" /> - <hkern u1="&#x476;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x476;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x476;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x476;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x476;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x476;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x476;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x476;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x476;" u2="&#x481;" k="41" /> - <hkern u1="&#x476;" u2="&#x480;" k="20" /> - <hkern u1="&#x476;" u2="&#x47e;" k="20" /> - <hkern u1="&#x476;" u2="&#x47d;" k="41" /> - <hkern u1="&#x476;" u2="&#x47c;" k="20" /> - <hkern u1="&#x476;" u2="&#x47b;" k="41" /> - <hkern u1="&#x476;" u2="&#x47a;" k="20" /> - <hkern u1="&#x476;" u2="&#x479;" k="41" /> - <hkern u1="&#x476;" u2="&#x478;" k="20" /> - <hkern u1="&#x476;" u2="&#x473;" k="41" /> - <hkern u1="&#x476;" u2="&#x472;" k="20" /> - <hkern u1="&#x476;" u2="&#x467;" k="82" /> - <hkern u1="&#x476;" u2="&#x466;" k="143" /> - <hkern u1="&#x476;" u2="&#x460;" k="20" /> - <hkern u1="&#x476;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x476;" u2="&#x459;" k="82" /> - <hkern u1="&#x476;" u2="&#x455;" k="20" /> - <hkern u1="&#x476;" u2="&#x454;" k="41" /> - <hkern u1="&#x476;" u2="&#x452;" k="-102" /> - <hkern u1="&#x476;" u2="&#x451;" k="41" /> - <hkern u1="&#x476;" u2="&#x450;" k="41" /> - <hkern u1="&#x476;" u2="&#x447;" k="41" /> - <hkern u1="&#x476;" u2="&#x444;" k="41" /> - <hkern u1="&#x476;" u2="&#x441;" k="41" /> - <hkern u1="&#x476;" u2="&#x43e;" k="41" /> - <hkern u1="&#x476;" u2="&#x43b;" k="82" /> - <hkern u1="&#x476;" u2="&#x435;" k="41" /> - <hkern u1="&#x476;" u2="&#x434;" k="82" /> - <hkern u1="&#x476;" u2="&#x42f;" k="20" /> - <hkern u1="&#x476;" u2="&#x424;" k="61" /> - <hkern u1="&#x476;" u2="&#x421;" k="20" /> - <hkern u1="&#x476;" u2="&#x41e;" k="20" /> - <hkern u1="&#x476;" u2="&#x41b;" k="102" /> - <hkern u1="&#x476;" u2="&#x414;" k="102" /> - <hkern u1="&#x476;" u2="&#x410;" k="143" /> - <hkern u1="&#x476;" u2="&#x409;" k="102" /> - <hkern u1="&#x476;" u2="&#x404;" k="20" /> - <hkern u1="&#x476;" u2="&#x2e;" k="123" /> - <hkern u1="&#x476;" u2="&#x2c;" k="123" /> - <hkern u1="&#x477;" u2="&#x201e;" k="82" /> - <hkern u1="&#x477;" u2="&#x201a;" k="82" /> - <hkern u1="&#x477;" u2="&#x513;" k="41" /> - <hkern u1="&#x477;" u2="&#x509;" k="41" /> - <hkern u1="&#x477;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x477;" u2="&#x467;" k="41" /> - <hkern u1="&#x477;" u2="&#x459;" k="41" /> - <hkern u1="&#x477;" u2="&#x43b;" k="41" /> - <hkern u1="&#x477;" u2="&#x434;" k="41" /> - <hkern u1="&#x477;" u2="&#x2e;" k="82" /> - <hkern u1="&#x477;" u2="&#x2c;" k="82" /> - <hkern u1="&#x478;" u2="&#x201e;" k="82" /> - <hkern u1="&#x478;" u2="&#x201a;" k="82" /> - <hkern u1="&#x478;" u2="&#x513;" k="41" /> - <hkern u1="&#x478;" u2="&#x509;" k="41" /> - <hkern u1="&#x478;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x478;" u2="&#x467;" k="41" /> - <hkern u1="&#x478;" u2="&#x459;" k="41" /> - <hkern u1="&#x478;" u2="&#x43b;" k="41" /> - <hkern u1="&#x478;" u2="&#x434;" k="41" /> - <hkern u1="&#x478;" u2="&#x2e;" k="82" /> - <hkern u1="&#x478;" u2="&#x2c;" k="82" /> - <hkern u1="&#x479;" u2="&#x201e;" k="82" /> - <hkern u1="&#x479;" u2="&#x201a;" k="82" /> - <hkern u1="&#x479;" u2="&#x513;" k="41" /> - <hkern u1="&#x479;" u2="&#x509;" k="41" /> - <hkern u1="&#x479;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x479;" u2="&#x467;" k="41" /> - <hkern u1="&#x479;" u2="&#x459;" k="41" /> - <hkern u1="&#x479;" u2="&#x43b;" k="41" /> - <hkern u1="&#x479;" u2="&#x434;" k="41" /> - <hkern u1="&#x479;" u2="&#x2e;" k="82" /> - <hkern u1="&#x479;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47a;" u2="&#x513;" k="20" /> - <hkern u1="&#x47a;" u2="&#x512;" k="41" /> - <hkern u1="&#x47a;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x509;" k="20" /> - <hkern u1="&#x47a;" u2="&#x508;" k="41" /> - <hkern u1="&#x47a;" u2="&#x506;" k="41" /> - <hkern u1="&#x47a;" u2="&#x504;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47a;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47a;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47a;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47a;" u2="&#x498;" k="20" /> - <hkern u1="&#x47a;" u2="&#x496;" k="41" /> - <hkern u1="&#x47a;" u2="&#x476;" k="20" /> - <hkern u1="&#x47a;" u2="&#x474;" k="20" /> - <hkern u1="&#x47a;" u2="&#x470;" k="41" /> - <hkern u1="&#x47a;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47a;" u2="&#x467;" k="20" /> - <hkern u1="&#x47a;" u2="&#x466;" k="41" /> - <hkern u1="&#x47a;" u2="&#x459;" k="20" /> - <hkern u1="&#x47a;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x434;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47a;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47a;" u2="&#x427;" k="41" /> - <hkern u1="&#x47a;" u2="&#x425;" k="41" /> - <hkern u1="&#x47a;" u2="&#x423;" k="41" /> - <hkern u1="&#x47a;" u2="&#x422;" k="61" /> - <hkern u1="&#x47a;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47a;" u2="&#x417;" k="20" /> - <hkern u1="&#x47a;" u2="&#x416;" k="41" /> - <hkern u1="&#x47a;" u2="&#x414;" k="41" /> - <hkern u1="&#x47a;" u2="&#x410;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47a;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47a;" u2="&#x409;" k="41" /> - <hkern u1="&#x47a;" u2="&#x402;" k="20" /> - <hkern u1="&#x47a;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47a;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47b;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47b;" u2="&#x507;" k="20" /> - <hkern u1="&#x47b;" u2="&#x505;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47b;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47b;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47b;" u2="&#x497;" k="41" /> - <hkern u1="&#x47b;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47b;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47b;" u2="&#x447;" k="20" /> - <hkern u1="&#x47b;" u2="&#x445;" k="41" /> - <hkern u1="&#x47b;" u2="&#x443;" k="20" /> - <hkern u1="&#x47b;" u2="&#x442;" k="20" /> - <hkern u1="&#x47b;" u2="&#x436;" k="41" /> - <hkern u1="&#x47b;" u2="&#x27;" k="20" /> - <hkern u1="&#x47b;" u2="&#x22;" k="20" /> - <hkern u1="&#x47c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47c;" u2="&#x513;" k="20" /> - <hkern u1="&#x47c;" u2="&#x512;" k="41" /> - <hkern u1="&#x47c;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x509;" k="20" /> - <hkern u1="&#x47c;" u2="&#x508;" k="41" /> - <hkern u1="&#x47c;" u2="&#x506;" k="41" /> - <hkern u1="&#x47c;" u2="&#x504;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47c;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47c;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47c;" u2="&#x498;" k="20" /> - <hkern u1="&#x47c;" u2="&#x496;" k="41" /> - <hkern u1="&#x47c;" u2="&#x476;" k="20" /> - <hkern u1="&#x47c;" u2="&#x474;" k="20" /> - <hkern u1="&#x47c;" u2="&#x470;" k="41" /> - <hkern u1="&#x47c;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47c;" u2="&#x467;" k="20" /> - <hkern u1="&#x47c;" u2="&#x466;" k="41" /> - <hkern u1="&#x47c;" u2="&#x459;" k="20" /> - <hkern u1="&#x47c;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x434;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47c;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47c;" u2="&#x427;" k="41" /> - <hkern u1="&#x47c;" u2="&#x425;" k="41" /> - <hkern u1="&#x47c;" u2="&#x423;" k="41" /> - <hkern u1="&#x47c;" u2="&#x422;" k="61" /> - <hkern u1="&#x47c;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47c;" u2="&#x417;" k="20" /> - <hkern u1="&#x47c;" u2="&#x416;" k="41" /> - <hkern u1="&#x47c;" u2="&#x414;" k="41" /> - <hkern u1="&#x47c;" u2="&#x410;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47c;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47c;" u2="&#x409;" k="41" /> - <hkern u1="&#x47c;" u2="&#x402;" k="20" /> - <hkern u1="&#x47c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47d;" u2="&#x201d;" k="20" /> - <hkern u1="&#x47d;" u2="&#x2019;" k="20" /> - <hkern u1="&#x47d;" u2="&#x50f;" k="20" /> - <hkern u1="&#x47d;" u2="&#x507;" k="20" /> - <hkern u1="&#x47d;" u2="&#x505;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x47d;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x47d;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x47d;" u2="&#x497;" k="41" /> - <hkern u1="&#x47d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x47d;" u2="&#x44a;" k="20" /> - <hkern u1="&#x47d;" u2="&#x447;" k="20" /> - <hkern u1="&#x47d;" u2="&#x445;" k="41" /> - <hkern u1="&#x47d;" u2="&#x443;" k="20" /> - <hkern u1="&#x47d;" u2="&#x442;" k="20" /> - <hkern u1="&#x47d;" u2="&#x436;" k="41" /> - <hkern u1="&#x47d;" u2="&#x27;" k="20" /> - <hkern u1="&#x47d;" u2="&#x22;" k="20" /> - <hkern u1="&#x47e;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47e;" u2="&#x513;" k="20" /> - <hkern u1="&#x47e;" u2="&#x512;" k="41" /> - <hkern u1="&#x47e;" u2="&#x50e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x509;" k="20" /> - <hkern u1="&#x47e;" u2="&#x508;" k="41" /> - <hkern u1="&#x47e;" u2="&#x506;" k="41" /> - <hkern u1="&#x47e;" u2="&#x504;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4de;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x47e;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x47e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x47e;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x47e;" u2="&#x498;" k="20" /> - <hkern u1="&#x47e;" u2="&#x496;" k="41" /> - <hkern u1="&#x47e;" u2="&#x476;" k="20" /> - <hkern u1="&#x47e;" u2="&#x474;" k="20" /> - <hkern u1="&#x47e;" u2="&#x470;" k="41" /> - <hkern u1="&#x47e;" u2="&#x46e;" k="20" /> - <hkern u1="&#x47e;" u2="&#x467;" k="20" /> - <hkern u1="&#x47e;" u2="&#x466;" k="41" /> - <hkern u1="&#x47e;" u2="&#x459;" k="20" /> - <hkern u1="&#x47e;" u2="&#x43b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x434;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42d;" k="20" /> - <hkern u1="&#x47e;" u2="&#x42a;" k="20" /> - <hkern u1="&#x47e;" u2="&#x427;" k="41" /> - <hkern u1="&#x47e;" u2="&#x425;" k="41" /> - <hkern u1="&#x47e;" u2="&#x423;" k="41" /> - <hkern u1="&#x47e;" u2="&#x422;" k="61" /> - <hkern u1="&#x47e;" u2="&#x41b;" k="41" /> - <hkern u1="&#x47e;" u2="&#x417;" k="20" /> - <hkern u1="&#x47e;" u2="&#x416;" k="41" /> - <hkern u1="&#x47e;" u2="&#x414;" k="41" /> - <hkern u1="&#x47e;" u2="&#x410;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40e;" k="41" /> - <hkern u1="&#x47e;" u2="&#x40b;" k="20" /> - <hkern u1="&#x47e;" u2="&#x409;" k="41" /> - <hkern u1="&#x47e;" u2="&#x402;" k="20" /> - <hkern u1="&#x47e;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47e;" u2="&#x2c;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x201a;" k="82" /> - <hkern u1="&#x47f;" u2="&#x513;" k="41" /> - <hkern u1="&#x47f;" u2="&#x509;" k="41" /> - <hkern u1="&#x47f;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x47f;" u2="&#x467;" k="41" /> - <hkern u1="&#x47f;" u2="&#x459;" k="41" /> - <hkern u1="&#x47f;" u2="&#x43b;" k="41" /> - <hkern u1="&#x47f;" u2="&#x434;" k="41" /> - <hkern u1="&#x47f;" u2="&#x2e;" k="82" /> - <hkern u1="&#x47f;" u2="&#x2c;" k="82" /> - <hkern u1="&#x480;" u2="&#x50c;" k="41" /> - <hkern u1="&#x480;" u2="&#x507;" k="41" /> - <hkern u1="&#x480;" u2="&#x505;" k="41" /> - <hkern u1="&#x480;" u2="&#x502;" k="41" /> - <hkern u1="&#x480;" u2="&#x500;" k="41" /> - <hkern u1="&#x480;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x480;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x480;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x480;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4be;" k="41" /> - <hkern u1="&#x480;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x480;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x480;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x480;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x480;" u2="&#x480;" k="41" /> - <hkern u1="&#x480;" u2="&#x47e;" k="41" /> - <hkern u1="&#x480;" u2="&#x47c;" k="41" /> - <hkern u1="&#x480;" u2="&#x47a;" k="41" /> - <hkern u1="&#x480;" u2="&#x478;" k="41" /> - <hkern u1="&#x480;" u2="&#x472;" k="41" /> - <hkern u1="&#x480;" u2="&#x460;" k="41" /> - <hkern u1="&#x480;" u2="&#x447;" k="41" /> - <hkern u1="&#x480;" u2="&#x424;" k="41" /> - <hkern u1="&#x480;" u2="&#x421;" k="41" /> - <hkern u1="&#x480;" u2="&#x41e;" k="41" /> - <hkern u1="&#x480;" u2="&#x404;" k="41" /> - <hkern u1="&#x48a;" u2="&#x507;" k="41" /> - <hkern u1="&#x48a;" u2="&#x505;" k="41" /> - <hkern u1="&#x48a;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x48a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x48b;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48b;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48b;" u2="&#x27;" k="20" /> - <hkern u1="&#x48b;" u2="&#x22;" k="20" /> - <hkern u1="&#x48c;" u2="&#x201d;" k="82" /> - <hkern u1="&#x48c;" u2="&#x2019;" k="82" /> - <hkern u1="&#x48c;" u2="&#x50f;" k="41" /> - <hkern u1="&#x48c;" u2="&#x50e;" k="41" /> - <hkern u1="&#x48c;" u2="&#x506;" k="102" /> - <hkern u1="&#x48c;" u2="&#x504;" k="102" /> - <hkern u1="&#x48c;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x48c;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x48c;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x48c;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x48c;" u2="&#x476;" k="61" /> - <hkern u1="&#x48c;" u2="&#x474;" k="61" /> - <hkern u1="&#x48c;" u2="&#x470;" k="82" /> - <hkern u1="&#x48c;" u2="&#x44a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x442;" k="41" /> - <hkern u1="&#x48c;" u2="&#x42a;" k="41" /> - <hkern u1="&#x48c;" u2="&#x427;" k="82" /> - <hkern u1="&#x48c;" u2="&#x422;" k="82" /> - <hkern u1="&#x48c;" u2="&#x40b;" k="41" /> - <hkern u1="&#x48c;" u2="&#x402;" k="41" /> - <hkern u1="&#x48c;" u2="&#x27;" k="82" /> - <hkern u1="&#x48c;" u2="&#x22;" k="82" /> - <hkern u1="&#x48d;" u2="&#x201d;" k="123" /> - <hkern u1="&#x48d;" u2="&#x2019;" k="123" /> - <hkern u1="&#x48d;" u2="&#x50f;" k="102" /> - <hkern u1="&#x48d;" u2="&#x507;" k="102" /> - <hkern u1="&#x48d;" u2="&#x505;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4f3;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4f1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ef;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4e1;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x48d;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48d;" u2="&#x4b1;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4af;" k="61" /> - <hkern u1="&#x48d;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x48d;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x48d;" u2="&#x497;" k="41" /> - <hkern u1="&#x48d;" u2="&#x47f;" k="41" /> - <hkern u1="&#x48d;" u2="&#x477;" k="41" /> - <hkern u1="&#x48d;" u2="&#x475;" k="41" /> - <hkern u1="&#x48d;" u2="&#x461;" k="41" /> - <hkern u1="&#x48d;" u2="&#x45e;" k="61" /> - <hkern u1="&#x48d;" u2="&#x44a;" k="102" /> - <hkern u1="&#x48d;" u2="&#x447;" k="82" /> - <hkern u1="&#x48d;" u2="&#x445;" k="41" /> - <hkern u1="&#x48d;" u2="&#x443;" k="61" /> - <hkern u1="&#x48d;" u2="&#x442;" k="102" /> - <hkern u1="&#x48d;" u2="&#x436;" k="41" /> - <hkern u1="&#x48d;" u2="&#x27;" k="123" /> - <hkern u1="&#x48d;" u2="&#x22;" k="123" /> - <hkern u1="&#x48e;" u2="&#x201e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x201a;" k="266" /> - <hkern u1="&#x48e;" u2="&#x513;" k="102" /> - <hkern u1="&#x48e;" u2="&#x512;" k="123" /> - <hkern u1="&#x48e;" u2="&#x509;" k="102" /> - <hkern u1="&#x48e;" u2="&#x508;" k="123" /> - <hkern u1="&#x48e;" u2="&#x502;" k="82" /> - <hkern u1="&#x48e;" u2="&#x500;" k="82" /> - <hkern u1="&#x48e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4d4;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d2;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4d0;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x48e;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x48e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x48e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x48e;" u2="&#x496;" k="41" /> - <hkern u1="&#x48e;" u2="&#x46a;" k="20" /> - <hkern u1="&#x48e;" u2="&#x467;" k="102" /> - <hkern u1="&#x48e;" u2="&#x466;" k="102" /> - <hkern u1="&#x48e;" u2="&#x459;" k="102" /> - <hkern u1="&#x48e;" u2="&#x43b;" k="102" /> - <hkern u1="&#x48e;" u2="&#x434;" k="102" /> - <hkern u1="&#x48e;" u2="&#x425;" k="41" /> - <hkern u1="&#x48e;" u2="&#x41b;" k="123" /> - <hkern u1="&#x48e;" u2="&#x416;" k="41" /> - <hkern u1="&#x48e;" u2="&#x414;" k="123" /> - <hkern u1="&#x48e;" u2="&#x410;" k="102" /> - <hkern u1="&#x48e;" u2="&#x409;" k="123" /> - <hkern u1="&#x48e;" u2="&#x2e;" k="266" /> - <hkern u1="&#x48e;" u2="&#x2c;" k="266" /> - <hkern u1="&#x48f;" u2="&#x201d;" k="20" /> - <hkern u1="&#x48f;" u2="&#x2019;" k="20" /> - <hkern u1="&#x48f;" u2="&#x50f;" k="20" /> - <hkern u1="&#x48f;" u2="&#x507;" k="20" /> - <hkern u1="&#x48f;" u2="&#x505;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x48f;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x48f;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x48f;" u2="&#x497;" k="41" /> - <hkern u1="&#x48f;" u2="&#x45e;" k="20" /> - <hkern u1="&#x48f;" u2="&#x44a;" k="20" /> - <hkern u1="&#x48f;" u2="&#x447;" k="20" /> - <hkern u1="&#x48f;" u2="&#x445;" k="41" /> - <hkern u1="&#x48f;" u2="&#x443;" k="20" /> - <hkern u1="&#x48f;" u2="&#x442;" k="20" /> - <hkern u1="&#x48f;" u2="&#x436;" k="41" /> - <hkern u1="&#x48f;" u2="&#x27;" k="20" /> - <hkern u1="&#x48f;" u2="&#x22;" k="20" /> - <hkern u1="&#x490;" u2="&#x201e;" k="123" /> - <hkern u1="&#x490;" u2="&#x201a;" k="123" /> - <hkern u1="&#x490;" u2="&#x2015;" k="82" /> - <hkern u1="&#x490;" u2="&#x2014;" k="82" /> - <hkern u1="&#x490;" u2="&#x2013;" k="82" /> - <hkern u1="&#x490;" u2="&#x513;" k="123" /> - <hkern u1="&#x490;" u2="&#x512;" k="102" /> - <hkern u1="&#x490;" u2="&#x511;" k="143" /> - <hkern u1="&#x490;" u2="&#x50f;" k="82" /> - <hkern u1="&#x490;" u2="&#x50d;" k="143" /> - <hkern u1="&#x490;" u2="&#x50c;" k="41" /> - <hkern u1="&#x490;" u2="&#x50b;" k="102" /> - <hkern u1="&#x490;" u2="&#x509;" k="123" /> - <hkern u1="&#x490;" u2="&#x508;" k="102" /> - <hkern u1="&#x490;" u2="&#x507;" k="102" /> - <hkern u1="&#x490;" u2="&#x505;" k="102" /> - <hkern u1="&#x490;" u2="&#x503;" k="143" /> - <hkern u1="&#x490;" u2="&#x502;" k="143" /> - <hkern u1="&#x490;" u2="&#x501;" k="143" /> - <hkern u1="&#x490;" u2="&#x500;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x490;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x490;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x490;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x490;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x490;" u2="&#x4df;" k="41" /> - <hkern u1="&#x490;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x490;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x490;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x490;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x490;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x490;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x490;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x490;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x490;" u2="&#x4be;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x490;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x490;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x490;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x490;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x490;" u2="&#x4af;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x490;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x490;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x490;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x490;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x490;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x490;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x490;" u2="&#x49d;" k="102" /> - <hkern u1="&#x490;" u2="&#x49b;" k="102" /> - <hkern u1="&#x490;" u2="&#x499;" k="41" /> - <hkern u1="&#x490;" u2="&#x497;" k="41" /> - <hkern u1="&#x490;" u2="&#x495;" k="102" /> - <hkern u1="&#x490;" u2="&#x491;" k="102" /> - <hkern u1="&#x490;" u2="&#x48f;" k="102" /> - <hkern u1="&#x490;" u2="&#x48b;" k="102" /> - <hkern u1="&#x490;" u2="&#x481;" k="143" /> - <hkern u1="&#x490;" u2="&#x480;" k="41" /> - <hkern u1="&#x490;" u2="&#x47f;" k="41" /> - <hkern u1="&#x490;" u2="&#x47e;" k="41" /> - <hkern u1="&#x490;" u2="&#x47d;" k="143" /> - <hkern u1="&#x490;" u2="&#x47c;" k="41" /> - <hkern u1="&#x490;" u2="&#x47b;" k="143" /> - <hkern u1="&#x490;" u2="&#x47a;" k="41" /> - <hkern u1="&#x490;" u2="&#x479;" k="143" /> - <hkern u1="&#x490;" u2="&#x478;" k="41" /> - <hkern u1="&#x490;" u2="&#x477;" k="41" /> - <hkern u1="&#x490;" u2="&#x475;" k="41" /> - <hkern u1="&#x490;" u2="&#x473;" k="143" /> - <hkern u1="&#x490;" u2="&#x472;" k="41" /> - <hkern u1="&#x490;" u2="&#x471;" k="102" /> - <hkern u1="&#x490;" u2="&#x46d;" k="102" /> - <hkern u1="&#x490;" u2="&#x46b;" k="102" /> - <hkern u1="&#x490;" u2="&#x469;" k="102" /> - <hkern u1="&#x490;" u2="&#x467;" k="123" /> - <hkern u1="&#x490;" u2="&#x466;" k="143" /> - <hkern u1="&#x490;" u2="&#x465;" k="102" /> - <hkern u1="&#x490;" u2="&#x461;" k="41" /> - <hkern u1="&#x490;" u2="&#x460;" k="41" /> - <hkern u1="&#x490;" u2="&#x45f;" k="102" /> - <hkern u1="&#x490;" u2="&#x45e;" k="82" /> - <hkern u1="&#x490;" u2="&#x45d;" k="102" /> - <hkern u1="&#x490;" u2="&#x45c;" k="102" /> - <hkern u1="&#x490;" u2="&#x45a;" k="102" /> - <hkern u1="&#x490;" u2="&#x459;" k="123" /> - <hkern u1="&#x490;" u2="&#x455;" k="123" /> - <hkern u1="&#x490;" u2="&#x454;" k="143" /> - <hkern u1="&#x490;" u2="&#x453;" k="102" /> - <hkern u1="&#x490;" u2="&#x451;" k="143" /> - <hkern u1="&#x490;" u2="&#x450;" k="143" /> - <hkern u1="&#x490;" u2="&#x44f;" k="61" /> - <hkern u1="&#x490;" u2="&#x44e;" k="102" /> - <hkern u1="&#x490;" u2="&#x44d;" k="41" /> - <hkern u1="&#x490;" u2="&#x44c;" k="102" /> - <hkern u1="&#x490;" u2="&#x44b;" k="102" /> - <hkern u1="&#x490;" u2="&#x44a;" k="82" /> - <hkern u1="&#x490;" u2="&#x449;" k="102" /> - <hkern u1="&#x490;" u2="&#x448;" k="102" /> - <hkern u1="&#x490;" u2="&#x447;" k="102" /> - <hkern u1="&#x490;" u2="&#x446;" k="102" /> - <hkern u1="&#x490;" u2="&#x445;" k="41" /> - <hkern u1="&#x490;" u2="&#x444;" k="143" /> - <hkern u1="&#x490;" u2="&#x443;" k="82" /> - <hkern u1="&#x490;" u2="&#x442;" k="82" /> - <hkern u1="&#x490;" u2="&#x441;" k="143" /> - <hkern u1="&#x490;" u2="&#x440;" k="102" /> - <hkern u1="&#x490;" u2="&#x43f;" k="102" /> - <hkern u1="&#x490;" u2="&#x43e;" k="143" /> - <hkern u1="&#x490;" u2="&#x43d;" k="102" /> - <hkern u1="&#x490;" u2="&#x43c;" k="102" /> - <hkern u1="&#x490;" u2="&#x43b;" k="123" /> - <hkern u1="&#x490;" u2="&#x43a;" k="102" /> - <hkern u1="&#x490;" u2="&#x439;" k="102" /> - <hkern u1="&#x490;" u2="&#x438;" k="102" /> - <hkern u1="&#x490;" u2="&#x437;" k="41" /> - <hkern u1="&#x490;" u2="&#x436;" k="41" /> - <hkern u1="&#x490;" u2="&#x435;" k="143" /> - <hkern u1="&#x490;" u2="&#x434;" k="123" /> - <hkern u1="&#x490;" u2="&#x433;" k="102" /> - <hkern u1="&#x490;" u2="&#x432;" k="102" /> - <hkern u1="&#x490;" u2="&#x424;" k="82" /> - <hkern u1="&#x490;" u2="&#x422;" k="-41" /> - <hkern u1="&#x490;" u2="&#x421;" k="41" /> - <hkern u1="&#x490;" u2="&#x41e;" k="41" /> - <hkern u1="&#x490;" u2="&#x41b;" k="102" /> - <hkern u1="&#x490;" u2="&#x414;" k="102" /> - <hkern u1="&#x490;" u2="&#x410;" k="143" /> - <hkern u1="&#x490;" u2="&#x409;" k="102" /> - <hkern u1="&#x490;" u2="&#x404;" k="41" /> - <hkern u1="&#x490;" u2="&#x2e;" k="123" /> - <hkern u1="&#x490;" u2="&#x2d;" k="82" /> - <hkern u1="&#x490;" u2="&#x2c;" k="123" /> - <hkern u1="&#x491;" u2="&#x201e;" k="102" /> - <hkern u1="&#x491;" u2="&#x201a;" k="102" /> - <hkern u1="&#x491;" u2="&#x2015;" k="41" /> - <hkern u1="&#x491;" u2="&#x2014;" k="41" /> - <hkern u1="&#x491;" u2="&#x2013;" k="41" /> - <hkern u1="&#x491;" u2="&#x513;" k="61" /> - <hkern u1="&#x491;" u2="&#x511;" k="20" /> - <hkern u1="&#x491;" u2="&#x50d;" k="20" /> - <hkern u1="&#x491;" u2="&#x509;" k="61" /> - <hkern u1="&#x491;" u2="&#x503;" k="20" /> - <hkern u1="&#x491;" u2="&#x501;" k="20" /> - <hkern u1="&#x491;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x491;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x491;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x491;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x491;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x491;" u2="&#x481;" k="20" /> - <hkern u1="&#x491;" u2="&#x47d;" k="20" /> - <hkern u1="&#x491;" u2="&#x47b;" k="20" /> - <hkern u1="&#x491;" u2="&#x479;" k="20" /> - <hkern u1="&#x491;" u2="&#x473;" k="20" /> - <hkern u1="&#x491;" u2="&#x467;" k="61" /> - <hkern u1="&#x491;" u2="&#x459;" k="61" /> - <hkern u1="&#x491;" u2="&#x454;" k="20" /> - <hkern u1="&#x491;" u2="&#x451;" k="20" /> - <hkern u1="&#x491;" u2="&#x450;" k="20" /> - <hkern u1="&#x491;" u2="&#x444;" k="20" /> - <hkern u1="&#x491;" u2="&#x441;" k="20" /> - <hkern u1="&#x491;" u2="&#x43e;" k="20" /> - <hkern u1="&#x491;" u2="&#x43b;" k="61" /> - <hkern u1="&#x491;" u2="&#x435;" k="20" /> - <hkern u1="&#x491;" u2="&#x434;" k="61" /> - <hkern u1="&#x491;" u2="&#x2e;" k="102" /> - <hkern u1="&#x491;" u2="&#x2d;" k="41" /> - <hkern u1="&#x491;" u2="&#x2c;" k="102" /> - <hkern u1="&#x492;" u2="&#x201e;" k="102" /> - <hkern u1="&#x492;" u2="&#x201a;" k="102" /> - <hkern u1="&#x492;" u2="&#x2015;" k="41" /> - <hkern u1="&#x492;" u2="&#x2014;" k="41" /> - <hkern u1="&#x492;" u2="&#x2013;" k="41" /> - <hkern u1="&#x492;" u2="&#x513;" k="102" /> - <hkern u1="&#x492;" u2="&#x512;" k="82" /> - <hkern u1="&#x492;" u2="&#x511;" k="82" /> - <hkern u1="&#x492;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x492;" u2="&#x50d;" k="82" /> - <hkern u1="&#x492;" u2="&#x50c;" k="41" /> - <hkern u1="&#x492;" u2="&#x50b;" k="61" /> - <hkern u1="&#x492;" u2="&#x509;" k="102" /> - <hkern u1="&#x492;" u2="&#x508;" k="82" /> - <hkern u1="&#x492;" u2="&#x507;" k="41" /> - <hkern u1="&#x492;" u2="&#x505;" k="41" /> - <hkern u1="&#x492;" u2="&#x503;" k="82" /> - <hkern u1="&#x492;" u2="&#x502;" k="102" /> - <hkern u1="&#x492;" u2="&#x501;" k="82" /> - <hkern u1="&#x492;" u2="&#x500;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x492;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x492;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x492;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x492;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4df;" k="41" /> - <hkern u1="&#x492;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x492;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x492;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x492;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x492;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x492;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x492;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x492;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x492;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x492;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x492;" u2="&#x4be;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x492;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x492;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x492;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x492;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x492;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x492;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x492;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x492;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x492;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x492;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x492;" u2="&#x49d;" k="61" /> - <hkern u1="&#x492;" u2="&#x49b;" k="61" /> - <hkern u1="&#x492;" u2="&#x499;" k="41" /> - <hkern u1="&#x492;" u2="&#x497;" k="41" /> - <hkern u1="&#x492;" u2="&#x495;" k="61" /> - <hkern u1="&#x492;" u2="&#x491;" k="61" /> - <hkern u1="&#x492;" u2="&#x48f;" k="61" /> - <hkern u1="&#x492;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x492;" u2="&#x48b;" k="61" /> - <hkern u1="&#x492;" u2="&#x481;" k="82" /> - <hkern u1="&#x492;" u2="&#x480;" k="41" /> - <hkern u1="&#x492;" u2="&#x47e;" k="41" /> - <hkern u1="&#x492;" u2="&#x47d;" k="82" /> - <hkern u1="&#x492;" u2="&#x47c;" k="41" /> - <hkern u1="&#x492;" u2="&#x47b;" k="82" /> - <hkern u1="&#x492;" u2="&#x47a;" k="41" /> - <hkern u1="&#x492;" u2="&#x479;" k="82" /> - <hkern u1="&#x492;" u2="&#x478;" k="41" /> - <hkern u1="&#x492;" u2="&#x473;" k="82" /> - <hkern u1="&#x492;" u2="&#x472;" k="41" /> - <hkern u1="&#x492;" u2="&#x471;" k="61" /> - <hkern u1="&#x492;" u2="&#x46d;" k="61" /> - <hkern u1="&#x492;" u2="&#x46b;" k="41" /> - <hkern u1="&#x492;" u2="&#x469;" k="61" /> - <hkern u1="&#x492;" u2="&#x467;" k="102" /> - <hkern u1="&#x492;" u2="&#x466;" k="123" /> - <hkern u1="&#x492;" u2="&#x465;" k="61" /> - <hkern u1="&#x492;" u2="&#x460;" k="41" /> - <hkern u1="&#x492;" u2="&#x45f;" k="61" /> - <hkern u1="&#x492;" u2="&#x45d;" k="61" /> - <hkern u1="&#x492;" u2="&#x45c;" k="61" /> - <hkern u1="&#x492;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x45a;" k="61" /> - <hkern u1="&#x492;" u2="&#x459;" k="102" /> - <hkern u1="&#x492;" u2="&#x455;" k="61" /> - <hkern u1="&#x492;" u2="&#x454;" k="82" /> - <hkern u1="&#x492;" u2="&#x453;" k="61" /> - <hkern u1="&#x492;" u2="&#x452;" k="-41" /> - <hkern u1="&#x492;" u2="&#x451;" k="82" /> - <hkern u1="&#x492;" u2="&#x450;" k="82" /> - <hkern u1="&#x492;" u2="&#x44e;" k="61" /> - <hkern u1="&#x492;" u2="&#x44d;" k="41" /> - <hkern u1="&#x492;" u2="&#x44c;" k="61" /> - <hkern u1="&#x492;" u2="&#x44b;" k="61" /> - <hkern u1="&#x492;" u2="&#x449;" k="61" /> - <hkern u1="&#x492;" u2="&#x448;" k="61" /> - <hkern u1="&#x492;" u2="&#x447;" k="102" /> - <hkern u1="&#x492;" u2="&#x446;" k="61" /> - <hkern u1="&#x492;" u2="&#x445;" k="41" /> - <hkern u1="&#x492;" u2="&#x444;" k="82" /> - <hkern u1="&#x492;" u2="&#x441;" k="82" /> - <hkern u1="&#x492;" u2="&#x440;" k="61" /> - <hkern u1="&#x492;" u2="&#x43f;" k="61" /> - <hkern u1="&#x492;" u2="&#x43e;" k="82" /> - <hkern u1="&#x492;" u2="&#x43d;" k="61" /> - <hkern u1="&#x492;" u2="&#x43c;" k="61" /> - <hkern u1="&#x492;" u2="&#x43b;" k="102" /> - <hkern u1="&#x492;" u2="&#x43a;" k="61" /> - <hkern u1="&#x492;" u2="&#x439;" k="61" /> - <hkern u1="&#x492;" u2="&#x438;" k="61" /> - <hkern u1="&#x492;" u2="&#x437;" k="41" /> - <hkern u1="&#x492;" u2="&#x436;" k="41" /> - <hkern u1="&#x492;" u2="&#x435;" k="82" /> - <hkern u1="&#x492;" u2="&#x434;" k="102" /> - <hkern u1="&#x492;" u2="&#x433;" k="61" /> - <hkern u1="&#x492;" u2="&#x432;" k="61" /> - <hkern u1="&#x492;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x492;" u2="&#x424;" k="61" /> - <hkern u1="&#x492;" u2="&#x422;" k="-41" /> - <hkern u1="&#x492;" u2="&#x421;" k="41" /> - <hkern u1="&#x492;" u2="&#x41e;" k="41" /> - <hkern u1="&#x492;" u2="&#x41b;" k="82" /> - <hkern u1="&#x492;" u2="&#x414;" k="82" /> - <hkern u1="&#x492;" u2="&#x410;" k="123" /> - <hkern u1="&#x492;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x492;" u2="&#x409;" k="82" /> - <hkern u1="&#x492;" u2="&#x404;" k="41" /> - <hkern u1="&#x492;" u2="&#x402;" k="-41" /> - <hkern u1="&#x492;" u2="&#x2e;" k="102" /> - <hkern u1="&#x492;" u2="&#x2d;" k="41" /> - <hkern u1="&#x492;" u2="&#x2c;" k="102" /> - <hkern u1="&#x493;" u2="&#x201e;" k="61" /> - <hkern u1="&#x493;" u2="&#x201a;" k="61" /> - <hkern u1="&#x493;" u2="&#x513;" k="61" /> - <hkern u1="&#x493;" u2="&#x511;" k="41" /> - <hkern u1="&#x493;" u2="&#x50d;" k="41" /> - <hkern u1="&#x493;" u2="&#x509;" k="61" /> - <hkern u1="&#x493;" u2="&#x503;" k="41" /> - <hkern u1="&#x493;" u2="&#x501;" k="41" /> - <hkern u1="&#x493;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x493;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x493;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x493;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x493;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x493;" u2="&#x481;" k="41" /> - <hkern u1="&#x493;" u2="&#x47d;" k="41" /> - <hkern u1="&#x493;" u2="&#x47b;" k="41" /> - <hkern u1="&#x493;" u2="&#x479;" k="41" /> - <hkern u1="&#x493;" u2="&#x473;" k="41" /> - <hkern u1="&#x493;" u2="&#x467;" k="61" /> - <hkern u1="&#x493;" u2="&#x459;" k="61" /> - <hkern u1="&#x493;" u2="&#x454;" k="41" /> - <hkern u1="&#x493;" u2="&#x451;" k="41" /> - <hkern u1="&#x493;" u2="&#x450;" k="41" /> - <hkern u1="&#x493;" u2="&#x444;" k="41" /> - <hkern u1="&#x493;" u2="&#x441;" k="41" /> - <hkern u1="&#x493;" u2="&#x43e;" k="41" /> - <hkern u1="&#x493;" u2="&#x43b;" k="61" /> - <hkern u1="&#x493;" u2="&#x435;" k="41" /> - <hkern u1="&#x493;" u2="&#x434;" k="61" /> - <hkern u1="&#x493;" u2="&#x2e;" k="61" /> - <hkern u1="&#x493;" u2="&#x2c;" k="61" /> - <hkern u1="&#x494;" u2="&#x201d;" k="61" /> - <hkern u1="&#x494;" u2="&#x2019;" k="61" /> - <hkern u1="&#x494;" u2="&#x50f;" k="41" /> - <hkern u1="&#x494;" u2="&#x50e;" k="61" /> - <hkern u1="&#x494;" u2="&#x507;" k="61" /> - <hkern u1="&#x494;" u2="&#x506;" k="41" /> - <hkern u1="&#x494;" u2="&#x505;" k="61" /> - <hkern u1="&#x494;" u2="&#x504;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x494;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x494;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x494;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x494;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x494;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x494;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x494;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x494;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x494;" u2="&#x476;" k="61" /> - <hkern u1="&#x494;" u2="&#x474;" k="61" /> - <hkern u1="&#x494;" u2="&#x470;" k="82" /> - <hkern u1="&#x494;" u2="&#x44a;" k="41" /> - <hkern u1="&#x494;" u2="&#x447;" k="41" /> - <hkern u1="&#x494;" u2="&#x442;" k="41" /> - <hkern u1="&#x494;" u2="&#x42a;" k="61" /> - <hkern u1="&#x494;" u2="&#x427;" k="82" /> - <hkern u1="&#x494;" u2="&#x422;" k="61" /> - <hkern u1="&#x494;" u2="&#x40b;" k="61" /> - <hkern u1="&#x494;" u2="&#x408;" k="-102" /> - <hkern u1="&#x494;" u2="&#x402;" k="61" /> - <hkern u1="&#x494;" u2="&#x27;" k="61" /> - <hkern u1="&#x494;" u2="&#x22;" k="61" /> - <hkern u1="&#x495;" u2="&#x201d;" k="61" /> - <hkern u1="&#x495;" u2="&#x2019;" k="61" /> - <hkern u1="&#x495;" u2="&#x507;" k="41" /> - <hkern u1="&#x495;" u2="&#x505;" k="41" /> - <hkern u1="&#x495;" u2="&#x27;" k="61" /> - <hkern u1="&#x495;" u2="&#x22;" k="61" /> - <hkern u1="&#x496;" u2="&#x50f;" k="41" /> - <hkern u1="&#x496;" u2="&#x50c;" k="41" /> - <hkern u1="&#x496;" u2="&#x507;" k="41" /> - <hkern u1="&#x496;" u2="&#x505;" k="41" /> - <hkern u1="&#x496;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x496;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x496;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x496;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x496;" u2="&#x4be;" k="61" /> - <hkern u1="&#x496;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x496;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x496;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x496;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x496;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x496;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x496;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x496;" u2="&#x480;" k="41" /> - <hkern u1="&#x496;" u2="&#x47e;" k="41" /> - <hkern u1="&#x496;" u2="&#x47c;" k="41" /> - <hkern u1="&#x496;" u2="&#x47a;" k="41" /> - <hkern u1="&#x496;" u2="&#x478;" k="41" /> - <hkern u1="&#x496;" u2="&#x472;" k="41" /> - <hkern u1="&#x496;" u2="&#x471;" k="20" /> - <hkern u1="&#x496;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x496;" u2="&#x460;" k="41" /> - <hkern u1="&#x496;" u2="&#x44a;" k="41" /> - <hkern u1="&#x496;" u2="&#x447;" k="82" /> - <hkern u1="&#x496;" u2="&#x442;" k="41" /> - <hkern u1="&#x496;" u2="&#x424;" k="61" /> - <hkern u1="&#x496;" u2="&#x421;" k="41" /> - <hkern u1="&#x496;" u2="&#x41e;" k="41" /> - <hkern u1="&#x496;" u2="&#x408;" k="-225" /> - <hkern u1="&#x496;" u2="&#x404;" k="41" /> - <hkern u1="&#x497;" u2="&#x511;" k="20" /> - <hkern u1="&#x497;" u2="&#x50d;" k="20" /> - <hkern u1="&#x497;" u2="&#x507;" k="41" /> - <hkern u1="&#x497;" u2="&#x505;" k="41" /> - <hkern u1="&#x497;" u2="&#x503;" k="20" /> - <hkern u1="&#x497;" u2="&#x501;" k="20" /> - <hkern u1="&#x497;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x497;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x497;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x497;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x497;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x497;" u2="&#x481;" k="20" /> - <hkern u1="&#x497;" u2="&#x47d;" k="20" /> - <hkern u1="&#x497;" u2="&#x47b;" k="20" /> - <hkern u1="&#x497;" u2="&#x479;" k="20" /> - <hkern u1="&#x497;" u2="&#x473;" k="20" /> - <hkern u1="&#x497;" u2="&#x454;" k="20" /> - <hkern u1="&#x497;" u2="&#x451;" k="20" /> - <hkern u1="&#x497;" u2="&#x450;" k="20" /> - <hkern u1="&#x497;" u2="&#x447;" k="20" /> - <hkern u1="&#x497;" u2="&#x444;" k="20" /> - <hkern u1="&#x497;" u2="&#x441;" k="20" /> - <hkern u1="&#x497;" u2="&#x43e;" k="20" /> - <hkern u1="&#x497;" u2="&#x435;" k="20" /> - <hkern u1="&#x498;" u2="&#x201e;" k="82" /> - <hkern u1="&#x498;" u2="&#x201a;" k="82" /> - <hkern u1="&#x498;" u2="&#x506;" k="41" /> - <hkern u1="&#x498;" u2="&#x504;" k="41" /> - <hkern u1="&#x498;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x498;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x498;" u2="&#x476;" k="20" /> - <hkern u1="&#x498;" u2="&#x474;" k="20" /> - <hkern u1="&#x498;" u2="&#x2e;" k="82" /> - <hkern u1="&#x498;" u2="&#x2c;" k="82" /> - <hkern u1="&#x499;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x49a;" u2="&#x50f;" k="41" /> - <hkern u1="&#x49a;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x507;" k="41" /> - <hkern u1="&#x49a;" u2="&#x505;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4be;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x49a;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x49a;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49a;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x49a;" u2="&#x480;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49a;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x478;" k="41" /> - <hkern u1="&#x49a;" u2="&#x472;" k="41" /> - <hkern u1="&#x49a;" u2="&#x471;" k="20" /> - <hkern u1="&#x49a;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x49a;" u2="&#x460;" k="41" /> - <hkern u1="&#x49a;" u2="&#x44a;" k="41" /> - <hkern u1="&#x49a;" u2="&#x447;" k="82" /> - <hkern u1="&#x49a;" u2="&#x442;" k="41" /> - <hkern u1="&#x49a;" u2="&#x424;" k="61" /> - <hkern u1="&#x49a;" u2="&#x421;" k="41" /> - <hkern u1="&#x49a;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49a;" u2="&#x408;" k="-225" /> - <hkern u1="&#x49a;" u2="&#x404;" k="41" /> - <hkern u1="&#x49b;" u2="&#x511;" k="20" /> - <hkern u1="&#x49b;" u2="&#x50d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x507;" k="41" /> - <hkern u1="&#x49b;" u2="&#x505;" k="41" /> - <hkern u1="&#x49b;" u2="&#x503;" k="20" /> - <hkern u1="&#x49b;" u2="&#x501;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x49b;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x49b;" u2="&#x481;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47d;" k="20" /> - <hkern u1="&#x49b;" u2="&#x47b;" k="20" /> - <hkern u1="&#x49b;" u2="&#x479;" k="20" /> - <hkern u1="&#x49b;" u2="&#x473;" k="20" /> - <hkern u1="&#x49b;" u2="&#x454;" k="20" /> - <hkern u1="&#x49b;" u2="&#x451;" k="20" /> - <hkern u1="&#x49b;" u2="&#x450;" k="20" /> - <hkern u1="&#x49b;" u2="&#x447;" k="20" /> - <hkern u1="&#x49b;" u2="&#x444;" k="20" /> - <hkern u1="&#x49b;" u2="&#x441;" k="20" /> - <hkern u1="&#x49b;" u2="&#x43e;" k="20" /> - <hkern u1="&#x49b;" u2="&#x435;" k="20" /> - <hkern u1="&#x49c;" u2="&#x510;" k="20" /> - <hkern u1="&#x49c;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x507;" k="41" /> - <hkern u1="&#x49c;" u2="&#x505;" k="41" /> - <hkern u1="&#x49c;" u2="&#x502;" k="41" /> - <hkern u1="&#x49c;" u2="&#x500;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49c;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49c;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49c;" u2="&#x480;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49c;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49c;" u2="&#x478;" k="41" /> - <hkern u1="&#x49c;" u2="&#x472;" k="41" /> - <hkern u1="&#x49c;" u2="&#x470;" k="41" /> - <hkern u1="&#x49c;" u2="&#x460;" k="41" /> - <hkern u1="&#x49c;" u2="&#x447;" k="41" /> - <hkern u1="&#x49c;" u2="&#x427;" k="41" /> - <hkern u1="&#x49c;" u2="&#x424;" k="41" /> - <hkern u1="&#x49c;" u2="&#x421;" k="41" /> - <hkern u1="&#x49c;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49c;" u2="&#x404;" k="41" /> - <hkern u1="&#x49d;" u2="&#x511;" k="41" /> - <hkern u1="&#x49d;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x503;" k="41" /> - <hkern u1="&#x49d;" u2="&#x501;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49d;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49d;" u2="&#x481;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49d;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49d;" u2="&#x479;" k="41" /> - <hkern u1="&#x49d;" u2="&#x473;" k="41" /> - <hkern u1="&#x49d;" u2="&#x454;" k="41" /> - <hkern u1="&#x49d;" u2="&#x451;" k="41" /> - <hkern u1="&#x49d;" u2="&#x450;" k="41" /> - <hkern u1="&#x49d;" u2="&#x447;" k="41" /> - <hkern u1="&#x49d;" u2="&#x444;" k="41" /> - <hkern u1="&#x49d;" u2="&#x441;" k="41" /> - <hkern u1="&#x49d;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49d;" u2="&#x435;" k="41" /> - <hkern u1="&#x49e;" u2="&#x510;" k="20" /> - <hkern u1="&#x49e;" u2="&#x50c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x507;" k="41" /> - <hkern u1="&#x49e;" u2="&#x505;" k="41" /> - <hkern u1="&#x49e;" u2="&#x502;" k="41" /> - <hkern u1="&#x49e;" u2="&#x500;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4be;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x49e;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x49e;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x49e;" u2="&#x480;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47c;" k="41" /> - <hkern u1="&#x49e;" u2="&#x47a;" k="41" /> - <hkern u1="&#x49e;" u2="&#x478;" k="41" /> - <hkern u1="&#x49e;" u2="&#x472;" k="41" /> - <hkern u1="&#x49e;" u2="&#x470;" k="41" /> - <hkern u1="&#x49e;" u2="&#x460;" k="41" /> - <hkern u1="&#x49e;" u2="&#x447;" k="41" /> - <hkern u1="&#x49e;" u2="&#x427;" k="41" /> - <hkern u1="&#x49e;" u2="&#x424;" k="41" /> - <hkern u1="&#x49e;" u2="&#x421;" k="41" /> - <hkern u1="&#x49e;" u2="&#x41e;" k="41" /> - <hkern u1="&#x49e;" u2="&#x404;" k="41" /> - <hkern u1="&#x49f;" u2="&#x511;" k="41" /> - <hkern u1="&#x49f;" u2="&#x50d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x503;" k="41" /> - <hkern u1="&#x49f;" u2="&#x501;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x49f;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x49f;" u2="&#x481;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47d;" k="41" /> - <hkern u1="&#x49f;" u2="&#x47b;" k="41" /> - <hkern u1="&#x49f;" u2="&#x479;" k="41" /> - <hkern u1="&#x49f;" u2="&#x473;" k="41" /> - <hkern u1="&#x49f;" u2="&#x454;" k="41" /> - <hkern u1="&#x49f;" u2="&#x451;" k="41" /> - <hkern u1="&#x49f;" u2="&#x450;" k="41" /> - <hkern u1="&#x49f;" u2="&#x447;" k="41" /> - <hkern u1="&#x49f;" u2="&#x444;" k="41" /> - <hkern u1="&#x49f;" u2="&#x441;" k="41" /> - <hkern u1="&#x49f;" u2="&#x43e;" k="41" /> - <hkern u1="&#x49f;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4a0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x502;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x500;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4a0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x470;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x427;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x511;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x503;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x501;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x481;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x479;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x473;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x454;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x451;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x450;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x444;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x441;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4a1;" u2="&#x435;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a2;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4a2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4a3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4a4;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x513;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x512;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x511;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x509;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x508;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x503;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x502;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x501;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x500;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x499;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x495;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x491;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x481;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x480;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x479;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x478;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x473;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x472;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x471;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x469;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x467;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x466;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x465;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x460;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x459;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x455;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x454;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x453;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x451;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x450;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x449;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x448;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x447;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x446;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x444;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x441;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x440;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x439;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x438;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x437;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x435;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x434;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x433;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x432;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x424;" k="61" /> - <hkern u1="&#x4a4;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x421;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x414;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x410;" k="123" /> - <hkern u1="&#x4a4;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x409;" k="82" /> - <hkern u1="&#x4a4;" u2="&#x404;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4a4;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a4;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a4;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x513;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x511;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x509;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x503;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x501;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x481;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x479;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x473;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x467;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x459;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x454;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x451;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x450;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x444;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x441;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x435;" k="20" /> - <hkern u1="&#x4a5;" u2="&#x434;" k="61" /> - <hkern u1="&#x4a5;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4a5;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4a5;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x201d;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x2019;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x507;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x506;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x505;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x504;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4f4;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4cb;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4a6;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b8;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x4b6;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4ac;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x476;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x474;" k="143" /> - <hkern u1="&#x4a6;" u2="&#x470;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4a6;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x427;" k="123" /> - <hkern u1="&#x4a6;" u2="&#x422;" k="184" /> - <hkern u1="&#x4a6;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4a6;" u2="&#x402;" k="102" /> - <hkern u1="&#x4a6;" u2="&#x27;" k="164" /> - <hkern u1="&#x4a6;" u2="&#x22;" k="164" /> - <hkern u1="&#x4a7;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x50f;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x507;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x505;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x477;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x475;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x461;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x44a;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x447;" k="41" /> - <hkern u1="&#x4a7;" u2="&#x442;" k="102" /> - <hkern u1="&#x4a7;" u2="&#x27;" k="143" /> - <hkern u1="&#x4a7;" u2="&#x22;" k="143" /> - <hkern u1="&#x4a8;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4a8;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4a8;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4a8;" u2="&#x402;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4a9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4a9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4aa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x502;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x500;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x447;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x424;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4aa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x513;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x511;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x509;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x507;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x505;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x503;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x501;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x499;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x495;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x491;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x481;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x479;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x477;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x475;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x473;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x471;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x469;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x467;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x465;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x461;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x459;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x455;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x454;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x453;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x451;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x450;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4ac;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x449;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x448;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x447;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x446;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x444;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x443;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x442;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x441;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x440;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x439;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x438;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x437;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x435;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x434;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x433;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x432;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x424;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4ac;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ac;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ac;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ac;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ac;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4ac;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ad;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x513;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x509;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x467;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x459;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x435;" k="20" /> - <hkern u1="&#x4ad;" u2="&#x434;" k="61" /> - <hkern u1="&#x4ad;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4ad;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4ad;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x513;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x512;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x511;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x510;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x509;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x508;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x503;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x502;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x501;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x500;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4ae;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x495;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x491;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x481;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x480;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x479;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x478;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x473;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x472;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x471;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x469;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x467;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x466;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x465;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x460;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x459;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x455;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x454;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x453;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4ae;" u2="&#x451;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x450;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x449;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x448;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x447;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x446;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x444;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x441;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x440;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x439;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x438;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x435;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x434;" k="102" /> - <hkern u1="&#x4ae;" u2="&#x433;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x432;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x430;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ae;" u2="&#x421;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x414;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x410;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x409;" k="82" /> - <hkern u1="&#x4ae;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ae;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ae;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4af;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4af;" u2="&#x513;" k="20" /> - <hkern u1="&#x4af;" u2="&#x509;" k="20" /> - <hkern u1="&#x4af;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4af;" u2="&#x467;" k="20" /> - <hkern u1="&#x4af;" u2="&#x459;" k="20" /> - <hkern u1="&#x4af;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4af;" u2="&#x434;" k="20" /> - <hkern u1="&#x4af;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4af;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x513;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x512;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x511;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x510;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x50d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x509;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x508;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x503;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x502;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x501;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x500;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4eb;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4db;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4da;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d8;" k="20" /> - <hkern u1="&#x4b0;" u2="&#x4d7;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4d5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d3;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4d1;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4bf;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bd;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x4ab;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a9;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x495;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x491;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x481;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47d;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x47b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x479;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x473;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x471;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x469;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x467;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x466;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x465;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x459;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x455;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x454;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x453;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4b0;" u2="&#x451;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x450;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x44f;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x449;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x448;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x446;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x444;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x441;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x440;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43e;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x439;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x438;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x435;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x434;" k="102" /> - <hkern u1="&#x4b0;" u2="&#x433;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x432;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x430;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b0;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x414;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x410;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x409;" k="82" /> - <hkern u1="&#x4b0;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4b0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4b1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x513;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x509;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x467;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x459;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x434;" k="20" /> - <hkern u1="&#x4b1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4b1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x480;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x478;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x472;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x471;" k="20" /> - <hkern u1="&#x4b2;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4b2;" u2="&#x460;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x447;" k="82" /> - <hkern u1="&#x4b2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4b2;" u2="&#x421;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4b2;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b2;" u2="&#x404;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x511;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b3;" u2="&#x503;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x501;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x481;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x479;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x473;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x454;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x451;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x450;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x447;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x444;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x441;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4b3;" u2="&#x435;" k="20" /> - <hkern u1="&#x4b4;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b4;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b4;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4b6;" u2="&#x507;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x505;" k="41" /> - <hkern u1="&#x4b6;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4b6;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4b7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4b7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x50e;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x506;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x504;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b4;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4b0;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ae;" k="102" /> - <hkern u1="&#x4ba;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4ac;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x4a0;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x476;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x474;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x470;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ba;" u2="&#x442;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x42a;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x427;" k="82" /> - <hkern u1="&#x4ba;" u2="&#x422;" k="123" /> - <hkern u1="&#x4ba;" u2="&#x40b;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x402;" k="41" /> - <hkern u1="&#x4ba;" u2="&#x27;" k="61" /> - <hkern u1="&#x4ba;" u2="&#x22;" k="61" /> - <hkern u1="&#x4bb;" u2="&#x201d;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x2019;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x507;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x505;" k="82" /> - <hkern u1="&#x4bb;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4b1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4af;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x45e;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x443;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x442;" k="41" /> - <hkern u1="&#x4bb;" u2="&#x27;" k="102" /> - <hkern u1="&#x4bb;" u2="&#x22;" k="102" /> - <hkern u1="&#x4bc;" u2="&#x506;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x504;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4bc;" u2="&#x476;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x474;" k="20" /> - <hkern u1="&#x4bc;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bd;" u2="&#x22;" k="20" /> - <hkern u1="&#x4be;" u2="&#x506;" k="20" /> - <hkern u1="&#x4be;" u2="&#x504;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4be;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4be;" u2="&#x476;" k="20" /> - <hkern u1="&#x4be;" u2="&#x474;" k="20" /> - <hkern u1="&#x4be;" u2="&#x422;" k="41" /> - <hkern u1="&#x4bf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x27;" k="20" /> - <hkern u1="&#x4bf;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x510;" k="20" /> - <hkern u1="&#x4c1;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x502;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x500;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4c1;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x480;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x478;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x472;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x470;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x460;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x427;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x421;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4c1;" u2="&#x404;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4c2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x201d;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x2019;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x50f;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x507;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x506;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x505;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x504;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4f4;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4cb;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b8;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4b6;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4b1;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4af;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x47f;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x477;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x476;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x475;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x474;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x470;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x461;" k="20" /> - <hkern u1="&#x4c3;" u2="&#x44a;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x442;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x427;" k="82" /> - <hkern u1="&#x4c3;" u2="&#x424;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x422;" k="41" /> - <hkern u1="&#x4c3;" u2="&#x408;" k="-102" /> - <hkern u1="&#x4c3;" u2="&#x27;" k="61" /> - <hkern u1="&#x4c3;" u2="&#x22;" k="61" /> - <hkern u1="&#x4c4;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4c4;" u2="&#x447;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c5;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c5;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4c6;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x27;" k="20" /> - <hkern u1="&#x4c6;" u2="&#x22;" k="20" /> - <hkern u1="&#x4c9;" u2="&#x507;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x505;" k="41" /> - <hkern u1="&#x4c9;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4c9;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ca;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ca;" u2="&#x22;" k="20" /> - <hkern u1="&#x4cd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4cd;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x4cd;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4ce;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ce;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d0;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d0;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d0;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d0;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d0;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d1;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x50e;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x507;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x506;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x505;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x504;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4fa;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4f4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4da;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4d8;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4cb;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b8;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b6;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4b4;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x4d2;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x4a0;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x49e;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x492;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x48c;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x476;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x474;" k="82" /> - <hkern u1="&#x4d2;" u2="&#x470;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x462;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x442;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x42a;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x427;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x424;" k="41" /> - <hkern u1="&#x4d2;" u2="&#x422;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x40b;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x402;" k="102" /> - <hkern u1="&#x4d2;" u2="&#x27;" k="143" /> - <hkern u1="&#x4d2;" u2="&#x22;" k="143" /> - <hkern u1="&#x4d3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d3;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d5;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4d8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4d8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4d8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4d8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4d9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4d9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4d9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4da;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4da;" u2="&#x513;" k="20" /> - <hkern u1="&#x4da;" u2="&#x512;" k="41" /> - <hkern u1="&#x4da;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x509;" k="20" /> - <hkern u1="&#x4da;" u2="&#x508;" k="41" /> - <hkern u1="&#x4da;" u2="&#x506;" k="41" /> - <hkern u1="&#x4da;" u2="&#x504;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4da;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4da;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4da;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4da;" u2="&#x498;" k="20" /> - <hkern u1="&#x4da;" u2="&#x496;" k="41" /> - <hkern u1="&#x4da;" u2="&#x476;" k="20" /> - <hkern u1="&#x4da;" u2="&#x474;" k="20" /> - <hkern u1="&#x4da;" u2="&#x470;" k="41" /> - <hkern u1="&#x4da;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4da;" u2="&#x467;" k="20" /> - <hkern u1="&#x4da;" u2="&#x466;" k="41" /> - <hkern u1="&#x4da;" u2="&#x459;" k="20" /> - <hkern u1="&#x4da;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x434;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4da;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4da;" u2="&#x427;" k="41" /> - <hkern u1="&#x4da;" u2="&#x425;" k="41" /> - <hkern u1="&#x4da;" u2="&#x423;" k="41" /> - <hkern u1="&#x4da;" u2="&#x422;" k="61" /> - <hkern u1="&#x4da;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4da;" u2="&#x417;" k="20" /> - <hkern u1="&#x4da;" u2="&#x416;" k="41" /> - <hkern u1="&#x4da;" u2="&#x414;" k="41" /> - <hkern u1="&#x4da;" u2="&#x410;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4da;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4da;" u2="&#x409;" k="41" /> - <hkern u1="&#x4da;" u2="&#x402;" k="20" /> - <hkern u1="&#x4da;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4da;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4db;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4db;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4db;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4db;" u2="&#x507;" k="20" /> - <hkern u1="&#x4db;" u2="&#x505;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4db;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4db;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4db;" u2="&#x497;" k="41" /> - <hkern u1="&#x4db;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4db;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4db;" u2="&#x447;" k="20" /> - <hkern u1="&#x4db;" u2="&#x445;" k="41" /> - <hkern u1="&#x4db;" u2="&#x443;" k="20" /> - <hkern u1="&#x4db;" u2="&#x442;" k="20" /> - <hkern u1="&#x4db;" u2="&#x436;" k="41" /> - <hkern u1="&#x4db;" u2="&#x27;" k="20" /> - <hkern u1="&#x4db;" u2="&#x22;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x510;" k="20" /> - <hkern u1="&#x4dc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x502;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x500;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4dc;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x470;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x427;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x424;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4dc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x511;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x503;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x501;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x481;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x479;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x473;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x454;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x451;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x450;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x447;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x444;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x441;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4dd;" u2="&#x435;" k="41" /> - <hkern u1="&#x4de;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4de;" u2="&#x506;" k="41" /> - <hkern u1="&#x4de;" u2="&#x504;" k="41" /> - <hkern u1="&#x4de;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4de;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4de;" u2="&#x476;" k="20" /> - <hkern u1="&#x4de;" u2="&#x474;" k="20" /> - <hkern u1="&#x4de;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4de;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4df;" u2="&#x44f;" k="-41" /> - <hkern u1="&#x4e0;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x507;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x505;" k="41" /> - <hkern u1="&#x4e0;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e0;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e6;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e6;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e7;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e7;" u2="&#x22;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x513;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x512;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x509;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x508;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x506;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x504;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x498;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x496;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x476;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x474;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x470;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x467;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x466;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x459;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x434;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x427;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x425;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x423;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x422;" k="61" /> - <hkern u1="&#x4e8;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x417;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x416;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x414;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x410;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x409;" k="41" /> - <hkern u1="&#x4e8;" u2="&#x402;" k="20" /> - <hkern u1="&#x4e8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4e8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4e9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x507;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x505;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x497;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x447;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x445;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x443;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x442;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x436;" k="41" /> - <hkern u1="&#x4e9;" u2="&#x27;" k="20" /> - <hkern u1="&#x4e9;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ea;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ea;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ea;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ea;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4eb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x507;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x505;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x497;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x447;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x445;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x443;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x442;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x436;" k="41" /> - <hkern u1="&#x4eb;" u2="&#x27;" k="20" /> - <hkern u1="&#x4eb;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x513;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x512;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x50e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x509;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x508;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x506;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x504;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4f0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ee;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4ec;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4de;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c6;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4c5;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b4;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x4a0;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x498;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x496;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x476;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x474;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x470;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x46e;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x467;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x466;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x459;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x43b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x434;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42d;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x42a;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x427;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x425;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x423;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x422;" k="61" /> - <hkern u1="&#x4ec;" u2="&#x41b;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x417;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x416;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x414;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x410;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40e;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x40b;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x409;" k="41" /> - <hkern u1="&#x4ec;" u2="&#x402;" k="20" /> - <hkern u1="&#x4ec;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ec;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4ed;" u2="&#x201d;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x2019;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x50f;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x507;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x505;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b5;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x4ad;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x4a1;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x497;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x45e;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x44a;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x445;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x443;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x442;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x436;" k="41" /> - <hkern u1="&#x4ed;" u2="&#x27;" k="20" /> - <hkern u1="&#x4ed;" u2="&#x22;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x513;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x512;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x511;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x509;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x508;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x503;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x502;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x501;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x500;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x481;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x480;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x479;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x478;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x473;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x472;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x467;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x466;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x460;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x459;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x455;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x454;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4ee;" u2="&#x451;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x450;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x447;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x444;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x441;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x435;" k="41" /> - <hkern u1="&#x4ee;" u2="&#x434;" k="82" /> - <hkern u1="&#x4ee;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x424;" k="61" /> - <hkern u1="&#x4ee;" u2="&#x421;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x414;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x410;" k="143" /> - <hkern u1="&#x4ee;" u2="&#x409;" k="102" /> - <hkern u1="&#x4ee;" u2="&#x404;" k="20" /> - <hkern u1="&#x4ee;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4ee;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4ef;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x513;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x509;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x467;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x459;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x434;" k="41" /> - <hkern u1="&#x4ef;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4ef;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f0;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f0;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f0;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f0;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f0;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f0;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f0;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f0;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f1;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f1;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f1;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x513;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x511;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x50c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x509;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x503;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x501;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ea;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4e6;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4c6;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4aa;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x4a8;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x49f;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x48d;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x481;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x480;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47c;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x47a;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x479;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x478;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x473;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x472;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x467;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x460;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x45b;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x459;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x455;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x454;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x452;" k="-102" /> - <hkern u1="&#x4f2;" u2="&#x451;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x450;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x447;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x444;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x441;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x43b;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x435;" k="41" /> - <hkern u1="&#x4f2;" u2="&#x434;" k="82" /> - <hkern u1="&#x4f2;" u2="&#x42f;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x424;" k="61" /> - <hkern u1="&#x4f2;" u2="&#x421;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41e;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f2;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f2;" u2="&#x404;" k="20" /> - <hkern u1="&#x4f2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x513;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x509;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x4c6;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x467;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x459;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x43b;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x434;" k="41" /> - <hkern u1="&#x4f3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x4f3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2015;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2014;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2013;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x513;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x512;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x511;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50f;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x50d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x50b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x509;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x508;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x507;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x505;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x503;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x502;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x501;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x500;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4f9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4f3;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4f1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ef;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4eb;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4e5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4e1;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4d7;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4ce;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4ca;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c8;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c6;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x4c5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c4;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4bf;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bd;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4bb;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4b5;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4b1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4af;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ad;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x4ab;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a9;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x4a7;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a5;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a3;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x4a1;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x49d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x49b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x499;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x497;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x495;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x491;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x48b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x481;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x480;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47f;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47d;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x47b;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x479;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x478;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x477;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x475;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x473;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x472;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x471;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x46b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x469;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x467;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x466;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x465;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x461;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x460;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x45f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45e;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x45d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x45a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x459;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x455;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x454;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x453;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x451;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x450;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x44f;" k="61" /> - <hkern u1="&#x4f6;" u2="&#x44e;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x44c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x44a;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x449;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x448;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x447;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x446;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x445;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x444;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x443;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x442;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x441;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x440;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43f;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43e;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x43d;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43c;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x43b;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x43a;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x439;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x438;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x437;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x436;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x435;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x434;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x433;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x432;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x424;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4f6;" u2="&#x421;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x41b;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x414;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x410;" k="143" /> - <hkern u1="&#x4f6;" u2="&#x409;" k="102" /> - <hkern u1="&#x4f6;" u2="&#x404;" k="41" /> - <hkern u1="&#x4f6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x4f6;" u2="&#x2d;" k="82" /> - <hkern u1="&#x4f6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x4f7;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x513;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x511;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x509;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x503;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x501;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x481;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x479;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x473;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x467;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x459;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x454;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x451;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x450;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x444;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x441;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x435;" k="20" /> - <hkern u1="&#x4f7;" u2="&#x434;" k="61" /> - <hkern u1="&#x4f7;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4f7;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4f7;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x201a;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2015;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2014;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2013;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x513;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x512;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x511;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50e;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x50d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x50b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x509;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x508;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x503;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x502;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x501;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x500;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4f9;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4f5;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ed;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4eb;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4e5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4e3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4df;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4d7;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4d4;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d2;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4d0;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x4ce;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4cc;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4ca;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c8;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c6;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4c5;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4c4;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bf;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4be;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bd;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4bc;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4bb;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4b9;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b7;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x4b4;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4ac;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x4ab;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a9;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x4a7;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a5;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a3;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x4a0;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49f;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x49d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x49b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x499;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x497;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x495;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x491;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x48d;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x48b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x481;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47d;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x47b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x479;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x473;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x471;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x46b;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x469;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x467;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x466;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x465;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x45f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x45b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x45a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x459;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x455;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x454;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x453;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x452;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x451;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x450;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x44e;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x44c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x44b;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x449;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x448;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x447;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x446;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x445;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x444;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x441;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x440;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43f;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43e;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x43d;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43c;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x43b;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x43a;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x439;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x438;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x437;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x436;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x435;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x434;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x433;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x432;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x42a;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fa;" u2="&#x422;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x41b;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x414;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x410;" k="123" /> - <hkern u1="&#x4fa;" u2="&#x40b;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x409;" k="82" /> - <hkern u1="&#x4fa;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x402;" k="-41" /> - <hkern u1="&#x4fa;" u2="&#x2e;" k="102" /> - <hkern u1="&#x4fa;" u2="&#x2d;" k="41" /> - <hkern u1="&#x4fa;" u2="&#x2c;" k="102" /> - <hkern u1="&#x4fb;" u2="&#x201e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x201a;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x513;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x511;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x50d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x509;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x503;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x501;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4eb;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4e7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4d7;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4c6;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x4ab;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x4a9;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x481;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47d;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x47b;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x479;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x473;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x467;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x459;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x454;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x451;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x450;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x444;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x441;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43e;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x43b;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x435;" k="41" /> - <hkern u1="&#x4fb;" u2="&#x434;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2e;" k="61" /> - <hkern u1="&#x4fb;" u2="&#x2c;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x50f;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4f5;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4cc;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4bf;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4be;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4bd;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4bc;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x4b9;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b7;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x471;" k="20" /> - <hkern u1="&#x4fc;" u2="&#x46f;" k="-61" /> - <hkern u1="&#x4fc;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x44a;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x447;" k="82" /> - <hkern u1="&#x4fc;" u2="&#x442;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x424;" k="61" /> - <hkern u1="&#x4fc;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fc;" u2="&#x408;" k="-225" /> - <hkern u1="&#x4fc;" u2="&#x404;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x511;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fd;" u2="&#x503;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x501;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x481;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x479;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x473;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x454;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x451;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x450;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x447;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x444;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x441;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4fd;" u2="&#x435;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x510;" k="20" /> - <hkern u1="&#x4fe;" u2="&#x50c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x507;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x505;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x502;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x500;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4ea;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4e6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4be;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4bc;" k="102" /> - <hkern u1="&#x4fe;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4aa;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x4a8;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x480;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47c;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x47a;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x478;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x472;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x470;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x460;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x447;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x427;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x424;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x421;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x41e;" k="41" /> - <hkern u1="&#x4fe;" u2="&#x404;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x511;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x50d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x507;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x505;" k="41" /> - <hkern u1="&#x4ff;" u2="&#x503;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x501;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4f5;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4eb;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4e7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4d7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4cc;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4b7;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4ab;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x4a9;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x481;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47d;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x47b;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x479;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x473;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x454;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x451;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x450;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x447;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x444;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x441;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x43e;" k="20" /> - <hkern u1="&#x4ff;" u2="&#x435;" k="20" /> - <hkern u1="&#x502;" u2="&#x201d;" k="102" /> - <hkern u1="&#x502;" u2="&#x2019;" k="102" /> - <hkern u1="&#x502;" u2="&#x50f;" k="61" /> - <hkern u1="&#x502;" u2="&#x50e;" k="82" /> - <hkern u1="&#x502;" u2="&#x507;" k="41" /> - <hkern u1="&#x502;" u2="&#x506;" k="41" /> - <hkern u1="&#x502;" u2="&#x505;" k="41" /> - <hkern u1="&#x502;" u2="&#x504;" k="41" /> - <hkern u1="&#x502;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x502;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x502;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x502;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x502;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x502;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x502;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x502;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x502;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x502;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x502;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x502;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x502;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x502;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x502;" u2="&#x497;" k="41" /> - <hkern u1="&#x502;" u2="&#x496;" k="61" /> - <hkern u1="&#x502;" u2="&#x476;" k="61" /> - <hkern u1="&#x502;" u2="&#x474;" k="61" /> - <hkern u1="&#x502;" u2="&#x470;" k="61" /> - <hkern u1="&#x502;" u2="&#x46a;" k="41" /> - <hkern u1="&#x502;" u2="&#x466;" k="61" /> - <hkern u1="&#x502;" u2="&#x44a;" k="61" /> - <hkern u1="&#x502;" u2="&#x447;" k="41" /> - <hkern u1="&#x502;" u2="&#x445;" k="41" /> - <hkern u1="&#x502;" u2="&#x442;" k="61" /> - <hkern u1="&#x502;" u2="&#x436;" k="41" /> - <hkern u1="&#x502;" u2="&#x42a;" k="82" /> - <hkern u1="&#x502;" u2="&#x427;" k="61" /> - <hkern u1="&#x502;" u2="&#x425;" k="61" /> - <hkern u1="&#x502;" u2="&#x423;" k="61" /> - <hkern u1="&#x502;" u2="&#x422;" k="143" /> - <hkern u1="&#x502;" u2="&#x416;" k="61" /> - <hkern u1="&#x502;" u2="&#x410;" k="61" /> - <hkern u1="&#x502;" u2="&#x40e;" k="61" /> - <hkern u1="&#x502;" u2="&#x40b;" k="82" /> - <hkern u1="&#x502;" u2="&#x402;" k="82" /> - <hkern u1="&#x502;" u2="&#x27;" k="102" /> - <hkern u1="&#x502;" u2="&#x22;" k="102" /> - <hkern u1="&#x503;" u2="&#x201d;" k="102" /> - <hkern u1="&#x503;" u2="&#x2019;" k="102" /> - <hkern u1="&#x503;" u2="&#x50f;" k="61" /> - <hkern u1="&#x503;" u2="&#x507;" k="102" /> - <hkern u1="&#x503;" u2="&#x505;" k="102" /> - <hkern u1="&#x503;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x503;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x503;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x503;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x503;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x503;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x503;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x503;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x503;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x503;" u2="&#x497;" k="41" /> - <hkern u1="&#x503;" u2="&#x45e;" k="41" /> - <hkern u1="&#x503;" u2="&#x44a;" k="61" /> - <hkern u1="&#x503;" u2="&#x447;" k="41" /> - <hkern u1="&#x503;" u2="&#x445;" k="41" /> - <hkern u1="&#x503;" u2="&#x443;" k="41" /> - <hkern u1="&#x503;" u2="&#x442;" k="61" /> - <hkern u1="&#x503;" u2="&#x436;" k="41" /> - <hkern u1="&#x503;" u2="&#x27;" k="102" /> - <hkern u1="&#x503;" u2="&#x22;" k="102" /> - <hkern u1="&#x504;" u2="&#x201d;" k="102" /> - <hkern u1="&#x504;" u2="&#x2019;" k="102" /> - <hkern u1="&#x504;" u2="&#x50f;" k="61" /> - <hkern u1="&#x504;" u2="&#x50e;" k="82" /> - <hkern u1="&#x504;" u2="&#x507;" k="41" /> - <hkern u1="&#x504;" u2="&#x506;" k="41" /> - <hkern u1="&#x504;" u2="&#x505;" k="41" /> - <hkern u1="&#x504;" u2="&#x504;" k="41" /> - <hkern u1="&#x504;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x504;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x504;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x504;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x504;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x504;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x504;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x504;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x504;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x504;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x504;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x504;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x504;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x504;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x504;" u2="&#x497;" k="41" /> - <hkern u1="&#x504;" u2="&#x496;" k="61" /> - <hkern u1="&#x504;" u2="&#x476;" k="61" /> - <hkern u1="&#x504;" u2="&#x474;" k="61" /> - <hkern u1="&#x504;" u2="&#x470;" k="61" /> - <hkern u1="&#x504;" u2="&#x46a;" k="41" /> - <hkern u1="&#x504;" u2="&#x466;" k="61" /> - <hkern u1="&#x504;" u2="&#x44a;" k="61" /> - <hkern u1="&#x504;" u2="&#x447;" k="41" /> - <hkern u1="&#x504;" u2="&#x445;" k="41" /> - <hkern u1="&#x504;" u2="&#x442;" k="61" /> - <hkern u1="&#x504;" u2="&#x436;" k="41" /> - <hkern u1="&#x504;" u2="&#x42a;" k="82" /> - <hkern u1="&#x504;" u2="&#x427;" k="61" /> - <hkern u1="&#x504;" u2="&#x425;" k="61" /> - <hkern u1="&#x504;" u2="&#x423;" k="61" /> - <hkern u1="&#x504;" u2="&#x422;" k="143" /> - <hkern u1="&#x504;" u2="&#x416;" k="61" /> - <hkern u1="&#x504;" u2="&#x410;" k="61" /> - <hkern u1="&#x504;" u2="&#x40e;" k="61" /> - <hkern u1="&#x504;" u2="&#x40b;" k="82" /> - <hkern u1="&#x504;" u2="&#x402;" k="82" /> - <hkern u1="&#x504;" u2="&#x27;" k="102" /> - <hkern u1="&#x504;" u2="&#x22;" k="102" /> - <hkern u1="&#x505;" u2="&#x201d;" k="102" /> - <hkern u1="&#x505;" u2="&#x2019;" k="102" /> - <hkern u1="&#x505;" u2="&#x50f;" k="61" /> - <hkern u1="&#x505;" u2="&#x507;" k="102" /> - <hkern u1="&#x505;" u2="&#x505;" k="102" /> - <hkern u1="&#x505;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x505;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x505;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x505;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x505;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x505;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x505;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x505;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x505;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x505;" u2="&#x497;" k="41" /> - <hkern u1="&#x505;" u2="&#x45e;" k="41" /> - <hkern u1="&#x505;" u2="&#x44a;" k="61" /> - <hkern u1="&#x505;" u2="&#x447;" k="41" /> - <hkern u1="&#x505;" u2="&#x445;" k="41" /> - <hkern u1="&#x505;" u2="&#x443;" k="41" /> - <hkern u1="&#x505;" u2="&#x442;" k="61" /> - <hkern u1="&#x505;" u2="&#x436;" k="41" /> - <hkern u1="&#x505;" u2="&#x27;" k="102" /> - <hkern u1="&#x505;" u2="&#x22;" k="102" /> - <hkern u1="&#x506;" u2="&#x507;" k="41" /> - <hkern u1="&#x506;" u2="&#x505;" k="41" /> - <hkern u1="&#x506;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x506;" u2="&#x408;" k="-225" /> - <hkern u1="&#x507;" u2="&#x201d;" k="20" /> - <hkern u1="&#x507;" u2="&#x2019;" k="20" /> - <hkern u1="&#x507;" u2="&#x27;" k="20" /> - <hkern u1="&#x507;" u2="&#x22;" k="20" /> - <hkern u1="&#x508;" u2="&#x201d;" k="102" /> - <hkern u1="&#x508;" u2="&#x2019;" k="102" /> - <hkern u1="&#x508;" u2="&#x50f;" k="61" /> - <hkern u1="&#x508;" u2="&#x50e;" k="82" /> - <hkern u1="&#x508;" u2="&#x507;" k="41" /> - <hkern u1="&#x508;" u2="&#x506;" k="41" /> - <hkern u1="&#x508;" u2="&#x505;" k="41" /> - <hkern u1="&#x508;" u2="&#x504;" k="41" /> - <hkern u1="&#x508;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x508;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x508;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x508;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x508;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x508;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x508;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x508;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x508;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x508;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x508;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x508;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x508;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x508;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x508;" u2="&#x497;" k="41" /> - <hkern u1="&#x508;" u2="&#x496;" k="61" /> - <hkern u1="&#x508;" u2="&#x476;" k="61" /> - <hkern u1="&#x508;" u2="&#x474;" k="61" /> - <hkern u1="&#x508;" u2="&#x470;" k="61" /> - <hkern u1="&#x508;" u2="&#x46a;" k="41" /> - <hkern u1="&#x508;" u2="&#x466;" k="61" /> - <hkern u1="&#x508;" u2="&#x44a;" k="61" /> - <hkern u1="&#x508;" u2="&#x447;" k="41" /> - <hkern u1="&#x508;" u2="&#x445;" k="41" /> - <hkern u1="&#x508;" u2="&#x442;" k="61" /> - <hkern u1="&#x508;" u2="&#x436;" k="41" /> - <hkern u1="&#x508;" u2="&#x42a;" k="82" /> - <hkern u1="&#x508;" u2="&#x427;" k="61" /> - <hkern u1="&#x508;" u2="&#x425;" k="61" /> - <hkern u1="&#x508;" u2="&#x423;" k="61" /> - <hkern u1="&#x508;" u2="&#x422;" k="143" /> - <hkern u1="&#x508;" u2="&#x416;" k="61" /> - <hkern u1="&#x508;" u2="&#x410;" k="61" /> - <hkern u1="&#x508;" u2="&#x40e;" k="61" /> - <hkern u1="&#x508;" u2="&#x40b;" k="82" /> - <hkern u1="&#x508;" u2="&#x402;" k="82" /> - <hkern u1="&#x508;" u2="&#x27;" k="102" /> - <hkern u1="&#x508;" u2="&#x22;" k="102" /> - <hkern u1="&#x509;" u2="&#x201d;" k="102" /> - <hkern u1="&#x509;" u2="&#x2019;" k="102" /> - <hkern u1="&#x509;" u2="&#x50f;" k="61" /> - <hkern u1="&#x509;" u2="&#x507;" k="102" /> - <hkern u1="&#x509;" u2="&#x505;" k="102" /> - <hkern u1="&#x509;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x509;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x509;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x509;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x509;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x509;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x509;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x509;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x509;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x509;" u2="&#x497;" k="41" /> - <hkern u1="&#x509;" u2="&#x45e;" k="41" /> - <hkern u1="&#x509;" u2="&#x44a;" k="61" /> - <hkern u1="&#x509;" u2="&#x447;" k="41" /> - <hkern u1="&#x509;" u2="&#x445;" k="41" /> - <hkern u1="&#x509;" u2="&#x443;" k="41" /> - <hkern u1="&#x509;" u2="&#x442;" k="61" /> - <hkern u1="&#x509;" u2="&#x436;" k="41" /> - <hkern u1="&#x509;" u2="&#x27;" k="102" /> - <hkern u1="&#x509;" u2="&#x22;" k="102" /> - <hkern u1="&#x50a;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50a;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50a;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50a;" u2="&#x50e;" k="82" /> - <hkern u1="&#x50a;" u2="&#x507;" k="41" /> - <hkern u1="&#x50a;" u2="&#x506;" k="41" /> - <hkern u1="&#x50a;" u2="&#x505;" k="41" /> - <hkern u1="&#x50a;" u2="&#x504;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fe;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4fc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4f4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4f0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ee;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4dc;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d4;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4d0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4cb;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4c1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b8;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b6;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x50a;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50a;" u2="&#x4b2;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4b0;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ae;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x50a;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50a;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x50a;" u2="&#x497;" k="41" /> - <hkern u1="&#x50a;" u2="&#x496;" k="61" /> - <hkern u1="&#x50a;" u2="&#x476;" k="61" /> - <hkern u1="&#x50a;" u2="&#x474;" k="61" /> - <hkern u1="&#x50a;" u2="&#x470;" k="61" /> - <hkern u1="&#x50a;" u2="&#x46a;" k="41" /> - <hkern u1="&#x50a;" u2="&#x466;" k="61" /> - <hkern u1="&#x50a;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50a;" u2="&#x447;" k="41" /> - <hkern u1="&#x50a;" u2="&#x445;" k="41" /> - <hkern u1="&#x50a;" u2="&#x442;" k="61" /> - <hkern u1="&#x50a;" u2="&#x436;" k="41" /> - <hkern u1="&#x50a;" u2="&#x42a;" k="82" /> - <hkern u1="&#x50a;" u2="&#x427;" k="61" /> - <hkern u1="&#x50a;" u2="&#x425;" k="61" /> - <hkern u1="&#x50a;" u2="&#x423;" k="61" /> - <hkern u1="&#x50a;" u2="&#x422;" k="143" /> - <hkern u1="&#x50a;" u2="&#x416;" k="61" /> - <hkern u1="&#x50a;" u2="&#x410;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40e;" k="61" /> - <hkern u1="&#x50a;" u2="&#x40b;" k="82" /> - <hkern u1="&#x50a;" u2="&#x402;" k="82" /> - <hkern u1="&#x50a;" u2="&#x27;" k="102" /> - <hkern u1="&#x50a;" u2="&#x22;" k="102" /> - <hkern u1="&#x50b;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50b;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50b;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50b;" u2="&#x507;" k="102" /> - <hkern u1="&#x50b;" u2="&#x505;" k="102" /> - <hkern u1="&#x50b;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50b;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50b;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50b;" u2="&#x497;" k="41" /> - <hkern u1="&#x50b;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50b;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50b;" u2="&#x447;" k="41" /> - <hkern u1="&#x50b;" u2="&#x445;" k="41" /> - <hkern u1="&#x50b;" u2="&#x443;" k="41" /> - <hkern u1="&#x50b;" u2="&#x442;" k="61" /> - <hkern u1="&#x50b;" u2="&#x436;" k="41" /> - <hkern u1="&#x50b;" u2="&#x27;" k="102" /> - <hkern u1="&#x50b;" u2="&#x22;" k="102" /> - <hkern u1="&#x50c;" u2="&#x201e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x201a;" k="82" /> - <hkern u1="&#x50c;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4d4;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d2;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4d0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50c;" u2="&#x4b0;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ae;" k="20" /> - <hkern u1="&#x50c;" u2="&#x4ac;" k="41" /> - <hkern u1="&#x50c;" u2="&#x496;" k="41" /> - <hkern u1="&#x50c;" u2="&#x476;" k="20" /> - <hkern u1="&#x50c;" u2="&#x474;" k="20" /> - <hkern u1="&#x50c;" u2="&#x466;" k="20" /> - <hkern u1="&#x50c;" u2="&#x425;" k="41" /> - <hkern u1="&#x50c;" u2="&#x422;" k="41" /> - <hkern u1="&#x50c;" u2="&#x416;" k="41" /> - <hkern u1="&#x50c;" u2="&#x410;" k="20" /> - <hkern u1="&#x50c;" u2="&#x2e;" k="82" /> - <hkern u1="&#x50c;" u2="&#x2c;" k="82" /> - <hkern u1="&#x50d;" u2="&#x201d;" k="41" /> - <hkern u1="&#x50d;" u2="&#x2019;" k="41" /> - <hkern u1="&#x50d;" u2="&#x507;" k="41" /> - <hkern u1="&#x50d;" u2="&#x505;" k="41" /> - <hkern u1="&#x50d;" u2="&#x4ff;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4fd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4f1;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4ef;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4dd;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4c2;" k="20" /> - <hkern u1="&#x50d;" u2="&#x4b3;" k="20" /> - <hkern u1="&#x50d;" u2="&#x497;" k="20" /> - <hkern u1="&#x50d;" u2="&#x45e;" k="20" /> - <hkern u1="&#x50d;" u2="&#x445;" k="20" /> - <hkern u1="&#x50d;" u2="&#x443;" k="20" /> - <hkern u1="&#x50d;" u2="&#x436;" k="20" /> - <hkern u1="&#x50d;" u2="&#x27;" k="41" /> - <hkern u1="&#x50d;" u2="&#x22;" k="41" /> - <hkern u1="&#x50e;" u2="&#x201d;" k="82" /> - <hkern u1="&#x50e;" u2="&#x2019;" k="82" /> - <hkern u1="&#x50e;" u2="&#x50f;" k="41" /> - <hkern u1="&#x50e;" u2="&#x50e;" k="61" /> - <hkern u1="&#x50e;" u2="&#x506;" k="41" /> - <hkern u1="&#x50e;" u2="&#x504;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fe;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4fc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4f4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4dc;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d4;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4d0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4cb;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4c1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b8;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b6;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b4;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4b2;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4b0;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ae;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4ac;" k="61" /> - <hkern u1="&#x50e;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x50e;" u2="&#x4a0;" k="61" /> - <hkern u1="&#x50e;" u2="&#x496;" k="41" /> - <hkern u1="&#x50e;" u2="&#x476;" k="41" /> - <hkern u1="&#x50e;" u2="&#x474;" k="41" /> - <hkern u1="&#x50e;" u2="&#x470;" k="41" /> - <hkern u1="&#x50e;" u2="&#x466;" k="41" /> - <hkern u1="&#x50e;" u2="&#x44a;" k="41" /> - <hkern u1="&#x50e;" u2="&#x442;" k="41" /> - <hkern u1="&#x50e;" u2="&#x42a;" k="61" /> - <hkern u1="&#x50e;" u2="&#x427;" k="41" /> - <hkern u1="&#x50e;" u2="&#x425;" k="41" /> - <hkern u1="&#x50e;" u2="&#x422;" k="61" /> - <hkern u1="&#x50e;" u2="&#x416;" k="41" /> - <hkern u1="&#x50e;" u2="&#x410;" k="41" /> - <hkern u1="&#x50e;" u2="&#x40b;" k="61" /> - <hkern u1="&#x50e;" u2="&#x402;" k="61" /> - <hkern u1="&#x50e;" u2="&#x27;" k="82" /> - <hkern u1="&#x50e;" u2="&#x22;" k="82" /> - <hkern u1="&#x50f;" u2="&#x201d;" k="102" /> - <hkern u1="&#x50f;" u2="&#x2019;" k="102" /> - <hkern u1="&#x50f;" u2="&#x50f;" k="61" /> - <hkern u1="&#x50f;" u2="&#x507;" k="102" /> - <hkern u1="&#x50f;" u2="&#x505;" k="102" /> - <hkern u1="&#x50f;" u2="&#x4ff;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4fd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4f1;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ef;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4dd;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4c2;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4b5;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4b3;" k="41" /> - <hkern u1="&#x50f;" u2="&#x4ad;" k="61" /> - <hkern u1="&#x50f;" u2="&#x4a1;" k="61" /> - <hkern u1="&#x50f;" u2="&#x497;" k="41" /> - <hkern u1="&#x50f;" u2="&#x45e;" k="41" /> - <hkern u1="&#x50f;" u2="&#x44a;" k="61" /> - <hkern u1="&#x50f;" u2="&#x447;" k="41" /> - <hkern u1="&#x50f;" u2="&#x445;" k="41" /> - <hkern u1="&#x50f;" u2="&#x443;" k="41" /> - <hkern u1="&#x50f;" u2="&#x442;" k="61" /> - <hkern u1="&#x50f;" u2="&#x436;" k="41" /> - <hkern u1="&#x50f;" u2="&#x27;" k="102" /> - <hkern u1="&#x50f;" u2="&#x22;" k="102" /> - <hkern u1="&#x510;" u2="&#x4f5;" k="41" /> - <hkern u1="&#x510;" u2="&#x4cc;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b9;" k="41" /> - <hkern u1="&#x510;" u2="&#x4b7;" k="41" /> - <hkern u1="&#x510;" u2="&#x447;" k="41" /> - <hkern u1="&#x512;" u2="&#x507;" k="41" /> - <hkern u1="&#x512;" u2="&#x505;" k="41" /> - <hkern u1="&#x512;" u2="&#x4e1;" k="-41" /> - <hkern u1="&#x512;" u2="&#x408;" k="-225" /> - <hkern u1="&#x513;" u2="&#x201d;" k="20" /> - <hkern u1="&#x513;" u2="&#x2019;" k="20" /> - <hkern u1="&#x513;" u2="&#x27;" k="20" /> - <hkern u1="&#x513;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e00;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x178;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x176;" k="123" /> - <hkern u1="&#x1e00;" u2="&#x174;" k="82" /> - <hkern u1="&#x1e00;" u2="&#x164;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x162;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x152;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x150;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x122;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x120;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x108;" k="41" /> - <hkern u1="&#x1e00;" u2="&#x106;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1e00;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1e00;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1e00;" u2="Y" k="123" /> - <hkern u1="&#x1e00;" u2="W" k="82" /> - <hkern u1="&#x1e00;" u2="V" k="82" /> - <hkern u1="&#x1e00;" u2="T" k="143" /> - <hkern u1="&#x1e00;" u2="Q" k="41" /> - <hkern u1="&#x1e00;" u2="O" k="41" /> - <hkern u1="&#x1e00;" u2="J" k="-266" /> - <hkern u1="&#x1e00;" u2="G" k="41" /> - <hkern u1="&#x1e00;" u2="C" k="41" /> - <hkern u1="&#x1e00;" u2="&#x27;" k="143" /> - <hkern u1="&#x1e00;" u2="&#x22;" k="143" /> - <hkern u1="&#x1e01;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x27;" k="20" /> - <hkern u1="&#x1e01;" u2="&#x22;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e80;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e80;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e80;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e80;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e80;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e80;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e80;" u2="u" k="20" /> - <hkern u1="&#x1e80;" u2="s" k="20" /> - <hkern u1="&#x1e80;" u2="r" k="20" /> - <hkern u1="&#x1e80;" u2="q" k="41" /> - <hkern u1="&#x1e80;" u2="p" k="20" /> - <hkern u1="&#x1e80;" u2="o" k="41" /> - <hkern u1="&#x1e80;" u2="n" k="20" /> - <hkern u1="&#x1e80;" u2="m" k="20" /> - <hkern u1="&#x1e80;" u2="g" k="20" /> - <hkern u1="&#x1e80;" u2="e" k="41" /> - <hkern u1="&#x1e80;" u2="d" k="41" /> - <hkern u1="&#x1e80;" u2="c" k="41" /> - <hkern u1="&#x1e80;" u2="a" k="41" /> - <hkern u1="&#x1e80;" u2="Q" k="20" /> - <hkern u1="&#x1e80;" u2="O" k="20" /> - <hkern u1="&#x1e80;" u2="G" k="20" /> - <hkern u1="&#x1e80;" u2="C" k="20" /> - <hkern u1="&#x1e80;" u2="A" k="82" /> - <hkern u1="&#x1e80;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e80;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e80;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e81;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e81;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e81;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e81;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e82;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e82;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e82;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e82;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e82;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e82;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e82;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e82;" u2="u" k="20" /> - <hkern u1="&#x1e82;" u2="s" k="20" /> - <hkern u1="&#x1e82;" u2="r" k="20" /> - <hkern u1="&#x1e82;" u2="q" k="41" /> - <hkern u1="&#x1e82;" u2="p" k="20" /> - <hkern u1="&#x1e82;" u2="o" k="41" /> - <hkern u1="&#x1e82;" u2="n" k="20" /> - <hkern u1="&#x1e82;" u2="m" k="20" /> - <hkern u1="&#x1e82;" u2="g" k="20" /> - <hkern u1="&#x1e82;" u2="e" k="41" /> - <hkern u1="&#x1e82;" u2="d" k="41" /> - <hkern u1="&#x1e82;" u2="c" k="41" /> - <hkern u1="&#x1e82;" u2="a" k="41" /> - <hkern u1="&#x1e82;" u2="Q" k="20" /> - <hkern u1="&#x1e82;" u2="O" k="20" /> - <hkern u1="&#x1e82;" u2="G" k="20" /> - <hkern u1="&#x1e82;" u2="C" k="20" /> - <hkern u1="&#x1e82;" u2="A" k="82" /> - <hkern u1="&#x1e82;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e82;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e82;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e83;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e83;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e83;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e83;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1e84;" u2="&#x201e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x201a;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x1ef1;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eef;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eed;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1eeb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ee1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ee0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ede;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1edc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1edb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eda;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ed1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ed0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ece;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ecd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ecc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ec7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ec3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ebb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eb1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eb0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eaf;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eae;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ead;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eac;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1eab;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1eaa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea8;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea6;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1ea1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1ea0;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1e3f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1e01;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1e00;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x219;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1ff;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fe;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1fd;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1fa;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x1b0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x1a1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x1a0;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x173;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x171;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x16b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x169;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x15b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x157;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x155;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x153;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x152;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x151;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x150;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x14c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x14b;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x146;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x144;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x138;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x123;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x122;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x121;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x120;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11f;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11e;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11d;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x11b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x119;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x117;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x115;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x113;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x111;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10f;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10d;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10c;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x10b;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x10a;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x109;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x108;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x107;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x106;" k="20" /> - <hkern u1="&#x1e84;" u2="&#x105;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x104;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x103;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x102;" k="82" /> - <hkern u1="&#x1e84;" u2="&#x101;" k="41" /> - <hkern u1="&#x1e84;" u2="&#x100;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xfc;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfb;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xfa;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf9;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xf8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xf2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xeb;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xea;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe9;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe8;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe7;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe6;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe5;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe4;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe3;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe2;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe1;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xe0;" k="41" /> - <hkern u1="&#x1e84;" u2="&#xd8;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd6;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd5;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd4;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd3;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xd2;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc7;" k="20" /> - <hkern u1="&#x1e84;" u2="&#xc5;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc4;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc3;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc2;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc1;" k="82" /> - <hkern u1="&#x1e84;" u2="&#xc0;" k="82" /> - <hkern u1="&#x1e84;" u2="u" k="20" /> - <hkern u1="&#x1e84;" u2="s" k="20" /> - <hkern u1="&#x1e84;" u2="r" k="20" /> - <hkern u1="&#x1e84;" u2="q" k="41" /> - <hkern u1="&#x1e84;" u2="p" k="20" /> - <hkern u1="&#x1e84;" u2="o" k="41" /> - <hkern u1="&#x1e84;" u2="n" k="20" /> - <hkern u1="&#x1e84;" u2="m" k="20" /> - <hkern u1="&#x1e84;" u2="g" k="20" /> - <hkern u1="&#x1e84;" u2="e" k="41" /> - <hkern u1="&#x1e84;" u2="d" k="41" /> - <hkern u1="&#x1e84;" u2="c" k="41" /> - <hkern u1="&#x1e84;" u2="a" k="41" /> - <hkern u1="&#x1e84;" u2="Q" k="20" /> - <hkern u1="&#x1e84;" u2="O" k="20" /> - <hkern u1="&#x1e84;" u2="G" k="20" /> - <hkern u1="&#x1e84;" u2="C" k="20" /> - <hkern u1="&#x1e84;" u2="A" k="82" /> - <hkern u1="&#x1e84;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e84;" u2="&#x2e;" k="102" /> - <hkern u1="&#x1e84;" u2="&#x2c;" k="102" /> - <hkern u1="&#x1e85;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1e85;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1e85;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1e85;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ea0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea0;" u2="Y" k="123" /> - <hkern u1="&#x1ea0;" u2="W" k="82" /> - <hkern u1="&#x1ea0;" u2="V" k="82" /> - <hkern u1="&#x1ea0;" u2="T" k="143" /> - <hkern u1="&#x1ea0;" u2="Q" k="41" /> - <hkern u1="&#x1ea0;" u2="O" k="41" /> - <hkern u1="&#x1ea0;" u2="J" k="-266" /> - <hkern u1="&#x1ea0;" u2="G" k="41" /> - <hkern u1="&#x1ea0;" u2="C" k="41" /> - <hkern u1="&#x1ea0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea2;" u2="Y" k="123" /> - <hkern u1="&#x1ea2;" u2="W" k="82" /> - <hkern u1="&#x1ea2;" u2="V" k="82" /> - <hkern u1="&#x1ea2;" u2="T" k="143" /> - <hkern u1="&#x1ea2;" u2="Q" k="41" /> - <hkern u1="&#x1ea2;" u2="O" k="41" /> - <hkern u1="&#x1ea2;" u2="J" k="-266" /> - <hkern u1="&#x1ea2;" u2="G" k="41" /> - <hkern u1="&#x1ea2;" u2="C" k="41" /> - <hkern u1="&#x1ea2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea4;" u2="Y" k="123" /> - <hkern u1="&#x1ea4;" u2="W" k="82" /> - <hkern u1="&#x1ea4;" u2="V" k="82" /> - <hkern u1="&#x1ea4;" u2="T" k="143" /> - <hkern u1="&#x1ea4;" u2="Q" k="41" /> - <hkern u1="&#x1ea4;" u2="O" k="41" /> - <hkern u1="&#x1ea4;" u2="J" k="-266" /> - <hkern u1="&#x1ea4;" u2="G" k="41" /> - <hkern u1="&#x1ea4;" u2="C" k="41" /> - <hkern u1="&#x1ea4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea6;" u2="Y" k="123" /> - <hkern u1="&#x1ea6;" u2="W" k="82" /> - <hkern u1="&#x1ea6;" u2="V" k="82" /> - <hkern u1="&#x1ea6;" u2="T" k="143" /> - <hkern u1="&#x1ea6;" u2="Q" k="41" /> - <hkern u1="&#x1ea6;" u2="O" k="41" /> - <hkern u1="&#x1ea6;" u2="J" k="-266" /> - <hkern u1="&#x1ea6;" u2="G" k="41" /> - <hkern u1="&#x1ea6;" u2="C" k="41" /> - <hkern u1="&#x1ea6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ea8;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x178;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x176;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#x174;" k="82" /> - <hkern u1="&#x1ea8;" u2="&#x164;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x162;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1ea8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ea8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ea8;" u2="Y" k="123" /> - <hkern u1="&#x1ea8;" u2="W" k="82" /> - <hkern u1="&#x1ea8;" u2="V" k="82" /> - <hkern u1="&#x1ea8;" u2="T" k="143" /> - <hkern u1="&#x1ea8;" u2="Q" k="41" /> - <hkern u1="&#x1ea8;" u2="O" k="41" /> - <hkern u1="&#x1ea8;" u2="J" k="-266" /> - <hkern u1="&#x1ea8;" u2="G" k="41" /> - <hkern u1="&#x1ea8;" u2="C" k="41" /> - <hkern u1="&#x1ea8;" u2="&#x27;" k="143" /> - <hkern u1="&#x1ea8;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ea9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ea9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eaa;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eaa;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eaa;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eaa;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eaa;" u2="Y" k="123" /> - <hkern u1="&#x1eaa;" u2="W" k="82" /> - <hkern u1="&#x1eaa;" u2="V" k="82" /> - <hkern u1="&#x1eaa;" u2="T" k="143" /> - <hkern u1="&#x1eaa;" u2="Q" k="41" /> - <hkern u1="&#x1eaa;" u2="O" k="41" /> - <hkern u1="&#x1eaa;" u2="J" k="-266" /> - <hkern u1="&#x1eaa;" u2="G" k="41" /> - <hkern u1="&#x1eaa;" u2="C" k="41" /> - <hkern u1="&#x1eaa;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eaa;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eab;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eab;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eac;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eac;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eac;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eac;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eac;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eac;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eac;" u2="Y" k="123" /> - <hkern u1="&#x1eac;" u2="W" k="82" /> - <hkern u1="&#x1eac;" u2="V" k="82" /> - <hkern u1="&#x1eac;" u2="T" k="143" /> - <hkern u1="&#x1eac;" u2="Q" k="41" /> - <hkern u1="&#x1eac;" u2="O" k="41" /> - <hkern u1="&#x1eac;" u2="J" k="-266" /> - <hkern u1="&#x1eac;" u2="G" k="41" /> - <hkern u1="&#x1eac;" u2="C" k="41" /> - <hkern u1="&#x1eac;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eac;" u2="&#x22;" k="143" /> - <hkern u1="&#x1ead;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ead;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eae;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eae;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eae;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eae;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eae;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eae;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eae;" u2="Y" k="123" /> - <hkern u1="&#x1eae;" u2="W" k="82" /> - <hkern u1="&#x1eae;" u2="V" k="82" /> - <hkern u1="&#x1eae;" u2="T" k="143" /> - <hkern u1="&#x1eae;" u2="Q" k="41" /> - <hkern u1="&#x1eae;" u2="O" k="41" /> - <hkern u1="&#x1eae;" u2="J" k="-266" /> - <hkern u1="&#x1eae;" u2="G" k="41" /> - <hkern u1="&#x1eae;" u2="C" k="41" /> - <hkern u1="&#x1eae;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eae;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eaf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eaf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb0;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb0;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb0;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb0;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb0;" u2="Y" k="123" /> - <hkern u1="&#x1eb0;" u2="W" k="82" /> - <hkern u1="&#x1eb0;" u2="V" k="82" /> - <hkern u1="&#x1eb0;" u2="T" k="143" /> - <hkern u1="&#x1eb0;" u2="Q" k="41" /> - <hkern u1="&#x1eb0;" u2="O" k="41" /> - <hkern u1="&#x1eb0;" u2="J" k="-266" /> - <hkern u1="&#x1eb0;" u2="G" k="41" /> - <hkern u1="&#x1eb0;" u2="C" k="41" /> - <hkern u1="&#x1eb0;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb0;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb2;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb2;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb2;" u2="Y" k="123" /> - <hkern u1="&#x1eb2;" u2="W" k="82" /> - <hkern u1="&#x1eb2;" u2="V" k="82" /> - <hkern u1="&#x1eb2;" u2="T" k="143" /> - <hkern u1="&#x1eb2;" u2="Q" k="41" /> - <hkern u1="&#x1eb2;" u2="O" k="41" /> - <hkern u1="&#x1eb2;" u2="J" k="-266" /> - <hkern u1="&#x1eb2;" u2="G" k="41" /> - <hkern u1="&#x1eb2;" u2="C" k="41" /> - <hkern u1="&#x1eb2;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb2;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb4;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb4;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb4;" u2="Y" k="123" /> - <hkern u1="&#x1eb4;" u2="W" k="82" /> - <hkern u1="&#x1eb4;" u2="V" k="82" /> - <hkern u1="&#x1eb4;" u2="T" k="143" /> - <hkern u1="&#x1eb4;" u2="Q" k="41" /> - <hkern u1="&#x1eb4;" u2="O" k="41" /> - <hkern u1="&#x1eb4;" u2="J" k="-266" /> - <hkern u1="&#x1eb4;" u2="G" k="41" /> - <hkern u1="&#x1eb4;" u2="C" k="41" /> - <hkern u1="&#x1eb4;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb4;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb6;" u2="&#x201d;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x2019;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1e84;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e82;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x1e80;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x21a;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x178;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x176;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#x174;" k="82" /> - <hkern u1="&#x1eb6;" u2="&#x164;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x162;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xdd;" k="123" /> - <hkern u1="&#x1eb6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1eb6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1eb6;" u2="Y" k="123" /> - <hkern u1="&#x1eb6;" u2="W" k="82" /> - <hkern u1="&#x1eb6;" u2="V" k="82" /> - <hkern u1="&#x1eb6;" u2="T" k="143" /> - <hkern u1="&#x1eb6;" u2="Q" k="41" /> - <hkern u1="&#x1eb6;" u2="O" k="41" /> - <hkern u1="&#x1eb6;" u2="J" k="-266" /> - <hkern u1="&#x1eb6;" u2="G" k="41" /> - <hkern u1="&#x1eb6;" u2="C" k="41" /> - <hkern u1="&#x1eb6;" u2="&#x27;" k="143" /> - <hkern u1="&#x1eb6;" u2="&#x22;" k="143" /> - <hkern u1="&#x1eb7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eb8;" u2="J" k="-123" /> - <hkern u1="&#x1eb9;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x175;" k="41" /> - <hkern u1="&#x1eb9;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1eb9;" u2="z" k="20" /> - <hkern u1="&#x1eb9;" u2="y" k="41" /> - <hkern u1="&#x1eb9;" u2="x" k="41" /> - <hkern u1="&#x1eb9;" u2="w" k="41" /> - <hkern u1="&#x1eb9;" u2="v" k="41" /> - <hkern u1="&#x1eb9;" u2="&#x27;" k="20" /> - <hkern u1="&#x1eb9;" u2="&#x22;" k="20" /> - <hkern u1="&#x1eba;" u2="J" k="-123" /> - <hkern u1="&#x1ebb;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebb;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebb;" u2="z" k="20" /> - <hkern u1="&#x1ebb;" u2="y" k="41" /> - <hkern u1="&#x1ebb;" u2="x" k="41" /> - <hkern u1="&#x1ebb;" u2="w" k="41" /> - <hkern u1="&#x1ebb;" u2="v" k="41" /> - <hkern u1="&#x1ebb;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebb;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebc;" u2="J" k="-123" /> - <hkern u1="&#x1ebd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebd;" u2="z" k="20" /> - <hkern u1="&#x1ebd;" u2="y" k="41" /> - <hkern u1="&#x1ebd;" u2="x" k="41" /> - <hkern u1="&#x1ebd;" u2="w" k="41" /> - <hkern u1="&#x1ebd;" u2="v" k="41" /> - <hkern u1="&#x1ebd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ebe;" u2="J" k="-123" /> - <hkern u1="&#x1ebf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ebf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ebf;" u2="z" k="20" /> - <hkern u1="&#x1ebf;" u2="y" k="41" /> - <hkern u1="&#x1ebf;" u2="x" k="41" /> - <hkern u1="&#x1ebf;" u2="w" k="41" /> - <hkern u1="&#x1ebf;" u2="v" k="41" /> - <hkern u1="&#x1ebf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ebf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec0;" u2="J" k="-123" /> - <hkern u1="&#x1ec1;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec1;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec1;" u2="z" k="20" /> - <hkern u1="&#x1ec1;" u2="y" k="41" /> - <hkern u1="&#x1ec1;" u2="x" k="41" /> - <hkern u1="&#x1ec1;" u2="w" k="41" /> - <hkern u1="&#x1ec1;" u2="v" k="41" /> - <hkern u1="&#x1ec1;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec1;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec2;" u2="J" k="-123" /> - <hkern u1="&#x1ec3;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec3;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec3;" u2="z" k="20" /> - <hkern u1="&#x1ec3;" u2="y" k="41" /> - <hkern u1="&#x1ec3;" u2="x" k="41" /> - <hkern u1="&#x1ec3;" u2="w" k="41" /> - <hkern u1="&#x1ec3;" u2="v" k="41" /> - <hkern u1="&#x1ec3;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec3;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec4;" u2="J" k="-123" /> - <hkern u1="&#x1ec5;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec5;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec5;" u2="z" k="20" /> - <hkern u1="&#x1ec5;" u2="y" k="41" /> - <hkern u1="&#x1ec5;" u2="x" k="41" /> - <hkern u1="&#x1ec5;" u2="w" k="41" /> - <hkern u1="&#x1ec5;" u2="v" k="41" /> - <hkern u1="&#x1ec5;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec5;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ec6;" u2="J" k="-123" /> - <hkern u1="&#x1ec7;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ec7;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ec7;" u2="z" k="20" /> - <hkern u1="&#x1ec7;" u2="y" k="41" /> - <hkern u1="&#x1ec7;" u2="x" k="41" /> - <hkern u1="&#x1ec7;" u2="w" k="41" /> - <hkern u1="&#x1ec7;" u2="v" k="41" /> - <hkern u1="&#x1ec7;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ec7;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ecc;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ecc;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ecc;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ecc;" u2="Z" k="20" /> - <hkern u1="&#x1ecc;" u2="Y" k="20" /> - <hkern u1="&#x1ecc;" u2="X" k="41" /> - <hkern u1="&#x1ecc;" u2="W" k="20" /> - <hkern u1="&#x1ecc;" u2="V" k="20" /> - <hkern u1="&#x1ecc;" u2="T" k="61" /> - <hkern u1="&#x1ecc;" u2="A" k="41" /> - <hkern u1="&#x1ecc;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ecc;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecd;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecd;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecd;" u2="z" k="20" /> - <hkern u1="&#x1ecd;" u2="y" k="41" /> - <hkern u1="&#x1ecd;" u2="x" k="41" /> - <hkern u1="&#x1ecd;" u2="w" k="41" /> - <hkern u1="&#x1ecd;" u2="v" k="41" /> - <hkern u1="&#x1ecd;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecd;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ece;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ece;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ece;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ece;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ece;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ece;" u2="Z" k="20" /> - <hkern u1="&#x1ece;" u2="Y" k="20" /> - <hkern u1="&#x1ece;" u2="X" k="41" /> - <hkern u1="&#x1ece;" u2="W" k="20" /> - <hkern u1="&#x1ece;" u2="V" k="20" /> - <hkern u1="&#x1ece;" u2="T" k="61" /> - <hkern u1="&#x1ece;" u2="A" k="41" /> - <hkern u1="&#x1ece;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ece;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ecf;" u2="&#x201d;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x2019;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x1ef5;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e83;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x1e81;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x17e;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17c;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x17a;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x175;" k="41" /> - <hkern u1="&#x1ecf;" u2="&#xfd;" k="41" /> - <hkern u1="&#x1ecf;" u2="z" k="20" /> - <hkern u1="&#x1ecf;" u2="y" k="41" /> - <hkern u1="&#x1ecf;" u2="x" k="41" /> - <hkern u1="&#x1ecf;" u2="w" k="41" /> - <hkern u1="&#x1ecf;" u2="v" k="41" /> - <hkern u1="&#x1ecf;" u2="&#x27;" k="20" /> - <hkern u1="&#x1ecf;" u2="&#x22;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed0;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed0;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed0;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed0;" u2="Z" k="20" /> - <hkern u1="&#x1ed0;" u2="Y" k="20" /> - <hkern u1="&#x1ed0;" u2="X" k="41" /> - <hkern u1="&#x1ed0;" u2="W" k="20" /> - <hkern u1="&#x1ed0;" u2="V" k="20" /> - <hkern u1="&#x1ed0;" u2="T" k="61" /> - <hkern u1="&#x1ed0;" u2="A" k="41" /> - <hkern u1="&#x1ed0;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed0;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed2;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed2;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed2;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed2;" u2="Z" k="20" /> - <hkern u1="&#x1ed2;" u2="Y" k="20" /> - <hkern u1="&#x1ed2;" u2="X" k="41" /> - <hkern u1="&#x1ed2;" u2="W" k="20" /> - <hkern u1="&#x1ed2;" u2="V" k="20" /> - <hkern u1="&#x1ed2;" u2="T" k="61" /> - <hkern u1="&#x1ed2;" u2="A" k="41" /> - <hkern u1="&#x1ed2;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed2;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed4;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed4;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed4;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed4;" u2="Z" k="20" /> - <hkern u1="&#x1ed4;" u2="Y" k="20" /> - <hkern u1="&#x1ed4;" u2="X" k="41" /> - <hkern u1="&#x1ed4;" u2="W" k="20" /> - <hkern u1="&#x1ed4;" u2="V" k="20" /> - <hkern u1="&#x1ed4;" u2="T" k="61" /> - <hkern u1="&#x1ed4;" u2="A" k="41" /> - <hkern u1="&#x1ed4;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed4;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed6;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed6;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed6;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed6;" u2="Z" k="20" /> - <hkern u1="&#x1ed6;" u2="Y" k="20" /> - <hkern u1="&#x1ed6;" u2="X" k="41" /> - <hkern u1="&#x1ed6;" u2="W" k="20" /> - <hkern u1="&#x1ed6;" u2="V" k="20" /> - <hkern u1="&#x1ed6;" u2="T" k="61" /> - <hkern u1="&#x1ed6;" u2="A" k="41" /> - <hkern u1="&#x1ed6;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed6;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x1ef8;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef6;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef4;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1ef2;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1eb6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eb0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eae;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eac;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1eaa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea8;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea6;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1ea0;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x1e84;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e82;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e80;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x1e00;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x405;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x21a;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x1fa;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x17d;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x17b;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x179;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x178;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x176;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x174;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#x164;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x162;" k="61" /> - <hkern u1="&#x1ed8;" u2="&#x104;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x102;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x100;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xdd;" k="20" /> - <hkern u1="&#x1ed8;" u2="&#xc5;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc4;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc3;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc2;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc1;" k="41" /> - <hkern u1="&#x1ed8;" u2="&#xc0;" k="41" /> - <hkern u1="&#x1ed8;" u2="Z" k="20" /> - <hkern u1="&#x1ed8;" u2="Y" k="20" /> - <hkern u1="&#x1ed8;" u2="X" k="41" /> - <hkern u1="&#x1ed8;" u2="W" k="20" /> - <hkern u1="&#x1ed8;" u2="V" k="20" /> - <hkern u1="&#x1ed8;" u2="T" k="61" /> - <hkern u1="&#x1ed8;" u2="A" k="41" /> - <hkern u1="&#x1ed8;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ed8;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1edb;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edb;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edb;" g2="ff" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edb;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edb;" u2="y" k="-102" /> - <hkern u1="&#x1edb;" u2="x" k="-102" /> - <hkern u1="&#x1edb;" u2="w" k="-102" /> - <hkern u1="&#x1edb;" u2="v" k="-102" /> - <hkern u1="&#x1edb;" u2="t" k="-82" /> - <hkern u1="&#x1edb;" u2="f" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edd;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edd;" g2="ff" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edd;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edd;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edd;" u2="y" k="-102" /> - <hkern u1="&#x1edd;" u2="x" k="-102" /> - <hkern u1="&#x1edd;" u2="w" k="-102" /> - <hkern u1="&#x1edd;" u2="v" k="-102" /> - <hkern u1="&#x1edd;" u2="t" k="-82" /> - <hkern u1="&#x1edd;" u2="f" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1edf;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1edf;" g2="ff" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1edf;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1edf;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1edf;" u2="y" k="-102" /> - <hkern u1="&#x1edf;" u2="x" k="-102" /> - <hkern u1="&#x1edf;" u2="w" k="-102" /> - <hkern u1="&#x1edf;" u2="v" k="-102" /> - <hkern u1="&#x1edf;" u2="t" k="-82" /> - <hkern u1="&#x1edf;" u2="f" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee1;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee1;" g2="ff" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee1;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee1;" u2="y" k="-102" /> - <hkern u1="&#x1ee1;" u2="x" k="-102" /> - <hkern u1="&#x1ee1;" u2="w" k="-102" /> - <hkern u1="&#x1ee1;" u2="v" k="-102" /> - <hkern u1="&#x1ee1;" u2="t" k="-82" /> - <hkern u1="&#x1ee1;" u2="f" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB04" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB03" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB02" k="-82" /> - <hkern u1="&#x1ee3;" g2="uniFB01" k="-82" /> - <hkern u1="&#x1ee3;" g2="ff" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x21b;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee3;" u2="&#x165;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#x163;" k="-82" /> - <hkern u1="&#x1ee3;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee3;" u2="y" k="-102" /> - <hkern u1="&#x1ee3;" u2="x" k="-102" /> - <hkern u1="&#x1ee3;" u2="w" k="-102" /> - <hkern u1="&#x1ee3;" u2="v" k="-102" /> - <hkern u1="&#x1ee3;" u2="t" k="-82" /> - <hkern u1="&#x1ee3;" u2="f" k="-82" /> - <hkern u1="&#x1ee4;" u2="&#x201e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x201a;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x1eb6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eb0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eae;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eac;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1eaa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea8;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea6;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1ea0;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1e00;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x1fa;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x104;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x102;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x100;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc5;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc4;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc3;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc2;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc1;" k="20" /> - <hkern u1="&#x1ee4;" u2="&#xc0;" k="20" /> - <hkern u1="&#x1ee4;" u2="A" k="20" /> - <hkern u1="&#x1ee4;" u2="&#x2e;" k="41" /> - <hkern u1="&#x1ee4;" u2="&#x2c;" k="41" /> - <hkern u1="&#x1ee9;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ee9;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ee9;" g2="ff" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ee9;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ee9;" u2="y" k="-102" /> - <hkern u1="&#x1ee9;" u2="x" k="-102" /> - <hkern u1="&#x1ee9;" u2="w" k="-102" /> - <hkern u1="&#x1ee9;" u2="v" k="-102" /> - <hkern u1="&#x1ee9;" u2="t" k="-102" /> - <hkern u1="&#x1ee9;" u2="f" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eeb;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eeb;" g2="ff" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eeb;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eeb;" u2="y" k="-102" /> - <hkern u1="&#x1eeb;" u2="x" k="-102" /> - <hkern u1="&#x1eeb;" u2="w" k="-102" /> - <hkern u1="&#x1eeb;" u2="v" k="-102" /> - <hkern u1="&#x1eeb;" u2="t" k="-102" /> - <hkern u1="&#x1eeb;" u2="f" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eed;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eed;" g2="ff" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eed;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eed;" u2="y" k="-102" /> - <hkern u1="&#x1eed;" u2="x" k="-102" /> - <hkern u1="&#x1eed;" u2="w" k="-102" /> - <hkern u1="&#x1eed;" u2="v" k="-102" /> - <hkern u1="&#x1eed;" u2="t" k="-102" /> - <hkern u1="&#x1eed;" u2="f" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1eef;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1eef;" g2="ff" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1eef;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1eef;" u2="y" k="-102" /> - <hkern u1="&#x1eef;" u2="x" k="-102" /> - <hkern u1="&#x1eef;" u2="w" k="-102" /> - <hkern u1="&#x1eef;" u2="v" k="-102" /> - <hkern u1="&#x1eef;" u2="t" k="-102" /> - <hkern u1="&#x1eef;" u2="f" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB04" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB03" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB02" k="-102" /> - <hkern u1="&#x1ef1;" g2="uniFB01" k="-102" /> - <hkern u1="&#x1ef1;" g2="ff" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1ef5;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e83;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x1e81;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x21b;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x175;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x165;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#x163;" k="-102" /> - <hkern u1="&#x1ef1;" u2="&#xfd;" k="-102" /> - <hkern u1="&#x1ef1;" u2="y" k="-102" /> - <hkern u1="&#x1ef1;" u2="x" k="-102" /> - <hkern u1="&#x1ef1;" u2="w" k="-102" /> - <hkern u1="&#x1ef1;" u2="v" k="-102" /> - <hkern u1="&#x1ef1;" u2="t" k="-102" /> - <hkern u1="&#x1ef1;" u2="f" k="-102" /> - <hkern u1="&#x1ef2;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef2;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef2;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef2;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef2;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef2;" u2="z" k="41" /> - <hkern u1="&#x1ef2;" u2="u" k="61" /> - <hkern u1="&#x1ef2;" u2="s" k="82" /> - <hkern u1="&#x1ef2;" u2="r" k="61" /> - <hkern u1="&#x1ef2;" u2="q" k="102" /> - <hkern u1="&#x1ef2;" u2="p" k="61" /> - <hkern u1="&#x1ef2;" u2="o" k="102" /> - <hkern u1="&#x1ef2;" u2="n" k="61" /> - <hkern u1="&#x1ef2;" u2="m" k="61" /> - <hkern u1="&#x1ef2;" u2="g" k="41" /> - <hkern u1="&#x1ef2;" u2="e" k="102" /> - <hkern u1="&#x1ef2;" u2="d" k="102" /> - <hkern u1="&#x1ef2;" u2="c" k="102" /> - <hkern u1="&#x1ef2;" u2="a" k="102" /> - <hkern u1="&#x1ef2;" u2="Q" k="41" /> - <hkern u1="&#x1ef2;" u2="O" k="41" /> - <hkern u1="&#x1ef2;" u2="G" k="41" /> - <hkern u1="&#x1ef2;" u2="C" k="41" /> - <hkern u1="&#x1ef2;" u2="A" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef2;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef2;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef3;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef3;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef3;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef3;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef4;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef4;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef4;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef4;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef4;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef4;" u2="z" k="41" /> - <hkern u1="&#x1ef4;" u2="u" k="61" /> - <hkern u1="&#x1ef4;" u2="s" k="82" /> - <hkern u1="&#x1ef4;" u2="r" k="61" /> - <hkern u1="&#x1ef4;" u2="q" k="102" /> - <hkern u1="&#x1ef4;" u2="p" k="61" /> - <hkern u1="&#x1ef4;" u2="o" k="102" /> - <hkern u1="&#x1ef4;" u2="n" k="61" /> - <hkern u1="&#x1ef4;" u2="m" k="61" /> - <hkern u1="&#x1ef4;" u2="g" k="41" /> - <hkern u1="&#x1ef4;" u2="e" k="102" /> - <hkern u1="&#x1ef4;" u2="d" k="102" /> - <hkern u1="&#x1ef4;" u2="c" k="102" /> - <hkern u1="&#x1ef4;" u2="a" k="102" /> - <hkern u1="&#x1ef4;" u2="Q" k="41" /> - <hkern u1="&#x1ef4;" u2="O" k="41" /> - <hkern u1="&#x1ef4;" u2="G" k="41" /> - <hkern u1="&#x1ef4;" u2="C" k="41" /> - <hkern u1="&#x1ef4;" u2="A" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef4;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef4;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef5;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef5;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef5;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef5;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef6;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef6;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef6;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef6;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef6;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef6;" u2="z" k="41" /> - <hkern u1="&#x1ef6;" u2="u" k="61" /> - <hkern u1="&#x1ef6;" u2="s" k="82" /> - <hkern u1="&#x1ef6;" u2="r" k="61" /> - <hkern u1="&#x1ef6;" u2="q" k="102" /> - <hkern u1="&#x1ef6;" u2="p" k="61" /> - <hkern u1="&#x1ef6;" u2="o" k="102" /> - <hkern u1="&#x1ef6;" u2="n" k="61" /> - <hkern u1="&#x1ef6;" u2="m" k="61" /> - <hkern u1="&#x1ef6;" u2="g" k="41" /> - <hkern u1="&#x1ef6;" u2="e" k="102" /> - <hkern u1="&#x1ef6;" u2="d" k="102" /> - <hkern u1="&#x1ef6;" u2="c" k="102" /> - <hkern u1="&#x1ef6;" u2="a" k="102" /> - <hkern u1="&#x1ef6;" u2="Q" k="41" /> - <hkern u1="&#x1ef6;" u2="O" k="41" /> - <hkern u1="&#x1ef6;" u2="G" k="41" /> - <hkern u1="&#x1ef6;" u2="C" k="41" /> - <hkern u1="&#x1ef6;" u2="A" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef6;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef6;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef7;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef7;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef7;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef7;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1ef8;" u2="&#x201e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x201a;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1ee3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ee1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ee0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ede;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1edc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1edb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eda;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ed1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ed0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ece;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ecd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ecc;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1ec7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ec3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ebb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eb1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eb0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eaf;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eae;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ead;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eac;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1eab;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1eaa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea8;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea6;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1ea1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1ea0;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1e01;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1e00;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x219;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x1ff;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fe;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x1fd;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1fa;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x1a1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x1a0;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x17a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x173;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x171;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16f;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16d;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x16b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x169;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x15f;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x15b;" k="82" /> - <hkern u1="&#x1ef8;" u2="&#x157;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x155;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x153;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x152;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x151;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x150;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x14c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x14b;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x146;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x144;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x138;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#x123;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x122;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x121;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x120;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11f;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11e;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11d;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x11b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x119;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x117;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x115;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x113;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x111;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10f;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10d;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10c;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x10b;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x10a;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x109;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x108;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x107;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x106;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#x105;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x104;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x103;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x102;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x101;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#x100;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xfc;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfb;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xfa;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf9;" k="61" /> - <hkern u1="&#x1ef8;" u2="&#xf8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xf2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xeb;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xea;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe9;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe8;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe7;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe6;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe5;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe4;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe3;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe2;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe1;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xe0;" k="102" /> - <hkern u1="&#x1ef8;" u2="&#xd8;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd6;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd5;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd4;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd3;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xd2;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc7;" k="41" /> - <hkern u1="&#x1ef8;" u2="&#xc5;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc4;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc3;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc2;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc1;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#xc0;" k="123" /> - <hkern u1="&#x1ef8;" u2="z" k="41" /> - <hkern u1="&#x1ef8;" u2="u" k="61" /> - <hkern u1="&#x1ef8;" u2="s" k="82" /> - <hkern u1="&#x1ef8;" u2="r" k="61" /> - <hkern u1="&#x1ef8;" u2="q" k="102" /> - <hkern u1="&#x1ef8;" u2="p" k="61" /> - <hkern u1="&#x1ef8;" u2="o" k="102" /> - <hkern u1="&#x1ef8;" u2="n" k="61" /> - <hkern u1="&#x1ef8;" u2="m" k="61" /> - <hkern u1="&#x1ef8;" u2="g" k="41" /> - <hkern u1="&#x1ef8;" u2="e" k="102" /> - <hkern u1="&#x1ef8;" u2="d" k="102" /> - <hkern u1="&#x1ef8;" u2="c" k="102" /> - <hkern u1="&#x1ef8;" u2="a" k="102" /> - <hkern u1="&#x1ef8;" u2="Q" k="41" /> - <hkern u1="&#x1ef8;" u2="O" k="41" /> - <hkern u1="&#x1ef8;" u2="G" k="41" /> - <hkern u1="&#x1ef8;" u2="C" k="41" /> - <hkern u1="&#x1ef8;" u2="A" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef8;" u2="&#x2e;" k="123" /> - <hkern u1="&#x1ef8;" u2="&#x2c;" k="123" /> - <hkern u1="&#x1ef9;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x201d;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2019;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x3f;" k="-41" /> - <hkern u1="&#x1ef9;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x2c;" k="82" /> - <hkern u1="&#x1ef9;" u2="&#x27;" k="-82" /> - <hkern u1="&#x1ef9;" u2="&#x22;" k="-82" /> - <hkern u1="&#x1f4d;" u2="&#x201e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x201a;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3bb;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a8;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a7;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x3a4;" k="61" /> - <hkern u1="&#x1f4d;" u2="&#x3a3;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x39b;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x396;" k="20" /> - <hkern u1="&#x1f4d;" u2="&#x394;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x391;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x386;" k="41" /> - <hkern u1="&#x1f4d;" u2="&#x2e;" k="82" /> - <hkern u1="&#x1f4d;" u2="&#x2c;" k="82" /> - <hkern u1="&#x2013;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2013;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2013;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2013;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2013;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2013;" u2="&#x442;" k="41" /> - <hkern u1="&#x2013;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x422;" k="82" /> - <hkern u1="&#x2013;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2013;" u2="&#x402;" k="82" /> - <hkern u1="&#x2013;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2013;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2013;" u2="&#x164;" k="82" /> - <hkern u1="&#x2013;" u2="&#x162;" k="82" /> - <hkern u1="&#x2013;" u2="T" k="82" /> - <hkern u1="&#x2014;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2014;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2014;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2014;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2014;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2014;" u2="&#x442;" k="41" /> - <hkern u1="&#x2014;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x422;" k="82" /> - <hkern u1="&#x2014;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2014;" u2="&#x402;" k="82" /> - <hkern u1="&#x2014;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2014;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2014;" u2="&#x164;" k="82" /> - <hkern u1="&#x2014;" u2="&#x162;" k="82" /> - <hkern u1="&#x2014;" u2="T" k="82" /> - <hkern u1="&#x2015;" u2="&#x50f;" k="41" /> - <hkern u1="&#x2015;" u2="&#x50e;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4b5;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4b4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4ad;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4ac;" k="82" /> - <hkern u1="&#x2015;" u2="&#x4a1;" k="41" /> - <hkern u1="&#x2015;" u2="&#x4a0;" k="82" /> - <hkern u1="&#x2015;" u2="&#x44a;" k="41" /> - <hkern u1="&#x2015;" u2="&#x442;" k="41" /> - <hkern u1="&#x2015;" u2="&#x42a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x422;" k="82" /> - <hkern u1="&#x2015;" u2="&#x40b;" k="82" /> - <hkern u1="&#x2015;" u2="&#x402;" k="82" /> - <hkern u1="&#x2015;" u2="&#x3a4;" k="82" /> - <hkern u1="&#x2015;" u2="&#x21a;" k="82" /> - <hkern u1="&#x2015;" u2="&#x164;" k="82" /> - <hkern u1="&#x2015;" u2="&#x162;" k="82" /> - <hkern u1="&#x2015;" u2="T" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2018;" u2="&#x513;" k="143" /> - <hkern u1="&#x2018;" u2="&#x512;" k="123" /> - <hkern u1="&#x2018;" u2="&#x511;" k="123" /> - <hkern u1="&#x2018;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x509;" k="143" /> - <hkern u1="&#x2018;" u2="&#x508;" k="123" /> - <hkern u1="&#x2018;" u2="&#x503;" k="123" /> - <hkern u1="&#x2018;" u2="&#x502;" k="143" /> - <hkern u1="&#x2018;" u2="&#x501;" k="123" /> - <hkern u1="&#x2018;" u2="&#x500;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2018;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2018;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2018;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2018;" u2="&#x481;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x479;" k="123" /> - <hkern u1="&#x2018;" u2="&#x473;" k="123" /> - <hkern u1="&#x2018;" u2="&#x471;" k="20" /> - <hkern u1="&#x2018;" u2="&#x467;" k="143" /> - <hkern u1="&#x2018;" u2="&#x466;" k="143" /> - <hkern u1="&#x2018;" u2="&#x459;" k="143" /> - <hkern u1="&#x2018;" u2="&#x455;" k="61" /> - <hkern u1="&#x2018;" u2="&#x454;" k="123" /> - <hkern u1="&#x2018;" u2="&#x451;" k="123" /> - <hkern u1="&#x2018;" u2="&#x450;" k="123" /> - <hkern u1="&#x2018;" u2="&#x444;" k="123" /> - <hkern u1="&#x2018;" u2="&#x441;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2018;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x435;" k="123" /> - <hkern u1="&#x2018;" u2="&#x434;" k="143" /> - <hkern u1="&#x2018;" u2="&#x430;" k="41" /> - <hkern u1="&#x2018;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x414;" k="123" /> - <hkern u1="&#x2018;" u2="&#x410;" k="143" /> - <hkern u1="&#x2018;" u2="&#x409;" k="123" /> - <hkern u1="&#x2018;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2018;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2018;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2018;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2018;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2018;" u2="&#x394;" k="143" /> - <hkern u1="&#x2018;" u2="&#x391;" k="143" /> - <hkern u1="&#x2018;" u2="&#x386;" k="143" /> - <hkern u1="&#x2018;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x219;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2018;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2018;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2018;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2018;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2018;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2018;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x173;" k="61" /> - <hkern u1="&#x2018;" u2="&#x171;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x169;" k="61" /> - <hkern u1="&#x2018;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2018;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x157;" k="61" /> - <hkern u1="&#x2018;" u2="&#x155;" k="61" /> - <hkern u1="&#x2018;" u2="&#x153;" k="123" /> - <hkern u1="&#x2018;" u2="&#x151;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2018;" u2="&#x146;" k="61" /> - <hkern u1="&#x2018;" u2="&#x144;" k="61" /> - <hkern u1="&#x2018;" u2="&#x138;" k="61" /> - <hkern u1="&#x2018;" u2="&#x123;" k="61" /> - <hkern u1="&#x2018;" u2="&#x121;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2018;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x119;" k="123" /> - <hkern u1="&#x2018;" u2="&#x117;" k="123" /> - <hkern u1="&#x2018;" u2="&#x115;" k="123" /> - <hkern u1="&#x2018;" u2="&#x113;" k="123" /> - <hkern u1="&#x2018;" u2="&#x111;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2018;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2018;" u2="&#x109;" k="123" /> - <hkern u1="&#x2018;" u2="&#x107;" k="123" /> - <hkern u1="&#x2018;" u2="&#x105;" k="82" /> - <hkern u1="&#x2018;" u2="&#x104;" k="143" /> - <hkern u1="&#x2018;" u2="&#x103;" k="82" /> - <hkern u1="&#x2018;" u2="&#x102;" k="143" /> - <hkern u1="&#x2018;" u2="&#x101;" k="82" /> - <hkern u1="&#x2018;" u2="&#x100;" k="143" /> - <hkern u1="&#x2018;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2018;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2018;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2018;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2018;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2018;" u2="&#xea;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2018;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2018;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2018;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2018;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2018;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2018;" u2="u" k="61" /> - <hkern u1="&#x2018;" u2="s" k="61" /> - <hkern u1="&#x2018;" u2="r" k="61" /> - <hkern u1="&#x2018;" u2="q" k="123" /> - <hkern u1="&#x2018;" u2="p" k="61" /> - <hkern u1="&#x2018;" u2="o" k="123" /> - <hkern u1="&#x2018;" u2="n" k="61" /> - <hkern u1="&#x2018;" u2="m" k="61" /> - <hkern u1="&#x2018;" u2="g" k="61" /> - <hkern u1="&#x2018;" u2="e" k="123" /> - <hkern u1="&#x2018;" u2="d" k="123" /> - <hkern u1="&#x2018;" u2="c" k="123" /> - <hkern u1="&#x2018;" u2="a" k="82" /> - <hkern u1="&#x2018;" u2="Y" k="-20" /> - <hkern u1="&#x2018;" u2="W" k="-41" /> - <hkern u1="&#x2018;" u2="V" k="-41" /> - <hkern u1="&#x2018;" u2="T" k="-41" /> - <hkern u1="&#x2018;" u2="A" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x2019;" u2="&#x513;" k="143" /> - <hkern u1="&#x2019;" u2="&#x512;" k="123" /> - <hkern u1="&#x2019;" u2="&#x511;" k="123" /> - <hkern u1="&#x2019;" u2="&#x50d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x509;" k="143" /> - <hkern u1="&#x2019;" u2="&#x508;" k="123" /> - <hkern u1="&#x2019;" u2="&#x503;" k="123" /> - <hkern u1="&#x2019;" u2="&#x502;" k="143" /> - <hkern u1="&#x2019;" u2="&#x501;" k="123" /> - <hkern u1="&#x2019;" u2="&#x500;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4db;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x2019;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x2019;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x2019;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x2019;" u2="&#x481;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x47b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x479;" k="123" /> - <hkern u1="&#x2019;" u2="&#x473;" k="123" /> - <hkern u1="&#x2019;" u2="&#x471;" k="20" /> - <hkern u1="&#x2019;" u2="&#x467;" k="143" /> - <hkern u1="&#x2019;" u2="&#x466;" k="143" /> - <hkern u1="&#x2019;" u2="&#x459;" k="143" /> - <hkern u1="&#x2019;" u2="&#x455;" k="61" /> - <hkern u1="&#x2019;" u2="&#x454;" k="123" /> - <hkern u1="&#x2019;" u2="&#x451;" k="123" /> - <hkern u1="&#x2019;" u2="&#x450;" k="123" /> - <hkern u1="&#x2019;" u2="&#x444;" k="123" /> - <hkern u1="&#x2019;" u2="&#x441;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43e;" k="123" /> - <hkern u1="&#x2019;" u2="&#x43b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x435;" k="123" /> - <hkern u1="&#x2019;" u2="&#x434;" k="143" /> - <hkern u1="&#x2019;" u2="&#x430;" k="41" /> - <hkern u1="&#x2019;" u2="&#x41b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x414;" k="123" /> - <hkern u1="&#x2019;" u2="&#x410;" k="143" /> - <hkern u1="&#x2019;" u2="&#x409;" k="123" /> - <hkern u1="&#x2019;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x2019;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x2019;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x2019;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x2019;" u2="&#x39b;" k="143" /> - <hkern u1="&#x2019;" u2="&#x394;" k="143" /> - <hkern u1="&#x2019;" u2="&#x391;" k="143" /> - <hkern u1="&#x2019;" u2="&#x386;" k="143" /> - <hkern u1="&#x2019;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x219;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x2019;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x2019;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x2019;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x2019;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x2019;" u2="&#x178;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x176;" k="-20" /> - <hkern u1="&#x2019;" u2="&#x174;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x173;" k="61" /> - <hkern u1="&#x2019;" u2="&#x171;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x16b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x169;" k="61" /> - <hkern u1="&#x2019;" u2="&#x164;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x162;" k="-41" /> - <hkern u1="&#x2019;" u2="&#x15f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x15b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x157;" k="61" /> - <hkern u1="&#x2019;" u2="&#x155;" k="61" /> - <hkern u1="&#x2019;" u2="&#x153;" k="123" /> - <hkern u1="&#x2019;" u2="&#x151;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x14b;" k="61" /> - <hkern u1="&#x2019;" u2="&#x146;" k="61" /> - <hkern u1="&#x2019;" u2="&#x144;" k="61" /> - <hkern u1="&#x2019;" u2="&#x138;" k="61" /> - <hkern u1="&#x2019;" u2="&#x123;" k="61" /> - <hkern u1="&#x2019;" u2="&#x121;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11f;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11d;" k="61" /> - <hkern u1="&#x2019;" u2="&#x11b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x119;" k="123" /> - <hkern u1="&#x2019;" u2="&#x117;" k="123" /> - <hkern u1="&#x2019;" u2="&#x115;" k="123" /> - <hkern u1="&#x2019;" u2="&#x113;" k="123" /> - <hkern u1="&#x2019;" u2="&#x111;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10f;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10d;" k="123" /> - <hkern u1="&#x2019;" u2="&#x10b;" k="123" /> - <hkern u1="&#x2019;" u2="&#x109;" k="123" /> - <hkern u1="&#x2019;" u2="&#x107;" k="123" /> - <hkern u1="&#x2019;" u2="&#x105;" k="82" /> - <hkern u1="&#x2019;" u2="&#x104;" k="143" /> - <hkern u1="&#x2019;" u2="&#x103;" k="82" /> - <hkern u1="&#x2019;" u2="&#x102;" k="143" /> - <hkern u1="&#x2019;" u2="&#x101;" k="82" /> - <hkern u1="&#x2019;" u2="&#x100;" k="143" /> - <hkern u1="&#x2019;" u2="&#xfc;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfb;" k="61" /> - <hkern u1="&#x2019;" u2="&#xfa;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf9;" k="61" /> - <hkern u1="&#x2019;" u2="&#xf8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf6;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf5;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf4;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf3;" k="123" /> - <hkern u1="&#x2019;" u2="&#xf2;" k="123" /> - <hkern u1="&#x2019;" u2="&#xeb;" k="123" /> - <hkern u1="&#x2019;" u2="&#xea;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe9;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe8;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe7;" k="123" /> - <hkern u1="&#x2019;" u2="&#xe6;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe5;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe4;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe3;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe2;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe1;" k="82" /> - <hkern u1="&#x2019;" u2="&#xe0;" k="123" /> - <hkern u1="&#x2019;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x2019;" u2="&#xc5;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc4;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc3;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc2;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc1;" k="143" /> - <hkern u1="&#x2019;" u2="&#xc0;" k="143" /> - <hkern u1="&#x2019;" u2="u" k="61" /> - <hkern u1="&#x2019;" u2="s" k="61" /> - <hkern u1="&#x2019;" u2="r" k="61" /> - <hkern u1="&#x2019;" u2="q" k="123" /> - <hkern u1="&#x2019;" u2="p" k="61" /> - <hkern u1="&#x2019;" u2="o" k="123" /> - <hkern u1="&#x2019;" u2="n" k="61" /> - <hkern u1="&#x2019;" u2="m" k="61" /> - <hkern u1="&#x2019;" u2="g" k="61" /> - <hkern u1="&#x2019;" u2="e" k="123" /> - <hkern u1="&#x2019;" u2="d" k="123" /> - <hkern u1="&#x2019;" u2="c" k="123" /> - <hkern u1="&#x2019;" u2="a" k="82" /> - <hkern u1="&#x2019;" u2="Y" k="-20" /> - <hkern u1="&#x2019;" u2="W" k="-41" /> - <hkern u1="&#x2019;" u2="V" k="-41" /> - <hkern u1="&#x2019;" u2="T" k="-41" /> - <hkern u1="&#x2019;" u2="A" k="143" /> - <hkern u1="&#x201a;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201a;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201a;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201a;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201a;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x507;" k="102" /> - <hkern u1="&#x201a;" u2="&#x506;" k="123" /> - <hkern u1="&#x201a;" u2="&#x505;" k="102" /> - <hkern u1="&#x201a;" u2="&#x504;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201a;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201a;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201a;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201a;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201a;" u2="&#x480;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x478;" k="102" /> - <hkern u1="&#x201a;" u2="&#x476;" k="123" /> - <hkern u1="&#x201a;" u2="&#x474;" k="123" /> - <hkern u1="&#x201a;" u2="&#x472;" k="102" /> - <hkern u1="&#x201a;" u2="&#x470;" k="164" /> - <hkern u1="&#x201a;" u2="&#x460;" k="102" /> - <hkern u1="&#x201a;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x447;" k="123" /> - <hkern u1="&#x201a;" u2="&#x442;" k="102" /> - <hkern u1="&#x201a;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x427;" k="164" /> - <hkern u1="&#x201a;" u2="&#x424;" k="82" /> - <hkern u1="&#x201a;" u2="&#x422;" k="143" /> - <hkern u1="&#x201a;" u2="&#x421;" k="102" /> - <hkern u1="&#x201a;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201a;" u2="&#x404;" k="102" /> - <hkern u1="&#x201a;" u2="&#x402;" k="143" /> - <hkern u1="&#x201a;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201a;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201a;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201a;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201a;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201a;" u2="&#x398;" k="82" /> - <hkern u1="&#x201a;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201a;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201a;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201a;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201a;" u2="&#x178;" k="123" /> - <hkern u1="&#x201a;" u2="&#x176;" k="123" /> - <hkern u1="&#x201a;" u2="&#x174;" k="123" /> - <hkern u1="&#x201a;" u2="&#x172;" k="41" /> - <hkern u1="&#x201a;" u2="&#x170;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201a;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201a;" u2="&#x168;" k="41" /> - <hkern u1="&#x201a;" u2="&#x164;" k="143" /> - <hkern u1="&#x201a;" u2="&#x162;" k="143" /> - <hkern u1="&#x201a;" u2="&#x152;" k="102" /> - <hkern u1="&#x201a;" u2="&#x150;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x122;" k="102" /> - <hkern u1="&#x201a;" u2="&#x120;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201a;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201a;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201a;" u2="&#x108;" k="102" /> - <hkern u1="&#x201a;" u2="&#x106;" k="102" /> - <hkern u1="&#x201a;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201a;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201a;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201a;" u2="&#xda;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201a;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201a;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201a;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201a;" u2="Y" k="123" /> - <hkern u1="&#x201a;" u2="W" k="123" /> - <hkern u1="&#x201a;" u2="V" k="123" /> - <hkern u1="&#x201a;" u2="U" k="41" /> - <hkern u1="&#x201a;" u2="T" k="143" /> - <hkern u1="&#x201a;" u2="Q" k="102" /> - <hkern u1="&#x201a;" u2="O" k="102" /> - <hkern u1="&#x201a;" u2="G" k="102" /> - <hkern u1="&#x201a;" u2="C" k="102" /> - <hkern u1="&#x201c;" u2="&#x1ef8;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef6;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef4;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef2;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x1ef1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eef;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eed;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1eeb;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee9;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee7;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee5;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ee3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ee1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1edb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ed1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ecd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ec3;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebf;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebd;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1ebb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1eb7;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eb1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eb0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eaf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eae;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ead;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eac;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1eab;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1eaa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea9;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea8;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea5;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1ea1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1ea0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1e84;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e82;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e80;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x1e3f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1e01;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1e00;" k="143" /> - <hkern u1="&#x201c;" u2="&#x513;" k="143" /> - <hkern u1="&#x201c;" u2="&#x512;" k="123" /> - <hkern u1="&#x201c;" u2="&#x511;" k="123" /> - <hkern u1="&#x201c;" u2="&#x50d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x509;" k="143" /> - <hkern u1="&#x201c;" u2="&#x508;" k="123" /> - <hkern u1="&#x201c;" u2="&#x503;" k="123" /> - <hkern u1="&#x201c;" u2="&#x502;" k="143" /> - <hkern u1="&#x201c;" u2="&#x501;" k="123" /> - <hkern u1="&#x201c;" u2="&#x500;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4eb;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4e7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4db;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d9;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d7;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4d5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d4;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d3;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d2;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4d1;" k="41" /> - <hkern u1="&#x201c;" u2="&#x4d0;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c6;" k="143" /> - <hkern u1="&#x201c;" u2="&#x4c5;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4ab;" k="123" /> - <hkern u1="&#x201c;" u2="&#x4a9;" k="123" /> - <hkern u1="&#x201c;" u2="&#x481;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x47b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x479;" k="123" /> - <hkern u1="&#x201c;" u2="&#x473;" k="123" /> - <hkern u1="&#x201c;" u2="&#x471;" k="20" /> - <hkern u1="&#x201c;" u2="&#x467;" k="143" /> - <hkern u1="&#x201c;" u2="&#x466;" k="143" /> - <hkern u1="&#x201c;" u2="&#x459;" k="143" /> - <hkern u1="&#x201c;" u2="&#x455;" k="61" /> - <hkern u1="&#x201c;" u2="&#x454;" k="123" /> - <hkern u1="&#x201c;" u2="&#x451;" k="123" /> - <hkern u1="&#x201c;" u2="&#x450;" k="123" /> - <hkern u1="&#x201c;" u2="&#x444;" k="123" /> - <hkern u1="&#x201c;" u2="&#x441;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43e;" k="123" /> - <hkern u1="&#x201c;" u2="&#x43b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x435;" k="123" /> - <hkern u1="&#x201c;" u2="&#x434;" k="143" /> - <hkern u1="&#x201c;" u2="&#x430;" k="41" /> - <hkern u1="&#x201c;" u2="&#x41b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x414;" k="123" /> - <hkern u1="&#x201c;" u2="&#x410;" k="143" /> - <hkern u1="&#x201c;" u2="&#x409;" k="123" /> - <hkern u1="&#x201c;" u2="&#x3cc;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c6;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c3;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c2;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3c1;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3bf;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3bc;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ba;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b7;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b6;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b5;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3b4;" k="61" /> - <hkern u1="&#x201c;" u2="&#x3b1;" k="82" /> - <hkern u1="&#x201c;" u2="&#x3ae;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ad;" k="41" /> - <hkern u1="&#x201c;" u2="&#x3ac;" k="82" /> - <hkern u1="&#x201c;" u2="&#x39b;" k="143" /> - <hkern u1="&#x201c;" u2="&#x394;" k="143" /> - <hkern u1="&#x201c;" u2="&#x391;" k="143" /> - <hkern u1="&#x201c;" u2="&#x386;" k="143" /> - <hkern u1="&#x201c;" u2="&#x21a;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x219;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1ff;" k="123" /> - <hkern u1="&#x201c;" u2="&#x1fd;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fb;" k="82" /> - <hkern u1="&#x201c;" u2="&#x1fa;" k="143" /> - <hkern u1="&#x201c;" u2="&#x1b0;" k="61" /> - <hkern u1="&#x201c;" u2="&#x1a1;" k="123" /> - <hkern u1="&#x201c;" u2="&#x178;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x176;" k="-20" /> - <hkern u1="&#x201c;" u2="&#x174;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x173;" k="61" /> - <hkern u1="&#x201c;" u2="&#x171;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x16b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x169;" k="61" /> - <hkern u1="&#x201c;" u2="&#x164;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x162;" k="-41" /> - <hkern u1="&#x201c;" u2="&#x15f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x15b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x157;" k="61" /> - <hkern u1="&#x201c;" u2="&#x155;" k="61" /> - <hkern u1="&#x201c;" u2="&#x153;" k="123" /> - <hkern u1="&#x201c;" u2="&#x151;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x14b;" k="61" /> - <hkern u1="&#x201c;" u2="&#x146;" k="61" /> - <hkern u1="&#x201c;" u2="&#x144;" k="61" /> - <hkern u1="&#x201c;" u2="&#x138;" k="61" /> - <hkern u1="&#x201c;" u2="&#x123;" k="61" /> - <hkern u1="&#x201c;" u2="&#x121;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11f;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11d;" k="61" /> - <hkern u1="&#x201c;" u2="&#x11b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x119;" k="123" /> - <hkern u1="&#x201c;" u2="&#x117;" k="123" /> - <hkern u1="&#x201c;" u2="&#x115;" k="123" /> - <hkern u1="&#x201c;" u2="&#x113;" k="123" /> - <hkern u1="&#x201c;" u2="&#x111;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10f;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10d;" k="123" /> - <hkern u1="&#x201c;" u2="&#x10b;" k="123" /> - <hkern u1="&#x201c;" u2="&#x109;" k="123" /> - <hkern u1="&#x201c;" u2="&#x107;" k="123" /> - <hkern u1="&#x201c;" u2="&#x105;" k="82" /> - <hkern u1="&#x201c;" u2="&#x104;" k="143" /> - <hkern u1="&#x201c;" u2="&#x103;" k="82" /> - <hkern u1="&#x201c;" u2="&#x102;" k="143" /> - <hkern u1="&#x201c;" u2="&#x101;" k="82" /> - <hkern u1="&#x201c;" u2="&#x100;" k="143" /> - <hkern u1="&#x201c;" u2="&#xfc;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfb;" k="61" /> - <hkern u1="&#x201c;" u2="&#xfa;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf9;" k="61" /> - <hkern u1="&#x201c;" u2="&#xf8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf6;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf5;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf4;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf3;" k="123" /> - <hkern u1="&#x201c;" u2="&#xf2;" k="123" /> - <hkern u1="&#x201c;" u2="&#xeb;" k="123" /> - <hkern u1="&#x201c;" u2="&#xea;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe9;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe8;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe7;" k="123" /> - <hkern u1="&#x201c;" u2="&#xe6;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe5;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe4;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe3;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe2;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe1;" k="82" /> - <hkern u1="&#x201c;" u2="&#xe0;" k="123" /> - <hkern u1="&#x201c;" u2="&#xdd;" k="-20" /> - <hkern u1="&#x201c;" u2="&#xc5;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc4;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc3;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc2;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc1;" k="143" /> - <hkern u1="&#x201c;" u2="&#xc0;" k="143" /> - <hkern u1="&#x201c;" u2="u" k="61" /> - <hkern u1="&#x201c;" u2="s" k="61" /> - <hkern u1="&#x201c;" u2="r" k="61" /> - <hkern u1="&#x201c;" u2="q" k="123" /> - <hkern u1="&#x201c;" u2="p" k="61" /> - <hkern u1="&#x201c;" u2="o" k="123" /> - <hkern u1="&#x201c;" u2="n" k="61" /> - <hkern u1="&#x201c;" u2="m" k="61" /> - <hkern u1="&#x201c;" u2="g" k="61" /> - <hkern u1="&#x201c;" u2="e" k="123" /> - <hkern u1="&#x201c;" u2="d" k="123" /> - <hkern u1="&#x201c;" u2="c" k="123" /> - <hkern u1="&#x201c;" u2="a" k="82" /> - <hkern u1="&#x201c;" u2="Y" k="-20" /> - <hkern u1="&#x201c;" u2="W" k="-41" /> - <hkern u1="&#x201c;" u2="V" k="-41" /> - <hkern u1="&#x201c;" u2="T" k="-41" /> - <hkern u1="&#x201c;" u2="A" k="143" /> - <hkern u1="&#x201e;" u2="&#x1ef8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef6;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef4;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1ef0;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eee;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eec;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1eea;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee6;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee4;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1ee2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ee0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ede;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1edc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1eda;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed4;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed2;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ed0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ece;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1ecc;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1e84;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e82;" k="123" /> - <hkern u1="&#x201e;" u2="&#x1e80;" k="123" /> - <hkern u1="&#x201e;" u2="&#x50f;" k="102" /> - <hkern u1="&#x201e;" u2="&#x50e;" k="143" /> - <hkern u1="&#x201e;" u2="&#x50c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x507;" k="102" /> - <hkern u1="&#x201e;" u2="&#x506;" k="123" /> - <hkern u1="&#x201e;" u2="&#x505;" k="102" /> - <hkern u1="&#x201e;" u2="&#x504;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4f4;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4ea;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4e6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4cc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4cb;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4be;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4bc;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b9;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b8;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b7;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4b6;" k="164" /> - <hkern u1="&#x201e;" u2="&#x4b5;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4b4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4b0;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ae;" k="123" /> - <hkern u1="&#x201e;" u2="&#x4ad;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4ac;" k="143" /> - <hkern u1="&#x201e;" u2="&#x4aa;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a8;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a1;" k="102" /> - <hkern u1="&#x201e;" u2="&#x4a0;" k="143" /> - <hkern u1="&#x201e;" u2="&#x480;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x47a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x478;" k="102" /> - <hkern u1="&#x201e;" u2="&#x476;" k="123" /> - <hkern u1="&#x201e;" u2="&#x474;" k="123" /> - <hkern u1="&#x201e;" u2="&#x472;" k="102" /> - <hkern u1="&#x201e;" u2="&#x470;" k="164" /> - <hkern u1="&#x201e;" u2="&#x460;" k="102" /> - <hkern u1="&#x201e;" u2="&#x44a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x447;" k="123" /> - <hkern u1="&#x201e;" u2="&#x442;" k="102" /> - <hkern u1="&#x201e;" u2="&#x42a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x427;" k="164" /> - <hkern u1="&#x201e;" u2="&#x424;" k="82" /> - <hkern u1="&#x201e;" u2="&#x422;" k="143" /> - <hkern u1="&#x201e;" u2="&#x421;" k="102" /> - <hkern u1="&#x201e;" u2="&#x41e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x40b;" k="143" /> - <hkern u1="&#x201e;" u2="&#x404;" k="102" /> - <hkern u1="&#x201e;" u2="&#x402;" k="143" /> - <hkern u1="&#x201e;" u2="&#x3d2;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3b8;" k="41" /> - <hkern u1="&#x201e;" u2="&#x3ab;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a8;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a6;" k="102" /> - <hkern u1="&#x201e;" u2="&#x3a5;" k="123" /> - <hkern u1="&#x201e;" u2="&#x3a4;" k="143" /> - <hkern u1="&#x201e;" u2="&#x39f;" k="82" /> - <hkern u1="&#x201e;" u2="&#x398;" k="82" /> - <hkern u1="&#x201e;" u2="&#x21a;" k="143" /> - <hkern u1="&#x201e;" u2="&#x1fe;" k="102" /> - <hkern u1="&#x201e;" u2="&#x1af;" k="41" /> - <hkern u1="&#x201e;" u2="&#x1a0;" k="102" /> - <hkern u1="&#x201e;" u2="&#x178;" k="123" /> - <hkern u1="&#x201e;" u2="&#x176;" k="123" /> - <hkern u1="&#x201e;" u2="&#x174;" k="123" /> - <hkern u1="&#x201e;" u2="&#x172;" k="41" /> - <hkern u1="&#x201e;" u2="&#x170;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16e;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16c;" k="41" /> - <hkern u1="&#x201e;" u2="&#x16a;" k="41" /> - <hkern u1="&#x201e;" u2="&#x168;" k="41" /> - <hkern u1="&#x201e;" u2="&#x164;" k="143" /> - <hkern u1="&#x201e;" u2="&#x162;" k="143" /> - <hkern u1="&#x201e;" u2="&#x152;" k="102" /> - <hkern u1="&#x201e;" u2="&#x150;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x14c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x122;" k="102" /> - <hkern u1="&#x201e;" u2="&#x120;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11e;" k="102" /> - <hkern u1="&#x201e;" u2="&#x11c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10c;" k="102" /> - <hkern u1="&#x201e;" u2="&#x10a;" k="102" /> - <hkern u1="&#x201e;" u2="&#x108;" k="102" /> - <hkern u1="&#x201e;" u2="&#x106;" k="102" /> - <hkern u1="&#x201e;" u2="&#xdd;" k="123" /> - <hkern u1="&#x201e;" u2="&#xdc;" k="41" /> - <hkern u1="&#x201e;" u2="&#xdb;" k="41" /> - <hkern u1="&#x201e;" u2="&#xda;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd9;" k="41" /> - <hkern u1="&#x201e;" u2="&#xd8;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd6;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd5;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd4;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd3;" k="102" /> - <hkern u1="&#x201e;" u2="&#xd2;" k="102" /> - <hkern u1="&#x201e;" u2="&#xc7;" k="102" /> - <hkern u1="&#x201e;" u2="Y" k="123" /> - <hkern u1="&#x201e;" u2="W" k="123" /> - <hkern u1="&#x201e;" u2="V" k="123" /> - <hkern u1="&#x201e;" u2="U" k="41" /> - <hkern u1="&#x201e;" u2="T" k="143" /> - <hkern u1="&#x201e;" u2="Q" k="102" /> - <hkern u1="&#x201e;" u2="O" k="102" /> - <hkern u1="&#x201e;" u2="G" k="102" /> - <hkern u1="&#x201e;" u2="C" k="102" /> - <hkern u1="&#x2126;" u2="&#x3d2;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3ab;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a5;" k="20" /> - <hkern u1="&#x2126;" u2="&#x3a4;" k="41" /> - <hkern g1="ff" u2="&#x201d;" k="-123" /> - <hkern g1="ff" u2="&#x2019;" k="-123" /> - <hkern g1="ff" u2="&#x27;" k="-123" /> - <hkern g1="ff" u2="&#x22;" k="-123" /> - </font> -</defs></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.ttf deleted file mode 100755 index b64f7b1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.woff deleted file mode 100755 index ee16c35..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/fonts/OpenSans-SemiboldItalic-webfont.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/bullet.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/bullet.png deleted file mode 100644 index 0614eb6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/bullet.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/hr.gif b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/hr.gif deleted file mode 100644 index bdb4168..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/hr.gif and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/nav-bg.gif b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/nav-bg.gif deleted file mode 100644 index 4743965..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/images/nav-bg.gif and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/js/respond.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/js/respond.js deleted file mode 100644 index 76bc260..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-midnight-0.2.0/assets/js/respond.js +++ /dev/null @@ -1,779 +0,0 @@ -if(typeof Object.create!=="function"){ -Object.create=function(o){ -function F(){ -}; -F.prototype=o; -return new F(); -}; -} -var ua={toString:function(){ -return navigator.userAgent; -},test:function(s){ -return this.toString().toLowerCase().indexOf(s.toLowerCase())>-1; -}}; -ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1]; -ua.webkit=ua.test("webkit"); -ua.gecko=ua.test("gecko")&&!ua.webkit; -ua.opera=ua.test("opera"); -ua.ie=ua.test("msie")&&!ua.opera; -ua.ie6=ua.ie&&document.compatMode&&typeof document.documentElement.style.maxHeight==="undefined"; -ua.ie7=ua.ie&&document.documentElement&&typeof document.documentElement.style.maxHeight!=="undefined"&&typeof XDomainRequest==="undefined"; -ua.ie8=ua.ie&&typeof XDomainRequest!=="undefined"; -var domReady=function(){ -var _1=[]; -var _2=function(){ -if(!arguments.callee.done){ -arguments.callee.done=true; -for(var i=0;i<_1.length;i++){ -_1[i](); -} -} -}; -if(document.addEventListener){ -document.addEventListener("DOMContentLoaded",_2,false); -} -if(ua.ie){ -(function(){ -try{ -document.documentElement.doScroll("left"); -} -catch(e){ -setTimeout(arguments.callee,50); -return; -} -_2(); -})(); -document.onreadystatechange=function(){ -if(document.readyState==="complete"){ -document.onreadystatechange=null; -_2(); -} -}; -} -if(ua.webkit&&document.readyState){ -(function(){ -if(document.readyState!=="loading"){ -_2(); -}else{ -setTimeout(arguments.callee,10); -} -})(); -} -window.onload=_2; -return function(fn){ -if(typeof fn==="function"){ -_1[_1.length]=fn; -} -return fn; -}; -}(); -var cssHelper=function(){ -var _3={BLOCKS:/[^\s{][^{]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,BLOCKS_INSIDE:/[^\s{][^{]*\{[^{}]*\}/g,DECLARATIONS:/[a-zA-Z\-]+[^;]*:[^;]+;/g,RELATIVE_URLS:/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,REDUNDANT_COMPONENTS:/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;)/g,REDUNDANT_WHITESPACE:/\s*(,|:|;|\{|\})\s*/g,MORE_WHITESPACE:/\s{2,}/g,FINAL_SEMICOLONS:/;\}/g,NOT_WHITESPACE:/\S+/g}; -var _4,_5=false; -var _6=[]; -var _7=function(fn){ -if(typeof fn==="function"){ -_6[_6.length]=fn; -} -}; -var _8=function(){ -for(var i=0;i<_6.length;i++){ -_6[i](_4); -} -}; -var _9={}; -var _a=function(n,v){ -if(_9[n]){ -var _b=_9[n].listeners; -if(_b){ -for(var i=0;i<_b.length;i++){ -_b[i](v); -} -} -} -}; -var _c=function(_d,_e,_f){ -if(ua.ie&&!window.XMLHttpRequest){ -window.XMLHttpRequest=function(){ -return new ActiveXObject("Microsoft.XMLHTTP"); -}; -} -if(!XMLHttpRequest){ -return ""; -} -var r=new XMLHttpRequest(); -try{ -r.open("get",_d,true); -r.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest"); -} -catch(e){ -_f(); -return; -} -var _10=false; -setTimeout(function(){ -_10=true; -},5000); -document.documentElement.style.cursor="progress"; -r.onreadystatechange=function(){ -if(r.readyState===4&&!_10){ -if(!r.status&&location.protocol==="file:"||(r.status>=200&&r.status<300)||r.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof r.status==="undefined"){ -_e(r.responseText); -}else{ -_f(); -} -document.documentElement.style.cursor=""; -r=null; -} -}; -r.send(""); -}; -var _11=function(_12){ -_12=_12.replace(_3.REDUNDANT_COMPONENTS,""); -_12=_12.replace(_3.REDUNDANT_WHITESPACE,"$1"); -_12=_12.replace(_3.MORE_WHITESPACE," "); -_12=_12.replace(_3.FINAL_SEMICOLONS,"}"); -return _12; -}; -var _13={mediaQueryList:function(s){ -var o={}; -var idx=s.indexOf("{"); -var lt=s.substring(0,idx); -s=s.substring(idx+1,s.length-1); -var mqs=[],rs=[]; -var qts=lt.toLowerCase().substring(7).split(","); -for(var i=0;i<qts.length;i++){ -mqs[mqs.length]=_13.mediaQuery(qts[i],o); -} -var rts=s.match(_3.BLOCKS_INSIDE); -if(rts!==null){ -for(i=0;i<rts.length;i++){ -rs[rs.length]=_13.rule(rts[i],o); -} -} -o.getMediaQueries=function(){ -return mqs; -}; -o.getRules=function(){ -return rs; -}; -o.getListText=function(){ -return lt; -}; -o.getCssText=function(){ -return s; -}; -return o; -},mediaQuery:function(s,mql){ -s=s||""; -var not=false,_14; -var exp=[]; -var _15=true; -var _16=s.match(_3.NOT_WHITESPACE); -for(var i=0;i<_16.length;i++){ -var _17=_16[i]; -if(!_14&&(_17==="not"||_17==="only")){ -if(_17==="not"){ -not=true; -} -}else{ -if(!_14){ -_14=_17; -}else{ -if(_17.charAt(0)==="("){ -var _18=_17.substring(1,_17.length-1).split(":"); -exp[exp.length]={mediaFeature:_18[0],value:_18[1]||null}; -} -} -} -} -return {getList:function(){ -return mql||null; -},getValid:function(){ -return _15; -},getNot:function(){ -return not; -},getMediaType:function(){ -return _14; -},getExpressions:function(){ -return exp; -}}; -},rule:function(s,mql){ -var o={}; -var idx=s.indexOf("{"); -var st=s.substring(0,idx); -var ss=st.split(","); -var ds=[]; -var dts=s.substring(idx+1,s.length-1).split(";"); -for(var i=0;i<dts.length;i++){ -ds[ds.length]=_13.declaration(dts[i],o); -} -o.getMediaQueryList=function(){ -return mql||null; -}; -o.getSelectors=function(){ -return ss; -}; -o.getSelectorText=function(){ -return st; -}; -o.getDeclarations=function(){ -return ds; -}; -o.getPropertyValue=function(n){ -for(var i=0;i<ds.length;i++){ -if(ds[i].getProperty()===n){ -return ds[i].getValue(); -} -} -return null; -}; -return o; -},declaration:function(s,r){ -var idx=s.indexOf(":"); -var p=s.substring(0,idx); -var v=s.substring(idx+1); -return {getRule:function(){ -return r||null; -},getProperty:function(){ -return p; -},getValue:function(){ -return v; -}}; -}}; -var _19=function(el){ -if(typeof el.cssHelperText!=="string"){ -return; -} -var o={mediaQueryLists:[],rules:[],selectors:{},declarations:[],properties:{}}; -var _1a=o.mediaQueryLists; -var ors=o.rules; -var _1b=el.cssHelperText.match(_3.BLOCKS); -if(_1b!==null){ -for(var i=0;i<_1b.length;i++){ -if(_1b[i].substring(0,7)==="@media "){ -_1a[_1a.length]=_13.mediaQueryList(_1b[i]); -ors=o.rules=ors.concat(_1a[_1a.length-1].getRules()); -}else{ -ors[ors.length]=_13.rule(_1b[i]); -} -} -} -var oss=o.selectors; -var _1c=function(r){ -var ss=r.getSelectors(); -for(var i=0;i<ss.length;i++){ -var n=ss[i]; -if(!oss[n]){ -oss[n]=[]; -} -oss[n][oss[n].length]=r; -} -}; -for(i=0;i<ors.length;i++){ -_1c(ors[i]); -} -var ods=o.declarations; -for(i=0;i<ors.length;i++){ -ods=o.declarations=ods.concat(ors[i].getDeclarations()); -} -var ops=o.properties; -for(i=0;i<ods.length;i++){ -var n=ods[i].getProperty(); -if(!ops[n]){ -ops[n]=[]; -} -ops[n][ops[n].length]=ods[i]; -} -el.cssHelperParsed=o; -_4[_4.length]=el; -return o; -}; -var _1d=function(el,s){ -el.cssHelperText=_11(s||el.innerHTML); -return _19(el); -}; -var _1e=function(){ -_5=true; -_4=[]; -var _1f=[]; -var _20=function(){ -for(var i=0;i<_1f.length;i++){ -_19(_1f[i]); -} -var _21=document.getElementsByTagName("style"); -for(i=0;i<_21.length;i++){ -_1d(_21[i]); -} -_5=false; -_8(); -}; -var _22=document.getElementsByTagName("link"); -for(var i=0;i<_22.length;i++){ -var _23=_22[i]; -if(_23.getAttribute("rel").indexOf("style")>-1&&_23.href&&_23.href.length!==0&&!_23.disabled){ -_1f[_1f.length]=_23; -} -} -if(_1f.length>0){ -var c=0; -var _24=function(){ -c++; -if(c===_1f.length){ -_20(); -} -}; -var _25=function(_26){ -var _27=_26.href; -_c(_27,function(_28){ -_28=_11(_28).replace(_3.RELATIVE_URLS,"url("+_27.substring(0,_27.lastIndexOf("/"))+"/$1)"); -_26.cssHelperText=_28; -_24(); -},_24); -}; -for(i=0;i<_1f.length;i++){ -_25(_1f[i]); -} -}else{ -_20(); -} -}; -var _29={mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"}; -var _2a={mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null}; -var _2b=function(_2c,v){ -if(_2a[_2c]!==null){ -if(_29[_2c]==="array"){ -return (_2a[_2c]=_2a[_2c].concat(v)); -}else{ -var c=_2a[_2c]; -for(var n in v){ -if(v.hasOwnProperty(n)){ -if(!c[n]){ -c[n]=v[n]; -}else{ -c[n]=c[n].concat(v[n]); -} -} -} -return c; -} -} -}; -var _2d=function(_2e){ -_2a[_2e]=(_29[_2e]==="array")?[]:{}; -for(var i=0;i<_4.length;i++){ -_2b(_2e,_4[i].cssHelperParsed[_2e]); -} -return _2a[_2e]; -}; -domReady(function(){ -var els=document.body.getElementsByTagName("*"); -for(var i=0;i<els.length;i++){ -els[i].checkedByCssHelper=true; -} -if(document.implementation.hasFeature("MutationEvents","2.0")||window.MutationEvent){ -document.body.addEventListener("DOMNodeInserted",function(e){ -var el=e.target; -if(el.nodeType===1){ -_a("DOMElementInserted",el); -el.checkedByCssHelper=true; -} -},false); -}else{ -setInterval(function(){ -var els=document.body.getElementsByTagName("*"); -for(var i=0;i<els.length;i++){ -if(!els[i].checkedByCssHelper){ -_a("DOMElementInserted",els[i]); -els[i].checkedByCssHelper=true; -} -} -},1000); -} -}); -var _2f=function(d){ -if(typeof window.innerWidth!="undefined"){ -return window["inner"+d]; -}else{ -if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){ -return document.documentElement["client"+d]; -} -} -}; -return {addStyle:function(s,_30){ -var el=document.createElement("style"); -el.setAttribute("type","text/css"); -document.getElementsByTagName("head")[0].appendChild(el); -if(el.styleSheet){ -el.styleSheet.cssText=s; -}else{ -el.appendChild(document.createTextNode(s)); -} -el.addedWithCssHelper=true; -if(typeof _30==="undefined"||_30===true){ -cssHelper.parsed(function(_31){ -var o=_1d(el,s); -for(var n in o){ -if(o.hasOwnProperty(n)){ -_2b(n,o[n]); -} -} -_a("newStyleParsed",el); -}); -}else{ -el.parsingDisallowed=true; -} -return el; -},removeStyle:function(el){ -return el.parentNode.removeChild(el); -},parsed:function(fn){ -if(_5){ -_7(fn); -}else{ -if(typeof _4!=="undefined"){ -if(typeof fn==="function"){ -fn(_4); -} -}else{ -_7(fn); -_1e(); -} -} -},mediaQueryLists:function(fn){ -cssHelper.parsed(function(_32){ -fn(_2a.mediaQueryLists||_2d("mediaQueryLists")); -}); -},rules:function(fn){ -cssHelper.parsed(function(_33){ -fn(_2a.rules||_2d("rules")); -}); -},selectors:function(fn){ -cssHelper.parsed(function(_34){ -fn(_2a.selectors||_2d("selectors")); -}); -},declarations:function(fn){ -cssHelper.parsed(function(_35){ -fn(_2a.declarations||_2d("declarations")); -}); -},properties:function(fn){ -cssHelper.parsed(function(_36){ -fn(_2a.properties||_2d("properties")); -}); -},broadcast:_a,addListener:function(n,fn){ -if(typeof fn==="function"){ -if(!_9[n]){ -_9[n]={listeners:[]}; -} -_9[n].listeners[_9[n].listeners.length]=fn; -} -},removeListener:function(n,fn){ -if(typeof fn==="function"&&_9[n]){ -var ls=_9[n].listeners; -for(var i=0;i<ls.length;i++){ -if(ls[i]===fn){ -ls.splice(i,1); -i-=1; -} -} -} -},getViewportWidth:function(){ -return _2f("Width"); -},getViewportHeight:function(){ -return _2f("Height"); -}}; -}(); -domReady(function enableCssMediaQueries(){ -var _37; -var _38={LENGTH_UNIT:/[0-9]+(em|ex|px|in|cm|mm|pt|pc)$/,RESOLUTION_UNIT:/[0-9]+(dpi|dpcm)$/,ASPECT_RATIO:/^[0-9]+\/[0-9]+$/,ABSOLUTE_VALUE:/^[0-9]*(\.[0-9]+)*$/}; -var _39=[]; -var _3a=function(){ -var id="css3-mediaqueries-test"; -var el=document.createElement("div"); -el.id=id; -var _3b=cssHelper.addStyle("@media all and (width) { #"+id+" { width: 1px !important; } }",false); -document.body.appendChild(el); -var ret=el.offsetWidth===1; -_3b.parentNode.removeChild(_3b); -el.parentNode.removeChild(el); -_3a=function(){ -return ret; -}; -return ret; -}; -var _3c=function(){ -_37=document.createElement("div"); -_37.style.cssText="position:absolute;top:-9999em;left:-9999em;"+"margin:0;border:none;padding:0;width:1em;font-size:1em;"; -document.body.appendChild(_37); -if(_37.offsetWidth!==16){ -_37.style.fontSize=16/_37.offsetWidth+"em"; -} -_37.style.width=""; -}; -var _3d=function(_3e){ -_37.style.width=_3e; -var _3f=_37.offsetWidth; -_37.style.width=""; -return _3f; -}; -var _40=function(_41,_42){ -var l=_41.length; -var min=(_41.substring(0,4)==="min-"); -var max=(!min&&_41.substring(0,4)==="max-"); -if(_42!==null){ -var _43; -var _44; -if(_38.LENGTH_UNIT.exec(_42)){ -_43="length"; -_44=_3d(_42); -}else{ -if(_38.RESOLUTION_UNIT.exec(_42)){ -_43="resolution"; -_44=parseInt(_42,10); -var _45=_42.substring((_44+"").length); -}else{ -if(_38.ASPECT_RATIO.exec(_42)){ -_43="aspect-ratio"; -_44=_42.split("/"); -}else{ -if(_38.ABSOLUTE_VALUE){ -_43="absolute"; -_44=_42; -}else{ -_43="unknown"; -} -} -} -} -} -var _46,_47; -if("device-width"===_41.substring(l-12,l)){ -_46=screen.width; -if(_42!==null){ -if(_43==="length"){ -return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); -}else{ -return false; -} -}else{ -return _46>0; -} -}else{ -if("device-height"===_41.substring(l-13,l)){ -_47=screen.height; -if(_42!==null){ -if(_43==="length"){ -return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); -}else{ -return false; -} -}else{ -return _47>0; -} -}else{ -if("width"===_41.substring(l-5,l)){ -_46=document.documentElement.clientWidth||document.body.clientWidth; -if(_42!==null){ -if(_43==="length"){ -return ((min&&_46>=_44)||(max&&_46<_44)||(!min&&!max&&_46===_44)); -}else{ -return false; -} -}else{ -return _46>0; -} -}else{ -if("height"===_41.substring(l-6,l)){ -_47=document.documentElement.clientHeight||document.body.clientHeight; -if(_42!==null){ -if(_43==="length"){ -return ((min&&_47>=_44)||(max&&_47<_44)||(!min&&!max&&_47===_44)); -}else{ -return false; -} -}else{ -return _47>0; -} -}else{ -if("device-aspect-ratio"===_41.substring(l-19,l)){ -return _43==="aspect-ratio"&&screen.width*_44[1]===screen.height*_44[0]; -}else{ -if("color-index"===_41.substring(l-11,l)){ -var _48=Math.pow(2,screen.colorDepth); -if(_42!==null){ -if(_43==="absolute"){ -return ((min&&_48>=_44)||(max&&_48<_44)||(!min&&!max&&_48===_44)); -}else{ -return false; -} -}else{ -return _48>0; -} -}else{ -if("color"===_41.substring(l-5,l)){ -var _49=screen.colorDepth; -if(_42!==null){ -if(_43==="absolute"){ -return ((min&&_49>=_44)||(max&&_49<_44)||(!min&&!max&&_49===_44)); -}else{ -return false; -} -}else{ -return _49>0; -} -}else{ -if("resolution"===_41.substring(l-10,l)){ -var res; -if(_45==="dpcm"){ -res=_3d("1cm"); -}else{ -res=_3d("1in"); -} -if(_42!==null){ -if(_43==="resolution"){ -return ((min&&res>=_44)||(max&&res<_44)||(!min&&!max&&res===_44)); -}else{ -return false; -} -}else{ -return res>0; -} -}else{ -return false; -} -} -} -} -} -} -} -} -}; -var _4a=function(mq){ -var _4b=mq.getValid(); -var _4c=mq.getExpressions(); -var l=_4c.length; -if(l>0){ -for(var i=0;i<l&&_4b;i++){ -_4b=_40(_4c[i].mediaFeature,_4c[i].value); -} -var not=mq.getNot(); -return (_4b&&!not||not&&!_4b); -} -}; -var _4d=function(mql){ -var mqs=mql.getMediaQueries(); -var t={}; -for(var i=0;i<mqs.length;i++){ -if(_4a(mqs[i])){ -t[mqs[i].getMediaType()]=true; -} -} -var s=[],c=0; -for(var n in t){ -if(t.hasOwnProperty(n)){ -if(c>0){ -s[c++]=","; -} -s[c++]=n; -} -} -if(s.length>0){ -_39[_39.length]=cssHelper.addStyle("@media "+s.join("")+"{"+mql.getCssText()+"}",false); -} -}; -var _4e=function(_4f){ -for(var i=0;i<_4f.length;i++){ -_4d(_4f[i]); -} -if(ua.ie){ -document.documentElement.style.display="block"; -setTimeout(function(){ -document.documentElement.style.display=""; -},0); -setTimeout(function(){ -cssHelper.broadcast("cssMediaQueriesTested"); -},100); -}else{ -cssHelper.broadcast("cssMediaQueriesTested"); -} -}; -var _50=function(){ -for(var i=0;i<_39.length;i++){ -cssHelper.removeStyle(_39[i]); -} -_39=[]; -cssHelper.mediaQueryLists(_4e); -}; -var _51=0; -var _52=function(){ -var _53=cssHelper.getViewportWidth(); -var _54=cssHelper.getViewportHeight(); -if(ua.ie){ -var el=document.createElement("div"); -el.style.position="absolute"; -el.style.top="-9999em"; -el.style.overflow="scroll"; -document.body.appendChild(el); -_51=el.offsetWidth-el.clientWidth; -document.body.removeChild(el); -} -var _55; -var _56=function(){ -var vpw=cssHelper.getViewportWidth(); -var vph=cssHelper.getViewportHeight(); -if(Math.abs(vpw-_53)>_51||Math.abs(vph-_54)>_51){ -_53=vpw; -_54=vph; -clearTimeout(_55); -_55=setTimeout(function(){ -if(!_3a()){ -_50(); -}else{ -cssHelper.broadcast("cssMediaQueriesTested"); -} -},500); -} -}; -window.onresize=function(){ -var x=window.onresize||function(){ -}; -return function(){ -x(); -_56(); -}; -}(); -}; -var _57=document.documentElement; -_57.style.marginLeft="-32767px"; -setTimeout(function(){ -_57.style.marginTop=""; -},20000); -return function(){ -if(!_3a()){ -cssHelper.addListener("newStyleParsed",function(el){ -_4e(el.cssHelperParsed.mediaQueryLists); -}); -cssHelper.addListener("cssMediaQueriesTested",function(){ -if(ua.ie){ -_57.style.width="1px"; -} -setTimeout(function(){ -_57.style.width=""; -_57.style.marginLeft=""; -},0); -cssHelper.removeListener("cssMediaQueriesTested",arguments.callee); -}); -_3c(); -_50(); -}else{ -_57.style.marginLeft=""; -} -_52(); -}; -}()); -try{ -document.execCommand("BackgroundImageCache",false,true); -} -catch(e){ -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/README.md deleted file mode 100644 index b6e6b69..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Minimal theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/minimal/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/minimal/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-minimal.svg)](https://badge.fury.io/rb/jekyll-theme-minimal) - -*Minimal is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/minimal), or even [use it today](#usage).* - -![Thumbnail of Minimal](thumbnail.png) - -## Usage - -To use the Minimal theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/minimal@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Minimal will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/minimal/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/minimal/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/minimal/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/minimal/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/minimal/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Minimal theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Minimal? We'd love your help. Minimal is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/minimal`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_layouts/default.html deleted file mode 100644 index 0870472..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_layouts/default.html +++ /dev/null @@ -1,56 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - -{% seo %} - <link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}"> - <!--[if lt IE 9]> - <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script> - <![endif]--> - {% include head-custom.html %} - </head> - <body> - <div class="wrapper"> - <header> - <h1><a href="{{ "/" | absolute_url }}">{{ site.title | default: site.github.repository_name }}</a></h1> - - {% if site.logo %} - <img src="{{site.logo | relative_url}}" alt="Logo" /> - {% endif %} - - <p>{{ site.description | default: site.github.project_tagline }}</p> - - {% if site.github.is_project_page %} - <p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p> - {% endif %} - - {% if site.github.is_user_page %} - <p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p> - {% endif %} - - {% if site.show_downloads %} - <ul class="downloads"> - <li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li> - <li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li> - <li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li> - </ul> - {% endif %} - </header> - <section> - - {{ content }} - - </section> - <footer> - {% if site.github.is_project_page %} - <p>This project is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p> - {% endif %} - <p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p> - </footer> - </div> - <script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_layouts/post.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_layouts/post.html deleted file mode 100644 index 0676aff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_layouts/post.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: default ---- - -<small>{{ page.date | date: "%-d %B %Y" }}</small> -<h1>{{ page.title }}</h1> - -<p class="view">by {{ page.author | default: site.author }}</p> - -{{content}} - -{% if page.tags %} - <small>tags: <em>{{ page.tags | join: "</em> - <em>" }}</em></small> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/fonts.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/fonts.scss deleted file mode 100644 index 04c28e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/fonts.scss +++ /dev/null @@ -1,55 +0,0 @@ -@font-face { - font-family: 'Noto Sans'; - font-weight: 400; - font-style: normal; - src: url('../fonts/Noto-Sans-regular/Noto-Sans-regular.eot'); - src: url('../fonts/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix') format('embedded-opentype'), - local('Noto Sans'), - local('Noto-Sans-regular'), - url('../fonts/Noto-Sans-regular/Noto-Sans-regular.woff2') format('woff2'), - url('../fonts/Noto-Sans-regular/Noto-Sans-regular.woff') format('woff'), - url('../fonts/Noto-Sans-regular/Noto-Sans-regular.ttf') format('truetype'), - url('../fonts/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans') format('svg'); -} - -@font-face { - font-family: 'Noto Sans'; - font-weight: 700; - font-style: normal; - src: url('../fonts/Noto-Sans-700/Noto-Sans-700.eot'); - src: url('../fonts/Noto-Sans-700/Noto-Sans-700.eot?#iefix') format('embedded-opentype'), - local('Noto Sans Bold'), - local('Noto-Sans-700'), - url('../fonts/Noto-Sans-700/Noto-Sans-700.woff2') format('woff2'), - url('../fonts/Noto-Sans-700/Noto-Sans-700.woff') format('woff'), - url('../fonts/Noto-Sans-700/Noto-Sans-700.ttf') format('truetype'), - url('../fonts/Noto-Sans-700/Noto-Sans-700.svg#NotoSans') format('svg'); -} - -@font-face { - font-family: 'Noto Sans'; - font-weight: 400; - font-style: italic; - src: url('../fonts/Noto-Sans-italic/Noto-Sans-italic.eot'); - src: url('../fonts/Noto-Sans-italic/Noto-Sans-italic.eot?#iefix') format('embedded-opentype'), - local('Noto Sans Italic'), - local('Noto-Sans-italic'), - url('../fonts/Noto-Sans-italic/Noto-Sans-italic.woff2') format('woff2'), - url('../fonts/Noto-Sans-italic/Noto-Sans-italic.woff') format('woff'), - url('../fonts/Noto-Sans-italic/Noto-Sans-italic.ttf') format('truetype'), - url('../fonts/Noto-Sans-italic/Noto-Sans-italic.svg#NotoSans') format('svg'); -} - -@font-face { - font-family: 'Noto Sans'; - font-weight: 700; - font-style: italic; - src: url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot'); - src: url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot?#iefix') format('embedded-opentype'), - local('Noto Sans Bold Italic'), - local('Noto-Sans-700italic'), - url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2') format('woff2'), - url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff') format('woff'), - url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf') format('truetype'), - url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg#NotoSans') format('svg'); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/jekyll-theme-minimal.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/jekyll-theme-minimal.scss deleted file mode 100644 index fecbca3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/jekyll-theme-minimal.scss +++ /dev/null @@ -1,286 +0,0 @@ -@import "fonts"; -@import "rouge-github"; - -body { - background-color: #fff; - padding:50px; - font: 14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - color:#727272; - font-weight:400; -} - -h1, h2, h3, h4, h5, h6 { - color:#222; - margin:0 0 20px; -} - -p, ul, ol, table, pre, dl { - margin:0 0 20px; -} - -h1, h2, h3 { - line-height:1.1; -} - -h1 { - font-size:28px; -} - -h2 { - color:#393939; -} - -h3, h4, h5, h6 { - color:#494949; -} - -a { - color:#267CB9; - text-decoration:none; -} - -a:hover, a:focus { - color:#069; - font-weight: bold; -} - -a small { - font-size:11px; - color:#777; - margin-top:-0.3em; - display:block; -} - -a:hover small { - color:#777; -} - -.wrapper { - width:860px; - margin:0 auto; -} - -blockquote { - border-left:1px solid #e5e5e5; - margin:0; - padding:0 0 0 20px; - font-style:italic; -} - -code, pre { - font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace; - color:#333; -} - -pre { - padding:8px 15px; - background: #f8f8f8; - border-radius:5px; - border:1px solid #e5e5e5; - overflow-x: auto; -} - -table { - width:100%; - border-collapse:collapse; -} - -th, td { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #e5e5e5; -} - -dt { - color:#444; - font-weight:700; -} - -th { - color:#444; -} - -img { - max-width:100%; -} - -kbd { - background-color: #fafbfc; - border: 1px solid #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; - color: #444d56; - display: inline-block; - font-size: 11px; - line-height: 10px; - padding: 3px 5px; - vertical-align: middle; -} - -header { - width:270px; - float:left; - position:fixed; - -webkit-font-smoothing:subpixel-antialiased; -} - -ul.downloads { - list-style:none; - height:40px; - padding:0; - background: #f4f4f4; - border-radius:5px; - border:1px solid #e0e0e0; - width:270px; -} - -.downloads li { - width:89px; - float:left; - border-right:1px solid #e0e0e0; - height:40px; -} - -.downloads li:first-child a { - border-radius:5px 0 0 5px; -} - -.downloads li:last-child a { - border-radius:0 5px 5px 0; -} - -.downloads a { - line-height:1; - font-size:11px; - color:#676767; - display:block; - text-align:center; - padding-top:6px; - height:34px; -} - -.downloads a:hover, .downloads a:focus { - color:#675C5C; - font-weight:bold; -} - -.downloads ul a:active { - background-color:#f0f0f0; -} - -strong { - color:#222; - font-weight:700; -} - -.downloads li + li + li { - border-right:none; - width:89px; -} - -.downloads a strong { - font-size:14px; - display:block; - color:#222; -} - -section { - width:500px; - float:right; - padding-bottom:50px; -} - -small { - font-size:11px; -} - -hr { - border:0; - background:#e5e5e5; - height:1px; - margin:0 0 20px; -} - -footer { - width:270px; - float:left; - position:fixed; - bottom:50px; - -webkit-font-smoothing:subpixel-antialiased; -} - -@media print, screen and (max-width: 960px) { - - div.wrapper { - width:auto; - margin:0; - } - - header, section, footer { - float:none; - position:static; - width:auto; - } - - header { - padding-right:320px; - } - - section { - border:1px solid #e5e5e5; - border-width:1px 0; - padding:20px 0; - margin:0 0 20px; - } - - header a small { - display:inline; - } - - header ul { - position:absolute; - right:50px; - top:52px; - } -} - -@media print, screen and (max-width: 720px) { - body { - word-wrap:break-word; - } - - header { - padding:0; - } - - header ul, header p.view { - position:static; - } - - pre, code { - word-wrap:normal; - } -} - -@media print, screen and (max-width: 480px) { - body { - padding:15px; - } - - .downloads { - width:99%; - } - - .downloads li, .downloads li + li + li { - width:33%; - } -} - -@media print { - body { - padding:0.4in; - font-size:12pt; - color:#444; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/minimal.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/minimal.scss deleted file mode 100644 index 28c7d4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/minimal.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-minimal"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/rouge-github.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/rouge-github.scss deleted file mode 100644 index daf76ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/_sass/rouge-github.scss +++ /dev/null @@ -1,209 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight .cm { - color: #999988; - font-style: italic; -} -.highlight .cp { - color: #999999; - font-weight: bold; -} -.highlight .c1 { - color: #999988; - font-style: italic; -} -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; -} -.highlight .c, .highlight .cd { - color: #999988; - font-style: italic; -} -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} -.highlight .ge { - color: #000000; - font-style: italic; -} -.highlight .gr { - color: #aa0000; -} -.highlight .gh { - color: #999999; -} -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} -.highlight .go { - color: #888888; -} -.highlight .gp { - color: #555555; -} -.highlight .gs { - font-weight: bold; -} -.highlight .gu { - color: #aaaaaa; -} -.highlight .gt { - color: #aa0000; -} -.highlight .kc { - color: #000000; - font-weight: bold; -} -.highlight .kd { - color: #000000; - font-weight: bold; -} -.highlight .kn { - color: #000000; - font-weight: bold; -} -.highlight .kp { - color: #000000; - font-weight: bold; -} -.highlight .kr { - color: #000000; - font-weight: bold; -} -.highlight .kt { - color: #445588; - font-weight: bold; -} -.highlight .k, .highlight .kv { - color: #000000; - font-weight: bold; -} -.highlight .mf { - color: #009999; -} -.highlight .mh { - color: #009999; -} -.highlight .il { - color: #009999; -} -.highlight .mi { - color: #009999; -} -.highlight .mo { - color: #009999; -} -.highlight .m, .highlight .mb, .highlight .mx { - color: #009999; -} -.highlight .sb { - color: #d14; -} -.highlight .sc { - color: #d14; -} -.highlight .sd { - color: #d14; -} -.highlight .s2 { - color: #d14; -} -.highlight .se { - color: #d14; -} -.highlight .sh { - color: #d14; -} -.highlight .si { - color: #d14; -} -.highlight .sx { - color: #d14; -} -.highlight .sr { - color: #009926; -} -.highlight .s1 { - color: #d14; -} -.highlight .ss { - color: #990073; -} -.highlight .s { - color: #d14; -} -.highlight .na { - color: #008080; -} -.highlight .bp { - color: #999999; -} -.highlight .nb { - color: #0086B3; -} -.highlight .nc { - color: #445588; - font-weight: bold; -} -.highlight .no { - color: #008080; -} -.highlight .nd { - color: #3c5d5d; - font-weight: bold; -} -.highlight .ni { - color: #800080; -} -.highlight .ne { - color: #990000; - font-weight: bold; -} -.highlight .nf { - color: #990000; - font-weight: bold; -} -.highlight .nl { - color: #990000; - font-weight: bold; -} -.highlight .nn { - color: #555555; -} -.highlight .nt { - color: #000080; -} -.highlight .vc { - color: #008080; -} -.highlight .vg { - color: #008080; -} -.highlight .vi { - color: #008080; -} -.highlight .nv { - color: #008080; -} -.highlight .ow { - color: #000000; - font-weight: bold; -} -.highlight .o { - color: #000000; - font-weight: bold; -} -.highlight .w { - color: #bbbbbb; -} -.highlight { - background-color: #f8f8f8; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/css/style.scss deleted file mode 100644 index 0a14227..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-minimal"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot deleted file mode 100755 index 03bf93f..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg deleted file mode 100755 index 925fe47..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg +++ /dev/null @@ -1,336 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg"> -<defs > -<font id="NotoSans" horiz-adv-x="1254" ><font-face - font-family="Noto Sans" - units-per-em="2048" - panose-1="2 11 8 2 4 5 4 2 2 4" - ascent="2189" - descent="-600" - alphabetic="0" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="825" d="M570 485H326L275 1462H621L570 485ZM271 143Q271 190 284 222T322 275T378 304T447 313Q482 313 513 304T569 275T607 223T621 143Q621 98 607 66T569 13T514 -17T447 -27Q410 -27 378 -18T322 13T285 66T271 143Z" /> -<glyph unicode="&quot;" horiz-adv-x="1118" d="M502 1494L461 966H264L223 1494H502ZM924 1494L883 966H686L645 1494H924Z" /> -<glyph unicode="#" horiz-adv-x="1363" d="M1019 767L972 535H1217V329H933L871 0H651L714 329H520L459 0H244L303 329H79V535H342L389 767H151V976H426L486 1295H705L645 976H843L904 1295H1119L1058 976H1285V767H1019ZM559 535H755L802 767H606L559 535Z" /> -<glyph unicode="$" horiz-adv-x="1171" d="M1092 457Q1092 298 977 202T655 86V-119H518V82Q274 87 90 168V432Q177 389 299 356T518 317V627L451 653Q253 731 171 822T88 1049Q88 1194 201 1287T518 1401V1554H655V1405Q884 1395 1069 1313L975 1079Q819 1143 -655 1157V862Q850 787 932 732T1053 611T1092 457ZM791 442Q791 484 757 513T655 573V324Q791 347 791 442ZM389 1049Q389 1005 419 977T518 918V1153Q389 1134 389 1049Z" /> -<glyph unicode="%" horiz-adv-x="1842" d="M324 924Q324 842 349 802T429 761Q483 761 509 801T535 924Q535 1086 429 1086Q374 1086 349 1046T324 924ZM777 926Q777 839 757 770T693 653T584 580T427 554Q342 554 278 579T170 652T104 769T82 926Q82 1013 102 -1082T164 1198T272 1270T427 1295Q513 1295 578 1270T688 1198T754 1082T777 926ZM1434 1274L633 0H404L1205 1274H1434ZM1307 351Q1307 269 1332 229T1412 188Q1466 188 1492 228T1518 351Q1518 513 1412 513Q1357 513 1332 473T1307 351ZM1760 353Q1760 266 1740 -197T1676 81T1567 8T1410 -18Q1325 -18 1261 7T1154 80T1088 197T1066 353Q1066 440 1086 509T1148 625T1255 697T1410 722Q1496 722 1561 697T1671 625T1737 509T1760 353Z" /> -<glyph unicode="&amp;" horiz-adv-x="1536" d="M1536 0H1159L1044 113Q853 -20 612 -20Q368 -20 225 92T82 395Q82 532 142 628T350 809Q275 895 241 973T207 1145Q207 1297 323 1390T635 1483Q821 1483 932 1397T1044 1165Q1044 1046 975 948T752 760L1036 483Q1107 -600 1159 784H1477Q1441 649 1378 521T1235 293L1536 0ZM403 424Q403 338 467 287T633 236Q759 236 860 297L528 627Q470 583 437 535T403 424ZM762 1133Q762 1186 726 1216T633 1247Q566 1247 528 1215T489 1124Q489 1036 584 930Q670 978 716 1024T762 1133Z" -/> -<glyph unicode="&apos;" horiz-adv-x="696" d="M502 1493L461 965H264L223 1493H502Z" /> -<glyph unicode="(" horiz-adv-x="791" d="M135 673Q135 816 153 955T208 1225T301 1476T436 1703H686Q545 1482 473 1218T401 676Q401 540 419 405T473 141T562 -109T684 -338H436Q358 -235 302 -118T208 128T153 394T135 673Z" /> -<glyph unicode=")" horiz-adv-x="791" d="M656 692Q656 549 638 410T583 140T490 -111T355 -338H105Q246 -117 318 147T390 689Q390 825 372 960T318 1224T229 1474T107 1703H355Q433 1600 489 1483T583 1237T638 971T656 692Z" /> -<glyph unicode="*" horiz-adv-x="1243" d="M761 1525L720 1157L1093 1261L1126 1009L786 985L1009 688L782 567L626 880L489 569L253 688L474 985L136 1011L175 1261L540 1157L499 1525H761Z" /> -<glyph unicode="+" horiz-adv-x="1168" d="M475 552H108V771H475V1140H694V771H1060V552H694V188H475V552Z" /> -<glyph unicode="," horiz-adv-x="594" d="M444 288L459 264Q445 206 426 142T383 12T334 -119T283 -244H63Q78 -179 92 -109T120 30T145 165T163 288H444Z" /> -<glyph unicode="-" horiz-adv-x="749" d="M106 484V734H643V484H106Z" /> -<glyph unicode="." horiz-adv-x="584" d="M117 143Q117 190 130 222T168 275T224 304T293 313Q328 313 359 304T415 275T453 223T467 143Q467 98 453 66T415 13T360 -17T293 -27Q256 -27 224 -18T168 13T131 66T117 143Z" /> -<glyph unicode="/" horiz-adv-x="966" d="M894 1705L334 -339H72L632 1705H894Z" /> -<glyph unicode="0" horiz-adv-x="1128" d="M1065 731Q1065 554 1038 415T950 179T794 31T563 -20Q436 -20 342 31T186 179T94 415T63 731Q63 908 90 1048T178 1285T333 1433T563 1485Q689 1485 783 1434T940 1286T1034 1049T1065 731ZM371 731Q371 481 414 355T563 -229Q667 229 712 354T758 731Q758 982 713 1108T563 1235Q510 1235 474 1203T414 1108T381 951T371 731Z" /> -<glyph unicode="1" horiz-adv-x="1128" d="M817 0H508V846Q508 872 508 908T510 984T513 1064T516 1137Q511 1131 499 1119T472 1093T441 1063T410 1036L242 901L92 1087L563 1462H817V0Z" /> -<glyph unicode="2" horiz-adv-x="1128" d="M1063 0H82V215L426 586Q491 656 544 715T635 830T694 944T715 1069Q715 1143 671 1184T551 1225Q472 1225 399 1186T246 1075L78 1274Q123 1315 172 1352T280 1419T410 1465T569 1483Q674 1483 757 1454T900 1372T990 -1242T1022 1071Q1022 985 992 907T910 753T790 603T643 451L467 274V260H1063V0Z" /> -<glyph unicode="3" horiz-adv-x="1128" d="M1006 1135Q1006 1059 982 999T915 893T815 817T690 770V764Q867 742 958 657T1049 426Q1049 330 1015 249T909 107T729 14T473 -20Q355 -20 251 -1T57 59V322Q102 298 152 280T252 250T350 231T442 225Q528 225 585 -241T676 286T724 355T739 444Q739 489 721 525T661 587T552 627T387 641H283V858H385Q477 858 538 874T635 919T687 986T702 1067Q702 1145 654 1189T500 1233Q452 1233 411 1224T334 1200T269 1168T215 1133L59 1339Q101 1370 150 1396T258 1441T383 1472T526 -1483Q634 1483 722 1460T874 1392T971 1283T1006 1135Z" /> -<glyph unicode="4" horiz-adv-x="1128" d="M1085 303H909V0H608V303H4V518L625 1462H909V543H1085V303ZM608 543V791Q608 804 608 828T610 884T612 948T615 1011T618 1063T621 1096H612Q594 1054 572 1007T520 913L276 543H608Z" /> -<glyph unicode="5" horiz-adv-x="1128" d="M598 934Q692 934 773 905T914 820T1008 681T1042 489Q1042 370 1005 276T896 116T718 15T473 -20Q418 -20 364 -15T261 -1T167 24T86 59V326Q121 306 167 289T262 259T362 239T457 231Q591 231 661 286T731 463Q731 -571 663 627T451 684Q425 684 396 681T338 673T283 663T238 651L115 717L170 1462H942V1200H438L414 913Q446 920 488 927T598 934Z" /> -<glyph unicode="6" horiz-adv-x="1128" d="M76 621Q76 726 87 830T128 1029T208 1207T336 1349T522 1444T776 1479Q797 1479 822 1478T872 1476T922 1471T965 1464V1217Q927 1226 885 1231T799 1237Q664 1237 577 1204T439 1110T367 966T340 780H352Q372 816 400 -847T467 901T552 937T659 950Q754 950 830 919T958 829T1039 684T1067 487Q1067 368 1034 274T938 115T788 15T590 -20Q482 -20 388 18T225 136T116 335T76 621ZM584 227Q625 227 658 242T716 289T754 369T768 483Q768 590 724 651T588 713Q542 713 504 695T439 -648T398 583T383 510Q383 459 395 409T433 318T496 252T584 227Z" /> -<glyph unicode="7" horiz-adv-x="1128" d="M207 0L727 1200H55V1460H1063V1266L530 0H207Z" /> -<glyph unicode="8" horiz-adv-x="1128" d="M565 1481Q656 1481 737 1459T879 1393T976 1283T1012 1128Q1012 1062 992 1009T937 912T854 834T750 772Q808 741 863 703T962 618T1031 511T1057 379Q1057 288 1021 214T920 88T765 8T565 -20Q447 -20 355 7T200 84T105 -207T72 371Q72 446 94 506T154 614T243 699T352 764Q303 795 260 831T186 912T136 1011T117 1130Q117 1217 153 1282T252 1392T395 1459T565 1481ZM358 389Q358 349 371 316T409 258T473 221T561 207Q666 207 718 256T770 387Q770 429 753 462T708 524T645 577T575 -623L553 637Q509 615 473 590T412 534T372 467T358 389ZM563 1255Q530 1255 502 1245T453 1216T420 1169T408 1106Q408 1064 420 1034T454 980T504 938T565 901Q596 917 624 936T673 979T708 1035T721 1106Q721 1141 709 1169T676 1216T626 1245T563 1255Z" /> -<glyph unicode="9" horiz-adv-x="1128" d="M1055 838Q1055 733 1044 629T1003 429T923 252T795 109T609 15T354 -20Q333 -20 308 -19T258 -17T208 -13T166 -6V242Q203 232 245 227T332 221Q467 221 554 254T692 348T764 493T791 678H778Q758 642 730 611T664 557T578 -521T471 508Q376 508 300 539T172 629T91 774T63 971Q63 1090 96 1184T192 1343T342 1444T541 1479Q649 1479 743 1441T906 1323T1015 1123T1055 838ZM547 1231Q506 1231 472 1216T414 1170T376 1090T362 975Q362 869 407 807T543 745Q589 745 627 763T692 810T733 -875T748 948Q748 999 736 1049T698 1140T635 1206T547 1231Z" /> -<glyph unicode=":" horiz-adv-x="663" d="M156 143Q156 190 169 222T207 275T263 304T332 313Q367 313 398 304T454 275T492 223T506 143Q506 98 492 66T454 13T399 -17T332 -27Q295 -27 263 -18T207 13T170 66T156 143ZM156 969Q156 1016 169 1048T207 1101T263 -1130T332 1139Q367 1139 398 1130T454 1101T492 1049T506 969Q506 924 492 892T454 839T399 809T332 799Q295 799 263 808T207 838T170 891T156 969Z" /> -<glyph unicode=";" horiz-adv-x="663" d="M483 288L498 264Q484 206 465 142T422 12T373 -119T322 -244H102Q117 -179 131 -109T159 30T184 165T203 288H483ZM156 969Q156 1016 169 1048T207 1101T263 1130T332 1139Q367 1139 398 1130T454 1101T492 1049T506 -969Q506 924 492 892T454 839T399 809T332 799Q295 799 263 808T207 838T170 891T156 969Z" /> -<glyph unicode="&lt;" horiz-adv-x="1168" d="M1060 143L108 581V724L1060 1220V980L417 663L1060 382V143Z" /> -<glyph unicode="=" horiz-adv-x="1168" d="M108 747V964H1060V747H108ZM108 358V577H1060V358H108Z" /> -<glyph unicode="&gt;" horiz-adv-x="1168" d="M108 382L751 663L108 980V1220L1060 724V581L108 143V382Z" /> -<glyph unicode="?" horiz-adv-x="1114" d="M366 485V559Q366 610 376 651T408 730T464 803T546 877Q588 910 617 936T664 987T690 1041T698 1106Q698 1163 660 1200T542 1237Q473 1237 394 1208T229 1137L127 1358Q170 1383 220 1405T325 1445T436 1473T546 1483Q648 -1483 730 1459T869 1387T956 1273T987 1120Q987 1057 973 1008T932 916T863 834T766 750Q724 717 698 693T656 646T636 601T630 545V485H366ZM333 143Q333 190 346 222T384 275T440 304T510 313Q545 313 576 304T632 275T670 223T684 143Q684 98 670 66T632 13T577 --17T510 -27Q473 -27 441 -18T384 13T347 66T333 143Z" /> -<glyph unicode="@" horiz-adv-x="1837" d="M1735 733Q1735 589 1689 469T1559 282T1364 215Q1290 215 1233 250T1151 344H1135Q1086 284 1016 250T860 215Q683 215 581 321T479 612Q479 821 611 951T963 1081Q1044 1081 1150 1066T1323 1026L1300 537Q1300 397 -1376 397Q1440 397 1478 490T1516 735Q1516 896 1450 1019T1262 1208T983 1274Q782 1274 632 1190T403 950T324 590Q324 313 471 166T899 18Q1011 18 1139 43T1382 111V-82Q1170 -172 907 -172Q527 -172 315 28T102 584Q102 831 211 1033T522 1348T981 1462Q1201 -1462 1374 1372T1641 1116T1735 733ZM711 608Q711 397 883 397Q972 397 1019 460T1077 668L1090 889Q1044 899 975 899Q850 899 781 821T711 608Z" /> -<glyph unicode="A" horiz-adv-x="1413" d="M1079 0L973 348H440L334 0H0L516 1468H895L1413 0H1079ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899Z" /> -<glyph unicode="B" horiz-adv-x="1376" d="M184 1462H639Q950 1462 1090 1374T1231 1092Q1231 961 1170 877T1006 776V766Q1145 735 1206 650T1268 424Q1268 224 1124 112T731 0H184V1462ZM494 883H674Q800 883 856 922T913 1051Q913 1135 852 1171T657 1208H494V883ZM494 -637V256H696Q824 256 885 305T946 455Q946 637 686 637H494Z" /> -<glyph unicode="C" horiz-adv-x="1305" d="M805 1225Q630 1225 534 1094T438 727Q438 238 805 238Q959 238 1178 315V55Q998 -20 776 -20Q457 -20 288 173T119 729Q119 957 202 1128T440 1391T805 1483Q1018 1483 1233 1380L1133 1128Q1051 1167 968 1196T805 1225Z" /> -<glyph unicode="D" horiz-adv-x="1516" d="M1397 745Q1397 384 1192 192T598 0H184V1462H643Q1001 1462 1199 1273T1397 745ZM1075 737Q1075 1208 659 1208H494V256H627Q1075 256 1075 737Z" /> -<glyph unicode="E" horiz-adv-x="1147" d="M1026 0H184V1462H1026V1208H494V887H989V633H494V256H1026V0Z" /> -<glyph unicode="F" horiz-adv-x="1124" d="M489 0H184V1462H1022V1208H489V831H985V578H489V0Z" /> -<glyph unicode="G" horiz-adv-x="1483" d="M739 821H1319V63Q1178 17 1054 -1T799 -20Q468 -20 294 174T119 733Q119 1087 321 1285T883 1483Q1108 1483 1317 1393L1214 1145Q1054 1225 881 1225Q680 1225 559 1090T438 727Q438 489 535 364T819 238Q916 238 1016 -258V563H739V821Z" /> -<glyph unicode="H" horiz-adv-x="1567" d="M1382 0H1073V631H494V0H184V1462H494V889H1073V1462H1382V0Z" /> -<glyph unicode="I" horiz-adv-x="797" d="M731 0H66V176L244 258V1204L66 1286V1462H731V1286L553 1204V258L731 176V0Z" /> -<glyph unicode="J" horiz-adv-x="678" d="M31 -430Q-74 -430 -152 -408V-150Q-72 -170 -6 -170Q96 -170 140 -107T184 92V1462H494V94Q494 -162 377 -296T31 -430Z" /> -<glyph unicode="K" horiz-adv-x="1360" d="M1360 0H1008L625 616L494 522V0H184V1462H494V793L616 965L1012 1462H1356L846 815L1360 0Z" /> -<glyph unicode="L" horiz-adv-x="1157" d="M184 0V1462H494V256H1087V0H184Z" /> -<glyph unicode="M" horiz-adv-x="1931" d="M803 0L451 1147H442Q461 797 461 680V0H184V1462H606L952 344H958L1325 1462H1747V0H1458V692Q1458 741 1459 805T1473 1145H1464L1087 0H803Z" /> -<glyph unicode="N" horiz-adv-x="1665" d="M1481 0H1087L451 1106H442Q461 813 461 688V0H184V1462H575L1210 367H1217Q1202 652 1202 770V1462H1481V0Z" /> -<glyph unicode="O" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 817 1227Q632 1227 538 1103T444 -733Z" /> -<glyph unicode="P" horiz-adv-x="1286" d="M494 774H596Q739 774 810 830T881 995Q881 1104 822 1156T635 1208H494V774ZM1194 1006Q1194 770 1047 645T627 520H494V0H184V1462H651Q917 1462 1055 1348T1194 1006Z" /> -<glyph unicode="Q" horiz-adv-x="1630" d="M1511 733Q1511 475 1420 301T1151 45L1503 -348H1106L838 -20H815Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 -817 1227Q632 1227 538 1103T444 733Z" /> -<glyph unicode="R" horiz-adv-x="1352" d="M494 813H594Q741 813 811 862T881 1016Q881 1120 810 1164T588 1208H494V813ZM494 561V0H184V1462H610Q908 1462 1051 1354T1194 1024Q1194 895 1123 795T922 637L1352 0H1008L659 561H494Z" /> -<glyph unicode="S" horiz-adv-x="1128" d="M1047 406Q1047 208 905 94T508 -20Q274 -20 94 68V356Q242 290 344 263T532 236Q634 236 688 275T743 391Q743 434 719 467T649 532T459 631Q325 694 258 752T151 887T111 1067Q111 1261 242 1372T606 1483Q720 1483 -823 1456T1040 1380L940 1139Q823 1187 747 1206T596 1225Q508 1225 461 1184T414 1077Q414 1036 433 1006T493 947T690 844Q895 746 971 648T1047 406Z" /> -<glyph unicode="T" horiz-adv-x="1186" d="M748 0H438V1204H41V1462H1145V1204H748V0Z" /> -<glyph unicode="U" horiz-adv-x="1548" d="M1374 1462V516Q1374 354 1302 232T1092 45T768 -20Q486 -20 330 124T174 520V1462H483V567Q483 398 551 319T776 240Q928 240 996 319T1065 569V1462H1374Z" /> -<glyph unicode="V" horiz-adv-x="1331" d="M1018 1462H1331L834 0H496L0 1462H313L588 592Q611 515 635 413T666 270Q677 362 741 592L1018 1462Z" /> -<glyph unicode="W" horiz-adv-x="1980" d="M1608 0H1255L1057 768Q1046 809 1020 937T989 1110Q983 1056 959 937T922 766L725 0H373L0 1462H305L492 664Q541 443 563 281Q569 338 590 457T631 643L844 1462H1137L1350 643Q1364 588 1385 475T1417 281Q1427 359 -1449 475T1489 664L1675 1462H1980L1608 0Z" /> -<glyph unicode="X" horiz-adv-x="1366" d="M1366 0H1012L672 553L332 0H0L485 754L31 1462H373L688 936L997 1462H1331L872 737L1366 0Z" /> -<glyph unicode="Y" horiz-adv-x="1278" d="M639 860L944 1462H1278L793 569V0H485V559L0 1462H336L639 860Z" /> -<glyph unicode="Z" horiz-adv-x="1186" d="M1137 0H49V201L750 1206H68V1462H1118V1262L418 256H1137V0Z" /> -<glyph unicode="[" horiz-adv-x="798" d="M698 -339H214V1704H698V1493H474V-128H698V-339Z" /> -<glyph unicode="\" horiz-adv-x="966" d="M334 1705L894 -339H632L72 1705H334Z" /> -<glyph unicode="]" horiz-adv-x="798" d="M100 1704H584V-339H100V-128H324V1493H100V1704Z" /> -<glyph unicode="^" horiz-adv-x="1168" d="M45 520L483 1470H627L1122 520H883L561 1163Q492 1002 421 839T281 520H45Z" /> -<glyph unicode="_" horiz-adv-x="842" d="M846 -324H-4V-184H846V-324Z" /> -<glyph unicode="`" horiz-adv-x="1243" d="M707 1241Q644 1285 522 1383T332 1548V1569H674Q737 1468 909 1268V1241H707Z" /> -<glyph unicode="a" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 518L662 -514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518Z" /> -<glyph unicode="b" horiz-adv-x="1296" d="M782 1139Q980 1139 1092 985T1204 561Q1204 284 1089 132T774 -20Q577 -20 465 123H444L393 0H160V1556H465V1194Q465 1125 453 973H465Q572 1139 782 1139ZM684 895Q571 895 519 826T465 596V563Q465 383 518 305T688 -227Q782 227 837 313T893 565Q893 730 837 812T684 895Z" /> -<glyph unicode="c" horiz-adv-x="1053" d="M614 -20Q92 -20 92 553Q92 838 234 988T641 1139Q835 1139 989 1063L899 827Q827 856 765 874T641 893Q403 893 403 555Q403 227 641 227Q729 227 804 250T954 324V63Q880 16 805 -2T614 -20Z" /> -<glyph unicode="d" horiz-adv-x="1296" d="M514 -20Q317 -20 205 133T92 557Q92 832 206 985T522 1139Q733 1139 844 975H854Q831 1100 831 1198V1556H1137V0H903L844 145H831Q727 -20 514 -20ZM621 223Q738 223 792 291T852 522V555Q852 735 797 813T616 891Q514 -891 458 805T401 553Q401 388 458 306T621 223Z" /> -<glyph unicode="e" horiz-adv-x="1210" d="M623 922Q526 922 471 861T408 686H836Q834 799 777 860T623 922ZM666 -20Q396 -20 244 129T92 551Q92 832 232 985T621 1139Q858 1139 990 1004T1122 631V483H401Q406 353 478 280T680 207Q781 207 871 228T1059 295V59Q979 -19 888 0T666 -20Z" /> -<glyph unicode="f" horiz-adv-x="793" d="M778 889H514V0H209V889H41V1036L209 1118V1200Q209 1391 303 1479T604 1567Q762 1567 885 1520L807 1296Q715 1325 637 1325Q572 1325 543 1287T514 1188V1118H778V889Z" /> -<glyph unicode="g" horiz-adv-x="1296" d="M623 219Q746 219 799 289T852 518V555Q852 734 797 812T618 891Q403 891 403 553Q403 385 456 302T623 219ZM1137 -2Q1137 -243 997 -367T578 -492Q333 -492 160 -426V-182Q363 -268 596 -268Q831 -268 831 -14V8L840 -145H831Q724 -20 514 -20Q313 -20 203 135T92 557Q92 832 206 985T522 1139Q728 1139 846 975H854L879 1118H1137V-2Z" /> -<glyph unicode="h" horiz-adv-x="1346" d="M1192 0H887V653Q887 895 707 895Q579 895 522 808T465 526V0H160V1556H465V1239Q465 1202 458 1065L451 975H467Q569 1139 791 1139Q988 1139 1090 1033T1192 729V0Z" /> -<glyph unicode="i" horiz-adv-x="625" d="M147 1407Q147 1556 313 1556Q479 1556 479 1407Q479 1336 438 1297T313 1257Q147 1257 147 1407ZM465 0H160V1118H465V0Z" /> -<glyph unicode="j" horiz-adv-x="625" d="M70 -492Q-47 -492 -131 -467V-227Q-61 -246 12 -246Q89 -246 124 -203T160 -76V1118H465V-121Q465 -299 362 -395T70 -492ZM147 1407Q147 1556 313 1556Q479 1556 479 1407Q479 1336 438 1297T313 1257Q147 1257 147 1407Z" /> -<glyph unicode="k" horiz-adv-x="1270" d="M453 608L586 778L899 1118H1243L799 633L1270 0H918L596 453L465 348V0H160V1556H465V862L449 608H453Z" /> -<glyph unicode="l" horiz-adv-x="625" d="M465 0H160V1556H465V0Z" /> -<glyph unicode="m" horiz-adv-x="2011" d="M1161 0H856V653Q856 774 816 834T688 895Q571 895 518 809T465 526V0H160V1118H393L434 975H451Q496 1052 581 1095T776 1139Q1027 1139 1116 975H1143Q1188 1053 1275 1096T1473 1139Q1663 1139 1760 1042T1858 729V0H1552V653Q1552 -774 1512 834T1384 895Q1272 895 1217 815T1161 561V0Z" /> -<glyph unicode="n" horiz-adv-x="1346" d="M1192 0H887V653Q887 774 844 834T707 895Q579 895 522 810T465 526V0H160V1118H393L434 975H451Q502 1056 591 1097T795 1139Q990 1139 1091 1034T1192 729V0Z" /> -<glyph unicode="o" horiz-adv-x="1268" d="M403 561Q403 395 457 310T635 225Q757 225 810 309T864 561Q864 727 810 810T633 893Q511 893 457 811T403 561ZM1176 561Q1176 288 1032 134T631 -20Q470 -20 347 50T158 253T92 561Q92 835 235 987T637 1139Q798 1139 -921 1069T1110 868T1176 561Z" /> -<glyph unicode="p" horiz-adv-x="1296" d="M774 -20Q577 -20 465 123H449Q465 -17 465 -39V-492H160V1118H408L451 973H465Q572 1139 782 1139Q980 1139 1092 986T1204 561Q1204 382 1152 250T1002 49T774 -20ZM684 895Q571 895 519 826T465 596V563Q465 383 518 -305T688 227Q893 227 893 565Q893 730 843 812T684 895Z" /> -<glyph unicode="q" horiz-adv-x="1296" d="M623 219Q739 219 793 285T852 518V555Q852 735 797 813T618 891Q403 891 403 553Q403 385 456 302T623 219ZM514 -20Q316 -20 204 132T92 557Q92 831 206 985T520 1139Q626 1139 705 1099T844 975H852L879 1118H1137V-492H831V-23Q831 -38 844 145H831Q782 64 701 22T514 -20Z" /> -<glyph unicode="r" horiz-adv-x="930" d="M784 1139Q846 1139 887 1130L864 844Q827 854 774 854Q628 854 547 779T465 569V0H160V1118H391L436 930H451Q503 1024 591 1081T784 1139Z" /> -<glyph unicode="s" horiz-adv-x="1018" d="M940 332Q940 160 821 70T463 -20Q341 -20 255 -4T94 45V297Q179 257 285 230T473 203Q639 203 639 299Q639 335 617 357T541 408T397 475Q268 529 208 575T120 680T92 827Q92 976 207 1057T535 1139Q737 1139 928 1051L836 -831Q752 867 679 890T530 913Q395 913 395 840Q395 799 438 769T629 680Q760 627 821 581T911 475T940 332Z" /> -<glyph unicode="t" horiz-adv-x="889" d="M631 223Q711 223 823 258V31Q709 -20 543 -20Q360 -20 277 72T193 350V889H47V1018L215 1120L303 1356H498V1118H811V889H498V350Q498 285 534 254T631 223Z" /> -<glyph unicode="u" horiz-adv-x="1346" d="M952 0L911 143H895Q846 65 756 23T551 -20Q354 -20 254 85T154 389V1118H459V465Q459 344 502 284T639 223Q767 223 824 308T881 592V1118H1186V0H952Z" /> -<glyph unicode="v" horiz-adv-x="1165" d="M426 0L0 1118H319L535 481Q568 377 578 252H586Q592 365 631 481L846 1118H1165L739 0H426Z" /> -<glyph unicode="w" horiz-adv-x="1753" d="M1079 0L993 391L879 885H870L666 0H338L20 1118H324L453 623Q475 535 514 256H522Q526 332 557 497L573 582L711 1118H1047L1178 582Q1190 527 1207 421T1227 256H1235Q1246 345 1266 458T1300 623L1434 1118H1733L1411 -0H1079Z" /> -<glyph unicode="x" horiz-adv-x="1184" d="M389 571L29 1118H375L592 762L811 1118H1157L793 571L1174 0H827L592 383L356 0H10L389 571Z" /> -<glyph unicode="y" horiz-adv-x="1165" d="M0 1118H334L545 489Q572 407 582 295H588Q599 398 631 489L838 1118H1165L692 -143Q627 -318 507 -405T225 -492Q146 -492 70 -475V-233Q125 -246 190 -246Q271 -246 331 -197T426 -47L444 8L0 1118Z" /> -<glyph unicode="z" horiz-adv-x="999" d="M938 0H55V180L573 885H86V1118H920V920L416 233H938V0Z" /> -<glyph unicode="{" horiz-adv-x="872" d="M78 562V801Q140 801 188 812T270 848T319 912T334 1008V1379Q334 1465 353 1526T421 1627T556 1684T772 1703V1478Q732 1477 700 1470T645 1444T610 1393T598 1310V953Q592 730 364 688V676Q479 656 540 590T598 412V55Q598 -4 610 -28T644 -78T699 -104T772 -113V-339Q641 -339 556 -321T422 -263T353 -162T334 -14V353Q334 466 269 514T78 562Z" /> -<glyph unicode="|" horiz-adv-x="1105" d="M443 1703H662V-339H443V1703Z" /> -<glyph unicode="}" horiz-adv-x="872" d="M794 563Q732 563 684 552T602 516T553 452T538 356V-15Q538 -101 519 -162T451 -263T316 -320T100 -339V-114Q140 -113 172 -106T227 -80T262 -29T274 54V411Q280 634 508 676V688Q393 708 332 774T274 952V1309Q274 -1360 262 1392T228 1442T173 1468T100 1477V1703Q231 1703 316 1685T450 1627T519 1526T538 1378V1011Q538 898 603 850T794 802V563Z" /> -<glyph unicode="~" horiz-adv-x="1168" d="M548 556Q511 572 483 583T431 600T386 609T342 612Q313 612 282 603T221 577T163 538T108 491V722Q159 776 222 803T364 831Q394 831 419 829T473 819T537 800T620 767Q658 751 686 741T739 724T784 715T827 712Q856 -712 887 721T948 747T1006 785T1060 833V602Q959 493 804 493Q774 493 749 495T695 504T631 523T548 556Z" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="&#xa1;" horiz-adv-x="586" d="M168 606H412L463 -369H117L168 606ZM467 948Q467 864 422 821T291 778Q208 778 163 822T117 948Q117 1029 163 1073T291 1118Q375 1118 421 1074T467 948Z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1171" d="M563 176Q143 235 143 741Q143 1002 247 1144T563 1317V1483H741V1325Q907 1316 1040 1251L950 1016Q878 1045 816 1063T692 1081Q571 1081 513 998T455 743Q455 416 692 416Q774 416 840 431T1006 492V238Q879 -177 741 168V-20H563V176Z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1171" d="M700 1483Q895 1483 1090 1401L997 1171Q840 1235 725 1235Q647 1235 605 1191T563 1063V870H938V651H563V508Q563 338 412 260H1130V0H82V248Q185 292 223 349T262 506V651H84V870H262V1065Q262 1266 376 1374T700 1483Z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1171" d="M188 723Q188 825 242 920L113 1047L260 1194L387 1067Q478 1120 584 1120Q689 1120 780 1065L907 1194L1057 1051L928 922Q981 833 981 723Q981 616 928 524L1053 399L907 254L780 379Q685 328 584 328Q469 328 -385 379L260 256L115 401L242 526Q188 619 188 723ZM395 723Q395 646 449 591T584 535Q665 535 720 590T776 723Q776 803 720 858T584 913Q506 913 451 857T395 723Z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1171" d="M584 860L848 1462H1161L778 715H973V537H727V399H973V221H727V0H440V221H193V399H440V537H193V715H383L6 1462H322L584 860Z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M455 1550H674V735H455V1550ZM455 350H674V-465H455V350Z" /> -<glyph unicode="&#xa7;" horiz-adv-x="995" d="M121 801Q121 955 254 1049Q121 1133 121 1280Q121 1409 232 1488T526 1567Q696 1567 889 1483L807 1292Q701 1342 640 1359T520 1376Q439 1376 402 1354T365 1284Q365 1238 411 1202T578 1118Q746 1049 820 967T895 -780Q895 602 770 522Q832 482 863 430T895 303Q895 155 776 68T455 -20Q252 -20 106 59V266Q187 225 286 197T455 168Q649 168 649 285Q649 324 631 348T567 397T442 457Q256 532 189 609T121 801ZM344 823Q344 759 406 709T590 610Q668 667 668 754Q668 823 614 -869T434 961Q396 946 370 909T344 823Z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1243" d="M279 1405Q279 1470 316 1505T418 1540Q484 1540 521 1503T559 1405Q559 1345 521 1309T418 1272Q354 1272 317 1307T279 1405ZM682 1405Q682 1475 722 1507T823 1540Q888 1540 926 1504T965 1405Q965 1344 926 -1308T823 1272Q763 1272 723 1304T682 1405Z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M893 1055Q774 1055 707 970T639 731Q639 574 697 490T891 406Q986 406 1106 453V322Q1046 295 997 284T883 272Q690 272 585 392T479 731Q479 940 590 1064T891 1188Q1021 1188 1143 1126L1083 1001Q977 1055 893 -1055ZM100 731Q100 931 200 1106T475 1382T852 1483Q1052 1483 1227 1383T1503 1108T1604 731Q1604 534 1507 361T1235 84T852 -20Q645 -20 470 83T198 360T100 731ZM209 731Q209 559 295 410T530 175T852 88Q1024 88 1173 174T1408 409T1495 731Q1495 903 1409 -1052T1174 1287T852 1374Q680 1374 531 1288T296 1053T209 731Z" /> -<glyph unicode="&#xaa;" horiz-adv-x="784" d="M561 764L530 874Q487 816 425 784T289 752Q172 752 110 810T47 975Q47 1084 129 1138T397 1202L496 1206Q496 1323 369 1323Q288 1323 152 1262L86 1397Q152 1429 231 1454T410 1479Q547 1479 621 1408T696 1206V764H561ZM252 -977Q252 939 275 921T330 903Q407 903 451 944T496 1051V1087L397 1081Q252 1071 252 977Z" /> -<glyph unicode="&#xab;" horiz-adv-x="1260" d="M82 573L453 1028L672 909L393 561L672 213L453 94L82 547V573ZM588 573L958 1028L1178 909L899 561L1178 213L958 94L588 547V573Z" /> -<glyph unicode="&#xac;" horiz-adv-x="1171" d="M1081 248H862V612H88V831H1081V248Z" /> -<glyph unicode="&#xad;" horiz-adv-x="659" d="M61 424V674H598V424H61Z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M727 764H829Q910 764 954 804T999 909Q999 982 958 1014T827 1047H727V764ZM1157 913Q1157 830 1114 770T997 680L1235 283H1059L854 637H727V283H571V1178H834Q1002 1178 1079 1113T1157 913ZM100 731Q100 931 -200 1106T475 1382T852 1483Q1052 1483 1227 1383T1503 1108T1604 731Q1604 534 1507 361T1235 84T852 -20Q645 -20 470 83T198 360T100 731ZM209 731Q209 559 295 410T530 175T852 88Q1024 88 1173 174T1408 409T1495 731Q1495 903 1409 1052T1174 1287T852 1374Q680 -1374 531 1288T296 1053T209 731Z" /> -<glyph unicode="&#xaf;" horiz-adv-x="749" d="M106 484V734H643V484H106Z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M92 1137Q92 1229 138 1309T264 1436T438 1483Q530 1483 610 1437T737 1310T784 1137Q784 1044 738 964T611 838T438 793Q293 793 193 892T92 1137ZM283 1137Q283 1073 327 1028T438 983Q504 983 549 1029T594 1137Q594 -1200 549 1247T438 1294Q374 1294 329 1248T283 1137Z" /> -<glyph unicode="&#xb1;" horiz-adv-x="1171" d="M475 674H88V893H475V1282H694V893H1081V674H694V289H475V674ZM88 0V219H1081V0H88Z" /> -<glyph unicode="&#xb2;" horiz-adv-x="776" d="M702 586H55V754L279 973Q381 1073 409 1117T438 1212Q438 1250 414 1270T350 1290Q269 1290 170 1202L47 1354Q194 1483 383 1483Q520 1483 599 1417T678 1233Q678 1148 631 1073T455 881L350 786H702V586Z" /> -<glyph unicode="&#xb3;" horiz-adv-x="776" d="M666 1249Q666 1106 496 1051V1038Q590 1018 642 963T694 829Q694 708 606 639T332 569Q189 569 59 639V829Q207 739 330 739Q473 739 473 846Q473 899 429 925T307 952H195V1112H287Q370 1112 410 1138T451 1221Q451 -1259 426 1284T350 1309Q303 1309 261 1290T162 1231L61 1372Q123 1419 198 1450T377 1481Q504 1481 585 1417T666 1249Z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1243" d="M332 1241V1268Q504 1468 567 1569H909V1548Q857 1496 732 1394T535 1241H332Z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1352" d="M465 465Q465 344 509 284T647 223Q773 223 830 309T887 592V1118H1192V0H961L918 150H903Q861 65 801 23T653 -20Q591 -20 539 3T455 70L460 -15L465 -172V-492H160V1118H465V465Z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1167 -260H1006V1356H840V-260H678V559Q616 541 532 541Q316 541 215 666T113 1042Q113 1302 222 1429T563 1556H1167V-260Z" /> -<glyph unicode="&#xb7;" horiz-adv-x="584" d="M117 723Q117 807 162 850T293 893Q376 893 421 849T467 723Q467 642 421 598T293 553Q209 553 163 597T117 723Z" /> -<glyph unicode="&#xb8;" horiz-adv-x="420" d="M418 -250Q418 -378 343 -435T109 -492Q31 -492 -37 -471V-303Q-10 -310 35 -317T106 -324Q178 -324 178 -262Q178 -179 12 -154L90 0H283L256 -61Q330 -85 374 -135T418 -250Z" /> -<glyph unicode="&#xb9;" horiz-adv-x="776" d="M584 586H346V1032L349 1144L354 1239Q327 1203 279 1161L201 1100L92 1227L393 1462H584V586Z" /> -<glyph unicode="&#xba;" horiz-adv-x="795" d="M737 1116Q737 945 646 849T395 752Q242 752 150 850T57 1116Q57 1285 146 1382T399 1479Q551 1479 644 1381T737 1116ZM260 1116Q260 1016 292 966T397 915Q469 915 500 965T532 1116Q532 1216 501 1265T397 1315Q325 -1315 293 1266T260 1116Z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1260" d="M1178 547L807 94L588 213L866 561L588 909L807 1028L1178 573V547ZM672 547L301 94L82 213L360 561L82 909L301 1028L672 573V547Z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1804" d="M794 586H556V1032L559 1144L564 1239Q537 1203 489 1161L411 1100L302 1227L603 1462H794V586ZM1370 1462L559 0H320L1131 1462H1370ZM1682 152H1557V1H1319V152H936V306L1321 883H1557V320H1682V152ZM1319 320V484Q1319 -570 1325 668Q1316 642 1290 588T1248 511L1121 320H1319Z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1804" d="M794 586H556V1032L559 1144L564 1239Q537 1203 489 1161L411 1100L302 1227L603 1462H794V586ZM1370 1462L559 0H320L1131 1462H1370ZM1716 1H1069V169L1293 388Q1395 488 1423 532T1452 627Q1452 665 1428 685T1364 -705Q1283 705 1184 617L1061 769Q1208 898 1397 898Q1534 898 1613 832T1692 648Q1692 563 1645 488T1469 296L1364 201H1716V1Z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1804" d="M697 1249Q697 1106 527 1051V1038Q621 1018 673 963T725 829Q725 708 637 639T363 569Q220 569 90 639V829Q238 739 361 739Q504 739 504 846Q504 899 460 925T338 952H226V1112H318Q401 1112 441 1138T482 1221Q482 -1259 457 1284T381 1309Q334 1309 292 1290T193 1231L92 1372Q154 1419 229 1450T408 1481Q535 1481 616 1417T697 1249ZM1441 1462L630 0H391L1202 1462H1441ZM1712 152H1587V1H1349V152H966V306L1351 883H1587V320H1712V152ZM1349 320V484Q1349 570 1355 668Q1346 -642 1320 588T1278 511L1151 320H1349Z" /> -<glyph unicode="&#xbf;" horiz-adv-x="977" d="M713 606V532Q713 434 669 363T516 215Q407 137 379 93T350 -14Q350 -71 393 -108T526 -145Q605 -145 695 -116T881 -45L983 -266Q885 -322 762 -356T532 -391Q312 -391 187 -295T61 -29Q61 79 109 158T301 342Q396 -412 422 449T449 547V606H713ZM745 948Q745 864 700 821T569 778Q486 778 441 822T395 948Q395 1029 441 1073T569 1118Q653 1118 699 1074T745 948Z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1413" d="M1079 0L973 348H440L334 0H0L516 1468H895L1413 0H1079ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899ZM713 1579Q650 1623 528 1721T338 1886V1907H680Q743 1806 915 1606V1579H713Z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1413" d="M1079 0L973 348H440L334 0H0L516 1468H895L1413 0H1079ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899ZM541 1579V1606Q713 1806 776 1907H1118V1886Q1066 1834 941 1732T744 1579H541Z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1413" d="M1079 0L973 348H440L334 0H0L516 1468H895L1413 0H1079ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899ZM938 1579Q781 1672 704 1755Q626 1674 475 1579H272V1606Q461 1795 528 1907H885Q916 1855 -992 1766T1141 1606V1579H938Z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1413" d="M1079 0L973 348H440L334 0H0L516 1468H895L1413 0H1079ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899ZM543 1684Q512 1684 484 1658T442 1577H293Q304 1722 375 1804T565 1886Q606 1886 645 1870T723 -1834T799 1798T872 1782Q903 1782 931 1808T973 1888H1122Q1111 1743 1039 1661T850 1579Q809 1579 770 1595T692 1631T616 1667T543 1684Z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1413" d="M1079 0L973 348H440L334 0H0L516 1468H895L1413 0H1079ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899ZM365 1743Q365 1808 402 1843T504 1878Q570 1878 607 1841T645 1743Q645 1683 607 1647T504 -1610Q440 1610 403 1645T365 1743ZM768 1743Q768 1813 808 1845T909 1878Q974 1878 1012 1842T1051 1743Q1051 1682 1012 1646T909 1610Q849 1610 809 1642T768 1743Z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1413" d="M958 1567Q958 1478 911 1419L1413 0H1079L973 348H440L334 0H0L500 1419Q457 1477 457 1565Q457 1673 524 1737T705 1802Q814 1802 886 1738T958 1567ZM899 608Q752 1081 734 1143T707 1241Q674 1113 518 608H899ZM801 -1565Q801 1610 774 1635T705 1661Q663 1661 636 1636T608 1565Q608 1472 705 1468Q747 1468 774 1494T801 1565Z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1950" d="M1829 0H956V348H465L315 0H0L655 1462H1829V1208H1266V887H1792V633H1266V256H1829V0ZM578 608H956V1198H829L578 608Z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1305" d="M805 1225Q630 1225 534 1094T438 727Q438 238 805 238Q959 238 1178 315V55Q998 -20 776 -20Q457 -20 288 173T119 729Q119 957 202 1128T440 1391T805 1483Q1018 1483 1233 1380L1133 1128Q1051 1167 968 1196T805 -1225ZM959 -250Q959 -378 884 -435T650 -492Q572 -492 504 -471V-303Q531 -310 576 -317T647 -324Q719 -324 719 -262Q719 -179 553 -154L631 0H824L797 -61Q871 -85 915 -135T959 -250Z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1147" d="M1026 0H184V1462H1026V1208H494V887H989V633H494V256H1026V0ZM634 1579Q571 1623 449 1721T259 1886V1907H601Q664 1806 836 1606V1579H634Z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1147" d="M1026 0H184V1462H1026V1208H494V887H989V633H494V256H1026V0ZM424 1579V1606Q596 1806 659 1907H1001V1886Q949 1834 824 1732T627 1579H424Z" /> -<glyph unicode="&#xca;" horiz-adv-x="1147" d="M1026 0H184V1462H1026V1208H494V887H989V633H494V256H1026V0ZM841 1579Q684 1672 607 1755Q529 1674 378 1579H175V1606Q364 1795 431 1907H788Q819 1855 895 1766T1044 1606V1579H841Z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1147" d="M1026 0H184V1462H1026V1208H494V887H989V633H494V256H1026V0ZM272 1743Q272 1808 309 1843T411 1878Q477 1878 514 1841T552 1743Q552 1683 514 1647T411 1610Q347 1610 310 1645T272 1743ZM675 1743Q675 1813 -715 1845T816 1878Q881 1878 919 1842T958 1743Q958 1682 919 1646T816 1610Q756 1610 716 1642T675 1743Z" /> -<glyph unicode="&#xcc;" horiz-adv-x="797" d="M731 0H66V176L244 258V1204L66 1286V1462H731V1286L553 1204V258L731 176V0ZM417 1579Q354 1623 232 1721T42 1886V1907H384Q447 1806 619 1606V1579H417Z" /> -<glyph unicode="&#xcd;" horiz-adv-x="797" d="M731 0H66V176L244 258V1204L66 1286V1462H731V1286L553 1204V258L731 176V0ZM237 1579V1606Q409 1806 472 1907H814V1886Q762 1834 637 1732T440 1579H237Z" /> -<glyph unicode="&#xce;" horiz-adv-x="797" d="M731 0H66V176L244 258V1204L66 1286V1462H731V1286L553 1204V258L731 176V0ZM630 1579Q473 1672 396 1755Q318 1674 167 1579H-36V1606Q153 1795 220 1907H577Q608 1855 684 1766T833 1606V1579H630Z" /> -<glyph unicode="&#xcf;" horiz-adv-x="797" d="M731 0H66V176L244 258V1204L66 1286V1462H731V1286L553 1204V258L731 176V0ZM57 1743Q57 1808 94 1843T196 1878Q262 1878 299 1841T337 1743Q337 1683 299 1647T196 1610Q132 1610 95 1645T57 1743ZM460 1743Q460 -1813 500 1845T601 1878Q666 1878 704 1842T743 1743Q743 1682 704 1646T601 1610Q541 1610 501 1642T460 1743Z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1516" d="M47 850H184V1462H643Q1001 1462 1199 1273T1397 745Q1397 384 1192 192T598 0H184V596H47V850ZM1075 737Q1075 969 971 1088T657 1208H494V850H731V596H494V256H625Q1075 256 1075 737Z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1665" d="M1481 0H1087L451 1106H442Q461 813 461 688V0H184V1462H575L1210 367H1217Q1202 652 1202 770V1462H1481V0ZM668 1684Q637 1684 609 1658T567 1577H418Q429 1722 500 1804T690 1886Q731 1886 770 1870T848 1834T924 -1798T997 1782Q1028 1782 1056 1808T1098 1888H1247Q1236 1743 1164 1661T975 1579Q934 1579 895 1595T817 1631T741 1667T668 1684Z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 817 1227Q632 1227 -538 1103T444 733ZM824 1579Q761 1623 639 1721T449 1886V1907H791Q854 1806 1026 1606V1579H824Z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 817 1227Q632 1227 -538 1103T444 733ZM658 1579V1606Q830 1806 893 1907H1235V1886Q1183 1834 1058 1732T861 1579H658Z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 817 1227Q632 1227 -538 1103T444 733ZM1047 1579Q890 1672 813 1755Q735 1674 584 1579H381V1606Q570 1795 637 1907H994Q1025 1855 1101 1766T1250 1606V1579H1047Z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 817 1227Q632 1227 -538 1103T444 733ZM652 1684Q621 1684 593 1658T551 1577H402Q413 1722 484 1804T674 1886Q715 1886 754 1870T832 1834T908 1798T981 1782Q1012 1782 1040 1808T1082 1888H1231Q1220 1743 1148 1661T959 1579Q918 1579 879 1595T801 1631T725 1667T652 1684Z" -/> -<glyph unicode="&#xd6;" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q479 -20 299 175T119 735Q119 1100 299 1292T817 1485Q1154 1485 1332 1291T1511 733ZM444 733Q444 488 537 364T815 240Q1186 240 1186 733Q1186 1227 817 1227Q632 1227 -538 1103T444 733ZM474 1743Q474 1808 511 1843T613 1878Q679 1878 716 1841T754 1743Q754 1683 716 1647T613 1610Q549 1610 512 1645T474 1743ZM877 1743Q877 1813 917 1845T1018 1878Q1083 1878 1121 1842T1160 1743Q1160 1682 1121 1646T1018 1610Q958 1610 -918 1642T877 1743Z" /> -<glyph unicode="&#xd7;" horiz-adv-x="1168" d="M428 663L129 964L280 1118L581 819L886 1118L1040 968L735 663L1036 360L886 208L581 509L280 210L131 362L428 663Z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1630" d="M1511 733Q1511 370 1331 175T815 -20Q618 -20 479 45L389 -90L227 18L317 154Q119 348 119 735Q119 1100 299 1292T817 1485Q1015 1485 1161 1415L1245 1540L1405 1436L1317 1305Q1511 1111 1511 733ZM444 733Q444 -542 500 426L1006 1182Q922 1227 817 1227Q632 1227 538 1103T444 733ZM1186 733Q1186 913 1135 1030L635 279Q711 240 815 240Q1186 240 1186 733Z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1548" d="M1374 1462V516Q1374 354 1302 232T1092 45T768 -20Q486 -20 330 124T174 520V1462H483V567Q483 398 551 319T776 240Q928 240 996 319T1065 569V1462H1374ZM750 1579Q687 1623 565 1721T375 1886V1907H717Q780 -1806 952 1606V1579H750Z" /> -<glyph unicode="&#xda;" horiz-adv-x="1548" d="M1374 1462V516Q1374 354 1302 232T1092 45T768 -20Q486 -20 330 124T174 520V1462H483V567Q483 398 551 319T776 240Q928 240 996 319T1065 569V1462H1374ZM602 1579V1606Q774 1806 837 1907H1179V1886Q1127 1834 -1002 1732T805 1579H602Z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1548" d="M1374 1462V516Q1374 354 1302 232T1092 45T768 -20Q486 -20 330 124T174 520V1462H483V567Q483 398 551 319T776 240Q928 240 996 319T1065 569V1462H1374ZM1006 1579Q849 1672 772 1755Q694 1674 543 1579H340V1606Q529 -1795 596 1907H953Q984 1855 1060 1766T1209 1606V1579H1006Z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1548" d="M1374 1462V516Q1374 354 1302 232T1092 45T768 -20Q486 -20 330 124T174 520V1462H483V567Q483 398 551 319T776 240Q928 240 996 319T1065 569V1462H1374ZM433 1743Q433 1808 470 1843T572 1878Q638 1878 675 -1841T713 1743Q713 1683 675 1647T572 1610Q508 1610 471 1645T433 1743ZM836 1743Q836 1813 876 1845T977 1878Q1042 1878 1080 1842T1119 1743Q1119 1682 1080 1646T977 1610Q917 1610 877 1642T836 1743Z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1278" d="M639 860L944 1462H1278L793 569V0H485V559L0 1462H336L639 860ZM461 1579V1606Q633 1806 696 1907H1038V1886Q986 1834 861 1732T664 1579H461Z" /> -<glyph unicode="&#xde;" horiz-adv-x="1286" d="M1194 770Q1194 541 1052 417T647 293H494V0H184V1462H494V1233H672Q926 1233 1060 1114T1194 770ZM494 543H594Q739 543 810 595T881 770Q881 877 818 929T618 981H494V543Z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1456" d="M1249 1241Q1249 1177 1228 1129T1175 1042T1106 975T1037 922T984 877T963 834Q963 807 989 781T1082 715Q1228 624 1280 575T1358 465T1384 326Q1384 154 1268 67T924 -20Q825 -20 753 -6T621 43V285Q674 249 -756 224T903 199Q1071 199 1071 322Q1071 363 1055 388T998 444T883 516Q757 588 708 647T659 788Q659 852 694 905T799 1007Q876 1062 907 1102T938 1188Q938 1248 875 1288T711 1329Q595 1329 530 1277T465 1128V0H160V1139Q160 1340 306 1453T711 1567Q955 1567 -1102 1479T1249 1241Z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 -518L662 514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518ZM870 1241Q807 1285 685 1383T495 1548V1569H837Q900 1468 1072 1268V1241H870Z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 -518L662 514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518ZM441 1241V1268Q613 1468 676 1569H1018V1548Q966 1496 841 1394T644 1241H441Z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 -518L662 514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518ZM1099 1496Q942 1589 865 1672Q787 1591 636 1496H433V1523Q622 1712 689 1824H1046Q1077 1772 1153 1683T1302 1523V1496H1099Z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 -518L662 514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518ZM467 1346Q436 1346 408 1320T366 1239H217Q228 1384 299 1466T489 1548Q530 1548 569 1532T647 1496T723 1460T796 1444Q827 1444 855 1470T897 1550H1046Q1035 1405 963 1323T774 -1241Q733 1241 694 1257T616 1293T540 1329T467 1346Z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 -518L662 514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518ZM285 1405Q285 1470 322 1505T424 1540Q490 1540 527 1503T565 1405Q565 1345 527 1309T424 1272Q360 1272 323 1307T285 1405ZM688 1405Q688 1475 728 1507T829 1540Q894 1540 -932 1504T971 1405Q971 1344 932 1308T829 1272Q769 1272 729 1304T688 1405Z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1237" d="M870 0L811 152H803Q726 55 645 18T432 -20Q271 -20 179 72T86 334Q86 512 210 596T586 690L780 696V745Q780 915 606 915Q472 915 291 834L190 1040Q383 1141 618 1141Q843 1141 963 1043T1083 745V0H870ZM780 -518L662 514Q529 510 464 466T399 332Q399 203 547 203Q653 203 716 264T780 426V518ZM883 1479Q883 1371 812 1305T629 1239Q517 1239 449 1303T381 1477Q381 1585 448 1649T629 1714Q739 1714 811 1648T883 1479ZM725 1477Q725 1522 698 1547T629 1573Q587 1573 -560 1548T533 1477Q533 1432 557 1406T629 1380Q671 1380 698 1406T725 1477Z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1878" d="M1329 -20Q1192 -20 1080 30T895 186Q797 69 699 25T442 -20Q281 -20 184 74T86 334Q86 512 207 596T569 690L760 696V780Q760 849 716 882T594 915Q454 915 289 838L190 1040Q379 1141 612 1141Q839 1141 954 1010Q1020 -1074 1106 1106T1313 1139Q1534 1139 1662 1002T1790 631V483H1067Q1072 353 1144 280T1346 207Q1542 207 1726 295V59Q1647 20 1555 0T1329 -20ZM760 518L647 514Q523 510 461 467T399 332Q399 203 539 203Q640 203 700 264T760 426V518ZM1307 922Q1090 922 1073 -686H1503Q1501 798 1448 860T1307 922Z" /> -<glyph unicode="&#xe7;" horiz-adv-x="1053" d="M614 -20Q92 -20 92 553Q92 838 234 988T641 1139Q835 1139 989 1063L899 827Q827 856 765 874T641 893Q403 893 403 555Q403 227 641 227Q729 227 804 250T954 324V63Q880 16 805 -2T614 -20ZM805 -250Q805 -378 -730 -435T496 -492Q418 -492 350 -471V-303Q377 -310 422 -317T493 -324Q565 -324 565 -262Q565 -179 399 -154L477 0H670L643 -61Q717 -85 761 -135T805 -250Z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1210" d="M623 922Q526 922 471 861T408 686H836Q834 799 777 860T623 922ZM666 -20Q396 -20 244 129T92 551Q92 832 232 985T621 1139Q858 1139 990 1004T1122 631V483H401Q406 353 478 280T680 207Q781 207 871 228T1059 -295V59Q979 19 888 0T666 -20ZM876 1241Q813 1285 691 1383T501 1548V1569H843Q906 1468 1078 1268V1241H876Z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1210" d="M623 922Q526 922 471 861T408 686H836Q834 799 777 860T623 922ZM666 -20Q396 -20 244 129T92 551Q92 832 232 985T621 1139Q858 1139 990 1004T1122 631V483H401Q406 353 478 280T680 207Q781 207 871 228T1059 -295V59Q979 19 888 0T666 -20ZM447 1241V1268Q619 1468 682 1569H1024V1548Q972 1496 847 1394T650 1241H447Z" /> -<glyph unicode="&#xea;" horiz-adv-x="1210" d="M623 922Q526 922 471 861T408 686H836Q834 799 777 860T623 922ZM666 -20Q396 -20 244 129T92 551Q92 832 232 985T621 1139Q858 1139 990 1004T1122 631V483H401Q406 353 478 280T680 207Q781 207 871 228T1059 -295V59Q979 19 888 0T666 -20ZM860 1241Q703 1334 626 1417Q548 1336 397 1241H194V1268Q383 1457 450 1569H807Q838 1517 914 1428T1063 1268V1241H860Z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1210" d="M623 922Q526 922 471 861T408 686H836Q834 799 777 860T623 922ZM666 -20Q396 -20 244 129T92 551Q92 832 232 985T621 1139Q858 1139 990 1004T1122 631V483H401Q406 353 478 280T680 207Q781 207 871 228T1059 -295V59Q979 19 888 0T666 -20ZM297 1405Q297 1470 334 1505T436 1540Q502 1540 539 1503T577 1405Q577 1345 539 1309T436 1272Q372 1272 335 1307T297 1405ZM700 1405Q700 1475 740 1507T841 1540Q906 1540 944 1504T983 1405Q983 1344 944 1308T841 1272Q781 -1272 741 1304T700 1405Z" /> -<glyph unicode="&#xec;" horiz-adv-x="625" d="M465 0H160V1118H465V0ZM274 1241Q211 1285 89 1383T-101 1548V1569H241Q304 1468 476 1268V1241H274Z" /> -<glyph unicode="&#xed;" horiz-adv-x="625" d="M465 0H160V1118H465V0ZM145 1241V1268Q317 1468 380 1569H722V1548Q670 1496 545 1394T348 1241H145Z" /> -<glyph unicode="&#xee;" horiz-adv-x="625" d="M465 0H160V1118H465V0ZM544 1241Q387 1334 310 1417Q232 1336 81 1241H-122V1268Q67 1457 134 1569H491Q522 1517 598 1428T747 1268V1241H544Z" /> -<glyph unicode="&#xef;" horiz-adv-x="625" d="M465 0H160V1118H465V0ZM-29 1405Q-29 1470 8 1505T110 1540Q176 1540 213 1503T251 1405Q251 1345 213 1309T110 1272Q46 1272 9 1307T-29 1405ZM374 1405Q374 1475 414 1507T515 1540Q580 1540 618 1504T657 1405Q657 -1344 618 1308T515 1272Q455 1272 415 1304T374 1405Z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1268" d="M510 1298Q421 1357 358 1391L459 1567Q607 1500 717 1425L942 1565L1042 1411L872 1307Q1028 1164 1102 985T1176 573Q1176 293 1031 137T631 -20Q386 -20 239 117T92 489Q92 722 222 858T573 995Q778 995 848 -897L856 901Q792 1056 664 1178L434 1036L334 1192L510 1298ZM864 532Q864 640 803 705T635 770Q514 770 459 702T403 487Q403 347 463 276T635 205Q758 205 811 287T864 532Z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1346" d="M1192 0H887V653Q887 774 844 834T707 895Q579 895 522 810T465 526V0H160V1118H393L434 975H451Q502 1056 591 1097T795 1139Q990 1139 1091 1034T1192 729V0ZM508 1346Q477 1346 449 1320T407 1239H258Q269 1384 -340 1466T530 1548Q571 1548 610 1532T688 1496T764 1460T837 1444Q868 1444 896 1470T938 1550H1087Q1076 1405 1004 1323T815 1241Q774 1241 735 1257T657 1293T581 1329T508 1346Z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1268" d="M403 561Q403 395 457 310T635 225Q757 225 810 309T864 561Q864 727 810 810T633 893Q511 893 457 811T403 561ZM1176 561Q1176 288 1032 134T631 -20Q470 -20 347 50T158 253T92 561Q92 835 235 987T637 1139Q798 -1139 921 1069T1110 868T1176 561ZM868 1241Q805 1285 683 1383T493 1548V1569H835Q898 1468 1070 1268V1241H868Z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1268" d="M403 561Q403 395 457 310T635 225Q757 225 810 309T864 561Q864 727 810 810T633 893Q511 893 457 811T403 561ZM1176 561Q1176 288 1032 134T631 -20Q470 -20 347 50T158 253T92 561Q92 835 235 987T637 1139Q798 -1139 921 1069T1110 868T1176 561ZM467 1241V1268Q639 1468 702 1569H1044V1548Q992 1496 867 1394T670 1241H467Z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1268" d="M403 561Q403 395 457 310T635 225Q757 225 810 309T864 561Q864 727 810 810T633 893Q511 893 457 811T403 561ZM1176 561Q1176 288 1032 134T631 -20Q470 -20 347 50T158 253T92 561Q92 835 235 987T637 1139Q798 -1139 921 1069T1110 868T1176 561ZM864 1241Q707 1334 630 1417Q552 1336 401 1241H198V1268Q387 1457 454 1569H811Q842 1517 918 1428T1067 1268V1241H864Z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1268" d="M403 561Q403 395 457 310T635 225Q757 225 810 309T864 561Q864 727 810 810T633 893Q511 893 457 811T403 561ZM1176 561Q1176 288 1032 134T631 -20Q470 -20 347 50T158 253T92 561Q92 835 235 987T637 1139Q798 -1139 921 1069T1110 868T1176 561ZM469 1346Q438 1346 410 1320T368 1239H219Q230 1384 301 1466T491 1548Q532 1548 571 1532T649 1496T725 1460T798 1444Q829 1444 857 1470T899 1550H1048Q1037 1405 965 1323T776 1241Q735 1241 696 1257T618 1293T542 1329T469 -1346Z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1268" d="M403 561Q403 395 457 310T635 225Q757 225 810 309T864 561Q864 727 810 810T633 893Q511 893 457 811T403 561ZM1176 561Q1176 288 1032 134T631 -20Q470 -20 347 50T158 253T92 561Q92 835 235 987T637 1139Q798 -1139 921 1069T1110 868T1176 561ZM291 1405Q291 1470 328 1505T430 1540Q496 1540 533 1503T571 1405Q571 1345 533 1309T430 1272Q366 1272 329 1307T291 1405ZM694 1405Q694 1475 734 1507T835 1540Q900 1540 938 1504T977 1405Q977 1344 938 1308T835 1272Q775 -1272 735 1304T694 1405Z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1168" d="M108 552V771H1060V552H108ZM444 313Q444 355 455 384T485 430T529 456T583 464Q611 464 636 456T680 431T710 384T722 313Q722 273 711 244T680 197T636 170T583 161Q555 161 530 169T485 196T455 244T444 313ZM444 -1011Q444 1053 455 1082T485 1129T529 1155T583 1163Q611 1163 636 1155T680 1129T710 1082T722 1011Q722 971 711 943T680 896T636 869T583 860Q555 860 530 868T485 895T455 942T444 1011Z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1268" d="M1176 561Q1176 288 1032 134T631 -20Q505 -20 397 25L330 -76L176 29L244 129Q92 285 92 561Q92 835 235 987T637 1139Q769 1139 885 1087L940 1169L1092 1061L1034 977Q1176 822 1176 561ZM403 561Q403 467 422 -395L739 870Q696 893 633 893Q511 893 457 811T403 561ZM864 561Q864 642 852 702L543 240Q581 225 635 225Q757 225 810 309T864 561Z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1346" d="M952 0L911 143H895Q846 65 756 23T551 -20Q354 -20 254 85T154 389V1118H459V465Q459 344 502 284T639 223Q767 223 824 308T881 592V1118H1186V0H952ZM876 1241Q813 1285 691 1383T501 1548V1569H843Q906 1468 -1078 1268V1241H876Z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1346" d="M952 0L911 143H895Q846 65 756 23T551 -20Q354 -20 254 85T154 389V1118H459V465Q459 344 502 284T639 223Q767 223 824 308T881 592V1118H1186V0H952ZM498 1241V1268Q670 1468 733 1569H1075V1548Q1023 1496 898 -1394T701 1241H498Z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1346" d="M952 0L911 143H895Q846 65 756 23T551 -20Q354 -20 254 85T154 389V1118H459V465Q459 344 502 284T639 223Q767 223 824 308T881 592V1118H1186V0H952ZM901 1241Q744 1334 667 1417Q589 1336 438 1241H235V1268Q424 -1457 491 1569H848Q879 1517 955 1428T1104 1268V1241H901Z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1346" d="M952 0L911 143H895Q846 65 756 23T551 -20Q354 -20 254 85T154 389V1118H459V465Q459 344 502 284T639 223Q767 223 824 308T881 592V1118H1186V0H952ZM326 1405Q326 1470 363 1505T465 1540Q531 1540 568 1503T606 -1405Q606 1345 568 1309T465 1272Q401 1272 364 1307T326 1405ZM729 1405Q729 1475 769 1507T870 1540Q935 1540 973 1504T1012 1405Q1012 1344 973 1308T870 1272Q810 1272 770 1304T729 1405Z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1165" d="M0 1118H334L545 489Q572 407 582 295H588Q599 398 631 489L838 1118H1165L692 -143Q627 -318 507 -405T225 -492Q146 -492 70 -475V-233Q125 -246 190 -246Q271 -246 331 -197T426 -47L444 8L0 1118ZM393 1241V1268Q565 -1468 628 1569H970V1548Q918 1496 793 1394T596 1241H393Z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1296" d="M465 973Q515 1054 596 1096T782 1139Q980 1139 1092 985T1204 561Q1204 288 1093 134T782 -20Q569 -20 465 117H451L458 55L465 -39V-492H160V1556H465V1165L458 1045L451 973H465ZM684 895Q571 895 519 826T465 -596V563Q465 383 518 305T688 227Q893 227 893 565Q893 730 843 812T684 895Z" /> -<glyph unicode="&#xff;" horiz-adv-x="1165" d="M0 1118H334L545 489Q572 407 582 295H588Q599 398 631 489L838 1118H1165L692 -143Q627 -318 507 -405T225 -492Q146 -492 70 -475V-233Q125 -246 190 -246Q271 -246 331 -197T426 -47L444 8L0 1118ZM499 1405Q499 -1470 536 1505T638 1540Q704 1540 741 1503T779 1405Q779 1345 741 1309T638 1272Q574 1272 537 1307T499 1405ZM902 1405Q902 1475 942 1507T1043 1540Q1108 1540 1146 1504T1185 1405Q1185 1344 1146 1308T1043 1272Q983 1272 943 1304T902 1405Z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 496V726H942V496H82Z" /> -<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 496V726H1966V496H82Z" /> -<glyph unicode="&#x2018;" horiz-adv-x="687" d="M159 1014Q173 1069 192 1129T235 1252T284 1376T335 1493H555Q540 1433 526 1367T498 1235T473 1107T454 992H174L159 1014Z" /> -<glyph unicode="&#x2019;" horiz-adv-x="686" d="M576 1471Q562 1416 543 1356T500 1233T451 1109T400 992H181Q195 1052 209 1118T237 1250T262 1378T281 1493H561L576 1471Z" /> -<glyph unicode="&#x201a;" horiz-adv-x="584" d="M459 215Q407 13 283 -264H63Q128 2 164 238H444L459 215Z" /> -<glyph unicode="&#x201c;" horiz-adv-x="1153" d="M626 1014Q640 1069 659 1129T702 1252T751 1376T802 1493H1021Q1007 1433 993 1367T965 1235T940 1107T921 992H641L626 1014ZM159 1014Q173 1069 192 1129T235 1252T284 1376T335 1493H555Q540 1433 526 1367T498 -1235T473 1107T454 992H174L159 1014Z" /> -<glyph unicode="&#x201d;" horiz-adv-x="1153" d="M576 1471Q562 1416 543 1356T500 1233T451 1109T400 992H181Q195 1052 209 1118T237 1250T262 1378T281 1493H561L576 1471ZM1043 1471Q1029 1416 1010 1356T967 1233T918 1109T867 992H647Q662 1052 676 1118T704 -1250T729 1378T748 1493H1028L1043 1471Z" /> -<glyph unicode="&#x201e;" horiz-adv-x="1051" d="M459 215Q407 13 283 -264H63Q128 2 164 238H444L459 215ZM926 215Q874 13 750 -264H530Q595 2 631 238H911L926 215Z" /> -<glyph unicode="&#x2022;" horiz-adv-x="770" d="M98 748Q98 902 172 983T385 1065Q522 1065 597 983T672 748Q672 596 597 513T385 430Q247 430 173 513T98 748Z" /> -<glyph unicode="&#x2039;" horiz-adv-x="754" d="M82 573L453 1028L672 909L393 561L672 213L453 94L82 547V573Z" /> -<glyph unicode="&#x203a;" horiz-adv-x="754" d="M672 547L301 94L82 213L360 561L82 909L301 1028L672 573V547Z" /> -</font> -</defs> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf deleted file mode 100755 index 4599e3c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff deleted file mode 100755 index 9d0b78d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2 b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2 deleted file mode 100755 index 55fc44b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2 and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot deleted file mode 100755 index cb97b2b..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg deleted file mode 100755 index abdafc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg +++ /dev/null @@ -1,334 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg"> -<defs > -<font id="NotoSans" horiz-adv-x="1222" ><font-face - font-family="Noto Sans" - units-per-em="2048" - panose-1="2 11 8 2 4 5 4 9 2 4" - ascent="2189" - descent="-600" - alphabetic="0" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="586" d="M391 485H150L307 1462H647L391 485ZM25 115Q25 205 78 259T229 313Q297 313 338 275T379 168Q379 81 324 27T180 -27Q107 -27 66 10T25 115Z" /> -<glyph unicode="&quot;" horiz-adv-x="928" d="M549 1462L397 934H201L272 1462H549ZM954 1462L803 934H604L678 1462H954Z" /> -<glyph unicode="#" horiz-adv-x="1323" d="M1036 846L967 614H1225L1206 408H909L793 0H573L690 408H496L381 0H166L279 408H41L59 614H336L406 846H154L172 1055H461L580 1462H797L680 1055H879L995 1462H1210L1094 1055H1333L1315 846H1036ZM553 614H750L819 -846H623L553 614Z" /> -<glyph unicode="$" horiz-adv-x="1128" d="M1034 496Q1034 312 909 205T541 80L502 -119H362L406 82Q197 94 51 168V434Q249 327 455 317L526 639Q363 700 285 790T207 1004Q207 1177 334 1283T684 1405L719 1556H858L825 1405Q991 1383 1120 1315L1014 1083Q882 -1148 772 1157L709 858Q840 807 904 759T1001 646T1034 496ZM594 322Q657 331 696 367T735 465Q735 511 711 540T651 584L594 322ZM633 1157Q571 1150 537 1116T502 1022Q502 943 582 911L633 1157Z" /> -<glyph unicode="%" horiz-adv-x="1753" d="M518 1274Q455 1274 408 1146T360 868Q360 772 416 772Q481 772 528 903T575 1178Q575 1274 518 1274ZM821 1165Q821 999 765 855T614 638T397 565Q258 565 187 648T115 885Q115 1054 170 1196T319 1411T535 1483Q672 -1483 746 1403T821 1165ZM1554 1462L471 0H231L1319 1462H1554ZM1376 690Q1337 690 1301 634T1242 478T1219 285Q1219 188 1274 188Q1315 188 1351 243T1410 397T1434 594Q1434 690 1376 690ZM1679 590Q1679 423 1625 277T1477 56T1262 -18Q1118 -18 1046 60T973 -283Q973 460 1026 605T1173 824T1393 899Q1530 899 1604 821T1679 590Z" /> -<glyph unicode="&amp;" horiz-adv-x="1450" d="M1325 0H975L903 98Q728 -20 500 -20Q291 -20 180 77T68 358Q68 503 146 606T420 807Q344 937 344 1065Q344 1260 461 1372T778 1485Q947 1485 1044 1403T1141 1178Q1141 898 776 752L971 489Q1015 546 1051 610T1130 -784H1430Q1297 471 1120 287L1325 0ZM541 623Q453 572 418 519T383 387Q383 322 428 279T545 236Q660 236 766 295L541 623ZM662 920Q775 979 817 1031T860 1143Q860 1200 830 1225T760 1251Q694 1251 658 1205T621 1085Q621 1039 633 993T662 920Z" /> -<glyph unicode="&apos;" horiz-adv-x="522" d="M549 1462L397 934H201L272 1462H549Z" /> -<glyph unicode="(" horiz-adv-x="694" d="M74 281Q74 620 196 907T578 1462H840Q585 1184 463 889T340 270Q340 -38 457 -324H223Q74 -58 74 281Z" /> -<glyph unicode=")" horiz-adv-x="694" d="M618 858Q618 516 494 228T115 -324H-147Q352 221 352 868Q352 1175 236 1462H469Q618 1198 618 858Z" /> -<glyph unicode="*" horiz-adv-x="1116" d="M885 1522L772 1169L1159 1198L1141 944L803 987L963 651L717 578L627 915L430 637L223 801L498 1049L172 1141L258 1378L596 1204L629 1573L885 1522Z" /> -<glyph unicode="+" horiz-adv-x="1128" d="M475 612H109V831H475V1200H694V831H1061V612H694V248H475V612Z" /> -<glyph unicode="," horiz-adv-x="584" d="M377 238L385 215Q267 -40 123 -264H-102Q-28 -97 92 238H377Z" /> -<glyph unicode="-" horiz-adv-x="659" d="M41 424L94 674H618L565 424H41Z" /> -<glyph unicode="." horiz-adv-x="584" d="M25 115Q25 205 78 259T229 313Q297 313 338 275T379 168Q379 81 324 27T180 -27Q107 -27 66 10T25 115Z" /> -<glyph unicode="/" horiz-adv-x="862" d="M1014 1462L205 0H-90L719 1462H1014Z" /> -<glyph unicode="0" horiz-adv-x="1128" d="M1110 1012Q1110 704 1029 464T803 102T469 -20Q271 -20 169 102T66 467Q66 758 148 994T376 1357T711 1485Q1110 1485 1110 1012ZM684 1235Q604 1235 535 1131T417 829T369 461Q369 346 396 288T494 229Q576 229 645 -335T761 637T807 1022Q807 1133 777 1184T684 1235Z" /> -<glyph unicode="1" horiz-adv-x="1128" d="M688 0H383L563 829Q598 981 639 1116Q630 1108 578 1069T315 899L182 1114L748 1462H997L688 0Z" /> -<glyph unicode="2" horiz-adv-x="1128" d="M913 0H-49L-6 213L471 637Q651 796 719 891T788 1071Q788 1146 747 1185T637 1225Q571 1225 502 1192T330 1073L184 1276Q316 1388 436 1435T686 1483Q876 1483 987 1385T1098 1126Q1098 1019 1057 925T935 737T668 -492L399 270V260H967L913 0Z" /> -<glyph unicode="3" horiz-adv-x="1128" d="M1104 1149Q1104 995 1010 890T748 756V748Q879 722 946 642T1014 440Q1014 307 940 202T728 39T401 -20Q162 -20 14 59V326Q98 276 196 251T387 225Q545 225 630 288T715 465Q715 637 457 637H319L365 858H438Q605 858 -701 920T797 1092Q797 1159 754 1196T633 1233Q499 1233 346 1133L219 1337Q343 1418 451 1450T698 1483Q888 1483 996 1393T1104 1149Z" /> -<glyph unicode="4" horiz-adv-x="1128" d="M1028 303H858L795 0H502L565 303H-25L23 537L793 1462H1104L909 543H1079L1028 303ZM616 543L674 791Q686 849 714 955T756 1096H745Q699 1014 618 915L305 543H616Z" /> -<glyph unicode="5" horiz-adv-x="1128" d="M623 922Q806 922 912 819T1018 532Q1018 365 947 240T738 48T408 -20Q291 -20 190 3T27 61V330Q201 231 379 231Q533 231 620 302T707 496Q707 590 650 637T483 684Q381 684 270 651L166 729L373 1462H1128L1073 1200H584L496 -907Q568 922 623 922Z" /> -<glyph unicode="6" horiz-adv-x="1128" d="M88 469Q88 671 149 864T316 1199T573 1413T930 1485Q1055 1485 1153 1458L1102 1212Q1018 1237 911 1237Q713 1237 592 1126T408 784H416Q531 950 727 950Q884 950 969 853T1055 580Q1055 411 984 267T794 51T516 -20Q304 --20 196 107T88 469ZM530 227Q629 227 691 321T754 557Q754 628 721 670T618 713Q558 713 504 678T416 582T383 422Q383 331 423 279T530 227Z" /> -<glyph unicode="7" horiz-adv-x="1128" d="M78 0L815 1202H186L242 1462H1217L1176 1268L424 0H78Z" /> -<glyph unicode="8" horiz-adv-x="1128" d="M721 1485Q844 1485 936 1443T1077 1325T1126 1151Q1126 1017 1046 918T815 766Q1032 625 1032 401Q1032 279 969 183T788 33T514 -20Q300 -20 178 80T55 350Q55 648 403 776Q238 908 238 1075Q238 1194 296 1287T464 -1433T721 1485ZM582 643Q466 598 409 536T352 383Q352 302 402 255T537 207Q630 207 684 260T739 399Q739 472 703 530T582 643ZM694 1260Q618 1260 573 1214T528 1094Q528 962 651 893Q836 965 836 1114Q836 1182 797 1221T694 1260Z" /> -<glyph unicode="9" horiz-adv-x="1128" d="M1092 1001Q1092 721 993 468T729 98T326 -20Q198 -20 86 12V268Q197 227 313 227Q487 227 596 329T768 672H760Q649 514 465 514Q302 514 213 617T123 903Q123 1069 196 1208T392 1416T678 1485Q881 1485 986 1362T1092 -1001ZM645 1237Q580 1237 530 1195T452 1081T424 928Q424 841 461 797T567 752Q627 752 678 788T760 888T791 1047Q791 1131 756 1184T645 1237Z" /> -<glyph unicode=":" horiz-adv-x="584" d="M25 115Q25 205 78 259T229 313Q297 313 338 275T379 168Q379 81 324 27T180 -27Q107 -27 66 10T25 115ZM207 940Q207 1032 262 1085T412 1139Q480 1139 520 1101T561 993Q561 907 507 853T362 799Q290 799 249 835T207 940Z" /> -<glyph unicode=";" horiz-adv-x="584" d="M385 215Q267 -40 123 -264H-102Q-28 -97 92 238H377L385 215ZM207 940Q207 1032 262 1085T412 1139Q480 1139 520 1101T561 993Q561 907 507 853T362 799Q290 799 249 835T207 940Z" /> -<glyph unicode="&lt;" horiz-adv-x="1128" d="M1061 203L109 641V784L1061 1280V1040L418 723L1061 442V203Z" /> -<glyph unicode="=" horiz-adv-x="1128" d="M109 418V637H1061V418H109ZM109 807V1024H1061V807H109Z" /> -<glyph unicode="&gt;" horiz-adv-x="1128" d="M109 442L752 723L109 1040V1280L1061 784V641L109 203V442Z" /> -<glyph unicode="?" horiz-adv-x="940" d="M260 485Q287 631 345 723T520 895Q644 979 677 1022T711 1118Q711 1237 578 1237Q528 1237 472 1221T270 1137L178 1358Q408 1483 623 1483Q800 1483 903 1396T1006 1151Q1006 1068 978 1002T895 879T705 731Q611 668 -575 620T518 485H260ZM166 115Q166 206 221 259T371 313Q439 313 479 275T520 168Q520 81 465 27T322 -27Q248 -27 207 11T166 115Z" /> -<glyph unicode="@" horiz-adv-x="1753" d="M1733 840Q1733 667 1669 519T1492 288T1237 205Q1149 205 1093 243T1020 352H1010Q958 272 896 239T754 205Q627 205 556 284T485 514Q485 661 552 790T740 995T1008 1071Q1193 1071 1335 1016L1229 596Q1218 552 1210 -520T1202 455Q1202 387 1260 387Q1326 387 1384 451T1476 622T1511 836Q1511 1049 1388 1161T1028 1274Q825 1274 662 1180T407 914T315 522Q315 279 449 142T825 4Q942 4 1044 24T1266 90V-96Q1036 -186 801 -186Q584 -186 423 -101T177 141T92 500Q92 779 212 -997T555 1338T1053 1462Q1371 1462 1552 1299T1733 840ZM995 889Q913 889 850 838T750 701T713 526Q713 461 737 424T807 387Q948 387 1020 657L1077 879Q1041 889 995 889Z" /> -<glyph unicode="A" horiz-adv-x="1286" d="M842 348H369L197 0H-123L643 1468H1016L1163 0H866L842 348ZM827 608L801 958L796 1091L793 1247H788Q734 1100 682 993L494 608H827Z" /> -<glyph unicode="B" horiz-adv-x="1270" d="M788 1462Q1017 1462 1134 1381T1251 1137Q1251 987 1168 891T932 762V754Q1032 728 1091 658T1151 477Q1151 248 998 124T575 0H53L362 1462H788ZM545 883H694Q815 883 875 931T936 1071Q936 1208 766 1208H614L545 -883ZM412 256H592Q709 256 775 314T842 475Q842 637 659 637H494L412 256Z" /> -<glyph unicode="C" horiz-adv-x="1253" d="M905 1227Q773 1227 668 1146T498 907T434 569Q434 402 502 321T721 240Q867 240 1059 317V57Q860 -20 659 -20Q405 -20 264 129T123 553Q123 815 227 1035T505 1370T905 1485Q1030 1485 1127 1463T1335 1380L1217 1130Q1111 -1189 1042 1208T905 1227Z" /> -<glyph unicode="D" horiz-adv-x="1386" d="M1323 909Q1323 629 1225 423T942 108T504 0H53L362 1462H758Q1028 1462 1175 1319T1323 909ZM518 256Q666 256 776 332T948 555T1010 893Q1010 1047 938 1127T729 1208H614L412 256H518Z" /> -<glyph unicode="E" horiz-adv-x="1110" d="M870 0H53L362 1462H1180L1126 1208H614L547 887H1024L969 633H492L412 256H924L870 0Z" /> -<glyph unicode="F" horiz-adv-x="1087" d="M358 0H53L362 1462H1176L1122 1208H614L535 831H1008L952 578H479L358 0Z" /> -<glyph unicode="G" horiz-adv-x="1413" d="M754 821H1317L1155 59Q1021 13 907 -3T664 -20Q405 -20 264 127T123 549Q123 815 228 1031T527 1366T979 1485Q1197 1485 1389 1386L1274 1135Q1200 1175 1126 1199T965 1223Q812 1223 692 1140T503 904T434 573Q434 -401 506 321T729 240Q805 240 899 264L965 563H698L754 821Z" /> -<glyph unicode="H" horiz-adv-x="1434" d="M1135 0H829L963 631H492L358 0H53L362 1462H668L547 889H1018L1139 1462H1444L1135 0Z" /> -<glyph unicode="I" horiz-adv-x="784" d="M588 0H-59L-23 176L164 258L365 1204L213 1286L250 1462H897L860 1286L670 1204L469 258L625 176L588 0Z" /> -<glyph unicode="J" horiz-adv-x="678" d="M-135 -430Q-229 -430 -322 -403V-150Q-234 -170 -158 -170Q-59 -170 2 -110T92 82L385 1462H690L387 39Q335 -206 212 -318T-135 -430Z" /> -<glyph unicode="K" horiz-adv-x="1255" d="M1141 0H803L592 592L467 522L358 0H53L362 1462H668L514 756L670 965L1083 1462H1444L850 762L1141 0Z" /> -<glyph unicode="L" horiz-adv-x="1061" d="M53 0L362 1462H668L412 256H924L870 0H53Z" /> -<glyph unicode="M" horiz-adv-x="1802" d="M840 369L1389 1462H1812L1503 0H1223L1368 692Q1404 861 1477 1133H1468L899 0H618L557 1133H549Q527 951 471 680L328 0H53L362 1462H766L831 369H840Z" /> -<glyph unicode="N" horiz-adv-x="1546" d="M1247 0H905L549 1106H539L531 1047Q504 833 473 688L328 0H53L362 1462H719L1059 385H1067Q1102 608 1135 770L1282 1462H1556L1247 0Z" /> -<glyph unicode="O" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 500 315T688 240Q809 -240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227Z" /> -<glyph unicode="P" horiz-adv-x="1249" d="M1260 1036Q1260 795 1091 658T623 520H467L358 0H53L362 1462H770Q1012 1462 1136 1355T1260 1036ZM522 774H647Q789 774 870 843T952 1028Q952 1121 904 1164T758 1208H614L522 774Z" /> -<glyph unicode="Q" horiz-adv-x="1495" d="M1432 938Q1432 622 1310 383T975 45L1229 -348H870L692 -20H666Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 -500 315T688 240Q809 240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227Z" /> -<glyph unicode="R" horiz-adv-x="1247" d="M530 813H608Q739 813 812 870T885 1044Q885 1126 838 1167T688 1208H614L530 813ZM477 561L358 0H53L362 1462H721Q958 1462 1077 1360T1196 1061Q1196 903 1113 790T874 621L1135 0H803L596 561H477Z" /> -<glyph unicode="S" horiz-adv-x="1085" d="M946 432Q946 223 798 102T397 -20Q176 -20 41 70V344Q234 236 399 236Q511 236 574 278T637 395Q637 438 624 470T585 531T461 633Q323 732 267 829T211 1038Q211 1167 273 1268T449 1426T713 1483Q930 1483 1110 1384L1001 -1151Q845 1225 713 1225Q630 1225 577 1180T524 1061Q524 1000 557 955T705 834Q826 754 886 658T946 432Z" /> -<glyph unicode="T" horiz-adv-x="1087" d="M571 0H266L520 1204H168L223 1462H1233L1178 1204H825L571 0Z" /> -<glyph unicode="U" horiz-adv-x="1415" d="M1434 1462L1233 516Q1176 250 1015 115T596 -20Q384 -20 263 93T141 401Q141 473 156 539L352 1462H657L463 543Q446 469 446 418Q446 240 635 240Q758 240 830 316T934 545L1128 1462H1434Z" /> -<glyph unicode="V" horiz-adv-x="1208" d="M537 299L564 377Q615 525 645 582L1077 1462H1393L645 0H311L184 1462H479L530 582L532 529V465Q532 350 528 299H537Z" /> -<glyph unicode="W" horiz-adv-x="1831" d="M1004 1018Q952 855 891 719L567 0H229L184 1462H471L477 664Q477 612 473 491T463 317H471Q504 410 544 515T596 643L965 1462H1235L1256 589Q1256 443 1247 317H1255Q1308 476 1384 666L1714 1462H2023L1376 0H1030L1008 -721L1006 834Q1006 928 1012 1018H1004Z" /> -<glyph unicode="X" horiz-adv-x="1241" d="M1124 0H793L621 543L225 0H-117L459 764L221 1462H541L694 944L1057 1462H1401L856 737L1124 0Z" /> -<glyph unicode="Y" horiz-adv-x="1155" d="M627 870L1001 1462H1343L725 559L606 0H303L422 559L186 1462H498L627 870Z" /> -<glyph unicode="Z" horiz-adv-x="1098" d="M920 0H-61L-23 201L754 1206H211L264 1462H1200L1159 1260L377 256H973L920 0Z" /> -<glyph unicode="[" horiz-adv-x="678" d="M436 -324H-37L344 1462H817L772 1251H557L266 -113H481L436 -324Z" /> -<glyph unicode="\" horiz-adv-x="862" d="M481 1462L705 0H438L221 1462H481Z" /> -<glyph unicode="]" horiz-adv-x="678" d="M-92 -113H121L412 1251H197L242 1462H715L334 -324H-137L-92 -113Z" /> -<glyph unicode="^" horiz-adv-x="1128" d="M35 520L653 1470H801L1077 520H854L680 1153L279 520H35Z" /> -<glyph unicode="_" horiz-adv-x="819" d="M635 -324H-186L-156 -184H666L635 -324Z" /> -<glyph unicode="`" horiz-adv-x="1135" d="M934 1241H750Q679 1310 612 1394T508 1548V1569H819Q855 1421 934 1266V1241Z" /> -<glyph unicode="a" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 761 848T659 -895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223Z" /> -<glyph unicode="b" horiz-adv-x="1219" d="M610 -20Q416 -20 334 143H326L268 0H37L367 1556H668L606 1268Q565 1086 522 969H530Q608 1067 672 1103T813 1139Q959 1139 1043 1031T1128 733Q1128 543 1060 366T873 84T610 -20ZM692 895Q618 895 558 830T459 641T420 -399Q420 319 457 271T559 223Q626 223 687 292T785 481T823 719Q823 895 692 895Z" /> -<glyph unicode="c" horiz-adv-x="989" d="M506 -20Q305 -20 198 87T90 391Q90 603 164 776T374 1044T682 1139Q864 1139 1010 1067L918 838Q864 861 812 878T694 895Q609 895 541 831T434 656T395 416Q395 320 440 272T567 223Q643 223 708 246T842 305V59Q690 --20 506 -20Z" /> -<glyph unicode="d" horiz-adv-x="1217" d="M406 -20Q259 -20 175 87T90 387Q90 583 161 761T350 1039T608 1139Q690 1139 749 1102T862 975H870L872 1003Q878 1113 897 1198L973 1556H1274L944 0H715L733 145H725Q654 58 577 19T406 -20ZM532 223Q602 223 661 -286T759 476T799 719Q799 799 762 847T659 895Q591 895 530 823T432 633T395 399Q395 223 532 223Z" /> -<glyph unicode="e" horiz-adv-x="1141" d="M696 922Q608 922 530 842T428 647H473Q628 647 714 695T801 827Q801 922 696 922ZM532 -20Q322 -20 206 93T90 412Q90 619 172 789T396 1049T715 1139Q892 1139 991 1058T1090 834Q1090 647 923 546T446 444H395L393 -423V403Q393 312 444 260T592 207Q679 207 750 226T922 293V66Q750 -20 532 -20Z" /> -<glyph unicode="f" horiz-adv-x="764" d="M-45 -492Q-149 -492 -219 -467V-225Q-158 -246 -104 -246Q-43 -246 3 -206T68 -76L272 889H109L139 1034L322 1118L340 1202Q381 1392 478 1479T752 1567Q883 1567 987 1518L907 1294Q838 1325 774 1325Q717 1325 682 -1285T635 1180L623 1118H842L793 889H573L358 -121Q281 -492 -45 -492Z" /> -<glyph unicode="g" horiz-adv-x="1217" d="M950 1118H1182L938 -27Q886 -265 756 -378T391 -492Q287 -492 203 -477T27 -420V-158Q187 -244 375 -244Q479 -244 544 -197T638 -48T696 150H688Q616 56 545 18T391 -20Q252 -20 171 87T90 385Q90 581 160 758T348 -1037T602 1139Q692 1139 756 1105T885 975H893L950 1118ZM537 223Q605 223 663 287T760 472T799 719Q799 799 762 847T662 895Q591 895 529 823T431 635T395 399Q395 311 433 267T537 223Z" /> -<glyph unicode="h" horiz-adv-x="1237" d="M977 0H676L813 653Q829 721 829 772Q829 895 721 895Q629 895 554 781T436 463L338 0H37L367 1556H668Q629 1375 608 1278T522 969H530Q592 1046 668 1092T844 1139Q982 1139 1057 1056T1133 817Q1133 744 1110 637L977 0Z" /> -<glyph unicode="i" horiz-adv-x="608" d="M338 0H37L274 1118H575L338 0ZM322 1380Q322 1467 369 1511T504 1556Q577 1556 615 1525T653 1436Q653 1356 609 1307T473 1257Q322 1257 322 1380Z" /> -<glyph unicode="j" horiz-adv-x="608" d="M-90 -492Q-194 -492 -264 -467V-225Q-203 -246 -150 -246Q-13 -246 23 -76L276 1118H578L313 -121Q236 -492 -90 -492ZM324 1380Q324 1467 371 1511T506 1556Q579 1556 617 1525T655 1436Q655 1356 611 1307T475 1257Q324 -1257 324 1380Z" /> -<glyph unicode="k" horiz-adv-x="1163" d="M920 1118H1264L766 614L1051 0H715L532 420L412 348L338 0H37L367 1556H668L520 862Q509 805 472 687L459 643H467L920 1118Z" /> -<glyph unicode="l" horiz-adv-x="608" d="M338 0H37L367 1556H668L338 0Z" /> -<glyph unicode="m" horiz-adv-x="1853" d="M844 1139Q1063 1139 1106 911H1114Q1184 1023 1275 1081T1470 1139Q1606 1139 1677 1054T1749 817Q1749 741 1726 637L1593 0H1292L1430 653Q1446 721 1446 772Q1446 895 1348 895Q1254 895 1179 780T1063 465L967 0H666L803 -653Q819 721 819 772Q819 895 721 895Q629 895 554 781T436 463L338 0H37L274 1118H504L483 911H492Q638 1139 844 1139Z" /> -<glyph unicode="n" horiz-adv-x="1237" d="M977 0H676L813 653Q829 721 829 772Q829 895 721 895Q629 895 554 781T436 463L338 0H37L274 1118H504L483 911H492Q638 1139 844 1139Q982 1139 1057 1056T1133 817Q1133 744 1110 637L977 0Z" /> -<glyph unicode="o" horiz-adv-x="1198" d="M805 696Q805 893 662 893Q587 893 528 832T431 653T393 410Q393 225 543 225Q618 225 678 286T771 457T805 696ZM1108 696Q1108 485 1038 322T834 70T518 -20Q323 -20 207 97T90 410Q90 623 161 789T368 1047T684 1139Q880 -1139 994 1021T1108 696Z" /> -<glyph unicode="p" horiz-adv-x="1219" d="M813 1139Q959 1139 1043 1032T1128 731Q1128 540 1060 364T872 84T610 -20Q527 -20 467 17T356 143H348Q336 -16 305 -152L233 -492H-68L274 1118H504L487 948H496Q634 1139 813 1139ZM692 895Q618 895 558 830T459 -642T420 399Q420 319 457 271T559 223Q626 223 687 292T785 481T823 719Q823 895 692 895Z" /> -<glyph unicode="q" horiz-adv-x="1217" d="M391 -20Q303 -20 235 27T129 166T90 385Q90 583 162 762T351 1040T608 1139Q694 1139 760 1102T885 975H893L950 1118H1182L840 -492H539Q586 -274 612 -155T696 150H688Q616 56 545 18T391 -20ZM535 223Q605 223 663 -287T760 475T799 719Q799 799 762 847T659 895Q591 895 530 823T432 633T395 399Q395 311 431 267T535 223Z" /> -<glyph unicode="r" horiz-adv-x="862" d="M842 1139Q901 1139 938 1128L872 838Q827 854 772 854Q656 854 569 763T444 500L338 0H37L274 1118H504L483 911H494Q639 1139 842 1139Z" /> -<glyph unicode="s" horiz-adv-x="969" d="M829 369Q829 181 705 81T358 -20Q251 -20 172 -5T23 45V293Q180 203 342 203Q422 203 473 235T524 324Q524 367 487 401T356 487Q235 555 187 622T139 782Q139 952 249 1045T565 1139Q766 1139 928 1044L829 829Q689 -913 571 913Q514 913 479 888T444 819Q444 780 476 751T596 676Q719 613 774 539T829 369Z" /> -<glyph unicode="t" horiz-adv-x="840" d="M514 223Q579 223 676 258V33Q565 -20 410 -20Q260 -20 190 43T119 238Q119 288 131 350L246 889H94L123 1036L319 1120L451 1356H645L596 1118H879L829 889H547L432 350Q426 320 426 297Q426 223 514 223Z" /> -<glyph unicode="u" horiz-adv-x="1237" d="M262 1118H563L426 465Q410 397 410 346Q410 223 518 223Q610 223 685 337T803 655L901 1118H1202L965 0H735L756 207H745Q600 -20 395 -20Q257 -20 184 62T111 301Q111 394 135 514L262 1118Z" /> -<glyph unicode="v" horiz-adv-x="1049" d="M459 301Q523 478 547 524L844 1118H1167L563 0H240L102 1118H397L442 532Q449 399 449 301H459Z" /> -<glyph unicode="w" horiz-adv-x="1614" d="M850 860Q760 605 733 541L500 0H176L125 1118H406L410 623Q410 414 399 285H408Q420 329 454 425T514 582L745 1118H1073V582Q1073 389 1063 285H1073Q1154 535 1192 623L1411 1118H1718L1188 0H858L852 520Q852 675 -862 860H850Z" /> -<glyph unicode="x" horiz-adv-x="1087" d="M379 573L154 1118H475L590 784L834 1118H1188L721 557L965 0H639L514 342L250 0H-100L379 573Z" /> -<glyph unicode="y" horiz-adv-x="1063" d="M102 1118H397L453 600Q465 495 465 307H473Q493 358 517 426T582 580L842 1118H1169L489 -160Q312 -492 6 -492Q-84 -492 -141 -473V-233Q-73 -246 -25 -246Q59 -246 122 -198T240 -49L266 0L102 1118Z" /> -<glyph unicode="z" horiz-adv-x="932" d="M748 0H-47L-12 180L563 885H166L217 1118H967L924 918L358 233H797L748 0Z" /> -<glyph unicode="{" horiz-adv-x="727" d="M201 319Q201 459 -8 459L37 688Q159 688 229 729T322 868L383 1153Q421 1323 514 1392T784 1462H868L819 1237Q729 1235 689 1203T633 1096L567 799Q522 592 291 563V555Q376 529 417 473T459 338Q459 294 444 225L408 -47Q401 19 401 -4Q401 -58 434 -78T526 -98V-324H473Q306 -324 220 -261T133 -76Q133 -19 147 49L186 233Q201 302 201 319Z" /> -<glyph unicode="|" horiz-adv-x="1128" d="M455 1550H674V-465H455V1550Z" /> -<glyph unicode="}" horiz-adv-x="727" d="M256 1462Q596 1462 596 1214Q596 1158 582 1090L543 905Q528 836 528 819Q528 680 737 680L692 451Q570 451 500 409T408 270L346 -14Q309 -184 216 -254T-55 -324H-100V-98Q-7 -95 37 -63T96 43L162 340Q187 451 257 -506T438 575V584Q270 635 270 801Q270 844 285 913L322 1092Q328 1122 328 1143Q328 1197 292 1217T182 1237L223 1462H256Z" /> -<glyph unicode="~" horiz-adv-x="1128" d="M342 672Q288 672 226 639T109 551V782Q210 891 365 891Q429 891 482 877T621 827Q685 800 732 786T827 772Q878 772 939 802T1061 893V662Q958 553 805 553Q746 553 696 564T549 616Q460 654 422 663T342 672Z" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="&#xa1;" horiz-adv-x="586" d="M182 606H424L266 -371H-74L182 606ZM549 977Q549 885 494 832T344 778Q276 778 236 816T195 924Q195 1009 249 1063T393 1118Q466 1118 507 1081T549 977Z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1128" d="M575 -20H387L436 190Q302 226 233 326T164 584Q164 777 226 939T404 1201T672 1325L705 1483H893L858 1325Q976 1311 1083 1260L991 1030Q938 1053 886 1070T768 1087Q685 1087 619 1028T511 855T469 608Q469 512 -514 464T641 416Q716 416 781 439T915 498V252Q779 181 616 172L575 -20Z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1128" d="M872 1485Q1067 1485 1241 1399L1128 1167Q987 1235 891 1235Q816 1235 768 1196T700 1063L653 834H952L907 614H608L590 530Q548 335 381 260H1036L981 0H-12L37 246Q233 294 281 510L303 614H111L156 834H348L397 -1081Q438 1278 559 1381T872 1485Z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1128" d="M190 723Q190 825 244 920L115 1047L262 1194L389 1067Q480 1120 586 1120Q691 1120 782 1065L909 1194L1059 1051L930 922Q983 833 983 723Q983 616 930 524L1055 399L909 254L782 379Q687 328 586 328Q471 328 -387 379L262 256L117 401L244 526Q190 619 190 723ZM397 723Q397 646 451 591T586 535Q667 535 722 590T778 723Q778 803 722 858T586 913Q508 913 453 857T397 723Z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1128" d="M608 872L979 1462H1290L784 715H987L948 537H696L668 399H920L883 221H631L584 0H293L340 221H88L125 399H377L406 537H154L193 715H389L197 1462H494L608 872Z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M455 1550H674V735H455V1550ZM455 350H674V-465H455V350Z" /> -<glyph unicode="&#xa7;" horiz-adv-x="995" d="M150 756Q150 841 196 914T352 1057Q310 1091 282 1141T254 1249Q254 1396 370 1481T684 1567Q856 1567 1028 1479L946 1286Q799 1370 664 1370Q601 1370 561 1345T520 1264Q520 1222 560 1189T688 1118Q810 1064 -870 991T930 819Q930 635 737 520Q775 485 801 435T827 326Q827 165 701 73T356 -20Q152 -20 20 55V279Q192 174 365 174Q464 174 509 209T555 301Q555 340 522 373T395 453Q278 510 214 583T150 756ZM506 958Q455 934 424 890T393 793Q393 742 435 700T580 612Q629 -643 655 689T682 782Q682 888 506 958Z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M416 1382Q416 1460 455 1500T567 1540Q692 1540 692 1432Q692 1359 656 1316T543 1272Q416 1272 416 1382ZM799 1382Q799 1460 838 1500T950 1540Q1075 1540 1075 1432Q1075 1359 1039 1316T926 1272Q799 1272 799 1382Z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M928 1055Q806 1055 740 971T674 731Q674 406 928 406Q1021 406 1141 451V322Q1076 294 1027 283T920 272Q730 272 623 392T516 731Q516 940 626 1064T930 1188Q1056 1188 1182 1126L1120 1001Q1012 1055 928 1055ZM137 -731Q137 931 237 1106T512 1382T889 1483Q1086 1483 1259 1386T1536 1114T1640 731Q1640 527 1540 355T1267 81T889 -20Q682 -20 507 83T235 360T137 731ZM246 731Q246 559 332 410T567 175T889 88Q1062 88 1210 173T1446 407T1534 731Q1534 906 1447 1054T1211 -1288T889 1374Q717 1374 568 1288T333 1053T246 731Z" /> -<glyph unicode="&#xaa;" horiz-adv-x="772" d="M369 748Q266 748 209 818T152 1016Q152 1133 198 1244T321 1415T498 1475Q563 1475 605 1449T676 1372H684L723 1462H877L719 760H571L580 852H571Q491 748 369 748ZM442 899Q487 899 526 939T591 1060T618 1214Q618 -1321 530 1321Q457 1321 407 1225T356 1010Q356 899 442 899Z" /> -<glyph unicode="&#xab;" horiz-adv-x="1151" d="M72 569L473 1032L664 877L385 543L520 193L274 90L72 551V569ZM559 569L961 1032L1151 877L872 543L1008 193L762 90L559 551V569Z" /> -<glyph unicode="&#xac;" horiz-adv-x="1128" d="M1061 248H842V612H109V831H1061V248Z" /> -<glyph unicode="&#xad;" horiz-adv-x="659" d="M41 424L94 674H618L565 424H41Z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M137 731Q137 931 237 1106T512 1382T889 1483Q1086 1483 1259 1386T1536 1114T1640 731Q1640 527 1540 355T1267 81T889 -20Q682 -20 507 83T235 360T137 731ZM246 731Q246 559 332 410T567 175T889 88Q1062 88 -1210 173T1446 407T1534 731Q1534 906 1447 1054T1211 1288T889 1374Q717 1374 568 1288T333 1053T246 731ZM1198 913Q1198 836 1151 773T1018 674L1243 291H1083L883 639H774V291H639V1171H874Q1039 1171 1118 1107T1198 913ZM774 762H862Q1055 762 1055 909Q1055 -984 1007 1014T862 1044H774V762Z" /> -<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M1214 1556H178L223 1757H1260L1214 1556Z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M164 1137Q164 1230 210 1310T338 1437T510 1483Q603 1483 683 1436T810 1309T856 1137Q856 1044 810 964T684 839T510 793Q417 793 337 838T211 963T164 1137ZM354 1137Q354 1074 399 1029T510 983Q576 983 621 -1029T666 1137Q666 1200 621 1247T510 1294Q445 1294 400 1247T354 1137Z" /> -<glyph unicode="&#xb1;" horiz-adv-x="1128" d="M475 674H109V893H475V1262H694V893H1061V674H694V309H475V674ZM109 0V219H1061V0H109Z" /> -<glyph unicode="&#xb2;" horiz-adv-x="776" d="M707 586H59L94 752L367 971Q478 1062 508 1093T552 1152T567 1208Q567 1250 542 1270T481 1290Q395 1290 293 1208L193 1366Q267 1423 349 1453T541 1483Q664 1483 737 1420T811 1260Q811 1190 789 1137T719 1034T530 -881L401 786H748L707 586Z" /> -<glyph unicode="&#xb3;" horiz-adv-x="776" d="M813 1270Q813 1184 762 1127T596 1038V1030Q750 997 750 856Q750 725 643 647T358 569Q283 569 213 584T92 625V817Q217 745 346 745Q422 745 471 775T520 864Q520 901 494 926T406 952H279L313 1112H403Q487 1112 -535 1140T584 1225Q584 1265 558 1285T487 1305Q401 1305 299 1239L217 1389Q359 1481 530 1481Q660 1481 736 1426T813 1270Z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M483 1266Q562 1354 705 1569H1040V1552Q994 1496 886 1400T692 1241H483V1266Z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1249" d="M424 348Q424 288 455 256T535 223Q625 223 697 329T815 649L913 1118H1214L977 0H752L770 176H760Q643 -20 494 -20Q443 -20 405 -1T346 47H336Q323 -58 316 -101T236 -492H-68L274 1118H575L440 473Q424 403 424 348Z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1202 -260H1040V1356H874V-260H713V559Q651 541 567 541Q351 541 249 666T147 1042Q147 1298 254 1427T598 1556H1202V-260Z" /> -<glyph unicode="&#xb7;" horiz-adv-x="584" d="M131 695Q131 785 184 839T335 893Q403 893 444 855T485 748Q485 661 430 607T286 553Q213 553 172 590T131 695Z" /> -<glyph unicode="&#xb8;" horiz-adv-x="420" d="M262 -250Q262 -366 179 -429T-55 -492Q-141 -492 -207 -469V-301Q-144 -324 -82 -324Q20 -324 20 -242Q20 -208 -11 -186T-121 -154L-25 0H160L121 -72Q262 -121 262 -250Z" /> -<glyph unicode="&#xb9;" horiz-adv-x="776" d="M528 1462H735L549 586H303L387 983Q411 1092 442 1190Q426 1175 362 1130L231 1049L129 1214L528 1462Z" /> -<glyph unicode="&#xba;" horiz-adv-x="754" d="M809 1190Q809 1062 761 958T628 801T432 748Q298 748 230 823T162 1034Q162 1231 266 1353T543 1475Q672 1475 740 1402T809 1190ZM522 1311Q458 1311 415 1222T371 1022Q371 911 451 911Q514 911 556 996T598 1204Q598 -1311 522 1311Z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1151" d="M1079 553L678 90L487 245L766 579L631 929L877 1032L1079 571V553ZM592 553L190 90L0 245L279 579L143 929L389 1032L592 571V553Z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1804" d="M1500 1462L416 0H177L1264 1462H1500ZM752 1462H959L773 586H527L611 983Q635 1092 666 1190Q650 1175 586 1130L455 1049L353 1214L752 1462ZM1573 152H1454L1422 1H1184L1217 152H844L875 326L1350 883H1610L1489 -320H1608L1573 152ZM1252 320L1310 551L1332 625Q1319 605 1289 567T1078 320H1252Z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1804" d="M1500 1462L416 0H177L1264 1462H1500ZM752 1462H959L773 586H527L611 983Q635 1092 666 1190Q650 1175 586 1130L455 1049L353 1214L752 1462ZM1588 1H940L975 167L1248 386Q1359 477 1389 508T1433 567T1448 623Q1448 -665 1423 685T1362 705Q1276 705 1174 623L1074 781Q1148 838 1230 868T1422 898Q1545 898 1618 835T1692 675Q1692 605 1670 552T1600 449T1411 296L1282 201H1629L1588 1Z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1804" d="M854 1270Q854 1184 803 1127T637 1038V1030Q791 997 791 856Q791 725 684 647T399 569Q324 569 254 584T133 625V817Q258 745 387 745Q463 745 512 775T561 864Q561 901 535 926T447 952H320L354 1112H444Q528 -1112 576 1140T625 1225Q625 1265 599 1285T528 1305Q442 1305 340 1239L258 1389Q400 1481 571 1481Q701 1481 777 1426T854 1270ZM1631 1462L547 0H308L1395 1462H1631ZM1634 152H1515L1483 1H1245L1278 152H905L936 326L1411 883H1671L1550 320H1669L1634 152ZM1313 -320L1371 551L1393 625Q1380 605 1350 567T1139 320H1313Z" /> -<glyph unicode="&#xbf;" horiz-adv-x="940" d="M678 606Q652 461 598 372T418 197Q296 114 262 71T227 -27Q227 -145 360 -145Q410 -145 466 -129T668 -45L760 -266Q539 -391 315 -391Q138 -391 35 -304T-68 -59Q-68 23 -40 89T44 213T233 360Q327 423 363 471T420 -606H678ZM772 977Q772 885 717 832T567 778Q499 778 459 816T418 924Q418 1010 472 1064T616 1118Q689 1118 730 1081T772 977Z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1286" d="M842 348H369L197 0H-123L643 1468H1016L1163 0H866L842 348ZM827 608L801 958L796 1091L793 1247H788Q734 1100 682 993L494 608H827ZM965 1579H781Q710 1648 643 1732T539 1886V1907H850Q886 1759 965 1604V1579Z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1286" d="M842 348H369L197 0H-123L643 1468H1016L1163 0H866L842 348ZM827 608L801 958L796 1091L793 1247H788Q734 1100 682 993L494 608H827ZM735 1604Q814 1692 957 1907H1292V1890Q1246 1834 1138 1738T944 1579H735V1604Z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1286" d="M842 348H369L197 0H-123L643 1468H1016L1163 0H866L842 348ZM827 608L801 958L796 1091L793 1247H788Q734 1100 682 993L494 608H827ZM1235 1579H1037Q974 1632 875 1747Q770 1659 643 1579H426V1604Q489 1661 -579 1751T721 1907H1059Q1081 1853 1133 1765T1235 1604V1579Z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1286" d="M842 348H369L197 0H-123L643 1468H1016L1163 0H866L842 348ZM827 608L801 958L796 1091L793 1247H788Q734 1100 682 993L494 608H827ZM999 1579Q950 1579 913 1595T843 1631T782 1667T719 1684Q688 1684 664 1656T625 -1577H448Q507 1886 729 1886Q778 1886 816 1870T888 1834T950 1798T1010 1782Q1044 1782 1068 1807T1114 1888H1286Q1220 1579 999 1579Z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1286" d="M842 348H369L197 0H-123L643 1468H1016L1163 0H866L842 348ZM827 608L801 958L796 1091L793 1247H788Q734 1100 682 993L494 608H827ZM535 1720Q535 1798 574 1838T686 1878Q811 1878 811 1770Q811 1697 775 1654T662 -1610Q535 1610 535 1720ZM918 1720Q918 1798 957 1838T1069 1878Q1194 1878 1194 1770Q1194 1697 1158 1654T1045 1610Q918 1610 918 1720Z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1286" d="M1087 1571Q1087 1468 1022 1403L1163 0H866L842 348H369L197 0H-123L623 1432Q586 1485 586 1569Q586 1677 653 1741T834 1806Q943 1806 1015 1742T1087 1571ZM827 608L801 958L796 1093L793 1247H788Q734 1100 -682 993L494 608H827ZM930 1569Q930 1614 903 1639T834 1665Q792 1665 765 1640T737 1569Q737 1524 761 1499T834 1473Q876 1473 903 1498T930 1569Z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1833" d="M1593 0H776L850 348H424L205 0H-123L799 1462H1903L1849 1208H1337L1270 887H1747L1692 633H1214L1135 256H1647L1593 0ZM905 608L1032 1208H952L588 608H905Z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1253" d="M905 1227Q773 1227 668 1146T498 907T434 569Q434 402 502 321T721 240Q867 240 1059 317V57Q860 -20 659 -20Q405 -20 264 129T123 553Q123 815 227 1035T505 1370T905 1485Q1030 1485 1127 1463T1335 1380L1217 -1130Q1111 1189 1042 1208T905 1227ZM825 -250Q825 -366 742 -429T508 -492Q422 -492 356 -469V-301Q419 -324 481 -324Q583 -324 583 -242Q583 -208 552 -186T442 -154L538 0H723L684 -72Q825 -121 825 -250Z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1110" d="M870 0H53L362 1462H1180L1126 1208H614L547 887H1024L969 633H492L412 256H924L870 0ZM906 1579H722Q651 1648 584 1732T480 1886V1907H791Q827 1759 906 1604V1579Z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1110" d="M870 0H53L362 1462H1180L1126 1208H614L547 887H1024L969 633H492L412 256H924L870 0ZM608 1604Q687 1692 830 1907H1165V1890Q1119 1834 1011 1738T817 1579H608V1604Z" /> -<glyph unicode="&#xca;" horiz-adv-x="1110" d="M870 0H53L362 1462H1180L1126 1208H614L547 887H1024L969 633H492L412 256H924L870 0ZM1177 1579H979Q916 1632 817 1747Q712 1659 585 1579H368V1604Q431 1661 521 1751T663 1907H1001Q1023 1853 1075 1765T1177 -1604V1579Z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1110" d="M870 0H53L362 1462H1180L1126 1208H614L547 887H1024L969 633H492L412 256H924L870 0ZM457 1720Q457 1798 496 1838T608 1878Q733 1878 733 1770Q733 1697 697 1654T584 1610Q457 1610 457 1720ZM840 1720Q840 -1798 879 1838T991 1878Q1116 1878 1116 1770Q1116 1697 1080 1654T967 1610Q840 1610 840 1720Z" /> -<glyph unicode="&#xcc;" horiz-adv-x="784" d="M588 0H-59L-23 176L164 258L365 1204L213 1286L250 1462H897L860 1286L670 1204L469 258L625 176L588 0ZM708 1579H524Q453 1648 386 1732T282 1886V1907H593Q629 1759 708 1604V1579Z" /> -<glyph unicode="&#xcd;" horiz-adv-x="784" d="M588 0H-59L-23 176L164 258L365 1204L213 1286L250 1462H897L860 1286L670 1204L469 258L625 176L588 0ZM455 1604Q534 1692 677 1907H1012V1890Q966 1834 858 1738T664 1579H455V1604Z" /> -<glyph unicode="&#xce;" horiz-adv-x="784" d="M588 0H-59L-23 176L164 258L365 1204L213 1286L250 1462H897L860 1286L670 1204L469 258L625 176L588 0ZM978 1579H780Q717 1632 618 1747Q513 1659 386 1579H169V1604Q232 1661 322 1751T464 1907H802Q824 1853 -876 1765T978 1604V1579Z" /> -<glyph unicode="&#xcf;" horiz-adv-x="784" d="M588 0H-59L-23 176L164 258L365 1204L213 1286L250 1462H897L860 1286L670 1204L469 258L625 176L588 0ZM282 1720Q282 1798 321 1838T433 1878Q558 1878 558 1770Q558 1697 522 1654T409 1610Q282 1610 282 1720ZM665 -1720Q665 1798 704 1838T816 1878Q941 1878 941 1770Q941 1697 905 1654T792 1610Q665 1610 665 1720Z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1386" d="M1323 909Q1323 629 1225 423T942 108T504 0H53L178 596H37L92 850H231L362 1462H758Q1028 1462 1175 1319T1323 909ZM518 256Q666 256 776 332T948 555T1010 893Q1010 1047 938 1127T729 1208H614L539 850H776L721 -596H483L412 256H518Z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1546" d="M1247 0H905L549 1106H539L531 1047Q504 833 473 688L328 0H53L362 1462H719L1059 385H1067Q1102 608 1135 770L1282 1462H1556L1247 0ZM1114 1579Q1065 1579 1028 1595T958 1631T897 1667T834 1684Q803 1684 779 -1656T740 1577H563Q622 1886 844 1886Q893 1886 931 1870T1003 1834T1065 1798T1125 1782Q1159 1782 1183 1807T1229 1888H1401Q1335 1579 1114 1579Z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 500 315T688 -240Q809 240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227ZM1053 1579H869Q798 1648 731 1732T627 1886V1907H938Q974 1759 1053 1604V1579Z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 500 315T688 -240Q809 240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227ZM753 1604Q832 1692 975 1907H1310V1890Q1264 1834 1156 1738T962 1579H753V1604Z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 500 315T688 -240Q809 240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227ZM1308 1579H1110Q1047 1632 948 1747Q843 1659 716 1579H499V1604Q562 1661 652 1751T794 1907H1132Q1154 1853 1206 1765T1308 1604V1579Z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 500 315T688 -240Q809 240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227ZM1071 1579Q1022 1579 985 1595T915 1631T854 1667T791 1684Q760 1684 736 1656T697 1577H520Q579 1886 801 1886Q850 1886 888 1870T960 1834T1022 1798T1082 1782Q1116 1782 1140 1807T1186 -1888H1358Q1292 1579 1071 1579Z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q410 -20 267 127T123 537Q123 802 222 1024T495 1366T897 1485Q1152 1485 1292 1341T1432 938ZM872 1227Q751 1227 650 1136T492 884T434 537Q434 390 500 315T688 -240Q809 240 908 327T1064 573T1120 930Q1120 1072 1055 1149T872 1227ZM604 1720Q604 1798 643 1838T755 1878Q880 1878 880 1770Q880 1697 844 1654T731 1610Q604 1610 604 1720ZM987 1720Q987 1798 1026 1838T1138 1878Q1263 1878 1263 1770Q1263 1697 1227 -1654T1114 1610Q987 1610 987 1720Z" /> -<glyph unicode="&#xd7;" horiz-adv-x="1128" d="M428 723L129 1024L281 1178L582 879L887 1178L1040 1028L735 723L1036 420L887 268L582 569L281 270L131 422L428 723Z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1495" d="M1432 938Q1432 655 1333 432T1062 94T666 -20Q486 -20 362 51L254 -86L100 29L221 180Q123 318 123 537Q123 802 222 1024T495 1366T897 1485Q1079 1485 1202 1409L1307 1540L1458 1423L1341 1278Q1432 1144 1432 -938ZM870 1233Q744 1233 641 1142T481 889T424 537Q424 505 432 436L1028 1190Q959 1233 870 1233ZM1133 930L1128 1010L539 270Q598 233 692 233Q816 233 918 322T1076 569T1133 930Z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1415" d="M1434 1462L1233 516Q1176 250 1015 115T596 -20Q384 -20 263 93T141 401Q141 473 156 539L352 1462H657L463 543Q446 469 446 418Q446 240 635 240Q758 240 830 316T934 545L1128 1462H1434ZM1002 1579H818Q747 -1648 680 1732T576 1886V1907H887Q923 1759 1002 1604V1579Z" /> -<glyph unicode="&#xda;" horiz-adv-x="1415" d="M1434 1462L1233 516Q1176 250 1015 115T596 -20Q384 -20 263 93T141 401Q141 473 156 539L352 1462H657L463 543Q446 469 446 418Q446 240 635 240Q758 240 830 316T934 545L1128 1462H1434ZM757 1604Q836 1692 -979 1907H1314V1890Q1268 1834 1160 1738T966 1579H757V1604Z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1415" d="M1434 1462L1233 516Q1176 250 1015 115T596 -20Q384 -20 263 93T141 401Q141 473 156 539L352 1462H657L463 543Q446 469 446 418Q446 240 635 240Q758 240 830 316T934 545L1128 1462H1434ZM1284 1579H1086Q1023 -1632 924 1747Q819 1659 692 1579H475V1604Q538 1661 628 1751T770 1907H1108Q1130 1853 1182 1765T1284 1604V1579Z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1415" d="M1434 1462L1233 516Q1176 250 1015 115T596 -20Q384 -20 263 93T141 401Q141 473 156 539L352 1462H657L463 543Q446 469 446 418Q446 240 635 240Q758 240 830 316T934 545L1128 1462H1434ZM584 1720Q584 1798 -623 1838T735 1878Q860 1878 860 1770Q860 1697 824 1654T711 1610Q584 1610 584 1720ZM967 1720Q967 1798 1006 1838T1118 1878Q1243 1878 1243 1770Q1243 1697 1207 1654T1094 1610Q967 1610 967 1720Z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1155" d="M627 870L1001 1462H1343L725 559L606 0H303L422 559L186 1462H498L627 870ZM606 1604Q685 1692 828 1907H1163V1890Q1117 1834 1009 1738T815 1579H606V1604Z" /> -<glyph unicode="&#xde;" horiz-adv-x="1241" d="M1192 807Q1192 564 1022 429T555 293H420L358 0H53L362 1462H668L618 1233H702Q944 1233 1068 1127T1192 807ZM475 547H580Q720 547 802 614T885 799Q885 979 690 979H567L475 547Z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1350" d="M846 1567Q1054 1567 1177 1477T1300 1237Q1300 1123 1251 1045T1073 893Q1000 851 977 825T954 770Q954 747 976 721T1055 651Q1162 568 1199 501T1237 350Q1237 180 1114 80T776 -20Q589 -20 479 41V281Q607 203 -737 203Q838 203 885 236T932 322Q932 362 906 397T797 494Q703 566 668 624T633 750Q633 834 678 895T840 1022Q906 1059 944 1098T983 1194Q983 1256 944 1292T819 1329Q723 1329 663 1278T578 1106L324 -113Q281 -311 177 -401T-100 -492Q-190 -492 -260 -467V-225Q-199 --246 -145 -246Q-12 -246 25 -68L279 1139Q326 1363 461 1465T846 1567Z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 -761 848T659 895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223ZM1125 1241H941Q870 1310 803 1394T699 1548V1569H1010Q1046 1421 1125 1266V1241Z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 -761 848T659 895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223ZM598 1266Q677 1354 820 1569H1155V1552Q1109 1496 1001 1400T807 1241H598V1266Z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 -761 848T659 895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223ZM1120 1241H922Q859 1294 760 1409Q655 1321 528 1241H311V1266Q374 1323 464 1413T606 1569H944Q966 1515 1018 1427T1120 1266V1241Z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 -761 848T659 895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223ZM884 1241Q835 1241 798 1257T728 1293T667 1329T604 1346Q573 1346 549 1318T510 1239H333Q392 1548 614 1548Q663 1548 701 1532T773 1496T835 1460T895 1444Q929 1444 953 1469T999 -1550H1171Q1105 1241 884 1241Z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 -761 848T659 895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223ZM416 1382Q416 1460 455 1500T567 1540Q692 1540 692 1432Q692 1359 656 1316T543 1272Q416 1272 416 1382ZM799 1382Q799 1460 838 1500T950 1540Q1075 1540 1075 1432Q1075 1359 1039 -1316T926 1272Q799 1272 799 1382Z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1217" d="M406 -20Q259 -20 175 86T90 385Q90 583 162 762T351 1040T608 1139Q705 1139 775 1097T885 975H893L950 1118H1182L944 0H719L733 145H725Q591 -20 406 -20ZM524 223Q593 223 657 290T760 471T799 731Q799 802 -761 848T659 895Q591 895 530 823T432 633T395 399Q395 311 428 267T524 223ZM1279 1479Q1279 1372 1209 1306T1025 1239Q915 1239 846 1302T777 1477Q777 1586 845 1650T1025 1714Q1135 1714 1207 1649T1279 1479ZM1122 1477Q1122 1522 1095 1547T1025 1573Q983 -1573 956 1548T929 1477Q929 1432 953 1406T1025 1380Q1067 1380 1094 1406T1122 1477Z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1786" d="M1206 -20Q1097 -20 1027 7T909 94L893 0H705L719 145H709Q635 53 561 17T399 -20Q253 -20 172 89T90 385Q90 585 158 760T343 1037T602 1139Q695 1139 758 1102T872 975H883L940 1118H1128L1110 1028Q1154 1077 -1230 1108T1399 1139Q1556 1139 1645 1056T1735 834Q1735 647 1568 546T1092 444H1040L1038 425V406Q1038 310 1093 259T1253 207Q1319 207 1405 230T1567 293V66Q1388 -20 1206 -20ZM518 223Q590 223 652 292T751 479T788 719Q788 799 755 847T653 895Q585 895 -525 826T430 641T395 399Q395 315 427 269T518 223ZM1341 922Q1253 922 1175 842T1073 647H1118Q1273 647 1359 695T1446 827Q1446 922 1341 922Z" /> -<glyph unicode="&#xe7;" horiz-adv-x="989" d="M506 -20Q305 -20 198 87T90 391Q90 603 164 776T374 1044T682 1139Q864 1139 1010 1067L918 838Q864 861 812 878T694 895Q609 895 541 831T434 656T395 416Q395 320 440 272T567 223Q643 223 708 246T842 305V59Q690 --20 506 -20ZM653 -250Q653 -366 570 -429T336 -492Q250 -492 184 -469V-301Q247 -324 309 -324Q411 -324 411 -242Q411 -208 380 -186T270 -154L366 0H551L512 -72Q653 -121 653 -250Z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1141" d="M696 922Q608 922 530 842T428 647H473Q628 647 714 695T801 827Q801 922 696 922ZM532 -20Q322 -20 206 93T90 412Q90 619 172 789T396 1049T715 1139Q892 1139 991 1058T1090 834Q1090 647 923 546T446 444H395L393 -423V403Q393 312 444 260T592 207Q679 207 750 226T922 293V66Q750 -20 532 -20ZM1105 1241H921Q850 1310 783 1394T679 1548V1569H990Q1026 1421 1105 1266V1241Z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1141" d="M696 922Q608 922 530 842T428 647H473Q628 647 714 695T801 827Q801 922 696 922ZM532 -20Q322 -20 206 93T90 412Q90 619 172 789T396 1049T715 1139Q892 1139 991 1058T1090 834Q1090 647 923 546T446 444H395L393 -423V403Q393 312 444 260T592 207Q679 207 750 226T922 293V66Q750 -20 532 -20ZM528 1266Q607 1354 750 1569H1085V1552Q1039 1496 931 1400T737 1241H528V1266Z" /> -<glyph unicode="&#xea;" horiz-adv-x="1141" d="M696 922Q608 922 530 842T428 647H473Q628 647 714 695T801 827Q801 922 696 922ZM532 -20Q322 -20 206 93T90 412Q90 619 172 789T396 1049T715 1139Q892 1139 991 1058T1090 834Q1090 647 923 546T446 444H395L393 -423V403Q393 312 444 260T592 207Q679 207 750 226T922 293V66Q750 -20 532 -20ZM1357 1241H1159Q1096 1294 997 1409Q892 1321 765 1241H548V1266Q611 1323 701 1413T843 1569H1181Q1203 1515 1255 1427T1357 1266V1241Z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1141" d="M696 922Q608 922 530 842T428 647H473Q628 647 714 695T801 827Q801 922 696 922ZM532 -20Q322 -20 206 93T90 412Q90 619 172 789T396 1049T715 1139Q892 1139 991 1058T1090 834Q1090 647 923 546T446 444H395L393 -423V403Q393 312 444 260T592 207Q679 207 750 226T922 293V66Q750 -20 532 -20ZM640 1382Q640 1460 679 1500T791 1540Q916 1540 916 1432Q916 1359 880 1316T767 1272Q640 1272 640 1382ZM1023 1382Q1023 1460 1062 1500T1174 1540Q1299 1540 1299 1432Q1299 -1359 1263 1316T1150 1272Q1023 1272 1023 1382Z" /> -<glyph unicode="&#xec;" horiz-adv-x="608" d="M338 0H37L274 1118H575L338 0ZM579 1241H395Q324 1310 257 1394T153 1548V1569H464Q500 1421 579 1266V1241Z" /> -<glyph unicode="&#xed;" horiz-adv-x="608" d="M338 0H37L274 1118H575L338 0ZM291 1266Q370 1354 513 1569H848V1552Q802 1496 694 1400T500 1241H291V1266Z" /> -<glyph unicode="&#xee;" horiz-adv-x="608" d="M338 0H37L274 1118H575L338 0ZM845 1241H647Q584 1294 485 1409Q380 1321 253 1241H36V1266Q99 1323 189 1413T331 1569H669Q691 1515 743 1427T845 1266V1241Z" /> -<glyph unicode="&#xef;" horiz-adv-x="608" d="M338 0H37L274 1118H575L338 0ZM145 1382Q145 1460 184 1500T296 1540Q421 1540 421 1432Q421 1359 385 1316T272 1272Q145 1272 145 1382ZM528 1382Q528 1460 567 1500T679 1540Q804 1540 804 1432Q804 1359 768 -1316T655 1272Q528 1272 528 1382Z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1182" d="M618 1300Q580 1338 494 1380L612 1567Q750 1504 844 1427L1081 1559L1157 1407L965 1300Q1046 1194 1078 1070T1110 795Q1110 546 1041 363T837 80T514 -20Q298 -20 185 90T72 406Q72 571 136 707T317 919T582 -995Q754 995 844 870H854Q834 1077 737 1171L506 1040L418 1188L618 1300ZM528 205Q594 205 650 260T739 409T772 602Q772 679 734 724T625 770Q552 770 495 717T407 574T375 377Q375 296 414 251T528 205Z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1237" d="M977 0H676L813 653Q829 721 829 772Q829 895 721 895Q629 895 554 781T436 463L338 0H37L274 1118H504L483 911H492Q638 1139 844 1139Q982 1139 1057 1056T1133 817Q1133 744 1110 637L977 0ZM911 1241Q862 1241 -825 1257T755 1293T694 1329T631 1346Q600 1346 576 1318T537 1239H360Q419 1548 641 1548Q690 1548 728 1532T800 1496T862 1460T922 1444Q956 1444 980 1469T1026 1550H1198Q1132 1241 911 1241Z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1198" d="M805 696Q805 893 662 893Q587 893 528 832T431 653T393 410Q393 225 543 225Q618 225 678 286T771 457T805 696ZM1108 696Q1108 485 1038 322T834 70T518 -20Q323 -20 207 97T90 410Q90 623 161 789T368 1047T684 -1139Q880 1139 994 1021T1108 696ZM1101 1241H917Q846 1310 779 1394T675 1548V1569H986Q1022 1421 1101 1266V1241Z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1198" d="M805 696Q805 893 662 893Q587 893 528 832T431 653T393 410Q393 225 543 225Q618 225 678 286T771 457T805 696ZM1108 696Q1108 485 1038 322T834 70T518 -20Q323 -20 207 97T90 410Q90 623 161 789T368 1047T684 -1139Q880 1139 994 1021T1108 696ZM571 1266Q650 1354 793 1569H1128V1552Q1082 1496 974 1400T780 1241H571V1266Z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1198" d="M805 696Q805 893 662 893Q587 893 528 832T431 653T393 410Q393 225 543 225Q618 225 678 286T771 457T805 696ZM1108 696Q1108 485 1038 322T834 70T518 -20Q323 -20 207 97T90 410Q90 623 161 789T368 1047T684 -1139Q880 1139 994 1021T1108 696ZM1365 1241H1167Q1104 1294 1005 1409Q900 1321 773 1241H556V1266Q619 1323 709 1413T851 1569H1189Q1211 1515 1263 1427T1365 1266V1241Z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1198" d="M805 696Q805 893 662 893Q587 893 528 832T431 653T393 410Q393 225 543 225Q618 225 678 286T771 457T805 696ZM1108 696Q1108 485 1038 322T834 70T518 -20Q323 -20 207 97T90 410Q90 623 161 789T368 1047T684 -1139Q880 1139 994 1021T1108 696ZM1121 1241Q1072 1241 1035 1257T965 1293T904 1329T841 1346Q810 1346 786 1318T747 1239H570Q629 1548 851 1548Q900 1548 938 1532T1010 1496T1072 1460T1132 1444Q1166 1444 1190 1469T1236 1550H1408Q1342 1241 1121 1241Z" -/> -<glyph unicode="&#xf6;" horiz-adv-x="1198" d="M805 696Q805 893 662 893Q587 893 528 832T431 653T393 410Q393 225 543 225Q618 225 678 286T771 457T805 696ZM1108 696Q1108 485 1038 322T834 70T518 -20Q323 -20 207 97T90 410Q90 623 161 789T368 1047T684 -1139Q880 1139 994 1021T1108 696ZM661 1382Q661 1460 700 1500T812 1540Q937 1540 937 1432Q937 1359 901 1316T788 1272Q661 1272 661 1382ZM1044 1382Q1044 1460 1083 1500T1195 1540Q1320 1540 1320 1432Q1320 1359 1284 1316T1171 1272Q1044 1272 1044 1382Z" -/> -<glyph unicode="&#xf7;" horiz-adv-x="1128" d="M109 612V831H1061V612H109ZM444 373Q444 449 481 486T584 524Q650 524 686 485T723 373Q723 303 686 262T584 221Q519 221 482 260T444 373ZM444 1071Q444 1146 481 1184T584 1223Q651 1223 687 1183T723 1071Q723 -1001 686 961T584 920Q519 920 482 959T444 1071Z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1198" d="M1108 696Q1108 485 1038 322T834 70T518 -20Q395 -20 293 33L184 -102L43 6L162 154Q90 261 90 410Q90 623 161 789T368 1047T684 1139Q815 1139 911 1083L981 1171L1126 1061L1042 956Q1108 849 1108 696ZM662 -903Q580 903 519 846T421 674T385 426L750 879Q715 903 662 903ZM543 215Q616 215 675 270T773 437T815 682L457 238Q468 230 492 223T543 215Z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1237" d="M262 1118H563L426 465Q410 397 410 346Q410 223 518 223Q610 223 685 337T803 655L901 1118H1202L965 0H735L756 207H745Q600 -20 395 -20Q257 -20 184 62T111 301Q111 394 135 514L262 1118ZM1101 1241H917Q846 -1310 779 1394T675 1548V1569H986Q1022 1421 1101 1266V1241Z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1237" d="M262 1118H563L426 465Q410 397 410 346Q410 223 518 223Q610 223 685 337T803 655L901 1118H1202L965 0H735L756 207H745Q600 -20 395 -20Q257 -20 184 62T111 301Q111 394 135 514L262 1118ZM610 1266Q689 1354 -832 1569H1167V1552Q1121 1496 1013 1400T819 1241H610V1266Z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1237" d="M262 1118H563L426 465Q410 397 410 346Q410 223 518 223Q610 223 685 337T803 655L901 1118H1202L965 0H735L756 207H745Q600 -20 395 -20Q257 -20 184 62T111 301Q111 394 135 514L262 1118ZM1143 1241H945Q882 -1294 783 1409Q678 1321 551 1241H334V1266Q397 1323 487 1413T629 1569H967Q989 1515 1041 1427T1143 1266V1241Z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1237" d="M262 1118H563L426 465Q410 397 410 346Q410 223 518 223Q610 223 685 337T803 655L901 1118H1202L965 0H735L756 207H745Q600 -20 395 -20Q257 -20 184 62T111 301Q111 394 135 514L262 1118ZM430 1382Q430 1460 -469 1500T581 1540Q706 1540 706 1432Q706 1359 670 1316T557 1272Q430 1272 430 1382ZM813 1382Q813 1460 852 1500T964 1540Q1089 1540 1089 1432Q1089 1359 1053 1316T940 1272Q813 1272 813 1382Z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1063" d="M102 1118H397L453 600Q465 495 465 307H473Q493 358 517 426T582 580L842 1118H1169L489 -160Q312 -492 6 -492Q-84 -492 -141 -473V-233Q-73 -246 -25 -246Q59 -246 122 -198T240 -49L266 0L102 1118ZM497 1266Q576 -1354 719 1569H1054V1552Q1008 1496 900 1400T706 1241H497V1266Z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1219" d="M813 1139Q963 1139 1045 1033T1128 731Q1128 532 1059 350T877 74T627 -20Q449 -20 356 143H348Q336 -16 305 -152L233 -492H-68L367 1556H668L602 1249Q573 1118 522 969H530Q661 1139 813 1139ZM682 895Q611 -895 552 830T457 646T420 399Q420 319 453 271T559 223Q630 223 691 292T788 478T823 719Q823 807 786 851T682 895Z" /> -<glyph unicode="&#xff;" horiz-adv-x="1063" d="M102 1118H397L453 600Q465 495 465 307H473Q493 358 517 426T582 580L842 1118H1169L489 -160Q312 -492 6 -492Q-84 -492 -141 -473V-233Q-73 -246 -25 -246Q59 -246 122 -198T240 -49L266 0L102 1118ZM585 1382Q585 -1460 624 1500T736 1540Q861 1540 861 1432Q861 1359 825 1316T712 1272Q585 1272 585 1382ZM968 1382Q968 1460 1007 1500T1119 1540Q1244 1540 1244 1432Q1244 1359 1208 1316T1095 1272Q968 1272 968 1382Z" /> -<glyph unicode="&#x2013;" horiz-adv-x="983" d="M41 436L90 666H942L893 436H41Z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M41 436L90 666H1925L1876 436H41Z" /> -<glyph unicode="&#x2018;" horiz-adv-x="440" d="M123 961L115 983Q218 1210 377 1462H602Q511 1249 408 961H123Z" /> -<glyph unicode="&#x2019;" horiz-adv-x="440" d="M586 1462L594 1440Q491 1213 332 961H106Q195 1167 301 1462H586Z" /> -<glyph unicode="&#x201a;" horiz-adv-x="569" d="M377 238L385 215Q282 -12 123 -264H-102Q-14 -57 92 238H377Z" /> -<glyph unicode="&#x201c;" horiz-adv-x="887" d="M569 961L561 983Q664 1210 823 1462H1049Q952 1235 854 961H569ZM123 961L115 983Q218 1210 377 1462H602Q511 1249 408 961H123Z" /> -<glyph unicode="&#x201d;" horiz-adv-x="887" d="M586 1462L594 1440Q491 1213 332 961H106Q195 1167 301 1462H586ZM1032 1462L1040 1440Q937 1213 778 961H553Q576 1014 599 1072T748 1462H1032Z" /> -<glyph unicode="&#x201e;" horiz-adv-x="1018" d="M377 238L385 215Q282 -12 123 -264H-102Q-14 -57 92 238H377ZM825 238L834 215Q734 -6 571 -264H346Q370 -207 395 -146T541 238H825Z" /> -<glyph unicode="&#x2022;" horiz-adv-x="770" d="M139 748Q139 902 213 983T426 1065Q563 1065 638 983T713 748Q713 596 638 513T426 430Q288 430 214 513T139 748Z" /> -<glyph unicode="&#x2039;" horiz-adv-x="664" d="M72 569L473 1032L664 877L385 543L520 193L274 90L72 551V569Z" /> -<glyph unicode="&#x203a;" horiz-adv-x="664" d="M592 553L190 90L0 245L279 579L143 929L389 1032L592 571V553Z" /> -</font> -</defs> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf deleted file mode 100755 index 6640dbe..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff deleted file mode 100755 index 209739e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2 b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2 deleted file mode 100755 index f5525aa..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2 and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot deleted file mode 100755 index a997349..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg deleted file mode 100755 index dcd8fc8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg +++ /dev/null @@ -1,337 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg"> -<defs > -<font id="NotoSans" horiz-adv-x="1151" ><font-face - font-family="Noto Sans" - units-per-em="2048" - panose-1="2 11 5 2 4 5 4 9 2 4" - ascent="2189" - descent="-600" - alphabetic="0" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="535" d="M563 1462L291 412H170L344 1462H563ZM41 82Q41 157 83 202T195 248Q241 248 270 220T299 137Q299 67 259 19T150 -29Q97 -29 69 0T41 82Z" /> -<glyph unicode="&quot;" horiz-adv-x="803" d="M492 1462L338 934H223L295 1462H492ZM844 1462L690 934H575L647 1462H844Z" /> -<glyph unicode="#" horiz-adv-x="1323" d="M1036 895L940 563H1223L1210 428H901L778 0H631L760 428H465L340 0H199L319 428H61L74 563H358L457 895H182L195 1028H494L616 1462H764L639 1028H934L1061 1462H1200L1077 1028H1339L1325 895H1036ZM504 563H799L891 -895H598L504 563Z" /> -<glyph unicode="$" horiz-adv-x="1128" d="M950 492Q950 330 837 229T522 104L473 -119H340L389 102Q194 116 70 176V340Q144 301 238 277T418 250L514 690Q371 742 308 817T244 1008Q244 1168 354 1264T657 1378L696 1552H829L793 1376Q951 1364 1075 1300L1008 -1155Q888 1220 762 1229L670 801Q821 745 885 674T950 492ZM553 256Q657 269 717 328T778 477Q778 531 746 571T637 643L553 256ZM627 1229Q519 1215 465 1159T410 1012Q410 900 547 848L627 1229Z" /> -<glyph unicode="%" horiz-adv-x="1636" d="M541 1350Q476 1350 425 1289T343 1104T311 864Q311 700 414 700Q476 700 527 764T611 957T645 1190Q645 1350 541 1350ZM793 1202Q793 1094 762 966T679 750T557 614T399 565Q287 565 226 641T164 862Q164 1029 215 -1182T353 1409T553 1483Q671 1483 732 1411T793 1202ZM1477 1462L391 0H231L1317 1462H1477ZM1292 764Q1228 764 1178 703T1097 519T1065 279Q1065 115 1165 115Q1228 115 1278 177T1362 371T1397 604Q1397 764 1292 764ZM1546 618Q1546 510 1516 384T1434 169T1312 -30T1151 -20Q1038 -20 977 54T915 274Q915 444 966 594T1103 821T1305 897Q1423 897 1484 825T1546 618Z" /> -<glyph unicode="&amp;" horiz-adv-x="1378" d="M1239 0H1026L913 160Q792 62 682 21T442 -20Q269 -20 168 76T66 344Q66 491 155 600T455 811Q354 971 354 1116Q354 1281 461 1383T748 1485Q897 1485 985 1406T1073 1192Q1073 1109 1035 1043T925 921T676 774L946 -397Q1065 501 1141 692H1321Q1220 450 1036 272L1239 0ZM530 700Q414 640 358 592T273 487T244 356Q244 252 309 191T477 129Q563 129 644 162T827 279L530 700ZM604 887Q738 954 788 992T868 1076T899 1178Q899 1250 859 1294T739 1339Q637 1339 582 1280T526 -1116Q526 996 604 887Z" /> -<glyph unicode="&apos;" horiz-adv-x="451" d="M492 1462L338 934H223L295 1462H492Z" /> -<glyph unicode="(" horiz-adv-x="594" d="M82 272Q82 615 204 905T586 1462H752Q254 914 254 274Q254 -63 369 -324H229Q82 -65 82 272Z" /> -<glyph unicode=")" horiz-adv-x="594" d="M510 864Q510 518 388 230T6 -324H-158Q338 227 338 864Q338 1206 225 1462H365Q510 1195 510 864Z" /> -<glyph unicode="*" horiz-adv-x="1128" d="M856 1528L735 1147L1153 1167L1145 999L756 1047L934 668L762 614L651 1014L399 676L274 801L580 1081L211 1190L268 1350L637 1167L678 1563L856 1528Z" /> -<glyph unicode="+" horiz-adv-x="1128" d="M512 647H125V797H512V1186H662V797H1049V647H662V262H512V647Z" /> -<glyph unicode="," horiz-adv-x="524" d="M311 238L319 215Q221 4 49 -264H-88Q4 -56 115 238H311Z" /> -<glyph unicode="-" horiz-adv-x="641" d="M53 465L90 631H573L537 465H53Z" /> -<glyph unicode="." horiz-adv-x="524" d="M41 78Q41 154 83 201T199 248Q244 248 271 221T299 139Q299 67 258 19T147 -29Q96 -29 69 -1T41 78Z" /> -<glyph unicode="/" horiz-adv-x="729" d="M903 1462L92 0H-94L719 1462H903Z" /> -<glyph unicode="0" horiz-adv-x="1128" d="M1094 1014Q1094 722 1017 479T803 108T483 -20Q304 -20 211 109T117 477Q117 750 198 992T414 1360T725 1485Q1094 1485 1094 1014ZM715 1331Q605 1331 511 1218T358 895T299 477Q299 311 347 222T504 133Q614 133 704 -242T852 566T909 1018Q909 1331 715 1331Z" /> -<glyph unicode="1" horiz-adv-x="1128" d="M596 0H414L608 905Q653 1119 694 1257Q638 1199 557 1149L377 1036L293 1171L752 1462H909L596 0Z" /> -<glyph unicode="2" horiz-adv-x="1128" d="M911 0H6L39 154L504 573Q708 756 771 830T863 972T893 1120Q893 1216 835 1272T676 1329Q597 1329 524 1299T362 1202L276 1325Q471 1483 696 1483Q876 1483 978 1393T1081 1149Q1081 1043 1044 952T919 760T618 471L274 -172V164H942L911 0Z" /> -<glyph unicode="3" horiz-adv-x="1128" d="M1075 1159Q1075 1004 975 895T696 754V745Q824 721 893 637T963 430Q963 297 900 196T716 37T430 -20Q218 -20 45 59V233Q130 186 234 159T432 131Q593 131 682 209T772 422Q772 549 696 614T477 680H346L377 829H510Q676 -829 783 914T891 1137Q891 1225 836 1278T682 1331Q588 1331 510 1299T354 1212L270 1339Q465 1483 698 1483Q875 1483 975 1397T1075 1159Z" /> -<glyph unicode="4" horiz-adv-x="1128" d="M1063 332H836L764 0H590L662 332H12L43 496L868 1462H1075L872 492H1098L1063 332ZM696 492L770 842Q799 976 885 1278H877Q855 1242 808 1179T737 1087L227 492H696Z" /> -<glyph unicode="5" horiz-adv-x="1128" d="M600 895Q784 895 890 790T997 508Q997 348 924 225T720 41T410 -20Q210 -20 76 59V233Q240 131 410 131Q597 131 703 224T809 485Q809 609 737 680T535 752Q489 752 447 746T301 715L225 774L424 1462H1098L1063 1298H545L422 -874Q519 895 600 895Z" /> -<glyph unicode="6" horiz-adv-x="1128" d="M129 428Q129 637 190 845T358 1198T605 1413T930 1483Q1041 1483 1118 1460L1081 1305Q1007 1329 909 1329Q696 1329 555 1183T346 750H354Q413 827 499 873T692 920Q847 920 935 822T1024 551Q1024 390 957 255T775 -50T514 -20Q329 -20 229 96T129 428ZM532 131Q623 131 694 184T806 331T846 535Q846 774 631 774Q567 774 507 747T400 671T330 566T307 416Q307 282 366 207T532 131Z" /> -<glyph unicode="7" horiz-adv-x="1128" d="M166 0L930 1303H219L252 1462H1151L1124 1319L360 0H166Z" /> -<glyph unicode="8" horiz-adv-x="1128" d="M739 1485Q915 1485 1013 1398T1112 1161Q1112 1032 1033 936T770 762Q892 688 946 600T1001 395Q1001 273 941 178T769 31T504 -20Q312 -20 202 78T92 346Q92 492 185 600T479 786Q389 850 347 925T305 1100Q305 1214 -361 1302T516 1437T739 1485ZM606 694Q431 639 355 557T279 356Q279 252 345 191T522 129Q612 129 678 162T781 256T817 391Q817 490 766 562T606 694ZM725 1333Q615 1333 549 1270T483 1100Q483 1023 520 961T645 844Q796 900 863 971T930 1143Q930 1231 875 1282T725 -1333Z" /> -<glyph unicode="9" horiz-adv-x="1128" d="M1069 1032Q1069 838 1014 626T867 268T643 51T338 -20Q202 -20 96 14V180Q236 135 342 135Q542 135 665 272T852 702H842Q791 630 711 587T530 543Q360 543 269 642T178 930Q178 1082 243 1210T424 1410T688 1483Q868 -1483 968 1369T1069 1032ZM678 1331Q532 1331 444 1221T356 938Q356 817 409 753T567 688Q657 688 730 731T847 855T891 1057Q891 1184 834 1257T678 1331Z" /> -<glyph unicode=":" horiz-adv-x="524" d="M41 78Q41 154 83 201T199 248Q244 248 271 221T299 139Q299 67 258 19T147 -29Q96 -29 69 -1T41 78ZM203 954Q203 1032 245 1079T360 1126Q405 1126 433 1100T461 1018Q461 946 421 898T309 850Q258 850 231 877T203 954Z" /> -<glyph unicode=";" horiz-adv-x="524" d="M307 215Q209 4 37 -264H-100Q16 -2 102 238H299L307 215ZM203 954Q203 1032 245 1079T360 1126Q405 1126 433 1100T461 1018Q461 946 421 898T309 850Q258 850 231 877T203 954Z" /> -<glyph unicode="&lt;" horiz-adv-x="1128" d="M1042 238L119 662V764L1042 1245V1087L305 721L1042 397V238Z" /> -<glyph unicode="=" horiz-adv-x="1128" d="M125 817V965H1049V817H125ZM125 477V625H1049V477H125Z" /> -<glyph unicode="&gt;" horiz-adv-x="1128" d="M119 397L856 721L119 1087V1245L1042 764V662L119 238V397Z" /> -<glyph unicode="?" horiz-adv-x="881" d="M260 412Q282 545 335 629T500 801Q620 891 661 935T725 1028T748 1139Q748 1228 699 1277T555 1327Q477 1327 403 1301T260 1243L195 1380Q285 1428 384 1455T575 1483Q745 1483 837 1399T930 1161Q930 1039 867 938T637 -713Q509 619 469 566T406 412H260ZM158 78Q158 154 199 201T315 248Q360 248 388 221T416 139Q416 67 375 19T264 -29Q213 -29 186 -1T158 78Z" /> -<glyph unicode="@" horiz-adv-x="1737" d="M1683 850Q1683 671 1627 526T1471 299T1247 217Q1052 217 1032 399H1024Q919 217 737 217Q622 217 556 293T489 504Q489 659 556 786T743 987T1006 1061Q1073 1061 1136 1049T1288 1001L1192 635Q1159 521 1159 459Q1159 -346 1257 346Q1330 346 1392 407T1494 585T1534 836Q1534 1073 1406 1199T1038 1325Q815 1325 638 1221T361 928T262 512Q262 242 406 97T811 -49Q906 -49 1019 -26T1233 37V-96Q1016 -186 788 -186Q582 -186 428 -103T191 137T109 504Q109 770 236 993T581 1338T1065 -1460Q1258 1460 1397 1385T1609 1171T1683 850ZM985 934Q893 934 814 879T690 728T645 518Q645 346 774 346Q954 346 1040 657L1108 911Q1051 934 985 934Z" /> -<glyph unicode="A" d="M815 455H322L84 0H-117L678 1462H870L1051 0H870L815 455ZM797 618L764 924Q737 1151 737 1268Q705 1191 667 1114T410 618H797Z" /> -<glyph unicode="B" horiz-adv-x="1229" d="M772 1462Q987 1462 1096 1377T1206 1126Q1206 985 1121 889T877 762V752Q991 720 1051 643T1112 455Q1112 244 962 122T551 0H84L393 1462H772ZM444 840H684Q836 840 926 910T1016 1104Q1016 1201 954 1253T750 1305H543L444 -840ZM299 156H557Q731 156 825 233T920 455Q920 568 849 628T641 688H412L299 156Z" /> -<glyph unicode="C" horiz-adv-x="1202" d="M938 1321Q763 1321 629 1222T419 940T342 543Q342 356 437 249T700 141Q844 141 1024 201V41Q861 -20 668 -20Q423 -20 285 129T147 539Q147 796 251 1020T534 1364T938 1483Q1144 1483 1294 1401L1221 1249Q1082 1321 -938 1321Z" /> -<glyph unicode="D" horiz-adv-x="1366" d="M1303 879Q1303 617 1199 417T900 108T444 0H84L393 1462H739Q1015 1462 1159 1313T1303 879ZM455 158Q653 158 802 248T1030 503T1110 881Q1110 1090 1010 1197T717 1305H543L299 158H455Z" /> -<glyph unicode="E" horiz-adv-x="1053" d="M825 0H84L393 1462H1135L1100 1300H541L444 844H967L936 684H412L299 162H860L825 0Z" /> -<glyph unicode="F" horiz-adv-x="977" d="M266 0H84L393 1462H1135L1102 1300H541L432 780H956L922 618H397L266 0Z" /> -<glyph unicode="G" horiz-adv-x="1389" d="M815 770H1284L1128 55Q1007 13 908 -3T702 -20Q439 -20 293 125T147 530Q147 798 250 1019T533 1362T936 1483Q1053 1483 1154 1463T1360 1397L1290 1237Q1213 1271 1126 1296T934 1321Q768 1321 632 1221T419 943T342 -543Q342 354 441 248T721 141Q862 141 973 178L1067 610H780L815 770Z" /> -<glyph unicode="H" horiz-adv-x="1393" d="M1092 0H911L1055 682H412L268 0H86L395 1462H578L446 844H1090L1221 1462H1401L1092 0Z" /> -<glyph unicode="I" horiz-adv-x="664" d="M471 0H-41L-20 100L154 141L403 1321L248 1360L268 1462H780L760 1360L584 1321L334 141L492 100L471 0Z" /> -<glyph unicode="J" horiz-adv-x="559" d="M-164 -389Q-269 -389 -319 -365L-313 -207Q-244 -227 -168 -227Q36 -227 88 18L395 1462H578L268 -2Q186 -389 -164 -389Z" /> -<glyph unicode="K" d="M1044 0H844L559 709L389 584L266 0H84L393 1462H575L424 752L551 887L1112 1462H1333L698 819L1044 0Z" /> -<glyph unicode="L" horiz-adv-x="979" d="M84 0L393 1462H575L299 164H860L825 0H84Z" /> -<glyph unicode="M" horiz-adv-x="1722" d="M799 268L1448 1462H1729L1425 0H1241L1425 868Q1486 1152 1524 1284H1520L815 0H670L514 1282H506Q491 1127 440 879L254 0H82L391 1462H649L791 268H799Z" /> -<glyph unicode="N" horiz-adv-x="1448" d="M1149 0H954L502 1212H496Q475 1040 422 795L254 0H82L391 1462H586L1034 254H1040Q1053 347 1075 471T1112 657L1284 1462H1458L1149 0Z" /> -<glyph unicode="O" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 356 437 249T696 141Q844 -141 963 238T1150 515T1219 913Q1219 1105 1128 1214T874 1323Z" /> -<glyph unicode="P" horiz-adv-x="1161" d="M1161 1081Q1161 834 997 703T518 571H387L266 0H84L393 1462H723Q939 1462 1050 1367T1161 1081ZM420 725H547Q756 725 865 815T975 1075Q975 1197 907 1251T698 1305H543L420 725Z" /> -<glyph unicode="Q" horiz-adv-x="1477" d="M1413 909Q1413 580 1276 337T903 14L1178 -348H944L723 -18L706 -20H690Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 -356 437 249T696 141Q847 141 964 236T1150 510T1219 913Q1219 1105 1128 1214T874 1323Z" /> -<glyph unicode="R" horiz-adv-x="1174" d="M426 760H586Q775 760 876 843T977 1079Q977 1196 912 1249T698 1303H543L426 760ZM393 604L266 0H84L393 1462H715Q1165 1462 1165 1092Q1165 748 801 645L1042 0H842L633 604H393Z" /> -<glyph unicode="S" horiz-adv-x="1034" d="M915 424Q915 215 775 98T379 -20Q175 -20 39 45V225Q206 139 381 139Q537 139 630 211T723 410Q723 486 674 544T481 684Q329 773 272 859T215 1059Q215 1184 276 1280T448 1430T696 1483Q895 1483 1063 1397L993 1241Q929 -1277 849 1299T696 1321Q567 1321 489 1254T410 1071Q410 993 449 942T618 815Q761 728 812 678T889 566T915 424Z" /> -<glyph unicode="T" horiz-adv-x="1026" d="M496 0H311L586 1300H184L219 1462H1206L1174 1300H772L496 0Z" /> -<glyph unicode="U" horiz-adv-x="1386" d="M1409 1462L1204 498Q1148 231 1003 106T614 -20Q385 -20 274 85T162 385Q162 462 186 580L375 1462H557L367 569Q358 533 351 478T344 387Q344 271 414 206T625 141Q794 141 887 227T1024 512L1227 1462H1409Z" /> -<glyph unicode="V" horiz-adv-x="1130" d="M483 207Q540 343 641 539L1116 1462H1319L541 0H346L188 1462H369L461 537Q480 362 480 247L479 207H483Z" /> -<glyph unicode="W" horiz-adv-x="1753" d="M1022 1227Q1003 1167 968 1084T469 0H281L219 1462H399L428 571L430 485Q430 381 420 225H426Q526 491 580 602L981 1462H1167L1208 606Q1218 446 1218 309L1217 225H1223Q1315 485 1354 578L1737 1462H1931L1268 0H1081L1036 -942Q1028 1078 1028 1227H1022Z" /> -<glyph unicode="X" horiz-adv-x="1079" d="M971 0H778L569 633L94 0H-106L489 774L229 1462H414L612 903L1047 1462H1247L694 766L971 0Z" /> -<glyph unicode="Y" horiz-adv-x="1042" d="M545 729L1024 1462H1231L604 543L492 0H307L426 549L188 1462H371L545 729Z" /> -<glyph unicode="Z" horiz-adv-x="1087" d="M889 0H-20L8 143L920 1298H274L309 1462H1174L1147 1317L236 164H922L889 0Z" /> -<glyph unicode="[" horiz-adv-x="594" d="M377 -324H-18L362 1462H758L725 1315H500L184 -176H410L377 -324Z" /> -<glyph unicode="\" horiz-adv-x="729" d="M385 1462L602 0H438L221 1462H385Z" /> -<glyph unicode="]" horiz-adv-x="594" d="M-117 -176H109L424 1315H199L231 1462H627L246 -324H-147L-117 -176Z" /> -<glyph unicode="^" horiz-adv-x="1128" d="M84 551L682 1473H795L1063 551H909L711 1286L250 551H84Z" /> -<glyph unicode="_" horiz-adv-x="809" d="M625 -324H-188L-158 -184H655L625 -324Z" /> -<glyph unicode="`" horiz-adv-x="1135" d="M905 1241H795Q729 1307 662 1400T569 1548V1569H762Q803 1434 905 1266V1241Z" /> -<glyph unicode="a" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 798 906T655 -967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129Z" /> -<glyph unicode="b" horiz-adv-x="1186" d="M551 -20Q456 -20 382 29T270 168H260L193 0H57L387 1556H567L489 1188Q471 1099 446 1003T414 893H422Q524 1017 609 1066T784 1116Q926 1116 1005 1019T1085 743Q1085 536 1017 359T827 81T551 -20ZM727 967Q632 967 -536 873T384 636T328 350Q328 246 381 188T537 129Q635 129 719 211T852 438T901 745Q901 967 727 967Z" /> -<glyph unicode="c" horiz-adv-x="928" d="M506 -20Q312 -20 205 87T98 389Q98 592 171 760T375 1023T672 1118Q819 1118 944 1065L893 915Q778 967 674 967Q564 967 474 891T333 682T283 391Q283 266 346 198T524 129Q597 129 661 149T788 197V45Q660 -20 506 -20Z" /> -<glyph unicode="d" horiz-adv-x="1186" d="M395 -20Q257 -20 178 77T98 354Q98 563 168 741T361 1017T637 1116Q827 1116 913 928H924Q946 1099 969 1198L1044 1556H1223L893 0H745L768 203H760Q664 84 577 32T395 -20ZM457 129Q550 129 646 222T798 457T854 745Q854 -853 802 910T649 967Q550 967 466 884T333 656T283 350Q283 129 457 129Z" /> -<glyph unicode="e" horiz-adv-x="1022" d="M637 969Q534 969 443 873T311 621H326Q544 621 664 679T784 848Q784 901 748 935T637 969ZM496 -20Q310 -20 204 89T98 393Q98 581 171 752T370 1020T647 1118Q803 1118 882 1051T961 862Q961 680 793 578T319 475H285L281 -399Q281 273 341 201T528 129Q605 129 675 151T827 213V59Q728 13 654 -3T496 -20Z" /> -<glyph unicode="f" horiz-adv-x="651" d="M-98 -492Q-168 -492 -229 -471V-319Q-167 -342 -115 -342Q-45 -342 -2 -286T66 -109L291 961H100L115 1036L319 1104L342 1202Q388 1404 471 1485T715 1567Q812 1567 907 1528L860 1391Q786 1419 723 1419Q635 1419 591 -1369T522 1202L498 1098H733L707 961H471L242 -129Q202 -318 119 -405T-98 -492Z" /> -<glyph unicode="g" horiz-adv-x="1186" d="M457 129Q547 129 642 220T794 455T852 745Q852 967 651 967Q550 967 465 883T332 653T283 350Q283 129 457 129ZM381 -492Q184 -492 51 -422V-256Q114 -294 207 -318T375 -342Q508 -342 587 -278T698 -76L749 134L768 -203H760Q669 86 580 33T397 -20Q258 -20 178 78T98 354Q98 569 171 747T365 1022T637 1118Q828 1118 915 928H924L991 1098H1128L879 -63Q832 -283 711 -387T381 -492Z" /> -<glyph unicode="h" horiz-adv-x="1186" d="M905 0H725L870 688Q889 777 889 823Q889 967 745 967Q658 967 576 908T432 738T338 473L238 0H57L387 1556H567L479 1153Q467 1091 449 1025T414 893H424Q513 1010 603 1063T795 1116Q927 1116 999 1045T1071 836Q1071 -780 1049 668L905 0Z" /> -<glyph unicode="i" horiz-adv-x="528" d="M238 0H57L291 1098H471L238 0ZM338 1376Q338 1433 371 1470T459 1507Q553 1507 553 1415Q553 1355 518 1318T436 1280Q393 1280 366 1305T338 1376Z" /> -<glyph unicode="j" horiz-adv-x="528" d="M-131 -492Q-204 -492 -258 -471V-319Q-200 -342 -139 -342Q-14 -342 29 -141L291 1098H469L203 -158Q166 -334 85 -413T-131 -492ZM338 1376Q338 1433 371 1470T459 1507Q551 1507 551 1415Q551 1355 516 1318T434 1280Q392 -1280 365 1305T338 1376Z" /> -<glyph unicode="k" horiz-adv-x="1014" d="M862 1098H1075L604 627L897 0H698L467 514L319 397L238 0H55L385 1556H567Q479 1146 432 925T338 567H342L862 1098Z" /> -<glyph unicode="l" horiz-adv-x="528" d="M236 0H55L387 1556H567L236 0Z" /> -<glyph unicode="m" horiz-adv-x="1792" d="M778 1118Q891 1118 952 1054T1026 874H1034Q1202 1118 1411 1118Q1539 1118 1608 1049T1677 848Q1677 760 1655 668L1513 0H1331L1479 688Q1497 782 1497 831Q1497 893 1464 930T1358 967Q1280 967 1204 910T1069 746T979 -496L874 0H694L840 688Q858 782 858 823Q858 967 725 967Q643 967 566 908T430 738T338 473L238 0H57L291 1098H438L416 895H426Q494 985 543 1026T651 1092T778 1118Z" /> -<glyph unicode="n" horiz-adv-x="1186" d="M905 0H725L870 688Q891 787 891 829Q891 892 856 929T745 967Q659 967 578 908T433 738T338 473L238 0H57L291 1098H438L416 895H426Q493 981 546 1024T662 1092T795 1118Q924 1118 997 1048T1071 848Q1071 770 1049 -668L905 0Z" /> -<glyph unicode="o" horiz-adv-x="1153" d="M872 709Q872 824 812 893T649 963Q543 963 458 889T327 685T281 399Q281 271 342 202T518 133Q618 133 699 204T826 407T872 709ZM1057 688Q1057 498 985 332T789 75T508 -16Q316 -16 207 98T98 406Q98 598 172 766T369 -1023T647 1112Q838 1112 947 999T1057 688Z" /> -<glyph unicode="p" horiz-adv-x="1186" d="M788 1116Q930 1116 1007 1016T1085 741Q1085 528 1015 352T824 78T551 -20Q359 -20 270 168H260Q244 31 233 -18L133 -492H-45L291 1098H438L414 893H422Q517 1011 606 1063T788 1116ZM727 967Q634 967 539 876T386 -641T328 350Q328 246 381 188T537 129Q635 129 719 211T852 438T901 745Q901 967 727 967Z" /> -<glyph unicode="q" horiz-adv-x="1186" d="M397 -20Q256 -20 177 78T98 354Q98 561 168 740T361 1018T639 1118Q732 1118 802 1069T913 928H924L991 1098H1126L788 -492H610L709 -25Q733 80 768 203H760Q669 86 580 33T397 -20ZM457 129Q547 129 640 218T793 451T852 -745Q852 848 800 907T651 967Q554 967 470 886T335 660T283 350Q283 129 457 129Z" /> -<glyph unicode="r" horiz-adv-x="815" d="M760 1118Q830 1118 879 1104L840 942Q784 954 735 954Q645 954 566 896T429 732T344 502L238 0H57L291 1098H438L416 895H426Q499 991 546 1032T645 1095T760 1118Z" /> -<glyph unicode="s" horiz-adv-x="885" d="M743 317Q743 158 632 69T317 -20Q137 -20 10 49V215Q75 175 154 151T311 127Q433 127 496 174T559 299Q559 354 525 393T375 498Q246 570 193 641T139 807Q139 947 241 1032T512 1118Q682 1118 844 1042L786 899Q733 -924 667 945T512 967Q424 967 372 926T319 817Q319 762 355 724T500 625Q613 558 655 517T720 427T743 317Z" /> -<glyph unicode="t" horiz-adv-x="680" d="M406 127Q468 127 551 154V16Q523 2 471 -9T379 -20Q251 -20 184 40T117 219Q117 283 135 365L260 961H90L106 1042L291 1120L418 1348H524L469 1098H745L717 961H442L315 362Q297 281 297 240Q297 192 322 160T406 127Z" /> -<glyph unicode="u" horiz-adv-x="1186" d="M279 1098H461L313 408Q295 318 295 270Q295 129 438 129Q525 129 606 188T752 359T848 625L948 1098H1126L893 0H745L768 203H758Q668 85 577 33T387 -20Q259 -20 186 51T113 252Q113 316 135 428L279 1098Z" /> -<glyph unicode="v" horiz-adv-x="956" d="M369 137Q482 389 539 494L862 1098H1055L461 0H225L98 1098H279L340 487Q349 395 355 286T362 137H369Z" /> -<glyph unicode="w" horiz-adv-x="1481" d="M793 924L742 801L662 614L375 0H162L117 1098H293L311 410Q311 341 301 158H309Q320 188 359 285T433 457T731 1098H926L961 510L965 262V203L963 158H971Q1023 314 1128 559L1368 1098H1559L1051 0H834L803 594L801 -737V924H793Z" /> -<glyph unicode="x" horiz-adv-x="989" d="M399 565L162 1098H344L514 692L836 1098H1044L588 557L840 0H657L471 426L133 0H-76L399 565Z" /> -<glyph unicode="y" horiz-adv-x="956" d="M98 1098H279L350 555Q361 480 369 361T377 147H383Q409 213 461 326T543 496L862 1098H1055L358 -184Q268 -354 174 -423T-51 -492Q-130 -492 -193 -471V-326Q-130 -344 -61 -344Q21 -344 80 -293T193 -143L264 -16L98 1098Z" /> -<glyph unicode="z" horiz-adv-x="911" d="M696 0H-31L-6 123L676 963H205L233 1098H899L870 952L201 135H723L696 0Z" /> -<glyph unicode="{" horiz-adv-x="717" d="M231 367Q231 510 23 510L57 659Q175 659 246 702T340 850L408 1171Q441 1330 524 1396T782 1462H819L788 1313Q686 1313 640 1278T573 1155L502 836Q475 715 411 654T242 575V571Q395 531 395 358Q395 301 377 229L332 -20Q317 -45 317 -74Q317 -126 353 -150T471 -174V-324H444Q147 -324 147 -98Q147 -48 168 41L217 256Q231 331 231 367Z" /> -<glyph unicode="|" horiz-adv-x="1128" d="M532 1556H680V-494H532V1556Z" /> -<glyph unicode="}" horiz-adv-x="717" d="M283 1462Q584 1462 584 1237Q584 1187 563 1098L514 881Q498 796 498 772Q498 629 707 629L674 479Q555 479 484 436T391 289L324 -33Q289 -194 206 -259T-61 -324H-76V-174Q37 -174 88 -138T158 -16L229 303Q256 422 -319 482T489 561V567Q338 609 338 778Q338 835 356 907L403 1118Q418 1174 418 1212Q418 1264 377 1288T240 1313L270 1462H283Z" /> -<glyph unicode="~" horiz-adv-x="1128" d="M348 709Q294 709 230 675T115 588V748Q214 856 358 856Q428 856 488 841T629 791Q706 758 749 747T838 735Q893 735 957 768T1073 856V698Q973 588 829 588Q759 588 698 604T559 653Q482 686 440 697T348 709Z" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="&#xa1;" horiz-adv-x="535" d="M254 678H373L199 -373H-20L254 678ZM502 1008Q502 938 462 890T352 842Q301 842 274 869T246 948Q246 1024 288 1071T401 1118Q448 1118 475 1090T502 1008Z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1128" d="M582 -20H451L494 195Q362 229 291 331T219 590Q219 775 282 934T461 1192T723 1315L756 1483H885L848 1315Q975 1304 1067 1266L1016 1116Q903 1167 797 1167Q687 1167 597 1092T455 883T403 592Q403 467 468 398T647 -328Q761 328 909 397V244Q786 182 623 178L582 -20Z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1128" d="M844 1481Q1027 1481 1184 1395L1114 1253Q970 1331 840 1331Q734 1331 672 1273T584 1100L516 782H881L852 647H487L442 440Q421 338 376 272T250 164H969L934 0H-23L6 152Q211 198 264 438L309 647H109L137 782H338L410 -1124Q447 1297 555 1389T844 1481Z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1128" d="M225 723Q225 836 293 936L164 1065L260 1163L387 1034Q490 1102 602 1102Q714 1102 815 1034L944 1163L1042 1067L913 938Q981 830 981 723Q981 607 913 508L1040 381L944 285L815 412Q719 346 602 346Q486 346 -387 414L260 287L166 383L293 510Q225 606 225 723ZM362 723Q362 624 431 554T602 483Q705 483 776 552T848 723Q848 826 776 896T602 967Q502 967 432 895T362 723Z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1128" d="M584 729L1065 1462H1262L733 694H961L932 557H639L606 399H899L870 262H580L522 0H356L412 262H123L154 399H440L473 557H184L215 694H438L236 1462H412L584 729Z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M532 1556H680V776H532V1556ZM532 287H680V-494H532V287Z" /> -<glyph unicode="&#xa7;" horiz-adv-x="995" d="M172 770Q172 970 406 1075Q289 1148 289 1278Q289 1406 394 1486T676 1567Q861 1567 999 1497L944 1368Q793 1430 676 1430Q579 1430 520 1391T461 1284Q461 1235 499 1200T657 1112Q794 1052 850 983T907 823Q907 -727 848 644T678 506Q791 432 791 315Q791 163 675 77T354 -10Q173 -10 55 53V207Q111 175 195 151T354 127Q484 127 552 171T621 297Q621 341 581 378T422 471Q289 529 231 598T172 770ZM514 1006Q436 982 384 922T332 791Q332 724 380 678T575 567Q652 609 697 -670T743 799Q743 861 691 907T514 1006Z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M451 1378Q451 1429 480 1462T559 1495Q641 1495 641 1413Q641 1364 613 1328T539 1292Q500 1292 476 1314T451 1378ZM819 1378Q819 1430 849 1462T928 1495Q970 1495 990 1473T1010 1413Q1010 1361 980 1327T905 -1292Q868 1292 844 1314T819 1378Z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M928 1055Q806 1055 740 971T674 731Q674 406 928 406Q1021 406 1141 451V322Q1076 294 1027 283T920 272Q730 272 623 392T516 731Q516 940 626 1064T930 1188Q1056 1188 1182 1126L1120 1001Q1012 1055 928 1055ZM137 -731Q137 931 237 1106T512 1382T889 1483Q1086 1483 1259 1386T1536 1114T1640 731Q1640 527 1540 355T1267 81T889 -20Q682 -20 507 83T235 360T137 731ZM246 731Q246 559 332 410T567 175T889 88Q1062 88 1210 173T1446 407T1534 731Q1534 906 1447 1054T1211 -1288T889 1374Q717 1374 568 1288T333 1053T246 731Z" /> -<glyph unicode="&#xaa;" horiz-adv-x="694" d="M348 784Q268 784 218 846T168 1014Q168 1140 210 1248T327 1418T498 1479Q612 1479 651 1376H659L696 1466H788L647 797H551L565 911H559Q508 842 458 813T348 784ZM387 893Q447 893 498 939T581 1073T614 1243Q614 -1303 587 1337T502 1372Q443 1372 395 1326T318 1198T289 1028Q289 893 387 893Z" /> -<glyph unicode="&#xab;" horiz-adv-x="977" d="M86 582L479 965L567 877L272 549L440 164L315 111L86 555V582ZM489 543L860 954L956 877L674 514L829 164L705 111L489 514V543Z" /> -<glyph unicode="&#xac;" horiz-adv-x="1128" d="M1049 262H901V647H125V797H1049V262Z" /> -<glyph unicode="&#xad;" horiz-adv-x="641" d="M53 465L90 631H573L537 465H53Z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M137 731Q137 931 237 1106T512 1382T889 1483Q1086 1483 1259 1386T1536 1114T1640 731Q1640 527 1540 355T1267 81T889 -20Q682 -20 507 83T235 360T137 731ZM246 731Q246 559 332 410T567 175T889 88Q1062 88 -1210 173T1446 407T1534 731Q1534 906 1447 1054T1211 1288T889 1374Q717 1374 568 1288T333 1053T246 731ZM1198 913Q1198 836 1151 773T1018 674L1243 291H1083L883 639H774V291H639V1171H874Q1039 1171 1118 1107T1198 913ZM774 762H862Q1055 762 1055 909Q1055 -984 1007 1014T862 1044H774V762Z" /> -<glyph unicode="&#xaf;" horiz-adv-x="805" d="M1014 1556H207L240 1694H1049L1014 1556Z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M211 1167Q211 1298 303 1390T524 1483Q608 1483 681 1441T797 1325T840 1167Q840 1038 747 947T524 856Q395 856 303 946T211 1167ZM330 1167Q330 1087 387 1031T524 975Q602 975 659 1031T717 1167Q717 1249 661 -1306T524 1364Q444 1364 387 1307T330 1167Z" /> -<glyph unicode="&#xb1;" horiz-adv-x="1128" d="M512 647H125V797H512V1186H662V797H1049V647H662V262H512V647ZM125 0V147H1049V0H125Z" /> -<glyph unicode="&#xb2;" horiz-adv-x="723" d="M662 586H92L117 698L381 924Q532 1055 575 1119T618 1249Q618 1300 589 1331T502 1362Q407 1362 307 1282L244 1378Q371 1481 526 1481Q634 1481 698 1424T762 1272Q762 1175 710 1093T510 889L297 711H688L662 586Z" /> -<glyph unicode="&#xb3;" horiz-adv-x="723" d="M762 1274Q762 1097 553 1042V1034Q624 1017 662 967T700 848Q700 718 608 644T352 569Q225 569 117 625V758Q242 686 356 686Q460 686 509 730T559 852Q559 983 387 983H293L317 1096H412Q506 1096 563 1135T621 -1245Q621 1304 588 1333T497 1362Q395 1362 301 1294L244 1393Q358 1481 516 1481Q633 1481 697 1425T762 1274Z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M528 1268Q579 1323 646 1411T758 1569H963V1548Q916 1491 815 1393T641 1241H528V1268Z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1198" d="M307 274Q307 129 451 129Q535 129 616 187T760 355T858 621L963 1098H1139L905 0H758L780 203H770Q676 81 589 31T408 -20Q295 -20 246 74H238L197 -176L131 -492H-45L291 1098H471L326 408Q307 320 307 274Z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1206 -260H1087V1397H879V-260H760V559Q698 541 614 541Q400 541 298 664T195 1042Q195 1302 304 1429T645 1556H1206V-260Z" /> -<glyph unicode="&#xb7;" horiz-adv-x="524" d="M166 690Q166 766 208 813T324 860Q369 860 396 833T424 751Q424 679 383 631T272 583Q221 583 194 611T166 690Z" /> -<glyph unicode="&#xb8;" horiz-adv-x="420" d="M215 -274Q215 -373 135 -432T-82 -492Q-137 -492 -174 -481V-375Q-142 -383 -100 -383Q68 -383 68 -274Q68 -237 38 -214T-70 -180L29 0H143L84 -117Q215 -155 215 -274Z" /> -<glyph unicode="&#xb9;" horiz-adv-x="723" d="M537 1462H664L477 586H332L440 1100L498 1323L410 1247L303 1178L246 1274L537 1462Z" /> -<glyph unicode="&#xba;" horiz-adv-x="694" d="M752 1217Q752 1093 712 994T596 840T418 784Q302 784 235 855T168 1053Q168 1172 210 1270T329 1423T506 1479Q625 1479 688 1410T752 1217ZM502 1370Q405 1370 347 1284T289 1057Q289 973 325 932T428 891Q521 -891 577 982T633 1210Q633 1370 502 1370Z" /> -<glyph unicode="&#xbb;" horiz-adv-x="977" d="M891 489L498 111L410 199L705 524L537 911L662 965L891 518V489ZM487 528L117 123L20 199L303 557L147 911L272 965L487 559V528Z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1544" d="M1374 1462L288 0H126L1212 1462H1374ZM741 1462H868L681 586H536L644 1100L702 1323L614 1247L507 1178L450 1274L741 1462ZM1350 199H1221L1180 1H1043L1084 199H719L742 306L1223 883H1368L1247 320H1372L1350 -199ZM1110 320Q1181 648 1198 707Q1170 655 1090 562L889 320H1110Z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1544" d="M1323 1462L237 0H75L1161 1462H1323ZM690 1462H817L630 586H485L593 1100L651 1323L563 1247L456 1178L399 1274L690 1462ZM1367 1H797L822 113L1086 339Q1237 470 1280 534T1323 664Q1323 715 1294 746T1207 777Q1112 -777 1012 697L949 793Q1076 896 1231 896Q1339 896 1403 839T1467 687Q1467 590 1415 508T1215 304L1002 126H1393L1367 1Z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1587" d="M992 1274Q992 1097 783 1042V1034Q854 1017 892 967T930 848Q930 718 838 644T582 569Q455 569 347 625V758Q472 686 586 686Q690 686 739 730T789 852Q789 983 617 983H523L547 1096H642Q736 1096 793 1135T851 -1245Q851 1304 818 1333T727 1362Q625 1362 531 1294L474 1393Q588 1481 746 1481Q863 1481 927 1425T992 1274ZM1522 1462L436 0H274L1360 1462H1522ZM1491 199H1362L1321 1H1184L1225 199H860L883 306L1364 883H1509L1388 320H1513L1491 199ZM1251 320Q1322 648 -1339 707Q1311 655 1231 562L1030 320H1251Z" /> -<glyph unicode="&#xbf;" horiz-adv-x="881" d="M659 674Q638 544 587 460T420 285Q371 246 326 210T247 135T193 49T172 -55Q172 -143 221 -192T365 -242Q426 -242 494 -223T659 -158L725 -297Q530 -399 344 -399Q176 -399 83 -316T-10 -76Q-10 47 56 150T283 -371Q407 462 448 515T512 674H659ZM762 1008Q762 929 720 883T604 836Q559 836 532 863T504 944Q504 1019 546 1065T655 1112Q705 1112 733 1086T762 1008Z" /> -<glyph unicode="&#xc0;" d="M815 455H322L84 0H-117L678 1462H870L1051 0H870L815 455ZM797 618L764 924Q737 1151 737 1268Q705 1191 667 1114T410 618H797ZM871 1579H761Q695 1645 628 1738T535 1886V1907H728Q769 1772 871 1604V1579Z" /> -<glyph unicode="&#xc1;" d="M815 455H322L84 0H-117L678 1462H870L1051 0H870L815 455ZM797 618L764 924Q737 1151 737 1268Q705 1191 667 1114T410 618H797ZM686 1606Q737 1661 804 1749T916 1907H1121V1886Q1074 1829 973 1731T799 1579H686V1606Z" /> -<glyph unicode="&#xc2;" d="M815 455H322L84 0H-117L678 1462H870L1051 0H870L815 455ZM797 618L764 924Q737 1151 737 1268Q705 1191 667 1114T410 618H797ZM1094 1579H981Q925 1627 820 1765Q693 1652 580 1579H461V1606Q699 1826 748 1907H922Q956 1815 1052 -1672L1094 1606V1579Z" /> -<glyph unicode="&#xc3;" d="M815 455H322L84 0H-117L678 1462H870L1051 0H870L815 455ZM797 618L764 924Q737 1151 737 1268Q705 1191 667 1114T410 618H797ZM940 1581Q899 1581 862 1598T790 1637T722 1676T655 1694Q612 1694 587 1665T540 1579H434Q491 1841 -669 1841Q714 1841 753 1824T828 1785T894 1747T952 1729Q994 1729 1020 1754T1071 1843H1179Q1109 1581 940 1581Z" /> -<glyph unicode="&#xc4;" d="M815 455H322L84 0H-117L678 1462H870L1051 0H870L815 455ZM797 618L764 924Q737 1151 737 1268Q705 1191 667 1114T410 618H797ZM521 1716Q521 1767 550 1800T629 1833Q711 1833 711 1751Q711 1702 683 1666T609 1630Q570 1630 546 -1652T521 1716ZM889 1716Q889 1768 919 1800T998 1833Q1040 1833 1060 1811T1080 1751Q1080 1699 1050 1665T975 1630Q938 1630 914 1652T889 1716Z" /> -<glyph unicode="&#xc5;" d="M999 1583Q999 1509 967 1459T879 1386L1051 0H870L815 455H322L84 0H-117L643 1401Q555 1455 555 1581Q555 1678 617 1736T776 1794Q876 1794 937 1737T999 1583ZM797 618Q747 1079 742 1146T737 1268Q705 1191 667 1114T410 618H797ZM891 -1581Q891 1634 859 1664T776 1694Q728 1694 696 1664T664 1581Q664 1528 693 1498T776 1468Q827 1468 859 1498T891 1581Z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1688" d="M1460 0H717L813 455H375L90 0H-119L817 1462H1769L1737 1300H1176L1077 844H1602L1571 684H1047L936 162H1495L1460 0ZM846 618L991 1300H907L479 618H846Z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1202" d="M938 1321Q763 1321 629 1222T419 940T342 543Q342 356 437 249T700 141Q844 141 1024 201V41Q861 -20 668 -20Q423 -20 285 129T147 539Q147 796 251 1020T534 1364T938 1483Q1144 1483 1294 1401L1221 1249Q1082 -1321 938 1321ZM764 -274Q764 -373 684 -432T467 -492Q412 -492 375 -481V-375Q407 -383 449 -383Q617 -383 617 -274Q617 -237 587 -214T479 -180L578 0H692L633 -117Q764 -155 764 -274Z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1053" d="M825 0H84L393 1462H1135L1100 1300H541L444 844H967L936 684H412L299 162H860L825 0ZM898 1579H788Q722 1645 655 1738T562 1886V1907H755Q796 1772 898 1604V1579Z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1053" d="M825 0H84L393 1462H1135L1100 1300H541L444 844H967L936 684H412L299 162H860L825 0ZM653 1606Q704 1661 771 1749T883 1907H1088V1886Q1041 1829 940 1731T766 1579H653V1606Z" /> -<glyph unicode="&#xca;" horiz-adv-x="1053" d="M825 0H84L393 1462H1135L1100 1300H541L444 844H967L936 684H412L299 162H860L825 0ZM1092 1579H979Q923 1627 818 1765Q691 1652 578 1579H459V1606Q697 1826 746 1907H920Q954 1815 1050 1672L1092 1606V1579Z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1053" d="M825 0H84L393 1462H1135L1100 1300H541L444 844H967L936 684H412L299 162H860L825 0ZM514 1716Q514 1767 543 1800T622 1833Q704 1833 704 1751Q704 1702 676 1666T602 1630Q563 1630 539 1652T514 1716ZM882 1716Q882 -1768 912 1800T991 1833Q1033 1833 1053 1811T1073 1751Q1073 1699 1043 1665T968 1630Q931 1630 907 1652T882 1716Z" /> -<glyph unicode="&#xcc;" horiz-adv-x="664" d="M471 0H-41L-20 100L154 141L403 1321L248 1360L268 1462H780L760 1360L584 1321L334 141L492 100L471 0ZM640 1579H530Q464 1645 397 1738T304 1886V1907H497Q538 1772 640 1604V1579Z" /> -<glyph unicode="&#xcd;" horiz-adv-x="664" d="M471 0H-41L-20 100L154 141L403 1321L248 1360L268 1462H780L760 1360L584 1321L334 141L492 100L471 0ZM453 1606Q504 1661 571 1749T683 1907H888V1886Q841 1829 740 1731T566 1579H453V1606Z" /> -<glyph unicode="&#xce;" horiz-adv-x="664" d="M471 0H-41L-20 100L154 141L403 1321L248 1360L268 1462H780L760 1360L584 1321L334 141L492 100L471 0ZM853 1579H740Q684 1627 579 1765Q452 1652 339 1579H220V1606Q458 1826 507 1907H681Q715 1815 811 1672L853 -1606V1579Z" /> -<glyph unicode="&#xcf;" horiz-adv-x="664" d="M471 0H-41L-20 100L154 141L403 1321L248 1360L268 1462H780L760 1360L584 1321L334 141L492 100L471 0ZM284 1716Q284 1767 313 1800T392 1833Q474 1833 474 1751Q474 1702 446 1666T372 1630Q333 1630 309 1652T284 -1716ZM652 1716Q652 1768 682 1800T761 1833Q803 1833 823 1811T843 1751Q843 1699 813 1665T738 1630Q701 1630 677 1652T652 1716Z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1366" d="M1303 879Q1303 617 1199 417T900 108T444 0H84L217 645H68L102 803H252L393 1462H739Q1015 1462 1159 1313T1303 879ZM455 158Q653 158 802 248T1030 503T1110 881Q1110 1090 1010 1197T717 1305H543L436 803H758L723 -645H401L299 158H455Z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1448" d="M1149 0H954L502 1212H496Q475 1040 422 795L254 0H82L391 1462H586L1034 254H1040Q1053 347 1075 471T1112 657L1284 1462H1458L1149 0ZM1102 1581Q1061 1581 1024 1598T952 1637T884 1676T817 1694Q774 1694 749 -1665T702 1579H596Q653 1841 831 1841Q876 1841 915 1824T990 1785T1056 1747T1114 1729Q1156 1729 1182 1754T1233 1843H1341Q1271 1581 1102 1581Z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 356 437 249T696 -141Q844 141 963 238T1150 515T1219 913Q1219 1105 1128 1214T874 1323ZM1011 1579H901Q835 1645 768 1738T675 1886V1907H868Q909 1772 1011 1604V1579Z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 356 437 249T696 -141Q844 141 963 238T1150 515T1219 913Q1219 1105 1128 1214T874 1323ZM815 1606Q866 1661 933 1749T1045 1907H1250V1886Q1203 1829 1102 1731T928 1579H815V1606Z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 356 437 249T696 -141Q844 141 963 238T1150 515T1219 913Q1219 1105 1128 1214T874 1323ZM1235 1579H1122Q1066 1627 961 1765Q834 1652 721 1579H602V1606Q840 1826 889 1907H1063Q1097 1815 1193 1672L1235 1606V1579Z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 356 437 249T696 -141Q844 141 963 238T1150 515T1219 913Q1219 1105 1128 1214T874 1323ZM1067 1581Q1026 1581 989 1598T917 1637T849 1676T782 1694Q739 1694 714 1665T667 1579H561Q618 1841 796 1841Q841 1841 880 1824T955 1785T1021 1747T1079 1729Q1121 1729 1147 1754T1198 -1843H1306Q1236 1581 1067 1581Z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q433 -20 290 129T147 547Q147 809 242 1027T506 1365T887 1485Q1134 1485 1273 1332T1413 909ZM874 1323Q720 1323 598 1224T409 947T342 551Q342 356 437 249T696 -141Q844 141 963 238T1150 515T1219 913Q1219 1105 1128 1214T874 1323ZM656 1716Q656 1767 685 1800T764 1833Q846 1833 846 1751Q846 1702 818 1666T744 1630Q705 1630 681 1652T656 1716ZM1024 1716Q1024 1768 1054 1800T1133 1833Q1175 1833 1195 1811T1215 -1751Q1215 1699 1185 1665T1110 1630Q1073 1630 1049 1652T1024 1716Z" /> -<glyph unicode="&#xd7;" horiz-adv-x="1128" d="M481 723L164 1042L268 1147L586 827L907 1147L1010 1044L688 723L1008 403L907 301L586 621L268 303L166 406L481 723Z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1477" d="M1413 909Q1413 634 1322 421T1068 94T690 -20Q495 -20 360 74L233 -84L117 10L252 178Q147 318 147 547Q147 809 242 1027T506 1365T887 1485Q1077 1485 1214 1378L1343 1540L1462 1446L1315 1266Q1363 1203 1388 -1110T1413 909ZM874 1325Q722 1325 599 1226T408 947T340 551Q340 424 379 336L1102 1241Q1010 1325 874 1325ZM1221 913Q1221 1022 1190 1106L469 211Q561 141 696 141Q848 141 968 241T1154 520T1221 913Z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1386" d="M1409 1462L1204 498Q1148 231 1003 106T614 -20Q385 -20 274 85T162 385Q162 462 186 580L375 1462H557L367 569Q358 533 351 478T344 387Q344 271 414 206T625 141Q794 141 887 227T1024 512L1227 1462H1409ZM991 -1579H881Q815 1645 748 1738T655 1886V1907H848Q889 1772 991 1604V1579Z" /> -<glyph unicode="&#xda;" horiz-adv-x="1386" d="M1409 1462L1204 498Q1148 231 1003 106T614 -20Q385 -20 274 85T162 385Q162 462 186 580L375 1462H557L367 569Q358 533 351 478T344 387Q344 271 414 206T625 141Q794 141 887 227T1024 512L1227 1462H1409ZM817 -1606Q868 1661 935 1749T1047 1907H1252V1886Q1205 1829 1104 1731T930 1579H817V1606Z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1386" d="M1409 1462L1204 498Q1148 231 1003 106T614 -20Q385 -20 274 85T162 385Q162 462 186 580L375 1462H557L367 569Q358 533 351 478T344 387Q344 271 414 206T625 141Q794 141 887 227T1024 512L1227 1462H1409ZM1223 -1579H1110Q1054 1627 949 1765Q822 1652 709 1579H590V1606Q828 1826 877 1907H1051Q1085 1815 1181 1672L1223 1606V1579Z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1386" d="M1409 1462L1204 498Q1148 231 1003 106T614 -20Q385 -20 274 85T162 385Q162 462 186 580L375 1462H557L367 569Q358 533 351 478T344 387Q344 271 414 206T625 141Q794 141 887 227T1024 512L1227 1462H1409ZM635 -1716Q635 1767 664 1800T743 1833Q825 1833 825 1751Q825 1702 797 1666T723 1630Q684 1630 660 1652T635 1716ZM1003 1716Q1003 1768 1033 1800T1112 1833Q1154 1833 1174 1811T1194 1751Q1194 1699 1164 1665T1089 1630Q1052 1630 1028 1652T1003 1716Z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1042" d="M545 729L1024 1462H1231L604 543L492 0H307L426 549L188 1462H371L545 729ZM616 1606Q667 1661 734 1749T846 1907H1051V1886Q1004 1829 903 1731T729 1579H616V1606Z" /> -<glyph unicode="&#xde;" horiz-adv-x="1161" d="M1110 827Q1110 579 946 448T463 317H334L266 0H84L393 1462H575L522 1208H670Q887 1208 998 1113T1110 827ZM365 473H494Q704 473 813 562T922 821Q922 944 853 997T645 1051H487L365 473Z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1196" d="M776 1567Q940 1567 1034 1495T1128 1294Q1128 1215 1086 1145T930 987L868 941Q760 861 760 795Q760 740 852 675Q955 602 1008 524T1061 354Q1061 179 951 80T653 -20Q478 -20 383 51V217Q426 182 493 155T631 -127Q746 127 811 183T877 334Q877 395 849 439T743 545Q656 612 620 667T584 784Q584 838 603 881T654 961T778 1063Q855 1115 886 1146T935 1210T952 1282Q952 1346 900 1382T760 1419Q641 1419 575 1356T483 1167L211 -127Q171 -317 89 -404T-131 -492Q-202 -492 --256 -471V-317Q-204 -340 -145 -340Q-81 -340 -39 -294T27 -139L305 1167Q348 1370 462 1468T776 1567Z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 -798 906T655 967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129ZM1084 1241H974Q908 1307 841 1400T748 1548V1569H941Q982 1434 1084 1266V1241Z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 -798 906T655 967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129ZM600 1268Q651 1323 718 1411T830 1569H1035V1548Q988 1491 887 1393T713 1241H600V1268Z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 -798 906T655 967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129ZM1271 1241H1158Q1102 1289 997 1427Q870 1314 757 1241H638V1268Q876 1488 925 1569H1099Q1133 1477 1229 1334L1271 1268V1241Z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 -798 906T655 967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129ZM858 1243Q817 1243 780 1260T708 1299T640 1338T573 1356Q530 1356 505 1327T458 1241H352Q409 1503 587 1503Q632 1503 671 1486T746 1447T812 1409T870 1391Q912 1391 938 1416T989 -1505H1097Q1027 1243 858 1243Z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 -798 906T655 967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129ZM704 1378Q704 1429 733 1462T812 1495Q894 1495 894 1413Q894 1364 866 1328T792 1292Q753 1292 729 1314T704 1378ZM1072 1378Q1072 1430 1102 1462T1181 1495Q1223 1495 1243 1473T1263 -1413Q1263 1361 1233 1327T1158 1292Q1121 1292 1097 1314T1072 1378Z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1163" d="M395 -20Q258 -20 178 78T98 354Q98 559 168 736T363 1016T637 1118Q730 1118 800 1069T913 928H924L989 1098H1126L893 0H750L776 203H768Q595 -20 395 -20ZM455 129Q549 129 643 219T795 453T852 748Q852 846 -798 906T655 967Q554 967 468 883T332 655T283 350Q283 239 328 184T455 129ZM1213 1458Q1213 1358 1151 1300T990 1241Q891 1241 830 1298T769 1456Q769 1553 831 1611T990 1669Q1090 1669 1151 1612T1213 1458ZM1105 1456Q1105 1509 1073 1539T990 1569Q942 1569 -910 1539T877 1456Q877 1403 906 1373T990 1343Q1041 1343 1073 1373T1105 1456Z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1679" d="M1169 -20Q1061 -20 981 18T858 135L829 0H709L733 203H725Q621 77 539 29T362 -20Q239 -20 169 78T98 352Q98 559 169 738T360 1017T621 1118Q790 1118 870 928H881L948 1098H1063L1034 956Q1089 1032 1173 1075T1362 -1118Q1484 1118 1559 1050T1634 862Q1634 679 1467 577T995 475H954L950 399Q950 273 1011 201T1202 129Q1261 129 1326 147T1499 213V55Q1335 -20 1169 -20ZM422 129Q514 129 605 218T753 454T811 748Q811 849 766 908T645 967Q547 967 464 882T332 654T283 352Q283 -240 319 185T422 129ZM1327 969Q1214 969 1121 877T981 621H999Q1216 621 1336 678T1456 844Q1456 901 1422 935T1327 969Z" /> -<glyph unicode="&#xe7;" horiz-adv-x="928" d="M506 -20Q312 -20 205 87T98 389Q98 592 171 760T375 1023T672 1118Q819 1118 944 1065L893 915Q778 967 674 967Q564 967 474 891T333 682T283 391Q283 266 346 198T524 129Q597 129 661 149T788 197V45Q660 -20 -506 -20ZM596 -274Q596 -373 516 -432T299 -492Q244 -492 207 -481V-375Q239 -383 281 -383Q449 -383 449 -274Q449 -237 419 -214T311 -180L410 0H524L465 -117Q596 -155 596 -274Z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1022" d="M637 969Q534 969 443 873T311 621H326Q544 621 664 679T784 848Q784 901 748 935T637 969ZM496 -20Q310 -20 204 89T98 393Q98 581 171 752T370 1020T647 1118Q803 1118 882 1051T961 862Q961 680 793 578T319 -475H285L281 399Q281 273 341 201T528 129Q605 129 675 151T827 213V59Q728 13 654 -3T496 -20ZM1039 1241H929Q863 1307 796 1400T703 1548V1569H896Q937 1434 1039 1266V1241Z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1022" d="M637 969Q534 969 443 873T311 621H326Q544 621 664 679T784 848Q784 901 748 935T637 969ZM496 -20Q310 -20 204 89T98 393Q98 581 171 752T370 1020T647 1118Q803 1118 882 1051T961 862Q961 680 793 578T319 -475H285L281 399Q281 273 341 201T528 129Q605 129 675 151T827 213V59Q728 13 654 -3T496 -20ZM581 1268Q632 1323 699 1411T811 1569H1016V1548Q969 1491 868 1393T694 1241H581V1268Z" /> -<glyph unicode="&#xea;" horiz-adv-x="1022" d="M637 969Q534 969 443 873T311 621H326Q544 621 664 679T784 848Q784 901 748 935T637 969ZM496 -20Q310 -20 204 89T98 393Q98 581 171 752T370 1020T647 1118Q803 1118 882 1051T961 862Q961 680 793 578T319 -475H285L281 399Q281 273 341 201T528 129Q605 129 675 151T827 213V59Q728 13 654 -3T496 -20ZM1234 1241H1121Q1065 1289 960 1427Q833 1314 720 1241H601V1268Q839 1488 888 1569H1062Q1096 1477 1192 1334L1234 1268V1241Z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1022" d="M637 969Q534 969 443 873T311 621H326Q544 621 664 679T784 848Q784 901 748 935T637 969ZM496 -20Q310 -20 204 89T98 393Q98 581 171 752T370 1020T647 1118Q803 1118 882 1051T961 862Q961 680 793 578T319 -475H285L281 399Q281 273 341 201T528 129Q605 129 675 151T827 213V59Q728 13 654 -3T496 -20ZM665 1378Q665 1429 694 1462T773 1495Q855 1495 855 1413Q855 1364 827 1328T753 1292Q714 1292 690 1314T665 1378ZM1033 1378Q1033 1430 1063 1462T1142 1495Q1184 -1495 1204 1473T1224 1413Q1224 1361 1194 1327T1119 1292Q1082 1292 1058 1314T1033 1378Z" /> -<glyph unicode="&#xec;" horiz-adv-x="528" d="M238 0H57L291 1098H471L238 0ZM498 1241H388Q322 1307 255 1400T162 1548V1569H355Q396 1434 498 1266V1241Z" /> -<glyph unicode="&#xed;" horiz-adv-x="528" d="M238 0H57L291 1098H471L238 0ZM322 1268Q373 1323 440 1411T552 1569H757V1548Q710 1491 609 1393T435 1241H322V1268Z" /> -<glyph unicode="&#xee;" horiz-adv-x="528" d="M238 0H57L291 1098H471L238 0ZM720 1241H607Q551 1289 446 1427Q319 1314 206 1241H87V1268Q325 1488 374 1569H548Q582 1477 678 1334L720 1268V1241Z" /> -<glyph unicode="&#xef;" horiz-adv-x="528" d="M238 0H57L291 1098H471L238 0ZM157 1378Q157 1429 186 1462T265 1495Q347 1495 347 1413Q347 1364 319 1328T245 1292Q206 1292 182 1314T157 1378ZM525 1378Q525 1430 555 1462T634 1495Q676 1495 696 1473T716 -1413Q716 1361 686 1327T611 1292Q574 1292 550 1314T525 1378Z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1167" d="M670 1333Q607 1390 526 1444L623 1567Q747 1484 815 1415L1073 1559L1139 1450L903 1319Q989 1206 1028 1082T1067 815Q1067 559 994 365T789 76T481 -20Q298 -20 193 82T88 375Q88 537 155 675T341 891T610 969Q713 -969 788 925T899 803L905 805V821Q905 950 871 1050T762 1241L496 1094L436 1204L670 1333ZM492 129Q595 129 674 183T804 348T854 573Q854 685 792 753T618 821Q512 821 434 764T314 604T272 377Q272 255 328 192T492 129Z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1186" d="M905 0H725L870 688Q891 787 891 829Q891 892 856 929T745 967Q659 967 578 908T433 738T338 473L238 0H57L291 1098H438L416 895H426Q493 981 546 1024T662 1092T795 1118Q924 1118 997 1048T1071 848Q1071 770 -1049 668L905 0ZM873 1243Q832 1243 795 1260T723 1299T655 1338T588 1356Q545 1356 520 1327T473 1241H367Q424 1503 602 1503Q647 1503 686 1486T761 1447T827 1409T885 1391Q927 1391 953 1416T1004 1505H1112Q1042 1243 873 1243Z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1153" d="M872 709Q872 824 812 893T649 963Q543 963 458 889T327 685T281 399Q281 271 342 202T518 133Q618 133 699 204T826 407T872 709ZM1057 688Q1057 498 985 332T789 75T508 -16Q316 -16 207 98T98 406Q98 598 172 -766T369 1023T647 1112Q838 1112 947 999T1057 688ZM1058 1241H948Q882 1307 815 1400T722 1548V1569H915Q956 1434 1058 1266V1241Z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1153" d="M872 709Q872 824 812 893T649 963Q543 963 458 889T327 685T281 399Q281 271 342 202T518 133Q618 133 699 204T826 407T872 709ZM1057 688Q1057 498 985 332T789 75T508 -16Q316 -16 207 98T98 406Q98 598 172 -766T369 1023T647 1112Q838 1112 947 999T1057 688ZM587 1268Q638 1323 705 1411T817 1569H1022V1548Q975 1491 874 1393T700 1241H587V1268Z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1153" d="M872 709Q872 824 812 893T649 963Q543 963 458 889T327 685T281 399Q281 271 342 202T518 133Q618 133 699 204T826 407T872 709ZM1057 688Q1057 498 985 332T789 75T508 -16Q316 -16 207 98T98 406Q98 598 172 -766T369 1023T647 1112Q838 1112 947 999T1057 688ZM1263 1241H1150Q1094 1289 989 1427Q862 1314 749 1241H630V1268Q868 1488 917 1569H1091Q1125 1477 1221 1334L1263 1268V1241Z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1153" d="M872 709Q872 824 812 893T649 963Q543 963 458 889T327 685T281 399Q281 271 342 202T518 133Q618 133 699 204T826 407T872 709ZM1057 688Q1057 498 985 332T789 75T508 -16Q316 -16 207 98T98 406Q98 598 172 -766T369 1023T647 1112Q838 1112 947 999T1057 688ZM846 1243Q805 1243 768 1260T696 1299T628 1338T561 1356Q518 1356 493 1327T446 1241H340Q397 1503 575 1503Q620 1503 659 1486T734 1447T800 1409T858 1391Q900 1391 926 1416T977 1505H1085Q1015 1243 846 -1243Z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1153" d="M872 709Q872 824 812 893T649 963Q543 963 458 889T327 685T281 399Q281 271 342 202T518 133Q618 133 699 204T826 407T872 709ZM1057 688Q1057 498 985 332T789 75T508 -16Q316 -16 207 98T98 406Q98 598 172 -766T369 1023T647 1112Q838 1112 947 999T1057 688ZM685 1378Q685 1429 714 1462T793 1495Q875 1495 875 1413Q875 1364 847 1328T773 1292Q734 1292 710 1314T685 1378ZM1053 1378Q1053 1430 1083 1462T1162 1495Q1204 1495 1224 1473T1244 1413Q1244 1361 1214 -1327T1139 1292Q1102 1292 1078 1314T1053 1378Z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1128" d="M125 647V797H1049V647H125ZM473 373Q473 496 586 496Q639 496 669 466T700 373Q700 312 669 281T586 250Q538 250 506 278T473 373ZM473 1071Q473 1194 586 1194Q639 1194 669 1164T700 1071Q700 1010 669 979T586 -948Q538 948 506 976T473 1071Z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1153" d="M1053 705Q1053 507 979 335T783 73T510 -16Q367 -16 266 47L168 -78L59 6L170 143Q100 247 100 406Q100 596 172 764T368 1022T647 1112Q795 1112 897 1047L997 1171L1106 1090L991 963Q1053 866 1053 705ZM649 -965Q544 965 457 893T322 693T274 418Q274 331 291 293L795 920Q738 965 649 965ZM518 129Q618 129 701 200T832 400T879 686Q879 758 866 795L367 172Q420 129 518 129Z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1186" d="M279 1098H461L313 408Q295 318 295 270Q295 129 438 129Q525 129 606 188T752 359T848 625L948 1098H1126L893 0H745L768 203H758Q668 85 577 33T387 -20Q259 -20 186 51T113 252Q113 316 135 428L279 1098ZM1060 -1241H950Q884 1307 817 1400T724 1548V1569H917Q958 1434 1060 1266V1241Z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1186" d="M279 1098H461L313 408Q295 318 295 270Q295 129 438 129Q525 129 606 188T752 359T848 625L948 1098H1126L893 0H745L768 203H758Q668 85 577 33T387 -20Q259 -20 186 51T113 252Q113 316 135 428L279 1098ZM634 -1268Q685 1323 752 1411T864 1569H1069V1548Q1022 1491 921 1393T747 1241H634V1268Z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1186" d="M279 1098H461L313 408Q295 318 295 270Q295 129 438 129Q525 129 606 188T752 359T848 625L948 1098H1126L893 0H745L768 203H758Q668 85 577 33T387 -20Q259 -20 186 51T113 252Q113 316 135 428L279 1098ZM1036 -1241H923Q867 1289 762 1427Q635 1314 522 1241H403V1268Q641 1488 690 1569H864Q898 1477 994 1334L1036 1268V1241Z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1186" d="M279 1098H461L313 408Q295 318 295 270Q295 129 438 129Q525 129 606 188T752 359T848 625L948 1098H1126L893 0H745L768 203H758Q668 85 577 33T387 -20Q259 -20 186 51T113 252Q113 316 135 428L279 1098ZM453 -1378Q453 1429 482 1462T561 1495Q643 1495 643 1413Q643 1364 615 1328T541 1292Q502 1292 478 1314T453 1378ZM821 1378Q821 1430 851 1462T930 1495Q972 1495 992 1473T1012 1413Q1012 1361 982 1327T907 1292Q870 1292 846 1314T821 1378Z" /> -<glyph unicode="&#xfd;" horiz-adv-x="956" d="M98 1098H279L350 555Q361 480 369 361T377 147H383Q409 213 461 326T543 496L862 1098H1055L358 -184Q268 -354 174 -423T-51 -492Q-130 -492 -193 -471V-326Q-130 -344 -61 -344Q21 -344 80 -293T193 -143L264 --16L98 1098ZM756 1268Q807 1323 874 1411T986 1569H1191V1548Q1144 1491 1043 1393T869 1241H756V1268Z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1186" d="M786 1116Q927 1116 1006 1017T1085 741Q1085 531 1015 352T823 77T553 -20Q460 -20 386 28T268 168H258Q251 63 233 -18L133 -492H-45L-9 -320L387 1556H567L489 1190Q449 1011 414 893H422Q522 1015 608 1065T786 -1116ZM727 967Q637 967 542 878T387 645T328 350Q328 244 381 187T537 129Q635 129 719 211T852 438T901 745Q901 967 727 967Z" /> -<glyph unicode="&#xff;" horiz-adv-x="956" d="M98 1098H279L350 555Q361 480 369 361T377 147H383Q409 213 461 326T543 496L862 1098H1055L358 -184Q268 -354 174 -423T-51 -492Q-130 -492 -193 -471V-326Q-130 -344 -61 -344Q21 -344 80 -293T193 -143L264 --16L98 1098ZM589 1378Q589 1429 618 1462T697 1495Q779 1495 779 1413Q779 1364 751 1328T677 1292Q638 1292 614 1314T589 1378ZM957 1378Q957 1430 987 1462T1066 1495Q1108 1495 1128 1473T1148 1413Q1148 1361 1118 1327T1043 1292Q1006 1292 982 1314T957 -1378Z" /> -<glyph unicode="&#x2013;" horiz-adv-x="983" d="M53 467L90 633H915L881 467H53Z" /> -<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M53 467L90 633H1898L1864 467H53Z" /> -<glyph unicode="&#x2018;" horiz-adv-x="356" d="M129 961L123 983Q212 1184 391 1462H528Q387 1131 326 961H129Z" /> -<glyph unicode="&#x2019;" horiz-adv-x="356" d="M522 1462L530 1440Q490 1349 419 1222T260 961H123Q257 1259 326 1462H522Z" /> -<glyph unicode="&#x201a;" horiz-adv-x="498" d="M299 238L307 215Q209 4 37 -264H-100Q16 -2 102 238H299Z" /> -<glyph unicode="&#x201c;" horiz-adv-x="733" d="M506 961L498 983Q578 1164 770 1462H905Q758 1117 702 961H506ZM129 961L123 983Q212 1184 391 1462H528Q387 1131 326 961H129Z" /> -<glyph unicode="&#x201d;" horiz-adv-x="733" d="M522 1462L530 1440Q490 1349 419 1222T260 961H123Q257 1259 326 1462H522ZM899 1462L907 1440Q820 1242 635 961H500Q552 1077 616 1239T700 1462H899Z" /> -<glyph unicode="&#x201e;" horiz-adv-x="872" d="M299 238L307 215Q209 4 37 -264H-100Q16 -2 102 238H299ZM674 238L682 215Q592 21 414 -264H274Q414 52 477 238H674Z" /> -<glyph unicode="&#x2022;" horiz-adv-x="770" d="M199 748Q199 870 257 935T426 1001Q536 1001 594 936T653 748Q653 626 594 560T426 494Q316 494 258 560T199 748Z" /> -<glyph unicode="&#x2039;" horiz-adv-x="588" d="M86 578L479 965L567 877L272 543L440 164L315 111L86 549V578Z" /> -<glyph unicode="&#x203a;" horiz-adv-x="588" d="M500 500L109 111L20 199L315 532L147 911L272 965L500 526V500Z" /> -</font> -</defs> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf deleted file mode 100755 index 7f75a2d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff deleted file mode 100755 index 6dce67c..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2 b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2 deleted file mode 100755 index a9c14c4..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2 and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot deleted file mode 100755 index 15fc8bf..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg deleted file mode 100755 index bd2894d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg +++ /dev/null @@ -1,335 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg"> -<defs > -<font id="NotoSans" horiz-adv-x="1169" ><font-face - font-family="Noto Sans" - units-per-em="2048" - panose-1="2 11 5 2 4 5 4 2 2 4" - ascent="2189" - descent="-600" - alphabetic="0" /> -<glyph unicode=" " horiz-adv-x="532" /> -<glyph unicode="!" horiz-adv-x="785" d="M488 414H367L316 1462H539L488 414ZM299 111Q299 149 309 175T336 218T376 242T426 250Q452 250 475 243T516 219T543 176T553 111Q553 74 543 48T516 4T476 -21T426 -29Q399 -29 376 -21T336 4T309 47T299 111Z" /> -<glyph unicode="&quot;" horiz-adv-x="1028" d="M462 1493L411 965H286L235 1493H462ZM822 1493L771 965H647L596 1493H822Z" /> -<glyph unicode="#" horiz-adv-x="1337" d="M983 807L924 496H1196V361H897L828 0H684L755 361H470L400 0H259L325 361H70V496H351L413 807H144V941H437L505 1295H649L582 941H869L938 1295H1079L1010 941H1267V807H983ZM495 496H781L841 807H556L495 496Z" /> -<glyph unicode="$" horiz-adv-x="1171" d="M1040 449Q1040 312 939 222T649 109V-119H518V100Q404 102 300 119T127 168V336Q202 301 310 276T518 248V676Q313 741 228 828T143 1053Q143 1185 244 1270T518 1374V1554H649V1376Q839 1371 1010 1300L954 1159Q799 -1220 649 1231V809Q809 755 887 707T1003 598T1040 449ZM858 436Q858 508 811 550T649 633V258Q858 290 858 436ZM326 1055Q326 982 369 937T518 854V1227Q424 1211 375 1166T326 1055Z" /> -<glyph unicode="%" horiz-adv-x="1695" d="M265 925Q265 805 300 745T413 685Q566 685 566 925Q566 1165 413 1165Q335 1165 300 1105T265 925ZM714 925Q714 839 697 770T642 652T548 579T413 554Q340 554 285 579T192 652T136 769T117 925Q117 1012 134 1081T187 -1197T280 1269T413 1294Q487 1294 543 1270T637 1198T695 1081T714 925ZM1130 351Q1130 231 1165 172T1278 112Q1431 112 1431 351Q1431 591 1278 591Q1200 591 1165 532T1130 351ZM1578 351Q1578 264 1561 196T1507 79T1414 6T1278 -20Q1205 -20 1150 5T1057 79T1001 -195T982 351Q982 438 999 507T1053 623T1145 695T1278 720Q1353 720 1409 695T1502 623T1559 507T1578 351ZM1324 1274L535 0H375L1166 1274H1324Z" /> -<glyph unicode="&amp;" horiz-adv-x="1499" d="M422 1167Q422 1102 457 1037T573 893Q697 962 748 1025T799 1169Q799 1245 748 1291T616 1337Q527 1337 475 1290T422 1167ZM575 139Q802 139 958 285L532 698Q394 615 346 547T297 387Q297 274 374 207T575 139ZM109 -381Q109 511 176 609T424 811Q347 898 315 948T264 1052T246 1165Q246 1313 345 1399T623 1485Q788 1485 882 1401T977 1169Q977 1060 909 969T684 786L1079 406Q1172 514 1223 731H1405Q1336 446 1196 291L1495 0H1251L1073 172Q959 70 838 25T569 -20Q354 -20 -232 85T109 381Z" /> -<glyph unicode="&apos;" horiz-adv-x="668" d="M462 1493L411 965H286L235 1493H462Z" /> -<glyph unicode="(" horiz-adv-x="724" d="M140 691Q140 834 157 971T211 1236T303 1481T436 1703H602Q533 1594 479 1474T388 1224T333 960T315 689Q315 410 388 147T604 -338H436Q359 -232 304 -112T212 140T158 410T140 691Z" /> -<glyph unicode=")" horiz-adv-x="724" d="M584 674Q584 531 567 394T513 129T421 -116T288 -338H122Q191 -229 245 -109T336 141T391 405T409 676Q409 955 336 1218T120 1703H288Q365 1597 420 1477T512 1225T566 955T584 674Z" /> -<glyph unicode="*" horiz-adv-x="1243" d="M732 1525L689 1132L1086 1243L1112 1050L734 1022L979 696L801 600L625 958L467 600L283 696L525 1022L150 1050L179 1243L570 1132L527 1525H732Z" /> -<glyph unicode="+" horiz-adv-x="1128" d="M489 585H102V735H489V1123H639V735H1026V585H639V199H489V585Z" /> -<glyph unicode="," horiz-adv-x="512" d="M362 238L377 215Q363 161 344 100T301 -23T252 -146T201 -264H63Q78 -203 92 -137T120 -6T145 122T164 238H362Z" /> -<glyph unicode="-" horiz-adv-x="696" d="M100 524V692H596V524H100Z" /> -<glyph unicode="." horiz-adv-x="549" d="M147 111Q147 149 157 175T184 218T224 242T274 250Q300 250 323 243T364 219T391 176T401 111Q401 74 391 48T364 4T324 -21T274 -29Q247 -29 224 -21T184 4T157 47T147 111Z" /> -<glyph unicode="/" horiz-adv-x="879" d="M793 1705L256 -339H86L625 1705H793Z" /> -<glyph unicode="0" horiz-adv-x="1128" d="M1032 733Q1032 556 1007 416T925 179T779 31T563 -20Q445 -20 358 31T213 179T127 416T98 733Q98 910 123 1050T204 1286T348 1434T563 1485Q682 1485 770 1435T916 1288T1003 1051T1032 733ZM283 733Q283 583 298 471T346 -285T432 173T563 135Q640 135 694 172T782 283T832 469T848 733Q848 883 833 995T783 1181T694 1292T563 1329Q486 1329 433 1292T346 1181T298 995T283 733Z" /> -<glyph unicode="1" horiz-adv-x="1128" d="M711 0H535V913Q535 956 535 1005T537 1102T540 1195T543 1274Q526 1256 513 1243T487 1218T458 1193T422 1161L274 1040L178 1163L561 1462H711V0Z" /> -<glyph unicode="2" horiz-adv-x="1128" d="M1008 0H96V156L446 537Q521 618 580 685T680 816T744 944T766 1085Q766 1144 749 1189T701 1265T626 1313T530 1329Q435 1329 359 1291T213 1192L111 1311Q151 1347 197 1378T296 1433T408 1469T532 1483Q628 1483 705 -1456T837 1379T920 1256T950 1092Q950 1007 924 930T851 779T740 629T600 473L319 174V166H1008V0Z" /> -<glyph unicode="3" horiz-adv-x="1128" d="M961 1120Q961 1047 938 987T874 883T774 811T645 770V764Q822 742 914 652T1006 416Q1006 320 974 240T875 102T708 12T469 -20Q360 -20 264 -3T82 59V229Q169 183 270 158T465 133Q557 133 624 153T734 210T798 301T819 -422Q819 490 793 538T717 618T598 665T438 680H305V831H438Q519 831 582 851T687 908T752 996T774 1108Q774 1160 756 1201T705 1270T626 1314T524 1329Q417 1329 336 1296T180 1208L88 1333Q126 1364 172 1391T274 1438T391 1471T524 1483Q632 1483 713 1456T850 -1381T933 1266T961 1120Z" /> -<glyph unicode="4" horiz-adv-x="1128" d="M1087 328H874V0H698V328H23V487L686 1470H874V494H1087V328ZM698 494V850Q698 906 699 967T703 1087T707 1197T711 1282H702Q695 1262 685 1238T662 1189T636 1141T612 1102L201 494H698Z" /> -<glyph unicode="5" horiz-adv-x="1128" d="M545 897Q644 897 729 870T878 788T978 654T1014 469Q1014 355 980 264T879 110T714 14T487 -20Q436 -20 387 -15T292 -1T205 24T131 59V231Q164 208 208 190T302 160T400 142T492 135Q571 135 633 153T738 211T804 309T827 -449Q827 592 739 667T483 743Q456 743 425 741T362 734T302 726T252 717L162 774L217 1462H907V1296H375L336 877Q368 883 420 890T545 897Z" /> -<glyph unicode="6" horiz-adv-x="1128" d="M113 625Q113 730 123 834T160 1033T233 1211T350 1353T520 1448T752 1483Q771 1483 794 1482T840 1479T885 1473T924 1464V1309Q889 1321 845 1327T758 1333Q668 1333 600 1312T481 1251T398 1158T343 1039T312 899T299 -745H311Q331 781 359 812T426 866T511 902T618 915Q713 915 790 886T921 799T1004 660T1034 471Q1034 357 1003 266T914 112T774 14T590 -20Q490 -20 403 19T251 138T150 339T113 625ZM588 133Q648 133 697 153T783 215T838 320T858 471Q858 541 842 596T792 691T710 -751T594 772Q527 772 472 749T377 688T317 602T295 506Q295 439 313 373T368 253T460 167T588 133Z" /> -<glyph unicode="7" horiz-adv-x="1128" d="M281 0L844 1296H90V1462H1030V1317L475 0H281Z" /> -<glyph unicode="8" horiz-adv-x="1128" d="M565 1485Q649 1485 723 1463T854 1397T944 1287T977 1133Q977 1066 957 1012T902 915T819 837T715 774Q773 743 828 705T927 620T997 513T1024 381Q1024 289 991 215T897 88T752 8T565 -20Q455 -20 370 7T226 84T137 -208T106 373Q106 448 128 508T189 616T279 701T389 766Q340 797 297 833T223 915T173 1014T154 1135Q154 1222 187 1287T278 1397T409 1463T565 1485ZM285 371Q285 318 301 274T351 198T437 149T561 131Q631 131 684 148T774 198T828 277T846 379Q846 431 827 473T771 -551T683 619T569 682L539 696Q413 636 349 559T285 371ZM563 1333Q457 1333 395 1280T332 1126Q332 1069 349 1028T398 955T472 898T567 848Q615 870 657 896T731 955T781 1030T799 1126Q799 1227 736 1280T563 1333Z" /> -<glyph unicode="9" horiz-adv-x="1128" d="M1028 838Q1028 733 1018 629T981 429T908 252T791 109T621 15T389 -20Q370 -20 347 -19T301 -16T256 -10T217 -2V154Q252 141 296 135T383 129Q518 129 605 176T743 303T815 491T842 717H829Q809 681 781 650T715 596T629 -560T522 547Q427 547 350 576T219 663T136 802T106 991Q106 1105 137 1196T226 1351T366 1449T551 1483Q652 1483 739 1444T890 1325T991 1124T1028 838ZM553 1329Q493 1329 444 1309T358 1247T303 1142T283 991Q283 921 299 866T349 771T431 711T547 690Q615 690 -670 713T764 774T824 860T846 956Q846 1023 828 1089T773 1209T681 1296T553 1329Z" /> -<glyph unicode=":" horiz-adv-x="603" d="M175 111Q175 149 185 175T212 218T252 242T302 250Q328 250 351 243T392 219T419 176T429 111Q429 74 419 48T392 4T352 -21T302 -29Q275 -29 252 -21T212 4T185 47T175 111ZM175 987Q175 1026 185 1052T212 1095T252 -1119T302 1126Q328 1126 351 1119T392 1096T419 1053T429 987Q429 950 419 924T392 881T352 856T302 848Q275 848 252 856T212 881T185 924T175 987Z" /> -<glyph unicode=";" horiz-adv-x="603" d="M390 238L405 215Q391 161 372 100T329 -23T280 -146T229 -264H91Q106 -203 120 -137T148 -6T173 122T192 238H390ZM175 987Q175 1026 185 1052T212 1095T252 1119T302 1126Q328 1126 351 1119T392 1096T419 1053T429 -987Q429 950 419 924T392 881T352 856T302 848Q275 848 252 856T212 881T185 924T175 987Z" /> -<glyph unicode="&lt;" horiz-adv-x="1128" d="M1026 157L102 581V683L1026 1164V1004L291 640L1026 318V157Z" /> -<glyph unicode="=" horiz-adv-x="1128" d="M102 791V940H1026V791H102ZM102 381V531H1026V381H102Z" /> -<glyph unicode="&gt;" horiz-adv-x="1128" d="M102 318L838 640L102 1004V1164L1026 683V581L102 157V318Z" /> -<glyph unicode="?" horiz-adv-x="1060" d="M390 414V451Q390 508 397 554T424 640T477 718T560 799Q608 840 642 873T697 941T729 1015T740 1108Q740 1156 725 1195T682 1263T611 1307T512 1323Q429 1323 354 1297T209 1237L146 1382Q227 1424 321 1453T512 1483Q605 -1483 679 1458T806 1384T886 1267T914 1110Q914 1043 901 991T860 893T793 806T699 717Q647 672 614 639T562 574T536 509T529 432V414H390ZM342 111Q342 149 352 175T379 218T419 242T469 250Q495 250 518 243T559 219T586 176T596 111Q596 74 586 48T559 4T519 --21T469 -29Q442 -29 419 -21T379 4T352 47T342 111Z" /> -<glyph unicode="@" horiz-adv-x="1841" d="M1722 731Q1722 591 1678 473T1553 289T1368 223Q1283 223 1225 272T1153 401H1143Q1104 318 1029 271T854 223Q702 223 615 324T528 604Q528 737 581 842T735 1006T963 1065Q1032 1065 1120 1053T1276 1016L1253 548V526Q1253 -350 1380 350Q1469 350 1524 455T1579 733Q1579 912 1506 1047T1297 1254T987 1327Q767 1327 604 1236T353 975T266 580Q266 278 425 116T887 -47Q1099 -47 1327 41V-98Q1127 -182 887 -182Q523 -182 321 17T119 573Q119 832 226 1035T532 1350T987 1462Q1202 1462 -1370 1371T1630 1113T1722 731ZM688 600Q688 350 881 350Q1086 350 1104 659L1116 915Q1043 936 965 936Q836 936 762 847T688 600Z" /> -<glyph unicode="A" horiz-adv-x="1309" d="M1116 0L940 453H360L186 0H0L571 1468H737L1307 0H1116ZM885 616L721 1059L651 1278Q621 1158 588 1059L422 616H885Z" /> -<glyph unicode="B" horiz-adv-x="1331" d="M199 1462H616Q910 1462 1040 1375T1171 1100Q1171 970 1100 886T893 776V766Q1062 737 1141 649T1221 416Q1221 220 1087 110T713 0H199V1462ZM383 840H653Q825 840 903 895T981 1079Q981 1199 896 1252T625 1305H383V840ZM383 -686V156H678Q854 156 939 224T1024 430Q1024 561 934 623T664 686H383Z" /> -<glyph unicode="C" horiz-adv-x="1294" d="M825 1321Q589 1321 454 1163T319 731Q319 448 450 295T823 141Q979 141 1174 199V39Q1081 5 995 -7T797 -20Q474 -20 300 176T125 733Q125 959 208 1129T451 1391T827 1483Q1059 1483 1231 1397L1157 1241Q982 1321 825 1321Z" /> -<glyph unicode="D" horiz-adv-x="1495" d="M1370 745Q1370 383 1173 192T606 0H199V1462H649Q990 1462 1180 1275T1370 745ZM1176 739Q1176 1018 1039 1161T623 1305H383V158H582Q1176 158 1176 739Z" /> -<glyph unicode="E" horiz-adv-x="1139" d="M1016 0H199V1462H1016V1300H383V844H979V684H383V162H1016V0Z" /> -<glyph unicode="F" horiz-adv-x="1063" d="M383 0H199V1462H1016V1300H383V782H977V621H383V0Z" /> -<glyph unicode="G" horiz-adv-x="1491" d="M834 772H1339V55Q1223 18 1103 -1T825 -20Q491 -20 308 178T125 731Q125 960 216 1131T478 1392T883 1483Q1117 1483 1319 1397L1249 1237Q1056 1321 872 1321Q611 1321 464 1163T317 731Q317 441 458 290T868 139Q1015 -139 1155 174V608H834V772Z" /> -<glyph unicode="H" horiz-adv-x="1518" d="M1317 0H1133V682H383V0H199V1462H383V844H1133V1462H1317V0Z" /> -<glyph unicode="I" horiz-adv-x="694" d="M610 0H82V106L254 145V1315L82 1356V1462H610V1356L438 1315V145L610 106V0Z" /> -<glyph unicode="J" horiz-adv-x="559" d="M-8 -389Q-102 -389 -160 -362V-207Q-89 -227 -12 -227Q88 -227 138 -167T188 8V1462H373V23Q373 -175 275 -282T-8 -389Z" /> -<glyph unicode="K" horiz-adv-x="1268" d="M1268 0H1051L532 698L383 567V0H199V1462H383V741L509 880L1030 1462H1245L666 825L1268 0Z" /> -<glyph unicode="L" horiz-adv-x="1073" d="M199 0V1462H383V164H1022V0H199Z" /> -<glyph unicode="M" horiz-adv-x="1858" d="M844 0L362 1282H354Q369 1122 369 887V0H199V1462H471L922 264H930L1389 1462H1659V0H1477V899Q1477 1049 1491 1280H1483L995 0H844Z" /> -<glyph unicode="N" horiz-adv-x="1556" d="M1358 0H1143L360 1214H352L357 1133Q369 951 369 817V0H199V1462H412L457 1391L937 649L1192 252H1200Q1198 276 1192 423T1186 637V1462H1358V0Z" /> -<glyph unicode="O" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 733Q1280 1026 1159 1174T803 -1323Q565 1323 442 1173T319 733Z" /> -<glyph unicode="P" horiz-adv-x="1239" d="M1135 1032Q1135 808 982 689T551 569H383V0H199V1462H586Q1135 1462 1135 1032ZM383 727H530Q748 727 846 797T944 1024Q944 1165 853 1235T569 1305H383V727Z" /> -<glyph unicode="Q" horiz-adv-x="1599" d="M1475 733Q1475 456 1364 271T1049 16L1399 -348H1135L852 -18L801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 -733Q1280 1026 1159 1174T803 1323Q565 1323 442 1173T319 733Z" /> -<glyph unicode="R" horiz-adv-x="1274" d="M383 760H602Q780 760 862 830T944 1038Q944 1176 861 1239T592 1303H383V760ZM383 604V0H199V1462H602Q874 1462 1004 1359T1135 1047Q1135 756 842 655L1243 0H1028L674 604H383Z" /> -<glyph unicode="S" horiz-adv-x="1124" d="M1028 391Q1028 200 890 90T506 -20Q246 -20 104 49V225Q197 185 307 162T514 139Q678 139 761 202T844 375Q844 448 814 495T714 583T500 676Q297 750 210 850T123 1110Q123 1281 251 1382T590 1483Q809 1483 993 1401L936 -1243Q748 1321 586 1321Q456 1321 383 1265T309 1108Q309 1036 337 989T429 902T629 813Q792 753 872 697T990 567T1028 391Z" /> -<glyph unicode="T" horiz-adv-x="1139" d="M662 0H477V1300H20V1462H1116V1300H662V0Z" /> -<glyph unicode="U" horiz-adv-x="1497" d="M1311 1462V516Q1311 266 1160 123T741 -20Q476 -20 330 124T184 520V1462H369V514Q369 335 464 237T752 139Q933 139 1030 236T1128 516V1462H1311Z" /> -<glyph unicode="V" horiz-adv-x="1229" d="M0 1462H193L522 524Q585 346 614 205Q639 331 707 528L1034 1462H1229L707 0H522L0 1462Z" /> -<glyph unicode="W" horiz-adv-x="1905" d="M1489 0H1303L1018 958Q955 1172 944 1247Q928 1132 874 952L598 0H412L25 1462H217L444 569Q490 394 514 221Q536 385 592 580L850 1462H1040L1309 573Q1361 400 1389 221Q1405 359 1460 571L1686 1462H1878L1489 0Z" /> -<glyph unicode="X" horiz-adv-x="1200" d="M1192 0H983L596 635L203 0H8L494 762L39 1462H244L602 889L963 1462H1157L705 766L1192 0Z" /> -<glyph unicode="Y" horiz-adv-x="1159" d="M580 743L961 1462H1159L672 567V0H487V559L0 1462H201L580 743Z" /> -<glyph unicode="Z" horiz-adv-x="1171" d="M1092 0H78V139L848 1298H102V1462H1071V1323L301 164H1092V0Z" /> -<glyph unicode="[" horiz-adv-x="729" d="M618 -339H221V1704H618V1561H386V-196H618V-339Z" /> -<glyph unicode="\" horiz-adv-x="879" d="M254 1703L793 -339H625L86 1703H254Z" /> -<glyph unicode="]" horiz-adv-x="729" d="M110 -196H341V1560H110V1703H508V-339H110V-196Z" /> -<glyph unicode="^" horiz-adv-x="1128" d="M60 549L519 1473H621L1068 549H907L570 1284L221 549H60Z" /> -<glyph unicode="_" horiz-adv-x="842" d="M846 -324H-4V-184H846V-324Z" /> -<glyph unicode="`" horiz-adv-x="1188" d="M799 1241H678Q603 1301 514 1396T387 1548V1569H602Q634 1503 693 1412T799 1266V1241Z" /> -<glyph unicode="a" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 748V0H852ZM481 -125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125Z" /> -<glyph unicode="b" horiz-adv-x="1260" d="M694 1116Q911 1116 1029 967T1147 549Q1147 277 1027 129T694 -20Q583 -20 496 20T354 139H340Q309 19 303 0H174V1556H354V1178Q354 1065 344 952H354Q465 1116 694 1116ZM664 967Q498 967 426 873T354 555V547Q354 -322 427 226T668 129Q816 129 888 237T961 551Q961 759 888 863T664 967Z" /> -<glyph unicode="c" horiz-adv-x="983" d="M614 -20Q377 -20 245 125T113 543Q113 819 246 968T627 1118Q707 1118 785 1102T915 1059L860 909Q721 961 623 961Q457 961 378 857T299 545Q299 346 378 241T612 135Q757 135 897 199V39Q783 -20 614 -20Z" /> -<glyph unicode="d" horiz-adv-x="1260" d="M563 -20Q349 -20 231 128T113 547Q113 816 231 967T565 1118Q786 1118 905 956H918Q915 976 910 1036T905 1118V1556H1085V0H940L913 147H905Q790 -20 563 -20ZM592 129Q756 129 831 218T907 512V545Q907 774 831 871T590 -969Q451 969 375 859T299 543Q299 339 374 234T592 129Z" /> -<glyph unicode="e" horiz-adv-x="1155" d="M641 -20Q394 -20 254 129T113 541Q113 805 244 961T598 1118Q805 1118 928 985T1051 623V514H299Q304 327 394 230T649 133Q737 133 816 148T1001 209V51Q910 12 830 -4T641 -20ZM596 971Q467 971 392 888T303 657H862Q860 -811 791 891T596 971Z" /> -<glyph unicode="f" horiz-adv-x="705" d="M680 958H403V0H223V958H31V1042L223 1104V1167Q223 1367 310 1467T580 1567Q685 1567 793 1530L745 1389Q652 1419 582 1419Q491 1419 447 1359T403 1169V1098H680V958Z" /> -<glyph unicode="g" horiz-adv-x="1260" d="M592 127Q758 127 833 216T909 504V547Q909 767 833 867T588 967Q450 967 375 858T299 545Q299 341 372 234T592 127ZM907 10L913 145H905Q794 -20 565 -20Q352 -20 233 128T113 547Q113 812 233 965T563 1118Q786 1118 -907 952H918L942 1098H1085V-18Q1085 -254 966 -373T594 -492Q354 -492 199 -422V-256Q359 -342 604 -342Q744 -342 825 -260T907 -33V10Z" /> -<glyph unicode="h" horiz-adv-x="1266" d="M922 0V702Q922 836 863 901T676 967Q509 967 432 874T354 567V0H174V1556H354V1100Q354 1010 344 946H356Q405 1026 495 1071T698 1116Q898 1116 999 1021T1100 715V0H922Z" /> -<glyph unicode="i" horiz-adv-x="528" d="M354 0H174V1098H354V0ZM160 1395Q160 1455 190 1482T266 1509Q308 1509 339 1482T371 1395Q371 1336 340 1308T266 1280Q221 1280 191 1308T160 1395Z" /> -<glyph unicode="j" horiz-adv-x="528" d="M45 -492Q-49 -492 -113 -467V-322Q-44 -342 23 -342Q101 -342 137 -300T174 -170V1098H354V-164Q354 -328 276 -410T45 -492ZM160 1395Q160 1455 190 1482T266 1509Q308 1509 339 1482T371 1395Q371 1336 340 1308T266 -1280Q221 1280 191 1308T160 1395Z" /> -<glyph unicode="k" horiz-adv-x="1094" d="M352 565L413 643L483 727L834 1098H1044L600 629L1075 0H858L477 512L352 403V0H174V1556H352V743L344 565H352Z" /> -<glyph unicode="l" horiz-adv-x="528" d="M354 0H174V1556H354V0Z" /> -<glyph unicode="m" horiz-adv-x="1915" d="M1571 0V707Q1571 967 1348 967Q1195 967 1123 878T1051 606V0H872V707Q872 837 818 902T647 967Q495 967 425 874T354 569V0H174V1098H319L346 948H356Q403 1028 488 1073T680 1118Q938 1118 1016 934H1026Q1079 1022 -1170 1070T1378 1118Q1564 1118 1656 1022T1749 715V0H1571Z" /> -<glyph unicode="n" horiz-adv-x="1266" d="M922 0V702Q922 836 863 901T676 967Q507 967 431 874T354 569V0H174V1098H319L346 948H356Q407 1029 499 1073T702 1118Q904 1118 1002 1020T1100 715V0H922Z" /> -<glyph unicode="o" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q467 -20 352 49T175 249T113 551Q113 819 247 968T623 1118Q855 1118 991 966T1128 551ZM299 551Q299 344 380 237T621 129Q778 129 860 236T942 551Q942 758 860 862T618 967Q299 -967 299 551Z" /> -<glyph unicode="p" horiz-adv-x="1260" d="M694 -20Q473 -20 354 139H342L346 98Q354 20 354 -41V-492H174V1098H322L346 948H354Q418 1038 502 1078T696 1118Q910 1118 1028 970T1147 551Q1147 282 1028 131T694 -20ZM664 967Q501 967 429 875T354 586V551Q354 -328 428 229T668 129Q806 129 883 241T961 553Q961 754 884 860T664 967Z" /> -<glyph unicode="q" horiz-adv-x="1260" d="M594 129Q755 129 829 217T907 508V545Q907 772 831 870T590 969Q449 969 374 858T299 543Q299 342 373 236T594 129ZM559 -20Q347 -20 230 130T113 547Q113 815 232 966T565 1118Q790 1118 907 948H915L942 1098H1085V-492H905V-23Q905 -87 915 147H903Q788 -20 559 -20Z" /> -<glyph unicode="r" horiz-adv-x="846" d="M686 1118Q759 1118 815 1106L793 940Q732 954 674 954Q587 954 513 906T396 774T354 586V0H174V1098H322L342 897H350Q413 1006 499 1062T686 1118Z" /> -<glyph unicode="s" horiz-adv-x="981" d="M889 303Q889 149 774 65T451 -20Q234 -20 106 49V213Q287 125 455 125Q591 125 653 169T715 287Q715 352 656 397T444 500Q289 560 226 602T134 698T104 827Q104 962 214 1040T516 1118Q703 1118 866 1044L805 901Q638 -971 504 971Q392 971 334 936T276 838Q276 778 326 739T559 629Q696 578 761 534T858 435T889 303Z" /> -<glyph unicode="t" horiz-adv-x="739" d="M541 127Q576 127 623 134T694 150V12Q669 1 617 -9T510 -20Q188 -20 188 319V958H33V1044L190 1116L262 1350H369V1098H686V958H369V324Q369 229 414 178T541 127Z" /> -<glyph unicode="u" horiz-adv-x="1266" d="M344 1098V391Q344 258 403 194T588 129Q757 129 834 223T911 526V1098H1092V0H944L918 145H909Q860 66 770 23T561 -20Q363 -20 263 75T162 379V1098H344Z" /> -<glyph unicode="v" horiz-adv-x="1040" d="M416 0L0 1098H193L426 451Q495 256 514 160H522Q525 173 529 189T540 225T614 451L848 1098H1040L623 0H416Z" /> -<glyph unicode="w" horiz-adv-x="1610" d="M1071 0L883 618Q857 695 807 909H799Q757 714 725 616L528 0H324L23 1098H209Q313 693 367 482T432 184H440L454 246Q485 389 514 479L709 1098H905L1094 479Q1104 444 1115 405T1137 327T1155 252T1167 186H1176Q1185 -262 1249 512L1403 1098H1587L1282 0H1071Z" /> -<glyph unicode="x" horiz-adv-x="1083" d="M434 561L55 1098H260L543 684L823 1098H1026L647 561L1047 0H842L543 438L240 0H37L434 561Z" /> -<glyph unicode="y" horiz-adv-x="1044" d="M2 1098H195L432 473Q507 269 524 174H532Q541 211 573 312T627 475L850 1098H1044L571 -152Q502 -334 407 -413T172 -492Q97 -492 23 -475V-332Q73 -344 143 -344Q229 -344 289 -297T387 -150L444 -4L2 1098Z" /> -<glyph unicode="z" horiz-adv-x="963" d="M883 0H80V119L670 958H115V1098H868V963L287 139H883V0Z" /> -<glyph unicode="{" horiz-adv-x="800" d="M507 -37Q507 -84 520 -114T556 -161T614 -184T691 -192V-339Q615 -338 551 -322T441 -271T368 -182T341 -51V421Q341 522 277 564T90 606V758Q212 758 276 800T341 943V1416Q341 1492 367 1546T440 1634T551 1685T691 -1703V1557Q648 1556 614 1550T557 1526T520 1479T507 1402V931Q507 828 452 768T291 687V676Q397 656 452 597T507 433V-37Z" /> -<glyph unicode="|" horiz-adv-x="1105" d="M479 1703H626V-339H479V1703Z" /> -<glyph unicode="}" horiz-adv-x="770" d="M293 433Q293 537 348 596T510 676V687Q403 707 348 767T293 931V1402Q293 1449 281 1479T245 1526T187 1549T110 1557V1703Q185 1702 249 1686T360 1635T433 1546T460 1416V943Q460 892 476 857T524 800T603 768T711 -758V606Q588 606 524 564T460 421V-51Q460 -128 434 -182T361 -270T250 -321T110 -339V-192Q152 -191 186 -185T244 -161T280 -114T293 -37V433Z" /> -<glyph unicode="~" horiz-adv-x="1128" d="M530 590Q493 606 466 617T416 634T373 643T330 646Q302 646 272 637T213 611T155 572T102 525V687Q202 795 350 795Q379 795 404 793T456 784T517 765T598 732Q635 716 662 705T713 688T757 679T799 676Q827 676 857 -685T916 711T974 750T1026 797V635Q927 527 778 527Q749 527 724 529T672 538T611 557T530 590Z" /> -<glyph unicode="&#xa0;" horiz-adv-x="532" /> -<glyph unicode="&#xa1;" horiz-adv-x="551" d="M213 676H332L383 -373H162L213 676ZM401 979Q401 912 369 877T274 842Q212 842 180 876T147 979Q147 1045 181 1081T274 1118Q333 1118 367 1082T401 979Z" /> -<glyph unicode="&#xa2;" horiz-adv-x="1171" d="M975 240Q862 183 721 178V-20H584V184Q380 215 283 353T186 741Q186 1249 584 1311V1483H723V1319Q875 1313 993 1260L940 1110Q797 1163 696 1163Q529 1163 450 1059T371 743Q371 530 451 433T688 336Q777 336 -844 353T975 397V240Z" /> -<glyph unicode="&#xa3;" horiz-adv-x="1171" d="M684 1481Q874 1481 1047 1397L983 1253Q816 1331 688 1331Q571 1331 510 1271T449 1075V791H866V655H449V442Q449 346 417 278T309 164H1096V0H66V152Q268 199 268 440V655H72V791H268V1094Q268 1275 380 1378T684 1481Z" /> -<glyph unicode="&#xa4;" horiz-adv-x="1171" d="M184 723Q184 840 256 948L121 1087L221 1184L356 1053Q456 1124 586 1124Q707 1124 811 1053L948 1184L1047 1087L915 950Q987 839 987 723Q987 593 915 494L1044 358L948 262L811 393Q708 324 586 324Q454 324 -356 395L221 264L123 360L256 496Q184 604 184 723ZM322 723Q322 612 398 536T586 459Q697 459 774 535T852 723Q852 837 775 914T586 991Q476 991 399 914T322 723Z" /> -<glyph unicode="&#xa5;" horiz-adv-x="1171" d="M584 748L950 1462H1139L727 694H981V563H672V395H981V264H672V0H496V264H186V395H496V563H186V694H436L29 1462H219L584 748Z" /> -<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M489 1556H639V776H489V1556ZM489 287H639V-494H489V287Z" /> -<glyph unicode="&#xa7;" horiz-adv-x="1051" d="M137 809Q137 896 180 963T299 1067Q225 1107 184 1163T143 1303Q143 1426 247 1496T547 1567Q639 1567 714 1553T897 1497L842 1360Q745 1399 677 1413T535 1427Q420 1427 366 1398T311 1307Q311 1251 369 1209T582 -1112Q764 1045 839 969T915 784Q915 604 762 512Q913 432 913 287Q913 145 795 68T467 -10Q257 -10 121 57V211Q208 172 303 150T475 127Q603 127 672 164T741 272Q741 333 688 372T477 473Q280 546 209 621T137 809ZM291 829Q291 778 318 741T405 668T629 571Q760 -647 760 758Q760 839 690 893T438 1006Q373 988 332 939T291 829Z" /> -<glyph unicode="&#xa8;" horiz-adv-x="1188" d="M305 1395Q305 1448 333 1471T401 1495Q440 1495 469 1472T498 1395Q498 1342 469 1317T401 1292Q361 1292 333 1317T305 1395ZM690 1395Q690 1448 718 1471T784 1495Q823 1495 852 1472T881 1395Q881 1342 852 -1317T784 1292Q746 1292 718 1317T690 1395Z" /> -<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M893 1055Q774 1055 707 970T639 731Q639 574 697 490T891 406Q986 406 1106 453V322Q1046 295 997 284T883 272Q690 272 585 392T479 731Q479 940 590 1064T891 1188Q1021 1188 1143 1126L1083 1001Q977 1055 893 -1055ZM100 731Q100 931 200 1106T475 1382T852 1483Q1052 1483 1227 1383T1503 1108T1604 731Q1604 534 1507 361T1235 84T852 -20Q645 -20 470 83T198 360T100 731ZM209 731Q209 559 295 410T530 175T852 88Q1024 88 1173 174T1408 409T1495 731Q1495 903 1409 -1052T1174 1287T852 1374Q680 1374 531 1288T296 1053T209 731Z" /> -<glyph unicode="&#xaa;" horiz-adv-x="731" d="M535 797L510 883Q416 784 276 784Q179 784 123 834T66 987Q66 1090 145 1143T389 1202L504 1206V1251Q504 1312 465 1342T358 1372Q258 1372 152 1319Q126 1381 106 1419Q228 1479 362 1479Q496 1479 563 1424T631 -1247V797H535ZM197 987Q197 889 307 889Q504 889 504 1067V1114L406 1110Q295 1106 246 1078T197 987Z" /> -<glyph unicode="&#xab;" horiz-adv-x="1042" d="M82 553L426 965L555 891L268 541L555 190L426 115L82 526V553ZM487 553L836 965L963 891L676 541L963 190L836 115L487 526V553Z" /> -<glyph unicode="&#xac;" horiz-adv-x="1171" d="M1065 795V262H920V649H102V795H1065Z" /> -<glyph unicode="&#xad;" horiz-adv-x="659" d="M82 469V629H578V469H82Z" /> -<glyph unicode="&#xae;" horiz-adv-x="1704" d="M727 764H829Q910 764 954 804T999 909Q999 982 958 1014T827 1047H727V764ZM1157 913Q1157 830 1114 770T997 680L1235 283H1059L854 637H727V283H571V1178H834Q1002 1178 1079 1113T1157 913ZM100 731Q100 931 -200 1106T475 1382T852 1483Q1052 1483 1227 1383T1503 1108T1604 731Q1604 534 1507 361T1235 84T852 -20Q645 -20 470 83T198 360T100 731ZM209 731Q209 559 295 410T530 175T852 88Q1024 88 1173 174T1408 409T1495 731Q1495 903 1409 1052T1174 1287T852 1374Q680 -1374 531 1288T296 1053T209 731Z" /> -<glyph unicode="&#xaf;" horiz-adv-x="696" d="M100 524V692H596V524H100Z" /> -<glyph unicode="&#xb0;" horiz-adv-x="877" d="M123 1167Q123 1302 215 1392T438 1483Q571 1483 662 1391T754 1167Q754 1036 662 945T438 854Q308 854 216 943T123 1167ZM246 1167Q246 1088 303 1032T440 975Q521 975 576 1032T631 1167Q631 1247 576 1303T440 -1360Q360 1360 303 1304T246 1167Z" /> -<glyph unicode="&#xb1;" horiz-adv-x="1171" d="M657 801H1065V655H657V233H510V655H102V801H510V1225H657V801ZM102 0V145H1065V0H102Z" /> -<glyph unicode="&#xb2;" horiz-adv-x="717" d="M627 586H49V696L285 926Q412 1049 447 1105T483 1231Q483 1296 446 1329T346 1362Q284 1362 234 1338T131 1274L59 1368Q192 1481 348 1481Q480 1481 554 1416T629 1239Q629 1193 617 1154T578 1074T511 987T227 -713H627V586Z" /> -<glyph unicode="&#xb3;" horiz-adv-x="717" d="M631 1255Q631 1104 479 1047Q657 1003 657 838Q657 711 565 640T303 569Q151 569 35 627V756Q177 686 305 686Q510 686 510 842Q510 983 285 983H168V1096H285Q388 1096 435 1135T483 1239Q483 1298 445 1331T340 -1364Q236 1364 113 1286L39 1380Q113 1435 185 1458T338 1481Q474 1481 552 1421T631 1255Z" /> -<glyph unicode="&#xb4;" horiz-adv-x="1188" d="M387 1266Q425 1314 483 1402T582 1569H799V1548Q755 1484 662 1387T506 1241H387V1266Z" /> -<glyph unicode="&#xb5;" horiz-adv-x="1276" d="M354 389Q354 129 600 129Q769 129 845 222T922 526V1098H1102V0H956L928 147H918Q809 -20 588 -20Q442 -20 352 72H344Q354 -2 354 -172V-492H174V1098H354V389Z" /> -<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1124 -260H1006V1442H797V-260H678V559Q616 541 532 541Q316 541 215 666T113 1042Q113 1302 222 1429T563 1556H1124V-260Z" /> -<glyph unicode="&#xb7;" horiz-adv-x="549" d="M147 723Q147 788 179 825T272 862Q334 862 367 825T401 723Q401 659 367 622T272 584Q213 584 180 621T147 723Z" /> -<glyph unicode="&#xb8;" horiz-adv-x="461" d="M434 -285Q434 -384 359 -438T131 -492Q66 -492 29 -481V-369Q65 -379 137 -379Q212 -379 250 -360T289 -289Q289 -200 102 -176L190 0H309L256 -109Q434 -147 434 -285Z" /> -<glyph unicode="&#xb9;" horiz-adv-x="717" d="M342 1462H492V586H346V1151Q346 1218 354 1333Q323 1305 300 1286T147 1174L76 1274L342 1462Z" /> -<glyph unicode="&#xba;" horiz-adv-x="770" d="M707 1133Q707 970 621 877T383 784Q238 784 152 876T66 1133Q66 1298 150 1388T387 1479Q536 1479 621 1388T707 1133ZM195 1133Q195 1012 239 953T385 893Q485 893 530 952T575 1133Q575 1254 530 1312T385 1370Q285 -1370 240 1312T195 1133Z" /> -<glyph unicode="&#xbb;" horiz-adv-x="1042" d="M961 526L612 115L485 190L772 541L485 891L612 965L961 553V526ZM553 526L207 115L80 190L367 541L80 891L207 965L553 553V526Z" /> -<glyph unicode="&#xbc;" horiz-adv-x="1618" d="M1304 1462L411 0H258L1151 1462H1304ZM593 1462H743V586H597V1151Q597 1218 605 1333Q574 1305 551 1286T398 1174L327 1274L593 1462ZM1507 197H1382V1H1229V197H829V304L1233 883H1382V320H1507V197ZM1229 320V511Q1229 -618 1235 718Q1227 700 1137 560L973 320H1229Z" /> -<glyph unicode="&#xbd;" horiz-adv-x="1618" d="M1243 1462L350 0H197L1090 1462H1243ZM568 1462H718V586H572V1151Q572 1218 580 1333Q549 1305 526 1286T373 1174L302 1274L568 1462ZM1489 1H911V111L1147 341Q1274 464 1309 520T1345 646Q1345 711 1308 744T1208 -777Q1146 777 1096 753T993 689L921 783Q1054 896 1210 896Q1342 896 1416 831T1491 654Q1491 608 1479 569T1440 489T1373 402T1089 128H1489V1Z" /> -<glyph unicode="&#xbe;" horiz-adv-x="1618" d="M1394 1462L501 0H348L1241 1462H1394ZM1581 197H1456V1H1303V197H903V304L1307 883H1456V320H1581V197ZM1303 320V511Q1303 618 1309 718Q1301 700 1211 560L1047 320H1303ZM884 1255Q884 1104 732 1047Q910 1003 -910 838Q910 711 818 640T556 569Q404 569 288 627V756Q430 686 558 686Q763 686 763 842Q763 983 538 983H421V1096H538Q641 1096 688 1135T736 1239Q736 1298 698 1331T593 1364Q489 1364 366 1286L292 1380Q366 1435 438 1458T591 1481Q727 1481 805 1421T884 -1255Z" /> -<glyph unicode="&#xbf;" horiz-adv-x="889" d="M602 676V623Q602 506 565 431T428 272Q295 161 260 106T225 -33Q225 -129 288 -183T471 -238Q630 -238 801 -150L864 -295Q666 -393 465 -393Q271 -393 161 -300T51 -37Q51 36 71 92T132 200T293 354Q396 444 426 -499T457 643V676H602ZM649 979Q649 842 522 842Q460 842 429 877T397 979Q397 1052 433 1085T522 1118Q576 1118 612 1085T649 979Z" /> -<glyph unicode="&#xc0;" horiz-adv-x="1309" d="M1116 0L940 453H360L186 0H0L571 1468H737L1307 0H1116ZM885 616L721 1059L651 1278Q621 1158 588 1059L422 616H885ZM745 1579H624Q549 1639 460 1734T333 1886V1907H548Q580 1841 639 1750T745 1604V1579Z" /> -<glyph unicode="&#xc1;" horiz-adv-x="1309" d="M1116 0L940 453H360L186 0H0L571 1468H737L1307 0H1116ZM885 616L721 1059L651 1278Q621 1158 588 1059L422 616H885ZM526 1604Q564 1652 622 1740T721 1907H938V1886Q894 1822 801 1725T645 1579H526V1604Z" /> -<glyph unicode="&#xc2;" horiz-adv-x="1309" d="M1116 0L940 453H360L186 0H0L571 1468H737L1307 0H1116ZM885 616L721 1059L651 1278Q621 1158 588 1059L422 616H885ZM299 1602Q424 1736 475 1800T551 1907H735Q787 1806 991 1602V1579H864Q774 1632 641 1763Q510 -1635 422 1579H299V1602Z" /> -<glyph unicode="&#xc3;" horiz-adv-x="1309" d="M1116 0L940 453H360L186 0H0L571 1468H737L1307 0H1116ZM885 616L721 1059L651 1278Q621 1158 588 1059L422 616H885ZM798 1581Q755 1581 714 1599T634 1639T558 1679T487 1698Q438 1698 413 1669T374 1579H270Q282 -1701 340 1771T495 1841Q540 1841 582 1823T664 1783T739 1743T807 1724Q855 1724 879 1753T919 1843H1022Q1010 1724 952 1653T798 1581Z" /> -<glyph unicode="&#xc4;" horiz-adv-x="1309" d="M1116 0L940 453H360L186 0H0L571 1468H737L1307 0H1116ZM885 616L721 1059L651 1278Q621 1158 588 1059L422 616H885ZM362 1733Q362 1786 390 1809T458 1833Q497 1833 526 1810T555 1733Q555 1680 526 1655T458 -1630Q418 1630 390 1655T362 1733ZM747 1733Q747 1786 775 1809T841 1833Q880 1833 909 1810T938 1733Q938 1680 909 1655T841 1630Q803 1630 775 1655T747 1733Z" /> -<glyph unicode="&#xc5;" horiz-adv-x="1309" d="M877 1585Q877 1516 847 1467T766 1393L1307 0H1116L940 453H360L186 0H0L539 1386Q486 1411 456 1461T426 1583Q426 1681 486 1739T649 1798Q751 1798 814 1739T877 1585ZM885 616L721 1059L651 1278Q621 1158 -588 1059L422 616H885ZM764 1583Q764 1637 732 1667T649 1698Q600 1698 568 1668T535 1583Q535 1529 564 1499T649 1468Q700 1468 732 1498T764 1583Z" /> -<glyph unicode="&#xc6;" horiz-adv-x="1804" d="M1681 0H920V453H408L188 0H-2L692 1462H1681V1300H1104V844H1642V684H1104V162H1681V0ZM479 616H920V1298H801L479 616Z" /> -<glyph unicode="&#xc7;" horiz-adv-x="1294" d="M825 1321Q589 1321 454 1163T319 731Q319 448 450 295T823 141Q979 141 1174 199V39Q1081 5 995 -7T797 -20Q474 -20 300 176T125 733Q125 959 208 1129T451 1391T827 1483Q1059 1483 1231 1397L1157 1241Q982 -1321 825 1321ZM950 -285Q950 -384 875 -438T647 -492Q582 -492 545 -481V-369Q581 -379 653 -379Q728 -379 766 -360T805 -289Q805 -200 618 -176L706 0H825L772 -109Q950 -147 950 -285Z" /> -<glyph unicode="&#xc8;" horiz-adv-x="1139" d="M1016 0H199V1462H1016V1300H383V844H979V684H383V162H1016V0ZM726 1579H605Q530 1639 441 1734T314 1886V1907H529Q561 1841 620 1750T726 1604V1579Z" /> -<glyph unicode="&#xc9;" horiz-adv-x="1139" d="M1016 0H199V1462H1016V1300H383V844H979V684H383V162H1016V0ZM453 1604Q491 1652 549 1740T648 1907H865V1886Q821 1822 728 1725T572 1579H453V1604Z" /> -<glyph unicode="&#xca;" horiz-adv-x="1139" d="M1016 0H199V1462H1016V1300H383V844H979V684H383V162H1016V0ZM255 1602Q380 1736 431 1800T507 1907H691Q743 1806 947 1602V1579H820Q730 1632 597 1763Q466 1635 378 1579H255V1602Z" /> -<glyph unicode="&#xcb;" horiz-adv-x="1139" d="M1016 0H199V1462H1016V1300H383V844H979V684H383V162H1016V0ZM319 1733Q319 1786 347 1809T415 1833Q454 1833 483 1810T512 1733Q512 1680 483 1655T415 1630Q375 1630 347 1655T319 1733ZM704 1733Q704 1786 -732 1809T798 1833Q837 1833 866 1810T895 1733Q895 1680 866 1655T798 1630Q760 1630 732 1655T704 1733Z" /> -<glyph unicode="&#xcc;" horiz-adv-x="694" d="M610 0H82V106L254 145V1315L82 1356V1462H610V1356L438 1315V145L610 106V0ZM472 1579H351Q276 1639 187 1734T60 1886V1907H275Q307 1841 366 1750T472 1604V1579Z" /> -<glyph unicode="&#xcd;" horiz-adv-x="694" d="M610 0H82V106L254 145V1315L82 1356V1462H610V1356L438 1315V145L610 106V0ZM236 1604Q274 1652 332 1740T431 1907H648V1886Q604 1822 511 1725T355 1579H236V1604Z" /> -<glyph unicode="&#xce;" horiz-adv-x="694" d="M610 0H82V106L254 145V1315L82 1356V1462H610V1356L438 1315V145L610 106V0ZM-3 1602Q122 1736 173 1800T249 1907H433Q485 1806 689 1602V1579H562Q472 1632 339 1763Q208 1635 120 1579H-3V1602Z" /> -<glyph unicode="&#xcf;" horiz-adv-x="694" d="M610 0H82V106L254 145V1315L82 1356V1462H610V1356L438 1315V145L610 106V0ZM60 1733Q60 1786 88 1809T156 1833Q195 1833 224 1810T253 1733Q253 1680 224 1655T156 1630Q116 1630 88 1655T60 1733ZM445 1733Q445 -1786 473 1809T539 1833Q578 1833 607 1810T636 1733Q636 1680 607 1655T539 1630Q501 1630 473 1655T445 1733Z" /> -<glyph unicode="&#xd0;" horiz-adv-x="1495" d="M1370 745Q1370 386 1174 193T604 0H213V643H61V803H213V1462H649Q990 1462 1180 1274T1370 745ZM1176 739Q1176 1019 1037 1162T623 1305H397V803H762V643H397V158H582Q1176 158 1176 739Z" /> -<glyph unicode="&#xd1;" horiz-adv-x="1556" d="M1358 0H1143L360 1214H352L357 1133Q369 951 369 817V0H199V1462H412L457 1391L937 649L1192 252H1200Q1198 276 1192 423T1186 637V1462H1358V0ZM940 1581Q897 1581 856 1599T776 1639T700 1679T629 1698Q580 -1698 555 1669T516 1579H412Q424 1701 482 1771T637 1841Q682 1841 724 1823T806 1783T881 1743T949 1724Q997 1724 1021 1753T1061 1843H1164Q1152 1724 1094 1653T940 1581Z" /> -<glyph unicode="&#xd2;" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 733Q1280 1026 1159 1174T803 -1323Q565 1323 442 1173T319 733ZM918 1579H797Q722 1639 633 1734T506 1886V1907H721Q753 1841 812 1750T918 1604V1579Z" /> -<glyph unicode="&#xd3;" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 733Q1280 1026 1159 1174T803 -1323Q565 1323 442 1173T319 733ZM657 1604Q695 1652 753 1740T852 1907H1069V1886Q1025 1822 932 1725T776 1579H657V1604Z" /> -<glyph unicode="&#xd4;" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 733Q1280 1026 1159 1174T803 -1323Q565 1323 442 1173T319 733ZM440 1602Q565 1736 616 1800T692 1907H876Q928 1806 1132 1602V1579H1005Q915 1632 782 1763Q651 1635 563 1579H440V1602Z" /> -<glyph unicode="&#xd5;" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 733Q1280 1026 1159 1174T803 -1323Q565 1323 442 1173T319 733ZM944 1581Q901 1581 860 1599T780 1639T704 1679T633 1698Q584 1698 559 1669T520 1579H416Q428 1701 486 1771T641 1841Q686 1841 728 1823T810 1783T885 1743T953 1724Q1001 1724 1025 1753T1065 1843H1168Q1156 1724 1098 1653T944 -1581Z" /> -<glyph unicode="&#xd6;" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q478 -20 302 177T125 735Q125 1092 300 1288T803 1485Q1121 1485 1298 1286T1475 733ZM319 733Q319 443 442 291T801 139Q1036 139 1158 289T1280 733Q1280 1026 1159 1174T803 -1323Q565 1323 442 1173T319 733ZM516 1733Q516 1786 544 1809T612 1833Q651 1833 680 1810T709 1733Q709 1680 680 1655T612 1630Q572 1630 544 1655T516 1733ZM901 1733Q901 1786 929 1809T995 1833Q1034 1833 1063 1810T1092 1733Q1092 1680 1063 1655T995 1630Q957 -1630 929 1655T901 1733Z" /> -<glyph unicode="&#xd7;" horiz-adv-x="1128" d="M459 658L141 977L246 1082L563 764L885 1082L989 979L668 658L987 338L885 236L563 553L246 238L143 341L459 658Z" /> -<glyph unicode="&#xd8;" horiz-adv-x="1599" d="M1475 733Q1475 382 1298 181T801 -20Q569 -20 422 76L324 -63L199 18L305 170Q125 368 125 735Q125 1092 300 1288T803 1485Q1007 1485 1167 1393L1262 1528L1386 1444L1282 1298Q1475 1095 1475 733ZM1280 733Q1280 -997 1176 1147L520 217Q634 139 801 139Q1036 139 1158 289T1280 733ZM319 733Q319 474 416 328L1069 1251Q960 1323 803 1323Q565 1323 442 1173T319 733Z" /> -<glyph unicode="&#xd9;" horiz-adv-x="1497" d="M1311 1462V516Q1311 266 1160 123T741 -20Q476 -20 330 124T184 520V1462H369V514Q369 335 464 237T752 139Q933 139 1030 236T1128 516V1462H1311ZM865 1579H744Q669 1639 580 1734T453 1886V1907H668Q700 1841 -759 1750T865 1604V1579Z" /> -<glyph unicode="&#xda;" horiz-adv-x="1497" d="M1311 1462V516Q1311 266 1160 123T741 -20Q476 -20 330 124T184 520V1462H369V514Q369 335 464 237T752 139Q933 139 1030 236T1128 516V1462H1311ZM600 1604Q638 1652 696 1740T795 1907H1012V1886Q968 1822 875 -1725T719 1579H600V1604Z" /> -<glyph unicode="&#xdb;" horiz-adv-x="1497" d="M1311 1462V516Q1311 266 1160 123T741 -20Q476 -20 330 124T184 520V1462H369V514Q369 335 464 237T752 139Q933 139 1030 236T1128 516V1462H1311ZM387 1602Q512 1736 563 1800T639 1907H823Q875 1806 1079 1602V1579H952Q862 -1632 729 1763Q598 1635 510 1579H387V1602Z" /> -<glyph unicode="&#xdc;" horiz-adv-x="1497" d="M1311 1462V516Q1311 266 1160 123T741 -20Q476 -20 330 124T184 520V1462H369V514Q369 335 464 237T752 139Q933 139 1030 236T1128 516V1462H1311ZM457 1733Q457 1786 485 1809T553 1833Q592 1833 621 1810T650 -1733Q650 1680 621 1655T553 1630Q513 1630 485 1655T457 1733ZM842 1733Q842 1786 870 1809T936 1833Q975 1833 1004 1810T1033 1733Q1033 1680 1004 1655T936 1630Q898 1630 870 1655T842 1733Z" /> -<glyph unicode="&#xdd;" horiz-adv-x="1159" d="M580 743L961 1462H1159L672 567V0H487V559L0 1462H201L580 743ZM442 1604Q480 1652 538 1740T637 1907H854V1886Q810 1822 717 1725T561 1579H442V1604Z" /> -<glyph unicode="&#xde;" horiz-adv-x="1239" d="M1135 782Q1135 556 985 437T549 317H383V0H199V1462H383V1208H580Q861 1208 998 1103T1135 782ZM383 473H530Q751 473 847 544T944 772Q944 916 853 983T565 1051H383V473Z" /> -<glyph unicode="&#xdf;" horiz-adv-x="1292" d="M1069 1264Q1069 1125 926 1013Q847 951 815 915T782 844Q782 804 814 771T963 662Q1100 570 1150 492T1200 313Q1200 152 1102 66T819 -20Q632 -20 522 49V211Q586 171 665 148T813 125Q1024 125 1024 301Q1024 -372 984 424T831 547Q713 622 661 684T608 834Q608 897 642 949T748 1055Q822 1110 854 1156T887 1253Q887 1331 821 1374T627 1417Q354 1417 354 1196V0H174V1196Q174 1377 288 1472T627 1567Q837 1567 953 1487T1069 1264Z" /> -<glyph unicode="&#xe0;" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 -748V0H852ZM481 125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125ZM943 1241H822Q747 1301 658 1396T531 1548V1569H746Q778 1503 837 1412T943 1266V1241Z" /> -<glyph unicode="&#xe1;" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 -748V0H852ZM481 125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125ZM436 1266Q474 1314 532 1402T631 1569H848V1548Q804 1484 711 1387T555 1241H436V1266Z" /> -<glyph unicode="&#xe2;" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 -748V0H852ZM481 125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125ZM480 1264Q605 1398 656 1462T732 1569H916Q968 1468 1172 1264V1241H1045Q955 1294 822 1425Q691 1297 603 1241H480V1264Z" /> -<glyph unicode="&#xe3;" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 -748V0H852ZM481 125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125ZM984 1243Q941 1243 900 1261T820 1301T744 1341T673 1360Q624 1360 599 1331T560 1241H456Q468 1363 526 1433T681 1503Q726 1503 768 1485T850 1445T925 -1405T993 1386Q1041 1386 1065 1415T1105 1505H1208Q1196 1386 1138 1315T984 1243Z" /> -<glyph unicode="&#xe4;" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 -748V0H852ZM481 125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125ZM535 1395Q535 1448 563 1471T631 1495Q670 1495 699 1472T728 1395Q728 1342 699 1317T631 1292Q591 1292 563 1317T535 1395ZM920 1395Q920 1448 948 -1471T1014 1495Q1053 1495 1082 1472T1111 1395Q1111 1342 1082 1317T1014 1292Q976 1292 948 1317T920 1395Z" /> -<glyph unicode="&#xe5;" horiz-adv-x="1149" d="M852 0L817 156H809Q727 53 646 17T440 -20Q278 -20 186 65T94 305Q94 639 621 655L807 662V727Q807 852 753 911T580 971Q493 971 416 945T270 887L215 1022Q298 1066 396 1091T590 1116Q789 1116 886 1028T983 -748V0H852ZM481 125Q632 125 718 206T805 438V537L643 530Q454 523 368 470T281 303Q281 217 333 171T481 125ZM1068 1460Q1068 1359 1006 1300T841 1241Q738 1241 678 1299T618 1458Q618 1556 678 1614T841 1673Q942 1673 1005 1614T1068 1460ZM955 1458Q955 1512 -923 1542T841 1573Q791 1573 759 1543T726 1458Q726 1404 755 1374T841 1343Q892 1343 923 1373T955 1458Z" /> -<glyph unicode="&#xe6;" horiz-adv-x="1769" d="M94 305Q94 639 594 655L778 662V731Q778 853 722 912T549 971Q410 971 242 887L186 1022Q257 1062 358 1089T563 1116Q691 1116 773 1075T899 940Q953 1025 1038 1071T1235 1118Q1432 1118 1548 983T1665 627V516H963Q971 -133 1280 133Q1368 133 1445 149T1616 209V51Q1528 12 1452 -4T1274 -20Q983 -20 858 211Q776 87 677 34T442 -20Q278 -20 186 65T94 305ZM281 303Q281 211 333 168T471 125Q611 125 692 206T774 438V537L621 530Q444 523 363 470T281 303ZM1233 971Q1114 971 1046 -891T967 657H1475Q1475 809 1413 890T1233 971Z" /> -<glyph unicode="&#xe7;" horiz-adv-x="983" d="M614 -20Q377 -20 245 125T113 543Q113 819 246 968T627 1118Q707 1118 785 1102T915 1059L860 909Q721 961 623 961Q457 961 378 857T299 545Q299 346 378 241T612 135Q757 135 897 199V39Q783 -20 614 -20ZM766 --285Q766 -384 691 -438T463 -492Q398 -492 361 -481V-369Q397 -379 469 -379Q544 -379 582 -360T621 -289Q621 -200 434 -176L522 0H641L588 -109Q766 -147 766 -285Z" /> -<glyph unicode="&#xe8;" horiz-adv-x="1155" d="M641 -20Q394 -20 254 129T113 541Q113 805 244 961T598 1118Q805 1118 928 985T1051 623V514H299Q304 327 394 230T649 133Q737 133 816 148T1001 209V51Q910 12 830 -4T641 -20ZM596 971Q467 971 392 888T303 -657H862Q860 811 791 891T596 971ZM980 1241H859Q784 1301 695 1396T568 1548V1569H783Q815 1503 874 1412T980 1266V1241Z" /> -<glyph unicode="&#xe9;" horiz-adv-x="1155" d="M641 -20Q394 -20 254 129T113 541Q113 805 244 961T598 1118Q805 1118 928 985T1051 623V514H299Q304 327 394 230T649 133Q737 133 816 148T1001 209V51Q910 12 830 -4T641 -20ZM596 971Q467 971 392 888T303 -657H862Q860 811 791 891T596 971ZM467 1266Q505 1314 563 1402T662 1569H879V1548Q835 1484 742 1387T586 1241H467V1266Z" /> -<glyph unicode="&#xea;" horiz-adv-x="1155" d="M641 -20Q394 -20 254 129T113 541Q113 805 244 961T598 1118Q805 1118 928 985T1051 623V514H299Q304 327 394 230T649 133Q737 133 816 148T1001 209V51Q910 12 830 -4T641 -20ZM596 971Q467 971 392 888T303 -657H862Q860 811 791 891T596 971ZM509 1264Q634 1398 685 1462T761 1569H945Q997 1468 1201 1264V1241H1074Q984 1294 851 1425Q720 1297 632 1241H509V1264Z" /> -<glyph unicode="&#xeb;" horiz-adv-x="1155" d="M641 -20Q394 -20 254 129T113 541Q113 805 244 961T598 1118Q805 1118 928 985T1051 623V514H299Q304 327 394 230T649 133Q737 133 816 148T1001 209V51Q910 12 830 -4T641 -20ZM596 971Q467 971 392 888T303 -657H862Q860 811 791 891T596 971ZM315 1395Q315 1448 343 1471T411 1495Q450 1495 479 1472T508 1395Q508 1342 479 1317T411 1292Q371 1292 343 1317T315 1395ZM700 1395Q700 1448 728 1471T794 1495Q833 1495 862 1472T891 1395Q891 1342 862 1317T794 1292Q756 -1292 728 1317T700 1395Z" /> -<glyph unicode="&#xec;" horiz-adv-x="528" d="M354 0H174V1098H354V0ZM368 1241H247Q172 1301 83 1396T-44 1548V1569H171Q203 1503 262 1412T368 1266V1241Z" /> -<glyph unicode="&#xed;" horiz-adv-x="528" d="M354 0H174V1098H354V0ZM167 1266Q205 1314 263 1402T362 1569H579V1548Q535 1484 442 1387T286 1241H167V1266Z" /> -<glyph unicode="&#xee;" horiz-adv-x="528" d="M354 0H174V1098H354V0ZM-81 1264Q44 1398 95 1462T171 1569H355Q407 1468 611 1264V1241H484Q394 1294 261 1425Q130 1297 42 1241H-81V1264Z" /> -<glyph unicode="&#xef;" horiz-adv-x="528" d="M354 0H174V1098H354V0ZM-22 1395Q-22 1448 6 1471T74 1495Q113 1495 142 1472T171 1395Q171 1342 142 1317T74 1292Q34 1292 6 1317T-22 1395ZM363 1395Q363 1448 391 1471T457 1495Q496 1495 525 1472T554 1395Q554 -1342 525 1317T457 1292Q419 1292 391 1317T363 1395Z" /> -<glyph unicode="&#xf0;" horiz-adv-x="1239" d="M1128 563Q1128 281 995 131T616 -20Q391 -20 252 115T113 477Q113 706 242 837T594 969Q819 969 913 850L922 854Q863 1068 668 1245L401 1092L324 1204L553 1335Q467 1393 369 1444L442 1567Q598 1494 700 1419L936 -1556L1014 1446L811 1329Q962 1189 1045 992T1128 563ZM946 514Q946 657 859 740T621 823Q455 823 375 737T295 471Q295 306 379 217T621 127Q790 127 868 226T946 514Z" /> -<glyph unicode="&#xf1;" horiz-adv-x="1266" d="M922 0V702Q922 836 863 901T676 967Q507 967 431 874T354 569V0H174V1098H319L346 948H356Q407 1029 499 1073T702 1118Q904 1118 1002 1020T1100 715V0H922ZM802 1243Q759 1243 718 1261T638 1301T562 1341T491 -1360Q442 1360 417 1331T378 1241H274Q286 1363 344 1433T499 1503Q544 1503 586 1485T668 1445T743 1405T811 1386Q859 1386 883 1415T923 1505H1026Q1014 1386 956 1315T802 1243Z" /> -<glyph unicode="&#xf2;" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q467 -20 352 49T175 249T113 551Q113 819 247 968T623 1118Q855 1118 991 966T1128 551ZM299 551Q299 344 380 237T621 129Q778 129 860 236T942 551Q942 758 860 862T618 967Q299 -967 299 551ZM1007 1241H886Q811 1301 722 1396T595 1548V1569H810Q842 1503 901 1412T1007 1266V1241Z" /> -<glyph unicode="&#xf3;" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q467 -20 352 49T175 249T113 551Q113 819 247 968T623 1118Q855 1118 991 966T1128 551ZM299 551Q299 344 380 237T621 129Q778 129 860 236T942 551Q942 758 860 862T618 967Q299 -967 299 551ZM477 1266Q515 1314 573 1402T672 1569H889V1548Q845 1484 752 1387T596 1241H477V1266Z" /> -<glyph unicode="&#xf4;" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q467 -20 352 49T175 249T113 551Q113 819 247 968T623 1118Q855 1118 991 966T1128 551ZM299 551Q299 344 380 237T621 129Q778 129 860 236T942 551Q942 758 860 862T618 967Q299 -967 299 551ZM272 1264Q397 1398 448 1462T524 1569H708Q760 1468 964 1264V1241H837Q747 1294 614 1425Q483 1297 395 1241H272V1264Z" /> -<glyph unicode="&#xf5;" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q467 -20 352 49T175 249T113 551Q113 819 247 968T623 1118Q855 1118 991 966T1128 551ZM299 551Q299 344 380 237T621 129Q778 129 860 236T942 551Q942 758 860 862T618 967Q299 -967 299 551ZM1031 1243Q988 1243 947 1261T867 1301T791 1341T720 1360Q671 1360 646 1331T607 1241H503Q515 1363 573 1433T728 1503Q773 1503 815 1485T897 1445T972 1405T1040 1386Q1088 1386 1112 1415T1152 1505H1255Q1243 1386 1185 1315T1031 1243Z" /> -<glyph unicode="&#xf6;" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q467 -20 352 49T175 249T113 551Q113 819 247 968T623 1118Q855 1118 991 966T1128 551ZM299 551Q299 344 380 237T621 129Q778 129 860 236T942 551Q942 758 860 862T618 967Q299 -967 299 551ZM330 1395Q330 1448 358 1471T426 1495Q465 1495 494 1472T523 1395Q523 1342 494 1317T426 1292Q386 1292 358 1317T330 1395ZM715 1395Q715 1448 743 1471T809 1495Q848 1495 877 1472T906 1395Q906 1342 877 1317T809 1292Q771 1292 743 1317T715 -1395Z" /> -<glyph unicode="&#xf7;" horiz-adv-x="1128" d="M102 585V735H1026V585H102ZM449 320Q449 355 458 378T482 417T518 438T563 445Q586 445 607 439T644 417T669 379T678 320Q678 287 669 264T644 225T607 202T563 195Q539 195 519 202T483 224T458 263T449 320ZM449 -1018Q449 1053 458 1076T482 1115T518 1136T563 1143Q586 1143 607 1137T644 1115T669 1077T678 1018Q678 985 669 962T644 923T607 900T563 893Q539 893 519 900T483 922T458 961T449 1018Z" /> -<glyph unicode="&#xf8;" horiz-adv-x="1239" d="M1128 551Q1128 282 992 131T616 -20Q465 -20 352 47L270 -68L152 12L244 139Q113 295 113 551Q113 819 247 968T623 1118Q774 1118 891 1044L971 1159L1092 1081L999 952Q1128 797 1128 551ZM299 551Q299 385 348 -289L799 915Q726 967 618 967Q299 967 299 551ZM942 551Q942 703 895 803L444 176Q513 129 621 129Q778 129 860 236T942 551Z" /> -<glyph unicode="&#xf9;" horiz-adv-x="1266" d="M344 1098V391Q344 258 403 194T588 129Q757 129 834 223T911 526V1098H1092V0H944L918 145H909Q860 66 770 23T561 -20Q363 -20 263 75T162 379V1098H344ZM993 1241H872Q797 1301 708 1396T581 1548V1569H796Q828 -1503 887 1412T993 1266V1241Z" /> -<glyph unicode="&#xfa;" horiz-adv-x="1266" d="M344 1098V391Q344 258 403 194T588 129Q757 129 834 223T911 526V1098H1092V0H944L918 145H909Q860 66 770 23T561 -20Q363 -20 263 75T162 379V1098H344ZM504 1266Q542 1314 600 1402T699 1569H916V1548Q872 1484 -779 1387T623 1241H504V1266Z" /> -<glyph unicode="&#xfb;" horiz-adv-x="1266" d="M344 1098V391Q344 258 403 194T588 129Q757 129 834 223T911 526V1098H1092V0H944L918 145H909Q860 66 770 23T561 -20Q363 -20 263 75T162 379V1098H344ZM280 1264Q405 1398 456 1462T532 1569H716Q768 1468 972 -1264V1241H845Q755 1294 622 1425Q491 1297 403 1241H280V1264Z" /> -<glyph unicode="&#xfc;" horiz-adv-x="1266" d="M344 1098V391Q344 258 403 194T588 129Q757 129 834 223T911 526V1098H1092V0H944L918 145H909Q860 66 770 23T561 -20Q363 -20 263 75T162 379V1098H344ZM338 1395Q338 1448 366 1471T434 1495Q473 1495 502 1472T531 -1395Q531 1342 502 1317T434 1292Q394 1292 366 1317T338 1395ZM723 1395Q723 1448 751 1471T817 1495Q856 1495 885 1472T914 1395Q914 1342 885 1317T817 1292Q779 1292 751 1317T723 1395Z" /> -<glyph unicode="&#xfd;" horiz-adv-x="1044" d="M2 1098H195L432 473Q507 269 524 174H532Q541 211 573 312T627 475L850 1098H1044L571 -152Q502 -334 407 -413T172 -492Q97 -492 23 -475V-332Q73 -344 143 -344Q229 -344 289 -297T387 -150L444 -4L2 1098ZM410 -1266Q448 1314 506 1402T605 1569H822V1548Q778 1484 685 1387T529 1241H410V1266Z" /> -<glyph unicode="&#xfe;" horiz-adv-x="1260" d="M356 950Q423 1041 506 1079T696 1118Q909 1118 1028 969T1147 551Q1147 282 1028 131T696 -20Q474 -20 354 139H342Q354 7 354 -33V-492H174V1556H354V1098Q354 1028 348 950H356ZM666 967Q505 967 431 878T354 -590V551Q354 328 428 229T668 129Q961 129 961 553Q961 761 890 864T666 967Z" /> -<glyph unicode="&#xff;" horiz-adv-x="1044" d="M2 1098H195L432 473Q507 269 524 174H532Q541 211 573 312T627 475L850 1098H1044L571 -152Q502 -334 407 -413T172 -492Q97 -492 23 -475V-332Q73 -344 143 -344Q229 -344 289 -297T387 -150L444 -4L2 1098ZM490 -1395Q490 1448 518 1471T586 1495Q625 1495 654 1472T683 1395Q683 1342 654 1317T586 1292Q546 1292 518 1317T490 1395ZM875 1395Q875 1448 903 1471T969 1495Q1008 1495 1037 1472T1066 1395Q1066 1342 1037 1317T969 1292Q931 1292 903 1317T875 1395Z" /> -<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 535V703H942V535H82Z" /> -<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 535V703H1966V535H82Z" /> -<glyph unicode="&#x2018;" horiz-adv-x="639" d="M182 992L168 1014Q182 1068 201 1129T244 1252T293 1375T344 1493H481Q466 1432 452 1366T424 1235T400 1107T381 992H182Z" /> -<glyph unicode="&#x2019;" horiz-adv-x="638" d="M465 1493L479 1471Q465 1416 446 1356T403 1233T354 1109T303 992H166Q180 1052 194 1118T222 1250T247 1378T266 1493H465Z" /> -<glyph unicode="&#x201a;" horiz-adv-x="512" d="M358 238L373 215Q325 29 197 -264H63Q130 -5 166 238H358Z" /> -<glyph unicode="&#x201c;" horiz-adv-x="1023" d="M568 992L554 1014Q568 1068 587 1129T630 1252T679 1375T730 1493H867Q852 1432 838 1366T810 1235T786 1107T767 992H568ZM183 992L169 1014Q183 1068 202 1129T245 1252T294 1375T345 1493H482Q467 1432 453 -1366T425 1235T401 1107T382 992H183Z" /> -<glyph unicode="&#x201d;" horiz-adv-x="1023" d="M465 1493L479 1471Q465 1416 446 1356T403 1233T354 1109T303 992H166Q180 1052 194 1118T222 1250T247 1378T266 1493H465ZM850 1493L864 1471Q850 1416 831 1356T788 1233T739 1109T688 992H551Q565 1052 579 -1118T607 1250T632 1378T651 1493H850Z" /> -<glyph unicode="&#x201e;" horiz-adv-x="852" d="M322 238L336 215Q288 29 160 -264H27Q92 -14 129 238H322ZM700 238L715 215Q667 29 539 -264H403Q430 -160 461 -13T508 238H700Z" /> -<glyph unicode="&#x2022;" horiz-adv-x="770" d="M158 748Q158 870 216 935T385 1001Q495 1001 553 936T612 748Q612 626 553 560T385 494Q275 494 217 560T158 748Z" /> -<glyph unicode="&#x2039;" horiz-adv-x="635" d="M82 553L426 965L555 891L268 541L555 190L426 115L82 526V553Z" /> -<glyph unicode="&#x203a;" horiz-adv-x="635" d="M553 526L207 115L80 190L367 541L80 891L207 965L553 553V526Z" /> -</font> -</defs> -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf deleted file mode 100755 index a83bbf9..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff deleted file mode 100755 index 17c8500..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2 b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2 deleted file mode 100755 index a87d9cd..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2 and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/img/logo.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/img/logo.png deleted file mode 100644 index 93e608e..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/img/logo.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/js/scale.fix.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/js/scale.fix.js deleted file mode 100644 index 911d33c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-minimal-0.2.0/assets/js/scale.fix.js +++ /dev/null @@ -1,27 +0,0 @@ -(function(document) { - var metas = document.getElementsByTagName('meta'), - changeViewportContent = function(content) { - for (var i = 0; i < metas.length; i++) { - if (metas[i].name == "viewport") { - metas[i].content = content; - } - } - }, - initialize = function() { - changeViewportContent("width=device-width, minimum-scale=1.0, maximum-scale=1.0"); - }, - gestureStart = function() { - changeViewportContent("width=device-width, minimum-scale=0.25, maximum-scale=1.6"); - }, - gestureEnd = function() { - initialize(); - }; - - - if (navigator.userAgent.match(/iPhone/i)) { - initialize(); - - document.addEventListener("touchstart", gestureStart, false); - document.addEventListener("touchend", gestureEnd, false); - } -})(document); diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/README.md deleted file mode 100644 index ef0ec03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Modernist theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/modernist/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/modernist/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-modernist.svg)](https://badge.fury.io/rb/jekyll-theme-modernist) - -*Modernist is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/modernist), or even [use it today](#usage).* - -![Thumbnail of Modernist](thumbnail.png) - -## Usage - -To use the Modernist theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/modernist@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Modernist will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/modernist/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/modernist/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/modernist/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/modernist/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/modernist/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Modernist theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Modernist? We'd love your help. Modernist is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/modernist`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_layouts/default.html deleted file mode 100644 index f77a03a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_layouts/default.html +++ /dev/null @@ -1,49 +0,0 @@ -<!doctype html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - -{% seo %} - - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - <script src="{{ '/assets/js/scale.fix.js' | relative_url }}"></script> - <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - {% include head-custom.html %} - </head> - <body> - <div class="wrapper"> - <header {% unless site.description or site.github.project_tagline %} class="without-description" {% endunless %}> - <h1>{{ site.title | default: site.github.repository_name }}</h1> - {% if site.description or site.github.project_tagline %} - <p>{{ site.description | default: site.github.project_tagline }}</p> - {% endif %} - <p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ github_name }}</small></a></p> - <ul> - {% if site.show_downloads %} - <li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li> - <li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li> - {% endif %} - <li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li> - </ul> - </header> - <section> - - {{ content }} - - </section> - </div> - <footer> - {% if site.github.is_project_page %} - <p>Project maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p> - {% endif %} - <p>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></p> - </footer> - <!--[if !IE]><script>fixScale(document);</script><![endif]--> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/jekyll-theme-modernist.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/jekyll-theme-modernist.scss deleted file mode 100644 index e995b27..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/jekyll-theme-modernist.scss +++ /dev/null @@ -1,345 +0,0 @@ -@import "rouge-base16-dark"; -@import url('https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700'); - -html { - background:#6C7989; - background: #6C7989 linear-gradient(#6C7989, #434B55) fixed; - height: 100%; -} - -body { - padding:50px 0; - margin:0; - font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; - color:#555; - font-weight:300; - background:url('../images/checker.png') fixed; - min-height: calc(100% - 100px); -} - -.wrapper { - width:740px; - margin:0 auto; - background:#DEDEDE; - border-radius: 8px; - box-shadow: rgba(#000, 0.2) 0 0 0 1px, rgba(#000, 0.45) 0 3px 10px; -} - -header, section, footer { - display:block; -} - -a { - color:#069; - text-decoration:none; -} - -p { - margin:0 0 20px; - padding:0; -} - -strong { - color:#222; - font-weight:700; -} - -header { - border-radius: 8px 8px 0 0; - background:#C6EAFA; - background: linear-gradient(#DDFBFC, #C6EAFA); - position:relative; - padding:15px 20px; - border-bottom:1px solid #B2D2E1; - - h1 { - margin:0; - padding:0; - font-size:24px; - line-height:1.2; - color:#069; - text-shadow:rgba(#fff, 0.9) 0 1px 0; - } - - &.without-description h1 { - margin:10px 0; - } - - p { - margin:0; - color:#61778B; - width:300px; - font-size:13px; - - &.view { - display:none; - font-weight:700; - text-shadow:rgba(#fff, 0.9) 0 1px 0; - -webkit-font-smoothing:antialiased; - - a { - color:#06c; - } - - small { - font-weight:400; - } - } - } - - ul { - margin:0; - padding:0; - list-style:none; - position:absolute; - z-index:1; - right:20px; - top:20px; - height:38px; - padding:1px 0; - background:#5198DF; - background: linear-gradient(#77B9FB, #3782CD); - border-radius:5px; - box-shadow: inset rgba(#fff, 0.45) 0 1px 0, inset rgba(#000, 0.2) 0 -1px 0; - width:auto; - - &:before { - content:''; - position:absolute; - z-index:-1; - left:-5px; - top:-4px; - right:-5px; - bottom:-6px; - background:rgba(#000, 0.1); - border-radius: 8px; - box-shadow: rgba(#000, 0.2) 0 -1px 0, inset rgba(#fff, 0.7) 0 -1px 0; - } - - li { - width:79px; - float:left; - border-right:1px solid #3A7CBE; - height:38px; - - &.single { - border:none; - } - } - - li + li { - width:78px; - border-left:1px solid #8BBEF3; - } - - li + li + li { - border-right:none; - width:79px; - } - - a { - line-height:1; - font-size:11px; - color:#fff; - color:rgba(#fff, 0.8); - display:block; - text-align:center; - font-weight:400; - padding-top:6px; - height:40px; - text-shadow:rgba(#000, 0.4) 0 -1px 0; - - strong { - font-size:14px; - display:block; - color:#fff; - -webkit-font-smoothing:antialiased; - } - } - } -} - -section { - padding:15px 20px; - font-size:15px; - border-top:1px solid #fff; - background: linear-gradient(#fafafa, #DEDEDE 700px); - border-radius: 0 0 8px 8px; - position:relative; -} - -h1, h2, h3, h4, h5, h6 { - color:#222; - padding:0; - margin:0 0 20px; - line-height:1.2; -} - -p, ul, ol, table, pre, dl { - margin:0 0 20px; -} - -h1, h2, h3 { - line-height:1.1; -} - -h1 { - font-size:28px; -} - -h2 { - color:#393939; -} - -h3, h4, h5, h6 { - color:#494949; -} - -blockquote { - margin:0 -20px 20px; - padding:15px 20px 1px 40px; - font-style:italic; - background:#ccc; - background:rgba(#000, 0.06); - color:#222; -} - -img { - max-width:100%; -} - -code, pre { - font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; - color:#333; - font-size:12px; - overflow-x:auto; -} - -pre { - padding:20px; - background: #3A3C42; - color:#f8f8f2; - margin:0 -20px 20px; - - code { - color:#f8f8f2; - } - - li & { - margin-left:-60px; - padding-left:60px; - } -} - -table { - width:100%; - border-collapse:collapse; -} - -th, td { - text-align:left; - padding:5px 10px; - border-bottom:1px solid #aaa; -} - -dt { - color:#222; - font-weight:700; -} - -th { - color:#222; -} - -small { - font-size:11px; -} - -hr { - border:0; - background:#aaa; - height:1px; - margin:0 0 20px; -} - -kbd { - background-color: #fafbfc; - border: 1px solid #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; - color: #444d56; - display: inline-block; - font-size: 11px; - line-height: 10px; - padding: 3px 5px; - vertical-align: middle; -} - -footer { - width:640px; - margin:0 auto; - padding:20px 0 0; - color:#ccc; - overflow:hidden; - - a { - color:#fff; - font-weight:bold; - } - - p { - float:left; - } - - p + p { - float:right; - } -} - -@media print, screen and (max-width: 740px) { - body { - padding:0; - } - - .wrapper { - border-radius: 0; - box-shadow: none; - width:100%; - } - - footer { - border-radius: 0; - padding:20px; - width:auto; - - p { - float:none; - margin:0; - } - - p + p { - float:none; - } - } -} - -@media print, screen and (max-width:580px) { - header ul { - display:none; - } - - header p.view { - display:block; - } - - header p { - width:100%; - } -} - -@media print { - header p.view a small:before { - content:'at https://github.com/'; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/modernist.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/modernist.scss deleted file mode 100644 index 2d42aed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/modernist.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-modernist"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/rouge-base16-dark.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/rouge-base16-dark.scss deleted file mode 100644 index c303bd5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/_sass/rouge-base16-dark.scss +++ /dev/null @@ -1,81 +0,0 @@ -/* - generated by rouge http://rouge.jneen.net/ - original base16 by Chris Kempson (https://github.com/chriskempson/base16) -*/ - -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight, .highlight .w { - color: #d0d0d0; -} -.highlight .err { - color: #151515; - background-color: #ac4142; -} -.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { - color: #888; -} -.highlight .cp { - color: #f4bf75; -} -.highlight .nt { - color: #f4bf75; -} -.highlight .o, .highlight .ow { - color: #d0d0d0; -} -.highlight .p, .highlight .pi { - color: #d0d0d0; -} -.highlight .gi { - color: #90a959; -} -.highlight .gd { - color: #ac4142; -} -.highlight .gh { - color: #6a9fb5; - font-weight: bold; -} -.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { - color: #aa759f; -} -.highlight .kc { - color: #d28445; -} -.highlight .kt { - color: #d28445; -} -.highlight .kd { - color: #d28445; -} -.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { - color: #90a959; -} -.highlight .sr { - color: #75b5aa; -} -.highlight .si { - color: #8f5536; -} -.highlight .se { - color: #8f5536; -} -.highlight .nn { - color: #f4bf75; -} -.highlight .nc { - color: #f4bf75; -} -.highlight .no { - color: #f4bf75; -} -.highlight .na { - color: #6a9fb5; -} -.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { - color: #90a959; -} -.highlight .ss { - color: #90a959; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/css/style.scss deleted file mode 100644 index 0c6fbca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-modernist"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/images/checker.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/images/checker.png deleted file mode 100644 index 7a65b23..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/images/checker.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/js/scale.fix.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/js/scale.fix.js deleted file mode 100644 index 08716c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-modernist-0.2.0/assets/js/scale.fix.js +++ /dev/null @@ -1,20 +0,0 @@ -fixScale = function(doc) { - - var addEvent = 'addEventListener', - type = 'gesturestart', - qsa = 'querySelectorAll', - scales = [1, 1], - meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []; - - function fix() { - meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1]; - doc.removeEventListener(type, fix, true); - } - - if ((meta = meta[meta.length - 1]) && addEvent in doc) { - fix(); - scales = [.25, 1.6]; - doc[addEvent](type, fix, true); - } - -}; \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/LICENSE.md deleted file mode 100644 index d96f51c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016-2017 GitHub, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/README.md deleted file mode 100644 index e1fae69..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Primer theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/primer/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/primer/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-primer.svg)](https://badge.fury.io/rb/jekyll-theme-primer) - -*Primer is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/primer), or even [use it today](#usage).* - -![Thumbnail of Primer](thumbnail.png) - -## Usage - -To use the Primer theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/primer@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Primer will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/primer/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/primer/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/primer/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/primer/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/primer/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Primer theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Primer? We'd love your help. Primer is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/primer`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/.gitkeep b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/default.html deleted file mode 100644 index f6949b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/default.html +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - -{% seo %} - <link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}"> - {% include head-custom.html %} - </head> - <body> - <div class="container-lg px-3 my-5 markdown-body"> - {% if site.title and site.title != page.title %} - <h1><a href="{{ "/" | absolute_url }}">{{ site.title }}</a></h1> - {% endif %} - - {{ content }} - - {% if site.github.private != true and site.github.license %} - <div class="footer border-top border-gray-light mt-5 pt-3 text-right text-gray"> - This site is open source. {% github_edit_link "Improve this page" %}. - </div> - {% endif %} - </div> - <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js" integrity="sha256-lZaRhKri35AyJSypXXs4o6OPFTbTmUoltBbDCbdzegg=" crossorigin="anonymous"></script> - <script>anchors.add();</script> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/home.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/home.html deleted file mode 100644 index 4141e72..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/home.html +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: default ---- -{{ content }} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/page.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/page.html deleted file mode 100644 index 4141e72..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/page.html +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: default ---- -{{ content }} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/post.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/post.html deleted file mode 100644 index 4141e72..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_layouts/post.html +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: default ---- -{{ content }} \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/jekyll-theme-primer.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/jekyll-theme-primer.scss deleted file mode 100644 index b523a9a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/jekyll-theme-primer.scss +++ /dev/null @@ -1,7 +0,0 @@ - -@import "primer-support/index.scss"; -@import "primer-base/index.scss"; -@import "primer-utilities/index.scss"; -@import "primer-layout/index.scss"; -@import "primer-markdown/index.scss"; -@import "rouge"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-base/index.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-base/index.scss deleted file mode 100644 index 2ce815d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-base/index.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import "primer-support/index.scss"; - -@import "./lib/normalize.scss"; -@import "./lib/base.scss"; -@import "./lib/typography-base.scss"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-layout/index.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-layout/index.scss deleted file mode 100644 index 43a0d3e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-layout/index.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import "primer-support/index.scss"; -@import "./lib/container.scss"; -@import "./lib/columns.scss"; -@import "./lib/grid.scss"; -@import "./lib/grid-offset.scss"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-markdown/index.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-markdown/index.scss deleted file mode 100644 index 064e775..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-markdown/index.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import "primer-support/index.scss"; -@import "./lib/markdown-body.scss"; -@import "./lib/headings.scss"; -@import "./lib/lists.scss"; -@import "./lib/tables.scss"; -@import "./lib/images.scss"; -@import "./lib/code.scss"; -@import "./lib/blob-csv.scss"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-support/index.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-support/index.scss deleted file mode 100644 index 1b5abdd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-support/index.scss +++ /dev/null @@ -1,11 +0,0 @@ -// variables -@import "./lib/variables/typography.scss"; -@import "./lib/variables/colors.scss"; -@import "./lib/variables/layout.scss"; -@import "./lib/variables/misc.scss"; - -// mixins -@import "./lib/mixins/typography.scss"; -@import "./lib/mixins/layout.scss"; -@import "./lib/mixins/buttons.scss"; -@import "./lib/mixins/misc.scss"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-utilities/index.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-utilities/index.scss deleted file mode 100644 index 307b6de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer-utilities/index.scss +++ /dev/null @@ -1,14 +0,0 @@ -@import "primer-support/index.scss"; -// utilities -@import "./lib/animations.scss"; -@import "./lib/borders.scss"; -@import "./lib/box-shadow.scss"; -@import "./lib/colors.scss"; -@import "./lib/details.scss"; -@import "./lib/flexbox.scss"; -@import "./lib/layout.scss"; -@import "./lib/margin.scss"; -@import "./lib/padding.scss"; -@import "./lib/typography.scss"; -// Visibility and display should always come last in the imports so that they override other utilities with !important -@import "./lib/visibility-display.scss"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer.scss deleted file mode 100644 index 030d9af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/primer.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-primer"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/rouge.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/rouge.scss deleted file mode 100644 index daf76ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/_sass/rouge.scss +++ /dev/null @@ -1,209 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight .cm { - color: #999988; - font-style: italic; -} -.highlight .cp { - color: #999999; - font-weight: bold; -} -.highlight .c1 { - color: #999988; - font-style: italic; -} -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; -} -.highlight .c, .highlight .cd { - color: #999988; - font-style: italic; -} -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} -.highlight .ge { - color: #000000; - font-style: italic; -} -.highlight .gr { - color: #aa0000; -} -.highlight .gh { - color: #999999; -} -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} -.highlight .go { - color: #888888; -} -.highlight .gp { - color: #555555; -} -.highlight .gs { - font-weight: bold; -} -.highlight .gu { - color: #aaaaaa; -} -.highlight .gt { - color: #aa0000; -} -.highlight .kc { - color: #000000; - font-weight: bold; -} -.highlight .kd { - color: #000000; - font-weight: bold; -} -.highlight .kn { - color: #000000; - font-weight: bold; -} -.highlight .kp { - color: #000000; - font-weight: bold; -} -.highlight .kr { - color: #000000; - font-weight: bold; -} -.highlight .kt { - color: #445588; - font-weight: bold; -} -.highlight .k, .highlight .kv { - color: #000000; - font-weight: bold; -} -.highlight .mf { - color: #009999; -} -.highlight .mh { - color: #009999; -} -.highlight .il { - color: #009999; -} -.highlight .mi { - color: #009999; -} -.highlight .mo { - color: #009999; -} -.highlight .m, .highlight .mb, .highlight .mx { - color: #009999; -} -.highlight .sb { - color: #d14; -} -.highlight .sc { - color: #d14; -} -.highlight .sd { - color: #d14; -} -.highlight .s2 { - color: #d14; -} -.highlight .se { - color: #d14; -} -.highlight .sh { - color: #d14; -} -.highlight .si { - color: #d14; -} -.highlight .sx { - color: #d14; -} -.highlight .sr { - color: #009926; -} -.highlight .s1 { - color: #d14; -} -.highlight .ss { - color: #990073; -} -.highlight .s { - color: #d14; -} -.highlight .na { - color: #008080; -} -.highlight .bp { - color: #999999; -} -.highlight .nb { - color: #0086B3; -} -.highlight .nc { - color: #445588; - font-weight: bold; -} -.highlight .no { - color: #008080; -} -.highlight .nd { - color: #3c5d5d; - font-weight: bold; -} -.highlight .ni { - color: #800080; -} -.highlight .ne { - color: #990000; - font-weight: bold; -} -.highlight .nf { - color: #990000; - font-weight: bold; -} -.highlight .nl { - color: #990000; - font-weight: bold; -} -.highlight .nn { - color: #555555; -} -.highlight .nt { - color: #000080; -} -.highlight .vc { - color: #008080; -} -.highlight .vg { - color: #008080; -} -.highlight .vi { - color: #008080; -} -.highlight .nv { - color: #008080; -} -.highlight .ow { - color: #000000; - font-weight: bold; -} -.highlight .o { - color: #000000; - font-weight: bold; -} -.highlight .w { - color: #bbbbbb; -} -.highlight { - background-color: #f8f8f8; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/assets/css/style.scss deleted file mode 100644 index b3ff9ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-primer-0.6.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-primer"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/README.md deleted file mode 100644 index d49c671..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Slate theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/slate/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/slate/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-slate.svg)](https://badge.fury.io/rb/jekyll-theme-slate) - -*Slate is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/slate), or even [use it today](#usage).* - -![Thumbnail of Slate](thumbnail.png) - -## Usage - -To use the Slate theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/slate@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Slate will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/slate/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/slate/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/slate/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/slate/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/slate/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Slate theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Slate? We'd love your help. Slate is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/slate`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_layouts/default.html deleted file mode 100644 index 7cdf2bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_layouts/default.html +++ /dev/null @@ -1,52 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - - <head> - <meta charset='utf-8'> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width,maximum-scale=2"> - <link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - -{% seo %} - {% include head-custom.html %} - </head> - - <body> - - <!-- HEADER --> - <div id="header_wrap" class="outer"> - <header class="inner"> - {% if site.github.is_project_page %} - <a id="forkme_banner" href="{{ site.github.repository_url }}">View on GitHub</a> - {% endif %} - - <h1 id="project_title">{{ site.title | default: site.github.repository_name }}</h1> - <h2 id="project_tagline">{{ site.description | default: site.github.project_tagline }}</h2> - - {% if site.show_downloads %} - <section id="downloads"> - <a class="zip_download_link" href="{{ site.github.zip_url }}">Download this project as a .zip file</a> - <a class="tar_download_link" href="{{ site.github.tar_url }}">Download this project as a tar.gz file</a> - </section> - {% endif %} - </header> - </div> - - <!-- MAIN CONTENT --> - <div id="main_content_wrap" class="outer"> - <section id="main_content" class="inner"> - {{ content }} - </section> - </div> - - <!-- FOOTER --> - <div id="footer_wrap" class="outer"> - <footer class="inner"> - {% if site.github.is_project_page %} - <p class="copyright">{{ site.title | default: site.github.repository_name }} maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p> - {% endif %} - <p>Published with <a href="https://pages.github.com">GitHub Pages</a></p> - </footer> - </div> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/jekyll-theme-slate.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/jekyll-theme-slate.scss deleted file mode 100644 index b721960..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/jekyll-theme-slate.scss +++ /dev/null @@ -1,488 +0,0 @@ -@import "rouge-github"; - -/******************************************************************************* -MeyerWeb Reset -*******************************************************************************/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font: inherit; - vertical-align: baseline; -} - -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} - -ol, ul { - list-style: none; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -/******************************************************************************* -Theme Styles -*******************************************************************************/ - -body { - box-sizing: border-box; - color:#373737; - background: #212121; - font-size: 16px; - font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; - line-height: 1.5; - -webkit-font-smoothing: antialiased; -} - -h1, h2, h3, h4, h5, h6 { - margin: 10px 0; - font-weight: 700; - color:#222222; - font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; - letter-spacing: -1px; -} - -h1 { - font-size: 36px; - font-weight: 700; -} - -h2 { - padding-bottom: 10px; - font-size: 32px; - background: url('../images/bg_hr.png') repeat-x bottom; -} - -h3 { - font-size: 24px; -} - -h4 { - font-size: 21px; -} - -h5 { - font-size: 18px; -} - -h6 { - font-size: 16px; -} - -p { - margin: 10px 0 15px 0; -} - -footer p { - color: #f2f2f2; -} - -a { - text-decoration: none; - color: #0F79D0; - text-shadow: none; - - transition: color 0.5s ease; - transition: text-shadow 0.5s ease; - -webkit-transition: color 0.5s ease; - -webkit-transition: text-shadow 0.5s ease; - -moz-transition: color 0.5s ease; - -moz-transition: text-shadow 0.5s ease; - -o-transition: color 0.5s ease; - -o-transition: text-shadow 0.5s ease; - -ms-transition: color 0.5s ease; - -ms-transition: text-shadow 0.5s ease; -} - -a:hover, a:focus { - text-decoration: underline; -} - -footer a { - color: #F2F2F2; - text-decoration: underline; -} - -em, cite { - font-style: italic; -} - -strong { - font-weight: bold; -} - -img { - position: relative; - margin: 0 auto; - max-width: 739px; - padding: 5px; - margin: 10px 0 10px 0; - border: 1px solid #ebebeb; - - box-shadow: 0 0 5px #ebebeb; - -webkit-box-shadow: 0 0 5px #ebebeb; - -moz-box-shadow: 0 0 5px #ebebeb; - -o-box-shadow: 0 0 5px #ebebeb; - -ms-box-shadow: 0 0 5px #ebebeb; -} - -p img { - display: inline; - margin: 0; - padding: 0; - vertical-align: middle; - text-align: center; - border: none; -} - -pre, code { - color: #222; - background-color: #fff; - - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 0.875em; - - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; -} - -pre { - padding: 10px; - box-shadow: 0 0 10px rgba(0,0,0,.1); - overflow: auto; -} - -code { - padding: 3px; - margin: 0 3px; - box-shadow: 0 0 10px rgba(0,0,0,.1); -} - -pre code { - display: block; - box-shadow: none; -} - -blockquote { - color: #666; - margin-bottom: 20px; - padding: 0 0 0 20px; - border-left: 3px solid #bbb; -} - - -ul, ol, dl { - margin-bottom: 15px -} - -ul { - list-style-position: inside; - list-style: disc; - padding-left: 20px; -} - -ol { - list-style-position: inside; - list-style: decimal; - padding-left: 20px; -} - -dl dt { - font-weight: bold; -} - -dl dd { - padding-left: 20px; - font-style: italic; -} - -dl p { - padding-left: 20px; - font-style: italic; -} - -hr { - height: 1px; - margin-bottom: 5px; - border: none; - background: url('../images/bg_hr.png') repeat-x center; -} - -table { - border: 1px solid #373737; - margin-bottom: 20px; - text-align: left; - } - -th { - font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; - padding: 10px; - background: #373737; - color: #fff; - } - -td { - padding: 10px; - border: 1px solid #373737; - } - -form { - background: #f2f2f2; - padding: 20px; -} - -kbd { - background-color: #fafbfc; - border: 1px solid #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; - color: #444d56; - display: inline-block; - font-size: 11px; - line-height: 11px; - padding: 3px 5px; - vertical-align: middle; -} - -/******************************************************************************* -Full-Width Styles -*******************************************************************************/ - -.outer { - width: 100%; -} - -.inner { - position: relative; - max-width: 640px; - padding: 20px 10px; - margin: 0 auto; -} - -#forkme_banner { - display: block; - position: absolute; - top:0; - right: 10px; - z-index: 10; - padding: 10px 50px 10px 10px; - color: #fff; - background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; - font-weight: 700; - box-shadow: 0 0 10px rgba(0,0,0,.5); - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; -} - -#header_wrap { - background: #212121; - background: -moz-linear-gradient(top, #373737, #212121); - background: -webkit-linear-gradient(top, #373737, #212121); - background: -ms-linear-gradient(top, #373737, #212121); - background: -o-linear-gradient(top, #373737, #212121); - background: linear-gradient(to top, #373737, #212121); -} - -#header_wrap .inner { - padding: 50px 10px 30px 10px; -} - -#project_title { - margin: 0; - color: #fff; - font-size: 42px; - font-weight: 700; - text-shadow: #111 0px 0px 10px; -} - -#project_tagline { - color: #fff; - font-size: 24px; - font-weight: 300; - background: none; - text-shadow: #111 0px 0px 10px; -} - -#downloads { - position: absolute; - width: 210px; - z-index: 10; - bottom: -40px; - right: 0; - height: 70px; - background: url('../images/icon_download.png') no-repeat 0% 90%; -} - -.zip_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom left; -} - -.tar_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom right; - margin-left: 10px; -} - -.zip_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top left; -} - -.tar_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top right; -} - -#main_content_wrap { - background: #f2f2f2; - border-top: 1px solid #111; - border-bottom: 1px solid #111; -} - -#main_content { - padding-top: 40px; -} - -#footer_wrap { - background: #212121; -} - - - -/******************************************************************************* -Small Device Styles -*******************************************************************************/ - -@media screen and (max-width: 992px) { - img { - max-width: 100%; - } -} - -@media screen and (max-width: 480px) { - body { - font-size:14px; - } - - #downloads { - display: none; - } - - .inner { - min-width: 320px; - max-width: 480px; - } - - #project_title { - font-size: 32px; - } - - h1 { - font-size: 28px; - } - - h2 { - font-size: 24px; - } - - h3 { - font-size: 21px; - } - - h4 { - font-size: 18px; - } - - h5 { - font-size: 14px; - } - - h6 { - font-size: 12px; - } - - code, pre { - font-size: 11px; - } - -} - -@media screen and (max-width: 320px) { - body { - font-size:14px; - } - - #downloads { - display: none; - } - - .inner { - min-width: 240px; - max-width: 320px; - } - - #project_title { - font-size: 28px; - } - - h1 { - font-size: 24px; - } - - h2 { - font-size: 21px; - } - - h3 { - font-size: 18px; - } - - h4 { - font-size: 16px; - } - - h5 { - font-size: 14px; - } - - h6 { - font-size: 12px; - } - - code, pre { - min-width: 240px; - max-width: 320px; - font-size: 11px; - } - -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/rouge-github.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/rouge-github.scss deleted file mode 100644 index bd7fc73..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/rouge-github.scss +++ /dev/null @@ -1,209 +0,0 @@ -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight .cm { - color: #777772; - font-style: italic; -} -.highlight .cp { - color: #797676; - font-weight: bold; -} -.highlight .c1 { - color: #777772; - font-style: italic; -} -.highlight .cs { - color: #797676; - font-weight: bold; - font-style: italic; -} -.highlight .c, .highlight .cd { - color: #777772; - font-style: italic; -} -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} -.highlight .ge { - color: #000000; - font-style: italic; -} -.highlight .gr { - color: #aa0000; -} -.highlight .gh { - color: #797676; -} -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} -.highlight .go { - color: #888888; -} -.highlight .gp { - color: #555555; -} -.highlight .gs { - font-weight: bold; -} -.highlight .gu { - color: #aaaaaa; -} -.highlight .gt { - color: #aa0000; -} -.highlight .kc { - color: #000000; - font-weight: bold; -} -.highlight .kd { - color: #000000; - font-weight: bold; -} -.highlight .kn { - color: #000000; - font-weight: bold; -} -.highlight .kp { - color: #000000; - font-weight: bold; -} -.highlight .kr { - color: #000000; - font-weight: bold; -} -.highlight .kt { - color: #445588; - font-weight: bold; -} -.highlight .k, .highlight .kv { - color: #000000; - font-weight: bold; -} -.highlight .mf { - color: #009999; -} -.highlight .mh { - color: #009999; -} -.highlight .il { - color: #009999; -} -.highlight .mi { - color: #009999; -} -.highlight .mo { - color: #009999; -} -.highlight .m, .highlight .mb, .highlight .mx { - color: #009999; -} -.highlight .sb { - color: #d14; -} -.highlight .sc { - color: #d14; -} -.highlight .sd { - color: #d14; -} -.highlight .s2 { - color: #d14; -} -.highlight .se { - color: #d14; -} -.highlight .sh { - color: #d14; -} -.highlight .si { - color: #d14; -} -.highlight .sx { - color: #d14; -} -.highlight .sr { - color: #009926; -} -.highlight .s1 { - color: #d14; -} -.highlight .ss { - color: #990073; -} -.highlight .s { - color: #d14; -} -.highlight .na { - color: #008080; -} -.highlight .bp { - color: #797676; -} -.highlight .nb { - color: #0086B3; -} -.highlight .nc { - color: #445588; - font-weight: bold; -} -.highlight .no { - color: #008080; -} -.highlight .nd { - color: #3c5d5d; - font-weight: bold; -} -.highlight .ni { - color: #800080; -} -.highlight .ne { - color: #990000; - font-weight: bold; -} -.highlight .nf { - color: #990000; - font-weight: bold; -} -.highlight .nl { - color: #990000; - font-weight: bold; -} -.highlight .nn { - color: #555555; -} -.highlight .nt { - color: #000080; -} -.highlight .vc { - color: #008080; -} -.highlight .vg { - color: #008080; -} -.highlight .vi { - color: #008080; -} -.highlight .nv { - color: #008080; -} -.highlight .ow { - color: #000000; - font-weight: bold; -} -.highlight .o { - color: #000000; - font-weight: bold; -} -.highlight .w { - color: #bbbbbb; -} -.highlight { - background-color: #f8f8f8; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/slate.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/slate.scss deleted file mode 100644 index 8e0c330..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/_sass/slate.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-slate"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/css/style.scss deleted file mode 100644 index cdc2e1d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-slate"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/bg_hr.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/bg_hr.png deleted file mode 100644 index 514aee5..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/bg_hr.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/blacktocat.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/blacktocat.png deleted file mode 100644 index e160053..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/blacktocat.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/icon_download.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/icon_download.png deleted file mode 100644 index 5a793f1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/icon_download.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/sprite_download.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/sprite_download.png deleted file mode 100644 index f9f8de2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-slate-0.2.0/assets/images/sprite_download.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/README.md deleted file mode 100644 index fd57e27..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Tactile theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/tactile/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/tactile/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-tactile.svg)](https://badge.fury.io/rb/jekyll-theme-tactile) - -*Tactile is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/tactile), or even [use it today](#usage).* - -![Thumbnail of Tactile](thumbnail.png) - -## Usage - -To use the Tactile theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/tactile@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Tactile will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/tactile/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/tactile/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/tactile/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/tactile/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/tactile/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Tactile theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Tactile? We'd love your help. Tactile is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/tactile`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_layouts/default.html deleted file mode 100644 index 336a493..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_layouts/default.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "en-US" }}"> - <head> - <meta charset='utf-8'> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - <link rel="stylesheet" type="text/css" href="{{ '/assets/css/print.css' | relative_url }}" media="print"> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - -{% seo %} - {% include head-custom.html %} - </head> - - <body> - <div id="container"> - <div class="inner"> - - <header> - <h1>{{ page.title | default: site.title | default: site.github.repository_name }}</h1> - <h2>{{ page.description | default: site.description | default: site.github.project_tagline }}</h2> - </header> - <section id="downloads" class="clearfix"> - {% if site.show_downloads %} - <a href="{{ site.github.zip_url }}" id="download-zip" class="button"><span>Download .zip</span></a> - <a href="{{ site.github.tar_url }}" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a> - {% endif %} - {% if site.github.public %} - {% if site.github.is_project_page %} - <a href="{{ site.github.repository_url }}" id="view-on-github" class="button"><span>View on GitHub</span></a> - {% else %} - <a href="{{ site.github.owner_url }}" id="view-on-github" class="button"><span>View on GitHub</span></a> - {% endif %} - {% endif %} - </section> - <hr> - <section id="main_content"> - {{ content }} - </section> - - <footer> - {% if site.github.is_project_page %} - {{ site.title | default: site.github.repository_name }} is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a><br> - {% endif %} - This page was generated by <a href="https://pages.github.com">GitHub Pages</a>. - </footer> - - </div> - </div> - </body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/jekyll-theme-tactile.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/jekyll-theme-tactile.scss deleted file mode 100644 index e57c5da..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/jekyll-theme-tactile.scss +++ /dev/null @@ -1,383 +0,0 @@ -@import "rouge-base16-dark"; -@import url('https://fonts.googleapis.com/css?family=Chivo:900'); - -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - padding: 0; - margin: 0; - font: inherit; - font-size: 100%; - vertical-align: baseline; - border: 0; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-spacing: 0; - border-collapse: collapse; -} - -/* LAYOUT STYLES */ -body { - font-family: 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 1em; - line-height: 1.5; - color: #6d6d6d; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); - background: #e7e7e7 url(../images/body-bg.png) 0 0 repeat; -} - -a { - color: #d5000d; -} -a:hover { - color: #c5000c; -} - -header { - padding-top: 35px; - padding-bottom: 25px; -} - -header h1 { - font-family: 'Chivo', 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 48px; font-weight: 900; - line-height: 1.2; - color: #303030; - letter-spacing: -1px; -} - -header h2 { - font-size: 24px; - font-weight: normal; - line-height: 1.3; - color: #aaa; - letter-spacing: -1px; -} - -#container { - min-height: 595px; - background: transparent url(../images/highlight-bg.jpg) 50% 0 no-repeat; -} - -.inner { - width: 620px; - margin: 0 auto; -} - -#container .inner img { - max-width: 100%; -} - -#downloads { - margin-bottom: 40px; -} - -a.button { - display: block; - float: left; - width: 179px; - padding: 12px 8px 12px 8px; - margin-right: 14px; - font-size: 15px; - font-weight: bold; - line-height: 25px; - color: #303030; - background: #fdfdfd; /* Old browsers */ - background: -moz-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f2f2f2)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* IE10+ */ - background: linear-gradient(to top, #fdfdfd 0%,#f2f2f2 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f2f2f2',GradientType=0 ); /* IE6-9 */ - border-top: solid 1px #cbcbcb; - border-right: solid 1px #b7b7b7; - border-bottom: solid 1px #b3b3b3; - border-left: solid 1px #b7b7b7; - border-radius: 30px; - -webkit-box-shadow: 10px 10px 5px #888; - -moz-box-shadow: 10px 10px 5px #888; - box-shadow: 0px 1px 5px #e8e8e8; - -moz-border-radius: 30px; - -webkit-border-radius: 30px; -} -a.button:hover { - background: #fafafa; /* Old browsers */ - background: -moz-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f6f6f6)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* IE10+ */ - background: linear-gradient(to top, #fdfdfd 0%,#f6f6f6, 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */ - border-top: solid 1px #b7b7b7; - border-right: solid 1px #b3b3b3; - border-bottom: solid 1px #b3b3b3; - border-left: solid 1px #b3b3b3; -} - -a.button span { - display: block; - height: 23px; - padding-left: 50px; -} - -#download-zip span { - background: transparent url(../images/zip-icon.png) 12px 50% no-repeat; -} -#download-tar-gz span { - background: transparent url(../images/tar-gz-icon.png) 12px 50% no-repeat; -} -#view-on-github span { - background: transparent url(../images/octocat-icon.png) 12px 50% no-repeat; -} -#view-on-github { - margin-right: 0; -} - -code, pre { - margin-bottom: 30px; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 14px; - color: #222; -} - -code { - padding: 0 3px; - background-color: #f2f2f2; - border: solid 1px #ddd; -} - -pre { - padding: 20px; - overflow: auto; - color: #f2f2f2; - text-shadow: none; - background: #303030; -} -pre code { - padding: 0; - color: #f2f2f2; - background-color: #303030; - border: none; -} - -ul, ol, dl { - margin-bottom: 20px; -} - - -/* COMMON STYLES */ - -hr { - height: 1px; - padding-bottom: 1em; - margin-top: 1em; - line-height: 1px; - background: transparent url('../images/hr.png') 50% 0 no-repeat; - border: none; -} - -strong { - font-weight: bold; -} - -em { - font-style: italic; -} - -table { - width: 100%; - border: 1px solid #ebebeb; -} - -th { - font-weight: 500; -} - -td { - font-weight: 300; - text-align: center; - border: 1px solid #ebebeb; -} - -form { - padding: 20px; - background: #f2f2f2; - -} - - -/* GENERAL ELEMENT TYPE STYLES */ - -h1 { - font-size: 32px; -} - -h2 { - margin-bottom: 8px; - font-size: 22px; - font-weight: bold; - color: #303030; -} - -h3 { - margin-bottom: 8px; - font-size: 18px; - font-weight: bold; - color: #d5000d; -} - -h4 { - font-size: 16px; - font-weight: bold; - color: #303030; -} - -h5 { - font-size: 1em; - color: #303030; -} - -h6 { - font-size: .8em; - color: #303030; -} - -p { - margin-bottom: 20px; - font-weight: 300; -} - -a { - text-decoration: none; -} - -p a { - font-weight: 400; -} - -blockquote { - padding: 0 0 0 30px; - margin-bottom: 20px; - font-size: 1.6em; - border-left: 10px solid #e9e9e9; -} - -ul li { - list-style-position: inside; - list-style: disc; - padding-left: 20px; -} - -ol li { - list-style-position: inside; - list-style: decimal; - padding-left: 3px; -} - -dl dt { - color: #303030; -} - -footer { - padding-top: 20px; - padding-bottom: 30px; - margin-top: 40px; - font-size: 13px; - color: #aaa; - background: transparent url('../images/hr.png') 0 0 no-repeat; -} - -footer a { - color: #666; -} -footer a:hover { - color: #444; -} - -/* MISC */ -.clearfix:after { - display: block; - height: 0; - clear: both; - visibility: hidden; - content: '.'; -} - -.clearfix {display: inline-block;} -* html .clearfix {height: 1%;} -.clearfix {display: block;} - -/* #Media Queries -================================================== */ - -/* Smaller than standard 960 (devices and browsers) */ -@media only screen and (max-width: 959px) { } - -/* Tablet Portrait size to standard 960 (devices and browsers) */ -@media only screen and (min-width: 768px) and (max-width: 959px) { } - -/* All Mobile Sizes (devices and browser) */ -@media only screen and (max-width: 767px) { - header { - padding-top: 10px; - padding-bottom: 10px; - } - #downloads { - margin-bottom: 25px; - } - #download-zip, #download-tar-gz { - display: none; - } - .inner { - width: 94%; - margin: 0 auto; - } - ul li { - margin-left: 10px; - padding-left: 10px; - } - ol li { - margin-left: 10px; - } -} - -/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ -@media only screen and (min-width: 480px) and (max-width: 767px) { } - -/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ -@media only screen and (max-width: 479px) { } diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/rouge-base16-dark.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/rouge-base16-dark.scss deleted file mode 100644 index c303bd5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/rouge-base16-dark.scss +++ /dev/null @@ -1,81 +0,0 @@ -/* - generated by rouge http://rouge.jneen.net/ - original base16 by Chris Kempson (https://github.com/chriskempson/base16) -*/ - -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight, .highlight .w { - color: #d0d0d0; -} -.highlight .err { - color: #151515; - background-color: #ac4142; -} -.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { - color: #888; -} -.highlight .cp { - color: #f4bf75; -} -.highlight .nt { - color: #f4bf75; -} -.highlight .o, .highlight .ow { - color: #d0d0d0; -} -.highlight .p, .highlight .pi { - color: #d0d0d0; -} -.highlight .gi { - color: #90a959; -} -.highlight .gd { - color: #ac4142; -} -.highlight .gh { - color: #6a9fb5; - font-weight: bold; -} -.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { - color: #aa759f; -} -.highlight .kc { - color: #d28445; -} -.highlight .kt { - color: #d28445; -} -.highlight .kd { - color: #d28445; -} -.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { - color: #90a959; -} -.highlight .sr { - color: #75b5aa; -} -.highlight .si { - color: #8f5536; -} -.highlight .se { - color: #8f5536; -} -.highlight .nn { - color: #f4bf75; -} -.highlight .nc { - color: #f4bf75; -} -.highlight .no { - color: #f4bf75; -} -.highlight .na { - color: #6a9fb5; -} -.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { - color: #90a959; -} -.highlight .ss { - color: #90a959; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/tactile.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/tactile.scss deleted file mode 100644 index d1cfc8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/_sass/tactile.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-tactile"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/css/print.css b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/css/print.css deleted file mode 100644 index 4b19b67..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/css/print.css +++ /dev/null @@ -1,228 +0,0 @@ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - padding: 0; - margin: 0; - font: inherit; - font-size: 100%; - vertical-align: baseline; - border: 0; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-spacing: 0; - border-collapse: collapse; -} -body { - font-family: 'Helvetica Neue', Helvetica, Arial, serif; - font-size: 13px; - line-height: 1.5; - color: #000; -} - -a { - font-weight: bold; - color: #d5000d; -} - -header { - padding-top: 35px; - padding-bottom: 10px; -} - -header h1 { - font-size: 48px; - font-weight: bold; - line-height: 1.2; - color: #303030; - letter-spacing: -1px; -} - -header h2 { - font-size: 24px; - font-weight: normal; - line-height: 1.3; - color: #aaa; - letter-spacing: -1px; -} -#downloads { - display: none; -} -#main_content { - padding-top: 20px; -} - -code, pre { - margin-bottom: 30px; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; - font-size: 12px; - color: #222; -} - -code { - padding: 0 3px; -} - -pre { - padding: 20px; - overflow: auto; - border: solid 1px #ddd; -} -pre code { - padding: 0; -} - -ul, ol, dl { - margin-bottom: 20px; -} - - -/* COMMON STYLES */ - -table { - width: 100%; - border: 1px solid #ebebeb; -} - -th { - font-weight: 500; -} - -td { - font-weight: 300; - text-align: center; - border: 1px solid #ebebeb; -} - -form { - padding: 20px; - background: #f2f2f2; - -} - - -/* GENERAL ELEMENT TYPE STYLES */ - -h1 { - font-size: 2.8em; -} - -h2 { - margin-bottom: 8px; - font-size: 22px; - font-weight: bold; - color: #303030; -} - -h3 { - margin-bottom: 8px; - font-size: 18px; - font-weight: bold; - color: #d5000d; -} - -h4 { - font-size: 16px; - font-weight: bold; - color: #303030; -} - -h5 { - font-size: 1em; - color: #303030; -} - -h6 { - font-size: .8em; - color: #303030; -} - -p { - margin-bottom: 20px; - font-weight: 300; -} - -a { - text-decoration: none; -} - -p a { - font-weight: 400; -} - -blockquote { - padding: 0 0 0 30px; - margin-bottom: 20px; - font-size: 1.6em; - border-left: 10px solid #e9e9e9; -} - -ul li { - list-style-position: inside; - list-style: disc; - padding-left: 20px; -} - -ol li { - list-style-position: inside; - list-style: decimal; - padding-left: 3px; -} - -dl dd { - font-style: italic; - font-weight: 100; -} - -footer { - padding-top: 20px; - padding-bottom: 30px; - margin-top: 40px; - font-size: 13px; - color: #aaa; -} - -footer a { - color: #666; -} - -/* MISC */ -.clearfix:after { - display: block; - height: 0; - clear: both; - visibility: hidden; - content: '.'; -} - -.clearfix {display: inline-block;} -* html .clearfix {height: 1%;} -.clearfix {display: block;} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/css/style.scss deleted file mode 100644 index 1b2dbbf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-tactile"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/body-bg.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/body-bg.png deleted file mode 100644 index 5e8c4c2..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/body-bg.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/highlight-bg.jpg b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/highlight-bg.jpg deleted file mode 100644 index 355e089..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/highlight-bg.jpg and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/hr.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/hr.png deleted file mode 100644 index d32f689..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/hr.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/octocat-icon.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/octocat-icon.png deleted file mode 100644 index 2406608..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/octocat-icon.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/tar-gz-icon.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/tar-gz-icon.png deleted file mode 100644 index 502e67d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/tar-gz-icon.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/zip-icon.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/zip-icon.png deleted file mode 100644 index 732aced..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-tactile-0.2.0/assets/images/zip-icon.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/LICENSE deleted file mode 100644 index 670154e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see -<http://creativecommons.org/publicdomain/zero/1.0/> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/README.md deleted file mode 100644 index 3f9674e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# The Time machine theme - -[![.github/workflows/ci.yaml](https://github.com/pages-themes/time-machine/actions/workflows/ci.yaml/badge.svg)](https://github.com/pages-themes/time-machine/actions/workflows/ci.yaml) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-time-machine.svg)](https://badge.fury.io/rb/jekyll-theme-time-machine) - -*Time machine is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/time-machine), or even [use it today](#usage).* - -![Thumbnail of Time machine](thumbnail.png) - -## Usage - -To use the Time machine theme: - -1. Add the following to your site's `_config.yml`: - - ```yml - remote_theme: pages-themes/time-machine@v0.2.0 - plugins: - - jekyll-remote-theme # add this line to the plugins list if you already have one - ``` - -2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: - - ```ruby - gem "github-pages", group: :jekyll_plugins - ``` - -## Customizing - -### Configuration variables - -Time machine will respect the following variables, if set in your site's `_config.yml`: - -```yml -title: [The title of your site] -description: [A short description of your site's purpose] -``` - -Additionally, you may choose to set the following optional variables: - -```yml -show_downloads: ["true" or "false" (unquoted) to indicate whether to provide a download URL] -google_analytics: [Your Google Analytics tracking ID] -``` - -### Stylesheet - -If you'd like to add your own custom styles: - -1. Create a file called `/assets/css/style.scss` in your site -2. Add the following content to the top of the file, exactly as shown: - ```scss - --- - --- - - @import "{{ site.theme }}"; - ``` -3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line - -*Note: If you'd like to change the theme's Sass variables, you must set new values before the `@import` line in your stylesheet.* - -### Layouts - -If you'd like to change the theme's HTML layout: - -1. For some changes such as a custom `favicon`, you can add custom files in your local `_includes` folder. The files [provided with the theme](https://github.com/pages-themes/time-machine/tree/master/_includes) provide a starting point and are included by the [original layout template](https://github.com/pages-themes/time-machine/blob/master/_layouts/default.html). -2. For more extensive changes, [copy the original template](https://github.com/pages-themes/time-machine/blob/master/_layouts/default.html) from the theme's repository<br />(*Pro-tip: click "raw" to make copying easier*) -3. Create a file called `/_layouts/default.html` in your site -4. Paste the default layout content copied in the first step -5. Customize the layout as you'd like - -### Customizing Google Analytics code - -Google has released several iterations to their Google Analytics code over the years since this theme was first created. If you would like to take advantage of the latest code, paste it into `_includes/head-custom-google-analytics.html` in your Jekyll site. - -### Overriding GitHub-generated URLs - -Templates often rely on URLs supplied by GitHub such as links to your repository or links to download your project. If you'd like to override one or more default URLs: - -1. Look at [the template source](https://github.com/pages-themes/time-machine/blob/master/_layouts/default.html) to determine the name of the variable. It will be in the form of `{{ site.github.zip_url }}`. -2. Specify the URL that you'd like the template to use in your site's `_config.yml`. For example, if the variable was `site.github.url`, you'd add the following: - ```yml - github: - zip_url: http://example.com/download.zip - another_url: another value - ``` -3. When your site is built, Jekyll will use the URL you specified, rather than the default one provided by GitHub. - -*Note: You must remove the `site.` prefix, and each variable name (after the `github.`) should be indent with two space below `github:`.* - -For more information, see [the Jekyll variables documentation](https://jekyllrb.com/docs/variables/). - -## Roadmap - -See the [open issues](https://github.com/pages-themes/time-machine/issues) for a list of proposed features (and known issues). - -## Project philosophy - -The Time machine theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. - -## Contributing - -Interested in contributing to Time machine? We'd love your help. Time machine is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. - -### Previewing the theme locally - -If you'd like to preview the theme locally (for example, in the process of proposing a change): - -1. Clone down the theme's repository (`git clone https://github.com/pages-themes/time-machine`) -2. `cd` into the theme's directory -3. Run `script/bootstrap` to install the necessary dependencies -4. Run `bundle exec jekyll serve` to start the preview server -5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme - -### Running tests - -The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` once before the test script will work. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_includes/head-custom-google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_includes/head-custom-google-analytics.html deleted file mode 100644 index 8a3ae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_includes/head-custom-google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ -{% if site.google_analytics %} - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); - </script> -{% endif %} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_includes/head-custom.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_includes/head-custom.html deleted file mode 100644 index f7187e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_includes/head-custom.html +++ /dev/null @@ -1,9 +0,0 @@ -<!-- start custom head snippets, customize with your own _includes/head-custom.html file --> - -<!-- Setup Google Analytics --> -{% include head-custom-google-analytics.html %} - -<!-- You can set your favicon here --> -<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" --> - -<!-- end custom head snippets --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_layouts/default.html deleted file mode 100644 index d098a64..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_layouts/default.html +++ /dev/null @@ -1,69 +0,0 @@ -<!doctype html> -<!-- The Time Machine GitHub pages theme was designed and developed by Jon Rohan, on Feb 7, 2012. --> -<!-- Follow him for fun. http://twitter.com/jonrohan. Tail his code on https://github.com/jonrohan --> -<html lang="{{ site.lang | default: "en-US" }}"> -<head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width,initial-scale=1"> - - <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> - <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> - <script src="{{ '/assets/js/script.js' | relative_url }}"></script> - -{% seo %} - - {% include head-custom.html %} -</head> - -<body> - - <div class="wrapper"> - <header> - <h1 class="title">{{ site.title | default: site.github.repository_name }}</h1> - </header> - <div id="container"> - <p class="tagline">{{ site.description | default: site.github.project_tagline }}</p> - <div id="main" role="main"> - <div class="download-bar"> - <div class="inner"> - {% if site.show_downloads %} - <a href="{{ site.github.tar_url }}" class="download-button tar"><span>Download</span></a> - <a href="{{ site.github.zip_url }}" class="download-button zip"><span>Download</span></a> - {% endif %} - <a href="{{ site.github.repository_url }}" class="code">View {{ site.title | default: site.github.repository_name }} on GitHub</a> - </div> - <span class="blc"></span><span class="trc"></span> - </div> - <article class="markdown-body"> - {{ content }} - </article> - </div> - </div> - <footer> - <div class="owner"> - {% if site.github.is_project_page %} - <p><a href="{{ site.github.owner_url }}" class="avatar"><img src="{{ site.github.owner_gravatar_url }}" width="48" height="48"></a> <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a> maintains <a href="{{ site.github.repository_url }}">{{ site.title | default: site.github.repository_name }}</a></p> - {% endif %} - - {% if site.github.is_user_page %} - <p><a href="{{ site.github.owner_url }}" class="avatar"><img src="{{ site.github.owner_gravatar_url }}" width="48" height="48"></a>View <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a> on <a href="https://www.github.com">GitHub</a></p> - {% endif %} - - </div> - <div class="creds"> - <small>This page generated using <a href="https://pages.github.com/">GitHub Pages</a><br>theme by <a href="https://twitter.com/jonrohan/">Jon Rohan</a></small> - </div> - </footer> - </div> - <div class="current-section"> - <a href="#top">Scroll to top</a> - {% if site.show_downloads %} - <a href="{{ site.github.tar_url }}" class="tar">tar</a> - <a href="{{ site.github.zip_url }}" class="zip">zip</a> - <a href="{{ site.github.repository_url }}" class="code">source code</a> - {% endif %} - <p class="name"></p> - </div> -</body> -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/jekyll-theme-time-machine.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/jekyll-theme-time-machine.scss deleted file mode 100644 index b361d1a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/jekyll-theme-time-machine.scss +++ /dev/null @@ -1,499 +0,0 @@ -@import "normalize"; - -/* Style */ - -body { - font-size: 15px; - font-family: Arial, Arial, Helvetica, sans-serif; - line-height: 1.5; - background: #D1D1D1; -} - -a { - color: #63a52a; - text-decoration: none; - transition: opacity ease-in-out 0.3s; - -webkit-transition: opacity ease-in-out 0.3s; /* Safari <=6.1, Android <= 4.3 */ -} - -a:hover { - text-decoration: underline; - color: #90D355; -} - -code, pre { - font-family: 'Monaco', 'Lucida Console', monospace; -} - -h1.title { - margin: 30px 20px 10px; - font-size: 60px; - font-weight: bold; - font-style: italic; - font-family:Georgia, serif; - text-align: center; -} - -.wrapper { - width: 675px; - margin: 0 auto; -} - -#container { - border: 1px solid #2a2a2a; - background: #ddd url(../images/pattern.png); - box-shadow: 0 0 5px #b1b1b1; -} - -p.tagline { - padding: 20px 20px 0; - color: #fff; - font-size: 17px; -} - -#main { - margin-top: 20px; - padding: 0 20px 90px; - background-color: #fff; -} - -.download-bar { - background: #222; - border: 5px solid #444; - padding: 10px; - margin: 0 -35px 20px; - position: relative; -} - -.download-bar .inner { - overflow: hidden; -} - -.download-bar .watch-fork iframe { - display: block; - float: left; - border-right: 1px solid #ddd; - padding-right: 5px; -} -.download-bar .watch-fork iframe.last { - border-right: 0 none; - padding-right: 0; - padding-left: 5px; - border-left: 1px solid #fff; -} -.download-bar .watch-fork { - overflow: hidden; - float: right; - background-color: #eee; - padding: 5px; - border-radius: 3px; -} - -.download-bar .blc { - border: 10px solid black; - border-color: transparent transparent black; - width: 0; - height: 0; - display: block; - position: absolute; - bottom: -15px; - left: 0; - transform: rotate(45deg); - -ms-transform: rotate(45deg); /* IE9 */ - -webkit-transform: rotate(45deg); /* 2014 current */ -} - -.download-bar .trc { - border: 10px solid black; - border-color: black transparent transparent; - width: 0; - height: 0; - display: block; - position: absolute; - top: -15px; - right: 0; - transform: rotate(45deg); - -ms-transform: rotate(45deg); /* IE9 */ - -webkit-transform: rotate(45deg); /* 2014 current */ -} - -.download-bar .avatar { - border: 1px solid black; - display: block; - padding: 4px; - float: left; -} - -.download-bar .avatar img { - display: block; -} - -.download-bar a.code { - background: transparent url(../images/code.png) no-repeat 0 2px; - padding-left: 35px; - margin-top: 8px; - display: block; - float: left; - text-indent: 0; - width: auto; - height: auto; - opacity: 1; - filter:alpha(opacity=100); /* IE 5-7 */ -} - -.current-section { - position: fixed; - top: 0; - left: 50%; - width: 693px; - margin-left: -352px; - background: #222; - border: 5px solid #444; - color: #fff; - opacity: 0; - visibility: hidden; - transition: opacity ease-in-out 0.3s; - -webkit-transition: opacity ease-in-out 0.3s; /* Safari <=6.1, Android <= 4.3 */ -} - -.current-section p { - padding: 5px 27px; - font-size: 24px; - font-weight: bold; -} - -.current-section a { - float: right; - text-indent: -10000px; - background: transparent url(../images/top.png) no-repeat 0 0; - width: 20px; - height: 20px; - opacity: 0.8; - margin-right: 12px; - margin-top: 12px; - opacity: 0.8; - filter:alpha(opacity=80); /* IE 5-7 */ - transition: opacity ease-in-out 0.3s; - -webkit-transition: opacity ease-in-out 0.3s; /* Safari <=6.1, Android <= 4.3 */ -} - -.current-section a:hover { - opacity: 1; - filter:alpha(opacity=100); /* IE 5-7 */ -} - -.current-section a.zip { - margin-right: 8px; -} - -a.zip, -a.zip span { - background: transparent url(../images/zip.png) no-repeat 0 0; - width: 30px; - height: 21px; - display: inline-block; - text-indent: -10000px; - opacity: 0.8; - filter:alpha(opacity=80); /* IE 5-7 */ - transition: opacity ease-in-out 0.3s; - -webkit-transition: opacity ease-in-out 0.3s; /* Safari <=6.1, Android <= 4.3 */ -} - -a.tar, -a.tar span { - background: transparent url(../images/tar.png) no-repeat 0 0; - width: 30px; - height: 21px; - display: inline-block; - text-indent: -10000px; - opacity: 0.8; - filter:alpha(opacity=80); /* IE 5-7 */ - transition: opacity ease-in-out 0.3s; - -webkit-transition: opacity ease-in-out 0.3s; /* Safari <=6.1, Android <= 4.3 */ -} - -a.code { - background: transparent url(../images/code.png) no-repeat 0 2px; - width: 30px; - height: 21px; - display: block; - display: inline-block; - text-indent: -10000px; - opacity: 0.8; - filter:alpha(opacity=80); /* IE 5-7 */ - transition: opacity ease-in-out 0.3s; - -webkit-transition: opacity ease-in-out 0.3s; /* Safari <=6.1, Android <= 4.3 */ -} - -a.zip:hover, -a.tar:hover, -a.code:hover { - opacity: 1; - filter:alpha(opacity=100); -} - -a.download-button { - border: 1px solid black; - border-radius: 3px; - display: inline-block; - text-indent: 0!important; - width: auto; - float: right; - background: #999; /* for non-css3 browsers */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#37ADD4', endColorstr='#1B657E'); /* IE <= 9 */ - background: -webkit-gradient(linear, left top, left bottom, from(#37ADD4), to(#1B657E)); /* ancient webkit browsers */ - background: -webkit-linear-gradient(top, #37ADD4, #1B657E); /* Safari <=6.1, Android <= 4.3 */ - background: linear-gradient(to bottom, #37ADD4, #1B657E); - height: auto; - margin-left: 10px; -} - -a.download-button span { - background-position: 10px 5px; - width: auto; - height: auto; - padding: 5px 10px; - padding-left: 45px; - display: inline-block; - text-indent: 0!important; - color: #fff; -} - -footer { - margin-bottom: 60px; - padding-bottom: 60px; -} - -footer .owner { - background: #222; - border: 5px solid #444; - padding: 5px 15px; - margin: -67px -10px 35px; - color: #d6d6d6; -} - -footer .creds small { - float: right; - font-size: 10px; - text-align: right; - margin-left: 15px; -} - -footer .owner .avatar { - background-color: #666; - display: block; - margin: -19px 10px 0 0; - width: 60px; - float: left; -} - -footer .owner img { - display: block; - border: 1px solid #2a2a2a; - margin: 5px; -} - -footer .owner p { - font-family:Georgia, serif; -} - -footer .owner p a { - font-size: 16px; - font-style: italic; -} - -/* Markdown */ -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6, -.markdown-body p, -.markdown-body pre, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body blockquote { - margin-bottom: 20px; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - font-weight: bold; -} - -.markdown-body h1 { - font-size: 28px; -} - -.markdown-body h2 { - font-size: 24px; - color: #557398; -} - -.markdown-body h3 { - font-size: 20px; -} - -.markdown-body h4 { - font-size: 18px; -} - -.markdown-body h5 { - font-size: 16px; -} - -.markdown-body pre { - padding: 10px 70px 10px 0; - margin-left: -20px; - margin-right: -20px; - font-family: 'Monaco', 'Lucida Console', monospace; - font-size: 13px; - line-height: 20px; - box-shadow: inset 0 0 5px #000; - word-wrap: break-word; - background-color:#3b3b3b; - color: #d6d6d6; -} - -.markdown-body pre.lines { - font-size: 12px; - margin:0 10px 0 -20px; - padding: 10px; - float: left; - display: block; - text-align: right; - box-shadow: none; - background-color:#2a2a2a; - color: #d6d6d6; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 30px; -} - -.markdown-body ul { - list-style-type: disc; -} - -.markdown-body ol { - list-style-type: decimal; -} - -.markdown-body li, -.markdown-body li p, -.markdown-body dd, -.markdown-body dd p { - margin-bottom: 10px; -} - -.markdown-body li pre, -.markdown-body li pre.lines, -.markdown-body dd pre, -.markdown-body dd pre.lines { - margin-left: -35px; -} - -.markdown-body dt { - font-weight: bold; - font-style: italic; -} - -.markdown-body dd { - margin-left: 15px; -} - -.markdown-body table { - width: 673px; - margin-left: -20px; - margin-right: -20px; -} - -.markdown-body tbody { - border-top: 2px solid #557398; - border-bottom: 2px solid #557398; - background-color: #EBEFF4; -} - -.markdown-body table td * { - margin: 0; -} - -.markdown-body td { - border-right: 1px solid #557398; - border-bottom: 1px solid #557398; - padding: 5px; -} - -.markdown-body td:first-child, -.markdown-body th:first-child { - width: 30%; - padding-left: 20px; -} - -.markdown-body td:last-child { - border-right: 0 none; -} - -.markdown-body th { - font-size: 18px; - font-weight: bold; - text-align: left; - padding: 5px; -} - -.markdown-body tt { - background-color:#3b3b3b; - color: #d6d6d6; - padding: 2px 3px; -} - -.markdown-body blockquote { - font-style: italic; - font-family:Georgia, serif; - font-size: 17px; - border-top: 3px solid #333; - border-bottom: 3px solid #333; - padding: 10px 20px; - padding-left: 50px; -} - -.markdown-body blockquote:before { - font-style: italic; - font-family: Georgia, serif; - font-size: 90px; - height: 90px; - margin-left: -60px; - margin-top: -25px; - content: "‟"; - display: block; - float: left; -} - -.markdown-body img { - max-width: 100%; - box-sizing: border-box; -} - -.markdown-body kbd { - background-color: #fafbfc; - border: 1px solid #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; - color: #444d56; - display: inline-block; - font-size: 11px; - line-height: 10px; - padding: 3px 5px; - vertical-align: middle; -} - -@import "rouge-base16-dark"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/normalize.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/normalize.scss deleted file mode 100644 index 30366a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/normalize.scss +++ /dev/null @@ -1,424 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/rouge-base16-dark.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/rouge-base16-dark.scss deleted file mode 100644 index c303bd5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/rouge-base16-dark.scss +++ /dev/null @@ -1,81 +0,0 @@ -/* - generated by rouge http://rouge.jneen.net/ - original base16 by Chris Kempson (https://github.com/chriskempson/base16) -*/ - -.highlight table td { padding: 5px; } -.highlight table pre { margin: 0; } -.highlight, .highlight .w { - color: #d0d0d0; -} -.highlight .err { - color: #151515; - background-color: #ac4142; -} -.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { - color: #888; -} -.highlight .cp { - color: #f4bf75; -} -.highlight .nt { - color: #f4bf75; -} -.highlight .o, .highlight .ow { - color: #d0d0d0; -} -.highlight .p, .highlight .pi { - color: #d0d0d0; -} -.highlight .gi { - color: #90a959; -} -.highlight .gd { - color: #ac4142; -} -.highlight .gh { - color: #6a9fb5; - font-weight: bold; -} -.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { - color: #aa759f; -} -.highlight .kc { - color: #d28445; -} -.highlight .kt { - color: #d28445; -} -.highlight .kd { - color: #d28445; -} -.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { - color: #90a959; -} -.highlight .sr { - color: #75b5aa; -} -.highlight .si { - color: #8f5536; -} -.highlight .se { - color: #8f5536; -} -.highlight .nn { - color: #f4bf75; -} -.highlight .nc { - color: #f4bf75; -} -.highlight .no { - color: #f4bf75; -} -.highlight .na { - color: #6a9fb5; -} -.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { - color: #90a959; -} -.highlight .ss { - color: #90a959; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/time-machine.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/time-machine.scss deleted file mode 100644 index 274b646..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/_sass/time-machine.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Placeholder file. If your site uses -// @import "{{ site.theme }}"; -// Then using this theme with jekyll-remote-theme will work fine. -@import "jekyll-theme-time-machine"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/css/style.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/css/style.scss deleted file mode 100644 index 3c958cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/css/style.scss +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "jekyll-theme-time-machine"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/code.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/code.png deleted file mode 100644 index b414519..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/code.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/pattern.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/pattern.png deleted file mode 100644 index 2357903..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/pattern.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/tar.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/tar.png deleted file mode 100644 index 1abbdf1..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/tar.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/top.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/top.png deleted file mode 100644 index 9acb7f5..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/top.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/zip.png b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/zip.png deleted file mode 100644 index 6499b00..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/images/zip.png and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/js/script.js b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/js/script.js deleted file mode 100644 index 2f08550..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-theme-time-machine-0.2.0/assets/js/script.js +++ /dev/null @@ -1,52 +0,0 @@ -(function($) { -$(document).ready(function(){ - - // putting lines by the pre blocks - $("pre").each(function(){ - var pre = $(this).text().split("\n"); - var lines = new Array(pre.length+1); - for(var i = 0; i < pre.length; i++) { - var wrap = Math.floor(pre[i].split("").length / 70) - if (pre[i]==""&&i==pre.length-1) { - lines.splice(i, 1); - } else { - lines[i] = i+1; - for(var j = 0; j < wrap; j++) { - lines[i] += "\n"; - } - } - } - $(this).before("<pre class='lines'>" + lines.join("\n") + "</pre>"); - }); - - var headings = []; - - var collectHeaders = function(){ - headings.push({"top":$(this).offset().top - 15,"text":$(this).text()}); - } - - if($(".markdown-body h1").length > 1) $(".markdown-body h1").each(collectHeaders) - else if($(".markdown-body h2").length > 1) $(".markdown-body h2").each(collectHeaders) - else if($(".markdown-body h3").length > 1) $(".markdown-body h3").each(collectHeaders) - - $(window).scroll(function(){ - if(headings.length==0) return true; - var scrolltop = $(window).scrollTop() || 0; - if(headings[0] && scrolltop < headings[0].top) { - $(".current-section").css({"opacity":0,"visibility":"hidden"}); - return false; - } - $(".current-section").css({"opacity":1,"visibility":"visible"}); - for(var i in headings) { - if(scrolltop >= headings[i].top) { - $(".current-section .name").text(headings[i].text); - } - } - }); - - $(".current-section a").click(function(){ - $(window).scrollTop(0); - return false; - }) -}); -})(jQuery) \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-titles-from-headings-0.5.3/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-titles-from-headings-0.5.3/LICENSE.md deleted file mode 100644 index f61aa0c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-titles-from-headings-0.5.3/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Ben Balter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-titles-from-headings-0.5.3/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-titles-from-headings-0.5.3/README.md deleted file mode 100644 index 60f61e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/jekyll-titles-from-headings-0.5.3/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# Jekyll Titles from Headings - -*A Jekyll plugin to pull the page title from the first Markdown heading when none is specified.* - -[![Build Status](https://travis-ci.org/benbalter/jekyll-titles-from-headings.svg?branch=master)](https://travis-ci.org/benbalter/jekyll-titles-from-headings) - -## What it does - -If you have a Jekyll page that doesn't have a title specified in the YAML Front Matter, but the first non-whitespace line in the page is a Markdown H1 / H2 / H3, this plugin instructs Jekyll to use that first heading as the page's title. - -## Why - -Because lots of plugins and templates rely on `page.title`. - -If you're using a plugin like [Jekyll Optional Front Matter](https://github.com/benbalter/jekyll-optional-front-matter), you'd have to add Front Matter, just to get the title, which you're already specifying in the document. - -Additionally, this allows you to store the title semantically, in the document itself so that it's readable, both as Markdown and when rendered, as machine-readable for plugins like [Jekyll SEO Tag](https://github.com/benbalter/jekyll-seo-tag). - -## Usage - -1. Add the following to your site's Gemfile: - - ```ruby - gem 'jekyll-titles-from-headings' - ``` - -2. Add the following to your site's config file: - - ```yml - plugins: - - jekyll-titles-from-headings - ``` - Note: If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`. - -## Configuration - -Configuration options are optional and placed in `_config.yml` under the `titles_from_headings` key. They default to: - -```yml -titles_from_headings: - enabled: true - strip_title: false - collections: false -``` - -### Stripping titles - -If your theme renders titles based on `page.title`, you can remove the title from the content by setting `strip_title` to prevent rendering it twice. - -To limit this behavior to a certain layouts or paths, you can use [front matter defaults](https://jekyllrb.com/docs/configuration/#front-matter-defaults), e.g. - -```yml -defaults: - - scope: - path: some-path - layout: some_layout - values: - strip_title: true -``` - -### Processing Collections - -If you want to enable this plugin for collection items, set the `collections` option to `true`. - -Since collection items (including posts) already have a title inferred from their filename, this option changes the behavior of this plugin to override the inferred title. The inferred title is only used as a fallback in case the document doesn't start with a heading. - -### Disabling - -Even if the plugin is enabled (e.g., via the `:jekyll_plugins` group in your Gemfile) you can disable it by setting the `enabled` key to `false`. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/AUTHORS b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/AUTHORS deleted file mode 100644 index 0583596..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -The author of kramdown is Thomas Leitner <t_leitner@gmx.at>. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/CONTRIBUTERS b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/CONTRIBUTERS deleted file mode 100644 index 3a06947..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/CONTRIBUTERS +++ /dev/null @@ -1,84 +0,0 @@ - Count Name -======= ==== - 960 Thomas Leitner <t_leitner@gmx.at> - 18 Ashwin Maroli <ashmaroli@gmail.com> - 7 Christian Cornelssen <ccorn@1tein.de> - 6 Gioele Barabucci <gioele@svario.it> - 5 Gleb Mazovetskiy <glex.spb@gmail.com> - 4 Ted Pak <powerpak006@gmail.com> - 4 Shuanglei Tao <tsl0922@gmail.com> - 4 Dan Allen <dan.j.allen@gmail.com> - 4 Arne Brasseur <arne@arnebrasseur.net> - 3 Henning Perl <perl@fast-sicher.de> - 3 gettalong <t_leitner@gmx.at> - 3 Brandur <brandur@mutelight.org> - 3 Ben Armston <ben.armston@googlemail.com> - 3 Ashwin Maroli <ashmaroli@users.noreply.github.com> - 3 Alex Marandon <contact@alexmarandon.com> - 2 Tom Thorogood <me+github@tomthorogood.co.uk> - 2 Parker Moore <parkrmoore@gmail.com> - 2 Nathanael Jones <nathanael.jones@gmail.com> - 2 Max Meyer <dev@fedux.org> - 2 Jo Hund <jhund@clearcove.ca> - 2 Carsten Bormann <cabo@tzi.org> - 2 Bran <m.versum@gmail.com> - 1 winniehell <git@winniehell.de> - 1 William <suttonwilliamd@gmail.com> - 1 Uwe Kubosch <donv@users.noreply.github.com> - 1 utenmiki <utenmiki@gmail.com> - 1 Trevor Wennblom <trevor@well.com> - 1 tomykaira <tomykaira@gmail.com> - 1 tom93 <tomlevy93@gmail.com> - 1 Tobin Yehle <tobinyehle@gmail.com> - 1 timcraft <mail@timcraft.com> - 1 Tim Blair <tim@bla.ir> - 1 Tim Besard <tim.besard@gmail.com> - 1 Tim Bates <tim@rumpuslabs.com> - 1 Sun Yaozhu <yzyzsun@gmail.com> - 1 Stephen <stephengroat@users.noreply.github.com> - 1 Stephen Crosby <stevecrozz@gmail.com> - 1 Stan Hu <stanhu@gmail.com> - 1 Simon Lydell <simon.lydell@gmail.com> - 1 Simon Coffey <simon.coffey@futurelearn.com> - 1 Shusaku NAKAZATO <cu393uc@gmail.com> - 1 Sebastian Boehm <sebastian@sometimesfood.org> - 1 scherr <maximilianscherr@gmail.com> - 1 Postmodern <postmodern.mod3@gmail.com> - 1 Pete Michaud <michaudp@gmail.com> - 1 Noah Doersing <doersino@gmail.com> - 1 myqlarson <myqlarson@gmail.com> - 1 milo.simpson <milo.simpson@bazaarvoice.com> - 1 Michal Till <michal.till@gmail.com> - 1 Maxime Kjaer <maxime.kjaer@gmail.com> - 1 Matt Hickford <matt.hickford@gmail.com> - 1 Martyn Chamberlin <martyn@perfectioncoding.com> - 1 Marek Tuchowski <marek@tuchowski.com.pl> - 1 Marcus Stollsteimer <sto.mar@web.de> - 1 Luca Barbato <luca.barbato@gmail.com> - 1 l3kn <hello@l3kn.de> - 1 Kir Kolyshkin <kolyshkin@gmail.com> - 1 Jun Aruga <jaruga@redhat.com> - 1 Jonathan Hooper <jonathan.hooper@gsa.gov> - 1 John Croisant <jacius@gmail.com> - 1 Joe Fiorini <joe@faithfulgeek.org> - 1 Jens Kraemer <jk@jkraemer.net> - 1 Hirofumi Wakasugi <baenej@gmail.com> - 1 Hector Correa <hector@hectorcorrea.com> - 1 Florian Klampfer <f.klampfer@gmail.com> - 1 Floreal Morandat florealm@gmail.com <florealm@gmail.com> - 1 Fangyi Zhou <me@fangyi.io> - 1 Diego Galeota <diegobg123@gmail.com> - 1 David Rodríguez <deivid.rodriguez@riseup.net> - 1 Daniel Bair <daniel@danielbair.com> - 1 Damien Pollet <damien.pollet@gmail.com> - 1 Christopher Jefferson <caj21@st-andrews.ac.uk> - 1 Cédric Boutillier <cedric.boutillier@gmail.com> - 1 Bob Lail <lail@squareup.com> - 1 Ashe Connor <ashe@kivikakk.ee> - 1 aschmitz <29508+aschmitz@users.noreply.github.com> - 1 Antoine Cotten <hello@acotten.com> - 1 Andrew <andrew.dale.wylie@gmail.com> - 1 Alpha Chen <alpha.chen@gmail.com> - 1 Alex Tomlins <alex.tomlins@digital.cabinet-office.gov.uk> - 1 Alexey Vasiliev <le0pard@users.noreply.github.com> - 1 284km <k.furuhashi10@gmail.com> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/COPYING b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/COPYING deleted file mode 100644 index 1c29282..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/COPYING +++ /dev/null @@ -1,30 +0,0 @@ -kramdown - fast, pure-Ruby Markdown-superset converter -Copyright (C) 2009-2013 Thomas Leitner <t_leitner@gmx.at> - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Some test cases and the benchmark files are based on test cases from -the MDTest test suite: - - MDTest - Copyright (c) 2007 Michel Fortin - <http://www.michelf.com/> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/README.md deleted file mode 100644 index 981c004..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# kramdown - -## Readme first! - -kramdown was originally licensed under the GPL until the 1.0.0 release. However, due to the many -requests it is now released under the MIT license and therefore can easily be used in commercial -projects, too. - -However, if you use kramdown in a commercial setting, please consider **contributing back any -changes** for the benefit of the community and/or [**becoming a -sponsor**](https://github.com/sponsors/gettalong/) or [**a -patron**](https://www.patreon.com/gettalong) - thanks! - -Sponsors: - -* **GROSSWEBER** provides <a href="http://grossweber.com/b/kramdown" target="_blank">software - development consulting and training services</a>. - - -## Introduction - -kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and -supporting several common extensions. - -The syntax definition for the kramdown syntax can be found in **doc/syntax.page** (or online at -<http://kramdown.gettalong.org/syntax.html>) and a quick reference is available in -**doc/quickref.page** or online at <http://kramdown.gettalong.org/quickref.html>. - -The kramdown library is mainly written to support the kramdown-to-HTML conversion chain. However, -due to its flexibility (by creating an internal AST) it supports other input and output formats as -well. Here is a list of the supported formats: - -* input formats: kramdown (a Markdown superset), Markdown, GFM, HTML -* output formats: HTML, kramdown, LaTeX (and therefore PDF), PDF via Prawn - -All the documentation on the available input and output formats is available in the **doc/** -directory and online at <http://kramdown.gettalong.org>. - -Starting from version 1.0.0 kramdown is using a versioning scheme with major, minor and patch parts -in the version number where the major number changes on backwards-incompatible changes, the minor -number on the introduction of new features and the patch number on everything else. - -For information about changes between versions, have a look at -<http://kramdown.gettalong.org/news.html> or the commit history! - - -## Usage - -kramdown has a very simple API, so using kramdown is as easy as - -```ruby -require 'kramdown' - -Kramdown::Document.new(text).to_html -``` - -For detailed information have a look at the API documentation of the `Kramdown::Document` class. - -The full API documentation is available at <http://kramdown.gettalong.org/rdoc/>, other sites with an -API documentation for kramdown probably don't provide the complete documentation! - -There are also some third-party libraries that extend the functionality of kramdown -- see the -kramdown Wiki at <https://github.com/gettalong/kramdown/wiki>. - - -## Development - -Just clone the git repository as described in **doc/installation.page** and you are good to go. You -probably want to install `rake` so that you can use the provided rake tasks. - -If you want to run the tests, the development dependencies are needed as well as some additional -programs like `tidy` and `latex`. See the `.travis.yml` file for more information. - - -## License - -MIT - see the **COPYING** file. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/VERSION b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/VERSION deleted file mode 100644 index f90b1af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/VERSION +++ /dev/null @@ -1 +0,0 @@ -2.3.2 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/bin/kramdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/bin/kramdown deleted file mode 100755 index e1128ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/bin/kramdown +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding: utf-8 -*- -# -#-- -# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at> -# -# This file is part of kramdown which is licensed under the MIT. -#++ -# - -require 'optparse' -require 'rbconfig' -require 'yaml' -require 'kramdown' - -def add_kramdown_options(opts, parsed_options, banner: [], ignore: []) - banner_shown = false - defined_options = [] - Kramdown::Options.definitions.sort.each do |n, definition| - next if ignore.include?(n) - - unless banner_shown - opts.separator("") - banner.each {|part| opts.separator(part) } - opts.separator("") - banner_shown = true - end - - defined_options << n - no = n.to_s.tr('_', '-') - if definition.type == Kramdown::Options::Boolean - opts.on("--[no-]#{no}") {|v| parsed_options[n] = Kramdown::Options.parse(n, v) } - else - type = definition.type - type = String if type == Symbol || type == Object - opts.on("--#{no} ARG", type) {|v| parsed_options[n] = Kramdown::Options.parse(n, v) } - end - - definition.desc.split(/\n/).each do |line| - opts.separator opts.summary_indent + ' ' * 6 + line - end - opts.separator '' - end - defined_options -end - -config_file = nil -begin - config_dir = case RbConfig::CONFIG['host_os'] - when /bccwin|cygwin|djgpp|mingw|mswin|wince/i - File.expand_path((ENV['HOME'] || ENV['USERPROFILE'] || "~") + "/AppData/Local") - when /darwin|mac os/ - File.expand_path("~/Library/Preferences/") - else - File.expand_path(ENV['XDG_CONFIG_HOME'] || '~/.config') - end - config_file = File.join(config_dir, "kramdownrc") -rescue StandardError -end - -options = {} -format = ['html'] - -defined_options = [] -OptionParser.new do |opts| - opts.banner = "Usage: kramdown [options] [FILE FILE ...]" - opts.summary_indent = ' ' * 4 - - opts.separator "" - opts.separator "Command line options:" - opts.separator "" - - opts.on("-i", "--input ARG", "Specify the input format: kramdown (default), " \ - "html, or markdown") {|v| options[:input] = v } - opts.on("-o", "--output ARG", Array, "Specify one or more output formats separated by commas: " \ - "html (default),", "kramdown, latex, man or remove_html_tags") {|v| format = v } - opts.on("-x", "--extension EXT", Array, "Load one or more extensions (without the 'kramdown-' " \ - "prefix) separated", "by commas (e.g. parser-gfm,syntax-coderay)", - "Note: Use this option before other options!") do |exts| - exts.each do |ext| - begin - require "kramdown-#{ext}" - new_options = add_kramdown_options(opts, options, banner: ["#{ext} options:"], - ignore: defined_options) - defined_options.concat(new_options) - rescue LoadError - $stderr.puts "Couldn't load extension #{ext}, ignoring" - end - end - end - opts.separator "" - opts.on("--no-config-file", "Do not read any configuration file. Default behavior is to check " \ - "for a", "configuration file and read it if it exists.") { config_file = nil } - opts.on("--config-file FILE", "Specify the name of a configuration file with kramdown options " \ - "in YAML", "format, e.g. \"auto_id_prefix: ARG\" instead of \"--auto-id-prefix ARG\"", - "and \"auto_ids: false\" instead of \"--no-auto-ids\".", - "Default: #{config_file}") {|v| config_file = v } - opts.separator "" - opts.on("-v", "--version", "Show the version of kramdown") do - puts Kramdown::VERSION - exit - end - opts.on("-h", "--help", "Show the help") do - puts opts.summarize('', 5, 72) - exit - end - - new_options = add_kramdown_options(opts, options, banner: ["kramdown options:"]) - defined_options.concat(new_options) -end.parse! - -begin - if config_file && File.exist?(config_file) - config_file_options = YAML.safe_load(File.read(config_file), [Symbol]) - case config_file_options - when nil # empty configuration file except perhaps YAML header and comments - # Nothing to do - when Hash - options = config_file_options.merge(options) - else - raise Kramdown::Error, "No YAML map in configuration file \"#{config_file}\"" - end - end - doc = Kramdown::Document.new(ARGF.read, options) - result = '' - format.each {|f| result = doc.send("to_#{f}") } - puts result - doc.warnings.each {|warn| $stderr.puts "Warning: #{warn}" } -rescue Kramdown::Error => e - $stderr.puts "Error: #{e.message}" - exit(1) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/man/man1/kramdown.1 b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/man/man1/kramdown.1 deleted file mode 100644 index 903c865..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/man/man1/kramdown.1 +++ /dev/null @@ -1,348 +0,0 @@ -.\" generated by kramdown -.TH "KRAMDOWN" "1" "January 2019" -.SH NAME -kramdown \- a fast, pure\-Ruby Markdown\-superset converter -.SH "SYNOPSIS" -\fBkramdown\fP [\fIoptions\fP] [\fIFILE\fP\.\.\.] -.SH "DESCRIPTION" -kramdown is primarily used for parsing a superset of Markdown and converting it to different output formats\. It supports standard Markdown (with some minor modifications) and various extensions like tables and definition lists\. Due to its modular architecture it also allows other input formats than Markdown, for example, HTML or Github Flavored Markdown\. -.P -If \fIFILE\fP is not specified, kramdown reads from the standard input\. The result is written to the standard output\. -.P -There are two sets of options that kramdown accepts: The first one includes the options that are used directly by the kramdown binary\. The second set of options controls how kramdown parses and converts its input\. -.P -Default values for this second set can be set using YAML via the configuration file \fBkramdownrc\fP\&\. Note that configuration option names use underscores, not dashes (dashes are just used in the CLI options names), and boolean options do not have a \fBno\fP variant but a value of \fBtrue\fP or \fBfalse\fP\&\. This file has to be in XDG_CONFIG_HOME on Linux/Unix, ~/Library/Preferences on macOS and ~/AppData/Local on Windows\. -.SH "CLI\-ONLY OPTIONS" -.TP -\fB\-i\fP \fIFORMAT\fP, \fB\-\-input\fP \fIFORMAT\fP -Specify the input format\. Available input formats: \fIkramdown\fP (this is the default), \fImarkdown\fP, or \fIhtml\fP\&\. The input format \fIGFM\fP is available through the \fBkramdown\-parser\-gfm\fP gem\. -.TP -\fB\-o\fP \fIFORMAT\fP, \fB\-\-output\fP \fIFORMAT\fP -Specify one or more output formats separated by commas: \fIhtml\fP (default), \fIkramdown\fP, \fIlatex\fP, \fIman\fP or \fIremove_html_tags\fP\&\. The converter \fIpdf\fP is available through the \fBkramdown\-converter\-pdf\fP gem\. -.TP -\fB\-x\fP \fIEXT\fP, \fB\-\-extension\fP \fIEXT\fP -Load one or more extensions\. The name of the extension should not include the \fBkramdown\-\fP prefix, e\.g\. just \fBparser\-gfm\fP\&\. Multiple extensions can be loaded by separating them with commas\. -.RS -.P -Note: This option has to be used before any other options that rely on the extension already being loaded\. -.RE -.TP -\fB\-\-no\-config\-file\fP -Do not read any configuration file\. Default behavior is to check for a configuration file and read it if it exists\. -.TP -\fB\-\-config\-file\fP \fIFILE\fP -Override the default path and name of the configuration file\. -.TP -\fB\-v\fP, \fB\-\-version\fP -Show the version of kramdown\. -.TP -\fB\-h\fP, \fB\-\-help\fP -Show the help\. -.SH "KRAMDOWN OPTIONS" -.TP -\fB\-\-auto\-id\-prefix\fP \fIARG\fP -Prefix used for automatically generated header IDs -.RS -.P -This option can be used to set a prefix for the automatically generated header IDs so that there is no conflict when rendering multiple kramdown documents into one output file separately\. The prefix should only contain characters that are valid in an ID! -.P -Default: \[u2018]\[u2019] Used by: HTML/Latex converter -.RE -.TP -\fB\-\-[no\-]auto\-id\-stripping\fP -Strip all formatting from header text for automatic ID generation -.RS -.P -If this option is \fBtrue\fP, only the text elements of a header are used for generating the ID later (in contrast to just using the raw header text line)\. -.P -This option will be removed in version 2\.0 because this will be the default then\. -.P -Default: false Used by: kramdown parser -.RE -.TP -\fB\-\-[no\-]auto\-ids\fP -Use automatic header ID generation -.RS -.P -If this option is \fBtrue\fP, ID values for all headers are automatically generated if no ID is explicitly specified\. -.P -Default: true Used by: HTML/Latex converter -.RE -.TP -\fB\-\-entity\-output\fP \fIARG\fP -Defines how entities are output -.RS -.P -The possible values are :as_input (entities are output in the same form as found in the input), :numeric (entities are output in numeric form), :symbolic (entities are output in symbolic form if possible) or :as_char (entities are output as characters if possible, only available on Ruby 1\.9)\. -.P -Default: :as_char Used by: HTML converter, kramdown converter -.RE -.TP -\fB\-\-footnote\-backlink\fP \fIARG\fP -Defines the text that should be used for the footnote backlinks -.RS -.P -The footnote backlink is just text, so any special HTML characters will be escaped\. -.P -If the footnote backlint text is an empty string, no footnote backlinks will be generated\. -.P -Default: \[u2018]\[u0026]8617;\[u2019] Used by: HTML converter -.RE -.TP -\fB\-\-[no\-]footnote\-backlink\-inline\fP -Specifies whether the footnote backlink should always be inline -.RS -.P -With the default of false the footnote backlink is placed at the end of the last paragraph if there is one, or an extra paragraph with only the footnote backlink is created\. -.P -Setting this option to true tries to place the footnote backlink in the last, possibly nested paragraph or header\. If this fails (e\.g\. in the case of a table), an extra paragraph with only the footnote backlink is created\. -.P -Default: false Used by: HTML converter -.RE -.TP -\fB\-\-footnote\-nr\fP \fIARG\fP -The number of the first footnote -.RS -.P -This option can be used to specify the number that is used for the first footnote\. -.P -Default: 1 Used by: HTML converter -.RE -.TP -\fB\-\-footnote\-prefix\fP \fIARG\fP -Prefix used for footnote IDs -.RS -.P -This option can be used to set a prefix for footnote IDs\. This is useful when rendering multiple documents into the same output file to avoid duplicate IDs\. The prefix should only contain characters that are valid in an ID! -.P -Default: \[u2018]\[u2019] Used by: HTML -.RE -.TP -\fB\-\-forbidden\-inline\-options\fP \fIARG\fP -Defines the options that may not be set using the {::options} extension -.RS -.P -The value needs to be an array of option names\. -.P -Default: [template] Used by: HTML converter -.RE -.TP -\fB\-\-header\-offset\fP \fIARG\fP -Sets the output offset for headers -.RS -.P -If this option is c (may also be negative) then a header with level n will be output as a header with level c+n\. If c+n is lower than 1, level 1 will be used\. If c+n is greater than 6, level 6 will be used\. -.P -Default: 0 Used by: HTML converter, Kramdown converter, Latex converter -.RE -.TP -\fB\-\-[no\-]html\-to\-native\fP -Convert HTML elements to native elements -.RS -.P -If this option is \fBtrue\fP, the parser converts HTML elements to native elements\. For example, when parsing \fB<em>hallo</em>\fP the emphasis tag would normally be converted to an \fB:html\fP element with tag type \fB:em\fP\&\. If \fBhtml_to_native\fP is \fBtrue\fP, then the emphasis would be converted to a native \fB:em\fP element\. -.P -This is useful for converters that cannot deal with HTML elements\. -.P -Default: false Used by: kramdown parser -.RE -.TP -\fB\-\-latex\-headers\fP \fIARG\fP -Defines the LaTeX commands for different header levels -.RS -.P -The commands for the header levels one to six can be specified by separating them with commas\. -.P -Default: section,subsection,subsubsection,paragraph,subparagraph,subparagraph Used by: Latex converter -.RE -.TP -\fB\-\-line\-width\fP \fIARG\fP -Defines the line width to be used when outputting a document -.RS -.P -Default: 72 Used by: kramdown converter -.RE -.TP -\fB\-\-link\-defs\fP \fIARG\fP -Pre\-defines link definitions -.RS -.P -This option can be used to pre\-define link definitions\. The value needs to be a Hash where the keys are the link identifiers and the values are two element Arrays with the link URL and the link title\. -.P -If the value is a String, it has to contain a valid YAML hash and the hash has to follow the above guidelines\. -.P -Default: {} Used by: kramdown parser -.RE -.TP -\fB\-\-math\-engine\fP \fIARG\fP -Set the math engine -.RS -.P -Specifies the math engine that should be used for converting math blocks/spans\. If this option is set to +nil+, no math engine is used and the math blocks/spans are output as is\. -.P -Options for the selected math engine can be set with the math_engine_opts configuration option\. -.P -Default: mathjax Used by: HTML converter -.RE -.TP -\fB\-\-math\-engine\-opts\fP \fIARG\fP -Set the math engine options -.RS -.P -Specifies options for the math engine set via the math_engine configuration option\. -.P -The value needs to be a hash with key\-value pairs that are understood by the used math engine\. -.P -Default: {} Used by: HTML converter -.RE -.TP -\fB\-\-[no\-]parse\-block\-html\fP -Process kramdown syntax in block HTML tags -.RS -.P -If this option is \fBtrue\fP, the kramdown parser processes the content of block HTML tags as text containing block\-level elements\. Since this is not wanted normally, the default is \fBfalse\fP\&\. It is normally better to selectively enable kramdown processing via the markdown attribute\. -.P -Default: false Used by: kramdown parser -.RE -.TP -\fB\-\-[no\-]parse\-span\-html\fP -Process kramdown syntax in span HTML tags -.RS -.P -If this option is \fBtrue\fP, the kramdown parser processes the content of span HTML tags as text containing span\-level elements\. -.P -Default: true Used by: kramdown parser -.RE -.TP -\fB\-\-[no\-]remove\-block\-html\-tags\fP -Remove block HTML tags -.RS -.P -If this option is \fBtrue\fP, the RemoveHtmlTags converter removes block HTML tags\. -.P -Default: true Used by: RemoveHtmlTags converter -.RE -.TP -\fB\-\-[no\-]remove\-line\-breaks\-for\-cjk\fP -Specifies whether line breaks should be removed between CJK characters -.RS -.P -Default: false Used by: HTML converter -.RE -.TP -\fB\-\-[no\-]remove\-span\-html\-tags\fP -Remove span HTML tags -.RS -.P -If this option is \fBtrue\fP, the RemoveHtmlTags converter removes span HTML tags\. -.P -Default: false Used by: RemoveHtmlTags converter -.RE -.TP -\fB\-\-smart\-quotes\fP \fIARG\fP -Defines the HTML entity names or code points for smart quote output -.RS -.P -The entities identified by entity name or code point that should be used for, in order, a left single quote, a right single quote, a left double and a right double quote are specified by separating them with commas\. -.P -Default: lsquo,rsquo,ldquo,rdquo Used by: HTML/Latex converter -.RE -.TP -\fB\-\-syntax\-highlighter\fP \fIARG\fP -Set the syntax highlighter -.RS -.P -Specifies the syntax highlighter that should be used for highlighting code blocks and spans\. If this option is set to +nil+, no syntax highlighting is done\. -.P -Options for the syntax highlighter can be set with the syntax_highlighter_opts configuration option\. -.P -Default: rouge Used by: HTML/Latex converter -.RE -.TP -\fB\-\-syntax\-highlighter\-opts\fP \fIARG\fP -Set the syntax highlighter options -.RS -.P -Specifies options for the syntax highlighter set via the syntax_highlighter configuration option\. -.P -The value needs to be a hash with key\-value pairs that are understood by the used syntax highlighter\. -.P -Default: {} Used by: HTML/Latex converter -.RE -.TP -\fB\-\-template\fP \fIARG\fP -The name of an ERB template file that should be used to wrap the output or the ERB template itself\. -.RS -.P -This is used to wrap the output in an environment so that the output can be used as a stand\-alone document\. For example, an HTML template would provide the needed header and body tags so that the whole output is a valid HTML file\. If no template is specified, the output will be just the converted text\. -.P -When resolving the template file, the given template name is used first\. If such a file is not found, the converter extension (the same as the converter name) is appended\. If the file still cannot be found, the templates name is interpreted as a template name that is provided by kramdown (without the converter extension)\. If the file is still not found, the template name is checked if it starts with \[u2018]string://\[u2019] and if it does, this prefix is removed and the rest is used as template content\. -.P -kramdown provides a default template named \[u2018]document\[u2019] for each converter\. -.P -Default: \[u2018]\[u2019] Used by: all converters -.RE -.TP -\fB\-\-toc\-levels\fP \fIARG\fP -Defines the levels that are used for the table of contents -.RS -.P -The individual levels can be specified by separating them with commas (e\.g\. 1,2,3) or by using the range syntax (e\.g\. 1\.\.3)\. Only the specified levels are used for the table of contents\. -.P -Default: 1\.\.6 Used by: HTML/Latex converter -.RE -.TP -\fB\-\-[no\-]transliterated\-header\-ids\fP -Transliterate the header text before generating the ID -.RS -.P -Only ASCII characters are used in headers IDs\. This is not good for languages with many non\-ASCII characters\. By enabling this option the header text is transliterated to ASCII as good as possible so that the resulting header ID is more useful\. -.P -The stringex library needs to be installed for this feature to work! -.P -Default: false Used by: HTML/Latex converter -.RE -.TP -\fB\-\-typographic\-symbols\fP \fIARG\fP -Defines a mapping from typographical symbol to output characters -.RS -.P -Typographical symbols are normally output using their equivalent Unicode codepoint\. However, sometimes one wants to change the output, mostly to fallback to a sequence of ASCII characters\. -.P -This option allows this by specifying a mapping from typographical symbol to its output string\. For example, the mapping {hellip: \.\.\.} would output the standard ASCII representation of an ellipsis\. -.P -The available typographical symbol names are: -.IP \(bu 4 -hellip: ellipsis -.IP \(bu 4 -mdash: em\-dash -.IP \(bu 4 -ndash: en\-dash -.IP \(bu 4 -laquo: left guillemet -.IP \(bu 4 -raquo: right guillemet -.IP \(bu 4 -laquo_space: left guillemet followed by a space -.IP \(bu 4 -raquo_space: right guillemet preceeded by a space -.P -Default: {} Used by: HTML/Latex converter -.RE -.SH "EXIT STATUS" -The exit status is 0 if no error happened\. Otherwise it is 1\. -.SH "SEE ALSO" -The kramdown website -.UR http://kramdown\.gettalong\.org -.UE -for more information, especially on the supported input syntax\. -.SH "AUTHOR" -kramdown was written by Thomas Leitner -.MT t_leitner@gmx\.at -.UE -\&\. -.P -This manual page was written by Thomas Leitner -.MT t_leitner@gmx\.at -.UE -\&\. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/run_tests.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/run_tests.rb deleted file mode 100644 index abda502..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/run_tests.rb +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8; frozen_string_literal: true -*- -# -#-- -# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at> -# -# This file is part of kramdown which is licensed under the MIT. -#++ -# - -$:.unshift File.dirname(__FILE__) + '/../lib' -require 'kramdown' -require 'test/unit/assertions' -require 'yaml' - -include Test::Unit::Assertions - -arg = ARGV[0] || File.join(File.dirname(__FILE__), 'testcases') - -arg = if File.directory?(arg) - File.join(arg, '**/*.text') - else - arg + '.text' - end - -width = ((size = `stty size 2>/dev/null`).length > 0 ? size.split.last.to_i : 72) rescue 72 -width -= 8 -fwidth = 0 -Dir[arg].each {|f| fwidth = [fwidth, f.length + 10].max }.each do |file| - print(('Testing ' + file + ' ').ljust([fwidth, width].min)) - $stdout.flush - - html_file = file.sub('.text', '.html') - opts_file = file.sub('.text', '.options') - opts_file = File.join(File.dirname(file), 'options') unless File.exist?(opts_file) - options = File.exist?(opts_file) ? YAML.safe_load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - doc = Kramdown::Document.new(File.read(file), options) - begin - assert_equal(File.read(html_file), doc.to_html) - puts 'PASSED' - rescue StandardError - puts ' FAILED' - puts $!.message if $VERBOSE - puts $!.backtrace if $DEBUG - end - puts "Warnings:\n" + doc.warnings.join("\n") if !doc.warnings.empty? && $VERBOSE -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_files.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_files.rb deleted file mode 100644 index 7e2ccad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_files.rb +++ /dev/null @@ -1,302 +0,0 @@ -# -*- coding: utf-8; frozen_string_literal: true -*- -# -#-- -# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at> -# -# This file is part of kramdown which is licensed under the MIT. -#++ -# - -require 'minitest/autorun' -require 'kramdown' -require 'yaml' -require 'tmpdir' -require 'open3' - -begin - require 'kramdown/converter/syntax_highlighter/rouge' - - Kramdown::Converter::SyntaxHighlighter::Rouge.formatter_class.send(:define_method, :format) do |tokens, &b| - super(tokens, &b).sub(/<\/code><\/pre>\n?/, "</code></pre>\n") - end - - # custom formatter for tests - module Rouge - module Formatters - class RougeHTMLFormatters < Kramdown::Converter::SyntaxHighlighter::Rouge.formatter_class - - tag 'rouge_html_formatters' - - def stream(tokens, &b) - yield %(<div class="custom-class">) - super - yield %(</div>) - end - - end - end - end -rescue LoadError, SyntaxError, NameError -end - -Encoding.default_external = 'utf-8' - -class TestFiles < Minitest::Test - - EXCLUDE_KD_FILES = [].compact - - # Generate test methods for kramdown-to-xxx conversion - Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file| - next if EXCLUDE_KD_FILES.any? {|f| text_file =~ /#{f}/ } - basename = text_file.sub(/\.text$/, '') - opts_file = text_file.sub(/\.text$/, '.options') - (Dir[basename + ".*"] - [text_file, opts_file]).each do |output_file| - output_format = File.extname(output_file)[1..-1] - next unless Kramdown::Converter.const_defined?(output_format[0..0].upcase + output_format[1..-1]) - define_method('test_' + text_file.tr('.', '_') + "_to_#{output_format}") do - opts_file = File.join(File.dirname(text_file), 'options') unless File.exist?(opts_file) - options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - doc = Kramdown::Document.new(File.read(text_file), options) - assert_equal(File.read(output_file), doc.send("to_#{output_format}")) - end - end - end - - # Generate test methods for html-to-{html,kramdown} conversion - `tidy -v 2>&1` - if $?.exitstatus != 0 - warn("Skipping html-to-{html,kramdown} tests because tidy executable is missing") - else - EXCLUDE_HTML_FILES = [ - 'test/testcases/block/06_codeblock/whitespace.html', # bc of span inside pre - 'test/testcases/block/09_html/simple.html', # bc of xml elements - 'test/testcases/span/03_codespan/highlighting.html', # bc of span elements inside code element - 'test/testcases/block/04_header/with_auto_ids.html', # bc of auto_ids=true option - 'test/testcases/block/04_header/header_type_offset.html', # bc of header_offset option - 'test/testcases/block/06_codeblock/rouge/simple.html', # bc of double surrounding <div> - 'test/testcases/block/06_codeblock/rouge/multiple.html', # bc of double surrounding <div> - 'test/testcases/block/06_codeblock/highlighting.html', # bc of span elements inside code element - 'test/testcases/block/06_codeblock/highlighting-opts.html', # bc of span elements inside code element - 'test/testcases/block/06_codeblock/guess_lang_css_class.html', # bc of double surrounding <div> - 'test/testcases/block/12_extension/options3.html', # bc of rouge - 'test/testcases/block/14_table/empty_tag_in_cell.html', # bc of tidy - 'test/testcases/block/15_math/mathjax_preview.html', # bc of mathjax preview - 'test/testcases/block/15_math/mathjax_preview_simple.html', # bc of mathjax preview - 'test/testcases/block/15_math/mathjax_preview_as_code.html', # bc of mathjax preview - 'test/testcases/span/05_html/mark_element.html', # bc of tidy - 'test/testcases/block/09_html/xml.html', # bc of tidy - 'test/testcases/span/05_html/xml.html', # bc of tidy - ].compact - EXCLUDE_HTML_TEXT_FILES = [ - 'test/testcases/block/09_html/parse_as_span.htmlinput', - 'test/testcases/block/09_html/parse_as_raw.htmlinput', - ].compact - Dir[File.dirname(__FILE__) + '/testcases/**/*.{html,htmlinput}'].each do |html_file| - next if EXCLUDE_HTML_FILES.any? {|f| html_file =~ /#{f}/ } - - out_files = [] - out_files << [(html_file =~ /\.htmlinput$/ ? html_file.sub(/input$/, '') : html_file), :to_html] - if html_file =~ /\.htmlinput$/ && EXCLUDE_HTML_TEXT_FILES.none? {|f| html_file =~ /#{f}/ } - out_files << [html_file.sub(/htmlinput$/, 'text'), :to_kramdown] - end - out_files.select {|f, _| File.exist?(f) }.each do |out_file, out_method| - define_method('test_' + html_file.tr('.', '_') + "_to_#{File.extname(out_file)}") do - opts_file = html_file.sub(/\.html(input)?$/, '.options') - opts_file = File.join(File.dirname(html_file), 'options') unless File.exist?(opts_file) - options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - doc = Kramdown::Document.new(File.read(html_file), options.merge(input: 'html')) - if out_method == :to_html - assert_equal(tidy_output(File.read(out_file)), tidy_output(doc.send(out_method))) - else - assert_equal(File.read(out_file), doc.send(out_method)) - end - end - end - end - end - - def tidy_output(out) - cmd = "tidy -q --doctype omit -utf8" - result, error, status = Open3.capture3(cmd, stdin_data: out) - if status.exitstatus == 2 - raise "Problem using tidy: #{error}" - end - result - end - - # Generate test methods for text-to-latex conversion and compilation - `latex -v 2>&1` - if $?.exitstatus != 0 - warn("Skipping latex compilation tests because latex executable is missing") - else - EXCLUDE_LATEX_FILES = [ - 'test/testcases/span/01_link/image_in_a.text', # bc of image link - 'test/testcases/span/01_link/imagelinks.text', # bc of image links - 'test/testcases/span/01_link/empty_title.text', - 'test/testcases/span/04_footnote/markers.text', # bc of footnote in header - 'test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text', - 'test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text', - 'test/testcases/block/03_paragraph/standalone_image.text', # bc of standalone image - 'test/testcases/cjk-line-break.text', # latex unicode support - ].compact - Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file| - next if EXCLUDE_LATEX_FILES.any? {|f| text_file =~ /#{f}$/ } - define_method('test_' + text_file.tr('.', '_') + "_to_latex_compilation") do - latex = Kramdown::Document.new(File.read(text_file), auto_ids: false, footnote_nr: 1, - template: 'document').to_latex - Dir.mktmpdir do |tmpdir| - result = IO.popen("latex -output-directory='#{tmpdir}' 2>/dev/null", 'r+') do |io| - io.write(latex) - io.close_write - io.read - end - assert($?.exitstatus == 0, result.scan(/^!(.*\n.*)/).join("\n")) - end - end - end - end - - # Generate test methods for text->kramdown->html conversion - `tidy -v 2>&1` - if $?.exitstatus != 0 - warn("Skipping text->kramdown->html tests because tidy executable is missing") - else - EXCLUDE_TEXT_FILES = [ - 'test/testcases/span/05_html/markdown_attr.text', # bc of markdown attr - 'test/testcases/block/09_html/markdown_attr.text', # bc of markdown attr - 'test/testcases/span/extension/options.text', # bc of parse_span_html option - 'test/testcases/block/12_extension/options.text', # bc of options option - 'test/testcases/block/12_extension/options3.text', # bc of options option - 'test/testcases/block/09_html/content_model/tables.text', # bc of parse_block_html option - 'test/testcases/block/09_html/html_to_native/header.text', # bc of auto_ids option that interferes - 'test/testcases/block/09_html/html_to_native/table_simple.text', # bc of tr style attr getting removed - 'test/testcases/block/09_html/simple.text', # bc of webgen:block elements - 'test/testcases/block/11_ial/simple.text', # bc of change of ordering of attributes in header - 'test/testcases/span/extension/comment.text', # bc of comment text modifications (can this be avoided?) - 'test/testcases/block/04_header/header_type_offset.text', # bc of header_offset being applied twice - 'test/testcases/block/06_codeblock/rouge/simple.text', - 'test/testcases/block/06_codeblock/rouge/multiple.text', # check, what document contain more, than one code block - 'test/testcases/block/14_table/empty_tag_in_cell.text', # bc of tidy - 'test/testcases/span/01_link/link_defs_with_ial.text', # bc of attribute ordering - 'test/testcases/span/05_html/mark_element.text', # bc of tidy - 'test/testcases/block/09_html/xml.text', # bc of tidy - 'test/testcases/span/05_html/xml.text', # bc of tidy - 'test/testcases/block/03_paragraph/standalone_image.text', # bc of standalone image - 'test/testcases/cjk-line-break.text', - 'test/testcases/block/09_html/standalone_image_in_div.html', # bc of standalone image - 'test/testcases/span/abbreviations/abbrev_in_html.text', # bc of invalid abbr tag in SVG - ].compact - Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file| - next if EXCLUDE_TEXT_FILES.any? {|f| text_file =~ /#{f}$/ } - html_file = text_file.sub(/\.text$/, '.html') - next unless File.exist?(html_file) - define_method('test_' + text_file.tr('.', '_') + "_to_kramdown_to_html") do - opts_file = text_file.sub(/\.text$/, '.options') - opts_file = File.join(File.dirname(text_file), 'options') unless File.exist?(opts_file) - options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - kdtext = Kramdown::Document.new(File.read(text_file), options).to_kramdown - html = Kramdown::Document.new(kdtext, options).to_html - assert_equal(tidy_output(File.read(html_file)), tidy_output(html)) - end - end - end - - # Generate test methods for html-to-kramdown-to-html conversion - `tidy -v 2>&1` - if $?.exitstatus != 0 - warn("Skipping html-to-kramdown-to-html tests because tidy executable is missing") - else - EXCLUDE_HTML_KD_FILES = [ - 'test/testcases/span/extension/options.html', # bc of parse_span_html option - 'test/testcases/span/05_html/normal.html', # bc of br tag before closing p tag - 'test/testcases/block/12_extension/nomarkdown.html', # bc of nomarkdown extension - 'test/testcases/block/12_extension/options3.html', # bc of rouge - 'test/testcases/block/09_html/simple.html', # bc of webgen:block elements - 'test/testcases/block/09_html/markdown_attr.html', # bc of markdown attr - 'test/testcases/block/09_html/html_to_native/table_simple.html', # bc of invalidly converted simple table - 'test/testcases/block/06_codeblock/whitespace.html', # bc of entity to char conversion - 'test/testcases/block/06_codeblock/rouge/simple.html', # bc of double surrounding <div> - 'test/testcases/block/06_codeblock/rouge/multiple.html', # bc of double surrounding <div> - 'test/testcases/block/06_codeblock/guess_lang_css_class.html', # bc of double surrounding <div> - 'test/testcases/block/06_codeblock/highlighting.html', # bc of span elements inside code element - 'test/testcases/block/06_codeblock/highlighting-opts.html', # bc of span elements inside code element - 'test/testcases/block/11_ial/simple.html', # bc of change of ordering of attributes in header - 'test/testcases/span/03_codespan/highlighting.html', # bc of span elements inside code element - 'test/testcases/block/04_header/with_auto_ids.html', # bc of auto_ids=true option - 'test/testcases/block/04_header/header_type_offset.html', # bc of header_offset option - 'test/testcases/block/16_toc/toc_exclude.html', # bc of different attribute ordering - 'test/testcases/span/autolinks/url_links.html', # bc of quot entity being converted to char - 'test/testcases/block/14_table/empty_tag_in_cell.html', # bc of tidy - 'test/testcases/span/01_link/link_defs_with_ial.html', # bc of attribute ordering - 'test/testcases/span/05_html/mark_element.html', # bc of tidy - 'test/testcases/block/09_html/xml.html', # bc of tidy - 'test/testcases/span/05_html/xml.html', # bc of tidy - 'test/testcases/block/03_paragraph/standalone_image.html', # bc of standalone image - 'test/testcases/block/15_math/normal.html', # bc of mathjax and HTML parser - 'test/testcases/block/15_math/gh_128.html', # bc of mathjax and HTML parser - 'test/testcases/span/04_footnote/backlink_inline.html', # bc of mathjax - 'test/testcases/block/09_html/standalone_image_in_div.html', # bc of standalone image - 'test/testcases/block/09_html/processing_instruction.html', # bc of PI - ].compact - Dir[File.dirname(__FILE__) + '/testcases/**/*.html'].each do |html_file| - next if EXCLUDE_HTML_KD_FILES.any? {|f| html_file =~ /#{f}$/ } - define_method('test_' + html_file.tr('.', '_') + "_to_kramdown_to_html") do - kd = Kramdown::Document.new(File.read(html_file), input: 'html', - auto_ids: false, footnote_nr: 1).to_kramdown - opts_file = html_file.sub(/\.html$/, '.options') - opts_file = File.join(File.dirname(html_file), 'options') unless File.exist?(opts_file) - options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - doc = Kramdown::Document.new(kd, options) - assert_equal(tidy_output(File.read(html_file)), tidy_output(doc.to_html)) - end - end - end - - # Generate test methods for text-manpage conversion - Dir[File.dirname(__FILE__) + '/testcases/man/**/*.text'].each do |text_file| - define_method('test_' + text_file.tr('.', '_') + "_to_man") do - man_file = text_file.sub(/\.text$/, '.man') - doc = Kramdown::Document.new(File.read(text_file)) - assert_equal(File.read(man_file), doc.to_man) - end - end - - EXCLUDE_MODIFY = [ - 'test/testcases/block/06_codeblock/rouge/multiple.text', # bc of HTMLFormater in options - ].compact - - # Generate test methods for asserting that converters don't modify the document tree. - Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file| - opts_file = text_file.sub(/\.text$/, '.options') - options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - (Kramdown::Converter.constants.map(&:to_sym) - - [:Base, :RemoveHtmlTags, :MathEngine, :SyntaxHighlighter]).each do |conv_class| - next if EXCLUDE_MODIFY.any? {|f| text_file =~ /#{f}$/ } - define_method("test_whether_#{conv_class}_modifies_tree_with_file_#{text_file.tr('.', '_')}") do - doc = Kramdown::Document.new(File.read(text_file), options) - options_before = Marshal.load(Marshal.dump(doc.options)) - tree_before = Marshal.load(Marshal.dump(doc.root)) - Kramdown::Converter.const_get(conv_class).convert(doc.root, doc.options) - assert_equal(options_before, doc.options) - assert_tree_not_changed(tree_before, doc.root) - end - end - end - - def assert_tree_not_changed(old, new) - assert_equal(old.type, new.type, "type mismatch") - if old.value.kind_of?(Kramdown::Element) - assert_tree_not_changed(old.value, new.value) - else - assert(old.value == new.value, "value mismatch") - end - assert_equal(old.attr, new.attr, "attr mismatch") - assert_equal(old.options, new.options, "options mismatch") - assert_equal(old.children.length, new.children.length, "children count mismatch") - - old.children.each_with_index do |child, index| - assert_tree_not_changed(child, new.children[index]) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_location.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_location.rb deleted file mode 100644 index d2642c7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_location.rb +++ /dev/null @@ -1,216 +0,0 @@ -# -*- coding: utf-8; frozen_string_literal: true -*- -# -#-- -# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at> -# -# This file is part of kramdown which is licensed under the MIT. -#++ -# - -require 'minitest/autorun' -require 'kramdown' - -Encoding.default_external = 'utf-8' - -describe 'location' do - # checks that +element+'s :location option corresponds to the location stored - # in the element.attr['class'] - def check_element_for_location(element) - if (match = /^line-(\d+)/.match(element.attr['class'] || '')) - expected_line = match[1].to_i - assert_equal(expected_line, element.options[:location]) - end - element.children.each do |child| - check_element_for_location(child) - end - end - - # Test cases consist of a kramdown string that uses IALs to specify the expected - # line numbers for a given element. - test_cases = { - 'autolink' => %(testing autolinks\n\n<http://kramdown.org>{:.line-3}), - 'blockquote' => %( - > block quote1 - > - > * {:.line-3} list item in block quote - > * {:.line-4} list item in block quote - > {:.line-3} - {:.line-1} - - > block quote2 - {:.line-8} - ), - 'codeblock' => %(\na para\n\n~~~~\ntest code 1\n~~~~\n{:.line-3}\n\n test code 2\n{:.line-8}\n), - 'codespan' => %(a para\n\nanother para `<code>`{:.line-3} with code\n), - 'emphasis' => %( - para *span*{:.line-1} - {:.line-1} - - ## header *span*{:.line-4} - {:.line-4} - - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum *short span on single line*{:.line-11} - dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - *long span over multiple lines - proident, sunt in culpa qui officia deserunt - mollit anim id est laborum.*{:.line-13} - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - `code span`{:.line-18} - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - {:.line-7} - ), - 'header' => %( - # header1 - {:.line-1} - - ## header2 - {:.line-4} - - ## header3 - {:.line-7} - - header4 - ======= - {:.line-10} - - ^ - - header5 - ------- - {:.line-16} - ), - 'horizontal_rule' => %(\na para\n\n----\n{:.line-3}\n), - 'html_entity' => "a para\n\nanother para with &amp;{:.line-3} html entity.\n", - 'link' => %( - a para - - This is [a link](http://rubyforge.org){:.line-3} to a page. - - Here comes a ![smiley](../images/smiley.png){:.line-5} - ), - 'list' => %( - * {:.line-1} list item - * {:.line-2} list item - * {:.line-3} list item - {:.line-1} - - {:.line-7} - 1. {:.line-7} list item - 2. {:.line-8} list item - 3. {:.line-9} list item - - {:.line-12} - definition term 1 - : {:.line-13} definition definition 1 - definition term 2 - : {:.line-15} definition definition 2 - ), - 'math_block' => %(\na para\n\n$$5+5$$\n{:.line-3}\n), - 'math_inline' => %(\na para\n\nanother para with inline math $$5+5$${:.line-3}\n), - 'paragraph' => %( - para1 - {:.line-1} - - para2 - {:.line-4} - - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - {:.line-7} - - {:.line-14} - para with leading IAL - ), - 'table' => %( - a para - - |first|second|third| - |-----|------|-----| - |a |b |c | - {:.line-3} - ), - 'typographic_symbol' => %( - a para - - another para ---{:.line-3} - - another para ...{:.line-5} - ), - 'gh issue 129' => %( - `|` - {:.line-1} - ), - 'gh issue 131' => %( - * {:.line-1} test - line 2 - * {:.line-3} second - * {:.line-4} third - * {:.line-5} * {:.line-5} one - * {:.line-6} two - ), - 'gh issue 158' => %( - 😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁 - {:.line-1} - - - {:.line-4} T - {:.line-4} - - # T - {:.line-7} - ), - 'gh issue 243 - HTML raw elements' => %( - <ul class="line-1"> - <li class="line-2">Test</li> - </ul> - ), - } - test_cases.each do |name, test_string| - it "Handles #{name}" do - doc = Kramdown::Document.new(test_string.gsub(/^ /, '').strip) - check_element_for_location(doc.root) - end - end - - it 'adds location info to duplicate abbreviation definition warnings' do - test_string = %(This snippet contains a duplicate abbreviation definition - -*[duplicate]: The first definition -*[duplicate]: The second definition - ) - doc = Kramdown::Document.new(test_string.strip) - assert_equal(["Duplicate abbreviation ID 'duplicate' on line 4 - overwriting"], doc.warnings) - end - - it 'handles abbreviations' do - str = "This *is* ABC and\n**and** ABC second\nanother ABC\nas ABC as\nABC at the end.\n\n*[ABC]: ABC" - doc = Kramdown::Document.new(str) - doc.root.children.first.children.select {|e| e.type == :abbreviation }.each_with_index do |e, i| - assert_equal(i + 1, e.options[:location]) - end - end - - it 'handles line breaks' do - str = "First \nsecond\\\\\nthird \n" - doc = Kramdown::Document.new(str) - doc.root.children.first.children.select {|e| e.type == :br }.each_with_index do |e, i| - assert_equal(i + 1, e.options[:location]) - end - end - - it 'handles smart quotes' do - str = "This is 'first'\nand 'second' and\n'third'" - doc = Kramdown::Document.new(str) - doc.root.children.first.children.select {|e| e.type == :smart_quote }.each_with_index do |e, i| - assert_equal(((i + 1) / 2.0).ceil, e.options[:location]) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_string_scanner_kramdown.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_string_scanner_kramdown.rb deleted file mode 100644 index 713c03c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/test_string_scanner_kramdown.rb +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8; frozen_string_literal: true -*- -# -#-- -# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at> -# -# This file is part of kramdown which is licensed under the MIT. -#++ -# - -require 'minitest/autorun' -require 'kramdown/utils/string_scanner' - -describe Kramdown::Utils::StringScanner do - [ - ["...........X............", [/X/], 1], - ["1\n2\n3\n4\n5\n6X", [/X/], 6], - ["1\n2\n3\n4\n5\n6X\n7\n8X", [/X/, /X/], 8], - [(".\n" * 1000) + 'X', [/X/], 1001], - ].each_with_index do |test_data, i| - test_string, scan_regexes, expect = test_data - it "computes the correct current_line_number for example ##{i + 1}" do - str_sc = Kramdown::Utils::StringScanner.new(test_string) - scan_regexes.each {|scan_re| str_sc.scan_until(scan_re) } - assert_equal(expect, str_sc.current_line_number) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/spaces.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/spaces.html deleted file mode 100644 index 8b13789..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/spaces.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/spaces.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/spaces.text deleted file mode 100644 index 2cbdaa6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/spaces.text +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/tabs.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/tabs.html deleted file mode 100644 index 8b13789..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/tabs.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/tabs.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/tabs.text deleted file mode 100644 index 69d6a47..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/01_blank_line/tabs.text +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/beginning.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/beginning.html deleted file mode 100644 index 8b13789..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/beginning.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/beginning.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/beginning.text deleted file mode 100644 index 8d15802..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/beginning.text +++ /dev/null @@ -1,3 +0,0 @@ -^ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/end.html deleted file mode 100644 index 8b13789..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/end.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/end.text deleted file mode 100644 index db56ec3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/end.text +++ /dev/null @@ -1,3 +0,0 @@ - - -^ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/middle.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/middle.html deleted file mode 100644 index 8b13789..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/middle.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/middle.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/middle.text deleted file mode 100644 index 87210a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/02_eob/middle.text +++ /dev/null @@ -1,5 +0,0 @@ - - -^ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.html deleted file mode 100644 index 810cfc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.html +++ /dev/null @@ -1,18 +0,0 @@ -<p>This is a para.</p> - -<p>This is a para.</p> - -<p>This is a para.</p> - -<p>This is a para.</p> - -<pre><code>This is a code block. -</code></pre> - -<p>And this is another.</p> - -<p>A para - with - mixed -indents. - and with much indent</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.html.gfm b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.html.gfm deleted file mode 100644 index 4440c62..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.html.gfm +++ /dev/null @@ -1,18 +0,0 @@ -<p>This is a para.</p> - -<p>This is a para.</p> - -<p>This is a para.</p> - -<p>This is a para.</p> - -<pre><code>This is a code block. -</code></pre> - -<p>And this is another.</p> - -<p>A para -<br /> with -<br /> mixed -<br />indents. -<br /> and with much indent</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.text deleted file mode 100644 index 5849f5b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/indented.text +++ /dev/null @@ -1,19 +0,0 @@ -This is a para. - - This is a para. - - This is a para. - - This is a para. - - This is a code block. - - - -And this is another. - -A para - with - mixed -indents. - and with much indent diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/line_break_last_line.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/line_break_last_line.html deleted file mode 100644 index 9bc47db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/line_break_last_line.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>First line<br /> -<a href="https://example.com">https://example.com</a></p> - -<p>First line<br /> -<a href="https://example.com">https://example.com</a></p> - -<p>Last Line</p> - -<p>Last Line\</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/line_break_last_line.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/line_break_last_line.text deleted file mode 100644 index bbc4cc5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/line_break_last_line.text +++ /dev/null @@ -1,9 +0,0 @@ -First line -<https://example.com> - -First line\\ -<https://example.com> - -Last Line - -Last Line\\ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/no_newline_at_end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/no_newline_at_end.html deleted file mode 100644 index 6a209e2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/no_newline_at_end.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>One paragraph -over - multiple lines.</p> - -<p>Second one without newline.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/no_newline_at_end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/no_newline_at_end.text deleted file mode 100644 index 7f1169d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/no_newline_at_end.text +++ /dev/null @@ -1,5 +0,0 @@ - One paragraph -over - multiple lines. - -Second one without newline. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/one_para.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/one_para.html deleted file mode 100644 index 0d20e17..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/one_para.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is just a normal paragraph.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/one_para.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/one_para.text deleted file mode 100644 index 0b01324..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/one_para.text +++ /dev/null @@ -1 +0,0 @@ -This is just a normal paragraph. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/standalone_image.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/standalone_image.html deleted file mode 100644 index 7faa971..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/standalone_image.html +++ /dev/null @@ -1,13 +0,0 @@ -<p>para</p> - -<figure class="class" id="id"> - <img src="some.jpg" alt="standalone image" key="value" /> - <figcaption>standalone image</figcaption> -</figure> - -<figure id="block-id" class="block-class" block-key="block-value"> - <img src="some.jpg" alt="standalone image" id="id" class="class" key="value" /> - <figcaption>standalone image</figcaption> -</figure> - -<p>para</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/standalone_image.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/standalone_image.text deleted file mode 100644 index 3010140..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/standalone_image.text +++ /dev/null @@ -1,9 +0,0 @@ -para -{:standalone} - -![standalone image](some.jpg){:#id .class key="value" standalone} - -![standalone image](some.jpg){:#id .class key="value" standalone} -{:#block-id .block-class block-key="block-value"} - -para diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/two_para.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/two_para.html deleted file mode 100644 index d6194ea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/two_para.html +++ /dev/null @@ -1,4 +0,0 @@ -<p>This is just a normal paragraph. -That goes on to the second line.</p> - -<p>Another paragraph.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/two_para.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/two_para.text deleted file mode 100644 index b0c730d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/two_para.text +++ /dev/null @@ -1,4 +0,0 @@ -This is just a normal paragraph. -That goes on to the second line. - -Another paragraph. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.html deleted file mode 100644 index a8831e6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.html +++ /dev/null @@ -1 +0,0 @@ -<p><img src="http://example.com/image.png" alt="" /> some text</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.options deleted file mode 100644 index 63936b9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.options +++ /dev/null @@ -1 +0,0 @@ -:html_to_native: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.text deleted file mode 100644 index e5fe18a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/03_paragraph/with_html_to_native.text +++ /dev/null @@ -1 +0,0 @@ -<p><img src="http://example.com/image.png" alt="" /></p> some text diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header.html deleted file mode 100644 index 0704107..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header.html +++ /dev/null @@ -1,57 +0,0 @@ -<h1>This is a header</h1> - -<h2>This is a header</h2> - -<h3>This is a header</h3> - -<h4>This is a header</h4> - -<h5>This is a header</h5> - -<h6>This is a header</h6> - -<h1>Header</h1> -<h1>Header</h1> - -<h2>Header</h2> -<blockquote> - <p>blockquote</p> -</blockquote> - -<h6>header</h6> -<p>paragraph</p> - -<blockquote> - <p>blockquote -### not a header</p> -</blockquote> - -<h1>header</h1> - -<h1>header</h1> - -<h1>header</h1> - -<h1>header #</h1> - -<h1>header</h1> - -<p>#</p> - -<p>#</p> - -<h3 id="id">Header</h3> - -<h3 id="Id">Header</h3> - -<h3 id="id">Header</h3> - -<h3 id="A-Za-z0-9_:t">Header</h3> - -<h3>Header {#9ab}</h3> - -<h3>Header{#noid}</h3> - -<h3>Header ##{#noid}</h3> - -<h3>Last</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header.text deleted file mode 100644 index 392b3f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header.text +++ /dev/null @@ -1,54 +0,0 @@ -# This is a header - -## This is a header - -### This is a header - -#### This is a header - -##### This is a header - -###### This is a header - -# Header -^ -# Header - -##Header ##### -> blockquote - -###### header -paragraph - -> blockquote -### not a header - -# header # - -# header# - -#header# - -# header \# - -# header - -# - -# - -### Header {#id} - -### Header ## {#Id} - -### Header ## {#id} - -### Header {#A-Za-z0-9_:t} - -### Header {#9ab} - -### Header{#noid} - -### Header ##{#noid} - -### Last diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header_no_newline_at_end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header_no_newline_at_end.html deleted file mode 100644 index 9f49c3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header_no_newline_at_end.html +++ /dev/null @@ -1 +0,0 @@ -<h1>header</h1> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header_no_newline_at_end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header_no_newline_at_end.text deleted file mode 100644 index 7b74be4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/atx_header_no_newline_at_end.text +++ /dev/null @@ -1 +0,0 @@ -# header \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.html deleted file mode 100644 index e031b9a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.html +++ /dev/null @@ -1,11 +0,0 @@ -<h2>Lorem ipsum</h2> - -<h3>Lorem ipsum</h3> - -<h4>Lorem ipsum</h4> - -<h6>Lorem ipsum</h6> - -<h2>Lorem ipsum</h2> - -<h3>Lorem ipsum</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.kramdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.kramdown deleted file mode 100644 index a77deb9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.kramdown +++ /dev/null @@ -1,12 +0,0 @@ -## Lorem ipsum - -### Lorem ipsum - -#### Lorem ipsum - -###### Lorem ipsum - -## Lorem ipsum - -### Lorem ipsum - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.latex deleted file mode 100644 index c9017e6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.latex +++ /dev/null @@ -1,12 +0,0 @@ -\subsection*{Lorem ipsum} - -\subsubsection*{Lorem ipsum} - -\paragraph*{Lorem ipsum} - -\subparagraph*{Lorem ipsum} - -\subsection*{Lorem ipsum} - -\subsubsection*{Lorem ipsum} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.options deleted file mode 100644 index a805035..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.options +++ /dev/null @@ -1,2 +0,0 @@ -:header_offset: 1 -:auto_ids: false \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.text deleted file mode 100644 index bfaefa2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/header_type_offset.text +++ /dev/null @@ -1,13 +0,0 @@ -# Lorem ipsum - -## Lorem ipsum - -### Lorem ipsum - -###### Lorem ipsum - -Lorem ipsum -=========== - -Lorem ipsum ------------ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header.html deleted file mode 100644 index 147c345..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header.html +++ /dev/null @@ -1,32 +0,0 @@ -<h2>test</h2> - -<h1>test2</h1> - -<h2>test</h2> -<p>para</p> - -<pre><code> header = -</code></pre> - -<p>=</p> - -<p>This is a para. -With two lines. -And not a header. -=================</p> - -<blockquote> - <p>Blockquote. -Not a Header --</p> -</blockquote> - -<h2 id="id">header</h2> - -<h1 id="Id">header</h1> - -<h2 id="A-Za-z0-9_:">header</h2> - -<h2>header{#noid}</h2> - -<h2>header</h2> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header.text deleted file mode 100644 index ae94ecd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header.text +++ /dev/null @@ -1,39 +0,0 @@ -test -- - -test2 -========= - -test -- -para - - header -= - - -= - -This is a para. -With two lines. -And not a header. -================= - -> Blockquote. -Not a Header -- - -header {#id} ------------- - -header {#Id} -====== - -header {#A-Za-z0-9_:} ------- - -header{#noid} ------ - -header ------- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header_no_newline_at_end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header_no_newline_at_end.html deleted file mode 100644 index 9f49c3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header_no_newline_at_end.html +++ /dev/null @@ -1 +0,0 @@ -<h1>header</h1> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header_no_newline_at_end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header_no_newline_at_end.text deleted file mode 100644 index 0f00750..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/setext_header_no_newline_at_end.text +++ /dev/null @@ -1,2 +0,0 @@ -header -====== \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.html deleted file mode 100644 index 724d391..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.html +++ /dev/null @@ -1,3 +0,0 @@ -<h1 id="hallo_header-1">Header 1</h1> - -<h1 id="hallo_section">123</h1> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.options deleted file mode 100644 index 83305cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: true -:auto_id_prefix: hallo_ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.text deleted file mode 100644 index acf09fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_prefix.text +++ /dev/null @@ -1,3 +0,0 @@ -# Header 1 - -# 123 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.html deleted file mode 100644 index 1d342cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.html +++ /dev/null @@ -1 +0,0 @@ -<h1 id="this-is-a-header"><em class="none">This is a header</em></h1> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.options deleted file mode 100644 index 68800f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.options +++ /dev/null @@ -1 +0,0 @@ -:auto_id_stripping: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.text deleted file mode 100644 index 2b57bc8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_id_stripping.text +++ /dev/null @@ -1 +0,0 @@ -# <em class="none">This is a header</em> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.html deleted file mode 100644 index af8126d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.html +++ /dev/null @@ -1,21 +0,0 @@ -<h1 id="this-is-a-header">This is a header</h1> - -<h2 id="another-one-1-here">12. Another one-1-here</h2> - -<h3 id="do--it-now">Do ^&amp; it now</h3> - -<h1 id="hallo">Hallo</h1> - -<h2 id="not-now">Not now</h2> - -<h1 id="hallo-1">Hallo</h1> - -<h1 id="section">23232</h1> - -<h1 id="section-1">33333</h1> - -<h2 id="hallo-2">hallO</h2> - -<h1>Header without ID</h1> - -<h1 id="transliterated-day-la-vi-du">Transliterated: Đây-là-ví-dụ</h1> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.options deleted file mode 100644 index 0a1fec8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: true -:transliterated_header_ids: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.text deleted file mode 100644 index f4cd91b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/04_header/with_auto_ids.text +++ /dev/null @@ -1,24 +0,0 @@ -# This is a header - -## 12. Another one-1-here - -### Do ^& it now - -Hallo -===== - -Not now -------- - -# Hallo - -# 23232 - -# 33333 - -## hallO - -# Header without ID -{: id=""} - -# Transliterated: Đây-là-ví-dụ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/indented.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/indented.html deleted file mode 100644 index 734bb7a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/indented.html +++ /dev/null @@ -1,25 +0,0 @@ -<blockquote> - <p>A normal blockquote.</p> -</blockquote> - -<blockquote> - <p>A normal blockquote.</p> -</blockquote> - -<blockquote> - <p>A normal blockquote.</p> -</blockquote> - -<blockquote> - <p>A normal blockquote.</p> -</blockquote> - -<pre><code>&gt; A codeblock -</code></pre> - -<blockquote> - <p>Blockquote -with -mixed -indents.</p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/indented.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/indented.text deleted file mode 100644 index 70850b0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/indented.text +++ /dev/null @@ -1,14 +0,0 @@ -> A normal blockquote. - - > A normal blockquote. - - > A normal blockquote. - - > A normal blockquote. - - > A codeblock - -> Blockquote - > with - >mixed -> indents. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/lazy.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/lazy.html deleted file mode 100644 index 00a2102..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/lazy.html +++ /dev/null @@ -1,34 +0,0 @@ -<blockquote> - <p>This is a long -long line.</p> -</blockquote> - -<blockquote> - <blockquote> - <p>Nested quote -inside -still inside</p> - </blockquote> -</blockquote> - -<blockquote> - <blockquote> - <p>This is a subquote. -over multipline lines. -continuing -here</p> - </blockquote> -</blockquote> - -<blockquote> - <p>This is a quote - no code</p> -</blockquote> - -<blockquote id="id"> - <p>This is a quote</p> -</blockquote> - -<blockquote> - <p>This is a quote</p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/lazy.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/lazy.text deleted file mode 100644 index adde6a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/lazy.text +++ /dev/null @@ -1,20 +0,0 @@ -> This is a long -long line. - -> > Nested quote -inside -> still inside - -> > This is a subquote. -> > over multipline lines. -> continuing -here - -> This is a quote - no code - -> This is a quote -{: #id} - -> This is a quote -^ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/nested.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/nested.html deleted file mode 100644 index 4bc94f0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/nested.html +++ /dev/null @@ -1,10 +0,0 @@ -<blockquote> - <p>foo</p> - - <blockquote> - <p>bar - baz</p> - </blockquote> - - <p>foo</p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/nested.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/nested.text deleted file mode 100644 index 2176882..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/nested.text +++ /dev/null @@ -1,6 +0,0 @@ -> foo -> -> > bar ->> baz -> -> foo diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/no_newline_at_end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/no_newline_at_end.html deleted file mode 100644 index 1de4a60..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/no_newline_at_end.html +++ /dev/null @@ -1,4 +0,0 @@ -<blockquote> - <p>This is a block quote -with no newline.</p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/no_newline_at_end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/no_newline_at_end.text deleted file mode 100644 index 402648a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/no_newline_at_end.text +++ /dev/null @@ -1,2 +0,0 @@ -> This is a block quote -> with no newline. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/very_long_line.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/very_long_line.html deleted file mode 100644 index 4a9aaf5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/very_long_line.html +++ /dev/null @@ -1,3 +0,0 @@ -<blockquote> - <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/very_long_line.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/very_long_line.text deleted file mode 100644 index a2b33bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/very_long_line.text +++ /dev/null @@ -1 +0,0 @@ -> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/with_code_blocks.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/with_code_blocks.html deleted file mode 100644 index 30abd99..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/with_code_blocks.html +++ /dev/null @@ -1,15 +0,0 @@ -<blockquote> - <p>Example:</p> - - <pre><code>sub status { - print "working"; -} -</code></pre> - - <p>Or:</p> - - <pre><code>sub status { - return "working"; -} -</code></pre> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/with_code_blocks.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/with_code_blocks.text deleted file mode 100644 index 3b188dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/05_blockquote/with_code_blocks.text +++ /dev/null @@ -1,11 +0,0 @@ ->Example: -> -> sub status { -> print "working"; -> } -> -> Or: -> -> sub status { -> return "working"; -> } diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.html deleted file mode 100644 index 142a5d3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.html +++ /dev/null @@ -1,4 +0,0 @@ -<pre><code>x = Class.new -</code></pre> -<pre lang="html"><code>&lt;a&gt;href&lt;/a&gt; -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.options deleted file mode 100644 index 72e9bc1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.options +++ /dev/null @@ -1 +0,0 @@ -:enable_coderay: false diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.text deleted file mode 100644 index af4d0bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/disable-highlighting.text +++ /dev/null @@ -1,4 +0,0 @@ - x = Class.new -^ - <a>href</a> -{: lang="html"} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/error.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/error.html deleted file mode 100644 index d9f9da3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/error.html +++ /dev/null @@ -1,4 +0,0 @@ -<p>Some para</p> - -<p>~~~~~~ -not codeblock</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/error.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/error.text deleted file mode 100644 index 60ea366..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/error.text +++ /dev/null @@ -1,4 +0,0 @@ -Some para - -~~~~~~ -not codeblock diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.html deleted file mode 100644 index 066e909..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.html +++ /dev/null @@ -1,15 +0,0 @@ -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>class Foo - def bar - puts 'Hello' - end -end -</code></pre> -</div></div> - -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>class Foo - def bar - puts 'Hello' - end -end -</code></pre> -</div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.options deleted file mode 100644 index bfc92f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.options +++ /dev/null @@ -1,2 +0,0 @@ -:syntax_highlighter_opts: - guess_lang: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.text deleted file mode 100644 index 4b074a8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/guess_lang_css_class.text +++ /dev/null @@ -1,13 +0,0 @@ -~~~ -class Foo - def bar - puts 'Hello' - end -end -~~~ - - class Foo - def bar - puts 'Hello' - end - end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex deleted file mode 100644 index a092a1f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex +++ /dev/null @@ -1,9 +0,0 @@ -\begin{minted}[breaklines,linenos]{ruby} -x = Class.new - -\end{minted} - -\begin{minted}[breaklines,linenos]{html} -<a>this is a reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, long link</a> - -\end{minted} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options deleted file mode 100644 index b773fc8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options +++ /dev/null @@ -1,4 +0,0 @@ -:syntax_highlighter: minted -:syntax_highlighter_opts: - wrap: true - line_numbers: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text deleted file mode 100644 index 2636518..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text +++ /dev/null @@ -1,5 +0,0 @@ - x = Class.new -{: .language-ruby} - - <a>this is a reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, reaally, long link</a> -{: .language-html} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.latex deleted file mode 100644 index 354d6ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.latex +++ /dev/null @@ -1,8 +0,0 @@ -\begin{minted}[]{ruby} -x = Class.new - -\end{minted} -\begin{minted}[]{html} -<a>href</a> - -\end{minted} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.options deleted file mode 100644 index b2ee189..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.options +++ /dev/null @@ -1,3 +0,0 @@ -:syntax_highlighter: minted -:syntax_highlighter_opts: - default_lang: ruby diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.text deleted file mode 100644 index 5ac4746..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-minted.text +++ /dev/null @@ -1,4 +0,0 @@ - x = Class.new -^ - <a>href</a> -{: .language-html} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.html deleted file mode 100644 index b694d37..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.html +++ /dev/null @@ -1,6 +0,0 @@ -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span> -</code></pre> -</div></div> -<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a&gt;</span>href<span class="nt">&lt;/a&gt;</span> -</code></pre> -</div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.options deleted file mode 100644 index be21a32..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.options +++ /dev/null @@ -1,7 +0,0 @@ -:syntax_highlighter_opts: - block: - css: class - default_lang: ruby - wrap: span - line_numbers: null - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.text deleted file mode 100644 index 5ac4746..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting-opts.text +++ /dev/null @@ -1,4 +0,0 @@ - x = Class.new -^ - <a>href</a> -{: .language-html} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.html deleted file mode 100644 index 33dd015..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.html +++ /dev/null @@ -1,5 +0,0 @@ -<pre><code>x = Class.new -</code></pre> -<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a&gt;</span>href<span class="nt">&lt;/a&gt;</span> -</code></pre> -</div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.options deleted file mode 100644 index 8133537..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.options +++ /dev/null @@ -1,5 +0,0 @@ -:coderay_default_lang: ruby -:coderay_wrap: span -:coderay_line_numbers: ~ -:coderay_css: class - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.text deleted file mode 100644 index 5ac4746..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/highlighting.text +++ /dev/null @@ -1,4 +0,0 @@ - x = Class.new -^ - <a>href</a> -{: .language-html} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/issue_gh45.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/issue_gh45.html deleted file mode 100644 index b096a9e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/issue_gh45.html +++ /dev/null @@ -1,164 +0,0 @@ - -<p>B</p> - -<pre><code> BBBBBBBB. - - - - BBBB BB BBBBBBBB BBBBB. BBBBBBB BB BBBBB BB BBB BBBB BBBBB BBB BBB BBBB BBB BBBBBBB BBB BBBBBBB. B BBB'B BBBBB BBBB BBB BBBB BBBBBBB BBBB BBBB BBBB BBBBBBBB. - - - BBB BBBBB BBBBB BBB BBBB BBBB BBBB, BBB BBBBB BB BBBBB BBB BB BBBBBB BBBB BBB BBBBB BBBB BB. BBBBB BBB BBBBB BBBBB BBB BBBB BB BBBB BBBB BBBBB. - - - BBBB BBBBB, BBBBB, BBBBBBBB? - - BB BBB BB BBBB BBB BBBB BBB BBBBBB /BBB BB BBBBBBBBB BBBB BBBBBBB BBBBBB BB BBB. - - - BBBB BBBBBBBB BBB BBBB BB BBBBB BBB BBBBBB BBBB BBBBB BBBBBB BBBBBBBBB BBBB BB BBBBB...................................................................... - - - - - - - - - - - - - - - - - - - - - - BBBBB B'B BBB BBBBB. BBBB BBBBB BBBBB. ( B BBBBB BBBBBBBBBB BBBBB BBBB'B BBBBB BBBBB. BBB BBBB BBBBB BBBB BBBB. BBBBBBB BBB BB BBBBBBB BBB BBB B BBBB BBBBBBBBBBBB. BBBBB BBBBB.) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BBBB'B BB -</code></pre> - -<p>.</p> - -<pre><code> B BBB BBB BBB ? B. B BBB BBBBBB BBBB BBB BBBB. BBBBBBB BB BBBBBBB B BBBB BBBB BBB BBBBBB. - - - - - - - - - - - - - - BBBB BB 'BBBB' BBBB BBBBB. - - - BBBBBBBB B BBBB BBBBBB BB BBBBBBBB BBB BBBBBBB BBBBBBB BBBBBBB. - - - B BBBB BB BBBB. BBBBB BBBBBBBB. BBB BB BB. BB BB BBBB BB BBBBBBBBBB. BB BBBBBBBB BB BBBBBBBBB. - - - BBBBBBBB BB BBBB. BBBBBBB BBB BBBBB BBBBB BBBBB. B'BB BBBBBBB BB BBBBB BBBBB BBBBBBB BBB BBBBB. BBBB. - - B BBBBBB BBBB BB BBBB BBB. (BB BBB BBBBB BBBBB...............B) - - - - BBBB! - - - - BBBB BB BBB BBBBBBB BBBBBB. B -</code></pre> - -<p>B</p> - -<pre><code> BBBBB BB/BBB BBBBB! BBBB BBBB BBBBBBBBBBB 'BBB'B BBBBBB.' - - - - - - - - - - - - - - - BBBB BBBBBBB BBBB BB BBB BBBBBBBB BB BBBB BBBBBB BBB BBBBBBBBB BBBB. BBBBBBBB BBBBBBB BBBB BBBB BBBB BB BBBB BB BBBB BB BBBB B BBB BB BBBBB BBBBBB. B BBBB BBBBBBB BB BBBB BBBBB B BBB BBBBBBB BB BBBBB BBBB. BBB BBBBBBB BBBB. B BBB BBBB BBBB B BBBB BBBBBB BBB B BBBBBB BBBBBB. BBB BB BBBBBB BBBBBB BBBBBBBBBB BB...BBBBB BBBB BBBB BB BBBBB. (BBBBBBB BBB BBBBBB BBB'B BBBB BBB BBBBB BBB BB BBBBB BBBBBBBBBBB BBBBB B BBBB BBBB BBBBB. - - - - - - - - - -BBBBB BB BB BBBB B'B BBBB BBBBB BBBBB BBB BB BBBBBB/BBB (BBBBB) BBBBBB BB. - BBBBBBBB. B BBB BBBB BB BB BBB/BBBBBB BBBBBB BBB BBBB BBBBBBBB BB BB B BBBBBB BBBBBB BBBBB. (BBB/B BBB BBBB BBBB...BBB BBB BBB BBBB BB BB B BBBB BB BBB BB? BBBBBBB B BBB B BBBB BBBBBBBB BBB B BBB BBB BBBBB BBBB BBB BBBB BB B BBBBBBBB BB BBBBB BB BB BBB BBBBB BBB BB BBBBB BBBBBBB B BBB BBBBBBB. BBBBBB (BBBBB) BBBB BBBBB BBBBBBB BBBBB BBBB BBBB BBB. 100 BBBBBB BB BBBBB. BBBB BBB BBB BBBBBB BBB BB. BBB BBBB BB BBB BBBBB! BBB BB BBBBBB BBBBB B BBB'B BBBBBBBBB BBBB BBB BBB. (BBBBBB BBBBBBB BB BBBB BBBBB (BBBBBB BBBBB BBBBB BBBBB.)) - - - BBB B BBBBBBBBBBB BBBB BBB BB BBB. BBBBB BBB BBBBB B BBBB BBBBBB BBBBB BBB. BB BBBBBB BBB BBBB B BBB BB BBBBBBBB BBBBBB BBBB BBB B BBBBBB BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBBBBBB. - - - - - - - - - - - - BBBBB!!!!!!! - - - B BBB BBBB BBBBBB BBBB BBBB BBBB B BBB BBBBB BBB BBBBB B BBBB BBBBBBB BB BB BBBB BBBBBBBBB. B BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBB. - - BB BB, BB BBBBBB BBBB, (BBBBBB BB BBB BBBB . BBBBB BB BBBB BBBB BB BB BBBB BBBB B BBBB BB BB (BB BBBB BB BBB BBBBBBB BB BBBBBBB. )) BB'BB BBB BBB'B BB BB BBBB BB B BBBB B BBBBB (BB BBBBBB BB BBB B'BB BBBBBBBB BB BBBB BBBB.) - - - B BBBBB B'BB BBB BB BBBB BBB BBB. -</code></pre> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/issue_gh45.test b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/issue_gh45.test deleted file mode 100644 index 1bf8901..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/issue_gh45.test +++ /dev/null @@ -1,188 +0,0 @@ - - - B - - - - - BBBBBBBB. - - - - BBBB BB BBBBBBBB BBBBB. BBBBBBB BB BBBBB BB BBB BBBB BBBBB BBB BBB BBBB BBB BBBBBBB BBB BBBBBBB. B BBB'B BBBBB BBBB BBB BBBB BBBBBBB BBBB BBBB BBBB BBBBBBBB. - - - BBB BBBBB BBBBB BBB BBBB BBBB BBBB, BBB BBBBB BB BBBBB BBB BB BBBBBB BBBB BBB BBBBB BBBB BB. BBBBB BBB BBBBB BBBBB BBB BBBB BB BBBB BBBB BBBBB. - - - BBBB BBBBB, BBBBB, BBBBBBBB? - - BB BBB BB BBBB BBB BBBB BBB BBBBBB /BBB BB BBBBBBBBB BBBB BBBBBBB BBBBBB BB BBB. - - - BBBB BBBBBBBB BBB BBBB BB BBBBB BBB BBBBBB BBBB BBBBB BBBBBB BBBBBBBBB BBBB BB BBBBB...................................................................... - - - - - - - - - - - - - - - - - - - - - - BBBBB B'B BBB BBBBB. BBBB BBBBB BBBBB. ( B BBBBB BBBBBBBBBB BBBBB BBBB'B BBBBB BBBBB. BBB BBBB BBBBB BBBB BBBB. BBBBBBB BBB BB BBBBBBB BBB BBB B BBBB BBBBBBBBBBBB. BBBBB BBBBB.) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BBBB'B BB - - - - - - - - - - - - - - - - - - -. - - B BBB BBB BBB ? B. B BBB BBBBBB BBBB BBB BBBB. BBBBBBB BB BBBBBBB B BBBB BBBB BBB BBBBBB. - - - - - - - - - - - - - - BBBB BB 'BBBB' BBBB BBBBB. - - - BBBBBBBB B BBBB BBBBBB BB BBBBBBBB BBB BBBBBBB BBBBBBB BBBBBBB. - - - B BBBB BB BBBB. BBBBB BBBBBBBB. BBB BB BB. BB BB BBBB BB BBBBBBBBBB. BB BBBBBBBB BB BBBBBBBBB. - - - BBBBBBBB BB BBBB. BBBBBBB BBB BBBBB BBBBB BBBBB. B'BB BBBBBBB BB BBBBB BBBBB BBBBBBB BBB BBBBB. BBBB. - - B BBBBBB BBBB BB BBBB BBB. (BB BBB BBBBB BBBBB...............B) - - - - BBBB! - - - - BBBB BB BBB BBBBBBB BBBBBB. -B - -B - - - - BBBBB BB/BBB BBBBB! BBBB BBBB BBBBBBBBBBB 'BBB'B BBBBBB.' - - - - - - - - - - - - - - - BBBB BBBBBBB BBBB BB BBB BBBBBBBB BB BBBB BBBBBB BBB BBBBBBBBB BBBB. BBBBBBBB BBBBBBB BBBB BBBB BBBB BB BBBB BB BBBB BB BBBB B BBB BB BBBBB BBBBBB. B BBBB BBBBBBB BB BBBB BBBBB B BBB BBBBBBB BB BBBBB BBBB. BBB BBBBBBB BBBB. B BBB BBBB BBBB B BBBB BBBBBB BBB B BBBBBB BBBBBB. BBB BB BBBBBB BBBBBB BBBBBBBBBB BB...BBBBB BBBB BBBB BB BBBBB. (BBBBBBB BBB BBBBBB BBB'B BBBB BBB BBBBB BBB BB BBBBB BBBBBBBBBBB BBBBB B BBBB BBBB BBBBB. - - - - - - - - - - BBBBB BB BB BBBB B'B BBBB BBBBB BBBBB BBB BB BBBBBB/BBB (BBBBB) BBBBBB BB. - BBBBBBBB. B BBB BBBB BB BB BBB/BBBBBB BBBBBB BBB BBBB BBBBBBBB BB BB B BBBBBB BBBBBB BBBBB. (BBB/B BBB BBBB BBBB...BBB BBB BBB BBBB BB BB B BBBB BB BBB BB? BBBBBBB B BBB B BBBB BBBBBBBB BBB B BBB BBB BBBBB BBBB BBB BBBB BB B BBBBBBBB BB BBBBB BB BB BBB BBBBB BBB BB BBBBB BBBBBBB B BBB BBBBBBB. BBBBBB (BBBBB) BBBB BBBBB BBBBBBB BBBBB BBBB BBBB BBB. 100 BBBBBB BB BBBBB. BBBB BBB BBB BBBBBB BBB BB. BBB BBBB BB BBB BBBBB! BBB BB BBBBBB BBBBB B BBB'B BBBBBBBBB BBBB BBB BBB. (BBBBBB BBBBBBB BB BBBB BBBBB (BBBBBB BBBBB BBBBB BBBBB.)) - - - BBB B BBBBBBBBBBB BBBB BBB BB BBB. BBBBB BBB BBBBB B BBBB BBBBBB BBBBB BBB. BB BBBBBB BBB BBBB B BBB BB BBBBBBBB BBBBBB BBBB BBB B BBBBBB BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBBBBBB. - - - - - - - - - - - - BBBBB!!!!!!! - - - B BBB BBBB BBBBBB BBBB BBBB BBBB B BBB BBBBB BBB BBBBB B BBBB BBBBBBB BB BB BBBB BBBBBBBBB. B BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBB. - - BB BB, BB BBBBBB BBBB, (BBBBBB BB BBB BBBB . BBBBB BB BBBB BBBB BB BB BBBB BBBB B BBBB BB BB (BB BBBB BB BBB BBBBBBB BB BBBBBBB. )) BB'BB BBB BBB'B BB BB BBBB BB B BBBB B BBBBB (BB BBBBBB BB BBB B'BB BBBBBBBB BB BBBB BBBB.) - - - B BBBBB B'BB BBB BB BBBB BBB BBB. - - - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/lazy.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/lazy.html deleted file mode 100644 index 47188f2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/lazy.html +++ /dev/null @@ -1,4 +0,0 @@ -<pre><code>This is some code - -This is some other code -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/lazy.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/lazy.text deleted file mode 100644 index 2a95de6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/lazy.text +++ /dev/null @@ -1,5 +0,0 @@ - This is some -code - - This is some - other code diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end.html deleted file mode 100644 index 7a003b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end.html +++ /dev/null @@ -1,2 +0,0 @@ -<pre><code>test -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end.text deleted file mode 100644 index b64563f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end.text +++ /dev/null @@ -1 +0,0 @@ - test \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end_1.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end_1.html deleted file mode 100644 index 005870e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end_1.html +++ /dev/null @@ -1,2 +0,0 @@ -<pre><code>test test -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end_1.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end_1.text deleted file mode 100644 index 65df71e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/no_newline_at_end_1.text +++ /dev/null @@ -1,2 +0,0 @@ - test -test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/normal.html deleted file mode 100644 index 0bd2c1f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/normal.html +++ /dev/null @@ -1,13 +0,0 @@ -<pre><code>starting code -</code></pre> - -<p>paragraph</p> - -<pre><code>other code -with samples -</code></pre> - -<p>paragraph</p> - -<pre><code> ending code -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/normal.text deleted file mode 100644 index 40ea702..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/normal.text +++ /dev/null @@ -1,10 +0,0 @@ - starting code - -paragraph - - other code - with samples - -paragraph - - ending code diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.html deleted file mode 100644 index 2cc34d3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.html +++ /dev/null @@ -1,2 +0,0 @@ -<pre><code>x = Class.new -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.options deleted file mode 100644 index 5688828..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.options +++ /dev/null @@ -1,4 +0,0 @@ -:syntax_highlighter: rouge -:syntax_highlighter_opts: - block: - disable: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.text deleted file mode 100644 index 0e50b41..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/disabled.text +++ /dev/null @@ -1 +0,0 @@ - x = Class.new diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.html deleted file mode 100644 index 6ece543..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.html +++ /dev/null @@ -1,11 +0,0 @@ -<div class="language-ruby highlighter-rouge"><div class="custom-class"><div class="highlight"><pre class="highlight"><code><span class="nb">puts</span> <span class="s2">"Hello"</span> -</code></pre> -</div></div></div> - -<div class="language-ruby highlighter-rouge"><div class="custom-class"><div class="highlight"><pre class="highlight"><code><span class="nb">puts</span> <span class="s2">"World"</span> -</code></pre> -</div></div></div> - -<div class="language-php highlighter-rouge"><div class="custom-class"><div class="highlight"><pre class="highlight"><code><span class="nv">$foo</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Bar</span><span class="p">;</span> -</code></pre> -</div></div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.options deleted file mode 100644 index b910f75..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.options +++ /dev/null @@ -1,4 +0,0 @@ -:syntax_highlighter: rouge -:syntax_highlighter_opts: - default_lang: ruby - formatter: RougeHTMLFormatters diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.text deleted file mode 100644 index d1dd283..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/multiple.text +++ /dev/null @@ -1,11 +0,0 @@ -~~~ ruby -puts "Hello" -~~~ - -~~~ ruby -puts "World" -~~~ - -~~~ php?start_inline=1 -$foo = new Bar; -~~~ \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.html deleted file mode 100644 index 1c2259a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.html +++ /dev/null @@ -1,10 +0,0 @@ -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span> -</code></pre> -</div></div> -<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a&gt;</span>href<span class="nt">&lt;/a&gt;</span> -</code></pre> -</div></div> - -<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$foo</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Bar</span><span class="p">;</span> -</code></pre> -</div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.options deleted file mode 100644 index f59e0ff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.options +++ /dev/null @@ -1,3 +0,0 @@ -:syntax_highlighter: rouge -:syntax_highlighter_opts: - default_lang: ruby diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.text deleted file mode 100644 index 6c740e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/rouge/simple.text +++ /dev/null @@ -1,9 +0,0 @@ - x = Class.new -^ - <a>href</a> -{: .language-html} - - -~~~ php?start_inline=1 -$foo = new Bar; -~~~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/tilde_syntax.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/tilde_syntax.html deleted file mode 100644 index 1ddd91e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/tilde_syntax.html +++ /dev/null @@ -1,7 +0,0 @@ -<pre><code>Here comes some code. -</code></pre> - -<pre><code>~~~~~~~ -code with tildes -~~~~~~~~ -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/tilde_syntax.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/tilde_syntax.text deleted file mode 100644 index 7625a1b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/tilde_syntax.text +++ /dev/null @@ -1,9 +0,0 @@ -~~~~~~~~ -Here comes some code. -~~~~~~~~ - -~~~~~~~~~~~~ -~~~~~~~ -code with tildes -~~~~~~~~ -~~~~~~~~~~~~~~~~~~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/whitespace.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/whitespace.html deleted file mode 100644 index dcbb40f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/whitespace.html +++ /dev/null @@ -1,3 +0,0 @@ -<pre class="show-whitespaces"><code>This<span class="ws-tab"> </span>is<span class="ws-space">&#8901;</span>some<span class="ws-space-r">&#8901;</span><span class="ws-space-r">&#8901;</span> -<span class="ws-space-l">&#8901;</span><span class="ws-space-l">&#8901;</span><span class="ws-space-l">&#8901;</span><span class="ws-space-l">&#8901;</span>whitespace<span class="ws-space-r">&#8901;</span><span class="ws-space-r">&#8901;</span> -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/whitespace.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/whitespace.text deleted file mode 100644 index b15c9c9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/whitespace.text +++ /dev/null @@ -1,3 +0,0 @@ - This is some - whitespace -{:.show-whitespaces} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_blank_line.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_blank_line.html deleted file mode 100644 index f7c20b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_blank_line.html +++ /dev/null @@ -1,13 +0,0 @@ -<p>paragraph</p> - -<pre><code>code block - -continued here -</code></pre> - -<p>ended</p> - -<pre><code>next blank line has 4 spaces -</code></pre> - -<p>paragraph</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_blank_line.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_blank_line.text deleted file mode 100644 index e51dfa5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_blank_line.text +++ /dev/null @@ -1,12 +0,0 @@ -paragraph - - code block - - continued here - - -ended - - next blank line has 4 spaces - -paragraph diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_eob_marker.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_eob_marker.html deleted file mode 100644 index cca17a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_eob_marker.html +++ /dev/null @@ -1,6 +0,0 @@ -<pre><code>code block - -continued here -</code></pre> -<pre><code>new block here -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_eob_marker.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_eob_marker.text deleted file mode 100644 index 834c768..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_eob_marker.text +++ /dev/null @@ -1,5 +0,0 @@ - code block - - continued here -^ - new block here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_ial.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_ial.html deleted file mode 100644 index 77085b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_ial.html +++ /dev/null @@ -1,6 +0,0 @@ -<pre class="cls"><code>code block - -continued here -</code></pre> -<pre><code>new block here -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_ial.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_ial.text deleted file mode 100644 index 4489f2d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_ial.text +++ /dev/null @@ -1,5 +0,0 @@ - code block - - continued here -{:.cls} - new block here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.html deleted file mode 100644 index f5872c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.html +++ /dev/null @@ -1,24 +0,0 @@ -<pre><code class="language-ruby">def what? - 42 -end -</code></pre> - -<pre class="class1"><code class="language-ruby">def what? - 42 -end -</code></pre> - -<pre><code class="language-ruby">def what? - 42 -end -</code></pre> - -<pre class="language-python"><code class="language-ruby">def what? - 42 -end -</code></pre> - -<pre class="language-python"><code class="language-ruby">def what? - 42 -end -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options deleted file mode 100644 index e2e91db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options +++ /dev/null @@ -1,2 +0,0 @@ -:syntax_highlighter: null - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.text deleted file mode 100644 index 07f437e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.text +++ /dev/null @@ -1,33 +0,0 @@ -~~~ ruby -def what? - 42 -end -~~~ - -~~~ ruby -def what? - 42 -end -~~~ -{:.class1} - -~~~ -def what? - 42 -end -~~~ -{: .language-ruby} - -~~~ ruby -def what? - 42 -end -~~~ -{: .language-python} - -~~~ ruby -def what? - 42 -end -~~~ -{: class="language-python"} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html deleted file mode 100644 index 2530b1e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html +++ /dev/null @@ -1,8 +0,0 @@ -<pre><code class="language-asn.1">text -</code></pre> - -<pre><code class="language-asn#w1">text -</code></pre> - -<pre><code class="language-русский">text -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options deleted file mode 100644 index 871923c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options +++ /dev/null @@ -1,2 +0,0 @@ -:enable_coderay: false - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text deleted file mode 100644 index 60424a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text +++ /dev/null @@ -1,11 +0,0 @@ -~~~ asn.1 -text -~~~ - -~~~ asn#w1 -text -~~~ - -~~~ русский -text -~~~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html deleted file mode 100644 index aa4b60f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html +++ /dev/null @@ -1,3 +0,0 @@ -<pre><code class="language-act-iii">s1'dim'a'500'm'500'q'500'' -index'j'j+1'j-1'' -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options deleted file mode 100644 index 871923c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options +++ /dev/null @@ -1,2 +0,0 @@ -:enable_coderay: false - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text deleted file mode 100644 index 423d5b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text +++ /dev/null @@ -1,4 +0,0 @@ -~~~ act-iii -s1'dim'a'500'm'500'q'500'' -index'j'j+1'j-1'' -~~~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/error.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/error.html deleted file mode 100644 index 068811c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/error.html +++ /dev/null @@ -1,7 +0,0 @@ -<p>_ * _</p> - -<p>— * * *</p> - -<p>_ - *</p> - -<p>———————————————- test</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/error.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/error.text deleted file mode 100644 index a024710..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/error.text +++ /dev/null @@ -1,7 +0,0 @@ -_ * _ - ---- * * * - -_ - * - ----------------------------------------------- test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/normal.html deleted file mode 100644 index e74b6e6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/normal.html +++ /dev/null @@ -1,19 +0,0 @@ -<hr /> -<hr /> -<hr /> - -<p>d- -</p> - -<hr /> -<hr /> -<hr /> - -<h2>para</h2> -<p>text</p> - -<hr /> - -<pre><code>- - - -</code></pre> - -<hr class="test" /> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/normal.text deleted file mode 100644 index 986101a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/normal.text +++ /dev/null @@ -1,20 +0,0 @@ -*** -* * * -- - - - -d- - - ---- -___ -*** - -para ------------ -text - -* * * - - - - - - -* * * -{:.test} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/sepspaces.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/sepspaces.html deleted file mode 100644 index dbb86e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/sepspaces.html +++ /dev/null @@ -1,3 +0,0 @@ -<hr /> -<hr /> -<hr /> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/sepspaces.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/sepspaces.text deleted file mode 100644 index a5798b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/sepspaces.text +++ /dev/null @@ -1,3 +0,0 @@ -- - - -* * * -_ _ _ _ _ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/septabs.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/septabs.html deleted file mode 100644 index dbb86e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/septabs.html +++ /dev/null @@ -1,3 +0,0 @@ -<hr /> -<hr /> -<hr /> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/septabs.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/septabs.text deleted file mode 100644 index 464fe20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/07_horizontal_rule/septabs.text +++ /dev/null @@ -1,3 +0,0 @@ -- - - -* * * -_ _ _ _ _ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/brackets_in_item.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/brackets_in_item.latex deleted file mode 100644 index e71fde2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/brackets_in_item.latex +++ /dev/null @@ -1,3 +0,0 @@ -\begin{itemize} -\item{} {[}and{]} another -\end{itemize} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/brackets_in_item.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/brackets_in_item.text deleted file mode 100644 index 515e3a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/brackets_in_item.text +++ /dev/null @@ -1 +0,0 @@ -* \[and\] another diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/escaping.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/escaping.html deleted file mode 100644 index afc795c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/escaping.html +++ /dev/null @@ -1,17 +0,0 @@ -<p>I have read the book -1984. It was great -- other say that, too!</p> - -<p>I have read the book -1984. It was great -- other say that, too!</p> - -<p>I have read the book - 1984. It was great.</p> - -<p>I have read the book 1984. - - it was great!</p> - -<p>1984. Was great!</p> - -<p>- This too!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/escaping.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/escaping.text deleted file mode 100644 index c3b1c59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/escaping.text +++ /dev/null @@ -1,17 +0,0 @@ -I have read the book -1984. It was great -- other say that, too! - -I have read the book -1984\. It was great -\- other say that, too! - -I have read the book - 1984. It was great. - -I have read the book 1984. - - it was great! - -1984\. Was great! - -\- This too! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/item_ial.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/item_ial.html deleted file mode 100644 index e6dfd3a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/item_ial.html +++ /dev/null @@ -1,10 +0,0 @@ -<ul> - <li class="cls">IAL at first -continued</li> - <li>another {:.cls}</li> - <li class="cls">IAL at last - code</li> - <li>X - test</li> - <li>X OK</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/item_ial.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/item_ial.text deleted file mode 100644 index 67bee70..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/item_ial.text +++ /dev/null @@ -1,8 +0,0 @@ -* {:.cls} IAL at first - continued -* another {:.cls} -* {:.cls} IAL at last - code -* {::nomarkdown type="html"}X{:/nomarkdown} - test -* {::nomarkdown type="html"}X{:/nomarkdown} OK diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy.html deleted file mode 100644 index 01a5f9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy.html +++ /dev/null @@ -1,39 +0,0 @@ -<ul> - <li>This is a simple -list item</li> - <li> - <p>Followed by another -list item</p> - </li> - <li> - <p>Followed by</p> - - <p>a para list item -continued here</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - - <p>a para -continued here</p> - </li> -</ul> - -<p>para</p> - -<ul> - <li>multi line -list item</li> -</ul> - -<p>para</p> - -<ul> - <li>list item line1 - one line - two lines</li> - <li>list item line2 -one line -two lines</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy.text deleted file mode 100644 index f372422..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy.text +++ /dev/null @@ -1,29 +0,0 @@ -* This is a simple -list item -* Followed by another -list item - - -* Followed by - - a para list item -continued here -* and a normal one -* and - - a para -continued here - -para - -* multi line -list item - -para - -* list item line1 - one line - two lines -* list item line2 - one line -two lines diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy_and_nested.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy_and_nested.html deleted file mode 100644 index 90c7447..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy_and_nested.html +++ /dev/null @@ -1,9 +0,0 @@ -<ol> - <li>Root level - * Second level - <ul> - <li>Third level - * Back to second level</li> - </ul> - </li> -</ol> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy_and_nested.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy_and_nested.text deleted file mode 100644 index 97a7755..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/lazy_and_nested.text +++ /dev/null @@ -1,4 +0,0 @@ -1. Root level - * Second level - * Third level - * Back to second level diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_hr.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_hr.html deleted file mode 100644 index ecf51c7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_hr.html +++ /dev/null @@ -1,9 +0,0 @@ -<ul> - <li>Starting a list</li> -</ul> - -<hr /> - -<ul> - <li>Starting a new list</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_hr.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_hr.text deleted file mode 100644 index c7fcd47..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_hr.text +++ /dev/null @@ -1,5 +0,0 @@ -* Starting a list - -* * * - -* Starting a new list diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_others.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_others.html deleted file mode 100644 index 672428e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_others.html +++ /dev/null @@ -1,40 +0,0 @@ -<ul> - <li>list item</li> -</ul> - -<blockquote> - <p>blockquote</p> -</blockquote> - -<p>para -* * * -para - - no list</p> - -<ul> - <li> - <p>item</p> - - <blockquote> - <p>block</p> - </blockquote> - - <h2>header</h2> - </li> - <li> - <p>test</p> - - <pre><code>codeblock -</code></pre> - - <p>test</p> - </li> - <li> - <p>test</p> - - <pre><code>codeblock -</code></pre> - - <p>test</p> - </li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_others.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_others.text deleted file mode 100644 index f680262..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/list_and_others.text +++ /dev/null @@ -1,26 +0,0 @@ -* list item - -> blockquote - -para -* * * -para - - no list - -+ item - - > block - - ## header - -* test - - codeblock - - test - -* test - - codeblock - - test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/mixed.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/mixed.html deleted file mode 100644 index 9bc47e3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/mixed.html +++ /dev/null @@ -1,117 +0,0 @@ -<p>With tabs/spaces, no paras:</p> - -<ul> - <li>item1</li> - <li>item2</li> - <li>item3</li> -</ul> - -<p>With tabs/spaces, paras:</p> - -<ul> - <li> - <p>item1</p> - </li> - <li> - <p>item2</p> - </li> - <li> - <p>item3</p> - </li> -</ul> - -<p>With tabs/spaces, no paras:</p> - -<ol> - <li>item1</li> - <li>item2</li> - <li>item3</li> -</ol> - -<p>With tabs/spaces, paras:</p> - -<ol> - <li> - <p>item1</p> - </li> - <li> - <p>item2</p> - </li> - <li> - <p>item3</p> - </li> -</ol> - -<p>Nested, without paras:</p> - -<ul> - <li>item1 - <ul> - <li>item2 - <ul> - <li>item3</li> - </ul> - </li> - </ul> - </li> -</ul> - -<p>Nested, with paras:</p> - -<ul> - <li> - <p>item1</p> - - <ul> - <li>item2 - <ul> - <li>item3 (level 3)</li> - </ul> - </li> - </ul> - </li> -</ul> - -<p>Ordered, without paras:</p> - -<ol> - <li>item1</li> - <li>item2 - <ul> - <li>do</li> - <li>it</li> - <li>now</li> - </ul> - </li> - <li>item3</li> -</ol> - -<p>Ordered, with paras:</p> - -<ol> - <li> - <p>item1</p> - </li> - <li> - <p>item2</p> - - <ul> - <li>do</li> - <li>it</li> - <li>now</li> - </ul> - </li> - <li> - <p>item3</p> - </li> -</ol> - -<p>Mixed tabs and spaces:</p> - -<ul> - <li>some text - <ul> - <li>nested</li> - </ul> - </li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/mixed.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/mixed.text deleted file mode 100644 index 22b578d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/mixed.text +++ /dev/null @@ -1,66 +0,0 @@ -With tabs/spaces, no paras: - -* item1 -+ item2 -- item3 - -With tabs/spaces, paras: - -- item1 - -* item2 - -+ item3 - -With tabs/spaces, no paras: - -1. item1 -20. item2 -3. item3 - -With tabs/spaces, paras: - -1. item1 - -2. item2 - -3. item3 - -Nested, without paras: - -* item1 - * item2 - * item3 - -Nested, with paras: - -+ item1 - - * item2 - * item3 (level 3) - -Ordered, without paras: - -1. item1 -2. item2 - * do - * it - * now -3. item3 - -Ordered, with paras: - -1. item1 - -2. item2 - - * do - * it - * now - -3. item3 - -Mixed tabs and spaces: - -* some text - * nested diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/nested.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/nested.html deleted file mode 100644 index 1921ee9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/nested.html +++ /dev/null @@ -1,17 +0,0 @@ -<ul> - <li>some item - <ul> - <li>nested</li> - </ul> - </li> - <li>last item</li> -</ul> -<ul> - <li> - <p>some text</p> - - <ul> - <li>nested</li> - </ul> - </li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/nested.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/nested.text deleted file mode 100644 index c71d864..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/nested.text +++ /dev/null @@ -1,7 +0,0 @@ -* some item - * nested -* last item -^ -* some text - - * nested diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/other_first_element.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/other_first_element.html deleted file mode 100644 index 3f4cd0f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/other_first_element.html +++ /dev/null @@ -1,39 +0,0 @@ -<ul> - <li> - <pre><code>This is a code block. -</code></pre> - </li> - <li> - <blockquote> - <p>This is a blockquote.</p> - </blockquote> - </li> - <li> - <h2>A header</h2> - </li> -</ul> -<ul> - <li> - <pre><code>This is a code block. -</code></pre> - </li> - <li> - <blockquote> - <p>This is a blockquote. -continued by some para.</p> - </blockquote> - </li> - <li> - <h1>A header</h1> - <p>a para</p> - </li> -</ul> -<ul> - <li> - <ul> - <li>nested list</li> - <li>other nested item</li> - </ul> - </li> - <li>item 2</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/other_first_element.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/other_first_element.text deleted file mode 100644 index 321cef6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/other_first_element.text +++ /dev/null @@ -1,18 +0,0 @@ -* - This is a code block. -* > This is a blockquote. -* ## A header -^ -* - This is a code block. - -* > This is a blockquote. - continued by some para. - -* A header - ========= - a para -^ -* * nested list - * other nested item -* item 2 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ol.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ol.html deleted file mode 100644 index 84e5a6b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ol.html +++ /dev/null @@ -1,19 +0,0 @@ -<ol> - <li>This is a simple list item</li> - <li> - <p>Followed by another</p> - </li> - <li> - <p>Followed by</p> - - <p>a para list item</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - - <p>a para</p> - </li> -</ol> - -<p>para</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ol.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ol.text deleted file mode 100644 index aaf7dae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ol.text +++ /dev/null @@ -1,13 +0,0 @@ -1. This is a simple list item -3. Followed by another - - -10. Followed by - - a para list item -1. and a normal one -2. and - - a para - -para diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ul.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ul.html deleted file mode 100644 index 68db05e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ul.html +++ /dev/null @@ -1,48 +0,0 @@ -<ul> - <li>This is a simple list item</li> - <li> - <p>Followed by another</p> - </li> - <li> - <p>Followed by</p> - - <p>a para list item</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - - <p>a para</p> - </li> -</ul> - -<p>para</p> - -<ul> - <li>multi line -list item</li> -</ul> - -<p>para</p> - -<ul> - <li>list item line1 -one line -two lines</li> - <li>list item line2 -one line -two lines</li> -</ul> - -<p>para</p> - -<ul> - <li>list item line3 -one line -two lines</li> - <li>list item line4 - one line - two lines</li> -</ul> - -<p>para</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ul.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ul.text deleted file mode 100644 index ccd25c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/simple_ul.text +++ /dev/null @@ -1,36 +0,0 @@ -* This is a simple list item -* Followed by another - - -* Followed by - - a para list item -* and a normal one -* and - - a para - -para - -* multi line - list item - -para - -* list item line1 - one line - two lines -* list item line2 - one line - two lines - -para - -* list item line3 - one line - two lines -* list item line4 - one line - two lines - -para diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/single_item.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/single_item.html deleted file mode 100644 index e079461..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/single_item.html +++ /dev/null @@ -1,3 +0,0 @@ -<ul> - <li>single</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/single_item.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/single_item.text deleted file mode 100644 index 877d369..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/single_item.text +++ /dev/null @@ -1 +0,0 @@ -* single diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/special_cases.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/special_cases.html deleted file mode 100644 index fbc775a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/special_cases.html +++ /dev/null @@ -1,62 +0,0 @@ -<ul> - <li> - <p>not a para -here</p> - - <blockquote> - <p>blockquote</p> - </blockquote> - </li> - <li> - <p>and not - here</p> - - <blockquote> - <p>blockquote</p> - </blockquote> - </li> - <li> - <p>this is a para</p> - </li> - <li> - <blockquote> - <p>blockquote</p> - </blockquote> - </li> - <li> - <p>this too</p> - </li> -</ul> - -<p>A paragraph - 1. followed not by ol -- followed not by ul</p> - -<p>A compact list:</p> - -<ul> - <li>compact</li> - <li>list</li> - <li>items</li> -</ul> - -<p>A normal list:</p> - -<ul> - <li> - <p>not</p> - </li> - <li> - <p>compact</p> - </li> - <li> - <p>but here</p> - </li> -</ul> - -<p>List item without content:</p> - -<ul> - <li></li> - <li>a</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/special_cases.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/special_cases.text deleted file mode 100644 index 7406305..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/08_list/special_cases.text +++ /dev/null @@ -1,40 +0,0 @@ -* not a para - here - - > blockquote - -* and not - here - - >blockquote - -* this is a para - -* > blockquote - -* this too - -^ - -A paragraph - 1. followed not by ol -- followed not by ul - -A compact list: - -* compact -* list -* items - -A normal list: - -* not - -* compact - -* but here - -List item without content: - -* -* a diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/comment.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/comment.html deleted file mode 100644 index 8d31bd4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/comment.html +++ /dev/null @@ -1,18 +0,0 @@ -<!--comment--> - -<p>para1</p> - -<!-- Comment --> - -<p>para2</p> - -<!-- -Blah -Blah ---> -<p>para</p> - -<blockquote> - <p>This is -<!-- a comment --></p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/comment.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/comment.text deleted file mode 100644 index b632bf2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/comment.text +++ /dev/null @@ -1,15 +0,0 @@ -<!--comment--> - -para1 - -<!-- Comment --> - -para2 - -<!-- -Blah -Blah ---> para - -> This is -> <!-- a comment --> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.html deleted file mode 100644 index 587d55a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.html +++ /dev/null @@ -1,6 +0,0 @@ -<dl> - <dt><em>text</em></dt> - <dd> - <p>para</p> - </dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.text deleted file mode 100644 index 1e381d1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/deflists.text +++ /dev/null @@ -1,6 +0,0 @@ -<dl> -<dt>*text*</dt> -<dd> -para -</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.html deleted file mode 100644 index e11dc14..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.html +++ /dev/null @@ -1,14 +0,0 @@ -<table class="examples"> -<tr> - <th><em>Usage</em></th> - <th> -Output - </th> -</tr> -<tr> - <td>Some <em>data</em></td> - <td> - <h1 id="some-more">Some more</h1> - </td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.text deleted file mode 100644 index c0cf2e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/content_model/tables.text +++ /dev/null @@ -1,14 +0,0 @@ -<table class="examples"> -<tr> - <th markdown="span">*Usage*</th> - <th> -Output - </th> -</tr> -<tr> - <td markdown="span">Some *data*</td> - <td markdown="1"> -# Some more - </td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html5_attributes.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html5_attributes.html deleted file mode 100644 index 743c822..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html5_attributes.html +++ /dev/null @@ -1,15 +0,0 @@ -<p lang="en" style="nothing" class="">paragraph</p> - -<p lang="en" style="nothing" class="">paragraph</p> - -<p lang="en" style="nothing" class="">paragraph</p> - -<p lang="en" class="" style="nothing">paragraph</p> - -<p class="" lang="en" style="nothing">paragraph</p> - -<p lang="en">paragraph</p> - -<p class="">paragraph</p> - -<p class="">paragraph</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html5_attributes.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html5_attributes.text deleted file mode 100644 index 44a060d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html5_attributes.text +++ /dev/null @@ -1,15 +0,0 @@ -<p lang="en" style='nothing' class>paragraph</p> - -<p lang='en' style="nothing" class>paragraph</p> - -<p lang='en' style="nothing" class >paragraph</p> - -<p lang='en' class style="nothing">paragraph</p> - -<p class lang='en' style="nothing">paragraph</p> - -<p lang=en>paragraph</p> - -<p cLaSs>paragraph</p> - -<p class >paragraph</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_after_block.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_after_block.html deleted file mode 100644 index f51c75b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_after_block.html +++ /dev/null @@ -1,7 +0,0 @@ -<p>Para</p> -<div class="test">division</div> - -<blockquote> - <p>Quote</p> -</blockquote> -<div class="test">division</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_after_block.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_after_block.text deleted file mode 100644 index cdcbff6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_after_block.text +++ /dev/null @@ -1,5 +0,0 @@ -Para -<div class="test">division</div> - -> Quote -<div class="test">division</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.html deleted file mode 100644 index 93d695a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.html +++ /dev/null @@ -1,15 +0,0 @@ -<p>para</p> - -<pre><code>codeblock -</code></pre> - -<div> - <p>test</p> -</div> - -<pre><code>&lt;p&gt;codeblock&lt;/p&gt; -</code></pre> - -<div> - <p>test</p> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.text deleted file mode 100644 index a3cfda7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_codeblocks.text +++ /dev/null @@ -1,13 +0,0 @@ -para - - codeblock - -<div> - test -</div> - - <p>codeblock</p> - -<div> - test -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_headers.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_headers.html deleted file mode 100644 index 65cb7e2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_headers.html +++ /dev/null @@ -1,5 +0,0 @@ -<h1>header</h1> - -<div> -====== -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_headers.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_headers.text deleted file mode 100644 index 64dc477..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_and_headers.text +++ /dev/null @@ -1,6 +0,0 @@ -header -====== - -<div> -====== -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/code.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/code.html deleted file mode 100644 index f4b3221..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/code.html +++ /dev/null @@ -1,10 +0,0 @@ -<p>This is a <code>code span with &lt;entities&gt; that should be preserved</code>. -This is a <code>simple code</code> span.</p> - -<p>Some <code>&lt;</code></p> - -<pre><code>Some very important &lt; thing -</code></pre> - -<pre><code>Some code&lt;&lt; -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/code.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/code.text deleted file mode 100644 index fda7db5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/code.text +++ /dev/null @@ -1,9 +0,0 @@ -This is a <code>code span <b>with</b> &lt;entities&gt; that should be preserved</code>. -This is a <code>simple code</code> span. - -<p>Some <code>&lt;</code></p> - -<pre>Some very important <b>&lt;</b> thing</pre> - -<pre><code>Some code<span>&lt;</span>&lt; -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/comment.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/comment.html deleted file mode 100644 index dacd437..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/comment.html +++ /dev/null @@ -1,7 +0,0 @@ -<div> - <!--comment--> - <!-- -Blah -Blah ---> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/comment.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/comment.text deleted file mode 100644 index 1788630..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/comment.text +++ /dev/null @@ -1,8 +0,0 @@ -<div> - <!--comment--> - - <!-- -Blah -Blah ---> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/emphasis.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/emphasis.html deleted file mode 100644 index e4389c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/emphasis.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>This is <em>sized<strong>hallo</strong></em>.</p> - -<p>This is <strong>strong<em>italic</em>, yes!</strong>.</p> - -<p>This is <em> not</em> converted, as <em>is -</em> this.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/emphasis.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/emphasis.text deleted file mode 100644 index 7c75930..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/emphasis.text +++ /dev/null @@ -1,6 +0,0 @@ -This is <em>sized<strong>hallo</strong></em>. - -This is <b>strong<i>italic</i>, yes!</b>. - -This is <em> not</em> converted, as <em>is -</em> this. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/entity.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/entity.html deleted file mode 100644 index 5c80ce6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/entity.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is *raw* HTML text containing &lt; entities!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/entity.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/entity.text deleted file mode 100644 index 5c80ce6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/entity.text +++ /dev/null @@ -1 +0,0 @@ -<p>This is *raw* HTML text containing &lt; entities!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.html deleted file mode 100644 index aebb206..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.html +++ /dev/null @@ -1,6 +0,0 @@ -<h1 id="some-headerhere">Some <em class="cls">header</em>here!</h1> -<h2 id="test">hallo</h2> -<h3 id="hallo">hallo</h3> -<h4 id="hallo-1">hallo</h4> -<h5 id="hallo-2">hallo</h5> -<h6 id="hallo-3">hallo</h6> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.options deleted file mode 100644 index 987b4d9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: true -:html_to_native: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.text deleted file mode 100644 index 27eed3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/header.text +++ /dev/null @@ -1,6 +0,0 @@ -<h1>Some <em class='cls'>header</em>here!</h1> -<h2 id="test">hallo</h2> -<h3>hallo</h3> -<h4>hallo</h4> -<h5>hallo</h5> -<h6>hallo</h6> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_dl.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_dl.html deleted file mode 100644 index 6eaccfe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_dl.html +++ /dev/null @@ -1,8 +0,0 @@ -<dl> - <dt>kram</dt> - <dd>down</dd> - <dt>kram</dt> - <dd>down</dd> - <dt>kram</dt> - <dd>down</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_dl.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_dl.text deleted file mode 100644 index 6eaccfe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_dl.text +++ /dev/null @@ -1,8 +0,0 @@ -<dl> - <dt>kram</dt> - <dd>down</dd> - <dt>kram</dt> - <dd>down</dd> - <dt>kram</dt> - <dd>down</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ol.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ol.html deleted file mode 100644 index eeebdfb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ol.html +++ /dev/null @@ -1,15 +0,0 @@ -<ol> - <li>This is a simple list item</li> - <li> - <p>Followed by another</p> - </li> - <li> - <p>Followed by</p> - <p>a para list item</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - <p>a para</p> - </li> -</ol> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ol.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ol.text deleted file mode 100644 index 41246df..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ol.text +++ /dev/null @@ -1,17 +0,0 @@ -<ol> - <li>This is a simple list item</li> - <li> - <p>Followed by another</p> - </li> - <li> - <p>Followed by</p> - - <p>a para list item</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - - <p>a para</p> - </li> -</ol> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ul.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ul.html deleted file mode 100644 index c9b38d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ul.html +++ /dev/null @@ -1,19 +0,0 @@ -<ul> - <li>This is a simple list item</li> - <li> - <p>Followed by another</p> - </li> - <li> - <p>Followed by</p> - <p>a para list item</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - <p>a para</p> - </li> -</ul> - -<ul> - <li>multi line list item</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ul.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ul.text deleted file mode 100644 index 5a2d68e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/list_ul.text +++ /dev/null @@ -1,22 +0,0 @@ -<ul> - <li>This is a simple list item</li> - <li> - <p>Followed by another</p> - </li> - <li> - <p>Followed by</p> - - <p>a para list item</p> - </li> - <li>and a normal one</li> - <li> - <p>and</p> - - <p>a para</p> - </li> -</ul> - -<ul> - <li>multi line -list item</li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/options deleted file mode 100644 index 63936b9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/options +++ /dev/null @@ -1 +0,0 @@ -:html_to_native: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/paragraph.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/paragraph.html deleted file mode 100644 index a276b1c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/paragraph.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>Some text here<span> and </span>end</p> - -<p>Some other text here</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/paragraph.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/paragraph.text deleted file mode 100644 index b10035c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/paragraph.text +++ /dev/null @@ -1,4 +0,0 @@ -<p>Some text here<span> and </span>end -</p> - -<p>Some other text here</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_normal.html deleted file mode 100644 index bdd79ee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_normal.html +++ /dev/null @@ -1,12 +0,0 @@ -<table class="examples"> -<tr> - <th>Usage</th> - <th>Other</th> -</tr> -<tr> - <td>Some *data*</td> - <td> - <p>Some more</p> - </td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_normal.text deleted file mode 100644 index bdd79ee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_normal.text +++ /dev/null @@ -1,12 +0,0 @@ -<table class="examples"> -<tr> - <th>Usage</th> - <th>Other</th> -</tr> -<tr> - <td>Some *data*</td> - <td> - <p>Some more</p> - </td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_simple.html deleted file mode 100644 index 88d9e6c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_simple.html +++ /dev/null @@ -1,61 +0,0 @@ -<table class="examples"> - <tbody> - <tr> - <td>Usage</td> - <td>Output</td> - </tr> - <tr> - <td>Some *data*</td> - <td>Some more</td> - </tr> - </tbody> -</table> - -<table class="examples"> - <thead> - <tr> - <th>Usage</th> - <th>Output</th> - </tr> - </thead> - <tbody> - <tr> - <td>Some *data*</td> - <td>Some more</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>foot</td> - <td>locker</td> - </tr> - </tfoot> -</table> - -<table class="examples"> - <tbody> - <tr> - <td style="text-align: left">Usage</td> - <td style="width: 10em">Output</td> - </tr> - <tr> - <td style="text-align: left">Some *data*</td> - <td>Some more</td> - </tr> - </tbody> -</table> - -<table class="examples"> -<tr> - <th>Usage</th> - <th> -Output - </th> -</tr> -<tr> - <td>Some *data*</td> - <td> -Some more - </td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_simple.text deleted file mode 100644 index ae7852b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/table_simple.text +++ /dev/null @@ -1,71 +0,0 @@ -<table class="examples"> -<tr> - <td>Usage</td> - <td> -Output - </td> -</tr> -<tr> - <td>Some *data*</td> - <td> -Some more - </td> -</tr> -</table> - -<table class="examples"> -<thead> -<tr> - <th>Usage</th> - <th> -Output - </th> -</tr> -</thead> -<tbody> -<tr> - <td>Some *data*</td> - <td> -Some more - </td> -</tr> -</tbody> -<tfoot> -<tr> - <td>foot</td> - <td> -locker - </td> -</tr> -</tfoot> -</table> - -<table class="examples"> -<tr> - <td style="text-align: left">Usage</td> - <td style="width: 10em"> -Output - </td> -</tr> -<tr> - <td style="text-align: left">Some *data*</td> - <td> -Some more - </td> -</tr> -</table> - -<table class="examples"> -<tr> - <th>Usage</th> - <th> -Output - </th> -</tr> -<tr> - <td>Some *data*</td> - <td> -Some more - </td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/typography.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/typography.html deleted file mode 100644 index 2443965..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/typography.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is … something “to remember”!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/typography.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/typography.text deleted file mode 100644 index ee33c5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/html_to_native/typography.text +++ /dev/null @@ -1 +0,0 @@ -<p>This is &hellip; something &ldquo;to remember&rdquo;!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_1.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_1.html deleted file mode 100644 index 77e0d78..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_1.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>para</p> - -<p>&lt;/div&gt;</p> - -<p>para</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_1.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_1.text deleted file mode 100644 index f2fc834..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_1.text +++ /dev/null @@ -1,5 +0,0 @@ -para - -</div> - -para diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_2.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_2.html deleted file mode 100644 index b5da12f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_2.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>para</p> - -<hr /> - -<p>para</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_2.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_2.text deleted file mode 100644 index 675c94f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/invalid_html_2.text +++ /dev/null @@ -1,5 +0,0 @@ -para - -<hr> - -para diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/markdown_attr.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/markdown_attr.html deleted file mode 100644 index 930b8f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/markdown_attr.html +++ /dev/null @@ -1,38 +0,0 @@ -<div> - <p><em>para</em></p> -</div> - -<div> -<em>para</em> -</div> - -<div> - <p><em>para</em></p> -</div> - -<div> -*para* -</div> - -<p> - <p><em>para</em></p> -</p> - -<p> -<em>para</em> -</p> - -<p> -<em>para</em> -</p> - -<p> -*para* -</p> - -<dl> - <dt><em>emphasize</em></dt> - <dd> - <p>para</p> - </dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/markdown_attr.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/markdown_attr.text deleted file mode 100644 index 12e5aee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/markdown_attr.text +++ /dev/null @@ -1,38 +0,0 @@ -<div markdown="block"> -*para* -</div> - -<div markdown="span"> -*para* -</div> - -<div markdown="1"> -*para* -</div> - -<div markdown="0"> -*para* -</div> - -<p markdown="block"> -*para* -</p> - -<p markdown="span"> -*para* -</p> - -<p markdown="1"> -*para* -</p> - -<p markdown="0"> -*para* -</p> - -<dl> - <dt markdown="1">*emphasize*</dt> - <dd markdown="1"> -para -</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/not_parsed.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/not_parsed.html deleted file mode 100644 index 90bda03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/not_parsed.html +++ /dev/null @@ -1,24 +0,0 @@ -<div> -This is some text -</div> - -<div><div> -This is some text -</div></div> - -<div> -&lt;/p&gt; -</div> - -<div> -<p><a href="/">Foo</a></p> -</div> - -<p>This is some -text</p> - -<p><a href="http://example.com">http://example.com</a></p> - -<div> -&lt;http://example.com&gt; -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/not_parsed.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/not_parsed.text deleted file mode 100644 index 1d1c71c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/not_parsed.text +++ /dev/null @@ -1,24 +0,0 @@ -<div> -This is some text -</div> - -<div><div> -This is some text -</div></div> - -<div> -</p> -</div> - -<div> -<p><a href="/">Foo</a></p> -</div> - -<p>This is some -text</p> - -<http://example.com> - -<div> -<http://example.com> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.html deleted file mode 100644 index 860f9b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.html +++ /dev/null @@ -1,35 +0,0 @@ -<p>baz { |qux| quux }</p> - -<p>This is some para. -<script type="javascript"> -This *text* must not be converted. - </script></p> - -<script>Not *parsed* here</script> - -<script>*not*</script> -<p><em>parsed</em> -This too -</p> - -<script>*not*<p>*parsed* -This too -</p></script> - -<script>something<p>*not*</p></script> - -<script></script> - -<script> -This should be output -<p> *as* is -</p> and nothing should be done -about it -</not> -</p> -</script> - -<p><a href="http://example.com">http://example.com</a></p> - -<style> body > * { background-color: Red; } </style> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.htmlinput b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.htmlinput deleted file mode 100644 index 22b9ea5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.htmlinput +++ /dev/null @@ -1,34 +0,0 @@ -<p>baz { |qux| quux }</p> - -<p>This is some para. -<script type="javascript"> -This *text* must not be converted. - </SCRIPT></p> - -<script>Not *parsed* here</script> - -<sCRIpt>*not*</script> -<p><em>parsed</em> -This too -</p> - -<script>*not*<p>*parsed* -This too -</p></script> - -<sCRIpt>something<p>*not*</p></scrIPt> - -<script></script> - -<script> -This should be output -<p> *as* is -</p> and nothing should be done -about it -</not> -</p> -</script> - -<p><a href="http://example.com">http://example.com</a></p> - -<style> body > * { background-color: Red; } </style> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.text deleted file mode 100644 index e0617c4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_raw.text +++ /dev/null @@ -1,33 +0,0 @@ -<p>baz { |qux| quux }</p> - -This is some para. -<script type="javascript"> -This *text* must not be converted. - </SCRIPT> - -<script>Not *parsed* here</script> - -<script>*not*</script><p>*parsed* -This too -</p> - -<script>*not*<p>*parsed* -This too -</p></script> - -<script>something<p>*not*</p></script> - -<script></script> - -<script> -This should be output -<p> *as* is -</p> and nothing should be done -about it -</not> -</p> -</script> - -<http://example.com> - -<style> body > * { background-color: Red; } </style> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.html deleted file mode 100644 index 2a6191f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.html +++ /dev/null @@ -1,12 +0,0 @@ -<p>This <em>text -should</em> be parsed -as span -</p> - -<p>This produces `</p> -<p>` an unwanted result.&lt;/p&gt;</p> - -<p>This <em>text</em> too</p> -<p> -some text -</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.htmlinput b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.htmlinput deleted file mode 100644 index 4199b8b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.htmlinput +++ /dev/null @@ -1,12 +0,0 @@ -<P>This <EM>text -should</em> be parsed -as span -</p> - -<p>This produces `</p> -<p>` an unwanted result.&lt;/p&gt;</p> - -<p>This <em>text</EM> too</P> -<p> -some text -</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.text deleted file mode 100644 index d07cf6d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_as_span.text +++ /dev/null @@ -1,9 +0,0 @@ -<p>This *text -should* be parsed -as span -</P> - -<p>This produces `</p>` an unwanted result.</p> - -<p>This *text* too</p><p> -some text diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.html deleted file mode 100644 index 8de78c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.html +++ /dev/null @@ -1,21 +0,0 @@ -<div> - <p>test</p> -</div> - -<div> - <pre><code>test -</code></pre> - <div> - <pre><code>test -</code></pre> - </div> -</div> - -<div> - <pre><code>code block with &lt;/div&gt; -</code></pre> -</div> - -<div> - <p>No matching end tag</p> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.text deleted file mode 100644 index b8b1845..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/parse_block_html.text +++ /dev/null @@ -1,17 +0,0 @@ -<DIV> - test -</diV> - -<div> - test - <div> - test - </div> -</div> - -<div> - code block with </div> -</div> - -<div> -No matching end tag diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/processing_instruction.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/processing_instruction.html deleted file mode 100644 index 939b996..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/processing_instruction.html +++ /dev/null @@ -1,12 +0,0 @@ -<p>&lt;?xml version=”1.0”?&gt;</p> - -<p>para</p> - -<p>&lt;? test ?&gt; para</p> - -<p>other</p> - -<p>&lt;? -multiline <em>text</em> -is allowed -?&gt;</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/processing_instruction.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/processing_instruction.text deleted file mode 100644 index fcb866f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/processing_instruction.text +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> - -para - -<? test ?> para - -other - -<? -multiline *text* -is allowed -?> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.html deleted file mode 100644 index 0d926c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.html +++ /dev/null @@ -1,60 +0,0 @@ -<div> - <p>test</p> -</div> - -<p> -para2 -</p> - -<div id="test"> - <p>tes</p> - - <p>test -weiter -</p> -</div> - -<p>para4</p> - -<div> - <div> - <div> - <p>foo</p> - </div> - <div style="&nbsp;"></div> - </div> - <div> - <p>bar </p> - </div> -</div> - -<p>para5</p> - -<div> - <p>id</p> -</div> -<p>test</p> - -<div> - <p>hallo</p> -</div> -<div> - <p>hallo</p> -</div> - -<p>para6</p> - -<div> - <div class="clear"></div> - <p>Another para.</p> -</div> - -<p><em>Test</em></p> - -<p><em>Test</em></p> - -<p><em>Test -</em> -</p> - -<iframe></iframe> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.options deleted file mode 100644 index a660da2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.options +++ /dev/null @@ -1 +0,0 @@ -:parse_block_html: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.text deleted file mode 100644 index a2ffe25..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/simple.text +++ /dev/null @@ -1,55 +0,0 @@ - <div> -test -</div> - -<p> -para2 -</p> - -<div id='test'> - <p>tes</p> - - <p>test -weiter -</p> -</div> - -para4 - -<div> -<div> -<div> -foo -</div> - <div style="&nbsp;"></div> -</div> -<div>bar&nbsp; -</div> -</div> - -para5 - -<div>id -</div> test - -<div> -hallo -</div> <div> -hallo -</div> - -para6 - -<div><DiV cLASs="clear"></dIv> -Another para. -</div> - -<em>Test</em> - -<p><em>Test</em></p> - -<p><em>Test -</em> -</p> - -<iframe></iframe> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/standalone_image_in_div.htmlinput b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/standalone_image_in_div.htmlinput deleted file mode 100644 index 72ff453..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/standalone_image_in_div.htmlinput +++ /dev/null @@ -1,7 +0,0 @@ -<div class="example-1"> - <img src="src.png" alt="inside" /> -</div> - -<div class="example-2"> - <a href="website.html">text</a> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/standalone_image_in_div.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/standalone_image_in_div.text deleted file mode 100644 index 7f0d12c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/standalone_image_in_div.text +++ /dev/null @@ -1,8 +0,0 @@ -<div class="example-1" markdown="1"> -![inside](src.png) -</div> - -<div class="example-2" markdown="1"> -[text](website.html) -</div> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/table.kramdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/table.kramdown deleted file mode 100644 index f8d6802..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/table.kramdown +++ /dev/null @@ -1,8 +0,0 @@ -<table> -<tr> -<th>test</th> -<th></th> -<td></td> -</tr> -</table> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/table.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/table.text deleted file mode 100644 index 32e01da..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/table.text +++ /dev/null @@ -1,7 +0,0 @@ -<table> -<tr> -<th>test</th> -<th></th> -<td></td> -</tr> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/textarea.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/textarea.html deleted file mode 100644 index 6f5693e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/textarea.html +++ /dev/null @@ -1,8 +0,0 @@ -<p>This is a <textarea>inline</textarea></p> - -<textarea>This -is - -some -text -</textarea> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/textarea.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/textarea.text deleted file mode 100644 index a240f5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/textarea.text +++ /dev/null @@ -1,8 +0,0 @@ -This is a <textarea>inline</textarea> - -<textarea>This -is - -some -text -</textarea> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/xml.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/xml.html deleted file mode 100644 index d941bc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/xml.html +++ /dev/null @@ -1,8 +0,0 @@ -<webgen:block name="test" /> - -<some:url name:spac="hallo">doit</some:url> - -<SoMe:UrL NamE:SpAC="test">doit</SoMe:UrL> - -<SoMe>doit&lt;/some&gt; -</SoMe> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/xml.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/xml.text deleted file mode 100644 index 6427fae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/09_html/xml.text +++ /dev/null @@ -1,7 +0,0 @@ -<webgen:block name="test" /> - -<some:url name:spac='hallo'>doit</some:url> - -<SoMe:UrL NamE:SpAC='test'>doit</SoMe:UrL> - -<SoMe>doit</some> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/10_ald/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/10_ald/simple.html deleted file mode 100644 index 74b03d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/10_ald/simple.html +++ /dev/null @@ -1,2 +0,0 @@ -<p>Some paragraph</p> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/10_ald/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/10_ald/simple.text deleted file mode 100644 index f58768a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/10_ald/simple.text +++ /dev/null @@ -1,8 +0,0 @@ -Some paragraph - -{:id: ref1} -{:id: .class1} - {:id: #id} - {:id: key="value"} - {:id: .class2 .class3 ref2 #id-with key="value" key='value' key='dfsd\}' } -{:test: k ey=value} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.html deleted file mode 100644 index 9857a03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.html +++ /dev/null @@ -1 +0,0 @@ -<h2 id="myid" class="cls">A header</h2> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.options deleted file mode 100644 index 8776b55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.options +++ /dev/null @@ -1 +0,0 @@ -:auto_ids: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.text deleted file mode 100644 index f521fb0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/auto_id_and_ial.text +++ /dev/null @@ -1,2 +0,0 @@ -## A header -{:#myid .cls} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/nested.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/nested.html deleted file mode 100644 index 84cc368..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/nested.html +++ /dev/null @@ -1,11 +0,0 @@ -<div class="cls" id="id"> -test -</div> - -<div class="cls" id="id"> - <p>test</p> -</div> - -<blockquote class="cls" id="id"> - <p>para</p> -</blockquote> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/nested.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/nested.text deleted file mode 100644 index 827645c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/nested.text +++ /dev/null @@ -1,15 +0,0 @@ -{:.cls} -<div> -test -</div> -{:#id} - -{:.cls} -<div markdown="1"> -test -</div> -{:#id} - -{:.cls} -> para -{:#id} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/simple.html deleted file mode 100644 index 1086f0c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/simple.html +++ /dev/null @@ -1,29 +0,0 @@ -<p key1="val&quot;" key2="val'" class="other-class myclass class -class" id="other" key="val">Some paragraph.</p> - -<p class="cls1 cls2" id="id">Some paragraph.</p> - -<blockquote id="id" class="class"> - <p>quote</p> -</blockquote> - -<ul key="val"> - <li>list</li> -</ul> - -<pre id="other"><code>code block -</code></pre> - -<pre><code>other code block -</code></pre> - -<h2 id="myid">A header</h2> - -<p class="cls">Some paragraph here</p> - -<p class="cls1 cls2">Some paragraph here</p> - -<p class="cls">Paragraph</p> -<p>Paragraph</p> - -<h1 class="class" id="other">Another header</h1> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/simple.text deleted file mode 100644 index b97eef3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/11_ial/simple.text +++ /dev/null @@ -1,41 +0,0 @@ -Some paragraph. -{:.class .-class id key="val"} - -Some paragraph. -{:.cls1#id.cls2} - -> quote -{: #id} - {: .class} - -* list -{: key="val"} - - code block -{: #other} - - other code block - -## A header -{:#myid} - -{:.cls} -Some paragraph here - -{:.cls1} -{:.cls2} -Some paragraph here - -Paragraph -{:.cls} -Paragraph - -Another header -============== -{: .class #other} - -{:id: #id key="valo"} -{:id: #other .myclass other} -{:other: key1="val\"" - ig.nored as_is#this key2='val\'' .other-class} - -{:.invalid} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/comment.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/comment.html deleted file mode 100644 index 20b4c66..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/comment.html +++ /dev/null @@ -1,8 +0,0 @@ -<p>This is a simple paragraph.</p> - -<!-- This is a comment {:/}which is {:/comment} ignored. --> - -<p>And another paragraph</p> - -<p>{::comment} -Another paragraph</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/comment.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/comment.text deleted file mode 100644 index 2dfc919..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/comment.text +++ /dev/null @@ -1,12 +0,0 @@ -This is a simple paragraph. - -{::comment} -This is a comment {:/}which is {:/comment} ignored. -{:/comment} - -And another paragraph - -{::comment this='is' .ignore /} - -{::comment} -Another paragraph diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/ignored.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/ignored.html deleted file mode 100644 index 17aae5c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/ignored.html +++ /dev/null @@ -1,8 +0,0 @@ -<p>paragraph</p> - -<p>{::something} -anotherthing -{:/something}</p> - -<p>{::something/} -paragraph</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/ignored.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/ignored.text deleted file mode 100644 index ae94a8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/ignored.text +++ /dev/null @@ -1,8 +0,0 @@ -paragraph - -{::something} -anotherthing -{:/something} - -{::something/} -paragraph diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.html deleted file mode 100644 index 7fe58d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.html +++ /dev/null @@ -1,10 +0,0 @@ -<p>This is a simple paragraph.</p> - -This *is* not processed - -<p>And another paragraph</p> - -<em>bold</em> - -<p>{::nomarkdown} -Another paragraph</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.kramdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.kramdown deleted file mode 100644 index 2cee512..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.kramdown +++ /dev/null @@ -1,20 +0,0 @@ -This is a simple paragraph. - -{::nomarkdown} -This *is* not processed -{:/} - -And another paragraph - -{::nomarkdown type="html"} -<em>bold</em> -{:/} - -{::nomarkdown type="latex"} -\begin{itemize} -\item[Yes] YESSSS! -\end{itemize} -{:/} - -\{::nomarkdown} Another paragraph - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.latex deleted file mode 100644 index 5af0263..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.latex +++ /dev/null @@ -1,13 +0,0 @@ -This is a simple paragraph. - -This *is* not processed - -And another paragraph - -\begin{itemize} -\item[Yes] YESSSS! -\end{itemize} - -\{::nomarkdown\} -Another paragraph - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.text deleted file mode 100644 index 43d441d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/nomarkdown.text +++ /dev/null @@ -1,21 +0,0 @@ -This is a simple paragraph. - -{::nomarkdown} -This *is* not processed - {:/nomarkdown} - -And another paragraph - -{::nomarkdown this='is' .ignore /} - -{::nomarkdown type='html'} -<em>bold</em> -{:/} -{::nomarkdown type="latex"} -\begin{itemize} -\item[Yes] YESSSS! -\end{itemize} -{:/} - -{::nomarkdown} -Another paragraph diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options.html deleted file mode 100644 index 364a77a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options.html +++ /dev/null @@ -1,21 +0,0 @@ -<h1>No header id</h1> - -<h1>without header id</h1> - -<div> -some <span>*para*</span> -</div> - -<div> - <p>some <span><em>para</em></span></p> -</div> - -<p>Some text<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote" rel="footnote">10</a></sup>.</p> - -<div class="footnotes" role="doc-endnotes"> - <ol start="10"> - <li id="fn:ab" role="doc-endnote"> - <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options.text deleted file mode 100644 index b63f34b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options.text +++ /dev/null @@ -1,23 +0,0 @@ -# No header id - -{::options unusedvar="val" /} - -# without header id - -<div> -some <span>*para*</span> -</div> - -{::options parse_block_html="true" parse_span_html="true" /} - -<div> -some <span>*para*</span> -</div> - -{::options footnote_nr="10" /} - -Some text[^ab]. - -[^ab]: Some text. - -{::options template="/etc/passwd" /} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options2.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options2.html deleted file mode 100644 index afe4e13..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options2.html +++ /dev/null @@ -1,10 +0,0 @@ - -<p>Some text<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote" rel="footnote">1</a></sup>.</p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:ab" role="doc-endnote"> - <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options2.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options2.text deleted file mode 100644 index 78abfbe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options2.text +++ /dev/null @@ -1,5 +0,0 @@ -{::options footnote_nr="da10" /} - -Some text[^ab]. - -[^ab]: Some text. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options3.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options3.html deleted file mode 100644 index d5a5ad6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options3.html +++ /dev/null @@ -1,8 +0,0 @@ -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span> -</code></pre> -</div></div> - -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span> -</code></pre> -</div></div> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options3.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options3.text deleted file mode 100644 index f37839b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/12_extension/options3.text +++ /dev/null @@ -1,7 +0,0 @@ - x = Class.new -{: .language-ruby} - -{::options syntax_highlighter_opts="{default_lang: ruby\}" /} - - x = Class.new - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/auto_ids.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/auto_ids.html deleted file mode 100644 index 398628a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/auto_ids.html +++ /dev/null @@ -1,15 +0,0 @@ -<dl> - <dt id="item">item</dt> - <dd>def</dd> - <dt id="item2">item2</dt> - <dd>def</dd> -</dl> - -<dl> - <dt id="prefix-item">item</dt> - <dd>def</dd> - <dt id="prefix-item2">item2</dt> - <dd>def</dd> - <dt id="id">item3</dt> - <dd>def</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/auto_ids.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/auto_ids.text deleted file mode 100644 index f1797a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/auto_ids.text +++ /dev/null @@ -1,18 +0,0 @@ -{:auto_ids} -item -: def - -item2 -: def - -^ - -{:auto_ids-prefix-} -item -: def - -item2 -: def - -{:#id} item3 -: def diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/definition_at_beginning.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/definition_at_beginning.html deleted file mode 100644 index 7c5cc04..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/definition_at_beginning.html +++ /dev/null @@ -1 +0,0 @@ -<p>: no definition</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/definition_at_beginning.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/definition_at_beginning.text deleted file mode 100644 index cd3671b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/definition_at_beginning.text +++ /dev/null @@ -1 +0,0 @@ -: no definition diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/deflist_ial.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/deflist_ial.html deleted file mode 100644 index 3090b1e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/deflist_ial.html +++ /dev/null @@ -1,4 +0,0 @@ -<dl class="dl-horizontal dl-other"> - <dt>item</dt> - <dd>definition</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/deflist_ial.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/deflist_ial.text deleted file mode 100644 index 587c3b0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/deflist_ial.text +++ /dev/null @@ -1,4 +0,0 @@ -{:.dl-horizontal} -item -: definition -{:.dl-other} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/item_ial.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/item_ial.html deleted file mode 100644 index 0ed1197..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/item_ial.html +++ /dev/null @@ -1,17 +0,0 @@ -<dl> - <dt>item</dt> - <dd class="cls">definition -continued</dd> - <dd>another {:.cls}</dd> - <dd class="class"> - <pre><code>code -</code></pre> - </dd> - <dd class="cls">IAL at last - no code bc of text</dd> - <dt class="class">term</dt> - <dd>definition</dd> - <dt class="class1">term1</dt> - <dt class="class2">term2</dt> - <dd>definition</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/item_ial.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/item_ial.text deleted file mode 100644 index 2058d74..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/item_ial.text +++ /dev/null @@ -1,16 +0,0 @@ -item -: {:.cls} definition - continued -: another {:.cls} -: {:.class} - code -: {:.cls} IAL at last - no code bc of text - - -{:.class} term -: definition - -{:.class1} term1 -{:.class2} term2 -: definition diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/multiple_terms.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/multiple_terms.html deleted file mode 100644 index e2e089b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/multiple_terms.html +++ /dev/null @@ -1,13 +0,0 @@ -<dl> - <dt>kram</dt> - <dt><em>down</em></dt> - <dt>now</dt> - <dd>definition 1</dd> - <dd>definition 2</dd> - <dd> - <p>definition 3</p> - </dd> - <dd> - <p>definition 4</p> - </dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/multiple_terms.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/multiple_terms.text deleted file mode 100644 index b834258..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/multiple_terms.text +++ /dev/null @@ -1,10 +0,0 @@ -kram -*down* -now -: definition 1 -: definition 2 - -: definition 3 - - -: definition 4 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/no_def_list.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/no_def_list.html deleted file mode 100644 index c16f962..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/no_def_list.html +++ /dev/null @@ -1,2 +0,0 @@ -<p>This is a para -: and not a definition list</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/no_def_list.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/no_def_list.text deleted file mode 100644 index 98b52b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/no_def_list.text +++ /dev/null @@ -1,2 +0,0 @@ -This is a para -\: and not a definition list diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/para_wrapping.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/para_wrapping.html deleted file mode 100644 index 5f28fdf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/para_wrapping.html +++ /dev/null @@ -1,10 +0,0 @@ -<dl> - <dt>term</dt> - <dd> - <p>definition</p> - </dd> - <dd>definition</dd> - <dd> - <p>definition</p> - </dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/para_wrapping.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/para_wrapping.text deleted file mode 100644 index 280fa47..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/para_wrapping.text +++ /dev/null @@ -1,6 +0,0 @@ -term - -: definition -: definition - -: definition diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/separated_by_eob.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/separated_by_eob.html deleted file mode 100644 index 0a1c4dc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/separated_by_eob.html +++ /dev/null @@ -1,8 +0,0 @@ -<dl> - <dt>kram</dt> - <dd>down</dd> -</dl> -<dl> - <dt>kram</dt> - <dd>down</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/separated_by_eob.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/separated_by_eob.text deleted file mode 100644 index 56fedf1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/separated_by_eob.text +++ /dev/null @@ -1,5 +0,0 @@ -kram -: down -^ -kram -: down diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/simple.html deleted file mode 100644 index 791f145..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/simple.html +++ /dev/null @@ -1,10 +0,0 @@ -<dl> - <dt>kram</dt> - <dd>down</dd> - <dt>novalue</dt> - <dd></dd> - <dt>kram</dt> - <dd>down -kram</dd> - <dd>down</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/simple.text deleted file mode 100644 index e3bf730..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/simple.text +++ /dev/null @@ -1,10 +0,0 @@ -kram -: down - -novalue -: - -kram -: down -kram -: down diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/styled_terms.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/styled_terms.html deleted file mode 100644 index cf7d785..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/styled_terms.html +++ /dev/null @@ -1,4 +0,0 @@ -<dl> - <dt><em>kram</em></dt> - <dd>down</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/styled_terms.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/styled_terms.text deleted file mode 100644 index 76eb355..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/styled_terms.text +++ /dev/null @@ -1,2 +0,0 @@ -*kram* -: down diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/too_much_space.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/too_much_space.html deleted file mode 100644 index b4df878..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/too_much_space.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>para</p> - -<p>: no definition</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/too_much_space.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/too_much_space.text deleted file mode 100644 index 30ab445..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/too_much_space.text +++ /dev/null @@ -1,4 +0,0 @@ -para - - -: no definition diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/with_blocks.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/with_blocks.html deleted file mode 100644 index 45b5865..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/with_blocks.html +++ /dev/null @@ -1,38 +0,0 @@ -<dl> - <dt>kram</dt> - <dd>this is some -text</dd> - <dd> - <p>this is some -more text</p> - </dd> - <dt>kram</dt> - <dd> - <blockquote> - <p>blockquote</p> - </blockquote> - </dd> - <dt>kram</dt> - <dd> - <pre><code>code -</code></pre> - </dd> - <dt>kram</dt> - <dd> - <dl> - <dt>kram</dt> - <dd>down</dd> - </dl> - </dd> - <dt>kram</dt> - <dd> - <h1>header</h1> - </dd> - <dt>kram</dt> - <dd> - <ul> - <li>list</li> - <li>items</li> - </ul> - </dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/with_blocks.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/with_blocks.text deleted file mode 100644 index 15195ce..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/13_definition_list/with_blocks.text +++ /dev/null @@ -1,24 +0,0 @@ -kram -: this is some - text - - : this is some - more text - -kram -: > blockquote - -kram -: - code - -kram -: kram - : down - -kram -: # header - -kram -: * list - * items diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.html deleted file mode 100644 index af9b3e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.html +++ /dev/null @@ -1,8 +0,0 @@ -<table> - <tbody> - <tr> - <td>first line of cell<br />second line of cell</td> - <td>another cell</td> - </tr> - </tbody> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.options deleted file mode 100644 index 63936b9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.options +++ /dev/null @@ -1 +0,0 @@ -:html_to_native: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.text deleted file mode 100644 index 60fec0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/empty_tag_in_cell.text +++ /dev/null @@ -1 +0,0 @@ -| first line of cell<br>second line of cell | another cell | diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/errors.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/errors.html deleted file mode 100644 index 302e97a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/errors.html +++ /dev/null @@ -1,12 +0,0 @@ -<p>No table body</p> - -<p>|-|-|-</p> - -<p>|no|table|here|</p> - -<p>|no|table|here| -paragraph</p> - -<p>|-|-| -|-|-|</p> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/errors.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/errors.text deleted file mode 100644 index 3565d5b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/errors.text +++ /dev/null @@ -1,13 +0,0 @@ -No table body - -|-|-|- - -[5]: test -|no|table|here| - -|no|table|here| -paragraph - -|-|-| -|-|-| - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/escaping.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/escaping.html deleted file mode 100644 index b4528a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/escaping.html +++ /dev/null @@ -1,52 +0,0 @@ -<p><code>cell 1 | cell 2</code></p> - -<p>cell 1 | cell 2</p> - -<table> - <tbody> - <tr> - <td>cell 1</td> - <td>cell 2 | continued</td> - </tr> - </tbody> -</table> - -<table> - <tbody> - <tr> - <td>cell 1</td> - <td>cell <code>2</code></td> - </tr> - </tbody> -</table> - -<table> - <tbody> - <tr> - <td>cell 1</td> - <td><code>code | span</code></td> - </tr> - </tbody> -</table> - -<p>cell 1 <code>code | span</code></p> - -<p>cell 1 | <code>code | span</code></p> - -<table> - <tbody> - <tr> - <td>cell 1</td> - <td>cell `2</td> - <td>cell 3</td> - </tr> - <tr> - <td>cell 1`</td> - <td>cell 2</td> - <td>cell 3</td> - </tr> - </tbody> -</table> - -<p>cell 1 | cell <code>2 | cell 3 -cell 1</code> | cell 2 | cell 3</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/escaping.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/escaping.text deleted file mode 100644 index a8a24d6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/escaping.text +++ /dev/null @@ -1,19 +0,0 @@ -`cell 1 | cell 2` - -cell 1 \| cell 2 - -cell 1 | cell 2 \| continued - -cell 1 | cell `2` - -cell 1 | `code | span` - -cell 1 `code | span` - -cell 1 \| `code | span` - -cell 1 | cell `2 | cell 3 -cell 1` | cell 2 | cell 3 - -cell 1 \| cell `2 | cell 3 -cell 1` | cell 2 | cell 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/footer.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/footer.html deleted file mode 100644 index e6596ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/footer.html +++ /dev/null @@ -1,65 +0,0 @@ -<p>Simple footer</p> - -<table> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - </tfoot> -</table> - -<p>Full footer</p> - -<table> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - </tfoot> -</table> - -<p>Footer with separator lines</p> - -<table> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - <tr> - <td>cell5</td> - <td>cell6</td> - </tr> - </tfoot> -</table> - -<p>Empty footer</p> - -<table> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - </tr> - </tbody> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/footer.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/footer.text deleted file mode 100644 index faaed8d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/footer.text +++ /dev/null @@ -1,25 +0,0 @@ -Simple footer - -| cell1 | cell2 -|= -| cell3 | cell4 - -Full footer - -| cell1 | cell2 -|=======|=======| -| cell3 | cell4 - -Footer with separator lines - -| cell1 | cell2 -|=======|=======| -| cell3 | cell4 -|--- -| cell5 | cell6 -|--- - -Empty footer - -| cell1 | cell2 -|= diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/header.html deleted file mode 100644 index 647f2c4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/header.html +++ /dev/null @@ -1,117 +0,0 @@ -<p>Simple header</p> - -<table> - <thead> - <tr> - <th>cell1</th> - <th>cell2</th> - </tr> - </thead> - <tbody> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - </tbody> -</table> - -<p>Full header</p> - -<table> - <thead> - <tr> - <th>cell1</th> - <th>cell2</th> - </tr> - </thead> - <tbody> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - </tbody> -</table> - -<p>With alignment and superfluous alignment defs</p> - -<table> - <thead> - <tr> - <th>default</th> - <th style="text-align: left">left</th> - <th style="text-align: center">center</th> - <th style="text-align: right">right</th> - <th>default</th> - </tr> - </thead> - <tbody> - <tr> - <td>cell1</td> - <td style="text-align: left">cell2</td> - <td style="text-align: center">cell3</td> - <td style="text-align: right">cell4</td> - <td>cell5</td> - </tr> - </tbody> -</table> - -<p>With leading sep line</p> - -<table> - <thead> - <tr> - <th>cell1</th> - <th>cell2</th> - </tr> - </thead> - <tbody> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - </tbody> -</table> - -<p>Multiple bodies</p> - -<table> - <thead> - <tr> - <th style="text-align: center">cell1</th> - <th>cell2</th> - </tr> - </thead> - <tbody> - <tr> - <td style="text-align: center">cell3</td> - <td>cell4</td> - </tr> - </tbody> - <tbody> - <tr> - <td style="text-align: center">cell5</td> - <td>cell6</td> - </tr> - </tbody> -</table> - -<p>Sep line with tab</p> - -<table> - <thead> - <tr> - <th style="text-align: right">right</th> - <th style="text-align: center">center</th> - </tr> - </thead> - <tbody> - <tr> - <td style="text-align: right">cell1</td> - <td style="text-align: center">cell2</td> - </tr> - <tr> - <td style="text-align: right">cell3</td> - <td style="text-align: center">cell4</td> - </tr> - </tbody> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/header.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/header.text deleted file mode 100644 index 6961bfb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/header.text +++ /dev/null @@ -1,39 +0,0 @@ -Simple header - -| cell1 | cell2 -|----- -| cell3 | cell4 - -Full header - -| cell1 | cell2 -|-------|-------| -| cell3 | cell4 - -With alignment and superfluous alignment defs - -| default | left | center | right | default -|-| :- |:-: | -: | - | :-: | :- -| cell1 | cell2 | cell3 | cell4 | cell5 - -With leading sep line - -|:-:|-:| -| cell1 | cell2 -|-------|-------| -| cell3 | cell4 - -Multiple bodies - -| cell1 | cell2 -+ :-: | -| cell3 | cell4 -|----||| -| cell5 | cell6 - -Sep line with tab - -right | center ----: | :---: -cell1 | cell2 -cell3 | cell4 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/no_table.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/no_table.html deleted file mode 100644 index dce46b1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/no_table.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>No table</p> - -<p>| Some | thing | here</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/no_table.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/no_table.text deleted file mode 100644 index 90f90b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/no_table.text +++ /dev/null @@ -1,3 +0,0 @@ -No table - -\| Some \| thing \| here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/simple.html deleted file mode 100644 index 506b442..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/simple.html +++ /dev/null @@ -1,192 +0,0 @@ -<table> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - </tr> - <tr> - <td>cell3</td> - <td>cell4</td> - </tr> - <tr> - <td>cell5</td> - <td>cell6 |</td> - </tr> - <tr> - <td>cell7</td> - <td>cell8</td> - </tr> - </tbody> -</table> - -<p>Missing cells at end</p> - -<table> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - <td>cell3</td> - </tr> - <tr> - <td>cell1</td> - <td> </td> - <td> </td> - </tr> - <tr> - <td> </td> - <td>cell2</td> - <td>cell3</td> - </tr> - </tbody> -</table> - -<p>Escaped pipe characters</p> - -<table> - <tbody> - <tr> - <td>cell1 | cell1</td> - <td>cell2</td> - </tr> - <tr> - <td>cell1</td> - <td>cell2 |</td> - </tr> - <tr> - <td>cell1 <code>|</code> con</td> - <td>cell2</td> - </tr> - </tbody> -</table> - -<p>Table with code elements</p> - -<table> - <tbody> - <tr> - <td>This is a <code>span | with</code> a pipe.</td> - <td> </td> - <td> </td> - <td> </td> - </tr> - <tr> - <td>Some <em>span</em></td> - <td>&lt;/em&gt; here</td> - <td>a <code>span | with</code> a</td> - <td>pipe.</td> - </tr> - </tbody> -</table> - -<p>Special cases regarding codespan syntax</p> - -<table> - <tbody> - <tr> - <td>a</td> - <td><code>b</code></td> - </tr> - </tbody> -</table> - -<table> - <tbody> - <tr> - <td><code>a</code></td> - </tr> - </tbody> -</table> - -<table class="cls"> - <tbody> - <tr> - <td>table</td> - <td>with</td> - <td>ial</td> - </tr> - </tbody> -</table> - -<table class="cls"> - <tbody> - <tr> - <td>table</td> - <td>with</td> - <td>ial</td> - </tr> - </tbody> -</table> - -<p>not starting with a bar</p> - -<table> - <tbody> - <tr> - <td>simple</td> - <td>table</td> - </tr> - </tbody> -</table> - -<table> - <thead> - <tr> - <th>head1</th> - <th>head2</th> - </tr> - </thead> - <tbody> - <tr> - <td>cell1</td> - <td>cell2</td> - </tr> - </tbody> -</table> - -<table> - <thead> - <tr> - <th>head1</th> - <th>head2</th> - </tr> - </thead> - <tbody> - <tr> - <td> </td> - <td>cell2</td> - </tr> - </tbody> -</table> - -<table> - <tbody> - <tr> - <td>a</td> - <td>b</td> - </tr> - <tr> - <td>c</td> - <td>d</td> - </tr> - <tr> - <td>e</td> - <td>f</td> - </tr> - </tbody> -</table> - -<table> - <thead> - <tr> - <th>Key</th> - <th>Value type</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>Type</code></td> - <td><code>"GROUP"</code>|<code>"UNKNOWN"</code></td> - </tr> - </tbody> -</table> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/simple.text deleted file mode 100644 index 0f225a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/simple.text +++ /dev/null @@ -1,53 +0,0 @@ -| cell1 | cell2 | -|cell3 | cell4| -|cell5|cell6 \| -| cell7|cell8 - -Missing cells at end - -| cell1 | cell2 | cell3 | -| cell1 || -|| cell2 | cell3 - -Escaped pipe characters - -| cell1 \| cell1 | cell2 | -| cell1 | cell2 \| -| cell1 `|` con | cell2 - -Table with code elements - -| This is a <code>span | with</code> a pipe. -| Some <em>span | </em> here | a <code>span | with</code> a | pipe. - -Special cases regarding codespan syntax - -|a|`b` - -|`a` - -{:.cls} -| table | with | ial - -| table | with | ial -{:.cls} - -not starting with a bar - -simple | table - -head1 | head2 -------|------ -cell1 | cell2 - - head1 | head2 --------|------ - | cell2 - -| a | b | - c | d -| e | f | - -| Key | Value type | -|--------|------------------------| -| `Type` | `"GROUP"`\|`"UNKNOWN"` | diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.html deleted file mode 100644 index 7da4f9b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.html +++ /dev/null @@ -1,25 +0,0 @@ -<table> - <tbody> - <tr> - <td>this is <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></td> - <td>a table</td> - </tr> - <tr> - <td>with a</td> - <td>footnote</td> - </tr> - </tbody> -</table> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:1" role="doc-endnote"> - <p>Something</p> - - <blockquote> - <p>special here</p> - </blockquote> - <p><a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.latex deleted file mode 100644 index 99b5312..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.latex +++ /dev/null @@ -1,11 +0,0 @@ -\begin{longtable}{|l|l|} -\hline -this is \footnote{Something - -\begin{quote} -special here -\end{quote}} & a table\\ -with a & footnote\\ -\hline -\end{longtable} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.text deleted file mode 100644 index 345fc5d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/14_table/table_with_footnote.text +++ /dev/null @@ -1,6 +0,0 @@ -| this is [^1] | a table -| with a | footnote - -[^1]: Something - - > special here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/gh_128.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/gh_128.html deleted file mode 100644 index 9b2c127..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/gh_128.html +++ /dev/null @@ -1 +0,0 @@ -\[&lt;script&gt;alert('a')&lt;/script&gt; &lt;script&gt;alert('b&lt;')&lt;/script&gt;\] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/gh_128.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/gh_128.text deleted file mode 100644 index 95252a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/gh_128.text +++ /dev/null @@ -1 +0,0 @@ -$$ <script>alert('a')</script> <script>alert('b<')</script> $$ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.html deleted file mode 100644 index 5d6b343..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.html +++ /dev/null @@ -1,3 +0,0 @@ -<div id="math-id" class="kdmath">$$ -5+5 -$$</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.options deleted file mode 100644 index 06d559e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.options +++ /dev/null @@ -1 +0,0 @@ -:math_engine: ~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.text deleted file mode 100644 index fdee5cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/no_engine.text +++ /dev/null @@ -1,2 +0,0 @@ -{: #math-id} -$$5+5$$ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/normal.html deleted file mode 100644 index f80d56b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/normal.html +++ /dev/null @@ -1,30 +0,0 @@ -<p>This is a para. -\(\text{LaTeX} \lambda_5\)</p> - -\[\lambda_5 = \alpha + 4\] - -<p>\(\lambda_\alpha &gt; 5\) -This is a para.</p> - -\[\begin{align*} -&amp;=5 \\ -&amp;=6 \\ -\end{align*}\] - -\[5+5\] - -\[5+5\] - -\[5+5\] - -\[5+5\] - -<pre><code>$$5+5$$ -</code></pre> - -<div class="cls">\[5+5\] -</div> -<div class="cls">\[5+5\] -</div> - -\[|x| = 5\] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/normal.text deleted file mode 100644 index aa5984a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/15_math/normal.text +++ /dev/null @@ -1,30 +0,0 @@ -This is a para. -$$ \text{LaTeX} \lambda_5 $$ - -$$\lambda_5 = \alpha + 4$$ - -$$\lambda_\alpha > 5$$ -This is a para. - -$$\begin{align*} -&=5 \\ -&=6 \\ -\end{align*}$$ - -$$5+5$$ - - $$5+5$$ - - $$5+5$$ - - $$5+5$$ - - $$5+5$$ - -{:.cls} -$$5+5$$ -^ -$$5+5$$ -{:.cls} - -$$|x| = 5$$ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/no_toc.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/no_toc.html deleted file mode 100644 index bbb831e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/no_toc.html +++ /dev/null @@ -1,14 +0,0 @@ - -<h1>Header level 1</h1> - -<h2>Header level 2</h2> - -<h3>Header level 3</h3> - -<h4>Header level 4</h4> - -<h1>Other header level 1</h1> - -<h2>Other header level 2</h2> - -<h3>Other header level 3</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/no_toc.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/no_toc.text deleted file mode 100644 index 11ad829..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/no_toc.text +++ /dev/null @@ -1,16 +0,0 @@ -* Here comes the table of content -{:toc} - -# Header level 1 - -## Header level 2 - -### Header level 3 - -#### Header level 4 - -# Other header level 1 - -## Other header level 2 - -### Other header level 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.html deleted file mode 100644 index d352684..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.html +++ /dev/null @@ -1,35 +0,0 @@ -<h1 class="no_toc" id="contents">Contents</h1> - -<ul id="markdown-toc"> - <li><a href="#header-level-1" id="markdown-toc-header-level-1">Header level 1</a> <ul> - <li><a href="#header-level-2" id="markdown-toc-header-level-2">Header level 2</a> <ul> - <li><a href="#header-level-3" id="markdown-toc-header-level-3">Header level 3</a> <ul> - <li><a href="#header-level-4" id="markdown-toc-header-level-4">Header level 4</a></li> - </ul> - </li> - </ul> - </li> - </ul> - </li> - <li><a href="#other-header-level-1" id="markdown-toc-other-header-level-1">Other header level 1</a> <ul> - <li><a href="#other-header-level-2" id="markdown-toc-other-header-level-2">Other header level 2</a> <ul> - <li><a href="#other-header-level-3" id="markdown-toc-other-header-level-3">Other header level 3</a></li> - </ul> - </li> - </ul> - </li> -</ul> - -<h1 id="header-level-1">Header level 1</h1> - -<h2 id="header-level-2">Header level 2</h2> - -<h3 id="header-level-3">Header level 3</h3> - -<h4 id="header-level-4">Header level 4</h4> - -<h1 id="other-header-level-1">Other header level 1</h1> - -<h2 id="other-header-level-2">Other header level 2</h2> - -<h3 id="other-header-level-3">Other header level 3</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.options deleted file mode 100644 index 8776b55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.options +++ /dev/null @@ -1 +0,0 @@ -:auto_ids: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.text deleted file mode 100644 index d8f0b86..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_exclude.text +++ /dev/null @@ -1,19 +0,0 @@ -# Contents -{:.no_toc} - -* Here comes the table of content -{:toc} - -# Header level 1 - -## Header level 2 - -### Header level 3 - -#### Header level 4 - -# Other header level 1 - -## Other header level 2 - -### Other header level 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.html deleted file mode 100644 index e50a07c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.html +++ /dev/null @@ -1,24 +0,0 @@ -<ul id="markdown-toc"> - <li><a href="#header--level-2" id="markdown-toc-header--level-2">Header \` level 2</a> <ul> - <li><a href="#header-level-3" id="markdown-toc-header-level-3">Header level 3</a></li> - </ul> - </li> - <li><a href="#other-header-level-2" id="markdown-toc-other-header-level-2">Other header level 2</a> <ul> - <li><a href="#other-header-level-3" id="markdown-toc-other-header-level-3">Other header level 3</a></li> - </ul> - </li> -</ul> - -<h1 id="header-level-1">Header level 1</h1> - -<h2 id="header--level-2">Header \` level 2</h2> - -<h3 id="header-level-3">Header level 3</h3> - -<h4 id="header-level-4">Header level 4</h4> - -<h1 id="other-header-level-1">Other header level 1</h1> - -<h2 id="other-header-level-2">Other header level 2</h2> - -<h3 id="other-header-level-3">Other header level 3</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.options deleted file mode 100644 index bdfbeba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.options +++ /dev/null @@ -1,2 +0,0 @@ -:toc_levels: 2..3 -:auto_ids: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.text deleted file mode 100644 index 1a62dea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_levels.text +++ /dev/null @@ -1,16 +0,0 @@ -* Here comes the table of content -{:toc} - -# Header level 1 - -## Header \\\` level 2 - -### Header level 3 - -#### Header level 4 - -# Other header level 1 - -## Other header level 2 - -### Other header level 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.html deleted file mode 100644 index 0a3e199..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.html +++ /dev/null @@ -1,13 +0,0 @@ -<ul id="markdown-toc"> - <li><a href="#header1-level-1" id="markdown-toc-header1-level-1">Header level 1</a></li> -</ul> - -<h1 id="header1-level-1">Header<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> level 1</h1> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:1" role="doc-endnote"> - <p>Some footnote content here <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.options deleted file mode 100644 index 8776b55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.options +++ /dev/null @@ -1 +0,0 @@ -:auto_ids: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.text deleted file mode 100644 index 5879ed5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_footnotes.text +++ /dev/null @@ -1,6 +0,0 @@ -* Here comes the table of content -{:toc} - -# Header[^1] level 1 - -[^1]: Some footnote content here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.html deleted file mode 100644 index ebde543..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.html +++ /dev/null @@ -1,8 +0,0 @@ -<h1 id="header"><a href="test.html">Header</a></h1> - -<h1 id="header-1"><a href="test.html">Header</a></h1> - -<ul id="markdown-toc"> - <li><a href="#header" id="markdown-toc-header">Header</a></li> - <li><a href="#header-1" id="markdown-toc-header-1">Header</a></li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.options deleted file mode 100644 index 36c20f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: true -:auto_id_stripping: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.text deleted file mode 100644 index 9b4ac07..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/block/16_toc/toc_with_links.text +++ /dev/null @@ -1,8 +0,0 @@ -# [Header] - -# [Header] - -[header]: test.html - -* toc -{:toc} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.html deleted file mode 100644 index 8299316..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.html +++ /dev/null @@ -1,4 +0,0 @@ -<p>一二三四五</p> - -<p>あいうえお</p> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.options deleted file mode 100644 index 4c86d36..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.options +++ /dev/null @@ -1 +0,0 @@ -:remove_line_breaks_for_cjk: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.text deleted file mode 100644 index 969c04c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/cjk-line-break.text +++ /dev/null @@ -1,12 +0,0 @@ -一 -二 -三 -四 -五 - -あ -い -う -え -お - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/encoding.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/encoding.html deleted file mode 100644 index 0339347..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/encoding.html +++ /dev/null @@ -1,46 +0,0 @@ -<p>Das ist gewöhnlich <em>ein</em> <a href="http://example.org">Über-Problem</a> mit manchen<br /> -Sälen <a href="http://example.org">http://example.org</a> und <span id="test">anderen Dinge</span>. Siehe -<img src="http://example.org" alt="Über mich" />!</p> - -<blockquote class="test"> - <p>Vielleicht <em class="red">höre</em> ich nicht richtig?</p> -</blockquote> - -<ul> - <li>Sollten wir uns das überl<em>egen</em>? <em>Verhöhne</em> mich nicht!</li> - <li>Ho ho höher! Sind *wir* da?</li> -</ul> - -<h1>Titel sind urschön</h1> - -<h2 id="hot">Manche mögens <em>ärmer</em></h2> - -<pre><code>öha -was nun? -</code></pre> - -<dl> - <dt>Töne</dt> - <dd>Laute Geräusche</dd> - <dd>vielleicht noch was ä<em>hnliches</em></dd> -</dl> - -<table> - <thead> - <tr> - <th>hoch</th> - <th>höher</th> - <th>am höchsten</th> - </tr> - </thead> - <tbody> - <tr> - <td>über</td> - <td>drüber</td> - <td>müde</td> - </tr> - </tbody> -</table> - -<p>Das ist schön -gemacht</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/encoding.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/encoding.text deleted file mode 100644 index 65edf4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/encoding.text +++ /dev/null @@ -1,28 +0,0 @@ -Das ist gewöhnlich *ein* [Über-Problem](http://example.org) mit manchen -Sälen <http://example.org> und <span id='test'>anderen Dinge</span>. Siehe -![Über mich](http://example.org)! - -> Vielleicht *höre*{:.red} ich nicht richtig? -{:.test} - -* Sollten wir uns das überl*egen*? *Verhöhne* mich nicht! -* Ho ho höher! Sind \*wir\* da? - -Titel sind urschön -================== - -## Manche mögens *ärmer* {#hot} - - öha - was nun? - -Töne -: Laute Geräusche -: vielleicht noch was ä*hnliches* - -| hoch | höher | am höchsten | -|----------------------------| -| über | drüber | müde | - -<p markdown='1'>Das ist schön -gemacht</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/example.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/example.man deleted file mode 100644 index a03d148..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/example.man +++ /dev/null @@ -1,123 +0,0 @@ -.\" generated by kramdown -.TH "NAME" "1" "November 2016" "Some extra data" -.SH NAME -name \- description -.SH "SYNOPSIS" -\fBname\fP [\fBOPTIONS\fP] \fIarguments\fP\.\.\. -.SH "DESCRIPTION" -This is a normal paragraph\. -.sp -.PD 0 -.IP \(bu 4 -A -.IP \(bu 4 -compact -.IP \(bu 4 -list -.IP \(bu 4 -with multiple -.RS -.IP \(bu 4 -items and -.RS -.IP \(bu 4 -nested -.RE -.RE -.IP \(bu 4 -as well -.PD -.RS -.P -blockquotes are fine -.IP 1. 4 -numbered lists -.IP 2. 4 -work too -.RS -.IP 1. 4 -and they -.IP 2. 4 -can be -.RS -.IP 1. 4 -nested -.RE -.RE -.IP 3. 4 -again -.RE -.sp -.RS 4 -.EX -Some fancy code - going - on - here -.EE -.RE -.TP -\fB\-o\fP -.TQ -\fB\-\-option\fP -Description lists -.sp -are useful as well -.P -And compact definition lists: -.sp -.PD 0 -.TP -\fBo\fP -Option -.TP -\fBk\fP -Key -.TP -\fBv\fP -Value -.PD -.TS -box center ; -l l l l . -tables can be centered -.TE -.sp -.TS -box ; -lb lb cb rb . -Default aligned Left aligned Center aligned Right aligned -= -.T& -l l c r . -First body part Second cell Third cell fourth cell -Second \fIline\fP foo \fBstrong\fP baz -Third line \fBquux\fP baz bar -_ -.T& -l l c r . -Second body -2nd line -= -Footer row one -Footer row two -.TE -.sp -.P -Inline formatting like \fIemphasis\fP, \fBstrong\fP and \fBcode span\fP work as ususal\. -.UR are_well\.html -Links -.UE -work, too! As do -.br -line breaks\. -.P -Abbreviations like MD can be used but the abbreviation title is ignored\. -.P -Math elements work \fB\elambda = 5\fP inline and in block form: -.sp -.RS 4 -.EX -\elambda_5 = \ealpha + 4 -.EE -.RE diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/example.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/example.text deleted file mode 100644 index a0a2614..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/example.text +++ /dev/null @@ -1,85 +0,0 @@ -# name(1) - description -{: data-date="November 2016" data-extra="Some extra data"} - -## SYNOPSIS - -`name` \[`OPTIONS`\] *arguments*... - -## DESCRIPTION - -This is a normal paragraph. - -* A -* compact -* list -* with multiple - * items and - * nested -* as well -{:.compact} - -> blockquotes are fine -> -> 1. numbered lists -> -> 2. work too -> 1. and they -> 2. can be -> 1. nested -> -> 3. again - -~~~ -Some fancy code - going - on - here -~~~ - -`-o` -`--option` -: Description lists -: are useful as well - -And compact definition lists: - -`o` -: Option - -`k` -: Key - -`v` -: Value -{:.compact} - -| tables | can | be | centered | -{:.center} - -|-----------------+------------+-----------------+----------------| -| Default aligned |Left aligned| Center aligned | Right aligned | -|-----------------|:-----------|:---------------:|---------------:| -| First body part |Second cell | Third cell | fourth cell | -| Second *line* |foo | **strong** | baz | -| Third line |`quux` | baz | bar | -|-----------------+------------+-----------------+----------------| -| Second body | | | | -| 2nd line | | | | -|=================+============+=================+================| -| Footer row one | | | | -| Footer row two | | | | -|-----------------+------------+-----------------+----------------| - - -Inline formatting like *emphasis*, **strong** and `code span` work -as ususal. [Links](are_well.html) work, too! As do\\ -line breaks. - -Abbreviations like MD can be used but the abbreviation title is -ignored. - -*[MD]: Markdown - -Math elements work $$\lambda = 5$$ inline and in block form: - -$$\lambda_5 = \alpha + 4$$ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-dash-description.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-dash-description.man deleted file mode 100644 index 8e47527..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-dash-description.man +++ /dev/null @@ -1,4 +0,0 @@ -.\" generated by kramdown -.TH "NAME" "7" -.SH NAME -name \- description diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-dash-description.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-dash-description.text deleted file mode 100644 index 832c921..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-dash-description.text +++ /dev/null @@ -1 +0,0 @@ -# name -- description diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-description.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-description.man deleted file mode 100644 index e59dc5e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-description.man +++ /dev/null @@ -1,4 +0,0 @@ -.\" generated by kramdown -.TH "NAME" "1" "November 2016" "Something extra" -.SH NAME -name \- description diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-description.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-description.text deleted file mode 100644 index 941482c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-description.text +++ /dev/null @@ -1,2 +0,0 @@ -# name description -{: data-section="1" data-date="November 2016" data-extra="Something extra"} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section-description.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section-description.man deleted file mode 100644 index 8df4ff7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section-description.man +++ /dev/null @@ -1,4 +0,0 @@ -.\" generated by kramdown -.TH "NAME" "1" -.SH NAME -name \- description diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section-description.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section-description.text deleted file mode 100644 index 5f3e765..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section-description.text +++ /dev/null @@ -1 +0,0 @@ -# name(1) -- description diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section.man deleted file mode 100644 index 7ca8757..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section.man +++ /dev/null @@ -1,2 +0,0 @@ -.\" generated by kramdown -.TH "NAME" "1" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section.text deleted file mode 100644 index da98dbd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name-section.text +++ /dev/null @@ -1 +0,0 @@ -# name(1) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name.man deleted file mode 100644 index 8488496..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name.man +++ /dev/null @@ -1,2 +0,0 @@ -.\" generated by kramdown -.TH "NAME" "7" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name.text deleted file mode 100644 index 5f4656a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/heading-name.text +++ /dev/null @@ -1 +0,0 @@ -# name diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/sections.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/sections.man deleted file mode 100644 index 14ab233..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/sections.man +++ /dev/null @@ -1,4 +0,0 @@ -.\" generated by kramdown -.SH "NAME" -works -.SS "Sub section" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/sections.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/sections.text deleted file mode 100644 index d1f5f86..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/sections.text +++ /dev/null @@ -1,11 +0,0 @@ -## NAME - -works - -### Sub section - -#### Ignored - -##### Ignored - -###### Ignored diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/text-escaping.man b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/text-escaping.man deleted file mode 100644 index 710a4f1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/text-escaping.man +++ /dev/null @@ -1,8 +0,0 @@ -.\" generated by kramdown -\&\. at the start of the line -.P -line with \efB backslash symbol -.P -some \. other \- escaped \' symbols -.P -\&\. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/text-escaping.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/text-escaping.text deleted file mode 100644 index 052b94f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/man/text-escaping.text +++ /dev/null @@ -1,7 +0,0 @@ -. at the start of the line - -line with \fB backslash symbol - -some . other - escaped \' symbols - -. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty.html deleted file mode 100644 index a1102ea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>This is [] empty.</p> - -<p>This is [][] empty.</p> - -<p>This is <a href="test.html"></a> empty.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty.text deleted file mode 100644 index cca5de5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty.text +++ /dev/null @@ -1,5 +0,0 @@ -This is [] empty. - -This is [][] empty. - -This is [](test.html) empty. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty_title.htmlinput b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty_title.htmlinput deleted file mode 100644 index b95b2cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty_title.htmlinput +++ /dev/null @@ -1,3 +0,0 @@ -<p>Image with empty title: <img src="/images/other.png" alt="alt text" title="" /></p> - -<p>Link <a href="http://example.tld" title="">reference</a> with empty title.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty_title.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty_title.text deleted file mode 100644 index baabe7d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/empty_title.text +++ /dev/null @@ -1,7 +0,0 @@ -Image with empty title: ![alt text](/images/other.png) - -Link [reference][1] with empty title. - - - -[1]: http://example.tld diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/image_in_a.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/image_in_a.html deleted file mode 100644 index e1f4ade..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/image_in_a.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>Simple: <a href="local.html">Some <img src="/images/other.png" alt="alt text" /></a></p> - -<p>Nested: <a href="local.html">Some <img src="/images/other.png" alt="alt ![img](text.png) text" /></a></p> - -<p>Simple: <a href="local.html">Some <em>text <img src="/images/other.png" alt="alt text" /> text</em></a></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/image_in_a.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/image_in_a.text deleted file mode 100644 index bdbfb65..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/image_in_a.text +++ /dev/null @@ -1,5 +0,0 @@ -Simple: [Some ![alt text](/images/other.png)](local.html) - -Nested: [Some ![alt ![img](text.png) text](/images/other.png)](local.html) - -Simple: [Some *text ![alt text](/images/other.png) text*](local.html) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/imagelinks.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/imagelinks.html deleted file mode 100644 index 565d36f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/imagelinks.html +++ /dev/null @@ -1,15 +0,0 @@ -<p>Simple: <img src="/images/other.png" alt="alt text" /></p> - -<p>Simple with title: <img src="/images/other.png" alt="alt text" title="title" /></p> - -<p>Empty img link: <img src="" alt="alt text" /></p> - -<p>Reference style: <img src="other.png" alt="alt text" /></p> - -<p>Reference style with title: <img src="other.png" alt="alt text" title="Title" /></p> - -<p>No alt text: <img src="other.png" alt="" /></p> - -<p>No id: <img src="other.png" alt="imgo" title="Title" /></p> - -<p>With escaped pipe: <img src="other.png" alt="an | pipe" /></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/imagelinks.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/imagelinks.text deleted file mode 100644 index 05050a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/imagelinks.text +++ /dev/null @@ -1,18 +0,0 @@ -Simple: ![alt text](/images/other.png) - -Simple with title: ![alt text](/images/other.png "title") - -Empty img link: ![alt text]() - -Reference style: ![alt text][img] - -Reference style with title: ![alt text][imgo] - -No alt text: ![](other.png) - -No id: ![imgo] - -[img]: other.png -[imgo]: other.png "Title" - -With escaped pipe: ![an \| pipe](other.png) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/inline.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/inline.html deleted file mode 100644 index 8d00efa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/inline.html +++ /dev/null @@ -1,46 +0,0 @@ -<p>simple <a href="">URL</a></p> - -<p>simple <a href="something.html">URL</a></p> - -<p>simple <a href="something.html">URL <em>with</em> formatting</a></p> - -<p>simple <a href="something.html" title="a t&quot;itle">URL with single quoted title</a></p> - -<p>simple <a href="something.html" title="a t'itle">URL with double quoted title</a></p> - -<p>simple <a href="something.html">URL [with ] escaped</a></p> - -<p>simple <a href="something.html">URL with ] escaped</a></p> - -<p>simple <a href="something.html">URL [with] nested</a></p> - -<p>simple <a href="something.html">URL with [no](link.html) inside</a></p> - -<p>simple <a href="/something/to(do)">URL with parens</a></p> - -<p>simple <a href="/something/to(do" title="doit">URL with parens</a></p> - -<p>simple <a href="something.html" title="title">URL broken -on line</a></p> - -<p>simple <a href="with spaces.html">URL with spaces</a></p> - -<p>simple <a href="with spaces.html" title="title">URL with spaces</a></p> - -<p>simple <a href="with (spaces).html">URL with spaces</a></p> - -<p>simple <a href="spaces.html">leading/trailing spaces</a></p> - -<p>simple <a href="spaces.html">leading/trailing spaces</a></p> - -<p>simple <a href="spaces.html">leading/trailing spaces</a></p> - -<p>bad [URL <a href="something.html">not</a></p> - -<p>bad [URL with parens](something(new.html)</p> - -<p>bad [URL with empty title](something.html ‘’)</p> - -<p>bad [URL](</p> - -<p>bad [URL](no</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/inline.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/inline.text deleted file mode 100644 index c705764..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/inline.text +++ /dev/null @@ -1,48 +0,0 @@ -simple [URL]() - -simple [URL](something.html) - -simple [URL *with* formatting](something.html) - -simple [URL with single quoted title](something.html 'a t"itle') - -simple [URL with double quoted title](something.html "a t'itle") - -simple [URL \[with \] escaped](something.html) - -simple [URL with \] escaped](something.html) - -simple [URL [with] nested](something.html) - -simple [URL with [no](link.html) inside](something.html) - -simple [URL with parens](/something/to(do)) - -simple [URL with parens](/something/to(do "doit") - -simple [URL broken -on line](something.html -"title") - -simple [URL with spaces](with spaces.html) - -simple [URL with spaces](with spaces.html 'title') - -simple [URL with spaces](with (spaces).html) - -simple [leading/trailing spaces]( spaces.html) - -simple [leading/trailing spaces](spaces.html ) - -simple [leading/trailing spaces]( spaces.html ) - - -bad [URL [not](something.html) - -bad [URL with parens](something(new.html) - -bad [URL with empty title](something.html '') - -bad [URL]( - -bad [URL](no diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/latex_escaping.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/latex_escaping.latex deleted file mode 100644 index 63e58e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/latex_escaping.latex +++ /dev/null @@ -1,6 +0,0 @@ -\href{https://example.com/~tilde/}{https://example.com/\ensuremath{\sim}tilde/} - -\href{http://example.com/percent\%20percent}{http://example.com/percent\%20percent} - -\href{http://example.com/hash#hash}{http://example.com/hash\#hash} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/latex_escaping.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/latex_escaping.text deleted file mode 100644 index 9b27ae8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/latex_escaping.text +++ /dev/null @@ -1,5 +0,0 @@ -<https://example.com/~tilde/> - -<http://example.com/percent%20percent> - -<http://example.com/hash#hash> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs.html deleted file mode 100644 index 15e2ca7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>This is a para. -[id]: http://www.example.com/</p> - -<pre><code>[4]: nourl -</code></pre> - -<p>Points to <a href="one.url">1</a> and <a href="two.url">2</a> and <a href="three.url">3</a> but not [4]</p> - -<p>Points to <a href="http://example.com">_.:,;!?-</a> and <a href="test.html#'test'" title="title">otherid8</a></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs.text deleted file mode 100644 index 16a25b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs.text +++ /dev/null @@ -1,27 +0,0 @@ -This is a para. -[id]: http://www.example.com/ - -[otherid1]: http://wwww.example.com/ "title 1" -[otherid2]: http://wwww.example.com/ 'title 2' -[otherid3]: <some spaces.html> -[otherid4]: <some spaces.html> 'title' -[otherid5]: some spaces.html -[otherid6]: some spaces.html 'title' -[otherid7]: some spaces - "title" -[otherid8]:test.html#'test' 'title' - -[break]: http://www.example.com/test/asdf.html - 'Another title' - -[1]: ignored.url - [1]: one.url - [2]: two.url - [3]: three.url - [4]: nourl - -Points to [1] and [2] and [3] but not [4] - -[_.:,;!?-]: http://example.com - -Points to [_.:,;!?-] and [otherid8] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs_with_ial.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs_with_ial.html deleted file mode 100644 index f56d77d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs_with_ial.html +++ /dev/null @@ -1,4 +0,0 @@ -<p>Link def with <a hreflang="en" class="test" href="http://example.com" title="title">attr</a> and <a hreflang="en" class="test" href="http://example.com" title="title">attr 2</a> and <a class="test" href="http://example.com">attr 3</a> and <a hreflang="en" class="test" href="http://example.com">attr before</a></p> - -<p>test</p> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs_with_ial.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs_with_ial.text deleted file mode 100644 index 59398a3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/link_defs_with_ial.text +++ /dev/null @@ -1,16 +0,0 @@ -Link def with [attr] and [attr 2] and [attr 3] and [attr before] - -[attr]: http://example.com 'title' -{: hreflang="en" .test} - -[attr 2]: http://example.com 'title' -{: hreflang="en"} -{: .test} - -[attr 3]: http://example.com -{: .test} -test - -{: hreflang="en"} -{: .test} -[attr before]: http://example.com diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/links_with_angle_brackets.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/links_with_angle_brackets.html deleted file mode 100644 index ecaa31e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/links_with_angle_brackets.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>This is a <a href="with angle.html">link</a>.</p> - -<p>This is a <a href="with angle.html" title="and title">link</a>.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/links_with_angle_brackets.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/links_with_angle_brackets.text deleted file mode 100644 index 2cf0ece..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/links_with_angle_brackets.text +++ /dev/null @@ -1,3 +0,0 @@ -This is a [link](<with angle.html>). - -This is a [link](<with angle.html> 'and title'). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.html deleted file mode 100644 index f6fed18..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.html +++ /dev/null @@ -1,37 +0,0 @@ - -<p>simple <a href="otherurl.html">URL</a> and <a href="someurl.html">URL</a></p> - -<p>simple <a href="otherurl.html">URL</a> and <a href="someurl.html">URL</a></p> - -<p>simple <a href="otherurl.html">1</a> and <a href="someurl.html">isurl</a></p> - -<p>simple <a href="otherurl.html">1</a> and <a href="someurl.html">isurl</a></p> - -<p>this is [a holy <a href="someurl.html">isurl</a>]</p> - -<p>no [resolution][] here and [here]</p> - -<p>with a <a href="url.html">break in -the text</a></p> - -<p>this not [isurl] and not [isurl]</p> - -<p>a <a href="letters.html" title="This is the title">Link with_BIG</a> letters</p> - -<p>bad [no URL] d <a href="someurl.html">isurl</a></p> - -<p>[no url] invalid.html -[no url]:</p> - -<p>“title”</p> - -<p>test <a href="invalid.html">url but no title</a> -test [urldef]</p> - -<p>[urldef]: some.url ‘title”</p> - -<p>some <a href="with spaces.html" title="title">with spaces</a></p> - -<p>this <a href="occasion.html">is a ‘special’ occasion for /all/ of us</a></p> - -<p>this is <a href="predefined.html">predefined</a> for <a href="uri.html" title="My URI">URI</a></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.options deleted file mode 100644 index efb4b01..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.options +++ /dev/null @@ -1,3 +0,0 @@ -:link_defs: - predefined: [predefined.html] - URI: [uri.html, My URI] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.text deleted file mode 100644 index 9f39fa7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/01_link/reference.text +++ /dev/null @@ -1,53 +0,0 @@ -[isurl]: someurl.html - [1]: otherurl.html - -simple [URL][1] and [URL][isurl] - -simple [URL] [1] and [URL] -[isurl] - -simple [1][] and [isurl][] - -simple [1] and [isurl] - -this is [a holy [isurl]] - -no [resolution][] here and [here] - -with a [break in -the text] - - [break in the text]: url.html - -this not \[isurl] and not [isurl\] - -a [Link with_BIG] letters - - [link WITH_big]: letters.html - 'This is the title' - -bad [no URL] d [isurl] - -[no url] invalid.html -[no url]: - -[URL but no title]: invalid.html - - "title" - -test [url but no title] -test [urldef] - -[urldef]: some.url 'title" - - -some [with spaces] - -[with spaces]: with spaces.html "title" - -this [is a 'special' occasion for /all/ of us] - -[is a 'special' occasion for /all/ of us]: occasion.html - - -this is [predefined] for [URI] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/empty.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/empty.html deleted file mode 100644 index 127e694..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/empty.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>This __is **empty.</p> - -<p>This <em>**</em>is empty.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/empty.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/empty.text deleted file mode 100644 index c99d053..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/empty.text +++ /dev/null @@ -1,3 +0,0 @@ -This __is **empty. - -This ****is empty. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/errors.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/errors.html deleted file mode 100644 index e62f03f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/errors.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>This is a *star.</p> - -<p>This is a **star.</p> - -<p>This is <em>*a *star</em>.</p> - -<p>This is *a star*.</p> - -<p>This** is** a star.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/errors.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/errors.text deleted file mode 100644 index e80e5eb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/errors.text +++ /dev/null @@ -1,9 +0,0 @@ -This is a *star. - -This is a **star. - -This is **a *star*. - -This is *a star\*. - -This** is** a star. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/nesting.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/nesting.html deleted file mode 100644 index 3d34cee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/nesting.html +++ /dev/null @@ -1,41 +0,0 @@ -<ul> - <li><strong><em>test test</em></strong></li> - <li><strong><em>test test</em></strong></li> - <li><em>test <strong>test</strong></em></li> - <li><strong>test <em>test</em></strong></li> - <li><strong><em>test</em> test</strong></li> - <li><em><strong>test</strong> test</em></li> - <li><strong><em>test</em> test</strong></li> - <li><strong>test <em>test</em></strong></li> - <li><em>test <strong>test</strong></em></li> - <li><em>test <strong>test</strong></em></li> - <li><strong>test <em>test</em></strong></li> - <li><strong><em>test</em> test</strong></li> - <li><em><strong>test</strong> test</em></li> - <li><strong><em>test</em> test</strong></li> - <li><strong>test <em>test</em></strong></li> - <li><em>test <strong>test</strong></em></li> -</ul> -<ul> - <li><em>a</em>b</li> - <li>a<em>b</em></li> - <li>a<em>b</em>c</li> - <li><strong>a</strong>b</li> - <li>a<strong>b</strong></li> - <li>a<strong>b</strong>c</li> -</ul> -<ul> - <li>_a_b</li> - <li>a_b_</li> - <li>a_b_c</li> - <li>__a__b</li> - <li>a__b__</li> - <li>a__b__c</li> - <li>a__2__c</li> - <li>a__2__3</li> - <li>1__2__3</li> -</ul> -<ul> - <li><em>a _b_ c</em></li> - <li><strong>a __b__ c</strong></li> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/nesting.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/nesting.text deleted file mode 100644 index ba67e84..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/nesting.text +++ /dev/null @@ -1,36 +0,0 @@ -- ***test test*** -- ___test test___ -- *test **test*** -- **test *test*** -- ***test* test** -- ***test** test* -- ***test* test** -- **test *test*** -- *test **test*** -- _test __test___ -- __test _test___ -- ___test_ test__ -- ___test__ test_ -- ___test_ test__ -- __test _test___ -- _test __test___ -^ -- *a*b -- a*b* -- a*b*c -- **a**b -- a**b** -- a**b**c -^ -- _a_b -- a_b_ -- a_b_c -- __a__b -- a__b__ -- a__b__c -- a__2__c -- a__2__3 -- 1__2__3 -^ -- *a _b_ c* -- **a __b__ c** diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.html deleted file mode 100644 index 89774f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.html +++ /dev/null @@ -1,65 +0,0 @@ -<p>This <em>is</em> so <strong>hard</strong>.</p> - -<p>This <em>is</em> so <strong>hard</strong> too.</p> - -<p><em>At</em> start -<em>At</em> start</p> - -<p>At <em>end</em> -At <em>end</em></p> - -<p><em>At</em> start -<em>At</em> start</p> - -<p>At <em>end</em> -At <em>end</em></p> - -<p>And <em>nest<strong>ed</strong></em>.</p> - -<p>And <em>nest**ed</em>.</p> - -<p>And *nest<strong>ed* like</strong> this.</p> - -<p>And <em>not_nest_ed</em>.</p> - -<p>And <strong><em>nested</em></strong>.</p> - -<p>And <strong><em>nested</em></strong>.</p> - -<p>And <strong>nest<em>e</em></strong>.</p> - -<p>And lonely * here*.</p> - -<p>And lonely ** here**.</p> - -<p>And <strong>lonely ** here</strong>.</p> - -<p>** and here**.</p> - -<p>And <strong>compli*cated *</strong> here</p> - -<p>Some<em>**what</em> more * <em>**he</em>re</p> - -<p>Do it <em>*this*</em> way -Or this *<em>this</em>* way -Or that <em>*that</em>* way -Or that *<em>that*</em> way</p> - -<p><a href="http://blah.com/blah_%28">http://blah.com/blah_%28</a></p> - -<p><a href="A_-B">A-_B</a></p> - -<ul> - <li><em>test</em></li> - <li>&#8216;<em>test</em>&#8217;</li> - <li>&#8220;<em>test</em>&#8221;</li> - <li>(&#8220;<em>test</em>&#8221;)</li> - <li>(<em>test</em>)</li> - <li>“<em>test</em>”</li> - <li>`<em>test</em>&#8217;</li> - <li>„<em>test</em>“</li> -</ul> - -<p>it&#8211;by design&#8211;<em>cannot have side-effects</em>.</p> - -<p>it&#8212;by design&#8212;<em>cannot have side-effects</em>.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.options deleted file mode 100644 index 2e6e0a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: :numeric diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.text deleted file mode 100644 index 1e04b87..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/02_emphasis/normal.text +++ /dev/null @@ -1,63 +0,0 @@ -This *is* so **hard**. - -This _is_ so __hard__ too. - -*At* start -*At* start - -At *end* -At *end* - -_At_ start -_At_ start - -At _end_ -At _end_ - -And *nest**ed***. - -And *nest**ed*. - -And *nest**ed* like** this. - -And *not_nest_ed*. - -And ***nested***. - -And ___nested___. - -And **nest*e***. - -And lonely * here*. - -And lonely ** here**. - -And **lonely ** here**. - -** and here**. - -And **compli*cated \*** here - -Some***what* more * ***he*re - -Do it *\*this\** way -Or this \**this*\* way -Or that *\*that*\* way -Or that \**that\** way - -[http://blah.com/blah_%28](http://blah.com/blah_%28) - -[A-_B](A_-B) - -- _test_ -- '_test_' -- "_test_" -- ("_test_") -- (_test_) -- “_test_” -- \`_test_' -- „_test_“ - -it--by design--_cannot have side-effects_. - -it---by design---_cannot have side-effects_. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/empty.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/empty.html deleted file mode 100644 index 20c5051..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/empty.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>This is `` empty.</p> - -<p>This is ``empty.</p> - -<p>This is ````empty.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/empty.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/empty.text deleted file mode 100644 index cbb9152..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/empty.text +++ /dev/null @@ -1,5 +0,0 @@ -This is `` empty. - -This is ``empty. - -This is ````empty. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/errors.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/errors.html deleted file mode 100644 index 1d341a8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/errors.html +++ /dev/null @@ -1 +0,0 @@ -<p>Not ended `span.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/errors.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/errors.text deleted file mode 100644 index 7a948b4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/errors.text +++ /dev/null @@ -1 +0,0 @@ -Not ended `span. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.latex deleted file mode 100644 index a1f84d9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.latex +++ /dev/null @@ -1,2 +0,0 @@ -You can say \mintinline{ruby}{x = Class.new}, for example. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.options deleted file mode 100644 index c11ebb6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.options +++ /dev/null @@ -1 +0,0 @@ -:syntax_highlighter: minted diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.text deleted file mode 100644 index 7373290..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting-minted.text +++ /dev/null @@ -1 +0,0 @@ -You can say `x = Class.new`{:.language-ruby}, for example. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting.html deleted file mode 100644 index 4294542..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting.html +++ /dev/null @@ -1 +0,0 @@ -<p>You can say <code class="language-ruby highlighter-rouge"><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span></code>, for example.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting.text deleted file mode 100644 index 7373290..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/highlighting.text +++ /dev/null @@ -1 +0,0 @@ -You can say `x = Class.new`{:.language-ruby}, for example. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.html deleted file mode 100644 index ec21686..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is a <code class="highlighter-rouge">code-span</code></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.options deleted file mode 100644 index bfc92f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.options +++ /dev/null @@ -1,2 +0,0 @@ -:syntax_highlighter_opts: - guess_lang: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.text deleted file mode 100644 index f704439..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal-css-class.text +++ /dev/null @@ -1 +0,0 @@ -This is a `code-span` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal.html deleted file mode 100644 index 6de2257..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal.html +++ /dev/null @@ -1,20 +0,0 @@ -<p>This is <code>a</code> simple span.</p> - -<p>With <code>some&lt;ht&gt;&amp;ml</code> in it.</p> - -<p>And <code>`</code> backticks.</p> - -<p>And <code>``some``</code> more.</p> - -<p>With backslash <code>in\</code> it.</p> - -<p>This is a ` literal backtick. -As `are` these!</p> - -<p>No <code>literal backtick</code>.</p> - -<p><code>something</code></p> - -<p>` `</p> - -<p>a ` `</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal.text deleted file mode 100644 index c188959..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/normal.text +++ /dev/null @@ -1,20 +0,0 @@ -This is `a` simple span. - -With `some<ht>&ml` in it. - -And `` ` `` backticks. - -And ``` ``some`` ``` more. - -With backslash `in\` it. - -This is a ` literal backtick. -As \`are\` these! - -No `` literal backtick``. - -`something` - -` ` - -a ` ` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.html deleted file mode 100644 index 7822f78..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.html +++ /dev/null @@ -1 +0,0 @@ -<p>You can say <code class="language-ruby">Class</code>.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.options deleted file mode 100644 index 34094e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.options +++ /dev/null @@ -1,4 +0,0 @@ -:syntax_highlighter: rouge -:syntax_highlighter_opts: - span: - disable: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.text deleted file mode 100644 index d958d91..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/disabled.text +++ /dev/null @@ -1 +0,0 @@ -You can say `Class`{:.language-ruby}. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.html deleted file mode 100644 index 4294542..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.html +++ /dev/null @@ -1 +0,0 @@ -<p>You can say <code class="language-ruby highlighter-rouge"><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span></code>, for example.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.options deleted file mode 100644 index 9ac61e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.options +++ /dev/null @@ -1 +0,0 @@ -:syntax_highlighter: rouge diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.text deleted file mode 100644 index 7373290..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/03_codespan/rouge/simple.text +++ /dev/null @@ -1 +0,0 @@ -You can say `x = Class.new`{:.language-ruby}, for example. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.html deleted file mode 100644 index cbb8891..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.html +++ /dev/null @@ -1,79 +0,0 @@ -<p>This is <sup id="fnref:paragraph" role="doc-noteref"><a href="#fn:paragraph" class="footnote" rel="footnote">1</a></sup><sup id="fnref:header" role="doc-noteref"><a href="#fn:header" class="footnote" rel="footnote">2</a></sup><sup id="fnref:blockquote" role="doc-noteref"><a href="#fn:blockquote" class="footnote" rel="footnote">3</a></sup><sup id="fnref:codeblock" role="doc-noteref"><a href="#fn:codeblock" class="footnote" rel="footnote">4</a></sup><sup id="fnref:list" role="doc-noteref"><a href="#fn:list" class="footnote" rel="footnote">5</a></sup><sup id="fnref:table" role="doc-noteref"><a href="#fn:table" class="footnote" rel="footnote">6</a></sup><sup id="fnref:hrule" role="doc-noteref"><a href="#fn:hrule" class="footnote" rel="footnote">7</a></sup><sup id="fnref:mathblock" role="doc-noteref"><a href="#fn:mathblock" class="footnote" rel="footnote">8</a></sup><sup id="fnref:html" role="doc-noteref"><a href="#fn:html" class="footnote" rel="footnote">9</a></sup></p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:paragraph" role="doc-endnote"> - - <p>A paragraph <a href="#fnref:paragraph" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:header" role="doc-endnote"> - - <h1 id="a-header">A header <a href="#fnref:header" class="reversefootnote" role="doc-backlink">&#8617;</a></h1> - </li> - <li id="fn:blockquote" role="doc-endnote"> - - <blockquote> - <p>blockquote</p> - - <p>paragraph <a href="#fnref:blockquote" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </blockquote> - </li> - <li id="fn:codeblock" role="doc-endnote"> - - <pre><code>codeblock -</code></pre> - <p><a href="#fnref:codeblock" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:list" role="doc-endnote"> - - <ul> - <li>item 1</li> - <li>item 2 - <ul> - <li> - <p>sub item</p> - - <blockquote> - <p>blockquote</p> - - <h1 id="header">header <a href="#fnref:list" class="reversefootnote" role="doc-backlink">&#8617;</a></h1> - </blockquote> - </li> - </ul> - </li> - </ul> - </li> - <li id="fn:table" role="doc-endnote"> - - <table> - <tbody> - <tr> - <td>a</td> - <td>b</td> - </tr> - <tr> - <td>c</td> - <td>d</td> - </tr> - </tbody> - </table> - <p><a href="#fnref:table" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:hrule" role="doc-endnote"> - - <hr /> - <p><a href="#fnref:hrule" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:mathblock" role="doc-endnote"> - -\[x + 2\] - <p><a href="#fnref:mathblock" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:html" role="doc-endnote"> - - <div>test -</div> - <p><a href="#fnref:html" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.options deleted file mode 100644 index ac54fc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.options +++ /dev/null @@ -1 +0,0 @@ -footnote_backlink_inline: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.text deleted file mode 100644 index 55f94a3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_inline.text +++ /dev/null @@ -1,38 +0,0 @@ -This is [^paragraph][^header][^blockquote][^codeblock][^list][^table][^hrule][^mathblock][^html] - -[^paragraph]: - A paragraph - -[^header]: - # A header - -[^blockquote]: - > blockquote - > - > paragraph - -[^codeblock]: - codeblock - -[^list]: - * item 1 - * item 2 - * sub item - - > blockquote - > - > # header - -[^table]: - | a | b | - | c | d | - -[^hrule]: - *** - -[^mathblock]: - $$x + 2$$ - -[^html]: - <div>test - </div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.html deleted file mode 100644 index b10570d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>Some footnote here<sup id="fnref:fn" role="doc-noteref"><a href="#fn:fn" class="footnote" rel="footnote">1</a></sup></p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:fn" role="doc-endnote"> - <p>Some text here <a href="#fnref:fn" class="reversefootnote" role="doc-backlink">text &8617; &lt;img /&gt;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.options deleted file mode 100644 index 4c677ef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.options +++ /dev/null @@ -1 +0,0 @@ -:footnote_backlink: 'text &8617; <img />' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.text deleted file mode 100644 index 41a6f98..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/backlink_text.text +++ /dev/null @@ -1,3 +0,0 @@ -Some footnote here[^fn] - -[^fn]: Some text here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.html deleted file mode 100644 index 9012cc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.html +++ /dev/null @@ -1,17 +0,0 @@ -<p>Some para.</p> - -<blockquote> - <p>blockquote</p> -</blockquote> - -<ul> - <li>a list -with some text</li> -</ul> - -<ul> - <li>other list</li> -</ul> -<pre><code>code -</code></pre> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.latex deleted file mode 100644 index 965653c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.latex +++ /dev/null @@ -1,17 +0,0 @@ -Some para. - -\begin{quote} -blockquote -\end{quote} - -\begin{itemize} -\item{} a list -with some text -\end{itemize} - -\begin{itemize} -\item{} other list -\end{itemize} -\begin{verbatim}code -\end{verbatim} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.text deleted file mode 100644 index 44b52e0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/definitions.text +++ /dev/null @@ -1,24 +0,0 @@ -Some para. - -[^footnote]: ignored definition -[^footnote]: Some footnote text - -> blockquote - -[^other]: some - foot - - note text - -* a list - with some text - -[^tnote]: foot note - -* other list -^ - code - -[^1]: - > a blockquote - and some para diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.html deleted file mode 100644 index 7eedecb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.html +++ /dev/null @@ -1,12 +0,0 @@ -<p>This is a footnote<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote" rel="footnote">35</a></sup>. And another<sup id="fnref:bc" role="doc-noteref"><a href="#fn:bc" class="footnote" rel="footnote">36</a></sup>.</p> - -<div class="footnotes" role="doc-endnotes"> - <ol start="35"> - <li id="fn:ab" role="doc-endnote"> - <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:bc" role="doc-endnote"> - <p>Some other text. <a href="#fnref:bc" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.latex deleted file mode 100644 index 8f07dde..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.latex +++ /dev/null @@ -1,2 +0,0 @@ -This is a footnote\footnote{Some text.}. And another\footnote{Some other text.}. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.options deleted file mode 100644 index f606ecf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.options +++ /dev/null @@ -1 +0,0 @@ -:footnote_nr: 35 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.text deleted file mode 100644 index cad2935..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_nr.text +++ /dev/null @@ -1,4 +0,0 @@ -This is a footnote[^ab]. And another[^bc]. - -[^ab]: Some text. -[^bc]: Some other text. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.html deleted file mode 100644 index 4d6cb95..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.html +++ /dev/null @@ -1,12 +0,0 @@ -<p>This is a<sup id="fnref:adf123-ab" role="doc-noteref"><a href="#fn:adf123-ab" class="footnote" rel="footnote">1</a></sup> footnote<sup id="fnref:adf123-ab:1" role="doc-noteref"><a href="#fn:adf123-ab" class="footnote" rel="footnote">1</a></sup>. And another<sup id="fnref:adf123-bc" role="doc-noteref"><a href="#fn:adf123-bc" class="footnote" rel="footnote">2</a></sup>.</p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:adf123-ab" role="doc-endnote"> - <p>Some text. <a href="#fnref:adf123-ab" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:adf123-ab:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p> - </li> - <li id="fn:adf123-bc" role="doc-endnote"> - <p>Some other text. <a href="#fnref:adf123-bc" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.options deleted file mode 100644 index 51d78bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.options +++ /dev/null @@ -1 +0,0 @@ -:footnote_prefix: adf123- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.text deleted file mode 100644 index 884053e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/footnote_prefix.text +++ /dev/null @@ -1,4 +0,0 @@ -This is a[^ab] footnote[^ab]. And another[^bc]. - -[^ab]: Some text. -[^bc]: Some other text. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/inside_footnote.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/inside_footnote.html deleted file mode 100644 index 21c2560..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/inside_footnote.html +++ /dev/null @@ -1,17 +0,0 @@ -<p>Lorem ipsum<sup id="fnref:first" role="doc-noteref"><a href="#fn:first" class="footnote" rel="footnote">1</a></sup> dolor sit amet.</p> - -<p>Lorem ipsum<sup id="fnref:second" role="doc-noteref"><a href="#fn:second" class="footnote" rel="footnote">2</a></sup> dolor sit amet.</p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:first" role="doc-endnote"> - <p>Consecutur adisping.<sup id="fnref:third" role="doc-noteref"><a href="#fn:third" class="footnote" rel="footnote">3</a></sup> <a href="#fnref:first" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:second" role="doc-endnote"> - <p>Sed ut perspiciatis unde omnis. <a href="#fnref:second" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:third" role="doc-endnote"> - <p>Sed ut. <a href="#fnref:third" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/inside_footnote.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/inside_footnote.text deleted file mode 100644 index f4f91e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/inside_footnote.text +++ /dev/null @@ -1,9 +0,0 @@ -Lorem ipsum[^first] dolor sit amet. - -Lorem ipsum[^second] dolor sit amet. - -[^first]: Consecutur adisping.[^third] - -[^second]: Sed ut perspiciatis unde omnis. - -[^third]: Sed ut. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.html deleted file mode 100644 index 0c103f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.html +++ /dev/null @@ -1,46 +0,0 @@ -<p>This is some *ref.<sup id="fnref:fn" role="doc-noteref"><a href="#fn:fn" class="footnote" rel="footnote">1</a></sup></p> - -<blockquote> - <p>a blockquote <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">2</a></sup></p> -</blockquote> - -<ul> - <li>and a list item <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">3</a></sup></li> -</ul> - -<h1>And a header<sup id="fnref:now" role="doc-noteref"><a href="#fn:now" class="footnote" rel="footnote">4</a></sup></h1> - -<p>A marker without a definition [^without].</p> - -<p>A marker <sup id="fnref:empty" role="doc-noteref"><a href="#fn:empty" class="footnote" rel="footnote">5</a></sup> used twice<sup id="fnref:fn:1" role="doc-noteref"><a href="#fn:fn" class="footnote" rel="footnote">1</a></sup> and thrice<sup id="fnref:fn:2" role="doc-noteref"><a href="#fn:fn" class="footnote" rel="footnote">1</a></sup>.</p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:fn" role="doc-endnote"> - <p>Some foot note text&nbsp;<a href="#fnref:fn" class="reversefootnote" role="doc-backlink">&#8617;</a>&nbsp;<a href="#fnref:fn:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a>&nbsp;<a href="#fnref:fn:2" class="reversefootnote" role="doc-backlink">&#8617;<sup>3</sup></a></p> - </li> - <li id="fn:3" role="doc-endnote"> - <p>other text -with more lines</p> - - <blockquote> - <p>and a quote</p> - </blockquote> - <p><a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:1" role="doc-endnote"> - <p>some <em>text</em>&nbsp;<a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:now" role="doc-endnote"> - - <pre><code>code block -continued here -</code></pre> - <p><a href="#fnref:now" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - <li id="fn:empty" role="doc-endnote"> - - <p><a href="#fnref:empty" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.latex deleted file mode 100644 index 8f406b8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.latex +++ /dev/null @@ -1,23 +0,0 @@ -This is some *ref.\footnote{Some foot note text} - -\begin{quote} -a blockquote \footnote{other text -with more lines - -\begin{quote} -and a quote -\end{quote}} -\end{quote} - -\begin{itemize} -\item{} and a list item \footnote{some \emph{text}} -\end{itemize} - -\section*{And a header\footnote{\begin{verbatim}code block -continued here -\end{verbatim}}} - -A marker without a definition {[}\^{}without{]}. - -A marker \footnote{} used twice\footnote{Some foot note text} and thrice\footnote{Some foot note text}. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.options deleted file mode 100644 index 5cfe250..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: false -:entity_output: :symbolic diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.text deleted file mode 100644 index 42b77fb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/markers.text +++ /dev/null @@ -1,27 +0,0 @@ -This is some *ref.[^fn] - -[^fn]: Some foot note text -{: .class} - -> a blockquote [^3] - -* and a list item [^1] - -# And a header[^now] - -[^1]:some *text* -[^3]: other text - with more lines - - > and a quote - -A marker without a definition [^without]. - -A marker [^empty] used twice[^fn] and thrice[^fn]. - -[^now]: - - code block - continued here - -[^empty]: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.html deleted file mode 100644 index 9acf8a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.html +++ /dev/null @@ -1,11 +0,0 @@ -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:1" role="doc-endnote"> - <p>Footnote \` text&#160;<a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> - -<p>Some para with a<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> footnote.</p> - -<p>And another para.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.options deleted file mode 100644 index 2e6e0a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: :numeric diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.text deleted file mode 100644 index 97c0ab1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/placement.text +++ /dev/null @@ -1,8 +0,0 @@ -* footnotes will be placed here -{:footnotes} - -Some para with a[^1] footnote. - -[^1]: Footnote \\\` text - -And another para. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.html deleted file mode 100644 index ff1b320..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.html +++ /dev/null @@ -1,14 +0,0 @@ -<h1>Something</h1> -<p>something<sup id="fnref:note1" role="doc-noteref"><a href="#fn:note1" class="footnote" rel="footnote">1</a></sup>.</p> - -<h1>Footnotes</h1> - -<h1>Test</h1> -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:note1" role="doc-endnote"> - - <p>A note&nbsp;<a href="#fnref:note1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.options deleted file mode 100644 index 5cfe250..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: false -:entity_output: :symbolic diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.text deleted file mode 100644 index 6a60c61..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/regexp_problem.text +++ /dev/null @@ -1,52 +0,0 @@ -# Something -something[^note1]. - -# Footnotes -[^note1]: - A note - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.html deleted file mode 100644 index 77f8e0d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>Some footnote here<sup id="fnref:fn" role="doc-noteref"><a href="#fn:fn" class="footnote" rel="footnote">1</a></sup></p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:fn" role="doc-endnote"> - <p>Some text here</p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.options deleted file mode 100644 index 0512dd6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.options +++ /dev/null @@ -1 +0,0 @@ -:footnote_backlink: '' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.text deleted file mode 100644 index 41a6f98..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/04_footnote/without_backlink.text +++ /dev/null @@ -1,3 +0,0 @@ -Some footnote here[^fn] - -[^fn]: Some text here diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/across_lines.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/across_lines.html deleted file mode 100644 index e7cec40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/across_lines.html +++ /dev/null @@ -1 +0,0 @@ -<p>Link: <a href="test foo">test</a></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/across_lines.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/across_lines.text deleted file mode 100644 index 8f39d95..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/across_lines.text +++ /dev/null @@ -1,2 +0,0 @@ -Link: <a href="test -foo">test</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/button.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/button.html deleted file mode 100644 index c49bb52..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/button.html +++ /dev/null @@ -1,7 +0,0 @@ -<p><button>Some Text</button></p> - -<p>First some text and then a <button>here</button></p> - -<p><button>A button</button> and then text.</p> - -<p>A <button>with <strong>some</strong> <code>code</code> in <img src="image.png" alt="alt" /></button> it.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/button.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/button.text deleted file mode 100644 index e0a7783..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/button.text +++ /dev/null @@ -1,7 +0,0 @@ -<button>Some Text</button> - -First some text and then a <button>here</button> - -<button>A button</button> and then text. - -A <button>with **some** `code` in ![alt](image.png)</button> it. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/invalid.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/invalid.html deleted file mode 100644 index 030552f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/invalid.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is <span>some text</span></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/invalid.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/invalid.text deleted file mode 100644 index 383f0a8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/invalid.text +++ /dev/null @@ -1 +0,0 @@ -This is <span>some text diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/link_with_mailto.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/link_with_mailto.html deleted file mode 100644 index 7d0d6ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/link_with_mailto.html +++ /dev/null @@ -1 +0,0 @@ -<p>Link: <a href="mailto:test@example.com">text</a></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/link_with_mailto.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/link_with_mailto.text deleted file mode 100644 index fb01619..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/link_with_mailto.text +++ /dev/null @@ -1 +0,0 @@ -Link: <a href="mailto:test@example.com">text</a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/mark_element.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/mark_element.html deleted file mode 100644 index b6989b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/mark_element.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>Lorem ipsum.</p> - -<p><mark>Test</mark></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/mark_element.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/mark_element.text deleted file mode 100644 index 6ae30e0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/mark_element.text +++ /dev/null @@ -1,3 +0,0 @@ -Lorem ipsum. - -<mark>Test</mark> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/markdown_attr.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/markdown_attr.html deleted file mode 100644 index 44158c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/markdown_attr.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>This is <span><em>text</em></span> -This is <span>*text*</span> -This is <span><em>text</em></span> -This is <span><em>text</em></span> -This is <span>*nothing* <strong>to <em>fear</em></strong> about</span>. -This is <span>&lt;http://example.com&gt;</span>.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/markdown_attr.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/markdown_attr.text deleted file mode 100644 index dcc10ff..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/markdown_attr.text +++ /dev/null @@ -1,6 +0,0 @@ -This is <span markdown="1">*text*</span> -This is <span markdown="0">*text*</span> -This is <span markdown="span">*text*</span> -This is <span markdown="block">*text*</span> -This is <span markdown="0">*nothing* <strong markdown="1">to *fear*</strong> about</span>. -This is <span markdown="0"><http://example.com></span>. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/normal.html deleted file mode 100644 index 3cdc646..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/normal.html +++ /dev/null @@ -1,43 +0,0 @@ -<p>Empty <a name="anchor" id="anchor" class=""></a>!</p> - -<p><a href="test">title</a> is a title.</p> - -<p>This is &lt;? a PI ?&gt;.</p> - -<p>This is <!-- a --> comment.</p> - -<p>This is <!-- a ---> multiline comment.</p> - -<p>This is <span>tag -now </span>.</p> - -<p>This is <span>tag -</span> now.</p> - -<p>This is an empty <span></span> tag.</p> - -<p>This is <em>something<span test="do_it"></span> strange</em>.</p> - -<p>Auto-closing: <br /></p> - -<p>Expanding: <textarea></textarea></p> - -<p>An invalid tag: &lt;hR&gt;</p> - -<p>A &lt;p&gt;block tag&lt;/p&gt;.</p> - -<p>An invalid &lt;/closing&gt; tag.</p> - -<p>A <script>*not*</script> tag.</p> - -<p>An <span>unclosed <em>tag.</em></span></p> - -<p>Some <code>element with | pipe symbol</code></p> - -<p>Some <span><code>element with | pipe symbol</code></span></p> - -<p>Some <code>element with | pipe -symbol|</code></p> - -<p><u>underlined</u></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/normal.text deleted file mode 100644 index 0156d7c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/normal.text +++ /dev/null @@ -1,43 +0,0 @@ -Empty <a NaMe="anchor" ID="anchor" cLaSs></A>! - -<a href="test">title</a> is a title. - -This is <? a PI ?>. - -This is <!-- a --> comment. - -This is <!-- a ---> multiline comment. - -This is <span>tag -now </span>. - -This is <sPAn>tag -</SPAN> now. - -This is an empty <span></span> tag. - -This is _something<span test="do_it" /> strange_. - -Auto-closing: <br> - -Expanding: <textarea></textarea> - -An invalid tag: <hR> - -A <p>block tag</p>. - -An invalid </closing> tag. - -A <script>*not*</script> tag. - -An <span>unclosed *tag.* - -Some <code>element with | pipe symbol</code> - -Some <span><code>element with | pipe symbol</code></span> - -Some <code>element with | pipe -symbol|</code> - -<u>underlined</u> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/raw_span_elements.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/raw_span_elements.html deleted file mode 100644 index 808f1db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/raw_span_elements.html +++ /dev/null @@ -1,2 +0,0 @@ -<p>This is raw <kbd>--version</kbd> and <samp>--version</samp> and <var>--version</var> and -<code>---version</code>.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/raw_span_elements.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/raw_span_elements.text deleted file mode 100644 index 5b128fc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/raw_span_elements.text +++ /dev/null @@ -1,2 +0,0 @@ -This is raw <kbd>--version</kbd> and <samp>--version</samp> and <var>--version</var> and -<code>---version</code>. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/xml.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/xml.html deleted file mode 100644 index 00b43c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/xml.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>This <some:url name:spac="hallo">doit</some:url> test</p> - -<p>This <SoMe:UrL NamE:SpAC="test">doit</SoMe:UrL> test</p> - -<p>This <SoMe>doit&lt;/some&gt; test</SoMe></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/xml.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/xml.text deleted file mode 100644 index bc234de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/05_html/xml.text +++ /dev/null @@ -1,5 +0,0 @@ -This <some:url name:spac='hallo'>doit</some:url> test - -This <SoMe:UrL NamE:SpAC='test'>doit</SoMe:UrL> test - -This <SoMe>doit</some> test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev.html deleted file mode 100644 index f247c53..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev.html +++ /dev/null @@ -1,21 +0,0 @@ -<p>This <abbr title="It is, yes">is some</abbr> text.</p> - -<p>There <em><abbr title="It is, yes">is some</abbr> real</em> concern about <abbr title="This &amp; that">OtHeR!</abbr></p> - -<p><abbr title="It is, yes">is some</abbr> Think <abbr>empty</abbr> about <abbr title="Very nice country">Oesterreich</abbr>. <abbr title="Cascading">CSS</abbr> und <abbr title="Cascading 3">CSS3</abbr></p> - -<p>no abbrev here because there is someone and kulis some</p> - -<ul> - <li><abbr title="(eXtensible) HyperText Markup Language">(X)HTML</abbr> test</li> - <li>line two</li> -</ul> - -<p><a href="http://en.wikipedia.org/wiki/Xhtml"><abbr title="(eXtensible) HyperText Markup Language">(X)HTML</abbr></a></p> - -<ul> - <li>test <abbr title="(eXtensible) HyperText Markup Language">(X)HTML</abbr></li> -</ul> - -<p>This is <abbr class="testit test" title="Some text here">awesome</abbr>.</p> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev.text deleted file mode 100644 index 1aa8100..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev.text +++ /dev/null @@ -1,34 +0,0 @@ -This is some text. - -*[is some]: Yes it is -*[OtHeR!]: This & that - -*[is some]: It is, yes -*[empty]: - -There *is some real* concern about OtHeR! - -is some Think empty about Oesterreich. CSS und CSS3 - -no abbrev here because there is someone and kulis some - -*[Oesterreich]: Very nice country - -*[CSS]: Cascading -*[CSS3]: Cascading 3 - -* (X)HTML test -* line two - -[(X)HTML](http://en.wikipedia.org/wiki/Xhtml) - -* test (X)HTML - -*[(X)HTML]: (eXtensible) HyperText Markup Language - - -This is awesome. - -{:.testit} -*[awesome]: Some text here -{:.test} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_defs.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_defs.html deleted file mode 100644 index 108fcfc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_defs.html +++ /dev/null @@ -1,2 +0,0 @@ -<pre><code>*[4]: noabbrev -</code></pre> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_defs.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_defs.text deleted file mode 100644 index 3f3a0e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_defs.text +++ /dev/null @@ -1,5 +0,0 @@ -*[ABBR]: Some abbreviations - *[one abbr]: one abbrev - *[2 and other]: another - *[3]: yet another - *[4]: noabbrev diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_in_html.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_in_html.html deleted file mode 100644 index 6da3ca4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_in_html.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>This is <em>some <abbr title="This Escapes SVG Text.">TEST</abbr></em> to check.</p> - -<svg width="100" height="30" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"> - <text x="20" y="20">This TEST fails.</text> -</svg> -<svg width="100" height="30" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"> - <text x="20" y="20">This <abbr title="This Escapes SVG Text.">TEST</abbr> fails.</text> -</svg> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_in_html.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_in_html.text deleted file mode 100644 index e0a0e88..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/abbrev_in_html.text +++ /dev/null @@ -1,10 +0,0 @@ -This is <em>some TEST</em> to check. - -<svg width="100" height="30" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"> - <text x="20" y="20">This TEST fails.</text> -</svg> -<svg width="100" height="30" viewBox="0 0 100 30" xmlns="http://www.w3.org/2000/svg"> - <text x="20" y="20" markdown="span">This TEST fails.</text> -</svg> - -*[TEST]: This Escapes SVG Text. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/in_footnote.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/in_footnote.html deleted file mode 100644 index 4b6a97f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/in_footnote.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>There is a <abbr title="Text File">TXT</abbr> file here. <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></p> - -<div class="footnotes" role="doc-endnotes"> - <ol> - <li id="fn:1" role="doc-endnote"> - <p>A <abbr title="Text File">TXT</abbr> file. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> - </li> - </ol> -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/in_footnote.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/in_footnote.text deleted file mode 100644 index e7709cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/abbreviations/in_footnote.text +++ /dev/null @@ -1,5 +0,0 @@ -There is a TXT file here. [^1] - -*[TXT]: Text File - -[^1]: A TXT file. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/autolinks/url_links.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/autolinks/url_links.html deleted file mode 100644 index 90eae7d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/autolinks/url_links.html +++ /dev/null @@ -1,15 +0,0 @@ -<p>This should be a <a href="http://www.example.com/">http://www.example.com/</a> link. -This should be a <a href="mailto:john.doe@example.com">john.doe@example.com</a> link. -As should <a href="mailto:john.doe@example.com">john.doe@example.com</a> this. -As should <a href="mailto:john_doe@example.com">john_doe@example.com</a> this. -As should <a href="mailto:CSS@example.com"><abbr title="Cascading">CSS</abbr>@example.com</a> this. -Another ampersand <a href="http://www.example.com/?doit&amp;x=y">http://www.example.com/?doit&amp;x=y</a> link. -More entities <a href="http://www.example.com/?doit&amp;x=&quot;y&amp;z=y">http://www.example.com/?doit&amp;x=&quot;y&amp;z=y</a>.</p> - -<p>Email international <a href="mailto:übung@macht.den.meister.de">übung@macht.den.meister.de</a>, <a href="mailto:ü.äß@hülse.de">ü.äß@hülse.de</a> -Email invalid: &lt;<a href="mailtos:me@example.com">me@example.com</a>&gt;</p> - -<p>Autolink with underscore: <a href="http://www.example.com/with_under_score">http://www.example.com/with_under_score</a></p> - -<p><a href="http://www.example.com/">http://www.example.com/</a></p> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/autolinks/url_links.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/autolinks/url_links.text deleted file mode 100644 index 033e8af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/autolinks/url_links.text +++ /dev/null @@ -1,16 +0,0 @@ -This should be a <http://www.example.com/> link. -This should be a <mailto:john.doe@example.com> link. -As should <john.doe@example.com> this. -As should <john_doe@example.com> this. -As should <CSS@example.com> this. -Another ampersand <http://www.example.com/?doit&x=y> link. -More entities <http://www.example.com/?doit&amp;x=&quot;y&z=y>. - -Email international <übung@macht.den.meister.de>, <ü.äß@hülse.de> -Email invalid: <[me@example.com](mailtos:me@example.com)> - -Autolink with underscore: <http://www.example.com/with_under_score> - -<http://www.example.com/> - -*[CSS]: Cascading diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/escaped_chars/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/escaped_chars/normal.html deleted file mode 100644 index 015d594..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/escaped_chars/normal.html +++ /dev/null @@ -1,47 +0,0 @@ -<p>\</p> - -<p>.</p> - -<p>*</p> - -<p>_</p> - -<p>+</p> - -<p>-</p> - -<p>`</p> - -<p>(</p> - -<p>)</p> - -<p>[</p> - -<p>]</p> - -<p>{</p> - -<p>}</p> - -<p>#</p> - -<p>!</p> - -<p>&lt;&lt;</p> - -<p>&gt;&gt;</p> - -<p>:</p> - -<p>|</p> - -<p>"</p> - -<p>'</p> - -<p>=</p> - -<p>&gt;</p> - -<p>&lt;</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/escaped_chars/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/escaped_chars/normal.text deleted file mode 100644 index 1c47104..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/escaped_chars/normal.text +++ /dev/null @@ -1,47 +0,0 @@ -\\ - -\. - -\* - -\_ - -\+ - -\- - -\` - -\( - -\) - -\[ - -\] - -\{ - -\} - -\# - -\! - -\<< - -\>> - -\: - -\| - -\" - -\' - -\= - -\> - -\< diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/comment.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/comment.html deleted file mode 100644 index 3544d49..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/comment.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>This is a <!-- simple --> paragraph. -This is a <!-- simple --> paragraph. -This is a <!-- simple {:/other} paragraph -->. -This is a paragraph. -This is a {:/comment} simple {:/} paragraph. -This is a {::comment} paragraph.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/comment.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/comment.text deleted file mode 100644 index 8b9e8d3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/comment.text +++ /dev/null @@ -1,6 +0,0 @@ -This is a {::comment}simple{:/} paragraph. -This is a {::comment}simple{:/comment} paragraph. -This is a {::comment}simple {:/other} paragraph{:/comment}. -This is a {::comment/} paragraph. -This is a {:/comment} simple {:/} paragraph. -This is a {::comment} paragraph. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/ignored.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/ignored.html deleted file mode 100644 index 63c2c40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/ignored.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is {::something}paragraph{:/}</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/ignored.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/ignored.text deleted file mode 100644 index a7e7737..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/ignored.text +++ /dev/null @@ -1 +0,0 @@ -This is {::something}paragraph{:/} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/nomarkdown.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/nomarkdown.html deleted file mode 100644 index 83de931..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/nomarkdown.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is *some* text.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/nomarkdown.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/nomarkdown.text deleted file mode 100644 index 57c4b38..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/nomarkdown.text +++ /dev/null @@ -1 +0,0 @@ -This is {::nomarkdown}*some*{:/} text. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/options.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/options.html deleted file mode 100644 index 48e3076..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/options.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is an option <span>*true*</span>!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/options.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/options.text deleted file mode 100644 index e289491..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/extension/options.text +++ /dev/null @@ -1 +0,0 @@ -This is an {::options parse_span_html="false" /} option <span>*true*</span>! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/ial/simple.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/ial/simple.html deleted file mode 100644 index c0f3a47..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/ial/simple.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>This is a <code class="hund" id="dog">span</code>.</p> - -<p>This is a <code class="hund katz" id="dog" key="val">span</code>.</p> - -<p>This is an{: .ignored} span ial. -This is an{: .escaped} span ial.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/ial/simple.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/ial/simple.text deleted file mode 100644 index 8945602..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/ial/simple.text +++ /dev/null @@ -1,6 +0,0 @@ -This is a `span`{: .hund #dog}. - -This is a `span`{: .hund #dog}{: .katz key='val'}. - -This is an{: .ignored} span ial. -This is an\{: .escaped} span ial. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.html deleted file mode 100644 index 11066a5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.html +++ /dev/null @@ -1,11 +0,0 @@ -<p>This is a line<br /> -with a line break.</p> - -<p>This is a line -without a line break.</p> - -<p>This is a line <br /> -with a line\ <br /> -break.</p> - -<p>Line break on last line.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.latex deleted file mode 100644 index a62ff56..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.latex +++ /dev/null @@ -1,12 +0,0 @@ -This is a line\newline -with a line break. - -This is a line -without a line break. - -This is a line \newline -with a line\textbackslash{} \newline -break. - -Line break on last line. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.text deleted file mode 100644 index 92f866f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/line_breaks/normal.text +++ /dev/null @@ -1,11 +0,0 @@ -This is a line -with a line break. - -This is a line -without a line break. - -This is a line \\ -with a line\\ -break. - -Line break on last line. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.html deleted file mode 100644 index 3b93c54..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.html +++ /dev/null @@ -1 +0,0 @@ -<p><span class="kdmath">$5+5$</span> inline math</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.options deleted file mode 100644 index 06d559e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.options +++ /dev/null @@ -1 +0,0 @@ -:math_engine: ~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.text deleted file mode 100644 index a22f9fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/no_engine.text +++ /dev/null @@ -1 +0,0 @@ -$$5+5$$ inline math diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/normal.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/normal.html deleted file mode 100644 index 459d03f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/normal.html +++ /dev/null @@ -1,10 +0,0 @@ -<p>This is \(\lambda_\alpha &gt; 5\) some math. With \(1 -+ 1\) new line characters in between.</p> - -<p>\(5+5\) inline math, $5.00 $$no math$$</p> - -<p>$$5+5$$ inline math</p> - -<p>\(5+5\)</p> - -<p>$$5+5$$</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/normal.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/normal.text deleted file mode 100644 index e37a007..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/math/normal.text +++ /dev/null @@ -1,10 +0,0 @@ -This is $$\lambda_\alpha > 5$$ some math. With $$1 -+ 1$$ new line characters in between. - -$$5+5$$ inline math, $5.00 \$$no math$$ - -\$\$5+5$$ inline math - -\$$5+5$$ - -\$\$5+5$$ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.html deleted file mode 100644 index 21a2903..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>This is the A&amp;O. &copy; 2008 by me -As well \&amp; as this. Some &#343; other -values may &#xAF; may also show but -not st. like &amp;#xYZ;.</p> - -<p>This &lt;span&gt; is BS&amp;T; done!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.options deleted file mode 100644 index 036c561..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: :as_input diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.text deleted file mode 100644 index 7ef42c7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities.text +++ /dev/null @@ -1,6 +0,0 @@ -This is the A&O. &copy; 2008 by me -As well \& as this. Some &#343; other -values may &#xAF; may also show but -not st. like &#xYZ;. - -This &lt;span&gt; is BS&T; done! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.html deleted file mode 100644 index ed2817b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.html +++ /dev/null @@ -1 +0,0 @@ -<p>This "is" 'the' A&amp;O. © 2008 by me ŗ and λ</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.options deleted file mode 100644 index 32a751e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.options +++ /dev/null @@ -1,2 +0,0 @@ -:entity_output: :as_char -:smart_quotes: apos,apos,quot,quot diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.text deleted file mode 100644 index 279b511..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_char.text +++ /dev/null @@ -1 +0,0 @@ -This "is" 'the' A&O. &copy; 2008 by me &#343; and &#x3bb; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.html deleted file mode 100644 index d2eec9d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is the A&amp;O. &copy; 2008 by me &#343; and &#x3bb;</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.options deleted file mode 100644 index 036c561..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: :as_input diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.text deleted file mode 100644 index 1ddf7cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_as_input.text +++ /dev/null @@ -1 +0,0 @@ -This is the A&O. &copy; 2008 by me &#343; and &#x3bb; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.html deleted file mode 100644 index d04613e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is the A&amp;O. &#169; 2008 by me &#343; and &#955;</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.options deleted file mode 100644 index 2e6e0a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: :numeric diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.text deleted file mode 100644 index 1ddf7cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_numeric.text +++ /dev/null @@ -1 +0,0 @@ -This is the A&O. &copy; 2008 by me &#343; and &#x3bb; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.html deleted file mode 100644 index 258ba14..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.html +++ /dev/null @@ -1 +0,0 @@ -<p>This is the A&amp;O. &copy; 2008 by me &#343; and &lambda;</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.options deleted file mode 100644 index c195785..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: :symbolic diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.text deleted file mode 100644 index 1ddf7cd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/entities_symbolic.text +++ /dev/null @@ -1 +0,0 @@ -This is the A&O. &copy; 2008 by me &#343; and &#x3bb; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/greaterthan.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/greaterthan.html deleted file mode 100644 index dcce4cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/greaterthan.html +++ /dev/null @@ -1 +0,0 @@ -<p>2 &gt; 1 &gt; 0</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/greaterthan.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/greaterthan.text deleted file mode 100644 index 7dfb7f1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/greaterthan.text +++ /dev/null @@ -1 +0,0 @@ -2 > 1 > 0 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/lowerthan.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/lowerthan.html deleted file mode 100644 index 8ebac23..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/lowerthan.html +++ /dev/null @@ -1 +0,0 @@ -<p>0 &lt; 1 &lt; 2</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/lowerthan.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/lowerthan.text deleted file mode 100644 index 038df8b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/lowerthan.text +++ /dev/null @@ -1 +0,0 @@ -0 < 1 < 2 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.html deleted file mode 100644 index 02d1dbc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.html +++ /dev/null @@ -1,40 +0,0 @@ -<p>This is&hellip; something&mdash;this too&ndash;!</p> - -<p>This &laquo;is&raquo; some text, &laquo;&nbsp;this&nbsp;&raquo; too!</p> - -<p>&ldquo;Fancy quotes&rdquo; are &lsquo;cool&rsquo;, even in the &rsquo;80s! -Je t&rsquo; aime. You&rsquo;re a funny one! Thomas&rsquo; name -Mark&rsquo;s name. &ldquo;&hellip;you&rdquo; -&ldquo;&lsquo;Nested&rsquo; quotes are &lsquo;possible&rsquo;&rdquo;, too! -&lsquo;&ldquo;Otherway&rdquo; is &ldquo;round&rdquo;&rsquo;!</p> - -<p>&lsquo;Opening now!&rsquo;</p> - -<p>&rsquo;80s are really cool.</p> - -<p><em>Cluster</em>&rsquo;s Last Stand.</p> - -<p>Nam liber tempor -&ldquo;&hellip;At vero eos et accusam&rdquo;</p> - -<p>&ldquo;<em>Single underscores</em> should work.&rdquo;</p> - -<p>&ldquo;<em>Single asterisks</em> should work.&rdquo;</p> - -<p>&lsquo;<strong>Double underscores</strong> should work.&rsquo;</p> - -<p>&lsquo;<strong>Double asterisks</strong> should work.&rsquo;</p> - -<p>&ldquo;<em>Hurrah!</em>&rdquo;</p> - -<p>&lsquo;<strong>Absolutely</strong>.&rsquo;</p> - -<p>&ldquo;&hellip;some Text&rdquo;</p> - -<p>&ldquo;&hellip; some Text&rdquo;</p> - -<p>This: &ldquo;&hellip;some Text&rdquo;</p> - -<p>This: &ldquo;&hellip; some Text&rdquo;</p> - -<p>&rdquo;[foo]&rdquo; &ldquo;[foo]&rdquo; d &ldquo;[foo]&rdquo;</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.options deleted file mode 100644 index 4f1c17c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.options +++ /dev/null @@ -1 +0,0 @@ -:entity_output: symbolic diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.text deleted file mode 100644 index 27e090e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography.text +++ /dev/null @@ -1,40 +0,0 @@ -This is... something---this too--! - -This <<is>> some text, << this >> too! - -"Fancy quotes" are 'cool', even in the '80s! -Je t' aime. You're a funny one! Thomas' name -Mark's name. "...you" -"'Nested' quotes are 'possible'", too! -'"Otherway" is "round"'! - -'Opening now!' - -'80s are really cool. - -<em>Cluster</em>'s Last Stand. - -Nam liber tempor -"...At vero eos et accusam" - -"_Single underscores_ should work." - -"*Single asterisks* should work." - -'__Double underscores__ should work.' - -'**Double asterisks** should work.' - -"_Hurrah!_" - -'__Absolutely__.' - -"...some Text" - -"... some Text" - -This: "...some Text" - -This: "... some Text" - -"\[foo]" "\[foo]" d "\[foo]" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.html deleted file mode 100644 index 4a6c226..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>This ... something---this too--!</p> - -<p>This &lt;&lt;is&gt;&gt; some text, &lt;&lt; this &gt;&gt; too!</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.latex b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.latex deleted file mode 100644 index c7d9ba5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.latex +++ /dev/null @@ -1,4 +0,0 @@ -This ... something---this too--! - -This \textless{}\textless{}is\textgreater{}\textgreater{} some text, \textless{}\textless{} this \textgreater{}\textgreater{} too! - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.options deleted file mode 100644 index d0a0313..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.options +++ /dev/null @@ -1,8 +0,0 @@ -typographic_symbols: - hellip: '...' - mdash: '---' - ndash: '--' - laquo: '<<' - raquo: '>>' - laquo_space: '<< ' - raquo_space: ' >>' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.text deleted file mode 100644 index a3d59b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-2.3.2/test/testcases/span/text_substitutions/typography_subst.text +++ /dev/null @@ -1,3 +0,0 @@ -This ... something---this too--! - -This <<is>> some text, << this >> too! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/CONTRIBUTERS b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/CONTRIBUTERS deleted file mode 100644 index 262ad48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/CONTRIBUTERS +++ /dev/null @@ -1,4 +0,0 @@ -Count Name -======= ==== - 15 Ashwin Maroli <ashmaroli@gmail.com> - 5 Thomas Leitner <t_leitner@gmx.at> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/COPYING b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/COPYING deleted file mode 100644 index 417fb2c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/COPYING +++ /dev/null @@ -1,21 +0,0 @@ -kramdown-parser-gfm -Copyright (C) 2019 Thomas Leitner <t_leitner@gmx.at> - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/VERSION b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/VERSION deleted file mode 100644 index 9084fa2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.1.0 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/test_files.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/test_files.rb deleted file mode 100644 index 664f13d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/test_files.rb +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# -#-- -# Copyright (C) 2019 Thomas Leitner <t_leitner@gmx.at> -# -# This file is part of kramdown-parser-gfm which is licensed under the MIT. -#++ -# - -require 'minitest/autorun' -require 'kramdown' -require 'kramdown/parser/gfm' -require 'yaml' -require 'tmpdir' - -Encoding.default_external = 'utf-8' - -class TestFiles < Minitest::Test - - # Generate test methods for gfm-to-html conversion - Dir[__dir__ + '/testcases/**/*.text'].each do |text_file| - basename = text_file.sub(/\.text$/, '') - - html_file = basename + '.html' - next unless File.exist?(html_file) - - define_method('test_gfm_' + File.basename(text_file, '.*') + '_to_html') do - opts_file = basename + '.options' - opts_file = File.join(File.dirname(html_file), 'options') if !File.exist?(opts_file) - options = File.exist?(opts_file) ? YAML::load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1} - doc = Kramdown::Document.new(File.read(text_file), options.merge(input: 'GFM')) - assert_equal(File.read(html_file), doc.to_html) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/atx_header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/atx_header.html deleted file mode 100644 index 776d7a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/atx_header.html +++ /dev/null @@ -1,3 +0,0 @@ -<h1>header</h1> - -<p>#no header</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/atx_header.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/atx_header.text deleted file mode 100644 index 5e70e2b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/atx_header.text +++ /dev/null @@ -1,3 +0,0 @@ -# header - -#no header diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.html deleted file mode 100644 index 305f4c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.html +++ /dev/null @@ -1,14 +0,0 @@ -<pre><code>Three backticks -</code></pre> - -<pre><code>Four backticks -</code></pre> - -<pre><code>Unbalanced bottom heavy -</code></pre> - -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">language</span> <span class="n">no</span> <span class="n">space</span> -</code></pre></div></div> - -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">language</span> <span class="n">with</span> <span class="n">space</span> -</code></pre></div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.options deleted file mode 100644 index 72e9bc1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.options +++ /dev/null @@ -1 +0,0 @@ -:enable_coderay: false diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.text deleted file mode 100644 index fb5c611..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/backticks_syntax.text +++ /dev/null @@ -1,19 +0,0 @@ -``` -Three backticks -``` - -```` -Four backticks -```` - -``` -Unbalanced bottom heavy -`````` - -````ruby -language no space -```` - -```` ruby -language with space -```` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.html deleted file mode 100644 index 5ededae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.html +++ /dev/null @@ -1,20 +0,0 @@ -<p>normal</p> - -<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">require</span> <span class="s1">'kramdown'</span> - -<span class="no">Kramdown</span><span class="o">::</span><span class="no">Document</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">text</span><span class="p">).</span><span class="nf">to_html</span> -</code></pre></div></div> - -<p>indent with tab</p> - -<pre><code>```ruby -require 'kramdown' - -Kramdown::Document.new(text).to_html -``` -</code></pre> - -<p>indent with 2 spaces</p> - -<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">"hello"</span><span class="p">);</span> -</code></pre></div></div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.options deleted file mode 100644 index 72e9bc1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.options +++ /dev/null @@ -1 +0,0 @@ -:enable_coderay: false diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.text deleted file mode 100644 index 5e3e192..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/codeblock_fenced.text +++ /dev/null @@ -1,21 +0,0 @@ -normal - -```ruby -require 'kramdown' - -Kramdown::Document.new(text).to_html -``` - -indent with tab - - ```ruby - require 'kramdown' - - Kramdown::Document.new(text).to_html - ``` - -indent with 2 spaces - - ```js - console.log("hello"); - ``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks.html deleted file mode 100644 index 1dfb2f0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>one<br /> -<em>two</em><br /> -three</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks.text deleted file mode 100644 index f1287bd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks.text +++ /dev/null @@ -1,3 +0,0 @@ -one -_two_ -three diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.html deleted file mode 100644 index 4b34619..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>This is just a normal paragraph.<br /> -Containing a manual line break above.</p> - -<p>It was the best of times,<br /> -it was the worst of times.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.options deleted file mode 100644 index f2da683..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.options +++ /dev/null @@ -1 +0,0 @@ -:hard_wrap: false diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.text deleted file mode 100644 index 29e1d48..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/hard_line_breaks_off.text +++ /dev/null @@ -1,5 +0,0 @@ -This is just a normal paragraph. -Containing a manual line break above. - -It was the best of times,\ -it was the worst of times. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.html deleted file mode 100644 index b45fe8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.html +++ /dev/null @@ -1,27 +0,0 @@ -<h3 id="myid">test</h3> - -<h3 id="variable_name">variable_name</h3> - -<h3 id="abc-def-öúß">abc def öúß</h3> - -<h3 id="192-abc-192">192 abc 192</h3> - -<h3>;.;;</h3> - -<h3 id="variable_name-1">variable_name</h3> - -<h3 id="variable_name-2">variable_name</h3> - -<h3 id="-1">;;</h3> - -<h3 id="before--after-tab">before after tab</h3> - -<h3 id="with-code">with <code>code</code></h3> - -<h3 id="with-äspace">with  ä space</h3> - -<h3 id="with-smart-quotes">With “smart” quotes</h3> - -<h3 id="with--typographic--symbols">with — « typographic » … symbols</h3> - -<h3 id="with-m5">with <script type="math/tex">m=5</script></h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.options deleted file mode 100644 index 8776b55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.options +++ /dev/null @@ -1 +0,0 @@ -:auto_ids: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.text deleted file mode 100644 index 0a89c0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids.text +++ /dev/null @@ -1,27 +0,0 @@ -### test {#myid} - -### variable_name - -### abc def öúß - -### 192 abc 192 - -### ;.;; - -### variable_name - -### variable_name - -### ;; - -### before after tab - -### with `code` - -### with &nbsp;&auml;&nbsp;space - -### With "smart" quotes - -### with --- << typographic >> ... symbols - -### with $$m=5$$ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.html deleted file mode 100644 index 4aab072..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.html +++ /dev/null @@ -1,3 +0,0 @@ -<h1 id="hallo-header-1">Header 1</h1> - -<h1 id="hallo-123">123</h1> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.options deleted file mode 100644 index f37255d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.options +++ /dev/null @@ -1,2 +0,0 @@ -:auto_ids: true -:auto_id_prefix: hallo- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.text deleted file mode 100644 index acf09fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/header_ids_with_prefix.text +++ /dev/null @@ -1,3 +0,0 @@ -# Header 1 - -# 123 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.html deleted file mode 100644 index beecad4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.html +++ /dev/null @@ -1,3 +0,0 @@ -<h3 id="header-with---ndash">Header with --ndash</h3> - -<h3 id="with------typographic---symbols">with --- &lt;&lt; typographic &gt;&gt; ... symbols</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.options deleted file mode 100644 index 4a83cd1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.options +++ /dev/null @@ -1 +0,0 @@ -:gfm_quirks: [no_auto_typographic] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.text deleted file mode 100644 index f579651..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/no_typographic.text +++ /dev/null @@ -1,3 +0,0 @@ -### Header with --ndash - -### with --- << typographic >> ... symbols diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.html deleted file mode 100644 index 41dfb3a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.html +++ /dev/null @@ -1,31 +0,0 @@ -<p>A<br /> - - b</p> - -<p>This is a list<br /> -- or is it</p> - -<p>blockquote<br /> -&gt; text</p> - -<p>header<br /> -# text</p> - -<p>codeblock fenced<br /> -<code> -puts hello world -</code></p> - -<ul> - <li> - <p>level 1<br /> -some text</p> - - <p>begin level 2<br /> -* level 2<br /> -* level 2</p> - </li> -</ul> - -<h1 id="h1">h1</h1> -<p>## h2<br /> -### h3</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.options b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.options deleted file mode 100644 index 704f643..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.options +++ /dev/null @@ -1 +0,0 @@ -:gfm_quirks: [] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.text deleted file mode 100644 index 4e09e03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end-disabled.text +++ /dev/null @@ -1,27 +0,0 @@ -A - - b - -This is a list -- or is it - -blockquote -> text - -header -# text - -codeblock fenced -``` -puts hello world -``` - -* level 1 - some text - - begin level 2 - * level 2 - * level 2 - -# h1 -## h2 -### h3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end.html deleted file mode 100644 index c337d61..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end.html +++ /dev/null @@ -1,38 +0,0 @@ -<p>A</p> -<ul> - <li>b</li> -</ul> - -<p>This is a list</p> -<ul> - <li>or is it</li> -</ul> - -<p>blockquote</p> -<blockquote> - <p>text</p> -</blockquote> - -<p>header</p> -<h1>text</h1> - -<p>codeblock fenced</p> -<pre><code>puts hello world -</code></pre> - -<ul> - <li> - <p>level 1<br /> -some text</p> - - <p>begin level 2</p> - <ul> - <li>level 2</li> - <li>level 2</li> - </ul> - </li> -</ul> - -<h1>h1</h1> -<h2>h2</h2> -<h3>h3</h3> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end.text deleted file mode 100644 index 4e09e03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/paragraph_end.text +++ /dev/null @@ -1,27 +0,0 @@ -A - - b - -This is a list -- or is it - -blockquote -> text - -header -# text - -codeblock fenced -``` -puts hello world -``` - -* level 1 - some text - - begin level 2 - * level 2 - * level 2 - -# h1 -## h2 -### h3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/strikethrough.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/strikethrough.html deleted file mode 100644 index d35158f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/strikethrough.html +++ /dev/null @@ -1,33 +0,0 @@ -<p><del>This is a test</del></p> - -<p>~<del>This is another test</del>~</p> - -<p><del>This is yet another test</del>~</p> - -<p>~~ This is a test of it NOT working ~~</p> - -<p>~~<br /> -This<br /> -is<br /> -a<br /> -<strong>multiline</strong><br /> -test<br /> -~~</p> - -<p>This is an <del><em>inline</em> <strong>strikethrough</strong></del> test</p> - -<p>This is an ~~escaped~~ strikethrough.</p> - -<p>This is a <del>strikethrough with a ~ in the middle</del></p> - -<p>I <del>don’t even</del>~ have an extra tilde.</p> - -<p>This should ~~not be struck.</p> - -<p>This <del>is a complex <em>strike</em> through *test ~~with nesting</del> involved* here~~.</p> - -<p>This <del>is a complex <em>strike</em> through *test</del> with apparent nesting <del>involved* here</del>.</p> - -<p><del>中文</del></p> - -<p><del>a</del></p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/strikethrough.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/strikethrough.text deleted file mode 100644 index 0984200..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/strikethrough.text +++ /dev/null @@ -1,33 +0,0 @@ -~~This is a test~~ - -~~~This is another test~~~ - -~~This is yet another test~~~ - -~~ This is a test of it NOT working ~~ - -~~ -This -is -a -**multiline** -test -~~ - -This is an ~~_inline_ **strikethrough**~~ test - -This is an \~~escaped~~ strikethrough. - -This is a ~~strikethrough with a ~ in the middle~~ - -I ~~don't even~~~ have an extra tilde. - -This should ~~not be struck. - -This ~~is a complex *strike* through *test ~~with nesting~~ involved* here~~. - -This ~~is a complex *strike* through *test~~ with apparent nesting ~~involved* here~~. - -~~中文~~ - -~~a~~ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/task_list.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/task_list.html deleted file mode 100644 index a11b553..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/task_list.html +++ /dev/null @@ -1,40 +0,0 @@ -<p>unordered task list</p> - -<ul class="task-list"> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />first ul task item</li> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />second ul task item</li> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />third ul task item</li> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />fourth ul task item [ ] next</li> -</ul> - -<p>unordered list</p> - -<ul> - <li> - <blockquote> - <p>first ul item</p> - </blockquote> - </li> - <li></li> - <li> - <pre><code>test -</code></pre> - </li> - <li>second ul item</li> -</ul> - -<p>ordered list</p> - -<ol> - <li>first ol item</li> - <li>second ol item</li> -</ol> - -<p>ordered task list</p> - -<ol class="task-list"> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />first ol task item</li> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />second ol task item</li> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />third ol task item</li> - <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />fourth ol task item</li> -</ol> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/task_list.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/task_list.text deleted file mode 100644 index f6ade2f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/task_list.text +++ /dev/null @@ -1,26 +0,0 @@ -unordered task list - -- [ ] first ul task item -- [x] second ul task item -- [X] third ul task item -- [ ] fourth ul task item [ ] next - -unordered list - -- > first ul item -- -- - test -- second ul item - -ordered list - -1. first ol item -2. second ol item - -ordered task list - -1. [ ] first ol task item -2. [x] second ol task item -3. [X] third ol task item -4. [ ] fourth ol task item diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/two_para_hard_line_breaks.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/two_para_hard_line_breaks.html deleted file mode 100644 index d5ba2e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/two_para_hard_line_breaks.html +++ /dev/null @@ -1,4 +0,0 @@ -<p>This is just a normal paragraph. <br /> -Containing a line break.</p> - -<p>Another paragraph.</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/two_para_hard_line_breaks.text b/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/two_para_hard_line_breaks.text deleted file mode 100644 index 6b3d7c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/kramdown-parser-gfm-1.1.0/test/testcases/two_para_hard_line_breaks.text +++ /dev/null @@ -1,4 +0,0 @@ -This is just a normal paragraph. -Containing a line break. - -Another paragraph. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/History.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/History.md deleted file mode 100644 index 6887d18..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/History.md +++ /dev/null @@ -1,293 +0,0 @@ -# Liquid Change Log - -## 4.0.4 / (unreleased) - -### Fixed -* Fix ruby 3.2 compatibility by avoiding use of the removed taint API - -## 4.0.3 / 2019-03-12 - -### Fixed -* Fix break and continue tags inside included templates in loops (#1072) [Justin Li] - -## 4.0.2 / 2019-03-08 - -### Changed -* Add `where` filter (#1026) [Samuel Doiron] -* Add `ParseTreeVisitor` to iterate the Liquid AST (#1025) [Stephen Paul Weber] -* Improve `strip_html` performance (#1032) [printercu] - -### Fixed -* Add error checking for invalid combinations of inputs to sort, sort_natural, where, uniq, map, compact filters (#1059) [Garland Zhang] -* Validate the character encoding in url_decode (#1070) [Clayton Smith] - -## 4.0.1 / 2018-10-09 - -### Changed -* Add benchmark group in Gemfile (#855) [Jerry Liu] -* Allow benchmarks to benchmark render by itself (#851) [Jerry Liu] -* Avoid calling `line_number` on String node when rescuing a render error. (#860) [Dylan Thacker-Smith] -* Avoid duck typing to detect whether to call render on a node. [Dylan Thacker-Smith] -* Clarify spelling of `reversed` on `for` block tag (#843) [Mark Crossfield] -* Replace recursion with loop to avoid potential stack overflow from malicious input (#891, #892) [Dylan Thacker-Smith] -* Limit block tag nesting to 100 (#894) [Dylan Thacker-Smith] -* Replace `assert_equal nil` with `assert_nil` (#895) [Dylan Thacker-Smith] -* Remove Spy Gem (#896) [Dylan Thacker-Smith] -* Add `collection_name` and `variable_name` reader to `For` block (#909) -* Symbols render as strings (#920) [Justin Li] -* Remove default value from Hash objects (#932) [Maxime Bedard] -* Remove one level of nesting (#944) [Dylan Thacker-Smith] -* Update Rubocop version (#952) [Justin Li] -* Add `at_least` and `at_most` filters (#954, #958) [Nithin Bekal] -* Add a regression test for a liquid-c trim mode bug (#972) [Dylan Thacker-Smith] -* Use https rather than git protocol to fetch liquid-c [Dylan Thacker-Smith] -* Add tests against Ruby 2.4 (#963) and 2.5 (#981) -* Replace RegExp literals with constants (#988) [Ashwin Maroli] -* Replace unnecessary `#each_with_index` with `#each` (#992) [Ashwin Maroli] -* Improve the unexpected end delimiter message for block tags. (#1003) [Dylan Thacker-Smith] -* Refactor and optimize rendering (#1005) [Christopher Aue] -* Add installation instruction (#1006) [Ben Gift] -* Remove Circle CI (#1010) -* Rename deprecated `BigDecimal.new` to `BigDecimal` (#1024) [Koichi ITO] -* Rename deprecated Rubocop name (#1027) [Justin Li] - -### Fixed -* Handle `join` filter on non String joiners (#857) [Richard Monette] -* Fix duplicate inclusion condition logic error of `Liquid::Strainer.add_filter` method (#861) -* Fix `escape`, `url_encode`, `url_decode` not handling non-string values (#898) [Thierry Joyal] -* Fix raise when variable is defined but nil when using `strict_variables` [Pascal Betz] -* Fix `sort` and `sort_natural` to handle arrays with nils (#930) [Eric Chan] - -## 4.0.0 / 2016-12-14 / branch "4-0-stable" - -### Changed -* Render an opaque internal error by default for non-Liquid::Error (#835) [Dylan Thacker-Smith] -* Ruby 2.0 support dropped (#832) [Dylan Thacker-Smith] -* Add to_number Drop method to allow custom drops to work with number filters (#731) -* Add strict_variables and strict_filters options to detect undefined references (#691) -* Improve loop performance (#681) [Florian Weingarten] -* Rename Drop method `before_method` to `liquid_method_missing` (#661) [Thierry Joyal] -* Add url_decode filter to invert url_encode (#645) [Larry Archer] -* Add global_filter to apply a filter to all output (#610) [Loren Hale] -* Add compact filter (#600) [Carson Reinke] -* Rename deprecated "has_key?" and "has_interrupt?" methods (#593) [Florian Weingarten] -* Include template name with line numbers in render errors (574) [Dylan Thacker-Smith] -* Add sort_natural filter (#554) [Martin Hanzel] -* Add forloop.parentloop as a reference to the parent loop (#520) [Justin Li] -* Block parsing moved to BlockBody class (#458) [Dylan Thacker-Smith] -* Add concat filter to concatenate arrays (#429) [Diogo Beato] -* Ruby 1.9 support dropped (#491) [Justin Li] -* Liquid::Template.file_system's read_template_file method is no longer passed the context. (#441) [James Reid-Smith] -* Remove `liquid_methods` (See https://github.com/Shopify/liquid/pull/568 for replacement) -* Liquid::Template.register_filter raises when the module overrides registered public methods as private or protected (#705) [Gaurav Chande] - -### Fixed - -* Fix variable names being detected as an operator when starting with contains (#788) [Michael Angell] -* Fix include tag used with strict_variables (#828) [QuickPay] -* Fix map filter when value is a Proc (#672) [Guillaume Malette] -* Fix truncate filter when value is not a string (#672) [Guillaume Malette] -* Fix behaviour of escape filter when input is nil (#665) [Tanel Jakobsoo] -* Fix sort filter behaviour with empty array input (#652) [Marcel Cary] -* Fix test failure under certain timezones (#631) [Dylan Thacker-Smith] -* Fix bug in uniq filter (#595) [Florian Weingarten] -* Fix bug when "blank" and "empty" are used as variable names (#592) [Florian Weingarten] -* Fix condition parse order in strict mode (#569) [Justin Li] -* Fix naming of the "context variable" when dynamically including a template (#559) [Justin Li] -* Gracefully accept empty strings in the date filter (#555) [Loren Hale] -* Fix capturing into variables with a hyphen in the name (#505) [Florian Weingarten] -* Fix case sensitivity regression in date standard filter (#499) [Kelley Reynolds] -* Disallow filters with no variable in strict mode (#475) [Justin Li] -* Disallow variable names in the strict parser that are not valid in the lax parser (#463) [Justin Li] -* Fix BlockBody#warnings taking exponential time to compute (#486) [Justin Li] - -## 3.0.5 / 2015-07-23 / branch "3-0-stable" - -* Fix test failure under certain timezones [Dylan Thacker-Smith] - -## 3.0.4 / 2015-07-17 - -* Fix chained access to multi-dimensional hashes [Florian Weingarten] - -## 3.0.3 / 2015-05-28 - -* Fix condition parse order in strict mode (#569) [Justin Li] - -## 3.0.2 / 2015-04-24 - -* Expose VariableLookup private members (#551) [Justin Li] -* Documentation fixes - -## 3.0.1 / 2015-01-23 - -* Remove duplicate `index0` key in TableRow tag (#502) [Alfred Xing] - -## 3.0.0 / 2014-11-12 - -* Removed Block#end_tag. Instead, override parse with `super` followed by your code. See #446 [Dylan Thacker-Smith] -* Fixed condition with wrong data types (#423) [Bogdan Gusiev] -* Add url_encode to standard filters (#421) [Derrick Reimer] -* Add uniq to standard filters [Florian Weingarten] -* Add exception_handler feature (#397) and #254 [Bogdan Gusiev, Florian Weingarten] -* Optimize variable parsing to avoid repeated regex evaluation during template rendering #383 [Jason Hiltz-Laforge] -* Optimize checking for block interrupts to reduce object allocation #380 [Jason Hiltz-Laforge] -* Properly set context rethrow_errors on render! #349 [Thierry Joyal] -* Fix broken rendering of variables which are equal to false (#345) [Florian Weingarten] -* Remove ActionView template handler [Dylan Thacker-Smith] -* Freeze lots of string literals for new Ruby 2.1 optimization (#297) [Florian Weingarten] -* Allow newlines in tags and variables (#324) [Dylan Thacker-Smith] -* Tag#parse is called after initialize, which now takes options instead of tokens as the 3rd argument. See #321 [Dylan Thacker-Smith] -* Raise `Liquid::ArgumentError` instead of `::ArgumentError` when filter has wrong number of arguments #309 [Bogdan Gusiev] -* Add a to_s default for liquid drops (#306) [Adam Doeler] -* Add strip, lstrip, and rstrip to standard filters [Florian Weingarten] -* Make if, for & case tags return complete and consistent nodelists (#250) [Nick Jones] -* Prevent arbitrary method invocation on condition objects (#274) [Dylan Thacker-Smith] -* Don't call to_sym when creating conditions for security reasons (#273) [Bouke van der Bijl] -* Fix resource counting bug with respond_to?(:length) (#263) [Florian Weingarten] -* Allow specifying custom patterns for template filenames (#284) [Andrei Gladkyi] -* Allow drops to optimize loading a slice of elements (#282) [Tom Burns] -* Support for passing variables to snippets in subdirs (#271) [Joost Hietbrink] -* Add a class cache to avoid runtime extend calls (#249) [James Tucker] -* Remove some legacy Ruby 1.8 compatibility code (#276) [Florian Weingarten] -* Add default filter to standard filters (#267) [Derrick Reimer] -* Add optional strict parsing and warn parsing (#235) [Tristan Hume] -* Add I18n syntax error translation (#241) [Simon Hørup Eskildsen, Sirupsen] -* Make sort filter work on enumerable drops (#239) [Florian Weingarten] -* Fix clashing method names in enumerable drops (#238) [Florian Weingarten] -* Make map filter work on enumerable drops (#233) [Florian Weingarten] -* Improved whitespace stripping for blank blocks, related to #216 [Florian Weingarten] - -## 2.6.3 / 2015-07-23 / branch "2-6-stable" - -* Fix test failure under certain timezones [Dylan Thacker-Smith] - -## 2.6.2 / 2015-01-23 - -* Remove duplicate hash key [Parker Moore] - -## 2.6.1 / 2014-01-10 - -Security fix, cherry-picked from master (4e14a65): -* Don't call to_sym when creating conditions for security reasons (#273) [Bouke van der Bijl] -* Prevent arbitrary method invocation on condition objects (#274) [Dylan Thacker-Smith] - -## 2.6.0 / 2013-11-25 - -IMPORTANT: Liquid 2.6 is going to be the last version of Liquid which maintains explicit Ruby 1.8 compatability. -The following releases will only be tested against Ruby 1.9 and Ruby 2.0 and are likely to break on Ruby 1.8. - -* Bugfix for #106: fix example servlet [gnowoel] -* Bugfix for #97: strip_html filter supports multi-line tags [Jo Liss] -* Bugfix for #114: strip_html filter supports style tags [James Allardice] -* Bugfix for #117: 'now' support for date filter in Ruby 1.9 [Notre Dame Webgroup] -* Bugfix for #166: truncate filter on UTF-8 strings with Ruby 1.8 [Florian Weingarten] -* Bugfix for #204: 'raw' parsing bug [Florian Weingarten] -* Bugfix for #150: 'for' parsing bug [Peter Schröder] -* Bugfix for #126: Strip CRLF in strip_newline [Peter Schröder] -* Bugfix for #174, "can't convert Fixnum into String" for "replace" [jsw0528] -* Allow a Liquid::Drop to be passed into Template#render [Daniel Huckstep] -* Resource limits [Florian Weingarten] -* Add reverse filter [Jay Strybis] -* Add utf-8 support -* Use array instead of Hash to keep the registered filters [Tasos Stathopoulos] -* Cache tokenized partial templates [Tom Burns] -* Avoid warnings in Ruby 1.9.3 [Marcus Stollsteimer] -* Better documentation for 'include' tag (closes #163) [Peter Schröder] -* Use of BigDecimal on filters to have better precision (closes #155) [Arthur Nogueira Neves] - -## 2.5.5 / 2014-01-10 / branch "2-5-stable" - -Security fix, cherry-picked from master (4e14a65): -* Don't call to_sym when creating conditions for security reasons (#273) [Bouke van der Bijl] -* Prevent arbitrary method invocation on condition objects (#274) [Dylan Thacker-Smith] - -## 2.5.4 / 2013-11-11 - -* Fix "can't convert Fixnum into String" for "replace" (#173), [jsw0528] - -## 2.5.3 / 2013-10-09 - -* #232, #234, #237: Fix map filter bugs [Florian Weingarten] - -## 2.5.2 / 2013-09-03 / deleted - -Yanked from rubygems, as it contained too many changes that broke compatibility. Those changes will be on following major releases. - -## 2.5.1 / 2013-07-24 - -* #230: Fix security issue with map filter, Use invoke_drop in map filter [Florian Weingarten] - -## 2.5.0 / 2013-03-06 - -* Prevent Object methods from being called on drops -* Avoid symbol injection from liquid -* Added break and continue statements -* Fix filter parser for args without space separators -* Add support for filter keyword arguments - - -## 2.4.0 / 2012-08-03 - -* Performance improvements -* Allow filters in `assign` -* Add `modulo` filter -* Ruby 1.8, 1.9, and Rubinius compatibility fixes -* Add support for `quoted['references']` in `tablerow` -* Add support for Enumerable to `tablerow` -* `strip_html` filter removes html comments - - -## 2.3.0 / 2011-10-16 - -* Several speed/memory improvements -* Numerous bug fixes -* Added support for MRI 1.9, Rubinius, and JRuby -* Added support for integer drop parameters -* Added epoch support to `date` filter -* New `raw` tag that suppresses parsing -* Added `else` option to `for` tag -* New `increment` tag -* New `split` filter - - -## 2.2.1 / 2010-08-23 - -* Added support for literal tags - - -## 2.2.0 / 2010-08-22 - -* Compatible with Ruby 1.8.7, 1.9.1 and 1.9.2-p0 -* Merged some changed made by the community - - -## 1.9.0 / 2008-03-04 - -* Fixed gem install rake task -* Improve Error encapsulation in liquid by maintaining a own set of exceptions instead of relying on ruby build ins - - -## Before 1.9.0 - -* Added If with or / and expressions -* Implemented .to_liquid for all objects which can be passed to liquid like Strings Arrays Hashes Numerics and Booleans. To export new objects to liquid just implement .to_liquid on them and return objects which themselves have .to_liquid methods. -* Added more tags to standard library -* Added include tag ( like partials in rails ) -* [...] Gazillion of detail improvements -* Added strainers as filter hosts for better security [Tobias Luetke] -* Fixed that rails integration would call filter with the wrong "self" [Michael Geary] -* Fixed bad error reporting when a filter called a method which doesn't exist. Liquid told you that it couldn't find the filter which was obviously misleading [Tobias Luetke] -* Removed count helper from standard lib. use size [Tobias Luetke] -* Fixed bug with string filter parameters failing to tolerate commas in strings. [Paul Hammond] -* Improved filter parameters. Filter parameters are now context sensitive; Types are resolved according to the rules of the context. Multiple parameters are now separated by the Liquid::ArgumentSeparator: , by default [Paul Hammond] - {{ 'Typo' | link_to: 'http://typo.leetsoft.com', 'Typo - a modern weblog engine' }} -* Added Liquid::Drop. A base class which you can use for exporting proxy objects to liquid which can acquire more data when used in liquid. [Tobias Luetke] - - class ProductDrop < Liquid::Drop - def top_sales - Shop.current.products.find(:all, :order => 'sales', :limit => 10 ) - end - end - t = Liquid::Template.parse( ' {% for product in product.top_sales %} {{ product.name }} {% endfor %} ' ) - t.render('product' => ProductDrop.new ) -* Added filter parameters support. Example: {{ date | format_date: "%Y" }} [Paul Hammond] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/LICENSE deleted file mode 100644 index 926b04e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2005, 2006 Tobias Luetke - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/README.md deleted file mode 100644 index 77e9ff4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/README.md +++ /dev/null @@ -1,108 +0,0 @@ -[![Build Status](https://api.travis-ci.org/Shopify/liquid.svg?branch=master)](http://travis-ci.org/Shopify/liquid) -[![Inline docs](http://inch-ci.org/github/Shopify/liquid.svg?branch=master)](http://inch-ci.org/github/Shopify/liquid) - -# Liquid template engine - -* [Contributing guidelines](CONTRIBUTING.md) -* [Version history](History.md) -* [Liquid documentation from Shopify](http://docs.shopify.com/themes/liquid-basics) -* [Liquid Wiki at GitHub](https://github.com/Shopify/liquid/wiki) -* [Website](http://liquidmarkup.org/) - -## Introduction - -Liquid is a template engine which was written with very specific requirements: - -* It has to have beautiful and simple markup. Template engines which don't produce good looking markup are no fun to use. -* It needs to be non evaling and secure. Liquid templates are made so that users can edit them. You don't want to run code on your server which your users wrote. -* It has to be stateless. Compile and render steps have to be separate so that the expensive parsing and compiling can be done once and later on you can just render it passing in a hash with local variables and objects. - -## Why you should use Liquid - -* You want to allow your users to edit the appearance of your application but don't want them to run **insecure code on your server**. -* You want to render templates directly from the database. -* You like smarty (PHP) style template engines. -* You need a template engine which does HTML just as well as emails. -* You don't like the markup of your current templating engine. - -## What does it look like? - -```html -<ul id="products"> - {% for product in products %} - <li> - <h2>{{ product.name }}</h2> - Only {{ product.price | price }} - - {{ product.description | prettyprint | paragraph }} - </li> - {% endfor %} -</ul> -``` - -## How to use Liquid - -Install Liquid by adding `gem 'liquid'` to your gemfile. - -Liquid supports a very simple API based around the Liquid::Template class. -For standard use you can just pass it the content of a file and call render with a parameters hash. - -```ruby -@template = Liquid::Template.parse("hi {{name}}") # Parses and compiles the template -@template.render('name' => 'tobi') # => "hi tobi" -``` - -### Error Modes - -Setting the error mode of Liquid lets you specify how strictly you want your templates to be interpreted. -Normally the parser is very lax and will accept almost anything without error. Unfortunately this can make -it very hard to debug and can lead to unexpected behaviour. - -Liquid also comes with a stricter parser that can be used when editing templates to give better error messages -when templates are invalid. You can enable this new parser like this: - -```ruby -Liquid::Template.error_mode = :strict # Raises a SyntaxError when invalid syntax is used -Liquid::Template.error_mode = :warn # Adds errors to template.errors but continues as normal -Liquid::Template.error_mode = :lax # The default mode, accepts almost anything. -``` - -If you want to set the error mode only on specific templates you can pass `:error_mode` as an option to `parse`: -```ruby -Liquid::Template.parse(source, :error_mode => :strict) -``` -This is useful for doing things like enabling strict mode only in the theme editor. - -It is recommended that you enable `:strict` or `:warn` mode on new apps to stop invalid templates from being created. -It is also recommended that you use it in the template editors of existing apps to give editors better error messages. - -### Undefined variables and filters - -By default, the renderer doesn't raise or in any other way notify you if some variables or filters are missing, i.e. not passed to the `render` method. -You can improve this situation by passing `strict_variables: true` and/or `strict_filters: true` options to the `render` method. -When one of these options is set to true, all errors about undefined variables and undefined filters will be stored in `errors` array of a `Liquid::Template` instance. -Here are some examples: - -```ruby -template = Liquid::Template.parse("{{x}} {{y}} {{z.a}} {{z.b}}") -template.render({ 'x' => 1, 'z' => { 'a' => 2 } }, { strict_variables: true }) -#=> '1 2 ' # when a variable is undefined, it's rendered as nil -template.errors -#=> [#<Liquid::UndefinedVariable: Liquid error: undefined variable y>, #<Liquid::UndefinedVariable: Liquid error: undefined variable b>] -``` - -```ruby -template = Liquid::Template.parse("{{x | filter1 | upcase}}") -template.render({ 'x' => 'foo' }, { strict_filters: true }) -#=> '' # when at least one filter in the filter chain is undefined, a whole expression is rendered as nil -template.errors -#=> [#<Liquid::UndefinedFilter: Liquid error: undefined filter filter1>] -``` - -If you want to raise on a first exception instead of pushing all of them in `errors`, you can use `render!` method: - -```ruby -template = Liquid::Template.parse("{{x}} {{y}}") -template.render!({ 'x' => 1}, { strict_variables: true }) -#=> Liquid::UndefinedVariable: Liquid error: undefined variable y -``` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/fixtures/en_locale.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/fixtures/en_locale.yml deleted file mode 100644 index 0b113c6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/fixtures/en_locale.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - simple: "less is more" - whatever: "something %{something}" - errors: - i18n: - undefined_interpolation: "undefined key %{key}" - unknown_translation: "translation '%{name}' wasn't found" - syntax: - oops: "something wasn't right" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/assign_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/assign_test.rb deleted file mode 100644 index 5502289..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/assign_test.rb +++ /dev/null @@ -1,48 +0,0 @@ -require 'test_helper' - -class AssignTest < Minitest::Test - include Liquid - - def test_assign_with_hyphen_in_variable_name - template_source = <<-END_TEMPLATE - {% assign this-thing = 'Print this-thing' %} - {{ this-thing }} - END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! - assert_equal "Print this-thing", rendered.strip - end - - def test_assigned_variable - assert_template_result('.foo.', - '{% assign foo = values %}.{{ foo[0] }}.', - 'values' => %w(foo bar baz)) - - assert_template_result('.bar.', - '{% assign foo = values %}.{{ foo[1] }}.', - 'values' => %w(foo bar baz)) - end - - def test_assign_with_filter - assert_template_result('.bar.', - '{% assign foo = values | split: "," %}.{{ foo[1] }}.', - 'values' => "foo,bar,baz") - end - - def test_assign_syntax_error - assert_match_syntax_error(/assign/, - '{% assign foo not values %}.', - 'values' => "foo,bar,baz") - end - - def test_assign_uses_error_mode - with_error_mode(:strict) do - assert_raises(SyntaxError) do - Template.parse("{% assign foo = ('X' | downcase) %}") - end - end - with_error_mode(:lax) do - assert Template.parse("{% assign foo = ('X' | downcase) %}") - end - end -end # AssignTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/blank_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/blank_test.rb deleted file mode 100644 index e9b56df..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/blank_test.rb +++ /dev/null @@ -1,106 +0,0 @@ -require 'test_helper' - -class FoobarTag < Liquid::Tag - def render(*args) - " " - end - - Liquid::Template.register_tag('foobar', FoobarTag) -end - -class BlankTestFileSystem - def read_template_file(template_path) - template_path - end -end - -class BlankTest < Minitest::Test - include Liquid - N = 10 - - def wrap_in_for(body) - "{% for i in (1..#{N}) %}#{body}{% endfor %}" - end - - def wrap_in_if(body) - "{% if true %}#{body}{% endif %}" - end - - def wrap(body) - wrap_in_for(body) + wrap_in_if(body) - end - - def test_new_tags_are_not_blank_by_default - assert_template_result(" " * N, wrap_in_for("{% foobar %}")) - end - - def test_loops_are_blank - assert_template_result("", wrap_in_for(" ")) - end - - def test_if_else_are_blank - assert_template_result("", "{% if true %} {% elsif false %} {% else %} {% endif %}") - end - - def test_unless_is_blank - assert_template_result("", wrap("{% unless true %} {% endunless %}")) - end - - def test_mark_as_blank_only_during_parsing - assert_template_result(" " * (N + 1), wrap(" {% if false %} this never happens, but still, this block is not blank {% endif %}")) - end - - def test_comments_are_blank - assert_template_result("", wrap(" {% comment %} whatever {% endcomment %} ")) - end - - def test_captures_are_blank - assert_template_result("", wrap(" {% capture foo %} whatever {% endcapture %} ")) - end - - def test_nested_blocks_are_blank_but_only_if_all_children_are - assert_template_result("", wrap(wrap(" "))) - assert_template_result("\n but this is not " * (N + 1), - wrap('{% if true %} {% comment %} this is blank {% endcomment %} {% endif %} - {% if true %} but this is not {% endif %}')) - end - - def test_assigns_are_blank - assert_template_result("", wrap(' {% assign foo = "bar" %} ')) - end - - def test_whitespace_is_blank - assert_template_result("", wrap(" ")) - assert_template_result("", wrap("\t")) - end - - def test_whitespace_is_not_blank_if_other_stuff_is_present - body = " x " - assert_template_result(body * (N + 1), wrap(body)) - end - - def test_increment_is_not_blank - assert_template_result(" 0" * 2 * (N + 1), wrap("{% assign foo = 0 %} {% increment foo %} {% decrement foo %}")) - end - - def test_cycle_is_not_blank - assert_template_result(" " * ((N + 1) / 2) + " ", wrap("{% cycle ' ', ' ' %}")) - end - - def test_raw_is_not_blank - assert_template_result(" " * (N + 1), wrap(" {% raw %} {% endraw %}")) - end - - def test_include_is_blank - Liquid::Template.file_system = BlankTestFileSystem.new - assert_template_result "foobar" * (N + 1), wrap("{% include 'foobar' %}") - assert_template_result " foobar " * (N + 1), wrap("{% include ' foobar ' %}") - assert_template_result " " * (N + 1), wrap(" {% include ' ' %} ") - end - - def test_case_is_blank - assert_template_result("", wrap(" {% assign foo = 'bar' %} {% case foo %} {% when 'bar' %} {% when 'whatever' %} {% else %} {% endcase %} ")) - assert_template_result("", wrap(" {% assign foo = 'else' %} {% case foo %} {% when 'bar' %} {% when 'whatever' %} {% else %} {% endcase %} ")) - assert_template_result(" x " * (N + 1), wrap(" {% assign foo = 'else' %} {% case foo %} {% when 'bar' %} {% when 'whatever' %} {% else %} x {% endcase %} ")) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/block_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/block_test.rb deleted file mode 100644 index 0824530..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/block_test.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'test_helper' - -class BlockTest < Minitest::Test - include Liquid - - def test_unexpected_end_tag - exc = assert_raises(SyntaxError) do - Template.parse("{% if true %}{% endunless %}") - end - assert_equal exc.message, "Liquid syntax error: 'endunless' is not a valid delimiter for if tags. use endif" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/capture_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/capture_test.rb deleted file mode 100644 index 8d965b3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/capture_test.rb +++ /dev/null @@ -1,50 +0,0 @@ -require 'test_helper' - -class CaptureTest < Minitest::Test - include Liquid - - def test_captures_block_content_in_variable - assert_template_result("test string", "{% capture 'var' %}test string{% endcapture %}{{var}}", {}) - end - - def test_capture_with_hyphen_in_variable_name - template_source = <<-END_TEMPLATE - {% capture this-thing %}Print this-thing{% endcapture %} - {{ this-thing }} - END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! - assert_equal "Print this-thing", rendered.strip - end - - def test_capture_to_variable_from_outer_scope_if_existing - template_source = <<-END_TEMPLATE - {% assign var = '' %} - {% if true %} - {% capture var %}first-block-string{% endcapture %} - {% endif %} - {% if true %} - {% capture var %}test-string{% endcapture %} - {% endif %} - {{var}} - END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! - assert_equal "test-string", rendered.gsub(/\s/, '') - end - - def test_assigning_from_capture - template_source = <<-END_TEMPLATE - {% assign first = '' %} - {% assign second = '' %} - {% for number in (1..3) %} - {% capture first %}{{number}}{% endcapture %} - {% assign second = first %} - {% endfor %} - {{ first }}-{{ second }} - END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! - assert_equal "3-3", rendered.gsub(/\s/, '') - end -end # CaptureTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/context_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/context_test.rb deleted file mode 100644 index 2d109bb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/context_test.rb +++ /dev/null @@ -1,32 +0,0 @@ -require 'test_helper' - -class ContextTest < Minitest::Test - include Liquid - - def test_override_global_filter - global = Module.new do - def notice(output) - "Global #{output}" - end - end - - local = Module.new do - def notice(output) - "Local #{output}" - end - end - - with_global_filter(global) do - assert_equal 'Global test', Template.parse("{{'test' | notice }}").render! - assert_equal 'Local test', Template.parse("{{'test' | notice }}").render!({}, filters: [local]) - end - end - - def test_has_key_will_not_add_an_error_for_missing_keys - with_error_mode :strict do - context = Context.new - context.key?('unknown') - assert_empty context.errors - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/document_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/document_test.rb deleted file mode 100644 index bcc4a21..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/document_test.rb +++ /dev/null @@ -1,19 +0,0 @@ -require 'test_helper' - -class DocumentTest < Minitest::Test - include Liquid - - def test_unexpected_outer_tag - exc = assert_raises(SyntaxError) do - Template.parse("{% else %}") - end - assert_equal exc.message, "Liquid syntax error: Unexpected outer 'else' tag" - end - - def test_unknown_tag - exc = assert_raises(SyntaxError) do - Template.parse("{% foo %}") - end - assert_equal exc.message, "Liquid syntax error: Unknown tag 'foo'" - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/drop_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/drop_test.rb deleted file mode 100644 index 723fe04..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/drop_test.rb +++ /dev/null @@ -1,247 +0,0 @@ -require 'test_helper' - -class ContextDrop < Liquid::Drop - def scopes - @context.scopes.size - end - - def scopes_as_array - (1..@context.scopes.size).to_a - end - - def loop_pos - @context['forloop.index'] - end - - def liquid_method_missing(method) - @context[method] - end -end - -class ProductDrop < Liquid::Drop - class TextDrop < Liquid::Drop - def array - ['text1', 'text2'] - end - - def text - 'text1' - end - end - - class CatchallDrop < Liquid::Drop - def liquid_method_missing(method) - 'catchall_method: ' << method.to_s - end - end - - def texts - TextDrop.new - end - - def catchall - CatchallDrop.new - end - - def context - ContextDrop.new - end - - def user_input - "foo" - end - - protected - - def callmenot - "protected" - end -end - -class EnumerableDrop < Liquid::Drop - def liquid_method_missing(method) - method - end - - def size - 3 - end - - def first - 1 - end - - def count - 3 - end - - def min - 1 - end - - def max - 3 - end - - def each - yield 1 - yield 2 - yield 3 - end -end - -class RealEnumerableDrop < Liquid::Drop - include Enumerable - - def liquid_method_missing(method) - method - end - - def each - yield 1 - yield 2 - yield 3 - end -end - -class DropsTest < Minitest::Test - include Liquid - - def test_product_drop - tpl = Liquid::Template.parse(' ') - assert_equal ' ', tpl.render!('product' => ProductDrop.new) - end - - def test_drop_does_only_respond_to_whitelisted_methods - assert_equal "", Liquid::Template.parse("{{ product.inspect }}").render!('product' => ProductDrop.new) - assert_equal "", Liquid::Template.parse("{{ product.pretty_inspect }}").render!('product' => ProductDrop.new) - assert_equal "", Liquid::Template.parse("{{ product.whatever }}").render!('product' => ProductDrop.new) - assert_equal "", Liquid::Template.parse('{{ product | map: "inspect" }}').render!('product' => ProductDrop.new) - assert_equal "", Liquid::Template.parse('{{ product | map: "pretty_inspect" }}').render!('product' => ProductDrop.new) - assert_equal "", Liquid::Template.parse('{{ product | map: "whatever" }}').render!('product' => ProductDrop.new) - end - - def test_drops_respond_to_to_liquid - assert_equal "text1", Liquid::Template.parse("{{ product.to_liquid.texts.text }}").render!('product' => ProductDrop.new) - assert_equal "text1", Liquid::Template.parse('{{ product | map: "to_liquid" | map: "texts" | map: "text" }}').render!('product' => ProductDrop.new) - end - - def test_text_drop - output = Liquid::Template.parse(' {{ product.texts.text }} ').render!('product' => ProductDrop.new) - assert_equal ' text1 ', output - end - - def test_catchall_unknown_method - output = Liquid::Template.parse(' {{ product.catchall.unknown }} ').render!('product' => ProductDrop.new) - assert_equal ' catchall_method: unknown ', output - end - - def test_catchall_integer_argument_drop - output = Liquid::Template.parse(' {{ product.catchall[8] }} ').render!('product' => ProductDrop.new) - assert_equal ' catchall_method: 8 ', output - end - - def test_text_array_drop - output = Liquid::Template.parse('{% for text in product.texts.array %} {{text}} {% endfor %}').render!('product' => ProductDrop.new) - assert_equal ' text1 text2 ', output - end - - def test_context_drop - output = Liquid::Template.parse(' {{ context.bar }} ').render!('context' => ContextDrop.new, 'bar' => "carrot") - assert_equal ' carrot ', output - end - - def test_nested_context_drop - output = Liquid::Template.parse(' {{ product.context.foo }} ').render!('product' => ProductDrop.new, 'foo' => "monkey") - assert_equal ' monkey ', output - end - - def test_protected - output = Liquid::Template.parse(' {{ product.callmenot }} ').render!('product' => ProductDrop.new) - assert_equal ' ', output - end - - def test_object_methods_not_allowed - [:dup, :clone, :singleton_class, :eval, :class_eval, :inspect].each do |method| - output = Liquid::Template.parse(" {{ product.#{method} }} ").render!('product' => ProductDrop.new) - assert_equal ' ', output - end - end - - def test_scope - assert_equal '1', Liquid::Template.parse('{{ context.scopes }}').render!('context' => ContextDrop.new) - assert_equal '2', Liquid::Template.parse('{%for i in dummy%}{{ context.scopes }}{%endfor%}').render!('context' => ContextDrop.new, 'dummy' => [1]) - assert_equal '3', Liquid::Template.parse('{%for i in dummy%}{%for i in dummy%}{{ context.scopes }}{%endfor%}{%endfor%}').render!('context' => ContextDrop.new, 'dummy' => [1]) - end - - def test_scope_though_proc - assert_equal '1', Liquid::Template.parse('{{ s }}').render!('context' => ContextDrop.new, 's' => proc{ |c| c['context.scopes'] }) - assert_equal '2', Liquid::Template.parse('{%for i in dummy%}{{ s }}{%endfor%}').render!('context' => ContextDrop.new, 's' => proc{ |c| c['context.scopes'] }, 'dummy' => [1]) - assert_equal '3', Liquid::Template.parse('{%for i in dummy%}{%for i in dummy%}{{ s }}{%endfor%}{%endfor%}').render!('context' => ContextDrop.new, 's' => proc{ |c| c['context.scopes'] }, 'dummy' => [1]) - end - - def test_scope_with_assigns - assert_equal 'variable', Liquid::Template.parse('{% assign a = "variable"%}{{a}}').render!('context' => ContextDrop.new) - assert_equal 'variable', Liquid::Template.parse('{% assign a = "variable"%}{%for i in dummy%}{{a}}{%endfor%}').render!('context' => ContextDrop.new, 'dummy' => [1]) - assert_equal 'test', Liquid::Template.parse('{% assign header_gif = "test"%}{{header_gif}}').render!('context' => ContextDrop.new) - assert_equal 'test', Liquid::Template.parse("{% assign header_gif = 'test'%}{{header_gif}}").render!('context' => ContextDrop.new) - end - - def test_scope_from_tags - assert_equal '1', Liquid::Template.parse('{% for i in context.scopes_as_array %}{{i}}{% endfor %}').render!('context' => ContextDrop.new, 'dummy' => [1]) - assert_equal '12', Liquid::Template.parse('{%for a in dummy%}{% for i in context.scopes_as_array %}{{i}}{% endfor %}{% endfor %}').render!('context' => ContextDrop.new, 'dummy' => [1]) - assert_equal '123', Liquid::Template.parse('{%for a in dummy%}{%for a in dummy%}{% for i in context.scopes_as_array %}{{i}}{% endfor %}{% endfor %}{% endfor %}').render!('context' => ContextDrop.new, 'dummy' => [1]) - end - - def test_access_context_from_drop - assert_equal '123', Liquid::Template.parse('{%for a in dummy%}{{ context.loop_pos }}{% endfor %}').render!('context' => ContextDrop.new, 'dummy' => [1, 2, 3]) - end - - def test_enumerable_drop - assert_equal '123', Liquid::Template.parse('{% for c in collection %}{{c}}{% endfor %}').render!('collection' => EnumerableDrop.new) - end - - def test_enumerable_drop_size - assert_equal '3', Liquid::Template.parse('{{collection.size}}').render!('collection' => EnumerableDrop.new) - end - - def test_enumerable_drop_will_invoke_liquid_method_missing_for_clashing_method_names - ["select", "each", "map", "cycle"].each do |method| - assert_equal method.to_s, Liquid::Template.parse("{{collection.#{method}}}").render!('collection' => EnumerableDrop.new) - assert_equal method.to_s, Liquid::Template.parse("{{collection[\"#{method}\"]}}").render!('collection' => EnumerableDrop.new) - assert_equal method.to_s, Liquid::Template.parse("{{collection.#{method}}}").render!('collection' => RealEnumerableDrop.new) - assert_equal method.to_s, Liquid::Template.parse("{{collection[\"#{method}\"]}}").render!('collection' => RealEnumerableDrop.new) - end - end - - def test_some_enumerable_methods_still_get_invoked - [ :count, :max ].each do |method| - assert_equal "3", Liquid::Template.parse("{{collection.#{method}}}").render!('collection' => RealEnumerableDrop.new) - assert_equal "3", Liquid::Template.parse("{{collection[\"#{method}\"]}}").render!('collection' => RealEnumerableDrop.new) - assert_equal "3", Liquid::Template.parse("{{collection.#{method}}}").render!('collection' => EnumerableDrop.new) - assert_equal "3", Liquid::Template.parse("{{collection[\"#{method}\"]}}").render!('collection' => EnumerableDrop.new) - end - - assert_equal "yes", Liquid::Template.parse("{% if collection contains 3 %}yes{% endif %}").render!('collection' => RealEnumerableDrop.new) - - [ :min, :first ].each do |method| - assert_equal "1", Liquid::Template.parse("{{collection.#{method}}}").render!('collection' => RealEnumerableDrop.new) - assert_equal "1", Liquid::Template.parse("{{collection[\"#{method}\"]}}").render!('collection' => RealEnumerableDrop.new) - assert_equal "1", Liquid::Template.parse("{{collection.#{method}}}").render!('collection' => EnumerableDrop.new) - assert_equal "1", Liquid::Template.parse("{{collection[\"#{method}\"]}}").render!('collection' => EnumerableDrop.new) - end - end - - def test_empty_string_value_access - assert_equal '', Liquid::Template.parse('{{ product[value] }}').render!('product' => ProductDrop.new, 'value' => '') - end - - def test_nil_value_access - assert_equal '', Liquid::Template.parse('{{ product[value] }}').render!('product' => ProductDrop.new, 'value' => nil) - end - - def test_default_to_s_on_drops - assert_equal 'ProductDrop', Liquid::Template.parse("{{ product }}").render!('product' => ProductDrop.new) - assert_equal 'EnumerableDrop', Liquid::Template.parse('{{ collection }}').render!('collection' => EnumerableDrop.new) - end -end # DropsTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/error_handling_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/error_handling_test.rb deleted file mode 100644 index b2d186c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/error_handling_test.rb +++ /dev/null @@ -1,260 +0,0 @@ -require 'test_helper' - -class ErrorHandlingTest < Minitest::Test - include Liquid - - def test_templates_parsed_with_line_numbers_renders_them_in_errors - template = <<-LIQUID - Hello, - - {{ errors.standard_error }} will raise a standard error. - - Bla bla test. - - {{ errors.syntax_error }} will raise a syntax error. - - This is an argument error: {{ errors.argument_error }} - - Bla. - LIQUID - - expected = <<-TEXT - Hello, - - Liquid error (line 3): standard error will raise a standard error. - - Bla bla test. - - Liquid syntax error (line 7): syntax error will raise a syntax error. - - This is an argument error: Liquid error (line 9): argument error - - Bla. - TEXT - - output = Liquid::Template.parse(template, line_numbers: true).render('errors' => ErrorDrop.new) - assert_equal expected, output - end - - def test_standard_error - template = Liquid::Template.parse(' {{ errors.standard_error }} ') - assert_equal ' Liquid error: standard error ', template.render('errors' => ErrorDrop.new) - - assert_equal 1, template.errors.size - assert_equal StandardError, template.errors.first.class - end - - def test_syntax - template = Liquid::Template.parse(' {{ errors.syntax_error }} ') - assert_equal ' Liquid syntax error: syntax error ', template.render('errors' => ErrorDrop.new) - - assert_equal 1, template.errors.size - assert_equal SyntaxError, template.errors.first.class - end - - def test_argument - template = Liquid::Template.parse(' {{ errors.argument_error }} ') - assert_equal ' Liquid error: argument error ', template.render('errors' => ErrorDrop.new) - - assert_equal 1, template.errors.size - assert_equal ArgumentError, template.errors.first.class - end - - def test_missing_endtag_parse_time_error - assert_raises(Liquid::SyntaxError) do - Liquid::Template.parse(' {% for a in b %} ... ') - end - end - - def test_unrecognized_operator - with_error_mode(:strict) do - assert_raises(SyntaxError) do - Liquid::Template.parse(' {% if 1 =! 2 %}ok{% endif %} ') - end - end - end - - def test_lax_unrecognized_operator - template = Liquid::Template.parse(' {% if 1 =! 2 %}ok{% endif %} ', error_mode: :lax) - assert_equal ' Liquid error: Unknown operator =! ', template.render - assert_equal 1, template.errors.size - assert_equal Liquid::ArgumentError, template.errors.first.class - end - - def test_with_line_numbers_adds_numbers_to_parser_errors - err = assert_raises(SyntaxError) do - Liquid::Template.parse(%q( - foobar - - {% "cat" | foobar %} - - bla - ), - line_numbers: true - ) - end - - assert_match(/Liquid syntax error \(line 4\)/, err.message) - end - - def test_with_line_numbers_adds_numbers_to_parser_errors_with_whitespace_trim - err = assert_raises(SyntaxError) do - Liquid::Template.parse(%q( - foobar - - {%- "cat" | foobar -%} - - bla - ), - line_numbers: true - ) - end - - assert_match(/Liquid syntax error \(line 4\)/, err.message) - end - - def test_parsing_warn_with_line_numbers_adds_numbers_to_lexer_errors - template = Liquid::Template.parse(' - foobar - - {% if 1 =! 2 %}ok{% endif %} - - bla - ', - error_mode: :warn, - line_numbers: true - ) - - assert_equal ['Liquid syntax error (line 4): Unexpected character = in "1 =! 2"'], - template.warnings.map(&:message) - end - - def test_parsing_strict_with_line_numbers_adds_numbers_to_lexer_errors - err = assert_raises(SyntaxError) do - Liquid::Template.parse(' - foobar - - {% if 1 =! 2 %}ok{% endif %} - - bla - ', - error_mode: :strict, - line_numbers: true - ) - end - - assert_equal 'Liquid syntax error (line 4): Unexpected character = in "1 =! 2"', err.message - end - - def test_syntax_errors_in_nested_blocks_have_correct_line_number - err = assert_raises(SyntaxError) do - Liquid::Template.parse(' - foobar - - {% if 1 != 2 %} - {% foo %} - {% endif %} - - bla - ', - line_numbers: true - ) - end - - assert_equal "Liquid syntax error (line 5): Unknown tag 'foo'", err.message - end - - def test_strict_error_messages - err = assert_raises(SyntaxError) do - Liquid::Template.parse(' {% if 1 =! 2 %}ok{% endif %} ', error_mode: :strict) - end - assert_equal 'Liquid syntax error: Unexpected character = in "1 =! 2"', err.message - - err = assert_raises(SyntaxError) do - Liquid::Template.parse('{{%%%}}', error_mode: :strict) - end - assert_equal 'Liquid syntax error: Unexpected character % in "{{%%%}}"', err.message - end - - def test_warnings - template = Liquid::Template.parse('{% if ~~~ %}{{%%%}}{% else %}{{ hello. }}{% endif %}', error_mode: :warn) - assert_equal 3, template.warnings.size - assert_equal 'Unexpected character ~ in "~~~"', template.warnings[0].to_s(false) - assert_equal 'Unexpected character % in "{{%%%}}"', template.warnings[1].to_s(false) - assert_equal 'Expected id but found end_of_string in "{{ hello. }}"', template.warnings[2].to_s(false) - assert_equal '', template.render - end - - def test_warning_line_numbers - template = Liquid::Template.parse("{% if ~~~ %}\n{{%%%}}{% else %}\n{{ hello. }}{% endif %}", error_mode: :warn, line_numbers: true) - assert_equal 'Liquid syntax error (line 1): Unexpected character ~ in "~~~"', template.warnings[0].message - assert_equal 'Liquid syntax error (line 2): Unexpected character % in "{{%%%}}"', template.warnings[1].message - assert_equal 'Liquid syntax error (line 3): Expected id but found end_of_string in "{{ hello. }}"', template.warnings[2].message - assert_equal 3, template.warnings.size - assert_equal [1, 2, 3], template.warnings.map(&:line_number) - end - - # Liquid should not catch Exceptions that are not subclasses of StandardError, like Interrupt and NoMemoryError - def test_exceptions_propagate - assert_raises Exception do - template = Liquid::Template.parse('{{ errors.exception }}') - template.render('errors' => ErrorDrop.new) - end - end - - def test_default_exception_renderer_with_internal_error - template = Liquid::Template.parse('This is a runtime error: {{ errors.runtime_error }}', line_numbers: true) - - output = template.render({ 'errors' => ErrorDrop.new }) - - assert_equal 'This is a runtime error: Liquid error (line 1): internal', output - assert_equal [Liquid::InternalError], template.errors.map(&:class) - end - - def test_setting_default_exception_renderer - old_exception_renderer = Liquid::Template.default_exception_renderer - exceptions = [] - Liquid::Template.default_exception_renderer = ->(e) { exceptions << e; '' } - template = Liquid::Template.parse('This is a runtime error: {{ errors.argument_error }}') - - output = template.render({ 'errors' => ErrorDrop.new }) - - assert_equal 'This is a runtime error: ', output - assert_equal [Liquid::ArgumentError], template.errors.map(&:class) - ensure - Liquid::Template.default_exception_renderer = old_exception_renderer if old_exception_renderer - end - - def test_exception_renderer_exposing_non_liquid_error - template = Liquid::Template.parse('This is a runtime error: {{ errors.runtime_error }}', line_numbers: true) - exceptions = [] - handler = ->(e) { exceptions << e; e.cause } - - output = template.render({ 'errors' => ErrorDrop.new }, exception_renderer: handler) - - assert_equal 'This is a runtime error: runtime error', output - assert_equal [Liquid::InternalError], exceptions.map(&:class) - assert_equal exceptions, template.errors - assert_equal '#<RuntimeError: runtime error>', exceptions.first.cause.inspect - end - - class TestFileSystem - def read_template_file(template_path) - "{{ errors.argument_error }}" - end - end - - def test_included_template_name_with_line_numbers - old_file_system = Liquid::Template.file_system - - begin - Liquid::Template.file_system = TestFileSystem.new - template = Liquid::Template.parse("Argument error:\n{% include 'product' %}", line_numbers: true) - page = template.render('errors' => ErrorDrop.new) - ensure - Liquid::Template.file_system = old_file_system - end - assert_equal "Argument error:\nLiquid error (product line 1): argument error", page - assert_equal "product", template.errors.first.template_name - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/filter_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/filter_test.rb deleted file mode 100644 index d3c880e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/filter_test.rb +++ /dev/null @@ -1,178 +0,0 @@ -require 'test_helper' - -module MoneyFilter - def money(input) - sprintf(' %d$ ', input) - end - - def money_with_underscore(input) - sprintf(' %d$ ', input) - end -end - -module CanadianMoneyFilter - def money(input) - sprintf(' %d$ CAD ', input) - end -end - -module SubstituteFilter - def substitute(input, params = {}) - input.gsub(/%\{(\w+)\}/) { |match| params[$1] } - end -end - -class FiltersTest < Minitest::Test - include Liquid - - module OverrideObjectMethodFilter - def tap(input) - "tap overridden" - end - end - - def setup - @context = Context.new - end - - def test_local_filter - @context['var'] = 1000 - @context.add_filters(MoneyFilter) - - assert_equal ' 1000$ ', Template.parse("{{var | money}}").render(@context) - end - - def test_underscore_in_filter_name - @context['var'] = 1000 - @context.add_filters(MoneyFilter) - assert_equal ' 1000$ ', Template.parse("{{var | money_with_underscore}}").render(@context) - end - - def test_second_filter_overwrites_first - @context['var'] = 1000 - @context.add_filters(MoneyFilter) - @context.add_filters(CanadianMoneyFilter) - - assert_equal ' 1000$ CAD ', Template.parse("{{var | money}}").render(@context) - end - - def test_size - @context['var'] = 'abcd' - @context.add_filters(MoneyFilter) - - assert_equal '4', Template.parse("{{var | size}}").render(@context) - end - - def test_join - @context['var'] = [1, 2, 3, 4] - - assert_equal "1 2 3 4", Template.parse("{{var | join}}").render(@context) - end - - def test_sort - @context['value'] = 3 - @context['numbers'] = [2, 1, 4, 3] - @context['words'] = ['expected', 'as', 'alphabetic'] - @context['arrays'] = ['flower', 'are'] - @context['case_sensitive'] = ['sensitive', 'Expected', 'case'] - - assert_equal '1 2 3 4', Template.parse("{{numbers | sort | join}}").render(@context) - assert_equal 'alphabetic as expected', Template.parse("{{words | sort | join}}").render(@context) - assert_equal '3', Template.parse("{{value | sort}}").render(@context) - assert_equal 'are flower', Template.parse("{{arrays | sort | join}}").render(@context) - assert_equal 'Expected case sensitive', Template.parse("{{case_sensitive | sort | join}}").render(@context) - end - - def test_sort_natural - @context['words'] = ['case', 'Assert', 'Insensitive'] - @context['hashes'] = [{ 'a' => 'A' }, { 'a' => 'b' }, { 'a' => 'C' }] - @context['objects'] = [TestObject.new('A'), TestObject.new('b'), TestObject.new('C')] - - # Test strings - assert_equal 'Assert case Insensitive', Template.parse("{{words | sort_natural | join}}").render(@context) - - # Test hashes - assert_equal 'A b C', Template.parse("{{hashes | sort_natural: 'a' | map: 'a' | join}}").render(@context) - - # Test objects - assert_equal 'A b C', Template.parse("{{objects | sort_natural: 'a' | map: 'a' | join}}").render(@context) - end - - def test_compact - @context['words'] = ['a', nil, 'b', nil, 'c'] - @context['hashes'] = [{ 'a' => 'A' }, { 'a' => nil }, { 'a' => 'C' }] - @context['objects'] = [TestObject.new('A'), TestObject.new(nil), TestObject.new('C')] - - # Test strings - assert_equal 'a b c', Template.parse("{{words | compact | join}}").render(@context) - - # Test hashes - assert_equal 'A C', Template.parse("{{hashes | compact: 'a' | map: 'a' | join}}").render(@context) - - # Test objects - assert_equal 'A C', Template.parse("{{objects | compact: 'a' | map: 'a' | join}}").render(@context) - end - - def test_strip_html - @context['var'] = "<b>bla blub</a>" - - assert_equal "bla blub", Template.parse("{{ var | strip_html }}").render(@context) - end - - def test_strip_html_ignore_comments_with_html - @context['var'] = "<!-- split and some <ul> tag --><b>bla blub</a>" - - assert_equal "bla blub", Template.parse("{{ var | strip_html }}").render(@context) - end - - def test_capitalize - @context['var'] = "blub" - - assert_equal "Blub", Template.parse("{{ var | capitalize }}").render(@context) - end - - def test_nonexistent_filter_is_ignored - @context['var'] = 1000 - - assert_equal '1000', Template.parse("{{ var | xyzzy }}").render(@context) - end - - def test_filter_with_keyword_arguments - @context['surname'] = 'john' - @context['input'] = 'hello %{first_name}, %{last_name}' - @context.add_filters(SubstituteFilter) - output = Template.parse(%({{ input | substitute: first_name: surname, last_name: 'doe' }})).render(@context) - assert_equal 'hello john, doe', output - end - - def test_override_object_method_in_filter - assert_equal "tap overridden", Template.parse("{{var | tap}}").render!({ 'var' => 1000 }, filters: [OverrideObjectMethodFilter]) - - # tap still treated as a non-existent filter - assert_equal "1000", Template.parse("{{var | tap}}").render!({ 'var' => 1000 }) - end -end - -class FiltersInTemplate < Minitest::Test - include Liquid - - def test_local_global - with_global_filter(MoneyFilter) do - assert_equal " 1000$ ", Template.parse("{{1000 | money}}").render!(nil, nil) - assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, filters: CanadianMoneyFilter) - assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, filters: [CanadianMoneyFilter]) - end - end - - def test_local_filter_with_deprecated_syntax - assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, CanadianMoneyFilter) - assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, [CanadianMoneyFilter]) - end -end # FiltersTest - -class TestObject < Liquid::Drop - attr_accessor :a - def initialize(a) - @a = a - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/hash_ordering_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/hash_ordering_test.rb deleted file mode 100644 index dfc1c29..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/hash_ordering_test.rb +++ /dev/null @@ -1,23 +0,0 @@ -require 'test_helper' - -class HashOrderingTest < Minitest::Test - module MoneyFilter - def money(input) - sprintf(' %d$ ', input) - end - end - - module CanadianMoneyFilter - def money(input) - sprintf(' %d$ CAD ', input) - end - end - - include Liquid - - def test_global_register_order - with_global_filter(MoneyFilter, CanadianMoneyFilter) do - assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render(nil, nil) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/output_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/output_test.rb deleted file mode 100644 index b4cf9d7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/output_test.rb +++ /dev/null @@ -1,123 +0,0 @@ -require 'test_helper' - -module FunnyFilter - def make_funny(input) - 'LOL' - end - - def cite_funny(input) - "LOL: #{input}" - end - - def add_smiley(input, smiley = ":-)") - "#{input} #{smiley}" - end - - def add_tag(input, tag = "p", id = "foo") - %(<#{tag} id="#{id}">#{input}</#{tag}>) - end - - def paragraph(input) - "<p>#{input}</p>" - end - - def link_to(name, url) - %(<a href="#{url}">#{name}</a>) - end -end - -class OutputTest < Minitest::Test - include Liquid - - def setup - @assigns = { - 'best_cars' => 'bmw', - 'car' => { 'bmw' => 'good', 'gm' => 'bad' } - } - end - - def test_variable - text = %( {{best_cars}} ) - - expected = %( bmw ) - assert_equal expected, Template.parse(text).render!(@assigns) - end - - def test_variable_traversing_with_two_brackets - text = %({{ site.data.menu[include.menu][include.locale] }}) - assert_equal "it works!", Template.parse(text).render!( - "site" => { "data" => { "menu" => { "foo" => { "bar" => "it works!" } } } }, - "include" => { "menu" => "foo", "locale" => "bar" } - ) - end - - def test_variable_traversing - text = %( {{car.bmw}} {{car.gm}} {{car.bmw}} ) - - expected = %( good bad good ) - assert_equal expected, Template.parse(text).render!(@assigns) - end - - def test_variable_piping - text = %( {{ car.gm | make_funny }} ) - expected = %( LOL ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_variable_piping_with_input - text = %( {{ car.gm | cite_funny }} ) - expected = %( LOL: bad ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_variable_piping_with_args - text = %! {{ car.gm | add_smiley : ':-(' }} ! - expected = %| bad :-( | - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_variable_piping_with_no_args - text = %( {{ car.gm | add_smiley }} ) - expected = %| bad :-) | - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_multiple_variable_piping_with_args - text = %! {{ car.gm | add_smiley : ':-(' | add_smiley : ':-('}} ! - expected = %| bad :-( :-( | - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_variable_piping_with_multiple_args - text = %( {{ car.gm | add_tag : 'span', 'bar'}} ) - expected = %( <span id="bar">bad</span> ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_variable_piping_with_variable_args - text = %( {{ car.gm | add_tag : 'span', car.bmw}} ) - expected = %( <span id="good">bad</span> ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_multiple_pipings - text = %( {{ best_cars | cite_funny | paragraph }} ) - expected = %( <p>LOL: bmw</p> ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end - - def test_link_to - text = %( {{ 'Typo' | link_to: 'http://typo.leetsoft.com' }} ) - expected = %( <a href="http://typo.leetsoft.com">Typo</a> ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter]) - end -end # OutputTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/parse_tree_visitor_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/parse_tree_visitor_test.rb deleted file mode 100644 index 933dbc3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/parse_tree_visitor_test.rb +++ /dev/null @@ -1,247 +0,0 @@ -# frozen_string_literal: true - -require 'test_helper' - -class ParseTreeVisitorTest < Minitest::Test - include Liquid - - def test_variable - assert_equal( - ["test"], - visit(%({{ test }})) - ) - end - - def test_varible_with_filter - assert_equal( - ["test", "infilter"], - visit(%({{ test | split: infilter }})) - ) - end - - def test_dynamic_variable - assert_equal( - ["test", "inlookup"], - visit(%({{ test[inlookup] }})) - ) - end - - def test_if_condition - assert_equal( - ["test"], - visit(%({% if test %}{% endif %})) - ) - end - - def test_complex_if_condition - assert_equal( - ["test"], - visit(%({% if 1 == 1 and 2 == test %}{% endif %})) - ) - end - - def test_if_body - assert_equal( - ["test"], - visit(%({% if 1 == 1 %}{{ test }}{% endif %})) - ) - end - - def test_unless_condition - assert_equal( - ["test"], - visit(%({% unless test %}{% endunless %})) - ) - end - - def test_complex_unless_condition - assert_equal( - ["test"], - visit(%({% unless 1 == 1 and 2 == test %}{% endunless %})) - ) - end - - def test_unless_body - assert_equal( - ["test"], - visit(%({% unless 1 == 1 %}{{ test }}{% endunless %})) - ) - end - - def test_elsif_condition - assert_equal( - ["test"], - visit(%({% if 1 == 1 %}{% elsif test %}{% endif %})) - ) - end - - def test_complex_elsif_condition - assert_equal( - ["test"], - visit(%({% if 1 == 1 %}{% elsif 1 == 1 and 2 == test %}{% endif %})) - ) - end - - def test_elsif_body - assert_equal( - ["test"], - visit(%({% if 1 == 1 %}{% elsif 2 == 2 %}{{ test }}{% endif %})) - ) - end - - def test_else_body - assert_equal( - ["test"], - visit(%({% if 1 == 1 %}{% else %}{{ test }}{% endif %})) - ) - end - - def test_case_left - assert_equal( - ["test"], - visit(%({% case test %}{% endcase %})) - ) - end - - def test_case_condition - assert_equal( - ["test"], - visit(%({% case 1 %}{% when test %}{% endcase %})) - ) - end - - def test_case_when_body - assert_equal( - ["test"], - visit(%({% case 1 %}{% when 2 %}{{ test }}{% endcase %})) - ) - end - - def test_case_else_body - assert_equal( - ["test"], - visit(%({% case 1 %}{% else %}{{ test }}{% endcase %})) - ) - end - - def test_for_in - assert_equal( - ["test"], - visit(%({% for x in test %}{% endfor %})) - ) - end - - def test_for_limit - assert_equal( - ["test"], - visit(%({% for x in (1..5) limit: test %}{% endfor %})) - ) - end - - def test_for_offset - assert_equal( - ["test"], - visit(%({% for x in (1..5) offset: test %}{% endfor %})) - ) - end - - def test_for_body - assert_equal( - ["test"], - visit(%({% for x in (1..5) %}{{ test }}{% endfor %})) - ) - end - - def test_tablerow_in - assert_equal( - ["test"], - visit(%({% tablerow x in test %}{% endtablerow %})) - ) - end - - def test_tablerow_limit - assert_equal( - ["test"], - visit(%({% tablerow x in (1..5) limit: test %}{% endtablerow %})) - ) - end - - def test_tablerow_offset - assert_equal( - ["test"], - visit(%({% tablerow x in (1..5) offset: test %}{% endtablerow %})) - ) - end - - def test_tablerow_body - assert_equal( - ["test"], - visit(%({% tablerow x in (1..5) %}{{ test }}{% endtablerow %})) - ) - end - - def test_cycle - assert_equal( - ["test"], - visit(%({% cycle test %})) - ) - end - - def test_assign - assert_equal( - ["test"], - visit(%({% assign x = test %})) - ) - end - - def test_capture - assert_equal( - ["test"], - visit(%({% capture x %}{{ test }}{% endcapture %})) - ) - end - - def test_include - assert_equal( - ["test"], - visit(%({% include test %})) - ) - end - - def test_include_with - assert_equal( - ["test"], - visit(%({% include "hai" with test %})) - ) - end - - def test_include_for - assert_equal( - ["test"], - visit(%({% include "hai" for test %})) - ) - end - - def test_preserve_tree_structure - assert_equal( - [[nil, [ - [nil, [[nil, [["other", []]]]]], - ["test", []], - ["xs", []] - ]]], - traversal(%({% for x in xs offset: test %}{{ other }}{% endfor %})).visit - ) - end - - private - - def traversal(template) - ParseTreeVisitor - .for(Template.parse(template).root) - .add_callback_for(VariableLookup) { |node| node.name } # rubocop:disable Style/SymbolProc - end - - def visit(template) - traversal(template).visit.flatten.compact - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/parsing_quirks_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/parsing_quirks_test.rb deleted file mode 100644 index 29cb6d6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/parsing_quirks_test.rb +++ /dev/null @@ -1,122 +0,0 @@ -require 'test_helper' - -class ParsingQuirksTest < Minitest::Test - include Liquid - - def test_parsing_css - text = " div { font-weight: bold; } " - assert_equal text, Template.parse(text).render! - end - - def test_raise_on_single_close_bracet - assert_raises(SyntaxError) do - Template.parse("text {{method} oh nos!") - end - end - - def test_raise_on_label_and_no_close_bracets - assert_raises(SyntaxError) do - Template.parse("TEST {{ ") - end - end - - def test_raise_on_label_and_no_close_bracets_percent - assert_raises(SyntaxError) do - Template.parse("TEST {% ") - end - end - - def test_error_on_empty_filter - assert Template.parse("{{test}}") - - with_error_mode(:lax) do - assert Template.parse("{{|test}}") - end - - with_error_mode(:strict) do - assert_raises(SyntaxError) { Template.parse("{{|test}}") } - assert_raises(SyntaxError) { Template.parse("{{test |a|b|}}") } - end - end - - def test_meaningless_parens_error - with_error_mode(:strict) do - assert_raises(SyntaxError) do - markup = "a == 'foo' or (b == 'bar' and c == 'baz') or false" - Template.parse("{% if #{markup} %} YES {% endif %}") - end - end - end - - def test_unexpected_characters_syntax_error - with_error_mode(:strict) do - assert_raises(SyntaxError) do - markup = "true && false" - Template.parse("{% if #{markup} %} YES {% endif %}") - end - assert_raises(SyntaxError) do - markup = "false || true" - Template.parse("{% if #{markup} %} YES {% endif %}") - end - end - end - - def test_no_error_on_lax_empty_filter - assert Template.parse("{{test |a|b|}}", error_mode: :lax) - assert Template.parse("{{test}}", error_mode: :lax) - assert Template.parse("{{|test|}}", error_mode: :lax) - end - - def test_meaningless_parens_lax - with_error_mode(:lax) do - assigns = { 'b' => 'bar', 'c' => 'baz' } - markup = "a == 'foo' or (b == 'bar' and c == 'baz') or false" - assert_template_result(' YES ', "{% if #{markup} %} YES {% endif %}", assigns) - end - end - - def test_unexpected_characters_silently_eat_logic_lax - with_error_mode(:lax) do - markup = "true && false" - assert_template_result(' YES ', "{% if #{markup} %} YES {% endif %}") - markup = "false || true" - assert_template_result('', "{% if #{markup} %} YES {% endif %}") - end - end - - def test_raise_on_invalid_tag_delimiter - assert_raises(Liquid::SyntaxError) do - Template.new.parse('{% end %}') - end - end - - def test_unanchored_filter_arguments - with_error_mode(:lax) do - assert_template_result('hi', "{{ 'hi there' | split$$$:' ' | first }}") - - assert_template_result('x', "{{ 'X' | downcase) }}") - - # After the messed up quotes a filter without parameters (reverse) should work - # but one with parameters (remove) shouldn't be detected. - assert_template_result('here', "{{ 'hi there' | split:\"t\"\" | reverse | first}}") - assert_template_result('hi ', "{{ 'hi there' | split:\"t\"\" | remove:\"i\" | first}}") - end - end - - def test_invalid_variables_work - with_error_mode(:lax) do - assert_template_result('bar', "{% assign 123foo = 'bar' %}{{ 123foo }}") - assert_template_result('123', "{% assign 123 = 'bar' %}{{ 123 }}") - end - end - - def test_extra_dots_in_ranges - with_error_mode(:lax) do - assert_template_result('12345', "{% for i in (1...5) %}{{ i }}{% endfor %}") - end - end - - def test_contains_in_id - assert_template_result(' YES ', '{% if containsallshipments == true %} YES {% endif %}', 'containsallshipments' => true) - end -end # ParsingQuirksTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/render_profiling_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/render_profiling_test.rb deleted file mode 100644 index d0111e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/render_profiling_test.rb +++ /dev/null @@ -1,154 +0,0 @@ -require 'test_helper' - -class RenderProfilingTest < Minitest::Test - include Liquid - - class ProfilingFileSystem - def read_template_file(template_path) - "Rendering template {% assign template_name = '#{template_path}'%}\n{{ template_name }}" - end - end - - def setup - Liquid::Template.file_system = ProfilingFileSystem.new - end - - def test_template_allows_flagging_profiling - t = Template.parse("{{ 'a string' | upcase }}") - t.render! - - assert_nil t.profiler - end - - def test_parse_makes_available_simple_profiling - t = Template.parse("{{ 'a string' | upcase }}", profile: true) - t.render! - - assert_equal 1, t.profiler.length - - node = t.profiler[0] - assert_equal " 'a string' | upcase ", node.code - end - - def test_render_ignores_raw_strings_when_profiling - t = Template.parse("This is raw string\nstuff\nNewline", profile: true) - t.render! - - assert_equal 0, t.profiler.length - end - - def test_profiling_includes_line_numbers_of_liquid_nodes - t = Template.parse("{{ 'a string' | upcase }}\n{% increment test %}", profile: true) - t.render! - assert_equal 2, t.profiler.length - - # {{ 'a string' | upcase }} - assert_equal 1, t.profiler[0].line_number - # {{ increment test }} - assert_equal 2, t.profiler[1].line_number - end - - def test_profiling_includes_line_numbers_of_included_partials - t = Template.parse("{% include 'a_template' %}", profile: true) - t.render! - - included_children = t.profiler[0].children - - # {% assign template_name = 'a_template' %} - assert_equal 1, included_children[0].line_number - # {{ template_name }} - assert_equal 2, included_children[1].line_number - end - - def test_profiling_times_the_rendering_of_tokens - t = Template.parse("{% include 'a_template' %}", profile: true) - t.render! - - node = t.profiler[0] - refute_nil node.render_time - end - - def test_profiling_times_the_entire_render - t = Template.parse("{% include 'a_template' %}", profile: true) - t.render! - - assert t.profiler.total_render_time >= 0, "Total render time was not calculated" - end - - def test_profiling_uses_include_to_mark_children - t = Template.parse("{{ 'a string' | upcase }}\n{% include 'a_template' %}", profile: true) - t.render! - - include_node = t.profiler[1] - assert_equal 2, include_node.children.length - end - - def test_profiling_marks_children_with_the_name_of_included_partial - t = Template.parse("{{ 'a string' | upcase }}\n{% include 'a_template' %}", profile: true) - t.render! - - include_node = t.profiler[1] - include_node.children.each do |child| - assert_equal "a_template", child.partial - end - end - - def test_profiling_supports_multiple_templates - t = Template.parse("{{ 'a string' | upcase }}\n{% include 'a_template' %}\n{% include 'b_template' %}", profile: true) - t.render! - - a_template = t.profiler[1] - a_template.children.each do |child| - assert_equal "a_template", child.partial - end - - b_template = t.profiler[2] - b_template.children.each do |child| - assert_equal "b_template", child.partial - end - end - - def test_profiling_supports_rendering_the_same_partial_multiple_times - t = Template.parse("{{ 'a string' | upcase }}\n{% include 'a_template' %}\n{% include 'a_template' %}", profile: true) - t.render! - - a_template1 = t.profiler[1] - a_template1.children.each do |child| - assert_equal "a_template", child.partial - end - - a_template2 = t.profiler[2] - a_template2.children.each do |child| - assert_equal "a_template", child.partial - end - end - - def test_can_iterate_over_each_profiling_entry - t = Template.parse("{{ 'a string' | upcase }}\n{% increment test %}", profile: true) - t.render! - - timing_count = 0 - t.profiler.each do |timing| - timing_count += 1 - end - - assert_equal 2, timing_count - end - - def test_profiling_marks_children_of_if_blocks - t = Template.parse("{% if true %} {% increment test %} {{ test }} {% endif %}", profile: true) - t.render! - - assert_equal 1, t.profiler.length - assert_equal 2, t.profiler[0].children.length - end - - def test_profiling_marks_children_of_for_blocks - t = Template.parse("{% for item in collection %} {{ item }} {% endfor %}", profile: true) - t.render!({ "collection" => ["one", "two"] }) - - assert_equal 1, t.profiler.length - # Will profile each invocation of the for block - assert_equal 2, t.profiler[0].children.length - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/security_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/security_test.rb deleted file mode 100644 index f603ff0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/security_test.rb +++ /dev/null @@ -1,80 +0,0 @@ -require 'test_helper' - -module SecurityFilter - def add_one(input) - "#{input} + 1" - end -end - -class SecurityTest < Minitest::Test - include Liquid - - def setup - @assigns = {} - end - - def test_no_instance_eval - text = %( {{ '1+1' | instance_eval }} ) - expected = %( 1+1 ) - - assert_equal expected, Template.parse(text).render!(@assigns) - end - - def test_no_existing_instance_eval - text = %( {{ '1+1' | __instance_eval__ }} ) - expected = %( 1+1 ) - - assert_equal expected, Template.parse(text).render!(@assigns) - end - - def test_no_instance_eval_after_mixing_in_new_filter - text = %( {{ '1+1' | instance_eval }} ) - expected = %( 1+1 ) - - assert_equal expected, Template.parse(text).render!(@assigns) - end - - def test_no_instance_eval_later_in_chain - text = %( {{ '1+1' | add_one | instance_eval }} ) - expected = %( 1+1 + 1 ) - - assert_equal expected, Template.parse(text).render!(@assigns, filters: SecurityFilter) - end - - def test_does_not_add_filters_to_symbol_table - current_symbols = Symbol.all_symbols - - test = %( {{ "some_string" | a_bad_filter }} ) - - template = Template.parse(test) - assert_equal [], (Symbol.all_symbols - current_symbols) - - template.render! - assert_equal [], (Symbol.all_symbols - current_symbols) - end - - def test_does_not_add_drop_methods_to_symbol_table - current_symbols = Symbol.all_symbols - - assigns = { 'drop' => Drop.new } - assert_equal "", Template.parse("{{ drop.custom_method_1 }}", assigns).render! - assert_equal "", Template.parse("{{ drop.custom_method_2 }}", assigns).render! - assert_equal "", Template.parse("{{ drop.custom_method_3 }}", assigns).render! - - assert_equal [], (Symbol.all_symbols - current_symbols) - end - - def test_max_depth_nested_blocks_does_not_raise_exception - depth = Liquid::Block::MAX_DEPTH - code = "{% if true %}" * depth + "rendered" + "{% endif %}" * depth - assert_equal "rendered", Template.parse(code).render! - end - - def test_more_than_max_depth_nested_blocks_raises_exception - depth = Liquid::Block::MAX_DEPTH + 1 - code = "{% if true %}" * depth + "rendered" + "{% endif %}" * depth - assert_raises(Liquid::StackLevelError) do - Template.parse(code).render! - end - end -end # SecurityTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/standard_filter_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/standard_filter_test.rb deleted file mode 100644 index 6090951..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/standard_filter_test.rb +++ /dev/null @@ -1,776 +0,0 @@ -# encoding: utf-8 - -require 'test_helper' - -class Filters - include Liquid::StandardFilters -end - -class TestThing - attr_reader :foo - - def initialize - @foo = 0 - end - - def to_s - "woot: #{@foo}" - end - - def [](whatever) - to_s - end - - def to_liquid - @foo += 1 - self - end -end - -class TestDrop < Liquid::Drop - def test - "testfoo" - end -end - -class TestEnumerable < Liquid::Drop - include Enumerable - - def each(&block) - [ { "foo" => 1, "bar" => 2 }, { "foo" => 2, "bar" => 1 }, { "foo" => 3, "bar" => 3 } ].each(&block) - end -end - -class NumberLikeThing < Liquid::Drop - def initialize(amount) - @amount = amount - end - - def to_number - @amount - end -end - -class StandardFiltersTest < Minitest::Test - include Liquid - - def setup - @filters = Filters.new - end - - def test_size - assert_equal 3, @filters.size([1, 2, 3]) - assert_equal 0, @filters.size([]) - assert_equal 0, @filters.size(nil) - end - - def test_downcase - assert_equal 'testing', @filters.downcase("Testing") - assert_equal '', @filters.downcase(nil) - end - - def test_upcase - assert_equal 'TESTING', @filters.upcase("Testing") - assert_equal '', @filters.upcase(nil) - end - - def test_slice - assert_equal 'oob', @filters.slice('foobar', 1, 3) - assert_equal 'oobar', @filters.slice('foobar', 1, 1000) - assert_equal '', @filters.slice('foobar', 1, 0) - assert_equal 'o', @filters.slice('foobar', 1, 1) - assert_equal 'bar', @filters.slice('foobar', 3, 3) - assert_equal 'ar', @filters.slice('foobar', -2, 2) - assert_equal 'ar', @filters.slice('foobar', -2, 1000) - assert_equal 'r', @filters.slice('foobar', -1) - assert_equal '', @filters.slice(nil, 0) - assert_equal '', @filters.slice('foobar', 100, 10) - assert_equal '', @filters.slice('foobar', -100, 10) - assert_equal 'oob', @filters.slice('foobar', '1', '3') - assert_raises(Liquid::ArgumentError) do - @filters.slice('foobar', nil) - end - assert_raises(Liquid::ArgumentError) do - @filters.slice('foobar', 0, "") - end - end - - def test_slice_on_arrays - input = 'foobar'.split(//) - assert_equal %w(o o b), @filters.slice(input, 1, 3) - assert_equal %w(o o b a r), @filters.slice(input, 1, 1000) - assert_equal %w(), @filters.slice(input, 1, 0) - assert_equal %w(o), @filters.slice(input, 1, 1) - assert_equal %w(b a r), @filters.slice(input, 3, 3) - assert_equal %w(a r), @filters.slice(input, -2, 2) - assert_equal %w(a r), @filters.slice(input, -2, 1000) - assert_equal %w(r), @filters.slice(input, -1) - assert_equal %w(), @filters.slice(input, 100, 10) - assert_equal %w(), @filters.slice(input, -100, 10) - end - - def test_truncate - assert_equal '1234...', @filters.truncate('1234567890', 7) - assert_equal '1234567890', @filters.truncate('1234567890', 20) - assert_equal '...', @filters.truncate('1234567890', 0) - assert_equal '1234567890', @filters.truncate('1234567890') - assert_equal "测试...", @filters.truncate("测试测试测试测试", 5) - assert_equal '12341', @filters.truncate("1234567890", 5, 1) - end - - def test_split - assert_equal ['12', '34'], @filters.split('12~34', '~') - assert_equal ['A? ', ' ,Z'], @filters.split('A? ~ ~ ~ ,Z', '~ ~ ~') - assert_equal ['A?Z'], @filters.split('A?Z', '~') - assert_equal [], @filters.split(nil, ' ') - assert_equal ['A', 'Z'], @filters.split('A1Z', 1) - end - - def test_escape - assert_equal '&lt;strong&gt;', @filters.escape('<strong>') - assert_equal '1', @filters.escape(1) - assert_equal '2001-02-03', @filters.escape(Date.new(2001, 2, 3)) - assert_nil @filters.escape(nil) - end - - def test_h - assert_equal '&lt;strong&gt;', @filters.h('<strong>') - assert_equal '1', @filters.h(1) - assert_equal '2001-02-03', @filters.h(Date.new(2001, 2, 3)) - assert_nil @filters.h(nil) - end - - def test_escape_once - assert_equal '&lt;strong&gt;Hulk&lt;/strong&gt;', @filters.escape_once('&lt;strong&gt;Hulk</strong>') - end - - def test_url_encode - assert_equal 'foo%2B1%40example.com', @filters.url_encode('foo+1@example.com') - assert_equal '1', @filters.url_encode(1) - assert_equal '2001-02-03', @filters.url_encode(Date.new(2001, 2, 3)) - assert_nil @filters.url_encode(nil) - end - - def test_url_decode - assert_equal 'foo bar', @filters.url_decode('foo+bar') - assert_equal 'foo bar', @filters.url_decode('foo%20bar') - assert_equal 'foo+1@example.com', @filters.url_decode('foo%2B1%40example.com') - assert_equal '1', @filters.url_decode(1) - assert_equal '2001-02-03', @filters.url_decode(Date.new(2001, 2, 3)) - assert_nil @filters.url_decode(nil) - exception = assert_raises Liquid::ArgumentError do - @filters.url_decode('%ff') - end - assert_equal 'Liquid error: invalid byte sequence in UTF-8', exception.message - end - - def test_truncatewords - assert_equal 'one two three', @filters.truncatewords('one two three', 4) - assert_equal 'one two...', @filters.truncatewords('one two three', 2) - assert_equal 'one two three', @filters.truncatewords('one two three') - assert_equal 'Two small (13&#8221; x 5.5&#8221; x 10&#8221; high) baskets fit inside one large basket (13&#8221;...', @filters.truncatewords('Two small (13&#8221; x 5.5&#8221; x 10&#8221; high) baskets fit inside one large basket (13&#8221; x 16&#8221; x 10.5&#8221; high) with cover.', 15) - assert_equal "测试测试测试测试", @filters.truncatewords('测试测试测试测试', 5) - assert_equal 'one two1', @filters.truncatewords("one two three", 2, 1) - end - - def test_strip_html - assert_equal 'test', @filters.strip_html("<div>test</div>") - assert_equal 'test', @filters.strip_html("<div id='test'>test</div>") - assert_equal '', @filters.strip_html("<script type='text/javascript'>document.write('some stuff');</script>") - assert_equal '', @filters.strip_html("<style type='text/css'>foo bar</style>") - assert_equal 'test', @filters.strip_html("<div\nclass='multiline'>test</div>") - assert_equal 'test', @filters.strip_html("<!-- foo bar \n test -->test") - assert_equal '', @filters.strip_html(nil) - - # Quirk of the existing implementation - assert_equal 'foo;', @filters.strip_html("<<<script </script>script>foo;</script>") - end - - def test_join - assert_equal '1 2 3 4', @filters.join([1, 2, 3, 4]) - assert_equal '1 - 2 - 3 - 4', @filters.join([1, 2, 3, 4], ' - ') - assert_equal '1121314', @filters.join([1, 2, 3, 4], 1) - end - - def test_sort - assert_equal [1, 2, 3, 4], @filters.sort([4, 3, 2, 1]) - assert_equal [{ "a" => 1 }, { "a" => 2 }, { "a" => 3 }, { "a" => 4 }], @filters.sort([{ "a" => 4 }, { "a" => 3 }, { "a" => 1 }, { "a" => 2 }], "a") - end - - def test_sort_with_nils - assert_equal [1, 2, 3, 4, nil], @filters.sort([nil, 4, 3, 2, 1]) - assert_equal [{ "a" => 1 }, { "a" => 2 }, { "a" => 3 }, { "a" => 4 }, {}], @filters.sort([{ "a" => 4 }, { "a" => 3 }, {}, { "a" => 1 }, { "a" => 2 }], "a") - end - - def test_sort_when_property_is_sometimes_missing_puts_nils_last - input = [ - { "price" => 4, "handle" => "alpha" }, - { "handle" => "beta" }, - { "price" => 1, "handle" => "gamma" }, - { "handle" => "delta" }, - { "price" => 2, "handle" => "epsilon" } - ] - expectation = [ - { "price" => 1, "handle" => "gamma" }, - { "price" => 2, "handle" => "epsilon" }, - { "price" => 4, "handle" => "alpha" }, - { "handle" => "delta" }, - { "handle" => "beta" } - ] - assert_equal expectation, @filters.sort(input, "price") - end - - def test_sort_natural - assert_equal ["a", "B", "c", "D"], @filters.sort_natural(["c", "D", "a", "B"]) - assert_equal [{ "a" => "a" }, { "a" => "B" }, { "a" => "c" }, { "a" => "D" }], @filters.sort_natural([{ "a" => "D" }, { "a" => "c" }, { "a" => "a" }, { "a" => "B" }], "a") - end - - def test_sort_natural_with_nils - assert_equal ["a", "B", "c", "D", nil], @filters.sort_natural([nil, "c", "D", "a", "B"]) - assert_equal [{ "a" => "a" }, { "a" => "B" }, { "a" => "c" }, { "a" => "D" }, {}], @filters.sort_natural([{ "a" => "D" }, { "a" => "c" }, {}, { "a" => "a" }, { "a" => "B" }], "a") - end - - def test_sort_natural_when_property_is_sometimes_missing_puts_nils_last - input = [ - { "price" => "4", "handle" => "alpha" }, - { "handle" => "beta" }, - { "price" => "1", "handle" => "gamma" }, - { "handle" => "delta" }, - { "price" => 2, "handle" => "epsilon" } - ] - expectation = [ - { "price" => "1", "handle" => "gamma" }, - { "price" => 2, "handle" => "epsilon" }, - { "price" => "4", "handle" => "alpha" }, - { "handle" => "delta" }, - { "handle" => "beta" } - ] - assert_equal expectation, @filters.sort_natural(input, "price") - end - - def test_sort_natural_case_check - input = [ - { "key" => "X" }, - { "key" => "Y" }, - { "key" => "Z" }, - { "fake" => "t" }, - { "key" => "a" }, - { "key" => "b" }, - { "key" => "c" } - ] - expectation = [ - { "key" => "a" }, - { "key" => "b" }, - { "key" => "c" }, - { "key" => "X" }, - { "key" => "Y" }, - { "key" => "Z" }, - { "fake" => "t" } - ] - assert_equal expectation, @filters.sort_natural(input, "key") - assert_equal ["a", "b", "c", "X", "Y", "Z"], @filters.sort_natural(["X", "Y", "Z", "a", "b", "c"]) - end - - def test_sort_empty_array - assert_equal [], @filters.sort([], "a") - end - - def test_sort_invalid_property - foo = [ - [1], - [2], - [3] - ] - - assert_raises Liquid::ArgumentError do - @filters.sort(foo, "bar") - end - end - - def test_sort_natural_empty_array - assert_equal [], @filters.sort_natural([], "a") - end - - def test_sort_natural_invalid_property - foo = [ - [1], - [2], - [3] - ] - - assert_raises Liquid::ArgumentError do - @filters.sort_natural(foo, "bar") - end - end - - def test_legacy_sort_hash - assert_equal [{ a: 1, b: 2 }], @filters.sort({ a: 1, b: 2 }) - end - - def test_numerical_vs_lexicographical_sort - assert_equal [2, 10], @filters.sort([10, 2]) - assert_equal [{ "a" => 2 }, { "a" => 10 }], @filters.sort([{ "a" => 10 }, { "a" => 2 }], "a") - assert_equal ["10", "2"], @filters.sort(["10", "2"]) - assert_equal [{ "a" => "10" }, { "a" => "2" }], @filters.sort([{ "a" => "10" }, { "a" => "2" }], "a") - end - - def test_uniq - assert_equal ["foo"], @filters.uniq("foo") - assert_equal [1, 3, 2, 4], @filters.uniq([1, 1, 3, 2, 3, 1, 4, 3, 2, 1]) - assert_equal [{ "a" => 1 }, { "a" => 3 }, { "a" => 2 }], @filters.uniq([{ "a" => 1 }, { "a" => 3 }, { "a" => 1 }, { "a" => 2 }], "a") - testdrop = TestDrop.new - assert_equal [testdrop], @filters.uniq([testdrop, TestDrop.new], 'test') - end - - def test_uniq_empty_array - assert_equal [], @filters.uniq([], "a") - end - - def test_uniq_invalid_property - foo = [ - [1], - [2], - [3] - ] - - assert_raises Liquid::ArgumentError do - @filters.uniq(foo, "bar") - end - end - - def test_compact_empty_array - assert_equal [], @filters.compact([], "a") - end - - def test_compact_invalid_property - foo = [ - [1], - [2], - [3] - ] - - assert_raises Liquid::ArgumentError do - @filters.compact(foo, "bar") - end - end - - def test_reverse - assert_equal [4, 3, 2, 1], @filters.reverse([1, 2, 3, 4]) - end - - def test_legacy_reverse_hash - assert_equal [{ a: 1, b: 2 }], @filters.reverse(a: 1, b: 2) - end - - def test_map - assert_equal [1, 2, 3, 4], @filters.map([{ "a" => 1 }, { "a" => 2 }, { "a" => 3 }, { "a" => 4 }], 'a') - assert_template_result 'abc', "{{ ary | map:'foo' | map:'bar' }}", - 'ary' => [{ 'foo' => { 'bar' => 'a' } }, { 'foo' => { 'bar' => 'b' } }, { 'foo' => { 'bar' => 'c' } }] - end - - def test_map_doesnt_call_arbitrary_stuff - assert_template_result "", '{{ "foo" | map: "__id__" }}' - assert_template_result "", '{{ "foo" | map: "inspect" }}' - end - - def test_map_calls_to_liquid - t = TestThing.new - assert_template_result "woot: 1", '{{ foo | map: "whatever" }}', "foo" => [t] - end - - def test_map_on_hashes - assert_template_result "4217", '{{ thing | map: "foo" | map: "bar" }}', - "thing" => { "foo" => [ { "bar" => 42 }, { "bar" => 17 } ] } - end - - def test_legacy_map_on_hashes_with_dynamic_key - template = "{% assign key = 'foo' %}{{ thing | map: key | map: 'bar' }}" - hash = { "foo" => { "bar" => 42 } } - assert_template_result "42", template, "thing" => hash - end - - def test_sort_calls_to_liquid - t = TestThing.new - Liquid::Template.parse('{{ foo | sort: "whatever" }}').render("foo" => [t]) - assert t.foo > 0 - end - - def test_map_over_proc - drop = TestDrop.new - p = proc{ drop } - templ = '{{ procs | map: "test" }}' - assert_template_result "testfoo", templ, "procs" => [p] - end - - def test_map_over_drops_returning_procs - drops = [ - { - "proc" => ->{ "foo" }, - }, - { - "proc" => ->{ "bar" }, - }, - ] - templ = '{{ drops | map: "proc" }}' - assert_template_result "foobar", templ, "drops" => drops - end - - def test_map_works_on_enumerables - assert_template_result "123", '{{ foo | map: "foo" }}', "foo" => TestEnumerable.new - end - - def test_map_returns_empty_on_2d_input_array - foo = [ - [1], - [2], - [3] - ] - - assert_raises Liquid::ArgumentError do - @filters.map(foo, "bar") - end - end - - def test_map_returns_empty_with_no_property - foo = [ - [1], - [2], - [3] - ] - assert_raises Liquid::ArgumentError do - @filters.map(foo, nil) - end - end - - def test_sort_works_on_enumerables - assert_template_result "213", '{{ foo | sort: "bar" | map: "foo" }}', "foo" => TestEnumerable.new - end - - def test_first_and_last_call_to_liquid - assert_template_result 'foobar', '{{ foo | first }}', 'foo' => [ThingWithToLiquid.new] - assert_template_result 'foobar', '{{ foo | last }}', 'foo' => [ThingWithToLiquid.new] - end - - def test_truncate_calls_to_liquid - assert_template_result "wo...", '{{ foo | truncate: 5 }}', "foo" => TestThing.new - end - - def test_date - assert_equal 'May', @filters.date(Time.parse("2006-05-05 10:00:00"), "%B") - assert_equal 'June', @filters.date(Time.parse("2006-06-05 10:00:00"), "%B") - assert_equal 'July', @filters.date(Time.parse("2006-07-05 10:00:00"), "%B") - - assert_equal 'May', @filters.date("2006-05-05 10:00:00", "%B") - assert_equal 'June', @filters.date("2006-06-05 10:00:00", "%B") - assert_equal 'July', @filters.date("2006-07-05 10:00:00", "%B") - - assert_equal '2006-07-05 10:00:00', @filters.date("2006-07-05 10:00:00", "") - assert_equal '2006-07-05 10:00:00', @filters.date("2006-07-05 10:00:00", "") - assert_equal '2006-07-05 10:00:00', @filters.date("2006-07-05 10:00:00", "") - assert_equal '2006-07-05 10:00:00', @filters.date("2006-07-05 10:00:00", nil) - - assert_equal '07/05/2006', @filters.date("2006-07-05 10:00:00", "%m/%d/%Y") - - assert_equal "07/16/2004", @filters.date("Fri Jul 16 01:00:00 2004", "%m/%d/%Y") - assert_equal Date.today.year.to_s, @filters.date('now', '%Y') - assert_equal Date.today.year.to_s, @filters.date('today', '%Y') - assert_equal Date.today.year.to_s, @filters.date('Today', '%Y') - - assert_nil @filters.date(nil, "%B") - - assert_equal '', @filters.date('', "%B") - - with_timezone("UTC") do - assert_equal "07/05/2006", @filters.date(1152098955, "%m/%d/%Y") - assert_equal "07/05/2006", @filters.date("1152098955", "%m/%d/%Y") - end - end - - def test_first_last - assert_equal 1, @filters.first([1, 2, 3]) - assert_equal 3, @filters.last([1, 2, 3]) - assert_nil @filters.first([]) - assert_nil @filters.last([]) - end - - def test_replace - assert_equal '2 2 2 2', @filters.replace('1 1 1 1', '1', 2) - assert_equal '2 2 2 2', @filters.replace('1 1 1 1', 1, 2) - assert_equal '2 1 1 1', @filters.replace_first('1 1 1 1', '1', 2) - assert_equal '2 1 1 1', @filters.replace_first('1 1 1 1', 1, 2) - assert_template_result '2 1 1 1', "{{ '1 1 1 1' | replace_first: '1', 2 }}" - end - - def test_remove - assert_equal ' ', @filters.remove("a a a a", 'a') - assert_equal ' ', @filters.remove("1 1 1 1", 1) - assert_equal 'a a a', @filters.remove_first("a a a a", 'a ') - assert_equal ' 1 1 1', @filters.remove_first("1 1 1 1", 1) - assert_template_result 'a a a', "{{ 'a a a a' | remove_first: 'a ' }}" - end - - def test_pipes_in_string_arguments - assert_template_result 'foobar', "{{ 'foo|bar' | remove: '|' }}" - end - - def test_strip - assert_template_result 'ab c', "{{ source | strip }}", 'source' => " ab c " - assert_template_result 'ab c', "{{ source | strip }}", 'source' => " \tab c \n \t" - end - - def test_lstrip - assert_template_result 'ab c ', "{{ source | lstrip }}", 'source' => " ab c " - assert_template_result "ab c \n \t", "{{ source | lstrip }}", 'source' => " \tab c \n \t" - end - - def test_rstrip - assert_template_result " ab c", "{{ source | rstrip }}", 'source' => " ab c " - assert_template_result " \tab c", "{{ source | rstrip }}", 'source' => " \tab c \n \t" - end - - def test_strip_newlines - assert_template_result 'abc', "{{ source | strip_newlines }}", 'source' => "a\nb\nc" - assert_template_result 'abc', "{{ source | strip_newlines }}", 'source' => "a\r\nb\nc" - end - - def test_newlines_to_br - assert_template_result "a<br />\nb<br />\nc", "{{ source | newline_to_br }}", 'source' => "a\nb\nc" - end - - def test_plus - assert_template_result "2", "{{ 1 | plus:1 }}" - assert_template_result "2.0", "{{ '1' | plus:'1.0' }}" - - assert_template_result "5", "{{ price | plus:'2' }}", 'price' => NumberLikeThing.new(3) - end - - def test_minus - assert_template_result "4", "{{ input | minus:operand }}", 'input' => 5, 'operand' => 1 - assert_template_result "2.3", "{{ '4.3' | minus:'2' }}" - - assert_template_result "5", "{{ price | minus:'2' }}", 'price' => NumberLikeThing.new(7) - end - - def test_abs - assert_template_result "17", "{{ 17 | abs }}" - assert_template_result "17", "{{ -17 | abs }}" - assert_template_result "17", "{{ '17' | abs }}" - assert_template_result "17", "{{ '-17' | abs }}" - assert_template_result "0", "{{ 0 | abs }}" - assert_template_result "0", "{{ '0' | abs }}" - assert_template_result "17.42", "{{ 17.42 | abs }}" - assert_template_result "17.42", "{{ -17.42 | abs }}" - assert_template_result "17.42", "{{ '17.42' | abs }}" - assert_template_result "17.42", "{{ '-17.42' | abs }}" - end - - def test_times - assert_template_result "12", "{{ 3 | times:4 }}" - assert_template_result "0", "{{ 'foo' | times:4 }}" - assert_template_result "6", "{{ '2.1' | times:3 | replace: '.','-' | plus:0}}" - assert_template_result "7.25", "{{ 0.0725 | times:100 }}" - assert_template_result "-7.25", '{{ "-0.0725" | times:100 }}' - assert_template_result "7.25", '{{ "-0.0725" | times: -100 }}' - assert_template_result "4", "{{ price | times:2 }}", 'price' => NumberLikeThing.new(2) - end - - def test_divided_by - assert_template_result "4", "{{ 12 | divided_by:3 }}" - assert_template_result "4", "{{ 14 | divided_by:3 }}" - - assert_template_result "5", "{{ 15 | divided_by:3 }}" - assert_equal "Liquid error: divided by 0", Template.parse("{{ 5 | divided_by:0 }}").render - - assert_template_result "0.5", "{{ 2.0 | divided_by:4 }}" - assert_raises(Liquid::ZeroDivisionError) do - assert_template_result "4", "{{ 1 | modulo: 0 }}" - end - - assert_template_result "5", "{{ price | divided_by:2 }}", 'price' => NumberLikeThing.new(10) - end - - def test_modulo - assert_template_result "1", "{{ 3 | modulo:2 }}" - assert_raises(Liquid::ZeroDivisionError) do - assert_template_result "4", "{{ 1 | modulo: 0 }}" - end - - assert_template_result "1", "{{ price | modulo:2 }}", 'price' => NumberLikeThing.new(3) - end - - def test_round - assert_template_result "5", "{{ input | round }}", 'input' => 4.6 - assert_template_result "4", "{{ '4.3' | round }}" - assert_template_result "4.56", "{{ input | round: 2 }}", 'input' => 4.5612 - assert_raises(Liquid::FloatDomainError) do - assert_template_result "4", "{{ 1.0 | divided_by: 0.0 | round }}" - end - - assert_template_result "5", "{{ price | round }}", 'price' => NumberLikeThing.new(4.6) - assert_template_result "4", "{{ price | round }}", 'price' => NumberLikeThing.new(4.3) - end - - def test_ceil - assert_template_result "5", "{{ input | ceil }}", 'input' => 4.6 - assert_template_result "5", "{{ '4.3' | ceil }}" - assert_raises(Liquid::FloatDomainError) do - assert_template_result "4", "{{ 1.0 | divided_by: 0.0 | ceil }}" - end - - assert_template_result "5", "{{ price | ceil }}", 'price' => NumberLikeThing.new(4.6) - end - - def test_floor - assert_template_result "4", "{{ input | floor }}", 'input' => 4.6 - assert_template_result "4", "{{ '4.3' | floor }}" - assert_raises(Liquid::FloatDomainError) do - assert_template_result "4", "{{ 1.0 | divided_by: 0.0 | floor }}" - end - - assert_template_result "5", "{{ price | floor }}", 'price' => NumberLikeThing.new(5.4) - end - - def test_at_most - assert_template_result "4", "{{ 5 | at_most:4 }}" - assert_template_result "5", "{{ 5 | at_most:5 }}" - assert_template_result "5", "{{ 5 | at_most:6 }}" - - assert_template_result "4.5", "{{ 4.5 | at_most:5 }}" - assert_template_result "5", "{{ width | at_most:5 }}", 'width' => NumberLikeThing.new(6) - assert_template_result "4", "{{ width | at_most:5 }}", 'width' => NumberLikeThing.new(4) - assert_template_result "4", "{{ 5 | at_most: width }}", 'width' => NumberLikeThing.new(4) - end - - def test_at_least - assert_template_result "5", "{{ 5 | at_least:4 }}" - assert_template_result "5", "{{ 5 | at_least:5 }}" - assert_template_result "6", "{{ 5 | at_least:6 }}" - - assert_template_result "5", "{{ 4.5 | at_least:5 }}" - assert_template_result "6", "{{ width | at_least:5 }}", 'width' => NumberLikeThing.new(6) - assert_template_result "5", "{{ width | at_least:5 }}", 'width' => NumberLikeThing.new(4) - assert_template_result "6", "{{ 5 | at_least: width }}", 'width' => NumberLikeThing.new(6) - end - - def test_append - assigns = { 'a' => 'bc', 'b' => 'd' } - assert_template_result('bcd', "{{ a | append: 'd'}}", assigns) - assert_template_result('bcd', "{{ a | append: b}}", assigns) - end - - def test_concat - assert_equal [1, 2, 3, 4], @filters.concat([1, 2], [3, 4]) - assert_equal [1, 2, 'a'], @filters.concat([1, 2], ['a']) - assert_equal [1, 2, 10], @filters.concat([1, 2], [10]) - - assert_raises(Liquid::ArgumentError, "concat filter requires an array argument") do - @filters.concat([1, 2], 10) - end - end - - def test_prepend - assigns = { 'a' => 'bc', 'b' => 'a' } - assert_template_result('abc', "{{ a | prepend: 'a'}}", assigns) - assert_template_result('abc', "{{ a | prepend: b}}", assigns) - end - - def test_default - assert_equal "foo", @filters.default("foo", "bar") - assert_equal "bar", @filters.default(nil, "bar") - assert_equal "bar", @filters.default("", "bar") - assert_equal "bar", @filters.default(false, "bar") - assert_equal "bar", @filters.default([], "bar") - assert_equal "bar", @filters.default({}, "bar") - end - - def test_cannot_access_private_methods - assert_template_result('a', "{{ 'a' | to_number }}") - end - - def test_date_raises_nothing - assert_template_result('', "{{ '' | date: '%D' }}") - assert_template_result('abc', "{{ 'abc' | date: '%D' }}") - end - - def test_where - input = [ - { "handle" => "alpha", "ok" => true }, - { "handle" => "beta", "ok" => false }, - { "handle" => "gamma", "ok" => false }, - { "handle" => "delta", "ok" => true } - ] - - expectation = [ - { "handle" => "alpha", "ok" => true }, - { "handle" => "delta", "ok" => true } - ] - - assert_equal expectation, @filters.where(input, "ok", true) - assert_equal expectation, @filters.where(input, "ok") - end - - def test_where_no_key_set - input = [ - { "handle" => "alpha", "ok" => true }, - { "handle" => "beta" }, - { "handle" => "gamma" }, - { "handle" => "delta", "ok" => true } - ] - - expectation = [ - { "handle" => "alpha", "ok" => true }, - { "handle" => "delta", "ok" => true } - ] - - assert_equal expectation, @filters.where(input, "ok", true) - assert_equal expectation, @filters.where(input, "ok") - end - - def test_where_non_array_map_input - assert_equal [{ "a" => "ok" }], @filters.where({ "a" => "ok" }, "a", "ok") - assert_equal [], @filters.where({ "a" => "not ok" }, "a", "ok") - end - - def test_where_indexable_but_non_map_value - assert_raises(Liquid::ArgumentError) { @filters.where(1, "ok", true) } - assert_raises(Liquid::ArgumentError) { @filters.where(1, "ok") } - end - - def test_where_non_boolean_value - input = [ - { "message" => "Bonjour!", "language" => "French" }, - { "message" => "Hello!", "language" => "English" }, - { "message" => "Hallo!", "language" => "German" } - ] - - assert_equal [{ "message" => "Bonjour!", "language" => "French" }], @filters.where(input, "language", "French") - assert_equal [{ "message" => "Hallo!", "language" => "German" }], @filters.where(input, "language", "German") - assert_equal [{ "message" => "Hello!", "language" => "English" }], @filters.where(input, "language", "English") - end - - def test_where_array_of_only_unindexable_values - assert_nil @filters.where([nil], "ok", true) - assert_nil @filters.where([nil], "ok") - end - - def test_where_no_target_value - input = [ - { "foo" => false }, - { "foo" => true }, - { "foo" => "for sure" }, - { "bar" => true } - ] - - assert_equal [{ "foo" => true }, { "foo" => "for sure" }], @filters.where(input, "foo") - end - - private - - def with_timezone(tz) - old_tz = ENV['TZ'] - ENV['TZ'] = tz - yield - ensure - ENV['TZ'] = old_tz - end -end # StandardFiltersTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/break_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/break_tag_test.rb deleted file mode 100644 index 0fbde83..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/break_tag_test.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'test_helper' - -class BreakTagTest < Minitest::Test - include Liquid - - # tests that no weird errors are raised if break is called outside of a - # block - def test_break_with_no_block - assigns = { 'i' => 1 } - markup = '{% break %}' - expected = '' - - assert_template_result(expected, markup, assigns) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/continue_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/continue_tag_test.rb deleted file mode 100644 index ce4c158..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/continue_tag_test.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'test_helper' - -class ContinueTagTest < Minitest::Test - include Liquid - - # tests that no weird errors are raised if continue is called outside of a - # block - def test_continue_with_no_block - assigns = {} - markup = '{% continue %}' - expected = '' - - assert_template_result(expected, markup, assigns) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/for_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/for_tag_test.rb deleted file mode 100644 index cb7a822..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/for_tag_test.rb +++ /dev/null @@ -1,410 +0,0 @@ -require 'test_helper' - -class ThingWithValue < Liquid::Drop - def value - 3 - end -end - -class ForTagTest < Minitest::Test - include Liquid - - def test_for - assert_template_result(' yo yo yo yo ', '{%for item in array%} yo {%endfor%}', 'array' => [1, 2, 3, 4]) - assert_template_result('yoyo', '{%for item in array%}yo{%endfor%}', 'array' => [1, 2]) - assert_template_result(' yo ', '{%for item in array%} yo {%endfor%}', 'array' => [1]) - assert_template_result('', '{%for item in array%}{%endfor%}', 'array' => [1, 2]) - expected = <<HERE - - yo - - yo - - yo - -HERE - template = <<HERE -{%for item in array%} - yo -{%endfor%} -HERE - assert_template_result(expected, template, 'array' => [1, 2, 3]) - end - - def test_for_reversed - assigns = { 'array' => [ 1, 2, 3] } - assert_template_result('321', '{%for item in array reversed %}{{item}}{%endfor%}', assigns) - end - - def test_for_with_range - assert_template_result(' 1 2 3 ', '{%for item in (1..3) %} {{item}} {%endfor%}') - - assert_raises(Liquid::ArgumentError) do - Template.parse('{% for i in (a..2) %}{% endfor %}').render!("a" => [1, 2]) - end - - assert_template_result(' 0 1 2 3 ', '{% for item in (a..3) %} {{item}} {% endfor %}', "a" => "invalid integer") - end - - def test_for_with_variable_range - assert_template_result(' 1 2 3 ', '{%for item in (1..foobar) %} {{item}} {%endfor%}', "foobar" => 3) - end - - def test_for_with_hash_value_range - foobar = { "value" => 3 } - assert_template_result(' 1 2 3 ', '{%for item in (1..foobar.value) %} {{item}} {%endfor%}', "foobar" => foobar) - end - - def test_for_with_drop_value_range - foobar = ThingWithValue.new - assert_template_result(' 1 2 3 ', '{%for item in (1..foobar.value) %} {{item}} {%endfor%}', "foobar" => foobar) - end - - def test_for_with_variable - assert_template_result(' 1 2 3 ', '{%for item in array%} {{item}} {%endfor%}', 'array' => [1, 2, 3]) - assert_template_result('123', '{%for item in array%}{{item}}{%endfor%}', 'array' => [1, 2, 3]) - assert_template_result('123', '{% for item in array %}{{item}}{% endfor %}', 'array' => [1, 2, 3]) - assert_template_result('abcd', '{%for item in array%}{{item}}{%endfor%}', 'array' => ['a', 'b', 'c', 'd']) - assert_template_result('a b c', '{%for item in array%}{{item}}{%endfor%}', 'array' => ['a', ' ', 'b', ' ', 'c']) - assert_template_result('abc', '{%for item in array%}{{item}}{%endfor%}', 'array' => ['a', '', 'b', '', 'c']) - end - - def test_for_helpers - assigns = { 'array' => [1, 2, 3] } - assert_template_result(' 1/3 2/3 3/3 ', - '{%for item in array%} {{forloop.index}}/{{forloop.length}} {%endfor%}', - assigns) - assert_template_result(' 1 2 3 ', '{%for item in array%} {{forloop.index}} {%endfor%}', assigns) - assert_template_result(' 0 1 2 ', '{%for item in array%} {{forloop.index0}} {%endfor%}', assigns) - assert_template_result(' 2 1 0 ', '{%for item in array%} {{forloop.rindex0}} {%endfor%}', assigns) - assert_template_result(' 3 2 1 ', '{%for item in array%} {{forloop.rindex}} {%endfor%}', assigns) - assert_template_result(' true false false ', '{%for item in array%} {{forloop.first}} {%endfor%}', assigns) - assert_template_result(' false false true ', '{%for item in array%} {{forloop.last}} {%endfor%}', assigns) - end - - def test_for_and_if - assigns = { 'array' => [1, 2, 3] } - assert_template_result('+--', - '{%for item in array%}{% if forloop.first %}+{% else %}-{% endif %}{%endfor%}', - assigns) - end - - def test_for_else - assert_template_result('+++', '{%for item in array%}+{%else%}-{%endfor%}', 'array' => [1, 2, 3]) - assert_template_result('-', '{%for item in array%}+{%else%}-{%endfor%}', 'array' => []) - assert_template_result('-', '{%for item in array%}+{%else%}-{%endfor%}', 'array' => nil) - end - - def test_limiting - assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } - assert_template_result('12', '{%for i in array limit:2 %}{{ i }}{%endfor%}', assigns) - assert_template_result('1234', '{%for i in array limit:4 %}{{ i }}{%endfor%}', assigns) - assert_template_result('3456', '{%for i in array limit:4 offset:2 %}{{ i }}{%endfor%}', assigns) - assert_template_result('3456', '{%for i in array limit: 4 offset: 2 %}{{ i }}{%endfor%}', assigns) - end - - def test_dynamic_variable_limiting - assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } - assigns['limit'] = 2 - assigns['offset'] = 2 - - assert_template_result('34', '{%for i in array limit: limit offset: offset %}{{ i }}{%endfor%}', assigns) - end - - def test_nested_for - assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } - assert_template_result('123456', '{%for item in array%}{%for i in item%}{{ i }}{%endfor%}{%endfor%}', assigns) - end - - def test_offset_only - assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } - assert_template_result('890', '{%for i in array offset:7 %}{{ i }}{%endfor%}', assigns) - end - - def test_pause_resume - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = <<-MKUP - {%for i in array.items limit: 3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit: 3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit: 3 %}{{i}}{%endfor%} - MKUP - expected = <<-XPCTD - 123 - next - 456 - next - 789 - XPCTD - assert_template_result(expected, markup, assigns) - end - - def test_pause_resume_limit - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = <<-MKUP - {%for i in array.items limit:3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit:3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit:1 %}{{i}}{%endfor%} - MKUP - expected = <<-XPCTD - 123 - next - 456 - next - 7 - XPCTD - assert_template_result(expected, markup, assigns) - end - - def test_pause_resume_big_limit - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = <<-MKUP - {%for i in array.items limit:3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit:3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit:1000 %}{{i}}{%endfor%} - MKUP - expected = <<-XPCTD - 123 - next - 456 - next - 7890 - XPCTD - assert_template_result(expected, markup, assigns) - end - - def test_pause_resume_big_offset - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = '{%for i in array.items limit:3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit:3 %}{{i}}{%endfor%} - next - {%for i in array.items offset:continue limit:3 offset:1000 %}{{i}}{%endfor%}' - expected = '123 - next - 456 - next - ' - assert_template_result(expected, markup, assigns) - end - - def test_for_with_break - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] } } - - markup = '{% for i in array.items %}{% break %}{% endfor %}' - expected = "" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{{ i }}{% break %}{% endfor %}' - expected = "1" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{% break %}{{ i }}{% endfor %}' - expected = "" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{{ i }}{% if i > 3 %}{% break %}{% endif %}{% endfor %}' - expected = "1234" - assert_template_result(expected, markup, assigns) - - # tests to ensure it only breaks out of the local for loop - # and not all of them. - assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } - markup = '{% for item in array %}' \ - '{% for i in item %}' \ - '{% if i == 1 %}' \ - '{% break %}' \ - '{% endif %}' \ - '{{ i }}' \ - '{% endfor %}' \ - '{% endfor %}' - expected = '3456' - assert_template_result(expected, markup, assigns) - - # test break does nothing when unreached - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } - markup = '{% for i in array.items %}{% if i == 9999 %}{% break %}{% endif %}{{ i }}{% endfor %}' - expected = '12345' - assert_template_result(expected, markup, assigns) - end - - def test_for_with_continue - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } - - markup = '{% for i in array.items %}{% continue %}{% endfor %}' - expected = "" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{{ i }}{% continue %}{% endfor %}' - expected = "12345" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{% continue %}{{ i }}{% endfor %}' - expected = "" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{% if i > 3 %}{% continue %}{% endif %}{{ i }}{% endfor %}' - expected = "123" - assert_template_result(expected, markup, assigns) - - markup = '{% for i in array.items %}{% if i == 3 %}{% continue %}{% else %}{{ i }}{% endif %}{% endfor %}' - expected = "1245" - assert_template_result(expected, markup, assigns) - - # tests to ensure it only continues the local for loop and not all of them. - assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } - markup = '{% for item in array %}' \ - '{% for i in item %}' \ - '{% if i == 1 %}' \ - '{% continue %}' \ - '{% endif %}' \ - '{{ i }}' \ - '{% endfor %}' \ - '{% endfor %}' - expected = '23456' - assert_template_result(expected, markup, assigns) - - # test continue does nothing when unreached - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } - markup = '{% for i in array.items %}{% if i == 9999 %}{% continue %}{% endif %}{{ i }}{% endfor %}' - expected = '12345' - assert_template_result(expected, markup, assigns) - end - - def test_for_tag_string - # ruby 1.8.7 "String".each => Enumerator with single "String" element. - # ruby 1.9.3 no longer supports .each on String though we mimic - # the functionality for backwards compatibility - - assert_template_result('test string', - '{%for val in string%}{{val}}{%endfor%}', - 'string' => "test string") - - assert_template_result('test string', - '{%for val in string limit:1%}{{val}}{%endfor%}', - 'string' => "test string") - - assert_template_result('val-string-1-1-0-1-0-true-true-test string', - '{%for val in string%}' \ - '{{forloop.name}}-' \ - '{{forloop.index}}-' \ - '{{forloop.length}}-' \ - '{{forloop.index0}}-' \ - '{{forloop.rindex}}-' \ - '{{forloop.rindex0}}-' \ - '{{forloop.first}}-' \ - '{{forloop.last}}-' \ - '{{val}}{%endfor%}', - 'string' => "test string") - end - - def test_for_parentloop_references_parent_loop - assert_template_result('1.1 1.2 1.3 2.1 2.2 2.3 ', - '{% for inner in outer %}{% for k in inner %}' \ - '{{ forloop.parentloop.index }}.{{ forloop.index }} ' \ - '{% endfor %}{% endfor %}', - 'outer' => [[1, 1, 1], [1, 1, 1]]) - end - - def test_for_parentloop_nil_when_not_present - assert_template_result('.1 .2 ', - '{% for inner in outer %}' \ - '{{ forloop.parentloop.index }}.{{ forloop.index }} ' \ - '{% endfor %}', - 'outer' => [[1, 1, 1], [1, 1, 1]]) - end - - def test_inner_for_over_empty_input - assert_template_result 'oo', '{% for a in (1..2) %}o{% for b in empty %}{% endfor %}{% endfor %}' - end - - def test_blank_string_not_iterable - assert_template_result('', "{% for char in characters %}I WILL NOT BE OUTPUT{% endfor %}", 'characters' => '') - end - - def test_bad_variable_naming_in_for_loop - assert_raises(Liquid::SyntaxError) do - Liquid::Template.parse('{% for a/b in x %}{% endfor %}') - end - end - - def test_spacing_with_variable_naming_in_for_loop - expected = '12345' - template = '{% for item in items %}{{item}}{% endfor %}' - assigns = { 'items' => [1, 2, 3, 4, 5] } - assert_template_result(expected, template, assigns) - end - - class LoaderDrop < Liquid::Drop - attr_accessor :each_called, :load_slice_called - - def initialize(data) - @data = data - end - - def each - @each_called = true - @data.each { |el| yield el } - end - - def load_slice(from, to) - @load_slice_called = true - @data[(from..to - 1)] - end - end - - def test_iterate_with_each_when_no_limit_applied - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - assigns = { 'items' => loader } - expected = '12345' - template = '{% for item in items %}{{item}}{% endfor %}' - assert_template_result(expected, template, assigns) - assert loader.each_called - assert !loader.load_slice_called - end - - def test_iterate_with_load_slice_when_limit_applied - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - assigns = { 'items' => loader } - expected = '1' - template = '{% for item in items limit:1 %}{{item}}{% endfor %}' - assert_template_result(expected, template, assigns) - assert !loader.each_called - assert loader.load_slice_called - end - - def test_iterate_with_load_slice_when_limit_and_offset_applied - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - assigns = { 'items' => loader } - expected = '34' - template = '{% for item in items offset:2 limit:2 %}{{item}}{% endfor %}' - assert_template_result(expected, template, assigns) - assert !loader.each_called - assert loader.load_slice_called - end - - def test_iterate_with_load_slice_returns_same_results_as_without - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - loader_assigns = { 'items' => loader } - array_assigns = { 'items' => [1, 2, 3, 4, 5] } - expected = '34' - template = '{% for item in items offset:2 limit:2 %}{{item}}{% endfor %}' - assert_template_result(expected, template, loader_assigns) - assert_template_result(expected, template, array_assigns) - end - - def test_for_cleans_up_registers - context = Context.new(ErrorDrop.new) - - assert_raises(StandardError) do - Liquid::Template.parse('{% for i in (1..2) %}{{ standard_error }}{% endfor %}').render!(context) - end - - assert context.registers[:for_stack].empty? - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/if_else_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/if_else_tag_test.rb deleted file mode 100644 index 45a5d3a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/if_else_tag_test.rb +++ /dev/null @@ -1,188 +0,0 @@ -require 'test_helper' - -class IfElseTagTest < Minitest::Test - include Liquid - - def test_if - assert_template_result(' ', ' {% if false %} this text should not go into the output {% endif %} ') - assert_template_result(' this text should go into the output ', - ' {% if true %} this text should go into the output {% endif %} ') - assert_template_result(' you rock ?', '{% if false %} you suck {% endif %} {% if true %} you rock {% endif %}?') - end - - def test_literal_comparisons - assert_template_result(' NO ', '{% assign v = false %}{% if v %} YES {% else %} NO {% endif %}') - assert_template_result(' YES ', '{% assign v = nil %}{% if v == nil %} YES {% else %} NO {% endif %}') - end - - def test_if_else - assert_template_result(' YES ', '{% if false %} NO {% else %} YES {% endif %}') - assert_template_result(' YES ', '{% if true %} YES {% else %} NO {% endif %}') - assert_template_result(' YES ', '{% if "foo" %} YES {% else %} NO {% endif %}') - end - - def test_if_boolean - assert_template_result(' YES ', '{% if var %} YES {% endif %}', 'var' => true) - end - - def test_if_or - assert_template_result(' YES ', '{% if a or b %} YES {% endif %}', 'a' => true, 'b' => true) - assert_template_result(' YES ', '{% if a or b %} YES {% endif %}', 'a' => true, 'b' => false) - assert_template_result(' YES ', '{% if a or b %} YES {% endif %}', 'a' => false, 'b' => true) - assert_template_result('', '{% if a or b %} YES {% endif %}', 'a' => false, 'b' => false) - - assert_template_result(' YES ', '{% if a or b or c %} YES {% endif %}', 'a' => false, 'b' => false, 'c' => true) - assert_template_result('', '{% if a or b or c %} YES {% endif %}', 'a' => false, 'b' => false, 'c' => false) - end - - def test_if_or_with_operators - assert_template_result(' YES ', '{% if a == true or b == true %} YES {% endif %}', 'a' => true, 'b' => true) - assert_template_result(' YES ', '{% if a == true or b == false %} YES {% endif %}', 'a' => true, 'b' => true) - assert_template_result('', '{% if a == false or b == false %} YES {% endif %}', 'a' => true, 'b' => true) - end - - def test_comparison_of_strings_containing_and_or_or - awful_markup = "a == 'and' and b == 'or' and c == 'foo and bar' and d == 'bar or baz' and e == 'foo' and foo and bar" - assigns = { 'a' => 'and', 'b' => 'or', 'c' => 'foo and bar', 'd' => 'bar or baz', 'e' => 'foo', 'foo' => true, 'bar' => true } - assert_template_result(' YES ', "{% if #{awful_markup} %} YES {% endif %}", assigns) - end - - def test_comparison_of_expressions_starting_with_and_or_or - assigns = { 'order' => { 'items_count' => 0 }, 'android' => { 'name' => 'Roy' } } - assert_template_result("YES", - "{% if android.name == 'Roy' %}YES{% endif %}", - assigns) - assert_template_result("YES", - "{% if order.items_count == 0 %}YES{% endif %}", - assigns) - end - - def test_if_and - assert_template_result(' YES ', '{% if true and true %} YES {% endif %}') - assert_template_result('', '{% if false and true %} YES {% endif %}') - assert_template_result('', '{% if false and true %} YES {% endif %}') - end - - def test_hash_miss_generates_false - assert_template_result('', '{% if foo.bar %} NO {% endif %}', 'foo' => {}) - end - - def test_if_from_variable - assert_template_result('', '{% if var %} NO {% endif %}', 'var' => false) - assert_template_result('', '{% if var %} NO {% endif %}', 'var' => nil) - assert_template_result('', '{% if foo.bar %} NO {% endif %}', 'foo' => { 'bar' => false }) - assert_template_result('', '{% if foo.bar %} NO {% endif %}', 'foo' => {}) - assert_template_result('', '{% if foo.bar %} NO {% endif %}', 'foo' => nil) - assert_template_result('', '{% if foo.bar %} NO {% endif %}', 'foo' => true) - - assert_template_result(' YES ', '{% if var %} YES {% endif %}', 'var' => "text") - assert_template_result(' YES ', '{% if var %} YES {% endif %}', 'var' => true) - assert_template_result(' YES ', '{% if var %} YES {% endif %}', 'var' => 1) - assert_template_result(' YES ', '{% if var %} YES {% endif %}', 'var' => {}) - assert_template_result(' YES ', '{% if var %} YES {% endif %}', 'var' => []) - assert_template_result(' YES ', '{% if "foo" %} YES {% endif %}') - assert_template_result(' YES ', '{% if foo.bar %} YES {% endif %}', 'foo' => { 'bar' => true }) - assert_template_result(' YES ', '{% if foo.bar %} YES {% endif %}', 'foo' => { 'bar' => "text" }) - assert_template_result(' YES ', '{% if foo.bar %} YES {% endif %}', 'foo' => { 'bar' => 1 }) - assert_template_result(' YES ', '{% if foo.bar %} YES {% endif %}', 'foo' => { 'bar' => {} }) - assert_template_result(' YES ', '{% if foo.bar %} YES {% endif %}', 'foo' => { 'bar' => [] }) - - assert_template_result(' YES ', '{% if var %} NO {% else %} YES {% endif %}', 'var' => false) - assert_template_result(' YES ', '{% if var %} NO {% else %} YES {% endif %}', 'var' => nil) - assert_template_result(' YES ', '{% if var %} YES {% else %} NO {% endif %}', 'var' => true) - assert_template_result(' YES ', '{% if "foo" %} YES {% else %} NO {% endif %}', 'var' => "text") - - assert_template_result(' YES ', '{% if foo.bar %} NO {% else %} YES {% endif %}', 'foo' => { 'bar' => false }) - assert_template_result(' YES ', '{% if foo.bar %} YES {% else %} NO {% endif %}', 'foo' => { 'bar' => true }) - assert_template_result(' YES ', '{% if foo.bar %} YES {% else %} NO {% endif %}', 'foo' => { 'bar' => "text" }) - assert_template_result(' YES ', '{% if foo.bar %} NO {% else %} YES {% endif %}', 'foo' => { 'notbar' => true }) - assert_template_result(' YES ', '{% if foo.bar %} NO {% else %} YES {% endif %}', 'foo' => {}) - assert_template_result(' YES ', '{% if foo.bar %} NO {% else %} YES {% endif %}', 'notfoo' => { 'bar' => true }) - end - - def test_nested_if - assert_template_result('', '{% if false %}{% if false %} NO {% endif %}{% endif %}') - assert_template_result('', '{% if false %}{% if true %} NO {% endif %}{% endif %}') - assert_template_result('', '{% if true %}{% if false %} NO {% endif %}{% endif %}') - assert_template_result(' YES ', '{% if true %}{% if true %} YES {% endif %}{% endif %}') - - assert_template_result(' YES ', '{% if true %}{% if true %} YES {% else %} NO {% endif %}{% else %} NO {% endif %}') - assert_template_result(' YES ', '{% if true %}{% if false %} NO {% else %} YES {% endif %}{% else %} NO {% endif %}') - assert_template_result(' YES ', '{% if false %}{% if true %} NO {% else %} NONO {% endif %}{% else %} YES {% endif %}') - end - - def test_comparisons_on_null - assert_template_result('', '{% if null < 10 %} NO {% endif %}') - assert_template_result('', '{% if null <= 10 %} NO {% endif %}') - assert_template_result('', '{% if null >= 10 %} NO {% endif %}') - assert_template_result('', '{% if null > 10 %} NO {% endif %}') - - assert_template_result('', '{% if 10 < null %} NO {% endif %}') - assert_template_result('', '{% if 10 <= null %} NO {% endif %}') - assert_template_result('', '{% if 10 >= null %} NO {% endif %}') - assert_template_result('', '{% if 10 > null %} NO {% endif %}') - end - - def test_else_if - assert_template_result('0', '{% if 0 == 0 %}0{% elsif 1 == 1%}1{% else %}2{% endif %}') - assert_template_result('1', '{% if 0 != 0 %}0{% elsif 1 == 1%}1{% else %}2{% endif %}') - assert_template_result('2', '{% if 0 != 0 %}0{% elsif 1 != 1%}1{% else %}2{% endif %}') - - assert_template_result('elsif', '{% if false %}if{% elsif true %}elsif{% endif %}') - end - - def test_syntax_error_no_variable - assert_raises(SyntaxError){ assert_template_result('', '{% if jerry == 1 %}') } - end - - def test_syntax_error_no_expression - assert_raises(SyntaxError) { assert_template_result('', '{% if %}') } - end - - def test_if_with_custom_condition - original_op = Condition.operators['contains'] - Condition.operators['contains'] = :[] - - assert_template_result('yes', %({% if 'bob' contains 'o' %}yes{% endif %})) - assert_template_result('no', %({% if 'bob' contains 'f' %}yes{% else %}no{% endif %})) - ensure - Condition.operators['contains'] = original_op - end - - def test_operators_are_ignored_unless_isolated - original_op = Condition.operators['contains'] - Condition.operators['contains'] = :[] - - assert_template_result('yes', - %({% if 'gnomeslab-and-or-liquid' contains 'gnomeslab-and-or-liquid' %}yes{% endif %})) - ensure - Condition.operators['contains'] = original_op - end - - def test_operators_are_whitelisted - assert_raises(SyntaxError) do - assert_template_result('', %({% if 1 or throw or or 1 %}yes{% endif %})) - end - end - - def test_multiple_conditions - tpl = "{% if a or b and c %}true{% else %}false{% endif %}" - - tests = { - [true, true, true] => true, - [true, true, false] => true, - [true, false, true] => true, - [true, false, false] => true, - [false, true, true] => true, - [false, true, false] => false, - [false, false, true] => false, - [false, false, false] => false, - } - - tests.each do |vals, expected| - a, b, c = vals - assigns = { 'a' => a, 'b' => b, 'c' => c } - assert_template_result expected.to_s, tpl, assigns, assigns.to_s - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/include_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/include_tag_test.rb deleted file mode 100644 index 9c188d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/include_tag_test.rb +++ /dev/null @@ -1,253 +0,0 @@ -require 'test_helper' - -class TestFileSystem - def read_template_file(template_path) - case template_path - when "product" - "Product: {{ product.title }} " - - when "locale_variables" - "Locale: {{echo1}} {{echo2}}" - - when "variant" - "Variant: {{ variant.title }}" - - when "nested_template" - "{% include 'header' %} {% include 'body' %} {% include 'footer' %}" - - when "body" - "body {% include 'body_detail' %}" - - when "nested_product_template" - "Product: {{ nested_product_template.title }} {%include 'details'%} " - - when "recursively_nested_template" - "-{% include 'recursively_nested_template' %}" - - when "pick_a_source" - "from TestFileSystem" - - when 'assignments' - "{% assign foo = 'bar' %}" - - when 'break' - "{% break %}" - - else - template_path - end - end -end - -class OtherFileSystem - def read_template_file(template_path) - 'from OtherFileSystem' - end -end - -class CountingFileSystem - attr_reader :count - def read_template_file(template_path) - @count ||= 0 - @count += 1 - 'from CountingFileSystem' - end -end - -class CustomInclude < Liquid::Tag - Syntax = /(#{Liquid::QuotedFragment}+)(\s+(?:with|for)\s+(#{Liquid::QuotedFragment}+))?/o - - def initialize(tag_name, markup, tokens) - markup =~ Syntax - @template_name = $1 - super - end - - def parse(tokens) - end - - def render(context) - @template_name[1..-2] - end -end - -class IncludeTagTest < Minitest::Test - include Liquid - - def setup - Liquid::Template.file_system = TestFileSystem.new - end - - def test_include_tag_looks_for_file_system_in_registers_first - assert_equal 'from OtherFileSystem', - Template.parse("{% include 'pick_a_source' %}").render!({}, registers: { file_system: OtherFileSystem.new }) - end - - def test_include_tag_with - assert_template_result "Product: Draft 151cm ", - "{% include 'product' with products[0] %}", "products" => [ { 'title' => 'Draft 151cm' }, { 'title' => 'Element 155cm' } ] - end - - def test_include_tag_with_default_name - assert_template_result "Product: Draft 151cm ", - "{% include 'product' %}", "product" => { 'title' => 'Draft 151cm' } - end - - def test_include_tag_for - assert_template_result "Product: Draft 151cm Product: Element 155cm ", - "{% include 'product' for products %}", "products" => [ { 'title' => 'Draft 151cm' }, { 'title' => 'Element 155cm' } ] - end - - def test_include_tag_with_local_variables - assert_template_result "Locale: test123 ", "{% include 'locale_variables' echo1: 'test123' %}" - end - - def test_include_tag_with_multiple_local_variables - assert_template_result "Locale: test123 test321", - "{% include 'locale_variables' echo1: 'test123', echo2: 'test321' %}" - end - - def test_include_tag_with_multiple_local_variables_from_context - assert_template_result "Locale: test123 test321", - "{% include 'locale_variables' echo1: echo1, echo2: more_echos.echo2 %}", - 'echo1' => 'test123', 'more_echos' => { "echo2" => 'test321' } - end - - def test_included_templates_assigns_variables - assert_template_result "bar", "{% include 'assignments' %}{{ foo }}" - end - - def test_nested_include_tag - assert_template_result "body body_detail", "{% include 'body' %}" - - assert_template_result "header body body_detail footer", "{% include 'nested_template' %}" - end - - def test_nested_include_with_variable - assert_template_result "Product: Draft 151cm details ", - "{% include 'nested_product_template' with product %}", "product" => { "title" => 'Draft 151cm' } - - assert_template_result "Product: Draft 151cm details Product: Element 155cm details ", - "{% include 'nested_product_template' for products %}", "products" => [{ "title" => 'Draft 151cm' }, { "title" => 'Element 155cm' }] - end - - def test_recursively_included_template_does_not_produce_endless_loop - infinite_file_system = Class.new do - def read_template_file(template_path) - "-{% include 'loop' %}" - end - end - - Liquid::Template.file_system = infinite_file_system.new - - assert_raises(Liquid::StackLevelError) do - Template.parse("{% include 'loop' %}").render! - end - end - - def test_dynamically_choosen_template - assert_template_result "Test123", "{% include template %}", "template" => 'Test123' - assert_template_result "Test321", "{% include template %}", "template" => 'Test321' - - assert_template_result "Product: Draft 151cm ", "{% include template for product %}", - "template" => 'product', 'product' => { 'title' => 'Draft 151cm' } - end - - def test_include_tag_caches_second_read_of_same_partial - file_system = CountingFileSystem.new - assert_equal 'from CountingFileSystemfrom CountingFileSystem', - Template.parse("{% include 'pick_a_source' %}{% include 'pick_a_source' %}").render!({}, registers: { file_system: file_system }) - assert_equal 1, file_system.count - end - - def test_include_tag_doesnt_cache_partials_across_renders - file_system = CountingFileSystem.new - assert_equal 'from CountingFileSystem', - Template.parse("{% include 'pick_a_source' %}").render!({}, registers: { file_system: file_system }) - assert_equal 1, file_system.count - - assert_equal 'from CountingFileSystem', - Template.parse("{% include 'pick_a_source' %}").render!({}, registers: { file_system: file_system }) - assert_equal 2, file_system.count - end - - def test_include_tag_within_if_statement - assert_template_result "foo_if_true", "{% if true %}{% include 'foo_if_true' %}{% endif %}" - end - - def test_custom_include_tag - original_tag = Liquid::Template.tags['include'] - Liquid::Template.tags['include'] = CustomInclude - begin - assert_equal "custom_foo", - Template.parse("{% include 'custom_foo' %}").render! - ensure - Liquid::Template.tags['include'] = original_tag - end - end - - def test_custom_include_tag_within_if_statement - original_tag = Liquid::Template.tags['include'] - Liquid::Template.tags['include'] = CustomInclude - begin - assert_equal "custom_foo_if_true", - Template.parse("{% if true %}{% include 'custom_foo_if_true' %}{% endif %}").render! - ensure - Liquid::Template.tags['include'] = original_tag - end - end - - def test_does_not_add_error_in_strict_mode_for_missing_variable - Liquid::Template.file_system = TestFileSystem.new - - a = Liquid::Template.parse(' {% include "nested_template" %}') - a.render! - assert_empty a.errors - end - - def test_passing_options_to_included_templates - assert_raises(Liquid::SyntaxError) do - Template.parse("{% include template %}", error_mode: :strict).render!("template" => '{{ "X" || downcase }}') - end - with_error_mode(:lax) do - assert_equal 'x', Template.parse("{% include template %}", error_mode: :strict, include_options_blacklist: true).render!("template" => '{{ "X" || downcase }}') - end - assert_raises(Liquid::SyntaxError) do - Template.parse("{% include template %}", error_mode: :strict, include_options_blacklist: [:locale]).render!("template" => '{{ "X" || downcase }}') - end - with_error_mode(:lax) do - assert_equal 'x', Template.parse("{% include template %}", error_mode: :strict, include_options_blacklist: [:error_mode]).render!("template" => '{{ "X" || downcase }}') - end - end - - def test_render_raise_argument_error_when_template_is_undefined - assert_raises(Liquid::ArgumentError) do - template = Liquid::Template.parse('{% include undefined_variable %}') - template.render! - end - assert_raises(Liquid::ArgumentError) do - template = Liquid::Template.parse('{% include nil %}') - template.render! - end - end - - def test_including_via_variable_value - assert_template_result "from TestFileSystem", "{% assign page = 'pick_a_source' %}{% include page %}" - - assert_template_result "Product: Draft 151cm ", "{% assign page = 'product' %}{% include page %}", "product" => { 'title' => 'Draft 151cm' } - - assert_template_result "Product: Draft 151cm ", "{% assign page = 'product' %}{% include page for foo %}", "foo" => { 'title' => 'Draft 151cm' } - end - - def test_including_with_strict_variables - template = Liquid::Template.parse("{% include 'simple' %}", error_mode: :warn) - template.render(nil, strict_variables: true) - - assert_equal [], template.errors - end - - def test_break_through_include - assert_template_result "1", "{% for i in (1..3) %}{{ i }}{% break %}{{ i }}{% endfor %}" - assert_template_result "1", "{% for i in (1..3) %}{{ i }}{% include 'break' %}{{ i }}{% endfor %}" - end -end # IncludeTagTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/increment_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/increment_tag_test.rb deleted file mode 100644 index 97c51ac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/increment_tag_test.rb +++ /dev/null @@ -1,23 +0,0 @@ -require 'test_helper' - -class IncrementTagTest < Minitest::Test - include Liquid - - def test_inc - assert_template_result('0', '{%increment port %}', {}) - assert_template_result('0 1', '{%increment port %} {%increment port%}', {}) - assert_template_result('0 0 1 2 1', - '{%increment port %} {%increment starboard%} ' \ - '{%increment port %} {%increment port%} ' \ - '{%increment starboard %}', {}) - end - - def test_dec - assert_template_result('9', '{%decrement port %}', { 'port' => 10 }) - assert_template_result('-1 -2', '{%decrement port %} {%decrement port%}', {}) - assert_template_result('1 5 2 2 5', - '{%increment port %} {%increment starboard%} ' \ - '{%increment port %} {%decrement port%} ' \ - '{%decrement starboard %}', { 'port' => 1, 'starboard' => 5 }) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/raw_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/raw_tag_test.rb deleted file mode 100644 index 634d052..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/raw_tag_test.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'test_helper' - -class RawTagTest < Minitest::Test - include Liquid - - def test_tag_in_raw - assert_template_result '{% comment %} test {% endcomment %}', - '{% raw %}{% comment %} test {% endcomment %}{% endraw %}' - end - - def test_output_in_raw - assert_template_result '{{ test }}', '{% raw %}{{ test }}{% endraw %}' - end - - def test_open_tag_in_raw - assert_template_result ' Foobar {% invalid ', '{% raw %} Foobar {% invalid {% endraw %}' - assert_template_result ' Foobar invalid %} ', '{% raw %} Foobar invalid %} {% endraw %}' - assert_template_result ' Foobar {{ invalid ', '{% raw %} Foobar {{ invalid {% endraw %}' - assert_template_result ' Foobar invalid }} ', '{% raw %} Foobar invalid }} {% endraw %}' - assert_template_result ' Foobar {% invalid {% {% endraw ', '{% raw %} Foobar {% invalid {% {% endraw {% endraw %}' - assert_template_result ' Foobar {% {% {% ', '{% raw %} Foobar {% {% {% {% endraw %}' - assert_template_result ' test {% raw %} {% endraw %}', '{% raw %} test {% raw %} {% {% endraw %}endraw %}' - assert_template_result ' Foobar {{ invalid 1', '{% raw %} Foobar {{ invalid {% endraw %}{{ 1 }}' - end - - def test_invalid_raw - assert_match_syntax_error(/tag was never closed/, '{% raw %} foo') - assert_match_syntax_error(/Valid syntax/, '{% raw } foo {% endraw %}') - assert_match_syntax_error(/Valid syntax/, '{% raw } foo %}{% endraw %}') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/standard_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/standard_tag_test.rb deleted file mode 100644 index 4b4703a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/standard_tag_test.rb +++ /dev/null @@ -1,296 +0,0 @@ -require 'test_helper' - -class StandardTagTest < Minitest::Test - include Liquid - - def test_no_transform - assert_template_result('this text should come out of the template without change...', - 'this text should come out of the template without change...') - - assert_template_result('blah', 'blah') - assert_template_result('<blah>', '<blah>') - assert_template_result('|,.:', '|,.:') - assert_template_result('', '') - - text = %(this shouldnt see any transformation either but has multiple lines - as you can clearly see here ...) - assert_template_result(text, text) - end - - def test_has_a_block_which_does_nothing - assert_template_result(%(the comment block should be removed .. right?), - %(the comment block should be removed {%comment%} be gone.. {%endcomment%} .. right?)) - - assert_template_result('', '{%comment%}{%endcomment%}') - assert_template_result('', '{%comment%}{% endcomment %}') - assert_template_result('', '{% comment %}{%endcomment%}') - assert_template_result('', '{% comment %}{% endcomment %}') - assert_template_result('', '{%comment%}comment{%endcomment%}') - assert_template_result('', '{% comment %}comment{% endcomment %}') - assert_template_result('', '{% comment %} 1 {% comment %} 2 {% endcomment %} 3 {% endcomment %}') - - assert_template_result('', '{%comment%}{%blabla%}{%endcomment%}') - assert_template_result('', '{% comment %}{% blabla %}{% endcomment %}') - assert_template_result('', '{%comment%}{% endif %}{%endcomment%}') - assert_template_result('', '{% comment %}{% endwhatever %}{% endcomment %}') - assert_template_result('', '{% comment %}{% raw %} {{%%%%}} }} { {% endcomment %} {% comment {% endraw %} {% endcomment %}') - - assert_template_result('foobar', 'foo{%comment%}comment{%endcomment%}bar') - assert_template_result('foobar', 'foo{% comment %}comment{% endcomment %}bar') - assert_template_result('foobar', 'foo{%comment%} comment {%endcomment%}bar') - assert_template_result('foobar', 'foo{% comment %} comment {% endcomment %}bar') - - assert_template_result('foo bar', 'foo {%comment%} {%endcomment%} bar') - assert_template_result('foo bar', 'foo {%comment%}comment{%endcomment%} bar') - assert_template_result('foo bar', 'foo {%comment%} comment {%endcomment%} bar') - - assert_template_result('foobar', 'foo{%comment%} - {%endcomment%}bar') - end - - def test_hyphenated_assign - assigns = { 'a-b' => '1' } - assert_template_result('a-b:1 a-b:2', 'a-b:{{a-b}} {%assign a-b = 2 %}a-b:{{a-b}}', assigns) - end - - def test_assign_with_colon_and_spaces - assigns = { 'var' => { 'a:b c' => { 'paged' => '1' } } } - assert_template_result('var2: 1', '{%assign var2 = var["a:b c"].paged %}var2: {{var2}}', assigns) - end - - def test_capture - assigns = { 'var' => 'content' } - assert_template_result('content foo content foo ', - '{{ var2 }}{% capture var2 %}{{ var }} foo {% endcapture %}{{ var2 }}{{ var2 }}', - assigns) - end - - def test_capture_detects_bad_syntax - assert_raises(SyntaxError) do - assert_template_result('content foo content foo ', - '{{ var2 }}{% capture %}{{ var }} foo {% endcapture %}{{ var2 }}{{ var2 }}', - { 'var' => 'content' }) - end - end - - def test_case - assigns = { 'condition' => 2 } - assert_template_result(' its 2 ', - '{% case condition %}{% when 1 %} its 1 {% when 2 %} its 2 {% endcase %}', - assigns) - - assigns = { 'condition' => 1 } - assert_template_result(' its 1 ', - '{% case condition %}{% when 1 %} its 1 {% when 2 %} its 2 {% endcase %}', - assigns) - - assigns = { 'condition' => 3 } - assert_template_result('', - '{% case condition %}{% when 1 %} its 1 {% when 2 %} its 2 {% endcase %}', - assigns) - - assigns = { 'condition' => "string here" } - assert_template_result(' hit ', - '{% case condition %}{% when "string here" %} hit {% endcase %}', - assigns) - - assigns = { 'condition' => "bad string here" } - assert_template_result('', - '{% case condition %}{% when "string here" %} hit {% endcase %}',\ - assigns) - end - - def test_case_with_else - assigns = { 'condition' => 5 } - assert_template_result(' hit ', - '{% case condition %}{% when 5 %} hit {% else %} else {% endcase %}', - assigns) - - assigns = { 'condition' => 6 } - assert_template_result(' else ', - '{% case condition %}{% when 5 %} hit {% else %} else {% endcase %}', - assigns) - - assigns = { 'condition' => 6 } - assert_template_result(' else ', - '{% case condition %} {% when 5 %} hit {% else %} else {% endcase %}', - assigns) - end - - def test_case_on_size - assert_template_result('', '{% case a.size %}{% when 1 %}1{% when 2 %}2{% endcase %}', 'a' => []) - assert_template_result('1', '{% case a.size %}{% when 1 %}1{% when 2 %}2{% endcase %}', 'a' => [1]) - assert_template_result('2', '{% case a.size %}{% when 1 %}1{% when 2 %}2{% endcase %}', 'a' => [1, 1]) - assert_template_result('', '{% case a.size %}{% when 1 %}1{% when 2 %}2{% endcase %}', 'a' => [1, 1, 1]) - assert_template_result('', '{% case a.size %}{% when 1 %}1{% when 2 %}2{% endcase %}', 'a' => [1, 1, 1, 1]) - assert_template_result('', '{% case a.size %}{% when 1 %}1{% when 2 %}2{% endcase %}', 'a' => [1, 1, 1, 1, 1]) - end - - def test_case_on_size_with_else - assert_template_result('else', - '{% case a.size %}{% when 1 %}1{% when 2 %}2{% else %}else{% endcase %}', - 'a' => []) - - assert_template_result('1', - '{% case a.size %}{% when 1 %}1{% when 2 %}2{% else %}else{% endcase %}', - 'a' => [1]) - - assert_template_result('2', - '{% case a.size %}{% when 1 %}1{% when 2 %}2{% else %}else{% endcase %}', - 'a' => [1, 1]) - - assert_template_result('else', - '{% case a.size %}{% when 1 %}1{% when 2 %}2{% else %}else{% endcase %}', - 'a' => [1, 1, 1]) - - assert_template_result('else', - '{% case a.size %}{% when 1 %}1{% when 2 %}2{% else %}else{% endcase %}', - 'a' => [1, 1, 1, 1]) - - assert_template_result('else', - '{% case a.size %}{% when 1 %}1{% when 2 %}2{% else %}else{% endcase %}', - 'a' => [1, 1, 1, 1, 1]) - end - - def test_case_on_length_with_else - assert_template_result('else', - '{% case a.empty? %}{% when true %}true{% when false %}false{% else %}else{% endcase %}', - {}) - - assert_template_result('false', - '{% case false %}{% when true %}true{% when false %}false{% else %}else{% endcase %}', - {}) - - assert_template_result('true', - '{% case true %}{% when true %}true{% when false %}false{% else %}else{% endcase %}', - {}) - - assert_template_result('else', - '{% case NULL %}{% when true %}true{% when false %}false{% else %}else{% endcase %}', - {}) - end - - def test_assign_from_case - # Example from the shopify forums - code = "{% case collection.handle %}{% when 'menswear-jackets' %}{% assign ptitle = 'menswear' %}{% when 'menswear-t-shirts' %}{% assign ptitle = 'menswear' %}{% else %}{% assign ptitle = 'womenswear' %}{% endcase %}{{ ptitle }}" - template = Liquid::Template.parse(code) - assert_equal "menswear", template.render!("collection" => { 'handle' => 'menswear-jackets' }) - assert_equal "menswear", template.render!("collection" => { 'handle' => 'menswear-t-shirts' }) - assert_equal "womenswear", template.render!("collection" => { 'handle' => 'x' }) - assert_equal "womenswear", template.render!("collection" => { 'handle' => 'y' }) - assert_equal "womenswear", template.render!("collection" => { 'handle' => 'z' }) - end - - def test_case_when_or - code = '{% case condition %}{% when 1 or 2 or 3 %} its 1 or 2 or 3 {% when 4 %} its 4 {% endcase %}' - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 1 }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 2 }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 3 }) - assert_template_result(' its 4 ', code, { 'condition' => 4 }) - assert_template_result('', code, { 'condition' => 5 }) - - code = '{% case condition %}{% when 1 or "string" or null %} its 1 or 2 or 3 {% when 4 %} its 4 {% endcase %}' - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 1 }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 'string' }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => nil }) - assert_template_result('', code, { 'condition' => 'something else' }) - end - - def test_case_when_comma - code = '{% case condition %}{% when 1, 2, 3 %} its 1 or 2 or 3 {% when 4 %} its 4 {% endcase %}' - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 1 }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 2 }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 3 }) - assert_template_result(' its 4 ', code, { 'condition' => 4 }) - assert_template_result('', code, { 'condition' => 5 }) - - code = '{% case condition %}{% when 1, "string", null %} its 1 or 2 or 3 {% when 4 %} its 4 {% endcase %}' - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 1 }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => 'string' }) - assert_template_result(' its 1 or 2 or 3 ', code, { 'condition' => nil }) - assert_template_result('', code, { 'condition' => 'something else' }) - end - - def test_assign - assert_template_result 'variable', '{% assign a = "variable"%}{{a}}' - end - - def test_assign_unassigned - assigns = { 'var' => 'content' } - assert_template_result('var2: var2:content', 'var2:{{var2}} {%assign var2 = var%} var2:{{var2}}', assigns) - end - - def test_assign_an_empty_string - assert_template_result '', '{% assign a = ""%}{{a}}' - end - - def test_assign_is_global - assert_template_result 'variable', '{%for i in (1..2) %}{% assign a = "variable"%}{% endfor %}{{a}}' - end - - def test_case_detects_bad_syntax - assert_raises(SyntaxError) do - assert_template_result('', '{% case false %}{% when %}true{% endcase %}', {}) - end - - assert_raises(SyntaxError) do - assert_template_result('', '{% case false %}{% huh %}true{% endcase %}', {}) - end - end - - def test_cycle - assert_template_result('one', '{%cycle "one", "two"%}') - assert_template_result('one two', '{%cycle "one", "two"%} {%cycle "one", "two"%}') - assert_template_result(' two', '{%cycle "", "two"%} {%cycle "", "two"%}') - - assert_template_result('one two one', '{%cycle "one", "two"%} {%cycle "one", "two"%} {%cycle "one", "two"%}') - - assert_template_result('text-align: left text-align: right', - '{%cycle "text-align: left", "text-align: right" %} {%cycle "text-align: left", "text-align: right"%}') - end - - def test_multiple_cycles - assert_template_result('1 2 1 1 2 3 1', - '{%cycle 1,2%} {%cycle 1,2%} {%cycle 1,2%} {%cycle 1,2,3%} {%cycle 1,2,3%} {%cycle 1,2,3%} {%cycle 1,2,3%}') - end - - def test_multiple_named_cycles - assert_template_result('one one two two one one', - '{%cycle 1: "one", "two" %} {%cycle 2: "one", "two" %} {%cycle 1: "one", "two" %} {%cycle 2: "one", "two" %} {%cycle 1: "one", "two" %} {%cycle 2: "one", "two" %}') - end - - def test_multiple_named_cycles_with_names_from_context - assigns = { "var1" => 1, "var2" => 2 } - assert_template_result('one one two two one one', - '{%cycle var1: "one", "two" %} {%cycle var2: "one", "two" %} {%cycle var1: "one", "two" %} {%cycle var2: "one", "two" %} {%cycle var1: "one", "two" %} {%cycle var2: "one", "two" %}', assigns) - end - - def test_size_of_array - assigns = { "array" => [1, 2, 3, 4] } - assert_template_result('array has 4 elements', "array has {{ array.size }} elements", assigns) - end - - def test_size_of_hash - assigns = { "hash" => { a: 1, b: 2, c: 3, d: 4 } } - assert_template_result('hash has 4 elements', "hash has {{ hash.size }} elements", assigns) - end - - def test_illegal_symbols - assert_template_result('', '{% if true == empty %}?{% endif %}', {}) - assert_template_result('', '{% if true == null %}?{% endif %}', {}) - assert_template_result('', '{% if empty == true %}?{% endif %}', {}) - assert_template_result('', '{% if null == true %}?{% endif %}', {}) - end - - def test_ifchanged - assigns = { 'array' => [ 1, 1, 2, 2, 3, 3] } - assert_template_result('123', '{%for item in array%}{%ifchanged%}{{item}}{% endifchanged %}{%endfor%}', assigns) - - assigns = { 'array' => [ 1, 1, 1, 1] } - assert_template_result('1', '{%for item in array%}{%ifchanged%}{{item}}{% endifchanged %}{%endfor%}', assigns) - end - - def test_multiline_tag - assert_template_result '0 1 2 3', "0{%\nfor i in (1..3)\n%} {{\ni\n}}{%\nendfor\n%}" - end -end # StandardTagTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/statements_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/statements_test.rb deleted file mode 100644 index eeff166..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/statements_test.rb +++ /dev/null @@ -1,111 +0,0 @@ -require 'test_helper' - -class StatementsTest < Minitest::Test - include Liquid - - def test_true_eql_true - text = ' {% if true == true %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text - end - - def test_true_not_eql_true - text = ' {% if true != true %} true {% else %} false {% endif %} ' - assert_template_result ' false ', text - end - - def test_true_lq_true - text = ' {% if 0 > 0 %} true {% else %} false {% endif %} ' - assert_template_result ' false ', text - end - - def test_one_lq_zero - text = ' {% if 1 > 0 %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text - end - - def test_zero_lq_one - text = ' {% if 0 < 1 %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text - end - - def test_zero_lq_or_equal_one - text = ' {% if 0 <= 0 %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text - end - - def test_zero_lq_or_equal_one_involving_nil - text = ' {% if null <= 0 %} true {% else %} false {% endif %} ' - assert_template_result ' false ', text - - text = ' {% if 0 <= null %} true {% else %} false {% endif %} ' - assert_template_result ' false ', text - end - - def test_zero_lqq_or_equal_one - text = ' {% if 0 >= 0 %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text - end - - def test_strings - text = " {% if 'test' == 'test' %} true {% else %} false {% endif %} " - assert_template_result ' true ', text - end - - def test_strings_not_equal - text = " {% if 'test' != 'test' %} true {% else %} false {% endif %} " - assert_template_result ' false ', text - end - - def test_var_strings_equal - text = ' {% if var == "hello there!" %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'var' => 'hello there!' - end - - def test_var_strings_are_not_equal - text = ' {% if "hello there!" == var %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'var' => 'hello there!' - end - - def test_var_and_long_string_are_equal - text = " {% if var == 'hello there!' %} true {% else %} false {% endif %} " - assert_template_result ' true ', text, 'var' => 'hello there!' - end - - def test_var_and_long_string_are_equal_backwards - text = " {% if 'hello there!' == var %} true {% else %} false {% endif %} " - assert_template_result ' true ', text, 'var' => 'hello there!' - end - - # def test_is_nil - # text = %| {% if var != nil %} true {% else %} false {% end %} | - # @template.assigns = { 'var' => 'hello there!'} - # expected = %| true | - # assert_equal expected, @template.parse(text) - # end - - def test_is_collection_empty - text = ' {% if array == empty %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'array' => [] - end - - def test_is_not_collection_empty - text = ' {% if array == empty %} true {% else %} false {% endif %} ' - assert_template_result ' false ', text, 'array' => [1, 2, 3] - end - - def test_nil - text = ' {% if var == nil %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'var' => nil - - text = ' {% if var == null %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'var' => nil - end - - def test_not_nil - text = ' {% if var != nil %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'var' => 1 - - text = ' {% if var != null %} true {% else %} false {% endif %} ' - assert_template_result ' true ', text, 'var' => 1 - end -end # StatementsTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/table_row_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/table_row_test.rb deleted file mode 100644 index d7bc14c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/table_row_test.rb +++ /dev/null @@ -1,64 +0,0 @@ -require 'test_helper' - -class TableRowTest < Minitest::Test - include Liquid - - class ArrayDrop < Liquid::Drop - include Enumerable - - def initialize(array) - @array = array - end - - def each(&block) - @array.each(&block) - end - end - - def test_table_row - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n", - '{% tablerow n in numbers cols:3%} {{n}} {% endtablerow %}', - 'numbers' => [1, 2, 3, 4, 5, 6]) - - assert_template_result("<tr class=\"row1\">\n</tr>\n", - '{% tablerow n in numbers cols:3%} {{n}} {% endtablerow %}', - 'numbers' => []) - end - - def test_table_row_with_different_cols - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td><td class=\"col4\"> 4 </td><td class=\"col5\"> 5 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 6 </td></tr>\n", - '{% tablerow n in numbers cols:5%} {{n}} {% endtablerow %}', - 'numbers' => [1, 2, 3, 4, 5, 6]) - end - - def test_table_col_counter - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\">1</td><td class=\"col2\">2</td></tr>\n<tr class=\"row2\"><td class=\"col1\">1</td><td class=\"col2\">2</td></tr>\n<tr class=\"row3\"><td class=\"col1\">1</td><td class=\"col2\">2</td></tr>\n", - '{% tablerow n in numbers cols:2%}{{tablerowloop.col}}{% endtablerow %}', - 'numbers' => [1, 2, 3, 4, 5, 6]) - end - - def test_quoted_fragment - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n", - "{% tablerow n in collections.frontpage cols:3%} {{n}} {% endtablerow %}", - 'collections' => { 'frontpage' => [1, 2, 3, 4, 5, 6] }) - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n", - "{% tablerow n in collections['frontpage'] cols:3%} {{n}} {% endtablerow %}", - 'collections' => { 'frontpage' => [1, 2, 3, 4, 5, 6] }) - end - - def test_enumerable_drop - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n", - '{% tablerow n in numbers cols:3%} {{n}} {% endtablerow %}', - 'numbers' => ArrayDrop.new([1, 2, 3, 4, 5, 6])) - end - - def test_offset_and_limit - assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n", - '{% tablerow n in numbers cols:3 offset:1 limit:6%} {{n}} {% endtablerow %}', - 'numbers' => [0, 1, 2, 3, 4, 5, 6, 7]) - end - - def test_blank_string_not_iterable - assert_template_result("<tr class=\"row1\">\n</tr>\n", "{% tablerow char in characters cols:3 %}I WILL NOT BE OUTPUT{% endtablerow %}", 'characters' => '') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/unless_else_tag_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/unless_else_tag_test.rb deleted file mode 100644 index c414a71..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/tags/unless_else_tag_test.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'test_helper' - -class UnlessElseTagTest < Minitest::Test - include Liquid - - def test_unless - assert_template_result(' ', ' {% unless true %} this text should not go into the output {% endunless %} ') - assert_template_result(' this text should go into the output ', - ' {% unless false %} this text should go into the output {% endunless %} ') - assert_template_result(' you rock ?', '{% unless true %} you suck {% endunless %} {% unless false %} you rock {% endunless %}?') - end - - def test_unless_else - assert_template_result(' YES ', '{% unless true %} NO {% else %} YES {% endunless %}') - assert_template_result(' YES ', '{% unless false %} YES {% else %} NO {% endunless %}') - assert_template_result(' YES ', '{% unless "foo" %} NO {% else %} YES {% endunless %}') - end - - def test_unless_in_loop - assert_template_result '23', '{% for i in choices %}{% unless i %}{{ forloop.index }}{% endunless %}{% endfor %}', 'choices' => [1, nil, false] - end - - def test_unless_else_in_loop - assert_template_result ' TRUE 2 3 ', '{% for i in choices %}{% unless i %} {{ forloop.index }} {% else %} TRUE {% endunless %}{% endfor %}', 'choices' => [1, nil, false] - end -end # UnlessElseTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/template_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/template_test.rb deleted file mode 100644 index d10e1c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/template_test.rb +++ /dev/null @@ -1,332 +0,0 @@ -require 'test_helper' -require 'timeout' - -class TemplateContextDrop < Liquid::Drop - def liquid_method_missing(method) - method - end - - def foo - 'fizzbuzz' - end - - def baz - @context.registers['lulz'] - end -end - -class SomethingWithLength < Liquid::Drop - def length - nil - end -end - -class ErroneousDrop < Liquid::Drop - def bad_method - raise 'ruby error in drop' - end -end - -class DropWithUndefinedMethod < Liquid::Drop - def foo - 'foo' - end -end - -class TemplateTest < Minitest::Test - include Liquid - - def test_instance_assigns_persist_on_same_template_object_between_parses - t = Template.new - assert_equal 'from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render! - assert_equal 'from instance assigns', t.parse("{{ foo }}").render! - end - - def test_warnings_is_not_exponential_time - str = "false" - 100.times do - str = "{% if true %}true{% else %}#{str}{% endif %}" - end - - t = Template.parse(str) - assert_equal [], Timeout.timeout(1) { t.warnings } - end - - def test_instance_assigns_persist_on_same_template_parsing_between_renders - t = Template.new.parse("{{ foo }}{% assign foo = 'foo' %}{{ foo }}") - assert_equal 'foo', t.render! - assert_equal 'foofoo', t.render! - end - - def test_custom_assigns_do_not_persist_on_same_template - t = Template.new - assert_equal 'from custom assigns', t.parse("{{ foo }}").render!('foo' => 'from custom assigns') - assert_equal '', t.parse("{{ foo }}").render! - end - - def test_custom_assigns_squash_instance_assigns - t = Template.new - assert_equal 'from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render! - assert_equal 'from custom assigns', t.parse("{{ foo }}").render!('foo' => 'from custom assigns') - end - - def test_persistent_assigns_squash_instance_assigns - t = Template.new - assert_equal 'from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render! - t.assigns['foo'] = 'from persistent assigns' - assert_equal 'from persistent assigns', t.parse("{{ foo }}").render! - end - - def test_lambda_is_called_once_from_persistent_assigns_over_multiple_parses_and_renders - t = Template.new - t.assigns['number'] = -> { @global ||= 0; @global += 1 } - assert_equal '1', t.parse("{{number}}").render! - assert_equal '1', t.parse("{{number}}").render! - assert_equal '1', t.render! - @global = nil - end - - def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_renders - t = Template.new - assigns = { 'number' => -> { @global ||= 0; @global += 1 } } - assert_equal '1', t.parse("{{number}}").render!(assigns) - assert_equal '1', t.parse("{{number}}").render!(assigns) - assert_equal '1', t.render!(assigns) - @global = nil - end - - def test_resource_limits_works_with_custom_length_method - t = Template.parse("{% assign foo = bar %}") - t.resource_limits.render_length_limit = 42 - assert_equal "", t.render!("bar" => SomethingWithLength.new) - end - - def test_resource_limits_render_length - t = Template.parse("0123456789") - t.resource_limits.render_length_limit = 5 - assert_equal "Liquid error: Memory limits exceeded", t.render - assert t.resource_limits.reached? - - t.resource_limits.render_length_limit = 10 - assert_equal "0123456789", t.render! - refute_nil t.resource_limits.render_length - end - - def test_resource_limits_render_score - t = Template.parse("{% for a in (1..10) %} {% for a in (1..10) %} foo {% endfor %} {% endfor %}") - t.resource_limits.render_score_limit = 50 - assert_equal "Liquid error: Memory limits exceeded", t.render - assert t.resource_limits.reached? - - t = Template.parse("{% for a in (1..100) %} foo {% endfor %}") - t.resource_limits.render_score_limit = 50 - assert_equal "Liquid error: Memory limits exceeded", t.render - assert t.resource_limits.reached? - - t.resource_limits.render_score_limit = 200 - assert_equal (" foo " * 100), t.render! - refute_nil t.resource_limits.render_score - end - - def test_resource_limits_assign_score - t = Template.parse("{% assign foo = 42 %}{% assign bar = 23 %}") - t.resource_limits.assign_score_limit = 1 - assert_equal "Liquid error: Memory limits exceeded", t.render - assert t.resource_limits.reached? - - t.resource_limits.assign_score_limit = 2 - assert_equal "", t.render! - refute_nil t.resource_limits.assign_score - end - - def test_resource_limits_assign_score_nested - t = Template.parse("{% assign foo = 'aaaa' | reverse %}") - - t.resource_limits.assign_score_limit = 3 - assert_equal "Liquid error: Memory limits exceeded", t.render - assert t.resource_limits.reached? - - t.resource_limits.assign_score_limit = 5 - assert_equal "", t.render! - end - - def test_resource_limits_aborts_rendering_after_first_error - t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}") - t.resource_limits.render_score_limit = 50 - assert_equal "Liquid error: Memory limits exceeded", t.render - assert t.resource_limits.reached? - end - - def test_resource_limits_hash_in_template_gets_updated_even_if_no_limits_are_set - t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}") - t.render! - assert t.resource_limits.assign_score > 0 - assert t.resource_limits.render_score > 0 - assert t.resource_limits.render_length > 0 - end - - def test_render_length_persists_between_blocks - t = Template.parse("{% if true %}aaaa{% endif %}") - t.resource_limits.render_length_limit = 7 - assert_equal "Liquid error: Memory limits exceeded", t.render - t.resource_limits.render_length_limit = 8 - assert_equal "aaaa", t.render - - t = Template.parse("{% if true %}aaaa{% endif %}{% if true %}bbb{% endif %}") - t.resource_limits.render_length_limit = 13 - assert_equal "Liquid error: Memory limits exceeded", t.render - t.resource_limits.render_length_limit = 14 - assert_equal "aaaabbb", t.render - - t = Template.parse("{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}") - t.resource_limits.render_length_limit = 5 - assert_equal "Liquid error: Memory limits exceeded", t.render - t.resource_limits.render_length_limit = 11 - assert_equal "Liquid error: Memory limits exceeded", t.render - t.resource_limits.render_length_limit = 12 - assert_equal "ababab", t.render - end - - def test_default_resource_limits_unaffected_by_render_with_context - context = Context.new - t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}") - t.render!(context) - assert context.resource_limits.assign_score > 0 - assert context.resource_limits.render_score > 0 - assert context.resource_limits.render_length > 0 - end - - def test_can_use_drop_as_context - t = Template.new - t.registers['lulz'] = 'haha' - drop = TemplateContextDrop.new - assert_equal 'fizzbuzz', t.parse('{{foo}}').render!(drop) - assert_equal 'bar', t.parse('{{bar}}').render!(drop) - assert_equal 'haha', t.parse("{{baz}}").render!(drop) - end - - def test_render_bang_force_rethrow_errors_on_passed_context - context = Context.new({ 'drop' => ErroneousDrop.new }) - t = Template.new.parse('{{ drop.bad_method }}') - - e = assert_raises RuntimeError do - t.render!(context) - end - assert_equal 'ruby error in drop', e.message - end - - def test_exception_renderer_that_returns_string - exception = nil - handler = ->(e) { exception = e; '<!-- error -->' } - - output = Template.parse("{{ 1 | divided_by: 0 }}").render({}, exception_renderer: handler) - - assert exception.is_a?(Liquid::ZeroDivisionError) - assert_equal '<!-- error -->', output - end - - def test_exception_renderer_that_raises - exception = nil - assert_raises(Liquid::ZeroDivisionError) do - Template.parse("{{ 1 | divided_by: 0 }}").render({}, exception_renderer: ->(e) { exception = e; raise }) - end - assert exception.is_a?(Liquid::ZeroDivisionError) - end - - def test_global_filter_option_on_render - global_filter_proc = ->(output) { "#{output} filtered" } - rendered_template = Template.parse("{{name}}").render({ "name" => "bob" }, global_filter: global_filter_proc) - - assert_equal 'bob filtered', rendered_template - end - - def test_global_filter_option_when_native_filters_exist - global_filter_proc = ->(output) { "#{output} filtered" } - rendered_template = Template.parse("{{name | upcase}}").render({ "name" => "bob" }, global_filter: global_filter_proc) - - assert_equal 'BOB filtered', rendered_template - end - - def test_undefined_variables - t = Template.parse("{{x}} {{y}} {{z.a}} {{z.b}} {{z.c.d}}") - result = t.render({ 'x' => 33, 'z' => { 'a' => 32, 'c' => { 'e' => 31 } } }, { strict_variables: true }) - - assert_equal '33 32 ', result - assert_equal 3, t.errors.count - assert_instance_of Liquid::UndefinedVariable, t.errors[0] - assert_equal 'Liquid error: undefined variable y', t.errors[0].message - assert_instance_of Liquid::UndefinedVariable, t.errors[1] - assert_equal 'Liquid error: undefined variable b', t.errors[1].message - assert_instance_of Liquid::UndefinedVariable, t.errors[2] - assert_equal 'Liquid error: undefined variable d', t.errors[2].message - end - - def test_nil_value_does_not_raise - Liquid::Template.error_mode = :strict - t = Template.parse("some{{x}}thing") - result = t.render!({ 'x' => nil }, strict_variables: true) - - assert_equal 0, t.errors.count - assert_equal 'something', result - end - - def test_undefined_variables_raise - t = Template.parse("{{x}} {{y}} {{z.a}} {{z.b}} {{z.c.d}}") - - assert_raises UndefinedVariable do - t.render!({ 'x' => 33, 'z' => { 'a' => 32, 'c' => { 'e' => 31 } } }, { strict_variables: true }) - end - end - - def test_undefined_drop_methods - d = DropWithUndefinedMethod.new - t = Template.new.parse('{{ foo }} {{ woot }}') - result = t.render(d, { strict_variables: true }) - - assert_equal 'foo ', result - assert_equal 1, t.errors.count - assert_instance_of Liquid::UndefinedDropMethod, t.errors[0] - end - - def test_undefined_drop_methods_raise - d = DropWithUndefinedMethod.new - t = Template.new.parse('{{ foo }} {{ woot }}') - - assert_raises UndefinedDropMethod do - t.render!(d, { strict_variables: true }) - end - end - - def test_undefined_filters - t = Template.parse("{{a}} {{x | upcase | somefilter1 | somefilter2 | somefilter3}}") - filters = Module.new do - def somefilter3(v) - "-#{v}-" - end - end - result = t.render({ 'a' => 123, 'x' => 'foo' }, { filters: [filters], strict_filters: true }) - - assert_equal '123 ', result - assert_equal 1, t.errors.count - assert_instance_of Liquid::UndefinedFilter, t.errors[0] - assert_equal 'Liquid error: undefined filter somefilter1', t.errors[0].message - end - - def test_undefined_filters_raise - t = Template.parse("{{x | somefilter1 | upcase | somefilter2}}") - - assert_raises UndefinedFilter do - t.render!({ 'x' => 'foo' }, { strict_filters: true }) - end - end - - def test_using_range_literal_works_as_expected - t = Template.parse("{% assign foo = (x..y) %}{{ foo }}") - result = t.render({ 'x' => 1, 'y' => 5 }) - assert_equal '1..5', result - - t = Template.parse("{% assign nums = (x..y) %}{% for num in nums %}{{ num }}{% endfor %}") - result = t.render({ 'x' => 1, 'y' => 5 }) - assert_equal '12345', result - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/trim_mode_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/trim_mode_test.rb deleted file mode 100644 index 52248cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/trim_mode_test.rb +++ /dev/null @@ -1,529 +0,0 @@ -require 'test_helper' - -class TrimModeTest < Minitest::Test - include Liquid - - # Make sure the trim isn't applied to standard output - def test_standard_output - text = <<-END_TEMPLATE - <div> - <p> - {{ 'John' }} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - John - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_variable_output_with_multiple_blank_lines - text = <<-END_TEMPLATE - <div> - <p> - - - {{- 'John' -}} - - - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>John</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_tag_output_with_multiple_blank_lines - text = <<-END_TEMPLATE - <div> - <p> - - - {%- if true -%} - yes - {%- endif -%} - - - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>yes</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - # Make sure the trim isn't applied to standard tags - def test_standard_tags - whitespace = ' ' - text = <<-END_TEMPLATE - <div> - <p> - {% if true %} - yes - {% endif %} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> -#{whitespace} - yes -#{whitespace} - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - text = <<-END_TEMPLATE - <div> - <p> - {% if false %} - no - {% endif %} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> -#{whitespace} - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - # Make sure the trim isn't too agressive - def test_no_trim_output - text = '<p>{{- \'John\' -}}</p>' - expected = '<p>John</p>' - assert_template_result(expected, text) - end - - # Make sure the trim isn't too agressive - def test_no_trim_tags - text = '<p>{%- if true -%}yes{%- endif -%}</p>' - expected = '<p>yes</p>' - assert_template_result(expected, text) - - text = '<p>{%- if false -%}no{%- endif -%}</p>' - expected = '<p></p>' - assert_template_result(expected, text) - end - - def test_single_line_outer_tag - text = '<p> {%- if true %} yes {% endif -%} </p>' - expected = '<p> yes </p>' - assert_template_result(expected, text) - - text = '<p> {%- if false %} no {% endif -%} </p>' - expected = '<p></p>' - assert_template_result(expected, text) - end - - def test_single_line_inner_tag - text = '<p> {% if true -%} yes {%- endif %} </p>' - expected = '<p> yes </p>' - assert_template_result(expected, text) - - text = '<p> {% if false -%} no {%- endif %} </p>' - expected = '<p> </p>' - assert_template_result(expected, text) - end - - def test_single_line_post_tag - text = '<p> {% if true -%} yes {% endif -%} </p>' - expected = '<p> yes </p>' - assert_template_result(expected, text) - - text = '<p> {% if false -%} no {% endif -%} </p>' - expected = '<p> </p>' - assert_template_result(expected, text) - end - - def test_single_line_pre_tag - text = '<p> {%- if true %} yes {%- endif %} </p>' - expected = '<p> yes </p>' - assert_template_result(expected, text) - - text = '<p> {%- if false %} no {%- endif %} </p>' - expected = '<p> </p>' - assert_template_result(expected, text) - end - - def test_pre_trim_output - text = <<-END_TEMPLATE - <div> - <p> - {{- 'John' }} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>John - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_pre_trim_tags - text = <<-END_TEMPLATE - <div> - <p> - {%- if true %} - yes - {%- endif %} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - yes - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - text = <<-END_TEMPLATE - <div> - <p> - {%- if false %} - no - {%- endif %} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_post_trim_output - text = <<-END_TEMPLATE - <div> - <p> - {{ 'John' -}} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - John</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_post_trim_tags - text = <<-END_TEMPLATE - <div> - <p> - {% if true -%} - yes - {% endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - yes - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - text = <<-END_TEMPLATE - <div> - <p> - {% if false -%} - no - {% endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_pre_and_post_trim_tags - text = <<-END_TEMPLATE - <div> - <p> - {%- if true %} - yes - {% endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - yes - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - text = <<-END_TEMPLATE - <div> - <p> - {%- if false %} - no - {% endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p></p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_post_and_pre_trim_tags - text = <<-END_TEMPLATE - <div> - <p> - {% if true -%} - yes - {%- endif %} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> - yes - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - whitespace = ' ' - text = <<-END_TEMPLATE - <div> - <p> - {% if false -%} - no - {%- endif %} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p> -#{whitespace} - </p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_trim_output - text = <<-END_TEMPLATE - <div> - <p> - {{- 'John' -}} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>John</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_trim_tags - text = <<-END_TEMPLATE - <div> - <p> - {%- if true -%} - yes - {%- endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>yes</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - text = <<-END_TEMPLATE - <div> - <p> - {%- if false -%} - no - {%- endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p></p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_whitespace_trim_output - text = <<-END_TEMPLATE - <div> - <p> - {{- 'John' -}}, - {{- '30' -}} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>John,30</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_whitespace_trim_tags - text = <<-END_TEMPLATE - <div> - <p> - {%- if true -%} - yes - {%- endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>yes</p> - </div> - END_EXPECTED - assert_template_result(expected, text) - - text = <<-END_TEMPLATE - <div> - <p> - {%- if false -%} - no - {%- endif -%} - </p> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p></p> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_complex_trim_output - text = <<-END_TEMPLATE - <div> - <p> - {{- 'John' -}} - {{- '30' -}} - </p> - <b> - {{ 'John' -}} - {{- '30' }} - </b> - <i> - {{- 'John' }} - {{ '30' -}} - </i> - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> - <p>John30</p> - <b> - John30 - </b> - <i>John - 30</i> - </div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_complex_trim - text = <<-END_TEMPLATE - <div> - {%- if true -%} - {%- if true -%} - <p> - {{- 'John' -}} - </p> - {%- endif -%} - {%- endif -%} - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div><p>John</p></div> - END_EXPECTED - assert_template_result(expected, text) - end - - def test_right_trim_followed_by_tag - assert_template_result('ab c', '{{ "a" -}}{{ "b" }} c') - end - - def test_raw_output - whitespace = ' ' - text = <<-END_TEMPLATE - <div> - {% raw %} - {%- if true -%} - <p> - {{- 'John' -}} - </p> - {%- endif -%} - {% endraw %} - </div> - END_TEMPLATE - expected = <<-END_EXPECTED - <div> -#{whitespace} - {%- if true -%} - <p> - {{- 'John' -}} - </p> - {%- endif -%} -#{whitespace} - </div> - END_EXPECTED - assert_template_result(expected, text) - end -end # TrimModeTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/variable_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/variable_test.rb deleted file mode 100644 index abd6e70..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/integration/variable_test.rb +++ /dev/null @@ -1,96 +0,0 @@ -require 'test_helper' - -class VariableTest < Minitest::Test - include Liquid - - def test_simple_variable - template = Template.parse(%({{test}})) - assert_equal 'worked', template.render!('test' => 'worked') - assert_equal 'worked wonderfully', template.render!('test' => 'worked wonderfully') - end - - def test_variable_render_calls_to_liquid - assert_template_result 'foobar', '{{ foo }}', 'foo' => ThingWithToLiquid.new - end - - def test_simple_with_whitespaces - template = Template.parse(%( {{ test }} )) - assert_equal ' worked ', template.render!('test' => 'worked') - assert_equal ' worked wonderfully ', template.render!('test' => 'worked wonderfully') - end - - def test_ignore_unknown - template = Template.parse(%({{ test }})) - assert_equal '', template.render! - end - - def test_using_blank_as_variable_name - template = Template.parse("{% assign foo = blank %}{{ foo }}") - assert_equal '', template.render! - end - - def test_using_empty_as_variable_name - template = Template.parse("{% assign foo = empty %}{{ foo }}") - assert_equal '', template.render! - end - - def test_hash_scoping - template = Template.parse(%({{ test.test }})) - assert_equal 'worked', template.render!('test' => { 'test' => 'worked' }) - end - - def test_false_renders_as_false - assert_equal 'false', Template.parse("{{ foo }}").render!('foo' => false) - assert_equal 'false', Template.parse("{{ false }}").render! - end - - def test_nil_renders_as_empty_string - assert_equal '', Template.parse("{{ nil }}").render! - assert_equal 'cat', Template.parse("{{ nil | append: 'cat' }}").render! - end - - def test_preset_assigns - template = Template.parse(%({{ test }})) - template.assigns['test'] = 'worked' - assert_equal 'worked', template.render! - end - - def test_reuse_parsed_template - template = Template.parse(%({{ greeting }} {{ name }})) - template.assigns['greeting'] = 'Goodbye' - assert_equal 'Hello Tobi', template.render!('greeting' => 'Hello', 'name' => 'Tobi') - assert_equal 'Hello ', template.render!('greeting' => 'Hello', 'unknown' => 'Tobi') - assert_equal 'Hello Brian', template.render!('greeting' => 'Hello', 'name' => 'Brian') - assert_equal 'Goodbye Brian', template.render!('name' => 'Brian') - assert_equal({ 'greeting' => 'Goodbye' }, template.assigns) - end - - def test_assigns_not_polluted_from_template - template = Template.parse(%({{ test }}{% assign test = 'bar' %}{{ test }})) - template.assigns['test'] = 'baz' - assert_equal 'bazbar', template.render! - assert_equal 'bazbar', template.render! - assert_equal 'foobar', template.render!('test' => 'foo') - assert_equal 'bazbar', template.render! - end - - def test_hash_with_default_proc - template = Template.parse(%(Hello {{ test }})) - assigns = Hash.new { |h, k| raise "Unknown variable '#{k}'" } - assigns['test'] = 'Tobi' - assert_equal 'Hello Tobi', template.render!(assigns) - assigns.delete('test') - e = assert_raises(RuntimeError) do - template.render!(assigns) - end - assert_equal "Unknown variable 'test'", e.message - end - - def test_multiline_variable - assert_equal 'worked', Template.parse("{{\ntest\n}}").render!('test' => 'worked') - end - - def test_render_symbol - assert_template_result 'bar', '{{ foo }}', 'foo' => :bar - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/test_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/test_helper.rb deleted file mode 100755 index 3cee676..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/test_helper.rb +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env ruby - -ENV["MT_NO_EXPECTATIONS"] = "1" -require 'minitest/autorun' - -$LOAD_PATH.unshift(File.join(File.expand_path(__dir__), '..', 'lib')) -require 'liquid.rb' -require 'liquid/profiler' - -mode = :strict -if env_mode = ENV['LIQUID_PARSER_MODE'] - puts "-- #{env_mode.upcase} ERROR MODE" - mode = env_mode.to_sym -end -Liquid::Template.error_mode = mode - -if ENV['LIQUID-C'] == '1' - puts "-- LIQUID C" - require 'liquid/c' -end - -if Minitest.const_defined?('Test') - # We're on Minitest 5+. Nothing to do here. -else - # Minitest 4 doesn't have Minitest::Test yet. - Minitest::Test = MiniTest::Unit::TestCase -end - -module Minitest - class Test - def fixture(name) - File.join(File.expand_path(__dir__), "fixtures", name) - end - end - - module Assertions - include Liquid - - def assert_template_result(expected, template, assigns = {}, message = nil) - assert_equal expected, Template.parse(template).render!(assigns), message - end - - def assert_template_result_matches(expected, template, assigns = {}, message = nil) - return assert_template_result(expected, template, assigns, message) unless expected.is_a? Regexp - - assert_match expected, Template.parse(template).render!(assigns), message - end - - def assert_match_syntax_error(match, template, assigns = {}) - exception = assert_raises(Liquid::SyntaxError) do - Template.parse(template).render(assigns) - end - assert_match match, exception.message - end - - def with_global_filter(*globals) - original_global_strainer = Liquid::Strainer.class_variable_get(:@@global_strainer) - Liquid::Strainer.class_variable_set(:@@global_strainer, Class.new(Liquid::Strainer) do - @filter_methods = Set.new - end) - Liquid::Strainer.class_variable_get(:@@strainer_class_cache).clear - - globals.each do |global| - Liquid::Template.register_filter(global) - end - yield - ensure - Liquid::Strainer.class_variable_get(:@@strainer_class_cache).clear - Liquid::Strainer.class_variable_set(:@@global_strainer, original_global_strainer) - end - - def with_error_mode(mode) - old_mode = Liquid::Template.error_mode - Liquid::Template.error_mode = mode - yield - ensure - Liquid::Template.error_mode = old_mode - end - end -end - -class ThingWithToLiquid - def to_liquid - 'foobar' - end -end - -class ErrorDrop < Liquid::Drop - def standard_error - raise Liquid::StandardError, 'standard error' - end - - def argument_error - raise Liquid::ArgumentError, 'argument error' - end - - def syntax_error - raise Liquid::SyntaxError, 'syntax error' - end - - def runtime_error - raise 'runtime error' - end - - def exception - raise Exception, 'exception' - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/block_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/block_unit_test.rb deleted file mode 100644 index 6a27a7d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/block_unit_test.rb +++ /dev/null @@ -1,58 +0,0 @@ -require 'test_helper' - -class BlockUnitTest < Minitest::Test - include Liquid - - def test_blankspace - template = Liquid::Template.parse(" ") - assert_equal [" "], template.root.nodelist - end - - def test_variable_beginning - template = Liquid::Template.parse("{{funk}} ") - assert_equal 2, template.root.nodelist.size - assert_equal Variable, template.root.nodelist[0].class - assert_equal String, template.root.nodelist[1].class - end - - def test_variable_end - template = Liquid::Template.parse(" {{funk}}") - assert_equal 2, template.root.nodelist.size - assert_equal String, template.root.nodelist[0].class - assert_equal Variable, template.root.nodelist[1].class - end - - def test_variable_middle - template = Liquid::Template.parse(" {{funk}} ") - assert_equal 3, template.root.nodelist.size - assert_equal String, template.root.nodelist[0].class - assert_equal Variable, template.root.nodelist[1].class - assert_equal String, template.root.nodelist[2].class - end - - def test_variable_many_embedded_fragments - template = Liquid::Template.parse(" {{funk}} {{so}} {{brother}} ") - assert_equal 7, template.root.nodelist.size - assert_equal [String, Variable, String, Variable, String, Variable, String], - block_types(template.root.nodelist) - end - - def test_with_block - template = Liquid::Template.parse(" {% comment %} {% endcomment %} ") - assert_equal [String, Comment, String], block_types(template.root.nodelist) - assert_equal 3, template.root.nodelist.size - end - - def test_with_custom_tag - Liquid::Template.register_tag("testtag", Block) - assert Liquid::Template.parse("{% testtag %} {% endtesttag %}") - ensure - Liquid::Template.tags.delete('testtag') - end - - private - - def block_types(nodelist) - nodelist.collect(&:class) - end -end # VariableTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/condition_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/condition_unit_test.rb deleted file mode 100644 index b3b90e8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/condition_unit_test.rb +++ /dev/null @@ -1,166 +0,0 @@ -require 'test_helper' - -class ConditionUnitTest < Minitest::Test - include Liquid - - def setup - @context = Liquid::Context.new - end - - def test_basic_condition - assert_equal false, Condition.new(1, '==', 2).evaluate - assert_equal true, Condition.new(1, '==', 1).evaluate - end - - def test_default_operators_evalute_true - assert_evaluates_true 1, '==', 1 - assert_evaluates_true 1, '!=', 2 - assert_evaluates_true 1, '<>', 2 - assert_evaluates_true 1, '<', 2 - assert_evaluates_true 2, '>', 1 - assert_evaluates_true 1, '>=', 1 - assert_evaluates_true 2, '>=', 1 - assert_evaluates_true 1, '<=', 2 - assert_evaluates_true 1, '<=', 1 - # negative numbers - assert_evaluates_true 1, '>', -1 - assert_evaluates_true -1, '<', 1 - assert_evaluates_true 1.0, '>', -1.0 - assert_evaluates_true -1.0, '<', 1.0 - end - - def test_default_operators_evalute_false - assert_evaluates_false 1, '==', 2 - assert_evaluates_false 1, '!=', 1 - assert_evaluates_false 1, '<>', 1 - assert_evaluates_false 1, '<', 0 - assert_evaluates_false 2, '>', 4 - assert_evaluates_false 1, '>=', 3 - assert_evaluates_false 2, '>=', 4 - assert_evaluates_false 1, '<=', 0 - assert_evaluates_false 1, '<=', 0 - end - - def test_contains_works_on_strings - assert_evaluates_true 'bob', 'contains', 'o' - assert_evaluates_true 'bob', 'contains', 'b' - assert_evaluates_true 'bob', 'contains', 'bo' - assert_evaluates_true 'bob', 'contains', 'ob' - assert_evaluates_true 'bob', 'contains', 'bob' - - assert_evaluates_false 'bob', 'contains', 'bob2' - assert_evaluates_false 'bob', 'contains', 'a' - assert_evaluates_false 'bob', 'contains', '---' - end - - def test_invalid_comparation_operator - assert_evaluates_argument_error 1, '~~', 0 - end - - def test_comparation_of_int_and_str - assert_evaluates_argument_error '1', '>', 0 - assert_evaluates_argument_error '1', '<', 0 - assert_evaluates_argument_error '1', '>=', 0 - assert_evaluates_argument_error '1', '<=', 0 - end - - def test_hash_compare_backwards_compatibility - assert_nil Condition.new({}, '>', 2).evaluate - assert_nil Condition.new(2, '>', {}).evaluate - assert_equal false, Condition.new({}, '==', 2).evaluate - assert_equal true, Condition.new({ 'a' => 1 }, '==', { 'a' => 1 }).evaluate - assert_equal true, Condition.new({ 'a' => 2 }, 'contains', 'a').evaluate - end - - def test_contains_works_on_arrays - @context = Liquid::Context.new - @context['array'] = [1, 2, 3, 4, 5] - array_expr = VariableLookup.new("array") - - assert_evaluates_false array_expr, 'contains', 0 - assert_evaluates_true array_expr, 'contains', 1 - assert_evaluates_true array_expr, 'contains', 2 - assert_evaluates_true array_expr, 'contains', 3 - assert_evaluates_true array_expr, 'contains', 4 - assert_evaluates_true array_expr, 'contains', 5 - assert_evaluates_false array_expr, 'contains', 6 - assert_evaluates_false array_expr, 'contains', "1" - end - - def test_contains_returns_false_for_nil_operands - @context = Liquid::Context.new - assert_evaluates_false VariableLookup.new('not_assigned'), 'contains', '0' - assert_evaluates_false 0, 'contains', VariableLookup.new('not_assigned') - end - - def test_contains_return_false_on_wrong_data_type - assert_evaluates_false 1, 'contains', 0 - end - - def test_contains_with_string_left_operand_coerces_right_operand_to_string - assert_evaluates_true ' 1 ', 'contains', 1 - assert_evaluates_false ' 1 ', 'contains', 2 - end - - def test_or_condition - condition = Condition.new(1, '==', 2) - - assert_equal false, condition.evaluate - - condition.or Condition.new(2, '==', 1) - - assert_equal false, condition.evaluate - - condition.or Condition.new(1, '==', 1) - - assert_equal true, condition.evaluate - end - - def test_and_condition - condition = Condition.new(1, '==', 1) - - assert_equal true, condition.evaluate - - condition.and Condition.new(2, '==', 2) - - assert_equal true, condition.evaluate - - condition.and Condition.new(2, '==', 1) - - assert_equal false, condition.evaluate - end - - def test_should_allow_custom_proc_operator - Condition.operators['starts_with'] = proc { |cond, left, right| left =~ %r{^#{right}} } - - assert_evaluates_true 'bob', 'starts_with', 'b' - assert_evaluates_false 'bob', 'starts_with', 'o' - ensure - Condition.operators.delete 'starts_with' - end - - def test_left_or_right_may_contain_operators - @context = Liquid::Context.new - @context['one'] = @context['another'] = "gnomeslab-and-or-liquid" - - assert_evaluates_true VariableLookup.new("one"), '==', VariableLookup.new("another") - end - - private - - def assert_evaluates_true(left, op, right) - assert Condition.new(left, op, right).evaluate(@context), - "Evaluated false: #{left} #{op} #{right}" - end - - def assert_evaluates_false(left, op, right) - assert !Condition.new(left, op, right).evaluate(@context), - "Evaluated true: #{left} #{op} #{right}" - end - - def assert_evaluates_argument_error(left, op, right) - assert_raises(Liquid::ArgumentError) do - Condition.new(left, op, right).evaluate(@context) - end - end -end # ConditionTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/context_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/context_unit_test.rb deleted file mode 100644 index d9bfedb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/context_unit_test.rb +++ /dev/null @@ -1,490 +0,0 @@ -require 'test_helper' - -class HundredCentes - def to_liquid - 100 - end -end - -class CentsDrop < Liquid::Drop - def amount - HundredCentes.new - end - - def non_zero? - true - end -end - -class ContextSensitiveDrop < Liquid::Drop - def test - @context['test'] - end -end - -class Category < Liquid::Drop - attr_accessor :name - - def initialize(name) - @name = name - end - - def to_liquid - CategoryDrop.new(self) - end -end - -class CategoryDrop - attr_accessor :category, :context - def initialize(category) - @category = category - end -end - -class CounterDrop < Liquid::Drop - def count - @count ||= 0 - @count += 1 - end -end - -class ArrayLike - def fetch(index) - end - - def [](index) - @counts ||= [] - @counts[index] ||= 0 - @counts[index] += 1 - end - - def to_liquid - self - end -end - -class ContextUnitTest < Minitest::Test - include Liquid - - def setup - @context = Liquid::Context.new - end - - def test_variables - @context['string'] = 'string' - assert_equal 'string', @context['string'] - - @context['num'] = 5 - assert_equal 5, @context['num'] - - @context['time'] = Time.parse('2006-06-06 12:00:00') - assert_equal Time.parse('2006-06-06 12:00:00'), @context['time'] - - @context['date'] = Date.today - assert_equal Date.today, @context['date'] - - now = DateTime.now - @context['datetime'] = now - assert_equal now, @context['datetime'] - - @context['bool'] = true - assert_equal true, @context['bool'] - - @context['bool'] = false - assert_equal false, @context['bool'] - - @context['nil'] = nil - assert_nil @context['nil'] - assert_nil @context['nil'] - end - - def test_variables_not_existing - assert_nil @context['does_not_exist'] - end - - def test_scoping - @context.push - @context.pop - - assert_raises(Liquid::ContextError) do - @context.pop - end - - assert_raises(Liquid::ContextError) do - @context.push - @context.pop - @context.pop - end - end - - def test_length_query - @context['numbers'] = [1, 2, 3, 4] - - assert_equal 4, @context['numbers.size'] - - @context['numbers'] = { 1 => 1, 2 => 2, 3 => 3, 4 => 4 } - - assert_equal 4, @context['numbers.size'] - - @context['numbers'] = { 1 => 1, 2 => 2, 3 => 3, 4 => 4, 'size' => 1000 } - - assert_equal 1000, @context['numbers.size'] - end - - def test_hyphenated_variable - @context['oh-my'] = 'godz' - assert_equal 'godz', @context['oh-my'] - end - - def test_add_filter - filter = Module.new do - def hi(output) - output + ' hi!' - end - end - - context = Context.new - context.add_filters(filter) - assert_equal 'hi? hi!', context.invoke(:hi, 'hi?') - - context = Context.new - assert_equal 'hi?', context.invoke(:hi, 'hi?') - - context.add_filters(filter) - assert_equal 'hi? hi!', context.invoke(:hi, 'hi?') - end - - def test_only_intended_filters_make_it_there - filter = Module.new do - def hi(output) - output + ' hi!' - end - end - - context = Context.new - assert_equal "Wookie", context.invoke("hi", "Wookie") - - context.add_filters(filter) - assert_equal "Wookie hi!", context.invoke("hi", "Wookie") - end - - def test_add_item_in_outer_scope - @context['test'] = 'test' - @context.push - assert_equal 'test', @context['test'] - @context.pop - assert_equal 'test', @context['test'] - end - - def test_add_item_in_inner_scope - @context.push - @context['test'] = 'test' - assert_equal 'test', @context['test'] - @context.pop - assert_nil @context['test'] - end - - def test_hierachical_data - @context['hash'] = { "name" => 'tobi' } - assert_equal 'tobi', @context['hash.name'] - assert_equal 'tobi', @context['hash["name"]'] - end - - def test_keywords - assert_equal true, @context['true'] - assert_equal false, @context['false'] - end - - def test_digits - assert_equal 100, @context['100'] - assert_equal 100.00, @context['100.00'] - end - - def test_strings - assert_equal "hello!", @context['"hello!"'] - assert_equal "hello!", @context["'hello!'"] - end - - def test_merge - @context.merge({ "test" => "test" }) - assert_equal 'test', @context['test'] - @context.merge({ "test" => "newvalue", "foo" => "bar" }) - assert_equal 'newvalue', @context['test'] - assert_equal 'bar', @context['foo'] - end - - def test_array_notation - @context['test'] = [1, 2, 3, 4, 5] - - assert_equal 1, @context['test[0]'] - assert_equal 2, @context['test[1]'] - assert_equal 3, @context['test[2]'] - assert_equal 4, @context['test[3]'] - assert_equal 5, @context['test[4]'] - end - - def test_recoursive_array_notation - @context['test'] = { 'test' => [1, 2, 3, 4, 5] } - - assert_equal 1, @context['test.test[0]'] - - @context['test'] = [{ 'test' => 'worked' }] - - assert_equal 'worked', @context['test[0].test'] - end - - def test_hash_to_array_transition - @context['colors'] = { - 'Blue' => ['003366', '336699', '6699CC', '99CCFF'], - 'Green' => ['003300', '336633', '669966', '99CC99'], - 'Yellow' => ['CC9900', 'FFCC00', 'FFFF99', 'FFFFCC'], - 'Red' => ['660000', '993333', 'CC6666', 'FF9999'] - } - - assert_equal '003366', @context['colors.Blue[0]'] - assert_equal 'FF9999', @context['colors.Red[3]'] - end - - def test_try_first - @context['test'] = [1, 2, 3, 4, 5] - - assert_equal 1, @context['test.first'] - assert_equal 5, @context['test.last'] - - @context['test'] = { 'test' => [1, 2, 3, 4, 5] } - - assert_equal 1, @context['test.test.first'] - assert_equal 5, @context['test.test.last'] - - @context['test'] = [1] - assert_equal 1, @context['test.first'] - assert_equal 1, @context['test.last'] - end - - def test_access_hashes_with_hash_notation - @context['products'] = { 'count' => 5, 'tags' => ['deepsnow', 'freestyle'] } - @context['product'] = { 'variants' => [ { 'title' => 'draft151cm' }, { 'title' => 'element151cm' } ] } - - assert_equal 5, @context['products["count"]'] - assert_equal 'deepsnow', @context['products["tags"][0]'] - assert_equal 'deepsnow', @context['products["tags"].first'] - assert_equal 'draft151cm', @context['product["variants"][0]["title"]'] - assert_equal 'element151cm', @context['product["variants"][1]["title"]'] - assert_equal 'draft151cm', @context['product["variants"][0]["title"]'] - assert_equal 'element151cm', @context['product["variants"].last["title"]'] - end - - def test_access_variable_with_hash_notation - @context['foo'] = 'baz' - @context['bar'] = 'foo' - - assert_equal 'baz', @context['["foo"]'] - assert_equal 'baz', @context['[bar]'] - end - - def test_access_hashes_with_hash_access_variables - @context['var'] = 'tags' - @context['nested'] = { 'var' => 'tags' } - @context['products'] = { 'count' => 5, 'tags' => ['deepsnow', 'freestyle'] } - - assert_equal 'deepsnow', @context['products[var].first'] - assert_equal 'freestyle', @context['products[nested.var].last'] - end - - def test_hash_notation_only_for_hash_access - @context['array'] = [1, 2, 3, 4, 5] - @context['hash'] = { 'first' => 'Hello' } - - assert_equal 1, @context['array.first'] - assert_nil @context['array["first"]'] - assert_equal 'Hello', @context['hash["first"]'] - end - - def test_first_can_appear_in_middle_of_callchain - @context['product'] = { 'variants' => [ { 'title' => 'draft151cm' }, { 'title' => 'element151cm' } ] } - - assert_equal 'draft151cm', @context['product.variants[0].title'] - assert_equal 'element151cm', @context['product.variants[1].title'] - assert_equal 'draft151cm', @context['product.variants.first.title'] - assert_equal 'element151cm', @context['product.variants.last.title'] - end - - def test_cents - @context.merge("cents" => HundredCentes.new) - assert_equal 100, @context['cents'] - end - - def test_nested_cents - @context.merge("cents" => { 'amount' => HundredCentes.new }) - assert_equal 100, @context['cents.amount'] - - @context.merge("cents" => { 'cents' => { 'amount' => HundredCentes.new } }) - assert_equal 100, @context['cents.cents.amount'] - end - - def test_cents_through_drop - @context.merge("cents" => CentsDrop.new) - assert_equal 100, @context['cents.amount'] - end - - def test_nested_cents_through_drop - @context.merge("vars" => { "cents" => CentsDrop.new }) - assert_equal 100, @context['vars.cents.amount'] - end - - def test_drop_methods_with_question_marks - @context.merge("cents" => CentsDrop.new) - assert @context['cents.non_zero?'] - end - - def test_context_from_within_drop - @context.merge("test" => '123', "vars" => ContextSensitiveDrop.new) - assert_equal '123', @context['vars.test'] - end - - def test_nested_context_from_within_drop - @context.merge("test" => '123', "vars" => { "local" => ContextSensitiveDrop.new }) - assert_equal '123', @context['vars.local.test'] - end - - def test_ranges - @context.merge("test" => '5') - assert_equal (1..5), @context['(1..5)'] - assert_equal (1..5), @context['(1..test)'] - assert_equal (5..5), @context['(test..test)'] - end - - def test_cents_through_drop_nestedly - @context.merge("cents" => { "cents" => CentsDrop.new }) - assert_equal 100, @context['cents.cents.amount'] - - @context.merge("cents" => { "cents" => { "cents" => CentsDrop.new } }) - assert_equal 100, @context['cents.cents.cents.amount'] - end - - def test_drop_with_variable_called_only_once - @context['counter'] = CounterDrop.new - - assert_equal 1, @context['counter.count'] - assert_equal 2, @context['counter.count'] - assert_equal 3, @context['counter.count'] - end - - def test_drop_with_key_called_only_once - @context['counter'] = CounterDrop.new - - assert_equal 1, @context['counter["count"]'] - assert_equal 2, @context['counter["count"]'] - assert_equal 3, @context['counter["count"]'] - end - - def test_proc_as_variable - @context['dynamic'] = proc { 'Hello' } - - assert_equal 'Hello', @context['dynamic'] - end - - def test_lambda_as_variable - @context['dynamic'] = proc { 'Hello' } - - assert_equal 'Hello', @context['dynamic'] - end - - def test_nested_lambda_as_variable - @context['dynamic'] = { "lambda" => proc { 'Hello' } } - - assert_equal 'Hello', @context['dynamic.lambda'] - end - - def test_array_containing_lambda_as_variable - @context['dynamic'] = [1, 2, proc { 'Hello' }, 4, 5] - - assert_equal 'Hello', @context['dynamic[2]'] - end - - def test_lambda_is_called_once - @context['callcount'] = proc { @global ||= 0; @global += 1; @global.to_s } - - assert_equal '1', @context['callcount'] - assert_equal '1', @context['callcount'] - assert_equal '1', @context['callcount'] - - @global = nil - end - - def test_nested_lambda_is_called_once - @context['callcount'] = { "lambda" => proc { @global ||= 0; @global += 1; @global.to_s } } - - assert_equal '1', @context['callcount.lambda'] - assert_equal '1', @context['callcount.lambda'] - assert_equal '1', @context['callcount.lambda'] - - @global = nil - end - - def test_lambda_in_array_is_called_once - @context['callcount'] = [1, 2, proc { @global ||= 0; @global += 1; @global.to_s }, 4, 5] - - assert_equal '1', @context['callcount[2]'] - assert_equal '1', @context['callcount[2]'] - assert_equal '1', @context['callcount[2]'] - - @global = nil - end - - def test_access_to_context_from_proc - @context.registers[:magic] = 345392 - - @context['magic'] = proc { @context.registers[:magic] } - - assert_equal 345392, @context['magic'] - end - - def test_to_liquid_and_context_at_first_level - @context['category'] = Category.new("foobar") - assert_kind_of CategoryDrop, @context['category'] - assert_equal @context, @context['category'].context - end - - def test_interrupt_avoids_object_allocations - @context.interrupt? # ruby 3.0.0 allocates on the first call - assert_no_object_allocations do - @context.interrupt? - end - end - - def test_context_initialization_with_a_proc_in_environment - contx = Context.new([test: ->(c) { c['poutine'] }], { test: :foo }) - - assert contx - assert_nil contx['poutine'] - end - - def test_apply_global_filter - global_filter_proc = ->(output) { "#{output} filtered" } - - context = Context.new - context.global_filter = global_filter_proc - - assert_equal 'hi filtered', context.apply_global_filter('hi') - end - - def test_apply_global_filter_when_no_global_filter_exist - context = Context.new - assert_equal 'hi', context.apply_global_filter('hi') - end - - private - - def assert_no_object_allocations - unless RUBY_ENGINE == 'ruby' - skip "stackprof needed to count object allocations" - end - require 'stackprof' - - profile = StackProf.run(mode: :object) do - yield - end - assert_equal 0, profile[:samples] - end -end # ContextTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/file_system_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/file_system_unit_test.rb deleted file mode 100644 index 2c7250b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/file_system_unit_test.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'test_helper' - -class FileSystemUnitTest < Minitest::Test - include Liquid - - def test_default - assert_raises(FileSystemError) do - BlankFileSystem.new.read_template_file("dummy") - end - end - - def test_local - file_system = Liquid::LocalFileSystem.new("/some/path") - assert_equal "/some/path/_mypartial.liquid", file_system.full_path("mypartial") - assert_equal "/some/path/dir/_mypartial.liquid", file_system.full_path("dir/mypartial") - - assert_raises(FileSystemError) do - file_system.full_path("../dir/mypartial") - end - - assert_raises(FileSystemError) do - file_system.full_path("/dir/../../dir/mypartial") - end - - assert_raises(FileSystemError) do - file_system.full_path("/etc/passwd") - end - end - - def test_custom_template_filename_patterns - file_system = Liquid::LocalFileSystem.new("/some/path", "%s.html") - assert_equal "/some/path/mypartial.html", file_system.full_path("mypartial") - assert_equal "/some/path/dir/mypartial.html", file_system.full_path("dir/mypartial") - end -end # FileSystemTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/i18n_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/i18n_unit_test.rb deleted file mode 100644 index b57500e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/i18n_unit_test.rb +++ /dev/null @@ -1,37 +0,0 @@ -require 'test_helper' - -class I18nUnitTest < Minitest::Test - include Liquid - - def setup - @i18n = I18n.new(fixture("en_locale.yml")) - end - - def test_simple_translate_string - assert_equal "less is more", @i18n.translate("simple") - end - - def test_nested_translate_string - assert_equal "something wasn't right", @i18n.translate("errors.syntax.oops") - end - - def test_single_string_interpolation - assert_equal "something different", @i18n.translate("whatever", something: "different") - end - - # def test_raises_translation_error_on_undefined_interpolation_key - # assert_raises I18n::TranslationError do - # @i18n.translate("whatever", :oopstypos => "yes") - # end - # end - - def test_raises_unknown_translation - assert_raises I18n::TranslationError do - @i18n.translate("doesnt_exist") - end - end - - def test_sets_default_path_to_en - assert_equal I18n::DEFAULT_LOCALE, I18n.new.path - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/lexer_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/lexer_unit_test.rb deleted file mode 100644 index 5adcf2b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/lexer_unit_test.rb +++ /dev/null @@ -1,51 +0,0 @@ -require 'test_helper' - -class LexerUnitTest < Minitest::Test - include Liquid - - def test_strings - tokens = Lexer.new(%( 'this is a test""' "wat 'lol'")).tokenize - assert_equal [[:string, %('this is a test""')], [:string, %("wat 'lol'")], [:end_of_string]], tokens - end - - def test_integer - tokens = Lexer.new('hi 50').tokenize - assert_equal [[:id, 'hi'], [:number, '50'], [:end_of_string]], tokens - end - - def test_float - tokens = Lexer.new('hi 5.0').tokenize - assert_equal [[:id, 'hi'], [:number, '5.0'], [:end_of_string]], tokens - end - - def test_comparison - tokens = Lexer.new('== <> contains ').tokenize - assert_equal [[:comparison, '=='], [:comparison, '<>'], [:comparison, 'contains'], [:end_of_string]], tokens - end - - def test_specials - tokens = Lexer.new('| .:').tokenize - assert_equal [[:pipe, '|'], [:dot, '.'], [:colon, ':'], [:end_of_string]], tokens - tokens = Lexer.new('[,]').tokenize - assert_equal [[:open_square, '['], [:comma, ','], [:close_square, ']'], [:end_of_string]], tokens - end - - def test_fancy_identifiers - tokens = Lexer.new('hi five?').tokenize - assert_equal [[:id, 'hi'], [:id, 'five?'], [:end_of_string]], tokens - - tokens = Lexer.new('2foo').tokenize - assert_equal [[:number, '2'], [:id, 'foo'], [:end_of_string]], tokens - end - - def test_whitespace - tokens = Lexer.new("five|\n\t ==").tokenize - assert_equal [[:id, 'five'], [:pipe, '|'], [:comparison, '=='], [:end_of_string]], tokens - end - - def test_unexpected_character - assert_raises(SyntaxError) do - Lexer.new("%").tokenize - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/parser_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/parser_unit_test.rb deleted file mode 100644 index 9f23337..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/parser_unit_test.rb +++ /dev/null @@ -1,82 +0,0 @@ -require 'test_helper' - -class ParserUnitTest < Minitest::Test - include Liquid - - def test_consume - p = Parser.new("wat: 7") - assert_equal 'wat', p.consume(:id) - assert_equal ':', p.consume(:colon) - assert_equal '7', p.consume(:number) - end - - def test_jump - p = Parser.new("wat: 7") - p.jump(2) - assert_equal '7', p.consume(:number) - end - - def test_consume? - p = Parser.new("wat: 7") - assert_equal 'wat', p.consume?(:id) - assert_equal false, p.consume?(:dot) - assert_equal ':', p.consume(:colon) - assert_equal '7', p.consume?(:number) - end - - def test_id? - p = Parser.new("wat 6 Peter Hegemon") - assert_equal 'wat', p.id?('wat') - assert_equal false, p.id?('endgame') - assert_equal '6', p.consume(:number) - assert_equal 'Peter', p.id?('Peter') - assert_equal false, p.id?('Achilles') - end - - def test_look - p = Parser.new("wat 6 Peter Hegemon") - assert_equal true, p.look(:id) - assert_equal 'wat', p.consume(:id) - assert_equal false, p.look(:comparison) - assert_equal true, p.look(:number) - assert_equal true, p.look(:id, 1) - assert_equal false, p.look(:number, 1) - end - - def test_expressions - p = Parser.new("hi.there hi?[5].there? hi.there.bob") - assert_equal 'hi.there', p.expression - assert_equal 'hi?[5].there?', p.expression - assert_equal 'hi.there.bob', p.expression - - p = Parser.new("567 6.0 'lol' \"wut\"") - assert_equal '567', p.expression - assert_equal '6.0', p.expression - assert_equal "'lol'", p.expression - assert_equal '"wut"', p.expression - end - - def test_ranges - p = Parser.new("(5..7) (1.5..9.6) (young..old) (hi[5].wat..old)") - assert_equal '(5..7)', p.expression - assert_equal '(1.5..9.6)', p.expression - assert_equal '(young..old)', p.expression - assert_equal '(hi[5].wat..old)', p.expression - end - - def test_arguments - p = Parser.new("filter: hi.there[5], keyarg: 7") - assert_equal 'filter', p.consume(:id) - assert_equal ':', p.consume(:colon) - assert_equal 'hi.there[5]', p.argument - assert_equal ',', p.consume(:comma) - assert_equal 'keyarg: 7', p.argument - end - - def test_invalid_expression - assert_raises(SyntaxError) do - p = Parser.new("==") - p.expression - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/regexp_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/regexp_unit_test.rb deleted file mode 100644 index 0821229..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/regexp_unit_test.rb +++ /dev/null @@ -1,44 +0,0 @@ -require 'test_helper' - -class RegexpUnitTest < Minitest::Test - include Liquid - - def test_empty - assert_equal [], ''.scan(QuotedFragment) - end - - def test_quote - assert_equal ['"arg 1"'], '"arg 1"'.scan(QuotedFragment) - end - - def test_words - assert_equal ['arg1', 'arg2'], 'arg1 arg2'.scan(QuotedFragment) - end - - def test_tags - assert_equal ['<tr>', '</tr>'], '<tr> </tr>'.scan(QuotedFragment) - assert_equal ['<tr></tr>'], '<tr></tr>'.scan(QuotedFragment) - assert_equal ['<style', 'class="hello">', '</style>'], %(<style class="hello">' </style>).scan(QuotedFragment) - end - - def test_double_quoted_words - assert_equal ['arg1', 'arg2', '"arg 3"'], 'arg1 arg2 "arg 3"'.scan(QuotedFragment) - end - - def test_single_quoted_words - assert_equal ['arg1', 'arg2', "'arg 3'"], 'arg1 arg2 \'arg 3\''.scan(QuotedFragment) - end - - def test_quoted_words_in_the_middle - assert_equal ['arg1', 'arg2', '"arg 3"', 'arg4'], 'arg1 arg2 "arg 3" arg4 '.scan(QuotedFragment) - end - - def test_variable_parser - assert_equal ['var'], 'var'.scan(VariableParser) - assert_equal ['var', 'method'], 'var.method'.scan(VariableParser) - assert_equal ['var', '[method]'], 'var[method]'.scan(VariableParser) - assert_equal ['var', '[method]', '[0]'], 'var[method][0]'.scan(VariableParser) - assert_equal ['var', '["method"]', '[0]'], 'var["method"][0]'.scan(VariableParser) - assert_equal ['var', '[method]', '[0]', 'method'], 'var[method][0].method'.scan(VariableParser) - end -end # RegexpTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/strainer_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/strainer_unit_test.rb deleted file mode 100644 index 5ce2100..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/strainer_unit_test.rb +++ /dev/null @@ -1,164 +0,0 @@ -require 'test_helper' - -class StrainerUnitTest < Minitest::Test - include Liquid - - module AccessScopeFilters - def public_filter - "public" - end - - def private_filter - "private" - end - private :private_filter - end - - Strainer.global_filter(AccessScopeFilters) - - def test_strainer - strainer = Strainer.create(nil) - assert_equal 5, strainer.invoke('size', 'input') - assert_equal "public", strainer.invoke("public_filter") - end - - def test_stainer_raises_argument_error - strainer = Strainer.create(nil) - assert_raises(Liquid::ArgumentError) do - strainer.invoke("public_filter", 1) - end - end - - def test_stainer_argument_error_contains_backtrace - strainer = Strainer.create(nil) - begin - strainer.invoke("public_filter", 1) - rescue Liquid::ArgumentError => e - assert_match( - /\ALiquid error: wrong number of arguments \((1 for 0|given 1, expected 0)\)\z/, - e.message) - assert_equal e.backtrace[0].split(':')[0], __FILE__ - end - end - - def test_strainer_only_invokes_public_filter_methods - strainer = Strainer.create(nil) - assert_equal false, strainer.class.invokable?('__test__') - assert_equal false, strainer.class.invokable?('test') - assert_equal false, strainer.class.invokable?('instance_eval') - assert_equal false, strainer.class.invokable?('__send__') - assert_equal true, strainer.class.invokable?('size') # from the standard lib - end - - def test_strainer_returns_nil_if_no_filter_method_found - strainer = Strainer.create(nil) - assert_nil strainer.invoke("private_filter") - assert_nil strainer.invoke("undef_the_filter") - end - - def test_strainer_returns_first_argument_if_no_method_and_arguments_given - strainer = Strainer.create(nil) - assert_equal "password", strainer.invoke("undef_the_method", "password") - end - - def test_strainer_only_allows_methods_defined_in_filters - strainer = Strainer.create(nil) - assert_equal "1 + 1", strainer.invoke("instance_eval", "1 + 1") - assert_equal "puts", strainer.invoke("__send__", "puts", "Hi Mom") - assert_equal "has_method?", strainer.invoke("invoke", "has_method?", "invoke") - end - - def test_strainer_uses_a_class_cache_to_avoid_method_cache_invalidation - a = Module.new - b = Module.new - strainer = Strainer.create(nil, [a, b]) - assert_kind_of Strainer, strainer - assert_kind_of a, strainer - assert_kind_of b, strainer - assert_kind_of Liquid::StandardFilters, strainer - end - - def test_add_filter_when_wrong_filter_class - c = Context.new - s = c.strainer - wrong_filter = ->(v) { v.reverse } - - assert_raises ArgumentError do - s.class.add_filter(wrong_filter) - end - end - - module PrivateMethodOverrideFilter - private - - def public_filter - "overriden as private" - end - end - - def test_add_filter_raises_when_module_privately_overrides_registered_public_methods - strainer = Context.new.strainer - - error = assert_raises(Liquid::MethodOverrideError) do - strainer.class.add_filter(PrivateMethodOverrideFilter) - end - assert_equal 'Liquid error: Filter overrides registered public methods as non public: public_filter', error.message - end - - module ProtectedMethodOverrideFilter - protected - - def public_filter - "overriden as protected" - end - end - - def test_add_filter_raises_when_module_overrides_registered_public_method_as_protected - strainer = Context.new.strainer - - error = assert_raises(Liquid::MethodOverrideError) do - strainer.class.add_filter(ProtectedMethodOverrideFilter) - end - assert_equal 'Liquid error: Filter overrides registered public methods as non public: public_filter', error.message - end - - module PublicMethodOverrideFilter - def public_filter - "public" - end - end - - def test_add_filter_does_not_raise_when_module_overrides_previously_registered_method - strainer = Context.new.strainer - strainer.class.add_filter(PublicMethodOverrideFilter) - assert strainer.class.filter_methods.include?('public_filter') - end - - module LateAddedFilter - def late_added_filter(input) - "filtered" - end - end - - def test_global_filter_clears_cache - assert_equal 'input', Strainer.create(nil).invoke('late_added_filter', 'input') - Strainer.global_filter(LateAddedFilter) - assert_equal 'filtered', Strainer.create(nil).invoke('late_added_filter', 'input') - end - - def test_add_filter_does_not_include_already_included_module - mod = Module.new do - class << self - attr_accessor :include_count - def included(mod) - self.include_count += 1 - end - end - self.include_count = 0 - end - strainer = Context.new.strainer - strainer.class.add_filter(mod) - strainer.class.add_filter(mod) - assert_equal 1, mod.include_count - end -end # StrainerTest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tag_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tag_unit_test.rb deleted file mode 100644 index c4b901b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tag_unit_test.rb +++ /dev/null @@ -1,21 +0,0 @@ -require 'test_helper' - -class TagUnitTest < Minitest::Test - include Liquid - - def test_tag - tag = Tag.parse('tag', "", Tokenizer.new(""), ParseContext.new) - assert_equal 'liquid::tag', tag.name - assert_equal '', tag.render(Context.new) - end - - def test_return_raw_text_of_tag - tag = Tag.parse("long_tag", "param1, param2, param3", Tokenizer.new(""), ParseContext.new) - assert_equal("long_tag param1, param2, param3", tag.raw) - end - - def test_tag_name_should_return_name_of_the_tag - tag = Tag.parse("some_tag", "", Tokenizer.new(""), ParseContext.new) - assert_equal 'some_tag', tag.tag_name - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/case_tag_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/case_tag_unit_test.rb deleted file mode 100644 index 7110308..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/case_tag_unit_test.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'test_helper' - -class CaseTagUnitTest < Minitest::Test - include Liquid - - def test_case_nodelist - template = Liquid::Template.parse('{% case var %}{% when true %}WHEN{% else %}ELSE{% endcase %}') - assert_equal ['WHEN', 'ELSE'], template.root.nodelist[0].nodelist.map(&:nodelist).flatten - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/for_tag_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/for_tag_unit_test.rb deleted file mode 100644 index b8fc520..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/for_tag_unit_test.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'test_helper' - -class ForTagUnitTest < Minitest::Test - def test_for_nodelist - template = Liquid::Template.parse('{% for item in items %}FOR{% endfor %}') - assert_equal ['FOR'], template.root.nodelist[0].nodelist.map(&:nodelist).flatten - end - - def test_for_else_nodelist - template = Liquid::Template.parse('{% for item in items %}FOR{% else %}ELSE{% endfor %}') - assert_equal ['FOR', 'ELSE'], template.root.nodelist[0].nodelist.map(&:nodelist).flatten - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/if_tag_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/if_tag_unit_test.rb deleted file mode 100644 index 7ecfc40..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tags/if_tag_unit_test.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'test_helper' - -class IfTagUnitTest < Minitest::Test - def test_if_nodelist - template = Liquid::Template.parse('{% if true %}IF{% else %}ELSE{% endif %}') - assert_equal ['IF', 'ELSE'], template.root.nodelist[0].nodelist.map(&:nodelist).flatten - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/template_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/template_unit_test.rb deleted file mode 100644 index 6328be5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/template_unit_test.rb +++ /dev/null @@ -1,78 +0,0 @@ -require 'test_helper' - -class TemplateUnitTest < Minitest::Test - include Liquid - - def test_sets_default_localization_in_document - t = Template.new - t.parse('{%comment%}{%endcomment%}') - assert_instance_of I18n, t.root.nodelist[0].options[:locale] - end - - def test_sets_default_localization_in_context_with_quick_initialization - t = Template.new - t.parse('{%comment%}{%endcomment%}', locale: I18n.new(fixture("en_locale.yml"))) - - locale = t.root.nodelist[0].options[:locale] - assert_instance_of I18n, locale - assert_equal fixture("en_locale.yml"), locale.path - end - - def test_with_cache_classes_tags_returns_the_same_class - original_cache_setting = Liquid.cache_classes - Liquid.cache_classes = true - - original_klass = Class.new - Object.send(:const_set, :CustomTag, original_klass) - Template.register_tag('custom', CustomTag) - - Object.send(:remove_const, :CustomTag) - - new_klass = Class.new - Object.send(:const_set, :CustomTag, new_klass) - - assert Template.tags['custom'].equal?(original_klass) - ensure - Object.send(:remove_const, :CustomTag) - Template.tags.delete('custom') - Liquid.cache_classes = original_cache_setting - end - - def test_without_cache_classes_tags_reloads_the_class - original_cache_setting = Liquid.cache_classes - Liquid.cache_classes = false - - original_klass = Class.new - Object.send(:const_set, :CustomTag, original_klass) - Template.register_tag('custom', CustomTag) - - Object.send(:remove_const, :CustomTag) - - new_klass = Class.new - Object.send(:const_set, :CustomTag, new_klass) - - assert Template.tags['custom'].equal?(new_klass) - ensure - Object.send(:remove_const, :CustomTag) - Template.tags.delete('custom') - Liquid.cache_classes = original_cache_setting - end - - class FakeTag; end - - def test_tags_delete - Template.register_tag('fake', FakeTag) - assert_equal FakeTag, Template.tags['fake'] - - Template.tags.delete('fake') - assert_nil Template.tags['fake'] - end - - def test_tags_can_be_looped_over - Template.register_tag('fake', FakeTag) - result = Template.tags.map { |name, klass| [name, klass] } - assert result.include?(["fake", "TemplateUnitTest::FakeTag"]) - ensure - Template.tags.delete('fake') - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tokenizer_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tokenizer_unit_test.rb deleted file mode 100644 index de84c1f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/tokenizer_unit_test.rb +++ /dev/null @@ -1,55 +0,0 @@ -require 'test_helper' - -class TokenizerTest < Minitest::Test - def test_tokenize_strings - assert_equal [' '], tokenize(' ') - assert_equal ['hello world'], tokenize('hello world') - end - - def test_tokenize_variables - assert_equal ['{{funk}}'], tokenize('{{funk}}') - assert_equal [' ', '{{funk}}', ' '], tokenize(' {{funk}} ') - assert_equal [' ', '{{funk}}', ' ', '{{so}}', ' ', '{{brother}}', ' '], tokenize(' {{funk}} {{so}} {{brother}} ') - assert_equal [' ', '{{ funk }}', ' '], tokenize(' {{ funk }} ') - end - - def test_tokenize_blocks - assert_equal ['{%comment%}'], tokenize('{%comment%}') - assert_equal [' ', '{%comment%}', ' '], tokenize(' {%comment%} ') - - assert_equal [' ', '{%comment%}', ' ', '{%endcomment%}', ' '], tokenize(' {%comment%} {%endcomment%} ') - assert_equal [' ', '{% comment %}', ' ', '{% endcomment %}', ' '], tokenize(" {% comment %} {% endcomment %} ") - end - - def test_calculate_line_numbers_per_token_with_profiling - assert_equal [1], tokenize_line_numbers("{{funk}}") - assert_equal [1, 1, 1], tokenize_line_numbers(" {{funk}} ") - assert_equal [1, 2, 2], tokenize_line_numbers("\n{{funk}}\n") - assert_equal [1, 1, 3], tokenize_line_numbers(" {{\n funk \n}} ") - end - - private - - def tokenize(source) - tokenizer = Liquid::Tokenizer.new(source) - tokens = [] - while t = tokenizer.shift - tokens << t - end - tokens - end - - def tokenize_line_numbers(source) - tokenizer = Liquid::Tokenizer.new(source, true) - line_numbers = [] - loop do - line_number = tokenizer.line_number - if tokenizer.shift - line_numbers << line_number - else - break - end - end - line_numbers - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/variable_unit_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/variable_unit_test.rb deleted file mode 100644 index 5a21ace..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/liquid-4.0.4/test/unit/variable_unit_test.rb +++ /dev/null @@ -1,162 +0,0 @@ -require 'test_helper' - -class VariableUnitTest < Minitest::Test - include Liquid - - def test_variable - var = create_variable('hello') - assert_equal VariableLookup.new('hello'), var.name - end - - def test_filters - var = create_variable('hello | textileze') - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['textileze', []]], var.filters - - var = create_variable('hello | textileze | paragraph') - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['textileze', []], ['paragraph', []]], var.filters - - var = create_variable(%( hello | strftime: '%Y')) - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['strftime', ['%Y']]], var.filters - - var = create_variable(%( 'typo' | link_to: 'Typo', true )) - assert_equal 'typo', var.name - assert_equal [['link_to', ['Typo', true]]], var.filters - - var = create_variable(%( 'typo' | link_to: 'Typo', false )) - assert_equal 'typo', var.name - assert_equal [['link_to', ['Typo', false]]], var.filters - - var = create_variable(%( 'foo' | repeat: 3 )) - assert_equal 'foo', var.name - assert_equal [['repeat', [3]]], var.filters - - var = create_variable(%( 'foo' | repeat: 3, 3 )) - assert_equal 'foo', var.name - assert_equal [['repeat', [3, 3]]], var.filters - - var = create_variable(%( 'foo' | repeat: 3, 3, 3 )) - assert_equal 'foo', var.name - assert_equal [['repeat', [3, 3, 3]]], var.filters - - var = create_variable(%( hello | strftime: '%Y, okay?')) - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['strftime', ['%Y, okay?']]], var.filters - - var = create_variable(%( hello | things: "%Y, okay?", 'the other one')) - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['things', ['%Y, okay?', 'the other one']]], var.filters - end - - def test_filter_with_date_parameter - var = create_variable(%( '2006-06-06' | date: "%m/%d/%Y")) - assert_equal '2006-06-06', var.name - assert_equal [['date', ['%m/%d/%Y']]], var.filters - end - - def test_filters_without_whitespace - var = create_variable('hello | textileze | paragraph') - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['textileze', []], ['paragraph', []]], var.filters - - var = create_variable('hello|textileze|paragraph') - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['textileze', []], ['paragraph', []]], var.filters - - var = create_variable("hello|replace:'foo','bar'|textileze") - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['replace', ['foo', 'bar']], ['textileze', []]], var.filters - end - - def test_symbol - var = create_variable("http://disney.com/logo.gif | image: 'med' ", error_mode: :lax) - assert_equal VariableLookup.new('http://disney.com/logo.gif'), var.name - assert_equal [['image', ['med']]], var.filters - end - - def test_string_to_filter - var = create_variable("'http://disney.com/logo.gif' | image: 'med' ") - assert_equal 'http://disney.com/logo.gif', var.name - assert_equal [['image', ['med']]], var.filters - end - - def test_string_single_quoted - var = create_variable(%( "hello" )) - assert_equal 'hello', var.name - end - - def test_string_double_quoted - var = create_variable(%( 'hello' )) - assert_equal 'hello', var.name - end - - def test_integer - var = create_variable(%( 1000 )) - assert_equal 1000, var.name - end - - def test_float - var = create_variable(%( 1000.01 )) - assert_equal 1000.01, var.name - end - - def test_dashes - assert_equal VariableLookup.new('foo-bar'), create_variable('foo-bar').name - assert_equal VariableLookup.new('foo-bar-2'), create_variable('foo-bar-2').name - - with_error_mode :strict do - assert_raises(Liquid::SyntaxError) { create_variable('foo - bar') } - assert_raises(Liquid::SyntaxError) { create_variable('-foo') } - assert_raises(Liquid::SyntaxError) { create_variable('2foo') } - end - end - - def test_string_with_special_chars - var = create_variable(%( 'hello! $!@.;"ddasd" ' )) - assert_equal 'hello! $!@.;"ddasd" ', var.name - end - - def test_string_dot - var = create_variable(%( test.test )) - assert_equal VariableLookup.new('test.test'), var.name - end - - def test_filter_with_keyword_arguments - var = create_variable(%( hello | things: greeting: "world", farewell: 'goodbye')) - assert_equal VariableLookup.new('hello'), var.name - assert_equal [['things', [], { 'greeting' => 'world', 'farewell' => 'goodbye' }]], var.filters - end - - def test_lax_filter_argument_parsing - var = create_variable(%( number_of_comments | pluralize: 'comment': 'comments' ), error_mode: :lax) - assert_equal VariableLookup.new('number_of_comments'), var.name - assert_equal [['pluralize', ['comment', 'comments']]], var.filters - end - - def test_strict_filter_argument_parsing - with_error_mode(:strict) do - assert_raises(SyntaxError) do - create_variable(%( number_of_comments | pluralize: 'comment': 'comments' )) - end - end - end - - def test_output_raw_source_of_variable - var = create_variable(%( name_of_variable | upcase )) - assert_equal " name_of_variable | upcase ", var.raw - end - - def test_variable_lookup_interface - lookup = VariableLookup.new('a.b.c') - assert_equal 'a', lookup.name - assert_equal ['b', 'c'], lookup.lookups - end - - private - - def create_variable(markup, options = {}) - Variable.new(markup, ParseContext.new(options)) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/CHANGELOG.md deleted file mode 100644 index 232adbd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -# Moved to [GitHub releases](https://github.com/guard/listen/releases) page. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/CONTRIBUTING.md deleted file mode 100644 index 7e5b197..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/CONTRIBUTING.md +++ /dev/null @@ -1,45 +0,0 @@ -Contribute to Listen -=================== - -File an issue -------------- - -If you haven't already, first see [TROUBLESHOOTING](https://github.com/guard/listen/blob/master/README.md#Issues-and-Troubleshooting) for known issues, solutions and workarounds. - -You can report bugs and feature requests to [GitHub Issues](https://github.com/guard/listen/issues). - -**Please don't ask question in the issue tracker**, instead ask them in our -[Google group](http://groups.google.com/group/guard-dev) or on `#guard` (irc.freenode.net). - -Try to figure out where the issue belongs to: Is it an issue with Listen itself or with Guard? - - -**It's most likely that your bug gets resolved faster if you provide as much information as possible!** - -The MOST useful information is debugging output from Listen (`LISTEN_GEM_DEBUGGING=1`) - see [TROUBLESHOOTING](https://github.com/guard/listen/blob/master/README.md#Issues-and-Troubleshooting) for details. - - -Development ------------ - -* Documentation hosted at [RubyDoc](http://rubydoc.info/github/guard/listen/master/frames). -* Source hosted at [GitHub](https://github.com/guard/listen). - -Pull requests are very welcome! Please try to follow these simple rules if applicable: - -* Please create a topic branch for every separate change you make. -* Make sure your patches are well tested. All specs run with `rake spec` must pass. -* Update the [Yard](http://yardoc.org/) documentation. -* Update the [README](https://github.com/guard/listen/blob/master/README.md). -* Please **do not change** the version number. - -The title of your PR will automatically be included in the release notes for the next version of the gem. A maintainer can add one of the following GitHub labels to the PR to automatically categorize it when the release notes are generated: - -- ⚠️ Breaking -- ✨ Feature -- 🐛 Bug Fix -- 📚 Docs -- 🏠 Housekeeping - -For questions please join us in our [Google group](http://groups.google.com/group/guard-dev) or on -`#guard` (irc.freenode.net). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/LICENSE.txt deleted file mode 100644 index b5f71c8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2013 Thibaud Guillaume-Gentil - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/README.md deleted file mode 100644 index 552fce5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/README.md +++ /dev/null @@ -1,462 +0,0 @@ -# Listen - -The `listen` gem listens to file modifications and notifies you about the changes. - -[![Development Status](https://github.com/guard/listen/workflows/Development/badge.svg)](https://github.com/guard/listen/actions?workflow=Development) -[![Gem Version](https://badge.fury.io/rb/listen.svg)](http://badge.fury.io/rb/listen) -[![Code Climate](https://codeclimate.com/github/guard/listen.svg)](https://codeclimate.com/github/guard/listen) -[![Coverage Status](https://coveralls.io/repos/guard/listen/badge.svg?branch=master)](https://coveralls.io/r/guard/listen) - -## Features - -* OS-optimized adapters on MRI for Mac OS X 10.6+, Linux, \*BSD and Windows, [more info](#listen-adapters) below. -* Detects file modification, addition and removal. -* You can watch multiple directories. -* Regexp-patterns for ignoring paths for more accuracy and speed -* Increased change detection accuracy on OS X HFS and VFAT volumes. -* Continuous Integration: tested on selected Ruby environments via [Github Workflows](https:///github.com/guard/listen/master/.github/workflows). - -## Issues / limitations - -* Limited support for symlinked directories ([#279](https://github.com/guard/listen/issues/279)): - * Symlinks are always followed ([#25](https://github.com/guard/listen/issues/25)). - * Symlinked directories pointing within a watched directory are not supported ([#273](https://github.com/guard/listen/pull/273). -* No directory/adapter-specific configuration options. -* Support for plugins planned for future. -* TCP functionality was removed in `listen` [3.0.0](https://github.com/guard/listen/releases/tag/v3.0.0) ([#319](https://github.com/guard/listen/issues/319), [#218](https://github.com/guard/listen/issues/218)). There are plans to extract this feature to separate gems ([#258](https://github.com/guard/listen/issues/258)), until this is finished, you can use by locking the `listen` gem to version `'~> 2.10'`. -* Some filesystems won't work without polling (VM/Vagrant Shared folders, NFS, Samba, sshfs, etc.). -* Windows and \*BSD adapter aren't continuously and automatically tested. -* OSX adapter has some performance limitations ([#342](https://github.com/guard/listen/issues/342)). -* Listeners do not notify across forked processes, if you wish for multiple processes to receive change notifications you must [listen inside of each process](https://github.com/guard/listen/issues/398#issuecomment-223957952). - -Pull requests or help is very welcome for these. - -## Install - -The simplest way to install `listen` is to use [Bundler](http://bundler.io). - -```ruby -gem 'listen' -``` - -## Complete Example -Here is a complete example of using the `listen` gem: -```ruby -require 'listen' - -listener = Listen.to('/srv/app') do |modified, added, removed| - puts(modified: modified, added: added, removed: removed) -end -listener.start -sleep -``` -Running the above in the background, you can see the callback block being called in response to each command: -``` -$ cd /srv/app -$ touch a.txt -{:modified=>[], :added=>["/srv/app/a.txt"], :removed=>[]} - -$ echo more >> a.txt -{:modified=>["/srv/app/a.txt"], :added=>[], :removed=>[]} - -$ mv a.txt b.txt -{:modified=>[], :added=>["/srv/app/b.txt"], :removed=>["/srv/app/a.txt"]} - -$ vi b.txt -# add a line to this new file and press ZZ to save and exit -{:modified=>["/srv/app/b.txt"], :added=>[], :removed=>[]} - -$ vi c.txt -# add a line and press ZZ to save and exit -{:modified=>[], :added=>["/srv/app/c.txt"], :removed=>[]} - -$ rm b.txt c.txt -{:modified=>[], :added=>[], :removed=>["/srv/app/b.txt", "/srv/app/c.txt"]} -``` - -## Usage - -Call `Listen.to` with one or more directories and the "changes" callback passed as a block. - -``` ruby -listener = Listen.to('dir/to/listen', 'dir/to/listen2') do |modified, added, removed| - puts "modified absolute path array: #{modified}" - puts "added absolute path array: #{added}" - puts "removed absolute path array: #{removed}" -end -listener.start # starts a listener thread--does not block - -# do whatever you want here...just don't exit the process :) - -sleep -``` -## Changes Callback - -Changes to the listened-to directories are reported by the listener thread in a callback. -The callback receives **three** array parameters: `modified`, `added` and `removed`, in that order. -Each of these three is always an array with 0 or more entries. -Each array entry is an absolute path. - -### Pause / start / stop - -Listeners can also be easily paused and later un-paused with start: - -``` ruby -listener = Listen.to('dir/path/to/listen') { |modified, added, removed| puts 'handle changes here...' } - -listener.start -listener.paused? # => false -listener.processing? # => true - -listener.pause # stops processing changes (but keeps on collecting them) -listener.paused? # => true -listener.processing? # => false - -listener.start # resumes processing changes -listener.stop # stop both listening to changes and processing them -``` - - Note: While paused, `listen` keeps on collecting changes in the background - to clear them, call `stop`. - - Note: You should keep track of all started listeners and `stop` them properly on finish. - -### Ignore / ignore! - -`Listen` ignores some directories and extensions by default (See DEFAULT_IGNORED_FILES and DEFAULT_IGNORED_EXTENSIONS in Listen::Silencer). -You can add ignoring patterns with the `ignore` option/method or overwrite default with `ignore!` option/method. - -``` ruby -listener = Listen.to('dir/path/to/listen', ignore: /\.txt/) { |modified, added, removed| # ... } -listener.start -listener.ignore! /\.pkg/ # overwrite all patterns and only ignore pkg extension. -listener.ignore /\.rb/ # ignore rb extension in addition of pkg. -sleep -``` - -Note: `:ignore` regexp patterns are evaluated against relative paths. - -Note: Ignoring paths does not improve performance, except when Polling ([#274](https://github.com/guard/listen/issues/274)). - -### Only - -`Listen` watches all files (less the ignored ones) by default. If you want to only listen to a specific type of file (i.e., just `.rb` extension), you should use the `only` option/method. - -``` ruby -listener = Listen.to('dir/path/to/listen', only: /\.rb$/) { |modified, added, removed| # ... } -listener.start -listener.only /_spec\.rb$/ # overwrite all existing only patterns. -sleep -``` - -Note: `:only` regexp patterns are evaluated only against relative **file** paths. - - -## Options - -All the following options can be set through the `Listen.to` after the directory path(s) params. - -```ruby -ignore: [%r{/foo/bar}, /\.pid$/, /\.coffee$/] # Ignore a list of paths - # default: See DEFAULT_IGNORED_FILES and DEFAULT_IGNORED_EXTENSIONS in Listen::Silencer - -ignore!: %r{/foo/bar} # Same as ignore options, but overwrite default ignored paths. - -only: %r{.rb$} # Only listen to specific files - # default: none - -latency: 0.5 # Set the delay (**in seconds**) between checking for changes - # default: 0.25 sec (1.0 sec for polling) - -wait_for_delay: 4 # Set the delay (**in seconds**) between calls to the callback when changes exist - # default: 0.10 sec - -force_polling: true # Force the use of the polling adapter - # default: none - -relative: false # Whether changes should be relative to current dir or not - # default: false - -polling_fallback_message: 'custom message' # Set a custom polling fallback message (or disable it with false) - # default: "Listen will be polling for changes. Learn more at https://github.com/guard/listen#listen-adapters." -``` - -## Logging and Debugging - -`Listen` logs its activity to `Listen.logger`. -This is the primary method of debugging. - -### Custom Logger -You can call `Listen.logger =` to set a custom `listen` logger for the process. For example: -``` -Listen.logger = Rails.logger -``` - -### Default Logger -If no custom logger is set, a default `listen` logger which logs to to `STDERR` will be created and assigned to `Listen.logger`. - -The default logger defaults to the `error` logging level (severity). -You can override the logging level by setting the environment variable `LISTEN_GEM_DEBUGGING=<level>`. -For `<level>`, all standard `::Logger` levels are supported, with any mix of upper-/lower-case: -``` -export LISTEN_GEM_DEBUGGING=debug # or 2 [deprecated] -export LISTEN_GEM_DEBUGGING=info # or 1 or true or yes [deprecated] -export LISTEN_GEM_DEBUGGING=warn -export LISTEN_GEM_DEBUGGING=fatal -export LISTEN_GEM_DEBUGGING=error -``` -The default of `error` will be used if an unsupported value is set. - -Note: The alternate values `1`, `2`, `true` and `yes` shown above are deprecated and will be removed from `listen` v4.0. - -### Disabling Logging -If you want to disable `listen` logging, set -``` -Listen.logger = ::Logger.new('/dev/null') -``` -## Listen Adapters - -The `Listen` gem has a set of adapters to notify it when there are changes. - -There are 4 OS-specific adapters to support Darwin, Linux, \*BSD and Windows. -These adapters are fast as they use some system-calls to implement the notifying function. - -There is also a polling adapter - although it's much slower than other adapters, -it works on every platform/system and scenario (including network filesystems such as VM shared folders). - -The Darwin and Linux adapters are dependencies of the `listen` gem so they work out of the box. For other adapters a specific gem will have to be added to your Gemfile, please read below. - -The `listen` gem will choose the best adapter automatically, if present. If you -want to force the use of the polling adapter, use the `:force_polling` option -while initializing the listener. - -### On Windows - -If you are on Windows, it's recommended to use the [`wdm`](https://github.com/Maher4Ever/wdm) adapter instead of polling. - -Please add the following to your Gemfile: - -```ruby -gem 'wdm', '>= 0.1.0', platforms: [:mingw, :mswin, :x64_mingw, :jruby] -``` - -### On \*BSD - -If you are on \*BSD you can try to use the [`rb-kqueue`](https://github.com/mat813/rb-kqueue) adapter instead of polling. - -Please add the following to your Gemfile: - -```ruby -require 'rbconfig' -if RbConfig::CONFIG['target_os'] =~ /bsd|dragonfly/i - gem 'rb-kqueue', '>= 0.2' -end - -``` - -### Getting the [polling fallback message](#options)? - -If you see: -``` -Listen will be polling for changes. -``` - -This means the Listen gem can’t find an optimized adapter. Typically this is caused by: - -- You’re on Windows and WDM gem isn’t installed. -- You’re running the app without Bundler or RubyGems. -- Using Sass which includes an ancient (the “dinosaur” type of ancient) version of the Listen gem. - -Possible solutions: - -1. Suppress the message by using the :force_polling option. Or, you could just ignore the message since it’s harmless. -2. Windows users: Install the WDM gem. -3. Upgrade Ruby (use RubyInstaller for Windows or RVM/rbenv for Mac) and RubyGems. -3. Run your apps using Bundler. -4. Sass users: Install the latest version of Listen and try again. - -#### Simplified Bundler and Sass example -Create a Gemfile with these lines: -``` -source 'https://rubygems.org' -gem 'listen' -gem 'sass' -``` -Next, use Bundler to update gems: -``` -$ bundle update -$ bundle exec sass --watch # ... or whatever app is using Listen. -``` - -### Increasing the amount of inotify watchers - -If you are running Debian, RedHat, or another similar Linux distribution, run the following in a terminal: -``` -$ sudo sh -c "echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf" -$ sudo sysctl -p -``` -If you are running ArchLinux, search the `/etc/sysctl.d/` directory for config files with the setting: -``` -$ grep -H -s "fs.inotify.max_user_watches" /etc/sysctl.d/* -/etc/sysctl.d/40-max_user_watches.conf:fs.inotify.max_user_watches=100000 -``` -Then change the setting in the file you found above to a higher value (see [here](https://www.archlinux.org/news/deprecation-of-etcsysctlconf/) for why): -``` -$ sudo sh -c "echo fs.inotify.max_user_watches=524288 > /etc/sysctl.d/40-max-user-watches.conf" -$ sudo sysctl --system -``` - -#### The technical details -Listen uses `inotify` by default on Linux to monitor directories for changes. -It's not uncommon to encounter a system limit on the number of files you can monitor. -For example, Ubuntu Lucid's (64bit) `inotify` limit is set to 8192. - -You can get your current inotify file watch limit by executing: -``` -$ cat /proc/sys/fs/inotify/max_user_watches -``` -When this limit is not enough to monitor all files inside a directory, the limit must be increased for Listen to work properly. - -You can set a new limit temporarily with: -``` -$ sudo sysctl fs.inotify.max_user_watches=524288 -$ sudo sysctl -p -``` -If you like to make your limit permanent, use: -``` -$ sudo sh -c "echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf" -$ sudo sysctl -p -``` -You may also need to pay attention to the values of `max_queued_events` and `max_user_instances` if Listen keeps on complaining. - -#### More info -Man page for [inotify(7)](https://linux.die.net/man/7/inotify). -Blog post: [limit of inotify](https://blog.sorah.jp/2012/01/24/inotify-limitation). - -### Issues and Troubleshooting - -If the gem doesn't work as expected, start by setting `LISTEN_GEM_DEBUGGING=debug` or `LISTEN_GEM_DEBUGGING=info` as described above in [Logging and Debugging](#logging-and-debugging). - -*NOTE: without providing the output after setting the `LISTEN_GEM_DEBUGGING=debug` environment variable, it is usually impossible to guess why `listen` is not working as expected.* - -#### 3 steps before you start diagnosing problems -These 3 steps will: - -- help quickly troubleshoot obscure problems (trust me, most of them are obscure) -- help quickly identify the area of the problem (a full list is below) -- help you get familiar with listen's diagnostic mode (it really comes in handy, trust me) -- help you create relevant output before you submit an issue (so we can respond with answers instead of tons of questions) - -Step 1 - The most important option in Listen -For effective troubleshooting set the `LISTEN_GEM_DEBUGGING=info` variable before starting `listen`. - -Step 2 - Verify polling works -Polling has to work ... or something is really wrong (and we need to know that before anything else). - -(see force_polling option). - -After starting `listen`, you should see something like: -``` -INFO -- : Record.build(): 0.06773114204406738 seconds -``` -Step 3 - Trigger some changes directly without using editors or apps -Make changes e.g. touch foo or echo "a" >> foo (for troubleshooting, avoid using an editor which could generate too many misleading events). - -You should see something like: -``` -INFO -- : listen: raw changes: [[:added, "/home/me/foo"]] -INFO -- : listen: final changes: {:modified=>[], :added=>["/home/me/foo"], :removed=>[]} -``` -"raw changes" contains changes collected during the :wait_for_delay and :latency intervals, while "final changes" is what listen decided are relevant changes (for better editor support). - -## Performance - -If `listen` seems slow or unresponsive, make sure you're not using the Polling adapter (you should see a warning upon startup if you are). - -Also, if the directories you're watching contain many files, make sure you're: - -* not using Polling (ideally) -* using `:ignore` and `:only` options to avoid tracking directories you don't care about (important with Polling and on MacOS) -* running `listen` with the `:latency` and `:wait_for_delay` options not too small or too big (depends on needs) -* not watching directories with log files, database files or other frequently changing files -* not using a version of `listen` prior to 2.7.7 -* not getting silent crashes within `listen` (see `LISTEN_GEM_DEBUGGING=debug`) -* not running multiple instances of `listen` in the background -* using a file system with atime modification disabled (ideally) -* not using a filesystem with inaccurate file modification times (ideally), e.g. HFS, VFAT -* not buffering to a slow terminal (e.g. transparency + fancy font + slow gfx card + lots of output) -* ideally not running a slow encryption stack, e.g. btrfs + ecryptfs - -When in doubt, `LISTEN_GEM_DEBUGGING=debug` can help discover the actual events and time they happened. - -## Tips and Techniques -- Watch only directories you're interested in. -- Set your editor to save quickly (e.g. without backup files, without atomic-save) -- Tweak the `:latency` and `:wait_for_delay` options until you get good results (see [options](#options)). -- Add `:ignore` rules to silence all events you don't care about (reduces a lot of noise, especially if you use it on directories) - -## Development - -* Documentation hosted at [RubyDoc](http://rubydoc.info/github/guard/listen/master/frames). -* Source hosted at [GitHub](https://github.com/guard/listen). - -Pull requests are very welcome! Please try to follow these simple rules if applicable: - -* Please create a topic branch for every separate change you make. -* Make sure your patches are well tested. All specs must pass on [Travis CI](https://travis-ci.org/guard/listen). -* Update the [Yard](http://yardoc.org/) documentation. -* Update the [README](https://github.com/guard/listen/blob/master/README.md). -* Please **do not change** the version number. - -For questions please join us in our [Google group](http://groups.google.com/group/guard-dev) or on -`#guard` (irc.freenode.net). - -## Releasing - -### Prerequisites - -* You must have commit rights to the GitHub repository. -* You must have push rights for rubygems.org. - -### How to release - -1. Run `bundle install` to make sure that you have all the gems necessary for testing and releasing. -2. **Ensure all tests are passing by running `bundle exec rake`.** -3. Determine which would be the correct next version number according to [semver](http://semver.org/). -4. Update the version in `./lib/listen/version.rb`. -5. Update the version in the Install section of `./README.md` (`gem 'listen', '~> X.Y'`). -6. Commit the version in a single commit, the message should be "Preparing vX.Y.Z" -7. Run `bundle exec rake release:full`; this will tag, push to GitHub, and publish to rubygems.org. -8. Update and publish the release notes on the [GitHub releases page](https://github.com/guard/listen/releases) if necessary - -## Acknowledgments - -* [Michael Kessler (netzpirat)][] for having written the [initial specs](https://github.com/guard/listen/commit/1e457b13b1bb8a25d2240428ce5ed488bafbed1f). -* [Travis Tilley (ttilley)][] for this awesome work on [fssm][] & [rb-fsevent][]. -* [Natalie Weizenbaum (nex3)][] for [rb-inotify][], a thorough inotify wrapper. -* [Mathieu Arnold (mat813)][] for [rb-kqueue][], a simple kqueue wrapper. -* [Maher Sallam][] for [wdm][], windows support wouldn't exist without him. -* [Yehuda Katz (wycats)][] for [vigilo][], that has been a great source of inspiration. - -## Author - -[Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](https://twitter.com/thibaudgg)) - -## Contributors - -[https://github.com/guard/listen/graphs/contributors](https://github.com/guard/listen/graphs/contributors) - -[Thibaud Guillaume-Gentil (thibaudgg)]: https://github.com/thibaudgg -[Maher Sallam]: https://github.com/Maher4Ever -[Michael Kessler (netzpirat)]: https://github.com/netzpirat -[Travis Tilley (ttilley)]: https://github.com/ttilley -[fssm]: https://github.com/ttilley/fssm -[rb-fsevent]: https://github.com/thibaudgg/rb-fsevent -[Mathieu Arnold (mat813)]: https://github.com/mat813 -[Natalie Weizenbaum (nex3)]: https://github.com/nex3 -[rb-inotify]: https://github.com/nex3/rb-inotify -[stereobooster]: https://github.com/stereobooster -[rb-fchange]: https://github.com/stereobooster/rb-fchange -[rb-kqueue]: https://github.com/mat813/rb-kqueue -[Yehuda Katz (wycats)]: https://github.com/wycats -[vigilo]: https://github.com/wycats/vigilo -[wdm]: https://github.com/Maher4Ever/wdm diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/bin/listen b/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/bin/listen deleted file mode 100755 index 59ade96..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/listen-3.8.0/bin/listen +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require 'listen' -require 'listen/cli' - -if !defined?(JRUBY_VERSION) && Signal.list.keys.include?('INT') - Signal.trap('INT') { Thread.new { Listen.stop } } -end - -Listen::CLI.start diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/.rspec deleted file mode 100644 index 5f16476..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---format progress diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/.travis.yml deleted file mode 100644 index d7c261d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: ruby -rvm: - - 1.9.3 - - 2.0.0 - - 2.1 -sudo: false -cache: bundler -before_script: bundle update -script: "./script/cibuild" -notifications: - email: - recipients: - - mercenary@jekyllrb.com - on_success: change - on_failure: change diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/Gemfile deleted file mode 100644 index 50c90db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -# Specify your gem's dependencies in mercenary.gemspec -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/History.markdown b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/History.markdown deleted file mode 100644 index 360b83f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/History.markdown +++ /dev/null @@ -1,109 +0,0 @@ -## 0.3.6 / 2016-04-07 - -### Bug Fixes - - * Presenter: Options should include those from parent command (#42) - -## 0.3.5 / 2014-11-12 - -### Bug Fixes - - * Capture `OptionsParser::InvalidOption` and show a nice error message (#38) - * Absolute paths for requires and autoloads (#39) - -### Development Fixes - - * Bump to RSpec 3 (#40) - -## 0.3.4 / 2014-07-11 - -### Bug Fixes - - * Use option object as key in the command's `@map` hash (#35) - -## 0.3.3 / 2014-05-07 - -### Bug Fixes - - * The `--version` flag should not exit with code 1, but instead code 0. (#33) - -## 0.3.2 / 2014-03-18 - -### Bug Fixes - - * Remove duplicate commands from help output; show aliases w/command names (#29) - -## 0.3.1 / 2014-02-21 - -### Minor Enhancements - - * Add `-t/--trace` to list of options in help message (#19) - -### Bug Fixes - - * `Mercenary::Option` now accepts return values in the form of Class constants (#22) - -## 0.3.0 / 2014-02-20 - -### Major Enhancements - - * Officially drop 1.8.7 support (#14) - * Allow Commands to set their own versions (#17) - * Show subcommands, options and usage in help and attach to all commands (#18) - * Add `-t, --trace` to allow full exception backtrace to print, otherwise print just the error message (#19) - -### Minor Enhancements - - * Logging state is maintained throughout process (#12) - * Tidy up Command#logger output (#21) - -### Development Fixes - - * Added specs for `Program` (#13) - -## 0.2.1 / 2013-12-25 - -### Bug Fixes - - * Added missing comma to fix '-v' and '--version' options (#9) - -## 0.2.0 / 2013-11-30 - -### Major Enhancements - - * Add `Command#default_command` to specify a default command if none is given by the user at runtime (#7) - -### Minor Enhancements - - * Add `Command#execute` to execute the actions of a command (#6) - -### Development Fixes - - * Add standard GitHub bootstrap and cibuild scripts to `script/` (#2) - -## 0.1.0 / 2013-11-08 - -### Major Enhancements - - * It works! - -### Minor Enhancements - - * Add a logger to `Command` - * Add `--version` switch to all programs - -### Bug Fixes - - * Fix `Command#syntax` and `Command#description`'s handing of setting vs getting - * Fix load path problem in `lib/mercenary.rb` - -### Development Fixes - - * Add TomDoc to everything - * Add a couple starter specs - * Add TravisCI badge - * Add Travis configuration - -## 0.0.1 / 2013-11-06 - - * Birthday! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/LICENSE.txt deleted file mode 100644 index 354c0b2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2013-2014 Parker Moore - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/README.md deleted file mode 100644 index ed9b1a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/README.md +++ /dev/null @@ -1,250 +0,0 @@ -# Mercenary - -Lightweight and flexible library for writing command-line apps in Ruby. - -[![Build Status](https://secure.travis-ci.org/jekyll/mercenary.png)](https://travis-ci.org/jekyll/mercenary) - -## Installation - -Add this line to your application's Gemfile: - - gem 'mercenary' - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install mercenary - -**Note: Mercenary may not work with Ruby < 1.9.3.** - -## Usage - -Creating programs and commands with Mercenary is easy: - -```ruby -Mercenary.program(:jekyll) do |p| - p.version Jekyll::VERSION - p.description 'Jekyll is a blog-aware, static site generator in Ruby' - p.syntax "jekyll <subcommand> [options]" - - p.command(:new) do |c| - c.syntax "new PATH" # do not include the program name or super commands - c.description "Creates a new Jekyll site scaffold in PATH" - c.option 'blank', '--blank', 'Initialize the new site without any content.' - - c.action do |args, options| - Jekyll::Commands::New.process(args, blank: options['blank']) - end - end - - p.command(:build) do |c| - c.syntax "build [options]" - c.description "Builds your Jekyll site" - - c.option 'safe', '--safe', 'Run in safe mode' - c.option 'source', '--source DIR', 'From where to collect the source files' - c.option 'destination', '--dest DIR', 'To where the compiled files should be written' - - c.action do |_, options| - Jekyll::Commands::Build.process(options) - end - end - - # Bring in command bundled in external gem - begin - require "jekyll-import" - JekyllImport.init_with_program(p) - rescue LoadError - end - - p.default_command(:build) -end -``` - -All commands have the following default options: - -- `-h/--help` - show a help message -- `-v/--version` - show the program version -- `-t/--trace` - show the full backtrace when an error occurs - -## API - -### `Mercenary` - -#### `.program` - -Creates and executes a program. Accepts two arguments: - -- `name` - program name as a Symbol -- `block` - the specification for the program, passed the program instance as an - argument. - -Example is above, under the heading [Usage](#usage). - -### `Program` - -`Program` is a subclass of `Command`, so it has all of the methods documented -below as well as those for `Command`. - -#### `#config` - -Fetches the program configuration hash. - -### `Command` - -#### `#new` - -Create a new command. Accepts two arguments: - -- `name` - the name of your command, as a symbol -- `parent` - (optional) the parent Command - -#### `#version` - -Sets or gets the version of the command. Accepts an optional argument: - -- `version` - (optional) the version to set for the command. If present, this - becomes the new version for the command and persists. - -#### `#syntax` - -Sets or gets the syntax of the command. Built on parent syntaxes if a parent -exists. Accepts one optional argument: - -- `syntax` - (optional) the syntax to set for the command. Will inherit from the - parent commands or program. Usually in the form of - `"command_name <SUBCOMMAND> [OPTIONS]"` - -When a parent command exists, say `supercommand`, with syntax set as -`supercommand <SUBCOMMAND> [OPTIONS]`, the syntax of the command in question -will be `supercommand command_name <SUBCOMMAND> [OPTIONS]` with both -`<SUBCOMMAND>` and `[OPTIONS]` stripped out. Any text between `<` and `>` or -between `[` and `]` will be stripped from parent command syntaxes. The purpose -of this chaining is to reduce redundancy. - -#### `#description` - -Sets or gets the description of the command. Accepts one optional argument: - -- `desc` - (optional) the description to set for the command. If - provided, will override any previous description set for the command. - -#### `#default_command` - -Sets or gets the default subcommand of the command to execute in the event no -subcommand is passed during execution. Accepts one optional argument: - -- `command_name` - (optional) the `Symbol` name of the subcommand to be - executed. Raises an `ArgumentError` if the subcommand doesn't exist. - Overwrites previously-set default commands. - -#### `#option` - -Adds a new option to the command. Accepts many arguments: - -- `config_key` - the configuration key that the value of this option maps to. -- `*options` - all the options, globbed, to be passed to `OptionParser`, namely the - switches and the option description. Usually in the format - `"-s", "--switch", "Sets the 'switch' flag"`. - -Valid option calls: - -```ruby -cmd.option 'config_key', '-c', 'Sets the "config" flag' -cmd.option 'config_key', '--config', 'Sets the "config" flag' -cmd.option 'config_key', '-c', '--config', 'Sets the "config" flag.' -cmd.option 'config_key', '-c FILE', '--config FILE', 'The config file.' -cmd.option 'config_key', '-c FILE1[,FILE2[,FILE3...]]', '--config FILE1[,FILE2[,FILE3...]]', Array, 'The config files.' -``` - -Notice that you can specify either a short switch, a long switch, or both. If -you want to accept an argument, you have to specify it in the switch strings. -The class of the argument defaults to `String`, but you can optionally set a -different class to create, e.g. `Array`, if you are expecting a particular class -in your code from this option's value. The description is also optional, but -it's highly recommended to include a description. - -#### `#alias` - -Specifies an alias for this command such that the alias may be used in place of -the command during execution. Accepts one argument: - -- `cmd_name` - the alias name for this command as a `Symbol` - -Example: - -```ruby -cmd.alias(:my_alias) -# Now `cmd` is now also executable via "my_alias" -``` - -#### `#action` - -Specifies a block to be executed in the event the command is specified at -runtime. The block is given two arguments: - -- `args` - the non-switch arguments given from the command-line -- `options` - the options hash built via the switches passed - -**Note that actions are additive**, meaning any new call to `#action` will -result in another action to be executed at runtime. Actions will be executed in -the order they are specified in. - -Example: - -```ruby -cmd.action do |args, options| - # do something! -end -``` - -#### `#logger` - -Access the logger for this command. Useful for outputting information to STDOUT. -Accepts one optional argument: - -- `level` - (optional) the severity threshold at which to begin logging. Uses - Ruby's built-in - [`Logger`](http://www.ruby-doc.org/stdlib-2.1.0/libdoc/logger/rdoc/Logger.html) - levels. - -Log level defaults to `Logger::INFO`. - -Examples: - -```ruby -cmd.logger(Logger::DEBUG) -cmd.logger.debug "My debug message." -cmd.logger.info "My informative message." -cmd.logger.warn "ACHTUNG!!" -cmd.logger.error "Something terrible has happened." -cmd.logger.fatal "I can't continue doing what I'm doing." -``` - -#### `#command` - -Creates a new subcommand for the current command. Accepts two arguments: - -- `cmd_name` - the command name, as a Symbol -- `block` - the specification of the subcommand in a block - -Example: - -```ruby -my_command.command(:my_subcommand) do |subcmd| - subcmd.description 'My subcommand' - subcmd.syntax 'my_subcommand [OPTIONS]' - # ... -end -``` - -## Contributing - -1. Fork it -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new Pull Request diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/Rakefile deleted file mode 100644 index 2995527..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/Rakefile +++ /dev/null @@ -1 +0,0 @@ -require "bundler/gem_tasks" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/help_dialogue.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/help_dialogue.rb deleted file mode 100755 index 807e587..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/help_dialogue.rb +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env ruby - -$:.unshift File.join(File.dirname(__FILE__), *%w{ .. lib }) - -require "mercenary" - -# This example sets the logging mode of mercenary to -# debug. Logging messages from "p.logger.debug" will -# be output to STDOUT. - -Mercenary.program(:help_dialogue) do |p| - - p.version "2.0.1" - p.description 'An example of the help dialogue in Mercenary' - p.syntax 'help_dialogue <subcommand>' - - p.command(:some_subcommand) do |c| - c.version '1.4.2' - c.syntax 'some_subcommand <subcommand> [options]' - c.description 'Some subcommand to do something' - c.option 'an_option', '-o', '--option', 'Some option' - c.alias(:blah) - - c.command(:yet_another_sub) do |f| - f.syntax 'yet_another_sub [options]' - f.description 'Do amazing things' - f.option 'blah', '-b', '--blah', 'Trigger blah flag' - f.option 'heh', '-H ARG', '--heh ARG', 'Give a heh' - - f.action do |args, options| - print "Args: " - p args - print "Opts: " - p options - end - end - end - - p.command(:another_subcommand) do |c| - c.syntax 'another_subcommand <subcommand> [options]' - c.description 'Another subcommand to do something different.' - c.option 'an_option', '-O', '--option', 'Some option' - c.option 'another_options', '--pluginzzz', 'Set where the plugins should be found from' - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/logging.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/logging.rb deleted file mode 100644 index 2cb867a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/logging.rb +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env ruby - -$:.unshift File.join(File.dirname(__FILE__), *%w{ .. lib }) - -require "mercenary" - -# This example sets the logging mode of mercenary to -# debug. Logging messages from "p.logger.debug" will -# be output to STDOUT. - -Mercenary.program(:logger_output) do |p| - - p.version "5.2.6" - p.description 'An example of turning on logging for Mercenary.' - p.syntax 'logger_output' - - - p.logger.info "The default log level is INFO. So this will output." - p.logger.debug "Since DEBUG is below INFO, this will not output." - - p.logger(Logger::DEBUG) - p.logger.debug "Logger level now set to DEBUG. So everything will output." - - p.logger.debug "Example of DEBUG level message." - p.logger.info "Example of INFO level message." - p.logger.warn "Example of WARN level message." - p.logger.error "Example of ERROR level message." - p.logger.fatal "Example of FATAL level message." - p.logger.unknown "Example of UNKNOWN level message." - - p.action do |args, options| - - p.logger(Logger::INFO) - p.logger.debug "Logger level back to INFO. This line will not output." - p.logger.info "This INFO message will output." - - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/trace.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/trace.rb deleted file mode 100644 index 0aaa365..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/examples/trace.rb +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env ruby - -$:.unshift File.join(File.dirname(__FILE__), *%w{ .. lib }) - -require "mercenary" - -# This example sets the logging mode of mercenary to -# debug. Logging messages from "p.logger.debug" will -# be output to STDOUT. - -Mercenary.program(:trace) do |p| - - p.version "2.0.1" - p.description 'An example of traces in Mercenary' - p.syntax 'trace <subcommand>' - - p.action do |_, _| - raise ArgumentError.new("YOU DID SOMETHING TERRIBLE YOU BUFFOON") - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/mercenary.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/mercenary.gemspec deleted file mode 100644 index e9f8294..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/mercenary.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# coding: utf-8 -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'mercenary/version' - -Gem::Specification.new do |spec| - spec.name = "mercenary" - spec.version = Mercenary::VERSION - spec.authors = ["Tom Preston-Werner", "Parker Moore"] - spec.email = ["tom@mojombo.com", "parkrmoore@gmail.com"] - spec.description = %q{Lightweight and flexible library for writing command-line apps in Ruby.} - spec.summary = %q{Lightweight and flexible library for writing command-line apps in Ruby.} - spec.homepage = "https://github.com/jekyll/mercenary" - spec.license = "MIT" - - spec.files = `git ls-files`.split($/) - spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) - spec.require_paths = ["lib"] - - spec.add_development_dependency "bundler", "~> 1.3" - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.0" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/bootstrap deleted file mode 100755 index a0cf262..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/bootstrap +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/sh - -set -e - -echo "Time to get set up." -bundle install -echo "Boom." diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/cibuild b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/cibuild deleted file mode 100755 index 260e363..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/cibuild +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh - -set -ex - -bundle exec rspec -./script/examples diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/console b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/console deleted file mode 100755 index 27ed279..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/console +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/bash - -irb -r./lib/mercenary.rb diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/examples b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/examples deleted file mode 100755 index a722ab3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/script/examples +++ /dev/null @@ -1,18 +0,0 @@ -#! /bin/bash - -set -e - -function run () { - echo "+ ruby ./examples/$@" - ruby -e "puts '=' * 79" - ruby ./examples/$@ - ruby -e "puts '=' * 79" -} - -run logging.rb -run logging.rb -v -run help_dialogue.rb -h -run help_dialogue.rb some_subcommand -h -run help_dialogue.rb another_subcommand -h -run help_dialogue.rb some_subcommand yet_another_sub -h -run help_dialogue.rb some_subcommand yet_another_sub -b diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/command_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/command_spec.rb deleted file mode 100644 index e1c029a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/command_spec.rb +++ /dev/null @@ -1,98 +0,0 @@ -require "spec_helper" - -describe(Mercenary::Command) do - - context "a basic command" do - let(:command) { Mercenary::Command.new(:my_name) } - let(:parent) { Mercenary::Command.new(:my_parent) } - let(:with_sub) do - c = Mercenary::Command.new(:i_have_subcommand) - add_sub.call(c) - c - end - let(:command_with_parent) do - Mercenary::Command.new( - :i_have_parent, - parent - ) - end - let(:add_sub) do - Proc.new do |c| - c.command(:sub_command) { |p| } - end - end - - it "can be created with just a name" do - expect(command.name).to eql(:my_name) - end - - it "can hold a parent command" do - expect(command_with_parent.parent).to eql(parent) - end - - it "can create subcommands" do - expect(add_sub.call(command)).to be_a(Mercenary::Command) - expect(add_sub.call(command).parent).to eq(command) - end - - it "can set its version" do - version = "1.4.2" - command.version version - expect(command.version).to eq(version) - end - - it "can set its syntax" do - syntax_string = "my_name [options]" - cmd = described_class.new(:my_name) - cmd.syntax syntax_string - expect(cmd.syntax).to eq(syntax_string) - end - - it "can set its description" do - desc = "run all the things" - command.description desc - expect(command.description).to eq(desc) - end - - it "can set its options" do - name = "show_drafts" - opts = ['--drafts', 'Render posts in the _drafts folder'] - option = Mercenary::Option.new(name, opts) - command.option name, *opts - expect(command.options).to eql([option]) - expect(command.map.values).to include(name) - end - - it "knows its full name" do - expect(command_with_parent.full_name).to eql("my_parent i_have_parent") - end - - it "knows its identity" do - command_with_parent.version '1.8.7' - expect(command_with_parent.identity).to eql("my_parent i_have_parent 1.8.7") - end - - it "raises an ArgumentError if I specify a default_command that isn't there" do - c = command # some weird NameError with the block below? - expect { c.default_command(:nope) }.to raise_error(ArgumentError) - end - - it "sets the default_command" do - expect(with_sub.default_command(:sub_command).name).to eq(:sub_command) - end - - context "with an alias" do - before(:each) do - command_with_parent.alias(:an_alias) - end - it "shows the alias in the summary" do - expect(command_with_parent.summarize).to eql(" i_have_parent, an_alias ") - end - - it "its names_and_aliases method reports both the name and alias" do - expect(command_with_parent.names_and_aliases).to eql("i_have_parent, an_alias") - end - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/option_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/option_spec.rb deleted file mode 100644 index 83e58fd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/option_spec.rb +++ /dev/null @@ -1,83 +0,0 @@ -require 'spec_helper' - -describe(Mercenary::Option) do - let(:config_key) { "largo" } - let(:description) { "This is a description" } - let(:switches) { ['-l', '--largo'] } - let(:option) { described_class.new(config_key, [switches, description].flatten.reject(&:nil?)) } - - it "knows its config key" do - expect(option.config_key).to eql(config_key) - end - - it "knows its description" do - expect(option.description).to eql(description) - end - - it "knows its switches" do - expect(option.switches).to eql(switches) - end - - it "knows how to present itself" do - expect(option.to_s).to eql(" -l, --largo #{description}") - end - - it "has an OptionParser representation" do - expect(option.for_option_parser).to eql([switches, description].flatten) - end - - it "compares itself with other options well" do - new_option = described_class.new(config_key, ['-l', '--largo', description]) - expect(option.eql?(new_option)).to be(true) - expect(option.hash.eql?(new_option.hash)).to be(true) - end - - it "has a custom #hash" do - expect(option.hash.to_s).to match(/\d+/) - end - - context "with just the long switch" do - let(:switches) { ['--largo'] } - - it "adds an empty string in place of the short switch" do - expect(option.switches).to eql(['', '--largo']) - end - - it "sets its description properly" do - expect(option.description).to eql(description) - end - - it "knows how to present the switch" do - expect(option.formatted_switches).to eql(" --largo ") - end - end - - context "with just the short switch" do - let(:switches) { ['-l'] } - - it "adds an empty string in place of the long switch" do - expect(option.switches).to eql(['-l', '']) - end - - it "sets its description properly" do - expect(option.description).to eql(description) - end - - it "knows how to present the switch" do - expect(option.formatted_switches).to eql(" -l ") - end - end - - context "without a description" do - let(:description) { nil } - - it "knows there is no description" do - expect(option.description).to be(nil) - end - - it "knows both inputs are switches" do - expect(option.switches).to eql(switches) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/presenter_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/presenter_spec.rb deleted file mode 100644 index f61ed45..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/presenter_spec.rb +++ /dev/null @@ -1,39 +0,0 @@ -require 'spec_helper' - -describe(Mercenary::Presenter) do - let(:supercommand) { Mercenary::Command.new(:script_name) } - let(:command) { Mercenary::Command.new(:subcommand, supercommand) } - let(:presenter) { described_class.new(command) } - - before(:each) do - command.version '1.4.2' - command.description 'Do all the things.' - command.option 'one', '-1', '--one', 'The first option' - command.option 'two', '-2', '--two', 'The second option' - command.alias :cmd - supercommand.commands[command.name] = command - end - - it "knows how to present the command" do - expect(presenter.command_presentation).to eql("script_name subcommand 1.4.2 -- Do all the things.\n\nUsage:\n\n script_name subcommand\n\nOptions:\n -1, --one The first option\n -2, --two The second option") - end - - it "knows how to present the subcommands, without duplicates for aliases" do - expect(described_class.new(supercommand).subcommands_presentation).to eql(" subcommand, cmd Do all the things.") - end - - it "knows how to present the usage" do - expect(presenter.usage_presentation).to eql(" script_name subcommand") - end - - it "knows how to present the options" do - expect(presenter.options_presentation).to eql(" -1, --one The first option\n -2, --two The second option") - end - - it "allows you to say print_* instead of *_presentation" do - expect(presenter.print_usage).to eql(presenter.usage_presentation) - expect(presenter.print_subcommands).to eql(presenter.subcommands_presentation) - expect(presenter.print_options).to eql(presenter.options_presentation) - expect(presenter.print_command).to eql(presenter.command_presentation) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/program_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/program_spec.rb deleted file mode 100644 index f5d961e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/program_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require "spec_helper" - -describe(Mercenary::Program) do - - context "a basic program" do - let(:program) { Mercenary::Program.new(:my_name) } - - it "can be created with just a name" do - expect(program.name).to eql(:my_name) - end - - it "can set its version" do - version = Mercenary::VERSION - program.version version - expect(program.version).to eq(version) - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/spec_helper.rb deleted file mode 100644 index c379985..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mercenary-0.3.6/spec/spec_helper.rb +++ /dev/null @@ -1,14 +0,0 @@ -lib = File.expand_path('../../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'mercenary' - -RSpec.configure do |config| - config.run_all_when_everything_filtered = true - config.filter_run :focus - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 - config.order = 'random' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/LICENSE.txt deleted file mode 100644 index 0e7ecd8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016-present Parker Moore and the minima contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/README.md deleted file mode 100644 index 0bfd20d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/README.md +++ /dev/null @@ -1,218 +0,0 @@ -# minima - -*Minima is a one-size-fits-all Jekyll theme for writers*. It's Jekyll's default (and first) theme. It's what you get when you run `jekyll new`. - -[Theme preview](https://jekyll.github.io/minima/) - -![minima theme preview](/screenshot.png) - -## Installation - -Add this line to your Jekyll site's Gemfile: - -```ruby -gem "minima" -``` - -And add this line to your Jekyll site: - -```yaml -theme: minima -``` - -And then execute: - - $ bundle - - -## Contents At-A-Glance - -Minima has been scaffolded by the `jekyll new-theme` command and therefore has all the necessary files and directories to have a new Jekyll site up and running with zero-configuration. - -### Layouts - -Refers to files within the `_layouts` directory, that define the markup for your theme. - - - `default.html` &mdash; The base layout that lays the foundation for subsequent layouts. The derived layouts inject their contents into this file at the line that says ` {{ content }} ` and are linked to this file via [FrontMatter](https://jekyllrb.com/docs/frontmatter/) declaration `layout: default`. - - `home.html` &mdash; The layout for your landing-page / home-page / index-page. [[More Info.](#home-layout)] - - `page.html` &mdash; The layout for your documents that contain FrontMatter, but are not posts. - - `post.html` &mdash; The layout for your posts. - -### Includes - -Refers to snippets of code within the `_includes` directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem. - - - `disqus_comments.html` &mdash; Code to markup disqus comment box. - - `footer.html` &mdash; Defines the site's footer section. - - `google-analytics.html` &mdash; Inserts Google Analytics module (active only in production environment). - - `head.html` &mdash; Code-block that defines the `<head></head>` in *default* layout. - - `header.html` &mdash; Defines the site's main header section. By default, pages with a defined `title` attribute will have links displayed here. - -### Sass - -Refers to `.scss` files within the `_sass` directory that define the theme's styles. - - - `minima.scss` &mdash; The core file imported by preprocessed `main.scss`, it defines the variable defaults for the theme and also further imports sass partials to supplement itself. - - `minima/_base.scss` &mdash; Resets and defines base styles for various HTML elements. - - `minima/_layout.scss` &mdash; Defines the visual style for various layouts. - - `minima/_syntax-highlighting.scss` &mdash; Defines the styles for syntax-highlighting. - -### Assets - -Refers to various asset files within the `assets` directory. -Contains the `main.scss` that imports sass files from within the `_sass` directory. This `main.scss` is what gets processed into the theme's main stylesheet `main.css` called by `_layouts/default.html` via `_includes/head.html`. - -This directory can include sub-directories to manage assets of similar type, and will be copied over as is, to the final transformed site directory. - -### Plugins - -Minima comes with [`jekyll-seo-tag`](https://github.com/jekyll/jekyll-seo-tag) plugin preinstalled to make sure your website gets the most useful meta tags. See [usage](https://github.com/jekyll/jekyll-seo-tag#usage) to know how to set it up. - -## Usage - -### Home Layout - -`home.html` is a flexible HTML layout for the site's landing-page / home-page / index-page. <br/> - -#### Main Heading and Content-injection - -From Minima v2.2 onwards, the *home* layout will inject all content from your `index.md` / `index.html` **before** the **`Posts`** heading. This will allow you to include non-posts related content to be published on the landing page under a dedicated heading. *We recommended that you title this section with a Heading2 (`##`)*. - -Usually the `site.title` itself would suffice as the implicit 'main-title' for a landing-page. But, if your landing-page would like a heading to be explicitly displayed, then simply define a `title` variable in the document's front matter and it will be rendered with an `<h1>` tag. - -#### Post Listing - -This section is optional from Minima v2.2 onwards.<br/> -It will be automatically included only when your site contains one or more valid posts or drafts (if the site is configured to `show_drafts`). - -The title for this section is `Posts` by default and rendered with an `<h2>` tag. You can customize this heading by defining a `list_title` variable in the document's front matter. - --- - -### Customization - -To override the default structure and style of minima, simply create the concerned directory at the root of your site, copy the file you wish to customize to that directory, and then edit the file. -e.g., to override the [`_includes/head.html `](_includes/head.html) file to specify a custom style path, create an `_includes` directory, copy `_includes/head.html` from minima gem folder to `<yoursite>/_includes` and start editing that file. - -The site's default CSS has now moved to a new place within the gem itself, [`assets/main.scss`](assets/main.scss). To **override the default CSS**, the file has to exist at your site source. Do either of the following: -- Create a new instance of `main.scss` at site source. - - Create a new file `main.scss` at `<your-site>/assets/` - - Add the frontmatter dashes, and - - Add `@import "minima";`, to `<your-site>/assets/main.scss` - - Add your custom CSS. -- Download the file from this repo - - Create a new file `main.scss` at `<your-site>/assets/` - - Copy the contents at [assets/main.scss](assets/main.scss) onto the `main.scss` you just created, and edit away! -- Copy directly from Minima 2.0 gem - - Go to your local minima gem installation directory ( run `bundle show minima` to get the path to it ). - - Copy the `assets/` folder from there into the root of `<your-site>` - - Change whatever values you want, inside `<your-site>/assets/main.scss` - --- - -### Customize navigation links - -This allows you to set which pages you want to appear in the navigation area and configure order of the links. - -For instance, to only link to the `about` and the `portfolio` page, add the following to you `_config.yml`: - -```yaml -header_pages: - - about.md - - portfolio.md -``` - --- - -### Change default date format - -You can change the default date format by specifying `site.minima.date_format` -in `_config.yml`. - -``` -# Minima date format -# refer to http://shopify.github.io/liquid/filters/date/ if you want to customize this -minima: - date_format: "%b %-d, %Y" -``` - --- - -### Enabling comments (via Disqus) - -Optionally, if you have a Disqus account, you can tell Jekyll to use it to show a comments section below each post. - -To enable it, add the following lines to your Jekyll site: - -```yaml - disqus: - shortname: my_disqus_shortname -``` - -You can find out more about Disqus' shortnames [here](https://help.disqus.com/customer/portal/articles/466208). - -Comments are enabled by default and will only appear in production, i.e., `JEKYLL_ENV=production` - -If you don't want to display comments for a particular post you can disable them by adding `comments: false` to that post's YAML Front Matter. - --- - -### Social networks - -You can add links to the accounts you have on other sites, with respective icon, by adding one or more of the following options in your config: - -```yaml -twitter_username: jekyllrb -github_username: jekyll -dribbble_username: jekyll -facebook_username: jekyll -flickr_username: jekyll -instagram_username: jekyll -linkedin_username: jekyll -pinterest_username: jekyll -youtube_username: jekyll -googleplus_username: +jekyll -rss: rss - -mastodon: - - username: jekyll - instance: example.com - - username: jekyll2 - instance: example.com -``` - --- - -### Enabling Google Analytics - -To enable Google Analytics, add the following lines to your Jekyll site: - -```yaml - google_analytics: UA-NNNNNNNN-N -``` - -Google Analytics will only appear in production, i.e., `JEKYLL_ENV=production` - --- - -### Enabling Excerpts on the Home Page - -To display post-excerpts on the Home Page, simply add the following to your `_config.yml`: - -```yaml -show_excerpts: true -``` - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/jekyll/minima. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. - -## Development - -To set up your environment to develop this theme, run `script/bootstrap`. - -To test your theme, run `script/server` (or `bundle exec jekyll serve`) and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme and the contents. As you make modifications, your site will regenerate and you should see the changes in the browser after a refresh. - -## License - -The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/disqus_comments.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/disqus_comments.html deleted file mode 100644 index d9400f2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/disqus_comments.html +++ /dev/null @@ -1,20 +0,0 @@ -{%- if page.comments != false and jekyll.environment == "production" -%} - - <div id="disqus_thread"></div> - <script> - var disqus_config = function () { - this.page.url = '{{ page.url | absolute_url }}'; - this.page.identifier = '{{ page.url | absolute_url }}'; - }; - - (function() { - var d = document, s = d.createElement('script'); - - s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js'; - - s.setAttribute('data-timestamp', +new Date()); - (d.head || d.body).appendChild(s); - })(); - </script> - <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript> -{%- endif -%} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/footer.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/footer.html deleted file mode 100644 index db72885..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/footer.html +++ /dev/null @@ -1,35 +0,0 @@ -<footer class="site-footer h-card"> - <data class="u-url" href="{{ "/" | relative_url }}"></data> - - <div class="wrapper"> - - <h2 class="footer-heading">{{ site.title | escape }}</h2> - - <div class="footer-col-wrapper"> - <div class="footer-col footer-col-1"> - <ul class="contact-list"> - <li class="p-name"> - {%- if site.author -%} - {{ site.author | escape }} - {%- else -%} - {{ site.title | escape }} - {%- endif -%} - </li> - {%- if site.email -%} - <li><a class="u-email" href="mailto:{{ site.email }}">{{ site.email }}</a></li> - {%- endif -%} - </ul> - </div> - - <div class="footer-col footer-col-2"> - {%- include social.html -%} - </div> - - <div class="footer-col footer-col-3"> - <p>{{- site.description | escape -}}</p> - </div> - </div> - - </div> - -</footer> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/google-analytics.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/google-analytics.html deleted file mode 100644 index e9afb20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/google-analytics.html +++ /dev/null @@ -1,12 +0,0 @@ -<script> -if(!(window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1")) { - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); - - ga('create', '{{ site.google_analytics }}', 'auto'); - ga('send', 'pageview'); -} -</script> - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/head.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/head.html deleted file mode 100644 index 899e96e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/head.html +++ /dev/null @@ -1,11 +0,0 @@ -<head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - {%- seo -%} - <link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}"> - {%- feed_meta -%} - {%- if jekyll.environment == 'production' and site.google_analytics -%} - {%- include google-analytics.html -%} - {%- endif -%} -</head> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/header.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/header.html deleted file mode 100644 index 658531d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/header.html +++ /dev/null @@ -1,30 +0,0 @@ -<header class="site-header" role="banner"> - - <div class="wrapper"> - {%- assign default_paths = site.pages | map: "path" -%} - {%- assign page_paths = site.header_pages | default: default_paths -%} - <a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a> - - {%- if page_paths -%} - <nav class="site-nav"> - <input type="checkbox" id="nav-trigger" class="nav-trigger" /> - <label for="nav-trigger"> - <span class="menu-icon"> - <svg viewBox="0 0 18 15" width="18px" height="15px"> - <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/> - </svg> - </span> - </label> - - <div class="trigger"> - {%- for path in page_paths -%} - {%- assign my_page = site.pages | where: "path", path | first -%} - {%- if my_page.title -%} - <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a> - {%- endif -%} - {%- endfor -%} - </div> - </nav> - {%- endif -%} - </div> -</header> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-github.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-github.html deleted file mode 100644 index e501a16..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-github.html +++ /dev/null @@ -1 +0,0 @@ -<a href="https://github.com/{{ include.username }}"><span class="icon icon--github">{% include icon-github.svg %}</span><span class="username">{{ include.username }}</span></a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-github.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-github.svg deleted file mode 100644 index e6c5f6d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-github.svg +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-twitter.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-twitter.html deleted file mode 100644 index e623dbd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-twitter.html +++ /dev/null @@ -1 +0,0 @@ -<a href="https://twitter.com/{{ include.username }}"><span class="icon icon--twitter">{% include icon-twitter.svg %}</span><span class="username">{{ include.username }}</span></a> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-twitter.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-twitter.svg deleted file mode 100644 index efc0ecf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/icon-twitter.svg +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/social.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/social.html deleted file mode 100644 index 44046b8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_includes/social.html +++ /dev/null @@ -1,14 +0,0 @@ -<ul class="social-media-list"> - {%- if site.dribbble_username -%}<li><a href="https://dribbble.com/{{ site.dribbble_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#dribbble' | relative_url }}"></use></svg> <span class="username">{{ site.dribbble_username| escape }}</span></a></li>{%- endif -%} - {%- if site.facebook_username -%}<li><a href="https://www.facebook.com/{{ site.facebook_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#facebook' | relative_url }}"></use></svg> <span class="username">{{ site.facebook_username| escape }}</span></a></li>{%- endif -%} - {%- if site.flickr_username -%}<li><a href="https://www.flickr.com/photos/{{ site.flickr_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#flickr' | relative_url }}"></use></svg> <span class="username">{{ site.flickr_username| escape }}</span></a></li>{%- endif -%} - {%- if site.github_username -%}<li><a href="https://github.com/{{ site.github_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg> <span class="username">{{ site.github_username| escape }}</span></a></li>{%- endif -%} - {%- if site.instagram_username -%}<li><a href="https://instagram.com/{{ site.instagram_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#instagram' | relative_url }}"></use></svg> <span class="username">{{ site.instagram_username| escape }}</span></a></li>{%- endif -%} - {%- if site.linkedin_username -%}<li><a href="https://www.linkedin.com/in/{{ site.linkedin_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#linkedin' | relative_url }}"></use></svg> <span class="username">{{ site.linkedin_username| escape }}</span></a></li>{%- endif -%} - {%- if site.pinterest_username -%}<li><a href="https://www.pinterest.com/{{ site.pinterest_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#pinterest' | relative_url }}"></use></svg> <span class="username">{{ site.pinterest_username| escape }}</span></a></li>{%- endif -%} - {%- for mst in site.mastodon -%}{%- if mst.username and mst.instance -%}<li><a href="https://{{ mst.instance| cgi_escape | escape}}/@{{mst.username}}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#mastodon' | relative_url }}"></use></svg> <span class="username">{{ mst.username|escape }}</span></a></li>{%- endif -%}{%- endfor -%} - {%- if site.twitter_username -%}<li><a href="https://www.twitter.com/{{ site.twitter_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#twitter' | relative_url }}"></use></svg> <span class="username">{{ site.twitter_username| escape }}</span></a></li>{%- endif -%} - {%- if site.youtube_username -%}<li><a href="https://youtube.com/{{ site.youtube_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg> <span class="username">{{ site.youtube_username| escape }}</span></a></li>{%- endif -%} - {%- if site.googleplus_username -%}<li><a href="https://plus.google.com/{{ site.googleplus_username| escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#googleplus' | relative_url }}"></use></svg> <span class="username">{{ site.googleplus_username| escape }}</span></a></li>{%- endif -%} - {%- if site.rss -%}<li><a href="{{ 'feed.xml' | relative_url }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#rss' | relative_url }}"></use></svg> <span>{{ site.rss | escape }}</span></a></li>{%- endif -%} -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/default.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/default.html deleted file mode 100644 index 58e141b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/default.html +++ /dev/null @@ -1,20 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ page.lang | default: site.lang | default: "en" }}"> - - {%- include head.html -%} - - <body> - - {%- include header.html -%} - - <main class="page-content" aria-label="Content"> - <div class="wrapper"> - {{ content }} - </div> - </main> - - {%- include footer.html -%} - - </body> - -</html> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/home.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/home.html deleted file mode 100644 index 8f8ac79..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/home.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: default ---- - -<div class="home"> - {%- if page.title -%} - <h1 class="page-heading">{{ page.title }}</h1> - {%- endif -%} - - {{ content }} - - {%- if site.posts.size > 0 -%} - <h2 class="post-list-heading">{{ page.list_title | default: "Posts" }}</h2> - <ul class="post-list"> - {%- for post in site.posts -%} - <li> - {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%} - <span class="post-meta">{{ post.date | date: date_format }}</span> - <h3> - <a class="post-link" href="{{ post.url | relative_url }}"> - {{ post.title | escape }} - </a> - </h3> - {%- if site.show_excerpts -%} - {{ post.excerpt }} - {%- endif -%} - </li> - {%- endfor -%} - </ul> - - <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p> - {%- endif -%} - -</div> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/page.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/page.html deleted file mode 100644 index 01e4b2a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/page.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: default ---- -<article class="post"> - - <header class="post-header"> - <h1 class="post-title">{{ page.title | escape }}</h1> - </header> - - <div class="post-content"> - {{ content }} - </div> - -</article> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/post.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/post.html deleted file mode 100644 index abf9696..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_layouts/post.html +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: default ---- -<article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> - - <header class="post-header"> - <h1 class="post-title p-name" itemprop="name headline">{{ page.title | escape }}</h1> - <p class="post-meta"> - <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished"> - {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%} - {{ page.date | date: date_format }} - </time> - {%- if page.author -%} - • <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span class="p-author h-card" itemprop="name">{{ page.author }}</span></span> - {%- endif -%}</p> - </header> - - <div class="post-content e-content" itemprop="articleBody"> - {{ content }} - </div> - - {%- if site.disqus.shortname -%} - {%- include disqus_comments.html -%} - {%- endif -%} - - <a class="u-url" href="{{ page.url | relative_url }}" hidden></a> -</article> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima.scss deleted file mode 100644 index cb0865b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima.scss +++ /dev/null @@ -1,51 +0,0 @@ -@charset "utf-8"; - -// Define defaults for each variable. - -$base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default; -$base-font-size: 16px !default; -$base-font-weight: 400 !default; -$small-font-size: $base-font-size * 0.875 !default; -$base-line-height: 1.5 !default; - -$spacing-unit: 30px !default; - -$text-color: #111 !default; -$background-color: #fdfdfd !default; -$brand-color: #2a7ae2 !default; - -$grey-color: #828282 !default; -$grey-color-light: lighten($grey-color, 40%) !default; -$grey-color-dark: darken($grey-color, 25%) !default; - -$table-text-align: left !default; - -// Width of the content area -$content-width: 800px !default; - -$on-palm: 600px !default; -$on-laptop: 800px !default; - -// Use media queries like this: -// @include media-query($on-palm) { -// .wrapper { -// padding-right: $spacing-unit / 2; -// padding-left: $spacing-unit / 2; -// } -// } -@mixin media-query($device) { - @media screen and (max-width: $device) { - @content; - } -} - -@mixin relative-font-size($ratio) { - font-size: $base-font-size * $ratio; -} - -// Import partials. -@import - "minima/base", - "minima/layout", - "minima/syntax-highlighting" -; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_base.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_base.scss deleted file mode 100644 index e61b0be..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_base.scss +++ /dev/null @@ -1,254 +0,0 @@ -/** - * Reset some basic elements - */ -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; -} - - - -/** - * Basic styling - */ -body { - font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; - color: $text-color; - background-color: $background-color; - -webkit-text-size-adjust: 100%; - -webkit-font-feature-settings: "kern" 1; - -moz-font-feature-settings: "kern" 1; - -o-font-feature-settings: "kern" 1; - font-feature-settings: "kern" 1; - font-kerning: normal; - display: flex; - min-height: 100vh; - flex-direction: column; -} - - - -/** - * Set `margin-bottom` to maintain vertical rhythm - */ -h1, h2, h3, h4, h5, h6, -p, blockquote, pre, -ul, ol, dl, figure, -%vertical-rhythm { - margin-bottom: $spacing-unit / 2; -} - - - -/** - * `main` element - */ -main { - display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ -} - - - -/** - * Images - */ -img { - max-width: 100%; - vertical-align: middle; -} - - - -/** - * Figures - */ -figure > img { - display: block; -} - -figcaption { - font-size: $small-font-size; -} - - - -/** - * Lists - */ -ul, ol { - margin-left: $spacing-unit; -} - -li { - > ul, - > ol { - margin-bottom: 0; - } -} - - - -/** - * Headings - */ -h1, h2, h3, h4, h5, h6 { - font-weight: $base-font-weight; -} - - - -/** - * Links - */ -a { - color: $brand-color; - text-decoration: none; - - &:visited { - color: darken($brand-color, 15%); - } - - &:hover { - color: $text-color; - text-decoration: underline; - } - - .social-media-list &:hover { - text-decoration: none; - - .username { - text-decoration: underline; - } - } -} - - -/** - * Blockquotes - */ -blockquote { - color: $grey-color; - border-left: 4px solid $grey-color-light; - padding-left: $spacing-unit / 2; - @include relative-font-size(1.125); - letter-spacing: -1px; - font-style: italic; - - > :last-child { - margin-bottom: 0; - } -} - - - -/** - * Code formatting - */ -pre, -code { - @include relative-font-size(0.9375); - border: 1px solid $grey-color-light; - border-radius: 3px; - background-color: #eef; -} - -code { - padding: 1px 5px; -} - -pre { - padding: 8px 12px; - overflow-x: auto; - - > code { - border: 0; - padding-right: 0; - padding-left: 0; - } -} - - - -/** - * Wrapper - */ -.wrapper { - max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); - max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); - margin-right: auto; - margin-left: auto; - padding-right: $spacing-unit; - padding-left: $spacing-unit; - @extend %clearfix; - - @include media-query($on-laptop) { - max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); - max-width: calc(#{$content-width} - (#{$spacing-unit})); - padding-right: $spacing-unit / 2; - padding-left: $spacing-unit / 2; - } -} - - - -/** - * Clearfix - */ -%clearfix:after { - content: ""; - display: table; - clear: both; -} - - - -/** - * Icons - */ - -.svg-icon { - width: 16px; - height: 16px; - display: inline-block; - fill: #{$grey-color}; - padding-right: 5px; - vertical-align: text-top; -} - -.social-media-list { - li + li { - padding-top: 5px; - } -} - - - -/** - * Tables - */ -table { - margin-bottom: $spacing-unit; - width: 100%; - text-align: $table-text-align; - color: lighten($text-color, 18%); - border-collapse: collapse; - border: 1px solid $grey-color-light; - tr { - &:nth-child(even) { - background-color: lighten($grey-color-light, 6%); - } - } - th, td { - padding: ($spacing-unit / 3) ($spacing-unit / 2); - } - th { - background-color: lighten($grey-color-light, 3%); - border: 1px solid darken($grey-color-light, 4%); - border-bottom-color: darken($grey-color-light, 12%); - } - td { - border: 1px solid $grey-color-light; - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_layout.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_layout.scss deleted file mode 100644 index c69af11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_layout.scss +++ /dev/null @@ -1,255 +0,0 @@ -/** - * Site header - */ -.site-header { - border-top: 5px solid $grey-color-dark; - border-bottom: 1px solid $grey-color-light; - min-height: $spacing-unit * 1.865; - - // Positioning context for the mobile navigation icon - position: relative; -} - -.site-title { - @include relative-font-size(1.625); - font-weight: 300; - line-height: $base-line-height * $base-font-size * 2.25; - letter-spacing: -1px; - margin-bottom: 0; - float: left; - - &, - &:visited { - color: $grey-color-dark; - } -} - -.site-nav { - float: right; - line-height: $base-line-height * $base-font-size * 2.25; - - .nav-trigger { - display: none; - } - - .menu-icon { - display: none; - } - - .page-link { - color: $text-color; - line-height: $base-line-height; - - // Gaps between nav items, but not on the last one - &:not(:last-child) { - margin-right: 20px; - } - } - - @include media-query($on-palm) { - position: absolute; - top: 9px; - right: $spacing-unit / 2; - background-color: $background-color; - border: 1px solid $grey-color-light; - border-radius: 5px; - text-align: right; - - label[for="nav-trigger"] { - display: block; - float: right; - width: 36px; - height: 36px; - z-index: 2; - cursor: pointer; - } - - .menu-icon { - display: block; - float: right; - width: 36px; - height: 26px; - line-height: 0; - padding-top: 10px; - text-align: center; - - > svg { - fill: $grey-color-dark; - } - } - - input ~ .trigger { - clear: both; - display: none; - } - - input:checked ~ .trigger { - display: block; - padding-bottom: 5px; - } - - .page-link { - display: block; - padding: 5px 10px; - - &:not(:last-child) { - margin-right: 0; - } - margin-left: 20px; - } - } -} - - - -/** - * Site footer - */ -.site-footer { - border-top: 1px solid $grey-color-light; - padding: $spacing-unit 0; -} - -.footer-heading { - @include relative-font-size(1.125); - margin-bottom: $spacing-unit / 2; -} - -.contact-list, -.social-media-list { - list-style: none; - margin-left: 0; -} - -.footer-col-wrapper { - @include relative-font-size(0.9375); - color: $grey-color; - margin-left: -$spacing-unit / 2; - @extend %clearfix; -} - -.footer-col { - float: left; - margin-bottom: $spacing-unit / 2; - padding-left: $spacing-unit / 2; -} - -.footer-col-1 { - width: -webkit-calc(35% - (#{$spacing-unit} / 2)); - width: calc(35% - (#{$spacing-unit} / 2)); -} - -.footer-col-2 { - width: -webkit-calc(20% - (#{$spacing-unit} / 2)); - width: calc(20% - (#{$spacing-unit} / 2)); -} - -.footer-col-3 { - width: -webkit-calc(45% - (#{$spacing-unit} / 2)); - width: calc(45% - (#{$spacing-unit} / 2)); -} - -@include media-query($on-laptop) { - .footer-col-1, - .footer-col-2 { - width: -webkit-calc(50% - (#{$spacing-unit} / 2)); - width: calc(50% - (#{$spacing-unit} / 2)); - } - - .footer-col-3 { - width: -webkit-calc(100% - (#{$spacing-unit} / 2)); - width: calc(100% - (#{$spacing-unit} / 2)); - } -} - -@include media-query($on-palm) { - .footer-col { - float: none; - width: -webkit-calc(100% - (#{$spacing-unit} / 2)); - width: calc(100% - (#{$spacing-unit} / 2)); - } -} - - - -/** - * Page content - */ -.page-content { - padding: $spacing-unit 0; - flex: 1; -} - -.page-heading { - @include relative-font-size(2); -} - -.post-list-heading { - @include relative-font-size(1.75); -} - -.post-list { - margin-left: 0; - list-style: none; - - > li { - margin-bottom: $spacing-unit; - } -} - -.post-meta { - font-size: $small-font-size; - color: $grey-color; -} - -.post-link { - display: block; - @include relative-font-size(1.5); -} - - - -/** - * Posts - */ -.post-header { - margin-bottom: $spacing-unit; -} - -.post-title { - @include relative-font-size(2.625); - letter-spacing: -1px; - line-height: 1; - - @include media-query($on-laptop) { - @include relative-font-size(2.25); - } -} - -.post-content { - margin-bottom: $spacing-unit; - - h2 { - @include relative-font-size(2); - - @include media-query($on-laptop) { - @include relative-font-size(1.75); - } - } - - h3 { - @include relative-font-size(1.625); - - @include media-query($on-laptop) { - @include relative-font-size(1.375); - } - } - - h4 { - @include relative-font-size(1.25); - - @include media-query($on-laptop) { - @include relative-font-size(1.125); - } - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_syntax-highlighting.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_syntax-highlighting.scss deleted file mode 100644 index bccdb89..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/_sass/minima/_syntax-highlighting.scss +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Syntax highlighting styles - */ -.highlight { - background: #fff; - @extend %vertical-rhythm; - - .highlighter-rouge & { - background: #eef; - } - - .c { color: #998; font-style: italic } // Comment - .err { color: #a61717; background-color: #e3d2d2 } // Error - .k { font-weight: bold } // Keyword - .o { font-weight: bold } // Operator - .cm { color: #998; font-style: italic } // Comment.Multiline - .cp { color: #999; font-weight: bold } // Comment.Preproc - .c1 { color: #998; font-style: italic } // Comment.Single - .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special - .gd { color: #000; background-color: #fdd } // Generic.Deleted - .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific - .ge { font-style: italic } // Generic.Emph - .gr { color: #a00 } // Generic.Error - .gh { color: #999 } // Generic.Heading - .gi { color: #000; background-color: #dfd } // Generic.Inserted - .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific - .go { color: #888 } // Generic.Output - .gp { color: #555 } // Generic.Prompt - .gs { font-weight: bold } // Generic.Strong - .gu { color: #aaa } // Generic.Subheading - .gt { color: #a00 } // Generic.Traceback - .kc { font-weight: bold } // Keyword.Constant - .kd { font-weight: bold } // Keyword.Declaration - .kp { font-weight: bold } // Keyword.Pseudo - .kr { font-weight: bold } // Keyword.Reserved - .kt { color: #458; font-weight: bold } // Keyword.Type - .m { color: #099 } // Literal.Number - .s { color: #d14 } // Literal.String - .na { color: #008080 } // Name.Attribute - .nb { color: #0086B3 } // Name.Builtin - .nc { color: #458; font-weight: bold } // Name.Class - .no { color: #008080 } // Name.Constant - .ni { color: #800080 } // Name.Entity - .ne { color: #900; font-weight: bold } // Name.Exception - .nf { color: #900; font-weight: bold } // Name.Function - .nn { color: #555 } // Name.Namespace - .nt { color: #000080 } // Name.Tag - .nv { color: #008080 } // Name.Variable - .ow { font-weight: bold } // Operator.Word - .w { color: #bbb } // Text.Whitespace - .mf { color: #099 } // Literal.Number.Float - .mh { color: #099 } // Literal.Number.Hex - .mi { color: #099 } // Literal.Number.Integer - .mo { color: #099 } // Literal.Number.Oct - .sb { color: #d14 } // Literal.String.Backtick - .sc { color: #d14 } // Literal.String.Char - .sd { color: #d14 } // Literal.String.Doc - .s2 { color: #d14 } // Literal.String.Double - .se { color: #d14 } // Literal.String.Escape - .sh { color: #d14 } // Literal.String.Heredoc - .si { color: #d14 } // Literal.String.Interpol - .sx { color: #d14 } // Literal.String.Other - .sr { color: #009926 } // Literal.String.Regex - .s1 { color: #d14 } // Literal.String.Single - .ss { color: #990073 } // Literal.String.Symbol - .bp { color: #999 } // Name.Builtin.Pseudo - .vc { color: #008080 } // Name.Variable.Class - .vg { color: #008080 } // Name.Variable.Global - .vi { color: #008080 } // Name.Variable.Instance - .il { color: #099 } // Literal.Number.Integer.Long -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/assets/main.scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/assets/main.scss deleted file mode 100644 index c60ebe4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/assets/main.scss +++ /dev/null @@ -1,5 +0,0 @@ ---- -# Only the main Sass file needs front matter (the dashes are enough) ---- - -@import "minima"; diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/assets/minima-social-icons.svg b/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/assets/minima-social-icons.svg deleted file mode 100644 index fa7399f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minima-2.5.1/assets/minima-social-icons.svg +++ /dev/null @@ -1,33 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - -<symbol id="dribbble" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 16c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm6.747-6.905c-.234-.074-2.115-.635-4.257-.292.894 2.456 1.258 4.456 1.328 4.872 1.533-1.037 2.624-2.68 2.93-4.58zM10.67 14.3c-.102-.6-.5-2.688-1.46-5.18l-.044.014C5.312 10.477 3.93 13.15 3.806 13.4c1.158.905 2.614 1.444 4.194 1.444.947 0 1.85-.194 2.67-.543zm-7.747-1.72c.155-.266 2.03-3.37 5.555-4.51.09-.03.18-.056.27-.08-.173-.39-.36-.778-.555-1.16-3.413 1.02-6.723.977-7.023.97l-.003.208c0 1.755.665 3.358 1.756 4.57zM1.31 6.61c.307.005 3.122.017 6.318-.832-1.132-2.012-2.353-3.705-2.533-3.952-1.912.902-3.34 2.664-3.784 4.785zM6.4 1.368c.188.253 1.43 1.943 2.548 4 2.43-.91 3.46-2.293 3.582-2.468C11.323 1.827 9.736 1.176 8 1.176c-.55 0-1.087.066-1.6.19zm6.89 2.322c-.145.194-1.29 1.662-3.816 2.694.16.325.31.656.453.99.05.117.1.235.147.352 2.274-.286 4.533.172 4.758.22-.015-1.613-.59-3.094-1.543-4.257z"/></symbol> - -<symbol id="facebook" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M15.117 0H.883C.395 0 0 .395 0 .883v14.234c0 .488.395.883.883.883h7.663V9.804H6.46V7.39h2.086V5.607c0-2.066 1.262-3.19 3.106-3.19.883 0 1.642.064 1.863.094v2.16h-1.28c-1 0-1.195.48-1.195 1.18v1.54h2.39l-.31 2.42h-2.08V16h4.077c.488 0 .883-.395.883-.883V.883C16 .395 15.605 0 15.117 0" fill-rule="nonzero"/></symbol> - -<symbol id="flickr" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 8c0 2.05 1.662 3.71 3.71 3.71 2.05 0 3.713-1.66 3.713-3.71S5.76 4.29 3.71 4.29C1.663 4.29 0 5.95 0 8zm8.577 0c0 2.05 1.662 3.71 3.712 3.71C14.33 11.71 16 10.05 16 8s-1.662-3.71-3.71-3.71c-2.05 0-3.713 1.66-3.713 3.71z"/></symbol> - -<symbol id="github" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"/></symbol> - -<symbol id="googleplus" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M5.09 7.273v1.745h2.89c-.116.75-.873 2.197-2.887 2.197-1.737 0-3.155-1.44-3.155-3.215S3.353 4.785 5.09 4.785c.99 0 1.652.422 2.03.786l1.382-1.33c-.887-.83-2.037-1.33-3.41-1.33C2.275 2.91 0 5.19 0 8s2.276 5.09 5.09 5.09c2.94 0 4.888-2.065 4.888-4.974 0-.334-.036-.59-.08-.843H5.09zm10.91 0h-1.455V5.818H13.09v1.455h-1.454v1.454h1.455v1.455h1.46V8.727H16"/></symbol> - -<symbol id="instagram" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C5.827 0 5.555.01 4.702.048 3.85.088 3.27.222 2.76.42c-.526.204-.973.478-1.417.923-.445.444-.72.89-.923 1.417-.198.51-.333 1.09-.372 1.942C.008 5.555 0 5.827 0 8s.01 2.445.048 3.298c.04.852.174 1.433.372 1.942.204.526.478.973.923 1.417.444.445.89.72 1.417.923.51.198 1.09.333 1.942.372.853.04 1.125.048 3.298.048s2.445-.01 3.298-.048c.852-.04 1.433-.174 1.942-.372.526-.204.973-.478 1.417-.923.445-.444.72-.89.923-1.417.198-.51.333-1.09.372-1.942.04-.853.048-1.125.048-3.298s-.01-2.445-.048-3.298c-.04-.852-.174-1.433-.372-1.942-.204-.526-.478-.973-.923-1.417-.444-.445-.89-.72-1.417-.923-.51-.198-1.09-.333-1.942-.372C10.445.008 10.173 0 8 0zm0 1.44c2.136 0 2.39.01 3.233.048.78.036 1.203.166 1.485.276.374.145.64.318.92.598.28.28.453.546.598.92.11.282.24.705.276 1.485.038.844.047 1.097.047 3.233s-.01 2.39-.05 3.233c-.04.78-.17 1.203-.28 1.485-.15.374-.32.64-.6.92-.28.28-.55.453-.92.598-.28.11-.71.24-1.49.276-.85.038-1.1.047-3.24.047s-2.39-.01-3.24-.05c-.78-.04-1.21-.17-1.49-.28-.38-.15-.64-.32-.92-.6-.28-.28-.46-.55-.6-.92-.11-.28-.24-.71-.28-1.49-.03-.84-.04-1.1-.04-3.23s.01-2.39.04-3.24c.04-.78.17-1.21.28-1.49.14-.38.32-.64.6-.92.28-.28.54-.46.92-.6.28-.11.7-.24 1.48-.28.85-.03 1.1-.04 3.24-.04zm0 2.452c-2.27 0-4.108 1.84-4.108 4.108 0 2.27 1.84 4.108 4.108 4.108 2.27 0 4.108-1.84 4.108-4.108 0-2.27-1.84-4.108-4.108-4.108zm0 6.775c-1.473 0-2.667-1.194-2.667-2.667 0-1.473 1.194-2.667 2.667-2.667 1.473 0 2.667 1.194 2.667 2.667 0 1.473-1.194 2.667-2.667 2.667zm5.23-6.937c0 .53-.43.96-.96.96s-.96-.43-.96-.96.43-.96.96-.96.96.43.96.96z"/></symbol> - -<symbol id="linkedin" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M13.632 13.635h-2.37V9.922c0-.886-.018-2.025-1.234-2.025-1.235 0-1.424.964-1.424 1.96v3.778h-2.37V6H8.51v1.04h.03c.318-.6 1.092-1.233 2.247-1.233 2.4 0 2.845 1.58 2.845 3.637v4.188zM3.558 4.955c-.762 0-1.376-.617-1.376-1.377 0-.758.614-1.375 1.376-1.375.76 0 1.376.617 1.376 1.375 0 .76-.617 1.377-1.376 1.377zm1.188 8.68H2.37V6h2.376v7.635zM14.816 0H1.18C.528 0 0 .516 0 1.153v13.694C0 15.484.528 16 1.18 16h13.635c.652 0 1.185-.516 1.185-1.153V1.153C16 .516 15.467 0 14.815 0z" fill-rule="nonzero"/></symbol> - -<symbol id="pinterest" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.582 0 0 3.582 0 8c0 3.39 2.108 6.285 5.084 7.45-.07-.633-.133-1.604.028-2.295.146-.625.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.11.646-1.943 1.448-1.943.683 0 1.012.513 1.012 1.127 0 .687-.436 1.713-.662 2.664-.19.797.4 1.445 1.185 1.445 1.42 0 2.514-1.498 2.514-3.662 0-1.91-1.376-3.25-3.342-3.25-2.276 0-3.61 1.71-3.61 3.47 0 .69.263 1.43.593 1.83.066.08.075.15.057.23-.06.25-.196.8-.223.91-.035.15-.115.18-.268.11C3.516 10.46 2.89 9 2.89 7.82c0-2.52 1.834-4.84 5.287-4.84 2.774 0 4.932 1.98 4.932 4.62 0 2.76-1.74 4.98-4.16 4.98-.81 0-1.57-.42-1.84-.92l-.5 1.9c-.18.698-.67 1.57-1 2.1.75.23 1.54.357 2.37.357 4.41 0 8-3.58 8-8s-3.59-8-8-8z" fill-rule="nonzero"/></symbol> - -<symbol id="rss" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.8 16C12.8 8.978 7.022 3.2 0 3.2V0c8.777 0 16 7.223 16 16h-3.2zM2.194 11.61c1.21 0 2.195.985 2.195 2.196 0 1.21-.99 2.194-2.2 2.194C.98 16 0 15.017 0 13.806c0-1.21.983-2.195 2.194-2.195zM10.606 16h-3.11c0-4.113-3.383-7.497-7.496-7.497v-3.11c5.818 0 10.606 4.79 10.606 10.607z"/></symbol> - -<symbol id="stackoverflow" class="svg-icon" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.658 14.577v-4.27h1.423V16H1.23v-5.693h1.42v4.27h10.006zm-8.583-1.423h7.16V11.73h-7.16v1.424zm.173-3.235l6.987 1.46.3-1.38L4.55 8.54l-.302 1.38zm.906-3.37l6.47 3.02.602-1.3-6.47-3.02-.602 1.29zm1.81-3.19l5.478 4.57.906-1.08L7.87 2.28l-.9 1.078zM10.502 0L9.338.863l4.27 5.735 1.164-.862L10.5 0z"/></symbol> - -<symbol id="twitter" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M16 3.038c-.59.26-1.22.437-1.885.517.677-.407 1.198-1.05 1.443-1.816-.634.37-1.337.64-2.085.79-.598-.64-1.45-1.04-2.396-1.04-1.812 0-3.282 1.47-3.282 3.28 0 .26.03.51.085.75-2.728-.13-5.147-1.44-6.766-3.42C.83 2.58.67 3.14.67 3.75c0 1.14.58 2.143 1.46 2.732-.538-.017-1.045-.165-1.487-.41v.04c0 1.59 1.13 2.918 2.633 3.22-.276.074-.566.114-.865.114-.21 0-.41-.02-.61-.058.42 1.304 1.63 2.253 3.07 2.28-1.12.88-2.54 1.404-4.07 1.404-.26 0-.52-.015-.78-.045 1.46.93 3.18 1.474 5.04 1.474 6.04 0 9.34-5 9.34-9.33 0-.14 0-.28-.01-.42.64-.46 1.2-1.04 1.64-1.7z" fill-rule="nonzero"/></symbol> - -<symbol id="youtube" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 7.345c0-1.294.16-2.59.16-2.59s.156-1.1.636-1.587c.608-.637 1.408-.617 1.764-.684C3.84 2.36 8 2.324 8 2.324s3.362.004 5.6.166c.314.038.996.04 1.604.678.48.486.636 1.588.636 1.588S16 6.05 16 7.346v1.258c0 1.296-.16 2.59-.16 2.59s-.156 1.102-.636 1.588c-.608.638-1.29.64-1.604.678-2.238.162-5.6.166-5.6.166s-4.16-.037-5.44-.16c-.356-.067-1.156-.047-1.764-.684-.48-.487-.636-1.587-.636-1.587S0 9.9 0 8.605v-1.26zm6.348 2.73V5.58l4.323 2.255-4.32 2.24z"/></symbol> - -<symbol id="mastodon" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"> - <path transform="scale(0.07)" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/> - <path transform="scale(0.07)" fill="#FFF" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/> -</symbol> - - -</svg> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/.autotest b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/.autotest deleted file mode 100644 index b6fbce5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/.autotest +++ /dev/null @@ -1,34 +0,0 @@ -# -*- ruby -*- - -require 'autotest/restart' -require 'autotest/rcov' if ENV['RCOV'] - -Autotest.add_hook :initialize do |at| - at.testlib = 'minitest/autorun' - - bench_tests = %w(TestMinitestBenchmark) - mock_tests = %w(TestMinitestMock TestMinitestStub) - spec_tests = %w(TestMinitestReporter TestMetaStatic TestMeta - TestSpecInTestCase) - unit_tests = %w(TestMinitestGuard TestMinitestRunnable - TestMinitestRunner TestMinitestTest TestMinitestUnit - TestMinitestUnitInherited TestMinitestUnitOrder - TestMinitestUnitRecording TestMinitestUnitTestCase) - - { - bench_tests => "test/minitest/test_minitest_benchmark.rb", - mock_tests => "test/minitest/test_minitest_mock.rb", - spec_tests => "test/minitest/test_minitest_reporter.rb", - unit_tests => "test/minitest/test_minitest_unit.rb", - }.each do |klasses, file| - klasses.each do |klass| - at.extra_class_map[klass] = file - end - end - - at.add_exception 'coverage.info' - at.add_exception 'coverage' -end - -# require 'autotest/rcov' -# Autotest::RCov.command = 'rcov_info' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/History.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/History.rdoc deleted file mode 100644 index bac6015..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/History.rdoc +++ /dev/null @@ -1,1529 +0,0 @@ -=== 5.20.0 / 2023-09-06 - -* 1 minor enhancement: - - * Optionally allow autorun exit hook to remain active in forked child. (casperisfine) - -=== 5.19.0 / 2023-07-26 - -* 2 minor enhancements: - - * Add metadata lazy accessor to Runnable / Result. (matteeyah) - * Only load minitest/unit (aka ancient MiniTest compatibility layer) if ENV["MT_COMPAT"] - -* 1 bug fix: - - * Minitest::TestTask enthusiastically added itself to default. (ParadoxV5) - -=== 5.18.1 / 2023-06-16 - -* 3 bug fixes: - - * Avoid extra string allocations when filtering tests. (tenderlove) - * Only mention deprecated ENV['N'] if it is an integer string. - * Push up test_order to Minitest::Runnable to fix minitest/hell. (koic) - -=== 5.18.0 / 2023-03-04 - -* 2 major enhancements: - - * Added assert_pattern & refute_pattern for pattern matching. (flavorjones) - * Added matching must_pattern_match & wont_pattern_match to minitest/spec. - -* 1 bug fix: - - * Support the new message format of NameError in Ruby 3.3 (mame) - -=== 5.17.0 / 2022-12-31 - -* 1 minor enhancement: - - * Refactor setup hooks into a SETUP_METHODS constant. (MSP-Greg) - -* 3 bug fixes: - - * Fix kwargs for Mock calls to delegator. (blowmage) - * Fix kwargs for expectations. (bobmazanec, blowmage) - * Remove check for .b method. (tenderlove) - -=== 5.16.3 / 2022-08-17 - -* 2 bug fixes: - - * Fixed exception sanitization by removing TypeError restriction on rescue. - * Use A instead of deprecated TESTOPTS in rake test:slow. (davidstosik) - -=== 5.16.2 / 2022-07-03 - -* 4 bug fixes: - - * Added MT_KWARGS_HACK kludge for stub to deal with ruby 2.7 kwargs nastiness. (tsugimoto) - * In #expect, pop Hash class from args if $MT_KWARGS_HACK. (casperisfine) - * In above scenario, set expected kwargs (as Objects) based on actual kwargs. - * Nuke ivars if exception fails to marshal twice (eg better_errors). (irphilli) - -=== 5.16.1 / 2022-06-20 - -* 2 bug fixes: - - * Apparently adding real kwarg support to mocks/stubs broke some code. Fixed. - * Use `MT_KWARGS_HACK=1` to activate the kludgy kwargs support w/ caveats. - * Clarified some doco wrt the block on #stub. - -=== 5.16.0 / 2022-06-14 - -* 2 major enhancements: - - * Added Minitest::TestTask. - * Dropping ruby 2.2 - 2.5. 2.6 is DTM soon too. - -* 11 minor enhancements: - - * Added --show-skips option to show skips at end of run but not require --verbose. (MSP-Greg) - * Added Minitest.seed, the random seed used by the run. - * Calling `srand Minitest.seed` before all shuffles to ensure determinism. - * Extended #stub to handle kwargs for both block and call args. (SampsonCrowley) - * Extended Mock#__call to display kwargs. - * Extended Mock#expect to record kwargs. - * Extended Mock#method_missing to take kwargs & compare them against expected. - * Mock#method_missing displays better errors on arity mismatch. - * Removed minor optimization removing empty suites before run. - * Simplified test randomization (test order will change even with fixed seed). - * assert_match now returns the MatchData on success. (Nakilon) - -* 3 bug fixes: - - * (Re)Fixed marshalling of exceptions, neutering them in 2 passes. - * Fixed more problems with rdoc. - * Had to patch up mock and stub to deal with <=2.7 kwargs oddities - -=== 5.15.0 / 2021-12-14 - -* 1 major enhancement: - - * assert_throws returns the value returned, if any. (volmer) - -* 3 minor enhancements: - - * Added -S <CODES> option to skip reporting of certain types of output - * Enable Ruby deprecation warnings by default. (casperisfine) - * Use Etc.nprocessors by default in order to maximize cpu usage. (tonytonyjan) - -* 6 bug fixes: - - * Close then unlink tempfiles on Windows. (nobu) - * Fixed #skip_until for windows paths. (MSP-Greg) - * Fixed a bunch of tests for jruby and windows. (MSP-Greg) - * Fixed marshalling of specs if they error. (tenderlove, jeremyevans, et al) - * Updated deprecation message for block expectations. (blowmage) - * Use Kernel.warn directly in expectations in case CUT defines their own warn. (firien) - -=== 5.14.4 / 2021-02-23 - -* 1 bug fix: - - * Fixed deprecation warning using stub with methods using keyword arguments. (Nakilon) - -=== 5.14.3 / 2021-01-05 - -* 1 bug fix: - - * Bumped require_ruby_version to < 4 (trunk = 3.1). - -=== 5.14.2 / 2020-08-31 - -* 1 bug fix: - - * Bumped ruby version to include 3.0 (trunk). - -=== 5.14.1 / 2020-05-15 - -* 3 minor enhancements: - - * Minitest.filter_backtrace returns original backtrace if filter comes back empty. - * Minitest::BacktraceFilter now returns entire backtrace if $MT_DEBUG set in env. - * Return true on a successful refute. (jusleg) - -* 1 bug fix: - - * Fixed expectation doco to not use global expectations. - -=== 5.14.0 / 2020-01-11 - -* 2 minor enhancements: - - * Block-assertions (eg assert_output) now error if raised inside the block. (casperisfine) - * Changed assert_raises to only catch Assertion since that covers Skip and friends. - -* 3 bug fixes: - - * Added example for value wrapper with block to Expectations module. (stomar) - * Fixed use of must/wont_be_within_delta on Expectation instance. (stomar) - * Renamed UnexpectedError#exception to #error to avoid problems with reraising. (casperisfine) - -=== 5.13.0 / 2019-10-29 - -* 9 minor enhancements: - - * Added Minitest::Guard#osx? - * Added examples to documentation for assert_raises. (lxxxvi) - * Added expectations #path_must_exist and #path_wont_exist. Not thrilled with the names. - * Added fail_after(year, month, day, msg) to allow time-bombing after a deadline. - * Added skip_until(year, month, day, msg) to allow deferring until a deadline. - * Deprecated Minitest::Guard#maglev? - * Deprecated Minitest::Guard#rubinius? - * Finally added assert_path_exists and refute_path_exists. (deivid-rodriguez) - * Refactored and pulled Assertions#things_to_diff out of #diff. (BurdetteLamar) - -* 3 bug fixes: - - * Fix autorun bug that affects fork exit status in tests. (dylanahsmith/jhawthorn) - * Improved documentation for _/value/expect, especially for blocks. (svoop) - * Support new Proc#to_s format. (ko1) - -=== 5.12.2 / 2019-09-28 - -* 1 bug fix: - - * After chatting w/ @y-yagi and others, decided to lower support to include ruby 2.2. - -=== 5.12.1 / 2019-09-28 - -* 1 minor enhancement: - - * Added documentation for Reporter classes. (sshaw) - -* 3 bug fixes: - - * Avoid using 'match?' to support older ruby versions. (y-yagi) - * Fixed broken link to reference on goodness-of-fit testing. (havenwood) - * Update requirements in readme and Rakefile/hoe spec. - -=== 5.12.0 / 2019-09-22 - -* 8 minor enhancements: - - * Added a descriptive error if assert_output or assert_raises called without a block. (okuramasafumi) - * Changed mu_pp_for_diff to make having both \n and \\n easier to debug. - * Deprecated $N for specifying number of parallel test runners. Use MT_CPU. - * Deprecated use of global expectations. To be removed from MT6. - * Extended Assertions#mu_pp to encoding validity output for strings to improve diffs. - * Extended Assertions#mu_pp to output encoding and validity if invalid to improve diffs. - * Extended Assertions#mu_pp_for_diff to make escaped newlines more obvious in diffs. - * Fail gracefully when expectation used outside of `it`. - -* 3 bug fixes: - - * Check `option[:filter]` klass before match. Fixes 2.6 warning. (y-yagi) - * Fixed Assertions#diff from recalculating if set to nil - * Fixed spec section of readme to not use deprecated global expectations. (CheezItMan) - -=== 5.11.3 / 2018-01-26 - -* 1 bug fix: - - * Pushed #error? up to Reportable module. (composerinteralia) - -=== 5.11.2 / 2018-01-25 - -* 1 minor enhancement: - - * Reversed Test < Result. Back to < Runnable and using Reportable for shared code. - -* 2 bug fixes: - - * Fixed Result#location for instances of Test. (alexisbernard) - * Fixed deprecation message for Runnable#marshal_dump. (y-yagi) - -=== 5.11.1 / 2018-01-02 - -* 1 bug fix: - - * Fixed Result (a superclass of Test) overriding Runnable's name accessors. (y-yagi, MSP-Greg) - -=== 5.11.0 / 2018-01-01 - -* 2 major enhancements: - - * Added Minitest::Result and Minitest::Result.from(runnable). - * Changed Minitest::Test to subclass Result and refactored methods up. - -* 7 minor enhancements: - - * Added --no-plugins and MT_NO_PLUGINS to bypass MT plugin autoloading. Helps with bad actors installed globally. - * Added bench_performance_{logarithmic,power} for spec-style benchmarks. (rickhull) - * Added deprecation warning for Runnable#marshal_dump. - * Minitest.run_one_method now checks for instance of Result, not exact same class. - * Minitest::Test.run returns a Result version of self, not self. - * ProgressReporter#prerecord now explicitly prints klass.name. Allows for fakers. - -* 4 bug fixes: - - * Object.stub no longer calls the passed block if stubbed with a callable. - * Object.stub now passes blocks down to the callable result. - * Pushed Minitest::Test#time & #time_it up to Runnable. - * Test nil equality directly in assert_equal. Fixes #679. (voxik) - -=== 5.11.0b1 / 2017-12-20 - -* 2 major enhancements: - - * Added Minitest::Result and Minitest::Result.from(runnable). - * Changed Minitest::Test to subclass Result and refactored methods up. - -* 6 minor enhancements: - - * Added --no-plugins and MT_NO_PLUGINS to bypass MT plugin autoloading. Helps with bad actors installed globally. - * Added bench_performance_{logarithmic,power} for spec-style benchmarks. (rickhull) - * Minitest.run_one_method now checks for instance of Result, not exact same class. - * Minitest::Test.run returns a Result version of self, not self. - * ProgressReporter#prerecord now explicitly prints klass.name. Allows for fakers. - * Removed Runnable.marshal_dump/load. - -* 4 bug fixes: - - * Object.stub no longer calls the passed block if stubbed with a callable. - * Object.stub now passes blocks down to the callable result. - * Pushed Minitest::Test#time & #time_it up to Runnable. - * Test nil equality directly in assert_equal. Fixes #679. (voxik) - -=== 5.10.3 / 2017-07-21 - -* 1 minor enhancement: - - * Extended documentation for Mock#expect for multiple calls to mock object. (insti) - -* 2 bug fixes: - - * Finished off missing doco. - * Fixed verbose output on parallelize_me! classes. (chanks) - -=== 5.10.2 / 2017-05-09 - -* 1 minor enhancement: - - * Added suggestion in minitest/hell to install minitest/proveit. - -* 7 bug fixes: - - * Expand MT6 to Minitest 6. (xaviershay) - * Fixed location of assert_send deprecation. (rab) - * Fixed location of nil assert_equal deprecation to work with expectations. (jeremyevans) - * Fixed minitest/hell to use parallelize_me! (azul) - * Made deprecation use warn so -W0 will silence it. - * Workaround for rdoc nodoc generation bug that totally f'd up minitest doco. (Paxa) - * Write aggregated_results directly to the IO object to avoid mixed encoding errors. (tenderlove) - -=== 5.10.1 / 2016-12-01 - -* 1 bug fix: - - * Added a hack/kludge to deal with missing #prerecord on reporters that aren't properly subclassing AbstractReporter (I'm looking at you minitest-reporters) - -=== 5.10.0 / 2016-11-30 - -* 1 major enhancement: - - * Deprecated ruby 1.8, 1.9, possibly 2.0, assert_send, & old MiniTest namespace. - -* 3 minor enhancements: - - * Warn if assert_equal expects a nil. This will fail in minitest 6+. (tenderlove) - * Added AbstractReporter#prerecord and extended ProgressReporter and CompositeReporter to use it. - * Minor optimization: remove runnables with no runnable methods before run. - -* 3 bug fixes: - - * Fix assert_throw rescuing any NameError and ArgumentError. (waldyr) - * Clean up (most of the) last remaining vestiges of minitest/unit. - * 2.4: removed deprecation warnings when referring to Fixnum. - -=== 5.9.1 / 2016-09-25 - -* 2 bug fixes: - - * Re-release to refresh gem certificate signing. ugh. - * Fixed hoe/minitest to not augment load path if we're actually testing minitest. - -=== 5.9.0 / 2016-05-16 - -* 8 minor enhancements: - - * Added Minitest.info_signal accessors to customize signal for test run info. (nate) - * Added assert_mock to make it more clear that you're testing w/ them. - * Added negative filter by test name. (utilum) - * Added warning to README that 1.8 and 1.9 support will be dropped in minitest 6. - * Automatically activate minitest/hell if $MT_HELL is defined. - * Improved default error messages for assert and refute. (bhenderson) - * minitest/hell now tries to require minitest/proveit - * mu_pp for strings prints out non-standard encodings to improve assert_equal diffs. - -* 1 bug fix: - - * Removed Interrupt from PASSTHROUGH_EXCEPTIONS (already handled). (waldyr) - -=== 5.8.5 / 2016-09-25 - -* 2 bug fixes: - - * Re-release to refresh gem certificate signing. ugh. - * Fixed hoe/minitest to not augment load path if we're actually testing minitest. - -=== 5.8.4 / 2016-01-21 - -* 1 bug fix: - - * Allow Minitest::Assertion to pass through assert_raises so inner failures are dealt with first. - -=== 5.8.3 / 2015-11-17 - -* 1 minor enhancement: - - * Added extra note about mocks and threads to readme. (zamith) - -* 1 bug fix: - - * Fixed bug in Mock#verify. (pithub/zamith) - -=== 5.8.2 / 2015-10-26 - -* 1 bug fix: - - * Fixed using parallelize_me! and capture_io (or any locking io). (arlt/tenderlove) - -=== 5.8.1 / 2015-09-23 - -* 1 minor enhancement: - - * Refactor assert_raises to be cleaner and to pass SystemExit and SignalException. (bhenderson) - -=== 5.8.0 / 2015-08-06 - -* 2 minor enhancements: - - * Add optional delegation mechanism to extend object with a mock. (zamith) - * Return early if there are no filtered methods. (jeremyevans) - -* 1 bug fix: - - * Don't extend io with pride if io is not a tty. (toy) - -=== 5.7.0 / 2015-05-27 - -* 1 major enhancement: - - * assert_raises now matches subclasses of the expected exception types. (jeremyevans) - -* 3 minor enhancements: - - * Added :block type for minitest/spec's #infect_an_assertion. (jeremyevans) - * Inline verification error messages in minitest/mock for GC performance. (zamith) - * assert_raises defaults to RuntimeError if not specified. (jeremyevans) - -* 4 bug fixes: - - * Added 'class' to minitest/mock's overridden_methods list. (zamith) - * Added file/line to infect_an_assertion's class_eval call. (jeremyevans) - * Cleared UnexpectedError's mesg w/ generic string. - * Fixed non-proc-oriented expectations when used on proc target. (jeremyevans) - -=== 5.6.1 / 2015-04-27 - -* 2 bug fixes: - - * Added Minitest.clock_time and switched all Time.now to it. (tenderlove) - * Moved Minitest::Expectations#_ into Minitest::Spec::DSL. - -=== 5.6.0 / 2015-04-13 - -* 4 major enhancements: - - * Added Minitest::Expectation value monad. - * Added Minitest::Expectations#_ that returns an Expectation. Aliased to value. - * All expectations are added to Minitest::Expectation. - * At some point, the methods on Object will be deprecated and then removed. - -* 4 minor enhancements: - - * Added a note about bundle exec pitfall in ruby 2.2+. (searls) - * Lazily start the parallel executor. (tenderlove) - * Make mocks more debugger-friendly (edward) - * Print out the current test run on interrupt. (riffraff) - -* 3 bug fixes: - - * Fix failing test under Windows. (kimhmadsen) - * Record mocked calls before they happen so mocks can raise exceptions easier (tho I'm not a fan). (corecode) - * Tried to clarify mocks vs stubs terminology better. (kkirsche) - -=== 5.5.1 / 2015-01-09 - -* 1 bug fix: - - * Fixed doco problems. (zzak) - -=== 5.5.0 / 2014-12-12 // mri 2.2.0 (as a real gem) - -* 1 minor enhancement: - - * Allow seed to be given via ENV for rake test loader sadness: eg rake SEED=42. - -=== 5.4.3 / 2014-11-11 - -* 2 bug fixes: - - * Clarified requirements for ruby are now 1.8.7 or better. - * Force encode error output in case mal-encoded exception is raised. (jasonrclark) - -=== 5.4.2 / 2014-09-26 - -* 2 minor enhancements: - - * Extract teardown method list. - * Thanks to minitest-gcstats got a 5-10% speedup via reduced GC! - -=== 5.4.1 / 2014-08-28 - -* 1 bug fix: - - * Fixed specs hidden by nesting/ordering bug (blowmage/apotonick) - -=== 5.4.0 / 2014-07-07 - -* 2 minor enhancements: - - * Kernel#describe extended to splat additional_desc. - * Spec#spec_type extended to take a splat of additional items, passed to matcher procs. - -* 1 bug fix: - - * minitest/spec should require minitest/test, not minitest/unit. (doudou) - -=== 5.3.5 / 2014-06-17 - -* 1 minor enhancement: - - * Spit and polish (mostly spit). - -=== 5.3.4 / 2014-05-15 - -* 1 minor enhancement: - - * Test classes are randomized before running. (judofyr) - -=== 5.3.3 / 2014-04-14 - -* 1 bug fix: - - * Fixed using expectations w/ DSL in Test class w/o describe. (blowmage+others) - -=== 5.3.2 / 2014-04-02 - -* 1 bug fix: - - * Fixed doco on Assertions.assertions. (xaviershay) - -=== 5.3.1 / 2014-03-14 - -* 1 minor enhancement: - - * Modified verbage on bad 'let' names to be more helpful. (Archytaus) - -* 1 bug fix: - - * Fixed 2 cases still using MiniTest. (mikesea) - -=== 5.3.0 / 2014-02-25 - -* 1 minor enhancement: - - * Mocked methods can take a block to verify state. Seattle.rb 12 bday present from ernie! Thanks!! - -=== 5.2.3 / 2014-02-10 - -* 1 bug fix: - - * Fixed Spec#let check to allow overriding of other lets. (mvz) - -=== 5.2.2 / 2014-01-22 - -* 1 minor enhancement: - - * Spec#let raises ArgumentError if you override _any_ instance method (except subject). (rynr) - -* 1 bug fix: - - * Fixed up benchmark spec doco and added a test to demonstrate. (bhenderson) - -=== 5.2.1 / 2014-01-07 - -* 1 bug fix: - - * Properly deal with horrible mix of runtime load errors + other at_exit handlers. (dougo/chqr) - -=== 5.2.0 / 2013-12-13 - -* 1 minor enhancement: - - * Change expectations to allow calling most on procs (but not calling the proc). (bhenderson+others) - -=== 5.1.0 / 2013-12-05 - -* 1 minor enhancement: - - * Use a Queue for scheduling parallel tests. (tenderlove) - -* 1 bug fix: - - * Fixed misspelling in doco. (amatsuda) - -=== 5.0.8 / 2013-09-20 - -* 1 bug fix: - - * Fixed siginfo handler by rearranging reporters and fixing to_s. (tenderlove) - -=== 5.0.7 / 2013-09-05 - -* 2 minor enhancements: - - * Added clarification about the use of thread local variables in expectations. (jemc) - * Added extra message about skipped tests, if any. Disable globally with $MT_NO_SKIP_MSG. - -* 2 bug fixes: - - * Only require minitest, not minitest/autorun in pride_plugin. (judofyr) - * Require rubygems in load_plugins in case you're not using minitest/autorun. - -=== 5.0.6 / 2013-06-28 - -* 3 minor enhancements: - - * Allow stub to pass args to blocks. (swindsor) - * Improved warning message about minitest/autorun to address 1.9's minitest/autorun. - * Made minitest/test require minitest as needed. For lib writers. (erikh) - -* 1 bug fix: - - * Fixed missing require in minitest/test. (erikh) - -=== 4.7.5 / 2013-06-21 // mri 2.1.1 - -* 2 bug fixes: - - * Fix Spec#describe_stack to be thread local. - * Fix multithreaded test failures by defining Time local to mock test namespace - -=== 5.0.5 / 2013-06-20 - -* 6 bug fixes: - - * DOH! Fixed the rest of the new casing on Minitest. (splattael) - * Fixed typo on minitest/mock rdoc. (mrgilman/guiceolin) - * Make Spec::DSL.describe_stack thread local to avoid failing on my own tests. - * Make a fake Time.now local to the tests so they won't interfere with real reporter timings. - * Make everything mockable by wrapping all 'special' methods in a smarter wrapper. (bestie) - * Raise ArgumentError if let name starts with 'test'. (johnmaxwell) - -=== 5.0.4 / 2013-06-07 - -* 5 minor enhancements: - - * Added AbstractReporter, defining required Reporter API to quack properly. - * Added doco for writing reporters. - * Refactored Reporter into ProgressReporter and SummaryReporter. (idea: phiggins, code:me+scotch) - * Refactored SummaryReporter pushing up to StatisticsReporter. (phiggins) - * Removed Reporter#run_and_report... cleaner, but doesn't "fit" in the API. - -=== 5.0.3 / 2013-05-29 - -* 4 minor enhancements: - - * Added Runnable.with_info_handler and Runnable.on_signal. - * Moved io.sync restore to Reporter#run_and_report. - * Refactored inner loop of Reporter#report to #to_s. Callable for status updates. - * Restored MT4's mid-run report (^t). (tenderlove). - -=== 5.0.2 / 2013-05-20 - -* 3 bug fixes: - - * Gem.find_files is smarter than I remember... cause I wrote it that way. *sigh* I'm getting old. - * Pride wasn't doing puts through its #io. (tmiller/tenderlove) - * Replaced Runnable#dup and Test#dup with marshal_dump/load. Too many problems cropping up on untested rails code. (tenderlove/rubys) - -=== 5.0.1 / 2013-05-14 - -* 2 bug fixes: - - * Documented Assertions' need for @assertions to be defined by the includer. - * Only load one plugin version per name. Tries for latest. - -=== 5.0.0 / 2013-05-10 - -Oh god... here we go... - -Minitest 5: - -* 4 deaths in the family: - - * MiniTest.runner is dead. No more manager objects. - * MiniTest::Unit#record is dead. Use a Reporter instance instead. - * MiniTest::Unit._run_* is dead. Runnable things are responsible for their own runs. - * MiniTest::Unit.output is dead. No more centralized IO. - -* 12 major (oft incompatible) changes: - - * Renamed MiniTest to Minitest. Your pinkies will thank me. (aliased to MiniTest) - * Removed MiniTest::Unit entirely. No more manager objects. - * Added Minitest::Runnable. Everything minitest can run subclasses this. - * Renamed MiniTest::Unit::TestCase to Minitest::Test (subclassing Runnable). - * Added Minitest::Benchmark. - * Your benchmarks need to move to their own subclass. - * Benchmarks using the spec DSL have to have "Bench" somewhere in their describe. - * MiniTest::Unit.after_tests moved to Minitest.after_run - * MiniTest::Unit.autorun is now Minitest.autorun. Just require minitest/autorun pls. - * Removed ParallelEach#grep since it isn't used anywhere. - * Renamed Runnable#__name__ to Runnable#name (but uses @NAME internally). - * Runnable#run needs to return self. Allows for swapping of results as needed. - -* 8 minor moves: - - * Moved Assertions module to minitest/assertions.rb - * Moved Expectations module to minitest/expectations.rb - * Moved Test to minitest/test.rb - * Moved everything else in minitest/unit.rb to minitest.rb - * minitest/unit.rb is now just a small (user-test only) compatibility layer. - * Moved most of minitest/pride into minitest/pride_plugin. - * minitest/pride now just activates pride. - * Moved ParallelEach under Minitest. - -* 9 additions: - - * Added a plugin system that can extend command-line options. - * Added Minitest.extensions. - * Added Minitest.reporter (only available during startup). - * Added Minitest.run(args). This is the very top of any Minitest run. - * Added Minitest::Reporter. Everything minitest can report goes through here. - * Minitest.reporter is a composite so you can add your own. - * Added Minitest::CompositeReporter. Much easier to extend with your own reporters. - * Added UnexpectedError, an Assertion subclass, to wrap up errors. - * Minitest::Test#run is now freakin' beautiful. 47 -> 17 loc - -* 11 other: - - * Removed Object.infect_with_assertions (it was already dead code). - * Runnables are responsible for knowing their result_code (eg "." or "F"). - * Minitest.autorun now returns boolean, not exit code. - * Added FAQ entry for extending via modules. (phiggins) - * Implement Runnable#dup to cleanse state back to test results. Helps with serialization. pair:tenderlove - * Moved ParallelEach under Minitest. - * Runnable#run needs to return self. Allows for swapping of results as needed. - * Minitest.init_plugins passes down options. - * Minitest.load_plugins only loads once. - * Fixed minitest/pride to work with rake test loader again. (tmiller) - * Added count/size to ParallelEach to fix use w/in stdlib's test/unit. :( (btaitelb) - -* 5 voodoo: - - * Removed mutex from minitest.rb (phiggins) - * Removed mutex from test.rb (phiggins) - * Removed Minitest::Reporter.synchronize (phiggins) - * Removed Minitest::Test.synchronize (phiggins) - * Upon loading minitest/parallel_each, record, capture_io and capture_subprocess_io are doped with synchronization code. (phiggins) - -=== 4.7.4 / 2013-05-01 - -This is probably the last release of the 4.x series. It will be merged -to ruby and will be put into maintenance mode there. - -I'm not set in stone on this, but at this point further development of -minitest (5+) will be gem-only. It is just too hard to work w/in -ruby-core w/ test-unit compatibility holding minitest development -back. - -* 2 minor enhancements: - - * Added count/size to ParallelEach to fix use w/in stdlib's test/unit. :( (btaitelb) - * Allow disabling of info_signal handler in runner. (erikh) - -=== 4.7.3 / 2013-04-20 - -* 1 bug fix: - - * Reverted stubbing of module methods change. Stub the user, not the impl. (ab9/tyabe) - -=== 4.7.2 / 2013-04-18 - -* 2 bug fixes: - - * Fixed inconsistency in refute_in_delta/epsilon. I double negatived my logic. (nettsundere) - * Fixed stubbing of module methods (eg Kernel#sleep). (steveklabnik) - -=== 4.7.1 / 2013-04-09 - -* 1 minor enhancement: - - * Added FAQ section to README - -* 1 bug fix: - - * Fixed bug where guard runs tests bypassing minitest/autorun and an ivar isn't set right. (darrencauthon) - -=== 4.7.0 / 2013-03-18 - -* 1 major enhancement: - - * Refactored MiniTest::Spec into MiniTest::Spec::DSL. - -* 1 bug fix: - - * Removed $DEBUG handler that detected when test/unit and minitest were both loaded. (tenderlove) - -=== 4.6.2 / 2013-02-27 - -* 1 minor enhancement: - - * Change error output to match Class#method, making it easier to use -n filter. - -=== 4.6.1 / 2013-02-14 - -* 1 bug fix: - - * Fixed an option processing bug caused by test/unit's irresponsibly convoluted code. (floehopper) - -=== 4.6.0 / 2013-02-07 - -* 3 major enhancements: - - * Removed ::reset_setup_teardown_hooks - * Removed the long deprecated assert_block - * Removed the long deprecated lifecycle hooks: add_(setup|teardown)_hook - -* 1 minor enhancement: - - * Allow filtering tests by suite name as well as test name. (lazyatom) - -* 2 bug fixes: - - * Made hex handling (eg object_ids) in mu_pp_for_diff more specific. (maxim) - * nodoc top-level module. (zzak) - -=== 4.5.0 / 2013-01-22 - -* 1 major enhancement: - - * Rearranged minitest/unit.rb so NO parallelization code is loaded/used until you opt-in. - -* 4 minor enhancements: - - * Added TestCase#skipped? for teardown guards - * Added maglev? guard - * Document that record can be sent twice if teardown fails or errors (randycoulman) - * Errors in teardown are now recorded. (randycoulman) - -* 3 bug fixes: - - * Added hacks and skips to get clean test runs on maglev - * Modified float tests for maglev float output differences. Not sure this is right. Not sure I care. - * Test for existance of diff.exe instead of assuming they have devkit. (blowmage/Cumbayah) - -=== 4.4.0 / 2013-01-07 - -* 3 minor enhancements: - - * Added fit_logarithic and assert_performance_logarithmic. (ktheory) - * Merge processed options so others can mess with defaults. (tenderlove) - * TestCase#message can now take another proc to defer custom message cost. (ordinaryzelig/bhenderson) - -* 1 bug fix: - - * TestCase#passed? now true if test is skipped. (qanhd) - -=== 4.3.3 / 2012-12-06 - -* 1 bug fix: - - * Updated information about stubbing. (daviddavis) - -=== 4.3.2 / 2012-11-27 // mri 2.0.0 - -* 1 minor enhancement: - - * Improved assert_equals error message to point you at #== of member objects. (kcurtin) - -=== 4.3.1 / 2012-11-23 - -* 1 bug fix: - - * Moved test_children to serial testcase to prevent random failures. - -=== 4.3.0 / 2012-11-17 - -* 4 minor enhancements: - - * Allow #autorun to run even if loaded with other test libs that call exit. (sunaku) - * Do not include Expectations in Object if $MT_NO_EXPECTATIONS is set (experimental?) - * Gave some much needed love to assert_raises. - * Mock#expect can take a block to custom-validate args. (gmoothart) - -=== 4.2.0 / 2012-11-02 - -* 4 major enhancements: - - * Added minitest/hell - run all your tests through the ringer! - * Added support for :parallel test_order to run test cases in parallel. - * Removed last_error and refactored runner code to be threadsafe. - * _run_suites now runs suites in parallel if they opt-in. - -* 4 minor enhancements: - - * Added TestCase#synchronize - * Added TestCase.make_my_diffs_pretty! - * Added TestCase.parallelize_me! - * Lock on capture_io for thread safety (tenderlove) - -=== 4.1.0 / 2012-10-05 - -* 2 minor enhancements: - - * Added skip example to readme. (dissolved) - * Extracted backtrace filter to object. (tenderlove) - -* 1 bug fix: - - * OMG I'm so dumb. Fixed access to deprecated hook class methods. I hate ruby modules. (route) - -=== 4.0.0 / 2012-09-28 - -* 1 major enhancement: - - * The names of a privately-used undocumented constants are Super Important™. - -* 1 minor enhancement: - - * Support stubbing methods that would be handled via method_missing. (jhsu) - -* 3 bug fixes: - - * Add include_private param to MiniTest::Mock#respond_to? (rf-) - * Fixed use of minitest/pride with --help. (zw963) - * Made 'No visible difference.' message more clear. (ckrailo) - -=== 3.5.0 / 2012-09-21 - -* 1 minor enhancement: - - * Added #capture_subprocess_io. (route) - -=== 3.4.0 / 2012-09-05 - -* 2 minor enhancements: - - * assert_output can now take regexps for expected values. (suggested by stomar) - * Clarified that ruby 1.9/2.0's phony gems cause serious confusion for rubygems. - -=== 3.3.0 / 2012-07-26 - -* 1 major enhancement: - - * Deprecated add_(setup|teardown)_hook in favor of (before|after)_(setup|teardown) [2013-01-01] - -* 4 minor enhancements: - - * Refactored deprecated hook system into a module. - * Refactored lifecycle hooks into a module. - * Removed after_setup/before_teardown + run_X_hooks from Spec. - * Spec#before/after now do a simple define_method and call super. DUR. - -* 2 bug fixes: - - * Fixed #passed? when used against a test that called flunk. (floehopper) - * Fixed rdoc bug preventing doco for some expectations. (stomar). - -=== 3.2.0 / 2012-06-26 - -* 1 minor enhancement: - - * Stubs now yield self. (peterhellberg) - -* 1 bug fix: - - * Fixed verbose test that only fails when run in verbose mode. mmmm irony. - -=== 3.1.0 / 2012-06-13 - -* 2 minor enhancements: - - * Removed LONG deprecated Unit.out accessor - * Removed generated method name munging from minitest/spec. (ordinaryzelig/tenderlove) - -=== 3.0.1 / 2012-05-24 - -* 1 bug fix: - - * I'm a dumbass and refactored into Mock#call. Renamed to #__call so you can mock #call. (mschuerig) - -=== 3.0.0 / 2012-05-08 - -* 3 major enhancements: - - * Added Object#stub (in minitest/mock.rb). - * Mock#expect mocks are used in the order they're given. - * Mock#verify now strictly compares against expect calls. - -* 3 minor enhancements: - - * Added caller to deprecation message. - * Mock error messages are much prettier. - * Removed String check for RHS of assert/refute_match. This lets #to_str work properly. - -* 1 bug fix: - - * Support drive letter on Windows. Patch provided from MRI by Usaku NAKAMURA. (ayumin) - -=== 2.12.1 / 2012-04-10 - -* 1 minor enhancement: - - * Added ruby releases to History.txt to make it easier to see what you're missing - -* 1 bug fix: - - * Rolled my own deprecate msg to allow MT to work with rubygems < 1.7 - -=== 2.12.0 / 2012-04-03 - -* 4 minor enhancements: - - * ::it returns test method name (wojtekmach) - * Added #record method to runner so runner subclasses can cleanly gather data. - * Added Minitest alias for MiniTest because even I forget. - * Deprecated assert_block!! Yay!!! - -* 1 bug fix: - - * Fixed warning in i_suck_and_my_tests_are_order_dependent! (phiggins) - -=== 2.11.4 / 2012-03-20 - -* 2 minor enhancements: - - * Updated known extensions - * You got your unicode in my tests! You got your tests in my unicode! (fl00r) - -* 1 bug fix: - - * Fixed MiniTest::Mock example in the readme. (conradwt) - -=== 2.11.3 / 2012-02-29 - -* 2 bug fixes: - - * Clarified that assert_raises returns the exception for further testing - * Fixed assert_in_epsilon when both args are negative. (tamc) - -=== 2.11.2 / 2012-02-14 - -* 1 minor enhancement: - - * Display failures/errors on SIGINFO. (tenderlove) - -* 1 bug fix: - - * Fixed MiniTest::Unit.after_tests for Ruby 1.9.3. (ysbaddaden) - -=== 2.11.1 / 2012-02-01 - -* 3 bug fixes: - - * Improved description for --name argument. (drd) - * Ensure Mock#expect's expected args is an Array. (mperham) - * Ensure Mock#verify verifies multiple expects of the same method. (chastell) - -=== 2.11.0 / 2012-01-25 - -* 2 minor enhancements: - - * Added before / after hooks for setup and teardown. (tenderlove) - * Pushed run_setup_hooks down to Spec. (tenderlove) - -=== 2.10.1 / 2012-01-17 - -* 1 bug fix: - - * Fixed stupid 1.9 path handling grumble grumble. (graaff) - -=== 2.10.0 / 2011-12-20 - -* 3 minor enhancements: - - * Added specs for must/wont be_empty/respond_to/be_kind_of and others. - * Added tests for assert/refute predicate. - * Split minitest/excludes.rb out to its own gem. - -* 1 bug fix: - - * Fixed must_be_empty and wont_be_empty argument handling. (mrsimo) - -=== 2.9.1 / 2011-12-13 - -* 4 minor enhancements: - - * Added a ton of tests on spec error message output. - * Cleaned up consistency of msg handling on unary expectations. - * Improved error messages on assert/refute_in_delta. - * infect_an_assertion no longer checks arity and better handles args. - -* 1 bug fix: - - * Fixed error message on specs when 2+ args and custom message provided. (chastell) - -=== 2.9.0 / 2011-12-07 - -* 4 minor enhancements: - - * Added TestCase.exclude and load_excludes for programmatic filtering of tests. - * Added guard methods so you can cleanly skip based on platform/impl - * Holy crap! 100% doco! `rdoc -C` ftw - * Switch assert_output to test stderr before stdout to possibly improve debugging - -=== 2.8.1 / 2011-11-17 - -* 1 bug fix: - - * Ugh. 1.9's test/unit violates my internals. Added const_missing. - -=== 2.8.0 / 2011-11-08 - -* 2 minor enhancements: - - * Add a method so that code can be run around a particular test case (tenderlove) - * Turn off backtrace filtering if we're running inside a ruby checkout. (drbrain) - -* 2 bug fixes: - - * Fixed 2 typos and 2 doc glitches. (splattael) - * Remove unused block arguments to avoid creating Proc objects. (k-tsj) - -=== 2.7.0 / 2011-10-25 - -* 2 minor enhancements: - - * Include failed values in the expected arg output in MockExpectationError. (nono) - * Make minitest/pride work with other 256 color capable terms. (sunaku) - -* 2 bug fixes: - - * Clarified the documentation of minitest/benchmark (eregon) - * Fixed using expectations in regular unit tests. (sunaku) - -=== 2.6.2 / 2011-10-19 - -* 1 minor enhancement: - - * Added link to vim bundle. (sunaku) - -* 2 bug fixes: - - * Force gem activation in hoe minitest plugin - * Support RUBY_VERSION='2.0.0' (nagachika) - -=== 2.6.1 / 2011-09-27 - -* 2 bug fixes: - - * Alias Spec.name from Spec.to_s so it works when @name is nil (nathany) - * Fixed assert and refute_operator where second object has a bad == method. - -=== 2.6.0 / 2011-09-13 - -* 2 minor enhancements: - - * Added specify alias for it and made desc optional. - * Spec#must_be and #wont_be can be used with predicates (metaskills) - -* 1 bug fix: - - * Fixed Mock.respond_to?(var) to work with strings. (holli) - -=== 2.5.1 / 2011-08-27 // ruby 1.9.3: p0, p125, p34579 - -* 2 minor enhancements: - - * Added gem activation for minitest in minitest/autoload to help out 1.9 users - * Extended Spec.register_spec_type to allow for procs instead of just regexps. - -=== 2.5.0 / 2011-08-18 - -* 4 minor enhancements: - - * Added 2 more arguments against rspec: let & subject in 9 loc! (emmanuel/luis) - * Added TestCase.i_suck_and_my_tests_are_order_dependent! - * Extended describe to take an optional method name (2 line change!). (emmanuel) - * Refactored and extended minitest/pride to do full 256 color support. (lolcat) - -* 1 bug fix: - - * Doc fixes. (chastell) - -=== 2.4.0 / 2011-08-09 - -* 4 minor enhancements: - - * Added simple examples for all expectations. - * Improved Mock error output when args mismatch. - * Moved all expectations from Object to MiniTest::Expectations. - * infect_with_assertions has been removed due to excessive clever - -* 4 bug fixes: - - * Fix Assertions#mu_pp to deal with immutable encoded strings. (ferrous26) - * Fix minitest/pride for MacRuby (ferrous26) - * Made error output less fancy so it is more readable - * Mock shouldn't undef === and inspect. (dgraham) - -=== 2.3.1 / 2011-06-22 - -* 1 bug fix: - - * Fixed minitest hoe plugin to be a spermy dep and not depend on itself. - -=== 2.3.0 / 2011-06-15 - -* 5 minor enhancements: - - * Add setup and teardown hooks to MiniTest::TestCase. (phiggins) - * Added nicer error messages for MiniTest::Mock. (phiggins) - * Allow for less specific expected arguments in Mock. (bhenderson/phiggins) - * Made MiniTest::Mock a blank slate. (phiggins) - * Refactored minitest/spec to use the hooks instead of define_inheritable_method. (phiggins) - -* 2 bug fixes: - - * Fixed TestCase's inherited hook. (dchelimsky/phiggins/jamis, the 'good' neighbor) - * MiniTest::Assertions#refute_empty should use mu_pp in the default message. (whatthejeff) - -=== 2.2.2 / 2011-06-01 - -* 2 bug fixes: - - * Got rid of the trailing period in message for assert_equal. (tenderlove) - * Windows needs more flushing. (Akio Tajima) - -=== 2.2.1 / 2011-05-31 - -* 1 bug fix: - - * My _ONE_ non-rubygems-using minitest user goes to Seattle.rb! - -=== 2.2.0 / 2011-05-29 - -* 6 minor enhancements: - - * assert_equal (and must_equal) now tries to diff output where it makes sense. - * Added Assertions#diff(exp, act) to be used by assert_equal. - * Added Assertions#mu_pp_for_diff - * Added Assertions.diff and diff= - * Moved minitest hoe-plugin from hoe-seattlerb. (erikh) - * Skipped tests only output details in verbose mode. (tenderlove+zenspider=xoxo) - -=== 2.1.0 / 2011-04-11 - -* 5 minor enhancements: - - * Added MiniTest::Spec.register_spec_type(matcher, klass) and spec_type(desc) - * Added ability for specs to share code via subclassing of Spec. (metaskills) - * Clarified (or tried to) bench_performance_linear's use of threshold. - * MiniTest::Unit.runner=(runner) provides an easy way of creating custom test runners for specialized needs. (justinweiss) - * Reverse order of inheritance in teardowns of specs. (deepfryed) - -* 3 bug fixes: - - * FINALLY fixed problems of inheriting specs in describe/it/describe scenario. (MGPalmer) - * Fixed a new warning in 1.9.3. - * Fixed assert_block's message handling. (nobu) - -=== 2.0.2 / 2010-12-24 - -* 1 minor enhancement: - - * Completed doco on minitest/benchmark for specs. - -* 1 bug fix: - - * Benchmarks in specs that didn't call bench_range would die. (zzak). - -=== 2.0.1 / 2010-12-15 - -* 4 minor enhancements: - - * Do not filter backtrace if $DEBUG - * Exit autorun via nested at_exit handler, in case other libs call exit - * Make options accesor lazy. - * Split printing of test name and its time. (nurse) - -* 1 bug fix: - - * Fix bug when ^T is hit before runner start - -=== 2.0.0 / 2010-11-11 - -* 3 major enhancements: - - * Added minitest/benchmark! Assert your performance! YAY! - * Refactored runner to allow for more extensibility. See minitest/benchmark. - * This makes the runner backwards incompatible in some ways! - -* 9 minor enhancements: - - * Added MiniTest::Unit.after_tests { ... } - * Improved output by adding test rates and a more sortable verbose format - * Improved readme based on feedback from others - * Added io method to TestCase. If used, it'll supplant '.EF' output. - * Refactored IO in MiniTest::Unit. - * Refactored _run_anything to _run_suite to make it easier to wrap (ngauthier) - * Spec class names are now the unmunged descriptions (btakita) - * YAY for not having redundant rdoc/readmes! - * Help output is now generated from the flags you passed straight up. - -* 4 bug fixes: - - * Fixed scoping issue on minitest/mock (srbaker/prosperity) - * Fixed some of the assertion default messages - * Fixes autorun when on windows with ruby install on different drive (larsch) - * Fixed rdoc output bug in spec.rb - -=== 1.7.2 / 2010-09-23 - -* 3 bug fixes: - - * Fixed doco for expectations and Spec. - * Fixed test_capture_io on 1.9.3+ (sora_h) - * assert_raises now lets MiniTest::Skip through. (shyouhei) - -=== 1.7.1 / 2010-09-01 - -* 1 bug fix: - - * 1.9.2 fixes for spec tests - -=== 1.7.0 / 2010-07-15 - -* 5 minor enhancements: - - * Added assert_output (mapped to must_output). - * Added assert_silent (mapped to must_be_silent). - * Added examples to readme (Mike Dalessio) - * Added options output at the top of the run, for fatal run debugging (tenderlove) - * Spec's describe method returns created class - -=== 1.6.0 / 2010-03-27 // ruby 1.9.2-p290 - -* 10 minor enhancements: - - * Added --seed argument so you can reproduce a random order for debugging. - * Added documentation for assertions - * Added more rdoc and tons of :nodoc: - * Added output to give you all the options you need to reproduce that run. - * Added proper argument parsing to minitest. - * Added unique serial # to spec names so order can be preserved (needs tests). (phrogz) - * Empty 'it' fails with default msg. (phrogz) - * Remove previous method on expect to remove 1.9 warnings - * Spec#it is now order-proof wrt subclasses/nested describes. - * assert_same error message now reports in decimal, eg: oid=123. (mattkent) - -* 2 bug fixes: - - * Fixed message on refute_same to be consistent with assert_same. - * Fixed method randomization to be stable for testing. - -=== 1.5.0 / 2010-01-06 - -* 4 minor enhancements: - - * Added ability to specify what assertions should have their args flipped. - * Don't flip arguments on *include and *respond_to assertions. - * Refactored Module.infect_an_assertion from Module.infect_with_assertions. - * before/after :all now bitches and acts like :each - -* 3 bug fixes: - - * Nested describes now map to nested test classes to avoid namespace collision. - * Using undef_method instead of remove_method to clean out inherited specs. - * assert_raises was ignoring passed in message. - -=== 1.4.2 / 2009-06-25 - -* 1 bug fix: - - * Fixed info handler for systems that don't have siginfo. - -=== 1.4.1 / 2009-06-23 - -* 1 major enhancement: - - * Handle ^C and other fatal exceptions by failing - -* 1 minor enhancement: - - * Added something to catch mixed use of test/unit and minitest if $DEBUG - -* 1 bug fix: - - * Added SIGINFO handler for finding slow tests without verbose - -=== 1.4.0 / 2009-06-18 - -* 5 minor enhancement: - - * Added clarification doco. - * Added specs and mocks to autorun. - * Changed spec test class creation to be non-destructive. - * Updated rakefile for new hoe capabilities. - * describes are nestable (via subclass). before/after/def inherits, specs don't. - -* 3 bug fixes: - - * Fixed location on must/wont. - * Switched to __name__ to avoid common ivar name. - * Fixed indentation in test file (1.9). - -=== 1.3.1 / 2009-01-20 // ruby 1.9.1-p431 - -* 1 minor enhancement: - - * Added miniunit/autorun.rb as replacement for test/unit.rb's autorun. - -* 16 bug fixes: - - * 1.9 test fixes. - * Bug fixes from nobu and akira for really odd scenarios. They run ruby funny. - * Fixed (assert|refute)_match's argument order. - * Fixed LocalJumpError in autorun if exception thrown before at_exit. - * Fixed assert_in_delta (should be >=, not >). - * Fixed assert_raises to match Modules. - * Fixed capture_io to not dup IOs. - * Fixed indentation of capture_io for ruby 1.9 warning. - * Fixed location to deal better with custom assertions and load paths. (Yuki) - * Fixed order of (must|wont)_include in MiniTest::Spec. - * Fixed skip's backtrace. - * Got arg order wrong in *_match in tests, message wrong as a result. - * Made describe private. For some reason I thought that an attribute of Kernel. - * Removed disable_autorun method, added autorun.rb instead. - * assert_match escapes if passed string for pattern. - * instance_of? is different from ===, use instance_of. - -=== 1.3.0 / 2008-10-09 - -* 2 major enhancements: - - * renamed to minitest and pulled out test/unit compatibility. - * mini/test.rb is now minitest/unit.rb, everything else maps directly. - -* 12 minor enhancements: - - * assert_match now checks that act can call =~ and converts exp to a - regexp only if needed. - * Added assert_send... seems useless to me tho. - * message now forces to string... ruby-core likes to pass classes and arrays :( - * Added -v handling and switched to @verbose from $DEBUG. - * Verbose output now includes test class name and adds a sortable running time! - * Switched message generation into procs for message deferment. - * Added skip and renamed fail to flunk. - * Improved output failure messages for assert_instance_of, assert_kind_of - * Improved output for assert_respond_to, assert_same. - * at_exit now exits false instead of errors+failures. - * Made the tests happier and more readable imhfo. - * Switched index(s) == 0 to rindex(s, 0) on nobu's suggestion. Faster. - -* 5 bug fixes: - - * 1.9: Added encoding normalization in mu_pp. - * 1.9: Fixed backtrace filtering (BTs are expanded now) - * Added back exception_details to assert_raises. DOH. - * Fixed shadowed variable in mock.rb - * Fixed stupid muscle memory message bug in assert_send. - -=== 1.2.1 / 2008-06-10 - -* 7 minor enhancements: - - * Added deprecations everywhere in test/unit. - * Added test_order to TestCase. :random on mini, :sorted on test/unit (for now). - * Big cleanup in test/unit for rails. Thanks Jeremy Kemper! - * Minor readability cleanup. - * Pushed setup/run/teardown down to testcase allowing specialized testcases. - * Removed pp. Tests run 2x faster. :/ - * Renamed deprecation methods and moved to test/unit/deprecate.rb. - -=== 1.2.0 / 2008-06-09 - -* 2 major enhancements: - - * Added Mini::Spec. - * Added Mini::Mock. Thanks Steven Baker!! - -* 23 minor enhancements: - - * Added bin/use_miniunit to make it easy to test out miniunit. - * Added -n filtering, thanks to Phil Hagelberg! - * Added args argument to #run, takes ARGV from at_exit. - * Added test name output if $DEBUG. - * Added a refute (was deny) for every assert. - * Added capture_io and a bunch of nice assertions from zentest. - * Added deprecation mechanism for assert_no/not methods to test/unit/assertions. - * Added pp output when available. - * Added tests for all assertions. Pretty much maxed out coverage. - * Added tests to verify consistency and good naming. - * Aliased and deprecated all ugly assertions. - * Cleaned out test/unit. Moved autorun there. - * Code cleanup to make extensions easier. Thanks Chad! - * Got spec args reversed in all but a couple assertions. Much more readable. - * Improved error messages across the board. Adds your message to the default. - * Moved into Mini namespace, renamed to Mini::Test and Mini::Spec. - * Pulled the assertions into their own module... - * Removed as much code as I could while still maintaining full functionality. - * Moved filter_backtrace into MiniTest. - * Removed MiniTest::Unit::run. Unnecessary. - * Removed location_of_failure. Unnecessary. - * Rewrote test/unit's filter_backtrace. Flog from 37.0 to 18.1 - * Removed assert_send. Google says it is never used. - * Renamed MiniTest::Unit.autotest to #run. - * Renamed deny to refute. - * Rewrote some ugly/confusing default assertion messages. - * assert_in_delta now defaults to 0.001 precision. Makes specs prettier. - -* 9 bug fixes: - - * Fixed assert_raises to raise outside of the inner-begin/rescue. - * Fixed for ruby 1.9 and rubinius. - * No longer exits 0 if exception in code PRE-test run causes early exit. - * Removed implementors method list from mini/test.rb - too stale. - * assert_nothing_raised takes a class as an arg. wtf? STUPID - * ".EF" output is now unbuffered. - * Bunch of changes to get working with rails... UGH. - * Added stupid hacks to deal with rails not requiring their dependencies. - * Now bitch loudly if someone defines one of my classes instead of requiring. - * Fixed infect method to work better on 1.9. - * Fixed all shadowed variable warnings in 1.9. - -=== 1.1.0 / 2007-11-08 - -* 4 major enhancements: - - * Finished writing all missing assertions. - * Output matches original test/unit. - * Documented every method needed by language implementor. - * Fully switched over to self-testing setup. - -* 2 minor enhancements: - - * Added deny (assert ! test), our favorite extension to test/unit. - * Added .autotest and fairly complete unit tests. (thanks Chad for help here) - -=== 1.0.0 / 2006-10-30 - -* 1 major enhancement - - * Birthday! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/Manifest.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/Manifest.txt deleted file mode 100644 index 5c9dd1e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/Manifest.txt +++ /dev/null @@ -1,29 +0,0 @@ -.autotest -History.rdoc -Manifest.txt -README.rdoc -Rakefile -design_rationale.rb -lib/hoe/minitest.rb -lib/minitest.rb -lib/minitest/assertions.rb -lib/minitest/autorun.rb -lib/minitest/benchmark.rb -lib/minitest/expectations.rb -lib/minitest/hell.rb -lib/minitest/mock.rb -lib/minitest/parallel.rb -lib/minitest/pride.rb -lib/minitest/pride_plugin.rb -lib/minitest/spec.rb -lib/minitest/test.rb -lib/minitest/test_task.rb -lib/minitest/unit.rb -test/minitest/metametameta.rb -test/minitest/test_minitest_assertions.rb -test/minitest/test_minitest_benchmark.rb -test/minitest/test_minitest_mock.rb -test/minitest/test_minitest_reporter.rb -test/minitest/test_minitest_spec.rb -test/minitest/test_minitest_test.rb -test/minitest/test_minitest_test_task.rb diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/README.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/README.rdoc deleted file mode 100644 index cf3989d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/README.rdoc +++ /dev/null @@ -1,832 +0,0 @@ -= minitest/{test,spec,mock,benchmark} - -home :: https://github.com/minitest/minitest -bugs :: https://github.com/minitest/minitest/issues -rdoc :: https://docs.seattlerb.org/minitest -vim :: https://github.com/sunaku/vim-ruby-minitest -emacs:: https://github.com/arthurnn/minitest-emacs - -== DESCRIPTION: - -minitest provides a complete suite of testing facilities supporting -TDD, BDD, mocking, and benchmarking. - - "I had a class with Jim Weirich on testing last week and we were - allowed to choose our testing frameworks. Kirk Haines and I were - paired up and we cracked open the code for a few test - frameworks... - - I MUST say that minitest is *very* readable / understandable - compared to the 'other two' options we looked at. Nicely done and - thank you for helping us keep our mental sanity." - - -- Wayne E. Seguin - -minitest/test is a small and incredibly fast unit testing framework. -It provides a rich set of assertions to make your tests clean and -readable. - -minitest/spec is a functionally complete spec engine. It hooks onto -minitest/test and seamlessly bridges test assertions over to spec -expectations. - -minitest/benchmark is an awesome way to assert the performance of your -algorithms in a repeatable manner. Now you can assert that your newb -co-worker doesn't replace your linear algorithm with an exponential -one! - -minitest/mock by Steven Baker, is a beautifully tiny mock (and stub) -object framework. - -minitest/pride shows pride in testing and adds coloring to your test -output. I guess it is an example of how to write IO pipes too. :P - -minitest/test is meant to have a clean implementation for language -implementors that need a minimal set of methods to bootstrap a working -test suite. For example, there is no magic involved for test-case -discovery. - - "Again, I can't praise enough the idea of a testing/specing - framework that I can actually read in full in one sitting!" - - -- Piotr Szotkowski - -Comparing to rspec: - - rspec is a testing DSL. minitest is ruby. - - -- Adam Hawkins, "Bow Before MiniTest" - -minitest doesn't reinvent anything that ruby already provides, like: -classes, modules, inheritance, methods. This means you only have to -learn ruby to use minitest and all of your regular OO practices like -extract-method refactorings still apply. - -== FEATURES/PROBLEMS: - -* minitest/autorun - the easy and explicit way to run all your tests. -* minitest/test - a very fast, simple, and clean test system. -* minitest/spec - a very fast, simple, and clean spec system. -* minitest/mock - a simple and clean mock/stub system. -* minitest/benchmark - an awesome way to assert your algorithm's performance. -* minitest/pride - show your pride in testing! -* minitest/test_task - a full-featured and clean rake task generator. -* Incredibly small and fast runner, but no bells and whistles. -* Written by squishy human beings. Software can never be perfect. We will all eventually die. - -== RATIONALE: - -See design_rationale.rb to see how specs and tests work in minitest. - -== SYNOPSIS: - -Given that you'd like to test the following class: - - class Meme - def i_can_has_cheezburger? - "OHAI!" - end - - def will_it_blend? - "YES!" - end - end - -=== Unit tests - -Define your tests as methods beginning with +test_+. - - require "minitest/autorun" - - class TestMeme < Minitest::Test - def setup - @meme = Meme.new - end - - def test_that_kitty_can_eat - assert_equal "OHAI!", @meme.i_can_has_cheezburger? - end - - def test_that_it_will_not_blend - refute_match /^no/i, @meme.will_it_blend? - end - - def test_that_will_be_skipped - skip "test this later" - end - end - -=== Specs - - require "minitest/autorun" - - describe Meme do - before do - @meme = Meme.new - end - - describe "when asked about cheeseburgers" do - it "must respond positively" do - _(@meme.i_can_has_cheezburger?).must_equal "OHAI!" - end - end - - describe "when asked about blending possibilities" do - it "won't say no" do - _(@meme.will_it_blend?).wont_match /^no/i - end - end - end - -For matchers support check out: - -* https://github.com/wojtekmach/minitest-matchers -* https://github.com/rmm5t/minitest-matchers_vaccine - -=== Benchmarks - -Add benchmarks to your tests. - - # optionally run benchmarks, good for CI-only work! - require "minitest/benchmark" if ENV["BENCH"] - - class TestMeme < Minitest::Benchmark - # Override self.bench_range or default range is [1, 10, 100, 1_000, 10_000] - def bench_my_algorithm - assert_performance_linear 0.9999 do |n| # n is a range value - @obj.my_algorithm(n) - end - end - end - -Or add them to your specs. If you make benchmarks optional, you'll -need to wrap your benchmarks in a conditional since the methods won't -be defined. In minitest 5, the describe name needs to match -<tt>/Bench(mark)?$/</tt>. - - describe "Meme Benchmark" do - if ENV["BENCH"] then - bench_performance_linear "my_algorithm", 0.9999 do |n| - 100.times do - @obj.my_algorithm(n) - end - end - end - end - -outputs something like: - - # Running benchmarks: - - TestBlah 100 1000 10000 - bench_my_algorithm 0.006167 0.079279 0.786993 - bench_other_algorithm 0.061679 0.792797 7.869932 - -Output is tab-delimited to make it easy to paste into a spreadsheet. - -=== Mocks - -Mocks and stubs defined using terminology by Fowler & Meszaros at -https://www.martinfowler.com/bliki/TestDouble.html: - -"Mocks are pre-programmed with expectations which form a specification -of the calls they are expected to receive. They can throw an exception -if they receive a call they don't expect and are checked during -verification to ensure they got all the calls they were expecting." - - class MemeAsker - def initialize(meme) - @meme = meme - end - - def ask(question) - method = question.tr(" ", "_") + "?" - @meme.__send__(method) - end - end - - require "minitest/autorun" - - describe MemeAsker, :ask do - describe "when passed an unpunctuated question" do - it "should invoke the appropriate predicate method on the meme" do - @meme = Minitest::Mock.new - @meme_asker = MemeAsker.new @meme - @meme.expect :will_it_blend?, :return_value - - @meme_asker.ask "will it blend" - - @meme.verify - end - end - end - -==== Multi-threading and Mocks - -Minitest mocks do not support multi-threading. If it works, fine, if it doesn't -you can use regular ruby patterns and facilities like local variables. Here's -an example of asserting that code inside a thread is run: - - def test_called_inside_thread - called = false - pr = Proc.new { called = true } - thread = Thread.new(&pr) - thread.join - assert called, "proc not called" - end - -=== Stubs - -Mocks and stubs are defined using terminology by Fowler & Meszaros at -https://www.martinfowler.com/bliki/TestDouble.html: - -"Stubs provide canned answers to calls made during the test". - -Minitest's stub method overrides a single method for the duration of -the block. - - def test_stale_eh - obj_under_test = Something.new - - refute obj_under_test.stale? - - Time.stub :now, Time.at(0) do # stub goes away once the block is done - assert obj_under_test.stale? - end - end - -A note on stubbing: In order to stub a method, the method must -actually exist prior to stubbing. Use a singleton method to create a -new non-existing method: - - def obj_under_test.fake_method - ... - end - -=== Running Your Tests - -Ideally, you'll use a rake task to run your tests (see below), either -piecemeal or all at once. BUT! You don't have to: - - % ruby -Ilib:test test/minitest/test_minitest_test.rb - Run options: --seed 37685 - - # Running: - - ...................................................................... (etc) - - Finished in 0.107130s, 1446.8403 runs/s, 2959.0217 assertions/s. - - 155 runs, 317 assertions, 0 failures, 0 errors, 0 skips - -There are runtime options available, both from minitest itself, and also -provided via plugins. To see them, simply run with +--help+: - - % ruby -Ilib:test test/minitest/test_minitest_test.rb --help - minitest options: - -h, --help Display this help. - -s, --seed SEED Sets random seed. Also via env. Eg: SEED=n rake - -v, --verbose Verbose. Show progress processing files. - -n, --name PATTERN Filter run on /regexp/ or string. - -e, --exclude PATTERN Exclude /regexp/ or string from run. - - Known extensions: pride, autotest - -p, --pride Pride. Show your testing pride! - -a, --autotest Connect to autotest server. - -=== Rake Tasks - -You can set up a rake task to run all your tests by adding this to your Rakefile: - - require "minitest/test_task" - - Minitest::TestTask.create # named test, sensible defaults - - # or more explicitly: - - Minitest::TestTask.create(:test) do |t| - t.libs << "test" - t.libs << "lib" - t.warning = false - t.test_globs = ["test/**/*_test.rb"] - end - - task :default => :test - -Each of these will generate 4 tasks: - - rake test :: Run the test suite. - rake test:cmd :: Print out the test command. - rake test:isolated :: Show which test files fail when run separately. - rake test:slow :: Show bottom 25 tests sorted by time. - -=== Rake Task Variables - -There are a bunch of variables you can supply to rake to modify the run. - - MT_LIB_EXTRAS :: Extra libs to dynamically override/inject for custom runs. - N :: -n: Tests to run (string or /regexp/). - X :: -x: Tests to exclude (string or /regexp/). - A :: Any extra arguments. Honors shell quoting. - MT_CPU :: How many threads to use for parallel test runs - SEED :: -s --seed Sets random seed. - TESTOPTS :: Deprecated, same as A - FILTER :: Deprecated, same as A - -== Writing Extensions - -To define a plugin, add a file named minitest/XXX_plugin.rb to your -project/gem. That file must be discoverable via ruby's LOAD_PATH (via -rubygems or otherwise). Minitest will find and require that file using -Gem.find_files. It will then try to call +plugin_XXX_init+ during -startup. The option processor will also try to call +plugin_XXX_options+ -passing the OptionParser instance and the current options hash. This -lets you register your own command-line options. Here's a totally -bogus example: - - # minitest/bogus_plugin.rb: - - module Minitest - def self.plugin_bogus_options(opts, options) - opts.on "--myci", "Report results to my CI" do - options[:myci] = true - options[:myci_addr] = get_myci_addr - options[:myci_port] = get_myci_port - end - end - - def self.plugin_bogus_init(options) - self.reporter << MyCI.new(options) if options[:myci] - end - end - -=== Adding custom reporters - -Minitest uses composite reporter to output test results using multiple -reporter instances. You can add new reporters to the composite during -the init_plugins phase. As we saw in +plugin_bogus_init+ above, you -simply add your reporter instance to the composite via <tt><<</tt>. - -+AbstractReporter+ defines the API for reporters. You may subclass it -and override any method you want to achieve your desired behavior. - -start :: Called when the run has started. -record :: Called for each result, passed or otherwise. -report :: Called at the end of the run. -passed? :: Called to see if you detected any problems. - -Using our example above, here is how we might implement MyCI: - - # minitest/bogus_plugin.rb - - module Minitest - class MyCI < AbstractReporter - attr_accessor :results, :addr, :port - - def initialize options - self.results = [] - self.addr = options[:myci_addr] - self.port = options[:myci_port] - end - - def record result - self.results << result - end - - def report - CI.connect(addr, port).send_results self.results - end - end - - # code from above... - end - -== FAQ - -=== What versions are compatible with what? Or what versions are supported? - -Minitest is a dependency of rails, which until fairly recently had an -overzealous backwards compatibility policy. As such, I'm stuck -supporting versions of ruby that are long past EOL. Hopefully I'll be -able to support only current versions of ruby sometime in the near -future. - -(As of 2023-03-05) - -Current versions of rails: (https://endoflife.date/rails) - - | rails | min ruby | rec ruby | minitest | status | EOL Date | - |-------+----------+----------+----------+----------+------------| - | 7.0 | >= 2.7 | 3.1 | >= 5.1 | Current | 2025-06-01?| - | 6.1 | >= 2.5 | 3.0 | >= 5.1 | Maint | 2024-06-01?| - | 6.0 | >= 2.5 | 2.6 | >= 5.1 | Security | 2023-06-01 | - | 5.2 | >= 2.2.2 | 2.5 | ~> 5.1 | EOL | 2022-06-01 | - -If you want to look at the requirements for a specific version, run: - - gem spec -r --ruby rails -v 7.0.0 - -Current versions of ruby: (https://endoflife.date/ruby) - - | ruby | Status | EOL Date | - |------+---------+------------| - | 3.2 | Current | 2026-03-31 | - | 3.1 | Maint | 2025-03-31 | - | 3.0 | Maint | 2024-03-31 | - | 2.7 | Security| 2023-03-31 | - | 2.6 | EOL | 2022-03-31 | - | 2.5 | EOL | 2021-03-31 | - -=== How to test SimpleDelegates? - -The following implementation and test: - - class Worker < SimpleDelegator - def work - end - end - - describe Worker do - before do - @worker = Worker.new(Object.new) - end - - it "must respond to work" do - _(@worker).must_respond_to :work - end - end - -outputs a failure: - - 1) Failure: - Worker#test_0001_must respond to work [bug11.rb:16]: - Expected #<Object:0x007f9e7184f0a0> (Object) to respond to #work. - -Worker is a SimpleDelegate which in 1.9+ is a subclass of BasicObject. -Expectations are put on Object (one level down) so the Worker -(SimpleDelegate) hits +method_missing+ and delegates down to the -+Object.new+ instance. That object doesn't respond to work so the test -fails. - -You can bypass <tt>SimpleDelegate#method_missing</tt> by extending the worker -with <tt>Minitest::Expectations</tt>. You can either do that in your setup at -the instance level, like: - - before do - @worker = Worker.new(Object.new) - @worker.extend Minitest::Expectations - end - -or you can extend the Worker class (within the test file!), like: - - class Worker - include ::Minitest::Expectations - end - -=== How to share code across test classes? - -Use a module. That's exactly what they're for: - - module UsefulStuff - def useful_method - # ... - end - end - - describe Blah do - include UsefulStuff - - def test_whatever - # useful_method available here - end - end - -Remember, +describe+ simply creates test classes. It's just ruby at -the end of the day and all your normal Good Ruby Rules (tm) apply. If -you want to extend your test using setup/teardown via a module, just -make sure you ALWAYS call super. before/after automatically call super -for you, so make sure you don't do it twice. - -=== How to run code before a group of tests? - -Use a constant with begin...end like this: - - describe Blah do - SETUP = begin - # ... this runs once when describe Blah starts - end - # ... - end - -This can be useful for expensive initializations or sharing state. -Remember, this is just ruby code, so you need to make sure this -technique and sharing state doesn't interfere with your tests. - -=== Why am I seeing <tt>uninitialized constant MiniTest::Test (NameError)</tt>? - -Are you running the test with Bundler (e.g. via <tt>bundle exec</tt> )? If so, -in order to require minitest, you must first add the <tt>gem 'minitest'</tt> -to your Gemfile and run +bundle+. Once it's installed, you should be -able to require minitest and run your tests. - -== Prominent Projects using Minitest: - -* arel -* journey -* mime-types -* nokogiri -* rails (active_support et al) -* rake -* rdoc -* ...and of course, everything from seattle.rb... - -== Developing Minitest: - -Minitest requires {Hoe}[https://rubygems.org/gems/hoe]. - -=== Minitest's own tests require UTF-8 external encoding. - -This is a common problem in Windows, where the default external Encoding is -often CP850, but can affect any platform. -Minitest can run test suites using any Encoding, but to run Minitest's -own tests you must have a default external Encoding of UTF-8. - -If your encoding is wrong, you'll see errors like: - - --- expected - +++ actual - @@ -1,2 +1,3 @@ - # encoding: UTF-8 - -"Expected /\\w+/ to not match \"blah blah blah\"." - +"Expected /\\w+/ to not match # encoding: UTF-8 - +\"blah blah blah\"." - -To check your current encoding, run: - - ruby -e 'puts Encoding.default_external' - -If your output is something other than UTF-8, you can set the RUBYOPTS -env variable to a value of '-Eutf-8'. Something like: - - RUBYOPT='-Eutf-8' ruby -e 'puts Encoding.default_external' - -Check your OS/shell documentation for the precise syntax (the above -will not work on a basic Windows CMD prompt, look for the SET command). -Once you've got it successfully outputing UTF-8, use the same setting -when running rake in Minitest. - -=== Minitest's own tests require GNU (or similar) diff. - -This is also a problem primarily affecting Windows developers. PowerShell -has a command called diff, but it is not suitable for use with Minitest. - -If you see failures like either of these, you are probably missing diff tool: - - 4) Failure: - TestMinitestUnitTestCase#test_assert_equal_different_long [D:/ruby/seattlerb/minitest/test/minitest/test_minitest_test.rb:936]: - Expected: "--- expected\n+++ actual\n@@ -1 +1 @@\n-\"hahahahahahahahahahahahahahahahahahahaha\"\n+\"blahblahblahblahblahblahblahblahblahblah\"\n" - Actual: "Expected: \"hahahahahahahahahahahahahahahahahahahaha\"\n Actual: \"blahblahblahblahblahblahblahblahblahblah\"" - - - 5) Failure: - TestMinitestUnitTestCase#test_assert_equal_different_collection_hash_hex_invisible [D:/ruby/seattlerb/minitest/test/minitest/test_minitest_test.rb:845]: - Expected: "No visible difference in the Hash#inspect output.\nYou should look at the implementation of #== on Hash or its members.\n - {1=>#<Object:0xXXXXXX>}" - Actual: "Expected: {1=>#<Object:0x00000003ba0470>}\n Actual: {1=>#<Object:0x00000003ba0448>}" - - -If you use Cygwin or MSYS2 or similar there are packages that include a -GNU diff for Windows. If you don't, you can download GNU diffutils from -http://gnuwin32.sourceforge.net/packages/diffutils.htm -(make sure to add it to your PATH). - -You can make sure it's installed and path is configured properly with: - - diff.exe -v - -There are multiple lines of output, the first should be something like: - - diff (GNU diffutils) 2.8.1 - -If you are using PowerShell make sure you run diff.exe, not just diff, -which will invoke the PowerShell built in function. - -== Known Extensions: - -capybara_minitest_spec :: Bridge between Capybara RSpec matchers and - Minitest::Spec expectations (e.g. - <tt>page.must_have_content("Title")</tt>). -color_pound_spec_reporter :: Test names print Ruby Object types in color with - your Minitest Spec style tests. -minispec-metadata :: Metadata for describe/it blocks & CLI tag filter. - E.g. <tt>it "requires JS driver", js: true do</tt> & - <tt>ruby test.rb --tag js</tt> runs tests tagged :js. -minispec-rails :: Minimal support to use Spec style in Rails 5+. -mini-apivore :: for swagger based automated API testing. -minitest-around :: Around block for minitest. An alternative to - setup/teardown dance. -minitest-assert_errors :: Adds Minitest assertions to test for errors raised - or not raised by Minitest itself. -minitest-autotest :: autotest is a continuous testing facility meant to - be used during development. -minitest-bacon :: minitest-bacon extends minitest with bacon-like - functionality. -minitest-bang :: Adds support for RSpec-style let! to immediately - invoke let statements before each test. -minitest-bisect :: Helps you isolate and debug random test failures. -minitest-blink1_reporter :: Display test results with a Blink1. -minitest-capistrano :: Assertions and expectations for testing - Capistrano recipes. -minitest-capybara :: Capybara matchers support for minitest unit and - spec. -minitest-cc :: It provides minimal information about code coverage. -minitest-chef-handler :: Run Minitest suites as Chef report handlers -minitest-ci :: CI reporter plugin for Minitest. -minitest-context :: Defines contexts for code reuse in Minitest - specs that share common expectations. -minitest-debugger :: Wraps assert so failed assertions drop into - the ruby debugger. -minitest-display :: Patches Minitest to allow for an easily - configurable output. -minitest-documentation :: Minimal documentation format inspired by rspec's. -minitest-doc_reporter :: Detailed output inspired by rspec's documentation - format. -minitest-emoji :: Print out emoji for your test passes, fails, and - skips. -minitest-english :: Semantically symmetric aliases for assertions and - expectations. -minitest-excludes :: Clean API for excluding certain tests you - don't want to run under certain conditions. -minitest-fail-fast :: Reimplements RSpec's "fail fast" feature -minitest-filecontent :: Support unit tests with expectation results in files. - Differing results will be stored again in files. -minitest-filesystem :: Adds assertion and expectation to help testing - filesystem contents. -minitest-firemock :: Makes your Minitest mocks more resilient. -minitest-focus :: Focus on one test at a time. -minitest-gcstats :: A minitest plugin that adds a report of the top - tests by number of objects allocated. -minitest-global_expectations:: Support minitest expectation methods for all objects -minitest-great_expectations :: Generally useful additions to minitest's - assertions and expectations. -minitest-growl :: Test notifier for minitest via growl. -minitest-happy :: GLOBALLY ACTIVATE MINITEST PRIDE! RAWR! -minitest-have_tag :: Adds Minitest assertions to test for the existence of - HTML tags, including contents, within a provided string. -minitest-heat :: Reporting that builds a heat map of failure locations -minitest-hooks :: Around and before_all/after_all/around_all hooks -minitest-hyper :: Pretty, single-page HTML reports for your Minitest runs -minitest-implicit-subject :: Implicit declaration of the test subject. -minitest-instrument :: Instrument ActiveSupport::Notifications when - test method is executed. -minitest-instrument-db :: Store information about speed of test execution - provided by minitest-instrument in database. -minitest-junit :: JUnit-style XML reporter for minitest. -minitest-keyword :: Use Minitest assertions with keyword arguments. -minitest-libnotify :: Test notifier for minitest via libnotify. -minitest-line :: Run test at line number. -minitest-logger :: Define assert_log and enable minitest to test log messages. - Supports Logger and Log4r::Logger. -minitest-macruby :: Provides extensions to minitest for macruby UI - testing. -minitest-matchers :: Adds support for RSpec-style matchers to - minitest. -minitest-matchers_vaccine :: Adds assertions that adhere to the matcher spec, - but without any expectation infections. -minitest-metadata :: Annotate tests with metadata (key-value). -minitest-mock_expectations :: Provides method call assertions for minitest. -minitest-mongoid :: Mongoid assertion matchers for Minitest. -minitest-must_not :: Provides must_not as an alias for wont in - Minitest. -minitest-optional_retry :: Automatically retry failed test to help with flakiness. -minitest-osx :: Reporter for the Mac OS X notification center. -minitest-parallel_fork :: Fork-based parallelization -minitest-parallel-db :: Run tests in parallel with a single database. -minitest-power_assert :: PowerAssert for Minitest. -minitest-predicates :: Adds support for .predicate? methods. -minitest-profile :: List the 10 slowest tests in your suite. -minitest-rails :: Minitest integration for Rails 3.x. -minitest-rails-capybara :: Capybara integration for Minitest::Rails. -minitest-reporters :: Create customizable Minitest output formats. -minitest-rg :: Colored red/green output for Minitest. -minitest-rspec_mocks :: Use RSpec Mocks with Minitest. -minitest-server :: minitest-server provides a client/server setup - with your minitest process, allowing your test - run to send its results directly to a handler. -minitest-sequel :: Minitest assertions to speed-up development and - testing of Ruby Sequel database setups. -minitest-shared_description :: Support for shared specs and shared spec - subclasses -minitest-should_syntax :: RSpec-style <tt>x.should == y</tt> assertions for - Minitest. -minitest-shouldify :: Adding all manner of shoulds to Minitest (bad - idea) -minitest-snail :: Print a list of tests that take too long -minitest-spec-context :: Provides rspec-ish context method to - Minitest::Spec. -minitest-spec-expect :: Expect syntax for Minitest::Spec (e.g. - expect(sequences).to_include :celery_man). -minitest-spec-magic :: Minitest::Spec extensions for Rails and beyond. -minitest-spec-rails :: Drop in Minitest::Spec superclass for - ActiveSupport::TestCase. -minitest-sprint :: Runs (Get it? It's fast!) your tests and makes - it easier to rerun individual failures. -minitest-stately :: Find leaking state between tests -minitest-stub_any_instance :: Stub any instance of a method on the given class - for the duration of a block. -minitest-stub-const :: Stub constants for the duration of a block. -minitest-tags :: Add tags for minitest. -minitest-unordered :: Adds a new assertion to minitest for checking the - contents of a collection, ignoring element order. -minitest-vcr :: Automatic cassette management with Minitest::Spec - and VCR. -minitest_log :: Adds structured logging, data explication, and verdicts. -minitest_owrapper :: Get tests results as a TestResult object. -minitest_should :: Shoulda style syntax for minitest test::unit. -minitest_tu_shim :: Bridges between test/unit and minitest. -mongoid-minitest :: Minitest matchers for Mongoid. -mutant-minitest :: Minitest integration for mutant. -pry-rescue :: A pry plugin w/ minitest support. See - pry-rescue/minitest.rb. -rematch :: Declutter your test files from large hardcoded data - and update them automatically when your code changes. -rspec2minitest :: Easily translate any RSpec matchers to Minitest - assertions and expectations. -stubberry :: Multiple stubbing 'berries', sweet and useful - stub helpers and assertions. ( stub_must, - assert_method_called, stubbing ORM objects by id ) - -== Unknown Extensions: - -Authors... Please send me a pull request with a description of your minitest extension. - -* assay-minitest -* detroit-minitest -* em-minitest-spec -* flexmock-minitest -* guard-minitest -* guard-minitest-decisiv -* minitest-activemodel -* minitest-ar-assertions -* minitest-capybara-unit -* minitest-colorer -* minitest-deluxe -* minitest-extra-assertions -* minitest-rails-shoulda -* minitest-spec -* minitest-spec-should -* minitest-sugar -* spork-minitest - -== Minitest related goods - -* minitest/pride fabric: https://www.spoonflower.com/fabric/3928730-again-by-katie_allen - -== REQUIREMENTS: - -* Ruby 2.3+. No magic is involved. I hope. - -== INSTALL: - - sudo gem install minitest - -On 1.9, you already have it. To get newer candy you can still install -the gem, and then requiring "minitest/autorun" should automatically -pull it in. If not, you'll need to do it yourself: - - gem "minitest" # ensures you"re using the gem, and not the built-in MT - require "minitest/autorun" - - # ... usual testing stuffs ... - -DO NOTE: There is a serious problem with the way that ruby 1.9/2.0 -packages their own gems. They install a gem specification file, but -don't install the gem contents in the gem path. This messes up -Gem.find_files and many other things (gem which, gem contents, etc). - -Just install minitest as a gem for real and you'll be happier. - -== LICENSE: - -(The MIT License) - -Copyright (c) Ryan Davis, seattle.rb - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/Rakefile deleted file mode 100644 index 5494d84..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/Rakefile +++ /dev/null @@ -1,75 +0,0 @@ -# -*- ruby -*- - -require "rubygems" -require "hoe" -$:.unshift "lib" # to pick up lib/minitest/test_task.rb when minitest not installed - -Hoe.plugin :seattlerb -Hoe.plugin :rdoc - -Hoe.spec "minitest" do - developer "Ryan Davis", "ryand-ruby@zenspider.com" - - license "MIT" - - require_ruby_version [">= 2.6", "< 4.0"] -end - -desc "Find missing expectations" -task :specs do - $:.unshift "lib" - require "minitest/test" - require "minitest/spec" - - pos_prefix, neg_prefix = "must", "wont" - skip_re = /^(must|wont)$|wont_(throw)|must_(block|not?_|nothing|send|raise$)/x - dont_flip_re = /(must|wont)_(include|respond_to)/ - - map = { - /(must_throw)s/ => '\1', - /(?!not)_same/ => "_be_same_as", - /_in_/ => "_be_within_", - /_operator/ => "_be", - /_includes/ => "_include", - /(must|wont)_(.*_of|nil|silent|empty)/ => '\1_be_\2', - /must_raises/ => "must_raise", - /(must|wont)_predicate/ => '\1_be', - /(must|wont)_path_exists/ => 'path_\1_exist', - } - - expectations = Minitest::Expectations.public_instance_methods.map(&:to_s) - assertions = Minitest::Assertions.public_instance_methods.map(&:to_s) - - assertions.sort.each do |assertion| - expectation = case assertion - when /^assert/ then - assertion.sub(/^assert/, pos_prefix.to_s) - when /^refute/ then - assertion.sub(/^refute/, neg_prefix.to_s) - end - - next unless expectation - next if expectation =~ skip_re - - regexp, replacement = map.find { |re, _| expectation =~ re } - expectation.sub! regexp, replacement if replacement - - next if expectations.include? expectation - - args = [assertion, expectation].map(&:to_sym).map(&:inspect) - args << :reverse if expectation =~ dont_flip_re - - puts - puts "##" - puts "# :method: #{expectation}" - puts "# See Minitest::Assertions##{assertion}" - puts - puts "infect_an_assertion #{args.join ", "}" - end -end - -task :bugs do - sh "for f in bug*.rb ; do echo $f; echo; #{Gem.ruby} -Ilib $f && rm $f ; done" -end - -# vim: syntax=Ruby diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/design_rationale.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/design_rationale.rb deleted file mode 100644 index a3fcc37..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/design_rationale.rb +++ /dev/null @@ -1,52 +0,0 @@ -# Specs: # Equivalent Unit Tests: -############################################################################### -describe Thingy do # class TestThingy < Minitest::Test - before do # def setup - do_some_setup # super - end # do_some_setup - # end - it "should do the first thing" do # - 1.must_equal 1 # def test_first_thing - end # assert_equal 1, 1 - # end - describe SubThingy do # end - before do # - do_more_setup # class TestSubThingy < TestThingy - end # def setup - # super - it "should do the second thing" do # do_more_setup - 2.must_equal 2 # end - end # - end # def test_second_thing -end # assert_equal 2, 2 - # end - # end -############################################################################### -# runs 2 specs # runs 3 tests -############################################################################### -# The specs generate: - -class ThingySpec < Minitest::Spec - def setup - super - do_some_setup - end - - def test_should_do_the_first_thing - assert_equal 1, 1 - end -end - -class SubThingySpec < ThingySpec - def setup - super - do_more_setup - end - - # because only setup/teardown is inherited, not specs - remove_method :test_should_do_the_first_thing - - def test_should_do_the_second_thing - assert_equal 2, 2 - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/metametameta.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/metametameta.rb deleted file mode 100644 index 69e0940..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/metametameta.rb +++ /dev/null @@ -1,136 +0,0 @@ -require "tempfile" -require "stringio" -require "minitest/autorun" - -class Minitest::Test - def clean s - s.gsub(/^ {6}/, "") - end - - def with_empty_backtrace_filter - original = Minitest.backtrace_filter - - obj = Minitest::BacktraceFilter.new - def obj.filter _bt - [] - end - - Minitest::Test.io_lock.synchronize do # try not to trounce in parallel - begin - Minitest.backtrace_filter = obj - yield - ensure - Minitest.backtrace_filter = original - end - end - end -end - - -class FakeNamedTest < Minitest::Test - @@count = 0 - - def self.name - @fake_name ||= begin - @@count += 1 - "FakeNamedTest%02d" % @@count - end - end -end - -module MyModule; end -class AnError < StandardError; include MyModule; end - -class MetaMetaMetaTestCase < Minitest::Test - attr_accessor :reporter, :output, :tu - - def with_stderr err - old = $stderr - $stderr = err - yield - ensure - $stderr = old - end - - def run_tu_with_fresh_reporter flags = %w[--seed 42] - options = Minitest.process_args flags - - @output = StringIO.new("".encode('UTF-8')) - - self.reporter = Minitest::CompositeReporter.new - reporter << Minitest::SummaryReporter.new(@output, options) - reporter << Minitest::ProgressReporter.new(@output, options) - - with_stderr @output do - reporter.start - - yield(reporter) if block_given? - - @tus ||= [@tu] - @tus.each do |tu| - Minitest::Runnable.runnables.delete tu - - tu.run reporter, options - end - - reporter.report - end - end - - def first_reporter - reporter.reporters.first - end - - def assert_report expected, flags = %w[--seed 42], &block - header = clean <<-EOM - Run options: #{flags.map { |s| s =~ /\|/ ? s.inspect : s }.join " "} - - # Running: - - EOM - - run_tu_with_fresh_reporter flags, &block - - output = normalize_output @output.string.dup - - assert_equal header + expected, output - end - - def normalize_output output - output.sub!(/Finished in .*/, "Finished in 0.00") - output.sub!(/Loaded suite .*/, "Loaded suite blah") - - output.gsub!(/FakeNamedTest\d+/, "FakeNamedTestXX") - output.gsub!(/ = \d+.\d\d s = /, " = 0.00 s = ") - output.gsub!(/0x[A-Fa-f0-9]+/, "0xXXX") - output.gsub!(/ +$/, "") - - if windows? then - output.gsub!(/\[(?:[A-Za-z]:)?[^\]:]+:\d+\]/, "[FILE:LINE]") - output.gsub!(/^(\s+)(?:[A-Za-z]:)?[^:]+:\d+:in/, '\1FILE:LINE:in') - else - output.gsub!(/\[[^\]:]+:\d+\]/, "[FILE:LINE]") - output.gsub!(/^(\s+)[^:]+:\d+:in/, '\1FILE:LINE:in') - end - - output.gsub!(/( at )[^:]+:\d+/, '\1[FILE:LINE]') - - output - end - - def restore_env - old_value = ENV["MT_NO_SKIP_MSG"] - ENV.delete "MT_NO_SKIP_MSG" - - yield - ensure - ENV["MT_NO_SKIP_MSG"] = old_value - end - - def setup - super - Minitest.seed = 42 - Minitest::Test.reset - @tu = nil - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_assertions.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_assertions.rb deleted file mode 100644 index 37591c1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_assertions.rb +++ /dev/null @@ -1,1701 +0,0 @@ -# encoding: UTF-8 - -require "minitest/autorun" - -if defined? Encoding then - e = Encoding.default_external - if e != Encoding::UTF_8 then - warn "" - warn "" - warn "NOTE: External encoding #{e} is not UTF-8. Tests WILL fail." - warn " Run tests with `RUBYOPT=-Eutf-8 rake` to avoid errors." - warn "" - warn "" - end -end - -SomeError = Class.new Exception - -unless defined? MyModule then - module MyModule; end - class AnError < StandardError; include MyModule; end -end - -class TestMinitestAssertions < Minitest::Test - # do not call parallelize_me! - teardown accesses @tc._assertions - # which is not threadsafe. Nearly every method in here is an - # assertion test so it isn't worth splitting it out further. - - RUBY18 = !defined? Encoding - - # not included in JRuby - RE_LEVELS = /\(\d+ levels\) / - - class DummyTest - include Minitest::Assertions - # include Minitest::Reportable # TODO: why do I really need this? - - attr_accessor :assertions, :failure - - def initialize - self.assertions = 0 - self.failure = nil - end - end - - def setup - super - - Minitest::Test.reset - - @tc = DummyTest.new - @zomg = "zomg ponies!" # TODO: const - @assertion_count = 1 - end - - def teardown - assert_equal(@assertion_count, @tc.assertions, - "expected #{@assertion_count} assertions to be fired during the test, not #{@tc.assertions}") - end - - def assert_deprecated name - dep = /DEPRECATED: #{name}. From #{__FILE__}:\d+(?::.*)?/ - dep = "" if $-w.nil? - - assert_output nil, dep do - yield - end - end - - def assert_triggered expected, klass = Minitest::Assertion - e = assert_raises klass do - yield - end - - msg = e.message.sub(/(---Backtrace---).*/m, '\1') - msg.gsub!(/\(oid=[-0-9]+\)/, "(oid=N)") - msg.gsub!(/(\d\.\d{6})\d+/, '\1xxx') # normalize: ruby version, impl, platform - - assert_msg = Regexp === expected ? :assert_match : :assert_equal - self.send assert_msg, expected, msg - end - - def assert_unexpected expected - expected = Regexp.new expected if String === expected - - assert_triggered expected, Minitest::UnexpectedError do - yield - end - end - - def clean s - s.gsub(/^ {6,10}/, "") - end - - def non_verbose - orig_verbose = $VERBOSE - $VERBOSE = false - - yield - ensure - $VERBOSE = orig_verbose - end - - def test_assert - @assertion_count = 2 - - @tc.assert_equal true, @tc.assert(true), "returns true on success" - end - - def test_assert__triggered - assert_triggered "Expected false to be truthy." do - @tc.assert false - end - end - - def test_assert__triggered_message - assert_triggered @zomg do - @tc.assert false, @zomg - end - end - - def test_assert__triggered_lambda - assert_triggered "whoops" do - @tc.assert false, lambda { "whoops" } - end - end - - def test_assert_empty - @assertion_count = 2 - - @tc.assert_empty [] - end - - def test_assert_empty_triggered - @assertion_count = 2 - - assert_triggered "Expected [1] to be empty." do - @tc.assert_empty [1] - end - end - - def test_assert_equal - @tc.assert_equal 1, 1 - end - - def test_assert_equal_different_collection_array_hex_invisible - object1 = Object.new - object2 = Object.new - msg = "No visible difference in the Array#inspect output. - You should look at the implementation of #== on Array or its members. - [#<Object:0xXXXXXX>]".gsub(/^ +/, "") - assert_triggered msg do - @tc.assert_equal [object1], [object2] - end - end - - def test_assert_equal_different_collection_hash_hex_invisible - h1, h2 = {}, {} - h1[1] = Object.new - h2[1] = Object.new - msg = "No visible difference in the Hash#inspect output. - You should look at the implementation of #== on Hash or its members. - {1=>#<Object:0xXXXXXX>}".gsub(/^ +/, "") - - assert_triggered msg do - @tc.assert_equal h1, h2 - end - end - - def test_assert_equal_different_diff_deactivated - without_diff do - assert_triggered util_msg("haha" * 10, "blah" * 10) do - o1 = "haha" * 10 - o2 = "blah" * 10 - - @tc.assert_equal o1, o2 - end - end - end - - def test_assert_equal_different_message - assert_triggered "whoops.\nExpected: 1\n Actual: 2" do - @tc.assert_equal 1, 2, message { "whoops" } - end - end - - def test_assert_equal_different_lambda - assert_triggered "whoops.\nExpected: 1\n Actual: 2" do - @tc.assert_equal 1, 2, lambda { "whoops" } - end - end - - def test_assert_equal_different_hex - c = Class.new do - def initialize s; @name = s; end - end - - o1 = c.new "a" - o2 = c.new "b" - msg = clean <<-EOS - --- expected - +++ actual - @@ -1 +1 @@ - -#<#<Class:0xXXXXXX>:0xXXXXXX @name=\"a\"> - +#<#<Class:0xXXXXXX>:0xXXXXXX @name=\"b\"> - EOS - - assert_triggered msg do - @tc.assert_equal o1, o2 - end - end - - def test_assert_equal_different_hex_invisible - o1 = Object.new - o2 = Object.new - - msg = "No visible difference in the Object#inspect output. - You should look at the implementation of #== on Object or its members. - #<Object:0xXXXXXX>".gsub(/^ +/, "") - - assert_triggered msg do - @tc.assert_equal o1, o2 - end - end - - def test_assert_equal_different_long - msg = "--- expected - +++ actual - @@ -1 +1 @@ - -\"hahahahahahahahahahahahahahahahahahahaha\" - +\"blahblahblahblahblahblahblahblahblahblah\" - ".gsub(/^ +/, "") - - assert_triggered msg do - o1 = "haha" * 10 - o2 = "blah" * 10 - - @tc.assert_equal o1, o2 - end - end - - def test_assert_equal_different_long_invisible - msg = "No visible difference in the String#inspect output. - You should look at the implementation of #== on String or its members. - \"blahblahblahblahblahblahblahblahblahblah\"".gsub(/^ +/, "") - - assert_triggered msg do - o1 = "blah" * 10 - o2 = "blah" * 10 - def o1.== _ - false - end - @tc.assert_equal o1, o2 - end - end - - def test_assert_equal_different_long_msg - msg = "message. - --- expected - +++ actual - @@ -1 +1 @@ - -\"hahahahahahahahahahahahahahahahahahahaha\" - +\"blahblahblahblahblahblahblahblahblahblah\" - ".gsub(/^ +/, "") - - assert_triggered msg do - o1 = "haha" * 10 - o2 = "blah" * 10 - @tc.assert_equal o1, o2, "message" - end - end - - def test_assert_equal_different_short - assert_triggered util_msg(1, 2) do - @tc.assert_equal 1, 2 - end - end - - def test_assert_equal_different_short_msg - assert_triggered util_msg(1, 2, "message") do - @tc.assert_equal 1, 2, "message" - end - end - - def test_assert_equal_different_short_multiline - msg = "--- expected\n+++ actual\n@@ -1,2 +1,2 @@\n \"a\n-b\"\n+c\"\n" - assert_triggered msg do - @tc.assert_equal "a\nb", "a\nc" - end - end - - def test_assert_equal_does_not_allow_lhs_nil - if Minitest::VERSION =~ /^6/ then - warn "Time to strip the MT5 test" - - @assertion_count += 1 - assert_triggered(/Use assert_nil if expecting nil/) do - @tc.assert_equal nil, nil - end - else - err_re = /Use assert_nil if expecting nil from .*test_minitest_\w+.rb/ - err_re = "" if $-w.nil? - - assert_output "", err_re do - @tc.assert_equal nil, nil - end - end - end - - def test_assert_equal_does_not_allow_lhs_nil_triggered - assert_triggered "Expected: nil\n Actual: false" do - @tc.assert_equal nil, false - end - end - - def test_assert_equal_string_bug791 - exp = <<-'EOF'.gsub(/^ {10}/, "") # note single quotes - --- expected - +++ actual - @@ -1,2 +1 @@ - -"\\n - -" - +"\\\" - EOF - - exp = "Expected: \"\\\\n\"\n Actual: \"\\\\\"" - assert_triggered exp do - @tc.assert_equal "\\n", "\\" - end - end - - def test_assert_equal_string_both_escaped_unescaped_newlines - msg = <<-EOM.gsub(/^ {10}/, "") - --- expected - +++ actual - @@ -1,2 +1 @@ - -\"A\\n - -B\" - +\"A\\n\\\\nB\" - EOM - - assert_triggered msg do - exp = "A\\nB" - act = "A\n\\nB" - - @tc.assert_equal exp, act - end - end - - def test_assert_equal_string_encodings - msg = <<-EOM.gsub(/^ {10}/, "") - --- expected - +++ actual - @@ -1,3 +1,3 @@ - -# encoding: UTF-8 - -# valid: false - +# encoding: #{Encoding::BINARY.name} - +# valid: true - "bad-utf8-\\xF1.txt" - EOM - - assert_triggered msg do - x = "bad-utf8-\xF1.txt" - y = x.dup.force_encoding "binary" # TODO: switch to .b when 1.9 dropped - @tc.assert_equal x, y - end - end unless RUBY18 - - def test_assert_equal_string_encodings_both_different - msg = <<-EOM.gsub(/^ {10}/, "") - --- expected - +++ actual - @@ -1,3 +1,3 @@ - -# encoding: US-ASCII - -# valid: false - +# encoding: #{Encoding::BINARY.name} - +# valid: true - "bad-utf8-\\xF1.txt" - EOM - - assert_triggered msg do - x = "bad-utf8-\xF1.txt".force_encoding "ASCII" - y = x.dup.force_encoding "binary" # TODO: switch to .b when 1.9 dropped - @tc.assert_equal x, y - end - end unless RUBY18 - - def test_assert_equal_unescape_newlines - msg = <<-'EOM'.gsub(/^ {10}/, "") # NOTE single quotes on heredoc - --- expected - +++ actual - @@ -1,2 +1,2 @@ - -"hello - +"hello\n - world" - EOM - - assert_triggered msg do - exp = "hello\nworld" - act = 'hello\nworld' # notice single quotes - - @tc.assert_equal exp, act - end - end - - def test_assert_in_delta - @tc.assert_in_delta 0.0, 1.0 / 1000, 0.1 - end - - def test_assert_in_delta_triggered - x = "1.0e-06" - assert_triggered "Expected |0.0 - 0.001| (0.001) to be <= #{x}." do - @tc.assert_in_delta 0.0, 1.0 / 1000, 0.000001 - end - end - - def test_assert_in_epsilon - @assertion_count = 10 - - @tc.assert_in_epsilon 10_000, 9991 - @tc.assert_in_epsilon 9991, 10_000 - @tc.assert_in_epsilon 1.0, 1.001 - @tc.assert_in_epsilon 1.001, 1.0 - - @tc.assert_in_epsilon 10_000, 9999.1, 0.0001 - @tc.assert_in_epsilon 9999.1, 10_000, 0.0001 - @tc.assert_in_epsilon 1.0, 1.0001, 0.0001 - @tc.assert_in_epsilon 1.0001, 1.0, 0.0001 - - @tc.assert_in_epsilon(-1, -1) - @tc.assert_in_epsilon(-10_000, -9991) - end - - def test_assert_in_epsilon_triggered - assert_triggered "Expected |10000 - 9990| (10) to be <= 9.99." do - @tc.assert_in_epsilon 10_000, 9990 - end - end - - def test_assert_in_epsilon_triggered_negative_case - x = (RUBY18 and not maglev?) ? "0.1" : "0.100000xxx" - y = "0.1" - assert_triggered "Expected |-1.1 - -1| (#{x}) to be <= #{y}." do - @tc.assert_in_epsilon(-1.1, -1, 0.1) - end - end - - def test_assert_includes - @assertion_count = 2 - - @tc.assert_includes [true], true - end - - def test_assert_includes_triggered - @assertion_count = 3 - - e = @tc.assert_raises Minitest::Assertion do - @tc.assert_includes [true], false - end - - expected = "Expected [true] to include false." - assert_equal expected, e.message - end - - def test_assert_instance_of - @tc.assert_instance_of String, "blah" - end - - def test_assert_instance_of_triggered - assert_triggered 'Expected "blah" to be an instance of Array, not String.' do - @tc.assert_instance_of Array, "blah" - end - end - - def test_assert_kind_of - @tc.assert_kind_of String, "blah" - end - - def test_assert_kind_of_triggered - assert_triggered 'Expected "blah" to be a kind of Array, not String.' do - @tc.assert_kind_of Array, "blah" - end - end - - def test_assert_match - @assertion_count = 2 - m = @tc.assert_match(/\w+/, "blah blah blah") - - assert_kind_of MatchData, m - assert_equal "blah", m[0] - end - - def test_assert_match_matchee_to_str - @assertion_count = 2 - - obj = Object.new - def obj.to_str; "blah" end - - @tc.assert_match "blah", obj - end - - def test_assert_match_matcher_object - @assertion_count = 2 - - pattern = Object.new - def pattern.=~ _; true end - - @tc.assert_match pattern, 5 - end - - def test_assert_match_object_triggered - @assertion_count = 2 - - pattern = Object.new - def pattern.=~ _; false end - def pattern.inspect; "[Object]" end - - assert_triggered "Expected [Object] to match 5." do - @tc.assert_match pattern, 5 - end - end - - def test_assert_match_triggered - @assertion_count = 2 - assert_triggered 'Expected /\d+/ to match "blah blah blah".' do - @tc.assert_match(/\d+/, "blah blah blah") - end - end - - def test_assert_nil - @tc.assert_nil nil - end - - def test_assert_nil_triggered - assert_triggered "Expected 42 to be nil." do - @tc.assert_nil 42 - end - end - - def test_assert_operator - @tc.assert_operator 2, :>, 1 - end - - def test_assert_operator_bad_object - bad = Object.new - def bad.== _; true end - - @tc.assert_operator bad, :equal?, bad - end - - def test_assert_operator_triggered - assert_triggered "Expected 2 to be < 1." do - @tc.assert_operator 2, :<, 1 - end - end - - def test_assert_output_both - @assertion_count = 2 - - @tc.assert_output "yay", "blah" do - print "yay" - $stderr.print "blah" - end - end - - def test_assert_output_both_regexps - @assertion_count = 4 - - @tc.assert_output(/y.y/, /bl.h/) do - print "yay" - $stderr.print "blah" - end - end - - def test_assert_output_err - @tc.assert_output nil, "blah" do - $stderr.print "blah" - end - end - - def test_assert_output_neither - @assertion_count = 0 - - @tc.assert_output do - # do nothing - end - end - - def test_assert_output_out - @tc.assert_output "blah" do - print "blah" - end - end - - def test_assert_output_triggered_both - assert_triggered util_msg("blah", "blah blah", "In stderr") do - @tc.assert_output "yay", "blah" do - print "boo" - $stderr.print "blah blah" - end - end - end - - def test_assert_output_triggered_err - assert_triggered util_msg("blah", "blah blah", "In stderr") do - @tc.assert_output nil, "blah" do - $stderr.print "blah blah" - end - end - end - - def test_assert_output_triggered_out - assert_triggered util_msg("blah", "blah blah", "In stdout") do - @tc.assert_output "blah" do - print "blah blah" - end - end - end - - def test_assert_output_no_block - assert_triggered "assert_output requires a block to capture output." do - @tc.assert_output "blah" - end - end - - def test_assert_output_nested_assert_uncaught - @assertion_count = 1 - - assert_triggered "Epic Fail!" do - @tc.assert_output "blah\n" do - puts "blah" - @tc.flunk - end - end - end - - def test_assert_output_nested_raise - @assertion_count = 2 - - @tc.assert_output "blah\n" do - @tc.assert_raises RuntimeError do - puts "blah" - raise "boom!" - end - end - end - - def test_assert_output_nested_raise_bad - @assertion_count = 0 - - assert_unexpected "boom!" do - @tc.assert_raises do # 2) bypassed via UnexpectedError - @tc.assert_output "blah\n" do # 1) captures and raises UnexpectedError - puts "not_blah" - raise "boom!" - end - end - end - end - - def test_assert_output_nested_raise_mismatch - # this test is redundant, but illustrative - @assertion_count = 0 - - assert_unexpected "boom!" do - @tc.assert_raises RuntimeError do # 2) bypassed via UnexpectedError - @tc.assert_output "blah\n" do # 1) captures and raises UnexpectedError - puts "not_blah" - raise ArgumentError, "boom!" - end - end - end - end - - def test_assert_output_nested_throw_caught - @assertion_count = 2 - - @tc.assert_output "blah\n" do - @tc.assert_throws :boom! do - puts "blah" - throw :boom! - end - end - end - - def test_assert_output_nested_throw_caught_bad - @assertion_count = 1 # want 0; can't prevent throw from escaping :( - - @tc.assert_throws :boom! do # 2) captured via catch - @tc.assert_output "blah\n" do # 1) bypassed via throw - puts "not_blah" - throw :boom! - end - end - end - - def test_assert_output_nested_throw_mismatch - @assertion_count = 0 - - assert_unexpected "uncaught throw :boom!" do - @tc.assert_throws :not_boom! do # 2) captured via assert_throws+rescue - @tc.assert_output "blah\n" do # 1) bypassed via throw - puts "not_blah" - throw :boom! - end - end - end - end - - def test_assert_output_uncaught_raise - @assertion_count = 0 - - assert_unexpected "RuntimeError: boom!" do - @tc.assert_output "blah\n" do - puts "not_blah" - raise "boom!" - end - end - end - - def test_assert_output_uncaught_throw - @assertion_count = 0 - - assert_unexpected "uncaught throw :boom!" do - @tc.assert_output "blah\n" do - puts "not_blah" - throw :boom! - end - end - end - def test_assert_predicate - @tc.assert_predicate "", :empty? - end - - def test_assert_predicate_triggered - assert_triggered 'Expected "blah" to be empty?.' do - @tc.assert_predicate "blah", :empty? - end - end - - def test_assert_raises - @tc.assert_raises RuntimeError do - raise "blah" - end - end - - def test_assert_raises_default - @tc.assert_raises do - raise StandardError, "blah" - end - end - - def test_assert_raises_default_triggered - e = assert_raises Minitest::Assertion do - @tc.assert_raises do - raise SomeError, "blah" - end - end - - expected = clean <<-EOM.chomp - [StandardError] exception expected, not - Class: <SomeError> - Message: <\"blah\"> - ---Backtrace--- - FILE:LINE:in \`block in test_assert_raises_default_triggered\' - --------------- - EOM - - actual = e.message.gsub(/^.+:\d+/, "FILE:LINE") - actual.gsub!(RE_LEVELS, "") unless jruby? - - assert_equal expected, actual - end - - def test_assert_raises_exit - @tc.assert_raises SystemExit do - exit 1 - end - end - - def test_assert_raises_module - @tc.assert_raises MyModule do - raise AnError - end - end - - def test_assert_raises_signals - @tc.assert_raises SignalException do - raise SignalException, :INT - end - end - - def test_assert_raises_throw_nested_bad - @assertion_count = 0 - - assert_unexpected "RuntimeError: boom!" do - @tc.assert_raises do - @tc.assert_throws :blah do - raise "boom!" - throw :not_blah - end - end - end - end - - ## - # *sigh* This is quite an odd scenario, but it is from real (albeit - # ugly) test code in ruby-core: - - # https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29259 - - def test_assert_raises_skip - @assertion_count = 0 - - assert_triggered "skipped", Minitest::Skip do - @tc.assert_raises ArgumentError do - begin - raise "blah" - rescue - skip "skipped" - end - end - end - end - - def test_assert_raises_subclass - @tc.assert_raises StandardError do - raise AnError - end - end - - def test_assert_raises_subclass_triggered - e = assert_raises Minitest::Assertion do - @tc.assert_raises SomeError do - raise AnError, "some message" - end - end - - expected = clean <<-EOM - [SomeError] exception expected, not - Class: <AnError> - Message: <\"some message\"> - ---Backtrace--- - FILE:LINE:in \`block in test_assert_raises_subclass_triggered\' - --------------- - EOM - - actual = e.message.gsub(/^.+:\d+/, "FILE:LINE") - actual.gsub!(RE_LEVELS, "") unless jruby? - - assert_equal expected.chomp, actual - end - - def test_assert_raises_triggered_different - e = assert_raises Minitest::Assertion do - @tc.assert_raises RuntimeError do - raise SyntaxError, "icky" - end - end - - expected = clean <<-EOM.chomp - [RuntimeError] exception expected, not - Class: <SyntaxError> - Message: <\"icky\"> - ---Backtrace--- - FILE:LINE:in \`block in test_assert_raises_triggered_different\' - --------------- - EOM - - actual = e.message.gsub(/^.+:\d+/, "FILE:LINE") - actual.gsub!(RE_LEVELS, "") unless jruby? - - assert_equal expected, actual - end - - def test_assert_raises_triggered_different_msg - e = assert_raises Minitest::Assertion do - @tc.assert_raises RuntimeError, "XXX" do - raise SyntaxError, "icky" - end - end - - expected = clean <<-EOM - XXX. - [RuntimeError] exception expected, not - Class: <SyntaxError> - Message: <\"icky\"> - ---Backtrace--- - FILE:LINE:in \`block in test_assert_raises_triggered_different_msg\' - --------------- - EOM - - actual = e.message.gsub(/^.+:\d+/, "FILE:LINE") - actual.gsub!(RE_LEVELS, "") unless jruby? - - assert_equal expected.chomp, actual - end - - def test_assert_raises_triggered_none - e = assert_raises Minitest::Assertion do - @tc.assert_raises Minitest::Assertion do - # do nothing - end - end - - expected = "Minitest::Assertion expected but nothing was raised." - - assert_equal expected, e.message - end - - def test_assert_raises_triggered_none_msg - e = assert_raises Minitest::Assertion do - @tc.assert_raises Minitest::Assertion, "XXX" do - # do nothing - end - end - - expected = "XXX.\nMinitest::Assertion expected but nothing was raised." - - assert_equal expected, e.message - end - - def test_assert_raises_without_block - assert_triggered "assert_raises requires a block to capture errors." do - @tc.assert_raises StandardError - end - end - - def test_assert_respond_to - @tc.assert_respond_to "blah", :empty? - end - - def test_assert_respond_to_triggered - assert_triggered 'Expected "blah" (String) to respond to #rawr!.' do - @tc.assert_respond_to "blah", :rawr! - end - end - - def test_assert_same - @assertion_count = 3 - - o = "blah" - @tc.assert_same 1, 1 - @tc.assert_same :blah, :blah - @tc.assert_same o, o - end - - def test_assert_same_triggered - @assertion_count = 2 - - assert_triggered "Expected 2 (oid=N) to be the same as 1 (oid=N)." do - @tc.assert_same 1, 2 - end - - s1 = "blah" - s2 = "blah" - - assert_triggered 'Expected "blah" (oid=N) to be the same as "blah" (oid=N).' do - @tc.assert_same s1, s2 - end - end - - def test_assert_send - assert_deprecated :assert_send do - @tc.assert_send [1, :<, 2] - end - end - - def test_assert_send_bad - assert_deprecated :assert_send do - assert_triggered "Expected 1.>(*[2]) to return true." do - @tc.assert_send [1, :>, 2] - end - end - end - - def test_assert_silent - @assertion_count = 2 - - @tc.assert_silent do - # do nothing - end - end - - def test_assert_silent_triggered_err - assert_triggered util_msg("", "blah blah", "In stderr") do - @tc.assert_silent do - $stderr.print "blah blah" - end - end - end - - def test_assert_silent_triggered_out - @assertion_count = 2 - - assert_triggered util_msg("", "blah blah", "In stdout") do - @tc.assert_silent do - print "blah blah" - end - end - end - - def test_assert_throws - v = @tc.assert_throws :blah do - throw :blah - end - - assert_nil v - end - - def test_assert_throws_value - v = @tc.assert_throws :blah do - throw :blah, 42 - end - - assert_equal 42, v - end - - def test_assert_throws_argument_exception - @assertion_count = 0 - - assert_unexpected "ArgumentError" do - @tc.assert_throws :blah do - raise ArgumentError - end - end - end - - def test_assert_throws_different - assert_triggered "Expected :blah to have been thrown, not :not_blah." do - @tc.assert_throws :blah do - throw :not_blah - end - end - end - - def test_assert_throws_name_error - @assertion_count = 0 - - assert_unexpected "NameError" do - @tc.assert_throws :blah do - raise NameError - end - end - end - - def test_assert_throws_unthrown - assert_triggered "Expected :blah to have been thrown." do - @tc.assert_throws :blah do - # do nothing - end - end - end - - def test_assert_path_exists - @tc.assert_path_exists __FILE__ - end - - def test_assert_path_exists_triggered - assert_triggered "Expected path 'blah' to exist." do - @tc.assert_path_exists "blah" - end - end - - def test_assert_pattern - if RUBY_VERSION > "3" then - @tc.assert_pattern do - exp = if RUBY_VERSION.start_with? "3.0" - "(eval):1: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!\n" - else - "" - end - assert_output nil, exp do - eval "[1,2,3] => [Integer, Integer, Integer]" # eval to escape parser for ruby<3 - end - end - else - @assertion_count = 0 - - assert_raises NotImplementedError do - @tc.assert_pattern do - # do nothing - end - end - end - end - - def test_assert_pattern_traps_nomatchingpatternerror - skip unless RUBY_VERSION > "3" - exp = if RUBY_VERSION.start_with? "3.0" then - "[1, 2, 3]" # terrible error message! - else - /length mismatch/ - end - - assert_triggered exp do - @tc.assert_pattern do - capture_io do # 3.0 is noisy - eval "[1,2,3] => [Integer, Integer]" # eval to escape parser for ruby<3 - end - end - end - end - - def test_assert_pattern_raises_other_exceptions - skip unless RUBY_VERSION >= "3.0" - - @assertion_count = 0 - - assert_raises RuntimeError do - @tc.assert_pattern do - raise "boom" - end - end - end - - def test_assert_pattern_with_no_block - skip unless RUBY_VERSION >= "3.0" - - assert_triggered "assert_pattern requires a block to capture errors." do - @tc.assert_pattern - end - end - - def test_capture_io - @assertion_count = 0 - - non_verbose do - out, err = capture_io do - puts "hi" - $stderr.puts "bye!" - end - - assert_equal "hi\n", out - assert_equal "bye!\n", err - end - end - - def test_capture_subprocess_io - @assertion_count = 0 - - non_verbose do - out, err = capture_subprocess_io do - system("echo hi") - system("echo bye! 1>&2") - end - - assert_equal "hi\n", out - assert_equal "bye!", err.strip - end - end - - def test_class_asserts_match_refutes - @assertion_count = 0 - - methods = Minitest::Assertions.public_instance_methods - methods.map!(&:to_s) if Symbol === methods.first - - # These don't have corresponding refutes _on purpose_. They're - # useless and will never be added, so don't bother. - ignores = %w[assert_output assert_raises assert_send - assert_silent assert_throws assert_mock] - - # These are test/unit methods. I'm not actually sure why they're still here - ignores += %w[assert_no_match assert_not_equal assert_not_nil - assert_not_same assert_nothing_raised - assert_nothing_thrown assert_raise] - - asserts = methods.grep(/^assert/).sort - ignores - refutes = methods.grep(/^refute/).sort - ignores - - assert_empty refutes.map { |n| n.sub(/^refute/, "assert") } - asserts - assert_empty asserts.map { |n| n.sub(/^assert/, "refute") } - refutes - end - - def test_delta_consistency - @assertion_count = 2 - - @tc.assert_in_delta 0, 1, 1 - - assert_triggered "Expected |0 - 1| (1) to not be <= 1." do - @tc.refute_in_delta 0, 1, 1 - end - end - - def test_epsilon_consistency - @assertion_count = 2 - - @tc.assert_in_epsilon 1.0, 1.001 - - msg = "Expected |1.0 - 1.001| (0.000999xxx) to not be <= 0.001." - assert_triggered msg do - @tc.refute_in_epsilon 1.0, 1.001 - end - end - - def assert_fail_after t - @tc.fail_after t.year, t.month, t.day, "remove the deprecations" - end - - def test_fail_after - d0 = Time.now - d1 = d0 + 86_400 # I am an idiot - - assert_silent do - assert_fail_after d1 - end - - assert_triggered "remove the deprecations" do - assert_fail_after d0 - end - end - - def test_flunk - assert_triggered "Epic Fail!" do - @tc.flunk - end - end - - def test_flunk_message - assert_triggered @zomg do - @tc.flunk @zomg - end - end - - def test_pass - @tc.pass - end - - def test_refute - @assertion_count = 2 - - @tc.assert_equal true, @tc.refute(false), "returns true on success" - end - - def test_refute_empty - @assertion_count = 2 - - @tc.refute_empty [1] - end - - def test_refute_empty_triggered - @assertion_count = 2 - - assert_triggered "Expected [] to not be empty." do - @tc.refute_empty [] - end - end - - def test_refute_equal - @tc.refute_equal "blah", "yay" - end - - def test_refute_equal_triggered - assert_triggered 'Expected "blah" to not be equal to "blah".' do - @tc.refute_equal "blah", "blah" - end - end - - def test_refute_in_delta - @tc.refute_in_delta 0.0, 1.0 / 1000, 0.000001 - end - - def test_refute_in_delta_triggered - x = "0.1" - assert_triggered "Expected |0.0 - 0.001| (0.001) to not be <= #{x}." do - @tc.refute_in_delta 0.0, 1.0 / 1000, 0.1 - end - end - - def test_refute_in_epsilon - @tc.refute_in_epsilon 10_000, 9990-1 - end - - def test_refute_in_epsilon_triggered - assert_triggered "Expected |10000 - 9990| (10) to not be <= 10.0." do - @tc.refute_in_epsilon 10_000, 9990 - flunk - end - end - - def test_refute_includes - @assertion_count = 2 - - @tc.refute_includes [true], false - end - - def test_refute_includes_triggered - @assertion_count = 3 - - e = @tc.assert_raises Minitest::Assertion do - @tc.refute_includes [true], true - end - - expected = "Expected [true] to not include true." - assert_equal expected, e.message - end - - def test_refute_instance_of - @tc.refute_instance_of Array, "blah" - end - - def test_refute_instance_of_triggered - assert_triggered 'Expected "blah" to not be an instance of String.' do - @tc.refute_instance_of String, "blah" - end - end - - def test_refute_kind_of - @tc.refute_kind_of Array, "blah" - end - - def test_refute_kind_of_triggered - assert_triggered 'Expected "blah" to not be a kind of String.' do - @tc.refute_kind_of String, "blah" - end - end - - def test_refute_match - @assertion_count = 2 - @tc.refute_match(/\d+/, "blah blah blah") - end - - def test_refute_match_matcher_object - @assertion_count = 2 - pattern = Object.new - def pattern.=~ _; false end - @tc.refute_match pattern, 5 - end - - def test_refute_match_object_triggered - @assertion_count = 2 - - pattern = Object.new - def pattern.=~ _; true end - def pattern.inspect; "[Object]" end - - assert_triggered "Expected [Object] to not match 5." do - @tc.refute_match pattern, 5 - end - end - - def test_refute_match_triggered - @assertion_count = 2 - assert_triggered 'Expected /\w+/ to not match "blah blah blah".' do - @tc.refute_match(/\w+/, "blah blah blah") - end - end - - def test_refute_nil - @tc.refute_nil 42 - end - - def test_refute_nil_triggered - assert_triggered "Expected nil to not be nil." do - @tc.refute_nil nil - end - end - - def test_refute_operator - @tc.refute_operator 2, :<, 1 - end - - def test_refute_operator_bad_object - bad = Object.new - def bad.== _; true end - - @tc.refute_operator true, :equal?, bad - end - - def test_refute_operator_triggered - assert_triggered "Expected 2 to not be > 1." do - @tc.refute_operator 2, :>, 1 - end - end - - def test_refute_pattern - if RUBY_VERSION >= "3.0" - @tc.refute_pattern do - capture_io do # 3.0 is noisy - eval "[1,2,3] => [Integer, Integer, String]" - end - end - else - @assertion_count = 0 - - assert_raises NotImplementedError do - @tc.refute_pattern do - eval "[1,2,3] => [Integer, Integer, String]" - end - end - end - end - - def test_refute_pattern_expects_nomatchingpatternerror - skip unless RUBY_VERSION > "3" - - assert_triggered(/NoMatchingPatternError expected, but nothing was raised./) do - @tc.refute_pattern do - capture_io do # 3.0 is noisy - eval "[1,2,3] => [Integer, Integer, Integer]" - end - end - end - end - - def test_refute_pattern_raises_other_exceptions - skip unless RUBY_VERSION >= "3.0" - - @assertion_count = 0 - - assert_raises RuntimeError do - @tc.refute_pattern do - raise "boom" - end - end - end - - def test_refute_pattern_with_no_block - skip unless RUBY_VERSION >= "3.0" - - assert_triggered "refute_pattern requires a block to capture errors." do - @tc.refute_pattern - end - end - - def test_refute_predicate - @tc.refute_predicate "42", :empty? - end - - def test_refute_predicate_triggered - assert_triggered 'Expected "" to not be empty?.' do - @tc.refute_predicate "", :empty? - end - end - - def test_refute_respond_to - @tc.refute_respond_to "blah", :rawr! - end - - def test_refute_respond_to_triggered - assert_triggered 'Expected "blah" to not respond to empty?.' do - @tc.refute_respond_to "blah", :empty? - end - end - - def test_refute_same - @tc.refute_same 1, 2 - end - - def test_refute_same_triggered - assert_triggered "Expected 1 (oid=N) to not be the same as 1 (oid=N)." do - @tc.refute_same 1, 1 - end - end - - def test_refute_path_exists - @tc.refute_path_exists "blah" - end - - def test_refute_path_exists_triggered - assert_triggered "Expected path '#{__FILE__}' to not exist." do - @tc.refute_path_exists __FILE__ - end - end - - def test_skip - @assertion_count = 0 - - assert_triggered "haha!", Minitest::Skip do - @tc.skip "haha!" - end - end - - def assert_skip_until t, msg - @tc.skip_until t.year, t.month, t.day, msg - end - - def test_skip_until - @assertion_count = 0 - - d0 = Time.now - d1 = d0 + 86_400 # I am an idiot - - assert_output "", /Stale skip_until \"not yet\" at .*?:\d+$/ do - assert_skip_until d0, "not yet" - end - - assert_triggered "not ready yet", Minitest::Skip do - assert_skip_until d1, "not ready yet" - end - end - - def util_msg exp, act, msg = nil - s = "Expected: #{exp.inspect}\n Actual: #{act.inspect}" - s = "#{msg}.\n#{s}" if msg - s - end - - def without_diff - old_diff = Minitest::Assertions.diff - Minitest::Assertions.diff = nil - - yield - ensure - Minitest::Assertions.diff = old_diff - end -end - -class TestMinitestAssertionHelpers < Minitest::Test - def assert_mu_pp exp, input, raw = false - act = mu_pp input - - if String === input && !raw then - assert_equal "\"#{exp}\"", act - else - assert_equal exp, act - end - end - - def assert_mu_pp_for_diff exp, input, raw = false - act = mu_pp_for_diff input - - if String === input && !raw then - assert_equal "\"#{exp}\"", act - else - assert_equal exp, act - end - end - - def test_diff_equal - msg = "No visible difference in the String#inspect output. - You should look at the implementation of #== on String or its members. - \"blahblahblahblahblahblahblahblahblahblah\"".gsub(/^ +/, "") - - o1 = "blah" * 10 - o2 = "blah" * 10 - def o1.== _ - false - end - - assert_equal msg, diff(o1, o2) - end - - def test_diff_str_mixed - msg = <<-'EOM'.gsub(/^ {10}/, "") # NOTE single quotes on heredoc - --- expected - +++ actual - @@ -1 +1 @@ - -"A\\n\nB" - +"A\n\\nB" - EOM - - exp = "A\\n\nB" - act = "A\n\\nB" - - assert_equal msg, diff(exp, act) - end - - def test_diff_str_multiline - msg = <<-'EOM'.gsub(/^ {10}/, "") # NOTE single quotes on heredoc - --- expected - +++ actual - @@ -1,2 +1,2 @@ - "A - -B" - +C" - EOM - - exp = "A\nB" - act = "A\nC" - - assert_equal msg, diff(exp, act) - end - - def test_diff_str_simple - msg = <<-'EOM'.gsub(/^ {10}/, "").chomp # NOTE single quotes on heredoc - Expected: "A" - Actual: "B" - EOM - - exp = "A" - act = "B" - - assert_equal msg, diff(exp, act) - end - - def test_message - assert_equal "blah2.", message { "blah2" }.call - assert_equal "blah2.", message("") { "blah2" }.call - assert_equal "blah1.\nblah2.", message(:blah1) { "blah2" }.call - assert_equal "blah1.\nblah2.", message("blah1") { "blah2" }.call - - message = proc { "blah1" } - assert_equal "blah1.\nblah2.", message(message) { "blah2" }.call - - message = message { "blah1" } - assert_equal "blah1.\nblah2.", message(message) { "blah2" }.call - end - - def test_message_deferred - var = nil - - msg = message { var = "blah" } - - assert_nil var - - msg.call - - assert_equal "blah", var - end - - def test_mu_pp - assert_mu_pp 42.inspect, 42 - assert_mu_pp %w[a b c].inspect, %w[a b c] - assert_mu_pp "A B", "A B" - assert_mu_pp "A\\nB", "A\nB" - assert_mu_pp "A\\\\nB", 'A\nB' # notice single quotes - end - - def test_mu_pp_for_diff - assert_mu_pp_for_diff "#<Object:0xXXXXXX>", Object.new - assert_mu_pp_for_diff "A B", "A B" - assert_mu_pp_for_diff [1, 2, 3].inspect, [1, 2, 3] - assert_mu_pp_for_diff "A\nB", "A\nB" - end - - def test_mu_pp_for_diff_str_bad_encoding - str = "\666".force_encoding Encoding::UTF_8 - exp = "# encoding: UTF-8\n# valid: false\n\"\\xB6\"" - - assert_mu_pp_for_diff exp, str, :raw - end - - def test_mu_pp_for_diff_str_bad_encoding_both - str = "\666A\\n\nB".force_encoding Encoding::UTF_8 - exp = "# encoding: UTF-8\n# valid: false\n\"\\xB6A\\\\n\\nB\"" - - assert_mu_pp_for_diff exp, str, :raw - end - - def test_mu_pp_for_diff_str_encoding - str = "A\nB".b - exp = "# encoding: #{Encoding::BINARY.name}\n# valid: true\n\"A\nB\"" - - assert_mu_pp_for_diff exp, str, :raw - end - - def test_mu_pp_for_diff_str_encoding_both - str = "A\\n\nB".b - exp = "# encoding: #{Encoding::BINARY.name}\n# valid: true\n\"A\\\\n\\nB\"" - - assert_mu_pp_for_diff exp, str, :raw - end - - def test_mu_pp_for_diff_str_nerd - assert_mu_pp_for_diff "A\\nB\\\\nC", "A\nB\\nC" - assert_mu_pp_for_diff "\\nB\\\\nC", "\nB\\nC" - assert_mu_pp_for_diff "\\nB\\\\n", "\nB\\n" - assert_mu_pp_for_diff "\\n\\\\n", "\n\\n" - assert_mu_pp_for_diff "\\\\n\\n", "\\n\n" - assert_mu_pp_for_diff "\\\\nB\\n", "\\nB\n" - assert_mu_pp_for_diff "\\\\nB\\nC", "\\nB\nC" - assert_mu_pp_for_diff "A\\\\n\\nB", "A\\n\nB" - assert_mu_pp_for_diff "A\\n\\\\nB", "A\n\\nB" - assert_mu_pp_for_diff "\\\\n\\n", "\\n\n" - assert_mu_pp_for_diff "\\n\\\\n", "\n\\n" - end - - def test_mu_pp_for_diff_str_normal - assert_mu_pp_for_diff "", "" - assert_mu_pp_for_diff "A\\n\n", "A\\n" - assert_mu_pp_for_diff "A\\n\nB", "A\\nB" - assert_mu_pp_for_diff "A\n", "A\n" - assert_mu_pp_for_diff "A\nB", "A\nB" - assert_mu_pp_for_diff "\\n\n", "\\n" - assert_mu_pp_for_diff "\n", "\n" - assert_mu_pp_for_diff "\\n\nA", "\\nA" - assert_mu_pp_for_diff "\nA", "\nA" - end - - def test_mu_pp_str_bad_encoding - str = "\666".force_encoding Encoding::UTF_8 - exp = "# encoding: UTF-8\n# valid: false\n\"\\xB6\"" - - assert_mu_pp exp, str, :raw - end - - def test_mu_pp_str_encoding - str = "A\nB".b - exp = "# encoding: #{Encoding::BINARY.name}\n# valid: true\n\"A\\nB\"" - - assert_mu_pp exp, str, :raw - end - - def test_mu_pp_str_immutable - printer = Class.new { extend Minitest::Assertions } - str = "test".freeze - assert_equal '"test"', printer.mu_pp(str) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_benchmark.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_benchmark.rb deleted file mode 100644 index 409acdf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_benchmark.rb +++ /dev/null @@ -1,137 +0,0 @@ -require "minitest/autorun" -require "minitest/benchmark" - -## -# Used to verify data: -# https://www.wolframalpha.com/examples/RegressionAnalysis.html - -class TestMinitestBenchmark < Minitest::Test - def test_cls_bench_exp - assert_equal [2, 4, 8, 16, 32], Minitest::Benchmark.bench_exp(2, 32, 2) - end - - def test_cls_bench_linear - assert_equal [2, 4, 6, 8, 10], Minitest::Benchmark.bench_linear(2, 10, 2) - end - - def test_cls_runnable_methods - assert_equal [], Minitest::Benchmark.runnable_methods - - c = Class.new(Minitest::Benchmark) do - def bench_blah - end - end - - assert_equal ["bench_blah"], c.runnable_methods - end - - def test_cls_bench_range - assert_equal [1, 10, 100, 1_000, 10_000], Minitest::Benchmark.bench_range - end - - def test_fit_exponential_clean - x = [1.0, 2.0, 3.0, 4.0, 5.0] - y = x.map { |n| 1.1 * Math.exp(2.1 * n) } - - assert_fit :exponential, x, y, 1.0, 1.1, 2.1 - end - - def test_fit_exponential_noisy - x = [1.0, 1.9, 2.6, 3.4, 5.0] - y = [12, 10, 8.2, 6.9, 5.9] - - # verified with Numbers and R - assert_fit :exponential, x, y, 0.95, 13.81148, -0.1820 - end - - def test_fit_logarithmic_clean - x = [1.0, 2.0, 3.0, 4.0, 5.0] - y = x.map { |n| 1.1 + 2.1 * Math.log(n) } - - assert_fit :logarithmic, x, y, 1.0, 1.1, 2.1 - end - - def test_fit_logarithmic_noisy - x = [1.0, 2.0, 3.0, 4.0, 5.0] - # Generated with - # y = x.map { |n| jitter = 0.999 + 0.002 * rand; (Math.log(n) ) * jitter } - y = [0.0, 0.6935, 1.0995, 1.3873, 1.6097] - - assert_fit :logarithmic, x, y, 0.95, 0, 1 - end - - def test_fit_constant_clean - x = (1..5).to_a - y = [5.0, 5.0, 5.0, 5.0, 5.0] - - assert_fit :linear, x, y, nil, 5.0, 0 - end - - def test_fit_constant_noisy - x = (1..5).to_a - y = [1.0, 1.2, 1.0, 0.8, 1.0] - - # verified in numbers and R - assert_fit :linear, x, y, nil, 1.12, -0.04 - end - - def test_fit_linear_clean - # y = m * x + b where m = 2.2, b = 3.1 - x = (1..5).to_a - y = x.map { |n| 2.2 * n + 3.1 } - - assert_fit :linear, x, y, 1.0, 3.1, 2.2 - end - - def test_fit_linear_noisy - x = [ 60, 61, 62, 63, 65] - y = [3.1, 3.6, 3.8, 4.0, 4.1] - - # verified in numbers and R - assert_fit :linear, x, y, 0.8315, -7.9635, 0.1878 - end - - def test_fit_power_clean - # y = A x ** B, where B = b and A = e ** a - # if, A = 1, B = 2, then - - x = [1.0, 2.0, 3.0, 4.0, 5.0] - y = [1.0, 4.0, 9.0, 16.0, 25.0] - - assert_fit :power, x, y, 1.0, 1.0, 2.0 - end - - def test_fit_power_noisy - # from www.engr.uidaho.edu/thompson/courses/ME330/lecture/least_squares.html - x = [10, 12, 15, 17, 20, 22, 25, 27, 30, 32, 35] - y = [95, 105, 125, 141, 173, 200, 253, 298, 385, 459, 602] - - # verified in numbers - assert_fit :power, x, y, 0.90, 2.6217, 1.4556 - - # income to % of households below income amount - # https://library.wolfram.com/infocenter/Conferences/6461/PowerLaws.nb - x = [15_000, 25_000, 35_000, 50_000, 75_000, 100_000] - y = [0.154, 0.283, 0.402, 0.55, 0.733, 0.843] - - # verified in numbers - assert_fit :power, x, y, 0.96, 3.119e-5, 0.8959 - end - - def assert_fit msg, x, y, fit, exp_a, exp_b - bench = Minitest::Benchmark.new :blah - - a, b, rr = bench.send "fit_#{msg}", x, y - - assert_operator rr, :>=, fit if fit - assert_in_delta exp_a, a - assert_in_delta exp_b, b - end -end - -describe "my class Bench" do - klass = self - it "should provide bench methods" do - klass.must_respond_to :bench - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_mock.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_mock.rb deleted file mode 100644 index 1a4bab3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_mock.rb +++ /dev/null @@ -1,1146 +0,0 @@ -require "minitest/autorun" - -def with_kwargs_env - ENV["MT_KWARGS_HAC\K"] = "1" - - yield -ensure - ENV.delete "MT_KWARGS_HAC\K" -end - -class TestMinitestMock < Minitest::Test - def setup - @mock = Minitest::Mock.new.expect(:foo, nil) - @mock.expect(:meaning_of_life, 42) - end - - def test_create_stub_method - assert_nil @mock.foo - end - - def test_allow_return_value_specification - assert_equal 42, @mock.meaning_of_life - end - - def test_blow_up_if_not_called - @mock.foo - - util_verify_bad "expected meaning_of_life() => 42" - end - - def test_not_blow_up_if_everything_called - @mock.foo - @mock.meaning_of_life - - assert_mock @mock - end - - def test_allow_expectations_to_be_added_after_creation - @mock.expect(:bar, true) - assert @mock.bar - end - - def test_not_verify_if_new_expected_method_is_not_called - @mock.foo - @mock.meaning_of_life - @mock.expect(:bar, true) - - util_verify_bad "expected bar() => true" - end - - def test_blow_up_on_wrong_number_of_arguments - @mock.foo - @mock.meaning_of_life - @mock.expect(:sum, 3, [1, 2]) - - e = assert_raises ArgumentError do - @mock.sum - end - - assert_equal "mocked method :sum expects 2 arguments, got []", e.message - end - - def test_return_mock_does_not_raise - retval = Minitest::Mock.new - mock = Minitest::Mock.new - mock.expect(:foo, retval) - mock.foo - - assert_mock mock - end - - def test_mock_args_does_not_raise - arg = Minitest::Mock.new - mock = Minitest::Mock.new - mock.expect(:foo, nil, [arg]) - mock.foo(arg) - - assert_mock mock - end - - def test_set_expectation_on_special_methods - mock = Minitest::Mock.new - - mock.expect :object_id, "received object_id" - assert_equal "received object_id", mock.object_id - - mock.expect :respond_to_missing?, "received respond_to_missing?" - assert_equal "received respond_to_missing?", mock.respond_to_missing? - - mock.expect :===, "received ===" - assert_equal "received ===", mock.=== - - mock.expect :inspect, "received inspect" - assert_equal "received inspect", mock.inspect - - mock.expect :to_s, "received to_s" - assert_equal "received to_s", mock.to_s - - mock.expect :public_send, "received public_send" - assert_equal "received public_send", mock.public_send - - mock.expect :send, "received send" - assert_equal "received send", mock.send - - assert_mock mock - end - - def test_expectations_can_be_satisfied_via_send - @mock.send :foo - @mock.send :meaning_of_life - - assert_mock @mock - end - - def test_expectations_can_be_satisfied_via_public_send - skip "Doesn't run on 1.8" if RUBY_VERSION < "1.9" - - @mock.public_send :foo - @mock.public_send :meaning_of_life - - assert_mock @mock - end - - def test_blow_up_on_wrong_arguments - @mock.foo - @mock.meaning_of_life - @mock.expect(:sum, 3, [1, 2]) - - e = assert_raises MockExpectationError do - @mock.sum(2, 4) - end - - exp = "mocked method :sum called with unexpected arguments [2, 4]" - assert_equal exp, e.message - end - - def test_expect_with_non_array_args - e = assert_raises ArgumentError do - @mock.expect :blah, 3, false - end - - assert_match "args must be an array", e.message - end - - def test_respond_appropriately - assert @mock.respond_to?(:foo) - assert @mock.respond_to?(:foo, true) - assert @mock.respond_to?("foo") - assert !@mock.respond_to?(:bar) - end - - def test_no_method_error_on_unexpected_methods - e = assert_raises NoMethodError do - @mock.bar - end - - expected = "unmocked method :bar, expected one of [:foo, :meaning_of_life]" - - assert_match expected, e.message - end - - def test_assign_per_mock_return_values - a = Minitest::Mock.new - b = Minitest::Mock.new - - a.expect(:foo, :a) - b.expect(:foo, :b) - - assert_equal :a, a.foo - assert_equal :b, b.foo - end - - def test_do_not_create_stub_method_on_new_mocks - a = Minitest::Mock.new - a.expect(:foo, :a) - - assert !Minitest::Mock.new.respond_to?(:foo) - end - - def test_mock_is_a_blank_slate - @mock.expect :kind_of?, true, [String] - @mock.expect :==, true, [1] - - assert @mock.kind_of?(String), "didn't mock :kind_of\?" - assert @mock == 1, "didn't mock :==" - end - - def test_verify_allows_called_args_to_be_loosely_specified - mock = Minitest::Mock.new - mock.expect :loose_expectation, true, [Integer] - mock.loose_expectation 1 - - assert_mock mock - end - - def test_verify_raises_with_strict_args - mock = Minitest::Mock.new - mock.expect :strict_expectation, true, [2] - - e = assert_raises MockExpectationError do - mock.strict_expectation 1 - end - - exp = "mocked method :strict_expectation called with unexpected arguments [1]" - assert_equal exp, e.message - end - - def test_method_missing_empty - mock = Minitest::Mock.new - - mock.expect :a, nil - - mock.a - - e = assert_raises MockExpectationError do - mock.a - end - - assert_equal "No more expects available for :a: [] {}", e.message - end - - def test_same_method_expects_are_verified_when_all_called - mock = Minitest::Mock.new - mock.expect :foo, nil, [:bar] - mock.expect :foo, nil, [:baz] - - mock.foo :bar - mock.foo :baz - - assert_mock mock - end - - def test_same_method_expects_blow_up_when_not_all_called - mock = Minitest::Mock.new - mock.expect :foo, nil, [:bar] - mock.expect :foo, nil, [:baz] - - mock.foo :bar - - e = assert_raises(MockExpectationError) { mock.verify } - - exp = "expected foo(:baz) => nil, got [foo(:bar) => nil]" - - assert_equal exp, e.message - end - - def test_same_method_expects_with_same_args_blow_up_when_not_all_called - mock = Minitest::Mock.new - mock.expect :foo, nil, [:bar] - mock.expect :foo, nil, [:bar] - - mock.foo :bar - - e = assert_raises(MockExpectationError) { mock.verify } - - exp = "expected foo(:bar) => nil, got [foo(:bar) => nil]" - - assert_equal exp, e.message - end - - def test_delegator_calls_are_propagated - delegator = Object.new - mock = Minitest::Mock.new delegator - - refute delegator.nil? - refute mock.nil? - assert_mock mock - end - - def test_handles_kwargs_in_error_message - mock = Minitest::Mock.new - - mock.expect :foo, nil, [], kw: true - mock.expect :foo, nil, [], kw: false - - mock.foo kw: true - - e = assert_raises(MockExpectationError) { mock.verify } - - exp = "expected foo(:kw=>false) => nil, got [foo(:kw=>true) => nil]" - - assert_equal exp, e.message - end - - def test_verify_passes_when_mock_block_returns_true - mock = Minitest::Mock.new - mock.expect :foo, nil do - true - end - - mock.foo - - assert_mock mock - end - - def test_mock_block_is_passed_function_params - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil do |a1, a2, a3| - a1 == arg1 && a2 == arg2 && a3 == arg3 - end - - assert_silent do - if RUBY_VERSION > "3" then - mock.foo arg1, arg2, arg3 - else - mock.foo arg1, arg2, **arg3 # oddity just for ruby 2.7 - end - end - - assert_mock mock - end - - def test_mock_block_is_passed_keyword_args__block - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil do |k1:, k2:, k3:| - k1 == arg1 && k2 == arg2 && k3 == arg3 - end - - mock.foo(k1: arg1, k2: arg2, k3: arg3) - - assert_mock mock - end - - def test_mock_block_is_passed_keyword_args__block_bad_missing - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil do |k1:, k2:, k3:| - k1 == arg1 && k2 == arg2 && k3 == arg3 - end - - e = assert_raises ArgumentError do - mock.foo(k1: arg1, k2: arg2) - end - - # basically testing ruby ... need ? for ruby < 2.7 :( - assert_match(/missing keyword: :?k3/, e.message) - end - - def test_mock_block_is_passed_keyword_args__block_bad_extra - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil do |k1:, k2:| - k1 == arg1 && k2 == arg2 && k3 == arg3 - end - - e = assert_raises ArgumentError do - mock.foo(k1: arg1, k2: arg2, k3: arg3) - end - - # basically testing ruby ... need ? for ruby < 2.7 :( - assert_match(/unknown keyword: :?k3/, e.message) - end - - def test_mock_block_is_passed_keyword_args__block_bad_value - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil do |k1:, k2:, k3:| - k1 == arg1 && k2 == arg2 && k3 == arg3 - end - - e = assert_raises MockExpectationError do - mock.foo(k1: arg1, k2: arg2, k3: :BAD!) - end - - exp = "mocked method :foo failed block w/ [] {:k1=>:bar, :k2=>[1, 2, 3], :k3=>:BAD!}" - assert_equal exp, e.message - end - - def test_mock_block_is_passed_keyword_args__args - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3 - - mock.foo(k1: arg1, k2: arg2, k3: arg3) - - assert_mock mock - end - - def test_mock_allow_all_kwargs__old_style_env - with_kwargs_env do - mock = Minitest::Mock.new - mock.expect :foo, true, [Hash] - assert_equal true, mock.foo(bar: 42) - end - end - - def test_mock_allow_all_kwargs__old_style_env__rewrite - with_kwargs_env do - mock = Minitest::Mock.new - mock.expect :foo, true, [], bar: Integer - assert_equal true, mock.foo(bar: 42) - end - end - - def test_mock_block_is_passed_keyword_args__args__old_style_bad - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, [{k1: arg1, k2: arg2, k3: arg3}] - - e = assert_raises ArgumentError do - mock.foo(k1: arg1, k2: arg2, k3: arg3) - end - - assert_equal "mocked method :foo expects 1 arguments, got []", e.message - end - - def test_mock_block_is_passed_keyword_args__args__old_style_env - with_kwargs_env do - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, [{k1: arg1, k2: arg2, k3: arg3}] - - mock.foo(k1: arg1, k2: arg2, k3: arg3) - - assert_mock mock - end - end - - def test_mock_block_is_passed_keyword_args__args__old_style_both - with_kwargs_env do - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - - assert_output nil, /Using MT_KWARGS_HAC. yet passing kwargs/ do - mock.expect :foo, nil, [{}], k1: arg1, k2: arg2, k3: arg3 - end - - mock.foo({}, k1: arg1, k2: arg2, k3: arg3) - - assert_mock mock - end - end - - def test_mock_block_is_passed_keyword_args__args_bad_missing - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3 - - e = assert_raises ArgumentError do - mock.foo(k1: arg1, k2: arg2) - end - - assert_equal "mocked method :foo expects 3 keyword arguments, got %p" % {k1: arg1, k2: arg2}, e.message - end - - def test_mock_block_is_passed_keyword_args__args_bad_extra - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, k1: arg1, k2: arg2 - - e = assert_raises ArgumentError do - mock.foo(k1: arg1, k2: arg2, k3: arg3) - end - - assert_equal "mocked method :foo expects 2 keyword arguments, got %p" % {k1: arg1, k2: arg2, k3: arg3}, e.message - end - - def test_mock_block_is_passed_keyword_args__args_bad_key - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3 - - e = assert_raises MockExpectationError do - mock.foo(k1: arg1, k2: arg2, BAD: arg3) - end - - assert_includes e.message, "unexpected keywords [:k1, :k2, :k3]" - assert_includes e.message, "vs [:k1, :k2, :BAD]" - end - - def test_mock_block_is_passed_keyword_args__args_bad_val - arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } - mock = Minitest::Mock.new - mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3 - - e = assert_raises MockExpectationError do - mock.foo(k1: arg1, k2: :BAD!, k3: arg3) - end - - assert_match(/unexpected keyword arguments.* vs .*:k2=>:BAD!/, e.message) - end - - def test_mock_block_is_passed_function_block - mock = Minitest::Mock.new - block = proc { "bar" } - mock.expect :foo, nil do |arg, &blk| - arg == "foo" && - blk == block - end - mock.foo "foo", &block - assert_mock mock - end - - def test_mock_forward_keyword_arguments - mock = Minitest::Mock.new - mock.expect(:foo, nil) { |bar:| bar == 'bar' } - mock.foo(bar: 'bar') - assert_mock mock - end - - def test_verify_fails_when_mock_block_returns_false - mock = Minitest::Mock.new - mock.expect :foo, nil do - false - end - - e = assert_raises(MockExpectationError) { mock.foo } - exp = "mocked method :foo failed block w/ [] {}" - - assert_equal exp, e.message - end - - def test_mock_block_raises_if_args_passed - mock = Minitest::Mock.new - - e = assert_raises(ArgumentError) do - mock.expect :foo, nil, [:a, :b, :c] do - true - end - end - - exp = "args ignored when block given" - - assert_match exp, e.message - end - - def test_mock_block_raises_if_kwargs_passed - mock = Minitest::Mock.new - - e = assert_raises(ArgumentError) do - mock.expect :foo, nil, kwargs:1 do - true - end - end - - exp = "kwargs ignored when block given" - - assert_match exp, e.message - end - - def test_mock_returns_retval_when_called_with_block - mock = Minitest::Mock.new - mock.expect(:foo, 32) do - true - end - - rs = mock.foo - - assert_equal rs, 32 - end - - def util_verify_bad exp - e = assert_raises MockExpectationError do - @mock.verify - end - - assert_equal exp, e.message - end - - def test_mock_called_via_send - mock = Minitest::Mock.new - mock.expect(:foo, true) - - mock.send :foo - assert_mock mock - end - - def test_mock_called_via___send__ - mock = Minitest::Mock.new - mock.expect(:foo, true) - - mock.__send__ :foo - assert_mock mock - end - - def test_mock_called_via_send_with_args - mock = Minitest::Mock.new - mock.expect(:foo, true, [1, 2, 3]) - - mock.send(:foo, 1, 2, 3) - assert_mock mock - end - -end - -require "minitest/metametameta" - -class TestMinitestStub < Minitest::Test - # Do not parallelize since we're calling stub on class methods - - def setup - super - Minitest::Test.reset - - @tc = Minitest::Test.new "fake tc" - @assertion_count = 1 - end - - def teardown - super - assert_equal @assertion_count, @tc.assertions if self.passed? - end - - class Time - def self.now - 24 - end - end - - def assert_stub val_or_callable - @assertion_count += 1 - - t = Time.now.to_i - - Time.stub :now, val_or_callable do - @tc.assert_equal 42, Time.now - end - - @tc.assert_operator Time.now.to_i, :>=, t - end - - def test_stub_private_module_method - @assertion_count += 1 - - t0 = Time.now - - self.stub :sleep, nil do - @tc.assert_nil sleep(10) - end - - @tc.assert_operator Time.now - t0, :<=, 1 - end - - def test_stub_private_module_method_indirect - @assertion_count += 1 - - fail_clapper = Class.new do - def fail_clap - raise - :clap - end - end.new - - fail_clapper.stub :raise, nil do |safe_clapper| - @tc.assert_equal :clap, safe_clapper.fail_clap # either form works - @tc.assert_equal :clap, fail_clapper.fail_clap # yay closures - end - end - - def test_stub_public_module_method - Math.stub :log10, :stubbed do - @tc.assert_equal :stubbed, Math.log10(1000) - end - end - - def test_stub_value - assert_stub 42 - end - - def test_stub_block - assert_stub lambda { 42 } - end - - def test_stub_block_args - @assertion_count += 1 - - t = Time.now.to_i - - Time.stub :now, lambda { |n| n * 2 } do - @tc.assert_equal 42, Time.now(21) - end - - @tc.assert_operator Time.now.to_i, :>=, t - end - - def test_stub_callable - obj = Object.new - - def obj.call - 42 - end - - assert_stub obj - end - - def test_stub_yield_self - obj = "foo" - - val = obj.stub :to_s, "bar" do |s| - s.to_s - end - - @tc.assert_equal "bar", val - end - - def test_dynamic_method - @assertion_count = 2 - - dynamic = Class.new do - def self.respond_to? meth - meth == :found - end - - def self.method_missing meth, *args, &block - if meth == :found - false - else - super - end - end - end - - val = dynamic.stub(:found, true) do |s| - s.found - end - - @tc.assert_equal true, val - @tc.assert_equal false, dynamic.found - end - - def test_stub_NameError - e = @tc.assert_raises NameError do - Time.stub :nope_nope_nope, 42 do - # do nothing - end - end - - exp = jruby? ? /Undefined method nope_nope_nope for '#{self.class}::Time'/ : - /undefined method `nope_nope_nope' for( class)? `#{self.class}::Time'/ - assert_match exp, e.message - end - - def test_mock_with_yield - mock = Minitest::Mock.new - mock.expect(:write, true) do - true - end - rs = nil - - File.stub :open, true, mock do - File.open "foo.txt", "r" do |f| - rs = f.write - end - end - @tc.assert_equal true, rs - end - - def test_mock_with_yield_kwargs - mock = Minitest::Mock.new - rs = nil - - File.stub :open, true, mock, kw:42 do - File.open "foo.txt", "r" do |f, kw:| - rs = kw - end - end - - @tc.assert_equal 42, rs - end - - alias test_stub_value__old test_stub_value # TODO: remove/rename - - ## Permutation Sets: - - # [:value, :lambda] - # [:*, :block, :block_call] - # [:**, :block_args] - # - # Where: - # - # :value = a normal value - # :lambda = callable or lambda - # :* = no block - # :block = normal block - # :block_call = :lambda invokes the block (N/A for :value) - # :** = no args - # :args = args passed to stub - - ## Permutations - - # [:call, :*, :**] =>5 callable+block FIX: CALL BOTH (bug) - # [:call, :*, :**] =>6 callable - - # [:lambda, :*, :**] => lambda result - - # [:lambda, :*, :args] => lambda result NO ARGS - - # [:lambda, :block, :**] =>5 lambda result FIX: CALL BOTH (bug) - # [:lambda, :block, :**] =>6 lambda result - - # [:lambda, :block, :args] =>5 lambda result FIX: CALL BOTH (bug) - # [:lambda, :block, :args] =>6 lambda result - # [:lambda, :block, :args] =>7 raise ArgumentError - - # [:lambda, :block_call, :**] =>5 lambda FIX: BUG!-not passed block to lambda - # [:lambda, :block_call, :**] =>6 lambda+block result - - # [:lambda, :block_call, :args] =>5 lambda FIX: BUG!-not passed block to lambda - # [:lambda, :block_call, :args] =>6 lambda+block result - - # [:value, :*, :**] => value - - # [:value, :*, :args] => value, ignore args - - # [:value, :block, :**] =>5 value, call block - # [:value, :block, :**] =>6 value - - # [:value, :block, :args] =>5 value, call block w/ args - # [:value, :block, :args] =>6 value, call block w/ args, deprecated - # [:value, :block, :args] =>7 raise ArgumentError - - # [:value, :block_call, :**] => N/A - - # [:value, :block_call, :args] => N/A - - class Bar - def call - puts "hi" - end - end - - class Foo - def self.blocking - yield - end - end - - class Thingy - def self.identity arg - arg - end - end - - class Keywords - def self.args req, kw1:, kw2:24 - [req, kw1, kw2] - end - end - - def test_stub_callable_keyword_args - Keywords.stub :args, ->(*args, **kws) { [args, kws] } do - @tc.assert_equal [["woot"], { kw1: 42 }], Keywords.args("woot", kw1: 42) - end - end - - def test_stub__hash_as_last_real_arg - with_kwargs_env do - token = Object.new - def token.create_with_retry u, p; raise "shouldn't see this"; end - - controller = Object.new - controller.define_singleton_method :create do |u, p| - token.create_with_retry u, p - end - - params = Object.new - def params.to_hash; raise "nah"; end - - token.stub(:create_with_retry, ->(u, p) { 42 }) do - act = controller.create :u, params - @tc.assert_equal 42, act - end - end - end - - def test_stub_callable_block_5 # from tenderlove - @assertion_count += 1 - Foo.stub5 :blocking, Bar.new do - @tc.assert_output "hi\n", "" do - Foo.blocking do - @tc.flunk "shouldn't ever hit this" - end - end - end - end - - def test_stub_callable_block_6 # from tenderlove - skip_stub6 - - @assertion_count += 1 - Foo.stub6 :blocking, Bar.new do - @tc.assert_output "hi\n", "" do - Foo.blocking do - @tc.flunk "shouldn't ever hit this" - end - end - end - end - - def test_stub_lambda - Thread.stub :new, lambda { 21+21 } do - @tc.assert_equal 42, Thread.new - end - end - - def test_stub_lambda_args - Thread.stub :new, lambda { 21+21 }, :wtf do - @tc.assert_equal 42, Thread.new - end - end - - def test_stub_lambda_block_5 - Thread.stub5 :new, lambda { 21+21 } do - result = Thread.new do - @tc.flunk "shouldn't ever hit this" - end - @tc.assert_equal 42, result - end - end - - def test_stub_lambda_block_6 - skip_stub6 - - Thread.stub6 :new, lambda { 21+21 } do - result = Thread.new do - @tc.flunk "shouldn't ever hit this" - end - @tc.assert_equal 42, result - end - end - - def test_stub_lambda_block_args_5 - @assertion_count += 1 - Thingy.stub5 :identity, lambda { |y| @tc.assert_equal :nope, y; 21+21 }, :WTF? do - result = Thingy.identity :nope do |x| - @tc.flunk "shouldn't reach this" - end - @tc.assert_equal 42, result - end - end - - def test_stub_lambda_block_args_6 - skip_stub6 - - @assertion_count += 1 - Thingy.stub6 :identity, lambda { |y| @tc.assert_equal :nope, y; 21+21 }, :WTF? do - result = Thingy.identity :nope do |x| - @tc.flunk "shouldn't reach this" - end - @tc.assert_equal 42, result - end - end - - def test_stub_lambda_block_args_6_2 - skip_stub6 - - @tc.assert_raises ArgumentError do - Thingy.stub6_2 :identity, lambda { |y| :__not_run__ }, :WTF? do - # doesn't matter - end - end - end - - def test_stub_lambda_block_call_5 - @assertion_count += 1 - rs = nil - io = StringIO.new "", "w" - File.stub5 :open, lambda { |p, m, &blk| blk and blk.call io } do - File.open "foo.txt", "r" do |f| - rs = f && f.write("woot") - end - end - @tc.assert_equal 4, rs - @tc.assert_equal "woot", io.string - end - - def test_stub_lambda_block_call_6 - skip_stub6 - - @assertion_count += 1 - rs = nil - io = StringIO.new "", "w" - File.stub6 :open, lambda { |p, m, &blk| blk.call io } do - File.open "foo.txt", "r" do |f| - rs = f.write("woot") - end - end - @tc.assert_equal 4, rs - @tc.assert_equal "woot", io.string - end - - def test_stub_lambda_block_call_args_5 - @assertion_count += 1 - rs = nil - io = StringIO.new "", "w" - File.stub5(:open, lambda { |p, m, &blk| blk and blk.call io }, :WTF?) do - File.open "foo.txt", "r" do |f| - rs = f.write("woot") - end - end - @tc.assert_equal 4, rs - @tc.assert_equal "woot", io.string - end - - def test_stub_lambda_block_call_args_6 - skip_stub6 - - @assertion_count += 1 - rs = nil - io = StringIO.new "", "w" - File.stub6(:open, lambda { |p, m, &blk| blk.call io }, :WTF?) do - File.open "foo.txt", "r" do |f| - rs = f.write("woot") - end - end - @tc.assert_equal 4, rs - @tc.assert_equal "woot", io.string - end - - def test_stub_lambda_block_call_args_6_2 - skip_stub6 - - @assertion_count += 2 - rs = nil - io = StringIO.new "", "w" - @tc.assert_raises ArgumentError do - File.stub6_2(:open, lambda { |p, m, &blk| blk.call io }, :WTF?) do - File.open "foo.txt", "r" do |f| - rs = f.write("woot") - end - end - end - @tc.assert_nil rs - @tc.assert_equal "", io.string - end - - def test_stub_value - Thread.stub :new, 42 do - result = Thread.new - @tc.assert_equal 42, result - end - end - - def test_stub_value_args - Thread.stub :new, 42, :WTF? do - result = Thread.new - @tc.assert_equal 42, result - end - end - - def test_stub_value_block_5 - @assertion_count += 1 - Thread.stub5 :new, 42 do - result = Thread.new do - @tc.assert true - end - @tc.assert_equal 42, result - end - end - - def test_stub_value_block_6 - skip_stub6 - - Thread.stub6 :new, 42 do - result = Thread.new do - @tc.flunk "shouldn't hit this" - end - @tc.assert_equal 42, result - end - end - - def test_stub_value_block_args_5 - @assertion_count += 2 - rs = nil - io = StringIO.new "", "w" - File.stub5 :open, :value, io do - result = File.open "foo.txt", "r" do |f| - rs = f.write("woot") - end - @tc.assert_equal :value, result - end - @tc.assert_equal 4, rs - @tc.assert_equal "woot", io.string - end - - def test_stub_value_block_args_5__break_if_not_passed - e = @tc.assert_raises NoMethodError do - File.stub5 :open, :return_value do # intentionally bad setup w/ no args - File.open "foo.txt", "r" do |f| - f.write "woot" - end - end - end - exp = /undefined method `write' for nil/ - assert_match exp, e.message - end - - def test_stub_value_block_args_6 - skip_stub6 - - @assertion_count += 2 - rs = nil - io = StringIO.new "", "w" - assert_deprecated do - File.stub6 :open, :value, io do - result = File.open "foo.txt", "r" do |f| - rs = f.write("woot") - end - @tc.assert_equal :value, result - end - end - @tc.assert_equal 4, rs - @tc.assert_equal "woot", io.string - end - - def test_stub_value_block_args_6_2 - skip_stub6 - - @assertion_count += 2 - rs = nil - io = StringIO.new "", "w" - @tc.assert_raises ArgumentError do - File.stub6_2 :open, :value, io do - result = File.open "foo.txt", "r" do |f| - @tc.flunk "shouldn't hit this" - end - @tc.assert_equal :value, result - end - end - @tc.assert_nil rs - @tc.assert_equal "", io.string - end - - def assert_deprecated re = /deprecated/ - assert_output "", re do - yield - end - end - - def skip_stub6 - skip "not yet" unless STUB6 - end -end - -STUB6 = ENV["STUB6"] - -if STUB6 then - require "minitest/mock6" if STUB6 -else - class Object - alias stub5 stub - alias stub6 stub - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_reporter.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_reporter.rb deleted file mode 100644 index 8692602..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_reporter.rb +++ /dev/null @@ -1,341 +0,0 @@ -require "minitest/autorun" -require "minitest/metametameta" -require "forwardable" - -class Runnable - def woot - assert true - end -end - -class TestMinitestReporter < MetaMetaMetaTestCase - - attr_accessor :r, :io - - def new_composite_reporter - # Ruby bug in older versions of 2.2 & 2.3 on all platforms - # Latest Windows builds were 2.2.6 and 2.3.3. Latest Ruby releases were - # 2.2.10 and 2.3.8. - skip if windows? && RUBY_VERSION < '2.4' - reporter = Minitest::CompositeReporter.new - reporter << Minitest::SummaryReporter.new(self.io) - reporter << Minitest::ProgressReporter.new(self.io) - - # eg reporter.results -> reporters.first.results - reporter.extend Forwardable - reporter.delegate :first => :reporters - reporter.delegate %i[results count assertions options to_s] => :first - - reporter - end - - def setup - super - self.io = StringIO.new("") - self.r = new_composite_reporter - end - - def error_test - unless defined? @et then - @et = Minitest::Test.new(:woot) - @et.failures << Minitest::UnexpectedError.new(begin - raise "no" - rescue => e - e - end) - @et = Minitest::Result.from @et - end - @et - end - - def fail_test - unless defined? @ft then - @ft = Minitest::Test.new(:woot) - @ft.failures << begin - raise Minitest::Assertion, "boo" - rescue Minitest::Assertion => e - e - end - @ft = Minitest::Result.from @ft - end - @ft - end - - def passing_test - @pt ||= Minitest::Result.from Minitest::Test.new(:woot) - end - - def passing_test_with_metadata - test = Minitest::Test.new(:woot) - test.metadata[:meta] = :data - @pt ||= Minitest::Result.from test - end - - def skip_test - unless defined? @st then - @st = Minitest::Test.new(:woot) - @st.failures << begin - raise Minitest::Skip - rescue Minitest::Assertion => e - e - end - @st = Minitest::Result.from @st - end - @st - end - - def test_to_s - r.record passing_test - r.record fail_test - assert_match "woot", r.to_s - end - - def test_options_skip_F - r.options[:skip] = "F" - - r.record passing_test - r.record fail_test - - refute_match "woot", r.to_s - end - - def test_options_skip_E - r.options[:skip] = "E" - - r.record passing_test - r.record error_test - - refute_match "RuntimeError: no", r.to_s - end - - def test_passed_eh_empty - assert_predicate r, :passed? - end - - def test_passed_eh_failure - r.results << fail_test - - refute_predicate r, :passed? - end - - SKIP_MSG = "\n\nYou have skipped tests. Run with --verbose for details." - - def test_passed_eh_error - r.start - - r.results << error_test - - refute_predicate r, :passed? - - r.report - - refute_match SKIP_MSG, io.string - end - - def test_passed_eh_skipped - r.start - r.results << skip_test - assert r.passed? - - restore_env do - r.report - end - - assert_match SKIP_MSG, io.string - end - - def test_passed_eh_skipped_verbose - r.options[:verbose] = true - - r.start - r.results << skip_test - assert r.passed? - r.report - - refute_match SKIP_MSG, io.string - end - - def test_start - r.start - - exp = "Run options: \n\n# Running:\n\n" - - assert_equal exp, io.string - end - - def test_record_pass - r.record passing_test - - assert_equal ".", io.string - assert_empty r.results - assert_equal 1, r.count - assert_equal 0, r.assertions - end - - def test_record_pass_with_metadata - reporter = self.r - - def reporter.metadata - @metadata - end - - def reporter.record result - super - @metadata = result.metadata if result.metadata? - end - - r.record passing_test_with_metadata - - exp = { :meta => :data } - assert_equal exp, reporter.metadata - - assert_equal ".", io.string - assert_empty r.results - assert_equal 1, r.count - assert_equal 0, r.assertions - end - - def test_record_fail - fail_test = self.fail_test - r.record fail_test - - assert_equal "F", io.string - assert_equal [fail_test], r.results - assert_equal 1, r.count - assert_equal 0, r.assertions - end - - def test_record_error - error_test = self.error_test - r.record error_test - - assert_equal "E", io.string - assert_equal [error_test], r.results - assert_equal 1, r.count - assert_equal 0, r.assertions - end - - def test_record_skip - skip_test = self.skip_test - r.record skip_test - - assert_equal "S", io.string - assert_equal [skip_test], r.results - assert_equal 1, r.count - assert_equal 0, r.assertions - end - - def test_report_empty - r.start - r.report - - exp = clean <<-EOM - Run options: - - # Running: - - - - Finished in 0.00 - - 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_equal exp, normalize_output(io.string) - end - - def test_report_passing - r.start - r.record passing_test - r.report - - exp = clean <<-EOM - Run options: - - # Running: - - . - - Finished in 0.00 - - 1 runs, 0 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_equal exp, normalize_output(io.string) - end - - def test_report_failure - r.start - r.record fail_test - r.report - - exp = clean <<-EOM - Run options: - - # Running: - - F - - Finished in 0.00 - - 1) Failure: - Minitest::Test#woot [FILE:LINE]: - boo - - 1 runs, 0 assertions, 1 failures, 0 errors, 0 skips - EOM - - assert_equal exp, normalize_output(io.string) - end - - def test_report_error - r.start - r.record error_test - r.report - - exp = clean <<-EOM - Run options: - - # Running: - - E - - Finished in 0.00 - - 1) Error: - Minitest::Test#woot: - RuntimeError: no - FILE:LINE:in `error_test' - FILE:LINE:in `test_report_error' - - 1 runs, 0 assertions, 0 failures, 1 errors, 0 skips - EOM - - assert_equal exp, normalize_output(io.string) - end - - def test_report_skipped - r.start - r.record skip_test - - restore_env do - r.report - end - - exp = clean <<-EOM - Run options: - - # Running: - - S - - Finished in 0.00 - - 1 runs, 0 assertions, 0 failures, 0 errors, 1 skips - - You have skipped tests. Run with --verbose for details. - EOM - - assert_equal exp, normalize_output(io.string) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_spec.rb deleted file mode 100644 index ad91f52..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_spec.rb +++ /dev/null @@ -1,1146 +0,0 @@ -# encoding: utf-8 -require "minitest/metametameta" -require "stringio" - -class MiniSpecA < Minitest::Spec; end -class MiniSpecB < Minitest::Test; extend Minitest::Spec::DSL; end -class MiniSpecC < MiniSpecB; end -class NamedExampleA < MiniSpecA; end -class NamedExampleB < MiniSpecB; end -class NamedExampleC < MiniSpecC; end -class ExampleA; end -class ExampleB < ExampleA; end - -describe Minitest::Spec do - # helps to deal with 2.4 deprecation of Fixnum for Integer - Int = 1.class - - # do not parallelize this suite... it just can"t handle it. - - def assert_triggered expected = "blah", klass = Minitest::Assertion - @assertion_count += 1 - - e = assert_raises(klass) do - yield - end - - msg = e.message.sub(/(---Backtrace---).*/m, '\1') - msg.gsub!(/\(oid=[-0-9]+\)/, "(oid=N)") - msg.gsub!(/(\d\.\d{6})\d+/, '\1xxx') # normalize: ruby version, impl, platform - msg.gsub!(/:0x[Xa-fA-F0-9]{4,}[ @].+?>/, ":0xXXXXXX@PATH>") - - if expected - @assertion_count += 1 - case expected - when String then - assert_equal expected, msg - when Regexp then - @assertion_count += 1 - assert_match expected, msg - else - flunk "Unknown: #{expected.inspect}" - end - end - end - - def assert_success spec - assert_equal true, spec - end - - before do - @assertion_count = 4 - end - - after do - _(self.assertions).must_equal @assertion_count if passed? and not skipped? - end - - it "needs to be able to catch a Minitest::Assertion exception" do - @assertion_count = 1 - - assert_triggered "Expected 1 to not be equal to 1." do - _(1).wont_equal 1 - end - end - - it "needs to check for file existence" do - @assertion_count = 3 - - assert_success _(__FILE__).path_must_exist - - assert_triggered "Expected path 'blah' to exist." do - _("blah").path_must_exist - end - end - - it "needs to check for file non-existence" do - @assertion_count = 3 - - assert_success _("blah").path_wont_exist - - assert_triggered "Expected path '#{__FILE__}' to not exist." do - _(__FILE__).path_wont_exist - end - end - - it "needs to be sensible about must_include order" do - @assertion_count += 3 # must_include is 2 assertions - - assert_success _([1, 2, 3]).must_include(2) - - assert_triggered "Expected [1, 2, 3] to include 5." do - _([1, 2, 3]).must_include 5 - end - - assert_triggered "msg.\nExpected [1, 2, 3] to include 5." do - _([1, 2, 3]).must_include 5, "msg" - end - end - - it "needs to be sensible about wont_include order" do - @assertion_count += 3 # wont_include is 2 assertions - - assert_success _([1, 2, 3]).wont_include(5) - - assert_triggered "Expected [1, 2, 3] to not include 2." do - _([1, 2, 3]).wont_include 2 - end - - assert_triggered "msg.\nExpected [1, 2, 3] to not include 2." do - _([1, 2, 3]).wont_include 2, "msg" - end - end - - it "needs to catch an expected exception" do - @assertion_count = 2 - - expect { raise "blah" }.must_raise RuntimeError - expect { raise Minitest::Assertion }.must_raise Minitest::Assertion - end - - it "needs to catch an unexpected exception" do - @assertion_count -= 2 # no positive - - msg = <<-EOM.gsub(/^ {6}/, "").chomp - [RuntimeError] exception expected, not - Class: <StandardError> - Message: <"woot"> - ---Backtrace--- - EOM - - assert_triggered msg do - expect { raise StandardError, "woot" }.must_raise RuntimeError - end - - assert_triggered "msg.\n#{msg}" do - expect { raise StandardError, "woot" }.must_raise RuntimeError, "msg" - end - end - - def good_pattern - capture_io do # 3.0 is noisy - eval "[1,2,3] => [Integer, Integer, Integer]" # eval to escape parser for ruby<3 - end - end - - def bad_pattern - capture_io do # 3.0 is noisy - eval "[1,2,3] => [Integer, Integer]" # eval to escape parser for ruby<3 - end - end - - it "needs to pattern match" do - @assertion_count = 1 - - if RUBY_VERSION > "3" then - expect { good_pattern }.must_pattern_match - else - assert_raises NotImplementedError do - expect {}.must_pattern_match - end - end - end - - it "needs to error on bad pattern match" do - skip unless RUBY_VERSION > "3" - - @assertion_count = 1 - - exp = if RUBY_VERSION.start_with? "3.0" - "[1, 2, 3]" # terrible error message! - else - /length mismatch/ - end - - assert_triggered exp do - expect { bad_pattern }.must_pattern_match - end - end - - it "needs to ensure silence" do - @assertion_count -= 1 # no msg - @assertion_count += 2 # assert_output is 2 assertions - - assert_success expect {}.must_be_silent - - assert_triggered "In stdout.\nExpected: \"\"\n Actual: \"xxx\"" do - expect { print "xxx" }.must_be_silent - end - end - - it "needs to have all methods named well" do - skip "N/A" if ENV["MT_NO_EXPECTATIONS"] - - @assertion_count = 2 - - methods = Minitest::Expectations.public_instance_methods.grep(/must|wont/) - methods.map!(&:to_s) if Symbol === methods.first - - musts, wonts = methods.sort.partition { |m| m =~ /must/ } - - expected_musts = %w[must_be - must_be_close_to - must_be_empty - must_be_instance_of - must_be_kind_of - must_be_nil - must_be_same_as - must_be_silent - must_be_within_delta - must_be_within_epsilon - must_equal - must_include - must_match - must_output - must_pattern_match - must_raise - must_respond_to - must_throw - path_must_exist] - - bad = %w[not raise throw send output be_silent] - - expected_wonts = expected_musts.map { |m| m.sub(/must/, "wont") }.sort - expected_wonts.reject! { |m| m =~ /wont_#{Regexp.union(*bad)}/ } - - _(musts).must_equal expected_musts - _(wonts).must_equal expected_wonts - end - - it "needs to raise if an expected exception is not raised" do - @assertion_count -= 2 # no positive test - - assert_triggered "RuntimeError expected but nothing was raised." do - expect { 42 }.must_raise RuntimeError - end - - assert_triggered "msg.\nRuntimeError expected but nothing was raised." do - expect { 42 }.must_raise RuntimeError, "msg" - end - end - - it "needs to verify binary messages" do - assert_success _(42).wont_be(:<, 24) - - assert_triggered "Expected 24 to not be < 42." do - _(24).wont_be :<, 42 - end - - assert_triggered "msg.\nExpected 24 to not be < 42." do - _(24).wont_be :<, 42, "msg" - end - end - - it "needs to verify emptyness" do - @assertion_count += 3 # empty is 2 assertions - - assert_success _([]).must_be_empty - - assert_triggered "Expected [42] to be empty." do - _([42]).must_be_empty - end - - assert_triggered "msg.\nExpected [42] to be empty." do - _([42]).must_be_empty "msg" - end - end - - it "needs to verify equality" do - @assertion_count += 1 - - assert_success _(6 * 7).must_equal(42) - - assert_triggered "Expected: 42\n Actual: 54" do - _(6 * 9).must_equal 42 - end - - assert_triggered "msg.\nExpected: 42\n Actual: 54" do - _(6 * 9).must_equal 42, "msg" - end - - assert_triggered(/^-42\n\+#<Proc:0xXXXXXX[ @]PATH>\n/) do - _(proc { 42 }).must_equal 42 # proc isn't called, so expectation fails - end - end - - it "needs to warn on equality with nil" do - @assertion_count += 1 # extra test - - out, err = capture_io do - assert_success _(nil).must_equal(nil) - end - - exp = "DEPRECATED: Use assert_nil if expecting nil from #{__FILE__}:#{__LINE__-3}. " \ - "This will fail in Minitest 6.\n" - exp = "" if $-w.nil? - - assert_empty out - assert_equal exp, err - end - - it "needs to verify floats outside a delta" do - @assertion_count += 1 # extra test - - assert_success _(24).wont_be_close_to(42) - - assert_triggered "Expected |42 - 42.0| (0.0) to not be <= 0.001." do - _(6 * 7.0).wont_be_close_to 42 - end - - x = "1.0e-05" - assert_triggered "Expected |42 - 42.0| (0.0) to not be <= #{x}." do - _(6 * 7.0).wont_be_close_to 42, 0.00001 - end - - assert_triggered "msg.\nExpected |42 - 42.0| (0.0) to not be <= #{x}." do - _(6 * 7.0).wont_be_close_to 42, 0.00001, "msg" - end - end - - it "needs to verify floats outside an epsilon" do - @assertion_count += 1 # extra test - - assert_success _(24).wont_be_within_epsilon(42) - - x = "0.042" - assert_triggered "Expected |42 - 42.0| (0.0) to not be <= #{x}." do - _(6 * 7.0).wont_be_within_epsilon 42 - end - - x = "0.00042" - assert_triggered "Expected |42 - 42.0| (0.0) to not be <= #{x}." do - _(6 * 7.0).wont_be_within_epsilon 42, 0.00001 - end - - assert_triggered "msg.\nExpected |42 - 42.0| (0.0) to not be <= #{x}." do - _(6 * 7.0).wont_be_within_epsilon 42, 0.00001, "msg" - end - end - - it "needs to verify floats within a delta" do - @assertion_count += 1 # extra test - - assert_success _(6.0 * 7).must_be_close_to(42.0) - - assert_triggered "Expected |0.0 - 0.01| (0.01) to be <= 0.001." do - _(1.0 / 100).must_be_close_to 0.0 - end - - x = "1.0e-06" - assert_triggered "Expected |0.0 - 0.001| (0.001) to be <= #{x}." do - _(1.0 / 1000).must_be_close_to 0.0, 0.000001 - end - - assert_triggered "msg.\nExpected |0.0 - 0.001| (0.001) to be <= #{x}." do - _(1.0 / 1000).must_be_close_to 0.0, 0.000001, "msg" - end - end - - it "needs to verify floats within an epsilon" do - @assertion_count += 1 # extra test - - assert_success _(6.0 * 7).must_be_within_epsilon(42.0) - - assert_triggered "Expected |0.0 - 0.01| (0.01) to be <= 0.0." do - _(1.0 / 100).must_be_within_epsilon 0.0 - end - - assert_triggered "Expected |0.0 - 0.001| (0.001) to be <= 0.0." do - _(1.0 / 1000).must_be_within_epsilon 0.0, 0.000001 - end - - assert_triggered "msg.\nExpected |0.0 - 0.001| (0.001) to be <= 0.0." do - _(1.0 / 1000).must_be_within_epsilon 0.0, 0.000001, "msg" - end - end - - it "needs to verify identity" do - assert_success _(1).must_be_same_as(1) - - assert_triggered "Expected 1 (oid=N) to be the same as 2 (oid=N)." do - _(1).must_be_same_as 2 - end - - assert_triggered "msg.\nExpected 1 (oid=N) to be the same as 2 (oid=N)." do - _(1).must_be_same_as 2, "msg" - end - end - - it "needs to verify inequality" do - @assertion_count += 2 - assert_success _(42).wont_equal(6 * 9) - assert_success _(proc {}).wont_equal(42) - - assert_triggered "Expected 1 to not be equal to 1." do - _(1).wont_equal 1 - end - - assert_triggered "msg.\nExpected 1 to not be equal to 1." do - _(1).wont_equal 1, "msg" - end - end - - it "needs to verify instances of a class" do - assert_success _(42).wont_be_instance_of(String) - - assert_triggered "Expected 42 to not be a kind of #{Int.name}." do - _(42).wont_be_kind_of Int - end - - assert_triggered "msg.\nExpected 42 to not be an instance of #{Int.name}." do - _(42).wont_be_instance_of Int, "msg" - end - end - - it "needs to verify kinds of a class" do - @assertion_count += 2 - - assert_success _(42).wont_be_kind_of(String) - assert_success _(proc {}).wont_be_kind_of(String) - - assert_triggered "Expected 42 to not be a kind of #{Int.name}." do - _(42).wont_be_kind_of Int - end - - assert_triggered "msg.\nExpected 42 to not be a kind of #{Int.name}." do - _(42).wont_be_kind_of Int, "msg" - end - end - - it "needs to verify kinds of objects" do - @assertion_count += 3 # extra test - - assert_success _(6 * 7).must_be_kind_of(Int) - assert_success _(6 * 7).must_be_kind_of(Numeric) - - assert_triggered "Expected 42 to be a kind of String, not #{Int.name}." do - _(6 * 7).must_be_kind_of String - end - - assert_triggered "msg.\nExpected 42 to be a kind of String, not #{Int.name}." do - _(6 * 7).must_be_kind_of String, "msg" - end - - exp = "Expected #<Proc:0xXXXXXX@PATH> to be a kind of String, not Proc." - assert_triggered exp do - _(proc {}).must_be_kind_of String - end - end - - it "needs to verify mismatch" do - @assertion_count += 3 # match is 2 - - assert_success _("blah").wont_match(/\d+/) - - assert_triggered "Expected /\\w+/ to not match \"blah\"." do - _("blah").wont_match(/\w+/) - end - - assert_triggered "msg.\nExpected /\\w+/ to not match \"blah\"." do - _("blah").wont_match(/\w+/, "msg") - end - end - - it "needs to verify nil" do - assert_success _(nil).must_be_nil - - assert_triggered "Expected 42 to be nil." do - _(42).must_be_nil - end - - assert_triggered "msg.\nExpected 42 to be nil." do - _(42).must_be_nil "msg" - end - end - - it "needs to verify non-emptyness" do - @assertion_count += 3 # empty is 2 assertions - - assert_success _(["some item"]).wont_be_empty - - assert_triggered "Expected [] to not be empty." do - _([]).wont_be_empty - end - - assert_triggered "msg.\nExpected [] to not be empty." do - _([]).wont_be_empty "msg" - end - end - - it "needs to verify non-identity" do - assert_success _(1).wont_be_same_as(2) - - assert_triggered "Expected 1 (oid=N) to not be the same as 1 (oid=N)." do - _(1).wont_be_same_as 1 - end - - assert_triggered "msg.\nExpected 1 (oid=N) to not be the same as 1 (oid=N)." do - _(1).wont_be_same_as 1, "msg" - end - end - - it "needs to verify non-nil" do - assert_success _(42).wont_be_nil - - assert_triggered "Expected nil to not be nil." do - _(nil).wont_be_nil - end - - assert_triggered "msg.\nExpected nil to not be nil." do - _(nil).wont_be_nil "msg" - end - end - - it "needs to verify objects not responding to a message" do - assert_success _("").wont_respond_to(:woot!) - - assert_triggered "Expected \"\" to not respond to to_s." do - _("").wont_respond_to :to_s - end - - assert_triggered "msg.\nExpected \"\" to not respond to to_s." do - _("").wont_respond_to :to_s, "msg" - end - end - - it "needs to verify output in stderr" do - @assertion_count -= 1 # no msg - - assert_success expect { $stderr.print "blah" }.must_output(nil, "blah") - - assert_triggered "In stderr.\nExpected: \"blah\"\n Actual: \"xxx\"" do - expect { $stderr.print "xxx" }.must_output(nil, "blah") - end - end - - it "needs to verify output in stdout" do - @assertion_count -= 1 # no msg - - assert_success expect { print "blah" }.must_output("blah") - - assert_triggered "In stdout.\nExpected: \"blah\"\n Actual: \"xxx\"" do - expect { print "xxx" }.must_output("blah") - end - end - - it "needs to verify regexp matches" do - @assertion_count += 3 # must_match is 2 assertions - - assert_kind_of MatchData, _("blah").must_match(/\w+/) - - assert_triggered "Expected /\\d+/ to match \"blah\"." do - _("blah").must_match(/\d+/) - end - - assert_triggered "msg.\nExpected /\\d+/ to match \"blah\"." do - _("blah").must_match(/\d+/, "msg") - end - end - - describe "expect" do - before do - @assertion_count -= 3 - end - - it "can use expect" do - _(1 + 1).must_equal 2 - end - - it "can use expect with a lambda" do - _ { raise "blah" }.must_raise RuntimeError - end - - it "can use expect in a thread" do - Thread.new { _(1 + 1).must_equal 2 }.join - end - - it "can NOT use must_equal in a thread. It must use expect in a thread" do - skip "N/A" if ENV["MT_NO_EXPECTATIONS"] - assert_raises RuntimeError do - capture_io do - Thread.new { (1 + 1).must_equal 2 }.join - end - end - end - - it "fails gracefully when expectation used outside of `it`" do - skip "N/A" if ENV["MT_NO_EXPECTATIONS"] - - @assertion_count += 1 - - e = assert_raises RuntimeError do - capture_io do - Thread.new { # forces ctx to be nil - describe("woot") do - (1 + 1).must_equal 2 - end - }.join - end - end - - assert_equal "Calling #must_equal outside of test.", e.message - end - - it "deprecates expectation used without _" do - skip "N/A" if ENV["MT_NO_EXPECTATIONS"] - - @assertion_count += 3 - - exp = /DEPRECATED: global use of must_equal from/ - - assert_output "", exp do - (1 + 1).must_equal 2 - end - end - - # https://github.com/seattlerb/minitest/issues/837 - # https://github.com/rails/rails/pull/39304 - it "deprecates expectation used without _ with empty backtrace_filter" do - skip "N/A" if ENV["MT_NO_EXPECTATIONS"] - - @assertion_count += 3 - - exp = /DEPRECATED: global use of must_equal from/ - - with_empty_backtrace_filter do - assert_output "", exp do - (1 + 1).must_equal 2 - end - end - end - end - - it "needs to verify throw" do - @assertion_count += 4 # 2 extra tests - - assert_nil expect { throw :blah }.must_throw(:blah) - assert_equal 42, expect { throw :blah, 42 }.must_throw(:blah) - - assert_triggered "Expected :blah to have been thrown." do - expect {}.must_throw :blah - end - - assert_triggered "Expected :blah to have been thrown, not :xxx." do - expect { throw :xxx }.must_throw :blah - end - - assert_triggered "msg.\nExpected :blah to have been thrown." do - expect {}.must_throw :blah, "msg" - end - - assert_triggered "msg.\nExpected :blah to have been thrown, not :xxx." do - expect { throw :xxx }.must_throw :blah, "msg" - end - end - - it "needs to verify types of objects" do - assert_success _(6 * 7).must_be_instance_of(Int) - - exp = "Expected 42 to be an instance of String, not #{Int.name}." - - assert_triggered exp do - _(6 * 7).must_be_instance_of String - end - - assert_triggered "msg.\n#{exp}" do - _(6 * 7).must_be_instance_of String, "msg" - end - end - - it "needs to verify using any (negative) predicate" do - @assertion_count -= 1 # doesn"t take a message - - assert_success _("blah").wont_be(:empty?) - - assert_triggered "Expected \"\" to not be empty?." do - _("").wont_be :empty? - end - end - - it "needs to verify using any binary operator" do - @assertion_count -= 1 # no msg - - assert_success _(41).must_be(:<, 42) - - assert_triggered "Expected 42 to be < 41." do - _(42).must_be(:<, 41) - end - end - - it "needs to verify using any predicate" do - @assertion_count -= 1 # no msg - - assert_success _("").must_be(:empty?) - - assert_triggered "Expected \"blah\" to be empty?." do - _("blah").must_be :empty? - end - end - - it "needs to verify using respond_to" do - assert_success _(42).must_respond_to(:+) - - assert_triggered "Expected 42 (#{Int.name}) to respond to #clear." do - _(42).must_respond_to :clear - end - - assert_triggered "msg.\nExpected 42 (#{Int.name}) to respond to #clear." do - _(42).must_respond_to :clear, "msg" - end - end -end - -describe Minitest::Spec, :let do - i_suck_and_my_tests_are_order_dependent! - - def _count - $let_count ||= 0 - end - - let :count do - $let_count += 1 - $let_count - end - - it "is evaluated once per example" do - _(_count).must_equal 0 - - _(count).must_equal 1 - _(count).must_equal 1 - - _(_count).must_equal 1 - end - - it "is REALLY evaluated once per example" do - _(_count).must_equal 1 - - _(count).must_equal 2 - _(count).must_equal 2 - - _(_count).must_equal 2 - end - - it 'raises an error if the name begins with "test"' do - expect { self.class.let(:test_value) { true } }.must_raise ArgumentError - end - - it "raises an error if the name shadows a normal instance method" do - expect { self.class.let(:message) { true } }.must_raise ArgumentError - end - - it "doesn't raise an error if it is just another let" do - v = proc do - describe :outer do - let(:bar) - describe :inner do - let(:bar) - end - end - :good - end.call - _(v).must_equal :good - end - - it "procs come after dont_flip" do - p = proc {} - assert_respond_to p, :call - _(p).must_respond_to :call - end -end - -describe Minitest::Spec, :subject do - attr_reader :subject_evaluation_count - - subject do - @subject_evaluation_count ||= 0 - @subject_evaluation_count += 1 - @subject_evaluation_count - end - - it "is evaluated once per example" do - _(subject).must_equal 1 - _(subject).must_equal 1 - _(subject_evaluation_count).must_equal 1 - end -end - -class TestMetaStatic < Minitest::Test - def assert_method_count expected, klass - assert_equal expected, klass.public_instance_methods.grep(/^test_/).count - end - - def test_children - Minitest::Spec.children.clear # prevents parallel run - - y = z = nil - x = describe "top-level thingy" do - y = describe "first thingy" do end - - it "top-level-it" do end - - z = describe "second thingy" do end - end - - assert_equal [x], Minitest::Spec.children - assert_equal [y, z], x.children - assert_equal [], y.children - assert_equal [], z.children - end - - def test_it_wont_remove_existing_child_test_methods - Minitest::Spec.children.clear # prevents parallel run - - inner = nil - outer = describe "outer" do - inner = describe "inner" do - it do - assert true - end - end - it do - assert true - end - end - - assert_method_count 1, outer - assert_method_count 1, inner - end - - def test_it_wont_add_test_methods_to_children - Minitest::Spec.children.clear # prevents parallel run - - inner = nil - outer = describe "outer" do - inner = describe "inner" do end - it do - assert true - end - end - - assert_method_count 1, outer - assert_method_count 0, inner - end -end - -class TestMeta < MetaMetaMetaTestCase - # do not call parallelize_me! here because specs use register_spec_type globally - - def assert_defined_methods expected, klass - assert_equal expected, klass.instance_methods(false).sort.map(&:to_s) - end - - def util_structure - y = z = nil - before_list = [] - after_list = [] - x = describe "top-level thingy" do - before { before_list << 1 } - after { after_list << 1 } - - it "top-level-it" do end - - y = describe "inner thingy" do - before { before_list << 2 } - after { after_list << 2 } - it "inner-it" do end - - z = describe "very inner thingy" do - before { before_list << 3 } - after { after_list << 3 } - it "inner-it" do end - - it { } # ignore me - specify { } # anonymous it - end - end - end - - return x, y, z, before_list, after_list - end - - def test_register_spec_type - original_types = Minitest::Spec::TYPES.dup - - assert_includes Minitest::Spec::TYPES, [//, Minitest::Spec] - - Minitest::Spec.register_spec_type(/woot/, TestMeta) - - p = lambda do |_| true end - Minitest::Spec.register_spec_type TestMeta, &p - - keys = Minitest::Spec::TYPES.map(&:first) - - assert_includes keys, /woot/ - assert_includes keys, p - ensure - Minitest::Spec::TYPES.replace original_types - end - - def test_spec_type - original_types = Minitest::Spec::TYPES.dup - - Minitest::Spec.register_spec_type(/A$/, MiniSpecA) - Minitest::Spec.register_spec_type MiniSpecB do |desc| - desc.superclass == ExampleA - end - Minitest::Spec.register_spec_type MiniSpecC do |_desc, *addl| - addl.include? :woot - end - - assert_equal MiniSpecA, Minitest::Spec.spec_type(ExampleA) - assert_equal MiniSpecB, Minitest::Spec.spec_type(ExampleB) - assert_equal MiniSpecC, Minitest::Spec.spec_type(ExampleB, :woot) - ensure - Minitest::Spec::TYPES.replace original_types - end - - def test_bug_dsl_expectations - spec_class = Class.new MiniSpecB do - it "should work" do - _(0).must_equal 0 - end - end - - test_name = spec_class.instance_methods.sort.grep(/test_/).first - - spec = spec_class.new test_name - - result = spec.run - - assert spec.passed? - assert result.passed? - assert_equal 1, result.assertions - end - - def test_name - spec_a = describe ExampleA do; end - spec_b = describe ExampleB, :random_method do; end - spec_c = describe ExampleB, :random_method, :addl_context do; end - - assert_equal "ExampleA", spec_a.name - assert_equal "ExampleB::random_method", spec_b.name - assert_equal "ExampleB::random_method::addl_context", spec_c.name - end - - def test_name2 - assert_equal "NamedExampleA", NamedExampleA.name - assert_equal "NamedExampleB", NamedExampleB.name - assert_equal "NamedExampleC", NamedExampleC.name - - spec_a = describe ExampleA do; end - spec_b = describe ExampleB, :random_method do; end - - assert_equal "ExampleA", spec_a.name - assert_equal "ExampleB::random_method", spec_b.name - end - - def test_structure - x, y, z, * = util_structure - - assert_equal "top-level thingy", x.to_s - assert_equal "top-level thingy::inner thingy", y.to_s - assert_equal "top-level thingy::inner thingy::very inner thingy", z.to_s - - assert_equal "top-level thingy", x.desc - assert_equal "inner thingy", y.desc - assert_equal "very inner thingy", z.desc - - top_methods = %w[setup teardown test_0001_top-level-it] - inner_methods1 = %w[setup teardown test_0001_inner-it] - inner_methods2 = inner_methods1 + - %w[test_0002_anonymous test_0003_anonymous] - - assert_defined_methods top_methods, x - assert_defined_methods inner_methods1, y - assert_defined_methods inner_methods2, z - end - - def test_structure_postfix_it - z = nil - y = describe "outer" do - # NOT here, below the inner-describe! - # it "inner-it" do end - - z = describe "inner" do - it "inner-it" do end - end - - # defined AFTER inner describe means we'll try to wipe out the inner-it - it "inner-it" do end - end - - assert_defined_methods %w[test_0001_inner-it], y - assert_defined_methods %w[test_0001_inner-it], z - end - - def test_setup_teardown_behavior - _, _, z, before_list, after_list = util_structure - - @tu = z - - run_tu_with_fresh_reporter - - size = z.runnable_methods.size - assert_equal [1, 2, 3] * size, before_list - assert_equal [3, 2, 1] * size, after_list - end - - def test_describe_first_structure - x1 = x2 = y = z = nil - x = describe "top-level thingy" do - y = describe "first thingy" do end - - x1 = it "top level it" do end - x2 = it "не латинские &いった α, β, γ, δ, ε hello!!! world" do end - - z = describe "second thingy" do end - end - - test_methods = ["test_0001_top level it", - "test_0002_не латинские &いった α, β, γ, δ, ε hello!!! world", - ].sort - - assert_equal test_methods, [x1, x2] - assert_defined_methods test_methods, x - assert_defined_methods [], y - assert_defined_methods [], z - end - - def test_structure_subclasses - z = nil - x = Class.new Minitest::Spec do - def xyz; end - end - y = Class.new x do - z = describe("inner") { } - end - - assert_respond_to x.new(nil), "xyz" - assert_respond_to y.new(nil), "xyz" - assert_respond_to z.new(nil), "xyz" - end -end - -class TestSpecInTestCase < MetaMetaMetaTestCase - def setup - super - - Thread.current[:current_spec] = self - @tc = self - @assertion_count = 2 - end - - def assert_triggered expected, klass = Minitest::Assertion - @assertion_count += 1 - - e = assert_raises klass do - yield - end - - msg = e.message.sub(/(---Backtrace---).*/m, "\1") - msg.gsub!(/\(oid=[-0-9]+\)/, "(oid=N)") - - assert_equal expected, msg - end - - def teardown - msg = "expected #{@assertion_count} assertions, not #{@tc.assertions}" - assert_equal @assertion_count, @tc.assertions, msg - end - - def test_expectation - @tc.assert_equal true, _(1).must_equal(1) - end - - def test_expectation_triggered - assert_triggered "Expected: 2\n Actual: 1" do - _(1).must_equal 2 - end - end - - include Minitest::Spec::DSL::InstanceMethods - - def test_expectation_with_a_message - assert_triggered "woot.\nExpected: 2\n Actual: 1" do - _(1).must_equal 2, "woot" - end - end -end - -class ValueMonadTest < Minitest::Test - attr_accessor :struct - - def setup - @struct = { :_ => "a", :value => "b", :expect => "c" } - def @struct.method_missing k # think openstruct - self[k] - end - end - - def test_value_monad_method - assert_equal "a", struct._ - end - - def test_value_monad_value_alias - assert_equal "b", struct.value - end - - def test_value_monad_expect_alias - assert_equal "c", struct.expect - end -end - -describe Minitest::Spec, :infect_an_assertion do - class << self - attr_accessor :infect_mock - end - - def assert_infects exp, act, msg = nil, foo: nil, bar: nil - self.class.infect_mock.assert_infects exp, act, msg, foo: foo, bar: bar - end - - infect_an_assertion :assert_infects, :must_infect - infect_an_assertion :assert_infects, :must_infect_without_flipping, :dont_flip - - it "infects assertions with kwargs" do - mock = Minitest::Mock.new - mock.expect :assert_infects, true, [:exp, :act, nil], foo: :foo, bar: :bar - - self.class.infect_mock = mock - - _(:act).must_infect :exp, foo: :foo, bar: :bar - - assert_mock mock - end - - it "infects assertions with kwargs (dont_flip)" do - mock = Minitest::Mock.new - mock.expect :assert_infects, true, [:act, :exp, nil], foo: :foo, bar: :bar - - self.class.infect_mock = mock - - _(:act).must_infect_without_flipping :exp, foo: :foo, bar: :bar - - assert_mock mock - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_test.rb deleted file mode 100644 index 63a2d44..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_test.rb +++ /dev/null @@ -1,1282 +0,0 @@ -# encoding: UTF-8 - -require "pathname" -require "minitest/metametameta" - -if defined? Encoding then - e = Encoding.default_external - if e != Encoding::UTF_8 then - warn "" - warn "" - warn "NOTE: External encoding #{e} is not UTF-8. Tests WILL fail." - warn " Run tests with `RUBYOPT=-Eutf-8 rake` to avoid errors." - warn "" - warn "" - end -end - -class Minitest::Runnable - def whatever # faked for testing - assert true - end -end - -class TestMinitestUnit < MetaMetaMetaTestCase - parallelize_me! - - pwd = Pathname.new File.expand_path Dir.pwd - basedir = Pathname.new(File.expand_path "lib/minitest") + "mini" - basedir = basedir.relative_path_from(pwd).to_s - MINITEST_BASE_DIR = basedir[/\A\./] ? basedir : "./#{basedir}" - BT_MIDDLE = ["#{MINITEST_BASE_DIR}/test.rb:161:in `each'", - "#{MINITEST_BASE_DIR}/test.rb:158:in `each'", - "#{MINITEST_BASE_DIR}/test.rb:139:in `run'", - "#{MINITEST_BASE_DIR}/test.rb:106:in `run'"] - - def test_filter_backtrace - # this is a semi-lame mix of relative paths. - # I cheated by making the autotest parts not have ./ - bt = (["lib/autotest.rb:571:in `add_exception'", - "test/test_autotest.rb:62:in `test_add_exception'", - "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] + - BT_MIDDLE + - ["#{MINITEST_BASE_DIR}/test.rb:29", - "test/test_autotest.rb:422"]) - bt = util_expand_bt bt - - ex = ["lib/autotest.rb:571:in `add_exception'", - "test/test_autotest.rb:62:in `test_add_exception'"] - ex = util_expand_bt ex - - Minitest::Test.io_lock.synchronize do # try not to trounce in parallel - fu = Minitest.filter_backtrace(bt) - - assert_equal ex, fu - end - end - - def test_filter_backtrace_all_unit - bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] + - BT_MIDDLE + - ["#{MINITEST_BASE_DIR}/test.rb:29"]) - ex = bt.clone - fu = Minitest.filter_backtrace(bt) - assert_equal ex, fu - end - - def test_filter_backtrace_unit_starts - bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] + - BT_MIDDLE + - ["#{MINITEST_BASE_DIR}/mini/test.rb:29", - "-e:1"]) - - bt = util_expand_bt bt - - ex = ["-e:1"] - Minitest::Test.io_lock.synchronize do # try not to trounce in parallel - fu = Minitest.filter_backtrace bt - assert_equal ex, fu - end - end - - def test_filter_backtrace__empty - with_empty_backtrace_filter do - bt = %w[first second third] - fu = Minitest.filter_backtrace bt.dup - assert_equal bt, fu - end - end - - def test_infectious_binary_encoding - @tu = Class.new FakeNamedTest do - def test_this_is_not_ascii_assertion - assert_equal "ЁЁЁ", "ёёё" - end - - def test_this_is_non_ascii_failure_message - fail 'ЁЁЁ'.force_encoding('ASCII-8BIT') - end - end - - expected = clean <<-EOM - FE - - Finished in 0.00 - - 1) Failure: - FakeNamedTestXX#test_this_is_not_ascii_assertion [FILE:LINE]: - Expected: \"ЁЁЁ\" - Actual: \"ёёё\" - - 2) Error: - FakeNamedTestXX#test_this_is_non_ascii_failure_message: - RuntimeError: ЁЁЁ - FILE:LINE:in `test_this_is_non_ascii_failure_message' - - 2 runs, 1 assertions, 1 failures, 1 errors, 0 skips - EOM - - Minitest::Test.io_lock.synchronize do # try not to trounce in parallel - assert_report expected - end - end - - def test_passed_eh_teardown_good - test_class = Class.new FakeNamedTest do - def teardown; assert true; end - def test_omg; assert true; end - end - - test = test_class.new :test_omg - test.run - - refute_predicate test, :error? - assert_predicate test, :passed? - refute_predicate test, :skipped? - end - - def test_passed_eh_teardown_skipped - test_class = Class.new FakeNamedTest do - def teardown; assert true; end - def test_omg; skip "bork"; end - end - - test = test_class.new :test_omg - test.run - - refute_predicate test, :error? - refute_predicate test, :passed? - assert_predicate test, :skipped? - end - - def test_passed_eh_teardown_flunked - test_class = Class.new FakeNamedTest do - def teardown; flunk; end - def test_omg; assert true; end - end - - test = test_class.new :test_omg - test.run - - refute_predicate test, :error? - refute_predicate test, :passed? - refute_predicate test, :skipped? - end - - def util_expand_bt bt - bt.map { |f| (f =~ /^\./) ? File.expand_path(f) : f } - end -end - -class TestMinitestUnitInherited < MetaMetaMetaTestCase - def with_overridden_include - Class.class_eval do - def inherited_with_hacks _klass - throw :inherited_hook - end - - alias inherited_without_hacks inherited - alias inherited inherited_with_hacks - alias IGNORE_ME! inherited # 1.8 bug. god I love venture bros - end - - yield - ensure - Class.class_eval do - alias inherited inherited_without_hacks - - undef_method :inherited_with_hacks - undef_method :inherited_without_hacks - end - - refute_respond_to Class, :inherited_with_hacks - refute_respond_to Class, :inherited_without_hacks - end - - def test_inherited_hook_plays_nice_with_others - with_overridden_include do - assert_throws :inherited_hook do - Class.new FakeNamedTest - end - end - end -end - -class TestMinitestRunner < MetaMetaMetaTestCase - # do not parallelize this suite... it just can't handle it. - - def test_class_runnables - @assertion_count = 0 - - tc = Class.new(Minitest::Test) - - assert_equal 1, Minitest::Test.runnables.size - assert_equal [tc], Minitest::Test.runnables - end - - def test_run_test - @tu = - Class.new FakeNamedTest do - attr_reader :foo - - def run - @foo = "hi mom!" - r = super - @foo = "okay" - - r - end - - def test_something - assert_equal "hi mom!", foo - end - end - - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_report expected - end - - def test_run_error - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - - def test_error - raise "unhandled exception" - end - end - - expected = clean <<-EOM - .E - - Finished in 0.00 - - 1) Error: - FakeNamedTestXX#test_error: - RuntimeError: unhandled exception - FILE:LINE:in \`test_error\' - - 2 runs, 1 assertions, 0 failures, 1 errors, 0 skips - EOM - - assert_report expected - end - - def test_run_error_teardown - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - - def teardown - raise "unhandled exception" - end - end - - expected = clean <<-EOM - E - - Finished in 0.00 - - 1) Error: - FakeNamedTestXX#test_something: - RuntimeError: unhandled exception - FILE:LINE:in \`teardown\' - - 1 runs, 1 assertions, 0 failures, 1 errors, 0 skips - EOM - - assert_report expected - end - - def test_run_failing - setup_basic_tu - - expected = clean <<-EOM - .F - - Finished in 0.00 - - 1) Failure: - FakeNamedTestXX#test_failure [FILE:LINE]: - Expected false to be truthy. - - 2 runs, 2 assertions, 1 failures, 0 errors, 0 skips - EOM - - assert_report expected - end - - def setup_basic_tu - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - - def test_failure - assert false - end - end - end - - def test_seed # this is set for THIS run, so I'm not testing it's actual value - assert_instance_of Integer, Minitest.seed - end - - def test_run_failing_filtered - setup_basic_tu - - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_report expected, %w[--name /some|thing/ --seed 42] - end - - def assert_filtering filter, name, expected, a = false - args = %W[--#{filter} #{name} --seed 42] - - alpha = Class.new FakeNamedTest do - define_method :test_something do - assert a - end - end - Object.const_set(:Alpha, alpha) - - beta = Class.new FakeNamedTest do - define_method :test_something do - assert true - end - end - Object.const_set(:Beta, beta) - - @tus = [alpha, beta] - - assert_report expected, args - ensure - Object.send :remove_const, :Alpha - Object.send :remove_const, :Beta - end - - def test_run_filtered_including_suite_name - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_filtering "name", "/Beta#test_something/", expected - end - - def test_run_filtered_including_suite_name_string - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_filtering "name", "Beta#test_something", expected - end - - def test_run_filtered_string_method_only - expected = clean <<-EOM - .. - - Finished in 0.00 - - 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_filtering "name", "test_something", expected, :pass - end - - def test_run_failing_excluded - setup_basic_tu - - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_report expected, %w[--exclude /failure/ --seed 42] - end - - def test_run_filtered_excluding_suite_name - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_filtering "exclude", "/Alpha#test_something/", expected - end - - def test_run_filtered_excluding_suite_name_string - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_filtering "exclude", "Alpha#test_something", expected - end - - def test_run_filtered_excluding_string_method_only - expected = clean <<-EOM - - - Finished in 0.00 - - 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_filtering "exclude", "test_something", expected, :pass - end - - def test_run_passing - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - end - - expected = clean <<-EOM - . - - Finished in 0.00 - - 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_report expected - end - - def test_run_skip - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - - def test_skip - skip "not yet" - end - end - - expected = clean <<-EOM - .S - - Finished in 0.00 - - 2 runs, 1 assertions, 0 failures, 0 errors, 1 skips - - You have skipped tests. Run with --verbose for details. - EOM - - restore_env do - assert_report expected - end - end - - def test_run_skip_verbose - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - - def test_skip - skip "not yet" - end - end - - expected = clean <<-EOM - FakeNamedTestXX#test_something = 0.00 s = . - FakeNamedTestXX#test_skip = 0.00 s = S - - Finished in 0.00 - - 1) Skipped: - FakeNamedTestXX#test_skip [FILE:LINE]: - not yet - - 2 runs, 1 assertions, 0 failures, 0 errors, 1 skips - EOM - - assert_report expected, %w[--seed 42 --verbose] - end - - def test_run_skip_show_skips - @tu = - Class.new FakeNamedTest do - def test_something - assert true - end - - def test_skip - skip "not yet" - end - end - - expected = clean <<-EOM - .S - - Finished in 0.00 - - 1) Skipped: - FakeNamedTestXX#test_skip [FILE:LINE]: - not yet - - 2 runs, 1 assertions, 0 failures, 0 errors, 1 skips - EOM - - assert_report expected, %w[--seed 42 --show-skips] - end - - def test_run_with_other_runner - @tu = - Class.new FakeNamedTest do - def self.run reporter, options = {} - @reporter = reporter - before_my_suite - super - end - - def self.name; "wacky!" end - - def self.before_my_suite - @reporter.io.puts "Running #{self.name} tests" - @@foo = 1 - end - - def test_something - assert_equal 1, @@foo - end - - def test_something_else - assert_equal 1, @@foo - end - end - - expected = clean <<-EOM - Running wacky! tests - .. - - Finished in 0.00 - - 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips - EOM - - assert_report expected - end - - require "monitor" - - class Latch - def initialize count = 1 - @count = count - @lock = Monitor.new - @cv = @lock.new_cond - end - - def release - @lock.synchronize do - @count -= 1 if @count > 0 - @cv.broadcast if @count == 0 - end - end - - def await - @lock.synchronize { @cv.wait_while { @count > 0 } } - end - end - - def test_run_parallel - test_count = 2 - test_latch = Latch.new test_count - wait_latch = Latch.new test_count - main_latch = Latch.new - - thread = Thread.new { - Thread.current.abort_on_exception = true - - # This latch waits until both test latches have been released. Both - # latches can't be released unless done in separate threads because - # `main_latch` keeps the test method from finishing. - test_latch.await - main_latch.release - } - - @tu = - Class.new FakeNamedTest do - parallelize_me! - - test_count.times do |i| - define_method :"test_wait_on_main_thread_#{i}" do - test_latch.release - - # This latch blocks until the "main thread" releases it. The main - # thread can't release this latch until both test latches have - # been released. This forces the latches to be released in separate - # threads. - main_latch.await - assert true - end - end - end - - expected = clean <<-EOM - .. - - Finished in 0.00 - - 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips - EOM - - skip if Minitest.parallel_executor.size < 2 # locks up test runner if 1 CPU - - assert_report(expected) do |reporter| - reporter.extend(Module.new { - define_method("record") do |result| - super(result) - wait_latch.release - end - - define_method("report") do - wait_latch.await - super() - end - }) - end - assert thread.join - end -end - -class TestMinitestUnitOrder < MetaMetaMetaTestCase - # do not parallelize this suite... it just can't handle it. - - def test_before_setup - call_order = [] - @tu = - Class.new FakeNamedTest do - define_method :setup do - super() - call_order << :setup - end - - define_method :before_setup do - call_order << :before_setup - end - - def test_omg; assert true; end - end - - run_tu_with_fresh_reporter - - expected = [:before_setup, :setup] - assert_equal expected, call_order - end - - def test_after_teardown - call_order = [] - @tu = - Class.new FakeNamedTest do - define_method :teardown do - super() - call_order << :teardown - end - - define_method :after_teardown do - call_order << :after_teardown - end - - def test_omg; assert true; end - end - - run_tu_with_fresh_reporter - - expected = [:teardown, :after_teardown] - assert_equal expected, call_order - end - - def test_all_teardowns_are_guaranteed_to_run - call_order = [] - @tu = - Class.new FakeNamedTest do - define_method :after_teardown do - super() - call_order << :after_teardown - raise - end - - define_method :teardown do - super() - call_order << :teardown - raise - end - - define_method :before_teardown do - super() - call_order << :before_teardown - raise - end - - def test_omg; assert true; end - end - - run_tu_with_fresh_reporter - - expected = [:before_teardown, :teardown, :after_teardown] - assert_equal expected, call_order - end - - def test_setup_and_teardown_survive_inheritance - call_order = [] - - @tu = Class.new FakeNamedTest do - define_method :setup do - call_order << :setup_method - end - - define_method :teardown do - call_order << :teardown_method - end - - define_method :test_something do - call_order << :test - end - end - - run_tu_with_fresh_reporter - - @tu = Class.new @tu - run_tu_with_fresh_reporter - - # Once for the parent class, once for the child - expected = [:setup_method, :test, :teardown_method] * 2 - - assert_equal expected, call_order - end -end - -class BetterError < RuntimeError # like better_error w/o infecting RuntimeError - def set_backtrace bt - super - @bad_ivar = binding - end -end - -class TestMinitestRunnable < Minitest::Test - def setup_marshal klass - tc = klass.new "whatever" - tc.assertions = 42 - tc.failures << "a failure" - - yield tc if block_given? - - def tc.setup - @blah = "blah" - end - tc.setup - - @tc = Minitest::Result.from tc - end - - def assert_marshal expected_ivars - new_tc = Marshal.load Marshal.dump @tc - - ivars = new_tc.instance_variables.map(&:to_s).sort - assert_equal expected_ivars, ivars - assert_equal "whatever", new_tc.name - assert_equal 42, new_tc.assertions - assert_equal ["a failure"], new_tc.failures - - yield new_tc if block_given? - end - - def test_marshal - setup_marshal Minitest::Runnable - - assert_marshal %w[@NAME @assertions @failures @klass @source_location @time] - end - - def test_spec_marshal - klass = describe("whatever") { it("passes") { assert true } } - rm = klass.runnable_methods.first - - # Run the test - @tc = klass.new(rm).run - - assert_kind_of Minitest::Result, @tc - - # Pass it over the wire - over_the_wire = Marshal.load Marshal.dump @tc - - assert_equal @tc.time, over_the_wire.time - assert_equal @tc.name, over_the_wire.name - assert_equal @tc.assertions, over_the_wire.assertions - assert_equal @tc.failures, over_the_wire.failures - assert_equal @tc.klass, over_the_wire.klass - end - - def test_spec_marshal_with_exception - klass = describe("whatever") { - it("raises, badly") { - raise Class.new(StandardError), "this is bad!" - } - } - - rm = klass.runnable_methods.first - - # Run the test - @tc = klass.new(rm).run - - assert_kind_of Minitest::Result, @tc - assert_instance_of Minitest::UnexpectedError, @tc.failure - - msg = @tc.failure.error.message - assert_includes msg, "Neutered Exception #<Class:" - assert_includes msg, "this is bad!" - - # Pass it over the wire - over_the_wire = Marshal.load Marshal.dump @tc - - assert_equal @tc.time, over_the_wire.time - assert_equal @tc.name, over_the_wire.name - assert_equal @tc.assertions, over_the_wire.assertions - assert_equal @tc.failures, over_the_wire.failures - assert_equal @tc.klass, over_the_wire.klass - end - - def test_spec_marshal_with_exception_nameerror - klass = describe("whatever") { - it("raises nameerror") { - NOPE::does_not_exist - } - } - - rm = klass.runnable_methods.first - - # Run the test - @tc = klass.new(rm).run - - assert_kind_of Minitest::Result, @tc - assert_instance_of Minitest::UnexpectedError, @tc.failure - - msg = @tc.failure.error.message - assert_includes msg, "uninitialized constant TestMinitestRunnable::NOPE" - - # Pass it over the wire - over_the_wire = Marshal.load Marshal.dump @tc - - assert_equal @tc.time, over_the_wire.time - assert_equal @tc.name, over_the_wire.name - assert_equal @tc.assertions, over_the_wire.assertions - assert_equal @tc.failures, over_the_wire.failures - assert_equal @tc.klass, over_the_wire.klass - end - - def with_runtime_error klass - old_runtime = RuntimeError - Object.send :remove_const, :RuntimeError - Object.const_set :RuntimeError, klass - yield - ensure - Object.send :remove_const, :RuntimeError - Object.const_set :RuntimeError, old_runtime - end - - def test_spec_marshal_with_exception__better_error_typeerror - klass = describe("whatever") { - it("raises with binding") { - raise BetterError, "boom" - } - } - - rm = klass.runnable_methods.first - - # Run the test - @tc = with_runtime_error BetterError do - klass.new(rm).run - end - - assert_kind_of Minitest::Result, @tc - assert_instance_of Minitest::UnexpectedError, @tc.failure - - msg = @tc.failure.error.message - assert_equal "Neutered Exception BetterError: boom", msg - - # Pass it over the wire - over_the_wire = Marshal.load Marshal.dump @tc - - assert_equal @tc.time, over_the_wire.time - assert_equal @tc.name, over_the_wire.name - assert_equal @tc.assertions, over_the_wire.assertions - assert_equal @tc.failures, over_the_wire.failures - assert_equal @tc.klass, over_the_wire.klass - end - - def test_spec_marshal_with_exception__worse_error_typeerror - worse_error_klass = Class.new(StandardError) do - # problem #1: anonymous subclass can'tmarshal, fails sanitize_exception - def initialize(record = nil) - - super(record.first) - end - end - - klass = describe("whatever") { - it("raises with NoMethodError") { - # problem #2: instantiated with a NON-string argument - # - # problem #3: arg responds to #first, but it becomes message - # which gets passed back in via new_exception - # that passes a string to worse_error_klass#initialize - # which calls first on it, which raises NoMethodError - raise worse_error_klass.new(["boom"]) - } - } - - rm = klass.runnable_methods.first - - # Run the test - @tc = klass.new(rm).run - - assert_kind_of Minitest::Result, @tc - assert_instance_of Minitest::UnexpectedError, @tc.failure - - msg = @tc.failure.error.message.gsub(/0x[A-Fa-f0-9]+/, "0xXXX") - - assert_equal "Neutered Exception #<Class:0xXXX>: boom", msg - - # Pass it over the wire - over_the_wire = Marshal.load Marshal.dump @tc - - assert_equal @tc.time, over_the_wire.time - assert_equal @tc.name, over_the_wire.name - assert_equal @tc.assertions, over_the_wire.assertions - assert_equal @tc.failures, over_the_wire.failures - assert_equal @tc.klass, over_the_wire.klass - end -end - -class TestMinitestTest < TestMinitestRunnable - def test_dup - setup_marshal Minitest::Test do |tc| - tc.time = 3.14 - end - - assert_marshal %w[@NAME @assertions @failures @klass @source_location @time] do |new_tc| - assert_in_epsilon 3.14, new_tc.time - end - end -end - -class TestMinitestUnitTestCase < Minitest::Test - # do not call parallelize_me! - teardown accesses @tc._assertions - # which is not threadsafe. Nearly every method in here is an - # assertion test so it isn't worth splitting it out further. - - RUBY18 = !defined? Encoding - - def setup - super - - Minitest::Test.reset - - @tc = Minitest::Test.new "fake tc" - @zomg = "zomg ponies!" - @assertion_count = 1 - end - - def teardown - assert_equal(@assertion_count, @tc.assertions, - "expected #{@assertion_count} assertions to be fired during the test, not #{@tc.assertions}") if @tc.passed? - end - - def non_verbose - orig_verbose = $VERBOSE - $VERBOSE = false - - yield - ensure - $VERBOSE = orig_verbose - end - - def sample_test_case(rand) - srand rand - Class.new FakeNamedTest do - 100.times do |i| - define_method("test_#{i}") { assert true } - end - end.runnable_methods - end - - # srand varies with OS - def test_runnable_methods_random - @assertion_count = 0 - - random_tests_1 = sample_test_case 42 - random_tests_2 = sample_test_case 42 - random_tests_3 = sample_test_case 1_000 - - assert_equal random_tests_1, random_tests_2 - assert_equal random_tests_1, random_tests_3 - end - - def test_runnable_methods_sorted - @assertion_count = 0 - - sample_test_case = Class.new FakeNamedTest do - def self.test_order; :sorted end - def test_test3; assert "does not matter" end - def test_test2; assert "does not matter" end - def test_test1; assert "does not matter" end - end - - expected = %w[test_test1 test_test2 test_test3] - assert_equal expected, sample_test_case.runnable_methods - end - - def test_i_suck_and_my_tests_are_order_dependent_bang_sets_test_order_alpha - @assertion_count = 0 - - shitty_test_case = Class.new FakeNamedTest - - shitty_test_case.i_suck_and_my_tests_are_order_dependent! - - assert_equal :alpha, shitty_test_case.test_order - end - - def test_i_suck_and_my_tests_are_order_dependent_bang_does_not_warn - @assertion_count = 0 - - shitty_test_case = Class.new FakeNamedTest - - def shitty_test_case.test_order; :lol end - - assert_silent do - shitty_test_case.i_suck_and_my_tests_are_order_dependent! - end - end - - def test_autorun_does_not_affect_fork_success_status - @assertion_count = 0 - skip "windows doesn't have fork" unless Process.respond_to?(:fork) - Process.waitpid(fork {}) - assert_equal true, $?.success? - end - - def test_autorun_does_not_affect_fork_exit_status - @assertion_count = 0 - skip "windows doesn't have fork" unless Process.respond_to?(:fork) - Process.waitpid(fork { exit 42 }) - assert_equal 42, $?.exitstatus - end - - def test_autorun_optionally_can_affect_fork_exit_status - @assertion_count = 0 - skip "windows doesn't have fork" unless Process.respond_to?(:fork) - Minitest.allow_fork = true - Process.waitpid(fork { exit 42 }) - refute_equal 42, $?.exitstatus - ensure - Minitest.allow_fork = false - end -end - -class TestMinitestGuard < Minitest::Test - parallelize_me! - - def test_mri_eh - assert self.class.mri? "ruby blah" - assert self.mri? "ruby blah" - end - - def test_jruby_eh - assert self.class.jruby? "java" - assert self.jruby? "java" - end - - def test_rubinius_eh - assert_output "", /DEPRECATED/ do - assert self.class.rubinius? "rbx" - end - assert_output "", /DEPRECATED/ do - assert self.rubinius? "rbx" - end - end - - def test_maglev_eh - assert_output "", /DEPRECATED/ do - assert self.class.maglev? "maglev" - end - assert_output "", /DEPRECATED/ do - assert self.maglev? "maglev" - end - end - - def test_osx_eh - assert self.class.osx? "darwin" - assert self.osx? "darwin" - end - - def test_windows_eh - assert self.class.windows? "mswin" - assert self.windows? "mswin" - end -end - -class TestMinitestUnitRecording < MetaMetaMetaTestCase - # do not parallelize this suite... it just can't handle it. - - def assert_run_record *expected, &block - @tu = Class.new FakeNamedTest, &block - - run_tu_with_fresh_reporter - - recorded = first_reporter.results.map(&:failures).flatten.map { |f| f.error.class } - - assert_equal expected, recorded - end - - def test_run_with_bogus_reporter - # https://github.com/seattlerb/minitest/issues/659 - # TODO: remove test for minitest 6 - @tu = Class.new FakeNamedTest do - def test_method - assert true - end - end - - bogus_reporter = Class.new do # doesn't subclass AbstractReporter - def start; @success = false; end - # def prerecord klass, name; end # doesn't define full API - def record result; @success = true; end - def report; end - def passed?; end - def results; end - def success?; @success; end - end.new - - self.reporter = Minitest::CompositeReporter.new - reporter << bogus_reporter - - Minitest::Runnable.runnables.delete @tu - - @tu.run reporter, {} - - assert_predicate bogus_reporter, :success? - end - - def test_record_passing - assert_run_record do - def test_method - assert true - end - end - end - - def test_record_failing - assert_run_record Minitest::Assertion do - def test_method - assert false - end - end - end - - def test_record_error - assert_run_record RuntimeError do - def test_method - raise "unhandled exception" - end - end - end - - def test_record_error_teardown - assert_run_record RuntimeError do - def test_method - assert true - end - - def teardown - raise "unhandled exception" - end - end - end - - def test_record_error_in_test_and_teardown - assert_run_record AnError, RuntimeError do - def test_method - raise AnError - end - - def teardown - raise "unhandled exception" - end - end - end - - def test_to_s_error_in_test_and_teardown - @tu = Class.new FakeNamedTest do - def test_method - raise AnError - end - - def teardown - raise "unhandled exception" - end - end - - run_tu_with_fresh_reporter - - exp = clean " - Error: - FakeNamedTestXX#test_method: - AnError: AnError - FILE:LINE:in `test_method' - - Error: - FakeNamedTestXX#test_method: - RuntimeError: unhandled exception - FILE:LINE:in `teardown' - " - - assert_equal exp.strip, normalize_output(first_reporter.results.first.to_s).strip - end - - def test_record_skip - assert_run_record Minitest::Skip do - def test_method - skip "not yet" - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_test_task.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_test_task.rb deleted file mode 100644 index 11b2618..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/minitest-5.20.0/test/minitest/test_minitest_test_task.rb +++ /dev/null @@ -1,46 +0,0 @@ -require "minitest/autorun" -require "hoe" - -require "minitest/test_task" - -Hoe.load_plugins # make sure Hoe::Test is loaded - -class TestHoeTest < Minitest::Test - PATH = "test/minitest/test_minitest_test_task.rb" - - mt_path = %w[lib test .].join File::PATH_SEPARATOR - - MT_EXPECTED = %W[-I#{mt_path} -w - -e '%srequire "#{PATH}"' - --].join(" ") + " " - - def test_make_test_cmd_for_minitest - skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] - - require "minitest/test_task" - - framework = %(require "minitest/autorun"; ) - - @tester = Minitest::TestTask.create :test do |t| - t.test_globs = [PATH] - end - - assert_equal MT_EXPECTED % [framework].join("; "), @tester.make_test_cmd - end - - def test_make_test_cmd_for_minitest_prelude - skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] - - require "minitest/test_task" - - prelude = %(require "other/file") - framework = %(require "minitest/autorun"; ) - - @tester = Minitest::TestTask.create :test do |t| - t.test_prelude = prelude - t.test_globs = [PATH] - end - - assert_equal MT_EXPECTED % [prelude, framework].join("; "), @tester.make_test_cmd - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/Gemfile deleted file mode 100644 index b4e2a20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/LICENSE.txt deleted file mode 100644 index a009cae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/README.md deleted file mode 100644 index 7edae4a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Mutex_m - -When 'mutex_m' is required, any object that extends or includes Mutex_m will be treated like a Mutex. - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'mutex_m' -``` - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install mutex_m - -## Usage - -Start by requiring the standard library Mutex_m: - -```ruby -require "mutex_m.rb" -``` - -From here you can extend an object with Mutex instance methods: - -```ruby -obj = Object.new -obj.extend Mutex_m -``` - -Or mixin Mutex_m into your module to your class inherit Mutex instance methods. - -```ruby -class Foo - include Mutex_m - # ... -end - -obj = Foo.new -# this obj can be handled like Mutex -``` - -## Development - -After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. - -To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/mutex_m. - -## License - -The gem is available as open source under the terms of the [2-Clause BSD License](https://opensource.org/licenses/BSD-2-Clause). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/Rakefile deleted file mode 100644 index 30baabd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/Rakefile +++ /dev/null @@ -1,10 +0,0 @@ -require "bundler/gem_tasks" -require "rake/testtask" - -Rake::TestTask.new(:test) do |t| - t.libs << "test" - t.libs << "lib" - t.test_files = FileList["test/**/test_*.rb"] -end - -task :default => :test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/mutex_m.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/mutex_m.gemspec deleted file mode 100644 index f614dcd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/mutex_m-0.1.2/mutex_m.gemspec +++ /dev/null @@ -1,27 +0,0 @@ -begin - require_relative "lib/mutex_m" -rescue LoadError - # for Ruby core repository - require_relative "mutex_m" -end - -Gem::Specification.new do |spec| - spec.name = "mutex_m" - spec.version = Mutex_m::VERSION - spec.authors = ["Keiju ISHITSUKA"] - spec.email = ["keiju@ruby-lang.org"] - - spec.summary = %q{Mixin to extend objects to be handled like a Mutex.} - spec.description = %q{Mixin to extend objects to be handled like a Mutex.} - spec.homepage = "https://github.com/ruby/mutex_m" - spec.licenses = ["Ruby", "BSD-2-Clause"] - - spec.files = ["Gemfile", "LICENSE.txt", "README.md", "Rakefile", "lib/mutex_m.rb", "mutex_m.gemspec"] - spec.bindir = "exe" - spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } - spec.require_paths = ["lib"] - - spec.add_development_dependency "bundler" - spec.add_development_dependency "rake" - spec.add_development_dependency "test-unit" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/Gemfile deleted file mode 100644 index cf2e832..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/Gemfile +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gemspec - -group :development do - # bootstrapping - gem "bundler", "~> 2.3" - gem "rake", "= 13.0.6" - - # building extensions - gem "rake-compiler", "= 1.2.1" - gem "rake-compiler-dock", "= 1.3.0" - - # documentation - gem "hoe-markdown", "= 1.4.0" - - # parser generator - gem "rexical", "= 1.0.7" - - # tests - gem "minitest", "5.18.0" - gem "minitest-reporters", "1.6.0" - gem "ruby_memcheck", "1.3.2" - gem "rubyzip", "~> 2.3.2" - gem "simplecov", "= 0.21.2" - - # rubocop - if Gem::Requirement.new("~> 3.0").satisfied_by?(Gem::Version.new(RUBY_VERSION)) - gem "rubocop", "1.51.0" - gem "rubocop-minitest", "0.31.0" - gem "rubocop-packaging", "0.5.2" - gem "rubocop-performance", "1.18.0" - gem "rubocop-rake", "= 0.6.0" - gem "rubocop-shopify", "2.13.0" - end -end - -# If Psych doesn't build, you can disable this group locally by running -# `bundle config set --local without rdoc` -# Then re-run `bundle install`. -group :rdoc do - gem "rdoc", "6.5.0" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/LICENSE-DEPENDENCIES.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/LICENSE-DEPENDENCIES.md deleted file mode 100644 index 8dc5e85..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/LICENSE-DEPENDENCIES.md +++ /dev/null @@ -1,2224 +0,0 @@ -# Vendored Dependency Licenses - -Nokogiri ships with some third party dependencies, which are listed here along with their licenses. - -Note that this document is broken into multiple sections, each of which describes the dependencies of a different "platform release" of Nokogiri. - -<!-- regenerate TOC with `rake format:toc` --> - -<!-- toc --> - -- [Platform Releases](#platform-releases) - * [Default platform release ("ruby")](#default-platform-release-ruby) - * [Native LinuxⓇ platform releases ("x86_64-linux", "arm64-linux", "aarch64-linux", and "arm-linux")](#native-linux%E2%93%A1-platform-releases-x86_64-linux-arm64-linux-aarch64-linux-and-arm-linux) - * [Native Darwin (macOSⓇ) platform releases ("x86_64-darwin" and "arm64-darwin")](#native-darwin-macos%E2%93%A1-platform-releases-x86_64-darwin-and-arm64-darwin) - * [Native WindowsⓇ platform releases ("x86-mingw32" and "x64-mingw32")](#native-windows%E2%93%A1-platform-releases-x86-mingw32-and-x64-mingw32) - * [JavaⓇ (JRuby) platform release ("java")](#java%E2%93%A1-jruby-platform-release-java) -- [Appendix: Dependencies' License Texts](#appendix-dependencies-license-texts) - * [libgumbo](#libgumbo) - * [libxml2](#libxml2) - * [libxslt](#libxslt) - * [zlib](#zlib) - * [libiconv](#libiconv) - * [isorelax:isorelax](#isorelaxisorelax) - * [net.sf.saxon:Saxon-HE](#netsfsaxonsaxon-he) - * [net.sourceforge.htmlunit:neko-htmlunit](#netsourceforgehtmlunitneko-htmlunit) - * [nu.validator:jing](#nuvalidatorjing) - * [org.nokogiri:nekodtd](#orgnokogirinekodtd) - * [xalan:serializer and xalan:xalan](#xalanserializer-and-xalanxalan) - * [xerces:xercesImpl](#xercesxercesimpl) - * [xml-apis:xml-apis](#xml-apisxml-apis) - -<!-- tocstop --> - -Anyone consuming this file via license-tracking software should endeavor to understand which gem file you're downloading and using, so as not to misinterpret the contents of this file and the licenses of the software being distributed. - -You can double-check the dependencies in your gem file by examining the output of `nokogiri -v` after installation, which will emit the complete set of libraries in use (for versions `>= 1.11.0.rc4`). - -In particular, I'm sure somebody's lawyer, somewhere, is going to freak out that the LGPL appears in this file; and so I'd like to take special note that the dependency covered by LGPL, `libiconv`, is only being redistributed in the native Windows and native Darwin platform releases. It's not present in default, JavaⓇ, or native LinuxⓇ releases. - - -## Platform Releases - -### Default platform release ("ruby") - -The default platform release distributes the following dependencies in source form: - -* [libxml2](#libxml2) -* [libxslt](#libxslt) -* [libgumbo](#libgumbo) - -This distribution can be identified by inspecting the included Gem::Specification, which will have the value "ruby" for its "platform" attribute. - - -### Native LinuxⓇ platform releases ("x86_64-linux", "arm64-linux", "aarch64-linux", and "arm-linux") - -The native LinuxⓇ platform release distributes the following dependencies in source form: - -* [libxml2](#libxml2) -* [libxslt](#libxslt) -* [libgumbo](#libgumbo) -* [zlib](#zlib) - -This distribution can be identified by inspecting the included Gem::Specification, which will have a value similar to "x86_64-linux" or "arm64-linux" for its "platform.cpu" attribute. - - -### Native Darwin (macOSⓇ) platform releases ("x86_64-darwin" and "arm64-darwin") - -The native Darwin platform release distributes the following dependencies in source form: - -* [libxml2](#libxml2) -* [libxslt](#libxslt) -* [libgumbo](#libgumbo) -* [zlib](#zlib) -* [libiconv](#libiconv) - -This distribution can be identified by inspecting the included Gem::Specification, which will have a value similar to "x86_64-darwin" or "arm64-darwin" for its "platform.cpu" attribute. Darwin is also known more familiarly as "OSX" or "macOSⓇ" and is the operating system for many AppleⓇ computers. - - -### Native WindowsⓇ platform releases ("x86-mingw32" and "x64-mingw32") - -The native WindowsⓇ platform release distributes the following dependencies in source form: - -* [libxml2](#libxml2) -* [libxslt](#libxslt) -* [libgumbo](#libgumbo) -* [zlib](#zlib) -* [libiconv](#libiconv) - -This distribution can be identified by inspecting the included Gem::Specification, which will have a value similar to "x64-mingw32" or "x86-mingw32" for its "platform.cpu" attribute. - - -### JavaⓇ (JRuby) platform release ("java") - -The Java platform release distributes the following dependencies as compiled jar files: - -* [isorelax:isorelax](#isorelaxisorelax) -* [net.sf.saxon:Saxon-HE](#netsfsaxonsaxon-he) -* [net.sourceforge.htmlunit:neko-htmlunit](#netsourceforgehtmlunitneko-htmlunit) -* [nu.validator:jing](#nuvalidatorjing) -* [org.nokogiri:nekodtd](#orgnokogirinekodtd) -* [xalan:serializer and xalan:xalan](#xalanserializer-and-xalanxalan) -* [xerces:xercesImpl](#xercesxercesimpl) -* [xml-apis:xml-apis](#xml-apisxml-apis) - -This distribution can be identified by inspecting the included Gem::Specification, which will have the value "java" for its "platform.os" attribute. - - -## Appendix: Dependencies' License Texts - -This section contains a subsection for each potentially-distributed dependency, which includes the name of the license and the license text. - -Please see previous sections to understand which of these potential dependencies is actually distributed in the gem file you're downloading and using. - - -### libgumbo - -Apache 2.0 - -https://github.com/sparklemotion/nokogiri/blob/main/gumbo-parser/src/README.md - - - 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 - - -### libxml2 - -MIT - -http://xmlsoft.org/ - - Except where otherwise noted in the source code (e.g. the files hash.c, - list.c and the trio files, which are covered by a similar licence but - with different Copyright notices) all the files are: - - Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is fur- - nished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- - NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - - -### libxslt - -MIT - -http://xmlsoft.org/libxslt/ - - Licence for libxslt except libexslt - ---------------------------------------------------------------------- - Copyright (C) 2001-2002 Daniel Veillard. All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is fur- - nished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- - NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- - NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of Daniel Veillard shall not - be used in advertising or otherwise to promote the sale, use or other deal- - ings in this Software without prior written authorization from him. - - ---------------------------------------------------------------------- - - Licence for libexslt - ---------------------------------------------------------------------- - Copyright (C) 2001-2002 Thomas Broyer, Charlie Bozeman and Daniel Veillard. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is fur- - nished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- - NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- - NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of the authors shall not - be used in advertising or otherwise to promote the sale, use or other deal- - ings in this Software without prior written authorization from him. - ---------------------------------------------------------------------- - - -### zlib - -zlib license - -http://www.zlib.net/zlib_license.html - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - - -### libiconv - -LGPL - -https://www.gnu.org/software/libiconv/ - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - [This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your - freedom to share and change it. By contrast, the GNU General Public - Licenses are intended to guarantee your freedom to share and change - free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some - specially designated Free Software Foundation software, and to any - other libraries whose authors decide to use it. You can use it for - your libraries, too. - - When we speak of free software, we are referring to freedom, not - price. Our General Public Licenses are designed to make sure that you - have the freedom to distribute copies of free software (and charge for - this service if you wish), that you receive source code or can get it - if you want it, that you can change the software or use pieces of it - in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid - anyone to deny you these rights or to ask you to surrender the rights. - These restrictions translate to certain responsibilities for you if - you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis - or for a fee, you must give the recipients all the rights that we gave - you. You must make sure that they, too, receive or can get the source - code. If you link a program with the library, you must provide - complete object files to the recipients so that they can relink them - with the library, after making changes to the library and recompiling - it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright - the library, and (2) offer you this license which gives you legal - permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain - that everyone understands that there is no warranty for this free - library. If the library is modified by someone else and passed on, we - want its recipients to know that what they have is not the original - version, so that any problems introduced by others will not reflect on - the original authors' reputations. - - Finally, any free program is threatened constantly by software - patents. We wish to avoid the danger that companies distributing free - software will individually obtain patent licenses, thus in effect - transforming the program into proprietary software. To prevent this, - we have made it clear that any patent must be licensed for everyone's - free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary - GNU General Public License, which was designed for utility programs. This - license, the GNU Library General Public License, applies to certain - designated libraries. This license is quite different from the ordinary - one; be sure to read it in full, and don't assume that anything in it is - the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that - they blur the distinction we usually make between modifying or adding to a - program and simply using it. Linking a program with a library, without - changing the library, is in some sense simply using the library, and is - analogous to running a utility program or application program. However, in - a textual and legal sense, the linked executable is a combined work, a - derivative of the original library, and the ordinary General Public License - treats it as such. - - Because of this blurred distinction, using the ordinary General - Public License for libraries did not effectively promote software - sharing, because most developers did not use the libraries. We - concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the - users of those programs of all benefit from the free status of the - libraries themselves. This Library General Public License is intended to - permit developers of non-free programs to use free libraries, while - preserving your freedom as a user of such programs to change the free - libraries that are incorporated in them. (We have not seen how to achieve - this as regards changes in header files, but we have achieved it as regards - changes in the actual functions of the Library.) The hope is that this - will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and - modification follow. Pay close attention to the difference between a - "work based on the library" and a "work that uses the library". The - former contains code derived from the library, while the latter only - works together with the library. - - Note that it is possible for a library to be covered by the ordinary - General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which - contains a notice placed by the copyright holder or other authorized - party saying it may be distributed under the terms of this Library - General Public License (also called "this License"). Each licensee is - addressed as "you". - - A "library" means a collection of software functions and/or data - prepared so as to be conveniently linked with application programs - (which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work - which has been distributed under these terms. A "work based on the - Library" means either the Library or any derivative work under - copyright law: that is to say, a work containing the Library or a - portion of it, either verbatim or with modifications and/or translated - straightforwardly into another language. (Hereinafter, translation is - included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for - making modifications to it. For a library, complete source code means - all the source code for all modules it contains, plus any associated - interface definition files, plus the scripts used to control compilation - and installation of the library. - - Activities other than copying, distribution and modification are not - covered by this License; they are outside its scope. The act of - running a program using the Library is not restricted, and output from - such a program is covered only if its contents constitute a work based - on the Library (independent of the use of the Library in a tool for - writing it). Whether that is true depends on what the Library does - and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's - complete source code as you receive it, in any medium, provided that - you conspicuously and appropriately publish on each copy an - appropriate copyright notice and disclaimer of warranty; keep intact - all the notices that refer to this License and to the absence of any - warranty; and distribute a copy of this License along with the - Library. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange for a - fee. - - 2. You may modify your copy or copies of the Library or any portion - of it, thus forming a work based on the Library, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Library, - and can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based - on the Library, the distribution of the whole must be on the terms of - this License, whose permissions for other licensees extend to the - entire whole, and thus to each and every part regardless of who wrote - it. - - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Library. - - In addition, mere aggregation of another work not based on the Library - with the Library (or with a work based on the Library) on a volume of - a storage or distribution medium does not bring the other work under - the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public - License instead of this License to a given copy of the Library. To do - this, you must alter all the notices that refer to this License, so - that they refer to the ordinary GNU General Public License, version 2, - instead of to this License. (If a newer version than version 2 of the - ordinary GNU General Public License has appeared, then you can specify - that version instead if you wish.) Do not make any other change in - these notices. - - Once this change is made in a given copy, it is irreversible for - that copy, so the ordinary GNU General Public License applies to all - subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of - the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or - derivative of it, under Section 2) in object code or executable form - under the terms of Sections 1 and 2 above provided that you accompany - it with the complete corresponding machine-readable source code, which - must be distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy - from a designated place, then offering equivalent access to copy the - source code from the same place satisfies the requirement to - distribute the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the - Library, but is designed to work with the Library by being compiled or - linked with it, is called a "work that uses the Library". Such a - work, in isolation, is not a derivative work of the Library, and - therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library - creates an executable that is a derivative of the Library (because it - contains portions of the Library), rather than a "work that uses the - library". The executable is therefore covered by this License. - Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file - that is part of the Library, the object code for the work may be a - derivative work of the Library even though the source code is not. - Whether this is true is especially significant if the work can be - linked without the Library, or if the work is itself a library. The - threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data - structure layouts and accessors, and small macros and small inline - functions (ten lines or less in length), then the use of the object - file is unrestricted, regardless of whether it is legally a derivative - work. (Executables containing this object code plus portions of the - Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may - distribute the object code for the work under the terms of Section 6. - Any executables containing that work also fall under Section 6, - whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or - link a "work that uses the Library" with the Library to produce a - work containing portions of the Library, and distribute that work - under terms of your choice, provided that the terms permit - modification of the work for the customer's own use and reverse - engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the - Library is used in it and that the Library and its use are covered by - this License. You must supply a copy of this License. If the work - during execution displays copyright notices, you must include the - copyright notice for the Library among them, as well as a reference - directing the user to the copy of this License. Also, you must do one - of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the - Library" must include any data and utility programs needed for - reproducing the executable from it. However, as a special exception, - the source code distributed need not include anything that is normally - distributed (in either source or binary form) with the major - components (compiler, kernel, and so on) of the operating system on - which the executable runs, unless that component itself accompanies - the executable. - - It may happen that this requirement contradicts the license - restrictions of other proprietary libraries that do not normally - accompany the operating system. Such a contradiction means you cannot - use both them and the Library together in an executable that you - distribute. - - 7. You may place library facilities that are a work based on the - Library side-by-side in a single library together with other library - facilities not covered by this License, and distribute such a combined - library, provided that the separate distribution of the work based on - the Library and of the other library facilities is otherwise - permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute - the Library except as expressly provided under this License. Any - attempt otherwise to copy, modify, sublicense, link with, or - distribute the Library is void, and will automatically terminate your - rights under this License. However, parties who have received copies, - or rights, from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify or - distribute the Library or its derivative works. These actions are - prohibited by law if you do not accept this License. Therefore, by - modifying or distributing the Library (or any work based on the - Library), you indicate your acceptance of this License to do so, and - all its terms and conditions for copying, distributing or modifying - the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the - Library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the Library - subject to these terms and conditions. You may not impose any further - restrictions on the recipients' exercise of the rights granted herein. - You are not responsible for enforcing compliance by third parties to - this License. - - 11. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot - distribute so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you - may not distribute the Library at all. For example, if a patent - license would not permit royalty-free redistribution of the Library by - all those who receive copies directly or indirectly through you, then - the only way you could satisfy both it and this License would be to - refrain entirely from distribution of the Library. - - If any portion of this section is held invalid or unenforceable under any - particular circumstance, the balance of the section is intended to apply, - and the section as a whole is intended to apply in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the free software distribution system which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is willing - to distribute software through any other system and a licensee cannot - impose that choice. - - This section is intended to make thoroughly clear what is believed to - be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in - certain countries either by patents or by copyrighted interfaces, the - original copyright holder who places the Library under this License may add - an explicit geographical distribution limitation excluding those countries, - so that distribution is permitted only in or among countries not thus - excluded. In such case, this License incorporates the limitation as if - written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new - versions of the Library General Public License from time to time. - Such new versions will be similar in spirit to the present version, - but may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the Library - specifies a version number of this License which applies to it and - "any later version", you have the option of following the terms and - conditions either of that version or of any later version published by - the Free Software Foundation. If the Library does not specify a - license version number, you may choose any version ever published by - the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free - programs whose distribution conditions are incompatible with these, - write to the author to ask for permission. For software which is - copyrighted by the Free Software Foundation, write to the Free - Software Foundation; we sometimes make exceptions for this. Our - decision will be guided by the two goals of preserving the free status - of all derivatives of our free software and of promoting the sharing - and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. - EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR - OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE - LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME - THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY - AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU - FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE - LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING - RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A - FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF - SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - DAMAGES. - - END OF TERMS AND CONDITIONS - - -### isorelax:isorelax - -MIT - -http://iso-relax.sourceforge.net/ - - Copyright (c) 2001-2002, SourceForge ISO-RELAX Project (ASAMI - Tomoharu, Daisuke Okajima, Kohsuke Kawaguchi, and MURATA Makoto) - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -### net.sf.saxon:Saxon-HE - -MPL 2.0 - -http://www.saxonica.com/ - - Mozilla Public License Version 2.0 - ================================== - - 1. Definitions - -------------- - - 1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - - 1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - - 1.3. "Contribution" - means Covered Software of a particular Contributor. - - 1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - - 1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - - 1.6. "Executable Form" - means any form of the work other than Source Code Form. - - 1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - - 1.8. "License" - means this document. - - 1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - - 1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - - 1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - - 1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - - 1.13. "Source Code Form" - means the form of the work preferred for making modifications. - - 1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - - 2. License Grants and Conditions - -------------------------------- - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - - (b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution - become effective for each Contribution on the date the Contributor first - distributes such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under - this License. No additional rights or licenses will be implied from the - distribution or licensing of Covered Software under this License. - Notwithstanding Section 2.1(b) above, no patent license is granted by a - Contributor: - - (a) for any code that a Contributor has removed from Covered Software; - or - - (b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - (c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - - This License does not grant any rights in the trademarks, service marks, - or logos of any Contributor (except as may be necessary to comply with - the notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this - License (see Section 10.2) or under the terms of a Secondary License (if - permitted under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its - Contributions are its original creation(s) or it has sufficient rights - to grant the rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under - applicable copyright doctrines of fair use, fair dealing, or other - equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted - in Section 2.1. - - 3. Responsibilities - ------------------- - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under - the terms of this License. You must inform recipients that the Source - Code Form of the Covered Software is governed by the terms of this - License, and how they can obtain a copy of this License. You may not - attempt to alter or restrict the recipients' rights in the Source Code - Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - (a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - - (b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for - the Covered Software. If the Larger Work is a combination of Covered - Software with a work governed by one or more Secondary Licenses, and the - Covered Software is not Incompatible With Secondary Licenses, this - License permits You to additionally distribute such Covered Software - under the terms of such Secondary License(s), so that the recipient of - the Larger Work may, at their option, further distribute the Covered - Software under the terms of either this License or such Secondary - License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices - (including copyright notices, patent notices, disclaimers of warranty, - or limitations of liability) contained within the Source Code Form of - the Covered Software, except that You may alter any license notices to - the extent required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on - behalf of any Contributor. You must make it absolutely clear that any - such warranty, support, indemnity, or liability obligation is offered by - You alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - --------------------------------------------------- - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Software due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description must - be placed in a text file included with all distributions of the Covered - Software under this License. Except to the extent prohibited by statute - or regulation, such description must be sufficiently detailed for a - recipient of ordinary skill to be able to understand it. - - 5. Termination - -------------- - - 5.1. The rights granted under this License will terminate automatically - if You fail to comply with any of its terms. However, if You become - compliant, then the rights granted under this License from a particular - Contributor are reinstated (a) provisionally, unless and until such - Contributor explicitly and finally terminates Your grants, and (b) on an - ongoing basis, if such Contributor fails to notify You of the - non-compliance by some reasonable means prior to 60 days after You have - come back into compliance. Moreover, Your grants from a particular - Contributor are reinstated on an ongoing basis if such Contributor - notifies You of the non-compliance by some reasonable means, this is the - first time You have received notice of non-compliance with this License - from such Contributor, and You become compliant prior to 30 days after - Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, - counter-claims, and cross-claims) alleging that a Contributor Version - directly or indirectly infringes any patent, then the rights granted to - You by any and all Contributors for the Covered Software under Section - 2.1 of this License shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all - end user license agreements (excluding distributors and resellers) which - have been validly granted by You or Your distributors under this License - prior to termination shall survive termination. - - ************************************************************************ - * * - * 6. Disclaimer of Warranty * - * ------------------------- * - * * - * Covered Software is provided under this License on an "as is" * - * basis, without warranty of any kind, either expressed, implied, or * - * statutory, including, without limitation, warranties that the * - * Covered Software is free of defects, merchantable, fit for a * - * particular purpose or non-infringing. The entire risk as to the * - * quality and performance of the Covered Software is with You. * - * Should any Covered Software prove defective in any respect, You * - * (not any Contributor) assume the cost of any necessary servicing, * - * repair, or correction. This disclaimer of warranty constitutes an * - * essential part of this License. No use of any Covered Software is * - * authorized under this License except under this disclaimer. * - * * - ************************************************************************ - - ************************************************************************ - * * - * 7. Limitation of Liability * - * -------------------------- * - * * - * Under no circumstances and under no legal theory, whether tort * - * (including negligence), contract, or otherwise, shall any * - * Contributor, or anyone who distributes Covered Software as * - * permitted above, be liable to You for any direct, indirect, * - * special, incidental, or consequential damages of any character * - * including, without limitation, damages for lost profits, loss of * - * goodwill, work stoppage, computer failure or malfunction, or any * - * and all other commercial damages or losses, even if such party * - * shall have been informed of the possibility of such damages. This * - * limitation of liability shall not apply to liability for death or * - * personal injury resulting from such party's negligence to the * - * extent applicable law prohibits such limitation. Some * - * jurisdictions do not allow the exclusion or limitation of * - * incidental or consequential damages, so this exclusion and * - * limitation may not apply to You. * - * * - ************************************************************************ - - 8. Litigation - ------------- - - Any litigation relating to this License may be brought only in the - courts of a jurisdiction where the defendant maintains its principal - place of business and such litigation shall be governed by laws of that - jurisdiction, without reference to its conflict-of-law provisions. - Nothing in this Section shall prevent a party's ability to bring - cross-claims or counter-claims. - - 9. Miscellaneous - ---------------- - - This License represents the complete agreement concerning the subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. Any law or regulation which provides - that the language of a contract shall be construed against the drafter - shall not be used to construe this License against a Contributor. - - 10. Versions of the License - --------------------------- - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version - of the License under which You originally received the Covered Software, - or under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a - modified version of this License if you rename the license and remove - any references to the name of the license steward (except to note that - such modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary - Licenses - - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - -### net.sourceforge.htmlunit:neko-htmlunit - -Apache 2.0 - -https://github.com/HtmlUnit/htmlunit-neko - - 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 - - -### nu.validator:jing - -BSD-3-Clause - -http://www.thaiopensource.com/relaxng/jing.html - - Copyright (c) 2001-2003 Thai Open Source Software Center Ltd - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Thai Open Source Software Center Ltd nor - the names of its contributors may be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - -### org.nokogiri:nekodtd - -Apache 2.0 - -https://github.com/sparklemotion/nekodtd - - 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 - - -### xalan:serializer and xalan:xalan - -Apache 2.0 - -https://xml.apache.org/xalan-j/ - - 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 - - -### xerces:xercesImpl - -Apache 2.0 - -https://xerces.apache.org/xerces2-j/ - - 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 - - -### xml-apis:xml-apis - -Apache 2.0 - -https://xerces.apache.org/xml-commons/ - - Unless otherwise noted all files in XML Commons are covered under the - Apache License Version 2.0. Please read the LICENSE and NOTICE files. - - XML Commons contains some software and documentation that is covered - under a number of different licenses. This applies particularly to the - xml-commons/java/external/ directory. Most files under - xml-commons/java/external/ are covered under their respective - LICENSE.*.txt files; see the matching README.*.txt files for - descriptions. - - - 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 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/LICENSE.md deleted file mode 100644 index b649dd8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/LICENSE.md +++ /dev/null @@ -1,9 +0,0 @@ -The MIT License - -Copyright 2008 -- 2023 by Mike Dalessio, Aaron Patterson, Yoko Harada, Akinori MUSHA, John Shahid, Karol Bucek, Sam Ruby, Craig Barnes, Stephen Checkoway, Lars Kanis, Sergio Arbeo, Timothy Elliott, Nobuyoshi Nakada, Charles Nutter, Patrick Mahoney. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/README.md deleted file mode 100644 index fc21be4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/README.md +++ /dev/null @@ -1,287 +0,0 @@ -<div><img src="https://nokogiri.org/images/nokogiri-serif-black.png" align="right"/></div> - -# Nokogiri - -Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for [reading](https://nokogiri.org/tutorials/parsing_an_html_xml_document.html), writing, [modifying](https://nokogiri.org/tutorials/modifying_an_html_xml_document.html), and [querying](https://nokogiri.org/tutorials/searching_a_xml_html_document.html) documents. It is fast and standards-compliant by relying on native parsers like libxml2, libgumbo, and xerces. - -## Guiding Principles - -Some guiding principles Nokogiri tries to follow: - -- be secure-by-default by treating all documents as **untrusted** by default -- be a **thin-as-reasonable layer** on top of the underlying parsers, and don't attempt to fix behavioral differences between the parsers - - -## Features Overview - -- DOM Parser for XML, HTML4, and HTML5 -- SAX Parser for XML and HTML4 -- Push Parser for XML and HTML4 -- Document search via XPath 1.0 -- Document search via CSS3 selectors, with some jquery-like extensions -- XSD Schema validation -- XSLT transformation -- "Builder" DSL for XML and HTML documents - - -## Status - -[![Github Actions CI](https://github.com/sparklemotion/nokogiri/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/sparklemotion/nokogiri/actions/workflows/ci.yml) -[![Appveyor CI](https://ci.appveyor.com/api/projects/status/xj2pqwvlxwuwgr06/branch/main?svg=true)](https://ci.appveyor.com/project/flavorjones/nokogiri/branch/main) - -[![Gem Version](https://badge.fury.io/rb/nokogiri.svg)](https://rubygems.org/gems/nokogiri) -[![SemVer compatibility](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nokogiri&package-manager=bundler&previous-version=1.11.7&new-version=1.12.5)](https://docs.github.com/en/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates#about-compatibility-scores) - -[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5344/badge)](https://bestpractices.coreinfrastructure.org/projects/5344) -[![Tidelift dependencies](https://tidelift.com/badges/package/rubygems/nokogiri)](https://tidelift.com/subscription/pkg/rubygems-nokogiri?utm_source=rubygems-nokogiri&utm_medium=referral&utm_campaign=readme) - - -## Support, Getting Help, and Reporting Issues - -All official documentation is posted at https://nokogiri.org (the source for which is at https://github.com/sparklemotion/nokogiri.org/, and we welcome contributions). - -### Reading - -Your first stops for learning more about Nokogiri should be: - -- [API Documentation](https://nokogiri.org/rdoc/index.html) -- [Tutorials](https://nokogiri.org/tutorials/toc.html) -- An excellent community-maintained [Cheat Sheet](https://github.com/sparklemotion/nokogiri/wiki/Cheat-sheet) - - -### Ask For Help - -There are a few ways to ask exploratory questions: - -- The Nokogiri mailing list is active at https://groups.google.com/group/nokogiri-talk -- Open an issue using the "Help Request" template at https://github.com/sparklemotion/nokogiri/issues - -Please do not mail the maintainers at their personal addresses. - - -### Report A Bug - -The Nokogiri bug tracker is at https://github.com/sparklemotion/nokogiri/issues - -Please use the "Bug Report" or "Installation Difficulties" templates. - - -### Security and Vulnerability Reporting - -Please report vulnerabilities at https://hackerone.com/nokogiri - -Full information and description of our security policy is in [`SECURITY.md`](SECURITY.md) - - -### Semantic Versioning Policy - -Nokogiri follows [Semantic Versioning](https://semver.org/) (since 2017 or so). [![Dependabot's SemVer compatibility score for Nokogiri](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nokogiri&package-manager=bundler&previous-version=1.11.7&new-version=1.12.5)](https://docs.github.com/en/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates#about-compatibility-scores) - -We bump `Major.Minor.Patch` versions following this guidance: - -`Major`: (we've never done this) - -- Significant backwards-incompatible changes to the public API that would require rewriting existing application code. -- Some examples of backwards-incompatible changes we might someday consider for a Major release are at [`ROADMAP.md`](ROADMAP.md). - -`Minor`: - -- Features and bugfixes. -- Updating packaged libraries for non-security-related reasons. -- Dropping support for EOLed Ruby versions. [Some folks find this objectionable](https://github.com/sparklemotion/nokogiri/issues/1568), but [SemVer says this is OK if the public API hasn't changed](https://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api). -- Backwards-incompatible changes to internal or private methods and constants. These are detailed in the "Changes" section of each changelog entry. - -`Patch`: - -- Bugfixes. -- Security updates. -- Updating packaged libraries for security-related reasons. - - -### Sponsorship - -You can help sponsor the maintainers of this software through one of these organizations: - -- [github.com/sponsors/flavorjones](https://github.com/sponsors/flavorjones) -- [opencollective.com/nokogiri](https://opencollective.com/nokogiri) -- [tidelift.com/subscription/pkg/rubygems-nokogiri](https://tidelift.com/subscription/pkg/rubygems-nokogiri?utm_source=rubygems-nokogiri&utm_medium=referral&utm_campaign=readme) - - -## Installation - -Requirements: - -- Ruby >= 2.7 -- JRuby >= 9.4.0.0 - - -### Native Gems: Faster, more reliable installation - -"Native gems" contain pre-compiled libraries for a specific machine architecture. On supported platforms, this removes the need for compiling the C extension and the packaged libraries, or for system dependencies to exist. This results in **much faster installation** and **more reliable installation**, which as you probably know are the biggest headaches for Nokogiri users. - -### Supported Platforms - -Nokogiri ships pre-compiled, "native" gems for the following platforms: - -- Linux: - - `x86-linux` and `x86_64-linux` (req: `glibc >= 2.17`) - - `aarch64-linux` and `arm-linux` (req: `glibc >= 2.29`) - - Note that musl platforms like Alpine **are** supported -- Darwin/MacOS: `x86_64-darwin` and `arm64-darwin` -- Windows: `x86-mingw32`, `x64-mingw32`, and `x64-mingw-ucrt` -- Java: any platform running JRuby 9.4 or higher - -To determine whether your system supports one of these gems, look at the output of `bundle platform` or `ruby -e 'puts Gem::Platform.local.to_s'`. - -If you're on a supported platform, either `gem install` or `bundle install` should install a native gem without any additional action on your part. This installation should only take a few seconds, and your output should look something like: - -``` sh -$ gem install nokogiri -Fetching nokogiri-1.11.0-x86_64-linux.gem -Successfully installed nokogiri-1.11.0-x86_64-linux -1 gem installed -``` - - -### Other Installation Options - -Because Nokogiri is a C extension, it requires that you have a C compiler toolchain, Ruby development header files, and some system dependencies installed. - -The following may work for you if you have an appropriately-configured system: - -``` bash -gem install nokogiri -``` - -If you have any issues, please visit [Installing Nokogiri](https://nokogiri.org/tutorials/installing_nokogiri.html) for more complete instructions and troubleshooting. - - -## How To Use Nokogiri - -Nokogiri is a large library, and so it's challenging to briefly summarize it. We've tried to provide long, real-world examples at [Tutorials](https://nokogiri.org/tutorials/toc.html). - -### Parsing and Querying - -Here is example usage for parsing and querying a document: - -```ruby -#! /usr/bin/env ruby - -require 'nokogiri' -require 'open-uri' - -# Fetch and parse HTML document -doc = Nokogiri::HTML(URI.open('https://nokogiri.org/tutorials/installing_nokogiri.html')) - -# Search for nodes by css -doc.css('nav ul.menu li a', 'article h2').each do |link| - puts link.content -end - -# Search for nodes by xpath -doc.xpath('//nav//ul//li/a', '//article//h2').each do |link| - puts link.content -end - -# Or mix and match -doc.search('nav ul.menu li a', '//article//h2').each do |link| - puts link.content -end -``` - - -### Encoding - -Strings are always stored as UTF-8 internally. Methods that return -text values will always return UTF-8 encoded strings. Methods that -return a string containing markup (like `to_xml`, `to_html` and -`inner_html`) will return a string encoded like the source document. - -__WARNING__ - -Some documents declare one encoding, but actually use a different -one. In these cases, which encoding should the parser choose? - -Data is just a stream of bytes. Humans add meaning to that stream. Any -particular set of bytes could be valid characters in multiple -encodings, so detecting encoding with 100% accuracy is not -possible. `libxml2` does its best, but it can't be right all the time. - -If you want Nokogiri to handle the document encoding properly, your -best bet is to explicitly set the encoding. Here is an example of -explicitly setting the encoding to EUC-JP on the parser: - -```ruby - doc = Nokogiri.XML('<foo><bar /></foo>', nil, 'EUC-JP') -``` - - -## Technical Overview - -### Guiding Principles - -As noted above, two guiding principles of the software are: - -- be secure-by-default by treating all documents as **untrusted** by default -- be a **thin-as-reasonable layer** on top of the underlying parsers, and don't attempt to fix behavioral differences between the parsers - -Notably, despite all parsers being standards-compliant, there are behavioral inconsistencies between the parsers used in the CRuby and JRuby implementations, and Nokogiri does not and should not attempt to remove these inconsistencies. Instead, we surface these differences in the test suite when they are important/semantic; or we intentionally write tests to depend only on the important/semantic bits (omitting whitespace from regex matchers on results, for example). - - -### CRuby - -The Ruby (a.k.a., CRuby, MRI, YARV) implementation is a C extension that depends on libxml2 and libxslt (which in turn depend on zlib and possibly libiconv). - -These dependencies are met by default by Nokogiri's packaged versions of the libxml2 and libxslt source code, but a configuration option `--use-system-libraries` is provided to allow specification of alternative library locations. See [Installing Nokogiri](https://nokogiri.org/tutorials/installing_nokogiri.html) for full documentation. - -We provide native gems by pre-compiling libxml2 and libxslt (and potentially zlib and libiconv) and packaging them into the gem file. In this case, no compilation is necessary at installation time, which leads to faster and more reliable installation. - -See [`LICENSE-DEPENDENCIES.md`](LICENSE-DEPENDENCIES.md) for more information on which dependencies are provided in which native and source gems. - - -### JRuby - -The Java (a.k.a. JRuby) implementation is a Java extension that depends primarily on Xerces and NekoHTML for parsing, though additional dependencies are on `isorelax`, `nekodtd`, `jing`, `serializer`, `xalan-j`, and `xml-apis`. - -These dependencies are provided by pre-compiled jar files packaged in the `java` platform gem. - -See [`LICENSE-DEPENDENCIES.md`](LICENSE-DEPENDENCIES.md) for more information on which dependencies are provided in which native and source gems. - - -## Contributing - -See [`CONTRIBUTING.md`](CONTRIBUTING.md) for an intro guide to developing Nokogiri. - - -## Code of Conduct - -We've adopted the Contributor Covenant code of conduct, which you can read in full in [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). - - -## License - -This project is licensed under the terms of the MIT license. - -See this license at [`LICENSE.md`](LICENSE.md). - - -### Dependencies - -Some additional libraries may be distributed with your version of Nokogiri. Please see [`LICENSE-DEPENDENCIES.md`](LICENSE-DEPENDENCIES.md) for a discussion of the variations as well as the licenses thereof. - - -## Authors - -- Mike Dalessio -- Aaron Patterson -- Yoko Harada -- Akinori MUSHA -- John Shahid -- Karol Bucek -- Sam Ruby -- Craig Barnes -- Stephen Checkoway -- Lars Kanis -- Sergio Arbeo -- Timothy Elliott -- Nobuyoshi Nakada diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/bin/nokogiri b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/bin/nokogiri deleted file mode 100755 index 04a5cea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/bin/nokogiri +++ /dev/null @@ -1,131 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require "optparse" -require "open-uri" -require "uri" -require "rubygems" -require "nokogiri" -autoload :IRB, "irb" - -parse_class = Nokogiri -encoding = nil - -# This module provides some tunables with the nokogiri CLI for use in -# your ~/.nokogirirc. -module Nokogiri - module CLI - class << self - # Specify the console engine, defaulted to IRB. - # - # call-seq: - # require 'pry' - # Nokogiri::CLI.console = Pry - attr_writer :console - - def console - case @console - when Symbol - Kernel.const_get(@console) - else - @console - end - end - - attr_accessor :rcfile - end - - self.rcfile = File.expand_path("~/.nokogirirc") - self.console = :IRB - end -end - -def safe_read(uri_or_path) - uri = URI.parse(uri_or_path) - case uri - when URI::HTTP - uri.read - when URI::File - File.read(uri.path) - else - File.read(uri_or_path) - end -end - -opts = OptionParser.new do |opts| - opts.banner = "Nokogiri: an HTML, XML, SAX, and Reader parser" - opts.define_head("Usage: nokogiri <uri|path> [options]") - opts.separator("") - opts.separator("Examples:") - opts.separator(" nokogiri https://www.ruby-lang.org/") - opts.separator(" nokogiri ./public/index.html") - opts.separator(" curl -s http://www.nokogiri.org | nokogiri -e'p $_.css(\"h1\").length'") - opts.separator("") - opts.separator("Options:") - - opts.on("--type type", "Parse as type: xml or html (default: auto)", [:xml, :html]) do |v| - parse_class = { xml: Nokogiri::XML, html: Nokogiri::HTML }[v] - end - - opts.on("-C file", "Specifies initialization file to load (default #{Nokogiri::CLI.rcfile})") do |v| - Nokogiri::CLI.rcfile = v - end - - opts.on("-E", "--encoding encoding", "Read as encoding (default: #{encoding || "none"})") do |v| - encoding = v - end - - opts.on("-e command", "Specifies script from command-line.") do |v| - @script = v - end - - opts.on("--rng <uri|path>", "Validate using this rng file.") do |v| - @rng = Nokogiri::XML::RelaxNG(safe_read(v)) - end - - opts.on_tail("-?", "--help", "Show this message") do - puts opts - exit - end - - opts.on_tail("-v", "--version", "Show version") do - puts Nokogiri::VersionInfo.instance.to_markdown - exit - end -end -opts.parse! - -url = ARGV.shift - -if url.to_s.strip.empty? && $stdin.tty? - puts opts - exit 1 -end - -if File.file?(Nokogiri::CLI.rcfile) - load Nokogiri::CLI.rcfile -end - -@doc = if url || $stdin.tty? - parse_class.parse(safe_read(url), url, encoding) -else - parse_class.parse($stdin, nil, encoding) -end - -$_ = @doc - -if @rng - @rng.validate(@doc).each do |error| - puts error.message - end -elsif @script - begin - eval(@script, binding, "<main>") # rubocop:disable Security/Eval - rescue Exception => e # rubocop:disable Lint/RescueException - warn("ERROR: Exception raised while evaluating '#{@script}'") - raise e - end -else - puts "Your document is stored in @doc..." - Nokogiri::CLI.console.start -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/dependencies.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/dependencies.yml deleted file mode 100644 index dd5597e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/dependencies.yml +++ /dev/null @@ -1,41 +0,0 @@ -libxml2: - version: "2.11.5" - sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" - # sha-256 hash provided in https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.sha256sum - -libxslt: - version: "1.1.38" - sha256: "1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1" - # sha-256 hash provided in https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.38.sha256sum - -zlib: - version: "1.2.13" - sha256: "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30" - # SHA-256 hash provided on http://zlib.net/ - -libiconv: - version: "1.17" - sha256: "8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313" - # signature verified by following this path: - # - release announced at https://savannah.gnu.org/forum/forum.php?forum_id=10175 - # - which links to https://savannah.gnu.org/users/haible as the releaser - # - which links to https://savannah.gnu.org/people/viewgpg.php?user_id=1871 as the gpg key - # - # So: - # - wget -q -O - https://savannah.gnu.org/people/viewgpg.php?user_id=1871 | gpg --import - # gpg: key F5BE8B267C6A406D: 1 signature not checked due to a missing key - # gpg: key F5BE8B267C6A406D: public key "Bruno Haible (Open Source Development) <bruno@clisp.org>" imported - # gpg: Total number processed: 1 - # gpg: imported: 1 - # gpg: marginals needed: 3 completes needed: 1 trust model: pgp - # gpg: depth: 0 valid: 4 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 4u - # gpg: next trustdb check due at 2024-05-09 - # - gpg --verify libiconv-1.17.tar.gz.sig ports/archives/libiconv-1.17.tar.gz - # gpg: Signature made Sun 15 May 2022 11:26:42 AM EDT - # gpg: using RSA key 9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D - # gpg: Good signature from "Bruno Haible (Open Source Development) <bruno@clisp.org>" [unknown] - # gpg: WARNING: This key is not certified with a trusted signature! - # gpg: There is no indication that the signature belongs to the owner. - # Primary key fingerprint: 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D - # - # And this sha256sum is calculated from that verified tarball. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/depend b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/depend deleted file mode 100644 index 24f5908..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/depend +++ /dev/null @@ -1,38 +0,0 @@ -# -*-makefile-*- -# DO NOT DELETE - -gumbo.o: $(srcdir)/nokogiri.h -html_document.o: $(srcdir)/nokogiri.h -html_element_description.o: $(srcdir)/nokogiri.h -html_entity_lookup.o: $(srcdir)/nokogiri.h -html_sax_parser_context.o: $(srcdir)/nokogiri.h -html_sax_push_parser.o: $(srcdir)/nokogiri.h -libxml2_backwards_compat.o: $(srcdir)/nokogiri.h -nokogiri.o: $(srcdir)/nokogiri.h -test_global_handlers.o: $(srcdir)/nokogiri.h -xml_attr.o: $(srcdir)/nokogiri.h -xml_attribute_decl.o: $(srcdir)/nokogiri.h -xml_cdata.o: $(srcdir)/nokogiri.h -xml_comment.o: $(srcdir)/nokogiri.h -xml_document.o: $(srcdir)/nokogiri.h -xml_document_fragment.o: $(srcdir)/nokogiri.h -xml_dtd.o: $(srcdir)/nokogiri.h -xml_element_content.o: $(srcdir)/nokogiri.h -xml_element_decl.o: $(srcdir)/nokogiri.h -xml_encoding_handler.o: $(srcdir)/nokogiri.h -xml_entity_decl.o: $(srcdir)/nokogiri.h -xml_entity_reference.o: $(srcdir)/nokogiri.h -xml_namespace.o: $(srcdir)/nokogiri.h -xml_node.o: $(srcdir)/nokogiri.h -xml_node_set.o: $(srcdir)/nokogiri.h -xml_processing_instruction.o: $(srcdir)/nokogiri.h -xml_reader.o: $(srcdir)/nokogiri.h -xml_relax_ng.o: $(srcdir)/nokogiri.h -xml_sax_parser.o: $(srcdir)/nokogiri.h -xml_sax_parser_context.o: $(srcdir)/nokogiri.h -xml_sax_push_parser.o: $(srcdir)/nokogiri.h -xml_schema.o: $(srcdir)/nokogiri.h -xml_syntax_error.o: $(srcdir)/nokogiri.h -xml_text.o: $(srcdir)/nokogiri.h -xml_xpath_context.o: $(srcdir)/nokogiri.h -xslt_stylesheet.o: $(srcdir)/nokogiri.h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/extconf.rb deleted file mode 100644 index a0bcba3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/extconf.rb +++ /dev/null @@ -1,1128 +0,0 @@ -# frozen_string_literal: true - -# rubocop:disable Style/GlobalVars - -ENV["RC_ARCHS"] = "" if RUBY_PLATFORM.include?("darwin") - -require "mkmf" -require "rbconfig" -require "fileutils" -require "shellwords" -require "pathname" - -# helpful constants -PACKAGE_ROOT_DIR = File.expand_path(File.join(File.dirname(__FILE__), "..", "..")) -REQUIRED_LIBXML_VERSION = "2.6.21" -RECOMMENDED_LIBXML_VERSION = "2.9.3" - -REQUIRED_MINI_PORTILE_VERSION = "~> 2.8.2" # keep this version in sync with the one in the gemspec -REQUIRED_PKG_CONFIG_VERSION = "~> 1.1" - -# Keep track of what versions of what libraries we build against -OTHER_LIBRARY_VERSIONS = {} - -NOKOGIRI_HELP_MESSAGE = <<~HELP - USAGE: ruby #{$PROGRAM_NAME} [options] - - Flags that are always valid: - - --use-system-libraries - --enable-system-libraries - Use system libraries instead of building and using the packaged libraries. - - --disable-system-libraries - Use the packaged libraries, and ignore the system libraries. This is the default on most - platforms, and overrides `--use-system-libraries` and the environment variable - `NOKOGIRI_USE_SYSTEM_LIBRARIES`. - - --disable-clean - Do not clean out intermediate files after successful build. - - --prevent-strip - Take steps to prevent stripping the symbol table and debugging info from the shared - library, potentially overriding RbConfig's CFLAGS/LDFLAGS/DLDFLAGS. - - - Flags only used when using system libraries: - - General: - - --with-opt-dir=DIRECTORY - Look for headers and libraries in DIRECTORY. - - --with-opt-lib=DIRECTORY - Look for libraries in DIRECTORY. - - --with-opt-include=DIRECTORY - Look for headers in DIRECTORY. - - - Related to zlib: - - --with-zlib-dir=DIRECTORY - Look for zlib headers and library in DIRECTORY. - - --with-zlib-lib=DIRECTORY - Look for zlib library in DIRECTORY. - - --with-zlib-include=DIRECTORY - Look for zlib headers in DIRECTORY. - - - Related to iconv: - - --with-iconv-dir=DIRECTORY - Look for iconv headers and library in DIRECTORY. - - --with-iconv-lib=DIRECTORY - Look for iconv library in DIRECTORY. - - --with-iconv-include=DIRECTORY - Look for iconv headers in DIRECTORY. - - - Related to libxml2: - - --with-xml2-dir=DIRECTORY - Look for xml2 headers and library in DIRECTORY. - - --with-xml2-lib=DIRECTORY - Look for xml2 library in DIRECTORY. - - --with-xml2-include=DIRECTORY - Look for xml2 headers in DIRECTORY. - - --with-xml2-source-dir=DIRECTORY - (dev only) Build libxml2 from the source code in DIRECTORY - - - Related to libxslt: - - --with-xslt-dir=DIRECTORY - Look for xslt headers and library in DIRECTORY. - - --with-xslt-lib=DIRECTORY - Look for xslt library in DIRECTORY. - - --with-xslt-include=DIRECTORY - Look for xslt headers in DIRECTORY. - - --with-xslt-source-dir=DIRECTORY - (dev only) Build libxslt from the source code in DIRECTORY - - - Related to libexslt: - - --with-exslt-dir=DIRECTORY - Look for exslt headers and library in DIRECTORY. - - --with-exslt-lib=DIRECTORY - Look for exslt library in DIRECTORY. - - --with-exslt-include=DIRECTORY - Look for exslt headers in DIRECTORY. - - - Flags only used when building and using the packaged libraries: - - --disable-static - Do not statically link packaged libraries, instead use shared libraries. - - --enable-cross-build - Enable cross-build mode. (You probably do not want to set this manually.) - - - Environment variables used: - - NOKOGIRI_USE_SYSTEM_LIBRARIES - Equivalent to `--enable-system-libraries` when set, even if nil or blank. - - CC - Use this path to invoke the compiler instead of `RbConfig::CONFIG['CC']` - - CPPFLAGS - If this string is accepted by the C preprocessor, add it to the flags passed to the C preprocessor - - CFLAGS - If this string is accepted by the compiler, add it to the flags passed to the compiler - - LDFLAGS - If this string is accepted by the linker, add it to the flags passed to the linker - - LIBS - Add this string to the flags passed to the linker -HELP - -# -# utility functions -# -def config_clean? - enable_config("clean", true) -end - -def config_static? - default_static = !truffle? - enable_config("static", default_static) -end - -def config_cross_build? - enable_config("cross-build") -end - -def config_system_libraries? - enable_config("system-libraries", ENV.key?("NOKOGIRI_USE_SYSTEM_LIBRARIES")) do |_, default| - arg_config("--use-system-libraries", default) - end -end - -def windows? - RbConfig::CONFIG["target_os"].match?(/mingw|mswin/) -end - -def solaris? - RbConfig::CONFIG["target_os"].include?("solaris") -end - -def darwin? - RbConfig::CONFIG["target_os"].include?("darwin") -end - -def openbsd? - RbConfig::CONFIG["target_os"].include?("openbsd") -end - -def aix? - RbConfig::CONFIG["target_os"].include?("aix") -end - -def nix? - !(windows? || solaris? || darwin?) -end - -def truffle? - RUBY_ENGINE == "truffleruby" -end - -def concat_flags(*args) - args.compact.join(" ") -end - -def local_have_library(lib, func = nil, headers = nil) - have_library(lib, func, headers) || have_library("lib#{lib}", func, headers) -end - -def zlib_source(version_string) - # As of 2022-12, I'm starting to see failed downloads often enough from zlib.net that I want to - # change the default to github. - if ENV["NOKOGIRI_USE_CANONICAL_ZLIB_SOURCE"] - "https://zlib.net/fossils/zlib-#{version_string}.tar.gz" - else - "https://github.com/madler/zlib/releases/download/v#{version_string}/zlib-#{version_string}.tar.gz" - end -end - -def gnome_source - # As of 2022-02-20, some mirrors have expired SSL certificates. I'm able to retrieve from my home, - # but whatever host is resolved on the github actions workers see an expired cert. - # - # See https://github.com/sparklemotion/nokogiri/runs/5266206403?check_suite_focus=true - if ENV["NOKOGIRI_USE_CANONICAL_GNOME_SOURCE"] - "https://download.gnome.org" - else - "https://muug.ca/mirror/gnome" # old reliable - end -end - -LOCAL_PACKAGE_RESPONSE = Object.new -def LOCAL_PACKAGE_RESPONSE.%(package) - package ? "yes: #{package}" : "no" -end - -# wrapper around MakeMakefil#pkg_config and the PKGConfig gem -def try_package_configuration(pc) - unless ENV.key?("NOKOGIRI_TEST_PKG_CONFIG_GEM") - # try MakeMakefile#pkg_config, which uses the system utility `pkg-config`. - return if checking_for("#{pc} using `pkg_config`", LOCAL_PACKAGE_RESPONSE) do - pkg_config(pc) - end - end - - # `pkg-config` probably isn't installed, which appears to be the case for lots of freebsd systems. - # let's fall back to the pkg-config gem, which knows how to parse .pc files, and wrap it with the - # same logic as MakeMakefile#pkg_config - begin - require "rubygems" - gem("pkg-config", REQUIRED_PKG_CONFIG_VERSION) - require "pkg-config" - - checking_for("#{pc} using pkg-config gem version #{PKGConfig::VERSION}", LOCAL_PACKAGE_RESPONSE) do - if PKGConfig.have_package(pc) - cflags = PKGConfig.cflags(pc) - ldflags = PKGConfig.libs_only_L(pc) - libs = PKGConfig.libs_only_l(pc) - - Logging.message("pkg-config gem found package configuration for %s\n", pc) - Logging.message("cflags: %s\nldflags: %s\nlibs: %s\n\n", cflags, ldflags, libs) - - [cflags, ldflags, libs] - end - end - rescue LoadError - message("Please install either the `pkg-config` utility or the `pkg-config` rubygem.\n") - end -end - -# set up mkmf to link against the library if we can find it -def have_package_configuration(opt: nil, pc: nil, lib:, func:, headers:) - if opt - dir_config(opt) - dir_config("opt") - end - - # see if we have enough path info to do this without trying any harder - unless ENV.key?("NOKOGIRI_TEST_PKG_CONFIG") - return true if local_have_library(lib, func, headers) - end - - try_package_configuration(pc) if pc - - # verify that we can compile and link against the library - local_have_library(lib, func, headers) -end - -def ensure_package_configuration(opt: nil, pc: nil, lib:, func:, headers:) - have_package_configuration(opt: opt, pc: pc, lib: lib, func: func, headers: headers) || - abort_could_not_find_library(lib) -end - -def ensure_func(func, headers = nil) - have_func(func, headers) || abort_could_not_find_library(func) -end - -def preserving_globals - values = [$arg_config, $INCFLAGS, $CFLAGS, $CPPFLAGS, $LDFLAGS, $DLDFLAGS, $LIBPATH, $libs].map(&:dup) - yield -ensure - $arg_config, $INCFLAGS, $CFLAGS, $CPPFLAGS, $LDFLAGS, $DLDFLAGS, $LIBPATH, $libs = values -end - -def abort_could_not_find_library(lib) - callers = caller(1..2).join("\n") - abort("-----\n#{callers}\n#{lib} is missing. Please locate mkmf.log to investigate how it is failing.\n-----") -end - -def chdir_for_build(&block) - # When using rake-compiler-dock on Windows, the underlying Virtualbox shared - # folders don't support symlinks, but libiconv expects it for a build on - # Linux. We work around this limitation by using the temp dir for cooking. - build_dir = /mingw|mswin|cygwin/.match?(ENV["RCD_HOST_RUBY_PLATFORM"].to_s) ? "/tmp" : "." - Dir.chdir(build_dir, &block) -end - -def sh_export_path(path) - # because libxslt 1.1.29 configure.in uses AC_PATH_TOOL which treats ":" - # as a $PATH separator, we need to convert windows paths from - # - # C:/path/to/foo - # - # to - # - # /C/path/to/foo - # - # which is sh-compatible, in order to find things properly during - # configuration - return path unless windows? - - match = Regexp.new("^([A-Z]):(/.*)").match(path) - if match && match.length == 3 - return File.join("/", match[1], match[2]) - end - - path -end - -def libflag_to_filename(ldflag) - case ldflag - when /\A-l(.+)/ - "lib#{Regexp.last_match(1)}.#{$LIBEXT}" - end -end - -def have_libxml_headers?(version = nil) - source = if version.nil? - <<~SRC - #include <libxml/xmlversion.h> - SRC - else - version_int = format("%d%2.2d%2.2d", *version.split(".")) - <<~SRC - #include <libxml/xmlversion.h> - #if LIBXML_VERSION < #{version_int} - # error libxml2 is older than #{version} - #endif - SRC - end - - try_cpp(source) -end - -def try_link_iconv(using = nil) - checking_for(using ? "iconv using #{using}" : "iconv") do - ["", "-liconv"].any? do |opt| - preserving_globals do - yield if block_given? - - try_link(<<~SRC, opt) - #include <stdlib.h> - #include <iconv.h> - int main(void) - { - iconv_t cd = iconv_open("", ""); - iconv(cd, NULL, NULL, NULL, NULL); - return EXIT_SUCCESS; - } - SRC - end - end - end -end - -def iconv_configure_flags - # give --with-iconv-dir and --with-opt-dir first priority - ["iconv", "opt"].each do |target| - config = preserving_globals { dir_config(target) } - next unless config.any? && try_link_iconv("--with-#{target}-* flags") { dir_config(target) } - - idirs, ldirs = config.map do |dirs| - Array(dirs).flat_map do |dir| - dir.split(File::PATH_SEPARATOR) - end if dirs - end - - return [ - "--with-iconv=yes", - *("CPPFLAGS=#{idirs.map { |dir| "-I" + dir }.join(" ")}" if idirs), - *("LDFLAGS=#{ldirs.map { |dir| "-L" + dir }.join(" ")}" if ldirs), - ] - end - - if try_link_iconv - return ["--with-iconv=yes"] - end - - config = preserving_globals { pkg_config("libiconv") } - if config && try_link_iconv("pkg-config libiconv") { pkg_config("libiconv") } - cflags, ldflags, libs = config - - return [ - "--with-iconv=yes", - "CPPFLAGS=#{cflags}", - "LDFLAGS=#{ldflags}", - "LIBS=#{libs}", - ] - end - - abort_could_not_find_library("libiconv") -end - -def process_recipe(name, version, static_p, cross_p, cacheable_p = true) - require "rubygems" - gem("mini_portile2", REQUIRED_MINI_PORTILE_VERSION) # gemspec is not respected at install time - require "mini_portile2" - message("Using mini_portile version #{MiniPortile::VERSION}\n") - - unless ["libxml2", "libxslt"].include?(name) - OTHER_LIBRARY_VERSIONS[name] = version - end - - MiniPortile.new(name, version).tap do |recipe| - def recipe.port_path - "#{@target}/#{RUBY_PLATFORM}/#{@name}/#{@version}" - end - - # We use 'host' to set compiler prefix for cross-compiling. Prefer host_alias over host. And - # prefer i686 (what external dev tools use) to i386 (what ruby's configure.ac emits). - recipe.host = RbConfig::CONFIG["host_alias"].empty? ? RbConfig::CONFIG["host"] : RbConfig::CONFIG["host_alias"] - recipe.host = recipe.host.gsub(/i386/, "i686") - - recipe.target = File.join(PACKAGE_ROOT_DIR, "ports") if cacheable_p - recipe.configure_options << "--libdir=#{File.join(recipe.path, "lib")}" - - yield recipe - - env = Hash.new do |hash, key| - hash[key] = (ENV[key]).to_s - end - - recipe.configure_options.flatten! - - recipe.configure_options.delete_if do |option| - case option - when /\A(\w+)=(.*)\z/ - env[Regexp.last_match(1)] = if env.key?(Regexp.last_match(1)) - concat_flags(env[Regexp.last_match(1)], Regexp.last_match(2)) - else - Regexp.last_match(2) - end - true - else - false - end - end - - if static_p - recipe.configure_options += [ - "--disable-shared", - "--enable-static", - ] - env["CFLAGS"] = concat_flags(env["CFLAGS"], "-fPIC") - else - recipe.configure_options += [ - "--enable-shared", - "--disable-static", - ] - end - - if cross_p - recipe.configure_options += [ - "--target=#{recipe.host}", - "--host=#{recipe.host}", - ] - end - - if RbConfig::CONFIG["target_cpu"] == "universal" - ["CFLAGS", "LDFLAGS"].each do |key| - unless env[key].include?("-arch") - env[key] = concat_flags(env[key], RbConfig::CONFIG["ARCH_FLAG"]) - end - end - end - - recipe.configure_options += env.map do |key, value| - "#{key}=#{value.strip}" - end - - checkpoint = "#{recipe.target}/#{recipe.name}-#{recipe.version}-#{RUBY_PLATFORM}.installed" - if File.exist?(checkpoint) && !recipe.source_directory - message("Building Nokogiri with a packaged version of #{name}-#{version}.\n") - else - message(<<~EOM) - ---------- IMPORTANT NOTICE ---------- - Building Nokogiri with a packaged version of #{name}-#{version}. - Configuration options: #{recipe.configure_options.shelljoin} - EOM - - unless recipe.patch_files.empty? - message("The following patches are being applied:\n") - - recipe.patch_files.each do |patch| - message(format(" - %s\n", File.basename(patch))) - end - end - - message(<<~EOM) if name != "libgumbo" - - The Nokogiri maintainers intend to provide timely security updates, but if - this is a concern for you and want to use your OS/distro system library - instead, then abort this installation process and install nokogiri as - instructed at: - - https://nokogiri.org/tutorials/installing_nokogiri.html#installing-using-standard-system-libraries - - EOM - - message(<<~EOM) if name == "libxml2" - Note, however, that nokogiri cannot guarantee compatibility with every - version of libxml2 that may be provided by OS/package vendors. - - EOM - - chdir_for_build { recipe.cook } - FileUtils.touch(checkpoint) - end - recipe.activate - end -end - -def copy_packaged_libraries_headers(to_path:, from_recipes:) - FileUtils.rm_rf(to_path, secure: true) - FileUtils.mkdir(to_path) - from_recipes.each do |recipe| - FileUtils.cp_r(Dir[File.join(recipe.path, "include/*")], to_path) - end -end - -def do_help - print(NOKOGIRI_HELP_MESSAGE) - exit!(0) -end - -def do_clean - root = Pathname(PACKAGE_ROOT_DIR) - pwd = Pathname(Dir.pwd) - - # Skip if this is a development work tree - unless (root + ".git").exist? - message("Cleaning files only used during build.\n") - - # (root + 'tmp') cannot be removed at this stage because - # nokogiri.so is yet to be copied to lib. - - # clean the ports build directory - Pathname.glob(pwd.join("tmp", "*", "ports")) do |dir| - FileUtils.rm_rf(dir, verbose: true) - end - - if config_static? - # ports installation can be safely removed if statically linked. - FileUtils.rm_rf(root + "ports", verbose: true) - else - FileUtils.rm_rf(root + "ports" + "archives", verbose: true) - end - end - - exit!(0) -end - -# In ruby 3.2, symbol resolution changed on Darwin, to introduce the `-bundle_loader` flag to -# resolve symbols against the ruby binary. -# -# This makes it challenging to build a single extension that works with both a ruby with -# `--enable-shared` and one with `--disable-shared. To work around that, we choose to add -# `-flat_namespace` to the link line (later in this file). -# -# The `-flat_namespace` line introduces its own behavior change, which is that (similar to on -# Linux), any symbols in the extension that are exported may now be resolved by shared libraries -# loaded by the Ruby process. Specifically, that means that libxml2 and libxslt, which are -# statically linked into the nokogiri bundle, will resolve (at runtime) to a system libxml2 loaded -# by Ruby on Darwin. And it appears that often Ruby on Darwin does indeed load the system libxml2, -# and that messes with our assumptions about whether we're running with a patched libxml2 or a -# vanilla libxml2. -# -# We choose to use `-load_hidden` in this case to prevent exporting those symbols from libxml2 and -# libxslt, which ensures that they will be resolved to the static libraries in the bundle. In other -# words, when we use `load_hidden`, what happens in the extension stays in the extension. -# -# See https://github.com/rake-compiler/rake-compiler-dock/issues/87 for more info. -# -# Anyway, this method is the logical bit to tell us when to turn on these workarounds. -def needs_darwin_linker_hack - config_cross_build? && - darwin? && - Gem::Requirement.new("~> 3.2").satisfied_by?(Gem::Version.new(RbConfig::CONFIG["ruby_version"].split("+").first)) -end - -# -# main -# -do_help if arg_config("--help") -do_clean if arg_config("--clean") - -if openbsd? && !config_system_libraries? - unless %x(#{ENV["CC"] || "/usr/bin/cc"} -v 2>&1).include?("clang") - (ENV["CC"] ||= find_executable("egcc")) || - abort("Please install gcc 4.9+ from ports using `pkg_add -v gcc`") - end - append_cppflags "-I/usr/local/include" -end - -if ENV["CC"] - RbConfig::CONFIG["CC"] = RbConfig::MAKEFILE_CONFIG["CC"] = ENV["CC"] -end - -# use same c compiler for libxml and libxslt -ENV["CC"] = RbConfig::CONFIG["CC"] - -if arg_config("--prevent-strip") - old_cflags = $CFLAGS.split.join(" ") - old_ldflags = $LDFLAGS.split.join(" ") - old_dldflags = $DLDFLAGS.split.join(" ") - $CFLAGS = $CFLAGS.split.reject { |flag| flag == "-s" }.join(" ") - $LDFLAGS = $LDFLAGS.split.reject { |flag| flag == "-s" }.join(" ") - $DLDFLAGS = $DLDFLAGS.split.reject { |flag| flag == "-s" }.join(" ") - puts "Prevent stripping by removing '-s' from $CFLAGS" if old_cflags != $CFLAGS - puts "Prevent stripping by removing '-s' from $LDFLAGS" if old_ldflags != $LDFLAGS - puts "Prevent stripping by removing '-s' from $DLDFLAGS" if old_dldflags != $DLDFLAGS -end - -# adopt environment config -append_cflags(ENV["CFLAGS"].split) unless ENV["CFLAGS"].nil? -append_cppflags(ENV["CPPFLAGS"].split) unless ENV["CPPFLAGS"].nil? -append_ldflags(ENV["LDFLAGS"].split) unless ENV["LDFLAGS"].nil? -$LIBS = concat_flags($LIBS, ENV["LIBS"]) - -# nokogumbo code uses C90/C99 features, let's make sure older compilers won't give -# errors/warnings. see #2302 -append_cflags(["-std=c99", "-Wno-declaration-after-statement"]) - -# gumbo html5 serialization is slower with O3, let's make sure we use O2 -append_cflags("-O2") - -# always include debugging information -append_cflags("-g") - -# we use at least one inline function in the C extension -append_cflags("-Winline") - -# good to have no matter what Ruby was compiled with -append_cflags("-Wmissing-noreturn") - -# check integer loss of precision -if darwin? - append_cflags("-Wshorten-64-to-32") -else - append_cflags("-Wconversion -Wno-sign-conversion") -end - -# handle clang variations, see #1101 -if darwin? - append_cflags("-Wno-error=unused-command-line-argument-hard-error-in-future") - append_cflags("-Wno-unknown-warning-option") -end - -# these tend to be noisy, but on occasion useful during development -# append_cflags(["-Wcast-qual", "-Wwrite-strings"]) - -# Add SDK-specific include path for macOS and brew versions before v2.2.12 (2020-04-08) [#1851, #1801] -macos_mojave_sdk_include_path = "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2" -if config_system_libraries? && darwin? && Dir.exist?(macos_mojave_sdk_include_path) - append_cppflags("-I#{macos_mojave_sdk_include_path}") -end - -# Work around a character escaping bug in MSYS by passing an arbitrary double-quoted parameter to gcc. -# See https://sourceforge.net/p/mingw/bugs/2142 -append_cppflags(' "-Idummypath"') if windows? - -if config_system_libraries? - message "Building nokogiri using system libraries.\n" - ensure_package_configuration( - opt: "zlib", - pc: "zlib", - lib: "z", - headers: "zlib.h", - func: "gzdopen", - ) - ensure_package_configuration( - opt: "xml2", - pc: "libxml-2.0", - lib: "xml2", - headers: "libxml/parser.h", - func: "xmlParseDoc", - ) - ensure_package_configuration( - opt: "xslt", - pc: "libxslt", - lib: "xslt", - headers: "libxslt/xslt.h", - func: "xsltParseStylesheetDoc", - ) - ensure_package_configuration( - opt: "exslt", - pc: "libexslt", - lib: "exslt", - headers: "libexslt/exslt.h", - func: "exsltFuncRegister", - ) - - have_libxml_headers?(REQUIRED_LIBXML_VERSION) || - abort("ERROR: libxml2 version #{REQUIRED_LIBXML_VERSION} or later is required!") - have_libxml_headers?(RECOMMENDED_LIBXML_VERSION) || - warn("WARNING: libxml2 version #{RECOMMENDED_LIBXML_VERSION} or later is highly recommended, but proceeding anyway.") - -else - message "Building nokogiri using packaged libraries.\n" - - static_p = config_static? - message "Static linking is #{static_p ? "enabled" : "disabled"}.\n" - - cross_build_p = config_cross_build? - message "Cross build is #{cross_build_p ? "enabled" : "disabled"}.\n" - - if needs_darwin_linker_hack - append_ldflags("-Wl,-flat_namespace") - end - - require "yaml" - dependencies = YAML.load_file(File.join(PACKAGE_ROOT_DIR, "dependencies.yml")) - - dir_config("zlib") - - if cross_build_p || windows? - zlib_recipe = process_recipe("zlib", dependencies["zlib"]["version"], static_p, cross_build_p) do |recipe| - recipe.files = [{ - url: zlib_source(recipe.version), - sha256: dependencies["zlib"]["sha256"], - }] - if windows? - class << recipe - attr_accessor :cross_build_p - - def configure - Dir.chdir(work_path) do - mk = File.read("win32/Makefile.gcc") - File.open("win32/Makefile.gcc", "wb") do |f| - f.puts "BINARY_PATH = #{path}/bin" - f.puts "LIBRARY_PATH = #{path}/lib" - f.puts "INCLUDE_PATH = #{path}/include" - mk.sub!(/^PREFIX\s*=\s*$/, "PREFIX = #{host}-") if cross_build_p - f.puts mk - end - end - end - - def configured? - Dir.chdir(work_path) do - !!(File.read("win32/Makefile.gcc") =~ /^BINARY_PATH/) - end - end - - def compile - execute("compile", "make -f win32/Makefile.gcc") - end - - def install - execute("install", "make -f win32/Makefile.gcc install") - end - end - recipe.cross_build_p = cross_build_p - else - class << recipe - def configure - env = {} - env["CFLAGS"] = concat_flags(ENV["CFLAGS"], "-fPIC", "-g") - env["CHOST"] = host - execute("configure", ["./configure", "--static", configure_prefix], { env: env }) - if darwin? - # needed as of zlib 1.2.13 - Dir.chdir(work_path) do - makefile = File.read("Makefile").gsub(/^AR=.*$/, "AR=#{host}-libtool") - File.open("Makefile", "w") { |m| m.write(makefile) } - end - end - end - end - end - end - - unless nix? - libiconv_recipe = process_recipe( - "libiconv", - dependencies["libiconv"]["version"], - static_p, - cross_build_p, - ) do |recipe| - recipe.files = [{ - url: "https://ftp.gnu.org/pub/gnu/libiconv/#{recipe.name}-#{recipe.version}.tar.gz", - sha256: dependencies["libiconv"]["sha256"], - }] - - # The libiconv configure script doesn't accept "arm64" host string but "aarch64" - recipe.host = recipe.host.gsub("arm64-apple-darwin", "aarch64-apple-darwin") - - cflags = concat_flags(ENV["CFLAGS"], "-O2", "-U_FORTIFY_SOURCE", "-g") - - recipe.configure_options += [ - "--disable-dependency-tracking", - "CPPFLAGS=-Wall", - "CFLAGS=#{cflags}", - "CXXFLAGS=#{cflags}", - "LDFLAGS=", - ] - end - end - elsif darwin? && !have_header("iconv.h") - abort(<<~EOM.chomp) - ----- - The file "iconv.h" is missing in your build environment, - which means you haven't installed Xcode Command Line Tools properly. - - To install Command Line Tools, try running `xcode-select --install` on - terminal and follow the instructions. If it fails, open Xcode.app, - select from the menu "Xcode" - "Open Developer Tool" - "More Developer - Tools" to open the developer site, download the installer for your OS - version and run it. - ----- - EOM - end - - if zlib_recipe - append_cppflags("-I#{zlib_recipe.path}/include") - $LIBPATH = ["#{zlib_recipe.path}/lib"] | $LIBPATH - ensure_package_configuration( - opt: "zlib", - pc: "zlib", - lib: "z", - headers: "zlib.h", - func: "gzdopen", - ) - end - - if libiconv_recipe - append_cppflags("-I#{libiconv_recipe.path}/include") - $LIBPATH = ["#{libiconv_recipe.path}/lib"] | $LIBPATH - ensure_package_configuration( - opt: "iconv", - pc: "iconv", - lib: "iconv", - headers: "iconv.h", - func: "iconv_open", - ) - end - - libxml2_recipe = process_recipe("libxml2", dependencies["libxml2"]["version"], static_p, cross_build_p) do |recipe| - source_dir = arg_config("--with-xml2-source-dir") - if source_dir - recipe.source_directory = source_dir - else - minor_version = Gem::Version.new(recipe.version).segments.take(2).join(".") - recipe.files = [{ - url: "#{gnome_source}/sources/libxml2/#{minor_version}/#{recipe.name}-#{recipe.version}.tar.xz", - sha256: dependencies["libxml2"]["sha256"], - }] - recipe.patch_files = Dir[File.join(PACKAGE_ROOT_DIR, "patches", "libxml2", "*.patch")].sort - end - - cppflags = concat_flags(ENV["CPPFLAGS"]) - cflags = concat_flags(ENV["CFLAGS"], "-O2", "-U_FORTIFY_SOURCE", "-g") - - if cross_build_p - cppflags = concat_flags(cppflags, "-DNOKOGIRI_PRECOMPILED_LIBRARIES") - end - - if zlib_recipe - recipe.configure_options << "--with-zlib=#{zlib_recipe.path}" - end - - if libiconv_recipe - recipe.configure_options << "--with-iconv=#{libiconv_recipe.path}" - else - recipe.configure_options += iconv_configure_flags - end - - if darwin? && !cross_build_p - recipe.configure_options += ["RANLIB=/usr/bin/ranlib", "AR=/usr/bin/ar"] - end - - if windows? - cflags = concat_flags(cflags, "-ULIBXML_STATIC", "-DIN_LIBXML") - end - - recipe.configure_options << if source_dir - "--config-cache" - else - "--disable-dependency-tracking" - end - - recipe.configure_options += [ - "--without-python", - "--without-readline", - "--with-c14n", - "--with-debug", - "--with-threads", - "CPPFLAGS=#{cppflags}", - "CFLAGS=#{cflags}", - ] - end - - libxslt_recipe = process_recipe("libxslt", dependencies["libxslt"]["version"], static_p, cross_build_p) do |recipe| - source_dir = arg_config("--with-xslt-source-dir") - if source_dir - recipe.source_directory = source_dir - else - minor_version = Gem::Version.new(recipe.version).segments.take(2).join(".") - recipe.files = [{ - url: "#{gnome_source}/sources/libxslt/#{minor_version}/#{recipe.name}-#{recipe.version}.tar.xz", - sha256: dependencies["libxslt"]["sha256"], - }] - recipe.patch_files = Dir[File.join(PACKAGE_ROOT_DIR, "patches", "libxslt", "*.patch")].sort - end - - cflags = concat_flags(ENV["CFLAGS"], "-O2", "-U_FORTIFY_SOURCE", "-g") - - if darwin? && !cross_build_p - recipe.configure_options += ["RANLIB=/usr/bin/ranlib", "AR=/usr/bin/ar"] - end - - if windows? - cflags = concat_flags(cflags, "-ULIBXSLT_STATIC", "-DIN_LIBXSLT") - cflags = concat_flags(cflags, "-ULIBEXSLT_STATIC", "-DIN_LIBEXSLT") - end - - recipe.configure_options << if source_dir - "--config-cache" - else - "--disable-dependency-tracking" - end - - recipe.configure_options += [ - "--without-python", - "--without-crypto", - "--with-debug", - "--with-libxml-prefix=#{sh_export_path(libxml2_recipe.path)}", - "CFLAGS=#{cflags}", - ] - end - - append_cppflags("-DNOKOGIRI_PACKAGED_LIBRARIES") - append_cppflags("-DNOKOGIRI_PRECOMPILED_LIBRARIES") if cross_build_p - - $libs = $libs.shellsplit.tap do |libs| - [libxml2_recipe, libxslt_recipe].each do |recipe| - libname = recipe.name[/\Alib(.+)\z/, 1] - config_basename = "#{libname}-config" - File.join(recipe.path, "bin", config_basename).tap do |config| - # call config scripts explicit with 'sh' for compat with Windows - cflags = %x(sh #{config} --cflags).strip - message("#{config_basename} cflags: #{cflags}\n") - $CPPFLAGS = concat_flags(cflags, $CPPFLAGS) # prepend - - %x(sh #{config} --libs).strip.shellsplit.each do |arg| - case arg - when /\A-L(.+)\z/ - # Prioritize ports' directories - $LIBPATH = if Regexp.last_match(1).start_with?(PACKAGE_ROOT_DIR + "/") - [Regexp.last_match(1)] | $LIBPATH - else - $LIBPATH | [Regexp.last_match(1)] - end - when /\A-l./ - libs.unshift(arg) - else - $LDFLAGS << " " << arg.shellescape - end - end - end - - patches_string = recipe.patch_files.map { |path| File.basename(path) }.join(" ") - append_cppflags(%[-DNOKOGIRI_#{recipe.name.upcase}_PATCHES="\\"#{patches_string}\\""]) - - case libname - when "xml2" - # xslt-config --libs or pkg-config libxslt --libs does not include - # -llzma, so we need to add it manually when linking statically. - if static_p && preserving_globals { local_have_library("lzma") } - # Add it at the end; GH #988 - libs << "-llzma" - end - when "xslt" - # xslt-config does not have a flag to emit options including - # -lexslt, so add it manually. - libs.unshift("-lexslt") - end - end - end.shelljoin - - if static_p - static_archive_ld_flag = needs_darwin_linker_hack ? ["-load_hidden"] : [] - $libs = $libs.shellsplit.map do |arg| - case arg - when "-lxml2" - static_archive_ld_flag + [File.join(libxml2_recipe.path, "lib", libflag_to_filename(arg))] - when "-lxslt", "-lexslt" - static_archive_ld_flag + [File.join(libxslt_recipe.path, "lib", libflag_to_filename(arg))] - else - arg - end - end.flatten.shelljoin - end - - ensure_func("xmlParseDoc", "libxml/parser.h") - ensure_func("xsltParseStylesheetDoc", "libxslt/xslt.h") - ensure_func("exsltFuncRegister", "libexslt/exslt.h") -end - -libgumbo_recipe = process_recipe("libgumbo", "1.0.0-nokogiri", static_p, cross_build_p, false) do |recipe| - recipe.configure_options = [] - - class << recipe - def downloaded? - true - end - - def extract - target = File.join(tmp_path, "gumbo-parser") - output("Copying gumbo-parser files into #{target}...") - FileUtils.mkdir_p(target) - FileUtils.cp(Dir.glob(File.join(PACKAGE_ROOT_DIR, "gumbo-parser/src/*")), target) - end - - def configured? - true - end - - def install - lib_dir = File.join(port_path, "lib") - inc_dir = File.join(port_path, "include") - FileUtils.mkdir_p([lib_dir, inc_dir]) - FileUtils.cp(File.join(work_path, "libgumbo.a"), lib_dir) - FileUtils.cp(Dir.glob(File.join(work_path, "*.h")), inc_dir) - end - - def compile - cflags = concat_flags(ENV["CFLAGS"], "-fPIC", "-O2", "-g") - - env = { "CC" => gcc_cmd, "CFLAGS" => cflags } - if config_cross_build? - if host.include?("darwin") - env["AR"] = "#{host}-libtool" - env["ARFLAGS"] = "-o" - else - env["AR"] = "#{host}-ar" - end - env["RANLIB"] = "#{host}-ranlib" - end - - execute("compile", make_cmd, { env: env }) - end - end -end -append_cppflags("-I#{File.join(libgumbo_recipe.path, "include")}") -$libs = $libs + " " + File.join(libgumbo_recipe.path, "lib", "libgumbo.a") -$LIBPATH = $LIBPATH | [File.join(libgumbo_recipe.path, "lib")] -ensure_func("gumbo_parse_with_options", "nokogiri_gumbo.h") - -have_func("xmlHasFeature") || abort("xmlHasFeature() is missing.") # introduced in libxml 2.6.21 -have_func("xmlFirstElementChild") # introduced in libxml 2.7.3 -have_func("xmlRelaxNGSetParserStructuredErrors") # introduced in libxml 2.6.24 -have_func("xmlRelaxNGSetValidStructuredErrors") # introduced in libxml 2.6.21 -have_func("xmlSchemaSetValidStructuredErrors") # introduced in libxml 2.6.23 -have_func("xmlSchemaSetParserStructuredErrors") # introduced in libxml 2.6.23 -have_func("rb_gc_location") # introduced in Ruby 2.7 -have_func("rb_category_warning") # introduced in Ruby 3.0 - -other_library_versions_string = OTHER_LIBRARY_VERSIONS.map { |k, v| [k, v].join(":") }.join(",") -append_cppflags(%[-DNOKOGIRI_OTHER_LIBRARY_VERSIONS="\\"#{other_library_versions_string}\\""]) - -unless config_system_libraries? - if cross_build_p - # When precompiling native gems, copy packaged libraries' headers to ext/nokogiri/include - # These are packaged up by the cross-compiling callback in the ExtensionTask - copy_packaged_libraries_headers( - to_path: File.join(PACKAGE_ROOT_DIR, "ext/nokogiri/include"), - from_recipes: [libxml2_recipe, libxslt_recipe], - ) - else - # When compiling during installation, install packaged libraries' header files into ext/nokogiri/include - copy_packaged_libraries_headers( - to_path: "include", - from_recipes: [libxml2_recipe, libxslt_recipe], - ) - $INSTALLFILES << ["include/**/*.h", "$(rubylibdir)"] - end -end - -create_makefile("nokogiri/nokogiri") - -if config_clean? - # Do not clean if run in a development work tree. - File.open("Makefile", "at") do |mk| - mk.print(<<~EOF) - - all: clean-ports - clean-ports: $(DLLIB) - \t-$(Q)$(RUBY) $(srcdir)/extconf.rb --clean --#{static_p ? "enable" : "disable"}-static - EOF - end -end - -# rubocop:enable Style/GlobalVars diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/gumbo.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/gumbo.c deleted file mode 100644 index 82e5021..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/gumbo.c +++ /dev/null @@ -1,594 +0,0 @@ -// -// Copyright 2013-2021 Sam Ruby, Stephen Checkoway -// -// 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. -// - -// -// nokogumbo.c defines the following: -// -// class Nokogumbo -// def parse(utf8_string) # returns Nokogiri::HTML5::Document -// end -// -// Processing starts by calling gumbo_parse_with_options. The resulting document tree -// is then walked, a parallel libxml2 tree is constructed, and the final document is -// then wrapped using noko_xml_document_wrap. This approach reduces memory and CPU -// requirements as Ruby objects are only built when necessary. -// - -#include <nokogiri.h> - -#include "nokogiri_gumbo.h" - -VALUE cNokogiriHtml5Document; - -// Interned symbols -static ID internal_subset; -static ID parent; - -/* Backwards compatibility to Ruby 2.1.0 */ -#if RUBY_API_VERSION_CODE < 20200 -#define ONIG_ESCAPE_UCHAR_COLLISION 1 -#include <ruby/encoding.h> - -static VALUE -rb_utf8_str_new(const char *str, long length) -{ - return rb_enc_str_new(str, length, rb_utf8_encoding()); -} - -static VALUE -rb_utf8_str_new_cstr(const char *str) -{ - return rb_enc_str_new_cstr(str, rb_utf8_encoding()); -} - -static VALUE -rb_utf8_str_new_static(const char *str, long length) -{ - return rb_enc_str_new(str, length, rb_utf8_encoding()); -} -#endif - -#include <nokogiri.h> -#include <libxml/tree.h> -#include <libxml/HTMLtree.h> - -// URI = system id -// external id = public id -static xmlDocPtr -new_html_doc(const char *dtd_name, const char *system, const char *public) -{ - // These two libxml2 functions take the public and system ids in - // opposite orders. - htmlDocPtr doc = htmlNewDocNoDtD(/* URI */ NULL, /* ExternalID */NULL); - assert(doc); - if (dtd_name) { - xmlCreateIntSubset(doc, (const xmlChar *)dtd_name, (const xmlChar *)public, (const xmlChar *)system); - } - return doc; -} - -static xmlNodePtr -get_parent(xmlNodePtr node) -{ - return node->parent; -} - -static GumboOutput * -perform_parse(const GumboOptions *options, VALUE input) -{ - assert(RTEST(input)); - Check_Type(input, T_STRING); - GumboOutput *output = gumbo_parse_with_options( - options, - RSTRING_PTR(input), - RSTRING_LEN(input) - ); - - const char *status_string = gumbo_status_to_string(output->status); - switch (output->status) { - case GUMBO_STATUS_OK: - break; - case GUMBO_STATUS_TOO_MANY_ATTRIBUTES: - case GUMBO_STATUS_TREE_TOO_DEEP: - gumbo_destroy_output(output); - rb_raise(rb_eArgError, "%s", status_string); - case GUMBO_STATUS_OUT_OF_MEMORY: - gumbo_destroy_output(output); - rb_raise(rb_eNoMemError, "%s", status_string); - } - return output; -} - -static xmlNsPtr -lookup_or_add_ns( - xmlDocPtr doc, - xmlNodePtr root, - const char *href, - const char *prefix -) -{ - xmlNsPtr ns = xmlSearchNs(doc, root, (const xmlChar *)prefix); - if (ns) { - return ns; - } - return xmlNewNs(root, (const xmlChar *)href, (const xmlChar *)prefix); -} - -static void -set_line(xmlNodePtr node, size_t line) -{ - // libxml2 uses 65535 to mean look elsewhere for the line number on some - // nodes. - if (line < 65535) { - node->line = (unsigned short)line; - } -} - -// Construct an XML tree rooted at xml_output_node from the Gumbo tree rooted -// at gumbo_node. -static void -build_tree( - xmlDocPtr doc, - xmlNodePtr xml_output_node, - const GumboNode *gumbo_node -) -{ - xmlNodePtr xml_root = NULL; - xmlNodePtr xml_node = xml_output_node; - size_t child_index = 0; - - while (true) { - assert(gumbo_node != NULL); - const GumboVector *children = gumbo_node->type == GUMBO_NODE_DOCUMENT ? - &gumbo_node->v.document.children : &gumbo_node->v.element.children; - if (child_index >= children->length) { - // Move up the tree and to the next child. - if (xml_node == xml_output_node) { - // We've built as much of the tree as we can. - return; - } - child_index = gumbo_node->index_within_parent + 1; - gumbo_node = gumbo_node->parent; - xml_node = get_parent(xml_node); - // Children of fragments don't share the same root, so reset it and - // it'll be set below. In the non-fragment case, this will only happen - // after the html element has been finished at which point there are no - // further elements. - if (xml_node == xml_output_node) { - xml_root = NULL; - } - continue; - } - const GumboNode *gumbo_child = children->data[child_index++]; - xmlNodePtr xml_child; - - switch (gumbo_child->type) { - case GUMBO_NODE_DOCUMENT: - abort(); // Bug in Gumbo. - - case GUMBO_NODE_TEXT: - case GUMBO_NODE_WHITESPACE: - xml_child = xmlNewDocText(doc, (const xmlChar *)gumbo_child->v.text.text); - set_line(xml_child, gumbo_child->v.text.start_pos.line); - xmlAddChild(xml_node, xml_child); - break; - - case GUMBO_NODE_CDATA: - xml_child = xmlNewCDataBlock(doc, (const xmlChar *)gumbo_child->v.text.text, - (int) strlen(gumbo_child->v.text.text)); - set_line(xml_child, gumbo_child->v.text.start_pos.line); - xmlAddChild(xml_node, xml_child); - break; - - case GUMBO_NODE_COMMENT: - xml_child = xmlNewDocComment(doc, (const xmlChar *)gumbo_child->v.text.text); - set_line(xml_child, gumbo_child->v.text.start_pos.line); - xmlAddChild(xml_node, xml_child); - break; - - case GUMBO_NODE_TEMPLATE: - // XXX: Should create a template element and a new DocumentFragment - case GUMBO_NODE_ELEMENT: { - xml_child = xmlNewDocNode(doc, NULL, (const xmlChar *)gumbo_child->v.element.name, NULL); - set_line(xml_child, gumbo_child->v.element.start_pos.line); - if (xml_root == NULL) { - xml_root = xml_child; - } - xmlNsPtr ns = NULL; - switch (gumbo_child->v.element.tag_namespace) { - case GUMBO_NAMESPACE_HTML: - break; - case GUMBO_NAMESPACE_SVG: - ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/2000/svg", "svg"); - break; - case GUMBO_NAMESPACE_MATHML: - ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/1998/Math/MathML", "math"); - break; - } - if (ns != NULL) { - xmlSetNs(xml_child, ns); - } - xmlAddChild(xml_node, xml_child); - - // Add the attributes. - const GumboVector *attrs = &gumbo_child->v.element.attributes; - for (size_t i = 0; i < attrs->length; i++) { - const GumboAttribute *attr = attrs->data[i]; - - switch (attr->attr_namespace) { - case GUMBO_ATTR_NAMESPACE_XLINK: - ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/1999/xlink", "xlink"); - break; - - case GUMBO_ATTR_NAMESPACE_XML: - ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/XML/1998/namespace", "xml"); - break; - - case GUMBO_ATTR_NAMESPACE_XMLNS: - ns = lookup_or_add_ns(doc, xml_root, "http://www.w3.org/2000/xmlns/", "xmlns"); - break; - - default: - ns = NULL; - } - xmlNewNsProp(xml_child, ns, (const xmlChar *)attr->name, (const xmlChar *)attr->value); - } - - // Add children for this element. - child_index = 0; - gumbo_node = gumbo_child; - xml_node = xml_child; - } - } - } -} - -static void -add_errors(const GumboOutput *output, VALUE rdoc, VALUE input, VALUE url) -{ - const char *input_str = RSTRING_PTR(input); - size_t input_len = RSTRING_LEN(input); - - // Add parse errors to rdoc. - if (output->errors.length) { - const GumboVector *errors = &output->errors; - VALUE rerrors = rb_ary_new2(errors->length); - - for (size_t i = 0; i < errors->length; i++) { - GumboError *err = errors->data[i]; - GumboSourcePosition position = gumbo_error_position(err); - char *msg; - size_t size = gumbo_caret_diagnostic_to_string(err, input_str, input_len, &msg); - VALUE err_str = rb_utf8_str_new(msg, size); - free(msg); - VALUE syntax_error = rb_class_new_instance(1, &err_str, cNokogiriXmlSyntaxError); - const char *error_code = gumbo_error_code(err); - VALUE str1 = error_code ? rb_utf8_str_new_static(error_code, strlen(error_code)) : Qnil; - rb_iv_set(syntax_error, "@domain", INT2NUM(1)); // XML_FROM_PARSER - rb_iv_set(syntax_error, "@code", INT2NUM(1)); // XML_ERR_INTERNAL_ERROR - rb_iv_set(syntax_error, "@level", INT2NUM(2)); // XML_ERR_ERROR - rb_iv_set(syntax_error, "@file", url); - rb_iv_set(syntax_error, "@line", SIZET2NUM(position.line)); - rb_iv_set(syntax_error, "@str1", str1); - rb_iv_set(syntax_error, "@str2", Qnil); - rb_iv_set(syntax_error, "@str3", Qnil); - rb_iv_set(syntax_error, "@int1", INT2NUM(0)); - rb_iv_set(syntax_error, "@column", SIZET2NUM(position.column)); - rb_ary_push(rerrors, syntax_error); - } - rb_iv_set(rdoc, "@errors", rerrors); - } -} - -typedef struct { - GumboOutput *output; - VALUE input; - VALUE url_or_frag; - VALUE klass; - xmlDocPtr doc; -} ParseArgs; - -static VALUE -parse_cleanup(VALUE parse_args) -{ - ParseArgs *args = (ParseArgs *)parse_args; - gumbo_destroy_output(args->output); - // Make sure garbage collection doesn't mark the objects as being live based - // on references from the ParseArgs. This may be unnecessary. - args->input = Qnil; - args->url_or_frag = Qnil; - if (args->doc != NULL) { - xmlFreeDoc(args->doc); - } - return Qnil; -} - -static VALUE parse_continue(VALUE parse_args); - -/* - * @!visibility protected - */ -static VALUE -parse(VALUE self, VALUE input, VALUE url, VALUE max_attributes, VALUE max_errors, VALUE max_depth, VALUE klass) -{ - GumboOptions options = kGumboDefaultOptions; - options.max_attributes = NUM2INT(max_attributes); - options.max_errors = NUM2INT(max_errors); - options.max_tree_depth = NUM2INT(max_depth); - - GumboOutput *output = perform_parse(&options, input); - ParseArgs args = { - .output = output, - .input = input, - .url_or_frag = url, - .klass = klass, - .doc = NULL, - }; - - return rb_ensure(parse_continue, (VALUE)(&args), parse_cleanup, (VALUE)(&args)); -} - -static VALUE -parse_continue(VALUE parse_args) -{ - ParseArgs *args = (ParseArgs *)parse_args; - GumboOutput *output = args->output; - xmlDocPtr doc; - if (output->document->v.document.has_doctype) { - const char *name = output->document->v.document.name; - const char *public = output->document->v.document.public_identifier; - const char *system = output->document->v.document.system_identifier; - public = public[0] ? public : NULL; - system = system[0] ? system : NULL; - doc = new_html_doc(name, system, public); - } else { - doc = new_html_doc(NULL, NULL, NULL); - } - args->doc = doc; // Make sure doc gets cleaned up if an error is thrown. - build_tree(doc, (xmlNodePtr)doc, output->document); - VALUE rdoc = noko_xml_document_wrap(args->klass, doc); - rb_iv_set(rdoc, "@url", args->url_or_frag); - rb_iv_set(rdoc, "@quirks_mode", INT2NUM(output->document->v.document.doc_type_quirks_mode)); - args->doc = NULL; // The Ruby runtime now owns doc so don't delete it. - add_errors(output, rdoc, args->input, args->url_or_frag); - return rdoc; -} - -static int -lookup_namespace(VALUE node, bool require_known_ns) -{ - ID namespace, href; - CONST_ID(namespace, "namespace"); - CONST_ID(href, "href"); - VALUE ns = rb_funcall(node, namespace, 0); - - if (NIL_P(ns)) { - return GUMBO_NAMESPACE_HTML; - } - ns = rb_funcall(ns, href, 0); - assert(RTEST(ns)); - Check_Type(ns, T_STRING); - - const char *href_ptr = RSTRING_PTR(ns); - size_t href_len = RSTRING_LEN(ns); -#define NAMESPACE_P(uri) (href_len == sizeof uri - 1 && !memcmp(href_ptr, uri, href_len)) - if (NAMESPACE_P("http://www.w3.org/1999/xhtml")) { - return GUMBO_NAMESPACE_HTML; - } - if (NAMESPACE_P("http://www.w3.org/1998/Math/MathML")) { - return GUMBO_NAMESPACE_MATHML; - } - if (NAMESPACE_P("http://www.w3.org/2000/svg")) { - return GUMBO_NAMESPACE_SVG; - } -#undef NAMESPACE_P - if (require_known_ns) { - rb_raise(rb_eArgError, "Unexpected namespace URI \"%*s\"", (int)href_len, href_ptr); - } - return -1; -} - -static xmlNodePtr -extract_xml_node(VALUE node) -{ - xmlNodePtr xml_node; - Noko_Node_Get_Struct(node, xmlNode, xml_node); - return xml_node; -} - -static VALUE fragment_continue(VALUE parse_args); - -/* - * @!visibility protected - */ -static VALUE -fragment( - VALUE self, - VALUE doc_fragment, - VALUE tags, - VALUE ctx, - VALUE max_attributes, - VALUE max_errors, - VALUE max_depth -) -{ - ID name = rb_intern_const("name"); - const char *ctx_tag; - GumboNamespaceEnum ctx_ns; - GumboQuirksModeEnum quirks_mode; - bool form = false; - const char *encoding = NULL; - - if (NIL_P(ctx)) { - ctx_tag = "body"; - ctx_ns = GUMBO_NAMESPACE_HTML; - } else if (TYPE(ctx) == T_STRING) { - ctx_tag = StringValueCStr(ctx); - ctx_ns = GUMBO_NAMESPACE_HTML; - size_t len = RSTRING_LEN(ctx); - const char *colon = memchr(ctx_tag, ':', len); - if (colon) { - switch (colon - ctx_tag) { - case 3: - if (st_strncasecmp(ctx_tag, "svg", 3) != 0) { - goto error; - } - ctx_ns = GUMBO_NAMESPACE_SVG; - break; - case 4: - if (st_strncasecmp(ctx_tag, "html", 4) == 0) { - ctx_ns = GUMBO_NAMESPACE_HTML; - } else if (st_strncasecmp(ctx_tag, "math", 4) == 0) { - ctx_ns = GUMBO_NAMESPACE_MATHML; - } else { - goto error; - } - break; - default: -error: - rb_raise(rb_eArgError, "Invalid context namespace '%*s'", (int)(colon - ctx_tag), ctx_tag); - } - ctx_tag = colon + 1; - } else { - // For convenience, put 'svg' and 'math' in their namespaces. - if (len == 3 && st_strncasecmp(ctx_tag, "svg", 3) == 0) { - ctx_ns = GUMBO_NAMESPACE_SVG; - } else if (len == 4 && st_strncasecmp(ctx_tag, "math", 4) == 0) { - ctx_ns = GUMBO_NAMESPACE_MATHML; - } - } - - // Check if it's a form. - form = ctx_ns == GUMBO_NAMESPACE_HTML && st_strcasecmp(ctx_tag, "form") == 0; - } else { - ID element_ = rb_intern_const("element?"); - - // Context fragment name. - VALUE tag_name = rb_funcall(ctx, name, 0); - assert(RTEST(tag_name)); - Check_Type(tag_name, T_STRING); - ctx_tag = StringValueCStr(tag_name); - - // Context fragment namespace. - ctx_ns = lookup_namespace(ctx, true); - - // Check for a form ancestor, including self. - for (VALUE node = ctx; - !NIL_P(node); - node = rb_respond_to(node, parent) ? rb_funcall(node, parent, 0) : Qnil) { - if (!RTEST(rb_funcall(node, element_, 0))) { - continue; - } - VALUE element_name = rb_funcall(node, name, 0); - if (RSTRING_LEN(element_name) == 4 - && !st_strcasecmp(RSTRING_PTR(element_name), "form") - && lookup_namespace(node, false) == GUMBO_NAMESPACE_HTML) { - form = true; - break; - } - } - - // Encoding. - if (ctx_ns == GUMBO_NAMESPACE_MATHML - && RSTRING_LEN(tag_name) == 14 - && !st_strcasecmp(ctx_tag, "annotation-xml")) { - VALUE enc = rb_funcall(ctx, rb_intern_const("[]"), - 1, - rb_utf8_str_new_static("encoding", 8)); - if (RTEST(enc)) { - Check_Type(enc, T_STRING); - encoding = StringValueCStr(enc); - } - } - } - - // Quirks mode. - VALUE doc = rb_funcall(doc_fragment, rb_intern_const("document"), 0); - VALUE dtd = rb_funcall(doc, internal_subset, 0); - VALUE doc_quirks_mode = rb_iv_get(doc, "@quirks_mode"); - if (NIL_P(ctx) || NIL_P(doc_quirks_mode)) { - quirks_mode = GUMBO_DOCTYPE_NO_QUIRKS; - } else if (NIL_P(dtd)) { - quirks_mode = GUMBO_DOCTYPE_QUIRKS; - } else { - VALUE dtd_name = rb_funcall(dtd, name, 0); - VALUE pubid = rb_funcall(dtd, rb_intern_const("external_id"), 0); - VALUE sysid = rb_funcall(dtd, rb_intern_const("system_id"), 0); - quirks_mode = gumbo_compute_quirks_mode( - NIL_P(dtd_name) ? NULL : StringValueCStr(dtd_name), - NIL_P(pubid) ? NULL : StringValueCStr(pubid), - NIL_P(sysid) ? NULL : StringValueCStr(sysid) - ); - } - - // Perform a fragment parse. - int depth = NUM2INT(max_depth); - GumboOptions options = kGumboDefaultOptions; - options.max_attributes = NUM2INT(max_attributes); - options.max_errors = NUM2INT(max_errors); - // Add one to account for the HTML element. - options.max_tree_depth = depth < 0 ? -1 : (depth + 1); - options.fragment_context = ctx_tag; - options.fragment_namespace = ctx_ns; - options.fragment_encoding = encoding; - options.quirks_mode = quirks_mode; - options.fragment_context_has_form_ancestor = form; - - GumboOutput *output = perform_parse(&options, tags); - ParseArgs args = { - .output = output, - .input = tags, - .url_or_frag = doc_fragment, - .doc = (xmlDocPtr)extract_xml_node(doc), - }; - rb_ensure(fragment_continue, (VALUE)(&args), parse_cleanup, (VALUE)(&args)); - return Qnil; -} - -static VALUE -fragment_continue(VALUE parse_args) -{ - ParseArgs *args = (ParseArgs *)parse_args; - GumboOutput *output = args->output; - VALUE doc_fragment = args->url_or_frag; - xmlDocPtr xml_doc = args->doc; - - args->doc = NULL; // The Ruby runtime owns doc so make sure we don't delete it. - xmlNodePtr xml_frag = extract_xml_node(doc_fragment); - build_tree(xml_doc, xml_frag, output->root); - rb_iv_set(doc_fragment, "@quirks_mode", INT2NUM(output->document->v.document.doc_type_quirks_mode)); - add_errors(output, doc_fragment, args->input, rb_utf8_str_new_static("#fragment", 9)); - return Qnil; -} - -// Initialize the Nokogumbo class and fetch constants we will use later. -void -noko_init_gumbo(void) -{ - // Class constants. - cNokogiriHtml5Document = rb_define_class_under(mNokogiriHtml5, "Document", cNokogiriHtml4Document); - rb_gc_register_mark_object(cNokogiriHtml5Document); - - // Interned symbols. - internal_subset = rb_intern_const("internal_subset"); - parent = rb_intern_const("parent"); - - // Define Nokogumbo module with parse and fragment methods. - rb_define_singleton_method(mNokogiriGumbo, "parse", parse, 6); - rb_define_singleton_method(mNokogiriGumbo, "fragment", fragment, 6); -} - -// vim: set shiftwidth=2 softtabstop=2 tabstop=8 expandtab: diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_document.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_document.c deleted file mode 100644 index a60d5d5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_document.c +++ /dev/null @@ -1,165 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriHtml4Document ; - -static ID id_encoding_found; -static ID id_to_s; - -/* - * call-seq: - * new - * - * Create a new document - */ -static VALUE -rb_html_document_s_new(int argc, VALUE *argv, VALUE klass) -{ - VALUE uri, external_id, rest, rb_doc; - htmlDocPtr doc; - - rb_scan_args(argc, argv, "0*", &rest); - uri = rb_ary_entry(rest, (long)0); - external_id = rb_ary_entry(rest, (long)1); - - doc = htmlNewDoc( - RTEST(uri) ? (const xmlChar *)StringValueCStr(uri) : NULL, - RTEST(external_id) ? (const xmlChar *)StringValueCStr(external_id) : NULL - ); - rb_doc = noko_xml_document_wrap_with_init_args(klass, doc, argc, argv); - return rb_doc ; -} - -/* - * call-seq: - * read_io(io, url, encoding, options) - * - * Read the HTML document from +io+ with given +url+, +encoding+, - * and +options+. See Nokogiri::HTML4.parse - */ -static VALUE -rb_html_document_s_read_io(VALUE klass, VALUE rb_io, VALUE rb_url, VALUE rb_encoding, VALUE rb_options) -{ - VALUE rb_doc; - VALUE rb_error_list = rb_ary_new(); - htmlDocPtr c_doc; - const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url); - const char *c_encoding = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding); - int options = NUM2INT(rb_options); - - xmlSetStructuredErrorFunc((void *)rb_error_list, Nokogiri_error_array_pusher); - - c_doc = htmlReadIO(noko_io_read, noko_io_close, (void *)rb_io, c_url, c_encoding, options); - - xmlSetStructuredErrorFunc(NULL, NULL); - - /* - * If EncodingFound has occurred in EncodingReader, make sure to do - * a cleanup and propagate the error. - */ - if (rb_respond_to(rb_io, id_encoding_found)) { - VALUE encoding_found = rb_funcall(rb_io, id_encoding_found, 0); - if (!NIL_P(encoding_found)) { - xmlFreeDoc(c_doc); - rb_exc_raise(encoding_found); - } - } - - if ((c_doc == NULL) || (!(options & XML_PARSE_RECOVER) && (RARRAY_LEN(rb_error_list) > 0))) { - VALUE rb_error ; - - xmlFreeDoc(c_doc); - - rb_error = rb_ary_entry(rb_error_list, 0); - if (rb_error == Qnil) { - rb_raise(rb_eRuntimeError, "Could not parse document"); - } else { - VALUE exception_message = rb_funcall(rb_error, id_to_s, 0); - exception_message = rb_str_concat(rb_str_new2("Parser without recover option encountered error or warning: "), - exception_message); - rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); - } - - return Qnil; - } - - rb_doc = noko_xml_document_wrap(klass, c_doc); - rb_iv_set(rb_doc, "@errors", rb_error_list); - return rb_doc; -} - -/* - * call-seq: - * read_memory(string, url, encoding, options) - * - * Read the HTML document contained in +string+ with given +url+, +encoding+, - * and +options+. See Nokogiri::HTML4.parse - */ -static VALUE -rb_html_document_s_read_memory(VALUE klass, VALUE rb_html, VALUE rb_url, VALUE rb_encoding, VALUE rb_options) -{ - VALUE rb_doc; - VALUE rb_error_list = rb_ary_new(); - htmlDocPtr c_doc; - const char *c_buffer = StringValuePtr(rb_html); - const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url); - const char *c_encoding = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding); - int html_len = (int)RSTRING_LEN(rb_html); - int options = NUM2INT(rb_options); - - xmlSetStructuredErrorFunc((void *)rb_error_list, Nokogiri_error_array_pusher); - - c_doc = htmlReadMemory(c_buffer, html_len, c_url, c_encoding, options); - - xmlSetStructuredErrorFunc(NULL, NULL); - - if ((c_doc == NULL) || (!(options & XML_PARSE_RECOVER) && (RARRAY_LEN(rb_error_list) > 0))) { - VALUE rb_error ; - - xmlFreeDoc(c_doc); - - rb_error = rb_ary_entry(rb_error_list, 0); - if (rb_error == Qnil) { - rb_raise(rb_eRuntimeError, "Could not parse document"); - } else { - VALUE exception_message = rb_funcall(rb_error, id_to_s, 0); - exception_message = rb_str_concat(rb_str_new2("Parser without recover option encountered error or warning: "), - exception_message); - rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); - } - - return Qnil; - } - - rb_doc = noko_xml_document_wrap(klass, c_doc); - rb_iv_set(rb_doc, "@errors", rb_error_list); - return rb_doc; -} - -/* - * call-seq: - * type - * - * The type for this document - */ -static VALUE -rb_html_document_type(VALUE self) -{ - htmlDocPtr doc = noko_xml_document_unwrap(self); - return INT2NUM(doc->type); -} - -void -noko_init_html_document(void) -{ - assert(cNokogiriXmlDocument); - cNokogiriHtml4Document = rb_define_class_under(mNokogiriHtml4, "Document", cNokogiriXmlDocument); - - rb_define_singleton_method(cNokogiriHtml4Document, "read_memory", rb_html_document_s_read_memory, 4); - rb_define_singleton_method(cNokogiriHtml4Document, "read_io", rb_html_document_s_read_io, 4); - rb_define_singleton_method(cNokogiriHtml4Document, "new", rb_html_document_s_new, -1); - - rb_define_method(cNokogiriHtml4Document, "type", rb_html_document_type, 0); - - id_encoding_found = rb_intern("encoding_found"); - id_to_s = rb_intern("to_s"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_element_description.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_element_description.c deleted file mode 100644 index f6a0d11..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_element_description.c +++ /dev/null @@ -1,299 +0,0 @@ -#include <nokogiri.h> - -static const rb_data_type_t html4_element_description_type = { - .wrap_struct_name = "Nokogiri::HTML4::ElementDescription", - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -VALUE cNokogiriHtml4ElementDescription ; - -/* - * call-seq: - * required_attributes - * - * A list of required attributes for this element - */ -static VALUE -required_attributes(VALUE self) -{ - const htmlElemDesc *description; - VALUE list; - int i; - - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - list = rb_ary_new(); - - if (NULL == description->attrs_req) { return list; } - - for (i = 0; description->attrs_depr[i]; i++) { - rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_req[i])); - } - - return list; -} - -/* - * call-seq: - * deprecated_attributes - * - * A list of deprecated attributes for this element - */ -static VALUE -deprecated_attributes(VALUE self) -{ - const htmlElemDesc *description; - VALUE list; - int i; - - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - list = rb_ary_new(); - - if (NULL == description->attrs_depr) { return list; } - - for (i = 0; description->attrs_depr[i]; i++) { - rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_depr[i])); - } - - return list; -} - -/* - * call-seq: - * optional_attributes - * - * A list of optional attributes for this element - */ -static VALUE -optional_attributes(VALUE self) -{ - const htmlElemDesc *description; - VALUE list; - int i; - - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - list = rb_ary_new(); - - if (NULL == description->attrs_opt) { return list; } - - for (i = 0; description->attrs_opt[i]; i++) { - rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_opt[i])); - } - - return list; -} - -/* - * call-seq: - * default_sub_element - * - * The default sub element for this element - */ -static VALUE -default_sub_element(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->defaultsubelt) { - return NOKOGIRI_STR_NEW2(description->defaultsubelt); - } - - return Qnil; -} - -/* - * call-seq: - * sub_elements - * - * A list of allowed sub elements for this element. - */ -static VALUE -sub_elements(VALUE self) -{ - const htmlElemDesc *description; - VALUE list; - int i; - - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - list = rb_ary_new(); - - if (NULL == description->subelts) { return list; } - - for (i = 0; description->subelts[i]; i++) { - rb_ary_push(list, NOKOGIRI_STR_NEW2(description->subelts[i])); - } - - return list; -} - -/* - * call-seq: - * description - * - * The description for this element - */ -static VALUE -description(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - return NOKOGIRI_STR_NEW2(description->desc); -} - -/* - * call-seq: - * inline? - * - * Is this element an inline element? - */ -static VALUE -inline_eh(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->isinline) { return Qtrue; } - return Qfalse; -} - -/* - * call-seq: - * deprecated? - * - * Is this element deprecated? - */ -static VALUE -deprecated_eh(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->depr) { return Qtrue; } - return Qfalse; -} - -/* - * call-seq: - * empty? - * - * Is this an empty element? - */ -static VALUE -empty_eh(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->empty) { return Qtrue; } - return Qfalse; -} - -/* - * call-seq: - * save_end_tag? - * - * Should the end tag be saved? - */ -static VALUE -save_end_tag_eh(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->saveEndTag) { return Qtrue; } - return Qfalse; -} - -/* - * call-seq: - * implied_end_tag? - * - * Can the end tag be implied for this tag? - */ -static VALUE -implied_end_tag_eh(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->endTag) { return Qtrue; } - return Qfalse; -} - -/* - * call-seq: - * implied_start_tag? - * - * Can the start tag be implied for this tag? - */ -static VALUE -implied_start_tag_eh(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (description->startTag) { return Qtrue; } - return Qfalse; -} - -/* - * call-seq: - * name - * - * Get the tag name for this ElemementDescription - */ -static VALUE -name(VALUE self) -{ - const htmlElemDesc *description; - TypedData_Get_Struct(self, htmlElemDesc, &html4_element_description_type, description); - - if (NULL == description->name) { return Qnil; } - return NOKOGIRI_STR_NEW2(description->name); -} - -/* - * call-seq: - * [](tag_name) - * - * Get ElemementDescription for +tag_name+ - */ -static VALUE -get_description(VALUE klass, VALUE tag_name) -{ - const htmlElemDesc *description = htmlTagLookup( - (const xmlChar *)StringValueCStr(tag_name) - ); - - if (NULL == description) { return Qnil; } - return TypedData_Wrap_Struct(klass, &html4_element_description_type, DISCARD_CONST_QUAL(void *, description)); -} - -void -noko_init_html_element_description(void) -{ - cNokogiriHtml4ElementDescription = rb_define_class_under(mNokogiriHtml4, "ElementDescription", rb_cObject); - - rb_undef_alloc_func(cNokogiriHtml4ElementDescription); - - rb_define_singleton_method(cNokogiriHtml4ElementDescription, "[]", get_description, 1); - - rb_define_method(cNokogiriHtml4ElementDescription, "name", name, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "implied_start_tag?", implied_start_tag_eh, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "implied_end_tag?", implied_end_tag_eh, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "save_end_tag?", save_end_tag_eh, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "empty?", empty_eh, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "deprecated?", deprecated_eh, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "inline?", inline_eh, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "description", description, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "sub_elements", sub_elements, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "default_sub_element", default_sub_element, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "optional_attributes", optional_attributes, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "deprecated_attributes", deprecated_attributes, 0); - rb_define_method(cNokogiriHtml4ElementDescription, "required_attributes", required_attributes, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_entity_lookup.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_entity_lookup.c deleted file mode 100644 index 85ad384..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_entity_lookup.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <nokogiri.h> - -static VALUE cNokogiriHtml4EntityLookup; - -/* - * call-seq: - * get(key) - * - * Get the HTML4::EntityDescription for +key+ - */ -static VALUE -get(VALUE _, VALUE rb_entity_name) -{ - VALUE cNokogiriHtml4EntityDescription; - const htmlEntityDesc *c_entity_desc; - VALUE rb_constructor_args[3]; - - c_entity_desc = htmlEntityLookup((const xmlChar *)StringValueCStr(rb_entity_name)); - if (NULL == c_entity_desc) { - return Qnil; - } - - rb_constructor_args[0] = UINT2NUM(c_entity_desc->value); - rb_constructor_args[1] = NOKOGIRI_STR_NEW2(c_entity_desc->name); - rb_constructor_args[2] = NOKOGIRI_STR_NEW2(c_entity_desc->desc); - - cNokogiriHtml4EntityDescription = rb_const_get_at(mNokogiriHtml4, rb_intern("EntityDescription")); - return rb_class_new_instance(3, rb_constructor_args, cNokogiriHtml4EntityDescription); -} - -void -noko_init_html_entity_lookup(void) -{ - cNokogiriHtml4EntityLookup = rb_define_class_under(mNokogiriHtml4, "EntityLookup", rb_cObject); - - rb_define_method(cNokogiriHtml4EntityLookup, "get", get, 1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_sax_parser_context.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_sax_parser_context.c deleted file mode 100644 index 4a5293d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_sax_parser_context.c +++ /dev/null @@ -1,108 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriHtml4SaxParserContext ; - -static VALUE -parse_memory(VALUE klass, VALUE data, VALUE encoding) -{ - htmlParserCtxtPtr ctxt; - - Check_Type(data, T_STRING); - - if (!(int)RSTRING_LEN(data)) { - rb_raise(rb_eRuntimeError, "data cannot be empty"); - } - - ctxt = htmlCreateMemoryParserCtxt(StringValuePtr(data), - (int)RSTRING_LEN(data)); - if (ctxt->sax) { - xmlFree(ctxt->sax); - ctxt->sax = NULL; - } - - if (RTEST(encoding)) { - xmlCharEncodingHandlerPtr enc = xmlFindCharEncodingHandler(StringValueCStr(encoding)); - if (enc != NULL) { - xmlSwitchToEncoding(ctxt, enc); - if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) { - rb_raise(rb_eRuntimeError, "Unsupported encoding %s", - StringValueCStr(encoding)); - } - } - } - - return noko_xml_sax_parser_context_wrap(klass, ctxt); -} - -static VALUE -parse_file(VALUE klass, VALUE filename, VALUE encoding) -{ - htmlParserCtxtPtr ctxt = htmlCreateFileParserCtxt( - StringValueCStr(filename), - StringValueCStr(encoding) - ); - - if (ctxt->sax) { - xmlFree(ctxt->sax); - ctxt->sax = NULL; - } - - return noko_xml_sax_parser_context_wrap(klass, ctxt); -} - -static VALUE -parse_doc(VALUE ctxt_val) -{ - htmlParserCtxtPtr ctxt = (htmlParserCtxtPtr)ctxt_val; - htmlParseDocument(ctxt); - return Qnil; -} - -static VALUE -parse_doc_finalize(VALUE ctxt_val) -{ - htmlParserCtxtPtr ctxt = (htmlParserCtxtPtr)ctxt_val; - - if (ctxt->myDoc) { - xmlFreeDoc(ctxt->myDoc); - } - - NOKOGIRI_SAX_TUPLE_DESTROY(ctxt->userData); - return Qnil; -} - -static VALUE -parse_with(VALUE self, VALUE sax_handler) -{ - htmlParserCtxtPtr ctxt; - htmlSAXHandlerPtr sax; - - if (!rb_obj_is_kind_of(sax_handler, cNokogiriXmlSaxParser)) { - rb_raise(rb_eArgError, "argument must be a Nokogiri::XML::SAX::Parser"); - } - - ctxt = noko_xml_sax_parser_context_unwrap(self); - sax = noko_sax_handler_unwrap(sax_handler); - - ctxt->sax = sax; - ctxt->userData = (void *)NOKOGIRI_SAX_TUPLE_NEW(ctxt, sax_handler); - - xmlSetStructuredErrorFunc(NULL, NULL); - - rb_ensure(parse_doc, (VALUE)ctxt, parse_doc_finalize, (VALUE)ctxt); - - return self; -} - -void -noko_init_html_sax_parser_context(void) -{ - assert(cNokogiriXmlSaxParserContext); - cNokogiriHtml4SaxParserContext = rb_define_class_under(mNokogiriHtml4Sax, "ParserContext", - cNokogiriXmlSaxParserContext); - - rb_define_singleton_method(cNokogiriHtml4SaxParserContext, "memory", parse_memory, 2); - rb_define_singleton_method(cNokogiriHtml4SaxParserContext, "file", parse_file, 2); - - rb_define_method(cNokogiriHtml4SaxParserContext, "parse_with", parse_with, 1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_sax_push_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_sax_push_parser.c deleted file mode 100644 index 569f76c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/html4_sax_push_parser.c +++ /dev/null @@ -1,95 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriHtml4SaxPushParser; - -/* - * call-seq: - * native_write(chunk, last_chunk) - * - * Write +chunk+ to PushParser. +last_chunk+ triggers the end_document handle - */ -static VALUE -native_write(VALUE self, VALUE _chunk, VALUE _last_chunk) -{ - xmlParserCtxtPtr ctx; - const char *chunk = NULL; - int size = 0; - int status = 0; - libxmlStructuredErrorHandlerState handler_state; - - ctx = noko_xml_sax_push_parser_unwrap(self); - - if (Qnil != _chunk) { - chunk = StringValuePtr(_chunk); - size = (int)RSTRING_LEN(_chunk); - } - - Nokogiri_structured_error_func_save_and_set(&handler_state, NULL, NULL); - - status = htmlParseChunk(ctx, chunk, size, Qtrue == _last_chunk ? 1 : 0); - - Nokogiri_structured_error_func_restore(&handler_state); - - if ((status != 0) && !(ctx->options & XML_PARSE_RECOVER)) { - // TODO: there appear to be no tests for this block - xmlErrorPtr e = xmlCtxtGetLastError(ctx); - Nokogiri_error_raise(NULL, e); - } - - return self; -} - -/* - * call-seq: - * initialize_native(xml_sax, filename) - * - * Initialize the push parser with +xml_sax+ using +filename+ - */ -static VALUE -initialize_native(VALUE self, VALUE _xml_sax, VALUE _filename, - VALUE encoding) -{ - htmlSAXHandlerPtr sax; - const char *filename = NULL; - htmlParserCtxtPtr ctx; - xmlCharEncoding enc = XML_CHAR_ENCODING_NONE; - - sax = noko_sax_handler_unwrap(_xml_sax); - - if (_filename != Qnil) { filename = StringValueCStr(_filename); } - - if (!NIL_P(encoding)) { - enc = xmlParseCharEncoding(StringValueCStr(encoding)); - if (enc == XML_CHAR_ENCODING_ERROR) { - rb_raise(rb_eArgError, "Unsupported Encoding"); - } - } - - ctx = htmlCreatePushParserCtxt( - sax, - NULL, - NULL, - 0, - filename, - enc - ); - if (ctx == NULL) { - rb_raise(rb_eRuntimeError, "Could not create a parser context"); - } - - ctx->userData = NOKOGIRI_SAX_TUPLE_NEW(ctx, self); - - ctx->sax2 = 1; - DATA_PTR(self) = ctx; - return self; -} - -void -noko_init_html_sax_push_parser(void) -{ - assert(cNokogiriXmlSaxPushParser); - cNokogiriHtml4SaxPushParser = rb_define_class_under(mNokogiriHtml4Sax, "PushParser", cNokogiriXmlSaxPushParser); - - rb_define_private_method(cNokogiriHtml4SaxPushParser, "initialize_native", initialize_native, 3); - rb_define_private_method(cNokogiriHtml4SaxPushParser, "native_write", native_write, 2); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exslt.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exslt.h deleted file mode 100644 index dfbd09b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exslt.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Summary: main header file - * - * Copy: See Copyright for the status of this software. - */ - - -#ifndef __EXSLT_H__ -#define __EXSLT_H__ - -#include <libxml/tree.h> -#include <libxml/xpath.h> -#include "exsltexports.h" -#include <libexslt/exsltconfig.h> - -#ifdef __cplusplus -extern "C" { -#endif - -EXSLTPUBVAR const char *exsltLibraryVersion; -EXSLTPUBVAR const int exsltLibexsltVersion; -EXSLTPUBVAR const int exsltLibxsltVersion; -EXSLTPUBVAR const int exsltLibxmlVersion; - -/** - * EXSLT_COMMON_NAMESPACE: - * - * Namespace for EXSLT common functions - */ -#define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common") -/** - * EXSLT_CRYPTO_NAMESPACE: - * - * Namespace for EXSLT crypto functions - */ -#define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto") -/** - * EXSLT_MATH_NAMESPACE: - * - * Namespace for EXSLT math functions - */ -#define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math") -/** - * EXSLT_SETS_NAMESPACE: - * - * Namespace for EXSLT set functions - */ -#define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets") -/** - * EXSLT_FUNCTIONS_NAMESPACE: - * - * Namespace for EXSLT functions extension functions - */ -#define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions") -/** - * EXSLT_STRINGS_NAMESPACE: - * - * Namespace for EXSLT strings functions - */ -#define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings") -/** - * EXSLT_DATE_NAMESPACE: - * - * Namespace for EXSLT date functions - */ -#define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times") -/** - * EXSLT_DYNAMIC_NAMESPACE: - * - * Namespace for EXSLT dynamic functions - */ -#define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic") - -/** - * SAXON_NAMESPACE: - * - * Namespace for SAXON extensions functions - */ -#define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon") - -EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void); -#ifdef EXSLT_CRYPTO_ENABLED -EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void); -#endif -EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void); -EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void); -EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void); -EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void); -EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void); -EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void); -EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void); - -EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void); - -EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt, - const xmlChar *prefix); -EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt, - const xmlChar *prefix); -EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt, - const xmlChar *prefix); -EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, - const xmlChar *prefix); - -#ifdef __cplusplus -} -#endif -#endif /* __EXSLT_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exsltconfig.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exsltconfig.h deleted file mode 100644 index 9ae8214..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exsltconfig.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * exsltconfig.h: compile-time version information for the EXSLT library - * - * See Copyright for the status of this software. - * - * daniel@veillard.com - */ - -#ifndef __XML_EXSLTCONFIG_H__ -#define __XML_EXSLTCONFIG_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * LIBEXSLT_DOTTED_VERSION: - * - * the version string like "1.2.3" - */ -#define LIBEXSLT_DOTTED_VERSION "0.8.21" - -/** - * LIBEXSLT_VERSION: - * - * the version number: 1.2.3 value is 10203 - */ -#define LIBEXSLT_VERSION 821 - -/** - * LIBEXSLT_VERSION_STRING: - * - * the version number string, 1.2.3 value is "10203" - */ -#define LIBEXSLT_VERSION_STRING "821" - -/** - * LIBEXSLT_VERSION_EXTRA: - * - * extra version information, used to show a Git commit description - */ -#define LIBEXSLT_VERSION_EXTRA "" - -/** - * WITH_CRYPTO: - * - * Whether crypto support is configured into exslt - */ -#if 0 -#define EXSLT_CRYPTO_ENABLED -#endif - -/** - * ATTRIBUTE_UNUSED: - * - * This macro is used to flag unused function parameters to GCC - */ -#ifdef __GNUC__ -#ifndef ATTRIBUTE_UNUSED -#define ATTRIBUTE_UNUSED __attribute__((unused)) -#endif -#else -#define ATTRIBUTE_UNUSED -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_EXSLTCONFIG_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exsltexports.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exsltexports.h deleted file mode 100644 index ee79ec7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libexslt/exsltexports.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Summary: macros for marking symbols as exportable/importable. - * - * Copy: See Copyright for the status of this software. - */ - -#ifndef __EXSLT_EXPORTS_H__ -#define __EXSLT_EXPORTS_H__ - -#if defined(_WIN32) || defined(__CYGWIN__) -/** DOC_DISABLE */ - -#ifdef LIBEXSLT_STATIC - #define EXSLTPUBLIC -#elif defined(IN_LIBEXSLT) - #define EXSLTPUBLIC __declspec(dllexport) -#else - #define EXSLTPUBLIC __declspec(dllimport) -#endif - -#define EXSLTCALL __cdecl - -/** DOC_ENABLE */ -#else /* not Windows */ - -/** - * EXSLTPUBLIC: - * - * Macro which declares a public symbol - */ -#define EXSLTPUBLIC - -/** - * EXSLTCALL: - * - * Macro which declares the calling convention for exported functions - */ -#define EXSLTCALL - -#endif /* platform switch */ - -/* - * EXSLTPUBFUN: - * - * Macro which declares an exportable function - */ -#define EXSLTPUBFUN EXSLTPUBLIC - -/** - * EXSLTPUBVAR: - * - * Macro which declares an exportable variable - */ -#define EXSLTPUBVAR EXSLTPUBLIC extern - -/* Compatibility */ -#if !defined(LIBEXSLT_PUBLIC) -#define LIBEXSLT_PUBLIC EXSLTPUBVAR -#endif - -#endif /* __EXSLT_EXPORTS_H__ */ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/HTMLparser.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/HTMLparser.h deleted file mode 100644 index e43feee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +++ /dev/null @@ -1,320 +0,0 @@ -/* - * Summary: interface for an HTML 4.0 non-verifying parser - * Description: this module implements an HTML 4.0 non-verifying parser - * with API compatible with the XML parser ones. It should - * be able to parse "real world" HTML, even if severely - * broken from a specification point of view. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __HTML_PARSER_H__ -#define __HTML_PARSER_H__ -#include <libxml/xmlversion.h> -#include <libxml/parser.h> - -#ifdef LIBXML_HTML_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Most of the back-end structures from XML and HTML are shared. - */ -typedef xmlParserCtxt htmlParserCtxt; -typedef xmlParserCtxtPtr htmlParserCtxtPtr; -typedef xmlParserNodeInfo htmlParserNodeInfo; -typedef xmlSAXHandler htmlSAXHandler; -typedef xmlSAXHandlerPtr htmlSAXHandlerPtr; -typedef xmlParserInput htmlParserInput; -typedef xmlParserInputPtr htmlParserInputPtr; -typedef xmlDocPtr htmlDocPtr; -typedef xmlNodePtr htmlNodePtr; - -/* - * Internal description of an HTML element, representing HTML 4.01 - * and XHTML 1.0 (which share the same structure). - */ -typedef struct _htmlElemDesc htmlElemDesc; -typedef htmlElemDesc *htmlElemDescPtr; -struct _htmlElemDesc { - const char *name; /* The tag name */ - char startTag; /* Whether the start tag can be implied */ - char endTag; /* Whether the end tag can be implied */ - char saveEndTag; /* Whether the end tag should be saved */ - char empty; /* Is this an empty element ? */ - char depr; /* Is this a deprecated element ? */ - char dtd; /* 1: only in Loose DTD, 2: only Frameset one */ - char isinline; /* is this a block 0 or inline 1 element */ - const char *desc; /* the description */ - -/* NRK Jan.2003 - * New fields encapsulating HTML structure - * - * Bugs: - * This is a very limited representation. It fails to tell us when - * an element *requires* subelements (we only have whether they're - * allowed or not), and it doesn't tell us where CDATA and PCDATA - * are allowed. Some element relationships are not fully represented: - * these are flagged with the word MODIFIER - */ - const char** subelts; /* allowed sub-elements of this element */ - const char* defaultsubelt; /* subelement for suggested auto-repair - if necessary or NULL */ - const char** attrs_opt; /* Optional Attributes */ - const char** attrs_depr; /* Additional deprecated attributes */ - const char** attrs_req; /* Required attributes */ -}; - -/* - * Internal description of an HTML entity. - */ -typedef struct _htmlEntityDesc htmlEntityDesc; -typedef htmlEntityDesc *htmlEntityDescPtr; -struct _htmlEntityDesc { - unsigned int value; /* the UNICODE value for the character */ - const char *name; /* The entity name */ - const char *desc; /* the description */ -}; - -/* - * There is only few public functions. - */ -XML_DEPRECATED -XMLPUBFUN void - htmlInitAutoClose (void); -XMLPUBFUN const htmlElemDesc * - htmlTagLookup (const xmlChar *tag); -XMLPUBFUN const htmlEntityDesc * - htmlEntityLookup(const xmlChar *name); -XMLPUBFUN const htmlEntityDesc * - htmlEntityValueLookup(unsigned int value); - -XMLPUBFUN int - htmlIsAutoClosed(htmlDocPtr doc, - htmlNodePtr elem); -XMLPUBFUN int - htmlAutoCloseTag(htmlDocPtr doc, - const xmlChar *name, - htmlNodePtr elem); -XML_DEPRECATED -XMLPUBFUN const htmlEntityDesc * - htmlParseEntityRef(htmlParserCtxtPtr ctxt, - const xmlChar **str); -XML_DEPRECATED -XMLPUBFUN int - htmlParseCharRef(htmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - htmlParseElement(htmlParserCtxtPtr ctxt); - -XMLPUBFUN htmlParserCtxtPtr - htmlNewParserCtxt(void); -XMLPUBFUN htmlParserCtxtPtr - htmlNewSAXParserCtxt(const htmlSAXHandler *sax, - void *userData); - -XMLPUBFUN htmlParserCtxtPtr - htmlCreateMemoryParserCtxt(const char *buffer, - int size); - -XMLPUBFUN int - htmlParseDocument(htmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN htmlDocPtr - htmlSAXParseDoc (const xmlChar *cur, - const char *encoding, - htmlSAXHandlerPtr sax, - void *userData); -XMLPUBFUN htmlDocPtr - htmlParseDoc (const xmlChar *cur, - const char *encoding); -XMLPUBFUN htmlParserCtxtPtr - htmlCreateFileParserCtxt(const char *filename, - const char *encoding); -XML_DEPRECATED -XMLPUBFUN htmlDocPtr - htmlSAXParseFile(const char *filename, - const char *encoding, - htmlSAXHandlerPtr sax, - void *userData); -XMLPUBFUN htmlDocPtr - htmlParseFile (const char *filename, - const char *encoding); -XMLPUBFUN int - UTF8ToHtml (unsigned char *out, - int *outlen, - const unsigned char *in, - int *inlen); -XMLPUBFUN int - htmlEncodeEntities(unsigned char *out, - int *outlen, - const unsigned char *in, - int *inlen, int quoteChar); -XMLPUBFUN int - htmlIsScriptAttribute(const xmlChar *name); -XMLPUBFUN int - htmlHandleOmittedElem(int val); - -#ifdef LIBXML_PUSH_ENABLED -/** - * Interfaces for the Push mode. - */ -XMLPUBFUN htmlParserCtxtPtr - htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, - void *user_data, - const char *chunk, - int size, - const char *filename, - xmlCharEncoding enc); -XMLPUBFUN int - htmlParseChunk (htmlParserCtxtPtr ctxt, - const char *chunk, - int size, - int terminate); -#endif /* LIBXML_PUSH_ENABLED */ - -XMLPUBFUN void - htmlFreeParserCtxt (htmlParserCtxtPtr ctxt); - -/* - * New set of simpler/more flexible APIs - */ -/** - * xmlParserOption: - * - * This is the set of XML parser options that can be passed down - * to the xmlReadDoc() and similar calls. - */ -typedef enum { - HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */ - HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */ - HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */ - HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */ - HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ - HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ - HTML_PARSE_NONET = 1<<11,/* Forbid network access */ - HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */ - HTML_PARSE_COMPACT = 1<<16,/* compact small text nodes */ - HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */ -} htmlParserOption; - -XMLPUBFUN void - htmlCtxtReset (htmlParserCtxtPtr ctxt); -XMLPUBFUN int - htmlCtxtUseOptions (htmlParserCtxtPtr ctxt, - int options); -XMLPUBFUN htmlDocPtr - htmlReadDoc (const xmlChar *cur, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlReadFile (const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlReadMemory (const char *buffer, - int size, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlReadFd (int fd, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlReadIO (xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlCtxtReadDoc (xmlParserCtxtPtr ctxt, - const xmlChar *cur, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlCtxtReadFile (xmlParserCtxtPtr ctxt, - const char *filename, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlCtxtReadMemory (xmlParserCtxtPtr ctxt, - const char *buffer, - int size, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlCtxtReadFd (xmlParserCtxtPtr ctxt, - int fd, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN htmlDocPtr - htmlCtxtReadIO (xmlParserCtxtPtr ctxt, - xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - const char *URL, - const char *encoding, - int options); - -/* NRK/Jan2003: further knowledge of HTML structure - */ -typedef enum { - HTML_NA = 0 , /* something we don't check at all */ - HTML_INVALID = 0x1 , - HTML_DEPRECATED = 0x2 , - HTML_VALID = 0x4 , - HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */ -} htmlStatus ; - -/* Using htmlElemDesc rather than name here, to emphasise the fact - that otherwise there's a lookup overhead -*/ -XMLPUBFUN htmlStatus htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ; -XMLPUBFUN int htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ; -XMLPUBFUN htmlStatus htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ; -XMLPUBFUN htmlStatus htmlNodeStatus(const htmlNodePtr, int) ; -/** - * htmlDefaultSubelement: - * @elt: HTML element - * - * Returns the default subelement for this element - */ -#define htmlDefaultSubelement(elt) elt->defaultsubelt -/** - * htmlElementAllowedHereDesc: - * @parent: HTML parent element - * @elt: HTML element - * - * Checks whether an HTML element description may be a - * direct child of the specified element. - * - * Returns 1 if allowed; 0 otherwise. - */ -#define htmlElementAllowedHereDesc(parent,elt) \ - htmlElementAllowedHere((parent), (elt)->name) -/** - * htmlRequiredAttrs: - * @elt: HTML element - * - * Returns the attributes required for the specified element. - */ -#define htmlRequiredAttrs(elt) (elt)->attrs_req - - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_HTML_ENABLED */ -#endif /* __HTML_PARSER_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/HTMLtree.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/HTMLtree.h deleted file mode 100644 index 8e1ba90..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Summary: specific APIs to process HTML tree, especially serialization - * Description: this module implements a few function needed to process - * tree in an HTML specific way. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __HTML_TREE_H__ -#define __HTML_TREE_H__ - -#include <stdio.h> -#include <libxml/xmlversion.h> -#include <libxml/tree.h> -#include <libxml/HTMLparser.h> - -#ifdef LIBXML_HTML_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - - -/** - * HTML_TEXT_NODE: - * - * Macro. A text node in a HTML document is really implemented - * the same way as a text node in an XML document. - */ -#define HTML_TEXT_NODE XML_TEXT_NODE -/** - * HTML_ENTITY_REF_NODE: - * - * Macro. An entity reference in a HTML document is really implemented - * the same way as an entity reference in an XML document. - */ -#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE -/** - * HTML_COMMENT_NODE: - * - * Macro. A comment in a HTML document is really implemented - * the same way as a comment in an XML document. - */ -#define HTML_COMMENT_NODE XML_COMMENT_NODE -/** - * HTML_PRESERVE_NODE: - * - * Macro. A preserved node in a HTML document is really implemented - * the same way as a CDATA section in an XML document. - */ -#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE -/** - * HTML_PI_NODE: - * - * Macro. A processing instruction in a HTML document is really implemented - * the same way as a processing instruction in an XML document. - */ -#define HTML_PI_NODE XML_PI_NODE - -XMLPUBFUN htmlDocPtr - htmlNewDoc (const xmlChar *URI, - const xmlChar *ExternalID); -XMLPUBFUN htmlDocPtr - htmlNewDocNoDtD (const xmlChar *URI, - const xmlChar *ExternalID); -XMLPUBFUN const xmlChar * - htmlGetMetaEncoding (htmlDocPtr doc); -XMLPUBFUN int - htmlSetMetaEncoding (htmlDocPtr doc, - const xmlChar *encoding); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - htmlDocDumpMemory (xmlDocPtr cur, - xmlChar **mem, - int *size); -XMLPUBFUN void - htmlDocDumpMemoryFormat (xmlDocPtr cur, - xmlChar **mem, - int *size, - int format); -XMLPUBFUN int - htmlDocDump (FILE *f, - xmlDocPtr cur); -XMLPUBFUN int - htmlSaveFile (const char *filename, - xmlDocPtr cur); -XMLPUBFUN int - htmlNodeDump (xmlBufferPtr buf, - xmlDocPtr doc, - xmlNodePtr cur); -XMLPUBFUN void - htmlNodeDumpFile (FILE *out, - xmlDocPtr doc, - xmlNodePtr cur); -XMLPUBFUN int - htmlNodeDumpFileFormat (FILE *out, - xmlDocPtr doc, - xmlNodePtr cur, - const char *encoding, - int format); -XMLPUBFUN int - htmlSaveFileEnc (const char *filename, - xmlDocPtr cur, - const char *encoding); -XMLPUBFUN int - htmlSaveFileFormat (const char *filename, - xmlDocPtr cur, - const char *encoding, - int format); - -XMLPUBFUN void - htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, - xmlDocPtr doc, - xmlNodePtr cur, - const char *encoding, - int format); -XMLPUBFUN void - htmlDocContentDumpOutput(xmlOutputBufferPtr buf, - xmlDocPtr cur, - const char *encoding); -XMLPUBFUN void - htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, - xmlDocPtr cur, - const char *encoding, - int format); -XMLPUBFUN void - htmlNodeDumpOutput (xmlOutputBufferPtr buf, - xmlDocPtr doc, - xmlNodePtr cur, - const char *encoding); - -#endif /* LIBXML_OUTPUT_ENABLED */ - -XMLPUBFUN int - htmlIsBooleanAttr (const xmlChar *name); - - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_HTML_ENABLED */ - -#endif /* __HTML_TREE_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/SAX.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/SAX.h deleted file mode 100644 index ecd3211..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/SAX.h +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Summary: Old SAX version 1 handler, deprecated - * Description: DEPRECATED set of SAX version 1 interfaces used to - * build the DOM tree. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_SAX_H__ -#define __XML_SAX_H__ - -#include <stdio.h> -#include <stdlib.h> -#include <libxml/xmlversion.h> -#include <libxml/parser.h> - -#ifdef LIBXML_LEGACY_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif -XML_DEPRECATED -XMLPUBFUN const xmlChar * - getPublicId (void *ctx); -XML_DEPRECATED -XMLPUBFUN const xmlChar * - getSystemId (void *ctx); -XML_DEPRECATED -XMLPUBFUN void - setDocumentLocator (void *ctx, - xmlSAXLocatorPtr loc); - -XML_DEPRECATED -XMLPUBFUN int - getLineNumber (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - getColumnNumber (void *ctx); - -XML_DEPRECATED -XMLPUBFUN int - isStandalone (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - hasInternalSubset (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - hasExternalSubset (void *ctx); - -XML_DEPRECATED -XMLPUBFUN void - internalSubset (void *ctx, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XML_DEPRECATED -XMLPUBFUN void - externalSubset (void *ctx, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XML_DEPRECATED -XMLPUBFUN xmlEntityPtr - getEntity (void *ctx, - const xmlChar *name); -XML_DEPRECATED -XMLPUBFUN xmlEntityPtr - getParameterEntity (void *ctx, - const xmlChar *name); -XML_DEPRECATED -XMLPUBFUN xmlParserInputPtr - resolveEntity (void *ctx, - const xmlChar *publicId, - const xmlChar *systemId); - -XML_DEPRECATED -XMLPUBFUN void - entityDecl (void *ctx, - const xmlChar *name, - int type, - const xmlChar *publicId, - const xmlChar *systemId, - xmlChar *content); -XML_DEPRECATED -XMLPUBFUN void - attributeDecl (void *ctx, - const xmlChar *elem, - const xmlChar *fullname, - int type, - int def, - const xmlChar *defaultValue, - xmlEnumerationPtr tree); -XML_DEPRECATED -XMLPUBFUN void - elementDecl (void *ctx, - const xmlChar *name, - int type, - xmlElementContentPtr content); -XML_DEPRECATED -XMLPUBFUN void - notationDecl (void *ctx, - const xmlChar *name, - const xmlChar *publicId, - const xmlChar *systemId); -XML_DEPRECATED -XMLPUBFUN void - unparsedEntityDecl (void *ctx, - const xmlChar *name, - const xmlChar *publicId, - const xmlChar *systemId, - const xmlChar *notationName); - -XML_DEPRECATED -XMLPUBFUN void - startDocument (void *ctx); -XML_DEPRECATED -XMLPUBFUN void - endDocument (void *ctx); -XML_DEPRECATED -XMLPUBFUN void - attribute (void *ctx, - const xmlChar *fullname, - const xmlChar *value); -XML_DEPRECATED -XMLPUBFUN void - startElement (void *ctx, - const xmlChar *fullname, - const xmlChar **atts); -XML_DEPRECATED -XMLPUBFUN void - endElement (void *ctx, - const xmlChar *name); -XML_DEPRECATED -XMLPUBFUN void - reference (void *ctx, - const xmlChar *name); -XML_DEPRECATED -XMLPUBFUN void - characters (void *ctx, - const xmlChar *ch, - int len); -XML_DEPRECATED -XMLPUBFUN void - ignorableWhitespace (void *ctx, - const xmlChar *ch, - int len); -XML_DEPRECATED -XMLPUBFUN void - processingInstruction (void *ctx, - const xmlChar *target, - const xmlChar *data); -XML_DEPRECATED -XMLPUBFUN void - globalNamespace (void *ctx, - const xmlChar *href, - const xmlChar *prefix); -XML_DEPRECATED -XMLPUBFUN void - setNamespace (void *ctx, - const xmlChar *name); -XML_DEPRECATED -XMLPUBFUN xmlNsPtr - getNamespace (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - checkNamespace (void *ctx, - xmlChar *nameSpace); -XML_DEPRECATED -XMLPUBFUN void - namespaceDecl (void *ctx, - const xmlChar *href, - const xmlChar *prefix); -XML_DEPRECATED -XMLPUBFUN void - comment (void *ctx, - const xmlChar *value); -XML_DEPRECATED -XMLPUBFUN void - cdataBlock (void *ctx, - const xmlChar *value, - int len); - -#ifdef LIBXML_SAX1_ENABLED -XML_DEPRECATED -XMLPUBFUN void - initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr, - int warning); -#ifdef LIBXML_HTML_ENABLED -XML_DEPRECATED -XMLPUBFUN void - inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr); -#endif -#endif /* LIBXML_SAX1_ENABLED */ - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_LEGACY_ENABLED */ - -#endif /* __XML_SAX_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/SAX2.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/SAX2.h deleted file mode 100644 index 35e7a5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/SAX2.h +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Summary: SAX2 parser interface used to build the DOM tree - * Description: those are the default SAX2 interfaces used by - * the library when building DOM tree. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_SAX2_H__ -#define __XML_SAX2_H__ - -#include <stdio.h> -#include <stdlib.h> -#include <libxml/xmlversion.h> -#include <libxml/parser.h> - -#ifdef __cplusplus -extern "C" { -#endif -XMLPUBFUN const xmlChar * - xmlSAX2GetPublicId (void *ctx); -XMLPUBFUN const xmlChar * - xmlSAX2GetSystemId (void *ctx); -XMLPUBFUN void - xmlSAX2SetDocumentLocator (void *ctx, - xmlSAXLocatorPtr loc); - -XMLPUBFUN int - xmlSAX2GetLineNumber (void *ctx); -XMLPUBFUN int - xmlSAX2GetColumnNumber (void *ctx); - -XMLPUBFUN int - xmlSAX2IsStandalone (void *ctx); -XMLPUBFUN int - xmlSAX2HasInternalSubset (void *ctx); -XMLPUBFUN int - xmlSAX2HasExternalSubset (void *ctx); - -XMLPUBFUN void - xmlSAX2InternalSubset (void *ctx, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XMLPUBFUN void - xmlSAX2ExternalSubset (void *ctx, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XMLPUBFUN xmlEntityPtr - xmlSAX2GetEntity (void *ctx, - const xmlChar *name); -XMLPUBFUN xmlEntityPtr - xmlSAX2GetParameterEntity (void *ctx, - const xmlChar *name); -XMLPUBFUN xmlParserInputPtr - xmlSAX2ResolveEntity (void *ctx, - const xmlChar *publicId, - const xmlChar *systemId); - -XMLPUBFUN void - xmlSAX2EntityDecl (void *ctx, - const xmlChar *name, - int type, - const xmlChar *publicId, - const xmlChar *systemId, - xmlChar *content); -XMLPUBFUN void - xmlSAX2AttributeDecl (void *ctx, - const xmlChar *elem, - const xmlChar *fullname, - int type, - int def, - const xmlChar *defaultValue, - xmlEnumerationPtr tree); -XMLPUBFUN void - xmlSAX2ElementDecl (void *ctx, - const xmlChar *name, - int type, - xmlElementContentPtr content); -XMLPUBFUN void - xmlSAX2NotationDecl (void *ctx, - const xmlChar *name, - const xmlChar *publicId, - const xmlChar *systemId); -XMLPUBFUN void - xmlSAX2UnparsedEntityDecl (void *ctx, - const xmlChar *name, - const xmlChar *publicId, - const xmlChar *systemId, - const xmlChar *notationName); - -XMLPUBFUN void - xmlSAX2StartDocument (void *ctx); -XMLPUBFUN void - xmlSAX2EndDocument (void *ctx); -#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ - defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED) -XMLPUBFUN void - xmlSAX2StartElement (void *ctx, - const xmlChar *fullname, - const xmlChar **atts); -XMLPUBFUN void - xmlSAX2EndElement (void *ctx, - const xmlChar *name); -#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */ -XMLPUBFUN void - xmlSAX2StartElementNs (void *ctx, - const xmlChar *localname, - const xmlChar *prefix, - const xmlChar *URI, - int nb_namespaces, - const xmlChar **namespaces, - int nb_attributes, - int nb_defaulted, - const xmlChar **attributes); -XMLPUBFUN void - xmlSAX2EndElementNs (void *ctx, - const xmlChar *localname, - const xmlChar *prefix, - const xmlChar *URI); -XMLPUBFUN void - xmlSAX2Reference (void *ctx, - const xmlChar *name); -XMLPUBFUN void - xmlSAX2Characters (void *ctx, - const xmlChar *ch, - int len); -XMLPUBFUN void - xmlSAX2IgnorableWhitespace (void *ctx, - const xmlChar *ch, - int len); -XMLPUBFUN void - xmlSAX2ProcessingInstruction (void *ctx, - const xmlChar *target, - const xmlChar *data); -XMLPUBFUN void - xmlSAX2Comment (void *ctx, - const xmlChar *value); -XMLPUBFUN void - xmlSAX2CDataBlock (void *ctx, - const xmlChar *value, - int len); - -#ifdef LIBXML_SAX1_ENABLED -XML_DEPRECATED -XMLPUBFUN int - xmlSAXDefaultVersion (int version); -#endif /* LIBXML_SAX1_ENABLED */ - -XMLPUBFUN int - xmlSAXVersion (xmlSAXHandler *hdlr, - int version); -XMLPUBFUN void - xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr, - int warning); -#ifdef LIBXML_HTML_ENABLED -XMLPUBFUN void - xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr); -XML_DEPRECATED -XMLPUBFUN void - htmlDefaultSAXHandlerInit (void); -#endif -XML_DEPRECATED -XMLPUBFUN void - xmlDefaultSAXHandlerInit (void); -#ifdef __cplusplus -} -#endif -#endif /* __XML_SAX2_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/c14n.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/c14n.h deleted file mode 100644 index 51e5419..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/c14n.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Summary: Provide Canonical XML and Exclusive XML Canonicalization - * Description: the c14n modules provides a - * - * "Canonical XML" implementation - * http://www.w3.org/TR/xml-c14n - * - * and an - * - * "Exclusive XML Canonicalization" implementation - * http://www.w3.org/TR/xml-exc-c14n - - * Copy: See Copyright for the status of this software. - * - * Author: Aleksey Sanin <aleksey@aleksey.com> - */ -#ifndef __XML_C14N_H__ -#define __XML_C14N_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_C14N_ENABLED -#ifdef LIBXML_OUTPUT_ENABLED - -#include <libxml/tree.h> -#include <libxml/xpath.h> - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* - * XML Canonicalization - * http://www.w3.org/TR/xml-c14n - * - * Exclusive XML Canonicalization - * http://www.w3.org/TR/xml-exc-c14n - * - * Canonical form of an XML document could be created if and only if - * a) default attributes (if any) are added to all nodes - * b) all character and parsed entity references are resolved - * In order to achieve this in libxml2 the document MUST be loaded with - * following global settings: - * - * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; - * xmlSubstituteEntitiesDefault(1); - * - * or corresponding parser context setting: - * xmlParserCtxtPtr ctxt; - * - * ... - * ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS; - * ctxt->replaceEntities = 1; - * ... - */ - -/* - * xmlC14NMode: - * - * Predefined values for C14N modes - * - */ -typedef enum { - XML_C14N_1_0 = 0, /* Original C14N 1.0 spec */ - XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */ - XML_C14N_1_1 = 2 /* C14N 1.1 spec */ -} xmlC14NMode; - -XMLPUBFUN int - xmlC14NDocSaveTo (xmlDocPtr doc, - xmlNodeSetPtr nodes, - int mode, /* a xmlC14NMode */ - xmlChar **inclusive_ns_prefixes, - int with_comments, - xmlOutputBufferPtr buf); - -XMLPUBFUN int - xmlC14NDocDumpMemory (xmlDocPtr doc, - xmlNodeSetPtr nodes, - int mode, /* a xmlC14NMode */ - xmlChar **inclusive_ns_prefixes, - int with_comments, - xmlChar **doc_txt_ptr); - -XMLPUBFUN int - xmlC14NDocSave (xmlDocPtr doc, - xmlNodeSetPtr nodes, - int mode, /* a xmlC14NMode */ - xmlChar **inclusive_ns_prefixes, - int with_comments, - const char* filename, - int compression); - - -/** - * This is the core C14N function - */ -/** - * xmlC14NIsVisibleCallback: - * @user_data: user data - * @node: the current node - * @parent: the parent node - * - * Signature for a C14N callback on visible nodes - * - * Returns 1 if the node should be included - */ -typedef int (*xmlC14NIsVisibleCallback) (void* user_data, - xmlNodePtr node, - xmlNodePtr parent); - -XMLPUBFUN int - xmlC14NExecute (xmlDocPtr doc, - xmlC14NIsVisibleCallback is_visible_callback, - void* user_data, - int mode, /* a xmlC14NMode */ - xmlChar **inclusive_ns_prefixes, - int with_comments, - xmlOutputBufferPtr buf); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* LIBXML_OUTPUT_ENABLED */ -#endif /* LIBXML_C14N_ENABLED */ -#endif /* __XML_C14N_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/catalog.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/catalog.h deleted file mode 100644 index 02fa7ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/catalog.h +++ /dev/null @@ -1,182 +0,0 @@ -/** - * Summary: interfaces to the Catalog handling system - * Description: the catalog module implements the support for - * XML Catalogs and SGML catalogs - * - * SGML Open Technical Resolution TR9401:1997. - * http://www.jclark.com/sp/catalog.htm - * - * XML Catalogs Working Draft 06 August 2001 - * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_CATALOG_H__ -#define __XML_CATALOG_H__ - -#include <stdio.h> - -#include <libxml/xmlversion.h> -#include <libxml/xmlstring.h> -#include <libxml/tree.h> - -#ifdef LIBXML_CATALOG_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XML_CATALOGS_NAMESPACE: - * - * The namespace for the XML Catalogs elements. - */ -#define XML_CATALOGS_NAMESPACE \ - (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" -/** - * XML_CATALOG_PI: - * - * The specific XML Catalog Processing Instruction name. - */ -#define XML_CATALOG_PI \ - (const xmlChar *) "oasis-xml-catalog" - -/* - * The API is voluntarily limited to general cataloging. - */ -typedef enum { - XML_CATA_PREFER_NONE = 0, - XML_CATA_PREFER_PUBLIC = 1, - XML_CATA_PREFER_SYSTEM -} xmlCatalogPrefer; - -typedef enum { - XML_CATA_ALLOW_NONE = 0, - XML_CATA_ALLOW_GLOBAL = 1, - XML_CATA_ALLOW_DOCUMENT = 2, - XML_CATA_ALLOW_ALL = 3 -} xmlCatalogAllow; - -typedef struct _xmlCatalog xmlCatalog; -typedef xmlCatalog *xmlCatalogPtr; - -/* - * Operations on a given catalog. - */ -XMLPUBFUN xmlCatalogPtr - xmlNewCatalog (int sgml); -XMLPUBFUN xmlCatalogPtr - xmlLoadACatalog (const char *filename); -XMLPUBFUN xmlCatalogPtr - xmlLoadSGMLSuperCatalog (const char *filename); -XMLPUBFUN int - xmlConvertSGMLCatalog (xmlCatalogPtr catal); -XMLPUBFUN int - xmlACatalogAdd (xmlCatalogPtr catal, - const xmlChar *type, - const xmlChar *orig, - const xmlChar *replace); -XMLPUBFUN int - xmlACatalogRemove (xmlCatalogPtr catal, - const xmlChar *value); -XMLPUBFUN xmlChar * - xmlACatalogResolve (xmlCatalogPtr catal, - const xmlChar *pubID, - const xmlChar *sysID); -XMLPUBFUN xmlChar * - xmlACatalogResolveSystem(xmlCatalogPtr catal, - const xmlChar *sysID); -XMLPUBFUN xmlChar * - xmlACatalogResolvePublic(xmlCatalogPtr catal, - const xmlChar *pubID); -XMLPUBFUN xmlChar * - xmlACatalogResolveURI (xmlCatalogPtr catal, - const xmlChar *URI); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlACatalogDump (xmlCatalogPtr catal, - FILE *out); -#endif /* LIBXML_OUTPUT_ENABLED */ -XMLPUBFUN void - xmlFreeCatalog (xmlCatalogPtr catal); -XMLPUBFUN int - xmlCatalogIsEmpty (xmlCatalogPtr catal); - -/* - * Global operations. - */ -XMLPUBFUN void - xmlInitializeCatalog (void); -XMLPUBFUN int - xmlLoadCatalog (const char *filename); -XMLPUBFUN void - xmlLoadCatalogs (const char *paths); -XMLPUBFUN void - xmlCatalogCleanup (void); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlCatalogDump (FILE *out); -#endif /* LIBXML_OUTPUT_ENABLED */ -XMLPUBFUN xmlChar * - xmlCatalogResolve (const xmlChar *pubID, - const xmlChar *sysID); -XMLPUBFUN xmlChar * - xmlCatalogResolveSystem (const xmlChar *sysID); -XMLPUBFUN xmlChar * - xmlCatalogResolvePublic (const xmlChar *pubID); -XMLPUBFUN xmlChar * - xmlCatalogResolveURI (const xmlChar *URI); -XMLPUBFUN int - xmlCatalogAdd (const xmlChar *type, - const xmlChar *orig, - const xmlChar *replace); -XMLPUBFUN int - xmlCatalogRemove (const xmlChar *value); -XMLPUBFUN xmlDocPtr - xmlParseCatalogFile (const char *filename); -XMLPUBFUN int - xmlCatalogConvert (void); - -/* - * Strictly minimal interfaces for per-document catalogs used - * by the parser. - */ -XMLPUBFUN void - xmlCatalogFreeLocal (void *catalogs); -XMLPUBFUN void * - xmlCatalogAddLocal (void *catalogs, - const xmlChar *URL); -XMLPUBFUN xmlChar * - xmlCatalogLocalResolve (void *catalogs, - const xmlChar *pubID, - const xmlChar *sysID); -XMLPUBFUN xmlChar * - xmlCatalogLocalResolveURI(void *catalogs, - const xmlChar *URI); -/* - * Preference settings. - */ -XMLPUBFUN int - xmlCatalogSetDebug (int level); -XMLPUBFUN xmlCatalogPrefer - xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); -XMLPUBFUN void - xmlCatalogSetDefaults (xmlCatalogAllow allow); -XMLPUBFUN xmlCatalogAllow - xmlCatalogGetDefaults (void); - - -/* DEPRECATED interfaces */ -XMLPUBFUN const xmlChar * - xmlCatalogGetSystem (const xmlChar *sysID); -XMLPUBFUN const xmlChar * - xmlCatalogGetPublic (const xmlChar *pubID); - -#ifdef __cplusplus -} -#endif -#endif /* LIBXML_CATALOG_ENABLED */ -#endif /* __XML_CATALOG_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/chvalid.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/chvalid.h deleted file mode 100644 index 8225c95..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/chvalid.h +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Summary: Unicode character range checking - * Description: this module exports interfaces for the character - * range validation APIs - * - * This file is automatically generated from the cvs source - * definition files using the genChRanges.py Python script - * - * Generation date: Mon Mar 27 11:09:48 2006 - * Sources: chvalid.def - * Author: William Brack <wbrack@mmm.com.hk> - */ - -#ifndef __XML_CHVALID_H__ -#define __XML_CHVALID_H__ - -#include <libxml/xmlversion.h> -#include <libxml/xmlstring.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Define our typedefs and structures - * - */ -typedef struct _xmlChSRange xmlChSRange; -typedef xmlChSRange *xmlChSRangePtr; -struct _xmlChSRange { - unsigned short low; - unsigned short high; -}; - -typedef struct _xmlChLRange xmlChLRange; -typedef xmlChLRange *xmlChLRangePtr; -struct _xmlChLRange { - unsigned int low; - unsigned int high; -}; - -typedef struct _xmlChRangeGroup xmlChRangeGroup; -typedef xmlChRangeGroup *xmlChRangeGroupPtr; -struct _xmlChRangeGroup { - int nbShortRange; - int nbLongRange; - const xmlChSRange *shortRange; /* points to an array of ranges */ - const xmlChLRange *longRange; -}; - -/** - * Range checking routine - */ -XMLPUBFUN int - xmlCharInRange(unsigned int val, const xmlChRangeGroup *group); - - -/** - * xmlIsBaseChar_ch: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ - ((0x61 <= (c)) && ((c) <= 0x7a)) || \ - ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ - ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ - (0xf8 <= (c))) - -/** - * xmlIsBaseCharQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ - xmlIsBaseChar_ch((c)) : \ - xmlCharInRange((c), &xmlIsBaseCharGroup)) - -XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; - -/** - * xmlIsBlank_ch: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsBlank_ch(c) (((c) == 0x20) || \ - ((0x9 <= (c)) && ((c) <= 0xa)) || \ - ((c) == 0xd)) - -/** - * xmlIsBlankQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsBlankQ(c) (((c) < 0x100) ? \ - xmlIsBlank_ch((c)) : 0) - - -/** - * xmlIsChar_ch: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ - ((c) == 0xd) || \ - (0x20 <= (c))) - -/** - * xmlIsCharQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsCharQ(c) (((c) < 0x100) ? \ - xmlIsChar_ch((c)) :\ - (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ - ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ - ((0x10000 <= (c)) && ((c) <= 0x10ffff)))) - -XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; - -/** - * xmlIsCombiningQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsCombiningQ(c) (((c) < 0x100) ? \ - 0 : \ - xmlCharInRange((c), &xmlIsCombiningGroup)) - -XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; - -/** - * xmlIsDigit_ch: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39))) - -/** - * xmlIsDigitQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsDigitQ(c) (((c) < 0x100) ? \ - xmlIsDigit_ch((c)) : \ - xmlCharInRange((c), &xmlIsDigitGroup)) - -XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; - -/** - * xmlIsExtender_ch: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsExtender_ch(c) (((c) == 0xb7)) - -/** - * xmlIsExtenderQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsExtenderQ(c) (((c) < 0x100) ? \ - xmlIsExtender_ch((c)) : \ - xmlCharInRange((c), &xmlIsExtenderGroup)) - -XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; - -/** - * xmlIsIdeographicQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ - 0 :\ - (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ - ((c) == 0x3007) || \ - ((0x3021 <= (c)) && ((c) <= 0x3029)))) - -XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; -XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256]; - -/** - * xmlIsPubidChar_ch: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)]) - -/** - * xmlIsPubidCharQ: - * @c: char to validate - * - * Automatically generated by genChRanges.py - */ -#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ - xmlIsPubidChar_ch((c)) : 0) - -XMLPUBFUN int - xmlIsBaseChar(unsigned int ch); -XMLPUBFUN int - xmlIsBlank(unsigned int ch); -XMLPUBFUN int - xmlIsChar(unsigned int ch); -XMLPUBFUN int - xmlIsCombining(unsigned int ch); -XMLPUBFUN int - xmlIsDigit(unsigned int ch); -XMLPUBFUN int - xmlIsExtender(unsigned int ch); -XMLPUBFUN int - xmlIsIdeographic(unsigned int ch); -XMLPUBFUN int - xmlIsPubidChar(unsigned int ch); - -#ifdef __cplusplus -} -#endif -#endif /* __XML_CHVALID_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/debugXML.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/debugXML.h deleted file mode 100644 index 8274687..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/debugXML.h +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Summary: Tree debugging APIs - * Description: Interfaces to a set of routines used for debugging the tree - * produced by the XML parser. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __DEBUG_XML__ -#define __DEBUG_XML__ -#include <stdio.h> -#include <libxml/xmlversion.h> -#include <libxml/tree.h> - -#ifdef LIBXML_DEBUG_ENABLED - -#include <libxml/xpath.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The standard Dump routines. - */ -XMLPUBFUN void - xmlDebugDumpString (FILE *output, - const xmlChar *str); -XMLPUBFUN void - xmlDebugDumpAttr (FILE *output, - xmlAttrPtr attr, - int depth); -XMLPUBFUN void - xmlDebugDumpAttrList (FILE *output, - xmlAttrPtr attr, - int depth); -XMLPUBFUN void - xmlDebugDumpOneNode (FILE *output, - xmlNodePtr node, - int depth); -XMLPUBFUN void - xmlDebugDumpNode (FILE *output, - xmlNodePtr node, - int depth); -XMLPUBFUN void - xmlDebugDumpNodeList (FILE *output, - xmlNodePtr node, - int depth); -XMLPUBFUN void - xmlDebugDumpDocumentHead(FILE *output, - xmlDocPtr doc); -XMLPUBFUN void - xmlDebugDumpDocument (FILE *output, - xmlDocPtr doc); -XMLPUBFUN void - xmlDebugDumpDTD (FILE *output, - xmlDtdPtr dtd); -XMLPUBFUN void - xmlDebugDumpEntities (FILE *output, - xmlDocPtr doc); - -/**************************************************************** - * * - * Checking routines * - * * - ****************************************************************/ - -XMLPUBFUN int - xmlDebugCheckDocument (FILE * output, - xmlDocPtr doc); - -/**************************************************************** - * * - * XML shell helpers * - * * - ****************************************************************/ - -XMLPUBFUN void - xmlLsOneNode (FILE *output, xmlNodePtr node); -XMLPUBFUN int - xmlLsCountNode (xmlNodePtr node); - -XMLPUBFUN const char * - xmlBoolToText (int boolval); - -/**************************************************************** - * * - * The XML shell related structures and functions * - * * - ****************************************************************/ - -#ifdef LIBXML_XPATH_ENABLED -/** - * xmlShellReadlineFunc: - * @prompt: a string prompt - * - * This is a generic signature for the XML shell input function. - * - * Returns a string which will be freed by the Shell. - */ -typedef char * (* xmlShellReadlineFunc)(char *prompt); - -/** - * xmlShellCtxt: - * - * A debugging shell context. - * TODO: add the defined function tables. - */ -typedef struct _xmlShellCtxt xmlShellCtxt; -typedef xmlShellCtxt *xmlShellCtxtPtr; -struct _xmlShellCtxt { - char *filename; - xmlDocPtr doc; - xmlNodePtr node; - xmlXPathContextPtr pctxt; - int loaded; - FILE *output; - xmlShellReadlineFunc input; -}; - -/** - * xmlShellCmd: - * @ctxt: a shell context - * @arg: a string argument - * @node: a first node - * @node2: a second node - * - * This is a generic signature for the XML shell functions. - * - * Returns an int, negative returns indicating errors. - */ -typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt, - char *arg, - xmlNodePtr node, - xmlNodePtr node2); - -XMLPUBFUN void - xmlShellPrintXPathError (int errorType, - const char *arg); -XMLPUBFUN void - xmlShellPrintXPathResult(xmlXPathObjectPtr list); -XMLPUBFUN int - xmlShellList (xmlShellCtxtPtr ctxt, - char *arg, - xmlNodePtr node, - xmlNodePtr node2); -XMLPUBFUN int - xmlShellBase (xmlShellCtxtPtr ctxt, - char *arg, - xmlNodePtr node, - xmlNodePtr node2); -XMLPUBFUN int - xmlShellDir (xmlShellCtxtPtr ctxt, - char *arg, - xmlNodePtr node, - xmlNodePtr node2); -XMLPUBFUN int - xmlShellLoad (xmlShellCtxtPtr ctxt, - char *filename, - xmlNodePtr node, - xmlNodePtr node2); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlShellPrintNode (xmlNodePtr node); -XMLPUBFUN int - xmlShellCat (xmlShellCtxtPtr ctxt, - char *arg, - xmlNodePtr node, - xmlNodePtr node2); -XMLPUBFUN int - xmlShellWrite (xmlShellCtxtPtr ctxt, - char *filename, - xmlNodePtr node, - xmlNodePtr node2); -XMLPUBFUN int - xmlShellSave (xmlShellCtxtPtr ctxt, - char *filename, - xmlNodePtr node, - xmlNodePtr node2); -#endif /* LIBXML_OUTPUT_ENABLED */ -#ifdef LIBXML_VALID_ENABLED -XMLPUBFUN int - xmlShellValidate (xmlShellCtxtPtr ctxt, - char *dtd, - xmlNodePtr node, - xmlNodePtr node2); -#endif /* LIBXML_VALID_ENABLED */ -XMLPUBFUN int - xmlShellDu (xmlShellCtxtPtr ctxt, - char *arg, - xmlNodePtr tree, - xmlNodePtr node2); -XMLPUBFUN int - xmlShellPwd (xmlShellCtxtPtr ctxt, - char *buffer, - xmlNodePtr node, - xmlNodePtr node2); - -/* - * The Shell interface. - */ -XMLPUBFUN void - xmlShell (xmlDocPtr doc, - char *filename, - xmlShellReadlineFunc input, - FILE *output); - -#endif /* LIBXML_XPATH_ENABLED */ - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_DEBUG_ENABLED */ -#endif /* __DEBUG_XML__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/dict.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/dict.h deleted file mode 100644 index eb8f85d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/dict.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Summary: string dictionary - * Description: dictionary of reusable strings, just used to avoid allocation - * and freeing operations. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_DICT_H__ -#define __XML_DICT_H__ - -#include <stddef.h> -#include <libxml/xmlversion.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The dictionary. - */ -typedef struct _xmlDict xmlDict; -typedef xmlDict *xmlDictPtr; - -/* - * Initializer - */ -XML_DEPRECATED -XMLPUBFUN int xmlInitializeDict(void); - -/* - * Constructor and destructor. - */ -XMLPUBFUN xmlDictPtr - xmlDictCreate (void); -XMLPUBFUN size_t - xmlDictSetLimit (xmlDictPtr dict, - size_t limit); -XMLPUBFUN size_t - xmlDictGetUsage (xmlDictPtr dict); -XMLPUBFUN xmlDictPtr - xmlDictCreateSub(xmlDictPtr sub); -XMLPUBFUN int - xmlDictReference(xmlDictPtr dict); -XMLPUBFUN void - xmlDictFree (xmlDictPtr dict); - -/* - * Lookup of entry in the dictionary. - */ -XMLPUBFUN const xmlChar * - xmlDictLookup (xmlDictPtr dict, - const xmlChar *name, - int len); -XMLPUBFUN const xmlChar * - xmlDictExists (xmlDictPtr dict, - const xmlChar *name, - int len); -XMLPUBFUN const xmlChar * - xmlDictQLookup (xmlDictPtr dict, - const xmlChar *prefix, - const xmlChar *name); -XMLPUBFUN int - xmlDictOwns (xmlDictPtr dict, - const xmlChar *str); -XMLPUBFUN int - xmlDictSize (xmlDictPtr dict); - -/* - * Cleanup function - */ -XML_DEPRECATED -XMLPUBFUN void - xmlDictCleanup (void); - -#ifdef __cplusplus -} -#endif -#endif /* ! __XML_DICT_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/encoding.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/encoding.h deleted file mode 100644 index 67add3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/encoding.h +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Summary: interface for the encoding conversion functions - * Description: interface for the encoding conversion functions needed for - * XML basic encoding and iconv() support. - * - * Related specs are - * rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies - * [ISO-10646] UTF-8 and UTF-16 in Annexes - * [ISO-8859-1] ISO Latin-1 characters codes. - * [UNICODE] The Unicode Consortium, "The Unicode Standard -- - * Worldwide Character Encoding -- Version 1.0", Addison- - * Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is - * described in Unicode Technical Report #4. - * [US-ASCII] Coded Character Set--7-bit American Standard Code for - * Information Interchange, ANSI X3.4-1986. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_CHAR_ENCODING_H__ -#define __XML_CHAR_ENCODING_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_ICONV_ENABLED -#include <iconv.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * xmlCharEncoding: - * - * Predefined values for some standard encodings. - * Libxml does not do beforehand translation on UTF8 and ISOLatinX. - * It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default. - * - * Anything else would have to be translated to UTF8 before being - * given to the parser itself. The BOM for UTF16 and the encoding - * declaration are looked at and a converter is looked for at that - * point. If not found the parser stops here as asked by the XML REC. A - * converter can be registered by the user using xmlRegisterCharEncodingHandler - * but the current form doesn't allow stateful transcoding (a serious - * problem agreed !). If iconv has been found it will be used - * automatically and allow stateful transcoding, the simplest is then - * to be sure to enable iconv and to provide iconv libs for the encoding - * support needed. - * - * Note that the generic "UTF-16" is not a predefined value. Instead, only - * the specific UTF-16LE and UTF-16BE are present. - */ -typedef enum { - XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */ - XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */ - XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */ - XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */ - XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */ - XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */ - XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */ - XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */ - XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */ - XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */ - XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */ - XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */ - XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */ - XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */ - XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */ - XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */ - XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */ - XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */ - XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */ - XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */ - XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */ - XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */ - XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */ - XML_CHAR_ENCODING_ASCII= 22 /* pure ASCII */ -} xmlCharEncoding; - -/** - * xmlCharEncodingInputFunc: - * @out: a pointer to an array of bytes to store the UTF-8 result - * @outlen: the length of @out - * @in: a pointer to an array of chars in the original encoding - * @inlen: the length of @in - * - * Take a block of chars in the original encoding and try to convert - * it to an UTF-8 block of chars out. - * - * Returns the number of bytes written, -1 if lack of space, or -2 - * if the transcoding failed. - * The value of @inlen after return is the number of octets consumed - * if the return value is positive, else unpredictiable. - * The value of @outlen after return is the number of octets consumed. - */ -typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, - const unsigned char *in, int *inlen); - - -/** - * xmlCharEncodingOutputFunc: - * @out: a pointer to an array of bytes to store the result - * @outlen: the length of @out - * @in: a pointer to an array of UTF-8 chars - * @inlen: the length of @in - * - * Take a block of UTF-8 chars in and try to convert it to another - * encoding. - * Note: a first call designed to produce heading info is called with - * in = NULL. If stateful this should also initialize the encoder state. - * - * Returns the number of bytes written, -1 if lack of space, or -2 - * if the transcoding failed. - * The value of @inlen after return is the number of octets consumed - * if the return value is positive, else unpredictiable. - * The value of @outlen after return is the number of octets produced. - */ -typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, - const unsigned char *in, int *inlen); - - -/* - * Block defining the handlers for non UTF-8 encodings. - * If iconv is supported, there are two extra fields. - */ -typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; -typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; -struct _xmlCharEncodingHandler { - char *name; - xmlCharEncodingInputFunc input; - xmlCharEncodingOutputFunc output; -#ifdef LIBXML_ICONV_ENABLED - iconv_t iconv_in; - iconv_t iconv_out; -#endif /* LIBXML_ICONV_ENABLED */ -#ifdef LIBXML_ICU_ENABLED - struct _uconv_t *uconv_in; - struct _uconv_t *uconv_out; -#endif /* LIBXML_ICU_ENABLED */ -}; - -#ifdef __cplusplus -} -#endif -#include <libxml/tree.h> -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Interfaces for encoding handlers. - */ -XML_DEPRECATED -XMLPUBFUN void - xmlInitCharEncodingHandlers (void); -XML_DEPRECATED -XMLPUBFUN void - xmlCleanupCharEncodingHandlers (void); -XMLPUBFUN void - xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler); -XMLPUBFUN xmlCharEncodingHandlerPtr - xmlGetCharEncodingHandler (xmlCharEncoding enc); -XMLPUBFUN xmlCharEncodingHandlerPtr - xmlFindCharEncodingHandler (const char *name); -XMLPUBFUN xmlCharEncodingHandlerPtr - xmlNewCharEncodingHandler (const char *name, - xmlCharEncodingInputFunc input, - xmlCharEncodingOutputFunc output); - -/* - * Interfaces for encoding names and aliases. - */ -XMLPUBFUN int - xmlAddEncodingAlias (const char *name, - const char *alias); -XMLPUBFUN int - xmlDelEncodingAlias (const char *alias); -XMLPUBFUN const char * - xmlGetEncodingAlias (const char *alias); -XMLPUBFUN void - xmlCleanupEncodingAliases (void); -XMLPUBFUN xmlCharEncoding - xmlParseCharEncoding (const char *name); -XMLPUBFUN const char * - xmlGetCharEncodingName (xmlCharEncoding enc); - -/* - * Interfaces directly used by the parsers. - */ -XMLPUBFUN xmlCharEncoding - xmlDetectCharEncoding (const unsigned char *in, - int len); - -XMLPUBFUN int - xmlCharEncOutFunc (xmlCharEncodingHandler *handler, - xmlBufferPtr out, - xmlBufferPtr in); - -XMLPUBFUN int - xmlCharEncInFunc (xmlCharEncodingHandler *handler, - xmlBufferPtr out, - xmlBufferPtr in); -XML_DEPRECATED -XMLPUBFUN int - xmlCharEncFirstLine (xmlCharEncodingHandler *handler, - xmlBufferPtr out, - xmlBufferPtr in); -XMLPUBFUN int - xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); - -/* - * Export a few useful functions - */ -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN int - UTF8Toisolat1 (unsigned char *out, - int *outlen, - const unsigned char *in, - int *inlen); -#endif /* LIBXML_OUTPUT_ENABLED */ -XMLPUBFUN int - isolat1ToUTF8 (unsigned char *out, - int *outlen, - const unsigned char *in, - int *inlen); -#ifdef __cplusplus -} -#endif - -#endif /* __XML_CHAR_ENCODING_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/entities.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/entities.h deleted file mode 100644 index 2c69514..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/entities.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Summary: interface for the XML entities handling - * Description: this module provides some of the entity API needed - * for the parser and applications. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_ENTITIES_H__ -#define __XML_ENTITIES_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The different valid entity types. - */ -typedef enum { - XML_INTERNAL_GENERAL_ENTITY = 1, - XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, - XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, - XML_INTERNAL_PARAMETER_ENTITY = 4, - XML_EXTERNAL_PARAMETER_ENTITY = 5, - XML_INTERNAL_PREDEFINED_ENTITY = 6 -} xmlEntityType; - -/* - * An unit of storage for an entity, contains the string, the value - * and the linkind data needed for the linking in the hash table. - */ - -struct _xmlEntity { - void *_private; /* application data */ - xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ - const xmlChar *name; /* Entity name */ - struct _xmlNode *children; /* First child link */ - struct _xmlNode *last; /* Last child link */ - struct _xmlDtd *parent; /* -> DTD */ - struct _xmlNode *next; /* next sibling link */ - struct _xmlNode *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* the containing document */ - - xmlChar *orig; /* content without ref substitution */ - xmlChar *content; /* content or ndata if unparsed */ - int length; /* the content length */ - xmlEntityType etype; /* The entity type */ - const xmlChar *ExternalID; /* External identifier for PUBLIC */ - const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ - - struct _xmlEntity *nexte; /* unused */ - const xmlChar *URI; /* the full URI as computed */ - int owner; /* does the entity own the childrens */ - int flags; /* various flags */ - unsigned long expandedSize; /* expanded size */ -}; - -/* - * All entities are stored in an hash table. - * There is 2 separate hash tables for global and parameter entities. - */ - -typedef struct _xmlHashTable xmlEntitiesTable; -typedef xmlEntitiesTable *xmlEntitiesTablePtr; - -/* - * External functions: - */ - -#ifdef LIBXML_LEGACY_ENABLED -XML_DEPRECATED -XMLPUBFUN void - xmlInitializePredefinedEntities (void); -#endif /* LIBXML_LEGACY_ENABLED */ - -XMLPUBFUN xmlEntityPtr - xmlNewEntity (xmlDocPtr doc, - const xmlChar *name, - int type, - const xmlChar *ExternalID, - const xmlChar *SystemID, - const xmlChar *content); -XMLPUBFUN xmlEntityPtr - xmlAddDocEntity (xmlDocPtr doc, - const xmlChar *name, - int type, - const xmlChar *ExternalID, - const xmlChar *SystemID, - const xmlChar *content); -XMLPUBFUN xmlEntityPtr - xmlAddDtdEntity (xmlDocPtr doc, - const xmlChar *name, - int type, - const xmlChar *ExternalID, - const xmlChar *SystemID, - const xmlChar *content); -XMLPUBFUN xmlEntityPtr - xmlGetPredefinedEntity (const xmlChar *name); -XMLPUBFUN xmlEntityPtr - xmlGetDocEntity (const xmlDoc *doc, - const xmlChar *name); -XMLPUBFUN xmlEntityPtr - xmlGetDtdEntity (xmlDocPtr doc, - const xmlChar *name); -XMLPUBFUN xmlEntityPtr - xmlGetParameterEntity (xmlDocPtr doc, - const xmlChar *name); -#ifdef LIBXML_LEGACY_ENABLED -XML_DEPRECATED -XMLPUBFUN const xmlChar * - xmlEncodeEntities (xmlDocPtr doc, - const xmlChar *input); -#endif /* LIBXML_LEGACY_ENABLED */ -XMLPUBFUN xmlChar * - xmlEncodeEntitiesReentrant(xmlDocPtr doc, - const xmlChar *input); -XMLPUBFUN xmlChar * - xmlEncodeSpecialChars (const xmlDoc *doc, - const xmlChar *input); -XMLPUBFUN xmlEntitiesTablePtr - xmlCreateEntitiesTable (void); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlEntitiesTablePtr - xmlCopyEntitiesTable (xmlEntitiesTablePtr table); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN void - xmlFreeEntitiesTable (xmlEntitiesTablePtr table); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlDumpEntitiesTable (xmlBufferPtr buf, - xmlEntitiesTablePtr table); -XMLPUBFUN void - xmlDumpEntityDecl (xmlBufferPtr buf, - xmlEntityPtr ent); -#endif /* LIBXML_OUTPUT_ENABLED */ -#ifdef LIBXML_LEGACY_ENABLED -XMLPUBFUN void - xmlCleanupPredefinedEntities(void); -#endif /* LIBXML_LEGACY_ENABLED */ - - -#ifdef __cplusplus -} -#endif - -# endif /* __XML_ENTITIES_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/globals.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/globals.h deleted file mode 100644 index 5969729..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/globals.h +++ /dev/null @@ -1,529 +0,0 @@ -/* - * Summary: interface for all global variables of the library - * Description: all the global variables and thread handling for - * those variables is handled by this module. - * - * The bottom of this file is automatically generated by build_glob.py - * based on the description file global.data - * - * Copy: See Copyright for the status of this software. - * - * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard - */ - -#ifndef __XML_GLOBALS_H -#define __XML_GLOBALS_H - -#include <libxml/xmlversion.h> -#include <libxml/parser.h> -#include <libxml/xmlerror.h> -#include <libxml/SAX2.h> -#include <libxml/xmlmemory.h> - -#ifdef __cplusplus -extern "C" { -#endif - -XML_DEPRECATED -XMLPUBFUN void xmlInitGlobals(void); -XML_DEPRECATED -XMLPUBFUN void xmlCleanupGlobals(void); - -/** - * xmlParserInputBufferCreateFilenameFunc: - * @URI: the URI to read from - * @enc: the requested source encoding - * - * Signature for the function doing the lookup for a suitable input method - * corresponding to an URI. - * - * Returns the new xmlParserInputBufferPtr in case of success or NULL if no - * method was found. - */ -typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, - xmlCharEncoding enc); - - -/** - * xmlOutputBufferCreateFilenameFunc: - * @URI: the URI to write to - * @enc: the requested target encoding - * - * Signature for the function doing the lookup for a suitable output method - * corresponding to an URI. - * - * Returns the new xmlOutputBufferPtr in case of success or NULL if no - * method was found. - */ -typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, - xmlCharEncodingHandlerPtr encoder, - int compression); - -XMLPUBFUN xmlParserInputBufferCreateFilenameFunc -xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func); -XMLPUBFUN xmlOutputBufferCreateFilenameFunc -xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func); - -/* - * Externally global symbols which need to be protected for backwards - * compatibility support. - */ - -#undef htmlDefaultSAXHandler -#undef oldXMLWDcompatibility -#undef xmlBufferAllocScheme -#undef xmlDefaultBufferSize -#undef xmlDefaultSAXHandler -#undef xmlDefaultSAXLocator -#undef xmlDoValidityCheckingDefaultValue -#undef xmlFree -#undef xmlGenericError -#undef xmlStructuredError -#undef xmlGenericErrorContext -#undef xmlStructuredErrorContext -#undef xmlGetWarningsDefaultValue -#undef xmlIndentTreeOutput -#undef xmlTreeIndentString -#undef xmlKeepBlanksDefaultValue -#undef xmlLineNumbersDefaultValue -#undef xmlLoadExtDtdDefaultValue -#undef xmlMalloc -#undef xmlMallocAtomic -#undef xmlMemStrdup -#undef xmlParserDebugEntities -#undef xmlParserVersion -#undef xmlPedanticParserDefaultValue -#undef xmlRealloc -#undef xmlSaveNoEmptyTags -#undef xmlSubstituteEntitiesDefaultValue -#undef xmlRegisterNodeDefaultValue -#undef xmlDeregisterNodeDefaultValue -#undef xmlLastError -#undef xmlParserInputBufferCreateFilenameValue -#undef xmlOutputBufferCreateFilenameValue - -/** - * xmlRegisterNodeFunc: - * @node: the current node - * - * Signature for the registration callback of a created node - */ -typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node); -/** - * xmlDeregisterNodeFunc: - * @node: the current node - * - * Signature for the deregistration callback of a discarded node - */ -typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node); - -typedef struct _xmlGlobalState xmlGlobalState; -typedef xmlGlobalState *xmlGlobalStatePtr; -struct _xmlGlobalState -{ - const char *xmlParserVersion; - - xmlSAXLocator xmlDefaultSAXLocator; - xmlSAXHandlerV1 xmlDefaultSAXHandler; - xmlSAXHandlerV1 docbDefaultSAXHandler; /* unused */ - xmlSAXHandlerV1 htmlDefaultSAXHandler; - - xmlFreeFunc xmlFree; - xmlMallocFunc xmlMalloc; - xmlStrdupFunc xmlMemStrdup; - xmlReallocFunc xmlRealloc; - - xmlGenericErrorFunc xmlGenericError; - xmlStructuredErrorFunc xmlStructuredError; - void *xmlGenericErrorContext; - - int oldXMLWDcompatibility; - - xmlBufferAllocationScheme xmlBufferAllocScheme; - int xmlDefaultBufferSize; - - int xmlSubstituteEntitiesDefaultValue; - int xmlDoValidityCheckingDefaultValue; - int xmlGetWarningsDefaultValue; - int xmlKeepBlanksDefaultValue; - int xmlLineNumbersDefaultValue; - int xmlLoadExtDtdDefaultValue; - int xmlParserDebugEntities; - int xmlPedanticParserDefaultValue; - - int xmlSaveNoEmptyTags; - int xmlIndentTreeOutput; - const char *xmlTreeIndentString; - - xmlRegisterNodeFunc xmlRegisterNodeDefaultValue; - xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue; - - xmlMallocFunc xmlMallocAtomic; - xmlError xmlLastError; - - xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; - xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; - - void *xmlStructuredErrorContext; -}; - -#ifdef __cplusplus -} -#endif -#include <libxml/threads.h> -#ifdef __cplusplus -extern "C" { -#endif - -XMLPUBFUN void xmlInitializeGlobalState(xmlGlobalStatePtr gs); - -XMLPUBFUN void xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler); - -XMLPUBFUN void xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler); - -XMLPUBFUN xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func); -XMLPUBFUN xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); -XMLPUBFUN xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func); -XMLPUBFUN xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); - -XMLPUBFUN xmlOutputBufferCreateFilenameFunc - xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func); -XMLPUBFUN xmlParserInputBufferCreateFilenameFunc - xmlThrDefParserInputBufferCreateFilenameDefault( - xmlParserInputBufferCreateFilenameFunc func); - -/* - * In general the memory allocation entry points are not kept - * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED - * - xmlMalloc - * - xmlMallocAtomic - * - xmlRealloc - * - xmlMemStrdup - * - xmlFree - */ - -#ifdef LIBXML_THREAD_ALLOC_ENABLED -/** DOC_DISABLE */ - -#ifdef LIBXML_THREAD_ENABLED -XMLPUBFUN xmlMallocFunc * __xmlMalloc(void); -#define xmlMalloc \ -(*(__xmlMalloc())) -#else -XMLPUBVAR xmlMallocFunc xmlMalloc; -#endif - -#ifdef LIBXML_THREAD_ENABLED -XMLPUBFUN xmlMallocFunc * __xmlMallocAtomic(void); -#define xmlMallocAtomic \ -(*(__xmlMallocAtomic())) -#else -XMLPUBVAR xmlMallocFunc xmlMallocAtomic; -#endif - -#ifdef LIBXML_THREAD_ENABLED -XMLPUBFUN xmlReallocFunc * __xmlRealloc(void); -#define xmlRealloc \ -(*(__xmlRealloc())) -#else -XMLPUBVAR xmlReallocFunc xmlRealloc; -#endif - -#ifdef LIBXML_THREAD_ENABLED -XMLPUBFUN xmlFreeFunc * __xmlFree(void); -#define xmlFree \ -(*(__xmlFree())) -#else -XMLPUBVAR xmlFreeFunc xmlFree; -#endif - -#ifdef LIBXML_THREAD_ENABLED -XMLPUBFUN xmlStrdupFunc * __xmlMemStrdup(void); -#define xmlMemStrdup \ -(*(__xmlMemStrdup())) -#else -XMLPUBVAR xmlStrdupFunc xmlMemStrdup; -#endif - -/** DOC_ENABLE */ -#else /* !LIBXML_THREAD_ALLOC_ENABLED */ -XMLPUBVAR xmlMallocFunc xmlMalloc; -XMLPUBVAR xmlMallocFunc xmlMallocAtomic; -XMLPUBVAR xmlReallocFunc xmlRealloc; -XMLPUBVAR xmlFreeFunc xmlFree; -XMLPUBVAR xmlStrdupFunc xmlMemStrdup; -#endif /* LIBXML_THREAD_ALLOC_ENABLED */ - -#ifdef LIBXML_HTML_ENABLED -XML_DEPRECATED -XMLPUBFUN xmlSAXHandlerV1 * __htmlDefaultSAXHandler(void); -#ifdef LIBXML_THREAD_ENABLED -#define htmlDefaultSAXHandler \ -(*(__htmlDefaultSAXHandler())) -#else -XML_DEPRECATED -XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler; -#endif -#endif - -XMLPUBFUN xmlError * __xmlLastError(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlLastError \ -(*(__xmlLastError())) -#else -XMLPUBVAR xmlError xmlLastError; -#endif - -/* - * Everything starting from the line below is - * Automatically generated by build_glob.py. - * Do not modify the previous line. - */ - - -XML_DEPRECATED -XMLPUBFUN int * __oldXMLWDcompatibility(void); -#ifdef LIBXML_THREAD_ENABLED -#define oldXMLWDcompatibility \ -(*(__oldXMLWDcompatibility())) -#else -XML_DEPRECATED -XMLPUBVAR int oldXMLWDcompatibility; -#endif - -XML_DEPRECATED -XMLPUBFUN xmlBufferAllocationScheme * __xmlBufferAllocScheme(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlBufferAllocScheme \ -(*(__xmlBufferAllocScheme())) -#else -XML_DEPRECATED -XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme; -#endif -XML_DEPRECATED -XMLPUBFUN xmlBufferAllocationScheme - xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v); - -XML_DEPRECATED -XMLPUBFUN int * __xmlDefaultBufferSize(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlDefaultBufferSize \ -(*(__xmlDefaultBufferSize())) -#else -XML_DEPRECATED -XMLPUBVAR int xmlDefaultBufferSize; -#endif -XML_DEPRECATED -XMLPUBFUN int xmlThrDefDefaultBufferSize(int v); - -XML_DEPRECATED -XMLPUBFUN xmlSAXHandlerV1 * __xmlDefaultSAXHandler(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlDefaultSAXHandler \ -(*(__xmlDefaultSAXHandler())) -#else -XML_DEPRECATED -XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler; -#endif - -XML_DEPRECATED -XMLPUBFUN xmlSAXLocator * __xmlDefaultSAXLocator(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlDefaultSAXLocator \ -(*(__xmlDefaultSAXLocator())) -#else -XML_DEPRECATED -XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator; -#endif - -XMLPUBFUN int * __xmlDoValidityCheckingDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlDoValidityCheckingDefaultValue \ -(*(__xmlDoValidityCheckingDefaultValue())) -#else -XMLPUBVAR int xmlDoValidityCheckingDefaultValue; -#endif -XMLPUBFUN int xmlThrDefDoValidityCheckingDefaultValue(int v); - -XMLPUBFUN xmlGenericErrorFunc * __xmlGenericError(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlGenericError \ -(*(__xmlGenericError())) -#else -XMLPUBVAR xmlGenericErrorFunc xmlGenericError; -#endif - -XMLPUBFUN xmlStructuredErrorFunc * __xmlStructuredError(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlStructuredError \ -(*(__xmlStructuredError())) -#else -XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError; -#endif - -XMLPUBFUN void * * __xmlGenericErrorContext(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlGenericErrorContext \ -(*(__xmlGenericErrorContext())) -#else -XMLPUBVAR void * xmlGenericErrorContext; -#endif - -XMLPUBFUN void * * __xmlStructuredErrorContext(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlStructuredErrorContext \ -(*(__xmlStructuredErrorContext())) -#else -XMLPUBVAR void * xmlStructuredErrorContext; -#endif - -XMLPUBFUN int * __xmlGetWarningsDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlGetWarningsDefaultValue \ -(*(__xmlGetWarningsDefaultValue())) -#else -XMLPUBVAR int xmlGetWarningsDefaultValue; -#endif -XMLPUBFUN int xmlThrDefGetWarningsDefaultValue(int v); - -XMLPUBFUN int * __xmlIndentTreeOutput(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlIndentTreeOutput \ -(*(__xmlIndentTreeOutput())) -#else -XMLPUBVAR int xmlIndentTreeOutput; -#endif -XMLPUBFUN int xmlThrDefIndentTreeOutput(int v); - -XMLPUBFUN const char * * __xmlTreeIndentString(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlTreeIndentString \ -(*(__xmlTreeIndentString())) -#else -XMLPUBVAR const char * xmlTreeIndentString; -#endif -XMLPUBFUN const char * xmlThrDefTreeIndentString(const char * v); - -XMLPUBFUN int * __xmlKeepBlanksDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlKeepBlanksDefaultValue \ -(*(__xmlKeepBlanksDefaultValue())) -#else -XMLPUBVAR int xmlKeepBlanksDefaultValue; -#endif -XMLPUBFUN int xmlThrDefKeepBlanksDefaultValue(int v); - -XML_DEPRECATED -XMLPUBFUN int * __xmlLineNumbersDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlLineNumbersDefaultValue \ -(*(__xmlLineNumbersDefaultValue())) -#else -XML_DEPRECATED -XMLPUBVAR int xmlLineNumbersDefaultValue; -#endif -XML_DEPRECATED -XMLPUBFUN int xmlThrDefLineNumbersDefaultValue(int v); - -XMLPUBFUN int * __xmlLoadExtDtdDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlLoadExtDtdDefaultValue \ -(*(__xmlLoadExtDtdDefaultValue())) -#else -XMLPUBVAR int xmlLoadExtDtdDefaultValue; -#endif -XMLPUBFUN int xmlThrDefLoadExtDtdDefaultValue(int v); - -XMLPUBFUN int * __xmlParserDebugEntities(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlParserDebugEntities \ -(*(__xmlParserDebugEntities())) -#else -XMLPUBVAR int xmlParserDebugEntities; -#endif -XMLPUBFUN int xmlThrDefParserDebugEntities(int v); - -XMLPUBFUN const char * * __xmlParserVersion(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlParserVersion \ -(*(__xmlParserVersion())) -#else -XMLPUBVAR const char * xmlParserVersion; -#endif - -XML_DEPRECATED -XMLPUBFUN int * __xmlPedanticParserDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlPedanticParserDefaultValue \ -(*(__xmlPedanticParserDefaultValue())) -#else -XML_DEPRECATED -XMLPUBVAR int xmlPedanticParserDefaultValue; -#endif -XML_DEPRECATED -XMLPUBFUN int xmlThrDefPedanticParserDefaultValue(int v); - -XMLPUBFUN int * __xmlSaveNoEmptyTags(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlSaveNoEmptyTags \ -(*(__xmlSaveNoEmptyTags())) -#else -XMLPUBVAR int xmlSaveNoEmptyTags; -#endif -XMLPUBFUN int xmlThrDefSaveNoEmptyTags(int v); - -XMLPUBFUN int * __xmlSubstituteEntitiesDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlSubstituteEntitiesDefaultValue \ -(*(__xmlSubstituteEntitiesDefaultValue())) -#else -XMLPUBVAR int xmlSubstituteEntitiesDefaultValue; -#endif -XMLPUBFUN int xmlThrDefSubstituteEntitiesDefaultValue(int v); - -XML_DEPRECATED -XMLPUBFUN xmlRegisterNodeFunc * __xmlRegisterNodeDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlRegisterNodeDefaultValue \ -(*(__xmlRegisterNodeDefaultValue())) -#else -XML_DEPRECATED -XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue; -#endif - -XML_DEPRECATED -XMLPUBFUN xmlDeregisterNodeFunc * __xmlDeregisterNodeDefaultValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlDeregisterNodeDefaultValue \ -(*(__xmlDeregisterNodeDefaultValue())) -#else -XML_DEPRECATED -XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue; -#endif - -XML_DEPRECATED -XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * \ - __xmlParserInputBufferCreateFilenameValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlParserInputBufferCreateFilenameValue \ -(*(__xmlParserInputBufferCreateFilenameValue())) -#else -XML_DEPRECATED -XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; -#endif - -XML_DEPRECATED -XMLPUBFUN xmlOutputBufferCreateFilenameFunc * __xmlOutputBufferCreateFilenameValue(void); -#ifdef LIBXML_THREAD_ENABLED -#define xmlOutputBufferCreateFilenameValue \ -(*(__xmlOutputBufferCreateFilenameValue())) -#else -XML_DEPRECATED -XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_GLOBALS_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/hash.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/hash.h deleted file mode 100644 index 1dac035..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/hash.h +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Summary: Chained hash tables - * Description: This module implements the hash table support used in - * various places in the library. - * - * Copy: See Copyright for the status of this software. - * - * Author: Bjorn Reese <bjorn.reese@systematic.dk> - */ - -#ifndef __XML_HASH_H__ -#define __XML_HASH_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The hash table. - */ -typedef struct _xmlHashTable xmlHashTable; -typedef xmlHashTable *xmlHashTablePtr; - -#ifdef __cplusplus -} -#endif - -#include <libxml/xmlversion.h> -#include <libxml/parser.h> -#include <libxml/dict.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Recent version of gcc produce a warning when a function pointer is assigned - * to an object pointer, or vice versa. The following macro is a dirty hack - * to allow suppression of the warning. If your architecture has function - * pointers which are a different size than a void pointer, there may be some - * serious trouble within the library. - */ -/** - * XML_CAST_FPTR: - * @fptr: pointer to a function - * - * Macro to do a casting from an object pointer to a - * function pointer without encountering a warning from - * gcc - * - * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) - * This macro violated ISO C aliasing rules (gcc4 on s390 broke) - * so it is disabled now - */ - -#define XML_CAST_FPTR(fptr) fptr - - -/* - * function types: - */ -/** - * xmlHashDeallocator: - * @payload: the data in the hash - * @name: the name associated - * - * Callback to free data from a hash. - */ -typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name); -/** - * xmlHashCopier: - * @payload: the data in the hash - * @name: the name associated - * - * Callback to copy data from a hash. - * - * Returns a copy of the data or NULL in case of error. - */ -typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name); -/** - * xmlHashScanner: - * @payload: the data in the hash - * @data: extra scanner data - * @name: the name associated - * - * Callback when scanning data in a hash with the simple scanner. - */ -typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name); -/** - * xmlHashScannerFull: - * @payload: the data in the hash - * @data: extra scanner data - * @name: the name associated - * @name2: the second name associated - * @name3: the third name associated - * - * Callback when scanning data in a hash with the full scanner. - */ -typedef void (*xmlHashScannerFull)(void *payload, void *data, - const xmlChar *name, const xmlChar *name2, - const xmlChar *name3); - -/* - * Constructor and destructor. - */ -XMLPUBFUN xmlHashTablePtr - xmlHashCreate (int size); -XMLPUBFUN xmlHashTablePtr - xmlHashCreateDict(int size, - xmlDictPtr dict); -XMLPUBFUN void - xmlHashFree (xmlHashTablePtr table, - xmlHashDeallocator f); -XMLPUBFUN void - xmlHashDefaultDeallocator(void *entry, - const xmlChar *name); - -/* - * Add a new entry to the hash table. - */ -XMLPUBFUN int - xmlHashAddEntry (xmlHashTablePtr table, - const xmlChar *name, - void *userdata); -XMLPUBFUN int - xmlHashUpdateEntry(xmlHashTablePtr table, - const xmlChar *name, - void *userdata, - xmlHashDeallocator f); -XMLPUBFUN int - xmlHashAddEntry2(xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - void *userdata); -XMLPUBFUN int - xmlHashUpdateEntry2(xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - void *userdata, - xmlHashDeallocator f); -XMLPUBFUN int - xmlHashAddEntry3(xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - const xmlChar *name3, - void *userdata); -XMLPUBFUN int - xmlHashUpdateEntry3(xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - const xmlChar *name3, - void *userdata, - xmlHashDeallocator f); - -/* - * Remove an entry from the hash table. - */ -XMLPUBFUN int - xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name, - xmlHashDeallocator f); -XMLPUBFUN int - xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name, - const xmlChar *name2, xmlHashDeallocator f); -XMLPUBFUN int - xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name, - const xmlChar *name2, const xmlChar *name3, - xmlHashDeallocator f); - -/* - * Retrieve the userdata. - */ -XMLPUBFUN void * - xmlHashLookup (xmlHashTablePtr table, - const xmlChar *name); -XMLPUBFUN void * - xmlHashLookup2 (xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2); -XMLPUBFUN void * - xmlHashLookup3 (xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - const xmlChar *name3); -XMLPUBFUN void * - xmlHashQLookup (xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *prefix); -XMLPUBFUN void * - xmlHashQLookup2 (xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *prefix, - const xmlChar *name2, - const xmlChar *prefix2); -XMLPUBFUN void * - xmlHashQLookup3 (xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *prefix, - const xmlChar *name2, - const xmlChar *prefix2, - const xmlChar *name3, - const xmlChar *prefix3); - -/* - * Helpers. - */ -XMLPUBFUN xmlHashTablePtr - xmlHashCopy (xmlHashTablePtr table, - xmlHashCopier f); -XMLPUBFUN int - xmlHashSize (xmlHashTablePtr table); -XMLPUBFUN void - xmlHashScan (xmlHashTablePtr table, - xmlHashScanner f, - void *data); -XMLPUBFUN void - xmlHashScan3 (xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - const xmlChar *name3, - xmlHashScanner f, - void *data); -XMLPUBFUN void - xmlHashScanFull (xmlHashTablePtr table, - xmlHashScannerFull f, - void *data); -XMLPUBFUN void - xmlHashScanFull3(xmlHashTablePtr table, - const xmlChar *name, - const xmlChar *name2, - const xmlChar *name3, - xmlHashScannerFull f, - void *data); -#ifdef __cplusplus -} -#endif -#endif /* ! __XML_HASH_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/list.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/list.h deleted file mode 100644 index 5eab8f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/list.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Summary: lists interfaces - * Description: this module implement the list support used in - * various place in the library. - * - * Copy: See Copyright for the status of this software. - * - * Author: Gary Pennington <Gary.Pennington@uk.sun.com> - */ - -#ifndef __XML_LINK_INCLUDE__ -#define __XML_LINK_INCLUDE__ - -#include <libxml/xmlversion.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct _xmlLink xmlLink; -typedef xmlLink *xmlLinkPtr; - -typedef struct _xmlList xmlList; -typedef xmlList *xmlListPtr; - -/** - * xmlListDeallocator: - * @lk: the data to deallocate - * - * Callback function used to free data from a list. - */ -typedef void (*xmlListDeallocator) (xmlLinkPtr lk); -/** - * xmlListDataCompare: - * @data0: the first data - * @data1: the second data - * - * Callback function used to compare 2 data. - * - * Returns 0 is equality, -1 or 1 otherwise depending on the ordering. - */ -typedef int (*xmlListDataCompare) (const void *data0, const void *data1); -/** - * xmlListWalker: - * @data: the data found in the list - * @user: extra user provided data to the walker - * - * Callback function used when walking a list with xmlListWalk(). - * - * Returns 0 to stop walking the list, 1 otherwise. - */ -typedef int (*xmlListWalker) (const void *data, void *user); - -/* Creation/Deletion */ -XMLPUBFUN xmlListPtr - xmlListCreate (xmlListDeallocator deallocator, - xmlListDataCompare compare); -XMLPUBFUN void - xmlListDelete (xmlListPtr l); - -/* Basic Operators */ -XMLPUBFUN void * - xmlListSearch (xmlListPtr l, - void *data); -XMLPUBFUN void * - xmlListReverseSearch (xmlListPtr l, - void *data); -XMLPUBFUN int - xmlListInsert (xmlListPtr l, - void *data) ; -XMLPUBFUN int - xmlListAppend (xmlListPtr l, - void *data) ; -XMLPUBFUN int - xmlListRemoveFirst (xmlListPtr l, - void *data); -XMLPUBFUN int - xmlListRemoveLast (xmlListPtr l, - void *data); -XMLPUBFUN int - xmlListRemoveAll (xmlListPtr l, - void *data); -XMLPUBFUN void - xmlListClear (xmlListPtr l); -XMLPUBFUN int - xmlListEmpty (xmlListPtr l); -XMLPUBFUN xmlLinkPtr - xmlListFront (xmlListPtr l); -XMLPUBFUN xmlLinkPtr - xmlListEnd (xmlListPtr l); -XMLPUBFUN int - xmlListSize (xmlListPtr l); - -XMLPUBFUN void - xmlListPopFront (xmlListPtr l); -XMLPUBFUN void - xmlListPopBack (xmlListPtr l); -XMLPUBFUN int - xmlListPushFront (xmlListPtr l, - void *data); -XMLPUBFUN int - xmlListPushBack (xmlListPtr l, - void *data); - -/* Advanced Operators */ -XMLPUBFUN void - xmlListReverse (xmlListPtr l); -XMLPUBFUN void - xmlListSort (xmlListPtr l); -XMLPUBFUN void - xmlListWalk (xmlListPtr l, - xmlListWalker walker, - void *user); -XMLPUBFUN void - xmlListReverseWalk (xmlListPtr l, - xmlListWalker walker, - void *user); -XMLPUBFUN void - xmlListMerge (xmlListPtr l1, - xmlListPtr l2); -XMLPUBFUN xmlListPtr - xmlListDup (const xmlListPtr old); -XMLPUBFUN int - xmlListCopy (xmlListPtr cur, - const xmlListPtr old); -/* Link operators */ -XMLPUBFUN void * - xmlLinkGetData (xmlLinkPtr lk); - -/* xmlListUnique() */ -/* xmlListSwap */ - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_LINK_INCLUDE__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/nanoftp.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/nanoftp.h deleted file mode 100644 index 87a22aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/nanoftp.h +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Summary: minimal FTP implementation - * Description: minimal FTP implementation allowing to fetch resources - * like external subset. This module is DEPRECATED, do not - * use any of its functions. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __NANO_FTP_H__ -#define __NANO_FTP_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_FTP_ENABLED - -/* Needed for portability to Windows 64 bits */ -#if defined(_WIN32) -#include <winsock2.h> -#else -/** - * SOCKET: - * - * macro used to provide portability of code to windows sockets - */ -#define SOCKET int -/** - * INVALID_SOCKET: - * - * macro used to provide portability of code to windows sockets - * the value to be used when the socket is not valid - */ -#undef INVALID_SOCKET -#define INVALID_SOCKET (-1) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * ftpListCallback: - * @userData: user provided data for the callback - * @filename: the file name (including "->" when links are shown) - * @attrib: the attribute string - * @owner: the owner string - * @group: the group string - * @size: the file size - * @links: the link count - * @year: the year - * @month: the month - * @day: the day - * @hour: the hour - * @minute: the minute - * - * A callback for the xmlNanoFTPList command. - * Note that only one of year and day:minute are specified. - */ -typedef void (*ftpListCallback) (void *userData, - const char *filename, const char *attrib, - const char *owner, const char *group, - unsigned long size, int links, int year, - const char *month, int day, int hour, - int minute); -/** - * ftpDataCallback: - * @userData: the user provided context - * @data: the data received - * @len: its size in bytes - * - * A callback for the xmlNanoFTPGet command. - */ -typedef void (*ftpDataCallback) (void *userData, - const char *data, - int len); - -/* - * Init - */ -XML_DEPRECATED -XMLPUBFUN void - xmlNanoFTPInit (void); -XML_DEPRECATED -XMLPUBFUN void - xmlNanoFTPCleanup (void); - -/* - * Creating/freeing contexts. - */ -XML_DEPRECATED -XMLPUBFUN void * - xmlNanoFTPNewCtxt (const char *URL); -XML_DEPRECATED -XMLPUBFUN void - xmlNanoFTPFreeCtxt (void * ctx); -XML_DEPRECATED -XMLPUBFUN void * - xmlNanoFTPConnectTo (const char *server, - int port); -/* - * Opening/closing session connections. - */ -XML_DEPRECATED -XMLPUBFUN void * - xmlNanoFTPOpen (const char *URL); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPConnect (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPClose (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPQuit (void *ctx); -XML_DEPRECATED -XMLPUBFUN void - xmlNanoFTPScanProxy (const char *URL); -XML_DEPRECATED -XMLPUBFUN void - xmlNanoFTPProxy (const char *host, - int port, - const char *user, - const char *passwd, - int type); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPUpdateURL (void *ctx, - const char *URL); - -/* - * Rather internal commands. - */ -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPGetResponse (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPCheckResponse (void *ctx); - -/* - * CD/DIR/GET handlers. - */ -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPCwd (void *ctx, - const char *directory); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPDele (void *ctx, - const char *file); - -XML_DEPRECATED -XMLPUBFUN SOCKET - xmlNanoFTPGetConnection (void *ctx); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPCloseConnection(void *ctx); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPList (void *ctx, - ftpListCallback callback, - void *userData, - const char *filename); -XML_DEPRECATED -XMLPUBFUN SOCKET - xmlNanoFTPGetSocket (void *ctx, - const char *filename); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPGet (void *ctx, - ftpDataCallback callback, - void *userData, - const char *filename); -XML_DEPRECATED -XMLPUBFUN int - xmlNanoFTPRead (void *ctx, - void *dest, - int len); - -#ifdef __cplusplus -} -#endif -#endif /* LIBXML_FTP_ENABLED */ -#endif /* __NANO_FTP_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/nanohttp.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/nanohttp.h deleted file mode 100644 index 3b5e037..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/nanohttp.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Summary: minimal HTTP implementation - * Description: minimal HTTP implementation allowing to fetch resources - * like external subset. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __NANO_HTTP_H__ -#define __NANO_HTTP_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_HTTP_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif -XMLPUBFUN void - xmlNanoHTTPInit (void); -XMLPUBFUN void - xmlNanoHTTPCleanup (void); -XMLPUBFUN void - xmlNanoHTTPScanProxy (const char *URL); -XMLPUBFUN int - xmlNanoHTTPFetch (const char *URL, - const char *filename, - char **contentType); -XMLPUBFUN void * - xmlNanoHTTPMethod (const char *URL, - const char *method, - const char *input, - char **contentType, - const char *headers, - int ilen); -XMLPUBFUN void * - xmlNanoHTTPMethodRedir (const char *URL, - const char *method, - const char *input, - char **contentType, - char **redir, - const char *headers, - int ilen); -XMLPUBFUN void * - xmlNanoHTTPOpen (const char *URL, - char **contentType); -XMLPUBFUN void * - xmlNanoHTTPOpenRedir (const char *URL, - char **contentType, - char **redir); -XMLPUBFUN int - xmlNanoHTTPReturnCode (void *ctx); -XMLPUBFUN const char * - xmlNanoHTTPAuthHeader (void *ctx); -XMLPUBFUN const char * - xmlNanoHTTPRedir (void *ctx); -XMLPUBFUN int - xmlNanoHTTPContentLength( void * ctx ); -XMLPUBFUN const char * - xmlNanoHTTPEncoding (void *ctx); -XMLPUBFUN const char * - xmlNanoHTTPMimeType (void *ctx); -XMLPUBFUN int - xmlNanoHTTPRead (void *ctx, - void *dest, - int len); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN int - xmlNanoHTTPSave (void *ctxt, - const char *filename); -#endif /* LIBXML_OUTPUT_ENABLED */ -XMLPUBFUN void - xmlNanoHTTPClose (void *ctx); -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_HTTP_ENABLED */ -#endif /* __NANO_HTTP_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/parser.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/parser.h deleted file mode 100644 index 950ebe3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/parser.h +++ /dev/null @@ -1,1265 +0,0 @@ -/* - * Summary: the core parser module - * Description: Interfaces, constants and types related to the XML parser - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_PARSER_H__ -#define __XML_PARSER_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> -#include <libxml/dict.h> -#include <libxml/hash.h> -#include <libxml/valid.h> -#include <libxml/entities.h> -#include <libxml/xmlerror.h> -#include <libxml/xmlstring.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XML_DEFAULT_VERSION: - * - * The default version of XML used: 1.0 - */ -#define XML_DEFAULT_VERSION "1.0" - -/** - * xmlParserInput: - * - * An xmlParserInput is an input flow for the XML processor. - * Each entity parsed is associated an xmlParserInput (except the - * few predefined ones). This is the case both for internal entities - * - in which case the flow is already completely in memory - or - * external entities - in which case we use the buf structure for - * progressive reading and I18N conversions to the internal UTF-8 format. - */ - -/** - * xmlParserInputDeallocate: - * @str: the string to deallocate - * - * Callback for freeing some parser input allocations. - */ -typedef void (* xmlParserInputDeallocate)(xmlChar *str); - -struct _xmlParserInput { - /* Input buffer */ - xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */ - - const char *filename; /* The file analyzed, if any */ - const char *directory; /* the directory/base of the file */ - const xmlChar *base; /* Base of the array to parse */ - const xmlChar *cur; /* Current char being parsed */ - const xmlChar *end; /* end of the array to parse */ - int length; /* length if known */ - int line; /* Current line */ - int col; /* Current column */ - unsigned long consumed; /* How many xmlChars already consumed */ - xmlParserInputDeallocate free; /* function to deallocate the base */ - const xmlChar *encoding; /* the encoding string for entity */ - const xmlChar *version; /* the version string for entity */ - int standalone; /* Was that entity marked standalone */ - int id; /* an unique identifier for the entity */ - unsigned long parentConsumed; /* consumed bytes from parents */ - xmlEntityPtr entity; /* entity, if any */ -}; - -/** - * xmlParserNodeInfo: - * - * The parser can be asked to collect Node information, i.e. at what - * place in the file they were detected. - * NOTE: This is off by default and not very well tested. - */ -typedef struct _xmlParserNodeInfo xmlParserNodeInfo; -typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; - -struct _xmlParserNodeInfo { - const struct _xmlNode* node; - /* Position & line # that text that created the node begins & ends on */ - unsigned long begin_pos; - unsigned long begin_line; - unsigned long end_pos; - unsigned long end_line; -}; - -typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; -typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; -struct _xmlParserNodeInfoSeq { - unsigned long maximum; - unsigned long length; - xmlParserNodeInfo* buffer; -}; - -/** - * xmlParserInputState: - * - * The parser is now working also as a state based parser. - * The recursive one use the state info for entities processing. - */ -typedef enum { - XML_PARSER_EOF = -1, /* nothing is to be parsed */ - XML_PARSER_START = 0, /* nothing has been parsed */ - XML_PARSER_MISC, /* Misc* before int subset */ - XML_PARSER_PI, /* Within a processing instruction */ - XML_PARSER_DTD, /* within some DTD content */ - XML_PARSER_PROLOG, /* Misc* after internal subset */ - XML_PARSER_COMMENT, /* within a comment */ - XML_PARSER_START_TAG, /* within a start tag */ - XML_PARSER_CONTENT, /* within the content */ - XML_PARSER_CDATA_SECTION, /* within a CDATA section */ - XML_PARSER_END_TAG, /* within a closing tag */ - XML_PARSER_ENTITY_DECL, /* within an entity declaration */ - XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ - XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ - XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ - XML_PARSER_EPILOG, /* the Misc* after the last end tag */ - XML_PARSER_IGNORE, /* within an IGNORED section */ - XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */ -} xmlParserInputState; - -/** - * XML_DETECT_IDS: - * - * Bit in the loadsubset context field to tell to do ID/REFs lookups. - * Use it to initialize xmlLoadExtDtdDefaultValue. - */ -#define XML_DETECT_IDS 2 - -/** - * XML_COMPLETE_ATTRS: - * - * Bit in the loadsubset context field to tell to do complete the - * elements attributes lists with the ones defaulted from the DTDs. - * Use it to initialize xmlLoadExtDtdDefaultValue. - */ -#define XML_COMPLETE_ATTRS 4 - -/** - * XML_SKIP_IDS: - * - * Bit in the loadsubset context field to tell to not do ID/REFs registration. - * Used to initialize xmlLoadExtDtdDefaultValue in some special cases. - */ -#define XML_SKIP_IDS 8 - -/** - * xmlParserMode: - * - * A parser can operate in various modes - */ -typedef enum { - XML_PARSE_UNKNOWN = 0, - XML_PARSE_DOM = 1, - XML_PARSE_SAX = 2, - XML_PARSE_PUSH_DOM = 3, - XML_PARSE_PUSH_SAX = 4, - XML_PARSE_READER = 5 -} xmlParserMode; - -typedef struct _xmlStartTag xmlStartTag; - -/** - * xmlParserCtxt: - * - * The parser context. - * NOTE This doesn't completely define the parser state, the (current ?) - * design of the parser uses recursive function calls since this allow - * and easy mapping from the production rules of the specification - * to the actual code. The drawback is that the actual function call - * also reflect the parser state. However most of the parsing routines - * takes as the only argument the parser context pointer, so migrating - * to a state based parser for progressive parsing shouldn't be too hard. - */ -struct _xmlParserCtxt { - struct _xmlSAXHandler *sax; /* The SAX handler */ - void *userData; /* For SAX interface only, used by DOM build */ - xmlDocPtr myDoc; /* the document being built */ - int wellFormed; /* is the document well formed */ - int replaceEntities; /* shall we replace entities ? */ - const xmlChar *version; /* the XML version string */ - const xmlChar *encoding; /* the declared encoding, if any */ - int standalone; /* standalone document */ - int html; /* an HTML(1) document - * 3 is HTML after <head> - * 10 is HTML after <body> - */ - - /* Input stream stack */ - xmlParserInputPtr input; /* Current input stream */ - int inputNr; /* Number of current input streams */ - int inputMax; /* Max number of input streams */ - xmlParserInputPtr *inputTab; /* stack of inputs */ - - /* Node analysis stack only used for DOM building */ - xmlNodePtr node; /* Current parsed Node */ - int nodeNr; /* Depth of the parsing stack */ - int nodeMax; /* Max depth of the parsing stack */ - xmlNodePtr *nodeTab; /* array of nodes */ - - int record_info; /* Whether node info should be kept */ - xmlParserNodeInfoSeq node_seq; /* info about each node parsed */ - - int errNo; /* error code */ - - int hasExternalSubset; /* reference and external subset */ - int hasPErefs; /* the internal subset has PE refs */ - int external; /* are we parsing an external entity */ - - int valid; /* is the document valid */ - int validate; /* shall we try to validate ? */ - xmlValidCtxt vctxt; /* The validity context */ - - xmlParserInputState instate; /* current type of input */ - int token; /* next char look-ahead */ - - char *directory; /* the data directory */ - - /* Node name stack */ - const xmlChar *name; /* Current parsed Node */ - int nameNr; /* Depth of the parsing stack */ - int nameMax; /* Max depth of the parsing stack */ - const xmlChar * *nameTab; /* array of nodes */ - - long nbChars; /* unused */ - long checkIndex; /* used by progressive parsing lookup */ - int keepBlanks; /* ugly but ... */ - int disableSAX; /* SAX callbacks are disabled */ - int inSubset; /* Parsing is in int 1/ext 2 subset */ - const xmlChar * intSubName; /* name of subset */ - xmlChar * extSubURI; /* URI of external subset */ - xmlChar * extSubSystem; /* SYSTEM ID of external subset */ - - /* xml:space values */ - int * space; /* Should the parser preserve spaces */ - int spaceNr; /* Depth of the parsing stack */ - int spaceMax; /* Max depth of the parsing stack */ - int * spaceTab; /* array of space infos */ - - int depth; /* to prevent entity substitution loops */ - xmlParserInputPtr entity; /* used to check entities boundaries */ - int charset; /* encoding of the in-memory content - actually an xmlCharEncoding */ - int nodelen; /* Those two fields are there to */ - int nodemem; /* Speed up large node parsing */ - int pedantic; /* signal pedantic warnings */ - void *_private; /* For user data, libxml won't touch it */ - - int loadsubset; /* should the external subset be loaded */ - int linenumbers; /* set line number in element content */ - void *catalogs; /* document's own catalog */ - int recovery; /* run in recovery mode */ - int progressive; /* is this a progressive parsing */ - xmlDictPtr dict; /* dictionary for the parser */ - const xmlChar * *atts; /* array for the attributes callbacks */ - int maxatts; /* the size of the array */ - int docdict; /* use strings from dict to build tree */ - - /* - * pre-interned strings - */ - const xmlChar *str_xml; - const xmlChar *str_xmlns; - const xmlChar *str_xml_ns; - - /* - * Everything below is used only by the new SAX mode - */ - int sax2; /* operating in the new SAX mode */ - int nsNr; /* the number of inherited namespaces */ - int nsMax; /* the size of the arrays */ - const xmlChar * *nsTab; /* the array of prefix/namespace name */ - int *attallocs; /* which attribute were allocated */ - xmlStartTag *pushTab; /* array of data for push */ - xmlHashTablePtr attsDefault; /* defaulted attributes if any */ - xmlHashTablePtr attsSpecial; /* non-CDATA attributes if any */ - int nsWellFormed; /* is the document XML Namespace okay */ - int options; /* Extra options */ - - /* - * Those fields are needed only for streaming parsing so far - */ - int dictNames; /* Use dictionary names for the tree */ - int freeElemsNr; /* number of freed element nodes */ - xmlNodePtr freeElems; /* List of freed element nodes */ - int freeAttrsNr; /* number of freed attributes nodes */ - xmlAttrPtr freeAttrs; /* List of freed attributes nodes */ - - /* - * the complete error information for the last error. - */ - xmlError lastError; - xmlParserMode parseMode; /* the parser mode */ - unsigned long nbentities; /* unused */ - unsigned long sizeentities; /* size of parsed entities */ - - /* for use by HTML non-recursive parser */ - xmlParserNodeInfo *nodeInfo; /* Current NodeInfo */ - int nodeInfoNr; /* Depth of the parsing stack */ - int nodeInfoMax; /* Max depth of the parsing stack */ - xmlParserNodeInfo *nodeInfoTab; /* array of nodeInfos */ - - int input_id; /* we need to label inputs */ - unsigned long sizeentcopy; /* volume of entity copy */ - - int endCheckState; /* quote state for push parser */ - unsigned short nbErrors; /* number of errors */ - unsigned short nbWarnings; /* number of warnings */ -}; - -/** - * xmlSAXLocator: - * - * A SAX Locator. - */ -struct _xmlSAXLocator { - const xmlChar *(*getPublicId)(void *ctx); - const xmlChar *(*getSystemId)(void *ctx); - int (*getLineNumber)(void *ctx); - int (*getColumnNumber)(void *ctx); -}; - -/** - * xmlSAXHandler: - * - * A SAX handler is bunch of callbacks called by the parser when processing - * of the input generate data or structure information. - */ - -/** - * resolveEntitySAXFunc: - * @ctx: the user data (XML parser context) - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * Callback: - * The entity loader, to control the loading of external entities, - * the application can either: - * - override this resolveEntity() callback in the SAX block - * - or better use the xmlSetExternalEntityLoader() function to - * set up it's own entity resolution routine - * - * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. - */ -typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx, - const xmlChar *publicId, - const xmlChar *systemId); -/** - * internalSubsetSAXFunc: - * @ctx: the user data (XML parser context) - * @name: the root element name - * @ExternalID: the external ID - * @SystemID: the SYSTEM ID (e.g. filename or URL) - * - * Callback on internal subset declaration. - */ -typedef void (*internalSubsetSAXFunc) (void *ctx, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -/** - * externalSubsetSAXFunc: - * @ctx: the user data (XML parser context) - * @name: the root element name - * @ExternalID: the external ID - * @SystemID: the SYSTEM ID (e.g. filename or URL) - * - * Callback on external subset declaration. - */ -typedef void (*externalSubsetSAXFunc) (void *ctx, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -/** - * getEntitySAXFunc: - * @ctx: the user data (XML parser context) - * @name: The entity name - * - * Get an entity by name. - * - * Returns the xmlEntityPtr if found. - */ -typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx, - const xmlChar *name); -/** - * getParameterEntitySAXFunc: - * @ctx: the user data (XML parser context) - * @name: The entity name - * - * Get a parameter entity by name. - * - * Returns the xmlEntityPtr if found. - */ -typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx, - const xmlChar *name); -/** - * entityDeclSAXFunc: - * @ctx: the user data (XML parser context) - * @name: the entity name - * @type: the entity type - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @content: the entity value (without processing). - * - * An entity definition has been parsed. - */ -typedef void (*entityDeclSAXFunc) (void *ctx, - const xmlChar *name, - int type, - const xmlChar *publicId, - const xmlChar *systemId, - xmlChar *content); -/** - * notationDeclSAXFunc: - * @ctx: the user data (XML parser context) - * @name: The name of the notation - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * - * What to do when a notation declaration has been parsed. - */ -typedef void (*notationDeclSAXFunc)(void *ctx, - const xmlChar *name, - const xmlChar *publicId, - const xmlChar *systemId); -/** - * attributeDeclSAXFunc: - * @ctx: the user data (XML parser context) - * @elem: the name of the element - * @fullname: the attribute name - * @type: the attribute type - * @def: the type of default value - * @defaultValue: the attribute default value - * @tree: the tree of enumerated value set - * - * An attribute definition has been parsed. - */ -typedef void (*attributeDeclSAXFunc)(void *ctx, - const xmlChar *elem, - const xmlChar *fullname, - int type, - int def, - const xmlChar *defaultValue, - xmlEnumerationPtr tree); -/** - * elementDeclSAXFunc: - * @ctx: the user data (XML parser context) - * @name: the element name - * @type: the element type - * @content: the element value tree - * - * An element definition has been parsed. - */ -typedef void (*elementDeclSAXFunc)(void *ctx, - const xmlChar *name, - int type, - xmlElementContentPtr content); -/** - * unparsedEntityDeclSAXFunc: - * @ctx: the user data (XML parser context) - * @name: The name of the entity - * @publicId: The public ID of the entity - * @systemId: The system ID of the entity - * @notationName: the name of the notation - * - * What to do when an unparsed entity declaration is parsed. - */ -typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, - const xmlChar *name, - const xmlChar *publicId, - const xmlChar *systemId, - const xmlChar *notationName); -/** - * setDocumentLocatorSAXFunc: - * @ctx: the user data (XML parser context) - * @loc: A SAX Locator - * - * Receive the document locator at startup, actually xmlDefaultSAXLocator. - * Everything is available on the context, so this is useless in our case. - */ -typedef void (*setDocumentLocatorSAXFunc) (void *ctx, - xmlSAXLocatorPtr loc); -/** - * startDocumentSAXFunc: - * @ctx: the user data (XML parser context) - * - * Called when the document start being processed. - */ -typedef void (*startDocumentSAXFunc) (void *ctx); -/** - * endDocumentSAXFunc: - * @ctx: the user data (XML parser context) - * - * Called when the document end has been detected. - */ -typedef void (*endDocumentSAXFunc) (void *ctx); -/** - * startElementSAXFunc: - * @ctx: the user data (XML parser context) - * @name: The element name, including namespace prefix - * @atts: An array of name/value attributes pairs, NULL terminated - * - * Called when an opening tag has been processed. - */ -typedef void (*startElementSAXFunc) (void *ctx, - const xmlChar *name, - const xmlChar **atts); -/** - * endElementSAXFunc: - * @ctx: the user data (XML parser context) - * @name: The element name - * - * Called when the end of an element has been detected. - */ -typedef void (*endElementSAXFunc) (void *ctx, - const xmlChar *name); -/** - * attributeSAXFunc: - * @ctx: the user data (XML parser context) - * @name: The attribute name, including namespace prefix - * @value: The attribute value - * - * Handle an attribute that has been read by the parser. - * The default handling is to convert the attribute into an - * DOM subtree and past it in a new xmlAttr element added to - * the element. - */ -typedef void (*attributeSAXFunc) (void *ctx, - const xmlChar *name, - const xmlChar *value); -/** - * referenceSAXFunc: - * @ctx: the user data (XML parser context) - * @name: The entity name - * - * Called when an entity reference is detected. - */ -typedef void (*referenceSAXFunc) (void *ctx, - const xmlChar *name); -/** - * charactersSAXFunc: - * @ctx: the user data (XML parser context) - * @ch: a xmlChar string - * @len: the number of xmlChar - * - * Receiving some chars from the parser. - */ -typedef void (*charactersSAXFunc) (void *ctx, - const xmlChar *ch, - int len); -/** - * ignorableWhitespaceSAXFunc: - * @ctx: the user data (XML parser context) - * @ch: a xmlChar string - * @len: the number of xmlChar - * - * Receiving some ignorable whitespaces from the parser. - * UNUSED: by default the DOM building will use characters. - */ -typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, - const xmlChar *ch, - int len); -/** - * processingInstructionSAXFunc: - * @ctx: the user data (XML parser context) - * @target: the target name - * @data: the PI data's - * - * A processing instruction has been parsed. - */ -typedef void (*processingInstructionSAXFunc) (void *ctx, - const xmlChar *target, - const xmlChar *data); -/** - * commentSAXFunc: - * @ctx: the user data (XML parser context) - * @value: the comment content - * - * A comment has been parsed. - */ -typedef void (*commentSAXFunc) (void *ctx, - const xmlChar *value); -/** - * cdataBlockSAXFunc: - * @ctx: the user data (XML parser context) - * @value: The pcdata content - * @len: the block length - * - * Called when a pcdata block has been parsed. - */ -typedef void (*cdataBlockSAXFunc) ( - void *ctx, - const xmlChar *value, - int len); -/** - * warningSAXFunc: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format a warning messages, callback. - */ -typedef void (*warningSAXFunc) (void *ctx, - const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); -/** - * errorSAXFunc: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format an error messages, callback. - */ -typedef void (*errorSAXFunc) (void *ctx, - const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); -/** - * fatalErrorSAXFunc: - * @ctx: an XML parser context - * @msg: the message to display/transmit - * @...: extra parameters for the message display - * - * Display and format fatal error messages, callback. - * Note: so far fatalError() SAX callbacks are not used, error() - * get all the callbacks for errors. - */ -typedef void (*fatalErrorSAXFunc) (void *ctx, - const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); -/** - * isStandaloneSAXFunc: - * @ctx: the user data (XML parser context) - * - * Is this document tagged standalone? - * - * Returns 1 if true - */ -typedef int (*isStandaloneSAXFunc) (void *ctx); -/** - * hasInternalSubsetSAXFunc: - * @ctx: the user data (XML parser context) - * - * Does this document has an internal subset. - * - * Returns 1 if true - */ -typedef int (*hasInternalSubsetSAXFunc) (void *ctx); - -/** - * hasExternalSubsetSAXFunc: - * @ctx: the user data (XML parser context) - * - * Does this document has an external subset? - * - * Returns 1 if true - */ -typedef int (*hasExternalSubsetSAXFunc) (void *ctx); - -/************************************************************************ - * * - * The SAX version 2 API extensions * - * * - ************************************************************************/ -/** - * XML_SAX2_MAGIC: - * - * Special constant found in SAX2 blocks initialized fields - */ -#define XML_SAX2_MAGIC 0xDEEDBEAF - -/** - * startElementNsSAX2Func: - * @ctx: the user data (XML parser context) - * @localname: the local name of the element - * @prefix: the element namespace prefix if available - * @URI: the element namespace name if available - * @nb_namespaces: number of namespace definitions on that node - * @namespaces: pointer to the array of prefix/URI pairs namespace definitions - * @nb_attributes: the number of attributes on that node - * @nb_defaulted: the number of defaulted attributes. The defaulted - * ones are at the end of the array - * @attributes: pointer to the array of (localname/prefix/URI/value/end) - * attribute values. - * - * SAX2 callback when an element start has been detected by the parser. - * It provides the namespace information for the element, as well as - * the new namespace declarations on the element. - */ - -typedef void (*startElementNsSAX2Func) (void *ctx, - const xmlChar *localname, - const xmlChar *prefix, - const xmlChar *URI, - int nb_namespaces, - const xmlChar **namespaces, - int nb_attributes, - int nb_defaulted, - const xmlChar **attributes); - -/** - * endElementNsSAX2Func: - * @ctx: the user data (XML parser context) - * @localname: the local name of the element - * @prefix: the element namespace prefix if available - * @URI: the element namespace name if available - * - * SAX2 callback when an element end has been detected by the parser. - * It provides the namespace information for the element. - */ - -typedef void (*endElementNsSAX2Func) (void *ctx, - const xmlChar *localname, - const xmlChar *prefix, - const xmlChar *URI); - - -struct _xmlSAXHandler { - internalSubsetSAXFunc internalSubset; - isStandaloneSAXFunc isStandalone; - hasInternalSubsetSAXFunc hasInternalSubset; - hasExternalSubsetSAXFunc hasExternalSubset; - resolveEntitySAXFunc resolveEntity; - getEntitySAXFunc getEntity; - entityDeclSAXFunc entityDecl; - notationDeclSAXFunc notationDecl; - attributeDeclSAXFunc attributeDecl; - elementDeclSAXFunc elementDecl; - unparsedEntityDeclSAXFunc unparsedEntityDecl; - setDocumentLocatorSAXFunc setDocumentLocator; - startDocumentSAXFunc startDocument; - endDocumentSAXFunc endDocument; - startElementSAXFunc startElement; - endElementSAXFunc endElement; - referenceSAXFunc reference; - charactersSAXFunc characters; - ignorableWhitespaceSAXFunc ignorableWhitespace; - processingInstructionSAXFunc processingInstruction; - commentSAXFunc comment; - warningSAXFunc warning; - errorSAXFunc error; - fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ - getParameterEntitySAXFunc getParameterEntity; - cdataBlockSAXFunc cdataBlock; - externalSubsetSAXFunc externalSubset; - unsigned int initialized; - /* The following fields are extensions available only on version 2 */ - void *_private; - startElementNsSAX2Func startElementNs; - endElementNsSAX2Func endElementNs; - xmlStructuredErrorFunc serror; -}; - -/* - * SAX Version 1 - */ -typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; -typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; -struct _xmlSAXHandlerV1 { - internalSubsetSAXFunc internalSubset; - isStandaloneSAXFunc isStandalone; - hasInternalSubsetSAXFunc hasInternalSubset; - hasExternalSubsetSAXFunc hasExternalSubset; - resolveEntitySAXFunc resolveEntity; - getEntitySAXFunc getEntity; - entityDeclSAXFunc entityDecl; - notationDeclSAXFunc notationDecl; - attributeDeclSAXFunc attributeDecl; - elementDeclSAXFunc elementDecl; - unparsedEntityDeclSAXFunc unparsedEntityDecl; - setDocumentLocatorSAXFunc setDocumentLocator; - startDocumentSAXFunc startDocument; - endDocumentSAXFunc endDocument; - startElementSAXFunc startElement; - endElementSAXFunc endElement; - referenceSAXFunc reference; - charactersSAXFunc characters; - ignorableWhitespaceSAXFunc ignorableWhitespace; - processingInstructionSAXFunc processingInstruction; - commentSAXFunc comment; - warningSAXFunc warning; - errorSAXFunc error; - fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ - getParameterEntitySAXFunc getParameterEntity; - cdataBlockSAXFunc cdataBlock; - externalSubsetSAXFunc externalSubset; - unsigned int initialized; -}; - - -/** - * xmlExternalEntityLoader: - * @URL: The System ID of the resource requested - * @ID: The Public ID of the resource requested - * @context: the XML parser context - * - * External entity loaders types. - * - * Returns the entity input parser. - */ -typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL, - const char *ID, - xmlParserCtxtPtr context); - -#ifdef __cplusplus -} -#endif - -#include <libxml/encoding.h> -#include <libxml/xmlIO.h> -#include <libxml/globals.h> - -#ifdef __cplusplus -extern "C" { -#endif - - -/* - * Init/Cleanup - */ -XMLPUBFUN void - xmlInitParser (void); -XMLPUBFUN void - xmlCleanupParser (void); - -/* - * Input functions - */ -XML_DEPRECATED -XMLPUBFUN int - xmlParserInputRead (xmlParserInputPtr in, - int len); -XML_DEPRECATED -XMLPUBFUN int - xmlParserInputGrow (xmlParserInputPtr in, - int len); - -/* - * Basic parsing Interfaces - */ -#ifdef LIBXML_SAX1_ENABLED -XMLPUBFUN xmlDocPtr - xmlParseDoc (const xmlChar *cur); -XMLPUBFUN xmlDocPtr - xmlParseFile (const char *filename); -XMLPUBFUN xmlDocPtr - xmlParseMemory (const char *buffer, - int size); -#endif /* LIBXML_SAX1_ENABLED */ -XMLPUBFUN int - xmlSubstituteEntitiesDefault(int val); -XMLPUBFUN int - xmlKeepBlanksDefault (int val); -XMLPUBFUN void - xmlStopParser (xmlParserCtxtPtr ctxt); -XMLPUBFUN int - xmlPedanticParserDefault(int val); -XMLPUBFUN int - xmlLineNumbersDefault (int val); - -#ifdef LIBXML_SAX1_ENABLED -/* - * Recovery mode - */ -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlRecoverDoc (const xmlChar *cur); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlRecoverMemory (const char *buffer, - int size); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlRecoverFile (const char *filename); -#endif /* LIBXML_SAX1_ENABLED */ - -/* - * Less common routines and SAX interfaces - */ -XMLPUBFUN int - xmlParseDocument (xmlParserCtxtPtr ctxt); -XMLPUBFUN int - xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt); -#ifdef LIBXML_SAX1_ENABLED -XML_DEPRECATED -XMLPUBFUN int - xmlSAXUserParseFile (xmlSAXHandlerPtr sax, - void *user_data, - const char *filename); -XML_DEPRECATED -XMLPUBFUN int - xmlSAXUserParseMemory (xmlSAXHandlerPtr sax, - void *user_data, - const char *buffer, - int size); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlSAXParseDoc (xmlSAXHandlerPtr sax, - const xmlChar *cur, - int recovery); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlSAXParseMemory (xmlSAXHandlerPtr sax, - const char *buffer, - int size, - int recovery); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax, - const char *buffer, - int size, - int recovery, - void *data); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlSAXParseFile (xmlSAXHandlerPtr sax, - const char *filename, - int recovery); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlSAXParseFileWithData (xmlSAXHandlerPtr sax, - const char *filename, - int recovery, - void *data); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlSAXParseEntity (xmlSAXHandlerPtr sax, - const char *filename); -XML_DEPRECATED -XMLPUBFUN xmlDocPtr - xmlParseEntity (const char *filename); -#endif /* LIBXML_SAX1_ENABLED */ - -#ifdef LIBXML_VALID_ENABLED -XML_DEPRECATED -XMLPUBFUN xmlDtdPtr - xmlSAXParseDTD (xmlSAXHandlerPtr sax, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XMLPUBFUN xmlDtdPtr - xmlParseDTD (const xmlChar *ExternalID, - const xmlChar *SystemID); -XMLPUBFUN xmlDtdPtr - xmlIOParseDTD (xmlSAXHandlerPtr sax, - xmlParserInputBufferPtr input, - xmlCharEncoding enc); -#endif /* LIBXML_VALID_ENABLE */ -#ifdef LIBXML_SAX1_ENABLED -XMLPUBFUN int - xmlParseBalancedChunkMemory(xmlDocPtr doc, - xmlSAXHandlerPtr sax, - void *user_data, - int depth, - const xmlChar *string, - xmlNodePtr *lst); -#endif /* LIBXML_SAX1_ENABLED */ -XMLPUBFUN xmlParserErrors - xmlParseInNodeContext (xmlNodePtr node, - const char *data, - int datalen, - int options, - xmlNodePtr *lst); -#ifdef LIBXML_SAX1_ENABLED -XMLPUBFUN int - xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, - xmlSAXHandlerPtr sax, - void *user_data, - int depth, - const xmlChar *string, - xmlNodePtr *lst, - int recover); -XML_DEPRECATED -XMLPUBFUN int - xmlParseExternalEntity (xmlDocPtr doc, - xmlSAXHandlerPtr sax, - void *user_data, - int depth, - const xmlChar *URL, - const xmlChar *ID, - xmlNodePtr *lst); -#endif /* LIBXML_SAX1_ENABLED */ -XMLPUBFUN int - xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, - const xmlChar *URL, - const xmlChar *ID, - xmlNodePtr *lst); - -/* - * Parser contexts handling. - */ -XMLPUBFUN xmlParserCtxtPtr - xmlNewParserCtxt (void); -XMLPUBFUN xmlParserCtxtPtr - xmlNewSAXParserCtxt (const xmlSAXHandler *sax, - void *userData); -XMLPUBFUN int - xmlInitParserCtxt (xmlParserCtxtPtr ctxt); -XMLPUBFUN void - xmlClearParserCtxt (xmlParserCtxtPtr ctxt); -XMLPUBFUN void - xmlFreeParserCtxt (xmlParserCtxtPtr ctxt); -#ifdef LIBXML_SAX1_ENABLED -XML_DEPRECATED -XMLPUBFUN void - xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt, - const xmlChar* buffer, - const char *filename); -#endif /* LIBXML_SAX1_ENABLED */ -XMLPUBFUN xmlParserCtxtPtr - xmlCreateDocParserCtxt (const xmlChar *cur); - -#ifdef LIBXML_LEGACY_ENABLED -/* - * Reading/setting optional parsing features. - */ -XML_DEPRECATED -XMLPUBFUN int - xmlGetFeaturesList (int *len, - const char **result); -XML_DEPRECATED -XMLPUBFUN int - xmlGetFeature (xmlParserCtxtPtr ctxt, - const char *name, - void *result); -XML_DEPRECATED -XMLPUBFUN int - xmlSetFeature (xmlParserCtxtPtr ctxt, - const char *name, - void *value); -#endif /* LIBXML_LEGACY_ENABLED */ - -#ifdef LIBXML_PUSH_ENABLED -/* - * Interfaces for the Push mode. - */ -XMLPUBFUN xmlParserCtxtPtr - xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, - void *user_data, - const char *chunk, - int size, - const char *filename); -XMLPUBFUN int - xmlParseChunk (xmlParserCtxtPtr ctxt, - const char *chunk, - int size, - int terminate); -#endif /* LIBXML_PUSH_ENABLED */ - -/* - * Special I/O mode. - */ - -XMLPUBFUN xmlParserCtxtPtr - xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax, - void *user_data, - xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - xmlCharEncoding enc); - -XMLPUBFUN xmlParserInputPtr - xmlNewIOInputStream (xmlParserCtxtPtr ctxt, - xmlParserInputBufferPtr input, - xmlCharEncoding enc); - -/* - * Node infos. - */ -XMLPUBFUN const xmlParserNodeInfo* - xmlParserFindNodeInfo (const xmlParserCtxtPtr ctxt, - const xmlNodePtr node); -XMLPUBFUN void - xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); -XMLPUBFUN void - xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); -XMLPUBFUN unsigned long - xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq, - const xmlNodePtr node); -XMLPUBFUN void - xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt, - const xmlParserNodeInfoPtr info); - -/* - * External entities handling actually implemented in xmlIO. - */ - -XMLPUBFUN void - xmlSetExternalEntityLoader(xmlExternalEntityLoader f); -XMLPUBFUN xmlExternalEntityLoader - xmlGetExternalEntityLoader(void); -XMLPUBFUN xmlParserInputPtr - xmlLoadExternalEntity (const char *URL, - const char *ID, - xmlParserCtxtPtr ctxt); - -/* - * Index lookup, actually implemented in the encoding module - */ -XMLPUBFUN long - xmlByteConsumed (xmlParserCtxtPtr ctxt); - -/* - * New set of simpler/more flexible APIs - */ -/** - * xmlParserOption: - * - * This is the set of XML parser options that can be passed down - * to the xmlReadDoc() and similar calls. - */ -typedef enum { - XML_PARSE_RECOVER = 1<<0, /* recover on errors */ - XML_PARSE_NOENT = 1<<1, /* substitute entities */ - XML_PARSE_DTDLOAD = 1<<2, /* load the external subset */ - XML_PARSE_DTDATTR = 1<<3, /* default DTD attributes */ - XML_PARSE_DTDVALID = 1<<4, /* validate with the DTD */ - XML_PARSE_NOERROR = 1<<5, /* suppress error reports */ - XML_PARSE_NOWARNING = 1<<6, /* suppress warning reports */ - XML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ - XML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ - XML_PARSE_SAX1 = 1<<9, /* use the SAX1 interface internally */ - XML_PARSE_XINCLUDE = 1<<10,/* Implement XInclude substitution */ - XML_PARSE_NONET = 1<<11,/* Forbid network access */ - XML_PARSE_NODICT = 1<<12,/* Do not reuse the context dictionary */ - XML_PARSE_NSCLEAN = 1<<13,/* remove redundant namespaces declarations */ - XML_PARSE_NOCDATA = 1<<14,/* merge CDATA as text nodes */ - XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */ - XML_PARSE_COMPACT = 1<<16,/* compact small text nodes; no modification of - the tree allowed afterwards (will possibly - crash if you try to modify the tree) */ - XML_PARSE_OLD10 = 1<<17,/* parse using XML-1.0 before update 5 */ - XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */ - XML_PARSE_HUGE = 1<<19,/* relax any hardcoded limit from the parser */ - XML_PARSE_OLDSAX = 1<<20,/* parse using SAX2 interface before 2.7.0 */ - XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */ - XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */ -} xmlParserOption; - -XMLPUBFUN void - xmlCtxtReset (xmlParserCtxtPtr ctxt); -XMLPUBFUN int - xmlCtxtResetPush (xmlParserCtxtPtr ctxt, - const char *chunk, - int size, - const char *filename, - const char *encoding); -XMLPUBFUN int - xmlCtxtUseOptions (xmlParserCtxtPtr ctxt, - int options); -XMLPUBFUN xmlDocPtr - xmlReadDoc (const xmlChar *cur, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlReadFile (const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlReadMemory (const char *buffer, - int size, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlReadFd (int fd, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlReadIO (xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlCtxtReadDoc (xmlParserCtxtPtr ctxt, - const xmlChar *cur, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlCtxtReadFile (xmlParserCtxtPtr ctxt, - const char *filename, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlCtxtReadMemory (xmlParserCtxtPtr ctxt, - const char *buffer, - int size, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlCtxtReadFd (xmlParserCtxtPtr ctxt, - int fd, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlDocPtr - xmlCtxtReadIO (xmlParserCtxtPtr ctxt, - xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - const char *URL, - const char *encoding, - int options); - -/* - * Library wide options - */ -/** - * xmlFeature: - * - * Used to examine the existence of features that can be enabled - * or disabled at compile-time. - * They used to be called XML_FEATURE_xxx but this clashed with Expat - */ -typedef enum { - XML_WITH_THREAD = 1, - XML_WITH_TREE = 2, - XML_WITH_OUTPUT = 3, - XML_WITH_PUSH = 4, - XML_WITH_READER = 5, - XML_WITH_PATTERN = 6, - XML_WITH_WRITER = 7, - XML_WITH_SAX1 = 8, - XML_WITH_FTP = 9, - XML_WITH_HTTP = 10, - XML_WITH_VALID = 11, - XML_WITH_HTML = 12, - XML_WITH_LEGACY = 13, - XML_WITH_C14N = 14, - XML_WITH_CATALOG = 15, - XML_WITH_XPATH = 16, - XML_WITH_XPTR = 17, - XML_WITH_XINCLUDE = 18, - XML_WITH_ICONV = 19, - XML_WITH_ISO8859X = 20, - XML_WITH_UNICODE = 21, - XML_WITH_REGEXP = 22, - XML_WITH_AUTOMATA = 23, - XML_WITH_EXPR = 24, - XML_WITH_SCHEMAS = 25, - XML_WITH_SCHEMATRON = 26, - XML_WITH_MODULES = 27, - XML_WITH_DEBUG = 28, - XML_WITH_DEBUG_MEM = 29, - XML_WITH_DEBUG_RUN = 30, - XML_WITH_ZLIB = 31, - XML_WITH_ICU = 32, - XML_WITH_LZMA = 33, - XML_WITH_NONE = 99999 /* just to be sure of allocation size */ -} xmlFeature; - -XMLPUBFUN int - xmlHasFeature (xmlFeature feature); - -#ifdef __cplusplus -} -#endif -#endif /* __XML_PARSER_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/parserInternals.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/parserInternals.h deleted file mode 100644 index 513981e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/parserInternals.h +++ /dev/null @@ -1,662 +0,0 @@ -/* - * Summary: internals routines and limits exported by the parser. - * Description: this module exports a number of internal parsing routines - * they are not really all intended for applications but - * can prove useful doing low level processing. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_PARSER_INTERNALS_H__ -#define __XML_PARSER_INTERNALS_H__ - -#include <libxml/xmlversion.h> -#include <libxml/parser.h> -#include <libxml/HTMLparser.h> -#include <libxml/chvalid.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlParserMaxDepth: - * - * arbitrary depth limit for the XML documents that we allow to - * process. This is not a limitation of the parser but a safety - * boundary feature, use XML_PARSE_HUGE option to override it. - */ -XMLPUBVAR unsigned int xmlParserMaxDepth; - -/** - * XML_MAX_TEXT_LENGTH: - * - * Maximum size allowed for a single text node when building a tree. - * This is not a limitation of the parser but a safety boundary feature, - * use XML_PARSE_HUGE option to override it. - * Introduced in 2.9.0 - */ -#define XML_MAX_TEXT_LENGTH 10000000 - -/** - * XML_MAX_HUGE_LENGTH: - * - * Maximum size allowed when XML_PARSE_HUGE is set. - */ -#define XML_MAX_HUGE_LENGTH 1000000000 - -/** - * XML_MAX_NAME_LENGTH: - * - * Maximum size allowed for a markup identifier. - * This is not a limitation of the parser but a safety boundary feature, - * use XML_PARSE_HUGE option to override it. - * Note that with the use of parsing dictionaries overriding the limit - * may result in more runtime memory usage in face of "unfriendly' content - * Introduced in 2.9.0 - */ -#define XML_MAX_NAME_LENGTH 50000 - -/** - * XML_MAX_DICTIONARY_LIMIT: - * - * Maximum size allowed by the parser for a dictionary by default - * This is not a limitation of the parser but a safety boundary feature, - * use XML_PARSE_HUGE option to override it. - * Introduced in 2.9.0 - */ -#define XML_MAX_DICTIONARY_LIMIT 10000000 - -/** - * XML_MAX_LOOKUP_LIMIT: - * - * Maximum size allowed by the parser for ahead lookup - * This is an upper boundary enforced by the parser to avoid bad - * behaviour on "unfriendly' content - * Introduced in 2.9.0 - */ -#define XML_MAX_LOOKUP_LIMIT 10000000 - -/** - * XML_MAX_NAMELEN: - * - * Identifiers can be longer, but this will be more costly - * at runtime. - */ -#define XML_MAX_NAMELEN 100 - -/** - * INPUT_CHUNK: - * - * The parser tries to always have that amount of input ready. - * One of the point is providing context when reporting errors. - */ -#define INPUT_CHUNK 250 - -/************************************************************************ - * * - * UNICODE version of the macros. * - * * - ************************************************************************/ -/** - * IS_BYTE_CHAR: - * @c: an byte value (int) - * - * Macro to check the following production in the XML spec: - * - * [2] Char ::= #x9 | #xA | #xD | [#x20...] - * any byte character in the accepted range - */ -#define IS_BYTE_CHAR(c) xmlIsChar_ch(c) - -/** - * IS_CHAR: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] - * | [#x10000-#x10FFFF] - * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. - */ -#define IS_CHAR(c) xmlIsCharQ(c) - -/** - * IS_CHAR_CH: - * @c: an xmlChar (usually an unsigned char) - * - * Behaves like IS_CHAR on single-byte value - */ -#define IS_CHAR_CH(c) xmlIsChar_ch(c) - -/** - * IS_BLANK: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * [3] S ::= (#x20 | #x9 | #xD | #xA)+ - */ -#define IS_BLANK(c) xmlIsBlankQ(c) - -/** - * IS_BLANK_CH: - * @c: an xmlChar value (normally unsigned char) - * - * Behaviour same as IS_BLANK - */ -#define IS_BLANK_CH(c) xmlIsBlank_ch(c) - -/** - * IS_BASECHAR: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * [85] BaseChar ::= ... long list see REC ... - */ -#define IS_BASECHAR(c) xmlIsBaseCharQ(c) - -/** - * IS_DIGIT: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * [88] Digit ::= ... long list see REC ... - */ -#define IS_DIGIT(c) xmlIsDigitQ(c) - -/** - * IS_DIGIT_CH: - * @c: an xmlChar value (usually an unsigned char) - * - * Behaves like IS_DIGIT but with a single byte argument - */ -#define IS_DIGIT_CH(c) xmlIsDigit_ch(c) - -/** - * IS_COMBINING: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * [87] CombiningChar ::= ... long list see REC ... - */ -#define IS_COMBINING(c) xmlIsCombiningQ(c) - -/** - * IS_COMBINING_CH: - * @c: an xmlChar (usually an unsigned char) - * - * Always false (all combining chars > 0xff) - */ -#define IS_COMBINING_CH(c) 0 - -/** - * IS_EXTENDER: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * - * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | - * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | - * [#x309D-#x309E] | [#x30FC-#x30FE] - */ -#define IS_EXTENDER(c) xmlIsExtenderQ(c) - -/** - * IS_EXTENDER_CH: - * @c: an xmlChar value (usually an unsigned char) - * - * Behaves like IS_EXTENDER but with a single-byte argument - */ -#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c) - -/** - * IS_IDEOGRAPHIC: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * - * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] - */ -#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c) - -/** - * IS_LETTER: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * - * [84] Letter ::= BaseChar | Ideographic - */ -#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)) - -/** - * IS_LETTER_CH: - * @c: an xmlChar value (normally unsigned char) - * - * Macro behaves like IS_LETTER, but only check base chars - * - */ -#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c) - -/** - * IS_ASCII_LETTER: - * @c: an xmlChar value - * - * Macro to check [a-zA-Z] - * - */ -#define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ - ((0x61 <= (c)) && ((c) <= 0x7a))) - -/** - * IS_ASCII_DIGIT: - * @c: an xmlChar value - * - * Macro to check [0-9] - * - */ -#define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39)) - -/** - * IS_PUBIDCHAR: - * @c: an UNICODE value (int) - * - * Macro to check the following production in the XML spec: - * - * - * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] - */ -#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c) - -/** - * IS_PUBIDCHAR_CH: - * @c: an xmlChar value (normally unsigned char) - * - * Same as IS_PUBIDCHAR but for single-byte value - */ -#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c) - -/** - * Global variables used for predefined strings. - */ -XMLPUBVAR const xmlChar xmlStringText[]; -XMLPUBVAR const xmlChar xmlStringTextNoenc[]; -XMLPUBVAR const xmlChar xmlStringComment[]; - -/* - * Function to finish the work of the macros where needed. - */ -XMLPUBFUN int xmlIsLetter (int c); - -/** - * Parser context. - */ -XMLPUBFUN xmlParserCtxtPtr - xmlCreateFileParserCtxt (const char *filename); -XMLPUBFUN xmlParserCtxtPtr - xmlCreateURLParserCtxt (const char *filename, - int options); -XMLPUBFUN xmlParserCtxtPtr - xmlCreateMemoryParserCtxt(const char *buffer, - int size); -XMLPUBFUN xmlParserCtxtPtr - xmlCreateEntityParserCtxt(const xmlChar *URL, - const xmlChar *ID, - const xmlChar *base); -XMLPUBFUN int - xmlSwitchEncoding (xmlParserCtxtPtr ctxt, - xmlCharEncoding enc); -XMLPUBFUN int - xmlSwitchToEncoding (xmlParserCtxtPtr ctxt, - xmlCharEncodingHandlerPtr handler); -XML_DEPRECATED -XMLPUBFUN int - xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt, - xmlParserInputPtr input, - xmlCharEncodingHandlerPtr handler); - -/** - * Input Streams. - */ -XMLPUBFUN xmlParserInputPtr - xmlNewStringInputStream (xmlParserCtxtPtr ctxt, - const xmlChar *buffer); -XML_DEPRECATED -XMLPUBFUN xmlParserInputPtr - xmlNewEntityInputStream (xmlParserCtxtPtr ctxt, - xmlEntityPtr entity); -XMLPUBFUN int - xmlPushInput (xmlParserCtxtPtr ctxt, - xmlParserInputPtr input); -XMLPUBFUN xmlChar - xmlPopInput (xmlParserCtxtPtr ctxt); -XMLPUBFUN void - xmlFreeInputStream (xmlParserInputPtr input); -XMLPUBFUN xmlParserInputPtr - xmlNewInputFromFile (xmlParserCtxtPtr ctxt, - const char *filename); -XMLPUBFUN xmlParserInputPtr - xmlNewInputStream (xmlParserCtxtPtr ctxt); - -/** - * Namespaces. - */ -XMLPUBFUN xmlChar * - xmlSplitQName (xmlParserCtxtPtr ctxt, - const xmlChar *name, - xmlChar **prefix); - -/** - * Generic production rules. - */ -XML_DEPRECATED -XMLPUBFUN const xmlChar * - xmlParseName (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseNmtoken (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseEntityValue (xmlParserCtxtPtr ctxt, - xmlChar **orig); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseAttValue (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseSystemLiteral (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParsePubidLiteral (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseCharData (xmlParserCtxtPtr ctxt, - int cdata); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseExternalID (xmlParserCtxtPtr ctxt, - xmlChar **publicID, - int strict); -XML_DEPRECATED -XMLPUBFUN void - xmlParseComment (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN const xmlChar * - xmlParsePITarget (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParsePI (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseNotationDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseEntityDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int - xmlParseDefaultDecl (xmlParserCtxtPtr ctxt, - xmlChar **value); -XML_DEPRECATED -XMLPUBFUN xmlEnumerationPtr - xmlParseNotationType (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlEnumerationPtr - xmlParseEnumerationType (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int - xmlParseEnumeratedType (xmlParserCtxtPtr ctxt, - xmlEnumerationPtr *tree); -XML_DEPRECATED -XMLPUBFUN int - xmlParseAttributeType (xmlParserCtxtPtr ctxt, - xmlEnumerationPtr *tree); -XML_DEPRECATED -XMLPUBFUN void - xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlElementContentPtr - xmlParseElementMixedContentDecl - (xmlParserCtxtPtr ctxt, - int inputchk); -XML_DEPRECATED -XMLPUBFUN xmlElementContentPtr - xmlParseElementChildrenContentDecl - (xmlParserCtxtPtr ctxt, - int inputchk); -XML_DEPRECATED -XMLPUBFUN int - xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, - const xmlChar *name, - xmlElementContentPtr *result); -XML_DEPRECATED -XMLPUBFUN int - xmlParseElementDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseMarkupDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int - xmlParseCharRef (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlEntityPtr - xmlParseEntityRef (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseReference (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParsePEReference (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt); -#ifdef LIBXML_SAX1_ENABLED -XML_DEPRECATED -XMLPUBFUN const xmlChar * - xmlParseAttribute (xmlParserCtxtPtr ctxt, - xmlChar **value); -XML_DEPRECATED -XMLPUBFUN const xmlChar * - xmlParseStartTag (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseEndTag (xmlParserCtxtPtr ctxt); -#endif /* LIBXML_SAX1_ENABLED */ -XML_DEPRECATED -XMLPUBFUN void - xmlParseCDSect (xmlParserCtxtPtr ctxt); -XMLPUBFUN void - xmlParseContent (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseElement (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseVersionNum (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseVersionInfo (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseEncName (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN const xmlChar * - xmlParseEncodingDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int - xmlParseSDDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseXMLDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseTextDecl (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseMisc (xmlParserCtxtPtr ctxt); -XMLPUBFUN void - xmlParseExternalSubset (xmlParserCtxtPtr ctxt, - const xmlChar *ExternalID, - const xmlChar *SystemID); -/** - * XML_SUBSTITUTE_NONE: - * - * If no entities need to be substituted. - */ -#define XML_SUBSTITUTE_NONE 0 -/** - * XML_SUBSTITUTE_REF: - * - * Whether general entities need to be substituted. - */ -#define XML_SUBSTITUTE_REF 1 -/** - * XML_SUBSTITUTE_PEREF: - * - * Whether parameter entities need to be substituted. - */ -#define XML_SUBSTITUTE_PEREF 2 -/** - * XML_SUBSTITUTE_BOTH: - * - * Both general and parameter entities need to be substituted. - */ -#define XML_SUBSTITUTE_BOTH 3 - -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlStringDecodeEntities (xmlParserCtxtPtr ctxt, - const xmlChar *str, - int what, - xmlChar end, - xmlChar end2, - xmlChar end3); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt, - const xmlChar *str, - int len, - int what, - xmlChar end, - xmlChar end2, - xmlChar end3); - -/* - * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP. - */ -XML_DEPRECATED -XMLPUBFUN int nodePush (xmlParserCtxtPtr ctxt, - xmlNodePtr value); -XML_DEPRECATED -XMLPUBFUN xmlNodePtr nodePop (xmlParserCtxtPtr ctxt); -XMLPUBFUN int inputPush (xmlParserCtxtPtr ctxt, - xmlParserInputPtr value); -XMLPUBFUN xmlParserInputPtr inputPop (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN const xmlChar * namePop (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int namePush (xmlParserCtxtPtr ctxt, - const xmlChar *value); - -/* - * other commodities shared between parser.c and parserInternals. - */ -XML_DEPRECATED -XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxtPtr ctxt, - const xmlChar *cur, - int *len); -XML_DEPRECATED -XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang); - -/* - * Really core function shared with HTML parser. - */ -XML_DEPRECATED -XMLPUBFUN int xmlCurrentChar (xmlParserCtxtPtr ctxt, - int *len); -XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out, - int val); -XMLPUBFUN int xmlCopyChar (int len, - xmlChar *out, - int val); -XML_DEPRECATED -XMLPUBFUN void xmlNextChar (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void xmlParserInputShrink (xmlParserInputPtr in); - -/* - * Specific function to keep track of entities references - * and used by the XSLT debugger. - */ -#ifdef LIBXML_LEGACY_ENABLED -/** - * xmlEntityReferenceFunc: - * @ent: the entity - * @firstNode: the fist node in the chunk - * @lastNode: the last nod in the chunk - * - * Callback function used when one needs to be able to track back the - * provenance of a chunk of nodes inherited from an entity replacement. - */ -typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent, - xmlNodePtr firstNode, - xmlNodePtr lastNode); - -XML_DEPRECATED -XMLPUBFUN void xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func); - -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlParseQuotedString (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void - xmlParseNamespace (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlScanName (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN void xmlParserHandleReference(xmlParserCtxtPtr ctxt); -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlNamespaceParseQName (xmlParserCtxtPtr ctxt, - xmlChar **prefix); -/** - * Entities - */ -XML_DEPRECATED -XMLPUBFUN xmlChar * - xmlDecodeEntities (xmlParserCtxtPtr ctxt, - int len, - int what, - xmlChar end, - xmlChar end2, - xmlChar end3); -XML_DEPRECATED -XMLPUBFUN void - xmlHandleEntity (xmlParserCtxtPtr ctxt, - xmlEntityPtr entity); - -#endif /* LIBXML_LEGACY_ENABLED */ - -#ifdef __cplusplus -} -#endif -#endif /* __XML_PARSER_INTERNALS_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/pattern.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/pattern.h deleted file mode 100644 index 72bf239..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/pattern.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Summary: pattern expression handling - * Description: allows to compile and test pattern expressions for nodes - * either in a tree or based on a parser state. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_PATTERN_H__ -#define __XML_PATTERN_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> -#include <libxml/dict.h> - -#ifdef LIBXML_PATTERN_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlPattern: - * - * A compiled (XPath based) pattern to select nodes - */ -typedef struct _xmlPattern xmlPattern; -typedef xmlPattern *xmlPatternPtr; - -/** - * xmlPatternFlags: - * - * This is the set of options affecting the behaviour of pattern - * matching with this module - * - */ -typedef enum { - XML_PATTERN_DEFAULT = 0, /* simple pattern match */ - XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */ - XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */ - XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */ -} xmlPatternFlags; - -XMLPUBFUN void - xmlFreePattern (xmlPatternPtr comp); - -XMLPUBFUN void - xmlFreePatternList (xmlPatternPtr comp); - -XMLPUBFUN xmlPatternPtr - xmlPatterncompile (const xmlChar *pattern, - xmlDict *dict, - int flags, - const xmlChar **namespaces); -XMLPUBFUN int - xmlPatternMatch (xmlPatternPtr comp, - xmlNodePtr node); - -/* streaming interfaces */ -typedef struct _xmlStreamCtxt xmlStreamCtxt; -typedef xmlStreamCtxt *xmlStreamCtxtPtr; - -XMLPUBFUN int - xmlPatternStreamable (xmlPatternPtr comp); -XMLPUBFUN int - xmlPatternMaxDepth (xmlPatternPtr comp); -XMLPUBFUN int - xmlPatternMinDepth (xmlPatternPtr comp); -XMLPUBFUN int - xmlPatternFromRoot (xmlPatternPtr comp); -XMLPUBFUN xmlStreamCtxtPtr - xmlPatternGetStreamCtxt (xmlPatternPtr comp); -XMLPUBFUN void - xmlFreeStreamCtxt (xmlStreamCtxtPtr stream); -XMLPUBFUN int - xmlStreamPushNode (xmlStreamCtxtPtr stream, - const xmlChar *name, - const xmlChar *ns, - int nodeType); -XMLPUBFUN int - xmlStreamPush (xmlStreamCtxtPtr stream, - const xmlChar *name, - const xmlChar *ns); -XMLPUBFUN int - xmlStreamPushAttr (xmlStreamCtxtPtr stream, - const xmlChar *name, - const xmlChar *ns); -XMLPUBFUN int - xmlStreamPop (xmlStreamCtxtPtr stream); -XMLPUBFUN int - xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream); -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_PATTERN_ENABLED */ - -#endif /* __XML_PATTERN_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/relaxng.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/relaxng.h deleted file mode 100644 index aecaea3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/relaxng.h +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Summary: implementation of the Relax-NG validation - * Description: implementation of the Relax-NG validation - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_RELAX_NG__ -#define __XML_RELAX_NG__ - -#include <libxml/xmlversion.h> -#include <libxml/hash.h> -#include <libxml/xmlstring.h> - -#ifdef LIBXML_SCHEMAS_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct _xmlRelaxNG xmlRelaxNG; -typedef xmlRelaxNG *xmlRelaxNGPtr; - - -/** - * xmlRelaxNGValidityErrorFunc: - * @ctx: the validation context - * @msg: the message - * @...: extra arguments - * - * Signature of an error callback from a Relax-NG validation - */ -typedef void (*xmlRelaxNGValidityErrorFunc) (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); - -/** - * xmlRelaxNGValidityWarningFunc: - * @ctx: the validation context - * @msg: the message - * @...: extra arguments - * - * Signature of a warning callback from a Relax-NG validation - */ -typedef void (*xmlRelaxNGValidityWarningFunc) (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); - -/** - * A schemas validation context - */ -typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt; -typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr; - -typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt; -typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr; - -/* - * xmlRelaxNGValidErr: - * - * List of possible Relax NG validation errors - */ -typedef enum { - XML_RELAXNG_OK = 0, - XML_RELAXNG_ERR_MEMORY, - XML_RELAXNG_ERR_TYPE, - XML_RELAXNG_ERR_TYPEVAL, - XML_RELAXNG_ERR_DUPID, - XML_RELAXNG_ERR_TYPECMP, - XML_RELAXNG_ERR_NOSTATE, - XML_RELAXNG_ERR_NODEFINE, - XML_RELAXNG_ERR_LISTEXTRA, - XML_RELAXNG_ERR_LISTEMPTY, - XML_RELAXNG_ERR_INTERNODATA, - XML_RELAXNG_ERR_INTERSEQ, - XML_RELAXNG_ERR_INTEREXTRA, - XML_RELAXNG_ERR_ELEMNAME, - XML_RELAXNG_ERR_ATTRNAME, - XML_RELAXNG_ERR_ELEMNONS, - XML_RELAXNG_ERR_ATTRNONS, - XML_RELAXNG_ERR_ELEMWRONGNS, - XML_RELAXNG_ERR_ATTRWRONGNS, - XML_RELAXNG_ERR_ELEMEXTRANS, - XML_RELAXNG_ERR_ATTREXTRANS, - XML_RELAXNG_ERR_ELEMNOTEMPTY, - XML_RELAXNG_ERR_NOELEM, - XML_RELAXNG_ERR_NOTELEM, - XML_RELAXNG_ERR_ATTRVALID, - XML_RELAXNG_ERR_CONTENTVALID, - XML_RELAXNG_ERR_EXTRACONTENT, - XML_RELAXNG_ERR_INVALIDATTR, - XML_RELAXNG_ERR_DATAELEM, - XML_RELAXNG_ERR_VALELEM, - XML_RELAXNG_ERR_LISTELEM, - XML_RELAXNG_ERR_DATATYPE, - XML_RELAXNG_ERR_VALUE, - XML_RELAXNG_ERR_LIST, - XML_RELAXNG_ERR_NOGRAMMAR, - XML_RELAXNG_ERR_EXTRADATA, - XML_RELAXNG_ERR_LACKDATA, - XML_RELAXNG_ERR_INTERNAL, - XML_RELAXNG_ERR_ELEMWRONG, - XML_RELAXNG_ERR_TEXTWRONG -} xmlRelaxNGValidErr; - -/* - * xmlRelaxNGParserFlags: - * - * List of possible Relax NG Parser flags - */ -typedef enum { - XML_RELAXNGP_NONE = 0, - XML_RELAXNGP_FREE_DOC = 1, - XML_RELAXNGP_CRNG = 2 -} xmlRelaxNGParserFlag; - -XMLPUBFUN int - xmlRelaxNGInitTypes (void); -XML_DEPRECATED -XMLPUBFUN void - xmlRelaxNGCleanupTypes (void); - -/* - * Interfaces for parsing. - */ -XMLPUBFUN xmlRelaxNGParserCtxtPtr - xmlRelaxNGNewParserCtxt (const char *URL); -XMLPUBFUN xmlRelaxNGParserCtxtPtr - xmlRelaxNGNewMemParserCtxt (const char *buffer, - int size); -XMLPUBFUN xmlRelaxNGParserCtxtPtr - xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc); - -XMLPUBFUN int - xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt, - int flag); - -XMLPUBFUN void - xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt); -XMLPUBFUN void - xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, - xmlRelaxNGValidityErrorFunc err, - xmlRelaxNGValidityWarningFunc warn, - void *ctx); -XMLPUBFUN int - xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, - xmlRelaxNGValidityErrorFunc *err, - xmlRelaxNGValidityWarningFunc *warn, - void **ctx); -XMLPUBFUN void - xmlRelaxNGSetParserStructuredErrors( - xmlRelaxNGParserCtxtPtr ctxt, - xmlStructuredErrorFunc serror, - void *ctx); -XMLPUBFUN xmlRelaxNGPtr - xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt); -XMLPUBFUN void - xmlRelaxNGFree (xmlRelaxNGPtr schema); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlRelaxNGDump (FILE *output, - xmlRelaxNGPtr schema); -XMLPUBFUN void - xmlRelaxNGDumpTree (FILE * output, - xmlRelaxNGPtr schema); -#endif /* LIBXML_OUTPUT_ENABLED */ -/* - * Interfaces for validating - */ -XMLPUBFUN void - xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, - xmlRelaxNGValidityErrorFunc err, - xmlRelaxNGValidityWarningFunc warn, - void *ctx); -XMLPUBFUN int - xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, - xmlRelaxNGValidityErrorFunc *err, - xmlRelaxNGValidityWarningFunc *warn, - void **ctx); -XMLPUBFUN void - xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt, - xmlStructuredErrorFunc serror, void *ctx); -XMLPUBFUN xmlRelaxNGValidCtxtPtr - xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema); -XMLPUBFUN void - xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt); -XMLPUBFUN int - xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt, - xmlDocPtr doc); -/* - * Interfaces for progressive validation when possible - */ -XMLPUBFUN int - xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem); -XMLPUBFUN int - xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt, - const xmlChar *data, - int len); -XMLPUBFUN int - xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem); -XMLPUBFUN int - xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_SCHEMAS_ENABLED */ - -#endif /* __XML_RELAX_NG__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/schemasInternals.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/schemasInternals.h deleted file mode 100644 index 5806f01..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +++ /dev/null @@ -1,958 +0,0 @@ -/* - * Summary: internal interfaces for XML Schemas - * Description: internal interfaces for the XML Schemas handling - * and schema validity checking - * The Schemas development is a Work In Progress. - * Some of those interfaces are not guaranteed to be API or ABI stable ! - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_SCHEMA_INTERNALS_H__ -#define __XML_SCHEMA_INTERNALS_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_SCHEMAS_ENABLED - -#include <libxml/xmlregexp.h> -#include <libxml/hash.h> -#include <libxml/dict.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - XML_SCHEMAS_UNKNOWN = 0, - XML_SCHEMAS_STRING = 1, - XML_SCHEMAS_NORMSTRING = 2, - XML_SCHEMAS_DECIMAL = 3, - XML_SCHEMAS_TIME = 4, - XML_SCHEMAS_GDAY = 5, - XML_SCHEMAS_GMONTH = 6, - XML_SCHEMAS_GMONTHDAY = 7, - XML_SCHEMAS_GYEAR = 8, - XML_SCHEMAS_GYEARMONTH = 9, - XML_SCHEMAS_DATE = 10, - XML_SCHEMAS_DATETIME = 11, - XML_SCHEMAS_DURATION = 12, - XML_SCHEMAS_FLOAT = 13, - XML_SCHEMAS_DOUBLE = 14, - XML_SCHEMAS_BOOLEAN = 15, - XML_SCHEMAS_TOKEN = 16, - XML_SCHEMAS_LANGUAGE = 17, - XML_SCHEMAS_NMTOKEN = 18, - XML_SCHEMAS_NMTOKENS = 19, - XML_SCHEMAS_NAME = 20, - XML_SCHEMAS_QNAME = 21, - XML_SCHEMAS_NCNAME = 22, - XML_SCHEMAS_ID = 23, - XML_SCHEMAS_IDREF = 24, - XML_SCHEMAS_IDREFS = 25, - XML_SCHEMAS_ENTITY = 26, - XML_SCHEMAS_ENTITIES = 27, - XML_SCHEMAS_NOTATION = 28, - XML_SCHEMAS_ANYURI = 29, - XML_SCHEMAS_INTEGER = 30, - XML_SCHEMAS_NPINTEGER = 31, - XML_SCHEMAS_NINTEGER = 32, - XML_SCHEMAS_NNINTEGER = 33, - XML_SCHEMAS_PINTEGER = 34, - XML_SCHEMAS_INT = 35, - XML_SCHEMAS_UINT = 36, - XML_SCHEMAS_LONG = 37, - XML_SCHEMAS_ULONG = 38, - XML_SCHEMAS_SHORT = 39, - XML_SCHEMAS_USHORT = 40, - XML_SCHEMAS_BYTE = 41, - XML_SCHEMAS_UBYTE = 42, - XML_SCHEMAS_HEXBINARY = 43, - XML_SCHEMAS_BASE64BINARY = 44, - XML_SCHEMAS_ANYTYPE = 45, - XML_SCHEMAS_ANYSIMPLETYPE = 46 -} xmlSchemaValType; - -/* - * XML Schemas defines multiple type of types. - */ -typedef enum { - XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */ - XML_SCHEMA_TYPE_ANY, - XML_SCHEMA_TYPE_FACET, - XML_SCHEMA_TYPE_SIMPLE, - XML_SCHEMA_TYPE_COMPLEX, - XML_SCHEMA_TYPE_SEQUENCE = 6, - XML_SCHEMA_TYPE_CHOICE, - XML_SCHEMA_TYPE_ALL, - XML_SCHEMA_TYPE_SIMPLE_CONTENT, - XML_SCHEMA_TYPE_COMPLEX_CONTENT, - XML_SCHEMA_TYPE_UR, - XML_SCHEMA_TYPE_RESTRICTION, - XML_SCHEMA_TYPE_EXTENSION, - XML_SCHEMA_TYPE_ELEMENT, - XML_SCHEMA_TYPE_ATTRIBUTE, - XML_SCHEMA_TYPE_ATTRIBUTEGROUP, - XML_SCHEMA_TYPE_GROUP, - XML_SCHEMA_TYPE_NOTATION, - XML_SCHEMA_TYPE_LIST, - XML_SCHEMA_TYPE_UNION, - XML_SCHEMA_TYPE_ANY_ATTRIBUTE, - XML_SCHEMA_TYPE_IDC_UNIQUE, - XML_SCHEMA_TYPE_IDC_KEY, - XML_SCHEMA_TYPE_IDC_KEYREF, - XML_SCHEMA_TYPE_PARTICLE = 25, - XML_SCHEMA_TYPE_ATTRIBUTE_USE, - XML_SCHEMA_FACET_MININCLUSIVE = 1000, - XML_SCHEMA_FACET_MINEXCLUSIVE, - XML_SCHEMA_FACET_MAXINCLUSIVE, - XML_SCHEMA_FACET_MAXEXCLUSIVE, - XML_SCHEMA_FACET_TOTALDIGITS, - XML_SCHEMA_FACET_FRACTIONDIGITS, - XML_SCHEMA_FACET_PATTERN, - XML_SCHEMA_FACET_ENUMERATION, - XML_SCHEMA_FACET_WHITESPACE, - XML_SCHEMA_FACET_LENGTH, - XML_SCHEMA_FACET_MAXLENGTH, - XML_SCHEMA_FACET_MINLENGTH, - XML_SCHEMA_EXTRA_QNAMEREF = 2000, - XML_SCHEMA_EXTRA_ATTR_USE_PROHIB -} xmlSchemaTypeType; - -typedef enum { - XML_SCHEMA_CONTENT_UNKNOWN = 0, - XML_SCHEMA_CONTENT_EMPTY = 1, - XML_SCHEMA_CONTENT_ELEMENTS, - XML_SCHEMA_CONTENT_MIXED, - XML_SCHEMA_CONTENT_SIMPLE, - XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */ - XML_SCHEMA_CONTENT_BASIC, - XML_SCHEMA_CONTENT_ANY -} xmlSchemaContentType; - -typedef struct _xmlSchemaVal xmlSchemaVal; -typedef xmlSchemaVal *xmlSchemaValPtr; - -typedef struct _xmlSchemaType xmlSchemaType; -typedef xmlSchemaType *xmlSchemaTypePtr; - -typedef struct _xmlSchemaFacet xmlSchemaFacet; -typedef xmlSchemaFacet *xmlSchemaFacetPtr; - -/** - * Annotation - */ -typedef struct _xmlSchemaAnnot xmlSchemaAnnot; -typedef xmlSchemaAnnot *xmlSchemaAnnotPtr; -struct _xmlSchemaAnnot { - struct _xmlSchemaAnnot *next; - xmlNodePtr content; /* the annotation */ -}; - -/** - * XML_SCHEMAS_ANYATTR_SKIP: - * - * Skip unknown attribute from validation - * Obsolete, not used anymore. - */ -#define XML_SCHEMAS_ANYATTR_SKIP 1 -/** - * XML_SCHEMAS_ANYATTR_LAX: - * - * Ignore validation non definition on attributes - * Obsolete, not used anymore. - */ -#define XML_SCHEMAS_ANYATTR_LAX 2 -/** - * XML_SCHEMAS_ANYATTR_STRICT: - * - * Apply strict validation rules on attributes - * Obsolete, not used anymore. - */ -#define XML_SCHEMAS_ANYATTR_STRICT 3 -/** - * XML_SCHEMAS_ANY_SKIP: - * - * Skip unknown attribute from validation - */ -#define XML_SCHEMAS_ANY_SKIP 1 -/** - * XML_SCHEMAS_ANY_LAX: - * - * Used by wildcards. - * Validate if type found, don't worry if not found - */ -#define XML_SCHEMAS_ANY_LAX 2 -/** - * XML_SCHEMAS_ANY_STRICT: - * - * Used by wildcards. - * Apply strict validation rules - */ -#define XML_SCHEMAS_ANY_STRICT 3 -/** - * XML_SCHEMAS_ATTR_USE_PROHIBITED: - * - * Used by wildcards. - * The attribute is prohibited. - */ -#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0 -/** - * XML_SCHEMAS_ATTR_USE_REQUIRED: - * - * The attribute is required. - */ -#define XML_SCHEMAS_ATTR_USE_REQUIRED 1 -/** - * XML_SCHEMAS_ATTR_USE_OPTIONAL: - * - * The attribute is optional. - */ -#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2 -/** - * XML_SCHEMAS_ATTR_GLOBAL: - * - * allow elements in no namespace - */ -#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0 -/** - * XML_SCHEMAS_ATTR_NSDEFAULT: - * - * allow elements in no namespace - */ -#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7 -/** - * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED: - * - * this is set when the "type" and "ref" references - * have been resolved. - */ -#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8 -/** - * XML_SCHEMAS_ATTR_FIXED: - * - * the attribute has a fixed value - */ -#define XML_SCHEMAS_ATTR_FIXED 1 << 9 - -/** - * xmlSchemaAttribute: - * An attribute definition. - */ - -typedef struct _xmlSchemaAttribute xmlSchemaAttribute; -typedef xmlSchemaAttribute *xmlSchemaAttributePtr; -struct _xmlSchemaAttribute { - xmlSchemaTypeType type; - struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */ - const xmlChar *name; /* the name of the declaration */ - const xmlChar *id; /* Deprecated; not used */ - const xmlChar *ref; /* Deprecated; not used */ - const xmlChar *refNs; /* Deprecated; not used */ - const xmlChar *typeName; /* the local name of the type definition */ - const xmlChar *typeNs; /* the ns URI of the type definition */ - xmlSchemaAnnotPtr annot; - - xmlSchemaTypePtr base; /* Deprecated; not used */ - int occurs; /* Deprecated; not used */ - const xmlChar *defValue; /* The initial value of the value constraint */ - xmlSchemaTypePtr subtypes; /* the type definition */ - xmlNodePtr node; - const xmlChar *targetNamespace; - int flags; - const xmlChar *refPrefix; /* Deprecated; not used */ - xmlSchemaValPtr defVal; /* The compiled value constraint */ - xmlSchemaAttributePtr refDecl; /* Deprecated; not used */ -}; - -/** - * xmlSchemaAttributeLink: - * Used to build a list of attribute uses on complexType definitions. - * WARNING: Deprecated; not used. - */ -typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink; -typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr; -struct _xmlSchemaAttributeLink { - struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */ - struct _xmlSchemaAttribute *attr;/* the linked attribute */ -}; - -/** - * XML_SCHEMAS_WILDCARD_COMPLETE: - * - * If the wildcard is complete. - */ -#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0 - -/** - * xmlSchemaCharValueLink: - * Used to build a list of namespaces on wildcards. - */ -typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs; -typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr; -struct _xmlSchemaWildcardNs { - struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */ - const xmlChar *value;/* the value */ -}; - -/** - * xmlSchemaWildcard. - * A wildcard. - */ -typedef struct _xmlSchemaWildcard xmlSchemaWildcard; -typedef xmlSchemaWildcard *xmlSchemaWildcardPtr; -struct _xmlSchemaWildcard { - xmlSchemaTypeType type; /* The kind of type */ - const xmlChar *id; /* Deprecated; not used */ - xmlSchemaAnnotPtr annot; - xmlNodePtr node; - int minOccurs; /* Deprecated; not used */ - int maxOccurs; /* Deprecated; not used */ - int processContents; - int any; /* Indicates if the ns constraint is of ##any */ - xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */ - xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */ - int flags; -}; - -/** - * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: - * - * The attribute wildcard has been built. - */ -#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 -/** - * XML_SCHEMAS_ATTRGROUP_GLOBAL: - * - * The attribute group has been defined. - */ -#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 -/** - * XML_SCHEMAS_ATTRGROUP_MARKED: - * - * Marks the attr group as marked; used for circular checks. - */ -#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2 - -/** - * XML_SCHEMAS_ATTRGROUP_REDEFINED: - * - * The attr group was redefined. - */ -#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3 -/** - * XML_SCHEMAS_ATTRGROUP_HAS_REFS: - * - * Whether this attr. group contains attr. group references. - */ -#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4 - -/** - * An attribute group definition. - * - * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures - * must be kept similar - */ -typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup; -typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr; -struct _xmlSchemaAttributeGroup { - xmlSchemaTypeType type; /* The kind of type */ - struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */ - const xmlChar *name; - const xmlChar *id; - const xmlChar *ref; /* Deprecated; not used */ - const xmlChar *refNs; /* Deprecated; not used */ - xmlSchemaAnnotPtr annot; - - xmlSchemaAttributePtr attributes; /* Deprecated; not used */ - xmlNodePtr node; - int flags; - xmlSchemaWildcardPtr attributeWildcard; - const xmlChar *refPrefix; /* Deprecated; not used */ - xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */ - const xmlChar *targetNamespace; - void *attrUses; -}; - -/** - * xmlSchemaTypeLink: - * Used to build a list of types (e.g. member types of - * simpleType with variety "union"). - */ -typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink; -typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr; -struct _xmlSchemaTypeLink { - struct _xmlSchemaTypeLink *next;/* the next type link ... */ - xmlSchemaTypePtr type;/* the linked type */ -}; - -/** - * xmlSchemaFacetLink: - * Used to build a list of facets. - */ -typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink; -typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr; -struct _xmlSchemaFacetLink { - struct _xmlSchemaFacetLink *next;/* the next facet link ... */ - xmlSchemaFacetPtr facet;/* the linked facet */ -}; - -/** - * XML_SCHEMAS_TYPE_MIXED: - * - * the element content type is mixed - */ -#define XML_SCHEMAS_TYPE_MIXED 1 << 0 -/** - * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION: - * - * the simple or complex type has a derivation method of "extension". - */ -#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1 -/** - * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION: - * - * the simple or complex type has a derivation method of "restriction". - */ -#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2 -/** - * XML_SCHEMAS_TYPE_GLOBAL: - * - * the type is global - */ -#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3 -/** - * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD: - * - * the complexType owns an attribute wildcard, i.e. - * it can be freed by the complexType - */ -#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */ -/** - * XML_SCHEMAS_TYPE_VARIETY_ABSENT: - * - * the simpleType has a variety of "absent". - * TODO: Actually not necessary :-/, since if - * none of the variety flags occur then it's - * automatically absent. - */ -#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5 -/** - * XML_SCHEMAS_TYPE_VARIETY_LIST: - * - * the simpleType has a variety of "list". - */ -#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6 -/** - * XML_SCHEMAS_TYPE_VARIETY_UNION: - * - * the simpleType has a variety of "union". - */ -#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7 -/** - * XML_SCHEMAS_TYPE_VARIETY_ATOMIC: - * - * the simpleType has a variety of "union". - */ -#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8 -/** - * XML_SCHEMAS_TYPE_FINAL_EXTENSION: - * - * the complexType has a final of "extension". - */ -#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9 -/** - * XML_SCHEMAS_TYPE_FINAL_RESTRICTION: - * - * the simpleType/complexType has a final of "restriction". - */ -#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10 -/** - * XML_SCHEMAS_TYPE_FINAL_LIST: - * - * the simpleType has a final of "list". - */ -#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11 -/** - * XML_SCHEMAS_TYPE_FINAL_UNION: - * - * the simpleType has a final of "union". - */ -#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12 -/** - * XML_SCHEMAS_TYPE_FINAL_DEFAULT: - * - * the simpleType has a final of "default". - */ -#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13 -/** - * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE: - * - * Marks the item as a builtin primitive. - */ -#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14 -/** - * XML_SCHEMAS_TYPE_MARKED: - * - * Marks the item as marked; used for circular checks. - */ -#define XML_SCHEMAS_TYPE_MARKED 1 << 16 -/** - * XML_SCHEMAS_TYPE_BLOCK_DEFAULT: - * - * the complexType did not specify 'block' so use the default of the - * <schema> item. - */ -#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17 -/** - * XML_SCHEMAS_TYPE_BLOCK_EXTENSION: - * - * the complexType has a 'block' of "extension". - */ -#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18 -/** - * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION: - * - * the complexType has a 'block' of "restriction". - */ -#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19 -/** - * XML_SCHEMAS_TYPE_ABSTRACT: - * - * the simple/complexType is abstract. - */ -#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20 -/** - * XML_SCHEMAS_TYPE_FACETSNEEDVALUE: - * - * indicates if the facets need a computed value - */ -#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21 -/** - * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED: - * - * indicates that the type was typefixed - */ -#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22 -/** - * XML_SCHEMAS_TYPE_INTERNAL_INVALID: - * - * indicates that the type is invalid - */ -#define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23 -/** - * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE: - * - * a whitespace-facet value of "preserve" - */ -#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24 -/** - * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE: - * - * a whitespace-facet value of "replace" - */ -#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25 -/** - * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE: - * - * a whitespace-facet value of "collapse" - */ -#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26 -/** - * XML_SCHEMAS_TYPE_HAS_FACETS: - * - * has facets - */ -#define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27 -/** - * XML_SCHEMAS_TYPE_NORMVALUENEEDED: - * - * indicates if the facets (pattern) need a normalized value - */ -#define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28 - -/** - * XML_SCHEMAS_TYPE_FIXUP_1: - * - * First stage of fixup was done. - */ -#define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29 - -/** - * XML_SCHEMAS_TYPE_REDEFINED: - * - * The type was redefined. - */ -#define XML_SCHEMAS_TYPE_REDEFINED 1 << 30 -/** - * XML_SCHEMAS_TYPE_REDEFINING: - * - * The type redefines an other type. - */ -/* #define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 */ - -/** - * _xmlSchemaType: - * - * Schemas type definition. - */ -struct _xmlSchemaType { - xmlSchemaTypeType type; /* The kind of type */ - struct _xmlSchemaType *next; /* the next type if in a sequence ... */ - const xmlChar *name; - const xmlChar *id ; /* Deprecated; not used */ - const xmlChar *ref; /* Deprecated; not used */ - const xmlChar *refNs; /* Deprecated; not used */ - xmlSchemaAnnotPtr annot; - xmlSchemaTypePtr subtypes; - xmlSchemaAttributePtr attributes; /* Deprecated; not used */ - xmlNodePtr node; - int minOccurs; /* Deprecated; not used */ - int maxOccurs; /* Deprecated; not used */ - - int flags; - xmlSchemaContentType contentType; - const xmlChar *base; /* Base type's local name */ - const xmlChar *baseNs; /* Base type's target namespace */ - xmlSchemaTypePtr baseType; /* The base type component */ - xmlSchemaFacetPtr facets; /* Local facets */ - struct _xmlSchemaType *redef; /* Deprecated; not used */ - int recurse; /* Obsolete */ - xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */ - xmlSchemaWildcardPtr attributeWildcard; - int builtInType; /* Type of built-in types. */ - xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */ - xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */ - const xmlChar *refPrefix; /* Deprecated; not used */ - xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types. - Could we use @subtypes for this? */ - xmlRegexpPtr contModel; /* Holds the automaton of the content model */ - const xmlChar *targetNamespace; - void *attrUses; -}; - -/* - * xmlSchemaElement: - * An element definition. - * - * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of - * structures must be kept similar - */ -/** - * XML_SCHEMAS_ELEM_NILLABLE: - * - * the element is nillable - */ -#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0 -/** - * XML_SCHEMAS_ELEM_GLOBAL: - * - * the element is global - */ -#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1 -/** - * XML_SCHEMAS_ELEM_DEFAULT: - * - * the element has a default value - */ -#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2 -/** - * XML_SCHEMAS_ELEM_FIXED: - * - * the element has a fixed value - */ -#define XML_SCHEMAS_ELEM_FIXED 1 << 3 -/** - * XML_SCHEMAS_ELEM_ABSTRACT: - * - * the element is abstract - */ -#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4 -/** - * XML_SCHEMAS_ELEM_TOPLEVEL: - * - * the element is top level - * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead - */ -#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5 -/** - * XML_SCHEMAS_ELEM_REF: - * - * the element is a reference to a type - */ -#define XML_SCHEMAS_ELEM_REF 1 << 6 -/** - * XML_SCHEMAS_ELEM_NSDEFAULT: - * - * allow elements in no namespace - * Obsolete, not used anymore. - */ -#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7 -/** - * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED: - * - * this is set when "type", "ref", "substitutionGroup" - * references have been resolved. - */ -#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8 - /** - * XML_SCHEMAS_ELEM_CIRCULAR: - * - * a helper flag for the search of circular references. - */ -#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9 -/** - * XML_SCHEMAS_ELEM_BLOCK_ABSENT: - * - * the "block" attribute is absent - */ -#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10 -/** - * XML_SCHEMAS_ELEM_BLOCK_EXTENSION: - * - * disallowed substitutions are absent - */ -#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11 -/** - * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION: - * - * disallowed substitutions: "restriction" - */ -#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12 -/** - * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: - * - * disallowed substitutions: "substitution" - */ -#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13 -/** - * XML_SCHEMAS_ELEM_FINAL_ABSENT: - * - * substitution group exclusions are absent - */ -#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14 -/** - * XML_SCHEMAS_ELEM_FINAL_EXTENSION: - * - * substitution group exclusions: "extension" - */ -#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15 -/** - * XML_SCHEMAS_ELEM_FINAL_RESTRICTION: - * - * substitution group exclusions: "restriction" - */ -#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16 -/** - * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD: - * - * the declaration is a substitution group head - */ -#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17 -/** - * XML_SCHEMAS_ELEM_INTERNAL_CHECKED: - * - * this is set when the elem decl has been checked against - * all constraints - */ -#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18 - -typedef struct _xmlSchemaElement xmlSchemaElement; -typedef xmlSchemaElement *xmlSchemaElementPtr; -struct _xmlSchemaElement { - xmlSchemaTypeType type; /* The kind of type */ - struct _xmlSchemaType *next; /* Not used? */ - const xmlChar *name; - const xmlChar *id; /* Deprecated; not used */ - const xmlChar *ref; /* Deprecated; not used */ - const xmlChar *refNs; /* Deprecated; not used */ - xmlSchemaAnnotPtr annot; - xmlSchemaTypePtr subtypes; /* the type definition */ - xmlSchemaAttributePtr attributes; - xmlNodePtr node; - int minOccurs; /* Deprecated; not used */ - int maxOccurs; /* Deprecated; not used */ - - int flags; - const xmlChar *targetNamespace; - const xmlChar *namedType; - const xmlChar *namedTypeNs; - const xmlChar *substGroup; - const xmlChar *substGroupNs; - const xmlChar *scope; - const xmlChar *value; /* The original value of the value constraint. */ - struct _xmlSchemaElement *refDecl; /* This will now be used for the - substitution group affiliation */ - xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */ - xmlSchemaContentType contentType; - const xmlChar *refPrefix; /* Deprecated; not used */ - xmlSchemaValPtr defVal; /* The compiled value constraint. */ - void *idcs; /* The identity-constraint defs */ -}; - -/* - * XML_SCHEMAS_FACET_UNKNOWN: - * - * unknown facet handling - */ -#define XML_SCHEMAS_FACET_UNKNOWN 0 -/* - * XML_SCHEMAS_FACET_PRESERVE: - * - * preserve the type of the facet - */ -#define XML_SCHEMAS_FACET_PRESERVE 1 -/* - * XML_SCHEMAS_FACET_REPLACE: - * - * replace the type of the facet - */ -#define XML_SCHEMAS_FACET_REPLACE 2 -/* - * XML_SCHEMAS_FACET_COLLAPSE: - * - * collapse the types of the facet - */ -#define XML_SCHEMAS_FACET_COLLAPSE 3 -/** - * A facet definition. - */ -struct _xmlSchemaFacet { - xmlSchemaTypeType type; /* The kind of type */ - struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */ - const xmlChar *value; /* The original value */ - const xmlChar *id; /* Obsolete */ - xmlSchemaAnnotPtr annot; - xmlNodePtr node; - int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */ - int whitespace; - xmlSchemaValPtr val; /* The compiled value */ - xmlRegexpPtr regexp; /* The regex for patterns */ -}; - -/** - * A notation definition. - */ -typedef struct _xmlSchemaNotation xmlSchemaNotation; -typedef xmlSchemaNotation *xmlSchemaNotationPtr; -struct _xmlSchemaNotation { - xmlSchemaTypeType type; /* The kind of type */ - const xmlChar *name; - xmlSchemaAnnotPtr annot; - const xmlChar *identifier; - const xmlChar *targetNamespace; -}; - -/* -* TODO: Actually all those flags used for the schema should sit -* on the schema parser context, since they are used only -* during parsing an XML schema document, and not available -* on the component level as per spec. -*/ -/** - * XML_SCHEMAS_QUALIF_ELEM: - * - * Reflects elementFormDefault == qualified in - * an XML schema document. - */ -#define XML_SCHEMAS_QUALIF_ELEM 1 << 0 -/** - * XML_SCHEMAS_QUALIF_ATTR: - * - * Reflects attributeFormDefault == qualified in - * an XML schema document. - */ -#define XML_SCHEMAS_QUALIF_ATTR 1 << 1 -/** - * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION: - * - * the schema has "extension" in the set of finalDefault. - */ -#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2 -/** - * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION: - * - * the schema has "restriction" in the set of finalDefault. - */ -#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3 -/** - * XML_SCHEMAS_FINAL_DEFAULT_LIST: - * - * the schema has "list" in the set of finalDefault. - */ -#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 -/** - * XML_SCHEMAS_FINAL_DEFAULT_UNION: - * - * the schema has "union" in the set of finalDefault. - */ -#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5 -/** - * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION: - * - * the schema has "extension" in the set of blockDefault. - */ -#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6 -/** - * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION: - * - * the schema has "restriction" in the set of blockDefault. - */ -#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7 -/** - * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION: - * - * the schema has "substitution" in the set of blockDefault. - */ -#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8 -/** - * XML_SCHEMAS_INCLUDING_CONVERT_NS: - * - * the schema is currently including an other schema with - * no target namespace. - */ -#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9 -/** - * _xmlSchema: - * - * A Schemas definition - */ -struct _xmlSchema { - const xmlChar *name; /* schema name */ - const xmlChar *targetNamespace; /* the target namespace */ - const xmlChar *version; - const xmlChar *id; /* Obsolete */ - xmlDocPtr doc; - xmlSchemaAnnotPtr annot; - int flags; - - xmlHashTablePtr typeDecl; - xmlHashTablePtr attrDecl; - xmlHashTablePtr attrgrpDecl; - xmlHashTablePtr elemDecl; - xmlHashTablePtr notaDecl; - - xmlHashTablePtr schemasImports; - - void *_private; /* unused by the library for users or bindings */ - xmlHashTablePtr groupDecl; - xmlDictPtr dict; - void *includes; /* the includes, this is opaque for now */ - int preserve; /* whether to free the document */ - int counter; /* used to give anonymous components unique names */ - xmlHashTablePtr idcDef; /* All identity-constraint defs. */ - void *volatiles; /* Obsolete */ -}; - -XMLPUBFUN void xmlSchemaFreeType (xmlSchemaTypePtr type); -XMLPUBFUN void xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_SCHEMAS_ENABLED */ -#endif /* __XML_SCHEMA_INTERNALS_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/schematron.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/schematron.h deleted file mode 100644 index 6e3d837..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/schematron.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Summary: XML Schematron implementation - * Description: interface to the XML Schematron validity checking. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_SCHEMATRON_H__ -#define __XML_SCHEMATRON_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_SCHEMATRON_ENABLED - -#include <libxml/tree.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */ - XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */ - XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */ - XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */ - XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */ - XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */ - XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */ -} xmlSchematronValidOptions; - -/** - * The schemas related types are kept internal - */ -typedef struct _xmlSchematron xmlSchematron; -typedef xmlSchematron *xmlSchematronPtr; - -/** - * xmlSchematronValidityErrorFunc: - * @ctx: the validation context - * @msg: the message - * @...: extra arguments - * - * Signature of an error callback from a Schematron validation - */ -typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...); - -/** - * xmlSchematronValidityWarningFunc: - * @ctx: the validation context - * @msg: the message - * @...: extra arguments - * - * Signature of a warning callback from a Schematron validation - */ -typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...); - -/** - * A schemas validation context - */ -typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt; -typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr; - -typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt; -typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr; - -/* - * Interfaces for parsing. - */ -XMLPUBFUN xmlSchematronParserCtxtPtr - xmlSchematronNewParserCtxt (const char *URL); -XMLPUBFUN xmlSchematronParserCtxtPtr - xmlSchematronNewMemParserCtxt(const char *buffer, - int size); -XMLPUBFUN xmlSchematronParserCtxtPtr - xmlSchematronNewDocParserCtxt(xmlDocPtr doc); -XMLPUBFUN void - xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt); -/***** -XMLPUBFUN void - xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt, - xmlSchematronValidityErrorFunc err, - xmlSchematronValidityWarningFunc warn, - void *ctx); -XMLPUBFUN int - xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt, - xmlSchematronValidityErrorFunc * err, - xmlSchematronValidityWarningFunc * warn, - void **ctx); -XMLPUBFUN int - xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt); - *****/ -XMLPUBFUN xmlSchematronPtr - xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt); -XMLPUBFUN void - xmlSchematronFree (xmlSchematronPtr schema); -/* - * Interfaces for validating - */ -XMLPUBFUN void - xmlSchematronSetValidStructuredErrors( - xmlSchematronValidCtxtPtr ctxt, - xmlStructuredErrorFunc serror, - void *ctx); -/****** -XMLPUBFUN void - xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt, - xmlSchematronValidityErrorFunc err, - xmlSchematronValidityWarningFunc warn, - void *ctx); -XMLPUBFUN int - xmlSchematronGetValidErrors (xmlSchematronValidCtxtPtr ctxt, - xmlSchematronValidityErrorFunc *err, - xmlSchematronValidityWarningFunc *warn, - void **ctx); -XMLPUBFUN int - xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt, - int options); -XMLPUBFUN int - xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt); -XMLPUBFUN int - xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt, - xmlNodePtr elem); - *******/ - -XMLPUBFUN xmlSchematronValidCtxtPtr - xmlSchematronNewValidCtxt (xmlSchematronPtr schema, - int options); -XMLPUBFUN void - xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt); -XMLPUBFUN int - xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt, - xmlDocPtr instance); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_SCHEMATRON_ENABLED */ -#endif /* __XML_SCHEMATRON_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/threads.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/threads.h deleted file mode 100644 index dd2304c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/threads.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Summary: interfaces for thread handling - * Description: set of generic threading related routines - * should work with pthreads, Windows native or TLS threads - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_THREADS_H__ -#define __XML_THREADS_H__ - -#include <libxml/xmlversion.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * xmlMutex are a simple mutual exception locks. - */ -typedef struct _xmlMutex xmlMutex; -typedef xmlMutex *xmlMutexPtr; - -/* - * xmlRMutex are reentrant mutual exception locks. - */ -typedef struct _xmlRMutex xmlRMutex; -typedef xmlRMutex *xmlRMutexPtr; - -#ifdef __cplusplus -} -#endif -#include <libxml/globals.h> -#ifdef __cplusplus -extern "C" { -#endif -XMLPUBFUN xmlMutexPtr - xmlNewMutex (void); -XMLPUBFUN void - xmlMutexLock (xmlMutexPtr tok); -XMLPUBFUN void - xmlMutexUnlock (xmlMutexPtr tok); -XMLPUBFUN void - xmlFreeMutex (xmlMutexPtr tok); - -XMLPUBFUN xmlRMutexPtr - xmlNewRMutex (void); -XMLPUBFUN void - xmlRMutexLock (xmlRMutexPtr tok); -XMLPUBFUN void - xmlRMutexUnlock (xmlRMutexPtr tok); -XMLPUBFUN void - xmlFreeRMutex (xmlRMutexPtr tok); - -/* - * Library wide APIs. - */ -XML_DEPRECATED -XMLPUBFUN void - xmlInitThreads (void); -XMLPUBFUN void - xmlLockLibrary (void); -XMLPUBFUN void - xmlUnlockLibrary(void); -XML_DEPRECATED -XMLPUBFUN int - xmlGetThreadId (void); -XML_DEPRECATED -XMLPUBFUN int - xmlIsMainThread (void); -XML_DEPRECATED -XMLPUBFUN void - xmlCleanupThreads(void); -XML_DEPRECATED -XMLPUBFUN xmlGlobalStatePtr - xmlGetGlobalState(void); - -/** DOC_DISABLE */ -#if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \ - !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL) -int -xmlDllMain(void *hinstDLL, unsigned long fdwReason, - void *lpvReserved); -#endif -/** DOC_ENABLE */ - -#ifdef __cplusplus -} -#endif - - -#endif /* __XML_THREADS_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/tree.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/tree.h deleted file mode 100644 index b498966..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/tree.h +++ /dev/null @@ -1,1314 +0,0 @@ -/* - * Summary: interfaces for tree manipulation - * Description: this module describes the structures found in an tree resulting - * from an XML or HTML parsing, as well as the API provided for - * various processing on that tree - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_TREE_H__ -#define __XML_TREE_H__ - -#include <stdio.h> -#include <limits.h> -#include <libxml/xmlversion.h> -#include <libxml/xmlstring.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Some of the basic types pointer to structures: - */ -/* xmlIO.h */ -typedef struct _xmlParserInputBuffer xmlParserInputBuffer; -typedef xmlParserInputBuffer *xmlParserInputBufferPtr; - -typedef struct _xmlOutputBuffer xmlOutputBuffer; -typedef xmlOutputBuffer *xmlOutputBufferPtr; - -/* parser.h */ -typedef struct _xmlParserInput xmlParserInput; -typedef xmlParserInput *xmlParserInputPtr; - -typedef struct _xmlParserCtxt xmlParserCtxt; -typedef xmlParserCtxt *xmlParserCtxtPtr; - -typedef struct _xmlSAXLocator xmlSAXLocator; -typedef xmlSAXLocator *xmlSAXLocatorPtr; - -typedef struct _xmlSAXHandler xmlSAXHandler; -typedef xmlSAXHandler *xmlSAXHandlerPtr; - -/* entities.h */ -typedef struct _xmlEntity xmlEntity; -typedef xmlEntity *xmlEntityPtr; - -/** - * BASE_BUFFER_SIZE: - * - * default buffer size 4000. - */ -#define BASE_BUFFER_SIZE 4096 - -/** - * LIBXML_NAMESPACE_DICT: - * - * Defines experimental behaviour: - * 1) xmlNs gets an additional field @context (a xmlDoc) - * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc. - */ -/* #define LIBXML_NAMESPACE_DICT */ - -/** - * xmlBufferAllocationScheme: - * - * A buffer allocation scheme can be defined to either match exactly the - * need or double it's allocated size each time it is found too small. - */ - -typedef enum { - XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ - XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ - XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */ - XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ - XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ - XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ -} xmlBufferAllocationScheme; - -/** - * xmlBuffer: - * - * A buffer structure, this old construct is limited to 2GB and - * is being deprecated, use API with xmlBuf instead - */ -typedef struct _xmlBuffer xmlBuffer; -typedef xmlBuffer *xmlBufferPtr; -struct _xmlBuffer { - xmlChar *content; /* The buffer content UTF8 */ - unsigned int use; /* The buffer size used */ - unsigned int size; /* The buffer size */ - xmlBufferAllocationScheme alloc; /* The realloc method */ - xmlChar *contentIO; /* in IO mode we may have a different base */ -}; - -/** - * xmlBuf: - * - * A buffer structure, new one, the actual structure internals are not public - */ - -typedef struct _xmlBuf xmlBuf; - -/** - * xmlBufPtr: - * - * A pointer to a buffer structure, the actual structure internals are not - * public - */ - -typedef xmlBuf *xmlBufPtr; - -/* - * A few public routines for xmlBuf. As those are expected to be used - * mostly internally the bulk of the routines are internal in buf.h - */ -XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf); -XMLPUBFUN xmlChar* xmlBufEnd (xmlBufPtr buf); -XMLPUBFUN size_t xmlBufUse (const xmlBufPtr buf); -XMLPUBFUN size_t xmlBufShrink (xmlBufPtr buf, size_t len); - -/* - * LIBXML2_NEW_BUFFER: - * - * Macro used to express that the API use the new buffers for - * xmlParserInputBuffer and xmlOutputBuffer. The change was - * introduced in 2.9.0. - */ -#define LIBXML2_NEW_BUFFER - -/** - * XML_XML_NAMESPACE: - * - * This is the namespace for the special xml: prefix predefined in the - * XML Namespace specification. - */ -#define XML_XML_NAMESPACE \ - (const xmlChar *) "http://www.w3.org/XML/1998/namespace" - -/** - * XML_XML_ID: - * - * This is the name for the special xml:id attribute - */ -#define XML_XML_ID (const xmlChar *) "xml:id" - -/* - * The different element types carried by an XML tree. - * - * NOTE: This is synchronized with DOM Level1 values - * See http://www.w3.org/TR/REC-DOM-Level-1/ - * - * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should - * be deprecated to use an XML_DTD_NODE. - */ -typedef enum { - XML_ELEMENT_NODE= 1, - XML_ATTRIBUTE_NODE= 2, - XML_TEXT_NODE= 3, - XML_CDATA_SECTION_NODE= 4, - XML_ENTITY_REF_NODE= 5, - XML_ENTITY_NODE= 6, - XML_PI_NODE= 7, - XML_COMMENT_NODE= 8, - XML_DOCUMENT_NODE= 9, - XML_DOCUMENT_TYPE_NODE= 10, - XML_DOCUMENT_FRAG_NODE= 11, - XML_NOTATION_NODE= 12, - XML_HTML_DOCUMENT_NODE= 13, - XML_DTD_NODE= 14, - XML_ELEMENT_DECL= 15, - XML_ATTRIBUTE_DECL= 16, - XML_ENTITY_DECL= 17, - XML_NAMESPACE_DECL= 18, - XML_XINCLUDE_START= 19, - XML_XINCLUDE_END= 20 - /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */ -} xmlElementType; - -/** DOC_DISABLE */ -/* For backward compatibility */ -#define XML_DOCB_DOCUMENT_NODE 21 -/** DOC_ENABLE */ - -/** - * xmlNotation: - * - * A DTD Notation definition. - */ - -typedef struct _xmlNotation xmlNotation; -typedef xmlNotation *xmlNotationPtr; -struct _xmlNotation { - const xmlChar *name; /* Notation name */ - const xmlChar *PublicID; /* Public identifier, if any */ - const xmlChar *SystemID; /* System identifier, if any */ -}; - -/** - * xmlAttributeType: - * - * A DTD Attribute type definition. - */ - -typedef enum { - XML_ATTRIBUTE_CDATA = 1, - XML_ATTRIBUTE_ID, - XML_ATTRIBUTE_IDREF , - XML_ATTRIBUTE_IDREFS, - XML_ATTRIBUTE_ENTITY, - XML_ATTRIBUTE_ENTITIES, - XML_ATTRIBUTE_NMTOKEN, - XML_ATTRIBUTE_NMTOKENS, - XML_ATTRIBUTE_ENUMERATION, - XML_ATTRIBUTE_NOTATION -} xmlAttributeType; - -/** - * xmlAttributeDefault: - * - * A DTD Attribute default definition. - */ - -typedef enum { - XML_ATTRIBUTE_NONE = 1, - XML_ATTRIBUTE_REQUIRED, - XML_ATTRIBUTE_IMPLIED, - XML_ATTRIBUTE_FIXED -} xmlAttributeDefault; - -/** - * xmlEnumeration: - * - * List structure used when there is an enumeration in DTDs. - */ - -typedef struct _xmlEnumeration xmlEnumeration; -typedef xmlEnumeration *xmlEnumerationPtr; -struct _xmlEnumeration { - struct _xmlEnumeration *next; /* next one */ - const xmlChar *name; /* Enumeration name */ -}; - -/** - * xmlAttribute: - * - * An Attribute declaration in a DTD. - */ - -typedef struct _xmlAttribute xmlAttribute; -typedef xmlAttribute *xmlAttributePtr; -struct _xmlAttribute { - void *_private; /* application data */ - xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ - const xmlChar *name; /* Attribute name */ - struct _xmlNode *children; /* NULL */ - struct _xmlNode *last; /* NULL */ - struct _xmlDtd *parent; /* -> DTD */ - struct _xmlNode *next; /* next sibling link */ - struct _xmlNode *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* the containing document */ - - struct _xmlAttribute *nexth; /* next in hash table */ - xmlAttributeType atype; /* The attribute type */ - xmlAttributeDefault def; /* the default */ - const xmlChar *defaultValue; /* or the default value */ - xmlEnumerationPtr tree; /* or the enumeration tree if any */ - const xmlChar *prefix; /* the namespace prefix if any */ - const xmlChar *elem; /* Element holding the attribute */ -}; - -/** - * xmlElementContentType: - * - * Possible definitions of element content types. - */ -typedef enum { - XML_ELEMENT_CONTENT_PCDATA = 1, - XML_ELEMENT_CONTENT_ELEMENT, - XML_ELEMENT_CONTENT_SEQ, - XML_ELEMENT_CONTENT_OR -} xmlElementContentType; - -/** - * xmlElementContentOccur: - * - * Possible definitions of element content occurrences. - */ -typedef enum { - XML_ELEMENT_CONTENT_ONCE = 1, - XML_ELEMENT_CONTENT_OPT, - XML_ELEMENT_CONTENT_MULT, - XML_ELEMENT_CONTENT_PLUS -} xmlElementContentOccur; - -/** - * xmlElementContent: - * - * An XML Element content as stored after parsing an element definition - * in a DTD. - */ - -typedef struct _xmlElementContent xmlElementContent; -typedef xmlElementContent *xmlElementContentPtr; -struct _xmlElementContent { - xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ - xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ - const xmlChar *name; /* Element name */ - struct _xmlElementContent *c1; /* first child */ - struct _xmlElementContent *c2; /* second child */ - struct _xmlElementContent *parent; /* parent */ - const xmlChar *prefix; /* Namespace prefix */ -}; - -/** - * xmlElementTypeVal: - * - * The different possibilities for an element content type. - */ - -typedef enum { - XML_ELEMENT_TYPE_UNDEFINED = 0, - XML_ELEMENT_TYPE_EMPTY = 1, - XML_ELEMENT_TYPE_ANY, - XML_ELEMENT_TYPE_MIXED, - XML_ELEMENT_TYPE_ELEMENT -} xmlElementTypeVal; - -#ifdef __cplusplus -} -#endif -#include <libxml/xmlregexp.h> -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlElement: - * - * An XML Element declaration from a DTD. - */ - -typedef struct _xmlElement xmlElement; -typedef xmlElement *xmlElementPtr; -struct _xmlElement { - void *_private; /* application data */ - xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ - const xmlChar *name; /* Element name */ - struct _xmlNode *children; /* NULL */ - struct _xmlNode *last; /* NULL */ - struct _xmlDtd *parent; /* -> DTD */ - struct _xmlNode *next; /* next sibling link */ - struct _xmlNode *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* the containing document */ - - xmlElementTypeVal etype; /* The type */ - xmlElementContentPtr content; /* the allowed element content */ - xmlAttributePtr attributes; /* List of the declared attributes */ - const xmlChar *prefix; /* the namespace prefix if any */ -#ifdef LIBXML_REGEXP_ENABLED - xmlRegexpPtr contModel; /* the validating regexp */ -#else - void *contModel; -#endif -}; - - -/** - * XML_LOCAL_NAMESPACE: - * - * A namespace declaration node. - */ -#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL -typedef xmlElementType xmlNsType; - -/** - * xmlNs: - * - * An XML namespace. - * Note that prefix == NULL is valid, it defines the default namespace - * within the subtree (until overridden). - * - * xmlNsType is unified with xmlElementType. - */ - -typedef struct _xmlNs xmlNs; -typedef xmlNs *xmlNsPtr; -struct _xmlNs { - struct _xmlNs *next; /* next Ns link for this node */ - xmlNsType type; /* global or local */ - const xmlChar *href; /* URL for the namespace */ - const xmlChar *prefix; /* prefix for the namespace */ - void *_private; /* application data */ - struct _xmlDoc *context; /* normally an xmlDoc */ -}; - -/** - * xmlDtd: - * - * An XML DTD, as defined by <!DOCTYPE ... There is actually one for - * the internal subset and for the external subset. - */ -typedef struct _xmlDtd xmlDtd; -typedef xmlDtd *xmlDtdPtr; -struct _xmlDtd { - void *_private; /* application data */ - xmlElementType type; /* XML_DTD_NODE, must be second ! */ - const xmlChar *name; /* Name of the DTD */ - struct _xmlNode *children; /* the value of the property link */ - struct _xmlNode *last; /* last child link */ - struct _xmlDoc *parent; /* child->parent link */ - struct _xmlNode *next; /* next sibling link */ - struct _xmlNode *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* the containing document */ - - /* End of common part */ - void *notations; /* Hash table for notations if any */ - void *elements; /* Hash table for elements if any */ - void *attributes; /* Hash table for attributes if any */ - void *entities; /* Hash table for entities if any */ - const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ - const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ - void *pentities; /* Hash table for param entities if any */ -}; - -/** - * xmlAttr: - * - * An attribute on an XML node. - */ -typedef struct _xmlAttr xmlAttr; -typedef xmlAttr *xmlAttrPtr; -struct _xmlAttr { - void *_private; /* application data */ - xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ - const xmlChar *name; /* the name of the property */ - struct _xmlNode *children; /* the value of the property */ - struct _xmlNode *last; /* NULL */ - struct _xmlNode *parent; /* child->parent link */ - struct _xmlAttr *next; /* next sibling link */ - struct _xmlAttr *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* the containing document */ - xmlNs *ns; /* pointer to the associated namespace */ - xmlAttributeType atype; /* the attribute type if validating */ - void *psvi; /* for type/PSVI information */ -}; - -/** - * xmlID: - * - * An XML ID instance. - */ - -typedef struct _xmlID xmlID; -typedef xmlID *xmlIDPtr; -struct _xmlID { - struct _xmlID *next; /* next ID */ - const xmlChar *value; /* The ID name */ - xmlAttrPtr attr; /* The attribute holding it */ - const xmlChar *name; /* The attribute if attr is not available */ - int lineno; /* The line number if attr is not available */ - struct _xmlDoc *doc; /* The document holding the ID */ -}; - -/** - * xmlRef: - * - * An XML IDREF instance. - */ - -typedef struct _xmlRef xmlRef; -typedef xmlRef *xmlRefPtr; -struct _xmlRef { - struct _xmlRef *next; /* next Ref */ - const xmlChar *value; /* The Ref name */ - xmlAttrPtr attr; /* The attribute holding it */ - const xmlChar *name; /* The attribute if attr is not available */ - int lineno; /* The line number if attr is not available */ -}; - -/** - * xmlNode: - * - * A node in an XML tree. - */ -typedef struct _xmlNode xmlNode; -typedef xmlNode *xmlNodePtr; -struct _xmlNode { - void *_private; /* application data */ - xmlElementType type; /* type number, must be second ! */ - const xmlChar *name; /* the name of the node, or the entity */ - struct _xmlNode *children; /* parent->childs link */ - struct _xmlNode *last; /* last child link */ - struct _xmlNode *parent; /* child->parent link */ - struct _xmlNode *next; /* next sibling link */ - struct _xmlNode *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* the containing document */ - - /* End of common part */ - xmlNs *ns; /* pointer to the associated namespace */ - xmlChar *content; /* the content */ - struct _xmlAttr *properties;/* properties list */ - xmlNs *nsDef; /* namespace definitions on this node */ - void *psvi; /* for type/PSVI information */ - unsigned short line; /* line number */ - unsigned short extra; /* extra data for XPath/XSLT */ -}; - -/** - * XML_GET_CONTENT: - * - * Macro to extract the content pointer of a node. - */ -#define XML_GET_CONTENT(n) \ - ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) - -/** - * XML_GET_LINE: - * - * Macro to extract the line number of an element node. - */ -#define XML_GET_LINE(n) \ - (xmlGetLineNo(n)) - -/** - * xmlDocProperty - * - * Set of properties of the document as found by the parser - * Some of them are linked to similarly named xmlParserOption - */ -typedef enum { - XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */ - XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */ - XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */ - XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */ - XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */ - XML_DOC_USERBUILT = 1<<5, /* Document was built using the API - and not by parsing an instance */ - XML_DOC_INTERNAL = 1<<6, /* built for internal processing */ - XML_DOC_HTML = 1<<7 /* parsed or built HTML document */ -} xmlDocProperties; - -/** - * xmlDoc: - * - * An XML document. - */ -typedef struct _xmlDoc xmlDoc; -typedef xmlDoc *xmlDocPtr; -struct _xmlDoc { - void *_private; /* application data */ - xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ - char *name; /* name/filename/URI of the document */ - struct _xmlNode *children; /* the document tree */ - struct _xmlNode *last; /* last child link */ - struct _xmlNode *parent; /* child->parent link */ - struct _xmlNode *next; /* next sibling link */ - struct _xmlNode *prev; /* previous sibling link */ - struct _xmlDoc *doc; /* autoreference to itself */ - - /* End of common part */ - int compression;/* level of zlib compression */ - int standalone; /* standalone document (no external refs) - 1 if standalone="yes" - 0 if standalone="no" - -1 if there is no XML declaration - -2 if there is an XML declaration, but no - standalone attribute was specified */ - struct _xmlDtd *intSubset; /* the document internal subset */ - struct _xmlDtd *extSubset; /* the document external subset */ - struct _xmlNs *oldNs; /* Global namespace, the old way */ - const xmlChar *version; /* the XML version string */ - const xmlChar *encoding; /* external initial encoding, if any */ - void *ids; /* Hash table for ID attributes if any */ - void *refs; /* Hash table for IDREFs attributes if any */ - const xmlChar *URL; /* The URI for that document */ - int charset; /* Internal flag for charset handling, - actually an xmlCharEncoding */ - struct _xmlDict *dict; /* dict used to allocate names or NULL */ - void *psvi; /* for type/PSVI information */ - int parseFlags; /* set of xmlParserOption used to parse the - document */ - int properties; /* set of xmlDocProperties for this document - set at the end of parsing */ -}; - - -typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt; -typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr; - -/** - * xmlDOMWrapAcquireNsFunction: - * @ctxt: a DOM wrapper context - * @node: the context node (element or attribute) - * @nsName: the requested namespace name - * @nsPrefix: the requested namespace prefix - * - * A function called to acquire namespaces (xmlNs) from the wrapper. - * - * Returns an xmlNsPtr or NULL in case of an error. - */ -typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt, - xmlNodePtr node, - const xmlChar *nsName, - const xmlChar *nsPrefix); - -/** - * xmlDOMWrapCtxt: - * - * Context for DOM wrapper-operations. - */ -struct _xmlDOMWrapCtxt { - void * _private; - /* - * The type of this context, just in case we need specialized - * contexts in the future. - */ - int type; - /* - * Internal namespace map used for various operations. - */ - void * namespaceMap; - /* - * Use this one to acquire an xmlNsPtr intended for node->ns. - * (Note that this is not intended for elem->nsDef). - */ - xmlDOMWrapAcquireNsFunction getNsForNodeFunc; -}; - -/** - * xmlChildrenNode: - * - * Macro for compatibility naming layer with libxml1. Maps - * to "children." - */ -#ifndef xmlChildrenNode -#define xmlChildrenNode children -#endif - -/** - * xmlRootNode: - * - * Macro for compatibility naming layer with libxml1. Maps - * to "children". - */ -#ifndef xmlRootNode -#define xmlRootNode children -#endif - -/* - * Variables. - */ - -/* - * Some helper functions - */ -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ - defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \ - defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \ - defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \ - defined(LIBXML_LEGACY_ENABLED) -XMLPUBFUN int - xmlValidateNCName (const xmlChar *value, - int space); -#endif - -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN int - xmlValidateQName (const xmlChar *value, - int space); -XMLPUBFUN int - xmlValidateName (const xmlChar *value, - int space); -XMLPUBFUN int - xmlValidateNMToken (const xmlChar *value, - int space); -#endif - -XMLPUBFUN xmlChar * - xmlBuildQName (const xmlChar *ncname, - const xmlChar *prefix, - xmlChar *memory, - int len); -XMLPUBFUN xmlChar * - xmlSplitQName2 (const xmlChar *name, - xmlChar **prefix); -XMLPUBFUN const xmlChar * - xmlSplitQName3 (const xmlChar *name, - int *len); - -/* - * Handling Buffers, the old ones see @xmlBuf for the new ones. - */ - -XMLPUBFUN void - xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); -XMLPUBFUN xmlBufferAllocationScheme - xmlGetBufferAllocationScheme(void); - -XMLPUBFUN xmlBufferPtr - xmlBufferCreate (void); -XMLPUBFUN xmlBufferPtr - xmlBufferCreateSize (size_t size); -XMLPUBFUN xmlBufferPtr - xmlBufferCreateStatic (void *mem, - size_t size); -XMLPUBFUN int - xmlBufferResize (xmlBufferPtr buf, - unsigned int size); -XMLPUBFUN void - xmlBufferFree (xmlBufferPtr buf); -XMLPUBFUN int - xmlBufferDump (FILE *file, - xmlBufferPtr buf); -XMLPUBFUN int - xmlBufferAdd (xmlBufferPtr buf, - const xmlChar *str, - int len); -XMLPUBFUN int - xmlBufferAddHead (xmlBufferPtr buf, - const xmlChar *str, - int len); -XMLPUBFUN int - xmlBufferCat (xmlBufferPtr buf, - const xmlChar *str); -XMLPUBFUN int - xmlBufferCCat (xmlBufferPtr buf, - const char *str); -XMLPUBFUN int - xmlBufferShrink (xmlBufferPtr buf, - unsigned int len); -XMLPUBFUN int - xmlBufferGrow (xmlBufferPtr buf, - unsigned int len); -XMLPUBFUN void - xmlBufferEmpty (xmlBufferPtr buf); -XMLPUBFUN const xmlChar* - xmlBufferContent (const xmlBuffer *buf); -XMLPUBFUN xmlChar* - xmlBufferDetach (xmlBufferPtr buf); -XMLPUBFUN void - xmlBufferSetAllocationScheme(xmlBufferPtr buf, - xmlBufferAllocationScheme scheme); -XMLPUBFUN int - xmlBufferLength (const xmlBuffer *buf); - -/* - * Creating/freeing new structures. - */ -XMLPUBFUN xmlDtdPtr - xmlCreateIntSubset (xmlDocPtr doc, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XMLPUBFUN xmlDtdPtr - xmlNewDtd (xmlDocPtr doc, - const xmlChar *name, - const xmlChar *ExternalID, - const xmlChar *SystemID); -XMLPUBFUN xmlDtdPtr - xmlGetIntSubset (const xmlDoc *doc); -XMLPUBFUN void - xmlFreeDtd (xmlDtdPtr cur); -#ifdef LIBXML_LEGACY_ENABLED -XML_DEPRECATED -XMLPUBFUN xmlNsPtr - xmlNewGlobalNs (xmlDocPtr doc, - const xmlChar *href, - const xmlChar *prefix); -#endif /* LIBXML_LEGACY_ENABLED */ -XMLPUBFUN xmlNsPtr - xmlNewNs (xmlNodePtr node, - const xmlChar *href, - const xmlChar *prefix); -XMLPUBFUN void - xmlFreeNs (xmlNsPtr cur); -XMLPUBFUN void - xmlFreeNsList (xmlNsPtr cur); -XMLPUBFUN xmlDocPtr - xmlNewDoc (const xmlChar *version); -XMLPUBFUN void - xmlFreeDoc (xmlDocPtr cur); -XMLPUBFUN xmlAttrPtr - xmlNewDocProp (xmlDocPtr doc, - const xmlChar *name, - const xmlChar *value); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ - defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN xmlAttrPtr - xmlNewProp (xmlNodePtr node, - const xmlChar *name, - const xmlChar *value); -#endif -XMLPUBFUN xmlAttrPtr - xmlNewNsProp (xmlNodePtr node, - xmlNsPtr ns, - const xmlChar *name, - const xmlChar *value); -XMLPUBFUN xmlAttrPtr - xmlNewNsPropEatName (xmlNodePtr node, - xmlNsPtr ns, - xmlChar *name, - const xmlChar *value); -XMLPUBFUN void - xmlFreePropList (xmlAttrPtr cur); -XMLPUBFUN void - xmlFreeProp (xmlAttrPtr cur); -XMLPUBFUN xmlAttrPtr - xmlCopyProp (xmlNodePtr target, - xmlAttrPtr cur); -XMLPUBFUN xmlAttrPtr - xmlCopyPropList (xmlNodePtr target, - xmlAttrPtr cur); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlDtdPtr - xmlCopyDtd (xmlDtdPtr dtd); -#endif /* LIBXML_TREE_ENABLED */ -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN xmlDocPtr - xmlCopyDoc (xmlDocPtr doc, - int recursive); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ -/* - * Creating new nodes. - */ -XMLPUBFUN xmlNodePtr - xmlNewDocNode (xmlDocPtr doc, - xmlNsPtr ns, - const xmlChar *name, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewDocNodeEatName (xmlDocPtr doc, - xmlNsPtr ns, - xmlChar *name, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewNode (xmlNsPtr ns, - const xmlChar *name); -XMLPUBFUN xmlNodePtr - xmlNewNodeEatName (xmlNsPtr ns, - xmlChar *name); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN xmlNodePtr - xmlNewChild (xmlNodePtr parent, - xmlNsPtr ns, - const xmlChar *name, - const xmlChar *content); -#endif -XMLPUBFUN xmlNodePtr - xmlNewDocText (const xmlDoc *doc, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewText (const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewDocPI (xmlDocPtr doc, - const xmlChar *name, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewPI (const xmlChar *name, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewDocTextLen (xmlDocPtr doc, - const xmlChar *content, - int len); -XMLPUBFUN xmlNodePtr - xmlNewTextLen (const xmlChar *content, - int len); -XMLPUBFUN xmlNodePtr - xmlNewDocComment (xmlDocPtr doc, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewComment (const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewCDataBlock (xmlDocPtr doc, - const xmlChar *content, - int len); -XMLPUBFUN xmlNodePtr - xmlNewCharRef (xmlDocPtr doc, - const xmlChar *name); -XMLPUBFUN xmlNodePtr - xmlNewReference (const xmlDoc *doc, - const xmlChar *name); -XMLPUBFUN xmlNodePtr - xmlCopyNode (xmlNodePtr node, - int recursive); -XMLPUBFUN xmlNodePtr - xmlDocCopyNode (xmlNodePtr node, - xmlDocPtr doc, - int recursive); -XMLPUBFUN xmlNodePtr - xmlDocCopyNodeList (xmlDocPtr doc, - xmlNodePtr node); -XMLPUBFUN xmlNodePtr - xmlCopyNodeList (xmlNodePtr node); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlNodePtr - xmlNewTextChild (xmlNodePtr parent, - xmlNsPtr ns, - const xmlChar *name, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewDocRawNode (xmlDocPtr doc, - xmlNsPtr ns, - const xmlChar *name, - const xmlChar *content); -XMLPUBFUN xmlNodePtr - xmlNewDocFragment (xmlDocPtr doc); -#endif /* LIBXML_TREE_ENABLED */ - -/* - * Navigating. - */ -XMLPUBFUN long - xmlGetLineNo (const xmlNode *node); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) -XMLPUBFUN xmlChar * - xmlGetNodePath (const xmlNode *node); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */ -XMLPUBFUN xmlNodePtr - xmlDocGetRootElement (const xmlDoc *doc); -XMLPUBFUN xmlNodePtr - xmlGetLastChild (const xmlNode *parent); -XMLPUBFUN int - xmlNodeIsText (const xmlNode *node); -XMLPUBFUN int - xmlIsBlankNode (const xmlNode *node); - -/* - * Changing the structure. - */ -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) -XMLPUBFUN xmlNodePtr - xmlDocSetRootElement (xmlDocPtr doc, - xmlNodePtr root); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN void - xmlNodeSetName (xmlNodePtr cur, - const xmlChar *name); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN xmlNodePtr - xmlAddChild (xmlNodePtr parent, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr - xmlAddChildList (xmlNodePtr parent, - xmlNodePtr cur); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) -XMLPUBFUN xmlNodePtr - xmlReplaceNode (xmlNodePtr old, - xmlNodePtr cur); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ - defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) -XMLPUBFUN xmlNodePtr - xmlAddPrevSibling (xmlNodePtr cur, - xmlNodePtr elem); -#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */ -XMLPUBFUN xmlNodePtr - xmlAddSibling (xmlNodePtr cur, - xmlNodePtr elem); -XMLPUBFUN xmlNodePtr - xmlAddNextSibling (xmlNodePtr cur, - xmlNodePtr elem); -XMLPUBFUN void - xmlUnlinkNode (xmlNodePtr cur); -XMLPUBFUN xmlNodePtr - xmlTextMerge (xmlNodePtr first, - xmlNodePtr second); -XMLPUBFUN int - xmlTextConcat (xmlNodePtr node, - const xmlChar *content, - int len); -XMLPUBFUN void - xmlFreeNodeList (xmlNodePtr cur); -XMLPUBFUN void - xmlFreeNode (xmlNodePtr cur); -XMLPUBFUN void - xmlSetTreeDoc (xmlNodePtr tree, - xmlDocPtr doc); -XMLPUBFUN void - xmlSetListDoc (xmlNodePtr list, - xmlDocPtr doc); -/* - * Namespaces. - */ -XMLPUBFUN xmlNsPtr - xmlSearchNs (xmlDocPtr doc, - xmlNodePtr node, - const xmlChar *nameSpace); -XMLPUBFUN xmlNsPtr - xmlSearchNsByHref (xmlDocPtr doc, - xmlNodePtr node, - const xmlChar *href); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ - defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN xmlNsPtr * - xmlGetNsList (const xmlDoc *doc, - const xmlNode *node); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */ - -XMLPUBFUN void - xmlSetNs (xmlNodePtr node, - xmlNsPtr ns); -XMLPUBFUN xmlNsPtr - xmlCopyNamespace (xmlNsPtr cur); -XMLPUBFUN xmlNsPtr - xmlCopyNamespaceList (xmlNsPtr cur); - -/* - * Changing the content. - */ -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ - defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) -XMLPUBFUN xmlAttrPtr - xmlSetProp (xmlNodePtr node, - const xmlChar *name, - const xmlChar *value); -XMLPUBFUN xmlAttrPtr - xmlSetNsProp (xmlNodePtr node, - xmlNsPtr ns, - const xmlChar *name, - const xmlChar *value); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ - defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */ -XMLPUBFUN xmlChar * - xmlGetNoNsProp (const xmlNode *node, - const xmlChar *name); -XMLPUBFUN xmlChar * - xmlGetProp (const xmlNode *node, - const xmlChar *name); -XMLPUBFUN xmlAttrPtr - xmlHasProp (const xmlNode *node, - const xmlChar *name); -XMLPUBFUN xmlAttrPtr - xmlHasNsProp (const xmlNode *node, - const xmlChar *name, - const xmlChar *nameSpace); -XMLPUBFUN xmlChar * - xmlGetNsProp (const xmlNode *node, - const xmlChar *name, - const xmlChar *nameSpace); -XMLPUBFUN xmlNodePtr - xmlStringGetNodeList (const xmlDoc *doc, - const xmlChar *value); -XMLPUBFUN xmlNodePtr - xmlStringLenGetNodeList (const xmlDoc *doc, - const xmlChar *value, - int len); -XMLPUBFUN xmlChar * - xmlNodeListGetString (xmlDocPtr doc, - const xmlNode *list, - int inLine); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlChar * - xmlNodeListGetRawString (const xmlDoc *doc, - const xmlNode *list, - int inLine); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN void - xmlNodeSetContent (xmlNodePtr cur, - const xmlChar *content); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN void - xmlNodeSetContentLen (xmlNodePtr cur, - const xmlChar *content, - int len); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN void - xmlNodeAddContent (xmlNodePtr cur, - const xmlChar *content); -XMLPUBFUN void - xmlNodeAddContentLen (xmlNodePtr cur, - const xmlChar *content, - int len); -XMLPUBFUN xmlChar * - xmlNodeGetContent (const xmlNode *cur); - -XMLPUBFUN int - xmlNodeBufGetContent (xmlBufferPtr buffer, - const xmlNode *cur); -XMLPUBFUN int - xmlBufGetNodeContent (xmlBufPtr buf, - const xmlNode *cur); - -XMLPUBFUN xmlChar * - xmlNodeGetLang (const xmlNode *cur); -XMLPUBFUN int - xmlNodeGetSpacePreserve (const xmlNode *cur); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN void - xmlNodeSetLang (xmlNodePtr cur, - const xmlChar *lang); -XMLPUBFUN void - xmlNodeSetSpacePreserve (xmlNodePtr cur, - int val); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN xmlChar * - xmlNodeGetBase (const xmlDoc *doc, - const xmlNode *cur); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) -XMLPUBFUN void - xmlNodeSetBase (xmlNodePtr cur, - const xmlChar *uri); -#endif - -/* - * Removing content. - */ -XMLPUBFUN int - xmlRemoveProp (xmlAttrPtr cur); -#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN int - xmlUnsetNsProp (xmlNodePtr node, - xmlNsPtr ns, - const xmlChar *name); -XMLPUBFUN int - xmlUnsetProp (xmlNodePtr node, - const xmlChar *name); -#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ - -/* - * Internal, don't use. - */ -XMLPUBFUN void - xmlBufferWriteCHAR (xmlBufferPtr buf, - const xmlChar *string); -XMLPUBFUN void - xmlBufferWriteChar (xmlBufferPtr buf, - const char *string); -XMLPUBFUN void - xmlBufferWriteQuotedString(xmlBufferPtr buf, - const xmlChar *string); - -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf, - xmlDocPtr doc, - xmlAttrPtr attr, - const xmlChar *string); -#endif /* LIBXML_OUTPUT_ENABLED */ - -#ifdef LIBXML_TREE_ENABLED -/* - * Namespace handling. - */ -XMLPUBFUN int - xmlReconciliateNs (xmlDocPtr doc, - xmlNodePtr tree); -#endif - -#ifdef LIBXML_OUTPUT_ENABLED -/* - * Saving. - */ -XMLPUBFUN void - xmlDocDumpFormatMemory (xmlDocPtr cur, - xmlChar **mem, - int *size, - int format); -XMLPUBFUN void - xmlDocDumpMemory (xmlDocPtr cur, - xmlChar **mem, - int *size); -XMLPUBFUN void - xmlDocDumpMemoryEnc (xmlDocPtr out_doc, - xmlChar **doc_txt_ptr, - int * doc_txt_len, - const char *txt_encoding); -XMLPUBFUN void - xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, - xmlChar **doc_txt_ptr, - int * doc_txt_len, - const char *txt_encoding, - int format); -XMLPUBFUN int - xmlDocFormatDump (FILE *f, - xmlDocPtr cur, - int format); -XMLPUBFUN int - xmlDocDump (FILE *f, - xmlDocPtr cur); -XMLPUBFUN void - xmlElemDump (FILE *f, - xmlDocPtr doc, - xmlNodePtr cur); -XMLPUBFUN int - xmlSaveFile (const char *filename, - xmlDocPtr cur); -XMLPUBFUN int - xmlSaveFormatFile (const char *filename, - xmlDocPtr cur, - int format); -XMLPUBFUN size_t - xmlBufNodeDump (xmlBufPtr buf, - xmlDocPtr doc, - xmlNodePtr cur, - int level, - int format); -XMLPUBFUN int - xmlNodeDump (xmlBufferPtr buf, - xmlDocPtr doc, - xmlNodePtr cur, - int level, - int format); - -XMLPUBFUN int - xmlSaveFileTo (xmlOutputBufferPtr buf, - xmlDocPtr cur, - const char *encoding); -XMLPUBFUN int - xmlSaveFormatFileTo (xmlOutputBufferPtr buf, - xmlDocPtr cur, - const char *encoding, - int format); -XMLPUBFUN void - xmlNodeDumpOutput (xmlOutputBufferPtr buf, - xmlDocPtr doc, - xmlNodePtr cur, - int level, - int format, - const char *encoding); - -XMLPUBFUN int - xmlSaveFormatFileEnc (const char *filename, - xmlDocPtr cur, - const char *encoding, - int format); - -XMLPUBFUN int - xmlSaveFileEnc (const char *filename, - xmlDocPtr cur, - const char *encoding); - -#endif /* LIBXML_OUTPUT_ENABLED */ -/* - * XHTML - */ -XMLPUBFUN int - xmlIsXHTML (const xmlChar *systemID, - const xmlChar *publicID); - -/* - * Compression. - */ -XMLPUBFUN int - xmlGetDocCompressMode (const xmlDoc *doc); -XMLPUBFUN void - xmlSetDocCompressMode (xmlDocPtr doc, - int mode); -XMLPUBFUN int - xmlGetCompressMode (void); -XMLPUBFUN void - xmlSetCompressMode (int mode); - -/* -* DOM-wrapper helper functions. -*/ -XMLPUBFUN xmlDOMWrapCtxtPtr - xmlDOMWrapNewCtxt (void); -XMLPUBFUN void - xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt); -XMLPUBFUN int - xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt, - xmlNodePtr elem, - int options); -XMLPUBFUN int - xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt, - xmlDocPtr sourceDoc, - xmlNodePtr node, - xmlDocPtr destDoc, - xmlNodePtr destParent, - int options); -XMLPUBFUN int - xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr node, - int options); -XMLPUBFUN int - xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt, - xmlDocPtr sourceDoc, - xmlNodePtr node, - xmlNodePtr *clonedNode, - xmlDocPtr destDoc, - xmlNodePtr destParent, - int deep, - int options); - -#ifdef LIBXML_TREE_ENABLED -/* - * 5 interfaces from DOM ElementTraversal, but different in entities - * traversal. - */ -XMLPUBFUN unsigned long - xmlChildElementCount (xmlNodePtr parent); -XMLPUBFUN xmlNodePtr - xmlNextElementSibling (xmlNodePtr node); -XMLPUBFUN xmlNodePtr - xmlFirstElementChild (xmlNodePtr parent); -XMLPUBFUN xmlNodePtr - xmlLastElementChild (xmlNodePtr parent); -XMLPUBFUN xmlNodePtr - xmlPreviousElementSibling (xmlNodePtr node); -#endif -#ifdef __cplusplus -} -#endif -#ifndef __XML_PARSER_H__ -#include <libxml/xmlmemory.h> -#endif - -#endif /* __XML_TREE_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/uri.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/uri.h deleted file mode 100644 index 0470a5d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/uri.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Summary: library of generic URI related routines - * Description: library of generic URI related routines - * Implements RFC 2396 - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_URI_H__ -#define __XML_URI_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlURI: - * - * A parsed URI reference. This is a struct containing the various fields - * as described in RFC 2396 but separated for further processing. - * - * Note: query is a deprecated field which is incorrectly unescaped. - * query_raw takes precedence over query if the former is set. - * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127 - */ -typedef struct _xmlURI xmlURI; -typedef xmlURI *xmlURIPtr; -struct _xmlURI { - char *scheme; /* the URI scheme */ - char *opaque; /* opaque part */ - char *authority; /* the authority part */ - char *server; /* the server part */ - char *user; /* the user part */ - int port; /* the port number */ - char *path; /* the path string */ - char *query; /* the query string (deprecated - use with caution) */ - char *fragment; /* the fragment identifier */ - int cleanup; /* parsing potentially unclean URI */ - char *query_raw; /* the query string (as it appears in the URI) */ -}; - -/* - * This function is in tree.h: - * xmlChar * xmlNodeGetBase (xmlDocPtr doc, - * xmlNodePtr cur); - */ -XMLPUBFUN xmlURIPtr - xmlCreateURI (void); -XMLPUBFUN xmlChar * - xmlBuildURI (const xmlChar *URI, - const xmlChar *base); -XMLPUBFUN xmlChar * - xmlBuildRelativeURI (const xmlChar *URI, - const xmlChar *base); -XMLPUBFUN xmlURIPtr - xmlParseURI (const char *str); -XMLPUBFUN xmlURIPtr - xmlParseURIRaw (const char *str, - int raw); -XMLPUBFUN int - xmlParseURIReference (xmlURIPtr uri, - const char *str); -XMLPUBFUN xmlChar * - xmlSaveUri (xmlURIPtr uri); -XMLPUBFUN void - xmlPrintURI (FILE *stream, - xmlURIPtr uri); -XMLPUBFUN xmlChar * - xmlURIEscapeStr (const xmlChar *str, - const xmlChar *list); -XMLPUBFUN char * - xmlURIUnescapeString (const char *str, - int len, - char *target); -XMLPUBFUN int - xmlNormalizeURIPath (char *path); -XMLPUBFUN xmlChar * - xmlURIEscape (const xmlChar *str); -XMLPUBFUN void - xmlFreeURI (xmlURIPtr uri); -XMLPUBFUN xmlChar* - xmlCanonicPath (const xmlChar *path); -XMLPUBFUN xmlChar* - xmlPathToURI (const xmlChar *path); - -#ifdef __cplusplus -} -#endif -#endif /* __XML_URI_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/valid.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/valid.h deleted file mode 100644 index b19cbac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/valid.h +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Summary: The DTD validation - * Description: API for the DTD handling and the validity checking - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_VALID_H__ -#define __XML_VALID_H__ - -#include <libxml/xmlversion.h> -#include <libxml/xmlerror.h> -#include <libxml/tree.h> -#include <libxml/list.h> -#include <libxml/xmlautomata.h> -#include <libxml/xmlregexp.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Validation state added for non-determinist content model. - */ -typedef struct _xmlValidState xmlValidState; -typedef xmlValidState *xmlValidStatePtr; - -/** - * xmlValidityErrorFunc: - * @ctx: usually an xmlValidCtxtPtr to a validity error context, - * but comes from ctxt->userData (which normally contains such - * a pointer); ctxt->userData can be changed by the user. - * @msg: the string to format *printf like vararg - * @...: remaining arguments to the format - * - * Callback called when a validity error is found. This is a message - * oriented function similar to an *printf function. - */ -typedef void (*xmlValidityErrorFunc) (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); - -/** - * xmlValidityWarningFunc: - * @ctx: usually an xmlValidCtxtPtr to a validity error context, - * but comes from ctxt->userData (which normally contains such - * a pointer); ctxt->userData can be changed by the user. - * @msg: the string to format *printf like vararg - * @...: remaining arguments to the format - * - * Callback called when a validity warning is found. This is a message - * oriented function similar to an *printf function. - */ -typedef void (*xmlValidityWarningFunc) (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); - -/* - * xmlValidCtxt: - * An xmlValidCtxt is used for error reporting when validating. - */ -typedef struct _xmlValidCtxt xmlValidCtxt; -typedef xmlValidCtxt *xmlValidCtxtPtr; -struct _xmlValidCtxt { - void *userData; /* user specific data block */ - xmlValidityErrorFunc error; /* the callback in case of errors */ - xmlValidityWarningFunc warning; /* the callback in case of warning */ - - /* Node analysis stack used when validating within entities */ - xmlNodePtr node; /* Current parsed Node */ - int nodeNr; /* Depth of the parsing stack */ - int nodeMax; /* Max depth of the parsing stack */ - xmlNodePtr *nodeTab; /* array of nodes */ - - unsigned int flags; /* internal flags */ - xmlDocPtr doc; /* the document */ - int valid; /* temporary validity check result */ - - /* state state used for non-determinist content validation */ - xmlValidState *vstate; /* current state */ - int vstateNr; /* Depth of the validation stack */ - int vstateMax; /* Max depth of the validation stack */ - xmlValidState *vstateTab; /* array of validation states */ - -#ifdef LIBXML_REGEXP_ENABLED - xmlAutomataPtr am; /* the automata */ - xmlAutomataStatePtr state; /* used to build the automata */ -#else - void *am; - void *state; -#endif -}; - -/* - * ALL notation declarations are stored in a table. - * There is one table per DTD. - */ - -typedef struct _xmlHashTable xmlNotationTable; -typedef xmlNotationTable *xmlNotationTablePtr; - -/* - * ALL element declarations are stored in a table. - * There is one table per DTD. - */ - -typedef struct _xmlHashTable xmlElementTable; -typedef xmlElementTable *xmlElementTablePtr; - -/* - * ALL attribute declarations are stored in a table. - * There is one table per DTD. - */ - -typedef struct _xmlHashTable xmlAttributeTable; -typedef xmlAttributeTable *xmlAttributeTablePtr; - -/* - * ALL IDs attributes are stored in a table. - * There is one table per document. - */ - -typedef struct _xmlHashTable xmlIDTable; -typedef xmlIDTable *xmlIDTablePtr; - -/* - * ALL Refs attributes are stored in a table. - * There is one table per document. - */ - -typedef struct _xmlHashTable xmlRefTable; -typedef xmlRefTable *xmlRefTablePtr; - -/* Notation */ -XMLPUBFUN xmlNotationPtr - xmlAddNotationDecl (xmlValidCtxtPtr ctxt, - xmlDtdPtr dtd, - const xmlChar *name, - const xmlChar *PublicID, - const xmlChar *SystemID); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlNotationTablePtr - xmlCopyNotationTable (xmlNotationTablePtr table); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN void - xmlFreeNotationTable (xmlNotationTablePtr table); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlDumpNotationDecl (xmlBufferPtr buf, - xmlNotationPtr nota); -XMLPUBFUN void - xmlDumpNotationTable (xmlBufferPtr buf, - xmlNotationTablePtr table); -#endif /* LIBXML_OUTPUT_ENABLED */ - -/* Element Content */ -/* the non Doc version are being deprecated */ -XMLPUBFUN xmlElementContentPtr - xmlNewElementContent (const xmlChar *name, - xmlElementContentType type); -XMLPUBFUN xmlElementContentPtr - xmlCopyElementContent (xmlElementContentPtr content); -XMLPUBFUN void - xmlFreeElementContent (xmlElementContentPtr cur); -/* the new versions with doc argument */ -XMLPUBFUN xmlElementContentPtr - xmlNewDocElementContent (xmlDocPtr doc, - const xmlChar *name, - xmlElementContentType type); -XMLPUBFUN xmlElementContentPtr - xmlCopyDocElementContent(xmlDocPtr doc, - xmlElementContentPtr content); -XMLPUBFUN void - xmlFreeDocElementContent(xmlDocPtr doc, - xmlElementContentPtr cur); -XMLPUBFUN void - xmlSnprintfElementContent(char *buf, - int size, - xmlElementContentPtr content, - int englob); -#ifdef LIBXML_OUTPUT_ENABLED -/* DEPRECATED */ -XMLPUBFUN void - xmlSprintfElementContent(char *buf, - xmlElementContentPtr content, - int englob); -#endif /* LIBXML_OUTPUT_ENABLED */ -/* DEPRECATED */ - -/* Element */ -XMLPUBFUN xmlElementPtr - xmlAddElementDecl (xmlValidCtxtPtr ctxt, - xmlDtdPtr dtd, - const xmlChar *name, - xmlElementTypeVal type, - xmlElementContentPtr content); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlElementTablePtr - xmlCopyElementTable (xmlElementTablePtr table); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN void - xmlFreeElementTable (xmlElementTablePtr table); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlDumpElementTable (xmlBufferPtr buf, - xmlElementTablePtr table); -XMLPUBFUN void - xmlDumpElementDecl (xmlBufferPtr buf, - xmlElementPtr elem); -#endif /* LIBXML_OUTPUT_ENABLED */ - -/* Enumeration */ -XMLPUBFUN xmlEnumerationPtr - xmlCreateEnumeration (const xmlChar *name); -XMLPUBFUN void - xmlFreeEnumeration (xmlEnumerationPtr cur); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlEnumerationPtr - xmlCopyEnumeration (xmlEnumerationPtr cur); -#endif /* LIBXML_TREE_ENABLED */ - -/* Attribute */ -XMLPUBFUN xmlAttributePtr - xmlAddAttributeDecl (xmlValidCtxtPtr ctxt, - xmlDtdPtr dtd, - const xmlChar *elem, - const xmlChar *name, - const xmlChar *ns, - xmlAttributeType type, - xmlAttributeDefault def, - const xmlChar *defaultValue, - xmlEnumerationPtr tree); -#ifdef LIBXML_TREE_ENABLED -XMLPUBFUN xmlAttributeTablePtr - xmlCopyAttributeTable (xmlAttributeTablePtr table); -#endif /* LIBXML_TREE_ENABLED */ -XMLPUBFUN void - xmlFreeAttributeTable (xmlAttributeTablePtr table); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlDumpAttributeTable (xmlBufferPtr buf, - xmlAttributeTablePtr table); -XMLPUBFUN void - xmlDumpAttributeDecl (xmlBufferPtr buf, - xmlAttributePtr attr); -#endif /* LIBXML_OUTPUT_ENABLED */ - -/* IDs */ -XMLPUBFUN xmlIDPtr - xmlAddID (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - const xmlChar *value, - xmlAttrPtr attr); -XMLPUBFUN void - xmlFreeIDTable (xmlIDTablePtr table); -XMLPUBFUN xmlAttrPtr - xmlGetID (xmlDocPtr doc, - const xmlChar *ID); -XMLPUBFUN int - xmlIsID (xmlDocPtr doc, - xmlNodePtr elem, - xmlAttrPtr attr); -XMLPUBFUN int - xmlRemoveID (xmlDocPtr doc, - xmlAttrPtr attr); - -/* IDREFs */ -XML_DEPRECATED -XMLPUBFUN xmlRefPtr - xmlAddRef (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - const xmlChar *value, - xmlAttrPtr attr); -XML_DEPRECATED -XMLPUBFUN void - xmlFreeRefTable (xmlRefTablePtr table); -XML_DEPRECATED -XMLPUBFUN int - xmlIsRef (xmlDocPtr doc, - xmlNodePtr elem, - xmlAttrPtr attr); -XML_DEPRECATED -XMLPUBFUN int - xmlRemoveRef (xmlDocPtr doc, - xmlAttrPtr attr); -XML_DEPRECATED -XMLPUBFUN xmlListPtr - xmlGetRefs (xmlDocPtr doc, - const xmlChar *ID); - -/** - * The public function calls related to validity checking. - */ -#ifdef LIBXML_VALID_ENABLED -/* Allocate/Release Validation Contexts */ -XMLPUBFUN xmlValidCtxtPtr - xmlNewValidCtxt(void); -XMLPUBFUN void - xmlFreeValidCtxt(xmlValidCtxtPtr); - -XMLPUBFUN int - xmlValidateRoot (xmlValidCtxtPtr ctxt, - xmlDocPtr doc); -XMLPUBFUN int - xmlValidateElementDecl (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlElementPtr elem); -XMLPUBFUN xmlChar * - xmlValidNormalizeAttributeValue(xmlDocPtr doc, - xmlNodePtr elem, - const xmlChar *name, - const xmlChar *value); -XMLPUBFUN xmlChar * - xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem, - const xmlChar *name, - const xmlChar *value); -XMLPUBFUN int - xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlAttributePtr attr); -XMLPUBFUN int - xmlValidateAttributeValue(xmlAttributeType type, - const xmlChar *value); -XMLPUBFUN int - xmlValidateNotationDecl (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNotationPtr nota); -XMLPUBFUN int - xmlValidateDtd (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlDtdPtr dtd); -XMLPUBFUN int - xmlValidateDtdFinal (xmlValidCtxtPtr ctxt, - xmlDocPtr doc); -XMLPUBFUN int - xmlValidateDocument (xmlValidCtxtPtr ctxt, - xmlDocPtr doc); -XMLPUBFUN int - xmlValidateElement (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem); -XMLPUBFUN int - xmlValidateOneElement (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem); -XMLPUBFUN int - xmlValidateOneAttribute (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem, - xmlAttrPtr attr, - const xmlChar *value); -XMLPUBFUN int - xmlValidateOneNamespace (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem, - const xmlChar *prefix, - xmlNsPtr ns, - const xmlChar *value); -XMLPUBFUN int - xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, - xmlDocPtr doc); -#endif /* LIBXML_VALID_ENABLED */ - -#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -XMLPUBFUN int - xmlValidateNotationUse (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - const xmlChar *notationName); -#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */ - -XMLPUBFUN int - xmlIsMixedElement (xmlDocPtr doc, - const xmlChar *name); -XMLPUBFUN xmlAttributePtr - xmlGetDtdAttrDesc (xmlDtdPtr dtd, - const xmlChar *elem, - const xmlChar *name); -XMLPUBFUN xmlAttributePtr - xmlGetDtdQAttrDesc (xmlDtdPtr dtd, - const xmlChar *elem, - const xmlChar *name, - const xmlChar *prefix); -XMLPUBFUN xmlNotationPtr - xmlGetDtdNotationDesc (xmlDtdPtr dtd, - const xmlChar *name); -XMLPUBFUN xmlElementPtr - xmlGetDtdQElementDesc (xmlDtdPtr dtd, - const xmlChar *name, - const xmlChar *prefix); -XMLPUBFUN xmlElementPtr - xmlGetDtdElementDesc (xmlDtdPtr dtd, - const xmlChar *name); - -#ifdef LIBXML_VALID_ENABLED - -XMLPUBFUN int - xmlValidGetPotentialChildren(xmlElementContent *ctree, - const xmlChar **names, - int *len, - int max); - -XMLPUBFUN int - xmlValidGetValidElements(xmlNode *prev, - xmlNode *next, - const xmlChar **names, - int max); -XMLPUBFUN int - xmlValidateNameValue (const xmlChar *value); -XMLPUBFUN int - xmlValidateNamesValue (const xmlChar *value); -XMLPUBFUN int - xmlValidateNmtokenValue (const xmlChar *value); -XMLPUBFUN int - xmlValidateNmtokensValue(const xmlChar *value); - -#ifdef LIBXML_REGEXP_ENABLED -/* - * Validation based on the regexp support - */ -XMLPUBFUN int - xmlValidBuildContentModel(xmlValidCtxtPtr ctxt, - xmlElementPtr elem); - -XMLPUBFUN int - xmlValidatePushElement (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem, - const xmlChar *qname); -XMLPUBFUN int - xmlValidatePushCData (xmlValidCtxtPtr ctxt, - const xmlChar *data, - int len); -XMLPUBFUN int - xmlValidatePopElement (xmlValidCtxtPtr ctxt, - xmlDocPtr doc, - xmlNodePtr elem, - const xmlChar *qname); -#endif /* LIBXML_REGEXP_ENABLED */ -#endif /* LIBXML_VALID_ENABLED */ -#ifdef __cplusplus -} -#endif -#endif /* __XML_VALID_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xinclude.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xinclude.h deleted file mode 100644 index e1d135b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xinclude.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Summary: implementation of XInclude - * Description: API to handle XInclude processing, - * implements the - * World Wide Web Consortium Last Call Working Draft 10 November 2003 - * http://www.w3.org/TR/2003/WD-xinclude-20031110 - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XINCLUDE_H__ -#define __XML_XINCLUDE_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> - -#ifdef LIBXML_XINCLUDE_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XINCLUDE_NS: - * - * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude - */ -#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude" -/** - * XINCLUDE_OLD_NS: - * - * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude - */ -#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude" -/** - * XINCLUDE_NODE: - * - * Macro defining "include" - */ -#define XINCLUDE_NODE (const xmlChar *) "include" -/** - * XINCLUDE_FALLBACK: - * - * Macro defining "fallback" - */ -#define XINCLUDE_FALLBACK (const xmlChar *) "fallback" -/** - * XINCLUDE_HREF: - * - * Macro defining "href" - */ -#define XINCLUDE_HREF (const xmlChar *) "href" -/** - * XINCLUDE_PARSE: - * - * Macro defining "parse" - */ -#define XINCLUDE_PARSE (const xmlChar *) "parse" -/** - * XINCLUDE_PARSE_XML: - * - * Macro defining "xml" - */ -#define XINCLUDE_PARSE_XML (const xmlChar *) "xml" -/** - * XINCLUDE_PARSE_TEXT: - * - * Macro defining "text" - */ -#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text" -/** - * XINCLUDE_PARSE_ENCODING: - * - * Macro defining "encoding" - */ -#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding" -/** - * XINCLUDE_PARSE_XPOINTER: - * - * Macro defining "xpointer" - */ -#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer" - -typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; -typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; - -/* - * standalone processing - */ -XMLPUBFUN int - xmlXIncludeProcess (xmlDocPtr doc); -XMLPUBFUN int - xmlXIncludeProcessFlags (xmlDocPtr doc, - int flags); -XMLPUBFUN int - xmlXIncludeProcessFlagsData(xmlDocPtr doc, - int flags, - void *data); -XMLPUBFUN int - xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, - int flags, - void *data); -XMLPUBFUN int - xmlXIncludeProcessTree (xmlNodePtr tree); -XMLPUBFUN int - xmlXIncludeProcessTreeFlags(xmlNodePtr tree, - int flags); -/* - * contextual processing - */ -XMLPUBFUN xmlXIncludeCtxtPtr - xmlXIncludeNewContext (xmlDocPtr doc); -XMLPUBFUN int - xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt, - int flags); -XMLPUBFUN void - xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt); -XMLPUBFUN int - xmlXIncludeProcessNode (xmlXIncludeCtxtPtr ctxt, - xmlNodePtr tree); -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_XINCLUDE_ENABLED */ - -#endif /* __XML_XINCLUDE_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xlink.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xlink.h deleted file mode 100644 index 1065736..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xlink.h +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Summary: unfinished XLink detection module - * Description: unfinished XLink detection module - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XLINK_H__ -#define __XML_XLINK_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> - -#ifdef LIBXML_XPTR_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Various defines for the various Link properties. - * - * NOTE: the link detection layer will try to resolve QName expansion - * of namespaces. If "foo" is the prefix for "http://foo.com/" - * then the link detection layer will expand role="foo:myrole" - * to "http://foo.com/:myrole". - * NOTE: the link detection layer will expand URI-References found on - * href attributes by using the base mechanism if found. - */ -typedef xmlChar *xlinkHRef; -typedef xmlChar *xlinkRole; -typedef xmlChar *xlinkTitle; - -typedef enum { - XLINK_TYPE_NONE = 0, - XLINK_TYPE_SIMPLE, - XLINK_TYPE_EXTENDED, - XLINK_TYPE_EXTENDED_SET -} xlinkType; - -typedef enum { - XLINK_SHOW_NONE = 0, - XLINK_SHOW_NEW, - XLINK_SHOW_EMBED, - XLINK_SHOW_REPLACE -} xlinkShow; - -typedef enum { - XLINK_ACTUATE_NONE = 0, - XLINK_ACTUATE_AUTO, - XLINK_ACTUATE_ONREQUEST -} xlinkActuate; - -/** - * xlinkNodeDetectFunc: - * @ctx: user data pointer - * @node: the node to check - * - * This is the prototype for the link detection routine. - * It calls the default link detection callbacks upon link detection. - */ -typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node); - -/* - * The link detection module interact with the upper layers using - * a set of callback registered at parsing time. - */ - -/** - * xlinkSimpleLinkFunk: - * @ctx: user data pointer - * @node: the node carrying the link - * @href: the target of the link - * @role: the role string - * @title: the link title - * - * This is the prototype for a simple link detection callback. - */ -typedef void -(*xlinkSimpleLinkFunk) (void *ctx, - xmlNodePtr node, - const xlinkHRef href, - const xlinkRole role, - const xlinkTitle title); - -/** - * xlinkExtendedLinkFunk: - * @ctx: user data pointer - * @node: the node carrying the link - * @nbLocators: the number of locators detected on the link - * @hrefs: pointer to the array of locator hrefs - * @roles: pointer to the array of locator roles - * @nbArcs: the number of arcs detected on the link - * @from: pointer to the array of source roles found on the arcs - * @to: pointer to the array of target roles found on the arcs - * @show: array of values for the show attributes found on the arcs - * @actuate: array of values for the actuate attributes found on the arcs - * @nbTitles: the number of titles detected on the link - * @title: array of titles detected on the link - * @langs: array of xml:lang values for the titles - * - * This is the prototype for a extended link detection callback. - */ -typedef void -(*xlinkExtendedLinkFunk)(void *ctx, - xmlNodePtr node, - int nbLocators, - const xlinkHRef *hrefs, - const xlinkRole *roles, - int nbArcs, - const xlinkRole *from, - const xlinkRole *to, - xlinkShow *show, - xlinkActuate *actuate, - int nbTitles, - const xlinkTitle *titles, - const xmlChar **langs); - -/** - * xlinkExtendedLinkSetFunk: - * @ctx: user data pointer - * @node: the node carrying the link - * @nbLocators: the number of locators detected on the link - * @hrefs: pointer to the array of locator hrefs - * @roles: pointer to the array of locator roles - * @nbTitles: the number of titles detected on the link - * @title: array of titles detected on the link - * @langs: array of xml:lang values for the titles - * - * This is the prototype for a extended link set detection callback. - */ -typedef void -(*xlinkExtendedLinkSetFunk) (void *ctx, - xmlNodePtr node, - int nbLocators, - const xlinkHRef *hrefs, - const xlinkRole *roles, - int nbTitles, - const xlinkTitle *titles, - const xmlChar **langs); - -/** - * This is the structure containing a set of Links detection callbacks. - * - * There is no default xlink callbacks, if one want to get link - * recognition activated, those call backs must be provided before parsing. - */ -typedef struct _xlinkHandler xlinkHandler; -typedef xlinkHandler *xlinkHandlerPtr; -struct _xlinkHandler { - xlinkSimpleLinkFunk simple; - xlinkExtendedLinkFunk extended; - xlinkExtendedLinkSetFunk set; -}; - -/* - * The default detection routine, can be overridden, they call the default - * detection callbacks. - */ - -XMLPUBFUN xlinkNodeDetectFunc - xlinkGetDefaultDetect (void); -XMLPUBFUN void - xlinkSetDefaultDetect (xlinkNodeDetectFunc func); - -/* - * Routines to set/get the default handlers. - */ -XMLPUBFUN xlinkHandlerPtr - xlinkGetDefaultHandler (void); -XMLPUBFUN void - xlinkSetDefaultHandler (xlinkHandlerPtr handler); - -/* - * Link detection module itself. - */ -XMLPUBFUN xlinkType - xlinkIsLink (xmlDocPtr doc, - xmlNodePtr node); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_XPTR_ENABLED */ - -#endif /* __XML_XLINK_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlIO.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlIO.h deleted file mode 100644 index 55d25ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlIO.h +++ /dev/null @@ -1,369 +0,0 @@ -/* - * Summary: interface for the I/O interfaces used by the parser - * Description: interface for the I/O interfaces used by the parser - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_IO_H__ -#define __XML_IO_H__ - -#include <stdio.h> -#include <libxml/xmlversion.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Those are the functions and datatypes for the parser input - * I/O structures. - */ - -/** - * xmlInputMatchCallback: - * @filename: the filename or URI - * - * Callback used in the I/O Input API to detect if the current handler - * can provide input functionality for this resource. - * - * Returns 1 if yes and 0 if another Input module should be used - */ -typedef int (*xmlInputMatchCallback) (char const *filename); -/** - * xmlInputOpenCallback: - * @filename: the filename or URI - * - * Callback used in the I/O Input API to open the resource - * - * Returns an Input context or NULL in case or error - */ -typedef void * (*xmlInputOpenCallback) (char const *filename); -/** - * xmlInputReadCallback: - * @context: an Input context - * @buffer: the buffer to store data read - * @len: the length of the buffer in bytes - * - * Callback used in the I/O Input API to read the resource - * - * Returns the number of bytes read or -1 in case of error - */ -typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); -/** - * xmlInputCloseCallback: - * @context: an Input context - * - * Callback used in the I/O Input API to close the resource - * - * Returns 0 or -1 in case of error - */ -typedef int (*xmlInputCloseCallback) (void * context); - -#ifdef LIBXML_OUTPUT_ENABLED -/* - * Those are the functions and datatypes for the library output - * I/O structures. - */ - -/** - * xmlOutputMatchCallback: - * @filename: the filename or URI - * - * Callback used in the I/O Output API to detect if the current handler - * can provide output functionality for this resource. - * - * Returns 1 if yes and 0 if another Output module should be used - */ -typedef int (*xmlOutputMatchCallback) (char const *filename); -/** - * xmlOutputOpenCallback: - * @filename: the filename or URI - * - * Callback used in the I/O Output API to open the resource - * - * Returns an Output context or NULL in case or error - */ -typedef void * (*xmlOutputOpenCallback) (char const *filename); -/** - * xmlOutputWriteCallback: - * @context: an Output context - * @buffer: the buffer of data to write - * @len: the length of the buffer in bytes - * - * Callback used in the I/O Output API to write to the resource - * - * Returns the number of bytes written or -1 in case of error - */ -typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, - int len); -/** - * xmlOutputCloseCallback: - * @context: an Output context - * - * Callback used in the I/O Output API to close the resource - * - * Returns 0 or -1 in case of error - */ -typedef int (*xmlOutputCloseCallback) (void * context); -#endif /* LIBXML_OUTPUT_ENABLED */ - -#ifdef __cplusplus -} -#endif - -#include <libxml/globals.h> -#include <libxml/tree.h> -#include <libxml/parser.h> -#include <libxml/encoding.h> - -#ifdef __cplusplus -extern "C" { -#endif -struct _xmlParserInputBuffer { - void* context; - xmlInputReadCallback readcallback; - xmlInputCloseCallback closecallback; - - xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ - - xmlBufPtr buffer; /* Local buffer encoded in UTF-8 */ - xmlBufPtr raw; /* if encoder != NULL buffer for raw input */ - int compressed; /* -1=unknown, 0=not compressed, 1=compressed */ - int error; - unsigned long rawconsumed;/* amount consumed from raw */ -}; - - -#ifdef LIBXML_OUTPUT_ENABLED -struct _xmlOutputBuffer { - void* context; - xmlOutputWriteCallback writecallback; - xmlOutputCloseCallback closecallback; - - xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ - - xmlBufPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */ - xmlBufPtr conv; /* if encoder != NULL buffer for output */ - int written; /* total number of byte written */ - int error; -}; -#endif /* LIBXML_OUTPUT_ENABLED */ - -/* - * Interfaces for input - */ -XMLPUBFUN void - xmlCleanupInputCallbacks (void); - -XMLPUBFUN int - xmlPopInputCallbacks (void); - -XMLPUBFUN void - xmlRegisterDefaultInputCallbacks (void); -XMLPUBFUN xmlParserInputBufferPtr - xmlAllocParserInputBuffer (xmlCharEncoding enc); - -XMLPUBFUN xmlParserInputBufferPtr - xmlParserInputBufferCreateFilename (const char *URI, - xmlCharEncoding enc); -XMLPUBFUN xmlParserInputBufferPtr - xmlParserInputBufferCreateFile (FILE *file, - xmlCharEncoding enc); -XMLPUBFUN xmlParserInputBufferPtr - xmlParserInputBufferCreateFd (int fd, - xmlCharEncoding enc); -XMLPUBFUN xmlParserInputBufferPtr - xmlParserInputBufferCreateMem (const char *mem, int size, - xmlCharEncoding enc); -XML_DEPRECATED -XMLPUBFUN xmlParserInputBufferPtr - xmlParserInputBufferCreateStatic (const char *mem, int size, - xmlCharEncoding enc); -XMLPUBFUN xmlParserInputBufferPtr - xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - xmlCharEncoding enc); -XMLPUBFUN int - xmlParserInputBufferRead (xmlParserInputBufferPtr in, - int len); -XMLPUBFUN int - xmlParserInputBufferGrow (xmlParserInputBufferPtr in, - int len); -XMLPUBFUN int - xmlParserInputBufferPush (xmlParserInputBufferPtr in, - int len, - const char *buf); -XMLPUBFUN void - xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); -XMLPUBFUN char * - xmlParserGetDirectory (const char *filename); - -XMLPUBFUN int - xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, - xmlInputOpenCallback openFunc, - xmlInputReadCallback readFunc, - xmlInputCloseCallback closeFunc); - -xmlParserInputBufferPtr - __xmlParserInputBufferCreateFilename(const char *URI, - xmlCharEncoding enc); - -#ifdef LIBXML_OUTPUT_ENABLED -/* - * Interfaces for output - */ -XMLPUBFUN void - xmlCleanupOutputCallbacks (void); -XMLPUBFUN int - xmlPopOutputCallbacks (void); -XMLPUBFUN void - xmlRegisterDefaultOutputCallbacks(void); -XMLPUBFUN xmlOutputBufferPtr - xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder); - -XMLPUBFUN xmlOutputBufferPtr - xmlOutputBufferCreateFilename (const char *URI, - xmlCharEncodingHandlerPtr encoder, - int compression); - -XMLPUBFUN xmlOutputBufferPtr - xmlOutputBufferCreateFile (FILE *file, - xmlCharEncodingHandlerPtr encoder); - -XMLPUBFUN xmlOutputBufferPtr - xmlOutputBufferCreateBuffer (xmlBufferPtr buffer, - xmlCharEncodingHandlerPtr encoder); - -XMLPUBFUN xmlOutputBufferPtr - xmlOutputBufferCreateFd (int fd, - xmlCharEncodingHandlerPtr encoder); - -XMLPUBFUN xmlOutputBufferPtr - xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, - xmlOutputCloseCallback ioclose, - void *ioctx, - xmlCharEncodingHandlerPtr encoder); - -/* Couple of APIs to get the output without digging into the buffers */ -XMLPUBFUN const xmlChar * - xmlOutputBufferGetContent (xmlOutputBufferPtr out); -XMLPUBFUN size_t - xmlOutputBufferGetSize (xmlOutputBufferPtr out); - -XMLPUBFUN int - xmlOutputBufferWrite (xmlOutputBufferPtr out, - int len, - const char *buf); -XMLPUBFUN int - xmlOutputBufferWriteString (xmlOutputBufferPtr out, - const char *str); -XMLPUBFUN int - xmlOutputBufferWriteEscape (xmlOutputBufferPtr out, - const xmlChar *str, - xmlCharEncodingOutputFunc escaping); - -XMLPUBFUN int - xmlOutputBufferFlush (xmlOutputBufferPtr out); -XMLPUBFUN int - xmlOutputBufferClose (xmlOutputBufferPtr out); - -XMLPUBFUN int - xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, - xmlOutputOpenCallback openFunc, - xmlOutputWriteCallback writeFunc, - xmlOutputCloseCallback closeFunc); - -xmlOutputBufferPtr - __xmlOutputBufferCreateFilename(const char *URI, - xmlCharEncodingHandlerPtr encoder, - int compression); - -#ifdef LIBXML_HTTP_ENABLED -/* This function only exists if HTTP support built into the library */ -XMLPUBFUN void - xmlRegisterHTTPPostCallbacks (void ); -#endif /* LIBXML_HTTP_ENABLED */ - -#endif /* LIBXML_OUTPUT_ENABLED */ - -XMLPUBFUN xmlParserInputPtr - xmlCheckHTTPInput (xmlParserCtxtPtr ctxt, - xmlParserInputPtr ret); - -/* - * A predefined entity loader disabling network accesses - */ -XMLPUBFUN xmlParserInputPtr - xmlNoNetExternalEntityLoader (const char *URL, - const char *ID, - xmlParserCtxtPtr ctxt); - -/* - * xmlNormalizeWindowsPath is obsolete, don't use it. - * Check xmlCanonicPath in uri.h for a better alternative. - */ -XMLPUBFUN xmlChar * - xmlNormalizeWindowsPath (const xmlChar *path); - -XMLPUBFUN int - xmlCheckFilename (const char *path); -/** - * Default 'file://' protocol callbacks - */ -XMLPUBFUN int - xmlFileMatch (const char *filename); -XMLPUBFUN void * - xmlFileOpen (const char *filename); -XMLPUBFUN int - xmlFileRead (void * context, - char * buffer, - int len); -XMLPUBFUN int - xmlFileClose (void * context); - -/** - * Default 'http://' protocol callbacks - */ -#ifdef LIBXML_HTTP_ENABLED -XMLPUBFUN int - xmlIOHTTPMatch (const char *filename); -XMLPUBFUN void * - xmlIOHTTPOpen (const char *filename); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void * - xmlIOHTTPOpenW (const char * post_uri, - int compression ); -#endif /* LIBXML_OUTPUT_ENABLED */ -XMLPUBFUN int - xmlIOHTTPRead (void * context, - char * buffer, - int len); -XMLPUBFUN int - xmlIOHTTPClose (void * context); -#endif /* LIBXML_HTTP_ENABLED */ - -/** - * Default 'ftp://' protocol callbacks - */ -#ifdef LIBXML_FTP_ENABLED -XMLPUBFUN int - xmlIOFTPMatch (const char *filename); -XMLPUBFUN void * - xmlIOFTPOpen (const char *filename); -XMLPUBFUN int - xmlIOFTPRead (void * context, - char * buffer, - int len); -XMLPUBFUN int - xmlIOFTPClose (void * context); -#endif /* LIBXML_FTP_ENABLED */ - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_IO_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlautomata.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlautomata.h deleted file mode 100644 index ea38eb3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Summary: API to build regexp automata - * Description: the API to build regexp automata - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_AUTOMATA_H__ -#define __XML_AUTOMATA_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_REGEXP_ENABLED -#ifdef LIBXML_AUTOMATA_ENABLED - -#include <libxml/xmlstring.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlAutomataPtr: - * - * A libxml automata description, It can be compiled into a regexp - */ -typedef struct _xmlAutomata xmlAutomata; -typedef xmlAutomata *xmlAutomataPtr; - -/** - * xmlAutomataStatePtr: - * - * A state int the automata description, - */ -typedef struct _xmlAutomataState xmlAutomataState; -typedef xmlAutomataState *xmlAutomataStatePtr; - -/* - * Building API - */ -XMLPUBFUN xmlAutomataPtr - xmlNewAutomata (void); -XMLPUBFUN void - xmlFreeAutomata (xmlAutomataPtr am); - -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataGetInitState (xmlAutomataPtr am); -XMLPUBFUN int - xmlAutomataSetFinalState (xmlAutomataPtr am, - xmlAutomataStatePtr state); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewState (xmlAutomataPtr am); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewTransition (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - void *data); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewTransition2 (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - const xmlChar *token2, - void *data); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewNegTrans (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - const xmlChar *token2, - void *data); - -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewCountTrans (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - int min, - int max, - void *data); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewCountTrans2 (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - const xmlChar *token2, - int min, - int max, - void *data); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewOnceTrans (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - int min, - int max, - void *data); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewOnceTrans2 (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - const xmlChar *token, - const xmlChar *token2, - int min, - int max, - void *data); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewAllTrans (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - int lax); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewEpsilon (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewCountedTrans (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - int counter); -XMLPUBFUN xmlAutomataStatePtr - xmlAutomataNewCounterTrans (xmlAutomataPtr am, - xmlAutomataStatePtr from, - xmlAutomataStatePtr to, - int counter); -XMLPUBFUN int - xmlAutomataNewCounter (xmlAutomataPtr am, - int min, - int max); - -XMLPUBFUN struct _xmlRegexp * - xmlAutomataCompile (xmlAutomataPtr am); -XMLPUBFUN int - xmlAutomataIsDeterminist (xmlAutomataPtr am); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_AUTOMATA_ENABLED */ -#endif /* LIBXML_REGEXP_ENABLED */ - -#endif /* __XML_AUTOMATA_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlerror.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlerror.h deleted file mode 100644 index 830b4a6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlerror.h +++ /dev/null @@ -1,919 +0,0 @@ -/* - * Summary: error handling - * Description: the API used to report errors - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#include <libxml/parser.h> - -#ifndef __XML_ERROR_H__ -#define __XML_ERROR_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlErrorLevel: - * - * Indicates the level of an error - */ -typedef enum { - XML_ERR_NONE = 0, - XML_ERR_WARNING = 1, /* A simple warning */ - XML_ERR_ERROR = 2, /* A recoverable error */ - XML_ERR_FATAL = 3 /* A fatal error */ -} xmlErrorLevel; - -/** - * xmlErrorDomain: - * - * Indicates where an error may have come from - */ -typedef enum { - XML_FROM_NONE = 0, - XML_FROM_PARSER, /* The XML parser */ - XML_FROM_TREE, /* The tree module */ - XML_FROM_NAMESPACE, /* The XML Namespace module */ - XML_FROM_DTD, /* The XML DTD validation with parser context*/ - XML_FROM_HTML, /* The HTML parser */ - XML_FROM_MEMORY, /* The memory allocator */ - XML_FROM_OUTPUT, /* The serialization code */ - XML_FROM_IO, /* The Input/Output stack */ - XML_FROM_FTP, /* The FTP module */ - XML_FROM_HTTP, /* The HTTP module */ - XML_FROM_XINCLUDE, /* The XInclude processing */ - XML_FROM_XPATH, /* The XPath module */ - XML_FROM_XPOINTER, /* The XPointer module */ - XML_FROM_REGEXP, /* The regular expressions module */ - XML_FROM_DATATYPE, /* The W3C XML Schemas Datatype module */ - XML_FROM_SCHEMASP, /* The W3C XML Schemas parser module */ - XML_FROM_SCHEMASV, /* The W3C XML Schemas validation module */ - XML_FROM_RELAXNGP, /* The Relax-NG parser module */ - XML_FROM_RELAXNGV, /* The Relax-NG validator module */ - XML_FROM_CATALOG, /* The Catalog module */ - XML_FROM_C14N, /* The Canonicalization module */ - XML_FROM_XSLT, /* The XSLT engine from libxslt */ - XML_FROM_VALID, /* The XML DTD validation with valid context */ - XML_FROM_CHECK, /* The error checking module */ - XML_FROM_WRITER, /* The xmlwriter module */ - XML_FROM_MODULE, /* The dynamically loaded module module*/ - XML_FROM_I18N, /* The module handling character conversion */ - XML_FROM_SCHEMATRONV,/* The Schematron validator module */ - XML_FROM_BUFFER, /* The buffers module */ - XML_FROM_URI /* The URI module */ -} xmlErrorDomain; - -/** - * xmlError: - * - * An XML Error instance. - */ - -typedef struct _xmlError xmlError; -typedef xmlError *xmlErrorPtr; -struct _xmlError { - int domain; /* What part of the library raised this error */ - int code; /* The error code, e.g. an xmlParserError */ - char *message;/* human-readable informative error message */ - xmlErrorLevel level;/* how consequent is the error */ - char *file; /* the filename */ - int line; /* the line number if available */ - char *str1; /* extra string information */ - char *str2; /* extra string information */ - char *str3; /* extra string information */ - int int1; /* extra number information */ - int int2; /* error column # or 0 if N/A (todo: rename field when we would brk ABI) */ - void *ctxt; /* the parser context if available */ - void *node; /* the node in the tree */ -}; - -/** - * xmlParserError: - * - * This is an error that the XML (or HTML) parser can generate - */ -typedef enum { - XML_ERR_OK = 0, - XML_ERR_INTERNAL_ERROR, /* 1 */ - XML_ERR_NO_MEMORY, /* 2 */ - XML_ERR_DOCUMENT_START, /* 3 */ - XML_ERR_DOCUMENT_EMPTY, /* 4 */ - XML_ERR_DOCUMENT_END, /* 5 */ - XML_ERR_INVALID_HEX_CHARREF, /* 6 */ - XML_ERR_INVALID_DEC_CHARREF, /* 7 */ - XML_ERR_INVALID_CHARREF, /* 8 */ - XML_ERR_INVALID_CHAR, /* 9 */ - XML_ERR_CHARREF_AT_EOF, /* 10 */ - XML_ERR_CHARREF_IN_PROLOG, /* 11 */ - XML_ERR_CHARREF_IN_EPILOG, /* 12 */ - XML_ERR_CHARREF_IN_DTD, /* 13 */ - XML_ERR_ENTITYREF_AT_EOF, /* 14 */ - XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */ - XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */ - XML_ERR_ENTITYREF_IN_DTD, /* 17 */ - XML_ERR_PEREF_AT_EOF, /* 18 */ - XML_ERR_PEREF_IN_PROLOG, /* 19 */ - XML_ERR_PEREF_IN_EPILOG, /* 20 */ - XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */ - XML_ERR_ENTITYREF_NO_NAME, /* 22 */ - XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */ - XML_ERR_PEREF_NO_NAME, /* 24 */ - XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */ - XML_ERR_UNDECLARED_ENTITY, /* 26 */ - XML_WAR_UNDECLARED_ENTITY, /* 27 */ - XML_ERR_UNPARSED_ENTITY, /* 28 */ - XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */ - XML_ERR_ENTITY_IS_PARAMETER, /* 30 */ - XML_ERR_UNKNOWN_ENCODING, /* 31 */ - XML_ERR_UNSUPPORTED_ENCODING, /* 32 */ - XML_ERR_STRING_NOT_STARTED, /* 33 */ - XML_ERR_STRING_NOT_CLOSED, /* 34 */ - XML_ERR_NS_DECL_ERROR, /* 35 */ - XML_ERR_ENTITY_NOT_STARTED, /* 36 */ - XML_ERR_ENTITY_NOT_FINISHED, /* 37 */ - XML_ERR_LT_IN_ATTRIBUTE, /* 38 */ - XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */ - XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */ - XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */ - XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */ - XML_ERR_LITERAL_NOT_STARTED, /* 43 */ - XML_ERR_LITERAL_NOT_FINISHED, /* 44 */ - XML_ERR_COMMENT_NOT_FINISHED, /* 45 */ - XML_ERR_PI_NOT_STARTED, /* 46 */ - XML_ERR_PI_NOT_FINISHED, /* 47 */ - XML_ERR_NOTATION_NOT_STARTED, /* 48 */ - XML_ERR_NOTATION_NOT_FINISHED, /* 49 */ - XML_ERR_ATTLIST_NOT_STARTED, /* 50 */ - XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */ - XML_ERR_MIXED_NOT_STARTED, /* 52 */ - XML_ERR_MIXED_NOT_FINISHED, /* 53 */ - XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */ - XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */ - XML_ERR_XMLDECL_NOT_STARTED, /* 56 */ - XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */ - XML_ERR_CONDSEC_NOT_STARTED, /* 58 */ - XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */ - XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */ - XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */ - XML_ERR_MISPLACED_CDATA_END, /* 62 */ - XML_ERR_CDATA_NOT_FINISHED, /* 63 */ - XML_ERR_RESERVED_XML_NAME, /* 64 */ - XML_ERR_SPACE_REQUIRED, /* 65 */ - XML_ERR_SEPARATOR_REQUIRED, /* 66 */ - XML_ERR_NMTOKEN_REQUIRED, /* 67 */ - XML_ERR_NAME_REQUIRED, /* 68 */ - XML_ERR_PCDATA_REQUIRED, /* 69 */ - XML_ERR_URI_REQUIRED, /* 70 */ - XML_ERR_PUBID_REQUIRED, /* 71 */ - XML_ERR_LT_REQUIRED, /* 72 */ - XML_ERR_GT_REQUIRED, /* 73 */ - XML_ERR_LTSLASH_REQUIRED, /* 74 */ - XML_ERR_EQUAL_REQUIRED, /* 75 */ - XML_ERR_TAG_NAME_MISMATCH, /* 76 */ - XML_ERR_TAG_NOT_FINISHED, /* 77 */ - XML_ERR_STANDALONE_VALUE, /* 78 */ - XML_ERR_ENCODING_NAME, /* 79 */ - XML_ERR_HYPHEN_IN_COMMENT, /* 80 */ - XML_ERR_INVALID_ENCODING, /* 81 */ - XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */ - XML_ERR_CONDSEC_INVALID, /* 83 */ - XML_ERR_VALUE_REQUIRED, /* 84 */ - XML_ERR_NOT_WELL_BALANCED, /* 85 */ - XML_ERR_EXTRA_CONTENT, /* 86 */ - XML_ERR_ENTITY_CHAR_ERROR, /* 87 */ - XML_ERR_ENTITY_PE_INTERNAL, /* 88 */ - XML_ERR_ENTITY_LOOP, /* 89 */ - XML_ERR_ENTITY_BOUNDARY, /* 90 */ - XML_ERR_INVALID_URI, /* 91 */ - XML_ERR_URI_FRAGMENT, /* 92 */ - XML_WAR_CATALOG_PI, /* 93 */ - XML_ERR_NO_DTD, /* 94 */ - XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */ - XML_ERR_VERSION_MISSING, /* 96 */ - XML_WAR_UNKNOWN_VERSION, /* 97 */ - XML_WAR_LANG_VALUE, /* 98 */ - XML_WAR_NS_URI, /* 99 */ - XML_WAR_NS_URI_RELATIVE, /* 100 */ - XML_ERR_MISSING_ENCODING, /* 101 */ - XML_WAR_SPACE_VALUE, /* 102 */ - XML_ERR_NOT_STANDALONE, /* 103 */ - XML_ERR_ENTITY_PROCESSING, /* 104 */ - XML_ERR_NOTATION_PROCESSING, /* 105 */ - XML_WAR_NS_COLUMN, /* 106 */ - XML_WAR_ENTITY_REDEFINED, /* 107 */ - XML_ERR_UNKNOWN_VERSION, /* 108 */ - XML_ERR_VERSION_MISMATCH, /* 109 */ - XML_ERR_NAME_TOO_LONG, /* 110 */ - XML_ERR_USER_STOP, /* 111 */ - XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */ - XML_NS_ERR_XML_NAMESPACE = 200, - XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */ - XML_NS_ERR_QNAME, /* 202 */ - XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */ - XML_NS_ERR_EMPTY, /* 204 */ - XML_NS_ERR_COLON, /* 205 */ - XML_DTD_ATTRIBUTE_DEFAULT = 500, - XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */ - XML_DTD_ATTRIBUTE_VALUE, /* 502 */ - XML_DTD_CONTENT_ERROR, /* 503 */ - XML_DTD_CONTENT_MODEL, /* 504 */ - XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */ - XML_DTD_DIFFERENT_PREFIX, /* 506 */ - XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */ - XML_DTD_ELEM_NAMESPACE, /* 508 */ - XML_DTD_ELEM_REDEFINED, /* 509 */ - XML_DTD_EMPTY_NOTATION, /* 510 */ - XML_DTD_ENTITY_TYPE, /* 511 */ - XML_DTD_ID_FIXED, /* 512 */ - XML_DTD_ID_REDEFINED, /* 513 */ - XML_DTD_ID_SUBSET, /* 514 */ - XML_DTD_INVALID_CHILD, /* 515 */ - XML_DTD_INVALID_DEFAULT, /* 516 */ - XML_DTD_LOAD_ERROR, /* 517 */ - XML_DTD_MISSING_ATTRIBUTE, /* 518 */ - XML_DTD_MIXED_CORRUPT, /* 519 */ - XML_DTD_MULTIPLE_ID, /* 520 */ - XML_DTD_NO_DOC, /* 521 */ - XML_DTD_NO_DTD, /* 522 */ - XML_DTD_NO_ELEM_NAME, /* 523 */ - XML_DTD_NO_PREFIX, /* 524 */ - XML_DTD_NO_ROOT, /* 525 */ - XML_DTD_NOTATION_REDEFINED, /* 526 */ - XML_DTD_NOTATION_VALUE, /* 527 */ - XML_DTD_NOT_EMPTY, /* 528 */ - XML_DTD_NOT_PCDATA, /* 529 */ - XML_DTD_NOT_STANDALONE, /* 530 */ - XML_DTD_ROOT_NAME, /* 531 */ - XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */ - XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */ - XML_DTD_UNKNOWN_ELEM, /* 534 */ - XML_DTD_UNKNOWN_ENTITY, /* 535 */ - XML_DTD_UNKNOWN_ID, /* 536 */ - XML_DTD_UNKNOWN_NOTATION, /* 537 */ - XML_DTD_STANDALONE_DEFAULTED, /* 538 */ - XML_DTD_XMLID_VALUE, /* 539 */ - XML_DTD_XMLID_TYPE, /* 540 */ - XML_DTD_DUP_TOKEN, /* 541 */ - XML_HTML_STRUCURE_ERROR = 800, - XML_HTML_UNKNOWN_TAG, /* 801 */ - XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */ - XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000, - XML_RNGP_ATTR_CONFLICT, /* 1001 */ - XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */ - XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */ - XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */ - XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */ - XML_RNGP_CHOICE_CONTENT, /* 1006 */ - XML_RNGP_CHOICE_EMPTY, /* 1007 */ - XML_RNGP_CREATE_FAILURE, /* 1008 */ - XML_RNGP_DATA_CONTENT, /* 1009 */ - XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */ - XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */ - XML_RNGP_DEFINE_EMPTY, /* 1012 */ - XML_RNGP_DEFINE_MISSING, /* 1013 */ - XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */ - XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */ - XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */ - XML_RNGP_ELEMENT_EMPTY, /* 1017 */ - XML_RNGP_ELEMENT_CONTENT, /* 1018 */ - XML_RNGP_ELEMENT_NAME, /* 1019 */ - XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */ - XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */ - XML_RNGP_EMPTY, /* 1022 */ - XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */ - XML_RNGP_EMPTY_CONTENT, /* 1024 */ - XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */ - XML_RNGP_ERROR_TYPE_LIB, /* 1026 */ - XML_RNGP_EXCEPT_EMPTY, /* 1027 */ - XML_RNGP_EXCEPT_MISSING, /* 1028 */ - XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */ - XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */ - XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */ - XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */ - XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */ - XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */ - XML_RNGP_FOREIGN_ELEMENT, /* 1035 */ - XML_RNGP_GRAMMAR_CONTENT, /* 1036 */ - XML_RNGP_GRAMMAR_EMPTY, /* 1037 */ - XML_RNGP_GRAMMAR_MISSING, /* 1038 */ - XML_RNGP_GRAMMAR_NO_START, /* 1039 */ - XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */ - XML_RNGP_HREF_ERROR, /* 1041 */ - XML_RNGP_INCLUDE_EMPTY, /* 1042 */ - XML_RNGP_INCLUDE_FAILURE, /* 1043 */ - XML_RNGP_INCLUDE_RECURSE, /* 1044 */ - XML_RNGP_INTERLEAVE_ADD, /* 1045 */ - XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */ - XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */ - XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */ - XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */ - XML_RNGP_INVALID_URI, /* 1050 */ - XML_RNGP_INVALID_VALUE, /* 1051 */ - XML_RNGP_MISSING_HREF, /* 1052 */ - XML_RNGP_NAME_MISSING, /* 1053 */ - XML_RNGP_NEED_COMBINE, /* 1054 */ - XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */ - XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */ - XML_RNGP_NSNAME_NO_NS, /* 1057 */ - XML_RNGP_PARAM_FORBIDDEN, /* 1058 */ - XML_RNGP_PARAM_NAME_MISSING, /* 1059 */ - XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */ - XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */ - XML_RNGP_PARENTREF_NO_NAME, /* 1062 */ - XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */ - XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */ - XML_RNGP_PARSE_ERROR, /* 1065 */ - XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */ - XML_RNGP_PAT_ATTR_ATTR, /* 1067 */ - XML_RNGP_PAT_ATTR_ELEM, /* 1068 */ - XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */ - XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */ - XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */ - XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */ - XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */ - XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */ - XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */ - XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */ - XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */ - XML_RNGP_PAT_LIST_ATTR, /* 1078 */ - XML_RNGP_PAT_LIST_ELEM, /* 1079 */ - XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */ - XML_RNGP_PAT_LIST_LIST, /* 1081 */ - XML_RNGP_PAT_LIST_REF, /* 1082 */ - XML_RNGP_PAT_LIST_TEXT, /* 1083 */ - XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */ - XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */ - XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */ - XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */ - XML_RNGP_PAT_START_ATTR, /* 1088 */ - XML_RNGP_PAT_START_DATA, /* 1089 */ - XML_RNGP_PAT_START_EMPTY, /* 1090 */ - XML_RNGP_PAT_START_GROUP, /* 1091 */ - XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */ - XML_RNGP_PAT_START_LIST, /* 1093 */ - XML_RNGP_PAT_START_ONEMORE, /* 1094 */ - XML_RNGP_PAT_START_TEXT, /* 1095 */ - XML_RNGP_PAT_START_VALUE, /* 1096 */ - XML_RNGP_PREFIX_UNDEFINED, /* 1097 */ - XML_RNGP_REF_CREATE_FAILED, /* 1098 */ - XML_RNGP_REF_CYCLE, /* 1099 */ - XML_RNGP_REF_NAME_INVALID, /* 1100 */ - XML_RNGP_REF_NO_DEF, /* 1101 */ - XML_RNGP_REF_NO_NAME, /* 1102 */ - XML_RNGP_REF_NOT_EMPTY, /* 1103 */ - XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */ - XML_RNGP_START_CONTENT, /* 1105 */ - XML_RNGP_START_EMPTY, /* 1106 */ - XML_RNGP_START_MISSING, /* 1107 */ - XML_RNGP_TEXT_EXPECTED, /* 1108 */ - XML_RNGP_TEXT_HAS_CHILD, /* 1109 */ - XML_RNGP_TYPE_MISSING, /* 1110 */ - XML_RNGP_TYPE_NOT_FOUND, /* 1111 */ - XML_RNGP_TYPE_VALUE, /* 1112 */ - XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */ - XML_RNGP_UNKNOWN_COMBINE, /* 1114 */ - XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */ - XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */ - XML_RNGP_URI_FRAGMENT, /* 1117 */ - XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */ - XML_RNGP_VALUE_EMPTY, /* 1119 */ - XML_RNGP_VALUE_NO_CONTENT, /* 1120 */ - XML_RNGP_XMLNS_NAME, /* 1121 */ - XML_RNGP_XML_NS, /* 1122 */ - XML_XPATH_EXPRESSION_OK = 1200, - XML_XPATH_NUMBER_ERROR, /* 1201 */ - XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */ - XML_XPATH_START_LITERAL_ERROR, /* 1203 */ - XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */ - XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */ - XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */ - XML_XPATH_EXPR_ERROR, /* 1207 */ - XML_XPATH_UNCLOSED_ERROR, /* 1208 */ - XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */ - XML_XPATH_INVALID_OPERAND, /* 1210 */ - XML_XPATH_INVALID_TYPE, /* 1211 */ - XML_XPATH_INVALID_ARITY, /* 1212 */ - XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */ - XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */ - XML_XPATH_MEMORY_ERROR, /* 1215 */ - XML_XPTR_SYNTAX_ERROR, /* 1216 */ - XML_XPTR_RESOURCE_ERROR, /* 1217 */ - XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */ - XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */ - XML_XPATH_ENCODING_ERROR, /* 1220 */ - XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */ - XML_TREE_INVALID_HEX = 1300, - XML_TREE_INVALID_DEC, /* 1301 */ - XML_TREE_UNTERMINATED_ENTITY, /* 1302 */ - XML_TREE_NOT_UTF8, /* 1303 */ - XML_SAVE_NOT_UTF8 = 1400, - XML_SAVE_CHAR_INVALID, /* 1401 */ - XML_SAVE_NO_DOCTYPE, /* 1402 */ - XML_SAVE_UNKNOWN_ENCODING, /* 1403 */ - XML_REGEXP_COMPILE_ERROR = 1450, - XML_IO_UNKNOWN = 1500, - XML_IO_EACCES, /* 1501 */ - XML_IO_EAGAIN, /* 1502 */ - XML_IO_EBADF, /* 1503 */ - XML_IO_EBADMSG, /* 1504 */ - XML_IO_EBUSY, /* 1505 */ - XML_IO_ECANCELED, /* 1506 */ - XML_IO_ECHILD, /* 1507 */ - XML_IO_EDEADLK, /* 1508 */ - XML_IO_EDOM, /* 1509 */ - XML_IO_EEXIST, /* 1510 */ - XML_IO_EFAULT, /* 1511 */ - XML_IO_EFBIG, /* 1512 */ - XML_IO_EINPROGRESS, /* 1513 */ - XML_IO_EINTR, /* 1514 */ - XML_IO_EINVAL, /* 1515 */ - XML_IO_EIO, /* 1516 */ - XML_IO_EISDIR, /* 1517 */ - XML_IO_EMFILE, /* 1518 */ - XML_IO_EMLINK, /* 1519 */ - XML_IO_EMSGSIZE, /* 1520 */ - XML_IO_ENAMETOOLONG, /* 1521 */ - XML_IO_ENFILE, /* 1522 */ - XML_IO_ENODEV, /* 1523 */ - XML_IO_ENOENT, /* 1524 */ - XML_IO_ENOEXEC, /* 1525 */ - XML_IO_ENOLCK, /* 1526 */ - XML_IO_ENOMEM, /* 1527 */ - XML_IO_ENOSPC, /* 1528 */ - XML_IO_ENOSYS, /* 1529 */ - XML_IO_ENOTDIR, /* 1530 */ - XML_IO_ENOTEMPTY, /* 1531 */ - XML_IO_ENOTSUP, /* 1532 */ - XML_IO_ENOTTY, /* 1533 */ - XML_IO_ENXIO, /* 1534 */ - XML_IO_EPERM, /* 1535 */ - XML_IO_EPIPE, /* 1536 */ - XML_IO_ERANGE, /* 1537 */ - XML_IO_EROFS, /* 1538 */ - XML_IO_ESPIPE, /* 1539 */ - XML_IO_ESRCH, /* 1540 */ - XML_IO_ETIMEDOUT, /* 1541 */ - XML_IO_EXDEV, /* 1542 */ - XML_IO_NETWORK_ATTEMPT, /* 1543 */ - XML_IO_ENCODER, /* 1544 */ - XML_IO_FLUSH, /* 1545 */ - XML_IO_WRITE, /* 1546 */ - XML_IO_NO_INPUT, /* 1547 */ - XML_IO_BUFFER_FULL, /* 1548 */ - XML_IO_LOAD_ERROR, /* 1549 */ - XML_IO_ENOTSOCK, /* 1550 */ - XML_IO_EISCONN, /* 1551 */ - XML_IO_ECONNREFUSED, /* 1552 */ - XML_IO_ENETUNREACH, /* 1553 */ - XML_IO_EADDRINUSE, /* 1554 */ - XML_IO_EALREADY, /* 1555 */ - XML_IO_EAFNOSUPPORT, /* 1556 */ - XML_XINCLUDE_RECURSION=1600, - XML_XINCLUDE_PARSE_VALUE, /* 1601 */ - XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */ - XML_XINCLUDE_NO_HREF, /* 1603 */ - XML_XINCLUDE_NO_FALLBACK, /* 1604 */ - XML_XINCLUDE_HREF_URI, /* 1605 */ - XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */ - XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */ - XML_XINCLUDE_INVALID_CHAR, /* 1608 */ - XML_XINCLUDE_BUILD_FAILED, /* 1609 */ - XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */ - XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */ - XML_XINCLUDE_XPTR_FAILED, /* 1612 */ - XML_XINCLUDE_XPTR_RESULT, /* 1613 */ - XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */ - XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */ - XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */ - XML_XINCLUDE_DEPRECATED_NS, /* 1617 */ - XML_XINCLUDE_FRAGMENT_ID, /* 1618 */ - XML_CATALOG_MISSING_ATTR = 1650, - XML_CATALOG_ENTRY_BROKEN, /* 1651 */ - XML_CATALOG_PREFER_VALUE, /* 1652 */ - XML_CATALOG_NOT_CATALOG, /* 1653 */ - XML_CATALOG_RECURSION, /* 1654 */ - XML_SCHEMAP_PREFIX_UNDEFINED = 1700, - XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */ - XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */ - XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */ - XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */ - XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */ - XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */ - XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */ - XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */ - XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */ - XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */ - XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */ - XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */ - XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */ - XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */ - XML_SCHEMAP_INVALID_ENUM, /* 1715 */ - XML_SCHEMAP_INVALID_FACET, /* 1716 */ - XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */ - XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */ - XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */ - XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */ - XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */ - XML_SCHEMAP_NOATTR_NOREF, /* 1722 */ - XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */ - XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */ - XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */ - XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */ - XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */ - XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */ - XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */ - XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */ - XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */ - XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */ - XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */ - XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */ - XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */ - XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */ - XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */ - XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */ - XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */ - XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */ - XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */ - XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */ - XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */ - XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */ - XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */ - XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */ - XML_SCHEMAP_UNKNOWN_REF, /* 1747 */ - XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */ - XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */ - XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */ - XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */ - XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */ - XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */ - XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */ - XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */ - XML_SCHEMAP_REGEXP_INVALID, /* 1756 */ - XML_SCHEMAP_FAILED_LOAD, /* 1757 */ - XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */ - XML_SCHEMAP_NOROOT, /* 1759 */ - XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */ - XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */ - XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */ - XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */ - XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */ - XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */ - XML_SCHEMAP_FAILED_PARSE, /* 1766 */ - XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */ - XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */ - XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */ - XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */ - XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */ - XML_SCHEMAP_NOT_SCHEMA, /* 1772 */ - XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */ - XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */ - XML_SCHEMAP_RECURSIVE, /* 1775 */ - XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */ - XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */ - XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */ - XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */ - XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */ - XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */ - XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */ - XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */ - XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */ - XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */ - XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */ - XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */ - XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */ - XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */ - XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */ - XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */ - XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */ - XML_SCHEMAV_NOROOT = 1801, - XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */ - XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */ - XML_SCHEMAV_MISSING, /* 1804 */ - XML_SCHEMAV_WRONGELEM, /* 1805 */ - XML_SCHEMAV_NOTYPE, /* 1806 */ - XML_SCHEMAV_NOROLLBACK, /* 1807 */ - XML_SCHEMAV_ISABSTRACT, /* 1808 */ - XML_SCHEMAV_NOTEMPTY, /* 1809 */ - XML_SCHEMAV_ELEMCONT, /* 1810 */ - XML_SCHEMAV_HAVEDEFAULT, /* 1811 */ - XML_SCHEMAV_NOTNILLABLE, /* 1812 */ - XML_SCHEMAV_EXTRACONTENT, /* 1813 */ - XML_SCHEMAV_INVALIDATTR, /* 1814 */ - XML_SCHEMAV_INVALIDELEM, /* 1815 */ - XML_SCHEMAV_NOTDETERMINIST, /* 1816 */ - XML_SCHEMAV_CONSTRUCT, /* 1817 */ - XML_SCHEMAV_INTERNAL, /* 1818 */ - XML_SCHEMAV_NOTSIMPLE, /* 1819 */ - XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */ - XML_SCHEMAV_ATTRINVALID, /* 1821 */ - XML_SCHEMAV_VALUE, /* 1822 */ - XML_SCHEMAV_FACET, /* 1823 */ - XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */ - XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */ - XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */ - XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */ - XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */ - XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */ - XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */ - XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */ - XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */ - XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */ - XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */ - XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */ - XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */ - XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */ - XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */ - XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */ - XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */ - XML_SCHEMAV_CVC_ELT_1, /* 1845 */ - XML_SCHEMAV_CVC_ELT_2, /* 1846 */ - XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */ - XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */ - XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */ - XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */ - XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */ - XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */ - XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */ - XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */ - XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */ - XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */ - XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */ - XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */ - XML_SCHEMAV_CVC_ELT_6, /* 1859 */ - XML_SCHEMAV_CVC_ELT_7, /* 1860 */ - XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */ - XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */ - XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */ - XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */ - XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */ - XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */ - XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */ - XML_SCHEMAV_CVC_AU, /* 1874 */ - XML_SCHEMAV_CVC_TYPE_1, /* 1875 */ - XML_SCHEMAV_CVC_TYPE_2, /* 1876 */ - XML_SCHEMAV_CVC_IDC, /* 1877 */ - XML_SCHEMAV_CVC_WILDCARD, /* 1878 */ - XML_SCHEMAV_MISC, /* 1879 */ - XML_XPTR_UNKNOWN_SCHEME = 1900, - XML_XPTR_CHILDSEQ_START, /* 1901 */ - XML_XPTR_EVAL_FAILED, /* 1902 */ - XML_XPTR_EXTRA_OBJECTS, /* 1903 */ - XML_C14N_CREATE_CTXT = 1950, - XML_C14N_REQUIRES_UTF8, /* 1951 */ - XML_C14N_CREATE_STACK, /* 1952 */ - XML_C14N_INVALID_NODE, /* 1953 */ - XML_C14N_UNKNOW_NODE, /* 1954 */ - XML_C14N_RELATIVE_NAMESPACE, /* 1955 */ - XML_FTP_PASV_ANSWER = 2000, - XML_FTP_EPSV_ANSWER, /* 2001 */ - XML_FTP_ACCNT, /* 2002 */ - XML_FTP_URL_SYNTAX, /* 2003 */ - XML_HTTP_URL_SYNTAX = 2020, - XML_HTTP_USE_IP, /* 2021 */ - XML_HTTP_UNKNOWN_HOST, /* 2022 */ - XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, - XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */ - XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */ - XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */ - XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ - XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */ - XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */ - XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */ - XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */ - XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */ - XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */ - XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */ - XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */ - XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */ - XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */ - XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */ - XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */ - XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ - XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */ - XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */ - XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */ - XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */ - XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */ - XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */ - XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */ - XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */ - XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */ - XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */ - XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */ - XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */ - XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */ - XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */ - XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */ - XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */ - XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */ - XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */ - XML_SCHEMAP_SRC_INCLUDE, /* 3050 */ - XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */ - XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */ - XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */ - XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */ - XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */ - XML_SCHEMAP_NO_XMLNS, /* 3056 */ - XML_SCHEMAP_NO_XSI, /* 3057 */ - XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */ - XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */ - XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */ - XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */ - XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */ - XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */ - XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */ - XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */ - XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */ - XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */ - XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */ - XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */ - XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */ - XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */ - XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */ - XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */ - XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */ - XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */ - XML_SCHEMAP_SRC_CT_1, /* 3076 */ - XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */ - XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */ - XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */ - XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */ - XML_SCHEMAP_SRC_REDEFINE, /* 3081 */ - XML_SCHEMAP_SRC_IMPORT, /* 3082 */ - XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */ - XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */ - XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */ - XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */ - XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */ - XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */ - XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */ - XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */ - XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */ - XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */ - XML_SCHEMATRONV_REPORT, - XML_MODULE_OPEN = 4900, /* 4900 */ - XML_MODULE_CLOSE, /* 4901 */ - XML_CHECK_FOUND_ELEMENT = 5000, - XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */ - XML_CHECK_FOUND_TEXT, /* 5002 */ - XML_CHECK_FOUND_CDATA, /* 5003 */ - XML_CHECK_FOUND_ENTITYREF, /* 5004 */ - XML_CHECK_FOUND_ENTITY, /* 5005 */ - XML_CHECK_FOUND_PI, /* 5006 */ - XML_CHECK_FOUND_COMMENT, /* 5007 */ - XML_CHECK_FOUND_DOCTYPE, /* 5008 */ - XML_CHECK_FOUND_FRAGMENT, /* 5009 */ - XML_CHECK_FOUND_NOTATION, /* 5010 */ - XML_CHECK_UNKNOWN_NODE, /* 5011 */ - XML_CHECK_ENTITY_TYPE, /* 5012 */ - XML_CHECK_NO_PARENT, /* 5013 */ - XML_CHECK_NO_DOC, /* 5014 */ - XML_CHECK_NO_NAME, /* 5015 */ - XML_CHECK_NO_ELEM, /* 5016 */ - XML_CHECK_WRONG_DOC, /* 5017 */ - XML_CHECK_NO_PREV, /* 5018 */ - XML_CHECK_WRONG_PREV, /* 5019 */ - XML_CHECK_NO_NEXT, /* 5020 */ - XML_CHECK_WRONG_NEXT, /* 5021 */ - XML_CHECK_NOT_DTD, /* 5022 */ - XML_CHECK_NOT_ATTR, /* 5023 */ - XML_CHECK_NOT_ATTR_DECL, /* 5024 */ - XML_CHECK_NOT_ELEM_DECL, /* 5025 */ - XML_CHECK_NOT_ENTITY_DECL, /* 5026 */ - XML_CHECK_NOT_NS_DECL, /* 5027 */ - XML_CHECK_NO_HREF, /* 5028 */ - XML_CHECK_WRONG_PARENT,/* 5029 */ - XML_CHECK_NS_SCOPE, /* 5030 */ - XML_CHECK_NS_ANCESTOR, /* 5031 */ - XML_CHECK_NOT_UTF8, /* 5032 */ - XML_CHECK_NO_DICT, /* 5033 */ - XML_CHECK_NOT_NCNAME, /* 5034 */ - XML_CHECK_OUTSIDE_DICT, /* 5035 */ - XML_CHECK_WRONG_NAME, /* 5036 */ - XML_CHECK_NAME_NOT_NULL, /* 5037 */ - XML_I18N_NO_NAME = 6000, - XML_I18N_NO_HANDLER, /* 6001 */ - XML_I18N_EXCESS_HANDLER, /* 6002 */ - XML_I18N_CONV_FAILED, /* 6003 */ - XML_I18N_NO_OUTPUT, /* 6004 */ - XML_BUF_OVERFLOW = 7000 -} xmlParserErrors; - -/** - * xmlGenericErrorFunc: - * @ctx: a parsing context - * @msg: the message - * @...: the extra arguments of the varargs to format the message - * - * Signature of the function to use when there is an error and - * no parsing or validity context available . - */ -typedef void (*xmlGenericErrorFunc) (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); -/** - * xmlStructuredErrorFunc: - * @userData: user provided data for the error callback - * @error: the error being raised. - * - * Signature of the function to use when there is an error and - * the module handles the new error reporting mechanism. - */ -typedef void (*xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error); - -/* - * Use the following function to reset the two global variables - * xmlGenericError and xmlGenericErrorContext. - */ -XMLPUBFUN void - xmlSetGenericErrorFunc (void *ctx, - xmlGenericErrorFunc handler); -XML_DEPRECATED -XMLPUBFUN void - initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler); - -XMLPUBFUN void - xmlSetStructuredErrorFunc (void *ctx, - xmlStructuredErrorFunc handler); -/* - * Default message routines used by SAX and Valid context for error - * and warning reporting. - */ -XMLPUBFUN void - xmlParserError (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); -XMLPUBFUN void - xmlParserWarning (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); -XMLPUBFUN void - xmlParserValidityError (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); -XMLPUBFUN void - xmlParserValidityWarning (void *ctx, - const char *msg, - ...) LIBXML_ATTR_FORMAT(2,3); -XMLPUBFUN void - xmlParserPrintFileInfo (xmlParserInputPtr input); -XMLPUBFUN void - xmlParserPrintFileContext (xmlParserInputPtr input); - -/* - * Extended error information routines - */ -XMLPUBFUN xmlErrorPtr - xmlGetLastError (void); -XMLPUBFUN void - xmlResetLastError (void); -XMLPUBFUN xmlErrorPtr - xmlCtxtGetLastError (void *ctx); -XMLPUBFUN void - xmlCtxtResetLastError (void *ctx); -XMLPUBFUN void - xmlResetError (xmlErrorPtr err); -XMLPUBFUN int - xmlCopyError (xmlErrorPtr from, - xmlErrorPtr to); - -#ifdef __cplusplus -} -#endif -#endif /* __XML_ERROR_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlexports.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlexports.h deleted file mode 100644 index 3b063e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlexports.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Summary: macros for marking symbols as exportable/importable. - * Description: macros for marking symbols as exportable/importable. - * - * Copy: See Copyright for the status of this software. - */ - -#ifndef __XML_EXPORTS_H__ -#define __XML_EXPORTS_H__ - -/** DOC_DISABLE */ -#if defined(_WIN32) || defined(__CYGWIN__) - #ifdef LIBXML_STATIC - #define XMLPUBLIC - #elif defined(IN_LIBXML) - #define XMLPUBLIC __declspec(dllexport) - #else - #define XMLPUBLIC __declspec(dllimport) - #endif -#else /* not Windows */ - #define XMLPUBLIC -#endif /* platform switch */ -/** DOC_ENABLE */ - -/* - * XMLPUBFUN: - * - * Macro which declares an exportable function - */ -#define XMLPUBFUN XMLPUBLIC - -/** - * XMLPUBVAR: - * - * Macro which declares an exportable variable - */ -#define XMLPUBVAR XMLPUBLIC extern - -/** DOC_DISABLE */ -/* Compatibility */ -#define XMLCALL -#define XMLCDECL -#if !defined(LIBXML_DLL_IMPORT) -#define LIBXML_DLL_IMPORT XMLPUBVAR -#endif -/** DOC_ENABLE */ - -#endif /* __XML_EXPORTS_H__ */ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlmemory.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlmemory.h deleted file mode 100644 index 830933a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Summary: interface for the memory allocator - * Description: provides interfaces for the memory allocator, - * including debugging capabilities. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __DEBUG_MEMORY_ALLOC__ -#define __DEBUG_MEMORY_ALLOC__ - -#include <stdio.h> -#include <libxml/xmlversion.h> - -/** - * DEBUG_MEMORY: - * - * DEBUG_MEMORY replaces the allocator with a collect and debug - * shell to the libc allocator. - * DEBUG_MEMORY should only be activated when debugging - * libxml i.e. if libxml has been configured with --with-debug-mem too. - */ -/* #define DEBUG_MEMORY_FREED */ -/* #define DEBUG_MEMORY_LOCATION */ - -#ifdef DEBUG -#ifndef DEBUG_MEMORY -#define DEBUG_MEMORY -#endif -#endif - -/** - * DEBUG_MEMORY_LOCATION: - * - * DEBUG_MEMORY_LOCATION should be activated only when debugging - * libxml i.e. if libxml has been configured with --with-debug-mem too. - */ -#ifdef DEBUG_MEMORY_LOCATION -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The XML memory wrapper support 4 basic overloadable functions. - */ -/** - * xmlFreeFunc: - * @mem: an already allocated block of memory - * - * Signature for a free() implementation. - */ -typedef void (*xmlFreeFunc)(void *mem); -/** - * xmlMallocFunc: - * @size: the size requested in bytes - * - * Signature for a malloc() implementation. - * - * Returns a pointer to the newly allocated block or NULL in case of error. - */ -typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) *xmlMallocFunc)(size_t size); - -/** - * xmlReallocFunc: - * @mem: an already allocated block of memory - * @size: the new size requested in bytes - * - * Signature for a realloc() implementation. - * - * Returns a pointer to the newly reallocated block or NULL in case of error. - */ -typedef void *(*xmlReallocFunc)(void *mem, size_t size); - -/** - * xmlStrdupFunc: - * @str: a zero terminated string - * - * Signature for an strdup() implementation. - * - * Returns the copy of the string or NULL in case of error. - */ -typedef char *(*xmlStrdupFunc)(const char *str); - -/* - * The 4 interfaces used for all memory handling within libxml. -LIBXML_DLL_IMPORT xmlFreeFunc xmlFree; -LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc; -LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic; -LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc; -LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup; - */ - -/* - * The way to overload the existing functions. - * The xmlGc function have an extra entry for atomic block - * allocations useful for garbage collected memory allocators - */ -XMLPUBFUN int - xmlMemSetup (xmlFreeFunc freeFunc, - xmlMallocFunc mallocFunc, - xmlReallocFunc reallocFunc, - xmlStrdupFunc strdupFunc); -XMLPUBFUN int - xmlMemGet (xmlFreeFunc *freeFunc, - xmlMallocFunc *mallocFunc, - xmlReallocFunc *reallocFunc, - xmlStrdupFunc *strdupFunc); -XMLPUBFUN int - xmlGcMemSetup (xmlFreeFunc freeFunc, - xmlMallocFunc mallocFunc, - xmlMallocFunc mallocAtomicFunc, - xmlReallocFunc reallocFunc, - xmlStrdupFunc strdupFunc); -XMLPUBFUN int - xmlGcMemGet (xmlFreeFunc *freeFunc, - xmlMallocFunc *mallocFunc, - xmlMallocFunc *mallocAtomicFunc, - xmlReallocFunc *reallocFunc, - xmlStrdupFunc *strdupFunc); - -/* - * Initialization of the memory layer. - */ -XML_DEPRECATED -XMLPUBFUN int - xmlInitMemory (void); - -/* - * Cleanup of the memory layer. - */ -XML_DEPRECATED -XMLPUBFUN void - xmlCleanupMemory (void); -/* - * These are specific to the XML debug memory wrapper. - */ -XMLPUBFUN size_t - xmlMemSize (void *ptr); -XMLPUBFUN int - xmlMemUsed (void); -XMLPUBFUN int - xmlMemBlocks (void); -XMLPUBFUN void - xmlMemDisplay (FILE *fp); -XMLPUBFUN void - xmlMemDisplayLast(FILE *fp, long nbBytes); -XMLPUBFUN void - xmlMemShow (FILE *fp, int nr); -XMLPUBFUN void - xmlMemoryDump (void); -XMLPUBFUN void * - xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1); -XMLPUBFUN void * - xmlMemRealloc (void *ptr,size_t size); -XMLPUBFUN void - xmlMemFree (void *ptr); -XMLPUBFUN char * - xmlMemoryStrdup (const char *str); -XMLPUBFUN void * - xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); -XMLPUBFUN void * - xmlReallocLoc (void *ptr, size_t size, const char *file, int line); -XMLPUBFUN void * - xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); -XMLPUBFUN char * - xmlMemStrdupLoc (const char *str, const char *file, int line); - - -#ifdef DEBUG_MEMORY_LOCATION -/** - * xmlMalloc: - * @size: number of bytes to allocate - * - * Wrapper for the malloc() function used in the XML library. - * - * Returns the pointer to the allocated area or NULL in case of error. - */ -#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__) -/** - * xmlMallocAtomic: - * @size: number of bytes to allocate - * - * Wrapper for the malloc() function used in the XML library for allocation - * of block not containing pointers to other areas. - * - * Returns the pointer to the allocated area or NULL in case of error. - */ -#define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__) -/** - * xmlRealloc: - * @ptr: pointer to the existing allocated area - * @size: number of bytes to allocate - * - * Wrapper for the realloc() function used in the XML library. - * - * Returns the pointer to the allocated area or NULL in case of error. - */ -#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__) -/** - * xmlMemStrdup: - * @str: pointer to the existing string - * - * Wrapper for the strdup() function, xmlStrdup() is usually preferred. - * - * Returns the pointer to the allocated area or NULL in case of error. - */ -#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__) - -#endif /* DEBUG_MEMORY_LOCATION */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#ifndef __XML_GLOBALS_H -#ifndef __XML_THREADS_H__ -#include <libxml/threads.h> -#include <libxml/globals.h> -#endif -#endif - -#endif /* __DEBUG_MEMORY_ALLOC__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlmodule.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlmodule.h deleted file mode 100644 index 279986c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Summary: dynamic module loading - * Description: basic API for dynamic module loading, used by - * libexslt added in 2.6.17 - * - * Copy: See Copyright for the status of this software. - * - * Author: Joel W. Reed - */ - -#ifndef __XML_MODULE_H__ -#define __XML_MODULE_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_MODULES_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlModulePtr: - * - * A handle to a dynamically loaded module - */ -typedef struct _xmlModule xmlModule; -typedef xmlModule *xmlModulePtr; - -/** - * xmlModuleOption: - * - * enumeration of options that can be passed down to xmlModuleOpen() - */ -typedef enum { - XML_MODULE_LAZY = 1, /* lazy binding */ - XML_MODULE_LOCAL= 2 /* local binding */ -} xmlModuleOption; - -XMLPUBFUN xmlModulePtr xmlModuleOpen (const char *filename, - int options); - -XMLPUBFUN int xmlModuleSymbol (xmlModulePtr module, - const char* name, - void **result); - -XMLPUBFUN int xmlModuleClose (xmlModulePtr module); - -XMLPUBFUN int xmlModuleFree (xmlModulePtr module); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_MODULES_ENABLED */ - -#endif /*__XML_MODULE_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlreader.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlreader.h deleted file mode 100644 index 1ac1510..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlreader.h +++ /dev/null @@ -1,428 +0,0 @@ -/* - * Summary: the XMLReader implementation - * Description: API of the XML streaming API based on C# interfaces. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XMLREADER_H__ -#define __XML_XMLREADER_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> -#include <libxml/xmlIO.h> -#ifdef LIBXML_SCHEMAS_ENABLED -#include <libxml/relaxng.h> -#include <libxml/xmlschemas.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlParserSeverities: - * - * How severe an error callback is when the per-reader error callback API - * is used. - */ -typedef enum { - XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, - XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, - XML_PARSER_SEVERITY_WARNING = 3, - XML_PARSER_SEVERITY_ERROR = 4 -} xmlParserSeverities; - -#ifdef LIBXML_READER_ENABLED - -/** - * xmlTextReaderMode: - * - * Internal state values for the reader. - */ -typedef enum { - XML_TEXTREADER_MODE_INITIAL = 0, - XML_TEXTREADER_MODE_INTERACTIVE = 1, - XML_TEXTREADER_MODE_ERROR = 2, - XML_TEXTREADER_MODE_EOF =3, - XML_TEXTREADER_MODE_CLOSED = 4, - XML_TEXTREADER_MODE_READING = 5 -} xmlTextReaderMode; - -/** - * xmlParserProperties: - * - * Some common options to use with xmlTextReaderSetParserProp, but it - * is better to use xmlParserOption and the xmlReaderNewxxx and - * xmlReaderForxxx APIs now. - */ -typedef enum { - XML_PARSER_LOADDTD = 1, - XML_PARSER_DEFAULTATTRS = 2, - XML_PARSER_VALIDATE = 3, - XML_PARSER_SUBST_ENTITIES = 4 -} xmlParserProperties; - -/** - * xmlReaderTypes: - * - * Predefined constants for the different types of nodes. - */ -typedef enum { - XML_READER_TYPE_NONE = 0, - XML_READER_TYPE_ELEMENT = 1, - XML_READER_TYPE_ATTRIBUTE = 2, - XML_READER_TYPE_TEXT = 3, - XML_READER_TYPE_CDATA = 4, - XML_READER_TYPE_ENTITY_REFERENCE = 5, - XML_READER_TYPE_ENTITY = 6, - XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, - XML_READER_TYPE_COMMENT = 8, - XML_READER_TYPE_DOCUMENT = 9, - XML_READER_TYPE_DOCUMENT_TYPE = 10, - XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, - XML_READER_TYPE_NOTATION = 12, - XML_READER_TYPE_WHITESPACE = 13, - XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, - XML_READER_TYPE_END_ELEMENT = 15, - XML_READER_TYPE_END_ENTITY = 16, - XML_READER_TYPE_XML_DECLARATION = 17 -} xmlReaderTypes; - -/** - * xmlTextReader: - * - * Structure for an xmlReader context. - */ -typedef struct _xmlTextReader xmlTextReader; - -/** - * xmlTextReaderPtr: - * - * Pointer to an xmlReader context. - */ -typedef xmlTextReader *xmlTextReaderPtr; - -/* - * Constructors & Destructor - */ -XMLPUBFUN xmlTextReaderPtr - xmlNewTextReader (xmlParserInputBufferPtr input, - const char *URI); -XMLPUBFUN xmlTextReaderPtr - xmlNewTextReaderFilename(const char *URI); - -XMLPUBFUN void - xmlFreeTextReader (xmlTextReaderPtr reader); - -XMLPUBFUN int - xmlTextReaderSetup(xmlTextReaderPtr reader, - xmlParserInputBufferPtr input, const char *URL, - const char *encoding, int options); - -/* - * Iterators - */ -XMLPUBFUN int - xmlTextReaderRead (xmlTextReaderPtr reader); - -#ifdef LIBXML_WRITER_ENABLED -XMLPUBFUN xmlChar * - xmlTextReaderReadInnerXml(xmlTextReaderPtr reader); - -XMLPUBFUN xmlChar * - xmlTextReaderReadOuterXml(xmlTextReaderPtr reader); -#endif - -XMLPUBFUN xmlChar * - xmlTextReaderReadString (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader); - -/* - * Attributes of the node - */ -XMLPUBFUN int - xmlTextReaderAttributeCount(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderDepth (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderHasAttributes(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderHasValue(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderIsDefault (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderNodeType (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderQuoteChar (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderReadState (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader); - -XMLPUBFUN const xmlChar * - xmlTextReaderConstBaseUri (xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstLocalName (xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstName (xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstPrefix (xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstXmlLang (xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstString (xmlTextReaderPtr reader, - const xmlChar *str); -XMLPUBFUN const xmlChar * - xmlTextReaderConstValue (xmlTextReaderPtr reader); - -/* - * use the Const version of the routine for - * better performance and simpler code - */ -XMLPUBFUN xmlChar * - xmlTextReaderBaseUri (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderLocalName (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderName (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderPrefix (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderXmlLang (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderValue (xmlTextReaderPtr reader); - -/* - * Methods of the XmlTextReader - */ -XMLPUBFUN int - xmlTextReaderClose (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, - int no); -XMLPUBFUN xmlChar * - xmlTextReaderGetAttribute (xmlTextReaderPtr reader, - const xmlChar *name); -XMLPUBFUN xmlChar * - xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, - const xmlChar *localName, - const xmlChar *namespaceURI); -XMLPUBFUN xmlParserInputBufferPtr - xmlTextReaderGetRemainder (xmlTextReaderPtr reader); -XMLPUBFUN xmlChar * - xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, - const xmlChar *prefix); -XMLPUBFUN int - xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, - int no); -XMLPUBFUN int - xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, - const xmlChar *name); -XMLPUBFUN int - xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, - const xmlChar *localName, - const xmlChar *namespaceURI); -XMLPUBFUN int - xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderMoveToElement (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderNormalization (xmlTextReaderPtr reader); -XMLPUBFUN const xmlChar * - xmlTextReaderConstEncoding (xmlTextReaderPtr reader); - -/* - * Extensions - */ -XMLPUBFUN int - xmlTextReaderSetParserProp (xmlTextReaderPtr reader, - int prop, - int value); -XMLPUBFUN int - xmlTextReaderGetParserProp (xmlTextReaderPtr reader, - int prop); -XMLPUBFUN xmlNodePtr - xmlTextReaderCurrentNode (xmlTextReaderPtr reader); - -XMLPUBFUN int - xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader); - -XMLPUBFUN int - xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader); - -XMLPUBFUN xmlNodePtr - xmlTextReaderPreserve (xmlTextReaderPtr reader); -#ifdef LIBXML_PATTERN_ENABLED -XMLPUBFUN int - xmlTextReaderPreservePattern(xmlTextReaderPtr reader, - const xmlChar *pattern, - const xmlChar **namespaces); -#endif /* LIBXML_PATTERN_ENABLED */ -XMLPUBFUN xmlDocPtr - xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); -XMLPUBFUN xmlNodePtr - xmlTextReaderExpand (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderNext (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderNextSibling (xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderIsValid (xmlTextReaderPtr reader); -#ifdef LIBXML_SCHEMAS_ENABLED -XMLPUBFUN int - xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, - const char *rng); -XMLPUBFUN int - xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader, - xmlRelaxNGValidCtxtPtr ctxt, - int options); - -XMLPUBFUN int - xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, - xmlRelaxNGPtr schema); -XMLPUBFUN int - xmlTextReaderSchemaValidate (xmlTextReaderPtr reader, - const char *xsd); -XMLPUBFUN int - xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader, - xmlSchemaValidCtxtPtr ctxt, - int options); -XMLPUBFUN int - xmlTextReaderSetSchema (xmlTextReaderPtr reader, - xmlSchemaPtr schema); -#endif -XMLPUBFUN const xmlChar * - xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader); -XMLPUBFUN int - xmlTextReaderStandalone (xmlTextReaderPtr reader); - - -/* - * Index lookup - */ -XMLPUBFUN long - xmlTextReaderByteConsumed (xmlTextReaderPtr reader); - -/* - * New more complete APIs for simpler creation and reuse of readers - */ -XMLPUBFUN xmlTextReaderPtr - xmlReaderWalker (xmlDocPtr doc); -XMLPUBFUN xmlTextReaderPtr - xmlReaderForDoc (const xmlChar * cur, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlTextReaderPtr - xmlReaderForFile (const char *filename, - const char *encoding, - int options); -XMLPUBFUN xmlTextReaderPtr - xmlReaderForMemory (const char *buffer, - int size, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlTextReaderPtr - xmlReaderForFd (int fd, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN xmlTextReaderPtr - xmlReaderForIO (xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - const char *URL, - const char *encoding, - int options); - -XMLPUBFUN int - xmlReaderNewWalker (xmlTextReaderPtr reader, - xmlDocPtr doc); -XMLPUBFUN int - xmlReaderNewDoc (xmlTextReaderPtr reader, - const xmlChar * cur, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN int - xmlReaderNewFile (xmlTextReaderPtr reader, - const char *filename, - const char *encoding, - int options); -XMLPUBFUN int - xmlReaderNewMemory (xmlTextReaderPtr reader, - const char *buffer, - int size, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN int - xmlReaderNewFd (xmlTextReaderPtr reader, - int fd, - const char *URL, - const char *encoding, - int options); -XMLPUBFUN int - xmlReaderNewIO (xmlTextReaderPtr reader, - xmlInputReadCallback ioread, - xmlInputCloseCallback ioclose, - void *ioctx, - const char *URL, - const char *encoding, - int options); -/* - * Error handling extensions - */ -typedef void * xmlTextReaderLocatorPtr; - -/** - * xmlTextReaderErrorFunc: - * @arg: the user argument - * @msg: the message - * @severity: the severity of the error - * @locator: a locator indicating where the error occurred - * - * Signature of an error callback from a reader parser - */ -typedef void (*xmlTextReaderErrorFunc)(void *arg, - const char *msg, - xmlParserSeverities severity, - xmlTextReaderLocatorPtr locator); -XMLPUBFUN int - xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); -XMLPUBFUN xmlChar * - xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); -XMLPUBFUN void - xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, - xmlTextReaderErrorFunc f, - void *arg); -XMLPUBFUN void - xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, - xmlStructuredErrorFunc f, - void *arg); -XMLPUBFUN void - xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, - xmlTextReaderErrorFunc *f, - void **arg); - -#endif /* LIBXML_READER_ENABLED */ - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XMLREADER_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlregexp.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlregexp.h deleted file mode 100644 index 39a72ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Summary: regular expressions handling - * Description: basic API for libxml regular expressions handling used - * for XML Schemas and validation. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_REGEXP_H__ -#define __XML_REGEXP_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_REGEXP_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlRegexpPtr: - * - * A libxml regular expression, they can actually be far more complex - * thank the POSIX regex expressions. - */ -typedef struct _xmlRegexp xmlRegexp; -typedef xmlRegexp *xmlRegexpPtr; - -/** - * xmlRegExecCtxtPtr: - * - * A libxml progressive regular expression evaluation context - */ -typedef struct _xmlRegExecCtxt xmlRegExecCtxt; -typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; - -#ifdef __cplusplus -} -#endif -#include <libxml/tree.h> -#include <libxml/dict.h> -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The POSIX like API - */ -XMLPUBFUN xmlRegexpPtr - xmlRegexpCompile (const xmlChar *regexp); -XMLPUBFUN void xmlRegFreeRegexp(xmlRegexpPtr regexp); -XMLPUBFUN int - xmlRegexpExec (xmlRegexpPtr comp, - const xmlChar *value); -XMLPUBFUN void - xmlRegexpPrint (FILE *output, - xmlRegexpPtr regexp); -XMLPUBFUN int - xmlRegexpIsDeterminist(xmlRegexpPtr comp); - -/** - * xmlRegExecCallbacks: - * @exec: the regular expression context - * @token: the current token string - * @transdata: transition data - * @inputdata: input data - * - * Callback function when doing a transition in the automata - */ -typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, - const xmlChar *token, - void *transdata, - void *inputdata); - -/* - * The progressive API - */ -XMLPUBFUN xmlRegExecCtxtPtr - xmlRegNewExecCtxt (xmlRegexpPtr comp, - xmlRegExecCallbacks callback, - void *data); -XMLPUBFUN void - xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); -XMLPUBFUN int - xmlRegExecPushString(xmlRegExecCtxtPtr exec, - const xmlChar *value, - void *data); -XMLPUBFUN int - xmlRegExecPushString2(xmlRegExecCtxtPtr exec, - const xmlChar *value, - const xmlChar *value2, - void *data); - -XMLPUBFUN int - xmlRegExecNextValues(xmlRegExecCtxtPtr exec, - int *nbval, - int *nbneg, - xmlChar **values, - int *terminal); -XMLPUBFUN int - xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, - const xmlChar **string, - int *nbval, - int *nbneg, - xmlChar **values, - int *terminal); -#ifdef LIBXML_EXPR_ENABLED -/* - * Formal regular expression handling - * Its goal is to do some formal work on content models - */ - -/* expressions are used within a context */ -typedef struct _xmlExpCtxt xmlExpCtxt; -typedef xmlExpCtxt *xmlExpCtxtPtr; - -XMLPUBFUN void - xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); -XMLPUBFUN xmlExpCtxtPtr - xmlExpNewCtxt (int maxNodes, - xmlDictPtr dict); - -XMLPUBFUN int - xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); -XMLPUBFUN int - xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); - -/* Expressions are trees but the tree is opaque */ -typedef struct _xmlExpNode xmlExpNode; -typedef xmlExpNode *xmlExpNodePtr; - -typedef enum { - XML_EXP_EMPTY = 0, - XML_EXP_FORBID = 1, - XML_EXP_ATOM = 2, - XML_EXP_SEQ = 3, - XML_EXP_OR = 4, - XML_EXP_COUNT = 5 -} xmlExpNodeType; - -/* - * 2 core expressions shared by all for the empty language set - * and for the set with just the empty token - */ -XMLPUBVAR xmlExpNodePtr forbiddenExp; -XMLPUBVAR xmlExpNodePtr emptyExp; - -/* - * Expressions are reference counted internally - */ -XMLPUBFUN void - xmlExpFree (xmlExpCtxtPtr ctxt, - xmlExpNodePtr expr); -XMLPUBFUN void - xmlExpRef (xmlExpNodePtr expr); - -/* - * constructors can be either manual or from a string - */ -XMLPUBFUN xmlExpNodePtr - xmlExpParse (xmlExpCtxtPtr ctxt, - const char *expr); -XMLPUBFUN xmlExpNodePtr - xmlExpNewAtom (xmlExpCtxtPtr ctxt, - const xmlChar *name, - int len); -XMLPUBFUN xmlExpNodePtr - xmlExpNewOr (xmlExpCtxtPtr ctxt, - xmlExpNodePtr left, - xmlExpNodePtr right); -XMLPUBFUN xmlExpNodePtr - xmlExpNewSeq (xmlExpCtxtPtr ctxt, - xmlExpNodePtr left, - xmlExpNodePtr right); -XMLPUBFUN xmlExpNodePtr - xmlExpNewRange (xmlExpCtxtPtr ctxt, - xmlExpNodePtr subset, - int min, - int max); -/* - * The really interesting APIs - */ -XMLPUBFUN int - xmlExpIsNillable(xmlExpNodePtr expr); -XMLPUBFUN int - xmlExpMaxToken (xmlExpNodePtr expr); -XMLPUBFUN int - xmlExpGetLanguage(xmlExpCtxtPtr ctxt, - xmlExpNodePtr expr, - const xmlChar**langList, - int len); -XMLPUBFUN int - xmlExpGetStart (xmlExpCtxtPtr ctxt, - xmlExpNodePtr expr, - const xmlChar**tokList, - int len); -XMLPUBFUN xmlExpNodePtr - xmlExpStringDerive(xmlExpCtxtPtr ctxt, - xmlExpNodePtr expr, - const xmlChar *str, - int len); -XMLPUBFUN xmlExpNodePtr - xmlExpExpDerive (xmlExpCtxtPtr ctxt, - xmlExpNodePtr expr, - xmlExpNodePtr sub); -XMLPUBFUN int - xmlExpSubsume (xmlExpCtxtPtr ctxt, - xmlExpNodePtr expr, - xmlExpNodePtr sub); -XMLPUBFUN void - xmlExpDump (xmlBufferPtr buf, - xmlExpNodePtr expr); -#endif /* LIBXML_EXPR_ENABLED */ -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_REGEXP_ENABLED */ - -#endif /*__XML_REGEXP_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlsave.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlsave.h deleted file mode 100644 index a744b7a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlsave.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Summary: the XML document serializer - * Description: API to save document or subtree of document - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XMLSAVE_H__ -#define __XML_XMLSAVE_H__ - -#include <libxml/xmlversion.h> -#include <libxml/tree.h> -#include <libxml/encoding.h> -#include <libxml/xmlIO.h> - -#ifdef LIBXML_OUTPUT_ENABLED -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlSaveOption: - * - * This is the set of XML save options that can be passed down - * to the xmlSaveToFd() and similar calls. - */ -typedef enum { - XML_SAVE_FORMAT = 1<<0, /* format save output */ - XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */ - XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */ - XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */ - XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */ - XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */ - XML_SAVE_AS_HTML = 1<<6, /* force HTML serialization on XML doc */ - XML_SAVE_WSNONSIG = 1<<7 /* format with non-significant whitespace */ -} xmlSaveOption; - - -typedef struct _xmlSaveCtxt xmlSaveCtxt; -typedef xmlSaveCtxt *xmlSaveCtxtPtr; - -XMLPUBFUN xmlSaveCtxtPtr - xmlSaveToFd (int fd, - const char *encoding, - int options); -XMLPUBFUN xmlSaveCtxtPtr - xmlSaveToFilename (const char *filename, - const char *encoding, - int options); - -XMLPUBFUN xmlSaveCtxtPtr - xmlSaveToBuffer (xmlBufferPtr buffer, - const char *encoding, - int options); - -XMLPUBFUN xmlSaveCtxtPtr - xmlSaveToIO (xmlOutputWriteCallback iowrite, - xmlOutputCloseCallback ioclose, - void *ioctx, - const char *encoding, - int options); - -XMLPUBFUN long - xmlSaveDoc (xmlSaveCtxtPtr ctxt, - xmlDocPtr doc); -XMLPUBFUN long - xmlSaveTree (xmlSaveCtxtPtr ctxt, - xmlNodePtr node); - -XMLPUBFUN int - xmlSaveFlush (xmlSaveCtxtPtr ctxt); -XMLPUBFUN int - xmlSaveClose (xmlSaveCtxtPtr ctxt); -XMLPUBFUN int - xmlSaveSetEscape (xmlSaveCtxtPtr ctxt, - xmlCharEncodingOutputFunc escape); -XMLPUBFUN int - xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt, - xmlCharEncodingOutputFunc escape); -#ifdef __cplusplus -} -#endif -#endif /* LIBXML_OUTPUT_ENABLED */ -#endif /* __XML_XMLSAVE_H__ */ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlschemas.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlschemas.h deleted file mode 100644 index 4d61ad0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Summary: incomplete XML Schemas structure implementation - * Description: interface to the XML Schemas handling and schema validity - * checking, it is incomplete right now. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_SCHEMA_H__ -#define __XML_SCHEMA_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_SCHEMAS_ENABLED - -#include <libxml/tree.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * This error codes are obsolete; not used any more. - */ -typedef enum { - XML_SCHEMAS_ERR_OK = 0, - XML_SCHEMAS_ERR_NOROOT = 1, - XML_SCHEMAS_ERR_UNDECLAREDELEM, - XML_SCHEMAS_ERR_NOTTOPLEVEL, - XML_SCHEMAS_ERR_MISSING, - XML_SCHEMAS_ERR_WRONGELEM, - XML_SCHEMAS_ERR_NOTYPE, - XML_SCHEMAS_ERR_NOROLLBACK, - XML_SCHEMAS_ERR_ISABSTRACT, - XML_SCHEMAS_ERR_NOTEMPTY, - XML_SCHEMAS_ERR_ELEMCONT, - XML_SCHEMAS_ERR_HAVEDEFAULT, - XML_SCHEMAS_ERR_NOTNILLABLE, - XML_SCHEMAS_ERR_EXTRACONTENT, - XML_SCHEMAS_ERR_INVALIDATTR, - XML_SCHEMAS_ERR_INVALIDELEM, - XML_SCHEMAS_ERR_NOTDETERMINIST, - XML_SCHEMAS_ERR_CONSTRUCT, - XML_SCHEMAS_ERR_INTERNAL, - XML_SCHEMAS_ERR_NOTSIMPLE, - XML_SCHEMAS_ERR_ATTRUNKNOWN, - XML_SCHEMAS_ERR_ATTRINVALID, - XML_SCHEMAS_ERR_VALUE, - XML_SCHEMAS_ERR_FACET, - XML_SCHEMAS_ERR_, - XML_SCHEMAS_ERR_XXX -} xmlSchemaValidError; - -/* -* ATTENTION: Change xmlSchemaSetValidOptions's check -* for invalid values, if adding to the validation -* options below. -*/ -/** - * xmlSchemaValidOption: - * - * This is the set of XML Schema validation options. - */ -typedef enum { - XML_SCHEMA_VAL_VC_I_CREATE = 1<<0 - /* Default/fixed: create an attribute node - * or an element's text node on the instance. - */ -} xmlSchemaValidOption; - -/* - XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1, - * assemble schemata using - * xsi:schemaLocation and - * xsi:noNamespaceSchemaLocation -*/ - -/** - * The schemas related types are kept internal - */ -typedef struct _xmlSchema xmlSchema; -typedef xmlSchema *xmlSchemaPtr; - -/** - * xmlSchemaValidityErrorFunc: - * @ctx: the validation context - * @msg: the message - * @...: extra arguments - * - * Signature of an error callback from an XSD validation - */ -typedef void (*xmlSchemaValidityErrorFunc) - (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); - -/** - * xmlSchemaValidityWarningFunc: - * @ctx: the validation context - * @msg: the message - * @...: extra arguments - * - * Signature of a warning callback from an XSD validation - */ -typedef void (*xmlSchemaValidityWarningFunc) - (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); - -/** - * A schemas validation context - */ -typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; -typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; - -typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; -typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; - -/** - * xmlSchemaValidityLocatorFunc: - * @ctx: user provided context - * @file: returned file information - * @line: returned line information - * - * A schemas validation locator, a callback called by the validator. - * This is used when file or node information are not available - * to find out what file and line number are affected - * - * Returns: 0 in case of success and -1 in case of error - */ - -typedef int (*xmlSchemaValidityLocatorFunc) (void *ctx, - const char **file, unsigned long *line); - -/* - * Interfaces for parsing. - */ -XMLPUBFUN xmlSchemaParserCtxtPtr - xmlSchemaNewParserCtxt (const char *URL); -XMLPUBFUN xmlSchemaParserCtxtPtr - xmlSchemaNewMemParserCtxt (const char *buffer, - int size); -XMLPUBFUN xmlSchemaParserCtxtPtr - xmlSchemaNewDocParserCtxt (xmlDocPtr doc); -XMLPUBFUN void - xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt); -XMLPUBFUN void - xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, - xmlSchemaValidityErrorFunc err, - xmlSchemaValidityWarningFunc warn, - void *ctx); -XMLPUBFUN void - xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt, - xmlStructuredErrorFunc serror, - void *ctx); -XMLPUBFUN int - xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt, - xmlSchemaValidityErrorFunc * err, - xmlSchemaValidityWarningFunc * warn, - void **ctx); -XMLPUBFUN int - xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt); - -XMLPUBFUN xmlSchemaPtr - xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt); -XMLPUBFUN void - xmlSchemaFree (xmlSchemaPtr schema); -#ifdef LIBXML_OUTPUT_ENABLED -XMLPUBFUN void - xmlSchemaDump (FILE *output, - xmlSchemaPtr schema); -#endif /* LIBXML_OUTPUT_ENABLED */ -/* - * Interfaces for validating - */ -XMLPUBFUN void - xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, - xmlSchemaValidityErrorFunc err, - xmlSchemaValidityWarningFunc warn, - void *ctx); -XMLPUBFUN void - xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt, - xmlStructuredErrorFunc serror, - void *ctx); -XMLPUBFUN int - xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt, - xmlSchemaValidityErrorFunc *err, - xmlSchemaValidityWarningFunc *warn, - void **ctx); -XMLPUBFUN int - xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt, - int options); -XMLPUBFUN void - xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt, - const char *filename); -XMLPUBFUN int - xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt); - -XMLPUBFUN xmlSchemaValidCtxtPtr - xmlSchemaNewValidCtxt (xmlSchemaPtr schema); -XMLPUBFUN void - xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt); -XMLPUBFUN int - xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, - xmlDocPtr instance); -XMLPUBFUN int - xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt, - xmlNodePtr elem); -XMLPUBFUN int - xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, - xmlParserInputBufferPtr input, - xmlCharEncoding enc, - xmlSAXHandlerPtr sax, - void *user_data); -XMLPUBFUN int - xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt, - const char * filename, - int options); - -XMLPUBFUN xmlParserCtxtPtr - xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt); - -/* - * Interface to insert Schemas SAX validation in a SAX stream - */ -typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct; -typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr; - -XMLPUBFUN xmlSchemaSAXPlugPtr - xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt, - xmlSAXHandlerPtr *sax, - void **user_data); -XMLPUBFUN int - xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug); - - -XMLPUBFUN void - xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt, - xmlSchemaValidityLocatorFunc f, - void *ctxt); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_SCHEMAS_ENABLED */ -#endif /* __XML_SCHEMA_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h deleted file mode 100644 index e2cde35..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Summary: implementation of XML Schema Datatypes - * Description: module providing the XML Schema Datatypes implementation - * both definition and validity checking - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - - -#ifndef __XML_SCHEMA_TYPES_H__ -#define __XML_SCHEMA_TYPES_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_SCHEMAS_ENABLED - -#include <libxml/schemasInternals.h> -#include <libxml/xmlschemas.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - XML_SCHEMA_WHITESPACE_UNKNOWN = 0, - XML_SCHEMA_WHITESPACE_PRESERVE = 1, - XML_SCHEMA_WHITESPACE_REPLACE = 2, - XML_SCHEMA_WHITESPACE_COLLAPSE = 3 -} xmlSchemaWhitespaceValueType; - -XMLPUBFUN int - xmlSchemaInitTypes (void); -XML_DEPRECATED -XMLPUBFUN void - xmlSchemaCleanupTypes (void); -XMLPUBFUN xmlSchemaTypePtr - xmlSchemaGetPredefinedType (const xmlChar *name, - const xmlChar *ns); -XMLPUBFUN int - xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type, - const xmlChar *value, - xmlSchemaValPtr *val); -XMLPUBFUN int - xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type, - const xmlChar *value, - xmlSchemaValPtr *val, - xmlNodePtr node); -XMLPUBFUN int - xmlSchemaValidateFacet (xmlSchemaTypePtr base, - xmlSchemaFacetPtr facet, - const xmlChar *value, - xmlSchemaValPtr val); -XMLPUBFUN int - xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet, - xmlSchemaWhitespaceValueType fws, - xmlSchemaValType valType, - const xmlChar *value, - xmlSchemaValPtr val, - xmlSchemaWhitespaceValueType ws); -XMLPUBFUN void - xmlSchemaFreeValue (xmlSchemaValPtr val); -XMLPUBFUN xmlSchemaFacetPtr - xmlSchemaNewFacet (void); -XMLPUBFUN int - xmlSchemaCheckFacet (xmlSchemaFacetPtr facet, - xmlSchemaTypePtr typeDecl, - xmlSchemaParserCtxtPtr ctxt, - const xmlChar *name); -XMLPUBFUN void - xmlSchemaFreeFacet (xmlSchemaFacetPtr facet); -XMLPUBFUN int - xmlSchemaCompareValues (xmlSchemaValPtr x, - xmlSchemaValPtr y); -XMLPUBFUN xmlSchemaTypePtr - xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type); -XMLPUBFUN int - xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet, - const xmlChar *value, - unsigned long actualLen, - unsigned long *expectedLen); -XMLPUBFUN xmlSchemaTypePtr - xmlSchemaGetBuiltInType (xmlSchemaValType type); -XMLPUBFUN int - xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type, - int facetType); -XMLPUBFUN xmlChar * - xmlSchemaCollapseString (const xmlChar *value); -XMLPUBFUN xmlChar * - xmlSchemaWhiteSpaceReplace (const xmlChar *value); -XMLPUBFUN unsigned long - xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet); -XMLPUBFUN int - xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type, - xmlSchemaFacetPtr facet, - const xmlChar *value, - xmlSchemaValPtr val, - unsigned long *length); -XMLPUBFUN int - xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet, - xmlSchemaValType valType, - const xmlChar *value, - xmlSchemaValPtr val, - unsigned long *length, - xmlSchemaWhitespaceValueType ws); -XMLPUBFUN int - xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, - const xmlChar *value, - xmlSchemaValPtr *val, - xmlNodePtr node); -XMLPUBFUN int - xmlSchemaGetCanonValue (xmlSchemaValPtr val, - const xmlChar **retValue); -XMLPUBFUN int - xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val, - const xmlChar **retValue, - xmlSchemaWhitespaceValueType ws); -XMLPUBFUN int - xmlSchemaValueAppend (xmlSchemaValPtr prev, - xmlSchemaValPtr cur); -XMLPUBFUN xmlSchemaValPtr - xmlSchemaValueGetNext (xmlSchemaValPtr cur); -XMLPUBFUN const xmlChar * - xmlSchemaValueGetAsString (xmlSchemaValPtr val); -XMLPUBFUN int - xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val); -XMLPUBFUN xmlSchemaValPtr - xmlSchemaNewStringValue (xmlSchemaValType type, - const xmlChar *value); -XMLPUBFUN xmlSchemaValPtr - xmlSchemaNewNOTATIONValue (const xmlChar *name, - const xmlChar *ns); -XMLPUBFUN xmlSchemaValPtr - xmlSchemaNewQNameValue (const xmlChar *namespaceName, - const xmlChar *localName); -XMLPUBFUN int - xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x, - xmlSchemaWhitespaceValueType xws, - xmlSchemaValPtr y, - xmlSchemaWhitespaceValueType yws); -XMLPUBFUN xmlSchemaValPtr - xmlSchemaCopyValue (xmlSchemaValPtr val); -XMLPUBFUN xmlSchemaValType - xmlSchemaGetValType (xmlSchemaValPtr val); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_SCHEMAS_ENABLED */ -#endif /* __XML_SCHEMA_TYPES_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlstring.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlstring.h deleted file mode 100644 index db11a0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlstring.h +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Summary: set of routines to process strings - * Description: type and interfaces needed for the internal string handling - * of the library, especially UTF8 processing. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_STRING_H__ -#define __XML_STRING_H__ - -#include <stdarg.h> -#include <libxml/xmlversion.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xmlChar: - * - * This is a basic byte in an UTF-8 encoded string. - * It's unsigned allowing to pinpoint case where char * are assigned - * to xmlChar * (possibly making serialization back impossible). - */ -typedef unsigned char xmlChar; - -/** - * BAD_CAST: - * - * Macro to cast a string to an xmlChar * when one know its safe. - */ -#define BAD_CAST (xmlChar *) - -/* - * xmlChar handling - */ -XMLPUBFUN xmlChar * - xmlStrdup (const xmlChar *cur); -XMLPUBFUN xmlChar * - xmlStrndup (const xmlChar *cur, - int len); -XMLPUBFUN xmlChar * - xmlCharStrndup (const char *cur, - int len); -XMLPUBFUN xmlChar * - xmlCharStrdup (const char *cur); -XMLPUBFUN xmlChar * - xmlStrsub (const xmlChar *str, - int start, - int len); -XMLPUBFUN const xmlChar * - xmlStrchr (const xmlChar *str, - xmlChar val); -XMLPUBFUN const xmlChar * - xmlStrstr (const xmlChar *str, - const xmlChar *val); -XMLPUBFUN const xmlChar * - xmlStrcasestr (const xmlChar *str, - const xmlChar *val); -XMLPUBFUN int - xmlStrcmp (const xmlChar *str1, - const xmlChar *str2); -XMLPUBFUN int - xmlStrncmp (const xmlChar *str1, - const xmlChar *str2, - int len); -XMLPUBFUN int - xmlStrcasecmp (const xmlChar *str1, - const xmlChar *str2); -XMLPUBFUN int - xmlStrncasecmp (const xmlChar *str1, - const xmlChar *str2, - int len); -XMLPUBFUN int - xmlStrEqual (const xmlChar *str1, - const xmlChar *str2); -XMLPUBFUN int - xmlStrQEqual (const xmlChar *pref, - const xmlChar *name, - const xmlChar *str); -XMLPUBFUN int - xmlStrlen (const xmlChar *str); -XMLPUBFUN xmlChar * - xmlStrcat (xmlChar *cur, - const xmlChar *add); -XMLPUBFUN xmlChar * - xmlStrncat (xmlChar *cur, - const xmlChar *add, - int len); -XMLPUBFUN xmlChar * - xmlStrncatNew (const xmlChar *str1, - const xmlChar *str2, - int len); -XMLPUBFUN int - xmlStrPrintf (xmlChar *buf, - int len, - const char *msg, - ...) LIBXML_ATTR_FORMAT(3,4); -XMLPUBFUN int - xmlStrVPrintf (xmlChar *buf, - int len, - const char *msg, - va_list ap) LIBXML_ATTR_FORMAT(3,0); - -XMLPUBFUN int - xmlGetUTF8Char (const unsigned char *utf, - int *len); -XMLPUBFUN int - xmlCheckUTF8 (const unsigned char *utf); -XMLPUBFUN int - xmlUTF8Strsize (const xmlChar *utf, - int len); -XMLPUBFUN xmlChar * - xmlUTF8Strndup (const xmlChar *utf, - int len); -XMLPUBFUN const xmlChar * - xmlUTF8Strpos (const xmlChar *utf, - int pos); -XMLPUBFUN int - xmlUTF8Strloc (const xmlChar *utf, - const xmlChar *utfchar); -XMLPUBFUN xmlChar * - xmlUTF8Strsub (const xmlChar *utf, - int start, - int len); -XMLPUBFUN int - xmlUTF8Strlen (const xmlChar *utf); -XMLPUBFUN int - xmlUTF8Size (const xmlChar *utf); -XMLPUBFUN int - xmlUTF8Charcmp (const xmlChar *utf1, - const xmlChar *utf2); - -#ifdef __cplusplus -} -#endif -#endif /* __XML_STRING_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlunicode.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlunicode.h deleted file mode 100644 index 2e50a49..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Summary: Unicode character APIs - * Description: API for the Unicode character APIs - * - * This file is automatically generated from the - * UCS description files of the Unicode Character Database - * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html - * using the genUnicode.py Python script. - * - * Generation date: Mon Mar 27 11:09:52 2006 - * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt - * Author: Daniel Veillard - */ - -#ifndef __XML_UNICODE_H__ -#define __XML_UNICODE_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_UNICODE_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -XMLPUBFUN int xmlUCSIsAegeanNumbers (int code); -XMLPUBFUN int xmlUCSIsAlphabeticPresentationForms (int code); -XMLPUBFUN int xmlUCSIsArabic (int code); -XMLPUBFUN int xmlUCSIsArabicPresentationFormsA (int code); -XMLPUBFUN int xmlUCSIsArabicPresentationFormsB (int code); -XMLPUBFUN int xmlUCSIsArmenian (int code); -XMLPUBFUN int xmlUCSIsArrows (int code); -XMLPUBFUN int xmlUCSIsBasicLatin (int code); -XMLPUBFUN int xmlUCSIsBengali (int code); -XMLPUBFUN int xmlUCSIsBlockElements (int code); -XMLPUBFUN int xmlUCSIsBopomofo (int code); -XMLPUBFUN int xmlUCSIsBopomofoExtended (int code); -XMLPUBFUN int xmlUCSIsBoxDrawing (int code); -XMLPUBFUN int xmlUCSIsBraillePatterns (int code); -XMLPUBFUN int xmlUCSIsBuhid (int code); -XMLPUBFUN int xmlUCSIsByzantineMusicalSymbols (int code); -XMLPUBFUN int xmlUCSIsCJKCompatibility (int code); -XMLPUBFUN int xmlUCSIsCJKCompatibilityForms (int code); -XMLPUBFUN int xmlUCSIsCJKCompatibilityIdeographs (int code); -XMLPUBFUN int xmlUCSIsCJKCompatibilityIdeographsSupplement (int code); -XMLPUBFUN int xmlUCSIsCJKRadicalsSupplement (int code); -XMLPUBFUN int xmlUCSIsCJKSymbolsandPunctuation (int code); -XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographs (int code); -XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographsExtensionA (int code); -XMLPUBFUN int xmlUCSIsCJKUnifiedIdeographsExtensionB (int code); -XMLPUBFUN int xmlUCSIsCherokee (int code); -XMLPUBFUN int xmlUCSIsCombiningDiacriticalMarks (int code); -XMLPUBFUN int xmlUCSIsCombiningDiacriticalMarksforSymbols (int code); -XMLPUBFUN int xmlUCSIsCombiningHalfMarks (int code); -XMLPUBFUN int xmlUCSIsCombiningMarksforSymbols (int code); -XMLPUBFUN int xmlUCSIsControlPictures (int code); -XMLPUBFUN int xmlUCSIsCurrencySymbols (int code); -XMLPUBFUN int xmlUCSIsCypriotSyllabary (int code); -XMLPUBFUN int xmlUCSIsCyrillic (int code); -XMLPUBFUN int xmlUCSIsCyrillicSupplement (int code); -XMLPUBFUN int xmlUCSIsDeseret (int code); -XMLPUBFUN int xmlUCSIsDevanagari (int code); -XMLPUBFUN int xmlUCSIsDingbats (int code); -XMLPUBFUN int xmlUCSIsEnclosedAlphanumerics (int code); -XMLPUBFUN int xmlUCSIsEnclosedCJKLettersandMonths (int code); -XMLPUBFUN int xmlUCSIsEthiopic (int code); -XMLPUBFUN int xmlUCSIsGeneralPunctuation (int code); -XMLPUBFUN int xmlUCSIsGeometricShapes (int code); -XMLPUBFUN int xmlUCSIsGeorgian (int code); -XMLPUBFUN int xmlUCSIsGothic (int code); -XMLPUBFUN int xmlUCSIsGreek (int code); -XMLPUBFUN int xmlUCSIsGreekExtended (int code); -XMLPUBFUN int xmlUCSIsGreekandCoptic (int code); -XMLPUBFUN int xmlUCSIsGujarati (int code); -XMLPUBFUN int xmlUCSIsGurmukhi (int code); -XMLPUBFUN int xmlUCSIsHalfwidthandFullwidthForms (int code); -XMLPUBFUN int xmlUCSIsHangulCompatibilityJamo (int code); -XMLPUBFUN int xmlUCSIsHangulJamo (int code); -XMLPUBFUN int xmlUCSIsHangulSyllables (int code); -XMLPUBFUN int xmlUCSIsHanunoo (int code); -XMLPUBFUN int xmlUCSIsHebrew (int code); -XMLPUBFUN int xmlUCSIsHighPrivateUseSurrogates (int code); -XMLPUBFUN int xmlUCSIsHighSurrogates (int code); -XMLPUBFUN int xmlUCSIsHiragana (int code); -XMLPUBFUN int xmlUCSIsIPAExtensions (int code); -XMLPUBFUN int xmlUCSIsIdeographicDescriptionCharacters (int code); -XMLPUBFUN int xmlUCSIsKanbun (int code); -XMLPUBFUN int xmlUCSIsKangxiRadicals (int code); -XMLPUBFUN int xmlUCSIsKannada (int code); -XMLPUBFUN int xmlUCSIsKatakana (int code); -XMLPUBFUN int xmlUCSIsKatakanaPhoneticExtensions (int code); -XMLPUBFUN int xmlUCSIsKhmer (int code); -XMLPUBFUN int xmlUCSIsKhmerSymbols (int code); -XMLPUBFUN int xmlUCSIsLao (int code); -XMLPUBFUN int xmlUCSIsLatin1Supplement (int code); -XMLPUBFUN int xmlUCSIsLatinExtendedA (int code); -XMLPUBFUN int xmlUCSIsLatinExtendedB (int code); -XMLPUBFUN int xmlUCSIsLatinExtendedAdditional (int code); -XMLPUBFUN int xmlUCSIsLetterlikeSymbols (int code); -XMLPUBFUN int xmlUCSIsLimbu (int code); -XMLPUBFUN int xmlUCSIsLinearBIdeograms (int code); -XMLPUBFUN int xmlUCSIsLinearBSyllabary (int code); -XMLPUBFUN int xmlUCSIsLowSurrogates (int code); -XMLPUBFUN int xmlUCSIsMalayalam (int code); -XMLPUBFUN int xmlUCSIsMathematicalAlphanumericSymbols (int code); -XMLPUBFUN int xmlUCSIsMathematicalOperators (int code); -XMLPUBFUN int xmlUCSIsMiscellaneousMathematicalSymbolsA (int code); -XMLPUBFUN int xmlUCSIsMiscellaneousMathematicalSymbolsB (int code); -XMLPUBFUN int xmlUCSIsMiscellaneousSymbols (int code); -XMLPUBFUN int xmlUCSIsMiscellaneousSymbolsandArrows (int code); -XMLPUBFUN int xmlUCSIsMiscellaneousTechnical (int code); -XMLPUBFUN int xmlUCSIsMongolian (int code); -XMLPUBFUN int xmlUCSIsMusicalSymbols (int code); -XMLPUBFUN int xmlUCSIsMyanmar (int code); -XMLPUBFUN int xmlUCSIsNumberForms (int code); -XMLPUBFUN int xmlUCSIsOgham (int code); -XMLPUBFUN int xmlUCSIsOldItalic (int code); -XMLPUBFUN int xmlUCSIsOpticalCharacterRecognition (int code); -XMLPUBFUN int xmlUCSIsOriya (int code); -XMLPUBFUN int xmlUCSIsOsmanya (int code); -XMLPUBFUN int xmlUCSIsPhoneticExtensions (int code); -XMLPUBFUN int xmlUCSIsPrivateUse (int code); -XMLPUBFUN int xmlUCSIsPrivateUseArea (int code); -XMLPUBFUN int xmlUCSIsRunic (int code); -XMLPUBFUN int xmlUCSIsShavian (int code); -XMLPUBFUN int xmlUCSIsSinhala (int code); -XMLPUBFUN int xmlUCSIsSmallFormVariants (int code); -XMLPUBFUN int xmlUCSIsSpacingModifierLetters (int code); -XMLPUBFUN int xmlUCSIsSpecials (int code); -XMLPUBFUN int xmlUCSIsSuperscriptsandSubscripts (int code); -XMLPUBFUN int xmlUCSIsSupplementalArrowsA (int code); -XMLPUBFUN int xmlUCSIsSupplementalArrowsB (int code); -XMLPUBFUN int xmlUCSIsSupplementalMathematicalOperators (int code); -XMLPUBFUN int xmlUCSIsSupplementaryPrivateUseAreaA (int code); -XMLPUBFUN int xmlUCSIsSupplementaryPrivateUseAreaB (int code); -XMLPUBFUN int xmlUCSIsSyriac (int code); -XMLPUBFUN int xmlUCSIsTagalog (int code); -XMLPUBFUN int xmlUCSIsTagbanwa (int code); -XMLPUBFUN int xmlUCSIsTags (int code); -XMLPUBFUN int xmlUCSIsTaiLe (int code); -XMLPUBFUN int xmlUCSIsTaiXuanJingSymbols (int code); -XMLPUBFUN int xmlUCSIsTamil (int code); -XMLPUBFUN int xmlUCSIsTelugu (int code); -XMLPUBFUN int xmlUCSIsThaana (int code); -XMLPUBFUN int xmlUCSIsThai (int code); -XMLPUBFUN int xmlUCSIsTibetan (int code); -XMLPUBFUN int xmlUCSIsUgaritic (int code); -XMLPUBFUN int xmlUCSIsUnifiedCanadianAboriginalSyllabics (int code); -XMLPUBFUN int xmlUCSIsVariationSelectors (int code); -XMLPUBFUN int xmlUCSIsVariationSelectorsSupplement (int code); -XMLPUBFUN int xmlUCSIsYiRadicals (int code); -XMLPUBFUN int xmlUCSIsYiSyllables (int code); -XMLPUBFUN int xmlUCSIsYijingHexagramSymbols (int code); - -XMLPUBFUN int xmlUCSIsBlock (int code, const char *block); - -XMLPUBFUN int xmlUCSIsCatC (int code); -XMLPUBFUN int xmlUCSIsCatCc (int code); -XMLPUBFUN int xmlUCSIsCatCf (int code); -XMLPUBFUN int xmlUCSIsCatCo (int code); -XMLPUBFUN int xmlUCSIsCatCs (int code); -XMLPUBFUN int xmlUCSIsCatL (int code); -XMLPUBFUN int xmlUCSIsCatLl (int code); -XMLPUBFUN int xmlUCSIsCatLm (int code); -XMLPUBFUN int xmlUCSIsCatLo (int code); -XMLPUBFUN int xmlUCSIsCatLt (int code); -XMLPUBFUN int xmlUCSIsCatLu (int code); -XMLPUBFUN int xmlUCSIsCatM (int code); -XMLPUBFUN int xmlUCSIsCatMc (int code); -XMLPUBFUN int xmlUCSIsCatMe (int code); -XMLPUBFUN int xmlUCSIsCatMn (int code); -XMLPUBFUN int xmlUCSIsCatN (int code); -XMLPUBFUN int xmlUCSIsCatNd (int code); -XMLPUBFUN int xmlUCSIsCatNl (int code); -XMLPUBFUN int xmlUCSIsCatNo (int code); -XMLPUBFUN int xmlUCSIsCatP (int code); -XMLPUBFUN int xmlUCSIsCatPc (int code); -XMLPUBFUN int xmlUCSIsCatPd (int code); -XMLPUBFUN int xmlUCSIsCatPe (int code); -XMLPUBFUN int xmlUCSIsCatPf (int code); -XMLPUBFUN int xmlUCSIsCatPi (int code); -XMLPUBFUN int xmlUCSIsCatPo (int code); -XMLPUBFUN int xmlUCSIsCatPs (int code); -XMLPUBFUN int xmlUCSIsCatS (int code); -XMLPUBFUN int xmlUCSIsCatSc (int code); -XMLPUBFUN int xmlUCSIsCatSk (int code); -XMLPUBFUN int xmlUCSIsCatSm (int code); -XMLPUBFUN int xmlUCSIsCatSo (int code); -XMLPUBFUN int xmlUCSIsCatZ (int code); -XMLPUBFUN int xmlUCSIsCatZl (int code); -XMLPUBFUN int xmlUCSIsCatZp (int code); -XMLPUBFUN int xmlUCSIsCatZs (int code); - -XMLPUBFUN int xmlUCSIsCat (int code, const char *cat); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_UNICODE_ENABLED */ - -#endif /* __XML_UNICODE_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlversion.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlversion.h deleted file mode 100644 index 0543ebc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlversion.h +++ /dev/null @@ -1,526 +0,0 @@ -/* - * Summary: compile-time version information - * Description: compile-time version information for the XML library - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_VERSION_H__ -#define __XML_VERSION_H__ - -#include <libxml/xmlexports.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * use those to be sure nothing nasty will happen if - * your library and includes mismatch - */ -#ifndef LIBXML2_COMPILING_MSCCDEF -XMLPUBFUN void xmlCheckVersion(int version); -#endif /* LIBXML2_COMPILING_MSCCDEF */ - -/** - * LIBXML_DOTTED_VERSION: - * - * the version string like "1.2.3" - */ -#define LIBXML_DOTTED_VERSION "2.11.5" - -/** - * LIBXML_VERSION: - * - * the version number: 1.2.3 value is 10203 - */ -#define LIBXML_VERSION 21105 - -/** - * LIBXML_VERSION_STRING: - * - * the version number string, 1.2.3 value is "10203" - */ -#define LIBXML_VERSION_STRING "21105" - -/** - * LIBXML_VERSION_EXTRA: - * - * extra version information, used to show a git commit description - */ -#define LIBXML_VERSION_EXTRA "" - -/** - * LIBXML_TEST_VERSION: - * - * Macro to check that the libxml version in use is compatible with - * the version the software has been compiled against - */ -#define LIBXML_TEST_VERSION xmlCheckVersion(21105); - -#ifndef VMS -#if 0 -/** - * WITH_TRIO: - * - * defined if the trio support need to be configured in - */ -#define WITH_TRIO -#else -/** - * WITHOUT_TRIO: - * - * defined if the trio support should not be configured in - */ -#define WITHOUT_TRIO -#endif -#else /* VMS */ -/** - * WITH_TRIO: - * - * defined if the trio support need to be configured in - */ -#define WITH_TRIO 1 -#endif /* VMS */ - -/** - * LIBXML_THREAD_ENABLED: - * - * Whether the thread support is configured in - */ -#if 1 -#define LIBXML_THREAD_ENABLED -#endif - -/** - * LIBXML_THREAD_ALLOC_ENABLED: - * - * Whether the allocation hooks are per-thread - */ -#if 0 -#define LIBXML_THREAD_ALLOC_ENABLED -#endif - -/** - * LIBXML_TREE_ENABLED: - * - * Whether the DOM like tree manipulation API support is configured in - */ -#if 1 -#define LIBXML_TREE_ENABLED -#endif - -/** - * LIBXML_OUTPUT_ENABLED: - * - * Whether the serialization/saving support is configured in - */ -#if 1 -#define LIBXML_OUTPUT_ENABLED -#endif - -/** - * LIBXML_PUSH_ENABLED: - * - * Whether the push parsing interfaces are configured in - */ -#if 1 -#define LIBXML_PUSH_ENABLED -#endif - -/** - * LIBXML_READER_ENABLED: - * - * Whether the xmlReader parsing interface is configured in - */ -#if 1 -#define LIBXML_READER_ENABLED -#endif - -/** - * LIBXML_PATTERN_ENABLED: - * - * Whether the xmlPattern node selection interface is configured in - */ -#if 1 -#define LIBXML_PATTERN_ENABLED -#endif - -/** - * LIBXML_WRITER_ENABLED: - * - * Whether the xmlWriter saving interface is configured in - */ -#if 1 -#define LIBXML_WRITER_ENABLED -#endif - -/** - * LIBXML_SAX1_ENABLED: - * - * Whether the older SAX1 interface is configured in - */ -#if 1 -#define LIBXML_SAX1_ENABLED -#endif - -/** - * LIBXML_FTP_ENABLED: - * - * Whether the FTP support is configured in - */ -#if 0 -#define LIBXML_FTP_ENABLED -#endif - -/** - * LIBXML_HTTP_ENABLED: - * - * Whether the HTTP support is configured in - */ -#if 1 -#define LIBXML_HTTP_ENABLED -#endif - -/** - * LIBXML_VALID_ENABLED: - * - * Whether the DTD validation support is configured in - */ -#if 1 -#define LIBXML_VALID_ENABLED -#endif - -/** - * LIBXML_HTML_ENABLED: - * - * Whether the HTML support is configured in - */ -#if 1 -#define LIBXML_HTML_ENABLED -#endif - -/** - * LIBXML_LEGACY_ENABLED: - * - * Whether the deprecated APIs are compiled in for compatibility - */ -#if 0 -#define LIBXML_LEGACY_ENABLED -#endif - -/** - * LIBXML_C14N_ENABLED: - * - * Whether the Canonicalization support is configured in - */ -#if 1 -#define LIBXML_C14N_ENABLED -#endif - -/** - * LIBXML_CATALOG_ENABLED: - * - * Whether the Catalog support is configured in - */ -#if 1 -#define LIBXML_CATALOG_ENABLED -#endif - -/** - * LIBXML_XPATH_ENABLED: - * - * Whether XPath is configured in - */ -#if 1 -#define LIBXML_XPATH_ENABLED -#endif - -/** - * LIBXML_XPTR_ENABLED: - * - * Whether XPointer is configured in - */ -#if 1 -#define LIBXML_XPTR_ENABLED -#endif - -/** - * LIBXML_XPTR_LOCS_ENABLED: - * - * Whether support for XPointer locations is configured in - */ -#if 0 -#define LIBXML_XPTR_LOCS_ENABLED -#endif - -/** - * LIBXML_XINCLUDE_ENABLED: - * - * Whether XInclude is configured in - */ -#if 1 -#define LIBXML_XINCLUDE_ENABLED -#endif - -/** - * LIBXML_ICONV_ENABLED: - * - * Whether iconv support is available - */ -#if 1 -#define LIBXML_ICONV_ENABLED -#endif - -/** - * LIBXML_ICU_ENABLED: - * - * Whether icu support is available - */ -#if 0 -#define LIBXML_ICU_ENABLED -#endif - -/** - * LIBXML_ISO8859X_ENABLED: - * - * Whether ISO-8859-* support is made available in case iconv is not - */ -#if 1 -#define LIBXML_ISO8859X_ENABLED -#endif - -/** - * LIBXML_DEBUG_ENABLED: - * - * Whether Debugging module is configured in - */ -#if 1 -#define LIBXML_DEBUG_ENABLED -#endif - -/** - * DEBUG_MEMORY_LOCATION: - * - * Whether the memory debugging is configured in - */ -#if 0 -#define DEBUG_MEMORY_LOCATION -#endif - -/** - * LIBXML_DEBUG_RUNTIME: - * - * Removed - */ -#if 0 -#define LIBXML_DEBUG_RUNTIME -#endif - -/** - * LIBXML_UNICODE_ENABLED: - * - * Whether the Unicode related interfaces are compiled in - */ -#if 1 -#define LIBXML_UNICODE_ENABLED -#endif - -/** - * LIBXML_REGEXP_ENABLED: - * - * Whether the regular expressions interfaces are compiled in - */ -#if 1 -#define LIBXML_REGEXP_ENABLED -#endif - -/** - * LIBXML_AUTOMATA_ENABLED: - * - * Whether the automata interfaces are compiled in - */ -#if 1 -#define LIBXML_AUTOMATA_ENABLED -#endif - -/** - * LIBXML_EXPR_ENABLED: - * - * Whether the formal expressions interfaces are compiled in - * - * This code is unused and disabled unconditionally for now. - */ -#if 0 -#define LIBXML_EXPR_ENABLED -#endif - -/** - * LIBXML_SCHEMAS_ENABLED: - * - * Whether the Schemas validation interfaces are compiled in - */ -#if 1 -#define LIBXML_SCHEMAS_ENABLED -#endif - -/** - * LIBXML_SCHEMATRON_ENABLED: - * - * Whether the Schematron validation interfaces are compiled in - */ -#if 1 -#define LIBXML_SCHEMATRON_ENABLED -#endif - -/** - * LIBXML_MODULES_ENABLED: - * - * Whether the module interfaces are compiled in - */ -#if 1 -#define LIBXML_MODULES_ENABLED -/** - * LIBXML_MODULE_EXTENSION: - * - * the string suffix used by dynamic modules (usually shared libraries) - */ -#define LIBXML_MODULE_EXTENSION ".so" -#endif - -/** - * LIBXML_ZLIB_ENABLED: - * - * Whether the Zlib support is compiled in - */ -#if 1 -#define LIBXML_ZLIB_ENABLED -#endif - -/** - * LIBXML_LZMA_ENABLED: - * - * Whether the Lzma support is compiled in - */ -#if 0 -#define LIBXML_LZMA_ENABLED -#endif - -#ifdef __GNUC__ -/** DOC_DISABLE */ - -#ifndef ATTRIBUTE_UNUSED -# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) -# define ATTRIBUTE_UNUSED __attribute__((unused)) -# else -# define ATTRIBUTE_UNUSED -# endif -#endif - -#ifndef LIBXML_ATTR_ALLOC_SIZE -# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) -# define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) -# else -# define LIBXML_ATTR_ALLOC_SIZE(x) -# endif -#else -# define LIBXML_ATTR_ALLOC_SIZE(x) -#endif - -#ifndef LIBXML_ATTR_FORMAT -# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) -# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) -# else -# define LIBXML_ATTR_FORMAT(fmt,args) -# endif -#else -# define LIBXML_ATTR_FORMAT(fmt,args) -#endif - -#ifndef XML_DEPRECATED -# if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301) -# define XML_DEPRECATED -/* Available since at least GCC 3.1 */ -# else -# define XML_DEPRECATED __attribute__((deprecated)) -# endif -#endif - -#if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) -#define XML_IGNORE_FPTR_CAST_WARNINGS \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \ - _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"") -#define XML_POP_WARNINGS \ - _Pragma("GCC diagnostic pop") -#else -#define XML_IGNORE_FPTR_CAST_WARNINGS -#define XML_POP_WARNINGS -#endif - -/** DOC_ENABLE */ -#else /* ! __GNUC__ */ -/** - * ATTRIBUTE_UNUSED: - * - * Macro used to signal to GCC unused function parameters - */ -#define ATTRIBUTE_UNUSED -/** - * LIBXML_ATTR_ALLOC_SIZE: - * - * Macro used to indicate to GCC this is an allocator function - */ -#define LIBXML_ATTR_ALLOC_SIZE(x) -/** - * LIBXML_ATTR_FORMAT: - * - * Macro used to indicate to GCC the parameter are printf like - */ -#define LIBXML_ATTR_FORMAT(fmt,args) -/** - * XML_DEPRECATED: - * - * Macro used to indicate that a function, variable, type or struct member - * is deprecated. - */ -#ifndef XML_DEPRECATED -# if defined (IN_LIBXML) || !defined (_MSC_VER) -# define XML_DEPRECATED -/* Available since Visual Studio 2005 */ -# elif defined (_MSC_VER) && (_MSC_VER >= 1400) -# define XML_DEPRECATED __declspec(deprecated) -# endif -#endif -/** - * LIBXML_IGNORE_FPTR_CAST_WARNINGS: - * - * Macro used to ignore pointer cast warnings that can't be worked around. - */ -#if defined (_MSC_VER) && (_MSC_VER >= 1400) -# define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push)) -#else -# define XML_IGNORE_FPTR_CAST_WARNINGS -#endif -/** - * XML_POP_WARNINGS: - * - * Macro used to restore warnings state. - */ -#ifndef XML_POP_WARNINGS -# if defined (_MSC_VER) && (_MSC_VER >= 1400) -# define XML_POP_WARNINGS __pragma(warning(pop)) -# else -# define XML_POP_WARNINGS -# endif -#endif -#endif /* __GNUC__ */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlwriter.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlwriter.h deleted file mode 100644 index 339f251..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +++ /dev/null @@ -1,488 +0,0 @@ -/* - * Summary: text writing API for XML - * Description: text writing API for XML - * - * Copy: See Copyright for the status of this software. - * - * Author: Alfred Mickautsch <alfred@mickautsch.de> - */ - -#ifndef __XML_XMLWRITER_H__ -#define __XML_XMLWRITER_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_WRITER_ENABLED - -#include <stdarg.h> -#include <libxml/xmlIO.h> -#include <libxml/list.h> -#include <libxml/xmlstring.h> - -#ifdef __cplusplus -extern "C" { -#endif - - typedef struct _xmlTextWriter xmlTextWriter; - typedef xmlTextWriter *xmlTextWriterPtr; - -/* - * Constructors & Destructor - */ - XMLPUBFUN xmlTextWriterPtr - xmlNewTextWriter(xmlOutputBufferPtr out); - XMLPUBFUN xmlTextWriterPtr - xmlNewTextWriterFilename(const char *uri, int compression); - XMLPUBFUN xmlTextWriterPtr - xmlNewTextWriterMemory(xmlBufferPtr buf, int compression); - XMLPUBFUN xmlTextWriterPtr - xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression); - XMLPUBFUN xmlTextWriterPtr - xmlNewTextWriterDoc(xmlDocPtr * doc, int compression); - XMLPUBFUN xmlTextWriterPtr - xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node, - int compression); - XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer); - -/* - * Functions - */ - - -/* - * Document - */ - XMLPUBFUN int - xmlTextWriterStartDocument(xmlTextWriterPtr writer, - const char *version, - const char *encoding, - const char *standalone); - XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr - writer); - -/* - * Comments - */ - XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr - writer); - XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer); - XMLPUBFUN int - xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer, - const char *format, ...) - LIBXML_ATTR_FORMAT(2,3); - XMLPUBFUN int - xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(2,0); - XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr - writer, - const xmlChar * - content); - -/* - * Elements - */ - XMLPUBFUN int - xmlTextWriterStartElement(xmlTextWriterPtr writer, - const xmlChar * name); - XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr - writer, - const xmlChar * - prefix, - const xmlChar * name, - const xmlChar * - namespaceURI); - XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer); - XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr - writer); - -/* - * Elements conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, ...) - LIBXML_ATTR_FORMAT(3,4); - XMLPUBFUN int - xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(3,0); - XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriterPtr - writer, - const xmlChar * name, - const xmlChar * - content); - XMLPUBFUN int - xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer, - const xmlChar * prefix, - const xmlChar * name, - const xmlChar * namespaceURI, - const char *format, ...) - LIBXML_ATTR_FORMAT(5,6); - XMLPUBFUN int - xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer, - const xmlChar * prefix, - const xmlChar * name, - const xmlChar * namespaceURI, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(5,0); - XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriterPtr - writer, - const xmlChar * - prefix, - const xmlChar * name, - const xmlChar * - namespaceURI, - const xmlChar * - content); - -/* - * Text - */ - XMLPUBFUN int - xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer, - const char *format, ...) - LIBXML_ATTR_FORMAT(2,3); - XMLPUBFUN int - xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer, - const char *format, va_list argptr) - LIBXML_ATTR_FORMAT(2,0); - XMLPUBFUN int - xmlTextWriterWriteRawLen(xmlTextWriterPtr writer, - const xmlChar * content, int len); - XMLPUBFUN int - xmlTextWriterWriteRaw(xmlTextWriterPtr writer, - const xmlChar * content); - XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr - writer, - const char - *format, ...) - LIBXML_ATTR_FORMAT(2,3); - XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr - writer, - const char - *format, - va_list argptr) - LIBXML_ATTR_FORMAT(2,0); - XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer, - const xmlChar * - content); - XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer, - const char *data, - int start, int len); - XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer, - const char *data, - int start, int len); - -/* - * Attributes - */ - XMLPUBFUN int - xmlTextWriterStartAttribute(xmlTextWriterPtr writer, - const xmlChar * name); - XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr - writer, - const xmlChar * - prefix, - const xmlChar * - name, - const xmlChar * - namespaceURI); - XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr - writer); - -/* - * Attributes conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, ...) - LIBXML_ATTR_FORMAT(3,4); - XMLPUBFUN int - xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(3,0); - XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriterPtr - writer, - const xmlChar * name, - const xmlChar * - content); - XMLPUBFUN int - xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer, - const xmlChar * prefix, - const xmlChar * name, - const xmlChar * namespaceURI, - const char *format, ...) - LIBXML_ATTR_FORMAT(5,6); - XMLPUBFUN int - xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer, - const xmlChar * prefix, - const xmlChar * name, - const xmlChar * namespaceURI, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(5,0); - XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr - writer, - const xmlChar * - prefix, - const xmlChar * - name, - const xmlChar * - namespaceURI, - const xmlChar * - content); - -/* - * PI's - */ - XMLPUBFUN int - xmlTextWriterStartPI(xmlTextWriterPtr writer, - const xmlChar * target); - XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer); - -/* - * PI conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer, - const xmlChar * target, - const char *format, ...) - LIBXML_ATTR_FORMAT(3,4); - XMLPUBFUN int - xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer, - const xmlChar * target, - const char *format, va_list argptr) - LIBXML_ATTR_FORMAT(3,0); - XMLPUBFUN int - xmlTextWriterWritePI(xmlTextWriterPtr writer, - const xmlChar * target, - const xmlChar * content); - -/** - * xmlTextWriterWriteProcessingInstruction: - * - * This macro maps to xmlTextWriterWritePI - */ -#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI - -/* - * CDATA - */ - XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer); - XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer); - -/* - * CDATA conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer, - const char *format, ...) - LIBXML_ATTR_FORMAT(2,3); - XMLPUBFUN int - xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer, - const char *format, va_list argptr) - LIBXML_ATTR_FORMAT(2,0); - XMLPUBFUN int - xmlTextWriterWriteCDATA(xmlTextWriterPtr writer, - const xmlChar * content); - -/* - * DTD - */ - XMLPUBFUN int - xmlTextWriterStartDTD(xmlTextWriterPtr writer, - const xmlChar * name, - const xmlChar * pubid, - const xmlChar * sysid); - XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer); - -/* - * DTD conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer, - const xmlChar * name, - const xmlChar * pubid, - const xmlChar * sysid, - const char *format, ...) - LIBXML_ATTR_FORMAT(5,6); - XMLPUBFUN int - xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer, - const xmlChar * name, - const xmlChar * pubid, - const xmlChar * sysid, - const char *format, va_list argptr) - LIBXML_ATTR_FORMAT(5,0); - XMLPUBFUN int - xmlTextWriterWriteDTD(xmlTextWriterPtr writer, - const xmlChar * name, - const xmlChar * pubid, - const xmlChar * sysid, - const xmlChar * subset); - -/** - * xmlTextWriterWriteDocType: - * - * this macro maps to xmlTextWriterWriteDTD - */ -#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD - -/* - * DTD element definition - */ - XMLPUBFUN int - xmlTextWriterStartDTDElement(xmlTextWriterPtr writer, - const xmlChar * name); - XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr - writer); - -/* - * DTD element definition conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, ...) - LIBXML_ATTR_FORMAT(3,4); - XMLPUBFUN int - xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(3,0); - XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriterPtr - writer, - const xmlChar * - name, - const xmlChar * - content); - -/* - * DTD attribute list definition - */ - XMLPUBFUN int - xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer, - const xmlChar * name); - XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr - writer); - -/* - * DTD attribute list definition conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, ...) - LIBXML_ATTR_FORMAT(3,4); - XMLPUBFUN int - xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer, - const xmlChar * name, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(3,0); - XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr - writer, - const xmlChar * - name, - const xmlChar * - content); - -/* - * DTD entity definition - */ - XMLPUBFUN int - xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer, - int pe, const xmlChar * name); - XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr - writer); - -/* - * DTD entity definition conveniency functions - */ - XMLPUBFUN int - xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer, - int pe, - const xmlChar * name, - const char *format, ...) - LIBXML_ATTR_FORMAT(4,5); - XMLPUBFUN int - xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer, - int pe, - const xmlChar * name, - const char *format, - va_list argptr) - LIBXML_ATTR_FORMAT(4,0); - XMLPUBFUN int - xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer, - int pe, - const xmlChar * name, - const xmlChar * content); - XMLPUBFUN int - xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer, - int pe, - const xmlChar * name, - const xmlChar * pubid, - const xmlChar * sysid, - const xmlChar * ndataid); - XMLPUBFUN int - xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr - writer, - const xmlChar * pubid, - const xmlChar * sysid, - const xmlChar * - ndataid); - XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr - writer, int pe, - const xmlChar * name, - const xmlChar * - pubid, - const xmlChar * - sysid, - const xmlChar * - ndataid, - const xmlChar * - content); - -/* - * DTD notation definition - */ - XMLPUBFUN int - xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer, - const xmlChar * name, - const xmlChar * pubid, - const xmlChar * sysid); - -/* - * Indentation - */ - XMLPUBFUN int - xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent); - XMLPUBFUN int - xmlTextWriterSetIndentString(xmlTextWriterPtr writer, - const xmlChar * str); - - XMLPUBFUN int - xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar); - - -/* - * misc - */ - XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_WRITER_ENABLED */ - -#endif /* __XML_XMLWRITER_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpath.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpath.h deleted file mode 100644 index b57985a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpath.h +++ /dev/null @@ -1,575 +0,0 @@ -/* - * Summary: XML Path Language implementation - * Description: API for the XML Path Language implementation - * - * XML Path Language implementation - * XPath is a language for addressing parts of an XML document, - * designed to be used by both XSLT and XPointer - * http://www.w3.org/TR/xpath - * - * Implements - * W3C Recommendation 16 November 1999 - * http://www.w3.org/TR/1999/REC-xpath-19991116 - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XPATH_H__ -#define __XML_XPATH_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_XPATH_ENABLED - -#include <libxml/xmlerror.h> -#include <libxml/tree.h> -#include <libxml/hash.h> -#endif /* LIBXML_XPATH_ENABLED */ - -#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -#ifdef __cplusplus -extern "C" { -#endif -#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */ - -#ifdef LIBXML_XPATH_ENABLED - -typedef struct _xmlXPathContext xmlXPathContext; -typedef xmlXPathContext *xmlXPathContextPtr; -typedef struct _xmlXPathParserContext xmlXPathParserContext; -typedef xmlXPathParserContext *xmlXPathParserContextPtr; - -/** - * The set of XPath error codes. - */ - -typedef enum { - XPATH_EXPRESSION_OK = 0, - XPATH_NUMBER_ERROR, - XPATH_UNFINISHED_LITERAL_ERROR, - XPATH_START_LITERAL_ERROR, - XPATH_VARIABLE_REF_ERROR, - XPATH_UNDEF_VARIABLE_ERROR, - XPATH_INVALID_PREDICATE_ERROR, - XPATH_EXPR_ERROR, - XPATH_UNCLOSED_ERROR, - XPATH_UNKNOWN_FUNC_ERROR, - XPATH_INVALID_OPERAND, - XPATH_INVALID_TYPE, - XPATH_INVALID_ARITY, - XPATH_INVALID_CTXT_SIZE, - XPATH_INVALID_CTXT_POSITION, - XPATH_MEMORY_ERROR, - XPTR_SYNTAX_ERROR, - XPTR_RESOURCE_ERROR, - XPTR_SUB_RESOURCE_ERROR, - XPATH_UNDEF_PREFIX_ERROR, - XPATH_ENCODING_ERROR, - XPATH_INVALID_CHAR_ERROR, - XPATH_INVALID_CTXT, - XPATH_STACK_ERROR, - XPATH_FORBID_VARIABLE_ERROR, - XPATH_OP_LIMIT_EXCEEDED, - XPATH_RECURSION_LIMIT_EXCEEDED -} xmlXPathError; - -/* - * A node-set (an unordered collection of nodes without duplicates). - */ -typedef struct _xmlNodeSet xmlNodeSet; -typedef xmlNodeSet *xmlNodeSetPtr; -struct _xmlNodeSet { - int nodeNr; /* number of nodes in the set */ - int nodeMax; /* size of the array as allocated */ - xmlNodePtr *nodeTab; /* array of nodes in no particular order */ - /* @@ with_ns to check whether namespace nodes should be looked at @@ */ -}; - -/* - * An expression is evaluated to yield an object, which - * has one of the following four basic types: - * - node-set - * - boolean - * - number - * - string - * - * @@ XPointer will add more types ! - */ - -typedef enum { - XPATH_UNDEFINED = 0, - XPATH_NODESET = 1, - XPATH_BOOLEAN = 2, - XPATH_NUMBER = 3, - XPATH_STRING = 4, -#ifdef LIBXML_XPTR_LOCS_ENABLED - XPATH_POINT = 5, - XPATH_RANGE = 6, - XPATH_LOCATIONSET = 7, -#endif - XPATH_USERS = 8, - XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */ -} xmlXPathObjectType; - -#ifndef LIBXML_XPTR_LOCS_ENABLED -/** DOC_DISABLE */ -#define XPATH_POINT 5 -#define XPATH_RANGE 6 -#define XPATH_LOCATIONSET 7 -/** DOC_ENABLE */ -#endif - -typedef struct _xmlXPathObject xmlXPathObject; -typedef xmlXPathObject *xmlXPathObjectPtr; -struct _xmlXPathObject { - xmlXPathObjectType type; - xmlNodeSetPtr nodesetval; - int boolval; - double floatval; - xmlChar *stringval; - void *user; - int index; - void *user2; - int index2; -}; - -/** - * xmlXPathConvertFunc: - * @obj: an XPath object - * @type: the number of the target type - * - * A conversion function is associated to a type and used to cast - * the new type to primitive values. - * - * Returns -1 in case of error, 0 otherwise - */ -typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type); - -/* - * Extra type: a name and a conversion function. - */ - -typedef struct _xmlXPathType xmlXPathType; -typedef xmlXPathType *xmlXPathTypePtr; -struct _xmlXPathType { - const xmlChar *name; /* the type name */ - xmlXPathConvertFunc func; /* the conversion function */ -}; - -/* - * Extra variable: a name and a value. - */ - -typedef struct _xmlXPathVariable xmlXPathVariable; -typedef xmlXPathVariable *xmlXPathVariablePtr; -struct _xmlXPathVariable { - const xmlChar *name; /* the variable name */ - xmlXPathObjectPtr value; /* the value */ -}; - -/** - * xmlXPathEvalFunc: - * @ctxt: an XPath parser context - * @nargs: the number of arguments passed to the function - * - * An XPath evaluation function, the parameters are on the XPath context stack. - */ - -typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt, - int nargs); - -/* - * Extra function: a name and a evaluation function. - */ - -typedef struct _xmlXPathFunct xmlXPathFunct; -typedef xmlXPathFunct *xmlXPathFuncPtr; -struct _xmlXPathFunct { - const xmlChar *name; /* the function name */ - xmlXPathEvalFunc func; /* the evaluation function */ -}; - -/** - * xmlXPathAxisFunc: - * @ctxt: the XPath interpreter context - * @cur: the previous node being explored on that axis - * - * An axis traversal function. To traverse an axis, the engine calls - * the first time with cur == NULL and repeat until the function returns - * NULL indicating the end of the axis traversal. - * - * Returns the next node in that axis or NULL if at the end of the axis. - */ - -typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt, - xmlXPathObjectPtr cur); - -/* - * Extra axis: a name and an axis function. - */ - -typedef struct _xmlXPathAxis xmlXPathAxis; -typedef xmlXPathAxis *xmlXPathAxisPtr; -struct _xmlXPathAxis { - const xmlChar *name; /* the axis name */ - xmlXPathAxisFunc func; /* the search function */ -}; - -/** - * xmlXPathFunction: - * @ctxt: the XPath interprestation context - * @nargs: the number of arguments - * - * An XPath function. - * The arguments (if any) are popped out from the context stack - * and the result is pushed on the stack. - */ - -typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs); - -/* - * Function and Variable Lookup. - */ - -/** - * xmlXPathVariableLookupFunc: - * @ctxt: an XPath context - * @name: name of the variable - * @ns_uri: the namespace name hosting this variable - * - * Prototype for callbacks used to plug variable lookup in the XPath - * engine. - * - * Returns the XPath object value or NULL if not found. - */ -typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt, - const xmlChar *name, - const xmlChar *ns_uri); - -/** - * xmlXPathFuncLookupFunc: - * @ctxt: an XPath context - * @name: name of the function - * @ns_uri: the namespace name hosting this function - * - * Prototype for callbacks used to plug function lookup in the XPath - * engine. - * - * Returns the XPath function or NULL if not found. - */ -typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt, - const xmlChar *name, - const xmlChar *ns_uri); - -/** - * xmlXPathFlags: - * Flags for XPath engine compilation and runtime - */ -/** - * XML_XPATH_CHECKNS: - * - * check namespaces at compilation - */ -#define XML_XPATH_CHECKNS (1<<0) -/** - * XML_XPATH_NOVAR: - * - * forbid variables in expression - */ -#define XML_XPATH_NOVAR (1<<1) - -/** - * xmlXPathContext: - * - * Expression evaluation occurs with respect to a context. - * he context consists of: - * - a node (the context node) - * - a node list (the context node list) - * - a set of variable bindings - * - a function library - * - the set of namespace declarations in scope for the expression - * Following the switch to hash tables, this need to be trimmed up at - * the next binary incompatible release. - * The node may be modified when the context is passed to libxml2 - * for an XPath evaluation so you may need to initialize it again - * before the next call. - */ - -struct _xmlXPathContext { - xmlDocPtr doc; /* The current document */ - xmlNodePtr node; /* The current node */ - - int nb_variables_unused; /* unused (hash table) */ - int max_variables_unused; /* unused (hash table) */ - xmlHashTablePtr varHash; /* Hash table of defined variables */ - - int nb_types; /* number of defined types */ - int max_types; /* max number of types */ - xmlXPathTypePtr types; /* Array of defined types */ - - int nb_funcs_unused; /* unused (hash table) */ - int max_funcs_unused; /* unused (hash table) */ - xmlHashTablePtr funcHash; /* Hash table of defined funcs */ - - int nb_axis; /* number of defined axis */ - int max_axis; /* max number of axis */ - xmlXPathAxisPtr axis; /* Array of defined axis */ - - /* the namespace nodes of the context node */ - xmlNsPtr *namespaces; /* Array of namespaces */ - int nsNr; /* number of namespace in scope */ - void *user; /* function to free */ - - /* extra variables */ - int contextSize; /* the context size */ - int proximityPosition; /* the proximity position */ - - /* extra stuff for XPointer */ - int xptr; /* is this an XPointer context? */ - xmlNodePtr here; /* for here() */ - xmlNodePtr origin; /* for origin() */ - - /* the set of namespace declarations in scope for the expression */ - xmlHashTablePtr nsHash; /* The namespaces hash table */ - xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */ - void *varLookupData; /* variable lookup data */ - - /* Possibility to link in an extra item */ - void *extra; /* needed for XSLT */ - - /* The function name and URI when calling a function */ - const xmlChar *function; - const xmlChar *functionURI; - - /* function lookup function and data */ - xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */ - void *funcLookupData; /* function lookup data */ - - /* temporary namespace lists kept for walking the namespace axis */ - xmlNsPtr *tmpNsList; /* Array of namespaces */ - int tmpNsNr; /* number of namespaces in scope */ - - /* error reporting mechanism */ - void *userData; /* user specific data block */ - xmlStructuredErrorFunc error; /* the callback in case of errors */ - xmlError lastError; /* the last error */ - xmlNodePtr debugNode; /* the source node XSLT */ - - /* dictionary */ - xmlDictPtr dict; /* dictionary if any */ - - int flags; /* flags to control compilation */ - - /* Cache for reusal of XPath objects */ - void *cache; - - /* Resource limits */ - unsigned long opLimit; - unsigned long opCount; - int depth; -}; - -/* - * The structure of a compiled expression form is not public. - */ - -typedef struct _xmlXPathCompExpr xmlXPathCompExpr; -typedef xmlXPathCompExpr *xmlXPathCompExprPtr; - -/** - * xmlXPathParserContext: - * - * An XPath parser context. It contains pure parsing information, - * an xmlXPathContext, and the stack of objects. - */ -struct _xmlXPathParserContext { - const xmlChar *cur; /* the current char being parsed */ - const xmlChar *base; /* the full expression */ - - int error; /* error code */ - - xmlXPathContextPtr context; /* the evaluation context */ - xmlXPathObjectPtr value; /* the current value */ - int valueNr; /* number of values stacked */ - int valueMax; /* max number of values stacked */ - xmlXPathObjectPtr *valueTab; /* stack of values */ - - xmlXPathCompExprPtr comp; /* the precompiled expression */ - int xptr; /* it this an XPointer expression */ - xmlNodePtr ancestor; /* used for walking preceding axis */ - - int valueFrame; /* unused */ -}; - -/************************************************************************ - * * - * Public API * - * * - ************************************************************************/ - -/** - * Objects and Nodesets handling - */ - -XMLPUBVAR double xmlXPathNAN; -XMLPUBVAR double xmlXPathPINF; -XMLPUBVAR double xmlXPathNINF; - -/* These macros may later turn into functions */ -/** - * xmlXPathNodeSetGetLength: - * @ns: a node-set - * - * Implement a functionality similar to the DOM NodeList.length. - * - * Returns the number of nodes in the node-set. - */ -#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0) -/** - * xmlXPathNodeSetItem: - * @ns: a node-set - * @index: index of a node in the set - * - * Implements a functionality similar to the DOM NodeList.item(). - * - * Returns the xmlNodePtr at the given @index in @ns or NULL if - * @index is out of range (0 to length-1) - */ -#define xmlXPathNodeSetItem(ns, index) \ - ((((ns) != NULL) && \ - ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \ - (ns)->nodeTab[(index)] \ - : NULL) -/** - * xmlXPathNodeSetIsEmpty: - * @ns: a node-set - * - * Checks whether @ns is empty or not. - * - * Returns %TRUE if @ns is an empty node-set. - */ -#define xmlXPathNodeSetIsEmpty(ns) \ - (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL)) - - -XMLPUBFUN void - xmlXPathFreeObject (xmlXPathObjectPtr obj); -XMLPUBFUN xmlNodeSetPtr - xmlXPathNodeSetCreate (xmlNodePtr val); -XMLPUBFUN void - xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj); -XMLPUBFUN void - xmlXPathFreeNodeSet (xmlNodeSetPtr obj); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathObjectCopy (xmlXPathObjectPtr val); -XMLPUBFUN int - xmlXPathCmpNodes (xmlNodePtr node1, - xmlNodePtr node2); -/** - * Conversion functions to basic types. - */ -XMLPUBFUN int - xmlXPathCastNumberToBoolean (double val); -XMLPUBFUN int - xmlXPathCastStringToBoolean (const xmlChar * val); -XMLPUBFUN int - xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns); -XMLPUBFUN int - xmlXPathCastToBoolean (xmlXPathObjectPtr val); - -XMLPUBFUN double - xmlXPathCastBooleanToNumber (int val); -XMLPUBFUN double - xmlXPathCastStringToNumber (const xmlChar * val); -XMLPUBFUN double - xmlXPathCastNodeToNumber (xmlNodePtr node); -XMLPUBFUN double - xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns); -XMLPUBFUN double - xmlXPathCastToNumber (xmlXPathObjectPtr val); - -XMLPUBFUN xmlChar * - xmlXPathCastBooleanToString (int val); -XMLPUBFUN xmlChar * - xmlXPathCastNumberToString (double val); -XMLPUBFUN xmlChar * - xmlXPathCastNodeToString (xmlNodePtr node); -XMLPUBFUN xmlChar * - xmlXPathCastNodeSetToString (xmlNodeSetPtr ns); -XMLPUBFUN xmlChar * - xmlXPathCastToString (xmlXPathObjectPtr val); - -XMLPUBFUN xmlXPathObjectPtr - xmlXPathConvertBoolean (xmlXPathObjectPtr val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathConvertNumber (xmlXPathObjectPtr val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathConvertString (xmlXPathObjectPtr val); - -/** - * Context handling. - */ -XMLPUBFUN xmlXPathContextPtr - xmlXPathNewContext (xmlDocPtr doc); -XMLPUBFUN void - xmlXPathFreeContext (xmlXPathContextPtr ctxt); -XMLPUBFUN int - xmlXPathContextSetCache(xmlXPathContextPtr ctxt, - int active, - int value, - int options); -/** - * Evaluation functions. - */ -XMLPUBFUN long - xmlXPathOrderDocElems (xmlDocPtr doc); -XMLPUBFUN int - xmlXPathSetContextNode (xmlNodePtr node, - xmlXPathContextPtr ctx); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNodeEval (xmlNodePtr node, - const xmlChar *str, - xmlXPathContextPtr ctx); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathEval (const xmlChar *str, - xmlXPathContextPtr ctx); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathEvalExpression (const xmlChar *str, - xmlXPathContextPtr ctxt); -XMLPUBFUN int - xmlXPathEvalPredicate (xmlXPathContextPtr ctxt, - xmlXPathObjectPtr res); -/** - * Separate compilation/evaluation entry points. - */ -XMLPUBFUN xmlXPathCompExprPtr - xmlXPathCompile (const xmlChar *str); -XMLPUBFUN xmlXPathCompExprPtr - xmlXPathCtxtCompile (xmlXPathContextPtr ctxt, - const xmlChar *str); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathCompiledEval (xmlXPathCompExprPtr comp, - xmlXPathContextPtr ctx); -XMLPUBFUN int - xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp, - xmlXPathContextPtr ctxt); -XMLPUBFUN void - xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp); -#endif /* LIBXML_XPATH_ENABLED */ -#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) -XML_DEPRECATED -XMLPUBFUN void - xmlXPathInit (void); -XMLPUBFUN int - xmlXPathIsNaN (double val); -XMLPUBFUN int - xmlXPathIsInf (double val); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED*/ -#endif /* ! __XML_XPATH_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpathInternals.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpathInternals.h deleted file mode 100644 index cb0991d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +++ /dev/null @@ -1,632 +0,0 @@ -/* - * Summary: internal interfaces for XML Path Language implementation - * Description: internal interfaces for XML Path Language implementation - * used to build new modules on top of XPath like XPointer and - * XSLT - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XPATH_INTERNALS_H__ -#define __XML_XPATH_INTERNALS_H__ - -#include <libxml/xmlversion.h> -#include <libxml/xpath.h> - -#ifdef LIBXML_XPATH_ENABLED - -#ifdef __cplusplus -extern "C" { -#endif - -/************************************************************************ - * * - * Helpers * - * * - ************************************************************************/ - -/* - * Many of these macros may later turn into functions. They - * shouldn't be used in #ifdef's preprocessor instructions. - */ -/** - * xmlXPathSetError: - * @ctxt: an XPath parser context - * @err: an xmlXPathError code - * - * Raises an error. - */ -#define xmlXPathSetError(ctxt, err) \ - { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \ - if ((ctxt) != NULL) (ctxt)->error = (err); } - -/** - * xmlXPathSetArityError: - * @ctxt: an XPath parser context - * - * Raises an XPATH_INVALID_ARITY error. - */ -#define xmlXPathSetArityError(ctxt) \ - xmlXPathSetError((ctxt), XPATH_INVALID_ARITY) - -/** - * xmlXPathSetTypeError: - * @ctxt: an XPath parser context - * - * Raises an XPATH_INVALID_TYPE error. - */ -#define xmlXPathSetTypeError(ctxt) \ - xmlXPathSetError((ctxt), XPATH_INVALID_TYPE) - -/** - * xmlXPathGetError: - * @ctxt: an XPath parser context - * - * Get the error code of an XPath context. - * - * Returns the context error. - */ -#define xmlXPathGetError(ctxt) ((ctxt)->error) - -/** - * xmlXPathCheckError: - * @ctxt: an XPath parser context - * - * Check if an XPath error was raised. - * - * Returns true if an error has been raised, false otherwise. - */ -#define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK) - -/** - * xmlXPathGetDocument: - * @ctxt: an XPath parser context - * - * Get the document of an XPath context. - * - * Returns the context document. - */ -#define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc) - -/** - * xmlXPathGetContextNode: - * @ctxt: an XPath parser context - * - * Get the context node of an XPath context. - * - * Returns the context node. - */ -#define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) - -XMLPUBFUN int - xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt); -XMLPUBFUN double - xmlXPathPopNumber (xmlXPathParserContextPtr ctxt); -XMLPUBFUN xmlChar * - xmlXPathPopString (xmlXPathParserContextPtr ctxt); -XMLPUBFUN xmlNodeSetPtr - xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt); -XMLPUBFUN void * - xmlXPathPopExternal (xmlXPathParserContextPtr ctxt); - -/** - * xmlXPathReturnBoolean: - * @ctxt: an XPath parser context - * @val: a boolean - * - * Pushes the boolean @val on the context stack. - */ -#define xmlXPathReturnBoolean(ctxt, val) \ - valuePush((ctxt), xmlXPathNewBoolean(val)) - -/** - * xmlXPathReturnTrue: - * @ctxt: an XPath parser context - * - * Pushes true on the context stack. - */ -#define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1) - -/** - * xmlXPathReturnFalse: - * @ctxt: an XPath parser context - * - * Pushes false on the context stack. - */ -#define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0) - -/** - * xmlXPathReturnNumber: - * @ctxt: an XPath parser context - * @val: a double - * - * Pushes the double @val on the context stack. - */ -#define xmlXPathReturnNumber(ctxt, val) \ - valuePush((ctxt), xmlXPathNewFloat(val)) - -/** - * xmlXPathReturnString: - * @ctxt: an XPath parser context - * @str: a string - * - * Pushes the string @str on the context stack. - */ -#define xmlXPathReturnString(ctxt, str) \ - valuePush((ctxt), xmlXPathWrapString(str)) - -/** - * xmlXPathReturnEmptyString: - * @ctxt: an XPath parser context - * - * Pushes an empty string on the stack. - */ -#define xmlXPathReturnEmptyString(ctxt) \ - valuePush((ctxt), xmlXPathNewCString("")) - -/** - * xmlXPathReturnNodeSet: - * @ctxt: an XPath parser context - * @ns: a node-set - * - * Pushes the node-set @ns on the context stack. - */ -#define xmlXPathReturnNodeSet(ctxt, ns) \ - valuePush((ctxt), xmlXPathWrapNodeSet(ns)) - -/** - * xmlXPathReturnEmptyNodeSet: - * @ctxt: an XPath parser context - * - * Pushes an empty node-set on the context stack. - */ -#define xmlXPathReturnEmptyNodeSet(ctxt) \ - valuePush((ctxt), xmlXPathNewNodeSet(NULL)) - -/** - * xmlXPathReturnExternal: - * @ctxt: an XPath parser context - * @val: user data - * - * Pushes user data on the context stack. - */ -#define xmlXPathReturnExternal(ctxt, val) \ - valuePush((ctxt), xmlXPathWrapExternal(val)) - -/** - * xmlXPathStackIsNodeSet: - * @ctxt: an XPath parser context - * - * Check if the current value on the XPath stack is a node set or - * an XSLT value tree. - * - * Returns true if the current object on the stack is a node-set. - */ -#define xmlXPathStackIsNodeSet(ctxt) \ - (((ctxt)->value != NULL) \ - && (((ctxt)->value->type == XPATH_NODESET) \ - || ((ctxt)->value->type == XPATH_XSLT_TREE))) - -/** - * xmlXPathStackIsExternal: - * @ctxt: an XPath parser context - * - * Checks if the current value on the XPath stack is an external - * object. - * - * Returns true if the current object on the stack is an external - * object. - */ -#define xmlXPathStackIsExternal(ctxt) \ - ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS)) - -/** - * xmlXPathEmptyNodeSet: - * @ns: a node-set - * - * Empties a node-set. - */ -#define xmlXPathEmptyNodeSet(ns) \ - { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; } - -/** - * CHECK_ERROR: - * - * Macro to return from the function if an XPath error was detected. - */ -#define CHECK_ERROR \ - if (ctxt->error != XPATH_EXPRESSION_OK) return - -/** - * CHECK_ERROR0: - * - * Macro to return 0 from the function if an XPath error was detected. - */ -#define CHECK_ERROR0 \ - if (ctxt->error != XPATH_EXPRESSION_OK) return(0) - -/** - * XP_ERROR: - * @X: the error code - * - * Macro to raise an XPath error and return. - */ -#define XP_ERROR(X) \ - { xmlXPathErr(ctxt, X); return; } - -/** - * XP_ERROR0: - * @X: the error code - * - * Macro to raise an XPath error and return 0. - */ -#define XP_ERROR0(X) \ - { xmlXPathErr(ctxt, X); return(0); } - -/** - * CHECK_TYPE: - * @typeval: the XPath type - * - * Macro to check that the value on top of the XPath stack is of a given - * type. - */ -#define CHECK_TYPE(typeval) \ - if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ - XP_ERROR(XPATH_INVALID_TYPE) - -/** - * CHECK_TYPE0: - * @typeval: the XPath type - * - * Macro to check that the value on top of the XPath stack is of a given - * type. Return(0) in case of failure - */ -#define CHECK_TYPE0(typeval) \ - if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ - XP_ERROR0(XPATH_INVALID_TYPE) - -/** - * CHECK_ARITY: - * @x: the number of expected args - * - * Macro to check that the number of args passed to an XPath function matches. - */ -#define CHECK_ARITY(x) \ - if (ctxt == NULL) return; \ - if (nargs != (x)) \ - XP_ERROR(XPATH_INVALID_ARITY); \ - if (ctxt->valueNr < ctxt->valueFrame + (x)) \ - XP_ERROR(XPATH_STACK_ERROR); - -/** - * CAST_TO_STRING: - * - * Macro to try to cast the value on the top of the XPath stack to a string. - */ -#define CAST_TO_STRING \ - if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ - xmlXPathStringFunction(ctxt, 1); - -/** - * CAST_TO_NUMBER: - * - * Macro to try to cast the value on the top of the XPath stack to a number. - */ -#define CAST_TO_NUMBER \ - if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ - xmlXPathNumberFunction(ctxt, 1); - -/** - * CAST_TO_BOOLEAN: - * - * Macro to try to cast the value on the top of the XPath stack to a boolean. - */ -#define CAST_TO_BOOLEAN \ - if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ - xmlXPathBooleanFunction(ctxt, 1); - -/* - * Variable Lookup forwarding. - */ - -XMLPUBFUN void - xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt, - xmlXPathVariableLookupFunc f, - void *data); - -/* - * Function Lookup forwarding. - */ - -XMLPUBFUN void - xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt, - xmlXPathFuncLookupFunc f, - void *funcCtxt); - -/* - * Error reporting. - */ -XMLPUBFUN void - xmlXPatherror (xmlXPathParserContextPtr ctxt, - const char *file, - int line, - int no); - -XMLPUBFUN void - xmlXPathErr (xmlXPathParserContextPtr ctxt, - int error); - -#ifdef LIBXML_DEBUG_ENABLED -XMLPUBFUN void - xmlXPathDebugDumpObject (FILE *output, - xmlXPathObjectPtr cur, - int depth); -XMLPUBFUN void - xmlXPathDebugDumpCompExpr(FILE *output, - xmlXPathCompExprPtr comp, - int depth); -#endif -/** - * NodeSet handling. - */ -XMLPUBFUN int - xmlXPathNodeSetContains (xmlNodeSetPtr cur, - xmlNodePtr val); -XMLPUBFUN xmlNodeSetPtr - xmlXPathDifference (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); -XMLPUBFUN xmlNodeSetPtr - xmlXPathIntersection (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); - -XMLPUBFUN xmlNodeSetPtr - xmlXPathDistinctSorted (xmlNodeSetPtr nodes); -XMLPUBFUN xmlNodeSetPtr - xmlXPathDistinct (xmlNodeSetPtr nodes); - -XMLPUBFUN int - xmlXPathHasSameNodes (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); - -XMLPUBFUN xmlNodeSetPtr - xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, - xmlNodePtr node); -XMLPUBFUN xmlNodeSetPtr - xmlXPathLeadingSorted (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); -XMLPUBFUN xmlNodeSetPtr - xmlXPathNodeLeading (xmlNodeSetPtr nodes, - xmlNodePtr node); -XMLPUBFUN xmlNodeSetPtr - xmlXPathLeading (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); - -XMLPUBFUN xmlNodeSetPtr - xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, - xmlNodePtr node); -XMLPUBFUN xmlNodeSetPtr - xmlXPathTrailingSorted (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); -XMLPUBFUN xmlNodeSetPtr - xmlXPathNodeTrailing (xmlNodeSetPtr nodes, - xmlNodePtr node); -XMLPUBFUN xmlNodeSetPtr - xmlXPathTrailing (xmlNodeSetPtr nodes1, - xmlNodeSetPtr nodes2); - - -/** - * Extending a context. - */ - -XMLPUBFUN int - xmlXPathRegisterNs (xmlXPathContextPtr ctxt, - const xmlChar *prefix, - const xmlChar *ns_uri); -XMLPUBFUN const xmlChar * - xmlXPathNsLookup (xmlXPathContextPtr ctxt, - const xmlChar *prefix); -XMLPUBFUN void - xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt); - -XMLPUBFUN int - xmlXPathRegisterFunc (xmlXPathContextPtr ctxt, - const xmlChar *name, - xmlXPathFunction f); -XMLPUBFUN int - xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt, - const xmlChar *name, - const xmlChar *ns_uri, - xmlXPathFunction f); -XMLPUBFUN int - xmlXPathRegisterVariable (xmlXPathContextPtr ctxt, - const xmlChar *name, - xmlXPathObjectPtr value); -XMLPUBFUN int - xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt, - const xmlChar *name, - const xmlChar *ns_uri, - xmlXPathObjectPtr value); -XMLPUBFUN xmlXPathFunction - xmlXPathFunctionLookup (xmlXPathContextPtr ctxt, - const xmlChar *name); -XMLPUBFUN xmlXPathFunction - xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt, - const xmlChar *name, - const xmlChar *ns_uri); -XMLPUBFUN void - xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathVariableLookup (xmlXPathContextPtr ctxt, - const xmlChar *name); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt, - const xmlChar *name, - const xmlChar *ns_uri); -XMLPUBFUN void - xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt); - -/** - * Utilities to extend XPath. - */ -XMLPUBFUN xmlXPathParserContextPtr - xmlXPathNewParserContext (const xmlChar *str, - xmlXPathContextPtr ctxt); -XMLPUBFUN void - xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt); - -/* TODO: remap to xmlXPathValuePop and Push. */ -XMLPUBFUN xmlXPathObjectPtr - valuePop (xmlXPathParserContextPtr ctxt); -XMLPUBFUN int - valuePush (xmlXPathParserContextPtr ctxt, - xmlXPathObjectPtr value); - -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewString (const xmlChar *val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewCString (const char *val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathWrapString (xmlChar *val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathWrapCString (char * val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewFloat (double val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewBoolean (int val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewNodeSet (xmlNodePtr val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewValueTree (xmlNodePtr val); -XMLPUBFUN int - xmlXPathNodeSetAdd (xmlNodeSetPtr cur, - xmlNodePtr val); -XMLPUBFUN int - xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur, - xmlNodePtr val); -XMLPUBFUN int - xmlXPathNodeSetAddNs (xmlNodeSetPtr cur, - xmlNodePtr node, - xmlNsPtr ns); -XMLPUBFUN void - xmlXPathNodeSetSort (xmlNodeSetPtr set); - -XMLPUBFUN void - xmlXPathRoot (xmlXPathParserContextPtr ctxt); -XMLPUBFUN void - xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt); -XMLPUBFUN xmlChar * - xmlXPathParseName (xmlXPathParserContextPtr ctxt); -XMLPUBFUN xmlChar * - xmlXPathParseNCName (xmlXPathParserContextPtr ctxt); - -/* - * Existing functions. - */ -XMLPUBFUN double - xmlXPathStringEvalNumber (const xmlChar *str); -XMLPUBFUN int - xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, - xmlXPathObjectPtr res); -XMLPUBFUN void - xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt); -XMLPUBFUN xmlNodeSetPtr - xmlXPathNodeSetMerge (xmlNodeSetPtr val1, - xmlNodeSetPtr val2); -XMLPUBFUN void - xmlXPathNodeSetDel (xmlNodeSetPtr cur, - xmlNodePtr val); -XMLPUBFUN void - xmlXPathNodeSetRemove (xmlNodeSetPtr cur, - int val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathNewNodeSetList (xmlNodeSetPtr val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathWrapNodeSet (xmlNodeSetPtr val); -XMLPUBFUN xmlXPathObjectPtr - xmlXPathWrapExternal (void *val); - -XMLPUBFUN int xmlXPathEqualValues(xmlXPathParserContextPtr ctxt); -XMLPUBFUN int xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt); -XMLPUBFUN int xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict); -XMLPUBFUN void xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt); -XMLPUBFUN void xmlXPathAddValues(xmlXPathParserContextPtr ctxt); -XMLPUBFUN void xmlXPathSubValues(xmlXPathParserContextPtr ctxt); -XMLPUBFUN void xmlXPathMultValues(xmlXPathParserContextPtr ctxt); -XMLPUBFUN void xmlXPathDivValues(xmlXPathParserContextPtr ctxt); -XMLPUBFUN void xmlXPathModValues(xmlXPathParserContextPtr ctxt); - -XMLPUBFUN int xmlXPathIsNodeType(const xmlChar *name); - -/* - * Some of the axis navigation routines. - */ -XMLPUBFUN xmlNodePtr xmlXPathNextSelf(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextChild(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextParent(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -XMLPUBFUN xmlNodePtr xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, - xmlNodePtr cur); -/* - * The official core of XPath functions. - */ -XMLPUBFUN void xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs); -XMLPUBFUN void xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs); - -/** - * Really internal functions - */ -XMLPUBFUN void xmlXPathNodeSetFreeNs(xmlNsPtr ns); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_XPATH_ENABLED */ -#endif /* ! __XML_XPATH_INTERNALS_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpointer.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpointer.h deleted file mode 100644 index 12ce9ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxml2/libxml/xpointer.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Summary: API to handle XML Pointers - * Description: API to handle XML Pointers - * Base implementation was made accordingly to - * W3C Candidate Recommendation 7 June 2000 - * http://www.w3.org/TR/2000/CR-xptr-20000607 - * - * Added support for the element() scheme described in: - * W3C Proposed Recommendation 13 November 2002 - * http://www.w3.org/TR/2002/PR-xptr-element-20021113/ - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XPTR_H__ -#define __XML_XPTR_H__ - -#include <libxml/xmlversion.h> - -#ifdef LIBXML_XPTR_ENABLED - -#include <libxml/tree.h> -#include <libxml/xpath.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef LIBXML_XPTR_LOCS_ENABLED -/* - * A Location Set - */ -typedef struct _xmlLocationSet xmlLocationSet; -typedef xmlLocationSet *xmlLocationSetPtr; -struct _xmlLocationSet { - int locNr; /* number of locations in the set */ - int locMax; /* size of the array as allocated */ - xmlXPathObjectPtr *locTab;/* array of locations */ -}; - -/* - * Handling of location sets. - */ - -XML_DEPRECATED -XMLPUBFUN xmlLocationSetPtr - xmlXPtrLocationSetCreate (xmlXPathObjectPtr val); -XML_DEPRECATED -XMLPUBFUN void - xmlXPtrFreeLocationSet (xmlLocationSetPtr obj); -XML_DEPRECATED -XMLPUBFUN xmlLocationSetPtr - xmlXPtrLocationSetMerge (xmlLocationSetPtr val1, - xmlLocationSetPtr val2); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewRange (xmlNodePtr start, - int startindex, - xmlNodePtr end, - int endindex); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewRangePoints (xmlXPathObjectPtr start, - xmlXPathObjectPtr end); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewRangeNodePoint (xmlNodePtr start, - xmlXPathObjectPtr end); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewRangePointNode (xmlXPathObjectPtr start, - xmlNodePtr end); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewRangeNodes (xmlNodePtr start, - xmlNodePtr end); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewLocationSetNodes (xmlNodePtr start, - xmlNodePtr end); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewRangeNodeObject (xmlNodePtr start, - xmlXPathObjectPtr end); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrNewCollapsedRange (xmlNodePtr start); -XML_DEPRECATED -XMLPUBFUN void - xmlXPtrLocationSetAdd (xmlLocationSetPtr cur, - xmlXPathObjectPtr val); -XML_DEPRECATED -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrWrapLocationSet (xmlLocationSetPtr val); -XML_DEPRECATED -XMLPUBFUN void - xmlXPtrLocationSetDel (xmlLocationSetPtr cur, - xmlXPathObjectPtr val); -XML_DEPRECATED -XMLPUBFUN void - xmlXPtrLocationSetRemove (xmlLocationSetPtr cur, - int val); -#endif /* LIBXML_XPTR_LOCS_ENABLED */ - -/* - * Functions. - */ -XMLPUBFUN xmlXPathContextPtr - xmlXPtrNewContext (xmlDocPtr doc, - xmlNodePtr here, - xmlNodePtr origin); -XMLPUBFUN xmlXPathObjectPtr - xmlXPtrEval (const xmlChar *str, - xmlXPathContextPtr ctx); -#ifdef LIBXML_XPTR_LOCS_ENABLED -XML_DEPRECATED -XMLPUBFUN void - xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XML_DEPRECATED -XMLPUBFUN xmlNodePtr - xmlXPtrBuildNodeList (xmlXPathObjectPtr obj); -XML_DEPRECATED -XMLPUBFUN void - xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt); -#endif /* LIBXML_XPTR_LOCS_ENABLED */ -#ifdef __cplusplus -} -#endif - -#endif /* LIBXML_XPTR_ENABLED */ -#endif /* __XML_XPTR_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/attributes.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/attributes.h deleted file mode 100644 index d9b99a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/attributes.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Summary: interface for the XSLT attribute handling - * Description: this module handles the specificities of attribute - * and attribute groups processing. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_ATTRIBUTES_H__ -#define __XML_XSLT_ATTRIBUTES_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -XSLTPUBFUN void XSLTCALL - xsltParseStylesheetAttributeSet (xsltStylesheetPtr style, - xmlNodePtr cur); -XSLTPUBFUN void XSLTCALL - xsltFreeAttributeSetsHashes (xsltStylesheetPtr style); -XSLTPUBFUN void XSLTCALL - xsltApplyAttributeSet (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - const xmlChar *attributes); -XSLTPUBFUN void XSLTCALL - xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style); -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_ATTRIBUTES_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/documents.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/documents.h deleted file mode 100644 index ae7c0ca..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/documents.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Summary: interface for the document handling - * Description: implements document loading and cache (multiple - * document() reference for the same resources must - * be equal. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_DOCUMENTS_H__ -#define __XML_XSLT_DOCUMENTS_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -XSLTPUBFUN xsltDocumentPtr XSLTCALL - xsltNewDocument (xsltTransformContextPtr ctxt, - xmlDocPtr doc); -XSLTPUBFUN xsltDocumentPtr XSLTCALL - xsltLoadDocument (xsltTransformContextPtr ctxt, - const xmlChar *URI); -XSLTPUBFUN xsltDocumentPtr XSLTCALL - xsltFindDocument (xsltTransformContextPtr ctxt, - xmlDocPtr doc); -XSLTPUBFUN void XSLTCALL - xsltFreeDocuments (xsltTransformContextPtr ctxt); - -XSLTPUBFUN xsltDocumentPtr XSLTCALL - xsltLoadStyleDocument (xsltStylesheetPtr style, - const xmlChar *URI); -XSLTPUBFUN xsltDocumentPtr XSLTCALL - xsltNewStyleDocument (xsltStylesheetPtr style, - xmlDocPtr doc); -XSLTPUBFUN void XSLTCALL - xsltFreeStyleDocuments (xsltStylesheetPtr style); - -/* - * Hooks for document loading - */ - -/** - * xsltLoadType: - * - * Enum defining the kind of loader requirement. - */ -typedef enum { - XSLT_LOAD_START = 0, /* loading for a top stylesheet */ - XSLT_LOAD_STYLESHEET = 1, /* loading for a stylesheet include/import */ - XSLT_LOAD_DOCUMENT = 2 /* loading document at transformation time */ -} xsltLoadType; - -/** - * xsltDocLoaderFunc: - * @URI: the URI of the document to load - * @dict: the dictionary to use when parsing that document - * @options: parsing options, a set of xmlParserOption - * @ctxt: the context, either a stylesheet or a transformation context - * @type: the xsltLoadType indicating the kind of loading required - * - * An xsltDocLoaderFunc is a signature for a function which can be - * registered to load document not provided by the compilation or - * transformation API themselve, for example when an xsl:import, - * xsl:include is found at compilation time or when a document() - * call is made at runtime. - * - * Returns the pointer to the document (which will be modified and - * freed by the engine later), or NULL in case of error. - */ -typedef xmlDocPtr (*xsltDocLoaderFunc) (const xmlChar *URI, - xmlDictPtr dict, - int options, - void *ctxt, - xsltLoadType type); - -XSLTPUBFUN void XSLTCALL - xsltSetLoaderFunc (xsltDocLoaderFunc f); - -/* the loader may be needed by extension libraries so it is exported */ -XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader; - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_DOCUMENTS_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/extensions.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/extensions.h deleted file mode 100644 index 84d6aa4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/extensions.h +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Summary: interface for the extension support - * Description: This provide the API needed for simple and module - * extension support. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_EXTENSION_H__ -#define __XML_XSLT_EXTENSION_H__ - -#include <libxml/xpath.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Extension Modules API. - */ - -/** - * xsltInitGlobals: - * - * Initialize the global variables for extensions - * - */ - -XSLTPUBFUN void XSLTCALL - xsltInitGlobals (void); - -/** - * xsltStyleExtInitFunction: - * @ctxt: an XSLT stylesheet - * @URI: the namespace URI for the extension - * - * A function called at initialization time of an XSLT extension module. - * - * Returns a pointer to the module specific data for this transformation. - */ -typedef void * (*xsltStyleExtInitFunction) (xsltStylesheetPtr style, - const xmlChar *URI); - -/** - * xsltStyleExtShutdownFunction: - * @ctxt: an XSLT stylesheet - * @URI: the namespace URI for the extension - * @data: the data associated to this module - * - * A function called at shutdown time of an XSLT extension module. - */ -typedef void (*xsltStyleExtShutdownFunction) (xsltStylesheetPtr style, - const xmlChar *URI, - void *data); - -/** - * xsltExtInitFunction: - * @ctxt: an XSLT transformation context - * @URI: the namespace URI for the extension - * - * A function called at initialization time of an XSLT extension module. - * - * Returns a pointer to the module specific data for this transformation. - */ -typedef void * (*xsltExtInitFunction) (xsltTransformContextPtr ctxt, - const xmlChar *URI); - -/** - * xsltExtShutdownFunction: - * @ctxt: an XSLT transformation context - * @URI: the namespace URI for the extension - * @data: the data associated to this module - * - * A function called at shutdown time of an XSLT extension module. - */ -typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt, - const xmlChar *URI, - void *data); - -XSLTPUBFUN int XSLTCALL - xsltRegisterExtModule (const xmlChar *URI, - xsltExtInitFunction initFunc, - xsltExtShutdownFunction shutdownFunc); -XSLTPUBFUN int XSLTCALL - xsltRegisterExtModuleFull - (const xmlChar * URI, - xsltExtInitFunction initFunc, - xsltExtShutdownFunction shutdownFunc, - xsltStyleExtInitFunction styleInitFunc, - xsltStyleExtShutdownFunction styleShutdownFunc); - -XSLTPUBFUN int XSLTCALL - xsltUnregisterExtModule (const xmlChar * URI); - -XSLTPUBFUN void * XSLTCALL - xsltGetExtData (xsltTransformContextPtr ctxt, - const xmlChar *URI); - -XSLTPUBFUN void * XSLTCALL - xsltStyleGetExtData (xsltStylesheetPtr style, - const xmlChar *URI); -#ifdef XSLT_REFACTORED -XSLTPUBFUN void * XSLTCALL - xsltStyleStylesheetLevelGetExtData( - xsltStylesheetPtr style, - const xmlChar * URI); -#endif -XSLTPUBFUN void XSLTCALL - xsltShutdownCtxtExts (xsltTransformContextPtr ctxt); - -XSLTPUBFUN void XSLTCALL - xsltShutdownExts (xsltStylesheetPtr style); - -XSLTPUBFUN xsltTransformContextPtr XSLTCALL - xsltXPathGetTransformContext - (xmlXPathParserContextPtr ctxt); - -/* - * extension functions -*/ -XSLTPUBFUN int XSLTCALL - xsltRegisterExtModuleFunction - (const xmlChar *name, - const xmlChar *URI, - xmlXPathFunction function); -XSLTPUBFUN xmlXPathFunction XSLTCALL - xsltExtModuleFunctionLookup (const xmlChar *name, - const xmlChar *URI); -XSLTPUBFUN int XSLTCALL - xsltUnregisterExtModuleFunction - (const xmlChar *name, - const xmlChar *URI); - -/* - * extension elements - */ -typedef xsltElemPreCompPtr (*xsltPreComputeFunction) - (xsltStylesheetPtr style, - xmlNodePtr inst, - xsltTransformFunction function); - -XSLTPUBFUN xsltElemPreCompPtr XSLTCALL - xsltNewElemPreComp (xsltStylesheetPtr style, - xmlNodePtr inst, - xsltTransformFunction function); -XSLTPUBFUN void XSLTCALL - xsltInitElemPreComp (xsltElemPreCompPtr comp, - xsltStylesheetPtr style, - xmlNodePtr inst, - xsltTransformFunction function, - xsltElemPreCompDeallocator freeFunc); - -XSLTPUBFUN int XSLTCALL - xsltRegisterExtModuleElement - (const xmlChar *name, - const xmlChar *URI, - xsltPreComputeFunction precomp, - xsltTransformFunction transform); -XSLTPUBFUN xsltTransformFunction XSLTCALL - xsltExtElementLookup (xsltTransformContextPtr ctxt, - const xmlChar *name, - const xmlChar *URI); -XSLTPUBFUN xsltTransformFunction XSLTCALL - xsltExtModuleElementLookup - (const xmlChar *name, - const xmlChar *URI); -XSLTPUBFUN xsltPreComputeFunction XSLTCALL - xsltExtModuleElementPreComputeLookup - (const xmlChar *name, - const xmlChar *URI); -XSLTPUBFUN int XSLTCALL - xsltUnregisterExtModuleElement - (const xmlChar *name, - const xmlChar *URI); - -/* - * top-level elements - */ -typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style, - xmlNodePtr inst); - -XSLTPUBFUN int XSLTCALL - xsltRegisterExtModuleTopLevel - (const xmlChar *name, - const xmlChar *URI, - xsltTopLevelFunction function); -XSLTPUBFUN xsltTopLevelFunction XSLTCALL - xsltExtModuleTopLevelLookup - (const xmlChar *name, - const xmlChar *URI); -XSLTPUBFUN int XSLTCALL - xsltUnregisterExtModuleTopLevel - (const xmlChar *name, - const xmlChar *URI); - - -/* These 2 functions are deprecated for use within modules. */ -XSLTPUBFUN int XSLTCALL - xsltRegisterExtFunction (xsltTransformContextPtr ctxt, - const xmlChar *name, - const xmlChar *URI, - xmlXPathFunction function); -XSLTPUBFUN int XSLTCALL - xsltRegisterExtElement (xsltTransformContextPtr ctxt, - const xmlChar *name, - const xmlChar *URI, - xsltTransformFunction function); - -/* - * Extension Prefix handling API. - * Those are used by the XSLT (pre)processor. - */ - -XSLTPUBFUN int XSLTCALL - xsltRegisterExtPrefix (xsltStylesheetPtr style, - const xmlChar *prefix, - const xmlChar *URI); -XSLTPUBFUN int XSLTCALL - xsltCheckExtPrefix (xsltStylesheetPtr style, - const xmlChar *URI); -XSLTPUBFUN int XSLTCALL - xsltCheckExtURI (xsltStylesheetPtr style, - const xmlChar *URI); -XSLTPUBFUN int XSLTCALL - xsltInitCtxtExts (xsltTransformContextPtr ctxt); -XSLTPUBFUN void XSLTCALL - xsltFreeCtxtExts (xsltTransformContextPtr ctxt); -XSLTPUBFUN void XSLTCALL - xsltFreeExts (xsltStylesheetPtr style); - -XSLTPUBFUN xsltElemPreCompPtr XSLTCALL - xsltPreComputeExtModuleElement - (xsltStylesheetPtr style, - xmlNodePtr inst); -/* - * Extension Infos access. - * Used by exslt initialisation - */ - -XSLTPUBFUN xmlHashTablePtr XSLTCALL - xsltGetExtInfo (xsltStylesheetPtr style, - const xmlChar *URI); - -/** - * Test of the extension module API - */ -XSLTPUBFUN void XSLTCALL - xsltRegisterTestModule (void); -XSLTPUBFUN void XSLTCALL - xsltDebugDumpExtensions (FILE * output); - - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_EXTENSION_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/extra.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/extra.h deleted file mode 100644 index e512fd0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/extra.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Summary: interface for the non-standard features - * Description: implement some extension outside the XSLT namespace - * but not EXSLT with is in a different library. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_EXTRA_H__ -#define __XML_XSLT_EXTRA_H__ - -#include <libxml/xpath.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XSLT_LIBXSLT_NAMESPACE: - * - * This is the libxslt namespace for specific extensions. - */ -#define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace") - -/** - * XSLT_SAXON_NAMESPACE: - * - * This is Michael Kay's Saxon processor namespace for extensions. - */ -#define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon") - -/** - * XSLT_XT_NAMESPACE: - * - * This is James Clark's XT processor namespace for extensions. - */ -#define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt") - -/** - * XSLT_XALAN_NAMESPACE: - * - * This is the Apache project XALAN processor namespace for extensions. - */ -#define XSLT_XALAN_NAMESPACE ((xmlChar *) \ - "org.apache.xalan.xslt.extensions.Redirect") - - -XSLTPUBFUN void XSLTCALL - xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltDebug (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); - - -XSLTPUBFUN void XSLTCALL - xsltRegisterExtras (xsltTransformContextPtr ctxt); -XSLTPUBFUN void XSLTCALL - xsltRegisterAllExtras (void); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_EXTRA_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/functions.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/functions.h deleted file mode 100644 index 5455b7f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/functions.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Summary: interface for the XSLT functions not from XPath - * Description: a set of extra functions coming from XSLT but not in XPath - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard and Bjorn Reese <breese@users.sourceforge.net> - */ - -#ifndef __XML_XSLT_FUNCTIONS_H__ -#define __XML_XSLT_FUNCTIONS_H__ - -#include <libxml/xpath.h> -#include <libxml/xpathInternals.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XSLT_REGISTER_FUNCTION_LOOKUP: - * - * Registering macro, not general purpose at all but used in different modules. - */ -#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \ - xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \ - xsltXPathFunctionLookup, \ - (void *)(ctxt->xpathCtxt)); - -XSLTPUBFUN xmlXPathFunction XSLTCALL - xsltXPathFunctionLookup (void *vctxt, - const xmlChar *name, - const xmlChar *ns_uri); - -/* - * Interfaces for the functions implementations. - */ - -XSLTPUBFUN void XSLTCALL - xsltDocumentFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltKeyFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt, - int nargs); -XSLTPUBFUN void XSLTCALL - xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt, - int nargs); - -/* - * And the registration - */ - -XSLTPUBFUN void XSLTCALL - xsltRegisterAllFunctions (xmlXPathContextPtr ctxt); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_FUNCTIONS_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/imports.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/imports.h deleted file mode 100644 index 95e44e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/imports.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Summary: interface for the XSLT import support - * Description: macros and fuctions needed to implement and - * access the import tree - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_IMPORTS_H__ -#define __XML_XSLT_IMPORTS_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XSLT_GET_IMPORT_PTR: - * - * A macro to import pointers from the stylesheet cascading order. - */ -#define XSLT_GET_IMPORT_PTR(res, style, name) { \ - xsltStylesheetPtr st = style; \ - res = NULL; \ - while (st != NULL) { \ - if (st->name != NULL) { res = st->name; break; } \ - st = xsltNextImport(st); \ - }} - -/** - * XSLT_GET_IMPORT_INT: - * - * A macro to import intergers from the stylesheet cascading order. - */ -#define XSLT_GET_IMPORT_INT(res, style, name) { \ - xsltStylesheetPtr st = style; \ - res = -1; \ - while (st != NULL) { \ - if (st->name != -1) { res = st->name; break; } \ - st = xsltNextImport(st); \ - }} - -/* - * Module interfaces - */ -XSLTPUBFUN int XSLTCALL - xsltParseStylesheetImport(xsltStylesheetPtr style, - xmlNodePtr cur); -XSLTPUBFUN int XSLTCALL - xsltParseStylesheetInclude - (xsltStylesheetPtr style, - xmlNodePtr cur); -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltNextImport (xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt); -XSLTPUBFUN int XSLTCALL - xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt, - xmlNodePtr node); -XSLTPUBFUN xsltTemplatePtr XSLTCALL - xsltFindTemplate (xsltTransformContextPtr ctxt, - const xmlChar *name, - const xmlChar *nameURI); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_IMPORTS_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/keys.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/keys.h deleted file mode 100644 index 757d122..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/keys.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Summary: interface for the key matching used in key() and template matches. - * Description: implementation of the key mechanims. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_KEY_H__ -#define __XML_XSLT_KEY_H__ - -#include <libxml/xpath.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * NODE_IS_KEYED: - * - * check for bit 15 set - */ -#define NODE_IS_KEYED (1 >> 15) - -XSLTPUBFUN int XSLTCALL - xsltAddKey (xsltStylesheetPtr style, - const xmlChar *name, - const xmlChar *nameURI, - const xmlChar *match, - const xmlChar *use, - xmlNodePtr inst); -XSLTPUBFUN xmlNodeSetPtr XSLTCALL - xsltGetKey (xsltTransformContextPtr ctxt, - const xmlChar *name, - const xmlChar *nameURI, - const xmlChar *value); -XSLTPUBFUN void XSLTCALL - xsltInitCtxtKeys (xsltTransformContextPtr ctxt, - xsltDocumentPtr doc); -XSLTPUBFUN void XSLTCALL - xsltFreeKeys (xsltStylesheetPtr style); -XSLTPUBFUN void XSLTCALL - xsltFreeDocumentKeys (xsltDocumentPtr doc); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/namespaces.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/namespaces.h deleted file mode 100644 index fa2d3b4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/namespaces.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Summary: interface for the XSLT namespace handling - * Description: set of function easing the processing and generation - * of namespace nodes in XSLT. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_NAMESPACES_H__ -#define __XML_XSLT_NAMESPACES_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Used within nsAliases hashtable when the default namespace is required - * but it's not been explicitly defined - */ -/** - * UNDEFINED_DEFAULT_NS: - * - * Special value for undefined namespace, internal - */ -#define UNDEFINED_DEFAULT_NS (const xmlChar *) -1L - -XSLTPUBFUN void XSLTCALL - xsltNamespaceAlias (xsltStylesheetPtr style, - xmlNodePtr node); -XSLTPUBFUN xmlNsPtr XSLTCALL - xsltGetNamespace (xsltTransformContextPtr ctxt, - xmlNodePtr cur, - xmlNsPtr ns, - xmlNodePtr out); -XSLTPUBFUN xmlNsPtr XSLTCALL - xsltGetPlainNamespace (xsltTransformContextPtr ctxt, - xmlNodePtr cur, - xmlNsPtr ns, - xmlNodePtr out); -XSLTPUBFUN xmlNsPtr XSLTCALL - xsltGetSpecialNamespace (xsltTransformContextPtr ctxt, - xmlNodePtr cur, - const xmlChar *URI, - const xmlChar *prefix, - xmlNodePtr out); -XSLTPUBFUN xmlNsPtr XSLTCALL - xsltCopyNamespace (xsltTransformContextPtr ctxt, - xmlNodePtr elem, - xmlNsPtr ns); -XSLTPUBFUN xmlNsPtr XSLTCALL - xsltCopyNamespaceList (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNsPtr cur); -XSLTPUBFUN void XSLTCALL - xsltFreeNamespaceAliasHashes - (xsltStylesheetPtr style); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_NAMESPACES_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/numbersInternals.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/numbersInternals.h deleted file mode 100644 index 8524592..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/numbersInternals.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Summary: Implementation of the XSLT number functions - * Description: Implementation of the XSLT number functions - * - * Copy: See Copyright for the status of this software. - * - * Author: Bjorn Reese <breese@users.sourceforge.net> and Daniel Veillard - */ - -#ifndef __XML_XSLT_NUMBERSINTERNALS_H__ -#define __XML_XSLT_NUMBERSINTERNALS_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct _xsltCompMatch; - -/** - * xsltNumberData: - * - * This data structure is just a wrapper to pass xsl:number data in. - */ -typedef struct _xsltNumberData xsltNumberData; -typedef xsltNumberData *xsltNumberDataPtr; - -struct _xsltNumberData { - const xmlChar *level; - const xmlChar *count; - const xmlChar *from; - const xmlChar *value; - const xmlChar *format; - int has_format; - int digitsPerGroup; - int groupingCharacter; - int groupingCharacterLen; - xmlDocPtr doc; - xmlNodePtr node; - struct _xsltCompMatch *countPat; - struct _xsltCompMatch *fromPat; - - /* - * accelerators - */ -}; - -/** - * xsltFormatNumberInfo,: - * - * This data structure lists the various parameters needed to format numbers. - */ -typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo; -typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr; - -struct _xsltFormatNumberInfo { - int integer_hash; /* Number of '#' in integer part */ - int integer_digits; /* Number of '0' in integer part */ - int frac_digits; /* Number of '0' in fractional part */ - int frac_hash; /* Number of '#' in fractional part */ - int group; /* Number of chars per display 'group' */ - int multiplier; /* Scaling for percent or permille */ - char add_decimal; /* Flag for whether decimal point appears in pattern */ - char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */ - char is_negative_pattern;/* Flag for processing -ve prefix/suffix */ -}; - -#ifdef __cplusplus -} -#endif -#endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/pattern.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/pattern.h deleted file mode 100644 index a0991c0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/pattern.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Summary: interface for the pattern matching used in template matches. - * Description: the implementation of the lookup of the right template - * for a given node must be really fast in order to keep - * decent performances. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_PATTERN_H__ -#define __XML_XSLT_PATTERN_H__ - -#include "xsltInternals.h" -#include "xsltexports.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xsltCompMatch: - * - * Data structure used for the implementation of patterns. - * It is kept private (in pattern.c). - */ -typedef struct _xsltCompMatch xsltCompMatch; -typedef xsltCompMatch *xsltCompMatchPtr; - -/* - * Pattern related interfaces. - */ - -XSLTPUBFUN xsltCompMatchPtr XSLTCALL - xsltCompilePattern (const xmlChar *pattern, - xmlDocPtr doc, - xmlNodePtr node, - xsltStylesheetPtr style, - xsltTransformContextPtr runtime); -XSLTPUBFUN void XSLTCALL - xsltFreeCompMatchList (xsltCompMatchPtr comp); -XSLTPUBFUN int XSLTCALL - xsltTestCompMatchList (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xsltCompMatchPtr comp); -XSLTPUBFUN void XSLTCALL - xsltCompMatchClearCache (xsltTransformContextPtr ctxt, - xsltCompMatchPtr comp); -XSLTPUBFUN void XSLTCALL - xsltNormalizeCompSteps (void *payload, - void *data, - const xmlChar *name); - -/* - * Template related interfaces. - */ -XSLTPUBFUN int XSLTCALL - xsltAddTemplate (xsltStylesheetPtr style, - xsltTemplatePtr cur, - const xmlChar *mode, - const xmlChar *modeURI); -XSLTPUBFUN xsltTemplatePtr XSLTCALL - xsltGetTemplate (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xsltStylesheetPtr style); -XSLTPUBFUN void XSLTCALL - xsltFreeTemplateHashes (xsltStylesheetPtr style); -XSLTPUBFUN void XSLTCALL - xsltCleanupTemplates (xsltStylesheetPtr style); - -#if 0 -int xsltMatchPattern (xsltTransformContextPtr ctxt, - xmlNodePtr node, - const xmlChar *pattern, - xmlDocPtr ctxtdoc, - xmlNodePtr ctxtnode); -#endif -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_PATTERN_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/preproc.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/preproc.h deleted file mode 100644 index 2a2fc7e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/preproc.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Summary: precomputing stylesheets - * Description: this is the compilation phase, where most of the - * stylesheet is "compiled" into faster to use data. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_PRECOMP_H__ -#define __XML_XSLT_PRECOMP_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Interfaces - */ -XSLTPUBVAR const xmlChar *xsltExtMarker; - -XSLTPUBFUN xsltElemPreCompPtr XSLTCALL - xsltDocumentComp (xsltStylesheetPtr style, - xmlNodePtr inst, - xsltTransformFunction function); - -XSLTPUBFUN void XSLTCALL - xsltStylePreCompute (xsltStylesheetPtr style, - xmlNodePtr inst); -XSLTPUBFUN void XSLTCALL - xsltFreeStylePreComps (xsltStylesheetPtr style); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_PRECOMP_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/security.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/security.h deleted file mode 100644 index bab5c8c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/security.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Summary: interface for the libxslt security framework - * Description: the libxslt security framework allow to restrict - * the access to new resources (file or URL) from - * the stylesheet at runtime. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_SECURITY_H__ -#define __XML_XSLT_SECURITY_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * xsltSecurityPref: - * - * structure to indicate the preferences for security in the XSLT - * transformation. - */ -typedef struct _xsltSecurityPrefs xsltSecurityPrefs; -typedef xsltSecurityPrefs *xsltSecurityPrefsPtr; - -/** - * xsltSecurityOption: - * - * the set of option that can be configured - */ -typedef enum { - XSLT_SECPREF_READ_FILE = 1, - XSLT_SECPREF_WRITE_FILE, - XSLT_SECPREF_CREATE_DIRECTORY, - XSLT_SECPREF_READ_NETWORK, - XSLT_SECPREF_WRITE_NETWORK -} xsltSecurityOption; - -/** - * xsltSecurityCheck: - * - * User provided function to check the value of a string like a file - * path or an URL ... - */ -typedef int (*xsltSecurityCheck) (xsltSecurityPrefsPtr sec, - xsltTransformContextPtr ctxt, - const char *value); - -/* - * Module interfaces - */ -XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL - xsltNewSecurityPrefs (void); -XSLTPUBFUN void XSLTCALL - xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec); -XSLTPUBFUN int XSLTCALL - xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec, - xsltSecurityOption option, - xsltSecurityCheck func); -XSLTPUBFUN xsltSecurityCheck XSLTCALL - xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec, - xsltSecurityOption option); - -XSLTPUBFUN void XSLTCALL - xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec); -XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL - xsltGetDefaultSecurityPrefs (void); - -XSLTPUBFUN int XSLTCALL - xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec, - xsltTransformContextPtr ctxt); - -XSLTPUBFUN int XSLTCALL - xsltSecurityAllow (xsltSecurityPrefsPtr sec, - xsltTransformContextPtr ctxt, - const char *value); -XSLTPUBFUN int XSLTCALL - xsltSecurityForbid (xsltSecurityPrefsPtr sec, - xsltTransformContextPtr ctxt, - const char *value); -/* - * internal interfaces - */ -XSLTPUBFUN int XSLTCALL - xsltCheckWrite (xsltSecurityPrefsPtr sec, - xsltTransformContextPtr ctxt, - const xmlChar *URL); -XSLTPUBFUN int XSLTCALL - xsltCheckRead (xsltSecurityPrefsPtr sec, - xsltTransformContextPtr ctxt, - const xmlChar *URL); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_SECURITY_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/templates.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/templates.h deleted file mode 100644 index 84a9de4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/templates.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Summary: interface for the template processing - * Description: This set of routine encapsulates XPath calls - * and Attribute Value Templates evaluation. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_TEMPLATES_H__ -#define __XML_XSLT_TEMPLATES_H__ - -#include <libxml/xpath.h> -#include <libxml/xpathInternals.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -XSLTPUBFUN int XSLTCALL - xsltEvalXPathPredicate (xsltTransformContextPtr ctxt, - xmlXPathCompExprPtr comp, - xmlNsPtr *nsList, - int nsNr); -XSLTPUBFUN xmlChar * XSLTCALL - xsltEvalTemplateString (xsltTransformContextPtr ctxt, - xmlNodePtr contextNode, - xmlNodePtr inst); -XSLTPUBFUN xmlChar * XSLTCALL - xsltEvalAttrValueTemplate (xsltTransformContextPtr ctxt, - xmlNodePtr node, - const xmlChar *name, - const xmlChar *ns); -XSLTPUBFUN const xmlChar * XSLTCALL - xsltEvalStaticAttrValueTemplate (xsltStylesheetPtr style, - xmlNodePtr node, - const xmlChar *name, - const xmlChar *ns, - int *found); - -/* TODO: this is obviously broken ... the namespaces should be passed too ! */ -XSLTPUBFUN xmlChar * XSLTCALL - xsltEvalXPathString (xsltTransformContextPtr ctxt, - xmlXPathCompExprPtr comp); -XSLTPUBFUN xmlChar * XSLTCALL - xsltEvalXPathStringNs (xsltTransformContextPtr ctxt, - xmlXPathCompExprPtr comp, - int nsNr, - xmlNsPtr *nsList); - -XSLTPUBFUN xmlNodePtr * XSLTCALL - xsltTemplateProcess (xsltTransformContextPtr ctxt, - xmlNodePtr node); -XSLTPUBFUN xmlAttrPtr XSLTCALL - xsltAttrListTemplateProcess (xsltTransformContextPtr ctxt, - xmlNodePtr target, - xmlAttrPtr cur); -XSLTPUBFUN xmlAttrPtr XSLTCALL - xsltAttrTemplateProcess (xsltTransformContextPtr ctxt, - xmlNodePtr target, - xmlAttrPtr attr); -XSLTPUBFUN xmlChar * XSLTCALL - xsltAttrTemplateValueProcess (xsltTransformContextPtr ctxt, - const xmlChar* attr); -XSLTPUBFUN xmlChar * XSLTCALL - xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt, - const xmlChar* str, - xmlNodePtr node); -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_TEMPLATES_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/transform.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/transform.h deleted file mode 100644 index 5a6f795..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/transform.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Summary: the XSLT engine transformation part. - * Description: This module implements the bulk of the actual - * transformation processing. Most of the xsl: element - * constructs are implemented in this module. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_TRANSFORM_H__ -#define __XML_XSLT_TRANSFORM_H__ - -#include <libxml/parser.h> -#include <libxml/xmlIO.h> -#include "xsltexports.h" -#include <libxslt/xsltInternals.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XInclude default processing. - */ -XSLTPUBFUN void XSLTCALL - xsltSetXIncludeDefault (int xinclude); -XSLTPUBFUN int XSLTCALL - xsltGetXIncludeDefault (void); - -/** - * Export context to users. - */ -XSLTPUBFUN xsltTransformContextPtr XSLTCALL - xsltNewTransformContext (xsltStylesheetPtr style, - xmlDocPtr doc); - -XSLTPUBFUN void XSLTCALL - xsltFreeTransformContext(xsltTransformContextPtr ctxt); - -XSLTPUBFUN xmlDocPtr XSLTCALL - xsltApplyStylesheetUser (xsltStylesheetPtr style, - xmlDocPtr doc, - const char **params, - const char *output, - FILE * profile, - xsltTransformContextPtr userCtxt); -XSLTPUBFUN void XSLTCALL - xsltProcessOneNode (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xsltStackElemPtr params); -/** - * Private Interfaces. - */ -XSLTPUBFUN void XSLTCALL - xsltApplyStripSpaces (xsltTransformContextPtr ctxt, - xmlNodePtr node); -XSLTPUBFUN xmlDocPtr XSLTCALL - xsltApplyStylesheet (xsltStylesheetPtr style, - xmlDocPtr doc, - const char **params); -XSLTPUBFUN xmlDocPtr XSLTCALL - xsltProfileStylesheet (xsltStylesheetPtr style, - xmlDocPtr doc, - const char **params, - FILE * output); -XSLTPUBFUN int XSLTCALL - xsltRunStylesheet (xsltStylesheetPtr style, - xmlDocPtr doc, - const char **params, - const char *output, - xmlSAXHandlerPtr SAX, - xmlOutputBufferPtr IObuf); -XSLTPUBFUN int XSLTCALL - xsltRunStylesheetUser (xsltStylesheetPtr style, - xmlDocPtr doc, - const char **params, - const char *output, - xmlSAXHandlerPtr SAX, - xmlOutputBufferPtr IObuf, - FILE * profile, - xsltTransformContextPtr userCtxt); -XSLTPUBFUN void XSLTCALL - xsltApplyOneTemplate (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr list, - xsltTemplatePtr templ, - xsltStackElemPtr params); -XSLTPUBFUN void XSLTCALL - xsltDocumentElem (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltSort (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltCopy (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltText (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltElement (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltComment (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltAttribute (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltProcessingInstruction(xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltCopyOf (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltValueOf (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltNumber (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltApplyImports (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltCallTemplate (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltApplyTemplates (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltChoose (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltIf (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltForEach (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); -XSLTPUBFUN void XSLTCALL - xsltRegisterAllElement (xsltTransformContextPtr ctxt); - -XSLTPUBFUN xmlNodePtr XSLTCALL - xsltCopyTextString (xsltTransformContextPtr ctxt, - xmlNodePtr target, - const xmlChar *string, - int noescape); - -/* Following 2 functions needed for libexslt/functions.c */ -XSLTPUBFUN void XSLTCALL - xsltLocalVariablePop (xsltTransformContextPtr ctxt, - int limitNr, - int level); -XSLTPUBFUN int XSLTCALL - xsltLocalVariablePush (xsltTransformContextPtr ctxt, - xsltStackElemPtr variable, - int level); -/* - * Hook for the debugger if activated. - */ -XSLTPUBFUN void XSLTCALL - xslHandleDebugger (xmlNodePtr cur, - xmlNodePtr node, - xsltTemplatePtr templ, - xsltTransformContextPtr ctxt); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_TRANSFORM_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/variables.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/variables.h deleted file mode 100644 index e2adee0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/variables.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Summary: interface for the variable matching and lookup. - * Description: interface for the variable matching and lookup. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_VARIABLES_H__ -#define __XML_XSLT_VARIABLES_H__ - -#include <libxml/xpath.h> -#include <libxml/xpathInternals.h> -#include "xsltexports.h" -#include "xsltInternals.h" -#include "functions.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/** - * XSLT_REGISTER_VARIABLE_LOOKUP: - * - * Registering macro, not general purpose at all but used in different modules. - */ - -#define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \ - xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \ - xsltXPathVariableLookup, (void *)(ctxt)); \ - xsltRegisterAllFunctions((ctxt)->xpathCtxt); \ - xsltRegisterAllElement(ctxt); \ - (ctxt)->xpathCtxt->extra = ctxt - -/* - * Flags for memory management of RVTs - */ - -/** - * XSLT_RVT_LOCAL: - * - * RVT is destroyed after the current instructions ends. - */ -#define XSLT_RVT_LOCAL 1 - -/** - * XSLT_RVT_FUNC_RESULT: - * - * RVT is part of results returned with func:result. The RVT won't be - * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or - * XSLT_RVT_VARIABLE in the template that receives the return value. - */ -#define XSLT_RVT_FUNC_RESULT 2 - -/** - * XSLT_RVT_GLOBAL: - * - * RVT is part of a global variable. - */ -#define XSLT_RVT_GLOBAL 3 - -/* - * Interfaces for the variable module. - */ - -XSLTPUBFUN int XSLTCALL - xsltEvalGlobalVariables (xsltTransformContextPtr ctxt); -XSLTPUBFUN int XSLTCALL - xsltEvalUserParams (xsltTransformContextPtr ctxt, - const char **params); -XSLTPUBFUN int XSLTCALL - xsltQuoteUserParams (xsltTransformContextPtr ctxt, - const char **params); -XSLTPUBFUN int XSLTCALL - xsltEvalOneUserParam (xsltTransformContextPtr ctxt, - const xmlChar * name, - const xmlChar * value); -XSLTPUBFUN int XSLTCALL - xsltQuoteOneUserParam (xsltTransformContextPtr ctxt, - const xmlChar * name, - const xmlChar * value); - -XSLTPUBFUN void XSLTCALL - xsltParseGlobalVariable (xsltStylesheetPtr style, - xmlNodePtr cur); -XSLTPUBFUN void XSLTCALL - xsltParseGlobalParam (xsltStylesheetPtr style, - xmlNodePtr cur); -XSLTPUBFUN void XSLTCALL - xsltParseStylesheetVariable (xsltTransformContextPtr ctxt, - xmlNodePtr cur); -XSLTPUBFUN void XSLTCALL - xsltParseStylesheetParam (xsltTransformContextPtr ctxt, - xmlNodePtr cur); -XSLTPUBFUN xsltStackElemPtr XSLTCALL - xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt, - xmlNodePtr cur); -XSLTPUBFUN int XSLTCALL - xsltAddStackElemList (xsltTransformContextPtr ctxt, - xsltStackElemPtr elems); -XSLTPUBFUN void XSLTCALL - xsltFreeGlobalVariables (xsltTransformContextPtr ctxt); -XSLTPUBFUN xmlXPathObjectPtr XSLTCALL - xsltVariableLookup (xsltTransformContextPtr ctxt, - const xmlChar *name, - const xmlChar *ns_uri); -XSLTPUBFUN xmlXPathObjectPtr XSLTCALL - xsltXPathVariableLookup (void *ctxt, - const xmlChar *name, - const xmlChar *ns_uri); -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_VARIABLES_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xslt.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xslt.h deleted file mode 100644 index 02f491a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xslt.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Summary: Interfaces, constants and types related to the XSLT engine - * Description: Interfaces, constants and types related to the XSLT engine - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_H__ -#define __XML_XSLT_H__ - -#include <libxml/tree.h> -#include "xsltexports.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XSLT_DEFAULT_VERSION: - * - * The default version of XSLT supported. - */ -#define XSLT_DEFAULT_VERSION "1.0" - -/** - * XSLT_DEFAULT_VENDOR: - * - * The XSLT "vendor" string for this processor. - */ -#define XSLT_DEFAULT_VENDOR "libxslt" - -/** - * XSLT_DEFAULT_URL: - * - * The XSLT "vendor" URL for this processor. - */ -#define XSLT_DEFAULT_URL "http://xmlsoft.org/XSLT/" - -/** - * XSLT_NAMESPACE: - * - * The XSLT specification namespace. - */ -#define XSLT_NAMESPACE ((const xmlChar *)"http://www.w3.org/1999/XSL/Transform") - -/** - * XSLT_PARSE_OPTIONS: - * - * The set of options to pass to an xmlReadxxx when loading files for - * XSLT consumption. - */ -#define XSLT_PARSE_OPTIONS \ - XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NOCDATA - -/** - * xsltMaxDepth: - * - * This value is used to detect templates loops. - */ -XSLTPUBVAR int xsltMaxDepth; - -/** - * * xsltMaxVars: - * * - * * This value is used to detect templates loops. - * */ -XSLTPUBVAR int xsltMaxVars; - -/** - * xsltEngineVersion: - * - * The version string for libxslt. - */ -XSLTPUBVAR const char *xsltEngineVersion; - -/** - * xsltLibxsltVersion: - * - * The version of libxslt compiled. - */ -XSLTPUBVAR const int xsltLibxsltVersion; - -/** - * xsltLibxmlVersion: - * - * The version of libxml libxslt was compiled against. - */ -XSLTPUBVAR const int xsltLibxmlVersion; - -/* - * Global initialization function. - */ - -XSLTPUBFUN void XSLTCALL - xsltInit (void); - -/* - * Global cleanup function. - */ -XSLTPUBFUN void XSLTCALL - xsltCleanupGlobals (void); - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltInternals.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltInternals.h deleted file mode 100644 index 7de638e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltInternals.h +++ /dev/null @@ -1,1992 +0,0 @@ -/* - * Summary: internal data structures, constants and functions - * Description: Internal data structures, constants and functions used - * by the XSLT engine. - * They are not part of the API or ABI, i.e. they can change - * without prior notice, use carefully. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLT_INTERNALS_H__ -#define __XML_XSLT_INTERNALS_H__ - -#include <libxml/tree.h> -#include <libxml/hash.h> -#include <libxml/xpath.h> -#include <libxml/xmlerror.h> -#include <libxml/dict.h> -#include <libxml/xmlstring.h> -#include <libxslt/xslt.h> -#include "xsltexports.h" -#include "numbersInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* #define XSLT_DEBUG_PROFILE_CACHE */ - -/** - * XSLT_IS_TEXT_NODE: - * - * check if the argument is a text node - */ -#define XSLT_IS_TEXT_NODE(n) ((n != NULL) && \ - (((n)->type == XML_TEXT_NODE) || \ - ((n)->type == XML_CDATA_SECTION_NODE))) - - -/** - * XSLT_MARK_RES_TREE_FRAG: - * - * internal macro to set up tree fragments - */ -#define XSLT_MARK_RES_TREE_FRAG(n) \ - (n)->name = (char *) xmlStrdup(BAD_CAST " fake node libxslt"); - -/** - * XSLT_IS_RES_TREE_FRAG: - * - * internal macro to test tree fragments - */ -#define XSLT_IS_RES_TREE_FRAG(n) \ - ((n != NULL) && ((n)->type == XML_DOCUMENT_NODE) && \ - ((n)->name != NULL) && ((n)->name[0] == ' ')) - -/** - * XSLT_REFACTORED_KEYCOMP: - * - * Internal define to enable on-demand xsl:key computation. - * That's the only mode now but the define is kept for compatibility - */ -#define XSLT_REFACTORED_KEYCOMP - -/** - * XSLT_FAST_IF: - * - * Internal define to enable usage of xmlXPathCompiledEvalToBoolean() - * for XSLT "tests"; e.g. in <xsl:if test="/foo/bar"> - */ -#define XSLT_FAST_IF - -/** - * XSLT_REFACTORED: - * - * Internal define to enable the refactored parts of Libxslt. - */ -/* #define XSLT_REFACTORED */ -/* ==================================================================== */ - -/** - * XSLT_REFACTORED_VARS: - * - * Internal define to enable the refactored variable part of libxslt - */ -#define XSLT_REFACTORED_VARS - -#ifdef XSLT_REFACTORED - -extern const xmlChar *xsltXSLTAttrMarker; - - -/* TODO: REMOVE: #define XSLT_REFACTORED_EXCLRESNS */ - -/* TODO: REMOVE: #define XSLT_REFACTORED_NSALIAS */ - -/** - * XSLT_REFACTORED_XSLT_NSCOMP - * - * Internal define to enable the pointer-comparison of - * namespaces of XSLT elements. - */ -/* #define XSLT_REFACTORED_XSLT_NSCOMP */ - -#ifdef XSLT_REFACTORED_XSLT_NSCOMP - -extern const xmlChar *xsltConstNamespaceNameXSLT; - -/** - * IS_XSLT_ELEM_FAST: - * - * quick test to detect XSLT elements - */ -#define IS_XSLT_ELEM_FAST(n) \ - (((n) != NULL) && ((n)->ns != NULL) && \ - ((n)->ns->href == xsltConstNamespaceNameXSLT)) - -/** - * IS_XSLT_ATTR_FAST: - * - * quick test to detect XSLT attributes - */ -#define IS_XSLT_ATTR_FAST(a) \ - (((a) != NULL) && ((a)->ns != NULL) && \ - ((a)->ns->href == xsltConstNamespaceNameXSLT)) - -/** - * XSLT_HAS_INTERNAL_NSMAP: - * - * check for namespace mapping - */ -#define XSLT_HAS_INTERNAL_NSMAP(s) \ - (((s) != NULL) && ((s)->principal) && \ - ((s)->principal->principalData) && \ - ((s)->principal->principalData->nsMap)) - -/** - * XSLT_GET_INTERNAL_NSMAP: - * - * get pointer to namespace map - */ -#define XSLT_GET_INTERNAL_NSMAP(s) ((s)->principal->principalData->nsMap) - -#else /* XSLT_REFACTORED_XSLT_NSCOMP */ - -/** - * IS_XSLT_ELEM_FAST: - * - * quick check whether this is an xslt element - */ -#define IS_XSLT_ELEM_FAST(n) \ - (((n) != NULL) && ((n)->ns != NULL) && \ - (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) - -/** - * IS_XSLT_ATTR_FAST: - * - * quick check for xslt namespace attribute - */ -#define IS_XSLT_ATTR_FAST(a) \ - (((a) != NULL) && ((a)->ns != NULL) && \ - (xmlStrEqual((a)->ns->href, XSLT_NAMESPACE))) - - -#endif /* XSLT_REFACTORED_XSLT_NSCOMP */ - - -/** - * XSLT_REFACTORED_MANDATORY_VERSION: - * - * TODO: Currently disabled to surpress regression test failures, since - * the old behaviour was that a missing version attribute - * produced a only a warning and not an error, which was incerrect. - * So the regression tests need to be fixed if this is enabled. - */ -/* #define XSLT_REFACTORED_MANDATORY_VERSION */ - -/** - * xsltPointerList: - * - * Pointer-list for various purposes. - */ -typedef struct _xsltPointerList xsltPointerList; -typedef xsltPointerList *xsltPointerListPtr; -struct _xsltPointerList { - void **items; - int number; - int size; -}; - -#endif - -/** - * XSLT_REFACTORED_PARSING: - * - * Internal define to enable the refactored parts of Libxslt - * related to parsing. - */ -/* #define XSLT_REFACTORED_PARSING */ - -/** - * XSLT_MAX_SORT: - * - * Max number of specified xsl:sort on an element. - */ -#define XSLT_MAX_SORT 15 - -/** - * XSLT_PAT_NO_PRIORITY: - * - * Specific value for pattern without priority expressed. - */ -#define XSLT_PAT_NO_PRIORITY -12345789 - -/** - * xsltRuntimeExtra: - * - * Extra information added to the transformation context. - */ -typedef struct _xsltRuntimeExtra xsltRuntimeExtra; -typedef xsltRuntimeExtra *xsltRuntimeExtraPtr; -struct _xsltRuntimeExtra { - void *info; /* pointer to the extra data */ - xmlFreeFunc deallocate; /* pointer to the deallocation routine */ - union { /* dual-purpose field */ - void *ptr; /* data not needing deallocation */ - int ival; /* integer value storage */ - } val; -}; - -/** - * XSLT_RUNTIME_EXTRA_LST: - * @ctxt: the transformation context - * @nr: the index - * - * Macro used to access extra information stored in the context - */ -#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info -/** - * XSLT_RUNTIME_EXTRA_FREE: - * @ctxt: the transformation context - * @nr: the index - * - * Macro used to free extra information stored in the context - */ -#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate -/** - * XSLT_RUNTIME_EXTRA: - * @ctxt: the transformation context - * @nr: the index - * - * Macro used to define extra information stored in the context - */ -#define XSLT_RUNTIME_EXTRA(ctxt, nr, typ) (ctxt)->extras[(nr)].val.typ - -/** - * xsltTemplate: - * - * The in-memory structure corresponding to an XSLT Template. - */ -typedef struct _xsltTemplate xsltTemplate; -typedef xsltTemplate *xsltTemplatePtr; -struct _xsltTemplate { - struct _xsltTemplate *next;/* chained list sorted by priority */ - struct _xsltStylesheet *style;/* the containing stylesheet */ - xmlChar *match; /* the matching string */ - float priority; /* as given from the stylesheet, not computed */ - const xmlChar *name; /* the local part of the name QName */ - const xmlChar *nameURI; /* the URI part of the name QName */ - const xmlChar *mode;/* the local part of the mode QName */ - const xmlChar *modeURI;/* the URI part of the mode QName */ - xmlNodePtr content; /* the template replacement value */ - xmlNodePtr elem; /* the source element */ - - /* - * TODO: @inheritedNsNr and @inheritedNs won't be used in the - * refactored code. - */ - int inheritedNsNr; /* number of inherited namespaces */ - xmlNsPtr *inheritedNs;/* inherited non-excluded namespaces */ - - /* Profiling information */ - int nbCalls; /* the number of time the template was called */ - unsigned long time; /* the time spent in this template */ - void *params; /* xsl:param instructions */ - - int templNr; /* Nb of templates in the stack */ - int templMax; /* Size of the templtes stack */ - xsltTemplatePtr *templCalledTab; /* templates called */ - int *templCountTab; /* .. and how often */ - - /* Conflict resolution */ - int position; -}; - -/** - * xsltDecimalFormat: - * - * Data structure of decimal-format. - */ -typedef struct _xsltDecimalFormat xsltDecimalFormat; -typedef xsltDecimalFormat *xsltDecimalFormatPtr; -struct _xsltDecimalFormat { - struct _xsltDecimalFormat *next; /* chained list */ - xmlChar *name; - /* Used for interpretation of pattern */ - xmlChar *digit; - xmlChar *patternSeparator; - /* May appear in result */ - xmlChar *minusSign; - xmlChar *infinity; - xmlChar *noNumber; /* Not-a-number */ - /* Used for interpretation of pattern and may appear in result */ - xmlChar *decimalPoint; - xmlChar *grouping; - xmlChar *percent; - xmlChar *permille; - xmlChar *zeroDigit; - const xmlChar *nsUri; -}; - -/** - * xsltDocument: - * - * Data structure associated to a parsed document. - */ -typedef struct _xsltDocument xsltDocument; -typedef xsltDocument *xsltDocumentPtr; -struct _xsltDocument { - struct _xsltDocument *next; /* documents are kept in a chained list */ - int main; /* is this the main document */ - xmlDocPtr doc; /* the parsed document */ - void *keys; /* key tables storage */ - struct _xsltDocument *includes; /* subsidiary includes */ - int preproc; /* pre-processing already done */ - int nbKeysComputed; -}; - -/** - * xsltKeyDef: - * - * Representation of an xsl:key. - */ -typedef struct _xsltKeyDef xsltKeyDef; -typedef xsltKeyDef *xsltKeyDefPtr; -struct _xsltKeyDef { - struct _xsltKeyDef *next; - xmlNodePtr inst; - xmlChar *name; - xmlChar *nameURI; - xmlChar *match; - xmlChar *use; - xmlXPathCompExprPtr comp; - xmlXPathCompExprPtr usecomp; - xmlNsPtr *nsList; /* the namespaces in scope */ - int nsNr; /* the number of namespaces in scope */ -}; - -/** - * xsltKeyTable: - * - * Holds the computed keys for key definitions of the same QName. - * Is owned by an xsltDocument. - */ -typedef struct _xsltKeyTable xsltKeyTable; -typedef xsltKeyTable *xsltKeyTablePtr; -struct _xsltKeyTable { - struct _xsltKeyTable *next; - xmlChar *name; - xmlChar *nameURI; - xmlHashTablePtr keys; -}; - -/* - * The in-memory structure corresponding to an XSLT Stylesheet. - * NOTE: most of the content is simply linked from the doc tree - * structure, no specific allocation is made. - */ -typedef struct _xsltStylesheet xsltStylesheet; -typedef xsltStylesheet *xsltStylesheetPtr; - -typedef struct _xsltTransformContext xsltTransformContext; -typedef xsltTransformContext *xsltTransformContextPtr; - -/** - * xsltElemPreComp: - * - * The in-memory structure corresponding to element precomputed data, - * designed to be extended by extension implementors. - */ -typedef struct _xsltElemPreComp xsltElemPreComp; -typedef xsltElemPreComp *xsltElemPreCompPtr; - -/** - * xsltTransformFunction: - * @ctxt: the XSLT transformation context - * @node: the input node - * @inst: the stylesheet node - * @comp: the compiled information from the stylesheet - * - * Signature of the function associated to elements part of the - * stylesheet language like xsl:if or xsl:apply-templates. - */ -typedef void (*xsltTransformFunction) (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst, - xsltElemPreCompPtr comp); - -/** - * xsltSortFunc: - * @ctxt: a transformation context - * @sorts: the node-set to sort - * @nbsorts: the number of sorts - * - * Signature of the function to use during sorting - */ -typedef void (*xsltSortFunc) (xsltTransformContextPtr ctxt, xmlNodePtr *sorts, - int nbsorts); - -typedef enum { - XSLT_FUNC_COPY=1, - XSLT_FUNC_SORT, - XSLT_FUNC_TEXT, - XSLT_FUNC_ELEMENT, - XSLT_FUNC_ATTRIBUTE, - XSLT_FUNC_COMMENT, - XSLT_FUNC_PI, - XSLT_FUNC_COPYOF, - XSLT_FUNC_VALUEOF, - XSLT_FUNC_NUMBER, - XSLT_FUNC_APPLYIMPORTS, - XSLT_FUNC_CALLTEMPLATE, - XSLT_FUNC_APPLYTEMPLATES, - XSLT_FUNC_CHOOSE, - XSLT_FUNC_IF, - XSLT_FUNC_FOREACH, - XSLT_FUNC_DOCUMENT, - XSLT_FUNC_WITHPARAM, - XSLT_FUNC_PARAM, - XSLT_FUNC_VARIABLE, - XSLT_FUNC_WHEN, - XSLT_FUNC_EXTENSION -#ifdef XSLT_REFACTORED - , - XSLT_FUNC_OTHERWISE, - XSLT_FUNC_FALLBACK, - XSLT_FUNC_MESSAGE, - XSLT_FUNC_INCLUDE, - XSLT_FUNC_ATTRSET, - XSLT_FUNC_LITERAL_RESULT_ELEMENT, - XSLT_FUNC_UNKOWN_FORWARDS_COMPAT -#endif -} xsltStyleType; - -/** - * xsltElemPreCompDeallocator: - * @comp: the #xsltElemPreComp to free up - * - * Deallocates an #xsltElemPreComp structure. - */ -typedef void (*xsltElemPreCompDeallocator) (xsltElemPreCompPtr comp); - -/** - * xsltElemPreComp: - * - * The basic structure for compiled items of the AST of the XSLT processor. - * This structure is also intended to be extended by extension implementors. - * TODO: This is somehow not nice, since it has a "free" field, which - * derived stylesheet-structs do not have. - */ -struct _xsltElemPreComp { - xsltElemPreCompPtr next; /* next item in the global chained - list held by xsltStylesheet. */ - xsltStyleType type; /* type of the element */ - xsltTransformFunction func; /* handling function */ - xmlNodePtr inst; /* the node in the stylesheet's tree - corresponding to this item */ - - /* end of common part */ - xsltElemPreCompDeallocator free; /* the deallocator */ -}; - -/** - * xsltStylePreComp: - * - * The abstract basic structure for items of the XSLT processor. - * This includes: - * 1) compiled forms of XSLT instructions (xsl:if, xsl:attribute, etc.) - * 2) compiled forms of literal result elements - * 3) compiled forms of extension elements - */ -typedef struct _xsltStylePreComp xsltStylePreComp; -typedef xsltStylePreComp *xsltStylePreCompPtr; - -#ifdef XSLT_REFACTORED - -/* -* Some pointer-list utility functions. -*/ -XSLTPUBFUN xsltPointerListPtr XSLTCALL - xsltPointerListCreate (int initialSize); -XSLTPUBFUN void XSLTCALL - xsltPointerListFree (xsltPointerListPtr list); -XSLTPUBFUN void XSLTCALL - xsltPointerListClear (xsltPointerListPtr list); -XSLTPUBFUN int XSLTCALL - xsltPointerListAddSize (xsltPointerListPtr list, - void *item, - int initialSize); - -/************************************************************************ - * * - * Refactored structures * - * * - ************************************************************************/ - -typedef struct _xsltNsListContainer xsltNsListContainer; -typedef xsltNsListContainer *xsltNsListContainerPtr; -struct _xsltNsListContainer { - xmlNsPtr *list; - int totalNumber; - int xpathNumber; -}; - -/** - * XSLT_ITEM_COMPATIBILITY_FIELDS: - * - * Fields for API compatibility to the structure - * _xsltElemPreComp which is used for extension functions. - * Note that @next is used for storage; it does not reflect a next - * sibling in the tree. - * TODO: Evaluate if we really need such a compatibility. - */ -#define XSLT_ITEM_COMPATIBILITY_FIELDS \ - xsltElemPreCompPtr next;\ - xsltStyleType type;\ - xsltTransformFunction func;\ - xmlNodePtr inst; - -/** - * XSLT_ITEM_NAVIGATION_FIELDS: - * - * Currently empty. - * TODO: It is intended to hold navigational fields in the future. - */ -#define XSLT_ITEM_NAVIGATION_FIELDS -/* - xsltStylePreCompPtr parent;\ - xsltStylePreCompPtr children;\ - xsltStylePreCompPtr nextItem; -*/ - -/** - * XSLT_ITEM_NSINSCOPE_FIELDS: - * - * The in-scope namespaces. - */ -#define XSLT_ITEM_NSINSCOPE_FIELDS xsltNsListContainerPtr inScopeNs; - -/** - * XSLT_ITEM_COMMON_FIELDS: - * - * Common fields used for all items. - */ -#define XSLT_ITEM_COMMON_FIELDS \ - XSLT_ITEM_COMPATIBILITY_FIELDS \ - XSLT_ITEM_NAVIGATION_FIELDS \ - XSLT_ITEM_NSINSCOPE_FIELDS - -/** - * _xsltStylePreComp: - * - * The abstract basic structure for items of the XSLT processor. - * This includes: - * 1) compiled forms of XSLT instructions (e.g. xsl:if, xsl:attribute, etc.) - * 2) compiled forms of literal result elements - * 3) various properties for XSLT instructions (e.g. xsl:when, - * xsl:with-param) - * - * REVISIT TODO: Keep this structure equal to the fields - * defined by XSLT_ITEM_COMMON_FIELDS - */ -struct _xsltStylePreComp { - xsltElemPreCompPtr next; /* next item in the global chained - list held by xsltStylesheet */ - xsltStyleType type; /* type of the item */ - xsltTransformFunction func; /* handling function */ - xmlNodePtr inst; /* the node in the stylesheet's tree - corresponding to this item. */ - /* Currently no navigational fields. */ - xsltNsListContainerPtr inScopeNs; -}; - -/** - * xsltStyleBasicEmptyItem: - * - * Abstract structure only used as a short-cut for - * XSLT items with no extra fields. - * NOTE that it is intended that this structure looks the same as - * _xsltStylePreComp. - */ -typedef struct _xsltStyleBasicEmptyItem xsltStyleBasicEmptyItem; -typedef xsltStyleBasicEmptyItem *xsltStyleBasicEmptyItemPtr; - -struct _xsltStyleBasicEmptyItem { - XSLT_ITEM_COMMON_FIELDS -}; - -/** - * xsltStyleBasicExpressionItem: - * - * Abstract structure only used as a short-cut for - * XSLT items with just an expression. - */ -typedef struct _xsltStyleBasicExpressionItem xsltStyleBasicExpressionItem; -typedef xsltStyleBasicExpressionItem *xsltStyleBasicExpressionItemPtr; - -struct _xsltStyleBasicExpressionItem { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *select; /* TODO: Change this to "expression". */ - xmlXPathCompExprPtr comp; /* TODO: Change this to compExpr. */ -}; - -/************************************************************************ - * * - * XSLT-instructions/declarations * - * * - ************************************************************************/ - -/** - * xsltStyleItemElement: - * - * <!-- Category: instruction --> - * <xsl:element - * name = { qname } - * namespace = { uri-reference } - * use-attribute-sets = qnames> - * <!-- Content: template --> - * </xsl:element> - */ -typedef struct _xsltStyleItemElement xsltStyleItemElement; -typedef xsltStyleItemElement *xsltStyleItemElementPtr; - -struct _xsltStyleItemElement { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *use; - int has_use; - const xmlChar *name; - int has_name; - const xmlChar *ns; - const xmlChar *nsPrefix; - int has_ns; -}; - -/** - * xsltStyleItemAttribute: - * - * <!-- Category: instruction --> - * <xsl:attribute - * name = { qname } - * namespace = { uri-reference }> - * <!-- Content: template --> - * </xsl:attribute> - */ -typedef struct _xsltStyleItemAttribute xsltStyleItemAttribute; -typedef xsltStyleItemAttribute *xsltStyleItemAttributePtr; - -struct _xsltStyleItemAttribute { - XSLT_ITEM_COMMON_FIELDS - const xmlChar *name; - int has_name; - const xmlChar *ns; - const xmlChar *nsPrefix; - int has_ns; -}; - -/** - * xsltStyleItemText: - * - * <!-- Category: instruction --> - * <xsl:text - * disable-output-escaping = "yes" | "no"> - * <!-- Content: #PCDATA --> - * </xsl:text> - */ -typedef struct _xsltStyleItemText xsltStyleItemText; -typedef xsltStyleItemText *xsltStyleItemTextPtr; - -struct _xsltStyleItemText { - XSLT_ITEM_COMMON_FIELDS - int noescape; /* text */ -}; - -/** - * xsltStyleItemComment: - * - * <!-- Category: instruction --> - * <xsl:comment> - * <!-- Content: template --> - * </xsl:comment> - */ -typedef xsltStyleBasicEmptyItem xsltStyleItemComment; -typedef xsltStyleItemComment *xsltStyleItemCommentPtr; - -/** - * xsltStyleItemPI: - * - * <!-- Category: instruction --> - * <xsl:processing-instruction - * name = { ncname }> - * <!-- Content: template --> - * </xsl:processing-instruction> - */ -typedef struct _xsltStyleItemPI xsltStyleItemPI; -typedef xsltStyleItemPI *xsltStyleItemPIPtr; - -struct _xsltStyleItemPI { - XSLT_ITEM_COMMON_FIELDS - const xmlChar *name; - int has_name; -}; - -/** - * xsltStyleItemApplyImports: - * - * <!-- Category: instruction --> - * <xsl:apply-imports /> - */ -typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports; -typedef xsltStyleItemApplyImports *xsltStyleItemApplyImportsPtr; - -/** - * xsltStyleItemApplyTemplates: - * - * <!-- Category: instruction --> - * <xsl:apply-templates - * select = node-set-expression - * mode = qname> - * <!-- Content: (xsl:sort | xsl:with-param)* --> - * </xsl:apply-templates> - */ -typedef struct _xsltStyleItemApplyTemplates xsltStyleItemApplyTemplates; -typedef xsltStyleItemApplyTemplates *xsltStyleItemApplyTemplatesPtr; - -struct _xsltStyleItemApplyTemplates { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *mode; /* apply-templates */ - const xmlChar *modeURI; /* apply-templates */ - const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ - xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ - /* TODO: with-params */ -}; - -/** - * xsltStyleItemCallTemplate: - * - * <!-- Category: instruction --> - * <xsl:call-template - * name = qname> - * <!-- Content: xsl:with-param* --> - * </xsl:call-template> - */ -typedef struct _xsltStyleItemCallTemplate xsltStyleItemCallTemplate; -typedef xsltStyleItemCallTemplate *xsltStyleItemCallTemplatePtr; - -struct _xsltStyleItemCallTemplate { - XSLT_ITEM_COMMON_FIELDS - - xsltTemplatePtr templ; /* call-template */ - const xmlChar *name; /* element, attribute, pi */ - int has_name; /* element, attribute, pi */ - const xmlChar *ns; /* element */ - int has_ns; /* element */ - /* TODO: with-params */ -}; - -/** - * xsltStyleItemCopy: - * - * <!-- Category: instruction --> - * <xsl:copy - * use-attribute-sets = qnames> - * <!-- Content: template --> - * </xsl:copy> - */ -typedef struct _xsltStyleItemCopy xsltStyleItemCopy; -typedef xsltStyleItemCopy *xsltStyleItemCopyPtr; - -struct _xsltStyleItemCopy { - XSLT_ITEM_COMMON_FIELDS - const xmlChar *use; /* copy, element */ - int has_use; /* copy, element */ -}; - -/** - * xsltStyleItemIf: - * - * <!-- Category: instruction --> - * <xsl:if - * test = boolean-expression> - * <!-- Content: template --> - * </xsl:if> - */ -typedef struct _xsltStyleItemIf xsltStyleItemIf; -typedef xsltStyleItemIf *xsltStyleItemIfPtr; - -struct _xsltStyleItemIf { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *test; /* if */ - xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ -}; - - -/** - * xsltStyleItemCopyOf: - * - * <!-- Category: instruction --> - * <xsl:copy-of - * select = expression /> - */ -typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf; -typedef xsltStyleItemCopyOf *xsltStyleItemCopyOfPtr; - -/** - * xsltStyleItemValueOf: - * - * <!-- Category: instruction --> - * <xsl:value-of - * select = string-expression - * disable-output-escaping = "yes" | "no" /> - */ -typedef struct _xsltStyleItemValueOf xsltStyleItemValueOf; -typedef xsltStyleItemValueOf *xsltStyleItemValueOfPtr; - -struct _xsltStyleItemValueOf { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *select; - xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ - int noescape; -}; - -/** - * xsltStyleItemNumber: - * - * <!-- Category: instruction --> - * <xsl:number - * level = "single" | "multiple" | "any" - * count = pattern - * from = pattern - * value = number-expression - * format = { string } - * lang = { nmtoken } - * letter-value = { "alphabetic" | "traditional" } - * grouping-separator = { char } - * grouping-size = { number } /> - */ -typedef struct _xsltStyleItemNumber xsltStyleItemNumber; -typedef xsltStyleItemNumber *xsltStyleItemNumberPtr; - -struct _xsltStyleItemNumber { - XSLT_ITEM_COMMON_FIELDS - xsltNumberData numdata; /* number */ -}; - -/** - * xsltStyleItemChoose: - * - * <!-- Category: instruction --> - * <xsl:choose> - * <!-- Content: (xsl:when+, xsl:otherwise?) --> - * </xsl:choose> - */ -typedef xsltStyleBasicEmptyItem xsltStyleItemChoose; -typedef xsltStyleItemChoose *xsltStyleItemChoosePtr; - -/** - * xsltStyleItemFallback: - * - * <!-- Category: instruction --> - * <xsl:fallback> - * <!-- Content: template --> - * </xsl:fallback> - */ -typedef xsltStyleBasicEmptyItem xsltStyleItemFallback; -typedef xsltStyleItemFallback *xsltStyleItemFallbackPtr; - -/** - * xsltStyleItemForEach: - * - * <!-- Category: instruction --> - * <xsl:for-each - * select = node-set-expression> - * <!-- Content: (xsl:sort*, template) --> - * </xsl:for-each> - */ -typedef xsltStyleBasicExpressionItem xsltStyleItemForEach; -typedef xsltStyleItemForEach *xsltStyleItemForEachPtr; - -/** - * xsltStyleItemMessage: - * - * <!-- Category: instruction --> - * <xsl:message - * terminate = "yes" | "no"> - * <!-- Content: template --> - * </xsl:message> - */ -typedef struct _xsltStyleItemMessage xsltStyleItemMessage; -typedef xsltStyleItemMessage *xsltStyleItemMessagePtr; - -struct _xsltStyleItemMessage { - XSLT_ITEM_COMMON_FIELDS - int terminate; -}; - -/** - * xsltStyleItemDocument: - * - * NOTE: This is not an instruction of XSLT 1.0. - */ -typedef struct _xsltStyleItemDocument xsltStyleItemDocument; -typedef xsltStyleItemDocument *xsltStyleItemDocumentPtr; - -struct _xsltStyleItemDocument { - XSLT_ITEM_COMMON_FIELDS - int ver11; /* assigned: in xsltDocumentComp; - read: nowhere; - TODO: Check if we need. */ - const xmlChar *filename; /* document URL */ - int has_filename; -}; - -/************************************************************************ - * * - * Non-instructions (actually properties of instructions/declarations) * - * * - ************************************************************************/ - -/** - * xsltStyleBasicItemVariable: - * - * Basic struct for xsl:variable, xsl:param and xsl:with-param. - * It's currently important to have equal fields, since - * xsltParseStylesheetCallerParam() is used with xsl:with-param from - * the xslt side and with xsl:param from the exslt side (in - * exsltFuncFunctionFunction()). - * - * FUTURE NOTE: In XSLT 2.0 xsl:param, xsl:variable and xsl:with-param - * have additional different fields. - */ -typedef struct _xsltStyleBasicItemVariable xsltStyleBasicItemVariable; -typedef xsltStyleBasicItemVariable *xsltStyleBasicItemVariablePtr; - -struct _xsltStyleBasicItemVariable { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *select; - xmlXPathCompExprPtr comp; - - const xmlChar *name; - int has_name; - const xmlChar *ns; - int has_ns; -}; - -/** - * xsltStyleItemVariable: - * - * <!-- Category: top-level-element --> - * <xsl:param - * name = qname - * select = expression> - * <!-- Content: template --> - * </xsl:param> - */ -typedef xsltStyleBasicItemVariable xsltStyleItemVariable; -typedef xsltStyleItemVariable *xsltStyleItemVariablePtr; - -/** - * xsltStyleItemParam: - * - * <!-- Category: top-level-element --> - * <xsl:param - * name = qname - * select = expression> - * <!-- Content: template --> - * </xsl:param> - */ -typedef struct _xsltStyleItemParam xsltStyleItemParam; -typedef xsltStyleItemParam *xsltStyleItemParamPtr; - -struct _xsltStyleItemParam { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *select; - xmlXPathCompExprPtr comp; - - const xmlChar *name; - int has_name; - const xmlChar *ns; - int has_ns; -}; - -/** - * xsltStyleItemWithParam: - * - * <xsl:with-param - * name = qname - * select = expression> - * <!-- Content: template --> - * </xsl:with-param> - */ -typedef xsltStyleBasicItemVariable xsltStyleItemWithParam; -typedef xsltStyleItemWithParam *xsltStyleItemWithParamPtr; - -/** - * xsltStyleItemSort: - * - * Reflects the XSLT xsl:sort item. - * Allowed parents: xsl:apply-templates, xsl:for-each - * <xsl:sort - * select = string-expression - * lang = { nmtoken } - * data-type = { "text" | "number" | qname-but-not-ncname } - * order = { "ascending" | "descending" } - * case-order = { "upper-first" | "lower-first" } /> - */ -typedef struct _xsltStyleItemSort xsltStyleItemSort; -typedef xsltStyleItemSort *xsltStyleItemSortPtr; - -struct _xsltStyleItemSort { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *stype; /* sort */ - int has_stype; /* sort */ - int number; /* sort */ - const xmlChar *order; /* sort */ - int has_order; /* sort */ - int descending; /* sort */ - const xmlChar *lang; /* sort */ - int has_lang; /* sort */ - const xmlChar *case_order; /* sort */ - int lower_first; /* sort */ - - const xmlChar *use; - int has_use; - - const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ - - xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ -}; - - -/** - * xsltStyleItemWhen: - * - * <xsl:when - * test = boolean-expression> - * <!-- Content: template --> - * </xsl:when> - * Allowed parent: xsl:choose - */ -typedef struct _xsltStyleItemWhen xsltStyleItemWhen; -typedef xsltStyleItemWhen *xsltStyleItemWhenPtr; - -struct _xsltStyleItemWhen { - XSLT_ITEM_COMMON_FIELDS - - const xmlChar *test; - xmlXPathCompExprPtr comp; -}; - -/** - * xsltStyleItemOtherwise: - * - * Allowed parent: xsl:choose - * <xsl:otherwise> - * <!-- Content: template --> - * </xsl:otherwise> - */ -typedef struct _xsltStyleItemOtherwise xsltStyleItemOtherwise; -typedef xsltStyleItemOtherwise *xsltStyleItemOtherwisePtr; - -struct _xsltStyleItemOtherwise { - XSLT_ITEM_COMMON_FIELDS -}; - -typedef struct _xsltStyleItemInclude xsltStyleItemInclude; -typedef xsltStyleItemInclude *xsltStyleItemIncludePtr; - -struct _xsltStyleItemInclude { - XSLT_ITEM_COMMON_FIELDS - xsltDocumentPtr include; -}; - -/************************************************************************ - * * - * XSLT elements in forwards-compatible mode * - * * - ************************************************************************/ - -typedef struct _xsltStyleItemUknown xsltStyleItemUknown; -typedef xsltStyleItemUknown *xsltStyleItemUknownPtr; -struct _xsltStyleItemUknown { - XSLT_ITEM_COMMON_FIELDS -}; - - -/************************************************************************ - * * - * Extension elements * - * * - ************************************************************************/ - -/* - * xsltStyleItemExtElement: - * - * Reflects extension elements. - * - * NOTE: Due to the fact that the structure xsltElemPreComp is most - * probably already heavily in use out there by users, so we cannot - * easily change it, we'll create an intermediate structure which will - * hold an xsltElemPreCompPtr. - * BIG NOTE: The only problem I see here is that the user processes the - * content of the stylesheet tree, possibly he'll lookup the node->psvi - * fields in order to find subsequent extension functions. - * In this case, the user's code will break, since the node->psvi - * field will hold now the xsltStyleItemExtElementPtr and not - * the xsltElemPreCompPtr. - * However the place where the structure is anchored in the node-tree, - * namely node->psvi, has beed already once been moved from node->_private - * to node->psvi, so we have a precedent here, which, I think, should allow - * us to change such semantics without headaches. - */ -typedef struct _xsltStyleItemExtElement xsltStyleItemExtElement; -typedef xsltStyleItemExtElement *xsltStyleItemExtElementPtr; -struct _xsltStyleItemExtElement { - XSLT_ITEM_COMMON_FIELDS - xsltElemPreCompPtr item; -}; - -/************************************************************************ - * * - * Literal result elements * - * * - ************************************************************************/ - -typedef struct _xsltEffectiveNs xsltEffectiveNs; -typedef xsltEffectiveNs *xsltEffectiveNsPtr; -struct _xsltEffectiveNs { - xsltEffectiveNsPtr nextInStore; /* storage next */ - xsltEffectiveNsPtr next; /* next item in the list */ - const xmlChar *prefix; - const xmlChar *nsName; - /* - * Indicates if eclared on the literal result element; dunno if really - * needed. - */ - int holdByElem; -}; - -/* - * Info for literal result elements. - * This will be set on the elem->psvi field and will be - * shared by literal result elements, which have the same - * excluded result namespaces; i.e., this *won't* be created uniquely - * for every literal result element. - */ -typedef struct _xsltStyleItemLRElementInfo xsltStyleItemLRElementInfo; -typedef xsltStyleItemLRElementInfo *xsltStyleItemLRElementInfoPtr; -struct _xsltStyleItemLRElementInfo { - XSLT_ITEM_COMMON_FIELDS - /* - * @effectiveNs is the set of effective ns-nodes - * on the literal result element, which will be added to the result - * element if not already existing in the result tree. - * This means that excluded namespaces (via exclude-result-prefixes, - * extension-element-prefixes and the XSLT namespace) not added - * to the set. - * Namespace-aliasing was applied on the @effectiveNs. - */ - xsltEffectiveNsPtr effectiveNs; - -}; - -#ifdef XSLT_REFACTORED - -typedef struct _xsltNsAlias xsltNsAlias; -typedef xsltNsAlias *xsltNsAliasPtr; -struct _xsltNsAlias { - xsltNsAliasPtr next; /* next in the list */ - xmlNsPtr literalNs; - xmlNsPtr targetNs; - xmlDocPtr docOfTargetNs; -}; -#endif - -#ifdef XSLT_REFACTORED_XSLT_NSCOMP - -typedef struct _xsltNsMap xsltNsMap; -typedef xsltNsMap *xsltNsMapPtr; -struct _xsltNsMap { - xsltNsMapPtr next; /* next in the list */ - xmlDocPtr doc; - xmlNodePtr elem; /* the element holding the ns-decl */ - xmlNsPtr ns; /* the xmlNs structure holding the XML namespace name */ - const xmlChar *origNsName; /* the original XML namespace name */ - const xmlChar *newNsName; /* the mapped XML namespace name */ -}; -#endif - -/************************************************************************ - * * - * Compile-time structures for *internal* use only * - * * - ************************************************************************/ - -typedef struct _xsltPrincipalStylesheetData xsltPrincipalStylesheetData; -typedef xsltPrincipalStylesheetData *xsltPrincipalStylesheetDataPtr; - -typedef struct _xsltNsList xsltNsList; -typedef xsltNsList *xsltNsListPtr; -struct _xsltNsList { - xsltNsListPtr next; /* next in the list */ - xmlNsPtr ns; -}; - -/* -* xsltVarInfo: -* -* Used at compilation time for parameters and variables. -*/ -typedef struct _xsltVarInfo xsltVarInfo; -typedef xsltVarInfo *xsltVarInfoPtr; -struct _xsltVarInfo { - xsltVarInfoPtr next; /* next in the list */ - xsltVarInfoPtr prev; - int depth; /* the depth in the tree */ - const xmlChar *name; - const xmlChar *nsName; -}; - -/** - * xsltCompilerNodeInfo: - * - * Per-node information during compile-time. - */ -typedef struct _xsltCompilerNodeInfo xsltCompilerNodeInfo; -typedef xsltCompilerNodeInfo *xsltCompilerNodeInfoPtr; -struct _xsltCompilerNodeInfo { - xsltCompilerNodeInfoPtr next; - xsltCompilerNodeInfoPtr prev; - xmlNodePtr node; - int depth; - xsltTemplatePtr templ; /* The owning template */ - int category; /* XSLT element, LR-element or - extension element */ - xsltStyleType type; - xsltElemPreCompPtr item; /* The compiled information */ - /* The current in-scope namespaces */ - xsltNsListContainerPtr inScopeNs; - /* The current excluded result namespaces */ - xsltPointerListPtr exclResultNs; - /* The current extension instruction namespaces */ - xsltPointerListPtr extElemNs; - - /* The current info for literal result elements. */ - xsltStyleItemLRElementInfoPtr litResElemInfo; - /* - * Set to 1 if in-scope namespaces changed, - * or excluded result namespaces changed, - * or extension element namespaces changed. - * This will trigger creation of new infos - * for literal result elements. - */ - int nsChanged; - int preserveWhitespace; - int stripWhitespace; - int isRoot; /* whether this is the stylesheet's root node */ - int forwardsCompat; /* whether forwards-compatible mode is enabled */ - /* whether the content of an extension element was processed */ - int extContentHandled; - /* the type of the current child */ - xsltStyleType curChildType; -}; - -/** - * XSLT_CCTXT: - * - * get pointer to compiler context - */ -#define XSLT_CCTXT(style) ((xsltCompilerCtxtPtr) style->compCtxt) - -typedef enum { - XSLT_ERROR_SEVERITY_ERROR = 0, - XSLT_ERROR_SEVERITY_WARNING -} xsltErrorSeverityType; - -typedef struct _xsltCompilerCtxt xsltCompilerCtxt; -typedef xsltCompilerCtxt *xsltCompilerCtxtPtr; -struct _xsltCompilerCtxt { - void *errorCtxt; /* user specific error context */ - /* - * used for error/warning reports; e.g. XSLT_ERROR_SEVERITY_WARNING */ - xsltErrorSeverityType errSeverity; - int warnings; /* TODO: number of warnings found at - compilation */ - int errors; /* TODO: number of errors found at - compilation */ - xmlDictPtr dict; - xsltStylesheetPtr style; - int simplified; /* whether this is a simplified stylesheet */ - /* TODO: structured/unstructured error contexts. */ - int depth; /* Current depth of processing */ - - xsltCompilerNodeInfoPtr inode; - xsltCompilerNodeInfoPtr inodeList; - xsltCompilerNodeInfoPtr inodeLast; - xsltPointerListPtr tmpList; /* Used for various purposes */ - /* - * The XSLT version as specified by the stylesheet's root element. - */ - int isInclude; - int hasForwardsCompat; /* whether forwards-compatible mode was used - in a parsing episode */ - int maxNodeInfos; /* TEMP TODO: just for the interest */ - int maxLREs; /* TEMP TODO: just for the interest */ - /* - * In order to keep the old behaviour, applying strict rules of - * the spec can be turned off. This has effect only on special - * mechanisms like whitespace-stripping in the stylesheet. - */ - int strict; - xsltPrincipalStylesheetDataPtr psData; - xsltStyleItemUknownPtr unknownItem; - int hasNsAliases; /* Indicator if there was an xsl:namespace-alias. */ - xsltNsAliasPtr nsAliases; - xsltVarInfoPtr ivars; /* Storage of local in-scope variables/params. */ - xsltVarInfoPtr ivar; /* topmost local variable/param. */ -}; - -#else /* XSLT_REFACTORED */ -/* -* The old structures before refactoring. -*/ - -/** - * _xsltStylePreComp: - * - * The in-memory structure corresponding to XSLT stylesheet constructs - * precomputed data. - */ -struct _xsltStylePreComp { - xsltElemPreCompPtr next; /* chained list */ - xsltStyleType type; /* type of the element */ - xsltTransformFunction func; /* handling function */ - xmlNodePtr inst; /* the instruction */ - - /* - * Pre computed values. - */ - - const xmlChar *stype; /* sort */ - int has_stype; /* sort */ - int number; /* sort */ - const xmlChar *order; /* sort */ - int has_order; /* sort */ - int descending; /* sort */ - const xmlChar *lang; /* sort */ - int has_lang; /* sort */ - const xmlChar *case_order; /* sort */ - int lower_first; /* sort */ - - const xmlChar *use; /* copy, element */ - int has_use; /* copy, element */ - - int noescape; /* text */ - - const xmlChar *name; /* element, attribute, pi */ - int has_name; /* element, attribute, pi */ - const xmlChar *ns; /* element */ - int has_ns; /* element */ - - const xmlChar *mode; /* apply-templates */ - const xmlChar *modeURI; /* apply-templates */ - - const xmlChar *test; /* if */ - - xsltTemplatePtr templ; /* call-template */ - - const xmlChar *select; /* sort, copy-of, value-of, apply-templates */ - - int ver11; /* document */ - const xmlChar *filename; /* document URL */ - int has_filename; /* document */ - - xsltNumberData numdata; /* number */ - - xmlXPathCompExprPtr comp; /* a precompiled XPath expression */ - xmlNsPtr *nsList; /* the namespaces in scope */ - int nsNr; /* the number of namespaces in scope */ -}; - -#endif /* XSLT_REFACTORED */ - - -/* - * The in-memory structure corresponding to an XSLT Variable - * or Param. - */ -typedef struct _xsltStackElem xsltStackElem; -typedef xsltStackElem *xsltStackElemPtr; -struct _xsltStackElem { - struct _xsltStackElem *next;/* chained list */ - xsltStylePreCompPtr comp; /* the compiled form */ - int computed; /* was the evaluation done */ - const xmlChar *name; /* the local part of the name QName */ - const xmlChar *nameURI; /* the URI part of the name QName */ - const xmlChar *select; /* the eval string */ - xmlNodePtr tree; /* the sequence constructor if no eval - string or the location */ - xmlXPathObjectPtr value; /* The value if computed */ - xmlDocPtr fragment; /* The Result Tree Fragments (needed for XSLT 1.0) - which are bound to the variable's lifetime. */ - int level; /* the depth in the tree; - -1 if persistent (e.g. a given xsl:with-param) */ - xsltTransformContextPtr context; /* The transformation context; needed to cache - the variables */ - int flags; -}; - -#ifdef XSLT_REFACTORED - -struct _xsltPrincipalStylesheetData { - /* - * Namespace dictionary for ns-prefixes and ns-names: - * TODO: Shared between stylesheets, and XPath mechanisms. - * Not used yet. - */ - xmlDictPtr namespaceDict; - /* - * Global list of in-scope namespaces. - */ - xsltPointerListPtr inScopeNamespaces; - /* - * Global list of information for [xsl:]excluded-result-prefixes. - */ - xsltPointerListPtr exclResultNamespaces; - /* - * Global list of information for [xsl:]extension-element-prefixes. - */ - xsltPointerListPtr extElemNamespaces; - xsltEffectiveNsPtr effectiveNs; -#ifdef XSLT_REFACTORED_XSLT_NSCOMP - /* - * Namespace name map to get rid of string comparison of namespace names. - */ - xsltNsMapPtr nsMap; -#endif -}; - - -#endif -/* - * Note that we added a @compCtxt field to anchor an stylesheet compilation - * context, since, due to historical reasons, various compile-time function - * take only the stylesheet as argument and not a compilation context. - */ -struct _xsltStylesheet { - /* - * The stylesheet import relation is kept as a tree. - */ - struct _xsltStylesheet *parent; - struct _xsltStylesheet *next; - struct _xsltStylesheet *imports; - - xsltDocumentPtr docList; /* the include document list */ - - /* - * General data on the style sheet document. - */ - xmlDocPtr doc; /* the parsed XML stylesheet */ - xmlHashTablePtr stripSpaces;/* the hash table of the strip-space and - preserve space elements */ - int stripAll; /* strip-space * (1) preserve-space * (-1) */ - xmlHashTablePtr cdataSection;/* the hash table of the cdata-section */ - - /* - * Global variable or parameters. - */ - xsltStackElemPtr variables; /* linked list of param and variables */ - - /* - * Template descriptions. - */ - xsltTemplatePtr templates; /* the ordered list of templates */ - xmlHashTablePtr templatesHash; /* hash table or wherever compiled - templates information is stored */ - struct _xsltCompMatch *rootMatch; /* template based on / */ - struct _xsltCompMatch *keyMatch; /* template based on key() */ - struct _xsltCompMatch *elemMatch; /* template based on * */ - struct _xsltCompMatch *attrMatch; /* template based on @* */ - struct _xsltCompMatch *parentMatch; /* template based on .. */ - struct _xsltCompMatch *textMatch; /* template based on text() */ - struct _xsltCompMatch *piMatch; /* template based on - processing-instruction() */ - struct _xsltCompMatch *commentMatch; /* template based on comment() */ - - /* - * Namespace aliases. - * NOTE: Not used in the refactored code. - */ - xmlHashTablePtr nsAliases; /* the namespace alias hash tables */ - - /* - * Attribute sets. - */ - xmlHashTablePtr attributeSets;/* the attribute sets hash tables */ - - /* - * Namespaces. - * TODO: Eliminate this. - */ - xmlHashTablePtr nsHash; /* the set of namespaces in use: - ATTENTION: This is used for - execution of XPath expressions; unfortunately - it restricts the stylesheet to have distinct - prefixes. - TODO: We need to get rid of this. - */ - void *nsDefs; /* ATTENTION TODO: This is currently used to store - xsltExtDefPtr (in extensions.c) and - *not* xmlNsPtr. - */ - - /* - * Key definitions. - */ - void *keys; /* key definitions */ - - /* - * Output related stuff. - */ - xmlChar *method; /* the output method */ - xmlChar *methodURI; /* associated namespace if any */ - xmlChar *version; /* version string */ - xmlChar *encoding; /* encoding string */ - int omitXmlDeclaration; /* omit-xml-declaration = "yes" | "no" */ - - /* - * Number formatting. - */ - xsltDecimalFormatPtr decimalFormat; - int standalone; /* standalone = "yes" | "no" */ - xmlChar *doctypePublic; /* doctype-public string */ - xmlChar *doctypeSystem; /* doctype-system string */ - int indent; /* should output being indented */ - xmlChar *mediaType; /* media-type string */ - - /* - * Precomputed blocks. - */ - xsltElemPreCompPtr preComps;/* list of precomputed blocks */ - int warnings; /* number of warnings found at compilation */ - int errors; /* number of errors found at compilation */ - - xmlChar *exclPrefix; /* last excluded prefixes */ - xmlChar **exclPrefixTab; /* array of excluded prefixes */ - int exclPrefixNr; /* number of excluded prefixes in scope */ - int exclPrefixMax; /* size of the array */ - - void *_private; /* user defined data */ - - /* - * Extensions. - */ - xmlHashTablePtr extInfos; /* the extension data */ - int extrasNr; /* the number of extras required */ - - /* - * For keeping track of nested includes - */ - xsltDocumentPtr includes; /* points to last nested include */ - - /* - * dictionary: shared between stylesheet, context and documents. - */ - xmlDictPtr dict; - /* - * precompiled attribute value templates. - */ - void *attVTs; - /* - * if namespace-alias has an alias for the default stylesheet prefix - * NOTE: Not used in the refactored code. - */ - const xmlChar *defaultAlias; - /* - * bypass pre-processing (already done) (used in imports) - */ - int nopreproc; - /* - * all document text strings were internalized - */ - int internalized; - /* - * Literal Result Element as Stylesheet c.f. section 2.3 - */ - int literal_result; - /* - * The principal stylesheet - */ - xsltStylesheetPtr principal; -#ifdef XSLT_REFACTORED - /* - * Compilation context used during compile-time. - */ - xsltCompilerCtxtPtr compCtxt; /* TODO: Change this to (void *). */ - - xsltPrincipalStylesheetDataPtr principalData; -#endif - /* - * Forwards-compatible processing - */ - int forwards_compatible; - - xmlHashTablePtr namedTemplates; /* hash table of named templates */ - - xmlXPathContextPtr xpathCtxt; -}; - -typedef struct _xsltTransformCache xsltTransformCache; -typedef xsltTransformCache *xsltTransformCachePtr; -struct _xsltTransformCache { - xmlDocPtr RVT; - int nbRVT; - xsltStackElemPtr stackItems; - int nbStackItems; -#ifdef XSLT_DEBUG_PROFILE_CACHE - int dbgCachedRVTs; - int dbgReusedRVTs; - int dbgCachedVars; - int dbgReusedVars; -#endif -}; - -/* - * The in-memory structure corresponding to an XSLT Transformation. - */ -typedef enum { - XSLT_OUTPUT_XML = 0, - XSLT_OUTPUT_HTML, - XSLT_OUTPUT_TEXT -} xsltOutputType; - -typedef void * -(*xsltNewLocaleFunc)(const xmlChar *lang, int lowerFirst); -typedef void -(*xsltFreeLocaleFunc)(void *locale); -typedef xmlChar * -(*xsltGenSortKeyFunc)(void *locale, const xmlChar *lang); - -typedef enum { - XSLT_STATE_OK = 0, - XSLT_STATE_ERROR, - XSLT_STATE_STOPPED -} xsltTransformState; - -struct _xsltTransformContext { - xsltStylesheetPtr style; /* the stylesheet used */ - xsltOutputType type; /* the type of output */ - - xsltTemplatePtr templ; /* the current template */ - int templNr; /* Nb of templates in the stack */ - int templMax; /* Size of the templtes stack */ - xsltTemplatePtr *templTab; /* the template stack */ - - xsltStackElemPtr vars; /* the current variable list */ - int varsNr; /* Nb of variable list in the stack */ - int varsMax; /* Size of the variable list stack */ - xsltStackElemPtr *varsTab; /* the variable list stack */ - int varsBase; /* the var base for current templ */ - - /* - * Extensions - */ - xmlHashTablePtr extFunctions; /* the extension functions */ - xmlHashTablePtr extElements; /* the extension elements */ - xmlHashTablePtr extInfos; /* the extension data */ - - const xmlChar *mode; /* the current mode */ - const xmlChar *modeURI; /* the current mode URI */ - - xsltDocumentPtr docList; /* the document list */ - - xsltDocumentPtr document; /* the current source document; can be NULL if an RTF */ - xmlNodePtr node; /* the current node being processed */ - xmlNodeSetPtr nodeList; /* the current node list */ - /* xmlNodePtr current; the node */ - - xmlDocPtr output; /* the resulting document */ - xmlNodePtr insert; /* the insertion node */ - - xmlXPathContextPtr xpathCtxt; /* the XPath context */ - xsltTransformState state; /* the current state */ - - /* - * Global variables - */ - xmlHashTablePtr globalVars; /* the global variables and params */ - - xmlNodePtr inst; /* the instruction in the stylesheet */ - - int xinclude; /* should XInclude be processed */ - - const char * outputFile; /* the output URI if known */ - - int profile; /* is this run profiled */ - long prof; /* the current profiled value */ - int profNr; /* Nb of templates in the stack */ - int profMax; /* Size of the templtaes stack */ - long *profTab; /* the profile template stack */ - - void *_private; /* user defined data */ - - int extrasNr; /* the number of extras used */ - int extrasMax; /* the number of extras allocated */ - xsltRuntimeExtraPtr extras; /* extra per runtime information */ - - xsltDocumentPtr styleList; /* the stylesheet docs list */ - void * sec; /* the security preferences if any */ - - xmlGenericErrorFunc error; /* a specific error handler */ - void * errctx; /* context for the error handler */ - - xsltSortFunc sortfunc; /* a ctxt specific sort routine */ - - /* - * handling of temporary Result Value Tree - * (XSLT 1.0 term: "Result Tree Fragment") - */ - xmlDocPtr tmpRVT; /* list of RVT without persistance */ - xmlDocPtr persistRVT; /* list of persistant RVTs */ - int ctxtflags; /* context processing flags */ - - /* - * Speed optimization when coalescing text nodes - */ - const xmlChar *lasttext; /* last text node content */ - int lasttsize; /* last text node size */ - int lasttuse; /* last text node use */ - /* - * Per Context Debugging - */ - int debugStatus; /* the context level debug status */ - unsigned long* traceCode; /* pointer to the variable holding the mask */ - - int parserOptions; /* parser options xmlParserOption */ - - /* - * dictionary: shared between stylesheet, context and documents. - */ - xmlDictPtr dict; - xmlDocPtr tmpDoc; /* Obsolete; not used in the library. */ - /* - * all document text strings are internalized - */ - int internalized; - int nbKeys; - int hasTemplKeyPatterns; - xsltTemplatePtr currentTemplateRule; /* the Current Template Rule */ - xmlNodePtr initialContextNode; - xmlDocPtr initialContextDoc; - xsltTransformCachePtr cache; - void *contextVariable; /* the current variable item */ - xmlDocPtr localRVT; /* list of local tree fragments; will be freed when - the instruction which created the fragment - exits */ - xmlDocPtr localRVTBase; /* Obsolete */ - int keyInitLevel; /* Needed to catch recursive keys issues */ - int depth; /* Needed to catch recursions */ - int maxTemplateDepth; - int maxTemplateVars; - unsigned long opLimit; - unsigned long opCount; - int sourceDocDirty; - unsigned long currentId; /* For generate-id() */ - - xsltNewLocaleFunc newLocale; - xsltFreeLocaleFunc freeLocale; - xsltGenSortKeyFunc genSortKey; -}; - -/** - * CHECK_STOPPED: - * - * Macro to check if the XSLT processing should be stopped. - * Will return from the function. - */ -#define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return; - -/** - * CHECK_STOPPEDE: - * - * Macro to check if the XSLT processing should be stopped. - * Will goto the error: label. - */ -#define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error; - -/** - * CHECK_STOPPED0: - * - * Macro to check if the XSLT processing should be stopped. - * Will return from the function with a 0 value. - */ -#define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0); - -/* - * The macro XML_CAST_FPTR is a hack to avoid a gcc warning about - * possible incompatibilities between function pointers and object - * pointers. It is defined in libxml/hash.h within recent versions - * of libxml2, but is put here for compatibility. - */ -#ifndef XML_CAST_FPTR -/** - * XML_CAST_FPTR: - * @fptr: pointer to a function - * - * Macro to do a casting from an object pointer to a - * function pointer without encountering a warning from - * gcc - * - * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) - * This macro violated ISO C aliasing rules (gcc4 on s390 broke) - * so it is disabled now - */ - -#define XML_CAST_FPTR(fptr) fptr -#endif -/* - * Functions associated to the internal types -xsltDecimalFormatPtr xsltDecimalFormatGetByName(xsltStylesheetPtr sheet, - xmlChar *name); - */ -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltNewStylesheet (void); -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltParseStylesheetFile (const xmlChar* filename); -XSLTPUBFUN void XSLTCALL - xsltFreeStylesheet (xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltIsBlank (xmlChar *str); -XSLTPUBFUN void XSLTCALL - xsltFreeStackElemList (xsltStackElemPtr elem); -XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL - xsltDecimalFormatGetByName(xsltStylesheetPtr style, - xmlChar *name); -XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL - xsltDecimalFormatGetByQName(xsltStylesheetPtr style, - const xmlChar *nsUri, - const xmlChar *name); - -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltParseStylesheetProcess(xsltStylesheetPtr ret, - xmlDocPtr doc); -XSLTPUBFUN void XSLTCALL - xsltParseStylesheetOutput(xsltStylesheetPtr style, - xmlNodePtr cur); -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltParseStylesheetDoc (xmlDocPtr doc); -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltParseStylesheetImportedDoc(xmlDocPtr doc, - xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltParseStylesheetUser(xsltStylesheetPtr style, - xmlDocPtr doc); -XSLTPUBFUN xsltStylesheetPtr XSLTCALL - xsltLoadStylesheetPI (xmlDocPtr doc); -XSLTPUBFUN void XSLTCALL - xsltNumberFormat (xsltTransformContextPtr ctxt, - xsltNumberDataPtr data, - xmlNodePtr node); -XSLTPUBFUN xmlXPathError XSLTCALL - xsltFormatNumberConversion(xsltDecimalFormatPtr self, - xmlChar *format, - double number, - xmlChar **result); - -XSLTPUBFUN void XSLTCALL - xsltParseTemplateContent(xsltStylesheetPtr style, - xmlNodePtr templ); -XSLTPUBFUN int XSLTCALL - xsltAllocateExtra (xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltAllocateExtraCtxt (xsltTransformContextPtr ctxt); -/* - * Extra functions for Result Value Trees - */ -XSLTPUBFUN xmlDocPtr XSLTCALL - xsltCreateRVT (xsltTransformContextPtr ctxt); -XSLTPUBFUN int XSLTCALL - xsltRegisterTmpRVT (xsltTransformContextPtr ctxt, - xmlDocPtr RVT); -XSLTPUBFUN int XSLTCALL - xsltRegisterLocalRVT (xsltTransformContextPtr ctxt, - xmlDocPtr RVT); -XSLTPUBFUN int XSLTCALL - xsltRegisterPersistRVT (xsltTransformContextPtr ctxt, - xmlDocPtr RVT); -XSLTPUBFUN int XSLTCALL - xsltExtensionInstructionResultRegister( - xsltTransformContextPtr ctxt, - xmlXPathObjectPtr obj); -XSLTPUBFUN int XSLTCALL - xsltExtensionInstructionResultFinalize( - xsltTransformContextPtr ctxt); -XSLTPUBFUN int XSLTCALL - xsltFlagRVTs( - xsltTransformContextPtr ctxt, - xmlXPathObjectPtr obj, - int val); -XSLTPUBFUN void XSLTCALL - xsltFreeRVTs (xsltTransformContextPtr ctxt); -XSLTPUBFUN void XSLTCALL - xsltReleaseRVT (xsltTransformContextPtr ctxt, - xmlDocPtr RVT); -/* - * Extra functions for Attribute Value Templates - */ -XSLTPUBFUN void XSLTCALL - xsltCompileAttr (xsltStylesheetPtr style, - xmlAttrPtr attr); -XSLTPUBFUN xmlChar * XSLTCALL - xsltEvalAVT (xsltTransformContextPtr ctxt, - void *avt, - xmlNodePtr node); -XSLTPUBFUN void XSLTCALL - xsltFreeAVTList (void *avt); - -/* - * Extra function for successful xsltCleanupGlobals / xsltInit sequence. - */ - -XSLTPUBFUN void XSLTCALL - xsltUninit (void); - -/************************************************************************ - * * - * Compile-time functions for *internal* use only * - * * - ************************************************************************/ - -#ifdef XSLT_REFACTORED -XSLTPUBFUN void XSLTCALL - xsltParseSequenceConstructor( - xsltCompilerCtxtPtr cctxt, - xmlNodePtr start); -XSLTPUBFUN int XSLTCALL - xsltParseAnyXSLTElem (xsltCompilerCtxtPtr cctxt, - xmlNodePtr elem); -#ifdef XSLT_REFACTORED_XSLT_NSCOMP -XSLTPUBFUN int XSLTCALL - xsltRestoreDocumentNamespaces( - xsltNsMapPtr ns, - xmlDocPtr doc); -#endif -#endif /* XSLT_REFACTORED */ - -/************************************************************************ - * * - * Transformation-time functions for *internal* use only * - * * - ************************************************************************/ -XSLTPUBFUN int XSLTCALL - xsltInitCtxtKey (xsltTransformContextPtr ctxt, - xsltDocumentPtr doc, - xsltKeyDefPtr keyd); -XSLTPUBFUN int XSLTCALL - xsltInitAllDocKeys (xsltTransformContextPtr ctxt); -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLT_H__ */ - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h deleted file mode 100644 index 8d496b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Summary: compile-time version information for the XSLT engine - * Description: compile-time version information for the XSLT engine - * this module is autogenerated. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLTCONFIG_H__ -#define __XML_XSLTCONFIG_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * LIBXSLT_DOTTED_VERSION: - * - * the version string like "1.2.3" - */ -#define LIBXSLT_DOTTED_VERSION "1.1.38" - -/** - * LIBXSLT_VERSION: - * - * the version number: 1.2.3 value is 10203 - */ -#define LIBXSLT_VERSION 10138 - -/** - * LIBXSLT_VERSION_STRING: - * - * the version number string, 1.2.3 value is "10203" - */ -#define LIBXSLT_VERSION_STRING "10138" - -/** - * LIBXSLT_VERSION_EXTRA: - * - * extra version information, used to show a Git commit description - */ -#define LIBXSLT_VERSION_EXTRA "" - -/** - * WITH_XSLT_DEBUG: - * - * Activate the compilation of the debug reporting. Speed penalty - * is insignifiant and being able to run xsltpoc -v is useful. On - * by default unless --without-debug is passed to configure - */ -#if 1 -#define WITH_XSLT_DEBUG -#endif - -#if 0 -/** - * DEBUG_MEMORY: - * - * should be activated only when debugging libxslt. It replaces the - * allocator with a collect and debug shell to the libc allocator. - * Use configure --with-mem-debug to activate it on both library - */ -#define DEBUG_MEMORY - -/** - * DEBUG_MEMORY_LOCATION: - * - * should be activated only when debugging libxslt. - * DEBUG_MEMORY_LOCATION should be activated only when libxml has - * been configured with --with-debug-mem too - */ -#define DEBUG_MEMORY_LOCATION -#endif - -/** - * XSLT_NEED_TRIO: - * - * should be activated if the existing libc library lacks some of the - * string formatting function, in that case reuse the Trio ones already - * compiled in the libxml2 library. - */ - -#if 0 -#define XSLT_NEED_TRIO -#endif -#ifdef __VMS -#define HAVE_SYS_STAT_H 1 -#ifndef XSLT_NEED_TRIO -#define XSLT_NEED_TRIO -#endif -#endif - -#ifdef XSLT_NEED_TRIO -#define TRIO_REPLACE_STDIO -#endif - -/** - * WITH_XSLT_DEBUGGER: - * - * Activate the compilation of the debugger support. Speed penalty - * is insignifiant. - * On by default unless --without-debugger is passed to configure - */ -#if 1 -#ifndef WITH_DEBUGGER -#define WITH_DEBUGGER -#endif -#endif - -/** - * WITH_PROFILER: - * - * Activate the compilation of the profiler. Speed penalty - * is insignifiant. - * On by default unless --without-profiler is passed to configure - */ -#if 1 -#ifndef WITH_PROFILER -#define WITH_PROFILER -#endif -#endif - -/** - * WITH_MODULES: - * - * Whether module support is configured into libxslt - * Note: no default module path for win32 platforms - */ -#if 0 -#ifndef WITH_MODULES -#define WITH_MODULES -#endif -#define LIBXSLT_DEFAULT_PLUGINS_PATH() "/home/flavorjones/code/oss/nokogiri/ports/x86_64-linux/libxslt/1.1.38/lib/libxslt-plugins" -#endif - -/** - * ATTRIBUTE_UNUSED: - * - * This macro is used to flag unused function parameters to GCC - */ -#ifdef __GNUC__ -#ifndef ATTRIBUTE_UNUSED -#define ATTRIBUTE_UNUSED __attribute__((unused)) -#endif -#else -#define ATTRIBUTE_UNUSED -#endif - -/** - * LIBXSLT_ATTR_FORMAT: - * - * This macro is used to indicate to GCC the parameters are printf-like - */ -#ifdef __GNUC__ -#define LIBXSLT_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) -#else -#define LIBXSLT_ATTR_FORMAT(fmt,args) -#endif - -/** - * LIBXSLT_PUBLIC: - * - * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows - */ -#if !defined LIBXSLT_PUBLIC -#if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC -#define LIBXSLT_PUBLIC __declspec(dllimport) -#else -#define LIBXSLT_PUBLIC -#endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLTCONFIG_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltexports.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltexports.h deleted file mode 100644 index 95c352f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltexports.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Summary: macros for marking symbols as exportable/importable. - * Description: macros for marking symbols as exportable/importable. - * - * Copy: See Copyright for the status of this software. - */ - -#ifndef __XSLT_EXPORTS_H__ -#define __XSLT_EXPORTS_H__ - -#if defined(_WIN32) || defined(__CYGWIN__) -/** DOC_DISABLE */ - -#ifdef LIBXSLT_STATIC - #define XSLTPUBLIC -#elif defined(IN_LIBXSLT) - #define XSLTPUBLIC __declspec(dllexport) -#else - #define XSLTPUBLIC __declspec(dllimport) -#endif - -#define XSLTCALL __cdecl - -/** DOC_ENABLE */ -#else /* not Windows */ - -/** - * XSLTPUBLIC: - * - * Macro which declares a public symbol - */ -#define XSLTPUBLIC - -/** - * XSLTCALL: - * - * Macro which declares the calling convention for exported functions - */ -#define XSLTCALL - -#endif /* platform switch */ - -/* - * XSLTPUBFUN: - * - * Macro which declares an exportable function - */ -#define XSLTPUBFUN XSLTPUBLIC - -/** - * XSLTPUBVAR: - * - * Macro which declares an exportable variable - */ -#define XSLTPUBVAR XSLTPUBLIC extern - -/* Compatibility */ -#if !defined(LIBXSLT_PUBLIC) -#define LIBXSLT_PUBLIC XSLTPUBVAR -#endif - -#endif /* __XSLT_EXPORTS_H__ */ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltlocale.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltlocale.h deleted file mode 100644 index 10a4402..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltlocale.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Summary: Locale handling - * Description: Interfaces for locale handling. Needed for language dependent - * sorting. - * - * Copy: See Copyright for the status of this software. - * - * Author: Nick Wellnhofer - */ - -#ifndef __XML_XSLTLOCALE_H__ -#define __XML_XSLTLOCALE_H__ - -#include <libxml/xmlstring.h> -#include "xsltexports.h" - -XSLTPUBFUN void * XSLTCALL - xsltNewLocale (const xmlChar *langName, - int lowerFirst); -XSLTPUBFUN void XSLTCALL - xsltFreeLocale (void *locale); -XSLTPUBFUN xmlChar * XSLTCALL - xsltStrxfrm (void *locale, - const xmlChar *string); -XSLTPUBFUN void XSLTCALL - xsltFreeLocales (void); - -/* Backward compatibility */ -typedef void *xsltLocale; -typedef xmlChar xsltLocaleChar; -XSLTPUBFUN int XSLTCALL - xsltLocaleStrcmp (void *locale, - const xmlChar *str1, - const xmlChar *str2); - -#endif /* __XML_XSLTLOCALE_H__ */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltutils.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltutils.h deleted file mode 100644 index 2514774..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/include/libxslt/xsltutils.h +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Summary: set of utilities for the XSLT engine - * Description: interfaces for the utilities module of the XSLT engine. - * things like message handling, profiling, and other - * generally useful routines. - * - * Copy: See Copyright for the status of this software. - * - * Author: Daniel Veillard - */ - -#ifndef __XML_XSLTUTILS_H__ -#define __XML_XSLTUTILS_H__ - -#include <libxslt/xsltconfig.h> -#include <libxml/xpath.h> -#include <libxml/dict.h> -#include <libxml/xmlerror.h> -#include "xsltexports.h" -#include "xsltInternals.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * XSLT_TODO: - * - * Macro to flag unimplemented blocks. - */ -#define XSLT_TODO \ - xsltGenericError(xsltGenericErrorContext, \ - "Unimplemented block at %s:%d\n", \ - __FILE__, __LINE__); - -/** - * XSLT_STRANGE: - * - * Macro to flag that a problem was detected internally. - */ -#define XSLT_STRANGE \ - xsltGenericError(xsltGenericErrorContext, \ - "Internal error at %s:%d\n", \ - __FILE__, __LINE__); - -/** - * IS_XSLT_ELEM: - * - * Checks that the element pertains to XSLT namespace. - */ -#define IS_XSLT_ELEM(n) \ - (((n) != NULL) && ((n)->type == XML_ELEMENT_NODE) && \ - ((n)->ns != NULL) && (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) - -/** - * IS_XSLT_NAME: - * - * Checks the value of an element in XSLT namespace. - */ -#define IS_XSLT_NAME(n, val) \ - (xmlStrEqual((n)->name, (const xmlChar *) (val))) - -/** - * IS_XSLT_REAL_NODE: - * - * Check that a node is a 'real' one: document, element, text or attribute. - */ -#define IS_XSLT_REAL_NODE(n) \ - (((n) != NULL) && \ - (((n)->type == XML_ELEMENT_NODE) || \ - ((n)->type == XML_TEXT_NODE) || \ - ((n)->type == XML_CDATA_SECTION_NODE) || \ - ((n)->type == XML_ATTRIBUTE_NODE) || \ - ((n)->type == XML_DOCUMENT_NODE) || \ - ((n)->type == XML_HTML_DOCUMENT_NODE) || \ - ((n)->type == XML_COMMENT_NODE) || \ - ((n)->type == XML_PI_NODE))) - -/* - * Our own version of namespaced attributes lookup. - */ -XSLTPUBFUN xmlChar * XSLTCALL - xsltGetNsProp (xmlNodePtr node, - const xmlChar *name, - const xmlChar *nameSpace); -XSLTPUBFUN const xmlChar * XSLTCALL - xsltGetCNsProp (xsltStylesheetPtr style, - xmlNodePtr node, - const xmlChar *name, - const xmlChar *nameSpace); -XSLTPUBFUN int XSLTCALL - xsltGetUTF8Char (const unsigned char *utf, - int *len); -#ifdef IN_LIBXSLT -/** DOC_DISABLE */ -XSLTPUBFUN int XSLTCALL - xsltGetUTF8CharZ (const unsigned char *utf, - int *len); -/** DOC_ENABLE */ -#endif - -/* - * XSLT Debug Tracing Tracing Types - */ -typedef enum { - XSLT_TRACE_ALL = -1, - XSLT_TRACE_NONE = 0, - XSLT_TRACE_COPY_TEXT = 1<<0, - XSLT_TRACE_PROCESS_NODE = 1<<1, - XSLT_TRACE_APPLY_TEMPLATE = 1<<2, - XSLT_TRACE_COPY = 1<<3, - XSLT_TRACE_COMMENT = 1<<4, - XSLT_TRACE_PI = 1<<5, - XSLT_TRACE_COPY_OF = 1<<6, - XSLT_TRACE_VALUE_OF = 1<<7, - XSLT_TRACE_CALL_TEMPLATE = 1<<8, - XSLT_TRACE_APPLY_TEMPLATES = 1<<9, - XSLT_TRACE_CHOOSE = 1<<10, - XSLT_TRACE_IF = 1<<11, - XSLT_TRACE_FOR_EACH = 1<<12, - XSLT_TRACE_STRIP_SPACES = 1<<13, - XSLT_TRACE_TEMPLATES = 1<<14, - XSLT_TRACE_KEYS = 1<<15, - XSLT_TRACE_VARIABLES = 1<<16 -} xsltDebugTraceCodes; - -/** - * XSLT_TRACE: - * - * Control the type of xsl debugtrace messages emitted. - */ -#define XSLT_TRACE(ctxt,code,call) \ - if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \ - call - -XSLTPUBFUN void XSLTCALL - xsltDebugSetDefaultTrace(xsltDebugTraceCodes val); -XSLTPUBFUN xsltDebugTraceCodes XSLTCALL - xsltDebugGetDefaultTrace(void); - -/* - * XSLT specific error and debug reporting functions. - */ -XSLTPUBVAR xmlGenericErrorFunc xsltGenericError; -XSLTPUBVAR void *xsltGenericErrorContext; -XSLTPUBVAR xmlGenericErrorFunc xsltGenericDebug; -XSLTPUBVAR void *xsltGenericDebugContext; - -XSLTPUBFUN void XSLTCALL - xsltPrintErrorContext (xsltTransformContextPtr ctxt, - xsltStylesheetPtr style, - xmlNodePtr node); -XSLTPUBFUN void XSLTCALL - xsltMessage (xsltTransformContextPtr ctxt, - xmlNodePtr node, - xmlNodePtr inst); -XSLTPUBFUN void XSLTCALL - xsltSetGenericErrorFunc (void *ctx, - xmlGenericErrorFunc handler); -XSLTPUBFUN void XSLTCALL - xsltSetGenericDebugFunc (void *ctx, - xmlGenericErrorFunc handler); -XSLTPUBFUN void XSLTCALL - xsltSetTransformErrorFunc (xsltTransformContextPtr ctxt, - void *ctx, - xmlGenericErrorFunc handler); -XSLTPUBFUN void XSLTCALL - xsltTransformError (xsltTransformContextPtr ctxt, - xsltStylesheetPtr style, - xmlNodePtr node, - const char *msg, - ...) LIBXSLT_ATTR_FORMAT(4,5); - -XSLTPUBFUN int XSLTCALL - xsltSetCtxtParseOptions (xsltTransformContextPtr ctxt, - int options); -/* - * Sorting. - */ - -XSLTPUBFUN void XSLTCALL - xsltDocumentSortFunction (xmlNodeSetPtr list); -XSLTPUBFUN void XSLTCALL - xsltSetSortFunc (xsltSortFunc handler); -XSLTPUBFUN void XSLTCALL - xsltSetCtxtSortFunc (xsltTransformContextPtr ctxt, - xsltSortFunc handler); -XSLTPUBFUN void XSLTCALL - xsltSetCtxtLocaleHandlers (xsltTransformContextPtr ctxt, - xsltNewLocaleFunc newLocale, - xsltFreeLocaleFunc freeLocale, - xsltGenSortKeyFunc genSortKey); -XSLTPUBFUN void XSLTCALL - xsltDefaultSortFunction (xsltTransformContextPtr ctxt, - xmlNodePtr *sorts, - int nbsorts); -XSLTPUBFUN void XSLTCALL - xsltDoSortFunction (xsltTransformContextPtr ctxt, - xmlNodePtr * sorts, - int nbsorts); -XSLTPUBFUN xmlXPathObjectPtr * XSLTCALL - xsltComputeSortResult (xsltTransformContextPtr ctxt, - xmlNodePtr sort); - -/* - * QNames handling. - */ - -XSLTPUBFUN const xmlChar * XSLTCALL - xsltSplitQName (xmlDictPtr dict, - const xmlChar *name, - const xmlChar **prefix); -XSLTPUBFUN const xmlChar * XSLTCALL - xsltGetQNameURI (xmlNodePtr node, - xmlChar **name); - -XSLTPUBFUN const xmlChar * XSLTCALL - xsltGetQNameURI2 (xsltStylesheetPtr style, - xmlNodePtr node, - const xmlChar **name); - -/* - * Output, reuse libxml I/O buffers. - */ -XSLTPUBFUN int XSLTCALL - xsltSaveResultTo (xmlOutputBufferPtr buf, - xmlDocPtr result, - xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltSaveResultToFilename (const char *URI, - xmlDocPtr result, - xsltStylesheetPtr style, - int compression); -XSLTPUBFUN int XSLTCALL - xsltSaveResultToFile (FILE *file, - xmlDocPtr result, - xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltSaveResultToFd (int fd, - xmlDocPtr result, - xsltStylesheetPtr style); -XSLTPUBFUN int XSLTCALL - xsltSaveResultToString (xmlChar **doc_txt_ptr, - int * doc_txt_len, - xmlDocPtr result, - xsltStylesheetPtr style); - -/* - * XPath interface - */ -XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL - xsltXPathCompile (xsltStylesheetPtr style, - const xmlChar *str); -XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL - xsltXPathCompileFlags (xsltStylesheetPtr style, - const xmlChar *str, - int flags); - -#ifdef IN_LIBXSLT -/** DOC_DISABLE */ -#define XSLT_SOURCE_NODE_MASK 15u -#define XSLT_SOURCE_NODE_HAS_KEY 1u -#define XSLT_SOURCE_NODE_HAS_ID 2u -int -xsltGetSourceNodeFlags(xmlNodePtr node); -int -xsltSetSourceNodeFlags(xsltTransformContextPtr ctxt, xmlNodePtr node, - int flags); -int -xsltClearSourceNodeFlags(xmlNodePtr node, int flags); -void ** -xsltGetPSVIPtr(xmlNodePtr cur); -/** DOC_ENABLE */ -#endif - -#ifdef WITH_PROFILER -/* - * Profiling. - */ -XSLTPUBFUN void XSLTCALL - xsltSaveProfiling (xsltTransformContextPtr ctxt, - FILE *output); -XSLTPUBFUN xmlDocPtr XSLTCALL - xsltGetProfileInformation (xsltTransformContextPtr ctxt); - -XSLTPUBFUN long XSLTCALL - xsltTimestamp (void); -XSLTPUBFUN void XSLTCALL - xsltCalibrateAdjust (long delta); -#endif - -/** - * XSLT_TIMESTAMP_TICS_PER_SEC: - * - * Sampling precision for profiling - */ -#define XSLT_TIMESTAMP_TICS_PER_SEC 100000l - -/* - * Hooks for the debugger. - */ - -typedef enum { - XSLT_DEBUG_NONE = 0, /* no debugging allowed */ - XSLT_DEBUG_INIT, - XSLT_DEBUG_STEP, - XSLT_DEBUG_STEPOUT, - XSLT_DEBUG_NEXT, - XSLT_DEBUG_STOP, - XSLT_DEBUG_CONT, - XSLT_DEBUG_RUN, - XSLT_DEBUG_RUN_RESTART, - XSLT_DEBUG_QUIT -} xsltDebugStatusCodes; - -XSLTPUBVAR int xslDebugStatus; - -typedef void (*xsltHandleDebuggerCallback) (xmlNodePtr cur, xmlNodePtr node, - xsltTemplatePtr templ, xsltTransformContextPtr ctxt); -typedef int (*xsltAddCallCallback) (xsltTemplatePtr templ, xmlNodePtr source); -typedef void (*xsltDropCallCallback) (void); - -XSLTPUBFUN int XSLTCALL - xsltGetDebuggerStatus (void); -#ifdef WITH_DEBUGGER -XSLTPUBFUN void XSLTCALL - xsltSetDebuggerStatus (int value); -XSLTPUBFUN int XSLTCALL - xsltSetDebuggerCallbacks (int no, void *block); -XSLTPUBFUN int XSLTCALL - xslAddCall (xsltTemplatePtr templ, - xmlNodePtr source); -XSLTPUBFUN void XSLTCALL - xslDropCall (void); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __XML_XSLTUTILS_H__ */ - - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/libxml2_backwards_compat.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/libxml2_backwards_compat.c deleted file mode 100644 index f5255cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/libxml2_backwards_compat.c +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef HAVE_XMLFIRSTELEMENTCHILD -#include <nokogiri.h> -/** - * xmlFirstElementChild: - * @parent: the parent node - * - * Finds the first child node of that element which is a Element node - * Note the handling of entities references is different than in - * the W3C DOM element traversal spec since we don't have back reference - * from entities content to entities references. - * - * Returns the first element child or NULL if not available - */ -xmlNodePtr -xmlFirstElementChild(xmlNodePtr parent) -{ - xmlNodePtr cur = NULL; - - if (parent == NULL) { - return (NULL); - } - switch (parent->type) { - case XML_ELEMENT_NODE: - case XML_ENTITY_NODE: - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - cur = parent->children; - break; - default: - return (NULL); - } - while (cur != NULL) { - if (cur->type == XML_ELEMENT_NODE) { - return (cur); - } - cur = cur->next; - } - return (NULL); -} - -/** - * xmlNextElementSibling: - * @node: the current node - * - * Finds the first closest next sibling of the node which is an - * element node. - * Note the handling of entities references is different than in - * the W3C DOM element traversal spec since we don't have back reference - * from entities content to entities references. - * - * Returns the next element sibling or NULL if not available - */ -xmlNodePtr -xmlNextElementSibling(xmlNodePtr node) -{ - if (node == NULL) { - return (NULL); - } - switch (node->type) { - case XML_ELEMENT_NODE: - case XML_TEXT_NODE: - case XML_CDATA_SECTION_NODE: - case XML_ENTITY_REF_NODE: - case XML_ENTITY_NODE: - case XML_PI_NODE: - case XML_COMMENT_NODE: - case XML_DTD_NODE: - case XML_XINCLUDE_START: - case XML_XINCLUDE_END: - node = node->next; - break; - default: - return (NULL); - } - while (node != NULL) { - if (node->type == XML_ELEMENT_NODE) { - return (node); - } - node = node->next; - } - return (NULL); -} - -/** - * xmlLastElementChild: - * @parent: the parent node - * - * Finds the last child node of that element which is a Element node - * Note the handling of entities references is different than in - * the W3C DOM element traversal spec since we don't have back reference - * from entities content to entities references. - * - * Returns the last element child or NULL if not available - */ -xmlNodePtr -xmlLastElementChild(xmlNodePtr parent) -{ - xmlNodePtr cur = NULL; - - if (parent == NULL) { - return (NULL); - } - switch (parent->type) { - case XML_ELEMENT_NODE: - case XML_ENTITY_NODE: - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - cur = parent->last; - break; - default: - return (NULL); - } - while (cur != NULL) { - if (cur->type == XML_ELEMENT_NODE) { - return (cur); - } - cur = cur->prev; - } - return (NULL); -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/nokogiri.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/nokogiri.c deleted file mode 100644 index ea078f0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/nokogiri.c +++ /dev/null @@ -1,287 +0,0 @@ -#include <nokogiri.h> - -VALUE mNokogiri ; -VALUE mNokogiriGumbo ; -VALUE mNokogiriHtml4 ; -VALUE mNokogiriHtml4Sax ; -VALUE mNokogiriHtml5 ; -VALUE mNokogiriXml ; -VALUE mNokogiriXmlSax ; -VALUE mNokogiriXmlXpath ; -VALUE mNokogiriXslt ; - -VALUE cNokogiriSyntaxError; -VALUE cNokogiriXmlCharacterData; -VALUE cNokogiriXmlElement; -VALUE cNokogiriXmlXpathSyntaxError; - -void noko_init_xml_attr(void); -void noko_init_xml_attribute_decl(void); -void noko_init_xml_cdata(void); -void noko_init_xml_comment(void); -void noko_init_xml_document(void); -void noko_init_xml_document_fragment(void); -void noko_init_xml_dtd(void); -void noko_init_xml_element_content(void); -void noko_init_xml_element_decl(void); -void noko_init_xml_encoding_handler(void); -void noko_init_xml_entity_decl(void); -void noko_init_xml_entity_reference(void); -void noko_init_xml_namespace(void); -void noko_init_xml_node(void); -void noko_init_xml_node_set(void); -void noko_init_xml_processing_instruction(void); -void noko_init_xml_reader(void); -void noko_init_xml_relax_ng(void); -void noko_init_xml_sax_parser(void); -void noko_init_xml_sax_parser_context(void); -void noko_init_xml_sax_push_parser(void); -void noko_init_xml_schema(void); -void noko_init_xml_syntax_error(void); -void noko_init_xml_text(void); -void noko_init_xml_xpath_context(void); -void noko_init_xslt_stylesheet(void); -void noko_init_html_document(void); -void noko_init_html_element_description(void); -void noko_init_html_entity_lookup(void); -void noko_init_html_sax_parser_context(void); -void noko_init_html_sax_push_parser(void); -void noko_init_gumbo(void); -void noko_init_test_global_handlers(void); - -static ID id_read, id_write, id_external_encoding; - - -static VALUE -noko_io_read_check(VALUE val) -{ - VALUE *args = (VALUE *)val; - return rb_funcall(args[0], id_read, 1, args[1]); -} - - -static VALUE -noko_io_read_failed(VALUE arg, VALUE exc) -{ - return Qundef; -} - - -int -noko_io_read(void *io, char *c_buffer, int c_buffer_len) -{ - VALUE rb_io = (VALUE)io; - VALUE rb_read_string, rb_args[2]; - size_t n_bytes_read, safe_len; - - rb_args[0] = rb_io; - rb_args[1] = INT2NUM(c_buffer_len); - - rb_read_string = rb_rescue(noko_io_read_check, (VALUE)rb_args, noko_io_read_failed, 0); - - if (NIL_P(rb_read_string)) { return 0; } - if (rb_read_string == Qundef) { return -1; } - if (TYPE(rb_read_string) != T_STRING) { return -1; } - - n_bytes_read = (size_t)RSTRING_LEN(rb_read_string); - safe_len = (n_bytes_read > (size_t)c_buffer_len) ? (size_t)c_buffer_len : n_bytes_read; - memcpy(c_buffer, StringValuePtr(rb_read_string), safe_len); - - return (int)safe_len; -} - - -static VALUE -noko_io_write_check(VALUE rb_args) -{ - VALUE rb_io = ((VALUE *)rb_args)[0]; - VALUE rb_output = ((VALUE *)rb_args)[1]; - return rb_funcall(rb_io, id_write, 1, rb_output); -} - - -static VALUE -noko_io_write_failed(VALUE arg, VALUE exc) -{ - return Qundef; -} - - -int -noko_io_write(void *io, char *c_buffer, int c_buffer_len) -{ - VALUE rb_args[2], rb_n_bytes_written; - VALUE rb_io = (VALUE)io; - VALUE rb_enc = Qnil; - rb_encoding *io_encoding; - - if (rb_respond_to(rb_io, id_external_encoding)) { - rb_enc = rb_funcall(rb_io, id_external_encoding, 0); - } - io_encoding = RB_NIL_P(rb_enc) ? rb_ascii8bit_encoding() : rb_to_encoding(rb_enc); - - rb_args[0] = rb_io; - rb_args[1] = rb_enc_str_new(c_buffer, (long)c_buffer_len, io_encoding); - - rb_n_bytes_written = rb_rescue(noko_io_write_check, (VALUE)rb_args, noko_io_write_failed, 0); - if (rb_n_bytes_written == Qundef) { return -1; } - - return NUM2INT(rb_n_bytes_written); -} - - -int -noko_io_close(void *io) -{ - return 0; -} - - -#if defined(_WIN32) && !defined(NOKOGIRI_PACKAGED_LIBRARIES) -# define NOKOGIRI_WINDOWS_DLLS 1 -#else -# define NOKOGIRI_WINDOWS_DLLS 0 -#endif - -// -// | dlls || true | false | -// | nlmm || | | -// |-----------++---------+---------| -// | NULL || default | ruby | -// | "random" || default | ruby | -// | "ruby" || ruby | ruby | -// | "default" || default | default | -// -// We choose *not* to use Ruby's memory management functions with windows DLLs because of this -// issue: https://github.com/sparklemotion/nokogiri/issues/2241 -// -static void -set_libxml_memory_management(void) -{ - const char *nlmm = getenv("NOKOGIRI_LIBXML_MEMORY_MANAGEMENT"); - if (nlmm) { - if (strcmp(nlmm, "default") == 0) { - goto libxml_uses_default_memory_management; - } else if (strcmp(nlmm, "ruby") == 0) { - goto libxml_uses_ruby_memory_management; - } - } - if (NOKOGIRI_WINDOWS_DLLS) { -libxml_uses_default_memory_management: - rb_const_set(mNokogiri, rb_intern("LIBXML_MEMORY_MANAGEMENT"), NOKOGIRI_STR_NEW2("default")); - return; - } else { -libxml_uses_ruby_memory_management: - rb_const_set(mNokogiri, rb_intern("LIBXML_MEMORY_MANAGEMENT"), NOKOGIRI_STR_NEW2("ruby")); - xmlMemSetup((xmlFreeFunc)ruby_xfree, (xmlMallocFunc)ruby_xmalloc, (xmlReallocFunc)ruby_xrealloc, ruby_strdup); - return; - } -} - - -void -Init_nokogiri(void) -{ - mNokogiri = rb_define_module("Nokogiri"); - mNokogiriGumbo = rb_define_module_under(mNokogiri, "Gumbo"); - mNokogiriHtml4 = rb_define_module_under(mNokogiri, "HTML4"); - mNokogiriHtml4Sax = rb_define_module_under(mNokogiriHtml4, "SAX"); - mNokogiriHtml5 = rb_define_module_under(mNokogiri, "HTML5"); - mNokogiriXml = rb_define_module_under(mNokogiri, "XML"); - mNokogiriXmlSax = rb_define_module_under(mNokogiriXml, "SAX"); - mNokogiriXmlXpath = rb_define_module_under(mNokogiriXml, "XPath"); - mNokogiriXslt = rb_define_module_under(mNokogiri, "XSLT"); - - set_libxml_memory_management(); /* must be before any function calls that might invoke xmlInitParser() */ - xmlInitParser(); - exsltRegisterAll(); - - rb_const_set(mNokogiri, rb_intern("LIBXML_COMPILED_VERSION"), NOKOGIRI_STR_NEW2(LIBXML_DOTTED_VERSION)); - rb_const_set(mNokogiri, rb_intern("LIBXML_LOADED_VERSION"), NOKOGIRI_STR_NEW2(xmlParserVersion)); - - rb_const_set(mNokogiri, rb_intern("LIBXSLT_COMPILED_VERSION"), NOKOGIRI_STR_NEW2(LIBXSLT_DOTTED_VERSION)); - rb_const_set(mNokogiri, rb_intern("LIBXSLT_LOADED_VERSION"), NOKOGIRI_STR_NEW2(xsltEngineVersion)); - -#ifdef NOKOGIRI_PACKAGED_LIBRARIES - rb_const_set(mNokogiri, rb_intern("PACKAGED_LIBRARIES"), Qtrue); -# ifdef NOKOGIRI_PRECOMPILED_LIBRARIES - rb_const_set(mNokogiri, rb_intern("PRECOMPILED_LIBRARIES"), Qtrue); -# else - rb_const_set(mNokogiri, rb_intern("PRECOMPILED_LIBRARIES"), Qfalse); -# endif - rb_const_set(mNokogiri, rb_intern("LIBXML2_PATCHES"), rb_str_split(NOKOGIRI_STR_NEW2(NOKOGIRI_LIBXML2_PATCHES), " ")); - rb_const_set(mNokogiri, rb_intern("LIBXSLT_PATCHES"), rb_str_split(NOKOGIRI_STR_NEW2(NOKOGIRI_LIBXSLT_PATCHES), " ")); -#else - rb_const_set(mNokogiri, rb_intern("PACKAGED_LIBRARIES"), Qfalse); - rb_const_set(mNokogiri, rb_intern("PRECOMPILED_LIBRARIES"), Qfalse); - rb_const_set(mNokogiri, rb_intern("LIBXML2_PATCHES"), Qnil); - rb_const_set(mNokogiri, rb_intern("LIBXSLT_PATCHES"), Qnil); -#endif - -#ifdef LIBXML_ICONV_ENABLED - rb_const_set(mNokogiri, rb_intern("LIBXML_ICONV_ENABLED"), Qtrue); -#else - rb_const_set(mNokogiri, rb_intern("LIBXML_ICONV_ENABLED"), Qfalse); -#endif - -#ifdef NOKOGIRI_OTHER_LIBRARY_VERSIONS - rb_const_set(mNokogiri, rb_intern("OTHER_LIBRARY_VERSIONS"), NOKOGIRI_STR_NEW2(NOKOGIRI_OTHER_LIBRARY_VERSIONS)); -#endif - - if (xsltExtModuleFunctionLookup((const xmlChar *)"date-time", EXSLT_DATE_NAMESPACE)) { - rb_const_set(mNokogiri, rb_intern("LIBXSLT_DATETIME_ENABLED"), Qtrue); - } else { - rb_const_set(mNokogiri, rb_intern("LIBXSLT_DATETIME_ENABLED"), Qfalse); - } - - cNokogiriSyntaxError = rb_define_class_under(mNokogiri, "SyntaxError", rb_eStandardError); - noko_init_xml_syntax_error(); - assert(cNokogiriXmlSyntaxError); - cNokogiriXmlXpathSyntaxError = rb_define_class_under(mNokogiriXmlXpath, "SyntaxError", cNokogiriXmlSyntaxError); - - noko_init_xml_element_content(); - noko_init_xml_encoding_handler(); - noko_init_xml_namespace(); - noko_init_xml_node_set(); - noko_init_xml_reader(); - noko_init_xml_sax_parser(); - noko_init_xml_xpath_context(); - noko_init_xslt_stylesheet(); - noko_init_html_element_description(); - noko_init_html_entity_lookup(); - - noko_init_xml_schema(); - noko_init_xml_relax_ng(); - - noko_init_xml_sax_parser_context(); - noko_init_html_sax_parser_context(); - - noko_init_xml_sax_push_parser(); - noko_init_html_sax_push_parser(); - - noko_init_xml_node(); - noko_init_xml_attr(); - noko_init_xml_attribute_decl(); - noko_init_xml_dtd(); - noko_init_xml_element_decl(); - noko_init_xml_entity_decl(); - noko_init_xml_entity_reference(); - noko_init_xml_processing_instruction(); - assert(cNokogiriXmlNode); - cNokogiriXmlElement = rb_define_class_under(mNokogiriXml, "Element", cNokogiriXmlNode); - cNokogiriXmlCharacterData = rb_define_class_under(mNokogiriXml, "CharacterData", cNokogiriXmlNode); - noko_init_xml_comment(); - noko_init_xml_text(); - noko_init_xml_cdata(); - - noko_init_xml_document_fragment(); - noko_init_xml_document(); - noko_init_html_document(); - noko_init_gumbo(); - - noko_init_test_global_handlers(); - - id_read = rb_intern("read"); - id_write = rb_intern("write"); - id_external_encoding = rb_intern("external_encoding"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/nokogiri.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/nokogiri.h deleted file mode 100644 index ffc1749..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/nokogiri.h +++ /dev/null @@ -1,246 +0,0 @@ -#ifndef NOKOGIRI_NATIVE -#define NOKOGIRI_NATIVE - -#include <ruby/defines.h> // https://github.com/sparklemotion/nokogiri/issues/2696 - -#ifdef _MSC_VER -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif /* WIN32_LEAN_AND_MEAN */ - -# ifndef WIN32 -# define WIN32 -# endif /* WIN32 */ - -# include <winsock2.h> -# include <ws2tcpip.h> -# include <windows.h> -#endif - -#ifdef _WIN32 -# define NOKOPUBFUN __declspec(dllexport) -# define NOKOPUBVAR __declspec(dllexport) extern -#else -# define NOKOPUBFUN -# define NOKOPUBVAR extern -#endif - -#include <stdlib.h> -#include <string.h> -#include <assert.h> -#include <stdarg.h> -#include <stdio.h> - - -#include <libxml/parser.h> -#include <libxml/tree.h> -#include <libxml/entities.h> -#include <libxml/xpath.h> -#include <libxml/xmlreader.h> -#include <libxml/xmlsave.h> -#include <libxml/xmlschemas.h> -#include <libxml/HTMLparser.h> -#include <libxml/HTMLtree.h> -#include <libxml/relaxng.h> -#include <libxml/xinclude.h> -#include <libxml/c14n.h> -#include <libxml/parserInternals.h> -#include <libxml/xpathInternals.h> - -#include <libxslt/extensions.h> -#include <libxslt/xsltconfig.h> -#include <libxslt/xsltutils.h> -#include <libxslt/transform.h> -#include <libxslt/imports.h> -#include <libxslt/xsltInternals.h> - -#include <libexslt/exslt.h> - -/* libxml2_backwards_compat.c */ -#ifndef HAVE_XMLFIRSTELEMENTCHILD -xmlNodePtr xmlFirstElementChild(xmlNodePtr parent); -xmlNodePtr xmlNextElementSibling(xmlNodePtr node); -xmlNodePtr xmlLastElementChild(xmlNodePtr parent); -#endif - -#define XMLNS_PREFIX "xmlns" -#define XMLNS_PREFIX_LEN 6 /* including either colon or \0 */ - - -#include <ruby.h> -#include <ruby/st.h> -#include <ruby/encoding.h> -#include <ruby/util.h> -#include <ruby/version.h> - -#define NOKOGIRI_STR_NEW2(str) NOKOGIRI_STR_NEW(str, strlen((const char *)(str))) -#define NOKOGIRI_STR_NEW(str, len) rb_external_str_new_with_enc((const char *)(str), (long)(len), rb_utf8_encoding()) -#define RBSTR_OR_QNIL(_str) (_str ? NOKOGIRI_STR_NEW2(_str) : Qnil) - -#ifndef NORETURN_DECL -# if defined(__GNUC__) -# define NORETURN_DECL __attribute__ ((noreturn)) -# else -# define NORETURN_DECL -# endif -#endif - -#ifndef PRINTFLIKE_DECL -# if defined(__GNUC__) -# define PRINTFLIKE_DECL(stringidx, argidx) __attribute__ ((format(printf,stringidx,argidx))) -# else -# define PRINTFLIKE_DECL(stringidx, argidx) -# endif -#endif - -#if defined(TRUFFLERUBY) && !defined(NOKOGIRI_PACKAGED_LIBRARIES) -# define TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES -#endif - -NOKOPUBVAR VALUE mNokogiri ; -NOKOPUBVAR VALUE mNokogiriGumbo ; -NOKOPUBVAR VALUE mNokogiriHtml4 ; -NOKOPUBVAR VALUE mNokogiriHtml4Sax ; -NOKOPUBVAR VALUE mNokogiriHtml5 ; -NOKOPUBVAR VALUE mNokogiriXml ; -NOKOPUBVAR VALUE mNokogiriXmlSax ; -NOKOPUBVAR VALUE mNokogiriXmlXpath ; -NOKOPUBVAR VALUE mNokogiriXslt ; - -NOKOPUBVAR VALUE cNokogiriEncodingHandler; -NOKOPUBVAR VALUE cNokogiriSyntaxError; -NOKOPUBVAR VALUE cNokogiriXmlAttr; -NOKOPUBVAR VALUE cNokogiriXmlAttributeDecl; -NOKOPUBVAR VALUE cNokogiriXmlCData; -NOKOPUBVAR VALUE cNokogiriXmlCharacterData; -NOKOPUBVAR VALUE cNokogiriXmlComment; -NOKOPUBVAR VALUE cNokogiriXmlDocument ; -NOKOPUBVAR VALUE cNokogiriXmlDocumentFragment; -NOKOPUBVAR VALUE cNokogiriXmlDtd; -NOKOPUBVAR VALUE cNokogiriXmlElement ; -NOKOPUBVAR VALUE cNokogiriXmlElementContent; -NOKOPUBVAR VALUE cNokogiriXmlElementDecl; -NOKOPUBVAR VALUE cNokogiriXmlEntityDecl; -NOKOPUBVAR VALUE cNokogiriXmlEntityReference; -NOKOPUBVAR VALUE cNokogiriXmlNamespace ; -NOKOPUBVAR VALUE cNokogiriXmlNode ; -NOKOPUBVAR VALUE cNokogiriXmlNodeSet ; -NOKOPUBVAR VALUE cNokogiriXmlProcessingInstruction; -NOKOPUBVAR VALUE cNokogiriXmlReader; -NOKOPUBVAR VALUE cNokogiriXmlRelaxNG; -NOKOPUBVAR VALUE cNokogiriXmlSaxParser ; -NOKOPUBVAR VALUE cNokogiriXmlSaxParserContext; -NOKOPUBVAR VALUE cNokogiriXmlSaxPushParser ; -NOKOPUBVAR VALUE cNokogiriXmlSchema; -NOKOPUBVAR VALUE cNokogiriXmlSyntaxError; -NOKOPUBVAR VALUE cNokogiriXmlText ; -NOKOPUBVAR VALUE cNokogiriXmlXpathContext; -NOKOPUBVAR VALUE cNokogiriXmlXpathSyntaxError; -NOKOPUBVAR VALUE cNokogiriXsltStylesheet ; - -NOKOPUBVAR VALUE cNokogiriHtml4Document ; -NOKOPUBVAR VALUE cNokogiriHtml4SaxPushParser ; -NOKOPUBVAR VALUE cNokogiriHtml4ElementDescription ; -NOKOPUBVAR VALUE cNokogiriHtml4SaxParserContext; -NOKOPUBVAR VALUE cNokogiriHtml5Document ; - -typedef struct _nokogiriTuple { - VALUE doc; - st_table *unlinkedNodes; - VALUE node_cache; -} nokogiriTuple; -typedef nokogiriTuple *nokogiriTuplePtr; - -typedef struct _nokogiriSAXTuple { - xmlParserCtxtPtr ctxt; - VALUE self; -} nokogiriSAXTuple; -typedef nokogiriSAXTuple *nokogiriSAXTuplePtr; - -typedef struct _libxmlStructuredErrorHandlerState { - void *user_data; - xmlStructuredErrorFunc handler; -} libxmlStructuredErrorHandlerState ; - -typedef struct _nokogiriXsltStylesheetTuple { - xsltStylesheetPtr ss; - VALUE func_instances; -} nokogiriXsltStylesheetTuple; - -void noko_xml_document_pin_node(xmlNodePtr); -void noko_xml_document_pin_namespace(xmlNsPtr, xmlDocPtr); -int noko_xml_document_has_wrapped_blank_nodes_p(xmlDocPtr c_document); - -int noko_io_read(void *ctx, char *buffer, int len); -int noko_io_write(void *ctx, char *buffer, int len); -int noko_io_close(void *ctx); - -#define Noko_Node_Get_Struct(obj,type,sval) ((sval) = (type*)DATA_PTR(obj)) -#define Noko_Namespace_Get_Struct(obj,type,sval) ((sval) = (type*)DATA_PTR(obj)) - -VALUE noko_xml_node_wrap(VALUE klass, xmlNodePtr node) ; -VALUE noko_xml_node_wrap_node_set_result(xmlNodePtr node, VALUE node_set) ; -VALUE noko_xml_node_attrs(xmlNodePtr node) ; - -VALUE noko_xml_namespace_wrap(xmlNsPtr node, xmlDocPtr doc); -VALUE noko_xml_namespace_wrap_xpath_copy(xmlNsPtr node); - -VALUE noko_xml_element_content_wrap(VALUE doc, xmlElementContentPtr element); - -VALUE noko_xml_node_set_wrap(xmlNodeSetPtr node_set, VALUE document) ; -xmlNodeSetPtr noko_xml_node_set_unwrap(VALUE rb_node_set) ; - -VALUE noko_xml_document_wrap_with_init_args(VALUE klass, xmlDocPtr doc, int argc, VALUE *argv); -VALUE noko_xml_document_wrap(VALUE klass, xmlDocPtr doc); -xmlDocPtr noko_xml_document_unwrap(VALUE rb_document); -NOKOPUBFUN VALUE Nokogiri_wrap_xml_document(VALUE klass, - xmlDocPtr doc); /* deprecated. use noko_xml_document_wrap() instead. */ - -xmlSAXHandlerPtr noko_sax_handler_unwrap(VALUE rb_sax_handler); - -xmlParserCtxtPtr noko_xml_sax_push_parser_unwrap(VALUE rb_parser); - -VALUE noko_xml_sax_parser_context_wrap(VALUE klass, xmlParserCtxtPtr c_context); -xmlParserCtxtPtr noko_xml_sax_parser_context_unwrap(VALUE rb_context); - -#define DOC_RUBY_OBJECT_TEST(x) ((nokogiriTuplePtr)(x->_private)) -#define DOC_RUBY_OBJECT(x) (((nokogiriTuplePtr)(x->_private))->doc) -#define DOC_UNLINKED_NODE_HASH(x) (((nokogiriTuplePtr)(x->_private))->unlinkedNodes) -#define DOC_NODE_CACHE(x) (((nokogiriTuplePtr)(x->_private))->node_cache) -#define NOKOGIRI_NAMESPACE_EH(node) ((node)->type == XML_NAMESPACE_DECL) - -#define NOKOGIRI_SAX_SELF(_ctxt) ((nokogiriSAXTuplePtr)(_ctxt))->self -#define NOKOGIRI_SAX_CTXT(_ctxt) ((nokogiriSAXTuplePtr)(_ctxt))->ctxt -#define NOKOGIRI_SAX_TUPLE_NEW(_ctxt, _self) nokogiri_sax_tuple_new(_ctxt, _self) -#define NOKOGIRI_SAX_TUPLE_DESTROY(_tuple) ruby_xfree(_tuple) - -#define DISCARD_CONST_QUAL(t, v) ((t)(uintptr_t)(v)) -#define DISCARD_CONST_QUAL_XMLCHAR(v) DISCARD_CONST_QUAL(xmlChar *, v) - -#if HAVE_RB_CATEGORY_WARNING -# define NOKO_WARN_DEPRECATION(message...) rb_category_warning(RB_WARN_CATEGORY_DEPRECATED, message) -#else -# define NOKO_WARN_DEPRECATION(message...) rb_warning(message) -#endif - -void Nokogiri_structured_error_func_save(libxmlStructuredErrorHandlerState *handler_state); -void Nokogiri_structured_error_func_save_and_set(libxmlStructuredErrorHandlerState *handler_state, void *user_data, - xmlStructuredErrorFunc handler); -void Nokogiri_structured_error_func_restore(libxmlStructuredErrorHandlerState *handler_state); -VALUE Nokogiri_wrap_xml_syntax_error(xmlErrorPtr error); -void Nokogiri_error_array_pusher(void *ctx, xmlErrorPtr error); -NORETURN_DECL void Nokogiri_error_raise(void *ctx, xmlErrorPtr error); -void Nokogiri_marshal_xpath_funcall_and_return_values(xmlXPathParserContextPtr ctx, int nargs, VALUE handler, - const char *function_name) ; - -static inline -nokogiriSAXTuplePtr -nokogiri_sax_tuple_new(xmlParserCtxtPtr ctxt, VALUE self) -{ - nokogiriSAXTuplePtr tuple = ruby_xmalloc(sizeof(nokogiriSAXTuple)); - tuple->self = self; - tuple->ctxt = ctxt; - return tuple; -} - -#endif /* NOKOGIRI_NATIVE */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/test_global_handlers.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/test_global_handlers.c deleted file mode 100644 index 79bb644..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/test_global_handlers.c +++ /dev/null @@ -1,40 +0,0 @@ -#include <nokogiri.h> - -static VALUE foreign_error_handler_block = Qnil; - -static void -foreign_error_handler(void *user_data, xmlErrorPtr c_error) -{ - rb_funcall(foreign_error_handler_block, rb_intern("call"), 0); -} - -/* - * call-seq: - * __foreign_error_handler { ... } -> nil - * - * Override libxml2's global error handlers to call the block. This method thus has very little - * value except to test that Nokogiri is properly setting error handlers elsewhere in the code. See - * test/helper.rb for how this is being used. - */ -static VALUE -rb_foreign_error_handler(VALUE klass) -{ - rb_need_block(); - foreign_error_handler_block = rb_block_proc(); - xmlSetStructuredErrorFunc(NULL, foreign_error_handler); - return Qnil; -} - -/* - * Document-module: Nokogiri::Test - * - * The Nokogiri::Test module should only be used for testing Nokogiri. - * Do NOT use this outside of the Nokogiri test suite. - */ -void -noko_init_test_global_handlers(void) -{ - VALUE mNokogiriTest = rb_define_module_under(mNokogiri, "Test"); - - rb_define_singleton_method(mNokogiriTest, "__foreign_error_handler", rb_foreign_error_handler, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_attr.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_attr.c deleted file mode 100644 index 8c7b495..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_attr.c +++ /dev/null @@ -1,103 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlAttr; - -/* - * call-seq: - * value=(content) - * - * Set the value for this Attr to +content+. Use `nil` to remove the value - * (e.g., a HTML boolean attribute). - */ -static VALUE -set_value(VALUE self, VALUE content) -{ - xmlAttrPtr attr; - xmlChar *value; - xmlNode *cur; - - Noko_Node_Get_Struct(self, xmlAttr, attr); - - if (attr->children) { - xmlFreeNodeList(attr->children); - } - attr->children = attr->last = NULL; - - if (content == Qnil) { - return content; - } - - value = xmlEncodeEntitiesReentrant(attr->doc, (unsigned char *)StringValueCStr(content)); - if (xmlStrlen(value) == 0) { - attr->children = xmlNewDocText(attr->doc, value); - } else { - attr->children = xmlStringGetNodeList(attr->doc, value); - } - xmlFree(value); - - for (cur = attr->children; cur; cur = cur->next) { - cur->parent = (xmlNode *)attr; - cur->doc = attr->doc; - if (cur->next == NULL) { - attr->last = cur; - } - } - - return content; -} - -/* - * call-seq: - * new(document, name) - * - * Create a new Attr element on the +document+ with +name+ - */ -static VALUE -new (int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr xml_doc; - VALUE document; - VALUE name; - VALUE rest; - xmlAttrPtr node; - VALUE rb_node; - - rb_scan_args(argc, argv, "2*", &document, &name, &rest); - - if (! rb_obj_is_kind_of(document, cNokogiriXmlDocument)) { - rb_raise(rb_eArgError, "parameter must be a Nokogiri::XML::Document"); - } - - xml_doc = noko_xml_document_unwrap(document); - - node = xmlNewDocProp( - xml_doc, - (const xmlChar *)StringValueCStr(name), - NULL - ); - - noko_xml_document_pin_node((xmlNodePtr)node); - - rb_node = noko_xml_node_wrap(klass, (xmlNodePtr)node); - rb_obj_call_init(rb_node, argc, argv); - - if (rb_block_given_p()) { - rb_yield(rb_node); - } - - return rb_node; -} - -void -noko_init_xml_attr(void) -{ - assert(cNokogiriXmlNode); - /* - * Attr represents a Attr node in an xml document. - */ - cNokogiriXmlAttr = rb_define_class_under(mNokogiriXml, "Attr", cNokogiriXmlNode); - - rb_define_singleton_method(cNokogiriXmlAttr, "new", new, -1); - - rb_define_method(cNokogiriXmlAttr, "value=", set_value, 1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_attribute_decl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_attribute_decl.c deleted file mode 100644 index 3f9bebc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_attribute_decl.c +++ /dev/null @@ -1,70 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlAttributeDecl; - -/* - * call-seq: - * attribute_type - * - * The attribute_type for this AttributeDecl - */ -static VALUE -attribute_type(VALUE self) -{ - xmlAttributePtr node; - Noko_Node_Get_Struct(self, xmlAttribute, node); - return INT2NUM(node->atype); -} - -/* - * call-seq: - * default - * - * The default value - */ -static VALUE -default_value(VALUE self) -{ - xmlAttributePtr node; - Noko_Node_Get_Struct(self, xmlAttribute, node); - - if (node->defaultValue) { return NOKOGIRI_STR_NEW2(node->defaultValue); } - return Qnil; -} - -/* - * call-seq: - * enumeration - * - * An enumeration of possible values - */ -static VALUE -enumeration(VALUE self) -{ - xmlAttributePtr node; - xmlEnumerationPtr enm; - VALUE list; - - Noko_Node_Get_Struct(self, xmlAttribute, node); - - list = rb_ary_new(); - enm = node->tree; - - while (enm) { - rb_ary_push(list, NOKOGIRI_STR_NEW2(enm->name)); - enm = enm->next; - } - - return list; -} - -void -noko_init_xml_attribute_decl(void) -{ - assert(cNokogiriXmlNode); - cNokogiriXmlAttributeDecl = rb_define_class_under(mNokogiriXml, "AttributeDecl", cNokogiriXmlNode); - - rb_define_method(cNokogiriXmlAttributeDecl, "attribute_type", attribute_type, 0); - rb_define_method(cNokogiriXmlAttributeDecl, "default", default_value, 0); - rb_define_method(cNokogiriXmlAttributeDecl, "enumeration", enumeration, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_cdata.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_cdata.c deleted file mode 100644 index eb7ac59..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_cdata.c +++ /dev/null @@ -1,71 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlCData; - -/* - * call-seq: - * new(document, content) - * - * Create a new CDATA element on the +document+ with +content+ - * - * If +content+ cannot be implicitly converted to a string, this method will - * raise a TypeError exception. - */ -static VALUE -rb_xml_cdata_s_new(int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr c_document; - xmlNodePtr c_node; - VALUE rb_document; - VALUE rb_content; - VALUE rb_rest; - VALUE rb_node; - xmlChar *c_content = NULL; - int c_content_len = 0; - - rb_scan_args(argc, argv, "2*", &rb_document, &rb_content, &rb_rest); - - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) { - rb_raise(rb_eTypeError, - "expected first parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE, - rb_obj_class(rb_document)); - } - - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { - xmlNodePtr deprecated_node_type_arg; - // TODO: deprecate allowing Node - NOKO_WARN_DEPRECATION("Passing a Node as the first parameter to CDATA.new is deprecated. Please pass a Document instead. This will become an error in a future release of Nokogiri."); - Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg); - c_document = deprecated_node_type_arg->doc; - } else { - c_document = noko_xml_document_unwrap(rb_document); - } - - if (!NIL_P(rb_content)) { - c_content = (xmlChar *)StringValuePtr(rb_content); - c_content_len = RSTRING_LENINT(rb_content); - } - - c_node = xmlNewCDataBlock(c_document, c_content, c_content_len); - - noko_xml_document_pin_node(c_node); - - rb_node = noko_xml_node_wrap(klass, c_node); - rb_obj_call_init(rb_node, argc, argv); - - if (rb_block_given_p()) { rb_yield(rb_node); } - - return rb_node; -} - -void -noko_init_xml_cdata(void) -{ - assert(cNokogiriXmlText); - /* - * CData represents a CData node in an xml document. - */ - cNokogiriXmlCData = rb_define_class_under(mNokogiriXml, "CDATA", cNokogiriXmlText); - - rb_define_singleton_method(cNokogiriXmlCData, "new", rb_xml_cdata_s_new, -1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_comment.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_comment.c deleted file mode 100644 index 13ff78b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_comment.c +++ /dev/null @@ -1,62 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlComment; - -static ID document_id ; - -/* - * call-seq: - * new(document_or_node, content) - * - * Create a new Comment element on the +document+ with +content+. - * Alternatively, if a +node+ is passed, the +node+'s document is used. - */ -static VALUE -new (int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr xml_doc; - xmlNodePtr node; - VALUE document; - VALUE content; - VALUE rest; - VALUE rb_node; - - rb_scan_args(argc, argv, "2*", &document, &content, &rest); - - if (rb_obj_is_kind_of(document, cNokogiriXmlNode)) { - document = rb_funcall(document, document_id, 0); - } else if (!rb_obj_is_kind_of(document, cNokogiriXmlDocument) - && !rb_obj_is_kind_of(document, cNokogiriXmlDocumentFragment)) { - rb_raise(rb_eArgError, "first argument must be a XML::Document or XML::Node"); - } - - xml_doc = noko_xml_document_unwrap(document); - - node = xmlNewDocComment( - xml_doc, - (const xmlChar *)StringValueCStr(content) - ); - - rb_node = noko_xml_node_wrap(klass, node); - rb_obj_call_init(rb_node, argc, argv); - - noko_xml_document_pin_node(node); - - if (rb_block_given_p()) { rb_yield(rb_node); } - - return rb_node; -} - -void -noko_init_xml_comment(void) -{ - assert(cNokogiriXmlCharacterData); - /* - * Comment represents a comment node in an xml document. - */ - cNokogiriXmlComment = rb_define_class_under(mNokogiriXml, "Comment", cNokogiriXmlCharacterData); - - rb_define_singleton_method(cNokogiriXmlComment, "new", new, -1); - - document_id = rb_intern("document"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_document.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_document.c deleted file mode 100644 index bfaaf94..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_document.c +++ /dev/null @@ -1,773 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlDocument ; - -static int -dealloc_node_i2(xmlNodePtr key, xmlNodePtr node, xmlDocPtr doc) -{ - switch (node->type) { - case XML_ATTRIBUTE_NODE: - xmlFreePropList((xmlAttrPtr)node); - break; - case XML_NAMESPACE_DECL: - xmlFreeNs((xmlNsPtr)node); - break; - case XML_DTD_NODE: - xmlFreeDtd((xmlDtdPtr)node); - break; - default: - if (node->parent == NULL) { - xmlAddChild((xmlNodePtr)doc, node); - } - } - return ST_CONTINUE; -} - -static int -dealloc_node_i(st_data_t key, st_data_t node, st_data_t doc) -{ - return dealloc_node_i2((xmlNodePtr)key, (xmlNodePtr)node, (xmlDocPtr)doc); -} - -static void -remove_private(xmlNodePtr node) -{ - xmlNodePtr child; - - for (child = node->children; child; child = child->next) { - remove_private(child); - } - - if ((node->type == XML_ELEMENT_NODE || - node->type == XML_XINCLUDE_START || - node->type == XML_XINCLUDE_END) && - node->properties) { - for (child = (xmlNodePtr)node->properties; child; child = child->next) { - remove_private(child); - } - } - - node->_private = NULL; -} - -static void -mark(void *data) -{ - xmlDocPtr doc = (xmlDocPtr)data; - nokogiriTuplePtr tuple = (nokogiriTuplePtr)doc->_private; - if (tuple) { - rb_gc_mark(tuple->doc); - rb_gc_mark(tuple->node_cache); - } -} - -static void -dealloc(void *data) -{ - xmlDocPtr doc = (xmlDocPtr)data; - st_table *node_hash; - - node_hash = DOC_UNLINKED_NODE_HASH(doc); - - st_foreach(node_hash, dealloc_node_i, (st_data_t)doc); - st_free_table(node_hash); - - ruby_xfree(doc->_private); - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // xmlDeregisterNodeDefault is deprecated as of libxml2 2.11.0 - /* - * libxml-ruby < 3.0.0 uses xmlDeregisterNodeDefault. If the user is using one of those older - * versions, the registered callback from libxml-ruby will access the _private pointers set by - * nokogiri, which will result in segfaults. - * - * To avoid this, we need to clear the _private pointers from all nodes in this document tree - * before that callback gets invoked. - * - * libxml-ruby 3.0.0 was released in 2017-02, so at some point we can probably safely remove this - * safeguard (though probably pairing with a runtime check on the libxml-ruby version). - */ - if (xmlDeregisterNodeDefaultValue) { - remove_private((xmlNodePtr)doc); - } -#pragma GCC diagnostic pop - - xmlFreeDoc(doc); -} - -static size_t -memsize_node(const xmlNodePtr node) -{ - /* note we don't count namespace definitions, just going for a good-enough number here */ - xmlNodePtr child; - xmlAttrPtr property; - size_t memsize = 0; - - memsize += xmlStrlen(node->name); - - if (node->type == XML_ELEMENT_NODE) { - for (property = node->properties; property; property = property->next) { - memsize += sizeof(xmlAttr) + memsize_node((xmlNodePtr)property); - } - } - if (node->type == XML_TEXT_NODE) { - memsize += xmlStrlen(node->content); - } - for (child = node->children; child; child = child->next) { - memsize += sizeof(xmlNode) + memsize_node(child); - } - return memsize; -} - -static size_t -memsize(const void *data) -{ - xmlDocPtr doc = (const xmlDocPtr)data; - size_t memsize = sizeof(xmlDoc); - /* This may not account for all memory use */ - memsize += memsize_node((xmlNodePtr)doc); - return memsize; -} - -static const rb_data_type_t noko_xml_document_data_type = { - .wrap_struct_name = "Nokogiri::XML::Document", - .function = { - .dmark = mark, - .dfree = dealloc, - .dsize = memsize, - }, - // .flags = RUBY_TYPED_FREE_IMMEDIATELY, // TODO see https://github.com/sparklemotion/nokogiri/issues/2822 -}; - -static void -recursively_remove_namespaces_from_node(xmlNodePtr node) -{ - xmlNodePtr child ; - xmlAttrPtr property ; - - xmlSetNs(node, NULL); - - for (child = node->children ; child ; child = child->next) { - recursively_remove_namespaces_from_node(child); - } - - if (((node->type == XML_ELEMENT_NODE) || - (node->type == XML_XINCLUDE_START) || - (node->type == XML_XINCLUDE_END)) && - node->nsDef) { - xmlNsPtr curr = node->nsDef; - while (curr) { - noko_xml_document_pin_namespace(curr, node->doc); - curr = curr->next; - } - node->nsDef = NULL; - } - - if (node->type == XML_ELEMENT_NODE && node->properties != NULL) { - property = node->properties ; - while (property != NULL) { - if (property->ns) { property->ns = NULL ; } - property = property->next ; - } - } -} - -/* - * call-seq: - * url - * - * Get the url name for this document. - */ -static VALUE -url(VALUE self) -{ - xmlDocPtr doc = noko_xml_document_unwrap(self); - - if (doc->URL) { return NOKOGIRI_STR_NEW2(doc->URL); } - - return Qnil; -} - -/* - * call-seq: - * root= - * - * Set the root element on this document - */ -static VALUE -rb_xml_document_root_set(VALUE self, VALUE rb_new_root) -{ - xmlDocPtr c_document; - xmlNodePtr c_new_root = NULL, c_current_root; - - c_document = noko_xml_document_unwrap(self); - - c_current_root = xmlDocGetRootElement(c_document); - if (c_current_root) { - xmlUnlinkNode(c_current_root); - noko_xml_document_pin_node(c_current_root); - } - - if (!NIL_P(rb_new_root)) { - if (!rb_obj_is_kind_of(rb_new_root, cNokogiriXmlNode)) { - rb_raise(rb_eArgError, - "expected Nokogiri::XML::Node but received %"PRIsVALUE, - rb_obj_class(rb_new_root)); - } - - Noko_Node_Get_Struct(rb_new_root, xmlNode, c_new_root); - - /* If the new root's document is not the same as the current document, - * then we need to dup the node in to this document. */ - if (c_new_root->doc != c_document) { - c_new_root = xmlDocCopyNode(c_new_root, c_document, 1); - if (!c_new_root) { - rb_raise(rb_eRuntimeError, "Could not reparent node (xmlDocCopyNode)"); - } - } - } - - xmlDocSetRootElement(c_document, c_new_root); - - return rb_new_root; -} - -/* - * call-seq: - * root - * - * Get the root node for this document. - */ -static VALUE -rb_xml_document_root(VALUE self) -{ - xmlDocPtr c_document; - xmlNodePtr c_root; - - c_document = noko_xml_document_unwrap(self); - - c_root = xmlDocGetRootElement(c_document); - if (!c_root) { - return Qnil; - } - - return noko_xml_node_wrap(Qnil, c_root) ; -} - -/* - * call-seq: - * encoding= encoding - * - * Set the encoding string for this Document - */ -static VALUE -set_encoding(VALUE self, VALUE encoding) -{ - xmlDocPtr doc = noko_xml_document_unwrap(self); - - if (doc->encoding) { - xmlFree(DISCARD_CONST_QUAL_XMLCHAR(doc->encoding)); - } - - doc->encoding = xmlStrdup((xmlChar *)StringValueCStr(encoding)); - - return encoding; -} - -/* - * call-seq: - * encoding - * - * Get the encoding for this Document - */ -static VALUE -encoding(VALUE self) -{ - xmlDocPtr doc = noko_xml_document_unwrap(self); - - if (!doc->encoding) { return Qnil; } - return NOKOGIRI_STR_NEW2(doc->encoding); -} - -/* - * call-seq: - * version - * - * Get the XML version for this Document - */ -static VALUE -version(VALUE self) -{ - xmlDocPtr doc = noko_xml_document_unwrap(self); - - if (!doc->version) { return Qnil; } - return NOKOGIRI_STR_NEW2(doc->version); -} - -/* - * call-seq: - * read_io(io, url, encoding, options) - * - * Create a new document from an IO object - */ -static VALUE -read_io(VALUE klass, - VALUE io, - VALUE url, - VALUE encoding, - VALUE options) -{ - const char *c_url = NIL_P(url) ? NULL : StringValueCStr(url); - const char *c_enc = NIL_P(encoding) ? NULL : StringValueCStr(encoding); - VALUE error_list = rb_ary_new(); - VALUE document; - xmlDocPtr doc; - - xmlResetLastError(); - xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher); - - doc = xmlReadIO( - (xmlInputReadCallback)noko_io_read, - (xmlInputCloseCallback)noko_io_close, - (void *)io, - c_url, - c_enc, - (int)NUM2INT(options) - ); - xmlSetStructuredErrorFunc(NULL, NULL); - - if (doc == NULL) { - xmlErrorPtr error; - - xmlFreeDoc(doc); - - error = xmlGetLastError(); - if (error) { - rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error)); - } else { - rb_raise(rb_eRuntimeError, "Could not parse document"); - } - - return Qnil; - } - - document = noko_xml_document_wrap(klass, doc); - rb_iv_set(document, "@errors", error_list); - return document; -} - -/* - * call-seq: - * read_memory(string, url, encoding, options) - * - * Create a new document from a String - */ -static VALUE -read_memory(VALUE klass, - VALUE string, - VALUE url, - VALUE encoding, - VALUE options) -{ - const char *c_buffer = StringValuePtr(string); - const char *c_url = NIL_P(url) ? NULL : StringValueCStr(url); - const char *c_enc = NIL_P(encoding) ? NULL : StringValueCStr(encoding); - int len = (int)RSTRING_LEN(string); - VALUE error_list = rb_ary_new(); - VALUE document; - xmlDocPtr doc; - - xmlResetLastError(); - xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher); - doc = xmlReadMemory(c_buffer, len, c_url, c_enc, (int)NUM2INT(options)); - xmlSetStructuredErrorFunc(NULL, NULL); - - if (doc == NULL) { - xmlErrorPtr error; - - xmlFreeDoc(doc); - - error = xmlGetLastError(); - if (error) { - rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error)); - } else { - rb_raise(rb_eRuntimeError, "Could not parse document"); - } - - return Qnil; - } - - document = noko_xml_document_wrap(klass, doc); - rb_iv_set(document, "@errors", error_list); - return document; -} - -/* - * call-seq: - * dup - * - * Copy this Document. An optional depth may be passed in, but it defaults - * to a deep copy. 0 is a shallow copy, 1 is a deep copy. - */ -static VALUE -duplicate_document(int argc, VALUE *argv, VALUE self) -{ - xmlDocPtr doc, dup; - VALUE copy; - VALUE level; - - if (rb_scan_args(argc, argv, "01", &level) == 0) { - level = INT2NUM((long)1); - } - - doc = noko_xml_document_unwrap(self); - - dup = xmlCopyDoc(doc, (int)NUM2INT(level)); - - if (dup == NULL) { return Qnil; } - - dup->type = doc->type; - copy = noko_xml_document_wrap(rb_obj_class(self), dup); - rb_iv_set(copy, "@errors", rb_iv_get(self, "@errors")); - return copy ; -} - -/* - * call-seq: - * new(version = default) - * - * Create a new document with +version+ (defaults to "1.0") - */ -static VALUE -new (int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr doc; - VALUE version, rest, rb_doc ; - - rb_scan_args(argc, argv, "0*", &rest); - version = rb_ary_entry(rest, (long)0); - if (NIL_P(version)) { version = rb_str_new2("1.0"); } - - doc = xmlNewDoc((xmlChar *)StringValueCStr(version)); - rb_doc = noko_xml_document_wrap_with_init_args(klass, doc, argc, argv); - return rb_doc ; -} - -/* - * call-seq: - * remove_namespaces! - * - * Remove all namespaces from all nodes in the document. - * - * This could be useful for developers who either don't understand namespaces - * or don't care about them. - * - * The following example shows a use case, and you can decide for yourself - * whether this is a good thing or not: - * - * doc = Nokogiri::XML <<-EOXML - * <root> - * <car xmlns:part="http://general-motors.com/"> - * <part:tire>Michelin Model XGV</part:tire> - * </car> - * <bicycle xmlns:part="http://schwinn.com/"> - * <part:tire>I'm a bicycle tire!</part:tire> - * </bicycle> - * </root> - * EOXML - * - * doc.xpath("//tire").to_s # => "" - * doc.xpath("//part:tire", "part" => "http://general-motors.com/").to_s # => "<part:tire>Michelin Model XGV</part:tire>" - * doc.xpath("//part:tire", "part" => "http://schwinn.com/").to_s # => "<part:tire>I'm a bicycle tire!</part:tire>" - * - * doc.remove_namespaces! - * - * doc.xpath("//tire").to_s # => "<tire>Michelin Model XGV</tire><tire>I'm a bicycle tire!</tire>" - * doc.xpath("//part:tire", "part" => "http://general-motors.com/").to_s # => "" - * doc.xpath("//part:tire", "part" => "http://schwinn.com/").to_s # => "" - * - * For more information on why this probably is *not* a good thing in general, - * please direct your browser to - * http://tenderlovemaking.com/2009/04/23/namespaces-in-xml.html - */ -static VALUE -remove_namespaces_bang(VALUE self) -{ - xmlDocPtr doc = noko_xml_document_unwrap(self); - - recursively_remove_namespaces_from_node((xmlNodePtr)doc); - return self; -} - -/* call-seq: doc.create_entity(name, type, external_id, system_id, content) - * - * Create a new entity named +name+. - * - * +type+ is an integer representing the type of entity to be created, and it - * defaults to Nokogiri::XML::EntityDecl::INTERNAL_GENERAL. See - * the constants on Nokogiri::XML::EntityDecl for more information. - * - * +external_id+, +system_id+, and +content+ set the External ID, System ID, - * and content respectively. All of these parameters are optional. - */ -static VALUE -create_entity(int argc, VALUE *argv, VALUE self) -{ - VALUE name; - VALUE type; - VALUE external_id; - VALUE system_id; - VALUE content; - xmlEntityPtr ptr; - xmlDocPtr doc ; - - doc = noko_xml_document_unwrap(self); - - rb_scan_args(argc, argv, "14", &name, &type, &external_id, &system_id, - &content); - - xmlResetLastError(); - ptr = xmlAddDocEntity( - doc, - (xmlChar *)(NIL_P(name) ? NULL : StringValueCStr(name)), - (int)(NIL_P(type) ? XML_INTERNAL_GENERAL_ENTITY : NUM2INT(type)), - (xmlChar *)(NIL_P(external_id) ? NULL : StringValueCStr(external_id)), - (xmlChar *)(NIL_P(system_id) ? NULL : StringValueCStr(system_id)), - (xmlChar *)(NIL_P(content) ? NULL : StringValueCStr(content)) - ); - - if (NULL == ptr) { - xmlErrorPtr error = xmlGetLastError(); - if (error) { - rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error)); - } else { - rb_raise(rb_eRuntimeError, "Could not create entity"); - } - - return Qnil; - } - - return noko_xml_node_wrap(cNokogiriXmlEntityDecl, (xmlNodePtr)ptr); -} - -static int -block_caller(void *ctx, xmlNodePtr c_node, xmlNodePtr c_parent_node) -{ - VALUE block = (VALUE)ctx; - VALUE rb_node; - VALUE rb_parent_node; - VALUE ret; - - if (c_node->type == XML_NAMESPACE_DECL) { - rb_node = noko_xml_namespace_wrap((xmlNsPtr)c_node, c_parent_node->doc); - } else { - rb_node = noko_xml_node_wrap(Qnil, c_node); - } - rb_parent_node = c_parent_node ? noko_xml_node_wrap(Qnil, c_parent_node) : Qnil; - - ret = rb_funcall(block, rb_intern("call"), 2, rb_node, rb_parent_node); - - return (Qfalse == ret || Qnil == ret) ? 0 : 1; -} - -/* call-seq: - * doc.canonicalize(mode=XML_C14N_1_0,inclusive_namespaces=nil,with_comments=false) - * doc.canonicalize { |obj, parent| ... } - * - * Canonicalize a document and return the results. Takes an optional block - * that takes two parameters: the +obj+ and that node's +parent+. - * The +obj+ will be either a Nokogiri::XML::Node, or a Nokogiri::XML::Namespace - * The block must return a non-nil, non-false value if the +obj+ passed in - * should be included in the canonicalized document. - */ -static VALUE -rb_xml_document_canonicalize(int argc, VALUE *argv, VALUE self) -{ - VALUE rb_mode; - VALUE rb_namespaces; - VALUE rb_comments_p; - int c_mode = 0; - xmlChar **c_namespaces; - - xmlDocPtr c_doc; - xmlOutputBufferPtr c_obuf; - xmlC14NIsVisibleCallback c_callback_wrapper = NULL; - void *rb_callback = NULL; - - VALUE rb_cStringIO; - VALUE rb_io; - - rb_scan_args(argc, argv, "03", &rb_mode, &rb_namespaces, &rb_comments_p); - if (!NIL_P(rb_mode)) { - Check_Type(rb_mode, T_FIXNUM); - c_mode = NUM2INT(rb_mode); - } - if (!NIL_P(rb_namespaces)) { - Check_Type(rb_namespaces, T_ARRAY); - if (c_mode == XML_C14N_1_0 || c_mode == XML_C14N_1_1) { - rb_raise(rb_eRuntimeError, "This canonicalizer does not support this operation"); - } - } - - c_doc = noko_xml_document_unwrap(self); - - rb_cStringIO = rb_const_get_at(rb_cObject, rb_intern("StringIO")); - rb_io = rb_class_new_instance(0, 0, rb_cStringIO); - c_obuf = xmlAllocOutputBuffer(NULL); - - c_obuf->writecallback = (xmlOutputWriteCallback)noko_io_write; - c_obuf->closecallback = (xmlOutputCloseCallback)noko_io_close; - c_obuf->context = (void *)rb_io; - - if (rb_block_given_p()) { - c_callback_wrapper = block_caller; - rb_callback = (void *)rb_block_proc(); - } - - if (NIL_P(rb_namespaces)) { - c_namespaces = NULL; - } else { - long ns_len = RARRAY_LEN(rb_namespaces); - c_namespaces = ruby_xcalloc((size_t)ns_len + 1, sizeof(xmlChar *)); - for (int j = 0 ; j < ns_len ; j++) { - VALUE entry = rb_ary_entry(rb_namespaces, j); - c_namespaces[j] = (xmlChar *)StringValueCStr(entry); - } - } - - xmlC14NExecute(c_doc, c_callback_wrapper, rb_callback, - c_mode, - c_namespaces, - (int)RTEST(rb_comments_p), - c_obuf); - - ruby_xfree(c_namespaces); - xmlOutputBufferClose(c_obuf); - - return rb_funcall(rb_io, rb_intern("string"), 0); -} - -VALUE -noko_xml_document_wrap_with_init_args(VALUE klass, xmlDocPtr c_document, int argc, VALUE *argv) -{ - VALUE rb_document; - nokogiriTuplePtr tuple; - - if (!klass) { - klass = cNokogiriXmlDocument; - } - - rb_document = TypedData_Wrap_Struct(klass, &noko_xml_document_data_type, c_document); - - tuple = (nokogiriTuplePtr)ruby_xmalloc(sizeof(nokogiriTuple)); - tuple->doc = rb_document; - tuple->unlinkedNodes = st_init_numtable_with_size(128); - tuple->node_cache = rb_ary_new(); - - c_document->_private = tuple ; - - rb_iv_set(rb_document, "@decorators", Qnil); - rb_iv_set(rb_document, "@errors", Qnil); - rb_iv_set(rb_document, "@node_cache", tuple->node_cache); - - rb_obj_call_init(rb_document, argc, argv); - - return rb_document ; -} - - -/* deprecated. use noko_xml_document_wrap() instead. */ -VALUE -Nokogiri_wrap_xml_document(VALUE klass, xmlDocPtr doc) -{ - /* TODO: deprecate this method in v2.0 */ - return noko_xml_document_wrap_with_init_args(klass, doc, 0, NULL); -} - -VALUE -noko_xml_document_wrap(VALUE klass, xmlDocPtr doc) -{ - return noko_xml_document_wrap_with_init_args(klass, doc, 0, NULL); -} - -xmlDocPtr -noko_xml_document_unwrap(VALUE rb_document) -{ - xmlDocPtr c_document; - TypedData_Get_Struct(rb_document, xmlDoc, &noko_xml_document_data_type, c_document); - return c_document; -} - -/* Schema creation will remove and deallocate "blank" nodes. - * If those blank nodes have been exposed to Ruby, they could get freed - * out from under the VALUE pointer. This function checks to see if any of - * those nodes have been exposed to Ruby, and if so we should raise an exception. - */ -int -noko_xml_document_has_wrapped_blank_nodes_p(xmlDocPtr c_document) -{ - VALUE cache = DOC_NODE_CACHE(c_document); - - if (NIL_P(cache)) { - return 0; - } - - for (long jnode = 0; jnode < RARRAY_LEN(cache); jnode++) { - xmlNodePtr node; - VALUE element = rb_ary_entry(cache, jnode); - - Noko_Node_Get_Struct(element, xmlNode, node); - if (xmlIsBlankNode(node)) { - return 1; - } - } - - return 0; -} - -void -noko_xml_document_pin_node(xmlNodePtr node) -{ - xmlDocPtr doc; - nokogiriTuplePtr tuple; - - doc = node->doc; - tuple = (nokogiriTuplePtr)doc->_private; - st_insert(tuple->unlinkedNodes, (st_data_t)node, (st_data_t)node); -} - - -void -noko_xml_document_pin_namespace(xmlNsPtr ns, xmlDocPtr doc) -{ - nokogiriTuplePtr tuple; - - tuple = (nokogiriTuplePtr)doc->_private; - st_insert(tuple->unlinkedNodes, (st_data_t)ns, (st_data_t)ns); -} - - -void -noko_init_xml_document(void) -{ - assert(cNokogiriXmlNode); - /* - * Nokogiri::XML::Document wraps an xml document. - */ - cNokogiriXmlDocument = rb_define_class_under(mNokogiriXml, "Document", cNokogiriXmlNode); - - rb_define_singleton_method(cNokogiriXmlDocument, "read_memory", read_memory, 4); - rb_define_singleton_method(cNokogiriXmlDocument, "read_io", read_io, 4); - rb_define_singleton_method(cNokogiriXmlDocument, "new", new, -1); - - rb_define_method(cNokogiriXmlDocument, "root", rb_xml_document_root, 0); - rb_define_method(cNokogiriXmlDocument, "root=", rb_xml_document_root_set, 1); - rb_define_method(cNokogiriXmlDocument, "encoding", encoding, 0); - rb_define_method(cNokogiriXmlDocument, "encoding=", set_encoding, 1); - rb_define_method(cNokogiriXmlDocument, "version", version, 0); - rb_define_method(cNokogiriXmlDocument, "canonicalize", rb_xml_document_canonicalize, -1); - rb_define_method(cNokogiriXmlDocument, "dup", duplicate_document, -1); - rb_define_method(cNokogiriXmlDocument, "url", url, 0); - rb_define_method(cNokogiriXmlDocument, "create_entity", create_entity, -1); - rb_define_method(cNokogiriXmlDocument, "remove_namespaces!", remove_namespaces_bang, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_document_fragment.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_document_fragment.c deleted file mode 100644 index d89b748..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_document_fragment.c +++ /dev/null @@ -1,44 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlDocumentFragment; - -/* - * call-seq: - * new(document) - * - * Create a new DocumentFragment element on the +document+ - */ -static VALUE -new (int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr xml_doc; - xmlNodePtr node; - VALUE document; - VALUE rest; - VALUE rb_node; - - rb_scan_args(argc, argv, "1*", &document, &rest); - - xml_doc = noko_xml_document_unwrap(document); - - node = xmlNewDocFragment(xml_doc->doc); - - noko_xml_document_pin_node(node); - - rb_node = noko_xml_node_wrap(klass, node); - rb_obj_call_init(rb_node, argc, argv); - - return rb_node; -} - -void -noko_init_xml_document_fragment(void) -{ - assert(cNokogiriXmlNode); - /* - * DocumentFragment represents a DocumentFragment node in an xml document. - */ - cNokogiriXmlDocumentFragment = rb_define_class_under(mNokogiriXml, "DocumentFragment", cNokogiriXmlNode); - - rb_define_singleton_method(cNokogiriXmlDocumentFragment, "new", new, -1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_dtd.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_dtd.c deleted file mode 100644 index c8a3024..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_dtd.c +++ /dev/null @@ -1,208 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlDtd; - -static void -notation_copier(void *c_notation_ptr, void *rb_hash_ptr, const xmlChar *name) -{ - VALUE rb_hash = (VALUE)rb_hash_ptr; - xmlNotationPtr c_notation = (xmlNotationPtr)c_notation_ptr; - VALUE rb_notation; - VALUE cNokogiriXmlNotation; - VALUE rb_constructor_args[3]; - - rb_constructor_args[0] = (c_notation->name ? NOKOGIRI_STR_NEW2(c_notation->name) : Qnil); - rb_constructor_args[1] = (c_notation->PublicID ? NOKOGIRI_STR_NEW2(c_notation->PublicID) : Qnil); - rb_constructor_args[2] = (c_notation->SystemID ? NOKOGIRI_STR_NEW2(c_notation->SystemID) : Qnil); - - cNokogiriXmlNotation = rb_const_get_at(mNokogiriXml, rb_intern("Notation")); - rb_notation = rb_class_new_instance(3, rb_constructor_args, cNokogiriXmlNotation); - - rb_hash_aset(rb_hash, NOKOGIRI_STR_NEW2(name), rb_notation); -} - -static void -element_copier(void *c_node_ptr, void *rb_hash_ptr, const xmlChar *c_name) -{ - VALUE rb_hash = (VALUE)rb_hash_ptr; - xmlNodePtr c_node = (xmlNodePtr)c_node_ptr; - - VALUE rb_node = noko_xml_node_wrap(Qnil, c_node); - - rb_hash_aset(rb_hash, NOKOGIRI_STR_NEW2(c_name), rb_node); -} - -/* - * call-seq: - * entities - * - * Get a hash of the elements for this DTD. - */ -static VALUE -entities(VALUE self) -{ - xmlDtdPtr dtd; - VALUE hash; - - Noko_Node_Get_Struct(self, xmlDtd, dtd); - - if (!dtd->entities) { return Qnil; } - - hash = rb_hash_new(); - - xmlHashScan((xmlHashTablePtr)dtd->entities, element_copier, (void *)hash); - - return hash; -} - -/* - * call-seq: - * notations() → Hash<name(String)⇒Notation> - * - * [Returns] All the notations for this DTD in a Hash of Notation +name+ to Notation. - */ -static VALUE -notations(VALUE self) -{ - xmlDtdPtr dtd; - VALUE hash; - - Noko_Node_Get_Struct(self, xmlDtd, dtd); - - if (!dtd->notations) { return Qnil; } - - hash = rb_hash_new(); - - xmlHashScan((xmlHashTablePtr)dtd->notations, notation_copier, (void *)hash); - - return hash; -} - -/* - * call-seq: - * attributes - * - * Get a hash of the attributes for this DTD. - */ -static VALUE -attributes(VALUE self) -{ - xmlDtdPtr dtd; - VALUE hash; - - Noko_Node_Get_Struct(self, xmlDtd, dtd); - - hash = rb_hash_new(); - - if (!dtd->attributes) { return hash; } - - xmlHashScan((xmlHashTablePtr)dtd->attributes, element_copier, (void *)hash); - - return hash; -} - -/* - * call-seq: - * elements - * - * Get a hash of the elements for this DTD. - */ -static VALUE -elements(VALUE self) -{ - xmlDtdPtr dtd; - VALUE hash; - - Noko_Node_Get_Struct(self, xmlDtd, dtd); - - if (!dtd->elements) { return Qnil; } - - hash = rb_hash_new(); - - xmlHashScan((xmlHashTablePtr)dtd->elements, element_copier, (void *)hash); - - return hash; -} - -/* - * call-seq: - * validate(document) - * - * Validate +document+ returning a list of errors - */ -static VALUE -validate(VALUE self, VALUE document) -{ - xmlDocPtr doc; - xmlDtdPtr dtd; - xmlValidCtxtPtr ctxt; - VALUE error_list; - - Noko_Node_Get_Struct(self, xmlDtd, dtd); - doc = noko_xml_document_unwrap(document); - error_list = rb_ary_new(); - - ctxt = xmlNewValidCtxt(); - - xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher); - - xmlValidateDtd(ctxt, doc, dtd); - - xmlSetStructuredErrorFunc(NULL, NULL); - - xmlFreeValidCtxt(ctxt); - - return error_list; -} - -/* - * call-seq: - * system_id - * - * Get the System ID for this DTD - */ -static VALUE -system_id(VALUE self) -{ - xmlDtdPtr dtd; - Noko_Node_Get_Struct(self, xmlDtd, dtd); - - if (!dtd->SystemID) { return Qnil; } - - return NOKOGIRI_STR_NEW2(dtd->SystemID); -} - -/* - * call-seq: - * external_id - * - * Get the External ID for this DTD - */ -static VALUE -external_id(VALUE self) -{ - xmlDtdPtr dtd; - Noko_Node_Get_Struct(self, xmlDtd, dtd); - - if (!dtd->ExternalID) { return Qnil; } - - return NOKOGIRI_STR_NEW2(dtd->ExternalID); -} - -void -noko_init_xml_dtd(void) -{ - assert(cNokogiriXmlNode); - /* - * Nokogiri::XML::DTD wraps DTD nodes in an XML document - */ - cNokogiriXmlDtd = rb_define_class_under(mNokogiriXml, "DTD", cNokogiriXmlNode); - - rb_define_method(cNokogiriXmlDtd, "notations", notations, 0); - rb_define_method(cNokogiriXmlDtd, "elements", elements, 0); - rb_define_method(cNokogiriXmlDtd, "entities", entities, 0); - rb_define_method(cNokogiriXmlDtd, "validate", validate, 1); - rb_define_method(cNokogiriXmlDtd, "attributes", attributes, 0); - rb_define_method(cNokogiriXmlDtd, "system_id", system_id, 0); - rb_define_method(cNokogiriXmlDtd, "external_id", external_id, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_element_content.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_element_content.c deleted file mode 100644 index 34cbf07..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_element_content.c +++ /dev/null @@ -1,131 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlElementContent; - -static const rb_data_type_t element_content_data_type = { - .wrap_struct_name = "Nokogiri::XML::ElementContent", - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -/* - * call-seq: - * name → String - * - * [Returns] The content element's +name+ - */ -static VALUE -get_name(VALUE self) -{ - xmlElementContentPtr elem; - TypedData_Get_Struct(self, xmlElementContent, &element_content_data_type, elem); - - if (!elem->name) { return Qnil; } - return NOKOGIRI_STR_NEW2(elem->name); -} - -/* - * call-seq: - * type → Integer - * - * [Returns] The content element's +type+. Possible values are +PCDATA+, +ELEMENT+, +SEQ+, or +OR+. - */ -static VALUE -get_type(VALUE self) -{ - xmlElementContentPtr elem; - TypedData_Get_Struct(self, xmlElementContent, &element_content_data_type, elem); - - return INT2NUM(elem->type); -} - -/* - * Get the first child. - */ -static VALUE -get_c1(VALUE self) -{ - xmlElementContentPtr elem; - TypedData_Get_Struct(self, xmlElementContent, &element_content_data_type, elem); - - if (!elem->c1) { return Qnil; } - return noko_xml_element_content_wrap(rb_iv_get(self, "@document"), elem->c1); -} - -/* - * Get the second child. - */ -static VALUE -get_c2(VALUE self) -{ - xmlElementContentPtr elem; - TypedData_Get_Struct(self, xmlElementContent, &element_content_data_type, elem); - - if (!elem->c2) { return Qnil; } - return noko_xml_element_content_wrap(rb_iv_get(self, "@document"), elem->c2); -} - -/* - * call-seq: - * occur → Integer - * - * [Returns] The content element's +occur+ flag. Possible values are +ONCE+, +OPT+, +MULT+ or +PLUS+. - */ -static VALUE -get_occur(VALUE self) -{ - xmlElementContentPtr elem; - TypedData_Get_Struct(self, xmlElementContent, &element_content_data_type, elem); - - return INT2NUM(elem->ocur); -} - -/* - * call-seq: - * prefix → String - * - * [Returns] The content element's namespace +prefix+. - */ -static VALUE -get_prefix(VALUE self) -{ - xmlElementContentPtr elem; - TypedData_Get_Struct(self, xmlElementContent, &element_content_data_type, elem); - - if (!elem->prefix) { return Qnil; } - - return NOKOGIRI_STR_NEW2(elem->prefix); -} - -/* - * create a Nokogiri::XML::ElementContent object around an +element+. - */ -VALUE -noko_xml_element_content_wrap(VALUE rb_document, xmlElementContentPtr c_element_content) -{ - VALUE elem = TypedData_Wrap_Struct( - cNokogiriXmlElementContent, - &element_content_data_type, - c_element_content - ); - - /* keep a handle on the document for GC marking */ - rb_iv_set(elem, "@document", rb_document); - - return elem; -} - -void -noko_init_xml_element_content(void) -{ - cNokogiriXmlElementContent = rb_define_class_under(mNokogiriXml, "ElementContent", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlElementContent); - - rb_define_method(cNokogiriXmlElementContent, "name", get_name, 0); - rb_define_method(cNokogiriXmlElementContent, "type", get_type, 0); - rb_define_method(cNokogiriXmlElementContent, "occur", get_occur, 0); - rb_define_method(cNokogiriXmlElementContent, "prefix", get_prefix, 0); - - rb_define_private_method(cNokogiriXmlElementContent, "c1", get_c1, 0); - rb_define_private_method(cNokogiriXmlElementContent, "c2", get_c2, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_element_decl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_element_decl.c deleted file mode 100644 index 58981d3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_element_decl.c +++ /dev/null @@ -1,69 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlElementDecl; - -static ID id_document; - -/* - * call-seq: - * element_type → Integer - * - * The element_type - */ -static VALUE -element_type(VALUE self) -{ - xmlElementPtr node; - Noko_Node_Get_Struct(self, xmlElement, node); - return INT2NUM(node->etype); -} - -/* - * call-seq: - * content → Nokogiri::XML::ElementContent - * - * [Returns] The root of this element declaration's content tree. - */ -static VALUE -content(VALUE self) -{ - xmlElementPtr node; - Noko_Node_Get_Struct(self, xmlElement, node); - - if (!node->content) { return Qnil; } - - return noko_xml_element_content_wrap( - rb_funcall(self, id_document, 0), - node->content - ); -} - -/* - * call-seq: - * prefix → String - * - * [Returns] The namespace +prefix+ for this element declaration. - */ -static VALUE -prefix(VALUE self) -{ - xmlElementPtr node; - Noko_Node_Get_Struct(self, xmlElement, node); - - if (!node->prefix) { return Qnil; } - - return NOKOGIRI_STR_NEW2(node->prefix); -} - -void -noko_init_xml_element_decl(void) -{ - assert(cNokogiriXmlNode); - cNokogiriXmlElementDecl = rb_define_class_under(mNokogiriXml, "ElementDecl", cNokogiriXmlNode); - - rb_define_method(cNokogiriXmlElementDecl, "element_type", element_type, 0); - rb_define_method(cNokogiriXmlElementDecl, "content", content, 0); - rb_define_method(cNokogiriXmlElementDecl, "prefix", prefix, 0); - - id_document = rb_intern("document"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_encoding_handler.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_encoding_handler.c deleted file mode 100644 index f66d306..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_encoding_handler.c +++ /dev/null @@ -1,112 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriEncodingHandler; - -static void -xml_encoding_handler_dealloc(void *data) -{ - /* make sure iconv handlers are cleaned up and freed */ - xmlCharEncodingHandlerPtr c_handler = data; - xmlCharEncCloseFunc(c_handler); -} - -static const rb_data_type_t xml_encoding_handler_type = { - .wrap_struct_name = "Nokogiri::EncodingHandler", - .function = { - .dfree = xml_encoding_handler_dealloc, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - - -/* - * call-seq: Nokogiri::EncodingHandler.[](name) - * - * Get the encoding handler for +name+ - */ -static VALUE -rb_xml_encoding_handler_s_get(VALUE klass, VALUE key) -{ - xmlCharEncodingHandlerPtr handler; - - handler = xmlFindCharEncodingHandler(StringValueCStr(key)); - if (handler) { - return TypedData_Wrap_Struct(klass, &xml_encoding_handler_type, handler); - } - - return Qnil; -} - - -/* - * call-seq: Nokogiri::EncodingHandler.delete(name) - * - * Delete the encoding alias named +name+ - */ -static VALUE -rb_xml_encoding_handler_s_delete(VALUE klass, VALUE name) -{ - if (xmlDelEncodingAlias(StringValueCStr(name))) { return Qnil; } - - return Qtrue; -} - - -/* - * call-seq: Nokogiri::EncodingHandler.alias(real_name, alias_name) - * - * Alias encoding handler with name +real_name+ to name +alias_name+ - */ -static VALUE -rb_xml_encoding_handler_s_alias(VALUE klass, VALUE from, VALUE to) -{ - xmlAddEncodingAlias(StringValueCStr(from), StringValueCStr(to)); - - return to; -} - - -/* - * call-seq: Nokogiri::EncodingHandler.clear_aliases! - * - * Remove all encoding aliases. - */ -static VALUE -rb_xml_encoding_handler_s_clear_aliases(VALUE klass) -{ - xmlCleanupEncodingAliases(); - - return klass; -} - - -/* - * call-seq: name - * - * Get the name of this EncodingHandler - */ -static VALUE -rb_xml_encoding_handler_name(VALUE self) -{ - xmlCharEncodingHandlerPtr handler; - - TypedData_Get_Struct(self, xmlCharEncodingHandler, &xml_encoding_handler_type, handler); - - return NOKOGIRI_STR_NEW2(handler->name); -} - - -void -noko_init_xml_encoding_handler(void) -{ - cNokogiriEncodingHandler = rb_define_class_under(mNokogiri, "EncodingHandler", rb_cObject); - - rb_undef_alloc_func(cNokogiriEncodingHandler); - - rb_define_singleton_method(cNokogiriEncodingHandler, "[]", rb_xml_encoding_handler_s_get, 1); - rb_define_singleton_method(cNokogiriEncodingHandler, "delete", rb_xml_encoding_handler_s_delete, 1); - rb_define_singleton_method(cNokogiriEncodingHandler, "alias", rb_xml_encoding_handler_s_alias, 2); - rb_define_singleton_method(cNokogiriEncodingHandler, "clear_aliases!", rb_xml_encoding_handler_s_clear_aliases, 0); - - rb_define_method(cNokogiriEncodingHandler, "name", rb_xml_encoding_handler_name, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_entity_decl.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_entity_decl.c deleted file mode 100644 index 4b7f407..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_entity_decl.c +++ /dev/null @@ -1,112 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlEntityDecl; - -/* - * call-seq: - * original_content - * - * Get the original_content before ref substitution - */ -static VALUE -original_content(VALUE self) -{ - xmlEntityPtr node; - Noko_Node_Get_Struct(self, xmlEntity, node); - - if (!node->orig) { return Qnil; } - - return NOKOGIRI_STR_NEW2(node->orig); -} - -/* - * call-seq: - * content - * - * Get the content - */ -static VALUE -get_content(VALUE self) -{ - xmlEntityPtr node; - Noko_Node_Get_Struct(self, xmlEntity, node); - - if (!node->content) { return Qnil; } - - return NOKOGIRI_STR_NEW(node->content, node->length); -} - -/* - * call-seq: - * entity_type - * - * Get the entity type - */ -static VALUE -entity_type(VALUE self) -{ - xmlEntityPtr node; - Noko_Node_Get_Struct(self, xmlEntity, node); - - return INT2NUM((int)node->etype); -} - -/* - * call-seq: - * external_id - * - * Get the external identifier for PUBLIC - */ -static VALUE -external_id(VALUE self) -{ - xmlEntityPtr node; - Noko_Node_Get_Struct(self, xmlEntity, node); - - if (!node->ExternalID) { return Qnil; } - - return NOKOGIRI_STR_NEW2(node->ExternalID); -} - -/* - * call-seq: - * system_id - * - * Get the URI for a SYSTEM or PUBLIC Entity - */ -static VALUE -system_id(VALUE self) -{ - xmlEntityPtr node; - Noko_Node_Get_Struct(self, xmlEntity, node); - - if (!node->SystemID) { return Qnil; } - - return NOKOGIRI_STR_NEW2(node->SystemID); -} - -void -noko_init_xml_entity_decl(void) -{ - assert(cNokogiriXmlNode); - cNokogiriXmlEntityDecl = rb_define_class_under(mNokogiriXml, "EntityDecl", cNokogiriXmlNode); - - rb_define_method(cNokogiriXmlEntityDecl, "original_content", original_content, 0); - rb_define_method(cNokogiriXmlEntityDecl, "content", get_content, 0); - rb_define_method(cNokogiriXmlEntityDecl, "entity_type", entity_type, 0); - rb_define_method(cNokogiriXmlEntityDecl, "external_id", external_id, 0); - rb_define_method(cNokogiriXmlEntityDecl, "system_id", system_id, 0); - - rb_const_set(cNokogiriXmlEntityDecl, rb_intern("INTERNAL_GENERAL"), - INT2NUM(XML_INTERNAL_GENERAL_ENTITY)); - rb_const_set(cNokogiriXmlEntityDecl, rb_intern("EXTERNAL_GENERAL_PARSED"), - INT2NUM(XML_EXTERNAL_GENERAL_PARSED_ENTITY)); - rb_const_set(cNokogiriXmlEntityDecl, rb_intern("EXTERNAL_GENERAL_UNPARSED"), - INT2NUM(XML_EXTERNAL_GENERAL_UNPARSED_ENTITY)); - rb_const_set(cNokogiriXmlEntityDecl, rb_intern("INTERNAL_PARAMETER"), - INT2NUM(XML_INTERNAL_PARAMETER_ENTITY)); - rb_const_set(cNokogiriXmlEntityDecl, rb_intern("EXTERNAL_PARAMETER"), - INT2NUM(XML_EXTERNAL_PARAMETER_ENTITY)); - rb_const_set(cNokogiriXmlEntityDecl, rb_intern("INTERNAL_PREDEFINED"), - INT2NUM(XML_INTERNAL_PREDEFINED_ENTITY)); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_entity_reference.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_entity_reference.c deleted file mode 100644 index 3fcc3e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_entity_reference.c +++ /dev/null @@ -1,50 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlEntityReference; - -/* - * call-seq: - * new(document, content) - * - * Create a new EntityReference element on the +document+ with +name+ - */ -static VALUE -new (int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr xml_doc; - xmlNodePtr node; - VALUE document; - VALUE name; - VALUE rest; - VALUE rb_node; - - rb_scan_args(argc, argv, "2*", &document, &name, &rest); - - xml_doc = noko_xml_document_unwrap(document); - - node = xmlNewReference( - xml_doc, - (const xmlChar *)StringValueCStr(name) - ); - - noko_xml_document_pin_node(node); - - rb_node = noko_xml_node_wrap(klass, node); - rb_obj_call_init(rb_node, argc, argv); - - if (rb_block_given_p()) { rb_yield(rb_node); } - - return rb_node; -} - -void -noko_init_xml_entity_reference(void) -{ - assert(cNokogiriXmlNode); - /* - * EntityReference represents an EntityReference node in an xml document. - */ - cNokogiriXmlEntityReference = rb_define_class_under(mNokogiriXml, "EntityReference", cNokogiriXmlNode); - - rb_define_singleton_method(cNokogiriXmlEntityReference, "new", new, -1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_namespace.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_namespace.c deleted file mode 100644 index 614f481..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_namespace.c +++ /dev/null @@ -1,185 +0,0 @@ -#include <nokogiri.h> - -/* - * The lifecycle of a Namespace node is more complicated than other Nodes, for two reasons: - * - * 1. the underlying C structure has a different layout than all the other node structs, with the - * `_private` member where we store a pointer to Ruby object data not being in first position. - * 2. xmlNs structures returned in an xmlNodeset from an XPath query are copies of the document's - * namespaces, and so do not share the same memory lifecycle as everything else in a document. - * - * As a result of 1, you may see special handling of XML_NAMESPACE_DECL node types throughout the - * Nokogiri C code, though I intend to wrap up that logic in ruby_object_{get,set} functions - * shortly. - * - * As a result of 2, you will see we have special handling in this file and in xml_node_set.c to - * carefully manage the memory lifecycle of xmlNs structs to match the Ruby object's GC - * lifecycle. In xml_node_set.c we have local versions of xmlXPathNodeSetDel() and - * xmlXPathFreeNodeSet() that avoid freeing xmlNs structs in the node set. In this file, we decide - * whether or not to call dealloc_namespace() depending on whether the xmlNs struct appears to be - * in an xmlNodeSet (and thus the result of an XPath query) or not. - * - * Yes, this is madness. - */ - -VALUE cNokogiriXmlNamespace ; - -static void -_xml_namespace_dealloc(void *ptr) -{ - /* - * this deallocator is only used for namespace nodes that are part of an xpath - * node set. see noko_xml_namespace_wrap(). - */ - xmlNsPtr ns = ptr; - - if (ns->href) { - xmlFree(DISCARD_CONST_QUAL_XMLCHAR(ns->href)); - } - if (ns->prefix) { - xmlFree(DISCARD_CONST_QUAL_XMLCHAR(ns->prefix)); - } - xmlFree(ns); -} - -#ifdef HAVE_RB_GC_LOCATION -static void -_xml_namespace_update_references(void *ptr) -{ - xmlNsPtr ns = ptr; - if (ns->_private) { - ns->_private = (void *)rb_gc_location((VALUE)ns->_private); - } -} -#else -# define _xml_namespace_update_references 0 -#endif - -static const rb_data_type_t nokogiri_xml_namespace_type_with_dealloc = { - .wrap_struct_name = "Nokogiri::XML::Namespace#with_dealloc", - .function = { - .dfree = _xml_namespace_dealloc, - .dcompact = _xml_namespace_update_references, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -static const rb_data_type_t nokogiri_xml_namespace_type_without_dealloc = { - .wrap_struct_name = "Nokogiri::XML::Namespace#without_dealloc", - .function = { - .dcompact = _xml_namespace_update_references, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -/* - * :call-seq: - * prefix() → String or nil - * - * Return the prefix for this Namespace, or +nil+ if there is no prefix (e.g., default namespace). - * - * *Example* - * - * doc = Nokogiri::XML.parse(<<~XML) - * <?xml version="1.0"?> - * <root xmlns="http://nokogiri.org/ns/default" xmlns:noko="http://nokogiri.org/ns/noko"> - * <child1 foo="abc" noko:bar="def"/> - * <noko:child2 foo="qwe" noko:bar="rty"/> - * </root> - * XML - * - * doc.root.elements.first.namespace.prefix - * # => nil - * - * doc.root.elements.last.namespace.prefix - * # => "noko" - */ -static VALUE -prefix(VALUE self) -{ - xmlNsPtr ns; - - Noko_Namespace_Get_Struct(self, xmlNs, ns); - if (!ns->prefix) { return Qnil; } - - return NOKOGIRI_STR_NEW2(ns->prefix); -} - -/* - * :call-seq: - * href() → String - * - * Returns the URI reference for this Namespace. - * - * *Example* - * - * doc = Nokogiri::XML.parse(<<~XML) - * <?xml version="1.0"?> - * <root xmlns="http://nokogiri.org/ns/default" xmlns:noko="http://nokogiri.org/ns/noko"> - * <child1 foo="abc" noko:bar="def"/> - * <noko:child2 foo="qwe" noko:bar="rty"/> - * </root> - * XML - * - * doc.root.elements.first.namespace.href - * # => "http://nokogiri.org/ns/default" - * - * doc.root.elements.last.namespace.href - * # => "http://nokogiri.org/ns/noko" - */ -static VALUE -href(VALUE self) -{ - xmlNsPtr ns; - - Noko_Namespace_Get_Struct(self, xmlNs, ns); - if (!ns->href) { return Qnil; } - - return NOKOGIRI_STR_NEW2(ns->href); -} - -VALUE -noko_xml_namespace_wrap(xmlNsPtr c_namespace, xmlDocPtr c_document) -{ - VALUE rb_namespace; - - if (c_namespace->_private) { - return (VALUE)c_namespace->_private; - } - - if (c_document) { - rb_namespace = TypedData_Wrap_Struct(cNokogiriXmlNamespace, - &nokogiri_xml_namespace_type_without_dealloc, - c_namespace); - - if (DOC_RUBY_OBJECT_TEST(c_document)) { - rb_iv_set(rb_namespace, "@document", DOC_RUBY_OBJECT(c_document)); - rb_ary_push(DOC_NODE_CACHE(c_document), rb_namespace); - } - } else { - rb_namespace = TypedData_Wrap_Struct(cNokogiriXmlNamespace, - &nokogiri_xml_namespace_type_with_dealloc, - c_namespace); - } - - c_namespace->_private = (void *)rb_namespace; - - return rb_namespace; -} - -VALUE -noko_xml_namespace_wrap_xpath_copy(xmlNsPtr c_namespace) -{ - return noko_xml_namespace_wrap(c_namespace, NULL); -} - -void -noko_init_xml_namespace(void) -{ - cNokogiriXmlNamespace = rb_define_class_under(mNokogiriXml, "Namespace", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlNamespace); - - rb_define_method(cNokogiriXmlNamespace, "prefix", prefix, 0); - rb_define_method(cNokogiriXmlNamespace, "href", href, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_node.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_node.c deleted file mode 100644 index 47ca711..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_node.c +++ /dev/null @@ -1,2425 +0,0 @@ -#include <nokogiri.h> - -#include <stdbool.h> - -// :stopdoc: - -VALUE cNokogiriXmlNode ; -static ID id_decorate, id_decorate_bang; - -typedef xmlNodePtr(*pivot_reparentee_func)(xmlNodePtr, xmlNodePtr); - -static void -_xml_node_mark(void *ptr) -{ - xmlNodePtr node = ptr; - - if (!DOC_RUBY_OBJECT_TEST(node->doc)) { - return; - } - - xmlDocPtr doc = node->doc; - if (doc->type == XML_DOCUMENT_NODE || doc->type == XML_HTML_DOCUMENT_NODE) { - if (DOC_RUBY_OBJECT_TEST(doc)) { - rb_gc_mark(DOC_RUBY_OBJECT(doc)); - } - } else if (node->doc->_private) { - rb_gc_mark((VALUE)doc->_private); - } -} - -#ifdef HAVE_RB_GC_LOCATION -static void -_xml_node_update_references(void *ptr) -{ - xmlNodePtr node = ptr; - - if (node->_private) { - node->_private = (void *)rb_gc_location((VALUE)node->_private); - } -} -#else -# define _xml_node_update_references 0 -#endif - -static const rb_data_type_t nokogiri_node_type = { - .wrap_struct_name = "Nokogiri::XML::Node", - .function = { - .dmark = _xml_node_mark, - .dcompact = _xml_node_update_references, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY, -}; - -static void -relink_namespace(xmlNodePtr reparented) -{ - xmlNodePtr child; - xmlAttrPtr attr; - - if (reparented->type != XML_ATTRIBUTE_NODE && - reparented->type != XML_ELEMENT_NODE) { return; } - - if (reparented->ns == NULL || reparented->ns->prefix == NULL) { - xmlNsPtr ns = NULL; - xmlChar *name = NULL, *prefix = NULL; - - name = xmlSplitQName2(reparented->name, &prefix); - - if (reparented->type == XML_ATTRIBUTE_NODE) { - if (prefix == NULL || strcmp((char *)prefix, XMLNS_PREFIX) == 0) { - xmlFree(name); - xmlFree(prefix); - return; - } - } - - ns = xmlSearchNs(reparented->doc, reparented, prefix); - - if (ns != NULL) { - xmlNodeSetName(reparented, name); - xmlSetNs(reparented, ns); - } - - xmlFree(name); - xmlFree(prefix); - } - - /* Avoid segv when relinking against unlinked nodes. */ - if (reparented->type != XML_ELEMENT_NODE || !reparented->parent) { return; } - - /* Make sure that our reparented node has the correct namespaces */ - if (!reparented->ns && - (reparented->doc != (xmlDocPtr)reparented->parent) && - (rb_iv_get(DOC_RUBY_OBJECT(reparented->doc), "@namespace_inheritance") == Qtrue)) { - xmlSetNs(reparented, reparented->parent->ns); - } - - /* Search our parents for an existing definition */ - if (reparented->nsDef) { - xmlNsPtr curr = reparented->nsDef; - xmlNsPtr prev = NULL; - - while (curr) { - xmlNsPtr ns = xmlSearchNsByHref( - reparented->doc, - reparented->parent, - curr->href - ); - /* If we find the namespace is already declared, remove it from this - * definition list. */ - if (ns && ns != curr && xmlStrEqual(ns->prefix, curr->prefix)) { - if (prev) { - prev->next = curr->next; - } else { - reparented->nsDef = curr->next; - } - noko_xml_document_pin_namespace(curr, reparented->doc); - } else { - prev = curr; - } - curr = curr->next; - } - } - - /* - * Search our parents for an existing definition of current namespace, - * because the definition it's pointing to may have just been removed nsDef. - * - * And although that would technically probably be OK, I'd feel better if we - * referred to a namespace that's still present in a node's nsDef somewhere - * in the doc. - */ - if (reparented->ns) { - xmlNsPtr ns = xmlSearchNs(reparented->doc, reparented, reparented->ns->prefix); - if (ns - && ns != reparented->ns - && xmlStrEqual(ns->prefix, reparented->ns->prefix) - && xmlStrEqual(ns->href, reparented->ns->href) - ) { - xmlSetNs(reparented, ns); - } - } - - /* Only walk all children if there actually is a namespace we need to */ - /* reparent. */ - if (NULL == reparented->ns) { return; } - - /* When a node gets reparented, walk it's children to make sure that */ - /* their namespaces are reparented as well. */ - child = reparented->children; - while (NULL != child) { - relink_namespace(child); - child = child->next; - } - - if (reparented->type == XML_ELEMENT_NODE) { - attr = reparented->properties; - while (NULL != attr) { - relink_namespace((xmlNodePtr)attr); - attr = attr->next; - } - } -} - - -/* internal function meant to wrap xmlReplaceNode - and fix some issues we have with libxml2 merging nodes */ -static xmlNodePtr -xmlReplaceNodeWrapper(xmlNodePtr pivot, xmlNodePtr new_node) -{ - xmlNodePtr retval ; - - retval = xmlReplaceNode(pivot, new_node) ; - - if (retval == pivot) { - retval = new_node ; /* return semantics for reparent_node_with */ - } - - /* work around libxml2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=615612 */ - if (retval && retval->type == XML_TEXT_NODE) { - if (retval->prev && retval->prev->type == XML_TEXT_NODE) { - retval = xmlTextMerge(retval->prev, retval); - } - if (retval->next && retval->next->type == XML_TEXT_NODE) { - retval = xmlTextMerge(retval, retval->next); - } - } - - return retval ; -} - - -static void -raise_if_ancestor_of_self(xmlNodePtr self) -{ - for (xmlNodePtr ancestor = self->parent ; ancestor ; ancestor = ancestor->parent) { - if (self == ancestor) { - rb_raise(rb_eRuntimeError, "cycle detected: node '%s' is an ancestor of itself", self->name); - } - } -} - - -static VALUE -reparent_node_with(VALUE pivot_obj, VALUE reparentee_obj, pivot_reparentee_func prf) -{ - VALUE reparented_obj ; - xmlNodePtr reparentee, original_reparentee, pivot, reparented, next_text, new_next_text, parent ; - int original_ns_prefix_is_default = 0 ; - - if (!rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlNode)) { - rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node"); - } - if (rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlDocument)) { - rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node"); - } - - Noko_Node_Get_Struct(reparentee_obj, xmlNode, reparentee); - Noko_Node_Get_Struct(pivot_obj, xmlNode, pivot); - - /* - * Check if nodes given are appropriate to have a parent-child - * relationship, based on the DOM specification. - * - * cf. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-1590626202 - */ - if (prf == xmlAddChild) { - parent = pivot; - } else { - parent = pivot->parent; - } - - if (parent) { - switch (parent->type) { - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - switch (reparentee->type) { - case XML_ELEMENT_NODE: - case XML_PI_NODE: - case XML_COMMENT_NODE: - case XML_DOCUMENT_TYPE_NODE: - /* - * The DOM specification says no to adding text-like nodes - * directly to a document, but we allow it for compatibility. - */ - case XML_TEXT_NODE: - case XML_CDATA_SECTION_NODE: - case XML_ENTITY_REF_NODE: - goto ok; - default: - break; - } - break; - case XML_DOCUMENT_FRAG_NODE: - case XML_ENTITY_REF_NODE: - case XML_ELEMENT_NODE: - switch (reparentee->type) { - case XML_ELEMENT_NODE: - case XML_PI_NODE: - case XML_COMMENT_NODE: - case XML_TEXT_NODE: - case XML_CDATA_SECTION_NODE: - case XML_ENTITY_REF_NODE: - goto ok; - default: - break; - } - break; - case XML_ATTRIBUTE_NODE: - switch (reparentee->type) { - case XML_TEXT_NODE: - case XML_ENTITY_REF_NODE: - goto ok; - default: - break; - } - break; - case XML_TEXT_NODE: - /* - * xmlAddChild() breaks the DOM specification in that it allows - * adding a text node to another, in which case text nodes are - * coalesced, but since our JRuby version does not support such - * operation, we should inhibit it. - */ - break; - default: - break; - } - - rb_raise(rb_eArgError, "cannot reparent %s there", rb_obj_classname(reparentee_obj)); - } - -ok: - original_reparentee = reparentee; - - if (reparentee->doc != pivot->doc || reparentee->type == XML_TEXT_NODE) { - /* - * if the reparentee is a text node, there's a very good chance it will be - * merged with an adjacent text node after being reparented, and in that case - * libxml will free the underlying C struct. - * - * since we clearly have a ruby object which references the underlying - * memory, we can't let the C struct get freed. let's pickle the original - * reparentee by rooting it; and then we'll reparent a duplicate of the - * node that we don't care about preserving. - * - * alternatively, if the reparentee is from a different document than the - * pivot node, libxml2 is going to get confused about which document's - * "dictionary" the node's strings belong to (this is an otherwise - * uninteresting libxml2 implementation detail). as a result, we cannot - * reparent the actual reparentee, so we reparent a duplicate. - */ - if (reparentee->type == XML_TEXT_NODE && reparentee->_private) { - /* - * additionally, since we know this C struct isn't going to be related to - * a Ruby object anymore, let's break the relationship on this end as - * well. - * - * this is not absolutely necessary unless libxml-ruby is also in effect, - * in which case its global callback `rxml_node_deregisterNode` will try - * to do things to our data. - * - * for more details on this particular (and particularly nasty) edge - * case, see: - * - * https://github.com/sparklemotion/nokogiri/issues/1426 - */ - reparentee->_private = NULL ; - } - - if (reparentee->ns != NULL && reparentee->ns->prefix == NULL) { - original_ns_prefix_is_default = 1; - } - - noko_xml_document_pin_node(reparentee); - - if (!(reparentee = xmlDocCopyNode(reparentee, pivot->doc, 1))) { - rb_raise(rb_eRuntimeError, "Could not reparent node (xmlDocCopyNode)"); - } - - if (original_ns_prefix_is_default && reparentee->ns != NULL && reparentee->ns->prefix != NULL) { - /* - * issue #391, where new node's prefix may become the string "default" - * see libxml2 tree.c xmlNewReconciliedNs which implements this behavior. - */ - xmlFree(DISCARD_CONST_QUAL_XMLCHAR(reparentee->ns->prefix)); - reparentee->ns->prefix = NULL; - } - } - - xmlUnlinkNode(original_reparentee); - - if (prf != xmlAddPrevSibling && prf != xmlAddNextSibling && prf != xmlAddChild - && reparentee->type == XML_TEXT_NODE && pivot->next && pivot->next->type == XML_TEXT_NODE) { - /* - * libxml merges text nodes in a right-to-left fashion, meaning that if - * there are two text nodes who would be adjacent, the right (or following, - * or next) node will be merged into the left (or preceding, or previous) - * node. - * - * and by "merged" I mean the string contents will be concatenated onto the - * left node's contents, and then the node will be freed. - * - * which means that if we have a ruby object wrapped around the right node, - * its memory would be freed out from under it. - * - * so, we detect this edge case and unlink-and-root the text node before it gets - * merged. then we dup the node and insert that duplicate back into the - * document where the real node was. - * - * yes, this is totally lame. - */ - next_text = pivot->next ; - new_next_text = xmlDocCopyNode(next_text, pivot->doc, 1) ; - - xmlUnlinkNode(next_text); - noko_xml_document_pin_node(next_text); - - xmlAddNextSibling(pivot, new_next_text); - } - - if (!(reparented = (*prf)(pivot, reparentee))) { - rb_raise(rb_eRuntimeError, "Could not reparent node"); - } - - /* - * make sure the ruby object is pointed at the just-reparented node, which - * might be a duplicate (see above) or might be the result of merging - * adjacent text nodes. - */ - DATA_PTR(reparentee_obj) = reparented ; - reparented_obj = noko_xml_node_wrap(Qnil, reparented); - - rb_funcall(reparented_obj, id_decorate_bang, 0); - - /* if we've created a cycle, raise an exception */ - raise_if_ancestor_of_self(reparented); - - relink_namespace(reparented); - - return reparented_obj ; -} - -// :startdoc: - -/* - * :call-seq: - * add_namespace_definition(prefix, href) → Nokogiri::XML::Namespace - * add_namespace(prefix, href) → Nokogiri::XML::Namespace - * - * :category: Manipulating Document Structure - * - * Adds a namespace definition to this node with +prefix+ using +href+ value, as if this node had - * included an attribute "xmlns:prefix=href". - * - * A default namespace definition for this node can be added by passing +nil+ for +prefix+. - * - * [Parameters] - * - +prefix+ (String, +nil+) An {XML Name}[https://www.w3.org/TR/xml-names/#ns-decl] - * - +href+ (String) The {URI reference}[https://www.w3.org/TR/xml-names/#sec-namespaces] - * - * [Returns] The new Nokogiri::XML::Namespace - * - * *Example:* adding a non-default namespace definition - * - * doc = Nokogiri::XML("<store><inventory></inventory></store>") - * inventory = doc.at_css("inventory") - * inventory.add_namespace_definition("automobile", "http://alices-autos.com/") - * inventory.add_namespace_definition("bicycle", "http://bobs-bikes.com/") - * inventory.add_child("<automobile:tire>Michelin model XGV, size 75R</automobile:tire>") - * doc.to_xml - * # => "<?xml version=\"1.0\"?>\n" + - * # "<store>\n" + - * # " <inventory xmlns:automobile=\"http://alices-autos.com/\" xmlns:bicycle=\"http://bobs-bikes.com/\">\n" + - * # " <automobile:tire>Michelin model XGV, size 75R</automobile:tire>\n" + - * # " </inventory>\n" + - * # "</store>\n" - * - * *Example:* adding a default namespace definition - * - * doc = Nokogiri::XML("<store><inventory><tire>Michelin model XGV, size 75R</tire></inventory></store>") - * doc.at_css("tire").add_namespace_definition(nil, "http://bobs-bikes.com/") - * doc.to_xml - * # => "<?xml version=\"1.0\"?>\n" + - * # "<store>\n" + - * # " <inventory>\n" + - * # " <tire xmlns=\"http://bobs-bikes.com/\">Michelin model XGV, size 75R</tire>\n" + - * # " </inventory>\n" + - * # "</store>\n" - * - */ -static VALUE -rb_xml_node_add_namespace_definition(VALUE rb_node, VALUE rb_prefix, VALUE rb_href) -{ - xmlNodePtr c_node, element; - xmlNsPtr c_namespace; - const xmlChar *c_prefix = (const xmlChar *)(NIL_P(rb_prefix) ? NULL : StringValueCStr(rb_prefix)); - - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - element = c_node ; - - c_namespace = xmlSearchNs(c_node->doc, c_node, c_prefix); - - if (!c_namespace) { - if (c_node->type != XML_ELEMENT_NODE) { - element = c_node->parent; - } - c_namespace = xmlNewNs(element, (const xmlChar *)StringValueCStr(rb_href), c_prefix); - } - - if (!c_namespace) { - return Qnil ; - } - - if (NIL_P(rb_prefix) || c_node != element) { - xmlSetNs(c_node, c_namespace); - } - - return noko_xml_namespace_wrap(c_namespace, c_node->doc); -} - - -/* - * :call-seq: attribute(name) → Nokogiri::XML::Attr - * - * :category: Working With Node Attributes - * - * [Returns] Attribute (Nokogiri::XML::Attr) belonging to this node with name +name+. - * - * ⚠ Note that attribute namespaces are ignored and only the simple (non-namespace-prefixed) name is - * used to find a matching attribute. In case of a simple name collision, only one of the matching - * attributes will be returned. In this case, you will need to use #attribute_with_ns. - * - * *Example:* - * - * doc = Nokogiri::XML("<root><child size='large' class='big wide tall'/></root>") - * child = doc.at_css("child") - * child.attribute("size") # => #<Nokogiri::XML::Attr:0x550 name="size" value="large"> - * child.attribute("class") # => #<Nokogiri::XML::Attr:0x564 name="class" value="big wide tall"> - * - * *Example* showing that namespaced attributes will not be returned: - * - * ⚠ Note that only one of the two matching attributes is returned. - * - * doc = Nokogiri::XML(<<~EOF) - * <root xmlns:width='http://example.com/widths' - * xmlns:height='http://example.com/heights'> - * <child width:size='broad' height:size='tall'/> - * </root> - * EOF - * doc.at_css("child").attribute("size") - * # => #(Attr:0x550 { - * # name = "size", - * # namespace = #(Namespace:0x564 { - * # prefix = "width", - * # href = "http://example.com/widths" - * # }), - * # value = "broad" - * # }) - */ -static VALUE -rb_xml_node_attribute(VALUE self, VALUE name) -{ - xmlNodePtr node; - xmlAttrPtr prop; - Noko_Node_Get_Struct(self, xmlNode, node); - prop = xmlHasProp(node, (xmlChar *)StringValueCStr(name)); - - if (! prop) { return Qnil; } - return noko_xml_node_wrap(Qnil, (xmlNodePtr)prop); -} - - -/* - * :call-seq: attribute_nodes() → Array<Nokogiri::XML::Attr> - * - * :category: Working With Node Attributes - * - * [Returns] Attributes (an Array of Nokogiri::XML::Attr) belonging to this node. - * - * Note that this is the preferred alternative to #attributes when the simple - * (non-namespace-prefixed) attribute names may collide. - * - * *Example:* - * - * Contrast this with the colliding-name example from #attributes. - * - * doc = Nokogiri::XML(<<~EOF) - * <root xmlns:width='http://example.com/widths' - * xmlns:height='http://example.com/heights'> - * <child width:size='broad' height:size='tall'/> - * </root> - * EOF - * doc.at_css("child").attribute_nodes - * # => [#(Attr:0x550 { - * # name = "size", - * # namespace = #(Namespace:0x564 { - * # prefix = "width", - * # href = "http://example.com/widths" - * # }), - * # value = "broad" - * # }), - * # #(Attr:0x578 { - * # name = "size", - * # namespace = #(Namespace:0x58c { - * # prefix = "height", - * # href = "http://example.com/heights" - * # }), - * # value = "tall" - * # })] - */ -static VALUE -rb_xml_node_attribute_nodes(VALUE rb_node) -{ - xmlNodePtr c_node; - - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - return noko_xml_node_attrs(c_node); -} - - -/* - * :call-seq: attribute_with_ns(name, namespace) → Nokogiri::XML::Attr - * - * :category: Working With Node Attributes - * - * [Returns] - * Attribute (Nokogiri::XML::Attr) belonging to this node with matching +name+ and +namespace+. - * - * [Parameters] - * - +name+ (String): the simple (non-namespace-prefixed) name of the attribute - * - +namespace+ (String): the URI of the attribute's namespace - * - * See related: #attribute - * - * *Example:* - * - * doc = Nokogiri::XML(<<~EOF) - * <root xmlns:width='http://example.com/widths' - * xmlns:height='http://example.com/heights'> - * <child width:size='broad' height:size='tall'/> - * </root> - * EOF - * doc.at_css("child").attribute_with_ns("size", "http://example.com/widths") - * # => #(Attr:0x550 { - * # name = "size", - * # namespace = #(Namespace:0x564 { - * # prefix = "width", - * # href = "http://example.com/widths" - * # }), - * # value = "broad" - * # }) - * doc.at_css("child").attribute_with_ns("size", "http://example.com/heights") - * # => #(Attr:0x578 { - * # name = "size", - * # namespace = #(Namespace:0x58c { - * # prefix = "height", - * # href = "http://example.com/heights" - * # }), - * # value = "tall" - * # }) - */ -static VALUE -rb_xml_node_attribute_with_ns(VALUE self, VALUE name, VALUE namespace) -{ - xmlNodePtr node; - xmlAttrPtr prop; - Noko_Node_Get_Struct(self, xmlNode, node); - prop = xmlHasNsProp(node, (xmlChar *)StringValueCStr(name), - NIL_P(namespace) ? NULL : (xmlChar *)StringValueCStr(namespace)); - - if (! prop) { return Qnil; } - return noko_xml_node_wrap(Qnil, (xmlNodePtr)prop); -} - - - -/* - * call-seq: blank? → Boolean - * - * [Returns] +true+ if the node is an empty or whitespace-only text or cdata node, else +false+. - * - * *Example:* - * - * Nokogiri("<root><child/></root>").root.child.blank? # => false - * Nokogiri("<root>\t \n</root>").root.child.blank? # => true - * Nokogiri("<root><![CDATA[\t \n]]></root>").root.child.blank? # => true - * Nokogiri("<root>not-blank</root>").root.child - * .tap { |n| n.content = "" }.blank # => true - */ -static VALUE -rb_xml_node_blank_eh(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - return (1 == xmlIsBlankNode(node)) ? Qtrue : Qfalse ; -} - - -/* - * :call-seq: child() → Nokogiri::XML::Node - * - * :category: Traversing Document Structure - * - * [Returns] First of this node's children, or +nil+ if there are no children - * - * This is a convenience method and is equivalent to: - * - * node.children.first - * - * See related: #children - */ -static VALUE -rb_xml_node_child(VALUE self) -{ - xmlNodePtr node, child; - Noko_Node_Get_Struct(self, xmlNode, node); - - child = node->children; - if (!child) { return Qnil; } - - return noko_xml_node_wrap(Qnil, child); -} - - -/* - * :call-seq: children() → Nokogiri::XML::NodeSet - * - * :category: Traversing Document Structure - * - * [Returns] Nokogiri::XML::NodeSet containing this node's children. - */ -static VALUE -rb_xml_node_children(VALUE self) -{ - xmlNodePtr node; - xmlNodePtr child; - xmlNodeSetPtr set; - VALUE document; - VALUE node_set; - - Noko_Node_Get_Struct(self, xmlNode, node); - - child = node->children; - set = xmlXPathNodeSetCreate(child); - - document = DOC_RUBY_OBJECT(node->doc); - - if (!child) { return noko_xml_node_set_wrap(set, document); } - - child = child->next; - while (NULL != child) { - xmlXPathNodeSetAddUnique(set, child); - child = child->next; - } - - node_set = noko_xml_node_set_wrap(set, document); - - return node_set; -} - - -/* - * :call-seq: - * content() → String - * inner_text() → String - * text() → String - * to_str() → String - * - * [Returns] - * Contents of all the text nodes in this node's subtree, concatenated together into a single - * String. - * - * ⚠ Note that entities will _always_ be expanded in the returned String. - * - * See related: #inner_html - * - * *Example* of how entities are handled: - * - * Note that <tt>&lt;</tt> becomes <tt><</tt> in the returned String. - * - * doc = Nokogiri::XML.fragment("<child>a &lt; b</child>") - * doc.at_css("child").content - * # => "a < b" - * - * *Example* of how a subtree is handled: - * - * Note that the <tt><span></tt> tags are omitted and only the text node contents are returned, - * concatenated into a single string. - * - * doc = Nokogiri::XML.fragment("<child><span>first</span> <span>second</span></child>") - * doc.at_css("child").content - * # => "first second" - */ -static VALUE -rb_xml_node_content(VALUE self) -{ - xmlNodePtr node; - xmlChar *content; - - Noko_Node_Get_Struct(self, xmlNode, node); - - content = xmlNodeGetContent(node); - if (content) { - VALUE rval = NOKOGIRI_STR_NEW2(content); - xmlFree(content); - return rval; - } - return Qnil; -} - - -/* - * :call-seq: document() → Nokogiri::XML::Document - * - * :category: Traversing Document Structure - * - * [Returns] Parent Nokogiri::XML::Document for this node - */ -static VALUE -rb_xml_node_document(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - return DOC_RUBY_OBJECT(node->doc); -} - -/* - * :call-seq: pointer_id() → Integer - * - * [Returns] - * A unique id for this node based on the internal memory structures. This method is used by #== - * to determine node identity. - */ -static VALUE -rb_xml_node_pointer_id(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - - return rb_uint2inum((uintptr_t)(node)); -} - -/* - * :call-seq: encode_special_chars(string) → String - * - * Encode any special characters in +string+ - */ -static VALUE -encode_special_chars(VALUE self, VALUE string) -{ - xmlNodePtr node; - xmlChar *encoded; - VALUE encoded_str; - - Noko_Node_Get_Struct(self, xmlNode, node); - encoded = xmlEncodeSpecialChars( - node->doc, - (const xmlChar *)StringValueCStr(string) - ); - - encoded_str = NOKOGIRI_STR_NEW2(encoded); - xmlFree(encoded); - - return encoded_str; -} - -/* - * :call-seq: - * create_internal_subset(name, external_id, system_id) - * - * Create the internal subset of a document. - * - * doc.create_internal_subset("chapter", "-//OASIS//DTD DocBook XML//EN", "chapter.dtd") - * # => <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML//EN" "chapter.dtd"> - * - * doc.create_internal_subset("chapter", nil, "chapter.dtd") - * # => <!DOCTYPE chapter SYSTEM "chapter.dtd"> - */ -static VALUE -create_internal_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id) -{ - xmlNodePtr node; - xmlDocPtr doc; - xmlDtdPtr dtd; - - Noko_Node_Get_Struct(self, xmlNode, node); - - doc = node->doc; - - if (xmlGetIntSubset(doc)) { - rb_raise(rb_eRuntimeError, "Document already has an internal subset"); - } - - dtd = xmlCreateIntSubset( - doc, - NIL_P(name) ? NULL : (const xmlChar *)StringValueCStr(name), - NIL_P(external_id) ? NULL : (const xmlChar *)StringValueCStr(external_id), - NIL_P(system_id) ? NULL : (const xmlChar *)StringValueCStr(system_id) - ); - - if (!dtd) { return Qnil; } - - return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); -} - -/* - * :call-seq: - * create_external_subset(name, external_id, system_id) - * - * Create an external subset - */ -static VALUE -create_external_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id) -{ - xmlNodePtr node; - xmlDocPtr doc; - xmlDtdPtr dtd; - - Noko_Node_Get_Struct(self, xmlNode, node); - - doc = node->doc; - - if (doc->extSubset) { - rb_raise(rb_eRuntimeError, "Document already has an external subset"); - } - - dtd = xmlNewDtd( - doc, - NIL_P(name) ? NULL : (const xmlChar *)StringValueCStr(name), - NIL_P(external_id) ? NULL : (const xmlChar *)StringValueCStr(external_id), - NIL_P(system_id) ? NULL : (const xmlChar *)StringValueCStr(system_id) - ); - - if (!dtd) { return Qnil; } - - return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); -} - -/* - * :call-seq: - * external_subset() - * - * Get the external subset - */ -static VALUE -external_subset(VALUE self) -{ - xmlNodePtr node; - xmlDocPtr doc; - xmlDtdPtr dtd; - - Noko_Node_Get_Struct(self, xmlNode, node); - - if (!node->doc) { return Qnil; } - - doc = node->doc; - dtd = doc->extSubset; - - if (!dtd) { return Qnil; } - - return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); -} - -/* - * :call-seq: - * internal_subset() - * - * Get the internal subset - */ -static VALUE -internal_subset(VALUE self) -{ - xmlNodePtr node; - xmlDocPtr doc; - xmlDtdPtr dtd; - - Noko_Node_Get_Struct(self, xmlNode, node); - - if (!node->doc) { return Qnil; } - - doc = node->doc; - dtd = xmlGetIntSubset(doc); - - if (!dtd) { return Qnil; } - - return noko_xml_node_wrap(Qnil, (xmlNodePtr)dtd); -} - -/* - * :call-seq: - * dup → Nokogiri::XML::Node - * dup(depth) → Nokogiri::XML::Node - * dup(depth, new_parent_doc) → Nokogiri::XML::Node - * - * Copy this node. - * - * [Parameters] - * - +depth+ 0 is a shallow copy, 1 (the default) is a deep copy. - * - +new_parent_doc+ - * The new node's parent Document. Defaults to the this node's document. - * - * [Returns] The new Nokgiri::XML::Node - */ -static VALUE -duplicate_node(int argc, VALUE *argv, VALUE self) -{ - VALUE r_level, r_new_parent_doc; - int level; - int n_args; - xmlDocPtr new_parent_doc; - xmlNodePtr node, dup; - - Noko_Node_Get_Struct(self, xmlNode, node); - - n_args = rb_scan_args(argc, argv, "02", &r_level, &r_new_parent_doc); - - if (n_args < 1) { - r_level = INT2NUM((long)1); - } - level = (int)NUM2INT(r_level); - - if (n_args < 2) { - new_parent_doc = node->doc; - } else { - new_parent_doc = noko_xml_document_unwrap(r_new_parent_doc); - } - - dup = xmlDocCopyNode(node, new_parent_doc, level); - if (dup == NULL) { return Qnil; } - - noko_xml_document_pin_node(dup); - - return noko_xml_node_wrap(rb_obj_class(self), dup); -} - -/* - * :call-seq: - * unlink() → self - * - * Unlink this node from its current context. - */ -static VALUE -unlink_node(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - xmlUnlinkNode(node); - noko_xml_document_pin_node(node); - return self; -} - - -/* - * call-seq: - * next_sibling - * - * Returns the next sibling node - */ -static VALUE -next_sibling(VALUE self) -{ - xmlNodePtr node, sibling; - Noko_Node_Get_Struct(self, xmlNode, node); - - sibling = node->next; - if (!sibling) { return Qnil; } - - return noko_xml_node_wrap(Qnil, sibling) ; -} - -/* - * call-seq: - * previous_sibling - * - * Returns the previous sibling node - */ -static VALUE -previous_sibling(VALUE self) -{ - xmlNodePtr node, sibling; - Noko_Node_Get_Struct(self, xmlNode, node); - - sibling = node->prev; - if (!sibling) { return Qnil; } - - return noko_xml_node_wrap(Qnil, sibling); -} - -/* - * call-seq: - * next_element - * - * Returns the next Nokogiri::XML::Element type sibling node. - */ -static VALUE -next_element(VALUE self) -{ - xmlNodePtr node, sibling; - Noko_Node_Get_Struct(self, xmlNode, node); - - sibling = xmlNextElementSibling(node); - if (!sibling) { return Qnil; } - - return noko_xml_node_wrap(Qnil, sibling); -} - -/* - * call-seq: - * previous_element - * - * Returns the previous Nokogiri::XML::Element type sibling node. - */ -static VALUE -previous_element(VALUE self) -{ - xmlNodePtr node, sibling; - Noko_Node_Get_Struct(self, xmlNode, node); - - /* - * note that we don't use xmlPreviousElementSibling here because it's buggy pre-2.7.7. - */ - sibling = node->prev; - if (!sibling) { return Qnil; } - - while (sibling && sibling->type != XML_ELEMENT_NODE) { - sibling = sibling->prev; - } - - return sibling ? noko_xml_node_wrap(Qnil, sibling) : Qnil ; -} - -/* :nodoc: */ -static VALUE -replace(VALUE self, VALUE new_node) -{ - VALUE reparent = reparent_node_with(self, new_node, xmlReplaceNodeWrapper); - - xmlNodePtr pivot; - Noko_Node_Get_Struct(self, xmlNode, pivot); - noko_xml_document_pin_node(pivot); - - return reparent; -} - -/* - * :call-seq: - * element_children() → NodeSet - * elements() → NodeSet - * - * [Returns] - * The node's child elements as a NodeSet. Only children that are elements will be returned, which - * notably excludes Text nodes. - * - * *Example:* - * - * Note that #children returns the Text node "hello" while #element_children does not. - * - * div = Nokogiri::HTML5("<div>hello<span>world</span>").at_css("div") - * div.element_children - * # => [#<Nokogiri::XML::Element:0x50 name="span" children=[#<Nokogiri::XML::Text:0x3c "world">]>] - * div.children - * # => [#<Nokogiri::XML::Text:0x64 "hello">, - * # #<Nokogiri::XML::Element:0x50 name="span" children=[#<Nokogiri::XML::Text:0x3c "world">]>] - */ -static VALUE -rb_xml_node_element_children(VALUE self) -{ - xmlNodePtr node; - xmlNodePtr child; - xmlNodeSetPtr set; - VALUE document; - VALUE node_set; - - Noko_Node_Get_Struct(self, xmlNode, node); - - child = xmlFirstElementChild(node); - set = xmlXPathNodeSetCreate(child); - - document = DOC_RUBY_OBJECT(node->doc); - - if (!child) { return noko_xml_node_set_wrap(set, document); } - - child = xmlNextElementSibling(child); - while (NULL != child) { - xmlXPathNodeSetAddUnique(set, child); - child = xmlNextElementSibling(child); - } - - node_set = noko_xml_node_set_wrap(set, document); - - return node_set; -} - -/* - * :call-seq: - * first_element_child() → Node - * - * [Returns] The first child Node that is an element. - * - * *Example:* - * - * Note that the "hello" child, which is a Text node, is skipped and the <tt><span></tt> element is - * returned. - * - * div = Nokogiri::HTML5("<div>hello<span>world</span>").at_css("div") - * div.first_element_child - * # => #(Element:0x3c { name = "span", children = [ #(Text "world")] }) - */ -static VALUE -rb_xml_node_first_element_child(VALUE self) -{ - xmlNodePtr node, child; - Noko_Node_Get_Struct(self, xmlNode, node); - - child = xmlFirstElementChild(node); - if (!child) { return Qnil; } - - return noko_xml_node_wrap(Qnil, child); -} - -/* - * :call-seq: - * last_element_child() → Node - * - * [Returns] The last child Node that is an element. - * - * *Example:* - * - * Note that the "hello" child, which is a Text node, is skipped and the <tt><span>yes</span></tt> - * element is returned. - * - * div = Nokogiri::HTML5("<div><span>no</span><span>yes</span>skip</div>").at_css("div") - * div.last_element_child - * # => #(Element:0x3c { name = "span", children = [ #(Text "yes")] }) - */ -static VALUE -rb_xml_node_last_element_child(VALUE self) -{ - xmlNodePtr node, child; - Noko_Node_Get_Struct(self, xmlNode, node); - - child = xmlLastElementChild(node); - if (!child) { return Qnil; } - - return noko_xml_node_wrap(Qnil, child); -} - -/* - * call-seq: - * key?(attribute) - * - * Returns true if +attribute+ is set - */ -static VALUE -key_eh(VALUE self, VALUE attribute) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - if (xmlHasProp(node, (xmlChar *)StringValueCStr(attribute))) { - return Qtrue; - } - return Qfalse; -} - -/* - * call-seq: - * namespaced_key?(attribute, namespace) - * - * Returns true if +attribute+ is set with +namespace+ - */ -static VALUE -namespaced_key_eh(VALUE self, VALUE attribute, VALUE namespace) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - if (xmlHasNsProp(node, (xmlChar *)StringValueCStr(attribute), - NIL_P(namespace) ? NULL : (xmlChar *)StringValueCStr(namespace))) { - return Qtrue; - } - return Qfalse; -} - -/* - * call-seq: - * []=(property, value) - * - * Set the +property+ to +value+ - */ -static VALUE -set(VALUE self, VALUE property, VALUE value) -{ - xmlNodePtr node, cur; - xmlAttrPtr prop; - Noko_Node_Get_Struct(self, xmlNode, node); - - /* If a matching attribute node already exists, then xmlSetProp will destroy - * the existing node's children. However, if Nokogiri has a node object - * pointing to one of those children, we are left with a broken reference. - * - * We can avoid this by unlinking these nodes first. - */ - if (node->type != XML_ELEMENT_NODE) { - return (Qnil); - } - prop = xmlHasProp(node, (xmlChar *)StringValueCStr(property)); - if (prop && prop->children) { - for (cur = prop->children; cur; cur = cur->next) { - if (cur->_private) { - noko_xml_document_pin_node(cur); - xmlUnlinkNode(cur); - } - } - } - - xmlSetProp(node, (xmlChar *)StringValueCStr(property), - (xmlChar *)StringValueCStr(value)); - - return value; -} - -/* - * call-seq: - * get(attribute) - * - * Get the value for +attribute+ - */ -static VALUE -get(VALUE self, VALUE rattribute) -{ - xmlNodePtr node; - xmlChar *value = 0; - VALUE rvalue; - xmlChar *colon; - xmlChar *attribute, *attr_name, *prefix; - xmlNsPtr ns; - - if (NIL_P(rattribute)) { return Qnil; } - - Noko_Node_Get_Struct(self, xmlNode, node); - attribute = xmlCharStrdup(StringValueCStr(rattribute)); - - colon = DISCARD_CONST_QUAL_XMLCHAR(xmlStrchr(attribute, (const xmlChar)':')); - if (colon) { - /* split the attribute string into separate prefix and name by - * null-terminating the prefix at the colon */ - prefix = attribute; - attr_name = colon + 1; - (*colon) = 0; - - ns = xmlSearchNs(node->doc, node, prefix); - if (ns) { - value = xmlGetNsProp(node, attr_name, ns->href); - } else { - value = xmlGetProp(node, (xmlChar *)StringValueCStr(rattribute)); - } - } else { - value = xmlGetNoNsProp(node, attribute); - } - - xmlFree((void *)attribute); - if (!value) { return Qnil; } - - rvalue = NOKOGIRI_STR_NEW2(value); - xmlFree((void *)value); - - return rvalue ; -} - -/* - * call-seq: - * set_namespace(namespace) - * - * Set the namespace to +namespace+ - */ -static VALUE -set_namespace(VALUE self, VALUE namespace) -{ - xmlNodePtr node; - xmlNsPtr ns = NULL; - - Noko_Node_Get_Struct(self, xmlNode, node); - - if (!NIL_P(namespace)) { - Noko_Namespace_Get_Struct(namespace, xmlNs, ns); - } - - xmlSetNs(node, ns); - - return self; -} - -/* - * :call-seq: - * namespace() → Namespace - * - * [Returns] The Namespace of the element or attribute node, or +nil+ if there is no namespace. - * - * *Example:* - * - * doc = Nokogiri::XML(<<~EOF) - * <root> - * <first/> - * <second xmlns="http://example.com/child"/> - * <foo:third xmlns:foo="http://example.com/foo"/> - * </root> - * EOF - * doc.at_xpath("//first").namespace - * # => nil - * doc.at_xpath("//xmlns:second", "xmlns" => "http://example.com/child").namespace - * # => #(Namespace:0x3c { href = "http://example.com/child" }) - * doc.at_xpath("//foo:third", "foo" => "http://example.com/foo").namespace - * # => #(Namespace:0x50 { prefix = "foo", href = "http://example.com/foo" }) - */ -static VALUE -rb_xml_node_namespace(VALUE rb_node) -{ - xmlNodePtr c_node ; - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - if (c_node->ns) { - return noko_xml_namespace_wrap(c_node->ns, c_node->doc); - } - - return Qnil ; -} - -/* - * :call-seq: - * namespace_definitions() → Array<Nokogiri::XML::Namespace> - * - * [Returns] - * Namespaces that are defined directly on this node, as an Array of Namespace objects. The array - * will be empty if no namespaces are defined on this node. - * - * *Example:* - * - * doc = Nokogiri::XML(<<~EOF) - * <root xmlns="http://example.com/root"> - * <first/> - * <second xmlns="http://example.com/child" xmlns:unused="http://example.com/unused"/> - * <foo:third xmlns:foo="http://example.com/foo"/> - * </root> - * EOF - * doc.at_xpath("//root:first", "root" => "http://example.com/root").namespace_definitions - * # => [] - * doc.at_xpath("//xmlns:second", "xmlns" => "http://example.com/child").namespace_definitions - * # => [#(Namespace:0x3c { href = "http://example.com/child" }), - * # #(Namespace:0x50 { - * # prefix = "unused", - * # href = "http://example.com/unused" - * # })] - * doc.at_xpath("//foo:third", "foo" => "http://example.com/foo").namespace_definitions - * # => [#(Namespace:0x64 { prefix = "foo", href = "http://example.com/foo" })] - */ -static VALUE -namespace_definitions(VALUE rb_node) -{ - /* this code in the mode of xmlHasProp() */ - xmlNodePtr c_node ; - xmlNsPtr c_namespace; - VALUE definitions = rb_ary_new(); - - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - c_namespace = c_node->nsDef; - if (!c_namespace) { - return definitions; - } - - while (c_namespace != NULL) { - rb_ary_push(definitions, noko_xml_namespace_wrap(c_namespace, c_node->doc)); - c_namespace = c_namespace->next; - } - - return definitions; -} - -/* - * :call-seq: - * namespace_scopes() → Array<Nokogiri::XML::Namespace> - * - * [Returns] Array of all the Namespaces on this node and its ancestors. - * - * See also #namespaces - * - * *Example:* - * - * doc = Nokogiri::XML(<<~EOF) - * <root xmlns="http://example.com/root" xmlns:bar="http://example.com/bar"> - * <first/> - * <second xmlns="http://example.com/child"/> - * <third xmlns:foo="http://example.com/foo"/> - * </root> - * EOF - * doc.at_xpath("//root:first", "root" => "http://example.com/root").namespace_scopes - * # => [#(Namespace:0x3c { href = "http://example.com/root" }), - * # #(Namespace:0x50 { prefix = "bar", href = "http://example.com/bar" })] - * doc.at_xpath("//child:second", "child" => "http://example.com/child").namespace_scopes - * # => [#(Namespace:0x64 { href = "http://example.com/child" }), - * # #(Namespace:0x50 { prefix = "bar", href = "http://example.com/bar" })] - * doc.at_xpath("//root:third", "root" => "http://example.com/root").namespace_scopes - * # => [#(Namespace:0x78 { prefix = "foo", href = "http://example.com/foo" }), - * # #(Namespace:0x3c { href = "http://example.com/root" }), - * # #(Namespace:0x50 { prefix = "bar", href = "http://example.com/bar" })] - */ -static VALUE -rb_xml_node_namespace_scopes(VALUE rb_node) -{ - xmlNodePtr c_node ; - xmlNsPtr *namespaces; - VALUE scopes = rb_ary_new(); - int j; - - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - namespaces = xmlGetNsList(c_node->doc, c_node); - if (!namespaces) { - return scopes; - } - - for (j = 0 ; namespaces[j] != NULL ; ++j) { - rb_ary_push(scopes, noko_xml_namespace_wrap(namespaces[j], c_node->doc)); - } - - xmlFree(namespaces); - return scopes; -} - -/* - * call-seq: - * node_type - * - * Get the type for this Node - */ -static VALUE -node_type(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - return INT2NUM(node->type); -} - -/* - * call-seq: - * content= - * - * Set the content for this Node - */ -static VALUE -set_native_content(VALUE self, VALUE content) -{ - xmlNodePtr node, child, next ; - Noko_Node_Get_Struct(self, xmlNode, node); - - child = node->children; - while (NULL != child) { - next = child->next ; - xmlUnlinkNode(child) ; - noko_xml_document_pin_node(child); - child = next ; - } - - xmlNodeSetContent(node, (xmlChar *)StringValueCStr(content)); - return content; -} - -/* - * call-seq: - * lang= - * - * Set the language of a node, i.e. the values of the xml:lang attribute. - */ -static VALUE -set_lang(VALUE self_rb, VALUE lang_rb) -{ - xmlNodePtr self ; - xmlChar *lang ; - - Noko_Node_Get_Struct(self_rb, xmlNode, self); - lang = (xmlChar *)StringValueCStr(lang_rb); - - xmlNodeSetLang(self, lang); - - return Qnil ; -} - -/* - * call-seq: - * lang - * - * Searches the language of a node, i.e. the values of the xml:lang attribute or - * the one carried by the nearest ancestor. - */ -static VALUE -get_lang(VALUE self_rb) -{ - xmlNodePtr self ; - xmlChar *lang ; - VALUE lang_rb ; - - Noko_Node_Get_Struct(self_rb, xmlNode, self); - - lang = xmlNodeGetLang(self); - if (lang) { - lang_rb = NOKOGIRI_STR_NEW2(lang); - xmlFree(lang); - return lang_rb ; - } - - return Qnil ; -} - -/* :nodoc: */ -static VALUE -add_child(VALUE self, VALUE new_child) -{ - return reparent_node_with(self, new_child, xmlAddChild); -} - -/* - * call-seq: - * parent - * - * Get the parent Node for this Node - */ -static VALUE -get_parent(VALUE self) -{ - xmlNodePtr node, parent; - Noko_Node_Get_Struct(self, xmlNode, node); - - parent = node->parent; - if (!parent) { return Qnil; } - - return noko_xml_node_wrap(Qnil, parent) ; -} - -/* - * call-seq: - * name=(new_name) - * - * Set the name for this Node - */ -static VALUE -set_name(VALUE self, VALUE new_name) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - xmlNodeSetName(node, (xmlChar *)StringValueCStr(new_name)); - return new_name; -} - -/* - * call-seq: - * name - * - * Returns the name for this Node - */ -static VALUE -get_name(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - if (node->name) { - return NOKOGIRI_STR_NEW2(node->name); - } - return Qnil; -} - -/* - * call-seq: - * path - * - * Returns the path associated with this Node - */ -static VALUE -rb_xml_node_path(VALUE rb_node) -{ - xmlNodePtr c_node; - xmlChar *c_path ; - VALUE rval; - - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - c_path = xmlGetNodePath(c_node); - if (c_path == NULL) { - // see https://github.com/sparklemotion/nokogiri/issues/2250 - // this behavior is clearly undesirable, but is what libxml <= 2.9.10 returned, and so we - // do this for now to preserve the behavior across libxml2 versions. - rval = NOKOGIRI_STR_NEW2("?"); - } else { - rval = NOKOGIRI_STR_NEW2(c_path); - xmlFree(c_path); - } - - return rval ; -} - -/* :nodoc: */ -static VALUE -add_next_sibling(VALUE self, VALUE new_sibling) -{ - return reparent_node_with(self, new_sibling, xmlAddNextSibling) ; -} - -/* :nodoc: */ -static VALUE -add_previous_sibling(VALUE self, VALUE new_sibling) -{ - return reparent_node_with(self, new_sibling, xmlAddPrevSibling) ; -} - -/* - * call-seq: - * native_write_to(io, encoding, options) - * - * Write this Node to +io+ with +encoding+ and +options+ - */ -static VALUE -native_write_to( - VALUE self, - VALUE io, - VALUE encoding, - VALUE indent_string, - VALUE options -) -{ - xmlNodePtr node; - const char *before_indent; - xmlSaveCtxtPtr savectx; - - Noko_Node_Get_Struct(self, xmlNode, node); - - xmlIndentTreeOutput = 1; - - before_indent = xmlTreeIndentString; - - xmlTreeIndentString = StringValueCStr(indent_string); - - savectx = xmlSaveToIO( - (xmlOutputWriteCallback)noko_io_write, - (xmlOutputCloseCallback)noko_io_close, - (void *)io, - RTEST(encoding) ? StringValueCStr(encoding) : NULL, - (int)NUM2INT(options) - ); - - xmlSaveTree(savectx, node); - xmlSaveClose(savectx); - - xmlTreeIndentString = before_indent; - return io; -} - - -static inline void -output_partial_string(VALUE out, char const *str, size_t length) -{ - if (length) { - rb_enc_str_buf_cat(out, str, (long)length, rb_utf8_encoding()); - } -} - -static inline void -output_char(VALUE out, char ch) -{ - output_partial_string(out, &ch, 1); -} - -static inline void -output_string(VALUE out, char const *str) -{ - output_partial_string(out, str, strlen(str)); -} - -static inline void -output_tagname(VALUE out, xmlNodePtr elem) -{ - // Elements in the HTML, MathML, and SVG namespaces do not use a namespace - // prefix in the HTML syntax. - char const *name = (char const *)elem->name; - xmlNsPtr ns = elem->ns; - if (ns && ns->href && ns->prefix - && strcmp((char const *)ns->href, "http://www.w3.org/1999/xhtml") - && strcmp((char const *)ns->href, "http://www.w3.org/1998/Math/MathML") - && strcmp((char const *)ns->href, "http://www.w3.org/2000/svg")) { - output_string(out, (char const *)elem->ns->prefix); - output_char(out, ':'); - char const *colon = strchr(name, ':'); - if (colon) { - name = colon + 1; - } - } - output_string(out, name); -} - -static inline void -output_attr_name(VALUE out, xmlAttrPtr attr) -{ - xmlNsPtr ns = attr->ns; - char const *name = (char const *)attr->name; - if (ns && ns->href) { - char const *uri = (char const *)ns->href; - char const *localname = strchr(name, ':'); - if (localname) { - ++localname; - } else { - localname = name; - } - - if (!strcmp(uri, "http://www.w3.org/XML/1998/namespace")) { - output_string(out, "xml:"); - name = localname; - } else if (!strcmp(uri, "http://www.w3.org/2000/xmlns/")) { - // xmlns:xmlns -> xmlns - // xmlns:foo -> xmlns:foo - if (strcmp(localname, "xmlns")) { - output_string(out, "xmlns:"); - } - name = localname; - } else if (!strcmp(uri, "http://www.w3.org/1999/xlink")) { - output_string(out, "xlink:"); - name = localname; - } else if (ns->prefix) { - output_string(out, (char const *)ns->prefix); - output_char(out, ':'); - name = localname; - } - } - output_string(out, name); -} - -static void -output_escaped_string(VALUE out, xmlChar const *start, bool attr) -{ - xmlChar const *next = start; - int ch; - - while ((ch = *next) != 0) { - char const *replacement = NULL; - size_t replaced_bytes = 1; - if (ch == '&') { - replacement = "&amp;"; - } else if (ch == 0xC2 && next[1] == 0xA0) { - // U+00A0 NO-BREAK SPACE has the UTF-8 encoding C2 A0. - replacement = "&nbsp;"; - replaced_bytes = 2; - } else if (attr && ch == '"') { - replacement = "&quot;"; - } else if (!attr && ch == '<') { - replacement = "&lt;"; - } else if (!attr && ch == '>') { - replacement = "&gt;"; - } else { - ++next; - continue; - } - output_partial_string(out, (char const *)start, next - start); - output_string(out, replacement); - next += replaced_bytes; - start = next; - } - output_partial_string(out, (char const *)start, next - start); -} - -static bool -should_prepend_newline(xmlNodePtr node) -{ - char const *name = (char const *)node->name; - xmlNodePtr child = node->children; - - if (!name || !child || (strcmp(name, "pre") && strcmp(name, "textarea") && strcmp(name, "listing"))) { - return false; - } - - return child->type == XML_TEXT_NODE && child->content && child->content[0] == '\n'; -} - -static VALUE -rb_prepend_newline(VALUE self) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - return should_prepend_newline(node) ? Qtrue : Qfalse; -} - -static bool -is_one_of(xmlNodePtr node, char const *const *tagnames, size_t num_tagnames) -{ - char const *name = (char const *)node->name; - if (name == NULL) { // fragments don't have a name - return false; - } - for (size_t idx = 0; idx < num_tagnames; ++idx) { - if (!strcmp(name, tagnames[idx])) { - return true; - } - } - return false; - -} - -static void -output_node( - VALUE out, - xmlNodePtr node, - bool preserve_newline -) -{ - static char const *const VOID_ELEMENTS[] = { - "area", "base", "basefont", "bgsound", "br", "col", "embed", "frame", "hr", - "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr", - }; - - static char const *const UNESCAPED_TEXT_ELEMENTS[] = { - "style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript", - }; - - switch (node->type) { - case XML_ELEMENT_NODE: - // Serialize the start tag. - output_char(out, '<'); - output_tagname(out, node); - - // Add attributes. - for (xmlAttrPtr attr = node->properties; attr; attr = attr->next) { - output_char(out, ' '); - output_attr_name(out, attr); - if (attr->children) { - output_string(out, "=\""); - xmlChar *value = xmlNodeListGetString(attr->doc, attr->children, 1); - output_escaped_string(out, value, true); - xmlFree(value); - output_char(out, '"'); - } else { - // Output name="" - output_string(out, "=\"\""); - } - } - output_char(out, '>'); - - // Add children and end tag if element is not void. - if (!is_one_of(node, VOID_ELEMENTS, sizeof VOID_ELEMENTS / sizeof VOID_ELEMENTS[0])) { - if (preserve_newline && should_prepend_newline(node)) { - output_char(out, '\n'); - } - for (xmlNodePtr child = node->children; child; child = child->next) { - output_node(out, child, preserve_newline); - } - output_string(out, "</"); - output_tagname(out, node); - output_char(out, '>'); - } - break; - - case XML_TEXT_NODE: - if (node->parent - && is_one_of(node->parent, UNESCAPED_TEXT_ELEMENTS, - sizeof UNESCAPED_TEXT_ELEMENTS / sizeof UNESCAPED_TEXT_ELEMENTS[0])) { - output_string(out, (char const *)node->content); - } else { - output_escaped_string(out, node->content, false); - } - break; - - case XML_CDATA_SECTION_NODE: - output_string(out, "<![CDATA["); - output_string(out, (char const *)node->content); - output_string(out, "]]>"); - break; - - case XML_COMMENT_NODE: - output_string(out, "<!--"); - output_string(out, (char const *)node->content); - output_string(out, "-->"); - break; - - case XML_PI_NODE: - output_string(out, "<?"); - output_string(out, (char const *)node->content); - output_char(out, '>'); - break; - - case XML_DOCUMENT_TYPE_NODE: - case XML_DTD_NODE: - output_string(out, "<!DOCTYPE "); - output_string(out, (char const *)node->name); - output_string(out, ">"); - break; - - case XML_DOCUMENT_NODE: - case XML_DOCUMENT_FRAG_NODE: - case XML_HTML_DOCUMENT_NODE: - for (xmlNodePtr child = node->children; child; child = child->next) { - output_node(out, child, preserve_newline); - } - break; - - default: - rb_raise(rb_eRuntimeError, "Unsupported document node (%d); this is a bug in Nokogiri", node->type); - break; - } -} - -static VALUE -html_standard_serialize( - VALUE self, - VALUE preserve_newline -) -{ - xmlNodePtr node; - Noko_Node_Get_Struct(self, xmlNode, node); - VALUE output = rb_str_buf_new(4096); - output_node(output, node, RTEST(preserve_newline)); - return output; -} - -/* - * :call-seq: - * line() → Integer - * - * [Returns] The line number of this Node. - * - * --- - * - * <b> ⚠ The CRuby and JRuby implementations differ in important ways! </b> - * - * Semantic differences: - * - The CRuby method reflects the node's line number <i>in the parsed string</i> - * - The JRuby method reflects the node's line number <i>in the final DOM structure</i> after - * corrections have been applied - * - * Performance differences: - * - The CRuby method is {O(1)}[https://en.wikipedia.org/wiki/Time_complexity#Constant_time] - * (constant time) - * - The JRuby method is {O(n)}[https://en.wikipedia.org/wiki/Time_complexity#Linear_time] (linear - * time, where n is the number of nodes before/above the element in the DOM) - * - * If you'd like to help improve the JRuby implementation, please review these issues and reach out - * to the maintainers: - * - https://github.com/sparklemotion/nokogiri/issues/1223 - * - https://github.com/sparklemotion/nokogiri/pull/2177 - * - https://github.com/sparklemotion/nokogiri/issues/2380 - */ -static VALUE -rb_xml_node_line(VALUE rb_node) -{ - xmlNodePtr c_node; - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - return LONG2NUM(xmlGetLineNo(c_node)); -} - -/* - * call-seq: - * line=(num) - * - * Sets the line for this Node. num must be less than 65535. - */ -static VALUE -rb_xml_node_line_set(VALUE rb_node, VALUE rb_line_number) -{ - xmlNodePtr c_node; - int line_number = NUM2INT(rb_line_number); - - Noko_Node_Get_Struct(rb_node, xmlNode, c_node); - - // libxml2 optionally uses xmlNode.psvi to store longer line numbers, but only for text nodes. - // search for "psvi" in SAX2.c and tree.c to learn more. - if (line_number < 65535) { - c_node->line = (short) line_number; - } else { - c_node->line = 65535; - if (c_node->type == XML_TEXT_NODE) { - c_node->psvi = (void *)(ptrdiff_t) line_number; - } - } - - return rb_line_number; -} - -/* :nodoc: documented in lib/nokogiri/xml/node.rb */ -static VALUE -rb_xml_node_new(int argc, VALUE *argv, VALUE klass) -{ - xmlNodePtr c_document_node; - xmlNodePtr c_node; - VALUE rb_name; - VALUE rb_document_node; - VALUE rest; - VALUE rb_node; - - rb_scan_args(argc, argv, "2*", &rb_name, &rb_document_node, &rest); - - if (!rb_obj_is_kind_of(rb_document_node, cNokogiriXmlNode)) { - rb_raise(rb_eArgError, "document must be a Nokogiri::XML::Node"); - } - if (!rb_obj_is_kind_of(rb_document_node, cNokogiriXmlDocument)) { - // TODO: deprecate allowing Node - NOKO_WARN_DEPRECATION("Passing a Node as the second parameter to Node.new is deprecated. Please pass a Document instead, or prefer an alternative constructor like Node#add_child. This will become an error in a future release of Nokogiri."); - } - Noko_Node_Get_Struct(rb_document_node, xmlNode, c_document_node); - - c_node = xmlNewNode(NULL, (xmlChar *)StringValueCStr(rb_name)); - c_node->doc = c_document_node->doc; - noko_xml_document_pin_node(c_node); - - rb_node = noko_xml_node_wrap( - klass == cNokogiriXmlNode ? (VALUE)NULL : klass, - c_node - ); - rb_obj_call_init(rb_node, argc, argv); - - if (rb_block_given_p()) { rb_yield(rb_node); } - - return rb_node; -} - -/* - * call-seq: - * dump_html - * - * Returns the Node as html. - */ -static VALUE -dump_html(VALUE self) -{ - xmlBufferPtr buf ; - xmlNodePtr node ; - VALUE html; - - Noko_Node_Get_Struct(self, xmlNode, node); - - buf = xmlBufferCreate() ; - htmlNodeDump(buf, node->doc, node); - html = NOKOGIRI_STR_NEW2(buf->content); - xmlBufferFree(buf); - return html ; -} - -/* - * call-seq: - * compare(other) - * - * Compare this Node to +other+ with respect to their Document - */ -static VALUE -compare(VALUE self, VALUE _other) -{ - xmlNodePtr node, other; - Noko_Node_Get_Struct(self, xmlNode, node); - Noko_Node_Get_Struct(_other, xmlNode, other); - - return INT2NUM(xmlXPathCmpNodes(other, node)); -} - - -/* - * call-seq: - * process_xincludes(options) - * - * Loads and substitutes all xinclude elements below the node. The - * parser context will be initialized with +options+. - */ -static VALUE -process_xincludes(VALUE self, VALUE options) -{ - int rcode ; - xmlNodePtr node; - VALUE error_list = rb_ary_new(); - - Noko_Node_Get_Struct(self, xmlNode, node); - - xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher); - rcode = xmlXIncludeProcessTreeFlags(node, (int)NUM2INT(options)); - xmlSetStructuredErrorFunc(NULL, NULL); - - if (rcode < 0) { - xmlErrorPtr error; - - error = xmlGetLastError(); - if (error) { - rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error)); - } else { - rb_raise(rb_eRuntimeError, "Could not perform xinclude substitution"); - } - } - - return self; -} - - -/* TODO: DOCUMENT ME */ -static VALUE -in_context(VALUE self, VALUE _str, VALUE _options) -{ - xmlNodePtr node, list = 0, tmp, child_iter, node_children, doc_children; - xmlNodeSetPtr set; - xmlParserErrors error; - VALUE doc, err; - int doc_is_empty; - - Noko_Node_Get_Struct(self, xmlNode, node); - - doc = DOC_RUBY_OBJECT(node->doc); - err = rb_iv_get(doc, "@errors"); - doc_is_empty = (node->doc->children == NULL) ? 1 : 0; - node_children = node->children; - doc_children = node->doc->children; - - xmlSetStructuredErrorFunc((void *)err, Nokogiri_error_array_pusher); - - /* Twiddle global variable because of a bug in libxml2. - * http://git.gnome.org/browse/libxml2/commit/?id=e20fb5a72c83cbfc8e4a8aa3943c6be8febadab7 - */ -#ifndef HTML_PARSE_NOIMPLIED - htmlHandleOmittedElem(0); -#endif - - /* This function adds a fake node to the child of +node+. If the parser - * does not exit cleanly with XML_ERR_OK, the list is freed. This can - * leave the child pointers in a bad state if they were originally empty. - * - * http://git.gnome.org/browse/libxml2/tree/parser.c#n13177 - * */ - error = xmlParseInNodeContext(node, StringValuePtr(_str), - (int)RSTRING_LEN(_str), - (int)NUM2INT(_options), &list); - - /* xmlParseInNodeContext should not mutate the original document or node, - * so reassigning these pointers should be OK. The reason we're reassigning - * is because if there were errors, it's possible for the child pointers - * to be manipulated. */ - if (error != XML_ERR_OK) { - node->doc->children = doc_children; - node->children = node_children; - } - - /* make sure parent/child pointers are coherent so an unlink will work - * properly (#331) - */ - child_iter = node->doc->children ; - while (child_iter) { - child_iter->parent = (xmlNodePtr)node->doc; - child_iter = child_iter->next; - } - -#ifndef HTML_PARSE_NOIMPLIED - htmlHandleOmittedElem(1); -#endif - - xmlSetStructuredErrorFunc(NULL, NULL); - - /* - * Workaround for a libxml2 bug where a parsing error may leave a broken - * node reference in node->doc->children. - * - * https://bugzilla.gnome.org/show_bug.cgi?id=668155 - * - * This workaround is limited to when a parse error occurs, the document - * went from having no children to having children, and the context node is - * part of a document fragment. - * - * TODO: This was fixed in libxml 2.8.0 by 71a243d - */ - if (error != XML_ERR_OK && doc_is_empty && node->doc->children != NULL) { - child_iter = node; - while (child_iter->parent) { - child_iter = child_iter->parent; - } - - if (child_iter->type == XML_DOCUMENT_FRAG_NODE) { - node->doc->children = NULL; - } - } - - /* FIXME: This probably needs to handle more constants... */ - switch (error) { - case XML_ERR_INTERNAL_ERROR: - case XML_ERR_NO_MEMORY: - rb_raise(rb_eRuntimeError, "error parsing fragment (%d)", error); - break; - default: - break; - } - - set = xmlXPathNodeSetCreate(NULL); - - while (list) { - tmp = list->next; - list->next = NULL; - xmlXPathNodeSetAddUnique(set, list); - noko_xml_document_pin_node(list); - list = tmp; - } - - return noko_xml_node_set_wrap(set, doc); -} - -VALUE -noko_xml_node_wrap(VALUE rb_class, xmlNodePtr c_node) -{ - VALUE rb_document, rb_node_cache, rb_node; - nokogiriTuplePtr node_has_a_document; - xmlDocPtr c_doc; - - assert(c_node); - - if (c_node->type == XML_DOCUMENT_NODE || c_node->type == XML_HTML_DOCUMENT_NODE) { - return DOC_RUBY_OBJECT(c_node->doc); - } - - c_doc = c_node->doc; - - // Nodes yielded from XML::Reader don't have a fully-realized Document - node_has_a_document = DOC_RUBY_OBJECT_TEST(c_doc); - - if (c_node->_private && node_has_a_document) { - return (VALUE)c_node->_private; - } - - if (!RTEST(rb_class)) { - switch (c_node->type) { - case XML_ELEMENT_NODE: - rb_class = cNokogiriXmlElement; - break; - case XML_TEXT_NODE: - rb_class = cNokogiriXmlText; - break; - case XML_ATTRIBUTE_NODE: - rb_class = cNokogiriXmlAttr; - break; - case XML_ENTITY_REF_NODE: - rb_class = cNokogiriXmlEntityReference; - break; - case XML_COMMENT_NODE: - rb_class = cNokogiriXmlComment; - break; - case XML_DOCUMENT_FRAG_NODE: - rb_class = cNokogiriXmlDocumentFragment; - break; - case XML_PI_NODE: - rb_class = cNokogiriXmlProcessingInstruction; - break; - case XML_ENTITY_DECL: - rb_class = cNokogiriXmlEntityDecl; - break; - case XML_CDATA_SECTION_NODE: - rb_class = cNokogiriXmlCData; - break; - case XML_DTD_NODE: - rb_class = cNokogiriXmlDtd; - break; - case XML_ATTRIBUTE_DECL: - rb_class = cNokogiriXmlAttributeDecl; - break; - case XML_ELEMENT_DECL: - rb_class = cNokogiriXmlElementDecl; - break; - default: - rb_class = cNokogiriXmlNode; - } - } - - rb_node = TypedData_Wrap_Struct(rb_class, &nokogiri_node_type, c_node) ; - c_node->_private = (void *)rb_node; - - if (node_has_a_document) { - rb_document = DOC_RUBY_OBJECT(c_doc); - rb_node_cache = DOC_NODE_CACHE(c_doc); - rb_ary_push(rb_node_cache, rb_node); - rb_funcall(rb_document, id_decorate, 1, rb_node); - } - - return rb_node ; -} - - -/* - * return Array<Nokogiri::XML::Attr> containing the node's attributes - */ -VALUE -noko_xml_node_attrs(xmlNodePtr c_node) -{ - VALUE rb_properties = rb_ary_new(); - xmlAttrPtr c_property; - - c_property = c_node->properties ; - while (c_property != NULL) { - rb_ary_push(rb_properties, noko_xml_node_wrap(Qnil, (xmlNodePtr)c_property)); - c_property = c_property->next ; - } - - return rb_properties; -} - -void -noko_init_xml_node(void) -{ - cNokogiriXmlNode = rb_define_class_under(mNokogiriXml, "Node", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlNode); - - rb_define_singleton_method(cNokogiriXmlNode, "new", rb_xml_node_new, -1); - - rb_define_method(cNokogiriXmlNode, "add_namespace_definition", rb_xml_node_add_namespace_definition, 2); - rb_define_method(cNokogiriXmlNode, "attribute", rb_xml_node_attribute, 1); - rb_define_method(cNokogiriXmlNode, "attribute_nodes", rb_xml_node_attribute_nodes, 0); - rb_define_method(cNokogiriXmlNode, "attribute_with_ns", rb_xml_node_attribute_with_ns, 2); - rb_define_method(cNokogiriXmlNode, "blank?", rb_xml_node_blank_eh, 0); - rb_define_method(cNokogiriXmlNode, "child", rb_xml_node_child, 0); - rb_define_method(cNokogiriXmlNode, "children", rb_xml_node_children, 0); - rb_define_method(cNokogiriXmlNode, "content", rb_xml_node_content, 0); - rb_define_method(cNokogiriXmlNode, "create_external_subset", create_external_subset, 3); - rb_define_method(cNokogiriXmlNode, "create_internal_subset", create_internal_subset, 3); - rb_define_method(cNokogiriXmlNode, "document", rb_xml_node_document, 0); - rb_define_method(cNokogiriXmlNode, "dup", duplicate_node, -1); - rb_define_method(cNokogiriXmlNode, "element_children", rb_xml_node_element_children, 0); - rb_define_method(cNokogiriXmlNode, "encode_special_chars", encode_special_chars, 1); - rb_define_method(cNokogiriXmlNode, "external_subset", external_subset, 0); - rb_define_method(cNokogiriXmlNode, "first_element_child", rb_xml_node_first_element_child, 0); - rb_define_method(cNokogiriXmlNode, "internal_subset", internal_subset, 0); - rb_define_method(cNokogiriXmlNode, "key?", key_eh, 1); - rb_define_method(cNokogiriXmlNode, "lang", get_lang, 0); - rb_define_method(cNokogiriXmlNode, "lang=", set_lang, 1); - rb_define_method(cNokogiriXmlNode, "last_element_child", rb_xml_node_last_element_child, 0); - rb_define_method(cNokogiriXmlNode, "line", rb_xml_node_line, 0); - rb_define_method(cNokogiriXmlNode, "line=", rb_xml_node_line_set, 1); - rb_define_method(cNokogiriXmlNode, "namespace", rb_xml_node_namespace, 0); - rb_define_method(cNokogiriXmlNode, "namespace_definitions", namespace_definitions, 0); - rb_define_method(cNokogiriXmlNode, "namespace_scopes", rb_xml_node_namespace_scopes, 0); - rb_define_method(cNokogiriXmlNode, "namespaced_key?", namespaced_key_eh, 2); - rb_define_method(cNokogiriXmlNode, "native_content=", set_native_content, 1); - rb_define_method(cNokogiriXmlNode, "next_element", next_element, 0); - rb_define_method(cNokogiriXmlNode, "next_sibling", next_sibling, 0); - rb_define_method(cNokogiriXmlNode, "node_name", get_name, 0); - rb_define_method(cNokogiriXmlNode, "node_name=", set_name, 1); - rb_define_method(cNokogiriXmlNode, "node_type", node_type, 0); - rb_define_method(cNokogiriXmlNode, "parent", get_parent, 0); - rb_define_method(cNokogiriXmlNode, "path", rb_xml_node_path, 0); - rb_define_method(cNokogiriXmlNode, "pointer_id", rb_xml_node_pointer_id, 0); - rb_define_method(cNokogiriXmlNode, "previous_element", previous_element, 0); - rb_define_method(cNokogiriXmlNode, "previous_sibling", previous_sibling, 0); - rb_define_method(cNokogiriXmlNode, "unlink", unlink_node, 0); - - rb_define_private_method(cNokogiriXmlNode, "add_child_node", add_child, 1); - rb_define_private_method(cNokogiriXmlNode, "add_next_sibling_node", add_next_sibling, 1); - rb_define_private_method(cNokogiriXmlNode, "add_previous_sibling_node", add_previous_sibling, 1); - rb_define_private_method(cNokogiriXmlNode, "compare", compare, 1); - rb_define_private_method(cNokogiriXmlNode, "dump_html", dump_html, 0); - rb_define_private_method(cNokogiriXmlNode, "get", get, 1); - rb_define_private_method(cNokogiriXmlNode, "in_context", in_context, 2); - rb_define_private_method(cNokogiriXmlNode, "native_write_to", native_write_to, 4); - rb_define_private_method(cNokogiriXmlNode, "prepend_newline?", rb_prepend_newline, 0); - rb_define_private_method(cNokogiriXmlNode, "html_standard_serialize", html_standard_serialize, 1); - rb_define_private_method(cNokogiriXmlNode, "process_xincludes", process_xincludes, 1); - rb_define_private_method(cNokogiriXmlNode, "replace_node", replace, 1); - rb_define_private_method(cNokogiriXmlNode, "set", set, 2); - rb_define_private_method(cNokogiriXmlNode, "set_namespace", set_namespace, 1); - - id_decorate = rb_intern("decorate"); - id_decorate_bang = rb_intern("decorate!"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_node_set.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_node_set.c deleted file mode 100644 index 0f39aed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_node_set.c +++ /dev/null @@ -1,516 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlNodeSet ; - -static ID decorate ; - -static void -Check_Node_Set_Node_Type(VALUE node) -{ - if (!(rb_obj_is_kind_of(node, cNokogiriXmlNode) || - rb_obj_is_kind_of(node, cNokogiriXmlNamespace))) { - rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node or Nokogiri::XML::Namespace"); - } -} - - -static -VALUE -ruby_object_get(xmlNodePtr c_node) -{ - /* see xmlElementType in libxml2 tree.h */ - switch (c_node->type) { - case XML_NAMESPACE_DECL: - /* _private is later in the namespace struct */ - return (VALUE)(((xmlNsPtr)c_node)->_private); - - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - /* in documents we use _private to store a tuple */ - if (DOC_RUBY_OBJECT_TEST(((xmlDocPtr)c_node))) { - return DOC_RUBY_OBJECT((xmlDocPtr)c_node); - } - return (VALUE)NULL; - - default: - return (VALUE)(c_node->_private); - } -} - - -static void -xml_node_set_mark(void *data) -{ - xmlNodeSetPtr node_set = data; - VALUE rb_node; - int jnode; - - for (jnode = 0; jnode < node_set->nodeNr; jnode++) { - rb_node = ruby_object_get(node_set->nodeTab[jnode]); - if (rb_node) { - rb_gc_mark(rb_node); - } - } -} - -static void -xml_node_set_deallocate(void *data) -{ - xmlNodeSetPtr node_set = data; - /* - * For reasons outlined in xml_namespace.c, here we reproduce xmlXPathFreeNodeSet() except for the - * offending call to xmlXPathNodeSetFreeNs(). - */ - if (node_set->nodeTab != NULL) { - xmlFree(node_set->nodeTab); - } - - xmlFree(node_set); -} - - -static VALUE -xml_node_set_allocate(VALUE klass) -{ - return noko_xml_node_set_wrap(xmlXPathNodeSetCreate(NULL), Qnil); -} - -static const rb_data_type_t xml_node_set_type = { - .wrap_struct_name = "Nokogiri::XML::NodeSet", - .function = { - .dmark = xml_node_set_mark, - .dfree = xml_node_set_deallocate, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY, -}; - -static void -xpath_node_set_del(xmlNodeSetPtr cur, xmlNodePtr val) -{ - /* - * For reasons outlined in xml_namespace.c, here we reproduce xmlXPathNodeSetDel() except for the - * offending call to xmlXPathNodeSetFreeNs(). - */ - int i; - - if (cur == NULL) { return; } - if (val == NULL) { return; } - - /* - * find node in nodeTab - */ - for (i = 0; i < cur->nodeNr; i++) - if (cur->nodeTab[i] == val) { break; } - - if (i >= cur->nodeNr) { /* not found */ - return; - } - cur->nodeNr--; - for (; i < cur->nodeNr; i++) { - cur->nodeTab[i] = cur->nodeTab[i + 1]; - } - cur->nodeTab[cur->nodeNr] = NULL; -} - - -/* - * call-seq: - * dup - * - * Duplicate this NodeSet. Note that the Nodes contained in the NodeSet are not - * duplicated (similar to how Array and other Enumerable classes work). - */ -static VALUE -duplicate(VALUE rb_self) -{ - xmlNodeSetPtr c_self; - xmlNodeSetPtr dupl; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - dupl = xmlXPathNodeSetMerge(NULL, c_self); - - return noko_xml_node_set_wrap(dupl, rb_iv_get(rb_self, "@document")); -} - -/* - * call-seq: - * length - * - * Get the length of the node set - */ -static VALUE -length(VALUE rb_self) -{ - xmlNodeSetPtr c_self; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - return c_self ? INT2NUM(c_self->nodeNr) : INT2NUM(0); -} - -/* - * call-seq: - * push(node) - * - * Append +node+ to the NodeSet. - */ -static VALUE -push(VALUE rb_self, VALUE rb_node) -{ - xmlNodeSetPtr c_self; - xmlNodePtr node; - - Check_Node_Set_Node_Type(rb_node); - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - Noko_Node_Get_Struct(rb_node, xmlNode, node); - - xmlXPathNodeSetAdd(c_self, node); - - return rb_self; -} - -/* - * call-seq: - * delete(node) - * - * Delete +node+ from the Nodeset, if it is a member. Returns the deleted node - * if found, otherwise returns nil. - */ -static VALUE -delete (VALUE rb_self, VALUE rb_node) -{ - xmlNodeSetPtr c_self; - xmlNodePtr node; - - Check_Node_Set_Node_Type(rb_node); - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - Noko_Node_Get_Struct(rb_node, xmlNode, node); - - if (xmlXPathNodeSetContains(c_self, node)) { - xpath_node_set_del(c_self, node); - return rb_node; - } - return Qnil ; -} - - -/* - * call-seq: - * &(node_set) - * - * Set Intersection — Returns a new NodeSet containing nodes common to the two NodeSets. - */ -static VALUE -intersection(VALUE rb_self, VALUE rb_other) -{ - xmlNodeSetPtr c_self, c_other ; - xmlNodeSetPtr intersection; - - if (!rb_obj_is_kind_of(rb_other, cNokogiriXmlNodeSet)) { - rb_raise(rb_eArgError, "node_set must be a Nokogiri::XML::NodeSet"); - } - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); - - intersection = xmlXPathIntersection(c_self, c_other); - return noko_xml_node_set_wrap(intersection, rb_iv_get(rb_self, "@document")); -} - - -/* - * call-seq: - * include?(node) - * - * Returns true if any member of node set equals +node+. - */ -static VALUE -include_eh(VALUE rb_self, VALUE rb_node) -{ - xmlNodeSetPtr c_self; - xmlNodePtr node; - - Check_Node_Set_Node_Type(rb_node); - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - Noko_Node_Get_Struct(rb_node, xmlNode, node); - - return (xmlXPathNodeSetContains(c_self, node) ? Qtrue : Qfalse); -} - - -/* - * call-seq: - * |(node_set) - * - * Returns a new set built by merging the set and the elements of the given - * set. - */ -static VALUE -rb_xml_node_set_union(VALUE rb_self, VALUE rb_other) -{ - xmlNodeSetPtr c_self, c_other; - xmlNodeSetPtr c_new_node_set; - - if (!rb_obj_is_kind_of(rb_other, cNokogiriXmlNodeSet)) { - rb_raise(rb_eArgError, "node_set must be a Nokogiri::XML::NodeSet"); - } - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); - - c_new_node_set = xmlXPathNodeSetMerge(NULL, c_self); - c_new_node_set = xmlXPathNodeSetMerge(c_new_node_set, c_other); - - return noko_xml_node_set_wrap(c_new_node_set, rb_iv_get(rb_self, "@document")); -} - -/* - * call-seq: - * -(node_set) - * - * Difference - returns a new NodeSet that is a copy of this NodeSet, removing - * each item that also appears in +node_set+ - */ -static VALUE -minus(VALUE rb_self, VALUE rb_other) -{ - xmlNodeSetPtr c_self, c_other; - xmlNodeSetPtr new; - int j ; - - if (!rb_obj_is_kind_of(rb_other, cNokogiriXmlNodeSet)) { - rb_raise(rb_eArgError, "node_set must be a Nokogiri::XML::NodeSet"); - } - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - TypedData_Get_Struct(rb_other, xmlNodeSet, &xml_node_set_type, c_other); - - new = xmlXPathNodeSetMerge(NULL, c_self); - for (j = 0 ; j < c_other->nodeNr ; ++j) { - xpath_node_set_del(new, c_other->nodeTab[j]); - } - - return noko_xml_node_set_wrap(new, rb_iv_get(rb_self, "@document")); -} - - -static VALUE -index_at(VALUE rb_self, long offset) -{ - xmlNodeSetPtr c_self; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - if (offset >= c_self->nodeNr || abs((int)offset) > c_self->nodeNr) { - return Qnil; - } - - if (offset < 0) { offset += c_self->nodeNr ; } - - return noko_xml_node_wrap_node_set_result(c_self->nodeTab[offset], rb_self); -} - -static VALUE -subseq(VALUE rb_self, long beg, long len) -{ - long j; - xmlNodeSetPtr c_self; - xmlNodeSetPtr new_set ; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - if (beg > c_self->nodeNr) { return Qnil ; } - if (beg < 0 || len < 0) { return Qnil ; } - - if ((beg + len) > c_self->nodeNr) { - len = c_self->nodeNr - beg ; - } - - new_set = xmlXPathNodeSetCreate(NULL); - for (j = beg ; j < beg + len ; ++j) { - xmlXPathNodeSetAddUnique(new_set, c_self->nodeTab[j]); - } - return noko_xml_node_set_wrap(new_set, rb_iv_get(rb_self, "@document")); -} - -/* - * call-seq: - * [index] -> Node or nil - * [start, length] -> NodeSet or nil - * [range] -> NodeSet or nil - * slice(index) -> Node or nil - * slice(start, length) -> NodeSet or nil - * slice(range) -> NodeSet or nil - * - * Element reference - returns the node at +index+, or returns a NodeSet - * containing nodes starting at +start+ and continuing for +length+ elements, or - * returns a NodeSet containing nodes specified by +range+. Negative +indices+ - * count backward from the end of the +node_set+ (-1 is the last node). Returns - * nil if the +index+ (or +start+) are out of range. - */ -static VALUE -slice(int argc, VALUE *argv, VALUE rb_self) -{ - VALUE arg ; - long beg, len ; - xmlNodeSetPtr c_self; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - if (argc == 2) { - beg = NUM2LONG(argv[0]); - len = NUM2LONG(argv[1]); - if (beg < 0) { - beg += c_self->nodeNr ; - } - return subseq(rb_self, beg, len); - } - - if (argc != 1) { - rb_scan_args(argc, argv, "11", NULL, NULL); - } - arg = argv[0]; - - if (FIXNUM_P(arg)) { - return index_at(rb_self, FIX2LONG(arg)); - } - - /* if arg is Range */ - switch (rb_range_beg_len(arg, &beg, &len, (long)c_self->nodeNr, 0)) { - case Qfalse: - break; - case Qnil: - return Qnil; - default: - return subseq(rb_self, beg, len); - } - - return index_at(rb_self, NUM2LONG(arg)); -} - - -/* - * call-seq: - * to_a - * - * Return this list as an Array - */ -static VALUE -to_array(VALUE rb_self) -{ - xmlNodeSetPtr c_self ; - VALUE list; - int i; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - list = rb_ary_new2(c_self->nodeNr); - for (i = 0; i < c_self->nodeNr; i++) { - VALUE elt = noko_xml_node_wrap_node_set_result(c_self->nodeTab[i], rb_self); - rb_ary_push(list, elt); - } - - return list; -} - -/* - * call-seq: - * unlink - * - * Unlink this NodeSet and all Node objects it contains from their current context. - */ -static VALUE -unlink_nodeset(VALUE rb_self) -{ - xmlNodeSetPtr c_self; - int j, nodeNr ; - - TypedData_Get_Struct(rb_self, xmlNodeSet, &xml_node_set_type, c_self); - - nodeNr = c_self->nodeNr ; - for (j = 0 ; j < nodeNr ; j++) { - if (! NOKOGIRI_NAMESPACE_EH(c_self->nodeTab[j])) { - VALUE node ; - xmlNodePtr node_ptr; - node = noko_xml_node_wrap(Qnil, c_self->nodeTab[j]); - rb_funcall(node, rb_intern("unlink"), 0); /* modifies the C struct out from under the object */ - Noko_Node_Get_Struct(node, xmlNode, node_ptr); - c_self->nodeTab[j] = node_ptr ; - } - } - return rb_self ; -} - - -VALUE -noko_xml_node_set_wrap(xmlNodeSetPtr c_node_set, VALUE document) -{ - int j; - VALUE rb_node_set ; - - if (c_node_set == NULL) { - c_node_set = xmlXPathNodeSetCreate(NULL); - } - - rb_node_set = TypedData_Wrap_Struct(cNokogiriXmlNodeSet, &xml_node_set_type, c_node_set); - - if (!NIL_P(document)) { - rb_iv_set(rb_node_set, "@document", document); - rb_funcall(document, decorate, 1, rb_node_set); - } - - /* make sure we create ruby objects for all the results, so they'll be marked during the GC mark phase */ - for (j = 0 ; j < c_node_set->nodeNr ; j++) { - noko_xml_node_wrap_node_set_result(c_node_set->nodeTab[j], rb_node_set); - } - - return rb_node_set ; -} - - -VALUE -noko_xml_node_wrap_node_set_result(xmlNodePtr node, VALUE node_set) -{ - if (NOKOGIRI_NAMESPACE_EH(node)) { - return noko_xml_namespace_wrap_xpath_copy((xmlNsPtr)node); - } else { - return noko_xml_node_wrap(Qnil, node); - } -} - - -xmlNodeSetPtr -noko_xml_node_set_unwrap(VALUE rb_node_set) -{ - xmlNodeSetPtr c_node_set; - TypedData_Get_Struct(rb_node_set, xmlNodeSet, &xml_node_set_type, c_node_set); - return c_node_set; -} - - -void -noko_init_xml_node_set(void) -{ - cNokogiriXmlNodeSet = rb_define_class_under(mNokogiriXml, "NodeSet", rb_cObject); - - rb_define_alloc_func(cNokogiriXmlNodeSet, xml_node_set_allocate); - - rb_define_method(cNokogiriXmlNodeSet, "length", length, 0); - rb_define_method(cNokogiriXmlNodeSet, "[]", slice, -1); - rb_define_method(cNokogiriXmlNodeSet, "slice", slice, -1); - rb_define_method(cNokogiriXmlNodeSet, "push", push, 1); - rb_define_method(cNokogiriXmlNodeSet, "|", rb_xml_node_set_union, 1); - rb_define_method(cNokogiriXmlNodeSet, "-", minus, 1); - rb_define_method(cNokogiriXmlNodeSet, "unlink", unlink_nodeset, 0); - rb_define_method(cNokogiriXmlNodeSet, "to_a", to_array, 0); - rb_define_method(cNokogiriXmlNodeSet, "dup", duplicate, 0); - rb_define_method(cNokogiriXmlNodeSet, "delete", delete, 1); - rb_define_method(cNokogiriXmlNodeSet, "&", intersection, 1); - rb_define_method(cNokogiriXmlNodeSet, "include?", include_eh, 1); - - decorate = rb_intern("decorate"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_processing_instruction.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_processing_instruction.c deleted file mode 100644 index 6bcf15f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_processing_instruction.c +++ /dev/null @@ -1,54 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlProcessingInstruction; - -/* - * call-seq: - * new(document, name, content) - * - * Create a new ProcessingInstruction element on the +document+ with +name+ - * and +content+ - */ -static VALUE -new (int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr xml_doc; - xmlNodePtr node; - VALUE document; - VALUE name; - VALUE content; - VALUE rest; - VALUE rb_node; - - rb_scan_args(argc, argv, "3*", &document, &name, &content, &rest); - - xml_doc = noko_xml_document_unwrap(document); - - node = xmlNewDocPI( - xml_doc, - (const xmlChar *)StringValueCStr(name), - (const xmlChar *)StringValueCStr(content) - ); - - noko_xml_document_pin_node(node); - - rb_node = noko_xml_node_wrap(klass, node); - rb_obj_call_init(rb_node, argc, argv); - - if (rb_block_given_p()) { rb_yield(rb_node); } - - return rb_node; -} - -void -noko_init_xml_processing_instruction(void) -{ - assert(cNokogiriXmlNode); - /* - * ProcessingInstruction represents a ProcessingInstruction node in an xml - * document. - */ - cNokogiriXmlProcessingInstruction = rb_define_class_under(mNokogiriXml, "ProcessingInstruction", cNokogiriXmlNode); - - rb_define_singleton_method(cNokogiriXmlProcessingInstruction, "new", new, -1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_reader.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_reader.c deleted file mode 100644 index d603b98..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_reader.c +++ /dev/null @@ -1,803 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlReader; - -static void -xml_reader_deallocate(void *data) -{ - xmlTextReaderPtr reader = data; - xmlFreeTextReader(reader); -} - -static const rb_data_type_t xml_reader_type = { - .wrap_struct_name = "Nokogiri::XML::Reader", - .function = { - .dfree = xml_reader_deallocate, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -static int -has_attributes(xmlTextReaderPtr reader) -{ - /* - * this implementation of xmlTextReaderHasAttributes explicitly includes - * namespaces and properties, because some earlier versions ignore - * namespaces. - */ - xmlNodePtr node ; - node = xmlTextReaderCurrentNode(reader); - if (node == NULL) { - return (0); - } - - if ((node->type == XML_ELEMENT_NODE) && - ((node->properties != NULL) || (node->nsDef != NULL))) { - return (1); - } - return (0); -} - -// TODO: merge this function into the `namespaces` method implementation -static void -Nokogiri_xml_node_namespaces(xmlNodePtr node, VALUE attr_hash) -{ - xmlNsPtr ns; - VALUE key; - - if (node->type != XML_ELEMENT_NODE) { return ; } - - ns = node->nsDef; - while (ns != NULL) { - - key = rb_enc_str_new_cstr(XMLNS_PREFIX, rb_utf8_encoding()); - if (ns->prefix) { - rb_str_cat_cstr(key, ":"); - rb_str_cat_cstr(key, (const char *)ns->prefix); - } - - key = rb_str_conv_enc(key, rb_utf8_encoding(), rb_default_internal_encoding()); - rb_hash_aset(attr_hash, - key, - (ns->href ? NOKOGIRI_STR_NEW2(ns->href) : Qnil) - ); - ns = ns->next ; - } -} - - -/* - * call-seq: - * default? - * - * Was an attribute generated from the default value in the DTD or schema? - */ -static VALUE -default_eh(VALUE self) -{ - xmlTextReaderPtr reader; - int eh; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - eh = xmlTextReaderIsDefault(reader); - if (eh == 0) { return Qfalse; } - if (eh == 1) { return Qtrue; } - - return Qnil; -} - -/* - * call-seq: - * value? - * - * Does this node have a text value? - */ -static VALUE -value_eh(VALUE self) -{ - xmlTextReaderPtr reader; - int eh; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - eh = xmlTextReaderHasValue(reader); - if (eh == 0) { return Qfalse; } - if (eh == 1) { return Qtrue; } - - return Qnil; -} - -/* - * call-seq: - * attributes? - * - * Does this node have attributes? - */ -static VALUE -attributes_eh(VALUE self) -{ - xmlTextReaderPtr reader; - int eh; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - eh = has_attributes(reader); - if (eh == 0) { return Qfalse; } - if (eh == 1) { return Qtrue; } - - return Qnil; -} - -/* - * call-seq: - * namespaces - * - * Get a hash of namespaces for this Node - */ -static VALUE -rb_xml_reader_namespaces(VALUE rb_reader) -{ - VALUE rb_namespaces = rb_hash_new() ; - xmlTextReaderPtr c_reader; - xmlNodePtr c_node; - VALUE rb_errors; - - TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_reader_type, c_reader); - - if (! has_attributes(c_reader)) { - return rb_namespaces ; - } - - rb_errors = rb_funcall(rb_reader, rb_intern("errors"), 0); - - xmlSetStructuredErrorFunc((void *)rb_errors, Nokogiri_error_array_pusher); - c_node = xmlTextReaderExpand(c_reader); - xmlSetStructuredErrorFunc(NULL, NULL); - - if (c_node == NULL) { - if (RARRAY_LEN(rb_errors) > 0) { - VALUE rb_error = rb_ary_entry(rb_errors, 0); - VALUE exception_message = rb_funcall(rb_error, rb_intern("to_s"), 0); - rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); - } - return Qnil; - } - - Nokogiri_xml_node_namespaces(c_node, rb_namespaces); - - return rb_namespaces ; -} - -/* - :call-seq: attribute_nodes() → Array<Nokogiri::XML::Attr> - - Get the attributes of the current node as an Array of XML:Attr - - ⚠ This method is deprecated and unsafe to use. It will be removed in a future version of Nokogiri. - - See related: #attribute_hash, #attributes - */ -static VALUE -rb_xml_reader_attribute_nodes(VALUE rb_reader) -{ - xmlTextReaderPtr c_reader; - xmlNodePtr c_node; - VALUE attr_nodes; - int j; - - // TODO: deprecated, remove in Nokogiri v1.15, see https://github.com/sparklemotion/nokogiri/issues/2598 - // After removal, we can also remove all the "node_has_a_document" special handling from xml_node.c - NOKO_WARN_DEPRECATION("Reader#attribute_nodes is deprecated and will be removed in a future version of Nokogiri. Please use Reader#attribute_hash instead."); - - TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_reader_type, c_reader); - - if (! has_attributes(c_reader)) { - return rb_ary_new() ; - } - - c_node = xmlTextReaderExpand(c_reader); - if (c_node == NULL) { - return Qnil; - } - - attr_nodes = noko_xml_node_attrs(c_node); - - /* ensure that the Reader won't be GCed as long as a node is referenced */ - for (j = 0 ; j < RARRAY_LEN(attr_nodes) ; j++) { - rb_iv_set(rb_ary_entry(attr_nodes, j), "@reader", rb_reader); - } - - return attr_nodes; -} - -/* - :call-seq: attribute_hash() → Hash<String ⇒ String> - - Get the attributes of the current node as a Hash of names and values. - - See related: #attributes and #namespaces - */ -static VALUE -rb_xml_reader_attribute_hash(VALUE rb_reader) -{ - VALUE rb_attributes = rb_hash_new(); - xmlTextReaderPtr c_reader; - xmlNodePtr c_node; - xmlAttrPtr c_property; - VALUE rb_errors; - - TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_reader_type, c_reader); - - if (!has_attributes(c_reader)) { - return rb_attributes; - } - - rb_errors = rb_funcall(rb_reader, rb_intern("errors"), 0); - - xmlSetStructuredErrorFunc((void *)rb_errors, Nokogiri_error_array_pusher); - c_node = xmlTextReaderExpand(c_reader); - xmlSetStructuredErrorFunc(NULL, NULL); - - if (c_node == NULL) { - if (RARRAY_LEN(rb_errors) > 0) { - VALUE rb_error = rb_ary_entry(rb_errors, 0); - VALUE exception_message = rb_funcall(rb_error, rb_intern("to_s"), 0); - rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError)); - } - return Qnil; - } - - c_property = c_node->properties; - while (c_property != NULL) { - VALUE rb_name = NOKOGIRI_STR_NEW2(c_property->name); - VALUE rb_value = Qnil; - xmlChar *c_value = xmlNodeGetContent((xmlNode *)c_property); - - if (c_value) { - rb_value = NOKOGIRI_STR_NEW2(c_value); - xmlFree(c_value); - } - - rb_hash_aset(rb_attributes, rb_name, rb_value); - - c_property = c_property->next; - } - - return rb_attributes; -} - -/* - * call-seq: - * attribute_at(index) - * - * Get the value of attribute at +index+ - */ -static VALUE -attribute_at(VALUE self, VALUE index) -{ - xmlTextReaderPtr reader; - xmlChar *value; - VALUE rb_value; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - - if (NIL_P(index)) { return Qnil; } - index = rb_Integer(index); - - value = xmlTextReaderGetAttributeNo( - reader, - (int)NUM2INT(index) - ); - if (value == NULL) { return Qnil; } - - rb_value = NOKOGIRI_STR_NEW2(value); - xmlFree(value); - return rb_value; -} - -/* - * call-seq: - * attribute(name) - * - * Get the value of attribute named +name+ - */ -static VALUE -reader_attribute(VALUE self, VALUE name) -{ - xmlTextReaderPtr reader; - xmlChar *value ; - VALUE rb_value; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - - if (NIL_P(name)) { return Qnil; } - name = StringValue(name) ; - - value = xmlTextReaderGetAttribute(reader, (xmlChar *)StringValueCStr(name)); - if (value == NULL) { return Qnil; } - - rb_value = NOKOGIRI_STR_NEW2(value); - xmlFree(value); - return rb_value; -} - -/* - * call-seq: - * attribute_count - * - * Get the number of attributes for the current node - */ -static VALUE -attribute_count(VALUE self) -{ - xmlTextReaderPtr reader; - int count; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - count = xmlTextReaderAttributeCount(reader); - if (count == -1) { return Qnil; } - - return INT2NUM(count); -} - -/* - * call-seq: - * depth - * - * Get the depth of the node - */ -static VALUE -depth(VALUE self) -{ - xmlTextReaderPtr reader; - int depth; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - depth = xmlTextReaderDepth(reader); - if (depth == -1) { return Qnil; } - - return INT2NUM(depth); -} - -/* - * call-seq: - * xml_version - * - * Get the XML version of the document being read - */ -static VALUE -xml_version(VALUE self) -{ - xmlTextReaderPtr reader; - const char *version; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - version = (const char *)xmlTextReaderConstXmlVersion(reader); - if (version == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(version); -} - -/* - * call-seq: - * lang - * - * Get the xml:lang scope within which the node resides. - */ -static VALUE -lang(VALUE self) -{ - xmlTextReaderPtr reader; - const char *lang; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - lang = (const char *)xmlTextReaderConstXmlLang(reader); - if (lang == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(lang); -} - -/* - * call-seq: - * value - * - * Get the text value of the node if present. Returns a utf-8 encoded string. - */ -static VALUE -value(VALUE self) -{ - xmlTextReaderPtr reader; - const char *value; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - value = (const char *)xmlTextReaderConstValue(reader); - if (value == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(value); -} - -/* - * call-seq: - * prefix - * - * Get the shorthand reference to the namespace associated with the node. - */ -static VALUE -prefix(VALUE self) -{ - xmlTextReaderPtr reader; - const char *prefix; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - prefix = (const char *)xmlTextReaderConstPrefix(reader); - if (prefix == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(prefix); -} - -/* - * call-seq: - * namespace_uri - * - * Get the URI defining the namespace associated with the node - */ -static VALUE -namespace_uri(VALUE self) -{ - xmlTextReaderPtr reader; - const char *uri; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - uri = (const char *)xmlTextReaderConstNamespaceUri(reader); - if (uri == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(uri); -} - -/* - * call-seq: - * local_name - * - * Get the local name of the node - */ -static VALUE -local_name(VALUE self) -{ - xmlTextReaderPtr reader; - const char *name; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - name = (const char *)xmlTextReaderConstLocalName(reader); - if (name == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(name); -} - -/* - * call-seq: - * name - * - * Get the name of the node. Returns a utf-8 encoded string. - */ -static VALUE -name(VALUE self) -{ - xmlTextReaderPtr reader; - const char *name; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - name = (const char *)xmlTextReaderConstName(reader); - if (name == NULL) { return Qnil; } - - return NOKOGIRI_STR_NEW2(name); -} - -/* - * call-seq: - * base_uri - * - * Get the xml:base of the node - */ -static VALUE -rb_xml_reader_base_uri(VALUE rb_reader) -{ - VALUE rb_base_uri; - xmlTextReaderPtr c_reader; - xmlChar *c_base_uri; - - TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_reader_type, c_reader); - - c_base_uri = xmlTextReaderBaseUri(c_reader); - if (c_base_uri == NULL) { - return Qnil; - } - - rb_base_uri = NOKOGIRI_STR_NEW2(c_base_uri); - xmlFree(c_base_uri); - - return rb_base_uri; -} - -/* - * call-seq: - * state - * - * Get the state of the reader - */ -static VALUE -state(VALUE self) -{ - xmlTextReaderPtr reader; - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - return INT2NUM(xmlTextReaderReadState(reader)); -} - -/* - * call-seq: - * node_type - * - * Get the type of readers current node - */ -static VALUE -node_type(VALUE self) -{ - xmlTextReaderPtr reader; - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - return INT2NUM(xmlTextReaderNodeType(reader)); -} - -/* - * call-seq: - * read - * - * Move the Reader forward through the XML document. - */ -static VALUE -read_more(VALUE self) -{ - xmlTextReaderPtr reader; - xmlErrorPtr error; - VALUE error_list; - int ret; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - - error_list = rb_funcall(self, rb_intern("errors"), 0); - - xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher); - ret = xmlTextReaderRead(reader); - xmlSetStructuredErrorFunc(NULL, NULL); - - if (ret == 1) { return self; } - if (ret == 0) { return Qnil; } - - error = xmlGetLastError(); - if (error) { - rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error)); - } else { - rb_raise(rb_eRuntimeError, "Error pulling: %d", ret); - } - - return Qnil; -} - -/* - * call-seq: - * inner_xml - * - * Read the contents of the current node, including child nodes and markup. - * Returns a utf-8 encoded string. - */ -static VALUE -inner_xml(VALUE self) -{ - xmlTextReaderPtr reader; - xmlChar *value; - VALUE str; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - - value = xmlTextReaderReadInnerXml(reader); - - str = Qnil; - if (value) { - str = NOKOGIRI_STR_NEW2((char *)value); - xmlFree(value); - } - - return str; -} - -/* - * call-seq: - * outer_xml - * - * Read the current node and its contents, including child nodes and markup. - * Returns a utf-8 encoded string. - */ -static VALUE -outer_xml(VALUE self) -{ - xmlTextReaderPtr reader; - xmlChar *value; - VALUE str = Qnil; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - - value = xmlTextReaderReadOuterXml(reader); - - if (value) { - str = NOKOGIRI_STR_NEW2((char *)value); - xmlFree(value); - } - return str; -} - -/* - * call-seq: - * from_memory(string, url = nil, encoding = nil, options = 0) - * - * Create a new reader that parses +string+ - */ -static VALUE -from_memory(int argc, VALUE *argv, VALUE klass) -{ - VALUE rb_buffer, rb_url, encoding, rb_options; - xmlTextReaderPtr reader; - const char *c_url = NULL; - const char *c_encoding = NULL; - int c_options = 0; - VALUE rb_reader, args[3]; - - rb_scan_args(argc, argv, "13", &rb_buffer, &rb_url, &encoding, &rb_options); - - if (!RTEST(rb_buffer)) { rb_raise(rb_eArgError, "string cannot be nil"); } - if (RTEST(rb_url)) { c_url = StringValueCStr(rb_url); } - if (RTEST(encoding)) { c_encoding = StringValueCStr(encoding); } - if (RTEST(rb_options)) { c_options = (int)NUM2INT(rb_options); } - - reader = xmlReaderForMemory( - StringValuePtr(rb_buffer), - (int)RSTRING_LEN(rb_buffer), - c_url, - c_encoding, - c_options - ); - - if (reader == NULL) { - xmlFreeTextReader(reader); - rb_raise(rb_eRuntimeError, "couldn't create a parser"); - } - - rb_reader = TypedData_Wrap_Struct(klass, &xml_reader_type, reader); - args[0] = rb_buffer; - args[1] = rb_url; - args[2] = encoding; - rb_obj_call_init(rb_reader, 3, args); - - return rb_reader; -} - -/* - * call-seq: - * from_io(io, url = nil, encoding = nil, options = 0) - * - * Create a new reader that parses +io+ - */ -static VALUE -from_io(int argc, VALUE *argv, VALUE klass) -{ - VALUE rb_io, rb_url, encoding, rb_options; - xmlTextReaderPtr reader; - const char *c_url = NULL; - const char *c_encoding = NULL; - int c_options = 0; - VALUE rb_reader, args[3]; - - rb_scan_args(argc, argv, "13", &rb_io, &rb_url, &encoding, &rb_options); - - if (!RTEST(rb_io)) { rb_raise(rb_eArgError, "io cannot be nil"); } - if (RTEST(rb_url)) { c_url = StringValueCStr(rb_url); } - if (RTEST(encoding)) { c_encoding = StringValueCStr(encoding); } - if (RTEST(rb_options)) { c_options = (int)NUM2INT(rb_options); } - - reader = xmlReaderForIO( - (xmlInputReadCallback)noko_io_read, - (xmlInputCloseCallback)noko_io_close, - (void *)rb_io, - c_url, - c_encoding, - c_options - ); - - if (reader == NULL) { - xmlFreeTextReader(reader); - rb_raise(rb_eRuntimeError, "couldn't create a parser"); - } - - rb_reader = TypedData_Wrap_Struct(klass, &xml_reader_type, reader); - args[0] = rb_io; - args[1] = rb_url; - args[2] = encoding; - rb_obj_call_init(rb_reader, 3, args); - - return rb_reader; -} - -/* - * call-seq: - * reader.empty_element? # => true or false - * - * Returns true if the current node is empty, otherwise false. - */ -static VALUE -empty_element_p(VALUE self) -{ - xmlTextReaderPtr reader; - - TypedData_Get_Struct(self, xmlTextReader, &xml_reader_type, reader); - - if (xmlTextReaderIsEmptyElement(reader)) { - return Qtrue; - } - - return Qfalse; -} - -static VALUE -rb_xml_reader_encoding(VALUE rb_reader) -{ - xmlTextReaderPtr c_reader; - const char *parser_encoding; - VALUE constructor_encoding; - - constructor_encoding = rb_iv_get(rb_reader, "@encoding"); - if (RTEST(constructor_encoding)) { - return constructor_encoding; - } - - TypedData_Get_Struct(rb_reader, xmlTextReader, &xml_reader_type, c_reader); - parser_encoding = (const char *)xmlTextReaderConstEncoding(c_reader); - if (parser_encoding == NULL) { return Qnil; } - return NOKOGIRI_STR_NEW2(parser_encoding); -} - -void -noko_init_xml_reader(void) -{ - /* - * The Reader parser allows you to effectively pull parse an XML document. - * Once instantiated, call Nokogiri::XML::Reader#each to iterate over each - * node. Note that you may only iterate over the document once! - */ - cNokogiriXmlReader = rb_define_class_under(mNokogiriXml, "Reader", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlReader); - - rb_define_singleton_method(cNokogiriXmlReader, "from_memory", from_memory, -1); - rb_define_singleton_method(cNokogiriXmlReader, "from_io", from_io, -1); - - rb_define_method(cNokogiriXmlReader, "attribute", reader_attribute, 1); - rb_define_method(cNokogiriXmlReader, "attribute_at", attribute_at, 1); - rb_define_method(cNokogiriXmlReader, "attribute_count", attribute_count, 0); - rb_define_method(cNokogiriXmlReader, "attribute_nodes", rb_xml_reader_attribute_nodes, 0); - rb_define_method(cNokogiriXmlReader, "attribute_hash", rb_xml_reader_attribute_hash, 0); - rb_define_method(cNokogiriXmlReader, "attributes?", attributes_eh, 0); - rb_define_method(cNokogiriXmlReader, "base_uri", rb_xml_reader_base_uri, 0); - rb_define_method(cNokogiriXmlReader, "default?", default_eh, 0); - rb_define_method(cNokogiriXmlReader, "depth", depth, 0); - rb_define_method(cNokogiriXmlReader, "empty_element?", empty_element_p, 0); - rb_define_method(cNokogiriXmlReader, "encoding", rb_xml_reader_encoding, 0); - rb_define_method(cNokogiriXmlReader, "inner_xml", inner_xml, 0); - rb_define_method(cNokogiriXmlReader, "lang", lang, 0); - rb_define_method(cNokogiriXmlReader, "local_name", local_name, 0); - rb_define_method(cNokogiriXmlReader, "name", name, 0); - rb_define_method(cNokogiriXmlReader, "namespace_uri", namespace_uri, 0); - rb_define_method(cNokogiriXmlReader, "namespaces", rb_xml_reader_namespaces, 0); - rb_define_method(cNokogiriXmlReader, "node_type", node_type, 0); - rb_define_method(cNokogiriXmlReader, "outer_xml", outer_xml, 0); - rb_define_method(cNokogiriXmlReader, "prefix", prefix, 0); - rb_define_method(cNokogiriXmlReader, "read", read_more, 0); - rb_define_method(cNokogiriXmlReader, "state", state, 0); - rb_define_method(cNokogiriXmlReader, "value", value, 0); - rb_define_method(cNokogiriXmlReader, "value?", value_eh, 0); - rb_define_method(cNokogiriXmlReader, "xml_version", xml_version, 0); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_relax_ng.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_relax_ng.c deleted file mode 100644 index ddb53bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_relax_ng.c +++ /dev/null @@ -1,170 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlRelaxNG; - -static void -xml_relax_ng_deallocate(void *data) -{ - xmlRelaxNGPtr schema = data; - xmlRelaxNGFree(schema); -} - -static const rb_data_type_t xml_relax_ng_type = { - .wrap_struct_name = "Nokogiri::XML::RelaxNG", - .function = { - .dfree = xml_relax_ng_deallocate, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -/* - * call-seq: - * validate_document(document) - * - * Validate a Nokogiri::XML::Document against this RelaxNG schema. - */ -static VALUE -validate_document(VALUE self, VALUE document) -{ - xmlDocPtr doc; - xmlRelaxNGPtr schema; - VALUE errors; - xmlRelaxNGValidCtxtPtr valid_ctxt; - - TypedData_Get_Struct(self, xmlRelaxNG, &xml_relax_ng_type, schema); - doc = noko_xml_document_unwrap(document); - - errors = rb_ary_new(); - - valid_ctxt = xmlRelaxNGNewValidCtxt(schema); - - if (NULL == valid_ctxt) { - /* we have a problem */ - rb_raise(rb_eRuntimeError, "Could not create a validation context"); - } - -#ifdef HAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS - xmlRelaxNGSetValidStructuredErrors( - valid_ctxt, - Nokogiri_error_array_pusher, - (void *)errors - ); -#endif - - xmlRelaxNGValidateDoc(valid_ctxt, doc); - - xmlRelaxNGFreeValidCtxt(valid_ctxt); - - return errors; -} - -static VALUE -xml_relax_ng_parse_schema( - VALUE klass, - xmlRelaxNGParserCtxtPtr c_parser_context, - VALUE rb_parse_options -) -{ - VALUE rb_errors; - VALUE rb_schema; - xmlRelaxNGPtr c_schema; - - if (NIL_P(rb_parse_options)) { - rb_parse_options = rb_const_get_at( - rb_const_get_at(mNokogiriXml, rb_intern("ParseOptions")), - rb_intern("DEFAULT_SCHEMA") - ); - } - - rb_errors = rb_ary_new(); - xmlSetStructuredErrorFunc((void *)rb_errors, Nokogiri_error_array_pusher); - -#ifdef HAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS - xmlRelaxNGSetParserStructuredErrors( - c_parser_context, - Nokogiri_error_array_pusher, - (void *)rb_errors - ); -#endif - - c_schema = xmlRelaxNGParse(c_parser_context); - - xmlSetStructuredErrorFunc(NULL, NULL); - xmlRelaxNGFreeParserCtxt(c_parser_context); - - if (NULL == c_schema) { - xmlErrorPtr error = xmlGetLastError(); - if (error) { - Nokogiri_error_raise(NULL, error); - } else { - rb_raise(rb_eRuntimeError, "Could not parse document"); - } - - return Qnil; - } - - rb_schema = TypedData_Wrap_Struct(klass, &xml_relax_ng_type, c_schema); - rb_iv_set(rb_schema, "@errors", rb_errors); - rb_iv_set(rb_schema, "@parse_options", rb_parse_options); - - return rb_schema; -} - -/* - * call-seq: - * read_memory(string) - * - * Create a new RelaxNG from the contents of +string+ - */ -static VALUE -read_memory(int argc, VALUE *argv, VALUE klass) -{ - VALUE rb_content; - VALUE rb_parse_options; - xmlRelaxNGParserCtxtPtr c_parser_context; - - rb_scan_args(argc, argv, "11", &rb_content, &rb_parse_options); - - c_parser_context = xmlRelaxNGNewMemParserCtxt( - (const char *)StringValuePtr(rb_content), - (int)RSTRING_LEN(rb_content) - ); - - return xml_relax_ng_parse_schema(klass, c_parser_context, rb_parse_options); -} - -/* - * call-seq: - * from_document(doc) - * - * Create a new RelaxNG schema from the Nokogiri::XML::Document +doc+ - */ -static VALUE -from_document(int argc, VALUE *argv, VALUE klass) -{ - VALUE rb_document; - VALUE rb_parse_options; - xmlDocPtr c_document; - xmlRelaxNGParserCtxtPtr c_parser_context; - - rb_scan_args(argc, argv, "11", &rb_document, &rb_parse_options); - - c_document = noko_xml_document_unwrap(rb_document); - c_document = c_document->doc; /* In case someone passes us a node. ugh. */ - - c_parser_context = xmlRelaxNGNewDocParserCtxt(c_document); - - return xml_relax_ng_parse_schema(klass, c_parser_context, rb_parse_options); -} - -void -noko_init_xml_relax_ng(void) -{ - assert(cNokogiriXmlSchema); - cNokogiriXmlRelaxNG = rb_define_class_under(mNokogiriXml, "RelaxNG", cNokogiriXmlSchema); - - rb_define_singleton_method(cNokogiriXmlRelaxNG, "read_memory", read_memory, -1); - rb_define_singleton_method(cNokogiriXmlRelaxNG, "from_document", from_document, -1); - - rb_define_private_method(cNokogiriXmlRelaxNG, "validate_document", validate_document, 1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_parser.c deleted file mode 100644 index 90cb73e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_parser.c +++ /dev/null @@ -1,335 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlSaxParser ; - -static ID id_start_document, id_end_document, id_start_element, id_end_element; -static ID id_start_element_namespace, id_end_element_namespace; -static ID id_comment, id_characters, id_xmldecl, id_error, id_warning; -static ID id_cdata_block; -static ID id_processing_instruction; - -static void -start_document(void *ctx) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - - xmlParserCtxtPtr ctxt = NOKOGIRI_SAX_CTXT(ctx); - - if (NULL != ctxt && ctxt->html != 1) { - if (ctxt->standalone != -1) { /* -1 means there was no declaration */ - VALUE encoding = Qnil ; - VALUE standalone = Qnil; - VALUE version; - if (ctxt->encoding) { - encoding = NOKOGIRI_STR_NEW2(ctxt->encoding) ; - } else if (ctxt->input && ctxt->input->encoding) { - encoding = NOKOGIRI_STR_NEW2(ctxt->input->encoding) ; - } - - version = ctxt->version ? NOKOGIRI_STR_NEW2(ctxt->version) : Qnil; - - switch (ctxt->standalone) { - case 0: - standalone = NOKOGIRI_STR_NEW2("no"); - break; - case 1: - standalone = NOKOGIRI_STR_NEW2("yes"); - break; - } - - rb_funcall(doc, id_xmldecl, 3, version, encoding, standalone); - } - } - - rb_funcall(doc, id_start_document, 0); -} - -static void -end_document(void *ctx) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - rb_funcall(doc, id_end_document, 0); -} - -static void -start_element(void *ctx, const xmlChar *name, const xmlChar **atts) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - VALUE attributes = rb_ary_new(); - const xmlChar *attr; - int i = 0; - if (atts) { - while ((attr = atts[i]) != NULL) { - const xmlChar *val = atts[i + 1]; - VALUE value = val != NULL ? NOKOGIRI_STR_NEW2(val) : Qnil; - rb_ary_push(attributes, rb_ary_new3(2, NOKOGIRI_STR_NEW2(attr), value)); - i += 2; - } - } - - rb_funcall(doc, - id_start_element, - 2, - NOKOGIRI_STR_NEW2(name), - attributes - ); -} - -static void -end_element(void *ctx, const xmlChar *name) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - rb_funcall(doc, id_end_element, 1, NOKOGIRI_STR_NEW2(name)); -} - -static VALUE -attributes_as_array(int attributes_len, const xmlChar **c_attributes) -{ - VALUE rb_array = rb_ary_new2((long)attributes_len); - VALUE cNokogiriXmlSaxParserAttribute; - - cNokogiriXmlSaxParserAttribute = rb_const_get_at(cNokogiriXmlSaxParser, rb_intern("Attribute")); - if (c_attributes) { - /* Each attribute is an array of [localname, prefix, URI, value, end] */ - int i; - for (i = 0; i < attributes_len * 5; i += 5) { - VALUE rb_constructor_args[4], rb_attribute; - - rb_constructor_args[0] = RBSTR_OR_QNIL(c_attributes[i + 0]); /* localname */ - rb_constructor_args[1] = RBSTR_OR_QNIL(c_attributes[i + 1]); /* prefix */ - rb_constructor_args[2] = RBSTR_OR_QNIL(c_attributes[i + 2]); /* URI */ - - /* value */ - rb_constructor_args[3] = NOKOGIRI_STR_NEW((const char *)c_attributes[i + 3], - (c_attributes[i + 4] - c_attributes[i + 3])); - - rb_attribute = rb_class_new_instance(4, rb_constructor_args, cNokogiriXmlSaxParserAttribute); - rb_ary_push(rb_array, rb_attribute); - } - } - - return rb_array; -} - -static void -start_element_ns( - void *ctx, - const xmlChar *localname, - const xmlChar *prefix, - const xmlChar *uri, - int nb_namespaces, - const xmlChar **namespaces, - int nb_attributes, - int nb_defaulted, - const xmlChar **attributes) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - - VALUE attribute_ary = attributes_as_array(nb_attributes, attributes); - - VALUE ns_list = rb_ary_new2((long)nb_namespaces); - - if (namespaces) { - int i; - for (i = 0; i < nb_namespaces * 2; i += 2) { - rb_ary_push(ns_list, - rb_ary_new3((long)2, - RBSTR_OR_QNIL(namespaces[i + 0]), - RBSTR_OR_QNIL(namespaces[i + 1]) - ) - ); - } - } - - rb_funcall(doc, - id_start_element_namespace, - 5, - NOKOGIRI_STR_NEW2(localname), - attribute_ary, - RBSTR_OR_QNIL(prefix), - RBSTR_OR_QNIL(uri), - ns_list - ); -} - -/** - * end_element_ns was borrowed heavily from libxml-ruby. - */ -static void -end_element_ns( - void *ctx, - const xmlChar *localname, - const xmlChar *prefix, - const xmlChar *uri) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - - rb_funcall(doc, id_end_element_namespace, 3, - NOKOGIRI_STR_NEW2(localname), - RBSTR_OR_QNIL(prefix), - RBSTR_OR_QNIL(uri) - ); -} - -static void -characters_func(void *ctx, const xmlChar *ch, int len) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - VALUE str = NOKOGIRI_STR_NEW(ch, len); - rb_funcall(doc, id_characters, 1, str); -} - -static void -comment_func(void *ctx, const xmlChar *value) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - VALUE str = NOKOGIRI_STR_NEW2(value); - rb_funcall(doc, id_comment, 1, str); -} - -PRINTFLIKE_DECL(2, 3) -static void -warning_func(void *ctx, const char *msg, ...) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - VALUE rb_message; - -#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES - /* It is not currently possible to pass var args from native - functions to sulong, so we work around the issue here. */ - rb_message = rb_sprintf("warning_func: %s", msg); -#else - va_list args; - va_start(args, msg); - rb_message = rb_vsprintf(msg, args); - va_end(args); -#endif - - rb_funcall(doc, id_warning, 1, rb_message); -} - -PRINTFLIKE_DECL(2, 3) -static void -error_func(void *ctx, const char *msg, ...) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - VALUE rb_message; - -#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES - /* It is not currently possible to pass var args from native - functions to sulong, so we work around the issue here. */ - rb_message = rb_sprintf("error_func: %s", msg); -#else - va_list args; - va_start(args, msg); - rb_message = rb_vsprintf(msg, args); - va_end(args); -#endif - - rb_funcall(doc, id_error, 1, rb_message); -} - -static void -cdata_block(void *ctx, const xmlChar *value, int len) -{ - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - VALUE string = NOKOGIRI_STR_NEW(value, len); - rb_funcall(doc, id_cdata_block, 1, string); -} - -static void -processing_instruction(void *ctx, const xmlChar *name, const xmlChar *content) -{ - VALUE rb_content; - VALUE self = NOKOGIRI_SAX_SELF(ctx); - VALUE doc = rb_iv_get(self, "@document"); - - rb_content = content ? NOKOGIRI_STR_NEW2(content) : Qnil; - - rb_funcall(doc, - id_processing_instruction, - 2, - NOKOGIRI_STR_NEW2(name), - rb_content - ); -} - -static size_t -memsize(const void *data) -{ - return sizeof(xmlSAXHandler); -} - -/* Used by Nokogiri::XML::SAX::Parser and Nokogiri::HTML::SAX::Parser */ -static const rb_data_type_t noko_sax_handler_type = { - .wrap_struct_name = "Nokogiri::SAXHandler", - .function = { - .dfree = RUBY_TYPED_DEFAULT_FREE, - .dsize = memsize - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED -}; - -static VALUE -allocate(VALUE klass) -{ - xmlSAXHandlerPtr handler; - VALUE self = TypedData_Make_Struct(klass, xmlSAXHandler, &noko_sax_handler_type, handler); - - handler->startDocument = start_document; - handler->endDocument = end_document; - handler->startElement = start_element; - handler->endElement = end_element; - handler->startElementNs = start_element_ns; - handler->endElementNs = end_element_ns; - handler->characters = characters_func; - handler->comment = comment_func; - handler->warning = warning_func; - handler->error = error_func; - handler->cdataBlock = cdata_block; - handler->processingInstruction = processing_instruction; - handler->initialized = XML_SAX2_MAGIC; - - return self; -} - -xmlSAXHandlerPtr -noko_sax_handler_unwrap(VALUE rb_sax_handler) -{ - xmlSAXHandlerPtr c_sax_handler; - TypedData_Get_Struct(rb_sax_handler, xmlSAXHandler, &noko_sax_handler_type, c_sax_handler); - return c_sax_handler; -} - -void -noko_init_xml_sax_parser(void) -{ - cNokogiriXmlSaxParser = rb_define_class_under(mNokogiriXmlSax, "Parser", rb_cObject); - - rb_define_alloc_func(cNokogiriXmlSaxParser, allocate); - - id_start_document = rb_intern("start_document"); - id_end_document = rb_intern("end_document"); - id_start_element = rb_intern("start_element"); - id_end_element = rb_intern("end_element"); - id_comment = rb_intern("comment"); - id_characters = rb_intern("characters"); - id_xmldecl = rb_intern("xmldecl"); - id_error = rb_intern("error"); - id_warning = rb_intern("warning"); - id_cdata_block = rb_intern("cdata_block"); - id_start_element_namespace = rb_intern("start_element_namespace"); - id_end_element_namespace = rb_intern("end_element_namespace"); - id_processing_instruction = rb_intern("processing_instruction"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_parser_context.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_parser_context.c deleted file mode 100644 index be784b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_parser_context.c +++ /dev/null @@ -1,304 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlSaxParserContext ; - -static ID id_read; - -static void -xml_sax_parser_context_free(void *data) -{ - xmlParserCtxtPtr ctxt = data; - ctxt->sax = NULL; - xmlFreeParserCtxt(ctxt); -} - -/* - * note that htmlParserCtxtPtr == xmlParserCtxtPtr and xmlFreeParserCtxt() == htmlFreeParserCtxt() - * so we use this type for both XML::SAX::ParserContext and HTML::SAX::ParserContext - */ -static const rb_data_type_t xml_sax_parser_context_type = { - .wrap_struct_name = "Nokogiri::XML::SAX::ParserContext", - .function = { - .dfree = xml_sax_parser_context_free, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -xmlParserCtxtPtr -noko_xml_sax_parser_context_unwrap(VALUE rb_context) -{ - xmlParserCtxtPtr c_context; - TypedData_Get_Struct(rb_context, xmlParserCtxt, &xml_sax_parser_context_type, c_context); - return c_context; -} - -VALUE -noko_xml_sax_parser_context_wrap(VALUE klass, xmlParserCtxtPtr c_context) -{ - return TypedData_Wrap_Struct(klass, &xml_sax_parser_context_type, c_context); -} - - -/* - * call-seq: - * parse_io(io, encoding) - * - * Parse +io+ object with +encoding+ - */ -static VALUE -parse_io(VALUE klass, VALUE io, VALUE encoding) -{ - xmlParserCtxtPtr ctxt; - xmlCharEncoding enc = (xmlCharEncoding)NUM2INT(encoding); - - if (!rb_respond_to(io, id_read)) { - rb_raise(rb_eTypeError, "argument expected to respond to :read"); - } - - ctxt = xmlCreateIOParserCtxt(NULL, NULL, - (xmlInputReadCallback)noko_io_read, - (xmlInputCloseCallback)noko_io_close, - (void *)io, enc); - if (ctxt->sax) { - xmlFree(ctxt->sax); - ctxt->sax = NULL; - } - - return noko_xml_sax_parser_context_wrap(klass, ctxt); -} - -/* - * call-seq: - * parse_file(filename) - * - * Parse file given +filename+ - */ -static VALUE -parse_file(VALUE klass, VALUE filename) -{ - xmlParserCtxtPtr ctxt = xmlCreateFileParserCtxt(StringValueCStr(filename)); - - if (ctxt->sax) { - xmlFree(ctxt->sax); - ctxt->sax = NULL; - } - - return noko_xml_sax_parser_context_wrap(klass, ctxt); -} - -/* - * call-seq: - * parse_memory(data) - * - * Parse the XML stored in memory in +data+ - */ -static VALUE -parse_memory(VALUE klass, VALUE data) -{ - xmlParserCtxtPtr ctxt; - - Check_Type(data, T_STRING); - - if (!(int)RSTRING_LEN(data)) { - rb_raise(rb_eRuntimeError, "data cannot be empty"); - } - - ctxt = xmlCreateMemoryParserCtxt(StringValuePtr(data), - (int)RSTRING_LEN(data)); - if (ctxt->sax) { - xmlFree(ctxt->sax); - ctxt->sax = NULL; - } - - return noko_xml_sax_parser_context_wrap(klass, ctxt); -} - -static VALUE -parse_doc(VALUE ctxt_val) -{ - xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctxt_val; - xmlParseDocument(ctxt); - return Qnil; -} - -static VALUE -parse_doc_finalize(VALUE ctxt_val) -{ - xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctxt_val; - - if (NULL != ctxt->myDoc) { - xmlFreeDoc(ctxt->myDoc); - } - - NOKOGIRI_SAX_TUPLE_DESTROY(ctxt->userData); - return Qnil; -} - -/* - * call-seq: - * parse_with(sax_handler) - * - * Use +sax_handler+ and parse the current document - */ -static VALUE -parse_with(VALUE self, VALUE sax_handler) -{ - xmlParserCtxtPtr ctxt; - xmlSAXHandlerPtr sax; - - if (!rb_obj_is_kind_of(sax_handler, cNokogiriXmlSaxParser)) { - rb_raise(rb_eArgError, "argument must be a Nokogiri::XML::SAX::Parser"); - } - - ctxt = noko_xml_sax_parser_context_unwrap(self); - sax = noko_sax_handler_unwrap(sax_handler); - - ctxt->sax = sax; - ctxt->userData = (void *)NOKOGIRI_SAX_TUPLE_NEW(ctxt, sax_handler); - - xmlSetStructuredErrorFunc(NULL, NULL); - - rb_ensure(parse_doc, (VALUE)ctxt, parse_doc_finalize, (VALUE)ctxt); - - return Qnil; -} - -/* - * call-seq: - * replace_entities=(boolean) - * - * Should this parser replace entities? &amp; will get converted to '&' if - * set to true - */ -static VALUE -set_replace_entities(VALUE self, VALUE value) -{ - xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(self); - - if (Qfalse == value) { - ctxt->replaceEntities = 0; - } else { - ctxt->replaceEntities = 1; - } - - return value; -} - -/* - * call-seq: - * replace_entities - * - * Should this parser replace entities? &amp; will get converted to '&' if - * set to true - */ -static VALUE -get_replace_entities(VALUE self) -{ - xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(self); - - if (0 == ctxt->replaceEntities) { - return Qfalse; - } else { - return Qtrue; - } -} - -/* - * call-seq: line - * - * Get the current line the parser context is processing. - */ -static VALUE -line(VALUE self) -{ - xmlParserInputPtr io; - xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(self); - - io = ctxt->input; - if (io) { - return INT2NUM(io->line); - } - - return Qnil; -} - -/* - * call-seq: column - * - * Get the current column the parser context is processing. - */ -static VALUE -column(VALUE self) -{ - xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(self); - xmlParserInputPtr io; - - io = ctxt->input; - if (io) { - return INT2NUM(io->col); - } - - return Qnil; -} - -/* - * call-seq: - * recovery=(boolean) - * - * Should this parser recover from structural errors? It will not stop processing - * file on structural errors if set to true - */ -static VALUE -set_recovery(VALUE self, VALUE value) -{ - xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(self); - - if (value == Qfalse) { - ctxt->recovery = 0; - } else { - ctxt->recovery = 1; - } - - return value; -} - -/* - * call-seq: - * recovery - * - * Should this parser recover from structural errors? It will not stop processing - * file on structural errors if set to true - */ -static VALUE -get_recovery(VALUE self) -{ - xmlParserCtxtPtr ctxt = noko_xml_sax_parser_context_unwrap(self); - - if (ctxt->recovery == 0) { - return Qfalse; - } else { - return Qtrue; - } -} - -void -noko_init_xml_sax_parser_context(void) -{ - cNokogiriXmlSaxParserContext = rb_define_class_under(mNokogiriXmlSax, "ParserContext", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlSaxParserContext); - - rb_define_singleton_method(cNokogiriXmlSaxParserContext, "io", parse_io, 2); - rb_define_singleton_method(cNokogiriXmlSaxParserContext, "memory", parse_memory, 1); - rb_define_singleton_method(cNokogiriXmlSaxParserContext, "file", parse_file, 1); - - rb_define_method(cNokogiriXmlSaxParserContext, "parse_with", parse_with, 1); - rb_define_method(cNokogiriXmlSaxParserContext, "replace_entities=", set_replace_entities, 1); - rb_define_method(cNokogiriXmlSaxParserContext, "replace_entities", get_replace_entities, 0); - rb_define_method(cNokogiriXmlSaxParserContext, "recovery=", set_recovery, 1); - rb_define_method(cNokogiriXmlSaxParserContext, "recovery", get_recovery, 0); - rb_define_method(cNokogiriXmlSaxParserContext, "line", line, 0); - rb_define_method(cNokogiriXmlSaxParserContext, "column", column, 0); - - id_read = rb_intern("read"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_push_parser.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_push_parser.c deleted file mode 100644 index 0181819..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_sax_push_parser.c +++ /dev/null @@ -1,187 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlSaxPushParser ; - -static void -xml_sax_push_parser_free(void *data) -{ - xmlParserCtxtPtr ctx = data; - if (ctx != NULL) { - NOKOGIRI_SAX_TUPLE_DESTROY(ctx->userData); - xmlFreeParserCtxt(ctx); - } -} - -static const rb_data_type_t xml_sax_push_parser_type = { - .wrap_struct_name = "Nokogiri::XML::SAX::PushParser", - .function = { - .dfree = xml_sax_push_parser_free, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -static VALUE -allocate(VALUE klass) -{ - return TypedData_Wrap_Struct(klass, &xml_sax_push_parser_type, NULL); -} - -xmlParserCtxtPtr -noko_xml_sax_push_parser_unwrap(VALUE rb_parser) -{ - xmlParserCtxtPtr c_parser; - TypedData_Get_Struct(rb_parser, xmlParserCtxt, &xml_sax_push_parser_type, c_parser); - return c_parser; -} - -/* - * call-seq: - * native_write(chunk, last_chunk) - * - * Write +chunk+ to PushParser. +last_chunk+ triggers the end_document handle - */ -static VALUE -native_write(VALUE self, VALUE _chunk, VALUE _last_chunk) -{ - xmlParserCtxtPtr ctx; - const char *chunk = NULL; - int size = 0; - - - ctx = noko_xml_sax_push_parser_unwrap(self); - - if (Qnil != _chunk) { - chunk = StringValuePtr(_chunk); - size = (int)RSTRING_LEN(_chunk); - } - - xmlSetStructuredErrorFunc(NULL, NULL); - - if (xmlParseChunk(ctx, chunk, size, Qtrue == _last_chunk ? 1 : 0)) { - if (!(ctx->options & XML_PARSE_RECOVER)) { - xmlErrorPtr e = xmlCtxtGetLastError(ctx); - Nokogiri_error_raise(NULL, e); - } - } - - return self; -} - -/* - * call-seq: - * initialize_native(xml_sax, filename) - * - * Initialize the push parser with +xml_sax+ using +filename+ - */ -static VALUE -initialize_native(VALUE self, VALUE _xml_sax, VALUE _filename) -{ - xmlSAXHandlerPtr sax; - const char *filename = NULL; - xmlParserCtxtPtr ctx; - - sax = noko_sax_handler_unwrap(_xml_sax); - - if (_filename != Qnil) { filename = StringValueCStr(_filename); } - - ctx = xmlCreatePushParserCtxt( - sax, - NULL, - NULL, - 0, - filename - ); - if (ctx == NULL) { - rb_raise(rb_eRuntimeError, "Could not create a parser context"); - } - - ctx->userData = NOKOGIRI_SAX_TUPLE_NEW(ctx, self); - - ctx->sax2 = 1; - DATA_PTR(self) = ctx; - return self; -} - -static VALUE -get_options(VALUE self) -{ - xmlParserCtxtPtr ctx; - - ctx = noko_xml_sax_push_parser_unwrap(self); - - return INT2NUM(ctx->options); -} - -static VALUE -set_options(VALUE self, VALUE options) -{ - xmlParserCtxtPtr ctx; - - ctx = noko_xml_sax_push_parser_unwrap(self); - - if (xmlCtxtUseOptions(ctx, (int)NUM2INT(options)) != 0) { - rb_raise(rb_eRuntimeError, "Cannot set XML parser context options"); - } - - return Qnil; -} - -/* - * call-seq: - * replace_entities - * - * Should this parser replace entities? &amp; will get converted to '&' if - * set to true - */ -static VALUE -get_replace_entities(VALUE self) -{ - xmlParserCtxtPtr ctx; - - ctx = noko_xml_sax_push_parser_unwrap(self); - - if (0 == ctx->replaceEntities) { - return Qfalse; - } else { - return Qtrue; - } -} - -/* - * call-seq: - * replace_entities=(boolean) - * - * Should this parser replace entities? &amp; will get converted to '&' if - * set to true - */ -static VALUE -set_replace_entities(VALUE self, VALUE value) -{ - xmlParserCtxtPtr ctx; - - ctx = noko_xml_sax_push_parser_unwrap(self); - - if (Qfalse == value) { - ctx->replaceEntities = 0; - } else { - ctx->replaceEntities = 1; - } - - return value; -} - -void -noko_init_xml_sax_push_parser(void) -{ - cNokogiriXmlSaxPushParser = rb_define_class_under(mNokogiriXmlSax, "PushParser", rb_cObject); - - rb_define_alloc_func(cNokogiriXmlSaxPushParser, allocate); - - rb_define_method(cNokogiriXmlSaxPushParser, "options", get_options, 0); - rb_define_method(cNokogiriXmlSaxPushParser, "options=", set_options, 1); - rb_define_method(cNokogiriXmlSaxPushParser, "replace_entities", get_replace_entities, 0); - rb_define_method(cNokogiriXmlSaxPushParser, "replace_entities=", set_replace_entities, 1); - - rb_define_private_method(cNokogiriXmlSaxPushParser, "initialize_native", initialize_native, 2); - rb_define_private_method(cNokogiriXmlSaxPushParser, "native_write", native_write, 2); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_schema.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_schema.c deleted file mode 100644 index a94c18d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_schema.c +++ /dev/null @@ -1,262 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlSchema; - -static void -xml_schema_deallocate(void *data) -{ - xmlSchemaPtr schema = data; - xmlSchemaFree(schema); -} - -static const rb_data_type_t xml_schema_type = { - .wrap_struct_name = "Nokogiri::XML::Schema", - .function = { - .dfree = xml_schema_deallocate, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -/* - * call-seq: - * validate_document(document) - * - * Validate a Nokogiri::XML::Document against this Schema. - */ -static VALUE -validate_document(VALUE self, VALUE document) -{ - xmlDocPtr doc; - xmlSchemaPtr schema; - xmlSchemaValidCtxtPtr valid_ctxt; - VALUE errors; - - TypedData_Get_Struct(self, xmlSchema, &xml_schema_type, schema); - doc = noko_xml_document_unwrap(document); - - errors = rb_ary_new(); - - valid_ctxt = xmlSchemaNewValidCtxt(schema); - - if (NULL == valid_ctxt) { - /* we have a problem */ - rb_raise(rb_eRuntimeError, "Could not create a validation context"); - } - -#ifdef HAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS - xmlSchemaSetValidStructuredErrors( - valid_ctxt, - Nokogiri_error_array_pusher, - (void *)errors - ); -#endif - - xmlSchemaValidateDoc(valid_ctxt, doc); - - xmlSchemaFreeValidCtxt(valid_ctxt); - - return errors; -} - -/* - * call-seq: - * validate_file(filename) - * - * Validate a file against this Schema. - */ -static VALUE -validate_file(VALUE self, VALUE rb_filename) -{ - xmlSchemaPtr schema; - xmlSchemaValidCtxtPtr valid_ctxt; - const char *filename ; - VALUE errors; - - TypedData_Get_Struct(self, xmlSchema, &xml_schema_type, schema); - filename = (const char *)StringValueCStr(rb_filename) ; - - errors = rb_ary_new(); - - valid_ctxt = xmlSchemaNewValidCtxt(schema); - - if (NULL == valid_ctxt) { - /* we have a problem */ - rb_raise(rb_eRuntimeError, "Could not create a validation context"); - } - -#ifdef HAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS - xmlSchemaSetValidStructuredErrors( - valid_ctxt, - Nokogiri_error_array_pusher, - (void *)errors - ); -#endif - - xmlSchemaValidateFile(valid_ctxt, filename, 0); - - xmlSchemaFreeValidCtxt(valid_ctxt); - - return errors; -} - -static VALUE -xml_schema_parse_schema( - VALUE klass, - xmlSchemaParserCtxtPtr c_parser_context, - VALUE rb_parse_options -) -{ - VALUE rb_errors; - int parse_options_int; - xmlSchemaPtr c_schema; - xmlExternalEntityLoader old_loader = 0; - VALUE rb_schema; - - if (NIL_P(rb_parse_options)) { - rb_parse_options = rb_const_get_at( - rb_const_get_at(mNokogiriXml, rb_intern("ParseOptions")), - rb_intern("DEFAULT_SCHEMA") - ); - } - - rb_errors = rb_ary_new(); - xmlSetStructuredErrorFunc((void *)rb_errors, Nokogiri_error_array_pusher); - -#ifdef HAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS - xmlSchemaSetParserStructuredErrors( - c_parser_context, - Nokogiri_error_array_pusher, - (void *)rb_errors - ); -#endif - - parse_options_int = (int)NUM2INT(rb_funcall(rb_parse_options, rb_intern("to_i"), 0)); - if (parse_options_int & XML_PARSE_NONET) { - old_loader = xmlGetExternalEntityLoader(); - xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader); - } - - c_schema = xmlSchemaParse(c_parser_context); - - if (old_loader) { - xmlSetExternalEntityLoader(old_loader); - } - - xmlSetStructuredErrorFunc(NULL, NULL); - xmlSchemaFreeParserCtxt(c_parser_context); - - if (NULL == c_schema) { - xmlErrorPtr error = xmlGetLastError(); - if (error) { - Nokogiri_error_raise(NULL, error); - } else { - rb_raise(rb_eRuntimeError, "Could not parse document"); - } - - return Qnil; - } - - rb_schema = TypedData_Wrap_Struct(klass, &xml_schema_type, c_schema); - rb_iv_set(rb_schema, "@errors", rb_errors); - rb_iv_set(rb_schema, "@parse_options", rb_parse_options); - - return rb_schema; -} - -/* - * call-seq: - * read_memory(string) → Nokogiri::XML::Schema - * - * Create a new schema parsed from the contents of +string+ - * - * [Parameters] - * - +string+: String containing XML to be parsed as a schema - * - * [Returns] Nokogiri::XML::Schema - */ -static VALUE -read_memory(int argc, VALUE *argv, VALUE klass) -{ - VALUE rb_content; - VALUE rb_parse_options; - xmlSchemaParserCtxtPtr c_parser_context; - - rb_scan_args(argc, argv, "11", &rb_content, &rb_parse_options); - - c_parser_context = xmlSchemaNewMemParserCtxt( - (const char *)StringValuePtr(rb_content), - (int)RSTRING_LEN(rb_content) - ); - - return xml_schema_parse_schema(klass, c_parser_context, rb_parse_options); -} - -/* - * call-seq: - * from_document(document) → Nokogiri::XML::Schema - * - * Create a new schema parsed from the +document+. - * - * [Parameters] - * - +document+: Nokogiri::XML::Document to be parsed - * - * [Returns] Nokogiri::XML::Schema - */ -static VALUE -rb_xml_schema_s_from_document(int argc, VALUE *argv, VALUE klass) -{ - VALUE rb_document; - VALUE rb_parse_options; - VALUE rb_schema; - xmlDocPtr c_document; - xmlSchemaParserCtxtPtr c_parser_context; - int defensive_copy_p = 0; - - rb_scan_args(argc, argv, "11", &rb_document, &rb_parse_options); - - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) { - rb_raise(rb_eTypeError, - "expected parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE, - rb_obj_class(rb_document)); - } - - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { - xmlNodePtr deprecated_node_type_arg; - // TODO: deprecate allowing Node - NOKO_WARN_DEPRECATION("Passing a Node as the first parameter to Schema.from_document is deprecated. Please pass a Document instead. This will become an error in a future release of Nokogiri."); - Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg); - c_document = deprecated_node_type_arg->doc; - } else { - c_document = noko_xml_document_unwrap(rb_document); - } - - if (noko_xml_document_has_wrapped_blank_nodes_p(c_document)) { - // see https://github.com/sparklemotion/nokogiri/pull/2001 - c_document = xmlCopyDoc(c_document, 1); - defensive_copy_p = 1; - } - - c_parser_context = xmlSchemaNewDocParserCtxt(c_document); - rb_schema = xml_schema_parse_schema(klass, c_parser_context, rb_parse_options); - - if (defensive_copy_p) { - xmlFreeDoc(c_document); - c_document = NULL; - } - - return rb_schema; -} - -void -noko_init_xml_schema(void) -{ - cNokogiriXmlSchema = rb_define_class_under(mNokogiriXml, "Schema", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlSchema); - - rb_define_singleton_method(cNokogiriXmlSchema, "read_memory", read_memory, -1); - rb_define_singleton_method(cNokogiriXmlSchema, "from_document", rb_xml_schema_s_from_document, -1); - - rb_define_private_method(cNokogiriXmlSchema, "validate_document", validate_document, 1); - rb_define_private_method(cNokogiriXmlSchema, "validate_file", validate_file, 1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_syntax_error.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_syntax_error.c deleted file mode 100644 index a5f0e1a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_syntax_error.c +++ /dev/null @@ -1,85 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlSyntaxError; - -void -Nokogiri_structured_error_func_save(libxmlStructuredErrorHandlerState *handler_state) -{ - /* this method is tightly coupled to the implementation of xmlSetStructuredErrorFunc */ - handler_state->user_data = xmlStructuredErrorContext; - handler_state->handler = xmlStructuredError; -} - -void -Nokogiri_structured_error_func_save_and_set(libxmlStructuredErrorHandlerState *handler_state, - void *user_data, - xmlStructuredErrorFunc handler) -{ - Nokogiri_structured_error_func_save(handler_state); - xmlSetStructuredErrorFunc(user_data, handler); -} - -void -Nokogiri_structured_error_func_restore(libxmlStructuredErrorHandlerState *handler_state) -{ - xmlSetStructuredErrorFunc(handler_state->user_data, handler_state->handler); -} - -void -Nokogiri_error_array_pusher(void *ctx, xmlErrorPtr error) -{ - VALUE list = (VALUE)ctx; - Check_Type(list, T_ARRAY); - rb_ary_push(list, Nokogiri_wrap_xml_syntax_error(error)); -} - -void -Nokogiri_error_raise(void *ctx, xmlErrorPtr error) -{ - rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error)); -} - -VALUE -Nokogiri_wrap_xml_syntax_error(xmlErrorPtr error) -{ - VALUE msg, e, klass; - - klass = cNokogiriXmlSyntaxError; - - if (error && error->domain == XML_FROM_XPATH) { - klass = cNokogiriXmlXpathSyntaxError; - } - - msg = (error && error->message) ? NOKOGIRI_STR_NEW2(error->message) : Qnil; - - e = rb_class_new_instance( - 1, - &msg, - klass - ); - - if (error) { - rb_iv_set(e, "@domain", INT2NUM(error->domain)); - rb_iv_set(e, "@code", INT2NUM(error->code)); - rb_iv_set(e, "@level", INT2NUM((short)error->level)); - rb_iv_set(e, "@file", RBSTR_OR_QNIL(error->file)); - rb_iv_set(e, "@line", INT2NUM(error->line)); - rb_iv_set(e, "@str1", RBSTR_OR_QNIL(error->str1)); - rb_iv_set(e, "@str2", RBSTR_OR_QNIL(error->str2)); - rb_iv_set(e, "@str3", RBSTR_OR_QNIL(error->str3)); - rb_iv_set(e, "@int1", INT2NUM(error->int1)); - rb_iv_set(e, "@column", INT2NUM(error->int2)); - } - - return e; -} - -void -noko_init_xml_syntax_error(void) -{ - assert(cNokogiriSyntaxError); - /* - * The XML::SyntaxError is raised on parse errors - */ - cNokogiriXmlSyntaxError = rb_define_class_under(mNokogiriXml, "SyntaxError", cNokogiriSyntaxError); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_text.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_text.c deleted file mode 100644 index bcdb6d4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_text.c +++ /dev/null @@ -1,62 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlText ; - -/* - * call-seq: - * new(content, document) - * - * Create a new Text element on the +document+ with +content+ - */ -static VALUE -rb_xml_text_s_new(int argc, VALUE *argv, VALUE klass) -{ - xmlDocPtr c_document; - xmlNodePtr c_node; - VALUE rb_string; - VALUE rb_document; - VALUE rb_rest; - VALUE rb_node; - - rb_scan_args(argc, argv, "2*", &rb_string, &rb_document, &rb_rest); - - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) { - rb_raise(rb_eTypeError, - "expected second parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE, - rb_obj_class(rb_document)); - } - - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { - xmlNodePtr deprecated_node_type_arg; - // TODO: deprecate allowing Node - NOKO_WARN_DEPRECATION("Passing a Node as the second parameter to Text.new is deprecated. Please pass a Document instead. This will become an error in a future release of Nokogiri."); - Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg); - c_document = deprecated_node_type_arg->doc; - } else { - c_document = noko_xml_document_unwrap(rb_document); - } - - c_node = xmlNewText((xmlChar *)StringValueCStr(rb_string)); - c_node->doc = c_document; - - noko_xml_document_pin_node(c_node); - - rb_node = noko_xml_node_wrap(klass, c_node) ; - rb_obj_call_init(rb_node, argc, argv); - - if (rb_block_given_p()) { rb_yield(rb_node); } - - return rb_node; -} - -void -noko_init_xml_text(void) -{ - assert(cNokogiriXmlCharacterData); - /* - * Wraps Text nodes. - */ - cNokogiriXmlText = rb_define_class_under(mNokogiriXml, "Text", cNokogiriXmlCharacterData); - - rb_define_singleton_method(cNokogiriXmlText, "new", rb_xml_text_s_new, -1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_xpath_context.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_xpath_context.c deleted file mode 100644 index 175f5a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xml_xpath_context.c +++ /dev/null @@ -1,486 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXmlXpathContext; - -/* - * these constants have matching declarations in - * ext/java/nokogiri/internals/NokogiriNamespaceContext.java - */ -static const xmlChar *NOKOGIRI_PREFIX = (const xmlChar *)"nokogiri"; -static const xmlChar *NOKOGIRI_URI = (const xmlChar *)"http://www.nokogiri.org/default_ns/ruby/extensions_functions"; -static const xmlChar *NOKOGIRI_BUILTIN_PREFIX = (const xmlChar *)"nokogiri-builtin"; -static const xmlChar *NOKOGIRI_BUILTIN_URI = (const xmlChar *)"https://www.nokogiri.org/default_ns/ruby/builtins"; - -static void -xml_xpath_context_deallocate(void *data) -{ - xmlXPathContextPtr c_context = data; - xmlXPathFreeContext(c_context); -} - -static const rb_data_type_t xml_xpath_context_type = { - .wrap_struct_name = "Nokogiri::XML::XPathContext", - .function = { - .dfree = xml_xpath_context_deallocate, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, -}; - -/* find a CSS class in an HTML element's `class` attribute */ -static const xmlChar * -builtin_css_class(const xmlChar *str, const xmlChar *val) -{ - int val_len; - - if (str == NULL) { return (NULL); } - if (val == NULL) { return (NULL); } - - val_len = xmlStrlen(val); - if (val_len == 0) { return (str); } - - while (*str != 0) { - if ((*str == *val) && !xmlStrncmp(str, val, val_len)) { - const xmlChar *next_byte = str + val_len; - - /* only match if the next byte is whitespace or end of string */ - if ((*next_byte == 0) || (IS_BLANK_CH(*next_byte))) { - return ((const xmlChar *)str); - } - } - - /* advance str to whitespace */ - while ((*str != 0) && !IS_BLANK_CH(*str)) { - str++; - } - - /* advance str to start of next word or end of string */ - while ((*str != 0) && IS_BLANK_CH(*str)) { - str++; - } - } - - return (NULL); -} - -/* xmlXPathFunction to wrap builtin_css_class() */ -static void -xpath_builtin_css_class(xmlXPathParserContextPtr ctxt, int nargs) -{ - xmlXPathObjectPtr hay, needle; - - CHECK_ARITY(2); - - CAST_TO_STRING; - needle = valuePop(ctxt); - if ((needle == NULL) || (needle->type != XPATH_STRING)) { - xmlXPathFreeObject(needle); - XP_ERROR(XPATH_INVALID_TYPE); - } - - CAST_TO_STRING; - hay = valuePop(ctxt); - if ((hay == NULL) || (hay->type != XPATH_STRING)) { - xmlXPathFreeObject(hay); - xmlXPathFreeObject(needle); - XP_ERROR(XPATH_INVALID_TYPE); - } - - if (builtin_css_class(hay->stringval, needle->stringval)) { - valuePush(ctxt, xmlXPathNewBoolean(1)); - } else { - valuePush(ctxt, xmlXPathNewBoolean(0)); - } - - xmlXPathFreeObject(hay); - xmlXPathFreeObject(needle); -} - - -/* xmlXPathFunction to select nodes whose local name matches, for HTML5 CSS queries that should - * ignore namespaces */ -static void -xpath_builtin_local_name_is(xmlXPathParserContextPtr ctxt, int nargs) -{ - xmlXPathObjectPtr element_name; - - assert(ctxt->context->node); - - CHECK_ARITY(1); - CAST_TO_STRING; - CHECK_TYPE(XPATH_STRING); - element_name = valuePop(ctxt); - - valuePush( - ctxt, - xmlXPathNewBoolean(xmlStrEqual(ctxt->context->node->name, element_name->stringval)) - ); - - xmlXPathFreeObject(element_name); -} - - -/* - * call-seq: - * register_ns(prefix, uri) → Nokogiri::XML::XPathContext - * - * Register the namespace with +prefix+ and +uri+ for use in future queries. - * - * [Returns] +self+ - */ -static VALUE -rb_xml_xpath_context_register_ns(VALUE rb_context, VALUE prefix, VALUE uri) -{ - xmlXPathContextPtr c_context; - - TypedData_Get_Struct( - rb_context, - xmlXPathContext, - &xml_xpath_context_type, - c_context - ); - - xmlXPathRegisterNs(c_context, - (const xmlChar *)StringValueCStr(prefix), - (const xmlChar *)StringValueCStr(uri) - ); - return rb_context; -} - -/* - * call-seq: - * register_variable(name, value) → Nokogiri::XML::XPathContext - * - * Register the variable +name+ with +value+ for use in future queries. - * - * [Returns] +self+ - */ -static VALUE -rb_xml_xpath_context_register_variable(VALUE rb_context, VALUE name, VALUE value) -{ - xmlXPathContextPtr c_context; - xmlXPathObjectPtr xmlValue; - - TypedData_Get_Struct( - rb_context, - xmlXPathContext, - &xml_xpath_context_type, - c_context - ); - - xmlValue = xmlXPathNewCString(StringValueCStr(value)); - - xmlXPathRegisterVariable( - c_context, - (const xmlChar *)StringValueCStr(name), - xmlValue - ); - - return rb_context; -} - - -/* - * convert an XPath object into a Ruby object of the appropriate type. - * returns Qundef if no conversion was possible. - */ -static VALUE -xpath2ruby(xmlXPathObjectPtr c_xpath_object, xmlXPathContextPtr c_context) -{ - VALUE rb_retval; - - assert(c_context->doc); - assert(DOC_RUBY_OBJECT_TEST(c_context->doc)); - - switch (c_xpath_object->type) { - case XPATH_STRING: - rb_retval = NOKOGIRI_STR_NEW2(c_xpath_object->stringval); - xmlFree(c_xpath_object->stringval); - return rb_retval; - - case XPATH_NODESET: - return noko_xml_node_set_wrap( - c_xpath_object->nodesetval, - DOC_RUBY_OBJECT(c_context->doc) - ); - - case XPATH_NUMBER: - return rb_float_new(c_xpath_object->floatval); - - case XPATH_BOOLEAN: - return (c_xpath_object->boolval == 1) ? Qtrue : Qfalse; - - default: - return Qundef; - } -} - -void -Nokogiri_marshal_xpath_funcall_and_return_values( - xmlXPathParserContextPtr ctxt, - int argc, - VALUE rb_xpath_handler, - const char *method_name -) -{ - VALUE rb_retval; - VALUE *argv; - VALUE rb_node_set = Qnil; - xmlNodeSetPtr c_node_set = NULL; - xmlXPathObjectPtr c_xpath_object; - - assert(ctxt->context->doc); - assert(DOC_RUBY_OBJECT_TEST(ctxt->context->doc)); - - argv = (VALUE *)ruby_xcalloc((size_t)argc, sizeof(VALUE)); - for (int j = 0 ; j < argc ; ++j) { - rb_gc_register_address(&argv[j]); - } - - for (int j = argc - 1 ; j >= 0 ; --j) { - c_xpath_object = valuePop(ctxt); - argv[j] = xpath2ruby(c_xpath_object, ctxt->context); - if (argv[j] == Qundef) { - argv[j] = NOKOGIRI_STR_NEW2(xmlXPathCastToString(c_xpath_object)); - } - xmlXPathFreeNodeSetList(c_xpath_object); - } - - rb_retval = rb_funcall2( - rb_xpath_handler, - rb_intern((const char *)method_name), - argc, - argv - ); - - for (int j = 0 ; j < argc ; ++j) { - rb_gc_unregister_address(&argv[j]); - } - ruby_xfree(argv); - - switch (TYPE(rb_retval)) { - case T_FLOAT: - case T_BIGNUM: - case T_FIXNUM: - xmlXPathReturnNumber(ctxt, NUM2DBL(rb_retval)); - break; - case T_STRING: - xmlXPathReturnString(ctxt, xmlCharStrdup(StringValueCStr(rb_retval))); - break; - case T_TRUE: - xmlXPathReturnTrue(ctxt); - break; - case T_FALSE: - xmlXPathReturnFalse(ctxt); - break; - case T_NIL: - break; - case T_ARRAY: { - VALUE construct_args[2] = { DOC_RUBY_OBJECT(ctxt->context->doc), rb_retval }; - rb_node_set = rb_class_new_instance(2, construct_args, cNokogiriXmlNodeSet); - c_node_set = noko_xml_node_set_unwrap(rb_node_set); - xmlXPathReturnNodeSet(ctxt, xmlXPathNodeSetMerge(NULL, c_node_set)); - } - break; - case T_DATA: - if (rb_obj_is_kind_of(rb_retval, cNokogiriXmlNodeSet)) { - c_node_set = noko_xml_node_set_unwrap(rb_retval); - /* Copy the node set, otherwise it will get GC'd. */ - xmlXPathReturnNodeSet(ctxt, xmlXPathNodeSetMerge(NULL, c_node_set)); - break; - } - default: - rb_raise(rb_eRuntimeError, "Invalid return type"); - } -} - -static void -method_caller(xmlXPathParserContextPtr ctxt, int argc) -{ - VALUE rb_xpath_handler = Qnil; - const char *method_name = NULL ; - - assert(ctxt); - assert(ctxt->context); - assert(ctxt->context->userData); - assert(ctxt->context->function); - - rb_xpath_handler = (VALUE)(ctxt->context->userData); - method_name = (const char *)(ctxt->context->function); - - Nokogiri_marshal_xpath_funcall_and_return_values( - ctxt, - argc, - rb_xpath_handler, - method_name - ); -} - -static xmlXPathFunction -handler_lookup(void *data, const xmlChar *c_name, const xmlChar *c_ns_uri) -{ - VALUE rb_handler = (VALUE)data; - if (rb_respond_to(rb_handler, rb_intern((const char *)c_name))) { - if (c_ns_uri == NULL) { - NOKO_WARN_DEPRECATION( - "A custom XPath or CSS handler function named '%s' is being invoked without a namespace." - " Please update your query to reference this function as 'nokogiri:%s'." - " Invoking custom handler functions without a namespace is deprecated and support will be removed in a future release of Nokogiri.", - c_name, c_name); - } - return method_caller; - } - - return NULL; -} - -PRINTFLIKE_DECL(2, 3) -static void -generic_exception_pusher(void *data, const char *msg, ...) -{ - VALUE rb_errors = (VALUE)data; - VALUE rb_message; - VALUE rb_exception; - - Check_Type(rb_errors, T_ARRAY); - -#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES - /* It is not currently possible to pass var args from native - functions to sulong, so we work around the issue here. */ - rb_message = rb_sprintf("generic_exception_pusher: %s", msg); -#else - va_list args; - va_start(args, msg); - rb_message = rb_vsprintf(msg, args); - va_end(args); -#endif - - rb_exception = rb_exc_new_str(cNokogiriXmlXpathSyntaxError, rb_message); - rb_ary_push(rb_errors, rb_exception); -} - -/* - * call-seq: - * evaluate(search_path, handler = nil) → Object - * - * Evaluate the +search_path+ query. - * - * [Returns] an object of the appropriate type for the query, which could be +NodeSet+, a +String+, - * a +Float+, or a boolean. - */ -static VALUE -rb_xml_xpath_context_evaluate(int argc, VALUE *argv, VALUE rb_context) -{ - VALUE search_path, xpath_handler; - VALUE retval = Qnil; - xmlXPathContextPtr c_context; - xmlXPathObjectPtr xpath; - xmlChar *query; - VALUE errors = rb_ary_new(); - - TypedData_Get_Struct( - rb_context, - xmlXPathContext, - &xml_xpath_context_type, - c_context - ); - - if (rb_scan_args(argc, argv, "11", &search_path, &xpath_handler) == 1) { - xpath_handler = Qnil; - } - - query = (xmlChar *)StringValueCStr(search_path); - - if (Qnil != xpath_handler) { - /* FIXME: not sure if this is the correct place to shove private data. */ - c_context->userData = (void *)xpath_handler; - xmlXPathRegisterFuncLookup( - c_context, - handler_lookup, - (void *)xpath_handler - ); - } - - xmlSetStructuredErrorFunc((void *)errors, Nokogiri_error_array_pusher); - xmlSetGenericErrorFunc((void *)errors, generic_exception_pusher); - - xpath = xmlXPathEvalExpression(query, c_context); - - xmlSetStructuredErrorFunc(NULL, NULL); - xmlSetGenericErrorFunc(NULL, NULL); - - if (xpath == NULL) { - rb_exc_raise(rb_ary_entry(errors, 0)); - } - - retval = xpath2ruby(xpath, c_context); - if (retval == Qundef) { - retval = noko_xml_node_set_wrap(NULL, DOC_RUBY_OBJECT(c_context->doc)); - } - - xmlXPathFreeNodeSetList(xpath); - - return retval; -} - -/* - * call-seq: - * new(node) - * - * Create a new XPathContext with +node+ as the context node. - */ -static VALUE -rb_xml_xpath_context_new(VALUE klass, VALUE rb_node) -{ - xmlNodePtr node; - xmlXPathContextPtr c_context; - VALUE rb_context; - - Noko_Node_Get_Struct(rb_node, xmlNode, node); - -#if LIBXML_VERSION < 21000 - /* deprecated in 40483d0 */ - xmlXPathInit(); -#endif - - c_context = xmlXPathNewContext(node->doc); - c_context->node = node; - - xmlXPathRegisterNs(c_context, NOKOGIRI_PREFIX, NOKOGIRI_URI); - xmlXPathRegisterNs(c_context, NOKOGIRI_BUILTIN_PREFIX, NOKOGIRI_BUILTIN_URI); - xmlXPathRegisterFuncNS( - c_context, - (const xmlChar *)"css-class", - NOKOGIRI_BUILTIN_URI, - xpath_builtin_css_class - ); - xmlXPathRegisterFuncNS( - c_context, - (const xmlChar *)"local-name-is", - NOKOGIRI_BUILTIN_URI, - xpath_builtin_local_name_is - ); - - rb_context = TypedData_Wrap_Struct( - klass, - &xml_xpath_context_type, - c_context - ); - return rb_context; -} - -void -noko_init_xml_xpath_context(void) -{ - /* - * XPathContext is the entry point for searching a +Document+ by using XPath. - */ - cNokogiriXmlXpathContext = rb_define_class_under(mNokogiriXml, "XPathContext", rb_cObject); - - rb_undef_alloc_func(cNokogiriXmlXpathContext); - - rb_define_singleton_method(cNokogiriXmlXpathContext, "new", rb_xml_xpath_context_new, 1); - - rb_define_method(cNokogiriXmlXpathContext, "evaluate", rb_xml_xpath_context_evaluate, -1); - rb_define_method(cNokogiriXmlXpathContext, "register_variable", rb_xml_xpath_context_register_variable, 2); - rb_define_method(cNokogiriXmlXpathContext, "register_ns", rb_xml_xpath_context_register_ns, 2); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xslt_stylesheet.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xslt_stylesheet.c deleted file mode 100644 index 097b8bf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/ext/nokogiri/xslt_stylesheet.c +++ /dev/null @@ -1,416 +0,0 @@ -#include <nokogiri.h> - -VALUE cNokogiriXsltStylesheet ; - -static void -mark(void *data) -{ - nokogiriXsltStylesheetTuple *wrapper = (nokogiriXsltStylesheetTuple *)data; - rb_gc_mark(wrapper->func_instances); -} - -static void -dealloc(void *data) -{ - nokogiriXsltStylesheetTuple *wrapper = (nokogiriXsltStylesheetTuple *)data; - xsltStylesheetPtr doc = wrapper->ss; - xsltFreeStylesheet(doc); - ruby_xfree(wrapper); -} - -static const rb_data_type_t xslt_stylesheet_type = { - .wrap_struct_name = "Nokogiri::XSLT::Stylesheet", - .function = { - .dmark = mark, - .dfree = dealloc, - }, - .flags = RUBY_TYPED_FREE_IMMEDIATELY -}; - -PRINTFLIKE_DECL(2, 3) -static void -xslt_generic_error_handler(void *ctx, const char *msg, ...) -{ - VALUE message; - -#ifdef TRUFFLERUBY_NOKOGIRI_SYSTEM_LIBRARIES - /* It is not currently possible to pass var args from native - functions to sulong, so we work around the issue here. */ - message = rb_sprintf("xslt_generic_error_handler: %s", msg); -#else - va_list args; - va_start(args, msg); - message = rb_vsprintf(msg, args); - va_end(args); -#endif - - rb_str_concat((VALUE)ctx, message); -} - -VALUE -Nokogiri_wrap_xslt_stylesheet(xsltStylesheetPtr ss) -{ - VALUE self; - nokogiriXsltStylesheetTuple *wrapper; - - self = TypedData_Make_Struct( - cNokogiriXsltStylesheet, - nokogiriXsltStylesheetTuple, - &xslt_stylesheet_type, - wrapper - ); - - ss->_private = (void *)self; - wrapper->ss = ss; - wrapper->func_instances = rb_ary_new(); - - return self; -} - -/* - * call-seq: - * parse_stylesheet_doc(document) - * - * Parse a stylesheet from +document+. - */ -static VALUE -parse_stylesheet_doc(VALUE klass, VALUE xmldocobj) -{ - xmlDocPtr xml, xml_cpy; - VALUE errstr, exception; - xsltStylesheetPtr ss ; - - xml = noko_xml_document_unwrap(xmldocobj); - - errstr = rb_str_new(0, 0); - xsltSetGenericErrorFunc((void *)errstr, xslt_generic_error_handler); - - xml_cpy = xmlCopyDoc(xml, 1); /* 1 => recursive */ - ss = xsltParseStylesheetDoc(xml_cpy); - - xsltSetGenericErrorFunc(NULL, NULL); - - if (!ss) { - xmlFreeDoc(xml_cpy); - exception = rb_exc_new3(rb_eRuntimeError, errstr); - rb_exc_raise(exception); - } - - return Nokogiri_wrap_xslt_stylesheet(ss); -} - - -/* - * call-seq: - * serialize(document) - * - * Serialize +document+ to an xml string. - */ -static VALUE -rb_xslt_stylesheet_serialize(VALUE self, VALUE xmlobj) -{ - xmlDocPtr xml ; - nokogiriXsltStylesheetTuple *wrapper; - xmlChar *doc_ptr ; - int doc_len ; - VALUE rval ; - - xml = noko_xml_document_unwrap(xmlobj); - TypedData_Get_Struct( - self, - nokogiriXsltStylesheetTuple, - &xslt_stylesheet_type, - wrapper - ); - xsltSaveResultToString(&doc_ptr, &doc_len, xml, wrapper->ss); - rval = NOKOGIRI_STR_NEW(doc_ptr, doc_len); - xmlFree(doc_ptr); - return rval ; -} - -/* - * call-seq: - * transform(document) - * transform(document, params = {}) - * - * Apply an XSLT stylesheet to an XML::Document. - * - * [Parameters] - * - +document+ (Nokogiri::XML::Document) the document to be transformed. - * - +params+ (Hash, Array) strings used as XSLT parameters. - * - * [Returns] Nokogiri::XML::Document - * - * *Example* of basic transformation: - * - * xslt = <<~XSLT - * <xsl:stylesheet version="1.0" - * xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - * - * <xsl:param name="title"/> - * - * <xsl:template match="/"> - * <html> - * <body> - * <h1><xsl:value-of select="$title"/></h1> - * <ol> - * <xsl:for-each select="staff/employee"> - * <li><xsl:value-of select="employeeId"></li> - * </xsl:for-each> - * </ol> - * </body> - * </html> - * </xsl:stylesheet> - * XSLT - * - * xml = <<~XML - * <?xml version="1.0"?> - * <staff> - * <employee> - * <employeeId>EMP0001</employeeId> - * <position>Accountant</position> - * </employee> - * <employee> - * <employeeId>EMP0002</employeeId> - * <position>Developer</position> - * </employee> - * </staff> - * XML - * - * doc = Nokogiri::XML::Document.parse(xml) - * stylesheet = Nokogiri::XSLT.parse(xslt) - * - * ⚠ Note that the +h1+ element is empty because no param has been provided! - * - * stylesheet.transform(doc).to_xml - * # => "<html><body>\n" + - * # "<h1></h1>\n" + - * # "<ol>\n" + - * # "<li>EMP0001</li>\n" + - * # "<li>EMP0002</li>\n" + - * # "</ol>\n" + - * # "</body></html>\n" - * - * *Example* of using an input parameter hash: - * - * ⚠ The title is populated, but note how we need to quote-escape the value. - * - * stylesheet.transform(doc, { "title" => "'Employee List'" }).to_xml - * # => "<html><body>\n" + - * # "<h1>Employee List</h1>\n" + - * # "<ol>\n" + - * # "<li>EMP0001</li>\n" + - * # "<li>EMP0002</li>\n" + - * # "</ol>\n" + - * # "</body></html>\n" - * - * *Example* using the XSLT.quote_params helper method to safely quote-escape strings: - * - * stylesheet.transform(doc, Nokogiri::XSLT.quote_params({ "title" => "Aaron's List" })).to_xml - * # => "<html><body>\n" + - * # "<h1>Aaron's List</h1>\n" + - * # "<ol>\n" + - * # "<li>EMP0001</li>\n" + - * # "<li>EMP0002</li>\n" + - * # "</ol>\n" + - * # "</body></html>\n" - * - * *Example* using an array of XSLT parameters - * - * You can also use an array if you want to. - * - * stylesheet.transform(doc, ["title", "'Employee List'"]).to_xml - * # => "<html><body>\n" + - * # "<h1>Employee List</h1>\n" + - * # "<ol>\n" + - * # "<li>EMP0001</li>\n" + - * # "<li>EMP0002</li>\n" + - * # "</ol>\n" + - * # "</body></html>\n" - * - * Or pass an array to XSLT.quote_params: - * - * stylesheet.transform(doc, Nokogiri::XSLT.quote_params(["title", "Aaron's List"])).to_xml - * # => "<html><body>\n" + - * # "<h1>Aaron's List</h1>\n" + - * # "<ol>\n" + - * # "<li>EMP0001</li>\n" + - * # "<li>EMP0002</li>\n" + - * # "</ol>\n" + - * # "</body></html>\n" - * - * See: Nokogiri::XSLT.quote_params - */ -static VALUE -rb_xslt_stylesheet_transform(int argc, VALUE *argv, VALUE self) -{ - VALUE rb_document, rb_param, rb_error_str; - xmlDocPtr c_document ; - xmlDocPtr c_result_document ; - nokogiriXsltStylesheetTuple *wrapper; - const char **params ; - long param_len, j ; - int parse_error_occurred ; - int defensive_copy_p = 0; - - rb_scan_args(argc, argv, "11", &rb_document, &rb_param); - if (NIL_P(rb_param)) { rb_param = rb_ary_new2(0L) ; } - if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) { - rb_raise(rb_eArgError, "argument must be a Nokogiri::XML::Document"); - } - - /* handle hashes as arguments. */ - if (T_HASH == TYPE(rb_param)) { - rb_param = rb_funcall(rb_param, rb_intern("to_a"), 0); - rb_param = rb_funcall(rb_param, rb_intern("flatten"), 0); - } - - Check_Type(rb_param, T_ARRAY); - - c_document = noko_xml_document_unwrap(rb_document); - TypedData_Get_Struct(self, nokogiriXsltStylesheetTuple, &xslt_stylesheet_type, wrapper); - - param_len = RARRAY_LEN(rb_param); - params = ruby_xcalloc((size_t)param_len + 1, sizeof(char *)); - for (j = 0 ; j < param_len ; j++) { - VALUE entry = rb_ary_entry(rb_param, j); - const char *ptr = StringValueCStr(entry); - params[j] = ptr; - } - params[param_len] = 0 ; - - xsltTransformContextPtr c_transform_context = xsltNewTransformContext(wrapper->ss, c_document); - if (xsltNeedElemSpaceHandling(c_transform_context) && - noko_xml_document_has_wrapped_blank_nodes_p(c_document)) { - // see https://github.com/sparklemotion/nokogiri/issues/2800 - c_document = xmlCopyDoc(c_document, 1); - defensive_copy_p = 1; - } - xsltFreeTransformContext(c_transform_context); - - rb_error_str = rb_str_new(0, 0); - xsltSetGenericErrorFunc((void *)rb_error_str, xslt_generic_error_handler); - xmlSetGenericErrorFunc((void *)rb_error_str, xslt_generic_error_handler); - - c_result_document = xsltApplyStylesheet(wrapper->ss, c_document, params); - - ruby_xfree(params); - if (defensive_copy_p) { - xmlFreeDoc(c_document); - c_document = NULL; - } - - xsltSetGenericErrorFunc(NULL, NULL); - xmlSetGenericErrorFunc(NULL, NULL); - - parse_error_occurred = (Qfalse == rb_funcall(rb_error_str, rb_intern("empty?"), 0)); - - if (parse_error_occurred) { - rb_exc_raise(rb_exc_new3(rb_eRuntimeError, rb_error_str)); - } - - return noko_xml_document_wrap((VALUE)0, c_result_document) ; -} - -static void -method_caller(xmlXPathParserContextPtr ctxt, int nargs) -{ - VALUE handler; - const char *function_name; - xsltTransformContextPtr transform; - const xmlChar *functionURI; - - transform = xsltXPathGetTransformContext(ctxt); - functionURI = ctxt->context->functionURI; - handler = (VALUE)xsltGetExtData(transform, functionURI); - function_name = (const char *)(ctxt->context->function); - - Nokogiri_marshal_xpath_funcall_and_return_values( - ctxt, - nargs, - handler, - (const char *)function_name - ); -} - -static void * -initFunc(xsltTransformContextPtr ctxt, const xmlChar *uri) -{ - VALUE modules = rb_iv_get(mNokogiriXslt, "@modules"); - VALUE obj = rb_hash_aref(modules, rb_str_new2((const char *)uri)); - VALUE args = { Qfalse }; - VALUE methods = rb_funcall(obj, rb_intern("instance_methods"), 1, args); - VALUE inst; - nokogiriXsltStylesheetTuple *wrapper; - int i; - - for (i = 0; i < RARRAY_LEN(methods); i++) { - VALUE method_name = rb_obj_as_string(rb_ary_entry(methods, i)); - xsltRegisterExtFunction( - ctxt, - (unsigned char *)StringValueCStr(method_name), - uri, - method_caller - ); - } - - TypedData_Get_Struct( - (VALUE)ctxt->style->_private, - nokogiriXsltStylesheetTuple, - &xslt_stylesheet_type, - wrapper - ); - inst = rb_class_new_instance(0, NULL, obj); - rb_ary_push(wrapper->func_instances, inst); - - return (void *)inst; -} - -static void -shutdownFunc(xsltTransformContextPtr ctxt, - const xmlChar *uri, void *data) -{ - nokogiriXsltStylesheetTuple *wrapper; - - TypedData_Get_Struct( - (VALUE)ctxt->style->_private, - nokogiriXsltStylesheetTuple, - &xslt_stylesheet_type, - wrapper - ); - - rb_ary_clear(wrapper->func_instances); -} - -/* docstring is in lib/nokogiri/xslt.rb */ -static VALUE -rb_xslt_s_register(VALUE self, VALUE uri, VALUE obj) -{ - VALUE modules = rb_iv_get(self, "@modules"); - if (NIL_P(modules)) { - rb_raise(rb_eRuntimeError, "internal error: @modules not set"); - } - - rb_hash_aset(modules, uri, obj); - xsltRegisterExtModule( - (unsigned char *)StringValueCStr(uri), - initFunc, - shutdownFunc - ); - return self; -} - -void -noko_init_xslt_stylesheet(void) -{ - rb_define_singleton_method(mNokogiriXslt, "register", rb_xslt_s_register, 2); - rb_iv_set(mNokogiriXslt, "@modules", rb_hash_new()); - - cNokogiriXsltStylesheet = rb_define_class_under(mNokogiriXslt, "Stylesheet", rb_cObject); - - rb_undef_alloc_func(cNokogiriXsltStylesheet); - - rb_define_singleton_method(cNokogiriXsltStylesheet, "parse_stylesheet_doc", parse_stylesheet_doc, 1); - rb_define_method(cNokogiriXsltStylesheet, "serialize", rb_xslt_stylesheet_serialize, 1); - rb_define_method(cNokogiriXsltStylesheet, "transform", rb_xslt_stylesheet_transform, -1); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/CHANGES.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/CHANGES.md deleted file mode 100644 index 277b3a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/CHANGES.md +++ /dev/null @@ -1,63 +0,0 @@ -## Gumbo 0.10.1 (2015-04-30) - -Same as 0.10.0, but with the version number bumped because the last version-number commit to v0.9.4 makes GitHub think that v0.9.4 is the latest version and so it's not highlighted on the webpage. - -## Gumbo 0.10.0 (2015-04-30) - -* Full support for `<template>` tag (kevinhendricks, nostrademons). -* Some fixes for `<rtc>`/`<rt>` handling (kevinhendricks, vmg). -* All html5lib-trunk tests pass now! (kevinhendricks, vmg, nostrademons) -* Support for fragment parsing (vmg) -* A couple additional example programs (kevinhendricks) -* Performance improvements totaling an estimated 30-40% total improvement (vmg, nostrademons). - -## Gumbo 0.9.4 (2015-04-30) - -* Additional Visual Studio fixes (lowjoel, nostrademons) -* Fixed some unused variable warnings. -* Fix for glibtoolize vs. libtoolize build errors on Mac. -* Fixed `CDATA` end tag handling. - -## Gumbo 0.9.3 (2015-02-17) - -* Bugfix for `&AElig;` entities (rgrove) -* Fix `CDATA` handling; `CDATA` sections now generate a `GUMBO_NODE_CDATA` node rather -than plain text. -* Fix `get_title example` to handle whitespace nodes (gsnedders) -* Visual Studio compilation fixes (fishioon) -* Take the namespace into account when determining whether a node matches a -certain tag (aroben) -* Replace the varargs tag functions with a tagset bytevector, for a 20-30% -speedup in overall parse time (kevinhendricks, vmg) -* Add MacOS X support to Travis CI, and fix the deployment/DLL issues this -uncovered (nostrademons, kevinhendricks, vmg) - -## Gumbo 0.9.2 (2014-09-21) - -* Performance improvements: Ragel-based char ref decoder and DFA-based UTF8 -decoder, totaling speedups of up to 300%. -* Added benchmarking program and some sample data. -* Fixed a compiler error under Visual Studio. -* Fix an error in the ctypes bindings that could lead to memory corruption in -the Python bindings. -* Fix duplicate attributes when parsing `<isindex>` tags. -* Don't leave semicolons behind when consuming entity references (rgrove) -* Internally rename some functions in preparation for an amalgamation file -(jdeng) -* Add proper cflags for gyp builds (skabbes) - -## Gumbo 0.9.1 (2014-08-07) - -* First version listed on PyPi. -* Autotools files excluded from GitHub and generated via autogen.sh. (endgame) -* Numerous compiler warnings fixed. (bnoordhuis, craigbarnes) -* Google security audit passed. -* Gyp support (tfarina) -* Naming convention for structs changed to avoid C reserved words. -* Fix several integer and buffer overflows (Maxime2) -* Some Visual Studio compiler support (bugparty) -* Python3 compatibility for the ctypes bindings. - -## Gumbo 0.9.0 (2013-08-13) - -* Initial release open-sourced by Google. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/Makefile deleted file mode 100644 index c2d0721..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/Makefile +++ /dev/null @@ -1,111 +0,0 @@ -.PHONY: all clean check coverage - -gumbo_objs := $(patsubst %.c,build/%.o,$(wildcard src/*.c)) -test_objs := $(patsubst %.cc,build/%.o,$(wildcard test/*.cc)) -gtest_lib := googletest/make/gtest_main.a - -# make SANITIZEFLAGS='-fsanitize=undefined -fsanitize=address' -SANITIZEFLAGS := -CPPFLAGS := -Isrc -CFLAGS := -std=c99 -Os -Wall -CXXFLAGS := -isystem googletest/include -std=c++11 -Os -Wall -LDFLAGS := -pthread - -all: check - -# don't try to regenerate ragel or gperf files in CI, that should be a development-only action and -# the generated files should be committed to SCM -ifneq ($(CI),true) -src/foreign_attrs.c: src/foreign_attrs.gperf - gperf -m100 -n $< | ./gperf-filter.sed > $@ - -src/%.c: src/%.gperf - gperf -m100 $< | ./gperf-filter.sed > $@ - -src/%.c: src/%.rl - ragel -F1 -o $@ $< -endif - -build/src: - mkdir -p $@ - -build/test: - mkdir -p $@ - -build/src/%.o: src/%.c build/src/flags | build/src - $(CC) -MMD $(CPPFLAGS) $(CFLAGS) $(SANITIZEFLAGS) -c -o $@ $< - -build/test/%.o: test/%.cc build/test/flags | build/test - $(CXX) -MMD $(CPPFLAGS) $(CXXFLAGS) $(SANITIZEFLAGS) -c -o $@ $< - -build/run_tests: $(gumbo_objs) $(test_objs) $(gtest_lib) - $(CXX) -o $@ $+ $(LDFLAGS) $(SANITIZEFLAGS) - -check: build/run_tests - ./build/run_tests - -coverage: - $(RM) build/{src,test}/*.gcda - $(RM) build/*.info - $(MAKE) CPPFLAGS='-Isrc -DNDEBUG=1' \ - CFLAGS='-std=c99 --coverage -g -O0' \ - CXXFLAGS='-isystem googletest/include -std=c++11 --coverage -g -O0' \ - LDFLAGS='--coverage' \ - build/run_tests - lcov --no-external \ - --initial \ - --capture \ - --base-directory . \ - --directory build \ - --output-file build/coverage-pre.info - awk -F '[:,]' \ - '/^SF:/ { delete defs } /^FN:/ { defs[$$2]=1 } /^DA:/ { if ($$3 == 0 && $$2 in defs) next } { print }' \ - build/coverage-pre.info > build/coverage-initial.info - ./build/run_tests - lcov --no-external \ - --capture \ - --base-directory . \ - --directory build \ - --rc lcov_branch_coverage=1 \ - --output-file build/coverage-test.info - lcov --add-tracefile build/coverage-initial.info \ - --add-tracefile build/coverage-test.info \ - --rc lcov_branch_coverage=1 \ - --output-file build/coverage.info - lcov --remove build/coverage.info '$(CURDIR)/googletest/*' \ - --rc lcov_branch_coverage=1 \ - --output-file build/coverage.info - genhtml --branch-coverage \ - --output-directory build/coverage \ - build/coverage.info - -clean: - $(RM) -r build - -build/src/flags: | build/src - @echo 'old_CC := $(CC)' > $@ - @echo 'old_CPPFLAGS := $(CPPFLAGS)' >> $@ - @echo 'old_CFLAGS := $(CFLAGS)' >>$@ - @echo 'old_SANITIZEFLAGS := $(SANITIZEFLAGS)' >> $@ - @echo 'old_LDFLAGS := $(LDFLAGS)' >> $@ - -build/test/flags: | build/test - @echo 'old_CXX := $(CXX)' > $@ - @echo 'old_CPPFLAGS := $(CPPFLAGS)' >> $@ - @echo 'old_CXXFLAGS := $(CXXFLAGS)' >> $@ - @echo 'old_SANITIZEFLAGS := $(SANITIZEFLAGS)' >> $@ - @echo 'old_LDFLAGS := $(LDFLAGS)' >> $@ - -ifeq (,$(filter clean coverage,$(MAKECMDGOALS))) -# Ensure that the flags are up to date. --include build/src/flags build/test/flags -ifneq ($(old_CC) | $(old_CPPFLAGS) | $(old_CFLAGS) | $(old_SANITIZEFLAGS) | $(old_LDFLAGS),$(CC) | $(CPPFLAGS) | $(CFLAGS) | $(SANITIZEFLAGS) | $(LDFLAGS)) -.PHONY: build/src/flags -endif -ifneq ($(old_CXX) | $(old_CPPFLAGS) | $(old_CXXFLAGS) | $(old_SANITIZEFLAGS) | $(old_LDFLAGS),$(CXX) | $(CPPFLAGS) | $(CXXFLAGS) | $(SANITIZEFLAGS) | $(LDFLAGS)) -.PHONY: build/test/flags -endif - -# Include dependencies. --include $(test_objs:.o=.d) $(gumbo_objs:.o=.d) -endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/THANKS b/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/THANKS deleted file mode 100644 index a5a4f3d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/nokogiri-1.15.4-x86_64-linux/gumbo-parser/THANKS +++ /dev/null @@ -1,27 +0,0 @@ -Gumbo HTML parser THANKS file - -Gumbo was originally written by Jonathan Tang, but many people helped out through suggestions, question-answering, code reviews, bugfixes, and organizational support. Here is a list of these people. Help me keep it complete and exempt of errors. - -Adam Barth -Adam Roben -Ben Noordhuis -Bowen Han -Constantinos Michael -Craig Barnes -Geoffrey Sneddon -Ian Hickson -Jack Deng -Joel Low -Jonathan Shneier -Kevin Hendricks -Mason Tang -Maxim Zakharov -Michal Zalewski -Neal Norwitz -Othar Hansson -Ryan Grove -Stefan Haustein -Steffen Meschkat -Steven Kabbes -Thiago Farina -Vicent Marti diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/.document b/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/.document deleted file mode 100644 index 0ad1bde..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/.document +++ /dev/null @@ -1,5 +0,0 @@ -lib/**/*.rb -bin/* -features/**/*.feature -- -LICENSE.md diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/CONTRIBUTING.md deleted file mode 100644 index 669e816..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/CONTRIBUTING.md +++ /dev/null @@ -1,23 +0,0 @@ -## Submitting a Pull Request - -0. Read our [Code of Conduct](CODE_OF_CONDUCT.md). -1. Check out [Hacking on Octokit](README.md#hacking-on-octokitrb) in the - README for bootstrapping the project for local development. -2. [Fork the repository.][fork] -3. [Create a topic branch.][branch] -4. Add specs for your unimplemented feature or bug fix. -5. Run `script/test`. If your specs pass, return to step 3. -6. Implement your feature or bug fix. -7. Run `script/test`. If your specs fail, return to step 5. -8. Run `open coverage/index.html`. If your changes are not completely covered - by your tests, return to step 4. -9. Add documentation for your feature or bug fix. -10. Run `bundle exec rake doc:yard`. If your changes are not 100% documented, go - back to step 8. -11. Add, commit, and push your changes. For documentation-only fixes, please - add "[ci skip]" to your commit message to avoid needless CI builds. -12. [Submit a pull request.][pr] - -[fork]: https://help.github.com/articles/fork-a-repo -[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/ -[pr]: https://help.github.com/articles/using-pull-requests diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/LICENSE.md deleted file mode 100644 index f198331..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/LICENSE.md +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2009-2017 Wynn Netherland, Adam Stacoviak, Erik Michaels-Ober - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/README.md deleted file mode 100644 index d457087..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/README.md +++ /dev/null @@ -1,820 +0,0 @@ -# Octokit - -Ruby toolkit for the GitHub API. - -![logo](https://docs.github.com/assets/images/gundamcat.png) - -Upgrading? Check the [Upgrade Guide](#upgrading-guide) before bumping to a new -[major version][semver]. - -## Table of Contents - -1. [Philosophy](#philosophy) -2. [Installation](#quick-start) -3. [Making requests](#making-requests) - 1. [Additional Query Parameters](#additional-query-parameters) -4. [Consuming resources](#consuming-resources) -5. [Accessing HTTP responses](#accessing-http-responses) -6. [Handling errors](#handling-errors) -7. [Authentication](#authentication) - 1. [Basic Authentication](#basic-authentication) - 2. [OAuth access tokens](#oauth-access-tokens) - 3. [Two-Factor Authentication](#two-factor-authentication) - 4. [Using a .netrc file](#using-a-netrc-file) - 5. [Application authentication](#application-authentication) -8. [Pagination](#pagination) - 1. [Auto pagination](#auto-pagination) -9. [Working with GitHub Enterprise](#working-with-github-enterprise) - 1. [Interacting with the GitHub.com APIs in GitHub Enterprise](#interacting-with-the-githubcom-apis-in-github-enterprise) - 2. [Interacting with the GitHub Enterprise Admin APIs](#interacting-with-the-github-enterprise-admin-apis) - 3. [Interacting with the GitHub Enterprise Management Console APIs](#interacting-with-the-github-enterprise-management-console-apis) - 4. [SSL Connection Errors](#ssl-connection-errors) -10. [Configuration and defaults](#configuration-and-defaults) - 1. [Configuring module defaults](#configuring-module-defaults) - 2. [Using ENV variables](#using-env-variables) - 3. [Timeouts](#timeouts) -11. [Hypermedia agent](#hypermedia-agent) - 1. [Hypermedia in Octokit](#hypermedia-in-octokit) - 2. [URI templates](#uri-templates) - 3. [The Full Hypermedia Experience™](#the-full-hypermedia-experience) -12. [Upgrading guide](#upgrading-guide) - 1. [Upgrading from 1.x.x](#upgrading-from-1xx) -13. [Advanced usage](#advanced-usage) - 1. [Debugging](#debugging) - 2. [Caching](#caching) -14. [Hacking on Octokit.rb](#hacking-on-octokitrb) - 1. [Code of Conduct](#code-of-conduct) - 2. [Running and writing new tests](#running-and-writing-new-tests) -15. [Supported Ruby Versions](#supported-ruby-versions) -16. [Versioning](#versioning) -17. [Making Repeating Requests](#making-repeating-requests) -18. [License](#license) - -## Philosophy - -API wrappers [should reflect the idioms of the language in which they were -written][wrappers]. Octokit.rb wraps the [GitHub API][github-api] in a flat API -client that follows Ruby conventions and requires little knowledge of REST. -Most methods have positional arguments for required input and an options hash -for optional parameters, headers, or other options: - -```ruby -client = Octokit::Client.new - -# Fetch a README with Accept header for HTML format -client.readme 'al3x/sovereign', :accept => 'application/vnd.github.html' -``` - -[wrappers]: http://wynnnetherland.com/journal/what-makes-a-good-api-wrapper -[github-api]: https://developer.github.com/v3/ - -## Installation - -Install via Rubygems - - gem install octokit - -... or add to your Gemfile - - gem "octokit", "~> 4.0" - -Access the library in Ruby: - - require 'octokit' - -## Making requests - -[API methods][] are available as client instance methods. - -```ruby -# Provide authentication credentials -client = Octokit::Client.new(:access_token => 'personal_access_token') - -# You can still use the username/password syntax by replacing the password value with your PAT. -# client = Octokit::Client.new(:login => 'defunkt', :password => 'personal_access_token') - -# Fetch the current user -client.user -``` - -### Additional query parameters - -When passing additional parameters to GET based request use the following syntax: - -```ruby - # query: { parameter_name: 'value' } - # Example: Get repository listing by owner in ascending order - client.repos({}, query: {type: 'owner', sort: 'asc'}) - - # Example: Get contents of a repository by ref - # https://api.github.com/repos/octokit/octokit.rb/contents/path/to/file.rb?ref=some-other-branch - client.contents('octokit/octokit.rb', path: 'path/to/file.rb', query: {ref: 'some-other-branch'}) -``` - -[api methods]: http://octokit.github.io/octokit.rb/method_list.html - -## Consuming resources - -Most methods return a `Resource` object which provides dot notation and `[]` -access for fields returned in the API response. - -```ruby -client = Octokit::Client.new - -# Fetch a user -user = client.user 'jbarnette' -puts user.name -# => "John Barnette" -puts user.fields -# => <Set: {:login, :id, :gravatar_id, :type, :name, :company, :blog, :location, :email, :hireable, :bio, :public_repos, :followers, :following, :created_at, :updated_at, :public_gists}> -puts user[:company] -# => "GitHub" -user.rels[:gists].href -# => "https://api.github.com/users/jbarnette/gists" -``` - -**Note:** URL fields are culled into a separate `.rels` collection for easier -[Hypermedia](#hypermedia-agent) support. - -## Accessing HTTP responses - -While most methods return a `Resource` object or a Boolean, sometimes you may -need access to the raw HTTP response headers. You can access the last HTTP -response with `Client#last_response`: - -```ruby -user = client.user 'andrewpthorp' -response = client.last_response -etag = response.headers[:etag] -``` - -## Handling errors - -When the API returns an error response, Octokit will raise a Ruby exception. - -A range of different exceptions can be raised depending on the error returned -by the API - for example: - -* A `400 Bad Request` response will lead to an `Octokit::BadRequest` error -* A `403 Forbidden` error with a "rate limited exceeded" message will lead - to a `Octokit::TooManyRequests` error - -All of the different exception classes inherit from `Octokit::Error` and -expose the `#response_status`, `#response_headers` and `#response_body`. -For validation errors, `#errors` will return an `Array` of `Hash`es -with the detailed information -[returned by the API](https://docs.github.com/en/rest/overview/resources-in-the-rest-api#client-errors). - -## Authentication - -Octokit supports the various [authentication methods supported by the GitHub -API][auth]: - -### Basic Authentication - -Using your GitHub username and password is the easiest way to get started -making authenticated requests: - -```ruby -client = Octokit::Client.new(:login => 'defunkt', :password => 'c0d3b4ssssss!') - -user = client.user -user.login -# => "defunkt" -``` - -While Basic Authentication allows you to get started quickly, OAuth access -tokens are the preferred way to authenticate on behalf of users. - -### OAuth access tokens - -[OAuth access tokens][oauth] provide two main benefits over using your username -and password: - -- **Revocable access**. Access tokens can be revoked, removing access for only - that token without having to change your password everywhere. -- **Limited access**. Access tokens have [access scopes][] which allow for more - granular access to API resources. For instance, you can grant a third party - access to your gists but not your private repositories. - -To use an access token with the Octokit client, pass your token in the -`:access_token` options parameter in lieu of your username and password: - -```ruby -client = Octokit::Client.new(:access_token => "<your 40 char token>") - -user = client.user -user.login -# => "defunkt" -``` - -You can [create access tokens through your GitHub Account Settings](https://help.github.com/articles/creating-an-access-token-for-command-line-use) -or with a basic authenticated Octokit client: - -```ruby -client = Octokit::Client.new(:login => 'defunkt', :password => 'c0d3b4ssssss!') - -client.create_authorization(:scopes => ["user"], :note => "Name of token") -# => <your new oauth token> -``` - -### Two-Factor Authentication - -[Two-Factor Authentication](https://help.github.com/articles/about-two-factor-authentication) brings added security to the account by requiring more information to login. - -Using two-factor authentication for API calls is as simple as adding the [required header](http://developer.github.com/v3/auth/#working-with-two-factor-authentication) as an option: - -```ruby -client = Octokit::Client.new \ - :login => 'defunkt', - :password => 'c0d3b4ssssss!' - -user = client.user("defunkt", :headers => { "X-GitHub-OTP" => "<your 2FA token>" }) -``` - -As you can imagine, this gets annoying quickly since two-factor auth tokens are very short lived. So it is recommended to create an oauth token for the user to communicate with the API: - -```ruby -client = Octokit::Client.new \ - :login => 'defunkt', - :password => 'c0d3b4ssssss!' - -client.create_authorization(:scopes => ["user"], :note => "Name of token", - :headers => { "X-GitHub-OTP" => "<your 2FA token>" }) -# => <your new oauth token> -``` - -### Using a .netrc file - -Octokit supports reading credentials from a netrc file (defaulting to -`~/.netrc`). Given these lines in your netrc: - -``` -machine api.github.com - login defunkt - password c0d3b4ssssss! -``` - -You can now create a client with those credentials: - -```ruby -client = Octokit::Client.new(:netrc => true) -client.login -# => "defunkt" -``` - -But _I want to use OAuth_ you say. Since the GitHub API supports using an OAuth -token as a Basic password, you totally can: - -``` -machine api.github.com - login defunkt - password <your 40 char token> -``` - -**Note:** Support for netrc requires adding the [netrc gem][] to your Gemfile -or `.gemspec`. - -### Application authentication - -Octokit also supports application-only authentication [using OAuth application client -credentials][app-creds]. Using application credentials will result in making -anonymous API calls on behalf of an application in order to take advantage of -the higher rate limit. - -```ruby -client = Octokit::Client.new \ - :client_id => "<your 20 char id>", - :client_secret => "<your 40 char secret>" - -user = client.user 'defunkt' -``` - -[auth]: http://developer.github.com/v3/#authentication -[oauth]: http://developer.github.com/v3/oauth/ -[access scopes]: http://developer.github.com/v3/oauth/#scopes -[app-creds]: http://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - -## Default results per_page - -Default results from the GitHub API are 30, if you wish to add more you must do so during Octokit configuration. - -```ruby -Octokit::Client.new(access_token: "<your 40 char token>", per_page: 100) -``` - -## Pagination - -Many GitHub API resources are [paginated][]. While you may be tempted to start -adding `:page` parameters to your calls, the API returns links to the next, -previous, and last pages for you in the `Link` response header as [Hypermedia -link relations](#hypermedia-agent). - -```ruby -issues = client.issues 'rails/rails' -issues.concat client.get(client.last_response.rels[:next].href) -``` - -### Auto pagination - -For smallish resource lists, Octokit provides auto pagination. When this is -enabled, calls for paginated resources will fetch and concatenate the results -from every page into a single array: - -```ruby -client.auto_paginate = true -issues = client.issues 'rails/rails' -issues.length - -# => 702 -``` - -You can also enable auto pagination for all Octokit client instances: - -```ruby -Octokit.configure do |c| - c.auto_paginate = true -end -``` - -**Note:** While Octokit auto pagination will set the page size to the maximum -`100`, and seek to not overstep your rate limit, you probably want to use a -custom pattern for traversing large lists. - -[paginated]: http://developer.github.com/v3/#pagination - -## Working with GitHub Enterprise - -With a bit of setup, you can also use Octokit with your GitHub Enterprise instance. - -### Interacting with the GitHub.com APIs in GitHub Enterprise - -To interact with the "regular" GitHub.com APIs in GitHub Enterprise, simply configure the `api_endpoint` to match your hostname. For example: - -```ruby -Octokit.configure do |c| - c.api_endpoint = "https://<hostname>/api/v3/" -end - -client = Octokit::Client.new(:access_token => "<your 40 char token>") -``` - -### Interacting with the GitHub Enterprise Admin APIs - -The GitHub Enterprise Admin APIs are under a different client: `EnterpriseAdminClient`. You'll need to have an administrator account in order to use these APIs. - -```ruby -admin_client = Octokit::EnterpriseAdminClient.new( - :access_token => "<your 40 char token>", - :api_endpoint => "https://<hostname>/api/v3/" -) - -# or -Octokit.configure do |c| - c.api_endpoint = "https://<hostname>/api/v3/" - c.access_token = "<your 40 char token>" -end - -admin_client = Octokit.enterprise_admin_client.new -``` - -### Interacting with the GitHub Enterprise Management Console APIs - -The GitHub Enterprise Management Console APIs are also under a separate client: `EnterpriseManagementConsoleClient`. In order to use it, you'll need to provide both your management console password as well as the endpoint to your management console. This is different from the API endpoint provided above. - -```ruby -management_console_client = Octokit::EnterpriseManagementConsoleClient.new( - :management_console_password => "secret", - :management_console_endpoint = "https://hostname:8633" -) - -# or -Octokit.configure do |c| - c.management_console_endpoint = "https://hostname:8633" - c.management_console_password = "secret" -end - -management_console_client = Octokit.enterprise_management_console_client.new -``` - -### SSL Connection Errors - -You _may_ need to disable SSL temporarily while first setting up your GitHub Enterprise install. You can do that with the following configuration: - -```ruby -client.connection_options[:ssl] = { :verify => false } -``` - -Do remember to turn `:verify` back to `true`, as it's important for secure communication. - -## Configuration and defaults - -While `Octokit::Client` accepts a range of options when creating a new client -instance, Octokit's configuration API allows you to set your configuration -options at the module level. This is particularly handy if you're creating a -number of client instances based on some shared defaults. Changing options -affects new instances only and will not modify existing `Octokit::Client` -instances created with previous options. - -### Configuring module defaults - -Every writable attribute in {Octokit::Configurable} can be set one at a time: - -```ruby -Octokit.api_endpoint = 'http://api.github.dev' -Octokit.web_endpoint = 'http://github.dev' -``` - -or in batch: - -```ruby -Octokit.configure do |c| - c.api_endpoint = 'http://api.github.dev' - c.web_endpoint = 'http://github.dev' -end -``` - -### Using ENV variables - -Default configuration values are specified in {Octokit::Default}. Many -attributes will look for a default value from the ENV before returning -Octokit's default. - -```ruby -# Given $OCTOKIT_API_ENDPOINT is "http://api.github.dev" -client.api_endpoint - -# => "http://api.github.dev" -``` - -Deprecation warnings and API endpoints in development preview warnings are -printed to STDOUT by default, these can be disabled by setting the ENV -`OCTOKIT_SILENT=true`. - -### Timeouts - -By default, Octokit does not timeout network requests. To set a timeout, pass in Faraday timeout settings to Octokit's `connection_options` setting. - -```ruby -Octokit.configure do |c| - c.api_endpoint = ENV.fetch('GITHUB_API_ENDPOINT', 'https://api.github.com/') - c.connection_options = { - request: { - open_timeout: 5, - timeout: 5 - } - } -end -``` - -You should set a timeout in order to avoid Ruby’s Timeout module, which can hose your server. Here are some resources for more information on this: - -- [The Oldest Bug In Ruby - Why Rack::Timeout Might Hose your Server](https://www.schneems.com/2017/02/21/the-oldest-bug-in-ruby-why-racktimeout-might-hose-your-server/) -- [Timeout: Ruby's Most Dangerous API](https://www.mikeperham.com/2015/05/08/timeout-rubys-most-dangerous-api/) -- [The Ultimate Guide to Ruby Timeouts](https://github.com/ankane/the-ultimate-guide-to-ruby-timeouts) - -## Hypermedia agent - -Starting in version 2.0, Octokit is [hypermedia][]-enabled. Under the hood, -{Octokit::Client} uses [Sawyer][], a hypermedia client built on [Faraday][]. - -### Hypermedia in Octokit - -Resources returned by Octokit methods contain not only data but hypermedia -link relations: - -```ruby -user = client.user 'technoweenie' - -# Get the repos rel, returned from the API -# as repos_url in the resource -user.rels[:repos].href -# => "https://api.github.com/users/technoweenie/repos" - -repos = user.rels[:repos].get.data -repos.last.name -# => "faraday-zeromq" -``` - -When processing API responses, all `*_url` attributes are culled into the link -relations collection. Any `url` attribute becomes `.rels[:self]`. - -### URI templates - -You might notice many link relations have variable placeholders. Octokit -supports [URI Templates][uri-templates] for parameterized URI expansion: - -```ruby -repo = client.repo 'pengwynn/pingwynn' -rel = repo.rels[:issues] -# => #<Sawyer::Relation: issues: get https://api.github.com/repos/pengwynn/pingwynn/issues{/number}> - -# Get a page of issues -rel.get.data - -# Get issue #2 -rel.get(:uri => {:number => 2}).data -``` - -### The Full Hypermedia Experience™ - -If you want to use Octokit as a pure hypermedia API client, you can start at -the API root and follow link relations from there: - -```ruby -root = client.root -root.rels[:repository].get :uri => {:owner => "octokit", :repo => "octokit.rb" } -root.rels[:user_repositories].get :uri => { :user => "octokit" }, - :query => { :type => "owner" } -``` - -Octokit 3.0 aims to be hypermedia-driven, removing the internal URL -construction currently used throughout the client. - -[hypermedia]: http://en.wikipedia.org/wiki/Hypermedia -[sawyer]: https://github.com/lostisland/sawyer -[faraday]: https://github.com/lostisland/faraday -[uri-templates]: http://tools.ietf.org/html/rfc6570 - -## Upgrading guide - -Version 4.0 - -- **removes support for a [long-deprecated overload][list-pulls] for - passing state as a positional argument** when listing pull requests. Instead, - pass `state` in the method options. -- **drops support for Ruby < 2.0**. -- adds support for new [Enterprise-only APIs](#working-with-github-enterprise). -- adds support for [Repository redirects][redirects]. - -[list-pulls]: https://github.com/octokit/octokit.rb/commit/e48e91f736d5fce51e3bf74d7c9022aaa52f5c5c -[redirects]: https://developer.github.com/changes/2015-05-26-repository-redirects-are-coming/ - -Version 3.0 includes a couple breaking changes when upgrading from v2.x.x: - -The [default media type][default-media-type] is now `v3` instead of `beta`. If -you need to request the older media type, you can set the default media type -for the client: - -```ruby -Octokit.default_media_type = "application/vnd.github.beta+json" -``` - -or per-request - -```ruby -client.emails(:accept => "application/vnd.github.beta+json") -``` - -The long-deprecated `Octokit::Client#create_download` method has been removed. - -[default-media-type]: https://developer.github.com/changes/2014-01-07-upcoming-change-to-default-media-type/ - -### Upgrading from 1.x.x - -Version 2.0 includes a completely rewritten `Client` factory that now memoizes -client instances based on unique configuration options. Breaking changes also -include: - -- `:oauth_token` is now `:access_token` -- `:auto_traversal` is now `:auto_paginate` -- `Hashie::Mash` has been removed. Responses now return a `Sawyer::Resource` - object. This new type behaves mostly like a Ruby `Hash`, but does not fully - support the `Hashie::Mash` API. -- Two new client error types are raised where appropriate: - `Octokit::TooManyRequests` and `Octokit::TooManyLoginAttempts` -- The `search_*` methods from v1.x are now found at `legacy_search_*` -- Support for netrc requires including the [netrc gem][] in your Gemfile or - gemspec. -- DateTime fields are now proper `DateTime` objects. Previous versions outputted DateTime fields as 'String' objects. - -[netrc gem]: https://rubygems.org/gems/netrc - -## Advanced usage - -Since Octokit employs [Faraday][faraday] under the hood, some behavior can be -extended via middleware. - -### Debugging - -Often, it helps to know what Octokit is doing under the hood. You can add a -logger to the middleware that enables you to peek into the underlying HTTP -traffic: - -```ruby -stack = Faraday::RackBuilder.new do |builder| - builder.use Faraday::Retry::Middleware, exceptions: [Octokit::ServerError] # or Faraday::Request::Retry for Faraday < 2.0 - builder.use Octokit::Middleware::FollowRedirects - builder.use Octokit::Response::RaiseError - builder.use Octokit::Response::FeedParser - builder.response :logger do |logger| - logger.filter(/(Authorization: "(token|Bearer) )(\w+)/, '\1[REMOVED]') - end - builder.adapter Faraday.default_adapter -end -Octokit.middleware = stack - -client = Octokit::Client.new -client.user 'pengwynn' -``` - -``` -I, [2013-08-22T15:54:38.583300 #88227] INFO -- : get https://api.github.com/users/pengwynn -D, [2013-08-22T15:54:38.583401 #88227] DEBUG -- request: Accept: "application/vnd.github.beta+json" -User-Agent: "Octokit Ruby Gem 2.0.0.rc4" -I, [2013-08-22T15:54:38.843313 #88227] INFO -- Status: 200 -D, [2013-08-22T15:54:38.843459 #88227] DEBUG -- response: server: "GitHub.com" -date: "Thu, 22 Aug 2013 20:54:40 GMT" -content-type: "application/json; charset=utf-8" -transfer-encoding: "chunked" -connection: "close" -status: "200 OK" -x-ratelimit-limit: "60" -x-ratelimit-remaining: "39" -x-ratelimit-reset: "1377205443" -... -``` - -See the [Faraday README][faraday] for more middleware magic. - -### Caching - -If you want to boost performance, stretch your API rate limit, or avoid paying -the hypermedia tax, you can use [Faraday Http Cache][cache]. - -Add the gem to your Gemfile - - gem 'faraday-http-cache' - -Next, construct your own Faraday middleware: - -```ruby -stack = Faraday::RackBuilder.new do |builder| - builder.use Faraday::HttpCache, serializer: Marshal, shared_cache: false - builder.use Octokit::Response::RaiseError - builder.adapter Faraday.default_adapter -end -Octokit.middleware = stack -``` - -Once configured, the middleware will store responses in cache based on ETag -fingerprint and serve those back up for future `304` responses for the same -resource. See the [project README][cache] for advanced usage. - -[cache]: https://github.com/plataformatec/faraday-http-cache -[faraday]: https://github.com/lostisland/faraday - -## Hacking on Octokit.rb - -If you want to hack on Octokit locally, we try to make [bootstrapping the -project][bootstrapping] as painless as possible. To start hacking, clone and run: - - script/bootstrap - -This will install project dependencies and get you up and running. If you want -to run a Ruby console to poke on Octokit, you can crank one up with: - - script/console - -Using the scripts in `./script` instead of `bundle exec rspec`, `bundle console`, etc. ensures your dependencies are up-to-date. - -### Code of Conduct - -We want both the Octokit.rb and larger Octokit communities to be open -and welcoming environments. Please read and follow both in spirit and -letter [Code of Conduct](CODE_OF_CONDUCT.md). - -### Running and writing new tests - -Octokit uses [VCR][] for recording and playing back API fixtures during test -runs. These cassettes (fixtures) are part of the Git project in the `spec/cassettes` -folder. If you're not recording new cassettes you can run the specs with existing -cassettes with: - - script/test - -Octokit uses environmental variables for storing credentials used in testing. -If you are testing an API endpoint that doesn't require authentication, you -can get away without any additional configuration. For the most part, tests -use an authenticated client, using a token stored in `ENV['OCTOKIT_TEST_GITHUB_TOKEN']`. -There are several different authentication methods used across the api. -Here is the full list of configurable environmental variables for testing -Octokit: - -| ENV Variable | Description | -| :----------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `OCTOKIT_TEST_GITHUB_LOGIN` | GitHub login name (preferably one created specifically for testing against). | -| `OCTOKIT_TEST_GITHUB_PASSWORD` | Password for the test GitHub login. | -| `OCTOKIT_TEST_GITHUB_TOKEN` | [Personal Access Token](https://github.com/blog/1509-personal-api-tokens) for the test GitHub login. | -| `OCTOKIT_TEST_GITHUB_CLIENT_ID` | Test OAuth application client id. | -| `OCTOKIT_TEST_GITHUB_CLIENT_SECRET` | Test OAuth application client secret. | -| `OCTOKIT_TEST_GITHUB_REPOSITORY` | Test repository to perform destructive actions against, this should not be set to any repository of importance. **Automatically created by the test suite if nonexistent** Default: `api-sandbox` | -| `OCTOKIT_TEST_GITHUB_ORGANIZATION` | Test organization. | -| `OCTOKIT_TEST_GITHUB_ENTERPRISE_LOGIN` | GitHub Enterprise login name. | -| `OCTOKIT_TEST_GITHUB_ENTERPRISE_TOKEN` | GitHub Enterprise token. | -| `OCTOKIT_TEST_GITHUB_ENTERPRISE_MANAGEMENT_CONSOLE_PASSWORD` | GitHub Enterprise management console password. | -| `OCTOKIT_TEST_GITHUB_ENTERPRISE_ENDPOINT` | GitHub Enterprise hostname. | -| `OCTOKIT_TEST_GITHUB_ENTERPRISE_MANAGEMENT_CONSOLE_ENDPOINT` | GitHub Enterprise Management Console endpoint. | -| `OCTOKIT_TEST_GITHUB_INTEGRATION` | [GitHub Integration](https://developer.github.com/early-access/integrations/) owned by your test organization. | -| `OCTOKIT_TEST_GITHUB_INTEGRATION_INSTALLATION` | Installation of the GitHub Integration specified above. | -| `OCTOKIT_TEST_INTEGRATION_PEM_KEY` | File path to the private key generated from your integration. | - -Since we periodically refresh our cassettes, please keep some points in mind -when writing new specs. - -- **Specs should be idempotent**. The HTTP calls made during a spec should be - able to be run over and over. This means deleting a known resource prior to - creating it if the name has to be unique. -- **Specs should be able to be run in random order.** If a spec depends on - another resource as a fixture, make sure that's created in the scope of the - spec and not depend on a previous spec to create the data needed. -- **Do not depend on authenticated user info.** Instead of asserting - actual values in resources, try to assert the existence of a key or that a - response is an Array. We're testing the client, not the API. - -[bootstrapping]: http://wynnnetherland.com/linked/2013012801/bootstrapping-consistency -[vcr]: https://github.com/vcr/vcr - -## Supported Ruby Versions - -This library aims to support and is [tested against][actions] the following Ruby -implementations: - -* Ruby 2.5 -* Ruby 2.6 -* Ruby 2.7 -* Ruby 3.0 -* Ruby 3.1 - -If something doesn't work on one of these Ruby versions, it's a bug. - -This library may inadvertently work (or seem to work) on other Ruby -implementations, but support will only be provided for the versions listed -above. - -If you would like this library to support another Ruby version, you may -volunteer to be a maintainer. Being a maintainer entails making sure all tests -run and pass on that implementation. When something breaks on your -implementation, you will be responsible for providing patches in a timely -fashion. If critical issues for a particular implementation exist at the time -of a major release, support for that Ruby version may be dropped. - -[actions]: https://github.com/octokit/octokit.rb/actions - -## Versioning - -This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations -of this scheme should be reported as bugs. Specifically, if a minor or patch -version is released that breaks backward compatibility, that version should be -immediately yanked and/or a new version should be immediately released that -restores compatibility. Breaking changes to the public API will only be -introduced with new major versions. As a result of this policy, you can (and -should) specify a dependency on this gem using the [Pessimistic Version -Constraint][pvc] with two digits of precision. For example: - - spec.add_dependency 'octokit', '~> 3.0' - -The changes made between versions can be seen on the [project releases page][releases]. - -[semver]: http://semver.org/ -[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint -[releases]: https://github.com/octokit/octokit.rb/releases - -## Making Repeating Requests - -In most cases it would be best to use [webhooks](https://developer.github.com/webhooks/), but sometimes webhooks don't provide all of the information needed. In those cases where one might need to poll for progress or retry a request on failure, we designed [Octopoller](https://github.com/octokit/octopoller.rb). Octopoller is a micro gem perfect for making repeating requests. - -```ruby -Octopoller.poll(timeout: 15.seconds) do - begin - client.request_progress # ex. request a long running job's status - rescue Error - :re_poll - end -end -``` - -This is useful when making requests for a long running job's progress (ex. requesting a [Source Import's progress](https://developer.github.com/v3/migrations/source_imports/#get-import-progress)). - -## License - -Copyright (c) 2009-2014 Wynn Netherland, Adam Stacoviak, Erik Michaels-Ober - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/Rakefile deleted file mode 100644 index bbf9355..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/Rakefile +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -require 'bundler' -Bundler::GemHelper.install_tasks - -require 'rspec/core/rake_task' -RSpec::Core::RakeTask.new(:spec) - -task test: :spec -task default: :spec - -namespace :doc do - begin - require 'yard' - YARD::Rake::YardocTask.new do |task| - task.files = ['README.md', 'LICENSE.md', 'lib/**/*.rb'] - task.options = [ - '--output-dir', 'doc/yard', - '--markup', 'markdown' - ] - end - rescue LoadError - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/octokit.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/octokit.gemspec deleted file mode 100644 index 3801d08..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/octokit-4.25.1/octokit.gemspec +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path('lib', __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'octokit/version' - -Gem::Specification.new do |spec| - spec.add_development_dependency 'bundler', '>= 1', '< 3' - spec.add_dependency 'faraday', '>= 1', '< 3' - spec.add_dependency 'sawyer', '~> 0.9' - spec.authors = ['Wynn Netherland', 'Erik Michaels-Ober', 'Clint Shryock'] - spec.description = 'Simple wrapper for the GitHub API' - spec.email = ['wynn.netherland@gmail.com', 'sferik@gmail.com', 'clint@ctshryock.com'] - spec.files = %w[.document CONTRIBUTING.md LICENSE.md README.md Rakefile octokit.gemspec] - spec.files += Dir.glob('lib/**/*.rb') - spec.homepage = 'https://github.com/octokit/octokit.rb' - spec.licenses = ['MIT'] - spec.name = 'octokit' - spec.require_paths = ['lib'] - spec.required_ruby_version = '>= 2.0.0' - spec.required_rubygems_version = '>= 1.3.5' - spec.summary = 'Ruby toolkit for working with the GitHub API' - spec.version = Octokit::VERSION.dup - spec.metadata = { 'rubygems_mfa_required' => 'true' } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/Gemfile deleted file mode 100644 index 60ea36c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/Gemfile +++ /dev/null @@ -1,22 +0,0 @@ -# Frozen-string-literal: true -# Copyright: 2015 - 2017 Jordon Bedwell - MIT License -# Encoding: utf-8 - -source "https://rubygems.org" -gem "rake", :require => false -gemspec - -group :test do - gem "safe_yaml", :require => false - gem "luna-rspec-formatters", :require => false - gem "simplecov", :require => false -end - -group :development do - gem "rspec", :require => false - gem "rspec-helpers", :require => false - gem "rubocop", :github => "bbatsov/rubocop", :require => false - gem "benchmark-ips", :require => false - gem "simple-ansi", :require => false - gem "pry", :require => false -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/LICENSE deleted file mode 100644 index 139db79..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015 - 2017 Jordon Bedwell - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/Rakefile deleted file mode 100644 index a090251..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/pathutil-0.16.2/Rakefile +++ /dev/null @@ -1,12 +0,0 @@ -# Frozen-string-literal: true -# Copyright: 2017 - 2018 - MIT License -# Source: https://github.com/envygeeks/devfiles -# Author: Jordon Bedwell -# Encoding: utf-8 - -task default: [:spec] -task(:spec) { exec "script/test" } -task(:test) { exec "script/test" } -Dir.glob("script/rake.d/*.rake").each do |v| - load v -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/FUNDING.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/FUNDING.yml deleted file mode 100644 index 085e1ac..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: "rubygems/public_suffix" -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: # Replace with a single custom sponsorship URL diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/dependabot.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/dependabot.yml deleted file mode 100644 index 1dbbb9a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/dependabot.yml +++ /dev/null @@ -1,8 +0,0 @@ -version: 2 -updates: -- package-ecosystem: bundler - directory: "/" - schedule: - interval: daily - time: "04:00" - open-pull-requests-limit: 10 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/workflows/release.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/workflows/release.yml deleted file mode 100644 index e3862e3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/workflows/release.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: release - -on: - push: - tags: - - v*.*.* -jobs: - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Release Gem - uses: cadwallion/publish-rubygems-action@8f9e0538302643309e4e43bf48cd34173ca48cfc - env: - RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }} - RELEASE_COMMAND: rake release diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/workflows/tests.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/workflows/tests.yml deleted file mode 100644 index a0f334a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.github/workflows/tests.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Tests - -on: - push: - pull_request: - workflow_dispatch: - -jobs: - build: - strategy: - matrix: - ruby-version: - - "2.6" - - "2.7" - - "3.0" - - "3.1" - platform: [ubuntu-latest] - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v2 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby-version }} - - name: Install dependencies - run: bundle install - - name: Run tests - run: bundle exec rake diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.rubocop.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.rubocop.yml deleted file mode 100644 index af922f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.rubocop.yml +++ /dev/null @@ -1,36 +0,0 @@ -inherit_from: - - .rubocop_opinionated.yml - -AllCops: - Exclude: - # Exclude .gemspec files because they are generally auto-generated - - '*.gemspec' - # Exclude vendored folders - - 'tmp/**/*' - - 'vendor/**/*' - # Exclude artifacts - - 'pkg/**/*' - # Other - - 'test/benchmarks/**/*' - - 'test/profilers/**/*' - -# I often use @_variable to avoid clashing. -Naming/MemoizedInstanceVariableName: - Enabled: false - -Style/ClassAndModuleChildren: - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - -# Dear Rubocop, I don't want to use String#strip_heredoc -Layout/HeredocIndentation: - Enabled: false - -Style/WordArray: - Enabled: false - MinSize: 3 - -Style/SymbolArray: - Enabled: false - MinSize: 3 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.rubocop_opinionated.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.rubocop_opinionated.yml deleted file mode 100644 index 761e2c7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.rubocop_opinionated.yml +++ /dev/null @@ -1,163 +0,0 @@ -AllCops: - Exclude: - # Exclude .gemspec files because they are generally auto-generated - - '*.gemspec' - # Exclude vendored folders - - 'tmp/**/*' - - 'vendor/**/*' - NewCops: enable - -# [codesmell] -Layout/LineLength: - Enabled: false - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - Max: 100 - -Lint/ConstantDefinitionInBlock: - Exclude: - - 'Rakefile' - - 'spec/**/*' - - 'test/**/*' - -# [codesmell] -Metrics/AbcSize: - Enabled: false - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - -# [codesmell] -Metrics/BlockLength: - Enabled: false - -# [codesmell] -Metrics/CyclomaticComplexity: - Enabled: false - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - -# [codesmell] -Metrics/ClassLength: - Enabled: false - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - -# [codesmell] -Metrics/MethodLength: - Enabled: false - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - Max: 10 - -# [codesmell] -Metrics/ModuleLength: - Enabled: false - Exclude: - - 'spec/**/*_spec.rb' - - 'test/**/*_test.rb' - -# [codesmell] -Metrics/ParameterLists: - Enabled: false - Max: 5 - -# [codesmell] -Metrics/PerceivedComplexity: - Enabled: false - -# Do not use "and" or "or" in conditionals, but for readability we can use it -# to chain executions. Just beware of operator order. -Style/AndOr: - EnforcedStyle: conditionals - -Style/Documentation: - Exclude: - - 'spec/**/*' - - 'test/**/*' - -# Double empty lines are useful to separate conceptually different methods -# in the same class or module. -Layout/EmptyLines: - Enabled: false - -# In most cases, a space is nice. Sometimes, it's not. -# Just be consistent with the rest of the surrounding code. -Layout/EmptyLinesAroundClassBody: - Enabled: false - -# In most cases, a space is nice. Sometimes, it's not. -# Just be consistent with the rest of the surrounding code. -Layout/EmptyLinesAroundModuleBody: - Enabled: false - -# This is quite buggy, as it doesn't recognize double lines. -# Double empty lines are useful to separate conceptually different methods -# in the same class or module. -Layout/EmptyLineBetweenDefs: - Enabled: false - -# I personally don't care about the format style. -# In most cases I like to use %, but not at the point I want to enforce it -# as a convention in the entire code. -Style/FormatString: - Enabled: false - -# Annotated tokens (like %<foo>s) are a good thing, but in most cases we don't need them. -# %s is a simpler and straightforward version that works in almost all cases. So don't complain. -Style/FormatStringToken: - Enabled: false - -# unless is not always cool. -Style/NegatedIf: - Enabled: false - -# For years, %w() has been the de-facto standard. A lot of libraries are using (). -# Switching to [] would be a nightmare. -Style/PercentLiteralDelimiters: - Enabled: false - -# There are cases were the inline rescue is ok. We can either downgrade the severity, -# or rely on the developer judgement on a case-by-case basis. -Style/RescueModifier: - Enabled: false - -Style/SymbolArray: - EnforcedStyle: brackets - -# Sorry, but using trailing spaces helps readability. -# -# %w( foo bar ) -# -# looks better to me than -# -# %w( foo bar ) -# -Layout/SpaceInsidePercentLiteralDelimiters: - Enabled: false - -# Hate It or Love It, I prefer double quotes as this is more consistent -# with several other programming languages and the output of puts and inspect. -Style/StringLiterals: - EnforcedStyle: double_quotes - -# It's nice to be consistent. The trailing comma also allows easy reordering, -# and doesn't cause a diff in Git when you add a line to the bottom. -Style/TrailingCommaInArrayLiteral: - EnforcedStyleForMultiline: consistent_comma -Style/TrailingCommaInHashLiteral: - EnforcedStyleForMultiline: consistent_comma - -Style/TrivialAccessors: - # IgnoreClassMethods because I want to be able to define class-level accessors - # that sets an instance variable on the metaclass, such as: - # - # def self.default=(value) - # @default = value - # end - # - IgnoreClassMethods: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.yardopts b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.yardopts deleted file mode 100644 index 0a782de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/.yardopts +++ /dev/null @@ -1 +0,0 @@ ---title 'Ruby Public Suffix API Documentation' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/2.0-Upgrade.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/2.0-Upgrade.md deleted file mode 100644 index 1a10bfb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/2.0-Upgrade.md +++ /dev/null @@ -1,52 +0,0 @@ -# Welcome to PublicSuffix 2.0! - -PublicSuffix 2.0 contains a rewritten internal representation and comparison logic, that drastically increases the lookup performance. The new version also changes several internal and external API. - -This document documents the most relevant changes to help you upgrading from PublicSuffix 1.0 to 2.0. - -## What's New - -- The library is now 100% compliants with the official PublicSuffix tests. The major breaking change you may experience, is that if a domain passed as input doesn't match any rule, the rule `*` is assumed. You can override this behavior by passing a custom default rule with the `default_rule` option. The old behavior can be restored by passing `default_rule: nil`. -- `PublicSuffix.domain` is a new method that parses the input and returns the domain (combination of second level domain + suffix). This is a convenient helper to parse a domain name, for example when you need to determine the cookie or SSL scope. -- Added the ability to disable the use of private domains either at runtime, in addition to the ability to not load the private domains section when reading the list (`private_domains: false`). This feature also superseded the `private_domains` class-level attribute, that is no longer available. - -## Upgrade - -When upgrading, here's the most relevant changes to keep an eye on: - -- Several futile utility helpers were removed, such as `Domain#rule`, `Domain#is_a_domain?`, `Domain#is_a_subdomain?`, `Domain#valid?`. You can easily obtain the same result by having a custom method that reconstructs the logic, and/or calling `PublicSuffix.{domain|parse}(domain.to_s)`. -- `PublicSuffix::List.private_domains` is no longer available. Instead, you now have two ways to enable/disable the private domains: - - 1. At runtime, by using the `ignore_private` option - - ```ruby - PublicSuffix.domain("something.blogspot.com", ignore_private: true) - ``` - - 1. Loading a filtered list: - - ```ruby - # Disable support for private TLDs - PublicSuffix::List.default = PublicSuffix::List.parse(File.read(PublicSuffix::List::DEFAULT_LIST_PATH), private_domains: false) - # => "blogspot.com" - PublicSuffix.domain("something.blogspot.com") - # => "blogspot.com" - ``` -- Now that the library is 100% compliant with the official PublicSuffix algorithm, if a domain passed as input doesn't match any rule, the wildcard rule `*` is assumed. This means that unlisted TLDs will be considered valid by default, when they would have been invalid in 1.x. However, you can override this behavior to emulate the 1.x behavior if needed: - - ```ruby - # 1.x: - - PublicSuffix.valid?("google.commm") - # => false - - # 2.x: - - PublicSuffix.valid?("google.commm") - # => true - - # Overriding 2.x behavior if needed: - - PublicSuffix.valid?("google.commm", default_rule: nil) - # => false - ```` diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/CHANGELOG.md deleted file mode 100644 index b6178f5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/CHANGELOG.md +++ /dev/null @@ -1,417 +0,0 @@ -# Changelog - -This project uses [Semantic Versioning 2.0.0](https://semver.org/). - - -## 4.0.7 - -### Fixes - -- Fixed YARD rake task (GH-179) - -### Changed - -- Updated definitions. - - -## 4.0.6 - -### Changed - -- Updated definitions. - - -## 4.0.5 - -### Changed - -- Updated definitions. - - -## 4.0.4 - -### Changed - -- Updated definitions. - - -## 4.0.3 - -### Fixed - -- Fixed 2.7 deprecations and warnings (GH-167). [Thanks @BrianHawley] - - -## 4.0.2 - -### Changed - -- Updated definitions. - - -## 4.0.1 - -### Changed - -- Updated definitions. - - -## 4.0.0 - -### Changed - -- Minimum Ruby version is 2.3 - - -## Release 3.1.1 - -- CHANGED: Updated definitions. -- CHANGED: Rolled back support for Ruby 2.3 (GH-161, GH-162) - -IMPORTANT: 3.x is the latest version compatible with Ruby 2.1 and Ruby 2.2. - - -## Release 3.1.0 - -- CHANGED: Updated definitions. -- CHANGED: Minimum Ruby version is 2.3 -- CHANGED: Upgraded to Bundler 2.x - - -## Release 3.0.3 - -- CHANGED: Updated definitions. - - -## Release 3.0.2 - -- CHANGED: Updated definitions. - - -## Release 3.0.1 - -- CHANGED: Updated definitions. -- CHANGED: Improve performance and avoid allocation (GH-146). [Thanks @robholland] - - -## Release 3.0.0 - -This new version includes a major redesign of the library internals, with the goal to drastically -improve the lookup time while reducing storage space. - -For this reason, several public methods that are no longer applicable have been deprecated -and/or removed. You can find more information at GH-133. - -- CHANGED: Updated definitions. -- CHANGED: Dropped support for Ruby < 2.1 -- CHANGED: `PublicSuffix::List#rules` is now protected. You should not rely on it as the internal rule representation is subject to change to optimize performances. -- CHANGED: Removed `PublicSuffix::List.clear`, it was an unnecessary accessor method. Use `PublicSuffix::List.default = nil` if you **really** need to reset the default list. You shouldn't. -- CHANGED: `PublicSuffix::List#select` is now private. You should not use it, instead use `PublicSuffix::List#find`. -- CHANGED: `PublicSuffix::List` no longer implements Enumerable. Instead, use `#each` to loop over, or get an Enumerator. -- CHANGED: Redesigned internal list storage and lookup algorithm to achieve O(1) lookup time (see GH-133). - - -## Release 2.0.5 - -- CHANGED: Updated definitions. -- CHANGED: Initialization performance improvements (GH-128). [Thanks @casperisfine] - - -## Release 2.0.4 - -- FIXED: Fix a bug that caused the GEM to be published with the wrong version number in the gemspec (GH-121). - -- CHANGED: Updated definitions. - - -## Release 2.0.3 - -- CHANGED: Updated definitions. - - -## Release 2.0.2 - -- CHANGED: Updated definitions. - - -## Release 2.0.1 - -- FIXED: Fix bug that prevented .valid? to reset the default rule - - -## Release 2.0.0 - -- NEW: Added PublicSuffix.domain # => sld.tld -- NEW: Added the ability to disable the use of private domains either at runtime, in addition to the ability to not load the private domains section when reading the list (`private_domains: false`). This feature also superseded the `private_domains` class-level attribute, that is no longer available. - -- CHANGED: Considerable performance improvements (GH-92) -- CHANGED: Updated definitions. -- CHANGED: Removed deprecated PublicSuffix::InvalidDomain exception -- CHANGED: If the suffix is now listed, then the prevaling rule is "*" as defined by the PSL algorithm (GH-91) -- CHANGED: Input validation is performed only if you call `PublicSuffix.parse` or `PublicSuffix.list` -- CHANGED: Input with leading dot is invalid per PSL acceptance tests -- CHANGED: Removed `private_domains` class-level attribute. It is replaced by the `private_domains: false` option in the list parse method. -- CHANGED: The default list now assumes you use UTF-8 for reading the input (GH-94), - -- REMOVED: Removed futile utility helpers such as `Domain#rule`, `Domain#is_a_domain?`, `Domain#is_a_subdomain?`, `Domain#valid?`. You can easily obtain the same result by having a custom method that reconstructs the logic, and/or calling `PublicSuffix.{domain|parse}(domain.to_s)`. - - -## Release 1.5.3 - -- FIXED: Don't duplicate rule indices when creating index (GH-77). [Thanks @ags] - -- CHANGED: Updated definitions. - - -## Release 1.5.2 - -- CHANGED: Updated definitions. - - -## Release 1.5.1 - -- FIXED: Ignore case for parsing and validating (GH-62) - -- CHANGED: Updated definitions. - - -## Release 1.5.0 - -- CHANGED: Dropped support for Ruby < 2.0 - -- CHANGED: Updated definitions. - - -## Release 1.4.6 - -- CHANGED: Updated definitions. - - -## Release 1.4.5 - -- CHANGED: Updated definitions. - - -## Release 1.4.4 - -- CHANGED: Updated definitions. - - -## Release 1.4.3 - -- CHANGED: Updated definitions. - - -## Release 1.4.2 - -- CHANGED: Updated definitions. - - -## Release 1.4.1 - -- CHANGED: Updated definitions. - - -## Release 1.4.0 - -- CHANGED: Moved the definitions in the lib folder. - -- CHANGED: Updated definitions. - - -## Release 1.3.3 - -- CHANGED: Updated definitions. - - -## Release 1.3.2 - -- CHANGED: Updated definitions. - - -## Release 1.3.1 - -- CHANGED: Updated definitions. - - -## Release 1.3.0 - -- NEW: Ability to skip Private Domains (GH-28). [Thanks @rb2k] - -- CHANGED: Updated definitions. - - -## Release 1.2.1 - -- CHANGED: Updated definitions. - - -## Release 1.2.0 - -- NEW: Allow a custom List on `PublicSuffix.parse` (GH-26). [Thanks @itspriddle] - -- FIXED: PublicSuffix.parse and PublicSuffix.valid? crashes when input is nil (GH-20). - -- CHANGED: Updated definitions. - - -## Release 1.1.3 - -- CHANGED: Updated definitions. - - -## Release 1.1.2 - -- CHANGED: Updated definitions. - - -## Release 1.1.1 - -- CHANGED: Updated definitions. - - -## Release 1.1.0 - -- FIXED: #valid? and #parse consider URIs as valid domains (GH-15) - -- CHANGED: Updated definitions. - -- CHANGED: Removed deprecatd PublicSuffixService::RuleList. - - -## Release 1.0.0 - -- CHANGED: Updated definitions. - - -## Release 1.0.0.rc1 - -The library is now known as PublicSuffix. - - -## Release 0.9.1 - -- CHANGED: Renamed PublicSuffixService::RuleList to PublicSuffixService::List. - -- CHANGED: Renamed PublicSuffixService::List#list to PublicSuffixService::List#rules. - -- CHANGED: Renamed PublicSuffixService to PublicSuffix. - -- CHANGED: Updated definitions. - - -## Release 0.9.0 - -- CHANGED: Minimum Ruby version increased to Ruby 1.8.7. - -- CHANGED: rake/gempackagetask is deprecated. Use rubygems/package_task instead. - - -## Release 0.8.4 - -- FIXED: Reverted bugfix for issue #12 for Ruby 1.8.6. - This is the latest version compatible with Ruby 1.8.6. - - -## Release 0.8.3 - -- FIXED: Fixed ArgumentError: invalid byte sequence in US-ASCII with Ruby 1.9.2 (#12). - -- CHANGED: Updated definitions (#11). - -- CHANGED: Renamed definitions.txt to definitions.dat. - - -## Release 0.8.2 - -- NEW: Added support for rubygems-test. - -- CHANGED: Integrated Bundler. - -- CHANGED: Updated definitions. - - -## Release 0.8.1 - -- FIXED: The files in the release 0.8.0 have wrong permission 600 and can't be loaded (#10). - - -## Release 0.8.0 - -- CHANGED: Update public suffix list to d1a5599b49fa 2010-10-25 15:10 +0100 (#9) - -- NEW: Add support for Fully Qualified Domain Names (#7) - - -## Release 0.7.0 - -- CHANGED: Using YARD to document the code instead of RDoc. - -- FIXED: RuleList cache is not recreated when a new rule is appended to the list (#6) - -- FIXED: PublicSuffixService.valid? should return false if the domain is not defined or not allowed (#4, #5) - - -## Release 0.6.0 - -- NEW: PublicSuffixService.parse raises DomainNotAllowed when trying to parse a domain name - which exists, but is not allowed by the current definition list (#3) - - PublicSuffixService.parse("nic.do") - # => PublicSuffixService::DomainNotAllowed - -- CHANGED: Renamed PublicSuffixService::InvalidDomain to PublicSuffixService::DomainInvalid - - -## Release 0.5.2 - -- CHANGED: Update public suffix list to 248ea690d671 2010-09-16 18:02 +0100 - - -## Release 0.5.1 - -- CHANGED: Update public suffix list to 14dc66dd53c1 2010-09-15 17:09 +0100 - - -## Release 0.5.0 - -- CHANGED: Improve documentation for Domain#domain and Domain#subdomain (#1). - -- CHANGED: Performance improvements (#2). - - -## Release 0.4.0 - -- CHANGED: Rename library from DomainName to PublicSuffixService to reduce the probability of name conflicts. - - -## Release 0.3.1 - -- Deprecated DomainName library. - - -## Release 0.3.0 - -- CHANGED: DomainName#domain and DomainName#subdomain are no longer alias of Domain#sld and Domain#tld. - -- CHANGED: Removed DomainName#labels and decoupled Rule from DomainName. - -- CHANGED: DomainName#valid? no longer instantiates new DomainName objects. This means less overhead. - -- CHANGED: Refactoring the entire DomainName API. Removed the internal on-the-fly parsing. Added a bunch of new methods to check and validate the DomainName. - - -## Release 0.2.0 - -- NEW: DomainName#valid? - -- NEW: DomainName#parse and DomainName#parse! - -- NEW: DomainName#valid_domain? and DomainName#valid_subdomain? - -- CHANGED: Make sure RuleList lookup is only performed once. - - -## Release 0.1.0 - -- Initial version diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/Gemfile deleted file mode 100644 index 8c67969..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/Gemfile +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gemspec - -gem "rake" - -gem "memory_profiler", require: false -gem "minitest" -gem "minitest-reporters" -gem "mocha" -gem "rubocop", "~>0.90", require: false -gem "yard" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/LICENSE.txt deleted file mode 100644 index fc7507b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2009-2022 Simone Carletti <weppos@weppos.net> - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/README.md deleted file mode 100644 index 0747354..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/README.md +++ /dev/null @@ -1,217 +0,0 @@ -# Public Suffix <small>for Ruby</small> - -<tt>PublicSuffix</tt> is a Ruby domain name parser based on the [Public Suffix List](https://publicsuffix.org/). - -[![Build Status](https://github.com/weppos/publicsuffix-ruby/actions/workflows/tests.yml/badge.svg)](https://github.com/weppos/publicsuffix-ruby/actions/workflows/tests.yml) -[![Tidelift dependencies](https://tidelift.com/badges/package/rubygems/public_suffix)](https://tidelift.com/subscription/pkg/rubygems-public-suffix?utm_source=rubygems-public-suffix&utm_medium=referral&utm_campaign=enterprise) - - -## Links - -- [Homepage](https://simonecarletti.com/code/publicsuffix-ruby) -- [Repository](https://github.com/weppos/publicsuffix-ruby) -- [API Documentation](https://rubydoc.info/gems/public_suffix) -- [Introducing the Public Suffix List library for Ruby](https://simonecarletti.com/blog/2010/06/public-suffix-list-library-for-ruby/) - - -## Requirements - -<tt>PublicSuffix</tt> requires **Ruby >= 2.3**. For an older versions of Ruby use a previous release. - - -## Installation - -You can install the gem manually: - -```shell -gem install public_suffix -``` - -Or use Bundler and define it as a dependency in your `Gemfile`: - -```ruby -gem 'public_suffix' -``` - -If you are upgrading to 2.0, see [2.0-Upgrade.md](2.0-Upgrade.md). - -## Usage - -Extract the domain out from a name: - -```ruby -PublicSuffix.domain("google.com") -# => "google.com" -PublicSuffix.domain("www.google.com") -# => "google.com" -PublicSuffix.domain("www.google.co.uk") -# => "google.co.uk" -``` - -Parse a domain without subdomains: - -```ruby -domain = PublicSuffix.parse("google.com") -# => #<PublicSuffix::Domain> -domain.tld -# => "com" -domain.sld -# => "google" -domain.trd -# => nil -domain.domain -# => "google.com" -domain.subdomain -# => nil -``` - -Parse a domain with subdomains: - -```ruby -domain = PublicSuffix.parse("www.google.com") -# => #<PublicSuffix::Domain> -domain.tld -# => "com" -domain.sld -# => "google" -domain.trd -# => "www" -domain.domain -# => "google.com" -domain.subdomain -# => "www.google.com" -``` - -Simple validation example: - -```ruby -PublicSuffix.valid?("google.com") -# => true - -PublicSuffix.valid?("www.google.com") -# => true - -# Explicitly forbidden, it is listed as a private domain -PublicSuffix.valid?("blogspot.com") -# => false - -# Unknown/not-listed TLD domains are valid by default -PublicSuffix.valid?("example.tldnotlisted") -# => true -``` - -Strict validation (without applying the default * rule): - -```ruby -PublicSuffix.valid?("example.tldnotlisted", default_rule: nil) -# => false -``` - - -## Fully Qualified Domain Names - -This library automatically recognizes Fully Qualified Domain Names. A FQDN is a domain name that end with a trailing dot. - -```ruby -# Parse a standard domain name -PublicSuffix.domain("www.google.com") -# => "google.com" - -# Parse a fully qualified domain name -PublicSuffix.domain("www.google.com.") -# => "google.com" -``` - -## Private domains - -This library has support for switching off support for private (non-ICANN). - -```ruby -# Extract a domain including private domains (by default) -PublicSuffix.domain("something.blogspot.com") -# => "something.blogspot.com" - -# Extract a domain excluding private domains -PublicSuffix.domain("something.blogspot.com", ignore_private: true) -# => "blogspot.com" - -# It also works for #parse and #valid? -PublicSuffix.parse("something.blogspot.com", ignore_private: true) -PublicSuffix.valid?("something.blogspot.com", ignore_private: true) -``` - -If you don't care about private domains at all, it's more efficient to exclude them when the list is parsed: - -```ruby -# Disable support for private TLDs -PublicSuffix::List.default = PublicSuffix::List.parse(File.read(PublicSuffix::List::DEFAULT_LIST_PATH), private_domains: false) -# => "blogspot.com" -PublicSuffix.domain("something.blogspot.com") -# => "blogspot.com" -``` - - -## What is the Public Suffix List? - -The [Public Suffix List](https://publicsuffix.org) is a cross-vendor initiative to provide an accurate list of domain name suffixes. - -The Public Suffix List is an initiative of the Mozilla Project, but is maintained as a community resource. It is available for use in any software, but was originally created to meet the needs of browser manufacturers. - -A "public suffix" is one under which Internet users can directly register names. Some examples of public suffixes are ".com", ".co.uk" and "pvt.k12.wy.us". The Public Suffix List is a list of all known public suffixes. - - -## Why the Public Suffix List is better than any available Regular Expression parser? - -Previously, browsers used an algorithm which basically only denied setting wide-ranging cookies for top-level domains with no dots (e.g. com or org). However, this did not work for top-level domains where only third-level registrations are allowed (e.g. co.uk). In these cases, websites could set a cookie for co.uk which will be passed onto every website registered under co.uk. - -Clearly, this was a security risk as it allowed websites other than the one setting the cookie to read it, and therefore potentially extract sensitive information. - -Since there is no algorithmic method of finding the highest level at which a domain may be registered for a particular top-level domain (the policies differ with each registry), the only method is to create a list of all top-level domains and the level at which domains can be registered. This is the aim of the effective TLD list. - -As well as being used to prevent cookies from being set where they shouldn't be, the list can also potentially be used for other applications where the registry controlled and privately controlled parts of a domain name need to be known, for example when grouping by top-level domains. - -Source: https://wiki.mozilla.org/Public_Suffix_List - -Not convinced yet? Check out [this real world example](https://stackoverflow.com/q/288810/123527). - - -## Does <tt>PublicSuffix</tt> make requests to Public Suffix List website? - -No. <tt>PublicSuffix</tt> comes with a bundled list. It does not make any HTTP requests to parse or validate a domain. - - -## Support - -Library documentation is auto-generated from the [README](https://github.com/weppos/publicsuffix-ruby/blob/master/README.md) and the source code, and it's available at https://rubydoc.info/gems/public_suffix. - -- The PublicSuffix bug tracker is here: https://github.com/weppos/publicsuffix-ruby/issues -- The PublicSuffix code repository is here: https://github.com/weppos/publicsuffix-ruby. Contributions are welcome! Please include tests and/or feature coverage for every patch, and create a topic branch for every separate change you make. - -[Consider subscribing to Tidelift which provides Enterprise support for this project](https://tidelift.com/subscription/pkg/rubygems-public-suffix?utm_source=rubygems-public-suffix&utm_medium=referral&utm_campaign=readme) as part of the Tidelift Subscription. Tidelift subscriptions also help the maintainers by funding the project, which in turn allows us to ship releases, bugfixes, and security updates more often. - - -## Security and Vulnerability Reporting - -Full information and description of our security policy please visit [`SECURITY.md`](SECURITY.md) - - -## Changelog - -See the [CHANGELOG.md](CHANGELOG.md) file for details. - - -## License - -Copyright (c) 2009-2022 Simone Carletti. This is Free Software distributed under the MIT license. - -The [Public Suffix List source](https://publicsuffix.org/list/) is subject to the terms of the Mozilla Public License, v. 2.0. - -## Definitions - -tld = Top level domain, this is in reference to the last segment of a domain, sometimes the part that is directly after the "dot" symbol. For example, `mozilla.org`, the `.org` portion is the tld. - -sld = Second level domain, a domain that is directly below a top-level domain. For example, in `https://www.mozilla.org/en-US/`, `mozilla` is the second-level domain of the .org tld. - -trd = Transit routing domain, or known as a subdomain. This is the part of the domain that is before the sld or root domain. For example, in `https://www.mozilla.org/en-US/`, `www` is the trd. - -FQDN = Fully Qualified Domain Names, are domain names that are written with the hostname and the domain name, and include the top-level domain, the format looks like `[hostname].[domain].[tld].` for ex. `[www].[mozilla].[org]`. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/Rakefile deleted file mode 100644 index 26a6c99..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/Rakefile +++ /dev/null @@ -1,52 +0,0 @@ -# frozen_string_literal: true - -require "bundler/gem_tasks" - -# By default, run tests and linter. -task default: [:test, :rubocop] - - -require "rake/testtask" - -Rake::TestTask.new do |t| - t.libs = %w( lib test ) - t.pattern = "test/**/*_test.rb" - t.verbose = !ENV["VERBOSE"].nil? - t.warning = !ENV["WARNING"].nil? -end - -require "rubocop/rake_task" - -RuboCop::RakeTask.new - - -require "yard" -require "yard/rake/yardoc_task" - -YARD::Rake::YardocTask.new(:yardoc) do |y| - y.options = ["--output-dir", "yardoc"] -end - -CLOBBER.include "yardoc" - - -task :benchmarks do - Dir["benchmarks/bm_*.rb"].each do |file| - sh "ruby #{file}" - end -end -task default: [:benchmarks] if ENV["BENCHMARKS"] == "1" - - -desc "Downloads the Public Suffix List file from the repository and stores it locally." -task :"update-list" do - require "net/http" - - DEFINITION_URL = "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat" - - File.open("data/list.txt", "w+") do |f| - response = Net::HTTP.get_response(URI.parse(DEFINITION_URL)) - response.body - f.write(response.body) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/SECURITY.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/SECURITY.md deleted file mode 100644 index f329128..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/SECURITY.md +++ /dev/null @@ -1,104 +0,0 @@ -# Security Policy - -## Supported Versions - -Security updates are provided only for the current minor version. - -If you are using a previous minor version, we recommend to upgrade to the current minor version. -This project uses [semantic versioning](https://semver.org/), therefore you can upgrade to a more recent minor version without incurring into breaking changes. - -Exceptionally, we may support previous minor versions upon request if there are significant reasons preventing to immediately switch the latest minor version. - -Older major versions are no longer supported. - - -## Reporting a Vulnerability - -To make a report, please email weppos@weppos.net. - -Please consider encrypting your report with GPG using the key [0x420da82a989398df](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x420da82a989398df). - -``` ------BEGIN PGP PUBLIC KEY BLOCK----- - -xsBNBE/QiI0BCACtBbjJnJIzaLb4NfjaljzT/+dvodst+wyDRE8Vwc6ujwboZjr2 -0QwXScNzObPazyvkSZVh3g6PveneeSD0dSw2XDqKbbtLMg/Ss12yqXJfjavH/zjk -6Xq+nnbSnxBPzwFAAEaEFIc6H6BygJ7zHPP5WEY5QIMqifEAX//aBqHi4GXHJiHE -237Zqufdry23jBYjY7wGXAa11VsU9Iwqh6LPB9/hc1KtzjAuvvm5ufeT/iVjxGQX -te1OZZk6n8xSVYeLsn97PfgYs0yauhexwD9dG7FbRCB379JxPRn5akr391qXcVOG -ZA3yBXUSPOL6D1+TS1S0su5zbw2AEp4+z3SpABEBAAHNIlNpbW9uZSBDYXJsZXR0 -aSA8d2VwcG9zQGdtYWlsLmNvbT7CwHcEEwEKACEFAlXH0UQCGy8FCwkIBwMFFQoJ -CAsFFgIDAQACHgECF4AACgkQQg2oKpiTmN9BOQf/UHd+bmww71MkbS38KkowDu+0 -1VH35aL8sFcAMUSEA4I5oPWZoBtYYPGpALLxtrSNW+SCnmmeCQVfVmLedUVHwDZo -TS4qiynpqnz+Cnq4KRC8VMIyaFoiT5Vg6MLtau8hJtqZn1Wv68g0nXuprsCuf9vs -z7DDZ36z8em6OJQJQ/FQ4BGogzyYHa90cJnIM6BeLiRUUpFTl1tHLlw4JFUNi8sx -6VQ1/nhcr3OyskAix5TytRnJ8uIn22m25GGdTF2WQPNfkWJQVT4ZDbCxT20acRp0 -l3x1DAk3Eel8gOKzgOboB3bkI5/l1XZvNL0YWGZeyfp8I7ZqpXg/m4qLDkYU2cLA -egQTAQoAJAIbLwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCVf6KvAIZAQAKCRBC -DagqmJOY34ABB/9WbNAh0l07UN1ePfVm6Brg2Yt8k6Q2lIRUG2xAeQj/+Kx/4lAL -oY6F0jJ44kIDZqZdNA0QIqYzZRBV4iW+cQrsBUUyM+chiA3RuOsDG18sfvkyPvRy -ecOVubHCN+nK2GKy1oHQkCpVFIeetr0ugB/j+xNDKJ3Oa5dGBKF29ZH5Pxg7cqwH -cdkhBGMpPbBYq5pJtYGggqypELzFTG292StbtV837Eze+clWRTKtMBOHke/oKBCr -YYic2fmipGC9XUiqvMEMAKYq5WWWXIlcSVSnBDdxq41tXjKK4XMVgoOboZCcNFvh -0NxuDQATk1YruRZOS4SpBPXykEA1pK/zm3WmzSNTaW1vbmUgQ2FybGV0dGkgPHdl -cHBvc0B3ZXBwb3MubmV0PsLAeQQTAQIAIwUCT9CIjQIbLwcLCQgHAwIBBhUIAgkK -CwQWAgMBAh4BAheAAAoJEEINqCqYk5jfGWcH/Ax3EhAckGeCqNYE5BTx94bKB1LL -vUjeUoImMtGGFxQu2jNOAjtpuyjihm9uHBZ+dxaxHHrhE11f+0sDcwvW8qtKEzOs -GESr01VqTaVFS2JOEHhLphXseaLXJe32Osz0kHCZmrz1fCwv3b8QuWBifn8oVzcV -vrE7lGC6pGwaiUvMsvA++RUquTlNVlh8uRrqcQCU8Ne9lSoDWHlUJes5s4FoCh3R -oVBcKPsx3m/P9+GlEgTDqYP+WU3sfSfJYERH0r0NAYP96m2e7UQrqdgvMTVVDkPB -UB9efZzgkL7u9IAqmLU2klSGdEZnJ8t1AsjEyHXMztC7ICUhRFCeXHdTNhHCwHwE -EwEKACYCGy8HCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAUCVcfRaQIZAQAKCRBC -DagqmJOY31y1B/41I/SsWwDqJP/Y3LzzatGmIv/gy+LkJBBTr/NV0NYzKV2XJ1BG -ese2ZE4tKKdG4HDwF+IwFLBHcPZRv358IwwTRPnzeO23mxpTYAnRCdg/pcaYIJ9r -OxIOP+R52YbgGrNKcezVA+7TY9za072P7Bk85jTM2FNfqevaf/YQ4GRcGLQ3JI8N -tBUdvrOEETDpR0QFTr22Wv1C7UfPDsSf7ZUM7zJ38CmDji8JSlr6y75/LYSY50BB -8EHb03QxyePe98A3WzvOoqamiCIe9bRzH5IqRAtJYDX8cK4PZmp43bQhrjdjawCc -AU/OY9iz+zCw00+b6CNiRb59N+OwpNJh5iNNwsB5BBMBCgAjAhsvBwsJCAcDAgEG -FQgCCQoLBBYCAwECHgECF4AFAlX+iq0ACgkQQg2oKpiTmN/z2gf/VbcQHgTlXFYa -Sq/dE7S54uGFrdzHOV3IJyl+ByMwVoKn6zdpksRoyt7jPV3RonrUO7jEcrt7VKCU -2KC7/MZMDoUsn9BXXTtUk+uTCNh8qllR0Fo/FvWM9RJKmcDMKwAJwcKIgbfUBJGx -1N6pP2DUc+YCnEerRbnQ1DWJUM7BaOEN6bvPxuGblPst1l6S5VktFj3gZGYItHrs -pit5pesILP8K6B6VCNP2WXXYvYQo7yyYcG8WBWXin8/SdNwU68lUbfhhQVIKv6LU -h0wvgG97NsBPrFbij0K6O63FufnNr9WLMZhAzi0h6gNK2HKAyw9AZNKpPccwg+mX -Huc/4CPRlM0uU2ltb25lIENhcmxldHRpIDxzaW1vbmUuY2FybGV0dGlAZG5zaW1w -bGUuY29tPsLAdwQTAQoAIQUCVh4ipAIbLwULCQgHAwUVCgkICwUWAgMBAAIeAQIX -gAAKCRBCDagqmJOY329iCACpOY5SV7hwOZ8VqmRfxRoHQFQe9Owr+hD3eL0AKZaJ -V918dCPrrxbAmwwMAC8pS8J4CmrrTR27kxcUgVwcfyydFPrgST5pg+H7UTrBR045 -4Npw1+m99I2Pyyl3oaym4lKJFbp2c2DGODEzTg8kKfjk0cb8bd+MJrXqFyod1z5r -0pfexwaLVt1Hz+ZsmFIPO1ISHYBPV8OkpL8Kgb8WtY6REntgNjfcmtHNi0VWQ7+N -vgeYqdhscX8c9ROe26BiiiGXphRlAsCU/VLHOJkzoW3f9QLy4z01Xj/7OaD0JkHS -HrES1ye3ZDxnjnTRdh4U8ntJ+L+xnePcFQA2t0eCbPwIzSZTaW1vbmUgQ2FybGV0 -dGkgPHNpbW9uZUBjYXJsZXR0aS5uYW1lPsLAdwQTAQoAIQUCVf7gmwIbLwULCQgH -AwUVCgkICwUWAgMBAAIeAQIXgAAKCRBCDagqmJOY37L+B/45pWT3wgm43+kzHVOT -j63m4zmRb53TGZToRSxz3acyuVSuqU9Tv010F0ZV9ccb0NDeN+88s9tEisuoO0Rz -5vhC8AtwRUyR3ADE9pBtvvxT+4R9y8yYNTCIX45VPG9ZPp9+7i+XCdKtz30KIV7r -smktd2FrK16r/KUN8+03iZSgzQ9lsTmXK5L7zH/f3Tqhbfvybr4+M71KGnSoP+iP -vwfsoBb5rhijQLOykTb+VzdDpHQbupwxwm/3S4nsA4U6tonIywlJgBDSjgDjQj0i -Ez+Db2Wt59y6LoksRQogvJqm0nuxFUWMZc47zdhsRnqmxUYTNpKaJPWc6pfxsQPK -ZvTjzsBNBE/QiI0BCACsaNbG6kyKJBWL5jPhebsijk8PCfSHte1jNCA5l/NvaImZ -6ORq9f8S9MWlYxmzyUkVJaWrv+9p5zmjwcaegjerj6ggjPDEXlZG41Z4YE1/R8pf -wkSvrkLziBxZDB1aYplg8kgXkaIf2yi2FrMPSi04sjvQbBSCcIJeh6+vGK8tIJTn -e0tQbEvRorTwBAPAFlpx/bdk1wZYu11vFKbckhKWou7f8XSdn9ng9cY5uK+xBlFU -2ORgL1ygeIoY9uRvNZG2ncvCvxUPgOqbo31R8KPyvV4rNNvGBOfxQER9LbieBF2I -5I1gpyboGWKcXu1eV7tOpjtW6LHt+6NHhE6L1Lw1ABEBAAHCwX4EGAECAAkFAk/Q -iI0CGy4BKQkQQg2oKpiTmN/AXSAEGQECAAYFAk/QiI0ACgkQcBROh493BN9hdwf9 -GjiF1GcQN+3TZkXdr2WY0AlbcA/wBp6+ShnqcoU5XLuA0RY3+rWGuaSc2buLke6Y -2MhMAYcgmPdG+WTBoW5dWQGXBZ1IHYVR8HLGaF+Vate1MofE1BNHXhnilIMMfH4G -Tcr3Z3/FaSk9OdHlyiE/Jo7++8PQ+auHVyjtqry+/ysAnyr+lnCn+K4E0PQ1fYpP -fiawKtfSqk9h6HjjMyx9Adrz+ljXh+NyVqYZUfRytjgO+v+dAQmMczT1EawLTdX+ -trx1tHR549pEey7in5QKsje3GLH4zq4mCdWBlivQxmmmlvR07DysLADMbcpjKK2g -utfzygZHCU9hWGR3wbWZ7lXjB/0ZzutNaNYzSCkiC8PIWH1bG+TJO9pslHwP+aBJ -NGAmcwyOH9Bub2CSXikQFZNUmVRwtl7mN4bVAHI8zbMd6xdlX22yDgQei54dPXDw -UYsvGE4zmrD97he1EYcIOKMFHzlJNcWK+uR7lEq6mv7SFGnBr8qTYZRi1bySRgwd -UORuDV12GKTen9WectKtepW0fgYSz+udbDKQyyRef+7xGtCErWRL7f1qr8xm60da -+gSwyD/WkPTY8SP2mdq4u+6m4dWS26kKoENwuL7jUktl/C/EG7NmUKURbXG8lmeu -q59MIs/Fb3SgaO+zN2FZTYp6dyRJHbeEz55JdOu6F+6ihZYH -=j6Xr ------END PGP PUBLIC KEY BLOCK----- -``` - - -## Tracking Security Updates - -Information about security vulnerabilities are published in the [Security Advisories](https://github.com/weppos/publicsuffix-ruby/security/advisories) page. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/bin/console b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/bin/console deleted file mode 100755 index c638bb4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/bin/console +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require "bundler/setup" -require "public_suffix" - -# You can add fixtures and/or initialization code here to make experimenting -# with your gem easier. You can also use a different console, if you like. - -# (If you use this, don't forget to add pry to your Gemfile!) -# require "pry" -# Pry.start - -require "irb" -IRB.start diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/public_suffix.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/public_suffix.gemspec deleted file mode 100644 index ae552fc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/public_suffix.gemspec +++ /dev/null @@ -1,29 +0,0 @@ -# -*- encoding: utf-8 -*- -$LOAD_PATH.push File.expand_path("../lib", __FILE__) -require "public_suffix/version" - -Gem::Specification.new do |s| - s.name = "public_suffix" - s.version = PublicSuffix::VERSION - s.authors = ["Simone Carletti"] - s.email = ["weppos@weppos.net"] - s.homepage = "https://simonecarletti.com/code/publicsuffix-ruby" - s.summary = "Domain name parser based on the Public Suffix List." - s.description = "PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains." - s.licenses = ["MIT"] - - s.metadata = { - "bug_tracker_uri" => "https://github.com/weppos/publicsuffix-ruby/issues", - "changelog_uri" => "https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md", - "documentation_uri" => "https://rubydoc.info/gems/#{s.name}/#{s.version}", - "homepage_uri" => s.homepage, - "source_code_uri" => "https://github.com/weppos/publicsuffix-ruby/tree/v#{s.version}", - } - - s.required_ruby_version = ">= 2.3" - - s.require_paths = ["lib"] - s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") - s.extra_rdoc_files = %w( LICENSE.txt ) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/.empty b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/.empty deleted file mode 100644 index e322015..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/.empty +++ /dev/null @@ -1,2 +0,0 @@ -# This is an empty file I use to force a non-empty commit when I only need to store notes -.. \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/acceptance_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/acceptance_test.rb deleted file mode 100644 index 371bfe1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/acceptance_test.rb +++ /dev/null @@ -1,131 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -class AcceptanceTest < Minitest::Test - - VALID_CASES = [ - ["example.com", "example.com", [nil, "example", "com"]], - ["foo.example.com", "example.com", ["foo", "example", "com"]], - - ["verybritish.co.uk", "verybritish.co.uk", [nil, "verybritish", "co.uk"]], - ["foo.verybritish.co.uk", "verybritish.co.uk", ["foo", "verybritish", "co.uk"]], - - ["parliament.uk", "parliament.uk", [nil, "parliament", "uk"]], - ["foo.parliament.uk", "parliament.uk", ["foo", "parliament", "uk"]], - ].freeze - - def test_valid - VALID_CASES.each do |input, domain, results| - parsed = PublicSuffix.parse(input) - trd, sld, tld = results - assert_equal tld, parsed.tld, "Invalid tld for `#{name}`" - assert_equal sld, parsed.sld, "Invalid sld for `#{name}`" - if trd.nil? - assert_nil parsed.trd, "Invalid trd for `#{name}`" - else - assert_equal trd, parsed.trd, "Invalid trd for `#{name}`" - end - - assert_equal domain, PublicSuffix.domain(input) - assert PublicSuffix.valid?(input) - end - end - - - INVALID_CASES = [ - ["nic.bd", PublicSuffix::DomainNotAllowed], - [nil, PublicSuffix::DomainInvalid], - ["", PublicSuffix::DomainInvalid], - [" ", PublicSuffix::DomainInvalid], - ].freeze - - def test_invalid - INVALID_CASES.each do |(name, error)| - assert_raises(error) { PublicSuffix.parse(name) } - assert !PublicSuffix.valid?(name) - end - end - - - REJECTED_CASES = [ - ["www. .com", true], - ["foo.co..uk", true], - ["goo,gle.com", true], - ["-google.com", true], - ["google-.com", true], - - # This case was covered in GH-15. - # I decided to cover this case because it's not easily reproducible with URI.parse - # and can lead to several false positives. - ["http://google.com", false], - ].freeze - - def test_rejected - REJECTED_CASES.each do |name, expected| - assert_equal expected, PublicSuffix.valid?(name), - "Expected %s to be %s" % [name.inspect, expected.inspect] - assert !valid_domain?(name), - "#{name} expected to be invalid" - end - end - - - CASE_CASES = [ - ["Www.google.com", %w( www google com )], - ["www.Google.com", %w( www google com )], - ["www.google.Com", %w( www google com )], - ].freeze - - def test_ignore_case - CASE_CASES.each do |name, results| - domain = PublicSuffix.parse(name) - trd, sld, tld = results - assert_equal tld, domain.tld, "Invalid tld for `#{name}'" - assert_equal sld, domain.sld, "Invalid sld for `#{name}'" - assert_equal trd, domain.trd, "Invalid trd for `#{name}'" - assert PublicSuffix.valid?(name) - end - end - - - INCLUDE_PRIVATE_CASES = [ - ["blogspot.com", true, "blogspot.com"], - ["blogspot.com", false, nil], - ["subdomain.blogspot.com", true, "blogspot.com"], - ["subdomain.blogspot.com", false, "subdomain.blogspot.com"], - ].freeze - - # rubocop:disable Style/CombinableLoops - def test_ignore_private - # test domain and parse - INCLUDE_PRIVATE_CASES.each do |given, ignore_private, expected| - if expected.nil? - assert_nil PublicSuffix.domain(given, ignore_private: ignore_private) - else - assert_equal expected, PublicSuffix.domain(given, ignore_private: ignore_private) - end - end - # test valid? - INCLUDE_PRIVATE_CASES.each do |given, ignore_private, expected| - assert_equal !expected.nil?, PublicSuffix.valid?(given, ignore_private: ignore_private) - end - end - # rubocop:enable Style/CombinableLoops - - - def valid_uri?(name) - uri = URI.parse(name) - !uri.host.nil? - rescue StandardError - false - end - - def valid_domain?(name) - uri = URI.parse(name) - !uri.host.nil? && uri.scheme.nil? - rescue StandardError - false - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_find.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_find.rb deleted file mode 100644 index 0074f1d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_find.rb +++ /dev/null @@ -1,66 +0,0 @@ -require 'benchmark' -require_relative "../../lib/public_suffix" - -NAME_SHORT = "example.de" -NAME_MEDIUM = "www.subdomain.example.de" -NAME_LONG = "one.two.three.four.five.example.de" -NAME_WILD = "one.two.three.four.five.example.bd" -NAME_EXCP = "one.two.three.four.five.www.ck" - -IAAA = "www.example.ac" -IZZZ = "www.example.zone" - -PAAA = "one.two.three.four.five.example.beep.pl" -PZZZ = "one.two.three.four.five.example.now.sh" - -JP = "www.yokoshibahikari.chiba.jp" -IT = "www.example.it" -COM = "www.example.com" - -TIMES = (ARGV.first || 50_000).to_i - -# Initialize -PublicSuffixList = PublicSuffix::List.default -PublicSuffixList.find("example.com") - -Benchmark.bmbm(25) do |x| - x.report("NAME_SHORT") do - TIMES.times { PublicSuffixList.find(NAME_SHORT) != nil } - end - x.report("NAME_MEDIUM") do - TIMES.times { PublicSuffixList.find(NAME_MEDIUM) != nil } - end - x.report("NAME_LONG") do - TIMES.times { PublicSuffixList.find(NAME_LONG) != nil } - end - x.report("NAME_WILD") do - TIMES.times { PublicSuffixList.find(NAME_WILD) != nil } - end - x.report("NAME_EXCP") do - TIMES.times { PublicSuffixList.find(NAME_EXCP) != nil } - end - - x.report("IAAA") do - TIMES.times { PublicSuffixList.find(IAAA) != nil } - end - x.report("IZZZ") do - TIMES.times { PublicSuffixList.find(IZZZ) != nil } - end - - x.report("PAAA") do - TIMES.times { PublicSuffixList.find(PAAA) != nil } - end - x.report("PZZZ") do - TIMES.times { PublicSuffixList.find(PZZZ) != nil } - end - - x.report("JP") do - TIMES.times { PublicSuffixList.find(JP) != nil } - end - x.report("IT") do - TIMES.times { PublicSuffixList.find(IT) != nil } - end - x.report("COM") do - TIMES.times { PublicSuffixList.find(COM) != nil } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_find_all.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_find_all.rb deleted file mode 100644 index 0bcfd42..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_find_all.rb +++ /dev/null @@ -1,102 +0,0 @@ -require 'benchmark' -require_relative "../../lib/public_suffix" - -NAME_SHORT = "example.de" -NAME_MEDIUM = "www.subdomain.example.de" -NAME_LONG = "one.two.three.four.five.example.de" -NAME_WILD = "one.two.three.four.five.example.bd" -NAME_EXCP = "one.two.three.four.five.www.ck" - -IAAA = "www.example.ac" -IZZZ = "www.example.zone" - -PAAA = "one.two.three.four.five.example.beep.pl" -PZZZ = "one.two.three.four.five.example.now.sh" - -JP = "www.yokoshibahikari.chiba.jp" -IT = "www.example.it" -COM = "www.example.com" - -TIMES = (ARGV.first || 50_000).to_i - -# Initialize -PublicSuffixList = PublicSuffix::List.default -PublicSuffixList.find("example.com") - -Benchmark.bmbm(25) do |x| - x.report("NAME_SHORT") do - TIMES.times { PublicSuffixList.find(NAME_SHORT) != nil } - end - x.report("NAME_SHORT (noprivate)") do - TIMES.times { PublicSuffixList.find(NAME_SHORT, ignore_private: true) != nil } - end - x.report("NAME_MEDIUM") do - TIMES.times { PublicSuffixList.find(NAME_MEDIUM) != nil } - end - x.report("NAME_MEDIUM (noprivate)") do - TIMES.times { PublicSuffixList.find(NAME_MEDIUM, ignore_private: true) != nil } - end - x.report("NAME_LONG") do - TIMES.times { PublicSuffixList.find(NAME_LONG) != nil } - end - x.report("NAME_LONG (noprivate)") do - TIMES.times { PublicSuffixList.find(NAME_LONG, ignore_private: true) != nil } - end - x.report("NAME_WILD") do - TIMES.times { PublicSuffixList.find(NAME_WILD) != nil } - end - x.report("NAME_WILD (noprivate)") do - TIMES.times { PublicSuffixList.find(NAME_WILD, ignore_private: true) != nil } - end - x.report("NAME_EXCP") do - TIMES.times { PublicSuffixList.find(NAME_EXCP) != nil } - end - x.report("NAME_EXCP (noprivate)") do - TIMES.times { PublicSuffixList.find(NAME_EXCP, ignore_private: true) != nil } - end - - x.report("IAAA") do - TIMES.times { PublicSuffixList.find(IAAA) != nil } - end - x.report("IAAA (noprivate)") do - TIMES.times { PublicSuffixList.find(IAAA, ignore_private: true) != nil } - end - x.report("IZZZ") do - TIMES.times { PublicSuffixList.find(IZZZ) != nil } - end - x.report("IZZZ (noprivate)") do - TIMES.times { PublicSuffixList.find(IZZZ, ignore_private: true) != nil } - end - - x.report("PAAA") do - TIMES.times { PublicSuffixList.find(PAAA) != nil } - end - x.report("PAAA (noprivate)") do - TIMES.times { PublicSuffixList.find(PAAA, ignore_private: true) != nil } - end - x.report("PZZZ") do - TIMES.times { PublicSuffixList.find(PZZZ) != nil } - end - x.report("PZZZ (noprivate)") do - TIMES.times { PublicSuffixList.find(PZZZ, ignore_private: true) != nil } - end - - x.report("JP") do - TIMES.times { PublicSuffixList.find(JP) != nil } - end - x.report("JP (noprivate)") do - TIMES.times { PublicSuffixList.find(JP, ignore_private: true) != nil } - end - x.report("IT") do - TIMES.times { PublicSuffixList.find(IT) != nil } - end - x.report("IT (noprivate)") do - TIMES.times { PublicSuffixList.find(IT, ignore_private: true) != nil } - end - x.report("COM") do - TIMES.times { PublicSuffixList.find(COM) != nil } - end - x.report("COM (noprivate)") do - TIMES.times { PublicSuffixList.find(COM, ignore_private: true) != nil } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_names.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_names.rb deleted file mode 100644 index 36b2bce..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_names.rb +++ /dev/null @@ -1,91 +0,0 @@ -require 'benchmark/ips' - -STRING = "www.subdomain.example.com" -ARRAY = %w( - com - example.com - subdomain.example.com - www.subdomain.example.com -) - -def tokenizer1(string) - parts = string.split(".").reverse! - index = 0 - query = parts[index] - names = [] - - loop do - names << query - - index += 1 - break if index >= parts.size - query = parts[index] + "." + query - end - names -end - -def tokenizer2(string) - parts = string.split(".") - index = parts.size - 1 - query = parts[index] - names = [] - - loop do - names << query - - index -= 1 - break if index < 0 - query = parts[index] + "." + query - end - names -end - -def tokenizer3(string) - isx = string.size - idx = string.size - 1 - names = [] - - loop do - isx = string.rindex(".", isx - 1) || -1 - names << string[isx + 1, idx - isx] - - break if isx <= 0 - end - names -end - -def tokenizer4(string) - isx = string.size - idx = string.size - 1 - names = [] - - loop do - isx = string.rindex(".", isx - 1) || -1 - names << string[(isx+1)..idx] - - break if isx <= 0 - end - names -end - -(x = tokenizer1(STRING)) == ARRAY or fail("tokenizer1 failed: #{x.inspect}") -(x = tokenizer2(STRING)) == ARRAY or fail("tokenizer2 failed: #{x.inspect}") -(x = tokenizer3(STRING)) == ARRAY or fail("tokenizer3 failed: #{x.inspect}") -(x = tokenizer4(STRING)) == ARRAY or fail("tokenizer4 failed: #{x.inspect}") - -Benchmark.ips do |x| - x.report("tokenizer1") do - tokenizer1(STRING).is_a?(Array) - end - x.report("tokenizer2") do - tokenizer2(STRING).is_a?(Array) - end - x.report("tokenizer3") do - tokenizer3(STRING).is_a?(Array) - end - x.report("tokenizer4") do - tokenizer4(STRING).is_a?(Array) - end - - x.compare! -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_select.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_select.rb deleted file mode 100644 index 66d908b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_select.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'benchmark' -require_relative "../../lib/public_suffix" - -JP = "www.yokoshibahikari.chiba.jp" - -TIMES = (ARGV.first || 50_000).to_i - -# Initialize -class PublicSuffix::List - public :select -end -PublicSuffixList = PublicSuffix::List.default -PublicSuffixList.select("example.jp") -PublicSuffixList.find("example.jp") - -Benchmark.bmbm(25) do |x| - x.report("JP select") do - TIMES.times { PublicSuffixList.select(JP) } - end - x.report("JP find") do - TIMES.times { PublicSuffixList.find(JP) } - end - # x.report("JP (noprivate)") do - # TIMES.times { PublicSuffixList.find(JP, ignore_private: true) != nil } - # end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_select_incremental.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_select_incremental.rb deleted file mode 100644 index f002c82..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_select_incremental.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'benchmark' -require_relative "../../lib/public_suffix" - -JP = "www.yokoshibahikari.chiba.jp" - -TIMES = (ARGV.first || 50_000).to_i - -# Initialize -class PublicSuffix::List - public :select -end -PublicSuffixList = PublicSuffix::List.default -PublicSuffixList.select("example.jp") - -Benchmark.bmbm(25) do |x| - x.report("select jp") do - TIMES.times { PublicSuffixList.select("jp") } - end - x.report("select example.jp") do - TIMES.times { PublicSuffixList.select("example.jp") } - end - x.report("select www.example.jp") do - TIMES.times { PublicSuffixList.select("www.example.jp") } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_valid.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_valid.rb deleted file mode 100644 index a484451..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/benchmarks/bm_valid.rb +++ /dev/null @@ -1,101 +0,0 @@ -require 'benchmark' -require_relative "../../lib/public_suffix" - -NAME_SHORT = "example.de" -NAME_MEDIUM = "www.subdomain.example.de" -NAME_LONG = "one.two.three.four.five.example.de" -NAME_WILD = "one.two.three.four.five.example.bd" -NAME_EXCP = "one.two.three.four.five.www.ck" - -IAAA = "www.example.ac" -IZZZ = "www.example.zone" - -PAAA = "one.two.three.four.five.example.beep.pl" -PZZZ = "one.two.three.four.five.example.now.sh" - -JP = "www.yokoshibahikari.chiba.jp" -IT = "www.example.it" -COM = "www.example.com" - -TIMES = (ARGV.first || 50_000).to_i - -# Initialize -PublicSuffix.valid?("example.com") - -Benchmark.bmbm(25) do |x| - x.report("NAME_SHORT") do - TIMES.times { PublicSuffix.valid?(NAME_SHORT) == true } - end - x.report("NAME_SHORT (noprivate)") do - TIMES.times { PublicSuffix.valid?(NAME_SHORT, ignore_private: true) == true } - end - x.report("NAME_MEDIUM") do - TIMES.times { PublicSuffix.valid?(NAME_MEDIUM) == true } - end - x.report("NAME_MEDIUM (noprivate)") do - TIMES.times { PublicSuffix.valid?(NAME_MEDIUM, ignore_private: true) == true } - end - x.report("NAME_LONG") do - TIMES.times { PublicSuffix.valid?(NAME_LONG) == true } - end - x.report("NAME_LONG (noprivate)") do - TIMES.times { PublicSuffix.valid?(NAME_LONG, ignore_private: true) == true } - end - x.report("NAME_WILD") do - TIMES.times { PublicSuffix.valid?(NAME_WILD) == true } - end - x.report("NAME_WILD (noprivate)") do - TIMES.times { PublicSuffix.valid?(NAME_WILD, ignore_private: true) == true } - end - x.report("NAME_EXCP") do - TIMES.times { PublicSuffix.valid?(NAME_EXCP) == true } - end - x.report("NAME_EXCP (noprivate)") do - TIMES.times { PublicSuffix.valid?(NAME_EXCP, ignore_private: true) == true } - end - - x.report("IAAA") do - TIMES.times { PublicSuffix.valid?(IAAA) == true } - end - x.report("IAAA (noprivate)") do - TIMES.times { PublicSuffix.valid?(IAAA, ignore_private: true) == true } - end - x.report("IZZZ") do - TIMES.times { PublicSuffix.valid?(IZZZ) == true } - end - x.report("IZZZ (noprivate)") do - TIMES.times { PublicSuffix.valid?(IZZZ, ignore_private: true) == true } - end - - x.report("PAAA") do - TIMES.times { PublicSuffix.valid?(PAAA) == true } - end - x.report("PAAA (noprivate)") do - TIMES.times { PublicSuffix.valid?(PAAA, ignore_private: true) == true } - end - x.report("PZZZ") do - TIMES.times { PublicSuffix.valid?(PZZZ) == true } - end - x.report("PZZZ (noprivate)") do - TIMES.times { PublicSuffix.valid?(PZZZ, ignore_private: true) == true } - end - - x.report("JP") do - TIMES.times { PublicSuffix.valid?(JP) == true } - end - x.report("JP (noprivate)") do - TIMES.times { PublicSuffix.valid?(JP, ignore_private: true) == true } - end - x.report("IT") do - TIMES.times { PublicSuffix.valid?(IT) == true } - end - x.report("IT (noprivate)") do - TIMES.times { PublicSuffix.valid?(IT, ignore_private: true) == true } - end - x.report("COM") do - TIMES.times { PublicSuffix.valid?(COM) == true } - end - x.report("COM (noprivate)") do - TIMES.times { PublicSuffix.valid?(COM, ignore_private: true) == true } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/domain_profiler.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/domain_profiler.rb deleted file mode 100644 index 1ed1050..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/domain_profiler.rb +++ /dev/null @@ -1,12 +0,0 @@ -$LOAD_PATH.unshift File.expand_path("../../lib", __dir__) - -require "memory_profiler" -require "public_suffix" - -PublicSuffix::List.default - -report = MemoryProfiler.report do - PublicSuffix.domain("www.example.com") -end - -report.pretty_print diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/find_profiler.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/find_profiler.rb deleted file mode 100644 index 53d28eb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/find_profiler.rb +++ /dev/null @@ -1,12 +0,0 @@ -$LOAD_PATH.unshift File.expand_path("../../lib", __dir__) - -require "memory_profiler" -require "public_suffix" - -PublicSuffix::List.default - -report = MemoryProfiler.report do - PublicSuffix::List.default.find("www.example.com") -end - -report.pretty_print diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/find_profiler_jp.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/find_profiler_jp.rb deleted file mode 100644 index 65c13fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/find_profiler_jp.rb +++ /dev/null @@ -1,12 +0,0 @@ -$LOAD_PATH.unshift File.expand_path("../../lib", __dir__) - -require "memory_profiler" -require "public_suffix" - -PublicSuffix::List.default - -report = MemoryProfiler.report do - PublicSuffix::List.default.find("a.b.ide.kyoto.jp") -end - -report.pretty_print diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/initialization_profiler.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/initialization_profiler.rb deleted file mode 100644 index 008b1e7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/initialization_profiler.rb +++ /dev/null @@ -1,11 +0,0 @@ -$LOAD_PATH.unshift File.expand_path("../../lib", __dir__) - -require "memory_profiler" -require "public_suffix" - -report = MemoryProfiler.report do - PublicSuffix::List.default -end - -report.pretty_print -# report.pretty_print(to_file: 'profiler-%s-%d.txt' % [ARGV[0], Time.now.to_i]) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/list_profsize.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/list_profsize.rb deleted file mode 100644 index 0b98b4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/list_profsize.rb +++ /dev/null @@ -1,11 +0,0 @@ -$LOAD_PATH.unshift File.expand_path("../../lib", __dir__) - -require_relative "object_binsize" -require "public_suffix" - -list = PublicSuffix::List.default -puts "#{list.size} rules:" - -prof = ObjectBinsize.new -prof.report(PublicSuffix::List.default, label: "PublicSuffix::List size") -prof.report(PublicSuffix::List.default.instance_variable_get(:@rules), label: "Size of rules") diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/object_binsize.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/object_binsize.rb deleted file mode 100644 index dc60bdb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/profilers/object_binsize.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'tempfile' - -# A very simple memory profiles that checks the full size of a variable -# by serializing into a binary file. -# -# Yes, I know this is very rough, but there are cases where ObjectSpace.memsize_of -# doesn't cooperate, and this is one of the possible workarounds. -# -# For certain cases, it works (TM). -class ObjectBinsize - - def measure(var, label: nil) - dump(var, label: label) - end - - def report(var, label: nil, padding: 10) - file = measure(var, label: label) - - size = format_integer(file.size) - name = label || File.basename(file.path) - printf("%#{padding}s %s\n", size, name) - end - - private - - def dump(var, **args) - file = Tempfile.new(args[:label].to_s) - file.write(Marshal.dump(var)) - file - ensure - file.close - end - - def format_integer(int) - int.to_s.reverse.gsub(/...(?=.)/, '\&,').reverse - end - -end - -if __FILE__ == $0 - prof = ObjectBinsize.new - - prof.report(nil, label: "nil") - prof.report(false, label: "false") - prof.report(true, label: "true") - prof.report(0, label: "integer") - prof.report("", label: "empty string") - prof.report({}, label: "empty hash") - prof.report({}, label: "empty array") - - prof.report({ foo: "1" }, label: "hash 1 item (symbol)") - prof.report({ foo: "1", bar: 2 }, label: "hash 2 items (symbol)") - prof.report({ "foo" => "1" }, label: "hash 1 item (string)") - prof.report({ "foo" => "1", "bar" => 2 }, label: "hash 2 items (string)") - - prof.report("big string" * 200, label: "big string * 200") -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/psl_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/psl_test.rb deleted file mode 100644 index fae398f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/psl_test.rb +++ /dev/null @@ -1,52 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require "public_suffix" - -# This test runs against the current PSL file and ensures -# the definitions satisfies the test suite. -class PslTest < Minitest::Test - - ROOT = File.expand_path("..", __dir__) - - # rubocop:disable Security/Eval - def self.tests - File.readlines(File.join(ROOT, "test/tests.txt")).map do |line| - line = line.strip - next if line.empty? - next if line.start_with?("//") - - input, output = line.split(", ") - - # handle the case of eval("null"), it must be eval("nil") - input = "nil" if input == "null" - output = "nil" if output == "null" - - input = eval(input) - output = eval(output) - [input, output] - end - end - # rubocop:enable Security/Eval - - - def test_valid - # Parse the PSL and run the tests - data = File.read(PublicSuffix::List::DEFAULT_LIST_PATH) - PublicSuffix::List.default = PublicSuffix::List.parse(data) - - failures = [] - self.class.tests.each do |input, output| - # Punycode domains are not supported ATM - next if input =~ /xn--/ - - domain = PublicSuffix.domain(input) rescue nil - failures << [input, output, domain] if output != domain - end - - message = "The following #{failures.size} tests fail:\n" - failures.each { |i, o, d| message += "Expected %s to be %s, got %s\n" % [i.inspect, o.inspect, d.inspect] } - assert_equal 0, failures.size, message - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/test_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/test_helper.rb deleted file mode 100644 index d590716..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/test_helper.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -require "minitest/autorun" -require "minitest/reporters" -require "mocha/minitest" - -Minitest::Reporters.use! Minitest::Reporters::DefaultReporter.new(color: true) - -$LOAD_PATH.unshift File.expand_path("../lib", __dir__) -require "public_suffix" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/tests.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/tests.txt deleted file mode 100644 index b11150a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/tests.txt +++ /dev/null @@ -1,98 +0,0 @@ -// Any copyright is dedicated to the Public Domain. -// http://creativecommons.org/publicdomain/zero/1.0/ - -// null input -null, null -// Mixed case -'COM', null -'example.COM', 'example.com' -'WwW.example.COM', 'example.com' -// Leading dot -'.com', null -'.example', null -'.example.com', null -'.example.example', null -// Unlisted TLD -'example', null -'example.example', 'example.example' -'b.example.example', 'example.example' -'a.b.example.example', 'example.example' -// Listed, but non-Internet, TLD -//'local', null -//'example.local', null -//'b.example.local', null -//'a.b.example.local', null -// TLD with only 1 rule -'biz', null -'domain.biz', 'domain.biz' -'b.domain.biz', 'domain.biz' -'a.b.domain.biz', 'domain.biz' -// TLD with some 2-level rules -'com', null -'example.com', 'example.com' -'b.example.com', 'example.com' -'a.b.example.com', 'example.com' -'uk.com', null -'example.uk.com', 'example.uk.com' -'b.example.uk.com', 'example.uk.com' -'a.b.example.uk.com', 'example.uk.com' -'test.ac', 'test.ac' -// TLD with only 1 (wildcard) rule -'mm', null -'c.mm', null -'b.c.mm', 'b.c.mm' -'a.b.c.mm', 'b.c.mm' -// More complex TLD -'jp', null -'test.jp', 'test.jp' -'www.test.jp', 'test.jp' -'ac.jp', null -'test.ac.jp', 'test.ac.jp' -'www.test.ac.jp', 'test.ac.jp' -'kyoto.jp', null -'test.kyoto.jp', 'test.kyoto.jp' -'ide.kyoto.jp', null -'b.ide.kyoto.jp', 'b.ide.kyoto.jp' -'a.b.ide.kyoto.jp', 'b.ide.kyoto.jp' -'c.kobe.jp', null -'b.c.kobe.jp', 'b.c.kobe.jp' -'a.b.c.kobe.jp', 'b.c.kobe.jp' -'city.kobe.jp', 'city.kobe.jp' -'www.city.kobe.jp', 'city.kobe.jp' -// TLD with a wildcard rule and exceptions -'ck', null -'test.ck', null -'b.test.ck', 'b.test.ck' -'a.b.test.ck', 'b.test.ck' -'www.ck', 'www.ck' -'www.www.ck', 'www.ck' -// US K12 -'us', null -'test.us', 'test.us' -'www.test.us', 'test.us' -'ak.us', null -'test.ak.us', 'test.ak.us' -'www.test.ak.us', 'test.ak.us' -'k12.ak.us', null -'test.k12.ak.us', 'test.k12.ak.us' -'www.test.k12.ak.us', 'test.k12.ak.us' -// IDN labels -'食狮.com.cn', '食狮.com.cn' -'食狮.公司.cn', '食狮.公司.cn' -'www.食狮.公司.cn', '食狮.公司.cn' -'shishi.公司.cn', 'shishi.公司.cn' -'公司.cn', null -'食狮.中国', '食狮.中国' -'www.食狮.中国', '食狮.中国' -'shishi.中国', 'shishi.中国' -'中国', null -// Same as above, but punycoded -'xn--85x722f.com.cn', 'xn--85x722f.com.cn' -'xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn' -'www.xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn' -'shishi.xn--55qx5d.cn', 'shishi.xn--55qx5d.cn' -'xn--55qx5d.cn', null -'xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s' -'www.xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s' -'shishi.xn--fiqs8s', 'shishi.xn--fiqs8s' -'xn--fiqs8s', null diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/domain_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/domain_test.rb deleted file mode 100644 index 968462d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/domain_test.rb +++ /dev/null @@ -1,106 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -class PublicSuffix::DomainTest < Minitest::Test - - def setup - @klass = PublicSuffix::Domain - end - - # Tokenizes given input into labels. - def test_self_name_to_labels - assert_equal %w( someone spaces live com ), - PublicSuffix::Domain.name_to_labels("someone.spaces.live.com") - assert_equal %w( leontina23samiko wiki zoho com ), - PublicSuffix::Domain.name_to_labels("leontina23samiko.wiki.zoho.com") - end - - # Converts input into String. - def test_self_name_to_labels_converts_input_to_string - assert_equal %w( someone spaces live com ), - PublicSuffix::Domain.name_to_labels(:"someone.spaces.live.com") - end - - - def test_initialize_with_tld - domain = @klass.new("com") - assert_equal "com", domain.tld - assert_nil domain.sld - assert_nil domain.trd - end - - def test_initialize_with_tld_and_sld - domain = @klass.new("com", "google") - assert_equal "com", domain.tld - assert_equal "google", domain.sld - assert_nil domain.trd - end - - def test_initialize_with_tld_and_sld_and_trd - domain = @klass.new("com", "google", "www") - assert_equal "com", domain.tld - assert_equal "google", domain.sld - assert_equal "www", domain.trd - end - - - def test_to_s - assert_equal "com", @klass.new("com").to_s - assert_equal "google.com", @klass.new("com", "google").to_s - assert_equal "www.google.com", @klass.new("com", "google", "www").to_s - end - - def test_to_a - assert_equal [nil, nil, "com"], @klass.new("com").to_a - assert_equal [nil, "google", "com"], @klass.new("com", "google").to_a - assert_equal ["www", "google", "com"], @klass.new("com", "google", "www").to_a - end - - - def test_tld - assert_equal "com", @klass.new("com", "google", "www").tld - end - - def test_sld - assert_equal "google", @klass.new("com", "google", "www").sld - end - - def test_trd - assert_equal "www", @klass.new("com", "google", "www").trd - end - - - def test_name - assert_equal "com", @klass.new("com").name - assert_equal "google.com", @klass.new("com", "google").name - assert_equal "www.google.com", @klass.new("com", "google", "www").name - end - - def test_domain - assert_nil @klass.new("com").domain - assert_nil @klass.new("tldnotlisted").domain - assert_equal "google.com", @klass.new("com", "google").domain - assert_equal "google.tldnotlisted", @klass.new("tldnotlisted", "google").domain - assert_equal "google.com", @klass.new("com", "google", "www").domain - assert_equal "google.tldnotlisted", @klass.new("tldnotlisted", "google", "www").domain - end - - def test_subdomain - assert_nil @klass.new("com").subdomain - assert_nil @klass.new("tldnotlisted").subdomain - assert_nil @klass.new("com", "google").subdomain - assert_nil @klass.new("tldnotlisted", "google").subdomain - assert_equal "www.google.com", @klass.new("com", "google", "www").subdomain - assert_equal "www.google.tldnotlisted", @klass.new("tldnotlisted", "google", "www").subdomain - end - - - def test_domain_question - assert !@klass.new("com").domain? - assert @klass.new("com", "example").domain? - assert @klass.new("com", "example", "www").domain? - assert @klass.new("tldnotlisted", "example").domain? - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/errors_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/errors_test.rb deleted file mode 100644 index 75099ba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/errors_test.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -class ErrorsTest < Minitest::Test - - # Inherits from StandardError - def test_error_inheritance - assert_kind_of StandardError, - PublicSuffix::Error.new - end - - # Inherits from PublicSuffix::Error - def test_domain_invalid_inheritance - assert_kind_of PublicSuffix::Error, - PublicSuffix::DomainInvalid.new - end - - # Inherits from PublicSuffix::DomainInvalid - def test_domain_not_allowed_inheritance - assert_kind_of PublicSuffix::DomainInvalid, - PublicSuffix::DomainNotAllowed.new - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/list_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/list_test.rb deleted file mode 100644 index 9852935..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/list_test.rb +++ /dev/null @@ -1,241 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -class PublicSuffix::ListTest < Minitest::Test - - def setup - @list = PublicSuffix::List.new - end - - def teardown - PublicSuffix::List.default = nil - end - - - def test_initialize - assert_instance_of PublicSuffix::List, @list - assert_equal 0, @list.size - end - - - def test_equality_with_self - list = PublicSuffix::List.new - assert_equal list, list - end - - def test_equality_with_internals - rule = PublicSuffix::Rule.factory("com") - assert_equal PublicSuffix::List.new.add(rule), PublicSuffix::List.new.add(rule) - end - - def test_each_without_block - list = PublicSuffix::List.parse(<<LIST) -alpha -beta -LIST - - assert_kind_of Enumerator, list.each - assert_equal 2, list.each.count - assert_equal PublicSuffix::Rule.factory("alpha"), list.each.first - end - - def test_each_with_block - list = PublicSuffix::List.parse(<<LIST) -alpha -beta -LIST - - entries = [] - list.each { |r| entries << r } - - assert_equal 2, entries.count - assert_equal PublicSuffix::Rule.factory("alpha"), entries.first - end - - - def test_add - assert_equal @list, @list.add(PublicSuffix::Rule.factory("foo")) - assert_equal @list, @list << PublicSuffix::Rule.factory("bar") - assert_equal 2, @list.size - end - - def test_add_should_recreate_index - @list = PublicSuffix::List.parse("com") - assert_equal PublicSuffix::Rule.factory("com"), @list.find("google.com") - assert_equal @list.default_rule, @list.find("google.net") - - @list << PublicSuffix::Rule.factory("net") - assert_equal PublicSuffix::Rule.factory("com"), @list.find("google.com") - assert_equal PublicSuffix::Rule.factory("net"), @list.find("google.net") - end - - def test_empty? - assert @list.empty? - @list.add(PublicSuffix::Rule.factory("")) - assert !@list.empty? - end - - def test_size - assert_equal 0, @list.size - assert_equal @list, @list.add(PublicSuffix::Rule.factory("")) - assert_equal 1, @list.size - end - - def test_clear - assert_equal 0, @list.size - assert_equal @list, @list.add(PublicSuffix::Rule.factory("")) - assert_equal 1, @list.size - assert_equal @list, @list.clear - assert_equal 0, @list.size - end - - - def test_find - list = PublicSuffix::List.parse(<<LIST) -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at https://mozilla.org/MPL/2.0/. - -// ===BEGIN ICANN DOMAINS=== - -// com -com - -// uk -*.uk -*.sch.uk -!bl.uk -!british-library.uk - -// io -io - -// ===END ICANN DOMAINS=== -// ===BEGIN PRIVATE DOMAINS=== - -// Google, Inc. -blogspot.com - -// ===END PRIVATE DOMAINS=== -LIST - - # match IANA - assert_equal PublicSuffix::Rule.factory("com"), list.find("example.com") - assert_equal PublicSuffix::Rule.factory("com"), list.find("foo.example.com") - - # match wildcard - assert_equal PublicSuffix::Rule.factory("*.uk"), list.find("example.uk") - assert_equal PublicSuffix::Rule.factory("*.uk"), list.find("example.co.uk") - assert_equal PublicSuffix::Rule.factory("*.uk"), list.find("foo.example.co.uk") - - # match exception - assert_equal PublicSuffix::Rule.factory("!british-library.uk"), list.find("british-library.uk") - assert_equal PublicSuffix::Rule.factory("!british-library.uk"), list.find("foo.british-library.uk") - - # match default rule - assert_equal PublicSuffix::Rule.factory("*"), list.find("test") - assert_equal PublicSuffix::Rule.factory("*"), list.find("example.test") - assert_equal PublicSuffix::Rule.factory("*"), list.find("foo.example.test") - - # match private - assert_equal PublicSuffix::Rule.factory("blogspot.com", private: true), list.find("blogspot.com") - assert_equal PublicSuffix::Rule.factory("blogspot.com", private: true), list.find("foo.blogspot.com") - end - - - def test_select - assert_equal 2, list.send(:select, "british-library.uk").size - end - - def test_select_name_blank - assert_equal [], list.send(:select, nil) - assert_equal [], list.send(:select, "") - assert_equal [], list.send(:select, " ") - end - - def test_select_ignore_private - list = PublicSuffix::List.new - list.add r1 = PublicSuffix::Rule.factory("io") - list.add r2 = PublicSuffix::Rule.factory("example.io", private: true) - - assert_equal list.send(:select, "foo.io"), [r1] - assert_equal list.send(:select, "example.io"), [r1, r2] - assert_equal list.send(:select, "foo.example.io"), [r1, r2] - - assert_equal list.send(:select, "foo.io", ignore_private: false), [r1] - assert_equal list.send(:select, "example.io", ignore_private: false), [r1, r2] - assert_equal list.send(:select, "foo.example.io", ignore_private: false), [r1, r2] - - assert_equal list.send(:select, "foo.io", ignore_private: true), [r1] - assert_equal list.send(:select, "example.io", ignore_private: true), [r1] - assert_equal list.send(:select, "foo.example.io", ignore_private: true), [r1] - end - - - def test_self_default_getter - PublicSuffix::List.default = nil - assert_nil(PublicSuffix::List.class_eval { @default }) - PublicSuffix::List.default - refute_nil(PublicSuffix::List.class_eval { @default }) - end - - def test_self_default_setter - PublicSuffix::List.default - refute_nil(PublicSuffix::List.class_eval { @default }) - PublicSuffix::List.default = nil - assert_nil(PublicSuffix::List.class_eval { @default }) - end - - def test_self_parse - list = PublicSuffix::List.parse(<<LIST) -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at https://mozilla.org/MPL/2.0/. - -// ===BEGIN ICANN DOMAINS=== - -// com -com - -// uk -*.uk -!british-library.uk - -// ===END ICANN DOMAINS=== -// ===BEGIN PRIVATE DOMAINS=== - -// Google, Inc. -blogspot.com - -// ===END PRIVATE DOMAINS=== -LIST - - assert_instance_of PublicSuffix::List, list - assert_equal 4, list.size - - rules = %w( com *.uk !british-library.uk blogspot.com ).map { |name| PublicSuffix::Rule.factory(name) } - assert_equal rules, list.each.to_a - - # private domains - assert_equal false, list.find("com").private - assert_equal true, list.find("blogspot.com").private - end - - - private - - def list - @_list ||= PublicSuffix::List.parse(<<LIST) -// com : http://en.wikipedia.org/wiki/.com -com - -// uk : http://en.wikipedia.org/wiki/.uk -*.uk -*.sch.uk -!bl.uk -!british-library.uk -LIST - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/public_suffix_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/public_suffix_test.rb deleted file mode 100644 index ba51e13..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/public_suffix_test.rb +++ /dev/null @@ -1,188 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -class PublicSuffixTest < Minitest::Test - - def test_private_domains_enabled_by_default - domain = PublicSuffix.parse("www.example.blogspot.com") - assert_equal "blogspot.com", domain.tld - end - - def test_private_domains_disable - data = File.read(PublicSuffix::List::DEFAULT_LIST_PATH) - PublicSuffix::List.default = PublicSuffix::List.parse(data, private_domains: false) - domain = PublicSuffix.parse("www.example.blogspot.com") - assert_equal "com", domain.tld - ensure - PublicSuffix::List.default = nil - end - - - def test_self_parse_a_domain_with_tld_and_sld - domain = PublicSuffix.parse("example.com") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "com", domain.tld - assert_equal "example", domain.sld - assert_nil domain.trd - - domain = PublicSuffix.parse("example.co.uk") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "co.uk", domain.tld - assert_equal "example", domain.sld - assert_nil domain.trd - end - - def test_self_parse_a_domain_with_tld_and_sld_and_trd - domain = PublicSuffix.parse("alpha.example.com") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "com", domain.tld - assert_equal "example", domain.sld - assert_equal "alpha", domain.trd - - domain = PublicSuffix.parse("alpha.example.co.uk") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "co.uk", domain.tld - assert_equal "example", domain.sld - assert_equal "alpha", domain.trd - end - - def test_self_parse_a_domain_with_tld_and_sld_and_4rd - domain = PublicSuffix.parse("one.two.example.com") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "com", domain.tld - assert_equal "example", domain.sld - assert_equal "one.two", domain.trd - - domain = PublicSuffix.parse("one.two.example.co.uk") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "co.uk", domain.tld - assert_equal "example", domain.sld - assert_equal "one.two", domain.trd - end - - def test_self_parse_name_fqdn - domain = PublicSuffix.parse("www.example.com.") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "com", domain.tld - assert_equal "example", domain.sld - assert_equal "www", domain.trd - end - - def test_self_parse_with_custom_list - list = PublicSuffix::List.new - list << PublicSuffix::Rule.factory("test") - - domain = PublicSuffix.parse("www.example.test", list: list) - assert_instance_of PublicSuffix::Domain, domain - assert_equal "test", domain.tld - assert_equal "example", domain.sld - assert_equal "www", domain.trd - end - - def test_self_parse_with_notlisted_name - domain = PublicSuffix.parse("example.tldnotlisted") - assert_instance_of PublicSuffix::Domain, domain - assert_equal "tldnotlisted", domain.tld - assert_equal "example", domain.sld - assert_nil domain.trd - end - - def test_self_parse_with_unallowed_domain - error = assert_raises(PublicSuffix::DomainNotAllowed) { PublicSuffix.parse("example.bd") } - assert_match(/example\.bd/, error.message) - end - - def test_self_parse_with_uri - error = assert_raises(PublicSuffix::DomainInvalid) { PublicSuffix.parse("http://google.com") } - assert_match(%r{http://google\.com}, error.message) - end - - - def test_self_valid - assert PublicSuffix.valid?("google.com") - assert PublicSuffix.valid?("www.google.com") - assert PublicSuffix.valid?("google.co.uk") - assert PublicSuffix.valid?("www.google.co.uk") - end - - def test_self_valid_with_notlisted_name - assert PublicSuffix.valid?("google.tldnotlisted") - assert PublicSuffix.valid?("www.google.tldnotlisted") - end - - # def test_self_valid_with_fully_qualified_domain_name - # assert PublicSuffix.valid?("google.com.") - # assert PublicSuffix.valid?("google.co.uk.") - # assert !PublicSuffix.valid?("google.tldnotlisted.") - # end - - - def test_self_domain - assert_equal "google.com", PublicSuffix.domain("google.com") - assert_equal "google.com", PublicSuffix.domain("www.google.com") - assert_equal "google.co.uk", PublicSuffix.domain("google.co.uk") - assert_equal "google.co.uk", PublicSuffix.domain("www.google.co.uk") - end - - def test_self_domain_with_notlisted_name - assert_equal "example.tldnotlisted", PublicSuffix.domain("example.tldnotlisted") - end - - def test_self_domain_with_unallowed_name - assert_nil PublicSuffix.domain("example.bd") - end - - def test_self_domain_with_blank_sld - assert_nil PublicSuffix.domain("com") - assert_nil PublicSuffix.domain(".com") - end - - - def test_self_normalize - [ - ["com", "com"], - ["example.com", "example.com"], - ["www.example.com", "www.example.com"], - - ["example.com.", "example.com"], # strip FQDN - [" example.com ", "example.com"], # strip spaces - ["Example.COM", "example.com"], # downcase - ].each do |input, output| - assert_equal output, PublicSuffix.normalize(input) - end - end - - def test_normalize_blank - [ - nil, - "", - " ", - ].each do |input| - error = PublicSuffix.normalize(input) - assert_instance_of PublicSuffix::DomainInvalid, error - assert_equal "Name is blank", error.message - end - end - - def test_normalize_scheme - [ - "https://google.com", - ].each do |input| - error = PublicSuffix.normalize(input) - assert_instance_of PublicSuffix::DomainInvalid, error - assert_match(/scheme/, error.message) - end - end - - def test_normalize_leading_dot - [ - ".google.com", - ].each do |input| - error = PublicSuffix.normalize(input) - assert_instance_of PublicSuffix::DomainInvalid, error - assert_match "Name starts with a dot", error.message - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/rule_test.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/rule_test.rb deleted file mode 100644 index d1cc609..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/public_suffix-4.0.7/test/unit/rule_test.rb +++ /dev/null @@ -1,222 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -class PublicSuffix::RuleTest < Minitest::Test - - def test_factory_should_return_rule_normal - rule = PublicSuffix::Rule.factory("com") - assert_instance_of PublicSuffix::Rule::Normal, rule - - rule = PublicSuffix::Rule.factory("verona.it") - assert_instance_of PublicSuffix::Rule::Normal, rule - end - - def test_factory_should_return_rule_exception - rule = PublicSuffix::Rule.factory("!british-library.uk") - assert_instance_of PublicSuffix::Rule::Exception, rule - end - - def test_factory_should_return_rule_wildcard - rule = PublicSuffix::Rule.factory("*.do") - assert_instance_of PublicSuffix::Rule::Wildcard, rule - - rule = PublicSuffix::Rule.factory("*.sch.uk") - assert_instance_of PublicSuffix::Rule::Wildcard, rule - end - - - def test_default_returns_default_wildcard - default = PublicSuffix::Rule.default - assert_equal PublicSuffix::Rule::Wildcard.build("*"), default - assert_equal %w( example tldnotlisted ), default.decompose("example.tldnotlisted") - assert_equal %w( www.example tldnotlisted ), default.decompose("www.example.tldnotlisted") - end - -end - - -class PublicSuffix::RuleBaseTest < Minitest::Test - - class ::PublicSuffix::Rule::Test < ::PublicSuffix::Rule::Base - end - - def setup - @klass = PublicSuffix::Rule::Base - end - - - def test_initialize - rule = @klass.new(value: "verona.it") - assert_instance_of @klass, rule - assert_equal "verona.it", rule.value - end - - - def test_equality_with_self - rule = PublicSuffix::Rule::Base.new(value: "foo") - assert_equal rule, rule - end - - # rubocop:disable Style/SingleLineMethods - def test_equality_with_internals - assert_equal @klass.new(value: "foo"), @klass.new(value: "foo") - refute_equal @klass.new(value: "foo"), @klass.new(value: "bar") - refute_equal @klass.new(value: "foo"), PublicSuffix::Rule::Test.new(value: "foo") - refute_equal @klass.new(value: "foo"), PublicSuffix::Rule::Test.new(value: "bar") - refute_equal @klass.new(value: "foo"), Class.new { def name; foo; end }.new - end - # rubocop:enable Style/SingleLineMethods - - def test_match - [ - # standard match - [PublicSuffix::Rule.factory("uk"), "uk", true], - [PublicSuffix::Rule.factory("uk"), "example.uk", true], - [PublicSuffix::Rule.factory("uk"), "example.co.uk", true], - [PublicSuffix::Rule.factory("co.uk"), "example.co.uk", true], - - # FIXME - # [PublicSuffix::Rule.factory("*.com"), "com", false], - [PublicSuffix::Rule.factory("*.com"), "example.com", true], - [PublicSuffix::Rule.factory("*.com"), "foo.example.com", true], - [PublicSuffix::Rule.factory("!example.com"), "com", false], - [PublicSuffix::Rule.factory("!example.com"), "example.com", true], - [PublicSuffix::Rule.factory("!example.com"), "foo.example.com", true], - - # TLD mismatch - [PublicSuffix::Rule.factory("gk"), "example.uk", false], - [PublicSuffix::Rule.factory("gk"), "example.co.uk", false], - [PublicSuffix::Rule.factory("co.uk"), "uk", false], - - # general mismatch - [PublicSuffix::Rule.factory("uk.co"), "example.co.uk", false], - [PublicSuffix::Rule.factory("go.uk"), "example.co.uk", false], - [PublicSuffix::Rule.factory("co.uk"), "uk", false], - - # partial matches/mismatches - [PublicSuffix::Rule.factory("co"), "example.co.uk", false], - [PublicSuffix::Rule.factory("example"), "example.uk", false], - [PublicSuffix::Rule.factory("le.it"), "example.it", false], - [PublicSuffix::Rule.factory("le.it"), "le.it", true], - [PublicSuffix::Rule.factory("le.it"), "foo.le.it", true], - - ].each do |rule, input, expected| - assert_equal expected, rule.match?(input) - end - end - - - def test_parts - assert_raises(NotImplementedError) { @klass.new(value: "com").parts } - end - - def test_decompose - assert_raises(NotImplementedError) { @klass.new(value: "com").decompose("google.com") } - end - -end - - -class PublicSuffix::RuleNormalTest < Minitest::Test - - def setup - @klass = PublicSuffix::Rule::Normal - end - - - def test_build - rule = @klass.build("verona.it") - assert_instance_of @klass, rule - assert_equal "verona.it", rule.value - assert_equal "verona.it", rule.rule - end - - - def test_length - assert_equal 1, @klass.build("com").length - assert_equal 2, @klass.build("co.com").length - assert_equal 3, @klass.build("mx.co.com").length - end - - def test_parts - assert_equal %w(com), @klass.build("com").parts - assert_equal %w(co com), @klass.build("co.com").parts - assert_equal %w(mx co com), @klass.build("mx.co.com").parts - end - - def test_decompose - assert_equal [nil, nil], @klass.build("com").decompose("com") - assert_equal %w( example com ), @klass.build("com").decompose("example.com") - assert_equal %w( foo.example com ), @klass.build("com").decompose("foo.example.com") - end - -end - - -class PublicSuffix::RuleExceptionTest < Minitest::Test - - def setup - @klass = PublicSuffix::Rule::Exception - end - - - def test_initialize - rule = @klass.build("!british-library.uk") - assert_instance_of @klass, rule - assert_equal "british-library.uk", rule.value - assert_equal "!british-library.uk", rule.rule - end - - - def test_length - assert_equal 2, @klass.build("!british-library.uk").length - assert_equal 3, @klass.build("!foo.british-library.uk").length - end - - def test_parts - assert_equal %w( uk ), @klass.build("!british-library.uk").parts - assert_equal %w( tokyo jp ), @klass.build("!metro.tokyo.jp").parts - end - - def test_decompose - assert_equal [nil, nil], @klass.build("!british-library.uk").decompose("uk") - assert_equal %w( british-library uk ), @klass.build("!british-library.uk").decompose("british-library.uk") - assert_equal %w( foo.british-library uk ), @klass.build("!british-library.uk").decompose("foo.british-library.uk") - end - -end - - -class PublicSuffix::RuleWildcardTest < Minitest::Test - - def setup - @klass = PublicSuffix::Rule::Wildcard - end - - - def test_initialize - rule = @klass.build("*.aichi.jp") - assert_instance_of @klass, rule - assert_equal "aichi.jp", rule.value - assert_equal "*.aichi.jp", rule.rule - end - - - def test_length - assert_equal 2, @klass.build("*.uk").length - assert_equal 3, @klass.build("*.co.uk").length - end - - def test_parts - assert_equal %w( uk ), @klass.build("*.uk").parts - assert_equal %w( co uk ), @klass.build("*.co.uk").parts - end - - def test_decompose - assert_equal [nil, nil], @klass.build("*.do").decompose("nic.do") - assert_equal %w( google co.uk ), @klass.build("*.uk").decompose("google.co.uk") - assert_equal %w( foo.google co.uk ), @klass.build("*.uk").decompose("foo.google.co.uk") - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/COPYING b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/COPYING deleted file mode 100644 index 00e3e0d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/COPYING +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 2019 Yukihiro Matsumoto. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ChangeLog b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ChangeLog deleted file mode 100644 index 762b5ee..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ChangeLog +++ /dev/null @@ -1,846 +0,0 @@ -Tue Feb 20 18:45:45 2007 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb (separated_by): last commit was wrong. use - optional default return value of #option. - -Tue Feb 20 18:27:48 2007 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb (separated_by): return [] for empty list. - -Tue Nov 7 07:13:47 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb (Rule#prec): rule.prec{...} should set - action. - -Tue Nov 7 06:38:57 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb: system call error on writing log file - should be ignored. - - * lib/racc/grammar.rb: never define lvar which have same name with - block local variable. - - * lib/racc/iset.rb: ditto. - - * lib/racc/logfilegenerator.rb: ditto. - - * lib/racc/parser.rb: ditto. - - * lib/racc/state.rb: ditto. - - * lib/racc/statetransitiontable.rb: ditto. - - * test/test.rb: racc -c is obsolete, use --line-convert-all. - -Sun Oct 29 13:27:30 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammarfileparser.rb: use String#lines instead of - #to_a. - - * lib/racc/parserfilegenerator.rb: ditto. - - * lib/racc/compat.rb: provide Object#__send. - - * lib/racc/compat.rb: provide Object#__send!. - - * lib/racc/compat.rb: provide String#lines. - -Thu Aug 24 23:14:16 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb: report conflicts/useless if $DEBUG. - - * lib/racc/statetransitiontable.rb: remove code for Ruby 1.4 - compatibility. - -Fri Aug 4 01:02:36 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb: #should_terminal should be called in - #check_terminals. - -Fri Aug 4 00:44:56 2006 Minero Aoki <aamine@loveruby.net> - - * bin/racc: getopts -> optparse. - - * lib/racc/grammar.rb: value of error symbol is :error. - - * lib/racc/grammar.rb (check_terminals): string symbols are - terminal. - - * lib/racc/grammarfileparser.rb (add_rule_block): specified-prec - did not work. - -Fri Aug 4 00:29:53 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/parserfilegenerator.rb - (serialize_integer_list_compressed): fix typo. - -Thu Aug 3 22:20:34 2006 Minero Aoki <aamine@loveruby.net> - - * bin/y2racc: fix filename. - -Thu Aug 3 21:10:48 2006 Minero Aoki <aamine@loveruby.net> - - * bin/y2racc: getopts -> optparse. - -Thu Aug 3 19:35:34 2006 Minero Aoki <aamine@loveruby.net> - - * setup.rb: updated. - -Thu Aug 3 19:34:55 2006 Minero Aoki <aamine@loveruby.net> - - * bin/racc2y: getopts -> optparse. - - * bin/racc2y: rewrite code for new generator. - - * lib/racc/grammar.rb (_regist): did not check @delayed rules (it - causes registering same dummy rules many times). - - * lib/racc/grammarfileparser.rb: refactoring: simplify syntax. - - * lib/racc/grammarfileparser.rb: new method - GrammarFileParser.parse. - - * lib/racc/grammarfileparser.rb: new method - GrammarFileParser.parse_file. - -Sat Jul 29 04:51:42 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/pre-setup: We need not make grammarfileparser.rb. - -Sat Jul 29 04:30:33 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb: allow '|' operation with meta rules - (many, option...). - -Sat Jul 29 03:17:20 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb (Grammar#parser_class): write log file when - $DEBUG=true. - - * lib/racc/grammar.rb (Grammar.define): run block on a - Racc::Grammar::DefinitionEnv object, instead of a Racc::Grammar - object. - - * lib/racc/grammar.rb (DefinitionEnv): new method #null. - - * lib/racc/grammar.rb (DefinitionEnv): new method #many. - - * lib/racc/grammar.rb (DefinitionEnv): new method #many1. - - * lib/racc/grammar.rb (DefinitionEnv): new method #option. - - * lib/racc/grammar.rb (DefinitionEnv): new method #seperated_by. - - * lib/racc/grammar.rb (DefinitionEnv): new method #seperated_by1. - - * lib/racc/grammar.rb (DefinitionEnv): new method #action. - -Sat Jul 29 03:13:22 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/compat.rb: reduce warning. - -Sun Jul 16 05:07:12 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/compat.rb: implement Enumerable#each_slice for Ruby - 1.8. - - * lib/racc/parserfilegenerator.rb: better output. - - * ext/racc/cparse/cparse.c: always use VALUE instead of struct - cparse_params. - - * ext/racc/cparse/cparse.c: mark params->value_v. - -Thu Jul 6 20:44:48 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammar.rb: on-the-fly generator implemented. - - * lib/racc/generator.rb -> statetransitiontable.rb, - parserfilegenerator.rb, logfilegenerator.rb. - - * lib/racc/statetransitiontable.rb: new file. - - * lib/racc/parserfilegenerator.rb: new file. - - * lib/racc/logfilegenerator.rb: new file. - - * lib/racc/grammarfileparser.rb.in: removed. - - * lib/racc/grammarfileparser.rb: new file. uses on-the-fly - generator. - - * misc/boot.rb: removed. - - * lib/racc/static.rb: new file, to import static generator - (lib/racc.rb provides dynamic generator). - - * lib/racc/grammar.rb: grand refactoring. - - * lib/racc/sourcetext.rb: new method #to_s, #location. - - * lib/racc/state.rb: compute NFA/DFA on demand. - - * bin/racc: follow these changes. - -Thu Jul 6 20:39:42 2006 Minero Aoki <aamine@loveruby.net> - - * ext/racc/cparse/cparse.so: should mark VALUEs in cparse_params. - -Tue Jul 4 02:24:27 2006 Minero Aoki <aamine@loveruby.net> - - * bin/racc: simplify report code. - - * lib/racc/grammar.rb: introduce new methods for racc command. - - * lib/racc/states.rb: ditto. - - * lib/racc/generator.rb: class CodeGenerator -> - ParserFileGenerator. - - * lib/racc/generator.rb: new class ParserFileGenerator::Params. - - * bin/racc: ditto. - - * misc/boot.rb: ditto. - - * lib/racc/grammarfileparser.rb.in: ditto. - - * lib/racc/grammarfileparser.rb.in: merge grammarfilescanner.rb. - - * lib/racc/grammarfilescanner.rb: removed. - - * lib/racc/grammarfileparser.rb.in: parses user code blocks. - - * lib/racc/usercodeparser.rb: removed. - - * lib/racc/generator.rb: remove user code parsing code. - - * lib/racc/grammarfileparser.rb.in: passes user code block by a - SourceText object. - - * lib/racc/generator.rb: ditto. - - * lib/racc/sourcetext.rb: new file. - - * lib/racc/generator.rb: introduce DSL to describe file contents. - -Tue Jul 4 02:15:36 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/debugflags.rb: remove unused class GenerationOptions. - -Tue Jul 4 02:14:48 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/compat.rb: update coding style. - -Mon Jul 3 04:34:32 2006 Minero Aoki <aamine@loveruby.net> - - * lib/racc/compiler.rb: do not export Grammar/SymbolTable/States. - - * lib/racc/compiler.rb: make a new class for debug flags - (Racc::DebugFlags). - - * lib/racc/compiler.rb: removed. - - * bin/racc: eliminate Racc::Compiler class. - - * bin/racc: refactor profiling code. - - * bin/racc: move file generation code to racc/generator.rb. - - * misc/boot.rb: does not emulate Racc::Compiler interface. - - * lib/racc.rb: new file to require whole generator. - - * lib/racc/grammar.rb: class RuleTable -> Grammar. - - * lib/racc/grammar.rb: Grammar.new does not acccept a Compiler. - - * lib/racc/grammar.rb: refactoring. - - * lib/racc/grammarfileparser.rb.in: GrammarFileParser.new does not - accept a Compiler. - - * lib/racc/grammarfileparser.rb.in: #parser takes more 2 args, a - filename and a base line number. - - * lib/racc/grammarfileparser.rb.in: refactoring. - - * lib/racc/output.rb -> generate.rb - - * lib/racc/generate.rb: class Formatter -> CodeGenerator. - - * lib/racc/generate.rb: CodeGenerator.new does not accept a - Compiler. - - * lib/racc/generate.rb: a CodeGenerator got many parameters via - setter method. - - * lib/racc/generate.rb: class VerboseOutputter -> - LogFileGenerator. - - * lib/racc/generate.rb: LogFileGenerator.new does not accept a - Compiler. - - * lib/racc/generate.rb: refactoring. - - * lib/racc/state.rb: class StateTable -> States. - - * lib/racc/state.rb: States.new does not acccept a Compiler. - - * lib/racc/state.rb: refactoring. - - * test/test.rb: -Da is obsolete (I forgot what this flag is). - - * test/test.rb: allow replacing racc via environment variable - $RACC. - -Mon Jul 3 04:18:49 2006 Minero Aoki <aamine@loveruby.net> - - * Makefile: new task bootstrap-force. - -Sun Jul 2 19:46:58 2006 Minero Aoki <aamine@loveruby.net> - - * test/ichk.y: update coding style. - -Sun Jul 2 19:01:55 2006 Minero Aoki <aamine@loveruby.net> - - * ext/racc/cparse/cparse.c: must require version.h to get - RUBY_VERSION_CODE. - -Sun Jul 2 18:33:32 2006 Minero Aoki <aamine@loveruby.net> - - * ext/racc/cparse/cparse.c: do not use rb_iterate to give a block - to the method, use rb_block_call instead. [ruby-dev:28445] - -Mon Jun 19 02:38:18 2006 Minero Aoki <aamine@loveruby.net> - - * bin/racc: -g option is now -t. -g option is obsolete and is an - alias of -t. - -Mon Jun 19 02:35:59 2006 Minero Aoki <aamine@loveruby.net> - - * ext/racc/cparse/cparse.c: K&R -> ANSI C. - -Mon Nov 21 02:37:10 2005 Minero Aoki <aamine@loveruby.net> - - * version 1.4.5 released. - -Mon Nov 21 02:31:18 2005 Minero Aoki <aamine@loveruby.net> - - * bin/racc: shebang line should include file extension. - - * lib/racc/compat.rb: method removed: bug!. - - * lib/racc/*.rb: racc compiler should not depend on - Racc::ParseError. - - * lib/racc/*.rb: update copyright year. - - * lib/racc/*.rb: update coding style. - - * lib/racc/exception.rb: new file. - -Mon Nov 21 00:49:18 2005 Minero Aoki <aamine@loveruby.net> - - * Makefile: remove useless target `import'. - - * Makefile: generate parser-text.rb. - - * misc/dist.sh: setup.rb and COPYING is now in repository. - - * misc/dist.sh: generate parser-text.rb. - -Mon Nov 21 00:14:21 2005 Minero Aoki <aamine@loveruby.net> - - * bin/racc: read racc/parser.rb from parser-text.rb. - - * lib/racc/rubyloader.rb: no longer needed. - - * lib/racc/pre-setup: new file. - - * lib/racc/pre-setup: generate parser-text.rb. - - * lib/racc/pre-setup: generate grammarfileparser.rb. - - * misc/boot.rb: new method BootstrapCompiler.main. - - * misc/boot.rb: new method BootstrapCompiler.generate, which is - used from pre-setup. - -Mon Nov 21 00:09:04 2005 Minero Aoki <aamine@loveruby.net> - - * bin/racc2y: refactoring. - - * bin/y2racc: refactoring. - -Sun Nov 20 23:46:42 2005 Minero Aoki <aamine@loveruby.net> - - * lib/racc/pre-setup: new file. - -Sun Nov 20 22:46:21 2005 Minero Aoki <aamine@loveruby.net> - - * COPYING: new file. - -Sun Nov 20 22:25:15 2005 Minero Aoki <aamine@loveruby.net> - - * setup.rb: import setup.rb 3.4.1. - -Thu Sep 29 02:51:56 2005 Minero Aoki <aamine@loveruby.net> - - * Makefile (clean): invoke `make clean' in ext. - -Thu Sep 29 02:50:56 2005 Minero Aoki <aamine@loveruby.net> - - * lib/racc/.cvsignore: removed. - -Thu Sep 29 02:46:30 2005 Minero Aoki <aamine@loveruby.net> - - * Makefile: use .makeparams system. - - * Makefile: unify lib/racc/Makefile. - - * Makefile: new target lib/racc/grammarfileparser.rb. - - * lib/racc/Makefile: unified by ./Makefile. - - * lib/racc/boot: removed (moved under misc). - - * misc/boot.rb: new file. - -Thu Sep 29 02:43:30 2005 Minero Aoki <aamine@loveruby.net> - - * setup.rb: new file. - -Tue Jul 26 23:37:46 2005 Minero Aoki <aamine@loveruby.net> - - * bin/racc: --no-omit-actions did not work (This patch is - contributed by OHKUBO Takuya). - -Sun Jan 2 11:48:19 2005 Minero Aoki <aamine@loveruby.net> - - * lib/racc/grammer.rb (once_writer): bug! needs argument. - -Mon Feb 16 16:14:16 2004 Minero Aoki <aamine@loveruby.net> - - * test/echk.y: fix typo. - - * test/ichk.y: does not use amstd. - - * test/opt.y: untabify. - -Mon Feb 16 16:10:46 2004 Minero Aoki <aamine@loveruby.net> - - * lib/racc/boot: update coding style. - - * lib/racc/compat.rb: ditto. - - * lib/racc/compiler.rb: ditto. - - * lib/racc/grammar.rb: ditto. - - * lib/racc/grammarfileparser.rb.in: ditto. - - * lib/racc/grammarfilescanner.rb: ditto. - - * lib/racc/info.rb: ditto. - - * lib/racc/iset.rb: ditto. - - * lib/racc/output.rb: ditto. - - * lib/racc/parser.rb: ditto. - - * lib/racc/state.rb: ditto. - - * lib/racc/usercodeparser.rb: ditto. - -Mon Feb 16 16:01:34 2004 Minero Aoki <aamine@loveruby.net> - - * lib/racc/rubyloader.rb: imported rev1.6. - -Fri Dec 12 01:57:47 2003 Minero Aoki <aamine@loveruby.net> - - * sample/hash.y: use no_result_var option. - - * sample/array.y: use latest (my) coding style. - - * sample/array2.y: ditto. - - * sample/hash.y: ditto. - - * sample/lists.y: ditto. - -Wed Nov 5 19:50:35 2003 Minero Aoki <aamine@loveruby.net> - - * test/bench.y: remove dependency on amstd. - - * test/chk.y: ditto. - - * test/echk.y: ditto. - - * test/ichk.y: ditto. - - * test/intp.y: ditto. - - * test/opt.y: ditto. - - * test/percent.y: ditto. - -Wed Nov 5 19:11:15 2003 Minero Aoki <aamine@loveruby.net> - - * bin/racc (get_options): remove --no-extensions option; - racc/parser is preloaded, Racc_No_Extension does not work. - -Mon Nov 3 22:41:42 2003 Minero Aoki <aamine@loveruby.net> - - * bin/racc: apply latest coding style. - - * lib/racc/parser.rb: ditto. - - * lib/racc/compat.rb: add File.read. - -Mon Nov 3 21:20:25 2003 Minero Aoki <aamine@loveruby.net> - - * ext/racc/cparse/cparse.c (parse_main): abort if length of state - stack <=1, not ==0. - - * lib/racc/parser.rb: use <=1, not <2. - - * ext/racc/cparse/cparse.c: check_*() -> assert_*() - - * ext/racc/cparse/cparse.c (racc_cparse): define lvar `v' for - debugging. - - * ext/racc/cparse/cparse.c (racc_yyparse): ditto. - -Mon Nov 3 17:21:55 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile (all): make cparse.so. - -Mon Nov 3 17:19:26 2003 Minero Aoki <aamine@loveruby.net> - - * lib/racc/parser.rb: update version. - - * ext/racc/cparse/cparse.c: update version. - -Mon Nov 3 17:19:01 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile: update version in parser.rb, cparse.c. - -Sun Oct 12 23:49:58 2003 Minero Aoki <aamine@loveruby.net> - - * version 1.4.4. - -Sun Oct 12 23:49:40 2003 Minero Aoki <aamine@loveruby.net> - - * bin/y2racc: did not work. - - * bin/y2racc: -u options did not work. - -Sun Oct 12 23:41:46 2003 Minero Aoki <aamine@loveruby.net> - - * misc/dist.sh: cd before make. - -Sun Oct 12 23:38:04 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile (site): create $siteroot/{ja,en}/man/racc/*.html. - -Sun Oct 12 23:37:18 2003 Minero Aoki <aamine@loveruby.net> - - * doc/parser.rrd.m: missing 'j'. - -Sun Oct 12 23:29:11 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile: new target `doc'. - - * Makefile: new target `clean'. - - * lib/racc/Makefile: new target `clean'. - - * misc/dist.sh: create documents before pack. - -Sun Oct 12 23:27:58 2003 Minero Aoki <aamine@loveruby.net> - - * doc/debug.rd.m: junk char was inserted. - - * doc/index.html.m: en/ja text were mixed. - - * doc/parser.rrd.m: add return values. - - * doc/usage.html.m: fix hyper link. - -Sun Oct 12 22:57:28 2003 Minero Aoki <aamine@loveruby.net> - - * doc.en/changes.html, doc.ja/changes.html -> doc/NEWS.rd.m - - * doc.en/command.html, doc.ja/command.html -> doc/command.html.m - - * doc.en/debug.html, doc.ja/debug.html -> doc/debug.rd.m - - * doc.en/grammar.html, doc.ja/grammar.html -> doc/grammar.rd.m - - * doc.en/index.html, doc.ja/index.html -> doc/index.html.m - - * doc.en/parser.html, doc.ja/parser.html -> doc/parser.rrd.m - - * doc.en/usage.html, doc.ja/usage.html -> doc/usage.html.m - -Sun Oct 12 18:46:21 2003 Minero Aoki <aamine@loveruby.net> - - * web/racc.ja.html: update descriptions. - - * web/racc.en.html: ditto. - -Sun Oct 12 18:43:45 2003 Minero Aoki <aamine@loveruby.net> - - * misc/dist.sh: remove web/ directory before distribute. - -Sun Oct 12 18:37:29 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile: new target `site'. - - * web/racc.ja.html: new file. - - * web/racc.en.html: new file. - -Sun Oct 12 18:30:55 2003 Minero Aoki <aamine@loveruby.net> - - * misc/dist.sh: forgot to remove tmp comment out. - -Sun Oct 12 18:12:09 2003 Minero Aoki <aamine@loveruby.net> - - * lib/racc/info.rb: version 1.4.4. - -Sun Oct 12 18:11:42 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile (dist): split out misc/dist.sh. - - * misc/dist.sh: new file. - -Sun Oct 12 17:18:47 2003 Minero Aoki <aamine@loveruby.net> - - * README.en: update documents. - - * README.ja: ditto. - - * doc.en/changes.html: ditto. - - * doc.en/command.html: ditto. - - * doc.en/debug.html: ditto. - - * doc.en/grammar.html: ditto. - - * doc.en/index.html: ditto. - - * doc.en/parser.html: ditto. - - * doc.en/usage.html: ditto. - - * doc.ja/changes.html: ditto. - - * doc.ja/command.html: ditto. - - * doc.ja/debug.html: ditto. - - * doc.ja/index.html: ditto. - - * doc.ja/parser.html: ditto. - - * doc.ja/usage.html: ditto. - -Sun Oct 12 16:24:46 2003 Minero Aoki <aamine@loveruby.net> - - * sameple/calc-ja.y: simplify. - -Sun Oct 12 16:24:16 2003 Minero Aoki <aamine@loveruby.net> - - * misc/y2racc -> bin/y2racc - - * misc/racc2y -> bin/racc2y - -Sun Oct 12 15:56:30 2003 Minero Aoki <aamine@loveruby.net> - - * bin/racc: follow method name change. - -Sun Oct 12 15:34:14 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile: new target `test'. - - * Makefile: missing $datadir. - -Sun Oct 12 15:33:02 2003 Minero Aoki <aamine@loveruby.net> - - * README.ja: update description. - - * README.en: ditto. - -Sun Oct 12 15:25:23 2003 Minero Aoki <aamine@loveruby.net> - - * lib/racc/compiler.rb: adjust file names. - - * lib/racc/grammarfileparser.rb.in: ditto. - - * lib/racc/grammarfilescanner.rb: ditto. - -Sun Oct 12 15:24:53 2003 Minero Aoki <aamine@loveruby.net> - - * Makefile: new file. - -Sun Oct 12 15:19:57 2003 Minero Aoki <aamine@loveruby.net> - - * BUGS.en: removed. - - * BUGS.ja: removed. - -Sun Oct 12 15:10:38 2003 Minero Aoki <aamine@loveruby.net> - - * racc -> bin/racc - - * .cvsignore -> lib/racc/.cvsignore - - * lib/racc/Makefile: new file. - - * boot.rb -> lib/racc/boot - - * compat.rb -> lib/racc/compat.rb - - * compiler.rb -> lib/racc/compiler.rb - - * grammar.rb -> lib/racc/grammar.rb - - * in.raccp.rb -> lib/racc/grammarfileparser.rb.in - - * raccs.rb -> lib/racc/grammarfilescanner.rb - - * info.rb -> lib/racc/info.rb - - * iset.rb -> lib/racc/iset.rb - - * outpur.rb -> lib/racc/output.rb - - * parser.rb -> lib/racc/parser.rb - - * rubyloader.rb -> lib/racc/rubyloader.rb - - * state.rb -> lib/racc/state.rb - - * ucodep.rb -> lib/racc/usercodeparser.rb - - * cparse/MANIFEST -> ext/racc/cparse/MANIFEST - - * cparse/cparse.c -> ext/racc/cparse/cparse.c - - * cparse/depend -> ext/racc/cparse/depend - - * cparse/extconf.rb -> ext/racc/cparse/extconf.rb - - * cparse/.cvsignore -> ext/racc/cparse/.cvsignore - -Sun Oct 12 15:10:13 2003 Minero Aoki <aamine@loveruby.net> - - * test/test.rb: use /bin/rm if exists. - -Sun Oct 12 14:33:29 2003 Minero Aoki <aamine@loveruby.net> - - * rubyloader.rb: imported from amstd, rev 1.5. - -Sun Oct 12 14:24:47 2003 Minero Aoki <aamine@loveruby.net> - - * boot.rb: reformat only. - - * compiler.rb: ditto. - - * grammar.rb: ditto. - - * in.raccp.rb: ditto. - - * iset.rb: ditto. - - * output.rb: ditto. - - * raccs.rb: ditto. - - * state.rb: ditto. - -Sun Oct 12 14:17:22 2003 Minero Aoki <aamine@loveruby.net> - - * test/test.rb: refactoring. - -Tue Jun 24 03:14:01 2003 Minero Aoki <aamine@as600.loveruby.net> - - * ucodep.rb: typo: Grammer -> Grammar - -Mon May 26 23:06:58 2003 Minero Aoki <aamine@loveruby.net> - - * compiler.rb: update copyright year. - - * grammar.rb: ditto. - - * in.raccp.rb: ditto. - - * info.rb: ditto. - - * iset.rb: ditto. - - * output.rb: ditto. - - * parser.rb: ditto. - - * raccs.rb: ditto. - - * state.rb: ditto. - - * ucodep.rb: ditto. - -Sun May 25 13:21:27 2003 Minero Aoki <aamine@loveruby.net> - - * raccs.rb: update coding style. - -Fri Nov 15 17:53:12 2002 Minero Aoki <aamine@loveruby.net> - - * racc: changes style. - - * parser.rb: ditto. - -Fri Nov 15 17:11:52 2002 Minero Aoki <aamine@loveruby.net> - - version 1.4.3. - -Fri Nov 15 17:08:01 2002 Minero Aoki <aamine@loveruby.net> - - * boot.rb, compiler.rb, grammar.rb, in.raccp.rb, iset.rb, - output.rb, parser.rb, racc, raccs.rb, state.rb, ucodep.rb, - misc/racc2y, misc/y2racc: follows (my) latest coding styles. - -Thu Nov 14 14:39:53 2002 Minero Aoki <aamine@loveruby.net> - - * raccs.rb: explicit method call for VCALL. - -Wed Oct 16 15:45:11 2002 Minero Aoki <aamine@loveruby.net> - - * parser.rb: reformat. - -Fri Aug 9 18:21:01 2002 Minero Aoki <aamine@loveruby.net> - - * cparse/cparse.c: use better variable/macro names. - -Wed Aug 7 08:39:19 2002 Minero Aoki <aamine@loveruby.net> - - * cparse/cparse.c: goto label requires stmt. - -Mon Aug 5 21:53:07 2002 Minero Aoki <aamine@loveruby.net> - - * cparse/cparse.c: grand refine. - - * cparse/depend: re-added from ruby/ext/racc/cparse. - -Tue Jun 4 00:15:28 2002 Minero Aoki <aamine@loveruby.net> - - * boot.rb: allow to omit last 'end'. - -Mon Jun 3 23:29:45 2002 Minero Aoki <aamine@loveruby.net> - - * racc (write_table_file): shebang must placed on first line. - (reported by Hiroyuki Sato) - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/README.ja.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/README.ja.rdoc deleted file mode 100644 index 835f7a2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/README.ja.rdoc +++ /dev/null @@ -1,66 +0,0 @@ -= Racc - -* http://i.loveruby.net/en/projects/racc/ - -== DESCRIPTION: - - Racc は LALR(1) パーサジェネレータです。 - yacc の Ruby 版に相当します。 - - NOTE: - Ruby 1.8.0 からは Racc のランタイムが標準添付されているので、 - Racc で生成したパーサを安心して配布できます。また Ruby 1.6 系に - 対応させたい場合は racc -E で生成してください。 - - -== 必要環境 - - * Ruby 1.8 以降 - (*) C コンパイラと make - - -== インストール - - gem インストール: - - $ gem install racc - -== テスト - - sample/ 以下にいくつか Racc の文法ファイルのサンプルが用意 - してあります。動くのも動かないのもありますが、少なくとも - calc-ja.y は動くのでこれを処理してみましょう。Racc をインス - トールしたあと - - $ racc -ocalc.rb calc-ja.y - - として下さい。処理は一瞬から数秒で終わるので、 - - $ ruby calc.rb - - を実行してください。ちゃんと動いてますか? - - Racc の文法など詳しいことは doc.ja/ ディレクトリ以下の HTML を - 見てください。 - - -== ライセンス - - このパッケージに付属するファイルの著作権は青木峰郎が保持します。 - ライセンスは Ruby ライセンスです。ただしユーザが書いた規則 - ファイルや、Racc がそこから生成した Ruby スクリプトはその対象 - 外です。好きなライセンスで配布してください。 - - -== バグなど - - Racc を使っていてバグらしき現象に遭遇したら、下記のアドレスまで - メールをください。作者にはバグを修正する義務はありませんがその - 意思はあります。また、そのときはできるだけバグを再現できる文法 - ファイルを付けてください。 - - - 青木峰郎(あおきみねろう) - aamine@loveruby.net - http://i.loveruby.net - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/README.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/README.rdoc deleted file mode 100644 index 1bd45f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/README.rdoc +++ /dev/null @@ -1,60 +0,0 @@ -= Racc - -* https://github.com/ruby/racc - -== DESCRIPTION: - - Racc is a LALR(1) parser generator. - It is written in Ruby itself, and generates Ruby program. - -== Requirement - - * Ruby 2.5 or later. - -== Installation - - gem install: - - $ gem install racc - -== Testing Racc - - Racc comes with simple calculator. To compile this, on shell: - - $ racc -o calc calc.y - - This process costs few seconds (or less). Then type: - - $ ruby calc - - ... Does it work? - For details of Racc, see HTML documents placed under 'doc/en/' - and sample grammar files under 'sample/'. - -== Release flow - -* Update VERSION number of these files - * <code>RACC_VERSION</code> in "ext/racc/com/headius/racc/Cparse.java" - * <code>VERSION</code> in "lib/racc/info.rb" -* Release as a gem by <code>rake release</code> with CRuby and JRuby because Racc gem provides 2 packages -* Create new release on {GitHub}[https://github.com/ruby/racc/releases] - -== License - - Racc is distributed under the same terms of ruby. - (see the file COPYING). Note that you do NOT need to follow - ruby license for your own parser (racc outputs). - You can distribute those files under any licenses you want. - - -== Bug Reports - - Any kind of bug report is welcome. - If you find a bug of Racc, please report an issue at - https://github.com/ruby/racc/issues. Your grammar file, - debug output generated by "racc -g", are helpful. - - - Minero Aoki - aamine@loveruby.net - http://i.loveruby.net diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/TODO b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/TODO deleted file mode 100644 index 22ffd7f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/TODO +++ /dev/null @@ -1,5 +0,0 @@ -* check 'error' token handling. -* interactive transition table monitor. -* support backtracking. -* output Ruby extension library? -* LL(k)? (But it should not be called Racc) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/bin/racc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/bin/racc deleted file mode 100755 index 717c930..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/bin/racc +++ /dev/null @@ -1,326 +0,0 @@ -#!/usr/bin/env ruby -# -# -# -# Copyright (c) 1999-2006 Minero Aoki -# -# This program is free software. -# You can distribute/modify this program under the same terms of ruby. -# see the file "COPYING". - -require 'racc/static' -require 'optparse' - -def main - output = nil - debug_parser = false - make_logfile = false - logfilename = nil - make_executable = false - rubypath = nil - embed_runtime = false - frozen_strings = false - debug_flags = Racc::DebugFlags.new - line_convert = true - line_convert_all = false - omit_action_call = true - superclass = nil - check_only = false - verbose = false - profiler = RaccProfiler.new(false) - - parser = OptionParser.new - parser.banner = "Usage: #{File.basename($0)} [options] <input>" - parser.on('-o', '--output-file=PATH', - 'output file name [<input>.tab.rb]') {|name| - output = name - } - parser.on('-t', '--debug', 'Outputs debugging parser.') {|fl| - debug_parser = fl - } - parser.on('-g', 'Equivalent to -t (obsolete).') {|fl| - $stderr.puts "racc -g is obsolete. Use racc -t instead." if $VERBOSE - debug_parser = fl - } - parser.on('-v', '--verbose', - 'Creates <filename>.output log file.') {|fl| - make_logfile = fl - } - parser.on('-O', '--log-file=PATH', - 'Log file name [<input>.output]') {|path| - make_logfile = true - logfilename = path - } - parser.on('-e', '--executable [RUBYPATH]', 'Makes executable parser.') {|path| - make_executable = true - rubypath = (path == 'ruby' ? nil : path) - } - parser.on('-E', '--embedded', "Embeds Racc runtime in output.") { - embed_runtime = true - } - parser.on('-F', '--frozen', "Add frozen_string_literals: true.") { - frozen_strings = true - } - parser.on('--line-convert-all', 'Converts line numbers of user codes.') { - line_convert_all = true - } - parser.on('-l', '--no-line-convert', 'Never convert line numbers.') { - line_convert = false - line_convert_all = false - } - parser.on('-a', '--no-omit-actions', 'Never omit actions.') { - omit_action_call = false - } - parser.on('--superclass=CLASSNAME', - 'Uses CLASSNAME instead of Racc::Parser.') {|name| - superclass = name - } - parser.on('-C', '--check-only', 'Checks syntax and quit immediately.') {|fl| - check_only = fl - } - parser.on('-S', '--output-status', 'Outputs internal status time to time.') { - verbose = true - } - parser.on('-P', 'Enables generator profile') { - profiler = RaccProfiler.new(true) - } - parser.on('-D flags', "Flags for Racc debugging (do not use).") {|flags| - debug_flags = Racc::DebugFlags.parse_option_string(flags) - } - #parser.on('--no-extensions', 'Run Racc without any Ruby extension.') { - # Racc.const_set :Racc_No_Extensions, true - #} - parser.on('--version', 'Prints version and quit.') { - puts "racc version #{Racc::Version}" - exit 0 - } - parser.on('--runtime-version', 'Prints runtime version and quit.') { - printf "racc runtime version %s; %s\n", - Racc::Parser::Racc_Runtime_Version, - if Racc::Parser.racc_runtime_type == 'ruby' - sprintf('ruby core version %s', - Racc::Parser::Racc_Runtime_Core_Version_R) - else - sprintf('c core version %s', - Racc::Parser::Racc_Runtime_Core_Version_C) - end - exit 0 - } - parser.on('--copyright', 'Prints copyright and quit.') { - puts Racc::Copyright - exit 0 - } - parser.on('--help', 'Prints this message and quit.') { - puts parser.help - exit 1 - } - begin - parser.parse! - rescue OptionParser::ParseError => err - $stderr.puts err.message - $stderr.puts parser.help - exit 1 - end - if ARGV.empty? - $stderr.puts 'no input' - exit 1 - end - if ARGV.size > 1 - $stderr.puts 'too many input' - exit 1 - end - input = ARGV[0] - - begin - $stderr.puts 'Parsing grammar file...' if verbose - result = profiler.section('parse') { - parser = Racc::GrammarFileParser.new(debug_flags) - parser.parse(File.read(input), File.basename(input)) - } - if check_only - $stderr.puts 'syntax ok' - exit 0 - end - - $stderr.puts 'Generating LALR states...' if verbose - states = profiler.section('nfa') { - Racc::States.new(result.grammar).nfa - } - - $stderr.puts "Resolving #{states.size} states..." if verbose - profiler.section('dfa') { - states.dfa - } - - $stderr.puts 'Creating parser file...' if verbose - params = result.params.dup - params.filename = File.basename(input) - # Overwrites parameters given by a grammar file with command line options. - params.superclass = superclass if superclass - params.omit_action_call = true if omit_action_call - # From command line option - if make_executable - params.make_executable = true - params.interpreter = rubypath - end - params.debug_parser = debug_parser - params.convert_line = line_convert - params.convert_line_all = line_convert_all - params.embed_runtime = embed_runtime - params.frozen_strings = frozen_strings - profiler.section('generation') { - generator = Racc::ParserFileGenerator.new(states, params) - generator.generate_parser_file(output || make_filename(input, '.tab.rb')) - } - - if make_logfile - profiler.section('logging') { - $stderr.puts 'Creating log file...' if verbose - logfilename ||= make_filename(output || File.basename(input), '.output') - File.open(logfilename, 'w') {|f| - Racc::LogFileGenerator.new(states, debug_flags).output f - } - } - end - if debug_flags.status_logging - log_useless states.grammar - log_conflict states - else - has_useless = report_useless states.grammar - has_conflicts = report_conflict states - if has_useless || has_conflicts - preamble = make_logfile ? 'C' : 'Turn on logging with "-v" and c' - $stderr.puts %Q{#{preamble}heck ".output" file for details} - end - end - - profiler.report - rescue Racc::Error, Errno::ENOENT, Errno::EPERM => err - raise if $DEBUG or debug_flags.any? - lineno = err.message.slice(/\A\d+:/).to_s - $stderr.puts "#{File.basename $0}: #{input}:#{lineno} #{err.message.strip}" - exit 1 - end -end - -def make_filename(path, suffix) - path.sub(/(?:\..*?)?\z/, suffix) -end - -LIST_LIMIT = 10 -def report_list(enum, label) - c = enum.count - if c > 0 - $stderr.puts "#{c} #{label}:" - enum.first(LIST_LIMIT).each do |item| - $stderr.puts " #{yield item}" - end - $stderr.puts " ..." if c > LIST_LIMIT - end -end - -# @return [Boolean] if anything was reported -def report_conflict(states) - if states.should_report_srconflict? - reported = true - $stderr.puts "#{states.n_srconflicts} shift/reduce conflicts" - end - if states.rrconflict_exist? - reported = true - $stderr.puts "#{states.n_rrconflicts} reduce/reduce conflicts" - end - reported -end - -def log_conflict(states) - logging('w') {|f| - f.puts "ex#{states.grammar.n_expected_srconflicts}" - if states.should_report_srconflict? - f.puts "sr#{states.n_srconflicts}" - end - if states.rrconflict_exist? - f.puts "rr#{states.n_rrconflicts}" - end - } -end - -# @return [Boolean] if anything was reported -def report_useless(grammar) - reported = report_list(grammar.each_useless_nonterminal, 'useless nonterminals', &:to_s) - - reported ||= report_list(grammar.each_useless_rule, 'useless rules') { |r| "##{r.ident} (#{r.target})" } - - if grammar.start.useless? - $stderr.puts 'fatal: start symbol does not derive any sentence' - reported = true - end - reported -end - -def log_useless(grammar) - logging('a') {|f| - if grammar.useless_nonterminal_exist? - f.puts "un#{grammar.n_useless_nonterminals}" - end - if grammar.useless_rule_exist? - f.puts "ur#{grammar.n_useless_rules}" - end - } -end - -def logging(mode, &block) - File.open("log/#{File.basename(ARGV[0])}", mode, &block) -end - -class RaccProfiler - def initialize(really) - @really = really - @log = [] - unless ::Process.respond_to?(:times) - # Ruby 1.6 - @class = ::Time - else - @class = ::Process - end - end - - def section(name) - if @really - t1 = @class.times.utime - result = yield - t2 = @class.times.utime - @log.push [name, t2 - t1] - result - else - yield - end - end - - def report - return unless @really - f = $stderr - total = cumulative_time() - f.puts '--task-----------+--sec------+---%-' - @log.each do |name, time| - f.printf "%-19s %s %3d%%\n", name, pjust(time,4,4), (time/total*100).to_i - end - f.puts '-----------------+-----------+-----' - f.printf "%-20s%s\n", 'total', pjust(total,4,4) - end - - private - - def cumulative_time - t = @log.inject(0) {|sum, (name, time)| sum + time } - t == 0 ? 0.01 : t - end - - def pjust(num, i, j) - m = /(\d+)(\.\d+)?/.match(num.to_s) - str = m[1].rjust(i) - str.concat m[2].ljust(j+1)[0,j+1] if m[2] - str - end -end - -main diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/en/grammar.en.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/en/grammar.en.rdoc deleted file mode 100644 index def15b1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/en/grammar.en.rdoc +++ /dev/null @@ -1,226 +0,0 @@ -= Racc Grammar File Reference - -== Global Structure - -== Class Block and User Code Block - -There are two top-level blocks: the 'class' block, and the 'user code' -block. The 'user code' block MUST be after the 'class' block. - -== Comment - -Comments can be added about everywhere. Two comment styles are -supported: Ruby style (`# ...`) and C style (`/* ... */`). - -== Class Block - -The class block is formed like this: --- -class CLASS_NAME - [precedence table] - [token declarations] - [expected number of S/R conflict] - [options] - [semantic value conversion] - [start rule] -rule - GRAMMARS --- -CLASS_NAME is a name of parser class. -This is the name of generating parser class. - -If CLASS_NAME includes '::', Racc outputs module clause. -For example, writing "class M::C" causes creating the code bellow: --- -module M - class C - : - : - end -end --- - -== Grammar Block - -The grammar block describes the grammar -to be understood by parser. Syntax is: --- -(token): (token) (token) (token).... (action) - -(token): (token) (token) (token).... (action) - | (token) (token) (token).... (action) - | (token) (token) (token).... (action) --- -(action) is an action which is executed when its (token)s are found. -(action) is a ruby code block, which is surrounded by braces: --- -{ print val[0] - puts val[1] } --- -Note that you cannot use '%' string, here document, '%r' regexp in action. - -Actions can be omitted. -When it is omitted, '' (empty string) is used. - -A return value of action is a value of left side value ($$). -It is value of result, or returned value by "return" statement. - -Here is an example of whole grammar block. --- -rule - goal: definition rules source { result = val } - - definition: /* none */ { result = [] } - | definition startdesig { result[0] = val[1] } - | definition - precrule # this line continue from upper line - { - result[1] = val[1] - } - - startdesig: START TOKEN --- -You can use following special local variables in action. - - * result ($$) - -The value of left-hand side (lhs). A default value is val[0]. - - * val ($1,$2,$3...) - -An array of value of right-hand side (rhs). - - * _values (...$-2,$-1,$0) - -A stack of values. -DO NOT MODIFY this stack unless you know what you are doing. - -== Operator Precedence - -This function is equal to '%prec' in yacc. -To designate this block: --- -prechigh - nonassoc '++' - left '*' '/' - left '+' '-' - right '=' -preclow --- -`right' is yacc's %right, `left' is yacc's %left. - -`=' + (symbol) means yacc's %prec: --- -prechigh - nonassoc UMINUS - left '*' '/' - left '+' '-' -preclow - -rule - exp: exp '*' exp - | exp '-' exp - | '-' exp =UMINUS # equals to "%prec UMINUS" - : - : --- - -== expect - -Racc supports Bison's "expect" directive to declare the expected -number of shift/reduce conflicts. --- -class MyParser - expect 3 -rule - : - : --- -Then warnings are issued only when the effective number of conflicts differs. - - -== Declaring Tokens - -Declaring tokens avoids many bugs. - -Racc outputs warnings for declared tokens that do not exist, or existing tokens not declared. -The syntax is: --- -token TOKEN_NAME AND_IS_THIS - ALSO_THIS_IS AGAIN_AND_AGAIN THIS_IS_LAST --- - -== Options - -You can write options for racc command in your racc file. --- -options OPTION OPTION ... --- -Options are: - - * omit_action_call - -omit empty action call or not. - - * result_var - -use/does not use local variable "result" - -You can use 'no_' prefix to invert its meanings. - -== Converting Token Symbol - -Token symbols are, as default, - - * naked token strings in racc file (TOK, XFILE, this_is_token, ...) - --&gt; symbol (:TOK, :XFILE, :this_is_token, ...) - * quoted strings (':', '.', '(', ...) - --&gt; same string (':', '.', '(', ...) - -You can change this default using a "convert" block. -Here is an example: --- -convert - PLUS 'PlusClass' # We use PlusClass for symbol of `PLUS' - MIN 'MinusClass' # We use MinusClass for symbol of `MIN' -end --- -We can use almost all ruby value can be used by token symbol, -except 'false' and 'nil'. These are causes unexpected parse error. - -If you want to use String as token symbol, special care is required. -For example: --- -convert - class '"cls"' # in code, "cls" - PLUS '"plus\n"' # in code, "plus\n" - MIN "\"minus#{val}\"" # in code, \"minus#{val}\" -end --- - -== Start Rule - -'%start' in yacc. This changes the start symbol. --- -start real_target --- - - -== User Code Block - -A "User Code Block" is a piece of Ruby source code copied in the output. -There are three user code blocks, "header" "inner" and "footer". - -User code blocks are introduced by four '-' at the beginning of a line, -followed by a single-word name: --- ----- header - ruby statement - ruby statement - ruby statement - ----- inner - ruby statement - : - : --- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/en/grammar2.en.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/en/grammar2.en.rdoc deleted file mode 100644 index 8e9b9dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/en/grammar2.en.rdoc +++ /dev/null @@ -1,219 +0,0 @@ -= Racc Grammar File Reference - -== Global Structure - -== Class Block and User Code Block - -There are two blocks on the toplevel. One is the 'class' block, the other is the 'user code' -block. The 'user code' block MUST be placed after the 'class' block. - -== Comments - -You can insert comments about all places. Two styles of comments can be used, Ruby style '#.....' and C style '/\*......*\/'. - -== Class Block - -The class block is formed like this: - - class CLASS_NAME - [precedence table] - [token declarations] - [expected number of S/R conflicts] - [options] - [semantic value conversion] - [start rule] - rule - GRAMMARS - -CLASS_NAME is a name of the parser class. This is the name of the generating parser -class. - -If CLASS_NAME includes '::', Racc outputs the module clause. For example, writing -"class M::C" causes the code below to be created: - - module M - class C - : - : - end - end - -== Grammar Block - -The grammar block describes grammar which is able to be understood by the parser. -Syntax is: - - (token): (token) (token) (token).... (action) - - (token): (token) (token) (token).... (action) - | (token) (token) (token).... (action) - | (token) (token) (token).... (action) - -(action) is an action which is executed when its (token)s are found. -(action) is a ruby code block, which is surrounded by braces: - - { print val[0] - puts val[1] } - -Note that you cannot use '%' string, here document, '%r' regexp in action. - -Actions can be omitted. When it is omitted, '' (empty string) is used. - -A return value of action is a value of the left side value ($$). It is the value of the -result, or the returned value by `return` statement. - -Here is an example of the whole grammar block. - - rule - goal: definition rules source { result = val } - - definition: /* none */ { result = [] } - | definition startdesig { result[0] = val[1] } - | definition - precrule # this line continues from upper line - { - result[1] = val[1] - } - - startdesig: START TOKEN - -You can use the following special local variables in action: - -* result ($$) - -The value of the left-hand side (lhs). A default value is val[0]. - -* val ($1,$2,$3...) - -An array of value of the right-hand side (rhs). - -* _values (...$-2,$-1,$0) - -A stack of values. DO NOT MODIFY this stack unless you know what you are doing. - -== Operator Precedence - -This function is equal to '%prec' in yacc. -To designate this block: - - prechigh - nonassoc '++' - left '*' '/' - left '+' '-' - right '=' - preclow - -`right` is yacc's %right, `left` is yacc's %left. - -`=` + (symbol) means yacc's %prec: - - prechigh - nonassoc UMINUS - left '*' '/' - left '+' '-' - preclow - - rule - exp: exp '*' exp - | exp '-' exp - | '-' exp =UMINUS # equals to "%prec UMINUS" - : - : - -== expect - -Racc has bison's "expect" directive. - - # Example - - class MyParser - expect 3 - rule - : - : - -This directive declares "expected" number of shift/reduce conflicts. If -"expected" number is equal to real number of conflicts, Racc does not print -conflict warning message. - -== Declaring Tokens - -By declaring tokens, you can avoid many meaningless bugs. If declared token -does not exist or existing token does not decleared, Racc output warnings. -Declaration syntax is: - - token TOKEN_NAME AND_IS_THIS - ALSO_THIS_IS AGAIN_AND_AGAIN THIS_IS_LAST - -== Options - -You can write options for Racc command in your Racc file. - - options OPTION OPTION ... - -Options are: - -* omit_action_call - -omits empty action call or not. - -* result_var - -uses local variable "result" or not. - -You can use 'no_' prefix to invert their meanings. - -== Converting Token Symbol - -Token symbols are, as default, - - * naked token string in Racc file (TOK, XFILE, this_is_token, ...) - --> symbol (:TOK, :XFILE, :this_is_token, ...) - * quoted string (':', '.', '(', ...) - --> same string (':', '.', '(', ...) - -You can change this default by "convert" block. -Here is an example: - - convert - PLUS 'PlusClass' # We use PlusClass for symbol of `PLUS' - MIN 'MinusClass' # We use MinusClass for symbol of `MIN' - end - -We can use almost all ruby value can be used by token symbol, -except 'false' and 'nil'. These cause unexpected parse error. - -If you want to use String as token symbol, special care is required. -For example: - - convert - class '"cls"' # in code, "cls" - PLUS '"plus\n"' # in code, "plus\n" - MIN "\"minus#{val}\"" # in code, \"minus#{val}\" - end - -== Start Rule - -'%start' in yacc. This changes start rule. - - start real_target - -== User Code Block - -"User Code Block" is a Ruby source code which is copied to output. There are -three user code blocks, "header" "inner" and "footer". - -Format of user code is like this: - - ---- header - ruby statement - ruby statement - ruby statement - - ---- inner - ruby statement - : - : - -If four '-' exist on the line head, Racc treats it as the beginning of the -user code block. The name of the user code block must be one word. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/command.ja.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/command.ja.html deleted file mode 100644 index 52eccfd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/command.ja.html +++ /dev/null @@ -1,99 +0,0 @@ -<h1>Raccコマンドリファレンス</h1> -<p> -racc [-o<var>filename</var>] [--output-file=<var>filename</var>] - [-e<var>rubypath</var>] [--executable=<var>rubypath</var>] - [-v] [--verbose] - [-O<var>filename</var>] [--log-file=<var>filename</var>] - [-g] [--debug] - [-E] [--embedded] - [-F] [--frozen] - [-l] [--no-line-convert] - [-c] [--line-convert-all] - [-a] [--no-omit-actions] - [-C] [--check-only] - [-S] [--output-status] - [--version] [--copyright] [--help] <var>grammarfile</var> -</p> - -<dl> -<dt><var>filename</var> -<dd> -Raccの文法ファイルを指定します。拡張子には特に制限はありません。 -</dd> -<dt>-o<var>outfile</var>, --output-file=<var>outfile</var> -<dd> -作成するクラスをかきこむファイル名を指定します。デフォルトは<filename>.tab.rbです。 -</dd> -<dt>-O<var>filename</var>, --log-file=<var>filename</var> -<dd> --v オプションをつけた時に生成するログファイルの名前を -<var>filename</var> に変更します。 -デフォルトは <var>filename</var>.output です。 -</dd> -<dt>-e<var>rubypath</var>, --executable=<var>rubypath</var> -<dd> -実行可能ファイルを生成します。<var>rubypath</var>は Ruby 本体のパスです。 -<var>rubypath</var>を単に 'ruby' にした時には Racc が動作している -Ruby のパスを使用します。 -</dd> -<dt>-v, --verbose -<dd> -ファイル "filename".output に詳細な解析情報を出力します。 -</dd> -<dt>-g, --debug -<dd> -出力するコードにデバッグ用コードを加えます。-g をつけて生成したパーサで -@yydebug を true にセットすると、デバッグ用のコードが出力されます。<br> --g をつけるだけでは何もおこりませんので注意してください。 -</dd> -<dt>-E, --embedded -<dd> -ランタイムルーチンをすべて含んだコードを生成します。 -つまり、このオプションをつけて生成したコードは Ruby さえあれば動きます。 -</dd> -<dt>-F, --frozen -<dd> -Add frozen_string_literals: true. -</dd> -<dt>-C, --check-only -<dd> -(文法ファイルの) 文法のチェックだけをして終了します。 -</dd> -<dt>-S, --output-status -<dd> -進行状況を逐一報告します。 -</dd> -<dt>-l, --no-line-convert -<dd> -<p> -Ruby では例外が発生した時のファイル名や行番号を表示してくれますが、 -Racc の生成したパーサは、デフォルトではこの場合のファイル名・行番号を -文法ファイルでのものに置きかえます。このフラグはその機能をオフにします。 -</p> -<p> -ruby 1.4.3 以前のバージョンではバグのために定数の参照に失敗する -場合があるので、定数参照に関してなにかおかしいことがおこったらこのフラグを -試してみてください。 -</p> -</dd> -<dt>-c, --line-convert-all -<dd> -アクションと inner に加え header footer の行番号も変換します。 -header と footer がつながっているような場合には使わないでください。 -<dt>-a, --no-omit-actions -<dd> -全てのアクションに対応するメソッド定義と呼び出しを行います。 -例えアクションが省略されていても空のメソッドを生成します。 -</dd> -<dt>--version -<dd> -Racc のバージョンを出力して終了します。 -</dd> -<dt>--copyright -<dd> -著作権表示を出力して終了します。 -<dt>--help -<dd> -オプションの簡単な説明を出力して終了します。 -</dd> -</dl> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/debug.ja.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/debug.ja.rdoc deleted file mode 100644 index 90f70f6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/debug.ja.rdoc +++ /dev/null @@ -1,36 +0,0 @@ -= パーサのデバッグ - -ここでは、Racc を使っていくうえで遭遇しそうな問題について書きます。 - -== 文法ファイルがパースエラーになる - -エラーメッセージに出ている行番号のあたりを見て間違いを -探してください。ブロックを閉じる行でエラーになる場合は、 -どこかで開き括弧などを増やしてしまっている可能性が高いです。 - -== なんたら conflict って言われた - -一番ありがちで一番面倒な問題は衝突 (conflict) でしょう。 -文法中に衝突があると、racc はコンパイル後に -「5 shift/reduce conflict」のようなメッセージを表示します。 --v をつけると出力される .output ファイルからはさらに詳しい情報が得られます。 -それをどう使うか、とかそういうことに関しては、それなりの本を読んでください。 -とてもここに書けるような単純な話ではありません。 -当然ながら『Ruby を 256 倍使うための本 無道編』(青木峰郎著)がお勧めです。 - -== パーサは問題なく生成できたけど予想どおりに動かない - -racc に -g オプションをつけてパーサを出力すると、デバッグ用のコードが -付加されます。ここで、パーサクラスのインスタンス変数 @yydebug を true に -しておいてから do_parse/yyparse を呼ぶと、デバッグ用メッセージが出力 -されます。パーサが動作する様子が直接見えますので、完全に現在の状態を -把握できます。これを見てどこがおかしいのかわかったらあとは直すだけ。 - -== next_token に関して - -いまだ自分でも忘れることが多いのが -「送るトークンが尽きたら [false,なにか] を送る」ということです。 -ちなみに Racc 0.10.2 以降では一度 [false,なにか] を受け取ったら -それ以上 next_token は呼ばないことが保証されています。 - -追記: 最近は [false,なにか] ではなく nil でもよいことになった。 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/grammar.ja.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/grammar.ja.rdoc deleted file mode 100644 index fd414a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/grammar.ja.rdoc +++ /dev/null @@ -1,348 +0,0 @@ -= 規則ファイル文法リファレンス - -== 文法に関する前バージョンとの非互換 - - * (1.2.5) ユーザーコードを連結する時、外部ファイルよりも - 埋めこんであるコードを先に連結します。 - * (1.1.6) 新しいディレクティブ options が追加されました。 - * (1.1.5) 予約語 token の意味が変更になりました。 - * (0.14) ルールの最後のセミコロンが省略可能になりました。 - また、token prechigh などが予約語でなくなりました。 - * (10.2) prepare が header に driver が footer になりました。 - 今はそのままでも使えますが、2.0 からは対応しません。 - * (0.10) class に対応する end がなくなりました。 - * (0.9) ダサダサのピリオド方式をやめて { と } で囲むようにしました。 - -== 全体の構造 - -トップレベルは、規則部とユーザーコード部に分けられます。 -ユーザーコード部はクラス定義の後に来なければいけません。 - -=== コメント - -文法ファイルには、一部例外を除いて、ほとんどどこにでもコメントを -書くことができます。コメントは、Rubyの #.....(行末) スタイルと、 -Cの /*......*/ スタイルを使うことができます。 - -=== 規則部 - -規則部は以下のような形をしています。 --- -class クラス名 [< スーパークラス] - [演算子順位] - [トークン宣言] - [オプション] - [expect] - [トークンシンボル値おきかえ] - [スタート規則] -rule - 文法記述 --- -"クラス名"はここで定義するパーサクラスの名前です。 -これはそのままRubyのクラス名になります。 - -また M::C のように「::」を使った名前を使うと、クラス定義を -モジュール M の中にネストさせます。つまり class M::C ならば --- -module M - class C < Racc::Parser - いろいろ - end -end --- -のように出力します。 - -さらに、Ruby と同じ構文でスーパークラスを指定できます。 -ただしこの指定をするとパーサの動作に重大な影響を与えるので、 -特に必要がない限り指定してはいけません。これは将来の拡張の -ために用意したもので、現在指定する必然性はあまりありません。 - -=== 文法の記述 - -racc で生成するパーサが理解できる文法を記述します。 -文法は、予約語 rule と end の間に、以下のような書式で書きます。 --- -トークン: トークンの並び アクション - -トークン: トークンの並び アクション - | トークンの並び アクション - | トークンの並び アクション - (必要なだけ同じようにつづける) --- -アクションは { } で囲みます。アクションでは Ruby の文はほとんど -使えますが、一部だけは非対応です。対応していないものは以下のとおり。 - - * ヒアドキュメント - * =begin ... =end 型コメント - * スペースで始まる正規表現 - * ごくまれに % の演算。普通に演算子のまわりにスペースを入れていれば問題なし - -このあたりに関しては完全な対応はまず無理です。あきらめてください。 - -左辺の値($$)は、オプションによって返し方がかわります。まずデフォルトでは -ローカル変数 result (そのデフォルト値は val[0])が 左辺値を表し、アクション -ブロックを抜けた時の result の値が左辺値になります。または明示的に return -で返した場合もこの値になります。一方、options で no_result_var を指定した -場合、左辺値はアクションブロックの最後の文の値になります (Ruby のメソッドと -同じ)。 - -どちらの場合でもアクションは省略でき、省略した場合の左辺値は常に val[0] です。 - -以下に文法記述の全体の例をしめします。 --- -rule - goal: def ruls source - { - result = val - } - - def : /* none */ - { - result = [] - } - | def startdesig - { - result[0] = val[1] - } - | def - precrule # これは上の行の続き - { - result[1] = val[1] - } -(略) --- -アクション内では特別な意味をもった変数がいくつか使えます。 -そのような変数を以下に示します。括弧の中は yacc での表記です。 - - * result ($$) - -左辺の値。初期値は val[0] です。 - - * val ($1,$2,$3…) - -右辺の記号の値の配列。Ruby の配列なので当然インデックスはゼロから始まります。 -この配列は毎回作られるので自由に変更したり捨てたりして構いません。 - - * _values (...,$-2,$-1,$0) - -値スタック。Racc コアが使っているオブジェクトがそのまま渡されます。 -この変数の意味がわかる人以外は<em>絶対に</em>変更してはいけません。 - -またアクションの特別な形式に、埋めこみアクションというものがあります。 -これはトークン列の途中の好きなところに記述することができます。 -以下に埋めこみアクションの例を示します。 --- -target: A B { puts 'test test' } C D { normal action } --- -このように記述すると A B を検出した時点で puts が実行されます。 -また、埋めこみアクションはそれ自体が値を持ちます。つまり、以下の例において --- -target: A { result = 1 } B { p val[1] } --- -最後にある p val[1] は埋めこみアクションの値 1 を表示します。 -B の値ではありません。 - -意味的には、埋めこみアクションは空の規則を持つ非終端記号を追加することと -全く同じ働きをします。つまり、上の例は次のコードと完全に同じ意味です。 --- -target : A nonterm B { p val[1] } -nonterm : /* 空の規則 */ { result = 1 } --- - -=== 演算子優先順位 - -あるトークン上でシフト・還元衝突がおこったとき、そのトークンに -演算子優先順位が設定してあると衝突を解消できる場合があります。 -そのようなものとして特に有名なのは数式の演算子と if...else 構文です。 - -優先順位で解決できる文法は、うまく文法をくみかえてやれば -優先順位なしでも同じ効果を得ることができます。しかしたいていの -場合は優先順位を設定して解決するほうが文法を簡単にできます。 - -シフト・還元衝突がおこったとき、Racc はまずその規則に順位が設定 -されているか調べます。規則の順位は、その規則で一番うしろにある -終端トークンの優先順位です。たとえば --- -target: TERM_A nonterm_a TERM_B nonterm_b --- -のような規則の順位はTERM_Bの優先順位になります。もしTERM_Bに -優先順位が設定されていなかったら、優先順位で衝突を解決することは -できないと判断し、「Shift/Reduce conflict」を報告します。 - -演算子の優先順位はつぎのように書いて定義します。 --- -prechigh - nonassoc PLUSPLUS - left MULTI DIVIDE - left PLUS MINUS - right '=' -preclow --- -prechigh に近い行にあるほど優先順位の高いトークンです。上下をまるごと -さかさまにして preclow...prechigh の順番に書くこともできます。left -などは必ず行の最初になければいけません。 - -left right nonassoc はそれぞれ「結合性」を表します。結合性によって、 -同じ順位の演算子の規則が衝突した場合にシフト還元のどちらをとるかが -決まります。たとえば --- -a - b - c --- -が --- -(a - b) - c --- -になるのが左結合 (left) です。四則演算は普通これです。 -一方 --- -a - (b - c) --- -になるのが右結合 (right) です。代入のクオートは普通 right です。 -またこのように演算子が重なるのはエラーである場合、非結合 (nonassoc) です。 -C 言語の ++ や単項のマイナスなどがこれにあたります。 - -ところで、説明したとおり通常は還元する規則の最後のトークンが順位を -決めるのですが、ある規則に限ってそのトークンとは違う順位にしたいことも -あります。例えば符号反転のマイナスは引き算のマイナスより順位を高く -しないといけません。このような場合 yacc では %prec を使います。 -racc ではイコール記号を使って同じことをできます。 --- -prechigh - nonassoc UMINUS - left '*' '/' - left '+' '-' -preclow -(略) -exp: exp '*' exp - | exp '-' exp - | '-' exp = UMINUS # ここだけ順位を上げる --- -このように記述すると、'-' exp の規則の順位が UMINUS の順位になります。 -こうすることで符号反転の '-' は '*' よりも順位が高くなるので、 -意図どおりになります。 - -=== トークン宣言 - -トークン(終端記号)のつづりを間違えるというのはよくあることですが、 -発見するのはなかなか難しいものです。1.1.5 からはトークンを明示的に -宣言することで、宣言にないトークン / 宣言にだけあるトークンに対して -警告が出るようになりました。yacc の %token と似ていますが最大の違いは -racc では必須ではなく、しかもエラーにならず警告だけ、という点です。 - -トークン宣言は以下のように書きます。 --- -token A B C D - E F G H --- -トークンのリストを複数行にわたって書けることに注目してください。 -racc では一般に「予約語」は行の先頭に来た時だけ予約語とみなされるので -prechigh などもシンボルとして使えます。ただし深淵な理由から end だけは -どうやっても予約語になってしまいます。 - -=== オプション - -racc のコマンドラインオプションの一部をファイル中にデフォルト値 -として記述することができます。 --- -options オプション オプション … --- -現在ここで使えるのは - - * omit_action_call - -空のアクション呼び出しを省略する - - * result_var - -変数 result を使う - -です。 -それぞれ no_ を頭につけることで意味を反転できます。 - -=== expect - -実用になるパーサはたいてい無害な shift/reduce conflict を含みます。 -しかし文法ファイルを書いた本人はそれを知っているからいいですが、 -ユーザが文法ファイルを処理した時に「conflict」と表示されたら -不安に思うでしょう。そのような場合、以下のように書いておくと -shift/reduce conflict のメッセージを抑制できます。 --- -expect 3 --- -この場合 shift/reduce conflict はぴったり三つでなければいけません。 -三つでない場合はやはり表示が出ます (ゼロでも出ます)。 -また reduce/reduce conflict の表示は抑制できません。 - -=== トークンシンボル値の変更 - -トークンシンボルを表す値は、デフォルトでは - - * 文法中、引用符でかこまれていないもの (RULEとかXENDとか) - →その名前の文字列を intern して得られるシンボル (1.4 では Fixnum) - * 引用符でかこまれているもの(':'とか'.'とか) - →その文字列そのまま - -となっていますが、たとえば他の形式のスキャナがすでに存在する場合などは、 -これにあわせなければならず、このままでは不便です。このような場合には、 -convert 節を加えることで、トークンシンボルを表す値を変えることができます。 -以下がその例です。 --- -convert - PLUS 'PlusClass' #→ PlusClass - MIN 'MinusClass' #→ MinusClass -end --- -デフォルトではトークンシンボル PLUS に対してはトークンシンボル値は -:PLUS ですが、上のような記述がある場合は PlusClass になります。 -変換後の値は false・nil 以外ならなんでも使えます。 - -変換後の値として文字列を使うときは、次のように引用符を重ねる必要があります。 --- -convert - PLUS '"plus"' #→ "plus" -end --- -また、「'」を使っても生成された Ruby のコード上では「"」になるので -注意してください。バックスラッシュによるクオートは有効ですが、バック -スラッシュは消えずにそのまま残ります。 --- -PLUS '"plus\n"' #→ "plus\n" -MIN "\"minus#{val}\"" #→ \"minus#{val}\" --- - -=== スタート規則 - -パーサをつくるためには、どの規則が「最初の」規則か、ということを Racc におしえて -やらなければいけません。それを明示的に書くのがスタート規則です。スタート規則は -次のように書きます。 --- -start real_target --- -start は行の最初にこなければいけません。このように書くと、ファイルで -一番最初に出てくる real_target の規則をスタート規則として使います。 -省略した場合は、ファイルの最初の規則がスタート規則になります。普通は -最初の規則を一番上にかくほうが書きやすく、わかりやすくなりますから、 -この記法はあまりつかう必要はないでしょう。 - -=== ユーザーコード部 - -ユーザーコードは、パーサクラスが書きこまれるファイルに、 -アクションの他にもコードを含めたい時に使います。このようなものは -書きこまれる場所に応じて三つ存在し、パーサクラスの定義の前が -header、クラスの定義中(の冒頭)が inner、定義の後が footer です。 -ユーザコードとして書いたものは全く手を加えずにそのまま連結されます。 - -ユーザーコード部の書式は以下の通りです。 --- ----- 識別子 - ruby の文 - ruby の文 - ruby の文 - ----- 識別子 - ruby の文 - : --- -行の先頭から四つ以上連続した「-」(マイナス)があるとユーザーコードと -みなされます。識別子は一つの単語で、そのあとには「=」以外なら何を -書いてもかまいません。 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/index.ja.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/index.ja.html deleted file mode 100644 index 29fd70f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/index.ja.html +++ /dev/null @@ -1,10 +0,0 @@ -<h1>Racc ユーザマニュアル</h1> -<p>バージョン 1.4 対応</p> -<ul> -<li><a href="usage.html">Racc の使い方</a> -<li><a href="command.html">racc コマンドリファレンス</a> -<li><a href="grammar.html">規則ファイル文法リファレンス</a> -<li><a href="parser.html">Parser クラスリファレンス</a> -<li><a href="debug.html">パーサのデバッグ</a> -<li><a href="NEWS.html">リリースノート</a> -</ul> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/parser.ja.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/parser.ja.rdoc deleted file mode 100644 index 395047b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/parser.ja.rdoc +++ /dev/null @@ -1,125 +0,0 @@ -= class Racc::Parser -Racc の生成するパーサはすべて Racc::Parser クラスを継承します。 -Racc::Parser クラスにはパース中に使用するメソッドがいくつかあり、 -そのようなメソッドをオーバーロードすると、パーサを初期化したり -することができます。 - -== Super Class - -Object - -== Constants - -プリフィクス "Racc_" がついた定数はパーサの予約定数です。 -そのような定数は使わないでください。動作不可能になります。 -== Instance Methods -ここに載っているもののほか、プリフィクス "racc_" および "_racc_" が -ついたメソッドはパーサの予約名です。そのようなメソッドは使わないで -ください。 - -: do_parse -> Object - パースを開始します。 - また、トークンが必要になった時は #next_token を呼び出します。 - - -- - # Example - ---- inner - def parse - @q = [[1,1], - [2,2], - [3,3], - [false, '$']] - do_parse - end - - def next_token - @q.shift - end - -- - -: next_token -> [Symbol, Object] - [abstract method] - - パーサが次のトークンを読みこむ時に使います。 - [記号, その値] の形式の配列を返してください。 - 記号はデフォルトでは - - * 文法中、引用符でかこまれていないもの - → その名前の文字列のシンボル (例えば :ATOM ) - * 引用符でかこまれているもの<br> - → その文字列そのまま (例えば '=' ) - - で表します。これを変更する方法については、 - 文法リファレンスを参照してください。 - - また、もう送るシンボルがなくなったときには - [false, なにか] または nil を返してください。 - - このメソッドは抽象メソッドなので、#do_parse を使う場合は - 必ずパーサクラス中で再定義する必要があります。 - 定義しないままパースを始めると例外 NotImplementedError が - 発生します。 - -: yyparse( receiver, method_id ) - パースを開始します。このメソッドでは始めてトークンが - 必要になった時点で receiver に対して method_id メソッドを - 呼び出してトークンを得ます。 - - receiver の method_id メソッドはトークンを yield しなければ - なりません。形式は #next_token と同じで [記号, 値] です。 - つまり、receiver の method_id メソッドの概形は以下のように - なるはずです。 - -- - def method_id - until end_of_file - : - yield 記号, 値 - : - end - end - -- - 少し注意が必要なのは、method_id が呼び出されるのは始めて - トークンが必要になった時点であるということです。method_id - メソッドが呼び出されたときは既にパースが進行中なので、 - アクション中で使う変数を method_id の冒頭で初期化すると - まず失敗します。 - - トークンの終端を示す [false, なにか] を渡したらそれ以上は - yield しないでください。その場合には例外が発生します。 - - 最後に、method_id メソッドからは必ず yield してください。 - しない場合は何が起きるかわかりません。 - -: on_error( error_token_id, error_value, value_stack ) - パーサコアが文法エラーを検出すると呼び出します (yacc の yyerror)。 - エラーメッセージを出すなり、例外を発生するなりしてください。 - このメソッドから正常に戻った場合、パーサはエラー回復モード - に移行します。 - - error_token_id はパースエラーを起こした記号の内部表現 (整数) です。 - #token_to_str で文法ファイル上の文字列表現に直せます。 - - error_value はその値です。 - - value_stack はエラーの時点での値スタックです。 - value_stack を変更してはいけません。 - - on_error のデフォルトの実装は例外 ParseError を発生します。 - -: token_to_str( t ) -> String - Racc トークンの内部表現 (整数) - を文法ファイル上の記号表現の文字列に変換します。 - - t が整数でない場合は TypeError を発生します。 - t が範囲外の整数だった場合は nil を返します。 - -: yyerror - エラー回復モードに入ります。このとき #on_error は呼ばれません。 - アクション以外からは呼び出さないでください。 - -: yyerrok - エラー回復モードから復帰します。 - アクション以外からは呼び出さないでください。 - -: yyaccept - すぐに値スタックの先頭の値を返して #do_parse、#yyparse を抜けます。 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/usage.ja.html b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/usage.ja.html deleted file mode 100644 index 8884b8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/doc/ja/usage.ja.html +++ /dev/null @@ -1,414 +0,0 @@ -<h1>Racc の使い方</h1> -<p> -Racc は文法規則から Ruby で書かれたパーサを生成するパーサジェネレータです。 -パーサ生成アルゴリズムには yacc などと同じ LALR(1) を使用しています。 -</p> -<p> -yacc を知っている人は記述法の違いだけわかれば使えると思います。 -yacc を知らない人は -拙著『Ruby を 256 倍使うための本 無道編』(青木峰郎著、ASCII) -などを一読していただくのがよいかと思います。 -他の UNIX コマンドなどとは異なり、 -いきなり使うだけで Racc を理解するのはかなり困難です。 -</p> - -<h2>Racc とはなにか</h2> -<p> -Racc は文法を処理するツールです。 -文字列はただの文字の列で、コンピュータにとっては意味を持ちません。 -しかし人間はその文字の列の中になにか意味を見出すことができます。 -コンピュータにもそのようなことを、部分的にでも、させられたら便利でしょう。 -Racc はその手伝いをしてくれます。完全な自動化ではありませんが、 -人間が全部やるよりも遥かに簡単になります。 -</p> -<p> -Racc が自動化してくれる部分とは、文字列の含む「構造」の処理です。 -たとえば Ruby の if 文を考えてみると、次のように定式化できます。 -</p> -<pre> -if 条件式 [then] - 文 - : -[elsif 条件式 [then] - 文 - :] -[else - 文 - :] -end -</pre> -<p> -if 文では if という単語が最初になくてはならず、 -elsif 節は else 節より前になくてはいけません。 -このような配置の関係 (構造) が、Racc が処理する対象です。 -</p> -<p> -一方、Racc で処理できないのはどういうことでしょうか。それは、たとえば -if の条件式にあたる部分が「なんであるか」ということです。つまり、条件 -式が if の条件だということです。これは、こっちで条件として扱うコードを -書いてやらないといけません。 -</p> -<p> -と言っても、わかりにくいでしょう。こういう抽象的なものは実際にいじって -みるのが一番です。 -</p> - -<h2>実際の話</h2> -<p> -実際に Racc をどのように使うかという話をします。Racc には独自のソース -コードみたいなものがあって、この中に処理したい「構造」を記述しておきま -す。このソースファイルを「文法ファイル」と呼ぶことにしましょう。この文 -法ファイルの名前が parse.y と仮定すると、コマンドラインから以下のよう -に打ちこめば、その構造を処理するためのクラスを含んだファイルが得られま -す。 -</p> -<pre> -$ racc parse.y -</pre> -<p> -生成されるファイルはデフォルトでは "ファイル名.tab.rb" です。他の名前 -にしたいなら、-o オプションで変更できます。 -</p> -<pre> -$ racc parse.y -o myparser.rb -</pre> -<p> -このようにして作ったクラス、またはそのような処理を担当するパート、 -のことはパーサ (parser) と呼ぶことになっています。解析するヤツ、 -というくらいに適当にとらえてください。 -</p> - -<h2>文法ファイルを書く</h2> -<p> -Racc は文法ファイルから Ruby のクラスを生成するツールだと言いました。 -そのクラスは全て Racc::Parser の下位クラスで、名前は文法ファイル中で -指定します。以下、ここに書くべきことが「なんなのか」を説明します。 -ここでは内容に重点を置くので、文法ファイル自体の文法の詳細は -<a href="grammar.html">文法リファレンス</a>を見てください。 -</p> - -<h3>文法</h3> -<p> -まずは、全体の概形です。 -</p> -<pre> -class MyParser -rule - - if_stmt: IF expr then stmt_list elsif else END - - then : THEN - | - - elsif : - | ELSIF stmt_list - - else : - | ELSE stmt_list - - expr : NUMBER - | IDENT - | STRING - - stmt_list : ふにゃふにゃ - -end -</pre> -<p> -Ruby スクリプトのように class でパーサクラス名を指定し、rule ... end -の間にパーサに解析させたい文法を記述します。 -</p> -<p> -文法は、記号の並びでもって表します。rule ... end の間にあるコロンとバー -以外のもの、if_stmt IF expr then などが全て「記号」です。そしてコロン -が日本語で言う「〜は××だ」の「は」みたいなもんで、その左の記号が右の -記号の列と同じものを指す、というふうに定義します。また、バーは「または」 -を意味します。それと、単純にコロンの左の記号のことを左辺、右を右辺とも -言います。以下はこちらのほうを使って説明しましょう。 -</p> -<p> -少し注意が必要な点を述べます。まず、then の、バーのあとの定義 (規則) を -見てください。ここには何も書いていないので、これはその通り「無」であっ -てもいい、ということを表しています。つまり、then は記号 THEN 一個か、 -またはなにもなし(省略する)でよい、ということです。記号 then は実際の -Ruby のソースコードにある then とは切り離して考えましょう -(それは実は大文字の記号 THEN が表しています)。 -</p> -<p> -さて、そろそろ「記号」というものがなんなのか書きましょう。 -ただし順番に話をしないといけないので、まずは聞いていてください。 -この文章の最初に、パーサとは文字の列から構造を見出す部分だと言いました。 -しかし文字の列からいきなり構造を探すのは面倒なので、実際にはまず -文字の列を単語の列に分割します。その時点でスペースやコメントは捨てて -しまい、以降は純粋にプログラムの一部をなす部分だけを相手にします。 -たとえば文字列の入力が次のようだったとすると、 -</p> -<pre> -if flag then # item found. - puts 'ok' -end -</pre> -<p> -単語の列は次のようになります。 -</p> -<pre> -if flag then puts 'ok' end -</pre> -<p> -ここで、工夫が必要です。どうやら flag はローカル変数名だと思われますが、 -変数名というのは他にもいろいろあります。しかし名前が i だろうが a だろ -うが vvvvvvvvvvvv だろうが、「構造」は同じです。つまり同じ扱いをされる -べきです。変数 a を書ける場所なら b も書けなくてはいけません。だったら -一時的に同じ名前で読んでもいいじゃん。ということで、この単語の列を以下 -のように読みかえましょう。 -</p> -<pre> -IF IDENT THEN IDENT STRING END -</pre> -<p> -これが「記号」の列です。パーサではこの記号列のほうを扱い、構造を見付け -ていきます。 -</p> -<p> -さらに記号について見ていきましょう。 -記号は二種類に分けられます。「左辺にある記号」と「ない記号」です。 -左辺にある記号は「非終端」記号と言います。ないほうは「終端」記号と -言います。最初の例では終端記号はすべて大文字、非終端記号は小文字で -書いてあるので、もう一度戻って例の文法を見てください。 -</p> -<p> -なぜこの区分が重要かと言うと、入力の記号列はすべて終端記号だからです。 -一方、非終端記号はパーサの中でだけ、終端記号の列から「作りだす」ことに -よって始めて存在します。例えば次の規則をもう一度見てください。 -</p> -<pre> - expr : NUMBER - | IDENT - | STRING -</pre> -<p> -expr は NUMBER か IDENT か STRING だと言っています。逆に言うと、 -IDENT は expr に「なることができます」。文法上 expr が存在できる -場所に IDENT が来ると、それは expr になります。例えば if の条件式の -部分は expr ですから、ここに IDENT があると expr になります。その -ように文法的に「大きい」記号を作っていって、最終的に一個になると、 -その入力は文法を満たしていることになります。実際にさっきの入力で -試してみましょう。入力はこうでした。 -</p> -<pre> -IF IDENT THEN IDENT STRING END -</pre> -<p> -まず、IDENT が expr になります。 -</p> -<pre> -IF expr THEN IDENT STRING END -</pre> -<p> -次に THEN が then になります。 -</p> -<pre> -IF expr then IDENT STRING END -</pre> -<p> -IDENT STRING がメソッドコールになります。この定義はさきほどの例には -ないですが、実は省略されているんだと考えてください。そしていろいろな -過程を経て、最終的には stmt_list (文のリスト)になります。 -</p> -<pre> -IF expr then stmt_list END -</pre> -<p> -elsif と else は省略できる、つまり無から生成できます。 -</p> -<pre> -IF expr then stmt_list elsif else END -</pre> -<p> -最後に if_stmt を作ります。 -</p> -<pre> -if_stmt -</pre> -<p> -ということでひとつになりました。 -つまりこの入力は文法的に正しいということがわかりました。 -</p> - -<h3>アクション</h3> -<p> -ここまでで入力の文法が正しいかどうかを確認する方法はわかりましたが、 -これだけではなんにもなりません。最初に説明したように、ここまででは -構造が見えただけで、プログラムは「意味」を理解できません。そしてその -部分は Racc では自動処理できないので、人間が書く、とも言いました。 -それを書くのが以下に説明する「アクション」という部分です。 -</p> -<p> -前項で、記号の列がだんだんと大きな単位にまとめられていく過程を見ました。 -そのまとめる時に、同時になにかをやらせることができます。それが -アクションです。アクションは、文法ファイルで以下のように書きます。 -</p> -<pre> -class MyParser -rule - - if_stmt: IF expr then stmt_list elsif else END - { puts 'if_stmt found' } - - then : THEN - { puts 'then found' } - | - { puts 'then is omitted' } - - elsif : - { puts 'elsif is omitted' } - | ELSIF stmt_list - { puts 'elsif found' } - - else : - { puts 'else omitted' } - | ELSE stmt_list - { puts 'else found' } - - expr : NUMBER - { puts 'expr found (NUMBER)' } - | IDENT - { puts 'expr found (IDENT)' } - | STRING - { puts 'expr found (STRING)' } - - stmt_list : ふにゃふにゃ - -end -</pre> -<p> -見てのとおり、規則のあとに { と } で囲んで書きます。 -アクションにはだいたい好きなように Ruby スクリプトが書けます。 -</p> -<p> -(この節、未完) -</p> -<hr> - -<p> -yacc での <code>$$</code> は Racc ではローカル変数 <code>result</code> -で、<code>$1,$2...</code> は配列 <var>val</var>です。 -<code>result</code> は <code>val[0]</code> ($1) の値に初期化され、 -アクションを抜けたときの <code>result</code> の値が左辺値になります。 -Racc ではアクション中の <code>return</code> はアクションから抜けるだけで、 -パース自体は終わりません。アクション中からパースを終了するには、 -メソッド <code>yyaccept</code> を使ってください。 -</p> -<p> -演算子の優先順位、スタートルールなどの yacc の一般的な機能も用意されて -います。ただしこちらも少し文法が違います。 -</p> -<p> -yacc では生成されたコードに直接転写されるコードがありました。 -Racc でも同じように、ユーザ指定のコードが書けます。 -Racc ではクラスを生成するので、クラス定義の前/中/後の三個所があります。 -Racc ではそれを上から順番に header inner footer と呼んでいます。 -</p> - -<h3>ユーザが用意すべきコード</h3> -<p> -パースのエントリポイントとなるメソッドは二つあります。ひとつは -<code>do_parse</code>で、こちらはトークンを -<code>Parser#next_token</code> から得ます。もうひとつは -<code>yyparse</code> で、こちらはスキャナから <code>yield</code> され -ることによってトークンを得ます。ユーザ側ではこのどちらか(両方でもいい -けど)を起動する簡単なメソッドを inner に書いてください。これらメソッド -の引数など、詳しいことはリファレンスを見てください。 -</p> -<ul> -<li><a href="parser.html#Racc%3a%3aParser-do_parse">do_parse</a> -<li><a href="parser.html#Racc%3a%3aParser-yyparse">yyparse</a> -</ul> -<p> -どちらのメソッドにも共通なのはトークンの形式です。必ずトークンシンボル -とその値の二要素を持つ配列を返すようにします。またスキャンが終了して、 -もう送るものがない場合は <code>[false,<var>なにか</var>]</code> を返し -てください。これは一回返せば十分です (逆に、<code>yyparse</code> を使 -う場合は二回以上 <code>yield</code> してはいけない)。 -</p> -<p> -パーサは別に文字列処理にだけ使われるものではありませんが、実際問題とし -て、パーサを作る場面ではたいてい文字列のスキャナとセットで使うことが多 -いでしょう。Ruby ならスキャナくらい楽勝で作れますが、高速なスキャナと -なると実は難しかったりします。そこで高速なスキャナを作成するためのライ -ブラリも作っています。詳しくは -<a href="#WritingScanner">「スキャナを作る」の項</a>を見てください。 -</p> -<p> -Racc には error トークンを使ったエラー回復機能もあります。yacc の -<code>yyerror()</code> は Racc では -<a href="parser.html#Racc%3a%3aParser-on_error"><code>Racc::Parser#on_error</code></a> -で、エラーが起きたトークンとその値、値スタック、の三つの引数をとります。 -<code>on_error</code> のデフォルトの実装は例外 -<code>Racc::ParseError</code> を発生します。 -</p> -<p> -ユーザがアクション中でパースエラーを発見した場合は、メソッド -<a href="parser.html#Racc%3a%3aParser-yyerror"><code>yyerror</code></a> -を呼べばパーサがエラー回復モードに入ります。 -ただしこのとき <code>on_error</code>は呼ばれません。 -</p> - -<h3>パーサを生成する</h3> -<p> -これだけあればだいたい書けると思います。あとは、最初に示した方法で文法 -ファイルを処理し、Ruby スクリプトを得ます。 -</p> -<p> -うまくいけばいいのですが、大きいものだと最初からはうまくいかないでしょ -う。racc に -g オプションをつけてコンパイルし、@yydebug を true にする -とデバッグ用の出力が得られます。デバッグ出力はパーサの @racc_debug_out -に出力されます(デフォルトは stderr)。また、racc に -v オプションをつけ -ると、状態遷移表を読みやすい形で出力したファイル(*.output)が得られます。 -どちらもデバッグの参考になるでしょう。 -</p> - - -<h2>作ったパーサを配布する</h2> -<p> -Racc の生成したパーサは動作時にランタイムルーチンが必要です。 -具体的には parser.rb と cparse.so です。 -ただし cparse.so は単にパースを高速化するためのライブラリなので -必須ではありません。なくても動きます。 -</p> -<p> -まず Ruby 1.8.0 以降にはこのランタイムが標準添付されているので、 -Ruby 1.8 がある環境ならばランタイムについて考慮する必要はありません。 -Racc 1.4.x のランタイムと Ruby 1.8 に添付されているランタイムは -完全互換です。 -</p> -<p> -問題は Ruby 1.8 を仮定できない場合です。 -Racc をユーザみんなにインストールしてもらうのも一つの手ですが、 -これでは不親切です。そこでRacc では回避策を用意しました。 -</p> -<p> -racc に -E オプションをつけてコンパイルすると、 -パーサと racc/parser.rb を合体したファイルを出力できます。 -これならばファイルは一つだけなので簡単に扱えます。 -racc/parser.rb は擬似的に require したような扱いになるので、 -この形式のパーサが複数あったとしてもクラスやメソッドが衝突することもありません。 -ただし -E を使った場合は cparse.so が使えませんので、 -必然的にパーサの速度は落ちます。 -</p> - - -<h2><a name="WritingScanner">おまけ: スキャナを書く</a></h2> -<p> -パーサを使うときは、たいてい文字列をトークンに切りわけてくれるスキャナ -が必要になります。しかし実は Ruby は文字列の最初からトークンに切りわけ -ていくという作業があまり得意ではありません。 -正確に言うと、簡単にできるのですが、それなりのオーバーヘッドがかかります。 -</p> -<p> -そのオーバーヘッドを回避しつつ、 -手軽にスキャナを作れるように strscan というパッケージを作りました。 -Ruby 1.8 以降には標準添付されていますし、 -<a href="http://i.loveruby.net/ja/">筆者のホームページ</a>には -単体パッケージがあります。 -</p> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/.sitearchdir.-.racc.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/.sitearchdir.-.racc.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/Makefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/Makefile deleted file mode 100644 index dd0fd3d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/Makefile +++ /dev/null @@ -1,266 +0,0 @@ - -SHELL = /bin/sh - -# V=0 quiet, V=1 verbose. other values don't work. -V = 0 -Q1 = $(V:1=) -Q = $(Q1:0=@) -ECHO1 = $(V:1=@ :) -ECHO = $(ECHO1:0=@ echo) -NULLCMD = : - -#### Start of system configuration section. #### - -srcdir = . -topdir = /usr/include/ruby-3.0.0 -hdrdir = $(topdir) -arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0 -PATH_SEPARATOR = : -VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby -prefix = $(DESTDIR)/usr -rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) -rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME) -rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) -exec_prefix = $(prefix) -vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby -sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby -rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME) -vendorhdrdir = $(rubyhdrdir)/vendor_ruby -sitehdrdir = $(rubyhdrdir)/site_ruby -rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) -vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version) -vendorlibdir = $(vendordir)/$(ruby_version) -vendordir = $(rubylibprefix)/vendor_ruby -sitearchdir = $(DESTDIR)./.gem.20231104-11184-ar0bhs -sitelibdir = $(DESTDIR)./.gem.20231104-11184-ar0bhs -sitedir = $(DESTDIR)/usr/local/lib/site_ruby -rubyarchdir = $(rubyarchprefix)/$(ruby_version) -rubylibdir = $(rubylibprefix)/$(ruby_version) -sitearchincludedir = $(includedir)/$(sitearch) -archincludedir = $(includedir)/$(arch) -sitearchlibdir = $(libdir)/$(sitearch) -archlibdir = $(libdir)/$(arch) -ridir = $(datarootdir)/$(RI_BASE_NAME) -mandir = $(datarootdir)/man -localedir = $(datarootdir)/locale -libdir = $(exec_prefix)/lib -psdir = $(docdir) -pdfdir = $(docdir) -dvidir = $(docdir) -htmldir = $(docdir) -infodir = $(datarootdir)/info -docdir = $(datarootdir)/doc/$(PACKAGE) -oldincludedir = $(DESTDIR)/usr/include -includedir = $(prefix)/include -runstatedir = $(DESTDIR)/var/run -localstatedir = $(DESTDIR)/var -sharedstatedir = $(prefix)/com -sysconfdir = $(DESTDIR)/etc -datadir = $(datarootdir) -datarootdir = $(prefix)/share -libexecdir = $(exec_prefix)/libexec -sbindir = $(exec_prefix)/sbin -bindir = $(exec_prefix)/bin -archdir = $(rubyarchdir) - - -CC_WRAPPER = -CC = x86_64-linux-gnu-gcc -CXX = x86_64-linux-gnu-g++ -LIBRUBY = $(LIBRUBY_SO) -LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a -LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) -LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS) -empty = -OUTFLAG = -o $(empty) -COUTFLAG = -o $(empty) -CSRCFLAG = $(empty) - -RUBY_EXTCONF_H = -cflags = $(optflags) $(debugflags) $(warnflags) -cxxflags = -optflags = -O3 -debugflags = -ggdb3 -warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -cppflags = -CCDLFLAGS = -fPIC -CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC $(ARCH_FLAG) -INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -DEFS = -CPPFLAGS = -DRACC_INFO_VERSION=1.7.3 -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ohOwi0/ruby3.0-3.0.2=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG) -ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -dldflags = -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -ARCH_FLAG = -DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) -LDSHARED = $(CC) -shared -LDSHAREDXX = $(CXX) -shared -AR = x86_64-linux-gnu-gcc-ar -EXEEXT = - -RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0 -RUBY_SO_NAME = ruby-3.0 -RUBYW_INSTALL_NAME = -RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) -RUBYW_BASE_NAME = rubyw -RUBY_BASE_NAME = ruby - -arch = x86_64-linux-gnu -sitearch = $(arch) -ruby_version = 3.0.0 -ruby = $(bindir)/$(RUBY_BASE_NAME)3.0 -RUBY = $(ruby) -ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h - -RM = rm -f -RM_RF = $(RUBY) -run -e rm -- -rf -RMDIRS = rmdir --ignore-fail-on-non-empty -p -MAKEDIRS = /usr/bin/mkdir -p -INSTALL = /usr/bin/install -c -INSTALL_PROG = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -m 644 -COPY = cp -TOUCH = exit > - -#### End of system configuration section. #### - -preload = -libpath = . $(archlibdir) -LIBPATH = -L. -L$(archlibdir) -DEFFILE = - -CLEANFILES = mkmf.log -DISTCLEANFILES = -DISTCLEANDIRS = - -extout = -extout_prefix = -target_prefix = /racc -LOCAL_LIBS = -LIBS = $(LIBRUBYARG_SHARED) -lm -lc -ORIG_SRCS = cparse.c -SRCS = $(ORIG_SRCS) -OBJS = cparse.o -HDRS = -LOCAL_HDRS = -TARGET = cparse -TARGET_NAME = cparse -TARGET_ENTRY = Init_$(TARGET_NAME) -DLLIB = $(TARGET).so -EXTSTATIC = -STATIC_LIB = - -TIMESTAMP_DIR = . -BINDIR = $(bindir) -RUBYCOMMONDIR = $(sitedir)$(target_prefix) -RUBYLIBDIR = $(sitelibdir)$(target_prefix) -RUBYARCHDIR = $(sitearchdir)$(target_prefix) -HDRDIR = $(sitehdrdir)$(target_prefix) -ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix) -TARGET_SO_DIR = -TARGET_SO = $(TARGET_SO_DIR)$(DLLIB) -CLEANLIBS = $(TARGET_SO) -CLEANOBJS = *.o *.bak - -all: $(DLLIB) -static: $(STATIC_LIB) -.PHONY: all install static install-so install-rb -.PHONY: clean clean-so clean-static clean-rb - -clean-static:: -clean-rb-default:: -clean-rb:: -clean-so:: -clean: clean-so clean-static clean-rb-default clean-rb - -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time - -distclean-rb-default:: -distclean-rb:: -distclean-so:: -distclean-static:: -distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb - -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log - -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) - -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true - -realclean: distclean -install: install-so install-rb - -install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.-.racc.time - $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) -clean-static:: - -$(Q)$(RM) $(STATIC_LIB) -install-rb: pre-install-rb do-install-rb install-rb-default -install-rb-default: pre-install-rb-default do-install-rb-default -pre-install-rb: Makefile -pre-install-rb-default: Makefile -do-install-rb: -do-install-rb-default: -pre-install-rb-default: - @$(NULLCMD) -$(TIMESTAMP_DIR)/.sitearchdir.-.racc.time: - $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR) - $(Q) $(TOUCH) $@ - -site-install: site-install-so site-install-rb -site-install-so: install-so -site-install-rb: install-rb - -.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S - -.cc.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cc.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.mm.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.mm.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cxx.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cxx.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.cpp.o: - $(ECHO) compiling $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.cpp.S: - $(ECHO) translating $(<) - $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.c.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.c.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -.m.o: - $(ECHO) compiling $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$< - -.m.S: - $(ECHO) translating $(<) - $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$< - -$(TARGET_SO): $(OBJS) Makefile - $(ECHO) linking shared-object racc/$(DLLIB) - -$(Q)$(RM) $(@) - $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) - - - -$(OBJS): $(HDRS) $(ruby_headers) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/cparse.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/cparse.c deleted file mode 100644 index 7d9319b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/cparse.c +++ /dev/null @@ -1,840 +0,0 @@ -/* - - cparse.c -- Racc Runtime Core - - Copyright (c) 1999-2006 Minero Aoki - - This library is free software. - You can distribute/modify this program under the same terms of ruby. - -*/ - -#include <ruby.h> - -#ifndef FALSE -#define FALSE 0 -#endif -#ifndef TRUE -#define TRUE 1 -#endif - -/* ----------------------------------------------------------------------- - Important Constants ------------------------------------------------------------------------ */ - -#define RACC_VERSION STRINGIZE(RACC_INFO_VERSION) - -#define DEFAULT_TOKEN -1 -#define ERROR_TOKEN 1 -#define FINAL_TOKEN 0 - -#define vDEFAULT_TOKEN INT2FIX(DEFAULT_TOKEN) -#define vERROR_TOKEN INT2FIX(ERROR_TOKEN) -#define vFINAL_TOKEN INT2FIX(FINAL_TOKEN) - -/* ----------------------------------------------------------------------- - File Local Variables ------------------------------------------------------------------------ */ - -static VALUE RaccBug; -static VALUE CparseParams; - -static ID id_yydebug; -static ID id_nexttoken; -static ID id_onerror; -static ID id_noreduce; -static ID id_errstatus; - -static ID id_d_shift; -static ID id_d_reduce; -static ID id_d_accept; -static ID id_d_read_token; -static ID id_d_next_state; -static ID id_d_e_pop; - -/* ----------------------------------------------------------------------- - Utils ------------------------------------------------------------------------ */ - -/* For backward compatibility */ -#ifndef ID2SYM -# define ID2SYM(i) ULONG2NUM(i) -#endif -#ifndef SYM2ID -# define SYM2ID(v) ((ID)NUM2ULONG(v)) -#endif -#ifndef SYMBOL_P -# define SYMBOL_P(v) FIXNUM_P(v) -#endif -#ifndef LONG2NUM -# define LONG2NUM(i) INT2NUM(i) -#endif - -static ID value_to_id(VALUE v); -static inline long num_to_long(VALUE n); - -static ID -value_to_id(VALUE v) -{ - if (! SYMBOL_P(v)) { - rb_raise(rb_eTypeError, "not symbol"); - } - return SYM2ID(v); -} - -static inline long -num_to_long(VALUE n) -{ - return NUM2LONG(n); -} - -#define AREF(s, idx) \ - ((0 <= idx && idx < RARRAY_LEN(s)) ? rb_ary_entry(s, idx) : Qnil) - -/* ----------------------------------------------------------------------- - Parser Stack Interfaces ------------------------------------------------------------------------ */ - -static VALUE get_stack_tail(VALUE stack, long len); -static void cut_stack_tail(VALUE stack, long len); - -static VALUE -get_stack_tail(VALUE stack, long len) -{ - if (len < 0) return Qnil; /* system error */ - if (len > RARRAY_LEN(stack)) len = RARRAY_LEN(stack); - return rb_ary_subseq(stack, RARRAY_LEN(stack) - len, len); -} - -static void -cut_stack_tail(VALUE stack, long len) -{ - while (len > 0) { - rb_ary_pop(stack); - len--; - } -} - -#define STACK_INIT_LEN 64 -#define NEW_STACK() rb_ary_new2(STACK_INIT_LEN) -#define PUSH(s, i) rb_ary_store(s, RARRAY_LEN(s), i) -#define POP(s) rb_ary_pop(s) -#define LAST_I(s) \ - ((RARRAY_LEN(s) > 0) ? rb_ary_entry(s, RARRAY_LEN(s) - 1) : Qnil) -#define GET_TAIL(s, len) get_stack_tail(s, len) -#define CUT_TAIL(s, len) cut_stack_tail(s, len) - -/* ----------------------------------------------------------------------- - struct cparse_params ------------------------------------------------------------------------ */ - -struct cparse_params { - VALUE value_v; /* VALUE version of this struct */ - - VALUE parser; /* parser object */ - - int lex_is_iterator; - VALUE lexer; /* scanner object */ - ID lexmid; /* name of scanner method (must be an iterator) */ - - /* State transition tables (immutable) - Data structure is from Dragon Book 4.9 */ - /* action table */ - VALUE action_table; - VALUE action_check; - VALUE action_default; - VALUE action_pointer; - /* goto table */ - VALUE goto_table; - VALUE goto_check; - VALUE goto_default; - VALUE goto_pointer; - - long nt_base; /* NonTerminal BASE index */ - VALUE reduce_table; /* reduce data table */ - VALUE token_table; /* token conversion table */ - - /* parser stacks and parameters */ - VALUE state; - long curstate; - VALUE vstack; - VALUE tstack; - VALUE t; - long shift_n; - long reduce_n; - long ruleno; - - long errstatus; /* nonzero in error recovering mode */ - long nerr; /* number of error */ - - int use_result_var; - - VALUE retval; /* return value of parser routine */ - long fin; /* parse result status */ -#define CP_FIN_ACCEPT 1 -#define CP_FIN_EOT 2 -#define CP_FIN_CANTPOP 3 - - int debug; /* user level debug */ - int sys_debug; /* system level debug */ - - long i; /* table index */ -}; - -/* ----------------------------------------------------------------------- - Parser Main Routines ------------------------------------------------------------------------ */ - -static VALUE racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug); -static VALUE racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, - VALUE arg, VALUE sysdebug); - -static void call_lexer(struct cparse_params *v); -static VALUE lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data)); - -static VALUE assert_array(VALUE a); -static long assert_integer(VALUE n); -static VALUE assert_hash(VALUE h); -static VALUE initialize_params(VALUE vparams, VALUE parser, VALUE arg, - VALUE lexer, VALUE lexmid); -static void cparse_params_mark(void *ptr); -static size_t cparse_params_memsize(const void *ptr); - -static void parse_main(struct cparse_params *v, - VALUE tok, VALUE val, int resume); -static void extract_user_token(struct cparse_params *v, - VALUE block_args, VALUE *tok, VALUE *val); -static void shift(struct cparse_params* v, long act, VALUE tok, VALUE val); -static int reduce(struct cparse_params* v, long act); -static rb_block_call_func reduce0; - -#ifdef DEBUG -# define D_puts(msg) if (v->sys_debug) puts(msg) -# define D_printf(fmt,arg) if (v->sys_debug) printf(fmt,arg) -#else -# define D_puts(msg) -# define D_printf(fmt,arg) -#endif - -#undef RUBY_UNTYPED_DATA_WARNING -#define RUBY_UNTYPED_DATA_WARNING 1 - -static const rb_data_type_t cparse_params_type = { - "racc/cparse", - { - cparse_params_mark, - RUBY_TYPED_DEFAULT_FREE, - cparse_params_memsize, - }, -#ifdef RUBY_TYPED_FREE_IMMEDIATELY - 0, 0, - RUBY_TYPED_FREE_IMMEDIATELY, -#endif -}; - -static VALUE -racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug) -{ - VALUE vparams; - struct cparse_params *v; - - vparams = TypedData_Make_Struct(CparseParams, struct cparse_params, - &cparse_params_type, v); - D_puts("starting cparse"); - v->sys_debug = RTEST(sysdebug); - vparams = initialize_params(vparams, parser, arg, Qnil, Qnil); - v->lex_is_iterator = FALSE; - parse_main(v, Qnil, Qnil, 0); - - RB_GC_GUARD(vparams); - return v->retval; -} - -static VALUE -racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, VALUE arg, VALUE sysdebug) -{ - VALUE vparams; - struct cparse_params *v; - - vparams = TypedData_Make_Struct(CparseParams, struct cparse_params, - &cparse_params_type, v); - v->sys_debug = RTEST(sysdebug); - D_puts("start C yyparse"); - vparams = initialize_params(vparams, parser, arg, lexer, lexmid); - v->lex_is_iterator = TRUE; - D_puts("params initialized"); - parse_main(v, Qnil, Qnil, 0); - call_lexer(v); - if (!v->fin) { - rb_raise(rb_eArgError, "%s() is finished before EndOfToken", - rb_id2name(v->lexmid)); - } - - RB_GC_GUARD(vparams); - return v->retval; -} - -static void -call_lexer(struct cparse_params *v) -{ - rb_block_call(v->lexer, v->lexmid, 0, NULL, lexer_i, v->value_v); -} - -static VALUE -lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data)) -{ - struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type); - VALUE tok, val; - - if (v->fin) - rb_raise(rb_eArgError, "extra token after EndOfToken"); - extract_user_token(v, block_args, &tok, &val); - parse_main(v, tok, val, 1); - if (v->fin && v->fin != CP_FIN_ACCEPT) - rb_iter_break(); - return Qnil; -} - -static VALUE -assert_array(VALUE a) -{ - Check_Type(a, T_ARRAY); - return a; -} - -static VALUE -assert_hash(VALUE h) -{ - Check_Type(h, T_HASH); - return h; -} - -static long -assert_integer(VALUE n) -{ - return NUM2LONG(n); -} - -static VALUE -initialize_params(VALUE vparams, VALUE parser, VALUE arg, VALUE lexer, VALUE lexmid) -{ - struct cparse_params *v = rb_check_typeddata(vparams, &cparse_params_type); - - v->value_v = vparams; - v->parser = parser; - v->lexer = lexer; - if (! NIL_P(lexmid)) - v->lexmid = value_to_id(lexmid); - - v->debug = RTEST(rb_ivar_get(parser, id_yydebug)); - - Check_Type(arg, T_ARRAY); - if (!(13 <= RARRAY_LEN(arg) && RARRAY_LEN(arg) <= 14)) - rb_raise(RaccBug, "[Racc Bug] wrong arg.size %ld", RARRAY_LEN(arg)); - v->action_table = assert_array (rb_ary_entry(arg, 0)); - v->action_check = assert_array (rb_ary_entry(arg, 1)); - v->action_default = assert_array (rb_ary_entry(arg, 2)); - v->action_pointer = assert_array (rb_ary_entry(arg, 3)); - v->goto_table = assert_array (rb_ary_entry(arg, 4)); - v->goto_check = assert_array (rb_ary_entry(arg, 5)); - v->goto_default = assert_array (rb_ary_entry(arg, 6)); - v->goto_pointer = assert_array (rb_ary_entry(arg, 7)); - v->nt_base = assert_integer(rb_ary_entry(arg, 8)); - v->reduce_table = assert_array (rb_ary_entry(arg, 9)); - v->token_table = assert_hash (rb_ary_entry(arg, 10)); - v->shift_n = assert_integer(rb_ary_entry(arg, 11)); - v->reduce_n = assert_integer(rb_ary_entry(arg, 12)); - if (RARRAY_LEN(arg) > 13) { - v->use_result_var = RTEST(rb_ary_entry(arg, 13)); - } - else { - v->use_result_var = TRUE; - } - - v->tstack = v->debug ? NEW_STACK() : Qnil; - v->vstack = NEW_STACK(); - v->state = NEW_STACK(); - v->curstate = 0; - PUSH(v->state, INT2FIX(0)); - v->t = INT2FIX(FINAL_TOKEN + 1); /* must not init to FINAL_TOKEN */ - v->nerr = 0; - v->errstatus = 0; - rb_ivar_set(parser, id_errstatus, LONG2NUM(v->errstatus)); - - v->retval = Qnil; - v->fin = 0; - - v->lex_is_iterator = FALSE; - - rb_iv_set(parser, "@vstack", v->vstack); - if (v->debug) { - rb_iv_set(parser, "@tstack", v->tstack); - } - else { - rb_iv_set(parser, "@tstack", Qnil); - } - - return vparams; -} - -static void -cparse_params_mark(void *ptr) -{ - struct cparse_params *v = (struct cparse_params*)ptr; - - rb_gc_mark(v->value_v); - rb_gc_mark(v->parser); - rb_gc_mark(v->lexer); - rb_gc_mark(v->action_table); - rb_gc_mark(v->action_check); - rb_gc_mark(v->action_default); - rb_gc_mark(v->action_pointer); - rb_gc_mark(v->goto_table); - rb_gc_mark(v->goto_check); - rb_gc_mark(v->goto_default); - rb_gc_mark(v->goto_pointer); - rb_gc_mark(v->reduce_table); - rb_gc_mark(v->token_table); - rb_gc_mark(v->state); - rb_gc_mark(v->vstack); - rb_gc_mark(v->tstack); - rb_gc_mark(v->t); - rb_gc_mark(v->retval); -} - -static size_t -cparse_params_memsize(const void *ptr) -{ - return sizeof(struct cparse_params); -} - -static void -extract_user_token(struct cparse_params *v, VALUE block_args, - VALUE *tok, VALUE *val) -{ - if (NIL_P(block_args)) { - /* EOF */ - *tok = Qfalse; - *val = rb_str_new("$", 1); - return; - } - - if (!RB_TYPE_P(block_args, T_ARRAY)) { - rb_raise(rb_eTypeError, - "%s() %s %"PRIsVALUE" (must be Array[2])", - v->lex_is_iterator ? rb_id2name(v->lexmid) : "next_token", - v->lex_is_iterator ? "yielded" : "returned", - rb_obj_class(block_args)); - } - if (RARRAY_LEN(block_args) != 2) { - rb_raise(rb_eArgError, - "%s() %s wrong size of array (%ld for 2)", - v->lex_is_iterator ? rb_id2name(v->lexmid) : "next_token", - v->lex_is_iterator ? "yielded" : "returned", - RARRAY_LEN(block_args)); - } - *tok = AREF(block_args, 0); - *val = AREF(block_args, 1); -} - -#define SHIFT(v,act,tok,val) shift(v,act,tok,val) -#define REDUCE(v,act) do {\ - switch (reduce(v,act)) { \ - case 0: /* normal */ \ - break; \ - case 1: /* yyerror */ \ - goto user_yyerror; \ - case 2: /* yyaccept */ \ - D_puts("u accept"); \ - goto accept; \ - default: \ - break; \ - } \ -} while (0) - -static void -parse_main(struct cparse_params *v, VALUE tok, VALUE val, int resume) -{ - long i; /* table index */ - long act; /* action type */ - VALUE act_value; /* action type, VALUE version */ - int read_next = 1; /* true if we need to read next token */ - VALUE tmp; - - if (resume) - goto resume; - - while (1) { - D_puts(""); - D_puts("---- enter new loop ----"); - D_puts(""); - - D_printf("(act) k1=%ld\n", v->curstate); - tmp = AREF(v->action_pointer, v->curstate); - if (NIL_P(tmp)) goto notfound; - D_puts("(act) pointer[k1] ok"); - i = NUM2LONG(tmp); - - D_printf("read_next=%d\n", read_next); - if (read_next && (v->t != vFINAL_TOKEN)) { - if (v->lex_is_iterator) { - D_puts("resuming..."); - if (v->fin) rb_raise(rb_eArgError, "token given after EOF"); - v->i = i; /* save i */ - return; - resume: - D_puts("resumed"); - i = v->i; /* load i */ - } - else { - D_puts("next_token"); - tmp = rb_funcall(v->parser, id_nexttoken, 0); - extract_user_token(v, tmp, &tok, &val); - } - /* convert token */ - v->t = rb_hash_aref(v->token_table, tok); - if (NIL_P(v->t)) { - v->t = vERROR_TOKEN; - } - D_printf("(act) t(k2)=%ld\n", NUM2LONG(v->t)); - if (v->debug) { - rb_funcall(v->parser, id_d_read_token, - 3, v->t, tok, val); - } - } - read_next = 0; - - i += NUM2LONG(v->t); - D_printf("(act) i=%ld\n", i); - if (i < 0) goto notfound; - - act_value = AREF(v->action_table, i); - if (NIL_P(act_value)) goto notfound; - act = NUM2LONG(act_value); - D_printf("(act) table[i]=%ld\n", act); - - tmp = AREF(v->action_check, i); - if (NIL_P(tmp)) goto notfound; - if (NUM2LONG(tmp) != v->curstate) goto notfound; - D_printf("(act) check[i]=%ld\n", NUM2LONG(tmp)); - - D_puts("(act) found"); - act_fixed: - D_printf("act=%ld\n", act); - goto handle_act; - - notfound: - D_puts("(act) not found: use default"); - act_value = AREF(v->action_default, v->curstate); - act = NUM2LONG(act_value); - goto act_fixed; - - - handle_act: - if (act > 0 && act < v->shift_n) { - D_puts("shift"); - if (v->errstatus > 0) { - v->errstatus--; - rb_ivar_set(v->parser, id_errstatus, LONG2NUM(v->errstatus)); - } - SHIFT(v, act, v->t, val); - read_next = 1; - } - else if (act < 0 && act > -(v->reduce_n)) { - D_puts("reduce"); - REDUCE(v, act); - } - else if (act == -(v->reduce_n)) { - goto error; - error_recovered: - ; /* goto label requires stmt */ - } - else if (act == v->shift_n) { - D_puts("accept"); - goto accept; - } - else { - rb_raise(RaccBug, "[Racc Bug] unknown act value %ld", act); - } - - if (v->debug) { - rb_funcall(v->parser, id_d_next_state, - 2, LONG2NUM(v->curstate), v->state); - } - } - /* not reach */ - - - accept: - if (v->debug) rb_funcall(v->parser, id_d_accept, 0); - v->retval = rb_ary_entry(v->vstack, 0); - v->fin = CP_FIN_ACCEPT; - return; - - - error: - D_printf("error detected, status=%ld\n", v->errstatus); - if (v->errstatus == 0) { - v->nerr++; - rb_funcall(v->parser, id_onerror, - 3, v->t, val, v->vstack); - } - user_yyerror: - if (v->errstatus == 3) { - if (v->t == vFINAL_TOKEN) { - v->retval = Qnil; - v->fin = CP_FIN_EOT; - return; - } - read_next = 1; - } - v->errstatus = 3; - rb_ivar_set(v->parser, id_errstatus, LONG2NUM(v->errstatus)); - - /* check if we can shift/reduce error token */ - D_printf("(err) k1=%ld\n", v->curstate); - D_printf("(err) k2=%d (error)\n", ERROR_TOKEN); - while (1) { - tmp = AREF(v->action_pointer, v->curstate); - if (NIL_P(tmp)) goto error_pop; - D_puts("(err) pointer[k1] ok"); - - i = NUM2LONG(tmp) + ERROR_TOKEN; - D_printf("(err) i=%ld\n", i); - if (i < 0) goto error_pop; - - act_value = AREF(v->action_table, i); - if (NIL_P(act_value)) { - D_puts("(err) table[i] == nil"); - goto error_pop; - } - act = NUM2LONG(act_value); - D_printf("(err) table[i]=%ld\n", act); - - tmp = AREF(v->action_check, i); - if (NIL_P(tmp)) { - D_puts("(err) check[i] == nil"); - goto error_pop; - } - if (NUM2LONG(tmp) != v->curstate) { - D_puts("(err) check[i] != k1"); - goto error_pop; - } - - D_puts("(err) found: can handle error token"); - break; - - error_pop: - D_puts("(err) act not found: can't handle error token; pop"); - - if (RARRAY_LEN(v->state) <= 1) { - v->retval = Qnil; - v->fin = CP_FIN_CANTPOP; - return; - } - POP(v->state); - POP(v->vstack); - v->curstate = num_to_long(LAST_I(v->state)); - if (v->debug) { - POP(v->tstack); - rb_funcall(v->parser, id_d_e_pop, - 3, v->state, v->tstack, v->vstack); - } - } - - /* shift/reduce error token */ - if (act > 0 && act < v->shift_n) { - D_puts("e shift"); - SHIFT(v, act, ERROR_TOKEN, val); - } - else if (act < 0 && act > -(v->reduce_n)) { - D_puts("e reduce"); - REDUCE(v, act); - } - else if (act == v->shift_n) { - D_puts("e accept"); - goto accept; - } - else { - rb_raise(RaccBug, "[Racc Bug] unknown act value %ld", act); - } - goto error_recovered; -} - -static void -shift(struct cparse_params *v, long act, VALUE tok, VALUE val) -{ - PUSH(v->vstack, val); - if (v->debug) { - PUSH(v->tstack, tok); - rb_funcall(v->parser, id_d_shift, - 3, tok, v->tstack, v->vstack); - } - v->curstate = act; - PUSH(v->state, LONG2NUM(v->curstate)); -} - -static int -reduce(struct cparse_params *v, long act) -{ - VALUE code; - v->ruleno = -act * 3; - code = rb_catch("racc_jump", reduce0, v->value_v); - v->errstatus = num_to_long(rb_ivar_get(v->parser, id_errstatus)); - return NUM2INT(code); -} - -static VALUE -reduce0(RB_BLOCK_CALL_FUNC_ARGLIST(_, data)) -{ - struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type); - VALUE reduce_to, reduce_len, method_id; - long len; - ID mid; - VALUE tmp, tmp_t = Qundef, tmp_v = Qundef; - long i, k1, k2; - VALUE goto_state; - - reduce_len = rb_ary_entry(v->reduce_table, v->ruleno); - reduce_to = rb_ary_entry(v->reduce_table, v->ruleno+1); - method_id = rb_ary_entry(v->reduce_table, v->ruleno+2); - len = NUM2LONG(reduce_len); - mid = value_to_id(method_id); - - /* call action */ - if (len == 0) { - tmp = Qnil; - if (mid != id_noreduce) - tmp_v = rb_ary_new(); - if (v->debug) - tmp_t = rb_ary_new(); - } - else { - if (mid != id_noreduce) { - tmp_v = GET_TAIL(v->vstack, len); - tmp = rb_ary_entry(tmp_v, 0); - } - else { - tmp = rb_ary_entry(v->vstack, RARRAY_LEN(v->vstack) - len); - } - CUT_TAIL(v->vstack, len); - if (v->debug) { - tmp_t = GET_TAIL(v->tstack, len); - CUT_TAIL(v->tstack, len); - } - CUT_TAIL(v->state, len); - } - if (mid != id_noreduce) { - if (v->use_result_var) { - tmp = rb_funcall(v->parser, mid, - 3, tmp_v, v->vstack, tmp); - } - else { - tmp = rb_funcall(v->parser, mid, - 2, tmp_v, v->vstack); - } - } - - /* then push result */ - PUSH(v->vstack, tmp); - if (v->debug) { - PUSH(v->tstack, reduce_to); - rb_funcall(v->parser, id_d_reduce, - 4, tmp_t, reduce_to, v->tstack, v->vstack); - } - - /* calculate transition state */ - if (RARRAY_LEN(v->state) == 0) - rb_raise(RaccBug, "state stack unexpectedly empty"); - k2 = num_to_long(LAST_I(v->state)); - k1 = num_to_long(reduce_to) - v->nt_base; - D_printf("(goto) k1=%ld\n", k1); - D_printf("(goto) k2=%ld\n", k2); - - tmp = AREF(v->goto_pointer, k1); - if (NIL_P(tmp)) goto notfound; - - i = NUM2LONG(tmp) + k2; - D_printf("(goto) i=%ld\n", i); - if (i < 0) goto notfound; - - goto_state = AREF(v->goto_table, i); - if (NIL_P(goto_state)) { - D_puts("(goto) table[i] == nil"); - goto notfound; - } - D_printf("(goto) table[i]=%ld (goto_state)\n", NUM2LONG(goto_state)); - - tmp = AREF(v->goto_check, i); - if (NIL_P(tmp)) { - D_puts("(goto) check[i] == nil"); - goto notfound; - } - if (tmp != LONG2NUM(k1)) { - D_puts("(goto) check[i] != table[i]"); - goto notfound; - } - D_printf("(goto) check[i]=%ld\n", NUM2LONG(tmp)); - - D_puts("(goto) found"); - transit: - PUSH(v->state, goto_state); - v->curstate = NUM2LONG(goto_state); - return INT2FIX(0); - - notfound: - D_puts("(goto) not found: use default"); - /* overwrite `goto-state' by default value */ - goto_state = AREF(v->goto_default, k1); - goto transit; -} - -/* ----------------------------------------------------------------------- - Ruby Interface ------------------------------------------------------------------------ */ - -void -Init_cparse(void) -{ -#ifdef HAVE_RB_EXT_RACTOR_SAFE - rb_ext_ractor_safe(true); -#endif - - VALUE Racc, Parser; - ID id_racc = rb_intern_const("Racc"); - - if (rb_const_defined(rb_cObject, id_racc)) { - Racc = rb_const_get(rb_cObject, id_racc); - Parser = rb_const_get_at(Racc, rb_intern_const("Parser")); - } - else { - Racc = rb_define_module("Racc"); - Parser = rb_define_class_under(Racc, "Parser", rb_cObject); - } - rb_define_private_method(Parser, "_racc_do_parse_c", racc_cparse, 2); - rb_define_private_method(Parser, "_racc_yyparse_c", racc_yyparse, 4); - rb_define_const(Parser, "Racc_Runtime_Core_Version_C", - rb_str_new2(RACC_VERSION)); - rb_define_const(Parser, "Racc_Runtime_Core_Id_C", - rb_str_new2("$originalId: cparse.c,v 1.8 2006/07/06 11:39:46 aamine Exp $")); - - CparseParams = rb_define_class_under(Racc, "CparseParams", rb_cObject); - rb_undef_alloc_func(CparseParams); - rb_undef_method(CparseParams, "initialize"); - rb_undef_method(CparseParams, "initialize_copy"); - - RaccBug = rb_eRuntimeError; - - id_yydebug = rb_intern_const("@yydebug"); - id_nexttoken = rb_intern_const("next_token"); - id_onerror = rb_intern_const("on_error"); - id_noreduce = rb_intern_const("_reduce_none"); - id_errstatus = rb_intern_const("@racc_error_status"); - - id_d_shift = rb_intern_const("racc_shift"); - id_d_reduce = rb_intern_const("racc_reduce"); - id_d_accept = rb_intern_const("racc_accept"); - id_d_read_token = rb_intern_const("racc_read_token"); - id_d_next_state = rb_intern_const("racc_next_state"); - id_d_e_pop = rb_intern_const("racc_e_pop"); -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/cparse.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/cparse.o deleted file mode 100644 index 08845a6..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/cparse.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/extconf.rb deleted file mode 100644 index ffec1f9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/racc-1.7.3/ext/racc/cparse/extconf.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true -# - -require 'mkmf' -require_relative '../../../lib/racc/info' - -$defs << "-D""RACC_INFO_VERSION=#{Racc::VERSION}" -create_makefile 'racc/cparse' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Gemfile deleted file mode 100644 index b4e2a20..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Guardfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Guardfile deleted file mode 100644 index 63a666e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Guardfile +++ /dev/null @@ -1,8 +0,0 @@ -# A sample Guardfile -# More info at http://github.com/guard/guard#readme - -guard :rspec do - watch(%r(^spec/(.*)_spec.rb)) - watch(%r(^lib/(.*)\.rb)) { |m| "spec/#{m[1]}_spec.rb" } - watch('spec/spec_helper.rb') { 'spec' } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/LICENSE.txt deleted file mode 100644 index b083ecd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2010-2014 Thibaud Guillaume-Gentil & Travis Tilley - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/README.md deleted file mode 100644 index 3d87bcc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/README.md +++ /dev/null @@ -1,260 +0,0 @@ -[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/thibaudgg/rb-fsevent) -[![endorse](https://api.coderwall.com/ttilley/endorsecount.png)](https://coderwall.com/ttilley) - -# rb-fsevent - -Very simple & usable Mac OSX FSEvents API - -* Signals are working (really) -* Tested on MRI 2.4.1, RBX 3.72, JRuby 1.7.26 and 9.1.8.0 -* Tested on 10.8 - -## HFS+ filename corruption bug - -There is a _very_ long-standing (since 2011) OSX bug where sometimes the filename metadata for HFS+ filesystems will get corrupted, resulting in some APIs returning one case for a file, and other APIs returning another. The result is that sometimes, _for no visible reason to the user_, fsevents would simply not work. As of rb-fsevent 0.9.5 this issue is properly detected and an insanely hacky (but effective) workaround is used that replaces the system `realpath()` with a custom implementation that should almost always return the same value as the kernel reporting (thus fixing fsevents). The major flaw in the workaround is that it may return the wrong path for hard links. - -Please note that this doesn't repair the underlying issue on disk. Other apps and libraries using fsevents will continue to break with no warning. There may be other issues unrelated to fsevents. - -__This bug is resolved in MacOS 10.12 and all users are strongly encouraged to upgrade.__ - -## Install - - gem install rb-fsevent - -### re-compilation - -rb-fsevent comes with a pre-compiled fsevent\_watch binary supporting x86\_64 on 10.9 and above. The binary is codesigned with my (Travis Tilley) Developer ID as an extra precaution when distributing pre-compiled code and contains an embedded plist describing its build environment. This should be sufficient for most users, but if you need to use rb-fsevent on 10.8 or lower then recompilation is necessary. This can be done by entering the installed gem's ext directory and running: - - MACOSX_DEPLOYMENT_TARGET="10.7" rake replace_exe - -The following ENV vars are recognized: - -* CC -* CFLAGS -* ARCHFLAGS -* MACOSX\_DEPLOYMENT\_TARGET -* FWDEBUG (enables debug mode, printing an obscene number of informational - messages to STDERR) - -### embedded plist - -You can retrieve the values in the embedded plist via the CLI: - - fsevent_watch --show-plist - -The output is essentially formatted as `"#{key}:\n #{value}\n"` to make it easier to read than plist style xml. The result looks like this: - - DTSDKName: - macosx10.5 - FSEWBuildTriple: - i386-apple-darwin10.8.0 - FSEWCC: - /usr/bin/gcc-4.2 - DTSDKPath: - /Developer/SDKs/MacOSX10.5.sdk - FSEWCCVersion: - i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) - FSEWCFLAGS: - -fconstant-cfstrings -fno-strict-aliasing -Wall -mmacosx-version-min=10.5 -O3 - -If, for some perverse reason, you prefer to look at the xml... it can be retrieved via: - - otool -s __TEXT __info_plist ./bin/fsevent_watch | grep ^0 | xxd -r - - -### codesign - -You can verify code signing information for a specific fsevent\_watch via: - - codesign -d -vvv ./bin/fsevent_watch - -If you're using the pre-compiled binary, then the output should contain something to the effect of: - - Authority=Developer ID Application: Travis Tilley - Authority=Developer ID Certification Authority - Authority=Apple Root CA - Timestamp=Dec 31, 2012 12:49:13 PM - -## Usage - -### Singular path - -```ruby -require 'rb-fsevent' - -fsevent = FSEvent.new -fsevent.watch Dir.pwd do |directories| - puts "Detected change inside: #{directories.inspect}" -end -fsevent.run -``` - -### Multiple paths - -```ruby -require 'rb-fsevent' - -paths = ['/tmp/path/one', '/tmp/path/two', Dir.pwd] - -fsevent = FSEvent.new -fsevent.watch paths do |directories| - puts "Detected change inside: #{directories.inspect}" -end -fsevent.run -``` - -### Multiple paths and additional options as a Hash - -```ruby -require 'rb-fsevent' - -paths = ['/tmp/path/one', '/tmp/path/two', Dir.pwd] -options = {:latency => 1.5, :no_defer => true } - -fsevent = FSEvent.new -fsevent.watch paths, options do |directories| - puts "Detected change inside: #{directories.inspect}" -end -fsevent.run -``` - -### Multiple paths and additional options as an Array - -```ruby -require 'rb-fsevent' - -paths = ['/tmp/path/one', '/tmp/path/two', Dir.pwd] -options = ['--latency', 1.5, '--no-defer'] - -fsevent = FSEvent.new -fsevent.watch paths, options do |directories| - puts "Detected change inside: #{directories.inspect}" -end -fsevent.run -``` - -### Using _full_ event information - -```ruby -require 'rb-fsevent' -fsevent = FSEvent.new -fsevent.watch Dir.pwd do |paths, event_meta| - event_meta['events'].each do |event| - puts "event ID: #{event['id']}" - puts "path: #{event['path']}" - puts "c flags: #{event['cflags']}" - puts "named flags: #{event['flags'].join(', ')}" - # named flags will include strings such as `ItemInodeMetaMod` or `OwnEvent` - end -end -fsevent.run -``` - -## Options - -When defining options using a hash or hash-like object, it gets checked for validity and converted to the appropriate fsevent\_watch commandline arguments array when the FSEvent class is instantiated. This is obviously the safest and preferred method of passing in options. - -You may, however, choose to pass in an array of commandline arguments as your options value and it will be passed on, unmodified, to the fsevent\_watch binary when called. - -So far, the following options are supported: - -* :latency => 0.5 # in seconds -* :no\_defer => true -* :watch\_root => true -* :since\_when => 18446744073709551615 # an FSEventStreamEventId -* :file\_events => true - -### Latency - -The :latency parameter determines how long the service should wait after the first event before passing that information along to the client. If your latency is set to 4 seconds, and 300 changes occur in the first three, then the callback will be fired only once. If latency is set to 0.1 in the exact same scenario, you will see that callback fire somewhere closer to between 25 and 30 times. - -Setting a higher latency value allows for more effective temporal coalescing, resulting in fewer callbacks and greater overall efficiency... at the cost of apparent responsiveness. Setting this to a reasonably high value (and NOT setting :no\_defer) is particularly well suited for background, daemon, or batch processing applications. - -Implementation note: It appears that FSEvents will only coalesce events from a maximum of 32 distinct subpaths, making the above completely accurate only when events are to fewer than 32 subpaths. Creating 300 files in one directory, for example, or 30 files in 10 subdirectories, but not 300 files within 300 subdirectories. In the latter case, you may receive 31 callbacks in one go after the latency period. As this appears to be an implementation detail, the number could potentially differ across OS revisions. It is entirely possible that this number is somehow configurable, but I have not yet discovered an accepted method of doing so. - -### NoDefer - -The :no\_defer option changes the behavior of the latency parameter completely. Rather than waiting for $latency period of time before sending along events in an attempt to coalesce a potential deluge ahead of time, that first event is sent along to the client immediately and is followed by a $latency period of silence before sending along any additional events that occurred within that period. - -This behavior is particularly useful for interactive applications where that feeling of apparent responsiveness is most important, but you still don't want to get overwhelmed by a series of events that occur in rapid succession. - -### WatchRoot - -The :watch\_root option allows for catching the scenario where you start watching "~/src/demo\_project" and either it is later renamed to "~/src/awesome\_sauce\_3000" or the path changes in such a manner that the original directory is now at "~/clients/foo/iteration4/demo\_project". - -Unfortunately, while this behavior is somewhat supported in the fsevent\_watch binary built as part of this project, support for passing across detailed metadata is not (yet). As a result, you would not receive the appropriate RootChanged event and be able to react appropriately. Also, since the C code doesn't open watched directories and retain that file descriptor as part of path-specific callback metadata, we are unable to issue an F\_GETPATH fcntl() to determine the directory's new path. - -Please do not use this option until proper support is added (or, even better, add it and submit a pull request). - -### SinceWhen - -The FSEventStreamEventId passed in to :since\_when is used as a base for reacting to historic events. Unfortunately, not only is the metadata for transitioning from historic to live events not currently passed along, but it is incorrectly passed as a change event on the root path, and only per-host event streams are currently supported. When using per-host event streams, the event IDs are not guaranteed to be unique or contiguous when shared volumes (firewire/USB/net/etc) are used on multiple macs. - -Please do not use this option until proper support is added, unless it's acceptable for you to receive that one fake event that's handled incorrectly when events transition from historical to live. Even in that scenario, there's no metadata available for determining the FSEventStreamEventId of the last received event. - -WARNING: passing in 0 as the parameter to :since\_when will return events for every directory modified since "the beginning of time". - -### FileEvents ### - -Prepare yourself for an obscene number of callbacks. Realistically, an "Atomic Save" could easily fire maybe 6 events for the combination of creating the new file, changing metadata/permissions, writing content, swapping out the old file for the new may itself result in multiple events being fired, and so forth. By the time you get the event for the temporary file being created as part of the atomic save, it will already be gone and swapped with the original file. This and issues of a similar nature have prevented me from adding the option to the ruby code despite the fsevent\_watch binary supporting file level events for quite some time now. Mountain Lion seems to be better at coalescing needless events, but that might just be my imagination. - -## Debugging output - -If the gem is re-compiled with the environment variable FWDEBUG set, then fsevent\_watch will be built with its various DEBUG sections defined, and the output to STDERR is truly verbose (and hopefully helpful in debugging your application and not just fsevent\_watch itself). If enough people find this to be directly useful when developing code that makes use of rb-fsevent, then it wouldn't be hard to clean this up and make it a feature enabled by a commandline argument instead. Until somebody files an issue, however, I will assume otherwise. - - append_path called for: /tmp/moo/cow/ - resolved path to: /private/tmp/moo/cow - - config.sinceWhen 18446744073709551615 - config.latency 0.300000 - config.flags 00000000 - config.paths - /private/tmp/moo/cow - - FSEventStreamRef @ 0x100108540: - allocator = 0x7fff705a4ee0 - callback = 0x10000151e - context = {0, 0x0, 0x0, 0x0, 0x0} - numPathsToWatch = 1 - pathsToWatch = 0x7fff705a4ee0 - pathsToWatch[0] = '/private/tmp/moo/cow' - latestEventId = -1 - latency = 300000 (microseconds) - flags = 0x00000000 - runLoop = 0x0 - runLoopMode = 0x0 - - FSEventStreamCallback fired! - numEvents: 32 - event path: /private/tmp/moo/cow/1/a/ - event flags: 00000000 - event ID: 1023767 - event path: /private/tmp/moo/cow/1/b/ - event flags: 00000000 - event ID: 1023782 - event path: /private/tmp/moo/cow/1/c/ - event flags: 00000000 - event ID: 1023797 - event path: /private/tmp/moo/cow/1/d/ - event flags: 00000000 - event ID: 1023812 - [etc] - - -## Development - -* Source hosted at [GitHub](http://github.com/thibaudgg/rb-fsevent) -* Report issues/Questions/Feature requests on [GitHub Issues](http://github.com/thibaudgg/rb-fsevent/issues) - -Pull requests are quite welcome! Please ensure that your commits are in a topic branch for each individual changeset that can be reasonably isolated. It is also important to ensure that your changes are well tested... whether that means new tests, modified tests, or fixing a scenario where the existing tests currently fail. If you have rbenv and ruby-build, we have a helper task for running the testsuite in all of them: - - rake spec:portability - -The list of tested targets is currently: - - %w[2.4.1 rbx-3.72 jruby-1.7.26 jruby-9.1.8.0] - -## Authors - -* [Travis Tilley](http://github.com/ttilley) -* [Thibaud Guillaume-Gentil](http://github.com/thibaudgg) -* [Andrey Tarantsov](https://github.com/andreyvit) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Rakefile deleted file mode 100644 index 53a08a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/Rakefile +++ /dev/null @@ -1,33 +0,0 @@ -# -*- encoding: utf-8 -*- -require 'bundler' -Bundler::GemHelper.install_tasks - -require 'rspec/core/rake_task' -RSpec::Core::RakeTask.new(:spec) -task :default => :spec - -namespace(:spec) do - desc "Run all specs on multiple ruby versions" - task(:portability) do - versions = %w[2.4.1 rbx-3.72 jruby-1.7.26 jruby-9.1.8.0] - versions.each do |version| - # system <<-BASH - # bash -c 'source ~/.rvm/scripts/rvm; - # rvm #{version}; - # echo "--------- version #{version} ----------\n"; - # bundle install; - # rake spec' - # BASH - system <<-BASH - bash -c 'export PATH="$HOME/.rbenv/bin:$PATH"; - [[ `which rbenv` ]] && eval "$(rbenv init -)"; - [[ ! -a $HOME/.rbenv/versions/#{version} ]] && rbenv install #{version}; - rbenv shell #{version}; - rbenv which bundle 2> /dev/null || gem install bundler; - rm Gemfile.lock; - bundle install; - rake spec;' - BASH - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/bin/fsevent_watch b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/bin/fsevent_watch deleted file mode 100755 index 4fb821d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/bin/fsevent_watch and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/LICENSE deleted file mode 100644 index a35e195..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2011-2013 Travis Tilley - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/FSEventsFix.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/FSEventsFix.c deleted file mode 100644 index 60e3d37..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/FSEventsFix.c +++ /dev/null @@ -1,626 +0,0 @@ -/* - * FSEventsFix - * - * Resolves a long-standing bug in realpath() that prevents FSEvents API from - * monitoring certain folders on a wide range of OS X released (10.6-10.10 at least). - * - * The underlying issue is that for some folders, realpath() call starts returning - * a path with incorrect casing (e.g. "/users/smt" instead of "/Users/smt"). - * FSEvents is case-sensitive and calls realpath() on the paths you pass in, so - * an incorrect value returned by realpath() prevents FSEvents from seeing any - * change events. - * - * See the discussion at https://github.com/thibaudgg/rb-fsevent/issues/10 about - * the history of this bug and how this library came to exist. - * - * This library uses Facebook's fishhook to replace a custom implementation of - * realpath in place of the system realpath; FSEvents will then invoke our custom - * implementation (which does not screw up the names) and will thus work correctly. - * - * Our implementation of realpath is based on the open-source implementation from - * OS X 10.10, with a single change applied (enclosed in "BEGIN WORKAROUND FOR - * OS X BUG" ... "END WORKAROUND FOR OS X BUG"). - * - * Include FSEventsFix.{h,c} into your project and call FSEventsFixInstall(). - * - * It is recommended that you install FSEventsFix on demand, using FSEventsFixIsBroken - * to check if the folder you're about to pass to FSEventStreamCreate needs the fix. - * Note that the fix must be applied before calling FSEventStreamCreate. - * - * FSEventsFixIsBroken requires a path that uses the correct case for all folder names, - * i.e. a path provided by the system APIs or constructed from folder names provided - * by the directory enumeration APIs. - * - * Copyright (c) 2015 Andrey Tarantsov <andrey@tarantsov.com> - * Copyright (c) 2003 Constantin S. Svintsoff <kostik@iclub.nsu.ru> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * Based on a realpath implementation from Apple libc 498.1.7, taken from - * http://www.opensource.apple.com/source/Libc/Libc-498.1.7/stdlib/FreeBSD/realpath.c - * and provided under the following license: - * - * Copyright (c) 2003 Constantin S. Svintsoff <kostik@iclub.nsu.ru> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The names of the authors may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - - -#include "FSEventsFix.h" - -#include <dispatch/dispatch.h> -#include <stddef.h> -#include <stdint.h> -#include <stdbool.h> -#include <string.h> -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <ctype.h> -#include <dlfcn.h> - - -const char *const FSEventsFixVersionString = "0.11.0"; - - -#pragma mark - Forward declarations - -static char *(*orig_realpath)(const char *restrict file_name, char resolved_name[PATH_MAX]); -static char *CFURL_realpath(const char *restrict file_name, char resolved_name[PATH_MAX]); -static char *FSEventsFix_realpath_wrapper(const char *restrict src, char *restrict dst); - -static void _FSEventsFixHookInstall(); -static void _FSEventsFixHookUninstall(); - - -#pragma mark - Internal state - -static dispatch_queue_t g_queue = NULL; - -static int64_t g_enable_refcount = 0; - -static bool g_in_self_test = false; -static bool g_hook_operational = false; - -static void(^g_logging_block)(FSEventsFixMessageType type, const char *message); -static FSEventsFixDebugOptions g_debug_opt = 0; - -typedef struct { - char *name; - void *replacement; - void *original; - uint hooked_symbols; -} rebinding_t; - -static rebinding_t g_rebindings[] = { - { "_realpath$DARWIN_EXTSN", (void *) &FSEventsFix_realpath_wrapper, (void *) &realpath, 0 } -}; -static const uint g_rebindings_nel = sizeof(g_rebindings) / sizeof(g_rebindings[0]); - - -#pragma mark - Logging - -static void _FSEventsFixLog(FSEventsFixMessageType type, const char *__restrict fmt, ...) __attribute__((__format__ (__printf__, 2, 3))); - -static void _FSEventsFixLog(FSEventsFixMessageType type, const char *__restrict fmt, ...) { - if (g_logging_block) { - char *message = NULL; - va_list va; - va_start(va, fmt); - vasprintf(&message, fmt, va); - va_end(va); - - if (message) { - if (!!(g_debug_opt & FSEventsFixDebugOptionLogToStderr)) { - fprintf(stderr, "FSEventsFix: %s\n", message); - } - if (g_logging_block) { - g_logging_block(type, message); - } - free(message); - } - } -} - - -#pragma mark - API - -void _FSEventsFixInitialize() { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - g_queue = dispatch_queue_create("FSEventsFix", DISPATCH_QUEUE_SERIAL); - }); -} - -void FSEventsFixConfigure(FSEventsFixDebugOptions debugOptions, void(^loggingBlock)(FSEventsFixMessageType severity, const char *message)) { - _FSEventsFixInitialize(); - loggingBlock = Block_copy(loggingBlock); - dispatch_sync(g_queue, ^{ - g_debug_opt = debugOptions; - g_logging_block = loggingBlock; - }); -} - -// Must be called from the private serial queue. -void _FSEventsFixSelfTest() { - g_in_self_test = true; - g_hook_operational = false; - static char result[1024]; - realpath("/Etc/__!FSEventsFixSelfTest!__", result); - g_in_self_test = false; -} - -void FSEventsFixEnable() { - _FSEventsFixInitialize(); - dispatch_sync(g_queue, ^{ - if (++g_enable_refcount == 1) { - orig_realpath = dlsym(RTLD_DEFAULT, "realpath"); - _FSEventsFixHookInstall(); - _FSEventsFixSelfTest(); - if (g_hook_operational) { - _FSEventsFixLog(FSEventsFixMessageTypeStatusChange, "Enabled"); - } else { - _FSEventsFixLog(FSEventsFixMessageTypeFatalError, "Failed to enable (hook not called)"); - } - } - }); -} - -void FSEventsFixDisable() { - _FSEventsFixInitialize(); - dispatch_sync(g_queue, ^{ - if (g_enable_refcount == 0) { - abort(); - } - if (--g_enable_refcount == 0) { - _FSEventsFixHookUninstall(); - _FSEventsFixSelfTest(); - if (!g_hook_operational) { - _FSEventsFixLog(FSEventsFixMessageTypeStatusChange, "Disabled"); - } else { - _FSEventsFixLog(FSEventsFixMessageTypeFatalError, "Failed to disable (hook still called)"); - } - } - }); -} - -bool FSEventsFixIsOperational() { - _FSEventsFixInitialize(); - __block bool result = false; - dispatch_sync(g_queue, ^{ - result = g_hook_operational; - }); - return result; -} - -bool _FSEventsFixIsBroken_noresolve(const char *resolved) { - if (!!(g_debug_opt & FSEventsFixDebugOptionSimulateBroken)) { - if (strstr(resolved, FSEventsFixSimulatedBrokenFolderMarker)) { - return true; - } - } - - char *reresolved = realpath(resolved, NULL); - if (reresolved) { - bool broken = (0 != strcmp(resolved, reresolved)); - free(reresolved); - return broken; - } else { - return true; - } -} - -bool FSEventsFixIsBroken(const char *path) { - char *resolved = CFURL_realpath(path, NULL); - if (!resolved) { - return true; - } - bool broken = _FSEventsFixIsBroken_noresolve(resolved); - free(resolved); - return broken; -} - -char *FSEventsFixCopyRootBrokenFolderPath(const char *inpath) { - if (!FSEventsFixIsBroken(inpath)) { - return NULL; - } - - // get a mutable copy of an absolute path - char *path = CFURL_realpath(inpath, NULL); - if (!path) { - return NULL; - } - - for (;;) { - char *sep = strrchr(path, '/'); - if ((sep == NULL) || (sep == path)) { - break; - } - *sep = 0; - if (!_FSEventsFixIsBroken_noresolve(path)) { - *sep = '/'; - break; - } - } - - return path; -} - -static void _FSEventsFixAttemptRepair(const char *folder) { - int rv = rename(folder, folder); - - if (!!(g_debug_opt & FSEventsFixDebugOptionSimulateRepair)) { - const char *pos = strstr(folder, FSEventsFixSimulatedBrokenFolderMarker); - if (pos) { - char *fixed = strdup(folder); - fixed[pos - folder] = 0; - strcat(fixed, pos + strlen(FSEventsFixSimulatedBrokenFolderMarker)); - - rv = rename(folder, fixed); - free(fixed); - } - } - - if (rv != 0) { - if (errno == EPERM) { - _FSEventsFixLog(FSEventsFixMessageTypeResult, "Permission error when trying to repair '%s'", folder); - } else { - _FSEventsFixLog(FSEventsFixMessageTypeExpectedFailure, "Unknown error when trying to repair '%s': errno = %d", folder, errno); - } - } -} - -FSEventsFixRepairStatus FSEventsFixRepairIfNeeded(const char *inpath) { - char *root = FSEventsFixCopyRootBrokenFolderPath(inpath); - if (root == NULL) { - return FSEventsFixRepairStatusNotBroken; - } - - for (;;) { - _FSEventsFixAttemptRepair(root); - char *newRoot = FSEventsFixCopyRootBrokenFolderPath(inpath); - if (newRoot == NULL) { - _FSEventsFixLog(FSEventsFixMessageTypeResult, "Repaired '%s' in '%s'", root, inpath); - free(root); - return FSEventsFixRepairStatusRepaired; - } - if (0 == strcmp(root, newRoot)) { - _FSEventsFixLog(FSEventsFixMessageTypeResult, "Failed to repair '%s' in '%s'", root, inpath); - free(root); - free(newRoot); - return FSEventsFixRepairStatusFailed; - } - _FSEventsFixLog(FSEventsFixMessageTypeResult, "Partial success, repaired '%s' in '%s'", root, inpath); - free(root); - root = newRoot; - } -} - - -#pragma mark - FSEventsFix realpath wrapper - -static char *FSEventsFix_realpath_wrapper(const char * __restrict src, char * __restrict dst) { - if (g_in_self_test) { - if (strstr(src, "__!FSEventsFixSelfTest!__")) { - g_hook_operational = true; - } - } - - // CFURL_realpath doesn't support putting where resolution failed into the - // dst buffer, so we call the original realpath here first and if it gets a - // result, replace that with the output of CFURL_realpath. that way all the - // features of the original realpath are available. - char *rv = NULL; - char *orv = orig_realpath(src, dst); - if (orv != NULL) { rv = CFURL_realpath(src, dst); } - - if (!!(g_debug_opt & FSEventsFixDebugOptionLogCalls)) { - char *result = rv ?: dst; - _FSEventsFixLog(FSEventsFixMessageTypeCall, "realpath(%s) => %s\n", src, result); - } - - if (!!(g_debug_opt & FSEventsFixDebugOptionUppercaseReturn)) { - char *result = rv ?: dst; - if (result) { - for (char *pch = result; *pch; ++pch) { - *pch = (char)toupper(*pch); - } - } - } - - return rv; -} - - -#pragma mark - realpath - -// naive implementation of realpath on top of CFURL -// NOTE: doesn't quite support the full range of errno results one would -// expect here, in part because some of these functions just return a boolean, -// and in part because i'm not dealing with messy CFErrorRef objects and -// attempting to translate those to sane errno values. -// NOTE: the OSX realpath will return _where_ resolution failed in resolved_name -// if passed in and return NULL. we can't properly support that extension here -// since the resolution happens entirely behind the scenes to us in CFURL. -static char* CFURL_realpath(const char *file_name, char resolved_name[PATH_MAX]) -{ - char* resolved; - CFURLRef url1; - CFURLRef url2; - CFStringRef path; - - if (file_name == NULL) { - errno = EINVAL; - return (NULL); - } - -#if __DARWIN_UNIX03 - if (*file_name == 0) { - errno = ENOENT; - return (NULL); - } -#endif - - // create a buffer to store our result if we weren't passed one - if (!resolved_name) { - if ((resolved = malloc(PATH_MAX)) == NULL) return (NULL); - } else { - resolved = resolved_name; - } - - url1 = CFURLCreateFromFileSystemRepresentation(NULL, (const UInt8*)file_name, (CFIndex)strlen(file_name), false); - if (url1 == NULL) { goto error_return; } - - url2 = CFURLCopyAbsoluteURL(url1); - CFRelease(url1); - if (url2 == NULL) { goto error_return; } - - url1 = CFURLCreateFileReferenceURL(NULL, url2, NULL); - CFRelease(url2); - if (url1 == NULL) { goto error_return; } - - // if there are multiple hard links to the original path, this may end up - // being _completely_ different from what was intended - url2 = CFURLCreateFilePathURL(NULL, url1, NULL); - CFRelease(url1); - if (url2 == NULL) { goto error_return; } - - path = CFURLCopyFileSystemPath(url2, kCFURLPOSIXPathStyle); - CFRelease(url2); - if (path == NULL) { goto error_return; } - - bool success = CFStringGetCString(path, resolved, PATH_MAX, kCFStringEncodingUTF8); - CFRelease(path); - if (!success) { goto error_return; } - - return resolved; - -error_return: - if (!resolved_name) { - // we weren't passed in an output buffer and created our own. free it - int e = errno; - free(resolved); - errno = e; - } - return (NULL); -} - - -#pragma mark - fishhook - -// Copyright (c) 2013, Facebook, Inc. -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name Facebook nor the names of its contributors may be used to -// endorse or promote products derived from this software without specific -// prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#import <stdlib.h> -#import <string.h> -#import <sys/types.h> -#import <mach-o/dyld.h> -#import <mach-o/loader.h> -#import <mach-o/nlist.h> - -#ifdef __LP64__ -typedef struct mach_header_64 mach_header_t; -typedef struct segment_command_64 segment_command_t; -typedef struct section_64 section_t; -typedef struct nlist_64 nlist_t; -#define LC_SEGMENT_ARCH_DEPENDENT LC_SEGMENT_64 -#else -typedef struct mach_header mach_header_t; -typedef struct segment_command segment_command_t; -typedef struct section section_t; -typedef struct nlist nlist_t; -#define LC_SEGMENT_ARCH_DEPENDENT LC_SEGMENT -#endif - -static volatile bool g_hook_installed = false; - -static void _FSEventsFixHookUpdateSection(section_t *section, intptr_t slide, nlist_t *symtab, char *strtab, uint32_t *indirect_symtab) -{ - uint32_t *indirect_symbol_indices = indirect_symtab + section->reserved1; - void **indirect_symbol_bindings = (void **)((uintptr_t)slide + section->addr); - for (uint i = 0; i < section->size / sizeof(void *); i++) { - uint32_t symtab_index = indirect_symbol_indices[i]; - if (symtab_index == INDIRECT_SYMBOL_ABS || symtab_index == INDIRECT_SYMBOL_LOCAL || - symtab_index == (INDIRECT_SYMBOL_LOCAL | INDIRECT_SYMBOL_ABS)) { - continue; - } - uint32_t strtab_offset = symtab[symtab_index].n_un.n_strx; - char *symbol_name = strtab + strtab_offset; - for (rebinding_t *cur = g_rebindings, *end = g_rebindings + g_rebindings_nel; cur < end; ++cur) { - if (strcmp(symbol_name, cur->name) == 0) { - if (g_hook_installed) { - if (indirect_symbol_bindings[i] != cur->replacement) { - indirect_symbol_bindings[i] = cur->replacement; - ++cur->hooked_symbols; - } - } else if (cur->original != NULL) { - if (indirect_symbol_bindings[i] == cur->replacement) { - indirect_symbol_bindings[i] = cur->original; - if (cur->hooked_symbols > 0) { - --cur->hooked_symbols; - } - } - } - goto symbol_loop; - } - } - symbol_loop:; - } -} - -static void _FSEventsFixHookUpdateImage(const struct mach_header *header, intptr_t slide) { - Dl_info info; - if (dladdr(header, &info) == 0) { - return; - } - - segment_command_t *cur_seg_cmd; - segment_command_t *linkedit_segment = NULL; - struct symtab_command* symtab_cmd = NULL; - struct dysymtab_command* dysymtab_cmd = NULL; - - uintptr_t cur = (uintptr_t)header + sizeof(mach_header_t); - for (uint i = 0; i < header->ncmds; i++, cur += cur_seg_cmd->cmdsize) { - cur_seg_cmd = (segment_command_t *)cur; - if (cur_seg_cmd->cmd == LC_SEGMENT_ARCH_DEPENDENT) { - if (strcmp(cur_seg_cmd->segname, SEG_LINKEDIT) == 0) { - linkedit_segment = cur_seg_cmd; - } - } else if (cur_seg_cmd->cmd == LC_SYMTAB) { - symtab_cmd = (struct symtab_command*)cur_seg_cmd; - } else if (cur_seg_cmd->cmd == LC_DYSYMTAB) { - dysymtab_cmd = (struct dysymtab_command*)cur_seg_cmd; - } - } - - if (!symtab_cmd || !dysymtab_cmd || !linkedit_segment || - !dysymtab_cmd->nindirectsyms) { - return; - } - - // Find base symbol/string table addresses - uintptr_t linkedit_base = (uintptr_t)slide + linkedit_segment->vmaddr - linkedit_segment->fileoff; - nlist_t *symtab = (nlist_t *)(linkedit_base + symtab_cmd->symoff); - char *strtab = (char *)(linkedit_base + symtab_cmd->stroff); - - // Get indirect symbol table (array of uint32_t indices into symbol table) - uint32_t *indirect_symtab = (uint32_t *)(linkedit_base + dysymtab_cmd->indirectsymoff); - - cur = (uintptr_t)header + sizeof(mach_header_t); - for (uint i = 0; i < header->ncmds; i++, cur += cur_seg_cmd->cmdsize) { - cur_seg_cmd = (segment_command_t *)cur; - if (cur_seg_cmd->cmd == LC_SEGMENT_ARCH_DEPENDENT) { - if (strcmp(cur_seg_cmd->segname, SEG_DATA) != 0) { - continue; - } - for (uint j = 0; j < cur_seg_cmd->nsects; j++) { - section_t *sect = - (section_t *)(cur + sizeof(segment_command_t)) + j; - if ((sect->flags & SECTION_TYPE) == S_LAZY_SYMBOL_POINTERS) { - _FSEventsFixHookUpdateSection(sect, slide, symtab, strtab, indirect_symtab); - } - if ((sect->flags & SECTION_TYPE) == S_NON_LAZY_SYMBOL_POINTERS) { - _FSEventsFixHookUpdateSection(sect, slide, symtab, strtab, indirect_symtab); - } - } - } - } -} - -static void _FSEventsFixHookSaveOriginals() { - for (rebinding_t *cur = g_rebindings, *end = g_rebindings + g_rebindings_nel; cur < end; ++cur) { - void *original = cur->original = dlsym(RTLD_DEFAULT, cur->name+1); - if (!original) { - const char *error = dlerror(); - _FSEventsFixLog(FSEventsFixMessageTypeFatalError, "Cannot find symbol %s, dlsym says: %s\n", cur->name, error); - } - } -} - -static void _FSEventsFixHookUpdate() { - uint32_t c = _dyld_image_count(); - for (uint32_t i = 0; i < c; i++) { - _FSEventsFixHookUpdateImage(_dyld_get_image_header(i), _dyld_get_image_vmaddr_slide(i)); - } -} - -static void _FSEventsFixHookInstall() { - static bool first_rebinding_done = false; - - if (!g_hook_installed) { - g_hook_installed = true; - - if (!first_rebinding_done) { - first_rebinding_done = true; - _FSEventsFixHookSaveOriginals(); - _dyld_register_func_for_add_image(_FSEventsFixHookUpdateImage); - } else { - _FSEventsFixHookUpdate(); - } - } -} - -static void _FSEventsFixHookUninstall() { - if (g_hook_installed) { - g_hook_installed = false; - _FSEventsFixHookUpdate(); - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/FSEventsFix.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/FSEventsFix.h deleted file mode 100644 index b70b880..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/FSEventsFix.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * FSEventsFix - * - * Works around a long-standing bug in realpath() that prevents FSEvents API from - * monitoring certain folders on a wide range of OS X releases (10.6-10.10 at least). - * - * The underlying issue is that for some folders, realpath() call starts returning - * a path with incorrect casing (e.g. "/users/smt" instead of "/Users/smt"). - * FSEvents is case-sensitive and calls realpath() on the paths you pass in, so - * an incorrect value returned by realpath() prevents FSEvents from seeing any - * change events. - * - * See the discussion at https://github.com/thibaudgg/rb-fsevent/issues/10 about - * the history of this bug and how this library came to exist. - * - * This library uses Facebook's fishhook to replace a custom implementation of - * realpath in place of the system realpath; FSEvents will then invoke our custom - * implementation (which does not screw up the names) and will thus work correctly. - * - * Our implementation of realpath is based on the open-source implementation from - * OS X 10.10, with a single change applied (enclosed in "BEGIN WORKAROUND FOR - * OS X BUG" ... "END WORKAROUND FOR OS X BUG"). - * - * Include FSEventsFix.{h,c} into your project and call FSEventsFixInstall(). - * - * It is recommended that you install FSEventsFix on demand, using FSEventsFixIsBroken - * to check if the folder you're about to pass to FSEventStreamCreate needs the fix. - * Note that the fix must be applied before calling FSEventStreamCreate. - * - * FSEventsFixIsBroken requires a path that uses the correct case for all folder names, - * i.e. a path provided by the system APIs or constructed from folder names provided - * by the directory enumeration APIs. - * - * See .c file for license & copyrights, but basically this is available under a mix - * of MIT and BSD licenses. - */ - -#ifndef __FSEventsFix__ -#define __FSEventsFix__ - -#include <CoreFoundation/CoreFoundation.h> - -/// A library version string (e.g. 1.2.3) for displaying and logging purposes -extern const char *const FSEventsFixVersionString; - -/// See FSEventsFixDebugOptionSimulateBroken -#define FSEventsFixSimulatedBrokenFolderMarker "__!FSEventsBroken!__" - -typedef CF_OPTIONS(unsigned, FSEventsFixDebugOptions) { - /// Always return an uppercase string from realpath - FSEventsFixDebugOptionUppercaseReturn = 0x01, - - /// Log all calls to realpath using the logger configured via FSEventsFixConfigure - FSEventsFixDebugOptionLogCalls = 0x02, - - /// In addition to the logging block (if any), log everything to stderr - FSEventsFixDebugOptionLogToStderr = 0x08, - - /// Report paths containing FSEventsFixSimulatedBrokenFolderMarker as broken - FSEventsFixDebugOptionSimulateBroken = 0x10, - - /// Repair paths containing FSEventsFixSimulatedBrokenFolderMarker by renaming them - FSEventsFixDebugOptionSimulateRepair = 0x20, -}; - -typedef CF_ENUM(int, FSEventsFixMessageType) { - /// Call logging requested via FSEventsFixDebugOptionLogCalls - FSEventsFixMessageTypeCall, - - /// Results of actions like repair, and other pretty verbose, but notable, stuff. - FSEventsFixMessageTypeResult, - - /// Enabled/disabled status change - FSEventsFixMessageTypeStatusChange, - - /// Expected failure (treat as a warning) - FSEventsFixMessageTypeExpectedFailure, - - /// Severe failure that most likely means that the library won't work - FSEventsFixMessageTypeFatalError -}; - -typedef CF_ENUM(int, FSEventsFixRepairStatus) { - FSEventsFixRepairStatusNotBroken, - FSEventsFixRepairStatusRepaired, - FSEventsFixRepairStatusFailed, -}; - -/// Note that the logging block can be called on any dispatch queue. -void FSEventsFixConfigure(FSEventsFixDebugOptions debugOptions, void(^loggingBlock)(FSEventsFixMessageType type, const char *message)); - -void FSEventsFixEnable(); -void FSEventsFixDisable(); - -bool FSEventsFixIsOperational(); - -bool FSEventsFixIsBroken(const char *path); - -/// If the path is broken, returns a string identifying the root broken folder, -/// otherwise, returns NULL. You need to free() the returned string. -char *FSEventsFixCopyRootBrokenFolderPath(const char *path); - -FSEventsFixRepairStatus FSEventsFixRepairIfNeeded(const char *path); - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/TSICTString.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/TSICTString.c deleted file mode 100644 index 6e033d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/TSICTString.c +++ /dev/null @@ -1,373 +0,0 @@ -// -// TSICTString.c -// TSITString -// -// Created by Travis Tilley on 9/27/11. -// - -#include "TSICTString.h" - - -const char* const TNetstringTypes = ",#^!~}]Z"; -const char* const OTNetstringTypes = ",#^!~{[Z"; -const UInt8 TNetstringSeparator = ':'; - -TSITStringFormat TSITStringDefaultFormat = kTSITStringFormatTNetstring; - -static const CFRange BeginningRange = {0,0}; - -static CFTypeID kCFDataTypeID = -1UL; -static CFTypeID kCFStringTypeID = -1UL; -static CFTypeID kCFNumberTypeID = -1UL; -static CFTypeID kCFBooleanTypeID = -1UL; -static CFTypeID kCFNullTypeID = -1UL; -static CFTypeID kCFArrayTypeID = -1UL; -static CFTypeID kCFDictionaryTypeID = -1UL; - - -__attribute__((constructor)) void Init_TSICTString(void) -{ - kCFDataTypeID = CFDataGetTypeID(); - kCFStringTypeID = CFStringGetTypeID(); - kCFNumberTypeID = CFNumberGetTypeID(); - kCFBooleanTypeID = CFBooleanGetTypeID(); - kCFNullTypeID = CFNullGetTypeID(); - kCFArrayTypeID = CFArrayGetTypeID(); - kCFDictionaryTypeID = CFDictionaryGetTypeID(); -} - - -void TSICTStringSetDefaultFormat(TSITStringFormat format) -{ - if (format == kTSITStringFormatDefault) { - TSITStringDefaultFormat = kTSITStringFormatTNetstring; - } else { - TSITStringDefaultFormat = format; - } -} - -TSITStringFormat TSICTStringGetDefaultFormat(void) -{ - return TSITStringDefaultFormat; -} - - -void TSICTStringDestroy(TStringIRep* rep) -{ - CFRelease(rep->data); - free(rep->length); - free(rep); -} - - -static inline TStringIRep* TSICTStringCreateWithDataOfTypeAndFormat(CFDataRef data, TSITStringTag type, TSITStringFormat format) -{ - if (format == kTSITStringFormatDefault) { - format = TSICTStringGetDefaultFormat(); - } - - TStringIRep* rep = calloc(1, sizeof(TStringIRep)); - rep->data = CFDataCreateCopy(kCFAllocatorDefault, data); - rep->type = type; - rep->format = format; - rep->length = calloc(10, sizeof(char)); - - CFIndex len = CFDataGetLength(rep->data); - if (snprintf(rep->length, 10, "%lu", len)) { - return rep; - } else { - TSICTStringDestroy(rep); - return NULL; - } -} - -static inline CFDataRef TSICTStringCreateDataFromIntermediateRepresentation(TStringIRep* rep) -{ - CFIndex len = CFDataGetLength(rep->data); - CFMutableDataRef buffer = CFDataCreateMutableCopy(kCFAllocatorDefault, (len + 12), rep->data); - UInt8* bufferBytes = CFDataGetMutableBytePtr(buffer); - - size_t prefixLength = strlen(rep->length) + 1; - CFDataReplaceBytes(buffer, BeginningRange, (const UInt8*)rep->length, (CFIndex)prefixLength); - - if (rep->format == kTSITStringFormatTNetstring) { - const UInt8 ftag = (UInt8)TNetstringTypes[rep->type]; - CFDataAppendBytes(buffer, &ftag, 1); - bufferBytes[(prefixLength - 1)] = TNetstringSeparator; - } else if (rep->format == kTSITStringFormatOTNetstring) { - const UInt8 ftag = (UInt8)OTNetstringTypes[rep->type]; - bufferBytes[(prefixLength - 1)] = ftag; - } - - CFDataRef dataRep = CFDataCreateCopy(kCFAllocatorDefault, buffer); - CFRelease(buffer); - - return dataRep; -} - -static inline CFStringRef TSICTStringCreateStringFromIntermediateRepresentation(TStringIRep* rep) -{ - CFDataRef data = TSICTStringCreateDataFromIntermediateRepresentation(rep); - CFStringRef string = CFStringCreateFromExternalRepresentation(kCFAllocatorDefault, data, kCFStringEncodingUTF8); - CFRelease(data); - return string; -} - -static inline void TSICTStringAppendObjectToMutableDataWithFormat(CFTypeRef object, CFMutableDataRef buffer, TSITStringFormat format) -{ - if (object == NULL) { - object = kCFNull; - } - - CFRetain(object); - - TStringIRep* objRep = TSICTStringCreateWithObjectAndFormat(object, format); - CFDataRef objData = TSICTStringCreateDataFromIntermediateRepresentation(objRep); - CFDataAppendBytes(buffer, (CFDataGetBytePtr(objData)), CFDataGetLength(objData)); - CFRelease(objData); - TSICTStringDestroy(objRep); - - CFRelease(object); -} - -static void ArrayBufferAppendCallback(const void* item, void* context) -{ - TStringCollectionCallbackContext* cx = (TStringCollectionCallbackContext*)context; - CFMutableDataRef buffer = cx->buffer; - TSITStringFormat format = cx->format; - - TSICTStringAppendObjectToMutableDataWithFormat(item, buffer, format); -} - -static void DictionaryBufferAppendCallback(const void* key, const void* value, void* context) -{ - TStringCollectionCallbackContext* cx = (TStringCollectionCallbackContext*)context; - CFMutableDataRef buffer = cx->buffer; - TSITStringFormat format = cx->format; - - TSICTStringAppendObjectToMutableDataWithFormat(key, buffer, format); - TSICTStringAppendObjectToMutableDataWithFormat(value, buffer, format); -} - - -CFDataRef TSICTStringCreateRenderedData(TStringIRep* rep) -{ - return TSICTStringCreateDataFromIntermediateRepresentation(rep); -} - -CFDataRef TSICTStringCreateRenderedDataFromObjectWithFormat(CFTypeRef object, TSITStringFormat format) -{ - if (object == NULL) { - object = kCFNull; - } - - CFRetain(object); - - TStringIRep* rep = TSICTStringCreateWithObjectAndFormat(object, format); - CFDataRef data = TSICTStringCreateDataFromIntermediateRepresentation(rep); - - TSICTStringDestroy(rep); - CFRelease(object); - - return data; -} - -CFStringRef TSICTStringCreateRenderedString(TStringIRep* rep) -{ - return TSICTStringCreateStringFromIntermediateRepresentation(rep); -} - -CFStringRef TSICTStringCreateRenderedStringFromObjectWithFormat(CFTypeRef object, TSITStringFormat format) -{ - if (object == NULL) { - object = kCFNull; - } - - CFRetain(object); - - TStringIRep* rep = TSICTStringCreateWithObjectAndFormat(object, format); - CFStringRef string = TSICTStringCreateStringFromIntermediateRepresentation(rep); - - TSICTStringDestroy(rep); - CFRelease(object); - - return string; -} - - -TStringIRep* TSICTStringCreateWithObjectAndFormat(CFTypeRef object, TSITStringFormat format) -{ - if (object == NULL) { - return TSICTStringCreateNullWithFormat(format); - } - CFRetain(object); - - CFTypeID cfType = CFGetTypeID(object); - TStringIRep* rep = NULL; - - if (cfType == kCFDataTypeID) { - rep = TSICTStringCreateWithDataOfTypeAndFormat(object, kTSITStringTagString, format); - } else if (cfType == kCFStringTypeID) { - rep = TSICTStringCreateWithStringAndFormat(object, format); - } else if (cfType == kCFNumberTypeID) { - rep = TSICTStringCreateWithNumberAndFormat(object, format); - } else if (cfType == kCFBooleanTypeID) { - if (CFBooleanGetValue(object)) { - rep = TSICTStringCreateTrueWithFormat(format); - } else { - rep = TSICTStringCreateFalseWithFormat(format); - } - } else if (cfType == kCFNullTypeID) { - rep = TSICTStringCreateNullWithFormat(format); - } else if (cfType == kCFArrayTypeID) { - rep = TSICTStringCreateWithArrayAndFormat(object, format); - } else if (cfType == kCFDictionaryTypeID) { - rep = TSICTStringCreateWithDictionaryAndFormat(object, format); - } else { - rep = TSICTStringCreateInvalidWithFormat(format); - } - - CFRelease(object); - return rep; -} - -TStringIRep* TSICTStringCreateWithStringAndFormat(CFStringRef string, TSITStringFormat format) -{ - CFRetain(string); - CFDataRef data = CFStringCreateExternalRepresentation(kCFAllocatorDefault, string, kCFStringEncodingUTF8, '?'); - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, kTSITStringTagString, format); - CFRelease(data); - CFRelease(string); - return rep; -} - -TStringIRep* TSICTStringCreateWithNumberAndFormat(CFNumberRef number, TSITStringFormat format) -{ - CFRetain(number); - TSITStringTag tag = kTSITStringTagNumber; - CFDataRef data; - CFNumberType numType = CFNumberGetType(number); - - switch(numType) { - case kCFNumberCharType: - { - int value; - if (CFNumberGetValue(number, kCFNumberIntType, &value)) { - if (value == 0 || value == 1) { - tag = kTSITStringTagBool; - } else { - tag = kTSITStringTagString; - } - } - break; - } - case kCFNumberFloat32Type: - case kCFNumberFloat64Type: - case kCFNumberFloatType: - case kCFNumberDoubleType: - { - tag = kTSITStringTagFloat; - break; - } - } - - if (tag == kTSITStringTagBool) { - bool value; - CFNumberGetValue(number, kCFNumberIntType, &value); - if (value) { - data = CFDataCreate(kCFAllocatorDefault, (UInt8*)"true", 4); - } else { - data = CFDataCreate(kCFAllocatorDefault, (UInt8*)"false", 5); - } - } else if (tag == kTSITStringTagFloat) { - char buf[32]; - char *p, *e; - double value; - - CFNumberGetValue(number, numType, &value); - sprintf(buf, "%#.15g", value); - - e = buf + strlen(buf); - p = e; - while (p[-1]=='0' && ('0' <= p[-2] && p[-2] <= '9')) { - p--; - } - memmove(p, e, strlen(e)+1); - - data = CFDataCreate(kCFAllocatorDefault, (UInt8*)buf, (CFIndex)strlen(buf)); - } else { - char buf[32]; - SInt64 value; - CFNumberGetValue(number, numType, &value); - sprintf(buf, "%lli", value); - data = CFDataCreate(kCFAllocatorDefault, (UInt8*)buf, (CFIndex)strlen(buf)); - } - - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, tag, format); - CFRelease(data); - CFRelease(number); - return rep; -} - -TStringIRep* TSICTStringCreateTrueWithFormat(TSITStringFormat format) -{ - CFDataRef data = CFDataCreate(kCFAllocatorDefault, (UInt8*)"true", 4); - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, kTSITStringTagBool, format); - CFRelease(data); - return rep; -} - -TStringIRep* TSICTStringCreateFalseWithFormat(TSITStringFormat format) -{ - CFDataRef data = CFDataCreate(kCFAllocatorDefault, (UInt8*)"false", 5); - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, kTSITStringTagBool, format); - CFRelease(data); - return rep; -} - -TStringIRep* TSICTStringCreateNullWithFormat(TSITStringFormat format) -{ - CFDataRef data = CFDataCreate(kCFAllocatorDefault, NULL, 0); - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, kTSITStringTagNull, format); - CFRelease(data); - return rep; -} - -TStringIRep* TSICTStringCreateInvalidWithFormat(TSITStringFormat format) -{ - CFDataRef data = CFDataCreate(kCFAllocatorDefault, NULL, 0); - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, kTSITStringTagInvalid, format); - CFRelease(data); - return rep; -} - -TStringIRep* TSICTStringCreateWithArrayAndFormat(CFArrayRef array, TSITStringFormat format) -{ - CFRetain(array); - - CFMutableDataRef buffer = CFDataCreateMutable(kCFAllocatorDefault, 0); - - CFRange all = CFRangeMake(0, CFArrayGetCount(array)); - TStringCollectionCallbackContext cx = {buffer, format}; - CFArrayApplyFunction(array, all, ArrayBufferAppendCallback, &cx); - - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(buffer, kTSITStringTagList, format); - CFRelease(buffer); - CFRelease(array); - return rep; -} - -TStringIRep* TSICTStringCreateWithDictionaryAndFormat(CFDictionaryRef dictionary, TSITStringFormat format) -{ - CFRetain(dictionary); - - CFMutableDataRef buffer = CFDataCreateMutable(kCFAllocatorDefault, 0); - - TStringCollectionCallbackContext cx = {buffer, format}; - CFDictionaryApplyFunction(dictionary, DictionaryBufferAppendCallback, &cx); - - TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(buffer, kTSITStringTagDict, format); - CFRelease(buffer); - CFRelease(dictionary); - return rep; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/TSICTString.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/TSICTString.h deleted file mode 100644 index daf085c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/TSICTString.h +++ /dev/null @@ -1,74 +0,0 @@ -// -// TSICTString.h -// TSITString -// -// Created by Travis Tilley on 9/27/11. -// - -#ifndef TSICTString_H -#define TSICTString_H - -#include <CoreFoundation/CoreFoundation.h> - - -typedef enum { - kTSITStringTagString = 0, - kTSITStringTagNumber = 1, - kTSITStringTagFloat = 2, - kTSITStringTagBool = 3, - kTSITStringTagNull = 4, - kTSITStringTagDict = 5, - kTSITStringTagList = 6, - kTSITStringTagInvalid = 7, -} TSITStringTag; - -extern const char* const TNetstringTypes; -extern const char* const OTNetstringTypes; -extern const UInt8 TNetstringSeparator; - -typedef enum { - kTSITStringFormatDefault = 0, - kTSITStringFormatOTNetstring = 1, - kTSITStringFormatTNetstring = 2, -} TSITStringFormat; - -extern TSITStringFormat TSITStringDefaultFormat; - -typedef struct TSITStringIntermediate { - CFDataRef data; - char* length; - TSITStringTag type; - TSITStringFormat format; -} TStringIRep; - -typedef struct { - CFMutableDataRef buffer; - TSITStringFormat format; -} TStringCollectionCallbackContext; - - -void Init_TSICTString(void); - -void TSICTStringSetDefaultFormat(TSITStringFormat format); -TSITStringFormat TSICTStringGetDefaultFormat(void); - -void TSICTStringDestroy(TStringIRep* rep); - -CFDataRef TSICTStringCreateRenderedData(TStringIRep* rep); -CFDataRef TSICTStringCreateRenderedDataFromObjectWithFormat(CFTypeRef object, TSITStringFormat format); - -CFStringRef TSICTStringCreateRenderedString(TStringIRep* rep); -CFStringRef TSICTStringCreateRenderedStringFromObjectWithFormat(CFTypeRef object, TSITStringFormat format); - -TStringIRep* TSICTStringCreateWithObjectAndFormat(CFTypeRef object, TSITStringFormat format); -TStringIRep* TSICTStringCreateWithStringAndFormat(CFStringRef string, TSITStringFormat format); -TStringIRep* TSICTStringCreateWithNumberAndFormat(CFNumberRef number, TSITStringFormat format); -TStringIRep* TSICTStringCreateTrueWithFormat(TSITStringFormat format); -TStringIRep* TSICTStringCreateFalseWithFormat(TSITStringFormat format); -TStringIRep* TSICTStringCreateNullWithFormat(TSITStringFormat format); -TStringIRep* TSICTStringCreateInvalidWithFormat(TSITStringFormat format); -TStringIRep* TSICTStringCreateWithArrayAndFormat(CFArrayRef array, TSITStringFormat format); -TStringIRep* TSICTStringCreateWithDictionaryAndFormat(CFDictionaryRef dictionary, TSITStringFormat format); - - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/cli.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/cli.c deleted file mode 100644 index 6d36dd1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/cli.c +++ /dev/null @@ -1,201 +0,0 @@ -#include <getopt.h> -#include "cli.h" - -const char* cli_info_purpose = "A flexible command-line interface for the FSEvents API"; -const char* cli_info_usage = "Usage: fsevent_watch [OPTIONS]... [PATHS]..."; -const char* cli_info_help[] = { - " -h, --help you're looking at it", - " -V, --version print version number and exit", - " -p, --show-plist display the embedded Info.plist values", - " -s, --since-when=EventID fire historical events since ID", - " -l, --latency=seconds latency period (default='0.5')", - " -n, --no-defer enable no-defer latency modifier", - " -r, --watch-root watch for when the root path has changed", - // " -i, --ignore-self ignore current process", - " -F, --file-events provide file level event data", - " -f, --format=name output format (classic, niw, \n" - " tnetstring, otnetstring)", - 0 -}; - -static void default_args (struct cli_info* args_info) -{ - args_info->since_when_arg = kFSEventStreamEventIdSinceNow; - args_info->latency_arg = 0.5; - args_info->no_defer_flag = false; - args_info->watch_root_flag = false; - args_info->ignore_self_flag = false; - args_info->file_events_flag = false; - args_info->mark_self_flag = false; - args_info->format_arg = kFSEventWatchOutputFormatOTNetstring; -} - -static void cli_parser_release (struct cli_info* args_info) -{ - unsigned int i; - - for (i=0; i < args_info->inputs_num; ++i) { - free(args_info->inputs[i]); - } - - if (args_info->inputs_num) { - free(args_info->inputs); - } - - args_info->inputs_num = 0; -} - -void cli_parser_init (struct cli_info* args_info) -{ - default_args(args_info); - - args_info->inputs = 0; - args_info->inputs_num = 0; -} - -void cli_parser_free (struct cli_info* args_info) -{ - cli_parser_release(args_info); -} - -static void cli_print_info_dict (const void *key, - const void *value, - void *context) -{ - CFStringRef entry = CFStringCreateWithFormat(NULL, NULL, - CFSTR("%@:\n %@"), key, value); - if (entry) { - CFShow(entry); - CFRelease(entry); - } -} - -void cli_show_plist (void) -{ - CFBundleRef mainBundle = CFBundleGetMainBundle(); - CFRetain(mainBundle); - CFDictionaryRef mainBundleDict = CFBundleGetInfoDictionary(mainBundle); - if (mainBundleDict) { - CFRetain(mainBundleDict); - printf("Embedded Info.plist metadata:\n\n"); - CFDictionaryApplyFunction(mainBundleDict, cli_print_info_dict, NULL); - CFRelease(mainBundleDict); - } - CFRelease(mainBundle); - printf("\n"); -} - -void cli_print_version (void) -{ - printf("%s %s\n\n", CLI_NAME, CLI_VERSION); -#ifdef COMPILED_AT - printf("Compiled at: %s\n", COMPILED_AT); -#endif -#ifdef COMPILER - printf("Compiled with: %s\n", COMPILER); -#endif -#ifdef TARGET_CPU - printf("Compiled for: %s\n", TARGET_CPU); -#endif - printf("\n"); -} - -void cli_print_help (void) -{ - cli_print_version(); - - printf("\n%s\n", cli_info_purpose); - printf("\n%s\n", cli_info_usage); - printf("\n"); - - int i = 0; - while (cli_info_help[i]) { - printf("%s\n", cli_info_help[i++]); - } -} - -int cli_parser (int argc, const char** argv, struct cli_info* args_info) -{ - static struct option longopts[] = { - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, - { "show-plist", no_argument, NULL, 'p' }, - { "since-when", required_argument, NULL, 's' }, - { "latency", required_argument, NULL, 'l' }, - { "no-defer", no_argument, NULL, 'n' }, - { "watch-root", no_argument, NULL, 'r' }, - { "ignore-self", no_argument, NULL, 'i' }, - { "file-events", no_argument, NULL, 'F' }, - { "mark-self", no_argument, NULL, 'm' }, - { "format", required_argument, NULL, 'f' }, - { 0, 0, 0, 0 } - }; - - const char* shortopts = "hVps:l:nriFf:"; - - int c = -1; - - while ((c = getopt_long(argc, (char * const*)argv, shortopts, longopts, NULL)) != -1) { - switch(c) { - case 's': // since-when - args_info->since_when_arg = strtoull(optarg, NULL, 0); - break; - case 'l': // latency - args_info->latency_arg = strtod(optarg, NULL); - break; - case 'n': // no-defer - args_info->no_defer_flag = true; - break; - case 'r': // watch-root - args_info->watch_root_flag = true; - break; - case 'i': // ignore-self - args_info->ignore_self_flag = true; - break; - case 'F': // file-events - args_info->file_events_flag = true; - break; - case 'm': // mark-self - args_info->mark_self_flag = true; - break; - case 'f': // format - if (strcmp(optarg, "classic") == 0) { - args_info->format_arg = kFSEventWatchOutputFormatClassic; - } else if (strcmp(optarg, "niw") == 0) { - args_info->format_arg = kFSEventWatchOutputFormatNIW; - } else if (strcmp(optarg, "tnetstring") == 0) { - args_info->format_arg = kFSEventWatchOutputFormatTNetstring; - } else if (strcmp(optarg, "otnetstring") == 0) { - args_info->format_arg = kFSEventWatchOutputFormatOTNetstring; - } else { - fprintf(stderr, "Unknown output format: %s\n", optarg); - exit(EXIT_FAILURE); - } - break; - case 'V': // version - cli_print_version(); - exit(EXIT_SUCCESS); - case 'p': // show-plist - cli_show_plist(); - exit(EXIT_SUCCESS); - case 'h': // help - case '?': // invalid option - case ':': // missing argument - cli_print_help(); - exit((c == 'h') ? EXIT_SUCCESS : EXIT_FAILURE); - } - } - - if (optind < argc) { - int i = 0; - args_info->inputs_num = (unsigned int)(argc - optind); - args_info->inputs = - (char**)(malloc ((args_info->inputs_num)*sizeof(char*))); - while (optind < argc) - if (argv[optind++] != argv[0]) { - args_info->inputs[i++] = strdup(argv[optind-1]); - } - } - - return EXIT_SUCCESS; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/cli.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/cli.h deleted file mode 100644 index 2164995..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/cli.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef CLI_H -#define CLI_H - -#include "common.h" - -#ifndef CLI_NAME -#define CLI_NAME "fsevent_watch" -#endif /* CLI_NAME */ - -#ifndef PROJECT_VERSION -#error "PROJECT_VERSION not set" -#endif /* PROJECT_VERSION */ - -#ifndef CLI_VERSION -#define CLI_VERSION _xstr(PROJECT_VERSION) -#endif /* CLI_VERSION */ - - -struct cli_info { - UInt64 since_when_arg; - double latency_arg; - bool no_defer_flag; - bool watch_root_flag; - bool ignore_self_flag; - bool file_events_flag; - bool mark_self_flag; - enum FSEventWatchOutputFormat format_arg; - - char** inputs; - unsigned inputs_num; -}; - -extern const char* cli_info_purpose; -extern const char* cli_info_usage; -extern const char* cli_info_help[]; - -void cli_print_help(void); -void cli_print_version(void); - -int cli_parser (int argc, const char** argv, struct cli_info* args_info); -void cli_parser_init (struct cli_info* args_info); -void cli_parser_free (struct cli_info* args_info); - - -#endif /* CLI_H */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/common.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/common.h deleted file mode 100644 index b2d3e4e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/common.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef fsevent_watch_common_h -#define fsevent_watch_common_h - -#include <CoreFoundation/CoreFoundation.h> -#ifdef __OBJC__ -#import <Foundation/Foundation.h> -#endif - -#include <CoreServices/CoreServices.h> -#include <unistd.h> -#include "compat.h" -#include "defines.h" -#include "TSICTString.h" - -enum FSEventWatchOutputFormat { - kFSEventWatchOutputFormatClassic, - kFSEventWatchOutputFormatNIW, - kFSEventWatchOutputFormatTNetstring, - kFSEventWatchOutputFormatOTNetstring -}; - -#endif /* fsevent_watch_common_h */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/compat.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/compat.c deleted file mode 100644 index 5f51baf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/compat.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "compat.h" - - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_6) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0) -FSEventStreamCreateFlags kFSEventStreamCreateFlagIgnoreSelf = 0x00000008; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_7) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0) -FSEventStreamCreateFlags kFSEventStreamCreateFlagFileEvents = 0x00000010; -FSEventStreamEventFlags kFSEventStreamEventFlagItemCreated = 0x00000100; -FSEventStreamEventFlags kFSEventStreamEventFlagItemRemoved = 0x00000200; -FSEventStreamEventFlags kFSEventStreamEventFlagItemInodeMetaMod = 0x00000400; -FSEventStreamEventFlags kFSEventStreamEventFlagItemRenamed = 0x00000800; -FSEventStreamEventFlags kFSEventStreamEventFlagItemModified = 0x00001000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemFinderInfoMod = 0x00002000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemChangeOwner = 0x00004000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemXattrMod = 0x00008000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemIsFile = 0x00010000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemIsDir = 0x00020000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemIsSymlink = 0x00040000; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_9) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_7_0) -FSEventStreamCreateFlags kFSEventStreamCreateFlagMarkSelf = 0x00000020; -FSEventStreamEventFlags kFSEventStreamEventFlagOwnEvent = 0x00080000; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_10) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_9_0) -FSEventStreamEventFlags kFSEventStreamEventFlagItemIsHardlink = 0x00100000; -FSEventStreamEventFlags kFSEventStreamEventFlagItemIsLastHardlink = 0x00200000; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_13) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_11_0) -FSEventStreamCreateFlags kFSEventStreamCreateFlagUseExtendedData = 0x00000040; -FSEventStreamEventFlags kFSEventStreamEventFlagItemCloned = 0x00400000; -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/compat.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/compat.h deleted file mode 100644 index 757b413..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/compat.h +++ /dev/null @@ -1,100 +0,0 @@ -/** - * @headerfile compat.h - * FSEventStream flag compatibility shim - * - * In order to compile a binary against an older SDK yet still support the - * features present in later OS releases, we need to define any missing enum - * constants not present in the older SDK. This allows us to safely defer - * feature detection to runtime (and avoid recompilation). - */ - - -#ifndef listen_fsevents_compat_h -#define listen_fsevents_compat_h - -#ifndef __CORESERVICES__ -#include <CoreServices/CoreServices.h> -#endif // __CORESERVICES__ - -#ifndef __AVAILABILITY__ -#include <Availability.h> -#endif // __AVAILABILITY__ - -#ifndef __MAC_10_6 -#define __MAC_10_6 1060 -#endif -#ifndef __MAC_10_7 -#define __MAC_10_7 1070 -#endif -#ifndef __MAC_10_9 -#define __MAC_10_9 1090 -#endif -#ifndef __MAC_10_10 -#define __MAC_10_10 101000 -#endif -#ifndef __MAC_10_13 -#define __MAC_10_13 101300 -#endif -#ifndef __IPHONE_6_0 -#define __IPHONE_6_0 60000 -#endif -#ifndef __IPHONE_7_0 -#define __IPHONE_7_0 70000 -#endif -#ifndef __IPHONE_9_0 -#define __IPHONE_9_0 90000 -#endif -#ifndef __IPHONE_11_0 -#define __IPHONE_11_0 110000 -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_6) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0) -extern FSEventStreamCreateFlags kFSEventStreamCreateFlagIgnoreSelf; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_7) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0) -extern FSEventStreamCreateFlags kFSEventStreamCreateFlagFileEvents; -extern FSEventStreamEventFlags kFSEventStreamEventFlagItemCreated, - kFSEventStreamEventFlagItemRemoved, - kFSEventStreamEventFlagItemInodeMetaMod, - kFSEventStreamEventFlagItemRenamed, - kFSEventStreamEventFlagItemModified, - kFSEventStreamEventFlagItemFinderInfoMod, - kFSEventStreamEventFlagItemChangeOwner, - kFSEventStreamEventFlagItemXattrMod, - kFSEventStreamEventFlagItemIsFile, - kFSEventStreamEventFlagItemIsDir, - kFSEventStreamEventFlagItemIsSymlink; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_9) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_7_0) -extern FSEventStreamCreateFlags kFSEventStreamCreateFlagMarkSelf; -extern FSEventStreamEventFlags kFSEventStreamEventFlagOwnEvent; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_10) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_9_0) -extern FSEventStreamEventFlags kFSEventStreamEventFlagItemIsHardlink, - kFSEventStreamEventFlagItemIsLastHardlink; -#endif - -#if (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_13) || \ - (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_11_0) -extern FSEventStreamCreateFlags kFSEventStreamCreateFlagUseExtendedData; -extern FSEventStreamEventFlags kFSEventStreamEventFlagItemCloned; -#endif - - -#ifdef __cplusplus -} -#endif - -#endif // listen_fsevents_compat_h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/defines.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/defines.h deleted file mode 100644 index 34879c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/defines.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef fsevent_watch_defines_h -#define fsevent_watch_defines_h - -#define _str(s) #s -#define _xstr(s) _str(s) - -#define COMPILED_AT __DATE__ " " __TIME__ - -#if defined (__clang__) -#define COMPILER "clang " __clang_version__ -#elif defined (__GNUC__) -#define COMPILER "gcc " __VERSION__ -#else -#define COMPILER "unknown" -#endif - -#if defined(__ppc__) -#define TARGET_CPU "ppc" -#elif defined(__ppc64__) -#define TARGET_CPU "ppc64" -#elif defined(__i386__) -#define TARGET_CPU "i386" -#elif defined(__x86_64__) -#define TARGET_CPU "x86_64" -#elif defined(__arm64__) -#define TARGET_CPU "arm64" -#else -#define TARGET_CPU "unknown" -#endif - -#define FLAG_CHECK(flags, flag) ((flags) & (flag)) - -#define FPRINTF_FLAG_CHECK(flags, flag, msg, fd) \ - do { \ - if (FLAG_CHECK(flags, flag)) { \ - fprintf(fd, "%s", msg "\n"); } } \ - while (0) - -#define FLAG_CHECK_STDERR(flags, flag, msg) \ - FPRINTF_FLAG_CHECK(flags, flag, msg, stderr) - -#endif /* fsevent_watch_defines_h */ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/main.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/main.c deleted file mode 100644 index b18596a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/main.c +++ /dev/null @@ -1,548 +0,0 @@ -#include "common.h" -#include "signal_handlers.h" -#include "cli.h" -#include "FSEventsFix.h" - -// TODO: set on fire. cli.{h,c} handle both parsing and defaults, so there's -// no need to set those here. also, in order to scope metadata by path, -// each stream will need its own configuration... so this won't work as -// a global any more. In the end the goal is to make the output format -// able to declare not just that something happened and what flags were -// attached, but what path it was watching that caused those events (so -// that the path itself can be used for routing that information to the -// relevant callback). -// -// Structure for storing metadata parsed from the commandline -static struct { - FSEventStreamEventId sinceWhen; - CFTimeInterval latency; - FSEventStreamCreateFlags flags; - CFMutableArrayRef paths; - enum FSEventWatchOutputFormat format; -} config = { - (UInt64) kFSEventStreamEventIdSinceNow, - (double) 0.3, - (CFOptionFlags) kFSEventStreamCreateFlagNone, - NULL, - kFSEventWatchOutputFormatOTNetstring -}; - -// Prototypes -static void append_path(const char* path); -static inline void parse_cli_settings(int argc, const char* argv[]); -static void callback(FSEventStreamRef streamRef, - void* clientCallBackInfo, - size_t numEvents, - void* eventPaths, - const FSEventStreamEventFlags eventFlags[], - const FSEventStreamEventId eventIds[]); -static bool needs_fsevents_fix = false; - -// Resolve a path and append it to the CLI settings structure -// The FSEvents API will, internally, resolve paths using a similar scheme. -// Performing this ahead of time makes things less confusing, IMHO. -static void append_path(const char* path) -{ -#ifdef DEBUG - fprintf(stderr, "\n"); - fprintf(stderr, "append_path called for: %s\n", path); -#endif - -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 - -#ifdef DEBUG - fprintf(stderr, "compiled against 10.6+, using CFURLCreateFileReferenceURL\n"); -#endif - - CFURLRef url = CFURLCreateFromFileSystemRepresentation(NULL, (const UInt8*)path, (CFIndex)strlen(path), false); - CFURLRef placeholder = CFURLCopyAbsoluteURL(url); - CFRelease(url); - - CFMutableArrayRef imaginary = NULL; - - // if we don't have an existing url, spin until we get to a parent that - // does exist, saving any imaginary components for appending back later - while(!CFURLResourceIsReachable(placeholder, NULL)) { -#ifdef DEBUG - fprintf(stderr, "path does not exist\n"); -#endif - - CFStringRef child; - - if (imaginary == NULL) { - imaginary = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks); - } - - child = CFURLCopyLastPathComponent(placeholder); - CFArrayInsertValueAtIndex(imaginary, 0, child); - CFRelease(child); - - url = CFURLCreateCopyDeletingLastPathComponent(NULL, placeholder); - CFRelease(placeholder); - placeholder = url; - -#ifdef DEBUG - fprintf(stderr, "parent: "); - CFShow(placeholder); -#endif - } - -#ifdef DEBUG - fprintf(stderr, "path exists\n"); -#endif - - // realpath() doesn't always return the correct case for a path, so this - // is a funky workaround that converts a path into a (volId/inodeId) pair - // and asks what the path should be for that. since it looks at the actual - // inode instead of returning the same case passed in like realpath() - // appears to do for HFS+, it should always be correct. - url = CFURLCreateFileReferenceURL(NULL, placeholder, NULL); - CFRelease(placeholder); - placeholder = CFURLCreateFilePathURL(NULL, url, NULL); - CFRelease(url); - -#ifdef DEBUG - fprintf(stderr, "path resolved to: "); - CFShow(placeholder); -#endif - - // if we stripped off any imaginary path components, append them back on - if (imaginary != NULL) { - CFIndex count = CFArrayGetCount(imaginary); - for (CFIndex i = 0; i<count; i++) { - CFStringRef component = CFArrayGetValueAtIndex(imaginary, i); -#ifdef DEBUG - fprintf(stderr, "appending component: "); - CFShow(component); -#endif - url = CFURLCreateCopyAppendingPathComponent(NULL, placeholder, component, false); - CFRelease(placeholder); - placeholder = url; - } - CFRelease(imaginary); - } - -#ifdef DEBUG - fprintf(stderr, "result: "); - CFShow(placeholder); -#endif - - CFStringRef cfPath = CFURLCopyFileSystemPath(placeholder, kCFURLPOSIXPathStyle); - CFRelease(placeholder); - - char cPath[PATH_MAX]; - if (CFStringGetCString(cfPath, cPath, PATH_MAX, kCFStringEncodingUTF8)) { - FSEventsFixRepairStatus status = FSEventsFixRepairIfNeeded(cPath); - if (status == FSEventsFixRepairStatusFailed) { - needs_fsevents_fix = true; - } - } - - CFArrayAppendValue(config.paths, cfPath); - CFRelease(cfPath); - -#else - -#ifdef DEBUG - fprintf(stderr, "compiled against 10.5, using realpath()\n"); -#endif - - char fullPath[PATH_MAX + 1]; - - if (realpath(path, fullPath) == NULL) { -#ifdef DEBUG - fprintf(stderr, " realpath not directly resolvable from path\n"); -#endif - - if (path[0] != '/') { -#ifdef DEBUG - fprintf(stderr, " passed path is not absolute\n"); -#endif - size_t len; - getcwd(fullPath, sizeof(fullPath)); -#ifdef DEBUG - fprintf(stderr, " result of getcwd: %s\n", fullPath); -#endif - len = strlen(fullPath); - fullPath[len] = '/'; - strlcpy(&fullPath[len + 1], path, sizeof(fullPath) - (len + 1)); - } else { -#ifdef DEBUG - fprintf(stderr, " assuming path does not YET exist\n"); -#endif - strlcpy(fullPath, path, sizeof(fullPath)); - } - } - -#ifdef DEBUG - fprintf(stderr, " resolved path to: %s\n", fullPath); - fprintf(stderr, "\n"); -#endif - - CFStringRef pathRef = CFStringCreateWithCString(kCFAllocatorDefault, - fullPath, - kCFStringEncodingUTF8); - CFArrayAppendValue(config.paths, pathRef); - CFRelease(pathRef); - -#endif -} - -// Parse commandline settings -static inline void parse_cli_settings(int argc, const char* argv[]) -{ - // runtime os version detection - SInt32 osMajorVersion, osMinorVersion; - if (!(Gestalt(gestaltSystemVersionMajor, &osMajorVersion) == noErr)) { - osMajorVersion = 0; - } - if (!(Gestalt(gestaltSystemVersionMinor, &osMinorVersion) == noErr)) { - osMinorVersion = 0; - } - - if ((osMajorVersion == 10) & (osMinorVersion < 5)) { - fprintf(stderr, "The FSEvents API is unavailable on this version of macos!\n"); - exit(EXIT_FAILURE); - } - - struct cli_info args_info; - cli_parser_init(&args_info); - - if (cli_parser(argc, argv, &args_info) != 0) { - exit(EXIT_FAILURE); - } - - config.paths = CFArrayCreateMutable(NULL, - (CFIndex)0, - &kCFTypeArrayCallBacks); - - config.sinceWhen = args_info.since_when_arg; - config.latency = args_info.latency_arg; - config.format = args_info.format_arg; - - if (args_info.no_defer_flag) { - config.flags |= kFSEventStreamCreateFlagNoDefer; - } - if (args_info.watch_root_flag) { - config.flags |= kFSEventStreamCreateFlagWatchRoot; - } - - if (args_info.ignore_self_flag) { - if ((osMajorVersion == 10) & (osMinorVersion >= 6)) { - config.flags |= kFSEventStreamCreateFlagIgnoreSelf; - } else { - fprintf(stderr, "MacOSX 10.6 or later is required for --ignore-self\n"); - exit(EXIT_FAILURE); - } - } - - if (args_info.file_events_flag) { - if ((osMajorVersion == 10) & (osMinorVersion >= 7)) { - config.flags |= kFSEventStreamCreateFlagFileEvents; - } else { - fprintf(stderr, "MacOSX 10.7 or later required for --file-events\n"); - exit(EXIT_FAILURE); - } - } - - if (args_info.mark_self_flag) { - if ((osMajorVersion == 10) & (osMinorVersion >= 9)) { - config.flags |= kFSEventStreamCreateFlagMarkSelf; - } else { - fprintf(stderr, "MacOSX 10.9 or later required for --mark-self\n"); - exit(EXIT_FAILURE); - } - } - - if (args_info.inputs_num == 0) { - append_path("."); - } else { - for (unsigned int i=0; i < args_info.inputs_num; ++i) { - append_path(args_info.inputs[i]); - } - } - - cli_parser_free(&args_info); - -#ifdef DEBUG - fprintf(stderr, "config.sinceWhen %llu\n", config.sinceWhen); - fprintf(stderr, "config.latency %f\n", config.latency); - -// STFU clang -#if defined(__LP64__) - fprintf(stderr, "config.flags %#.8x\n", config.flags); -#else - fprintf(stderr, "config.flags %#.8lx\n", config.flags); -#endif - - FLAG_CHECK_STDERR(config.flags, kFSEventStreamCreateFlagUseCFTypes, - " Using CF instead of C types"); - FLAG_CHECK_STDERR(config.flags, kFSEventStreamCreateFlagNoDefer, - " NoDefer latency modifier enabled"); - FLAG_CHECK_STDERR(config.flags, kFSEventStreamCreateFlagWatchRoot, - " WatchRoot notifications enabled"); - FLAG_CHECK_STDERR(config.flags, kFSEventStreamCreateFlagIgnoreSelf, - " IgnoreSelf enabled"); - FLAG_CHECK_STDERR(config.flags, kFSEventStreamCreateFlagFileEvents, - " FileEvents enabled"); - - fprintf(stderr, "config.paths\n"); - - long numpaths = CFArrayGetCount(config.paths); - - for (long i = 0; i < numpaths; i++) { - char path[PATH_MAX]; - CFStringGetCString(CFArrayGetValueAtIndex(config.paths, i), - path, - PATH_MAX, - kCFStringEncodingUTF8); - fprintf(stderr, " %s\n", path); - } - - fprintf(stderr, "\n"); -#endif -} - -// original output format for rb-fsevent -static void classic_output_format(size_t numEvents, - char** paths) -{ - for (size_t i = 0; i < numEvents; i++) { - fprintf(stdout, "%s:", paths[i]); - } - fprintf(stdout, "\n"); -} - -// output format used in the Yoshimasa Niwa branch of rb-fsevent -static void niw_output_format(size_t numEvents, - char** paths, - const FSEventStreamEventFlags eventFlags[], - const FSEventStreamEventId eventIds[]) -{ - for (size_t i = 0; i < numEvents; i++) { - fprintf(stdout, "%lu:%llu:%s\n", - (unsigned long)eventFlags[i], - (unsigned long long)eventIds[i], - paths[i]); - } - fprintf(stdout, "\n"); -} - -static void tstring_output_format(size_t numEvents, - char** paths, - const FSEventStreamEventFlags eventFlags[], - const FSEventStreamEventId eventIds[], - TSITStringFormat format) -{ - CFMutableArrayRef events = CFArrayCreateMutable(kCFAllocatorDefault, - 0, &kCFTypeArrayCallBacks); - - for (size_t i = 0; i < numEvents; i++) { - CFMutableDictionaryRef event = CFDictionaryCreateMutable(kCFAllocatorDefault, - 0, - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - - CFStringRef path = CFStringCreateWithBytes(kCFAllocatorDefault, - (const UInt8*)paths[i], - (CFIndex)strlen(paths[i]), - kCFStringEncodingUTF8, - false); - CFDictionarySetValue(event, CFSTR("path"), path); - - CFNumberRef ident = CFNumberCreate(kCFAllocatorDefault, kCFNumberLongLongType, &eventIds[i]); - CFDictionarySetValue(event, CFSTR("id"), ident); - - CFNumberRef cflags = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &eventFlags[i]); - CFDictionarySetValue(event, CFSTR("cflags"), cflags); - - CFMutableArrayRef flags = CFArrayCreateMutable(kCFAllocatorDefault, - 0, &kCFTypeArrayCallBacks); - -#define FLAG_ADD_NAME(flagsnum, flagnum, flagname, flagarray) \ - do { \ - if (FLAG_CHECK(flagsnum, flagnum)) { \ - CFArrayAppendValue(flagarray, CFSTR(flagname)); } } \ - while(0) - - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagMustScanSubDirs, "MustScanSubDirs", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagUserDropped, "UserDropped", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagKernelDropped, "KernelDropped", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagEventIdsWrapped, "EventIdsWrapped", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagHistoryDone, "HistoryDone", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagRootChanged, "RootChanged", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagMount, "Mount", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagUnmount, "Unmount", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemCreated, "ItemCreated", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemRemoved, "ItemRemoved", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemInodeMetaMod, "ItemInodeMetaMod", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemRenamed, "ItemRenamed", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemModified, "ItemModified", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemFinderInfoMod, "ItemFinderInfoMod", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemChangeOwner, "ItemChangeOwner", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemXattrMod, "ItemXattrMod", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemIsFile, "ItemIsFile", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemIsDir, "ItemIsDir", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemIsSymlink, "ItemIsSymlink", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagOwnEvent, "OwnEvent", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemIsHardlink, "ItemIsHardLink", flags); - FLAG_ADD_NAME(eventFlags[i], kFSEventStreamEventFlagItemIsLastHardlink, "ItemIsLastHardLink", flags); - - CFDictionarySetValue(event, CFSTR("flags"), flags); - - - CFArrayAppendValue(events, event); - - CFRelease(event); - CFRelease(path); - CFRelease(ident); - CFRelease(cflags); - CFRelease(flags); - } - - CFMutableDictionaryRef meta = CFDictionaryCreateMutable(kCFAllocatorDefault, - 0, - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - CFDictionarySetValue(meta, CFSTR("events"), events); - - CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberCFIndexType, &numEvents); - CFDictionarySetValue(meta, CFSTR("numEvents"), num); - - CFDataRef data = TSICTStringCreateRenderedDataFromObjectWithFormat(meta, format); - fprintf(stdout, "%s", CFDataGetBytePtr(data)); - - CFRelease(events); - CFRelease(num); - CFRelease(meta); - CFRelease(data); -} - -static void callback(__attribute__((unused)) FSEventStreamRef streamRef, - __attribute__((unused)) void* clientCallBackInfo, - size_t numEvents, - void* eventPaths, - const FSEventStreamEventFlags eventFlags[], - const FSEventStreamEventId eventIds[]) -{ - char** paths = eventPaths; - - -#ifdef DEBUG - fprintf(stderr, "\n"); - fprintf(stderr, "FSEventStreamCallback fired!\n"); - fprintf(stderr, " numEvents: %lu\n", numEvents); - - for (size_t i = 0; i < numEvents; i++) { - fprintf(stderr, "\n"); - fprintf(stderr, " event ID: %llu\n", eventIds[i]); - -// STFU clang -#if defined(__LP64__) - fprintf(stderr, " event flags: %#.8x\n", eventFlags[i]); -#else - fprintf(stderr, " event flags: %#.8lx\n", eventFlags[i]); -#endif - - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagMustScanSubDirs, - " Recursive scanning of directory required"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagUserDropped, - " Buffering problem: events dropped user-side"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagKernelDropped, - " Buffering problem: events dropped kernel-side"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagEventIdsWrapped, - " Event IDs have wrapped"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagHistoryDone, - " All historical events have been processed"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagRootChanged, - " Root path has changed"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagMount, - " A new volume was mounted at this path"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagUnmount, - " A volume was unmounted from this path"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemCreated, - " Item created"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemRemoved, - " Item removed"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemInodeMetaMod, - " Item metadata modified"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemRenamed, - " Item renamed"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemModified, - " Item modified"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemFinderInfoMod, - " Item Finder Info modified"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemChangeOwner, - " Item changed ownership"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemXattrMod, - " Item extended attributes modified"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemIsFile, - " Item is a file"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemIsDir, - " Item is a directory"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemIsSymlink, - " Item is a symbolic link"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemIsHardlink, - " Item is a hard link"); - FLAG_CHECK_STDERR(eventFlags[i], kFSEventStreamEventFlagItemIsLastHardlink, - " Item is the last hard link"); - fprintf(stderr, " event path: %s\n", paths[i]); - fprintf(stderr, "\n"); - } - - fprintf(stderr, "\n"); -#endif - - if (config.format == kFSEventWatchOutputFormatClassic) { - classic_output_format(numEvents, paths); - } else if (config.format == kFSEventWatchOutputFormatNIW) { - niw_output_format(numEvents, paths, eventFlags, eventIds); - } else if (config.format == kFSEventWatchOutputFormatTNetstring) { - tstring_output_format(numEvents, paths, eventFlags, eventIds, - kTSITStringFormatTNetstring); - } else if (config.format == kFSEventWatchOutputFormatOTNetstring) { - tstring_output_format(numEvents, paths, eventFlags, eventIds, - kTSITStringFormatOTNetstring); - } - - fflush(stdout); -} - -int main(int argc, const char* argv[]) -{ - install_signal_handlers(); - parse_cli_settings(argc, argv); - - if (needs_fsevents_fix) { - FSEventsFixEnable(); - } - - FSEventStreamContext context = {0, NULL, NULL, NULL, NULL}; - FSEventStreamRef stream; - stream = FSEventStreamCreate(kCFAllocatorDefault, - (FSEventStreamCallback)&callback, - &context, - config.paths, - config.sinceWhen, - config.latency, - config.flags); - -#ifdef DEBUG - FSEventStreamShow(stream); - fprintf(stderr, "\n"); -#endif - - if (needs_fsevents_fix) { - FSEventsFixDisable(); - } - - FSEventStreamScheduleWithRunLoop(stream, - CFRunLoopGetCurrent(), - kCFRunLoopDefaultMode); - FSEventStreamStart(stream); - CFRunLoopRun(); - FSEventStreamFlushSync(stream); - FSEventStreamStop(stream); - - return 0; -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/signal_handlers.c b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/signal_handlers.c deleted file mode 100644 index b20da3f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/signal_handlers.c +++ /dev/null @@ -1,66 +0,0 @@ -#include "signal_handlers.h" -#include <fcntl.h> -#include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <sys/time.h> -#include <unistd.h> - - -#define PPID_ALARM_INTERVAL 2 // send SIGALRM every this seconds - - -static pid_t orig_ppid; - - -static void signal_handler(int _) { - exit(EXIT_FAILURE); -} - -static void check_ppid(void) { - if (getppid() != orig_ppid) { - exit(EXIT_FAILURE); - } -} - -static void check_stdout_open(void) { - if (fcntl(STDOUT_FILENO, F_GETFD) < 0) { - exit(EXIT_FAILURE); - } -} - -static void alarm_handler(int _) { - check_ppid(); - check_stdout_open(); - alarm(PPID_ALARM_INTERVAL); - signal(SIGALRM, alarm_handler); -} - -static void die(const char *msg) { - fprintf(stderr, "\nFATAL: %s\n", msg); - abort(); -} - -static void install_signal_handler(int sig, void (*handler)(int)) { - if (signal(sig, handler) == SIG_ERR) { - die("Could not install signal handler"); - } -} - -void install_signal_handlers(void) { - // check pipe is still connected - check_stdout_open(); - - // watch getppid() every PPID_ALARM_INTERVAL seconds - orig_ppid = getppid(); - if (orig_ppid <= 1) { - die("prematurely zombied"); - } - install_signal_handler(SIGALRM, alarm_handler); - alarm(PPID_ALARM_INTERVAL); - - // be sure to exit on SIGHUP, SIGPIPE - install_signal_handler(SIGHUP, signal_handler); - install_signal_handler(SIGPIPE, signal_handler); -} - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/signal_handlers.h b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/signal_handlers.h deleted file mode 100644 index c31685d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/fsevent_watch/signal_handlers.h +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @headerfile signal_handlers.h - * Signal handlers to stop the zombie hordes - * - * Catch and handle signals better so that we die faster like a good meat puppet. - */ - - -#ifndef fsevent_watch_signal_handlers_h -#define fsevent_watch_signal_handlers_h - - -void install_signal_handlers(void); - - -#endif // fsevent_watch_signal_handlers_h diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/rakefile.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/rakefile.rb deleted file mode 100644 index e50e888..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/ext/rakefile.rb +++ /dev/null @@ -1,231 +0,0 @@ -# -*- encoding: utf-8 -*- -require 'rubygems' unless defined?(Gem) -require 'pathname' -require 'date' -require 'time' -require 'rake/clean' - -raise "unable to find xcodebuild" unless system('which', 'xcodebuild') - - -FSEVENT_WATCH_EXE_VERSION = '0.1.5' - -$this_dir = Pathname.new(__FILE__).dirname.expand_path -$final_exe = $this_dir.parent.join('bin/fsevent_watch') - -$src_dir = $this_dir.join('fsevent_watch') -$obj_dir = $this_dir.join('build') - -SRC = Pathname.glob("#{$src_dir}/*.c") -OBJ = SRC.map {|s| $obj_dir.join("#{s.basename('.c')}.o")} - -$now = DateTime.now.xmlschema rescue Time.now.xmlschema - -$CC = ENV['CC'] || `which clang || which gcc`.strip -$CFLAGS = ENV['CFLAGS'] || '-fconstant-cfstrings -fasm-blocks -fstrict-aliasing -Wall' -$ARCHFLAGS = ENV['ARCHFLAGS'] || '-arch x86_64' -$DEFINES = "-DNS_BUILD_32_LIKE_64 -DNS_BLOCK_ASSERTIONS -DPROJECT_VERSION=#{FSEVENT_WATCH_EXE_VERSION}" - -$GCC_C_LANGUAGE_STANDARD = ENV['GCC_C_LANGUAGE_STANDARD'] || 'gnu11' - -# generic developer id name so it'll match correctly for anyone who has only -# one developer id in their keychain (not that I expect anyone else to bother) -$CODE_SIGN_IDENTITY = 'Developer ID Application' - -$arch = `uname -m`.strip -$os_release = `uname -r`.strip -$BUILD_TRIPLE = "#{$arch}-apple-darwin#{$os_release}" - -$CCVersion = `#{$CC} --version | head -n 1`.strip - - -CLEAN.include OBJ.map(&:to_s) -CLEAN.include $obj_dir.join('Info.plist').to_s -CLEAN.include $obj_dir.join('fsevent_watch').to_s -CLOBBER.include $final_exe.to_s - - -task :sw_vers do - $mac_product_version = `sw_vers -productVersion`.strip - $mac_build_version = `sw_vers -buildVersion`.strip - $MACOSX_DEPLOYMENT_TARGET = ENV['MACOSX_DEPLOYMENT_TARGET'] || $mac_product_version.sub(/\.\d*$/, '') - $CFLAGS = "#{$CFLAGS} -mmacosx-version-min=#{$MACOSX_DEPLOYMENT_TARGET}" -end - -task :get_sdk_info => :sw_vers do - $SDK_INFO = {} - version_info = `xcodebuild -version -sdk macosx#{$MACOSX_DEPLOYMENT_TARGET}` - raise "invalid SDK" unless !!$?.exitstatus - version_info.strip.each_line do |line| - next if line.strip.empty? - next unless line.include?(':') - match = line.match(/([^:]*): (.*)/) - next unless match - $SDK_INFO[match[1]] = match[2] - end -end - -task :debug => :sw_vers do - $DEFINES = "-DDEBUG #{$DEFINES}" - $CFLAGS = "#{$CFLAGS} -O0 -fno-omit-frame-pointer -g" -end - -task :release => :sw_vers do - $DEFINES = "-DNDEBUG #{$DEFINES}" - $CFLAGS = "#{$CFLAGS} -Ofast" -end - -desc 'configure build type depending on whether ENV var FWDEBUG is set' -task :set_build_type => :sw_vers do - if ENV['FWDEBUG'] - Rake::Task[:debug].invoke - else - Rake::Task[:release].invoke - end -end - -desc 'set build arch to ppc' -task :ppc do - $ARCHFLAGS = '-arch ppc' -end - -desc 'set build arch to x86_64' -task :x86_64 do - $ARCHFLAGS = '-arch x86_64' -end - -desc 'set build arch to i386' -task :x86 do - $ARCHFLAGS = '-arch i386' -end - -desc 'set build arch to arm64' -task :arm64 do - $ARCHFLAGS = '-arch arm64' -end - -task :setup_env => [:set_build_type, :sw_vers, :get_sdk_info] - -directory $obj_dir.to_s -file $obj_dir.to_s => :setup_env - -SRC.zip(OBJ).each do |source, object| - file object.to_s => [source.to_s, $obj_dir.to_s] do - cmd = [ - $CC, - $ARCHFLAGS, - "-std=#{$GCC_C_LANGUAGE_STANDARD}", - $CFLAGS, - $DEFINES, - "-I#{$src_dir}", - '-isysroot', - $SDK_INFO['Path'], - '-c', source, - '-o', object - ] - sh(cmd.map {|s| s.to_s}.join(' ')) - end -end - -file $obj_dir.join('Info.plist').to_s => [$obj_dir.to_s, :setup_env] do - File.open($obj_dir.join('Info.plist').to_s, 'w+') do |file| - indentation = '' - indent = lambda {|num| indentation = ' ' * num } - add = lambda {|str| file << "#{indentation}#{str}\n" } - key = lambda {|str| add["<key>#{str}</key>"] } - string = lambda {|str| add["<string>#{str}</string>"] } - - - add['<?xml version="1.0" encoding="UTF-8"?>'] - add['<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">'] - add['<plist version="1.0">'] - - indent[2] - add['<dict>'] - indent[4] - - key['CFBundleExecutable'] - string['fsevent_watch'] - key['CFBundleIdentifier'] - string['com.teaspoonofinsanity.fsevent_watch'] - key['CFBundleName'] - string['fsevent_watch'] - key['CFBundleDisplayName'] - string['FSEvent Watch CLI'] - key['NSHumanReadableCopyright'] - string['Copyright (C) 2011-2017 Travis Tilley'] - - key['CFBundleVersion'] - string["#{FSEVENT_WATCH_EXE_VERSION}"] - key['LSMinimumSystemVersion'] - string["#{$MACOSX_DEPLOYMENT_TARGET}"] - key['DTSDKBuild'] - string["#{$SDK_INFO['ProductBuildVersion']}"] - key['DTSDKName'] - string["macosx#{$SDK_INFO['SDKVersion']}"] - key['DTSDKPath'] - string["#{$SDK_INFO['Path']}"] - key['BuildMachineOSBuild'] - string["#{$mac_build_version}"] - key['BuildMachineOSVersion'] - string["#{$mac_product_version}"] - key['FSEWCompiledAt'] - string["#{$now}"] - key['FSEWVersionInfoBuilder'] - string["#{`whoami`.strip}"] - key['FSEWBuildTriple'] - string["#{$BUILD_TRIPLE}"] - key['FSEWCC'] - string["#{$CC}"] - key['FSEWCCVersion'] - string["#{$CCVersion}"] - key['FSEWCFLAGS'] - string["#{$CFLAGS}"] - - indent[2] - add['</dict>'] - indent[0] - - add['</plist>'] - end -end - -desc 'generate an Info.plist used for code signing as well as embedding build settings into the resulting binary' -task :plist => $obj_dir.join('Info.plist').to_s - - -file $obj_dir.join('fsevent_watch').to_s => [$obj_dir.to_s, $obj_dir.join('Info.plist').to_s] + OBJ.map(&:to_s) do - cmd = [ - $CC, - $ARCHFLAGS, - "-std=#{$GCC_C_LANGUAGE_STANDARD}", - $CFLAGS, - $DEFINES, - "-I#{$src_dir}", - '-isysroot', - $SDK_INFO['Path'], - '-framework CoreFoundation -framework CoreServices', - '-sectcreate __TEXT __info_plist', - $obj_dir.join('Info.plist') - ] + OBJ + [ - '-o', $obj_dir.join('fsevent_watch') - ] - sh(cmd.map {|s| s.to_s}.join(' ')) -end - -desc 'compile and link build/fsevent_watch' -task :build => $obj_dir.join('fsevent_watch').to_s - -desc 'codesign build/fsevent_watch binary' -task :codesign => :build do - sh "codesign -s '#{$CODE_SIGN_IDENTITY}' #{$obj_dir.join('fsevent_watch')}" -end - -directory $this_dir.parent.join('bin') - -desc 'replace bundled fsevent_watch binary with build/fsevent_watch' -task :replace_exe => [$this_dir.parent.join('bin'), :build] do - sh "mv #{$obj_dir.join('fsevent_watch')} #{$final_exe}" -end - -task :default => [:replace_exe, :clean] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/rb-fsevent.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/rb-fsevent.gemspec deleted file mode 100644 index 8f1e5aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-fsevent-0.11.2/rb-fsevent.gemspec +++ /dev/null @@ -1,26 +0,0 @@ -# coding: utf-8 -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'rb-fsevent/version' - -Gem::Specification.new do |s| - s.name = 'rb-fsevent' - s.version = FSEvent::VERSION - s.authors = ['Thibaud Guillaume-Gentil', 'Travis Tilley'] - s.email = ['thibaud@thibaud.gg', 'ttilley@gmail.com'] - s.homepage = 'http://rubygems.org/gems/rb-fsevent' - s.summary = 'Very simple & usable FSEvents API' - s.description = 'FSEvents API with Signals catching (without RubyCocoa)' - s.license = 'MIT' - - s.metadata = { - 'source_code_uri' => 'https://github.com/thibaudgg/rb-fsevent' - } - - s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) } - s.require_path = 'lib' - - s.add_development_dependency 'rspec', '~> 3.6' - s.add_development_dependency 'guard-rspec', '~> 4.2' - s.add_development_dependency 'rake', '~> 12.0' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/.travis.yml deleted file mode 100644 index 5508dd3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: ruby -cache: bundler - -matrix: - include: - - rvm: 2.3 - - rvm: 2.4 - - rvm: 2.5 - - rvm: 2.6 - - rvm: jruby - - rvm: truffleruby - - rvm: jruby-head - - rvm: ruby-head - allow_failures: - - rvm: truffleruby - - rvm: jruby - - rvm: ruby-head - - rvm: jruby-head - fast_finish: true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/.yardopts b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/.yardopts deleted file mode 100644 index cd347c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/.yardopts +++ /dev/null @@ -1,4 +0,0 @@ ---readme README.md ---markup markdown ---markup-provider maruku ---no-private diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/Gemfile deleted file mode 100644 index 9b2ce27..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/Gemfile +++ /dev/null @@ -1,16 +0,0 @@ -source 'https://rubygems.org' - -# Specify your gem's dependencies in utopia.gemspec -gemspec - -group :development do - gem 'pry' - gem 'pry-coolline' - - gem 'tty-prompt' -end - -group :test do - gem 'simplecov' - gem 'coveralls', require: false -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/LICENSE.md deleted file mode 100644 index bba4996..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/LICENSE.md +++ /dev/null @@ -1,10 +0,0 @@ -# The MIT License - -Copyright, 2009, by [Natalie Weizenbaum](https://github.com/nex3). -Copyright, 2017, by [Samuel G. D. Williams](http://www.codeotaku.com). - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/README.md deleted file mode 100644 index 90f5aa3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/README.md +++ /dev/null @@ -1,113 +0,0 @@ -# rb-inotify - -This is a simple wrapper over the [inotify](http://en.wikipedia.org/wiki/Inotify) Linux kernel subsystem -for monitoring changes to files and directories. -It uses the [FFI](http://wiki.github.com/ffi/ffi) gem to avoid having to compile a C extension. - -[API documentation is available on rdoc.info](http://rdoc.info/projects/nex3/rb-inotify). - -[![Build Status](https://secure.travis-ci.org/guard/rb-inotify.svg)](http://travis-ci.org/guard/rb-inotify) -[![Code Climate](https://codeclimate.com/github/guard/rb-inotify.svg)](https://codeclimate.com/github/guard/rb-inotify) -[![Coverage Status](https://coveralls.io/repos/guard/rb-inotify/badge.svg)](https://coveralls.io/r/guard/rb-inotify) - -## Usage - -The API is similar to the inotify C API, but with a more Rubyish feel. -First, create a notifier: - - notifier = INotify::Notifier.new - -Then, tell it to watch the paths you're interested in -for the events you care about: - - notifier.watch("path/to/foo.txt", :modify) {puts "foo.txt was modified!"} - notifier.watch("path/to/bar", :moved_to, :create) do |event| - puts "#{event.name} is now in path/to/bar!" - end - -Inotify can watch directories or individual files. -It can pay attention to all sorts of events; -for a full list, see [the inotify man page](http://www.tin.org/bin/man.cgi?section=7&topic=inotify). - -Finally, you get at the events themselves: - - notifier.run - -This will loop infinitely, calling the appropriate callbacks when the files are changed. -If you don't want infinite looping, -you can also block until there are available events, -process them all at once, -and then continue on your merry way: - - notifier.process - -## Advanced Usage - -Sometimes it's necessary to have finer control over the underlying IO operations -than is provided by the simple callback API. -The trick to this is that the \{INotify::Notifier#to_io Notifier#to_io} method -returns a fully-functional IO object, -with a file descriptor and everything. -This means, for example, that it can be passed to `IO#select`: - - # Wait 10 seconds for an event then give up - if IO.select([notifier.to_io], [], [], 10) - notifier.process - end - -It can even be used with EventMachine: - - require 'eventmachine' - - EM.run do - EM.watch notifier.to_io do - notifier.process - end - end - -Unfortunately, this currently doesn't work under JRuby. -JRuby currently doesn't use native file descriptors for the IO object, -so we can't use the notifier's file descriptor as a stand-in. - -### Resource Limits - -If you get an error like `inotify event queue has overflowed` you might be running into system limits. You can add the following to your `/etc/sysctl.conf` to increase the number of files that can be monitored: - -``` -fs.inotify.max_user_watches = 100000 -fs.inotify.max_queued_events = 100000 -fs.inotify.max_user_instances = 100000 -``` - -## Contributing - -1. Fork it -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new Pull Request - -## License - -Released under the MIT license. - -Copyright, 2009, by [Natalie Weizenbaum](https://github.com/nex3). -Copyright, 2017, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams). - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/Rakefile deleted file mode 100644 index bc3a3b6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/Rakefile +++ /dev/null @@ -1,14 +0,0 @@ -require "bundler/gem_tasks" -require 'rspec/core/rake_task' - -RSpec::Core::RakeTask.new(:spec) - -desc "Run tests" -task :default => :spec - -task :console do - require 'rb-inotify' - require 'pry' - - binding.pry -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/rb-inotify.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/rb-inotify.gemspec deleted file mode 100644 index e83eafe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/rb-inotify.gemspec +++ /dev/null @@ -1,28 +0,0 @@ -# -*- encoding: utf-8 -*- -require_relative 'lib/rb-inotify/version' - -Gem::Specification.new do |spec| - spec.name = 'rb-inotify' - spec.version = INotify::VERSION - spec.platform = Gem::Platform::RUBY - - spec.summary = 'A Ruby wrapper for Linux inotify, using FFI' - spec.authors = ['Natalie Weizenbaum', 'Samuel Williams'] - spec.email = ['nex342@gmail.com', 'samuel.williams@oriontransfer.co.nz'] - spec.homepage = 'https://github.com/guard/rb-inotify' - spec.licenses = ['MIT'] - - spec.files = `git ls-files`.split($/) - spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } - spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) - spec.require_paths = ["lib"] - - spec.required_ruby_version = '>= 2.2' - - spec.add_dependency "ffi", "~> 1.0" - - spec.add_development_dependency "rspec", "~> 3.6" - spec.add_development_dependency "bundler" - spec.add_development_dependency "rake" - spec.add_development_dependency "concurrent-ruby" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/inotify_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/inotify_spec.rb deleted file mode 100644 index b73ea30..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/inotify_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'spec_helper' - -describe INotify do - describe "version" do - it "exists" do - expect(INotify::VERSION).to be_truthy - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/notifier_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/notifier_spec.rb deleted file mode 100644 index af94cad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/notifier_spec.rb +++ /dev/null @@ -1,180 +0,0 @@ -require 'spec_helper' -require 'tmpdir' -require 'concurrent' - -describe INotify::Notifier do - describe "instance" do - around do |block| - Dir.mktmpdir do |dir| - @root = Pathname.new(dir) - @notifier = INotify::Notifier.new - - begin - block.call - ensure - @notifier.close - end - end - end - - let(:dir) do - @root.join("foo").tap(&:mkdir) - end - - let(:another_dir) do - @root.join("bar").tap(&:mkdir) - end - - it "stops" do - @notifier.stop - end - - describe :process do - it "gets events" do - events = recording(dir, :create) - dir.join("test.txt").write("hello world") - - @notifier.process - - expect(events.size).to eq(1) - expect(events.first.name).to eq("test.txt") - expect(events.first.absolute_name).to eq(dir.join("test.txt").to_s) - end - - it "gets simultaneous events" do - events = recording(dir, :create) - - dir.join("one.txt").write("hello world") - dir.join("two.txt").write("hello world") - - @notifier.process - - expect(events.map(&:name)).to match_array(%w(one.txt two.txt)) - end - - it "separates events between watches" do - bar_events = nil - - foo_events = recording(dir, :create) - bar_events = recording(another_dir, :create) - - dir.join("test.txt").write("hello world") - another_dir.join("test_two.txt").write("hello world") - - @notifier.process - - expect(foo_events.size).to eq(1) - expect(foo_events.first.name).to eq("test.txt") - expect(foo_events.first.absolute_name).to eq(dir.join("test.txt").to_s) - - expect(bar_events.size).to eq(1) - expect(bar_events.first.name).to eq("test_two.txt") - expect(bar_events.first.absolute_name).to eq(another_dir.join("test_two.txt").to_s) - end - end - - describe :run do - it "processes repeatedly until stopped" do - barriers = Array.new(3) { Concurrent::Event.new } - barrier_queue = barriers.dup - events = recording(dir, :create) { barrier_queue.shift.set } - - run_thread = Thread.new { @notifier.run } - - dir.join("one.txt").write("hello world") - barriers.shift.wait(1) or raise "timeout" - - expect(events.map(&:name)).to match_array(%w(one.txt)) - - dir.join("two.txt").write("hello world") - barriers.shift.wait(1) or raise "timeout" - - expect(events.map(&:name)).to match_array(%w(one.txt two.txt)) - - @notifier.stop - - dir.join("three.txt").write("hello world") - barriers.shift.wait(1) - - dir.join("four.txt").write("hello world") - run_thread.join - - expect(events.map(&:name)).to match_array(%w(one.txt two.txt)) - end - - it "can be stopped from within a callback" do - barriers = Array.new(3) { Concurrent::Event.new } - barrier_queue = barriers.dup - events = recording(dir, :create) { @notifier.stop } - - run_thread = Thread.new { @notifier.run } - dir.join("one.txt").write("hello world") - run_thread.join - end - end - - describe :fd do - it "returns an integer" do - expect(@notifier.fd).to be_an(Integer) - end - end - - describe :to_io do - it "returns a ruby IO" do - expect(@notifier.to_io).to be_an(::IO) - end - - it "matches the fd" do - expect(@notifier.to_io.fileno).to eq(@notifier.fd) - end - - it "caches its result" do - expect(@notifier.to_io).to be(@notifier.to_io) - end - - it "is selectable" do - events = recording(dir, :create) - expect(select([@notifier.to_io], nil, nil, 0.2)).to be_nil - - dir.join("test.txt").write("hello world") - expect(select([@notifier.to_io], nil, nil, 0.2)).to eq([[@notifier.to_io], [], []]) - - @notifier.process - expect(select([@notifier.to_io], nil, nil, 0.2)).to be_nil - end - end - - private - - def recording(dir, *flags, callback: nil) - events = [] - @notifier.watch(dir.to_s, *flags) do |event| - events << event - yield if block_given? - end - - events - end - end - - describe "mixed instances" do - it "doesn't tangle fds" do - notifiers = Array.new(30) { INotify::Notifier.new } - notifiers.each(&:to_io) - - one = Array.new(10) { IO.pipe.last } - notifiers.each(&:close) - - two = Array.new(10) { IO.pipe.last } - - notifiers = nil - GC.start - - _, writable, _ = select(nil, one, nil, 1) - expect(writable).to match_array(one) - - _, writable, _ = select(nil, two, nil, 1) - expect(writable).to match_array(two) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/spec_helper.rb deleted file mode 100644 index b62f9cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rb-inotify-0.10.1/spec/spec_helper.rb +++ /dev/null @@ -1,29 +0,0 @@ - -if ENV['COVERAGE'] || ENV['TRAVIS'] - begin - require 'simplecov' - - SimpleCov.start do - add_filter "/spec/" - end - - if ENV['TRAVIS'] - require 'coveralls' - Coveralls.wear! - end - rescue LoadError - warn "Could not load simplecov: #{$!}" - end -end - -require "bundler/setup" -require "rb-inotify" - -RSpec.configure do |config| - # Enable flags like --only-failures and --next-failure - config.example_status_persistence_file_path = ".rspec_status" - - config.expect_with :rspec do |c| - c.syntax = :expect - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/LICENSE.txt deleted file mode 100644 index a009cae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/NEWS.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/NEWS.md deleted file mode 100644 index 271c303..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/NEWS.md +++ /dev/null @@ -1,276 +0,0 @@ -# News - -## 3.2.6 - 2023-07-27 {#version-3-2-6} - -### Improvements - - * Required Ruby 2.5 or later explicitly. - [GH-69][gh-69] - [Patch by Ivo Anjo] - - * Added documentation for maintenance cycle. - [GH-71][gh-71] - [Patch by Ivo Anjo] - - * Added tutorial. - [GH-77][gh-77] - [GH-78][gh-78] - [Patch by Burdette Lamar] - - * Improved performance and memory usage. - [GH-94][gh-94] - [Patch by fatkodima] - - * `REXML::Parsers::XPathParser#abbreviate`: Added support for - function arguments. - [GH-95][gh-95] - [Reported by pulver] - - * `REXML::Parsers::XPathParser#abbreviate`: Added support for string - literal that contains double-quote. - [GH-96][gh-96] - [Patch by pulver] - - * `REXML::Parsers::XPathParser#abbreviate`: Added missing `/` to - `:descendant_or_self/:self/:parent`. - [GH-97][gh-97] - [Reported by pulver] - - * `REXML::Parsers::XPathParser#abbreviate`: Added support for more patterns. - [GH-97][gh-97] - [Reported by pulver] - -### Fixes - - * Fixed a typo in NEWS. - [GH-72][gh-72] - [Patch by Spencer Goodman] - - * Fixed a typo in NEWS. - [GH-75][gh-75] - [Patch by Andrew Bromwich] - - * Fixed documents. - [GH-87][gh-87] - [Patch by Alexander Ilyin] - - * Fixed a bug that `Attriute` convert `'` and `&apos;` even when - `attribute_quote: :quote` is used. - [GH-92][gh-92] - [Reported by Edouard Brière] - - * Fixed links in tutorial. - [GH-99][gh-99] - [Patch by gemmaro] - - -### Thanks - - * Ivo Anjo - - * Spencer Goodman - - * Andrew Bromwich - - * Burdette Lamar - - * Alexander Ilyin - - * Edouard Brière - - * fatkodima - - * pulver - - * gemmaro - -[gh-69]:https://github.com/ruby/rexml/issues/69 -[gh-71]:https://github.com/ruby/rexml/issues/71 -[gh-72]:https://github.com/ruby/rexml/issues/72 -[gh-75]:https://github.com/ruby/rexml/issues/75 -[gh-77]:https://github.com/ruby/rexml/issues/77 -[gh-87]:https://github.com/ruby/rexml/issues/87 -[gh-92]:https://github.com/ruby/rexml/issues/92 -[gh-94]:https://github.com/ruby/rexml/issues/94 -[gh-95]:https://github.com/ruby/rexml/issues/95 -[gh-96]:https://github.com/ruby/rexml/issues/96 -[gh-97]:https://github.com/ruby/rexml/issues/97 -[gh-98]:https://github.com/ruby/rexml/issues/98 -[gh-99]:https://github.com/ruby/rexml/issues/99 - -## 3.2.5 - 2021-04-05 {#version-3-2-5} - -### Improvements - - * Add more validations to XPath parser. - - * `require "rexml/document"` by default. - [GitHub#36][Patch by Koichi ITO] - - * Don't add `#dclone` method to core classes globally. - [GitHub#37][Patch by Akira Matsuda] - - * Add more documentations. - [Patch by Burdette Lamar] - - * Added `REXML::Elements#parent`. - [GitHub#52][Patch by Burdette Lamar] - -### Fixes - - * Fixed a bug that `REXML::DocType#clone` doesn't copy external ID - information. - - * Fixed round-trip vulnerability bugs. - See also: https://www.ruby-lang.org/en/news/2021/04/05/xml-round-trip-vulnerability-in-rexml-cve-2021-28965/ - [HackerOne#1104077][CVE-2021-28965][Reported by Juho Nurminen] - -### Thanks - - * Koichi ITO - - * Akira Matsuda - - * Burdette Lamar - - * Juho Nurminen - -## 3.2.4 - 2020-01-31 {#version-3-2-4} - -### Improvements - - * Don't use `taint` with Ruby 2.7 or later. - [GitHub#21][Patch by Jeremy Evans] - -### Fixes - - * Fixed a `elsif` typo. - [GitHub#22][Patch by Nobuyoshi Nakada] - -### Thanks - - * Jeremy Evans - - * Nobuyoshi Nakada - -## 3.2.3 - 2019-10-12 {#version-3-2-3} - -### Fixes - - * Fixed a bug that `REXML::XMLDecl#close` doesn't copy `@writethis`. - [GitHub#20][Patch by hirura] - -### Thanks - - * hirura - -## 3.2.2 - 2019-06-03 {#version-3-2-2} - -### Fixes - - * xpath: Fixed a bug for equality and relational expressions. - [GitHub#17][Reported by Mirko Budszuhn] - - * xpath: Fixed `boolean()` implementation. - - * xpath: Fixed `local_name()` with nonexistent node. - - * xpath: Fixed `number()` implementation with node set. - [GitHub#18][Reported by Mirko Budszuhn] - -### Thanks - - * Mirko Budszuhn - -## 3.2.1 - 2019-05-04 {#version-3-2-1} - -### Improvements - - * Improved error message. - [GitHub#12][Patch by FUJI Goro] - - * Improved error message. - [GitHub#16][Patch by ujihisa] - - * Improved documentation markup. - [GitHub#14][Patch by Alyssa Ross] - -### Fixes - - * Fixed a bug that `nil` variable value raises an unexpected exception. - [GitHub#13][Patch by Alyssa Ross] - -### Thanks - - * FUJI Goro - - * Alyssa Ross - - * ujihisa - -## 3.2.0 - 2019-01-01 {#version-3-2-0} - -### Fixes - - * Fixed a bug that no namespace attribute isn't matched with prefix. - - [ruby-list:50731][Reported by Yasuhiro KIMURA] - - * Fixed a bug that the default namespace is applied to attribute names. - - NOTE: It's a backward incompatible change. If your program has any - problem with this change, please report it. We may revert this fix. - - * `REXML::Attribute#prefix` returns `""` for no namespace attribute. - - * `REXML::Attribute#namespace` returns `""` for no namespace attribute. - -### Thanks - - * Yasuhiro KIMURA - -## 3.1.9 - 2018-12-20 {#version-3-1-9} - -### Improvements - - * Improved backward compatibility. - - Restored `REXML::Parsers::BaseParser::UNQME_STR` because it's used - by kramdown. - -## 3.1.8 - 2018-12-20 {#version-3-1-8} - -### Improvements - - * Added support for customizing quote character in prologue. - [GitHub#8][Bug #9367][Reported by Takashi Oguma] - - * You can use `"` as quote character by specifying `:quote` to - `REXML::Document#context[:prologue_quote]`. - - * You can use `'` as quote character by specifying `:apostrophe` - to `REXML::Document#context[:prologue_quote]`. - - * Added processing instruction target check. The target must not nil. - [GitHub#7][Reported by Ariel Zelivansky] - - * Added name check for element and attribute. - [GitHub#7][Reported by Ariel Zelivansky] - - * Stopped to use `Exception`. - [GitHub#9][Patch by Jean Boussier] - -### Fixes - - * Fixed a bug that `REXML::Text#clone` escapes value twice. - [ruby-dev:50626][Bug #15058][Reported by Ryosuke Nanba] - -### Thanks - - * Takashi Oguma - - * Ariel Zelivansky - - * Jean Boussier - - * Ryosuke Nanba diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/README.md deleted file mode 100644 index e8ab508..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# REXML - -REXML was inspired by the Electric XML library for Java, which features an easy-to-use API, small size, and speed. Hopefully, REXML, designed with the same philosophy, has these same features. I've tried to keep the API as intuitive as possible, and have followed the Ruby methodology for method naming and code flow, rather than mirroring the Java API. - -REXML supports both tree and stream document parsing. Stream parsing is faster (about 1.5 times as fast). However, with stream parsing, you don't get access to features such as XPath. - -## API - -See the [API documentation](https://ruby.github.io/rexml/). - -## Usage - -We'll start with parsing an XML document - -```ruby -require "rexml/document" -file = File.new( "mydoc.xml" ) -doc = REXML::Document.new file -``` - -Line 3 creates a new document and parses the supplied file. You can also do the following - -```ruby -require "rexml/document" -include REXML # so that we don't have to prefix everything with REXML::... -string = <<EOF - <mydoc> - <someelement attribute="nanoo">Text, text, text</someelement> - </mydoc> -EOF -doc = Document.new string -``` - -So parsing a string is just as easy as parsing a file. - -## Support - -REXML support follows the same maintenance cycle as Ruby releases, as shown on <https://www.ruby-lang.org/en/downloads/branches/>. - -If you are running on an end-of-life Ruby, do not expect modern REXML releases to be compatible with it; in fact, it's recommended that you DO NOT use this gem, and instead use the REXML version that came bundled with your end-of-life Ruby version. - -The `required_ruby_version` on the gemspec is kept updated on a [best-effort basis](https://github.com/ruby/rexml/pull/70) by the community. -Up to version 3.2.5, this information was not set. That version [is known broken with at least Ruby < 2.3](https://github.com/ruby/rexml/issues/69). - -## Development - -After checking out the repo, run `rake test` to run the tests. - -To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/rexml. - -## License - -The gem is available as open source under the terms of the [BSD-2-Clause](LICENSE.txt). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/context.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/context.rdoc deleted file mode 100644 index 7ef01f7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/context.rdoc +++ /dev/null @@ -1,143 +0,0 @@ -== Element Context - -Notes: -- All code on this page presupposes that the following has been executed: - - require 'rexml/document' - -- For convenience, examples on this page use +REXML::Document.new+, not +REXML::Element.new+. - This is completely valid, because REXML::Document is a subclass of REXML::Element. - -The context for an element is a hash of processing directives -that influence the way \XML is read, stored, and written. -The context entries are: - -- +:respect_whitespace+: controls treatment of whitespace. -- +:compress_whitespace+: determines whether whitespace is compressed. -- +:ignore_whitespace_nodes+: determines whether whitespace-only nodes are to be ignored. -- +:raw+: controls treatment of special characters and entities. - -The default context for a new element is <tt>{}</tt>. -You can set the context at element-creation time: - - d = REXML::Document.new('', {compress_whitespace: :all, raw: :all}) - d.context # => {:compress_whitespace=>:all, :raw=>:all} - -You can reset the entire context by assigning a new hash: - - d.context = {ignore_whitespace_nodes: :all} - d.context # => {:ignore_whitespace_nodes=>:all} - -Or you can create or modify an individual entry: - - d.context[:raw] = :all - d.context # => {:ignore_whitespace_nodes=>:all, :raw=>:all} - -=== +:respect_whitespace+ - -Affects: +REXML::Element.new+, +REXML::Element.text=+. - -By default, all parsed whitespace is respected (that is, stored whitespace not compressed): - - xml_string = '<root><foo>a b</foo> <bar>c d</bar> <baz>e f</baz></root>' - d = REXML::Document.new(xml_string) - d.to_s # => "<root><foo>a b</foo> <bar>c d</bar> <baz>e f</baz></root>" - -Use +:respect_whitespace+ with an array of element names -to specify the elements that _are_ to have their whitespace respected; -other elements' whitespace, and whitespace between elements, will be compressed. - -In this example: +foo+ and +baz+ will have their whitespace respected; -+bar+ and the space between elements will have their whitespace compressed: - - d = REXML::Document.new(xml_string, {respect_whitespace: ['foo', 'baz']}) - d.to_s # => "<root><foo>a b</foo> <bar>c d</bar> <baz>e f</baz></root>" - bar = d.root[2] # => <bar> ... </> - bar.text = 'X Y' - d.to_s # => "<root><foo>a b</foo> <bar>X Y</bar> <baz>e f</baz></root>" - -=== +:compress_whitespace+ - -Affects: +REXML::Element.new+, +REXML::Element.text=+. - -Use <tt>compress_whitespace: :all</tt> -to compress whitespace both within and between elements: - - xml_string = '<root><foo>a b</foo> <bar>c d</bar> <baz>e f</baz></root>' - d = REXML::Document.new(xml_string, {compress_whitespace: :all}) - d.to_s # => "<root><foo>a b</foo> <bar>c d</bar> <baz>e f</baz></root>" - -Use +:compress_whitespace+ with an array of element names -to compress whitespace in those elements, -but not in other elements nor between elements. - -In this example, +foo+ and +baz+ will have their whitespace compressed; -+bar+ and the space between elements will not: - - d = REXML::Document.new(xml_string, {compress_whitespace: ['foo', 'baz']}) - d.to_s # => "<root><foo>a b</foo> <bar>c d</bar> <baz>e f</baz></root>" - foo = d.root[0] # => <foo> ... </> - foo.text= 'X Y' - d.to_s # => "<root><foo>X Y</foo> <bar>c d</bar> <baz>e f</baz></root>" - -=== +:ignore_whitespace_nodes+ - -Affects: +REXML::Element.new+. - -Use <tt>ignore_whitespace_nodes: :all</tt> to omit all whitespace-only elements. - -In this example, +bar+ has a text node, while nodes +foo+ and +baz+ do not: - - xml_string = '<root><foo> </foo><bar> BAR </bar><baz> </baz></root>' - d = REXML::Document.new(xml_string, {ignore_whitespace_nodes: :all}) - d.to_s # => "<root><foo> FOO </foo><bar/><baz> BAZ </baz></root>" - root = d.root # => <root> ... </> - foo = root[0] # => <foo/> - bar = root[1] # => <bar> ... </> - baz = root[2] # => <baz/> - foo.first.class # => NilClass - bar.first.class # => REXML::Text - baz.first.class # => NilClass - -Use +:ignore_whitespace_nodes+ with an array of element names -to specify the elements that are to have whitespace nodes ignored. - -In this example, +bar+ and +baz+ have text nodes, while node +foo+ does not. - - xml_string = '<root><foo> </foo><bar> BAR </bar><baz> </baz></root>' - d = REXML::Document.new(xml_string, {ignore_whitespace_nodes: ['foo']}) - d.to_s # => "<root><foo/><bar> BAR </bar><baz> </baz></root>" - root = d.root # => <root> ... </> - foo = root[0] # => <foo/> - bar = root[1] # => <bar> ... </> - baz = root[2] # => <baz> ... </> - foo.first.class # => NilClass - bar.first.class # => REXML::Text - baz.first.class # => REXML::Text - -=== +:raw+ - -Affects: +Element.text=+, +Element.add_text+, +Text.to_s+. - -Parsing of +a+ elements is not affected by +raw+: - - xml_string = '<root><a>0 &lt; 1</a><b>1 &gt; 0</b></root>' - d = REXML::Document.new(xml_string, {:raw => ['a']}) - d.root.to_s # => "<root><a>0 &lt; 1</a><b>1 &gt; 0</b></root>" - a, b = *d.root.elements - a.to_s # => "<a>0 &lt; 1</a>" - b.to_s # => "<b>1 &gt; 0</b>" - -But Element#text= is affected: - - a.text = '0 &lt; 1' - b.text = '1 &gt; 0' - a.to_s # => "<a>0 &lt; 1</a>" - b.to_s # => "<b>1 &amp;gt; 0</b>" - -As is Element.add_text: - - a.add_text(' so 1 &gt; 0') - b.add_text(' so 0 &lt; 1') - a.to_s # => "<a>0 &lt; 1 so 1 &gt; 0</a>" - b.to_s # => "<b>1 &amp;gt; 0 so 0 &amp;lt; 1</b>" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/child.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/child.rdoc deleted file mode 100644 index 8953638..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/child.rdoc +++ /dev/null @@ -1,87 +0,0 @@ -== Class Child - -Class Child includes module Node; -see {Tasks for Node}[node_rdoc.html]. - -:include: ../tocs/child_toc.rdoc - -=== Relationships - -==== Task: Set the Parent - -Use method {Child#parent=}[../../../../REXML/Parent.html#method-i-parent-3D] -to set the parent: - - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - e1.parent # => nil - e1.parent = e0 - e1.parent # => <foo/> - -==== Task: Insert Previous Sibling - -Use method {Child#previous_sibling=}[../../../../REXML/Parent.html#method-i-previous_sibling-3D] -to insert a previous sibling: - - xml_string = '<root><a/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.to_a # => [<a/>, <c/>] - c = d.root[1] # => <c/> - b = REXML::Element.new('b') - c.previous_sibling = b - d.root.to_a # => [<a/>, <b/>, <c/>] - -==== Task: Insert Next Sibling - -Use method {Child#next_sibling=}[../../../../REXML/Parent.html#method-i-next-sibling-3D] -to insert a previous sibling: - - xml_string = '<root><a/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.to_a # => [<a/>, <c/>] - a = d.root[0] # => <a/> - b = REXML::Element.new('b') - a.next_sibling = b - d.root.to_a # => [<a/>, <b/>, <c/>] - -=== Removal or Replacement - -==== Task: Remove Child from Parent - -Use method {Child#remove}[../../../../REXML/Parent.html#method-i-remove] -to remove a child from its parent; returns the removed child: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.to_a # => [<a/>, <b/>, <c/>] - b = d.root[1] # => <b/> - b.remove # => <b/> - d.root.to_a # => [<a/>, <c/>] - -==== Task: Replace Child - -Use method {Child#replace_with}[../../../../REXML/Parent.html#method-i-replace] -to replace a child; -returns the replaced child: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.to_a # => [<a/>, <b/>, <c/>] - b = d.root[1] # => <b/> - d = REXML::Element.new('d') - b.replace_with(d) # => <b/> - d.root.to_a # => [<a/>, <d/>, <c/>] - -=== Document - -==== Task: Get the Document - -Use method {Child#document}[../../../../REXML/Parent.html#method-i-document] -to get the document for the child: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.to_a # => [<a/>, <b/>, <c/>] - b = d.root[1] # => <b/> - b.document == d # => true - REXML::Child.new.document # => nil diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/document.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/document.rdoc deleted file mode 100644 index 96d0335..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/document.rdoc +++ /dev/null @@ -1,276 +0,0 @@ -== Class Document - -Class Document has methods from its superclasses and included modules; -see: - -- {Tasks for Element}[element_rdoc.html]. -- {Tasks for Parent}[parent_rdoc.html]. -- {Tasks for Child}[child_rdoc.html]. -- {Tasks for Node}[node_rdoc.html]. -- {Module Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html]. - -:include: ../tocs/document_toc.rdoc - -=== New Document - -==== Task: Create an Empty Document - -Use method {Document::new}[../../../../REXML/Document.html#method-c-new] -to create an empty document. - - d = REXML::Document.new - -==== Task: Parse a \String into a New Document - -Use method {Document::new}[../../../../REXML/Document.html#method-c-new] -to parse an XML string into a new document: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - d.root # => <root> ... </> - -==== Task: Parse an \IO Stream into a New Document - -Use method {Document::new}[../../../../REXML/Document.html#method-c-new] -to parse an XML \IO stream into a new document: - - xml_string = '<root><a/>text<b/>more<c/></root>' - File.write('t.xml', xml_string) - d = File.open('t.xml', 'r') do |file| - REXML::Document.new(file) - end - d.root # => <root> ... </> - -==== Task: Create a Document from an Existing Document - -Use method {Document::new}[../../../../REXML/Document.html#method-c-new] -to create a document from an existing document. -The context and attributes are copied to the new document, -but not the children: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - d.children # => [<root> ... </>] - d.context = {raw: :all, compress_whitespace: :all} - d.add_attributes({'bar' => 0, 'baz' => 1}) - d1 = REXML::Document.new(d) - d1.context # => {:raw=>:all, :compress_whitespace=>:all} - d1.attributes # => {"bar"=>bar='0', "baz"=>baz='1'} - d1.children # => [] - -==== Task: Clone a Document - -Use method {Document#clone}[../../../../REXML/Document.html#method-i-clone] -to clone a document. -The context and attributes are copied to the new document, -but not the children: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - d.children # => [<root> ... </>] - d.context = {raw: :all, compress_whitespace: :all} - d.add_attributes({'bar' => 0, 'baz' => 1}) - d1 = d.clone # => < bar='0' baz='1'/> - d1.context # => {:raw=>:all, :compress_whitespace=>:all} - d1.attributes # => {"bar"=>bar='0', "baz"=>baz='1'} - d1.children # => [] - -=== Document Type - -==== Task: Get the Document Type - -Use method {Document#doctype}[../../../../REXML/Document.html#method-i-doctype] -to get the document type: - - d = REXML::Document.new('<!DOCTYPE document SYSTEM "subjects.dtd">') - d.doctype.class # => REXML::DocType - d = REXML::Document.new('') - d.doctype.class # => nil - -==== Task: Set the Document Type - -Use method {document#add}[../../../../REXML/Document.html#method-i-add] -to add or replace the document type: - - d = REXML::Document.new('') - d.doctype.class # => nil - d.add(REXML::DocType.new('foo')) - d.doctype.class # => REXML::DocType - -=== XML Declaration - -==== Task: Get the XML Declaration - -Use method {document#xml_decl}[../../../../REXML/Document.html#method-i-xml_decl] -to get the XML declaration: - - d = REXML::Document.new('<!DOCTYPE document SYSTEM "subjects.dtd">') - d.xml_decl.class # => REXML::XMLDecl - d.xml_decl # => <?xml ... ?> - d = REXML::Document.new('') - d.xml_decl.class # => REXML::XMLDecl - d.xml_decl # => <?xml ... ?> - -==== Task: Set the XML Declaration - -Use method {document#add}[../../../../REXML/Document.html#method-i-add] -to replace the XML declaration: - - d = REXML::Document.new('<!DOCTYPE document SYSTEM "subjects.dtd">') - d.add(REXML::XMLDecl.new) - -=== Children - -==== Task: Add an Element Child - -Use method -{document#add_element}[../../../../REXML/Document.html#method-i-add_element] -to add an element to the document: - - d = REXML::Document.new('') - d.add_element(REXML::Element.new('root')) - d.children # => [<root/>] - -==== Task: Add a Non-Element Child - -Use method -{document#add}[../../../../REXML/Document.html#method-i-add] -to add a non-element to the document: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - d.add(REXML::Text.new('foo')) - d.children # => [<root> ... </>, "foo"] - -=== Writing - -==== Task: Write to $stdout - -Use method -{document#write}[../../../../REXML/Document.html#method-i-write] -to write the document to <tt>$stdout</tt>: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - d.write - -Output: - - <root><a/>text<b/>more<c/></root> - -==== Task: Write to IO Stream - -Use method -{document#write}[../../../../REXML/Document.html#method-i-write] -to write the document to <tt>$stdout</tt>: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - File.open('t.xml', 'w') do |file| - d.write(file) - end - p File.read('t.xml') - -Output: - - "<root><a/>text<b/>more<c/></root>" - -==== Task: Write with No Indentation - -Use method -{document#write}[../../../../REXML/Document.html#method-i-write] -to write the document with no indentation: - - xml_string = '<root><a><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.write({indent: 0}) - -Output: - - <root> - <a> - <b> - <c/> - </b> - </a> - </root> - -==== Task: Write with Specified Indentation - -Use method -{document#write}[../../../../REXML/Document.html#method-i-write] -to write the document with a specified indentation: - - xml_string = '<root><a><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.write({indent: 2}) - -Output: - - <root> - <a> - <b> - <c/> - </b> - </a> - </root> - -=== Querying - -==== Task: Get the Document - -Use method -{document#document}[../../../../REXML/Document.html#method-i-document] -to get the document (+self+); overrides <tt>Element#document</tt>: - - xml_string = '<root><a><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.document == d # => true - -==== Task: Get the Encoding - -Use method -{document#document}[../../../../REXML/Document.html#method-i-document] -to get the document (+self+); overrides <tt>Element#document</tt>: - - xml_string = '<root><a><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.encoding # => "UTF-8" - -==== Task: Get the Node Type - -Use method -{document#node_type}[../../../../REXML/Document.html#method-i-node_type] -to get the node type (+:document+); overrides <tt>Element#node_type</tt>: - - xml_string = '<root><a><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.node_type # => :document - -==== Task: Get the Root Element - -Use method -{document#root}[../../../../REXML/Document.html#method-i-root] -to get the root element: - - xml_string = '<root><a><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.root # => <root> ... </> - -==== Task: Determine Whether Stand-Alone - -Use method -{document#stand_alone?}[../../../../REXML/Document.html#method-i-stand_alone-3F] -to get the stand-alone value: - - d = REXML::Document.new('<?xml standalone="yes"?>') - d.stand_alone? # => "yes" - -==== Task: Get the Version - -Use method -{document#version}[../../../../REXML/Document.html#method-i-version] -to get the version: - - d = REXML::Document.new('<?xml version="2.0" encoding="UTF-8"?>') - d.version # => "2.0" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/element.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/element.rdoc deleted file mode 100644 index 4b3609b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/element.rdoc +++ /dev/null @@ -1,602 +0,0 @@ -== Class Element - -Class Element has methods from its superclasses and included modules; -see: - -- {Tasks for Parent}[parent_rdoc.html]. -- {Tasks for Child}[child_rdoc.html]. -- {Tasks for Node}[node_rdoc.html]. -- {Module Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html]. - -:include: ../tocs/element_toc.rdoc - -=== New Element - -==== Task: Create a Default Element - -Use method -{Element::new}[../../../../REXML/Element.html#method-c-new] -with no arguments to create a default element: - - e = REXML::Element.new - e.name # => "UNDEFINED" - e.parent # => nil - e.context # => nil - -==== Task: Create a Named Element - -Use method -{Element::new}[../../../../REXML/Element.html#method-c-new] -with a string name argument -to create a named element: - - e = REXML::Element.new('foo') - e.name # => "foo" - e.parent # => nil - e.context # => nil - -==== Task: Create an Element with Name and Parent - -Use method -{Element::new}[../../../../REXML/Element.html#method-c-new] -with name and parent arguments -to create an element with name and parent: - - p = REXML::Parent.new - e = REXML::Element.new('foo', p) - e.name # => "foo" - e.parent # => #<REXML::Parent @parent=nil, @children=[<foo/>]> - e.context # => nil - -==== Task: Create an Element with Name, Parent, and Context - -Use method -{Element::new}[../../../../REXML/Element.html#method-c-new] -with name, parent, and context arguments -to create an element with name, parent, and context: - - p = REXML::Parent.new - e = REXML::Element.new('foo', p, {compress_whitespace: :all}) - e.name # => "foo" - e.parent # => #<REXML::Parent @parent=nil, @children=[<foo/>]> - e.context # => {:compress_whitespace=>:all} - -==== Task: Create a Shallow Clone - -Use method -{Element#clone}[../../../../REXML/Element.html#method-i-clone] -to create a shallow clone of an element, -copying only the name, attributes, and context: - - e0 = REXML::Element.new('foo', nil, {compress_whitespace: :all}) - e0.add_attribute(REXML::Attribute.new('bar', 'baz')) - e0.context = {compress_whitespace: :all} - e1 = e0.clone # => <foo bar='baz'/> - e1.name # => "foo" - e1.context # => {:compress_whitespace=>:all} - -=== Attributes - -==== Task: Create and Add an Attribute - -Use method -{Element#add_attribute}[../../../../REXML/Element.html#method-i-add_attribute] -to create and add an attribute: - - e = REXML::Element.new - e.add_attribute('attr', 'value') # => "value" - e['attr'] # => "value" - e.add_attribute('attr', 'VALUE') # => "VALUE" - e['attr'] # => "VALUE" - -==== Task: Add an Existing Attribute - -Use method -{Element#add_attribute}[../../../../REXML/Element.html#method-i-add_attribute] -to add an existing attribute: - - e = REXML::Element.new - a = REXML::Attribute.new('attr', 'value') - e.add_attribute(a) - e['attr'] # => "value" - a = REXML::Attribute.new('attr', 'VALUE') - e.add_attribute(a) - e['attr'] # => "VALUE" - -==== Task: Add Multiple Attributes from a Hash - -Use method -{Element#add_attributes}[../../../../REXML/Element.html#method-i-add_attributes] -to add multiple attributes from a hash: - - e = REXML::Element.new - h = {'foo' => 0, 'bar' => 1} - e.add_attributes(h) - e['foo'] # => "0" - e['bar'] # => "1" - -==== Task: Add Multiple Attributes from an Array - -Use method -{Element#add_attributes}[../../../../REXML/Element.html#method-i-add_attributes] -to add multiple attributes from an array: - - e = REXML::Element.new - a = [['foo', 0], ['bar', 1]] - e.add_attributes(a) - e['foo'] # => "0" - e['bar'] # => "1" - -==== Task: Retrieve the Value for an Attribute Name - -Use method -{Element#[]}[../../../../REXML/Element.html#method-i-5B-5D] -to retrieve the value for an attribute name: - - e = REXML::Element.new - e.add_attribute('attr', 'value') # => "value" - e['attr'] # => "value" - -==== Task: Retrieve the Attribute Value for a Name and Namespace - -Use method -{Element#attribute}[../../../../REXML/Element.html#method-i-attribute] -to retrieve the value for an attribute name: - - xml_string = "<root xmlns:a='a' a:x='a:x' x='x'/>" - d = REXML::Document.new(xml_string) - e = d.root - e.attribute("x") # => x='x' - e.attribute("x", "a") # => a:x='a:x' - -==== Task: Delete an Attribute - -Use method -{Element#delete_attribute}[../../../../REXML/Element.html#method-i-delete_attribute] -to remove an attribute: - - e = REXML::Element.new('foo') - e.add_attribute('bar', 'baz') - e.delete_attribute('bar') - e.delete_attribute('bar') - e['bar'] # => nil - -==== Task: Determine Whether the Element Has Attributes - -Use method -{Element#has_attributes?}[../../../../REXML/Element.html#method-i-has_attributes-3F] -to determine whether the element has attributes: - - e = REXML::Element.new('foo') - e.has_attributes? # => false - e.add_attribute('bar', 'baz') - e.has_attributes? # => true - -=== Children - -<em>Element Children</em> - -==== Task: Create and Add an Element - -Use method -{Element#add_element}[../../../../REXML/Element.html#method-i-add_element] -to create a new element and add it to this element: - - e0 = REXML::Element.new('foo') - e0.add_element('bar') - e0.children # => [<bar/>] - -==== Task: Add an Existing Element - -Use method -{Element#add_element}[../../../../REXML/Element.html#method-i-add_element] -to add an element to this element: - - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - e0.add_element(e1) - e0.children # => [<bar/>] - -==== Task: Create and Add an Element with Attributes - -Use method -{Element#add_element}[../../../../REXML/Element.html#method-i-add_element] -to create a new element with attributes, and add it to this element: - - e0 = REXML::Element.new('foo') - e0.add_element('bar', {'name' => 'value'}) - e0.children # => [<bar name='value'/>] - -==== Task: Add an Existing Element with Added Attributes - -Use method -{Element#add_element}[../../../../REXML/Element.html#method-i-add_element] -to add an element to this element: - - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - e0.add_element(e1, {'name' => 'value'}) - e0.children # => [<bar name='value'/>] - -==== Task: Delete a Specified Element - -Use method -{Element#delete_element}[../../../../REXML/Element.html#method-i-delete_element] -to remove a specified element from this element: - - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - e0.add_element(e1) - e0.children # => [<bar/>] - e0.delete_element(e1) - e0.children # => [] - -==== Task: Delete an Element by Index - -Use method -{Element#delete_element}[../../../../REXML/Element.html#method-i-delete_element] -to remove an element from this element by index: - - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - e0.add_element(e1) - e0.children # => [<bar/>] - e0.delete_element(1) - e0.children # => [] - -==== Task: Delete an Element by XPath - -Use method -{Element#delete_element}[../../../../REXML/Element.html#method-i-delete_element] -to remove an element from this element by XPath: - - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - e0.add_element(e1) - e0.children # => [<bar/>] - e0.delete_element('//bar/') - e0.children # => [] - -==== Task: Determine Whether Element Children - -Use method -{Element#has_elements?}[../../../../REXML/Element.html#method-i-has_elements-3F] -to determine whether the element has element children: - - e0 = REXML::Element.new('foo') - e0.has_elements? # => false - e0.add_element(REXML::Element.new('bar')) - e0.has_elements? # => true - -==== Task: Get Element Descendants by XPath - -Use method -{Element#get_elements}[../../../../REXML/Element.html#method-i-get_elements] -to fetch all element descendant children by XPath: - - xml_string = <<-EOT - <root> - <a level='1'> - <a level='2'/> - </a> - </root> - EOT - d = REXML::Document.new(xml_string) - d.root.get_elements('//a') # => [<a level='1'> ... </>, <a level='2'/>] - -==== Task: Get Next Element Sibling - -Use method -{Element#next_element}[../../../../REXML/Element.html#method-i-next_element] -to retrieve the next element sibling: - - d = REXML::Document.new '<a><b/>text<c/></a>' - d.root.elements['b'].next_element #-> <c/> - d.root.elements['c'].next_element #-> nil - -==== Task: Get Previous Element Sibling - -Use method -{Element#previous_element}[../../../../REXML/Element.html#method-i-previous_element] -to retrieve the previous element sibling: - - d = REXML::Document.new '<a><b/>text<c/></a>' - d.root.elements['c'].previous_element #-> <b/> - d.root.elements['b'].previous_element #-> nil - -<em>Text Children</em> - -==== Task: Add a Text Node - -Use method -{Element#add_text}[../../../../REXML/Element.html#method-i-add_text] -to add a text node to the element: - - d = REXML::Document.new('<a>foo<b/>bar</a>') - e = d.root - e.add_text(REXML::Text.new('baz')) - e.to_a # => ["foo", <b/>, "bar", "baz"] - e.add_text(REXML::Text.new('baz')) - e.to_a # => ["foo", <b/>, "bar", "baz", "baz"] - -==== Task: Replace the First Text Node - -Use method -{Element#text=}[../../../../REXML/Element.html#method-i-text-3D] -to replace the first text node in the element: - - d = REXML::Document.new('<root><a/>text<b/>more<c/></root>') - e = d.root - e.to_a # => [<a/>, "text", <b/>, "more", <c/>] - e.text = 'oops' - e.to_a # => [<a/>, "oops", <b/>, "more", <c/>] - -==== Task: Remove the First Text Node - -Use method -{Element#text=}[../../../../REXML/Element.html#method-i-text-3D] -to remove the first text node in the element: - - d = REXML::Document.new('<root><a/>text<b/>more<c/></root>') - e = d.root - e.to_a # => [<a/>, "text", <b/>, "more", <c/>] - e.text = nil - e.to_a # => [<a/>, <b/>, "more", <c/>] - -==== Task: Retrieve the First Text Node - -Use method -{Element#get_text}[../../../../REXML/Element.html#method-i-get_text] -to retrieve the first text node in the element: - - d = REXML::Document.new('<root><a/>text<b/>more<c/></root>') - e = d.root - e.to_a # => [<a/>, "text", <b/>, "more", <c/>] - e.get_text # => "text" - -==== Task: Retrieve a Specific Text Node - -Use method -{Element#get_text}[../../../../REXML/Element.html#method-i-get_text] -to retrieve the first text node in a specified element: - - d = REXML::Document.new "<root>some text <b>this is bold!</b> more text</root>" - e = d.root - e.get_text('//root') # => "some text " - e.get_text('//b') # => "this is bold!" - -==== Task: Determine Whether the Element has Text Nodes - -Use method -{Element#has_text?}[../../../../REXML/Element.html#method-i-has_text-3F] -to determine whether the element has text: - - e = REXML::Element.new('foo') - e.has_text? # => false - e.add_text('bar') - e.has_text? # => true - -<em>Other Children</em> - -==== Task: Get the Child at a Given Index - -Use method -{Element#[]}[../../../../REXML/Element.html#method-i-5B-5D] -to retrieve the child at a given index: - - d = REXML::Document.new '><root><a/>text<b/>more<c/></root>' - e = d.root - e[0] # => <a/> - e[1] # => "text" - e[2] # => <b/> - -==== Task: Get All CDATA Children - -Use method -{Element#cdatas}[../../../../REXML/Element.html#method-i-cdatas] -to retrieve all CDATA children: - - xml_string = <<-EOT - <root> - <![CDATA[foo]]> - <![CDATA[bar]]> - </root> - EOT - d = REXML::Document.new(xml_string) - d.root.cdatas # => ["foo", "bar"] - -==== Task: Get All Comment Children - -Use method -{Element#comments}[../../../../REXML/Element.html#method-i-comments] -to retrieve all comment children: - - xml_string = <<-EOT - <root> - <!--foo--> - <!--bar--> - </root> - EOT - d = REXML::Document.new(xml_string) - d.root.comments.map {|comment| comment.to_s } # => ["foo", "bar"] - -==== Task: Get All Processing Instruction Children - -Use method -{Element#instructions}[../../../../REXML/Element.html#method-i-instructions] -to retrieve all processing instruction children: - - xml_string = <<-EOT - <root> - <?target0 foo?> - <?target1 bar?> - </root> - EOT - d = REXML::Document.new(xml_string) - instructions = d.root.instructions.map {|instruction| instruction.to_s } - instructions # => ["<?target0 foo?>", "<?target1 bar?>"] - -==== Task: Get All Text Children - -Use method -{Element#texts}[../../../../REXML/Element.html#method-i-texts] -to retrieve all text children: - - xml_string = '<root><a/>text<b/>more<c/></root>' - d = REXML::Document.new(xml_string) - d.root.texts # => ["text", "more"] - -=== Namespaces - -==== Task: Add a Namespace - -Use method -{Element#add_namespace}[../../../../REXML/Element.html#method-i-add_namespace] -to add a namespace to the element: - - e = REXML::Element.new('foo') - e.add_namespace('bar') - e.namespaces # => {"xmlns"=>"bar"} - -==== Task: Delete the Default Namespace - -Use method -{Element#delete_namespace}[../../../../REXML/Element.html#method-i-delete_namespace] -to remove the default namespace from the element: - - d = REXML::Document.new "<a xmlns:foo='bar' xmlns='twiddle'/>" - d.to_s # => "<a xmlns:foo='bar' xmlns='twiddle'/>" - d.root.delete_namespace # => <a xmlns:foo='bar'/> - d.to_s # => "<a xmlns:foo='bar'/>" - -==== Task: Delete a Specific Namespace - -Use method -{Element#delete_namespace}[../../../../REXML/Element.html#method-i-delete_namespace] -to remove a specific namespace from the element: - - d = REXML::Document.new "<a xmlns:foo='bar' xmlns='twiddle'/>" - d.to_s # => "<a xmlns:foo='bar' xmlns='twiddle'/>" - d.root.delete_namespace # => <a xmlns:foo='bar'/> - d.to_s # => "<a xmlns:foo='bar'/>" - d.root.delete_namespace('foo') - d.to_s # => "<a/>" - -==== Task: Get a Namespace URI - -Use method -{Element#namespace}[../../../../REXML/Element.html#method-i-namespace] -to retrieve a specific namespace URI for the element: - - xml_string = <<-EOT - <root> - <a xmlns='1' xmlns:y='2'> - <b/> - <c xmlns:z='3'/> - </a> - </root> - EOT - d = REXML::Document.new(xml_string) - b = d.elements['//b'] - b.namespace # => "1" - b.namespace('y') # => "2" - -==== Task: Retrieve Namespaces - -Use method -{Element#namespaces}[../../../../REXML/Element.html#method-i-namespaces] -to retrieve all namespaces for the element: - - xml_string = '<a xmlns="foo" xmlns:x="bar" xmlns:y="twee" z="glorp"/>' - d = REXML::Document.new(xml_string) - d.root.attributes.namespaces # => {"xmlns"=>"foo", "x"=>"bar", "y"=>"twee"} - -==== Task: Retrieve Namespace Prefixes - -Use method -{Element#prefixes}[../../../../REXML/Element.html#method-i-prefixes] -to retrieve all prefixes (namespace names) for the element: - - xml_string = <<-EOT - <root> - <a xmlns:x='1' xmlns:y='2'> - <b/> - <c xmlns:z='3'/> - </a> - </root> - EOT - d = REXML::Document.new(xml_string, {compress_whitespace: :all}) - d.elements['//a'].prefixes # => ["x", "y"] - d.elements['//b'].prefixes # => ["x", "y"] - d.elements['//c'].prefixes # => ["x", "y", "z"] - -=== Iteration - -==== Task: Iterate Over Elements - -Use method -{Element#each_element}[../../../../REXML/Element.html#method-i-each_element] -to iterate over element children: - - d = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>' - d.root.each_element {|e| p e } - -Output: - - <b> ... </> - <c> ... </> - <d> ... </> - <e/> - -==== Task: Iterate Over Elements Having a Specified Attribute - -Use method -{Element#each_element_with_attribute}[../../../../REXML/Element.html#method-i-each_element_with_attribute] -to iterate over element children that have a specified attribute: - - d = REXML::Document.new '<a><b id="1"/><c id="2"/><d id="1"/><e/></a>' - a = d.root - a.each_element_with_attribute('id') {|e| p e } - -Output: - - <b id='1'/> - <c id='2'/> - <d id='1'/> - -==== Task: Iterate Over Elements Having a Specified Attribute and Value - -Use method -{Element#each_element_with_attribute}[../../../../REXML/Element.html#method-i-each_element_with_attribute] -to iterate over element children that have a specified attribute and value: - - d = REXML::Document.new '<a><b id="1"/><c id="2"/><d id="1"/><e/></a>' - a = d.root - a.each_element_with_attribute('id', '1') {|e| p e } - -Output: - - <b id='1'/> - <d id='1'/> - -==== Task: Iterate Over Elements Having Specified Text - -Use method -{Element#each_element_with_text}[../../../../REXML/Element.html#method-i-each_element_with_text] -to iterate over element children that have specified text: - - -=== Context - -#whitespace -#ignore_whitespace_nodes -#raw - -=== Other Getters - -#document -#root -#root_node -#node_type -#xpath -#inspect diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/node.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/node.rdoc deleted file mode 100644 index d5d2e12..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/node.rdoc +++ /dev/null @@ -1,97 +0,0 @@ -== Module Node - -:include: ../tocs/node_toc.rdoc - -=== Siblings - -==== Task: Find Previous Sibling - -Use method -{Node.previous_sibling_node}[../../../../REXML/Node.html#method-i-previous_sibling] -to retrieve the previous sibling: - - d = REXML::Document.new('<root><a/><b/><c/></root>') - b = d.root[1] # => <b/> - b.previous_sibling_node # => <a/> - -==== Task: Find Next Sibling - -Use method -{Node.next_sibling_node}[../../../../REXML/Node.html#method-i-next_sibling] -to retrieve the next sibling: - - d = REXML::Document.new('<root><a/><b/><c/></root>') - b = d.root[1] # => <b/> - b.next_sibling_node # => <c/> - -=== Position - -==== Task: Find Own Index Among Siblings - -Use method -{Node.index_in_parent}[../../../../REXML/Node.html#method-i-index_in_parent] -to retrieve the 1-based index of this node among its siblings: - - d = REXML::Document.new('<root><a/><b/><c/></root>') - b = d.root[1] # => <b/> - b.index_in_parent # => 2 - -=== Recursive Traversal - -==== Task: Traverse Each Recursively - -Use method -{Node.each_recursive}[../../../../REXML/Node.html#method-i-each_recursive] -to traverse a tree of nodes recursively: - - xml_string = '<root><a><b><c></c></b><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.root.each_recursive {|node| p node } - -Output: - - <a> ... </> - <b> ... </> - <c/> - <b> ... </> - <c/> - -=== Recursive Search - -==== Task: Traverse Each Recursively - -Use method -{Node.find_first_recursive}[../../../../REXML/Node.html#method-i-find_first_recursive] -to search a tree of nodes recursively: - - xml_string = '<root><a><b><c></c></b><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.root.find_first_recursive {|node| node.name == 'c' } # => <c/> - -=== Representation - -==== Task: Represent a String - -Use method {Node.to_s}[../../../../REXML/Node.html#method-i-to_s] -to represent the node as a string: - - xml_string = '<root><a><b><c></c></b><b><c></c></b></a></root>' - d = REXML::Document.new(xml_string) - d.root.to_s # => "<root><a><b><c/></b><b><c/></b></a></root>" - -=== Parent? - -==== Task: Determine Whether the Node is a Parent - -Use method {Node.parent?}[../../../../REXML/Node.html#method-i-parent-3F] -to determine whether the node is a parent; -class Text derives from Node: - - d = REXML::Document.new('<root><a/>text<b/>more<c/></root>') - t = d.root[1] # => "text" - t.parent? # => false - -Class Parent also derives from Node, but overrides this method: - - p = REXML::Parent.new - p.parent? # => true diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/parent.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/parent.rdoc deleted file mode 100644 index 54f1dbe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/rdoc/parent.rdoc +++ /dev/null @@ -1,267 +0,0 @@ -== Class Parent - -Class Parent has methods from its superclasses and included modules; -see: - -- {Tasks for Child}[child_rdoc.html]. -- {Tasks for Node}[node_rdoc.html]. -- {Module Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html]. - -:include: ../tocs/parent_toc.rdoc - -=== Queries - -==== Task: Get the Count of Children - -Use method {Parent#size}[../../../../REXML/Parent.html#method-i-size] -(or its alias +length+) to get the count of the parent's children: - - p = REXML::Parent.new - p.size # => 0 - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.size # => 3 - -==== Task: Get the Child at a Given Index - -Use method {Parent#[]}[../../../../REXML/Parent.html#method-i-5B-5D] -to get the child at a given index: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root[1] # => <b/> - d.root[-1] # => <c/> - d.root[50] # => nil - -==== Task: Get the Index of a Given Child - -Use method {Parent#index}[../../../../REXML/Parent.html#method-i-index] -to get the index (0-based offset) of a child: - - d = REXML::Document.new('<root></root>') - root = d.root - e0 = REXML::Element.new('foo') - e1 = REXML::Element.new('bar') - root.add(e0) # => <foo/> - root.add(e1) # => <bar/> - root.add(e0) # => <foo/> - root.add(e1) # => <bar/> - root.index(e0) # => 0 - root.index(e1) # => 1 - -==== Task: Get the Children - -Use method {Parent#children}[../../../../REXML/Parent.html#method-i-children] -(or its alias +to_a+) to get the parent's children: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - -==== Task: Determine Whether the Node is a Parent - -Use method {Parent#parent?}[../../../../REXML/Parent.html#method-i-parent-3F] -to determine whether the node is a parent; -class Text derives from Node: - - d = REXML::Document.new('<root><a/>text<b/>more<c/></root>') - t = d.root[1] # => "text" - t.parent? # => false - -Class Parent also derives from Node, but overrides this method: - - p = REXML::Parent.new - p.parent? # => true - -=== Additions - -==== Task: Add a Child at the Beginning - -Use method {Parent#unshift}[../../../../REXML/Parent.html#method-i-unshift] -to add a child as at the beginning of the children: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - d.root.unshift REXML::Element.new('d') - d.root.children # => [<d/>, <a/>, <b/>, <c/>] - -==== Task: Add a Child at the End - -Use method {Parent#<<}[../../../../REXML/Parent.html#method-i-3C-3C] -(or an alias +push+ or +add+) to add a child as at the end of the children: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - d.root << REXML::Element.new('d') - d.root.children # => [<a/>, <b/>, <c/>, <d/>] - -==== Task: Replace a Child with Another Child - -Use method {Parent#replace}[../../../../REXML/Parent.html#method-i-replace] - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - b = d.root[1] # => <b/> - d.replace_child(b, REXML::Element.new('d')) - d.root.children # => [<a/>, <c/>] - -==== Task: Replace Multiple Children with Another Child - -Use method {Parent#[]=}[../../../../REXML/Parent.html#method-i-parent-5B-5D-3D] -to replace multiple consecutive children with another child: - - xml_string = '<root><a/><b/><c/><d/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>, <d/>] - d.root[1, 2] = REXML::Element.new('x') - d.root.children # => [<a/>, <x/>, <d/>] - d.root[1, 5] = REXML::Element.new('x') - d.root.children # => [<a/>, <x/>] # BUG? - -==== Task: Insert Child Before a Given Child - -Use method {Parent#insert_before}[../../../../REXML/Parent.html#method-i-insert_before] -to insert a child immediately before a given child: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - b = d.root[1] # => <b/> - x = REXML::Element.new('x') - d.root.insert_before(b, x) - d.root.children # => [<a/>, <x/>, <b/>, <c/>] - -==== Task: Insert Child After a Given Child - -Use method {Parent#insert_after}[../../../../REXML/Parent.html#method-i-insert_after] -to insert a child immediately after a given child: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - b = d.root[1] # => <b/> - x = REXML::Element.new('x') - d.root.insert_after(b, x) - d.root.children # => [<a/>, <b/>, <x/>, <c/>] - -=== Deletions - -==== Task: Remove a Given Child - -Use method {Parent#delete}[../../../../REXML/Parent.html#method-i-delete] -to remove all occurrences of a given child: - - d = REXML::Document.new('<root></root>') - a = REXML::Element.new('a') - b = REXML::Element.new('b') - d.root.add(a) - d.root.add(b) - d.root.add(a) - d.root.add(b) - d.root.children # => [<a/>, <b/>, <a/>, <b/>] - d.root.delete(b) - d.root.children # => [<a/>, <a/>] - -==== Task: Remove the Child at a Specified Offset - -Use method {Parent#delete_at}[../../../../REXML/Parent.html#method-i-delete_at] -to remove the child at a specified offset: - - d = REXML::Document.new('<root></root>') - a = REXML::Element.new('a') - b = REXML::Element.new('b') - d.root.add(a) - d.root.add(b) - d.root.add(a) - d.root.add(b) - d.root.children # => [<a/>, <b/>, <a/>, <b/>] - d.root.delete_at(2) - d.root.children # => [<a/>, <b/>, <b/>] - -==== Task: Remove Children That Meet Specified Criteria - -Use method {Parent#delete_if}[../../../../REXML/Parent.html#method-i-delete_if] -to remove children that meet criteria specified in the given block: - - d = REXML::Document.new('<root></root>') - d.root.add(REXML::Element.new('x')) - d.root.add(REXML::Element.new('xx')) - d.root.add(REXML::Element.new('xxx')) - d.root.add(REXML::Element.new('xxxx')) - d.root.children # => [<x/>, <xx/>, <xxx/>, <xxxx/>] - d.root.delete_if {|child| child.name.size.odd? } - d.root.children # => [<xx/>, <xxxx/>] - -=== Iterations - -==== Task: Iterate Over Children - -Use method {Parent#each_child}[../../../../REXML/Parent.html#method-i-each_child] -(or its alias +each+) to iterate over all children: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - d.root.each_child {|child| p child } - -Output: - - <a/> - <b/> - <c/> - -==== Task: Iterate Over Child Indexes - -Use method {Parent#each_index}[../../../../REXML/Parent.html#method-i-each_index] -to iterate over all child indexes: - - xml_string = '<root><a/><b/><c/></root>' - d = REXML::Document.new(xml_string) - d.root.children # => [<a/>, <b/>, <c/>] - d.root.each_index {|child| p child } - -Output: - - 0 - 1 - 2 - -=== Clones - -==== Task: Clone Deeply - -Use method {Parent#deep_clone}[../../../../REXML/Parent.html#method-i-deep_clone] -to clone deeply; that is, to clone every nested node that is a Parent object: - - xml_string = <<-EOT - <?xml version="1.0" encoding="UTF-8"?> - <bookstore> - <book category="cooking"> - <title lang="en">Everyday Italian</title> - <author>Giada De Laurentiis</author> - <year>2005</year> - <price>30.00</price> - </book> - <book category="children"> - <title lang="en">Harry Potter</title> - <author>J K. Rowling</author> - <year>2005</year> - <price>29.99</price> - </book> - <book category="web"> - <title lang="en">Learning XML</title> - <author>Erik T. Ray</author> - <year>2003</year> - <price>39.95</price> - </book> - </bookstore> - EOT - d = REXML::Document.new(xml_string) - root = d.root - shallow = root.clone - deep = root.deep_clone - shallow.to_s.size # => 12 - deep.to_s.size # => 590 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/child_toc.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/child_toc.rdoc deleted file mode 100644 index a2083a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/child_toc.rdoc +++ /dev/null @@ -1,12 +0,0 @@ -Tasks on this page: - -- {Relationships}[#label-Relationships] - - {Task: Set the Parent}[#label-Task-3A+Set+the+Parent] - - {Task: Insert Previous Sibling}[#label-Task-3A+Insert+Previous+Sibling] - - {Task: Insert Next Sibling}[#label-Task-3A+Insert+Next+Sibling] -- {Removal or Replacement}[#label-Removal+or+Replacement] - - {Task: Remove Child from Parent}[#label-Task-3A+Remove+Child+from+Parent] - - {Task: Replace Child}[#label-Task-3A+Replace+Child] -- {Document}[#label-Document] - - {Task: Get the Document}[#label-Task-3A+Get+the+Document] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/document_toc.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/document_toc.rdoc deleted file mode 100644 index 5db055f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/document_toc.rdoc +++ /dev/null @@ -1,30 +0,0 @@ -Tasks on this page: - -- {New Document}[#label-New+Document] - - {Task: Create an Empty Document}[#label-Task-3A+Create+an+Empty+Document] - - {Task: Parse a String into a New Document}[#label-Task-3A+Parse+a+String+into+a+New+Document] - - {Task: Parse an IO Stream into a New Document}[#label-Task-3A+Parse+an+IO+Stream+into+a+New+Document] - - {Task: Create a Document from an Existing Document}[#label-Task-3A+Create+a+Document+from+an+Existing+Document] - - {Task: Clone a Document}[#label-Task-3A+Clone+a+Document] -- {Document Type}[#label-Document+Type] - - {Task: Get the Document Type}[#label-Task-3A+Get+the+Document+Type] - - {Task: Set the Document Type}[#label-Task-3A+Set+the+Document+Type] -- {XML Declaration}[#label-XML+Declaration] - - {Task: Get the XML Declaration}[#label-Task-3A+Get+the+XML+Declaration] - - {Task: Set the XML Declaration}[#label-Task-3A+Set+the+XML+Declaration] -- {Children}[#label-Children] - - {Task: Add an Element Child}[#label-Task-3A+Add+an+Element+Child] - - {Task: Add a Non-Element Child}[#label-Task-3A+Add+a+Non-Element+Child] -- {Writing}[#label-Writing] - - {Task: Write to $stdout}[#label-Task-3A+Write+to+-24stdout] - - {Task: Write to IO Stream}[#label-Task-3A+Write+to+IO+Stream] - - {Task: Write with No Indentation}[#label-Task-3A+Write+with+No+Indentation] - - {Task: Write with Specified Indentation}[#label-Task-3A+Write+with+Specified+Indentation] -- {Querying}[#label-Querying] - - {Task: Get the Document}[#label-Task-3A+Get+the+Document] - - {Task: Get the Encoding}[#label-Task-3A+Get+the+Encoding] - - {Task: Get the Node Type}[#label-Task-3A+Get+the+Node+Type] - - {Task: Get the Root Element}[#label-Task-3A+Get+the+Root+Element] - - {Task: Determine Whether Stand-Alone}[#label-Task-3A+Determine+Whether+Stand-Alone] - - {Task: Get the Version}[#label-Task-3A+Get+the+Version] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/element_toc.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/element_toc.rdoc deleted file mode 100644 index 60a504a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/element_toc.rdoc +++ /dev/null @@ -1,55 +0,0 @@ -Tasks on this page: - -- {New Element}[#label-New+Element] - - {Task: Create a Default Element}[#label-Task-3A+Create+a+Default+Element] - - {Task: Create a Named Element}[#label-Task-3A+Create+a+Named+Element] - - {Task: Create an Element with Name and Parent}[#label-Task-3A+Create+an+Element+with+Name+and+Parent] - - {Task: Create an Element with Name, Parent, and Context}[#label-Task-3A+Create+an+Element+with+Name-2C+Parent-2C+and+Context] - - {Task: Create a Shallow Clone}[#label-Task-3A+Create+a+Shallow+Clone] -- {Attributes}[#label-Attributes] - - {Task: Create and Add an Attribute}[#label-Task-3A+Create+and+Add+an+Attribute] - - {Task: Add an Existing Attribute}[#label-Task-3A+Add+an+Existing+Attribute] - - {Task: Add Multiple Attributes from a Hash}[#label-Task-3A+Add+Multiple+Attributes+from+a+Hash] - - {Task: Add Multiple Attributes from an Array}[#label-Task-3A+Add+Multiple+Attributes+from+an+Array] - - {Task: Retrieve the Value for an Attribute Name}[#label-Task-3A+Retrieve+the+Value+for+an+Attribute+Name] - - {Task: Retrieve the Attribute Value for a Name and Namespace}[#label-Task-3A+Retrieve+the+Attribute+Value+for+a+Name+and+Namespace] - - {Task: Delete an Attribute}[#label-Task-3A+Delete+an+Attribute] - - {Task: Determine Whether the Element Has Attributes}[#label-Task-3A+Determine+Whether+the+Element+Has+Attributes] -- {Children}[#label-Children] - - {Task: Create and Add an Element}[#label-Task-3A+Create+and+Add+an+Element] - - {Task: Add an Existing Element}[#label-Task-3A+Add+an+Existing+Element] - - {Task: Create and Add an Element with Attributes}[#label-Task-3A+Create+and+Add+an+Element+with+Attributes] - - {Task: Add an Existing Element with Added Attributes}[#label-Task-3A+Add+an+Existing+Element+with+Added+Attributes] - - {Task: Delete a Specified Element}[#label-Task-3A+Delete+a+Specified+Element] - - {Task: Delete an Element by Index}[#label-Task-3A+Delete+an+Element+by+Index] - - {Task: Delete an Element by XPath}[#label-Task-3A+Delete+an+Element+by+XPath] - - {Task: Determine Whether Element Children}[#label-Task-3A+Determine+Whether+Element+Children] - - {Task: Get Element Descendants by XPath}[#label-Task-3A+Get+Element+Descendants+by+XPath] - - {Task: Get Next Element Sibling}[#label-Task-3A+Get+Next+Element+Sibling] - - {Task: Get Previous Element Sibling}[#label-Task-3A+Get+Previous+Element+Sibling] - - {Task: Add a Text Node}[#label-Task-3A+Add+a+Text+Node] - - {Task: Replace the First Text Node}[#label-Task-3A+Replace+the+First+Text+Node] - - {Task: Remove the First Text Node}[#label-Task-3A+Remove+the+First+Text+Node] - - {Task: Retrieve the First Text Node}[#label-Task-3A+Retrieve+the+First+Text+Node] - - {Task: Retrieve a Specific Text Node}[#label-Task-3A+Retrieve+a+Specific+Text+Node] - - {Task: Determine Whether the Element has Text Nodes}[#label-Task-3A+Determine+Whether+the+Element+has+Text+Nodes] - - {Task: Get the Child at a Given Index}[#label-Task-3A+Get+the+Child+at+a+Given+Index] - - {Task: Get All CDATA Children}[#label-Task-3A+Get+All+CDATA+Children] - - {Task: Get All Comment Children}[#label-Task-3A+Get+All+Comment+Children] - - {Task: Get All Processing Instruction Children}[#label-Task-3A+Get+All+Processing+Instruction+Children] - - {Task: Get All Text Children}[#label-Task-3A+Get+All+Text+Children] -- {Namespaces}[#label-Namespaces] - - {Task: Add a Namespace}[#label-Task-3A+Add+a+Namespace] - - {Task: Delete the Default Namespace}[#label-Task-3A+Delete+the+Default+Namespace] - - {Task: Delete a Specific Namespace}[#label-Task-3A+Delete+a+Specific+Namespace] - - {Task: Get a Namespace URI}[#label-Task-3A+Get+a+Namespace+URI] - - {Task: Retrieve Namespaces}[#label-Task-3A+Retrieve+Namespaces] - - {Task: Retrieve Namespace Prefixes}[#label-Task-3A+Retrieve+Namespace+Prefixes] -- {Iteration}[#label-Iteration] - - {Task: Iterate Over Elements}[#label-Task-3A+Iterate+Over+Elements] - - {Task: Iterate Over Elements Having a Specified Attribute}[#label-Task-3A+Iterate+Over+Elements+Having+a+Specified+Attribute] - - {Task: Iterate Over Elements Having a Specified Attribute and Value}[#label-Task-3A+Iterate+Over+Elements+Having+a+Specified+Attribute+and+Value] - - {Task: Iterate Over Elements Having Specified Text}[#label-Task-3A+Iterate+Over+Elements+Having+Specified+Text] -- {Context}[#label-Context] -- {Other Getters}[#label-Other+Getters] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/master_toc.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/master_toc.rdoc deleted file mode 100644 index 0214f6b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/master_toc.rdoc +++ /dev/null @@ -1,135 +0,0 @@ -== Tasks - -=== {Child}[../../tasks/rdoc/child_rdoc.html] -- {Relationships}[../../tasks/rdoc/child_rdoc.html#label-Relationships] - - {Task: Set the Parent}[../../tasks/rdoc/child_rdoc.html#label-Task-3A+Set+the+Parent] - - {Task: Insert Previous Sibling}[../../tasks/rdoc/child_rdoc.html#label-Task-3A+Insert+Previous+Sibling] - - {Task: Insert Next Sibling}[../../tasks/rdoc/child_rdoc.html#label-Task-3A+Insert+Next+Sibling] -- {Removal or Replacement}[../../tasks/rdoc/child_rdoc.html#label-Removal+or+Replacement] - - {Task: Remove Child from Parent}[../../tasks/rdoc/child_rdoc.html#label-Task-3A+Remove+Child+from+Parent] - - {Task: Replace Child}[../../tasks/rdoc/child_rdoc.html#label-Task-3A+Replace+Child] -- {Document}[../../tasks/rdoc/child_rdoc.html#label-Document] - - {Task: Get the Document}[../../tasks/rdoc/child_rdoc.html#label-Task-3A+Get+the+Document] - -=== {Document}[../../tasks/rdoc/document_rdoc.html] -- {New Document}[../../tasks/rdoc/document_rdoc.html#label-New+Document] - - {Task: Create an Empty Document}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Create+an+Empty+Document] - - {Task: Parse a String into a New Document}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Parse+a+String+into+a+New+Document] - - {Task: Parse an IO Stream into a New Document}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Parse+an+IO+Stream+into+a+New+Document] - - {Task: Create a Document from an Existing Document}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Create+a+Document+from+an+Existing+Document] - - {Task: Clone a Document}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Clone+a+Document] -- {Document Type}[../../tasks/rdoc/document_rdoc.html#label-Document+Type] - - {Task: Get the Document Type}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+Document+Type] - - {Task: Set the Document Type}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Set+the+Document+Type] -- {XML Declaration}[../../tasks/rdoc/document_rdoc.html#label-XML+Declaration] - - {Task: Get the XML Declaration}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+XML+Declaration] - - {Task: Set the XML Declaration}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Set+the+XML+Declaration] -- {Children}[../../tasks/rdoc/document_rdoc.html#label-Children] - - {Task: Add an Element Child}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Add+an+Element+Child] - - {Task: Add a Non-Element Child}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Add+a+Non-Element+Child] -- {Writing}[../../tasks/rdoc/document_rdoc.html#label-Writing] - - {Task: Write to $stdout}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Write+to+-24stdout] - - {Task: Write to IO Stream}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Write+to+IO+Stream] - - {Task: Write with No Indentation}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Write+with+No+Indentation] - - {Task: Write with Specified Indentation}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Write+with+Specified+Indentation] -- {Querying}[../../tasks/rdoc/document_rdoc.html#label-Querying] - - {Task: Get the Document}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+Document] - - {Task: Get the Encoding}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+Encoding] - - {Task: Get the Node Type}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+Node+Type] - - {Task: Get the Root Element}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+Root+Element] - - {Task: Determine Whether Stand-Alone}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Determine+Whether+Stand-Alone] - - {Task: Get the Version}[../../tasks/rdoc/document_rdoc.html#label-Task-3A+Get+the+Version] - -=== {Element}[../../tasks/rdoc/element_rdoc.html] -- {New Element}[../../tasks/rdoc/element_rdoc.html#label-New+Element] - - {Task: Create a Default Element}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+a+Default+Element] - - {Task: Create a Named Element}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+a+Named+Element] - - {Task: Create an Element with Name and Parent}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+an+Element+with+Name+and+Parent] - - {Task: Create an Element with Name, Parent, and Context}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+an+Element+with+Name-2C+Parent-2C+and+Context] - - {Task: Create a Shallow Clone}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+a+Shallow+Clone] -- {Attributes}[../../tasks/rdoc/element_rdoc.html#label-Attributes] - - {Task: Create and Add an Attribute}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+and+Add+an+Attribute] - - {Task: Add an Existing Attribute}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+an+Existing+Attribute] - - {Task: Add Multiple Attributes from a Hash}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+Multiple+Attributes+from+a+Hash] - - {Task: Add Multiple Attributes from an Array}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+Multiple+Attributes+from+an+Array] - - {Task: Retrieve the Value for an Attribute Name}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Retrieve+the+Value+for+an+Attribute+Name] - - {Task: Retrieve the Attribute Value for a Name and Namespace}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Retrieve+the+Attribute+Value+for+a+Name+and+Namespace] - - {Task: Delete an Attribute}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Delete+an+Attribute] - - {Task: Determine Whether the Element Has Attributes}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Determine+Whether+the+Element+Has+Attributes] -- {Children}[../../tasks/rdoc/element_rdoc.html#label-Children] - - {Task: Create and Add an Element}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+and+Add+an+Element] - - {Task: Add an Existing Element}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+an+Existing+Element] - - {Task: Create and Add an Element with Attributes}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Create+and+Add+an+Element+with+Attributes] - - {Task: Add an Existing Element with Added Attributes}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+an+Existing+Element+with+Added+Attributes] - - {Task: Delete a Specified Element}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Delete+a+Specified+Element] - - {Task: Delete an Element by Index}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Delete+an+Element+by+Index] - - {Task: Delete an Element by XPath}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Delete+an+Element+by+XPath] - - {Task: Determine Whether Element Children}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Determine+Whether+Element+Children] - - {Task: Get Element Descendants by XPath}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+Element+Descendants+by+XPath] - - {Task: Get Next Element Sibling}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+Next+Element+Sibling] - - {Task: Get Previous Element Sibling}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+Previous+Element+Sibling] - - {Task: Add a Text Node}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+a+Text+Node] - - {Task: Replace the First Text Node}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Replace+the+First+Text+Node] - - {Task: Remove the First Text Node}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Remove+the+First+Text+Node] - - {Task: Retrieve the First Text Node}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Retrieve+the+First+Text+Node] - - {Task: Retrieve a Specific Text Node}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Retrieve+a+Specific+Text+Node] - - {Task: Determine Whether the Element has Text Nodes}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Determine+Whether+the+Element+has+Text+Nodes] - - {Task: Get the Child at a Given Index}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+the+Child+at+a+Given+Index] - - {Task: Get All CDATA Children}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+All+CDATA+Children] - - {Task: Get All Comment Children}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+All+Comment+Children] - - {Task: Get All Processing Instruction Children}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+All+Processing+Instruction+Children] - - {Task: Get All Text Children}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+All+Text+Children] -- {Namespaces}[../../tasks/rdoc/element_rdoc.html#label-Namespaces] - - {Task: Add a Namespace}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Add+a+Namespace] - - {Task: Delete the Default Namespace}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Delete+the+Default+Namespace] - - {Task: Delete a Specific Namespace}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Delete+a+Specific+Namespace] - - {Task: Get a Namespace URI}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Get+a+Namespace+URI] - - {Task: Retrieve Namespaces}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Retrieve+Namespaces] - - {Task: Retrieve Namespace Prefixes}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Retrieve+Namespace+Prefixes] -- {Iteration}[../../tasks/rdoc/element_rdoc.html#label-Iteration] - - {Task: Iterate Over Elements}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Iterate+Over+Elements] - - {Task: Iterate Over Elements Having a Specified Attribute}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Iterate+Over+Elements+Having+a+Specified+Attribute] - - {Task: Iterate Over Elements Having a Specified Attribute and Value}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Iterate+Over+Elements+Having+a+Specified+Attribute+and+Value] - - {Task: Iterate Over Elements Having Specified Text}[../../tasks/rdoc/element_rdoc.html#label-Task-3A+Iterate+Over+Elements+Having+Specified+Text] -- {Context}[../../tasks/rdoc/element_rdoc.html#label-Context] -- {Other Getters}[../../tasks/rdoc/element_rdoc.html#label-Other+Getters] - -=== {Node}[../../tasks/rdoc/node_rdoc.html] -- {Siblings}[../../tasks/rdoc/node_rdoc.html#label-Siblings] - - {Task: Find Previous Sibling}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Find+Previous+Sibling] - - {Task: Find Next Sibling}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Find+Next+Sibling] -- {Position}[../../tasks/rdoc/node_rdoc.html#label-Position] - - {Task: Find Own Index Among Siblings}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Find+Own+Index+Among+Siblings] -- {Recursive Traversal}[../../tasks/rdoc/node_rdoc.html#label-Recursive+Traversal] - - {Task: Traverse Each Recursively}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Traverse+Each+Recursively] -- {Recursive Search}[../../tasks/rdoc/node_rdoc.html#label-Recursive+Search] - - {Task: Traverse Each Recursively}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Traverse+Each+Recursively] -- {Representation}[../../tasks/rdoc/node_rdoc.html#label-Representation] - - {Task: Represent a String}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Represent+a+String] -- {Parent?}[../../tasks/rdoc/node_rdoc.html#label-Parent-3F] - - {Task: Determine Whether the Node is a Parent}[../../tasks/rdoc/node_rdoc.html#label-Task-3A+Determine+Whether+the+Node+is+a+Parent] - -=== {Parent}[../../tasks/rdoc/parent_rdoc.html] -- {Queries}[../../tasks/rdoc/parent_rdoc.html#label-Queries] - - {Task: Get the Count of Children}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Get+the+Count+of+Children] - - {Task: Get the Child at a Given Index}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Get+the+Child+at+a+Given+Index] - - {Task: Get the Index of a Given Child}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Get+the+Index+of+a+Given+Child] - - {Task: Get the Children}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Get+the+Children] - - {Task: Determine Whether the Node is a Parent}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Determine+Whether+the+Node+is+a+Parent] -- {Additions}[../../tasks/rdoc/parent_rdoc.html#label-Additions] - - {Task: Add a Child at the Beginning}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Add+a+Child+at+the+Beginning] - - {Task: Add a Child at the End}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Add+a+Child+at+the+End] - - {Task: Replace a Child with Another Child}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Replace+a+Child+with+Another+Child] - - {Task: Replace Multiple Children with Another Child}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Replace+Multiple+Children+with+Another+Child] - - {Task: Insert Child Before a Given Child}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Insert+Child+Before+a+Given+Child] - - {Task: Insert Child After a Given Child}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Insert+Child+After+a+Given+Child] -- {Deletions}[../../tasks/rdoc/parent_rdoc.html#label-Deletions] - - {Task: Remove a Given Child}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Remove+a+Given+Child] - - {Task: Remove the Child at a Specified Offset}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Remove+the+Child+at+a+Specified+Offset] - - {Task: Remove Children That Meet Specified Criteria}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Remove+Children+That+Meet+Specified+Criteria] -- {Iterations}[../../tasks/rdoc/parent_rdoc.html#label-Iterations] - - {Task: Iterate Over Children}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Iterate+Over+Children] - - {Task: Iterate Over Child Indexes}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Iterate+Over+Child+Indexes] -- {Clones}[../../tasks/rdoc/parent_rdoc.html#label-Clones] - - {Task: Clone Deeply}[../../tasks/rdoc/parent_rdoc.html#label-Task-3A+Clone+Deeply] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/node_toc.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/node_toc.rdoc deleted file mode 100644 index d9114fa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/node_toc.rdoc +++ /dev/null @@ -1,16 +0,0 @@ -Tasks on this page: - -- {Siblings}[#label-Siblings] - - {Task: Find Previous Sibling}[#label-Task-3A+Find+Previous+Sibling] - - {Task: Find Next Sibling}[#label-Task-3A+Find+Next+Sibling] -- {Position}[#label-Position] - - {Task: Find Own Index Among Siblings}[#label-Task-3A+Find+Own+Index+Among+Siblings] -- {Recursive Traversal}[#label-Recursive+Traversal] - - {Task: Traverse Each Recursively}[#label-Task-3A+Traverse+Each+Recursively] -- {Recursive Search}[#label-Recursive+Search] - - {Task: Traverse Each Recursively}[#label-Task-3A+Traverse+Each+Recursively] -- {Representation}[#label-Representation] - - {Task: Represent a String}[#label-Task-3A+Represent+a+String] -- {Parent?}[#label-Parent-3F] - - {Task: Determine Whether the Node is a Parent}[#label-Task-3A+Determine+Whether+the+Node+is+a+Parent] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/parent_toc.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/parent_toc.rdoc deleted file mode 100644 index 68fc0b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tasks/tocs/parent_toc.rdoc +++ /dev/null @@ -1,25 +0,0 @@ -Tasks on this page: - -- {Queries}[#label-Queries] - - {Task: Get the Count of Children}[#label-Task-3A+Get+the+Count+of+Children] - - {Task: Get the Child at a Given Index}[#label-Task-3A+Get+the+Child+at+a+Given+Index] - - {Task: Get the Index of a Given Child}[#label-Task-3A+Get+the+Index+of+a+Given+Child] - - {Task: Get the Children}[#label-Task-3A+Get+the+Children] - - {Task: Determine Whether the Node is a Parent}[#label-Task-3A+Determine+Whether+the+Node+is+a+Parent] -- {Additions}[#label-Additions] - - {Task: Add a Child at the Beginning}[#label-Task-3A+Add+a+Child+at+the+Beginning] - - {Task: Add a Child at the End}[#label-Task-3A+Add+a+Child+at+the+End] - - {Task: Replace a Child with Another Child}[#label-Task-3A+Replace+a+Child+with+Another+Child] - - {Task: Replace Multiple Children with Another Child}[#label-Task-3A+Replace+Multiple+Children+with+Another+Child] - - {Task: Insert Child Before a Given Child}[#label-Task-3A+Insert+Child+Before+a+Given+Child] - - {Task: Insert Child After a Given Child}[#label-Task-3A+Insert+Child+After+a+Given+Child] -- {Deletions}[#label-Deletions] - - {Task: Remove a Given Child}[#label-Task-3A+Remove+a+Given+Child] - - {Task: Remove the Child at a Specified Offset}[#label-Task-3A+Remove+the+Child+at+a+Specified+Offset] - - {Task: Remove Children That Meet Specified Criteria}[#label-Task-3A+Remove+Children+That+Meet+Specified+Criteria] -- {Iterations}[#label-Iterations] - - {Task: Iterate Over Children}[#label-Task-3A+Iterate+Over+Children] - - {Task: Iterate Over Child Indexes}[#label-Task-3A+Iterate+Over+Child+Indexes] -- {Clones}[#label-Clones] - - {Task: Clone Deeply}[#label-Task-3A+Clone+Deeply] - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tutorial.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tutorial.rdoc deleted file mode 100644 index c85a70d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rexml-3.2.6/doc/rexml/tutorial.rdoc +++ /dev/null @@ -1,1358 +0,0 @@ -= \REXML Tutorial - -== Why \REXML? - -- Ruby's \REXML library is part of the Ruby distribution, - so using it requires no gem installations. -- \REXML is fully maintained. -- \REXML is mature, having been in use for long years. - -== To Include, or Not to Include? - -REXML is a module. -To use it, you must require it: - - require 'rexml' # => true - -If you do not also include it, you must fully qualify references to REXML: - - REXML::Document # => REXML::Document - -If you also include the module, you may optionally omit <tt>REXML::</tt>: - - include REXML - Document # => REXML::Document - REXML::Document # => REXML::Document - -== Preliminaries - -All examples here assume that the following code has been executed: - - require 'rexml' - include REXML - -The source XML for many examples here is from file -{books.xml}[https://www.w3schools.com/xml/books.xml] at w3schools.com. -You may find it convenient to open that page in a new tab -(Ctrl-click in some browsers). - -Note that your browser may display the XML with modified whitespace -and without the XML declaration, which in this case is: - - <?xml version="1.0" encoding="UTF-8"?> - -For convenience, we capture the XML into a string variable: - - require 'open-uri' - source_string = URI.open('https://www.w3schools.com/xml/books.xml').read - -And into a file: - - File.write('source_file.xml', source_string) - -Throughout these examples, variable +doc+ will hold only the document -derived from these sources: - - doc = Document.new(source_string) - -== Parsing \XML \Source - -=== Parsing a Document - -Use method REXML::Document::new to parse XML source. - -The source may be a string: - - doc = Document.new(source_string) - -Or an \IO stream: - - doc = File.open('source_file.xml', 'r') do |io| - Document.new(io) - end - -Method <tt>URI.open</tt> returns a StringIO object, -so the source can be from a web page: - - require 'open-uri' - io = URI.open("https://www.w3schools.com/xml/books.xml") - io.class # => StringIO - doc = Document.new(io) - -For any of these sources, the returned object is an REXML::Document: - - doc # => <UNDEFINED> ... </> - doc.class # => REXML::Document - -Note: <tt>'UNDEFINED'</tt> is the "name" displayed for a document, -even though <tt>doc.name</tt> returns an empty string <tt>""</tt>. - -A parsed document may produce \REXML objects of many classes, -but the two that are likely to be of greatest interest are -REXML::Document and REXML::Element. -These two classes are covered in great detail in this tutorial. - -=== Context (Parsing Options) - -The context for parsing a document is a hash that influences -the way the XML is read and stored. - -The context entries are: - -- +:respect_whitespace+: controls treatment of whitespace. -- +:compress_whitespace+: determines whether whitespace is compressed. -- +:ignore_whitespace_nodes+: determines whether whitespace-only nodes are to be ignored. -- +:raw+: controls treatment of special characters and entities. - -See {Element Context}[../context_rdoc.html]. - -== Exploring the Document - -An REXML::Document object represents an XML document. - -The object inherits from its ancestor classes: - -- REXML::Child (includes module REXML::Node) - - REXML::Parent (includes module {Enumerable}[rdoc-ref:Enumerable]). - - REXML::Element (includes module REXML::Namespace). - - REXML::Document - -This section covers only those properties and methods that are unique to a document -(that is, not inherited or included). - -=== Document Properties - -A document has several properties (other than its children); - -- Document type. -- Node type. -- Name. -- Document. -- XPath - -[Document Type] - - A document may have a document type: - - my_xml = '<!DOCTYPE foo>' - my_doc = Document.new(my_xml) - doc_type = my_doc.doctype - doc_type.class # => REXML::DocType - doc_type.to_s # => "<!DOCTYPE foo>" - -[Node Type] - - A document also has a node type (always +:document+): - - doc.node_type # => :document - -[Name] - - A document has a name (always an empty string): - - doc.name # => "" - -[Document] - - \Method REXML::Document#document returns +self+: - - doc.document == doc # => true - - An object of a different class (\REXML::Element or \REXML::Child) - may have a document, which is the document to which the object belongs; - if so, that document will be an \REXML::Document object. - - doc.root.document.class # => REXML::Document - -[XPath] - - \method REXML::Element#xpath returns the string xpath to the element, - relative to its most distant ancestor: - - doc.root.class # => REXML::Element - doc.root.xpath # => "/bookstore" - doc.root.texts.first # => "\n\n" - doc.root.texts.first.xpath # => "/bookstore/text()" - - If there is no ancestor, returns the expanded name of the element: - - Element.new('foo').xpath # => "foo" - -=== Document Children - -A document may have children of these types: - -- XML declaration. -- Root element. -- Text. -- Processing instructions. -- Comments. -- CDATA. - -[XML Declaration] - - A document may an XML declaration, which is stored as an REXML::XMLDecl object: - - doc.xml_decl # => <?xml ... ?> - doc.xml_decl.class # => REXML::XMLDecl - - Document.new('').xml_decl # => <?xml ... ?> - - my_xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>"' - my_doc = Document.new(my_xml) - xml_decl = my_doc.xml_decl - xml_decl.to_s # => "<?xml version='1.0' encoding='UTF-8' standalone="yes"?>" - - The version, encoding, and stand-alone values may be retrieved separately: - - my_doc.version # => "1.0" - my_doc.encoding # => "UTF-8" - my_doc.stand_alone? # => "yes" - -[Root Element] - - A document may have a single element child, called the _root_ _element_, - which is stored as an REXML::Element object; - it may be retrieved with method +root+: - - doc.root # => <bookstore> ... </> - doc.root.class # => REXML::Element - - Document.new('').root # => nil - -[Text] - - A document may have text passages, each of which is stored - as an REXML::Text object: - - doc.texts.each {|t| p [t.class, t] } - - Output: - - [REXML::Text, "\n"] - -[Processing Instructions] - - A document may have processing instructions, which are stored - as REXML::Instruction objects: - - - - Output: - - [REXML::Instruction, <?p-i my-application ...?>] - [REXML::Instruction, <?p-i my-application ...?>] - -[Comments] - - A document may have comments, which are stored - as REXML::Comment objects: - - my_xml = <<-EOT - <!--foo--> - <!--bar--> - EOT - my_doc = Document.new(my_xml) - my_doc.comments.each {|c| p [c.class, c] } - - Output: - - [REXML::Comment, #<REXML::Comment: @parent=<UNDEFINED> ... </>, @string="foo">] - [REXML::Comment, #<REXML::Comment: @parent=<UNDEFINED> ... </>, @string="bar">] - -[CDATA] - - A document may have CDATA entries, which are stored - as REXML::CData objects: - - my_xml = <<-EOT - <![CDATA[foo]]> - <![CDATA[bar]]> - EOT - my_doc = Document.new(my_xml) - my_doc.cdatas.each {|cd| p [cd.class, cd] } - - Output: - - [REXML::CData, "foo"] - [REXML::CData, "bar"] - -The payload of a document is a tree of nodes, descending from the root element: - - doc.root.children.each do |child| - p [child, child.class] - end - -Output: - - [REXML::Text, "\n\n"] - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='children'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - [REXML::Text, "\n\n"] - -== Exploring an Element - -An REXML::Element object represents an XML element. - -The object inherits from its ancestor classes: - -- REXML::Child (includes module REXML::Node) - - REXML::Parent (includes module {Enumerable}[rdoc-ref:Enumerable]). - - REXML::Element (includes module REXML::Namespace). - -This section covers methods: - -- Defined in REXML::Element itself. -- Inherited from REXML::Parent and REXML::Child. -- Included from REXML::Node. - -=== Inside the Element - -[Brief String Representation] - - Use method REXML::Element#inspect to retrieve a brief string representation. - - doc.root.inspect # => "<bookstore> ... </>" - - The ellipsis (<tt>...</tt>) indicates that the element has children. - When there are no children, the ellipsis is omitted: - - Element.new('foo').inspect # => "<foo/>" - - If the element has attributes, those are also included: - - doc.root.elements.first.inspect # => "<book category='cooking'> ... </>" - -[Extended String Representation] - - Use inherited method REXML::Child.bytes to retrieve an extended - string representation. - - doc.root.bytes # => "<bookstore>\n\n<book category='cooking'>\n <title lang='en'>Everyday Italian</title>\n <author>Giada De Laurentiis</author>\n <year>2005</year>\n <price>30.00</price>\n</book>\n\n<book category='children'>\n <title lang='en'>Harry Potter</title>\n <author>J K. Rowling</author>\n <year>2005</year>\n <price>29.99</price>\n</book>\n\n<book category='web'>\n <title lang='en'>XQuery Kick Start</title>\n <author>James McGovern</author>\n <author>Per Bothner</author>\n <author>Kurt Cagle</author>\n <author>James Linn</author>\n <author>Vaidyanathan Nagarajan</author>\n <year>2003</year>\n <price>49.99</price>\n</book>\n\n<book category='web' cover='paperback'>\n <title lang='en'>Learning XML</title>\n <author>Erik T. Ray</author>\n <year>2003</year>\n <price>39.95</price>\n</book>\n\n</bookstore>" - -[Node Type] - - Use method REXML::Element#node_type to retrieve the node type (always +:element+): - - doc.root.node_type # => :element - -[Raw Mode] - - Use method REXML::Element#raw to retrieve whether (+true+ or +nil+) - raw mode is set. - - doc.root.raw # => nil - -[Context] - - Use method REXML::Element#context to retrieve the context hash - (see {Element Context}[../context_rdoc.html]): - - doc.root.context # => {} - -=== Relationships - -An element may have: - -- Ancestors. -- Siblings. -- Children. - -==== Ancestors - -[Containing Document] - - Use method REXML::Element#document to retrieve the containing document, if any: - - ele = doc.root.elements.first # => <book category='cooking'> ... </> - ele.document # => <UNDEFINED> ... </> - ele = Element.new('foo') # => <foo/> - ele.document # => nil - -[Root Element] - - Use method REXML::Element#root to retrieve the root element: - - ele = doc.root.elements.first # => <book category='cooking'> ... </> - ele.root # => <bookstore> ... </> - ele = Element.new('foo') # => <foo/> - ele.root # => <foo/> - -[Root Node] - - Use method REXML::Element#root_node to retrieve the most distant ancestor, - which is the containing document, if any, otherwise the root element: - - ele = doc.root.elements.first # => <book category='cooking'> ... </> - ele.root_node # => <UNDEFINED> ... </> - ele = Element.new('foo') # => <foo/> - ele.root_node # => <foo/> - -[Parent] - - Use inherited method REXML::Child#parent to retrieve the parent - - ele = doc.root # => <bookstore> ... </> - ele.parent # => <UNDEFINED> ... </> - ele = doc.root.elements.first # => <book category='cooking'> ... </> - ele.parent # => <bookstore> ... </> - - Use included method REXML::Node#index_in_parent to retrieve the index - of the element among all of its parents children (not just the element children). - Note that while the index for <tt>doc.root.elements[n]</tt> is 1-based, - the returned index is 0-based. - - doc.root.children # => - # ["\n\n", - # <book category='cooking'> ... </>, - # "\n\n", - # <book category='children'> ... </>, - # "\n\n", - # <book category='web'> ... </>, - # "\n\n", - # <book category='web' cover='paperback'> ... </>, - # "\n\n"] - ele = doc.root.elements[1] # => <book category='cooking'> ... </> - ele.index_in_parent # => 2 - ele = doc.root.elements[2] # => <book category='children'> ... </> - ele.index_in_parent# => 4 - -==== Siblings - -[Next Element] - - Use method REXML::Element#next_element to retrieve the first following - sibling that is itself an element (+nil+ if there is none): - - ele = doc.root.elements[1] - while ele do - p [ele.class, ele] - ele = ele.next_element - end - p ele - - Output: - - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Element, <book category='children'> ... </>] - [REXML::Element, <book category='web'> ... </>] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - -[Previous Element] - - Use method REXML::Element#previous_element to retrieve the first preceding - sibling that is itself an element (+nil+ if there is none): - - ele = doc.root.elements[4] - while ele do - p [ele.class, ele] - ele = ele.previous_element - end - p ele - - Output: - - [REXML::Element, <book category='web' cover='paperback'> ... </>] - [REXML::Element, <book category='web'> ... </>] - [REXML::Element, <book category='children'> ... </>] - [REXML::Element, <book category='cooking'> ... </>] - -[Next Node] - - Use included method REXML::Node.next_sibling_node - (or its alias <tt>next_sibling</tt>) to retrieve the first following node - regardless of its class: - - node = doc.root.children[0] - while node do - p [node.class, node] - node = node.next_sibling - end - p node - - Output: - - [REXML::Text, "\n\n"] - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='children'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - [REXML::Text, "\n\n"] - -[Previous Node] - - Use included method REXML::Node.previous_sibling_node - (or its alias <tt>previous_sibling</tt>) to retrieve the first preceding node - regardless of its class: - - node = doc.root.children[-1] - while node do - p [node.class, node] - node = node.previous_sibling - end - p node - - Output: - - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='children'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Text, "\n\n"] - -==== Children - -[Child Count] - - Use inherited method REXML::Parent.size to retrieve the count - of nodes (of all types) in the element: - - doc.root.size # => 9 - -[Child Nodes] - - Use inherited method REXML::Parent.children to retrieve an array - of the child nodes (of all types): - - doc.root.children # => - # ["\n\n", - # <book category='cooking'> ... </>, - # "\n\n", - # <book category='children'> ... </>, - # "\n\n", - # <book category='web'> ... </>, - # "\n\n", - # <book category='web' cover='paperback'> ... </>, - # "\n\n"] - -[Child at Index] - - Use method REXML::Element#[] to retrieve the child at a given numerical index, - or +nil+ if there is no such child: - - doc.root[0] # => "\n\n" - doc.root[1] # => <book category='cooking'> ... </> - doc.root[7] # => <book category='web' cover='paperback'> ... </> - doc.root[8] # => "\n\n" - - doc.root[-1] # => "\n\n" - doc.root[-2] # => <book category='web' cover='paperback'> ... </> - - doc.root[50] # => nil - -[Index of Child] - - Use method REXML::Parent#index to retrieve the zero-based child index - of the given object, or <tt>#size - 1</tt> if there is no such child: - - ele = doc.root # => <bookstore> ... </> - ele.index(ele[0]) # => 0 - ele.index(ele[1]) # => 1 - ele.index(ele[7]) # => 7 - ele.index(ele[8]) # => 8 - - ele.index(ele[-1]) # => 8 - ele.index(ele[-2]) # => 7 - - ele.index(ele[50]) # => 8 - -[Element Children] - - Use method REXML::Element#has_elements? to retrieve whether the element - has element children: - - doc.root.has_elements? # => true - REXML::Element.new('foo').has_elements? # => false - - Use method REXML::Element#elements to retrieve the REXML::Elements object - containing the element children: - - eles = doc.root.elements - eles # => #<REXML::Elements:0x000001ee2848e960 @element=<bookstore> ... </>> - eles.size # => 4 - eles.each {|e| p [e.class], e } - - Output: - - [<book category='cooking'> ... </>, - <book category='children'> ... </>, - <book category='web'> ... </>, - <book category='web' cover='paperback'> ... </> - ] - -Note that while in this example, all the element children of the root element are -elements of the same name, <tt>'book'</tt>, that is not true of all documents; -a root element (or any other element) may have any mixture of child elements. - -[CDATA Children] - - Use method REXML::Element#cdatas to retrieve a frozen array of CDATA children: - - my_xml = <<-EOT - <root> - <![CDATA[foo]]> - <![CDATA[bar]]> - </root> - EOT - my_doc = REXML::Document.new(my_xml) - cdatas my_doc.root.cdatas - cdatas.frozen? # => true - cdatas.map {|cd| cd.class } # => [REXML::CData, REXML::CData] - -[Comment Children] - - Use method REXML::Element#comments to retrieve a frozen array of comment children: - - my_xml = <<-EOT - <root> - <!--foo--> - <!--bar--> - </root> - EOT - my_doc = REXML::Document.new(my_xml) - comments = my_doc.root.comments - comments.frozen? # => true - comments.map {|c| c.class } # => [REXML::Comment, REXML::Comment] - comments.map {|c| c.to_s } # => ["foo", "bar"] - -[Processing Instruction Children] - - Use method REXML::Element#instructions to retrieve a frozen array - of processing instruction children: - - my_xml = <<-EOT - <root> - <?target0 foo?> - <?target1 bar?> - </root> - EOT - my_doc = REXML::Document.new(my_xml) - instrs = my_doc.root.instructions - instrs.frozen? # => true - instrs.map {|i| i.class } # => [REXML::Instruction, REXML::Instruction] - instrs.map {|i| i.to_s } # => ["<?target0 foo?>", "<?target1 bar?>"] - -[Text Children] - - Use method REXML::Element#has_text? to retrieve whether the element - has text children: - - doc.root.has_text? # => true - REXML::Element.new('foo').has_text? # => false - - Use method REXML::Element#texts to retrieve a frozen array of text children: - - my_xml = '<root><a/>text<b/>more<c/></root>' - my_doc = REXML::Document.new(my_xml) - texts = my_doc.root.texts - texts.frozen? # => true - texts.map {|t| t.class } # => [REXML::Text, REXML::Text] - texts.map {|t| t.to_s } # => ["text", "more"] - -[Parenthood] - - Use inherited method REXML::Parent.parent? to retrieve whether the element is a parent; - always returns +true+; only REXML::Child#parent returns +false+. - - doc.root.parent? # => true - -=== Element Attributes - -Use method REXML::Element#has_attributes? to return whether the element -has attributes: - - ele = doc.root # => <bookstore> ... </> - ele.has_attributes? # => false - ele = ele.elements.first # => <book category='cooking'> ... </> - ele.has_attributes? # => true - -Use method REXML::Element#attributes to return the hash -containing the attributes for the element. -Each hash key is a string attribute name; -each hash value is an REXML::Attribute object. - - ele = doc.root # => <bookstore> ... </> - attrs = ele.attributes # => {} - - ele = ele.elements.first # => <book category='cooking'> ... </> - attrs = ele.attributes # => {"category"=>category='cooking'} - attrs.size # => 1 - attr_name = attrs.keys.first # => "category" - attr_name.class # => String - attr_value = attrs.values.first # => category='cooking' - attr_value.class # => REXML::Attribute - -Use method REXML::Element#[] to retrieve the string value for a given attribute, -which may be given as either a string or a symbol: - - ele = doc.root.elements.first # => <book category='cooking'> ... </> - attr_value = ele['category'] # => "cooking" - attr_value.class # => String - ele['nosuch'] # => nil - -Use method REXML::Element#attribute to retrieve the value of a named attribute: - - my_xml = "<root xmlns:a='a' a:x='a:x' x='x'/>" - my_doc = REXML::Document.new(my_xml) - my_doc.root.attribute("x") # => x='x' - my_doc.root.attribute("x", "a") # => a:x='a:x' - -== Whitespace - -Use method REXML::Element#ignore_whitespace_nodes to determine whether -whitespace nodes were ignored when the XML was parsed; -returns +true+ if so, +nil+ otherwise. - -Use method REXML::Element#whitespace to determine whether whitespace -is respected for the element; returns +true+ if so, +false+ otherwise. - -== Namespaces - -Use method REXML::Element#namespace to retrieve the string namespace URI -for the element, which may derive from one of its ancestors: - - xml_string = <<-EOT - <root> - <a xmlns='1' xmlns:y='2'> - <b/> - <c xmlns:z='3'/> - </a> - </root> - EOT - d = Document.new(xml_string) - b = d.elements['//b'] - b.namespace # => "1" - b.namespace('y') # => "2" - b.namespace('nosuch') # => nil - -Use method REXML::Element#namespaces to retrieve a hash of all defined namespaces -in the element and its ancestors: - - xml_string = <<-EOT - <root> - <a xmlns:x='1' xmlns:y='2'> - <b/> - <c xmlns:z='3'/> - </a> - </root> - EOT - d = Document.new(xml_string) - d.elements['//a'].namespaces # => {"x"=>"1", "y"=>"2"} - d.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"} - d.elements['//c'].namespaces # => {"x"=>"1", "y"=>"2", "z"=>"3"} - -Use method REXML::Element#prefixes to retrieve an array of the string prefixes (names) -of all defined namespaces in the element and its ancestors: - - xml_string = <<-EOT - <root> - <a xmlns:x='1' xmlns:y='2'> - <b/> - <c xmlns:z='3'/> - </a> - </root> - EOT - d = Document.new(xml_string, {compress_whitespace: :all}) - d.elements['//a'].prefixes # => ["x", "y"] - d.elements['//b'].prefixes # => ["x", "y"] - d.elements['//c'].prefixes # => ["x", "y", "z"] - -== Traversing - -You can use certain methods to traverse children of the element. -Each child that meets given criteria is yielded to the given block. - -[Traverse All Children] - - Use inherited method REXML::Parent#each (or its alias #each_child) to traverse - all children of the element: - - doc.root.each {|child| p [child.class, child] } - - Output: - - [REXML::Text, "\n\n"] - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='children'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web'> ... </>] - [REXML::Text, "\n\n"] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - [REXML::Text, "\n\n"] - -[Traverse Element Children] - - Use method REXML::Element#each_element to traverse only the element children - of the element: - - doc.root.each_element {|e| p [e.class, e] } - - Output: - - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Element, <book category='children'> ... </>] - [REXML::Element, <book category='web'> ... </>] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - -[Traverse Element Children with Attribute] - - Use method REXML::Element#each_element_with_attribute with the single argument - +attr_name+ to traverse each element child that has the given attribute: - - my_doc = Document.new '<a><b id="1"/><c id="2"/><d id="1"/><e/></a>' - my_doc.root.each_element_with_attribute('id') {|e| p [e.class, e] } - - Output: - - [REXML::Element, <b id='1'/>] - [REXML::Element, <c id='2'/>] - [REXML::Element, <d id='1'/>] - - Use the same method with a second argument +value+ to traverse - each element child element that has the given attribute and value: - - my_doc.root.each_element_with_attribute('id', '1') {|e| p [e.class, e] } - - Output: - - [REXML::Element, <b id='1'/>] - [REXML::Element, <d id='1'/>] - - Use the same method with a third argument +max+ to traverse - no more than the given number of element children: - - my_doc.root.each_element_with_attribute('id', '1', 1) {|e| p [e.class, e] } - - Output: - - [REXML::Element, <b id='1'/>] - - Use the same method with a fourth argument +xpath+ to traverse - only those element children that match the given xpath: - - my_doc.root.each_element_with_attribute('id', '1', 2, '//d') {|e| p [e.class, e] } - - Output: - - [REXML::Element, <d id='1'/>] - -[Traverse Element Children with Text] - - Use method REXML::Element#each_element_with_text with no arguments - to traverse those element children that have text: - - my_doc = Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>' - my_doc.root.each_element_with_text {|e| p [e.class, e] } - - Output: - - [REXML::Element, <b> ... </>] - [REXML::Element, <c> ... </>] - [REXML::Element, <d> ... </>] - - Use the same method with the single argument +text+ to traverse - those element children that have exactly that text: - - my_doc.root.each_element_with_text('b') {|e| p [e.class, e] } - - Output: - - [REXML::Element, <b> ... </>] - [REXML::Element, <c> ... </>] - - Use the same method with additional second argument +max+ to traverse - no more than the given number of element children: - - my_doc.root.each_element_with_text('b', 1) {|e| p [e.class, e] } - - Output: - - [REXML::Element, <b> ... </>] - - Use the same method with additional third argument +xpath+ to traverse - only those element children that also match the given xpath: - - my_doc.root.each_element_with_text('b', 2, '//c') {|e| p [e.class, e] } - - Output: - - [REXML::Element, <c> ... </>] - -[Traverse Element Children's Indexes] - - Use inherited method REXML::Parent#each_index to traverse all children's indexes - (not just those of element children): - - doc.root.each_index {|i| print i } - - Output: - - 012345678 - -[Traverse Children Recursively] - - Use included method REXML::Node#each_recursive to traverse all children recursively: - - doc.root.each_recursive {|child| p [child.class, child] } - - Output: - - [REXML::Element, <book category='cooking'> ... </>] - [REXML::Element, <title lang='en'> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <year> ... </>] - [REXML::Element, <price> ... </>] - [REXML::Element, <book category='children'> ... </>] - [REXML::Element, <title lang='en'> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <year> ... </>] - [REXML::Element, <price> ... </>] - [REXML::Element, <book category='web'> ... </>] - [REXML::Element, <title lang='en'> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <year> ... </>] - [REXML::Element, <price> ... </>] - [REXML::Element, <book category='web' cover='paperback'> ... </>] - [REXML::Element, <title lang='en'> ... </>] - [REXML::Element, <author> ... </>] - [REXML::Element, <year> ... </>] - [REXML::Element, <price> ... </>] - -== Searching - -You can use certain methods to search among the descendants of an element. - -Use method REXML::Element#get_elements to retrieve all element children of the element -that match the given +xpath+: - - xml_string = <<-EOT - <root> - <a level='1'> - <a level='2'/> - </a> - </root> - EOT - d = Document.new(xml_string) - d.root.get_elements('//a') # => [<a level='1'> ... </>, <a level='2'/>] - -Use method REXML::Element#get_text with no argument to retrieve the first text node -in the first child: - - my_doc = Document.new "<p>some text <b>this is bold!</b> more text</p>" - text_node = my_doc.root.get_text - text_node.class # => REXML::Text - text_node.to_s # => "some text " - -Use the same method with argument +xpath+ to retrieve the first text node -in the first child that matches the xpath: - - my_doc.root.get_text(1) # => "this is bold!" - -Use method REXML::Element#text with no argument to retrieve the text -from the first text node in the first child: - - my_doc = Document.new "<p>some text <b>this is bold!</b> more text</p>" - text_node = my_doc.root.text - text_node.class # => String - text_node # => "some text " - -Use the same method with argument +xpath+ to retrieve the text from the first text node -in the first child that matches the xpath: - - my_doc.root.text(1) # => "this is bold!" - -Use included method REXML::Node#find_first_recursive -to retrieve the first descendant element -for which the given block returns a truthy value, or +nil+ if none: - - doc.root.find_first_recursive do |ele| - ele.name == 'price' - end # => <price> ... </> - doc.root.find_first_recursive do |ele| - ele.name == 'nosuch' - end # => nil - -== Editing - -=== Editing a Document - -[Creating a Document] - - Create a new document with method REXML::Document::new: - - doc = Document.new(source_string) - empty_doc = REXML::Document.new - -[Adding to the Document] - - Add an XML declaration with method REXML::Document#add - and an argument of type REXML::XMLDecl: - - my_doc = Document.new - my_doc.xml_decl.to_s # => "" - my_doc.add(XMLDecl.new('2.0')) - my_doc.xml_decl.to_s # => "<?xml version='2.0'?>" - - Add a document type with method REXML::Document#add - and an argument of type REXML::DocType: - - my_doc = Document.new - my_doc.doctype.to_s # => "" - my_doc.add(DocType.new('foo')) - my_doc.doctype.to_s # => "<!DOCTYPE foo>" - - Add a node of any other REXML type with method REXML::Document#add and an argument - that is not of type REXML::XMLDecl or REXML::DocType: - - my_doc = Document.new - my_doc.add(Element.new('foo')) - my_doc.to_s # => "<foo/>" - - Add an existing element as the root element with method REXML::Document#add_element: - - ele = Element.new('foo') - my_doc = Document.new - my_doc.add_element(ele) - my_doc.root # => <foo/> - - Create and add an element as the root element with method REXML::Document#add_element: - - my_doc = Document.new - my_doc.add_element('foo') - my_doc.root # => <foo/> - -=== Editing an Element - -==== Creating an Element - -Create a new element with method REXML::Element::new: - - ele = Element.new('foo') # => <foo/> - -==== Setting Element Properties - -Set the context for an element with method REXML::Element#context= -(see {Element Context}[../context_rdoc.html]): - - ele.context # => nil - ele.context = {ignore_whitespace_nodes: :all} - ele.context # => {:ignore_whitespace_nodes=>:all} - -Set the parent for an element with inherited method REXML::Child#parent= - - ele.parent # => nil - ele.parent = Element.new('bar') - ele.parent # => <bar/> - -Set the text for an element with method REXML::Element#text=: - - ele.text # => nil - ele.text = 'bar' - ele.text # => "bar" - -==== Adding to an Element - -Add a node as the last child with inherited method REXML::Parent#add (or its alias #push): - - ele = Element.new('foo') # => <foo/> - ele.push(Text.new('bar')) - ele.push(Element.new('baz')) - ele.children # => ["bar", <baz/>] - -Add a node as the first child with inherited method REXML::Parent#unshift: - - ele = Element.new('foo') # => <foo/> - ele.unshift(Element.new('bar')) - ele.unshift(Text.new('baz')) - ele.children # => ["bar", <baz/>] - -Add an element as the last child with method REXML::Element#add_element: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_element(Element.new('baz')) - ele.children # => [<bar/>, <baz/>] - -Add a text node as the last child with method REXML::Element#add_text: - - ele = Element.new('foo') # => <foo/> - ele.add_text('bar') - ele.add_text(Text.new('baz')) - ele.children # => ["bar", "baz"] - -Insert a node before a given node with method REXML::Parent#insert_before: - - ele = Element.new('foo') # => <foo/> - ele.add_text('bar') - ele.add_text(Text.new('baz')) - ele.children # => ["bar", "baz"] - target = ele[1] # => "baz" - ele.insert_before(target, Text.new('bat')) - ele.children # => ["bar", "bat", "baz"] - -Insert a node after a given node with method REXML::Parent#insert_after: - - ele = Element.new('foo') # => <foo/> - ele.add_text('bar') - ele.add_text(Text.new('baz')) - ele.children # => ["bar", "baz"] - target = ele[0] # => "bar" - ele.insert_after(target, Text.new('bat')) - ele.children # => ["bar", "bat", "baz"] - -Add an attribute with method REXML::Element#add_attribute: - - ele = Element.new('foo') # => <foo/> - ele.add_attribute('bar', 'baz') - ele.add_attribute(Attribute.new('bat', 'bam')) - ele.attributes # => {"bar"=>bar='baz', "bat"=>bat='bam'} - -Add multiple attributes with method REXML::Element#add_attributes: - - ele = Element.new('foo') # => <foo/> - ele.add_attributes({'bar' => 'baz', 'bat' => 'bam'}) - ele.add_attributes([['ban', 'bap'], ['bah', 'bad']]) - ele.attributes # => {"bar"=>bar='baz', "bat"=>bat='bam', "ban"=>ban='bap', "bah"=>bah='bad'} - -Add a namespace with method REXML::Element#add_namespace: - - ele = Element.new('foo') # => <foo/> - ele.add_namespace('bar') - ele.add_namespace('baz', 'bat') - ele.namespaces # => {"xmlns"=>"bar", "baz"=>"bat"} - -==== Deleting from an Element - -Delete a specific child object with inherited method REXML::Parent#delete: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.children # => [<bar/>, "baz"] - target = ele[1] # => "baz" - ele.delete(target) # => "baz" - ele.children # => [<bar/>] - target = ele[0] # => <baz/> - ele.delete(target) # => <baz/> - ele.children # => [] - -Delete a child at a specific index with inherited method REXML::Parent#delete_at: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.children # => [<bar/>, "baz"] - ele.delete_at(1) - ele.children # => [<bar/>] - ele.delete_at(0) - ele.children # => [] - -Delete all children meeting a specified criterion with inherited method -REXML::Parent#delete_if: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - ele.delete_if {|child| child.instance_of?(Text) } - ele.children # => [<bar/>, <bat/>] - -Delete an element at a specific 1-based index with method REXML::Element#delete_element: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - ele.delete_element(2) # => <bat/> - ele.children # => [<bar/>, "baz", "bam"] - ele.delete_element(1) # => <bar/> - ele.children # => ["baz", "bam"] - -Delete a specific element with the same method: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - target = ele.elements[2] # => <bat/> - ele.delete_element(target) # => <bat/> - ele.children # => [<bar/>, "baz", "bam"] - -Delete an element matching an xpath using the same method: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - ele.delete_element('./bat') # => <bat/> - ele.children # => [<bar/>, "baz", "bam"] - ele.delete_element('./bar') # => <bar/> - ele.children # => ["baz", "bam"] - -Delete an attribute by name with method REXML::Element#delete_attribute: - - ele = Element.new('foo') # => <foo/> - ele.add_attributes({'bar' => 'baz', 'bam' => 'bat'}) - ele.attributes # => {"bar"=>bar='baz', "bam"=>bam='bat'} - ele.delete_attribute('bam') - ele.attributes # => {"bar"=>bar='baz'} - -Delete a namespace with method REXML::Element#delete_namespace: - - ele = Element.new('foo') # => <foo/> - ele.add_namespace('bar') - ele.add_namespace('baz', 'bat') - ele.namespaces # => {"xmlns"=>"bar", "baz"=>"bat"} - ele.delete_namespace('xmlns') - ele.namespaces # => {} # => {"baz"=>"bat"} - ele.delete_namespace('baz') - ele.namespaces # => {} # => {} - -Remove an element from its parent with inherited method REXML::Child#remove: - - ele = Element.new('foo') # => <foo/> - parent = Element.new('bar') # => <bar/> - parent.add_element(ele) # => <foo/> - parent.children.size # => 1 - ele.remove # => <foo/> - parent.children.size # => 0 - -==== Replacing Nodes - -Replace the node at a given 0-based index with inherited method REXML::Parent#[]=: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - ele[2] = Text.new('bad') # => "bad" - ele.children # => [<bar/>, "baz", "bad", "bam"] - -Replace a given node with another node with inherited method REXML::Parent#replace_child: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - target = ele[2] # => <bat/> - ele.replace_child(target, Text.new('bah')) - ele.children # => [<bar/>, "baz", "bah", "bam"] - -Replace +self+ with a given node with inherited method REXML::Child#replace_with: - - ele = Element.new('foo') # => <foo/> - ele.add_element('bar') - ele.add_text('baz') - ele.add_element('bat') - ele.add_text('bam') - ele.children # => [<bar/>, "baz", <bat/>, "bam"] - target = ele[2] # => <bat/> - target.replace_with(Text.new('bah')) - ele.children # => [<bar/>, "baz", "bah", "bam"] - -=== Cloning - -Create a shallow clone of an element with method REXML::Element#clone. -The clone contains the name and attributes, but not the parent or children: - - ele = Element.new('foo') - ele.add_attributes({'bar' => 0, 'baz' => 1}) - ele.clone # => <foo bar='0' baz='1'/> - -Create a shallow clone of a document with method REXML::Document#clone. -The XML declaration is copied; the document type and root element are not cloned: - - my_xml = '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo><root/>' - my_doc = Document.new(my_xml) - clone_doc = my_doc.clone - - my_doc.xml_decl # => <?xml ... ?> - clone_doc.xml_decl # => <?xml ... ?> - - my_doc.doctype.to_s # => "<?xml version='1.0' encoding='UTF-8'?>" - clone_doc.doctype.to_s # => "" - - my_doc.root # => <root/> - clone_doc.root # => nil - -Create a deep clone of an element with inherited method REXML::Parent#deep_clone. -All nodes and attributes are copied: - - doc.to_s.size # => 825 - clone = doc.deep_clone - clone.to_s.size # => 825 - -== Writing the Document - -Write a document to an \IO stream (defaults to <tt>$stdout</tt>) -with method REXML::Document#write: - - doc.write - -Output: - - <?xml version='1.0' encoding='UTF-8'?> - <bookstore> - - <book category='cooking'> - <title lang='en'>Everyday Italian</title> - <author>Giada De Laurentiis</author> - <year>2005</year> - <price>30.00</price> - </book> - - <book category='children'> - <title lang='en'>Harry Potter</title> - <author>J K. Rowling</author> - <year>2005</year> - <price>29.99</price> - </book> - - <book category='web'> - <title lang='en'>XQuery Kick Start</title> - <author>James McGovern</author> - <author>Per Bothner</author> - <author>Kurt Cagle</author> - <author>James Linn</author> - <author>Vaidyanathan Nagarajan</author> - <year>2003</year> - <price>49.99</price> - </book> - - <book category='web' cover='paperback'> - <title lang='en'>Learning XML</title> - <author>Erik T. Ray</author> - <year>2003</year> - <price>39.95</price> - </book> - - </bookstore> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/Gemfile deleted file mode 100644 index 12095db..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/Gemfile +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true - -source 'http://rubygems.org' - -gemspec - -gem 'rake' - -gem 'minitest', '>= 5.0' -gem 'minitest-power_assert' - -gem 'parallel', '~> 1.13.0' if RUBY_VERSION < '2.2.0' -gem 'rubocop', '~> 0.49.1' - -# don't try to install redcarpet under jruby -gem 'redcarpet', :platforms => :ruby - -# Profiling -if RUBY_VERSION >= '2.3.0' - gem 'memory_profiler', :require => false -end - -# Needed for a Rake task -gem 'git' -gem 'yard' - -group :development do - gem 'pry' - - # docs - gem 'github-markup' - - # for visual tests - if RUBY_VERSION < '2.2.0' - gem 'sinatra', '~> 1.4.8' - else - gem 'sinatra' - end - gem 'shotgun' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/LICENSE deleted file mode 100644 index 660592c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/LICENSE +++ /dev/null @@ -1,186 +0,0 @@ -# MIT license. See http://www.opensource.org/licenses/mit-license.php - -Copyright (c) 2012 Jeanine Adkisson. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -# SPECIAL NOTE: -Many of the lexers in this project are adaptations of those in Pygments -(pygments.org). The license for Pygments is as follows: - -# BEGIN pygments/LICENSE # - -Copyright (c) 2006-2012 by the respective authors (see AUTHORS file). -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# END pygments/LICENSE # - -The contents of the AUTHORS file at the time of porting was: - -# BEGIN pygments/AUTHORS # - -Pygments is written and maintained by Georg Brandl <georg@python.org>. - -Major developers are Tim Hatch <tim@timhatch.com> and Armin Ronacher -<armin.ronacher@active-4.com>. - -Other contributors, listed alphabetically, are: - -* Sam Aaron -- Ioke lexer -* Kumar Appaiah -- Debian control lexer -* Ali Afshar -- image formatter -* Andreas Amann -- AppleScript lexer -* Jeffrey Arnold -- R/S lexer, BUGS lexers -* Jeremy Ashkenas -- CoffeeScript lexer -* Stefan Matthias Aust -- Smalltalk lexer -* Ben Bangert -- Mako lexers -* Max Battcher -- Darcs patch lexer -* Paul Baumgart, 280 North, Inc. -- Objective-J lexer -* Michael Bayer -- Myghty lexers -* John Benediktsson -- Factor lexer -* Christopher Bertels -- Fancy lexer -* Jarrett Billingsley -- MiniD lexer -* Adam Blinkinsop -- Haskell, Redcode lexers -* Frits van Bommel -- assembler lexers -* Pierre Bourdon -- bugfixes -* Hiram Chirino -- Scaml and Jade lexers -* Leaf Corcoran -- MoonScript lexer -* Christopher Creutzig -- MuPAD lexer -* Pete Curry -- bugfixes -* Owen Durni -- haXe lexer -* Nick Efford -- Python 3 lexer -* Sven Efftinge -- Xtend lexer -* Artem Egorkine -- terminal256 formatter -* James H. Fisher -- PostScript lexer -* Carlos Galdino -- Elixir and Elixir Console lexers -* Naveen Garg -- Autohotkey lexer -* Laurent Gautier -- R/S lexer -* Alex Gaynor -- PyPy log lexer -* Bertrand Goetzmann -- Groovy lexer -* Krzysiek Goj -- Scala lexer -* Matt Good -- Genshi, Cheetah lexers -* Patrick Gotthardt -- PHP namespaces support -* Olivier Guibe -- Asymptote lexer -* Martin Harriman -- SNOBOL lexer -* Matthew Harrison -- SVG formatter -* Steven Hazel -- Tcl lexer -* Aslak Hellesøy -- Gherkin lexer -* Greg Hendershott -- Racket lexer -* Jordi Gutiérrez Hermoso -- Octave lexer -* David Hess, Fish Software, Inc. -- Objective-J lexer -* Varun Hiremath -- Debian control lexer -* Doug Hogan -- Mscgen lexer -* Ben Hollis -- Mason lexer -* Tim Howard -- BlitzMax lexer -* Ivan Inozemtsev -- Fantom lexer -* Brian R. Jackson -- Tea lexer -* Dennis Kaarsemaker -- sources.list lexer -* Igor Kalnitsky -- vhdl lexer -* Eric Knibbe -- Lasso lexer -* Adam Koprowski -- Opa lexer -* Benjamin Kowarsch -- Modula-2 lexer -* Alexander Kriegisch -- Kconfig and AspectJ lexers -* Marek Kubica -- Scheme lexer -* Jochen Kupperschmidt -- Markdown processor -* Gerd Kurzbach -- Modelica lexer -* Olov Lassus -- Dart lexer -* Sylvestre Ledru -- Scilab lexer -* Mark Lee -- Vala lexer -* Ben Mabey -- Gherkin lexer -* Simone Margaritelli -- Hybris lexer -* Kirk McDonald -- D lexer -* Gordon McGregor -- SystemVerilog lexer -* Stephen McKamey -- Duel/JBST lexer -* Brian McKenna -- F# lexer -* Lukas Meuser -- BBCode formatter, Lua lexer -* Paul Miller -- LiveScript lexer -* Hong Minhee -- HTTP lexer -* Michael Mior -- Awk lexer -* Jon Morton -- Rust lexer -* Paulo Moura -- Logtalk lexer -* Mher Movsisyan -- DTD lexer -* Ana Nelson -- Ragel, ANTLR, R console lexers -* Nam T. Nguyen -- Monokai style -* Jesper Noehr -- HTML formatter "anchorlinenos" -* Mike Nolta -- Julia lexer -* Jonas Obrist -- BBCode lexer -* David Oliva -- Rebol lexer -* Jon Parise -- Protocol buffers lexer -* Ronny Pfannschmidt -- BBCode lexer -* Benjamin Peterson -- Test suite refactoring -* Dominik Picheta -- Nimrod lexer -* Clément Prévost -- UrbiScript lexer -* Kashif Rasul -- CUDA lexer -* Justin Reidy -- MXML lexer -* Norman Richards -- JSON lexer -* Lubomir Rintel -- GoodData MAQL and CL lexers -* Andre Roberge -- Tango style -* Konrad Rudolph -- LaTeX formatter enhancements -* Mario Ruggier -- Evoque lexers -* Stou Sandalski -- NumPy, FORTRAN, tcsh and XSLT lexers -* Matteo Sasso -- Common Lisp lexer -* Joe Schafer -- Ada lexer -* Ken Schutte -- Matlab lexers -* Tassilo Schweyer -- Io, MOOCode lexers -* Joerg Sieker -- ABAP lexer -* Robert Simmons -- Standard ML lexer -* Kirill Simonov -- YAML lexer -* Steve Spigarelli -- XQuery lexer -* Jerome St-Louis -- eC lexer -* James Strachan -- Kotlin lexer -* Tiberius Teng -- default style overhaul -* Jeremy Thurgood -- Erlang, Squid config lexers -* Erick Tryzelaar -- Felix lexer -* Daniele Varrazzo -- PostgreSQL lexers -* Abe Voelker -- OpenEdge ABL lexer -* Whitney Young -- ObjectiveC lexer -* Matthias Vallentin -- Bro lexer -* Nathan Weizenbaum -- Haml and Sass lexers -* Dietmar Winkler -- Modelica lexer -* Nils Winter -- Smalltalk lexer -* Davy Wybiral -- Clojure lexer -* Diego Zamboni -- CFengine3 lexer -* Alex Zimin -- Nemerle lexer - -Many thanks for all contributions! - -# END pygments/AUTHORS # diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/bin/rougify b/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/bin/rougify deleted file mode 100755 index 13f2b10..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/bin/rougify +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require 'pathname' -ROOT_DIR = Pathname.new(__FILE__).dirname.parent -Kernel::load ROOT_DIR.join('lib/rouge.rb') -Kernel::load ROOT_DIR.join('lib/rouge/cli.rb') -Signal.trap('PIPE', 'SYSTEM_DEFAULT') if Signal.list.include? 'PIPE' - -begin - Rouge::CLI.parse(ARGV).run -rescue Rouge::CLI::Error => e - puts e.message - exit e.status -rescue Interrupt - $stderr.puts "\nrouge: interrupted" - exit 2 -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/rouge.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/rouge.gemspec deleted file mode 100644 index c036876..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rouge-3.26.0/rouge.gemspec +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -require './lib/rouge/version' - -Gem::Specification.new do |s| - s.name = "rouge" - s.version = Rouge.version - s.authors = ["Jeanine Adkisson"] - s.email = ["jneen@jneen.net"] - s.summary = "A pure-ruby colorizer based on pygments" - s.description = <<-desc.strip.gsub(/\s+/, ' ') - Rouge aims to a be a simple, easy-to-extend drop-in replacement - for pygments. - desc - s.homepage = "http://rouge.jneen.net/" - s.files = Dir['Gemfile', 'LICENSE', 'rouge.gemspec', 'lib/**/*.rb', 'lib/**/*.yml', 'bin/rougify', 'lib/rouge/demos/*'] - s.executables = %w(rougify) - s.licenses = ['MIT', 'BSD-2-Clause'] - s.required_ruby_version = '>= 2.0' - s.metadata = { - "bug_tracker_uri" => "https://github.com/rouge-ruby/rouge/issues", - "changelog_uri" => "https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md", - "documentation_uri" => "https://rouge-ruby.github.io/docs/", - "source_code_uri" => "https://github.com/rouge-ruby/rouge" - } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/ChangeLog b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/ChangeLog deleted file mode 100644 index 848806c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/ChangeLog +++ /dev/null @@ -1,214 +0,0 @@ --*- coding: utf-8 -*- - -commit 92ad9c5c3fff591b8383ada8b93c3da1279d24ad - Author: Benoit Daloze <eregontp@gmail.com> - AuthorDate: 2021-01-19 16:15:55 +0100 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-13 09:02:24 +0900 - - Add TruffleRuby in CI - -commit 07d7fa17e4c61102597280bd31a6b5972d8e5588 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-11 17:23:30 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-11 21:51:58 +0900 - - bundle-install only on ruby 2.1 - -commit 5f993b84a469cdc1995077dc0d8391928bb7ac1a - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-11 12:18:26 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-11 21:39:44 +0900 - - Split Rakefile into rakelib - -commit 8e4d9a8de92e9f1f3690fbc224aac1e0d102c36e - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-11 21:38:24 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-11 21:38:24 +0900 - - Ignore lock file and generated logs - -commit 03b864c09e657c130a66c7ab68d962a31df3b819 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-10 21:37:20 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 21:44:29 +0900 - - Do not use gemspec for gem dependecy - -commit 636c350c0a10ec75a9b01dd4db983abe6310136f - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-10 12:26:30 +0900 - Commit: GitHub <noreply@github.com> - CommitDate: 2021-02-10 12:26:30 +0900 - - Reduced tests - - Target only the currently maintained versions and the oldest available version, omitting the in-betweens. - -commit 97b4de75c83c927eca773e689ecb49557a972024 - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 11:58:41 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 11:54:45 +0900 - - Add docker-compose.yml for easy testing of older rubies - -commit 6974495d294cd59b8c0dba78a26b391f25154050 - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 11:39:26 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 11:54:45 +0900 - - Explicitly declare support for Ruby >= 2.0.0 - - This can be used to clarify support, as well as in the future to drop - support for rubies, if so desired. - -commit 64aad913e16d7e6008aa6ca06cf3f1b6fa864c4a - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-10 00:42:59 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:42:59 +0900 - - Separated install from test - -commit 74cb318db44a3851f724ac72624f1509bbf1bdd4 - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 12:09:11 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:39:31 +0900 - - Add older Rubies to CI as well - -commit 098295f4e9510a751097a6fc0e76c278ae9a1ff0 - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 11:20:19 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:25:20 +0900 - - Avoid built-in old `test-unit` - - In Ruby <= 2.1, `test-unit` was shipped with Ruby itself (unbundling - was done for 2.2 -- see <https://bugs.ruby-lang.org/issues/9711>). - - The `test-unit` version shipped with 2.1 breaks some of the tests. - To fix this, I've added the minimum needed version explicitly to the - `gemspec`, as well as added a `gems.rb` for allowing the use of - `bundler` to run the tests and ensure the correct `test-unit` is used. - -commit 1773502b1c445ae0ca1c31960a1b64b2f040f8c1 - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 10:43:18 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:22:22 +0900 - - Avoid using `Binding#receiver` - - This feature is only available on Ruby 2.2+ and breaks older rubies. - - See <https://docs.ruby-lang.org/en/2.2.0/NEWS.html> for more details. - -commit 0784ef08e280a5eb3c08fd9198b381af0ec027f6 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-09 23:46:24 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:22:22 +0900 - - Strip the source directory from globbed paths - -commit 7f5f4f8cd9c605741bec1cdabece0dd7e53afd9a - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 10:15:27 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:22:22 +0900 - - Avoid using `base:` option for `Dir.glob` - - This option is only available on Ruby 2.5+ and breaks older rubies. - - See <https://rubyreferences.github.io/rubychanges/2.5.html#dirglob-base-argument> - for more details. - -commit f40159f5a66fff7bed873d68e06439ec960bc3f9 - Author: Ivo Anjo <ivo.anjo@datadoghq.com> - AuthorDate: 2021-02-04 10:35:42 +0000 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:22:21 +0900 - - Avoid using numbered block parameters - - This feature is only available on Ruby 2.7+ and breaks older rubies. - - See <https://rubyreferences.github.io/rubychanges/2.7.html#numbered-block-parameters> - for more details. - -commit c898163464e896d63698f19a49bc0ab8cc593081 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-09 23:50:56 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-10 00:21:21 +0900 - - Revert "Add TruffleRuby in CI" - - This reverts commit 294d9e79171b1b954f223f08acc6144f0fc6efd4. - -commit 88867dc48b9f0ec139cd349af40ae9dbea677b93 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-02-09 23:37:17 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-09 23:37:17 +0900 - - Moved the mandatory argument first - -commit 294d9e79171b1b954f223f08acc6144f0fc6efd4 - Author: Benoit Daloze <eregontp@gmail.com> - AuthorDate: 2021-01-19 16:15:55 +0100 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-02-09 23:09:57 +0900 - - Add TruffleRuby in CI - -commit 2f7e9000b4a64240616b1cbfbcff5e9174fdf6b1 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-20 13:19:12 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-24 20:01:28 +0900 - - Include ChangeLogs for old versions - -commit 4c54e01675202ad0a69bbd39a790290b9870e125 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-20 10:52:47 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-24 19:58:45 +0900 - - Added ChangeLog rule - -commit 9e5b2a4ba56d61a2b59f9db52c98155c0c449152 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-20 10:24:47 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-20 10:54:31 +0900 - - Added extra_rdoc_files to make README.md the main page - -commit 75927b417a79377770cddfe219b34aa87280a5e7 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-20 10:21:52 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-20 10:54:25 +0900 - - Separate tagging from version bump - -commit c353a3fffc323982d829275c82ae09fdbad94816 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-20 10:20:25 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-20 10:20:45 +0900 - - bump up to 0.0.5 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/LICENSE deleted file mode 100644 index 3b9d383..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright 2019-2020 Nobuyoshi Nakada, Yusuke Endoh - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/README.md deleted file mode 100644 index 42e1157..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# ruby2_keywords - -Provides empty `Module#ruby2_keywords` method, for the forward -source-level compatibility against ruby2.7 and ruby3. - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'ruby2_keywords' -``` - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install ruby2_keywords - -## Usage - -For class/module instance methods: - -```ruby -require 'ruby2_keywords' - -module YourModule - ruby2_keywords def delegating_method(*args) - other_method(*args) - end -end -``` - -For global methods: - -```ruby -require 'ruby2_keywords' - -ruby2_keywords def oldstyle_keywords(options = {}) -end -``` - -You can do the same for a method defined by `Module#define_method`: - -```ruby -define_method :delegating_method do |*args, &block| - other_method(*args, &block) -end -ruby2_keywords :delegating_method -``` - -## Contributing - -Bug reports and pull requests are welcome on [GitHub] or -[Ruby Issue Tracking System]. - -## Development - -After checking out the repo, run `bundle install` to install dependencies. -Then, run `bundle exec rake test` to run the tests. - -To test on older Ruby versions, you can use docker. E.g. to test on Ruby 2.0, -use `docker-compose run ruby-2.0`. - -## License - -The gem is available as open source under the terms of the -[Ruby License] or the [2-Clause BSD License]. - -[GitHub]: https://github.com/ruby/ruby2_keywords/ -[Ruby Issue Tracking System]: https://bugs.ruby-lang.org -[Ruby License]: https://www.ruby-lang.org/en/about/license.txt -[2-Clause BSD License]: https://opensource.org/licenses/BSD-2-Clause diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.0 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.0 deleted file mode 100644 index 2da8f55..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.0 +++ /dev/null @@ -1,25 +0,0 @@ --*- coding: utf-8 -*- - -commit 33787f35f09e26f4c1ca716fafc81144d5d21333 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2019-10-22 23:57:24 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2019-10-22 23:57:24 +0900 - - Added readme to files in gemspec - -commit 53b25f66cffa09e2c2b6730fd49241bb359f33db - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2019-10-22 23:55:26 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2019-10-22 23:55:26 +0900 - - authors may not be empty - -commit 6e6756bfa47bcf15ecc10ce07237886339edc415 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2019-10-17 00:18:01 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2019-10-17 00:18:01 +0900 - - Initial version diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.1 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.1 deleted file mode 100644 index 3cc954f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.1 +++ /dev/null @@ -1,9 +0,0 @@ --*- coding: utf-8 -*- - -commit b879d6e1d72651af6317e67eaa129d5c9be62e40 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2019-12-02 08:08:31 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2019-12-02 08:09:04 +0900 - - Added the toplevel method diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.2 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.2 deleted file mode 100644 index fc9fb81..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.2 +++ /dev/null @@ -1,55 +0,0 @@ --*- coding: utf-8 -*- - -commit a198860c7ceba43ccee428c20bdd082f2bdaba6e - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2020-01-08 15:51:35 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-01-08 15:51:35 +0900 - - Achieve version numbers from tags - -commit 07e126eea667923b2d5f4a7584687cb1decd3a56 - Author: Yusuke Endoh <mame@ruby-lang.org> - AuthorDate: 2020-01-06 15:27:08 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-01-08 15:38:19 +0900 - - Add a guard for Proc#ruby2_keywords - -commit ff392be2fbea77872d801ed0051c2f166dd6eee9 - Author: Yusuke Endoh <mame@ruby-lang.org> - AuthorDate: 2020-01-03 23:51:21 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-01-08 15:38:19 +0900 - - Add a shim for Proc#ruby2_keywords - -commit d5d8c0c8f45102c512bb8015988116c5110b28db - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2020-01-03 10:26:25 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-01-08 15:36:44 +0900 - - Check Module#ruby2_keywords arity - - It is considered a mistake, because calling this method with no - arguments has no effect. - -commit 9cf7c9791857db17afb235230059d6cbc2408e9e - Author: Jeremy Evans <code@jeremyevans.net> - AuthorDate: 2019-11-10 12:04:28 -0800 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2019-12-04 16:23:33 +0900 - - Fix usage example in README - - The examle warns in Ruby 2.7, and it isn't a case where you would - want to use ruby2_keywords. - -commit dcc6958efdf25045dce149bf4d0a327e8878c9dd - Author: Yusuke Endoh <mame@ruby-lang.org> - AuthorDate: 2019-12-03 18:08:39 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2019-12-03 18:54:26 +0900 - - Update homepage to the github repository diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.3 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.3 deleted file mode 100644 index 70ff5b6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.3 +++ /dev/null @@ -1,124 +0,0 @@ --*- coding: utf-8 -*- - -commit 396cc7991604632bc686e3c363504db42337cca3 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 20:57:52 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 21:10:28 +0900 - - Added tests - -commit aa06490df9efa905ef17c143e96edee547c4ffad - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 20:20:31 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 20:20:31 +0900 - - Fixed RDoc location - -commit 9603fec096b257d382776c09ab1f5fe88d289307 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 20:19:09 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 20:19:09 +0900 - - Make README.md the main page - -commit 5093cd212b44d1fbd8ef1c6b3f2bfa8f3427de16 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 19:21:06 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 19:21:06 +0900 - - Added least documents - -commit 52b8acf6a89de00f44c8854f0e30c2be4a3d7cb3 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 19:19:59 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 19:19:59 +0900 - - Define Hash.ruby2_keywords_hash singleton method - -commit 51c47c060d9678ae2c28bcf415bc87346cba1860 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 19:19:09 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 19:19:09 +0900 - - Define Hash.ruby2_keywords_hash? singleton method - -commit 2ee450c041cb1a3b15580c3963b778b33926503c - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 18:53:19 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 18:53:19 +0900 - - Package LICENSE file - - The source gemspec file is useless after building the gem file. - -commit a841a82a1ff485ab6dd5759f6f31dff17de45b65 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 14:41:53 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 14:51:06 +0900 - - README: fix Contributing and License - -commit cbecd4307612f6794962a701cb16ac620872c1f9 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 12:13:21 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 12:13:21 +0900 - - Added version guard against the default gem - -commit 52c15f0e55dfdcb8204e92c85a4dd5d524549533 - Author: Yusuke Endoh <mame@ruby-lang.org> - AuthorDate: 2021-01-07 17:39:52 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-07 19:56:19 +0900 - - Use private_method_defined? instead of respond_to? - - `Module.respond_to?(:ruby2_keywords, true)` does NOT check if - `Module#ruby2_keywords` is available. It worked well because there is - toplevel `ruby2_keywords` method, but using `private_method_defined?` is - better, I think. - - Also, this fixes a syntactic error. - -commit 23981c5296aec6c5dbe104b8adc7ca0e85cb4313 - Author: Yusuke Endoh <mame@ruby-lang.org> - AuthorDate: 2020-12-28 14:07:40 +0900 - Commit: GitHub <noreply@github.com> - CommitDate: 2020-12-28 14:07:40 +0900 - - Add an example for Module#define_method (#7) - -commit 92e74341dffc9a41d7671ea82709ba2e091ef4e8 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2020-12-27 17:43:35 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-12-27 17:43:35 +0900 - - Added BSD-2-Clause to the licenses of the gemspec - -commit 46ed72d40db163f9edbddbe6e5706794484ac5bb - Author: Antonio Terceiro <asa@terceiro.xyz> - AuthorDate: 2020-04-03 14:50:29 -0300 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-12-27 17:06:49 +0900 - - Add explicit license file - - Fixes #4 - -commit 53833c0f660239eeb572dd33d4a1fac503c4834a - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2020-12-27 17:05:37 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2020-12-27 17:05:37 +0900 - - Support Hash.ruby2_keywords_hash? diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.4 b/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.4 deleted file mode 100644 index ba9b591..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.5/logs/ChangeLog-0.0.4 +++ /dev/null @@ -1,53 +0,0 @@ --*- coding: utf-8 -*- - -commit 31766f4327e6e4555543b44fc6a5dc252c8ff6d9 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 23:49:55 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 23:49:55 +0900 - - bump up to 0.0.4 - -commit 8bf4b5b4169545ef5be46dec8cd6502d902a3e4a - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 23:49:51 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 23:49:51 +0900 - - Added bump target - -commit fba8eb45d6b2db2d0f829b0d20300e7d19268146 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 23:29:46 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 23:35:44 +0900 - - Build package - -commit 403ff84d12c9fe1f34397b3a164b0b2f73a560d1 - Author: Nobuyoshi Nakada <nobu@ruby-lang.org> - AuthorDate: 2021-01-19 23:25:17 +0900 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 23:33:35 +0900 - - Set SOURCE_DATE_EPOCH to make builds reproducible - -commit 956156ba793330928280c5301b093300a1a9f792 - Author: Nazar Matus <funkyloverone@gmail.com> - AuthorDate: 2021-01-19 16:07:37 +0200 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 23:33:11 +0900 - - Add Ruby 2.5 to the CI matrix - -commit d6d1775d793bcaf206af700120b0b4bd2dc3842d - Author: Nazar Matus <funkyloverone@gmail.com> - AuthorDate: 2021-01-19 15:47:38 +0200 - Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> - CommitDate: 2021-01-19 23:33:11 +0900 - - Fix Ruby 2.5 incopatibility - - We don't really need that second optional argument, - as its default value is just what we need - https://ruby-doc.org/core-2.7.2/Module.html#method-i-private_method_defined-3F diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/README.md deleted file mode 100644 index 059f22d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/README.md +++ /dev/null @@ -1,354 +0,0 @@ -# rubyzip - -[![Gem Version](https://badge.fury.io/rb/rubyzip.svg)](http://badge.fury.io/rb/rubyzip) -[![Build Status](https://secure.travis-ci.org/rubyzip/rubyzip.svg)](http://travis-ci.org/rubyzip/rubyzip) -[![Code Climate](https://codeclimate.com/github/rubyzip/rubyzip.svg)](https://codeclimate.com/github/rubyzip/rubyzip) -[![Coverage Status](https://img.shields.io/coveralls/rubyzip/rubyzip.svg)](https://coveralls.io/r/rubyzip/rubyzip?branch=master) - -Rubyzip is a ruby library for reading and writing zip files. - -## Important note - -The Rubyzip interface has changed!!! No need to do `require "zip/zip"` and `Zip` prefix in class names removed. - -If you have issues with any third-party gems that require an old version of rubyzip, you can use this workaround: - -```ruby -gem 'rubyzip', '>= 1.0.0' # will load new rubyzip version -gem 'zip-zip' # will load compatibility for old rubyzip API. -``` - -## Requirements - -- Ruby 2.4 or greater (for rubyzip 2.0; use 1.x for older rubies) - -## Installation - -Rubyzip is available on RubyGems: - -``` -gem install rubyzip -``` - -Or in your Gemfile: - -```ruby -gem 'rubyzip' -``` - -## Usage - -### Basic zip archive creation - -```ruby -require 'rubygems' -require 'zip' - -folder = "Users/me/Desktop/stuff_to_zip" -input_filenames = ['image.jpg', 'description.txt', 'stats.csv'] - -zipfile_name = "/Users/me/Desktop/archive.zip" - -Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile| - input_filenames.each do |filename| - # Two arguments: - # - The name of the file as it will appear in the archive - # - The original file, including the path to find it - zipfile.add(filename, File.join(folder, filename)) - end - zipfile.get_output_stream("myFile") { |f| f.write "myFile contains just this" } -end -``` - -### Zipping a directory recursively - -Copy from [here](https://github.com/rubyzip/rubyzip/blob/9d891f7353e66052283562d3e252fe380bb4b199/samples/example_recursive.rb) - -```ruby -require 'zip' - -# This is a simple example which uses rubyzip to -# recursively generate a zip file from the contents of -# a specified directory. The directory itself is not -# included in the archive, rather just its contents. -# -# Usage: -# directory_to_zip = "/tmp/input" -# output_file = "/tmp/out.zip" -# zf = ZipFileGenerator.new(directory_to_zip, output_file) -# zf.write() -class ZipFileGenerator - # Initialize with the directory to zip and the location of the output archive. - def initialize(input_dir, output_file) - @input_dir = input_dir - @output_file = output_file - end - - # Zip the input directory. - def write - entries = Dir.entries(@input_dir) - %w[. ..] - - ::Zip::File.open(@output_file, ::Zip::File::CREATE) do |zipfile| - write_entries entries, '', zipfile - end - end - - private - - # A helper method to make the recursion work. - def write_entries(entries, path, zipfile) - entries.each do |e| - zipfile_path = path == '' ? e : File.join(path, e) - disk_file_path = File.join(@input_dir, zipfile_path) - - if File.directory? disk_file_path - recursively_deflate_directory(disk_file_path, zipfile, zipfile_path) - else - put_into_archive(disk_file_path, zipfile, zipfile_path) - end - end - end - - def recursively_deflate_directory(disk_file_path, zipfile, zipfile_path) - zipfile.mkdir zipfile_path - subdir = Dir.entries(disk_file_path) - %w[. ..] - write_entries subdir, zipfile_path, zipfile - end - - def put_into_archive(disk_file_path, zipfile, zipfile_path) - zipfile.add(zipfile_path, disk_file_path) - end -end -``` - -### Save zip archive entries in sorted by name state - -To save zip archives in sorted order like below, you need to set `::Zip.sort_entries` to `true` - -``` -Vegetable/ -Vegetable/bean -Vegetable/carrot -Vegetable/celery -fruit/ -fruit/apple -fruit/kiwi -fruit/mango -fruit/orange -``` - -After this, entries in the zip archive will be saved in ordered state. - -### Default permissions of zip archives - -On Posix file systems the default file permissions applied to a new archive -are (0666 - umask), which mimics the behavior of standard tools such as `touch`. - -On Windows the default file permissions are set to 0644 as suggested by the -[Ruby File documentation](http://ruby-doc.org/core-2.2.2/File.html). - -When modifying a zip archive the file permissions of the archive are preserved. - -### Reading a Zip file - -```ruby -MAX_SIZE = 1024**2 # 1MiB (but of course you can increase this) -Zip::File.open('foo.zip') do |zip_file| - # Handle entries one by one - zip_file.each do |entry| - puts "Extracting #{entry.name}" - raise 'File too large when extracted' if entry.size > MAX_SIZE - - # Extract to file or directory based on name in the archive - entry.extract - - # Read into memory - content = entry.get_input_stream.read - end - - # Find specific entry - entry = zip_file.glob('*.csv').first - raise 'File too large when extracted' if entry.size > MAX_SIZE - puts entry.get_input_stream.read -end -``` - -#### Notice about ::Zip::InputStream - -`::Zip::InputStream` usable for fast reading zip file content because it not read Central directory. - -But there is one exception when it is not working - General Purpose Flag Bit 3. - -> If bit 3 (0x08) of the general-purpose flags field is set, then the CRC-32 and file sizes are not known when the header is written. The fields in the local header are filled with zero, and the CRC-32 and size are appended in a 12-byte structure (optionally preceded by a 4-byte signature) immediately after the compressed data - -If `::Zip::InputStream` finds such entry in the zip archive it will raise an exception. - -### Password Protection (Experimental) - -Rubyzip supports reading/writing zip files with traditional zip encryption (a.k.a. "ZipCrypto"). AES encryption is not yet supported. It can be used with buffer streams, e.g.: - -```ruby -Zip::OutputStream.write_buffer(::StringIO.new(''), Zip::TraditionalEncrypter.new('password')) do |out| - out.put_next_entry("my_file.txt") - out.write my_data -end.string -``` - -This is an experimental feature and the interface for encryption may change in future versions. - -## Known issues - -### Modify docx file with rubyzip - -Use `write_buffer` instead `open`. Thanks to @jondruse - -```ruby -buffer = Zip::OutputStream.write_buffer do |out| - @zip_file.entries.each do |e| - unless [DOCUMENT_FILE_PATH, RELS_FILE_PATH].include?(e.name) - out.put_next_entry(e.name) - out.write e.get_input_stream.read - end - end - - out.put_next_entry(DOCUMENT_FILE_PATH) - out.write xml_doc.to_xml(:indent => 0).gsub("\n","") - - out.put_next_entry(RELS_FILE_PATH) - out.write rels.to_xml(:indent => 0).gsub("\n","") -end - -File.open(new_path, "wb") {|f| f.write(buffer.string) } -``` - -## Configuration - -### Existing Files - -By default, rubyzip will not overwrite files if they already exist inside of the extracted path. To change this behavior, you may specify a configuration option like so: - -```ruby -Zip.on_exists_proc = true -``` - -If you're using rubyzip with rails, consider placing this snippet of code in an initializer file such as `config/initializers/rubyzip.rb` - -Additionally, if you want to configure rubyzip to overwrite existing files while creating a .zip file, you can do so with the following: - -```ruby -Zip.continue_on_exists_proc = true -``` - -### Non-ASCII Names - -If you want to store non-english names and want to open them on Windows(pre 7) you need to set this option: - -```ruby -Zip.unicode_names = true -``` - -Sometimes file names inside zip contain non-ASCII characters. If you can assume which encoding was used for such names and want to be able to find such entries using `find_entry` then you can force assumed encoding like so: - -```ruby -Zip.force_entry_names_encoding = 'UTF-8' -``` - -Allowed encoding names are the same as accepted by `String#force_encoding` - -### Date Validation - -Some zip files might have an invalid date format, which will raise a warning. You can hide this warning with the following setting: - -```ruby -Zip.warn_invalid_date = false -``` - -### Size Validation - -By default (in rubyzip >= 2.0), rubyzip's `extract` method checks that an entry's reported uncompressed size is not (significantly) smaller than its actual size. This is to help you protect your application against [zip bombs](https://en.wikipedia.org/wiki/Zip_bomb). Before `extract`ing an entry, you should check that its size is in the range you expect. For example, if your application supports processing up to 100 files at once, each up to 10MiB, your zip extraction code might look like: - -```ruby -MAX_FILE_SIZE = 10 * 1024**2 # 10MiB -MAX_FILES = 100 -Zip::File.open('foo.zip') do |zip_file| - num_files = 0 - zip_file.each do |entry| - num_files += 1 if entry.file? - raise 'Too many extracted files' if num_files > MAX_FILES - raise 'File too large when extracted' if entry.size > MAX_FILE_SIZE - entry.extract - end -end -``` - -If you need to extract zip files that report incorrect uncompressed sizes and you really trust them not too be too large, you can disable this setting with -```ruby -Zip.validate_entry_sizes = false -``` - -Note that if you use the lower level `Zip::InputStream` interface, `rubyzip` does *not* check the entry `size`s. In this case, the caller is responsible for making sure it does not read more data than expected from the input stream. - -### Default Compression - -You can set the default compression level like so: - -```ruby -Zip.default_compression = Zlib::DEFAULT_COMPRESSION -``` - -It defaults to `Zlib::DEFAULT_COMPRESSION`. Possible values are `Zlib::BEST_COMPRESSION`, `Zlib::DEFAULT_COMPRESSION` and `Zlib::NO_COMPRESSION` - -### Zip64 Support - -By default, Zip64 support is disabled for writing. To enable it do this: - -```ruby -Zip.write_zip64_support = true -``` - -_NOTE_: If you will enable Zip64 writing then you will need zip extractor with Zip64 support to extract archive. - -### Block Form - -You can set multiple settings at the same time by using a block: - -```ruby - Zip.setup do |c| - c.on_exists_proc = true - c.continue_on_exists_proc = true - c.unicode_names = true - c.default_compression = Zlib::BEST_COMPRESSION - end -``` - -## Developing - -To run the test you need to do this: - -``` -bundle install -rake -``` - -## Website and Project Home - -http://github.com/rubyzip/rubyzip - -http://rdoc.info/github/rubyzip/rubyzip/master/frames - -## Authors - -Alexander Simonov ( alex at simonov.me) - -Alan Harper ( alan at aussiegeek.net) - -Thomas Sondergaard (thomas at sondergaard.cc) - -Technorama Ltd. (oss-ruby-zip at technorama.net) - -extra-field support contributed by Tatsuki Sugiura (sugi at nemui.org) - -## License - -Rubyzip is distributed under the same license as ruby. See -http://www.ruby-lang.org/en/LICENSE.txt diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/Rakefile deleted file mode 100644 index 717c6b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/Rakefile +++ /dev/null @@ -1,21 +0,0 @@ -require 'bundler/gem_tasks' -require 'rake/testtask' -require 'rubocop/rake_task' - -task default: :test - -Rake::TestTask.new(:test) do |test| - test.libs << 'lib' - test.libs << 'test' - test.pattern = 'test/**/*_test.rb' - test.verbose = true -end - -RuboCop::RakeTask.new - -# Rake::TestTask.new(:zip64_full_test) do |test| -# test.libs << File.join(File.dirname(__FILE__), 'lib') -# test.libs << File.join(File.dirname(__FILE__), 'test') -# test.pattern = File.join(File.dirname(__FILE__), 'test/zip64_full_test.rb') -# test.verbose = true -# end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/TODO b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/TODO deleted file mode 100644 index 16b9a2e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/TODO +++ /dev/null @@ -1,15 +0,0 @@ - -* ZipInputStream: Support zip-files with trailing data descriptors -* Adjust rdoc stylesheet to advertise inherited methods if possible -* Suggestion: Add ZipFile/ZipInputStream example that demonstrates extracting all entries. -* Suggestion: ZipFile#extract destination should default to "." -* Suggestion: ZipEntry should have extract(), get_input_stream() methods etc -* (is buffering used anywhere with write?) -* Inflater.sysread should pass the buffer to produce_input. -* Implement ZipFsDir.glob -* ZipFile.checkIntegrity method -* non-MSDOS permission attributes -** See mail from Ned Konz to ruby-talk subj. "Re: SV: [ANN] Archive 0.2" -* Packager version, required unpacker version in zip headers -** See mail from Ned Konz to ruby-talk subj. "Re: SV: [ANN] Archive 0.2" -* implement storing attributes and ownership information diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example.rb deleted file mode 100755 index 345e7e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example.rb +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env ruby - -$LOAD_PATH << '../lib' -system('zip example.zip example.rb gtk_ruby_zip.rb') - -require 'zip' - -####### Using ZipInputStream alone: ####### - -Zip::InputStream.open('example.zip') do |zis| - entry = zis.get_next_entry - print "First line of '#{entry.name} (#{entry.size} bytes): " - puts "'#{zis.gets.chomp}'" - entry = zis.get_next_entry - print "First line of '#{entry.name} (#{entry.size} bytes): " - puts "'#{zis.gets.chomp}'" -end - -####### Using ZipFile to read the directory of a zip file: ####### - -zf = Zip::File.new('example.zip') -zf.each_with_index do |entry, index| - puts "entry #{index} is #{entry.name}, size = #{entry.size}, compressed size = #{entry.compressed_size}" - # use zf.get_input_stream(entry) to get a ZipInputStream for the entry - # entry can be the ZipEntry object or any object which has a to_s method that - # returns the name of the entry. -end - -####### Using ZipOutputStream to write a zip file: ####### - -Zip::OutputStream.open('exampleout.zip') do |zos| - zos.put_next_entry('the first little entry') - zos.puts 'Hello hello hello hello hello hello hello hello hello' - - zos.put_next_entry('the second little entry') - zos.puts 'Hello again' - - # Use rubyzip or your zip client of choice to verify - # the contents of exampleout.zip -end - -####### Using ZipFile to change a zip file: ####### - -Zip::File.open('exampleout.zip') do |zip_file| - zip_file.add('thisFile.rb', 'example.rb') - zip_file.rename('thisFile.rb', 'ILikeThisName.rb') - zip_file.add('Again', 'example.rb') -end - -# Lets check -Zip::File.open('exampleout.zip') do |zip_file| - puts "Changed zip file contains: #{zip_file.entries.join(', ')}" - zip_file.remove('Again') - puts "Without 'Again': #{zip_file.entries.join(', ')}" -end - -####### Using ZipFile to split a zip file: ####### - -# Creating large zip file for splitting -Zip::OutputStream.open('large_zip_file.zip') do |zos| - puts 'Creating zip file...' - 10.times do |i| - zos.put_next_entry("large_entry_#{i}.txt") - zos.puts 'Hello' * 104_857_600 - end -end - -# Splitting created large zip file -part_zips_count = Zip::File.split('large_zip_file.zip', 2_097_152, false) -puts "Zip file splitted in #{part_zips_count} parts" - -# Track splitting an archive -Zip::File.split('large_zip_file.zip', 1_048_576, true, 'part_zip_file') do |part_count, part_index, chunk_bytes, segment_bytes| - puts "#{part_index} of #{part_count} part splitting: #{(chunk_bytes.to_f / segment_bytes * 100).to_i}%" -end - -# For other examples, look at zip.rb and ziptest.rb - -# Copyright (C) 2002 Thomas Sondergaard -# rubyzip is free software; you can redistribute it and/or -# modify it under the terms of the ruby license. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example_filesystem.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example_filesystem.rb deleted file mode 100755 index 0d93ab6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example_filesystem.rb +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env ruby - -$LOAD_PATH << '../lib' - -require 'zip/filesystem' - -EXAMPLE_ZIP = 'filesystem.zip' - -File.delete(EXAMPLE_ZIP) if File.exist?(EXAMPLE_ZIP) - -Zip::File.open(EXAMPLE_ZIP, Zip::File::CREATE) do |zf| - zf.file.open('file1.txt', 'w') { |os| os.write 'first file1.txt' } - zf.dir.mkdir('dir1') - zf.dir.chdir('dir1') - zf.file.open('file1.txt', 'w') { |os| os.write 'second file1.txt' } - puts zf.file.read('file1.txt') - puts zf.file.read('../file1.txt') - zf.dir.chdir('..') - zf.file.open('file2.txt', 'w') { |os| os.write 'first file2.txt' } - puts "Entries: #{zf.entries.join(', ')}" -end - -Zip::File.open(EXAMPLE_ZIP) do |zf| - puts "Entries from reloaded zip: #{zf.entries.join(', ')}" -end - -# For other examples, look at zip.rb and ziptest.rb - -# Copyright (C) 2003 Thomas Sondergaard -# rubyzip is free software; you can redistribute it and/or -# modify it under the terms of the ruby license. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example_recursive.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example_recursive.rb deleted file mode 100644 index 56a5cc7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/example_recursive.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'zip' - -# This is a simple example which uses rubyzip to -# recursively generate a zip file from the contents of -# a specified directory. The directory itself is not -# included in the archive, rather just its contents. -# -# Usage: -# directory_to_zip = "/tmp/input" -# output_file = "/tmp/out.zip" -# zf = ZipFileGenerator.new(directory_to_zip, output_file) -# zf.write() -class ZipFileGenerator - # Initialize with the directory to zip and the location of the output archive. - def initialize(input_dir, output_file) - @input_dir = input_dir - @output_file = output_file - end - - # Zip the input directory. - def write - entries = Dir.entries(@input_dir) - %w[. ..] - - ::Zip::File.open(@output_file, ::Zip::File::CREATE) do |zipfile| - write_entries entries, '', zipfile - end - end - - private - - # A helper method to make the recursion work. - def write_entries(entries, path, zipfile) - entries.each do |e| - zipfile_path = path == '' ? e : File.join(path, e) - disk_file_path = File.join(@input_dir, zipfile_path) - - if File.directory? disk_file_path - recursively_deflate_directory(disk_file_path, zipfile, zipfile_path) - else - put_into_archive(disk_file_path, zipfile, zipfile_path) - end - end - end - - def recursively_deflate_directory(disk_file_path, zipfile, zipfile_path) - zipfile.mkdir zipfile_path - subdir = Dir.entries(disk_file_path) - %w[. ..] - write_entries subdir, zipfile_path, zipfile - end - - def put_into_archive(disk_file_path, zipfile, zipfile_path) - zipfile.add(zipfile_path, disk_file_path) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/gtk_ruby_zip.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/gtk_ruby_zip.rb deleted file mode 100755 index a86f0a9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/gtk_ruby_zip.rb +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env ruby - -$LOAD_PATH << '../lib' - -$VERBOSE = true - -require 'gtk' -require 'zip' - -class MainApp < Gtk::Window - def initialize - super() - set_usize(400, 256) - set_title('rubyzip') - signal_connect(Gtk::Window::SIGNAL_DESTROY) { Gtk.main_quit } - - box = Gtk::VBox.new(false, 0) - add(box) - - @zipfile = nil - @button_panel = ButtonPanel.new - @button_panel.open_button.signal_connect(Gtk::Button::SIGNAL_CLICKED) do - show_file_selector - end - @button_panel.extract_button.signal_connect(Gtk::Button::SIGNAL_CLICKED) do - puts 'Not implemented!' - end - box.pack_start(@button_panel, false, false, 0) - - sw = Gtk::ScrolledWindow.new - sw.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC) - box.pack_start(sw, true, true, 0) - - @clist = Gtk::CList.new(%w[Name Size Compression]) - @clist.set_selection_mode(Gtk::SELECTION_BROWSE) - @clist.set_column_width(0, 120) - @clist.set_column_width(1, 120) - @clist.signal_connect(Gtk::CList::SIGNAL_SELECT_ROW) do |_w, row, _column, _event| - @selected_row = row - end - sw.add(@clist) - end - - class ButtonPanel < Gtk::HButtonBox - attr_reader :open_button, :extract_button - def initialize - super - set_layout(Gtk::BUTTONBOX_START) - set_spacing(0) - @open_button = Gtk::Button.new('Open archive') - @extract_button = Gtk::Button.new('Extract entry') - pack_start(@open_button) - pack_start(@extract_button) - end - end - - def show_file_selector - @file_selector = Gtk::FileSelection.new('Open zip file') - @file_selector.show - @file_selector.ok_button.signal_connect(Gtk::Button::SIGNAL_CLICKED) do - open_zip(@file_selector.filename) - @file_selector.destroy - end - @file_selector.cancel_button.signal_connect(Gtk::Button::SIGNAL_CLICKED) do - @file_selector.destroy - end - end - - def open_zip(filename) - @zipfile = Zip::File.open(filename) - @clist.clear - @zipfile.each do |entry| - @clist.append([entry.name, - entry.size.to_s, - (100.0 * entry.compressedSize / entry.size).to_s + '%']) - end - end -end - -main_app = MainApp.new - -main_app.show_all - -Gtk.main diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/qtzip.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/qtzip.rb deleted file mode 100755 index 2c189ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/qtzip.rb +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env ruby - -$VERBOSE = true - -$LOAD_PATH << '../lib' - -require 'Qt' -system('rbuic -o zipdialogui.rb zipdialogui.ui') -require 'zipdialogui.rb' -require 'zip' - -a = Qt::Application.new(ARGV) - -class ZipDialog < ZipDialogUI - def initialize - super() - connect(child('add_button'), SIGNAL('clicked()'), - self, SLOT('add_files()')) - connect(child('extract_button'), SIGNAL('clicked()'), - self, SLOT('extract_files()')) - end - - def zipfile(&a_proc) - Zip::File.open(@zip_filename, &a_proc) - end - - def each(&a_proc) - Zip::File.foreach(@zip_filename, &a_proc) - end - - def refresh - lv = child('entry_list_view') - lv.clear - each do |e| - lv.insert_item(Qt::ListViewItem.new(lv, e.name, e.size.to_s)) - end - end - - def load(zipfile) - @zip_filename = zipfile - refresh - end - - def add_files - l = Qt::FileDialog.getOpenFileNames(nil, nil, self) - zipfile do |zf| - l.each do |path| - zf.add(File.basename(path), path) - end - end - refresh - end - - def extract_files - selected_items = [] - unselected_items = [] - lv_item = entry_list_view.first_child - while lv_item - if entry_list_view.is_selected(lv_item) - selected_items << lv_item.text(0) - else - unselected_items << lv_item.text(0) - end - lv_item = lv_item.next_sibling - end - puts "selected_items.size = #{selected_items.size}" - puts "unselected_items.size = #{unselected_items.size}" - items = !selected_items.empty? ? selected_items : unselected_items - puts "items.size = #{items.size}" - - d = Qt::FileDialog.get_existing_directory(nil, self) - if !d - puts 'No directory chosen' - else - zipfile { |zf| items.each { |e| zf.extract(e, File.join(d, e)) } } - end - end - - slots 'add_files()', 'extract_files()' -end - -unless ARGV[0] - puts "usage: #{$PROGRAM_NAME} zipname" - exit -end - -zd = ZipDialog.new -zd.load(ARGV[0]) - -a.mainWidget = zd -zd.show -a.exec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/write_simple.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/write_simple.rb deleted file mode 100755 index 8bb31bb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/write_simple.rb +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env ruby - -$LOAD_PATH << '../lib' - -require 'zip' - -::Zip::OutputStream.open('simple.zip') do |zos| - zos.put_next_entry 'entry.txt' - zos.puts 'Hello world' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/zipfind.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/zipfind.rb deleted file mode 100755 index 8f0dbf2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/rubyzip-2.3.2/samples/zipfind.rb +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env ruby - -$VERBOSE = true - -$LOAD_PATH << '../lib' - -require 'zip' -require 'find' - -module Zip - module ZipFind - def self.find(path, zip_file_pattern = /\.zip$/i) - Find.find(path) do |filename| - yield(filename) - next unless zip_file_pattern.match(filename) && File.file?(filename) - - begin - Zip::File.foreach(filename) do |entry| - yield(filename + File::SEPARATOR + entry.to_s) - end - rescue Errno::EACCES => e - puts e - end - end - end - - def self.find_file(path, filename_pattern, zip_file_pattern = /\.zip$/i) - find(path, zip_file_pattern) do |filename| - yield(filename) if filename_pattern.match(filename) - end - end - end -end - -if $PROGRAM_NAME == __FILE__ - module ZipFindConsoleRunner - PATH_ARG_INDEX = 0 - FILENAME_PATTERN_ARG_INDEX = 1 - ZIPFILE_PATTERN_ARG_INDEX = 2 - - def self.run(args) - check_args(args) - Zip::ZipFind.find_file(args[PATH_ARG_INDEX], - args[FILENAME_PATTERN_ARG_INDEX], - args[ZIPFILE_PATTERN_ARG_INDEX]) do |filename| - report_entry_found filename - end - end - - def self.check_args(args) - return if args.size == 3 - - usage - exit - end - - def self.usage - puts "Usage: #{$PROGRAM_NAME} PATH ZIPFILENAME_PATTERN FILNAME_PATTERN" - end - - def self.report_entry_found(filename) - puts filename - end - end - - ZipFindConsoleRunner.run(ARGV) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/.travis.yml deleted file mode 100644 index 231fdba..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/.travis.yml +++ /dev/null @@ -1,48 +0,0 @@ -language: - ruby - -before_install: - gem install bundler - -script: - bundle exec rake spec - -rvm: - - ruby-head - - 2.0.0 - - 1.9.3 - - 1.9.2 - - 1.8.7 - - rbx-19mode - - rbx-18mode - - jruby-head - - jruby-19mode - - jruby-18mode - - ree - -env: - - YAMLER=syck - - YAMLER=psych - -matrix: - allow_failures: - - rvm: ruby-head - - rvm: rbx-19mode - - rvm: rbx-18mode - - rvm: jruby-head - - rvm: ree - - exclude: - - rvm: 1.8.7 - env: YAMLER=psych - - rvm: jruby-head - env: YAMLER=syck - - rvm: jruby-19mode - env: YAMLER=syck - - rvm: jruby-18mode - env: YAMLER=syck - -branches: - only: - - master - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/CHANGES.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/CHANGES.md deleted file mode 100644 index 2120a0b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/CHANGES.md +++ /dev/null @@ -1,154 +0,0 @@ -1.0.5 ------ - -- fixed [#80](https://github.com/dtao/safe_yaml/issues/80): uninitialized constant DateTime - -1.0.2 ------ - -- added warning when using Psych + an older version of libyaml - -1.0.1 ------ - -- fixed handling for strings that look like (invalid) dates - -1.0.0 ------ - -- updated date parsing to use local timezone -- **now requiring "safe_yaml/load" provides `SafeYAML.load` without clobbering `YAML`** -- fixed handling of empty files -- fixed some (edge case) integer parsing bugs -- fixed some JRuby-specific issues - -0.9.7 ------ - -- made handling of document frontmatter more robust -- added more descriptive message to the warning for omitting the :safe option - -0.9.6 ------ - -- fixed handling of files with trailing content (after closing `---`) - -0.9.5 ------ - -- fixed permissions AGAIN - -0.9.4 ------ - -- corrected handling of symbols - -0.9.3 ------ - -- fixed permissions :( - -0.9.2 ------ - -- fixed error w/ parsing "!" when whitelisting tags -- fixed parsing of the number 0 (d'oh!) - -0.9.1 ------ - -- added Yecht support (JRuby) -- more bug fixes - -0.9.0 ------ - -- added `whitelist!` method for easily whitelisting tags -- added support for call-specific options -- removed deprecated methods - -0.8.6 ------ - -- fixed bug in float matcher - -0.8.5 ------ - -- performance improvements -- made less verbose by default -- bug fixes - -0.8.4 ------ - -- enhancements to parsing of integers, floats, and dates -- updated built-in whitelist -- more bug fixes - -0.8.3 ------ - -- fixed exception on parsing empty document -- fixed handling of octal & hexadecimal numbers - -0.8.2 ------ - -- bug fixes - -0.8.1 ------ - -- added `:raise_on_unknown_tag` option -- renamed `reset_defaults!` to `restore_defaults!` - -0.8 ---- - -- added tag whitelisting -- more API changes - -0.7 ---- - -- separated YAML engine support from Ruby version -- added support for binary scalars -- numerous bug fixes and enhancements - -0.6 ---- - -- several API changes -- added `SafeYAML::OPTIONS` for specifying default behavior - -0.5 ---- - -Added support for dates - -0.4 ---- - -- efficiency improvements -- made `YAML.load` use `YAML.safe_load` by default -- made symbol deserialization optional - -0.3 ---- - -Added Syck support - -0.2 ---- - -Added support for: - -- anchors & aliases -- booleans -- nils - -0.1 ---- - -Initial release \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Gemfile deleted file mode 100644 index 24d7e3e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source "https://rubygems.org" - -gemspec - -group :development do - gem "hashie" - gem "heredoc_unindent" - gem "rake" - gem "rspec" - gem "travis-lint" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/LICENSE.txt deleted file mode 100644 index 4b276dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2013 Dan Tao - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/README.md deleted file mode 100644 index a7b7bdc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/README.md +++ /dev/null @@ -1,191 +0,0 @@ -SafeYAML -======== - -[![Build Status](https://travis-ci.org/dtao/safe_yaml.png)](http://travis-ci.org/dtao/safe_yaml) -[![Gem Version](https://badge.fury.io/rb/safe_yaml.png)](http://badge.fury.io/rb/safe_yaml) - -The **SafeYAML** gem provides an alternative implementation of `YAML.load` suitable for accepting user input in Ruby applications. Unlike Ruby's built-in implementation of `YAML.load`, SafeYAML's version will not expose apps to arbitrary code execution exploits (such as [the ones discovered](http://www.reddit.com/r/netsec/comments/167c11/serious_vulnerability_in_ruby_on_rails_allowing/) [in Rails in early 2013](http://www.h-online.com/open/news/item/Rails-developers-close-another-extremely-critical-flaw-1793511.html)). - -**If you encounter any issues with SafeYAML, check out the 'Common Issues' section below.** If you don't see anything that addresses the problem you're experiencing, by all means, [create an issue](https://github.com/dtao/safe_yaml/issues/new)! - -Installation ------------- - -Add this line to your application's Gemfile: - -```ruby -gem "safe_yaml" -``` - -Configuration -------------- - -If *all you do* is add SafeYAML to your project, then `YAML.load` will operate in "safe" mode, which means it won't deserialize arbitrary objects. However, it will issue a warning the first time you call it because you haven't explicitly specified whether you want safe or unsafe behavior by default. To specify this behavior (e.g., in a Rails initializer): - -```ruby -SafeYAML::OPTIONS[:default_mode] = :safe # or :unsafe -``` - -Another important option you might want to specify on startup is whether or not to allow *symbols* to be deserialized. The default setting is `false`, since symbols are not garbage collected in Ruby and so deserializing them from YAML may render your application vulnerable to a DOS (denial of service) attack. To allow symbol deserialization by default: - -```ruby -SafeYAML::OPTIONS[:deserialize_symbols] = true -``` - -For more information on these and other options, see the "Usage" section down below. - -What is this gem for, exactly? ------------------------------- - -Suppose your application were to use a popular open source library which contained code like this: - -```ruby -class ClassBuilder - def []=(key, value) - @class ||= Class.new - - @class.class_eval <<-EOS - def #{key} - #{value} - end - EOS - end - - def create - @class.new - end -end -``` - -Now, if you were to use `YAML.load` on user input anywhere in your application without the SafeYAML gem installed, an attacker who suspected you were using this library could send a request with a carefully-crafted YAML string to execute arbitrary code (yes, including `system("unix command")`) on your servers. - -This simple example demonstrates the vulnerability: - -```ruby -yaml = <<-EOYAML ---- !ruby/hash:ClassBuilder -"foo; end; puts %(I'm in yr system!); def bar": "baz" -EOYAML -``` - - > YAML.load(yaml) - I'm in yr system! - => #<ClassBuilder:0x007fdbbe2e25d8 @class=#<Class:0x007fdbbe2e2510>> - -With SafeYAML, the same attacker would be thwarted: - - > require "safe_yaml" - => true - > YAML.load(yaml, :safe => true) - => {"foo; end; puts %(I'm in yr system!); def bar"=>"baz"} - -Usage ------ - -When you require the safe_yaml gem in your project, `YAML.load` is patched to accept one additional (optional) `options` parameter. This changes the method signature as follows: - -- for Syck and Psych prior to Ruby 1.9.3: `YAML.load(yaml, options={})` -- for Psych in 1.9.3 and later: `YAML.load(yaml, filename=nil, options={})` - -The most important option is the `:safe` option (default: `true`), which controls whether or not to deserialize arbitrary objects when parsing a YAML document. The other options, along with explanations, are as follows. - -- `:deserialize_symbols` (default: `false`): Controls whether or not YAML will deserialize symbols. It is probably best to only enable this option where necessary, e.g. to make trusted libraries work. Symbols receive special treatment in Ruby and are not garbage collected, which means deserializing them indiscriminately may render your site vulnerable to a DOS attack. - -- `:whitelisted_tags`: Accepts an array of YAML tags that designate trusted types, e.g., ones that can be deserialized without worrying about any resulting security vulnerabilities. When any of the given tags are encountered in a YAML document, the associated data will be parsed by the underlying YAML engine (Syck or Psych) for the version of Ruby you are using. See the "Whitelisting Trusted Types" section below for more information. - -- `:custom_initializers`: Similar to the `:whitelisted_tags` option, but allows you to provide your own initializers for specified tags rather than using Syck or Psyck. Accepts a hash with string tags for keys and lambdas for values. - -- `:raise_on_unknown_tag` (default: `false`): Represents the highest possible level of paranoia. If the YAML engine encounters any tag other than ones that are automatically trusted by SafeYAML or that you've explicitly whitelisted, it will raise an exception. This may be a good choice if you expect to always be dealing with perfectly safe YAML and want your application to fail loudly upon encountering questionable data. - -All of the above options can be set at the global level via `SafeYAML::OPTIONS`. You can also set each one individually per call to `YAML.load`; an option explicitly passed to `load` will take precedence over an option specified globally. - -What if I don't *want* to patch `YAML`? ---------------------------------------- - -[Excellent question](https://github.com/dtao/safe_yaml/issues/47)! You can also get the methods `SafeYAML.load` and `SafeYAML.load_file` without touching the `YAML` module at all like this: - -```ruby -require "safe_yaml/load" # instead of require "safe_yaml" -``` - -This way, you can use `SafeYAML.load` to parse YAML that *you* don't trust, without affecting the rest of an application (if you're developing a library, for example). - -Supported Types ---------------- - -The way that SafeYAML works is by restricting the kinds of objects that can be deserialized via `YAML.load`. More specifically, only the following types of objects can be deserialized by default: - -- Hashes -- Arrays -- Strings -- Numbers -- Dates -- Times -- Booleans -- Nils - -Again, deserialization of symbols can be enabled globally by setting `SafeYAML::OPTIONS[:deserialize_symbols] = true`, or in a specific call to `YAML.load([some yaml], :deserialize_symbols => true)`. - -Whitelisting Trusted Types --------------------------- - -SafeYAML supports whitelisting certain YAML tags for trusted types. This is handy when your application uses YAML to serialize and deserialize certain types not listed above, which you know to be free of any deserialization-related vulnerabilities. - -The easiest way to whitelist types is by calling `SafeYAML.whitelist!`, which can accept a variable number of safe types, e.g.: - -```ruby -SafeYAML.whitelist!(Foo, Bar) -``` - -You can also whitelist YAML *tags* via the `:whitelisted_tags` option: - -```ruby -# Using Syck -SafeYAML::OPTIONS[:whitelisted_tags] = ["tag:ruby.yaml.org,2002:object:OpenStruct"] - -# Using Psych -SafeYAML::OPTIONS[:whitelisted_tags] = ["!ruby/object:OpenStruct"] -``` - -And in case you were wondering: no, this feature will *not* allow would-be attackers to embed untrusted types within trusted types: - -```ruby -yaml = <<-EOYAML ---- !ruby/object:OpenStruct -table: - :backdoor: !ruby/hash:ClassBuilder - "foo; end; puts %(I'm in yr system!); def bar": "baz" -EOYAML -``` - - > YAML.safe_load(yaml) - => #<OpenStruct :backdoor={"foo; end; puts %(I'm in yr system!); def bar"=>"baz"}> - -Known Issues ------------- - -If you add SafeYAML to your project and start seeing any errors about missing keys, or you notice mysterious strings that look like `":foo"` (i.e., start with a colon), it's likely you're seeing errors from symbols being saved in YAML format. If you are able to modify the offending code, you might want to consider changing your YAML content to use plain vanilla strings instead of symbols. If not, you may need to set the `:deserialize_symbols` option to `true`, either in calls to `YAML.load` or---as a last resort---globally, with `SafeYAML::OPTIONS[:deserialize_symbols]`. - -Also be aware that some Ruby libraries, particularly those requiring inter-process communication, leverage YAML's object deserialization functionality and therefore may break or otherwise be impacted by SafeYAML. The following list includes known instances of SafeYAML's interaction with other Ruby gems: - -- [**ActiveRecord**](https://github.com/rails/rails/tree/master/activerecord): uses YAML to control serialization of model objects using the `serialize` class method. If you find that accessing serialized properties on your ActiveRecord models is causing errors, chances are you may need to: - 1. set the `:deserialize_symbols` option to `true`, - 2. whitelist some of the types in your serialized data via `SafeYAML.whitelist!` or the `:whitelisted_tags` option, or - 3. both -- [**delayed_job**](https://github.com/collectiveidea/delayed_job): Uses YAML to serialize the objects on which delayed methods are invoked (with `delay`). The safest solution in this case is to use `SafeYAML.whitelist!` to whitelist the types you need to serialize. -- [**Guard**](https://github.com/guard/guard): Uses YAML as a serialization format for notifications. The data serialized uses symbolic keys, so setting `SafeYAML::OPTIONS[:deserialize_symbols] = true` is necessary to allow Guard to work. -- [**sidekiq**](https://github.com/mperham/sidekiq): Uses a YAML configiuration file with symbolic keys, so setting `SafeYAML::OPTIONS[:deserialize_symbols] = true` should allow it to work. - -The above list will grow over time, as more issues are discovered. - -Versioning ----------- - -SafeYAML will follow [semantic versioning](http://semver.org/) so any updates to the first major version will maintain backwards compatability. So expect primarily bug fixes and feature enhancements (if anything!) from here on out... unless it makes sense to break the interface at some point and introduce a version 2.0, which I honestly think is unlikely. - -Requirements ------------- - -SafeYAML requires Ruby 1.8.7 or newer and works with both [Syck](http://www.ruby-doc.org/stdlib-1.8.7/libdoc/yaml/rdoc/YAML.html) and [Psych](http://github.com/tenderlove/psych). - -If you are using a version of Ruby where Psych is the default YAML engine (e.g., 1.9.3) but you want to use Syck, be sure to set `YAML::ENGINE.yamler = "syck"` **before** requiring the safe_yaml gem. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Rakefile deleted file mode 100644 index 2d9dbc3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/Rakefile +++ /dev/null @@ -1,26 +0,0 @@ -require "rspec/core/rake_task" - -desc "Run specs" -task :spec => ['spec:app', 'spec:lib'] - -namespace :spec do - desc "Run only specs tagged 'solo'" - RSpec::Core::RakeTask.new(:solo) do |t| - t.verbose = false - t.rspec_opts = %w(--color --tag solo) - end - - desc "Run only specs tagged NOT tagged 'libraries' (for applications)" - RSpec::Core::RakeTask.new(:app) do |t| - t.verbose = false - ENV["MONKEYPATCH_YAML"] = "true" - t.rspec_opts = %w(--color --tag ~libraries) - end - - desc "Run only specs tagged 'libraries'" - RSpec::Core::RakeTask.new(:lib) do |t| - t.verbose = false - ENV["MONKEYPATCH_YAML"] = "false" - t.rspec_opts = %w(--color --tag libraries) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bin/safe_yaml b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bin/safe_yaml deleted file mode 100755 index 1751a72..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bin/safe_yaml +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env ruby - -$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib') - -require 'optparse' -require 'safe_yaml/load' - -options = {} -option_parser = OptionParser.new do |opts| - opts.banner = "Usage: safe_yaml [options]" - - opts.on("-f", "--file=<path>", "Parse the given YAML file, dump the result to STDOUT") do |file| - options[:file] = file - end - - opts.on("--libyaml-check", "Check for libyaml vulnerability CVE-2014-2525 on your system") do - options[:libyaml_check] = true - end -end - -option_parser.parse! - -def report_libyaml_ok - puts "\e[32mGood news! You definitely have either a patched or up-to-date libyaml version :)\e[39m" -end - -def check_for_overflow_bug - YAML.load("--- !#{'%20' * 100}") - report_libyaml_ok -end - -def perform_libyaml_check(force=false) - unless SafeYAML::LibyamlChecker.libyaml_version_ok? - warn <<-EOM.gsub(/^ +/, ' ') - - \e[33mSafeYAML Warning\e[39m - \e[33m----------------\e[39m - - \e[31mYou may have an outdated version of libyaml (#{SafeYAML::LibyamlChecker::LIBYAML_VERSION}) installed on your system.\e[39m - - Prior to 0.1.6, libyaml is vulnerable to a heap overflow exploit from malicious YAML payloads. - - For more info, see: - https://www.ruby-lang.org/en/news/2014/03/29/heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525/ - EOM - end - - puts <<-EOM.gsub(/^ +/, ' ') - - Hit Enter to check if your version of libyaml is vulnerable. This will run a test \e[31mwhich may crash\e[39m - \e[31mthe current process\e[39m. If it does, your system is vulnerable and you should do something about it. - - Type "nm" and hit Enter if you don't want to run the check. - - See the project wiki for more info: - - https://github.com/dtao/safe_yaml/wiki/The-libyaml-vulnerability - EOM - - if STDIN.readline.chomp("\n") != 'nm' - check_for_overflow_bug - end -end - -if options[:libyaml_check] - perform_libyaml_check(options[:force_libyaml_check]) - -elsif options[:file] - yaml = File.read(options[:file]) - result = SafeYAML.load(yaml) - puts result.inspect - -else - puts option_parser.help -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh deleted file mode 100755 index 902d127..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" - -declare -a versions=("1.8.7" "1.9.2" "1.9.3" "2.0.0" "2.1.0" "2.1.1" "2.1.2" "ruby-head" "jruby") - -for i in "${versions[@]}" -do - rvm use $i - bundle install -done diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh deleted file mode 100755 index 54a1f4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" - -rvm use 1.8.7 -bundle exec rake spec - -rvm use 1.9.2 -YAMLER=syck bundle exec rake spec - -YAMLER=psych bundle exec rake spec - -rvm use 1.9.3 -YAMLER=syck bundle exec rake spec - -YAMLER=psych bundle exec rake spec - -rvm use 2.0.0 -bundle exec rake spec - -rvm use 2.1.0 -bundle exec rake spec - -rvm use 2.1.1 -bundle exec rake spec - -rvm use 2.1.2 -bundle exec rake spec - -rvm use ruby-head -bundle exec rake spec - -rvm use jruby -JRUBY_OPTS=--1.8 bundle exec rake spec - -JRUBY_OPTS=--1.9 bundle exec rake spec - -JRUBY_OPTS=--2.0 bundle exec rake spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec deleted file mode 100644 index 4f4432a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +++ /dev/null @@ -1,19 +0,0 @@ -# -*- encoding: utf-8 -*- -require File.join(File.dirname(__FILE__), "lib", "safe_yaml", "version") - -Gem::Specification.new do |gem| - gem.name = "safe_yaml" - gem.version = SafeYAML::VERSION - gem.authors = "Dan Tao" - gem.email = "daniel.tao@gmail.com" - gem.description = %q{Parse YAML safely} - gem.summary = %q{SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.} - gem.homepage = "https://github.com/dtao/safe_yaml" - gem.license = "MIT" - gem.files = `git ls-files`.split($\) - gem.test_files = gem.files.grep(%r{^spec/}) - gem.require_paths = ["lib"] - gem.executables = ["safe_yaml"] - - gem.required_ruby_version = ">= 1.8.7" -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/exploit.1.9.2.yaml b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/exploit.1.9.2.yaml deleted file mode 100644 index bdd70cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/exploit.1.9.2.yaml +++ /dev/null @@ -1,2 +0,0 @@ ---- !ruby/object:ExploitableBackDoor -foo: bar diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/exploit.1.9.3.yaml b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/exploit.1.9.3.yaml deleted file mode 100644 index c24e04b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/exploit.1.9.3.yaml +++ /dev/null @@ -1,2 +0,0 @@ ---- !ruby/hash:ExploitableBackDoor -foo: bar diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/issue48.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/issue48.txt deleted file mode 100644 index 97d1f68..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/issue48.txt +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Blah -key: value ---- - -I'm going to inject a bunch of YAML-looking stuff below and it should all just get ignored. - -foo: bar - -- foo -- bar - -:foo -42 -~ - ---- -text: | - Look, I'm another YAML document! ---- diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/issue49.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/issue49.yml deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/libyaml_checker_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/libyaml_checker_spec.rb deleted file mode 100644 index b5b290b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/libyaml_checker_spec.rb +++ /dev/null @@ -1,69 +0,0 @@ -require "spec_helper" - -describe SafeYAML::LibyamlChecker do - describe "check_libyaml_version" do - REAL_YAML_ENGINE = SafeYAML::YAML_ENGINE - REAL_LIBYAML_VERSION = SafeYAML::LibyamlChecker::LIBYAML_VERSION - - let(:libyaml_patched) { false } - - before :each do - allow(SafeYAML::LibyamlChecker).to receive(:libyaml_patched?).and_return(libyaml_patched) - end - - after :each do - silence_warnings do - SafeYAML::YAML_ENGINE = REAL_YAML_ENGINE - SafeYAML::LibyamlChecker::LIBYAML_VERSION = REAL_LIBYAML_VERSION - end - end - - def test_libyaml_version_ok(expected_result, yaml_engine, libyaml_version=nil) - silence_warnings do - SafeYAML.const_set("YAML_ENGINE", yaml_engine) - SafeYAML::LibyamlChecker.const_set("LIBYAML_VERSION", libyaml_version) - expect(SafeYAML::LibyamlChecker.libyaml_version_ok?).to eq(expected_result) - end - end - - unless defined?(JRUBY_VERSION) - it "issues no warnings when 'Syck' is the YAML engine" do - test_libyaml_version_ok(true, "syck") - end - - it "issues a warning if Psych::LIBYAML_VERSION is not defined" do - test_libyaml_version_ok(false, "psych") - end - - it "issues a warning if Psych::LIBYAML_VERSION is < 0.1.6" do - test_libyaml_version_ok(false, "psych", "0.1.5") - end - - it "issues no warning if Psych::LIBYAML_VERSION is == 0.1.6" do - test_libyaml_version_ok(true, "psych", "0.1.6") - end - - it "issues no warning if Psych::LIBYAML_VERSION is > 0.1.6" do - test_libyaml_version_ok(true, "psych", "1.0.0") - end - - it "does a proper version comparison (not just a string comparison)" do - test_libyaml_version_ok(true, "psych", "0.1.10") - end - - context "when the system has a known patched libyaml version" do - let(:libyaml_patched) { true } - - it "issues no warning, even when Psych::LIBYAML_VERSION < 0.1.6" do - test_libyaml_version_ok(true, "psych", "0.1.4") - end - end - end - - if defined?(JRUBY_VERSION) - it "issues no warning, as JRuby doesn't use libyaml" do - test_libyaml_version_ok(true, "psych", "0.1.4") - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/psych_resolver_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/psych_resolver_spec.rb deleted file mode 100644 index a9e76b5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/psych_resolver_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -require "spec_helper" - -if SafeYAML::YAML_ENGINE == "psych" - require "safe_yaml/psych_resolver" - - describe SafeYAML::PsychResolver do - include ResolverSpecs - let(:resolver) { SafeYAML::PsychResolver.new } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/resolver_specs.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/resolver_specs.rb deleted file mode 100644 index 1b981e5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/resolver_specs.rb +++ /dev/null @@ -1,278 +0,0 @@ -module ResolverSpecs - def self.included(base) - base.module_eval do - let(:resolver) { nil } - let(:result) { @result } - - before :each do - # See the comment in the first before :each block in safe_yaml_spec.rb. - require "safe_yaml" - end - - def parse(yaml) - tree = YAML.parse(yaml.unindent) - @result = resolver.resolve_node(tree) - end - - # Isn't this how I should've been doing it all along? - def parse_and_test(yaml) - safe_result = parse(yaml) - - exception_thrown = nil - - unsafe_result = begin - YAML.unsafe_load(yaml) - rescue Exception => e - exception_thrown = e - end - - if exception_thrown - # If the underlying YAML parser (e.g. Psych) threw an exception, I'm - # honestly not sure what the right thing to do is. For now I'll just - # print a warning. Should SafeYAML fail when Psych fails? - Kernel.warn "\n" - Kernel.warn "Discrepancy between SafeYAML and #{SafeYAML::YAML_ENGINE} on input:\n" - Kernel.warn "#{yaml.unindent}\n" - Kernel.warn "SafeYAML result:" - Kernel.warn "#{safe_result.inspect}\n" - Kernel.warn "#{SafeYAML::YAML_ENGINE} result:" - Kernel.warn "#{exception_thrown.inspect}\n" - - else - expect(safe_result).to eq(unsafe_result) - end - end - - context "by default" do - it "translates maps to hashes" do - parse <<-YAML - potayto: potahto - tomayto: tomahto - YAML - - expect(result).to eq({ - "potayto" => "potahto", - "tomayto" => "tomahto" - }) - end - - it "translates sequences to arrays" do - parse <<-YAML - - foo - - bar - - baz - YAML - - expect(result).to eq(["foo", "bar", "baz"]) - end - - it "translates most values to strings" do - parse "string: value" - expect(result).to eq({ "string" => "value" }) - end - - it "does not deserialize symbols" do - parse ":symbol: value" - expect(result).to eq({ ":symbol" => "value" }) - end - - it "translates valid integral numbers to integers" do - parse "integer: 1" - expect(result).to eq({ "integer" => 1 }) - end - - it "translates valid decimal numbers to floats" do - parse "float: 3.14" - expect(result).to eq({ "float" => 3.14 }) - end - - it "translates valid dates" do - parse "date: 2013-01-24" - expect(result).to eq({ "date" => Date.parse("2013-01-24") }) - end - - it "translates valid true/false values to booleans" do - parse <<-YAML - - yes - - true - - no - - false - YAML - - expect(result).to eq([true, true, false, false]) - end - - it "translates valid nulls to nil" do - parse <<-YAML - - - - ~ - - null - YAML - - expect(result).to eq([nil] * 3) - end - - it "matches the behavior of the underlying YAML engine w/ respect to capitalization of boolean values" do - parse_and_test <<-YAML - - true - - True - - TRUE - - tRue - - TRue - - False - - FALSE - - fAlse - - FALse - YAML - - # using Syck: [true, true, true, "tRue", "TRue", false, false, "fAlse", "FALse"] - # using Psych: all booleans - end - - it "matches the behavior of the underlying YAML engine w/ respect to capitalization of nil values" do - parse_and_test <<-YAML - - Null - - NULL - - nUll - - NUll - YAML - - # using Syck: [nil, nil, "nUll", "NUll"] - # using Psych: all nils - end - - it "translates quoted empty strings to strings (not nil)" do - parse "foo: ''" - expect(result).to eq({ "foo" => "" }) - end - - it "correctly reverse-translates strings encoded via #to_yaml" do - parse "5.10".to_yaml - expect(result).to eq("5.10") - end - - it "does not specially parse any double-quoted strings" do - parse <<-YAML - - "1" - - "3.14" - - "true" - - "false" - - "2013-02-03" - - "2013-02-03 16:27:00 -0600" - YAML - - expect(result).to eq(["1", "3.14", "true", "false", "2013-02-03", "2013-02-03 16:27:00 -0600"]) - end - - it "does not specially parse any single-quoted strings" do - parse <<-YAML - - '1' - - '3.14' - - 'true' - - 'false' - - '2013-02-03' - - '2013-02-03 16:27:00 -0600' - YAML - - expect(result).to eq(["1", "3.14", "true", "false", "2013-02-03", "2013-02-03 16:27:00 -0600"]) - end - - it "deals just fine with nested maps" do - parse <<-YAML - foo: - bar: - marco: polo - YAML - - expect(result).to eq({ "foo" => { "bar" => { "marco" => "polo" } } }) - end - - it "deals just fine with nested sequences" do - parse <<-YAML - - foo - - - - bar1 - - bar2 - - - - baz1 - - baz2 - YAML - - expect(result).to eq(["foo", ["bar1", "bar2", ["baz1", "baz2"]]]) - end - - it "applies the same transformations to keys as to values" do - parse <<-YAML - foo: string - :bar: symbol - 1: integer - 3.14: float - 2013-01-24: date - YAML - - expect(result).to eq({ - "foo" => "string", - ":bar" => "symbol", - 1 => "integer", - 3.14 => "float", - Date.parse("2013-01-24") => "date", - }) - end - - it "applies the same transformations to elements in sequences as to all values" do - parse <<-YAML - - foo - - :bar - - 1 - - 3.14 - - 2013-01-24 - YAML - - expect(result).to eq(["foo", ":bar", 1, 3.14, Date.parse("2013-01-24")]) - end - end - - context "for Ruby version #{RUBY_VERSION}" do - it "translates valid time values" do - parse "time: 2013-01-29 05:58:00 -0800" - expect(result).to eq({ "time" => Time.utc(2013, 1, 29, 13, 58, 0) }) - end - - it "applies the same transformation to elements in sequences" do - parse "- 2013-01-29 05:58:00 -0800" - expect(result).to eq([Time.utc(2013, 1, 29, 13, 58, 0)]) - end - - it "applies the same transformation to keys" do - parse "2013-01-29 05:58:00 -0800: time" - expect(result).to eq({ Time.utc(2013, 1, 29, 13, 58, 0) => "time" }) - end - end - - context "with symbol deserialization enabled" do - before :each do - SafeYAML::OPTIONS[:deserialize_symbols] = true - end - - after :each do - SafeYAML.restore_defaults! - end - - it "translates values starting with ':' to symbols" do - parse "symbol: :value" - expect(result).to eq({ "symbol" => :value }) - end - - it "applies the same transformation to keys" do - parse ":bar: symbol" - expect(result).to eq({ :bar => "symbol" }) - end - - it "applies the same transformation to elements in sequences" do - parse "- :bar" - expect(result).to eq([:bar]) - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/safe_yaml_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/safe_yaml_spec.rb deleted file mode 100644 index aa701a4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/safe_yaml_spec.rb +++ /dev/null @@ -1,731 +0,0 @@ -require "spec_helper" - -describe YAML do - def safe_load_round_trip(object, options={}) - yaml = object.to_yaml - if SafeYAML::YAML_ENGINE == "psych" - YAML.safe_load(yaml, nil, options) - else - YAML.safe_load(yaml, options) - end - end - - before :each do - # Need to require this here (as opposed to somewhere up higher in the file) - # to ensure that safe_yaml isn't loaded and therefore YAML isn't monkey- - # patched, for tests that require only safe_yaml/load. - require "safe_yaml" - require "exploitable_back_door" - - SafeYAML.restore_defaults! - end - - after :each do - SafeYAML.restore_defaults! - end - - describe "unsafe_load" do - if SafeYAML::YAML_ENGINE == "psych" && RUBY_VERSION >= "1.9.3" - it "allows exploits through objects defined in YAML w/ !ruby/hash via custom :[]= methods" do - backdoor = YAML.unsafe_load("--- !ruby/hash:ExploitableBackDoor\nfoo: bar\n") - expect(backdoor).to be_exploited_through_setter - end - - it "allows exploits through objects defined in YAML w/ !ruby/object via the :init_with method" do - backdoor = YAML.unsafe_load("--- !ruby/object:ExploitableBackDoor\nfoo: bar\n") - expect(backdoor).to be_exploited_through_init_with - end - end - - it "allows exploits through objects w/ sensitive instance variables defined in YAML w/ !ruby/object" do - backdoor = YAML.unsafe_load("--- !ruby/object:ExploitableBackDoor\nfoo: bar\n") - expect(backdoor).to be_exploited_through_ivars - end - - context "with special whitelisted tags defined" do - before :each do - SafeYAML::whitelist!(OpenStruct) - end - - it "effectively ignores the whitelist (since everything is whitelisted)" do - result = YAML.unsafe_load <<-YAML.unindent - --- !ruby/object:OpenStruct - table: - :backdoor: !ruby/object:ExploitableBackDoor - foo: bar - YAML - - expect(result).to be_a(OpenStruct) - expect(result.backdoor).to be_exploited_through_ivars - end - end - end - - describe "safe_load" do - it "does NOT allow exploits through objects defined in YAML w/ !ruby/hash" do - object = YAML.safe_load("--- !ruby/hash:ExploitableBackDoor\nfoo: bar\n") - expect(object).not_to be_a(ExploitableBackDoor) - end - - it "does NOT allow exploits through objects defined in YAML w/ !ruby/object" do - object = YAML.safe_load("--- !ruby/object:ExploitableBackDoor\nfoo: bar\n") - expect(object).not_to be_a(ExploitableBackDoor) - end - - context "for YAML engine #{SafeYAML::YAML_ENGINE}" do - if SafeYAML::YAML_ENGINE == "psych" - let(:options) { nil } - let(:arguments) { ["foo: bar", nil, options] } - - context "when no tags are whitelisted" do - it "constructs a SafeYAML::PsychHandler to resolve nodes as they're parsed, for optimal performance" do - expect(Psych::Parser).to receive(:new).with an_instance_of(SafeYAML::PsychHandler) - # This won't work now; we just want to ensure Psych::Parser#parse was in fact called. - YAML.safe_load(*arguments) rescue nil - end - end - - context "when whitelisted tags are specified" do - let(:options) { - { :whitelisted_tags => ["foo"] } - } - - it "instead uses Psych to construct a full tree before examining the nodes" do - expect(Psych).to receive(:parse) - # This won't work now; we just want to ensure Psych::Parser#parse was in fact called. - YAML.safe_load(*arguments) rescue nil - end - end - end - - if SafeYAML::YAML_ENGINE == "syck" - it "uses Syck internally to parse YAML" do - expect(YAML).to receive(:parse).with("foo: bar") - # This won't work now; we just want to ensure YAML::parse was in fact called. - YAML.safe_load("foo: bar") rescue nil - end - end - end - - it "loads a plain ol' YAML document just fine" do - result = YAML.safe_load <<-YAML.unindent - foo: - number: 1 - boolean: true - nil: ~ - string: Hello, there! - symbol: :blah - sequence: - - hi - - bye - YAML - - expect(result).to eq({ - "foo" => { - "number" => 1, - "boolean" => true, - "nil" => nil, - "string" => "Hello, there!", - "symbol" => ":blah", - "sequence" => ["hi", "bye"] - } - }) - end - - it "works for YAML documents with anchors and aliases" do - result = YAML.safe_load <<-YAML - - &id001 {} - - *id001 - - *id001 - YAML - - expect(result).to eq([{}, {}, {}]) - end - - it "works for YAML documents with binary tagged keys" do - result = YAML.safe_load <<-YAML - ? !!binary > - Zm9v - : "bar" - ? !!binary > - YmFy - : "baz" - YAML - - expect(result).to eq({"foo" => "bar", "bar" => "baz"}) - end - - it "works for YAML documents with binary tagged values" do - result = YAML.safe_load <<-YAML - "foo": !!binary > - YmFy - "bar": !!binary > - YmF6 - YAML - - expect(result).to eq({"foo" => "bar", "bar" => "baz"}) - end - - it "works for YAML documents with binary tagged array values" do - result = YAML.safe_load <<-YAML - - !binary |- - Zm9v - - !binary |- - YmFy - YAML - - expect(result).to eq(["foo", "bar"]) - end - - it "works for YAML documents with sections" do - result = YAML.safe_load <<-YAML - mysql: &mysql - adapter: mysql - pool: 30 - login: &login - username: user - password: password123 - development: &development - <<: *mysql - <<: *login - host: localhost - YAML - - expect(result).to eq({ - "mysql" => { - "adapter" => "mysql", - "pool" => 30 - }, - "login" => { - "username" => "user", - "password" => "password123" - }, - "development" => { - "adapter" => "mysql", - "pool" => 30, - "username" => "user", - "password" => "password123", - "host" => "localhost" - } - }) - end - - it "correctly prefers explicitly defined values over default values from included sections" do - # Repeating this test 100 times to increase the likelihood of running into an issue caused by - # non-deterministic hash key enumeration. - 100.times do - result = YAML.safe_load <<-YAML - defaults: &defaults - foo: foo - bar: bar - baz: baz - custom: - <<: *defaults - bar: custom_bar - baz: custom_baz - YAML - - expect(result["custom"]).to eq({ - "foo" => "foo", - "bar" => "custom_bar", - "baz" => "custom_baz" - }) - end - end - - it "works with multi-level inheritance" do - result = YAML.safe_load <<-YAML - defaults: &defaults - foo: foo - bar: bar - baz: baz - custom: &custom - <<: *defaults - bar: custom_bar - baz: custom_baz - grandcustom: &grandcustom - <<: *custom - YAML - - expect(result).to eq({ - "defaults" => { "foo" => "foo", "bar" => "bar", "baz" => "baz" }, - "custom" => { "foo" => "foo", "bar" => "custom_bar", "baz" => "custom_baz" }, - "grandcustom" => { "foo" => "foo", "bar" => "custom_bar", "baz" => "custom_baz" } - }) - end - - it "returns false when parsing an empty document" do - expect([ - YAML.safe_load(""), - YAML.safe_load(" "), - YAML.safe_load("\n") - ]).to eq([false, false, false]) - end - - it "returns nil when parsing a single value representing nil" do - expect([ - YAML.safe_load("~"), - YAML.safe_load("null") - ]).to eq([nil, nil]) - end - - context "with custom initializers defined" do - before :each do - if SafeYAML::YAML_ENGINE == "psych" - SafeYAML::OPTIONS[:custom_initializers] = { - "!set" => lambda { Set.new }, - "!hashiemash" => lambda { Hashie::Mash.new } - } - else - SafeYAML::OPTIONS[:custom_initializers] = { - "tag:yaml.org,2002:set" => lambda { Set.new }, - "tag:yaml.org,2002:hashiemash" => lambda { Hashie::Mash.new } - } - end - end - - it "will use a custom initializer to instantiate an array-like class upon deserialization" do - result = YAML.safe_load <<-YAML.unindent - --- !set - - 1 - - 2 - - 3 - YAML - - expect(result).to be_a(Set) - expect(result.to_a).to match_array([1, 2, 3]) - end - - it "will use a custom initializer to instantiate a hash-like class upon deserialization" do - result = YAML.safe_load <<-YAML.unindent - --- !hashiemash - foo: bar - YAML - - expect(result).to be_a(Hashie::Mash) - expect(result.to_hash).to eq({ "foo" => "bar" }) - end - end - - context "with special whitelisted tags defined" do - before :each do - SafeYAML::whitelist!(OpenStruct) - - # Necessary for deserializing OpenStructs properly. - SafeYAML::OPTIONS[:deserialize_symbols] = true - end - - it "will allow objects to be deserialized for whitelisted tags" do - result = YAML.safe_load("--- !ruby/object:OpenStruct\ntable:\n foo: bar\n") - expect(result).to be_a(OpenStruct) - expect(result.instance_variable_get(:@table)).to eq({ "foo" => "bar" }) - end - - it "will not deserialize objects without whitelisted tags" do - result = YAML.safe_load("--- !ruby/hash:ExploitableBackDoor\nfoo: bar\n") - expect(result).not_to be_a(ExploitableBackDoor) - expect(result).to eq({ "foo" => "bar" }) - end - - it "will not allow non-whitelisted objects to be embedded within objects with whitelisted tags" do - result = YAML.safe_load <<-YAML.unindent - --- !ruby/object:OpenStruct - table: - :backdoor: !ruby/object:ExploitableBackDoor - foo: bar - YAML - - expect(result).to be_a(OpenStruct) - expect(result.backdoor).not_to be_a(ExploitableBackDoor) - expect(result.backdoor).to eq({ "foo" => "bar" }) - end - - context "with the :raise_on_unknown_tag option enabled" do - before :each do - SafeYAML::OPTIONS[:raise_on_unknown_tag] = true - end - - after :each do - SafeYAML.restore_defaults! - end - - it "raises an exception if a non-nil, non-whitelisted tag is encountered" do - expect { - YAML.safe_load <<-YAML.unindent - --- !ruby/object:Unknown - foo: bar - YAML - }.to raise_error - end - - it "checks all tags, even those within objects with trusted tags" do - expect { - YAML.safe_load <<-YAML.unindent - --- !ruby/object:OpenStruct - table: - :backdoor: !ruby/object:Unknown - foo: bar - YAML - }.to raise_error - end - - it "does not raise an exception as long as all tags are whitelisted" do - result = YAML.safe_load <<-YAML.unindent - --- !ruby/object:OpenStruct - table: - :backdoor: - string: foo - integer: 1 - float: 3.14 - symbol: :bar - date: 2013-02-20 - array: [] - hash: {} - YAML - - expect(result).to be_a(OpenStruct) - expect(result.backdoor).to eq({ - "string" => "foo", - "integer" => 1, - "float" => 3.14, - "symbol" => :bar, - "date" => Date.parse("2013-02-20"), - "array" => [], - "hash" => {} - }) - end - - it "does not raise an exception on the non-specific '!' tag" do - result = nil - expect { result = YAML.safe_load "--- ! 'foo'" }.to_not raise_error - expect(result).to eq("foo") - end - - context "with whitelisted custom class" do - class SomeClass - attr_accessor :foo - end - let(:instance) { SomeClass.new } - - before do - SafeYAML::whitelist!(SomeClass) - instance.foo = 'with trailing whitespace: ' - end - - it "does not raise an exception on the non-specific '!' tag" do - result = nil - expect { result = YAML.safe_load(instance.to_yaml) }.to_not raise_error - expect(result.foo).to eq('with trailing whitespace: ') - end - end - end - end - - context "when options are passed direclty to #load which differ from the defaults" do - let(:default_options) { {} } - - before :each do - SafeYAML::OPTIONS.merge!(default_options) - end - - context "(for example, when symbol deserialization is enabled by default)" do - let(:default_options) { { :deserialize_symbols => true } } - - it "goes with the default option when it is not overridden" do - silence_warnings do - expect(YAML.load(":foo: bar")).to eq({ :foo => "bar" }) - end - end - - it "allows the default option to be overridden on a per-call basis" do - silence_warnings do - expect(YAML.load(":foo: bar", :deserialize_symbols => false)).to eq({ ":foo" => "bar" }) - expect(YAML.load(":foo: bar", :deserialize_symbols => true)).to eq({ :foo => "bar" }) - end - end - end - - context "(or, for example, when certain tags are whitelisted)" do - let(:default_options) { - { - :deserialize_symbols => true, - :whitelisted_tags => SafeYAML::YAML_ENGINE == "psych" ? - ["!ruby/object:OpenStruct"] : - ["tag:ruby.yaml.org,2002:object:OpenStruct"] - } - } - - it "goes with the default option when it is not overridden" do - result = safe_load_round_trip(OpenStruct.new(:foo => "bar")) - expect(result).to be_a(OpenStruct) - expect(result.foo).to eq("bar") - end - - it "allows the default option to be overridden on a per-call basis" do - result = safe_load_round_trip(OpenStruct.new(:foo => "bar"), :whitelisted_tags => []) - expect(result).to eq({ "table" => { :foo => "bar" } }) - - result = safe_load_round_trip(OpenStruct.new(:foo => "bar"), :deserialize_symbols => false, :whitelisted_tags => []) - expect(result).to eq({ "table" => { ":foo" => "bar" } }) - end - end - end - end - - describe "unsafe_load_file" do - if SafeYAML::YAML_ENGINE == "psych" && RUBY_VERSION >= "1.9.3" - it "allows exploits through objects defined in YAML w/ !ruby/hash via custom :[]= methods" do - backdoor = YAML.unsafe_load_file "spec/exploit.1.9.3.yaml" - expect(backdoor).to be_exploited_through_setter - end - end - - if SafeYAML::YAML_ENGINE == "psych" && RUBY_VERSION >= "1.9.2" - it "allows exploits through objects defined in YAML w/ !ruby/object via the :init_with method" do - backdoor = YAML.unsafe_load_file "spec/exploit.1.9.2.yaml" - expect(backdoor).to be_exploited_through_init_with - end - end - - it "allows exploits through objects w/ sensitive instance variables defined in YAML w/ !ruby/object" do - backdoor = YAML.unsafe_load_file "spec/exploit.1.9.2.yaml" - expect(backdoor).to be_exploited_through_ivars - end - end - - describe "safe_load_file" do - it "does NOT allow exploits through objects defined in YAML w/ !ruby/hash" do - object = YAML.safe_load_file "spec/exploit.1.9.3.yaml" - expect(object).not_to be_a(ExploitableBackDoor) - end - - it "does NOT allow exploits through objects defined in YAML w/ !ruby/object" do - object = YAML.safe_load_file "spec/exploit.1.9.2.yaml" - expect(object).not_to be_a(ExploitableBackDoor) - end - - it "returns false when parsing an empty file" do - expect(YAML.safe_load_file("spec/issue49.yml")).to eq(false) - end - end - - describe "load" do - let(:options) { {} } - - let (:arguments) { - if SafeYAML::MULTI_ARGUMENT_YAML_LOAD - ["foo: bar", nil, options] - else - ["foo: bar", options] - end - } - - context "as long as a :default_mode has been specified" do - it "doesn't issue a warning for safe mode, since an explicit mode has been set" do - SafeYAML::OPTIONS[:default_mode] = :safe - expect(Kernel).not_to receive(:warn) - YAML.load(*arguments) - end - - it "doesn't issue a warning for unsafe mode, since an explicit mode has been set" do - SafeYAML::OPTIONS[:default_mode] = :unsafe - expect(Kernel).not_to receive(:warn) - YAML.load(*arguments) - end - end - - context "when the :safe options is specified" do - let(:safe_mode) { true } - let(:options) { { :safe => safe_mode } } - - it "doesn't issue a warning" do - expect(Kernel).not_to receive(:warn) - YAML.load(*arguments) - end - - it "calls #safe_load if the :safe option is set to true" do - expect(YAML).to receive(:safe_load) - YAML.load(*arguments) - end - - context "when the :safe option is set to false" do - let(:safe_mode) { false } - - it "calls #unsafe_load if the :safe option is set to false" do - expect(YAML).to receive(:unsafe_load) - YAML.load(*arguments) - end - end - end - - it "issues a warning when the :safe option is omitted" do - silence_warnings do - expect(Kernel).to receive(:warn) - YAML.load(*arguments) - end - end - - it "only issues a warning once (to avoid spamming an app's output)" do - silence_warnings do - expect(Kernel).to receive(:warn).once - 2.times { YAML.load(*arguments) } - end - end - - it "defaults to safe mode if the :safe option is omitted" do - silence_warnings do - expect(YAML).to receive(:safe_load) - YAML.load(*arguments) - end - end - - context "with the default mode set to :unsafe" do - before :each do - SafeYAML::OPTIONS[:default_mode] = :unsafe - end - - it "defaults to unsafe mode if the :safe option is omitted" do - silence_warnings do - expect(YAML).to receive(:unsafe_load) - YAML.load(*arguments) - end - end - - it "calls #safe_load if the :safe option is set to true" do - expect(YAML).to receive(:safe_load) - YAML.load(*(arguments + [{ :safe => true }])) - end - end - end - - describe "load_file" do - let(:filename) { "spec/exploit.1.9.2.yaml" } # doesn't really matter - - it "issues a warning if the :safe option is omitted" do - silence_warnings do - expect(Kernel).to receive(:warn) - YAML.load_file(filename) - end - end - - it "doesn't issue a warning as long as the :safe option is specified" do - expect(Kernel).not_to receive(:warn) - YAML.load_file(filename, :safe => true) - end - - it "defaults to safe mode if the :safe option is omitted" do - silence_warnings do - expect(YAML).to receive(:safe_load_file) - YAML.load_file(filename) - end - end - - it "calls #safe_load_file if the :safe option is set to true" do - expect(YAML).to receive(:safe_load_file) - YAML.load_file(filename, :safe => true) - end - - it "calls #unsafe_load_file if the :safe option is set to false" do - expect(YAML).to receive(:unsafe_load_file) - YAML.load_file(filename, :safe => false) - end - - context "with arbitrary object deserialization enabled by default" do - before :each do - SafeYAML::OPTIONS[:default_mode] = :unsafe - end - - it "defaults to unsafe mode if the :safe option is omitted" do - silence_warnings do - expect(YAML).to receive(:unsafe_load_file) - YAML.load_file(filename) - end - end - - it "calls #safe_load if the :safe option is set to true" do - expect(YAML).to receive(:safe_load_file) - YAML.load_file(filename, :safe => true) - end - end - - it "handles files starting with --- (see issue #48)" do - expect(YAML.load_file("spec/issue48.txt", :safe => true)).to eq({ - "title" => "Blah", - "key" => "value" - }) - end - - it "handles content starting with --- (see issue #48)" do - yaml = File.read("spec/issue48.txt") - expect(YAML.load(yaml, :safe => true)).to eq({ - "title" => "Blah", - "key" => "value" - }) - end - end - - describe "whitelist!" do - context "not a class" do - it "should raise" do - expect { SafeYAML::whitelist! :foo }.to raise_error(/not a Class/) - expect(SafeYAML::OPTIONS[:whitelisted_tags]).to be_empty - end - end - - context "anonymous class" do - it "should raise" do - expect { SafeYAML::whitelist! Class.new }.to raise_error(/cannot be anonymous/) - expect(SafeYAML::OPTIONS[:whitelisted_tags]).to be_empty - end - end - - context "with a Class as its argument" do - it "should configure correctly" do - expect { SafeYAML::whitelist! OpenStruct }.to_not raise_error - expect(SafeYAML::OPTIONS[:whitelisted_tags].grep(/OpenStruct\Z/)).not_to be_empty - end - - it "successfully deserializes the specified class" do - SafeYAML.whitelist!(OpenStruct) - - # necessary for properly assigning OpenStruct attributes - SafeYAML::OPTIONS[:deserialize_symbols] = true - - result = safe_load_round_trip(OpenStruct.new(:foo => "bar")) - expect(result).to be_a(OpenStruct) - expect(result.foo).to eq("bar") - end - - it "works for ranges" do - SafeYAML.whitelist!(Range) - expect(safe_load_round_trip(1..10)).to eq(1..10) - end - - it "works for regular expressions" do - SafeYAML.whitelist!(Regexp) - expect(safe_load_round_trip(/foo/)).to eq(/foo/) - end - - it "works for multiple classes" do - SafeYAML.whitelist!(Range, Regexp) - expect(safe_load_round_trip([(1..10), /bar/])).to eq([(1..10), /bar/]) - end - - it "works for arbitrary Exception subclasses" do - class CustomException < Exception - attr_reader :custom_message - - def initialize(custom_message) - @custom_message = custom_message - end - end - - SafeYAML.whitelist!(CustomException) - - ex = safe_load_round_trip(CustomException.new("blah")) - expect(ex).to be_a(CustomException) - expect(ex.custom_message).to eq("blah") - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/spec_helper.rb deleted file mode 100644 index 967b2d3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/spec_helper.rb +++ /dev/null @@ -1,42 +0,0 @@ -HERE = File.dirname(__FILE__) unless defined?(HERE) -ROOT = File.join(HERE, "..") unless defined?(ROOT) - -$LOAD_PATH << File.join(ROOT, "lib") -$LOAD_PATH << File.join(HERE, "support") - -require "yaml" -if ENV["YAMLER"] && defined?(YAML::ENGINE) - YAML::ENGINE.yamler = ENV["YAMLER"] -end - -ruby_version = defined?(JRUBY_VERSION) ? "JRuby #{JRUBY_VERSION} in #{RUBY_VERSION} mode" : "Ruby #{RUBY_VERSION}" -yaml_engine = defined?(YAML::ENGINE) ? YAML::ENGINE.yamler : "syck" -libyaml_version = yaml_engine == "psych" && Psych.const_defined?("LIBYAML_VERSION", false) ? Psych::LIBYAML_VERSION : "N/A" - -env_info = [ - ruby_version, - "YAML: #{yaml_engine} (#{YAML::VERSION}) (libyaml: #{libyaml_version})", - "Monkeypatch: #{ENV['MONKEYPATCH_YAML']}" -] - -puts env_info.join(", ") - -# Caching references to these methods before loading safe_yaml in order to test -# that they aren't touched unless you actually require safe_yaml (see yaml_spec.rb). -ORIGINAL_YAML_LOAD = YAML.method(:load) -ORIGINAL_YAML_LOAD_FILE = YAML.method(:load_file) - -require "safe_yaml/load" -require "ostruct" -require "hashie" -require "heredoc_unindent" - -# Stolen from Rails: -# https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/core_ext/kernel/reporting.rb#L10-25 -def silence_warnings - $VERBOSE = nil; yield -ensure - $VERBOSE = true -end - -require File.join(HERE, "resolver_specs") diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/store_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/store_spec.rb deleted file mode 100644 index aafcfd4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/store_spec.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'spec_helper' - -require 'safe_yaml/store' - -describe SafeYAML::Store do - - let(:file) { 'spec/store.yaml' } - let(:content) { "--- \nfoo: 42\n:bar: \"party\"\n" } - - before do - # Rewrite file on every test, as its contents are potentially modified by - # SafeYAML::Store#transaction - File.open(file, 'w') { |f| f.write(content) } - end - - def expect_safe_load(options = {}) - load_args = [content, options] - load_args.insert(1, nil) if SafeYAML::YAML_ENGINE == 'psych' - - expect(SafeYAML).to receive(:load).with(*load_args).and_call_original - expect(YAML).not_to receive(:load) - end - - let(:init_args) { [file] } - subject { described_class.new(*init_args) } - - it 'should be a YAML::Store' do - expect(subject).to be_a(YAML::Store) - end - - it 'should be a SafeYAML::Store' do - expect(subject).to be_a(SafeYAML::Store) - end - - it 'should use SafeYAML.load instead of YAML.load' do - expect_safe_load - expect(subject.transaction { subject['foo'] }).to eq(42) - end - - it 'preserves default SafeYAML behavior' do - expect(subject.transaction { subject[:bar] }).to eq(nil) - expect(subject.transaction { subject[':bar'] }).to eq('party') - end - - - describe 'with options' do - - let(:init_args) { super().insert(2, :deserialize_symbols => true) } - - it 'should accept options for SafeYAML.load' do - expect_safe_load(:deserialize_symbols => true) - expect(subject.transaction { subject[:bar] }).to eq('party') - end - - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/support/exploitable_back_door.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/support/exploitable_back_door.rb deleted file mode 100644 index 48754b4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/support/exploitable_back_door.rb +++ /dev/null @@ -1,29 +0,0 @@ -class ExploitableBackDoor - def exploited? - @exploited_through_setter || @exploited_through_init_with || @exploited_through_ivars - end - - def exploited_through_setter? - @exploited_through_setter - end - - def exploited_through_init_with? - @exploited_through_init_with - end - - def exploited_through_ivars? - self.instance_variables.any? - end - - def init_with(command) - # Note: this is how bad this COULD be. - # system("#{command}") - @exploited_through_init_with = true - end - - def []=(command, arguments) - # Note: this is how bad this COULD be. - # system("#{command} #{arguments}") - @exploited_through_setter = true - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/syck_resolver_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/syck_resolver_spec.rb deleted file mode 100644 index bec729b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/syck_resolver_spec.rb +++ /dev/null @@ -1,10 +0,0 @@ -require "spec_helper" - -if SafeYAML::YAML_ENGINE == "syck" - require "safe_yaml/syck_resolver" - - describe SafeYAML::SyckResolver do - include ResolverSpecs - let(:resolver) { SafeYAML::SyckResolver.new } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/base64_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/base64_spec.rb deleted file mode 100644 index f4d83d0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/base64_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require "spec_helper" - -describe SafeYAML::Transform do - it "should return the same encoding when decoding Base64" do - value = "c3VyZS4=" - decoded = SafeYAML::Transform.to_proper_type(value, false, "!binary") - - expect(decoded).to eq("sure.") - expect(decoded.encoding).to eq(value.encoding) if decoded.respond_to?(:encoding) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_date_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_date_spec.rb deleted file mode 100644 index 31bdb41..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_date_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -require "spec_helper" - -describe SafeYAML::Transform::ToDate do - it "returns true when the value matches a valid Date" do - expect(subject.transform?("2013-01-01")).to eq([true, Date.parse("2013-01-01")]) - end - - it "returns false when the value does not match a valid Date" do - expect(subject.transform?("foobar")).to be_falsey - end - - it "returns false when the value does not end with a Date" do - expect(subject.transform?("2013-01-01\nNOT A DATE")).to be_falsey - end - - it "returns false when the value does not begin with a Date" do - expect(subject.transform?("NOT A DATE\n2013-01-01")).to be_falsey - end - - it "correctly parses the remaining formats of the YAML spec" do - equivalent_values = [ - "2001-12-15T02:59:43.1Z", # canonical - "2001-12-14t21:59:43.10-05:00", # iso8601 - "2001-12-14 21:59:43.10 -5", # space separated - "2001-12-15 2:59:43.10" # no time zone (Z) - ] - - equivalent_values.each do |value| - success, result = subject.transform?(value) - expect(success).to be_truthy - expect(result).to eq(Time.utc(2001, 12, 15, 2, 59, 43, 100000)) - end - end - - it "converts times to the local timezone" do - success, result = subject.transform?("2012-12-01 10:33:45 +11:00") - expect(success).to be_truthy - expect(result).to eq(Time.utc(2012, 11, 30, 23, 33, 45)) - expect(result.gmt_offset).to eq(Time.local(2012, 11, 30).gmt_offset) - end - - it "returns strings for invalid dates" do - expect(subject.transform?("0000-00-00")).to eq([true, "0000-00-00"]) - expect(subject.transform?("2013-13-01")).to eq([true, "2013-13-01"]) - expect(subject.transform?("2014-01-32")).to eq([true, "2014-01-32"]) - end - - it "returns strings for invalid date/times" do - expect(subject.transform?("0000-00-00 00:00:00 -0000")).to eq([true, "0000-00-00 00:00:00 -0000"]) - expect(subject.transform?("2013-13-01 21:59:43 -05:00")).to eq([true, "2013-13-01 21:59:43 -05:00"]) - expect(subject.transform?("2013-01-32 21:59:43 -05:00")).to eq([true, "2013-01-32 21:59:43 -05:00"]) - expect(subject.transform?("2013-01-30 25:59:43 -05:00")).to eq([true, "2013-01-30 25:59:43 -05:00"]) - expect(subject.transform?("2013-01-30 21:69:43 -05:00")).to eq([true, "2013-01-30 21:69:43 -05:00"]) - - # Interesting. It seems that in some older Ruby versions, the below actually parses successfully - # w/ DateTime.parse; but it fails w/ YAML.load. Whom to follow??? - - # subject.transform?("2013-01-30 21:59:63 -05:00").should == [true, "2013-01-30 21:59:63 -05:00"] - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_float_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_float_spec.rb deleted file mode 100644 index d4d813f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_float_spec.rb +++ /dev/null @@ -1,42 +0,0 @@ -require "spec_helper" - -describe SafeYAML::Transform::ToFloat do - it "returns true when the value matches a valid Float" do - expect(subject.transform?("20.00")).to eq([true, 20.0]) - end - - it "returns false when the value does not match a valid Float" do - expect(subject.transform?("foobar")).to be_falsey - end - - it "returns false when the value spans multiple lines" do - expect(subject.transform?("20.00\nNOT A FLOAT")).to be_falsey - end - - it "correctly parses all formats in the YAML spec" do - # canonical - expect(subject.transform?("6.8523015e+5")).to eq([true, 685230.15]) - - # exponentioal - expect(subject.transform?("685.230_15e+03")).to eq([true, 685230.15]) - - # fixed - expect(subject.transform?("685_230.15")).to eq([true, 685230.15]) - - # sexagesimal - expect(subject.transform?("190:20:30.15")).to eq([true, 685230.15]) - - # infinity - expect(subject.transform?("-.inf")).to eq([true, (-1.0 / 0.0)]) - - # not a number - # NOTE: can't use == here since NaN != NaN - success, result = subject.transform?(".NaN") - expect(success).to be_truthy; expect(result).to be_nan - end - - # issue 29 - it "returns false for the string '.'" do - expect(subject.transform?(".")).to be_falsey - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_integer_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_integer_spec.rb deleted file mode 100644 index 6c6723b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_integer_spec.rb +++ /dev/null @@ -1,64 +0,0 @@ -require "spec_helper" - -describe SafeYAML::Transform::ToInteger do - it "returns true when the value matches a valid Integer" do - expect(subject.transform?("10")).to eq([true, 10]) - end - - it "returns false when the value does not match a valid Integer" do - expect(subject.transform?("foobar")).to be_falsey - end - - it "returns false when the value spans multiple lines" do - expect(subject.transform?("10\nNOT AN INTEGER")).to be_falsey - end - - it "allows commas in the number" do - expect(subject.transform?("1,000")).to eq([true, 1000]) - end - - it "correctly parses numbers in octal format" do - expect(subject.transform?("010")).to eq([true, 8]) - end - - it "correctly parses numbers in hexadecimal format" do - expect(subject.transform?("0x1FF")).to eq([true, 511]) - end - - it "defaults to a string for a number that resembles octal format but is not" do - expect(subject.transform?("09")).to be_falsey - end - - it "correctly parses 0 in decimal" do - expect(subject.transform?("0")).to eq([true, 0]) - end - - it "defaults to a string for a number that resembles hexadecimal format but is not" do - expect(subject.transform?("0x1G")).to be_falsey - end - - it "correctly parses all formats in the YAML spec" do - # canonical - expect(subject.transform?("685230")).to eq([true, 685230]) - - # decimal - expect(subject.transform?("+685_230")).to eq([true, 685230]) - - # octal - expect(subject.transform?("02472256")).to eq([true, 685230]) - - # hexadecimal: - expect(subject.transform?("0x_0A_74_AE")).to eq([true, 685230]) - - # binary - expect(subject.transform?("0b1010_0111_0100_1010_1110")).to eq([true, 685230]) - - # sexagesimal - expect(subject.transform?("190:20:30")).to eq([true, 685230]) - end - - # see https://github.com/dtao/safe_yaml/pull/51 - it "strips out underscores before parsing decimal values" do - expect(subject.transform?("_850_")).to eq([true, 850]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_symbol_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_symbol_spec.rb deleted file mode 100644 index 59cd242..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/transform/to_symbol_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -require "spec_helper" - -describe SafeYAML::Transform::ToSymbol do - def with_symbol_deserialization_value(value) - symbol_deserialization_flag = SafeYAML::OPTIONS[:deserialize_symbols] - SafeYAML::OPTIONS[:deserialize_symbols] = value - - yield - - ensure - SafeYAML::OPTIONS[:deserialize_symbols] = symbol_deserialization_flag - end - - def with_symbol_deserialization(&block) - with_symbol_deserialization_value(true, &block) - end - - def without_symbol_deserialization(&block) - with_symbol_deserialization_value(false, &block) - end - - it "returns true when the value matches a valid Symbol" do - with_symbol_deserialization { expect(subject.transform?(":foo")[0]).to be_truthy } - end - - it "returns true when the value matches a valid String+Symbol" do - with_symbol_deserialization { expect(subject.transform?(':"foo"')[0]).to be_truthy } - end - - it "returns true when the value matches a valid String+Symbol with 's" do - with_symbol_deserialization { expect(subject.transform?(":'foo'")[0]).to be_truthy } - end - - it "returns true when the value has special characters and is wrapped in a String" do - with_symbol_deserialization { expect(subject.transform?(':"foo.bar"')[0]).to be_truthy } - end - - it "returns false when symbol deserialization is disabled" do - without_symbol_deserialization { expect(subject.transform?(":foo")).to be_falsey } - end - - it "returns false when the value does not match a valid Symbol" do - with_symbol_deserialization { expect(subject.transform?("foo")).to be_falsey } - end - - it "returns false when the symbol does not begin the line" do - with_symbol_deserialization do - expect(subject.transform?("NOT A SYMBOL\n:foo")).to be_falsey - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/yaml_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/yaml_spec.rb deleted file mode 100644 index 2c2bd18..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/safe_yaml-1.0.5/spec/yaml_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -# See https://github.com/dtao/safe_yaml/issues/47 - -require "spec_helper" - -describe YAML do - context "when you've only required safe_yaml/load", :libraries => true do - it "YAML.load doesn't get monkey patched" do - expect(YAML.method(:load)).to eq(ORIGINAL_YAML_LOAD) - end - - it "YAML.load_file doesn't get monkey patched" do - expect(YAML.method(:load_file)).to eq(ORIGINAL_YAML_LOAD_FILE) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/.yardopts b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/.yardopts deleted file mode 100644 index a380440..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/.yardopts +++ /dev/null @@ -1,13 +0,0 @@ ---readme README.md ---markup markdown ---markup-provider redcarpet ---default-return "" ---title "Sass Documentation" ---query 'object.type != :classvariable' ---query 'object.type != :constant || @api && @api.text == "public"' ---hide-void-return ---protected ---no-private ---no-highlight ---tag comment ---hide-tag comment diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/CODE_OF_CONDUCT.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/CODE_OF_CONDUCT.md deleted file mode 100644 index c4164af..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,10 +0,0 @@ -Sass is more than a technology; Sass is driven by the community of individuals -that power its development and use every day. As a community, we want to embrace -the very differences that have made our collaboration so powerful, and work -together to provide the best environment for learning, growing, and sharing of -ideas. It is imperative that we keep Sass a fun, welcoming, challenging, and -fair place to play. - -[The full community guidelines can be found on the Sass website.][link] - -[link]: https://sass-lang.com/community-guidelines diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/CONTRIBUTING.md deleted file mode 100644 index a4e671d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/CONTRIBUTING.md +++ /dev/null @@ -1,148 +0,0 @@ -Contributions are welcomed. Please see the following site for guidelines: - -[https://sass-lang.com/community#Contribute](https://sass-lang.com/community#Contribute) - -* [Branches](#main-development-branches) - * [Feature Branches](#feature-branches) - * [Experimental Branches](#experimental-branches) - * [Old Stable Branches](#old-stable-branches) -* [Versioning](#versioning) - * [Making Breaking Changes](#making-breaking-changes) - * [Exceptional Breakages](#exceptional-breakages) - -## Branches - -The Sass repository has three primary development branches, each of which tracks -a different line of releases (see [versioning](#versioning) below). Each branch -is regularly merged into the one below: `stable` into `next`, `next` into -`master`. - -* The `stable` branch is the default—it's what GitHub shows if you go to - [sass/ruby-sass](https://github.com/sass/ruby-sass), and it's the default place for pull - requests to go. This branch is where we work on the next patch release. Bug - fixes and documentation improvements belong here, but not new features. - -* The `next` branch is where we work on the next minor release. It's where most - new features go, as long as they're not breaking changes. Very occasionally - breaking changes will go here as well—see - [exceptional breakages](#exceptional-breakages) below for details. - -* The `master` branch is where we work on the next major release. It's where - breaking changes go. We also occasionally decide that a non-breaking feature - is big enough to warrant saving until the next major release, in which case it - will also be developed here. - -Ideally, pull requests would be made against the appropriate -branch, but don't worry about it too much; if you make a request against the -wrong branch, the maintainer will take responsibility for rebasing it before -merging. - -### Testing - -Tests for changes to the Sass language go in -[sass-spec](https://github.com/sass/sass-spec) so that other -implementations (E.g. libSass) can be tested against the same test -suite. The sass-spec repo follows a "trunk development" model in that -the tests there test against different version of the Sass language (as -opposed to having branches that track different Sass versions). When -contributing changes to Sass, update the Gemfile to use sass-spec from a -branch or fork that has the new tests. When the feature lands in Sass, -the committer will also merge the corresponding sass-spec changes. - -The [documentation of -sass-spec](https://github.com/sass/sass-spec/blob/master/README.md) -explains how to run sass-spec and contribute changes. In development, -Change the Gemfile(s) to use the `:path` option against the sass-spec gem -to link your local checkout of sass and sass-spec together in one or -both directions. - -Changes to Sass internals or Ruby Sass specific features (E.g. -the `sass-convert` tool) should always have tests in the Sass `test` -directory following the conventions you see there. - -### Feature Branches - -Sometimes it won't be possible to merge a new feature into `next` or `master` -immediately. It may require longer-term work before it's complete, or we may not -want to release it as part of any alpha releases of the branch in question. -Branches like this are labeled `feature.#{name}` and stay on GitHub until -they're ready to be merged. - -### Experimental Branches - -Not all features pan out, and not all code is a good fit for merging into the -main codebase. Usually when this happens the code is just discarded, but every -so often it's interesting or promising enough that it's worth keeping around. -This is what experimental branches (labeled `experimental.#{name}`) are for. -While they're not currently in use, they contain code that might be useful in -the future. - -### Old Stable Branches - -Usually Sass doesn't have the development time to do long-term maintenance of -old release. But occasionally, very rarely, it becomes necessary. In cases like -that, a branch named `stable_#{version}` will be created, starting from the last -tag in that version series. - -## Versioning - -Starting with version 3.5.0, Sass uses [semantic versioning](http://semver.org/) -to indicate the evolution of its language semantics as much as possible. This -means that patch releases (such as 3.5.3) contain only bug fixes, minor releases -(such as 3.6.0) contain backwards-compatible features, and only major releases -(such as 4.0.0) are allowed to have backwards-incompatible behavior. There are -[exceptions](#exceptional-breakages), but we try to follow this rule as closely -as possible. - -Note, however, that the semantic versioning applies only to the language's -semantics, not to the Ruby APIs. Although we try hard to keep widely-used APIs -like [`Sass::Engine`][Sass::Engine] stable, we don't have a strong distinction -between public and private APIs and we need to be able to freely refactor our -code. - -[Sass::Engine]: https://sass-lang.com/documentation/Sass/Engine.html - -### Making Breaking Changes - -Sometimes the old way of doing something just isn't going to work anymore, and -the new way just can't be made backwards-compatible. In that case, a breaking -change is necessary. These changes are rarely pleasant, but they contribute to -making the language better in the long term. - -Our breaking change process tries to make such changes as clear to users and as -easy to adapt to as possible. We want to ensure that there's a clear path -forward for users using functionality that will no longer exist, and that they -are able to understand what's changing and what they need to do. We've developed -the following process for this: - -1. Deprecate the old behavior [in `stable`](#branches). At minimum, deprecating - some behavior involves printing a warning when that behavior is used - explaining that it's going to go away in the future. Ideally, this message - will also include code that will do the same thing in a non-deprecated way. - If there's a thorough prose explanation of the change available online, the - message should link to that as well. - -2. If possible, make `sass-convert` (also in `stable`) convert the deprecated - behavior into a non-deprecated form. This allows users to run `sass-convert - -R -i` to automatically update their stylesheets. - -3. Implement the new behavior in `master`. The sooner this happens, the better: - it may be unclear exactly what needs to be deprecated until the new - implementation exists. - -4. Release an alpha version of `master` that includes the new behavior. This - allows users who are dissatisfied with the workaround to use the new - behavior early. Normally a maintainer will take care of this. - -### Exceptional Breakages - -Because Sass's syntax and semantics are closely tied to those of CSS, there are -occasionally times when CSS syntax is introduced that overlaps with -previously-valid Sass. In this case in particular, we may introduce a breaking -change in a minor version to get back to CSS compatibility as soon as possible. - -Exceptional breakages still require the full deprecation process; the only -change is that the new behavior is implemented in `next` rather than `master`. -Because there are no minor releases between the deprecation and the removal of -the old behavior, the deprecation warning should be introduced soon as it -becomes clear that an exceptional breakage is necessary. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/MIT-LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/MIT-LICENSE deleted file mode 100644 index 5c184eb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/MIT-LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2006-2016 Hampton Catlin, Natalie Weizenbaum, and Chris Eppstein - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/README.md deleted file mode 100644 index 4ae836e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/README.md +++ /dev/null @@ -1,235 +0,0 @@ -## Ruby Sass Has Reached End-of-Life - -Ruby Sass should no longer be used, and will no longer be receiving any updates. -See [the Sass blog][], and consider switching to the [`sassc` gem]. - -[the Sass blog]: https://sass-lang.com/blog/posts/7828841 -[`sassc` gem]: https://rubygems.org/gems/sassc - -# Sass [![Travis Build Status](https://travis-ci.org/sass/ruby-sass.svg?branch=next)](https://travis-ci.org/sass/ruby-sass) [![Gem Version](https://badge.fury.io/rb/sass.svg)](http://badge.fury.io/rb/sass) [![Inline docs](http://inch-ci.org/github/sass/sass.svg)](http://inch-ci.org/github/sass/sass) - -**Sass makes CSS fun again**. Sass is an extension of CSS, -adding nested rules, variables, mixins, selector inheritance, and more. -It's translated to well-formatted, standard CSS -using the command line tool or a web-framework plugin. - -Sass has two syntaxes. The new main syntax (as of Sass 3) -is known as "SCSS" (for "Sassy CSS"), -and is a superset of CSS's syntax. -This means that every valid CSS stylesheet is valid SCSS as well. -SCSS files use the extension `.scss`. - -The second, older syntax is known as the indented syntax (or just "Sass"). -Inspired by Haml's terseness, it's intended for people -who prefer conciseness over similarity to CSS. -Instead of brackets and semicolons, -it uses the indentation of lines to specify blocks. -Although no longer the primary syntax, -the indented syntax will continue to be supported. -Files in the indented syntax use the extension `.sass`. - -## Using - -Sass can be used from the command line -or as part of a web framework. -The first step is to install the gem: - - gem install sass - -After you convert some CSS to Sass, you can run - - sass style.scss - -to compile it back to CSS. -For more information on these commands, check out - - sass --help - -To install Sass in Rails 2, -just add `config.gem "sass"` to `config/environment.rb`. -In Rails 3, add `gem "sass"` to your Gemfile instead. -`.sass` or `.scss` files should be placed in `public/stylesheets/sass`, -where they'll be automatically compiled -to corresponding CSS files in `public/stylesheets` when needed -(the Sass template directory is customizable... -see [the Sass reference](https://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#template_location-option) for details). - -Sass can also be used with any Rack-enabled web framework. -To do so, just add - -```ruby -require 'sass/plugin/rack' -use Sass::Plugin::Rack -``` - -to `config.ru`. -Then any Sass files in `public/stylesheets/sass` -will be compiled into CSS files in `public/stylesheets` on every request. - -To use Sass programmatically, -check out the [YARD documentation](https://sass-lang.com/documentation/file.SASS_REFERENCE.html#using_sass). - -## Formatting - -Sass is an extension of CSS -that adds power and elegance to the basic language. -It allows you to use [variables][vars], [nested rules][nested], -[mixins][mixins], [inline imports][imports], -and more, all with a fully CSS-compatible syntax. -Sass helps keep large stylesheets well-organized, -and get small stylesheets up and running quickly, -particularly with the help of -[the Compass style library](http://compass-style.org). - -[vars]: https://sass-lang.com/documentation/file.SASS_REFERENCE.html#variables_ -[nested]: https://sass-lang.com/documentation/file.SASS_REFERENCE.html#nested_rules -[mixins]: https://sass-lang.com/documentation/file.SASS_REFERENCE.html#mixins -[imports]: https://sass-lang.com/documentation/file.SASS_REFERENCE.html#import - -Sass has two syntaxes. -The one presented here, known as "SCSS" (for "Sassy CSS"), -is fully CSS-compatible. -The other (older) syntax, known as the indented syntax or just "Sass", -is whitespace-sensitive and indentation-based. -For more information, see the [reference documentation][syntax]. - -[syntax]: https://sass-lang.com/documentation/file.SASS_REFERENCE.html#syntax - -To run the following examples and see the CSS they produce, -put them in a file called `test.scss` and run `sass test.scss`. - -### Nesting - -Sass avoids repetition by nesting selectors within one another. -The same thing works for properties. - -```scss -table.hl { - margin: 2em 0; - td.ln { text-align: right; } -} - -li { - font: { - family: serif; - weight: bold; - size: 1.2em; - } -} -``` - -### Variables - -Use the same color all over the place? -Need to do some math with height and width and text size? -Sass supports variables, math operations, and many useful functions. - -```scss -$blue: #3bbfce; -$margin: 16px; - -.content_navigation { - border-color: $blue; - color: darken($blue, 10%); -} - -.border { - padding: $margin / 2; - margin: $margin / 2; - border-color: $blue; -} -``` - -### Mixins - -Even more powerful than variables, -mixins allow you to re-use whole chunks of CSS, -properties or selectors. -You can even give them arguments. - -```scss -@mixin table-scaffolding { - th { - text-align: center; - font-weight: bold; - } - td, th { padding: 2px; } -} - -@mixin left($dist) { - float: left; - margin-left: $dist; -} - -#data { - @include left(10px); - @include table-scaffolding; -} -``` - -A comprehensive list of features is available -in the [Sass reference](https://sass-lang.com/documentation/file.SASS_REFERENCE.html). - -## Executables - -The Sass gem includes several executables that are useful -for dealing with Sass from the command line. - -### `sass` - -The `sass` executable transforms a source Sass file into CSS. -See `sass --help` for further information and options. - -### `sass-convert` - -The `sass-convert` executable converts between CSS, Sass, and SCSS. -When converting from CSS to Sass or SCSS, -nesting is applied where appropriate. -See `sass-convert --help` for further information and options. - -### Running locally - -To run the Sass executables from a source checkout instead of from rubygems: - -``` -$ cd sass -$ bundle -$ bundle exec sass ... -$ bundle exec scss ... -$ bundle exec sass-convert ... -``` - -## Authors - -Sass was envisioned by [Hampton Catlin](http://www.hamptoncatlin.com) -(@hcatlin). However, Hampton doesn't even know his way around the code anymore -and now occasionally consults on the language issues. Hampton lives in San -Francisco, California and works as VP of Technology -at [Moovweb](http://www.moovweb.com/). - -[Natalie Weizenbaum](https://twitter.com/nex3) is the primary developer and -architect of Sass. Her hard work has kept the project alive by endlessly -answering forum posts, fixing bugs, refactoring, finding speed improvements, -writing documentation, implementing new features, and designing the language. -Natalie lives in Seattle, Washington and works on [Dart](http://dartlang.org) -application libraries at Google. - -[Chris Eppstein](http://twitter.com/chriseppstein) is a core contributor to -Sass and the creator of [Compass](http://compass-style.org/), the first Sass-based framework, and -[Eyeglass](http://github.com/sass-eyeglass/eyeglass), a node-sass plugin ecosystem for NPM. Chris focuses -on making Sass more powerful, easy to use, and on ways to speed its adoption -through the web development community. Chris lives in San Jose, California with -his wife and two children. He is an Engineer for -[LinkedIn.com](http://linkedin.com), where his primary responsibility is to -maintain Sass and many other Sass-related open source projects. - -If you use this software, we'd be truly honored if you'd make a -tax-deductible donation to a non-profit organization and then -[let us know on twitter](http://twitter.com/SassCSS), so that we can -thank you. Here's a few that we endorse: - -* [Trans Justice Funding Project](http://www.transjusticefundingproject.org/) -* [United Mitochondrial Disease Foundation](http://umdf.org/compass) -* [Girl Develop It](https://www.girldevelopit.com/donate) - -Sass is licensed under the MIT License. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/REVISION b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/REVISION deleted file mode 100644 index 54798d6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/REVISION +++ /dev/null @@ -1 +0,0 @@ -(release) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION deleted file mode 100644 index 0833a98..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION +++ /dev/null @@ -1 +0,0 @@ -3.7.4 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION_DATE b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION_DATE deleted file mode 100644 index ad0300c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION_DATE +++ /dev/null @@ -1 +0,0 @@ -04 April 2019 00:49:58 UTC diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION_NAME b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION_NAME deleted file mode 100644 index ee5e396..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/VERSION_NAME +++ /dev/null @@ -1 +0,0 @@ -Bleeding Edge diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/sass b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/sass deleted file mode 100755 index 62d6d0c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/sass +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env ruby -# The command line Sass parser. - -THIS_FILE = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__ -begin - require File.dirname(THIS_FILE) + '/../lib/sass' -rescue LoadError - require 'sass' -end -require 'sass/exec' - -opts = Sass::Exec::SassScss.new(ARGV, :sass) -opts.parse! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/sass-convert b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/sass-convert deleted file mode 100755 index b276253..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/sass-convert +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env ruby - -THIS_FILE = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__ -begin - require File.dirname(THIS_FILE) + '/../lib/sass' -rescue LoadError - require 'sass' -end -require 'sass/exec' - -opts = Sass::Exec::SassConvert.new(ARGV) -opts.parse! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/scss b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/scss deleted file mode 100755 index ce3c4ad..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/bin/scss +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env ruby -# The command line Sass parser. - -THIS_FILE = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__ -begin - require File.dirname(THIS_FILE) + '/../lib/sass' -rescue LoadError - require 'sass' -end -require 'sass/exec' - -opts = Sass::Exec::SassScss.new(ARGV, :scss) -opts.parse! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/extra/sass-spec-ref.sh b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/extra/sass-spec-ref.sh deleted file mode 100755 index 5e0f885..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/extra/sass-spec-ref.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -e -# Copyright 2016 Google Inc. Use of this source code is governed by an MIT-style -# license that can be found in the LICENSE file or at -# https://opensource.org/licenses/MIT. - -# Echoes the sass-spec Git ref that should be checked out for the current Travis -# run. If we're running specs for a pull request which refers to a sass-spec -# pull request, we'll run against the latter rather than sass-spec master. - -default=master - -if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - >&2 echo "TRAVIS_PULL_REQUEST: $TRAVIS_PULL_REQUEST." - >&2 echo "Ref: $default." - echo "$default" - exit 0 -fi - ->&2 echo "Fetching pull request $TRAVIS_PULL_REQUEST..." - -url=https://api.github.com/repos/sass/ruby-sass/pulls/$TRAVIS_PULL_REQUEST -if [ -z "$GITHUB_AUTH" ]; then - >&2 echo "Fetching pull request info without authentication" - JSON=$(curl -L -sS $url) -else - >&2 echo "Fetching pull request info as sassbot" - JSON=$(curl -u "sassbot:$GITHUB_AUTH" -L -sS $url) -fi ->&2 echo "$JSON" - -RE_SPEC_PR="sass\/sass-spec(#|\/pull\/)([0-9]+)" - -if [[ $JSON =~ $RE_SPEC_PR ]]; then - ref="pull/${BASH_REMATCH[2]}/head" - >&2 echo "Ref: $ref." - echo "$ref" -else - >&2 echo "Ref: $default." - echo "$default" -fi diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/extra/update_watch.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/extra/update_watch.rb deleted file mode 100644 index dc90685..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/extra/update_watch.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'rubygems' -require 'sinatra' -require 'json' -set :port, 3124 -set :environment, :production -enable :lock -Dir.chdir(File.dirname(__FILE__) + "/..") - -post "/" do - puts "Received payload!" - puts "Rev: #{`git name-rev HEAD`.strip}" - system %{rake handle_update --trace REF=#{JSON.parse(params["payload"])["ref"].inspect}} -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/init.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/init.rb deleted file mode 100644 index 5a3bceb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/init.rb +++ /dev/null @@ -1,18 +0,0 @@ -begin - require File.join(File.dirname(__FILE__), 'lib', 'sass') # From here -rescue LoadError - begin - require 'sass' # From gem - rescue LoadError => e - # gems:install may be run to install Haml with the skeleton plugin - # but not the gem itself installed. - # Don't die if this is the case. - raise e unless defined?(Rake) && - (Rake.application.top_level_tasks.include?('gems') || - Rake.application.top_level_tasks.include?('gems:install')) - end -end - -# Load Sass. -# Sass may be undefined if we're running gems:install. -require 'sass/plugin' if defined?(Sass) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/rails/init.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/rails/init.rb deleted file mode 100644 index 13d5baa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-3.7.4/rails/init.rb +++ /dev/null @@ -1 +0,0 @@ -Kernel.load File.join(File.dirname(__FILE__), '..', 'init.rb') diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/CHANGELOG.md deleted file mode 100644 index 232adbd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -# Moved to [GitHub releases](https://github.com/guard/listen/releases) page. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/CONTRIBUTING.md deleted file mode 100644 index 5a5d6de..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -Contribute to Listen -=================== - -File an issue -------------- - -If you haven't already, first see [TROUBLESHOOTING](https://github.com/guard/listen/wiki/Troubleshooting) for known issues, solutions and workarounds. - -You can report bugs and feature requests to [GitHub Issues](https://github.com/guard/listen/issues). - -**Please don't ask question in the issue tracker**, instead ask them in our -[Google group](http://groups.google.com/group/guard-dev) or on `#guard` (irc.freenode.net). - -Try to figure out where the issue belongs to: Is it an issue with Listen itself or with Guard? - - -**It's most likely that your bug gets resolved faster if you provide as much information as possible!** - -The MOST useful information is debugging output from Listen (`LISTEN_GEM_DEBUGGING=1`) - see [TROUBLESHOOTING](https://github.com/guard/listen/wiki/Troubleshooting) for details. - - -Development ------------ - -* Documentation hosted at [RubyDoc](http://rubydoc.info/github/guard/listen/master/frames). -* Source hosted at [GitHub](https://github.com/guard/listen). - -Pull requests are very welcome! Please try to follow these simple rules if applicable: - -* Please create a topic branch for every separate change you make. -* Make sure your patches are well tested. All specs run with `rake spec` must pass. -* Update the [Yard](http://yardoc.org/) documentation. -* Update the [README](https://github.com/guard/listen/blob/master/README.md). -* Update the [CHANGELOG](https://github.com/guard/listen/blob/master/CHANGELOG.md) for noteworthy changes. -* Please **do not change** the version number. - -For questions please join us in our [Google group](http://groups.google.com/group/guard-dev) or on -`#guard` (irc.freenode.net). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/LICENSE.txt deleted file mode 100644 index b5f71c8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2013 Thibaud Guillaume-Gentil - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/README.md deleted file mode 100644 index 05f0b89..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sass-listen-4.0.0/README.md +++ /dev/null @@ -1,297 +0,0 @@ -# This is a Fork - -This is a fork of the official version `3.0.x` branch. Sass need to support older -versions of ruby than Guard wants to support on an ongoing basis, so we are releasing -updates as needed for critical fixes and will support ruby 2.0 and -greater for as long as Sass users need it. Our blog has more information about -ths [Ruby version policy for Sass](http://blog.sass-lang.com/posts/560719). - -# Listen - -The Listen gem listens to file modifications and notifies you about the changes. - -## Features - -* OS-optimized adapters on MRI for Mac OS X 10.6+, Linux, \*BSD and Windows, [more info](#listen-adapters) below. -* Detects file modification, addition and removal. -* You can watch multiple directories. -* Regexp-patterns for ignoring paths for more accuracy and speed -* Increased change detection accuracy on OS X HFS and VFAT volumes. -* Tested on MRI Ruby environments (2.0+ only) via [Travis CI](https://travis-ci.org/guard/listen), - -## Issues / limitations - -* Limited support for symlinked directories ([#279](https://github.com/guard/listen/issues/279)): - * Symlinks are always followed ([#25](https://github.com/guard/listen/issues/25)). - * Symlinked directories pointing within a watched directory are not supported ([#273](https://github.com/guard/listen/pull/273)- see [Duplicate directory errors](https://github.com/guard/listen/wiki/Duplicate-directory-errors)). -* No directory/adapter-specific configuration options. -* Support for plugins planned for future. -* TCP functionality was removed in Listen [3.0.0](https://github.com/guard/listen/releases/tag/v3.0.0) ([#319](https://github.com/guard/listen/issues/319), [#218](https://github.com/guard/listen/issues/218)). There are plans to extract this feature to separate gems ([#258](https://github.com/guard/listen/issues/258)), until this is finished, you can use by locking the `listen` gem to version `'~> 2.10'`. -* Some filesystems won't work without polling (VM/Vagrant Shared folders, NFS, Samba, sshfs, etc.). -* Specs suite on JRuby and Rubinius aren't reliable on Travis CI, but should work. -* Windows and \*BSD adapter aren't continuously and automatically tested. -* OSX adapter has some performance limitations ([#342](https://github.com/guard/listen/issues/342)). -* Ruby 1.9.3 is no longer maintained (and may not work with Listen) - it's best to upgrade to Ruby 2.2.2. - -Pull requests or help is very welcome for these. - -## Install - -The simplest way to install Listen is to use [Bundler](http://bundler.io). - -```ruby -gem 'listen', '~> 3.0' # NOTE: for TCP functionality, use '~> 2.10' for now -``` - -## Usage - -Call `Listen.to` with either a single directory or multiple directories, then define the "changes" callback in a block. - -``` ruby -listener = Listen.to('dir/to/listen', 'dir/to/listen2') do |modified, added, removed| - puts "modified absolute path: #{modified}" - puts "added absolute path: #{added}" - puts "removed absolute path: #{removed}" -end -listener.start # not blocking -sleep -``` - -### Pause / unpause / stop - -Listeners can also be easily paused/unpaused: - -``` ruby -listener = Listen.to('dir/path/to/listen') { |modified, added, removed| puts 'handle changes here...' } - -listener.start -listener.paused? # => false -listener.processing? # => true - -listener.pause # stops processing changes (but keeps on collecting them) -listener.paused? # => true -listener.processing? # => false - -listener.unpause # resumes processing changes ("start" would do the same) -listener.stop # stop both listening to changes and processing them -``` - - Note: While paused, Listen keeps on collecting changes in the background - to clear them, call "stop" - - Note: You should keep track of all started listeners and stop them properly on finish. - -### Ignore / ignore! - -Listen ignores some directories and extensions by default (See DEFAULT_IGNORED_DIRECTORIES and DEFAULT_IGNORED_EXTENSIONS in Listen::Silencer), you can add ignoring patterns with the `ignore` option/method or overwrite default with `ignore!` option/method. - -``` ruby -listener = Listen.to('dir/path/to/listen', ignore: /\.txt/) { |modified, added, removed| # ... } -listener.start -listener.ignore! /\.pkg/ # overwrite all patterns and only ignore pkg extension. -listener.ignore /\.rb/ # ignore rb extension in addition of pkg. -sleep -``` - -Note: `:ignore` regexp patterns are evaluated against relative paths. - -Note: Ignoring paths does not improve performance, except when Polling ([#274](https://github.com/guard/listen/issues/274)) - -### Only - -Listen catches all files (less the ignored ones) by default. If you want to only listen to a specific type of file (i.e., just `.rb` extension), you should use the `only` option/method. - -``` ruby -listener = Listen.to('dir/path/to/listen', only: /\.rb$/) { |modified, added, removed| # ... } -listener.start -listener.only /_spec\.rb$/ # overwrite all existing only patterns. -sleep -``` - -Note: `:only` regexp patterns are evaluated only against relative **file** paths. - - -## Changes callback - -Changes to the listened-to directories gets reported back to the user in a callback. -The registered callback gets invoked, when there are changes, with **three** parameters: -`modified`, `added` and `removed` paths, in that particular order. -Paths are always returned in their absolute form. - -Example: - -```ruby -listener = Listen.to('path/to/app') do |modified, added, removed| - # This block will be called when there are changes. -end -listener.start -sleep -``` - -or ... - -```ruby -# Create a callback -callback = Proc.new do |modified, added, removed| - # This proc will be called when there are changes. -end -listener = Listen.to('dir', &callback) -listener.start -sleep -``` - -## Options - -All the following options can be set through the `Listen.to` after the directory path(s) params. - -```ruby -ignore: [%r{/foo/bar}, /\.pid$/, /\.coffee$/] # Ignore a list of paths - # default: See DEFAULT_IGNORED_DIRECTORIES and DEFAULT_IGNORED_EXTENSIONS in Listen::Silencer - -ignore!: %r{/foo/bar} # Same as ignore options, but overwrite default ignored paths. - -only: %r{.rb$} # Only listen to specific files - # default: none - -latency: 0.5 # Set the delay (**in seconds**) between checking for changes - # default: 0.25 sec (1.0 sec for polling) - -wait_for_delay: 4 # Set the delay (**in seconds**) between calls to the callback when changes exist - # default: 0.10 sec - -force_polling: true # Force the use of the polling adapter - # default: none - -relative: false # Whether changes should be relative to current dir or not - # default: false - -polling_fallback_message: 'custom message' # Set a custom polling fallback message (or disable it with false) - # default: "Listen will be polling for changes. Learn more at https://github.com/guard/listen#listen-adapters." -``` - -## Debugging - -Setting the environment variable `LISTEN_GEM_DEBUGGING=1` sets up the INFO level logger, while `LISTEN_GEM_DEBUGGING=2` sets up the DEBUG level logger. - -You can also set `Listen.logger` to a custom logger. - - -## Listen adapters - -The Listen gem has a set of adapters to notify it when there are changes. - -There are 4 OS-specific adapters to support Darwin, Linux, \*BSD and Windows. -These adapters are fast as they use some system-calls to implement the notifying function. - -There is also a polling adapter - although it's much slower than other adapters, -it works on every platform/system and scenario (including network filesystems such as VM shared folders). - -The Darwin and Linux adapters are dependencies of the Listen gem so they work out of the box. For other adapters a specific gem will have to be added to your Gemfile, please read below. - -The Listen gem will choose the best adapter automatically, if present. If you -want to force the use of the polling adapter, use the `:force_polling` option -while initializing the listener. - -### On Windows - -If you are on Windows, it's recommended to use the [`wdm`](https://github.com/Maher4Ever/wdm) adapter instead of polling. - -Please add the following to your Gemfile: - -```ruby -gem 'wdm', '>= 0.1.0' if Gem.win_platform? -``` - -### On \*BSD - -If you are on \*BSD you can try to use the [`rb-kqueue`](https://github.com/mat813/rb-kqueue) adapter instead of polling. - -Please add the following to your Gemfile: - -```ruby -require 'rbconfig' -if RbConfig::CONFIG['target_os'] =~ /bsd|dragonfly/i - gem 'rb-kqueue', '>= 0.2' -end - -``` - -### Getting the [polling fallback message](#options)? - -Please visit the [installation section of the Listen WIKI](https://github.com/guard/listen/wiki#installation) for more information and options for potential fixes. - -### Issues and troubleshooting - -*NOTE: without providing the output after setting the `LISTEN_GEM_DEBUGGING=1` environment variable, it can be almost impossible to guess why listen is not working as expected.* - -See [TROUBLESHOOTING](https://github.com/guard/listen/wiki/Troubleshooting) - -## Performance - -If Listen seems slow or unresponsive, make sure you're not using the Polling adapter (you should see a warning upon startup if you are). - -Also, if the directories you're watching contain many files, make sure you're: - -* not using Polling (ideally) -* using `:ignore` and `:only` options to avoid tracking directories you don't care about (important with Polling and on MacOS) -* running Listen with the `:latency` and `:wait_for_delay` options not too small or too big (depends on needs) -* not watching directories with log files, database files or other frequently changing files -* not using a version of Listen prior to 2.7.7 -* not getting silent crashes within Listen (see LISTEN_GEM_DEBUGGING=2) -* not running multiple instances of Listen in the background -* using a file system with atime modification disabled (ideally) -* not using a filesystem with inaccurate file modification times (ideally), e.g. HFS, VFAT -* not buffering to a slow terminal (e.g. transparency + fancy font + slow gfx card + lots of output) -* ideally not running a slow encryption stack, e.g. btrfs + ecryptfs - -When in doubt, LISTEN_GEM_DEBUGGING=2 can help discover the actual events and time they happened. - -See also [Tips and Techniques](https://github.com/guard/listen/wiki/Tips-and-Techniques). - -## Development - -* Documentation hosted at [RubyDoc](http://rubydoc.info/github/guard/listen/master/frames). -* Source hosted at [GitHub](https://github.com/guard/listen). - -Pull requests are very welcome! Please try to follow these simple rules if applicable: - -* Please create a topic branch for every separate change you make. -* Make sure your patches are well tested. All specs must pass on [Travis CI](https://travis-ci.org/guard/listen). -* Update the [Yard](http://yardoc.org/) documentation. -* Update the [README](https://github.com/guard/listen/blob/master/README.md). -* Please **do not change** the version number. - -For questions please join us in our [Google group](http://groups.google.com/group/guard-dev) or on -`#guard` (irc.freenode.net). - -## Acknowledgments - -* [Michael Kessler (netzpirat)][] for having written the [initial specs](https://github.com/guard/listen/commit/1e457b13b1bb8a25d2240428ce5ed488bafbed1f). -* [Travis Tilley (ttilley)][] for this awesome work on [fssm][] & [rb-fsevent][]. -* [Nathan Weizenbaum (nex3)][] for [rb-inotify][], a thorough inotify wrapper. -* [Mathieu Arnold (mat813)][] for [rb-kqueue][], a simple kqueue wrapper. -* [Maher Sallam][] for [wdm][], windows support wouldn't exist without him. -* [Yehuda Katz (wycats)][] for [vigilo][], that has been a great source of inspiration. - -## Author - -[Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](https://twitter.com/thibaudgg)) - -## Contributors - -[https://github.com/guard/listen/graphs/contributors](https://github.com/guard/listen/graphs/contributors) - -[Thibaud Guillaume-Gentil (thibaudgg)]: https://github.com/thibaudgg -[Maher Sallam]: https://github.com/Maher4Ever -[Michael Kessler (netzpirat)]: https://github.com/netzpirat -[Travis Tilley (ttilley)]: https://github.com/ttilley -[fssm]: https://github.com/ttilley/fssm -[rb-fsevent]: https://github.com/thibaudgg/rb-fsevent -[Mathieu Arnold (mat813)]: https://github.com/mat813 -[Nathan Weizenbaum (nex3)]: https://github.com/nex3 -[rb-inotify]: https://github.com/nex3/rb-inotify -[stereobooster]: https://github.com/stereobooster -[rb-fchange]: https://github.com/stereobooster/rb-fchange -[rb-kqueue]: https://github.com/mat813/rb-kqueue -[Yehuda Katz (wycats)]: https://github.com/wycats -[vigilo]: https://github.com/wycats/vigilo -[wdm]: https://github.com/Maher4Ever/wdm diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/Gemfile deleted file mode 100644 index 23775a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/Gemfile +++ /dev/null @@ -1,13 +0,0 @@ -source "http://rubygems.org" - -gemspec - -gem "rake" - -group :test do - gem "minitest" -end - -install_if -> { ENV["FARADAY_VERSION"] } do - gem "faraday", ENV["FARADAY_VERSION"] -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/LICENSE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/LICENSE.md deleted file mode 100644 index f07bf4e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/LICENSE.md +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2011 rick olson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/README.md deleted file mode 100644 index 139fcaf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# Sawyer - -Sawyer is an experimental hypermedia agent for Ruby built on top of [Faraday][faraday]. - -[faraday]: https://github.com/lostisland/faraday - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'sawyer' -``` - -And then execute: - -```sh -bundle -``` - -Or install it yourself as: - -```sh -gem install sawyer -``` - -## Usage - -```ruby -require "sawyer" - -# Create a Sawyer agent -agent = Sawyer::Agent.new("https://api.github.com", - links_parser: Sawyer::LinkParsers::Simple.new) - -# Fetch the root of the API -root = agent.root.data - -# Access a resource directly -contributors = agent.call(:get, "repos/lostisland/sawyer/contributors").data - -# Load a hypermedia relation -top_contributor = contributors.first -followers = top_contributor.rels[:followers].get.data -``` - -For more information, check out the [documentation](http://www.rubydoc.info/gems/sawyer/). - -## Development - -After checking out the repo, run `script/test` to bootstrap the project and run the tests. -You can also run `script/console` for an interactive prompt that will allow you to experiment. - -To package the gem, run `script/package`. To release a new version, update the version number in [`lib/sawyer.rb`](lib/sawyer.rb), and then run `script/release`, which will create a git tag for the version, push git commits and tags, and push the .gem file to [rubygems.org](https://rubygems.org). - -## Contributing - -Check out the [contributing guide](CONTRIBUTING.md) for more information on contributing. - -## License - -The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/Rakefile deleted file mode 100644 index 2285e16..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/Rakefile +++ /dev/null @@ -1,12 +0,0 @@ -require 'rubygems' -require 'rake' - -task :default => :test - -require 'rake/testtask' -Rake::TestTask.new(:test) do |test| - test.libs << 'lib' << 'test' - test.pattern = 'test/**/*_test.rb' - test.verbose = true -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/sawyer.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/sawyer.gemspec deleted file mode 100644 index fe171d8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/sawyer.gemspec +++ /dev/null @@ -1,31 +0,0 @@ -lib = "sawyer" -lib_file = File.expand_path("../lib/#{lib}.rb", __FILE__) -File.read(lib_file) =~ /\bVERSION\s*=\s*["'](.+?)["']/ -version = $1 - -Gem::Specification.new do |spec| - spec.specification_version = 2 if spec.respond_to? :specification_version= - spec.required_rubygems_version = Gem::Requirement.new(">= 1.3.5") if spec.respond_to? :required_rubygems_version= - - spec.name = lib - spec.version = version - - spec.summary = "Secret User Agent of HTTP" - - spec.authors = ["Rick Olson", "Wynn Netherland"] - spec.email = 'technoweenie@gmail.com' - spec.homepage = 'https://github.com/lostisland/sawyer' - spec.licenses = ['MIT'] - - spec.add_dependency 'faraday', '>= 0.17.3', '< 3' - spec.add_dependency 'addressable', ['>= 2.3.5'] - - spec.files = %w(Gemfile LICENSE.md README.md Rakefile) - spec.files << "#{lib}.gemspec" - spec.files += Dir.glob("lib/**/*.rb") - spec.files += Dir.glob("script/*") - - dev_null = File.exist?('/dev/null') ? '/dev/null' : 'NUL' - git_files = `git ls-files -z 2>#{dev_null}` - spec.files &= git_files.split("\0") if $?.success? -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/bootstrap b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/bootstrap deleted file mode 100755 index 6479ada..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/bootstrap +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -e - -bundle install --quiet "$@" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/console b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/console deleted file mode 100755 index 8c28470..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/console +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# Usage: script/console -# Starts an IRB console with this library loaded. - -gemspec="$(ls *.gemspec | head -1)" - -exec bundle exec irb -r "${gemspec%.*}" - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/package b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/package deleted file mode 100755 index 3f59b50..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/package +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# Usage: script/gem -# Updates the gemspec and builds a new gem in the pkg directory. - -mkdir -p pkg -gem build *.gemspec -mv *.gem pkg - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/release b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/release deleted file mode 100755 index a80bc5a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/release +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash -# Usage: script/release -# Build the package, tag a commit, push it to origin, and then release the -# package publicly. - -set -e - -version="$(script/package | grep Version: | awk '{print $2}')" -[ -n "$version" ] || exit 1 - -git commit --allow-empty -a -m "Release $version" -git tag "v$version" -git push origin -git push origin "v$version" -gem push pkg/*-${version}.gem - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/test b/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/test deleted file mode 100755 index fa00f05..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/sawyer-0.9.2/script/test +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -# Usage: script/test -# Runs the library's test suite. - -script/bootstrap -bundle exec rake test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/.travis.yml deleted file mode 100644 index f98cc66..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: ruby -cache: bundler -sudo: false -before_install: - - gem install bundler -rvm: - - 1.9.3 - - 2.0 - - 2.1 - - 2.2 - - 2.3 - - jruby -script: 'bundle exec rspec spec/idn_spec.rb' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/Gemfile deleted file mode 100644 index 25d531f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gem 'simplecov', :require => false, :group => :test -gem 'codecov', :require => false, :group => :test -gem 'rspec', :require => false, :group => :test - -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/LICENCE b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/LICENCE deleted file mode 100644 index b9c2920..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/LICENCE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2011-2017 Morten Møller Riis - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/README.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/README.rdoc deleted file mode 100644 index d6f8738..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/README.rdoc +++ /dev/null @@ -1,41 +0,0 @@ -== SimpleIDN - -{<img src="https://travis-ci.org/mmriis/simpleidn.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/mmriis/simpleidn] - -This gem allows easy conversion from punycode ACE strings to unicode UTF-8 strings and visa versa. - -The implementation is heavily based on the RFC3492 C example implementation but simplified since it does not preserve case. - -This gem works with Ruby 1.9.3, 2.0, 2.1, 2.2. - -* http://www.whatastruggle.com - -== Installation - - [sudo] gem install simpleidn - -+sudo+ is optional depending on your setup. - -In your Ruby script you can now. - - require 'rubygems' - require 'simpleidn' - - SimpleIDN.to_unicode("xn--mllerriis-l8a.com") - => "møllerriis.com" - - SimpleIDN.to_ascii("møllerriis.com") - => "xn--mllerriis-l8a.com" - -== Testing / RSpec - -In order to run the test suite you must have <tt>rspec</tt> installed. - -The test suite has been copied from the IDN gem and uses examples from JOSEFSSON test vectors, taken from DRAFT-JOSEFSSON-IDN-TEST-VECTORS-00: -http://www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html - -== Known issues - -Does not preserve uppercase. So if, for some reason, you use uppercase characters (eg. Ø instead of ø), please take note of that. - -Please report any issues! diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/Rakefile deleted file mode 100644 index b7e9ed5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/Rakefile +++ /dev/null @@ -1,6 +0,0 @@ -require "bundler/gem_tasks" -require "rspec/core/rake_task" - -RSpec::Core::RakeTask.new(:spec) - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/simpleidn.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/simpleidn.gemspec deleted file mode 100644 index 10df254..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/simpleidn.gemspec +++ /dev/null @@ -1,26 +0,0 @@ -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'simpleidn/version' - -Gem::Specification.new do |spec| - spec.name = "simpleidn" - spec.version = SimpleIDN::VERSION - spec.authors = ["Morten Møller Riis"] - spec.email = ["mortenmoellerriis _AT_ gmail.com"] - - spec.summary = %q{Punycode ACE to unicode UTF-8 (and vice-versa) string conversion.} - spec.description = %q{This gem allows easy conversion from punycode ACE strings to unicode UTF-8 strings and vice-versa.} - spec.homepage = "https://github.com/mmriis/simpleidn" - spec.license = "MIT" - - spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } - spec.require_paths = ["lib"] - - spec.add_runtime_dependency "unf", '~> 0.1.4' - - spec.add_development_dependency "bundler", "~> 1.11" - spec.add_development_dependency "rake", "~> 10.0" - spec.add_development_dependency "rspec", "~> 3.0" - - spec.required_ruby_version = '>=2.2' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/tables/IdnaMappingTable.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/tables/IdnaMappingTable.txt deleted file mode 100644 index 0a9c90e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/tables/IdnaMappingTable.txt +++ /dev/null @@ -1,8350 +0,0 @@ -# IdnaMappingTable-9.0.0.txt -# Date: 2016-06-16, 13:35:01 GMT -# © 2016 Unicode®, Inc. -# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. -# For terms of use, see http://www.unicode.org/terms_of_use.html -# -# Unicode IDNA Compatible Preprocessing (UTS #46) -# For documentation, see http://www.unicode.org/reports/tr46/ - -0000..002C ; disallowed_STD3_valid # 1.1 <control-0000>..COMMA -002D..002E ; valid # 1.1 HYPHEN-MINUS..FULL STOP -002F ; disallowed_STD3_valid # 1.1 SOLIDUS -0030..0039 ; valid # 1.1 DIGIT ZERO..DIGIT NINE -003A..0040 ; disallowed_STD3_valid # 1.1 COLON..COMMERCIAL AT -0041 ; mapped ; 0061 # 1.1 LATIN CAPITAL LETTER A -0042 ; mapped ; 0062 # 1.1 LATIN CAPITAL LETTER B -0043 ; mapped ; 0063 # 1.1 LATIN CAPITAL LETTER C -0044 ; mapped ; 0064 # 1.1 LATIN CAPITAL LETTER D -0045 ; mapped ; 0065 # 1.1 LATIN CAPITAL LETTER E -0046 ; mapped ; 0066 # 1.1 LATIN CAPITAL LETTER F -0047 ; mapped ; 0067 # 1.1 LATIN CAPITAL LETTER G -0048 ; mapped ; 0068 # 1.1 LATIN CAPITAL LETTER H -0049 ; mapped ; 0069 # 1.1 LATIN CAPITAL LETTER I -004A ; mapped ; 006A # 1.1 LATIN CAPITAL LETTER J -004B ; mapped ; 006B # 1.1 LATIN CAPITAL LETTER K -004C ; mapped ; 006C # 1.1 LATIN CAPITAL LETTER L -004D ; mapped ; 006D # 1.1 LATIN CAPITAL LETTER M -004E ; mapped ; 006E # 1.1 LATIN CAPITAL LETTER N -004F ; mapped ; 006F # 1.1 LATIN CAPITAL LETTER O -0050 ; mapped ; 0070 # 1.1 LATIN CAPITAL LETTER P -0051 ; mapped ; 0071 # 1.1 LATIN CAPITAL LETTER Q -0052 ; mapped ; 0072 # 1.1 LATIN CAPITAL LETTER R -0053 ; mapped ; 0073 # 1.1 LATIN CAPITAL LETTER S -0054 ; mapped ; 0074 # 1.1 LATIN CAPITAL LETTER T -0055 ; mapped ; 0075 # 1.1 LATIN CAPITAL LETTER U -0056 ; mapped ; 0076 # 1.1 LATIN CAPITAL LETTER V -0057 ; mapped ; 0077 # 1.1 LATIN CAPITAL LETTER W -0058 ; mapped ; 0078 # 1.1 LATIN CAPITAL LETTER X -0059 ; mapped ; 0079 # 1.1 LATIN CAPITAL LETTER Y -005A ; mapped ; 007A # 1.1 LATIN CAPITAL LETTER Z -005B..0060 ; disallowed_STD3_valid # 1.1 LEFT SQUARE BRACKET..GRAVE ACCENT -0061..007A ; valid # 1.1 LATIN SMALL LETTER A..LATIN SMALL LETTER Z -007B..007F ; disallowed_STD3_valid # 1.1 LEFT CURLY BRACKET..<control-007F> -0080..009F ; disallowed # 1.1 <control-0080>..<control-009F> -00A0 ; disallowed_STD3_mapped ; 0020 # 1.1 NO-BREAK SPACE -00A1..00A7 ; valid ; ; NV8 # 1.1 INVERTED EXCLAMATION MARK..SECTION SIGN -00A8 ; disallowed_STD3_mapped ; 0020 0308 # 1.1 DIAERESIS -00A9 ; valid ; ; NV8 # 1.1 COPYRIGHT SIGN -00AA ; mapped ; 0061 # 1.1 FEMININE ORDINAL INDICATOR -00AB..00AC ; valid ; ; NV8 # 1.1 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK..NOT SIGN -00AD ; ignored # 1.1 SOFT HYPHEN -00AE ; valid ; ; NV8 # 1.1 REGISTERED SIGN -00AF ; disallowed_STD3_mapped ; 0020 0304 # 1.1 MACRON -00B0..00B1 ; valid ; ; NV8 # 1.1 DEGREE SIGN..PLUS-MINUS SIGN -00B2 ; mapped ; 0032 # 1.1 SUPERSCRIPT TWO -00B3 ; mapped ; 0033 # 1.1 SUPERSCRIPT THREE -00B4 ; disallowed_STD3_mapped ; 0020 0301 # 1.1 ACUTE ACCENT -00B5 ; mapped ; 03BC # 1.1 MICRO SIGN -00B6 ; valid ; ; NV8 # 1.1 PILCROW SIGN -00B7 ; valid # 1.1 MIDDLE DOT -00B8 ; disallowed_STD3_mapped ; 0020 0327 # 1.1 CEDILLA -00B9 ; mapped ; 0031 # 1.1 SUPERSCRIPT ONE -00BA ; mapped ; 006F # 1.1 MASCULINE ORDINAL INDICATOR -00BB ; valid ; ; NV8 # 1.1 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -00BC ; mapped ; 0031 2044 0034 #1.1 VULGAR FRACTION ONE QUARTER -00BD ; mapped ; 0031 2044 0032 #1.1 VULGAR FRACTION ONE HALF -00BE ; mapped ; 0033 2044 0034 #1.1 VULGAR FRACTION THREE QUARTERS -00BF ; valid ; ; NV8 # 1.1 INVERTED QUESTION MARK -00C0 ; mapped ; 00E0 # 1.1 LATIN CAPITAL LETTER A WITH GRAVE -00C1 ; mapped ; 00E1 # 1.1 LATIN CAPITAL LETTER A WITH ACUTE -00C2 ; mapped ; 00E2 # 1.1 LATIN CAPITAL LETTER A WITH CIRCUMFLEX -00C3 ; mapped ; 00E3 # 1.1 LATIN CAPITAL LETTER A WITH TILDE -00C4 ; mapped ; 00E4 # 1.1 LATIN CAPITAL LETTER A WITH DIAERESIS -00C5 ; mapped ; 00E5 # 1.1 LATIN CAPITAL LETTER A WITH RING ABOVE -00C6 ; mapped ; 00E6 # 1.1 LATIN CAPITAL LETTER AE -00C7 ; mapped ; 00E7 # 1.1 LATIN CAPITAL LETTER C WITH CEDILLA -00C8 ; mapped ; 00E8 # 1.1 LATIN CAPITAL LETTER E WITH GRAVE -00C9 ; mapped ; 00E9 # 1.1 LATIN CAPITAL LETTER E WITH ACUTE -00CA ; mapped ; 00EA # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX -00CB ; mapped ; 00EB # 1.1 LATIN CAPITAL LETTER E WITH DIAERESIS -00CC ; mapped ; 00EC # 1.1 LATIN CAPITAL LETTER I WITH GRAVE -00CD ; mapped ; 00ED # 1.1 LATIN CAPITAL LETTER I WITH ACUTE -00CE ; mapped ; 00EE # 1.1 LATIN CAPITAL LETTER I WITH CIRCUMFLEX -00CF ; mapped ; 00EF # 1.1 LATIN CAPITAL LETTER I WITH DIAERESIS -00D0 ; mapped ; 00F0 # 1.1 LATIN CAPITAL LETTER ETH -00D1 ; mapped ; 00F1 # 1.1 LATIN CAPITAL LETTER N WITH TILDE -00D2 ; mapped ; 00F2 # 1.1 LATIN CAPITAL LETTER O WITH GRAVE -00D3 ; mapped ; 00F3 # 1.1 LATIN CAPITAL LETTER O WITH ACUTE -00D4 ; mapped ; 00F4 # 1.1 LATIN CAPITAL LETTER O WITH CIRCUMFLEX -00D5 ; mapped ; 00F5 # 1.1 LATIN CAPITAL LETTER O WITH TILDE -00D6 ; mapped ; 00F6 # 1.1 LATIN CAPITAL LETTER O WITH DIAERESIS -00D7 ; valid ; ; NV8 # 1.1 MULTIPLICATION SIGN -00D8 ; mapped ; 00F8 # 1.1 LATIN CAPITAL LETTER O WITH STROKE -00D9 ; mapped ; 00F9 # 1.1 LATIN CAPITAL LETTER U WITH GRAVE -00DA ; mapped ; 00FA # 1.1 LATIN CAPITAL LETTER U WITH ACUTE -00DB ; mapped ; 00FB # 1.1 LATIN CAPITAL LETTER U WITH CIRCUMFLEX -00DC ; mapped ; 00FC # 1.1 LATIN CAPITAL LETTER U WITH DIAERESIS -00DD ; mapped ; 00FD # 1.1 LATIN CAPITAL LETTER Y WITH ACUTE -00DE ; mapped ; 00FE # 1.1 LATIN CAPITAL LETTER THORN -00DF ; deviation ; 0073 0073 # 1.1 LATIN SMALL LETTER SHARP S -00E0..00F6 ; valid # 1.1 LATIN SMALL LETTER A WITH GRAVE..LATIN SMALL LETTER O WITH DIAERESIS -00F7 ; valid ; ; NV8 # 1.1 DIVISION SIGN -00F8..00FF ; valid # 1.1 LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS -0100 ; mapped ; 0101 # 1.1 LATIN CAPITAL LETTER A WITH MACRON -0101 ; valid # 1.1 LATIN SMALL LETTER A WITH MACRON -0102 ; mapped ; 0103 # 1.1 LATIN CAPITAL LETTER A WITH BREVE -0103 ; valid # 1.1 LATIN SMALL LETTER A WITH BREVE -0104 ; mapped ; 0105 # 1.1 LATIN CAPITAL LETTER A WITH OGONEK -0105 ; valid # 1.1 LATIN SMALL LETTER A WITH OGONEK -0106 ; mapped ; 0107 # 1.1 LATIN CAPITAL LETTER C WITH ACUTE -0107 ; valid # 1.1 LATIN SMALL LETTER C WITH ACUTE -0108 ; mapped ; 0109 # 1.1 LATIN CAPITAL LETTER C WITH CIRCUMFLEX -0109 ; valid # 1.1 LATIN SMALL LETTER C WITH CIRCUMFLEX -010A ; mapped ; 010B # 1.1 LATIN CAPITAL LETTER C WITH DOT ABOVE -010B ; valid # 1.1 LATIN SMALL LETTER C WITH DOT ABOVE -010C ; mapped ; 010D # 1.1 LATIN CAPITAL LETTER C WITH CARON -010D ; valid # 1.1 LATIN SMALL LETTER C WITH CARON -010E ; mapped ; 010F # 1.1 LATIN CAPITAL LETTER D WITH CARON -010F ; valid # 1.1 LATIN SMALL LETTER D WITH CARON -0110 ; mapped ; 0111 # 1.1 LATIN CAPITAL LETTER D WITH STROKE -0111 ; valid # 1.1 LATIN SMALL LETTER D WITH STROKE -0112 ; mapped ; 0113 # 1.1 LATIN CAPITAL LETTER E WITH MACRON -0113 ; valid # 1.1 LATIN SMALL LETTER E WITH MACRON -0114 ; mapped ; 0115 # 1.1 LATIN CAPITAL LETTER E WITH BREVE -0115 ; valid # 1.1 LATIN SMALL LETTER E WITH BREVE -0116 ; mapped ; 0117 # 1.1 LATIN CAPITAL LETTER E WITH DOT ABOVE -0117 ; valid # 1.1 LATIN SMALL LETTER E WITH DOT ABOVE -0118 ; mapped ; 0119 # 1.1 LATIN CAPITAL LETTER E WITH OGONEK -0119 ; valid # 1.1 LATIN SMALL LETTER E WITH OGONEK -011A ; mapped ; 011B # 1.1 LATIN CAPITAL LETTER E WITH CARON -011B ; valid # 1.1 LATIN SMALL LETTER E WITH CARON -011C ; mapped ; 011D # 1.1 LATIN CAPITAL LETTER G WITH CIRCUMFLEX -011D ; valid # 1.1 LATIN SMALL LETTER G WITH CIRCUMFLEX -011E ; mapped ; 011F # 1.1 LATIN CAPITAL LETTER G WITH BREVE -011F ; valid # 1.1 LATIN SMALL LETTER G WITH BREVE -0120 ; mapped ; 0121 # 1.1 LATIN CAPITAL LETTER G WITH DOT ABOVE -0121 ; valid # 1.1 LATIN SMALL LETTER G WITH DOT ABOVE -0122 ; mapped ; 0123 # 1.1 LATIN CAPITAL LETTER G WITH CEDILLA -0123 ; valid # 1.1 LATIN SMALL LETTER G WITH CEDILLA -0124 ; mapped ; 0125 # 1.1 LATIN CAPITAL LETTER H WITH CIRCUMFLEX -0125 ; valid # 1.1 LATIN SMALL LETTER H WITH CIRCUMFLEX -0126 ; mapped ; 0127 # 1.1 LATIN CAPITAL LETTER H WITH STROKE -0127 ; valid # 1.1 LATIN SMALL LETTER H WITH STROKE -0128 ; mapped ; 0129 # 1.1 LATIN CAPITAL LETTER I WITH TILDE -0129 ; valid # 1.1 LATIN SMALL LETTER I WITH TILDE -012A ; mapped ; 012B # 1.1 LATIN CAPITAL LETTER I WITH MACRON -012B ; valid # 1.1 LATIN SMALL LETTER I WITH MACRON -012C ; mapped ; 012D # 1.1 LATIN CAPITAL LETTER I WITH BREVE -012D ; valid # 1.1 LATIN SMALL LETTER I WITH BREVE -012E ; mapped ; 012F # 1.1 LATIN CAPITAL LETTER I WITH OGONEK -012F ; valid # 1.1 LATIN SMALL LETTER I WITH OGONEK -0130 ; mapped ; 0069 0307 # 1.1 LATIN CAPITAL LETTER I WITH DOT ABOVE -0131 ; valid # 1.1 LATIN SMALL LETTER DOTLESS I -0132..0133 ; mapped ; 0069 006A # 1.1 LATIN CAPITAL LIGATURE IJ..LATIN SMALL LIGATURE IJ -0134 ; mapped ; 0135 # 1.1 LATIN CAPITAL LETTER J WITH CIRCUMFLEX -0135 ; valid # 1.1 LATIN SMALL LETTER J WITH CIRCUMFLEX -0136 ; mapped ; 0137 # 1.1 LATIN CAPITAL LETTER K WITH CEDILLA -0137..0138 ; valid # 1.1 LATIN SMALL LETTER K WITH CEDILLA..LATIN SMALL LETTER KRA -0139 ; mapped ; 013A # 1.1 LATIN CAPITAL LETTER L WITH ACUTE -013A ; valid # 1.1 LATIN SMALL LETTER L WITH ACUTE -013B ; mapped ; 013C # 1.1 LATIN CAPITAL LETTER L WITH CEDILLA -013C ; valid # 1.1 LATIN SMALL LETTER L WITH CEDILLA -013D ; mapped ; 013E # 1.1 LATIN CAPITAL LETTER L WITH CARON -013E ; valid # 1.1 LATIN SMALL LETTER L WITH CARON -013F..0140 ; mapped ; 006C 00B7 # 1.1 LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH MIDDLE DOT -0141 ; mapped ; 0142 # 1.1 LATIN CAPITAL LETTER L WITH STROKE -0142 ; valid # 1.1 LATIN SMALL LETTER L WITH STROKE -0143 ; mapped ; 0144 # 1.1 LATIN CAPITAL LETTER N WITH ACUTE -0144 ; valid # 1.1 LATIN SMALL LETTER N WITH ACUTE -0145 ; mapped ; 0146 # 1.1 LATIN CAPITAL LETTER N WITH CEDILLA -0146 ; valid # 1.1 LATIN SMALL LETTER N WITH CEDILLA -0147 ; mapped ; 0148 # 1.1 LATIN CAPITAL LETTER N WITH CARON -0148 ; valid # 1.1 LATIN SMALL LETTER N WITH CARON -0149 ; mapped ; 02BC 006E # 1.1 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -014A ; mapped ; 014B # 1.1 LATIN CAPITAL LETTER ENG -014B ; valid # 1.1 LATIN SMALL LETTER ENG -014C ; mapped ; 014D # 1.1 LATIN CAPITAL LETTER O WITH MACRON -014D ; valid # 1.1 LATIN SMALL LETTER O WITH MACRON -014E ; mapped ; 014F # 1.1 LATIN CAPITAL LETTER O WITH BREVE -014F ; valid # 1.1 LATIN SMALL LETTER O WITH BREVE -0150 ; mapped ; 0151 # 1.1 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0151 ; valid # 1.1 LATIN SMALL LETTER O WITH DOUBLE ACUTE -0152 ; mapped ; 0153 # 1.1 LATIN CAPITAL LIGATURE OE -0153 ; valid # 1.1 LATIN SMALL LIGATURE OE -0154 ; mapped ; 0155 # 1.1 LATIN CAPITAL LETTER R WITH ACUTE -0155 ; valid # 1.1 LATIN SMALL LETTER R WITH ACUTE -0156 ; mapped ; 0157 # 1.1 LATIN CAPITAL LETTER R WITH CEDILLA -0157 ; valid # 1.1 LATIN SMALL LETTER R WITH CEDILLA -0158 ; mapped ; 0159 # 1.1 LATIN CAPITAL LETTER R WITH CARON -0159 ; valid # 1.1 LATIN SMALL LETTER R WITH CARON -015A ; mapped ; 015B # 1.1 LATIN CAPITAL LETTER S WITH ACUTE -015B ; valid # 1.1 LATIN SMALL LETTER S WITH ACUTE -015C ; mapped ; 015D # 1.1 LATIN CAPITAL LETTER S WITH CIRCUMFLEX -015D ; valid # 1.1 LATIN SMALL LETTER S WITH CIRCUMFLEX -015E ; mapped ; 015F # 1.1 LATIN CAPITAL LETTER S WITH CEDILLA -015F ; valid # 1.1 LATIN SMALL LETTER S WITH CEDILLA -0160 ; mapped ; 0161 # 1.1 LATIN CAPITAL LETTER S WITH CARON -0161 ; valid # 1.1 LATIN SMALL LETTER S WITH CARON -0162 ; mapped ; 0163 # 1.1 LATIN CAPITAL LETTER T WITH CEDILLA -0163 ; valid # 1.1 LATIN SMALL LETTER T WITH CEDILLA -0164 ; mapped ; 0165 # 1.1 LATIN CAPITAL LETTER T WITH CARON -0165 ; valid # 1.1 LATIN SMALL LETTER T WITH CARON -0166 ; mapped ; 0167 # 1.1 LATIN CAPITAL LETTER T WITH STROKE -0167 ; valid # 1.1 LATIN SMALL LETTER T WITH STROKE -0168 ; mapped ; 0169 # 1.1 LATIN CAPITAL LETTER U WITH TILDE -0169 ; valid # 1.1 LATIN SMALL LETTER U WITH TILDE -016A ; mapped ; 016B # 1.1 LATIN CAPITAL LETTER U WITH MACRON -016B ; valid # 1.1 LATIN SMALL LETTER U WITH MACRON -016C ; mapped ; 016D # 1.1 LATIN CAPITAL LETTER U WITH BREVE -016D ; valid # 1.1 LATIN SMALL LETTER U WITH BREVE -016E ; mapped ; 016F # 1.1 LATIN CAPITAL LETTER U WITH RING ABOVE -016F ; valid # 1.1 LATIN SMALL LETTER U WITH RING ABOVE -0170 ; mapped ; 0171 # 1.1 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0171 ; valid # 1.1 LATIN SMALL LETTER U WITH DOUBLE ACUTE -0172 ; mapped ; 0173 # 1.1 LATIN CAPITAL LETTER U WITH OGONEK -0173 ; valid # 1.1 LATIN SMALL LETTER U WITH OGONEK -0174 ; mapped ; 0175 # 1.1 LATIN CAPITAL LETTER W WITH CIRCUMFLEX -0175 ; valid # 1.1 LATIN SMALL LETTER W WITH CIRCUMFLEX -0176 ; mapped ; 0177 # 1.1 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -0177 ; valid # 1.1 LATIN SMALL LETTER Y WITH CIRCUMFLEX -0178 ; mapped ; 00FF # 1.1 LATIN CAPITAL LETTER Y WITH DIAERESIS -0179 ; mapped ; 017A # 1.1 LATIN CAPITAL LETTER Z WITH ACUTE -017A ; valid # 1.1 LATIN SMALL LETTER Z WITH ACUTE -017B ; mapped ; 017C # 1.1 LATIN CAPITAL LETTER Z WITH DOT ABOVE -017C ; valid # 1.1 LATIN SMALL LETTER Z WITH DOT ABOVE -017D ; mapped ; 017E # 1.1 LATIN CAPITAL LETTER Z WITH CARON -017E ; valid # 1.1 LATIN SMALL LETTER Z WITH CARON -017F ; mapped ; 0073 # 1.1 LATIN SMALL LETTER LONG S -0180 ; valid # 1.1 LATIN SMALL LETTER B WITH STROKE -0181 ; mapped ; 0253 # 1.1 LATIN CAPITAL LETTER B WITH HOOK -0182 ; mapped ; 0183 # 1.1 LATIN CAPITAL LETTER B WITH TOPBAR -0183 ; valid # 1.1 LATIN SMALL LETTER B WITH TOPBAR -0184 ; mapped ; 0185 # 1.1 LATIN CAPITAL LETTER TONE SIX -0185 ; valid # 1.1 LATIN SMALL LETTER TONE SIX -0186 ; mapped ; 0254 # 1.1 LATIN CAPITAL LETTER OPEN O -0187 ; mapped ; 0188 # 1.1 LATIN CAPITAL LETTER C WITH HOOK -0188 ; valid # 1.1 LATIN SMALL LETTER C WITH HOOK -0189 ; mapped ; 0256 # 1.1 LATIN CAPITAL LETTER AFRICAN D -018A ; mapped ; 0257 # 1.1 LATIN CAPITAL LETTER D WITH HOOK -018B ; mapped ; 018C # 1.1 LATIN CAPITAL LETTER D WITH TOPBAR -018C..018D ; valid # 1.1 LATIN SMALL LETTER D WITH TOPBAR..LATIN SMALL LETTER TURNED DELTA -018E ; mapped ; 01DD # 1.1 LATIN CAPITAL LETTER REVERSED E -018F ; mapped ; 0259 # 1.1 LATIN CAPITAL LETTER SCHWA -0190 ; mapped ; 025B # 1.1 LATIN CAPITAL LETTER OPEN E -0191 ; mapped ; 0192 # 1.1 LATIN CAPITAL LETTER F WITH HOOK -0192 ; valid # 1.1 LATIN SMALL LETTER F WITH HOOK -0193 ; mapped ; 0260 # 1.1 LATIN CAPITAL LETTER G WITH HOOK -0194 ; mapped ; 0263 # 1.1 LATIN CAPITAL LETTER GAMMA -0195 ; valid # 1.1 LATIN SMALL LETTER HV -0196 ; mapped ; 0269 # 1.1 LATIN CAPITAL LETTER IOTA -0197 ; mapped ; 0268 # 1.1 LATIN CAPITAL LETTER I WITH STROKE -0198 ; mapped ; 0199 # 1.1 LATIN CAPITAL LETTER K WITH HOOK -0199..019B ; valid # 1.1 LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER LAMBDA WITH STROKE -019C ; mapped ; 026F # 1.1 LATIN CAPITAL LETTER TURNED M -019D ; mapped ; 0272 # 1.1 LATIN CAPITAL LETTER N WITH LEFT HOOK -019E ; valid # 1.1 LATIN SMALL LETTER N WITH LONG RIGHT LEG -019F ; mapped ; 0275 # 1.1 LATIN CAPITAL LETTER O WITH MIDDLE TILDE -01A0 ; mapped ; 01A1 # 1.1 LATIN CAPITAL LETTER O WITH HORN -01A1 ; valid # 1.1 LATIN SMALL LETTER O WITH HORN -01A2 ; mapped ; 01A3 # 1.1 LATIN CAPITAL LETTER OI -01A3 ; valid # 1.1 LATIN SMALL LETTER OI -01A4 ; mapped ; 01A5 # 1.1 LATIN CAPITAL LETTER P WITH HOOK -01A5 ; valid # 1.1 LATIN SMALL LETTER P WITH HOOK -01A6 ; mapped ; 0280 # 1.1 LATIN LETTER YR -01A7 ; mapped ; 01A8 # 1.1 LATIN CAPITAL LETTER TONE TWO -01A8 ; valid # 1.1 LATIN SMALL LETTER TONE TWO -01A9 ; mapped ; 0283 # 1.1 LATIN CAPITAL LETTER ESH -01AA..01AB ; valid # 1.1 LATIN LETTER REVERSED ESH LOOP..LATIN SMALL LETTER T WITH PALATAL HOOK -01AC ; mapped ; 01AD # 1.1 LATIN CAPITAL LETTER T WITH HOOK -01AD ; valid # 1.1 LATIN SMALL LETTER T WITH HOOK -01AE ; mapped ; 0288 # 1.1 LATIN CAPITAL LETTER T WITH RETROFLEX HOOK -01AF ; mapped ; 01B0 # 1.1 LATIN CAPITAL LETTER U WITH HORN -01B0 ; valid # 1.1 LATIN SMALL LETTER U WITH HORN -01B1 ; mapped ; 028A # 1.1 LATIN CAPITAL LETTER UPSILON -01B2 ; mapped ; 028B # 1.1 LATIN CAPITAL LETTER V WITH HOOK -01B3 ; mapped ; 01B4 # 1.1 LATIN CAPITAL LETTER Y WITH HOOK -01B4 ; valid # 1.1 LATIN SMALL LETTER Y WITH HOOK -01B5 ; mapped ; 01B6 # 1.1 LATIN CAPITAL LETTER Z WITH STROKE -01B6 ; valid # 1.1 LATIN SMALL LETTER Z WITH STROKE -01B7 ; mapped ; 0292 # 1.1 LATIN CAPITAL LETTER EZH -01B8 ; mapped ; 01B9 # 1.1 LATIN CAPITAL LETTER EZH REVERSED -01B9..01BB ; valid # 1.1 LATIN SMALL LETTER EZH REVERSED..LATIN LETTER TWO WITH STROKE -01BC ; mapped ; 01BD # 1.1 LATIN CAPITAL LETTER TONE FIVE -01BD..01C3 ; valid # 1.1 LATIN SMALL LETTER TONE FIVE..LATIN LETTER RETROFLEX CLICK -01C4..01C6 ; mapped ; 0064 017E # 1.1 LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER DZ WITH CARON -01C7..01C9 ; mapped ; 006C 006A # 1.1 LATIN CAPITAL LETTER LJ..LATIN SMALL LETTER LJ -01CA..01CC ; mapped ; 006E 006A # 1.1 LATIN CAPITAL LETTER NJ..LATIN SMALL LETTER NJ -01CD ; mapped ; 01CE # 1.1 LATIN CAPITAL LETTER A WITH CARON -01CE ; valid # 1.1 LATIN SMALL LETTER A WITH CARON -01CF ; mapped ; 01D0 # 1.1 LATIN CAPITAL LETTER I WITH CARON -01D0 ; valid # 1.1 LATIN SMALL LETTER I WITH CARON -01D1 ; mapped ; 01D2 # 1.1 LATIN CAPITAL LETTER O WITH CARON -01D2 ; valid # 1.1 LATIN SMALL LETTER O WITH CARON -01D3 ; mapped ; 01D4 # 1.1 LATIN CAPITAL LETTER U WITH CARON -01D4 ; valid # 1.1 LATIN SMALL LETTER U WITH CARON -01D5 ; mapped ; 01D6 # 1.1 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON -01D6 ; valid # 1.1 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON -01D7 ; mapped ; 01D8 # 1.1 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE -01D8 ; valid # 1.1 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE -01D9 ; mapped ; 01DA # 1.1 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON -01DA ; valid # 1.1 LATIN SMALL LETTER U WITH DIAERESIS AND CARON -01DB ; mapped ; 01DC # 1.1 LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE -01DC..01DD ; valid # 1.1 LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E -01DE ; mapped ; 01DF # 1.1 LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON -01DF ; valid # 1.1 LATIN SMALL LETTER A WITH DIAERESIS AND MACRON -01E0 ; mapped ; 01E1 # 1.1 LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON -01E1 ; valid # 1.1 LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON -01E2 ; mapped ; 01E3 # 1.1 LATIN CAPITAL LETTER AE WITH MACRON -01E3 ; valid # 1.1 LATIN SMALL LETTER AE WITH MACRON -01E4 ; mapped ; 01E5 # 1.1 LATIN CAPITAL LETTER G WITH STROKE -01E5 ; valid # 1.1 LATIN SMALL LETTER G WITH STROKE -01E6 ; mapped ; 01E7 # 1.1 LATIN CAPITAL LETTER G WITH CARON -01E7 ; valid # 1.1 LATIN SMALL LETTER G WITH CARON -01E8 ; mapped ; 01E9 # 1.1 LATIN CAPITAL LETTER K WITH CARON -01E9 ; valid # 1.1 LATIN SMALL LETTER K WITH CARON -01EA ; mapped ; 01EB # 1.1 LATIN CAPITAL LETTER O WITH OGONEK -01EB ; valid # 1.1 LATIN SMALL LETTER O WITH OGONEK -01EC ; mapped ; 01ED # 1.1 LATIN CAPITAL LETTER O WITH OGONEK AND MACRON -01ED ; valid # 1.1 LATIN SMALL LETTER O WITH OGONEK AND MACRON -01EE ; mapped ; 01EF # 1.1 LATIN CAPITAL LETTER EZH WITH CARON -01EF..01F0 ; valid # 1.1 LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON -01F1..01F3 ; mapped ; 0064 007A # 1.1 LATIN CAPITAL LETTER DZ..LATIN SMALL LETTER DZ -01F4 ; mapped ; 01F5 # 1.1 LATIN CAPITAL LETTER G WITH ACUTE -01F5 ; valid # 1.1 LATIN SMALL LETTER G WITH ACUTE -01F6 ; mapped ; 0195 # 3.0 LATIN CAPITAL LETTER HWAIR -01F7 ; mapped ; 01BF # 3.0 LATIN CAPITAL LETTER WYNN -01F8 ; mapped ; 01F9 # 3.0 LATIN CAPITAL LETTER N WITH GRAVE -01F9 ; valid # 3.0 LATIN SMALL LETTER N WITH GRAVE -01FA ; mapped ; 01FB # 1.1 LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE -01FB ; valid # 1.1 LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE -01FC ; mapped ; 01FD # 1.1 LATIN CAPITAL LETTER AE WITH ACUTE -01FD ; valid # 1.1 LATIN SMALL LETTER AE WITH ACUTE -01FE ; mapped ; 01FF # 1.1 LATIN CAPITAL LETTER O WITH STROKE AND ACUTE -01FF ; valid # 1.1 LATIN SMALL LETTER O WITH STROKE AND ACUTE -0200 ; mapped ; 0201 # 1.1 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE -0201 ; valid # 1.1 LATIN SMALL LETTER A WITH DOUBLE GRAVE -0202 ; mapped ; 0203 # 1.1 LATIN CAPITAL LETTER A WITH INVERTED BREVE -0203 ; valid # 1.1 LATIN SMALL LETTER A WITH INVERTED BREVE -0204 ; mapped ; 0205 # 1.1 LATIN CAPITAL LETTER E WITH DOUBLE GRAVE -0205 ; valid # 1.1 LATIN SMALL LETTER E WITH DOUBLE GRAVE -0206 ; mapped ; 0207 # 1.1 LATIN CAPITAL LETTER E WITH INVERTED BREVE -0207 ; valid # 1.1 LATIN SMALL LETTER E WITH INVERTED BREVE -0208 ; mapped ; 0209 # 1.1 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE -0209 ; valid # 1.1 LATIN SMALL LETTER I WITH DOUBLE GRAVE -020A ; mapped ; 020B # 1.1 LATIN CAPITAL LETTER I WITH INVERTED BREVE -020B ; valid # 1.1 LATIN SMALL LETTER I WITH INVERTED BREVE -020C ; mapped ; 020D # 1.1 LATIN CAPITAL LETTER O WITH DOUBLE GRAVE -020D ; valid # 1.1 LATIN SMALL LETTER O WITH DOUBLE GRAVE -020E ; mapped ; 020F # 1.1 LATIN CAPITAL LETTER O WITH INVERTED BREVE -020F ; valid # 1.1 LATIN SMALL LETTER O WITH INVERTED BREVE -0210 ; mapped ; 0211 # 1.1 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE -0211 ; valid # 1.1 LATIN SMALL LETTER R WITH DOUBLE GRAVE -0212 ; mapped ; 0213 # 1.1 LATIN CAPITAL LETTER R WITH INVERTED BREVE -0213 ; valid # 1.1 LATIN SMALL LETTER R WITH INVERTED BREVE -0214 ; mapped ; 0215 # 1.1 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE -0215 ; valid # 1.1 LATIN SMALL LETTER U WITH DOUBLE GRAVE -0216 ; mapped ; 0217 # 1.1 LATIN CAPITAL LETTER U WITH INVERTED BREVE -0217 ; valid # 1.1 LATIN SMALL LETTER U WITH INVERTED BREVE -0218 ; mapped ; 0219 # 3.0 LATIN CAPITAL LETTER S WITH COMMA BELOW -0219 ; valid # 3.0 LATIN SMALL LETTER S WITH COMMA BELOW -021A ; mapped ; 021B # 3.0 LATIN CAPITAL LETTER T WITH COMMA BELOW -021B ; valid # 3.0 LATIN SMALL LETTER T WITH COMMA BELOW -021C ; mapped ; 021D # 3.0 LATIN CAPITAL LETTER YOGH -021D ; valid # 3.0 LATIN SMALL LETTER YOGH -021E ; mapped ; 021F # 3.0 LATIN CAPITAL LETTER H WITH CARON -021F ; valid # 3.0 LATIN SMALL LETTER H WITH CARON -0220 ; mapped ; 019E # 3.2 LATIN CAPITAL LETTER N WITH LONG RIGHT LEG -0221 ; valid # 4.0 LATIN SMALL LETTER D WITH CURL -0222 ; mapped ; 0223 # 3.0 LATIN CAPITAL LETTER OU -0223 ; valid # 3.0 LATIN SMALL LETTER OU -0224 ; mapped ; 0225 # 3.0 LATIN CAPITAL LETTER Z WITH HOOK -0225 ; valid # 3.0 LATIN SMALL LETTER Z WITH HOOK -0226 ; mapped ; 0227 # 3.0 LATIN CAPITAL LETTER A WITH DOT ABOVE -0227 ; valid # 3.0 LATIN SMALL LETTER A WITH DOT ABOVE -0228 ; mapped ; 0229 # 3.0 LATIN CAPITAL LETTER E WITH CEDILLA -0229 ; valid # 3.0 LATIN SMALL LETTER E WITH CEDILLA -022A ; mapped ; 022B # 3.0 LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON -022B ; valid # 3.0 LATIN SMALL LETTER O WITH DIAERESIS AND MACRON -022C ; mapped ; 022D # 3.0 LATIN CAPITAL LETTER O WITH TILDE AND MACRON -022D ; valid # 3.0 LATIN SMALL LETTER O WITH TILDE AND MACRON -022E ; mapped ; 022F # 3.0 LATIN CAPITAL LETTER O WITH DOT ABOVE -022F ; valid # 3.0 LATIN SMALL LETTER O WITH DOT ABOVE -0230 ; mapped ; 0231 # 3.0 LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON -0231 ; valid # 3.0 LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON -0232 ; mapped ; 0233 # 3.0 LATIN CAPITAL LETTER Y WITH MACRON -0233 ; valid # 3.0 LATIN SMALL LETTER Y WITH MACRON -0234..0236 ; valid # 4.0 LATIN SMALL LETTER L WITH CURL..LATIN SMALL LETTER T WITH CURL -0237..0239 ; valid # 4.1 LATIN SMALL LETTER DOTLESS J..LATIN SMALL LETTER QP DIGRAPH -023A ; mapped ; 2C65 # 4.1 LATIN CAPITAL LETTER A WITH STROKE -023B ; mapped ; 023C # 4.1 LATIN CAPITAL LETTER C WITH STROKE -023C ; valid # 4.1 LATIN SMALL LETTER C WITH STROKE -023D ; mapped ; 019A # 4.1 LATIN CAPITAL LETTER L WITH BAR -023E ; mapped ; 2C66 # 4.1 LATIN CAPITAL LETTER T WITH DIAGONAL STROKE -023F..0240 ; valid # 4.1 LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL -0241 ; mapped ; 0242 # 4.1 LATIN CAPITAL LETTER GLOTTAL STOP -0242 ; valid # 5.0 LATIN SMALL LETTER GLOTTAL STOP -0243 ; mapped ; 0180 # 5.0 LATIN CAPITAL LETTER B WITH STROKE -0244 ; mapped ; 0289 # 5.0 LATIN CAPITAL LETTER U BAR -0245 ; mapped ; 028C # 5.0 LATIN CAPITAL LETTER TURNED V -0246 ; mapped ; 0247 # 5.0 LATIN CAPITAL LETTER E WITH STROKE -0247 ; valid # 5.0 LATIN SMALL LETTER E WITH STROKE -0248 ; mapped ; 0249 # 5.0 LATIN CAPITAL LETTER J WITH STROKE -0249 ; valid # 5.0 LATIN SMALL LETTER J WITH STROKE -024A ; mapped ; 024B # 5.0 LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL -024B ; valid # 5.0 LATIN SMALL LETTER Q WITH HOOK TAIL -024C ; mapped ; 024D # 5.0 LATIN CAPITAL LETTER R WITH STROKE -024D ; valid # 5.0 LATIN SMALL LETTER R WITH STROKE -024E ; mapped ; 024F # 5.0 LATIN CAPITAL LETTER Y WITH STROKE -024F ; valid # 5.0 LATIN SMALL LETTER Y WITH STROKE -0250..02A8 ; valid # 1.1 LATIN SMALL LETTER TURNED A..LATIN SMALL LETTER TC DIGRAPH WITH CURL -02A9..02AD ; valid # 3.0 LATIN SMALL LETTER FENG DIGRAPH..LATIN LETTER BIDENTAL PERCUSSIVE -02AE..02AF ; valid # 4.0 LATIN SMALL LETTER TURNED H WITH FISHHOOK..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL -02B0 ; mapped ; 0068 # 1.1 MODIFIER LETTER SMALL H -02B1 ; mapped ; 0266 # 1.1 MODIFIER LETTER SMALL H WITH HOOK -02B2 ; mapped ; 006A # 1.1 MODIFIER LETTER SMALL J -02B3 ; mapped ; 0072 # 1.1 MODIFIER LETTER SMALL R -02B4 ; mapped ; 0279 # 1.1 MODIFIER LETTER SMALL TURNED R -02B5 ; mapped ; 027B # 1.1 MODIFIER LETTER SMALL TURNED R WITH HOOK -02B6 ; mapped ; 0281 # 1.1 MODIFIER LETTER SMALL CAPITAL INVERTED R -02B7 ; mapped ; 0077 # 1.1 MODIFIER LETTER SMALL W -02B8 ; mapped ; 0079 # 1.1 MODIFIER LETTER SMALL Y -02B9..02C1 ; valid # 1.1 MODIFIER LETTER PRIME..MODIFIER LETTER REVERSED GLOTTAL STOP -02C2..02C5 ; valid ; ; NV8 # 1.1 MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD -02C6..02D1 ; valid # 1.1 MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON -02D2..02D7 ; valid ; ; NV8 # 1.1 MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN -02D8 ; disallowed_STD3_mapped ; 0020 0306 # 1.1 BREVE -02D9 ; disallowed_STD3_mapped ; 0020 0307 # 1.1 DOT ABOVE -02DA ; disallowed_STD3_mapped ; 0020 030A # 1.1 RING ABOVE -02DB ; disallowed_STD3_mapped ; 0020 0328 # 1.1 OGONEK -02DC ; disallowed_STD3_mapped ; 0020 0303 # 1.1 SMALL TILDE -02DD ; disallowed_STD3_mapped ; 0020 030B # 1.1 DOUBLE ACUTE ACCENT -02DE ; valid ; ; NV8 # 1.1 MODIFIER LETTER RHOTIC HOOK -02DF ; valid ; ; NV8 # 3.0 MODIFIER LETTER CROSS ACCENT -02E0 ; mapped ; 0263 # 1.1 MODIFIER LETTER SMALL GAMMA -02E1 ; mapped ; 006C # 1.1 MODIFIER LETTER SMALL L -02E2 ; mapped ; 0073 # 1.1 MODIFIER LETTER SMALL S -02E3 ; mapped ; 0078 # 1.1 MODIFIER LETTER SMALL X -02E4 ; mapped ; 0295 # 1.1 MODIFIER LETTER SMALL REVERSED GLOTTAL STOP -02E5..02E9 ; valid ; ; NV8 # 1.1 MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER EXTRA-LOW TONE BAR -02EA..02EB ; valid ; ; NV8 # 3.0 MODIFIER LETTER YIN DEPARTING TONE MARK..MODIFIER LETTER YANG DEPARTING TONE MARK -02EC ; valid # 3.0 MODIFIER LETTER VOICING -02ED ; valid ; ; NV8 # 3.0 MODIFIER LETTER UNASPIRATED -02EE ; valid # 3.0 MODIFIER LETTER DOUBLE APOSTROPHE -02EF..02FF ; valid ; ; NV8 # 4.0 MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW -0300..033F ; valid # 1.1 COMBINING GRAVE ACCENT..COMBINING DOUBLE OVERLINE -0340 ; mapped ; 0300 # 1.1 COMBINING GRAVE TONE MARK -0341 ; mapped ; 0301 # 1.1 COMBINING ACUTE TONE MARK -0342 ; valid # 1.1 COMBINING GREEK PERISPOMENI -0343 ; mapped ; 0313 # 1.1 COMBINING GREEK KORONIS -0344 ; mapped ; 0308 0301 # 1.1 COMBINING GREEK DIALYTIKA TONOS -0345 ; mapped ; 03B9 # 1.1 COMBINING GREEK YPOGEGRAMMENI -0346..034E ; valid # 3.0 COMBINING BRIDGE ABOVE..COMBINING UPWARDS ARROW BELOW -034F ; ignored # 3.2 COMBINING GRAPHEME JOINER -0350..0357 ; valid # 4.0 COMBINING RIGHT ARROWHEAD ABOVE..COMBINING RIGHT HALF RING ABOVE -0358..035C ; valid # 4.1 COMBINING DOT ABOVE RIGHT..COMBINING DOUBLE BREVE BELOW -035D..035F ; valid # 4.0 COMBINING DOUBLE BREVE..COMBINING DOUBLE MACRON BELOW -0360..0361 ; valid # 1.1 COMBINING DOUBLE TILDE..COMBINING DOUBLE INVERTED BREVE -0362 ; valid # 3.0 COMBINING DOUBLE RIGHTWARDS ARROW BELOW -0363..036F ; valid # 3.2 COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X -0370 ; mapped ; 0371 # 5.1 GREEK CAPITAL LETTER HETA -0371 ; valid # 5.1 GREEK SMALL LETTER HETA -0372 ; mapped ; 0373 # 5.1 GREEK CAPITAL LETTER ARCHAIC SAMPI -0373 ; valid # 5.1 GREEK SMALL LETTER ARCHAIC SAMPI -0374 ; mapped ; 02B9 # 1.1 GREEK NUMERAL SIGN -0375 ; valid # 1.1 GREEK LOWER NUMERAL SIGN -0376 ; mapped ; 0377 # 5.1 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA -0377 ; valid # 5.1 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA -0378..0379 ; disallowed # NA <reserved-0378>..<reserved-0379> -037A ; disallowed_STD3_mapped ; 0020 03B9 # 1.1 GREEK YPOGEGRAMMENI -037B..037D ; valid # 5.0 GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL -037E ; disallowed_STD3_mapped ; 003B # 1.1 GREEK QUESTION MARK -037F ; mapped ; 03F3 # 7.0 GREEK CAPITAL LETTER YOT -0380..0383 ; disallowed # NA <reserved-0380>..<reserved-0383> -0384 ; disallowed_STD3_mapped ; 0020 0301 # 1.1 GREEK TONOS -0385 ; disallowed_STD3_mapped ; 0020 0308 0301 #1.1 GREEK DIALYTIKA TONOS -0386 ; mapped ; 03AC # 1.1 GREEK CAPITAL LETTER ALPHA WITH TONOS -0387 ; mapped ; 00B7 # 1.1 GREEK ANO TELEIA -0388 ; mapped ; 03AD # 1.1 GREEK CAPITAL LETTER EPSILON WITH TONOS -0389 ; mapped ; 03AE # 1.1 GREEK CAPITAL LETTER ETA WITH TONOS -038A ; mapped ; 03AF # 1.1 GREEK CAPITAL LETTER IOTA WITH TONOS -038B ; disallowed # NA <reserved-038B> -038C ; mapped ; 03CC # 1.1 GREEK CAPITAL LETTER OMICRON WITH TONOS -038D ; disallowed # NA <reserved-038D> -038E ; mapped ; 03CD # 1.1 GREEK CAPITAL LETTER UPSILON WITH TONOS -038F ; mapped ; 03CE # 1.1 GREEK CAPITAL LETTER OMEGA WITH TONOS -0390 ; valid # 1.1 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -0391 ; mapped ; 03B1 # 1.1 GREEK CAPITAL LETTER ALPHA -0392 ; mapped ; 03B2 # 1.1 GREEK CAPITAL LETTER BETA -0393 ; mapped ; 03B3 # 1.1 GREEK CAPITAL LETTER GAMMA -0394 ; mapped ; 03B4 # 1.1 GREEK CAPITAL LETTER DELTA -0395 ; mapped ; 03B5 # 1.1 GREEK CAPITAL LETTER EPSILON -0396 ; mapped ; 03B6 # 1.1 GREEK CAPITAL LETTER ZETA -0397 ; mapped ; 03B7 # 1.1 GREEK CAPITAL LETTER ETA -0398 ; mapped ; 03B8 # 1.1 GREEK CAPITAL LETTER THETA -0399 ; mapped ; 03B9 # 1.1 GREEK CAPITAL LETTER IOTA -039A ; mapped ; 03BA # 1.1 GREEK CAPITAL LETTER KAPPA -039B ; mapped ; 03BB # 1.1 GREEK CAPITAL LETTER LAMDA -039C ; mapped ; 03BC # 1.1 GREEK CAPITAL LETTER MU -039D ; mapped ; 03BD # 1.1 GREEK CAPITAL LETTER NU -039E ; mapped ; 03BE # 1.1 GREEK CAPITAL LETTER XI -039F ; mapped ; 03BF # 1.1 GREEK CAPITAL LETTER OMICRON -03A0 ; mapped ; 03C0 # 1.1 GREEK CAPITAL LETTER PI -03A1 ; mapped ; 03C1 # 1.1 GREEK CAPITAL LETTER RHO -03A2 ; disallowed # NA <reserved-03A2> -03A3 ; mapped ; 03C3 # 1.1 GREEK CAPITAL LETTER SIGMA -03A4 ; mapped ; 03C4 # 1.1 GREEK CAPITAL LETTER TAU -03A5 ; mapped ; 03C5 # 1.1 GREEK CAPITAL LETTER UPSILON -03A6 ; mapped ; 03C6 # 1.1 GREEK CAPITAL LETTER PHI -03A7 ; mapped ; 03C7 # 1.1 GREEK CAPITAL LETTER CHI -03A8 ; mapped ; 03C8 # 1.1 GREEK CAPITAL LETTER PSI -03A9 ; mapped ; 03C9 # 1.1 GREEK CAPITAL LETTER OMEGA -03AA ; mapped ; 03CA # 1.1 GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -03AB ; mapped ; 03CB # 1.1 GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -03AC..03C1 ; valid # 1.1 GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER RHO -03C2 ; deviation ; 03C3 # 1.1 GREEK SMALL LETTER FINAL SIGMA -03C3..03CE ; valid # 1.1 GREEK SMALL LETTER SIGMA..GREEK SMALL LETTER OMEGA WITH TONOS -03CF ; mapped ; 03D7 # 5.1 GREEK CAPITAL KAI SYMBOL -03D0 ; mapped ; 03B2 # 1.1 GREEK BETA SYMBOL -03D1 ; mapped ; 03B8 # 1.1 GREEK THETA SYMBOL -03D2 ; mapped ; 03C5 # 1.1 GREEK UPSILON WITH HOOK SYMBOL -03D3 ; mapped ; 03CD # 1.1 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL -03D4 ; mapped ; 03CB # 1.1 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL -03D5 ; mapped ; 03C6 # 1.1 GREEK PHI SYMBOL -03D6 ; mapped ; 03C0 # 1.1 GREEK PI SYMBOL -03D7 ; valid # 3.0 GREEK KAI SYMBOL -03D8 ; mapped ; 03D9 # 3.2 GREEK LETTER ARCHAIC KOPPA -03D9 ; valid # 3.2 GREEK SMALL LETTER ARCHAIC KOPPA -03DA ; mapped ; 03DB # 1.1 GREEK LETTER STIGMA -03DB ; valid # 3.0 GREEK SMALL LETTER STIGMA -03DC ; mapped ; 03DD # 1.1 GREEK LETTER DIGAMMA -03DD ; valid # 3.0 GREEK SMALL LETTER DIGAMMA -03DE ; mapped ; 03DF # 1.1 GREEK LETTER KOPPA -03DF ; valid # 3.0 GREEK SMALL LETTER KOPPA -03E0 ; mapped ; 03E1 # 1.1 GREEK LETTER SAMPI -03E1 ; valid # 3.0 GREEK SMALL LETTER SAMPI -03E2 ; mapped ; 03E3 # 1.1 COPTIC CAPITAL LETTER SHEI -03E3 ; valid # 1.1 COPTIC SMALL LETTER SHEI -03E4 ; mapped ; 03E5 # 1.1 COPTIC CAPITAL LETTER FEI -03E5 ; valid # 1.1 COPTIC SMALL LETTER FEI -03E6 ; mapped ; 03E7 # 1.1 COPTIC CAPITAL LETTER KHEI -03E7 ; valid # 1.1 COPTIC SMALL LETTER KHEI -03E8 ; mapped ; 03E9 # 1.1 COPTIC CAPITAL LETTER HORI -03E9 ; valid # 1.1 COPTIC SMALL LETTER HORI -03EA ; mapped ; 03EB # 1.1 COPTIC CAPITAL LETTER GANGIA -03EB ; valid # 1.1 COPTIC SMALL LETTER GANGIA -03EC ; mapped ; 03ED # 1.1 COPTIC CAPITAL LETTER SHIMA -03ED ; valid # 1.1 COPTIC SMALL LETTER SHIMA -03EE ; mapped ; 03EF # 1.1 COPTIC CAPITAL LETTER DEI -03EF ; valid # 1.1 COPTIC SMALL LETTER DEI -03F0 ; mapped ; 03BA # 1.1 GREEK KAPPA SYMBOL -03F1 ; mapped ; 03C1 # 1.1 GREEK RHO SYMBOL -03F2 ; mapped ; 03C3 # 1.1 GREEK LUNATE SIGMA SYMBOL -03F3 ; valid # 1.1 GREEK LETTER YOT -03F4 ; mapped ; 03B8 # 3.1 GREEK CAPITAL THETA SYMBOL -03F5 ; mapped ; 03B5 # 3.1 GREEK LUNATE EPSILON SYMBOL -03F6 ; valid ; ; NV8 # 3.2 GREEK REVERSED LUNATE EPSILON SYMBOL -03F7 ; mapped ; 03F8 # 4.0 GREEK CAPITAL LETTER SHO -03F8 ; valid # 4.0 GREEK SMALL LETTER SHO -03F9 ; mapped ; 03C3 # 4.0 GREEK CAPITAL LUNATE SIGMA SYMBOL -03FA ; mapped ; 03FB # 4.0 GREEK CAPITAL LETTER SAN -03FB ; valid # 4.0 GREEK SMALL LETTER SAN -03FC ; valid # 4.1 GREEK RHO WITH STROKE SYMBOL -03FD ; mapped ; 037B # 4.1 GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL -03FE ; mapped ; 037C # 4.1 GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL -03FF ; mapped ; 037D # 4.1 GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL -0400 ; mapped ; 0450 # 3.0 CYRILLIC CAPITAL LETTER IE WITH GRAVE -0401 ; mapped ; 0451 # 1.1 CYRILLIC CAPITAL LETTER IO -0402 ; mapped ; 0452 # 1.1 CYRILLIC CAPITAL LETTER DJE -0403 ; mapped ; 0453 # 1.1 CYRILLIC CAPITAL LETTER GJE -0404 ; mapped ; 0454 # 1.1 CYRILLIC CAPITAL LETTER UKRAINIAN IE -0405 ; mapped ; 0455 # 1.1 CYRILLIC CAPITAL LETTER DZE -0406 ; mapped ; 0456 # 1.1 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0407 ; mapped ; 0457 # 1.1 CYRILLIC CAPITAL LETTER YI -0408 ; mapped ; 0458 # 1.1 CYRILLIC CAPITAL LETTER JE -0409 ; mapped ; 0459 # 1.1 CYRILLIC CAPITAL LETTER LJE -040A ; mapped ; 045A # 1.1 CYRILLIC CAPITAL LETTER NJE -040B ; mapped ; 045B # 1.1 CYRILLIC CAPITAL LETTER TSHE -040C ; mapped ; 045C # 1.1 CYRILLIC CAPITAL LETTER KJE -040D ; mapped ; 045D # 3.0 CYRILLIC CAPITAL LETTER I WITH GRAVE -040E ; mapped ; 045E # 1.1 CYRILLIC CAPITAL LETTER SHORT U -040F ; mapped ; 045F # 1.1 CYRILLIC CAPITAL LETTER DZHE -0410 ; mapped ; 0430 # 1.1 CYRILLIC CAPITAL LETTER A -0411 ; mapped ; 0431 # 1.1 CYRILLIC CAPITAL LETTER BE -0412 ; mapped ; 0432 # 1.1 CYRILLIC CAPITAL LETTER VE -0413 ; mapped ; 0433 # 1.1 CYRILLIC CAPITAL LETTER GHE -0414 ; mapped ; 0434 # 1.1 CYRILLIC CAPITAL LETTER DE -0415 ; mapped ; 0435 # 1.1 CYRILLIC CAPITAL LETTER IE -0416 ; mapped ; 0436 # 1.1 CYRILLIC CAPITAL LETTER ZHE -0417 ; mapped ; 0437 # 1.1 CYRILLIC CAPITAL LETTER ZE -0418 ; mapped ; 0438 # 1.1 CYRILLIC CAPITAL LETTER I -0419 ; mapped ; 0439 # 1.1 CYRILLIC CAPITAL LETTER SHORT I -041A ; mapped ; 043A # 1.1 CYRILLIC CAPITAL LETTER KA -041B ; mapped ; 043B # 1.1 CYRILLIC CAPITAL LETTER EL -041C ; mapped ; 043C # 1.1 CYRILLIC CAPITAL LETTER EM -041D ; mapped ; 043D # 1.1 CYRILLIC CAPITAL LETTER EN -041E ; mapped ; 043E # 1.1 CYRILLIC CAPITAL LETTER O -041F ; mapped ; 043F # 1.1 CYRILLIC CAPITAL LETTER PE -0420 ; mapped ; 0440 # 1.1 CYRILLIC CAPITAL LETTER ER -0421 ; mapped ; 0441 # 1.1 CYRILLIC CAPITAL LETTER ES -0422 ; mapped ; 0442 # 1.1 CYRILLIC CAPITAL LETTER TE -0423 ; mapped ; 0443 # 1.1 CYRILLIC CAPITAL LETTER U -0424 ; mapped ; 0444 # 1.1 CYRILLIC CAPITAL LETTER EF -0425 ; mapped ; 0445 # 1.1 CYRILLIC CAPITAL LETTER HA -0426 ; mapped ; 0446 # 1.1 CYRILLIC CAPITAL LETTER TSE -0427 ; mapped ; 0447 # 1.1 CYRILLIC CAPITAL LETTER CHE -0428 ; mapped ; 0448 # 1.1 CYRILLIC CAPITAL LETTER SHA -0429 ; mapped ; 0449 # 1.1 CYRILLIC CAPITAL LETTER SHCHA -042A ; mapped ; 044A # 1.1 CYRILLIC CAPITAL LETTER HARD SIGN -042B ; mapped ; 044B # 1.1 CYRILLIC CAPITAL LETTER YERU -042C ; mapped ; 044C # 1.1 CYRILLIC CAPITAL LETTER SOFT SIGN -042D ; mapped ; 044D # 1.1 CYRILLIC CAPITAL LETTER E -042E ; mapped ; 044E # 1.1 CYRILLIC CAPITAL LETTER YU -042F ; mapped ; 044F # 1.1 CYRILLIC CAPITAL LETTER YA -0430..044F ; valid # 1.1 CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER YA -0450 ; valid # 3.0 CYRILLIC SMALL LETTER IE WITH GRAVE -0451..045C ; valid # 1.1 CYRILLIC SMALL LETTER IO..CYRILLIC SMALL LETTER KJE -045D ; valid # 3.0 CYRILLIC SMALL LETTER I WITH GRAVE -045E..045F ; valid # 1.1 CYRILLIC SMALL LETTER SHORT U..CYRILLIC SMALL LETTER DZHE -0460 ; mapped ; 0461 # 1.1 CYRILLIC CAPITAL LETTER OMEGA -0461 ; valid # 1.1 CYRILLIC SMALL LETTER OMEGA -0462 ; mapped ; 0463 # 1.1 CYRILLIC CAPITAL LETTER YAT -0463 ; valid # 1.1 CYRILLIC SMALL LETTER YAT -0464 ; mapped ; 0465 # 1.1 CYRILLIC CAPITAL LETTER IOTIFIED E -0465 ; valid # 1.1 CYRILLIC SMALL LETTER IOTIFIED E -0466 ; mapped ; 0467 # 1.1 CYRILLIC CAPITAL LETTER LITTLE YUS -0467 ; valid # 1.1 CYRILLIC SMALL LETTER LITTLE YUS -0468 ; mapped ; 0469 # 1.1 CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS -0469 ; valid # 1.1 CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS -046A ; mapped ; 046B # 1.1 CYRILLIC CAPITAL LETTER BIG YUS -046B ; valid # 1.1 CYRILLIC SMALL LETTER BIG YUS -046C ; mapped ; 046D # 1.1 CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS -046D ; valid # 1.1 CYRILLIC SMALL LETTER IOTIFIED BIG YUS -046E ; mapped ; 046F # 1.1 CYRILLIC CAPITAL LETTER KSI -046F ; valid # 1.1 CYRILLIC SMALL LETTER KSI -0470 ; mapped ; 0471 # 1.1 CYRILLIC CAPITAL LETTER PSI -0471 ; valid # 1.1 CYRILLIC SMALL LETTER PSI -0472 ; mapped ; 0473 # 1.1 CYRILLIC CAPITAL LETTER FITA -0473 ; valid # 1.1 CYRILLIC SMALL LETTER FITA -0474 ; mapped ; 0475 # 1.1 CYRILLIC CAPITAL LETTER IZHITSA -0475 ; valid # 1.1 CYRILLIC SMALL LETTER IZHITSA -0476 ; mapped ; 0477 # 1.1 CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT -0477 ; valid # 1.1 CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT -0478 ; mapped ; 0479 # 1.1 CYRILLIC CAPITAL LETTER UK -0479 ; valid # 1.1 CYRILLIC SMALL LETTER UK -047A ; mapped ; 047B # 1.1 CYRILLIC CAPITAL LETTER ROUND OMEGA -047B ; valid # 1.1 CYRILLIC SMALL LETTER ROUND OMEGA -047C ; mapped ; 047D # 1.1 CYRILLIC CAPITAL LETTER OMEGA WITH TITLO -047D ; valid # 1.1 CYRILLIC SMALL LETTER OMEGA WITH TITLO -047E ; mapped ; 047F # 1.1 CYRILLIC CAPITAL LETTER OT -047F ; valid # 1.1 CYRILLIC SMALL LETTER OT -0480 ; mapped ; 0481 # 1.1 CYRILLIC CAPITAL LETTER KOPPA -0481 ; valid # 1.1 CYRILLIC SMALL LETTER KOPPA -0482 ; valid ; ; NV8 # 1.1 CYRILLIC THOUSANDS SIGN -0483..0486 ; valid # 1.1 COMBINING CYRILLIC TITLO..COMBINING CYRILLIC PSILI PNEUMATA -0487 ; valid # 5.1 COMBINING CYRILLIC POKRYTIE -0488..0489 ; valid ; ; NV8 # 3.0 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN -048A ; mapped ; 048B # 3.2 CYRILLIC CAPITAL LETTER SHORT I WITH TAIL -048B ; valid # 3.2 CYRILLIC SMALL LETTER SHORT I WITH TAIL -048C ; mapped ; 048D # 3.0 CYRILLIC CAPITAL LETTER SEMISOFT SIGN -048D ; valid # 3.0 CYRILLIC SMALL LETTER SEMISOFT SIGN -048E ; mapped ; 048F # 3.0 CYRILLIC CAPITAL LETTER ER WITH TICK -048F ; valid # 3.0 CYRILLIC SMALL LETTER ER WITH TICK -0490 ; mapped ; 0491 # 1.1 CYRILLIC CAPITAL LETTER GHE WITH UPTURN -0491 ; valid # 1.1 CYRILLIC SMALL LETTER GHE WITH UPTURN -0492 ; mapped ; 0493 # 1.1 CYRILLIC CAPITAL LETTER GHE WITH STROKE -0493 ; valid # 1.1 CYRILLIC SMALL LETTER GHE WITH STROKE -0494 ; mapped ; 0495 # 1.1 CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK -0495 ; valid # 1.1 CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK -0496 ; mapped ; 0497 # 1.1 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER -0497 ; valid # 1.1 CYRILLIC SMALL LETTER ZHE WITH DESCENDER -0498 ; mapped ; 0499 # 1.1 CYRILLIC CAPITAL LETTER ZE WITH DESCENDER -0499 ; valid # 1.1 CYRILLIC SMALL LETTER ZE WITH DESCENDER -049A ; mapped ; 049B # 1.1 CYRILLIC CAPITAL LETTER KA WITH DESCENDER -049B ; valid # 1.1 CYRILLIC SMALL LETTER KA WITH DESCENDER -049C ; mapped ; 049D # 1.1 CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE -049D ; valid # 1.1 CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE -049E ; mapped ; 049F # 1.1 CYRILLIC CAPITAL LETTER KA WITH STROKE -049F ; valid # 1.1 CYRILLIC SMALL LETTER KA WITH STROKE -04A0 ; mapped ; 04A1 # 1.1 CYRILLIC CAPITAL LETTER BASHKIR KA -04A1 ; valid # 1.1 CYRILLIC SMALL LETTER BASHKIR KA -04A2 ; mapped ; 04A3 # 1.1 CYRILLIC CAPITAL LETTER EN WITH DESCENDER -04A3 ; valid # 1.1 CYRILLIC SMALL LETTER EN WITH DESCENDER -04A4 ; mapped ; 04A5 # 1.1 CYRILLIC CAPITAL LIGATURE EN GHE -04A5 ; valid # 1.1 CYRILLIC SMALL LIGATURE EN GHE -04A6 ; mapped ; 04A7 # 1.1 CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK -04A7 ; valid # 1.1 CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK -04A8 ; mapped ; 04A9 # 1.1 CYRILLIC CAPITAL LETTER ABKHASIAN HA -04A9 ; valid # 1.1 CYRILLIC SMALL LETTER ABKHASIAN HA -04AA ; mapped ; 04AB # 1.1 CYRILLIC CAPITAL LETTER ES WITH DESCENDER -04AB ; valid # 1.1 CYRILLIC SMALL LETTER ES WITH DESCENDER -04AC ; mapped ; 04AD # 1.1 CYRILLIC CAPITAL LETTER TE WITH DESCENDER -04AD ; valid # 1.1 CYRILLIC SMALL LETTER TE WITH DESCENDER -04AE ; mapped ; 04AF # 1.1 CYRILLIC CAPITAL LETTER STRAIGHT U -04AF ; valid # 1.1 CYRILLIC SMALL LETTER STRAIGHT U -04B0 ; mapped ; 04B1 # 1.1 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE -04B1 ; valid # 1.1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE -04B2 ; mapped ; 04B3 # 1.1 CYRILLIC CAPITAL LETTER HA WITH DESCENDER -04B3 ; valid # 1.1 CYRILLIC SMALL LETTER HA WITH DESCENDER -04B4 ; mapped ; 04B5 # 1.1 CYRILLIC CAPITAL LIGATURE TE TSE -04B5 ; valid # 1.1 CYRILLIC SMALL LIGATURE TE TSE -04B6 ; mapped ; 04B7 # 1.1 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER -04B7 ; valid # 1.1 CYRILLIC SMALL LETTER CHE WITH DESCENDER -04B8 ; mapped ; 04B9 # 1.1 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE -04B9 ; valid # 1.1 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE -04BA ; mapped ; 04BB # 1.1 CYRILLIC CAPITAL LETTER SHHA -04BB ; valid # 1.1 CYRILLIC SMALL LETTER SHHA -04BC ; mapped ; 04BD # 1.1 CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04BD ; valid # 1.1 CYRILLIC SMALL LETTER ABKHASIAN CHE -04BE ; mapped ; 04BF # 1.1 CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER -04BF ; valid # 1.1 CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER -04C0 ; disallowed # 1.1 CYRILLIC LETTER PALOCHKA -04C1 ; mapped ; 04C2 # 1.1 CYRILLIC CAPITAL LETTER ZHE WITH BREVE -04C2 ; valid # 1.1 CYRILLIC SMALL LETTER ZHE WITH BREVE -04C3 ; mapped ; 04C4 # 1.1 CYRILLIC CAPITAL LETTER KA WITH HOOK -04C4 ; valid # 1.1 CYRILLIC SMALL LETTER KA WITH HOOK -04C5 ; mapped ; 04C6 # 3.2 CYRILLIC CAPITAL LETTER EL WITH TAIL -04C6 ; valid # 3.2 CYRILLIC SMALL LETTER EL WITH TAIL -04C7 ; mapped ; 04C8 # 1.1 CYRILLIC CAPITAL LETTER EN WITH HOOK -04C8 ; valid # 1.1 CYRILLIC SMALL LETTER EN WITH HOOK -04C9 ; mapped ; 04CA # 3.2 CYRILLIC CAPITAL LETTER EN WITH TAIL -04CA ; valid # 3.2 CYRILLIC SMALL LETTER EN WITH TAIL -04CB ; mapped ; 04CC # 1.1 CYRILLIC CAPITAL LETTER KHAKASSIAN CHE -04CC ; valid # 1.1 CYRILLIC SMALL LETTER KHAKASSIAN CHE -04CD ; mapped ; 04CE # 3.2 CYRILLIC CAPITAL LETTER EM WITH TAIL -04CE ; valid # 3.2 CYRILLIC SMALL LETTER EM WITH TAIL -04CF ; valid # 5.0 CYRILLIC SMALL LETTER PALOCHKA -04D0 ; mapped ; 04D1 # 1.1 CYRILLIC CAPITAL LETTER A WITH BREVE -04D1 ; valid # 1.1 CYRILLIC SMALL LETTER A WITH BREVE -04D2 ; mapped ; 04D3 # 1.1 CYRILLIC CAPITAL LETTER A WITH DIAERESIS -04D3 ; valid # 1.1 CYRILLIC SMALL LETTER A WITH DIAERESIS -04D4 ; mapped ; 04D5 # 1.1 CYRILLIC CAPITAL LIGATURE A IE -04D5 ; valid # 1.1 CYRILLIC SMALL LIGATURE A IE -04D6 ; mapped ; 04D7 # 1.1 CYRILLIC CAPITAL LETTER IE WITH BREVE -04D7 ; valid # 1.1 CYRILLIC SMALL LETTER IE WITH BREVE -04D8 ; mapped ; 04D9 # 1.1 CYRILLIC CAPITAL LETTER SCHWA -04D9 ; valid # 1.1 CYRILLIC SMALL LETTER SCHWA -04DA ; mapped ; 04DB # 1.1 CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS -04DB ; valid # 1.1 CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS -04DC ; mapped ; 04DD # 1.1 CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS -04DD ; valid # 1.1 CYRILLIC SMALL LETTER ZHE WITH DIAERESIS -04DE ; mapped ; 04DF # 1.1 CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS -04DF ; valid # 1.1 CYRILLIC SMALL LETTER ZE WITH DIAERESIS -04E0 ; mapped ; 04E1 # 1.1 CYRILLIC CAPITAL LETTER ABKHASIAN DZE -04E1 ; valid # 1.1 CYRILLIC SMALL LETTER ABKHASIAN DZE -04E2 ; mapped ; 04E3 # 1.1 CYRILLIC CAPITAL LETTER I WITH MACRON -04E3 ; valid # 1.1 CYRILLIC SMALL LETTER I WITH MACRON -04E4 ; mapped ; 04E5 # 1.1 CYRILLIC CAPITAL LETTER I WITH DIAERESIS -04E5 ; valid # 1.1 CYRILLIC SMALL LETTER I WITH DIAERESIS -04E6 ; mapped ; 04E7 # 1.1 CYRILLIC CAPITAL LETTER O WITH DIAERESIS -04E7 ; valid # 1.1 CYRILLIC SMALL LETTER O WITH DIAERESIS -04E8 ; mapped ; 04E9 # 1.1 CYRILLIC CAPITAL LETTER BARRED O -04E9 ; valid # 1.1 CYRILLIC SMALL LETTER BARRED O -04EA ; mapped ; 04EB # 1.1 CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS -04EB ; valid # 1.1 CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS -04EC ; mapped ; 04ED # 3.0 CYRILLIC CAPITAL LETTER E WITH DIAERESIS -04ED ; valid # 3.0 CYRILLIC SMALL LETTER E WITH DIAERESIS -04EE ; mapped ; 04EF # 1.1 CYRILLIC CAPITAL LETTER U WITH MACRON -04EF ; valid # 1.1 CYRILLIC SMALL LETTER U WITH MACRON -04F0 ; mapped ; 04F1 # 1.1 CYRILLIC CAPITAL LETTER U WITH DIAERESIS -04F1 ; valid # 1.1 CYRILLIC SMALL LETTER U WITH DIAERESIS -04F2 ; mapped ; 04F3 # 1.1 CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE -04F3 ; valid # 1.1 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE -04F4 ; mapped ; 04F5 # 1.1 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS -04F5 ; valid # 1.1 CYRILLIC SMALL LETTER CHE WITH DIAERESIS -04F6 ; mapped ; 04F7 # 4.1 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER -04F7 ; valid # 4.1 CYRILLIC SMALL LETTER GHE WITH DESCENDER -04F8 ; mapped ; 04F9 # 1.1 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS -04F9 ; valid # 1.1 CYRILLIC SMALL LETTER YERU WITH DIAERESIS -04FA ; mapped ; 04FB # 5.0 CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK -04FB ; valid # 5.0 CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK -04FC ; mapped ; 04FD # 5.0 CYRILLIC CAPITAL LETTER HA WITH HOOK -04FD ; valid # 5.0 CYRILLIC SMALL LETTER HA WITH HOOK -04FE ; mapped ; 04FF # 5.0 CYRILLIC CAPITAL LETTER HA WITH STROKE -04FF ; valid # 5.0 CYRILLIC SMALL LETTER HA WITH STROKE -0500 ; mapped ; 0501 # 3.2 CYRILLIC CAPITAL LETTER KOMI DE -0501 ; valid # 3.2 CYRILLIC SMALL LETTER KOMI DE -0502 ; mapped ; 0503 # 3.2 CYRILLIC CAPITAL LETTER KOMI DJE -0503 ; valid # 3.2 CYRILLIC SMALL LETTER KOMI DJE -0504 ; mapped ; 0505 # 3.2 CYRILLIC CAPITAL LETTER KOMI ZJE -0505 ; valid # 3.2 CYRILLIC SMALL LETTER KOMI ZJE -0506 ; mapped ; 0507 # 3.2 CYRILLIC CAPITAL LETTER KOMI DZJE -0507 ; valid # 3.2 CYRILLIC SMALL LETTER KOMI DZJE -0508 ; mapped ; 0509 # 3.2 CYRILLIC CAPITAL LETTER KOMI LJE -0509 ; valid # 3.2 CYRILLIC SMALL LETTER KOMI LJE -050A ; mapped ; 050B # 3.2 CYRILLIC CAPITAL LETTER KOMI NJE -050B ; valid # 3.2 CYRILLIC SMALL LETTER KOMI NJE -050C ; mapped ; 050D # 3.2 CYRILLIC CAPITAL LETTER KOMI SJE -050D ; valid # 3.2 CYRILLIC SMALL LETTER KOMI SJE -050E ; mapped ; 050F # 3.2 CYRILLIC CAPITAL LETTER KOMI TJE -050F ; valid # 3.2 CYRILLIC SMALL LETTER KOMI TJE -0510 ; mapped ; 0511 # 5.0 CYRILLIC CAPITAL LETTER REVERSED ZE -0511 ; valid # 5.0 CYRILLIC SMALL LETTER REVERSED ZE -0512 ; mapped ; 0513 # 5.0 CYRILLIC CAPITAL LETTER EL WITH HOOK -0513 ; valid # 5.0 CYRILLIC SMALL LETTER EL WITH HOOK -0514 ; mapped ; 0515 # 5.1 CYRILLIC CAPITAL LETTER LHA -0515 ; valid # 5.1 CYRILLIC SMALL LETTER LHA -0516 ; mapped ; 0517 # 5.1 CYRILLIC CAPITAL LETTER RHA -0517 ; valid # 5.1 CYRILLIC SMALL LETTER RHA -0518 ; mapped ; 0519 # 5.1 CYRILLIC CAPITAL LETTER YAE -0519 ; valid # 5.1 CYRILLIC SMALL LETTER YAE -051A ; mapped ; 051B # 5.1 CYRILLIC CAPITAL LETTER QA -051B ; valid # 5.1 CYRILLIC SMALL LETTER QA -051C ; mapped ; 051D # 5.1 CYRILLIC CAPITAL LETTER WE -051D ; valid # 5.1 CYRILLIC SMALL LETTER WE -051E ; mapped ; 051F # 5.1 CYRILLIC CAPITAL LETTER ALEUT KA -051F ; valid # 5.1 CYRILLIC SMALL LETTER ALEUT KA -0520 ; mapped ; 0521 # 5.1 CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK -0521 ; valid # 5.1 CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK -0522 ; mapped ; 0523 # 5.1 CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK -0523 ; valid # 5.1 CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK -0524 ; mapped ; 0525 # 5.2 CYRILLIC CAPITAL LETTER PE WITH DESCENDER -0525 ; valid # 5.2 CYRILLIC SMALL LETTER PE WITH DESCENDER -0526 ; mapped ; 0527 # 6.0 CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER -0527 ; valid # 6.0 CYRILLIC SMALL LETTER SHHA WITH DESCENDER -0528 ; mapped ; 0529 # 7.0 CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK -0529 ; valid # 7.0 CYRILLIC SMALL LETTER EN WITH LEFT HOOK -052A ; mapped ; 052B # 7.0 CYRILLIC CAPITAL LETTER DZZHE -052B ; valid # 7.0 CYRILLIC SMALL LETTER DZZHE -052C ; mapped ; 052D # 7.0 CYRILLIC CAPITAL LETTER DCHE -052D ; valid # 7.0 CYRILLIC SMALL LETTER DCHE -052E ; mapped ; 052F # 7.0 CYRILLIC CAPITAL LETTER EL WITH DESCENDER -052F ; valid # 7.0 CYRILLIC SMALL LETTER EL WITH DESCENDER -0530 ; disallowed # NA <reserved-0530> -0531 ; mapped ; 0561 # 1.1 ARMENIAN CAPITAL LETTER AYB -0532 ; mapped ; 0562 # 1.1 ARMENIAN CAPITAL LETTER BEN -0533 ; mapped ; 0563 # 1.1 ARMENIAN CAPITAL LETTER GIM -0534 ; mapped ; 0564 # 1.1 ARMENIAN CAPITAL LETTER DA -0535 ; mapped ; 0565 # 1.1 ARMENIAN CAPITAL LETTER ECH -0536 ; mapped ; 0566 # 1.1 ARMENIAN CAPITAL LETTER ZA -0537 ; mapped ; 0567 # 1.1 ARMENIAN CAPITAL LETTER EH -0538 ; mapped ; 0568 # 1.1 ARMENIAN CAPITAL LETTER ET -0539 ; mapped ; 0569 # 1.1 ARMENIAN CAPITAL LETTER TO -053A ; mapped ; 056A # 1.1 ARMENIAN CAPITAL LETTER ZHE -053B ; mapped ; 056B # 1.1 ARMENIAN CAPITAL LETTER INI -053C ; mapped ; 056C # 1.1 ARMENIAN CAPITAL LETTER LIWN -053D ; mapped ; 056D # 1.1 ARMENIAN CAPITAL LETTER XEH -053E ; mapped ; 056E # 1.1 ARMENIAN CAPITAL LETTER CA -053F ; mapped ; 056F # 1.1 ARMENIAN CAPITAL LETTER KEN -0540 ; mapped ; 0570 # 1.1 ARMENIAN CAPITAL LETTER HO -0541 ; mapped ; 0571 # 1.1 ARMENIAN CAPITAL LETTER JA -0542 ; mapped ; 0572 # 1.1 ARMENIAN CAPITAL LETTER GHAD -0543 ; mapped ; 0573 # 1.1 ARMENIAN CAPITAL LETTER CHEH -0544 ; mapped ; 0574 # 1.1 ARMENIAN CAPITAL LETTER MEN -0545 ; mapped ; 0575 # 1.1 ARMENIAN CAPITAL LETTER YI -0546 ; mapped ; 0576 # 1.1 ARMENIAN CAPITAL LETTER NOW -0547 ; mapped ; 0577 # 1.1 ARMENIAN CAPITAL LETTER SHA -0548 ; mapped ; 0578 # 1.1 ARMENIAN CAPITAL LETTER VO -0549 ; mapped ; 0579 # 1.1 ARMENIAN CAPITAL LETTER CHA -054A ; mapped ; 057A # 1.1 ARMENIAN CAPITAL LETTER PEH -054B ; mapped ; 057B # 1.1 ARMENIAN CAPITAL LETTER JHEH -054C ; mapped ; 057C # 1.1 ARMENIAN CAPITAL LETTER RA -054D ; mapped ; 057D # 1.1 ARMENIAN CAPITAL LETTER SEH -054E ; mapped ; 057E # 1.1 ARMENIAN CAPITAL LETTER VEW -054F ; mapped ; 057F # 1.1 ARMENIAN CAPITAL LETTER TIWN -0550 ; mapped ; 0580 # 1.1 ARMENIAN CAPITAL LETTER REH -0551 ; mapped ; 0581 # 1.1 ARMENIAN CAPITAL LETTER CO -0552 ; mapped ; 0582 # 1.1 ARMENIAN CAPITAL LETTER YIWN -0553 ; mapped ; 0583 # 1.1 ARMENIAN CAPITAL LETTER PIWR -0554 ; mapped ; 0584 # 1.1 ARMENIAN CAPITAL LETTER KEH -0555 ; mapped ; 0585 # 1.1 ARMENIAN CAPITAL LETTER OH -0556 ; mapped ; 0586 # 1.1 ARMENIAN CAPITAL LETTER FEH -0557..0558 ; disallowed # NA <reserved-0557>..<reserved-0558> -0559 ; valid # 1.1 ARMENIAN MODIFIER LETTER LEFT HALF RING -055A..055F ; valid ; ; NV8 # 1.1 ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK -0560 ; disallowed # NA <reserved-0560> -0561..0586 ; valid # 1.1 ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LETTER FEH -0587 ; mapped ; 0565 0582 # 1.1 ARMENIAN SMALL LIGATURE ECH YIWN -0588 ; disallowed # NA <reserved-0588> -0589 ; valid ; ; NV8 # 1.1 ARMENIAN FULL STOP -058A ; valid ; ; NV8 # 3.0 ARMENIAN HYPHEN -058B..058C ; disallowed # NA <reserved-058B>..<reserved-058C> -058D..058E ; valid ; ; NV8 # 7.0 RIGHT-FACING ARMENIAN ETERNITY SIGN..LEFT-FACING ARMENIAN ETERNITY SIGN -058F ; valid ; ; NV8 # 6.1 ARMENIAN DRAM SIGN -0590 ; disallowed # NA <reserved-0590> -0591..05A1 ; valid # 2.0 HEBREW ACCENT ETNAHTA..HEBREW ACCENT PAZER -05A2 ; valid # 4.1 HEBREW ACCENT ATNAH HAFUKH -05A3..05AF ; valid # 2.0 HEBREW ACCENT MUNAH..HEBREW MARK MASORA CIRCLE -05B0..05B9 ; valid # 1.1 HEBREW POINT SHEVA..HEBREW POINT HOLAM -05BA ; valid # 5.0 HEBREW POINT HOLAM HASER FOR VAV -05BB..05BD ; valid # 1.1 HEBREW POINT QUBUTS..HEBREW POINT METEG -05BE ; valid ; ; NV8 # 1.1 HEBREW PUNCTUATION MAQAF -05BF ; valid # 1.1 HEBREW POINT RAFE -05C0 ; valid ; ; NV8 # 1.1 HEBREW PUNCTUATION PASEQ -05C1..05C2 ; valid # 1.1 HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT -05C3 ; valid ; ; NV8 # 1.1 HEBREW PUNCTUATION SOF PASUQ -05C4 ; valid # 2.0 HEBREW MARK UPPER DOT -05C5 ; valid # 4.1 HEBREW MARK LOWER DOT -05C6 ; valid ; ; NV8 # 4.1 HEBREW PUNCTUATION NUN HAFUKHA -05C7 ; valid # 4.1 HEBREW POINT QAMATS QATAN -05C8..05CF ; disallowed # NA <reserved-05C8>..<reserved-05CF> -05D0..05EA ; valid # 1.1 HEBREW LETTER ALEF..HEBREW LETTER TAV -05EB..05EF ; disallowed # NA <reserved-05EB>..<reserved-05EF> -05F0..05F4 ; valid # 1.1 HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW PUNCTUATION GERSHAYIM -05F5..05FF ; disallowed # NA <reserved-05F5>..<reserved-05FF> -0600..0603 ; disallowed # 4.0 ARABIC NUMBER SIGN..ARABIC SIGN SAFHA -0604 ; disallowed # 6.1 ARABIC SIGN SAMVAT -0605 ; disallowed # 7.0 ARABIC NUMBER MARK ABOVE -0606..060A ; valid ; ; NV8 # 5.1 ARABIC-INDIC CUBE ROOT..ARABIC-INDIC PER TEN THOUSAND SIGN -060B ; valid ; ; NV8 # 4.1 AFGHANI SIGN -060C ; valid ; ; NV8 # 1.1 ARABIC COMMA -060D..060F ; valid ; ; NV8 # 4.0 ARABIC DATE SEPARATOR..ARABIC SIGN MISRA -0610..0615 ; valid # 4.0 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL HIGH TAH -0616..061A ; valid # 5.1 ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH..ARABIC SMALL KASRA -061B ; valid ; ; NV8 # 1.1 ARABIC SEMICOLON -061C ; disallowed # 6.3 ARABIC LETTER MARK -061D ; disallowed # NA <reserved-061D> -061E ; valid ; ; NV8 # 4.1 ARABIC TRIPLE DOT PUNCTUATION MARK -061F ; valid ; ; NV8 # 1.1 ARABIC QUESTION MARK -0620 ; valid # 6.0 ARABIC LETTER KASHMIRI YEH -0621..063A ; valid # 1.1 ARABIC LETTER HAMZA..ARABIC LETTER GHAIN -063B..063F ; valid # 5.1 ARABIC LETTER KEHEH WITH TWO DOTS ABOVE..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE -0640 ; valid ; ; NV8 # 1.1 ARABIC TATWEEL -0641..0652 ; valid # 1.1 ARABIC LETTER FEH..ARABIC SUKUN -0653..0655 ; valid # 3.0 ARABIC MADDAH ABOVE..ARABIC HAMZA BELOW -0656..0658 ; valid # 4.0 ARABIC SUBSCRIPT ALEF..ARABIC MARK NOON GHUNNA -0659..065E ; valid # 4.1 ARABIC ZWARAKAY..ARABIC FATHA WITH TWO DOTS -065F ; valid # 6.0 ARABIC WAVY HAMZA BELOW -0660..0669 ; valid # 1.1 ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE -066A..066D ; valid ; ; NV8 # 1.1 ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR -066E..066F ; valid # 3.2 ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF -0670..0674 ; valid # 1.1 ARABIC LETTER SUPERSCRIPT ALEF..ARABIC LETTER HIGH HAMZA -0675 ; mapped ; 0627 0674 # 1.1 ARABIC LETTER HIGH HAMZA ALEF -0676 ; mapped ; 0648 0674 # 1.1 ARABIC LETTER HIGH HAMZA WAW -0677 ; mapped ; 06C7 0674 # 1.1 ARABIC LETTER U WITH HAMZA ABOVE -0678 ; mapped ; 064A 0674 # 1.1 ARABIC LETTER HIGH HAMZA YEH -0679..06B7 ; valid # 1.1 ARABIC LETTER TTEH..ARABIC LETTER LAM WITH THREE DOTS ABOVE -06B8..06B9 ; valid # 3.0 ARABIC LETTER LAM WITH THREE DOTS BELOW..ARABIC LETTER NOON WITH DOT BELOW -06BA..06BE ; valid # 1.1 ARABIC LETTER NOON GHUNNA..ARABIC LETTER HEH DOACHASHMEE -06BF ; valid # 3.0 ARABIC LETTER TCHEH WITH DOT ABOVE -06C0..06CE ; valid # 1.1 ARABIC LETTER HEH WITH YEH ABOVE..ARABIC LETTER YEH WITH SMALL V -06CF ; valid # 3.0 ARABIC LETTER WAW WITH DOT ABOVE -06D0..06D3 ; valid # 1.1 ARABIC LETTER E..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE -06D4 ; valid ; ; NV8 # 1.1 ARABIC FULL STOP -06D5..06DC ; valid # 1.1 ARABIC LETTER AE..ARABIC SMALL HIGH SEEN -06DD ; disallowed # 1.1 ARABIC END OF AYAH -06DE ; valid ; ; NV8 # 1.1 ARABIC START OF RUB EL HIZB -06DF..06E8 ; valid # 1.1 ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH NOON -06E9 ; valid ; ; NV8 # 1.1 ARABIC PLACE OF SAJDAH -06EA..06ED ; valid # 1.1 ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM -06EE..06EF ; valid # 4.0 ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V -06F0..06F9 ; valid # 1.1 EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE -06FA..06FE ; valid # 3.0 ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC SIGN SINDHI POSTPOSITION MEN -06FF ; valid # 4.0 ARABIC LETTER HEH WITH INVERTED V -0700..070D ; valid ; ; NV8 # 3.0 SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS -070E ; disallowed # NA <reserved-070E> -070F ; disallowed # 3.0 SYRIAC ABBREVIATION MARK -0710..072C ; valid # 3.0 SYRIAC LETTER ALAPH..SYRIAC LETTER TAW -072D..072F ; valid # 4.0 SYRIAC LETTER PERSIAN BHETH..SYRIAC LETTER PERSIAN DHALATH -0730..074A ; valid # 3.0 SYRIAC PTHAHA ABOVE..SYRIAC BARREKH -074B..074C ; disallowed # NA <reserved-074B>..<reserved-074C> -074D..074F ; valid # 4.0 SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE -0750..076D ; valid # 4.1 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE -076E..077F ; valid # 5.1 ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE -0780..07B0 ; valid # 3.0 THAANA LETTER HAA..THAANA SUKUN -07B1 ; valid # 3.2 THAANA LETTER NAA -07B2..07BF ; disallowed # NA <reserved-07B2>..<reserved-07BF> -07C0..07F5 ; valid # 5.0 NKO DIGIT ZERO..NKO LOW TONE APOSTROPHE -07F6..07FA ; valid ; ; NV8 # 5.0 NKO SYMBOL OO DENNEN..NKO LAJANYALAN -07FB..07FF ; disallowed # NA <reserved-07FB>..<reserved-07FF> -0800..082D ; valid # 5.2 SAMARITAN LETTER ALAF..SAMARITAN MARK NEQUDAA -082E..082F ; disallowed # NA <reserved-082E>..<reserved-082F> -0830..083E ; valid ; ; NV8 # 5.2 SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU -083F ; disallowed # NA <reserved-083F> -0840..085B ; valid # 6.0 MANDAIC LETTER HALQA..MANDAIC GEMINATION MARK -085C..085D ; disallowed # NA <reserved-085C>..<reserved-085D> -085E ; valid ; ; NV8 # 6.0 MANDAIC PUNCTUATION -085F..089F ; disallowed # NA <reserved-085F>..<reserved-089F> -08A0 ; valid # 6.1 ARABIC LETTER BEH WITH SMALL V BELOW -08A1 ; valid # 7.0 ARABIC LETTER BEH WITH HAMZA ABOVE -08A2..08AC ; valid # 6.1 ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH -08AD..08B2 ; valid # 7.0 ARABIC LETTER LOW ALEF..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08B3..08B4 ; valid # 8.0 ARABIC LETTER AIN WITH THREE DOTS BELOW..ARABIC LETTER KAF WITH DOT BELOW -08B5 ; disallowed # NA <reserved-08B5> -08B6..08BD ; valid # 9.0 ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON -08BE..08D3 ; disallowed # NA <reserved-08BE>..<reserved-08D3> -08D4..08E1 ; valid # 9.0 ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA -08E2 ; disallowed # 9.0 ARABIC DISPUTED END OF AYAH -08E3 ; valid # 8.0 ARABIC TURNED DAMMA BELOW -08E4..08FE ; valid # 6.1 ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT -08FF ; valid # 7.0 ARABIC MARK SIDEWAYS NOON GHUNNA -0900 ; valid # 5.2 DEVANAGARI SIGN INVERTED CANDRABINDU -0901..0903 ; valid # 1.1 DEVANAGARI SIGN CANDRABINDU..DEVANAGARI SIGN VISARGA -0904 ; valid # 4.0 DEVANAGARI LETTER SHORT A -0905..0939 ; valid # 1.1 DEVANAGARI LETTER A..DEVANAGARI LETTER HA -093A..093B ; valid # 6.0 DEVANAGARI VOWEL SIGN OE..DEVANAGARI VOWEL SIGN OOE -093C..094D ; valid # 1.1 DEVANAGARI SIGN NUKTA..DEVANAGARI SIGN VIRAMA -094E ; valid # 5.2 DEVANAGARI VOWEL SIGN PRISHTHAMATRA E -094F ; valid # 6.0 DEVANAGARI VOWEL SIGN AW -0950..0954 ; valid # 1.1 DEVANAGARI OM..DEVANAGARI ACUTE ACCENT -0955 ; valid # 5.2 DEVANAGARI VOWEL SIGN CANDRA LONG E -0956..0957 ; valid # 6.0 DEVANAGARI VOWEL SIGN UE..DEVANAGARI VOWEL SIGN UUE -0958 ; mapped ; 0915 093C # 1.1 DEVANAGARI LETTER QA -0959 ; mapped ; 0916 093C # 1.1 DEVANAGARI LETTER KHHA -095A ; mapped ; 0917 093C # 1.1 DEVANAGARI LETTER GHHA -095B ; mapped ; 091C 093C # 1.1 DEVANAGARI LETTER ZA -095C ; mapped ; 0921 093C # 1.1 DEVANAGARI LETTER DDDHA -095D ; mapped ; 0922 093C # 1.1 DEVANAGARI LETTER RHA -095E ; mapped ; 092B 093C # 1.1 DEVANAGARI LETTER FA -095F ; mapped ; 092F 093C # 1.1 DEVANAGARI LETTER YYA -0960..0963 ; valid # 1.1 DEVANAGARI LETTER VOCALIC RR..DEVANAGARI VOWEL SIGN VOCALIC LL -0964..0965 ; valid ; ; NV8 # 1.1 DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA -0966..096F ; valid # 1.1 DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE -0970 ; valid ; ; NV8 # 1.1 DEVANAGARI ABBREVIATION SIGN -0971..0972 ; valid # 5.1 DEVANAGARI SIGN HIGH SPACING DOT..DEVANAGARI LETTER CANDRA A -0973..0977 ; valid # 6.0 DEVANAGARI LETTER OE..DEVANAGARI LETTER UUE -0978 ; valid # 7.0 DEVANAGARI LETTER MARWARI DDA -0979..097A ; valid # 5.2 DEVANAGARI LETTER ZHA..DEVANAGARI LETTER HEAVY YA -097B..097C ; valid # 5.0 DEVANAGARI LETTER GGA..DEVANAGARI LETTER JJA -097D ; valid # 4.1 DEVANAGARI LETTER GLOTTAL STOP -097E..097F ; valid # 5.0 DEVANAGARI LETTER DDDA..DEVANAGARI LETTER BBA -0980 ; valid # 7.0 BENGALI ANJI -0981..0983 ; valid # 1.1 BENGALI SIGN CANDRABINDU..BENGALI SIGN VISARGA -0984 ; disallowed # NA <reserved-0984> -0985..098C ; valid # 1.1 BENGALI LETTER A..BENGALI LETTER VOCALIC L -098D..098E ; disallowed # NA <reserved-098D>..<reserved-098E> -098F..0990 ; valid # 1.1 BENGALI LETTER E..BENGALI LETTER AI -0991..0992 ; disallowed # NA <reserved-0991>..<reserved-0992> -0993..09A8 ; valid # 1.1 BENGALI LETTER O..BENGALI LETTER NA -09A9 ; disallowed # NA <reserved-09A9> -09AA..09B0 ; valid # 1.1 BENGALI LETTER PA..BENGALI LETTER RA -09B1 ; disallowed # NA <reserved-09B1> -09B2 ; valid # 1.1 BENGALI LETTER LA -09B3..09B5 ; disallowed # NA <reserved-09B3>..<reserved-09B5> -09B6..09B9 ; valid # 1.1 BENGALI LETTER SHA..BENGALI LETTER HA -09BA..09BB ; disallowed # NA <reserved-09BA>..<reserved-09BB> -09BC ; valid # 1.1 BENGALI SIGN NUKTA -09BD ; valid # 4.0 BENGALI SIGN AVAGRAHA -09BE..09C4 ; valid # 1.1 BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN VOCALIC RR -09C5..09C6 ; disallowed # NA <reserved-09C5>..<reserved-09C6> -09C7..09C8 ; valid # 1.1 BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI -09C9..09CA ; disallowed # NA <reserved-09C9>..<reserved-09CA> -09CB..09CD ; valid # 1.1 BENGALI VOWEL SIGN O..BENGALI SIGN VIRAMA -09CE ; valid # 4.1 BENGALI LETTER KHANDA TA -09CF..09D6 ; disallowed # NA <reserved-09CF>..<reserved-09D6> -09D7 ; valid # 1.1 BENGALI AU LENGTH MARK -09D8..09DB ; disallowed # NA <reserved-09D8>..<reserved-09DB> -09DC ; mapped ; 09A1 09BC # 1.1 BENGALI LETTER RRA -09DD ; mapped ; 09A2 09BC # 1.1 BENGALI LETTER RHA -09DE ; disallowed # NA <reserved-09DE> -09DF ; mapped ; 09AF 09BC # 1.1 BENGALI LETTER YYA -09E0..09E3 ; valid # 1.1 BENGALI LETTER VOCALIC RR..BENGALI VOWEL SIGN VOCALIC LL -09E4..09E5 ; disallowed # NA <reserved-09E4>..<reserved-09E5> -09E6..09F1 ; valid # 1.1 BENGALI DIGIT ZERO..BENGALI LETTER RA WITH LOWER DIAGONAL -09F2..09FA ; valid ; ; NV8 # 1.1 BENGALI RUPEE MARK..BENGALI ISSHAR -09FB ; valid ; ; NV8 # 5.2 BENGALI GANDA MARK -09FC..0A00 ; disallowed # NA <reserved-09FC>..<reserved-0A00> -0A01 ; valid # 4.0 GURMUKHI SIGN ADAK BINDI -0A02 ; valid # 1.1 GURMUKHI SIGN BINDI -0A03 ; valid # 4.0 GURMUKHI SIGN VISARGA -0A04 ; disallowed # NA <reserved-0A04> -0A05..0A0A ; valid # 1.1 GURMUKHI LETTER A..GURMUKHI LETTER UU -0A0B..0A0E ; disallowed # NA <reserved-0A0B>..<reserved-0A0E> -0A0F..0A10 ; valid # 1.1 GURMUKHI LETTER EE..GURMUKHI LETTER AI -0A11..0A12 ; disallowed # NA <reserved-0A11>..<reserved-0A12> -0A13..0A28 ; valid # 1.1 GURMUKHI LETTER OO..GURMUKHI LETTER NA -0A29 ; disallowed # NA <reserved-0A29> -0A2A..0A30 ; valid # 1.1 GURMUKHI LETTER PA..GURMUKHI LETTER RA -0A31 ; disallowed # NA <reserved-0A31> -0A32 ; valid # 1.1 GURMUKHI LETTER LA -0A33 ; mapped ; 0A32 0A3C # 1.1 GURMUKHI LETTER LLA -0A34 ; disallowed # NA <reserved-0A34> -0A35 ; valid # 1.1 GURMUKHI LETTER VA -0A36 ; mapped ; 0A38 0A3C # 1.1 GURMUKHI LETTER SHA -0A37 ; disallowed # NA <reserved-0A37> -0A38..0A39 ; valid # 1.1 GURMUKHI LETTER SA..GURMUKHI LETTER HA -0A3A..0A3B ; disallowed # NA <reserved-0A3A>..<reserved-0A3B> -0A3C ; valid # 1.1 GURMUKHI SIGN NUKTA -0A3D ; disallowed # NA <reserved-0A3D> -0A3E..0A42 ; valid # 1.1 GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN UU -0A43..0A46 ; disallowed # NA <reserved-0A43>..<reserved-0A46> -0A47..0A48 ; valid # 1.1 GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI -0A49..0A4A ; disallowed # NA <reserved-0A49>..<reserved-0A4A> -0A4B..0A4D ; valid # 1.1 GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA -0A4E..0A50 ; disallowed # NA <reserved-0A4E>..<reserved-0A50> -0A51 ; valid # 5.1 GURMUKHI SIGN UDAAT -0A52..0A58 ; disallowed # NA <reserved-0A52>..<reserved-0A58> -0A59 ; mapped ; 0A16 0A3C # 1.1 GURMUKHI LETTER KHHA -0A5A ; mapped ; 0A17 0A3C # 1.1 GURMUKHI LETTER GHHA -0A5B ; mapped ; 0A1C 0A3C # 1.1 GURMUKHI LETTER ZA -0A5C ; valid # 1.1 GURMUKHI LETTER RRA -0A5D ; disallowed # NA <reserved-0A5D> -0A5E ; mapped ; 0A2B 0A3C # 1.1 GURMUKHI LETTER FA -0A5F..0A65 ; disallowed # NA <reserved-0A5F>..<reserved-0A65> -0A66..0A74 ; valid # 1.1 GURMUKHI DIGIT ZERO..GURMUKHI EK ONKAR -0A75 ; valid # 5.1 GURMUKHI SIGN YAKASH -0A76..0A80 ; disallowed # NA <reserved-0A76>..<reserved-0A80> -0A81..0A83 ; valid # 1.1 GUJARATI SIGN CANDRABINDU..GUJARATI SIGN VISARGA -0A84 ; disallowed # NA <reserved-0A84> -0A85..0A8B ; valid # 1.1 GUJARATI LETTER A..GUJARATI LETTER VOCALIC R -0A8C ; valid # 4.0 GUJARATI LETTER VOCALIC L -0A8D ; valid # 1.1 GUJARATI VOWEL CANDRA E -0A8E ; disallowed # NA <reserved-0A8E> -0A8F..0A91 ; valid # 1.1 GUJARATI LETTER E..GUJARATI VOWEL CANDRA O -0A92 ; disallowed # NA <reserved-0A92> -0A93..0AA8 ; valid # 1.1 GUJARATI LETTER O..GUJARATI LETTER NA -0AA9 ; disallowed # NA <reserved-0AA9> -0AAA..0AB0 ; valid # 1.1 GUJARATI LETTER PA..GUJARATI LETTER RA -0AB1 ; disallowed # NA <reserved-0AB1> -0AB2..0AB3 ; valid # 1.1 GUJARATI LETTER LA..GUJARATI LETTER LLA -0AB4 ; disallowed # NA <reserved-0AB4> -0AB5..0AB9 ; valid # 1.1 GUJARATI LETTER VA..GUJARATI LETTER HA -0ABA..0ABB ; disallowed # NA <reserved-0ABA>..<reserved-0ABB> -0ABC..0AC5 ; valid # 1.1 GUJARATI SIGN NUKTA..GUJARATI VOWEL SIGN CANDRA E -0AC6 ; disallowed # NA <reserved-0AC6> -0AC7..0AC9 ; valid # 1.1 GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN CANDRA O -0ACA ; disallowed # NA <reserved-0ACA> -0ACB..0ACD ; valid # 1.1 GUJARATI VOWEL SIGN O..GUJARATI SIGN VIRAMA -0ACE..0ACF ; disallowed # NA <reserved-0ACE>..<reserved-0ACF> -0AD0 ; valid # 1.1 GUJARATI OM -0AD1..0ADF ; disallowed # NA <reserved-0AD1>..<reserved-0ADF> -0AE0 ; valid # 1.1 GUJARATI LETTER VOCALIC RR -0AE1..0AE3 ; valid # 4.0 GUJARATI LETTER VOCALIC LL..GUJARATI VOWEL SIGN VOCALIC LL -0AE4..0AE5 ; disallowed # NA <reserved-0AE4>..<reserved-0AE5> -0AE6..0AEF ; valid # 1.1 GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE -0AF0 ; valid ; ; NV8 # 6.1 GUJARATI ABBREVIATION SIGN -0AF1 ; valid ; ; NV8 # 4.0 GUJARATI RUPEE SIGN -0AF2..0AF8 ; disallowed # NA <reserved-0AF2>..<reserved-0AF8> -0AF9 ; valid # 8.0 GUJARATI LETTER ZHA -0AFA..0B00 ; disallowed # NA <reserved-0AFA>..<reserved-0B00> -0B01..0B03 ; valid # 1.1 ORIYA SIGN CANDRABINDU..ORIYA SIGN VISARGA -0B04 ; disallowed # NA <reserved-0B04> -0B05..0B0C ; valid # 1.1 ORIYA LETTER A..ORIYA LETTER VOCALIC L -0B0D..0B0E ; disallowed # NA <reserved-0B0D>..<reserved-0B0E> -0B0F..0B10 ; valid # 1.1 ORIYA LETTER E..ORIYA LETTER AI -0B11..0B12 ; disallowed # NA <reserved-0B11>..<reserved-0B12> -0B13..0B28 ; valid # 1.1 ORIYA LETTER O..ORIYA LETTER NA -0B29 ; disallowed # NA <reserved-0B29> -0B2A..0B30 ; valid # 1.1 ORIYA LETTER PA..ORIYA LETTER RA -0B31 ; disallowed # NA <reserved-0B31> -0B32..0B33 ; valid # 1.1 ORIYA LETTER LA..ORIYA LETTER LLA -0B34 ; disallowed # NA <reserved-0B34> -0B35 ; valid # 4.0 ORIYA LETTER VA -0B36..0B39 ; valid # 1.1 ORIYA LETTER SHA..ORIYA LETTER HA -0B3A..0B3B ; disallowed # NA <reserved-0B3A>..<reserved-0B3B> -0B3C..0B43 ; valid # 1.1 ORIYA SIGN NUKTA..ORIYA VOWEL SIGN VOCALIC R -0B44 ; valid # 5.1 ORIYA VOWEL SIGN VOCALIC RR -0B45..0B46 ; disallowed # NA <reserved-0B45>..<reserved-0B46> -0B47..0B48 ; valid # 1.1 ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI -0B49..0B4A ; disallowed # NA <reserved-0B49>..<reserved-0B4A> -0B4B..0B4D ; valid # 1.1 ORIYA VOWEL SIGN O..ORIYA SIGN VIRAMA -0B4E..0B55 ; disallowed # NA <reserved-0B4E>..<reserved-0B55> -0B56..0B57 ; valid # 1.1 ORIYA AI LENGTH MARK..ORIYA AU LENGTH MARK -0B58..0B5B ; disallowed # NA <reserved-0B58>..<reserved-0B5B> -0B5C ; mapped ; 0B21 0B3C # 1.1 ORIYA LETTER RRA -0B5D ; mapped ; 0B22 0B3C # 1.1 ORIYA LETTER RHA -0B5E ; disallowed # NA <reserved-0B5E> -0B5F..0B61 ; valid # 1.1 ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL -0B62..0B63 ; valid # 5.1 ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL -0B64..0B65 ; disallowed # NA <reserved-0B64>..<reserved-0B65> -0B66..0B6F ; valid # 1.1 ORIYA DIGIT ZERO..ORIYA DIGIT NINE -0B70 ; valid ; ; NV8 # 1.1 ORIYA ISSHAR -0B71 ; valid # 4.0 ORIYA LETTER WA -0B72..0B77 ; valid ; ; NV8 # 6.0 ORIYA FRACTION ONE QUARTER..ORIYA FRACTION THREE SIXTEENTHS -0B78..0B81 ; disallowed # NA <reserved-0B78>..<reserved-0B81> -0B82..0B83 ; valid # 1.1 TAMIL SIGN ANUSVARA..TAMIL SIGN VISARGA -0B84 ; disallowed # NA <reserved-0B84> -0B85..0B8A ; valid # 1.1 TAMIL LETTER A..TAMIL LETTER UU -0B8B..0B8D ; disallowed # NA <reserved-0B8B>..<reserved-0B8D> -0B8E..0B90 ; valid # 1.1 TAMIL LETTER E..TAMIL LETTER AI -0B91 ; disallowed # NA <reserved-0B91> -0B92..0B95 ; valid # 1.1 TAMIL LETTER O..TAMIL LETTER KA -0B96..0B98 ; disallowed # NA <reserved-0B96>..<reserved-0B98> -0B99..0B9A ; valid # 1.1 TAMIL LETTER NGA..TAMIL LETTER CA -0B9B ; disallowed # NA <reserved-0B9B> -0B9C ; valid # 1.1 TAMIL LETTER JA -0B9D ; disallowed # NA <reserved-0B9D> -0B9E..0B9F ; valid # 1.1 TAMIL LETTER NYA..TAMIL LETTER TTA -0BA0..0BA2 ; disallowed # NA <reserved-0BA0>..<reserved-0BA2> -0BA3..0BA4 ; valid # 1.1 TAMIL LETTER NNA..TAMIL LETTER TA -0BA5..0BA7 ; disallowed # NA <reserved-0BA5>..<reserved-0BA7> -0BA8..0BAA ; valid # 1.1 TAMIL LETTER NA..TAMIL LETTER PA -0BAB..0BAD ; disallowed # NA <reserved-0BAB>..<reserved-0BAD> -0BAE..0BB5 ; valid # 1.1 TAMIL LETTER MA..TAMIL LETTER VA -0BB6 ; valid # 4.1 TAMIL LETTER SHA -0BB7..0BB9 ; valid # 1.1 TAMIL LETTER SSA..TAMIL LETTER HA -0BBA..0BBD ; disallowed # NA <reserved-0BBA>..<reserved-0BBD> -0BBE..0BC2 ; valid # 1.1 TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN UU -0BC3..0BC5 ; disallowed # NA <reserved-0BC3>..<reserved-0BC5> -0BC6..0BC8 ; valid # 1.1 TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI -0BC9 ; disallowed # NA <reserved-0BC9> -0BCA..0BCD ; valid # 1.1 TAMIL VOWEL SIGN O..TAMIL SIGN VIRAMA -0BCE..0BCF ; disallowed # NA <reserved-0BCE>..<reserved-0BCF> -0BD0 ; valid # 5.1 TAMIL OM -0BD1..0BD6 ; disallowed # NA <reserved-0BD1>..<reserved-0BD6> -0BD7 ; valid # 1.1 TAMIL AU LENGTH MARK -0BD8..0BE5 ; disallowed # NA <reserved-0BD8>..<reserved-0BE5> -0BE6 ; valid # 4.1 TAMIL DIGIT ZERO -0BE7..0BEF ; valid # 1.1 TAMIL DIGIT ONE..TAMIL DIGIT NINE -0BF0..0BF2 ; valid ; ; NV8 # 1.1 TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND -0BF3..0BFA ; valid ; ; NV8 # 4.0 TAMIL DAY SIGN..TAMIL NUMBER SIGN -0BFB..0BFF ; disallowed # NA <reserved-0BFB>..<reserved-0BFF> -0C00 ; valid # 7.0 TELUGU SIGN COMBINING CANDRABINDU ABOVE -0C01..0C03 ; valid # 1.1 TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA -0C04 ; disallowed # NA <reserved-0C04> -0C05..0C0C ; valid # 1.1 TELUGU LETTER A..TELUGU LETTER VOCALIC L -0C0D ; disallowed # NA <reserved-0C0D> -0C0E..0C10 ; valid # 1.1 TELUGU LETTER E..TELUGU LETTER AI -0C11 ; disallowed # NA <reserved-0C11> -0C12..0C28 ; valid # 1.1 TELUGU LETTER O..TELUGU LETTER NA -0C29 ; disallowed # NA <reserved-0C29> -0C2A..0C33 ; valid # 1.1 TELUGU LETTER PA..TELUGU LETTER LLA -0C34 ; valid # 7.0 TELUGU LETTER LLLA -0C35..0C39 ; valid # 1.1 TELUGU LETTER VA..TELUGU LETTER HA -0C3A..0C3C ; disallowed # NA <reserved-0C3A>..<reserved-0C3C> -0C3D ; valid # 5.1 TELUGU SIGN AVAGRAHA -0C3E..0C44 ; valid # 1.1 TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN VOCALIC RR -0C45 ; disallowed # NA <reserved-0C45> -0C46..0C48 ; valid # 1.1 TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI -0C49 ; disallowed # NA <reserved-0C49> -0C4A..0C4D ; valid # 1.1 TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA -0C4E..0C54 ; disallowed # NA <reserved-0C4E>..<reserved-0C54> -0C55..0C56 ; valid # 1.1 TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C57 ; disallowed # NA <reserved-0C57> -0C58..0C59 ; valid # 5.1 TELUGU LETTER TSA..TELUGU LETTER DZA -0C5A ; valid # 8.0 TELUGU LETTER RRRA -0C5B..0C5F ; disallowed # NA <reserved-0C5B>..<reserved-0C5F> -0C60..0C61 ; valid # 1.1 TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL -0C62..0C63 ; valid # 5.1 TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL -0C64..0C65 ; disallowed # NA <reserved-0C64>..<reserved-0C65> -0C66..0C6F ; valid # 1.1 TELUGU DIGIT ZERO..TELUGU DIGIT NINE -0C70..0C77 ; disallowed # NA <reserved-0C70>..<reserved-0C77> -0C78..0C7F ; valid ; ; NV8 # 5.1 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU SIGN TUUMU -0C80 ; valid # 9.0 KANNADA SIGN SPACING CANDRABINDU -0C81 ; valid # 7.0 KANNADA SIGN CANDRABINDU -0C82..0C83 ; valid # 1.1 KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA -0C84 ; disallowed # NA <reserved-0C84> -0C85..0C8C ; valid # 1.1 KANNADA LETTER A..KANNADA LETTER VOCALIC L -0C8D ; disallowed # NA <reserved-0C8D> -0C8E..0C90 ; valid # 1.1 KANNADA LETTER E..KANNADA LETTER AI -0C91 ; disallowed # NA <reserved-0C91> -0C92..0CA8 ; valid # 1.1 KANNADA LETTER O..KANNADA LETTER NA -0CA9 ; disallowed # NA <reserved-0CA9> -0CAA..0CB3 ; valid # 1.1 KANNADA LETTER PA..KANNADA LETTER LLA -0CB4 ; disallowed # NA <reserved-0CB4> -0CB5..0CB9 ; valid # 1.1 KANNADA LETTER VA..KANNADA LETTER HA -0CBA..0CBB ; disallowed # NA <reserved-0CBA>..<reserved-0CBB> -0CBC..0CBD ; valid # 4.0 KANNADA SIGN NUKTA..KANNADA SIGN AVAGRAHA -0CBE..0CC4 ; valid # 1.1 KANNADA VOWEL SIGN AA..KANNADA VOWEL SIGN VOCALIC RR -0CC5 ; disallowed # NA <reserved-0CC5> -0CC6..0CC8 ; valid # 1.1 KANNADA VOWEL SIGN E..KANNADA VOWEL SIGN AI -0CC9 ; disallowed # NA <reserved-0CC9> -0CCA..0CCD ; valid # 1.1 KANNADA VOWEL SIGN O..KANNADA SIGN VIRAMA -0CCE..0CD4 ; disallowed # NA <reserved-0CCE>..<reserved-0CD4> -0CD5..0CD6 ; valid # 1.1 KANNADA LENGTH MARK..KANNADA AI LENGTH MARK -0CD7..0CDD ; disallowed # NA <reserved-0CD7>..<reserved-0CDD> -0CDE ; valid # 1.1 KANNADA LETTER FA -0CDF ; disallowed # NA <reserved-0CDF> -0CE0..0CE1 ; valid # 1.1 KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL -0CE2..0CE3 ; valid # 5.0 KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL -0CE4..0CE5 ; disallowed # NA <reserved-0CE4>..<reserved-0CE5> -0CE6..0CEF ; valid # 1.1 KANNADA DIGIT ZERO..KANNADA DIGIT NINE -0CF0 ; disallowed # NA <reserved-0CF0> -0CF1..0CF2 ; valid # 5.0 KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA -0CF3..0D00 ; disallowed # NA <reserved-0CF3>..<reserved-0D00> -0D01 ; valid # 7.0 MALAYALAM SIGN CANDRABINDU -0D02..0D03 ; valid # 1.1 MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA -0D04 ; disallowed # NA <reserved-0D04> -0D05..0D0C ; valid # 1.1 MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L -0D0D ; disallowed # NA <reserved-0D0D> -0D0E..0D10 ; valid # 1.1 MALAYALAM LETTER E..MALAYALAM LETTER AI -0D11 ; disallowed # NA <reserved-0D11> -0D12..0D28 ; valid # 1.1 MALAYALAM LETTER O..MALAYALAM LETTER NA -0D29 ; valid # 6.0 MALAYALAM LETTER NNNA -0D2A..0D39 ; valid # 1.1 MALAYALAM LETTER PA..MALAYALAM LETTER HA -0D3A ; valid # 6.0 MALAYALAM LETTER TTTA -0D3B..0D3C ; disallowed # NA <reserved-0D3B>..<reserved-0D3C> -0D3D ; valid # 5.1 MALAYALAM SIGN AVAGRAHA -0D3E..0D43 ; valid # 1.1 MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN VOCALIC R -0D44 ; valid # 5.1 MALAYALAM VOWEL SIGN VOCALIC RR -0D45 ; disallowed # NA <reserved-0D45> -0D46..0D48 ; valid # 1.1 MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI -0D49 ; disallowed # NA <reserved-0D49> -0D4A..0D4D ; valid # 1.1 MALAYALAM VOWEL SIGN O..MALAYALAM SIGN VIRAMA -0D4E ; valid # 6.0 MALAYALAM LETTER DOT REPH -0D4F ; valid ; ; NV8 # 9.0 MALAYALAM SIGN PARA -0D50..0D53 ; disallowed # NA <reserved-0D50>..<reserved-0D53> -0D54..0D56 ; valid # 9.0 MALAYALAM LETTER CHILLU M..MALAYALAM LETTER CHILLU LLL -0D57 ; valid # 1.1 MALAYALAM AU LENGTH MARK -0D58..0D5E ; valid ; ; NV8 # 9.0 MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH..MALAYALAM FRACTION ONE FIFTH -0D5F ; valid # 8.0 MALAYALAM LETTER ARCHAIC II -0D60..0D61 ; valid # 1.1 MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL -0D62..0D63 ; valid # 5.1 MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL -0D64..0D65 ; disallowed # NA <reserved-0D64>..<reserved-0D65> -0D66..0D6F ; valid # 1.1 MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE -0D70..0D75 ; valid ; ; NV8 # 5.1 MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS -0D76..0D78 ; valid ; ; NV8 # 9.0 MALAYALAM FRACTION ONE SIXTEENTH..MALAYALAM FRACTION THREE SIXTEENTHS -0D79 ; valid ; ; NV8 # 5.1 MALAYALAM DATE MARK -0D7A..0D7F ; valid # 5.1 MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K -0D80..0D81 ; disallowed # NA <reserved-0D80>..<reserved-0D81> -0D82..0D83 ; valid # 3.0 SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA -0D84 ; disallowed # NA <reserved-0D84> -0D85..0D96 ; valid # 3.0 SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA -0D97..0D99 ; disallowed # NA <reserved-0D97>..<reserved-0D99> -0D9A..0DB1 ; valid # 3.0 SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA -0DB2 ; disallowed # NA <reserved-0DB2> -0DB3..0DBB ; valid # 3.0 SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA -0DBC ; disallowed # NA <reserved-0DBC> -0DBD ; valid # 3.0 SINHALA LETTER DANTAJA LAYANNA -0DBE..0DBF ; disallowed # NA <reserved-0DBE>..<reserved-0DBF> -0DC0..0DC6 ; valid # 3.0 SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA -0DC7..0DC9 ; disallowed # NA <reserved-0DC7>..<reserved-0DC9> -0DCA ; valid # 3.0 SINHALA SIGN AL-LAKUNA -0DCB..0DCE ; disallowed # NA <reserved-0DCB>..<reserved-0DCE> -0DCF..0DD4 ; valid # 3.0 SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA -0DD5 ; disallowed # NA <reserved-0DD5> -0DD6 ; valid # 3.0 SINHALA VOWEL SIGN DIGA PAA-PILLA -0DD7 ; disallowed # NA <reserved-0DD7> -0DD8..0DDF ; valid # 3.0 SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA -0DE0..0DE5 ; disallowed # NA <reserved-0DE0>..<reserved-0DE5> -0DE6..0DEF ; valid # 7.0 SINHALA LITH DIGIT ZERO..SINHALA LITH DIGIT NINE -0DF0..0DF1 ; disallowed # NA <reserved-0DF0>..<reserved-0DF1> -0DF2..0DF3 ; valid # 3.0 SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA -0DF4 ; valid ; ; NV8 # 3.0 SINHALA PUNCTUATION KUNDDALIYA -0DF5..0E00 ; disallowed # NA <reserved-0DF5>..<reserved-0E00> -0E01..0E32 ; valid # 1.1 THAI CHARACTER KO KAI..THAI CHARACTER SARA AA -0E33 ; mapped ; 0E4D 0E32 # 1.1 THAI CHARACTER SARA AM -0E34..0E3A ; valid # 1.1 THAI CHARACTER SARA I..THAI CHARACTER PHINTHU -0E3B..0E3E ; disallowed # NA <reserved-0E3B>..<reserved-0E3E> -0E3F ; valid ; ; NV8 # 1.1 THAI CURRENCY SYMBOL BAHT -0E40..0E4E ; valid # 1.1 THAI CHARACTER SARA E..THAI CHARACTER YAMAKKAN -0E4F ; valid ; ; NV8 # 1.1 THAI CHARACTER FONGMAN -0E50..0E59 ; valid # 1.1 THAI DIGIT ZERO..THAI DIGIT NINE -0E5A..0E5B ; valid ; ; NV8 # 1.1 THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT -0E5C..0E80 ; disallowed # NA <reserved-0E5C>..<reserved-0E80> -0E81..0E82 ; valid # 1.1 LAO LETTER KO..LAO LETTER KHO SUNG -0E83 ; disallowed # NA <reserved-0E83> -0E84 ; valid # 1.1 LAO LETTER KHO TAM -0E85..0E86 ; disallowed # NA <reserved-0E85>..<reserved-0E86> -0E87..0E88 ; valid # 1.1 LAO LETTER NGO..LAO LETTER CO -0E89 ; disallowed # NA <reserved-0E89> -0E8A ; valid # 1.1 LAO LETTER SO TAM -0E8B..0E8C ; disallowed # NA <reserved-0E8B>..<reserved-0E8C> -0E8D ; valid # 1.1 LAO LETTER NYO -0E8E..0E93 ; disallowed # NA <reserved-0E8E>..<reserved-0E93> -0E94..0E97 ; valid # 1.1 LAO LETTER DO..LAO LETTER THO TAM -0E98 ; disallowed # NA <reserved-0E98> -0E99..0E9F ; valid # 1.1 LAO LETTER NO..LAO LETTER FO SUNG -0EA0 ; disallowed # NA <reserved-0EA0> -0EA1..0EA3 ; valid # 1.1 LAO LETTER MO..LAO LETTER LO LING -0EA4 ; disallowed # NA <reserved-0EA4> -0EA5 ; valid # 1.1 LAO LETTER LO LOOT -0EA6 ; disallowed # NA <reserved-0EA6> -0EA7 ; valid # 1.1 LAO LETTER WO -0EA8..0EA9 ; disallowed # NA <reserved-0EA8>..<reserved-0EA9> -0EAA..0EAB ; valid # 1.1 LAO LETTER SO SUNG..LAO LETTER HO SUNG -0EAC ; disallowed # NA <reserved-0EAC> -0EAD..0EB2 ; valid # 1.1 LAO LETTER O..LAO VOWEL SIGN AA -0EB3 ; mapped ; 0ECD 0EB2 # 1.1 LAO VOWEL SIGN AM -0EB4..0EB9 ; valid # 1.1 LAO VOWEL SIGN I..LAO VOWEL SIGN UU -0EBA ; disallowed # NA <reserved-0EBA> -0EBB..0EBD ; valid # 1.1 LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN NYO -0EBE..0EBF ; disallowed # NA <reserved-0EBE>..<reserved-0EBF> -0EC0..0EC4 ; valid # 1.1 LAO VOWEL SIGN E..LAO VOWEL SIGN AI -0EC5 ; disallowed # NA <reserved-0EC5> -0EC6 ; valid # 1.1 LAO KO LA -0EC7 ; disallowed # NA <reserved-0EC7> -0EC8..0ECD ; valid # 1.1 LAO TONE MAI EK..LAO NIGGAHITA -0ECE..0ECF ; disallowed # NA <reserved-0ECE>..<reserved-0ECF> -0ED0..0ED9 ; valid # 1.1 LAO DIGIT ZERO..LAO DIGIT NINE -0EDA..0EDB ; disallowed # NA <reserved-0EDA>..<reserved-0EDB> -0EDC ; mapped ; 0EAB 0E99 # 1.1 LAO HO NO -0EDD ; mapped ; 0EAB 0EA1 # 1.1 LAO HO MO -0EDE..0EDF ; valid # 6.1 LAO LETTER KHMU GO..LAO LETTER KHMU NYO -0EE0..0EFF ; disallowed # NA <reserved-0EE0>..<reserved-0EFF> -0F00 ; valid # 2.0 TIBETAN SYLLABLE OM -0F01..0F0A ; valid ; ; NV8 # 2.0 TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK BKA- SHOG YIG MGO -0F0B ; valid # 2.0 TIBETAN MARK INTERSYLLABIC TSHEG -0F0C ; mapped ; 0F0B # 2.0 TIBETAN MARK DELIMITER TSHEG BSTAR -0F0D..0F17 ; valid ; ; NV8 # 2.0 TIBETAN MARK SHAD..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS -0F18..0F19 ; valid # 2.0 TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS -0F1A..0F1F ; valid ; ; NV8 # 2.0 TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG -0F20..0F29 ; valid # 2.0 TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE -0F2A..0F34 ; valid ; ; NV8 # 2.0 TIBETAN DIGIT HALF ONE..TIBETAN MARK BSDUS RTAGS -0F35 ; valid # 2.0 TIBETAN MARK NGAS BZUNG NYI ZLA -0F36 ; valid ; ; NV8 # 2.0 TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN -0F37 ; valid # 2.0 TIBETAN MARK NGAS BZUNG SGOR RTAGS -0F38 ; valid ; ; NV8 # 2.0 TIBETAN MARK CHE MGO -0F39 ; valid # 2.0 TIBETAN MARK TSA -PHRU -0F3A..0F3D ; valid ; ; NV8 # 2.0 TIBETAN MARK GUG RTAGS GYON..TIBETAN MARK ANG KHANG GYAS -0F3E..0F42 ; valid # 2.0 TIBETAN SIGN YAR TSHES..TIBETAN LETTER GA -0F43 ; mapped ; 0F42 0FB7 # 2.0 TIBETAN LETTER GHA -0F44..0F47 ; valid # 2.0 TIBETAN LETTER NGA..TIBETAN LETTER JA -0F48 ; disallowed # NA <reserved-0F48> -0F49..0F4C ; valid # 2.0 TIBETAN LETTER NYA..TIBETAN LETTER DDA -0F4D ; mapped ; 0F4C 0FB7 # 2.0 TIBETAN LETTER DDHA -0F4E..0F51 ; valid # 2.0 TIBETAN LETTER NNA..TIBETAN LETTER DA -0F52 ; mapped ; 0F51 0FB7 # 2.0 TIBETAN LETTER DHA -0F53..0F56 ; valid # 2.0 TIBETAN LETTER NA..TIBETAN LETTER BA -0F57 ; mapped ; 0F56 0FB7 # 2.0 TIBETAN LETTER BHA -0F58..0F5B ; valid # 2.0 TIBETAN LETTER MA..TIBETAN LETTER DZA -0F5C ; mapped ; 0F5B 0FB7 # 2.0 TIBETAN LETTER DZHA -0F5D..0F68 ; valid # 2.0 TIBETAN LETTER WA..TIBETAN LETTER A -0F69 ; mapped ; 0F40 0FB5 # 2.0 TIBETAN LETTER KSSA -0F6A ; valid # 3.0 TIBETAN LETTER FIXED-FORM RA -0F6B..0F6C ; valid # 5.1 TIBETAN LETTER KKA..TIBETAN LETTER RRA -0F6D..0F70 ; disallowed # NA <reserved-0F6D>..<reserved-0F70> -0F71..0F72 ; valid # 2.0 TIBETAN VOWEL SIGN AA..TIBETAN VOWEL SIGN I -0F73 ; mapped ; 0F71 0F72 # 2.0 TIBETAN VOWEL SIGN II -0F74 ; valid # 2.0 TIBETAN VOWEL SIGN U -0F75 ; mapped ; 0F71 0F74 # 2.0 TIBETAN VOWEL SIGN UU -0F76 ; mapped ; 0FB2 0F80 # 2.0 TIBETAN VOWEL SIGN VOCALIC R -0F77 ; mapped ; 0FB2 0F71 0F80 #2.0 TIBETAN VOWEL SIGN VOCALIC RR -0F78 ; mapped ; 0FB3 0F80 # 2.0 TIBETAN VOWEL SIGN VOCALIC L -0F79 ; mapped ; 0FB3 0F71 0F80 #2.0 TIBETAN VOWEL SIGN VOCALIC LL -0F7A..0F80 ; valid # 2.0 TIBETAN VOWEL SIGN E..TIBETAN VOWEL SIGN REVERSED I -0F81 ; mapped ; 0F71 0F80 # 2.0 TIBETAN VOWEL SIGN REVERSED II -0F82..0F84 ; valid # 2.0 TIBETAN SIGN NYI ZLA NAA DA..TIBETAN MARK HALANTA -0F85 ; valid ; ; NV8 # 2.0 TIBETAN MARK PALUTA -0F86..0F8B ; valid # 2.0 TIBETAN SIGN LCI RTAGS..TIBETAN SIGN GRU MED RGYINGS -0F8C..0F8F ; valid # 6.0 TIBETAN SIGN INVERTED MCHU CAN..TIBETAN SUBJOINED SIGN INVERTED MCHU CAN -0F90..0F92 ; valid # 2.0 TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER GA -0F93 ; mapped ; 0F92 0FB7 # 2.0 TIBETAN SUBJOINED LETTER GHA -0F94..0F95 ; valid # 2.0 TIBETAN SUBJOINED LETTER NGA..TIBETAN SUBJOINED LETTER CA -0F96 ; valid # 3.0 TIBETAN SUBJOINED LETTER CHA -0F97 ; valid # 2.0 TIBETAN SUBJOINED LETTER JA -0F98 ; disallowed # NA <reserved-0F98> -0F99..0F9C ; valid # 2.0 TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER DDA -0F9D ; mapped ; 0F9C 0FB7 # 2.0 TIBETAN SUBJOINED LETTER DDHA -0F9E..0FA1 ; valid # 2.0 TIBETAN SUBJOINED LETTER NNA..TIBETAN SUBJOINED LETTER DA -0FA2 ; mapped ; 0FA1 0FB7 # 2.0 TIBETAN SUBJOINED LETTER DHA -0FA3..0FA6 ; valid # 2.0 TIBETAN SUBJOINED LETTER NA..TIBETAN SUBJOINED LETTER BA -0FA7 ; mapped ; 0FA6 0FB7 # 2.0 TIBETAN SUBJOINED LETTER BHA -0FA8..0FAB ; valid # 2.0 TIBETAN SUBJOINED LETTER MA..TIBETAN SUBJOINED LETTER DZA -0FAC ; mapped ; 0FAB 0FB7 # 2.0 TIBETAN SUBJOINED LETTER DZHA -0FAD ; valid # 2.0 TIBETAN SUBJOINED LETTER WA -0FAE..0FB0 ; valid # 3.0 TIBETAN SUBJOINED LETTER ZHA..TIBETAN SUBJOINED LETTER -A -0FB1..0FB7 ; valid # 2.0 TIBETAN SUBJOINED LETTER YA..TIBETAN SUBJOINED LETTER HA -0FB8 ; valid # 3.0 TIBETAN SUBJOINED LETTER A -0FB9 ; mapped ; 0F90 0FB5 # 2.0 TIBETAN SUBJOINED LETTER KSSA -0FBA..0FBC ; valid # 3.0 TIBETAN SUBJOINED LETTER FIXED-FORM WA..TIBETAN SUBJOINED LETTER FIXED-FORM RA -0FBD ; disallowed # NA <reserved-0FBD> -0FBE..0FC5 ; valid ; ; NV8 # 3.0 TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE -0FC6 ; valid # 3.0 TIBETAN SYMBOL PADMA GDAN -0FC7..0FCC ; valid ; ; NV8 # 3.0 TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL -0FCD ; disallowed # NA <reserved-0FCD> -0FCE ; valid ; ; NV8 # 5.1 TIBETAN SIGN RDEL NAG RDEL DKAR -0FCF ; valid ; ; NV8 # 3.0 TIBETAN SIGN RDEL NAG GSUM -0FD0..0FD1 ; valid ; ; NV8 # 4.1 TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK MNYAM YIG GI MGO RGYAN -0FD2..0FD4 ; valid ; ; NV8 # 5.1 TIBETAN MARK NYIS TSHEG..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA -0FD5..0FD8 ; valid ; ; NV8 # 5.2 RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS -0FD9..0FDA ; valid ; ; NV8 # 6.0 TIBETAN MARK LEADING MCHAN RTAGS..TIBETAN MARK TRAILING MCHAN RTAGS -0FDB..0FFF ; disallowed # NA <reserved-0FDB>..<reserved-0FFF> -1000..1021 ; valid # 3.0 MYANMAR LETTER KA..MYANMAR LETTER A -1022 ; valid # 5.1 MYANMAR LETTER SHAN A -1023..1027 ; valid # 3.0 MYANMAR LETTER I..MYANMAR LETTER E -1028 ; valid # 5.1 MYANMAR LETTER MON E -1029..102A ; valid # 3.0 MYANMAR LETTER O..MYANMAR LETTER AU -102B ; valid # 5.1 MYANMAR VOWEL SIGN TALL AA -102C..1032 ; valid # 3.0 MYANMAR VOWEL SIGN AA..MYANMAR VOWEL SIGN AI -1033..1035 ; valid # 5.1 MYANMAR VOWEL SIGN MON II..MYANMAR VOWEL SIGN E ABOVE -1036..1039 ; valid # 3.0 MYANMAR SIGN ANUSVARA..MYANMAR SIGN VIRAMA -103A..103F ; valid # 5.1 MYANMAR SIGN ASAT..MYANMAR LETTER GREAT SA -1040..1049 ; valid # 3.0 MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE -104A..104F ; valid ; ; NV8 # 3.0 MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE -1050..1059 ; valid # 3.0 MYANMAR LETTER SHA..MYANMAR VOWEL SIGN VOCALIC LL -105A..1099 ; valid # 5.1 MYANMAR LETTER MON NGA..MYANMAR SHAN DIGIT NINE -109A..109D ; valid # 5.2 MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON AI -109E..109F ; valid ; ; NV8 # 5.1 MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION -10A0..10C5 ; disallowed # 1.1 GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE -10C6 ; disallowed # NA <reserved-10C6> -10C7 ; mapped ; 2D27 # 6.1 GEORGIAN CAPITAL LETTER YN -10C8..10CC ; disallowed # NA <reserved-10C8>..<reserved-10CC> -10CD ; mapped ; 2D2D # 6.1 GEORGIAN CAPITAL LETTER AEN -10CE..10CF ; disallowed # NA <reserved-10CE>..<reserved-10CF> -10D0..10F6 ; valid # 1.1 GEORGIAN LETTER AN..GEORGIAN LETTER FI -10F7..10F8 ; valid # 3.2 GEORGIAN LETTER YN..GEORGIAN LETTER ELIFI -10F9..10FA ; valid # 4.1 GEORGIAN LETTER TURNED GAN..GEORGIAN LETTER AIN -10FB ; valid ; ; NV8 # 1.1 GEORGIAN PARAGRAPH SEPARATOR -10FC ; mapped ; 10DC # 4.1 MODIFIER LETTER GEORGIAN NAR -10FD..10FF ; valid # 6.1 GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN -1100..1159 ; valid ; ; NV8 # 1.1 HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG YEORINHIEUH -115A..115E ; valid ; ; NV8 # 5.2 HANGUL CHOSEONG KIYEOK-TIKEUT..HANGUL CHOSEONG TIKEUT-RIEUL -115F..1160 ; disallowed # 1.1 HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER -1161..11A2 ; valid ; ; NV8 # 1.1 HANGUL JUNGSEONG A..HANGUL JUNGSEONG SSANGARAEA -11A3..11A7 ; valid ; ; NV8 # 5.2 HANGUL JUNGSEONG A-EU..HANGUL JUNGSEONG O-YAE -11A8..11F9 ; valid ; ; NV8 # 1.1 HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG YEORINHIEUH -11FA..11FF ; valid ; ; NV8 # 5.2 HANGUL JONGSEONG KIYEOK-NIEUN..HANGUL JONGSEONG SSANGNIEUN -1200..1206 ; valid # 3.0 ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE HO -1207 ; valid # 4.1 ETHIOPIC SYLLABLE HOA -1208..1246 ; valid # 3.0 ETHIOPIC SYLLABLE LA..ETHIOPIC SYLLABLE QO -1247 ; valid # 4.1 ETHIOPIC SYLLABLE QOA -1248 ; valid # 3.0 ETHIOPIC SYLLABLE QWA -1249 ; disallowed # NA <reserved-1249> -124A..124D ; valid # 3.0 ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE -124E..124F ; disallowed # NA <reserved-124E>..<reserved-124F> -1250..1256 ; valid # 3.0 ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO -1257 ; disallowed # NA <reserved-1257> -1258 ; valid # 3.0 ETHIOPIC SYLLABLE QHWA -1259 ; disallowed # NA <reserved-1259> -125A..125D ; valid # 3.0 ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE -125E..125F ; disallowed # NA <reserved-125E>..<reserved-125F> -1260..1286 ; valid # 3.0 ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XO -1287 ; valid # 4.1 ETHIOPIC SYLLABLE XOA -1288 ; valid # 3.0 ETHIOPIC SYLLABLE XWA -1289 ; disallowed # NA <reserved-1289> -128A..128D ; valid # 3.0 ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE -128E..128F ; disallowed # NA <reserved-128E>..<reserved-128F> -1290..12AE ; valid # 3.0 ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KO -12AF ; valid # 4.1 ETHIOPIC SYLLABLE KOA -12B0 ; valid # 3.0 ETHIOPIC SYLLABLE KWA -12B1 ; disallowed # NA <reserved-12B1> -12B2..12B5 ; valid # 3.0 ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE -12B6..12B7 ; disallowed # NA <reserved-12B6>..<reserved-12B7> -12B8..12BE ; valid # 3.0 ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO -12BF ; disallowed # NA <reserved-12BF> -12C0 ; valid # 3.0 ETHIOPIC SYLLABLE KXWA -12C1 ; disallowed # NA <reserved-12C1> -12C2..12C5 ; valid # 3.0 ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE -12C6..12C7 ; disallowed # NA <reserved-12C6>..<reserved-12C7> -12C8..12CE ; valid # 3.0 ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE WO -12CF ; valid # 4.1 ETHIOPIC SYLLABLE WOA -12D0..12D6 ; valid # 3.0 ETHIOPIC SYLLABLE PHARYNGEAL A..ETHIOPIC SYLLABLE PHARYNGEAL O -12D7 ; disallowed # NA <reserved-12D7> -12D8..12EE ; valid # 3.0 ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE YO -12EF ; valid # 4.1 ETHIOPIC SYLLABLE YOA -12F0..130E ; valid # 3.0 ETHIOPIC SYLLABLE DA..ETHIOPIC SYLLABLE GO -130F ; valid # 4.1 ETHIOPIC SYLLABLE GOA -1310 ; valid # 3.0 ETHIOPIC SYLLABLE GWA -1311 ; disallowed # NA <reserved-1311> -1312..1315 ; valid # 3.0 ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE -1316..1317 ; disallowed # NA <reserved-1316>..<reserved-1317> -1318..131E ; valid # 3.0 ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE GGO -131F ; valid # 4.1 ETHIOPIC SYLLABLE GGWAA -1320..1346 ; valid # 3.0 ETHIOPIC SYLLABLE THA..ETHIOPIC SYLLABLE TZO -1347 ; valid # 4.1 ETHIOPIC SYLLABLE TZOA -1348..135A ; valid # 3.0 ETHIOPIC SYLLABLE FA..ETHIOPIC SYLLABLE FYA -135B..135C ; disallowed # NA <reserved-135B>..<reserved-135C> -135D..135E ; valid # 6.0 ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING VOWEL LENGTH MARK -135F ; valid # 4.1 ETHIOPIC COMBINING GEMINATION MARK -1360 ; valid ; ; NV8 # 4.1 ETHIOPIC SECTION MARK -1361..137C ; valid ; ; NV8 # 3.0 ETHIOPIC WORDSPACE..ETHIOPIC NUMBER TEN THOUSAND -137D..137F ; disallowed # NA <reserved-137D>..<reserved-137F> -1380..138F ; valid # 4.1 ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -1390..1399 ; valid ; ; NV8 # 4.1 ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -139A..139F ; disallowed # NA <reserved-139A>..<reserved-139F> -13A0..13F4 ; valid # 3.0 CHEROKEE LETTER A..CHEROKEE LETTER YV -13F5 ; valid # 8.0 CHEROKEE LETTER MV -13F6..13F7 ; disallowed # NA <reserved-13F6>..<reserved-13F7> -13F8 ; mapped ; 13F0 # 8.0 CHEROKEE SMALL LETTER YE -13F9 ; mapped ; 13F1 # 8.0 CHEROKEE SMALL LETTER YI -13FA ; mapped ; 13F2 # 8.0 CHEROKEE SMALL LETTER YO -13FB ; mapped ; 13F3 # 8.0 CHEROKEE SMALL LETTER YU -13FC ; mapped ; 13F4 # 8.0 CHEROKEE SMALL LETTER YV -13FD ; mapped ; 13F5 # 8.0 CHEROKEE SMALL LETTER MV -13FE..13FF ; disallowed # NA <reserved-13FE>..<reserved-13FF> -1400 ; valid ; ; NV8 # 5.2 CANADIAN SYLLABICS HYPHEN -1401..166C ; valid # 3.0 CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA -166D..166E ; valid ; ; NV8 # 3.0 CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP -166F..1676 ; valid # 3.0 CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS NNGAA -1677..167F ; valid # 5.2 CANADIAN SYLLABICS WOODS-CREE THWEE..CANADIAN SYLLABICS BLACKFOOT W -1680 ; disallowed # 3.0 OGHAM SPACE MARK -1681..169A ; valid # 3.0 OGHAM LETTER BEITH..OGHAM LETTER PEITH -169B..169C ; valid ; ; NV8 # 3.0 OGHAM FEATHER MARK..OGHAM REVERSED FEATHER MARK -169D..169F ; disallowed # NA <reserved-169D>..<reserved-169F> -16A0..16EA ; valid # 3.0 RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X -16EB..16F0 ; valid ; ; NV8 # 3.0 RUNIC SINGLE PUNCTUATION..RUNIC BELGTHOR SYMBOL -16F1..16F8 ; valid # 7.0 RUNIC LETTER K..RUNIC LETTER FRANKS CASKET AESC -16F9..16FF ; disallowed # NA <reserved-16F9>..<reserved-16FF> -1700..170C ; valid # 3.2 TAGALOG LETTER A..TAGALOG LETTER YA -170D ; disallowed # NA <reserved-170D> -170E..1714 ; valid # 3.2 TAGALOG LETTER LA..TAGALOG SIGN VIRAMA -1715..171F ; disallowed # NA <reserved-1715>..<reserved-171F> -1720..1734 ; valid # 3.2 HANUNOO LETTER A..HANUNOO SIGN PAMUDPOD -1735..1736 ; valid ; ; NV8 # 3.2 PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION -1737..173F ; disallowed # NA <reserved-1737>..<reserved-173F> -1740..1753 ; valid # 3.2 BUHID LETTER A..BUHID VOWEL SIGN U -1754..175F ; disallowed # NA <reserved-1754>..<reserved-175F> -1760..176C ; valid # 3.2 TAGBANWA LETTER A..TAGBANWA LETTER YA -176D ; disallowed # NA <reserved-176D> -176E..1770 ; valid # 3.2 TAGBANWA LETTER LA..TAGBANWA LETTER SA -1771 ; disallowed # NA <reserved-1771> -1772..1773 ; valid # 3.2 TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U -1774..177F ; disallowed # NA <reserved-1774>..<reserved-177F> -1780..17B3 ; valid # 3.0 KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU -17B4..17B5 ; disallowed # 3.0 KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA -17B6..17D3 ; valid # 3.0 KHMER VOWEL SIGN AA..KHMER SIGN BATHAMASAT -17D4..17D6 ; valid ; ; NV8 # 3.0 KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH -17D7 ; valid # 3.0 KHMER SIGN LEK TOO -17D8..17DB ; valid ; ; NV8 # 3.0 KHMER SIGN BEYYAL..KHMER CURRENCY SYMBOL RIEL -17DC ; valid # 3.0 KHMER SIGN AVAKRAHASANYA -17DD ; valid # 4.0 KHMER SIGN ATTHACAN -17DE..17DF ; disallowed # NA <reserved-17DE>..<reserved-17DF> -17E0..17E9 ; valid # 3.0 KHMER DIGIT ZERO..KHMER DIGIT NINE -17EA..17EF ; disallowed # NA <reserved-17EA>..<reserved-17EF> -17F0..17F9 ; valid ; ; NV8 # 4.0 KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON -17FA..17FF ; disallowed # NA <reserved-17FA>..<reserved-17FF> -1800..1805 ; valid ; ; NV8 # 3.0 MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS -1806 ; disallowed # 3.0 MONGOLIAN TODO SOFT HYPHEN -1807..180A ; valid ; ; NV8 # 3.0 MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU -180B..180D ; ignored # 3.0 MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE -180E ; disallowed # 3.0 MONGOLIAN VOWEL SEPARATOR -180F ; disallowed # NA <reserved-180F> -1810..1819 ; valid # 3.0 MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE -181A..181F ; disallowed # NA <reserved-181A>..<reserved-181F> -1820..1877 ; valid # 3.0 MONGOLIAN LETTER A..MONGOLIAN LETTER MANCHU ZHA -1878..187F ; disallowed # NA <reserved-1878>..<reserved-187F> -1880..18A9 ; valid # 3.0 MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER ALI GALI DAGALGA -18AA ; valid # 5.1 MONGOLIAN LETTER MANCHU ALI GALI LHA -18AB..18AF ; disallowed # NA <reserved-18AB>..<reserved-18AF> -18B0..18F5 ; valid # 5.2 CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S -18F6..18FF ; disallowed # NA <reserved-18F6>..<reserved-18FF> -1900..191C ; valid # 4.0 LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA -191D..191E ; valid # 7.0 LIMBU LETTER GYAN..LIMBU LETTER TRA -191F ; disallowed # NA <reserved-191F> -1920..192B ; valid # 4.0 LIMBU VOWEL SIGN A..LIMBU SUBJOINED LETTER WA -192C..192F ; disallowed # NA <reserved-192C>..<reserved-192F> -1930..193B ; valid # 4.0 LIMBU SMALL LETTER KA..LIMBU SIGN SA-I -193C..193F ; disallowed # NA <reserved-193C>..<reserved-193F> -1940 ; valid ; ; NV8 # 4.0 LIMBU SIGN LOO -1941..1943 ; disallowed # NA <reserved-1941>..<reserved-1943> -1944..1945 ; valid ; ; NV8 # 4.0 LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK -1946..196D ; valid # 4.0 LIMBU DIGIT ZERO..TAI LE LETTER AI -196E..196F ; disallowed # NA <reserved-196E>..<reserved-196F> -1970..1974 ; valid # 4.0 TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 -1975..197F ; disallowed # NA <reserved-1975>..<reserved-197F> -1980..19A9 ; valid # 4.1 NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW XVA -19AA..19AB ; valid # 5.2 NEW TAI LUE LETTER HIGH SUA..NEW TAI LUE LETTER LOW SUA -19AC..19AF ; disallowed # NA <reserved-19AC>..<reserved-19AF> -19B0..19C9 ; valid # 4.1 NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 -19CA..19CF ; disallowed # NA <reserved-19CA>..<reserved-19CF> -19D0..19D9 ; valid # 4.1 NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE -19DA ; valid ; ; XV8 # 5.2 NEW TAI LUE THAM DIGIT ONE -19DB..19DD ; disallowed # NA <reserved-19DB>..<reserved-19DD> -19DE..19DF ; valid ; ; NV8 # 4.1 NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV -19E0..19FF ; valid ; ; NV8 # 4.0 KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC -1A00..1A1B ; valid # 4.1 BUGINESE LETTER KA..BUGINESE VOWEL SIGN AE -1A1C..1A1D ; disallowed # NA <reserved-1A1C>..<reserved-1A1D> -1A1E..1A1F ; valid ; ; NV8 # 4.1 BUGINESE PALLAWA..BUGINESE END OF SECTION -1A20..1A5E ; valid # 5.2 TAI THAM LETTER HIGH KA..TAI THAM CONSONANT SIGN SA -1A5F ; disallowed # NA <reserved-1A5F> -1A60..1A7C ; valid # 5.2 TAI THAM SIGN SAKOT..TAI THAM SIGN KHUEN-LUE KARAN -1A7D..1A7E ; disallowed # NA <reserved-1A7D>..<reserved-1A7E> -1A7F..1A89 ; valid # 5.2 TAI THAM COMBINING CRYPTOGRAMMIC DOT..TAI THAM HORA DIGIT NINE -1A8A..1A8F ; disallowed # NA <reserved-1A8A>..<reserved-1A8F> -1A90..1A99 ; valid # 5.2 TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE -1A9A..1A9F ; disallowed # NA <reserved-1A9A>..<reserved-1A9F> -1AA0..1AA6 ; valid ; ; NV8 # 5.2 TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA -1AA7 ; valid # 5.2 TAI THAM SIGN MAI YAMOK -1AA8..1AAD ; valid ; ; NV8 # 5.2 TAI THAM SIGN KAAN..TAI THAM SIGN CAANG -1AAE..1AAF ; disallowed # NA <reserved-1AAE>..<reserved-1AAF> -1AB0..1ABD ; valid # 7.0 COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW -1ABE ; valid ; ; NV8 # 7.0 COMBINING PARENTHESES OVERLAY -1ABF..1AFF ; disallowed # NA <reserved-1ABF>..<reserved-1AFF> -1B00..1B4B ; valid # 5.0 BALINESE SIGN ULU RICEM..BALINESE LETTER ASYURA SASAK -1B4C..1B4F ; disallowed # NA <reserved-1B4C>..<reserved-1B4F> -1B50..1B59 ; valid # 5.0 BALINESE DIGIT ZERO..BALINESE DIGIT NINE -1B5A..1B6A ; valid ; ; NV8 # 5.0 BALINESE PANTI..BALINESE MUSICAL SYMBOL DANG GEDE -1B6B..1B73 ; valid # 5.0 BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG -1B74..1B7C ; valid ; ; NV8 # 5.0 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING -1B7D..1B7F ; disallowed # NA <reserved-1B7D>..<reserved-1B7F> -1B80..1BAA ; valid # 5.1 SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PAMAAEH -1BAB..1BAD ; valid # 6.1 SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA -1BAE..1BB9 ; valid # 5.1 SUNDANESE LETTER KHA..SUNDANESE DIGIT NINE -1BBA..1BBF ; valid # 6.1 SUNDANESE AVAGRAHA..SUNDANESE LETTER FINAL M -1BC0..1BF3 ; valid # 6.0 BATAK LETTER A..BATAK PANONGONAN -1BF4..1BFB ; disallowed # NA <reserved-1BF4>..<reserved-1BFB> -1BFC..1BFF ; valid ; ; NV8 # 6.0 BATAK SYMBOL BINDU NA METEK..BATAK SYMBOL BINDU PANGOLAT -1C00..1C37 ; valid # 5.1 LEPCHA LETTER KA..LEPCHA SIGN NUKTA -1C38..1C3A ; disallowed # NA <reserved-1C38>..<reserved-1C3A> -1C3B..1C3F ; valid ; ; NV8 # 5.1 LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK -1C40..1C49 ; valid # 5.1 LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE -1C4A..1C4C ; disallowed # NA <reserved-1C4A>..<reserved-1C4C> -1C4D..1C7D ; valid # 5.1 LEPCHA LETTER TTA..OL CHIKI AHAD -1C7E..1C7F ; valid ; ; NV8 # 5.1 OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD -1C80 ; mapped ; 0432 # 9.0 CYRILLIC SMALL LETTER ROUNDED VE -1C81 ; mapped ; 0434 # 9.0 CYRILLIC SMALL LETTER LONG-LEGGED DE -1C82 ; mapped ; 043E # 9.0 CYRILLIC SMALL LETTER NARROW O -1C83 ; mapped ; 0441 # 9.0 CYRILLIC SMALL LETTER WIDE ES -1C84..1C85 ; mapped ; 0442 # 9.0 CYRILLIC SMALL LETTER TALL TE..CYRILLIC SMALL LETTER THREE-LEGGED TE -1C86 ; mapped ; 044A # 9.0 CYRILLIC SMALL LETTER TALL HARD SIGN -1C87 ; mapped ; 0463 # 9.0 CYRILLIC SMALL LETTER TALL YAT -1C88 ; mapped ; A64B # 9.0 CYRILLIC SMALL LETTER UNBLENDED UK -1C89..1CBF ; disallowed # NA <reserved-1C89>..<reserved-1CBF> -1CC0..1CC7 ; valid ; ; NV8 # 6.1 SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA -1CC8..1CCF ; disallowed # NA <reserved-1CC8>..<reserved-1CCF> -1CD0..1CD2 ; valid # 5.2 VEDIC TONE KARSHANA..VEDIC TONE PRENKHA -1CD3 ; valid ; ; NV8 # 5.2 VEDIC SIGN NIHSHVASA -1CD4..1CF2 ; valid # 5.2 VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC SIGN ARDHAVISARGA -1CF3..1CF6 ; valid # 6.1 VEDIC SIGN ROTATED ARDHAVISARGA..VEDIC SIGN UPADHMANIYA -1CF7 ; disallowed # NA <reserved-1CF7> -1CF8..1CF9 ; valid # 7.0 VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE -1CFA..1CFF ; disallowed # NA <reserved-1CFA>..<reserved-1CFF> -1D00..1D2B ; valid # 4.0 LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL -1D2C ; mapped ; 0061 # 4.0 MODIFIER LETTER CAPITAL A -1D2D ; mapped ; 00E6 # 4.0 MODIFIER LETTER CAPITAL AE -1D2E ; mapped ; 0062 # 4.0 MODIFIER LETTER CAPITAL B -1D2F ; valid # 4.0 MODIFIER LETTER CAPITAL BARRED B -1D30 ; mapped ; 0064 # 4.0 MODIFIER LETTER CAPITAL D -1D31 ; mapped ; 0065 # 4.0 MODIFIER LETTER CAPITAL E -1D32 ; mapped ; 01DD # 4.0 MODIFIER LETTER CAPITAL REVERSED E -1D33 ; mapped ; 0067 # 4.0 MODIFIER LETTER CAPITAL G -1D34 ; mapped ; 0068 # 4.0 MODIFIER LETTER CAPITAL H -1D35 ; mapped ; 0069 # 4.0 MODIFIER LETTER CAPITAL I -1D36 ; mapped ; 006A # 4.0 MODIFIER LETTER CAPITAL J -1D37 ; mapped ; 006B # 4.0 MODIFIER LETTER CAPITAL K -1D38 ; mapped ; 006C # 4.0 MODIFIER LETTER CAPITAL L -1D39 ; mapped ; 006D # 4.0 MODIFIER LETTER CAPITAL M -1D3A ; mapped ; 006E # 4.0 MODIFIER LETTER CAPITAL N -1D3B ; valid # 4.0 MODIFIER LETTER CAPITAL REVERSED N -1D3C ; mapped ; 006F # 4.0 MODIFIER LETTER CAPITAL O -1D3D ; mapped ; 0223 # 4.0 MODIFIER LETTER CAPITAL OU -1D3E ; mapped ; 0070 # 4.0 MODIFIER LETTER CAPITAL P -1D3F ; mapped ; 0072 # 4.0 MODIFIER LETTER CAPITAL R -1D40 ; mapped ; 0074 # 4.0 MODIFIER LETTER CAPITAL T -1D41 ; mapped ; 0075 # 4.0 MODIFIER LETTER CAPITAL U -1D42 ; mapped ; 0077 # 4.0 MODIFIER LETTER CAPITAL W -1D43 ; mapped ; 0061 # 4.0 MODIFIER LETTER SMALL A -1D44 ; mapped ; 0250 # 4.0 MODIFIER LETTER SMALL TURNED A -1D45 ; mapped ; 0251 # 4.0 MODIFIER LETTER SMALL ALPHA -1D46 ; mapped ; 1D02 # 4.0 MODIFIER LETTER SMALL TURNED AE -1D47 ; mapped ; 0062 # 4.0 MODIFIER LETTER SMALL B -1D48 ; mapped ; 0064 # 4.0 MODIFIER LETTER SMALL D -1D49 ; mapped ; 0065 # 4.0 MODIFIER LETTER SMALL E -1D4A ; mapped ; 0259 # 4.0 MODIFIER LETTER SMALL SCHWA -1D4B ; mapped ; 025B # 4.0 MODIFIER LETTER SMALL OPEN E -1D4C ; mapped ; 025C # 4.0 MODIFIER LETTER SMALL TURNED OPEN E -1D4D ; mapped ; 0067 # 4.0 MODIFIER LETTER SMALL G -1D4E ; valid # 4.0 MODIFIER LETTER SMALL TURNED I -1D4F ; mapped ; 006B # 4.0 MODIFIER LETTER SMALL K -1D50 ; mapped ; 006D # 4.0 MODIFIER LETTER SMALL M -1D51 ; mapped ; 014B # 4.0 MODIFIER LETTER SMALL ENG -1D52 ; mapped ; 006F # 4.0 MODIFIER LETTER SMALL O -1D53 ; mapped ; 0254 # 4.0 MODIFIER LETTER SMALL OPEN O -1D54 ; mapped ; 1D16 # 4.0 MODIFIER LETTER SMALL TOP HALF O -1D55 ; mapped ; 1D17 # 4.0 MODIFIER LETTER SMALL BOTTOM HALF O -1D56 ; mapped ; 0070 # 4.0 MODIFIER LETTER SMALL P -1D57 ; mapped ; 0074 # 4.0 MODIFIER LETTER SMALL T -1D58 ; mapped ; 0075 # 4.0 MODIFIER LETTER SMALL U -1D59 ; mapped ; 1D1D # 4.0 MODIFIER LETTER SMALL SIDEWAYS U -1D5A ; mapped ; 026F # 4.0 MODIFIER LETTER SMALL TURNED M -1D5B ; mapped ; 0076 # 4.0 MODIFIER LETTER SMALL V -1D5C ; mapped ; 1D25 # 4.0 MODIFIER LETTER SMALL AIN -1D5D ; mapped ; 03B2 # 4.0 MODIFIER LETTER SMALL BETA -1D5E ; mapped ; 03B3 # 4.0 MODIFIER LETTER SMALL GREEK GAMMA -1D5F ; mapped ; 03B4 # 4.0 MODIFIER LETTER SMALL DELTA -1D60 ; mapped ; 03C6 # 4.0 MODIFIER LETTER SMALL GREEK PHI -1D61 ; mapped ; 03C7 # 4.0 MODIFIER LETTER SMALL CHI -1D62 ; mapped ; 0069 # 4.0 LATIN SUBSCRIPT SMALL LETTER I -1D63 ; mapped ; 0072 # 4.0 LATIN SUBSCRIPT SMALL LETTER R -1D64 ; mapped ; 0075 # 4.0 LATIN SUBSCRIPT SMALL LETTER U -1D65 ; mapped ; 0076 # 4.0 LATIN SUBSCRIPT SMALL LETTER V -1D66 ; mapped ; 03B2 # 4.0 GREEK SUBSCRIPT SMALL LETTER BETA -1D67 ; mapped ; 03B3 # 4.0 GREEK SUBSCRIPT SMALL LETTER GAMMA -1D68 ; mapped ; 03C1 # 4.0 GREEK SUBSCRIPT SMALL LETTER RHO -1D69 ; mapped ; 03C6 # 4.0 GREEK SUBSCRIPT SMALL LETTER PHI -1D6A ; mapped ; 03C7 # 4.0 GREEK SUBSCRIPT SMALL LETTER CHI -1D6B ; valid # 4.0 LATIN SMALL LETTER UE -1D6C..1D77 ; valid # 4.1 LATIN SMALL LETTER B WITH MIDDLE TILDE..LATIN SMALL LETTER TURNED G -1D78 ; mapped ; 043D # 4.1 MODIFIER LETTER CYRILLIC EN -1D79..1D9A ; valid # 4.1 LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK -1D9B ; mapped ; 0252 # 4.1 MODIFIER LETTER SMALL TURNED ALPHA -1D9C ; mapped ; 0063 # 4.1 MODIFIER LETTER SMALL C -1D9D ; mapped ; 0255 # 4.1 MODIFIER LETTER SMALL C WITH CURL -1D9E ; mapped ; 00F0 # 4.1 MODIFIER LETTER SMALL ETH -1D9F ; mapped ; 025C # 4.1 MODIFIER LETTER SMALL REVERSED OPEN E -1DA0 ; mapped ; 0066 # 4.1 MODIFIER LETTER SMALL F -1DA1 ; mapped ; 025F # 4.1 MODIFIER LETTER SMALL DOTLESS J WITH STROKE -1DA2 ; mapped ; 0261 # 4.1 MODIFIER LETTER SMALL SCRIPT G -1DA3 ; mapped ; 0265 # 4.1 MODIFIER LETTER SMALL TURNED H -1DA4 ; mapped ; 0268 # 4.1 MODIFIER LETTER SMALL I WITH STROKE -1DA5 ; mapped ; 0269 # 4.1 MODIFIER LETTER SMALL IOTA -1DA6 ; mapped ; 026A # 4.1 MODIFIER LETTER SMALL CAPITAL I -1DA7 ; mapped ; 1D7B # 4.1 MODIFIER LETTER SMALL CAPITAL I WITH STROKE -1DA8 ; mapped ; 029D # 4.1 MODIFIER LETTER SMALL J WITH CROSSED-TAIL -1DA9 ; mapped ; 026D # 4.1 MODIFIER LETTER SMALL L WITH RETROFLEX HOOK -1DAA ; mapped ; 1D85 # 4.1 MODIFIER LETTER SMALL L WITH PALATAL HOOK -1DAB ; mapped ; 029F # 4.1 MODIFIER LETTER SMALL CAPITAL L -1DAC ; mapped ; 0271 # 4.1 MODIFIER LETTER SMALL M WITH HOOK -1DAD ; mapped ; 0270 # 4.1 MODIFIER LETTER SMALL TURNED M WITH LONG LEG -1DAE ; mapped ; 0272 # 4.1 MODIFIER LETTER SMALL N WITH LEFT HOOK -1DAF ; mapped ; 0273 # 4.1 MODIFIER LETTER SMALL N WITH RETROFLEX HOOK -1DB0 ; mapped ; 0274 # 4.1 MODIFIER LETTER SMALL CAPITAL N -1DB1 ; mapped ; 0275 # 4.1 MODIFIER LETTER SMALL BARRED O -1DB2 ; mapped ; 0278 # 4.1 MODIFIER LETTER SMALL PHI -1DB3 ; mapped ; 0282 # 4.1 MODIFIER LETTER SMALL S WITH HOOK -1DB4 ; mapped ; 0283 # 4.1 MODIFIER LETTER SMALL ESH -1DB5 ; mapped ; 01AB # 4.1 MODIFIER LETTER SMALL T WITH PALATAL HOOK -1DB6 ; mapped ; 0289 # 4.1 MODIFIER LETTER SMALL U BAR -1DB7 ; mapped ; 028A # 4.1 MODIFIER LETTER SMALL UPSILON -1DB8 ; mapped ; 1D1C # 4.1 MODIFIER LETTER SMALL CAPITAL U -1DB9 ; mapped ; 028B # 4.1 MODIFIER LETTER SMALL V WITH HOOK -1DBA ; mapped ; 028C # 4.1 MODIFIER LETTER SMALL TURNED V -1DBB ; mapped ; 007A # 4.1 MODIFIER LETTER SMALL Z -1DBC ; mapped ; 0290 # 4.1 MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK -1DBD ; mapped ; 0291 # 4.1 MODIFIER LETTER SMALL Z WITH CURL -1DBE ; mapped ; 0292 # 4.1 MODIFIER LETTER SMALL EZH -1DBF ; mapped ; 03B8 # 4.1 MODIFIER LETTER SMALL THETA -1DC0..1DC3 ; valid # 4.1 COMBINING DOTTED GRAVE ACCENT..COMBINING SUSPENSION MARK -1DC4..1DCA ; valid # 5.0 COMBINING MACRON-ACUTE..COMBINING LATIN SMALL LETTER R BELOW -1DCB..1DE6 ; valid # 5.1 COMBINING BREVE-MACRON..COMBINING LATIN SMALL LETTER Z -1DE7..1DF5 ; valid # 7.0 COMBINING LATIN SMALL LETTER ALPHA..COMBINING UP TACK ABOVE -1DF6..1DFA ; disallowed # NA <reserved-1DF6>..<reserved-1DFA> -1DFB ; valid # 9.0 COMBINING DELETION MARK -1DFC ; valid # 6.0 COMBINING DOUBLE INVERTED BREVE BELOW -1DFD ; valid # 5.2 COMBINING ALMOST EQUAL TO BELOW -1DFE..1DFF ; valid # 5.0 COMBINING LEFT ARROWHEAD ABOVE..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW -1E00 ; mapped ; 1E01 # 1.1 LATIN CAPITAL LETTER A WITH RING BELOW -1E01 ; valid # 1.1 LATIN SMALL LETTER A WITH RING BELOW -1E02 ; mapped ; 1E03 # 1.1 LATIN CAPITAL LETTER B WITH DOT ABOVE -1E03 ; valid # 1.1 LATIN SMALL LETTER B WITH DOT ABOVE -1E04 ; mapped ; 1E05 # 1.1 LATIN CAPITAL LETTER B WITH DOT BELOW -1E05 ; valid # 1.1 LATIN SMALL LETTER B WITH DOT BELOW -1E06 ; mapped ; 1E07 # 1.1 LATIN CAPITAL LETTER B WITH LINE BELOW -1E07 ; valid # 1.1 LATIN SMALL LETTER B WITH LINE BELOW -1E08 ; mapped ; 1E09 # 1.1 LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE -1E09 ; valid # 1.1 LATIN SMALL LETTER C WITH CEDILLA AND ACUTE -1E0A ; mapped ; 1E0B # 1.1 LATIN CAPITAL LETTER D WITH DOT ABOVE -1E0B ; valid # 1.1 LATIN SMALL LETTER D WITH DOT ABOVE -1E0C ; mapped ; 1E0D # 1.1 LATIN CAPITAL LETTER D WITH DOT BELOW -1E0D ; valid # 1.1 LATIN SMALL LETTER D WITH DOT BELOW -1E0E ; mapped ; 1E0F # 1.1 LATIN CAPITAL LETTER D WITH LINE BELOW -1E0F ; valid # 1.1 LATIN SMALL LETTER D WITH LINE BELOW -1E10 ; mapped ; 1E11 # 1.1 LATIN CAPITAL LETTER D WITH CEDILLA -1E11 ; valid # 1.1 LATIN SMALL LETTER D WITH CEDILLA -1E12 ; mapped ; 1E13 # 1.1 LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW -1E13 ; valid # 1.1 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW -1E14 ; mapped ; 1E15 # 1.1 LATIN CAPITAL LETTER E WITH MACRON AND GRAVE -1E15 ; valid # 1.1 LATIN SMALL LETTER E WITH MACRON AND GRAVE -1E16 ; mapped ; 1E17 # 1.1 LATIN CAPITAL LETTER E WITH MACRON AND ACUTE -1E17 ; valid # 1.1 LATIN SMALL LETTER E WITH MACRON AND ACUTE -1E18 ; mapped ; 1E19 # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW -1E19 ; valid # 1.1 LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW -1E1A ; mapped ; 1E1B # 1.1 LATIN CAPITAL LETTER E WITH TILDE BELOW -1E1B ; valid # 1.1 LATIN SMALL LETTER E WITH TILDE BELOW -1E1C ; mapped ; 1E1D # 1.1 LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE -1E1D ; valid # 1.1 LATIN SMALL LETTER E WITH CEDILLA AND BREVE -1E1E ; mapped ; 1E1F # 1.1 LATIN CAPITAL LETTER F WITH DOT ABOVE -1E1F ; valid # 1.1 LATIN SMALL LETTER F WITH DOT ABOVE -1E20 ; mapped ; 1E21 # 1.1 LATIN CAPITAL LETTER G WITH MACRON -1E21 ; valid # 1.1 LATIN SMALL LETTER G WITH MACRON -1E22 ; mapped ; 1E23 # 1.1 LATIN CAPITAL LETTER H WITH DOT ABOVE -1E23 ; valid # 1.1 LATIN SMALL LETTER H WITH DOT ABOVE -1E24 ; mapped ; 1E25 # 1.1 LATIN CAPITAL LETTER H WITH DOT BELOW -1E25 ; valid # 1.1 LATIN SMALL LETTER H WITH DOT BELOW -1E26 ; mapped ; 1E27 # 1.1 LATIN CAPITAL LETTER H WITH DIAERESIS -1E27 ; valid # 1.1 LATIN SMALL LETTER H WITH DIAERESIS -1E28 ; mapped ; 1E29 # 1.1 LATIN CAPITAL LETTER H WITH CEDILLA -1E29 ; valid # 1.1 LATIN SMALL LETTER H WITH CEDILLA -1E2A ; mapped ; 1E2B # 1.1 LATIN CAPITAL LETTER H WITH BREVE BELOW -1E2B ; valid # 1.1 LATIN SMALL LETTER H WITH BREVE BELOW -1E2C ; mapped ; 1E2D # 1.1 LATIN CAPITAL LETTER I WITH TILDE BELOW -1E2D ; valid # 1.1 LATIN SMALL LETTER I WITH TILDE BELOW -1E2E ; mapped ; 1E2F # 1.1 LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE -1E2F ; valid # 1.1 LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE -1E30 ; mapped ; 1E31 # 1.1 LATIN CAPITAL LETTER K WITH ACUTE -1E31 ; valid # 1.1 LATIN SMALL LETTER K WITH ACUTE -1E32 ; mapped ; 1E33 # 1.1 LATIN CAPITAL LETTER K WITH DOT BELOW -1E33 ; valid # 1.1 LATIN SMALL LETTER K WITH DOT BELOW -1E34 ; mapped ; 1E35 # 1.1 LATIN CAPITAL LETTER K WITH LINE BELOW -1E35 ; valid # 1.1 LATIN SMALL LETTER K WITH LINE BELOW -1E36 ; mapped ; 1E37 # 1.1 LATIN CAPITAL LETTER L WITH DOT BELOW -1E37 ; valid # 1.1 LATIN SMALL LETTER L WITH DOT BELOW -1E38 ; mapped ; 1E39 # 1.1 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON -1E39 ; valid # 1.1 LATIN SMALL LETTER L WITH DOT BELOW AND MACRON -1E3A ; mapped ; 1E3B # 1.1 LATIN CAPITAL LETTER L WITH LINE BELOW -1E3B ; valid # 1.1 LATIN SMALL LETTER L WITH LINE BELOW -1E3C ; mapped ; 1E3D # 1.1 LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW -1E3D ; valid # 1.1 LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW -1E3E ; mapped ; 1E3F # 1.1 LATIN CAPITAL LETTER M WITH ACUTE -1E3F ; valid # 1.1 LATIN SMALL LETTER M WITH ACUTE -1E40 ; mapped ; 1E41 # 1.1 LATIN CAPITAL LETTER M WITH DOT ABOVE -1E41 ; valid # 1.1 LATIN SMALL LETTER M WITH DOT ABOVE -1E42 ; mapped ; 1E43 # 1.1 LATIN CAPITAL LETTER M WITH DOT BELOW -1E43 ; valid # 1.1 LATIN SMALL LETTER M WITH DOT BELOW -1E44 ; mapped ; 1E45 # 1.1 LATIN CAPITAL LETTER N WITH DOT ABOVE -1E45 ; valid # 1.1 LATIN SMALL LETTER N WITH DOT ABOVE -1E46 ; mapped ; 1E47 # 1.1 LATIN CAPITAL LETTER N WITH DOT BELOW -1E47 ; valid # 1.1 LATIN SMALL LETTER N WITH DOT BELOW -1E48 ; mapped ; 1E49 # 1.1 LATIN CAPITAL LETTER N WITH LINE BELOW -1E49 ; valid # 1.1 LATIN SMALL LETTER N WITH LINE BELOW -1E4A ; mapped ; 1E4B # 1.1 LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW -1E4B ; valid # 1.1 LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW -1E4C ; mapped ; 1E4D # 1.1 LATIN CAPITAL LETTER O WITH TILDE AND ACUTE -1E4D ; valid # 1.1 LATIN SMALL LETTER O WITH TILDE AND ACUTE -1E4E ; mapped ; 1E4F # 1.1 LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS -1E4F ; valid # 1.1 LATIN SMALL LETTER O WITH TILDE AND DIAERESIS -1E50 ; mapped ; 1E51 # 1.1 LATIN CAPITAL LETTER O WITH MACRON AND GRAVE -1E51 ; valid # 1.1 LATIN SMALL LETTER O WITH MACRON AND GRAVE -1E52 ; mapped ; 1E53 # 1.1 LATIN CAPITAL LETTER O WITH MACRON AND ACUTE -1E53 ; valid # 1.1 LATIN SMALL LETTER O WITH MACRON AND ACUTE -1E54 ; mapped ; 1E55 # 1.1 LATIN CAPITAL LETTER P WITH ACUTE -1E55 ; valid # 1.1 LATIN SMALL LETTER P WITH ACUTE -1E56 ; mapped ; 1E57 # 1.1 LATIN CAPITAL LETTER P WITH DOT ABOVE -1E57 ; valid # 1.1 LATIN SMALL LETTER P WITH DOT ABOVE -1E58 ; mapped ; 1E59 # 1.1 LATIN CAPITAL LETTER R WITH DOT ABOVE -1E59 ; valid # 1.1 LATIN SMALL LETTER R WITH DOT ABOVE -1E5A ; mapped ; 1E5B # 1.1 LATIN CAPITAL LETTER R WITH DOT BELOW -1E5B ; valid # 1.1 LATIN SMALL LETTER R WITH DOT BELOW -1E5C ; mapped ; 1E5D # 1.1 LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON -1E5D ; valid # 1.1 LATIN SMALL LETTER R WITH DOT BELOW AND MACRON -1E5E ; mapped ; 1E5F # 1.1 LATIN CAPITAL LETTER R WITH LINE BELOW -1E5F ; valid # 1.1 LATIN SMALL LETTER R WITH LINE BELOW -1E60 ; mapped ; 1E61 # 1.1 LATIN CAPITAL LETTER S WITH DOT ABOVE -1E61 ; valid # 1.1 LATIN SMALL LETTER S WITH DOT ABOVE -1E62 ; mapped ; 1E63 # 1.1 LATIN CAPITAL LETTER S WITH DOT BELOW -1E63 ; valid # 1.1 LATIN SMALL LETTER S WITH DOT BELOW -1E64 ; mapped ; 1E65 # 1.1 LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE -1E65 ; valid # 1.1 LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE -1E66 ; mapped ; 1E67 # 1.1 LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE -1E67 ; valid # 1.1 LATIN SMALL LETTER S WITH CARON AND DOT ABOVE -1E68 ; mapped ; 1E69 # 1.1 LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE -1E69 ; valid # 1.1 LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE -1E6A ; mapped ; 1E6B # 1.1 LATIN CAPITAL LETTER T WITH DOT ABOVE -1E6B ; valid # 1.1 LATIN SMALL LETTER T WITH DOT ABOVE -1E6C ; mapped ; 1E6D # 1.1 LATIN CAPITAL LETTER T WITH DOT BELOW -1E6D ; valid # 1.1 LATIN SMALL LETTER T WITH DOT BELOW -1E6E ; mapped ; 1E6F # 1.1 LATIN CAPITAL LETTER T WITH LINE BELOW -1E6F ; valid # 1.1 LATIN SMALL LETTER T WITH LINE BELOW -1E70 ; mapped ; 1E71 # 1.1 LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW -1E71 ; valid # 1.1 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW -1E72 ; mapped ; 1E73 # 1.1 LATIN CAPITAL LETTER U WITH DIAERESIS BELOW -1E73 ; valid # 1.1 LATIN SMALL LETTER U WITH DIAERESIS BELOW -1E74 ; mapped ; 1E75 # 1.1 LATIN CAPITAL LETTER U WITH TILDE BELOW -1E75 ; valid # 1.1 LATIN SMALL LETTER U WITH TILDE BELOW -1E76 ; mapped ; 1E77 # 1.1 LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW -1E77 ; valid # 1.1 LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW -1E78 ; mapped ; 1E79 # 1.1 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE -1E79 ; valid # 1.1 LATIN SMALL LETTER U WITH TILDE AND ACUTE -1E7A ; mapped ; 1E7B # 1.1 LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS -1E7B ; valid # 1.1 LATIN SMALL LETTER U WITH MACRON AND DIAERESIS -1E7C ; mapped ; 1E7D # 1.1 LATIN CAPITAL LETTER V WITH TILDE -1E7D ; valid # 1.1 LATIN SMALL LETTER V WITH TILDE -1E7E ; mapped ; 1E7F # 1.1 LATIN CAPITAL LETTER V WITH DOT BELOW -1E7F ; valid # 1.1 LATIN SMALL LETTER V WITH DOT BELOW -1E80 ; mapped ; 1E81 # 1.1 LATIN CAPITAL LETTER W WITH GRAVE -1E81 ; valid # 1.1 LATIN SMALL LETTER W WITH GRAVE -1E82 ; mapped ; 1E83 # 1.1 LATIN CAPITAL LETTER W WITH ACUTE -1E83 ; valid # 1.1 LATIN SMALL LETTER W WITH ACUTE -1E84 ; mapped ; 1E85 # 1.1 LATIN CAPITAL LETTER W WITH DIAERESIS -1E85 ; valid # 1.1 LATIN SMALL LETTER W WITH DIAERESIS -1E86 ; mapped ; 1E87 # 1.1 LATIN CAPITAL LETTER W WITH DOT ABOVE -1E87 ; valid # 1.1 LATIN SMALL LETTER W WITH DOT ABOVE -1E88 ; mapped ; 1E89 # 1.1 LATIN CAPITAL LETTER W WITH DOT BELOW -1E89 ; valid # 1.1 LATIN SMALL LETTER W WITH DOT BELOW -1E8A ; mapped ; 1E8B # 1.1 LATIN CAPITAL LETTER X WITH DOT ABOVE -1E8B ; valid # 1.1 LATIN SMALL LETTER X WITH DOT ABOVE -1E8C ; mapped ; 1E8D # 1.1 LATIN CAPITAL LETTER X WITH DIAERESIS -1E8D ; valid # 1.1 LATIN SMALL LETTER X WITH DIAERESIS -1E8E ; mapped ; 1E8F # 1.1 LATIN CAPITAL LETTER Y WITH DOT ABOVE -1E8F ; valid # 1.1 LATIN SMALL LETTER Y WITH DOT ABOVE -1E90 ; mapped ; 1E91 # 1.1 LATIN CAPITAL LETTER Z WITH CIRCUMFLEX -1E91 ; valid # 1.1 LATIN SMALL LETTER Z WITH CIRCUMFLEX -1E92 ; mapped ; 1E93 # 1.1 LATIN CAPITAL LETTER Z WITH DOT BELOW -1E93 ; valid # 1.1 LATIN SMALL LETTER Z WITH DOT BELOW -1E94 ; mapped ; 1E95 # 1.1 LATIN CAPITAL LETTER Z WITH LINE BELOW -1E95..1E99 ; valid # 1.1 LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER Y WITH RING ABOVE -1E9A ; mapped ; 0061 02BE # 1.1 LATIN SMALL LETTER A WITH RIGHT HALF RING -1E9B ; mapped ; 1E61 # 2.0 LATIN SMALL LETTER LONG S WITH DOT ABOVE -1E9C..1E9D ; valid # 5.1 LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE..LATIN SMALL LETTER LONG S WITH HIGH STROKE -1E9E ; mapped ; 0073 0073 # 5.1 LATIN CAPITAL LETTER SHARP S -1E9F ; valid # 5.1 LATIN SMALL LETTER DELTA -1EA0 ; mapped ; 1EA1 # 1.1 LATIN CAPITAL LETTER A WITH DOT BELOW -1EA1 ; valid # 1.1 LATIN SMALL LETTER A WITH DOT BELOW -1EA2 ; mapped ; 1EA3 # 1.1 LATIN CAPITAL LETTER A WITH HOOK ABOVE -1EA3 ; valid # 1.1 LATIN SMALL LETTER A WITH HOOK ABOVE -1EA4 ; mapped ; 1EA5 # 1.1 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE -1EA5 ; valid # 1.1 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE -1EA6 ; mapped ; 1EA7 # 1.1 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE -1EA7 ; valid # 1.1 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE -1EA8 ; mapped ; 1EA9 # 1.1 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE -1EA9 ; valid # 1.1 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE -1EAA ; mapped ; 1EAB # 1.1 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE -1EAB ; valid # 1.1 LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE -1EAC ; mapped ; 1EAD # 1.1 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW -1EAD ; valid # 1.1 LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW -1EAE ; mapped ; 1EAF # 1.1 LATIN CAPITAL LETTER A WITH BREVE AND ACUTE -1EAF ; valid # 1.1 LATIN SMALL LETTER A WITH BREVE AND ACUTE -1EB0 ; mapped ; 1EB1 # 1.1 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE -1EB1 ; valid # 1.1 LATIN SMALL LETTER A WITH BREVE AND GRAVE -1EB2 ; mapped ; 1EB3 # 1.1 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE -1EB3 ; valid # 1.1 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE -1EB4 ; mapped ; 1EB5 # 1.1 LATIN CAPITAL LETTER A WITH BREVE AND TILDE -1EB5 ; valid # 1.1 LATIN SMALL LETTER A WITH BREVE AND TILDE -1EB6 ; mapped ; 1EB7 # 1.1 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW -1EB7 ; valid # 1.1 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW -1EB8 ; mapped ; 1EB9 # 1.1 LATIN CAPITAL LETTER E WITH DOT BELOW -1EB9 ; valid # 1.1 LATIN SMALL LETTER E WITH DOT BELOW -1EBA ; mapped ; 1EBB # 1.1 LATIN CAPITAL LETTER E WITH HOOK ABOVE -1EBB ; valid # 1.1 LATIN SMALL LETTER E WITH HOOK ABOVE -1EBC ; mapped ; 1EBD # 1.1 LATIN CAPITAL LETTER E WITH TILDE -1EBD ; valid # 1.1 LATIN SMALL LETTER E WITH TILDE -1EBE ; mapped ; 1EBF # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE -1EBF ; valid # 1.1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE -1EC0 ; mapped ; 1EC1 # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE -1EC1 ; valid # 1.1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE -1EC2 ; mapped ; 1EC3 # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE -1EC3 ; valid # 1.1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE -1EC4 ; mapped ; 1EC5 # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE -1EC5 ; valid # 1.1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE -1EC6 ; mapped ; 1EC7 # 1.1 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW -1EC7 ; valid # 1.1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW -1EC8 ; mapped ; 1EC9 # 1.1 LATIN CAPITAL LETTER I WITH HOOK ABOVE -1EC9 ; valid # 1.1 LATIN SMALL LETTER I WITH HOOK ABOVE -1ECA ; mapped ; 1ECB # 1.1 LATIN CAPITAL LETTER I WITH DOT BELOW -1ECB ; valid # 1.1 LATIN SMALL LETTER I WITH DOT BELOW -1ECC ; mapped ; 1ECD # 1.1 LATIN CAPITAL LETTER O WITH DOT BELOW -1ECD ; valid # 1.1 LATIN SMALL LETTER O WITH DOT BELOW -1ECE ; mapped ; 1ECF # 1.1 LATIN CAPITAL LETTER O WITH HOOK ABOVE -1ECF ; valid # 1.1 LATIN SMALL LETTER O WITH HOOK ABOVE -1ED0 ; mapped ; 1ED1 # 1.1 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE -1ED1 ; valid # 1.1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE -1ED2 ; mapped ; 1ED3 # 1.1 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE -1ED3 ; valid # 1.1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE -1ED4 ; mapped ; 1ED5 # 1.1 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE -1ED5 ; valid # 1.1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE -1ED6 ; mapped ; 1ED7 # 1.1 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE -1ED7 ; valid # 1.1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE -1ED8 ; mapped ; 1ED9 # 1.1 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW -1ED9 ; valid # 1.1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW -1EDA ; mapped ; 1EDB # 1.1 LATIN CAPITAL LETTER O WITH HORN AND ACUTE -1EDB ; valid # 1.1 LATIN SMALL LETTER O WITH HORN AND ACUTE -1EDC ; mapped ; 1EDD # 1.1 LATIN CAPITAL LETTER O WITH HORN AND GRAVE -1EDD ; valid # 1.1 LATIN SMALL LETTER O WITH HORN AND GRAVE -1EDE ; mapped ; 1EDF # 1.1 LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE -1EDF ; valid # 1.1 LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE -1EE0 ; mapped ; 1EE1 # 1.1 LATIN CAPITAL LETTER O WITH HORN AND TILDE -1EE1 ; valid # 1.1 LATIN SMALL LETTER O WITH HORN AND TILDE -1EE2 ; mapped ; 1EE3 # 1.1 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW -1EE3 ; valid # 1.1 LATIN SMALL LETTER O WITH HORN AND DOT BELOW -1EE4 ; mapped ; 1EE5 # 1.1 LATIN CAPITAL LETTER U WITH DOT BELOW -1EE5 ; valid # 1.1 LATIN SMALL LETTER U WITH DOT BELOW -1EE6 ; mapped ; 1EE7 # 1.1 LATIN CAPITAL LETTER U WITH HOOK ABOVE -1EE7 ; valid # 1.1 LATIN SMALL LETTER U WITH HOOK ABOVE -1EE8 ; mapped ; 1EE9 # 1.1 LATIN CAPITAL LETTER U WITH HORN AND ACUTE -1EE9 ; valid # 1.1 LATIN SMALL LETTER U WITH HORN AND ACUTE -1EEA ; mapped ; 1EEB # 1.1 LATIN CAPITAL LETTER U WITH HORN AND GRAVE -1EEB ; valid # 1.1 LATIN SMALL LETTER U WITH HORN AND GRAVE -1EEC ; mapped ; 1EED # 1.1 LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE -1EED ; valid # 1.1 LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE -1EEE ; mapped ; 1EEF # 1.1 LATIN CAPITAL LETTER U WITH HORN AND TILDE -1EEF ; valid # 1.1 LATIN SMALL LETTER U WITH HORN AND TILDE -1EF0 ; mapped ; 1EF1 # 1.1 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW -1EF1 ; valid # 1.1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW -1EF2 ; mapped ; 1EF3 # 1.1 LATIN CAPITAL LETTER Y WITH GRAVE -1EF3 ; valid # 1.1 LATIN SMALL LETTER Y WITH GRAVE -1EF4 ; mapped ; 1EF5 # 1.1 LATIN CAPITAL LETTER Y WITH DOT BELOW -1EF5 ; valid # 1.1 LATIN SMALL LETTER Y WITH DOT BELOW -1EF6 ; mapped ; 1EF7 # 1.1 LATIN CAPITAL LETTER Y WITH HOOK ABOVE -1EF7 ; valid # 1.1 LATIN SMALL LETTER Y WITH HOOK ABOVE -1EF8 ; mapped ; 1EF9 # 1.1 LATIN CAPITAL LETTER Y WITH TILDE -1EF9 ; valid # 1.1 LATIN SMALL LETTER Y WITH TILDE -1EFA ; mapped ; 1EFB # 5.1 LATIN CAPITAL LETTER MIDDLE-WELSH LL -1EFB ; valid # 5.1 LATIN SMALL LETTER MIDDLE-WELSH LL -1EFC ; mapped ; 1EFD # 5.1 LATIN CAPITAL LETTER MIDDLE-WELSH V -1EFD ; valid # 5.1 LATIN SMALL LETTER MIDDLE-WELSH V -1EFE ; mapped ; 1EFF # 5.1 LATIN CAPITAL LETTER Y WITH LOOP -1EFF ; valid # 5.1 LATIN SMALL LETTER Y WITH LOOP -1F00..1F07 ; valid # 1.1 GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI -1F08 ; mapped ; 1F00 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI -1F09 ; mapped ; 1F01 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA -1F0A ; mapped ; 1F02 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA -1F0B ; mapped ; 1F03 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA -1F0C ; mapped ; 1F04 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA -1F0D ; mapped ; 1F05 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA -1F0E ; mapped ; 1F06 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI -1F0F ; mapped ; 1F07 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI -1F10..1F15 ; valid # 1.1 GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA -1F16..1F17 ; disallowed # NA <reserved-1F16>..<reserved-1F17> -1F18 ; mapped ; 1F10 # 1.1 GREEK CAPITAL LETTER EPSILON WITH PSILI -1F19 ; mapped ; 1F11 # 1.1 GREEK CAPITAL LETTER EPSILON WITH DASIA -1F1A ; mapped ; 1F12 # 1.1 GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA -1F1B ; mapped ; 1F13 # 1.1 GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA -1F1C ; mapped ; 1F14 # 1.1 GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA -1F1D ; mapped ; 1F15 # 1.1 GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA -1F1E..1F1F ; disallowed # NA <reserved-1F1E>..<reserved-1F1F> -1F20..1F27 ; valid # 1.1 GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI -1F28 ; mapped ; 1F20 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI -1F29 ; mapped ; 1F21 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA -1F2A ; mapped ; 1F22 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA -1F2B ; mapped ; 1F23 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA -1F2C ; mapped ; 1F24 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA -1F2D ; mapped ; 1F25 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA -1F2E ; mapped ; 1F26 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI -1F2F ; mapped ; 1F27 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI -1F30..1F37 ; valid # 1.1 GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI -1F38 ; mapped ; 1F30 # 1.1 GREEK CAPITAL LETTER IOTA WITH PSILI -1F39 ; mapped ; 1F31 # 1.1 GREEK CAPITAL LETTER IOTA WITH DASIA -1F3A ; mapped ; 1F32 # 1.1 GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA -1F3B ; mapped ; 1F33 # 1.1 GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA -1F3C ; mapped ; 1F34 # 1.1 GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA -1F3D ; mapped ; 1F35 # 1.1 GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA -1F3E ; mapped ; 1F36 # 1.1 GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI -1F3F ; mapped ; 1F37 # 1.1 GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI -1F40..1F45 ; valid # 1.1 GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA -1F46..1F47 ; disallowed # NA <reserved-1F46>..<reserved-1F47> -1F48 ; mapped ; 1F40 # 1.1 GREEK CAPITAL LETTER OMICRON WITH PSILI -1F49 ; mapped ; 1F41 # 1.1 GREEK CAPITAL LETTER OMICRON WITH DASIA -1F4A ; mapped ; 1F42 # 1.1 GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA -1F4B ; mapped ; 1F43 # 1.1 GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA -1F4C ; mapped ; 1F44 # 1.1 GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA -1F4D ; mapped ; 1F45 # 1.1 GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA -1F4E..1F4F ; disallowed # NA <reserved-1F4E>..<reserved-1F4F> -1F50..1F57 ; valid # 1.1 GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI -1F58 ; disallowed # NA <reserved-1F58> -1F59 ; mapped ; 1F51 # 1.1 GREEK CAPITAL LETTER UPSILON WITH DASIA -1F5A ; disallowed # NA <reserved-1F5A> -1F5B ; mapped ; 1F53 # 1.1 GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA -1F5C ; disallowed # NA <reserved-1F5C> -1F5D ; mapped ; 1F55 # 1.1 GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA -1F5E ; disallowed # NA <reserved-1F5E> -1F5F ; mapped ; 1F57 # 1.1 GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI -1F60..1F67 ; valid # 1.1 GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI -1F68 ; mapped ; 1F60 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI -1F69 ; mapped ; 1F61 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA -1F6A ; mapped ; 1F62 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA -1F6B ; mapped ; 1F63 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA -1F6C ; mapped ; 1F64 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA -1F6D ; mapped ; 1F65 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA -1F6E ; mapped ; 1F66 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI -1F6F ; mapped ; 1F67 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI -1F70 ; valid # 1.1 GREEK SMALL LETTER ALPHA WITH VARIA -1F71 ; mapped ; 03AC # 1.1 GREEK SMALL LETTER ALPHA WITH OXIA -1F72 ; valid # 1.1 GREEK SMALL LETTER EPSILON WITH VARIA -1F73 ; mapped ; 03AD # 1.1 GREEK SMALL LETTER EPSILON WITH OXIA -1F74 ; valid # 1.1 GREEK SMALL LETTER ETA WITH VARIA -1F75 ; mapped ; 03AE # 1.1 GREEK SMALL LETTER ETA WITH OXIA -1F76 ; valid # 1.1 GREEK SMALL LETTER IOTA WITH VARIA -1F77 ; mapped ; 03AF # 1.1 GREEK SMALL LETTER IOTA WITH OXIA -1F78 ; valid # 1.1 GREEK SMALL LETTER OMICRON WITH VARIA -1F79 ; mapped ; 03CC # 1.1 GREEK SMALL LETTER OMICRON WITH OXIA -1F7A ; valid # 1.1 GREEK SMALL LETTER UPSILON WITH VARIA -1F7B ; mapped ; 03CD # 1.1 GREEK SMALL LETTER UPSILON WITH OXIA -1F7C ; valid # 1.1 GREEK SMALL LETTER OMEGA WITH VARIA -1F7D ; mapped ; 03CE # 1.1 GREEK SMALL LETTER OMEGA WITH OXIA -1F7E..1F7F ; disallowed # NA <reserved-1F7E>..<reserved-1F7F> -1F80 ; mapped ; 1F00 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI -1F81 ; mapped ; 1F01 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI -1F82 ; mapped ; 1F02 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI -1F83 ; mapped ; 1F03 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI -1F84 ; mapped ; 1F04 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI -1F85 ; mapped ; 1F05 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI -1F86 ; mapped ; 1F06 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -1F87 ; mapped ; 1F07 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -1F88 ; mapped ; 1F00 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI -1F89 ; mapped ; 1F01 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI -1F8A ; mapped ; 1F02 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI -1F8B ; mapped ; 1F03 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI -1F8C ; mapped ; 1F04 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI -1F8D ; mapped ; 1F05 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI -1F8E ; mapped ; 1F06 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI -1F8F ; mapped ; 1F07 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI -1F90 ; mapped ; 1F20 03B9 # 1.1 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI -1F91 ; mapped ; 1F21 03B9 # 1.1 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI -1F92 ; mapped ; 1F22 03B9 # 1.1 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI -1F93 ; mapped ; 1F23 03B9 # 1.1 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI -1F94 ; mapped ; 1F24 03B9 # 1.1 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI -1F95 ; mapped ; 1F25 03B9 # 1.1 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI -1F96 ; mapped ; 1F26 03B9 # 1.1 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -1F97 ; mapped ; 1F27 03B9 # 1.1 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -1F98 ; mapped ; 1F20 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI -1F99 ; mapped ; 1F21 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI -1F9A ; mapped ; 1F22 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI -1F9B ; mapped ; 1F23 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI -1F9C ; mapped ; 1F24 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI -1F9D ; mapped ; 1F25 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI -1F9E ; mapped ; 1F26 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI -1F9F ; mapped ; 1F27 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI -1FA0 ; mapped ; 1F60 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI -1FA1 ; mapped ; 1F61 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI -1FA2 ; mapped ; 1F62 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI -1FA3 ; mapped ; 1F63 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI -1FA4 ; mapped ; 1F64 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI -1FA5 ; mapped ; 1F65 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI -1FA6 ; mapped ; 1F66 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -1FA7 ; mapped ; 1F67 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -1FA8 ; mapped ; 1F60 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI -1FA9 ; mapped ; 1F61 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI -1FAA ; mapped ; 1F62 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI -1FAB ; mapped ; 1F63 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI -1FAC ; mapped ; 1F64 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI -1FAD ; mapped ; 1F65 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI -1FAE ; mapped ; 1F66 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI -1FAF ; mapped ; 1F67 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI -1FB0..1FB1 ; valid # 1.1 GREEK SMALL LETTER ALPHA WITH VRACHY..GREEK SMALL LETTER ALPHA WITH MACRON -1FB2 ; mapped ; 1F70 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI -1FB3 ; mapped ; 03B1 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI -1FB4 ; mapped ; 03AC 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI -1FB5 ; disallowed # NA <reserved-1FB5> -1FB6 ; valid # 1.1 GREEK SMALL LETTER ALPHA WITH PERISPOMENI -1FB7 ; mapped ; 1FB6 03B9 # 1.1 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI -1FB8 ; mapped ; 1FB0 # 1.1 GREEK CAPITAL LETTER ALPHA WITH VRACHY -1FB9 ; mapped ; 1FB1 # 1.1 GREEK CAPITAL LETTER ALPHA WITH MACRON -1FBA ; mapped ; 1F70 # 1.1 GREEK CAPITAL LETTER ALPHA WITH VARIA -1FBB ; mapped ; 03AC # 1.1 GREEK CAPITAL LETTER ALPHA WITH OXIA -1FBC ; mapped ; 03B1 03B9 # 1.1 GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI -1FBD ; disallowed_STD3_mapped ; 0020 0313 # 1.1 GREEK KORONIS -1FBE ; mapped ; 03B9 # 1.1 GREEK PROSGEGRAMMENI -1FBF ; disallowed_STD3_mapped ; 0020 0313 # 1.1 GREEK PSILI -1FC0 ; disallowed_STD3_mapped ; 0020 0342 # 1.1 GREEK PERISPOMENI -1FC1 ; disallowed_STD3_mapped ; 0020 0308 0342 #1.1 GREEK DIALYTIKA AND PERISPOMENI -1FC2 ; mapped ; 1F74 03B9 # 1.1 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI -1FC3 ; mapped ; 03B7 03B9 # 1.1 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI -1FC4 ; mapped ; 03AE 03B9 # 1.1 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI -1FC5 ; disallowed # NA <reserved-1FC5> -1FC6 ; valid # 1.1 GREEK SMALL LETTER ETA WITH PERISPOMENI -1FC7 ; mapped ; 1FC6 03B9 # 1.1 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI -1FC8 ; mapped ; 1F72 # 1.1 GREEK CAPITAL LETTER EPSILON WITH VARIA -1FC9 ; mapped ; 03AD # 1.1 GREEK CAPITAL LETTER EPSILON WITH OXIA -1FCA ; mapped ; 1F74 # 1.1 GREEK CAPITAL LETTER ETA WITH VARIA -1FCB ; mapped ; 03AE # 1.1 GREEK CAPITAL LETTER ETA WITH OXIA -1FCC ; mapped ; 03B7 03B9 # 1.1 GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI -1FCD ; disallowed_STD3_mapped ; 0020 0313 0300 #1.1 GREEK PSILI AND VARIA -1FCE ; disallowed_STD3_mapped ; 0020 0313 0301 #1.1 GREEK PSILI AND OXIA -1FCF ; disallowed_STD3_mapped ; 0020 0313 0342 #1.1 GREEK PSILI AND PERISPOMENI -1FD0..1FD2 ; valid # 1.1 GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA -1FD3 ; mapped ; 0390 # 1.1 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA -1FD4..1FD5 ; disallowed # NA <reserved-1FD4>..<reserved-1FD5> -1FD6..1FD7 ; valid # 1.1 GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI -1FD8 ; mapped ; 1FD0 # 1.1 GREEK CAPITAL LETTER IOTA WITH VRACHY -1FD9 ; mapped ; 1FD1 # 1.1 GREEK CAPITAL LETTER IOTA WITH MACRON -1FDA ; mapped ; 1F76 # 1.1 GREEK CAPITAL LETTER IOTA WITH VARIA -1FDB ; mapped ; 03AF # 1.1 GREEK CAPITAL LETTER IOTA WITH OXIA -1FDC ; disallowed # NA <reserved-1FDC> -1FDD ; disallowed_STD3_mapped ; 0020 0314 0300 #1.1 GREEK DASIA AND VARIA -1FDE ; disallowed_STD3_mapped ; 0020 0314 0301 #1.1 GREEK DASIA AND OXIA -1FDF ; disallowed_STD3_mapped ; 0020 0314 0342 #1.1 GREEK DASIA AND PERISPOMENI -1FE0..1FE2 ; valid # 1.1 GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA -1FE3 ; mapped ; 03B0 # 1.1 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA -1FE4..1FE7 ; valid # 1.1 GREEK SMALL LETTER RHO WITH PSILI..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI -1FE8 ; mapped ; 1FE0 # 1.1 GREEK CAPITAL LETTER UPSILON WITH VRACHY -1FE9 ; mapped ; 1FE1 # 1.1 GREEK CAPITAL LETTER UPSILON WITH MACRON -1FEA ; mapped ; 1F7A # 1.1 GREEK CAPITAL LETTER UPSILON WITH VARIA -1FEB ; mapped ; 03CD # 1.1 GREEK CAPITAL LETTER UPSILON WITH OXIA -1FEC ; mapped ; 1FE5 # 1.1 GREEK CAPITAL LETTER RHO WITH DASIA -1FED ; disallowed_STD3_mapped ; 0020 0308 0300 #1.1 GREEK DIALYTIKA AND VARIA -1FEE ; disallowed_STD3_mapped ; 0020 0308 0301 #1.1 GREEK DIALYTIKA AND OXIA -1FEF ; disallowed_STD3_mapped ; 0060 # 1.1 GREEK VARIA -1FF0..1FF1 ; disallowed # NA <reserved-1FF0>..<reserved-1FF1> -1FF2 ; mapped ; 1F7C 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI -1FF3 ; mapped ; 03C9 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI -1FF4 ; mapped ; 03CE 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI -1FF5 ; disallowed # NA <reserved-1FF5> -1FF6 ; valid # 1.1 GREEK SMALL LETTER OMEGA WITH PERISPOMENI -1FF7 ; mapped ; 1FF6 03B9 # 1.1 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI -1FF8 ; mapped ; 1F78 # 1.1 GREEK CAPITAL LETTER OMICRON WITH VARIA -1FF9 ; mapped ; 03CC # 1.1 GREEK CAPITAL LETTER OMICRON WITH OXIA -1FFA ; mapped ; 1F7C # 1.1 GREEK CAPITAL LETTER OMEGA WITH VARIA -1FFB ; mapped ; 03CE # 1.1 GREEK CAPITAL LETTER OMEGA WITH OXIA -1FFC ; mapped ; 03C9 03B9 # 1.1 GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI -1FFD ; disallowed_STD3_mapped ; 0020 0301 # 1.1 GREEK OXIA -1FFE ; disallowed_STD3_mapped ; 0020 0314 # 1.1 GREEK DASIA -1FFF ; disallowed # NA <reserved-1FFF> -2000..200A ; disallowed_STD3_mapped ; 0020 # 1.1 EN QUAD..HAIR SPACE -200B ; ignored # 1.1 ZERO WIDTH SPACE -200C..200D ; deviation ; # 1.1 ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER -200E..200F ; disallowed # 1.1 LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK -2010 ; valid ; ; NV8 # 1.1 HYPHEN -2011 ; mapped ; 2010 # 1.1 NON-BREAKING HYPHEN -2012..2016 ; valid ; ; NV8 # 1.1 FIGURE DASH..DOUBLE VERTICAL LINE -2017 ; disallowed_STD3_mapped ; 0020 0333 # 1.1 DOUBLE LOW LINE -2018..2023 ; valid ; ; NV8 # 1.1 LEFT SINGLE QUOTATION MARK..TRIANGULAR BULLET -2024..2026 ; disallowed # 1.1 ONE DOT LEADER..HORIZONTAL ELLIPSIS -2027 ; valid ; ; NV8 # 1.1 HYPHENATION POINT -2028..202E ; disallowed # 1.1 LINE SEPARATOR..RIGHT-TO-LEFT OVERRIDE -202F ; disallowed_STD3_mapped ; 0020 # 3.0 NARROW NO-BREAK SPACE -2030..2032 ; valid ; ; NV8 # 1.1 PER MILLE SIGN..PRIME -2033 ; mapped ; 2032 2032 # 1.1 DOUBLE PRIME -2034 ; mapped ; 2032 2032 2032 #1.1 TRIPLE PRIME -2035 ; valid ; ; NV8 # 1.1 REVERSED PRIME -2036 ; mapped ; 2035 2035 # 1.1 REVERSED DOUBLE PRIME -2037 ; mapped ; 2035 2035 2035 #1.1 REVERSED TRIPLE PRIME -2038..203B ; valid ; ; NV8 # 1.1 CARET..REFERENCE MARK -203C ; disallowed_STD3_mapped ; 0021 0021 # 1.1 DOUBLE EXCLAMATION MARK -203D ; valid ; ; NV8 # 1.1 INTERROBANG -203E ; disallowed_STD3_mapped ; 0020 0305 # 1.1 OVERLINE -203F..2046 ; valid ; ; NV8 # 1.1 UNDERTIE..RIGHT SQUARE BRACKET WITH QUILL -2047 ; disallowed_STD3_mapped ; 003F 003F # 3.2 DOUBLE QUESTION MARK -2048 ; disallowed_STD3_mapped ; 003F 0021 # 3.0 QUESTION EXCLAMATION MARK -2049 ; disallowed_STD3_mapped ; 0021 003F # 3.0 EXCLAMATION QUESTION MARK -204A..204D ; valid ; ; NV8 # 3.0 TIRONIAN SIGN ET..BLACK RIGHTWARDS BULLET -204E..2052 ; valid ; ; NV8 # 3.2 LOW ASTERISK..COMMERCIAL MINUS SIGN -2053..2054 ; valid ; ; NV8 # 4.0 SWUNG DASH..INVERTED UNDERTIE -2055..2056 ; valid ; ; NV8 # 4.1 FLOWER PUNCTUATION MARK..THREE DOT PUNCTUATION -2057 ; mapped ; 2032 2032 2032 2032 #3.2 QUADRUPLE PRIME -2058..205E ; valid ; ; NV8 # 4.1 FOUR DOT PUNCTUATION..VERTICAL FOUR DOTS -205F ; disallowed_STD3_mapped ; 0020 # 3.2 MEDIUM MATHEMATICAL SPACE -2060 ; ignored # 3.2 WORD JOINER -2061..2063 ; disallowed # 3.2 FUNCTION APPLICATION..INVISIBLE SEPARATOR -2064 ; ignored # 5.1 INVISIBLE PLUS -2065 ; disallowed # NA <reserved-2065> -2066..2069 ; disallowed # 6.3 LEFT-TO-RIGHT ISOLATE..POP DIRECTIONAL ISOLATE -206A..206F ; disallowed # 1.1 INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES -2070 ; mapped ; 0030 # 1.1 SUPERSCRIPT ZERO -2071 ; mapped ; 0069 # 3.2 SUPERSCRIPT LATIN SMALL LETTER I -2072..2073 ; disallowed # NA <reserved-2072>..<reserved-2073> -2074 ; mapped ; 0034 # 1.1 SUPERSCRIPT FOUR -2075 ; mapped ; 0035 # 1.1 SUPERSCRIPT FIVE -2076 ; mapped ; 0036 # 1.1 SUPERSCRIPT SIX -2077 ; mapped ; 0037 # 1.1 SUPERSCRIPT SEVEN -2078 ; mapped ; 0038 # 1.1 SUPERSCRIPT EIGHT -2079 ; mapped ; 0039 # 1.1 SUPERSCRIPT NINE -207A ; disallowed_STD3_mapped ; 002B # 1.1 SUPERSCRIPT PLUS SIGN -207B ; mapped ; 2212 # 1.1 SUPERSCRIPT MINUS -207C ; disallowed_STD3_mapped ; 003D # 1.1 SUPERSCRIPT EQUALS SIGN -207D ; disallowed_STD3_mapped ; 0028 # 1.1 SUPERSCRIPT LEFT PARENTHESIS -207E ; disallowed_STD3_mapped ; 0029 # 1.1 SUPERSCRIPT RIGHT PARENTHESIS -207F ; mapped ; 006E # 1.1 SUPERSCRIPT LATIN SMALL LETTER N -2080 ; mapped ; 0030 # 1.1 SUBSCRIPT ZERO -2081 ; mapped ; 0031 # 1.1 SUBSCRIPT ONE -2082 ; mapped ; 0032 # 1.1 SUBSCRIPT TWO -2083 ; mapped ; 0033 # 1.1 SUBSCRIPT THREE -2084 ; mapped ; 0034 # 1.1 SUBSCRIPT FOUR -2085 ; mapped ; 0035 # 1.1 SUBSCRIPT FIVE -2086 ; mapped ; 0036 # 1.1 SUBSCRIPT SIX -2087 ; mapped ; 0037 # 1.1 SUBSCRIPT SEVEN -2088 ; mapped ; 0038 # 1.1 SUBSCRIPT EIGHT -2089 ; mapped ; 0039 # 1.1 SUBSCRIPT NINE -208A ; disallowed_STD3_mapped ; 002B # 1.1 SUBSCRIPT PLUS SIGN -208B ; mapped ; 2212 # 1.1 SUBSCRIPT MINUS -208C ; disallowed_STD3_mapped ; 003D # 1.1 SUBSCRIPT EQUALS SIGN -208D ; disallowed_STD3_mapped ; 0028 # 1.1 SUBSCRIPT LEFT PARENTHESIS -208E ; disallowed_STD3_mapped ; 0029 # 1.1 SUBSCRIPT RIGHT PARENTHESIS -208F ; disallowed # NA <reserved-208F> -2090 ; mapped ; 0061 # 4.1 LATIN SUBSCRIPT SMALL LETTER A -2091 ; mapped ; 0065 # 4.1 LATIN SUBSCRIPT SMALL LETTER E -2092 ; mapped ; 006F # 4.1 LATIN SUBSCRIPT SMALL LETTER O -2093 ; mapped ; 0078 # 4.1 LATIN SUBSCRIPT SMALL LETTER X -2094 ; mapped ; 0259 # 4.1 LATIN SUBSCRIPT SMALL LETTER SCHWA -2095 ; mapped ; 0068 # 6.0 LATIN SUBSCRIPT SMALL LETTER H -2096 ; mapped ; 006B # 6.0 LATIN SUBSCRIPT SMALL LETTER K -2097 ; mapped ; 006C # 6.0 LATIN SUBSCRIPT SMALL LETTER L -2098 ; mapped ; 006D # 6.0 LATIN SUBSCRIPT SMALL LETTER M -2099 ; mapped ; 006E # 6.0 LATIN SUBSCRIPT SMALL LETTER N -209A ; mapped ; 0070 # 6.0 LATIN SUBSCRIPT SMALL LETTER P -209B ; mapped ; 0073 # 6.0 LATIN SUBSCRIPT SMALL LETTER S -209C ; mapped ; 0074 # 6.0 LATIN SUBSCRIPT SMALL LETTER T -209D..209F ; disallowed # NA <reserved-209D>..<reserved-209F> -20A0..20A7 ; valid ; ; NV8 # 1.1 EURO-CURRENCY SIGN..PESETA SIGN -20A8 ; mapped ; 0072 0073 # 1.1 RUPEE SIGN -20A9..20AA ; valid ; ; NV8 # 1.1 WON SIGN..NEW SHEQEL SIGN -20AB ; valid ; ; NV8 # 2.0 DONG SIGN -20AC ; valid ; ; NV8 # 2.1 EURO SIGN -20AD..20AF ; valid ; ; NV8 # 3.0 KIP SIGN..DRACHMA SIGN -20B0..20B1 ; valid ; ; NV8 # 3.2 GERMAN PENNY SIGN..PESO SIGN -20B2..20B5 ; valid ; ; NV8 # 4.1 GUARANI SIGN..CEDI SIGN -20B6..20B8 ; valid ; ; NV8 # 5.2 LIVRE TOURNOIS SIGN..TENGE SIGN -20B9 ; valid ; ; NV8 # 6.0 INDIAN RUPEE SIGN -20BA ; valid ; ; NV8 # 6.2 TURKISH LIRA SIGN -20BB..20BD ; valid ; ; NV8 # 7.0 NORDIC MARK SIGN..RUBLE SIGN -20BE ; valid ; ; NV8 # 8.0 LARI SIGN -20BF..20CF ; disallowed # NA <reserved-20BF>..<reserved-20CF> -20D0..20E1 ; valid ; ; NV8 # 1.1 COMBINING LEFT HARPOON ABOVE..COMBINING LEFT RIGHT ARROW ABOVE -20E2..20E3 ; valid ; ; NV8 # 3.0 COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING KEYCAP -20E4..20EA ; valid ; ; NV8 # 3.2 COMBINING ENCLOSING UPWARD POINTING TRIANGLE..COMBINING LEFTWARDS ARROW OVERLAY -20EB ; valid ; ; NV8 # 4.1 COMBINING LONG DOUBLE SOLIDUS OVERLAY -20EC..20EF ; valid ; ; NV8 # 5.0 COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS..COMBINING RIGHT ARROW BELOW -20F0 ; valid ; ; NV8 # 5.1 COMBINING ASTERISK ABOVE -20F1..20FF ; disallowed # NA <reserved-20F1>..<reserved-20FF> -2100 ; disallowed_STD3_mapped ; 0061 002F 0063 #1.1 ACCOUNT OF -2101 ; disallowed_STD3_mapped ; 0061 002F 0073 #1.1 ADDRESSED TO THE SUBJECT -2102 ; mapped ; 0063 # 1.1 DOUBLE-STRUCK CAPITAL C -2103 ; mapped ; 00B0 0063 # 1.1 DEGREE CELSIUS -2104 ; valid ; ; NV8 # 1.1 CENTRE LINE SYMBOL -2105 ; disallowed_STD3_mapped ; 0063 002F 006F #1.1 CARE OF -2106 ; disallowed_STD3_mapped ; 0063 002F 0075 #1.1 CADA UNA -2107 ; mapped ; 025B # 1.1 EULER CONSTANT -2108 ; valid ; ; NV8 # 1.1 SCRUPLE -2109 ; mapped ; 00B0 0066 # 1.1 DEGREE FAHRENHEIT -210A ; mapped ; 0067 # 1.1 SCRIPT SMALL G -210B..210E ; mapped ; 0068 # 1.1 SCRIPT CAPITAL H..PLANCK CONSTANT -210F ; mapped ; 0127 # 1.1 PLANCK CONSTANT OVER TWO PI -2110..2111 ; mapped ; 0069 # 1.1 SCRIPT CAPITAL I..BLACK-LETTER CAPITAL I -2112..2113 ; mapped ; 006C # 1.1 SCRIPT CAPITAL L..SCRIPT SMALL L -2114 ; valid ; ; NV8 # 1.1 L B BAR SYMBOL -2115 ; mapped ; 006E # 1.1 DOUBLE-STRUCK CAPITAL N -2116 ; mapped ; 006E 006F # 1.1 NUMERO SIGN -2117..2118 ; valid ; ; NV8 # 1.1 SOUND RECORDING COPYRIGHT..SCRIPT CAPITAL P -2119 ; mapped ; 0070 # 1.1 DOUBLE-STRUCK CAPITAL P -211A ; mapped ; 0071 # 1.1 DOUBLE-STRUCK CAPITAL Q -211B..211D ; mapped ; 0072 # 1.1 SCRIPT CAPITAL R..DOUBLE-STRUCK CAPITAL R -211E..211F ; valid ; ; NV8 # 1.1 PRESCRIPTION TAKE..RESPONSE -2120 ; mapped ; 0073 006D # 1.1 SERVICE MARK -2121 ; mapped ; 0074 0065 006C #1.1 TELEPHONE SIGN -2122 ; mapped ; 0074 006D # 1.1 TRADE MARK SIGN -2123 ; valid ; ; NV8 # 1.1 VERSICLE -2124 ; mapped ; 007A # 1.1 DOUBLE-STRUCK CAPITAL Z -2125 ; valid ; ; NV8 # 1.1 OUNCE SIGN -2126 ; mapped ; 03C9 # 1.1 OHM SIGN -2127 ; valid ; ; NV8 # 1.1 INVERTED OHM SIGN -2128 ; mapped ; 007A # 1.1 BLACK-LETTER CAPITAL Z -2129 ; valid ; ; NV8 # 1.1 TURNED GREEK SMALL LETTER IOTA -212A ; mapped ; 006B # 1.1 KELVIN SIGN -212B ; mapped ; 00E5 # 1.1 ANGSTROM SIGN -212C ; mapped ; 0062 # 1.1 SCRIPT CAPITAL B -212D ; mapped ; 0063 # 1.1 BLACK-LETTER CAPITAL C -212E ; valid ; ; NV8 # 1.1 ESTIMATED SYMBOL -212F..2130 ; mapped ; 0065 # 1.1 SCRIPT SMALL E..SCRIPT CAPITAL E -2131 ; mapped ; 0066 # 1.1 SCRIPT CAPITAL F -2132 ; disallowed # 1.1 TURNED CAPITAL F -2133 ; mapped ; 006D # 1.1 SCRIPT CAPITAL M -2134 ; mapped ; 006F # 1.1 SCRIPT SMALL O -2135 ; mapped ; 05D0 # 1.1 ALEF SYMBOL -2136 ; mapped ; 05D1 # 1.1 BET SYMBOL -2137 ; mapped ; 05D2 # 1.1 GIMEL SYMBOL -2138 ; mapped ; 05D3 # 1.1 DALET SYMBOL -2139 ; mapped ; 0069 # 3.0 INFORMATION SOURCE -213A ; valid ; ; NV8 # 3.0 ROTATED CAPITAL Q -213B ; mapped ; 0066 0061 0078 #4.0 FACSIMILE SIGN -213C ; mapped ; 03C0 # 4.1 DOUBLE-STRUCK SMALL PI -213D..213E ; mapped ; 03B3 # 3.2 DOUBLE-STRUCK SMALL GAMMA..DOUBLE-STRUCK CAPITAL GAMMA -213F ; mapped ; 03C0 # 3.2 DOUBLE-STRUCK CAPITAL PI -2140 ; mapped ; 2211 # 3.2 DOUBLE-STRUCK N-ARY SUMMATION -2141..2144 ; valid ; ; NV8 # 3.2 TURNED SANS-SERIF CAPITAL G..TURNED SANS-SERIF CAPITAL Y -2145..2146 ; mapped ; 0064 # 3.2 DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL D -2147 ; mapped ; 0065 # 3.2 DOUBLE-STRUCK ITALIC SMALL E -2148 ; mapped ; 0069 # 3.2 DOUBLE-STRUCK ITALIC SMALL I -2149 ; mapped ; 006A # 3.2 DOUBLE-STRUCK ITALIC SMALL J -214A..214B ; valid ; ; NV8 # 3.2 PROPERTY LINE..TURNED AMPERSAND -214C ; valid ; ; NV8 # 4.1 PER SIGN -214D ; valid ; ; NV8 # 5.0 AKTIESELSKAB -214E ; valid # 5.0 TURNED SMALL F -214F ; valid ; ; NV8 # 5.1 SYMBOL FOR SAMARITAN SOURCE -2150 ; mapped ; 0031 2044 0037 #5.2 VULGAR FRACTION ONE SEVENTH -2151 ; mapped ; 0031 2044 0039 #5.2 VULGAR FRACTION ONE NINTH -2152 ; mapped ; 0031 2044 0031 0030 #5.2 VULGAR FRACTION ONE TENTH -2153 ; mapped ; 0031 2044 0033 #1.1 VULGAR FRACTION ONE THIRD -2154 ; mapped ; 0032 2044 0033 #1.1 VULGAR FRACTION TWO THIRDS -2155 ; mapped ; 0031 2044 0035 #1.1 VULGAR FRACTION ONE FIFTH -2156 ; mapped ; 0032 2044 0035 #1.1 VULGAR FRACTION TWO FIFTHS -2157 ; mapped ; 0033 2044 0035 #1.1 VULGAR FRACTION THREE FIFTHS -2158 ; mapped ; 0034 2044 0035 #1.1 VULGAR FRACTION FOUR FIFTHS -2159 ; mapped ; 0031 2044 0036 #1.1 VULGAR FRACTION ONE SIXTH -215A ; mapped ; 0035 2044 0036 #1.1 VULGAR FRACTION FIVE SIXTHS -215B ; mapped ; 0031 2044 0038 #1.1 VULGAR FRACTION ONE EIGHTH -215C ; mapped ; 0033 2044 0038 #1.1 VULGAR FRACTION THREE EIGHTHS -215D ; mapped ; 0035 2044 0038 #1.1 VULGAR FRACTION FIVE EIGHTHS -215E ; mapped ; 0037 2044 0038 #1.1 VULGAR FRACTION SEVEN EIGHTHS -215F ; mapped ; 0031 2044 # 1.1 FRACTION NUMERATOR ONE -2160 ; mapped ; 0069 # 1.1 ROMAN NUMERAL ONE -2161 ; mapped ; 0069 0069 # 1.1 ROMAN NUMERAL TWO -2162 ; mapped ; 0069 0069 0069 #1.1 ROMAN NUMERAL THREE -2163 ; mapped ; 0069 0076 # 1.1 ROMAN NUMERAL FOUR -2164 ; mapped ; 0076 # 1.1 ROMAN NUMERAL FIVE -2165 ; mapped ; 0076 0069 # 1.1 ROMAN NUMERAL SIX -2166 ; mapped ; 0076 0069 0069 #1.1 ROMAN NUMERAL SEVEN -2167 ; mapped ; 0076 0069 0069 0069 #1.1 ROMAN NUMERAL EIGHT -2168 ; mapped ; 0069 0078 # 1.1 ROMAN NUMERAL NINE -2169 ; mapped ; 0078 # 1.1 ROMAN NUMERAL TEN -216A ; mapped ; 0078 0069 # 1.1 ROMAN NUMERAL ELEVEN -216B ; mapped ; 0078 0069 0069 #1.1 ROMAN NUMERAL TWELVE -216C ; mapped ; 006C # 1.1 ROMAN NUMERAL FIFTY -216D ; mapped ; 0063 # 1.1 ROMAN NUMERAL ONE HUNDRED -216E ; mapped ; 0064 # 1.1 ROMAN NUMERAL FIVE HUNDRED -216F ; mapped ; 006D # 1.1 ROMAN NUMERAL ONE THOUSAND -2170 ; mapped ; 0069 # 1.1 SMALL ROMAN NUMERAL ONE -2171 ; mapped ; 0069 0069 # 1.1 SMALL ROMAN NUMERAL TWO -2172 ; mapped ; 0069 0069 0069 #1.1 SMALL ROMAN NUMERAL THREE -2173 ; mapped ; 0069 0076 # 1.1 SMALL ROMAN NUMERAL FOUR -2174 ; mapped ; 0076 # 1.1 SMALL ROMAN NUMERAL FIVE -2175 ; mapped ; 0076 0069 # 1.1 SMALL ROMAN NUMERAL SIX -2176 ; mapped ; 0076 0069 0069 #1.1 SMALL ROMAN NUMERAL SEVEN -2177 ; mapped ; 0076 0069 0069 0069 #1.1 SMALL ROMAN NUMERAL EIGHT -2178 ; mapped ; 0069 0078 # 1.1 SMALL ROMAN NUMERAL NINE -2179 ; mapped ; 0078 # 1.1 SMALL ROMAN NUMERAL TEN -217A ; mapped ; 0078 0069 # 1.1 SMALL ROMAN NUMERAL ELEVEN -217B ; mapped ; 0078 0069 0069 #1.1 SMALL ROMAN NUMERAL TWELVE -217C ; mapped ; 006C # 1.1 SMALL ROMAN NUMERAL FIFTY -217D ; mapped ; 0063 # 1.1 SMALL ROMAN NUMERAL ONE HUNDRED -217E ; mapped ; 0064 # 1.1 SMALL ROMAN NUMERAL FIVE HUNDRED -217F ; mapped ; 006D # 1.1 SMALL ROMAN NUMERAL ONE THOUSAND -2180..2182 ; valid ; ; NV8 # 1.1 ROMAN NUMERAL ONE THOUSAND C D..ROMAN NUMERAL TEN THOUSAND -2183 ; disallowed # 3.0 ROMAN NUMERAL REVERSED ONE HUNDRED -2184 ; valid # 5.0 LATIN SMALL LETTER REVERSED C -2185..2188 ; valid ; ; NV8 # 5.1 ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND -2189 ; mapped ; 0030 2044 0033 #5.2 VULGAR FRACTION ZERO THIRDS -218A..218B ; valid ; ; NV8 # 8.0 TURNED DIGIT TWO..TURNED DIGIT THREE -218C..218F ; disallowed # NA <reserved-218C>..<reserved-218F> -2190..21EA ; valid ; ; NV8 # 1.1 LEFTWARDS ARROW..UPWARDS WHITE ARROW FROM BAR -21EB..21F3 ; valid ; ; NV8 # 3.0 UPWARDS WHITE ARROW ON PEDESTAL..UP DOWN WHITE ARROW -21F4..21FF ; valid ; ; NV8 # 3.2 RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW -2200..222B ; valid ; ; NV8 # 1.1 FOR ALL..INTEGRAL -222C ; mapped ; 222B 222B # 1.1 DOUBLE INTEGRAL -222D ; mapped ; 222B 222B 222B #1.1 TRIPLE INTEGRAL -222E ; valid ; ; NV8 # 1.1 CONTOUR INTEGRAL -222F ; mapped ; 222E 222E # 1.1 SURFACE INTEGRAL -2230 ; mapped ; 222E 222E 222E #1.1 VOLUME INTEGRAL -2231..225F ; valid ; ; NV8 # 1.1 CLOCKWISE INTEGRAL..QUESTIONED EQUAL TO -2260 ; disallowed_STD3_valid # 1.1 NOT EQUAL TO -2261..226D ; valid ; ; NV8 # 1.1 IDENTICAL TO..NOT EQUIVALENT TO -226E..226F ; disallowed_STD3_valid # 1.1 NOT LESS-THAN..NOT GREATER-THAN -2270..22F1 ; valid ; ; NV8 # 1.1 NEITHER LESS-THAN NOR EQUAL TO..DOWN RIGHT DIAGONAL ELLIPSIS -22F2..22FF ; valid ; ; NV8 # 3.2 ELEMENT OF WITH LONG HORIZONTAL STROKE..Z NOTATION BAG MEMBERSHIP -2300 ; valid ; ; NV8 # 1.1 DIAMETER SIGN -2301 ; valid ; ; NV8 # 3.0 ELECTRIC ARROW -2302..2328 ; valid ; ; NV8 # 1.1 HOUSE..KEYBOARD -2329 ; mapped ; 3008 # 1.1 LEFT-POINTING ANGLE BRACKET -232A ; mapped ; 3009 # 1.1 RIGHT-POINTING ANGLE BRACKET -232B..237A ; valid ; ; NV8 # 1.1 ERASE TO THE LEFT..APL FUNCTIONAL SYMBOL ALPHA -237B ; valid ; ; NV8 # 3.0 NOT CHECK MARK -237C ; valid ; ; NV8 # 3.2 RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW -237D..239A ; valid ; ; NV8 # 3.0 SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL -239B..23CE ; valid ; ; NV8 # 3.2 LEFT PARENTHESIS UPPER HOOK..RETURN SYMBOL -23CF..23D0 ; valid ; ; NV8 # 4.0 EJECT SYMBOL..VERTICAL LINE EXTENSION -23D1..23DB ; valid ; ; NV8 # 4.1 METRICAL BREVE..FUSE -23DC..23E7 ; valid ; ; NV8 # 5.0 TOP PARENTHESIS..ELECTRICAL INTERSECTION -23E8 ; valid ; ; NV8 # 5.2 DECIMAL EXPONENT SYMBOL -23E9..23F3 ; valid ; ; NV8 # 6.0 BLACK RIGHT-POINTING DOUBLE TRIANGLE..HOURGLASS WITH FLOWING SAND -23F4..23FA ; valid ; ; NV8 # 7.0 BLACK MEDIUM LEFT-POINTING TRIANGLE..BLACK CIRCLE FOR RECORD -23FB..23FE ; valid ; ; NV8 # 9.0 POWER SYMBOL..POWER SLEEP SYMBOL -23FF ; disallowed # NA <reserved-23FF> -2400..2424 ; valid ; ; NV8 # 1.1 SYMBOL FOR NULL..SYMBOL FOR NEWLINE -2425..2426 ; valid ; ; NV8 # 3.0 SYMBOL FOR DELETE FORM TWO..SYMBOL FOR SUBSTITUTE FORM TWO -2427..243F ; disallowed # NA <reserved-2427>..<reserved-243F> -2440..244A ; valid ; ; NV8 # 1.1 OCR HOOK..OCR DOUBLE BACKSLASH -244B..245F ; disallowed # NA <reserved-244B>..<reserved-245F> -2460 ; mapped ; 0031 # 1.1 CIRCLED DIGIT ONE -2461 ; mapped ; 0032 # 1.1 CIRCLED DIGIT TWO -2462 ; mapped ; 0033 # 1.1 CIRCLED DIGIT THREE -2463 ; mapped ; 0034 # 1.1 CIRCLED DIGIT FOUR -2464 ; mapped ; 0035 # 1.1 CIRCLED DIGIT FIVE -2465 ; mapped ; 0036 # 1.1 CIRCLED DIGIT SIX -2466 ; mapped ; 0037 # 1.1 CIRCLED DIGIT SEVEN -2467 ; mapped ; 0038 # 1.1 CIRCLED DIGIT EIGHT -2468 ; mapped ; 0039 # 1.1 CIRCLED DIGIT NINE -2469 ; mapped ; 0031 0030 # 1.1 CIRCLED NUMBER TEN -246A ; mapped ; 0031 0031 # 1.1 CIRCLED NUMBER ELEVEN -246B ; mapped ; 0031 0032 # 1.1 CIRCLED NUMBER TWELVE -246C ; mapped ; 0031 0033 # 1.1 CIRCLED NUMBER THIRTEEN -246D ; mapped ; 0031 0034 # 1.1 CIRCLED NUMBER FOURTEEN -246E ; mapped ; 0031 0035 # 1.1 CIRCLED NUMBER FIFTEEN -246F ; mapped ; 0031 0036 # 1.1 CIRCLED NUMBER SIXTEEN -2470 ; mapped ; 0031 0037 # 1.1 CIRCLED NUMBER SEVENTEEN -2471 ; mapped ; 0031 0038 # 1.1 CIRCLED NUMBER EIGHTEEN -2472 ; mapped ; 0031 0039 # 1.1 CIRCLED NUMBER NINETEEN -2473 ; mapped ; 0032 0030 # 1.1 CIRCLED NUMBER TWENTY -2474 ; disallowed_STD3_mapped ; 0028 0031 0029 #1.1 PARENTHESIZED DIGIT ONE -2475 ; disallowed_STD3_mapped ; 0028 0032 0029 #1.1 PARENTHESIZED DIGIT TWO -2476 ; disallowed_STD3_mapped ; 0028 0033 0029 #1.1 PARENTHESIZED DIGIT THREE -2477 ; disallowed_STD3_mapped ; 0028 0034 0029 #1.1 PARENTHESIZED DIGIT FOUR -2478 ; disallowed_STD3_mapped ; 0028 0035 0029 #1.1 PARENTHESIZED DIGIT FIVE -2479 ; disallowed_STD3_mapped ; 0028 0036 0029 #1.1 PARENTHESIZED DIGIT SIX -247A ; disallowed_STD3_mapped ; 0028 0037 0029 #1.1 PARENTHESIZED DIGIT SEVEN -247B ; disallowed_STD3_mapped ; 0028 0038 0029 #1.1 PARENTHESIZED DIGIT EIGHT -247C ; disallowed_STD3_mapped ; 0028 0039 0029 #1.1 PARENTHESIZED DIGIT NINE -247D ; disallowed_STD3_mapped ; 0028 0031 0030 0029 #1.1 PARENTHESIZED NUMBER TEN -247E ; disallowed_STD3_mapped ; 0028 0031 0031 0029 #1.1 PARENTHESIZED NUMBER ELEVEN -247F ; disallowed_STD3_mapped ; 0028 0031 0032 0029 #1.1 PARENTHESIZED NUMBER TWELVE -2480 ; disallowed_STD3_mapped ; 0028 0031 0033 0029 #1.1 PARENTHESIZED NUMBER THIRTEEN -2481 ; disallowed_STD3_mapped ; 0028 0031 0034 0029 #1.1 PARENTHESIZED NUMBER FOURTEEN -2482 ; disallowed_STD3_mapped ; 0028 0031 0035 0029 #1.1 PARENTHESIZED NUMBER FIFTEEN -2483 ; disallowed_STD3_mapped ; 0028 0031 0036 0029 #1.1 PARENTHESIZED NUMBER SIXTEEN -2484 ; disallowed_STD3_mapped ; 0028 0031 0037 0029 #1.1 PARENTHESIZED NUMBER SEVENTEEN -2485 ; disallowed_STD3_mapped ; 0028 0031 0038 0029 #1.1 PARENTHESIZED NUMBER EIGHTEEN -2486 ; disallowed_STD3_mapped ; 0028 0031 0039 0029 #1.1 PARENTHESIZED NUMBER NINETEEN -2487 ; disallowed_STD3_mapped ; 0028 0032 0030 0029 #1.1 PARENTHESIZED NUMBER TWENTY -2488..249B ; disallowed # 1.1 DIGIT ONE FULL STOP..NUMBER TWENTY FULL STOP -249C ; disallowed_STD3_mapped ; 0028 0061 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER A -249D ; disallowed_STD3_mapped ; 0028 0062 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER B -249E ; disallowed_STD3_mapped ; 0028 0063 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER C -249F ; disallowed_STD3_mapped ; 0028 0064 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER D -24A0 ; disallowed_STD3_mapped ; 0028 0065 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER E -24A1 ; disallowed_STD3_mapped ; 0028 0066 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER F -24A2 ; disallowed_STD3_mapped ; 0028 0067 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER G -24A3 ; disallowed_STD3_mapped ; 0028 0068 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER H -24A4 ; disallowed_STD3_mapped ; 0028 0069 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER I -24A5 ; disallowed_STD3_mapped ; 0028 006A 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER J -24A6 ; disallowed_STD3_mapped ; 0028 006B 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER K -24A7 ; disallowed_STD3_mapped ; 0028 006C 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER L -24A8 ; disallowed_STD3_mapped ; 0028 006D 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER M -24A9 ; disallowed_STD3_mapped ; 0028 006E 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER N -24AA ; disallowed_STD3_mapped ; 0028 006F 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER O -24AB ; disallowed_STD3_mapped ; 0028 0070 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER P -24AC ; disallowed_STD3_mapped ; 0028 0071 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER Q -24AD ; disallowed_STD3_mapped ; 0028 0072 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER R -24AE ; disallowed_STD3_mapped ; 0028 0073 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER S -24AF ; disallowed_STD3_mapped ; 0028 0074 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER T -24B0 ; disallowed_STD3_mapped ; 0028 0075 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER U -24B1 ; disallowed_STD3_mapped ; 0028 0076 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER V -24B2 ; disallowed_STD3_mapped ; 0028 0077 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER W -24B3 ; disallowed_STD3_mapped ; 0028 0078 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER X -24B4 ; disallowed_STD3_mapped ; 0028 0079 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER Y -24B5 ; disallowed_STD3_mapped ; 0028 007A 0029 #1.1 PARENTHESIZED LATIN SMALL LETTER Z -24B6 ; mapped ; 0061 # 1.1 CIRCLED LATIN CAPITAL LETTER A -24B7 ; mapped ; 0062 # 1.1 CIRCLED LATIN CAPITAL LETTER B -24B8 ; mapped ; 0063 # 1.1 CIRCLED LATIN CAPITAL LETTER C -24B9 ; mapped ; 0064 # 1.1 CIRCLED LATIN CAPITAL LETTER D -24BA ; mapped ; 0065 # 1.1 CIRCLED LATIN CAPITAL LETTER E -24BB ; mapped ; 0066 # 1.1 CIRCLED LATIN CAPITAL LETTER F -24BC ; mapped ; 0067 # 1.1 CIRCLED LATIN CAPITAL LETTER G -24BD ; mapped ; 0068 # 1.1 CIRCLED LATIN CAPITAL LETTER H -24BE ; mapped ; 0069 # 1.1 CIRCLED LATIN CAPITAL LETTER I -24BF ; mapped ; 006A # 1.1 CIRCLED LATIN CAPITAL LETTER J -24C0 ; mapped ; 006B # 1.1 CIRCLED LATIN CAPITAL LETTER K -24C1 ; mapped ; 006C # 1.1 CIRCLED LATIN CAPITAL LETTER L -24C2 ; mapped ; 006D # 1.1 CIRCLED LATIN CAPITAL LETTER M -24C3 ; mapped ; 006E # 1.1 CIRCLED LATIN CAPITAL LETTER N -24C4 ; mapped ; 006F # 1.1 CIRCLED LATIN CAPITAL LETTER O -24C5 ; mapped ; 0070 # 1.1 CIRCLED LATIN CAPITAL LETTER P -24C6 ; mapped ; 0071 # 1.1 CIRCLED LATIN CAPITAL LETTER Q -24C7 ; mapped ; 0072 # 1.1 CIRCLED LATIN CAPITAL LETTER R -24C8 ; mapped ; 0073 # 1.1 CIRCLED LATIN CAPITAL LETTER S -24C9 ; mapped ; 0074 # 1.1 CIRCLED LATIN CAPITAL LETTER T -24CA ; mapped ; 0075 # 1.1 CIRCLED LATIN CAPITAL LETTER U -24CB ; mapped ; 0076 # 1.1 CIRCLED LATIN CAPITAL LETTER V -24CC ; mapped ; 0077 # 1.1 CIRCLED LATIN CAPITAL LETTER W -24CD ; mapped ; 0078 # 1.1 CIRCLED LATIN CAPITAL LETTER X -24CE ; mapped ; 0079 # 1.1 CIRCLED LATIN CAPITAL LETTER Y -24CF ; mapped ; 007A # 1.1 CIRCLED LATIN CAPITAL LETTER Z -24D0 ; mapped ; 0061 # 1.1 CIRCLED LATIN SMALL LETTER A -24D1 ; mapped ; 0062 # 1.1 CIRCLED LATIN SMALL LETTER B -24D2 ; mapped ; 0063 # 1.1 CIRCLED LATIN SMALL LETTER C -24D3 ; mapped ; 0064 # 1.1 CIRCLED LATIN SMALL LETTER D -24D4 ; mapped ; 0065 # 1.1 CIRCLED LATIN SMALL LETTER E -24D5 ; mapped ; 0066 # 1.1 CIRCLED LATIN SMALL LETTER F -24D6 ; mapped ; 0067 # 1.1 CIRCLED LATIN SMALL LETTER G -24D7 ; mapped ; 0068 # 1.1 CIRCLED LATIN SMALL LETTER H -24D8 ; mapped ; 0069 # 1.1 CIRCLED LATIN SMALL LETTER I -24D9 ; mapped ; 006A # 1.1 CIRCLED LATIN SMALL LETTER J -24DA ; mapped ; 006B # 1.1 CIRCLED LATIN SMALL LETTER K -24DB ; mapped ; 006C # 1.1 CIRCLED LATIN SMALL LETTER L -24DC ; mapped ; 006D # 1.1 CIRCLED LATIN SMALL LETTER M -24DD ; mapped ; 006E # 1.1 CIRCLED LATIN SMALL LETTER N -24DE ; mapped ; 006F # 1.1 CIRCLED LATIN SMALL LETTER O -24DF ; mapped ; 0070 # 1.1 CIRCLED LATIN SMALL LETTER P -24E0 ; mapped ; 0071 # 1.1 CIRCLED LATIN SMALL LETTER Q -24E1 ; mapped ; 0072 # 1.1 CIRCLED LATIN SMALL LETTER R -24E2 ; mapped ; 0073 # 1.1 CIRCLED LATIN SMALL LETTER S -24E3 ; mapped ; 0074 # 1.1 CIRCLED LATIN SMALL LETTER T -24E4 ; mapped ; 0075 # 1.1 CIRCLED LATIN SMALL LETTER U -24E5 ; mapped ; 0076 # 1.1 CIRCLED LATIN SMALL LETTER V -24E6 ; mapped ; 0077 # 1.1 CIRCLED LATIN SMALL LETTER W -24E7 ; mapped ; 0078 # 1.1 CIRCLED LATIN SMALL LETTER X -24E8 ; mapped ; 0079 # 1.1 CIRCLED LATIN SMALL LETTER Y -24E9 ; mapped ; 007A # 1.1 CIRCLED LATIN SMALL LETTER Z -24EA ; mapped ; 0030 # 1.1 CIRCLED DIGIT ZERO -24EB..24FE ; valid ; ; NV8 # 3.2 NEGATIVE CIRCLED NUMBER ELEVEN..DOUBLE CIRCLED NUMBER TEN -24FF ; valid ; ; NV8 # 4.0 NEGATIVE CIRCLED DIGIT ZERO -2500..2595 ; valid ; ; NV8 # 1.1 BOX DRAWINGS LIGHT HORIZONTAL..RIGHT ONE EIGHTH BLOCK -2596..259F ; valid ; ; NV8 # 3.2 QUADRANT LOWER LEFT..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT -25A0..25EF ; valid ; ; NV8 # 1.1 BLACK SQUARE..LARGE CIRCLE -25F0..25F7 ; valid ; ; NV8 # 3.0 WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT -25F8..25FF ; valid ; ; NV8 # 3.2 UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE -2600..2613 ; valid ; ; NV8 # 1.1 BLACK SUN WITH RAYS..SALTIRE -2614..2615 ; valid ; ; NV8 # 4.0 UMBRELLA WITH RAIN DROPS..HOT BEVERAGE -2616..2617 ; valid ; ; NV8 # 3.2 WHITE SHOGI PIECE..BLACK SHOGI PIECE -2618 ; valid ; ; NV8 # 4.1 SHAMROCK -2619 ; valid ; ; NV8 # 3.0 REVERSED ROTATED FLORAL HEART BULLET -261A..266F ; valid ; ; NV8 # 1.1 BLACK LEFT POINTING INDEX..MUSIC SHARP SIGN -2670..2671 ; valid ; ; NV8 # 3.0 WEST SYRIAC CROSS..EAST SYRIAC CROSS -2672..267D ; valid ; ; NV8 # 3.2 UNIVERSAL RECYCLING SYMBOL..PARTIALLY-RECYCLED PAPER SYMBOL -267E..267F ; valid ; ; NV8 # 4.1 PERMANENT PAPER SIGN..WHEELCHAIR SYMBOL -2680..2689 ; valid ; ; NV8 # 3.2 DIE FACE-1..BLACK CIRCLE WITH TWO WHITE DOTS -268A..2691 ; valid ; ; NV8 # 4.0 MONOGRAM FOR YANG..BLACK FLAG -2692..269C ; valid ; ; NV8 # 4.1 HAMMER AND PICK..FLEUR-DE-LIS -269D ; valid ; ; NV8 # 5.1 OUTLINED WHITE STAR -269E..269F ; valid ; ; NV8 # 5.2 THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT -26A0..26A1 ; valid ; ; NV8 # 4.0 WARNING SIGN..HIGH VOLTAGE SIGN -26A2..26B1 ; valid ; ; NV8 # 4.1 DOUBLED FEMALE SIGN..FUNERAL URN -26B2 ; valid ; ; NV8 # 5.0 NEUTER -26B3..26BC ; valid ; ; NV8 # 5.1 CERES..SESQUIQUADRATE -26BD..26BF ; valid ; ; NV8 # 5.2 SOCCER BALL..SQUARED KEY -26C0..26C3 ; valid ; ; NV8 # 5.1 WHITE DRAUGHTS MAN..BLACK DRAUGHTS KING -26C4..26CD ; valid ; ; NV8 # 5.2 SNOWMAN WITHOUT SNOW..DISABLED CAR -26CE ; valid ; ; NV8 # 6.0 OPHIUCHUS -26CF..26E1 ; valid ; ; NV8 # 5.2 PICK..RESTRICTED LEFT ENTRY-2 -26E2 ; valid ; ; NV8 # 6.0 ASTRONOMICAL SYMBOL FOR URANUS -26E3 ; valid ; ; NV8 # 5.2 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE -26E4..26E7 ; valid ; ; NV8 # 6.0 PENTAGRAM..INVERTED PENTAGRAM -26E8..26FF ; valid ; ; NV8 # 5.2 BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE -2700 ; valid ; ; NV8 # 7.0 BLACK SAFETY SCISSORS -2701..2704 ; valid ; ; NV8 # 1.1 UPPER BLADE SCISSORS..WHITE SCISSORS -2705 ; valid ; ; NV8 # 6.0 WHITE HEAVY CHECK MARK -2706..2709 ; valid ; ; NV8 # 1.1 TELEPHONE LOCATION SIGN..ENVELOPE -270A..270B ; valid ; ; NV8 # 6.0 RAISED FIST..RAISED HAND -270C..2727 ; valid ; ; NV8 # 1.1 VICTORY HAND..WHITE FOUR POINTED STAR -2728 ; valid ; ; NV8 # 6.0 SPARKLES -2729..274B ; valid ; ; NV8 # 1.1 STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK -274C ; valid ; ; NV8 # 6.0 CROSS MARK -274D ; valid ; ; NV8 # 1.1 SHADOWED WHITE CIRCLE -274E ; valid ; ; NV8 # 6.0 NEGATIVE SQUARED CROSS MARK -274F..2752 ; valid ; ; NV8 # 1.1 LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE -2753..2755 ; valid ; ; NV8 # 6.0 BLACK QUESTION MARK ORNAMENT..WHITE EXCLAMATION MARK ORNAMENT -2756 ; valid ; ; NV8 # 1.1 BLACK DIAMOND MINUS WHITE X -2757 ; valid ; ; NV8 # 5.2 HEAVY EXCLAMATION MARK SYMBOL -2758..275E ; valid ; ; NV8 # 1.1 LIGHT VERTICAL BAR..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT -275F..2760 ; valid ; ; NV8 # 6.0 HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT..HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT -2761..2767 ; valid ; ; NV8 # 1.1 CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET -2768..2775 ; valid ; ; NV8 # 3.2 MEDIUM LEFT PARENTHESIS ORNAMENT..MEDIUM RIGHT CURLY BRACKET ORNAMENT -2776..2794 ; valid ; ; NV8 # 1.1 DINGBAT NEGATIVE CIRCLED DIGIT ONE..HEAVY WIDE-HEADED RIGHTWARDS ARROW -2795..2797 ; valid ; ; NV8 # 6.0 HEAVY PLUS SIGN..HEAVY DIVISION SIGN -2798..27AF ; valid ; ; NV8 # 1.1 HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW -27B0 ; valid ; ; NV8 # 6.0 CURLY LOOP -27B1..27BE ; valid ; ; NV8 # 1.1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW -27BF ; valid ; ; NV8 # 6.0 DOUBLE CURLY LOOP -27C0..27C6 ; valid ; ; NV8 # 4.1 THREE DIMENSIONAL ANGLE..RIGHT S-SHAPED BAG DELIMITER -27C7..27CA ; valid ; ; NV8 # 5.0 OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE -27CB ; valid ; ; NV8 # 6.1 MATHEMATICAL RISING DIAGONAL -27CC ; valid ; ; NV8 # 5.1 LONG DIVISION -27CD ; valid ; ; NV8 # 6.1 MATHEMATICAL FALLING DIAGONAL -27CE..27CF ; valid ; ; NV8 # 6.0 SQUARED LOGICAL AND..SQUARED LOGICAL OR -27D0..27EB ; valid ; ; NV8 # 3.2 WHITE DIAMOND WITH CENTRED DOT..MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET -27EC..27EF ; valid ; ; NV8 # 5.1 MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET..MATHEMATICAL RIGHT FLATTENED PARENTHESIS -27F0..27FF ; valid ; ; NV8 # 3.2 UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW -2800..28FF ; valid ; ; NV8 # 3.0 BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678 -2900..2A0B ; valid ; ; NV8 # 3.2 RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..SUMMATION WITH INTEGRAL -2A0C ; mapped ; 222B 222B 222B 222B #3.2 QUADRUPLE INTEGRAL OPERATOR -2A0D..2A73 ; valid ; ; NV8 # 3.2 FINITE PART INTEGRAL..EQUALS SIGN ABOVE TILDE OPERATOR -2A74 ; disallowed_STD3_mapped ; 003A 003A 003D #3.2 DOUBLE COLON EQUAL -2A75 ; disallowed_STD3_mapped ; 003D 003D # 3.2 TWO CONSECUTIVE EQUALS SIGNS -2A76 ; disallowed_STD3_mapped ; 003D 003D 003D #3.2 THREE CONSECUTIVE EQUALS SIGNS -2A77..2ADB ; valid ; ; NV8 # 3.2 EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW..TRANSVERSAL INTERSECTION -2ADC ; mapped ; 2ADD 0338 # 3.2 FORKING -2ADD..2AFF ; valid ; ; NV8 # 3.2 NONFORKING..N-ARY WHITE VERTICAL BAR -2B00..2B0D ; valid ; ; NV8 # 4.0 NORTH EAST WHITE ARROW..UP DOWN BLACK ARROW -2B0E..2B13 ; valid ; ; NV8 # 4.1 RIGHTWARDS ARROW WITH TIP DOWNWARDS..SQUARE WITH BOTTOM HALF BLACK -2B14..2B1A ; valid ; ; NV8 # 5.0 SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK..DOTTED SQUARE -2B1B..2B1F ; valid ; ; NV8 # 5.1 BLACK LARGE SQUARE..BLACK PENTAGON -2B20..2B23 ; valid ; ; NV8 # 5.0 WHITE PENTAGON..HORIZONTAL BLACK HEXAGON -2B24..2B4C ; valid ; ; NV8 # 5.1 BLACK LARGE CIRCLE..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR -2B4D..2B4F ; valid ; ; NV8 # 7.0 DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW..SHORT BACKSLANTED SOUTH ARROW -2B50..2B54 ; valid ; ; NV8 # 5.1 WHITE MEDIUM STAR..WHITE RIGHT-POINTING PENTAGON -2B55..2B59 ; valid ; ; NV8 # 5.2 HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE -2B5A..2B73 ; valid ; ; NV8 # 7.0 SLANTED NORTH ARROW WITH HOOKED HEAD..DOWNWARDS TRIANGLE-HEADED ARROW TO BAR -2B74..2B75 ; disallowed # NA <reserved-2B74>..<reserved-2B75> -2B76..2B95 ; valid ; ; NV8 # 7.0 NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW -2B96..2B97 ; disallowed # NA <reserved-2B96>..<reserved-2B97> -2B98..2BB9 ; valid ; ; NV8 # 7.0 THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX -2BBA..2BBC ; disallowed # NA <reserved-2BBA>..<reserved-2BBC> -2BBD..2BC8 ; valid ; ; NV8 # 7.0 BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED -2BC9 ; disallowed # NA <reserved-2BC9> -2BCA..2BD1 ; valid ; ; NV8 # 7.0 TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN -2BD2..2BEB ; disallowed # NA <reserved-2BD2>..<reserved-2BEB> -2BEC..2BEF ; valid ; ; NV8 # 8.0 LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS -2BF0..2BFF ; disallowed # NA <reserved-2BF0>..<reserved-2BFF> -2C00 ; mapped ; 2C30 # 4.1 GLAGOLITIC CAPITAL LETTER AZU -2C01 ; mapped ; 2C31 # 4.1 GLAGOLITIC CAPITAL LETTER BUKY -2C02 ; mapped ; 2C32 # 4.1 GLAGOLITIC CAPITAL LETTER VEDE -2C03 ; mapped ; 2C33 # 4.1 GLAGOLITIC CAPITAL LETTER GLAGOLI -2C04 ; mapped ; 2C34 # 4.1 GLAGOLITIC CAPITAL LETTER DOBRO -2C05 ; mapped ; 2C35 # 4.1 GLAGOLITIC CAPITAL LETTER YESTU -2C06 ; mapped ; 2C36 # 4.1 GLAGOLITIC CAPITAL LETTER ZHIVETE -2C07 ; mapped ; 2C37 # 4.1 GLAGOLITIC CAPITAL LETTER DZELO -2C08 ; mapped ; 2C38 # 4.1 GLAGOLITIC CAPITAL LETTER ZEMLJA -2C09 ; mapped ; 2C39 # 4.1 GLAGOLITIC CAPITAL LETTER IZHE -2C0A ; mapped ; 2C3A # 4.1 GLAGOLITIC CAPITAL LETTER INITIAL IZHE -2C0B ; mapped ; 2C3B # 4.1 GLAGOLITIC CAPITAL LETTER I -2C0C ; mapped ; 2C3C # 4.1 GLAGOLITIC CAPITAL LETTER DJERVI -2C0D ; mapped ; 2C3D # 4.1 GLAGOLITIC CAPITAL LETTER KAKO -2C0E ; mapped ; 2C3E # 4.1 GLAGOLITIC CAPITAL LETTER LJUDIJE -2C0F ; mapped ; 2C3F # 4.1 GLAGOLITIC CAPITAL LETTER MYSLITE -2C10 ; mapped ; 2C40 # 4.1 GLAGOLITIC CAPITAL LETTER NASHI -2C11 ; mapped ; 2C41 # 4.1 GLAGOLITIC CAPITAL LETTER ONU -2C12 ; mapped ; 2C42 # 4.1 GLAGOLITIC CAPITAL LETTER POKOJI -2C13 ; mapped ; 2C43 # 4.1 GLAGOLITIC CAPITAL LETTER RITSI -2C14 ; mapped ; 2C44 # 4.1 GLAGOLITIC CAPITAL LETTER SLOVO -2C15 ; mapped ; 2C45 # 4.1 GLAGOLITIC CAPITAL LETTER TVRIDO -2C16 ; mapped ; 2C46 # 4.1 GLAGOLITIC CAPITAL LETTER UKU -2C17 ; mapped ; 2C47 # 4.1 GLAGOLITIC CAPITAL LETTER FRITU -2C18 ; mapped ; 2C48 # 4.1 GLAGOLITIC CAPITAL LETTER HERU -2C19 ; mapped ; 2C49 # 4.1 GLAGOLITIC CAPITAL LETTER OTU -2C1A ; mapped ; 2C4A # 4.1 GLAGOLITIC CAPITAL LETTER PE -2C1B ; mapped ; 2C4B # 4.1 GLAGOLITIC CAPITAL LETTER SHTA -2C1C ; mapped ; 2C4C # 4.1 GLAGOLITIC CAPITAL LETTER TSI -2C1D ; mapped ; 2C4D # 4.1 GLAGOLITIC CAPITAL LETTER CHRIVI -2C1E ; mapped ; 2C4E # 4.1 GLAGOLITIC CAPITAL LETTER SHA -2C1F ; mapped ; 2C4F # 4.1 GLAGOLITIC CAPITAL LETTER YERU -2C20 ; mapped ; 2C50 # 4.1 GLAGOLITIC CAPITAL LETTER YERI -2C21 ; mapped ; 2C51 # 4.1 GLAGOLITIC CAPITAL LETTER YATI -2C22 ; mapped ; 2C52 # 4.1 GLAGOLITIC CAPITAL LETTER SPIDERY HA -2C23 ; mapped ; 2C53 # 4.1 GLAGOLITIC CAPITAL LETTER YU -2C24 ; mapped ; 2C54 # 4.1 GLAGOLITIC CAPITAL LETTER SMALL YUS -2C25 ; mapped ; 2C55 # 4.1 GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL -2C26 ; mapped ; 2C56 # 4.1 GLAGOLITIC CAPITAL LETTER YO -2C27 ; mapped ; 2C57 # 4.1 GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS -2C28 ; mapped ; 2C58 # 4.1 GLAGOLITIC CAPITAL LETTER BIG YUS -2C29 ; mapped ; 2C59 # 4.1 GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS -2C2A ; mapped ; 2C5A # 4.1 GLAGOLITIC CAPITAL LETTER FITA -2C2B ; mapped ; 2C5B # 4.1 GLAGOLITIC CAPITAL LETTER IZHITSA -2C2C ; mapped ; 2C5C # 4.1 GLAGOLITIC CAPITAL LETTER SHTAPIC -2C2D ; mapped ; 2C5D # 4.1 GLAGOLITIC CAPITAL LETTER TROKUTASTI A -2C2E ; mapped ; 2C5E # 4.1 GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE -2C2F ; disallowed # NA <reserved-2C2F> -2C30..2C5E ; valid # 4.1 GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE -2C5F ; disallowed # NA <reserved-2C5F> -2C60 ; mapped ; 2C61 # 5.0 LATIN CAPITAL LETTER L WITH DOUBLE BAR -2C61 ; valid # 5.0 LATIN SMALL LETTER L WITH DOUBLE BAR -2C62 ; mapped ; 026B # 5.0 LATIN CAPITAL LETTER L WITH MIDDLE TILDE -2C63 ; mapped ; 1D7D # 5.0 LATIN CAPITAL LETTER P WITH STROKE -2C64 ; mapped ; 027D # 5.0 LATIN CAPITAL LETTER R WITH TAIL -2C65..2C66 ; valid # 5.0 LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE -2C67 ; mapped ; 2C68 # 5.0 LATIN CAPITAL LETTER H WITH DESCENDER -2C68 ; valid # 5.0 LATIN SMALL LETTER H WITH DESCENDER -2C69 ; mapped ; 2C6A # 5.0 LATIN CAPITAL LETTER K WITH DESCENDER -2C6A ; valid # 5.0 LATIN SMALL LETTER K WITH DESCENDER -2C6B ; mapped ; 2C6C # 5.0 LATIN CAPITAL LETTER Z WITH DESCENDER -2C6C ; valid # 5.0 LATIN SMALL LETTER Z WITH DESCENDER -2C6D ; mapped ; 0251 # 5.1 LATIN CAPITAL LETTER ALPHA -2C6E ; mapped ; 0271 # 5.1 LATIN CAPITAL LETTER M WITH HOOK -2C6F ; mapped ; 0250 # 5.1 LATIN CAPITAL LETTER TURNED A -2C70 ; mapped ; 0252 # 5.2 LATIN CAPITAL LETTER TURNED ALPHA -2C71 ; valid # 5.1 LATIN SMALL LETTER V WITH RIGHT HOOK -2C72 ; mapped ; 2C73 # 5.1 LATIN CAPITAL LETTER W WITH HOOK -2C73 ; valid # 5.1 LATIN SMALL LETTER W WITH HOOK -2C74 ; valid # 5.0 LATIN SMALL LETTER V WITH CURL -2C75 ; mapped ; 2C76 # 5.0 LATIN CAPITAL LETTER HALF H -2C76..2C77 ; valid # 5.0 LATIN SMALL LETTER HALF H..LATIN SMALL LETTER TAILLESS PHI -2C78..2C7B ; valid # 5.1 LATIN SMALL LETTER E WITH NOTCH..LATIN LETTER SMALL CAPITAL TURNED E -2C7C ; mapped ; 006A # 5.1 LATIN SUBSCRIPT SMALL LETTER J -2C7D ; mapped ; 0076 # 5.1 MODIFIER LETTER CAPITAL V -2C7E ; mapped ; 023F # 5.2 LATIN CAPITAL LETTER S WITH SWASH TAIL -2C7F ; mapped ; 0240 # 5.2 LATIN CAPITAL LETTER Z WITH SWASH TAIL -2C80 ; mapped ; 2C81 # 4.1 COPTIC CAPITAL LETTER ALFA -2C81 ; valid # 4.1 COPTIC SMALL LETTER ALFA -2C82 ; mapped ; 2C83 # 4.1 COPTIC CAPITAL LETTER VIDA -2C83 ; valid # 4.1 COPTIC SMALL LETTER VIDA -2C84 ; mapped ; 2C85 # 4.1 COPTIC CAPITAL LETTER GAMMA -2C85 ; valid # 4.1 COPTIC SMALL LETTER GAMMA -2C86 ; mapped ; 2C87 # 4.1 COPTIC CAPITAL LETTER DALDA -2C87 ; valid # 4.1 COPTIC SMALL LETTER DALDA -2C88 ; mapped ; 2C89 # 4.1 COPTIC CAPITAL LETTER EIE -2C89 ; valid # 4.1 COPTIC SMALL LETTER EIE -2C8A ; mapped ; 2C8B # 4.1 COPTIC CAPITAL LETTER SOU -2C8B ; valid # 4.1 COPTIC SMALL LETTER SOU -2C8C ; mapped ; 2C8D # 4.1 COPTIC CAPITAL LETTER ZATA -2C8D ; valid # 4.1 COPTIC SMALL LETTER ZATA -2C8E ; mapped ; 2C8F # 4.1 COPTIC CAPITAL LETTER HATE -2C8F ; valid # 4.1 COPTIC SMALL LETTER HATE -2C90 ; mapped ; 2C91 # 4.1 COPTIC CAPITAL LETTER THETHE -2C91 ; valid # 4.1 COPTIC SMALL LETTER THETHE -2C92 ; mapped ; 2C93 # 4.1 COPTIC CAPITAL LETTER IAUDA -2C93 ; valid # 4.1 COPTIC SMALL LETTER IAUDA -2C94 ; mapped ; 2C95 # 4.1 COPTIC CAPITAL LETTER KAPA -2C95 ; valid # 4.1 COPTIC SMALL LETTER KAPA -2C96 ; mapped ; 2C97 # 4.1 COPTIC CAPITAL LETTER LAULA -2C97 ; valid # 4.1 COPTIC SMALL LETTER LAULA -2C98 ; mapped ; 2C99 # 4.1 COPTIC CAPITAL LETTER MI -2C99 ; valid # 4.1 COPTIC SMALL LETTER MI -2C9A ; mapped ; 2C9B # 4.1 COPTIC CAPITAL LETTER NI -2C9B ; valid # 4.1 COPTIC SMALL LETTER NI -2C9C ; mapped ; 2C9D # 4.1 COPTIC CAPITAL LETTER KSI -2C9D ; valid # 4.1 COPTIC SMALL LETTER KSI -2C9E ; mapped ; 2C9F # 4.1 COPTIC CAPITAL LETTER O -2C9F ; valid # 4.1 COPTIC SMALL LETTER O -2CA0 ; mapped ; 2CA1 # 4.1 COPTIC CAPITAL LETTER PI -2CA1 ; valid # 4.1 COPTIC SMALL LETTER PI -2CA2 ; mapped ; 2CA3 # 4.1 COPTIC CAPITAL LETTER RO -2CA3 ; valid # 4.1 COPTIC SMALL LETTER RO -2CA4 ; mapped ; 2CA5 # 4.1 COPTIC CAPITAL LETTER SIMA -2CA5 ; valid # 4.1 COPTIC SMALL LETTER SIMA -2CA6 ; mapped ; 2CA7 # 4.1 COPTIC CAPITAL LETTER TAU -2CA7 ; valid # 4.1 COPTIC SMALL LETTER TAU -2CA8 ; mapped ; 2CA9 # 4.1 COPTIC CAPITAL LETTER UA -2CA9 ; valid # 4.1 COPTIC SMALL LETTER UA -2CAA ; mapped ; 2CAB # 4.1 COPTIC CAPITAL LETTER FI -2CAB ; valid # 4.1 COPTIC SMALL LETTER FI -2CAC ; mapped ; 2CAD # 4.1 COPTIC CAPITAL LETTER KHI -2CAD ; valid # 4.1 COPTIC SMALL LETTER KHI -2CAE ; mapped ; 2CAF # 4.1 COPTIC CAPITAL LETTER PSI -2CAF ; valid # 4.1 COPTIC SMALL LETTER PSI -2CB0 ; mapped ; 2CB1 # 4.1 COPTIC CAPITAL LETTER OOU -2CB1 ; valid # 4.1 COPTIC SMALL LETTER OOU -2CB2 ; mapped ; 2CB3 # 4.1 COPTIC CAPITAL LETTER DIALECT-P ALEF -2CB3 ; valid # 4.1 COPTIC SMALL LETTER DIALECT-P ALEF -2CB4 ; mapped ; 2CB5 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC AIN -2CB5 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC AIN -2CB6 ; mapped ; 2CB7 # 4.1 COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE -2CB7 ; valid # 4.1 COPTIC SMALL LETTER CRYPTOGRAMMIC EIE -2CB8 ; mapped ; 2CB9 # 4.1 COPTIC CAPITAL LETTER DIALECT-P KAPA -2CB9 ; valid # 4.1 COPTIC SMALL LETTER DIALECT-P KAPA -2CBA ; mapped ; 2CBB # 4.1 COPTIC CAPITAL LETTER DIALECT-P NI -2CBB ; valid # 4.1 COPTIC SMALL LETTER DIALECT-P NI -2CBC ; mapped ; 2CBD # 4.1 COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI -2CBD ; valid # 4.1 COPTIC SMALL LETTER CRYPTOGRAMMIC NI -2CBE ; mapped ; 2CBF # 4.1 COPTIC CAPITAL LETTER OLD COPTIC OOU -2CBF ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC OOU -2CC0 ; mapped ; 2CC1 # 4.1 COPTIC CAPITAL LETTER SAMPI -2CC1 ; valid # 4.1 COPTIC SMALL LETTER SAMPI -2CC2 ; mapped ; 2CC3 # 4.1 COPTIC CAPITAL LETTER CROSSED SHEI -2CC3 ; valid # 4.1 COPTIC SMALL LETTER CROSSED SHEI -2CC4 ; mapped ; 2CC5 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC SHEI -2CC5 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC SHEI -2CC6 ; mapped ; 2CC7 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC ESH -2CC7 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC ESH -2CC8 ; mapped ; 2CC9 # 4.1 COPTIC CAPITAL LETTER AKHMIMIC KHEI -2CC9 ; valid # 4.1 COPTIC SMALL LETTER AKHMIMIC KHEI -2CCA ; mapped ; 2CCB # 4.1 COPTIC CAPITAL LETTER DIALECT-P HORI -2CCB ; valid # 4.1 COPTIC SMALL LETTER DIALECT-P HORI -2CCC ; mapped ; 2CCD # 4.1 COPTIC CAPITAL LETTER OLD COPTIC HORI -2CCD ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC HORI -2CCE ; mapped ; 2CCF # 4.1 COPTIC CAPITAL LETTER OLD COPTIC HA -2CCF ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC HA -2CD0 ; mapped ; 2CD1 # 4.1 COPTIC CAPITAL LETTER L-SHAPED HA -2CD1 ; valid # 4.1 COPTIC SMALL LETTER L-SHAPED HA -2CD2 ; mapped ; 2CD3 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC HEI -2CD3 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC HEI -2CD4 ; mapped ; 2CD5 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC HAT -2CD5 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC HAT -2CD6 ; mapped ; 2CD7 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC GANGIA -2CD7 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC GANGIA -2CD8 ; mapped ; 2CD9 # 4.1 COPTIC CAPITAL LETTER OLD COPTIC DJA -2CD9 ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC DJA -2CDA ; mapped ; 2CDB # 4.1 COPTIC CAPITAL LETTER OLD COPTIC SHIMA -2CDB ; valid # 4.1 COPTIC SMALL LETTER OLD COPTIC SHIMA -2CDC ; mapped ; 2CDD # 4.1 COPTIC CAPITAL LETTER OLD NUBIAN SHIMA -2CDD ; valid # 4.1 COPTIC SMALL LETTER OLD NUBIAN SHIMA -2CDE ; mapped ; 2CDF # 4.1 COPTIC CAPITAL LETTER OLD NUBIAN NGI -2CDF ; valid # 4.1 COPTIC SMALL LETTER OLD NUBIAN NGI -2CE0 ; mapped ; 2CE1 # 4.1 COPTIC CAPITAL LETTER OLD NUBIAN NYI -2CE1 ; valid # 4.1 COPTIC SMALL LETTER OLD NUBIAN NYI -2CE2 ; mapped ; 2CE3 # 4.1 COPTIC CAPITAL LETTER OLD NUBIAN WAU -2CE3..2CE4 ; valid # 4.1 COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI -2CE5..2CEA ; valid ; ; NV8 # 4.1 COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA -2CEB ; mapped ; 2CEC # 5.2 COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI -2CEC ; valid # 5.2 COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI -2CED ; mapped ; 2CEE # 5.2 COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA -2CEE..2CF1 ; valid # 5.2 COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA..COPTIC COMBINING SPIRITUS LENIS -2CF2 ; mapped ; 2CF3 # 6.1 COPTIC CAPITAL LETTER BOHAIRIC KHEI -2CF3 ; valid # 6.1 COPTIC SMALL LETTER BOHAIRIC KHEI -2CF4..2CF8 ; disallowed # NA <reserved-2CF4>..<reserved-2CF8> -2CF9..2CFF ; valid ; ; NV8 # 4.1 COPTIC OLD NUBIAN FULL STOP..COPTIC MORPHOLOGICAL DIVIDER -2D00..2D25 ; valid # 4.1 GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE -2D26 ; disallowed # NA <reserved-2D26> -2D27 ; valid # 6.1 GEORGIAN SMALL LETTER YN -2D28..2D2C ; disallowed # NA <reserved-2D28>..<reserved-2D2C> -2D2D ; valid # 6.1 GEORGIAN SMALL LETTER AEN -2D2E..2D2F ; disallowed # NA <reserved-2D2E>..<reserved-2D2F> -2D30..2D65 ; valid # 4.1 TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ -2D66..2D67 ; valid # 6.1 TIFINAGH LETTER YE..TIFINAGH LETTER YO -2D68..2D6E ; disallowed # NA <reserved-2D68>..<reserved-2D6E> -2D6F ; mapped ; 2D61 # 4.1 TIFINAGH MODIFIER LETTER LABIALIZATION MARK -2D70 ; valid ; ; NV8 # 6.0 TIFINAGH SEPARATOR MARK -2D71..2D7E ; disallowed # NA <reserved-2D71>..<reserved-2D7E> -2D7F ; valid # 6.0 TIFINAGH CONSONANT JOINER -2D80..2D96 ; valid # 4.1 ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE -2D97..2D9F ; disallowed # NA <reserved-2D97>..<reserved-2D9F> -2DA0..2DA6 ; valid # 4.1 ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO -2DA7 ; disallowed # NA <reserved-2DA7> -2DA8..2DAE ; valid # 4.1 ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO -2DAF ; disallowed # NA <reserved-2DAF> -2DB0..2DB6 ; valid # 4.1 ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO -2DB7 ; disallowed # NA <reserved-2DB7> -2DB8..2DBE ; valid # 4.1 ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO -2DBF ; disallowed # NA <reserved-2DBF> -2DC0..2DC6 ; valid # 4.1 ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO -2DC7 ; disallowed # NA <reserved-2DC7> -2DC8..2DCE ; valid # 4.1 ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO -2DCF ; disallowed # NA <reserved-2DCF> -2DD0..2DD6 ; valid # 4.1 ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO -2DD7 ; disallowed # NA <reserved-2DD7> -2DD8..2DDE ; valid # 4.1 ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO -2DDF ; disallowed # NA <reserved-2DDF> -2DE0..2DFF ; valid # 5.1 COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS -2E00..2E17 ; valid ; ; NV8 # 4.1 RIGHT ANGLE SUBSTITUTION MARKER..DOUBLE OBLIQUE HYPHEN -2E18..2E1B ; valid ; ; NV8 # 5.1 INVERTED INTERROBANG..TILDE WITH RING ABOVE -2E1C..2E1D ; valid ; ; NV8 # 4.1 LEFT LOW PARAPHRASE BRACKET..RIGHT LOW PARAPHRASE BRACKET -2E1E..2E2E ; valid ; ; NV8 # 5.1 TILDE WITH DOT ABOVE..REVERSED QUESTION MARK -2E2F ; valid # 5.1 VERTICAL TILDE -2E30 ; valid ; ; NV8 # 5.1 RING POINT -2E31 ; valid ; ; NV8 # 5.2 WORD SEPARATOR MIDDLE DOT -2E32..2E3B ; valid ; ; NV8 # 6.1 TURNED COMMA..THREE-EM DASH -2E3C..2E42 ; valid ; ; NV8 # 7.0 STENOGRAPHIC FULL STOP..DOUBLE LOW-REVERSED-9 QUOTATION MARK -2E43..2E44 ; valid ; ; NV8 # 9.0 DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK -2E45..2E7F ; disallowed # NA <reserved-2E45>..<reserved-2E7F> -2E80..2E99 ; valid ; ; NV8 # 3.0 CJK RADICAL REPEAT..CJK RADICAL RAP -2E9A ; disallowed # NA <reserved-2E9A> -2E9B..2E9E ; valid ; ; NV8 # 3.0 CJK RADICAL CHOKE..CJK RADICAL DEATH -2E9F ; mapped ; 6BCD # 3.0 CJK RADICAL MOTHER -2EA0..2EF2 ; valid ; ; NV8 # 3.0 CJK RADICAL CIVILIAN..CJK RADICAL J-SIMPLIFIED TURTLE -2EF3 ; mapped ; 9F9F # 3.0 CJK RADICAL C-SIMPLIFIED TURTLE -2EF4..2EFF ; disallowed # NA <reserved-2EF4>..<reserved-2EFF> -2F00 ; mapped ; 4E00 # 3.0 KANGXI RADICAL ONE -2F01 ; mapped ; 4E28 # 3.0 KANGXI RADICAL LINE -2F02 ; mapped ; 4E36 # 3.0 KANGXI RADICAL DOT -2F03 ; mapped ; 4E3F # 3.0 KANGXI RADICAL SLASH -2F04 ; mapped ; 4E59 # 3.0 KANGXI RADICAL SECOND -2F05 ; mapped ; 4E85 # 3.0 KANGXI RADICAL HOOK -2F06 ; mapped ; 4E8C # 3.0 KANGXI RADICAL TWO -2F07 ; mapped ; 4EA0 # 3.0 KANGXI RADICAL LID -2F08 ; mapped ; 4EBA # 3.0 KANGXI RADICAL MAN -2F09 ; mapped ; 513F # 3.0 KANGXI RADICAL LEGS -2F0A ; mapped ; 5165 # 3.0 KANGXI RADICAL ENTER -2F0B ; mapped ; 516B # 3.0 KANGXI RADICAL EIGHT -2F0C ; mapped ; 5182 # 3.0 KANGXI RADICAL DOWN BOX -2F0D ; mapped ; 5196 # 3.0 KANGXI RADICAL COVER -2F0E ; mapped ; 51AB # 3.0 KANGXI RADICAL ICE -2F0F ; mapped ; 51E0 # 3.0 KANGXI RADICAL TABLE -2F10 ; mapped ; 51F5 # 3.0 KANGXI RADICAL OPEN BOX -2F11 ; mapped ; 5200 # 3.0 KANGXI RADICAL KNIFE -2F12 ; mapped ; 529B # 3.0 KANGXI RADICAL POWER -2F13 ; mapped ; 52F9 # 3.0 KANGXI RADICAL WRAP -2F14 ; mapped ; 5315 # 3.0 KANGXI RADICAL SPOON -2F15 ; mapped ; 531A # 3.0 KANGXI RADICAL RIGHT OPEN BOX -2F16 ; mapped ; 5338 # 3.0 KANGXI RADICAL HIDING ENCLOSURE -2F17 ; mapped ; 5341 # 3.0 KANGXI RADICAL TEN -2F18 ; mapped ; 535C # 3.0 KANGXI RADICAL DIVINATION -2F19 ; mapped ; 5369 # 3.0 KANGXI RADICAL SEAL -2F1A ; mapped ; 5382 # 3.0 KANGXI RADICAL CLIFF -2F1B ; mapped ; 53B6 # 3.0 KANGXI RADICAL PRIVATE -2F1C ; mapped ; 53C8 # 3.0 KANGXI RADICAL AGAIN -2F1D ; mapped ; 53E3 # 3.0 KANGXI RADICAL MOUTH -2F1E ; mapped ; 56D7 # 3.0 KANGXI RADICAL ENCLOSURE -2F1F ; mapped ; 571F # 3.0 KANGXI RADICAL EARTH -2F20 ; mapped ; 58EB # 3.0 KANGXI RADICAL SCHOLAR -2F21 ; mapped ; 5902 # 3.0 KANGXI RADICAL GO -2F22 ; mapped ; 590A # 3.0 KANGXI RADICAL GO SLOWLY -2F23 ; mapped ; 5915 # 3.0 KANGXI RADICAL EVENING -2F24 ; mapped ; 5927 # 3.0 KANGXI RADICAL BIG -2F25 ; mapped ; 5973 # 3.0 KANGXI RADICAL WOMAN -2F26 ; mapped ; 5B50 # 3.0 KANGXI RADICAL CHILD -2F27 ; mapped ; 5B80 # 3.0 KANGXI RADICAL ROOF -2F28 ; mapped ; 5BF8 # 3.0 KANGXI RADICAL INCH -2F29 ; mapped ; 5C0F # 3.0 KANGXI RADICAL SMALL -2F2A ; mapped ; 5C22 # 3.0 KANGXI RADICAL LAME -2F2B ; mapped ; 5C38 # 3.0 KANGXI RADICAL CORPSE -2F2C ; mapped ; 5C6E # 3.0 KANGXI RADICAL SPROUT -2F2D ; mapped ; 5C71 # 3.0 KANGXI RADICAL MOUNTAIN -2F2E ; mapped ; 5DDB # 3.0 KANGXI RADICAL RIVER -2F2F ; mapped ; 5DE5 # 3.0 KANGXI RADICAL WORK -2F30 ; mapped ; 5DF1 # 3.0 KANGXI RADICAL ONESELF -2F31 ; mapped ; 5DFE # 3.0 KANGXI RADICAL TURBAN -2F32 ; mapped ; 5E72 # 3.0 KANGXI RADICAL DRY -2F33 ; mapped ; 5E7A # 3.0 KANGXI RADICAL SHORT THREAD -2F34 ; mapped ; 5E7F # 3.0 KANGXI RADICAL DOTTED CLIFF -2F35 ; mapped ; 5EF4 # 3.0 KANGXI RADICAL LONG STRIDE -2F36 ; mapped ; 5EFE # 3.0 KANGXI RADICAL TWO HANDS -2F37 ; mapped ; 5F0B # 3.0 KANGXI RADICAL SHOOT -2F38 ; mapped ; 5F13 # 3.0 KANGXI RADICAL BOW -2F39 ; mapped ; 5F50 # 3.0 KANGXI RADICAL SNOUT -2F3A ; mapped ; 5F61 # 3.0 KANGXI RADICAL BRISTLE -2F3B ; mapped ; 5F73 # 3.0 KANGXI RADICAL STEP -2F3C ; mapped ; 5FC3 # 3.0 KANGXI RADICAL HEART -2F3D ; mapped ; 6208 # 3.0 KANGXI RADICAL HALBERD -2F3E ; mapped ; 6236 # 3.0 KANGXI RADICAL DOOR -2F3F ; mapped ; 624B # 3.0 KANGXI RADICAL HAND -2F40 ; mapped ; 652F # 3.0 KANGXI RADICAL BRANCH -2F41 ; mapped ; 6534 # 3.0 KANGXI RADICAL RAP -2F42 ; mapped ; 6587 # 3.0 KANGXI RADICAL SCRIPT -2F43 ; mapped ; 6597 # 3.0 KANGXI RADICAL DIPPER -2F44 ; mapped ; 65A4 # 3.0 KANGXI RADICAL AXE -2F45 ; mapped ; 65B9 # 3.0 KANGXI RADICAL SQUARE -2F46 ; mapped ; 65E0 # 3.0 KANGXI RADICAL NOT -2F47 ; mapped ; 65E5 # 3.0 KANGXI RADICAL SUN -2F48 ; mapped ; 66F0 # 3.0 KANGXI RADICAL SAY -2F49 ; mapped ; 6708 # 3.0 KANGXI RADICAL MOON -2F4A ; mapped ; 6728 # 3.0 KANGXI RADICAL TREE -2F4B ; mapped ; 6B20 # 3.0 KANGXI RADICAL LACK -2F4C ; mapped ; 6B62 # 3.0 KANGXI RADICAL STOP -2F4D ; mapped ; 6B79 # 3.0 KANGXI RADICAL DEATH -2F4E ; mapped ; 6BB3 # 3.0 KANGXI RADICAL WEAPON -2F4F ; mapped ; 6BCB # 3.0 KANGXI RADICAL DO NOT -2F50 ; mapped ; 6BD4 # 3.0 KANGXI RADICAL COMPARE -2F51 ; mapped ; 6BDB # 3.0 KANGXI RADICAL FUR -2F52 ; mapped ; 6C0F # 3.0 KANGXI RADICAL CLAN -2F53 ; mapped ; 6C14 # 3.0 KANGXI RADICAL STEAM -2F54 ; mapped ; 6C34 # 3.0 KANGXI RADICAL WATER -2F55 ; mapped ; 706B # 3.0 KANGXI RADICAL FIRE -2F56 ; mapped ; 722A # 3.0 KANGXI RADICAL CLAW -2F57 ; mapped ; 7236 # 3.0 KANGXI RADICAL FATHER -2F58 ; mapped ; 723B # 3.0 KANGXI RADICAL DOUBLE X -2F59 ; mapped ; 723F # 3.0 KANGXI RADICAL HALF TREE TRUNK -2F5A ; mapped ; 7247 # 3.0 KANGXI RADICAL SLICE -2F5B ; mapped ; 7259 # 3.0 KANGXI RADICAL FANG -2F5C ; mapped ; 725B # 3.0 KANGXI RADICAL COW -2F5D ; mapped ; 72AC # 3.0 KANGXI RADICAL DOG -2F5E ; mapped ; 7384 # 3.0 KANGXI RADICAL PROFOUND -2F5F ; mapped ; 7389 # 3.0 KANGXI RADICAL JADE -2F60 ; mapped ; 74DC # 3.0 KANGXI RADICAL MELON -2F61 ; mapped ; 74E6 # 3.0 KANGXI RADICAL TILE -2F62 ; mapped ; 7518 # 3.0 KANGXI RADICAL SWEET -2F63 ; mapped ; 751F # 3.0 KANGXI RADICAL LIFE -2F64 ; mapped ; 7528 # 3.0 KANGXI RADICAL USE -2F65 ; mapped ; 7530 # 3.0 KANGXI RADICAL FIELD -2F66 ; mapped ; 758B # 3.0 KANGXI RADICAL BOLT OF CLOTH -2F67 ; mapped ; 7592 # 3.0 KANGXI RADICAL SICKNESS -2F68 ; mapped ; 7676 # 3.0 KANGXI RADICAL DOTTED TENT -2F69 ; mapped ; 767D # 3.0 KANGXI RADICAL WHITE -2F6A ; mapped ; 76AE # 3.0 KANGXI RADICAL SKIN -2F6B ; mapped ; 76BF # 3.0 KANGXI RADICAL DISH -2F6C ; mapped ; 76EE # 3.0 KANGXI RADICAL EYE -2F6D ; mapped ; 77DB # 3.0 KANGXI RADICAL SPEAR -2F6E ; mapped ; 77E2 # 3.0 KANGXI RADICAL ARROW -2F6F ; mapped ; 77F3 # 3.0 KANGXI RADICAL STONE -2F70 ; mapped ; 793A # 3.0 KANGXI RADICAL SPIRIT -2F71 ; mapped ; 79B8 # 3.0 KANGXI RADICAL TRACK -2F72 ; mapped ; 79BE # 3.0 KANGXI RADICAL GRAIN -2F73 ; mapped ; 7A74 # 3.0 KANGXI RADICAL CAVE -2F74 ; mapped ; 7ACB # 3.0 KANGXI RADICAL STAND -2F75 ; mapped ; 7AF9 # 3.0 KANGXI RADICAL BAMBOO -2F76 ; mapped ; 7C73 # 3.0 KANGXI RADICAL RICE -2F77 ; mapped ; 7CF8 # 3.0 KANGXI RADICAL SILK -2F78 ; mapped ; 7F36 # 3.0 KANGXI RADICAL JAR -2F79 ; mapped ; 7F51 # 3.0 KANGXI RADICAL NET -2F7A ; mapped ; 7F8A # 3.0 KANGXI RADICAL SHEEP -2F7B ; mapped ; 7FBD # 3.0 KANGXI RADICAL FEATHER -2F7C ; mapped ; 8001 # 3.0 KANGXI RADICAL OLD -2F7D ; mapped ; 800C # 3.0 KANGXI RADICAL AND -2F7E ; mapped ; 8012 # 3.0 KANGXI RADICAL PLOW -2F7F ; mapped ; 8033 # 3.0 KANGXI RADICAL EAR -2F80 ; mapped ; 807F # 3.0 KANGXI RADICAL BRUSH -2F81 ; mapped ; 8089 # 3.0 KANGXI RADICAL MEAT -2F82 ; mapped ; 81E3 # 3.0 KANGXI RADICAL MINISTER -2F83 ; mapped ; 81EA # 3.0 KANGXI RADICAL SELF -2F84 ; mapped ; 81F3 # 3.0 KANGXI RADICAL ARRIVE -2F85 ; mapped ; 81FC # 3.0 KANGXI RADICAL MORTAR -2F86 ; mapped ; 820C # 3.0 KANGXI RADICAL TONGUE -2F87 ; mapped ; 821B # 3.0 KANGXI RADICAL OPPOSE -2F88 ; mapped ; 821F # 3.0 KANGXI RADICAL BOAT -2F89 ; mapped ; 826E # 3.0 KANGXI RADICAL STOPPING -2F8A ; mapped ; 8272 # 3.0 KANGXI RADICAL COLOR -2F8B ; mapped ; 8278 # 3.0 KANGXI RADICAL GRASS -2F8C ; mapped ; 864D # 3.0 KANGXI RADICAL TIGER -2F8D ; mapped ; 866B # 3.0 KANGXI RADICAL INSECT -2F8E ; mapped ; 8840 # 3.0 KANGXI RADICAL BLOOD -2F8F ; mapped ; 884C # 3.0 KANGXI RADICAL WALK ENCLOSURE -2F90 ; mapped ; 8863 # 3.0 KANGXI RADICAL CLOTHES -2F91 ; mapped ; 897E # 3.0 KANGXI RADICAL WEST -2F92 ; mapped ; 898B # 3.0 KANGXI RADICAL SEE -2F93 ; mapped ; 89D2 # 3.0 KANGXI RADICAL HORN -2F94 ; mapped ; 8A00 # 3.0 KANGXI RADICAL SPEECH -2F95 ; mapped ; 8C37 # 3.0 KANGXI RADICAL VALLEY -2F96 ; mapped ; 8C46 # 3.0 KANGXI RADICAL BEAN -2F97 ; mapped ; 8C55 # 3.0 KANGXI RADICAL PIG -2F98 ; mapped ; 8C78 # 3.0 KANGXI RADICAL BADGER -2F99 ; mapped ; 8C9D # 3.0 KANGXI RADICAL SHELL -2F9A ; mapped ; 8D64 # 3.0 KANGXI RADICAL RED -2F9B ; mapped ; 8D70 # 3.0 KANGXI RADICAL RUN -2F9C ; mapped ; 8DB3 # 3.0 KANGXI RADICAL FOOT -2F9D ; mapped ; 8EAB # 3.0 KANGXI RADICAL BODY -2F9E ; mapped ; 8ECA # 3.0 KANGXI RADICAL CART -2F9F ; mapped ; 8F9B # 3.0 KANGXI RADICAL BITTER -2FA0 ; mapped ; 8FB0 # 3.0 KANGXI RADICAL MORNING -2FA1 ; mapped ; 8FB5 # 3.0 KANGXI RADICAL WALK -2FA2 ; mapped ; 9091 # 3.0 KANGXI RADICAL CITY -2FA3 ; mapped ; 9149 # 3.0 KANGXI RADICAL WINE -2FA4 ; mapped ; 91C6 # 3.0 KANGXI RADICAL DISTINGUISH -2FA5 ; mapped ; 91CC # 3.0 KANGXI RADICAL VILLAGE -2FA6 ; mapped ; 91D1 # 3.0 KANGXI RADICAL GOLD -2FA7 ; mapped ; 9577 # 3.0 KANGXI RADICAL LONG -2FA8 ; mapped ; 9580 # 3.0 KANGXI RADICAL GATE -2FA9 ; mapped ; 961C # 3.0 KANGXI RADICAL MOUND -2FAA ; mapped ; 96B6 # 3.0 KANGXI RADICAL SLAVE -2FAB ; mapped ; 96B9 # 3.0 KANGXI RADICAL SHORT TAILED BIRD -2FAC ; mapped ; 96E8 # 3.0 KANGXI RADICAL RAIN -2FAD ; mapped ; 9751 # 3.0 KANGXI RADICAL BLUE -2FAE ; mapped ; 975E # 3.0 KANGXI RADICAL WRONG -2FAF ; mapped ; 9762 # 3.0 KANGXI RADICAL FACE -2FB0 ; mapped ; 9769 # 3.0 KANGXI RADICAL LEATHER -2FB1 ; mapped ; 97CB # 3.0 KANGXI RADICAL TANNED LEATHER -2FB2 ; mapped ; 97ED # 3.0 KANGXI RADICAL LEEK -2FB3 ; mapped ; 97F3 # 3.0 KANGXI RADICAL SOUND -2FB4 ; mapped ; 9801 # 3.0 KANGXI RADICAL LEAF -2FB5 ; mapped ; 98A8 # 3.0 KANGXI RADICAL WIND -2FB6 ; mapped ; 98DB # 3.0 KANGXI RADICAL FLY -2FB7 ; mapped ; 98DF # 3.0 KANGXI RADICAL EAT -2FB8 ; mapped ; 9996 # 3.0 KANGXI RADICAL HEAD -2FB9 ; mapped ; 9999 # 3.0 KANGXI RADICAL FRAGRANT -2FBA ; mapped ; 99AC # 3.0 KANGXI RADICAL HORSE -2FBB ; mapped ; 9AA8 # 3.0 KANGXI RADICAL BONE -2FBC ; mapped ; 9AD8 # 3.0 KANGXI RADICAL TALL -2FBD ; mapped ; 9ADF # 3.0 KANGXI RADICAL HAIR -2FBE ; mapped ; 9B25 # 3.0 KANGXI RADICAL FIGHT -2FBF ; mapped ; 9B2F # 3.0 KANGXI RADICAL SACRIFICIAL WINE -2FC0 ; mapped ; 9B32 # 3.0 KANGXI RADICAL CAULDRON -2FC1 ; mapped ; 9B3C # 3.0 KANGXI RADICAL GHOST -2FC2 ; mapped ; 9B5A # 3.0 KANGXI RADICAL FISH -2FC3 ; mapped ; 9CE5 # 3.0 KANGXI RADICAL BIRD -2FC4 ; mapped ; 9E75 # 3.0 KANGXI RADICAL SALT -2FC5 ; mapped ; 9E7F # 3.0 KANGXI RADICAL DEER -2FC6 ; mapped ; 9EA5 # 3.0 KANGXI RADICAL WHEAT -2FC7 ; mapped ; 9EBB # 3.0 KANGXI RADICAL HEMP -2FC8 ; mapped ; 9EC3 # 3.0 KANGXI RADICAL YELLOW -2FC9 ; mapped ; 9ECD # 3.0 KANGXI RADICAL MILLET -2FCA ; mapped ; 9ED1 # 3.0 KANGXI RADICAL BLACK -2FCB ; mapped ; 9EF9 # 3.0 KANGXI RADICAL EMBROIDERY -2FCC ; mapped ; 9EFD # 3.0 KANGXI RADICAL FROG -2FCD ; mapped ; 9F0E # 3.0 KANGXI RADICAL TRIPOD -2FCE ; mapped ; 9F13 # 3.0 KANGXI RADICAL DRUM -2FCF ; mapped ; 9F20 # 3.0 KANGXI RADICAL RAT -2FD0 ; mapped ; 9F3B # 3.0 KANGXI RADICAL NOSE -2FD1 ; mapped ; 9F4A # 3.0 KANGXI RADICAL EVEN -2FD2 ; mapped ; 9F52 # 3.0 KANGXI RADICAL TOOTH -2FD3 ; mapped ; 9F8D # 3.0 KANGXI RADICAL DRAGON -2FD4 ; mapped ; 9F9C # 3.0 KANGXI RADICAL TURTLE -2FD5 ; mapped ; 9FA0 # 3.0 KANGXI RADICAL FLUTE -2FD6..2FEF ; disallowed # NA <reserved-2FD6>..<reserved-2FEF> -2FF0..2FFB ; disallowed # 3.0 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID -2FFC..2FFF ; disallowed # NA <reserved-2FFC>..<reserved-2FFF> -3000 ; disallowed_STD3_mapped ; 0020 # 1.1 IDEOGRAPHIC SPACE -3001 ; valid ; ; NV8 # 1.1 IDEOGRAPHIC COMMA -3002 ; mapped ; 002E # 1.1 IDEOGRAPHIC FULL STOP -3003..3004 ; valid ; ; NV8 # 1.1 DITTO MARK..JAPANESE INDUSTRIAL STANDARD SYMBOL -3005..3007 ; valid # 1.1 IDEOGRAPHIC ITERATION MARK..IDEOGRAPHIC NUMBER ZERO -3008..3029 ; valid ; ; NV8 # 1.1 LEFT ANGLE BRACKET..HANGZHOU NUMERAL NINE -302A..302D ; valid # 1.1 IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK -302E..3035 ; valid ; ; NV8 # 1.1 HANGUL SINGLE DOT TONE MARK..VERTICAL KANA REPEAT MARK LOWER HALF -3036 ; mapped ; 3012 # 1.1 CIRCLED POSTAL MARK -3037 ; valid ; ; NV8 # 1.1 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL -3038 ; mapped ; 5341 # 3.0 HANGZHOU NUMERAL TEN -3039 ; mapped ; 5344 # 3.0 HANGZHOU NUMERAL TWENTY -303A ; mapped ; 5345 # 3.0 HANGZHOU NUMERAL THIRTY -303B ; valid ; ; NV8 # 3.2 VERTICAL IDEOGRAPHIC ITERATION MARK -303C ; valid # 3.2 MASU MARK -303D ; valid ; ; NV8 # 3.2 PART ALTERNATION MARK -303E ; valid ; ; NV8 # 3.0 IDEOGRAPHIC VARIATION INDICATOR -303F ; valid ; ; NV8 # 1.1 IDEOGRAPHIC HALF FILL SPACE -3040 ; disallowed # NA <reserved-3040> -3041..3094 ; valid # 1.1 HIRAGANA LETTER SMALL A..HIRAGANA LETTER VU -3095..3096 ; valid # 3.2 HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE -3097..3098 ; disallowed # NA <reserved-3097>..<reserved-3098> -3099..309A ; valid # 1.1 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -309B ; disallowed_STD3_mapped ; 0020 3099 # 1.1 KATAKANA-HIRAGANA VOICED SOUND MARK -309C ; disallowed_STD3_mapped ; 0020 309A # 1.1 KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -309D..309E ; valid # 1.1 HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK -309F ; mapped ; 3088 308A # 3.2 HIRAGANA DIGRAPH YORI -30A0 ; valid ; ; NV8 # 3.2 KATAKANA-HIRAGANA DOUBLE HYPHEN -30A1..30FE ; valid # 1.1 KATAKANA LETTER SMALL A..KATAKANA VOICED ITERATION MARK -30FF ; mapped ; 30B3 30C8 # 3.2 KATAKANA DIGRAPH KOTO -3100..3104 ; disallowed # NA <reserved-3100>..<reserved-3104> -3105..312C ; valid # 1.1 BOPOMOFO LETTER B..BOPOMOFO LETTER GN -312D ; valid # 5.1 BOPOMOFO LETTER IH -312E..3130 ; disallowed # NA <reserved-312E>..<reserved-3130> -3131 ; mapped ; 1100 # 1.1 HANGUL LETTER KIYEOK -3132 ; mapped ; 1101 # 1.1 HANGUL LETTER SSANGKIYEOK -3133 ; mapped ; 11AA # 1.1 HANGUL LETTER KIYEOK-SIOS -3134 ; mapped ; 1102 # 1.1 HANGUL LETTER NIEUN -3135 ; mapped ; 11AC # 1.1 HANGUL LETTER NIEUN-CIEUC -3136 ; mapped ; 11AD # 1.1 HANGUL LETTER NIEUN-HIEUH -3137 ; mapped ; 1103 # 1.1 HANGUL LETTER TIKEUT -3138 ; mapped ; 1104 # 1.1 HANGUL LETTER SSANGTIKEUT -3139 ; mapped ; 1105 # 1.1 HANGUL LETTER RIEUL -313A ; mapped ; 11B0 # 1.1 HANGUL LETTER RIEUL-KIYEOK -313B ; mapped ; 11B1 # 1.1 HANGUL LETTER RIEUL-MIEUM -313C ; mapped ; 11B2 # 1.1 HANGUL LETTER RIEUL-PIEUP -313D ; mapped ; 11B3 # 1.1 HANGUL LETTER RIEUL-SIOS -313E ; mapped ; 11B4 # 1.1 HANGUL LETTER RIEUL-THIEUTH -313F ; mapped ; 11B5 # 1.1 HANGUL LETTER RIEUL-PHIEUPH -3140 ; mapped ; 111A # 1.1 HANGUL LETTER RIEUL-HIEUH -3141 ; mapped ; 1106 # 1.1 HANGUL LETTER MIEUM -3142 ; mapped ; 1107 # 1.1 HANGUL LETTER PIEUP -3143 ; mapped ; 1108 # 1.1 HANGUL LETTER SSANGPIEUP -3144 ; mapped ; 1121 # 1.1 HANGUL LETTER PIEUP-SIOS -3145 ; mapped ; 1109 # 1.1 HANGUL LETTER SIOS -3146 ; mapped ; 110A # 1.1 HANGUL LETTER SSANGSIOS -3147 ; mapped ; 110B # 1.1 HANGUL LETTER IEUNG -3148 ; mapped ; 110C # 1.1 HANGUL LETTER CIEUC -3149 ; mapped ; 110D # 1.1 HANGUL LETTER SSANGCIEUC -314A ; mapped ; 110E # 1.1 HANGUL LETTER CHIEUCH -314B ; mapped ; 110F # 1.1 HANGUL LETTER KHIEUKH -314C ; mapped ; 1110 # 1.1 HANGUL LETTER THIEUTH -314D ; mapped ; 1111 # 1.1 HANGUL LETTER PHIEUPH -314E ; mapped ; 1112 # 1.1 HANGUL LETTER HIEUH -314F ; mapped ; 1161 # 1.1 HANGUL LETTER A -3150 ; mapped ; 1162 # 1.1 HANGUL LETTER AE -3151 ; mapped ; 1163 # 1.1 HANGUL LETTER YA -3152 ; mapped ; 1164 # 1.1 HANGUL LETTER YAE -3153 ; mapped ; 1165 # 1.1 HANGUL LETTER EO -3154 ; mapped ; 1166 # 1.1 HANGUL LETTER E -3155 ; mapped ; 1167 # 1.1 HANGUL LETTER YEO -3156 ; mapped ; 1168 # 1.1 HANGUL LETTER YE -3157 ; mapped ; 1169 # 1.1 HANGUL LETTER O -3158 ; mapped ; 116A # 1.1 HANGUL LETTER WA -3159 ; mapped ; 116B # 1.1 HANGUL LETTER WAE -315A ; mapped ; 116C # 1.1 HANGUL LETTER OE -315B ; mapped ; 116D # 1.1 HANGUL LETTER YO -315C ; mapped ; 116E # 1.1 HANGUL LETTER U -315D ; mapped ; 116F # 1.1 HANGUL LETTER WEO -315E ; mapped ; 1170 # 1.1 HANGUL LETTER WE -315F ; mapped ; 1171 # 1.1 HANGUL LETTER WI -3160 ; mapped ; 1172 # 1.1 HANGUL LETTER YU -3161 ; mapped ; 1173 # 1.1 HANGUL LETTER EU -3162 ; mapped ; 1174 # 1.1 HANGUL LETTER YI -3163 ; mapped ; 1175 # 1.1 HANGUL LETTER I -3164 ; disallowed # 1.1 HANGUL FILLER -3165 ; mapped ; 1114 # 1.1 HANGUL LETTER SSANGNIEUN -3166 ; mapped ; 1115 # 1.1 HANGUL LETTER NIEUN-TIKEUT -3167 ; mapped ; 11C7 # 1.1 HANGUL LETTER NIEUN-SIOS -3168 ; mapped ; 11C8 # 1.1 HANGUL LETTER NIEUN-PANSIOS -3169 ; mapped ; 11CC # 1.1 HANGUL LETTER RIEUL-KIYEOK-SIOS -316A ; mapped ; 11CE # 1.1 HANGUL LETTER RIEUL-TIKEUT -316B ; mapped ; 11D3 # 1.1 HANGUL LETTER RIEUL-PIEUP-SIOS -316C ; mapped ; 11D7 # 1.1 HANGUL LETTER RIEUL-PANSIOS -316D ; mapped ; 11D9 # 1.1 HANGUL LETTER RIEUL-YEORINHIEUH -316E ; mapped ; 111C # 1.1 HANGUL LETTER MIEUM-PIEUP -316F ; mapped ; 11DD # 1.1 HANGUL LETTER MIEUM-SIOS -3170 ; mapped ; 11DF # 1.1 HANGUL LETTER MIEUM-PANSIOS -3171 ; mapped ; 111D # 1.1 HANGUL LETTER KAPYEOUNMIEUM -3172 ; mapped ; 111E # 1.1 HANGUL LETTER PIEUP-KIYEOK -3173 ; mapped ; 1120 # 1.1 HANGUL LETTER PIEUP-TIKEUT -3174 ; mapped ; 1122 # 1.1 HANGUL LETTER PIEUP-SIOS-KIYEOK -3175 ; mapped ; 1123 # 1.1 HANGUL LETTER PIEUP-SIOS-TIKEUT -3176 ; mapped ; 1127 # 1.1 HANGUL LETTER PIEUP-CIEUC -3177 ; mapped ; 1129 # 1.1 HANGUL LETTER PIEUP-THIEUTH -3178 ; mapped ; 112B # 1.1 HANGUL LETTER KAPYEOUNPIEUP -3179 ; mapped ; 112C # 1.1 HANGUL LETTER KAPYEOUNSSANGPIEUP -317A ; mapped ; 112D # 1.1 HANGUL LETTER SIOS-KIYEOK -317B ; mapped ; 112E # 1.1 HANGUL LETTER SIOS-NIEUN -317C ; mapped ; 112F # 1.1 HANGUL LETTER SIOS-TIKEUT -317D ; mapped ; 1132 # 1.1 HANGUL LETTER SIOS-PIEUP -317E ; mapped ; 1136 # 1.1 HANGUL LETTER SIOS-CIEUC -317F ; mapped ; 1140 # 1.1 HANGUL LETTER PANSIOS -3180 ; mapped ; 1147 # 1.1 HANGUL LETTER SSANGIEUNG -3181 ; mapped ; 114C # 1.1 HANGUL LETTER YESIEUNG -3182 ; mapped ; 11F1 # 1.1 HANGUL LETTER YESIEUNG-SIOS -3183 ; mapped ; 11F2 # 1.1 HANGUL LETTER YESIEUNG-PANSIOS -3184 ; mapped ; 1157 # 1.1 HANGUL LETTER KAPYEOUNPHIEUPH -3185 ; mapped ; 1158 # 1.1 HANGUL LETTER SSANGHIEUH -3186 ; mapped ; 1159 # 1.1 HANGUL LETTER YEORINHIEUH -3187 ; mapped ; 1184 # 1.1 HANGUL LETTER YO-YA -3188 ; mapped ; 1185 # 1.1 HANGUL LETTER YO-YAE -3189 ; mapped ; 1188 # 1.1 HANGUL LETTER YO-I -318A ; mapped ; 1191 # 1.1 HANGUL LETTER YU-YEO -318B ; mapped ; 1192 # 1.1 HANGUL LETTER YU-YE -318C ; mapped ; 1194 # 1.1 HANGUL LETTER YU-I -318D ; mapped ; 119E # 1.1 HANGUL LETTER ARAEA -318E ; mapped ; 11A1 # 1.1 HANGUL LETTER ARAEAE -318F ; disallowed # NA <reserved-318F> -3190..3191 ; valid ; ; NV8 # 1.1 IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK -3192 ; mapped ; 4E00 # 1.1 IDEOGRAPHIC ANNOTATION ONE MARK -3193 ; mapped ; 4E8C # 1.1 IDEOGRAPHIC ANNOTATION TWO MARK -3194 ; mapped ; 4E09 # 1.1 IDEOGRAPHIC ANNOTATION THREE MARK -3195 ; mapped ; 56DB # 1.1 IDEOGRAPHIC ANNOTATION FOUR MARK -3196 ; mapped ; 4E0A # 1.1 IDEOGRAPHIC ANNOTATION TOP MARK -3197 ; mapped ; 4E2D # 1.1 IDEOGRAPHIC ANNOTATION MIDDLE MARK -3198 ; mapped ; 4E0B # 1.1 IDEOGRAPHIC ANNOTATION BOTTOM MARK -3199 ; mapped ; 7532 # 1.1 IDEOGRAPHIC ANNOTATION FIRST MARK -319A ; mapped ; 4E59 # 1.1 IDEOGRAPHIC ANNOTATION SECOND MARK -319B ; mapped ; 4E19 # 1.1 IDEOGRAPHIC ANNOTATION THIRD MARK -319C ; mapped ; 4E01 # 1.1 IDEOGRAPHIC ANNOTATION FOURTH MARK -319D ; mapped ; 5929 # 1.1 IDEOGRAPHIC ANNOTATION HEAVEN MARK -319E ; mapped ; 5730 # 1.1 IDEOGRAPHIC ANNOTATION EARTH MARK -319F ; mapped ; 4EBA # 1.1 IDEOGRAPHIC ANNOTATION MAN MARK -31A0..31B7 ; valid # 3.0 BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H -31B8..31BA ; valid # 6.0 BOPOMOFO LETTER GH..BOPOMOFO LETTER ZY -31BB..31BF ; disallowed # NA <reserved-31BB>..<reserved-31BF> -31C0..31CF ; valid ; ; NV8 # 4.1 CJK STROKE T..CJK STROKE N -31D0..31E3 ; valid ; ; NV8 # 5.1 CJK STROKE H..CJK STROKE Q -31E4..31EF ; disallowed # NA <reserved-31E4>..<reserved-31EF> -31F0..31FF ; valid # 3.2 KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO -3200 ; disallowed_STD3_mapped ; 0028 1100 0029 #1.1 PARENTHESIZED HANGUL KIYEOK -3201 ; disallowed_STD3_mapped ; 0028 1102 0029 #1.1 PARENTHESIZED HANGUL NIEUN -3202 ; disallowed_STD3_mapped ; 0028 1103 0029 #1.1 PARENTHESIZED HANGUL TIKEUT -3203 ; disallowed_STD3_mapped ; 0028 1105 0029 #1.1 PARENTHESIZED HANGUL RIEUL -3204 ; disallowed_STD3_mapped ; 0028 1106 0029 #1.1 PARENTHESIZED HANGUL MIEUM -3205 ; disallowed_STD3_mapped ; 0028 1107 0029 #1.1 PARENTHESIZED HANGUL PIEUP -3206 ; disallowed_STD3_mapped ; 0028 1109 0029 #1.1 PARENTHESIZED HANGUL SIOS -3207 ; disallowed_STD3_mapped ; 0028 110B 0029 #1.1 PARENTHESIZED HANGUL IEUNG -3208 ; disallowed_STD3_mapped ; 0028 110C 0029 #1.1 PARENTHESIZED HANGUL CIEUC -3209 ; disallowed_STD3_mapped ; 0028 110E 0029 #1.1 PARENTHESIZED HANGUL CHIEUCH -320A ; disallowed_STD3_mapped ; 0028 110F 0029 #1.1 PARENTHESIZED HANGUL KHIEUKH -320B ; disallowed_STD3_mapped ; 0028 1110 0029 #1.1 PARENTHESIZED HANGUL THIEUTH -320C ; disallowed_STD3_mapped ; 0028 1111 0029 #1.1 PARENTHESIZED HANGUL PHIEUPH -320D ; disallowed_STD3_mapped ; 0028 1112 0029 #1.1 PARENTHESIZED HANGUL HIEUH -320E ; disallowed_STD3_mapped ; 0028 AC00 0029 #1.1 PARENTHESIZED HANGUL KIYEOK A -320F ; disallowed_STD3_mapped ; 0028 B098 0029 #1.1 PARENTHESIZED HANGUL NIEUN A -3210 ; disallowed_STD3_mapped ; 0028 B2E4 0029 #1.1 PARENTHESIZED HANGUL TIKEUT A -3211 ; disallowed_STD3_mapped ; 0028 B77C 0029 #1.1 PARENTHESIZED HANGUL RIEUL A -3212 ; disallowed_STD3_mapped ; 0028 B9C8 0029 #1.1 PARENTHESIZED HANGUL MIEUM A -3213 ; disallowed_STD3_mapped ; 0028 BC14 0029 #1.1 PARENTHESIZED HANGUL PIEUP A -3214 ; disallowed_STD3_mapped ; 0028 C0AC 0029 #1.1 PARENTHESIZED HANGUL SIOS A -3215 ; disallowed_STD3_mapped ; 0028 C544 0029 #1.1 PARENTHESIZED HANGUL IEUNG A -3216 ; disallowed_STD3_mapped ; 0028 C790 0029 #1.1 PARENTHESIZED HANGUL CIEUC A -3217 ; disallowed_STD3_mapped ; 0028 CC28 0029 #1.1 PARENTHESIZED HANGUL CHIEUCH A -3218 ; disallowed_STD3_mapped ; 0028 CE74 0029 #1.1 PARENTHESIZED HANGUL KHIEUKH A -3219 ; disallowed_STD3_mapped ; 0028 D0C0 0029 #1.1 PARENTHESIZED HANGUL THIEUTH A -321A ; disallowed_STD3_mapped ; 0028 D30C 0029 #1.1 PARENTHESIZED HANGUL PHIEUPH A -321B ; disallowed_STD3_mapped ; 0028 D558 0029 #1.1 PARENTHESIZED HANGUL HIEUH A -321C ; disallowed_STD3_mapped ; 0028 C8FC 0029 #1.1 PARENTHESIZED HANGUL CIEUC U -321D ; disallowed_STD3_mapped ; 0028 C624 C804 0029 #4.0 PARENTHESIZED KOREAN CHARACTER OJEON -321E ; disallowed_STD3_mapped ; 0028 C624 D6C4 0029 #4.0 PARENTHESIZED KOREAN CHARACTER O HU -321F ; disallowed # NA <reserved-321F> -3220 ; disallowed_STD3_mapped ; 0028 4E00 0029 #1.1 PARENTHESIZED IDEOGRAPH ONE -3221 ; disallowed_STD3_mapped ; 0028 4E8C 0029 #1.1 PARENTHESIZED IDEOGRAPH TWO -3222 ; disallowed_STD3_mapped ; 0028 4E09 0029 #1.1 PARENTHESIZED IDEOGRAPH THREE -3223 ; disallowed_STD3_mapped ; 0028 56DB 0029 #1.1 PARENTHESIZED IDEOGRAPH FOUR -3224 ; disallowed_STD3_mapped ; 0028 4E94 0029 #1.1 PARENTHESIZED IDEOGRAPH FIVE -3225 ; disallowed_STD3_mapped ; 0028 516D 0029 #1.1 PARENTHESIZED IDEOGRAPH SIX -3226 ; disallowed_STD3_mapped ; 0028 4E03 0029 #1.1 PARENTHESIZED IDEOGRAPH SEVEN -3227 ; disallowed_STD3_mapped ; 0028 516B 0029 #1.1 PARENTHESIZED IDEOGRAPH EIGHT -3228 ; disallowed_STD3_mapped ; 0028 4E5D 0029 #1.1 PARENTHESIZED IDEOGRAPH NINE -3229 ; disallowed_STD3_mapped ; 0028 5341 0029 #1.1 PARENTHESIZED IDEOGRAPH TEN -322A ; disallowed_STD3_mapped ; 0028 6708 0029 #1.1 PARENTHESIZED IDEOGRAPH MOON -322B ; disallowed_STD3_mapped ; 0028 706B 0029 #1.1 PARENTHESIZED IDEOGRAPH FIRE -322C ; disallowed_STD3_mapped ; 0028 6C34 0029 #1.1 PARENTHESIZED IDEOGRAPH WATER -322D ; disallowed_STD3_mapped ; 0028 6728 0029 #1.1 PARENTHESIZED IDEOGRAPH WOOD -322E ; disallowed_STD3_mapped ; 0028 91D1 0029 #1.1 PARENTHESIZED IDEOGRAPH METAL -322F ; disallowed_STD3_mapped ; 0028 571F 0029 #1.1 PARENTHESIZED IDEOGRAPH EARTH -3230 ; disallowed_STD3_mapped ; 0028 65E5 0029 #1.1 PARENTHESIZED IDEOGRAPH SUN -3231 ; disallowed_STD3_mapped ; 0028 682A 0029 #1.1 PARENTHESIZED IDEOGRAPH STOCK -3232 ; disallowed_STD3_mapped ; 0028 6709 0029 #1.1 PARENTHESIZED IDEOGRAPH HAVE -3233 ; disallowed_STD3_mapped ; 0028 793E 0029 #1.1 PARENTHESIZED IDEOGRAPH SOCIETY -3234 ; disallowed_STD3_mapped ; 0028 540D 0029 #1.1 PARENTHESIZED IDEOGRAPH NAME -3235 ; disallowed_STD3_mapped ; 0028 7279 0029 #1.1 PARENTHESIZED IDEOGRAPH SPECIAL -3236 ; disallowed_STD3_mapped ; 0028 8CA1 0029 #1.1 PARENTHESIZED IDEOGRAPH FINANCIAL -3237 ; disallowed_STD3_mapped ; 0028 795D 0029 #1.1 PARENTHESIZED IDEOGRAPH CONGRATULATION -3238 ; disallowed_STD3_mapped ; 0028 52B4 0029 #1.1 PARENTHESIZED IDEOGRAPH LABOR -3239 ; disallowed_STD3_mapped ; 0028 4EE3 0029 #1.1 PARENTHESIZED IDEOGRAPH REPRESENT -323A ; disallowed_STD3_mapped ; 0028 547C 0029 #1.1 PARENTHESIZED IDEOGRAPH CALL -323B ; disallowed_STD3_mapped ; 0028 5B66 0029 #1.1 PARENTHESIZED IDEOGRAPH STUDY -323C ; disallowed_STD3_mapped ; 0028 76E3 0029 #1.1 PARENTHESIZED IDEOGRAPH SUPERVISE -323D ; disallowed_STD3_mapped ; 0028 4F01 0029 #1.1 PARENTHESIZED IDEOGRAPH ENTERPRISE -323E ; disallowed_STD3_mapped ; 0028 8CC7 0029 #1.1 PARENTHESIZED IDEOGRAPH RESOURCE -323F ; disallowed_STD3_mapped ; 0028 5354 0029 #1.1 PARENTHESIZED IDEOGRAPH ALLIANCE -3240 ; disallowed_STD3_mapped ; 0028 796D 0029 #1.1 PARENTHESIZED IDEOGRAPH FESTIVAL -3241 ; disallowed_STD3_mapped ; 0028 4F11 0029 #1.1 PARENTHESIZED IDEOGRAPH REST -3242 ; disallowed_STD3_mapped ; 0028 81EA 0029 #1.1 PARENTHESIZED IDEOGRAPH SELF -3243 ; disallowed_STD3_mapped ; 0028 81F3 0029 #1.1 PARENTHESIZED IDEOGRAPH REACH -3244 ; mapped ; 554F # 5.2 CIRCLED IDEOGRAPH QUESTION -3245 ; mapped ; 5E7C # 5.2 CIRCLED IDEOGRAPH KINDERGARTEN -3246 ; mapped ; 6587 # 5.2 CIRCLED IDEOGRAPH SCHOOL -3247 ; mapped ; 7B8F # 5.2 CIRCLED IDEOGRAPH KOTO -3248..324F ; valid ; ; NV8 # 5.2 CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE -3250 ; mapped ; 0070 0074 0065 #4.0 PARTNERSHIP SIGN -3251 ; mapped ; 0032 0031 # 3.2 CIRCLED NUMBER TWENTY ONE -3252 ; mapped ; 0032 0032 # 3.2 CIRCLED NUMBER TWENTY TWO -3253 ; mapped ; 0032 0033 # 3.2 CIRCLED NUMBER TWENTY THREE -3254 ; mapped ; 0032 0034 # 3.2 CIRCLED NUMBER TWENTY FOUR -3255 ; mapped ; 0032 0035 # 3.2 CIRCLED NUMBER TWENTY FIVE -3256 ; mapped ; 0032 0036 # 3.2 CIRCLED NUMBER TWENTY SIX -3257 ; mapped ; 0032 0037 # 3.2 CIRCLED NUMBER TWENTY SEVEN -3258 ; mapped ; 0032 0038 # 3.2 CIRCLED NUMBER TWENTY EIGHT -3259 ; mapped ; 0032 0039 # 3.2 CIRCLED NUMBER TWENTY NINE -325A ; mapped ; 0033 0030 # 3.2 CIRCLED NUMBER THIRTY -325B ; mapped ; 0033 0031 # 3.2 CIRCLED NUMBER THIRTY ONE -325C ; mapped ; 0033 0032 # 3.2 CIRCLED NUMBER THIRTY TWO -325D ; mapped ; 0033 0033 # 3.2 CIRCLED NUMBER THIRTY THREE -325E ; mapped ; 0033 0034 # 3.2 CIRCLED NUMBER THIRTY FOUR -325F ; mapped ; 0033 0035 # 3.2 CIRCLED NUMBER THIRTY FIVE -3260 ; mapped ; 1100 # 1.1 CIRCLED HANGUL KIYEOK -3261 ; mapped ; 1102 # 1.1 CIRCLED HANGUL NIEUN -3262 ; mapped ; 1103 # 1.1 CIRCLED HANGUL TIKEUT -3263 ; mapped ; 1105 # 1.1 CIRCLED HANGUL RIEUL -3264 ; mapped ; 1106 # 1.1 CIRCLED HANGUL MIEUM -3265 ; mapped ; 1107 # 1.1 CIRCLED HANGUL PIEUP -3266 ; mapped ; 1109 # 1.1 CIRCLED HANGUL SIOS -3267 ; mapped ; 110B # 1.1 CIRCLED HANGUL IEUNG -3268 ; mapped ; 110C # 1.1 CIRCLED HANGUL CIEUC -3269 ; mapped ; 110E # 1.1 CIRCLED HANGUL CHIEUCH -326A ; mapped ; 110F # 1.1 CIRCLED HANGUL KHIEUKH -326B ; mapped ; 1110 # 1.1 CIRCLED HANGUL THIEUTH -326C ; mapped ; 1111 # 1.1 CIRCLED HANGUL PHIEUPH -326D ; mapped ; 1112 # 1.1 CIRCLED HANGUL HIEUH -326E ; mapped ; AC00 # 1.1 CIRCLED HANGUL KIYEOK A -326F ; mapped ; B098 # 1.1 CIRCLED HANGUL NIEUN A -3270 ; mapped ; B2E4 # 1.1 CIRCLED HANGUL TIKEUT A -3271 ; mapped ; B77C # 1.1 CIRCLED HANGUL RIEUL A -3272 ; mapped ; B9C8 # 1.1 CIRCLED HANGUL MIEUM A -3273 ; mapped ; BC14 # 1.1 CIRCLED HANGUL PIEUP A -3274 ; mapped ; C0AC # 1.1 CIRCLED HANGUL SIOS A -3275 ; mapped ; C544 # 1.1 CIRCLED HANGUL IEUNG A -3276 ; mapped ; C790 # 1.1 CIRCLED HANGUL CIEUC A -3277 ; mapped ; CC28 # 1.1 CIRCLED HANGUL CHIEUCH A -3278 ; mapped ; CE74 # 1.1 CIRCLED HANGUL KHIEUKH A -3279 ; mapped ; D0C0 # 1.1 CIRCLED HANGUL THIEUTH A -327A ; mapped ; D30C # 1.1 CIRCLED HANGUL PHIEUPH A -327B ; mapped ; D558 # 1.1 CIRCLED HANGUL HIEUH A -327C ; mapped ; CC38 ACE0 # 4.0 CIRCLED KOREAN CHARACTER CHAMKO -327D ; mapped ; C8FC C758 # 4.0 CIRCLED KOREAN CHARACTER JUEUI -327E ; mapped ; C6B0 # 4.1 CIRCLED HANGUL IEUNG U -327F ; valid ; ; NV8 # 1.1 KOREAN STANDARD SYMBOL -3280 ; mapped ; 4E00 # 1.1 CIRCLED IDEOGRAPH ONE -3281 ; mapped ; 4E8C # 1.1 CIRCLED IDEOGRAPH TWO -3282 ; mapped ; 4E09 # 1.1 CIRCLED IDEOGRAPH THREE -3283 ; mapped ; 56DB # 1.1 CIRCLED IDEOGRAPH FOUR -3284 ; mapped ; 4E94 # 1.1 CIRCLED IDEOGRAPH FIVE -3285 ; mapped ; 516D # 1.1 CIRCLED IDEOGRAPH SIX -3286 ; mapped ; 4E03 # 1.1 CIRCLED IDEOGRAPH SEVEN -3287 ; mapped ; 516B # 1.1 CIRCLED IDEOGRAPH EIGHT -3288 ; mapped ; 4E5D # 1.1 CIRCLED IDEOGRAPH NINE -3289 ; mapped ; 5341 # 1.1 CIRCLED IDEOGRAPH TEN -328A ; mapped ; 6708 # 1.1 CIRCLED IDEOGRAPH MOON -328B ; mapped ; 706B # 1.1 CIRCLED IDEOGRAPH FIRE -328C ; mapped ; 6C34 # 1.1 CIRCLED IDEOGRAPH WATER -328D ; mapped ; 6728 # 1.1 CIRCLED IDEOGRAPH WOOD -328E ; mapped ; 91D1 # 1.1 CIRCLED IDEOGRAPH METAL -328F ; mapped ; 571F # 1.1 CIRCLED IDEOGRAPH EARTH -3290 ; mapped ; 65E5 # 1.1 CIRCLED IDEOGRAPH SUN -3291 ; mapped ; 682A # 1.1 CIRCLED IDEOGRAPH STOCK -3292 ; mapped ; 6709 # 1.1 CIRCLED IDEOGRAPH HAVE -3293 ; mapped ; 793E # 1.1 CIRCLED IDEOGRAPH SOCIETY -3294 ; mapped ; 540D # 1.1 CIRCLED IDEOGRAPH NAME -3295 ; mapped ; 7279 # 1.1 CIRCLED IDEOGRAPH SPECIAL -3296 ; mapped ; 8CA1 # 1.1 CIRCLED IDEOGRAPH FINANCIAL -3297 ; mapped ; 795D # 1.1 CIRCLED IDEOGRAPH CONGRATULATION -3298 ; mapped ; 52B4 # 1.1 CIRCLED IDEOGRAPH LABOR -3299 ; mapped ; 79D8 # 1.1 CIRCLED IDEOGRAPH SECRET -329A ; mapped ; 7537 # 1.1 CIRCLED IDEOGRAPH MALE -329B ; mapped ; 5973 # 1.1 CIRCLED IDEOGRAPH FEMALE -329C ; mapped ; 9069 # 1.1 CIRCLED IDEOGRAPH SUITABLE -329D ; mapped ; 512A # 1.1 CIRCLED IDEOGRAPH EXCELLENT -329E ; mapped ; 5370 # 1.1 CIRCLED IDEOGRAPH PRINT -329F ; mapped ; 6CE8 # 1.1 CIRCLED IDEOGRAPH ATTENTION -32A0 ; mapped ; 9805 # 1.1 CIRCLED IDEOGRAPH ITEM -32A1 ; mapped ; 4F11 # 1.1 CIRCLED IDEOGRAPH REST -32A2 ; mapped ; 5199 # 1.1 CIRCLED IDEOGRAPH COPY -32A3 ; mapped ; 6B63 # 1.1 CIRCLED IDEOGRAPH CORRECT -32A4 ; mapped ; 4E0A # 1.1 CIRCLED IDEOGRAPH HIGH -32A5 ; mapped ; 4E2D # 1.1 CIRCLED IDEOGRAPH CENTRE -32A6 ; mapped ; 4E0B # 1.1 CIRCLED IDEOGRAPH LOW -32A7 ; mapped ; 5DE6 # 1.1 CIRCLED IDEOGRAPH LEFT -32A8 ; mapped ; 53F3 # 1.1 CIRCLED IDEOGRAPH RIGHT -32A9 ; mapped ; 533B # 1.1 CIRCLED IDEOGRAPH MEDICINE -32AA ; mapped ; 5B97 # 1.1 CIRCLED IDEOGRAPH RELIGION -32AB ; mapped ; 5B66 # 1.1 CIRCLED IDEOGRAPH STUDY -32AC ; mapped ; 76E3 # 1.1 CIRCLED IDEOGRAPH SUPERVISE -32AD ; mapped ; 4F01 # 1.1 CIRCLED IDEOGRAPH ENTERPRISE -32AE ; mapped ; 8CC7 # 1.1 CIRCLED IDEOGRAPH RESOURCE -32AF ; mapped ; 5354 # 1.1 CIRCLED IDEOGRAPH ALLIANCE -32B0 ; mapped ; 591C # 1.1 CIRCLED IDEOGRAPH NIGHT -32B1 ; mapped ; 0033 0036 # 3.2 CIRCLED NUMBER THIRTY SIX -32B2 ; mapped ; 0033 0037 # 3.2 CIRCLED NUMBER THIRTY SEVEN -32B3 ; mapped ; 0033 0038 # 3.2 CIRCLED NUMBER THIRTY EIGHT -32B4 ; mapped ; 0033 0039 # 3.2 CIRCLED NUMBER THIRTY NINE -32B5 ; mapped ; 0034 0030 # 3.2 CIRCLED NUMBER FORTY -32B6 ; mapped ; 0034 0031 # 3.2 CIRCLED NUMBER FORTY ONE -32B7 ; mapped ; 0034 0032 # 3.2 CIRCLED NUMBER FORTY TWO -32B8 ; mapped ; 0034 0033 # 3.2 CIRCLED NUMBER FORTY THREE -32B9 ; mapped ; 0034 0034 # 3.2 CIRCLED NUMBER FORTY FOUR -32BA ; mapped ; 0034 0035 # 3.2 CIRCLED NUMBER FORTY FIVE -32BB ; mapped ; 0034 0036 # 3.2 CIRCLED NUMBER FORTY SIX -32BC ; mapped ; 0034 0037 # 3.2 CIRCLED NUMBER FORTY SEVEN -32BD ; mapped ; 0034 0038 # 3.2 CIRCLED NUMBER FORTY EIGHT -32BE ; mapped ; 0034 0039 # 3.2 CIRCLED NUMBER FORTY NINE -32BF ; mapped ; 0035 0030 # 3.2 CIRCLED NUMBER FIFTY -32C0 ; mapped ; 0031 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY -32C1 ; mapped ; 0032 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY -32C2 ; mapped ; 0033 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH -32C3 ; mapped ; 0034 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL -32C4 ; mapped ; 0035 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY -32C5 ; mapped ; 0036 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE -32C6 ; mapped ; 0037 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY -32C7 ; mapped ; 0038 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST -32C8 ; mapped ; 0039 6708 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER -32C9 ; mapped ; 0031 0030 6708 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER -32CA ; mapped ; 0031 0031 6708 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER -32CB ; mapped ; 0031 0032 6708 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER -32CC ; mapped ; 0068 0067 # 4.0 SQUARE HG -32CD ; mapped ; 0065 0072 0067 #4.0 SQUARE ERG -32CE ; mapped ; 0065 0076 # 4.0 SQUARE EV -32CF ; mapped ; 006C 0074 0064 #4.0 LIMITED LIABILITY SIGN -32D0 ; mapped ; 30A2 # 1.1 CIRCLED KATAKANA A -32D1 ; mapped ; 30A4 # 1.1 CIRCLED KATAKANA I -32D2 ; mapped ; 30A6 # 1.1 CIRCLED KATAKANA U -32D3 ; mapped ; 30A8 # 1.1 CIRCLED KATAKANA E -32D4 ; mapped ; 30AA # 1.1 CIRCLED KATAKANA O -32D5 ; mapped ; 30AB # 1.1 CIRCLED KATAKANA KA -32D6 ; mapped ; 30AD # 1.1 CIRCLED KATAKANA KI -32D7 ; mapped ; 30AF # 1.1 CIRCLED KATAKANA KU -32D8 ; mapped ; 30B1 # 1.1 CIRCLED KATAKANA KE -32D9 ; mapped ; 30B3 # 1.1 CIRCLED KATAKANA KO -32DA ; mapped ; 30B5 # 1.1 CIRCLED KATAKANA SA -32DB ; mapped ; 30B7 # 1.1 CIRCLED KATAKANA SI -32DC ; mapped ; 30B9 # 1.1 CIRCLED KATAKANA SU -32DD ; mapped ; 30BB # 1.1 CIRCLED KATAKANA SE -32DE ; mapped ; 30BD # 1.1 CIRCLED KATAKANA SO -32DF ; mapped ; 30BF # 1.1 CIRCLED KATAKANA TA -32E0 ; mapped ; 30C1 # 1.1 CIRCLED KATAKANA TI -32E1 ; mapped ; 30C4 # 1.1 CIRCLED KATAKANA TU -32E2 ; mapped ; 30C6 # 1.1 CIRCLED KATAKANA TE -32E3 ; mapped ; 30C8 # 1.1 CIRCLED KATAKANA TO -32E4 ; mapped ; 30CA # 1.1 CIRCLED KATAKANA NA -32E5 ; mapped ; 30CB # 1.1 CIRCLED KATAKANA NI -32E6 ; mapped ; 30CC # 1.1 CIRCLED KATAKANA NU -32E7 ; mapped ; 30CD # 1.1 CIRCLED KATAKANA NE -32E8 ; mapped ; 30CE # 1.1 CIRCLED KATAKANA NO -32E9 ; mapped ; 30CF # 1.1 CIRCLED KATAKANA HA -32EA ; mapped ; 30D2 # 1.1 CIRCLED KATAKANA HI -32EB ; mapped ; 30D5 # 1.1 CIRCLED KATAKANA HU -32EC ; mapped ; 30D8 # 1.1 CIRCLED KATAKANA HE -32ED ; mapped ; 30DB # 1.1 CIRCLED KATAKANA HO -32EE ; mapped ; 30DE # 1.1 CIRCLED KATAKANA MA -32EF ; mapped ; 30DF # 1.1 CIRCLED KATAKANA MI -32F0 ; mapped ; 30E0 # 1.1 CIRCLED KATAKANA MU -32F1 ; mapped ; 30E1 # 1.1 CIRCLED KATAKANA ME -32F2 ; mapped ; 30E2 # 1.1 CIRCLED KATAKANA MO -32F3 ; mapped ; 30E4 # 1.1 CIRCLED KATAKANA YA -32F4 ; mapped ; 30E6 # 1.1 CIRCLED KATAKANA YU -32F5 ; mapped ; 30E8 # 1.1 CIRCLED KATAKANA YO -32F6 ; mapped ; 30E9 # 1.1 CIRCLED KATAKANA RA -32F7 ; mapped ; 30EA # 1.1 CIRCLED KATAKANA RI -32F8 ; mapped ; 30EB # 1.1 CIRCLED KATAKANA RU -32F9 ; mapped ; 30EC # 1.1 CIRCLED KATAKANA RE -32FA ; mapped ; 30ED # 1.1 CIRCLED KATAKANA RO -32FB ; mapped ; 30EF # 1.1 CIRCLED KATAKANA WA -32FC ; mapped ; 30F0 # 1.1 CIRCLED KATAKANA WI -32FD ; mapped ; 30F1 # 1.1 CIRCLED KATAKANA WE -32FE ; mapped ; 30F2 # 1.1 CIRCLED KATAKANA WO -32FF ; disallowed # NA <reserved-32FF> -3300 ; mapped ; 30A2 30D1 30FC 30C8 #1.1 SQUARE APAATO -3301 ; mapped ; 30A2 30EB 30D5 30A1 #1.1 SQUARE ARUHUA -3302 ; mapped ; 30A2 30F3 30DA 30A2 #1.1 SQUARE ANPEA -3303 ; mapped ; 30A2 30FC 30EB #1.1 SQUARE AARU -3304 ; mapped ; 30A4 30CB 30F3 30B0 #1.1 SQUARE ININGU -3305 ; mapped ; 30A4 30F3 30C1 #1.1 SQUARE INTI -3306 ; mapped ; 30A6 30A9 30F3 #1.1 SQUARE UON -3307 ; mapped ; 30A8 30B9 30AF 30FC 30C9 #1.1 SQUARE ESUKUUDO -3308 ; mapped ; 30A8 30FC 30AB 30FC #1.1 SQUARE EEKAA -3309 ; mapped ; 30AA 30F3 30B9 #1.1 SQUARE ONSU -330A ; mapped ; 30AA 30FC 30E0 #1.1 SQUARE OOMU -330B ; mapped ; 30AB 30A4 30EA #1.1 SQUARE KAIRI -330C ; mapped ; 30AB 30E9 30C3 30C8 #1.1 SQUARE KARATTO -330D ; mapped ; 30AB 30ED 30EA 30FC #1.1 SQUARE KARORII -330E ; mapped ; 30AC 30ED 30F3 #1.1 SQUARE GARON -330F ; mapped ; 30AC 30F3 30DE #1.1 SQUARE GANMA -3310 ; mapped ; 30AE 30AC # 1.1 SQUARE GIGA -3311 ; mapped ; 30AE 30CB 30FC #1.1 SQUARE GINII -3312 ; mapped ; 30AD 30E5 30EA 30FC #1.1 SQUARE KYURII -3313 ; mapped ; 30AE 30EB 30C0 30FC #1.1 SQUARE GIRUDAA -3314 ; mapped ; 30AD 30ED # 1.1 SQUARE KIRO -3315 ; mapped ; 30AD 30ED 30B0 30E9 30E0 #1.1 SQUARE KIROGURAMU -3316 ; mapped ; 30AD 30ED 30E1 30FC 30C8 30EB #1.1 SQUARE KIROMEETORU -3317 ; mapped ; 30AD 30ED 30EF 30C3 30C8 #1.1 SQUARE KIROWATTO -3318 ; mapped ; 30B0 30E9 30E0 #1.1 SQUARE GURAMU -3319 ; mapped ; 30B0 30E9 30E0 30C8 30F3 #1.1 SQUARE GURAMUTON -331A ; mapped ; 30AF 30EB 30BC 30A4 30ED #1.1 SQUARE KURUZEIRO -331B ; mapped ; 30AF 30ED 30FC 30CD #1.1 SQUARE KUROONE -331C ; mapped ; 30B1 30FC 30B9 #1.1 SQUARE KEESU -331D ; mapped ; 30B3 30EB 30CA #1.1 SQUARE KORUNA -331E ; mapped ; 30B3 30FC 30DD #1.1 SQUARE KOOPO -331F ; mapped ; 30B5 30A4 30AF 30EB #1.1 SQUARE SAIKURU -3320 ; mapped ; 30B5 30F3 30C1 30FC 30E0 #1.1 SQUARE SANTIIMU -3321 ; mapped ; 30B7 30EA 30F3 30B0 #1.1 SQUARE SIRINGU -3322 ; mapped ; 30BB 30F3 30C1 #1.1 SQUARE SENTI -3323 ; mapped ; 30BB 30F3 30C8 #1.1 SQUARE SENTO -3324 ; mapped ; 30C0 30FC 30B9 #1.1 SQUARE DAASU -3325 ; mapped ; 30C7 30B7 # 1.1 SQUARE DESI -3326 ; mapped ; 30C9 30EB # 1.1 SQUARE DORU -3327 ; mapped ; 30C8 30F3 # 1.1 SQUARE TON -3328 ; mapped ; 30CA 30CE # 1.1 SQUARE NANO -3329 ; mapped ; 30CE 30C3 30C8 #1.1 SQUARE NOTTO -332A ; mapped ; 30CF 30A4 30C4 #1.1 SQUARE HAITU -332B ; mapped ; 30D1 30FC 30BB 30F3 30C8 #1.1 SQUARE PAASENTO -332C ; mapped ; 30D1 30FC 30C4 #1.1 SQUARE PAATU -332D ; mapped ; 30D0 30FC 30EC 30EB #1.1 SQUARE BAARERU -332E ; mapped ; 30D4 30A2 30B9 30C8 30EB #1.1 SQUARE PIASUTORU -332F ; mapped ; 30D4 30AF 30EB #1.1 SQUARE PIKURU -3330 ; mapped ; 30D4 30B3 # 1.1 SQUARE PIKO -3331 ; mapped ; 30D3 30EB # 1.1 SQUARE BIRU -3332 ; mapped ; 30D5 30A1 30E9 30C3 30C9 #1.1 SQUARE HUARADDO -3333 ; mapped ; 30D5 30A3 30FC 30C8 #1.1 SQUARE HUIITO -3334 ; mapped ; 30D6 30C3 30B7 30A7 30EB #1.1 SQUARE BUSSYERU -3335 ; mapped ; 30D5 30E9 30F3 #1.1 SQUARE HURAN -3336 ; mapped ; 30D8 30AF 30BF 30FC 30EB #1.1 SQUARE HEKUTAARU -3337 ; mapped ; 30DA 30BD # 1.1 SQUARE PESO -3338 ; mapped ; 30DA 30CB 30D2 #1.1 SQUARE PENIHI -3339 ; mapped ; 30D8 30EB 30C4 #1.1 SQUARE HERUTU -333A ; mapped ; 30DA 30F3 30B9 #1.1 SQUARE PENSU -333B ; mapped ; 30DA 30FC 30B8 #1.1 SQUARE PEEZI -333C ; mapped ; 30D9 30FC 30BF #1.1 SQUARE BEETA -333D ; mapped ; 30DD 30A4 30F3 30C8 #1.1 SQUARE POINTO -333E ; mapped ; 30DC 30EB 30C8 #1.1 SQUARE BORUTO -333F ; mapped ; 30DB 30F3 # 1.1 SQUARE HON -3340 ; mapped ; 30DD 30F3 30C9 #1.1 SQUARE PONDO -3341 ; mapped ; 30DB 30FC 30EB #1.1 SQUARE HOORU -3342 ; mapped ; 30DB 30FC 30F3 #1.1 SQUARE HOON -3343 ; mapped ; 30DE 30A4 30AF 30ED #1.1 SQUARE MAIKURO -3344 ; mapped ; 30DE 30A4 30EB #1.1 SQUARE MAIRU -3345 ; mapped ; 30DE 30C3 30CF #1.1 SQUARE MAHHA -3346 ; mapped ; 30DE 30EB 30AF #1.1 SQUARE MARUKU -3347 ; mapped ; 30DE 30F3 30B7 30E7 30F3 #1.1 SQUARE MANSYON -3348 ; mapped ; 30DF 30AF 30ED 30F3 #1.1 SQUARE MIKURON -3349 ; mapped ; 30DF 30EA # 1.1 SQUARE MIRI -334A ; mapped ; 30DF 30EA 30D0 30FC 30EB #1.1 SQUARE MIRIBAARU -334B ; mapped ; 30E1 30AC # 1.1 SQUARE MEGA -334C ; mapped ; 30E1 30AC 30C8 30F3 #1.1 SQUARE MEGATON -334D ; mapped ; 30E1 30FC 30C8 30EB #1.1 SQUARE MEETORU -334E ; mapped ; 30E4 30FC 30C9 #1.1 SQUARE YAADO -334F ; mapped ; 30E4 30FC 30EB #1.1 SQUARE YAARU -3350 ; mapped ; 30E6 30A2 30F3 #1.1 SQUARE YUAN -3351 ; mapped ; 30EA 30C3 30C8 30EB #1.1 SQUARE RITTORU -3352 ; mapped ; 30EA 30E9 # 1.1 SQUARE RIRA -3353 ; mapped ; 30EB 30D4 30FC #1.1 SQUARE RUPII -3354 ; mapped ; 30EB 30FC 30D6 30EB #1.1 SQUARE RUUBURU -3355 ; mapped ; 30EC 30E0 # 1.1 SQUARE REMU -3356 ; mapped ; 30EC 30F3 30C8 30B2 30F3 #1.1 SQUARE RENTOGEN -3357 ; mapped ; 30EF 30C3 30C8 #1.1 SQUARE WATTO -3358 ; mapped ; 0030 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO -3359 ; mapped ; 0031 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE -335A ; mapped ; 0032 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO -335B ; mapped ; 0033 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE -335C ; mapped ; 0034 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR -335D ; mapped ; 0035 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE -335E ; mapped ; 0036 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX -335F ; mapped ; 0037 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN -3360 ; mapped ; 0038 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT -3361 ; mapped ; 0039 70B9 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE -3362 ; mapped ; 0031 0030 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN -3363 ; mapped ; 0031 0031 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN -3364 ; mapped ; 0031 0032 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE -3365 ; mapped ; 0031 0033 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN -3366 ; mapped ; 0031 0034 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN -3367 ; mapped ; 0031 0035 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN -3368 ; mapped ; 0031 0036 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN -3369 ; mapped ; 0031 0037 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN -336A ; mapped ; 0031 0038 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN -336B ; mapped ; 0031 0039 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN -336C ; mapped ; 0032 0030 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY -336D ; mapped ; 0032 0031 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE -336E ; mapped ; 0032 0032 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO -336F ; mapped ; 0032 0033 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE -3370 ; mapped ; 0032 0034 70B9 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR -3371 ; mapped ; 0068 0070 0061 #1.1 SQUARE HPA -3372 ; mapped ; 0064 0061 # 1.1 SQUARE DA -3373 ; mapped ; 0061 0075 # 1.1 SQUARE AU -3374 ; mapped ; 0062 0061 0072 #1.1 SQUARE BAR -3375 ; mapped ; 006F 0076 # 1.1 SQUARE OV -3376 ; mapped ; 0070 0063 # 1.1 SQUARE PC -3377 ; mapped ; 0064 006D # 4.0 SQUARE DM -3378 ; mapped ; 0064 006D 0032 #4.0 SQUARE DM SQUARED -3379 ; mapped ; 0064 006D 0033 #4.0 SQUARE DM CUBED -337A ; mapped ; 0069 0075 # 4.0 SQUARE IU -337B ; mapped ; 5E73 6210 # 1.1 SQUARE ERA NAME HEISEI -337C ; mapped ; 662D 548C # 1.1 SQUARE ERA NAME SYOUWA -337D ; mapped ; 5927 6B63 # 1.1 SQUARE ERA NAME TAISYOU -337E ; mapped ; 660E 6CBB # 1.1 SQUARE ERA NAME MEIZI -337F ; mapped ; 682A 5F0F 4F1A 793E #1.1 SQUARE CORPORATION -3380 ; mapped ; 0070 0061 # 1.1 SQUARE PA AMPS -3381 ; mapped ; 006E 0061 # 1.1 SQUARE NA -3382 ; mapped ; 03BC 0061 # 1.1 SQUARE MU A -3383 ; mapped ; 006D 0061 # 1.1 SQUARE MA -3384 ; mapped ; 006B 0061 # 1.1 SQUARE KA -3385 ; mapped ; 006B 0062 # 1.1 SQUARE KB -3386 ; mapped ; 006D 0062 # 1.1 SQUARE MB -3387 ; mapped ; 0067 0062 # 1.1 SQUARE GB -3388 ; mapped ; 0063 0061 006C #1.1 SQUARE CAL -3389 ; mapped ; 006B 0063 0061 006C #1.1 SQUARE KCAL -338A ; mapped ; 0070 0066 # 1.1 SQUARE PF -338B ; mapped ; 006E 0066 # 1.1 SQUARE NF -338C ; mapped ; 03BC 0066 # 1.1 SQUARE MU F -338D ; mapped ; 03BC 0067 # 1.1 SQUARE MU G -338E ; mapped ; 006D 0067 # 1.1 SQUARE MG -338F ; mapped ; 006B 0067 # 1.1 SQUARE KG -3390 ; mapped ; 0068 007A # 1.1 SQUARE HZ -3391 ; mapped ; 006B 0068 007A #1.1 SQUARE KHZ -3392 ; mapped ; 006D 0068 007A #1.1 SQUARE MHZ -3393 ; mapped ; 0067 0068 007A #1.1 SQUARE GHZ -3394 ; mapped ; 0074 0068 007A #1.1 SQUARE THZ -3395 ; mapped ; 03BC 006C # 1.1 SQUARE MU L -3396 ; mapped ; 006D 006C # 1.1 SQUARE ML -3397 ; mapped ; 0064 006C # 1.1 SQUARE DL -3398 ; mapped ; 006B 006C # 1.1 SQUARE KL -3399 ; mapped ; 0066 006D # 1.1 SQUARE FM -339A ; mapped ; 006E 006D # 1.1 SQUARE NM -339B ; mapped ; 03BC 006D # 1.1 SQUARE MU M -339C ; mapped ; 006D 006D # 1.1 SQUARE MM -339D ; mapped ; 0063 006D # 1.1 SQUARE CM -339E ; mapped ; 006B 006D # 1.1 SQUARE KM -339F ; mapped ; 006D 006D 0032 #1.1 SQUARE MM SQUARED -33A0 ; mapped ; 0063 006D 0032 #1.1 SQUARE CM SQUARED -33A1 ; mapped ; 006D 0032 # 1.1 SQUARE M SQUARED -33A2 ; mapped ; 006B 006D 0032 #1.1 SQUARE KM SQUARED -33A3 ; mapped ; 006D 006D 0033 #1.1 SQUARE MM CUBED -33A4 ; mapped ; 0063 006D 0033 #1.1 SQUARE CM CUBED -33A5 ; mapped ; 006D 0033 # 1.1 SQUARE M CUBED -33A6 ; mapped ; 006B 006D 0033 #1.1 SQUARE KM CUBED -33A7 ; mapped ; 006D 2215 0073 #1.1 SQUARE M OVER S -33A8 ; mapped ; 006D 2215 0073 0032 #1.1 SQUARE M OVER S SQUARED -33A9 ; mapped ; 0070 0061 # 1.1 SQUARE PA -33AA ; mapped ; 006B 0070 0061 #1.1 SQUARE KPA -33AB ; mapped ; 006D 0070 0061 #1.1 SQUARE MPA -33AC ; mapped ; 0067 0070 0061 #1.1 SQUARE GPA -33AD ; mapped ; 0072 0061 0064 #1.1 SQUARE RAD -33AE ; mapped ; 0072 0061 0064 2215 0073 #1.1 SQUARE RAD OVER S -33AF ; mapped ; 0072 0061 0064 2215 0073 0032 #1.1 SQUARE RAD OVER S SQUARED -33B0 ; mapped ; 0070 0073 # 1.1 SQUARE PS -33B1 ; mapped ; 006E 0073 # 1.1 SQUARE NS -33B2 ; mapped ; 03BC 0073 # 1.1 SQUARE MU S -33B3 ; mapped ; 006D 0073 # 1.1 SQUARE MS -33B4 ; mapped ; 0070 0076 # 1.1 SQUARE PV -33B5 ; mapped ; 006E 0076 # 1.1 SQUARE NV -33B6 ; mapped ; 03BC 0076 # 1.1 SQUARE MU V -33B7 ; mapped ; 006D 0076 # 1.1 SQUARE MV -33B8 ; mapped ; 006B 0076 # 1.1 SQUARE KV -33B9 ; mapped ; 006D 0076 # 1.1 SQUARE MV MEGA -33BA ; mapped ; 0070 0077 # 1.1 SQUARE PW -33BB ; mapped ; 006E 0077 # 1.1 SQUARE NW -33BC ; mapped ; 03BC 0077 # 1.1 SQUARE MU W -33BD ; mapped ; 006D 0077 # 1.1 SQUARE MW -33BE ; mapped ; 006B 0077 # 1.1 SQUARE KW -33BF ; mapped ; 006D 0077 # 1.1 SQUARE MW MEGA -33C0 ; mapped ; 006B 03C9 # 1.1 SQUARE K OHM -33C1 ; mapped ; 006D 03C9 # 1.1 SQUARE M OHM -33C2 ; disallowed # 1.1 SQUARE AM -33C3 ; mapped ; 0062 0071 # 1.1 SQUARE BQ -33C4 ; mapped ; 0063 0063 # 1.1 SQUARE CC -33C5 ; mapped ; 0063 0064 # 1.1 SQUARE CD -33C6 ; mapped ; 0063 2215 006B 0067 #1.1 SQUARE C OVER KG -33C7 ; disallowed # 1.1 SQUARE CO -33C8 ; mapped ; 0064 0062 # 1.1 SQUARE DB -33C9 ; mapped ; 0067 0079 # 1.1 SQUARE GY -33CA ; mapped ; 0068 0061 # 1.1 SQUARE HA -33CB ; mapped ; 0068 0070 # 1.1 SQUARE HP -33CC ; mapped ; 0069 006E # 1.1 SQUARE IN -33CD ; mapped ; 006B 006B # 1.1 SQUARE KK -33CE ; mapped ; 006B 006D # 1.1 SQUARE KM CAPITAL -33CF ; mapped ; 006B 0074 # 1.1 SQUARE KT -33D0 ; mapped ; 006C 006D # 1.1 SQUARE LM -33D1 ; mapped ; 006C 006E # 1.1 SQUARE LN -33D2 ; mapped ; 006C 006F 0067 #1.1 SQUARE LOG -33D3 ; mapped ; 006C 0078 # 1.1 SQUARE LX -33D4 ; mapped ; 006D 0062 # 1.1 SQUARE MB SMALL -33D5 ; mapped ; 006D 0069 006C #1.1 SQUARE MIL -33D6 ; mapped ; 006D 006F 006C #1.1 SQUARE MOL -33D7 ; mapped ; 0070 0068 # 1.1 SQUARE PH -33D8 ; disallowed # 1.1 SQUARE PM -33D9 ; mapped ; 0070 0070 006D #1.1 SQUARE PPM -33DA ; mapped ; 0070 0072 # 1.1 SQUARE PR -33DB ; mapped ; 0073 0072 # 1.1 SQUARE SR -33DC ; mapped ; 0073 0076 # 1.1 SQUARE SV -33DD ; mapped ; 0077 0062 # 1.1 SQUARE WB -33DE ; mapped ; 0076 2215 006D #4.0 SQUARE V OVER M -33DF ; mapped ; 0061 2215 006D #4.0 SQUARE A OVER M -33E0 ; mapped ; 0031 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE -33E1 ; mapped ; 0032 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO -33E2 ; mapped ; 0033 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE -33E3 ; mapped ; 0034 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR -33E4 ; mapped ; 0035 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE -33E5 ; mapped ; 0036 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX -33E6 ; mapped ; 0037 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN -33E7 ; mapped ; 0038 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT -33E8 ; mapped ; 0039 65E5 # 1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE -33E9 ; mapped ; 0031 0030 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN -33EA ; mapped ; 0031 0031 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN -33EB ; mapped ; 0031 0032 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE -33EC ; mapped ; 0031 0033 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN -33ED ; mapped ; 0031 0034 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN -33EE ; mapped ; 0031 0035 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN -33EF ; mapped ; 0031 0036 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN -33F0 ; mapped ; 0031 0037 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN -33F1 ; mapped ; 0031 0038 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN -33F2 ; mapped ; 0031 0039 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN -33F3 ; mapped ; 0032 0030 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY -33F4 ; mapped ; 0032 0031 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE -33F5 ; mapped ; 0032 0032 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO -33F6 ; mapped ; 0032 0033 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE -33F7 ; mapped ; 0032 0034 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR -33F8 ; mapped ; 0032 0035 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE -33F9 ; mapped ; 0032 0036 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX -33FA ; mapped ; 0032 0037 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN -33FB ; mapped ; 0032 0038 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT -33FC ; mapped ; 0032 0039 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE -33FD ; mapped ; 0033 0030 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY -33FE ; mapped ; 0033 0031 65E5 #1.1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE -33FF ; mapped ; 0067 0061 006C #4.0 SQUARE GAL -3400..4DB5 ; valid # 3.0 CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4DB6..4DBF ; disallowed # NA <reserved-4DB6>..<reserved-4DBF> -4DC0..4DFF ; valid ; ; NV8 # 4.0 HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION -4E00..9FA5 ; valid # 1.1 CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FA5 -9FA6..9FBB ; valid # 4.1 CJK UNIFIED IDEOGRAPH-9FA6..CJK UNIFIED IDEOGRAPH-9FBB -9FBC..9FC3 ; valid # 5.1 CJK UNIFIED IDEOGRAPH-9FBC..CJK UNIFIED IDEOGRAPH-9FC3 -9FC4..9FCB ; valid # 5.2 CJK UNIFIED IDEOGRAPH-9FC4..CJK UNIFIED IDEOGRAPH-9FCB -9FCC ; valid # 6.1 CJK UNIFIED IDEOGRAPH-9FCC -9FCD..9FD5 ; valid # 8.0 CJK UNIFIED IDEOGRAPH-9FCD..CJK UNIFIED IDEOGRAPH-9FD5 -9FD6..9FFF ; disallowed # NA <reserved-9FD6>..<reserved-9FFF> -A000..A48C ; valid # 3.0 YI SYLLABLE IT..YI SYLLABLE YYR -A48D..A48F ; disallowed # NA <reserved-A48D>..<reserved-A48F> -A490..A4A1 ; valid ; ; NV8 # 3.0 YI RADICAL QOT..YI RADICAL GA -A4A2..A4A3 ; valid ; ; NV8 # 3.2 YI RADICAL ZUP..YI RADICAL CYT -A4A4..A4B3 ; valid ; ; NV8 # 3.0 YI RADICAL DDUR..YI RADICAL JO -A4B4 ; valid ; ; NV8 # 3.2 YI RADICAL NZUP -A4B5..A4C0 ; valid ; ; NV8 # 3.0 YI RADICAL JJY..YI RADICAL SHAT -A4C1 ; valid ; ; NV8 # 3.2 YI RADICAL ZUR -A4C2..A4C4 ; valid ; ; NV8 # 3.0 YI RADICAL SHOP..YI RADICAL ZZIET -A4C5 ; valid ; ; NV8 # 3.2 YI RADICAL NBIE -A4C6 ; valid ; ; NV8 # 3.0 YI RADICAL KE -A4C7..A4CF ; disallowed # NA <reserved-A4C7>..<reserved-A4CF> -A4D0..A4FD ; valid # 5.2 LISU LETTER BA..LISU LETTER TONE MYA JEU -A4FE..A4FF ; valid ; ; NV8 # 5.2 LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP -A500..A60C ; valid # 5.1 VAI SYLLABLE EE..VAI SYLLABLE LENGTHENER -A60D..A60F ; valid ; ; NV8 # 5.1 VAI COMMA..VAI QUESTION MARK -A610..A62B ; valid # 5.1 VAI SYLLABLE NDOLE FA..VAI SYLLABLE NDOLE DO -A62C..A63F ; disallowed # NA <reserved-A62C>..<reserved-A63F> -A640 ; mapped ; A641 # 5.1 CYRILLIC CAPITAL LETTER ZEMLYA -A641 ; valid # 5.1 CYRILLIC SMALL LETTER ZEMLYA -A642 ; mapped ; A643 # 5.1 CYRILLIC CAPITAL LETTER DZELO -A643 ; valid # 5.1 CYRILLIC SMALL LETTER DZELO -A644 ; mapped ; A645 # 5.1 CYRILLIC CAPITAL LETTER REVERSED DZE -A645 ; valid # 5.1 CYRILLIC SMALL LETTER REVERSED DZE -A646 ; mapped ; A647 # 5.1 CYRILLIC CAPITAL LETTER IOTA -A647 ; valid # 5.1 CYRILLIC SMALL LETTER IOTA -A648 ; mapped ; A649 # 5.1 CYRILLIC CAPITAL LETTER DJERV -A649 ; valid # 5.1 CYRILLIC SMALL LETTER DJERV -A64A ; mapped ; A64B # 5.1 CYRILLIC CAPITAL LETTER MONOGRAPH UK -A64B ; valid # 5.1 CYRILLIC SMALL LETTER MONOGRAPH UK -A64C ; mapped ; A64D # 5.1 CYRILLIC CAPITAL LETTER BROAD OMEGA -A64D ; valid # 5.1 CYRILLIC SMALL LETTER BROAD OMEGA -A64E ; mapped ; A64F # 5.1 CYRILLIC CAPITAL LETTER NEUTRAL YER -A64F ; valid # 5.1 CYRILLIC SMALL LETTER NEUTRAL YER -A650 ; mapped ; A651 # 5.1 CYRILLIC CAPITAL LETTER YERU WITH BACK YER -A651 ; valid # 5.1 CYRILLIC SMALL LETTER YERU WITH BACK YER -A652 ; mapped ; A653 # 5.1 CYRILLIC CAPITAL LETTER IOTIFIED YAT -A653 ; valid # 5.1 CYRILLIC SMALL LETTER IOTIFIED YAT -A654 ; mapped ; A655 # 5.1 CYRILLIC CAPITAL LETTER REVERSED YU -A655 ; valid # 5.1 CYRILLIC SMALL LETTER REVERSED YU -A656 ; mapped ; A657 # 5.1 CYRILLIC CAPITAL LETTER IOTIFIED A -A657 ; valid # 5.1 CYRILLIC SMALL LETTER IOTIFIED A -A658 ; mapped ; A659 # 5.1 CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS -A659 ; valid # 5.1 CYRILLIC SMALL LETTER CLOSED LITTLE YUS -A65A ; mapped ; A65B # 5.1 CYRILLIC CAPITAL LETTER BLENDED YUS -A65B ; valid # 5.1 CYRILLIC SMALL LETTER BLENDED YUS -A65C ; mapped ; A65D # 5.1 CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS -A65D ; valid # 5.1 CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS -A65E ; mapped ; A65F # 5.1 CYRILLIC CAPITAL LETTER YN -A65F ; valid # 5.1 CYRILLIC SMALL LETTER YN -A660 ; mapped ; A661 # 6.0 CYRILLIC CAPITAL LETTER REVERSED TSE -A661 ; valid # 6.0 CYRILLIC SMALL LETTER REVERSED TSE -A662 ; mapped ; A663 # 5.1 CYRILLIC CAPITAL LETTER SOFT DE -A663 ; valid # 5.1 CYRILLIC SMALL LETTER SOFT DE -A664 ; mapped ; A665 # 5.1 CYRILLIC CAPITAL LETTER SOFT EL -A665 ; valid # 5.1 CYRILLIC SMALL LETTER SOFT EL -A666 ; mapped ; A667 # 5.1 CYRILLIC CAPITAL LETTER SOFT EM -A667 ; valid # 5.1 CYRILLIC SMALL LETTER SOFT EM -A668 ; mapped ; A669 # 5.1 CYRILLIC CAPITAL LETTER MONOCULAR O -A669 ; valid # 5.1 CYRILLIC SMALL LETTER MONOCULAR O -A66A ; mapped ; A66B # 5.1 CYRILLIC CAPITAL LETTER BINOCULAR O -A66B ; valid # 5.1 CYRILLIC SMALL LETTER BINOCULAR O -A66C ; mapped ; A66D # 5.1 CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O -A66D..A66F ; valid # 5.1 CYRILLIC SMALL LETTER DOUBLE MONOCULAR O..COMBINING CYRILLIC VZMET -A670..A673 ; valid ; ; NV8 # 5.1 COMBINING CYRILLIC TEN MILLIONS SIGN..SLAVONIC ASTERISK -A674..A67B ; valid # 6.1 COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA -A67C..A67D ; valid # 5.1 COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK -A67E ; valid ; ; NV8 # 5.1 CYRILLIC KAVYKA -A67F ; valid # 5.1 CYRILLIC PAYEROK -A680 ; mapped ; A681 # 5.1 CYRILLIC CAPITAL LETTER DWE -A681 ; valid # 5.1 CYRILLIC SMALL LETTER DWE -A682 ; mapped ; A683 # 5.1 CYRILLIC CAPITAL LETTER DZWE -A683 ; valid # 5.1 CYRILLIC SMALL LETTER DZWE -A684 ; mapped ; A685 # 5.1 CYRILLIC CAPITAL LETTER ZHWE -A685 ; valid # 5.1 CYRILLIC SMALL LETTER ZHWE -A686 ; mapped ; A687 # 5.1 CYRILLIC CAPITAL LETTER CCHE -A687 ; valid # 5.1 CYRILLIC SMALL LETTER CCHE -A688 ; mapped ; A689 # 5.1 CYRILLIC CAPITAL LETTER DZZE -A689 ; valid # 5.1 CYRILLIC SMALL LETTER DZZE -A68A ; mapped ; A68B # 5.1 CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK -A68B ; valid # 5.1 CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK -A68C ; mapped ; A68D # 5.1 CYRILLIC CAPITAL LETTER TWE -A68D ; valid # 5.1 CYRILLIC SMALL LETTER TWE -A68E ; mapped ; A68F # 5.1 CYRILLIC CAPITAL LETTER TSWE -A68F ; valid # 5.1 CYRILLIC SMALL LETTER TSWE -A690 ; mapped ; A691 # 5.1 CYRILLIC CAPITAL LETTER TSSE -A691 ; valid # 5.1 CYRILLIC SMALL LETTER TSSE -A692 ; mapped ; A693 # 5.1 CYRILLIC CAPITAL LETTER TCHE -A693 ; valid # 5.1 CYRILLIC SMALL LETTER TCHE -A694 ; mapped ; A695 # 5.1 CYRILLIC CAPITAL LETTER HWE -A695 ; valid # 5.1 CYRILLIC SMALL LETTER HWE -A696 ; mapped ; A697 # 5.1 CYRILLIC CAPITAL LETTER SHWE -A697 ; valid # 5.1 CYRILLIC SMALL LETTER SHWE -A698 ; mapped ; A699 # 7.0 CYRILLIC CAPITAL LETTER DOUBLE O -A699 ; valid # 7.0 CYRILLIC SMALL LETTER DOUBLE O -A69A ; mapped ; A69B # 7.0 CYRILLIC CAPITAL LETTER CROSSED O -A69B ; valid # 7.0 CYRILLIC SMALL LETTER CROSSED O -A69C ; mapped ; 044A # 7.0 MODIFIER LETTER CYRILLIC HARD SIGN -A69D ; mapped ; 044C # 7.0 MODIFIER LETTER CYRILLIC SOFT SIGN -A69E ; valid # 8.0 COMBINING CYRILLIC LETTER EF -A69F ; valid # 6.1 COMBINING CYRILLIC LETTER IOTIFIED E -A6A0..A6E5 ; valid # 5.2 BAMUM LETTER A..BAMUM LETTER KI -A6E6..A6EF ; valid ; ; NV8 # 5.2 BAMUM LETTER MO..BAMUM LETTER KOGHOM -A6F0..A6F1 ; valid # 5.2 BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS -A6F2..A6F7 ; valid ; ; NV8 # 5.2 BAMUM NJAEMLI..BAMUM QUESTION MARK -A6F8..A6FF ; disallowed # NA <reserved-A6F8>..<reserved-A6FF> -A700..A716 ; valid ; ; NV8 # 4.1 MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR -A717..A71A ; valid # 5.0 MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOWER RIGHT CORNER ANGLE -A71B..A71F ; valid # 5.1 MODIFIER LETTER RAISED UP ARROW..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK -A720..A721 ; valid ; ; NV8 # 5.0 MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE -A722 ; mapped ; A723 # 5.1 LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF -A723 ; valid # 5.1 LATIN SMALL LETTER EGYPTOLOGICAL ALEF -A724 ; mapped ; A725 # 5.1 LATIN CAPITAL LETTER EGYPTOLOGICAL AIN -A725 ; valid # 5.1 LATIN SMALL LETTER EGYPTOLOGICAL AIN -A726 ; mapped ; A727 # 5.1 LATIN CAPITAL LETTER HENG -A727 ; valid # 5.1 LATIN SMALL LETTER HENG -A728 ; mapped ; A729 # 5.1 LATIN CAPITAL LETTER TZ -A729 ; valid # 5.1 LATIN SMALL LETTER TZ -A72A ; mapped ; A72B # 5.1 LATIN CAPITAL LETTER TRESILLO -A72B ; valid # 5.1 LATIN SMALL LETTER TRESILLO -A72C ; mapped ; A72D # 5.1 LATIN CAPITAL LETTER CUATRILLO -A72D ; valid # 5.1 LATIN SMALL LETTER CUATRILLO -A72E ; mapped ; A72F # 5.1 LATIN CAPITAL LETTER CUATRILLO WITH COMMA -A72F..A731 ; valid # 5.1 LATIN SMALL LETTER CUATRILLO WITH COMMA..LATIN LETTER SMALL CAPITAL S -A732 ; mapped ; A733 # 5.1 LATIN CAPITAL LETTER AA -A733 ; valid # 5.1 LATIN SMALL LETTER AA -A734 ; mapped ; A735 # 5.1 LATIN CAPITAL LETTER AO -A735 ; valid # 5.1 LATIN SMALL LETTER AO -A736 ; mapped ; A737 # 5.1 LATIN CAPITAL LETTER AU -A737 ; valid # 5.1 LATIN SMALL LETTER AU -A738 ; mapped ; A739 # 5.1 LATIN CAPITAL LETTER AV -A739 ; valid # 5.1 LATIN SMALL LETTER AV -A73A ; mapped ; A73B # 5.1 LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR -A73B ; valid # 5.1 LATIN SMALL LETTER AV WITH HORIZONTAL BAR -A73C ; mapped ; A73D # 5.1 LATIN CAPITAL LETTER AY -A73D ; valid # 5.1 LATIN SMALL LETTER AY -A73E ; mapped ; A73F # 5.1 LATIN CAPITAL LETTER REVERSED C WITH DOT -A73F ; valid # 5.1 LATIN SMALL LETTER REVERSED C WITH DOT -A740 ; mapped ; A741 # 5.1 LATIN CAPITAL LETTER K WITH STROKE -A741 ; valid # 5.1 LATIN SMALL LETTER K WITH STROKE -A742 ; mapped ; A743 # 5.1 LATIN CAPITAL LETTER K WITH DIAGONAL STROKE -A743 ; valid # 5.1 LATIN SMALL LETTER K WITH DIAGONAL STROKE -A744 ; mapped ; A745 # 5.1 LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE -A745 ; valid # 5.1 LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE -A746 ; mapped ; A747 # 5.1 LATIN CAPITAL LETTER BROKEN L -A747 ; valid # 5.1 LATIN SMALL LETTER BROKEN L -A748 ; mapped ; A749 # 5.1 LATIN CAPITAL LETTER L WITH HIGH STROKE -A749 ; valid # 5.1 LATIN SMALL LETTER L WITH HIGH STROKE -A74A ; mapped ; A74B # 5.1 LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY -A74B ; valid # 5.1 LATIN SMALL LETTER O WITH LONG STROKE OVERLAY -A74C ; mapped ; A74D # 5.1 LATIN CAPITAL LETTER O WITH LOOP -A74D ; valid # 5.1 LATIN SMALL LETTER O WITH LOOP -A74E ; mapped ; A74F # 5.1 LATIN CAPITAL LETTER OO -A74F ; valid # 5.1 LATIN SMALL LETTER OO -A750 ; mapped ; A751 # 5.1 LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER -A751 ; valid # 5.1 LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER -A752 ; mapped ; A753 # 5.1 LATIN CAPITAL LETTER P WITH FLOURISH -A753 ; valid # 5.1 LATIN SMALL LETTER P WITH FLOURISH -A754 ; mapped ; A755 # 5.1 LATIN CAPITAL LETTER P WITH SQUIRREL TAIL -A755 ; valid # 5.1 LATIN SMALL LETTER P WITH SQUIRREL TAIL -A756 ; mapped ; A757 # 5.1 LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER -A757 ; valid # 5.1 LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER -A758 ; mapped ; A759 # 5.1 LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE -A759 ; valid # 5.1 LATIN SMALL LETTER Q WITH DIAGONAL STROKE -A75A ; mapped ; A75B # 5.1 LATIN CAPITAL LETTER R ROTUNDA -A75B ; valid # 5.1 LATIN SMALL LETTER R ROTUNDA -A75C ; mapped ; A75D # 5.1 LATIN CAPITAL LETTER RUM ROTUNDA -A75D ; valid # 5.1 LATIN SMALL LETTER RUM ROTUNDA -A75E ; mapped ; A75F # 5.1 LATIN CAPITAL LETTER V WITH DIAGONAL STROKE -A75F ; valid # 5.1 LATIN SMALL LETTER V WITH DIAGONAL STROKE -A760 ; mapped ; A761 # 5.1 LATIN CAPITAL LETTER VY -A761 ; valid # 5.1 LATIN SMALL LETTER VY -A762 ; mapped ; A763 # 5.1 LATIN CAPITAL LETTER VISIGOTHIC Z -A763 ; valid # 5.1 LATIN SMALL LETTER VISIGOTHIC Z -A764 ; mapped ; A765 # 5.1 LATIN CAPITAL LETTER THORN WITH STROKE -A765 ; valid # 5.1 LATIN SMALL LETTER THORN WITH STROKE -A766 ; mapped ; A767 # 5.1 LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER -A767 ; valid # 5.1 LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER -A768 ; mapped ; A769 # 5.1 LATIN CAPITAL LETTER VEND -A769 ; valid # 5.1 LATIN SMALL LETTER VEND -A76A ; mapped ; A76B # 5.1 LATIN CAPITAL LETTER ET -A76B ; valid # 5.1 LATIN SMALL LETTER ET -A76C ; mapped ; A76D # 5.1 LATIN CAPITAL LETTER IS -A76D ; valid # 5.1 LATIN SMALL LETTER IS -A76E ; mapped ; A76F # 5.1 LATIN CAPITAL LETTER CON -A76F ; valid # 5.1 LATIN SMALL LETTER CON -A770 ; mapped ; A76F # 5.1 MODIFIER LETTER US -A771..A778 ; valid # 5.1 LATIN SMALL LETTER DUM..LATIN SMALL LETTER UM -A779 ; mapped ; A77A # 5.1 LATIN CAPITAL LETTER INSULAR D -A77A ; valid # 5.1 LATIN SMALL LETTER INSULAR D -A77B ; mapped ; A77C # 5.1 LATIN CAPITAL LETTER INSULAR F -A77C ; valid # 5.1 LATIN SMALL LETTER INSULAR F -A77D ; mapped ; 1D79 # 5.1 LATIN CAPITAL LETTER INSULAR G -A77E ; mapped ; A77F # 5.1 LATIN CAPITAL LETTER TURNED INSULAR G -A77F ; valid # 5.1 LATIN SMALL LETTER TURNED INSULAR G -A780 ; mapped ; A781 # 5.1 LATIN CAPITAL LETTER TURNED L -A781 ; valid # 5.1 LATIN SMALL LETTER TURNED L -A782 ; mapped ; A783 # 5.1 LATIN CAPITAL LETTER INSULAR R -A783 ; valid # 5.1 LATIN SMALL LETTER INSULAR R -A784 ; mapped ; A785 # 5.1 LATIN CAPITAL LETTER INSULAR S -A785 ; valid # 5.1 LATIN SMALL LETTER INSULAR S -A786 ; mapped ; A787 # 5.1 LATIN CAPITAL LETTER INSULAR T -A787..A788 ; valid # 5.1 LATIN SMALL LETTER INSULAR T..MODIFIER LETTER LOW CIRCUMFLEX ACCENT -A789..A78A ; valid ; ; NV8 # 5.1 MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN -A78B ; mapped ; A78C # 5.1 LATIN CAPITAL LETTER SALTILLO -A78C ; valid # 5.1 LATIN SMALL LETTER SALTILLO -A78D ; mapped ; 0265 # 6.0 LATIN CAPITAL LETTER TURNED H -A78E ; valid # 6.0 LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT -A78F ; valid # 8.0 LATIN LETTER SINOLOGICAL DOT -A790 ; mapped ; A791 # 6.0 LATIN CAPITAL LETTER N WITH DESCENDER -A791 ; valid # 6.0 LATIN SMALL LETTER N WITH DESCENDER -A792 ; mapped ; A793 # 6.1 LATIN CAPITAL LETTER C WITH BAR -A793 ; valid # 6.1 LATIN SMALL LETTER C WITH BAR -A794..A795 ; valid # 7.0 LATIN SMALL LETTER C WITH PALATAL HOOK..LATIN SMALL LETTER H WITH PALATAL HOOK -A796 ; mapped ; A797 # 7.0 LATIN CAPITAL LETTER B WITH FLOURISH -A797 ; valid # 7.0 LATIN SMALL LETTER B WITH FLOURISH -A798 ; mapped ; A799 # 7.0 LATIN CAPITAL LETTER F WITH STROKE -A799 ; valid # 7.0 LATIN SMALL LETTER F WITH STROKE -A79A ; mapped ; A79B # 7.0 LATIN CAPITAL LETTER VOLAPUK AE -A79B ; valid # 7.0 LATIN SMALL LETTER VOLAPUK AE -A79C ; mapped ; A79D # 7.0 LATIN CAPITAL LETTER VOLAPUK OE -A79D ; valid # 7.0 LATIN SMALL LETTER VOLAPUK OE -A79E ; mapped ; A79F # 7.0 LATIN CAPITAL LETTER VOLAPUK UE -A79F ; valid # 7.0 LATIN SMALL LETTER VOLAPUK UE -A7A0 ; mapped ; A7A1 # 6.0 LATIN CAPITAL LETTER G WITH OBLIQUE STROKE -A7A1 ; valid # 6.0 LATIN SMALL LETTER G WITH OBLIQUE STROKE -A7A2 ; mapped ; A7A3 # 6.0 LATIN CAPITAL LETTER K WITH OBLIQUE STROKE -A7A3 ; valid # 6.0 LATIN SMALL LETTER K WITH OBLIQUE STROKE -A7A4 ; mapped ; A7A5 # 6.0 LATIN CAPITAL LETTER N WITH OBLIQUE STROKE -A7A5 ; valid # 6.0 LATIN SMALL LETTER N WITH OBLIQUE STROKE -A7A6 ; mapped ; A7A7 # 6.0 LATIN CAPITAL LETTER R WITH OBLIQUE STROKE -A7A7 ; valid # 6.0 LATIN SMALL LETTER R WITH OBLIQUE STROKE -A7A8 ; mapped ; A7A9 # 6.0 LATIN CAPITAL LETTER S WITH OBLIQUE STROKE -A7A9 ; valid # 6.0 LATIN SMALL LETTER S WITH OBLIQUE STROKE -A7AA ; mapped ; 0266 # 6.1 LATIN CAPITAL LETTER H WITH HOOK -A7AB ; mapped ; 025C # 7.0 LATIN CAPITAL LETTER REVERSED OPEN E -A7AC ; mapped ; 0261 # 7.0 LATIN CAPITAL LETTER SCRIPT G -A7AD ; mapped ; 026C # 7.0 LATIN CAPITAL LETTER L WITH BELT -A7AE ; mapped ; 026A # 9.0 LATIN CAPITAL LETTER SMALL CAPITAL I -A7AF ; disallowed # NA <reserved-A7AF> -A7B0 ; mapped ; 029E # 7.0 LATIN CAPITAL LETTER TURNED K -A7B1 ; mapped ; 0287 # 7.0 LATIN CAPITAL LETTER TURNED T -A7B2 ; mapped ; 029D # 8.0 LATIN CAPITAL LETTER J WITH CROSSED-TAIL -A7B3 ; mapped ; AB53 # 8.0 LATIN CAPITAL LETTER CHI -A7B4 ; mapped ; A7B5 # 8.0 LATIN CAPITAL LETTER BETA -A7B5 ; valid # 8.0 LATIN SMALL LETTER BETA -A7B6 ; mapped ; A7B7 # 8.0 LATIN CAPITAL LETTER OMEGA -A7B7 ; valid # 8.0 LATIN SMALL LETTER OMEGA -A7B8..A7F6 ; disallowed # NA <reserved-A7B8>..<reserved-A7F6> -A7F7 ; valid # 7.0 LATIN EPIGRAPHIC LETTER SIDEWAYS I -A7F8 ; mapped ; 0127 # 6.1 MODIFIER LETTER CAPITAL H WITH STROKE -A7F9 ; mapped ; 0153 # 6.1 MODIFIER LETTER SMALL LIGATURE OE -A7FA ; valid # 6.0 LATIN LETTER SMALL CAPITAL TURNED M -A7FB..A7FF ; valid # 5.1 LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M -A800..A827 ; valid # 4.1 SYLOTI NAGRI LETTER A..SYLOTI NAGRI VOWEL SIGN OO -A828..A82B ; valid ; ; NV8 # 4.1 SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4 -A82C..A82F ; disallowed # NA <reserved-A82C>..<reserved-A82F> -A830..A839 ; valid ; ; NV8 # 5.2 NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC QUANTITY MARK -A83A..A83F ; disallowed # NA <reserved-A83A>..<reserved-A83F> -A840..A873 ; valid # 5.0 PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU -A874..A877 ; valid ; ; NV8 # 5.0 PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD -A878..A87F ; disallowed # NA <reserved-A878>..<reserved-A87F> -A880..A8C4 ; valid # 5.1 SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VIRAMA -A8C5 ; valid # 9.0 SAURASHTRA SIGN CANDRABINDU -A8C6..A8CD ; disallowed # NA <reserved-A8C6>..<reserved-A8CD> -A8CE..A8CF ; valid ; ; NV8 # 5.1 SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA -A8D0..A8D9 ; valid # 5.1 SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE -A8DA..A8DF ; disallowed # NA <reserved-A8DA>..<reserved-A8DF> -A8E0..A8F7 ; valid # 5.2 COMBINING DEVANAGARI DIGIT ZERO..DEVANAGARI SIGN CANDRABINDU AVAGRAHA -A8F8..A8FA ; valid ; ; NV8 # 5.2 DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET -A8FB ; valid # 5.2 DEVANAGARI HEADSTROKE -A8FC ; valid ; ; NV8 # 8.0 DEVANAGARI SIGN SIDDHAM -A8FD ; valid # 8.0 DEVANAGARI JAIN OM -A8FE..A8FF ; disallowed # NA <reserved-A8FE>..<reserved-A8FF> -A900..A92D ; valid # 5.1 KAYAH LI DIGIT ZERO..KAYAH LI TONE CALYA PLOPHU -A92E..A92F ; valid ; ; NV8 # 5.1 KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA -A930..A953 ; valid # 5.1 REJANG LETTER KA..REJANG VIRAMA -A954..A95E ; disallowed # NA <reserved-A954>..<reserved-A95E> -A95F ; valid ; ; NV8 # 5.1 REJANG SECTION MARK -A960..A97C ; valid ; ; NV8 # 5.2 HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH -A97D..A97F ; disallowed # NA <reserved-A97D>..<reserved-A97F> -A980..A9C0 ; valid # 5.2 JAVANESE SIGN PANYANGGA..JAVANESE PANGKON -A9C1..A9CD ; valid ; ; NV8 # 5.2 JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH -A9CE ; disallowed # NA <reserved-A9CE> -A9CF..A9D9 ; valid # 5.2 JAVANESE PANGRANGKEP..JAVANESE DIGIT NINE -A9DA..A9DD ; disallowed # NA <reserved-A9DA>..<reserved-A9DD> -A9DE..A9DF ; valid ; ; NV8 # 5.2 JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN -A9E0..A9FE ; valid # 7.0 MYANMAR LETTER SHAN GHA..MYANMAR LETTER TAI LAING BHA -A9FF ; disallowed # NA <reserved-A9FF> -AA00..AA36 ; valid # 5.1 CHAM LETTER A..CHAM CONSONANT SIGN WA -AA37..AA3F ; disallowed # NA <reserved-AA37>..<reserved-AA3F> -AA40..AA4D ; valid # 5.1 CHAM LETTER FINAL K..CHAM CONSONANT SIGN FINAL H -AA4E..AA4F ; disallowed # NA <reserved-AA4E>..<reserved-AA4F> -AA50..AA59 ; valid # 5.1 CHAM DIGIT ZERO..CHAM DIGIT NINE -AA5A..AA5B ; disallowed # NA <reserved-AA5A>..<reserved-AA5B> -AA5C..AA5F ; valid ; ; NV8 # 5.1 CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA -AA60..AA76 ; valid # 5.2 MYANMAR LETTER KHAMTI GA..MYANMAR LOGOGRAM KHAMTI HM -AA77..AA79 ; valid ; ; NV8 # 5.2 MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO -AA7A..AA7B ; valid # 5.2 MYANMAR LETTER AITON RA..MYANMAR SIGN PAO KAREN TONE -AA7C..AA7F ; valid # 7.0 MYANMAR SIGN TAI LAING TONE-2..MYANMAR LETTER SHWE PALAUNG SHA -AA80..AAC2 ; valid # 5.2 TAI VIET LETTER LOW KO..TAI VIET TONE MAI SONG -AAC3..AADA ; disallowed # NA <reserved-AAC3>..<reserved-AADA> -AADB..AADD ; valid # 5.2 TAI VIET SYMBOL KON..TAI VIET SYMBOL SAM -AADE..AADF ; valid ; ; NV8 # 5.2 TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI -AAE0..AAEF ; valid # 6.1 MEETEI MAYEK LETTER E..MEETEI MAYEK VOWEL SIGN AAU -AAF0..AAF1 ; valid ; ; NV8 # 6.1 MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM -AAF2..AAF6 ; valid # 6.1 MEETEI MAYEK ANJI..MEETEI MAYEK VIRAMA -AAF7..AB00 ; disallowed # NA <reserved-AAF7>..<reserved-AB00> -AB01..AB06 ; valid # 6.0 ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO -AB07..AB08 ; disallowed # NA <reserved-AB07>..<reserved-AB08> -AB09..AB0E ; valid # 6.0 ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO -AB0F..AB10 ; disallowed # NA <reserved-AB0F>..<reserved-AB10> -AB11..AB16 ; valid # 6.0 ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO -AB17..AB1F ; disallowed # NA <reserved-AB17>..<reserved-AB1F> -AB20..AB26 ; valid # 6.0 ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO -AB27 ; disallowed # NA <reserved-AB27> -AB28..AB2E ; valid # 6.0 ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO -AB2F ; disallowed # NA <reserved-AB2F> -AB30..AB5A ; valid # 7.0 LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG -AB5B ; valid ; ; NV8 # 7.0 MODIFIER BREVE WITH INVERTED BREVE -AB5C ; mapped ; A727 # 7.0 MODIFIER LETTER SMALL HENG -AB5D ; mapped ; AB37 # 7.0 MODIFIER LETTER SMALL L WITH INVERTED LAZY S -AB5E ; mapped ; 026B # 7.0 MODIFIER LETTER SMALL L WITH MIDDLE TILDE -AB5F ; mapped ; AB52 # 7.0 MODIFIER LETTER SMALL U WITH LEFT HOOK -AB60..AB63 ; valid # 8.0 LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER UO -AB64..AB65 ; valid # 7.0 LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA -AB66..AB6F ; disallowed # NA <reserved-AB66>..<reserved-AB6F> -AB70 ; mapped ; 13A0 # 8.0 CHEROKEE SMALL LETTER A -AB71 ; mapped ; 13A1 # 8.0 CHEROKEE SMALL LETTER E -AB72 ; mapped ; 13A2 # 8.0 CHEROKEE SMALL LETTER I -AB73 ; mapped ; 13A3 # 8.0 CHEROKEE SMALL LETTER O -AB74 ; mapped ; 13A4 # 8.0 CHEROKEE SMALL LETTER U -AB75 ; mapped ; 13A5 # 8.0 CHEROKEE SMALL LETTER V -AB76 ; mapped ; 13A6 # 8.0 CHEROKEE SMALL LETTER GA -AB77 ; mapped ; 13A7 # 8.0 CHEROKEE SMALL LETTER KA -AB78 ; mapped ; 13A8 # 8.0 CHEROKEE SMALL LETTER GE -AB79 ; mapped ; 13A9 # 8.0 CHEROKEE SMALL LETTER GI -AB7A ; mapped ; 13AA # 8.0 CHEROKEE SMALL LETTER GO -AB7B ; mapped ; 13AB # 8.0 CHEROKEE SMALL LETTER GU -AB7C ; mapped ; 13AC # 8.0 CHEROKEE SMALL LETTER GV -AB7D ; mapped ; 13AD # 8.0 CHEROKEE SMALL LETTER HA -AB7E ; mapped ; 13AE # 8.0 CHEROKEE SMALL LETTER HE -AB7F ; mapped ; 13AF # 8.0 CHEROKEE SMALL LETTER HI -AB80 ; mapped ; 13B0 # 8.0 CHEROKEE SMALL LETTER HO -AB81 ; mapped ; 13B1 # 8.0 CHEROKEE SMALL LETTER HU -AB82 ; mapped ; 13B2 # 8.0 CHEROKEE SMALL LETTER HV -AB83 ; mapped ; 13B3 # 8.0 CHEROKEE SMALL LETTER LA -AB84 ; mapped ; 13B4 # 8.0 CHEROKEE SMALL LETTER LE -AB85 ; mapped ; 13B5 # 8.0 CHEROKEE SMALL LETTER LI -AB86 ; mapped ; 13B6 # 8.0 CHEROKEE SMALL LETTER LO -AB87 ; mapped ; 13B7 # 8.0 CHEROKEE SMALL LETTER LU -AB88 ; mapped ; 13B8 # 8.0 CHEROKEE SMALL LETTER LV -AB89 ; mapped ; 13B9 # 8.0 CHEROKEE SMALL LETTER MA -AB8A ; mapped ; 13BA # 8.0 CHEROKEE SMALL LETTER ME -AB8B ; mapped ; 13BB # 8.0 CHEROKEE SMALL LETTER MI -AB8C ; mapped ; 13BC # 8.0 CHEROKEE SMALL LETTER MO -AB8D ; mapped ; 13BD # 8.0 CHEROKEE SMALL LETTER MU -AB8E ; mapped ; 13BE # 8.0 CHEROKEE SMALL LETTER NA -AB8F ; mapped ; 13BF # 8.0 CHEROKEE SMALL LETTER HNA -AB90 ; mapped ; 13C0 # 8.0 CHEROKEE SMALL LETTER NAH -AB91 ; mapped ; 13C1 # 8.0 CHEROKEE SMALL LETTER NE -AB92 ; mapped ; 13C2 # 8.0 CHEROKEE SMALL LETTER NI -AB93 ; mapped ; 13C3 # 8.0 CHEROKEE SMALL LETTER NO -AB94 ; mapped ; 13C4 # 8.0 CHEROKEE SMALL LETTER NU -AB95 ; mapped ; 13C5 # 8.0 CHEROKEE SMALL LETTER NV -AB96 ; mapped ; 13C6 # 8.0 CHEROKEE SMALL LETTER QUA -AB97 ; mapped ; 13C7 # 8.0 CHEROKEE SMALL LETTER QUE -AB98 ; mapped ; 13C8 # 8.0 CHEROKEE SMALL LETTER QUI -AB99 ; mapped ; 13C9 # 8.0 CHEROKEE SMALL LETTER QUO -AB9A ; mapped ; 13CA # 8.0 CHEROKEE SMALL LETTER QUU -AB9B ; mapped ; 13CB # 8.0 CHEROKEE SMALL LETTER QUV -AB9C ; mapped ; 13CC # 8.0 CHEROKEE SMALL LETTER SA -AB9D ; mapped ; 13CD # 8.0 CHEROKEE SMALL LETTER S -AB9E ; mapped ; 13CE # 8.0 CHEROKEE SMALL LETTER SE -AB9F ; mapped ; 13CF # 8.0 CHEROKEE SMALL LETTER SI -ABA0 ; mapped ; 13D0 # 8.0 CHEROKEE SMALL LETTER SO -ABA1 ; mapped ; 13D1 # 8.0 CHEROKEE SMALL LETTER SU -ABA2 ; mapped ; 13D2 # 8.0 CHEROKEE SMALL LETTER SV -ABA3 ; mapped ; 13D3 # 8.0 CHEROKEE SMALL LETTER DA -ABA4 ; mapped ; 13D4 # 8.0 CHEROKEE SMALL LETTER TA -ABA5 ; mapped ; 13D5 # 8.0 CHEROKEE SMALL LETTER DE -ABA6 ; mapped ; 13D6 # 8.0 CHEROKEE SMALL LETTER TE -ABA7 ; mapped ; 13D7 # 8.0 CHEROKEE SMALL LETTER DI -ABA8 ; mapped ; 13D8 # 8.0 CHEROKEE SMALL LETTER TI -ABA9 ; mapped ; 13D9 # 8.0 CHEROKEE SMALL LETTER DO -ABAA ; mapped ; 13DA # 8.0 CHEROKEE SMALL LETTER DU -ABAB ; mapped ; 13DB # 8.0 CHEROKEE SMALL LETTER DV -ABAC ; mapped ; 13DC # 8.0 CHEROKEE SMALL LETTER DLA -ABAD ; mapped ; 13DD # 8.0 CHEROKEE SMALL LETTER TLA -ABAE ; mapped ; 13DE # 8.0 CHEROKEE SMALL LETTER TLE -ABAF ; mapped ; 13DF # 8.0 CHEROKEE SMALL LETTER TLI -ABB0 ; mapped ; 13E0 # 8.0 CHEROKEE SMALL LETTER TLO -ABB1 ; mapped ; 13E1 # 8.0 CHEROKEE SMALL LETTER TLU -ABB2 ; mapped ; 13E2 # 8.0 CHEROKEE SMALL LETTER TLV -ABB3 ; mapped ; 13E3 # 8.0 CHEROKEE SMALL LETTER TSA -ABB4 ; mapped ; 13E4 # 8.0 CHEROKEE SMALL LETTER TSE -ABB5 ; mapped ; 13E5 # 8.0 CHEROKEE SMALL LETTER TSI -ABB6 ; mapped ; 13E6 # 8.0 CHEROKEE SMALL LETTER TSO -ABB7 ; mapped ; 13E7 # 8.0 CHEROKEE SMALL LETTER TSU -ABB8 ; mapped ; 13E8 # 8.0 CHEROKEE SMALL LETTER TSV -ABB9 ; mapped ; 13E9 # 8.0 CHEROKEE SMALL LETTER WA -ABBA ; mapped ; 13EA # 8.0 CHEROKEE SMALL LETTER WE -ABBB ; mapped ; 13EB # 8.0 CHEROKEE SMALL LETTER WI -ABBC ; mapped ; 13EC # 8.0 CHEROKEE SMALL LETTER WO -ABBD ; mapped ; 13ED # 8.0 CHEROKEE SMALL LETTER WU -ABBE ; mapped ; 13EE # 8.0 CHEROKEE SMALL LETTER WV -ABBF ; mapped ; 13EF # 8.0 CHEROKEE SMALL LETTER YA -ABC0..ABEA ; valid # 5.2 MEETEI MAYEK LETTER KOK..MEETEI MAYEK VOWEL SIGN NUNG -ABEB ; valid ; ; NV8 # 5.2 MEETEI MAYEK CHEIKHEI -ABEC..ABED ; valid # 5.2 MEETEI MAYEK LUM IYEK..MEETEI MAYEK APUN IYEK -ABEE..ABEF ; disallowed # NA <reserved-ABEE>..<reserved-ABEF> -ABF0..ABF9 ; valid # 5.2 MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE -ABFA..ABFF ; disallowed # NA <reserved-ABFA>..<reserved-ABFF> -AC00..D7A3 ; valid # 2.0 HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH -D7A4..D7AF ; disallowed # NA <reserved-D7A4>..<reserved-D7AF> -D7B0..D7C6 ; valid ; ; NV8 # 5.2 HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E -D7C7..D7CA ; disallowed # NA <reserved-D7C7>..<reserved-D7CA> -D7CB..D7FB ; valid ; ; NV8 # 5.2 HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH -D7FC..D7FF ; disallowed # NA <reserved-D7FC>..<reserved-D7FF> -D800..DFFF ; disallowed # 2.0 <surrogate-D800>..<surrogate-DFFF> -E000..F8FF ; disallowed # 1.1 <private-use-E000>..<private-use-F8FF> -F900 ; mapped ; 8C48 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F900 -F901 ; mapped ; 66F4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F901 -F902 ; mapped ; 8ECA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F902 -F903 ; mapped ; 8CC8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F903 -F904 ; mapped ; 6ED1 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F904 -F905 ; mapped ; 4E32 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F905 -F906 ; mapped ; 53E5 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F906 -F907..F908 ; mapped ; 9F9C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F907..CJK COMPATIBILITY IDEOGRAPH-F908 -F909 ; mapped ; 5951 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F909 -F90A ; mapped ; 91D1 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F90A -F90B ; mapped ; 5587 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F90B -F90C ; mapped ; 5948 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F90C -F90D ; mapped ; 61F6 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F90D -F90E ; mapped ; 7669 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F90E -F90F ; mapped ; 7F85 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F90F -F910 ; mapped ; 863F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F910 -F911 ; mapped ; 87BA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F911 -F912 ; mapped ; 88F8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F912 -F913 ; mapped ; 908F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F913 -F914 ; mapped ; 6A02 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F914 -F915 ; mapped ; 6D1B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F915 -F916 ; mapped ; 70D9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F916 -F917 ; mapped ; 73DE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F917 -F918 ; mapped ; 843D # 1.1 CJK COMPATIBILITY IDEOGRAPH-F918 -F919 ; mapped ; 916A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F919 -F91A ; mapped ; 99F1 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F91A -F91B ; mapped ; 4E82 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F91B -F91C ; mapped ; 5375 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F91C -F91D ; mapped ; 6B04 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F91D -F91E ; mapped ; 721B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F91E -F91F ; mapped ; 862D # 1.1 CJK COMPATIBILITY IDEOGRAPH-F91F -F920 ; mapped ; 9E1E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F920 -F921 ; mapped ; 5D50 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F921 -F922 ; mapped ; 6FEB # 1.1 CJK COMPATIBILITY IDEOGRAPH-F922 -F923 ; mapped ; 85CD # 1.1 CJK COMPATIBILITY IDEOGRAPH-F923 -F924 ; mapped ; 8964 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F924 -F925 ; mapped ; 62C9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F925 -F926 ; mapped ; 81D8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F926 -F927 ; mapped ; 881F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F927 -F928 ; mapped ; 5ECA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F928 -F929 ; mapped ; 6717 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F929 -F92A ; mapped ; 6D6A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F92A -F92B ; mapped ; 72FC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F92B -F92C ; mapped ; 90CE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F92C -F92D ; mapped ; 4F86 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F92D -F92E ; mapped ; 51B7 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F92E -F92F ; mapped ; 52DE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F92F -F930 ; mapped ; 64C4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F930 -F931 ; mapped ; 6AD3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F931 -F932 ; mapped ; 7210 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F932 -F933 ; mapped ; 76E7 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F933 -F934 ; mapped ; 8001 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F934 -F935 ; mapped ; 8606 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F935 -F936 ; mapped ; 865C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F936 -F937 ; mapped ; 8DEF # 1.1 CJK COMPATIBILITY IDEOGRAPH-F937 -F938 ; mapped ; 9732 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F938 -F939 ; mapped ; 9B6F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F939 -F93A ; mapped ; 9DFA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F93A -F93B ; mapped ; 788C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F93B -F93C ; mapped ; 797F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F93C -F93D ; mapped ; 7DA0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F93D -F93E ; mapped ; 83C9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F93E -F93F ; mapped ; 9304 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F93F -F940 ; mapped ; 9E7F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F940 -F941 ; mapped ; 8AD6 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F941 -F942 ; mapped ; 58DF # 1.1 CJK COMPATIBILITY IDEOGRAPH-F942 -F943 ; mapped ; 5F04 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F943 -F944 ; mapped ; 7C60 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F944 -F945 ; mapped ; 807E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F945 -F946 ; mapped ; 7262 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F946 -F947 ; mapped ; 78CA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F947 -F948 ; mapped ; 8CC2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F948 -F949 ; mapped ; 96F7 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F949 -F94A ; mapped ; 58D8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F94A -F94B ; mapped ; 5C62 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F94B -F94C ; mapped ; 6A13 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F94C -F94D ; mapped ; 6DDA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F94D -F94E ; mapped ; 6F0F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F94E -F94F ; mapped ; 7D2F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F94F -F950 ; mapped ; 7E37 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F950 -F951 ; mapped ; 964B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F951 -F952 ; mapped ; 52D2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F952 -F953 ; mapped ; 808B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F953 -F954 ; mapped ; 51DC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F954 -F955 ; mapped ; 51CC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F955 -F956 ; mapped ; 7A1C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F956 -F957 ; mapped ; 7DBE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F957 -F958 ; mapped ; 83F1 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F958 -F959 ; mapped ; 9675 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F959 -F95A ; mapped ; 8B80 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F95A -F95B ; mapped ; 62CF # 1.1 CJK COMPATIBILITY IDEOGRAPH-F95B -F95C ; mapped ; 6A02 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F95C -F95D ; mapped ; 8AFE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F95D -F95E ; mapped ; 4E39 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F95E -F95F ; mapped ; 5BE7 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F95F -F960 ; mapped ; 6012 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F960 -F961 ; mapped ; 7387 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F961 -F962 ; mapped ; 7570 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F962 -F963 ; mapped ; 5317 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F963 -F964 ; mapped ; 78FB # 1.1 CJK COMPATIBILITY IDEOGRAPH-F964 -F965 ; mapped ; 4FBF # 1.1 CJK COMPATIBILITY IDEOGRAPH-F965 -F966 ; mapped ; 5FA9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F966 -F967 ; mapped ; 4E0D # 1.1 CJK COMPATIBILITY IDEOGRAPH-F967 -F968 ; mapped ; 6CCC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F968 -F969 ; mapped ; 6578 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F969 -F96A ; mapped ; 7D22 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F96A -F96B ; mapped ; 53C3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F96B -F96C ; mapped ; 585E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F96C -F96D ; mapped ; 7701 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F96D -F96E ; mapped ; 8449 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F96E -F96F ; mapped ; 8AAA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F96F -F970 ; mapped ; 6BBA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F970 -F971 ; mapped ; 8FB0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F971 -F972 ; mapped ; 6C88 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F972 -F973 ; mapped ; 62FE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F973 -F974 ; mapped ; 82E5 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F974 -F975 ; mapped ; 63A0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F975 -F976 ; mapped ; 7565 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F976 -F977 ; mapped ; 4EAE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F977 -F978 ; mapped ; 5169 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F978 -F979 ; mapped ; 51C9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F979 -F97A ; mapped ; 6881 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F97A -F97B ; mapped ; 7CE7 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F97B -F97C ; mapped ; 826F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F97C -F97D ; mapped ; 8AD2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F97D -F97E ; mapped ; 91CF # 1.1 CJK COMPATIBILITY IDEOGRAPH-F97E -F97F ; mapped ; 52F5 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F97F -F980 ; mapped ; 5442 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F980 -F981 ; mapped ; 5973 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F981 -F982 ; mapped ; 5EEC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F982 -F983 ; mapped ; 65C5 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F983 -F984 ; mapped ; 6FFE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F984 -F985 ; mapped ; 792A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F985 -F986 ; mapped ; 95AD # 1.1 CJK COMPATIBILITY IDEOGRAPH-F986 -F987 ; mapped ; 9A6A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F987 -F988 ; mapped ; 9E97 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F988 -F989 ; mapped ; 9ECE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F989 -F98A ; mapped ; 529B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F98A -F98B ; mapped ; 66C6 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F98B -F98C ; mapped ; 6B77 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F98C -F98D ; mapped ; 8F62 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F98D -F98E ; mapped ; 5E74 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F98E -F98F ; mapped ; 6190 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F98F -F990 ; mapped ; 6200 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F990 -F991 ; mapped ; 649A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F991 -F992 ; mapped ; 6F23 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F992 -F993 ; mapped ; 7149 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F993 -F994 ; mapped ; 7489 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F994 -F995 ; mapped ; 79CA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F995 -F996 ; mapped ; 7DF4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F996 -F997 ; mapped ; 806F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F997 -F998 ; mapped ; 8F26 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F998 -F999 ; mapped ; 84EE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F999 -F99A ; mapped ; 9023 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F99A -F99B ; mapped ; 934A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F99B -F99C ; mapped ; 5217 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F99C -F99D ; mapped ; 52A3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F99D -F99E ; mapped ; 54BD # 1.1 CJK COMPATIBILITY IDEOGRAPH-F99E -F99F ; mapped ; 70C8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F99F -F9A0 ; mapped ; 88C2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A0 -F9A1 ; mapped ; 8AAA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A1 -F9A2 ; mapped ; 5EC9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A2 -F9A3 ; mapped ; 5FF5 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A3 -F9A4 ; mapped ; 637B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A4 -F9A5 ; mapped ; 6BAE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A5 -F9A6 ; mapped ; 7C3E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A6 -F9A7 ; mapped ; 7375 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A7 -F9A8 ; mapped ; 4EE4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A8 -F9A9 ; mapped ; 56F9 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9A9 -F9AA ; mapped ; 5BE7 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9AA -F9AB ; mapped ; 5DBA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9AB -F9AC ; mapped ; 601C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9AC -F9AD ; mapped ; 73B2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9AD -F9AE ; mapped ; 7469 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9AE -F9AF ; mapped ; 7F9A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9AF -F9B0 ; mapped ; 8046 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B0 -F9B1 ; mapped ; 9234 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B1 -F9B2 ; mapped ; 96F6 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B2 -F9B3 ; mapped ; 9748 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B3 -F9B4 ; mapped ; 9818 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B4 -F9B5 ; mapped ; 4F8B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B5 -F9B6 ; mapped ; 79AE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B6 -F9B7 ; mapped ; 91B4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B7 -F9B8 ; mapped ; 96B8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B8 -F9B9 ; mapped ; 60E1 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9B9 -F9BA ; mapped ; 4E86 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9BA -F9BB ; mapped ; 50DA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9BB -F9BC ; mapped ; 5BEE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9BC -F9BD ; mapped ; 5C3F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9BD -F9BE ; mapped ; 6599 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9BE -F9BF ; mapped ; 6A02 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9BF -F9C0 ; mapped ; 71CE # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C0 -F9C1 ; mapped ; 7642 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C1 -F9C2 ; mapped ; 84FC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C2 -F9C3 ; mapped ; 907C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C3 -F9C4 ; mapped ; 9F8D # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C4 -F9C5 ; mapped ; 6688 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C5 -F9C6 ; mapped ; 962E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C6 -F9C7 ; mapped ; 5289 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C7 -F9C8 ; mapped ; 677B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C8 -F9C9 ; mapped ; 67F3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9C9 -F9CA ; mapped ; 6D41 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9CA -F9CB ; mapped ; 6E9C # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9CB -F9CC ; mapped ; 7409 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9CC -F9CD ; mapped ; 7559 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9CD -F9CE ; mapped ; 786B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9CE -F9CF ; mapped ; 7D10 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9CF -F9D0 ; mapped ; 985E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D0 -F9D1 ; mapped ; 516D # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D1 -F9D2 ; mapped ; 622E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D2 -F9D3 ; mapped ; 9678 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D3 -F9D4 ; mapped ; 502B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D4 -F9D5 ; mapped ; 5D19 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D5 -F9D6 ; mapped ; 6DEA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D6 -F9D7 ; mapped ; 8F2A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D7 -F9D8 ; mapped ; 5F8B # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D8 -F9D9 ; mapped ; 6144 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9D9 -F9DA ; mapped ; 6817 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9DA -F9DB ; mapped ; 7387 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9DB -F9DC ; mapped ; 9686 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9DC -F9DD ; mapped ; 5229 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9DD -F9DE ; mapped ; 540F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9DE -F9DF ; mapped ; 5C65 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9DF -F9E0 ; mapped ; 6613 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E0 -F9E1 ; mapped ; 674E # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E1 -F9E2 ; mapped ; 68A8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E2 -F9E3 ; mapped ; 6CE5 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E3 -F9E4 ; mapped ; 7406 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E4 -F9E5 ; mapped ; 75E2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E5 -F9E6 ; mapped ; 7F79 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E6 -F9E7 ; mapped ; 88CF # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E7 -F9E8 ; mapped ; 88E1 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E8 -F9E9 ; mapped ; 91CC # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9E9 -F9EA ; mapped ; 96E2 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9EA -F9EB ; mapped ; 533F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9EB -F9EC ; mapped ; 6EBA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9EC -F9ED ; mapped ; 541D # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9ED -F9EE ; mapped ; 71D0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9EE -F9EF ; mapped ; 7498 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9EF -F9F0 ; mapped ; 85FA # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F0 -F9F1 ; mapped ; 96A3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F1 -F9F2 ; mapped ; 9C57 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F2 -F9F3 ; mapped ; 9E9F # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F3 -F9F4 ; mapped ; 6797 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F4 -F9F5 ; mapped ; 6DCB # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F5 -F9F6 ; mapped ; 81E8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F6 -F9F7 ; mapped ; 7ACB # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F7 -F9F8 ; mapped ; 7B20 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F8 -F9F9 ; mapped ; 7C92 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9F9 -F9FA ; mapped ; 72C0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9FA -F9FB ; mapped ; 7099 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9FB -F9FC ; mapped ; 8B58 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9FC -F9FD ; mapped ; 4EC0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9FD -F9FE ; mapped ; 8336 # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9FE -F9FF ; mapped ; 523A # 1.1 CJK COMPATIBILITY IDEOGRAPH-F9FF -FA00 ; mapped ; 5207 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA00 -FA01 ; mapped ; 5EA6 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA01 -FA02 ; mapped ; 62D3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA02 -FA03 ; mapped ; 7CD6 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA03 -FA04 ; mapped ; 5B85 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA04 -FA05 ; mapped ; 6D1E # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA05 -FA06 ; mapped ; 66B4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA06 -FA07 ; mapped ; 8F3B # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA07 -FA08 ; mapped ; 884C # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA08 -FA09 ; mapped ; 964D # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA09 -FA0A ; mapped ; 898B # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA0A -FA0B ; mapped ; 5ED3 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA0B -FA0C ; mapped ; 5140 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA0C -FA0D ; mapped ; 55C0 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA0D -FA0E..FA0F ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA0E..CJK COMPATIBILITY IDEOGRAPH-FA0F -FA10 ; mapped ; 585A # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA10 -FA11 ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA11 -FA12 ; mapped ; 6674 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA12 -FA13..FA14 ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA13..CJK COMPATIBILITY IDEOGRAPH-FA14 -FA15 ; mapped ; 51DE # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA15 -FA16 ; mapped ; 732A # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA16 -FA17 ; mapped ; 76CA # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA17 -FA18 ; mapped ; 793C # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA18 -FA19 ; mapped ; 795E # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA19 -FA1A ; mapped ; 7965 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA1A -FA1B ; mapped ; 798F # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA1B -FA1C ; mapped ; 9756 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA1C -FA1D ; mapped ; 7CBE # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA1D -FA1E ; mapped ; 7FBD # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA1E -FA1F ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA1F -FA20 ; mapped ; 8612 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA20 -FA21 ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA21 -FA22 ; mapped ; 8AF8 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA22 -FA23..FA24 ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA23..CJK COMPATIBILITY IDEOGRAPH-FA24 -FA25 ; mapped ; 9038 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA25 -FA26 ; mapped ; 90FD # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA26 -FA27..FA29 ; valid # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA27..CJK COMPATIBILITY IDEOGRAPH-FA29 -FA2A ; mapped ; 98EF # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA2A -FA2B ; mapped ; 98FC # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA2B -FA2C ; mapped ; 9928 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA2C -FA2D ; mapped ; 9DB4 # 1.1 CJK COMPATIBILITY IDEOGRAPH-FA2D -FA2E ; mapped ; 90DE # 6.1 CJK COMPATIBILITY IDEOGRAPH-FA2E -FA2F ; mapped ; 96B7 # 6.1 CJK COMPATIBILITY IDEOGRAPH-FA2F -FA30 ; mapped ; 4FAE # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA30 -FA31 ; mapped ; 50E7 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA31 -FA32 ; mapped ; 514D # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA32 -FA33 ; mapped ; 52C9 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA33 -FA34 ; mapped ; 52E4 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA34 -FA35 ; mapped ; 5351 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA35 -FA36 ; mapped ; 559D # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA36 -FA37 ; mapped ; 5606 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA37 -FA38 ; mapped ; 5668 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA38 -FA39 ; mapped ; 5840 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA39 -FA3A ; mapped ; 58A8 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA3A -FA3B ; mapped ; 5C64 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA3B -FA3C ; mapped ; 5C6E # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA3C -FA3D ; mapped ; 6094 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA3D -FA3E ; mapped ; 6168 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA3E -FA3F ; mapped ; 618E # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA3F -FA40 ; mapped ; 61F2 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA40 -FA41 ; mapped ; 654F # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA41 -FA42 ; mapped ; 65E2 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA42 -FA43 ; mapped ; 6691 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA43 -FA44 ; mapped ; 6885 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA44 -FA45 ; mapped ; 6D77 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA45 -FA46 ; mapped ; 6E1A # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA46 -FA47 ; mapped ; 6F22 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA47 -FA48 ; mapped ; 716E # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA48 -FA49 ; mapped ; 722B # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA49 -FA4A ; mapped ; 7422 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA4A -FA4B ; mapped ; 7891 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA4B -FA4C ; mapped ; 793E # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA4C -FA4D ; mapped ; 7949 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA4D -FA4E ; mapped ; 7948 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA4E -FA4F ; mapped ; 7950 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA4F -FA50 ; mapped ; 7956 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA50 -FA51 ; mapped ; 795D # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA51 -FA52 ; mapped ; 798D # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA52 -FA53 ; mapped ; 798E # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA53 -FA54 ; mapped ; 7A40 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA54 -FA55 ; mapped ; 7A81 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA55 -FA56 ; mapped ; 7BC0 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA56 -FA57 ; mapped ; 7DF4 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA57 -FA58 ; mapped ; 7E09 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA58 -FA59 ; mapped ; 7E41 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA59 -FA5A ; mapped ; 7F72 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA5A -FA5B ; mapped ; 8005 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA5B -FA5C ; mapped ; 81ED # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA5C -FA5D..FA5E ; mapped ; 8279 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA5D..CJK COMPATIBILITY IDEOGRAPH-FA5E -FA5F ; mapped ; 8457 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA5F -FA60 ; mapped ; 8910 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA60 -FA61 ; mapped ; 8996 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA61 -FA62 ; mapped ; 8B01 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA62 -FA63 ; mapped ; 8B39 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA63 -FA64 ; mapped ; 8CD3 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA64 -FA65 ; mapped ; 8D08 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA65 -FA66 ; mapped ; 8FB6 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA66 -FA67 ; mapped ; 9038 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA67 -FA68 ; mapped ; 96E3 # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA68 -FA69 ; mapped ; 97FF # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA69 -FA6A ; mapped ; 983B # 3.2 CJK COMPATIBILITY IDEOGRAPH-FA6A -FA6B ; mapped ; 6075 # 5.2 CJK COMPATIBILITY IDEOGRAPH-FA6B -FA6C ; mapped ; 242EE # 5.2 CJK COMPATIBILITY IDEOGRAPH-FA6C -FA6D ; mapped ; 8218 # 5.2 CJK COMPATIBILITY IDEOGRAPH-FA6D -FA6E..FA6F ; disallowed # NA <reserved-FA6E>..<reserved-FA6F> -FA70 ; mapped ; 4E26 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA70 -FA71 ; mapped ; 51B5 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA71 -FA72 ; mapped ; 5168 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA72 -FA73 ; mapped ; 4F80 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA73 -FA74 ; mapped ; 5145 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA74 -FA75 ; mapped ; 5180 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA75 -FA76 ; mapped ; 52C7 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA76 -FA77 ; mapped ; 52FA # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA77 -FA78 ; mapped ; 559D # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA78 -FA79 ; mapped ; 5555 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA79 -FA7A ; mapped ; 5599 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA7A -FA7B ; mapped ; 55E2 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA7B -FA7C ; mapped ; 585A # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA7C -FA7D ; mapped ; 58B3 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA7D -FA7E ; mapped ; 5944 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA7E -FA7F ; mapped ; 5954 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA7F -FA80 ; mapped ; 5A62 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA80 -FA81 ; mapped ; 5B28 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA81 -FA82 ; mapped ; 5ED2 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA82 -FA83 ; mapped ; 5ED9 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA83 -FA84 ; mapped ; 5F69 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA84 -FA85 ; mapped ; 5FAD # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA85 -FA86 ; mapped ; 60D8 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA86 -FA87 ; mapped ; 614E # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA87 -FA88 ; mapped ; 6108 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA88 -FA89 ; mapped ; 618E # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA89 -FA8A ; mapped ; 6160 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA8A -FA8B ; mapped ; 61F2 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA8B -FA8C ; mapped ; 6234 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA8C -FA8D ; mapped ; 63C4 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA8D -FA8E ; mapped ; 641C # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA8E -FA8F ; mapped ; 6452 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA8F -FA90 ; mapped ; 6556 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA90 -FA91 ; mapped ; 6674 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA91 -FA92 ; mapped ; 6717 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA92 -FA93 ; mapped ; 671B # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA93 -FA94 ; mapped ; 6756 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA94 -FA95 ; mapped ; 6B79 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA95 -FA96 ; mapped ; 6BBA # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA96 -FA97 ; mapped ; 6D41 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA97 -FA98 ; mapped ; 6EDB # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA98 -FA99 ; mapped ; 6ECB # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA99 -FA9A ; mapped ; 6F22 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA9A -FA9B ; mapped ; 701E # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA9B -FA9C ; mapped ; 716E # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA9C -FA9D ; mapped ; 77A7 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA9D -FA9E ; mapped ; 7235 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA9E -FA9F ; mapped ; 72AF # 4.1 CJK COMPATIBILITY IDEOGRAPH-FA9F -FAA0 ; mapped ; 732A # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA0 -FAA1 ; mapped ; 7471 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA1 -FAA2 ; mapped ; 7506 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA2 -FAA3 ; mapped ; 753B # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA3 -FAA4 ; mapped ; 761D # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA4 -FAA5 ; mapped ; 761F # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA5 -FAA6 ; mapped ; 76CA # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA6 -FAA7 ; mapped ; 76DB # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA7 -FAA8 ; mapped ; 76F4 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA8 -FAA9 ; mapped ; 774A # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAA9 -FAAA ; mapped ; 7740 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAAA -FAAB ; mapped ; 78CC # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAAB -FAAC ; mapped ; 7AB1 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAAC -FAAD ; mapped ; 7BC0 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAAD -FAAE ; mapped ; 7C7B # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAAE -FAAF ; mapped ; 7D5B # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAAF -FAB0 ; mapped ; 7DF4 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB0 -FAB1 ; mapped ; 7F3E # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB1 -FAB2 ; mapped ; 8005 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB2 -FAB3 ; mapped ; 8352 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB3 -FAB4 ; mapped ; 83EF # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB4 -FAB5 ; mapped ; 8779 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB5 -FAB6 ; mapped ; 8941 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB6 -FAB7 ; mapped ; 8986 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB7 -FAB8 ; mapped ; 8996 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB8 -FAB9 ; mapped ; 8ABF # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAB9 -FABA ; mapped ; 8AF8 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FABA -FABB ; mapped ; 8ACB # 4.1 CJK COMPATIBILITY IDEOGRAPH-FABB -FABC ; mapped ; 8B01 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FABC -FABD ; mapped ; 8AFE # 4.1 CJK COMPATIBILITY IDEOGRAPH-FABD -FABE ; mapped ; 8AED # 4.1 CJK COMPATIBILITY IDEOGRAPH-FABE -FABF ; mapped ; 8B39 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FABF -FAC0 ; mapped ; 8B8A # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC0 -FAC1 ; mapped ; 8D08 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC1 -FAC2 ; mapped ; 8F38 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC2 -FAC3 ; mapped ; 9072 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC3 -FAC4 ; mapped ; 9199 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC4 -FAC5 ; mapped ; 9276 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC5 -FAC6 ; mapped ; 967C # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC6 -FAC7 ; mapped ; 96E3 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC7 -FAC8 ; mapped ; 9756 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC8 -FAC9 ; mapped ; 97DB # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAC9 -FACA ; mapped ; 97FF # 4.1 CJK COMPATIBILITY IDEOGRAPH-FACA -FACB ; mapped ; 980B # 4.1 CJK COMPATIBILITY IDEOGRAPH-FACB -FACC ; mapped ; 983B # 4.1 CJK COMPATIBILITY IDEOGRAPH-FACC -FACD ; mapped ; 9B12 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FACD -FACE ; mapped ; 9F9C # 4.1 CJK COMPATIBILITY IDEOGRAPH-FACE -FACF ; mapped ; 2284A # 4.1 CJK COMPATIBILITY IDEOGRAPH-FACF -FAD0 ; mapped ; 22844 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD0 -FAD1 ; mapped ; 233D5 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD1 -FAD2 ; mapped ; 3B9D # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD2 -FAD3 ; mapped ; 4018 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD3 -FAD4 ; mapped ; 4039 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD4 -FAD5 ; mapped ; 25249 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD5 -FAD6 ; mapped ; 25CD0 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD6 -FAD7 ; mapped ; 27ED3 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD7 -FAD8 ; mapped ; 9F43 # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD8 -FAD9 ; mapped ; 9F8E # 4.1 CJK COMPATIBILITY IDEOGRAPH-FAD9 -FADA..FAFF ; disallowed # NA <reserved-FADA>..<reserved-FAFF> -FB00 ; mapped ; 0066 0066 # 1.1 LATIN SMALL LIGATURE FF -FB01 ; mapped ; 0066 0069 # 1.1 LATIN SMALL LIGATURE FI -FB02 ; mapped ; 0066 006C # 1.1 LATIN SMALL LIGATURE FL -FB03 ; mapped ; 0066 0066 0069 #1.1 LATIN SMALL LIGATURE FFI -FB04 ; mapped ; 0066 0066 006C #1.1 LATIN SMALL LIGATURE FFL -FB05..FB06 ; mapped ; 0073 0074 # 1.1 LATIN SMALL LIGATURE LONG S T..LATIN SMALL LIGATURE ST -FB07..FB12 ; disallowed # NA <reserved-FB07>..<reserved-FB12> -FB13 ; mapped ; 0574 0576 # 1.1 ARMENIAN SMALL LIGATURE MEN NOW -FB14 ; mapped ; 0574 0565 # 1.1 ARMENIAN SMALL LIGATURE MEN ECH -FB15 ; mapped ; 0574 056B # 1.1 ARMENIAN SMALL LIGATURE MEN INI -FB16 ; mapped ; 057E 0576 # 1.1 ARMENIAN SMALL LIGATURE VEW NOW -FB17 ; mapped ; 0574 056D # 1.1 ARMENIAN SMALL LIGATURE MEN XEH -FB18..FB1C ; disallowed # NA <reserved-FB18>..<reserved-FB1C> -FB1D ; mapped ; 05D9 05B4 # 3.0 HEBREW LETTER YOD WITH HIRIQ -FB1E ; valid # 1.1 HEBREW POINT JUDEO-SPANISH VARIKA -FB1F ; mapped ; 05F2 05B7 # 1.1 HEBREW LIGATURE YIDDISH YOD YOD PATAH -FB20 ; mapped ; 05E2 # 1.1 HEBREW LETTER ALTERNATIVE AYIN -FB21 ; mapped ; 05D0 # 1.1 HEBREW LETTER WIDE ALEF -FB22 ; mapped ; 05D3 # 1.1 HEBREW LETTER WIDE DALET -FB23 ; mapped ; 05D4 # 1.1 HEBREW LETTER WIDE HE -FB24 ; mapped ; 05DB # 1.1 HEBREW LETTER WIDE KAF -FB25 ; mapped ; 05DC # 1.1 HEBREW LETTER WIDE LAMED -FB26 ; mapped ; 05DD # 1.1 HEBREW LETTER WIDE FINAL MEM -FB27 ; mapped ; 05E8 # 1.1 HEBREW LETTER WIDE RESH -FB28 ; mapped ; 05EA # 1.1 HEBREW LETTER WIDE TAV -FB29 ; disallowed_STD3_mapped ; 002B # 1.1 HEBREW LETTER ALTERNATIVE PLUS SIGN -FB2A ; mapped ; 05E9 05C1 # 1.1 HEBREW LETTER SHIN WITH SHIN DOT -FB2B ; mapped ; 05E9 05C2 # 1.1 HEBREW LETTER SHIN WITH SIN DOT -FB2C ; mapped ; 05E9 05BC 05C1 #1.1 HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT -FB2D ; mapped ; 05E9 05BC 05C2 #1.1 HEBREW LETTER SHIN WITH DAGESH AND SIN DOT -FB2E ; mapped ; 05D0 05B7 # 1.1 HEBREW LETTER ALEF WITH PATAH -FB2F ; mapped ; 05D0 05B8 # 1.1 HEBREW LETTER ALEF WITH QAMATS -FB30 ; mapped ; 05D0 05BC # 1.1 HEBREW LETTER ALEF WITH MAPIQ -FB31 ; mapped ; 05D1 05BC # 1.1 HEBREW LETTER BET WITH DAGESH -FB32 ; mapped ; 05D2 05BC # 1.1 HEBREW LETTER GIMEL WITH DAGESH -FB33 ; mapped ; 05D3 05BC # 1.1 HEBREW LETTER DALET WITH DAGESH -FB34 ; mapped ; 05D4 05BC # 1.1 HEBREW LETTER HE WITH MAPIQ -FB35 ; mapped ; 05D5 05BC # 1.1 HEBREW LETTER VAV WITH DAGESH -FB36 ; mapped ; 05D6 05BC # 1.1 HEBREW LETTER ZAYIN WITH DAGESH -FB37 ; disallowed # NA <reserved-FB37> -FB38 ; mapped ; 05D8 05BC # 1.1 HEBREW LETTER TET WITH DAGESH -FB39 ; mapped ; 05D9 05BC # 1.1 HEBREW LETTER YOD WITH DAGESH -FB3A ; mapped ; 05DA 05BC # 1.1 HEBREW LETTER FINAL KAF WITH DAGESH -FB3B ; mapped ; 05DB 05BC # 1.1 HEBREW LETTER KAF WITH DAGESH -FB3C ; mapped ; 05DC 05BC # 1.1 HEBREW LETTER LAMED WITH DAGESH -FB3D ; disallowed # NA <reserved-FB3D> -FB3E ; mapped ; 05DE 05BC # 1.1 HEBREW LETTER MEM WITH DAGESH -FB3F ; disallowed # NA <reserved-FB3F> -FB40 ; mapped ; 05E0 05BC # 1.1 HEBREW LETTER NUN WITH DAGESH -FB41 ; mapped ; 05E1 05BC # 1.1 HEBREW LETTER SAMEKH WITH DAGESH -FB42 ; disallowed # NA <reserved-FB42> -FB43 ; mapped ; 05E3 05BC # 1.1 HEBREW LETTER FINAL PE WITH DAGESH -FB44 ; mapped ; 05E4 05BC # 1.1 HEBREW LETTER PE WITH DAGESH -FB45 ; disallowed # NA <reserved-FB45> -FB46 ; mapped ; 05E6 05BC # 1.1 HEBREW LETTER TSADI WITH DAGESH -FB47 ; mapped ; 05E7 05BC # 1.1 HEBREW LETTER QOF WITH DAGESH -FB48 ; mapped ; 05E8 05BC # 1.1 HEBREW LETTER RESH WITH DAGESH -FB49 ; mapped ; 05E9 05BC # 1.1 HEBREW LETTER SHIN WITH DAGESH -FB4A ; mapped ; 05EA 05BC # 1.1 HEBREW LETTER TAV WITH DAGESH -FB4B ; mapped ; 05D5 05B9 # 1.1 HEBREW LETTER VAV WITH HOLAM -FB4C ; mapped ; 05D1 05BF # 1.1 HEBREW LETTER BET WITH RAFE -FB4D ; mapped ; 05DB 05BF # 1.1 HEBREW LETTER KAF WITH RAFE -FB4E ; mapped ; 05E4 05BF # 1.1 HEBREW LETTER PE WITH RAFE -FB4F ; mapped ; 05D0 05DC # 1.1 HEBREW LIGATURE ALEF LAMED -FB50..FB51 ; mapped ; 0671 # 1.1 ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER ALEF WASLA FINAL FORM -FB52..FB55 ; mapped ; 067B # 1.1 ARABIC LETTER BEEH ISOLATED FORM..ARABIC LETTER BEEH MEDIAL FORM -FB56..FB59 ; mapped ; 067E # 1.1 ARABIC LETTER PEH ISOLATED FORM..ARABIC LETTER PEH MEDIAL FORM -FB5A..FB5D ; mapped ; 0680 # 1.1 ARABIC LETTER BEHEH ISOLATED FORM..ARABIC LETTER BEHEH MEDIAL FORM -FB5E..FB61 ; mapped ; 067A # 1.1 ARABIC LETTER TTEHEH ISOLATED FORM..ARABIC LETTER TTEHEH MEDIAL FORM -FB62..FB65 ; mapped ; 067F # 1.1 ARABIC LETTER TEHEH ISOLATED FORM..ARABIC LETTER TEHEH MEDIAL FORM -FB66..FB69 ; mapped ; 0679 # 1.1 ARABIC LETTER TTEH ISOLATED FORM..ARABIC LETTER TTEH MEDIAL FORM -FB6A..FB6D ; mapped ; 06A4 # 1.1 ARABIC LETTER VEH ISOLATED FORM..ARABIC LETTER VEH MEDIAL FORM -FB6E..FB71 ; mapped ; 06A6 # 1.1 ARABIC LETTER PEHEH ISOLATED FORM..ARABIC LETTER PEHEH MEDIAL FORM -FB72..FB75 ; mapped ; 0684 # 1.1 ARABIC LETTER DYEH ISOLATED FORM..ARABIC LETTER DYEH MEDIAL FORM -FB76..FB79 ; mapped ; 0683 # 1.1 ARABIC LETTER NYEH ISOLATED FORM..ARABIC LETTER NYEH MEDIAL FORM -FB7A..FB7D ; mapped ; 0686 # 1.1 ARABIC LETTER TCHEH ISOLATED FORM..ARABIC LETTER TCHEH MEDIAL FORM -FB7E..FB81 ; mapped ; 0687 # 1.1 ARABIC LETTER TCHEHEH ISOLATED FORM..ARABIC LETTER TCHEHEH MEDIAL FORM -FB82..FB83 ; mapped ; 068D # 1.1 ARABIC LETTER DDAHAL ISOLATED FORM..ARABIC LETTER DDAHAL FINAL FORM -FB84..FB85 ; mapped ; 068C # 1.1 ARABIC LETTER DAHAL ISOLATED FORM..ARABIC LETTER DAHAL FINAL FORM -FB86..FB87 ; mapped ; 068E # 1.1 ARABIC LETTER DUL ISOLATED FORM..ARABIC LETTER DUL FINAL FORM -FB88..FB89 ; mapped ; 0688 # 1.1 ARABIC LETTER DDAL ISOLATED FORM..ARABIC LETTER DDAL FINAL FORM -FB8A..FB8B ; mapped ; 0698 # 1.1 ARABIC LETTER JEH ISOLATED FORM..ARABIC LETTER JEH FINAL FORM -FB8C..FB8D ; mapped ; 0691 # 1.1 ARABIC LETTER RREH ISOLATED FORM..ARABIC LETTER RREH FINAL FORM -FB8E..FB91 ; mapped ; 06A9 # 1.1 ARABIC LETTER KEHEH ISOLATED FORM..ARABIC LETTER KEHEH MEDIAL FORM -FB92..FB95 ; mapped ; 06AF # 1.1 ARABIC LETTER GAF ISOLATED FORM..ARABIC LETTER GAF MEDIAL FORM -FB96..FB99 ; mapped ; 06B3 # 1.1 ARABIC LETTER GUEH ISOLATED FORM..ARABIC LETTER GUEH MEDIAL FORM -FB9A..FB9D ; mapped ; 06B1 # 1.1 ARABIC LETTER NGOEH ISOLATED FORM..ARABIC LETTER NGOEH MEDIAL FORM -FB9E..FB9F ; mapped ; 06BA # 1.1 ARABIC LETTER NOON GHUNNA ISOLATED FORM..ARABIC LETTER NOON GHUNNA FINAL FORM -FBA0..FBA3 ; mapped ; 06BB # 1.1 ARABIC LETTER RNOON ISOLATED FORM..ARABIC LETTER RNOON MEDIAL FORM -FBA4..FBA5 ; mapped ; 06C0 # 1.1 ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM..ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM -FBA6..FBA9 ; mapped ; 06C1 # 1.1 ARABIC LETTER HEH GOAL ISOLATED FORM..ARABIC LETTER HEH GOAL MEDIAL FORM -FBAA..FBAD ; mapped ; 06BE # 1.1 ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM..ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM -FBAE..FBAF ; mapped ; 06D2 # 1.1 ARABIC LETTER YEH BARREE ISOLATED FORM..ARABIC LETTER YEH BARREE FINAL FORM -FBB0..FBB1 ; mapped ; 06D3 # 1.1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM -FBB2..FBC1 ; valid ; ; NV8 # 6.0 ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW -FBC2..FBD2 ; disallowed # NA <reserved-FBC2>..<reserved-FBD2> -FBD3..FBD6 ; mapped ; 06AD # 1.1 ARABIC LETTER NG ISOLATED FORM..ARABIC LETTER NG MEDIAL FORM -FBD7..FBD8 ; mapped ; 06C7 # 1.1 ARABIC LETTER U ISOLATED FORM..ARABIC LETTER U FINAL FORM -FBD9..FBDA ; mapped ; 06C6 # 1.1 ARABIC LETTER OE ISOLATED FORM..ARABIC LETTER OE FINAL FORM -FBDB..FBDC ; mapped ; 06C8 # 1.1 ARABIC LETTER YU ISOLATED FORM..ARABIC LETTER YU FINAL FORM -FBDD ; mapped ; 06C7 0674 # 1.1 ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM -FBDE..FBDF ; mapped ; 06CB # 1.1 ARABIC LETTER VE ISOLATED FORM..ARABIC LETTER VE FINAL FORM -FBE0..FBE1 ; mapped ; 06C5 # 1.1 ARABIC LETTER KIRGHIZ OE ISOLATED FORM..ARABIC LETTER KIRGHIZ OE FINAL FORM -FBE2..FBE3 ; mapped ; 06C9 # 1.1 ARABIC LETTER KIRGHIZ YU ISOLATED FORM..ARABIC LETTER KIRGHIZ YU FINAL FORM -FBE4..FBE7 ; mapped ; 06D0 # 1.1 ARABIC LETTER E ISOLATED FORM..ARABIC LETTER E MEDIAL FORM -FBE8..FBE9 ; mapped ; 0649 # 1.1 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM..ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM -FBEA..FBEB ; mapped ; 0626 0627 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM -FBEC..FBED ; mapped ; 0626 06D5 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM -FBEE..FBEF ; mapped ; 0626 0648 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM -FBF0..FBF1 ; mapped ; 0626 06C7 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM -FBF2..FBF3 ; mapped ; 0626 06C6 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM -FBF4..FBF5 ; mapped ; 0626 06C8 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM -FBF6..FBF8 ; mapped ; 0626 06D0 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM -FBF9..FBFB ; mapped ; 0626 0649 # 1.1 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM..ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM -FBFC..FBFF ; mapped ; 06CC # 1.1 ARABIC LETTER FARSI YEH ISOLATED FORM..ARABIC LETTER FARSI YEH MEDIAL FORM -FC00 ; mapped ; 0626 062C # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM -FC01 ; mapped ; 0626 062D # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM -FC02 ; mapped ; 0626 0645 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM -FC03 ; mapped ; 0626 0649 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM -FC04 ; mapped ; 0626 064A # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM -FC05 ; mapped ; 0628 062C # 1.1 ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM -FC06 ; mapped ; 0628 062D # 1.1 ARABIC LIGATURE BEH WITH HAH ISOLATED FORM -FC07 ; mapped ; 0628 062E # 1.1 ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM -FC08 ; mapped ; 0628 0645 # 1.1 ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM -FC09 ; mapped ; 0628 0649 # 1.1 ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM -FC0A ; mapped ; 0628 064A # 1.1 ARABIC LIGATURE BEH WITH YEH ISOLATED FORM -FC0B ; mapped ; 062A 062C # 1.1 ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM -FC0C ; mapped ; 062A 062D # 1.1 ARABIC LIGATURE TEH WITH HAH ISOLATED FORM -FC0D ; mapped ; 062A 062E # 1.1 ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM -FC0E ; mapped ; 062A 0645 # 1.1 ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM -FC0F ; mapped ; 062A 0649 # 1.1 ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM -FC10 ; mapped ; 062A 064A # 1.1 ARABIC LIGATURE TEH WITH YEH ISOLATED FORM -FC11 ; mapped ; 062B 062C # 1.1 ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM -FC12 ; mapped ; 062B 0645 # 1.1 ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM -FC13 ; mapped ; 062B 0649 # 1.1 ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM -FC14 ; mapped ; 062B 064A # 1.1 ARABIC LIGATURE THEH WITH YEH ISOLATED FORM -FC15 ; mapped ; 062C 062D # 1.1 ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM -FC16 ; mapped ; 062C 0645 # 1.1 ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM -FC17 ; mapped ; 062D 062C # 1.1 ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM -FC18 ; mapped ; 062D 0645 # 1.1 ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM -FC19 ; mapped ; 062E 062C # 1.1 ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM -FC1A ; mapped ; 062E 062D # 1.1 ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM -FC1B ; mapped ; 062E 0645 # 1.1 ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM -FC1C ; mapped ; 0633 062C # 1.1 ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM -FC1D ; mapped ; 0633 062D # 1.1 ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM -FC1E ; mapped ; 0633 062E # 1.1 ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM -FC1F ; mapped ; 0633 0645 # 1.1 ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM -FC20 ; mapped ; 0635 062D # 1.1 ARABIC LIGATURE SAD WITH HAH ISOLATED FORM -FC21 ; mapped ; 0635 0645 # 1.1 ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM -FC22 ; mapped ; 0636 062C # 1.1 ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM -FC23 ; mapped ; 0636 062D # 1.1 ARABIC LIGATURE DAD WITH HAH ISOLATED FORM -FC24 ; mapped ; 0636 062E # 1.1 ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM -FC25 ; mapped ; 0636 0645 # 1.1 ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM -FC26 ; mapped ; 0637 062D # 1.1 ARABIC LIGATURE TAH WITH HAH ISOLATED FORM -FC27 ; mapped ; 0637 0645 # 1.1 ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM -FC28 ; mapped ; 0638 0645 # 1.1 ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM -FC29 ; mapped ; 0639 062C # 1.1 ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM -FC2A ; mapped ; 0639 0645 # 1.1 ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM -FC2B ; mapped ; 063A 062C # 1.1 ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM -FC2C ; mapped ; 063A 0645 # 1.1 ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM -FC2D ; mapped ; 0641 062C # 1.1 ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM -FC2E ; mapped ; 0641 062D # 1.1 ARABIC LIGATURE FEH WITH HAH ISOLATED FORM -FC2F ; mapped ; 0641 062E # 1.1 ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM -FC30 ; mapped ; 0641 0645 # 1.1 ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM -FC31 ; mapped ; 0641 0649 # 1.1 ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM -FC32 ; mapped ; 0641 064A # 1.1 ARABIC LIGATURE FEH WITH YEH ISOLATED FORM -FC33 ; mapped ; 0642 062D # 1.1 ARABIC LIGATURE QAF WITH HAH ISOLATED FORM -FC34 ; mapped ; 0642 0645 # 1.1 ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM -FC35 ; mapped ; 0642 0649 # 1.1 ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM -FC36 ; mapped ; 0642 064A # 1.1 ARABIC LIGATURE QAF WITH YEH ISOLATED FORM -FC37 ; mapped ; 0643 0627 # 1.1 ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM -FC38 ; mapped ; 0643 062C # 1.1 ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM -FC39 ; mapped ; 0643 062D # 1.1 ARABIC LIGATURE KAF WITH HAH ISOLATED FORM -FC3A ; mapped ; 0643 062E # 1.1 ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM -FC3B ; mapped ; 0643 0644 # 1.1 ARABIC LIGATURE KAF WITH LAM ISOLATED FORM -FC3C ; mapped ; 0643 0645 # 1.1 ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM -FC3D ; mapped ; 0643 0649 # 1.1 ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM -FC3E ; mapped ; 0643 064A # 1.1 ARABIC LIGATURE KAF WITH YEH ISOLATED FORM -FC3F ; mapped ; 0644 062C # 1.1 ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM -FC40 ; mapped ; 0644 062D # 1.1 ARABIC LIGATURE LAM WITH HAH ISOLATED FORM -FC41 ; mapped ; 0644 062E # 1.1 ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM -FC42 ; mapped ; 0644 0645 # 1.1 ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM -FC43 ; mapped ; 0644 0649 # 1.1 ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM -FC44 ; mapped ; 0644 064A # 1.1 ARABIC LIGATURE LAM WITH YEH ISOLATED FORM -FC45 ; mapped ; 0645 062C # 1.1 ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM -FC46 ; mapped ; 0645 062D # 1.1 ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM -FC47 ; mapped ; 0645 062E # 1.1 ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM -FC48 ; mapped ; 0645 0645 # 1.1 ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM -FC49 ; mapped ; 0645 0649 # 1.1 ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM -FC4A ; mapped ; 0645 064A # 1.1 ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM -FC4B ; mapped ; 0646 062C # 1.1 ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM -FC4C ; mapped ; 0646 062D # 1.1 ARABIC LIGATURE NOON WITH HAH ISOLATED FORM -FC4D ; mapped ; 0646 062E # 1.1 ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM -FC4E ; mapped ; 0646 0645 # 1.1 ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM -FC4F ; mapped ; 0646 0649 # 1.1 ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM -FC50 ; mapped ; 0646 064A # 1.1 ARABIC LIGATURE NOON WITH YEH ISOLATED FORM -FC51 ; mapped ; 0647 062C # 1.1 ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM -FC52 ; mapped ; 0647 0645 # 1.1 ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM -FC53 ; mapped ; 0647 0649 # 1.1 ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM -FC54 ; mapped ; 0647 064A # 1.1 ARABIC LIGATURE HEH WITH YEH ISOLATED FORM -FC55 ; mapped ; 064A 062C # 1.1 ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM -FC56 ; mapped ; 064A 062D # 1.1 ARABIC LIGATURE YEH WITH HAH ISOLATED FORM -FC57 ; mapped ; 064A 062E # 1.1 ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM -FC58 ; mapped ; 064A 0645 # 1.1 ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM -FC59 ; mapped ; 064A 0649 # 1.1 ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM -FC5A ; mapped ; 064A 064A # 1.1 ARABIC LIGATURE YEH WITH YEH ISOLATED FORM -FC5B ; mapped ; 0630 0670 # 1.1 ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM -FC5C ; mapped ; 0631 0670 # 1.1 ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM -FC5D ; mapped ; 0649 0670 # 1.1 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM -FC5E ; disallowed_STD3_mapped ; 0020 064C 0651 #1.1 ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM -FC5F ; disallowed_STD3_mapped ; 0020 064D 0651 #1.1 ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM -FC60 ; disallowed_STD3_mapped ; 0020 064E 0651 #1.1 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM -FC61 ; disallowed_STD3_mapped ; 0020 064F 0651 #1.1 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM -FC62 ; disallowed_STD3_mapped ; 0020 0650 0651 #1.1 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM -FC63 ; disallowed_STD3_mapped ; 0020 0651 0670 #1.1 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM -FC64 ; mapped ; 0626 0631 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM -FC65 ; mapped ; 0626 0632 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM -FC66 ; mapped ; 0626 0645 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM -FC67 ; mapped ; 0626 0646 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM -FC68 ; mapped ; 0626 0649 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM -FC69 ; mapped ; 0626 064A # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM -FC6A ; mapped ; 0628 0631 # 1.1 ARABIC LIGATURE BEH WITH REH FINAL FORM -FC6B ; mapped ; 0628 0632 # 1.1 ARABIC LIGATURE BEH WITH ZAIN FINAL FORM -FC6C ; mapped ; 0628 0645 # 1.1 ARABIC LIGATURE BEH WITH MEEM FINAL FORM -FC6D ; mapped ; 0628 0646 # 1.1 ARABIC LIGATURE BEH WITH NOON FINAL FORM -FC6E ; mapped ; 0628 0649 # 1.1 ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM -FC6F ; mapped ; 0628 064A # 1.1 ARABIC LIGATURE BEH WITH YEH FINAL FORM -FC70 ; mapped ; 062A 0631 # 1.1 ARABIC LIGATURE TEH WITH REH FINAL FORM -FC71 ; mapped ; 062A 0632 # 1.1 ARABIC LIGATURE TEH WITH ZAIN FINAL FORM -FC72 ; mapped ; 062A 0645 # 1.1 ARABIC LIGATURE TEH WITH MEEM FINAL FORM -FC73 ; mapped ; 062A 0646 # 1.1 ARABIC LIGATURE TEH WITH NOON FINAL FORM -FC74 ; mapped ; 062A 0649 # 1.1 ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM -FC75 ; mapped ; 062A 064A # 1.1 ARABIC LIGATURE TEH WITH YEH FINAL FORM -FC76 ; mapped ; 062B 0631 # 1.1 ARABIC LIGATURE THEH WITH REH FINAL FORM -FC77 ; mapped ; 062B 0632 # 1.1 ARABIC LIGATURE THEH WITH ZAIN FINAL FORM -FC78 ; mapped ; 062B 0645 # 1.1 ARABIC LIGATURE THEH WITH MEEM FINAL FORM -FC79 ; mapped ; 062B 0646 # 1.1 ARABIC LIGATURE THEH WITH NOON FINAL FORM -FC7A ; mapped ; 062B 0649 # 1.1 ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM -FC7B ; mapped ; 062B 064A # 1.1 ARABIC LIGATURE THEH WITH YEH FINAL FORM -FC7C ; mapped ; 0641 0649 # 1.1 ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM -FC7D ; mapped ; 0641 064A # 1.1 ARABIC LIGATURE FEH WITH YEH FINAL FORM -FC7E ; mapped ; 0642 0649 # 1.1 ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM -FC7F ; mapped ; 0642 064A # 1.1 ARABIC LIGATURE QAF WITH YEH FINAL FORM -FC80 ; mapped ; 0643 0627 # 1.1 ARABIC LIGATURE KAF WITH ALEF FINAL FORM -FC81 ; mapped ; 0643 0644 # 1.1 ARABIC LIGATURE KAF WITH LAM FINAL FORM -FC82 ; mapped ; 0643 0645 # 1.1 ARABIC LIGATURE KAF WITH MEEM FINAL FORM -FC83 ; mapped ; 0643 0649 # 1.1 ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM -FC84 ; mapped ; 0643 064A # 1.1 ARABIC LIGATURE KAF WITH YEH FINAL FORM -FC85 ; mapped ; 0644 0645 # 1.1 ARABIC LIGATURE LAM WITH MEEM FINAL FORM -FC86 ; mapped ; 0644 0649 # 1.1 ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM -FC87 ; mapped ; 0644 064A # 1.1 ARABIC LIGATURE LAM WITH YEH FINAL FORM -FC88 ; mapped ; 0645 0627 # 1.1 ARABIC LIGATURE MEEM WITH ALEF FINAL FORM -FC89 ; mapped ; 0645 0645 # 1.1 ARABIC LIGATURE MEEM WITH MEEM FINAL FORM -FC8A ; mapped ; 0646 0631 # 1.1 ARABIC LIGATURE NOON WITH REH FINAL FORM -FC8B ; mapped ; 0646 0632 # 1.1 ARABIC LIGATURE NOON WITH ZAIN FINAL FORM -FC8C ; mapped ; 0646 0645 # 1.1 ARABIC LIGATURE NOON WITH MEEM FINAL FORM -FC8D ; mapped ; 0646 0646 # 1.1 ARABIC LIGATURE NOON WITH NOON FINAL FORM -FC8E ; mapped ; 0646 0649 # 1.1 ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM -FC8F ; mapped ; 0646 064A # 1.1 ARABIC LIGATURE NOON WITH YEH FINAL FORM -FC90 ; mapped ; 0649 0670 # 1.1 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM -FC91 ; mapped ; 064A 0631 # 1.1 ARABIC LIGATURE YEH WITH REH FINAL FORM -FC92 ; mapped ; 064A 0632 # 1.1 ARABIC LIGATURE YEH WITH ZAIN FINAL FORM -FC93 ; mapped ; 064A 0645 # 1.1 ARABIC LIGATURE YEH WITH MEEM FINAL FORM -FC94 ; mapped ; 064A 0646 # 1.1 ARABIC LIGATURE YEH WITH NOON FINAL FORM -FC95 ; mapped ; 064A 0649 # 1.1 ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM -FC96 ; mapped ; 064A 064A # 1.1 ARABIC LIGATURE YEH WITH YEH FINAL FORM -FC97 ; mapped ; 0626 062C # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM -FC98 ; mapped ; 0626 062D # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM -FC99 ; mapped ; 0626 062E # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM -FC9A ; mapped ; 0626 0645 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM -FC9B ; mapped ; 0626 0647 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM -FC9C ; mapped ; 0628 062C # 1.1 ARABIC LIGATURE BEH WITH JEEM INITIAL FORM -FC9D ; mapped ; 0628 062D # 1.1 ARABIC LIGATURE BEH WITH HAH INITIAL FORM -FC9E ; mapped ; 0628 062E # 1.1 ARABIC LIGATURE BEH WITH KHAH INITIAL FORM -FC9F ; mapped ; 0628 0645 # 1.1 ARABIC LIGATURE BEH WITH MEEM INITIAL FORM -FCA0 ; mapped ; 0628 0647 # 1.1 ARABIC LIGATURE BEH WITH HEH INITIAL FORM -FCA1 ; mapped ; 062A 062C # 1.1 ARABIC LIGATURE TEH WITH JEEM INITIAL FORM -FCA2 ; mapped ; 062A 062D # 1.1 ARABIC LIGATURE TEH WITH HAH INITIAL FORM -FCA3 ; mapped ; 062A 062E # 1.1 ARABIC LIGATURE TEH WITH KHAH INITIAL FORM -FCA4 ; mapped ; 062A 0645 # 1.1 ARABIC LIGATURE TEH WITH MEEM INITIAL FORM -FCA5 ; mapped ; 062A 0647 # 1.1 ARABIC LIGATURE TEH WITH HEH INITIAL FORM -FCA6 ; mapped ; 062B 0645 # 1.1 ARABIC LIGATURE THEH WITH MEEM INITIAL FORM -FCA7 ; mapped ; 062C 062D # 1.1 ARABIC LIGATURE JEEM WITH HAH INITIAL FORM -FCA8 ; mapped ; 062C 0645 # 1.1 ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM -FCA9 ; mapped ; 062D 062C # 1.1 ARABIC LIGATURE HAH WITH JEEM INITIAL FORM -FCAA ; mapped ; 062D 0645 # 1.1 ARABIC LIGATURE HAH WITH MEEM INITIAL FORM -FCAB ; mapped ; 062E 062C # 1.1 ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM -FCAC ; mapped ; 062E 0645 # 1.1 ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM -FCAD ; mapped ; 0633 062C # 1.1 ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM -FCAE ; mapped ; 0633 062D # 1.1 ARABIC LIGATURE SEEN WITH HAH INITIAL FORM -FCAF ; mapped ; 0633 062E # 1.1 ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM -FCB0 ; mapped ; 0633 0645 # 1.1 ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM -FCB1 ; mapped ; 0635 062D # 1.1 ARABIC LIGATURE SAD WITH HAH INITIAL FORM -FCB2 ; mapped ; 0635 062E # 1.1 ARABIC LIGATURE SAD WITH KHAH INITIAL FORM -FCB3 ; mapped ; 0635 0645 # 1.1 ARABIC LIGATURE SAD WITH MEEM INITIAL FORM -FCB4 ; mapped ; 0636 062C # 1.1 ARABIC LIGATURE DAD WITH JEEM INITIAL FORM -FCB5 ; mapped ; 0636 062D # 1.1 ARABIC LIGATURE DAD WITH HAH INITIAL FORM -FCB6 ; mapped ; 0636 062E # 1.1 ARABIC LIGATURE DAD WITH KHAH INITIAL FORM -FCB7 ; mapped ; 0636 0645 # 1.1 ARABIC LIGATURE DAD WITH MEEM INITIAL FORM -FCB8 ; mapped ; 0637 062D # 1.1 ARABIC LIGATURE TAH WITH HAH INITIAL FORM -FCB9 ; mapped ; 0638 0645 # 1.1 ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM -FCBA ; mapped ; 0639 062C # 1.1 ARABIC LIGATURE AIN WITH JEEM INITIAL FORM -FCBB ; mapped ; 0639 0645 # 1.1 ARABIC LIGATURE AIN WITH MEEM INITIAL FORM -FCBC ; mapped ; 063A 062C # 1.1 ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM -FCBD ; mapped ; 063A 0645 # 1.1 ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM -FCBE ; mapped ; 0641 062C # 1.1 ARABIC LIGATURE FEH WITH JEEM INITIAL FORM -FCBF ; mapped ; 0641 062D # 1.1 ARABIC LIGATURE FEH WITH HAH INITIAL FORM -FCC0 ; mapped ; 0641 062E # 1.1 ARABIC LIGATURE FEH WITH KHAH INITIAL FORM -FCC1 ; mapped ; 0641 0645 # 1.1 ARABIC LIGATURE FEH WITH MEEM INITIAL FORM -FCC2 ; mapped ; 0642 062D # 1.1 ARABIC LIGATURE QAF WITH HAH INITIAL FORM -FCC3 ; mapped ; 0642 0645 # 1.1 ARABIC LIGATURE QAF WITH MEEM INITIAL FORM -FCC4 ; mapped ; 0643 062C # 1.1 ARABIC LIGATURE KAF WITH JEEM INITIAL FORM -FCC5 ; mapped ; 0643 062D # 1.1 ARABIC LIGATURE KAF WITH HAH INITIAL FORM -FCC6 ; mapped ; 0643 062E # 1.1 ARABIC LIGATURE KAF WITH KHAH INITIAL FORM -FCC7 ; mapped ; 0643 0644 # 1.1 ARABIC LIGATURE KAF WITH LAM INITIAL FORM -FCC8 ; mapped ; 0643 0645 # 1.1 ARABIC LIGATURE KAF WITH MEEM INITIAL FORM -FCC9 ; mapped ; 0644 062C # 1.1 ARABIC LIGATURE LAM WITH JEEM INITIAL FORM -FCCA ; mapped ; 0644 062D # 1.1 ARABIC LIGATURE LAM WITH HAH INITIAL FORM -FCCB ; mapped ; 0644 062E # 1.1 ARABIC LIGATURE LAM WITH KHAH INITIAL FORM -FCCC ; mapped ; 0644 0645 # 1.1 ARABIC LIGATURE LAM WITH MEEM INITIAL FORM -FCCD ; mapped ; 0644 0647 # 1.1 ARABIC LIGATURE LAM WITH HEH INITIAL FORM -FCCE ; mapped ; 0645 062C # 1.1 ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM -FCCF ; mapped ; 0645 062D # 1.1 ARABIC LIGATURE MEEM WITH HAH INITIAL FORM -FCD0 ; mapped ; 0645 062E # 1.1 ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM -FCD1 ; mapped ; 0645 0645 # 1.1 ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM -FCD2 ; mapped ; 0646 062C # 1.1 ARABIC LIGATURE NOON WITH JEEM INITIAL FORM -FCD3 ; mapped ; 0646 062D # 1.1 ARABIC LIGATURE NOON WITH HAH INITIAL FORM -FCD4 ; mapped ; 0646 062E # 1.1 ARABIC LIGATURE NOON WITH KHAH INITIAL FORM -FCD5 ; mapped ; 0646 0645 # 1.1 ARABIC LIGATURE NOON WITH MEEM INITIAL FORM -FCD6 ; mapped ; 0646 0647 # 1.1 ARABIC LIGATURE NOON WITH HEH INITIAL FORM -FCD7 ; mapped ; 0647 062C # 1.1 ARABIC LIGATURE HEH WITH JEEM INITIAL FORM -FCD8 ; mapped ; 0647 0645 # 1.1 ARABIC LIGATURE HEH WITH MEEM INITIAL FORM -FCD9 ; mapped ; 0647 0670 # 1.1 ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM -FCDA ; mapped ; 064A 062C # 1.1 ARABIC LIGATURE YEH WITH JEEM INITIAL FORM -FCDB ; mapped ; 064A 062D # 1.1 ARABIC LIGATURE YEH WITH HAH INITIAL FORM -FCDC ; mapped ; 064A 062E # 1.1 ARABIC LIGATURE YEH WITH KHAH INITIAL FORM -FCDD ; mapped ; 064A 0645 # 1.1 ARABIC LIGATURE YEH WITH MEEM INITIAL FORM -FCDE ; mapped ; 064A 0647 # 1.1 ARABIC LIGATURE YEH WITH HEH INITIAL FORM -FCDF ; mapped ; 0626 0645 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM -FCE0 ; mapped ; 0626 0647 # 1.1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM -FCE1 ; mapped ; 0628 0645 # 1.1 ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM -FCE2 ; mapped ; 0628 0647 # 1.1 ARABIC LIGATURE BEH WITH HEH MEDIAL FORM -FCE3 ; mapped ; 062A 0645 # 1.1 ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM -FCE4 ; mapped ; 062A 0647 # 1.1 ARABIC LIGATURE TEH WITH HEH MEDIAL FORM -FCE5 ; mapped ; 062B 0645 # 1.1 ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM -FCE6 ; mapped ; 062B 0647 # 1.1 ARABIC LIGATURE THEH WITH HEH MEDIAL FORM -FCE7 ; mapped ; 0633 0645 # 1.1 ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM -FCE8 ; mapped ; 0633 0647 # 1.1 ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM -FCE9 ; mapped ; 0634 0645 # 1.1 ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM -FCEA ; mapped ; 0634 0647 # 1.1 ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM -FCEB ; mapped ; 0643 0644 # 1.1 ARABIC LIGATURE KAF WITH LAM MEDIAL FORM -FCEC ; mapped ; 0643 0645 # 1.1 ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM -FCED ; mapped ; 0644 0645 # 1.1 ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM -FCEE ; mapped ; 0646 0645 # 1.1 ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM -FCEF ; mapped ; 0646 0647 # 1.1 ARABIC LIGATURE NOON WITH HEH MEDIAL FORM -FCF0 ; mapped ; 064A 0645 # 1.1 ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM -FCF1 ; mapped ; 064A 0647 # 1.1 ARABIC LIGATURE YEH WITH HEH MEDIAL FORM -FCF2 ; mapped ; 0640 064E 0651 #1.1 ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM -FCF3 ; mapped ; 0640 064F 0651 #1.1 ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM -FCF4 ; mapped ; 0640 0650 0651 #1.1 ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM -FCF5 ; mapped ; 0637 0649 # 1.1 ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM -FCF6 ; mapped ; 0637 064A # 1.1 ARABIC LIGATURE TAH WITH YEH ISOLATED FORM -FCF7 ; mapped ; 0639 0649 # 1.1 ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM -FCF8 ; mapped ; 0639 064A # 1.1 ARABIC LIGATURE AIN WITH YEH ISOLATED FORM -FCF9 ; mapped ; 063A 0649 # 1.1 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM -FCFA ; mapped ; 063A 064A # 1.1 ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM -FCFB ; mapped ; 0633 0649 # 1.1 ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM -FCFC ; mapped ; 0633 064A # 1.1 ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM -FCFD ; mapped ; 0634 0649 # 1.1 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM -FCFE ; mapped ; 0634 064A # 1.1 ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM -FCFF ; mapped ; 062D 0649 # 1.1 ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM -FD00 ; mapped ; 062D 064A # 1.1 ARABIC LIGATURE HAH WITH YEH ISOLATED FORM -FD01 ; mapped ; 062C 0649 # 1.1 ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM -FD02 ; mapped ; 062C 064A # 1.1 ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM -FD03 ; mapped ; 062E 0649 # 1.1 ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM -FD04 ; mapped ; 062E 064A # 1.1 ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM -FD05 ; mapped ; 0635 0649 # 1.1 ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM -FD06 ; mapped ; 0635 064A # 1.1 ARABIC LIGATURE SAD WITH YEH ISOLATED FORM -FD07 ; mapped ; 0636 0649 # 1.1 ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM -FD08 ; mapped ; 0636 064A # 1.1 ARABIC LIGATURE DAD WITH YEH ISOLATED FORM -FD09 ; mapped ; 0634 062C # 1.1 ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM -FD0A ; mapped ; 0634 062D # 1.1 ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM -FD0B ; mapped ; 0634 062E # 1.1 ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM -FD0C ; mapped ; 0634 0645 # 1.1 ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM -FD0D ; mapped ; 0634 0631 # 1.1 ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM -FD0E ; mapped ; 0633 0631 # 1.1 ARABIC LIGATURE SEEN WITH REH ISOLATED FORM -FD0F ; mapped ; 0635 0631 # 1.1 ARABIC LIGATURE SAD WITH REH ISOLATED FORM -FD10 ; mapped ; 0636 0631 # 1.1 ARABIC LIGATURE DAD WITH REH ISOLATED FORM -FD11 ; mapped ; 0637 0649 # 1.1 ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM -FD12 ; mapped ; 0637 064A # 1.1 ARABIC LIGATURE TAH WITH YEH FINAL FORM -FD13 ; mapped ; 0639 0649 # 1.1 ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM -FD14 ; mapped ; 0639 064A # 1.1 ARABIC LIGATURE AIN WITH YEH FINAL FORM -FD15 ; mapped ; 063A 0649 # 1.1 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM -FD16 ; mapped ; 063A 064A # 1.1 ARABIC LIGATURE GHAIN WITH YEH FINAL FORM -FD17 ; mapped ; 0633 0649 # 1.1 ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM -FD18 ; mapped ; 0633 064A # 1.1 ARABIC LIGATURE SEEN WITH YEH FINAL FORM -FD19 ; mapped ; 0634 0649 # 1.1 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM -FD1A ; mapped ; 0634 064A # 1.1 ARABIC LIGATURE SHEEN WITH YEH FINAL FORM -FD1B ; mapped ; 062D 0649 # 1.1 ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM -FD1C ; mapped ; 062D 064A # 1.1 ARABIC LIGATURE HAH WITH YEH FINAL FORM -FD1D ; mapped ; 062C 0649 # 1.1 ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM -FD1E ; mapped ; 062C 064A # 1.1 ARABIC LIGATURE JEEM WITH YEH FINAL FORM -FD1F ; mapped ; 062E 0649 # 1.1 ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM -FD20 ; mapped ; 062E 064A # 1.1 ARABIC LIGATURE KHAH WITH YEH FINAL FORM -FD21 ; mapped ; 0635 0649 # 1.1 ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM -FD22 ; mapped ; 0635 064A # 1.1 ARABIC LIGATURE SAD WITH YEH FINAL FORM -FD23 ; mapped ; 0636 0649 # 1.1 ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM -FD24 ; mapped ; 0636 064A # 1.1 ARABIC LIGATURE DAD WITH YEH FINAL FORM -FD25 ; mapped ; 0634 062C # 1.1 ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM -FD26 ; mapped ; 0634 062D # 1.1 ARABIC LIGATURE SHEEN WITH HAH FINAL FORM -FD27 ; mapped ; 0634 062E # 1.1 ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM -FD28 ; mapped ; 0634 0645 # 1.1 ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM -FD29 ; mapped ; 0634 0631 # 1.1 ARABIC LIGATURE SHEEN WITH REH FINAL FORM -FD2A ; mapped ; 0633 0631 # 1.1 ARABIC LIGATURE SEEN WITH REH FINAL FORM -FD2B ; mapped ; 0635 0631 # 1.1 ARABIC LIGATURE SAD WITH REH FINAL FORM -FD2C ; mapped ; 0636 0631 # 1.1 ARABIC LIGATURE DAD WITH REH FINAL FORM -FD2D ; mapped ; 0634 062C # 1.1 ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM -FD2E ; mapped ; 0634 062D # 1.1 ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM -FD2F ; mapped ; 0634 062E # 1.1 ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM -FD30 ; mapped ; 0634 0645 # 1.1 ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM -FD31 ; mapped ; 0633 0647 # 1.1 ARABIC LIGATURE SEEN WITH HEH INITIAL FORM -FD32 ; mapped ; 0634 0647 # 1.1 ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM -FD33 ; mapped ; 0637 0645 # 1.1 ARABIC LIGATURE TAH WITH MEEM INITIAL FORM -FD34 ; mapped ; 0633 062C # 1.1 ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM -FD35 ; mapped ; 0633 062D # 1.1 ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM -FD36 ; mapped ; 0633 062E # 1.1 ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM -FD37 ; mapped ; 0634 062C # 1.1 ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM -FD38 ; mapped ; 0634 062D # 1.1 ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM -FD39 ; mapped ; 0634 062E # 1.1 ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM -FD3A ; mapped ; 0637 0645 # 1.1 ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM -FD3B ; mapped ; 0638 0645 # 1.1 ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM -FD3C..FD3D ; mapped ; 0627 064B # 1.1 ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM -FD3E..FD3F ; valid ; ; NV8 # 1.1 ORNATE LEFT PARENTHESIS..ORNATE RIGHT PARENTHESIS -FD40..FD4F ; disallowed # NA <reserved-FD40>..<reserved-FD4F> -FD50 ; mapped ; 062A 062C 0645 #1.1 ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM -FD51..FD52 ; mapped ; 062A 062D 062C #1.1 ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM..ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM -FD53 ; mapped ; 062A 062D 0645 #1.1 ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM -FD54 ; mapped ; 062A 062E 0645 #1.1 ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM -FD55 ; mapped ; 062A 0645 062C #1.1 ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM -FD56 ; mapped ; 062A 0645 062D #1.1 ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM -FD57 ; mapped ; 062A 0645 062E #1.1 ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM -FD58..FD59 ; mapped ; 062C 0645 062D #1.1 ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM -FD5A ; mapped ; 062D 0645 064A #1.1 ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM -FD5B ; mapped ; 062D 0645 0649 #1.1 ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD5C ; mapped ; 0633 062D 062C #1.1 ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM -FD5D ; mapped ; 0633 062C 062D #1.1 ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM -FD5E ; mapped ; 0633 062C 0649 #1.1 ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM -FD5F..FD60 ; mapped ; 0633 0645 062D #1.1 ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM -FD61 ; mapped ; 0633 0645 062C #1.1 ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM -FD62..FD63 ; mapped ; 0633 0645 0645 #1.1 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM -FD64..FD65 ; mapped ; 0635 062D 062D #1.1 ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM..ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM -FD66 ; mapped ; 0635 0645 0645 #1.1 ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM -FD67..FD68 ; mapped ; 0634 062D 0645 #1.1 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM..ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM -FD69 ; mapped ; 0634 062C 064A #1.1 ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM -FD6A..FD6B ; mapped ; 0634 0645 062E #1.1 ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM..ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM -FD6C..FD6D ; mapped ; 0634 0645 0645 #1.1 ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM -FD6E ; mapped ; 0636 062D 0649 #1.1 ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM -FD6F..FD70 ; mapped ; 0636 062E 0645 #1.1 ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM..ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM -FD71..FD72 ; mapped ; 0637 0645 062D #1.1 ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM -FD73 ; mapped ; 0637 0645 0645 #1.1 ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM -FD74 ; mapped ; 0637 0645 064A #1.1 ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM -FD75 ; mapped ; 0639 062C 0645 #1.1 ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM -FD76..FD77 ; mapped ; 0639 0645 0645 #1.1 ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM -FD78 ; mapped ; 0639 0645 0649 #1.1 ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD79 ; mapped ; 063A 0645 0645 #1.1 ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM -FD7A ; mapped ; 063A 0645 064A #1.1 ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM -FD7B ; mapped ; 063A 0645 0649 #1.1 ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD7C..FD7D ; mapped ; 0641 062E 0645 #1.1 ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM..ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM -FD7E ; mapped ; 0642 0645 062D #1.1 ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM -FD7F ; mapped ; 0642 0645 0645 #1.1 ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM -FD80 ; mapped ; 0644 062D 0645 #1.1 ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM -FD81 ; mapped ; 0644 062D 064A #1.1 ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM -FD82 ; mapped ; 0644 062D 0649 #1.1 ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM -FD83..FD84 ; mapped ; 0644 062C 062C #1.1 ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM..ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM -FD85..FD86 ; mapped ; 0644 062E 0645 #1.1 ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM..ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM -FD87..FD88 ; mapped ; 0644 0645 062D #1.1 ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM -FD89 ; mapped ; 0645 062D 062C #1.1 ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM -FD8A ; mapped ; 0645 062D 0645 #1.1 ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM -FD8B ; mapped ; 0645 062D 064A #1.1 ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM -FD8C ; mapped ; 0645 062C 062D #1.1 ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM -FD8D ; mapped ; 0645 062C 0645 #1.1 ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM -FD8E ; mapped ; 0645 062E 062C #1.1 ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM -FD8F ; mapped ; 0645 062E 0645 #1.1 ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM -FD90..FD91 ; disallowed # NA <reserved-FD90>..<reserved-FD91> -FD92 ; mapped ; 0645 062C 062E #1.1 ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM -FD93 ; mapped ; 0647 0645 062C #1.1 ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM -FD94 ; mapped ; 0647 0645 0645 #1.1 ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM -FD95 ; mapped ; 0646 062D 0645 #1.1 ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM -FD96 ; mapped ; 0646 062D 0649 #1.1 ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM -FD97..FD98 ; mapped ; 0646 062C 0645 #1.1 ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM -FD99 ; mapped ; 0646 062C 0649 #1.1 ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM -FD9A ; mapped ; 0646 0645 064A #1.1 ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM -FD9B ; mapped ; 0646 0645 0649 #1.1 ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD9C..FD9D ; mapped ; 064A 0645 0645 #1.1 ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM -FD9E ; mapped ; 0628 062E 064A #1.1 ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM -FD9F ; mapped ; 062A 062C 064A #1.1 ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM -FDA0 ; mapped ; 062A 062C 0649 #1.1 ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM -FDA1 ; mapped ; 062A 062E 064A #1.1 ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM -FDA2 ; mapped ; 062A 062E 0649 #1.1 ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM -FDA3 ; mapped ; 062A 0645 064A #1.1 ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM -FDA4 ; mapped ; 062A 0645 0649 #1.1 ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM -FDA5 ; mapped ; 062C 0645 064A #1.1 ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM -FDA6 ; mapped ; 062C 062D 0649 #1.1 ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM -FDA7 ; mapped ; 062C 0645 0649 #1.1 ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM -FDA8 ; mapped ; 0633 062E 0649 #1.1 ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM -FDA9 ; mapped ; 0635 062D 064A #1.1 ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM -FDAA ; mapped ; 0634 062D 064A #1.1 ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM -FDAB ; mapped ; 0636 062D 064A #1.1 ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM -FDAC ; mapped ; 0644 062C 064A #1.1 ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM -FDAD ; mapped ; 0644 0645 064A #1.1 ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM -FDAE ; mapped ; 064A 062D 064A #1.1 ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM -FDAF ; mapped ; 064A 062C 064A #1.1 ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM -FDB0 ; mapped ; 064A 0645 064A #1.1 ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM -FDB1 ; mapped ; 0645 0645 064A #1.1 ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM -FDB2 ; mapped ; 0642 0645 064A #1.1 ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM -FDB3 ; mapped ; 0646 062D 064A #1.1 ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM -FDB4 ; mapped ; 0642 0645 062D #1.1 ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM -FDB5 ; mapped ; 0644 062D 0645 #1.1 ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM -FDB6 ; mapped ; 0639 0645 064A #1.1 ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM -FDB7 ; mapped ; 0643 0645 064A #1.1 ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM -FDB8 ; mapped ; 0646 062C 062D #1.1 ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM -FDB9 ; mapped ; 0645 062E 064A #1.1 ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM -FDBA ; mapped ; 0644 062C 0645 #1.1 ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM -FDBB ; mapped ; 0643 0645 0645 #1.1 ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM -FDBC ; mapped ; 0644 062C 0645 #1.1 ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM -FDBD ; mapped ; 0646 062C 062D #1.1 ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM -FDBE ; mapped ; 062C 062D 064A #1.1 ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM -FDBF ; mapped ; 062D 062C 064A #1.1 ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM -FDC0 ; mapped ; 0645 062C 064A #1.1 ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM -FDC1 ; mapped ; 0641 0645 064A #1.1 ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM -FDC2 ; mapped ; 0628 062D 064A #1.1 ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM -FDC3 ; mapped ; 0643 0645 0645 #1.1 ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM -FDC4 ; mapped ; 0639 062C 0645 #1.1 ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM -FDC5 ; mapped ; 0635 0645 0645 #1.1 ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM -FDC6 ; mapped ; 0633 062E 064A #1.1 ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM -FDC7 ; mapped ; 0646 062C 064A #1.1 ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM -FDC8..FDCF ; disallowed # NA <reserved-FDC8>..<reserved-FDCF> -FDD0..FDEF ; disallowed # 3.1 <noncharacter-FDD0>..<noncharacter-FDEF> -FDF0 ; mapped ; 0635 0644 06D2 #1.1 ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM -FDF1 ; mapped ; 0642 0644 06D2 #1.1 ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM -FDF2 ; mapped ; 0627 0644 0644 0647 #1.1 ARABIC LIGATURE ALLAH ISOLATED FORM -FDF3 ; mapped ; 0627 0643 0628 0631 #1.1 ARABIC LIGATURE AKBAR ISOLATED FORM -FDF4 ; mapped ; 0645 062D 0645 062F #1.1 ARABIC LIGATURE MOHAMMAD ISOLATED FORM -FDF5 ; mapped ; 0635 0644 0639 0645 #1.1 ARABIC LIGATURE SALAM ISOLATED FORM -FDF6 ; mapped ; 0631 0633 0648 0644 #1.1 ARABIC LIGATURE RASOUL ISOLATED FORM -FDF7 ; mapped ; 0639 0644 064A 0647 #1.1 ARABIC LIGATURE ALAYHE ISOLATED FORM -FDF8 ; mapped ; 0648 0633 0644 0645 #1.1 ARABIC LIGATURE WASALLAM ISOLATED FORM -FDF9 ; mapped ; 0635 0644 0649 #1.1 ARABIC LIGATURE SALLA ISOLATED FORM -FDFA ; disallowed_STD3_mapped ; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645 #1.1 ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM -FDFB ; disallowed_STD3_mapped ; 062C 0644 0020 062C 0644 0627 0644 0647 #1.1 ARABIC LIGATURE JALLAJALALOUHOU -FDFC ; mapped ; 0631 06CC 0627 0644 #3.2 RIAL SIGN -FDFD ; valid ; ; NV8 # 4.0 ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM -FDFE..FDFF ; disallowed # NA <reserved-FDFE>..<reserved-FDFF> -FE00..FE0F ; ignored # 3.2 VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE10 ; disallowed_STD3_mapped ; 002C # 4.1 PRESENTATION FORM FOR VERTICAL COMMA -FE11 ; mapped ; 3001 # 4.1 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA -FE12 ; disallowed # 4.1 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP -FE13 ; disallowed_STD3_mapped ; 003A # 4.1 PRESENTATION FORM FOR VERTICAL COLON -FE14 ; disallowed_STD3_mapped ; 003B # 4.1 PRESENTATION FORM FOR VERTICAL SEMICOLON -FE15 ; disallowed_STD3_mapped ; 0021 # 4.1 PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK -FE16 ; disallowed_STD3_mapped ; 003F # 4.1 PRESENTATION FORM FOR VERTICAL QUESTION MARK -FE17 ; mapped ; 3016 # 4.1 PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET -FE18 ; mapped ; 3017 # 4.1 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET -FE19 ; disallowed # 4.1 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS -FE1A..FE1F ; disallowed # NA <reserved-FE1A>..<reserved-FE1F> -FE20..FE23 ; valid # 1.1 COMBINING LIGATURE LEFT HALF..COMBINING DOUBLE TILDE RIGHT HALF -FE24..FE26 ; valid # 5.1 COMBINING MACRON LEFT HALF..COMBINING CONJOINING MACRON -FE27..FE2D ; valid # 7.0 COMBINING LIGATURE LEFT HALF BELOW..COMBINING CONJOINING MACRON BELOW -FE2E..FE2F ; valid # 8.0 COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF -FE30 ; disallowed # 1.1 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER -FE31 ; mapped ; 2014 # 1.1 PRESENTATION FORM FOR VERTICAL EM DASH -FE32 ; mapped ; 2013 # 1.1 PRESENTATION FORM FOR VERTICAL EN DASH -FE33..FE34 ; disallowed_STD3_mapped ; 005F # 1.1 PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE -FE35 ; disallowed_STD3_mapped ; 0028 # 1.1 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS -FE36 ; disallowed_STD3_mapped ; 0029 # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS -FE37 ; disallowed_STD3_mapped ; 007B # 1.1 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET -FE38 ; disallowed_STD3_mapped ; 007D # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET -FE39 ; mapped ; 3014 # 1.1 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET -FE3A ; mapped ; 3015 # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET -FE3B ; mapped ; 3010 # 1.1 PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET -FE3C ; mapped ; 3011 # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET -FE3D ; mapped ; 300A # 1.1 PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET -FE3E ; mapped ; 300B # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET -FE3F ; mapped ; 3008 # 1.1 PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET -FE40 ; mapped ; 3009 # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET -FE41 ; mapped ; 300C # 1.1 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET -FE42 ; mapped ; 300D # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET -FE43 ; mapped ; 300E # 1.1 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET -FE44 ; mapped ; 300F # 1.1 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET -FE45..FE46 ; valid ; ; NV8 # 3.2 SESAME DOT..WHITE SESAME DOT -FE47 ; disallowed_STD3_mapped ; 005B # 4.0 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET -FE48 ; disallowed_STD3_mapped ; 005D # 4.0 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET -FE49..FE4C ; disallowed_STD3_mapped ; 0020 0305 # 1.1 DASHED OVERLINE..DOUBLE WAVY OVERLINE -FE4D..FE4F ; disallowed_STD3_mapped ; 005F # 1.1 DASHED LOW LINE..WAVY LOW LINE -FE50 ; disallowed_STD3_mapped ; 002C # 1.1 SMALL COMMA -FE51 ; mapped ; 3001 # 1.1 SMALL IDEOGRAPHIC COMMA -FE52 ; disallowed # 1.1 SMALL FULL STOP -FE53 ; disallowed # NA <reserved-FE53> -FE54 ; disallowed_STD3_mapped ; 003B # 1.1 SMALL SEMICOLON -FE55 ; disallowed_STD3_mapped ; 003A # 1.1 SMALL COLON -FE56 ; disallowed_STD3_mapped ; 003F # 1.1 SMALL QUESTION MARK -FE57 ; disallowed_STD3_mapped ; 0021 # 1.1 SMALL EXCLAMATION MARK -FE58 ; mapped ; 2014 # 1.1 SMALL EM DASH -FE59 ; disallowed_STD3_mapped ; 0028 # 1.1 SMALL LEFT PARENTHESIS -FE5A ; disallowed_STD3_mapped ; 0029 # 1.1 SMALL RIGHT PARENTHESIS -FE5B ; disallowed_STD3_mapped ; 007B # 1.1 SMALL LEFT CURLY BRACKET -FE5C ; disallowed_STD3_mapped ; 007D # 1.1 SMALL RIGHT CURLY BRACKET -FE5D ; mapped ; 3014 # 1.1 SMALL LEFT TORTOISE SHELL BRACKET -FE5E ; mapped ; 3015 # 1.1 SMALL RIGHT TORTOISE SHELL BRACKET -FE5F ; disallowed_STD3_mapped ; 0023 # 1.1 SMALL NUMBER SIGN -FE60 ; disallowed_STD3_mapped ; 0026 # 1.1 SMALL AMPERSAND -FE61 ; disallowed_STD3_mapped ; 002A # 1.1 SMALL ASTERISK -FE62 ; disallowed_STD3_mapped ; 002B # 1.1 SMALL PLUS SIGN -FE63 ; mapped ; 002D # 1.1 SMALL HYPHEN-MINUS -FE64 ; disallowed_STD3_mapped ; 003C # 1.1 SMALL LESS-THAN SIGN -FE65 ; disallowed_STD3_mapped ; 003E # 1.1 SMALL GREATER-THAN SIGN -FE66 ; disallowed_STD3_mapped ; 003D # 1.1 SMALL EQUALS SIGN -FE67 ; disallowed # NA <reserved-FE67> -FE68 ; disallowed_STD3_mapped ; 005C # 1.1 SMALL REVERSE SOLIDUS -FE69 ; disallowed_STD3_mapped ; 0024 # 1.1 SMALL DOLLAR SIGN -FE6A ; disallowed_STD3_mapped ; 0025 # 1.1 SMALL PERCENT SIGN -FE6B ; disallowed_STD3_mapped ; 0040 # 1.1 SMALL COMMERCIAL AT -FE6C..FE6F ; disallowed # NA <reserved-FE6C>..<reserved-FE6F> -FE70 ; disallowed_STD3_mapped ; 0020 064B # 1.1 ARABIC FATHATAN ISOLATED FORM -FE71 ; mapped ; 0640 064B # 1.1 ARABIC TATWEEL WITH FATHATAN ABOVE -FE72 ; disallowed_STD3_mapped ; 0020 064C # 1.1 ARABIC DAMMATAN ISOLATED FORM -FE73 ; valid # 3.2 ARABIC TAIL FRAGMENT -FE74 ; disallowed_STD3_mapped ; 0020 064D # 1.1 ARABIC KASRATAN ISOLATED FORM -FE75 ; disallowed # NA <reserved-FE75> -FE76 ; disallowed_STD3_mapped ; 0020 064E # 1.1 ARABIC FATHA ISOLATED FORM -FE77 ; mapped ; 0640 064E # 1.1 ARABIC FATHA MEDIAL FORM -FE78 ; disallowed_STD3_mapped ; 0020 064F # 1.1 ARABIC DAMMA ISOLATED FORM -FE79 ; mapped ; 0640 064F # 1.1 ARABIC DAMMA MEDIAL FORM -FE7A ; disallowed_STD3_mapped ; 0020 0650 # 1.1 ARABIC KASRA ISOLATED FORM -FE7B ; mapped ; 0640 0650 # 1.1 ARABIC KASRA MEDIAL FORM -FE7C ; disallowed_STD3_mapped ; 0020 0651 # 1.1 ARABIC SHADDA ISOLATED FORM -FE7D ; mapped ; 0640 0651 # 1.1 ARABIC SHADDA MEDIAL FORM -FE7E ; disallowed_STD3_mapped ; 0020 0652 # 1.1 ARABIC SUKUN ISOLATED FORM -FE7F ; mapped ; 0640 0652 # 1.1 ARABIC SUKUN MEDIAL FORM -FE80 ; mapped ; 0621 # 1.1 ARABIC LETTER HAMZA ISOLATED FORM -FE81..FE82 ; mapped ; 0622 # 1.1 ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM -FE83..FE84 ; mapped ; 0623 # 1.1 ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM -FE85..FE86 ; mapped ; 0624 # 1.1 ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM -FE87..FE88 ; mapped ; 0625 # 1.1 ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM..ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM -FE89..FE8C ; mapped ; 0626 # 1.1 ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM -FE8D..FE8E ; mapped ; 0627 # 1.1 ARABIC LETTER ALEF ISOLATED FORM..ARABIC LETTER ALEF FINAL FORM -FE8F..FE92 ; mapped ; 0628 # 1.1 ARABIC LETTER BEH ISOLATED FORM..ARABIC LETTER BEH MEDIAL FORM -FE93..FE94 ; mapped ; 0629 # 1.1 ARABIC LETTER TEH MARBUTA ISOLATED FORM..ARABIC LETTER TEH MARBUTA FINAL FORM -FE95..FE98 ; mapped ; 062A # 1.1 ARABIC LETTER TEH ISOLATED FORM..ARABIC LETTER TEH MEDIAL FORM -FE99..FE9C ; mapped ; 062B # 1.1 ARABIC LETTER THEH ISOLATED FORM..ARABIC LETTER THEH MEDIAL FORM -FE9D..FEA0 ; mapped ; 062C # 1.1 ARABIC LETTER JEEM ISOLATED FORM..ARABIC LETTER JEEM MEDIAL FORM -FEA1..FEA4 ; mapped ; 062D # 1.1 ARABIC LETTER HAH ISOLATED FORM..ARABIC LETTER HAH MEDIAL FORM -FEA5..FEA8 ; mapped ; 062E # 1.1 ARABIC LETTER KHAH ISOLATED FORM..ARABIC LETTER KHAH MEDIAL FORM -FEA9..FEAA ; mapped ; 062F # 1.1 ARABIC LETTER DAL ISOLATED FORM..ARABIC LETTER DAL FINAL FORM -FEAB..FEAC ; mapped ; 0630 # 1.1 ARABIC LETTER THAL ISOLATED FORM..ARABIC LETTER THAL FINAL FORM -FEAD..FEAE ; mapped ; 0631 # 1.1 ARABIC LETTER REH ISOLATED FORM..ARABIC LETTER REH FINAL FORM -FEAF..FEB0 ; mapped ; 0632 # 1.1 ARABIC LETTER ZAIN ISOLATED FORM..ARABIC LETTER ZAIN FINAL FORM -FEB1..FEB4 ; mapped ; 0633 # 1.1 ARABIC LETTER SEEN ISOLATED FORM..ARABIC LETTER SEEN MEDIAL FORM -FEB5..FEB8 ; mapped ; 0634 # 1.1 ARABIC LETTER SHEEN ISOLATED FORM..ARABIC LETTER SHEEN MEDIAL FORM -FEB9..FEBC ; mapped ; 0635 # 1.1 ARABIC LETTER SAD ISOLATED FORM..ARABIC LETTER SAD MEDIAL FORM -FEBD..FEC0 ; mapped ; 0636 # 1.1 ARABIC LETTER DAD ISOLATED FORM..ARABIC LETTER DAD MEDIAL FORM -FEC1..FEC4 ; mapped ; 0637 # 1.1 ARABIC LETTER TAH ISOLATED FORM..ARABIC LETTER TAH MEDIAL FORM -FEC5..FEC8 ; mapped ; 0638 # 1.1 ARABIC LETTER ZAH ISOLATED FORM..ARABIC LETTER ZAH MEDIAL FORM -FEC9..FECC ; mapped ; 0639 # 1.1 ARABIC LETTER AIN ISOLATED FORM..ARABIC LETTER AIN MEDIAL FORM -FECD..FED0 ; mapped ; 063A # 1.1 ARABIC LETTER GHAIN ISOLATED FORM..ARABIC LETTER GHAIN MEDIAL FORM -FED1..FED4 ; mapped ; 0641 # 1.1 ARABIC LETTER FEH ISOLATED FORM..ARABIC LETTER FEH MEDIAL FORM -FED5..FED8 ; mapped ; 0642 # 1.1 ARABIC LETTER QAF ISOLATED FORM..ARABIC LETTER QAF MEDIAL FORM -FED9..FEDC ; mapped ; 0643 # 1.1 ARABIC LETTER KAF ISOLATED FORM..ARABIC LETTER KAF MEDIAL FORM -FEDD..FEE0 ; mapped ; 0644 # 1.1 ARABIC LETTER LAM ISOLATED FORM..ARABIC LETTER LAM MEDIAL FORM -FEE1..FEE4 ; mapped ; 0645 # 1.1 ARABIC LETTER MEEM ISOLATED FORM..ARABIC LETTER MEEM MEDIAL FORM -FEE5..FEE8 ; mapped ; 0646 # 1.1 ARABIC LETTER NOON ISOLATED FORM..ARABIC LETTER NOON MEDIAL FORM -FEE9..FEEC ; mapped ; 0647 # 1.1 ARABIC LETTER HEH ISOLATED FORM..ARABIC LETTER HEH MEDIAL FORM -FEED..FEEE ; mapped ; 0648 # 1.1 ARABIC LETTER WAW ISOLATED FORM..ARABIC LETTER WAW FINAL FORM -FEEF..FEF0 ; mapped ; 0649 # 1.1 ARABIC LETTER ALEF MAKSURA ISOLATED FORM..ARABIC LETTER ALEF MAKSURA FINAL FORM -FEF1..FEF4 ; mapped ; 064A # 1.1 ARABIC LETTER YEH ISOLATED FORM..ARABIC LETTER YEH MEDIAL FORM -FEF5..FEF6 ; mapped ; 0644 0622 # 1.1 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM -FEF7..FEF8 ; mapped ; 0644 0623 # 1.1 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM -FEF9..FEFA ; mapped ; 0644 0625 # 1.1 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM -FEFB..FEFC ; mapped ; 0644 0627 # 1.1 ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM -FEFD..FEFE ; disallowed # NA <reserved-FEFD>..<reserved-FEFE> -FEFF ; ignored # 1.1 ZERO WIDTH NO-BREAK SPACE -FF00 ; disallowed # NA <reserved-FF00> -FF01 ; disallowed_STD3_mapped ; 0021 # 1.1 FULLWIDTH EXCLAMATION MARK -FF02 ; disallowed_STD3_mapped ; 0022 # 1.1 FULLWIDTH QUOTATION MARK -FF03 ; disallowed_STD3_mapped ; 0023 # 1.1 FULLWIDTH NUMBER SIGN -FF04 ; disallowed_STD3_mapped ; 0024 # 1.1 FULLWIDTH DOLLAR SIGN -FF05 ; disallowed_STD3_mapped ; 0025 # 1.1 FULLWIDTH PERCENT SIGN -FF06 ; disallowed_STD3_mapped ; 0026 # 1.1 FULLWIDTH AMPERSAND -FF07 ; disallowed_STD3_mapped ; 0027 # 1.1 FULLWIDTH APOSTROPHE -FF08 ; disallowed_STD3_mapped ; 0028 # 1.1 FULLWIDTH LEFT PARENTHESIS -FF09 ; disallowed_STD3_mapped ; 0029 # 1.1 FULLWIDTH RIGHT PARENTHESIS -FF0A ; disallowed_STD3_mapped ; 002A # 1.1 FULLWIDTH ASTERISK -FF0B ; disallowed_STD3_mapped ; 002B # 1.1 FULLWIDTH PLUS SIGN -FF0C ; disallowed_STD3_mapped ; 002C # 1.1 FULLWIDTH COMMA -FF0D ; mapped ; 002D # 1.1 FULLWIDTH HYPHEN-MINUS -FF0E ; mapped ; 002E # 1.1 FULLWIDTH FULL STOP -FF0F ; disallowed_STD3_mapped ; 002F # 1.1 FULLWIDTH SOLIDUS -FF10 ; mapped ; 0030 # 1.1 FULLWIDTH DIGIT ZERO -FF11 ; mapped ; 0031 # 1.1 FULLWIDTH DIGIT ONE -FF12 ; mapped ; 0032 # 1.1 FULLWIDTH DIGIT TWO -FF13 ; mapped ; 0033 # 1.1 FULLWIDTH DIGIT THREE -FF14 ; mapped ; 0034 # 1.1 FULLWIDTH DIGIT FOUR -FF15 ; mapped ; 0035 # 1.1 FULLWIDTH DIGIT FIVE -FF16 ; mapped ; 0036 # 1.1 FULLWIDTH DIGIT SIX -FF17 ; mapped ; 0037 # 1.1 FULLWIDTH DIGIT SEVEN -FF18 ; mapped ; 0038 # 1.1 FULLWIDTH DIGIT EIGHT -FF19 ; mapped ; 0039 # 1.1 FULLWIDTH DIGIT NINE -FF1A ; disallowed_STD3_mapped ; 003A # 1.1 FULLWIDTH COLON -FF1B ; disallowed_STD3_mapped ; 003B # 1.1 FULLWIDTH SEMICOLON -FF1C ; disallowed_STD3_mapped ; 003C # 1.1 FULLWIDTH LESS-THAN SIGN -FF1D ; disallowed_STD3_mapped ; 003D # 1.1 FULLWIDTH EQUALS SIGN -FF1E ; disallowed_STD3_mapped ; 003E # 1.1 FULLWIDTH GREATER-THAN SIGN -FF1F ; disallowed_STD3_mapped ; 003F # 1.1 FULLWIDTH QUESTION MARK -FF20 ; disallowed_STD3_mapped ; 0040 # 1.1 FULLWIDTH COMMERCIAL AT -FF21 ; mapped ; 0061 # 1.1 FULLWIDTH LATIN CAPITAL LETTER A -FF22 ; mapped ; 0062 # 1.1 FULLWIDTH LATIN CAPITAL LETTER B -FF23 ; mapped ; 0063 # 1.1 FULLWIDTH LATIN CAPITAL LETTER C -FF24 ; mapped ; 0064 # 1.1 FULLWIDTH LATIN CAPITAL LETTER D -FF25 ; mapped ; 0065 # 1.1 FULLWIDTH LATIN CAPITAL LETTER E -FF26 ; mapped ; 0066 # 1.1 FULLWIDTH LATIN CAPITAL LETTER F -FF27 ; mapped ; 0067 # 1.1 FULLWIDTH LATIN CAPITAL LETTER G -FF28 ; mapped ; 0068 # 1.1 FULLWIDTH LATIN CAPITAL LETTER H -FF29 ; mapped ; 0069 # 1.1 FULLWIDTH LATIN CAPITAL LETTER I -FF2A ; mapped ; 006A # 1.1 FULLWIDTH LATIN CAPITAL LETTER J -FF2B ; mapped ; 006B # 1.1 FULLWIDTH LATIN CAPITAL LETTER K -FF2C ; mapped ; 006C # 1.1 FULLWIDTH LATIN CAPITAL LETTER L -FF2D ; mapped ; 006D # 1.1 FULLWIDTH LATIN CAPITAL LETTER M -FF2E ; mapped ; 006E # 1.1 FULLWIDTH LATIN CAPITAL LETTER N -FF2F ; mapped ; 006F # 1.1 FULLWIDTH LATIN CAPITAL LETTER O -FF30 ; mapped ; 0070 # 1.1 FULLWIDTH LATIN CAPITAL LETTER P -FF31 ; mapped ; 0071 # 1.1 FULLWIDTH LATIN CAPITAL LETTER Q -FF32 ; mapped ; 0072 # 1.1 FULLWIDTH LATIN CAPITAL LETTER R -FF33 ; mapped ; 0073 # 1.1 FULLWIDTH LATIN CAPITAL LETTER S -FF34 ; mapped ; 0074 # 1.1 FULLWIDTH LATIN CAPITAL LETTER T -FF35 ; mapped ; 0075 # 1.1 FULLWIDTH LATIN CAPITAL LETTER U -FF36 ; mapped ; 0076 # 1.1 FULLWIDTH LATIN CAPITAL LETTER V -FF37 ; mapped ; 0077 # 1.1 FULLWIDTH LATIN CAPITAL LETTER W -FF38 ; mapped ; 0078 # 1.1 FULLWIDTH LATIN CAPITAL LETTER X -FF39 ; mapped ; 0079 # 1.1 FULLWIDTH LATIN CAPITAL LETTER Y -FF3A ; mapped ; 007A # 1.1 FULLWIDTH LATIN CAPITAL LETTER Z -FF3B ; disallowed_STD3_mapped ; 005B # 1.1 FULLWIDTH LEFT SQUARE BRACKET -FF3C ; disallowed_STD3_mapped ; 005C # 1.1 FULLWIDTH REVERSE SOLIDUS -FF3D ; disallowed_STD3_mapped ; 005D # 1.1 FULLWIDTH RIGHT SQUARE BRACKET -FF3E ; disallowed_STD3_mapped ; 005E # 1.1 FULLWIDTH CIRCUMFLEX ACCENT -FF3F ; disallowed_STD3_mapped ; 005F # 1.1 FULLWIDTH LOW LINE -FF40 ; disallowed_STD3_mapped ; 0060 # 1.1 FULLWIDTH GRAVE ACCENT -FF41 ; mapped ; 0061 # 1.1 FULLWIDTH LATIN SMALL LETTER A -FF42 ; mapped ; 0062 # 1.1 FULLWIDTH LATIN SMALL LETTER B -FF43 ; mapped ; 0063 # 1.1 FULLWIDTH LATIN SMALL LETTER C -FF44 ; mapped ; 0064 # 1.1 FULLWIDTH LATIN SMALL LETTER D -FF45 ; mapped ; 0065 # 1.1 FULLWIDTH LATIN SMALL LETTER E -FF46 ; mapped ; 0066 # 1.1 FULLWIDTH LATIN SMALL LETTER F -FF47 ; mapped ; 0067 # 1.1 FULLWIDTH LATIN SMALL LETTER G -FF48 ; mapped ; 0068 # 1.1 FULLWIDTH LATIN SMALL LETTER H -FF49 ; mapped ; 0069 # 1.1 FULLWIDTH LATIN SMALL LETTER I -FF4A ; mapped ; 006A # 1.1 FULLWIDTH LATIN SMALL LETTER J -FF4B ; mapped ; 006B # 1.1 FULLWIDTH LATIN SMALL LETTER K -FF4C ; mapped ; 006C # 1.1 FULLWIDTH LATIN SMALL LETTER L -FF4D ; mapped ; 006D # 1.1 FULLWIDTH LATIN SMALL LETTER M -FF4E ; mapped ; 006E # 1.1 FULLWIDTH LATIN SMALL LETTER N -FF4F ; mapped ; 006F # 1.1 FULLWIDTH LATIN SMALL LETTER O -FF50 ; mapped ; 0070 # 1.1 FULLWIDTH LATIN SMALL LETTER P -FF51 ; mapped ; 0071 # 1.1 FULLWIDTH LATIN SMALL LETTER Q -FF52 ; mapped ; 0072 # 1.1 FULLWIDTH LATIN SMALL LETTER R -FF53 ; mapped ; 0073 # 1.1 FULLWIDTH LATIN SMALL LETTER S -FF54 ; mapped ; 0074 # 1.1 FULLWIDTH LATIN SMALL LETTER T -FF55 ; mapped ; 0075 # 1.1 FULLWIDTH LATIN SMALL LETTER U -FF56 ; mapped ; 0076 # 1.1 FULLWIDTH LATIN SMALL LETTER V -FF57 ; mapped ; 0077 # 1.1 FULLWIDTH LATIN SMALL LETTER W -FF58 ; mapped ; 0078 # 1.1 FULLWIDTH LATIN SMALL LETTER X -FF59 ; mapped ; 0079 # 1.1 FULLWIDTH LATIN SMALL LETTER Y -FF5A ; mapped ; 007A # 1.1 FULLWIDTH LATIN SMALL LETTER Z -FF5B ; disallowed_STD3_mapped ; 007B # 1.1 FULLWIDTH LEFT CURLY BRACKET -FF5C ; disallowed_STD3_mapped ; 007C # 1.1 FULLWIDTH VERTICAL LINE -FF5D ; disallowed_STD3_mapped ; 007D # 1.1 FULLWIDTH RIGHT CURLY BRACKET -FF5E ; disallowed_STD3_mapped ; 007E # 1.1 FULLWIDTH TILDE -FF5F ; mapped ; 2985 # 3.2 FULLWIDTH LEFT WHITE PARENTHESIS -FF60 ; mapped ; 2986 # 3.2 FULLWIDTH RIGHT WHITE PARENTHESIS -FF61 ; mapped ; 002E # 1.1 HALFWIDTH IDEOGRAPHIC FULL STOP -FF62 ; mapped ; 300C # 1.1 HALFWIDTH LEFT CORNER BRACKET -FF63 ; mapped ; 300D # 1.1 HALFWIDTH RIGHT CORNER BRACKET -FF64 ; mapped ; 3001 # 1.1 HALFWIDTH IDEOGRAPHIC COMMA -FF65 ; mapped ; 30FB # 1.1 HALFWIDTH KATAKANA MIDDLE DOT -FF66 ; mapped ; 30F2 # 1.1 HALFWIDTH KATAKANA LETTER WO -FF67 ; mapped ; 30A1 # 1.1 HALFWIDTH KATAKANA LETTER SMALL A -FF68 ; mapped ; 30A3 # 1.1 HALFWIDTH KATAKANA LETTER SMALL I -FF69 ; mapped ; 30A5 # 1.1 HALFWIDTH KATAKANA LETTER SMALL U -FF6A ; mapped ; 30A7 # 1.1 HALFWIDTH KATAKANA LETTER SMALL E -FF6B ; mapped ; 30A9 # 1.1 HALFWIDTH KATAKANA LETTER SMALL O -FF6C ; mapped ; 30E3 # 1.1 HALFWIDTH KATAKANA LETTER SMALL YA -FF6D ; mapped ; 30E5 # 1.1 HALFWIDTH KATAKANA LETTER SMALL YU -FF6E ; mapped ; 30E7 # 1.1 HALFWIDTH KATAKANA LETTER SMALL YO -FF6F ; mapped ; 30C3 # 1.1 HALFWIDTH KATAKANA LETTER SMALL TU -FF70 ; mapped ; 30FC # 1.1 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK -FF71 ; mapped ; 30A2 # 1.1 HALFWIDTH KATAKANA LETTER A -FF72 ; mapped ; 30A4 # 1.1 HALFWIDTH KATAKANA LETTER I -FF73 ; mapped ; 30A6 # 1.1 HALFWIDTH KATAKANA LETTER U -FF74 ; mapped ; 30A8 # 1.1 HALFWIDTH KATAKANA LETTER E -FF75 ; mapped ; 30AA # 1.1 HALFWIDTH KATAKANA LETTER O -FF76 ; mapped ; 30AB # 1.1 HALFWIDTH KATAKANA LETTER KA -FF77 ; mapped ; 30AD # 1.1 HALFWIDTH KATAKANA LETTER KI -FF78 ; mapped ; 30AF # 1.1 HALFWIDTH KATAKANA LETTER KU -FF79 ; mapped ; 30B1 # 1.1 HALFWIDTH KATAKANA LETTER KE -FF7A ; mapped ; 30B3 # 1.1 HALFWIDTH KATAKANA LETTER KO -FF7B ; mapped ; 30B5 # 1.1 HALFWIDTH KATAKANA LETTER SA -FF7C ; mapped ; 30B7 # 1.1 HALFWIDTH KATAKANA LETTER SI -FF7D ; mapped ; 30B9 # 1.1 HALFWIDTH KATAKANA LETTER SU -FF7E ; mapped ; 30BB # 1.1 HALFWIDTH KATAKANA LETTER SE -FF7F ; mapped ; 30BD # 1.1 HALFWIDTH KATAKANA LETTER SO -FF80 ; mapped ; 30BF # 1.1 HALFWIDTH KATAKANA LETTER TA -FF81 ; mapped ; 30C1 # 1.1 HALFWIDTH KATAKANA LETTER TI -FF82 ; mapped ; 30C4 # 1.1 HALFWIDTH KATAKANA LETTER TU -FF83 ; mapped ; 30C6 # 1.1 HALFWIDTH KATAKANA LETTER TE -FF84 ; mapped ; 30C8 # 1.1 HALFWIDTH KATAKANA LETTER TO -FF85 ; mapped ; 30CA # 1.1 HALFWIDTH KATAKANA LETTER NA -FF86 ; mapped ; 30CB # 1.1 HALFWIDTH KATAKANA LETTER NI -FF87 ; mapped ; 30CC # 1.1 HALFWIDTH KATAKANA LETTER NU -FF88 ; mapped ; 30CD # 1.1 HALFWIDTH KATAKANA LETTER NE -FF89 ; mapped ; 30CE # 1.1 HALFWIDTH KATAKANA LETTER NO -FF8A ; mapped ; 30CF # 1.1 HALFWIDTH KATAKANA LETTER HA -FF8B ; mapped ; 30D2 # 1.1 HALFWIDTH KATAKANA LETTER HI -FF8C ; mapped ; 30D5 # 1.1 HALFWIDTH KATAKANA LETTER HU -FF8D ; mapped ; 30D8 # 1.1 HALFWIDTH KATAKANA LETTER HE -FF8E ; mapped ; 30DB # 1.1 HALFWIDTH KATAKANA LETTER HO -FF8F ; mapped ; 30DE # 1.1 HALFWIDTH KATAKANA LETTER MA -FF90 ; mapped ; 30DF # 1.1 HALFWIDTH KATAKANA LETTER MI -FF91 ; mapped ; 30E0 # 1.1 HALFWIDTH KATAKANA LETTER MU -FF92 ; mapped ; 30E1 # 1.1 HALFWIDTH KATAKANA LETTER ME -FF93 ; mapped ; 30E2 # 1.1 HALFWIDTH KATAKANA LETTER MO -FF94 ; mapped ; 30E4 # 1.1 HALFWIDTH KATAKANA LETTER YA -FF95 ; mapped ; 30E6 # 1.1 HALFWIDTH KATAKANA LETTER YU -FF96 ; mapped ; 30E8 # 1.1 HALFWIDTH KATAKANA LETTER YO -FF97 ; mapped ; 30E9 # 1.1 HALFWIDTH KATAKANA LETTER RA -FF98 ; mapped ; 30EA # 1.1 HALFWIDTH KATAKANA LETTER RI -FF99 ; mapped ; 30EB # 1.1 HALFWIDTH KATAKANA LETTER RU -FF9A ; mapped ; 30EC # 1.1 HALFWIDTH KATAKANA LETTER RE -FF9B ; mapped ; 30ED # 1.1 HALFWIDTH KATAKANA LETTER RO -FF9C ; mapped ; 30EF # 1.1 HALFWIDTH KATAKANA LETTER WA -FF9D ; mapped ; 30F3 # 1.1 HALFWIDTH KATAKANA LETTER N -FF9E ; mapped ; 3099 # 1.1 HALFWIDTH KATAKANA VOICED SOUND MARK -FF9F ; mapped ; 309A # 1.1 HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK -FFA0 ; disallowed # 1.1 HALFWIDTH HANGUL FILLER -FFA1 ; mapped ; 1100 # 1.1 HALFWIDTH HANGUL LETTER KIYEOK -FFA2 ; mapped ; 1101 # 1.1 HALFWIDTH HANGUL LETTER SSANGKIYEOK -FFA3 ; mapped ; 11AA # 1.1 HALFWIDTH HANGUL LETTER KIYEOK-SIOS -FFA4 ; mapped ; 1102 # 1.1 HALFWIDTH HANGUL LETTER NIEUN -FFA5 ; mapped ; 11AC # 1.1 HALFWIDTH HANGUL LETTER NIEUN-CIEUC -FFA6 ; mapped ; 11AD # 1.1 HALFWIDTH HANGUL LETTER NIEUN-HIEUH -FFA7 ; mapped ; 1103 # 1.1 HALFWIDTH HANGUL LETTER TIKEUT -FFA8 ; mapped ; 1104 # 1.1 HALFWIDTH HANGUL LETTER SSANGTIKEUT -FFA9 ; mapped ; 1105 # 1.1 HALFWIDTH HANGUL LETTER RIEUL -FFAA ; mapped ; 11B0 # 1.1 HALFWIDTH HANGUL LETTER RIEUL-KIYEOK -FFAB ; mapped ; 11B1 # 1.1 HALFWIDTH HANGUL LETTER RIEUL-MIEUM -FFAC ; mapped ; 11B2 # 1.1 HALFWIDTH HANGUL LETTER RIEUL-PIEUP -FFAD ; mapped ; 11B3 # 1.1 HALFWIDTH HANGUL LETTER RIEUL-SIOS -FFAE ; mapped ; 11B4 # 1.1 HALFWIDTH HANGUL LETTER RIEUL-THIEUTH -FFAF ; mapped ; 11B5 # 1.1 HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH -FFB0 ; mapped ; 111A # 1.1 HALFWIDTH HANGUL LETTER RIEUL-HIEUH -FFB1 ; mapped ; 1106 # 1.1 HALFWIDTH HANGUL LETTER MIEUM -FFB2 ; mapped ; 1107 # 1.1 HALFWIDTH HANGUL LETTER PIEUP -FFB3 ; mapped ; 1108 # 1.1 HALFWIDTH HANGUL LETTER SSANGPIEUP -FFB4 ; mapped ; 1121 # 1.1 HALFWIDTH HANGUL LETTER PIEUP-SIOS -FFB5 ; mapped ; 1109 # 1.1 HALFWIDTH HANGUL LETTER SIOS -FFB6 ; mapped ; 110A # 1.1 HALFWIDTH HANGUL LETTER SSANGSIOS -FFB7 ; mapped ; 110B # 1.1 HALFWIDTH HANGUL LETTER IEUNG -FFB8 ; mapped ; 110C # 1.1 HALFWIDTH HANGUL LETTER CIEUC -FFB9 ; mapped ; 110D # 1.1 HALFWIDTH HANGUL LETTER SSANGCIEUC -FFBA ; mapped ; 110E # 1.1 HALFWIDTH HANGUL LETTER CHIEUCH -FFBB ; mapped ; 110F # 1.1 HALFWIDTH HANGUL LETTER KHIEUKH -FFBC ; mapped ; 1110 # 1.1 HALFWIDTH HANGUL LETTER THIEUTH -FFBD ; mapped ; 1111 # 1.1 HALFWIDTH HANGUL LETTER PHIEUPH -FFBE ; mapped ; 1112 # 1.1 HALFWIDTH HANGUL LETTER HIEUH -FFBF..FFC1 ; disallowed # NA <reserved-FFBF>..<reserved-FFC1> -FFC2 ; mapped ; 1161 # 1.1 HALFWIDTH HANGUL LETTER A -FFC3 ; mapped ; 1162 # 1.1 HALFWIDTH HANGUL LETTER AE -FFC4 ; mapped ; 1163 # 1.1 HALFWIDTH HANGUL LETTER YA -FFC5 ; mapped ; 1164 # 1.1 HALFWIDTH HANGUL LETTER YAE -FFC6 ; mapped ; 1165 # 1.1 HALFWIDTH HANGUL LETTER EO -FFC7 ; mapped ; 1166 # 1.1 HALFWIDTH HANGUL LETTER E -FFC8..FFC9 ; disallowed # NA <reserved-FFC8>..<reserved-FFC9> -FFCA ; mapped ; 1167 # 1.1 HALFWIDTH HANGUL LETTER YEO -FFCB ; mapped ; 1168 # 1.1 HALFWIDTH HANGUL LETTER YE -FFCC ; mapped ; 1169 # 1.1 HALFWIDTH HANGUL LETTER O -FFCD ; mapped ; 116A # 1.1 HALFWIDTH HANGUL LETTER WA -FFCE ; mapped ; 116B # 1.1 HALFWIDTH HANGUL LETTER WAE -FFCF ; mapped ; 116C # 1.1 HALFWIDTH HANGUL LETTER OE -FFD0..FFD1 ; disallowed # NA <reserved-FFD0>..<reserved-FFD1> -FFD2 ; mapped ; 116D # 1.1 HALFWIDTH HANGUL LETTER YO -FFD3 ; mapped ; 116E # 1.1 HALFWIDTH HANGUL LETTER U -FFD4 ; mapped ; 116F # 1.1 HALFWIDTH HANGUL LETTER WEO -FFD5 ; mapped ; 1170 # 1.1 HALFWIDTH HANGUL LETTER WE -FFD6 ; mapped ; 1171 # 1.1 HALFWIDTH HANGUL LETTER WI -FFD7 ; mapped ; 1172 # 1.1 HALFWIDTH HANGUL LETTER YU -FFD8..FFD9 ; disallowed # NA <reserved-FFD8>..<reserved-FFD9> -FFDA ; mapped ; 1173 # 1.1 HALFWIDTH HANGUL LETTER EU -FFDB ; mapped ; 1174 # 1.1 HALFWIDTH HANGUL LETTER YI -FFDC ; mapped ; 1175 # 1.1 HALFWIDTH HANGUL LETTER I -FFDD..FFDF ; disallowed # NA <reserved-FFDD>..<reserved-FFDF> -FFE0 ; mapped ; 00A2 # 1.1 FULLWIDTH CENT SIGN -FFE1 ; mapped ; 00A3 # 1.1 FULLWIDTH POUND SIGN -FFE2 ; mapped ; 00AC # 1.1 FULLWIDTH NOT SIGN -FFE3 ; disallowed_STD3_mapped ; 0020 0304 # 1.1 FULLWIDTH MACRON -FFE4 ; mapped ; 00A6 # 1.1 FULLWIDTH BROKEN BAR -FFE5 ; mapped ; 00A5 # 1.1 FULLWIDTH YEN SIGN -FFE6 ; mapped ; 20A9 # 1.1 FULLWIDTH WON SIGN -FFE7 ; disallowed # NA <reserved-FFE7> -FFE8 ; mapped ; 2502 # 1.1 HALFWIDTH FORMS LIGHT VERTICAL -FFE9 ; mapped ; 2190 # 1.1 HALFWIDTH LEFTWARDS ARROW -FFEA ; mapped ; 2191 # 1.1 HALFWIDTH UPWARDS ARROW -FFEB ; mapped ; 2192 # 1.1 HALFWIDTH RIGHTWARDS ARROW -FFEC ; mapped ; 2193 # 1.1 HALFWIDTH DOWNWARDS ARROW -FFED ; mapped ; 25A0 # 1.1 HALFWIDTH BLACK SQUARE -FFEE ; mapped ; 25CB # 1.1 HALFWIDTH WHITE CIRCLE -FFEF..FFF8 ; disallowed # NA <reserved-FFEF>..<reserved-FFF8> -FFF9..FFFB ; disallowed # 3.0 INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR -FFFC ; disallowed # 2.1 OBJECT REPLACEMENT CHARACTER -FFFD ; disallowed # 1.1 REPLACEMENT CHARACTER -FFFE..FFFF ; disallowed # 1.1 <noncharacter-FFFE>..<noncharacter-FFFF> -10000..1000B ; valid # 4.0 LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE -1000C ; disallowed # NA <reserved-1000C> -1000D..10026 ; valid # 4.0 LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO -10027 ; disallowed # NA <reserved-10027> -10028..1003A ; valid # 4.0 LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO -1003B ; disallowed # NA <reserved-1003B> -1003C..1003D ; valid # 4.0 LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE -1003E ; disallowed # NA <reserved-1003E> -1003F..1004D ; valid # 4.0 LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO -1004E..1004F ; disallowed # NA <reserved-1004E>..<reserved-1004F> -10050..1005D ; valid # 4.0 LINEAR B SYMBOL B018..LINEAR B SYMBOL B089 -1005E..1007F ; disallowed # NA <reserved-1005E>..<reserved-1007F> -10080..100FA ; valid # 4.0 LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305 -100FB..100FF ; disallowed # NA <reserved-100FB>..<reserved-100FF> -10100..10102 ; valid ; ; NV8 # 4.0 AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK -10103..10106 ; disallowed # NA <reserved-10103>..<reserved-10106> -10107..10133 ; valid ; ; NV8 # 4.0 AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND -10134..10136 ; disallowed # NA <reserved-10134>..<reserved-10136> -10137..1013F ; valid ; ; NV8 # 4.0 AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT -10140..1018A ; valid ; ; NV8 # 4.1 GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ZERO SIGN -1018B..1018C ; valid ; ; NV8 # 7.0 GREEK ONE QUARTER SIGN..GREEK SINUSOID SIGN -1018D..1018E ; valid ; ; NV8 # 9.0 GREEK INDICTION SIGN..NOMISMA SIGN -1018F ; disallowed # NA <reserved-1018F> -10190..1019B ; valid ; ; NV8 # 5.1 ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN -1019C..1019F ; disallowed # NA <reserved-1019C>..<reserved-1019F> -101A0 ; valid ; ; NV8 # 7.0 GREEK SYMBOL TAU RHO -101A1..101CF ; disallowed # NA <reserved-101A1>..<reserved-101CF> -101D0..101FC ; valid ; ; NV8 # 5.1 PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND -101FD ; valid # 5.1 PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE -101FE..1027F ; disallowed # NA <reserved-101FE>..<reserved-1027F> -10280..1029C ; valid # 5.1 LYCIAN LETTER A..LYCIAN LETTER X -1029D..1029F ; disallowed # NA <reserved-1029D>..<reserved-1029F> -102A0..102D0 ; valid # 5.1 CARIAN LETTER A..CARIAN LETTER UUU3 -102D1..102DF ; disallowed # NA <reserved-102D1>..<reserved-102DF> -102E0 ; valid # 7.0 COPTIC EPACT THOUSANDS MARK -102E1..102FB ; valid ; ; NV8 # 7.0 COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED -102FC..102FF ; disallowed # NA <reserved-102FC>..<reserved-102FF> -10300..1031E ; valid # 3.1 OLD ITALIC LETTER A..OLD ITALIC LETTER UU -1031F ; valid # 7.0 OLD ITALIC LETTER ESS -10320..10323 ; valid ; ; NV8 # 3.1 OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY -10324..1032F ; disallowed # NA <reserved-10324>..<reserved-1032F> -10330..10340 ; valid # 3.1 GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA -10341 ; valid ; ; NV8 # 3.1 GOTHIC LETTER NINETY -10342..10349 ; valid # 3.1 GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL -1034A ; valid ; ; NV8 # 3.1 GOTHIC LETTER NINE HUNDRED -1034B..1034F ; disallowed # NA <reserved-1034B>..<reserved-1034F> -10350..1037A ; valid # 7.0 OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII -1037B..1037F ; disallowed # NA <reserved-1037B>..<reserved-1037F> -10380..1039D ; valid # 4.0 UGARITIC LETTER ALPA..UGARITIC LETTER SSU -1039E ; disallowed # NA <reserved-1039E> -1039F ; valid ; ; NV8 # 4.0 UGARITIC WORD DIVIDER -103A0..103C3 ; valid # 4.1 OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA -103C4..103C7 ; disallowed # NA <reserved-103C4>..<reserved-103C7> -103C8..103CF ; valid # 4.1 OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH -103D0..103D5 ; valid ; ; NV8 # 4.1 OLD PERSIAN WORD DIVIDER..OLD PERSIAN NUMBER HUNDRED -103D6..103FF ; disallowed # NA <reserved-103D6>..<reserved-103FF> -10400 ; mapped ; 10428 # 3.1 DESERET CAPITAL LETTER LONG I -10401 ; mapped ; 10429 # 3.1 DESERET CAPITAL LETTER LONG E -10402 ; mapped ; 1042A # 3.1 DESERET CAPITAL LETTER LONG A -10403 ; mapped ; 1042B # 3.1 DESERET CAPITAL LETTER LONG AH -10404 ; mapped ; 1042C # 3.1 DESERET CAPITAL LETTER LONG O -10405 ; mapped ; 1042D # 3.1 DESERET CAPITAL LETTER LONG OO -10406 ; mapped ; 1042E # 3.1 DESERET CAPITAL LETTER SHORT I -10407 ; mapped ; 1042F # 3.1 DESERET CAPITAL LETTER SHORT E -10408 ; mapped ; 10430 # 3.1 DESERET CAPITAL LETTER SHORT A -10409 ; mapped ; 10431 # 3.1 DESERET CAPITAL LETTER SHORT AH -1040A ; mapped ; 10432 # 3.1 DESERET CAPITAL LETTER SHORT O -1040B ; mapped ; 10433 # 3.1 DESERET CAPITAL LETTER SHORT OO -1040C ; mapped ; 10434 # 3.1 DESERET CAPITAL LETTER AY -1040D ; mapped ; 10435 # 3.1 DESERET CAPITAL LETTER OW -1040E ; mapped ; 10436 # 3.1 DESERET CAPITAL LETTER WU -1040F ; mapped ; 10437 # 3.1 DESERET CAPITAL LETTER YEE -10410 ; mapped ; 10438 # 3.1 DESERET CAPITAL LETTER H -10411 ; mapped ; 10439 # 3.1 DESERET CAPITAL LETTER PEE -10412 ; mapped ; 1043A # 3.1 DESERET CAPITAL LETTER BEE -10413 ; mapped ; 1043B # 3.1 DESERET CAPITAL LETTER TEE -10414 ; mapped ; 1043C # 3.1 DESERET CAPITAL LETTER DEE -10415 ; mapped ; 1043D # 3.1 DESERET CAPITAL LETTER CHEE -10416 ; mapped ; 1043E # 3.1 DESERET CAPITAL LETTER JEE -10417 ; mapped ; 1043F # 3.1 DESERET CAPITAL LETTER KAY -10418 ; mapped ; 10440 # 3.1 DESERET CAPITAL LETTER GAY -10419 ; mapped ; 10441 # 3.1 DESERET CAPITAL LETTER EF -1041A ; mapped ; 10442 # 3.1 DESERET CAPITAL LETTER VEE -1041B ; mapped ; 10443 # 3.1 DESERET CAPITAL LETTER ETH -1041C ; mapped ; 10444 # 3.1 DESERET CAPITAL LETTER THEE -1041D ; mapped ; 10445 # 3.1 DESERET CAPITAL LETTER ES -1041E ; mapped ; 10446 # 3.1 DESERET CAPITAL LETTER ZEE -1041F ; mapped ; 10447 # 3.1 DESERET CAPITAL LETTER ESH -10420 ; mapped ; 10448 # 3.1 DESERET CAPITAL LETTER ZHEE -10421 ; mapped ; 10449 # 3.1 DESERET CAPITAL LETTER ER -10422 ; mapped ; 1044A # 3.1 DESERET CAPITAL LETTER EL -10423 ; mapped ; 1044B # 3.1 DESERET CAPITAL LETTER EM -10424 ; mapped ; 1044C # 3.1 DESERET CAPITAL LETTER EN -10425 ; mapped ; 1044D # 3.1 DESERET CAPITAL LETTER ENG -10426 ; mapped ; 1044E # 4.0 DESERET CAPITAL LETTER OI -10427 ; mapped ; 1044F # 4.0 DESERET CAPITAL LETTER EW -10428..1044D ; valid # 3.1 DESERET SMALL LETTER LONG I..DESERET SMALL LETTER ENG -1044E..1049D ; valid # 4.0 DESERET SMALL LETTER OI..OSMANYA LETTER OO -1049E..1049F ; disallowed # NA <reserved-1049E>..<reserved-1049F> -104A0..104A9 ; valid # 4.0 OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE -104AA..104AF ; disallowed # NA <reserved-104AA>..<reserved-104AF> -104B0 ; mapped ; 104D8 # 9.0 OSAGE CAPITAL LETTER A -104B1 ; mapped ; 104D9 # 9.0 OSAGE CAPITAL LETTER AI -104B2 ; mapped ; 104DA # 9.0 OSAGE CAPITAL LETTER AIN -104B3 ; mapped ; 104DB # 9.0 OSAGE CAPITAL LETTER AH -104B4 ; mapped ; 104DC # 9.0 OSAGE CAPITAL LETTER BRA -104B5 ; mapped ; 104DD # 9.0 OSAGE CAPITAL LETTER CHA -104B6 ; mapped ; 104DE # 9.0 OSAGE CAPITAL LETTER EHCHA -104B7 ; mapped ; 104DF # 9.0 OSAGE CAPITAL LETTER E -104B8 ; mapped ; 104E0 # 9.0 OSAGE CAPITAL LETTER EIN -104B9 ; mapped ; 104E1 # 9.0 OSAGE CAPITAL LETTER HA -104BA ; mapped ; 104E2 # 9.0 OSAGE CAPITAL LETTER HYA -104BB ; mapped ; 104E3 # 9.0 OSAGE CAPITAL LETTER I -104BC ; mapped ; 104E4 # 9.0 OSAGE CAPITAL LETTER KA -104BD ; mapped ; 104E5 # 9.0 OSAGE CAPITAL LETTER EHKA -104BE ; mapped ; 104E6 # 9.0 OSAGE CAPITAL LETTER KYA -104BF ; mapped ; 104E7 # 9.0 OSAGE CAPITAL LETTER LA -104C0 ; mapped ; 104E8 # 9.0 OSAGE CAPITAL LETTER MA -104C1 ; mapped ; 104E9 # 9.0 OSAGE CAPITAL LETTER NA -104C2 ; mapped ; 104EA # 9.0 OSAGE CAPITAL LETTER O -104C3 ; mapped ; 104EB # 9.0 OSAGE CAPITAL LETTER OIN -104C4 ; mapped ; 104EC # 9.0 OSAGE CAPITAL LETTER PA -104C5 ; mapped ; 104ED # 9.0 OSAGE CAPITAL LETTER EHPA -104C6 ; mapped ; 104EE # 9.0 OSAGE CAPITAL LETTER SA -104C7 ; mapped ; 104EF # 9.0 OSAGE CAPITAL LETTER SHA -104C8 ; mapped ; 104F0 # 9.0 OSAGE CAPITAL LETTER TA -104C9 ; mapped ; 104F1 # 9.0 OSAGE CAPITAL LETTER EHTA -104CA ; mapped ; 104F2 # 9.0 OSAGE CAPITAL LETTER TSA -104CB ; mapped ; 104F3 # 9.0 OSAGE CAPITAL LETTER EHTSA -104CC ; mapped ; 104F4 # 9.0 OSAGE CAPITAL LETTER TSHA -104CD ; mapped ; 104F5 # 9.0 OSAGE CAPITAL LETTER DHA -104CE ; mapped ; 104F6 # 9.0 OSAGE CAPITAL LETTER U -104CF ; mapped ; 104F7 # 9.0 OSAGE CAPITAL LETTER WA -104D0 ; mapped ; 104F8 # 9.0 OSAGE CAPITAL LETTER KHA -104D1 ; mapped ; 104F9 # 9.0 OSAGE CAPITAL LETTER GHA -104D2 ; mapped ; 104FA # 9.0 OSAGE CAPITAL LETTER ZA -104D3 ; mapped ; 104FB # 9.0 OSAGE CAPITAL LETTER ZHA -104D4..104D7 ; disallowed # NA <reserved-104D4>..<reserved-104D7> -104D8..104FB ; valid # 9.0 OSAGE SMALL LETTER A..OSAGE SMALL LETTER ZHA -104FC..104FF ; disallowed # NA <reserved-104FC>..<reserved-104FF> -10500..10527 ; valid # 7.0 ELBASAN LETTER A..ELBASAN LETTER KHE -10528..1052F ; disallowed # NA <reserved-10528>..<reserved-1052F> -10530..10563 ; valid # 7.0 CAUCASIAN ALBANIAN LETTER ALT..CAUCASIAN ALBANIAN LETTER KIW -10564..1056E ; disallowed # NA <reserved-10564>..<reserved-1056E> -1056F ; valid ; ; NV8 # 7.0 CAUCASIAN ALBANIAN CITATION MARK -10570..105FF ; disallowed # NA <reserved-10570>..<reserved-105FF> -10600..10736 ; valid # 7.0 LINEAR A SIGN AB001..LINEAR A SIGN A664 -10737..1073F ; disallowed # NA <reserved-10737>..<reserved-1073F> -10740..10755 ; valid # 7.0 LINEAR A SIGN A701 A..LINEAR A SIGN A732 JE -10756..1075F ; disallowed # NA <reserved-10756>..<reserved-1075F> -10760..10767 ; valid # 7.0 LINEAR A SIGN A800..LINEAR A SIGN A807 -10768..107FF ; disallowed # NA <reserved-10768>..<reserved-107FF> -10800..10805 ; valid # 4.0 CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA -10806..10807 ; disallowed # NA <reserved-10806>..<reserved-10807> -10808 ; valid # 4.0 CYPRIOT SYLLABLE JO -10809 ; disallowed # NA <reserved-10809> -1080A..10835 ; valid # 4.0 CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO -10836 ; disallowed # NA <reserved-10836> -10837..10838 ; valid # 4.0 CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE -10839..1083B ; disallowed # NA <reserved-10839>..<reserved-1083B> -1083C ; valid # 4.0 CYPRIOT SYLLABLE ZA -1083D..1083E ; disallowed # NA <reserved-1083D>..<reserved-1083E> -1083F ; valid # 4.0 CYPRIOT SYLLABLE ZO -10840..10855 ; valid # 5.2 IMPERIAL ARAMAIC LETTER ALEPH..IMPERIAL ARAMAIC LETTER TAW -10856 ; disallowed # NA <reserved-10856> -10857..1085F ; valid ; ; NV8 # 5.2 IMPERIAL ARAMAIC SECTION SIGN..IMPERIAL ARAMAIC NUMBER TEN THOUSAND -10860..10876 ; valid # 7.0 PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW -10877..1087F ; valid ; ; NV8 # 7.0 PALMYRENE LEFT-POINTING FLEURON..PALMYRENE NUMBER TWENTY -10880..1089E ; valid # 7.0 NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW -1089F..108A6 ; disallowed # NA <reserved-1089F>..<reserved-108A6> -108A7..108AF ; valid ; ; NV8 # 7.0 NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED -108B0..108DF ; disallowed # NA <reserved-108B0>..<reserved-108DF> -108E0..108F2 ; valid # 8.0 HATRAN LETTER ALEPH..HATRAN LETTER QOPH -108F3 ; disallowed # NA <reserved-108F3> -108F4..108F5 ; valid # 8.0 HATRAN LETTER SHIN..HATRAN LETTER TAW -108F6..108FA ; disallowed # NA <reserved-108F6>..<reserved-108FA> -108FB..108FF ; valid ; ; NV8 # 8.0 HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED -10900..10915 ; valid # 5.0 PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU -10916..10919 ; valid ; ; NV8 # 5.0 PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER ONE HUNDRED -1091A..1091B ; valid ; ; NV8 # 5.2 PHOENICIAN NUMBER TWO..PHOENICIAN NUMBER THREE -1091C..1091E ; disallowed # NA <reserved-1091C>..<reserved-1091E> -1091F ; valid ; ; NV8 # 5.0 PHOENICIAN WORD SEPARATOR -10920..10939 ; valid # 5.1 LYDIAN LETTER A..LYDIAN LETTER C -1093A..1093E ; disallowed # NA <reserved-1093A>..<reserved-1093E> -1093F ; valid ; ; NV8 # 5.1 LYDIAN TRIANGULAR MARK -10940..1097F ; disallowed # NA <reserved-10940>..<reserved-1097F> -10980..109B7 ; valid # 6.1 MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA -109B8..109BB ; disallowed # NA <reserved-109B8>..<reserved-109BB> -109BC..109BD ; valid ; ; NV8 # 8.0 MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF -109BE..109BF ; valid # 6.1 MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN -109C0..109CF ; valid ; ; NV8 # 8.0 MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY -109D0..109D1 ; disallowed # NA <reserved-109D0>..<reserved-109D1> -109D2..109FF ; valid ; ; NV8 # 8.0 MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS -10A00..10A03 ; valid # 4.1 KHAROSHTHI LETTER A..KHAROSHTHI VOWEL SIGN VOCALIC R -10A04 ; disallowed # NA <reserved-10A04> -10A05..10A06 ; valid # 4.1 KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O -10A07..10A0B ; disallowed # NA <reserved-10A07>..<reserved-10A0B> -10A0C..10A13 ; valid # 4.1 KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI LETTER GHA -10A14 ; disallowed # NA <reserved-10A14> -10A15..10A17 ; valid # 4.1 KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA -10A18 ; disallowed # NA <reserved-10A18> -10A19..10A33 ; valid # 4.1 KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA -10A34..10A37 ; disallowed # NA <reserved-10A34>..<reserved-10A37> -10A38..10A3A ; valid # 4.1 KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW -10A3B..10A3E ; disallowed # NA <reserved-10A3B>..<reserved-10A3E> -10A3F ; valid # 4.1 KHAROSHTHI VIRAMA -10A40..10A47 ; valid ; ; NV8 # 4.1 KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND -10A48..10A4F ; disallowed # NA <reserved-10A48>..<reserved-10A4F> -10A50..10A58 ; valid ; ; NV8 # 4.1 KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES -10A59..10A5F ; disallowed # NA <reserved-10A59>..<reserved-10A5F> -10A60..10A7C ; valid # 5.2 OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH -10A7D..10A7F ; valid ; ; NV8 # 5.2 OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMERIC INDICATOR -10A80..10A9C ; valid # 7.0 OLD NORTH ARABIAN LETTER HEH..OLD NORTH ARABIAN LETTER ZAH -10A9D..10A9F ; valid ; ; NV8 # 7.0 OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY -10AA0..10ABF ; disallowed # NA <reserved-10AA0>..<reserved-10ABF> -10AC0..10AC7 ; valid # 7.0 MANICHAEAN LETTER ALEPH..MANICHAEAN LETTER WAW -10AC8 ; valid ; ; NV8 # 7.0 MANICHAEAN SIGN UD -10AC9..10AE6 ; valid # 7.0 MANICHAEAN LETTER ZAYIN..MANICHAEAN ABBREVIATION MARK BELOW -10AE7..10AEA ; disallowed # NA <reserved-10AE7>..<reserved-10AEA> -10AEB..10AF6 ; valid ; ; NV8 # 7.0 MANICHAEAN NUMBER ONE..MANICHAEAN PUNCTUATION LINE FILLER -10AF7..10AFF ; disallowed # NA <reserved-10AF7>..<reserved-10AFF> -10B00..10B35 ; valid # 5.2 AVESTAN LETTER A..AVESTAN LETTER HE -10B36..10B38 ; disallowed # NA <reserved-10B36>..<reserved-10B38> -10B39..10B3F ; valid ; ; NV8 # 5.2 AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION -10B40..10B55 ; valid # 5.2 INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW -10B56..10B57 ; disallowed # NA <reserved-10B56>..<reserved-10B57> -10B58..10B5F ; valid ; ; NV8 # 5.2 INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND -10B60..10B72 ; valid # 5.2 INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW -10B73..10B77 ; disallowed # NA <reserved-10B73>..<reserved-10B77> -10B78..10B7F ; valid ; ; NV8 # 5.2 INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND -10B80..10B91 ; valid # 7.0 PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW -10B92..10B98 ; disallowed # NA <reserved-10B92>..<reserved-10B98> -10B99..10B9C ; valid ; ; NV8 # 7.0 PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT -10B9D..10BA8 ; disallowed # NA <reserved-10B9D>..<reserved-10BA8> -10BA9..10BAF ; valid ; ; NV8 # 7.0 PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED -10BB0..10BFF ; disallowed # NA <reserved-10BB0>..<reserved-10BFF> -10C00..10C48 ; valid # 5.2 OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH -10C49..10C7F ; disallowed # NA <reserved-10C49>..<reserved-10C7F> -10C80 ; mapped ; 10CC0 # 8.0 OLD HUNGARIAN CAPITAL LETTER A -10C81 ; mapped ; 10CC1 # 8.0 OLD HUNGARIAN CAPITAL LETTER AA -10C82 ; mapped ; 10CC2 # 8.0 OLD HUNGARIAN CAPITAL LETTER EB -10C83 ; mapped ; 10CC3 # 8.0 OLD HUNGARIAN CAPITAL LETTER AMB -10C84 ; mapped ; 10CC4 # 8.0 OLD HUNGARIAN CAPITAL LETTER EC -10C85 ; mapped ; 10CC5 # 8.0 OLD HUNGARIAN CAPITAL LETTER ENC -10C86 ; mapped ; 10CC6 # 8.0 OLD HUNGARIAN CAPITAL LETTER ECS -10C87 ; mapped ; 10CC7 # 8.0 OLD HUNGARIAN CAPITAL LETTER ED -10C88 ; mapped ; 10CC8 # 8.0 OLD HUNGARIAN CAPITAL LETTER AND -10C89 ; mapped ; 10CC9 # 8.0 OLD HUNGARIAN CAPITAL LETTER E -10C8A ; mapped ; 10CCA # 8.0 OLD HUNGARIAN CAPITAL LETTER CLOSE E -10C8B ; mapped ; 10CCB # 8.0 OLD HUNGARIAN CAPITAL LETTER EE -10C8C ; mapped ; 10CCC # 8.0 OLD HUNGARIAN CAPITAL LETTER EF -10C8D ; mapped ; 10CCD # 8.0 OLD HUNGARIAN CAPITAL LETTER EG -10C8E ; mapped ; 10CCE # 8.0 OLD HUNGARIAN CAPITAL LETTER EGY -10C8F ; mapped ; 10CCF # 8.0 OLD HUNGARIAN CAPITAL LETTER EH -10C90 ; mapped ; 10CD0 # 8.0 OLD HUNGARIAN CAPITAL LETTER I -10C91 ; mapped ; 10CD1 # 8.0 OLD HUNGARIAN CAPITAL LETTER II -10C92 ; mapped ; 10CD2 # 8.0 OLD HUNGARIAN CAPITAL LETTER EJ -10C93 ; mapped ; 10CD3 # 8.0 OLD HUNGARIAN CAPITAL LETTER EK -10C94 ; mapped ; 10CD4 # 8.0 OLD HUNGARIAN CAPITAL LETTER AK -10C95 ; mapped ; 10CD5 # 8.0 OLD HUNGARIAN CAPITAL LETTER UNK -10C96 ; mapped ; 10CD6 # 8.0 OLD HUNGARIAN CAPITAL LETTER EL -10C97 ; mapped ; 10CD7 # 8.0 OLD HUNGARIAN CAPITAL LETTER ELY -10C98 ; mapped ; 10CD8 # 8.0 OLD HUNGARIAN CAPITAL LETTER EM -10C99 ; mapped ; 10CD9 # 8.0 OLD HUNGARIAN CAPITAL LETTER EN -10C9A ; mapped ; 10CDA # 8.0 OLD HUNGARIAN CAPITAL LETTER ENY -10C9B ; mapped ; 10CDB # 8.0 OLD HUNGARIAN CAPITAL LETTER O -10C9C ; mapped ; 10CDC # 8.0 OLD HUNGARIAN CAPITAL LETTER OO -10C9D ; mapped ; 10CDD # 8.0 OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE -10C9E ; mapped ; 10CDE # 8.0 OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE -10C9F ; mapped ; 10CDF # 8.0 OLD HUNGARIAN CAPITAL LETTER OEE -10CA0 ; mapped ; 10CE0 # 8.0 OLD HUNGARIAN CAPITAL LETTER EP -10CA1 ; mapped ; 10CE1 # 8.0 OLD HUNGARIAN CAPITAL LETTER EMP -10CA2 ; mapped ; 10CE2 # 8.0 OLD HUNGARIAN CAPITAL LETTER ER -10CA3 ; mapped ; 10CE3 # 8.0 OLD HUNGARIAN CAPITAL LETTER SHORT ER -10CA4 ; mapped ; 10CE4 # 8.0 OLD HUNGARIAN CAPITAL LETTER ES -10CA5 ; mapped ; 10CE5 # 8.0 OLD HUNGARIAN CAPITAL LETTER ESZ -10CA6 ; mapped ; 10CE6 # 8.0 OLD HUNGARIAN CAPITAL LETTER ET -10CA7 ; mapped ; 10CE7 # 8.0 OLD HUNGARIAN CAPITAL LETTER ENT -10CA8 ; mapped ; 10CE8 # 8.0 OLD HUNGARIAN CAPITAL LETTER ETY -10CA9 ; mapped ; 10CE9 # 8.0 OLD HUNGARIAN CAPITAL LETTER ECH -10CAA ; mapped ; 10CEA # 8.0 OLD HUNGARIAN CAPITAL LETTER U -10CAB ; mapped ; 10CEB # 8.0 OLD HUNGARIAN CAPITAL LETTER UU -10CAC ; mapped ; 10CEC # 8.0 OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE -10CAD ; mapped ; 10CED # 8.0 OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE -10CAE ; mapped ; 10CEE # 8.0 OLD HUNGARIAN CAPITAL LETTER EV -10CAF ; mapped ; 10CEF # 8.0 OLD HUNGARIAN CAPITAL LETTER EZ -10CB0 ; mapped ; 10CF0 # 8.0 OLD HUNGARIAN CAPITAL LETTER EZS -10CB1 ; mapped ; 10CF1 # 8.0 OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN -10CB2 ; mapped ; 10CF2 # 8.0 OLD HUNGARIAN CAPITAL LETTER US -10CB3..10CBF ; disallowed # NA <reserved-10CB3>..<reserved-10CBF> -10CC0..10CF2 ; valid # 8.0 OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US -10CF3..10CF9 ; disallowed # NA <reserved-10CF3>..<reserved-10CF9> -10CFA..10CFF ; valid ; ; NV8 # 8.0 OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND -10D00..10E5F ; disallowed # NA <reserved-10D00>..<reserved-10E5F> -10E60..10E7E ; valid ; ; NV8 # 5.2 RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS -10E7F..10FFF ; disallowed # NA <reserved-10E7F>..<reserved-10FFF> -11000..11046 ; valid # 6.0 BRAHMI SIGN CANDRABINDU..BRAHMI VIRAMA -11047..1104D ; valid ; ; NV8 # 6.0 BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS -1104E..11051 ; disallowed # NA <reserved-1104E>..<reserved-11051> -11052..11065 ; valid ; ; NV8 # 6.0 BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND -11066..1106F ; valid # 6.0 BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE -11070..1107E ; disallowed # NA <reserved-11070>..<reserved-1107E> -1107F ; valid # 7.0 BRAHMI NUMBER JOINER -11080..110BA ; valid # 5.2 KAITHI SIGN CANDRABINDU..KAITHI SIGN NUKTA -110BB..110BC ; valid ; ; NV8 # 5.2 KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN -110BD ; disallowed # 5.2 KAITHI NUMBER SIGN -110BE..110C1 ; valid ; ; NV8 # 5.2 KAITHI SECTION MARK..KAITHI DOUBLE DANDA -110C2..110CF ; disallowed # NA <reserved-110C2>..<reserved-110CF> -110D0..110E8 ; valid # 6.1 SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE -110E9..110EF ; disallowed # NA <reserved-110E9>..<reserved-110EF> -110F0..110F9 ; valid # 6.1 SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE -110FA..110FF ; disallowed # NA <reserved-110FA>..<reserved-110FF> -11100..11134 ; valid # 6.1 CHAKMA SIGN CANDRABINDU..CHAKMA MAAYYAA -11135 ; disallowed # NA <reserved-11135> -11136..1113F ; valid # 6.1 CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE -11140..11143 ; valid ; ; NV8 # 6.1 CHAKMA SECTION MARK..CHAKMA QUESTION MARK -11144..1114F ; disallowed # NA <reserved-11144>..<reserved-1114F> -11150..11173 ; valid # 7.0 MAHAJANI LETTER A..MAHAJANI SIGN NUKTA -11174..11175 ; valid ; ; NV8 # 7.0 MAHAJANI ABBREVIATION SIGN..MAHAJANI SECTION MARK -11176 ; valid # 7.0 MAHAJANI LIGATURE SHRI -11177..1117F ; disallowed # NA <reserved-11177>..<reserved-1117F> -11180..111C4 ; valid # 6.1 SHARADA SIGN CANDRABINDU..SHARADA OM -111C5..111C8 ; valid ; ; NV8 # 6.1 SHARADA DANDA..SHARADA SEPARATOR -111C9 ; valid ; ; NV8 # 8.0 SHARADA SANDHI MARK -111CA..111CC ; valid # 8.0 SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK -111CD ; valid ; ; NV8 # 7.0 SHARADA SUTRA MARK -111CE..111CF ; disallowed # NA <reserved-111CE>..<reserved-111CF> -111D0..111D9 ; valid # 6.1 SHARADA DIGIT ZERO..SHARADA DIGIT NINE -111DA ; valid # 7.0 SHARADA EKAM -111DB ; valid ; ; NV8 # 8.0 SHARADA SIGN SIDDHAM -111DC ; valid # 8.0 SHARADA HEADSTROKE -111DD..111DF ; valid ; ; NV8 # 8.0 SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 -111E0 ; disallowed # NA <reserved-111E0> -111E1..111F4 ; valid ; ; NV8 # 7.0 SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND -111F5..111FF ; disallowed # NA <reserved-111F5>..<reserved-111FF> -11200..11211 ; valid # 7.0 KHOJKI LETTER A..KHOJKI LETTER JJA -11212 ; disallowed # NA <reserved-11212> -11213..11237 ; valid # 7.0 KHOJKI LETTER NYA..KHOJKI SIGN SHADDA -11238..1123D ; valid ; ; NV8 # 7.0 KHOJKI DANDA..KHOJKI ABBREVIATION SIGN -1123E ; valid # 9.0 KHOJKI SIGN SUKUN -1123F..1127F ; disallowed # NA <reserved-1123F>..<reserved-1127F> -11280..11286 ; valid # 8.0 MULTANI LETTER A..MULTANI LETTER GA -11287 ; disallowed # NA <reserved-11287> -11288 ; valid # 8.0 MULTANI LETTER GHA -11289 ; disallowed # NA <reserved-11289> -1128A..1128D ; valid # 8.0 MULTANI LETTER CA..MULTANI LETTER JJA -1128E ; disallowed # NA <reserved-1128E> -1128F..1129D ; valid # 8.0 MULTANI LETTER NYA..MULTANI LETTER BA -1129E ; disallowed # NA <reserved-1129E> -1129F..112A8 ; valid # 8.0 MULTANI LETTER BHA..MULTANI LETTER RHA -112A9 ; valid ; ; NV8 # 8.0 MULTANI SECTION MARK -112AA..112AF ; disallowed # NA <reserved-112AA>..<reserved-112AF> -112B0..112EA ; valid # 7.0 KHUDAWADI LETTER A..KHUDAWADI SIGN VIRAMA -112EB..112EF ; disallowed # NA <reserved-112EB>..<reserved-112EF> -112F0..112F9 ; valid # 7.0 KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -112FA..112FF ; disallowed # NA <reserved-112FA>..<reserved-112FF> -11300 ; valid # 8.0 GRANTHA SIGN COMBINING ANUSVARA ABOVE -11301..11303 ; valid # 7.0 GRANTHA SIGN CANDRABINDU..GRANTHA SIGN VISARGA -11304 ; disallowed # NA <reserved-11304> -11305..1130C ; valid # 7.0 GRANTHA LETTER A..GRANTHA LETTER VOCALIC L -1130D..1130E ; disallowed # NA <reserved-1130D>..<reserved-1130E> -1130F..11310 ; valid # 7.0 GRANTHA LETTER EE..GRANTHA LETTER AI -11311..11312 ; disallowed # NA <reserved-11311>..<reserved-11312> -11313..11328 ; valid # 7.0 GRANTHA LETTER OO..GRANTHA LETTER NA -11329 ; disallowed # NA <reserved-11329> -1132A..11330 ; valid # 7.0 GRANTHA LETTER PA..GRANTHA LETTER RA -11331 ; disallowed # NA <reserved-11331> -11332..11333 ; valid # 7.0 GRANTHA LETTER LA..GRANTHA LETTER LLA -11334 ; disallowed # NA <reserved-11334> -11335..11339 ; valid # 7.0 GRANTHA LETTER VA..GRANTHA LETTER HA -1133A..1133B ; disallowed # NA <reserved-1133A>..<reserved-1133B> -1133C..11344 ; valid # 7.0 GRANTHA SIGN NUKTA..GRANTHA VOWEL SIGN VOCALIC RR -11345..11346 ; disallowed # NA <reserved-11345>..<reserved-11346> -11347..11348 ; valid # 7.0 GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI -11349..1134A ; disallowed # NA <reserved-11349>..<reserved-1134A> -1134B..1134D ; valid # 7.0 GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA -1134E..1134F ; disallowed # NA <reserved-1134E>..<reserved-1134F> -11350 ; valid # 8.0 GRANTHA OM -11351..11356 ; disallowed # NA <reserved-11351>..<reserved-11356> -11357 ; valid # 7.0 GRANTHA AU LENGTH MARK -11358..1135C ; disallowed # NA <reserved-11358>..<reserved-1135C> -1135D..11363 ; valid # 7.0 GRANTHA SIGN PLUTA..GRANTHA VOWEL SIGN VOCALIC LL -11364..11365 ; disallowed # NA <reserved-11364>..<reserved-11365> -11366..1136C ; valid # 7.0 COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX -1136D..1136F ; disallowed # NA <reserved-1136D>..<reserved-1136F> -11370..11374 ; valid # 7.0 COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA -11375..113FF ; disallowed # NA <reserved-11375>..<reserved-113FF> -11400..1144A ; valid # 9.0 NEWA LETTER A..NEWA SIDDHI -1144B..1144F ; valid ; ; NV8 # 9.0 NEWA DANDA..NEWA ABBREVIATION SIGN -11450..11459 ; valid # 9.0 NEWA DIGIT ZERO..NEWA DIGIT NINE -1145A ; disallowed # NA <reserved-1145A> -1145B ; valid ; ; NV8 # 9.0 NEWA PLACEHOLDER MARK -1145C ; disallowed # NA <reserved-1145C> -1145D ; valid ; ; NV8 # 9.0 NEWA INSERTION SIGN -1145E..1147F ; disallowed # NA <reserved-1145E>..<reserved-1147F> -11480..114C5 ; valid # 7.0 TIRHUTA ANJI..TIRHUTA GVANG -114C6 ; valid ; ; NV8 # 7.0 TIRHUTA ABBREVIATION SIGN -114C7 ; valid # 7.0 TIRHUTA OM -114C8..114CF ; disallowed # NA <reserved-114C8>..<reserved-114CF> -114D0..114D9 ; valid # 7.0 TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE -114DA..1157F ; disallowed # NA <reserved-114DA>..<reserved-1157F> -11580..115B5 ; valid # 7.0 SIDDHAM LETTER A..SIDDHAM VOWEL SIGN VOCALIC RR -115B6..115B7 ; disallowed # NA <reserved-115B6>..<reserved-115B7> -115B8..115C0 ; valid # 7.0 SIDDHAM VOWEL SIGN E..SIDDHAM SIGN NUKTA -115C1..115C9 ; valid ; ; NV8 # 7.0 SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK -115CA..115D7 ; valid ; ; NV8 # 8.0 SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES -115D8..115DD ; valid # 8.0 SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM VOWEL SIGN ALTERNATE UU -115DE..115FF ; disallowed # NA <reserved-115DE>..<reserved-115FF> -11600..11640 ; valid # 7.0 MODI LETTER A..MODI SIGN ARDHACANDRA -11641..11643 ; valid ; ; NV8 # 7.0 MODI DANDA..MODI ABBREVIATION SIGN -11644 ; valid # 7.0 MODI SIGN HUVA -11645..1164F ; disallowed # NA <reserved-11645>..<reserved-1164F> -11650..11659 ; valid # 7.0 MODI DIGIT ZERO..MODI DIGIT NINE -1165A..1165F ; disallowed # NA <reserved-1165A>..<reserved-1165F> -11660..1166C ; valid ; ; NV8 # 9.0 MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT -1166D..1167F ; disallowed # NA <reserved-1166D>..<reserved-1167F> -11680..116B7 ; valid # 6.1 TAKRI LETTER A..TAKRI SIGN NUKTA -116B8..116BF ; disallowed # NA <reserved-116B8>..<reserved-116BF> -116C0..116C9 ; valid # 6.1 TAKRI DIGIT ZERO..TAKRI DIGIT NINE -116CA..116FF ; disallowed # NA <reserved-116CA>..<reserved-116FF> -11700..11719 ; valid # 8.0 AHOM LETTER KA..AHOM LETTER JHA -1171A..1171C ; disallowed # NA <reserved-1171A>..<reserved-1171C> -1171D..1172B ; valid # 8.0 AHOM CONSONANT SIGN MEDIAL LA..AHOM SIGN KILLER -1172C..1172F ; disallowed # NA <reserved-1172C>..<reserved-1172F> -11730..11739 ; valid # 8.0 AHOM DIGIT ZERO..AHOM DIGIT NINE -1173A..1173F ; valid ; ; NV8 # 8.0 AHOM NUMBER TEN..AHOM SYMBOL VI -11740..1189F ; disallowed # NA <reserved-11740>..<reserved-1189F> -118A0 ; mapped ; 118C0 # 7.0 WARANG CITI CAPITAL LETTER NGAA -118A1 ; mapped ; 118C1 # 7.0 WARANG CITI CAPITAL LETTER A -118A2 ; mapped ; 118C2 # 7.0 WARANG CITI CAPITAL LETTER WI -118A3 ; mapped ; 118C3 # 7.0 WARANG CITI CAPITAL LETTER YU -118A4 ; mapped ; 118C4 # 7.0 WARANG CITI CAPITAL LETTER YA -118A5 ; mapped ; 118C5 # 7.0 WARANG CITI CAPITAL LETTER YO -118A6 ; mapped ; 118C6 # 7.0 WARANG CITI CAPITAL LETTER II -118A7 ; mapped ; 118C7 # 7.0 WARANG CITI CAPITAL LETTER UU -118A8 ; mapped ; 118C8 # 7.0 WARANG CITI CAPITAL LETTER E -118A9 ; mapped ; 118C9 # 7.0 WARANG CITI CAPITAL LETTER O -118AA ; mapped ; 118CA # 7.0 WARANG CITI CAPITAL LETTER ANG -118AB ; mapped ; 118CB # 7.0 WARANG CITI CAPITAL LETTER GA -118AC ; mapped ; 118CC # 7.0 WARANG CITI CAPITAL LETTER KO -118AD ; mapped ; 118CD # 7.0 WARANG CITI CAPITAL LETTER ENY -118AE ; mapped ; 118CE # 7.0 WARANG CITI CAPITAL LETTER YUJ -118AF ; mapped ; 118CF # 7.0 WARANG CITI CAPITAL LETTER UC -118B0 ; mapped ; 118D0 # 7.0 WARANG CITI CAPITAL LETTER ENN -118B1 ; mapped ; 118D1 # 7.0 WARANG CITI CAPITAL LETTER ODD -118B2 ; mapped ; 118D2 # 7.0 WARANG CITI CAPITAL LETTER TTE -118B3 ; mapped ; 118D3 # 7.0 WARANG CITI CAPITAL LETTER NUNG -118B4 ; mapped ; 118D4 # 7.0 WARANG CITI CAPITAL LETTER DA -118B5 ; mapped ; 118D5 # 7.0 WARANG CITI CAPITAL LETTER AT -118B6 ; mapped ; 118D6 # 7.0 WARANG CITI CAPITAL LETTER AM -118B7 ; mapped ; 118D7 # 7.0 WARANG CITI CAPITAL LETTER BU -118B8 ; mapped ; 118D8 # 7.0 WARANG CITI CAPITAL LETTER PU -118B9 ; mapped ; 118D9 # 7.0 WARANG CITI CAPITAL LETTER HIYO -118BA ; mapped ; 118DA # 7.0 WARANG CITI CAPITAL LETTER HOLO -118BB ; mapped ; 118DB # 7.0 WARANG CITI CAPITAL LETTER HORR -118BC ; mapped ; 118DC # 7.0 WARANG CITI CAPITAL LETTER HAR -118BD ; mapped ; 118DD # 7.0 WARANG CITI CAPITAL LETTER SSUU -118BE ; mapped ; 118DE # 7.0 WARANG CITI CAPITAL LETTER SII -118BF ; mapped ; 118DF # 7.0 WARANG CITI CAPITAL LETTER VIYO -118C0..118E9 ; valid # 7.0 WARANG CITI SMALL LETTER NGAA..WARANG CITI DIGIT NINE -118EA..118F2 ; valid ; ; NV8 # 7.0 WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY -118F3..118FE ; disallowed # NA <reserved-118F3>..<reserved-118FE> -118FF ; valid # 7.0 WARANG CITI OM -11900..11ABF ; disallowed # NA <reserved-11900>..<reserved-11ABF> -11AC0..11AF8 ; valid # 7.0 PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -11AF9..11BFF ; disallowed # NA <reserved-11AF9>..<reserved-11BFF> -11C00..11C08 ; valid # 9.0 BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L -11C09 ; disallowed # NA <reserved-11C09> -11C0A..11C36 ; valid # 9.0 BHAIKSUKI LETTER E..BHAIKSUKI VOWEL SIGN VOCALIC L -11C37 ; disallowed # NA <reserved-11C37> -11C38..11C40 ; valid # 9.0 BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN AVAGRAHA -11C41..11C45 ; valid ; ; NV8 # 9.0 BHAIKSUKI DANDA..BHAIKSUKI GAP FILLER-2 -11C46..11C4F ; disallowed # NA <reserved-11C46>..<reserved-11C4F> -11C50..11C59 ; valid # 9.0 BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE -11C5A..11C6C ; valid ; ; NV8 # 9.0 BHAIKSUKI NUMBER ONE..BHAIKSUKI HUNDREDS UNIT MARK -11C6D..11C6F ; disallowed # NA <reserved-11C6D>..<reserved-11C6F> -11C70..11C71 ; valid ; ; NV8 # 9.0 MARCHEN HEAD MARK..MARCHEN MARK SHAD -11C72..11C8F ; valid # 9.0 MARCHEN LETTER KA..MARCHEN LETTER A -11C90..11C91 ; disallowed # NA <reserved-11C90>..<reserved-11C91> -11C92..11CA7 ; valid # 9.0 MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA -11CA8 ; disallowed # NA <reserved-11CA8> -11CA9..11CB6 ; valid # 9.0 MARCHEN SUBJOINED LETTER YA..MARCHEN SIGN CANDRABINDU -11CB7..11FFF ; disallowed # NA <reserved-11CB7>..<reserved-11FFF> -12000..1236E ; valid # 5.0 CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM -1236F..12398 ; valid # 7.0 CUNEIFORM SIGN KAP ELAMITE..CUNEIFORM SIGN UM TIMES ME -12399 ; valid # 8.0 CUNEIFORM SIGN U U -1239A..123FF ; disallowed # NA <reserved-1239A>..<reserved-123FF> -12400..12462 ; valid ; ; NV8 # 5.0 CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER -12463..1246E ; valid ; ; NV8 # 7.0 CUNEIFORM NUMERIC SIGN ONE QUARTER GUR..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM -1246F ; disallowed # NA <reserved-1246F> -12470..12473 ; valid ; ; NV8 # 5.0 CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON -12474 ; valid ; ; NV8 # 7.0 CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON -12475..1247F ; disallowed # NA <reserved-12475>..<reserved-1247F> -12480..12543 ; valid # 8.0 CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU -12544..12FFF ; disallowed # NA <reserved-12544>..<reserved-12FFF> -13000..1342E ; valid # 5.2 EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 -1342F..143FF ; disallowed # NA <reserved-1342F>..<reserved-143FF> -14400..14646 ; valid # 8.0 ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 -14647..167FF ; disallowed # NA <reserved-14647>..<reserved-167FF> -16800..16A38 ; valid # 6.0 BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ -16A39..16A3F ; disallowed # NA <reserved-16A39>..<reserved-16A3F> -16A40..16A5E ; valid # 7.0 MRO LETTER TA..MRO LETTER TEK -16A5F ; disallowed # NA <reserved-16A5F> -16A60..16A69 ; valid # 7.0 MRO DIGIT ZERO..MRO DIGIT NINE -16A6A..16A6D ; disallowed # NA <reserved-16A6A>..<reserved-16A6D> -16A6E..16A6F ; valid ; ; NV8 # 7.0 MRO DANDA..MRO DOUBLE DANDA -16A70..16ACF ; disallowed # NA <reserved-16A70>..<reserved-16ACF> -16AD0..16AED ; valid # 7.0 BASSA VAH LETTER ENNI..BASSA VAH LETTER I -16AEE..16AEF ; disallowed # NA <reserved-16AEE>..<reserved-16AEF> -16AF0..16AF4 ; valid # 7.0 BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE -16AF5 ; valid ; ; NV8 # 7.0 BASSA VAH FULL STOP -16AF6..16AFF ; disallowed # NA <reserved-16AF6>..<reserved-16AFF> -16B00..16B36 ; valid # 7.0 PAHAWH HMONG VOWEL KEEB..PAHAWH HMONG MARK CIM TAUM -16B37..16B3F ; valid ; ; NV8 # 7.0 PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN XYEEM FAIB -16B40..16B43 ; valid # 7.0 PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM -16B44..16B45 ; valid ; ; NV8 # 7.0 PAHAWH HMONG SIGN XAUS..PAHAWH HMONG SIGN CIM TSOV ROG -16B46..16B4F ; disallowed # NA <reserved-16B46>..<reserved-16B4F> -16B50..16B59 ; valid # 7.0 PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE -16B5A ; disallowed # NA <reserved-16B5A> -16B5B..16B61 ; valid ; ; NV8 # 7.0 PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS -16B62 ; disallowed # NA <reserved-16B62> -16B63..16B77 ; valid # 7.0 PAHAWH HMONG SIGN VOS LUB..PAHAWH HMONG SIGN CIM NRES TOS -16B78..16B7C ; disallowed # NA <reserved-16B78>..<reserved-16B7C> -16B7D..16B8F ; valid # 7.0 PAHAWH HMONG CLAN SIGN TSHEEJ..PAHAWH HMONG CLAN SIGN VWJ -16B90..16EFF ; disallowed # NA <reserved-16B90>..<reserved-16EFF> -16F00..16F44 ; valid # 6.1 MIAO LETTER PA..MIAO LETTER HHA -16F45..16F4F ; disallowed # NA <reserved-16F45>..<reserved-16F4F> -16F50..16F7E ; valid # 6.1 MIAO LETTER NASALIZATION..MIAO VOWEL SIGN NG -16F7F..16F8E ; disallowed # NA <reserved-16F7F>..<reserved-16F8E> -16F8F..16F9F ; valid # 6.1 MIAO TONE RIGHT..MIAO LETTER REFORMED TONE-8 -16FA0..16FDF ; disallowed # NA <reserved-16FA0>..<reserved-16FDF> -16FE0 ; valid # 9.0 TANGUT ITERATION MARK -16FE1..16FFF ; disallowed # NA <reserved-16FE1>..<reserved-16FFF> -17000..187EC ; valid # 9.0 TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC -187ED..187FF ; disallowed # NA <reserved-187ED>..<reserved-187FF> -18800..18AF2 ; valid # 9.0 TANGUT COMPONENT-001..TANGUT COMPONENT-755 -18AF3..1AFFF ; disallowed # NA <reserved-18AF3>..<reserved-1AFFF> -1B000..1B001 ; valid # 6.0 KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE -1B002..1BBFF ; disallowed # NA <reserved-1B002>..<reserved-1BBFF> -1BC00..1BC6A ; valid # 7.0 DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M -1BC6B..1BC6F ; disallowed # NA <reserved-1BC6B>..<reserved-1BC6F> -1BC70..1BC7C ; valid # 7.0 DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK -1BC7D..1BC7F ; disallowed # NA <reserved-1BC7D>..<reserved-1BC7F> -1BC80..1BC88 ; valid # 7.0 DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL -1BC89..1BC8F ; disallowed # NA <reserved-1BC89>..<reserved-1BC8F> -1BC90..1BC99 ; valid # 7.0 DUPLOYAN AFFIX LOW ACUTE..DUPLOYAN AFFIX LOW ARROW -1BC9A..1BC9B ; disallowed # NA <reserved-1BC9A>..<reserved-1BC9B> -1BC9C ; valid ; ; NV8 # 7.0 DUPLOYAN SIGN O WITH CROSS -1BC9D..1BC9E ; valid # 7.0 DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK -1BC9F ; valid ; ; NV8 # 7.0 DUPLOYAN PUNCTUATION CHINOOK FULL STOP -1BCA0..1BCA3 ; ignored # 7.0 SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP -1BCA4..1CFFF ; disallowed # NA <reserved-1BCA4>..<reserved-1CFFF> -1D000..1D0F5 ; valid ; ; NV8 # 3.1 BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO -1D0F6..1D0FF ; disallowed # NA <reserved-1D0F6>..<reserved-1D0FF> -1D100..1D126 ; valid ; ; NV8 # 3.1 MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2 -1D127..1D128 ; disallowed # NA <reserved-1D127>..<reserved-1D128> -1D129 ; valid ; ; NV8 # 5.1 MUSICAL SYMBOL MULTIPLE MEASURE REST -1D12A..1D15D ; valid ; ; NV8 # 3.1 MUSICAL SYMBOL DOUBLE SHARP..MUSICAL SYMBOL WHOLE NOTE -1D15E ; mapped ; 1D157 1D165 # 3.1 MUSICAL SYMBOL HALF NOTE -1D15F ; mapped ; 1D158 1D165 # 3.1 MUSICAL SYMBOL QUARTER NOTE -1D160 ; mapped ; 1D158 1D165 1D16E #3.1 MUSICAL SYMBOL EIGHTH NOTE -1D161 ; mapped ; 1D158 1D165 1D16F #3.1 MUSICAL SYMBOL SIXTEENTH NOTE -1D162 ; mapped ; 1D158 1D165 1D170 #3.1 MUSICAL SYMBOL THIRTY-SECOND NOTE -1D163 ; mapped ; 1D158 1D165 1D171 #3.1 MUSICAL SYMBOL SIXTY-FOURTH NOTE -1D164 ; mapped ; 1D158 1D165 1D172 #3.1 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE -1D165..1D172 ; valid ; ; NV8 # 3.1 MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING FLAG-5 -1D173..1D17A ; disallowed # 3.1 MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE -1D17B..1D1BA ; valid ; ; NV8 # 3.1 MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL SEMIBREVIS BLACK -1D1BB ; mapped ; 1D1B9 1D165 # 3.1 MUSICAL SYMBOL MINIMA -1D1BC ; mapped ; 1D1BA 1D165 # 3.1 MUSICAL SYMBOL MINIMA BLACK -1D1BD ; mapped ; 1D1B9 1D165 1D16E #3.1 MUSICAL SYMBOL SEMIMINIMA WHITE -1D1BE ; mapped ; 1D1BA 1D165 1D16E #3.1 MUSICAL SYMBOL SEMIMINIMA BLACK -1D1BF ; mapped ; 1D1B9 1D165 1D16F #3.1 MUSICAL SYMBOL FUSA WHITE -1D1C0 ; mapped ; 1D1BA 1D165 1D16F #3.1 MUSICAL SYMBOL FUSA BLACK -1D1C1..1D1DD ; valid ; ; NV8 # 3.1 MUSICAL SYMBOL LONGA PERFECTA REST..MUSICAL SYMBOL PES SUBPUNCTIS -1D1DE..1D1E8 ; valid ; ; NV8 # 8.0 MUSICAL SYMBOL KIEVAN C CLEF..MUSICAL SYMBOL KIEVAN FLAT SIGN -1D1E9..1D1FF ; disallowed # NA <reserved-1D1E9>..<reserved-1D1FF> -1D200..1D245 ; valid ; ; NV8 # 4.1 GREEK VOCAL NOTATION SYMBOL-1..GREEK MUSICAL LEIMMA -1D246..1D2FF ; disallowed # NA <reserved-1D246>..<reserved-1D2FF> -1D300..1D356 ; valid ; ; NV8 # 4.0 MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING -1D357..1D35F ; disallowed # NA <reserved-1D357>..<reserved-1D35F> -1D360..1D371 ; valid ; ; NV8 # 5.0 COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE -1D372..1D3FF ; disallowed # NA <reserved-1D372>..<reserved-1D3FF> -1D400 ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD CAPITAL A -1D401 ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD CAPITAL B -1D402 ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD CAPITAL C -1D403 ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD CAPITAL D -1D404 ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD CAPITAL E -1D405 ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD CAPITAL F -1D406 ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD CAPITAL G -1D407 ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD CAPITAL H -1D408 ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD CAPITAL I -1D409 ; mapped ; 006A # 3.1 MATHEMATICAL BOLD CAPITAL J -1D40A ; mapped ; 006B # 3.1 MATHEMATICAL BOLD CAPITAL K -1D40B ; mapped ; 006C # 3.1 MATHEMATICAL BOLD CAPITAL L -1D40C ; mapped ; 006D # 3.1 MATHEMATICAL BOLD CAPITAL M -1D40D ; mapped ; 006E # 3.1 MATHEMATICAL BOLD CAPITAL N -1D40E ; mapped ; 006F # 3.1 MATHEMATICAL BOLD CAPITAL O -1D40F ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD CAPITAL P -1D410 ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD CAPITAL Q -1D411 ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD CAPITAL R -1D412 ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD CAPITAL S -1D413 ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD CAPITAL T -1D414 ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD CAPITAL U -1D415 ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD CAPITAL V -1D416 ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD CAPITAL W -1D417 ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD CAPITAL X -1D418 ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD CAPITAL Y -1D419 ; mapped ; 007A # 3.1 MATHEMATICAL BOLD CAPITAL Z -1D41A ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD SMALL A -1D41B ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD SMALL B -1D41C ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD SMALL C -1D41D ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD SMALL D -1D41E ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD SMALL E -1D41F ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD SMALL F -1D420 ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD SMALL G -1D421 ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD SMALL H -1D422 ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD SMALL I -1D423 ; mapped ; 006A # 3.1 MATHEMATICAL BOLD SMALL J -1D424 ; mapped ; 006B # 3.1 MATHEMATICAL BOLD SMALL K -1D425 ; mapped ; 006C # 3.1 MATHEMATICAL BOLD SMALL L -1D426 ; mapped ; 006D # 3.1 MATHEMATICAL BOLD SMALL M -1D427 ; mapped ; 006E # 3.1 MATHEMATICAL BOLD SMALL N -1D428 ; mapped ; 006F # 3.1 MATHEMATICAL BOLD SMALL O -1D429 ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD SMALL P -1D42A ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD SMALL Q -1D42B ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD SMALL R -1D42C ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD SMALL S -1D42D ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD SMALL T -1D42E ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD SMALL U -1D42F ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD SMALL V -1D430 ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD SMALL W -1D431 ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD SMALL X -1D432 ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD SMALL Y -1D433 ; mapped ; 007A # 3.1 MATHEMATICAL BOLD SMALL Z -1D434 ; mapped ; 0061 # 3.1 MATHEMATICAL ITALIC CAPITAL A -1D435 ; mapped ; 0062 # 3.1 MATHEMATICAL ITALIC CAPITAL B -1D436 ; mapped ; 0063 # 3.1 MATHEMATICAL ITALIC CAPITAL C -1D437 ; mapped ; 0064 # 3.1 MATHEMATICAL ITALIC CAPITAL D -1D438 ; mapped ; 0065 # 3.1 MATHEMATICAL ITALIC CAPITAL E -1D439 ; mapped ; 0066 # 3.1 MATHEMATICAL ITALIC CAPITAL F -1D43A ; mapped ; 0067 # 3.1 MATHEMATICAL ITALIC CAPITAL G -1D43B ; mapped ; 0068 # 3.1 MATHEMATICAL ITALIC CAPITAL H -1D43C ; mapped ; 0069 # 3.1 MATHEMATICAL ITALIC CAPITAL I -1D43D ; mapped ; 006A # 3.1 MATHEMATICAL ITALIC CAPITAL J -1D43E ; mapped ; 006B # 3.1 MATHEMATICAL ITALIC CAPITAL K -1D43F ; mapped ; 006C # 3.1 MATHEMATICAL ITALIC CAPITAL L -1D440 ; mapped ; 006D # 3.1 MATHEMATICAL ITALIC CAPITAL M -1D441 ; mapped ; 006E # 3.1 MATHEMATICAL ITALIC CAPITAL N -1D442 ; mapped ; 006F # 3.1 MATHEMATICAL ITALIC CAPITAL O -1D443 ; mapped ; 0070 # 3.1 MATHEMATICAL ITALIC CAPITAL P -1D444 ; mapped ; 0071 # 3.1 MATHEMATICAL ITALIC CAPITAL Q -1D445 ; mapped ; 0072 # 3.1 MATHEMATICAL ITALIC CAPITAL R -1D446 ; mapped ; 0073 # 3.1 MATHEMATICAL ITALIC CAPITAL S -1D447 ; mapped ; 0074 # 3.1 MATHEMATICAL ITALIC CAPITAL T -1D448 ; mapped ; 0075 # 3.1 MATHEMATICAL ITALIC CAPITAL U -1D449 ; mapped ; 0076 # 3.1 MATHEMATICAL ITALIC CAPITAL V -1D44A ; mapped ; 0077 # 3.1 MATHEMATICAL ITALIC CAPITAL W -1D44B ; mapped ; 0078 # 3.1 MATHEMATICAL ITALIC CAPITAL X -1D44C ; mapped ; 0079 # 3.1 MATHEMATICAL ITALIC CAPITAL Y -1D44D ; mapped ; 007A # 3.1 MATHEMATICAL ITALIC CAPITAL Z -1D44E ; mapped ; 0061 # 3.1 MATHEMATICAL ITALIC SMALL A -1D44F ; mapped ; 0062 # 3.1 MATHEMATICAL ITALIC SMALL B -1D450 ; mapped ; 0063 # 3.1 MATHEMATICAL ITALIC SMALL C -1D451 ; mapped ; 0064 # 3.1 MATHEMATICAL ITALIC SMALL D -1D452 ; mapped ; 0065 # 3.1 MATHEMATICAL ITALIC SMALL E -1D453 ; mapped ; 0066 # 3.1 MATHEMATICAL ITALIC SMALL F -1D454 ; mapped ; 0067 # 3.1 MATHEMATICAL ITALIC SMALL G -1D455 ; disallowed # NA <reserved-1D455> -1D456 ; mapped ; 0069 # 3.1 MATHEMATICAL ITALIC SMALL I -1D457 ; mapped ; 006A # 3.1 MATHEMATICAL ITALIC SMALL J -1D458 ; mapped ; 006B # 3.1 MATHEMATICAL ITALIC SMALL K -1D459 ; mapped ; 006C # 3.1 MATHEMATICAL ITALIC SMALL L -1D45A ; mapped ; 006D # 3.1 MATHEMATICAL ITALIC SMALL M -1D45B ; mapped ; 006E # 3.1 MATHEMATICAL ITALIC SMALL N -1D45C ; mapped ; 006F # 3.1 MATHEMATICAL ITALIC SMALL O -1D45D ; mapped ; 0070 # 3.1 MATHEMATICAL ITALIC SMALL P -1D45E ; mapped ; 0071 # 3.1 MATHEMATICAL ITALIC SMALL Q -1D45F ; mapped ; 0072 # 3.1 MATHEMATICAL ITALIC SMALL R -1D460 ; mapped ; 0073 # 3.1 MATHEMATICAL ITALIC SMALL S -1D461 ; mapped ; 0074 # 3.1 MATHEMATICAL ITALIC SMALL T -1D462 ; mapped ; 0075 # 3.1 MATHEMATICAL ITALIC SMALL U -1D463 ; mapped ; 0076 # 3.1 MATHEMATICAL ITALIC SMALL V -1D464 ; mapped ; 0077 # 3.1 MATHEMATICAL ITALIC SMALL W -1D465 ; mapped ; 0078 # 3.1 MATHEMATICAL ITALIC SMALL X -1D466 ; mapped ; 0079 # 3.1 MATHEMATICAL ITALIC SMALL Y -1D467 ; mapped ; 007A # 3.1 MATHEMATICAL ITALIC SMALL Z -1D468 ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL A -1D469 ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL B -1D46A ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL C -1D46B ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL D -1D46C ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL E -1D46D ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL F -1D46E ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL G -1D46F ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL H -1D470 ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL I -1D471 ; mapped ; 006A # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL J -1D472 ; mapped ; 006B # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL K -1D473 ; mapped ; 006C # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL L -1D474 ; mapped ; 006D # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL M -1D475 ; mapped ; 006E # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL N -1D476 ; mapped ; 006F # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL O -1D477 ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL P -1D478 ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL Q -1D479 ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL R -1D47A ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL S -1D47B ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL T -1D47C ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL U -1D47D ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL V -1D47E ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL W -1D47F ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL X -1D480 ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL Y -1D481 ; mapped ; 007A # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL Z -1D482 ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD ITALIC SMALL A -1D483 ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD ITALIC SMALL B -1D484 ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD ITALIC SMALL C -1D485 ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD ITALIC SMALL D -1D486 ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD ITALIC SMALL E -1D487 ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD ITALIC SMALL F -1D488 ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD ITALIC SMALL G -1D489 ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD ITALIC SMALL H -1D48A ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD ITALIC SMALL I -1D48B ; mapped ; 006A # 3.1 MATHEMATICAL BOLD ITALIC SMALL J -1D48C ; mapped ; 006B # 3.1 MATHEMATICAL BOLD ITALIC SMALL K -1D48D ; mapped ; 006C # 3.1 MATHEMATICAL BOLD ITALIC SMALL L -1D48E ; mapped ; 006D # 3.1 MATHEMATICAL BOLD ITALIC SMALL M -1D48F ; mapped ; 006E # 3.1 MATHEMATICAL BOLD ITALIC SMALL N -1D490 ; mapped ; 006F # 3.1 MATHEMATICAL BOLD ITALIC SMALL O -1D491 ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD ITALIC SMALL P -1D492 ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD ITALIC SMALL Q -1D493 ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD ITALIC SMALL R -1D494 ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD ITALIC SMALL S -1D495 ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD ITALIC SMALL T -1D496 ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD ITALIC SMALL U -1D497 ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD ITALIC SMALL V -1D498 ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD ITALIC SMALL W -1D499 ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD ITALIC SMALL X -1D49A ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD ITALIC SMALL Y -1D49B ; mapped ; 007A # 3.1 MATHEMATICAL BOLD ITALIC SMALL Z -1D49C ; mapped ; 0061 # 3.1 MATHEMATICAL SCRIPT CAPITAL A -1D49D ; disallowed # NA <reserved-1D49D> -1D49E ; mapped ; 0063 # 3.1 MATHEMATICAL SCRIPT CAPITAL C -1D49F ; mapped ; 0064 # 3.1 MATHEMATICAL SCRIPT CAPITAL D -1D4A0..1D4A1 ; disallowed # NA <reserved-1D4A0>..<reserved-1D4A1> -1D4A2 ; mapped ; 0067 # 3.1 MATHEMATICAL SCRIPT CAPITAL G -1D4A3..1D4A4 ; disallowed # NA <reserved-1D4A3>..<reserved-1D4A4> -1D4A5 ; mapped ; 006A # 3.1 MATHEMATICAL SCRIPT CAPITAL J -1D4A6 ; mapped ; 006B # 3.1 MATHEMATICAL SCRIPT CAPITAL K -1D4A7..1D4A8 ; disallowed # NA <reserved-1D4A7>..<reserved-1D4A8> -1D4A9 ; mapped ; 006E # 3.1 MATHEMATICAL SCRIPT CAPITAL N -1D4AA ; mapped ; 006F # 3.1 MATHEMATICAL SCRIPT CAPITAL O -1D4AB ; mapped ; 0070 # 3.1 MATHEMATICAL SCRIPT CAPITAL P -1D4AC ; mapped ; 0071 # 3.1 MATHEMATICAL SCRIPT CAPITAL Q -1D4AD ; disallowed # NA <reserved-1D4AD> -1D4AE ; mapped ; 0073 # 3.1 MATHEMATICAL SCRIPT CAPITAL S -1D4AF ; mapped ; 0074 # 3.1 MATHEMATICAL SCRIPT CAPITAL T -1D4B0 ; mapped ; 0075 # 3.1 MATHEMATICAL SCRIPT CAPITAL U -1D4B1 ; mapped ; 0076 # 3.1 MATHEMATICAL SCRIPT CAPITAL V -1D4B2 ; mapped ; 0077 # 3.1 MATHEMATICAL SCRIPT CAPITAL W -1D4B3 ; mapped ; 0078 # 3.1 MATHEMATICAL SCRIPT CAPITAL X -1D4B4 ; mapped ; 0079 # 3.1 MATHEMATICAL SCRIPT CAPITAL Y -1D4B5 ; mapped ; 007A # 3.1 MATHEMATICAL SCRIPT CAPITAL Z -1D4B6 ; mapped ; 0061 # 3.1 MATHEMATICAL SCRIPT SMALL A -1D4B7 ; mapped ; 0062 # 3.1 MATHEMATICAL SCRIPT SMALL B -1D4B8 ; mapped ; 0063 # 3.1 MATHEMATICAL SCRIPT SMALL C -1D4B9 ; mapped ; 0064 # 3.1 MATHEMATICAL SCRIPT SMALL D -1D4BA ; disallowed # NA <reserved-1D4BA> -1D4BB ; mapped ; 0066 # 3.1 MATHEMATICAL SCRIPT SMALL F -1D4BC ; disallowed # NA <reserved-1D4BC> -1D4BD ; mapped ; 0068 # 3.1 MATHEMATICAL SCRIPT SMALL H -1D4BE ; mapped ; 0069 # 3.1 MATHEMATICAL SCRIPT SMALL I -1D4BF ; mapped ; 006A # 3.1 MATHEMATICAL SCRIPT SMALL J -1D4C0 ; mapped ; 006B # 3.1 MATHEMATICAL SCRIPT SMALL K -1D4C1 ; mapped ; 006C # 4.0 MATHEMATICAL SCRIPT SMALL L -1D4C2 ; mapped ; 006D # 3.1 MATHEMATICAL SCRIPT SMALL M -1D4C3 ; mapped ; 006E # 3.1 MATHEMATICAL SCRIPT SMALL N -1D4C4 ; disallowed # NA <reserved-1D4C4> -1D4C5 ; mapped ; 0070 # 3.1 MATHEMATICAL SCRIPT SMALL P -1D4C6 ; mapped ; 0071 # 3.1 MATHEMATICAL SCRIPT SMALL Q -1D4C7 ; mapped ; 0072 # 3.1 MATHEMATICAL SCRIPT SMALL R -1D4C8 ; mapped ; 0073 # 3.1 MATHEMATICAL SCRIPT SMALL S -1D4C9 ; mapped ; 0074 # 3.1 MATHEMATICAL SCRIPT SMALL T -1D4CA ; mapped ; 0075 # 3.1 MATHEMATICAL SCRIPT SMALL U -1D4CB ; mapped ; 0076 # 3.1 MATHEMATICAL SCRIPT SMALL V -1D4CC ; mapped ; 0077 # 3.1 MATHEMATICAL SCRIPT SMALL W -1D4CD ; mapped ; 0078 # 3.1 MATHEMATICAL SCRIPT SMALL X -1D4CE ; mapped ; 0079 # 3.1 MATHEMATICAL SCRIPT SMALL Y -1D4CF ; mapped ; 007A # 3.1 MATHEMATICAL SCRIPT SMALL Z -1D4D0 ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL A -1D4D1 ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL B -1D4D2 ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL C -1D4D3 ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL D -1D4D4 ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL E -1D4D5 ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL F -1D4D6 ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL G -1D4D7 ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL H -1D4D8 ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL I -1D4D9 ; mapped ; 006A # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL J -1D4DA ; mapped ; 006B # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL K -1D4DB ; mapped ; 006C # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL L -1D4DC ; mapped ; 006D # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL M -1D4DD ; mapped ; 006E # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL N -1D4DE ; mapped ; 006F # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL O -1D4DF ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL P -1D4E0 ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL Q -1D4E1 ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL R -1D4E2 ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL S -1D4E3 ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL T -1D4E4 ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL U -1D4E5 ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL V -1D4E6 ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL W -1D4E7 ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL X -1D4E8 ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL Y -1D4E9 ; mapped ; 007A # 3.1 MATHEMATICAL BOLD SCRIPT CAPITAL Z -1D4EA ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL A -1D4EB ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL B -1D4EC ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL C -1D4ED ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL D -1D4EE ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL E -1D4EF ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL F -1D4F0 ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL G -1D4F1 ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL H -1D4F2 ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL I -1D4F3 ; mapped ; 006A # 3.1 MATHEMATICAL BOLD SCRIPT SMALL J -1D4F4 ; mapped ; 006B # 3.1 MATHEMATICAL BOLD SCRIPT SMALL K -1D4F5 ; mapped ; 006C # 3.1 MATHEMATICAL BOLD SCRIPT SMALL L -1D4F6 ; mapped ; 006D # 3.1 MATHEMATICAL BOLD SCRIPT SMALL M -1D4F7 ; mapped ; 006E # 3.1 MATHEMATICAL BOLD SCRIPT SMALL N -1D4F8 ; mapped ; 006F # 3.1 MATHEMATICAL BOLD SCRIPT SMALL O -1D4F9 ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL P -1D4FA ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL Q -1D4FB ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL R -1D4FC ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL S -1D4FD ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL T -1D4FE ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL U -1D4FF ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL V -1D500 ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL W -1D501 ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL X -1D502 ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD SCRIPT SMALL Y -1D503 ; mapped ; 007A # 3.1 MATHEMATICAL BOLD SCRIPT SMALL Z -1D504 ; mapped ; 0061 # 3.1 MATHEMATICAL FRAKTUR CAPITAL A -1D505 ; mapped ; 0062 # 3.1 MATHEMATICAL FRAKTUR CAPITAL B -1D506 ; disallowed # NA <reserved-1D506> -1D507 ; mapped ; 0064 # 3.1 MATHEMATICAL FRAKTUR CAPITAL D -1D508 ; mapped ; 0065 # 3.1 MATHEMATICAL FRAKTUR CAPITAL E -1D509 ; mapped ; 0066 # 3.1 MATHEMATICAL FRAKTUR CAPITAL F -1D50A ; mapped ; 0067 # 3.1 MATHEMATICAL FRAKTUR CAPITAL G -1D50B..1D50C ; disallowed # NA <reserved-1D50B>..<reserved-1D50C> -1D50D ; mapped ; 006A # 3.1 MATHEMATICAL FRAKTUR CAPITAL J -1D50E ; mapped ; 006B # 3.1 MATHEMATICAL FRAKTUR CAPITAL K -1D50F ; mapped ; 006C # 3.1 MATHEMATICAL FRAKTUR CAPITAL L -1D510 ; mapped ; 006D # 3.1 MATHEMATICAL FRAKTUR CAPITAL M -1D511 ; mapped ; 006E # 3.1 MATHEMATICAL FRAKTUR CAPITAL N -1D512 ; mapped ; 006F # 3.1 MATHEMATICAL FRAKTUR CAPITAL O -1D513 ; mapped ; 0070 # 3.1 MATHEMATICAL FRAKTUR CAPITAL P -1D514 ; mapped ; 0071 # 3.1 MATHEMATICAL FRAKTUR CAPITAL Q -1D515 ; disallowed # NA <reserved-1D515> -1D516 ; mapped ; 0073 # 3.1 MATHEMATICAL FRAKTUR CAPITAL S -1D517 ; mapped ; 0074 # 3.1 MATHEMATICAL FRAKTUR CAPITAL T -1D518 ; mapped ; 0075 # 3.1 MATHEMATICAL FRAKTUR CAPITAL U -1D519 ; mapped ; 0076 # 3.1 MATHEMATICAL FRAKTUR CAPITAL V -1D51A ; mapped ; 0077 # 3.1 MATHEMATICAL FRAKTUR CAPITAL W -1D51B ; mapped ; 0078 # 3.1 MATHEMATICAL FRAKTUR CAPITAL X -1D51C ; mapped ; 0079 # 3.1 MATHEMATICAL FRAKTUR CAPITAL Y -1D51D ; disallowed # NA <reserved-1D51D> -1D51E ; mapped ; 0061 # 3.1 MATHEMATICAL FRAKTUR SMALL A -1D51F ; mapped ; 0062 # 3.1 MATHEMATICAL FRAKTUR SMALL B -1D520 ; mapped ; 0063 # 3.1 MATHEMATICAL FRAKTUR SMALL C -1D521 ; mapped ; 0064 # 3.1 MATHEMATICAL FRAKTUR SMALL D -1D522 ; mapped ; 0065 # 3.1 MATHEMATICAL FRAKTUR SMALL E -1D523 ; mapped ; 0066 # 3.1 MATHEMATICAL FRAKTUR SMALL F -1D524 ; mapped ; 0067 # 3.1 MATHEMATICAL FRAKTUR SMALL G -1D525 ; mapped ; 0068 # 3.1 MATHEMATICAL FRAKTUR SMALL H -1D526 ; mapped ; 0069 # 3.1 MATHEMATICAL FRAKTUR SMALL I -1D527 ; mapped ; 006A # 3.1 MATHEMATICAL FRAKTUR SMALL J -1D528 ; mapped ; 006B # 3.1 MATHEMATICAL FRAKTUR SMALL K -1D529 ; mapped ; 006C # 3.1 MATHEMATICAL FRAKTUR SMALL L -1D52A ; mapped ; 006D # 3.1 MATHEMATICAL FRAKTUR SMALL M -1D52B ; mapped ; 006E # 3.1 MATHEMATICAL FRAKTUR SMALL N -1D52C ; mapped ; 006F # 3.1 MATHEMATICAL FRAKTUR SMALL O -1D52D ; mapped ; 0070 # 3.1 MATHEMATICAL FRAKTUR SMALL P -1D52E ; mapped ; 0071 # 3.1 MATHEMATICAL FRAKTUR SMALL Q -1D52F ; mapped ; 0072 # 3.1 MATHEMATICAL FRAKTUR SMALL R -1D530 ; mapped ; 0073 # 3.1 MATHEMATICAL FRAKTUR SMALL S -1D531 ; mapped ; 0074 # 3.1 MATHEMATICAL FRAKTUR SMALL T -1D532 ; mapped ; 0075 # 3.1 MATHEMATICAL FRAKTUR SMALL U -1D533 ; mapped ; 0076 # 3.1 MATHEMATICAL FRAKTUR SMALL V -1D534 ; mapped ; 0077 # 3.1 MATHEMATICAL FRAKTUR SMALL W -1D535 ; mapped ; 0078 # 3.1 MATHEMATICAL FRAKTUR SMALL X -1D536 ; mapped ; 0079 # 3.1 MATHEMATICAL FRAKTUR SMALL Y -1D537 ; mapped ; 007A # 3.1 MATHEMATICAL FRAKTUR SMALL Z -1D538 ; mapped ; 0061 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL A -1D539 ; mapped ; 0062 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL B -1D53A ; disallowed # NA <reserved-1D53A> -1D53B ; mapped ; 0064 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL D -1D53C ; mapped ; 0065 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL E -1D53D ; mapped ; 0066 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL F -1D53E ; mapped ; 0067 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL G -1D53F ; disallowed # NA <reserved-1D53F> -1D540 ; mapped ; 0069 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL I -1D541 ; mapped ; 006A # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL J -1D542 ; mapped ; 006B # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL K -1D543 ; mapped ; 006C # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL L -1D544 ; mapped ; 006D # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL M -1D545 ; disallowed # NA <reserved-1D545> -1D546 ; mapped ; 006F # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL O -1D547..1D549 ; disallowed # NA <reserved-1D547>..<reserved-1D549> -1D54A ; mapped ; 0073 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL S -1D54B ; mapped ; 0074 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL T -1D54C ; mapped ; 0075 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL U -1D54D ; mapped ; 0076 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL V -1D54E ; mapped ; 0077 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL W -1D54F ; mapped ; 0078 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL X -1D550 ; mapped ; 0079 # 3.1 MATHEMATICAL DOUBLE-STRUCK CAPITAL Y -1D551 ; disallowed # NA <reserved-1D551> -1D552 ; mapped ; 0061 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL A -1D553 ; mapped ; 0062 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL B -1D554 ; mapped ; 0063 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL C -1D555 ; mapped ; 0064 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL D -1D556 ; mapped ; 0065 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL E -1D557 ; mapped ; 0066 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL F -1D558 ; mapped ; 0067 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL G -1D559 ; mapped ; 0068 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL H -1D55A ; mapped ; 0069 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL I -1D55B ; mapped ; 006A # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL J -1D55C ; mapped ; 006B # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL K -1D55D ; mapped ; 006C # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL L -1D55E ; mapped ; 006D # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL M -1D55F ; mapped ; 006E # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL N -1D560 ; mapped ; 006F # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL O -1D561 ; mapped ; 0070 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL P -1D562 ; mapped ; 0071 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL Q -1D563 ; mapped ; 0072 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL R -1D564 ; mapped ; 0073 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL S -1D565 ; mapped ; 0074 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL T -1D566 ; mapped ; 0075 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL U -1D567 ; mapped ; 0076 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL V -1D568 ; mapped ; 0077 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL W -1D569 ; mapped ; 0078 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL X -1D56A ; mapped ; 0079 # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL Y -1D56B ; mapped ; 007A # 3.1 MATHEMATICAL DOUBLE-STRUCK SMALL Z -1D56C ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL A -1D56D ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL B -1D56E ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL C -1D56F ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL D -1D570 ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL E -1D571 ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL F -1D572 ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL G -1D573 ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL H -1D574 ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL I -1D575 ; mapped ; 006A # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL J -1D576 ; mapped ; 006B # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL K -1D577 ; mapped ; 006C # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL L -1D578 ; mapped ; 006D # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL M -1D579 ; mapped ; 006E # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL N -1D57A ; mapped ; 006F # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL O -1D57B ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL P -1D57C ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL Q -1D57D ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL R -1D57E ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL S -1D57F ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL T -1D580 ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL U -1D581 ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL V -1D582 ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL W -1D583 ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL X -1D584 ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL Y -1D585 ; mapped ; 007A # 3.1 MATHEMATICAL BOLD FRAKTUR CAPITAL Z -1D586 ; mapped ; 0061 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL A -1D587 ; mapped ; 0062 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL B -1D588 ; mapped ; 0063 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL C -1D589 ; mapped ; 0064 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL D -1D58A ; mapped ; 0065 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL E -1D58B ; mapped ; 0066 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL F -1D58C ; mapped ; 0067 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL G -1D58D ; mapped ; 0068 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL H -1D58E ; mapped ; 0069 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL I -1D58F ; mapped ; 006A # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL J -1D590 ; mapped ; 006B # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL K -1D591 ; mapped ; 006C # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL L -1D592 ; mapped ; 006D # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL M -1D593 ; mapped ; 006E # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL N -1D594 ; mapped ; 006F # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL O -1D595 ; mapped ; 0070 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL P -1D596 ; mapped ; 0071 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL Q -1D597 ; mapped ; 0072 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL R -1D598 ; mapped ; 0073 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL S -1D599 ; mapped ; 0074 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL T -1D59A ; mapped ; 0075 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL U -1D59B ; mapped ; 0076 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL V -1D59C ; mapped ; 0077 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL W -1D59D ; mapped ; 0078 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL X -1D59E ; mapped ; 0079 # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL Y -1D59F ; mapped ; 007A # 3.1 MATHEMATICAL BOLD FRAKTUR SMALL Z -1D5A0 ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL A -1D5A1 ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL B -1D5A2 ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL C -1D5A3 ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL D -1D5A4 ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL E -1D5A5 ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL F -1D5A6 ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL G -1D5A7 ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL H -1D5A8 ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL I -1D5A9 ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF CAPITAL J -1D5AA ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF CAPITAL K -1D5AB ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF CAPITAL L -1D5AC ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF CAPITAL M -1D5AD ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF CAPITAL N -1D5AE ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF CAPITAL O -1D5AF ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL P -1D5B0 ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL Q -1D5B1 ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL R -1D5B2 ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL S -1D5B3 ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL T -1D5B4 ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL U -1D5B5 ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL V -1D5B6 ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL W -1D5B7 ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL X -1D5B8 ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF CAPITAL Y -1D5B9 ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF CAPITAL Z -1D5BA ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF SMALL A -1D5BB ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF SMALL B -1D5BC ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF SMALL C -1D5BD ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF SMALL D -1D5BE ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF SMALL E -1D5BF ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF SMALL F -1D5C0 ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF SMALL G -1D5C1 ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF SMALL H -1D5C2 ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF SMALL I -1D5C3 ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF SMALL J -1D5C4 ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF SMALL K -1D5C5 ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF SMALL L -1D5C6 ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF SMALL M -1D5C7 ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF SMALL N -1D5C8 ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF SMALL O -1D5C9 ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF SMALL P -1D5CA ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF SMALL Q -1D5CB ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF SMALL R -1D5CC ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF SMALL S -1D5CD ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF SMALL T -1D5CE ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF SMALL U -1D5CF ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF SMALL V -1D5D0 ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF SMALL W -1D5D1 ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF SMALL X -1D5D2 ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF SMALL Y -1D5D3 ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF SMALL Z -1D5D4 ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL A -1D5D5 ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL B -1D5D6 ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL C -1D5D7 ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL D -1D5D8 ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL E -1D5D9 ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL F -1D5DA ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL G -1D5DB ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL H -1D5DC ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL I -1D5DD ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL J -1D5DE ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL K -1D5DF ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL L -1D5E0 ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL M -1D5E1 ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL N -1D5E2 ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL O -1D5E3 ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL P -1D5E4 ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL Q -1D5E5 ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL R -1D5E6 ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL S -1D5E7 ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL T -1D5E8 ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL U -1D5E9 ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL V -1D5EA ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL W -1D5EB ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL X -1D5EC ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL Y -1D5ED ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL Z -1D5EE ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL A -1D5EF ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL B -1D5F0 ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL C -1D5F1 ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL D -1D5F2 ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL E -1D5F3 ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL F -1D5F4 ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL G -1D5F5 ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL H -1D5F6 ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL I -1D5F7 ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL J -1D5F8 ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL K -1D5F9 ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL L -1D5FA ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL M -1D5FB ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL N -1D5FC ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL O -1D5FD ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL P -1D5FE ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL Q -1D5FF ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL R -1D600 ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL S -1D601 ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL T -1D602 ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL U -1D603 ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL V -1D604 ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL W -1D605 ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL X -1D606 ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL Y -1D607 ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL Z -1D608 ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL A -1D609 ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL B -1D60A ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL C -1D60B ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL D -1D60C ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL E -1D60D ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL F -1D60E ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL G -1D60F ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL H -1D610 ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL I -1D611 ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL J -1D612 ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL K -1D613 ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL L -1D614 ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL M -1D615 ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL N -1D616 ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL O -1D617 ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL P -1D618 ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q -1D619 ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL R -1D61A ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL S -1D61B ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL T -1D61C ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL U -1D61D ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL V -1D61E ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL W -1D61F ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL X -1D620 ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y -1D621 ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z -1D622 ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL A -1D623 ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL B -1D624 ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL C -1D625 ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL D -1D626 ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL E -1D627 ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL F -1D628 ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL G -1D629 ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL H -1D62A ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL I -1D62B ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL J -1D62C ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL K -1D62D ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL L -1D62E ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL M -1D62F ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL N -1D630 ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL O -1D631 ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL P -1D632 ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL Q -1D633 ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL R -1D634 ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL S -1D635 ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL T -1D636 ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL U -1D637 ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL V -1D638 ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL W -1D639 ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL X -1D63A ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL Y -1D63B ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF ITALIC SMALL Z -1D63C ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A -1D63D ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B -1D63E ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C -1D63F ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D -1D640 ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E -1D641 ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F -1D642 ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G -1D643 ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H -1D644 ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I -1D645 ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J -1D646 ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K -1D647 ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L -1D648 ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M -1D649 ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N -1D64A ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O -1D64B ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P -1D64C ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q -1D64D ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R -1D64E ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S -1D64F ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T -1D650 ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U -1D651 ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V -1D652 ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W -1D653 ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X -1D654 ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y -1D655 ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z -1D656 ; mapped ; 0061 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A -1D657 ; mapped ; 0062 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B -1D658 ; mapped ; 0063 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C -1D659 ; mapped ; 0064 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D -1D65A ; mapped ; 0065 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E -1D65B ; mapped ; 0066 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F -1D65C ; mapped ; 0067 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G -1D65D ; mapped ; 0068 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H -1D65E ; mapped ; 0069 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I -1D65F ; mapped ; 006A # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J -1D660 ; mapped ; 006B # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K -1D661 ; mapped ; 006C # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L -1D662 ; mapped ; 006D # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M -1D663 ; mapped ; 006E # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N -1D664 ; mapped ; 006F # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O -1D665 ; mapped ; 0070 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P -1D666 ; mapped ; 0071 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q -1D667 ; mapped ; 0072 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R -1D668 ; mapped ; 0073 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S -1D669 ; mapped ; 0074 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T -1D66A ; mapped ; 0075 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U -1D66B ; mapped ; 0076 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V -1D66C ; mapped ; 0077 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W -1D66D ; mapped ; 0078 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X -1D66E ; mapped ; 0079 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y -1D66F ; mapped ; 007A # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z -1D670 ; mapped ; 0061 # 3.1 MATHEMATICAL MONOSPACE CAPITAL A -1D671 ; mapped ; 0062 # 3.1 MATHEMATICAL MONOSPACE CAPITAL B -1D672 ; mapped ; 0063 # 3.1 MATHEMATICAL MONOSPACE CAPITAL C -1D673 ; mapped ; 0064 # 3.1 MATHEMATICAL MONOSPACE CAPITAL D -1D674 ; mapped ; 0065 # 3.1 MATHEMATICAL MONOSPACE CAPITAL E -1D675 ; mapped ; 0066 # 3.1 MATHEMATICAL MONOSPACE CAPITAL F -1D676 ; mapped ; 0067 # 3.1 MATHEMATICAL MONOSPACE CAPITAL G -1D677 ; mapped ; 0068 # 3.1 MATHEMATICAL MONOSPACE CAPITAL H -1D678 ; mapped ; 0069 # 3.1 MATHEMATICAL MONOSPACE CAPITAL I -1D679 ; mapped ; 006A # 3.1 MATHEMATICAL MONOSPACE CAPITAL J -1D67A ; mapped ; 006B # 3.1 MATHEMATICAL MONOSPACE CAPITAL K -1D67B ; mapped ; 006C # 3.1 MATHEMATICAL MONOSPACE CAPITAL L -1D67C ; mapped ; 006D # 3.1 MATHEMATICAL MONOSPACE CAPITAL M -1D67D ; mapped ; 006E # 3.1 MATHEMATICAL MONOSPACE CAPITAL N -1D67E ; mapped ; 006F # 3.1 MATHEMATICAL MONOSPACE CAPITAL O -1D67F ; mapped ; 0070 # 3.1 MATHEMATICAL MONOSPACE CAPITAL P -1D680 ; mapped ; 0071 # 3.1 MATHEMATICAL MONOSPACE CAPITAL Q -1D681 ; mapped ; 0072 # 3.1 MATHEMATICAL MONOSPACE CAPITAL R -1D682 ; mapped ; 0073 # 3.1 MATHEMATICAL MONOSPACE CAPITAL S -1D683 ; mapped ; 0074 # 3.1 MATHEMATICAL MONOSPACE CAPITAL T -1D684 ; mapped ; 0075 # 3.1 MATHEMATICAL MONOSPACE CAPITAL U -1D685 ; mapped ; 0076 # 3.1 MATHEMATICAL MONOSPACE CAPITAL V -1D686 ; mapped ; 0077 # 3.1 MATHEMATICAL MONOSPACE CAPITAL W -1D687 ; mapped ; 0078 # 3.1 MATHEMATICAL MONOSPACE CAPITAL X -1D688 ; mapped ; 0079 # 3.1 MATHEMATICAL MONOSPACE CAPITAL Y -1D689 ; mapped ; 007A # 3.1 MATHEMATICAL MONOSPACE CAPITAL Z -1D68A ; mapped ; 0061 # 3.1 MATHEMATICAL MONOSPACE SMALL A -1D68B ; mapped ; 0062 # 3.1 MATHEMATICAL MONOSPACE SMALL B -1D68C ; mapped ; 0063 # 3.1 MATHEMATICAL MONOSPACE SMALL C -1D68D ; mapped ; 0064 # 3.1 MATHEMATICAL MONOSPACE SMALL D -1D68E ; mapped ; 0065 # 3.1 MATHEMATICAL MONOSPACE SMALL E -1D68F ; mapped ; 0066 # 3.1 MATHEMATICAL MONOSPACE SMALL F -1D690 ; mapped ; 0067 # 3.1 MATHEMATICAL MONOSPACE SMALL G -1D691 ; mapped ; 0068 # 3.1 MATHEMATICAL MONOSPACE SMALL H -1D692 ; mapped ; 0069 # 3.1 MATHEMATICAL MONOSPACE SMALL I -1D693 ; mapped ; 006A # 3.1 MATHEMATICAL MONOSPACE SMALL J -1D694 ; mapped ; 006B # 3.1 MATHEMATICAL MONOSPACE SMALL K -1D695 ; mapped ; 006C # 3.1 MATHEMATICAL MONOSPACE SMALL L -1D696 ; mapped ; 006D # 3.1 MATHEMATICAL MONOSPACE SMALL M -1D697 ; mapped ; 006E # 3.1 MATHEMATICAL MONOSPACE SMALL N -1D698 ; mapped ; 006F # 3.1 MATHEMATICAL MONOSPACE SMALL O -1D699 ; mapped ; 0070 # 3.1 MATHEMATICAL MONOSPACE SMALL P -1D69A ; mapped ; 0071 # 3.1 MATHEMATICAL MONOSPACE SMALL Q -1D69B ; mapped ; 0072 # 3.1 MATHEMATICAL MONOSPACE SMALL R -1D69C ; mapped ; 0073 # 3.1 MATHEMATICAL MONOSPACE SMALL S -1D69D ; mapped ; 0074 # 3.1 MATHEMATICAL MONOSPACE SMALL T -1D69E ; mapped ; 0075 # 3.1 MATHEMATICAL MONOSPACE SMALL U -1D69F ; mapped ; 0076 # 3.1 MATHEMATICAL MONOSPACE SMALL V -1D6A0 ; mapped ; 0077 # 3.1 MATHEMATICAL MONOSPACE SMALL W -1D6A1 ; mapped ; 0078 # 3.1 MATHEMATICAL MONOSPACE SMALL X -1D6A2 ; mapped ; 0079 # 3.1 MATHEMATICAL MONOSPACE SMALL Y -1D6A3 ; mapped ; 007A # 3.1 MATHEMATICAL MONOSPACE SMALL Z -1D6A4 ; mapped ; 0131 # 4.1 MATHEMATICAL ITALIC SMALL DOTLESS I -1D6A5 ; mapped ; 0237 # 4.1 MATHEMATICAL ITALIC SMALL DOTLESS J -1D6A6..1D6A7 ; disallowed # NA <reserved-1D6A6>..<reserved-1D6A7> -1D6A8 ; mapped ; 03B1 # 3.1 MATHEMATICAL BOLD CAPITAL ALPHA -1D6A9 ; mapped ; 03B2 # 3.1 MATHEMATICAL BOLD CAPITAL BETA -1D6AA ; mapped ; 03B3 # 3.1 MATHEMATICAL BOLD CAPITAL GAMMA -1D6AB ; mapped ; 03B4 # 3.1 MATHEMATICAL BOLD CAPITAL DELTA -1D6AC ; mapped ; 03B5 # 3.1 MATHEMATICAL BOLD CAPITAL EPSILON -1D6AD ; mapped ; 03B6 # 3.1 MATHEMATICAL BOLD CAPITAL ZETA -1D6AE ; mapped ; 03B7 # 3.1 MATHEMATICAL BOLD CAPITAL ETA -1D6AF ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD CAPITAL THETA -1D6B0 ; mapped ; 03B9 # 3.1 MATHEMATICAL BOLD CAPITAL IOTA -1D6B1 ; mapped ; 03BA # 3.1 MATHEMATICAL BOLD CAPITAL KAPPA -1D6B2 ; mapped ; 03BB # 3.1 MATHEMATICAL BOLD CAPITAL LAMDA -1D6B3 ; mapped ; 03BC # 3.1 MATHEMATICAL BOLD CAPITAL MU -1D6B4 ; mapped ; 03BD # 3.1 MATHEMATICAL BOLD CAPITAL NU -1D6B5 ; mapped ; 03BE # 3.1 MATHEMATICAL BOLD CAPITAL XI -1D6B6 ; mapped ; 03BF # 3.1 MATHEMATICAL BOLD CAPITAL OMICRON -1D6B7 ; mapped ; 03C0 # 3.1 MATHEMATICAL BOLD CAPITAL PI -1D6B8 ; mapped ; 03C1 # 3.1 MATHEMATICAL BOLD CAPITAL RHO -1D6B9 ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD CAPITAL THETA SYMBOL -1D6BA ; mapped ; 03C3 # 3.1 MATHEMATICAL BOLD CAPITAL SIGMA -1D6BB ; mapped ; 03C4 # 3.1 MATHEMATICAL BOLD CAPITAL TAU -1D6BC ; mapped ; 03C5 # 3.1 MATHEMATICAL BOLD CAPITAL UPSILON -1D6BD ; mapped ; 03C6 # 3.1 MATHEMATICAL BOLD CAPITAL PHI -1D6BE ; mapped ; 03C7 # 3.1 MATHEMATICAL BOLD CAPITAL CHI -1D6BF ; mapped ; 03C8 # 3.1 MATHEMATICAL BOLD CAPITAL PSI -1D6C0 ; mapped ; 03C9 # 3.1 MATHEMATICAL BOLD CAPITAL OMEGA -1D6C1 ; mapped ; 2207 # 3.1 MATHEMATICAL BOLD NABLA -1D6C2 ; mapped ; 03B1 # 3.1 MATHEMATICAL BOLD SMALL ALPHA -1D6C3 ; mapped ; 03B2 # 3.1 MATHEMATICAL BOLD SMALL BETA -1D6C4 ; mapped ; 03B3 # 3.1 MATHEMATICAL BOLD SMALL GAMMA -1D6C5 ; mapped ; 03B4 # 3.1 MATHEMATICAL BOLD SMALL DELTA -1D6C6 ; mapped ; 03B5 # 3.1 MATHEMATICAL BOLD SMALL EPSILON -1D6C7 ; mapped ; 03B6 # 3.1 MATHEMATICAL BOLD SMALL ZETA -1D6C8 ; mapped ; 03B7 # 3.1 MATHEMATICAL BOLD SMALL ETA -1D6C9 ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD SMALL THETA -1D6CA ; mapped ; 03B9 # 3.1 MATHEMATICAL BOLD SMALL IOTA -1D6CB ; mapped ; 03BA # 3.1 MATHEMATICAL BOLD SMALL KAPPA -1D6CC ; mapped ; 03BB # 3.1 MATHEMATICAL BOLD SMALL LAMDA -1D6CD ; mapped ; 03BC # 3.1 MATHEMATICAL BOLD SMALL MU -1D6CE ; mapped ; 03BD # 3.1 MATHEMATICAL BOLD SMALL NU -1D6CF ; mapped ; 03BE # 3.1 MATHEMATICAL BOLD SMALL XI -1D6D0 ; mapped ; 03BF # 3.1 MATHEMATICAL BOLD SMALL OMICRON -1D6D1 ; mapped ; 03C0 # 3.1 MATHEMATICAL BOLD SMALL PI -1D6D2 ; mapped ; 03C1 # 3.1 MATHEMATICAL BOLD SMALL RHO -1D6D3..1D6D4 ; mapped ; 03C3 # 3.1 MATHEMATICAL BOLD SMALL FINAL SIGMA..MATHEMATICAL BOLD SMALL SIGMA -1D6D5 ; mapped ; 03C4 # 3.1 MATHEMATICAL BOLD SMALL TAU -1D6D6 ; mapped ; 03C5 # 3.1 MATHEMATICAL BOLD SMALL UPSILON -1D6D7 ; mapped ; 03C6 # 3.1 MATHEMATICAL BOLD SMALL PHI -1D6D8 ; mapped ; 03C7 # 3.1 MATHEMATICAL BOLD SMALL CHI -1D6D9 ; mapped ; 03C8 # 3.1 MATHEMATICAL BOLD SMALL PSI -1D6DA ; mapped ; 03C9 # 3.1 MATHEMATICAL BOLD SMALL OMEGA -1D6DB ; mapped ; 2202 # 3.1 MATHEMATICAL BOLD PARTIAL DIFFERENTIAL -1D6DC ; mapped ; 03B5 # 3.1 MATHEMATICAL BOLD EPSILON SYMBOL -1D6DD ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD THETA SYMBOL -1D6DE ; mapped ; 03BA # 3.1 MATHEMATICAL BOLD KAPPA SYMBOL -1D6DF ; mapped ; 03C6 # 3.1 MATHEMATICAL BOLD PHI SYMBOL -1D6E0 ; mapped ; 03C1 # 3.1 MATHEMATICAL BOLD RHO SYMBOL -1D6E1 ; mapped ; 03C0 # 3.1 MATHEMATICAL BOLD PI SYMBOL -1D6E2 ; mapped ; 03B1 # 3.1 MATHEMATICAL ITALIC CAPITAL ALPHA -1D6E3 ; mapped ; 03B2 # 3.1 MATHEMATICAL ITALIC CAPITAL BETA -1D6E4 ; mapped ; 03B3 # 3.1 MATHEMATICAL ITALIC CAPITAL GAMMA -1D6E5 ; mapped ; 03B4 # 3.1 MATHEMATICAL ITALIC CAPITAL DELTA -1D6E6 ; mapped ; 03B5 # 3.1 MATHEMATICAL ITALIC CAPITAL EPSILON -1D6E7 ; mapped ; 03B6 # 3.1 MATHEMATICAL ITALIC CAPITAL ZETA -1D6E8 ; mapped ; 03B7 # 3.1 MATHEMATICAL ITALIC CAPITAL ETA -1D6E9 ; mapped ; 03B8 # 3.1 MATHEMATICAL ITALIC CAPITAL THETA -1D6EA ; mapped ; 03B9 # 3.1 MATHEMATICAL ITALIC CAPITAL IOTA -1D6EB ; mapped ; 03BA # 3.1 MATHEMATICAL ITALIC CAPITAL KAPPA -1D6EC ; mapped ; 03BB # 3.1 MATHEMATICAL ITALIC CAPITAL LAMDA -1D6ED ; mapped ; 03BC # 3.1 MATHEMATICAL ITALIC CAPITAL MU -1D6EE ; mapped ; 03BD # 3.1 MATHEMATICAL ITALIC CAPITAL NU -1D6EF ; mapped ; 03BE # 3.1 MATHEMATICAL ITALIC CAPITAL XI -1D6F0 ; mapped ; 03BF # 3.1 MATHEMATICAL ITALIC CAPITAL OMICRON -1D6F1 ; mapped ; 03C0 # 3.1 MATHEMATICAL ITALIC CAPITAL PI -1D6F2 ; mapped ; 03C1 # 3.1 MATHEMATICAL ITALIC CAPITAL RHO -1D6F3 ; mapped ; 03B8 # 3.1 MATHEMATICAL ITALIC CAPITAL THETA SYMBOL -1D6F4 ; mapped ; 03C3 # 3.1 MATHEMATICAL ITALIC CAPITAL SIGMA -1D6F5 ; mapped ; 03C4 # 3.1 MATHEMATICAL ITALIC CAPITAL TAU -1D6F6 ; mapped ; 03C5 # 3.1 MATHEMATICAL ITALIC CAPITAL UPSILON -1D6F7 ; mapped ; 03C6 # 3.1 MATHEMATICAL ITALIC CAPITAL PHI -1D6F8 ; mapped ; 03C7 # 3.1 MATHEMATICAL ITALIC CAPITAL CHI -1D6F9 ; mapped ; 03C8 # 3.1 MATHEMATICAL ITALIC CAPITAL PSI -1D6FA ; mapped ; 03C9 # 3.1 MATHEMATICAL ITALIC CAPITAL OMEGA -1D6FB ; mapped ; 2207 # 3.1 MATHEMATICAL ITALIC NABLA -1D6FC ; mapped ; 03B1 # 3.1 MATHEMATICAL ITALIC SMALL ALPHA -1D6FD ; mapped ; 03B2 # 3.1 MATHEMATICAL ITALIC SMALL BETA -1D6FE ; mapped ; 03B3 # 3.1 MATHEMATICAL ITALIC SMALL GAMMA -1D6FF ; mapped ; 03B4 # 3.1 MATHEMATICAL ITALIC SMALL DELTA -1D700 ; mapped ; 03B5 # 3.1 MATHEMATICAL ITALIC SMALL EPSILON -1D701 ; mapped ; 03B6 # 3.1 MATHEMATICAL ITALIC SMALL ZETA -1D702 ; mapped ; 03B7 # 3.1 MATHEMATICAL ITALIC SMALL ETA -1D703 ; mapped ; 03B8 # 3.1 MATHEMATICAL ITALIC SMALL THETA -1D704 ; mapped ; 03B9 # 3.1 MATHEMATICAL ITALIC SMALL IOTA -1D705 ; mapped ; 03BA # 3.1 MATHEMATICAL ITALIC SMALL KAPPA -1D706 ; mapped ; 03BB # 3.1 MATHEMATICAL ITALIC SMALL LAMDA -1D707 ; mapped ; 03BC # 3.1 MATHEMATICAL ITALIC SMALL MU -1D708 ; mapped ; 03BD # 3.1 MATHEMATICAL ITALIC SMALL NU -1D709 ; mapped ; 03BE # 3.1 MATHEMATICAL ITALIC SMALL XI -1D70A ; mapped ; 03BF # 3.1 MATHEMATICAL ITALIC SMALL OMICRON -1D70B ; mapped ; 03C0 # 3.1 MATHEMATICAL ITALIC SMALL PI -1D70C ; mapped ; 03C1 # 3.1 MATHEMATICAL ITALIC SMALL RHO -1D70D..1D70E ; mapped ; 03C3 # 3.1 MATHEMATICAL ITALIC SMALL FINAL SIGMA..MATHEMATICAL ITALIC SMALL SIGMA -1D70F ; mapped ; 03C4 # 3.1 MATHEMATICAL ITALIC SMALL TAU -1D710 ; mapped ; 03C5 # 3.1 MATHEMATICAL ITALIC SMALL UPSILON -1D711 ; mapped ; 03C6 # 3.1 MATHEMATICAL ITALIC SMALL PHI -1D712 ; mapped ; 03C7 # 3.1 MATHEMATICAL ITALIC SMALL CHI -1D713 ; mapped ; 03C8 # 3.1 MATHEMATICAL ITALIC SMALL PSI -1D714 ; mapped ; 03C9 # 3.1 MATHEMATICAL ITALIC SMALL OMEGA -1D715 ; mapped ; 2202 # 3.1 MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL -1D716 ; mapped ; 03B5 # 3.1 MATHEMATICAL ITALIC EPSILON SYMBOL -1D717 ; mapped ; 03B8 # 3.1 MATHEMATICAL ITALIC THETA SYMBOL -1D718 ; mapped ; 03BA # 3.1 MATHEMATICAL ITALIC KAPPA SYMBOL -1D719 ; mapped ; 03C6 # 3.1 MATHEMATICAL ITALIC PHI SYMBOL -1D71A ; mapped ; 03C1 # 3.1 MATHEMATICAL ITALIC RHO SYMBOL -1D71B ; mapped ; 03C0 # 3.1 MATHEMATICAL ITALIC PI SYMBOL -1D71C ; mapped ; 03B1 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL ALPHA -1D71D ; mapped ; 03B2 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL BETA -1D71E ; mapped ; 03B3 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL GAMMA -1D71F ; mapped ; 03B4 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL DELTA -1D720 ; mapped ; 03B5 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL EPSILON -1D721 ; mapped ; 03B6 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL ZETA -1D722 ; mapped ; 03B7 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL ETA -1D723 ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL THETA -1D724 ; mapped ; 03B9 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL IOTA -1D725 ; mapped ; 03BA # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL KAPPA -1D726 ; mapped ; 03BB # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL LAMDA -1D727 ; mapped ; 03BC # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL MU -1D728 ; mapped ; 03BD # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL NU -1D729 ; mapped ; 03BE # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL XI -1D72A ; mapped ; 03BF # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL OMICRON -1D72B ; mapped ; 03C0 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL PI -1D72C ; mapped ; 03C1 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL RHO -1D72D ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL -1D72E ; mapped ; 03C3 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL SIGMA -1D72F ; mapped ; 03C4 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL TAU -1D730 ; mapped ; 03C5 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL UPSILON -1D731 ; mapped ; 03C6 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL PHI -1D732 ; mapped ; 03C7 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL CHI -1D733 ; mapped ; 03C8 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL PSI -1D734 ; mapped ; 03C9 # 3.1 MATHEMATICAL BOLD ITALIC CAPITAL OMEGA -1D735 ; mapped ; 2207 # 3.1 MATHEMATICAL BOLD ITALIC NABLA -1D736 ; mapped ; 03B1 # 3.1 MATHEMATICAL BOLD ITALIC SMALL ALPHA -1D737 ; mapped ; 03B2 # 3.1 MATHEMATICAL BOLD ITALIC SMALL BETA -1D738 ; mapped ; 03B3 # 3.1 MATHEMATICAL BOLD ITALIC SMALL GAMMA -1D739 ; mapped ; 03B4 # 3.1 MATHEMATICAL BOLD ITALIC SMALL DELTA -1D73A ; mapped ; 03B5 # 3.1 MATHEMATICAL BOLD ITALIC SMALL EPSILON -1D73B ; mapped ; 03B6 # 3.1 MATHEMATICAL BOLD ITALIC SMALL ZETA -1D73C ; mapped ; 03B7 # 3.1 MATHEMATICAL BOLD ITALIC SMALL ETA -1D73D ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD ITALIC SMALL THETA -1D73E ; mapped ; 03B9 # 3.1 MATHEMATICAL BOLD ITALIC SMALL IOTA -1D73F ; mapped ; 03BA # 3.1 MATHEMATICAL BOLD ITALIC SMALL KAPPA -1D740 ; mapped ; 03BB # 3.1 MATHEMATICAL BOLD ITALIC SMALL LAMDA -1D741 ; mapped ; 03BC # 3.1 MATHEMATICAL BOLD ITALIC SMALL MU -1D742 ; mapped ; 03BD # 3.1 MATHEMATICAL BOLD ITALIC SMALL NU -1D743 ; mapped ; 03BE # 3.1 MATHEMATICAL BOLD ITALIC SMALL XI -1D744 ; mapped ; 03BF # 3.1 MATHEMATICAL BOLD ITALIC SMALL OMICRON -1D745 ; mapped ; 03C0 # 3.1 MATHEMATICAL BOLD ITALIC SMALL PI -1D746 ; mapped ; 03C1 # 3.1 MATHEMATICAL BOLD ITALIC SMALL RHO -1D747..1D748 ; mapped ; 03C3 # 3.1 MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA..MATHEMATICAL BOLD ITALIC SMALL SIGMA -1D749 ; mapped ; 03C4 # 3.1 MATHEMATICAL BOLD ITALIC SMALL TAU -1D74A ; mapped ; 03C5 # 3.1 MATHEMATICAL BOLD ITALIC SMALL UPSILON -1D74B ; mapped ; 03C6 # 3.1 MATHEMATICAL BOLD ITALIC SMALL PHI -1D74C ; mapped ; 03C7 # 3.1 MATHEMATICAL BOLD ITALIC SMALL CHI -1D74D ; mapped ; 03C8 # 3.1 MATHEMATICAL BOLD ITALIC SMALL PSI -1D74E ; mapped ; 03C9 # 3.1 MATHEMATICAL BOLD ITALIC SMALL OMEGA -1D74F ; mapped ; 2202 # 3.1 MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL -1D750 ; mapped ; 03B5 # 3.1 MATHEMATICAL BOLD ITALIC EPSILON SYMBOL -1D751 ; mapped ; 03B8 # 3.1 MATHEMATICAL BOLD ITALIC THETA SYMBOL -1D752 ; mapped ; 03BA # 3.1 MATHEMATICAL BOLD ITALIC KAPPA SYMBOL -1D753 ; mapped ; 03C6 # 3.1 MATHEMATICAL BOLD ITALIC PHI SYMBOL -1D754 ; mapped ; 03C1 # 3.1 MATHEMATICAL BOLD ITALIC RHO SYMBOL -1D755 ; mapped ; 03C0 # 3.1 MATHEMATICAL BOLD ITALIC PI SYMBOL -1D756 ; mapped ; 03B1 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA -1D757 ; mapped ; 03B2 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA -1D758 ; mapped ; 03B3 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA -1D759 ; mapped ; 03B4 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA -1D75A ; mapped ; 03B5 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON -1D75B ; mapped ; 03B6 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA -1D75C ; mapped ; 03B7 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA -1D75D ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA -1D75E ; mapped ; 03B9 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA -1D75F ; mapped ; 03BA # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA -1D760 ; mapped ; 03BB # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA -1D761 ; mapped ; 03BC # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL MU -1D762 ; mapped ; 03BD # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL NU -1D763 ; mapped ; 03BE # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL XI -1D764 ; mapped ; 03BF # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON -1D765 ; mapped ; 03C0 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL PI -1D766 ; mapped ; 03C1 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO -1D767 ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL -1D768 ; mapped ; 03C3 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA -1D769 ; mapped ; 03C4 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU -1D76A ; mapped ; 03C5 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON -1D76B ; mapped ; 03C6 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI -1D76C ; mapped ; 03C7 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI -1D76D ; mapped ; 03C8 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI -1D76E ; mapped ; 03C9 # 3.1 MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA -1D76F ; mapped ; 2207 # 3.1 MATHEMATICAL SANS-SERIF BOLD NABLA -1D770 ; mapped ; 03B1 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA -1D771 ; mapped ; 03B2 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL BETA -1D772 ; mapped ; 03B3 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA -1D773 ; mapped ; 03B4 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL DELTA -1D774 ; mapped ; 03B5 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON -1D775 ; mapped ; 03B6 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL ZETA -1D776 ; mapped ; 03B7 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL ETA -1D777 ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL THETA -1D778 ; mapped ; 03B9 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL IOTA -1D779 ; mapped ; 03BA # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA -1D77A ; mapped ; 03BB # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA -1D77B ; mapped ; 03BC # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL MU -1D77C ; mapped ; 03BD # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL NU -1D77D ; mapped ; 03BE # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL XI -1D77E ; mapped ; 03BF # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON -1D77F ; mapped ; 03C0 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL PI -1D780 ; mapped ; 03C1 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL RHO -1D781..1D782 ; mapped ; 03C3 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA..MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA -1D783 ; mapped ; 03C4 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL TAU -1D784 ; mapped ; 03C5 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON -1D785 ; mapped ; 03C6 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL PHI -1D786 ; mapped ; 03C7 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL CHI -1D787 ; mapped ; 03C8 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL PSI -1D788 ; mapped ; 03C9 # 3.1 MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA -1D789 ; mapped ; 2202 # 3.1 MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL -1D78A ; mapped ; 03B5 # 3.1 MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL -1D78B ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL -1D78C ; mapped ; 03BA # 3.1 MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL -1D78D ; mapped ; 03C6 # 3.1 MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL -1D78E ; mapped ; 03C1 # 3.1 MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL -1D78F ; mapped ; 03C0 # 3.1 MATHEMATICAL SANS-SERIF BOLD PI SYMBOL -1D790 ; mapped ; 03B1 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA -1D791 ; mapped ; 03B2 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA -1D792 ; mapped ; 03B3 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA -1D793 ; mapped ; 03B4 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA -1D794 ; mapped ; 03B5 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON -1D795 ; mapped ; 03B6 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA -1D796 ; mapped ; 03B7 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA -1D797 ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA -1D798 ; mapped ; 03B9 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA -1D799 ; mapped ; 03BA # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA -1D79A ; mapped ; 03BB # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA -1D79B ; mapped ; 03BC # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU -1D79C ; mapped ; 03BD # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU -1D79D ; mapped ; 03BE # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI -1D79E ; mapped ; 03BF # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON -1D79F ; mapped ; 03C0 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI -1D7A0 ; mapped ; 03C1 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO -1D7A1 ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL -1D7A2 ; mapped ; 03C3 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA -1D7A3 ; mapped ; 03C4 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU -1D7A4 ; mapped ; 03C5 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON -1D7A5 ; mapped ; 03C6 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI -1D7A6 ; mapped ; 03C7 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI -1D7A7 ; mapped ; 03C8 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI -1D7A8 ; mapped ; 03C9 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA -1D7A9 ; mapped ; 2207 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA -1D7AA ; mapped ; 03B1 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA -1D7AB ; mapped ; 03B2 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA -1D7AC ; mapped ; 03B3 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA -1D7AD ; mapped ; 03B4 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA -1D7AE ; mapped ; 03B5 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON -1D7AF ; mapped ; 03B6 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA -1D7B0 ; mapped ; 03B7 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA -1D7B1 ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA -1D7B2 ; mapped ; 03B9 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA -1D7B3 ; mapped ; 03BA # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA -1D7B4 ; mapped ; 03BB # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA -1D7B5 ; mapped ; 03BC # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU -1D7B6 ; mapped ; 03BD # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU -1D7B7 ; mapped ; 03BE # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI -1D7B8 ; mapped ; 03BF # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON -1D7B9 ; mapped ; 03C0 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI -1D7BA ; mapped ; 03C1 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO -1D7BB..1D7BC ; mapped ; 03C3 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA -1D7BD ; mapped ; 03C4 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU -1D7BE ; mapped ; 03C5 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON -1D7BF ; mapped ; 03C6 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI -1D7C0 ; mapped ; 03C7 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI -1D7C1 ; mapped ; 03C8 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI -1D7C2 ; mapped ; 03C9 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA -1D7C3 ; mapped ; 2202 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL -1D7C4 ; mapped ; 03B5 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL -1D7C5 ; mapped ; 03B8 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL -1D7C6 ; mapped ; 03BA # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL -1D7C7 ; mapped ; 03C6 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL -1D7C8 ; mapped ; 03C1 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL -1D7C9 ; mapped ; 03C0 # 3.1 MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL -1D7CA..1D7CB ; mapped ; 03DD # 5.0 MATHEMATICAL BOLD CAPITAL DIGAMMA..MATHEMATICAL BOLD SMALL DIGAMMA -1D7CC..1D7CD ; disallowed # NA <reserved-1D7CC>..<reserved-1D7CD> -1D7CE ; mapped ; 0030 # 3.1 MATHEMATICAL BOLD DIGIT ZERO -1D7CF ; mapped ; 0031 # 3.1 MATHEMATICAL BOLD DIGIT ONE -1D7D0 ; mapped ; 0032 # 3.1 MATHEMATICAL BOLD DIGIT TWO -1D7D1 ; mapped ; 0033 # 3.1 MATHEMATICAL BOLD DIGIT THREE -1D7D2 ; mapped ; 0034 # 3.1 MATHEMATICAL BOLD DIGIT FOUR -1D7D3 ; mapped ; 0035 # 3.1 MATHEMATICAL BOLD DIGIT FIVE -1D7D4 ; mapped ; 0036 # 3.1 MATHEMATICAL BOLD DIGIT SIX -1D7D5 ; mapped ; 0037 # 3.1 MATHEMATICAL BOLD DIGIT SEVEN -1D7D6 ; mapped ; 0038 # 3.1 MATHEMATICAL BOLD DIGIT EIGHT -1D7D7 ; mapped ; 0039 # 3.1 MATHEMATICAL BOLD DIGIT NINE -1D7D8 ; mapped ; 0030 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO -1D7D9 ; mapped ; 0031 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT ONE -1D7DA ; mapped ; 0032 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT TWO -1D7DB ; mapped ; 0033 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT THREE -1D7DC ; mapped ; 0034 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR -1D7DD ; mapped ; 0035 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE -1D7DE ; mapped ; 0036 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT SIX -1D7DF ; mapped ; 0037 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN -1D7E0 ; mapped ; 0038 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT -1D7E1 ; mapped ; 0039 # 3.1 MATHEMATICAL DOUBLE-STRUCK DIGIT NINE -1D7E2 ; mapped ; 0030 # 3.1 MATHEMATICAL SANS-SERIF DIGIT ZERO -1D7E3 ; mapped ; 0031 # 3.1 MATHEMATICAL SANS-SERIF DIGIT ONE -1D7E4 ; mapped ; 0032 # 3.1 MATHEMATICAL SANS-SERIF DIGIT TWO -1D7E5 ; mapped ; 0033 # 3.1 MATHEMATICAL SANS-SERIF DIGIT THREE -1D7E6 ; mapped ; 0034 # 3.1 MATHEMATICAL SANS-SERIF DIGIT FOUR -1D7E7 ; mapped ; 0035 # 3.1 MATHEMATICAL SANS-SERIF DIGIT FIVE -1D7E8 ; mapped ; 0036 # 3.1 MATHEMATICAL SANS-SERIF DIGIT SIX -1D7E9 ; mapped ; 0037 # 3.1 MATHEMATICAL SANS-SERIF DIGIT SEVEN -1D7EA ; mapped ; 0038 # 3.1 MATHEMATICAL SANS-SERIF DIGIT EIGHT -1D7EB ; mapped ; 0039 # 3.1 MATHEMATICAL SANS-SERIF DIGIT NINE -1D7EC ; mapped ; 0030 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO -1D7ED ; mapped ; 0031 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT ONE -1D7EE ; mapped ; 0032 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT TWO -1D7EF ; mapped ; 0033 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT THREE -1D7F0 ; mapped ; 0034 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR -1D7F1 ; mapped ; 0035 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE -1D7F2 ; mapped ; 0036 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT SIX -1D7F3 ; mapped ; 0037 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN -1D7F4 ; mapped ; 0038 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT -1D7F5 ; mapped ; 0039 # 3.1 MATHEMATICAL SANS-SERIF BOLD DIGIT NINE -1D7F6 ; mapped ; 0030 # 3.1 MATHEMATICAL MONOSPACE DIGIT ZERO -1D7F7 ; mapped ; 0031 # 3.1 MATHEMATICAL MONOSPACE DIGIT ONE -1D7F8 ; mapped ; 0032 # 3.1 MATHEMATICAL MONOSPACE DIGIT TWO -1D7F9 ; mapped ; 0033 # 3.1 MATHEMATICAL MONOSPACE DIGIT THREE -1D7FA ; mapped ; 0034 # 3.1 MATHEMATICAL MONOSPACE DIGIT FOUR -1D7FB ; mapped ; 0035 # 3.1 MATHEMATICAL MONOSPACE DIGIT FIVE -1D7FC ; mapped ; 0036 # 3.1 MATHEMATICAL MONOSPACE DIGIT SIX -1D7FD ; mapped ; 0037 # 3.1 MATHEMATICAL MONOSPACE DIGIT SEVEN -1D7FE ; mapped ; 0038 # 3.1 MATHEMATICAL MONOSPACE DIGIT EIGHT -1D7FF ; mapped ; 0039 # 3.1 MATHEMATICAL MONOSPACE DIGIT NINE -1D800..1D9FF ; valid ; ; NV8 # 8.0 SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD -1DA00..1DA36 ; valid # 8.0 SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN -1DA37..1DA3A ; valid ; ; NV8 # 8.0 SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE -1DA3B..1DA6C ; valid # 8.0 SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT -1DA6D..1DA74 ; valid ; ; NV8 # 8.0 SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING -1DA75 ; valid # 8.0 SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS -1DA76..1DA83 ; valid ; ; NV8 # 8.0 SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH -1DA84 ; valid # 8.0 SIGNWRITING LOCATION HEAD NECK -1DA85..1DA8B ; valid ; ; NV8 # 8.0 SIGNWRITING LOCATION TORSO..SIGNWRITING PARENTHESIS -1DA8C..1DA9A ; disallowed # NA <reserved-1DA8C>..<reserved-1DA9A> -1DA9B..1DA9F ; valid # 8.0 SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 -1DAA0 ; disallowed # NA <reserved-1DAA0> -1DAA1..1DAAF ; valid # 8.0 SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 -1DAB0..1DFFF ; disallowed # NA <reserved-1DAB0>..<reserved-1DFFF> -1E000..1E006 ; valid # 9.0 COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE -1E007 ; disallowed # NA <reserved-1E007> -1E008..1E018 ; valid # 9.0 COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU -1E019..1E01A ; disallowed # NA <reserved-1E019>..<reserved-1E01A> -1E01B..1E021 ; valid # 9.0 COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI -1E022 ; disallowed # NA <reserved-1E022> -1E023..1E024 ; valid # 9.0 COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS -1E025 ; disallowed # NA <reserved-1E025> -1E026..1E02A ; valid # 9.0 COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA -1E02B..1E7FF ; disallowed # NA <reserved-1E02B>..<reserved-1E7FF> -1E800..1E8C4 ; valid # 7.0 MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON -1E8C5..1E8C6 ; disallowed # NA <reserved-1E8C5>..<reserved-1E8C6> -1E8C7..1E8CF ; valid ; ; NV8 # 7.0 MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE -1E8D0..1E8D6 ; valid # 7.0 MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS -1E8D7..1E8FF ; disallowed # NA <reserved-1E8D7>..<reserved-1E8FF> -1E900 ; mapped ; 1E922 # 9.0 ADLAM CAPITAL LETTER ALIF -1E901 ; mapped ; 1E923 # 9.0 ADLAM CAPITAL LETTER DAALI -1E902 ; mapped ; 1E924 # 9.0 ADLAM CAPITAL LETTER LAAM -1E903 ; mapped ; 1E925 # 9.0 ADLAM CAPITAL LETTER MIIM -1E904 ; mapped ; 1E926 # 9.0 ADLAM CAPITAL LETTER BA -1E905 ; mapped ; 1E927 # 9.0 ADLAM CAPITAL LETTER SINNYIIYHE -1E906 ; mapped ; 1E928 # 9.0 ADLAM CAPITAL LETTER PE -1E907 ; mapped ; 1E929 # 9.0 ADLAM CAPITAL LETTER BHE -1E908 ; mapped ; 1E92A # 9.0 ADLAM CAPITAL LETTER RA -1E909 ; mapped ; 1E92B # 9.0 ADLAM CAPITAL LETTER E -1E90A ; mapped ; 1E92C # 9.0 ADLAM CAPITAL LETTER FA -1E90B ; mapped ; 1E92D # 9.0 ADLAM CAPITAL LETTER I -1E90C ; mapped ; 1E92E # 9.0 ADLAM CAPITAL LETTER O -1E90D ; mapped ; 1E92F # 9.0 ADLAM CAPITAL LETTER DHA -1E90E ; mapped ; 1E930 # 9.0 ADLAM CAPITAL LETTER YHE -1E90F ; mapped ; 1E931 # 9.0 ADLAM CAPITAL LETTER WAW -1E910 ; mapped ; 1E932 # 9.0 ADLAM CAPITAL LETTER NUN -1E911 ; mapped ; 1E933 # 9.0 ADLAM CAPITAL LETTER KAF -1E912 ; mapped ; 1E934 # 9.0 ADLAM CAPITAL LETTER YA -1E913 ; mapped ; 1E935 # 9.0 ADLAM CAPITAL LETTER U -1E914 ; mapped ; 1E936 # 9.0 ADLAM CAPITAL LETTER JIIM -1E915 ; mapped ; 1E937 # 9.0 ADLAM CAPITAL LETTER CHI -1E916 ; mapped ; 1E938 # 9.0 ADLAM CAPITAL LETTER HA -1E917 ; mapped ; 1E939 # 9.0 ADLAM CAPITAL LETTER QAAF -1E918 ; mapped ; 1E93A # 9.0 ADLAM CAPITAL LETTER GA -1E919 ; mapped ; 1E93B # 9.0 ADLAM CAPITAL LETTER NYA -1E91A ; mapped ; 1E93C # 9.0 ADLAM CAPITAL LETTER TU -1E91B ; mapped ; 1E93D # 9.0 ADLAM CAPITAL LETTER NHA -1E91C ; mapped ; 1E93E # 9.0 ADLAM CAPITAL LETTER VA -1E91D ; mapped ; 1E93F # 9.0 ADLAM CAPITAL LETTER KHA -1E91E ; mapped ; 1E940 # 9.0 ADLAM CAPITAL LETTER GBE -1E91F ; mapped ; 1E941 # 9.0 ADLAM CAPITAL LETTER ZAL -1E920 ; mapped ; 1E942 # 9.0 ADLAM CAPITAL LETTER KPO -1E921 ; mapped ; 1E943 # 9.0 ADLAM CAPITAL LETTER SHA -1E922..1E94A ; valid # 9.0 ADLAM SMALL LETTER ALIF..ADLAM NUKTA -1E94B..1E94F ; disallowed # NA <reserved-1E94B>..<reserved-1E94F> -1E950..1E959 ; valid # 9.0 ADLAM DIGIT ZERO..ADLAM DIGIT NINE -1E95A..1E95D ; disallowed # NA <reserved-1E95A>..<reserved-1E95D> -1E95E..1E95F ; valid ; ; NV8 # 9.0 ADLAM INITIAL EXCLAMATION MARK..ADLAM INITIAL QUESTION MARK -1E960..1EDFF ; disallowed # NA <reserved-1E960>..<reserved-1EDFF> -1EE00 ; mapped ; 0627 # 6.1 ARABIC MATHEMATICAL ALEF -1EE01 ; mapped ; 0628 # 6.1 ARABIC MATHEMATICAL BEH -1EE02 ; mapped ; 062C # 6.1 ARABIC MATHEMATICAL JEEM -1EE03 ; mapped ; 062F # 6.1 ARABIC MATHEMATICAL DAL -1EE04 ; disallowed # NA <reserved-1EE04> -1EE05 ; mapped ; 0648 # 6.1 ARABIC MATHEMATICAL WAW -1EE06 ; mapped ; 0632 # 6.1 ARABIC MATHEMATICAL ZAIN -1EE07 ; mapped ; 062D # 6.1 ARABIC MATHEMATICAL HAH -1EE08 ; mapped ; 0637 # 6.1 ARABIC MATHEMATICAL TAH -1EE09 ; mapped ; 064A # 6.1 ARABIC MATHEMATICAL YEH -1EE0A ; mapped ; 0643 # 6.1 ARABIC MATHEMATICAL KAF -1EE0B ; mapped ; 0644 # 6.1 ARABIC MATHEMATICAL LAM -1EE0C ; mapped ; 0645 # 6.1 ARABIC MATHEMATICAL MEEM -1EE0D ; mapped ; 0646 # 6.1 ARABIC MATHEMATICAL NOON -1EE0E ; mapped ; 0633 # 6.1 ARABIC MATHEMATICAL SEEN -1EE0F ; mapped ; 0639 # 6.1 ARABIC MATHEMATICAL AIN -1EE10 ; mapped ; 0641 # 6.1 ARABIC MATHEMATICAL FEH -1EE11 ; mapped ; 0635 # 6.1 ARABIC MATHEMATICAL SAD -1EE12 ; mapped ; 0642 # 6.1 ARABIC MATHEMATICAL QAF -1EE13 ; mapped ; 0631 # 6.1 ARABIC MATHEMATICAL REH -1EE14 ; mapped ; 0634 # 6.1 ARABIC MATHEMATICAL SHEEN -1EE15 ; mapped ; 062A # 6.1 ARABIC MATHEMATICAL TEH -1EE16 ; mapped ; 062B # 6.1 ARABIC MATHEMATICAL THEH -1EE17 ; mapped ; 062E # 6.1 ARABIC MATHEMATICAL KHAH -1EE18 ; mapped ; 0630 # 6.1 ARABIC MATHEMATICAL THAL -1EE19 ; mapped ; 0636 # 6.1 ARABIC MATHEMATICAL DAD -1EE1A ; mapped ; 0638 # 6.1 ARABIC MATHEMATICAL ZAH -1EE1B ; mapped ; 063A # 6.1 ARABIC MATHEMATICAL GHAIN -1EE1C ; mapped ; 066E # 6.1 ARABIC MATHEMATICAL DOTLESS BEH -1EE1D ; mapped ; 06BA # 6.1 ARABIC MATHEMATICAL DOTLESS NOON -1EE1E ; mapped ; 06A1 # 6.1 ARABIC MATHEMATICAL DOTLESS FEH -1EE1F ; mapped ; 066F # 6.1 ARABIC MATHEMATICAL DOTLESS QAF -1EE20 ; disallowed # NA <reserved-1EE20> -1EE21 ; mapped ; 0628 # 6.1 ARABIC MATHEMATICAL INITIAL BEH -1EE22 ; mapped ; 062C # 6.1 ARABIC MATHEMATICAL INITIAL JEEM -1EE23 ; disallowed # NA <reserved-1EE23> -1EE24 ; mapped ; 0647 # 6.1 ARABIC MATHEMATICAL INITIAL HEH -1EE25..1EE26 ; disallowed # NA <reserved-1EE25>..<reserved-1EE26> -1EE27 ; mapped ; 062D # 6.1 ARABIC MATHEMATICAL INITIAL HAH -1EE28 ; disallowed # NA <reserved-1EE28> -1EE29 ; mapped ; 064A # 6.1 ARABIC MATHEMATICAL INITIAL YEH -1EE2A ; mapped ; 0643 # 6.1 ARABIC MATHEMATICAL INITIAL KAF -1EE2B ; mapped ; 0644 # 6.1 ARABIC MATHEMATICAL INITIAL LAM -1EE2C ; mapped ; 0645 # 6.1 ARABIC MATHEMATICAL INITIAL MEEM -1EE2D ; mapped ; 0646 # 6.1 ARABIC MATHEMATICAL INITIAL NOON -1EE2E ; mapped ; 0633 # 6.1 ARABIC MATHEMATICAL INITIAL SEEN -1EE2F ; mapped ; 0639 # 6.1 ARABIC MATHEMATICAL INITIAL AIN -1EE30 ; mapped ; 0641 # 6.1 ARABIC MATHEMATICAL INITIAL FEH -1EE31 ; mapped ; 0635 # 6.1 ARABIC MATHEMATICAL INITIAL SAD -1EE32 ; mapped ; 0642 # 6.1 ARABIC MATHEMATICAL INITIAL QAF -1EE33 ; disallowed # NA <reserved-1EE33> -1EE34 ; mapped ; 0634 # 6.1 ARABIC MATHEMATICAL INITIAL SHEEN -1EE35 ; mapped ; 062A # 6.1 ARABIC MATHEMATICAL INITIAL TEH -1EE36 ; mapped ; 062B # 6.1 ARABIC MATHEMATICAL INITIAL THEH -1EE37 ; mapped ; 062E # 6.1 ARABIC MATHEMATICAL INITIAL KHAH -1EE38 ; disallowed # NA <reserved-1EE38> -1EE39 ; mapped ; 0636 # 6.1 ARABIC MATHEMATICAL INITIAL DAD -1EE3A ; disallowed # NA <reserved-1EE3A> -1EE3B ; mapped ; 063A # 6.1 ARABIC MATHEMATICAL INITIAL GHAIN -1EE3C..1EE41 ; disallowed # NA <reserved-1EE3C>..<reserved-1EE41> -1EE42 ; mapped ; 062C # 6.1 ARABIC MATHEMATICAL TAILED JEEM -1EE43..1EE46 ; disallowed # NA <reserved-1EE43>..<reserved-1EE46> -1EE47 ; mapped ; 062D # 6.1 ARABIC MATHEMATICAL TAILED HAH -1EE48 ; disallowed # NA <reserved-1EE48> -1EE49 ; mapped ; 064A # 6.1 ARABIC MATHEMATICAL TAILED YEH -1EE4A ; disallowed # NA <reserved-1EE4A> -1EE4B ; mapped ; 0644 # 6.1 ARABIC MATHEMATICAL TAILED LAM -1EE4C ; disallowed # NA <reserved-1EE4C> -1EE4D ; mapped ; 0646 # 6.1 ARABIC MATHEMATICAL TAILED NOON -1EE4E ; mapped ; 0633 # 6.1 ARABIC MATHEMATICAL TAILED SEEN -1EE4F ; mapped ; 0639 # 6.1 ARABIC MATHEMATICAL TAILED AIN -1EE50 ; disallowed # NA <reserved-1EE50> -1EE51 ; mapped ; 0635 # 6.1 ARABIC MATHEMATICAL TAILED SAD -1EE52 ; mapped ; 0642 # 6.1 ARABIC MATHEMATICAL TAILED QAF -1EE53 ; disallowed # NA <reserved-1EE53> -1EE54 ; mapped ; 0634 # 6.1 ARABIC MATHEMATICAL TAILED SHEEN -1EE55..1EE56 ; disallowed # NA <reserved-1EE55>..<reserved-1EE56> -1EE57 ; mapped ; 062E # 6.1 ARABIC MATHEMATICAL TAILED KHAH -1EE58 ; disallowed # NA <reserved-1EE58> -1EE59 ; mapped ; 0636 # 6.1 ARABIC MATHEMATICAL TAILED DAD -1EE5A ; disallowed # NA <reserved-1EE5A> -1EE5B ; mapped ; 063A # 6.1 ARABIC MATHEMATICAL TAILED GHAIN -1EE5C ; disallowed # NA <reserved-1EE5C> -1EE5D ; mapped ; 06BA # 6.1 ARABIC MATHEMATICAL TAILED DOTLESS NOON -1EE5E ; disallowed # NA <reserved-1EE5E> -1EE5F ; mapped ; 066F # 6.1 ARABIC MATHEMATICAL TAILED DOTLESS QAF -1EE60 ; disallowed # NA <reserved-1EE60> -1EE61 ; mapped ; 0628 # 6.1 ARABIC MATHEMATICAL STRETCHED BEH -1EE62 ; mapped ; 062C # 6.1 ARABIC MATHEMATICAL STRETCHED JEEM -1EE63 ; disallowed # NA <reserved-1EE63> -1EE64 ; mapped ; 0647 # 6.1 ARABIC MATHEMATICAL STRETCHED HEH -1EE65..1EE66 ; disallowed # NA <reserved-1EE65>..<reserved-1EE66> -1EE67 ; mapped ; 062D # 6.1 ARABIC MATHEMATICAL STRETCHED HAH -1EE68 ; mapped ; 0637 # 6.1 ARABIC MATHEMATICAL STRETCHED TAH -1EE69 ; mapped ; 064A # 6.1 ARABIC MATHEMATICAL STRETCHED YEH -1EE6A ; mapped ; 0643 # 6.1 ARABIC MATHEMATICAL STRETCHED KAF -1EE6B ; disallowed # NA <reserved-1EE6B> -1EE6C ; mapped ; 0645 # 6.1 ARABIC MATHEMATICAL STRETCHED MEEM -1EE6D ; mapped ; 0646 # 6.1 ARABIC MATHEMATICAL STRETCHED NOON -1EE6E ; mapped ; 0633 # 6.1 ARABIC MATHEMATICAL STRETCHED SEEN -1EE6F ; mapped ; 0639 # 6.1 ARABIC MATHEMATICAL STRETCHED AIN -1EE70 ; mapped ; 0641 # 6.1 ARABIC MATHEMATICAL STRETCHED FEH -1EE71 ; mapped ; 0635 # 6.1 ARABIC MATHEMATICAL STRETCHED SAD -1EE72 ; mapped ; 0642 # 6.1 ARABIC MATHEMATICAL STRETCHED QAF -1EE73 ; disallowed # NA <reserved-1EE73> -1EE74 ; mapped ; 0634 # 6.1 ARABIC MATHEMATICAL STRETCHED SHEEN -1EE75 ; mapped ; 062A # 6.1 ARABIC MATHEMATICAL STRETCHED TEH -1EE76 ; mapped ; 062B # 6.1 ARABIC MATHEMATICAL STRETCHED THEH -1EE77 ; mapped ; 062E # 6.1 ARABIC MATHEMATICAL STRETCHED KHAH -1EE78 ; disallowed # NA <reserved-1EE78> -1EE79 ; mapped ; 0636 # 6.1 ARABIC MATHEMATICAL STRETCHED DAD -1EE7A ; mapped ; 0638 # 6.1 ARABIC MATHEMATICAL STRETCHED ZAH -1EE7B ; mapped ; 063A # 6.1 ARABIC MATHEMATICAL STRETCHED GHAIN -1EE7C ; mapped ; 066E # 6.1 ARABIC MATHEMATICAL STRETCHED DOTLESS BEH -1EE7D ; disallowed # NA <reserved-1EE7D> -1EE7E ; mapped ; 06A1 # 6.1 ARABIC MATHEMATICAL STRETCHED DOTLESS FEH -1EE7F ; disallowed # NA <reserved-1EE7F> -1EE80 ; mapped ; 0627 # 6.1 ARABIC MATHEMATICAL LOOPED ALEF -1EE81 ; mapped ; 0628 # 6.1 ARABIC MATHEMATICAL LOOPED BEH -1EE82 ; mapped ; 062C # 6.1 ARABIC MATHEMATICAL LOOPED JEEM -1EE83 ; mapped ; 062F # 6.1 ARABIC MATHEMATICAL LOOPED DAL -1EE84 ; mapped ; 0647 # 6.1 ARABIC MATHEMATICAL LOOPED HEH -1EE85 ; mapped ; 0648 # 6.1 ARABIC MATHEMATICAL LOOPED WAW -1EE86 ; mapped ; 0632 # 6.1 ARABIC MATHEMATICAL LOOPED ZAIN -1EE87 ; mapped ; 062D # 6.1 ARABIC MATHEMATICAL LOOPED HAH -1EE88 ; mapped ; 0637 # 6.1 ARABIC MATHEMATICAL LOOPED TAH -1EE89 ; mapped ; 064A # 6.1 ARABIC MATHEMATICAL LOOPED YEH -1EE8A ; disallowed # NA <reserved-1EE8A> -1EE8B ; mapped ; 0644 # 6.1 ARABIC MATHEMATICAL LOOPED LAM -1EE8C ; mapped ; 0645 # 6.1 ARABIC MATHEMATICAL LOOPED MEEM -1EE8D ; mapped ; 0646 # 6.1 ARABIC MATHEMATICAL LOOPED NOON -1EE8E ; mapped ; 0633 # 6.1 ARABIC MATHEMATICAL LOOPED SEEN -1EE8F ; mapped ; 0639 # 6.1 ARABIC MATHEMATICAL LOOPED AIN -1EE90 ; mapped ; 0641 # 6.1 ARABIC MATHEMATICAL LOOPED FEH -1EE91 ; mapped ; 0635 # 6.1 ARABIC MATHEMATICAL LOOPED SAD -1EE92 ; mapped ; 0642 # 6.1 ARABIC MATHEMATICAL LOOPED QAF -1EE93 ; mapped ; 0631 # 6.1 ARABIC MATHEMATICAL LOOPED REH -1EE94 ; mapped ; 0634 # 6.1 ARABIC MATHEMATICAL LOOPED SHEEN -1EE95 ; mapped ; 062A # 6.1 ARABIC MATHEMATICAL LOOPED TEH -1EE96 ; mapped ; 062B # 6.1 ARABIC MATHEMATICAL LOOPED THEH -1EE97 ; mapped ; 062E # 6.1 ARABIC MATHEMATICAL LOOPED KHAH -1EE98 ; mapped ; 0630 # 6.1 ARABIC MATHEMATICAL LOOPED THAL -1EE99 ; mapped ; 0636 # 6.1 ARABIC MATHEMATICAL LOOPED DAD -1EE9A ; mapped ; 0638 # 6.1 ARABIC MATHEMATICAL LOOPED ZAH -1EE9B ; mapped ; 063A # 6.1 ARABIC MATHEMATICAL LOOPED GHAIN -1EE9C..1EEA0 ; disallowed # NA <reserved-1EE9C>..<reserved-1EEA0> -1EEA1 ; mapped ; 0628 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK BEH -1EEA2 ; mapped ; 062C # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM -1EEA3 ; mapped ; 062F # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK DAL -1EEA4 ; disallowed # NA <reserved-1EEA4> -1EEA5 ; mapped ; 0648 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK WAW -1EEA6 ; mapped ; 0632 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN -1EEA7 ; mapped ; 062D # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK HAH -1EEA8 ; mapped ; 0637 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK TAH -1EEA9 ; mapped ; 064A # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK YEH -1EEAA ; disallowed # NA <reserved-1EEAA> -1EEAB ; mapped ; 0644 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK LAM -1EEAC ; mapped ; 0645 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM -1EEAD ; mapped ; 0646 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK NOON -1EEAE ; mapped ; 0633 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN -1EEAF ; mapped ; 0639 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK AIN -1EEB0 ; mapped ; 0641 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK FEH -1EEB1 ; mapped ; 0635 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK SAD -1EEB2 ; mapped ; 0642 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK QAF -1EEB3 ; mapped ; 0631 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK REH -1EEB4 ; mapped ; 0634 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN -1EEB5 ; mapped ; 062A # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK TEH -1EEB6 ; mapped ; 062B # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK THEH -1EEB7 ; mapped ; 062E # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH -1EEB8 ; mapped ; 0630 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK THAL -1EEB9 ; mapped ; 0636 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK DAD -1EEBA ; mapped ; 0638 # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH -1EEBB ; mapped ; 063A # 6.1 ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN -1EEBC..1EEEF ; disallowed # NA <reserved-1EEBC>..<reserved-1EEEF> -1EEF0..1EEF1 ; valid ; ; NV8 # 6.1 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL -1EEF2..1EFFF ; disallowed # NA <reserved-1EEF2>..<reserved-1EFFF> -1F000..1F02B ; valid ; ; NV8 # 5.1 MAHJONG TILE EAST WIND..MAHJONG TILE BACK -1F02C..1F02F ; disallowed # NA <reserved-1F02C>..<reserved-1F02F> -1F030..1F093 ; valid ; ; NV8 # 5.1 DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06 -1F094..1F09F ; disallowed # NA <reserved-1F094>..<reserved-1F09F> -1F0A0..1F0AE ; valid ; ; NV8 # 6.0 PLAYING CARD BACK..PLAYING CARD KING OF SPADES -1F0AF..1F0B0 ; disallowed # NA <reserved-1F0AF>..<reserved-1F0B0> -1F0B1..1F0BE ; valid ; ; NV8 # 6.0 PLAYING CARD ACE OF HEARTS..PLAYING CARD KING OF HEARTS -1F0BF ; valid ; ; NV8 # 7.0 PLAYING CARD RED JOKER -1F0C0 ; disallowed # NA <reserved-1F0C0> -1F0C1..1F0CF ; valid ; ; NV8 # 6.0 PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER -1F0D0 ; disallowed # NA <reserved-1F0D0> -1F0D1..1F0DF ; valid ; ; NV8 # 6.0 PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER -1F0E0..1F0F5 ; valid ; ; NV8 # 7.0 PLAYING CARD FOOL..PLAYING CARD TRUMP-21 -1F0F6..1F0FF ; disallowed # NA <reserved-1F0F6>..<reserved-1F0FF> -1F100 ; disallowed # 5.2 DIGIT ZERO FULL STOP -1F101 ; disallowed_STD3_mapped ; 0030 002C # 5.2 DIGIT ZERO COMMA -1F102 ; disallowed_STD3_mapped ; 0031 002C # 5.2 DIGIT ONE COMMA -1F103 ; disallowed_STD3_mapped ; 0032 002C # 5.2 DIGIT TWO COMMA -1F104 ; disallowed_STD3_mapped ; 0033 002C # 5.2 DIGIT THREE COMMA -1F105 ; disallowed_STD3_mapped ; 0034 002C # 5.2 DIGIT FOUR COMMA -1F106 ; disallowed_STD3_mapped ; 0035 002C # 5.2 DIGIT FIVE COMMA -1F107 ; disallowed_STD3_mapped ; 0036 002C # 5.2 DIGIT SIX COMMA -1F108 ; disallowed_STD3_mapped ; 0037 002C # 5.2 DIGIT SEVEN COMMA -1F109 ; disallowed_STD3_mapped ; 0038 002C # 5.2 DIGIT EIGHT COMMA -1F10A ; disallowed_STD3_mapped ; 0039 002C # 5.2 DIGIT NINE COMMA -1F10B..1F10C ; valid ; ; NV8 # 7.0 DINGBAT CIRCLED SANS-SERIF DIGIT ZERO..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO -1F10D..1F10F ; disallowed # NA <reserved-1F10D>..<reserved-1F10F> -1F110 ; disallowed_STD3_mapped ; 0028 0061 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER A -1F111 ; disallowed_STD3_mapped ; 0028 0062 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER B -1F112 ; disallowed_STD3_mapped ; 0028 0063 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER C -1F113 ; disallowed_STD3_mapped ; 0028 0064 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER D -1F114 ; disallowed_STD3_mapped ; 0028 0065 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER E -1F115 ; disallowed_STD3_mapped ; 0028 0066 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER F -1F116 ; disallowed_STD3_mapped ; 0028 0067 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER G -1F117 ; disallowed_STD3_mapped ; 0028 0068 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER H -1F118 ; disallowed_STD3_mapped ; 0028 0069 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER I -1F119 ; disallowed_STD3_mapped ; 0028 006A 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER J -1F11A ; disallowed_STD3_mapped ; 0028 006B 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER K -1F11B ; disallowed_STD3_mapped ; 0028 006C 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER L -1F11C ; disallowed_STD3_mapped ; 0028 006D 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER M -1F11D ; disallowed_STD3_mapped ; 0028 006E 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER N -1F11E ; disallowed_STD3_mapped ; 0028 006F 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER O -1F11F ; disallowed_STD3_mapped ; 0028 0070 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER P -1F120 ; disallowed_STD3_mapped ; 0028 0071 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER Q -1F121 ; disallowed_STD3_mapped ; 0028 0072 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER R -1F122 ; disallowed_STD3_mapped ; 0028 0073 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER S -1F123 ; disallowed_STD3_mapped ; 0028 0074 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER T -1F124 ; disallowed_STD3_mapped ; 0028 0075 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER U -1F125 ; disallowed_STD3_mapped ; 0028 0076 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER V -1F126 ; disallowed_STD3_mapped ; 0028 0077 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER W -1F127 ; disallowed_STD3_mapped ; 0028 0078 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER X -1F128 ; disallowed_STD3_mapped ; 0028 0079 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER Y -1F129 ; disallowed_STD3_mapped ; 0028 007A 0029 #5.2 PARENTHESIZED LATIN CAPITAL LETTER Z -1F12A ; mapped ; 3014 0073 3015 #5.2 TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S -1F12B ; mapped ; 0063 # 5.2 CIRCLED ITALIC LATIN CAPITAL LETTER C -1F12C ; mapped ; 0072 # 5.2 CIRCLED ITALIC LATIN CAPITAL LETTER R -1F12D ; mapped ; 0063 0064 # 5.2 CIRCLED CD -1F12E ; mapped ; 0077 007A # 5.2 CIRCLED WZ -1F12F ; disallowed # NA <reserved-1F12F> -1F130 ; mapped ; 0061 # 6.0 SQUARED LATIN CAPITAL LETTER A -1F131 ; mapped ; 0062 # 5.2 SQUARED LATIN CAPITAL LETTER B -1F132 ; mapped ; 0063 # 6.0 SQUARED LATIN CAPITAL LETTER C -1F133 ; mapped ; 0064 # 6.0 SQUARED LATIN CAPITAL LETTER D -1F134 ; mapped ; 0065 # 6.0 SQUARED LATIN CAPITAL LETTER E -1F135 ; mapped ; 0066 # 6.0 SQUARED LATIN CAPITAL LETTER F -1F136 ; mapped ; 0067 # 6.0 SQUARED LATIN CAPITAL LETTER G -1F137 ; mapped ; 0068 # 6.0 SQUARED LATIN CAPITAL LETTER H -1F138 ; mapped ; 0069 # 6.0 SQUARED LATIN CAPITAL LETTER I -1F139 ; mapped ; 006A # 6.0 SQUARED LATIN CAPITAL LETTER J -1F13A ; mapped ; 006B # 6.0 SQUARED LATIN CAPITAL LETTER K -1F13B ; mapped ; 006C # 6.0 SQUARED LATIN CAPITAL LETTER L -1F13C ; mapped ; 006D # 6.0 SQUARED LATIN CAPITAL LETTER M -1F13D ; mapped ; 006E # 5.2 SQUARED LATIN CAPITAL LETTER N -1F13E ; mapped ; 006F # 6.0 SQUARED LATIN CAPITAL LETTER O -1F13F ; mapped ; 0070 # 5.2 SQUARED LATIN CAPITAL LETTER P -1F140 ; mapped ; 0071 # 6.0 SQUARED LATIN CAPITAL LETTER Q -1F141 ; mapped ; 0072 # 6.0 SQUARED LATIN CAPITAL LETTER R -1F142 ; mapped ; 0073 # 5.2 SQUARED LATIN CAPITAL LETTER S -1F143 ; mapped ; 0074 # 6.0 SQUARED LATIN CAPITAL LETTER T -1F144 ; mapped ; 0075 # 6.0 SQUARED LATIN CAPITAL LETTER U -1F145 ; mapped ; 0076 # 6.0 SQUARED LATIN CAPITAL LETTER V -1F146 ; mapped ; 0077 # 5.2 SQUARED LATIN CAPITAL LETTER W -1F147 ; mapped ; 0078 # 6.0 SQUARED LATIN CAPITAL LETTER X -1F148 ; mapped ; 0079 # 6.0 SQUARED LATIN CAPITAL LETTER Y -1F149 ; mapped ; 007A # 6.0 SQUARED LATIN CAPITAL LETTER Z -1F14A ; mapped ; 0068 0076 # 5.2 SQUARED HV -1F14B ; mapped ; 006D 0076 # 5.2 SQUARED MV -1F14C ; mapped ; 0073 0064 # 5.2 SQUARED SD -1F14D ; mapped ; 0073 0073 # 5.2 SQUARED SS -1F14E ; mapped ; 0070 0070 0076 #5.2 SQUARED PPV -1F14F ; mapped ; 0077 0063 # 6.0 SQUARED WC -1F150..1F156 ; valid ; ; NV8 # 6.0 NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER G -1F157 ; valid ; ; NV8 # 5.2 NEGATIVE CIRCLED LATIN CAPITAL LETTER H -1F158..1F15E ; valid ; ; NV8 # 6.0 NEGATIVE CIRCLED LATIN CAPITAL LETTER I..NEGATIVE CIRCLED LATIN CAPITAL LETTER O -1F15F ; valid ; ; NV8 # 5.2 NEGATIVE CIRCLED LATIN CAPITAL LETTER P -1F160..1F169 ; valid ; ; NV8 # 6.0 NEGATIVE CIRCLED LATIN CAPITAL LETTER Q..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z -1F16A ; mapped ; 006D 0063 # 6.1 RAISED MC SIGN -1F16B ; mapped ; 006D 0064 # 6.1 RAISED MD SIGN -1F16C..1F16F ; disallowed # NA <reserved-1F16C>..<reserved-1F16F> -1F170..1F178 ; valid ; ; NV8 # 6.0 NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER I -1F179 ; valid ; ; NV8 # 5.2 NEGATIVE SQUARED LATIN CAPITAL LETTER J -1F17A ; valid ; ; NV8 # 6.0 NEGATIVE SQUARED LATIN CAPITAL LETTER K -1F17B..1F17C ; valid ; ; NV8 # 5.2 NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M -1F17D..1F17E ; valid ; ; NV8 # 6.0 NEGATIVE SQUARED LATIN CAPITAL LETTER N..NEGATIVE SQUARED LATIN CAPITAL LETTER O -1F17F ; valid ; ; NV8 # 5.2 NEGATIVE SQUARED LATIN CAPITAL LETTER P -1F180..1F189 ; valid ; ; NV8 # 6.0 NEGATIVE SQUARED LATIN CAPITAL LETTER Q..NEGATIVE SQUARED LATIN CAPITAL LETTER Z -1F18A..1F18D ; valid ; ; NV8 # 5.2 CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA -1F18E..1F18F ; valid ; ; NV8 # 6.0 NEGATIVE SQUARED AB..NEGATIVE SQUARED WC -1F190 ; mapped ; 0064 006A # 5.2 SQUARE DJ -1F191..1F19A ; valid ; ; NV8 # 6.0 SQUARED CL..SQUARED VS -1F19B..1F1AC ; valid ; ; NV8 # 9.0 SQUARED THREE D..SQUARED VOD -1F1AD..1F1E5 ; disallowed # NA <reserved-1F1AD>..<reserved-1F1E5> -1F1E6..1F1FF ; valid ; ; NV8 # 6.0 REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z -1F200 ; mapped ; 307B 304B # 5.2 SQUARE HIRAGANA HOKA -1F201 ; mapped ; 30B3 30B3 # 6.0 SQUARED KATAKANA KOKO -1F202 ; mapped ; 30B5 # 6.0 SQUARED KATAKANA SA -1F203..1F20F ; disallowed # NA <reserved-1F203>..<reserved-1F20F> -1F210 ; mapped ; 624B # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-624B -1F211 ; mapped ; 5B57 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-5B57 -1F212 ; mapped ; 53CC # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-53CC -1F213 ; mapped ; 30C7 # 5.2 SQUARED KATAKANA DE -1F214 ; mapped ; 4E8C # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-4E8C -1F215 ; mapped ; 591A # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-591A -1F216 ; mapped ; 89E3 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-89E3 -1F217 ; mapped ; 5929 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-5929 -1F218 ; mapped ; 4EA4 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-4EA4 -1F219 ; mapped ; 6620 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6620 -1F21A ; mapped ; 7121 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-7121 -1F21B ; mapped ; 6599 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6599 -1F21C ; mapped ; 524D # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-524D -1F21D ; mapped ; 5F8C # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-5F8C -1F21E ; mapped ; 518D # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-518D -1F21F ; mapped ; 65B0 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-65B0 -1F220 ; mapped ; 521D # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-521D -1F221 ; mapped ; 7D42 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-7D42 -1F222 ; mapped ; 751F # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-751F -1F223 ; mapped ; 8CA9 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-8CA9 -1F224 ; mapped ; 58F0 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-58F0 -1F225 ; mapped ; 5439 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-5439 -1F226 ; mapped ; 6F14 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6F14 -1F227 ; mapped ; 6295 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6295 -1F228 ; mapped ; 6355 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6355 -1F229 ; mapped ; 4E00 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-4E00 -1F22A ; mapped ; 4E09 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-4E09 -1F22B ; mapped ; 904A # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-904A -1F22C ; mapped ; 5DE6 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-5DE6 -1F22D ; mapped ; 4E2D # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-4E2D -1F22E ; mapped ; 53F3 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-53F3 -1F22F ; mapped ; 6307 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6307 -1F230 ; mapped ; 8D70 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-8D70 -1F231 ; mapped ; 6253 # 5.2 SQUARED CJK UNIFIED IDEOGRAPH-6253 -1F232 ; mapped ; 7981 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-7981 -1F233 ; mapped ; 7A7A # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-7A7A -1F234 ; mapped ; 5408 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-5408 -1F235 ; mapped ; 6E80 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-6E80 -1F236 ; mapped ; 6709 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-6709 -1F237 ; mapped ; 6708 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-6708 -1F238 ; mapped ; 7533 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-7533 -1F239 ; mapped ; 5272 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-5272 -1F23A ; mapped ; 55B6 # 6.0 SQUARED CJK UNIFIED IDEOGRAPH-55B6 -1F23B ; mapped ; 914D # 9.0 SQUARED CJK UNIFIED IDEOGRAPH-914D -1F23C..1F23F ; disallowed # NA <reserved-1F23C>..<reserved-1F23F> -1F240 ; mapped ; 3014 672C 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C -1F241 ; mapped ; 3014 4E09 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09 -1F242 ; mapped ; 3014 4E8C 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C -1F243 ; mapped ; 3014 5B89 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89 -1F244 ; mapped ; 3014 70B9 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9 -1F245 ; mapped ; 3014 6253 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253 -1F246 ; mapped ; 3014 76D7 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7 -1F247 ; mapped ; 3014 52DD 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD -1F248 ; mapped ; 3014 6557 3015 #5.2 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 -1F249..1F24F ; disallowed # NA <reserved-1F249>..<reserved-1F24F> -1F250 ; mapped ; 5F97 # 6.0 CIRCLED IDEOGRAPH ADVANTAGE -1F251 ; mapped ; 53EF # 6.0 CIRCLED IDEOGRAPH ACCEPT -1F252..1F2FF ; disallowed # NA <reserved-1F252>..<reserved-1F2FF> -1F300..1F320 ; valid ; ; NV8 # 6.0 CYCLONE..SHOOTING STAR -1F321..1F32C ; valid ; ; NV8 # 7.0 THERMOMETER..WIND BLOWING FACE -1F32D..1F32F ; valid ; ; NV8 # 8.0 HOT DOG..BURRITO -1F330..1F335 ; valid ; ; NV8 # 6.0 CHESTNUT..CACTUS -1F336 ; valid ; ; NV8 # 7.0 HOT PEPPER -1F337..1F37C ; valid ; ; NV8 # 6.0 TULIP..BABY BOTTLE -1F37D ; valid ; ; NV8 # 7.0 FORK AND KNIFE WITH PLATE -1F37E..1F37F ; valid ; ; NV8 # 8.0 BOTTLE WITH POPPING CORK..POPCORN -1F380..1F393 ; valid ; ; NV8 # 6.0 RIBBON..GRADUATION CAP -1F394..1F39F ; valid ; ; NV8 # 7.0 HEART WITH TIP ON THE LEFT..ADMISSION TICKETS -1F3A0..1F3C4 ; valid ; ; NV8 # 6.0 CAROUSEL HORSE..SURFER -1F3C5 ; valid ; ; NV8 # 7.0 SPORTS MEDAL -1F3C6..1F3CA ; valid ; ; NV8 # 6.0 TROPHY..SWIMMER -1F3CB..1F3CE ; valid ; ; NV8 # 7.0 WEIGHT LIFTER..RACING CAR -1F3CF..1F3D3 ; valid ; ; NV8 # 8.0 CRICKET BAT AND BALL..TABLE TENNIS PADDLE AND BALL -1F3D4..1F3DF ; valid ; ; NV8 # 7.0 SNOW CAPPED MOUNTAIN..STADIUM -1F3E0..1F3F0 ; valid ; ; NV8 # 6.0 HOUSE BUILDING..EUROPEAN CASTLE -1F3F1..1F3F7 ; valid ; ; NV8 # 7.0 WHITE PENNANT..LABEL -1F3F8..1F3FF ; valid ; ; NV8 # 8.0 BADMINTON RACQUET AND SHUTTLECOCK..EMOJI MODIFIER FITZPATRICK TYPE-6 -1F400..1F43E ; valid ; ; NV8 # 6.0 RAT..PAW PRINTS -1F43F ; valid ; ; NV8 # 7.0 CHIPMUNK -1F440 ; valid ; ; NV8 # 6.0 EYES -1F441 ; valid ; ; NV8 # 7.0 EYE -1F442..1F4F7 ; valid ; ; NV8 # 6.0 EAR..CAMERA -1F4F8 ; valid ; ; NV8 # 7.0 CAMERA WITH FLASH -1F4F9..1F4FC ; valid ; ; NV8 # 6.0 VIDEO CAMERA..VIDEOCASSETTE -1F4FD..1F4FE ; valid ; ; NV8 # 7.0 FILM PROJECTOR..PORTABLE STEREO -1F4FF ; valid ; ; NV8 # 8.0 PRAYER BEADS -1F500..1F53D ; valid ; ; NV8 # 6.0 TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE -1F53E..1F53F ; valid ; ; NV8 # 7.0 LOWER RIGHT SHADOWED WHITE CIRCLE..UPPER RIGHT SHADOWED WHITE CIRCLE -1F540..1F543 ; valid ; ; NV8 # 6.1 CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS -1F544..1F54A ; valid ; ; NV8 # 7.0 NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS..DOVE OF PEACE -1F54B..1F54F ; valid ; ; NV8 # 8.0 KAABA..BOWL OF HYGIEIA -1F550..1F567 ; valid ; ; NV8 # 6.0 CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY -1F568..1F579 ; valid ; ; NV8 # 7.0 RIGHT SPEAKER..JOYSTICK -1F57A ; valid ; ; NV8 # 9.0 MAN DANCING -1F57B..1F5A3 ; valid ; ; NV8 # 7.0 LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX -1F5A4 ; valid ; ; NV8 # 9.0 BLACK HEART -1F5A5..1F5FA ; valid ; ; NV8 # 7.0 DESKTOP COMPUTER..WORLD MAP -1F5FB..1F5FF ; valid ; ; NV8 # 6.0 MOUNT FUJI..MOYAI -1F600 ; valid ; ; NV8 # 6.1 GRINNING FACE -1F601..1F610 ; valid ; ; NV8 # 6.0 GRINNING FACE WITH SMILING EYES..NEUTRAL FACE -1F611 ; valid ; ; NV8 # 6.1 EXPRESSIONLESS FACE -1F612..1F614 ; valid ; ; NV8 # 6.0 UNAMUSED FACE..PENSIVE FACE -1F615 ; valid ; ; NV8 # 6.1 CONFUSED FACE -1F616 ; valid ; ; NV8 # 6.0 CONFOUNDED FACE -1F617 ; valid ; ; NV8 # 6.1 KISSING FACE -1F618 ; valid ; ; NV8 # 6.0 FACE THROWING A KISS -1F619 ; valid ; ; NV8 # 6.1 KISSING FACE WITH SMILING EYES -1F61A ; valid ; ; NV8 # 6.0 KISSING FACE WITH CLOSED EYES -1F61B ; valid ; ; NV8 # 6.1 FACE WITH STUCK-OUT TONGUE -1F61C..1F61E ; valid ; ; NV8 # 6.0 FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE -1F61F ; valid ; ; NV8 # 6.1 WORRIED FACE -1F620..1F625 ; valid ; ; NV8 # 6.0 ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE -1F626..1F627 ; valid ; ; NV8 # 6.1 FROWNING FACE WITH OPEN MOUTH..ANGUISHED FACE -1F628..1F62B ; valid ; ; NV8 # 6.0 FEARFUL FACE..TIRED FACE -1F62C ; valid ; ; NV8 # 6.1 GRIMACING FACE -1F62D ; valid ; ; NV8 # 6.0 LOUDLY CRYING FACE -1F62E..1F62F ; valid ; ; NV8 # 6.1 FACE WITH OPEN MOUTH..HUSHED FACE -1F630..1F633 ; valid ; ; NV8 # 6.0 FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE -1F634 ; valid ; ; NV8 # 6.1 SLEEPING FACE -1F635..1F640 ; valid ; ; NV8 # 6.0 DIZZY FACE..WEARY CAT FACE -1F641..1F642 ; valid ; ; NV8 # 7.0 SLIGHTLY FROWNING FACE..SLIGHTLY SMILING FACE -1F643..1F644 ; valid ; ; NV8 # 8.0 UPSIDE-DOWN FACE..FACE WITH ROLLING EYES -1F645..1F64F ; valid ; ; NV8 # 6.0 FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS -1F650..1F67F ; valid ; ; NV8 # 7.0 NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD -1F680..1F6C5 ; valid ; ; NV8 # 6.0 ROCKET..LEFT LUGGAGE -1F6C6..1F6CF ; valid ; ; NV8 # 7.0 TRIANGLE WITH ROUNDED CORNERS..BED -1F6D0 ; valid ; ; NV8 # 8.0 PLACE OF WORSHIP -1F6D1..1F6D2 ; valid ; ; NV8 # 9.0 OCTAGONAL SIGN..SHOPPING TROLLEY -1F6D3..1F6DF ; disallowed # NA <reserved-1F6D3>..<reserved-1F6DF> -1F6E0..1F6EC ; valid ; ; NV8 # 7.0 HAMMER AND WRENCH..AIRPLANE ARRIVING -1F6ED..1F6EF ; disallowed # NA <reserved-1F6ED>..<reserved-1F6EF> -1F6F0..1F6F3 ; valid ; ; NV8 # 7.0 SATELLITE..PASSENGER SHIP -1F6F4..1F6F6 ; valid ; ; NV8 # 9.0 SCOOTER..CANOE -1F6F7..1F6FF ; disallowed # NA <reserved-1F6F7>..<reserved-1F6FF> -1F700..1F773 ; valid ; ; NV8 # 6.0 ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE -1F774..1F77F ; disallowed # NA <reserved-1F774>..<reserved-1F77F> -1F780..1F7D4 ; valid ; ; NV8 # 7.0 BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR -1F7D5..1F7FF ; disallowed # NA <reserved-1F7D5>..<reserved-1F7FF> -1F800..1F80B ; valid ; ; NV8 # 7.0 LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD -1F80C..1F80F ; disallowed # NA <reserved-1F80C>..<reserved-1F80F> -1F810..1F847 ; valid ; ; NV8 # 7.0 LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD..DOWNWARDS HEAVY ARROW -1F848..1F84F ; disallowed # NA <reserved-1F848>..<reserved-1F84F> -1F850..1F859 ; valid ; ; NV8 # 7.0 LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW -1F85A..1F85F ; disallowed # NA <reserved-1F85A>..<reserved-1F85F> -1F860..1F887 ; valid ; ; NV8 # 7.0 WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW -1F888..1F88F ; disallowed # NA <reserved-1F888>..<reserved-1F88F> -1F890..1F8AD ; valid ; ; NV8 # 7.0 LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS -1F8AE..1F90F ; disallowed # NA <reserved-1F8AE>..<reserved-1F90F> -1F910..1F918 ; valid ; ; NV8 # 8.0 ZIPPER-MOUTH FACE..SIGN OF THE HORNS -1F919..1F91E ; valid ; ; NV8 # 9.0 CALL ME HAND..HAND WITH INDEX AND MIDDLE FINGERS CROSSED -1F91F ; disallowed # NA <reserved-1F91F> -1F920..1F927 ; valid ; ; NV8 # 9.0 FACE WITH COWBOY HAT..SNEEZING FACE -1F928..1F92F ; disallowed # NA <reserved-1F928>..<reserved-1F92F> -1F930 ; valid ; ; NV8 # 9.0 PREGNANT WOMAN -1F931..1F932 ; disallowed # NA <reserved-1F931>..<reserved-1F932> -1F933..1F93E ; valid ; ; NV8 # 9.0 SELFIE..HANDBALL -1F93F ; disallowed # NA <reserved-1F93F> -1F940..1F94B ; valid ; ; NV8 # 9.0 WILTED FLOWER..MARTIAL ARTS UNIFORM -1F94C..1F94F ; disallowed # NA <reserved-1F94C>..<reserved-1F94F> -1F950..1F95E ; valid ; ; NV8 # 9.0 CROISSANT..PANCAKES -1F95F..1F97F ; disallowed # NA <reserved-1F95F>..<reserved-1F97F> -1F980..1F984 ; valid ; ; NV8 # 8.0 CRAB..UNICORN FACE -1F985..1F991 ; valid ; ; NV8 # 9.0 EAGLE..SQUID -1F992..1F9BF ; disallowed # NA <reserved-1F992>..<reserved-1F9BF> -1F9C0 ; valid ; ; NV8 # 8.0 CHEESE WEDGE -1F9C1..1FFFD ; disallowed # NA <reserved-1F9C1>..<reserved-1FFFD> -1FFFE..1FFFF ; disallowed # 2.0 <noncharacter-1FFFE>..<noncharacter-1FFFF> -20000..2A6D6 ; valid # 3.1 CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 -2A6D7..2A6FF ; disallowed # NA <reserved-2A6D7>..<reserved-2A6FF> -2A700..2B734 ; valid # 5.2 CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 -2B735..2B73F ; disallowed # NA <reserved-2B735>..<reserved-2B73F> -2B740..2B81D ; valid # 6.0 CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D -2B81E..2B81F ; disallowed # NA <reserved-2B81E>..<reserved-2B81F> -2B820..2CEA1 ; valid # 8.0 CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 -2CEA2..2F7FF ; disallowed # NA <reserved-2CEA2>..<reserved-2F7FF> -2F800 ; mapped ; 4E3D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F800 -2F801 ; mapped ; 4E38 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F801 -2F802 ; mapped ; 4E41 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F802 -2F803 ; mapped ; 20122 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F803 -2F804 ; mapped ; 4F60 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F804 -2F805 ; mapped ; 4FAE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F805 -2F806 ; mapped ; 4FBB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F806 -2F807 ; mapped ; 5002 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F807 -2F808 ; mapped ; 507A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F808 -2F809 ; mapped ; 5099 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F809 -2F80A ; mapped ; 50E7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F80A -2F80B ; mapped ; 50CF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F80B -2F80C ; mapped ; 349E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F80C -2F80D ; mapped ; 2063A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F80D -2F80E ; mapped ; 514D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F80E -2F80F ; mapped ; 5154 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F80F -2F810 ; mapped ; 5164 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F810 -2F811 ; mapped ; 5177 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F811 -2F812 ; mapped ; 2051C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F812 -2F813 ; mapped ; 34B9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F813 -2F814 ; mapped ; 5167 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F814 -2F815 ; mapped ; 518D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F815 -2F816 ; mapped ; 2054B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F816 -2F817 ; mapped ; 5197 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F817 -2F818 ; mapped ; 51A4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F818 -2F819 ; mapped ; 4ECC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F819 -2F81A ; mapped ; 51AC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F81A -2F81B ; mapped ; 51B5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F81B -2F81C ; mapped ; 291DF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F81C -2F81D ; mapped ; 51F5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F81D -2F81E ; mapped ; 5203 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F81E -2F81F ; mapped ; 34DF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F81F -2F820 ; mapped ; 523B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F820 -2F821 ; mapped ; 5246 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F821 -2F822 ; mapped ; 5272 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F822 -2F823 ; mapped ; 5277 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F823 -2F824 ; mapped ; 3515 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F824 -2F825 ; mapped ; 52C7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F825 -2F826 ; mapped ; 52C9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F826 -2F827 ; mapped ; 52E4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F827 -2F828 ; mapped ; 52FA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F828 -2F829 ; mapped ; 5305 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F829 -2F82A ; mapped ; 5306 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F82A -2F82B ; mapped ; 5317 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F82B -2F82C ; mapped ; 5349 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F82C -2F82D ; mapped ; 5351 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F82D -2F82E ; mapped ; 535A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F82E -2F82F ; mapped ; 5373 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F82F -2F830 ; mapped ; 537D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F830 -2F831..2F833 ; mapped ; 537F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F831..CJK COMPATIBILITY IDEOGRAPH-2F833 -2F834 ; mapped ; 20A2C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F834 -2F835 ; mapped ; 7070 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F835 -2F836 ; mapped ; 53CA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F836 -2F837 ; mapped ; 53DF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F837 -2F838 ; mapped ; 20B63 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F838 -2F839 ; mapped ; 53EB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F839 -2F83A ; mapped ; 53F1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F83A -2F83B ; mapped ; 5406 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F83B -2F83C ; mapped ; 549E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F83C -2F83D ; mapped ; 5438 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F83D -2F83E ; mapped ; 5448 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F83E -2F83F ; mapped ; 5468 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F83F -2F840 ; mapped ; 54A2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F840 -2F841 ; mapped ; 54F6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F841 -2F842 ; mapped ; 5510 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F842 -2F843 ; mapped ; 5553 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F843 -2F844 ; mapped ; 5563 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F844 -2F845..2F846 ; mapped ; 5584 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F845..CJK COMPATIBILITY IDEOGRAPH-2F846 -2F847 ; mapped ; 5599 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F847 -2F848 ; mapped ; 55AB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F848 -2F849 ; mapped ; 55B3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F849 -2F84A ; mapped ; 55C2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F84A -2F84B ; mapped ; 5716 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F84B -2F84C ; mapped ; 5606 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F84C -2F84D ; mapped ; 5717 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F84D -2F84E ; mapped ; 5651 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F84E -2F84F ; mapped ; 5674 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F84F -2F850 ; mapped ; 5207 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F850 -2F851 ; mapped ; 58EE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F851 -2F852 ; mapped ; 57CE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F852 -2F853 ; mapped ; 57F4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F853 -2F854 ; mapped ; 580D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F854 -2F855 ; mapped ; 578B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F855 -2F856 ; mapped ; 5832 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F856 -2F857 ; mapped ; 5831 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F857 -2F858 ; mapped ; 58AC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F858 -2F859 ; mapped ; 214E4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F859 -2F85A ; mapped ; 58F2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F85A -2F85B ; mapped ; 58F7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F85B -2F85C ; mapped ; 5906 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F85C -2F85D ; mapped ; 591A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F85D -2F85E ; mapped ; 5922 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F85E -2F85F ; mapped ; 5962 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F85F -2F860 ; mapped ; 216A8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F860 -2F861 ; mapped ; 216EA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F861 -2F862 ; mapped ; 59EC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F862 -2F863 ; mapped ; 5A1B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F863 -2F864 ; mapped ; 5A27 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F864 -2F865 ; mapped ; 59D8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F865 -2F866 ; mapped ; 5A66 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F866 -2F867 ; mapped ; 36EE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F867 -2F868 ; disallowed # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F868 -2F869 ; mapped ; 5B08 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F869 -2F86A..2F86B ; mapped ; 5B3E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F86A..CJK COMPATIBILITY IDEOGRAPH-2F86B -2F86C ; mapped ; 219C8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F86C -2F86D ; mapped ; 5BC3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F86D -2F86E ; mapped ; 5BD8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F86E -2F86F ; mapped ; 5BE7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F86F -2F870 ; mapped ; 5BF3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F870 -2F871 ; mapped ; 21B18 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F871 -2F872 ; mapped ; 5BFF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F872 -2F873 ; mapped ; 5C06 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F873 -2F874 ; disallowed # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F874 -2F875 ; mapped ; 5C22 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F875 -2F876 ; mapped ; 3781 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F876 -2F877 ; mapped ; 5C60 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F877 -2F878 ; mapped ; 5C6E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F878 -2F879 ; mapped ; 5CC0 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F879 -2F87A ; mapped ; 5C8D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F87A -2F87B ; mapped ; 21DE4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F87B -2F87C ; mapped ; 5D43 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F87C -2F87D ; mapped ; 21DE6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F87D -2F87E ; mapped ; 5D6E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F87E -2F87F ; mapped ; 5D6B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F87F -2F880 ; mapped ; 5D7C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F880 -2F881 ; mapped ; 5DE1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F881 -2F882 ; mapped ; 5DE2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F882 -2F883 ; mapped ; 382F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F883 -2F884 ; mapped ; 5DFD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F884 -2F885 ; mapped ; 5E28 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F885 -2F886 ; mapped ; 5E3D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F886 -2F887 ; mapped ; 5E69 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F887 -2F888 ; mapped ; 3862 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F888 -2F889 ; mapped ; 22183 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F889 -2F88A ; mapped ; 387C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F88A -2F88B ; mapped ; 5EB0 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F88B -2F88C ; mapped ; 5EB3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F88C -2F88D ; mapped ; 5EB6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F88D -2F88E ; mapped ; 5ECA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F88E -2F88F ; mapped ; 2A392 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F88F -2F890 ; mapped ; 5EFE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F890 -2F891..2F892 ; mapped ; 22331 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F891..CJK COMPATIBILITY IDEOGRAPH-2F892 -2F893 ; mapped ; 8201 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F893 -2F894..2F895 ; mapped ; 5F22 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F894..CJK COMPATIBILITY IDEOGRAPH-2F895 -2F896 ; mapped ; 38C7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F896 -2F897 ; mapped ; 232B8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F897 -2F898 ; mapped ; 261DA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F898 -2F899 ; mapped ; 5F62 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F899 -2F89A ; mapped ; 5F6B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F89A -2F89B ; mapped ; 38E3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F89B -2F89C ; mapped ; 5F9A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F89C -2F89D ; mapped ; 5FCD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F89D -2F89E ; mapped ; 5FD7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F89E -2F89F ; mapped ; 5FF9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F89F -2F8A0 ; mapped ; 6081 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A0 -2F8A1 ; mapped ; 393A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A1 -2F8A2 ; mapped ; 391C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A2 -2F8A3 ; mapped ; 6094 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A3 -2F8A4 ; mapped ; 226D4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A4 -2F8A5 ; mapped ; 60C7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A5 -2F8A6 ; mapped ; 6148 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A6 -2F8A7 ; mapped ; 614C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A7 -2F8A8 ; mapped ; 614E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A8 -2F8A9 ; mapped ; 614C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8A9 -2F8AA ; mapped ; 617A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8AA -2F8AB ; mapped ; 618E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8AB -2F8AC ; mapped ; 61B2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8AC -2F8AD ; mapped ; 61A4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8AD -2F8AE ; mapped ; 61AF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8AE -2F8AF ; mapped ; 61DE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8AF -2F8B0 ; mapped ; 61F2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B0 -2F8B1 ; mapped ; 61F6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B1 -2F8B2 ; mapped ; 6210 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B2 -2F8B3 ; mapped ; 621B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B3 -2F8B4 ; mapped ; 625D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B4 -2F8B5 ; mapped ; 62B1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B5 -2F8B6 ; mapped ; 62D4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B6 -2F8B7 ; mapped ; 6350 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B7 -2F8B8 ; mapped ; 22B0C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B8 -2F8B9 ; mapped ; 633D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8B9 -2F8BA ; mapped ; 62FC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8BA -2F8BB ; mapped ; 6368 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8BB -2F8BC ; mapped ; 6383 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8BC -2F8BD ; mapped ; 63E4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8BD -2F8BE ; mapped ; 22BF1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8BE -2F8BF ; mapped ; 6422 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8BF -2F8C0 ; mapped ; 63C5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C0 -2F8C1 ; mapped ; 63A9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C1 -2F8C2 ; mapped ; 3A2E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C2 -2F8C3 ; mapped ; 6469 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C3 -2F8C4 ; mapped ; 647E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C4 -2F8C5 ; mapped ; 649D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C5 -2F8C6 ; mapped ; 6477 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C6 -2F8C7 ; mapped ; 3A6C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C7 -2F8C8 ; mapped ; 654F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C8 -2F8C9 ; mapped ; 656C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8C9 -2F8CA ; mapped ; 2300A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8CA -2F8CB ; mapped ; 65E3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8CB -2F8CC ; mapped ; 66F8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8CC -2F8CD ; mapped ; 6649 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8CD -2F8CE ; mapped ; 3B19 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8CE -2F8CF ; mapped ; 6691 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8CF -2F8D0 ; mapped ; 3B08 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D0 -2F8D1 ; mapped ; 3AE4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D1 -2F8D2 ; mapped ; 5192 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D2 -2F8D3 ; mapped ; 5195 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D3 -2F8D4 ; mapped ; 6700 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D4 -2F8D5 ; mapped ; 669C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D5 -2F8D6 ; mapped ; 80AD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D6 -2F8D7 ; mapped ; 43D9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D7 -2F8D8 ; mapped ; 6717 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D8 -2F8D9 ; mapped ; 671B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8D9 -2F8DA ; mapped ; 6721 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8DA -2F8DB ; mapped ; 675E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8DB -2F8DC ; mapped ; 6753 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8DC -2F8DD ; mapped ; 233C3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8DD -2F8DE ; mapped ; 3B49 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8DE -2F8DF ; mapped ; 67FA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8DF -2F8E0 ; mapped ; 6785 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E0 -2F8E1 ; mapped ; 6852 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E1 -2F8E2 ; mapped ; 6885 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E2 -2F8E3 ; mapped ; 2346D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E3 -2F8E4 ; mapped ; 688E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E4 -2F8E5 ; mapped ; 681F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E5 -2F8E6 ; mapped ; 6914 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E6 -2F8E7 ; mapped ; 3B9D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E7 -2F8E8 ; mapped ; 6942 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E8 -2F8E9 ; mapped ; 69A3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8E9 -2F8EA ; mapped ; 69EA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8EA -2F8EB ; mapped ; 6AA8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8EB -2F8EC ; mapped ; 236A3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8EC -2F8ED ; mapped ; 6ADB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8ED -2F8EE ; mapped ; 3C18 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8EE -2F8EF ; mapped ; 6B21 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8EF -2F8F0 ; mapped ; 238A7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F0 -2F8F1 ; mapped ; 6B54 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F1 -2F8F2 ; mapped ; 3C4E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F2 -2F8F3 ; mapped ; 6B72 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F3 -2F8F4 ; mapped ; 6B9F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F4 -2F8F5 ; mapped ; 6BBA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F5 -2F8F6 ; mapped ; 6BBB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F6 -2F8F7 ; mapped ; 23A8D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F7 -2F8F8 ; mapped ; 21D0B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F8 -2F8F9 ; mapped ; 23AFA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8F9 -2F8FA ; mapped ; 6C4E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8FA -2F8FB ; mapped ; 23CBC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8FB -2F8FC ; mapped ; 6CBF # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8FC -2F8FD ; mapped ; 6CCD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8FD -2F8FE ; mapped ; 6C67 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8FE -2F8FF ; mapped ; 6D16 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F8FF -2F900 ; mapped ; 6D3E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F900 -2F901 ; mapped ; 6D77 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F901 -2F902 ; mapped ; 6D41 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F902 -2F903 ; mapped ; 6D69 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F903 -2F904 ; mapped ; 6D78 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F904 -2F905 ; mapped ; 6D85 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F905 -2F906 ; mapped ; 23D1E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F906 -2F907 ; mapped ; 6D34 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F907 -2F908 ; mapped ; 6E2F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F908 -2F909 ; mapped ; 6E6E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F909 -2F90A ; mapped ; 3D33 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F90A -2F90B ; mapped ; 6ECB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F90B -2F90C ; mapped ; 6EC7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F90C -2F90D ; mapped ; 23ED1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F90D -2F90E ; mapped ; 6DF9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F90E -2F90F ; mapped ; 6F6E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F90F -2F910 ; mapped ; 23F5E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F910 -2F911 ; mapped ; 23F8E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F911 -2F912 ; mapped ; 6FC6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F912 -2F913 ; mapped ; 7039 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F913 -2F914 ; mapped ; 701E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F914 -2F915 ; mapped ; 701B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F915 -2F916 ; mapped ; 3D96 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F916 -2F917 ; mapped ; 704A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F917 -2F918 ; mapped ; 707D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F918 -2F919 ; mapped ; 7077 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F919 -2F91A ; mapped ; 70AD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F91A -2F91B ; mapped ; 20525 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F91B -2F91C ; mapped ; 7145 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F91C -2F91D ; mapped ; 24263 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F91D -2F91E ; mapped ; 719C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F91E -2F91F ; disallowed # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F91F -2F920 ; mapped ; 7228 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F920 -2F921 ; mapped ; 7235 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F921 -2F922 ; mapped ; 7250 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F922 -2F923 ; mapped ; 24608 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F923 -2F924 ; mapped ; 7280 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F924 -2F925 ; mapped ; 7295 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F925 -2F926 ; mapped ; 24735 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F926 -2F927 ; mapped ; 24814 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F927 -2F928 ; mapped ; 737A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F928 -2F929 ; mapped ; 738B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F929 -2F92A ; mapped ; 3EAC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F92A -2F92B ; mapped ; 73A5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F92B -2F92C..2F92D ; mapped ; 3EB8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F92C..CJK COMPATIBILITY IDEOGRAPH-2F92D -2F92E ; mapped ; 7447 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F92E -2F92F ; mapped ; 745C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F92F -2F930 ; mapped ; 7471 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F930 -2F931 ; mapped ; 7485 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F931 -2F932 ; mapped ; 74CA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F932 -2F933 ; mapped ; 3F1B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F933 -2F934 ; mapped ; 7524 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F934 -2F935 ; mapped ; 24C36 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F935 -2F936 ; mapped ; 753E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F936 -2F937 ; mapped ; 24C92 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F937 -2F938 ; mapped ; 7570 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F938 -2F939 ; mapped ; 2219F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F939 -2F93A ; mapped ; 7610 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F93A -2F93B ; mapped ; 24FA1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F93B -2F93C ; mapped ; 24FB8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F93C -2F93D ; mapped ; 25044 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F93D -2F93E ; mapped ; 3FFC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F93E -2F93F ; mapped ; 4008 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F93F -2F940 ; mapped ; 76F4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F940 -2F941 ; mapped ; 250F3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F941 -2F942 ; mapped ; 250F2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F942 -2F943 ; mapped ; 25119 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F943 -2F944 ; mapped ; 25133 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F944 -2F945 ; mapped ; 771E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F945 -2F946..2F947 ; mapped ; 771F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F946..CJK COMPATIBILITY IDEOGRAPH-2F947 -2F948 ; mapped ; 774A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F948 -2F949 ; mapped ; 4039 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F949 -2F94A ; mapped ; 778B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F94A -2F94B ; mapped ; 4046 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F94B -2F94C ; mapped ; 4096 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F94C -2F94D ; mapped ; 2541D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F94D -2F94E ; mapped ; 784E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F94E -2F94F ; mapped ; 788C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F94F -2F950 ; mapped ; 78CC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F950 -2F951 ; mapped ; 40E3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F951 -2F952 ; mapped ; 25626 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F952 -2F953 ; mapped ; 7956 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F953 -2F954 ; mapped ; 2569A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F954 -2F955 ; mapped ; 256C5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F955 -2F956 ; mapped ; 798F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F956 -2F957 ; mapped ; 79EB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F957 -2F958 ; mapped ; 412F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F958 -2F959 ; mapped ; 7A40 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F959 -2F95A ; mapped ; 7A4A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F95A -2F95B ; mapped ; 7A4F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F95B -2F95C ; mapped ; 2597C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F95C -2F95D..2F95E ; mapped ; 25AA7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F95D..CJK COMPATIBILITY IDEOGRAPH-2F95E -2F95F ; disallowed # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F95F -2F960 ; mapped ; 4202 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F960 -2F961 ; mapped ; 25BAB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F961 -2F962 ; mapped ; 7BC6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F962 -2F963 ; mapped ; 7BC9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F963 -2F964 ; mapped ; 4227 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F964 -2F965 ; mapped ; 25C80 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F965 -2F966 ; mapped ; 7CD2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F966 -2F967 ; mapped ; 42A0 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F967 -2F968 ; mapped ; 7CE8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F968 -2F969 ; mapped ; 7CE3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F969 -2F96A ; mapped ; 7D00 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F96A -2F96B ; mapped ; 25F86 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F96B -2F96C ; mapped ; 7D63 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F96C -2F96D ; mapped ; 4301 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F96D -2F96E ; mapped ; 7DC7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F96E -2F96F ; mapped ; 7E02 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F96F -2F970 ; mapped ; 7E45 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F970 -2F971 ; mapped ; 4334 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F971 -2F972 ; mapped ; 26228 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F972 -2F973 ; mapped ; 26247 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F973 -2F974 ; mapped ; 4359 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F974 -2F975 ; mapped ; 262D9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F975 -2F976 ; mapped ; 7F7A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F976 -2F977 ; mapped ; 2633E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F977 -2F978 ; mapped ; 7F95 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F978 -2F979 ; mapped ; 7FFA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F979 -2F97A ; mapped ; 8005 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F97A -2F97B ; mapped ; 264DA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F97B -2F97C ; mapped ; 26523 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F97C -2F97D ; mapped ; 8060 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F97D -2F97E ; mapped ; 265A8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F97E -2F97F ; mapped ; 8070 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F97F -2F980 ; mapped ; 2335F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F980 -2F981 ; mapped ; 43D5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F981 -2F982 ; mapped ; 80B2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F982 -2F983 ; mapped ; 8103 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F983 -2F984 ; mapped ; 440B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F984 -2F985 ; mapped ; 813E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F985 -2F986 ; mapped ; 5AB5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F986 -2F987 ; mapped ; 267A7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F987 -2F988 ; mapped ; 267B5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F988 -2F989 ; mapped ; 23393 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F989 -2F98A ; mapped ; 2339C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F98A -2F98B ; mapped ; 8201 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F98B -2F98C ; mapped ; 8204 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F98C -2F98D ; mapped ; 8F9E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F98D -2F98E ; mapped ; 446B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F98E -2F98F ; mapped ; 8291 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F98F -2F990 ; mapped ; 828B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F990 -2F991 ; mapped ; 829D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F991 -2F992 ; mapped ; 52B3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F992 -2F993 ; mapped ; 82B1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F993 -2F994 ; mapped ; 82B3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F994 -2F995 ; mapped ; 82BD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F995 -2F996 ; mapped ; 82E6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F996 -2F997 ; mapped ; 26B3C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F997 -2F998 ; mapped ; 82E5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F998 -2F999 ; mapped ; 831D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F999 -2F99A ; mapped ; 8363 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F99A -2F99B ; mapped ; 83AD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F99B -2F99C ; mapped ; 8323 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F99C -2F99D ; mapped ; 83BD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F99D -2F99E ; mapped ; 83E7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F99E -2F99F ; mapped ; 8457 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F99F -2F9A0 ; mapped ; 8353 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A0 -2F9A1 ; mapped ; 83CA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A1 -2F9A2 ; mapped ; 83CC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A2 -2F9A3 ; mapped ; 83DC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A3 -2F9A4 ; mapped ; 26C36 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A4 -2F9A5 ; mapped ; 26D6B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A5 -2F9A6 ; mapped ; 26CD5 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A6 -2F9A7 ; mapped ; 452B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A7 -2F9A8 ; mapped ; 84F1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A8 -2F9A9 ; mapped ; 84F3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9A9 -2F9AA ; mapped ; 8516 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9AA -2F9AB ; mapped ; 273CA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9AB -2F9AC ; mapped ; 8564 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9AC -2F9AD ; mapped ; 26F2C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9AD -2F9AE ; mapped ; 455D # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9AE -2F9AF ; mapped ; 4561 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9AF -2F9B0 ; mapped ; 26FB1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B0 -2F9B1 ; mapped ; 270D2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B1 -2F9B2 ; mapped ; 456B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B2 -2F9B3 ; mapped ; 8650 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B3 -2F9B4 ; mapped ; 865C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B4 -2F9B5 ; mapped ; 8667 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B5 -2F9B6 ; mapped ; 8669 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B6 -2F9B7 ; mapped ; 86A9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B7 -2F9B8 ; mapped ; 8688 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B8 -2F9B9 ; mapped ; 870E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9B9 -2F9BA ; mapped ; 86E2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9BA -2F9BB ; mapped ; 8779 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9BB -2F9BC ; mapped ; 8728 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9BC -2F9BD ; mapped ; 876B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9BD -2F9BE ; mapped ; 8786 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9BE -2F9BF ; disallowed # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9BF -2F9C0 ; mapped ; 87E1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C0 -2F9C1 ; mapped ; 8801 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C1 -2F9C2 ; mapped ; 45F9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C2 -2F9C3 ; mapped ; 8860 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C3 -2F9C4 ; mapped ; 8863 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C4 -2F9C5 ; mapped ; 27667 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C5 -2F9C6 ; mapped ; 88D7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C6 -2F9C7 ; mapped ; 88DE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C7 -2F9C8 ; mapped ; 4635 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C8 -2F9C9 ; mapped ; 88FA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9C9 -2F9CA ; mapped ; 34BB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9CA -2F9CB ; mapped ; 278AE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9CB -2F9CC ; mapped ; 27966 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9CC -2F9CD ; mapped ; 46BE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9CD -2F9CE ; mapped ; 46C7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9CE -2F9CF ; mapped ; 8AA0 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9CF -2F9D0 ; mapped ; 8AED # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D0 -2F9D1 ; mapped ; 8B8A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D1 -2F9D2 ; mapped ; 8C55 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D2 -2F9D3 ; mapped ; 27CA8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D3 -2F9D4 ; mapped ; 8CAB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D4 -2F9D5 ; mapped ; 8CC1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D5 -2F9D6 ; mapped ; 8D1B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D6 -2F9D7 ; mapped ; 8D77 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D7 -2F9D8 ; mapped ; 27F2F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D8 -2F9D9 ; mapped ; 20804 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9D9 -2F9DA ; mapped ; 8DCB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9DA -2F9DB ; mapped ; 8DBC # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9DB -2F9DC ; mapped ; 8DF0 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9DC -2F9DD ; mapped ; 208DE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9DD -2F9DE ; mapped ; 8ED4 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9DE -2F9DF ; mapped ; 8F38 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9DF -2F9E0 ; mapped ; 285D2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E0 -2F9E1 ; mapped ; 285ED # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E1 -2F9E2 ; mapped ; 9094 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E2 -2F9E3 ; mapped ; 90F1 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E3 -2F9E4 ; mapped ; 9111 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E4 -2F9E5 ; mapped ; 2872E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E5 -2F9E6 ; mapped ; 911B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E6 -2F9E7 ; mapped ; 9238 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E7 -2F9E8 ; mapped ; 92D7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E8 -2F9E9 ; mapped ; 92D8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9E9 -2F9EA ; mapped ; 927C # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9EA -2F9EB ; mapped ; 93F9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9EB -2F9EC ; mapped ; 9415 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9EC -2F9ED ; mapped ; 28BFA # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9ED -2F9EE ; mapped ; 958B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9EE -2F9EF ; mapped ; 4995 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9EF -2F9F0 ; mapped ; 95B7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F0 -2F9F1 ; mapped ; 28D77 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F1 -2F9F2 ; mapped ; 49E6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F2 -2F9F3 ; mapped ; 96C3 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F3 -2F9F4 ; mapped ; 5DB2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F4 -2F9F5 ; mapped ; 9723 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F5 -2F9F6 ; mapped ; 29145 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F6 -2F9F7 ; mapped ; 2921A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F7 -2F9F8 ; mapped ; 4A6E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F8 -2F9F9 ; mapped ; 4A76 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9F9 -2F9FA ; mapped ; 97E0 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9FA -2F9FB ; mapped ; 2940A # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9FB -2F9FC ; mapped ; 4AB2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9FC -2F9FD ; mapped ; 29496 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9FD -2F9FE..2F9FF ; mapped ; 980B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2F9FE..CJK COMPATIBILITY IDEOGRAPH-2F9FF -2FA00 ; mapped ; 9829 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA00 -2FA01 ; mapped ; 295B6 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA01 -2FA02 ; mapped ; 98E2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA02 -2FA03 ; mapped ; 4B33 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA03 -2FA04 ; mapped ; 9929 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA04 -2FA05 ; mapped ; 99A7 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA05 -2FA06 ; mapped ; 99C2 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA06 -2FA07 ; mapped ; 99FE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA07 -2FA08 ; mapped ; 4BCE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA08 -2FA09 ; mapped ; 29B30 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA09 -2FA0A ; mapped ; 9B12 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA0A -2FA0B ; mapped ; 9C40 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA0B -2FA0C ; mapped ; 9CFD # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA0C -2FA0D ; mapped ; 4CCE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA0D -2FA0E ; mapped ; 4CED # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA0E -2FA0F ; mapped ; 9D67 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA0F -2FA10 ; mapped ; 2A0CE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA10 -2FA11 ; mapped ; 4CF8 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA11 -2FA12 ; mapped ; 2A105 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA12 -2FA13 ; mapped ; 2A20E # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA13 -2FA14 ; mapped ; 2A291 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA14 -2FA15 ; mapped ; 9EBB # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA15 -2FA16 ; mapped ; 4D56 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA16 -2FA17 ; mapped ; 9EF9 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA17 -2FA18 ; mapped ; 9EFE # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA18 -2FA19 ; mapped ; 9F05 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA19 -2FA1A ; mapped ; 9F0F # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA1A -2FA1B ; mapped ; 9F16 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA1B -2FA1C ; mapped ; 9F3B # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA1C -2FA1D ; mapped ; 2A600 # 3.1 CJK COMPATIBILITY IDEOGRAPH-2FA1D -2FA1E..2FFFD ; disallowed # NA <reserved-2FA1E>..<reserved-2FFFD> -2FFFE..2FFFF ; disallowed # 2.0 <noncharacter-2FFFE>..<noncharacter-2FFFF> -30000..3FFFD ; disallowed # NA <reserved-30000>..<reserved-3FFFD> -3FFFE..3FFFF ; disallowed # 2.0 <noncharacter-3FFFE>..<noncharacter-3FFFF> -40000..4FFFD ; disallowed # NA <reserved-40000>..<reserved-4FFFD> -4FFFE..4FFFF ; disallowed # 2.0 <noncharacter-4FFFE>..<noncharacter-4FFFF> -50000..5FFFD ; disallowed # NA <reserved-50000>..<reserved-5FFFD> -5FFFE..5FFFF ; disallowed # 2.0 <noncharacter-5FFFE>..<noncharacter-5FFFF> -60000..6FFFD ; disallowed # NA <reserved-60000>..<reserved-6FFFD> -6FFFE..6FFFF ; disallowed # 2.0 <noncharacter-6FFFE>..<noncharacter-6FFFF> -70000..7FFFD ; disallowed # NA <reserved-70000>..<reserved-7FFFD> -7FFFE..7FFFF ; disallowed # 2.0 <noncharacter-7FFFE>..<noncharacter-7FFFF> -80000..8FFFD ; disallowed # NA <reserved-80000>..<reserved-8FFFD> -8FFFE..8FFFF ; disallowed # 2.0 <noncharacter-8FFFE>..<noncharacter-8FFFF> -90000..9FFFD ; disallowed # NA <reserved-90000>..<reserved-9FFFD> -9FFFE..9FFFF ; disallowed # 2.0 <noncharacter-9FFFE>..<noncharacter-9FFFF> -A0000..AFFFD ; disallowed # NA <reserved-A0000>..<reserved-AFFFD> -AFFFE..AFFFF ; disallowed # 2.0 <noncharacter-AFFFE>..<noncharacter-AFFFF> -B0000..BFFFD ; disallowed # NA <reserved-B0000>..<reserved-BFFFD> -BFFFE..BFFFF ; disallowed # 2.0 <noncharacter-BFFFE>..<noncharacter-BFFFF> -C0000..CFFFD ; disallowed # NA <reserved-C0000>..<reserved-CFFFD> -CFFFE..CFFFF ; disallowed # 2.0 <noncharacter-CFFFE>..<noncharacter-CFFFF> -D0000..DFFFD ; disallowed # NA <reserved-D0000>..<reserved-DFFFD> -DFFFE..DFFFF ; disallowed # 2.0 <noncharacter-DFFFE>..<noncharacter-DFFFF> -E0000 ; disallowed # NA <reserved-E0000> -E0001 ; disallowed # 3.1 LANGUAGE TAG -E0002..E001F ; disallowed # NA <reserved-E0002>..<reserved-E001F> -E0020..E007F ; disallowed # 3.1 TAG SPACE..CANCEL TAG -E0080..E00FF ; disallowed # NA <reserved-E0080>..<reserved-E00FF> -E0100..E01EF ; ignored # 4.0 VARIATION SELECTOR-17..VARIATION SELECTOR-256 -E01F0..EFFFD ; disallowed # NA <reserved-E01F0>..<reserved-EFFFD> -EFFFE..EFFFF ; disallowed # 2.0 <noncharacter-EFFFE>..<noncharacter-EFFFF> -F0000..FFFFD ; disallowed # 2.0 <private-use-F0000>..<private-use-FFFFD> -FFFFE..FFFFF ; disallowed # 2.0 <noncharacter-FFFFE>..<noncharacter-FFFFF> -100000..10FFFD; disallowed # 2.0 <private-use-100000>..<private-use-10FFFD> -10FFFE..10FFFF; disallowed # 2.0 <noncharacter-10FFFE>..<noncharacter-10FFFF> - -# Total code points: 1114112 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/tables/generate_mapping_table.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/tables/generate_mapping_table.rb deleted file mode 100644 index a1d4b98..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/simpleidn-0.2.1/tables/generate_mapping_table.rb +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env ruby - -# Input is expected to follow the form found in IdnaMappingTable.txt -# from The Unicode Consortium - -puts "# encoding: UTF-8\n\n" - -map = {} -ARGF.each do |line| - # Copy full comment lines to output - puts line if line[0] == '#' - - s = line.strip.split('#').first - next if s.nil? - - p = s.split(';').map{|s| s.strip} - - if p[1] == "ignored" - p[1] = "mapped" - p[2] = "" - end - - next unless p[1] == "mapped" || p[1] == "disallowed_STD3_mapped" - - dst = p[2].split(/\s+/).map do |hex| - hex.to_i(16) - end - if dst.length == 1 - dst = dst.first - end - - if p[0].include?('..') - a, b = p[0].split('..',2).map{|n|n.to_i(16)} - (a..b).each do |n| - map[n] = dst - end - else - src = p[0].to_i(16) - map[src] = dst - end -end - -# Output final mapping data -puts -puts 'module SimpleIDN' -puts ' UTS64MAPPING = {' -map.each do |k, v| - puts " #{k} => #{v}," -end -puts ' }' -puts 'end' diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Gemfile deleted file mode 100644 index 735dba7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://rubygems.org' - -# Specify your gem's dependencies in test-gem.gemspec -gemspec - -gem 'tins', '~> 1.0.0' # Ruby 1.9 compat diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/History.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/History.rdoc deleted file mode 100644 index 3b039aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/History.rdoc +++ /dev/null @@ -1,85 +0,0 @@ -1.8.0 / 2017-05-16 -================== - -* Top and bottom borders can be disabled (@kubakrzempek, #83) -* `unicode-display-width` dependency relaxes (@mvz, #88) - -* Readme and docs fixes (@loualrid, #82 and @leoarnold, #86) -* Fixed some test-related warnings (@juanitofatas, #81 and @mvz, #89) - -1.7.3 / 2016-09-21 -================== - -* Fixed compatibility issues for Ruby 1.9, 2.0, 2.1. (@vivekbisen, #80) - -1.7.2 / 2016-09-09 -================== - -* Fix packing table to a minimal width (@vizv, #76) - -1.7.1 / 2016-08-29 -================== - -* Update `unicode-display_width` to fix behavior with signal traps [#78, @jrmhaig] - -1.7.0 / 2016-08-29 -================== - -All props to @vizv for this release! - - * Fixed some spec failures - * Added support for full-width characters (East Asian alphabets, etc) - -1.6.0 / 2016-06-06 -================== - - * Added table styles - margin_left, all_separators. - -1.4.3 / 2011-10-13 -================== - - * Optimize for faster table output. - -1.4.2 / 2010-01-14 -================== - - * Fixed some bugs with colspan - -=== 1.4.1 / 2009-12-18 - -* Fix column alignment with separators. - -=== 1.4.0 / 2009-12-18 - -* Can now add :seperator arbitrarily in a table [thanks splattael] -* Fix common typo: seperator -> separator [thanks splattael] - -=== 1.3.0 / 2009-10-16 - -* Major refactoring (functionality remains the same) - -=== 1.2.0 / 2009-08-06 - -* Added colspan support to table - -=== 1.1.0 / 2009-08-06 - -* Added colspan support to table - -=== 1.1.0 / 2009-07-13 - -* Added Table#== - -=== 1.0.5 / 2009-03-14 - -* Allowing nil to be passed to table for headings -* Revised doc to show that rows can be splatted now -* Misc refactoring - -=== 1.0.3 / 2009-01-15 - -* Moved yield or eval to Terminal::Table initialize where it belongs - -=== 1.0.0 / 2009-01-13 - -* Initial release diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/LICENSE.txt deleted file mode 100644 index e888cec..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2008-2017 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Manifest b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Manifest deleted file mode 100644 index 3cc3140..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Manifest +++ /dev/null @@ -1,27 +0,0 @@ -Gemfile -History.rdoc -README.rdoc -Rakefile -Todo.rdoc -examples/examples.rb -lib/terminal-table.rb -lib/terminal-table/cell.rb -lib/terminal-table/import.rb -lib/terminal-table/row.rb -lib/terminal-table/separator.rb -lib/terminal-table/style.rb -lib/terminal-table/table.rb -lib/terminal-table/table_helper.rb -lib/terminal-table/version.rb -spec/cell_spec.rb -spec/row_spec.rb -spec/spec_helper.rb -spec/table_helper_spec.rb -spec/table_spec.rb -tasks/docs.rake -tasks/gemspec.rake -tasks/spec.rake -terminal-table.gemspec -terminal-table.sublime-project -terminal-table.sublime-workspace -Manifest diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/README.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/README.rdoc deleted file mode 100755 index 6926ea0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/README.rdoc +++ /dev/null @@ -1,247 +0,0 @@ -= Terminal Table - -== Description - -Terminal Table is a fast and simple, yet feature rich ASCII table generator written in Ruby. - -== Installation - - $ gem install terminal-table - -== Usage - -=== Basics - -To use Terminal Table: - - require 'terminal-table' - -To generate a table, provide an array of arrays (which are interpreted as rows): - - rows = [] - rows << ['One', 1] - rows << ['Two', 2] - rows << ['Three', 3] - table = Terminal::Table.new :rows => rows - - # > puts table - # - # +-------+---+ - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # +-------+---+ - - -The constructor can also be given a block which is either yielded the Table object or instance evaluated: - - table = Terminal::Table.new do |t| - t.rows = rows - end - - table = Terminal::Table.new do - self.rows = rows - end - -Adding rows one by one: - - table = Terminal::Table.new do |t| - t << ['One', 1] - t.add_row ['Two', 2] - end - -To add separators between rows: - - table = Terminal::Table.new do |t| - t << ['One', 1] - t << :separator - t.add_row ['Two', 2] - t.add_separator - t.add_row ['Three', 3] - end - - # > puts table - # - # +-------+---+ - # | One | 1 | - # +-------+---+ - # | Two | 2 | - # +-------+---+ - # | Three | 3 | - # +-------+---+ - -Cells can handle multiline content: - - table = Terminal::Table.new do |t| - t << ['One', 1] - t << :separator - t.add_row ["Two\nDouble", 2] - t.add_separator - t.add_row ['Three', 3] - end - - # > puts table - # - # +--------+---+ - # | One | 1 | - # +--------+---+ - # | Two | 2 | - # | Double | | - # +--------+---+ - # | Three | 3 | - # +--------+---+ - -=== Head - -To add a head to the table: - - table = Terminal::Table.new :headings => ['Word', 'Number'], :rows => rows - - # > puts table - # - # +-------+--------+ - # | Word | Number | - # +-------+--------+ - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # +-------+--------+ - -=== Title - -To add a title to the table: - - table = Terminal::Table.new :title => "Cheatsheet", :headings => ['Word', 'Number'], :rows => rows - - # > puts table - # - # +------------+--------+ - # | Cheatsheet | - # +------------+--------+ - # | Word | Number | - # +------------+--------+ - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # +------------+--------+ - -=== Alignment - -To align the second column to the right: - - table.align_column(1, :right) - - # > puts table - # - # +-------+--------+ - # | Word | Number | - # +-------+--------+ - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # +-------+--------+ - -To align an individual cell, you specify the cell value in a hash along the alignment: - - table << ["Four", {:value => 4.0, :alignment => :center}] - - # > puts table - # - # +-------+--------+ - # | Word | Number | - # +-------+--------+ - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # | Four | 4.0 | - # +-------+--------+ - -=== Style - -To specify style options: - - table = Terminal::Table.new :headings => ['Word', 'Number'], :rows => rows, :style => {:width => 80} - - # > puts table - # - # +--------------------------------------+---------------------------------------+ - # | Word | Number | - # +--------------------------------------+---------------------------------------+ - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # +--------------------------------------+---------------------------------------+ - -And change styles on the fly: - - table.style = {:width => 40, :padding_left => 3, :border_x => "=", :border_i => "x"} - - # > puts table - # - # x====================x=================x - # | Cheatsheet | - # x====================x=================x - # | Word | Number | - # x====================x=================x - # | One | 1 | - # | Two | 2 | - # | Three | 3 | - # x====================x=================x - -You can also use styles to add a separator after every row: - - table = Terminal::Table.new do |t| - t.add_row [1, 'One'] - t.add_row [2, 'Two'] - t.add_row [3, 'Three'] - t.style = {:all_separators => true} - end - - # > puts table - # - # +---+-------+ - # | 1 | One | - # +---+-------+ - # | 2 | Two | - # +---+-------+ - # | 3 | Three | - # +---+-------+ - -You can also use styles to disable top and bottom borders of the table - - table = Terminal::Table.new do |t| - t.headings = ['id', 'name'] - t.rows = [[1, 'One'], [2, 'Two'], [3, 'Three']] - t.style = { :border_top => false, :border_bottom => false } - end - - # > puts table - # | id | name | - # +----+-------+ - # | 1 | One | - # | 2 | Two | - # | 3 | Three | - -To change the default style options: - - Terminal::Table::Style.defaults = {:width => 80} - -All Table objects created afterwards will inherit these defaults. - -=== Constructor options and setter methods - -Valid options for the constructor are :rows, :headings, :style and :title - and all options can also be set on the created table object by their setter method: - - table = Terminal::Table.new - table.title = "Cheatsheet" - table.headings = ['Word', 'Number'] - table.rows = rows - table.style = {:width => 40} - -== More examples - -For more examples, please see the examples/examples.rb file included in the source distribution. - -== Author - -TJ Holowaychuk <tj@vision-media.ca> diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Rakefile deleted file mode 100644 index 609f869..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Rakefile +++ /dev/null @@ -1,15 +0,0 @@ -require 'bundler' -Bundler.setup -Bundler::GemHelper.install_tasks - -require 'rake' -require 'rspec/core/rake_task' - -desc "Run all examples" -RSpec::Core::RakeTask.new(:spec) do |t| - t.ruby_opts = %w[-w] - t.rspec_opts = %w[--color] -end - -desc "Default: Run specs" -task :default => [:spec] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Todo.rdoc b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Todo.rdoc deleted file mode 100644 index 071b202..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/Todo.rdoc +++ /dev/null @@ -1,14 +0,0 @@ - -== Major: - -* Nothing - -== Minor: - -* Programmatically add separator rows -* Add multi-column sorting -* Change; pre-create Cell and Heading objects to clean up Table a bit - -== Brainstorming: - -* Nothing \ No newline at end of file diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/examples/examples.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/examples/examples.rb deleted file mode 100644 index ebf6893..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/examples/examples.rb +++ /dev/null @@ -1,83 +0,0 @@ -$:.unshift File.dirname(__FILE__) + '/../lib' -require 'terminal-table/import' - -puts -puts table(['a', 'b'], [1, 2], [3, 4]) - -puts -puts table(['name', 'content'], ['ftp.example.com', '1.1.1.1'], ['www.example.com', '|lalalala|lalala|']) - -puts -t = table ['a', 'b'] -t.style = {:padding_left => 2, :width => 80} -t << [1, 2] -t << [3, 4] -t << :separator -t << [4, 6] -puts t - -puts -user_table = table do |v| - v.title = "Contact Information" - v.headings = 'First Name', 'Last Name', 'Email' - v << %w( TJ Holowaychuk tj@vision-media.ca ) - v << %w( Bob Someone bob@vision-media.ca ) - v << %w( Joe Whatever bob@vision-media.ca ) -end -puts user_table - -puts -user_table = table do |v| - v.style.width = 80 - v.headings = 'First Name', 'Last Name', 'Email' - v << %w( TJ Holowaychuk tj@vision-media.ca ) - v << %w( Bob Someone bob@vision-media.ca ) - v << %w( Joe Whatever bob@vision-media.ca ) -end -puts user_table - -puts -user_table = table do - self.headings = 'First Name', 'Last Name', 'Email' - add_row ['TJ', 'Holowaychuk', 'tj@vision-media.ca'] - add_row ['Bob', 'Someone', 'bob@vision-media.ca'] - add_row ['Joe', 'Whatever', 'joe@vision-media.ca'] - add_separator - add_row ['Total', { :value => '3', :colspan => 2, :alignment => :right }] - align_column 1, :center -end -puts user_table - -puts -user_table = table do - self.headings = ['First Name', 'Last Name', {:value => 'Phones', :colspan => 2, :alignment => :center}] - add_row ['Bob', 'Someone', '123', '456'] - add_row :separator - add_row ['TJ', 'Holowaychuk', {:value => "No phones\navaiable", :colspan => 2, :alignment => :center}] - add_row :separator - add_row ['Joe', 'Whatever', '4324', '343242'] -end -puts user_table - -rows = [] -rows << ['Lines', 100] -rows << ['Comments', 20] -rows << ['Ruby', 70] -rows << ['JavaScript', 30] -puts table([nil, 'Lines'], *rows) - -rows = [] -rows << ['Lines', 100] -rows << ['Comments', 20] -rows << ['Ruby', 70] -rows << ['JavaScript', 30] -puts table(nil, *rows) - -rows = [] -rows << ['Lines', 100] -rows << ['Comments', 20] -rows << ['Ruby', 70] -rows << ['JavaScript', 30] -table = table([{ :value => 'Stats', :colspan => 2, :alignment => :center }], *rows) -table.align_column 1, :right -puts table diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/terminal-table.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/terminal-table.gemspec deleted file mode 100644 index 0775555..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/terminal-table-1.8.0/terminal-table.gemspec +++ /dev/null @@ -1,26 +0,0 @@ -# coding: utf-8 -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'terminal-table/version' - -Gem::Specification.new do |spec| - spec.name = "terminal-table" - spec.version = Terminal::Table::VERSION - spec.authors = ["TJ Holowaychuk", "Scott J. Goldman"] - spec.email = ["tj@vision-media.ca"] - - spec.summary = "Simple, feature rich ascii table generation library" - spec.homepage = "https://github.com/tj/terminal-table" - spec.license = "MIT" - - spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } - spec.require_paths = ["lib"] - - spec.add_development_dependency "bundler", "~> 1.10" - spec.add_development_dependency "rake", "~> 10.0" - spec.add_development_dependency "rspec", ">= 3.0" - spec.add_development_dependency "term-ansicolor" - spec.add_development_dependency "pry" - - spec.add_runtime_dependency "unicode-display_width", ["~> 1.1", ">= 1.1.1"] -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/.rspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/.rspec deleted file mode 100644 index 838fd57..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/.rspec +++ /dev/null @@ -1,4 +0,0 @@ ---tty ---color ---format documentation ---backtrace diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/.travis.yml deleted file mode 100644 index dc0c9df..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: ruby -script: "bundle exec rake" -rvm: - - 1.9.3 - - 2.0.0 - - 2.1.10 - - 2.2.10 - - 2.3.8 - - 2.4.7 - - 2.5.6 - - 2.6.4 - - ruby-head - - jruby-head - - jruby-18mode - - jruby-19mode -matrix: - fast_finish: true - allow_failures: - - rvm: ruby-head - - rvm: jruby-head - - rvm: ree - include: - - rvm: 1.8.7 - dist: precise - - rvm: 1.9.2 - dist: trusty diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/CHANGELOG.md deleted file mode 100644 index 223e4bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/CHANGELOG.md +++ /dev/null @@ -1,406 +0,0 @@ -# Changelog - -## Master - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.4.0...master) - -## 1.4.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.1.2...v1.4.0) - -#### 1 feature -- Faraday adapter exceptions namespace compatibility with Faraday v1 ([@iMacTia](https://github.com/iMacTia) in [#616](https://github.com/typhoeus/typhoeus/pull/616)) - -#### 3 Others -- Yard warning fixes ([@olleolleolle](https://github.com/olleolleolle) in [#622](https://github.com/typhoeus/typhoeus/pull/622)) -- Add more Ruby versions in CI matrix ([@olleolleolle](https://github.com/olleolleolle) in [#623](https://github.com/typhoeus/typhoeus/pull/623)) -- Use of argument passed in function instead of `attr_reader` ([@v-kolesnikov](https://github.com/v-kolesnikov) in [#625](https://github.com/typhoeus/typhoeus/pull/625)) - -## 1.1.2 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.1.1...v1.1.2) - -## 1.1.1 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.1.0...v1.1.1) - -## 1.1.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.0.2...v1.1.0) - -* Unless specified `Expect` header is set to be empty to avoid `100 continue` - to be set when using `PUT` -* Add global config option `Typhoeus::Config.proxy` - -## 1.0.2 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.0.1...v1.0.2) - -## 1.0.1 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v1.0.0...v1.0.1) - -## 1.0.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.8.0...v1.0.0) - -## 0.8.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.7.3...v0.8.0) - -* `EasyFactory`: Reduced object allocations and method calls during deprecated - option handling and option sanitization. - ([Tasos Laskos](https://github.com/zapotek)) -* `Response` ([Tasos Laskos](https://github.com/zapotek)) - * `Header` - * `#process_pair`: Halved `#set_value` calls. - * `#set_value`: Minimized `Hash` accesses. - * `#parse`: Use `String#start_with?` instead of `Regexp` match. - * `#process_line`: Optimized key/value sanitization. - * `Status` - * `#timed_out?`: Only return `true` when `#return_code` is `operation_timedout`. - -## 0.7.3 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.7.2...v0.7.3) - -* Add on_body callbacks individually to allow Ethon to recognize the return code - -## 0.7.2 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.7.1...v0.7.2) - -* Allow arrays to be passed to Expectation#and_return - ([JP Moral](https://github.com/jpmoral)) - -* Added getter for `redirect_time` value. - ([Adrien Jarthon](https://github.com/jarthod)) - -## 0.7.1 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.7.0...v0.7.1) - -Bugfixes: - -* Forking may cause libcurl sockets to be shared with child processes, causing HTTP requests to be interleaved - ([Rolf Timmermans](https://github.com/rolftimmermans), [\#436](https://github.com/typhoeus/typhoeus/pull/426)) - -## 0.7.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.7.0.pre1...v0.7.0) - -Bugfixes: - -* Call on_headers and on_body when using stubbed responses. - -## 0.7.0.pre1 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.9...v0.7.0.pre1) - -Enhancements: - -* Improving timeout behavior and documentation. `no_signal` is now set per default! - ([Jonas Wagner](https://github.com/jwagner), [\#398](https://github.com/typhoeus/typhoeus/pull/398)) - -## 0.6.8 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.7...v0.6.8) - -Bugfixes: - -* Fix Faraday 0.9 compatibility. - ([Gleb Mazovetskiy](https://github.com/glebm), [\#357](https://github.com/typhoeus/typhoeus/pull/357)) -* Fix Request#hash for different key orders. - ([Matthew Schulkind](https://github.com/mschulkind), [\#344](https://github.com/typhoeus/typhoeus/pull/344)) - -Enhancements: - -* Use an updated Ethon version. Note that from now on the `mime-types` is no longer a Ethon dependency. The gem will be still used if available to determine the mime type of a file which is uploaded. That means you have to have take care of the gem installation yourself. -* Use SVG for status badges in README. - ([Sean Linsley](https://github.com/seanlinsley), [\#353](https://github.com/typhoeus/typhoeus/pull/353)) -* Missing quotes in README example code. - ([Jason R. Clark](https://github.com/jasonrclark), [\#351](https://github.com/typhoeus/typhoeus/pull/351)) -* Specs for Faraday adapter. - ([michaelavila](https://github.com/michaelavila), [\#348](https://github.com/typhoeus/typhoeus/pull/348)) -* Clarify wording in README. - ([Sean Linsley](https://github.com/seanlinsley), [\#347](https://github.com/typhoeus/typhoeus/pull/347)) -* Make caching easier for non-memory caches. - ([Matthew Schulkind](https://github.com/mschulkind), [\#345](https://github.com/typhoeus/typhoeus/pull/345)) -* Spec refactoring. - ([Matthew Schulkind](https://github.com/mschulkind), [\#343](https://github.com/typhoeus/typhoeus/pull/343)) - -## 0.6.7 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.6...v0.6.7) - -Enhancements: - -* Add response streaming. - ([\#339](https://github.com/typhoeus/typhoeus/pull/339)) - -## 0.6.6 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.5...v0.6.6) - -## 0.6.5 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.4...v0.6.5) - -## 0.6.4 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.3...v0.6.4) - -The changelog entries are coming soon! - -## 0.6.3 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.2...v0.6.3) - -Enhancements: - -* Cache hydra per thread. -* Various documentation improvements. - ([craiglittle](https://github.com/craiglittle)) -* Add support for lazy construction of responses from stubbed requests. - ([ryankindermann](https://github.com/ryankinderman), [\#275](https://github.com/typhoeus/typhoeus/pull/275)) - -## 0.6.2 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.1...v0.6.2) - -Enhancements: - -* Reintroduce a global cache. -* `Request#handled_response` falls back to the original response. - ([turnerking](https://github.com/turnerking), [\#272](https://github.com/typhoeus/typhoeus/pull/272)) -* When `Errors::NoStub` is raised the `url` is displayed. - ([dschneider](https://github.com/dschneider), [\#276](https://github.com/typhoeus/typhoeus/pull/276)) -* Make `Request#hash` consistent. -* Add `.rvmrc` and `ctags` to `.gitignore`. - ([ryankindermann](https://github.com/ryankinderman), [\#274](https://github.com/typhoeus/typhoeus/pull/274)) - -## 0.6.1 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.6.0...v0.6.1) - -Enhancements: - -* Updated ethon version which allows to set multiple protocols. - -## 0.6.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.5.4...v0.6.0) - -Enhancements: - -* `Request#url` now also contains the url parameters. -* Use updated ethon version which provides access to protocols and redir_protocols in response to [libcurl SASL buffer overflow vulnerability](http://curl.haxx.se/docs/adv_20130206.html) - -Bugfixes: - -* Corrected ssl options for the faraday adapter. -* The before hook now correctly returns the response. - ([Mattias Putman](https://github.com/challengee), [\#268](https://github.com/typhoeus/typhoeus/pull/268)) -* Benchmark is working again. - -## 0.5.4 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.5.3...v0.5.4) - -Enhancements: - -* Make sure response_code is an integer. -* When setting an header through vcr or webmock it becomes a `Typhoeus::Response::Header`. -* Provide a Rack middleware to decode nested Typhoeus arrays properly. - ([Dwayne Macgowan](https://github.com/dwaynemac), [\#224](https://github.com/typhoeus/typhoeus/issues/224)) -* Handled response is available again. -* Rename parameter `url` to `base_url`. See discussion here: [\#250](https://github.com/typhoeus/typhoeus/issues/250). - ([bkimble](https://github.com/bkimble), [\#256](https://github.com/typhoeus/typhoeus/pull/256)) -* Provide O(1) header access. - * Work around ruby 1.8.7 limitations. - ([Chris Johnson](https://github.com/findchris), [\#227](https://github.com/typhoeus/typhoeus/pull/227) ) - * Provide symbol access. - -## 0.5.3 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.5.2...v0.5.3) - -Enhancements: - -* When checking options in Expecation#matches? also consider Request#options. - -Bugfixes: - -* Do not break backwards compatibility with case insensitive headers access. -* Make sure hydra behaves correct in case of before hooks. - -## 0.5.2 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.5.1...v0.5.2) - -Enhancements: - -* Do not check the return_code in Response#success? when response is mocked. -* Check for memoization, stubbing, before hooks are delayed to Hydra#run. It - was on Hydra#queue before and led to strange behavior because if the request - was stubbed, it was wrapped up in queue already. There was no way to add - callbacks after queue thatswhy. This is now different, since everything happens - in run, just as you expect. - -## 0.5.1 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.5.0...v0.5.1) - -Enhancements: - -* Downcase header keys for easier access - ( [\#227](https://github.com/typhoeus/typhoeus/issues/227) ) -* Using an updated Ethon version. - -## 0.5.0 - -[Full Changelog](http://github.com/typhoeus/typhoeus/compare/v0.4.2...v0.5.0) - -Major Changes: - -* Ethon integration - * Params are url params and a body is always a body for every request type - * The options you can set might have a slightly other names, as Ethon sticks to - libcurl names. See - [Easy.new](http://rubydoc.info/github/typhoeus/ethon/Ethon/Easy#initialize-instance_method) - for a description. - * Request parameter and body are properly encoded (only POST multiform body is not) - * No more header sanitizing. Before: `:headers => { 'user_agent' => 'Custom' }` was modified to - `:headers => { 'User-Agent' => 'Custom' }` - * `Typhoeus::Easy` and `Typhoeus::Multi` are now `Ethon::Easy` and `Ethon::Multi` - -* Request shortcuts: `Typhoeus.get("www.google.de")` -* Global configuration: -```ruby -Typhoeus.configure do |config| - config.verbose = true - config.memoize = true -end -``` -* No more `Response#headers_hash`, instead `Response#headers` returning the last - header and response#redirections returning the responses with headers - generated through redirections -* Instead of defining the same callbacks on every request, you can define global callbacks: -```ruby -Typhoeus.on_complete { p "yay" } -``` -* The stubbing interface changed slightly. You now have the same syntax as for requests: -```ruby -Typhoeus.stub(url, options).and_return(response) -``` -* The following things were removed because they do not seemed to be used at all. Ping me if you disagree! - * `Typhoeus::Filter` - * `Typhoeus::Remote` - * `Typhoeus::RemoteMethod` - * `Typhoeus::RemoteProxyObject` - * build in cache interface - -Enhancements: - -* Documentation - ( [Alex P](https://github.com/ifesdjeen), [\#188](https://github.com/typhoeus/typhoeus/issues/188) ) -* Request#on\_complete can hold multiple blocks. -* Request#eql? recognizes when header/params/body has a different order, but still same keys and values - ( [Alex P](https://github.com/ifesdjeen), [\#194](https://github.com/typhoeus/typhoeus/issues/194) ) - -Bug Fixes: - -* Zero bytes in strings are escaped for libcurl -* Add support for socks5 hostname proxy type - ( [eweathers](https://github.com/eweathers), [\#183](https://github.com/typhoeus/typhoeus/issues/183) ) -* Post body is encoded - ( [Rohan Deshpande](https://github.com/rdeshpande), [\#143](https://github.com/typhoeus/typhoeus/issues/143) ) -* Set default user agent - ( [Steven Shingler](https://github.com/sshingler), [\#176](https://github.com/typhoeus/typhoeus/issues/176) ) - -## 0.4.2 -* A header hotfix - -## 0.4.1 -* Fix verifypeer and verifyhost options -* Fix header sending - -## 0.4.0 -* Make a GET even when a body is given -* Deprecated User Agent setter removed -* Allow cache key basis overwrite (John Crepezzi, #147) -* FFI integration (Daniel Cavanagh, #151) -* Refactor upload code (Marnen Laibow-Koser, #152) -* Fix travis-ci build (Ezekiel Templin, #160) - -## 0.3.3 -* Make sure to call the Easy::failure callback on all non-success http response codes, even invalid ones. [balexis] -* Use bytesize instead of length to determine Content-Length [dlamacchia] -* Added SSL version option to Easy/Request [michelbarbosa/dbalatero] - -## 0.3.2 -* Fix array params to be consistent with HTTP spec [gridaphobe] -* traversal\_to\_params\_hash should use the escape option [itsmeduncan] -* Fix > 1024 open file descriptors [mschulkind] -* Fixed a bug with internally queued requests being dropped [mschulkind] -* Use gemspec in bundler to avoid duplication [mschulkind] -* Run internally queued requests in FIFO order [mschulkind] -* Moved Typhoeus::VERSION to a separate file, to fix rake build\_native [mschulkind] -* Fixed problems related to put requests with empty bodies [skaes, GH-84] -* Added CURLOPT\_INTERFACE option via Request#interface=. [spiegela] -* Added Tempfile support to Form#process! [richievos] -* Hydra won't forget to accept gzip/deflate encoding [codesnik] -* Accept and convert strings to integers in Typhoeus::Request#initialize for timeout/cache\_timeout/connect\_timeout values when using ruby 1.9.x. [djnawara] -* Added interface for registering stub finders [myronmarston] -* Fixed header stubbing [myronmarston] -* Added PKCS12 support [jodell] -* Make a request with handlers marshallable [bernerdschaefer] -* Upgraded to RSpec 2 [bernerdschaefer] -* Fix HTTP status edge-case [balexis] -* Expose primary\_ip to easy object [balexis] - -## 0.2.4 -* Fix form POSTs to only use multipart for file uploads, otherwise use application/x-www-form-urlencoded [dbalatero] - -## 0.2.3 -* Code duplication in Typhoeus::Form led to nested URL param errors on POST only. Fixed [dbalatero] - -## 0.2.2 -* Fixed a problem with nested URL params encoding incorrectly [dbalatero] - -## 0.2.1 -* Added extended proxy support [Zapotek, GH-46] -* eliminated compile time warnings by using proper type declarations [skaes, GH-54] -* fixed broken calls to rb\_raise [skaes, GH-54] -* prevent leaking of curl easy handles when exceptions are raised (either from typhoeus itself or user callbacks) [skaes, GH-54] -* fixed Easy#timed\_out? using curl return codes [skaes, GH-54] -* provide curl return codes and corresponding curl error messages on classes Easy and Request [skaes, GH-54] -* allow VCR to whitelist hosts in Typhoeus stubbing/mocking [myronmarston, GH-57] -* added timed\_out? documentation, method to Response [dbalatero, GH-34] -* added abort to Hydra to prematurely stop a hydra.run [Zapotek] -* added file upload support for POST requests [jtarchie, GH-59] - -## 0.2.0 -* Fix warning in Request#headers from attr\_accessor -* Params with array values were not parsing into the format that rack expects [GH-39, smartocci] -* Removed Rack as a dependency [GH-45] -* Added integration hooks for VCR! - -## 0.1.31 -* Fixed bug in setting compression encoding [morhekil] -* Exposed authentication control methods through Request interface [morhekil] - -## 0.1.30 -* Exposed CURLOPT\_CONNECTTIMEOUT\_MS to Requests [balexis] - -## 0.1.29 -* Fixed a memory corruption with using CURLOPT\_POSTFIELDS [gravis, -32531d0821aecc4] - -## 0.1.28 -* Added SSL cert options for Typhoeus::Easy [GH-25, gravis] -* Ported SSL cert options to Typhoeus::Request interface [gravis] -* Added support for any HTTP method (purge for Varnish) [ryana] - -## 0.1.27 -* Added rack as dependency, added dev dependencies to Rakefile [GH-21] diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/CONTRIBUTING.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/CONTRIBUTING.md deleted file mode 100644 index 667e8a3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -We love pull requests. Here's a quick guide: - -1. Fork the repo. - -2. Run the tests. We only take pull requests with passing tests, and it's great -to know that you have a clean slate: `bundle && bundle exec rake` - -3. Add a test for your change. Only refactoring and documentation changes -require no new tests. If you are adding functionality or fixing a bug, we need -a test! - -4. Make the test pass. - -5. Push to your fork and submit a pull request. - -And in case we didn't emphasize it enough: we love tests! - -## Issue triage [![Open Source Helpers](https://www.codetriage.com/typhoeus/typhoeus/badges/users.svg)](https://www.codetriage.com/typhoeus/typhoeus) - -You can contribute by triaging issues which may include reproducing bug reports or asking for vital information, such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to typhoeus on CodeTriage](https://www.codetriage.com/typhoeus/typhoeus). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Gemfile deleted file mode 100644 index dd662d7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Gemfile +++ /dev/null @@ -1,32 +0,0 @@ -source "https://rubygems.org" -gemspec - -if Gem.ruby_version < Gem::Version.new("2.0.0") - gem "rake", "< 11" - gem "json", "< 2" -else - gem "json" - gem "rake" -end - -group :development, :test do - gem "rspec", "~> 3.0" - - gem "sinatra", "~> 1.3" - - if Gem.ruby_version >= Gem::Version.new("1.9.0") - gem "faraday", ">= 0.9" - gem "dalli", "~> 2.0" - end - - gem "redis", "~> 3.0" - - if RUBY_PLATFORM == "java" - gem "spoon" - end - - unless ENV["CI"] - gem "guard-rspec", "~> 0.7" - gem 'rb-fsevent', '~> 0.9.1' - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Guardfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Guardfile deleted file mode 100644 index f0db299..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Guardfile +++ /dev/null @@ -1,9 +0,0 @@ -# vim:set filetype=ruby: -guard( - "rspec", - all_after_pass: false, - cli: "--fail-fast --tty --format documentation --colour") do - - watch(%r{^spec/.+_spec\.rb$}) - watch(%r{^lib/(.+)\.rb$}) { |match| "spec/#{match[1]}_spec.rb" } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/LICENSE deleted file mode 100644 index 387fac5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2009-2010 Paul Dix -Copyright (c) 2011 David Balatero -Copyright (c) 2012-2016 Hans Hasselberg - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/README.md deleted file mode 100644 index 1bbab54..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/README.md +++ /dev/null @@ -1,584 +0,0 @@ -# Typhoeus [![Build Status](https://img.shields.io/travis/typhoeus/typhoeus/master.svg)](https://travis-ci.org/typhoeus/typhoeus) [![Code Climate](https://img.shields.io/codeclimate/maintainability/typhoeus/typhoeus.svg)](https://codeclimate.com/github/typhoeus/typhoeus) [![Gem Version](https://img.shields.io/gem/v/typhoeus.svg)](https://rubygems.org/gems/typhoeus) - -Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic. - -## Example - -A single request: - -```ruby -Typhoeus.get("www.example.com", followlocation: true) -``` - -Parallel requests: - -```ruby -hydra = Typhoeus::Hydra.new -10.times.map{ hydra.queue(Typhoeus::Request.new("www.example.com", followlocation: true)) } -hydra.run -``` - -## Installation -Add the following line to your Gemfile: -``` -gem "typhoeus" -``` -Then run `bundle install` - -Or install it yourself as: - -``` -gem install typhoeus -``` - -## Project Tracking - -* [Documentation](http://rubydoc.info/github/typhoeus/typhoeus/frames/Typhoeus) (GitHub master) -* [Mailing list](http://groups.google.com/group/typhoeus) - -## Usage - -### Introduction - -The primary interface for Typhoeus is comprised of three classes: Request, Response, and Hydra. Request represents an HTTP request object, response represents an HTTP response, and Hydra manages making parallel HTTP connections. - -```ruby -request = Typhoeus::Request.new( - "www.example.com", - method: :post, - body: "this is a request body", - params: { field1: "a field" }, - headers: { Accept: "text/html" } -) -``` - -We can see from this that the first argument is the url. The second is a set of options. -The options are all optional. The default for `:method` is `:get`. - -When you want to send URL parameters, you can use `:params` hash to do so. Please note that in case of you should send a request via `x-www-form-urlencoded` parameters, you need to use `:body` hash instead. `params` are for URL parameters and `:body` is for the request body. - -#### Sending requests through the proxy - -Add a proxy url to the list of options: - -```ruby -options = {proxy: 'http://myproxy.org'} -req = Typhoeus::Request.new(url, options) -``` - -If your proxy requires authentication, add it with `proxyuserpwd` option key: - -```ruby -options = {proxy: 'http://proxyurl.com', proxyuserpwd: 'user:password'} -req = Typhoeus::Request.new(url, options) -``` - -Note that `proxyuserpwd` is a colon-separated username and password, in the vein of basic auth `userpwd` option. - - -You can run the query either on its own or through the hydra: - -``` ruby -request.run -#=> <Typhoeus::Response ... > -``` - -```ruby -hydra = Typhoeus::Hydra.hydra -hydra.queue(request) -hydra.run -``` - -The response object will be set after the request is run. - -```ruby -response = request.response -response.code -response.total_time -response.headers -response.body -``` - -### Making Quick Requests - -Typhoeus has some convenience methods for performing single HTTP requests. The arguments are the same as those you pass into the request constructor. - -```ruby -Typhoeus.get("www.example.com") -Typhoeus.head("www.example.com") -Typhoeus.put("www.example.com/posts/1", body: "whoo, a body") -Typhoeus.patch("www.example.com/posts/1", body: "a new body") -Typhoeus.post("www.example.com/posts", body: { title: "test post", content: "this is my test"}) -Typhoeus.delete("www.example.com/posts/1") -Typhoeus.options("www.example.com") -``` -#### Sending params in the body with PUT -When using POST the content-type is set automatically to 'application/x-www-form-urlencoded'. That's not the case for any other method like PUT, PATCH, HEAD and so on, irrespective of whether you are using body or not. To get the same result as POST, i.e. a hash in the body coming through as params in the receiver, you need to set the content-type as shown below: -```ruby -Typhoeus.put("www.example.com/posts/1", - headers: {'Content-Type'=> "application/x-www-form-urlencoded"}, - body: {title:"test post updated title", content: "this is my updated content"} - ) -``` - -### Handling HTTP errors - -You can query the response object to figure out if you had a successful -request or not. Here’s some example code that you might use to handle errors. -The callbacks are executed right after the request is finished, make sure to define -them before running the request. - -```ruby -request = Typhoeus::Request.new("www.example.com", followlocation: true) - -request.on_complete do |response| - if response.success? - # hell yeah - elsif response.timed_out? - # aw hell no - log("got a time out") - elsif response.code == 0 - # Could not get an http response, something's wrong. - log(response.return_message) - else - # Received a non-successful http response. - log("HTTP request failed: " + response.code.to_s) - end -end - -request.run -``` - -This also works with serial (blocking) requests in the same fashion. Both -serial and parallel requests return a Response object. - -### Handling file uploads - -A File object can be passed as a param for a POST request to handle uploading -files to the server. Typhoeus will upload the file as the original file name -and use Mime::Types to set the content type. - -```ruby -Typhoeus.post( - "http://localhost:3000/posts", - body: { - title: "test post", - content: "this is my test", - file: File.open("thesis.txt","r") - } -) -``` - -### Streaming the response body - -Typhoeus can stream responses. When you're expecting a large response, -set the `on_body` callback on a request. Typhoeus will yield to the callback -with chunks of the response, as they're read. When you set an `on_body` callback, -Typhoeus will not store the complete response. - -```ruby -downloaded_file = File.open 'huge.iso', 'wb' -request = Typhoeus::Request.new("www.example.com/huge.iso") -request.on_headers do |response| - if response.code != 200 - raise "Request failed" - end -end -request.on_body do |chunk| - downloaded_file.write(chunk) -end -request.on_complete do |response| - downloaded_file.close - # Note that response.body is "" -end -request.run -``` - -If you need to interrupt the stream halfway, -you can return the `:abort` symbol from the `on_body` block, example: - -```ruby -request.on_body do |chunk| - buffer << chunk - :abort if buffer.size > 1024 * 1024 -end -``` - -This will properly stop the stream internally and avoid any memory leak which -may happen if you interrupt with something like a `return`, `throw` or `raise`. - -### Making Parallel Requests - -Generally, you should be running requests through hydra. Here is how that looks: - -```ruby -hydra = Typhoeus::Hydra.hydra - -first_request = Typhoeus::Request.new("http://example.com/posts/1") -first_request.on_complete do |response| - third_url = response.body - third_request = Typhoeus::Request.new(third_url) - hydra.queue third_request -end -second_request = Typhoeus::Request.new("http://example.com/posts/2") - -hydra.queue first_request -hydra.queue second_request -hydra.run # this is a blocking call that returns once all requests are complete -``` - -The execution of that code goes something like this. The first and second requests are built and queued. When hydra is run the first and second requests run in parallel. When the first request completes, the third request is then built and queued, in this example based on the result of the first request. The moment it is queued Hydra starts executing it. Meanwhile the second request would continue to run (or it could have completed before the first). Once the third request is done, `hydra.run` returns. - -How to get an array of response bodies back after executing a queue: - -```ruby -hydra = Typhoeus::Hydra.new -requests = 10.times.map { - request = Typhoeus::Request.new("www.example.com", followlocation: true) - hydra.queue(request) - request -} -hydra.run - -responses = requests.map { |request| - request.response.body -} -``` -`hydra.run` is a blocking request. You can also use the `on_complete` callback to handle each request as it completes: - -```ruby -hydra = Typhoeus::Hydra.new -10.times do - request = Typhoeus::Request.new("www.example.com", followlocation: true) - request.on_complete do |response| - #do_something_with response - end - hydra.queue(request) -end -hydra.run -``` - -### Making Parallel Requests with Faraday + Typhoeus - -```ruby -require 'faraday' - -conn = Faraday.new(:url => 'http://httppage.com') do |builder| - builder.request :url_encoded - builder.response :logger - builder.adapter :typhoeus -end - -conn.in_parallel do - response1 = conn.get('/first') - response2 = conn.get('/second') - - # these will return nil here since the - # requests have not been completed - response1.body - response2.body -end - -# after it has been completed the response information is fully available -# response1.status, etc -response1.body -response2.body -``` - -### Specifying Max Concurrency - -Hydra will also handle how many requests you can make in parallel. Things will get flakey if you try to make too many requests at the same time. The built in limit is 200. When more requests than that are queued up, hydra will save them for later and start the requests as others are finished. You can raise or lower the concurrency limit through the Hydra constructor. - -```ruby -Typhoeus::Hydra.new(max_concurrency: 20) -``` - -### Memoization - -Hydra memoizes requests within a single run call. You have to enable memoization. -This will result in a single request being issued. However, the on_complete handlers of both will be called. - -```ruby -Typhoeus::Config.memoize = true - -hydra = Typhoeus::Hydra.new(max_concurrency: 1) -2.times do - hydra.queue Typhoeus::Request.new("www.example.com") -end -hydra.run -``` - -This will result in two requests. - -```ruby -Typhoeus::Config.memoize = false - -hydra = Typhoeus::Hydra.new(max_concurrency: 1) -2.times do - hydra.queue Typhoeus::Request.new("www.example.com") -end -hydra.run -``` - -### Caching - -Typhoeus includes built in support for caching. In the following example, if there is a cache hit, the cached object is passed to the on_complete handler of the request object. - -```ruby -class Cache - def initialize - @memory = {} - end - - def get(request) - @memory[request] - end - - def set(request, response) - @memory[request] = response - end -end - -Typhoeus::Config.cache = Cache.new - -Typhoeus.get("www.example.com").cached? -#=> false -Typhoeus.get("www.example.com").cached? -#=> true -``` - -For use with [Dalli](https://github.com/mperham/dalli): - -```ruby -dalli = Dalli::Client.new(...) -Typhoeus::Config.cache = Typhoeus::Cache::Dalli.new(dalli) -``` - -For use with Rails: - -```ruby -Typhoeus::Config.cache = Typhoeus::Cache::Rails.new -``` - -For use with [Redis](https://github.com/redis/redis-rb): - -```ruby -redis = Redis.new(...) -Typhoeus::Config.cache = Typhoeus::Cache::Redis.new(redis) -``` - -All three of these adapters take an optional keyword argument `default_ttl`, which sets a default -TTL on cached responses (in seconds), for requests which do not have a cache TTL set. - -You may also selectively choose not to cache by setting `cache` to `false` on a request or to use -a different adapter. - -```ruby -cache = Cache.new -Typhoeus.get("www.example.com", cache: cache) -``` - -### Direct Stubbing - -Hydra allows you to stub out specific urls and patterns to avoid hitting -remote servers while testing. - -```ruby -response = Typhoeus::Response.new(code: 200, body: "{'name' : 'paul'}") -Typhoeus.stub('www.example.com').and_return(response) - -Typhoeus.get("www.example.com") == response -#=> true -``` - -The queued request will hit the stub. You can also specify a regex to match urls. - -```ruby -response = Typhoeus::Response.new(code: 200, body: "{'name' : 'paul'}") -Typhoeus.stub(/example/).and_return(response) - -Typhoeus.get("www.example.com") == response -#=> true -``` - -You may also specify an array for the stub to return sequentially. - -```ruby -Typhoeus.stub('www.example.com').and_return([response1, response2]) - -Typhoeus.get('www.example.com') == response1 #=> true -Typhoeus.get('www.example.com') == response2 #=> true -``` - -When testing make sure to clear your expectations or the stubs will persist between tests. The following can be included in your spec_helper.rb file to do this automatically. - -```ruby -RSpec.configure do |config| - config.before :each do - Typhoeus::Expectation.clear - end -end -``` - -### Timeouts - -No exceptions are raised on HTTP timeouts. You can check whether a request timed out with the following method: - -```ruby -Typhoeus.get("www.example.com", timeout: 1).timed_out? -``` - -Timed out responses also have their success? method return false. - -There are two different timeouts available: [`timeout`](http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTTIMEOUT) -and [`connecttimeout`](http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTCONNECTTIMEOUT). -`timeout` is the time limit for the entire request in seconds. -`connecttimeout` is the time limit for just the connection phase, again in seconds. - -There are two additional more fine grained options `timeout_ms` and -`connecttimeout_ms`. These options offer millisecond precision but are not always available (for instance on linux if `nosignal` is not set to true). - -When you pass a floating point `timeout` (or `connecttimeout`) Typhoeus will set `timeout_ms` for you if it has not been defined. The actual timeout values passed to curl will always be rounded up. - -DNS timeouts of less than one second are not supported unless curl is compiled with an asynchronous resolver. - -The default `timeout` is 0 (zero) which means curl never times out during transfer. The default `connecttimeout` is 300 seconds. A `connecttimeout` of 0 will also result in the default `connecttimeout` of 300 seconds. - -### Following Redirections - -Use `followlocation: true`, eg: - -```ruby -Typhoeus.get("www.example.com", followlocation: true) -``` - -### Basic Authentication - -```ruby -Typhoeus::Request.get("www.example.com", userpwd: "user:password") -``` - -### Compression - -```ruby -Typhoeus.get("www.example.com", accept_encoding: "gzip") -``` - -The above has a different behavior than setting the header directly in the header hash, eg: -```ruby -Typhoeus.get("www.example.com", headers: {"Accept-Encoding" => "gzip"}) -``` - -Setting the header hash directly will not include the `--compressed` flag in the libcurl command and therefore libcurl will not decompress the response. If you want the `--compressed` flag to be added automatically, set `:accept_encoding` Typhoeus option. - - -### Cookies - -```ruby -Typhoeus::Request.get("www.example.com", cookiefile: "/path/to/file", cookiejar: "/path/to/file") -``` - -Here, `cookiefile` is a file to read cookies from, and `cookiejar` is a file to write received cookies to. -If you just want cookies enabled, you need to pass the same filename for both options. - -### Other CURL options - -Are available and documented [here](http://rubydoc.info/github/typhoeus/ethon/Ethon/Easy/Options) - -### SSL - -SSL comes built in to libcurl so it’s in Typhoeus as well. If you pass in a -url with "https" it should just work assuming that you have your [cert -bundle](http://curl.haxx.se/docs/caextract.html) in order and the server is -verifiable. You must also have libcurl built with SSL support enabled. You can -check that by doing this: - -``` -curl --version -``` - -Now, even if you have libcurl built with OpenSSL you may still have a messed -up cert bundle or if you’re hitting a non-verifiable SSL server then you’ll -have to disable peer verification to make SSL work. Like this: - -```ruby -Typhoeus.get("https://www.example.com", ssl_verifypeer: false) -``` - -If you are getting "SSL: certificate subject name does not match target host -name" from curl (ex:- you are trying to access to b.c.host.com when the -certificate subject is \*.host.com). You can disable host verification. Like -this: - -```ruby -# host checking enabled -Typhoeus.get("https://www.example.com", ssl_verifyhost: 2) -# host checking disabled -Typhoeus.get("https://www.example.com", ssl_verifyhost: 0) -``` - -### Verbose debug output - -It’s sometimes useful to see verbose output from curl. You can enable it on a per-request basis: - -```ruby -Typhoeus.get("http://example.com", verbose: true) -``` - -or globally: - -```ruby -Typhoeus::Config.verbose = true -``` - -Just remember that libcurl prints it’s debug output to the console (to -STDERR), so you’ll need to run your scripts from the console to see it. - -### Default User Agent Header - -In many cases, all HTTP requests made by an application require the same User-Agent header set. Instead of supplying it on a per-request basis by supplying a custom header, it is possible to override it for all requests using: - - -```ruby -Typhoeus::Config.user_agent = "custom user agent" -``` - -### Running the specs - -Running the specs should be as easy as: - -``` -bundle install -bundle exec rake -``` -## Semantic Versioning - -This project conforms to [semver](http://semver.org/). - -## LICENSE - -(The MIT License) - -Copyright © 2009-2010 [Paul Dix](http://www.pauldix.net/) - -Copyright © 2011-2012 [David Balatero](https://github.com/dbalatero/) - -Copyright © 2012-2016 [Hans Hasselberg](http://github.com/i0rek/) - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without -limitation the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Rakefile deleted file mode 100644 index d5693a5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/Rakefile +++ /dev/null @@ -1,38 +0,0 @@ -require "bundler" -Bundler.setup - -require "rake" -require "rspec/core/rake_task" -$LOAD_PATH.unshift File.expand_path("../lib", __FILE__) -require "typhoeus/version" - -task :gem => :build -task :build do - system "gem build typhoeus.gemspec" -end - -task :install => :build do - system "gem install typhoeus-#{Typhoeus::VERSION}.gem" -end - -task :release => :build do - system "git tag -a v#{Typhoeus::VERSION} -m 'Tagging #{Typhoeus::VERSION}'" - system "git push --tags" - system "gem push typhoeus-#{Typhoeus::VERSION}.gem" -end - -RSpec::Core::RakeTask.new(:spec) do |t| - t.verbose = false - t.ruby_opts = "-W -I./spec -rspec_helper" -end - -desc "Start up the test servers" -task :start do - require_relative 'spec/support/boot' - begin - Boot.start_servers(:rake) - rescue Exception - end -end - -task :default => :spec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/UPGRADE.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/UPGRADE.md deleted file mode 100644 index 28c7f1d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/UPGRADE.md +++ /dev/null @@ -1,55 +0,0 @@ -# Upgrade guide - -## 0.5 - -### Options - -Fix the option names, because some were renamed. The errors should point you in the right direction: - -```ruby -Typhoeus.get("www.example.com", follow_location: true) -# Ethon::Errors::InvalidOption: The option: follow_location is invalid. -# Please try followlocation instead of follow_location. -# ... [Backtrace] - -Typhoeus.get("www.example.com", followlocation: true).code -#=> 200 -``` - -### Headers - -`Response#headers` returns a hash now and replaces `Response#headers_hash`, use `Response#response_headers` for the raw string: - -```ruby -Typhoeus.get("www.example.com", followlocation: true).headers -#=> { -# "date"=>"Tue, 06 Nov 2012 09:07:27 GMT", -# "server"=>"Apache/2.2.3 (CentOS)", -# "last-modified"=>"Wed, 09 Feb 2011 17:13:15 GMT", -# "vary"=>"Accept-Encoding", -# "connection"=>"close", -# "content-type"=>"text/html; charset=UTF-8" -# } - -Typhoeus.get("www.example.com", followlocation: true).response_headers -#=> "HTTP/1.0 302 Found\r\nLocation: http://www.iana.org/domains/example/ [...]" -``` - -### Params vs body - -Make sure every request sends proper params and body (especially POST/PUT). `:params` becomes url parameter and `:body` request body. Before params for POST was smashed into the body. - -### Configuration - -Create a global configuration in case you want to turn on verbose, memoize or block_connection: - -```ruby -Typhoeus.configure do |config| - config.verbose = true - config.memoize = true -end -``` - -### Docs - -When in doubt, read the [docs](http://rubydoc.info/github/typhoeus/typhoeus/frames/Typhoeus) or the [code](https://www.github.com/typhoeus). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/perf/profile.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/perf/profile.rb deleted file mode 100644 index 29ec9c2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/perf/profile.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'typhoeus' -require 'ruby-prof' - -calls = 50 -base_url = "http://127.0.0.1:3000/" - -RubyProf.start -calls.times do |i| - Typhoeus::Request.get(base_url+i.to_s) -end -result = RubyProf.stop - -printer = RubyProf::FlatPrinter.new(result) -printer.print(STDOUT) diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/perf/vs_nethttp.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/perf/vs_nethttp.rb deleted file mode 100644 index 305f9fe..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/perf/vs_nethttp.rb +++ /dev/null @@ -1,64 +0,0 @@ -require 'typhoeus' -require 'net/http' -require 'open-uri' -require 'benchmark' - -URL = "http://localhost:300" -hydra = Typhoeus::Hydra.new(max_concurrency: 3) - -if defined? require_relative - require_relative '../spec/support/localhost_server.rb' - require_relative '../spec/support/server.rb' -else - require '../spec/support/localhost_server.rb' - require '../spec/support/server.rb' -end -LocalhostServer.new(TESTSERVER.new, 3000) -LocalhostServer.new(TESTSERVER.new, 3001) -LocalhostServer.new(TESTSERVER.new, 3002) - -def url_for(i) - "#{URL}#{i%3}/" -end - -Benchmark.bm do |bm| - - [1000].each do |calls| - puts "[ #{calls} requests ]" - - bm.report("net/http ") do - calls.times do |i| - uri = URI.parse(url_for(i)) - Net::HTTP.get_response(uri) - end - end - - bm.report("open ") do - calls.times do |i| - open(url_for(i)) - end - end - - bm.report("request ") do - calls.times do |i| - Typhoeus::Request.get(url_for(i)) - end - end - - bm.report("hydra ") do - calls.times do |i| - hydra.queue(Typhoeus::Request.new(url_for(i))) - end - hydra.run - end - - bm.report("hydra memoize ") do - Typhoeus::Config.memoize = true - calls.times do |i| - hydra.queue(Typhoeus::Request.new(url_for(i))) - end - hydra.run - Typhoeus::Config.memoize = false - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb deleted file mode 100644 index 3aee759..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +++ /dev/null @@ -1,156 +0,0 @@ -require 'spec_helper' -require "rack/typhoeus" - -describe "Rack::Typhoeus::Middleware::ParamsDecoder::Helper" do - - let(:klass) do - Class.new do - include Rack::Typhoeus::Middleware::ParamsDecoder::Helper - end.new - end - - describe "#decode" do - let(:decoded) { klass.decode(params) } - let(:params) { { :array => {'0' => :a, '1' => :b } } } - - it "decodes" do - expect(decoded[:array]).to match_array([:a, :b]) - end - - it "doesn't modify" do - expect(decoded).to_not be(params) - end - end - - describe "#decode!" do - let(:decoded) { klass.decode!(params) } - - context "when hash" do - context "when encoded" do - context "when simple" do - let(:params) { { :array => {'0' => :a, '1' => :b } } } - - it "decodes" do - expect(decoded[:array]).to match_array([:a, :b]) - end - - it "modifies" do - expect(decoded).to eq(params) - end - end - - context "when longer and more complex" do - let(:params) do - { - :ids => { - "0" => "407304", - "1" => "407305", - "2" => "407306", - "3" => "407307", - "4" => "407308", - "5" => "407309", - "6" => "407310", - "7" => "407311", - "8" => "407312", - "9" => "407313", - "10" => "327012" - } - } - end - - it "decodes ensuring arrays maintain their original order" do - expect(decoded[:ids]).to eq(["407304", "407305", "407306", "407307", "407308", "407309", "407310", "407311", "407312", "407313", "327012"]) - end - end - - context "when nested" do - let(:params) do - { :array => { '0' => 0, '1' => { '0' => 'sub0', '1' => 'sub1' } } } - end - - it "decodes" do - expect(decoded[:array]).to include(0) - expect(decoded[:array].find{|e| e.is_a?(Array)}).to( - match_array(['sub0', 'sub1']) - ) - end - - it "modifies" do - expect(decoded).to eq(params) - end - end - end - - context "when not encoded" do - let(:params) { {:a => :a} } - - it "doesn't modify" do - expect(decoded).to be(params) - end - end - end - - context "when no hash" do - let(:params) { "a" } - - it "returns self" do - expect(decoded).to be(params) - end - end - end - - describe "#encoded?" do - let(:encoded) { klass.send(:encoded?, params) } - - context "when there is only one key" do - context "and its 0" do - let(:params){ {'0' => 1} } - it 'returns true' do - expect(encoded).to be_truthy - end - end - context "and its not 0" do - let(:params){ {'some-key' => 1}} - it 'returns false' do - expect(encoded).to be_falsey - end - end - end - - context "when keys are ascending numbers starting with zero" do - let(:params) { Hash[12.times.map {|i| [i, (i+65).chr]}] } - - it "returns true" do - expect(encoded).to be_truthy - end - end - - context "when keys are not ascending numbers starting with zero" do - let(:params) { {:a => 1} } - - it "returns false" do - expect(encoded).to be_falsey - end - end - end - - describe "#convert" do - let(:converted) { klass.send(:convert, params) } - - context "when encoded" do - let(:params) { {'0' => :a, '1' => :b} } - - it "returns values" do - expect(converted).to match_array([:a, :b]) - end - end - - context "when not encoded" do - let(:params) { {:a => :a} } - - it "returns unmodified" do - expect(converted).to be(params) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/rack/typhoeus/middleware/params_decoder_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/rack/typhoeus/middleware/params_decoder_spec.rb deleted file mode 100644 index 187da9f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/rack/typhoeus/middleware/params_decoder_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'spec_helper' - -describe "Rack::Typhoeus::Middleware::ParamsDecoder" do - - before(:all) do - require "rack/typhoeus" - end - - let(:app) do - double - end - - let(:env) do - double - end - - let(:klass) do - Rack::Typhoeus::Middleware::ParamsDecoder - end - - describe "#call" do - end - - context "when requesting" do - let(:response) { Typhoeus.get("localhost:3001", :params => {:x => [:a]}) } - - it "transforms parameters" do - expect(response.body).to include("query_hash\":{\"x\":[\"a\"]}") - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/spec_helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/spec_helper.rb deleted file mode 100644 index 73302cc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/spec_helper.rb +++ /dev/null @@ -1,29 +0,0 @@ -$LOAD_PATH.unshift(File.dirname(__FILE__)) -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib")) - -require "bundler" -Bundler.setup -require "typhoeus" -require "rspec" - -Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each { |f| require f } - -RSpec.configure do |config| - config.order = :rand - - config.before(:suite) do - LocalhostServer.new(TESTSERVER.new, 3001) - end - - config.after do - Typhoeus::Pool.clear - Typhoeus::Expectation.clear - Typhoeus.before.clear - Typhoeus.on_complete.clear - Typhoeus.on_success.clear - Typhoeus.on_failure.clear - Typhoeus::Config.verbose = false - Typhoeus::Config.block_connection = false - Typhoeus::Config.memoize = false - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/localhost_server.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/localhost_server.rb deleted file mode 100644 index c5a7508..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/localhost_server.rb +++ /dev/null @@ -1,94 +0,0 @@ -require 'rack' -require 'rack/handler/webrick' -require 'net/http' - -# The code for this is inspired by Capybara's server: -# http://github.com/jnicklas/capybara/blob/0.3.9/lib/capybara/server.rb -class LocalhostServer - READY_MESSAGE = "Server ready" - - class Identify - def initialize(app) - @app = app - end - - def call(env) - if env["PATH_INFO"] == "/__identify__" - [200, {}, [LocalhostServer::READY_MESSAGE]] - else - @app.call(env) - end - end - end - - attr_reader :port - - def initialize(rack_app, port = nil) - @port = port || find_available_port - @rack_app = rack_app - concurrently { boot } - wait_until(10, "Boot failed.") { booted? } - end - - private - - def find_available_port - server = TCPServer.new('127.0.0.1', 0) - server.addr[1] - ensure - server.close if server - end - - def boot - # Use WEBrick since it's part of the ruby standard library and is available on all ruby interpreters. - options = { :Port => port } - options.merge!(:AccessLog => [], :Logger => WEBrick::BasicLog.new(StringIO.new)) unless ENV['VERBOSE_SERVER'] - Rack::Handler::WEBrick.run(Identify.new(@rack_app), options) - end - - def booted? - res = ::Net::HTTP.get_response("localhost", '/__identify__', port) - if res.is_a?(::Net::HTTPSuccess) or res.is_a?(::Net::HTTPRedirection) - return res.body == READY_MESSAGE - end - rescue Errno::ECONNREFUSED, Errno::EBADF - return false - end - - def concurrently - if should_use_subprocess? - pid = Process.fork do - trap(:INT) { ::Rack::Handler::WEBrick.shutdown } - yield - exit # manually exit; otherwise this sub-process will re-run the specs that haven't run yet. - end - - at_exit do - Process.kill('INT', pid) - begin - Process.wait(pid) - rescue Errno::ECHILD - # ignore this error...I think it means the child process has already exited. - end - end - else - Thread.new { yield } - end - end - - def should_use_subprocess? - # !ENV['THREADED'] - false - end - - def wait_until(timeout, error_message, &block) - start_time = Time.now - - while true - return if yield - raise TimeoutError.new(error_message) if (Time.now - start_time) > timeout - sleep(0.05) - end - end -end - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/memory_cache.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/memory_cache.rb deleted file mode 100644 index 15cc56b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/memory_cache.rb +++ /dev/null @@ -1,15 +0,0 @@ -class MemoryCache - attr_reader :memory - - def initialize - @memory = {} - end - - def get(request) - memory[request] - end - - def set(request, response) - memory[request] = response - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/server.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/server.rb deleted file mode 100644 index b7f6f06..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/support/server.rb +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env ruby -require 'json' -require 'zlib' -require 'sinatra/base' -require 'rack/typhoeus' - -TESTSERVER = Sinatra.new do - set :logging, false - use Rack::Typhoeus::Middleware::ParamsDecoder - - fail_count = 0 - - post '/file' do - { - 'content-type' => params[:file][:type], - 'filename' => params[:file][:filename], - 'content' => params[:file][:tempfile].read, - 'request-content-type' => request.env['CONTENT_TYPE'] - }.to_json - end - - get '/multiple-headers' do - [200, { 'Set-Cookie' => %w[ foo bar ], 'Content-Type' => 'text/plain' }, ['']] - end - - get '/cookies-test' do - [200, { 'Set-Cookie' => %w(foo=bar bar=foo), 'Content-Type' => 'text/plain' }, ['']] - end - - get '/cookies-test2' do - [200, { 'Set-Cookie' => %w(foo2=bar bar2=foo), 'Content-Type' => 'text/plain' }, ['']] - end - - get '/fail/:number' do - if fail_count >= params[:number].to_i - "ok" - else - fail_count += 1 - error 500, "oh noes!" - end - end - - get '/fail_forever' do - error 500, "oh noes!" - end - - get '/redirect' do - redirect '/' - end - - get '/bad_redirect' do - redirect '/bad_redirect' - end - - get '/auth_basic/:username/:password' do - @auth ||= Rack::Auth::Basic::Request.new(request.env) - # Check that we've got a basic auth, and that it's credentials match the ones - # provided in the request - if @auth.provided? && @auth.basic? && @auth.credentials == [ params[:username], params[:password] ] - # auth is valid - confirm it - true - else - # invalid auth - request the authentication - response['WWW-Authenticate'] = %(Basic realm="Testing HTTP Auth") - throw(:halt, [401, "Not authorized\n"]) - end - end - - get '/auth_ntlm' do - # we're just checking for the existence if NTLM auth header here. It's validation - # is too troublesome and really doesn't bother is much, it's up to libcurl to make - # it valid - response['WWW-Authenticate'] = 'NTLM' - is_ntlm_auth = /^NTLM/ =~ request.env['HTTP_AUTHORIZATION'] - true if is_ntlm_auth - throw(:halt, [401, "Not authorized\n"]) if !is_ntlm_auth - end - - get '/gzipped' do - req_env = request.env.to_json - z = Zlib::Deflate.new - gzipped_env = z.deflate(req_env, Zlib::FINISH) - z.close - response['Content-Encoding'] = 'gzip' - gzipped_env - end - - get '/**' do - sleep params["delay"].to_i if params.has_key?("delay") - request.env.merge!(:body => request.body.read).to_json - end - - head '/**' do - sleep params["delay"].to_i if params.has_key?("delay") - end - - put '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - post '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - delete '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - patch '/**' do - request.env.merge!(:body => request.body.read).to_json - end - - options '/**' do - request.env.merge!(:body => request.body.read).to_json - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/adapters/faraday_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/adapters/faraday_spec.rb deleted file mode 100644 index 716fb76..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/adapters/faraday_spec.rb +++ /dev/null @@ -1,339 +0,0 @@ -if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("1.9.0") - require 'spec_helper' - require 'typhoeus/adapters/faraday' - - describe Faraday::Adapter::Typhoeus do - let(:base_url) { "http://localhost:3001" } - let(:adapter) { described_class.new(nil) } - let(:request) { Typhoeus::Request.new(base_url) } - let(:conn) do - Faraday.new(:url => base_url) do |faraday| - faraday.adapter :typhoeus - end - end - let(:response) { conn.get("/") } - - context "when parallel" do - it "returns a faraday response" do - response = nil - conn.in_parallel { response = conn.get("/") } - expect(response).to be_a(Faraday::Response) - end - - it "succeeds" do - response = nil - conn.in_parallel { response = conn.get("/") } - expect(response.status).to be(200) - end - end - - context "when not parallel" do - it "returns a faraday response" do - expect(response).to be_a(Faraday::Response) - end - - it "succeeds" do - expect(response.status).to be(200) - end - end - - context "when a response is stubbed" do - before do - stub = Typhoeus::Response.new \ - :code => 200, - :headers => { "Foo" => "2", "Bar" => "3" }, - :body => "Hello", - :mock => true - - Typhoeus.stub(base_url + '/').and_return(stub) - end - - it 'stubs the status code' do - expect(response.status).to eq(200) - end - - it 'stubs the response body' do - expect(response.body).to eq("Hello") - end - - it 'stubs the headers' do - expect(response.headers).to eq("Foo" => "2", "Bar" => "3") - end - end - - describe "#initialize" do - let(:request) { adapter.method(:typhoeus_request).call({}) } - - context "when typhoeus request options specified" do - let(:adapter) { described_class.new(nil, { :forbid_reuse => true, :maxredirs => 1 }) } - - it "should set option for request" do - expect(request.options[:forbid_reuse]).to be_truthy - expect(request.options[:maxredirs]).to eq(1) - end - end - end - - describe "#perform_request" do - let(:env) { {} } - - context "when body" do - let(:env) { { :body => double(:read => "body") } } - - it "reads body" do - expect(adapter.method(:read_body).call(env)).to eq("body") - end - end - - context "parallel_manager" do - context "when given" do - let(:env) { { :parallel_manager => double(:queue => true), :ssl => {}, :request => {} } } - - it "uses" do - adapter.method(:perform_request).call(env) - end - end - - context "when not given" do - let(:env) { { :method => :get, :ssl => {}, :request => {} } } - - it "falls back to single" do - expect(Typhoeus::Request).to receive(:new).and_return(double(:options => {}, :on_complete => [], :run => true)) - adapter.method(:perform_request).call(env) - end - end - end - end - - describe "#request" do - let(:env) do - { :url => "url", :method => :get, :body => "body", :request_headers => {}, :ssl => {}, :request => {} } - end - - let(:request) { adapter.method(:request).call(env) } - - it "returns request" do - expect(request).to be_a(Typhoeus::Request) - end - - it "sets url" do - expect(request.base_url).to eq("url") - end - - it "sets http method" do - expect(request.original_options[:method]).to eq(:get) - end - - it "sets body" do - expect(request.original_options[:body]).to eq("body") - end - - it "sets headers" do - expect(request.original_options[:headers]).to eq({}) - end - - it "sets on_complete callback" do - expect(request.on_complete.size).to eq(1) - end - end - - context "when the connection failed" do - before do - stub = Typhoeus::Response.new \ - :response_code => 0, - :return_code => 0, - :mock => true - - Typhoeus.stub(base_url + '/').and_return(stub) - end - - context "when parallel" do - it "isn't successful" do - response = nil - conn.in_parallel { response = conn.get("/") } - expect(response.success?).to be_falsey - end - - it "translates the response code into an error message" do - response = nil - conn.in_parallel { response = conn.get("/") } - expect(response.env[:typhoeus_return_message]).to eq("No error") - end - end - - context "when not parallel" do - it "raises an error" do - expect { conn.get("/") }.to raise_error(Faraday::ConnectionFailed, "No error") - end - end - end - - describe "#configure_socket" do - let(:env) { { :request => { :bind => { :host => "interface" } } } } - - before { adapter.method(:configure_socket).call(request, env) } - - context "when host" do - it "sets interface" do - expect(request.options[:interface]).to eq("interface") - end - end - end - - describe "#configure_timeout" do - before { adapter.method(:configure_timeout).call(request, env) } - - context "when timeout" do - let(:env) { { :request => { :timeout => 1 } } } - - it "sets timeout_ms" do - expect(request.options[:timeout_ms]).to eq(1000) - end - end - - context "when open_timeout" do - let(:env) { { :request => { :open_timeout => 1 } } } - - it "sets connecttimeout_ms" do - expect(request.options[:connecttimeout_ms]).to eq(1000) - end - end - end - - describe "#configure_proxy" do - before { adapter.method(:configure_proxy).call(request, env) } - - context "when proxy" do - let(:env) { { :request => { :proxy => { :uri => double(:scheme => 'http', :host => "localhost", :port => "3001") } } } } - - it "sets proxy" do - expect(request.options[:proxy]).to eq("http://localhost:3001") - end - - context "when username and password" do - let(:env) do - { :request => { :proxy => { - :uri => double(:scheme => 'http', :host => :a, :port => :b), - :user => "a", - :password => "b" - } } } - end - - it "sets proxyuserpwd" do - expect(request.options[:proxyuserpwd]).to eq("a:b") - end - end - end - end - - describe "#configure_ssl" do - before { adapter.method(:configure_ssl).call(request, env) } - - context "when version" do - let(:env) { { :ssl => { :version => "a" } } } - - it "sets sslversion" do - expect(request.options[:sslversion]).to eq("a") - end - end - - context "when client_cert" do - let(:env) { { :ssl => { :client_cert => "a" } } } - - it "sets sslcert" do - expect(request.options[:sslcert]).to eq("a") - end - end - - context "when client_key" do - let(:env) { { :ssl => { :client_key => "a" } } } - - it "sets sslkey" do - expect(request.options[:sslkey]).to eq("a") - end - end - - context "when ca_file" do - let(:env) { { :ssl => { :ca_file => "a" } } } - - it "sets cainfo" do - expect(request.options[:cainfo]).to eq("a") - end - end - - context "when ca_path" do - let(:env) { { :ssl => { :ca_path => "a" } } } - - it "sets capath" do - expect(request.options[:capath]).to eq("a") - end - end - - context "when client_cert_passwd" do - let(:env) { { :ssl => { :client_cert_passwd => "a" } } } - - it "sets keypasswd to the value of client_cert_passwd" do - expect(request.options[:keypasswd]).to eq("a") - end - end - - context "when client_certificate_password" do - let(:env) { { :ssl => { :client_certificate_password => "a" } } } - - it "sets keypasswd to the value of client_cert_passwd" do - expect(request.options[:keypasswd]).to eq("a") - end - end - - context "when no client_cert_passwd" do - let(:env) { { :ssl => { } } } - - it "does not set keypasswd on options" do - expect(request.options).not_to have_key :keypasswd - end - end - - context "when verify is false" do - let(:env) { { :ssl => { :verify => false } } } - - it "sets ssl_verifyhost to 0" do - expect(request.options[:ssl_verifyhost]).to eq(0) - end - - it "sets ssl_verifypeer to false" do - expect(request.options[:ssl_verifypeer]).to be_falsey - end - end - - context "when verify is true" do - let(:env) { { :ssl => { :verify => true } } } - - it "sets ssl_verifyhost to 2" do - expect(request.options[:ssl_verifyhost]).to eq(2) - end - - it "sets ssl_verifypeer to true" do - expect(request.options[:ssl_verifypeer]).to be_truthy - end - end - end - - describe "#parallel?" do - context "when parallel_manager" do - let(:env) { { :parallel_manager => true } } - - it "returns true" do - expect(adapter.method(:parallel?).call(env)).to be_truthy - end - end - - context "when no parallel_manager" do - let(:env) { { :parallel_manager => nil } } - - it "returns false" do - expect(adapter.method(:parallel?).call(env)).to be_falsey - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/cache/dalli_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/cache/dalli_spec.rb deleted file mode 100644 index 1ea2ce0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/cache/dalli_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("1.9.0") - require 'dalli' - require 'typhoeus/cache/dalli' - require 'spec_helper' - - describe Typhoeus::Cache::Dalli do - let(:dalli) { instance_double(Dalli::Client) } - let(:cache) { Typhoeus::Cache::Dalli.new(dalli) } - - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url, {:method => :get}) } - let(:response) { Typhoeus::Response.new(:response_code => 0, :return_code => 0, :mock => true) } - - describe "#set" do - it "sends the request to Dalli" do - expect(dalli).to receive(:set).with(request.cache_key, response, nil) - - cache.set(request, response) - end - end - - describe "#get" do - it "returns nil when the key is not in the cache" do - expect(dalli).to receive(:get).with(request.cache_key).and_return(nil) - - expect(cache.get(request)).to be_nil - end - - it "returns the cached response when the key is in cache" do - expect(dalli).to receive(:get).with(request.cache_key).and_return(response) - - result = cache.get(request) - expect(result).to_not be_nil - expect(result.response_code).to eq(response.response_code) - expect(result.return_code).to eq(response.return_code) - expect(result.headers).to eq(response.headers) - expect(result.body).to eq(response.body) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/cache/redis_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/cache/redis_spec.rb deleted file mode 100644 index 9ee5941..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/cache/redis_spec.rb +++ /dev/null @@ -1,41 +0,0 @@ -require 'redis' -require 'typhoeus/cache/redis' -require 'spec_helper' - -describe Typhoeus::Cache::Redis do - let(:redis) { instance_double(Redis) } - let(:cache) { Typhoeus::Cache::Redis.new(redis) } - - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url, {:method => :get}) } - let(:response) { Typhoeus::Response.new(:response_code => 0, :return_code => 0, :mock => true) } - let(:serialized_response) { Marshal.dump(response) } - - describe "#set" do - it "sends the serialized request to Redis" do - expect(redis).to receive(:set).with(request.cache_key, serialized_response) - expect(redis).to_not receive(:expire).with(request.cache_key, request.cache_ttl) - - cache.set(request, response) - end - end - - describe "#get" do - it "returns nil when the key is not in Redis" do - expect(redis).to receive(:get).with(request.cache_key).and_return(nil) - - expect(cache.get(request)).to be_nil - end - - it "returns the cached response when the key is in Redis" do - expect(redis).to receive(:get).with(request.cache_key).and_return(serialized_response) - - result = cache.get(request) - expect(result).to_not be_nil - expect(result.response_code).to eq(response.response_code) - expect(result.return_code).to eq(response.return_code) - expect(result.headers).to eq(response.headers) - expect(result.body).to eq(response.body) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/config_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/config_spec.rb deleted file mode 100644 index ac721c5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/config_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Config do - let(:config) { Typhoeus::Config } - - [:block_connection, :memoize, :verbose, :cache, :user_agent, :proxy].each do |name| - it "responds to #{name}" do - expect(config).to respond_to(name) - end - - it "responds to #{name}=" do - expect(config).to respond_to("#{name}=") - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/easy_factory_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/easy_factory_spec.rb deleted file mode 100644 index cc1e9bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/easy_factory_spec.rb +++ /dev/null @@ -1,143 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::EasyFactory do - let(:base_url) { "http://localhost:3001" } - let(:hydra) { Typhoeus::Hydra.new(:max_concurrency => 1) } - let(:options) { {} } - let(:request) { Typhoeus::Request.new(base_url, options) } - let(:easy_factory) { described_class.new(request, hydra) } - - describe "#get" do - context "when option[:cache_ttl]" do - let(:options) { {:cache_ttl => 1} } - - it "creates Ethon::Easy" do - expect(easy_factory.get).to be_a(Ethon::Easy) - end - end - - context "timeouts" do - it "sets nosignal to true by default" do - expect(easy_factory.easy).to receive(:http_request).with(anything(), anything(), hash_including(:nosignal => true)) - easy_factory.get - end - - context "when timeout is not a whole number and timeout_ms is not set" do - let(:options) { {:timeout => 0.1} } - it "ceils timeout and sets timeout_ms" do - expect(easy_factory.easy).to receive(:http_request).with(anything(), anything(), hash_including(:timeout_ms => 100, :timeout => 1)) - easy_factory.get - end - end - - context "when timeout is not a whole number and timeout_ms is set" do - let(:options) { {:timeout => 0.1, :timeout_ms => 123} } - it "ceils timeout and does not change timeout_ms" do - expect(easy_factory.easy).to receive(:http_request).with(anything(), anything(), hash_including(:timeout_ms => 123, :timeout => 1)) - easy_factory.get - end - end - - context "when connecttimeout is not a whole number and connecttimeout_ms is not set" do - let(:options) { {:connecttimeout => 0.1} } - it "ceils connecttimeout and sets connecttimeout_ms" do - expect(easy_factory.easy).to receive(:http_request).with(anything(), anything(), hash_including(:connecttimeout_ms => 100, :connecttimeout => 1)) - easy_factory.get - end - end - - context "when connecttimeout is not a whole number and connecttimeout_ms is set" do - let(:options) { {:connecttimeout => 0.1, :connecttimeout_ms => 123} } - it "ceils connecttimeout and does not change connecttimeout_ms" do - expect(easy_factory.easy).to receive(:http_request).with(anything(), anything(), hash_including(:connecttimeout_ms => 123, :connecttimeout => 1)) - easy_factory.get - end - end - - - end - - context "when invalid option" do - let(:options) { {:invalid => 1} } - - it "reraises" do - expect{ easy_factory.get }.to raise_error(Ethon::Errors::InvalidOption) - end - end - - context "when removed option" do - let(:options) { {:cache_timeout => 1} } - - it "reraises with help" do - expect{ easy_factory.get }.to raise_error( - Ethon::Errors::InvalidOption, /The option cache_timeout was removed/ - ) - end - end - - context "when changed option" do - let(:options) { {:proxy_auth_method => 1} } - - it "reraises with help" do - expect{ easy_factory.get }.to raise_error( - Ethon::Errors::InvalidOption, /Please try proxyauth instead of proxy_auth_method/ - ) - end - end - - context "when renamed option" do - let(:options) { {:connect_timeout => 1} } - - it "warns" do - expect(easy_factory).to receive(:warn).with( - "Deprecated option connect_timeout. Please use connecttimeout instead." - ) - easy_factory.get - end - - it "passes correct option" do - expect(easy_factory).to receive(:warn) - expect(easy_factory.easy).to receive(:connecttimeout=).with(1) - easy_factory.get - end - end - end - - describe "#set_callback" do - it "sets easy.on_progress callback when an on_progress callback is provided" do - request.on_progress { 1 } - expect(easy_factory.easy).to receive(:on_progress) - easy_factory.send(:set_callback) - end - - it "sets easy.on_complete callback" do - expect(easy_factory.easy).to receive(:on_complete) - easy_factory.send(:set_callback) - end - - it "finishes request" do - easy_factory.send(:set_callback) - expect(request).to receive(:finish) - easy_factory.easy.complete - end - - it "resets easy" do - easy_factory.send(:set_callback) - expect(easy_factory.easy).to receive(:reset) - easy_factory.easy.complete - end - - it "pushes easy back into the pool" do - easy_factory.send(:set_callback) - easy_factory.easy.complete - expect(Typhoeus::Pool.send(:easies)).to include(easy_factory.easy) - end - - it "adds next request" do - easy_factory.hydra.instance_variable_set(:@queued_requests, [request]) - expect(easy_factory.hydra).to receive(:add).with(request) - easy_factory.send(:set_callback) - easy_factory.easy.complete - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/errors/no_stub_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/errors/no_stub_spec.rb deleted file mode 100644 index 5815cea..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/errors/no_stub_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Errors::NoStub do - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url) } - let(:message) { "The connection is blocked and no stub defined: " } - - subject { Typhoeus::Errors::NoStub } - - it "displays the request url" do - expect { raise subject.new(request) }.to raise_error(subject, message + base_url) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/expectation_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/expectation_spec.rb deleted file mode 100644 index 9dfb2b0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/expectation_spec.rb +++ /dev/null @@ -1,280 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Expectation do - let(:options) { {} } - let(:base_url) { "www.example.com" } - let(:expectation) { described_class.new(base_url, options) } - - describe ".new" do - it "sets base_url" do - expect(expectation.instance_variable_get(:@base_url)).to eq(base_url) - end - - it "sets options" do - expect(expectation.instance_variable_get(:@options)).to eq(options) - end - - it "initializes response_counter" do - expect(expectation.instance_variable_get(:@response_counter)).to eq(0) - end - end - - describe ".all" do - context "when @expectations nil" do - it "returns empty array" do - expect(Typhoeus::Expectation.all).to eq([]) - end - end - - context "when @expectations not nil" do - let(:expectations) { [1] } - - it "returns @expectations" do - Typhoeus::Expectation.instance_variable_set(:@expectations, expectations) - expect(Typhoeus::Expectation.all).to be(expectations) - end - end - end - - describe ".clear" do - let(:expectations) { double(:clear) } - - it "clears all" do - expect(expectations).to receive(:clear) - Typhoeus::Expectation.instance_variable_set(:@expectations, expectations) - Typhoeus::Expectation.clear - Typhoeus::Expectation.instance_variable_set(:@expectations, nil) - end - end - - describe ".response_for" do - let(:request) { Typhoeus::Request.new("") } - let(:stubbed_response) { Typhoeus::Response.new } - - it "finds a matching expectation and returns its next response" do - Typhoeus::Expectation.all << expectation - expect(expectation).to receive(:matches?).with(request).and_return(true) - expect(expectation).to receive(:response).with(request).and_return(stubbed_response) - - response = Typhoeus::Expectation.response_for(request) - - expect(response).to be(stubbed_response) - end - - it "returns nil if no matching expectation is found" do - response = Typhoeus::Expectation.response_for(request) - expect(response).to be(nil) - end - end - - describe "#stubbed_from" do - it "sets value" do - expectation.stubbed_from(:webmock) - expect(expectation.from).to eq(:webmock) - end - - it "returns self" do - expect(expectation.stubbed_from(:webmock)).to be(expectation) - end - end - - describe "#and_return" do - context "when value" do - it "adds to responses" do - expectation.and_return(1) - expect(expectation.responses).to eq([1]) - end - end - - context "when array" do - it "adds to responses" do - expectation.and_return([1, 2]) - expect(expectation.responses).to eq([1, 2]) - end - end - - context "when block" do - it "adds to responses" do - block = Proc.new {} - expectation.and_return(&block) - expect(expectation.responses).to eq([block]) - end - end - end - - describe "#responses" do - it "returns responses" do - expect(expectation.responses).to be_a(Array) - end - end - - describe "#response" do - let(:request) { Typhoeus::Request.new("") } - - before { expectation.instance_variable_set(:@responses, responses) } - - context "when one response" do - context "is pre-constructed" do - let(:responses) { [Typhoeus::Response.new] } - - it "returns response" do - expect(expectation.response(request)).to be(responses[0]) - end - end - - context "is lazily-constructed" do - def construct_response(request) - @request_from_response_construction = request - lazily_constructed_response - end - - let(:lazily_constructed_response) { Typhoeus::Response.new } - let(:responses) { [ Proc.new { |request| construct_response(request) } ] } - - it "returns response" do - expect(expectation.response(request)).to be(lazily_constructed_response) - expect(@request_from_response_construction).to be(request) - end - end - end - - context "when multiple responses" do - let(:responses) { [Typhoeus::Response.new, Typhoeus::Response.new, Typhoeus::Response.new] } - - it "returns one by one" do - 3.times do |i| - expect(expectation.response(request)).to be(responses[i]) - end - end - end - end - - describe "#matches?" do - let(:request) { double(:base_url => nil) } - - it "calls url_match?" do - expect(expectation).to receive(:url_match?) - expectation.matches?(request) - end - - it "calls options_match?" do - expect(expectation).to receive(:url_match?).and_return(true) - expect(expectation).to receive(:options_match?) - expectation.matches?(request) - end - end - - describe "#url_match?" do - let(:request_url) { "www.example.com" } - let(:request) { Typhoeus::Request.new(request_url) } - let(:url_match) { expectation.method(:url_match?).call(request.base_url) } - - context "when string" do - context "when match" do - it "returns true" do - expect(url_match).to be_truthy - end - end - - context "when no match" do - let(:base_url) { "no_match" } - - it "returns false" do - expect(url_match).to be_falsey - end - end - end - - context "when regexp" do - context "when match" do - let(:base_url) { /example/ } - - it "returns true" do - expect(url_match).to be_truthy - end - end - - context "when no match" do - let(:base_url) { /nomatch/ } - - it "returns false" do - expect(url_match).to be_falsey - end - - context "with nil request_url" do - let(:request_url) { nil } - - it "returns false" do - expect(url_match).to be_falsey - end - end - end - end - - context "when nil" do - let(:base_url) { nil } - - it "returns true" do - expect(url_match).to be_truthy - end - end - - context "when not string, regexp, nil" do - let(:base_url) { 1 } - - it "returns false" do - expect(url_match).to be_falsey - end - end - end - - describe "options_match?" do - let(:request_options) { {} } - let(:request) { Typhoeus::Request.new(nil, request_options) } - let(:options_match) { expectation.method(:options_match?).call(request) } - - context "when match" do - let(:options) { { :a => 1 } } - let(:request_options) { options } - - it "returns true" do - expect(options_match).to be_truthy - end - end - - context "when options are a subset from request_options" do - let(:options) { { :a => 1 } } - let(:request_options) { { :a => 1, :b => 2 } } - - it "returns true" do - expect(options_match).to be_truthy - end - end - - context "when options are nested" do - let(:options) { { :a => { :b => 1 } } } - let(:request_options) { options } - - it "returns true" do - expect(options_match).to be_truthy - end - end - - context "when options contains an array" do - let(:options) { { :a => [1, 2] } } - let(:request_options) { options } - - it "returns true" do - expect(options_match).to be_truthy - end - end - - context "when no match" do - let(:options) { { :a => 1 } } - - it "returns false" do - expect(options_match).to be_falsey - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/addable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/addable_spec.rb deleted file mode 100644 index 4cb8e1a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/addable_spec.rb +++ /dev/null @@ -1,22 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Addable do - let(:hydra) { Typhoeus::Hydra.new() } - let(:request) { Typhoeus::Request.new("localhost:3001", {:method => :get}) } - - it "asks easy factory for an easy" do - multi = double - expect(Typhoeus::EasyFactory).to receive(:new).with(request, hydra).and_return(double(:get => 1)) - expect(hydra).to receive(:multi).and_return(multi) - expect(multi).to receive(:add).with(1) - hydra.add(request) - end - - it "adds easy to multi" do - multi = double - expect(Typhoeus::EasyFactory).to receive(:new).with(request, hydra).and_return(double(:get => 1)) - expect(hydra).to receive(:multi).and_return(multi) - expect(multi).to receive(:add).with(1) - hydra.add(request) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/before_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/before_spec.rb deleted file mode 100644 index e17e043..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/before_spec.rb +++ /dev/null @@ -1,98 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Before do - let(:request) { Typhoeus::Request.new("") } - let(:hydra) { Typhoeus::Hydra.new } - let(:receive_counter) { double :mark => :twain } - - describe "#add" do - context "when before" do - context "when one" do - it "executes" do - Typhoeus.before { |r| receive_counter.mark } - expect(receive_counter).to receive(:mark) - hydra.add(request) - end - - context "when true" do - it "calls super" do - Typhoeus.before { true } - expect(Typhoeus::Expectation).to receive(:response_for) - hydra.add(request) - end - end - - context "when falsy" do - context "when queue requests" do - let(:queued_request) { Typhoeus::Request.new("") } - - before { hydra.queue(queued_request) } - - it "dequeues" do - Typhoeus.before { false } - hydra.add(request) - expect(hydra.queued_requests).to be_empty - end - end - - context "when false" do - it "doesn't call super" do - Typhoeus.before { false } - expect(Typhoeus::Expectation).to receive(:response_for).never - hydra.add(request) - end - end - - context "when response" do - it "doesn't call super" do - Typhoeus.before { Typhoeus::Response.new } - expect(Typhoeus::Expectation).to receive(:response_for).never - hydra.add(request) - end - end - end - end - - context "when multi" do - context "when all true" do - before { 3.times { Typhoeus.before { |r| receive_counter.mark } } } - - it "calls super" do - expect(Typhoeus::Expectation).to receive(:response_for) - hydra.add(request) - end - - it "executes all" do - expect(receive_counter).to receive(:mark).exactly(3).times - hydra.add(request) - end - end - - context "when middle false" do - before do - Typhoeus.before { |r| receive_counter.mark } - Typhoeus.before { |r| receive_counter.mark; nil } - Typhoeus.before { |r| receive_counter.mark } - end - - it "doesn't call super" do - expect(Typhoeus::Expectation).to receive(:response_for).never - hydra.add(request) - end - - it "executes only two" do - expect(receive_counter).to receive(:mark).exactly(2).times - hydra.add(request) - end - end - end - end - - context "when no before" do - it "calls super" do - expect(Typhoeus::Expectation).to receive(:response_for) - hydra.add(request) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/block_connection_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/block_connection_spec.rb deleted file mode 100644 index df3e945..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/block_connection_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::BlockConnection do - let(:base_url) { "localhost:3001" } - let(:hydra) { Typhoeus::Hydra.new() } - let(:request) { Typhoeus::Request.new(base_url, {:method => :get}) } - - describe "add" do - context "when block_connection activated" do - before { Typhoeus::Config.block_connection = true } - after { Typhoeus::Config.block_connection = false } - - it "raises" do - expect{ hydra.add(request) }.to raise_error(Typhoeus::Errors::NoStub) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/cacheable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/cacheable_spec.rb deleted file mode 100644 index 6e2f0ab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/cacheable_spec.rb +++ /dev/null @@ -1,88 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Cacheable do - let(:base_url) { "localhost:3001" } - let(:hydra) { Typhoeus::Hydra.new() } - let(:request) { Typhoeus::Request.new(base_url, {:method => :get}) } - let(:response) { Typhoeus::Response.new } - let(:cache) { MemoryCache.new } - - describe "add" do - context "when cache activated" do - before { Typhoeus::Config.cache = cache } - after { Typhoeus::Config.cache = false } - - context "when request new" do - it "sets no response" do - hydra.add(request) - expect(request.response).to be_nil - end - - it "doesn't call complete" do - expect(request).to receive(:complete).never - hydra.add(request) - end - end - - context "when request in memory" do - before { cache.memory[request] = response } - - it "returns response with cached status" do - hydra.add(request) - expect(response.cached?).to be_truthy - end - - context "when no queued requests" do - it "finishes request" do - expect(request).to receive(:finish).with(response) - hydra.add(request) - expect(response.cached?).to be_truthy - end - end - - context "when queued requests" do - let(:queued_request) { Typhoeus::Request.new(base_url, {:method => :get}) } - - before { cache.memory[queued_request] = response } - - it "finishes both requests" do - hydra.queue(queued_request) - expect(request).to receive(:finish).with(response) - expect(queued_request).to receive(:finish).with(response) - hydra.add(request) - end - end - end - - context "when cache is specified on a request" do - before { Typhoeus::Config.cache = false } - - context "when cache is false" do - let(:non_cached_request) { Typhoeus::Request.new(base_url, {:method => :get, :cache => false}) } - - it "initiates an HTTP call" do - expect(Typhoeus::EasyFactory).to receive(:new).with(non_cached_request, hydra).and_call_original - - hydra.add(non_cached_request) - end - end - - context "when cache is defined" do - let(:cached_request) { Typhoeus::Request.new(base_url, {:method => :get, :cache => cache}) } - - before { cache.memory[cached_request] = response } - - it "uses the cache instead of making a new request" do - expect(Typhoeus::EasyFactory).not_to receive(:new) - - hydra.add(cached_request) - - expect(cached_request.response).to be_cached - expect(cached_request.response).to eq(response) - end - end - end - - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/memoizable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/memoizable_spec.rb deleted file mode 100644 index c04f299..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/memoizable_spec.rb +++ /dev/null @@ -1,53 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Memoizable do - let(:base_url) { "localhost:3001" } - let(:hydra) { Typhoeus::Hydra.new() } - let(:request) { Typhoeus::Request.new(base_url) } - - describe "add" do - context "when memoization activated" do - before { Typhoeus::Config.memoize = true } - - context "when request new" do - it "sets no response" do - hydra.add(request) - expect(request.response).to be_nil - end - - it "doesn't call complete" do - expect(request).to receive(:complete).never - hydra.add(request) - end - end - - context "when request in memory" do - let(:response) { Typhoeus::Response.new } - before { hydra.memory[request] = response } - - it "finishes request" do - expect(request).to receive(:finish).with(response, true) - hydra.add(request) - end - - context "when queued request" do - let(:queued_request) { Typhoeus::Request.new(base_url) } - - it "dequeues" do - hydra.queue(queued_request) - expect(request).to receive(:finish).with(response, true) - expect(queued_request).to receive(:finish).with(response, true) - hydra.add(request) - end - end - end - end - end - - describe "#run" do - it "clears memory before starting" do - expect(hydra.memory).to receive(:clear) - hydra.run - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/queueable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/queueable_spec.rb deleted file mode 100644 index d9fc87a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/queueable_spec.rb +++ /dev/null @@ -1,98 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Queueable do - let(:base_url) { "localhost:3001" } - let(:options) { {} } - let(:hydra) { Typhoeus::Hydra.new(options) } - - describe "#queue" do - let(:request) { Typhoeus::Request.new("") } - - it "accepts requests" do - hydra.queue(request) - end - - it "sets hydra on request" do - hydra.queue(request) - expect(request.hydra).to eq(hydra) - end - - it "adds to queued requests" do - hydra.queue(request) - expect(hydra.queued_requests).to include(request) - end - - it "adds to front of queued requests" do - hydra.queue_front(request) - expect(hydra.queued_requests.first).to be(request) - end - end - - describe "#abort" do - before { hydra.queued_requests << 1 } - - it "clears queue" do - hydra.abort - expect(hydra.queued_requests).to be_empty - end - end - - describe "#dequeue_many" do - before do - requests.each { |r| hydra.queue r } - end - - context "when no request queued" do - let(:requests) { [] } - - it "does nothing" do - expect(hydra).to_not receive(:add) - hydra.dequeue_many - end - end - - context "when request queued" do - let(:first) { Typhoeus::Request.new("localhost:3001/first") } - let(:requests) { [first] } - - it "adds request from queue to multi" do - expect(hydra).to receive(:add).with(first) - hydra.dequeue_many - end - end - - context "when three request queued" do - let(:first) { Typhoeus::Request.new("localhost:3001/first") } - let(:second) { Typhoeus::Request.new("localhost:3001/second") } - let(:third) { Typhoeus::Request.new("localhost:3001/third") } - let(:requests) { [first, second, third] } - - it "adds requests from queue to multi" do - expect(hydra).to receive(:add).with(first) - expect(hydra).to receive(:add).with(second) - expect(hydra).to receive(:add).with(third) - hydra.dequeue_many - end - - context "when max_concurrency is two" do - let(:options) { {:max_concurrency => 2} } - it "adds requests from queue to multi" do - expect(hydra).to receive(:add).with(first) - expect(hydra).to receive(:add).with(second) - expect(hydra).to_not receive(:add).with(third) - hydra.dequeue_many - end - end - - context "when max_concurrency is a string" do - let(:options) { {:max_concurrency => "2"} } - it "adds requests from queue to multi" do - expect(hydra).to receive(:add).with(first) - expect(hydra).to receive(:add).with(second) - expect(hydra).to_not receive(:add).with(third) - hydra.dequeue_many - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/runnable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/runnable_spec.rb deleted file mode 100644 index 1e0237e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/runnable_spec.rb +++ /dev/null @@ -1,137 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Runnable do - let(:base_url) { "localhost:3001" } - let(:options) { {} } - let(:hydra) { Typhoeus::Hydra.new(options) } - let(:receive_counter) { double :mark => :twain } - - describe "#run" do - let(:requests) { [] } - - before do - requests.each { |r| hydra.queue r } - end - - it "runs multi#dequeue_many" do - expect(hydra).to receive(:dequeue_many) - hydra.run - end - - it "runs multi#perform" do - expect(hydra.multi).to receive(:perform) - hydra.run - end - - context "when request queued" do - let(:first) { Typhoeus::Request.new("localhost:3001/first") } - let(:requests) { [first] } - - it "sends" do - hydra.run - expect(first.response).to be - end - end - - context "when three request queued" do - let(:first) { Typhoeus::Request.new("localhost:3001/first") } - let(:second) { Typhoeus::Request.new("localhost:3001/second") } - let(:third) { Typhoeus::Request.new("localhost:3001/third") } - let(:requests) { [first, second, third] } - - it "sends first" do - hydra.run - expect(first.response).to be - end - - it "sends second" do - hydra.run - expect(second.response).to be - end - - it "sends third" do - hydra.run - expect(third.response).to be - end - - it "sends first first" do - first.on_complete do - expect(second.response).to be_nil - expect(third.response).to be_nil - end - end - - it "sends second second" do - first.on_complete do - expect(first.response).to be - expect(third.response).to be_nil - end - end - - it "sends thirds last" do - first.on_complete do - expect(second.response).to be - expect(third.response).to be - end - end - end - - context "when really queued request" do - let(:options) { {:max_concurrency => 1} } - let(:first) { Typhoeus::Request.new("localhost:3001/first") } - let(:second) { Typhoeus::Request.new("localhost:3001/second") } - let(:third) { Typhoeus::Request.new("localhost:3001/third") } - let(:requests) { [first, second, third] } - - it "sends first" do - hydra.run - expect(first.response).to be - end - - it "sends second" do - hydra.run - expect(second.response).to be - end - - it "sends third" do - hydra.run - expect(third.response).to be - end - end - - context "when request queued in callback" do - let(:first) do - Typhoeus::Request.new("localhost:3001/first").tap do |r| - r.on_complete{ hydra.queue(second) } - end - end - let(:second) { Typhoeus::Request.new("localhost:3001/second") } - let(:requests) { [first] } - - before { Typhoeus.on_complete { |r| receive_counter.mark } } - after { Typhoeus.on_complete.clear; Typhoeus.before.clear } - - context "when real request" do - context "when max_concurrency default" do - let(:options) { {} } - - it "calls on_complete callback once for every response" do - expect(receive_counter).to receive(:mark).exactly(2).times - hydra.run - end - end - end - - context "when no real request" do - context "when before hook returns and finishes response" do - before { Typhoeus.before{ |request| request.finish(Typhoeus::Response.new) } } - - it "simulates real multi run and adds and finishes both requests" do - expect(receive_counter).to receive(:mark).exactly(2).times - hydra.run - end - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/stubbable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/stubbable_spec.rb deleted file mode 100644 index 6b64cc0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra/stubbable_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Hydra::Stubbable do - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url) } - let(:response) { Typhoeus::Response.new } - let(:hydra) { Typhoeus::Hydra.new } - - before { Typhoeus.stub(base_url).and_return(response) } - - describe "#add" do - it "checks expectations" do - hydra.add(request) - end - - context "when expectation found" do - it "calls on_headers callbacks" do - canary = :not_called - request.on_headers do - canary = :called - end - hydra.add(request) - hydra.run - expect(canary).to eq(:called) - end - - it "calls on_body callbacks" do - canary = :not_called - request.on_body do - canary = :called - end - hydra.add(request) - hydra.run - expect(canary).to eq(:called) - end - - it "finishes response" do - expect(request).to receive(:finish) - hydra.add(request) - end - - it "is a mock" do - hydra.add(request) - expect(request.response.mock).to be(true) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra_spec.rb deleted file mode 100644 index a8a35aa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/hydra_spec.rb +++ /dev/null @@ -1,22 +0,0 @@ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') - -describe Typhoeus::Hydra do - let(:base_url) { "localhost:3001" } - let(:options) { {} } - let(:hydra) { Typhoeus::Hydra.new(options) } - - describe "#new" do - let(:options) { {:pipeling => true} } - - it "passes options to multi" do - expect(Ethon::Multi).to receive(:new).with(options) - hydra - end - end - - describe "#hydra" do - it "returns a hydra" do - expect(Typhoeus::Hydra.hydra).to be_a(Typhoeus::Hydra) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/pool_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/pool_spec.rb deleted file mode 100644 index b04f433..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/pool_spec.rb +++ /dev/null @@ -1,137 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Pool do - let(:easy) { Ethon::Easy.new } - after { Typhoeus::Pool.clear } - - describe "#easies" do - it "returns array" do - expect(Typhoeus::Pool.send(:easies)).to be_a(Array) - end - end - - describe "#release" do - it "resets easy" do - expect(easy).to receive(:reset) - Typhoeus::Pool.release(easy) - end - - it "flush cookies to disk" do - expect(easy).to receive(:cookielist=).with('flush') - expect(easy).to receive(:reset) - expect(easy).to receive(:cookielist=).with('all') - Typhoeus::Pool.release(easy) - end - - it "writes cookies to disk" do - tempfile1 = Tempfile.new('cookies') - tempfile2 = Tempfile.new('cookies') - - easy.cookiejar = tempfile1.path - easy.url = "localhost:3001/cookies-test" - easy.perform - - Typhoeus::Pool.release(easy) - - expect(File.zero?(tempfile1.path)).to be(false) - expect(File.read(tempfile1.path)).to match(/\s+foo\s+bar$/) - expect(File.read(tempfile1.path)).to match(/\s+bar\s+foo$/) - - # do it again - and check if tempfile1 wasn't change - easy.cookiejar = tempfile2.path - easy.url = "localhost:3001/cookies-test2" - easy.perform - - Typhoeus::Pool.release(easy) - - # tempfile 1 - expect(File.zero?(tempfile1.path)).to be(false) - expect(File.read(tempfile1.path)).to match(/\s+foo\s+bar$/) - expect(File.read(tempfile1.path)).to match(/\s+bar\s+foo$/) - - # tempfile2 - expect(File.zero?(tempfile2.path)).to be(false) - expect(File.read(tempfile2.path)).to match(/\s+foo2\s+bar$/) - expect(File.read(tempfile2.path)).to match(/\s+bar2\s+foo$/) - end - - it "puts easy back into pool" do - Typhoeus::Pool.release(easy) - expect(Typhoeus::Pool.send(:easies)).to include(easy) - end - - context "when threaded access" do - it "releases correct number of easies" do - (0..9).map do |n| - Thread.new do - Typhoeus::Pool.release(Ethon::Easy.new) - end - end.map(&:join) - expect(Typhoeus::Pool.send(:easies).size).to eq(10) - end - end - end - - describe "#get" do - context "when easy in pool" do - before { Typhoeus::Pool.send(:easies) << easy } - - it "takes" do - expect(Typhoeus::Pool.get).to eq(easy) - end - end - - context "when no easy in pool" do - it "creates" do - expect(Typhoeus::Pool.get).to be_a(Ethon::Easy) - end - - context "when threaded access" do - it "creates correct number of easies" do - queue = Queue.new - (0..9).map do |n| - Thread.new do - queue.enq(Typhoeus::Pool.get) - end - end.map(&:join) - - array = Array.new(queue.size) { queue.pop } - expect(array.uniq.size).to eq(10) - end - end - end - - context "when forked" do - before do - allow(Process).to receive(:pid).and_return(1) - Typhoeus::Pool.send(:easies) << easy - allow(Process).to receive(:pid).and_return(2) - end - - after do - allow(Process).to receive(:pid).and_call_original - Typhoeus::Pool.instance_variable_set(:@pid, Process.pid) - end - - it "creates" do - expect(Typhoeus::Pool.get).to_not eq(easy) - end - end - end - - describe "#with" do - it "is re-entrant" do - array = [] - Typhoeus::Pool.with_easy do |e1| - array << e1 - Typhoeus::Pool.with_easy do |e2| - array << e2 - Typhoeus::Pool.with_easy do |e3| - array << e3 - end - end - end - expect(array.uniq.size).to eq(3) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/actions_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/actions_spec.rb deleted file mode 100644 index 03493e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/actions_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Actions do - [:get, :post, :put, :delete, :head, :patch, :options].each do |name| - describe ".#{name}" do - let(:response) { Typhoeus::Request.method(name).call("http://localhost:3001") } - - it "returns ok" do - expect(response.return_code).to eq(:ok) - end - - unless name == :head - it "makes #{name.to_s.upcase} Request" do - expect(response.response_body).to include("\"REQUEST_METHOD\":\"#{name.to_s.upcase}\"") - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/before_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/before_spec.rb deleted file mode 100644 index ed39b0c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/before_spec.rb +++ /dev/null @@ -1,93 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Before do - let(:request) { Typhoeus::Request.new("") } - let(:receive_counter) { double :mark => :twain } - - describe "#queue" do - context "when before" do - context "when one" do - it "executes" do - Typhoeus.before { |r| receive_counter.mark } - expect(receive_counter).to receive(:mark) - request.run - end - - context "when true" do - it "calls super" do - Typhoeus.before { true } - expect(Typhoeus::Expectation).to receive(:response_for) - request.run - end - end - - context "when false" do - it "doesn't call super" do - Typhoeus.before { false } - expect(Typhoeus::Expectation).to receive(:response_for).never - request.run - end - - it "returns response" do - Typhoeus.before { |r| r.response = 1; false } - expect(request.run).to be(1) - end - end - - context "when a response" do - it "doesn't call super" do - Typhoeus.before { Typhoeus::Response.new } - expect(Typhoeus::Expectation).to receive(:response_for).never - request.run - end - - it "returns response" do - Typhoeus.before { |r| r.response = Typhoeus::Response.new } - expect(request.run).to be_a(Typhoeus::Response) - end - end - end - - context "when multi" do - context "when all true" do - before { 3.times { Typhoeus.before { |r| receive_counter.mark } } } - - it "calls super" do - expect(Typhoeus::Expectation).to receive(:response_for) - request.run - end - - it "executes all" do - expect(receive_counter).to receive(:mark).exactly(3) - request.run - end - end - - context "when middle false" do - before do - Typhoeus.before { |r| receive_counter.mark } - Typhoeus.before { |r| receive_counter.mark; nil } - Typhoeus.before { |r| receive_counter.mark } - end - - it "doesn't call super" do - expect(Typhoeus::Expectation).to receive(:response_for).never - request.run - end - - it "executes only two" do - expect(receive_counter).to receive(:mark).exactly(2).times - request.run - end - end - end - end - - context "when no before" do - it "calls super" do - expect(Typhoeus::Expectation).to receive(:response_for) - request.run - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/block_connection_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/block_connection_spec.rb deleted file mode 100644 index 2ddacdc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/block_connection_spec.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::BlockConnection do - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url, {:method => :get}) } - - describe "run" do - context "when blocked" do - before { request.block_connection = true } - - it "raises" do - expect{ request.run }.to raise_error(Typhoeus::Errors::NoStub) - end - end - - context "when not blocked" do - before { request.block_connection = false } - - it "doesn't raise" do - expect{ request.run }.to_not raise_error - end - end - end - - describe "#blocked?" do - context "when local block_connection" do - context "when true" do - before { request.block_connection = true } - - it "returns true" do - expect(request.blocked?).to be_truthy - end - end - - context "when false" do - before { request.block_connection = false } - - it "returns false" do - expect(request.blocked?).to be_falsey - end - end - end - - context "when global block_connection" do - context "when true" do - before { Typhoeus::Config.block_connection = true } - after { Typhoeus::Config.block_connection = false } - - it "returns true" do - expect(request.blocked?).to be_truthy - end - end - - context "when false" do - before { Typhoeus::Config.block_connection = false } - - it "returns false" do - expect(request.blocked?).to be_falsey - end - end - end - - context "when global and local block_connection" do - before do - Typhoeus::Config.block_connection = true - request.block_connection = false - end - after { Typhoeus::Config.block_connection = false } - - it "takes local" do - expect(request.blocked?).to be_falsey - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/cacheable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/cacheable_spec.rb deleted file mode 100644 index bffa3e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/cacheable_spec.rb +++ /dev/null @@ -1,94 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Cacheable do - let(:cache) { MemoryCache.new } - let(:options) { {} } - let(:request) { Typhoeus::Request.new("http://localhost:3001", options) } - let(:response) { Typhoeus::Response.new } - - before { Typhoeus::Config.cache = cache } - after { Typhoeus::Config.cache = false } - - describe "#response=" do - context "when cache activated" do - context "when request new" do - it "caches response" do - request.response = response - expect(cache.memory[request]).to be - end - - it "doesn't set cached on response" do - request.response = response - expect(request.response.cached?).to be_falsey - end - end - - context "when request in memory" do - before { cache.memory[request] = response } - - it "finishes request" do - expect(request).to receive(:finish).with(response) - request.run - end - - it "sets cached to true for response" do - request.run - expect(request.response.cached?).to be_truthy - end - end - end - end - - describe "#run" do - context "when cache activated" do - context "when request new" do - it "fetches response" do - expect(request.response).to_not be(response) - end - end - - context "when request in memory" do - before { cache.memory[request] = response } - - it "finishes request" do - expect(request).to receive(:finish).with(response) - request.run - end - end - - context "when cache is specified on a request" do - before { Typhoeus::Config.cache = false } - - context "when cache is false" do - let(:options) { { :cache => false } } - - it "finishes request" do - expect(request.response).to_not be(response) - request.run - end - end - - context "when cache is defined" do - let(:options) { { :cache => cache } } - - before { cache.memory[request] = response } - - it "finishes request" do - expect(request).to receive(:finish).with(response) - request.run - end - end - end - end - end - - describe "#cache_ttl" do - context "when option[:cache_ttl]" do - let(:options) { {:cache_ttl => 1} } - - it "returns" do - expect(request.cache_ttl).to be(1) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/callbacks_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/callbacks_spec.rb deleted file mode 100644 index 9b30e74..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/callbacks_spec.rb +++ /dev/null @@ -1,91 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Callbacks do - let(:request) { Typhoeus::Request.new("fubar") } - - [:on_complete, :on_success, :on_failure, :on_progress].each do |callback| - describe "##{callback}" do - it "responds" do - expect(request).to respond_to(callback) - end - - context "when no block given" do - it "returns @#{callback}" do - expect(request.method(callback).call).to eq([]) - end - end - - context "when block given" do - it "stores" do - request.method(callback).call { p 1 } - expect(request.instance_variable_get("@#{callback}").size).to eq(1) - end - end - - context "when multiple blocks given" do - it "stores" do - request.method(callback).call { p 1 } - request.method(callback).call { p 2 } - expect(request.instance_variable_get("@#{callback}").size).to eq(2) - end - end - end - end - - describe "#execute_callbacks" do - [:on_complete, :on_success, :on_failure, :on_progress].each do |callback| - context "when #{callback}" do - context "when local callback" do - before do - code = if callback == :on_failure - 500 - else - 200 - end - request.response = Typhoeus::Response.new(:mock => true, :response_code => code) - request.method(callback).call {|r| expect(r).to be_a(Typhoeus::Response) } - end - - it "executes blocks and passes response" do - request.execute_callbacks - end - - it "sets handled_response" do - request.method(callback).call { 1 } - request.execute_callbacks - expect(request.response.handled_response).to be(1) - end - end - - context "when global callback" do - before do - request.response = Typhoeus::Response.new - Typhoeus.method(callback).call {|r| expect(r).to be_a(Typhoeus::Response) } - end - - it "executes blocks and passes response" do - request.execute_callbacks - end - end - - context "when global and local callbacks" do - before do - request.response = Typhoeus::Response.new - Typhoeus.method(callback).call {|r| r.instance_variable_set(:@fu, 1) } - request.method(callback).call {|r| expect(r.instance_variable_get(:@fu)).to eq(1) } - end - - it "runs global first" do - request.execute_callbacks - end - end - end - end - - context "when local on_complete and gobal on_success" do - it "runs all global callbacks first" do - skip - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/marshal_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/marshal_spec.rb deleted file mode 100644 index 6ab922a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/marshal_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Marshal do - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url) } - - describe "#marshal_dump" do - %w(on_complete on_success on_failure on_progress).each do |name| - context "when #{name} handler" do - before { request.instance_variable_set("@#{name}", Proc.new{}) } - - it "doesn't include @#{name}" do - expect(request.send(:marshal_dump).map(&:first)).to_not include("@#{name}") - end - - it "doesn't raise when dumped" do - expect { Marshal.dump(request) }.to_not raise_error - end - - context "when loading" do - let(:loaded) { Marshal.load(Marshal.dump(request)) } - - it "includes base_url" do - expect(loaded.base_url).to eq(request.base_url) - end - - it "doesn't include #{name}" do - expect(loaded.instance_variables).to_not include("@#{name}") - end - end - end - end - - context 'when run through hydra' do - let(:options) { {} } - let(:hydra) { Typhoeus::Hydra.new(options) } - - before(:each) do - hydra.queue(request) - hydra.run - end - - it "doesn't include @hydra" do - expect(request.send(:marshal_dump).map(&:first)).to_not include("@hydra") - end - - context 'when loading' do - let(:loaded) { Marshal.load(Marshal.dump(request)) } - - it "includes base_url" do - expect(loaded.base_url).to eq(request.base_url) - end - - it "doesn't include #{name}" do - expect(loaded.instance_variables).to_not include("@hydra") - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/memoizable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/memoizable_spec.rb deleted file mode 100644 index 1bb7ebc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/memoizable_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Memoizable do - let(:options) { {} } - let(:request) { Typhoeus::Request.new("fu", options) } - let(:response) { Typhoeus::Response.new } - let(:hydra) { Typhoeus::Hydra.new } - - describe "#response=" do - context "when memoization activated" do - before { Typhoeus::Config.memoize = true } - after { Typhoeus::Config.memoize = false } - - context "when GET request" do - let(:options) { {:method => :get} } - before { request.hydra = hydra } - - it "stores response in memory" do - request.response = response - expect(hydra.memory[request]).to be - end - end - - context "when no GET request" do - let(:options) { {:method => :post} } - - it "doesn't store response in memory" do - request.response = response - expect(hydra.memory[request]).to be_nil - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/operations_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/operations_spec.rb deleted file mode 100644 index 79f6be0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/operations_spec.rb +++ /dev/null @@ -1,101 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Operations do - let(:base_url) { "localhost:3001" } - let(:options) { {} } - let(:request) { Typhoeus::Request.new(base_url, options) } - - describe "#run" do - let(:easy) { Ethon::Easy.new } - before { expect(Typhoeus::Pool).to receive(:get).and_return(easy) } - - it "grabs an easy" do - request.run - end - - it "generates settings" do - expect(easy).to receive(:http_request) - request.run - end - - it "performs" do - expect(easy).to receive(:perform) - request.run - end - - it "sets response" do - request.run - expect(request.response).to be - end - - it "releases easy" do - expect(Typhoeus::Pool).to receive(:release) - request.run - end - - it "calls on_body" do - on_body_called = false - request.on_body { |body, response| on_body_called = true } - request.run - expect(on_body_called).to be_truthy - expect(request.response.body).to satisfy { |v| v.nil? || v == '' } - end - - it "makes response headers available to on_body" do - headers = nil - request.on_body { |body, response| headers = response.headers } - request.run - expect(headers).to be - expect(headers).to eq(request.response.headers) - end - - it "calls on_headers and on_body" do - headers = nil - request.on_headers { |response| headers = response.headers } - request.on_body { |body, response| expect(headers).not_to be_nil ; expect(response.headers).to eq(headers) } - request.on_complete { |response| expect(response).not_to be_nil ; expect(response.headers).to eq(headers) ; expect(response.body).to be_empty } - request.run - end - - it "calls on_headers and on_complete" do - headers = nil - request.on_headers { |response| headers = response.headers } - request.on_complete { |response| expect(response).not_to be_nil ; expect(response.headers).to eq(headers) ; expect(response.body).not_to be_empty } - request.run - end - - it "calls on_complete" do - callback = double(:call) - expect(callback).to receive(:call) - request.instance_variable_set(:@on_complete, [callback]) - request.run - end - - it "returns a response" do - expect(request.run).to be_a(Typhoeus::Response) - end - end - - describe "#finish" do - let(:response) { Typhoeus::Response.new } - - it "assigns response" do - request.finish(response) - expect(request.response).to be(response) - end - - it "assigns request to response" do - request.finish(response) - expect(request.response.request).to be(request) - end - - it "executes callbacks" do - expect(request).to receive(:execute_callbacks) - request.finish(response) - end - - it "returns response" do - expect(request.finish(response)).to be(response) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/responseable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/responseable_spec.rb deleted file mode 100644 index 01087bc..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/responseable_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Responseable do - let(:request) { Typhoeus::Request.new("base_url", {}) } - let(:response) { Typhoeus::Response.new } - - describe "#response=" do - it "stores response" do - request.response = response - expect(request.response).to eq(response) - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/stubbable_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/stubbable_spec.rb deleted file mode 100644 index 4651d5f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request/stubbable_spec.rb +++ /dev/null @@ -1,45 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request::Stubbable do - let(:base_url) { "localhost:3001" } - let(:request) { Typhoeus::Request.new(base_url) } - let(:response) { Typhoeus::Response.new } - - before { Typhoeus.stub(base_url).and_return(response) } - - describe "#run" do - it "checks expectations" do - request.run - end - - context "when expectation found" do - it "calls on_headers callbacks" do - canary = :not_called - request.on_headers do - canary = :called - end - request.run - expect(canary).to eq(:called) - end - - it "calls on_body callbacks" do - canary = :not_called - request.on_body do - canary = :called - end - request.run - expect(canary).to eq(:called) - end - - it "finishes request" do - expect(request).to receive(:finish) - request.run - end - - it "sets mock on response" do - request.run - expect(request.response.mock).to be(true) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request_spec.rb deleted file mode 100644 index cabcb4c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/request_spec.rb +++ /dev/null @@ -1,232 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Request do - let(:base_url) { "localhost:3001" } - let(:options) { {:verbose => true, :headers => { 'User-Agent' => "Fubar", 'Expect' => "" }, :maxredirs => 50} } - let(:request) { Typhoeus::Request.new(base_url, options) } - - describe ".url" do - context "when no parameters" do - it "returns base_url" do - expect(request.url).to eq(request.base_url) - end - end - - context "when parameters" do - let(:options) { {:params => {:a => 1}} } - - it "returns full url" do - expect(request.url).to eq("#{request.base_url}?a=1") - end - end - - it "pushes an easy back into the pool" do - easy = double.as_null_object - allow(Typhoeus::Pool).to receive(:get).and_return(easy) - expect(Typhoeus::Pool).to receive(:release).with(easy) - request.url - end - end - - describe ".new" do - it "stores base_url" do - expect(request.base_url).to eq(base_url) - end - - it "stores options" do - expect(request.options).to eq(options) - end - - it "stores original options" do - expect(request.original_options).to eq(options) - expect(request.original_options).to_not be(request.options) - end - - it "sets defaults" do - expect(request.options[:headers]['User-Agent']).to be - end - end - - describe "set_defaults" do - context "when header with user agent" do - let(:options) { {:headers => {'User-Agent' => "Custom"} } } - - it "doesn't modify user agent" do - expect(request.options[:headers]['User-Agent']).to eq("Custom") - end - end - - context "when header without user agent" do - let(:options) { {:headers => {} } } - - it "add user agent" do - agent = request.options[:headers]['User-Agent'] - expect(agent).to eq(Typhoeus::USER_AGENT) - end - end - - context "when Config.user_agent set" do - before { Typhoeus.configure { |config| config.user_agent = "Default" } } - after { Typhoeus.configure { |config| config.user_agent = nil } } - - context "with headers" do - let(:options) { {:headers => { "User-Agent" => "Fubar" } } } - - it "uses the request options' user agent" do - expect(request.options[:headers]["User-Agent"]).to eq("Fubar") - end - end - - context "without headers" do - let(:options) { {:headers => {} } } - - it "uses the global options' user agent" do - expect(request.options[:headers]["User-Agent"]).to eq("Default") - end - end - end - - context "when Config.verbose set" do - before { Typhoeus.configure { |config| config.verbose = true} } - after { Typhoeus.configure { |config| config.verbose = false} } - - it "respects" do - expect(request.options[:verbose]).to be_truthy - end - end - - context "when maxredirs" do - context "when not set" do - it "defaults to 50" do - expect(request.options[:maxredirs]).to be(50) - end - end - - context "when set" do - let(:options) { {:maxredirs => 1} } - - it "respects" do - expect(request.options[:maxredirs]).to be(1) - end - end - end - - context "when Config.proxy set" do - before { Typhoeus.configure { |config| config.proxy = "http://proxy.internal" } } - after { Typhoeus.configure { |config| config.proxy = nil } } - - it "respects" do - expect(request.options[:proxy]).to eq("http://proxy.internal") - end - - context "when option proxy set" do - let(:options) { {:proxy => nil} } - - it "does not override" do - expect(request.options[:proxy]).to be_nil - end - end - end - end - - describe "#eql?" do - context "when another class" do - let(:other) { "" } - - it "returns false" do - expect(request).to_not eql other - end - end - - context "when same class" do - let(:other) { Typhoeus::Request.new("base_url", options) } - - context "when other base_url" do - it "returns false" do - expect(request).to_not eql other - end - end - - context "when same base_url and other options" do - let(:other) { Typhoeus::Request.new(base_url, {}) } - - it "returns false" do - expect(request).to_not eql other - end - end - - - context "when same base_url and options" do - context "when same order" do - let(:other) { Typhoeus::Request.new(base_url, options) } - - it "returns true" do - expect(request).to eql other - end - end - - context "when different order" do - let(:other_options) { - {:headers => { 'User-Agent' => "Fubar", 'Expect' => ""}, :verbose => true } - } - let(:other) { Typhoeus::Request.new(base_url, other_options)} - - it "returns true" do - expect(request).to eql other - end - end - end - end - end - - describe "#hash" do - context "when request.eql?(other)" do - context "when different order" do - let(:other_options) { - {:headers => { 'User-Agent' => "Fubar", 'Expect' => "" }, :verbose => true } - } - let(:other) { Typhoeus::Request.new(base_url, other_options)} - - it "has same hashes" do - expect(request.hash).to eq(other.hash) - end - end - - context "when same order" do - let(:other) { Typhoeus::Request.new(base_url, options) } - - it "has same hashes" do - expect(request.hash).to eq(other.hash) - end - end - - context "when hashes with different orders are contained in arrays" do - let(:request) { Typhoeus::Request.new(base_url, :params => [{:b => 2, :a => 1}]) } - let(:other) { Typhoeus::Request.new(base_url, :params => [{:a => 1, :b => 2}]) } - it "has different hashes" do - expect(request.hash).to eq(other.hash) - end - end - end - - context "when not request.eql?(other)" do - let(:request) { Typhoeus::Request.new(base_url, :params => {:foo => 'bar'}) } - let(:other) { Typhoeus::Request.new(base_url, :params => {:foo => 'baz'}) } - - it "has different hashes" do - expect(request.hash).to_not eq(other.hash) - end - end - end - - describe "#encoded_body" do - let(:request) { - Typhoeus::Request.new("www.example.com",:body => {:a => 1}) - } - - it "returns encoded body" do - expect(request.encoded_body).to eq("a=1") - end - end - -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/header_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/header_spec.rb deleted file mode 100644 index 922d99e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/header_spec.rb +++ /dev/null @@ -1,147 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Response::Header do - let(:raw) { nil } - let(:header) { Typhoeus::Response::Header.new(raw) } - - describe ".new" do - context "when string" do - let(:raw) { 'Date: Fri, 29 Jun 2012 10:09:23 GMT' } - - it "sets Date" do - expect(header['Date']).to eq('Fri, 29 Jun 2012 10:09:23 GMT') - end - - it "provides case insensitive access" do - expect(header['DaTe']).to eq('Fri, 29 Jun 2012 10:09:23 GMT') - end - - it "provides symbol access" do - expect(header[:date]).to eq('Fri, 29 Jun 2012 10:09:23 GMT') - end - end - - context "when hash" do - let(:raw) { { 'Date' => 'Fri, 29 Jun 2012 10:09:23 GMT' } } - - it "sets Date" do - expect(header['Date']).to eq(raw['Date']) - end - - it "provides case insensitive access" do - expect(header['DaTe']).to eq(raw['Date']) - end - end - end - - describe "#parse" do - context "when no header" do - it "returns nil" do - expect(header).to be_empty - end - end - - context "when header" do - let(:raw) do - 'HTTP/1.1 200 OK - Set-Cookie: NID=61=LblqYgUOu; expires=Sat, 29-Dec-2012 10:09:23 GMT; path=/; domain=.google.de; HttpOnly - Date: Fri, 29 Jun 2012 10:09:23 GMT - Expires: -1 - Cache-Control: private, max-age=0 - Content-Type: text/html; charset=ISO-8859-1 - Set-Cookie: PREF=ID=77e93yv0hPtejLou; expires=Sun, 29-Jun-2014 10:09:23 GMT; path=/; domain=.google.de - Set-Cookie: NID=61=LblqYgh5Ou; expires=Sat, 29-Dec-2012 10:09:23 GMT; path=/; domain=.google.de; HttpOnly - P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info." - Server: gws - X-XSS-Protection: 1; mode=block - X-Frame-Options: SAMEORIGIN - Transfer-Encoding: chunked'.gsub(/^\s{8}/, '') - end - - it "sets raw" do - expect(header.send(:raw)).to eq(raw) - end - - it "sets Set-Cookie" do - expect(header['set-cookie'].size).to eq(3) - end - - it "provides case insensitive access" do - expect(header['Set-CooKie'].size).to eq(3) - end - - [ - 'NID=61=LblqYgUOu; expires=Sat, 29-Dec-2012 10:09:23 GMT; path=/; domain=.google.de; HttpOnly', - 'PREF=ID=77e93yv0hPtejLou; expires=Sun, 29-Jun-2014 10:09:23 GMT; path=/; domain=.google.de', - 'NID=61=LblqYgh5Ou; expires=Sat, 29-Dec-2012 10:09:23 GMT; path=/; domain=.google.de; HttpOnly' - ].each_with_index do |cookie, i| - it "sets Cookie##{i}" do - expect(header['set-cookie']).to include(cookie) - end - end - - { - 'Date' => 'Fri, 29 Jun 2012 10:09:23 GMT', 'Expires' => '-1', - 'Cache-Control' => 'private, max-age=0', - 'Content-Type' => 'text/html; charset=ISO-8859-1', - 'P3P' => 'CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."', - 'Server' => 'gws', 'X-XSS-Protection' => '1; mode=block', - 'X-Frame-Options' => 'SAMEORIGIN', 'Transfer-Encoding' => 'chunked' - }.each do |name, value| - it "sets #{name}" do - expect(header[name.downcase]).to eq(value) - end - end - - context 'includes a multi-line header' do - let(:raw) do - 'HTTP/1.1 200 OK - Date: Fri, 29 Jun 2012 10:09:23 GMT - Content-Security-Policy: default-src "self"; - img-src * data: "self"; - upgrade-insecure-requests;'.gsub(/^\s{10}/, '') - end - - it "joins header parts" do - expect(header).to eq({ - 'Date' => 'Fri, 29 Jun 2012 10:09:23 GMT', - 'Content-Security-Policy' => 'default-src "self"; img-src * data: "self"; upgrade-insecure-requests;' - }) - end - end - - context 'includes line with only whitespace' do - let(:raw) do - 'HTTP/1.1 200 OK - Date: Fri, 29 Jun 2012 10:09:23 GMT - - '.gsub(/^\s{10}/, '') - end - - it 'ignores it' do - expect(header).to eq({ 'Date' => 'Fri, 29 Jun 2012 10:09:23 GMT' }) - end - end - - context 'with broken headers' do - let(:raw) do - 'HTTP/1.1 200 OK - Date: - Content-Type - '.gsub(/^\s{10}/, '') - end - - it 'returns empty string for invalid headers' do - expect(header.to_hash).to include({ 'Date' => '', 'Content-Type' => '' }) - end - end - end - end - - it "can be Marshal'd" do - header = Typhoeus::Response::Header.new("Foo: Bar") - expect { - Marshal.dump(header) - }.not_to raise_error - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/informations_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/informations_spec.rb deleted file mode 100644 index 896931a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/informations_spec.rb +++ /dev/null @@ -1,283 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Response::Informations do - let(:options) { {} } - let(:response) { Typhoeus::Response.new(options) } - - describe "#return_code" do - let(:options) { { :return_code => :ok } } - - it "returns return_code from options" do - expect(response.return_code).to be(:ok) - end - end - - describe "#debug_info" do - let(:options) { { :debug_info => Ethon::Easy::DebugInfo.new } } - - it "returns debug_info from options" do - expect(response.debug_info).to be_a(Ethon::Easy::DebugInfo) - end - end - - describe "#return_message" do - let(:options) { { :return_code => :couldnt_connect } } - - it "returns a message" do - expect(response.return_message).to eq("Couldn't connect to server") - end - - describe "with nil return_code" do - let(:options) { { :return_code => nil } } - - it "returns nil" do - expect(response.return_message).to be_nil - end - end - end - - describe "#response_body" do - context "when response_body" do - let(:options) { { :response_body => "body" } } - - it "returns response_body from options" do - expect(response.response_body).to eq("body") - end - end - - context "when body" do - let(:options) { { :body => "body" } } - - it "returns body from options" do - expect(response.body).to eq("body") - end - end - end - - describe "#response_headers" do - let(:options) { { :response_headers => "Length: 1" } } - - context "when no mock" do - it "returns response_headers from options" do - expect(response.response_headers).to eq("Length: 1") - end - end - - context "when mock" do - context "when no response_headers" do - context "when headers" do - let(:options) { { :mock => true, :headers => {"Length" => 1, "Content-Type" => "text/plain" } } } - - it "constructs response_headers" do - expect(response.response_headers).to include("Length: 1") - expect(response.response_headers).to include("Content-Type: text/plain") - expect(response.response_headers).to include("\r\n") - end - end - - context "when multiple values for a header" do - let(:options) { { :mock => true, :headers => {"Length" => 1, "Content-Type" => "text/plain", "set-cookie" => ["cookieone=one","cookietwo=two"] } } } - - it "constructs response_headers" do - expect(response.response_headers).to include("Length: 1") - expect(response.response_headers).to include("Content-Type: text/plain") - expect(response.response_headers).to include("set-cookie: cookieone=one,cookietwo=two") - expect(response.response_headers).to include("\r\n") - end - end - end - end - end - - describe "#response_code" do - context "when response_code" do - let(:options) { { :response_code => "200" } } - - it "returns response_code from options" do - expect(response.response_code).to eq(200) - end - end - - context "when code" do - let(:options) { { :code => "200" } } - - it "returns code from options" do - expect(response.code).to eq(200) - end - end - end - - describe "#httpauth_avail" do - let(:options) { { :httpauth_avail => "code" } } - - it "returns httpauth_avail from options" do - expect(response.httpauth_avail).to eq("code") - end - end - - describe "#total_time" do - let(:options) { { :total_time => 1 } } - - it "returns total_time from options" do - expect(response.total_time).to eq(1) - end - end - - describe "#starttransfer_time" do - let(:options) { { :starttransfer_time => 1 } } - - it "returns starttransfer_time from options" do - expect(response.starttransfer_time).to eq(1) - end - end - - describe "#appconnect_time" do - let(:options) { { :appconnect_time => 1 } } - - it "returns appconnect_time from options" do - expect(response.appconnect_time).to eq(1) - end - end - - describe "#pretransfer_time" do - let(:options) { { :pretransfer_time => 1 } } - - it "returns pretransfer_time from options" do - expect(response.pretransfer_time).to eq(1) - end - end - - describe "#connect_time" do - let(:options) { { :connect_time => 1 } } - - it "returns connect_time from options" do - expect(response.connect_time).to eq(1) - end - end - - describe "#namelookup_time" do - let(:options) { { :namelookup_time => 1 } } - - it "returns namelookup_time from options" do - expect(response.namelookup_time).to eq(1) - end - end - - describe "#redirect_time" do - let(:options) { { :redirect_time => 1 } } - - it "returns redirect_time from options" do - expect(response.redirect_time).to eq(1) - end - end - - describe "#effective_url" do - let(:options) { { :effective_url => "http://www.example.com" } } - - it "returns effective_url from options" do - expect(response.effective_url).to eq("http://www.example.com") - end - end - - describe "#primary_ip" do - let(:options) { { :primary_ip => "127.0.0.1" } } - - it "returns primary_ip from options" do - expect(response.primary_ip).to eq("127.0.0.1") - end - end - - describe "#redirect_count" do - let(:options) { { :redirect_count => 2 } } - - it "returns redirect_count from options" do - expect(response.redirect_count).to eq(2) - end - end - - describe "#request_size" do - let(:options) { { :request_size => 2 } } - - it "returns request_size from options" do - expect(response.request_size).to eq(2) - end - end - - describe "#headers" do - context "when no response_headers" do - it "returns nil" do - expect(response.headers).to be_nil - end - end - - context "when response_headers" do - let(:options) { {:response_headers => "Expire: -1\nServer: gws"} } - - it "returns nonempty headers" do - expect(response.headers).to_not be_empty - end - - it "has Expire" do - expect(response.headers['expire']).to eq('-1') - end - - it "has Server" do - expect(response.headers['server']).to eq('gws') - end - end - - context "when multiple headers" do - let(:options) { {:response_headers => "Server: A\r\n\r\nServer: B"} } - - it "returns the last" do - expect(response.headers['server']).to eq("B") - end - end - - context "when mock" do - context "when headers" do - let(:options) { {:mock => true, :headers => {"Length" => "1"}} } - - it "returns Typhoeus::Response::Header" do - expect(response.headers).to be_a(Typhoeus::Response::Header) - end - - it "returns headers" do - expect(response.headers.to_hash).to include("Length" => "1") - end - end - end - - context "when requesting" do - let(:response) { Typhoeus.get("localhost:3001") } - - it "returns headers" do - expect(response.headers).to_not be_empty - end - end - end - - describe "#redirections" do - context "when no response_headers" do - it "returns empty array" do - expect(response.redirections).to be_empty - end - end - - context "when headers" do - let(:options) { {:response_headers => "Expire: -1\nServer: gws"} } - - it "returns empty array" do - expect(response.redirections).to be_empty - end - end - - context "when multiple headers" do - let(:options) { {:response_headers => "Server: A\r\n\r\nServer: B"} } - - it "returns response from all but last headers" do - expect(response.redirections.size).to eq(1) - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/status_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/status_spec.rb deleted file mode 100644 index 64ba1e0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response/status_spec.rb +++ /dev/null @@ -1,256 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Response::Status do - let(:response) { Typhoeus::Response.new(options) } - let(:options) { {} } - - describe "timed_out?" do - context "when return code is operation_timedout" do - let(:options) { {:return_code => :operation_timedout} } - - it "return true" do - expect(response).to be_timed_out - end - end - end - - describe "#status_message" do - context "when no header" do - it "returns nil" do - expect(response.status_message).to be_nil - end - end - - context "when header" do - context "when no message" do - let(:options) { {:response_headers => "HTTP/1.1 200\r\n"} } - - it "returns nil" do - expect(response.status_message).to be_nil - end - end - - context "when messsage" do - let(:options) { {:response_headers => "HTTP/1.1 200 message\r\n"} } - - it "returns message" do - expect(response.status_message).to eq("message") - end - end - end - end - - describe "#http_version" do - context "when no header" do - it "returns nil" do - expect(response.http_version).to be_nil - end - end - - context "when header" do - context "when no http version" do - let(:options) { {:response_headers => "HTTP OK"} } - - it "returns nil" do - expect(response.http_version).to be_nil - end - end - - context "when invalid http_version" do - let(:options) { {:response_headers => "HTTP foo/bar OK"} } - - it "returns nil" do - expect(response.http_version).to be_nil - end - end - - context "when valid http_version" do - let(:options) { {:response_headers => "HTTP/1.1 OK"} } - - it "returns http_version" do - expect(response.http_version).to eq("1.1") - end - end - end - end - - describe "#success?" do - context "when response code 200-299" do - let(:options) { {:return_code => return_code, :response_code => 201} } - - context "when mock" do - before { response.mock = true } - - context "when return_code :ok" do - let(:return_code) { :ok } - - it "returns true" do - expect(response.success?).to be_truthy - end - end - - context "when return_code nil" do - let(:return_code) { nil } - - it "returns true" do - expect(response.success?).to be_truthy - end - end - end - - context "when no mock" do - before { response.mock = nil } - - context "when return_code :ok" do - let(:return_code) { :ok } - - it "returns true" do - expect(response.success?).to be_truthy - end - end - - context "when return_code nil" do - let(:return_code) { nil } - - it "returns false" do - expect(response.success?).to be_falsey - end - end - end - end - - context "when response code is not 200-299" do - let(:options) { {:return_code => :ok, :response_code => 500} } - - it "returns false" do - expect(response.success?).to be_falsey - end - end - end - - describe "#failure?" do - context "when response code between 300-526 and 100-300" do - let(:options) { {:return_code => return_code, :response_code => 300} } - - context "when mock" do - before { response.mock = true } - - context "when return_code :internal_server_error" do - let(:return_code) { :internal_server_error } - - it "returns true" do - expect(response.failure?).to be_truthy - end - end - - context "when return_code nil" do - let(:return_code) { nil } - - it "returns true" do - expect(response.failure?).to be_truthy - end - end - end - - context "when no mock" do - before { response.mock = nil } - - context "when return_code :internal_server_error" do - let(:return_code) { :internal_server_error } - - it "returns true" do - expect(response.failure?).to be_truthy - end - end - - context "when return_code nil" do - let(:return_code) { nil } - - it "returns false" do - expect(response.failure?).to be_falsey - end - end - end - end - - context "when response code is not 300-526" do - let(:options) { {:return_code => :ok, :response_code => 200} } - - it "returns false" do - expect(response.failure?).to be_falsey - end - end - end - - describe "#modified?" do - context "when response code 304" do - let(:options) { {:return_code => :ok, :response_code => 304} } - - context "when mock" do - before { response.mock = true } - - context "when return_code :ok" do - let(:return_code) { :ok } - - it "returns false" do - expect(response.modified?).to be_falsey - end - end - - context "when return_code nil" do - let(:return_code) { nil } - - it "returns false" do - expect(response.modified?).to be_falsey - end - end - end - - context "when no mock" do - before { response.mock = nil } - - context "when return_code :ok" do - let(:return_code) { :ok } - - it "returns false" do - expect(response.modified?).to be_falsey - end - end - - context "when return_code nil" do - let(:return_code) { nil } - - it "returns true" do - expect(response.modified?).to be_falsey - end - end - end - end - - context "when response code is not 304" do - let(:options) { {:return_code => :ok, :response_code => 500} } - - it "returns true" do - expect(response.modified?).to be_truthy - end - end - end - - describe "#first_header_line" do - context "when multiple header" do - let(:options) { {:response_headers => "1\r\n\r\n2\r\nbla"} } - - it "returns first line of last block" do - expect(response.method(:first_header_line).call).to eq("2") - end - end - - context "when single header" do - let(:options) { {:response_headers => "1"} } - - it "returns first line" do - expect(response.method(:first_header_line).call).to eq("1") - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response_spec.rb deleted file mode 100644 index 02512f4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus/response_spec.rb +++ /dev/null @@ -1,100 +0,0 @@ -require 'spec_helper' - -describe Typhoeus::Response do - let(:response) { Typhoeus::Response.new(options) } - let(:options) { {} } - - describe ".new" do - context "when options" do - context "when return_code" do - let(:options) { {:return_code => 2} } - - it "stores" do - expect(response.options[:return_code]).to be(2) - end - end - - context "when headers" do - let(:options) { {:headers => {'A' => 'B'}} } - - it "stores unmodified" do - expect(response.options[:headers]).to be(options[:headers]) - end - - it "sets @headers to a Typhoeus::Response::Header" do - expect(response.instance_variable_get(:@headers)).to be_a(Typhoeus::Response::Header) - end - - it "has key" do - expect(response.headers['A']).to eq('B') - end - end - end - end - - describe "#mock" do - context "when @mock" do - before { response.mock = true } - - it "returns @mock" do - expect(response.mock).to be_truthy - end - end - - context "when options[:mock]" do - let(:options) { {:mock => true} } - - it "returns options[:mock]" do - expect(response.mock).to be_truthy - end - end - - context "when @mock and options[:mock]" do - let(:options) { {:mock => 1} } - before { response.mock = 2 } - - it "returns @mock" do - expect(response.mock).to be(2) - end - end - end - - describe "#handled_response" do - let(:handled_response) { Typhoeus::Response.new } - - context "when @handled_response" do - before { response.handled_response = handled_response } - - it "returns @handled_response" do - expect(response.handled_response).to be(handled_response) - end - end - - context "when @handled_response is nil" do - before { response.handled_response = nil } - - it "returns response" do - expect(response.handled_response).to be(response) - end - end - end - - describe "#cached" do - context "when @cached" do - before { response.cached = true } - - it "returns cached status" do - expect(response.cached?).to be_truthy - end - end - - context "when @cached is nil" do - before { response.cached = nil } - - it "returns false" do - expect(response.cached?).to be_falsey - end - end - - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus_spec.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus_spec.rb deleted file mode 100644 index 6432c8d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/spec/typhoeus_spec.rb +++ /dev/null @@ -1,105 +0,0 @@ -require 'spec_helper' - -describe Typhoeus do - before(:each) do - Typhoeus.configure { |config| config.verbose = false; config.block_connection = false } - end - - describe ".configure" do - it "yields config" do - Typhoeus.configure do |config| - expect(config).to be_a(Typhoeus::Config) - end - end - - it "sets values config" do - Typhoeus::Config.verbose = true - expect(Typhoeus::Config.verbose).to be_truthy - end - end - - describe ".stub" do - let(:base_url) { "www.example.com" } - - shared_examples "lazy response construction" do - it "calls the block to construct a response when a request matches the stub" do - expected_response = Typhoeus::Response.new - Typhoeus.stub(base_url) do |request| - expected_response - end - - response = Typhoeus.get(base_url) - - expect(response).to be(expected_response) - end - end - - context "when no similar expectation exists" do - include_examples "lazy response construction" - - it "returns expectation" do - expect(Typhoeus.stub(base_url)).to be_a(Typhoeus::Expectation) - end - - it "adds expectation" do - Typhoeus.stub(:get, "") - expect(Typhoeus::Expectation.all.size).to eq(1) - end - end - - context "when similar expectation exists" do - include_examples "lazy response construction" - - let(:expectation) { Typhoeus::Expectation.new(base_url) } - before { Typhoeus::Expectation.all << expectation } - - it "returns expectation" do - expect(Typhoeus.stub(base_url)).to be_a(Typhoeus::Expectation) - end - - it "doesn't add expectation" do - Typhoeus.stub(base_url) - expect(Typhoeus::Expectation.all.size).to eq(1) - end - end - end - - describe ".before" do - it "adds callback" do - Typhoeus.before { true } - expect(Typhoeus.before.size).to eq(1) - end - end - - describe ".with_connection" do - it "executes block with block connection is false" do - Typhoeus.with_connection { expect(Typhoeus::Config.block_connection).to be(false) } - end - - it "sets block connection back to previous value" do - Typhoeus::Config.block_connection = true - Typhoeus.with_connection {} - expect(Typhoeus::Config.block_connection).to be(true) - end - - it "returns result of block" do - expect(Typhoeus.with_connection { "123" }).to eq("123") - end - end - - [:get, :post, :put, :delete, :head, :patch, :options].each do |name| - describe ".#{name}" do - let(:response) { Typhoeus::Request.method(name).call("http://localhost:3001") } - - it "returns ok" do - expect(response.return_code).to eq(:ok) - end - - unless name == :head - it "makes #{name.to_s.upcase} requests" do - expect(response.response_body).to include("\"REQUEST_METHOD\":\"#{name.to_s.upcase}\"") - end - end - end - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/typhoeus.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/typhoeus.gemspec deleted file mode 100644 index 39bcc7a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/typhoeus-1.4.0/typhoeus.gemspec +++ /dev/null @@ -1,25 +0,0 @@ -# encoding: utf-8 -lib = File.expand_path('../lib/', __FILE__) -$:.unshift lib unless $:.include?(lib) - -require 'typhoeus/version' - -Gem::Specification.new do |s| - s.name = "typhoeus" - s.version = Typhoeus::VERSION - s.platform = Gem::Platform::RUBY - s.authors = ["David Balatero", "Paul Dix", "Hans Hasselberg"] - s.email = ["hans.hasselberg@gmail.com"] - s.homepage = "https://github.com/typhoeus/typhoeus" - s.summary = "Parallel HTTP library on top of libcurl multi." - s.description = %q{Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.} - - s.required_rubygems_version = ">= 1.3.6" - s.license = 'MIT' - - s.add_dependency('ethon', [">= 0.9.0"]) - - s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") - s.require_path = 'lib' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/.yardopts b/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/.yardopts deleted file mode 100644 index 52f74b7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/.yardopts +++ /dev/null @@ -1,9 +0,0 @@ ---markup markdown ---no-private ---protected ---readme README.md -lib/**/*.rb -- -CHANGES.md -LICENSE -README.md diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/CHANGES.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/CHANGES.md deleted file mode 100644 index 8ed356e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/CHANGES.md +++ /dev/null @@ -1,1026 +0,0 @@ -# Changes - -## Version 2.0.6 - 28-Jan-2023 - -* Eliminate `Object#untaint` deprecation warnings on JRuby 9.4.0.0. #145. - - -## Version 2.0.5 - 19-Jul-2022 - -* Changed `DateTime` results to always use the proleptic Gregorian calendar. - This affects `DateTime` results prior to 1582-10-15 and any arithmetic - performed on the results that would produce a secondary result prior to - 1582-10-15. -* Added support for eager loading all the time zone and country data by calling - either `TZInfo::DataSource#eager_load!` or `TZInfo.eager_load!`. Compatible - with Ruby On Rails' `eager_load_namespaces`. #129. -* Ignore the SECURITY file from Arch Linux's tzdata package. #134. - - -## Version 2.0.4 - 16-Dec-2020 - -* Fixed an incorrect `InvalidTimezoneIdentifier` exception raised when loading a - zoneinfo file that includes rules specifying an additional transition to the - final defined offset (for example, Africa/Casablanca in version 2018e of the - Time Zone Database). #123. - - -## Version 2.0.3 - 8-Nov-2020 - -* Added support for handling "slim" format zoneinfo files that are produced by - default by zic version 2020b and later. The POSIX-style TZ string is now used - calculate DST transition times after the final defined transition in the file. - #120. -* Fixed `TimeWithOffset#getlocal` returning a `TimeWithOffset` with the - `timezone_offset` still assigned when called with an offset argument on JRuby - 9.3. -* Rubinius is no longer supported. - - -## Version 2.0.2 - 2-Apr-2020 - -* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114. -* Fixed warnings when running on Ruby 2.8. #113. - - -## Version 2.0.1 - 24-Dec-2019 - -* Fixed "SecurityError: Insecure operation - require" exceptions when loading - data with recent Ruby releases in safe mode. #100. -* Fixed warnings when running on Ruby 2.7. #109. -* Added a `TZInfo::Timezone#=~` method that performs a regex match on the time - zone identifier. #99. -* Added a `TZInfo::Country#=~` method that performs a regex match on the country - code. - - -## Version 2.0.0 - 26-Dec-2018 - -### Added - -* `to_local` and `period_for` instance methods have been added to - `TZInfo::Timezone`. These are similar to `utc_to_local` and `period_for_utc`, - but take the UTC offset of the given time into account. -* `abbreviation`, `dst?`, `base_utc_offset` and `observed_utc_offset` instance - methods have been added to `TZInfo::Timezone`, returning the abbreviation, - whether daylight savings time is in effect and the UTC offset of the time zone - at a specified time. -* A `TZInfo::Timestamp` class has been added. It can be used with - `TZInfo::Timezone` in place of a `Time` or `DateTime`. -* `local_time`, `local_datetime` and `local_timestamp` instance methods have - been added to `TZInfo::Timezone`. These methods construct local `Time`, - `DateTime` and `TZInfo::Timestamp` instances with the correct UTC offset and - abbreviation for the time zone. -* Support for a (yet to be released) version 2 of tzinfo-data has been added, in - addition to support for version 1. The new version will remove the (no longer - needed) `DateTime` parameters from transition times, reduce memory consumption - and improve the efficiency of loading timezone and country indexes. -* A `TZInfo::VERSION` constant has been added, indicating the TZInfo version - number. - -### Changed - -* The minimum supported Ruby versions are now Ruby MRI 1.9.3, JRuby 1.7 (in 1.9 - or later mode) and Rubinius 3. -* Local times are now returned using the correct UTC offset (instead of using - UTC). #49 and #52. -* Local times are returned as instances of `TimeWithOffset`, - `DateTimeWithOffset` or `TZInfo::TimestampWithOffset`. These classes subclass - `Time`, `DateTime` and `TZInfo::Timestamp` respectively. They override the - default behaviour of the base classes to return information about the observed - offset at the indicated time. For example, the zone abbreviation is returned - when using the `%Z` directive with `strftime`. -* The `transitions_up_to`, `offsets_up_to` and `strftime` instance methods of - `TZInfo::Timezone` now take the UTC offsets of given times into account - (instead of ignoring them as was previously the case). -* The `TZInfo::TimezonePeriod` class has been split into two subclasses: - `TZInfo::OffsetTimezonePeriod` and `TZInfo::TransitionsTimezonePeriod`. - `TZInfo::OffsetTimezonePeriod` is returned for time zones that only have a - single offset. `TZInfo::TransitionsTimezonePeriod` is returned for periods - that start or end with a transition. -* `TZInfo::TimezoneOffset#abbreviation`, `TZInfo::TimezonePeriod#abbreviation` - and `TZInfo::TimezonePeriod#zone_identifier` now return frozen `String` - instances instead of instances of `Symbol`. -* The `utc_offset` and `utc_total_offset` attributes of `TZInfo::TimezonePeriod` - and `TZInfo::TimezoneOffset` have been renamed `base_utc_offset` and - `observed_utc_offset` respectively. The former names have been retained as - aliases. -* `TZInfo::Timezone.get`, `TZInfo::Timezone.get_proxy` and `TZInfo::Country.get` - can now be used with strings having any encoding. Previously, only encodings - that are directly comparable with UTF-8 were supported. -* The requested identifier is included in `TZInfo::InvalidTimezoneIdentifier` - exception messages. -* The requested country code is included in `TZInfo::InvalidCountryCode` - exception messages. -* The full range of transitions is now loaded from zoneinfo files. Zoneinfo - files produced with version 2014c of the `zic` tool contain an initial - transition `2**63` seconds before the epoch. Zoneinfo files produced with - version 2014d or later of `zic` contain an initial transition `2**59` seconds - before the epoch. These transitions would previously have been ignored, but - are now returned in methods such as `TZInfo::Timezone#transitions_up_to`. -* The `TZInfo::RubyDataSource` and `TZInfo::ZoneinfoDataSource` classes have - been moved into a new `TZInfo::DataSources` module. Code that is setting - `TZInfo::ZoneinfoDataSource.search_path` or - `TZInfo::ZoneinfoDataSource.alternate_iso3166_tab_search_path` will need to be - updated accordingly. -* The `TZInfo::InvalidZoneinfoDirectory` and `TZInfo::ZoneinfoDirectoryNotFound` - exception classes raised by `TZInfo::DataSources::ZoneinfoDataSource` have - been moved into the `TZInfo::DataSources` module. -* Setting the data source to `:ruby` or instantiating - `TZInfo::DataSources::RubyDataSource` will now immediately raise a - `TZInfo::DataSources::TZInfoDataNotFound` exception if `require 'tzinfo/data'` - fails. Previously, a failure would only occur later when accessing an index or - loading a timezone or country. -* The `DEFAULT_SEARCH_PATH` and `DEFAULT_ALTERNATE_ISO3166_TAB_SEARCH_PATH` - constants of `TZInfo::DataSources::ZoneinfoDataSource` have been made private. -* The `TZInfo::Country.data_source`, - `TZInfo::DataSource.create_default_data_source`, - `TZInfo::DataSources::ZoneinfoDataSource.process_search_path`, - `TZInfo::Timezone.get_proxies` and `TZInfo::Timezone.data_source` methods have - been made private. -* The performance of loading zoneinfo files and the associated indexes has been - improved. -* Memory use has been decreased by deduplicating `String` instances when loading - country and time zone data. -* The dependency on the deprecated thread_safe gem as been removed and replaced - by concurrent-ruby. -* The Info classes used to return time zone and country information from - `TZInfo::DataSource` implementations have been moved into the - `TZInfo::DataSources` module. -* The `TZInfo::TransitionDataTimezoneInfo` class has been removed and replaced - with `TZInfo::DataSources::TransitionsDataTimezoneInfo` and - `TZInfo::DataSources::ConstantOffsetDataTimezoneInfo`. - `TZInfo::DataSources::TransitionsDataTimezoneInfo` is constructed with an - `Array` of `TZInfo::TimezoneTransition` instances representing times when the - offset changes. `TZInfo::DataSources::ConstantOffsetDataTimezoneInfo` is - constructed with a `TZInfo::TimezoneOffset` instance representing the offset - constantly observed in a time zone. -* The `TZInfo::DataSource#timezone_identifiers` method should no longer be - overridden in custom data source implementations. The implementation in the - base class now calculates a result from - `TZInfo::DataSource#data_timezone_identifiers` and - `TZInfo::DataSource#linked_timezone_identifiers`. -* The results of the `TZInfo::DataSources::RubyDataSource` `to_s` and `inspect` - methods now include the time zone database and tzinfo-data versions. - - -### Removed - -* Methods of `TZInfo::Timezone` that accept time arguments no longer allow - `Integer` timestamp values. `Time`, `DateTime` or `TZInfo::Timestamp` values - or objects that respond to `to_i`, `subsec` and optionally `utc_offset` must - be used instead. -* The `%:::z` format directive can now only be used with - `TZInfo::Timezone#strftime` if it is supported by `Time#strftime` on the - runtime platform. -* Using `TZInfo::Timezone.new(identifier)` and `TZInfo::Country.new(code)` to - obtain a specific `TZInfo::Timezone` or `TZInfo::Country` will no longer work. - `TZInfo::Timezone.get(identifier)` and `TZInfo::Country.get(code)` should be - used instead. -* The `TZInfo::TimeOrDateTime` class has been removed. -* The `valid_for_utc?`, `utc_after_start?`, `utc_before_end?`, - `valid_for_local?`, `local_after_start?` and `local_before_end?` instance - methods of `TZInfo::TimezonePeriod` have been removed. Comparisons can be - performed with the results of the `starts_at`, `ends_at`, `local_starts_at` - and `local_ends_at` methods instead. -* The `to_local` and `to_utc` instance methods of `TZInfo::TimezonePeriod` and - `TZInfo::TimezoneOffset` have been removed. Conversions should be performed - using the `TZInfo::Timezone` class instead. -* The `TZInfo::TimezonePeriod#utc_total_offset_rational` method has been - removed. Equivalent information can be obtained using the - `TZInfo::TimezonePeriod#observed_utc_offset` method. -* The `datetime`, `time`, `local_end`, `local_end_time`, `local_start` and - `local_start_time` instance methods of `TZInfo::TimezoneTransition` have been - removed. The `at`, `local_end_at` and `local_start_at` methods should be used - instead and the result (a `TZInfo::TimestampWithOffset`) converted to either a - `DateTime` or `Time` by calling `to_datetime` or `to_time` on the result. -* The `us_zones` and `us_zone_identifiers` class methods of `TZInfo::Timezone` - have been removed. `TZInfo::Country.get('US').zones` and - `TZInfo::Country.get('US').zone_identifiers` should be used instead. - - -## Version 1.2.11 - 28-Jan-2023 - -* Eliminate `Object#untaint` deprecation warnings on JRuby 9.4.0.0. #145. - - -## Version 1.2.10 - 19-Jul-2022 - -* Fixed a relative path traversal bug that could cause arbitrary files to be - loaded with `require` when used with `RubyDataSource`. Please refer to - <https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx> for - details. CVE-2022-31163. -* Ignore the SECURITY file from Arch Linux's tzdata package. #134. - - -## Version 1.2.9 - 16-Dec-2020 - -* Fixed an incorrect `InvalidTimezoneIdentifier` exception raised when loading a - zoneinfo file that includes rules specifying an additional transition to the - final defined offset (for example, Africa/Casablanca in version 2018e of the - Time Zone Database). #123. - - -## Version 1.2.8 - 8-Nov-2020 - -* Added support for handling "slim" format zoneinfo files that are produced by - default by zic version 2020b and later. The POSIX-style TZ string is now used - calculate DST transition times after the final defined transition in the file. - The 64-bit section is now always used regardless of whether Time has support - for 64-bit times. #120. -* Rubinius is no longer supported. - - -## Version 1.2.7 - 2-Apr-2020 - -* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114. -* Fixed warnings when running on Ruby 2.8. #112. - - -## Version 1.2.6 - 24-Dec-2019 - -* `Timezone#strftime('%s', time)` will now return the correct number of seconds - since the epoch. #91. -* Removed the unused `TZInfo::RubyDataSource::REQUIRE_PATH` constant. -* Fixed "SecurityError: Insecure operation - require" exceptions when loading - data with recent Ruby releases in safe mode. -* Fixed warnings when running on Ruby 2.7. #106 and #111. - - -## Version 1.2.5 - 4-Feb-2018 - -* Support recursively (deep) freezing `Country` and `Timezone` instances. #80. -* Allow negative daylight savings time offsets to be derived when reading from - zoneinfo files. The utc_offset and std_offset are now derived correctly for - Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database. - - -## Version 1.2.4 - 26-Oct-2017 - -* Ignore the leapseconds file that is included in zoneinfo directories installed - with version 2017c and later of the Time Zone Database. - - -## Version 1.2.3 - 25-Mar-2017 - -* Reduce the number of `String` objects allocated when loading zoneinfo files. - #54. -* Make `Timezone#friendly_identifier` compatible with frozen string literals. -* Improve the algorithm for deriving the `utc_offset` from zoneinfo files. This - now correctly handles Pacific/Apia switching from one side of the - International Date Line to the other whilst observing daylight savings time. - #66. -* Fix an `UnknownTimezone` exception when calling transitions_up_to or - offsets_up_to on a `TimezoneProxy` instance obtained from - `Timezone.get_proxy`. -* Allow the Factory zone to be obtained from the Zoneinfo data source. -* Ignore the /usr/share/zoneinfo/timeconfig symlink included in Slackware - distributions. #64. -* Fix `Timezone#strftime` handling of `%Z` expansion when `%Z` is prefixed with - more than one percent. #31. -* Support expansion of `%z`, `%:z`, `%::z` and `%:::z` to the UTC offset of the - time zone in `Timezone#strftime`. #31 and #67. - - -## Version 1.2.2 - 8-Aug-2014 - -* Fix an error with duplicates being returned by `Timezone#all_country_zones` - and `Timezone#all_country_zone_identifiers` when used with tzinfo-data - v1.2014.6 or later. -* Use the zone1970.tab file for country timezone data if it is found in the - zoneinfo directory (and fallback to zone.tab if not). zone1970.tab was added - in tzdata 2014f. zone.tab is now deprecated. - - -## Version 1.2.1 - 1-Jun-2014 - -* Support zoneinfo files generated with zic version 2014c and later. -* On platforms that only support positive 32-bit timestamps, ensure that - conversions are accurate from the epoch instead of just from the first - transition after the epoch. -* Minor documentation improvements. - - -## Version 1.2.0 - 26-May-2014 - -* Raise the minimum supported Ruby version to 1.8.7. -* Support loading system zoneinfo data on FreeBSD, OpenBSD and Solaris. - Resolves #15. -* Add `canonical_identifier` and `canonical_zone` methods to `Timezone`. - Resolves #16. -* Add a link to a `DataSourceNotFound` help page in the - `TZInfo::DataSourceNotFound` exception message. -* Load iso3166.tab and zone.tab files as UTF-8. -* Fix `Timezone#local_to_utc` returning local `Time` instances on systems using - UTC as the local time zone. Resolves #13. -* Fix `==` methods raising an exception when passed an instance of a different - class by making `<=>` return `nil` if passed a non-comparable argument. -* Eliminate `require 'rational'` warnings. Resolves #10. -* Eliminate "assigned but unused variable - info" warnings. Resolves #11. -* Switch to minitest v5 for unit tests. Resolves #18. - - -## Version 1.1.0 - 25-Sep-2013 - -* TZInfo is now thread safe. `ThreadSafe::Cache` is now used instead of `Hash` - to cache `Timezone` and `Country` instances returned by `Timezone.get` and - `Country.get`. The tzinfo gem now depends on thread_safe ~> 0.1. -* Added a `transitions_up_to` method to `Timezone` that returns a list of the - times where the UTC offset of the timezone changes. -* Added an `offsets_up_to` method to `Timezone` that returns the set of offsets - that have been observed in a defined timezone. -* Fixed a "can't modify frozen String" error when loading a `Timezone` from a - zoneinfo file using an identifier `String` that is both tainted and frozen. - Resolves #3. -* Support TZif3 format zoneinfo files (now produced by zic from tzcode version - 2013e onwards). -* Support using YARD to generate documentation (added a .yardopts file). -* Ignore the +VERSION file included in the zoneinfo directory on Mac OS X. -* Added a note to the documentation concerning 32-bit zoneinfo files (as - included with Mac OS X). - - -## Version 1.0.1 - 22-Jun-2013 - -* Fix a test case failure when tests are run from a directory that contains a - dot in the path (issue #29751). - - -## Version 1.0.0 - 2-Jun-2013 - -* Allow TZInfo to be used with different data sources instead of just the - built-in Ruby module data files. -* Include a data source that allows TZInfo to load data from the binary - zoneinfo files produced by zic and included with many Linux and Unix-like - distributions. -* Remove the definition and index Ruby modules from TZInfo and move them into - a separate TZInfo::Data library (available as the tzinfo-data gem). -* Default to using the TZInfo::Data library as the data source if it is - installed, otherwise use zoneinfo files instead. -* Preserve the nanoseconds of local timezone Time objects when performing - conversions (issue #29705). -* Don't add the tzinfo lib directory to the search path when requiring 'tzinfo'. - The tzinfo lib directory must now be in the search path before 'tzinfo' is - required. -* Add `utc_start_time`, `utc_end_time`, `local_start_time` and `local_end_time` - instance methods to `TimezonePeriod`. These return an identical value as the - existing `utc_start`, `utc_end`, `local_start` and `local_end` methods, but - return `Time` instances instead of `DateTime`. -* Make the `start_transition`, `end_transition` and `offset` properties of - `TimezonePeriod` protected. To access properties of the period, callers should - use other `TimezonePeriod` instance methods instead (issue #7655). - - -## Version 0.3.61 (tzdata v2022a) - 19-Jul-2022 - -* Fixed a relative path traversal bug that could cause arbitrary files to be - loaded with `require` from the Ruby load path. Please refer to - <https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx> for - details. CVE-2022-31163. -* Updated to tzdata version 2022a - (<https://mm.icann.org/pipermail/tz-announce/2022-March/000070.html>). - - -## Version 0.3.60 (tzdata v2021a) - 6-Feb-2021 - -* Updated to tzdata version 2021a - (<https://mm.icann.org/pipermail/tz-announce/2021-January/000065.html>). - - -## Version 0.3.59 (tzdata v2020e) - 24-Dec-2020 - -* Updated to tzdata version 2020e - (<https://mm.icann.org/pipermail/tz-announce/2020-December/000063.html>). - - -## Version 0.3.58 (tzdata v2020d) - 8-Nov-2020 - -* Updated to tzdata version 2020d - (<https://mm.icann.org/pipermail/tz-announce/2020-October/000062.html>). - - -## Version 0.3.57 (tzdata v2020a) - 17-May-2020 - -* Updated to tzdata version 2020a - (<https://mm.icann.org/pipermail/tz-announce/2020-April/000058.html>). - - -## Version 0.3.56 (tzdata v2019c) - 1-Nov-2019 - -* Updated to tzdata version 2019c - (<https://mm.icann.org/pipermail/tz-announce/2019-September/000057.html>). - - -## Version 0.3.55 (tzdata v2018g) - 27-Oct-2018 - -* Updated to tzdata version 2018g - (<https://mm.icann.org/pipermail/tz-announce/2018-October/000052.html>). - - -## Version 0.3.54 (tzdata v2018d) - 25-Mar-2018 - -* Updated to tzdata version 2018d - (<https://mm.icann.org/pipermail/tz-announce/2018-March/000049.html>). - - -## Version 0.3.53 (tzdata v2017b) - 23-Mar-2017 - -* Updated to tzdata version 2017b - (<https://mm.icann.org/pipermail/tz-announce/2017-March/000046.html>). - - -## Version 0.3.52 (tzdata v2016h) - 28-Oct-2016 - -* Updated to tzdata version 2016h - (<https://mm.icann.org/pipermail/tz-announce/2016-October/000042.html>). - - -## Version 0.3.51 (tzdata v2016f) - 5-Jul-2016 - -* Updated to tzdata version 2016f - (<https://mm.icann.org/pipermail/tz-announce/2016-July/000040.html>). - - -## Version 0.3.50 (tzdata v2016e) - 14-Jun-2016 - -* Updated to tzdata version 2016e - (<https://mm.icann.org/pipermail/tz-announce/2016-June/000039.html>). - - -## Version 0.3.49 (tzdata v2016d) - 18-Apr-2016 - -* Updated to tzdata version 2016d - (<https://mm.icann.org/pipermail/tz-announce/2016-April/000038.html>). - - -## Version 0.3.48 (tzdata v2016c) - 23-Mar-2016 - -* Updated to tzdata version 2016c - (<https://mm.icann.org/pipermail/tz-announce/2016-March/000037.html>). - - -## Version 0.3.47 (tzdata v2016b) - 15-Mar-2016 - -* Updated to tzdata version 2016b - (<https://mm.icann.org/pipermail/tz-announce/2016-March/000036.html>). - - -## Version 0.3.46 (tzdata v2015g) - 2-Dec-2015 - -* From version 2015e, the IANA time zone database uses non-ASCII characters in - country names. Backport the encoding handling from TZInfo::Data to allow - TZInfo 0.3.x to support Ruby 1.9 (which would otherwise fail with an invalid - byte sequence error when loading the countries index). Resolves #41. - - -## Version 0.3.45 (tzdata v2015g) - 3-Oct-2015 - -* Updated to tzdata version 2015g - (<https://mm.icann.org/pipermail/tz-announce/2015-October/000034.html>). - - -## Version 0.3.44 (tzdata v2015d) - 24-Apr-2015 - -* Updated to tzdata version 2015d - (<https://mm.icann.org/pipermail/tz-announce/2015-April/000031.html>). - - -## Version 0.3.43 (tzdata v2015a) - 31-Jan-2015 - -* Updated to tzdata version 2015a - (<https://mm.icann.org/pipermail/tz-announce/2015-January/000028.html>). - - -## Version 0.3.42 (tzdata v2014i) - 23-Oct-2014 - -* Updated to tzdata version 2014i - (<https://mm.icann.org/pipermail/tz-announce/2014-October/000026.html>). - - -## Version 0.3.41 (tzdata v2014f) - 8-Aug-2014 - -* Updated to tzdata version 2014f - (<https://mm.icann.org/pipermail/tz-announce/2014-August/000023.html>). - - -## Version 0.3.40 (tzdata v2014e) - 10-Jul-2014 - -* Updated to tzdata version 2014e - (<https://mm.icann.org/pipermail/tz-announce/2014-June/000022.html>). - - -## Version 0.3.39 (tzdata v2014a) - 9-Mar-2014 - -* Updated to tzdata version 2014a - (<https://mm.icann.org/pipermail/tz-announce/2014-March/000018.html>). - - -## Version 0.3.38 (tzdata v2013g) - 8-Oct-2013 - -* Updated to tzdata version 2013g - (<https://mm.icann.org/pipermail/tz-announce/2013-October/000015.html>). - - -## Version 0.3.37 (tzdata v2013b) - 11-Mar-2013 - -* Updated to tzdata version 2013b - (<https://mm.icann.org/pipermail/tz-announce/2013-March/000010.html>). - - -## Version 0.3.36 (tzdata v2013a) - 3-Mar-2013 - -* Updated to tzdata version 2013a - (<https://mm.icann.org/pipermail/tz-announce/2013-March/000009.html>). -* Fix `TimezoneTransitionInfo#eql?` incorrectly returning false when running on - Ruby 2.0. -* Change `eql?` and `==` implementations to test the class of the passed in - object instead of checking individual properties with `respond_to?`. - - -## Version 0.3.35 (tzdata v2012i) - 4-Nov-2012 - -* Updated to tzdata version 2012i - (<https://mm.icann.org/pipermail/tz-announce/2012-November/000007.html>). - - -## Version 0.3.34 (tzdata v2012h) - 27-Oct-2012 - -* Updated to tzdata version 2012h - (<https://mm.icann.org/pipermail/tz-announce/2012-October/000006.html>). - - -## Version 0.3.33 (tzdata v2012c) - 8-Apr-2012 - -* Updated to tzdata version 2012c - (<https://mm.icann.org/pipermail/tz/2012-April/017627.html>). - - -## Version 0.3.32 (tzdata v2012b) - 4-Mar-2012 - -* Updated to tzdata version 2012b - (<https://mm.icann.org/pipermail/tz/2012-March/017524.html>). - - -## Version 0.3.31 (tzdata v2011n) - 6-Nov-2011 - -* Updated to tzdata version 2011n - (<https://mm.icann.org/pipermail/tz/2011-October/017201.html>). - - -## Version 0.3.30 (tzdata v2011k) - 29-Sep-2011 - -* Updated to tzdata version 2011k - (<https://mm.icann.org/pipermail/tz/2011-September/008889.html>). - - -## Version 0.3.29 (tzdata v2011h) - 27-Jun-2011 - -* Updated to tzdata version 2011h - (<https://mm.icann.org/pipermail/tz/2011-June/008576.html>). -* Allow the default value of the `local_to_utc` and `period_for_local` `dst` - parameter to be specified globally with a `Timezone.default_dst` attribute. - Thanks to Kurt Werle for the suggestion and patch. - - -## Version 0.3.28 (tzdata v2011g) - 13-Jun-2011 - -* Add support for Ruby 1.9.3 (trunk revision 31668 and later). Thanks to - Aaron Patterson for reporting the problems running on the new version. - Closes #29233. - - -## Version 0.3.27 (tzdata v2011g) - 26-Apr-2011 - -* Updated to tzdata version 2011g - (<https://mm.icann.org/pipermail/tz/2011-April/016875.html>). - - -## Version 0.3.26 (tzdata v2011e) - 2-Apr-2011 - -* Updated to tzdata version 2011e - (<https://mm.icann.org/pipermail/tz/2011-April/016809.html>). - - -## Version 0.3.25 (tzdata v2011d) - 14-Mar-2011 - -* Updated to tzdata version 2011d - (<https://mm.icann.org/pipermail/tz/2011-March/016746.html>). - - -## Version 0.3.24 (tzdata v2010o) - 15-Jan-2011 - -* Updated to tzdata version 2010o - (<https://mm.icann.org/pipermail/tz/2010-November/016517.html>). - - -## Version 0.3.23 (tzdata v2010l) - 19-Aug-2010 - -* Updated to tzdata version 2010l - (<https://mm.icann.org/pipermail/tz/2010-August/016360.html>). - - -## Version 0.3.22 (tzdata v2010j) - 29-May-2010 - -* Corrected file permissions issue with 0.3.21 release. - - -## Version 0.3.21 (tzdata v2010j) - 28-May-2010 - -* Updated to tzdata version 2010j - (<https://mm.icann.org/pipermail/tz/2010-May/016211.html>). -* Change invalid timezone check to exclude characters not used in timezone - identifiers and avoid 'character class has duplicated range' warnings with - Ruby 1.9.2. -* Ruby 1.9.2 has deprecated `require 'rational'`, but older versions of - Ruby need rational to be required. Require rational only when the Rational - module has not already been loaded. -* Remove circular requires (now a warning in Ruby 1.9.2). Instead of using - requires in each file for dependencies, `tzinfo.rb` now requires all tzinfo - files. If you were previously requiring files within the tzinfo directory - (e.g. `require 'tzinfo/timezone'`), then you will now have to - `require 'tzinfo'` instead. - - -## Version 0.3.20 (tzdata v2010i) - 19-Apr-2010 - -* Updated to tzdata version 2010i - (<https://mm.icann.org/pipermail/tz/2010-April/016184.html>). - - -## Version 0.3.19 (tzdata v2010h) - 5-Apr-2010 - -* Updated to tzdata version 2010h - (<https://mm.icann.org/pipermail/tz/2010-April/016161.html>). - - -## Version 0.3.18 (tzdata v2010g) - 29-Mar-2010 - -* Updated to tzdata version 2010g - (<https://mm.icann.org/pipermail/tz/2010-March/016140.html>). - - -## Version 0.3.17 (tzdata v2010e) - 8-Mar-2010 - -* Updated to tzdata version 2010e - (<https://mm.icann.org/pipermail/tz/2010-March/016088.html>). - - -## Version 0.3.16 (tzdata v2009u) - 5-Jan-2010 - -* Support the use of '-' to denote '0' as an offset in the tz data files. - Used for the first time in the SAVE field in tzdata v2009u. -* Updated to tzdata version 2009u - (<https://mm.icann.org/pipermail/tz/2009-December/016001.html>). - - -## Version 0.3.15 (tzdata v2009p) - 26-Oct-2009 - -* Updated to tzdata version 2009p - (<https://mm.icann.org/pipermail/tz/2009-October/015889.html>). -* Added a description to the gem spec. -* List test files in test_files instead of files in the gem spec. - - -## Version 0.3.14 (tzdata v2009l) - 19-Aug-2009 - -* Updated to tzdata version 2009l - (<https://mm.icann.org/pipermail/tz/2009-August/015729.html>). -* Include current directory in load path to allow running tests on - Ruby 1.9.2, which doesn't include it by default any more. - - -## Version 0.3.13 (tzdata v2009f) - 15-Apr-2009 - -* Updated to tzdata version 2009f - (<https://mm.icann.org/pipermail/tz/2009-April/015544.html>). -* Untaint the timezone module filename after validation to allow use - with `$SAFE == 1` (e.g. under mod_ruby). Thanks to Dmitry Borodaenko for - the suggestion. Closes #25349. - - -## Version 0.3.12 (tzdata v2008i) - 12-Nov-2008 - -* Updated to tzdata version 2008i - (<https://mm.icann.org/pipermail/tz/2008-October/015260.html>). - - -## Version 0.3.11 (tzdata v2008g) - 7-Oct-2008 - -* Updated to tzdata version 2008g - (<https://mm.icann.org/pipermail/tz/2008-October/015139.html>). -* Support Ruby 1.9.0-5. `Rational.new!` has now been removed in Ruby 1.9. - Only use `Rational.new!` if it is available (it is preferable in Ruby 1.8 - for performance reasons). Thanks to Jeremy Kemper and Pratik Naik for - reporting this. Closes #22312. -* Apply a patch from Pratik Naik to replace assert calls that have been - deprecated in the Ruby svn trunk. Closes #22308. - - -## Version 0.3.10 (tzdata v2008f) - 16-Sep-2008 - -* Updated to tzdata version 2008f - (<https://mm.icann.org/pipermail/tz/2008-September/015090.html>). - - -## Version 0.3.9 (tzdata v2008c) - 27-May-2008 - -* Updated to tzdata version 2008c - (<https://mm.icann.org/pipermail/tz/2008-May/014956.html>). -* Support loading timezone data in the latest trunk versions of Ruby 1.9. - `Rational.new!` is now private, so call it using `Rational.send :new!` - instead. Thanks to Jeremy Kemper and Pratik Naik for spotting this. Closes - #19184. -* Prevent warnings from being output when running Ruby with the -v or -w - command line options. Thanks to Paul McMahon for the patch. Closes #19719. - - -## Version 0.3.8 (tzdata v2008b) - 24-Mar-2008 - -* Updated to tzdata version 2008b - (<https://mm.icann.org/pipermail/tz/2008-March/014910.html>). -* Support loading timezone data in Ruby 1.9.0. Use `DateTime.new!` if it is - available instead of `DateTime.new0` when constructing transition times. - `DateTime.new!` was added in Ruby 1.8.6. `DateTime.new0` was removed in - Ruby 1.9.0. Thanks to Joshua Peek for reporting this. Closes #17606. -* Modify some of the equality test cases to cope with the differences - between Ruby 1.8.6 and Ruby 1.9.0. - - -## Version 0.3.7 (tzdata v2008a) - 10-Mar-2008 - -* Updated to tzdata version 2008a - (<https://mm.icann.org/pipermail/tz/2008-March/014851.html>). - - -## Version 0.3.6 (tzdata v2007k) - 1-Jan-2008 - -* Updated to tzdata version 2007k - (<https://mm.icann.org/pipermail/tz/2007-December/014765.html>). -* Removed deprecated RubyGems autorequire option. - - -## Version 0.3.5 (tzdata v2007h) - 1-Oct-2007 - -* Updated to tzdata version 2007h - (<https://mm.icann.org/pipermail/tz/2007-October/014585.html>). - - -## Version 0.3.4 (tzdata v2007g) - 21-Aug-2007 - -* Updated to tzdata version 2007g - (<https://mm.icann.org/pipermail/tz/2007-August/014499.html>). - - -## Version 0.3.3 (tzdata v2006p) - 27-Nov-2006 - -* Updated to tzdata version 2006p - (<https://mm.icann.org/pipermail/tz/2006-November/013999.html>). - - -## Version 0.3.2 (tzdata v2006n) - 11-Oct-2006 - -* Updated to tzdata version 2006n - (<https://mm.icann.org/pipermail/tz/2006-October/013911.html>). Note that this - release of tzdata removes the country Serbia and Montenegro (CS) and replaces - it with separate Serbia (RS) and Montenegro (ME) entries. - - -## Version 0.3.1 (tzdata v2006j) - 21-Aug-2006 - -* Remove colon from case statements to avoid warning in Ruby 1.8.5. #5198. -* Use temporary variable to avoid dynamic string warning from rdoc. -* Updated to tzdata version 2006j - (<https://mm.icann.org/pipermail/tz/2006-August/013767.html>). - - -## Version 0.3.0 (tzdata v2006g) - 17-Jul-2006 - -* New timezone data format. Timezone data now occupies less space on disk and - takes less memory once loaded. #4142, #4144. -* Timezone data is defined in modules rather than classes. `Timezone` instances - returned by `Timezone.get` are no longer instances of data classes, but are - instead instances of new `DataTimezone` and `LinkedTimezone` classes. -* `Timezone` instances can now be used with `Marshal.dump` and `Marshal.load`. - #4240. -* Added a `Timezone.get_proxy` method that returns a `TimezoneProxy` object for - a given identifier. -* Country index data is now defined in a single module that is independent - of the `Country` class implementation. -* `Country` instances can now be used with `Marshal.dump` and `Marshal.load`. - #4240. -* `Country` has a new `zone_info` method that returns `CountryTimezone` objects - containing additional information (latitude, longitude and a description) - relating to each `Timezone`. #4140. -* Time zones within a `Country` are now returned in an order that makes - geographic sense. -* The zdumptest utility now checks local to utc conversions in addition to - utc to local conversions. -* `eql?` method defined on `Country` and `Timezone` that is equivalent to `==`. -* The `==` method of `Timezone` no longer raises an exception when passed an - object with no identifier method. -* The `==` method of `Country` no longer raises an exception when passed an - object with no code method. -* `hash` method defined on `Country` that returns the hash of the code. -* `hash` method defined on `Timezone` that returns the hash of the identifier. -* Miscellaneous API documentation corrections and improvements. -* Timezone definition and indexes are now excluded from rdoc (the contents were - previously ignored with `#:nodoc:` anyway). -* Removed no longer needed `#:nodoc:` directives from timezone data files (which - are now excluded from the rdoc build). -* Installation of the gem now causes rdoc API documentation to be generated. - #4905. -* When optimizing transitions to generate zone definitions, check the - UTC and standard offsets separately rather than just the total offset to UTC. - Fixes an incorrect abbreviation issue with Europe/London, Europe/Dublin and - Pacific/Auckland. -* Eliminated unnecessary `.nil?` calls to give a minor performance gain. -* `Timezone.all` and `Timezone.all_identifiers` now return all the - `Timezone` instances/identifiers rather than just those associated with - countries. #4146. -* Added `all_data_zones`, `all_data_zone_identifiers`, `all_linked_zones` and - `all_linked_zone_identifiers` class methods to `Timezone`. -* Added a `strftime` method to `Timezone` that converts a time in UTC to local - time and then returns it formatted. `%Z` is replaced with the timezone - abbreviation for the given time (for example, EST or EDT). #4143. -* Fix escaping of quotes in `TZDataParser`. This affected country names and - descriptions of time zones within countries. - - -## Version 0.2.2 (tzdata v2006g) - 17-May-2006 - -* Use class-scoped instance variables to store the Timezone identifier and - singleton instance. Loading a linked zone no longer causes the parent - zone's identifier to be changed. The instance method of a linked zone class - also now returns an instance of the linked zone class rather than the parent - class. #4502. -* The zdumptest utility now compares the TZInfo zone identifier with the zdump - zone identifier. -* The zdumptestall utility now exits if not supplied with enough parameters. -* Updated to tzdata version 2006g - (<https://mm.icann.org/pipermail/tz/2006-May/013590.html>). - - -## Version 0.2.1 (tzdata v2006d) - 17-Apr-2006 - -* Fix a performance issue caused in 0.2.0 with `Timezone.local_to_utc`. - Conversions performed on `TimeOrDateTime` instances passed to `<=>` are now - cached as originally intended. Thanks to Michael Smedberg for spotting this. -* Fix a performance issue with the `local_to_utc` period search algorithm - originally implemented in 0.1.0. The condition that was supposed to cause - the search to terminate when enough periods had been found was only being - evaluated in a small subset of cases. Thanks to Michael Smedberg and - Jamis Buck for reporting this. -* Added abbreviation as an alias for `TimezonePeriod.zone_identifier`. -* Updated to tzdata version 2006d - (<https://mm.icann.org/pipermail/tz/2006-April/013517.html>). -* Ignore any offset in `DateTime` instances passed in (as is already done for - `Time` instances). All of the following now refer to the same UTC time (15:40 on 17 April 2006). Previously, the `DateTime` in the second line would have been interpreted as 20:40. - - ```ruby - tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0)) - tz.utc_to_local(DateTime.new(2006, 4, 17, 15, 40, 0).new_offset(Rational(5, 24))) - tz.utc_to_local(Time.utc(2006, 4, 17, 15, 40, 0)) - tz.utc_to_local(Time.local(2006, 4, 17, 15, 40, 0)) - ``` - - -## Version 0.2.0 (tzdata v2006c) - 3-Apr-2006 - -* Use timestamps rather than `DateTime` objects in zone files for times between - 1970 and 2037 (the range of `Time`). -* Don't convert passed in `Time` objects to `DateTime` in most cases (provides - a substantial performance improvement). -* Allow integer timestamps (time in seconds since 1970-1-1) to be used as well - as `Time` and `DateTime` objects in all public methods that take times as - parameters. -* Tool to compare TZInfo conversions with output from zdump. -* `TZDataParser` zone generation algorithm rewritten. Now based on the zic code. - TZInfo is now 100% compatible with zic/zdump output. -* Riyadh Solar Time zones now included again (generation time has been reduced - with `TZDataParser` changes). -* Use binary mode when writing zone and country files to get Unix (\n) new - lines. -* Omit unnecessary quotes in zone identifier symbols. -* Omit the final transition to DST if there is a prior transition in the last - year processed to standard time. -* Updated to tzdata version 2006c - (<https://mm.icann.org/pipermail/tz/2006-April/013500.html>). - - -## Version 0.1.2 (tzdata v2006a) - 5-Feb-2006 - -* Add lib directory to the load path when tzinfo is required. Makes it easier - to use tzinfo gem when unpacked to vendor directory in rails. -* Updated to tzdata version 2006a - (<https://mm.icann.org/pipermail/tz/2006-January/013311.html>). -* `build_tz_classes` rake task now handles running svn add and svn delete as new - time zones and countries are added and old ones are removed. -* Return a better error when attempting to use a `Timezone` instance that was - constructed with `Timezone.new(nil)`. This will occur when using Rails' - `composed_of`. When the timezone identifier in the database is null, - attempting to use the `Timezone` will now result in an `UnknownTimezone` - exception rather than a `NameError`. - - -## Version 0.1.1 (tzdata v2005q) - 18-Dec-2005 - -* Time zones that are defined by a single unbounded period (e.g. UTC) now - work again. -* Updated to tzdata version 2005q. - - -## Version 0.1.0 (tzdata v2005n) - 27-Nov-2005 - -* `period_for_local` and `local_to_utc` now allow resolution of ambiguous - times (e.g. when switching from daylight savings to standard time). - The behaviour of these methods when faced with an ambiguous local time - has now changed. If you are using these methods you should check - the documentation. Thanks to Cliff Matthews for suggesting this change. -* Added `require 'date'` to `timezone.rb` (date isn't loaded by default in all - environments). -* Use rake to build packages and documentation. -* License file is now included in gem distribution. -* Dates in definitions stored as Astronomical Julian Day numbers rather than - as civil dates (improves performance creating `DateTime` instances). -* Added options to `TZDataParser` to allow generation of specific zones and - countries. -* Moved `TimezonePeriod` class to `timezone_period.rb`. -* New `TimezonePeriodList` class to store `TimezonePeriod` instances for a - timezone and perform searches for periods. -* Time zones are now defined using blocks. `TimezonePeriod` instances are only - created when they are needed. Thanks to Jamis Buck for the suggestion. -* Add options to `TZDataParser` to allow exclusion of specific zones and - countries. -* Exclude the Riyadh Solar Time zones. The rules are only for 1987 to 1989 and - take a long time to generate and process. Riyadh Solar Time is no longer - observed. -* The last `TimezonePeriod` for each `Timezone` is now written out with an - unbounded rather than arbitrary end time. -* Construct the `Rational` offset in `TimezonePeriod` once when the - `TimezonePeriod` is constructed rather than each time it is needed. -* `Timezone` and `Country` now keep a cache of loaded instances to avoid running - `require` which can be slow on some platforms. -* Updated to tzdata version 2005n. - - -## Version 0.0.4 (tzdata v2005m) - 18-Sep-2005 - -* Removed debug output accidentally included in the previous release. -* Fixed a bug in the generation of friendly zone identifiers (was inserting - apostrophes into UTC, GMT, etc). -* Fixed `Country` `<=>` operator (was comparing non-existent attribute) -* Fixed `Timezone.period_for_local` error when period not found. -* Added test cases for `Timezone`, `TimezoneProxy`, `TimezonePeriod`, `Country` - and some selected time zones. - - -## Version 0.0.3 (tzdata v2005m) - 17-Sep-2005 - -* Reduced visibility of some methods added in `Timezone#setup` and - `Country#setup`. -* Added `name` method to `Timezone` (returns the identifier). -* Added `friendly_identifier` method to `Timezone`. Returns a more friendly - version of the identifier. -* Added `to_s` method to `Timezone`. Returns the friendly identifier. -* Added `==` and `<=>` operators to `Timezone` (compares identifiers). -* `Timezone` now includes `Comparable`. -* Added `to_s` method to `Country`. -* Added `==` and `<=>` operators to `Country` (compares ISO 3166 country codes). -* `Country` now includes `Comparable`. -* New `TimezoneProxy` class that behaves the same as a `Timezone` but doesn't - actually load in its definition until it is actually required. -* Modified `Timezone` and `Country` methods that return `Timezone` instances to - return `TimezoneProxy` instances instead. This makes these methods much - quicker. - -In Ruby on Rails, you can now show a drop-down list of all time zones using the -Rails `time_zone_select` helper method: - -```ruby -<%= time_zone_select 'user', 'time_zone', TZInfo::Timezone.all.sort, :model => TZInfo::Timezone %> -``` - - -## Version 0.0.2 (tzdata v2005m) - 13-Sep-2005 - -* `Country` and `Timezone` data is now loaded into class rather than instance - variables. This makes `Timezone` links more efficient and saves memory if - creating specific `Timezone` and `Country` classes directly. -* `TimezonePeriod` `zone_identifier` is now defined as a symbol to save memory - (was previously a string). -* `TimezonePeriod` `zone_identifier`s that were previously `''` are now - `:Unknown`. -* `Timezone` and `Country` instances can now be returned using - `Timezone.new(identifier)` and `Country.new(identifier)`. When passed an - identifier, the `new` method calls `get` to return an instance of the - specified timezone or country. -* Added new class methods to `Timezone` to return sets of zones and identifiers. - -Thanks to Scott Barron of Lunchbox Software for the suggestions in his -article about using TZInfo with Rails -(<https://web.archive.org/web/20060425190845/http://lunchroom.lunchboxsoftware.com/pages/tzinfo_rails>) - - -## Version 0.0.1 (tzdata v2005m) - 29-Aug-2005 - -* First release. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/LICENSE deleted file mode 100644 index 9b3125a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2005-2023 Philip Ross - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/README.md deleted file mode 100644 index 2c8b6d2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/tzinfo-2.0.6/README.md +++ /dev/null @@ -1,406 +0,0 @@ -# TZInfo - Ruby Time Zone Library - -[![RubyGems](https://img.shields.io/gem/v/tzinfo?logo=rubygems&label=Gem)](https://rubygems.org/gems/tzinfo) [![Tests](https://github.com/tzinfo/tzinfo/workflows/Tests/badge.svg?branch=master&event=push)](https://github.com/tzinfo/tzinfo/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush) - -[TZInfo](https://tzinfo.github.io) is a Ruby library that provides access to -time zone data and allows times to be converted using time zone rules. - - -## Data Sources - -TZInfo requires a source of time zone data. There are two options: - -1. A zoneinfo directory containing timezone definition files. These files are - generated from the [IANA Time Zone Database](https://www.iana.org/time-zones) - using the `zic` utility. Most Unix-like systems include a zoneinfo directory. -2. The TZInfo::Data library (the tzinfo-data gem). TZInfo::Data contains a set - of Ruby modules that are also generated from the IANA Time Zone Database. - -By default, TZInfo will attempt to use TZInfo::Data. If TZInfo::Data is not -available (i.e. if `require 'tzinfo/data'` fails), then TZInfo will search for a -zoneinfo directory instead (using the search path specified by -`TZInfo::ZoneinfoDataSource::DEFAULT_SEARCH_PATH`). - -If no data source can be found, a `TZInfo::DataSourceNotFound` exception will be -raised when TZInfo is used. Further information is available -[in the wiki](https://tzinfo.github.io/datasourcenotfound) to help resolve -`TZInfo::DataSourceNotFound` errors. - -The default data source selection can be overridden by calling -`TZInfo::DataSource.set`. - -Custom data sources can also be used. See the `TZInfo::DataSource.set` -documentation for further details. - - -## Installation - -The TZInfo gem can be installed by running `gem install tzinfo` or by adding -`gem 'tzinfo'` to your `Gemfile` and running `bundle install`. - -To use the Ruby modules as the data source, TZInfo::Data will also need to be -installed by running `gem install tzinfo-data` or by adding `gem 'tzinfo-data'` -to your `Gemfile`. - - -## IANA Time Zone Database - -The data returned and used by TZInfo is sourced from the -[IANA Time Zone Database](http://www.iana.org/time-zones). The -[Theory and pragmatics of the tz code and data](https://data.iana.org/time-zones/theory.html) -document gives details of how the data is organized and managed. - - -## Example Usage - -To use TZInfo, it must first be required with: - -```ruby -require 'tzinfo' -``` - -The `TZInfo::Timezone` class provides access to time zone data and methods for -converting times. - -The `all_identifiers` method returns a list of valid time zone identifiers: - -```ruby -identifiers = TZInfo::Timezone.all_identifiers -# => ["Africa/Adibdjan", "Africa/Accra", ..., "Zulu"] -``` - -A `TZInfo::Timezone` instance representing an individual time zone can be -obtained with `TZInfo::Timezone.get`: - -```ruby -tz = TZInfo::Timezone.get('America/New_York') -# => #<TZInfo::DataTimezone: America/New_York> -``` - -A time can be converted to the local time of the time zone with `to_local`: - -```ruby -tz.to_local(Time.utc(2018, 2, 1, 12, 30, 0)) -# => 2018-02-01 07:30:00 -0500 -tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0)) -# => 2018-07-01 08:30:00 -0400 -tz.to_local(Time.new(2018, 7, 1, 13, 30, 0, '+01:00')) -# => 2018-07-01 08:30:00 -0400 -``` - -Local times with the appropriate offset for the time zone can be constructed -with `local_time`: - -```ruby -tz.local_time(2018, 2, 1, 7, 30, 0) -# => 2018-02-01 07:30:00 -0500 -tz.local_time(2018, 7, 1, 8, 30, 0) -# => 2018-07-01 08:30:00 -0400 -``` - -Local times can be converted to UTC by using `local_time` and calling `utc` on -the result: - -```ruby -tz.local_time(2018, 2, 1, 7, 30, 0).utc -# => 2018-02-01 12:30:00 UTC -tz.local_time(2018, 7, 1, 8, 30, 0).utc -# => 2018-07-01 12:30:00 UTC -``` - -The `local_to_utc` method can also be used to convert a time object to UTC. The -offset of the time is ignored - it is treated as if it were a local time for the -time zone: - -```ruby -tz.local_to_utc(Time.utc(2018, 2, 1, 7, 30, 0)) -# => 2018-02-01 12:30:00 UTC -tz.local_to_utc(Time.new(2018, 2, 1, 7, 30, 0, '+01:00')) -# => 2018-02-01 12:30:00 UTC -``` - -Information about the time zone can be obtained from returned local times: - -```ruby -local_time = tz.to_local(Time.utc(2018, 2, 1, 12, 30, 0)) -local_time.utc_offset # => -18000 -local_time.dst? # => false -local_time.zone # => "EST" - -local_time = tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0)) -local_time.utc_offset # => -14400 -local_time.dst? # => true -local_time.zone # => "EDT" -``` - -Time zone information can be included when formatting times with `strftime` -using the `%z` and `%Z` directives: - -```ruby -tz.to_local(Time.utc(2018, 2, 1, 12, 30, 0)).strftime('%Y-%m-%d %H:%M:%S %z %Z') -# => "2018-02-01 07:30:00 -0500 EST" -tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0)).strftime('%Y-%m-%d %H:%M:%S %z %Z') -# => "2018-07-01 08:30:00 -0400 EDT" -``` - -The `period_for` method can be used to obtain information about the observed -time zone information at a particular time as a `TZInfo::TimezonePeriod` object: - -```ruby -period = tz.period_for(Time.utc(2018, 7, 1, 12, 30, 0)) -period.base_utc_offset # => -18000 -period.std_offset # => 3600 -period.observed_utc_offset # => -14400 -period.abbreviation # => "EDT" -period.dst? # => true -period.local_starts_at.to_time # => 2018-03-11 03:00:00 -0400 -period.local_ends_at.to_time # => 2018-11-04 02:00:00 -0400 -``` - -A list of transitions between periods where different rules are observed can be -obtained with the `transitions_up_to` method. The result is returned as an -`Array` of `TZInfo::TimezoneTransition` objects: - -```ruby -transitions = tz.transitions_up_to(Time.utc(2019, 1, 1), Time.utc(2017, 1, 1)) -transitions.map do |t| - [t.local_end_at.to_time, t.offset.observed_utc_offset, t.offset.abbreviation] -end -# => [[2017-03-12 02:00:00 -0500, -14400, "EDT"], -# [2017-11-05 02:00:00 -0400, -18000, "EST"], -# [2018-03-11 02:00:00 -0500, -14400, "EDT"], -# [2018-11-04 02:00:00 -0400, -18000, "EST"]] -``` - -A list of the unique offsets used by a time zone can be obtained with the -`offsets_up_to` method. The result is returned as an `Array` of -`TZInfo::TimezoneOffset` objects: - -```ruby -offsets = tz.offsets_up_to(Time.utc(2019, 1, 1)) -offsets.map {|o| [o.observed_utc_offset, o.abbreviation] } -# => [[-17762, "LMT"], -# [-18000, "EST"], -# [-14400, "EDT"], -# [-14400, "EWT"], -# [-14400, "EPT"]] -``` - -All `TZInfo::Timezone` methods that accept a time as a parameter can be used -with either instances of `Time`, `DateTime` or `TZInfo::Timestamp`. Arbitrary -`Time`-like objects that respond to both `to_i` and `subsec` and optionally -`utc_offset` will be treated as if they are instances of `Time`. - -`TZInfo::Timezone` methods that both accept and return times will return an -object with a type matching that of the parameter (actually a -`TZInfo::TimeWithOffset`, `TZInfo::DateTimeWithOffset` or -`TZInfo::TimestampWithOffset` subclass when returning a local time): - -```ruby -tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0)) -# => 2018-07-01 08:30:00 -0400 -tz.to_local(DateTime.new(2018, 7, 1, 12, 30, 0)) -# => #<TZInfo::DateTimeWithOffset: 2018-07-01T08:30:00-04:00 ((2458301j,45000s,0n),-14400s,2299161j)> -tz.to_local(TZInfo::Timestamp.create(2018, 7, 1, 12, 30, 0, 0, :utc)) -# => #<TZInfo::TimestampWithOffset: @value=1530448200, @sub_second=0, @utc_offset=-14400, @utc=false> -``` - -In addition to `local_time`, which returns `Time` instances, the -`local_datetime` and `local_timestamp` methods can be used to construct local -`DateTime` and `TZInfo::Timestamp` instances with the appropriate offset: - -```ruby -tz.local_time(2018, 2, 1, 7, 30, 0) -# => 2018-02-01 07:30:00 -0500 -tz.local_datetime(2018, 2, 1, 7, 30, 0) -# => #<TZInfo::DateTimeWithOffset: 2018-02-01T07:30:00-05:00 ((2458151j,45000s,0n),-18000s,2299161j)> -tz.local_timestamp(2018, 2, 1, 7, 30, 0) -# => #<TZInfo::TimestampWithOffset: @value=1517488200, @sub_second=0, @utc_offset=-18000, @utc=false> -``` - -The `local_to_utc`, `local_time`, `local_datetime` and `local_timestamp` methods -may raise a `TZInfo::PeriodNotFound` or a `TZInfo::AmbiguousTime` exception. -`TZInfo::PeriodNotFound` signals that there is no equivalent UTC time (for -example, during the transition from standard time to daylight savings time when -the clocks are moved forward and an hour is skipped). `TZInfo::AmbiguousTime` -signals that there is more than one equivalent UTC time (for example, during the -transition from daylight savings time to standard time where the clocks are -moved back and an hour is repeated): - -```ruby -tz.local_time(2018, 3, 11, 2, 30, 0, 0) -# raises TZInfo::PeriodNotFound (2018-03-11 02:30:00 is an invalid local time.) -tz.local_time(2018, 11, 4, 1, 30, 0, 0) -# raises TZInfo::AmbiguousTime (2018-11-04 01:30:00 is an ambiguous local time.) -``` - -`TZInfo::PeriodNotFound` exceptions can only be resolved by adjusting the time, -for example, by advancing an hour: - -```ruby -tz.local_time(2018, 3, 11, 3, 30, 0, 0) -# => 2018-03-11 03:30:00 -0400 -``` - -`TZInfo::AmbiguousTime` exceptions can be resolved by setting the `dst` -parameter and/or specifying a block to choose one of the interpretations: - -```ruby -tz.local_time(2018, 11, 4, 1, 30, 0, 0, true) -# => 2018-11-04 01:30:00 -0400 -tz.local_time(2018, 11, 4, 1, 30, 0, 0, false) -# => 2018-11-04 01:30:00 -0500 - -tz.local_time(2018, 11, 4, 1, 30, 0, 0) {|p| p.first } -# => 2018-11-04 01:30:00 -0400 -tz.local_time(2018, 11, 4, 1, 30, 0, 0) {|p| p.last } -# => 2018-11-04 01:30:00 -0500 -``` - -The default value of the `dst` parameter can also be set globally: - -```ruby -TZInfo::Timezone.default_dst = true -tz.local_time(2018, 11, 4, 1, 30, 0, 0) -# => 2018-11-04 01:30:00 -0400 -TZInfo::Timezone.default_dst = false -tz.local_time(2018, 11, 4, 1, 30, 0, 0) -# => 2018-11-04 01:30:00 -0500 -``` - -TZInfo also provides information about -[ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) countries and -their associated time zones via the `TZInfo::Country` class. - -A list of valid ISO 3166-1 (alpha-2) country codes can be obtained by calling -`TZInfo::Country.all_codes`: - -```ruby -TZInfo::Country.all_codes -# => ["AD", "AE", ..., "ZW"] -``` - -A `TZInfo::Country` instance representing an individual time zone can be -obtained with `TZInfo::Country.get`: - -```ruby -c = TZInfo::Country.get('US') -# => #<TZInfo::Country: US> -c.name -# => "United States" -``` - -The `zone_identifiers` method returns a list of the time zone identifiers used -in a country: - -```ruby -c.zone_identifiers -# => ["America/New_York", "America/Detroit", ..., "Pacific/Honolulu"] -``` - -The `zone_info` method returns further information about the time zones used in -a country as an `Array` of `TZInfo::CountryTimezone` instances: - -```ruby -zi = c.zone_info.first -zi.identifier # => "America/New_York" -zi.latitude.to_f.round(5) # => 40.71417 -zi.longitude.to_f.round(5) # => -74.00639 -zi.description # => "Eastern (most areas)" -``` - -The `zones` method returns an `Array` of `TZInfo::Timezone` instances for a -country. A `TZInfo::Timezone` instance can be obtained from a -`TZInfo::CountryTimezone` using the `timezone` method: - -```ruby -zi.timezone.to_local(Time.utc(2018, 2, 1, 12, 30, 0)) -# => 2018-02-01 07:30:00 -0500 -``` - -For further detail, please refer to the API documentation for the -`TZInfo::Timezone` and `TZInfo::Country` classes. - - -## Time Zone Selection - -The Time Zone Database maintainers recommend that time zone identifiers are not -made visible to end-users (see [Names of -timezones](https://data.iana.org/time-zones/theory.html#naming)). - -Instead of displaying a list of time zone identifiers, time zones can be -selected by the user's country. Call `TZInfo::Country.all` to obtain a list of -`TZInfo::Country` objects, each with a unique `code` and a `name` that can be -used for display purposes. - -Most countries have a single time zone. When choosing such a country, the time -zone can be inferred and selected automatically. - -```ruby -croatia = TZInfo::Country.get('HR') -# => #<TZInfo::Country: HR> -croatia.zone_info.length -# => 1 -croatia.zone_info[0].identifier -# => "Europe/Belgrade" -``` - -Some countries have multiple time zones. The `zone_info` method can be used -to obtain a list of user-friendly descriptions of the available options: - -```ruby -australia = TZInfo::Country.get('AU') -# => #<TZInfo::Country: AU> -australia.zone_info.length -# => 13 -australia.zone_info.map {|i| [i.identifier, i.description] } -# => [["Australia/Lord_Howe", "Lord Howe Island"], -# ["Antarctica/Macquarie", "Macquarie Island"], -# ... -# ["Australia/Eucla", "Western Australia (Eucla)"]] -``` - -Please note that country information available through TZInfo is intended as an -aid to help users select a time zone data appropriate for their practical needs. -It is not intended to take or endorse any position on legal or territorial -claims. - - -## Compatibility - -TZInfo v2.0.0 requires a minimum of Ruby MRI 1.9.3 or JRuby 1.7 (in 1.9 mode or -later). - - -## Thread-Safety - -The `TZInfo::Country` and `TZInfo::Timezone` classes are thread-safe. It is safe -to use class and instance methods of `TZInfo::Country` and `TZInfo::Timezone` in -concurrently executing threads. Instances of both classes can be shared across -thread boundaries. - - -## Documentation - -API documentation for TZInfo is available on -[RubyDoc.info](https://www.rubydoc.info/gems/tzinfo/). - - -## License - -TZInfo is released under the MIT license, see LICENSE for details. - - -## Source Code - -Source code for TZInfo is available on -[GitHub](https://github.com/tzinfo/tzinfo). - - -## Issue Tracker - -Please post any bugs, issues, feature requests or questions about TZInfo to the -[GitHub issue tracker](https://github.com/tzinfo/tzinfo/issues). - -Issues with the underlying time zone data should be raised on the -[Time Zone Database Discussion mailing list](https://mm.icann.org/mailman/listinfo/tz). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/.travis.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/.travis.yml deleted file mode 100644 index 39d5044..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -language: ruby -rvm: - - 1.8.7 - - ree - - 1.9.3 - - 2.0.0 - - ruby-head - - jruby-18mode - - jruby-19mode - - jruby-head - - rbx-18mode - - rbx-19mode -matrix: - allow_failures: - - rvm: ruby-head - - rvm: rbx-18mode - - rvm: rbx-19mode diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/CHANGELOG.md deleted file mode 100644 index 2882ada..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/CHANGELOG.md +++ /dev/null @@ -1,46 +0,0 @@ -## 0.1.3 (2013-10-25) - -Features: - - - Make UNF::Normalizer.instance thread-safe, and deprecate .new. - (GH #6) - -## 0.1.2 (2013-08-12) - -Features: - - - Add license to gemspec. - - - Adjust dependencies for Ruby 1.8 to satisfy bundler. - -## 0.1.1 (2013-03-23) - -Features: - - - Add rdoc. - -## 0.1.0 (2013-03-18) - -Features: - - - Start CI with Travis-CI. - -## 0.0.5 (2012-03-04) - -Features: - - - Migrate from Jeweler to Bundle gem. - -Bugfixes: - - - Fix gem support for JRuby. - -## 0.0.4 (2011-12-09) - -Features: - - - Introduce autoloading. - -## 0.0.3 (2011-10-25) - - - Initial release. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/Gemfile deleted file mode 100644 index f836306..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -# Specify your gem's dependencies in unf.gemspec -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/LICENSE b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/LICENSE deleted file mode 100644 index cfdda07..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2011, 2012 Akinori MUSHA - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/README.md deleted file mode 100644 index 7cab7cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/README.md +++ /dev/null @@ -1,39 +0,0 @@ -ruby-unf -======== - -Synopsis --------- - -* A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby - -Description ------------ - -* Uses `unf_ext` on CRuby and `java.text.Normalizer` on JRuby. - -* Normalizes UTF-8 strings into and from NFC, NFD, NFKC or NFKD - - # For bulk conversion - normalizer = UNF::Normalizer.instance - a_bunch_of_strings.map! { |string| - normalizer.normalize(string, :nfc) #=> string in NFC - } - - # Class method - UNF::Normalizer.normalize(string, :nfc) - - # Instance methods of String - string.to_nfc - -Installation ------------- - - gem install unf - -License -------- - -Copyright (c) 2011, 2012, 2013 Akinori MUSHA - -Licensed under the 2-clause BSD license. -See `LICENSE` for details. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/Rakefile deleted file mode 100755 index 2949f4f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/Rakefile +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env rake -require "bundler/gem_tasks" - -gemspec = Bundler::GemHelper.gemspec - -require 'rake/testtask' -Rake::TestTask.new(:test) do |test| - test.libs << 'test' - test.test_files = gemspec.test_files - test.verbose = true -end - -require 'rdoc/task' -Rake::RDocTask.new do |rdoc| - rdoc.rdoc_dir = 'rdoc' - rdoc.title = "#{gemspec.name} #{gemspec.version}" - rdoc.rdoc_files.include(gemspec.extra_rdoc_files) - rdoc.rdoc_files.include('lib/**/*.rb') -end - -task :default => :test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/helper.rb deleted file mode 100644 index 7321a5a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/helper.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'rubygems' -require 'bundler' -begin - Bundler.setup(:default, :development) -rescue Bundler::BundlerError => e - $stderr.puts e.message - $stderr.puts "Run `bundle install` to install missing gems" - exit e.status_code -end -require 'test/unit' -require 'shoulda' - -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) -$LOAD_PATH.unshift(File.dirname(__FILE__)) -require 'unf' - -class Test::Unit::TestCase -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/normalization-test.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/normalization-test.txt deleted file mode 100644 index 68eb070..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/normalization-test.txt +++ /dev/null @@ -1,108816 +0,0 @@ -Ḋ -Ḋ -Ḋ -Ḋ -Ḋ - -Ḍ -Ḍ -Ḍ -Ḍ -Ḍ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḋ̛ -Ḋ̛ -Ḋ̛ -Ḋ̛ -Ḋ̛ - -Ḍ̛ -Ḍ̛ -Ḍ̛ -Ḍ̛ -Ḍ̛ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -È -È -È -È -È - -Ē -Ē -Ē -Ē -Ē - -È -È -È -È -È - -Ē -Ē -Ē -Ē -Ē - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -Ḕ̄ -Ḕ̄ -Ḕ̄ -Ḕ̄ -Ḕ̄ - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -È̄ -È̄ -È̄ -È̄ -È̄ - -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ - -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ - -  -  -  - - - -¨ -¨ -¨ - ̈ - ̈ - -ª -ª -ª -a -a - -¯ -¯ -¯ - ̄ - ̄ - -² -² -² -2 -2 - -³ -³ -³ -3 -3 - -´ -´ -´ - ́ - ́ - -µ -µ -µ -μ -μ - -¸ -¸ -¸ - ̧ - ̧ - -¹ -¹ -¹ -1 -1 - -º -º -º -o -o - -¼ -¼ -¼ -1⁄4 -1⁄4 - -½ -½ -½ -1⁄2 -1⁄2 - -¾ -¾ -¾ -3⁄4 -3⁄4 - -À -À -À -À -À - -Á -Á -Á -Á -Á - -Â -Â -Â -Â -Â - -Ã -Ã -Ã -Ã -Ã - -Ä -Ä -Ä -Ä -Ä - -Å -Å -Å -Å -Å - -Ç -Ç -Ç -Ç -Ç - -È -È -È -È -È - -É -É -É -É -É - -Ê -Ê -Ê -Ê -Ê - -Ë -Ë -Ë -Ë -Ë - -Ì -Ì -Ì -Ì -Ì - -Í -Í -Í -Í -Í - -Î -Î -Î -Î -Î - -Ï -Ï -Ï -Ï -Ï - -Ñ -Ñ -Ñ -Ñ -Ñ - -Ò -Ò -Ò -Ò -Ò - -Ó -Ó -Ó -Ó -Ó - -Ô -Ô -Ô -Ô -Ô - -Õ -Õ -Õ -Õ -Õ - -Ö -Ö -Ö -Ö -Ö - -Ù -Ù -Ù -Ù -Ù - -Ú -Ú -Ú -Ú -Ú - -Û -Û -Û -Û -Û - -Ü -Ü -Ü -Ü -Ü - -Ý -Ý -Ý -Ý -Ý - -à -à -à -à -à - -á -á -á -á -á - -â -â -â -â -â - -ã -ã -ã -ã -ã - -ä -ä -ä -ä -ä - -å -å -å -å -å - -ç -ç -ç -ç -ç - -è -è -è -è -è - -é -é -é -é -é - -ê -ê -ê -ê -ê - -ë -ë -ë -ë -ë - -ì -ì -ì -ì -ì - -í -í -í -í -í - -î -î -î -î -î - -ï -ï -ï -ï -ï - -ñ -ñ -ñ -ñ -ñ - -ò -ò -ò -ò -ò - -ó -ó -ó -ó -ó - -ô -ô -ô -ô -ô - -õ -õ -õ -õ -õ - -ö -ö -ö -ö -ö - -ù -ù -ù -ù -ù - -ú -ú -ú -ú -ú - -û -û -û -û -û - -ü -ü -ü -ü -ü - -ý -ý -ý -ý -ý - -ÿ -ÿ -ÿ -ÿ -ÿ - -Ā -Ā -Ā -Ā -Ā - -ā -ā -ā -ā -ā - -Ă -Ă -Ă -Ă -Ă - -ă -ă -ă -ă -ă - -Ą -Ą -Ą -Ą -Ą - -ą -ą -ą -ą -ą - -Ć -Ć -Ć -Ć -Ć - -ć -ć -ć -ć -ć - -Ĉ -Ĉ -Ĉ -Ĉ -Ĉ - -ĉ -ĉ -ĉ -ĉ -ĉ - -Ċ -Ċ -Ċ -Ċ -Ċ - -ċ -ċ -ċ -ċ -ċ - -Č -Č -Č -Č -Č - -č -č -č -č -č - -Ď -Ď -Ď -Ď -Ď - -ď -ď -ď -ď -ď - -Ē -Ē -Ē -Ē -Ē - -ē -ē -ē -ē -ē - -Ĕ -Ĕ -Ĕ -Ĕ -Ĕ - -ĕ -ĕ -ĕ -ĕ -ĕ - -Ė -Ė -Ė -Ė -Ė - -ė -ė -ė -ė -ė - -Ę -Ę -Ę -Ę -Ę - -ę -ę -ę -ę -ę - -Ě -Ě -Ě -Ě -Ě - -ě -ě -ě -ě -ě - -Ĝ -Ĝ -Ĝ -Ĝ -Ĝ - -ĝ -ĝ -ĝ -ĝ -ĝ - -Ğ -Ğ -Ğ -Ğ -Ğ - -ğ -ğ -ğ -ğ -ğ - -Ġ -Ġ -Ġ -Ġ -Ġ - -ġ -ġ -ġ -ġ -ġ - -Ģ -Ģ -Ģ -Ģ -Ģ - -ģ -ģ -ģ -ģ -ģ - -Ĥ -Ĥ -Ĥ -Ĥ -Ĥ - -ĥ -ĥ -ĥ -ĥ -ĥ - -Ĩ -Ĩ -Ĩ -Ĩ -Ĩ - -ĩ -ĩ -ĩ -ĩ -ĩ - -Ī -Ī -Ī -Ī -Ī - -ī -ī -ī -ī -ī - -Ĭ -Ĭ -Ĭ -Ĭ -Ĭ - -ĭ -ĭ -ĭ -ĭ -ĭ - -Į -Į -Į -Į -Į - -į -į -į -į -į - -İ -İ -İ -İ -İ - -IJ -IJ -IJ -IJ -IJ - -ij -ij -ij -ij -ij - -Ĵ -Ĵ -Ĵ -Ĵ -Ĵ - -ĵ -ĵ -ĵ -ĵ -ĵ - -Ķ -Ķ -Ķ -Ķ -Ķ - -ķ -ķ -ķ -ķ -ķ - -Ĺ -Ĺ -Ĺ -Ĺ -Ĺ - -ĺ -ĺ -ĺ -ĺ -ĺ - -Ļ -Ļ -Ļ -Ļ -Ļ - -ļ -ļ -ļ -ļ -ļ - -Ľ -Ľ -Ľ -Ľ -Ľ - -ľ -ľ -ľ -ľ -ľ - -Ŀ -Ŀ -Ŀ -L· -L· - -ŀ -ŀ -ŀ -l· -l· - -Ń -Ń -Ń -Ń -Ń - -ń -ń -ń -ń -ń - -Ņ -Ņ -Ņ -Ņ -Ņ - -ņ -ņ -ņ -ņ -ņ - -Ň -Ň -Ň -Ň -Ň - -ň -ň -ň -ň -ň - -ʼn -ʼn -ʼn -ʼn -ʼn - -Ō -Ō -Ō -Ō -Ō - -ō -ō -ō -ō -ō - -Ŏ -Ŏ -Ŏ -Ŏ -Ŏ - -ŏ -ŏ -ŏ -ŏ -ŏ - -Ő -Ő -Ő -Ő -Ő - -ő -ő -ő -ő -ő - -Ŕ -Ŕ -Ŕ -Ŕ -Ŕ - -ŕ -ŕ -ŕ -ŕ -ŕ - -Ŗ -Ŗ -Ŗ -Ŗ -Ŗ - -ŗ -ŗ -ŗ -ŗ -ŗ - -Ř -Ř -Ř -Ř -Ř - -ř -ř -ř -ř -ř - -Ś -Ś -Ś -Ś -Ś - -ś -ś -ś -ś -ś - -Ŝ -Ŝ -Ŝ -Ŝ -Ŝ - -ŝ -ŝ -ŝ -ŝ -ŝ - -Ş -Ş -Ş -Ş -Ş - -ş -ş -ş -ş -ş - -Š -Š -Š -Š -Š - -š -š -š -š -š - -Ţ -Ţ -Ţ -Ţ -Ţ - -ţ -ţ -ţ -ţ -ţ - -Ť -Ť -Ť -Ť -Ť - -ť -ť -ť -ť -ť - -Ũ -Ũ -Ũ -Ũ -Ũ - -ũ -ũ -ũ -ũ -ũ - -Ū -Ū -Ū -Ū -Ū - -ū -ū -ū -ū -ū - -Ŭ -Ŭ -Ŭ -Ŭ -Ŭ - -ŭ -ŭ -ŭ -ŭ -ŭ - -Ů -Ů -Ů -Ů -Ů - -ů -ů -ů -ů -ů - -Ű -Ű -Ű -Ű -Ű - -ű -ű -ű -ű -ű - -Ų -Ų -Ų -Ų -Ų - -ų -ų -ų -ų -ų - -Ŵ -Ŵ -Ŵ -Ŵ -Ŵ - -ŵ -ŵ -ŵ -ŵ -ŵ - -Ŷ -Ŷ -Ŷ -Ŷ -Ŷ - -ŷ -ŷ -ŷ -ŷ -ŷ - -Ÿ -Ÿ -Ÿ -Ÿ -Ÿ - -Ź -Ź -Ź -Ź -Ź - -ź -ź -ź -ź -ź - -Ż -Ż -Ż -Ż -Ż - -ż -ż -ż -ż -ż - -Ž -Ž -Ž -Ž -Ž - -ž -ž -ž -ž -ž - -ſ -ſ -ſ -s -s - -Ơ -Ơ -Ơ -Ơ -Ơ - -ơ -ơ -ơ -ơ -ơ - -Ư -Ư -Ư -Ư -Ư - -ư -ư -ư -ư -ư - -DŽ -DŽ -DŽ -DŽ -DŽ - -Dž -Dž -Dž -Dž -Dž - -dž -dž -dž -dž -dž - -LJ -LJ -LJ -LJ -LJ - -Lj -Lj -Lj -Lj -Lj - -lj -lj -lj -lj -lj - -NJ -NJ -NJ -NJ -NJ - -Nj -Nj -Nj -Nj -Nj - -nj -nj -nj -nj -nj - -Ǎ -Ǎ -Ǎ -Ǎ -Ǎ - -ǎ -ǎ -ǎ -ǎ -ǎ - -Ǐ -Ǐ -Ǐ -Ǐ -Ǐ - -ǐ -ǐ -ǐ -ǐ -ǐ - -Ǒ -Ǒ -Ǒ -Ǒ -Ǒ - -ǒ -ǒ -ǒ -ǒ -ǒ - -Ǔ -Ǔ -Ǔ -Ǔ -Ǔ - -ǔ -ǔ -ǔ -ǔ -ǔ - -Ǖ -Ǖ -Ǖ -Ǖ -Ǖ - -ǖ -ǖ -ǖ -ǖ -ǖ - -Ǘ -Ǘ -Ǘ -Ǘ -Ǘ - -ǘ -ǘ -ǘ -ǘ -ǘ - -Ǚ -Ǚ -Ǚ -Ǚ -Ǚ - -ǚ -ǚ -ǚ -ǚ -ǚ - -Ǜ -Ǜ -Ǜ -Ǜ -Ǜ - -ǜ -ǜ -ǜ -ǜ -ǜ - -Ǟ -Ǟ -Ǟ -Ǟ -Ǟ - -ǟ -ǟ -ǟ -ǟ -ǟ - -Ǡ -Ǡ -Ǡ -Ǡ -Ǡ - -ǡ -ǡ -ǡ -ǡ -ǡ - -Ǣ -Ǣ -Ǣ -Ǣ -Ǣ - -ǣ -ǣ -ǣ -ǣ -ǣ - -Ǧ -Ǧ -Ǧ -Ǧ -Ǧ - -ǧ -ǧ -ǧ -ǧ -ǧ - -Ǩ -Ǩ -Ǩ -Ǩ -Ǩ - -ǩ -ǩ -ǩ -ǩ -ǩ - -Ǫ -Ǫ -Ǫ -Ǫ -Ǫ - -ǫ -ǫ -ǫ -ǫ -ǫ - -Ǭ -Ǭ -Ǭ -Ǭ -Ǭ - -ǭ -ǭ -ǭ -ǭ -ǭ - -Ǯ -Ǯ -Ǯ -Ǯ -Ǯ - -ǯ -ǯ -ǯ -ǯ -ǯ - -ǰ -ǰ -ǰ -ǰ -ǰ - -DZ -DZ -DZ -DZ -DZ - -Dz -Dz -Dz -Dz -Dz - -dz -dz -dz -dz -dz - -Ǵ -Ǵ -Ǵ -Ǵ -Ǵ - -ǵ -ǵ -ǵ -ǵ -ǵ - -Ǹ -Ǹ -Ǹ -Ǹ -Ǹ - -ǹ -ǹ -ǹ -ǹ -ǹ - -Ǻ -Ǻ -Ǻ -Ǻ -Ǻ - -ǻ -ǻ -ǻ -ǻ -ǻ - -Ǽ -Ǽ -Ǽ -Ǽ -Ǽ - -ǽ -ǽ -ǽ -ǽ -ǽ - -Ǿ -Ǿ -Ǿ -Ǿ -Ǿ - -ǿ -ǿ -ǿ -ǿ -ǿ - -Ȁ -Ȁ -Ȁ -Ȁ -Ȁ - -ȁ -ȁ -ȁ -ȁ -ȁ - -Ȃ -Ȃ -Ȃ -Ȃ -Ȃ - -ȃ -ȃ -ȃ -ȃ -ȃ - -Ȅ -Ȅ -Ȅ -Ȅ -Ȅ - -ȅ -ȅ -ȅ -ȅ -ȅ - -Ȇ -Ȇ -Ȇ -Ȇ -Ȇ - -ȇ -ȇ -ȇ -ȇ -ȇ - -Ȉ -Ȉ -Ȉ -Ȉ -Ȉ - -ȉ -ȉ -ȉ -ȉ -ȉ - -Ȋ -Ȋ -Ȋ -Ȋ -Ȋ - -ȋ -ȋ -ȋ -ȋ -ȋ - -Ȍ -Ȍ -Ȍ -Ȍ -Ȍ - -ȍ -ȍ -ȍ -ȍ -ȍ - -Ȏ -Ȏ -Ȏ -Ȏ -Ȏ - -ȏ -ȏ -ȏ -ȏ -ȏ - -Ȑ -Ȑ -Ȑ -Ȑ -Ȑ - -ȑ -ȑ -ȑ -ȑ -ȑ - -Ȓ -Ȓ -Ȓ -Ȓ -Ȓ - -ȓ -ȓ -ȓ -ȓ -ȓ - -Ȕ -Ȕ -Ȕ -Ȕ -Ȕ - -ȕ -ȕ -ȕ -ȕ -ȕ - -Ȗ -Ȗ -Ȗ -Ȗ -Ȗ - -ȗ -ȗ -ȗ -ȗ -ȗ - -Ș -Ș -Ș -Ș -Ș - -ș -ș -ș -ș -ș - -Ț -Ț -Ț -Ț -Ț - -ț -ț -ț -ț -ț - -Ȟ -Ȟ -Ȟ -Ȟ -Ȟ - -ȟ -ȟ -ȟ -ȟ -ȟ - -Ȧ -Ȧ -Ȧ -Ȧ -Ȧ - -ȧ -ȧ -ȧ -ȧ -ȧ - -Ȩ -Ȩ -Ȩ -Ȩ -Ȩ - -ȩ -ȩ -ȩ -ȩ -ȩ - -Ȫ -Ȫ -Ȫ -Ȫ -Ȫ - -ȫ -ȫ -ȫ -ȫ -ȫ - -Ȭ -Ȭ -Ȭ -Ȭ -Ȭ - -ȭ -ȭ -ȭ -ȭ -ȭ - -Ȯ -Ȯ -Ȯ -Ȯ -Ȯ - -ȯ -ȯ -ȯ -ȯ -ȯ - -Ȱ -Ȱ -Ȱ -Ȱ -Ȱ - -ȱ -ȱ -ȱ -ȱ -ȱ - -Ȳ -Ȳ -Ȳ -Ȳ -Ȳ - -ȳ -ȳ -ȳ -ȳ -ȳ - -ʰ -ʰ -ʰ -h -h - -ʱ -ʱ -ʱ -ɦ -ɦ - -ʲ -ʲ -ʲ -j -j - -ʳ -ʳ -ʳ -r -r - -ʴ -ʴ -ʴ -ɹ -ɹ - -ʵ -ʵ -ʵ -ɻ -ɻ - -ʶ -ʶ -ʶ -ʁ -ʁ - -ʷ -ʷ -ʷ -w -w - -ʸ -ʸ -ʸ -y -y - -˘ -˘ -˘ - ̆ - ̆ - -˙ -˙ -˙ - ̇ - ̇ - -˚ -˚ -˚ - ̊ - ̊ - -˛ -˛ -˛ - ̨ - ̨ - -˜ -˜ -˜ - ̃ - ̃ - -˝ -˝ -˝ - ̋ - ̋ - -ˠ -ˠ -ˠ -ɣ -ɣ - -ˡ -ˡ -ˡ -l -l - -ˢ -ˢ -ˢ -s -s - -ˣ -ˣ -ˣ -x -x - -ˤ -ˤ -ˤ -ʕ -ʕ - -̀ -̀ -̀ -̀ -̀ - -́ -́ -́ -́ -́ - -̓ -̓ -̓ -̓ -̓ - -̈́ -̈́ -̈́ -̈́ -̈́ - -ʹ -ʹ -ʹ -ʹ -ʹ - -ͺ -ͺ -ͺ - ͅ - ͅ - -; -; -; -; -; - -΄ -΄ -΄ - ́ - ́ - -΅ -΅ -΅ - ̈́ - ̈́ - -Ά -Ά -Ά -Ά -Ά - -· -· -· -· -· - -Έ -Έ -Έ -Έ -Έ - -Ή -Ή -Ή -Ή -Ή - -Ί -Ί -Ί -Ί -Ί - -Ό -Ό -Ό -Ό -Ό - -Ύ -Ύ -Ύ -Ύ -Ύ - -Ώ -Ώ -Ώ -Ώ -Ώ - -ΐ -ΐ -ΐ -ΐ -ΐ - -Ϊ -Ϊ -Ϊ -Ϊ -Ϊ - -Ϋ -Ϋ -Ϋ -Ϋ -Ϋ - -ά -ά -ά -ά -ά - -έ -έ -έ -έ -έ - -ή -ή -ή -ή -ή - -ί -ί -ί -ί -ί - -ΰ -ΰ -ΰ -ΰ -ΰ - -ϊ -ϊ -ϊ -ϊ -ϊ - -ϋ -ϋ -ϋ -ϋ -ϋ - -ό -ό -ό -ό -ό - -ύ -ύ -ύ -ύ -ύ - -ώ -ώ -ώ -ώ -ώ - -ϐ -ϐ -ϐ -β -β - -ϑ -ϑ -ϑ -θ -θ - -ϒ -ϒ -ϒ -Υ -Υ - -ϓ -ϓ -ϓ -Ύ -Ύ - -ϔ -ϔ -ϔ -Ϋ -Ϋ - -ϕ -ϕ -ϕ -φ -φ - -ϖ -ϖ -ϖ -π -π - -ϰ -ϰ -ϰ -κ -κ - -ϱ -ϱ -ϱ -ρ -ρ - -ϲ -ϲ -ϲ -ς -ς - -ϴ -ϴ -ϴ -Θ -Θ - -ϵ -ϵ -ϵ -ε -ε - -Ϲ -Ϲ -Ϲ -Σ -Σ - -Ѐ -Ѐ -Ѐ -Ѐ -Ѐ - -Ё -Ё -Ё -Ё -Ё - -Ѓ -Ѓ -Ѓ -Ѓ -Ѓ - -Ї -Ї -Ї -Ї -Ї - -Ќ -Ќ -Ќ -Ќ -Ќ - -Ѝ -Ѝ -Ѝ -Ѝ -Ѝ - -Ў -Ў -Ў -Ў -Ў - -Й -Й -Й -Й -Й - -й -й -й -й -й - -ѐ -ѐ -ѐ -ѐ -ѐ - -ё -ё -ё -ё -ё - -ѓ -ѓ -ѓ -ѓ -ѓ - -ї -ї -ї -ї -ї - -ќ -ќ -ќ -ќ -ќ - -ѝ -ѝ -ѝ -ѝ -ѝ - -ў -ў -ў -ў -ў - -Ѷ -Ѷ -Ѷ -Ѷ -Ѷ - -ѷ -ѷ -ѷ -ѷ -ѷ - -Ӂ -Ӂ -Ӂ -Ӂ -Ӂ - -ӂ -ӂ -ӂ -ӂ -ӂ - -Ӑ -Ӑ -Ӑ -Ӑ -Ӑ - -ӑ -ӑ -ӑ -ӑ -ӑ - -Ӓ -Ӓ -Ӓ -Ӓ -Ӓ - -ӓ -ӓ -ӓ -ӓ -ӓ - -Ӗ -Ӗ -Ӗ -Ӗ -Ӗ - -ӗ -ӗ -ӗ -ӗ -ӗ - -Ӛ -Ӛ -Ӛ -Ӛ -Ӛ - -ӛ -ӛ -ӛ -ӛ -ӛ - -Ӝ -Ӝ -Ӝ -Ӝ -Ӝ - -ӝ -ӝ -ӝ -ӝ -ӝ - -Ӟ -Ӟ -Ӟ -Ӟ -Ӟ - -ӟ -ӟ -ӟ -ӟ -ӟ - -Ӣ -Ӣ -Ӣ -Ӣ -Ӣ - -ӣ -ӣ -ӣ -ӣ -ӣ - -Ӥ -Ӥ -Ӥ -Ӥ -Ӥ - -ӥ -ӥ -ӥ -ӥ -ӥ - -Ӧ -Ӧ -Ӧ -Ӧ -Ӧ - -ӧ -ӧ -ӧ -ӧ -ӧ - -Ӫ -Ӫ -Ӫ -Ӫ -Ӫ - -ӫ -ӫ -ӫ -ӫ -ӫ - -Ӭ -Ӭ -Ӭ -Ӭ -Ӭ - -ӭ -ӭ -ӭ -ӭ -ӭ - -Ӯ -Ӯ -Ӯ -Ӯ -Ӯ - -ӯ -ӯ -ӯ -ӯ -ӯ - -Ӱ -Ӱ -Ӱ -Ӱ -Ӱ - -ӱ -ӱ -ӱ -ӱ -ӱ - -Ӳ -Ӳ -Ӳ -Ӳ -Ӳ - -ӳ -ӳ -ӳ -ӳ -ӳ - -Ӵ -Ӵ -Ӵ -Ӵ -Ӵ - -ӵ -ӵ -ӵ -ӵ -ӵ - -Ӹ -Ӹ -Ӹ -Ӹ -Ӹ - -ӹ -ӹ -ӹ -ӹ -ӹ - -և -և -և -եւ -եւ - -آ -آ -آ -آ -آ - -أ -أ -أ -أ -أ - -ؤ -ؤ -ؤ -ؤ -ؤ - -إ -إ -إ -إ -إ - -ئ -ئ -ئ -ئ -ئ - -ٵ -ٵ -ٵ -اٴ -اٴ - -ٶ -ٶ -ٶ -وٴ -وٴ - -ٷ -ٷ -ٷ -ۇٴ -ۇٴ - -ٸ -ٸ -ٸ -يٴ -يٴ - -ۀ -ۀ -ۀ -ۀ -ۀ - -ۂ -ۂ -ۂ -ۂ -ۂ - -ۓ -ۓ -ۓ -ۓ -ۓ - -ऩ -ऩ -ऩ -ऩ -ऩ - -ऱ -ऱ -ऱ -ऱ -ऱ - -ऴ -ऴ -ऴ -ऴ -ऴ - -क़ -क़ -क़ -क़ -क़ - -ख़ -ख़ -ख़ -ख़ -ख़ - -ग़ -ग़ -ग़ -ग़ -ग़ - -ज़ -ज़ -ज़ -ज़ -ज़ - -ड़ -ड़ -ड़ -ड़ -ड़ - -ढ़ -ढ़ -ढ़ -ढ़ -ढ़ - -फ़ -फ़ -फ़ -फ़ -फ़ - -य़ -य़ -य़ -य़ -य़ - -ো -ো -ো -ো -ো - -ৌ -ৌ -ৌ -ৌ -ৌ - -ড় -ড় -ড় -ড় -ড় - -ঢ় -ঢ় -ঢ় -ঢ় -ঢ় - -য় -য় -য় -য় -য় - -ਲ਼ -ਲ਼ -ਲ਼ -ਲ਼ -ਲ਼ - -ਸ਼ -ਸ਼ -ਸ਼ -ਸ਼ -ਸ਼ - -ਖ਼ -ਖ਼ -ਖ਼ -ਖ਼ -ਖ਼ - -ਗ਼ -ਗ਼ -ਗ਼ -ਗ਼ -ਗ਼ - -ਜ਼ -ਜ਼ -ਜ਼ -ਜ਼ -ਜ਼ - -ਫ਼ -ਫ਼ -ਫ਼ -ਫ਼ -ਫ਼ - -ୈ -ୈ -ୈ -ୈ -ୈ - -ୋ -ୋ -ୋ -ୋ -ୋ - -ୌ -ୌ -ୌ -ୌ -ୌ - -ଡ଼ -ଡ଼ -ଡ଼ -ଡ଼ -ଡ଼ - -ଢ଼ -ଢ଼ -ଢ଼ -ଢ଼ -ଢ଼ - -ஔ -ஔ -ஔ -ஔ -ஔ - -ொ -ொ -ொ -ொ -ொ - -ோ -ோ -ோ -ோ -ோ - -ௌ -ௌ -ௌ -ௌ -ௌ - -ై -ై -ై -ై -ై - -ೀ -ೀ -ೀ -ೀ -ೀ - -ೇ -ೇ -ೇ -ೇ -ೇ - -ೈ -ೈ -ೈ -ೈ -ೈ - -ೊ -ೊ -ೊ -ೊ -ೊ - -ೋ -ೋ -ೋ -ೋ -ೋ - -ൊ -ൊ -ൊ -ൊ -ൊ - -ോ -ോ -ോ -ോ -ോ - -ൌ -ൌ -ൌ -ൌ -ൌ - -ේ -ේ -ේ -ේ -ේ - -ො -ො -ො -ො -ො - -ෝ -ෝ -ෝ -ෝ -ෝ - -ෞ -ෞ -ෞ -ෞ -ෞ - -ำ -ำ -ำ -ํา -ํา - -ຳ -ຳ -ຳ -ໍາ -ໍາ - -ໜ -ໜ -ໜ -ຫນ -ຫນ - -ໝ -ໝ -ໝ -ຫມ -ຫມ - -༌ -༌ -༌ -་ -་ - -གྷ -གྷ -གྷ -གྷ -གྷ - -ཌྷ -ཌྷ -ཌྷ -ཌྷ -ཌྷ - -དྷ -དྷ -དྷ -དྷ -དྷ - -བྷ -བྷ -བྷ -བྷ -བྷ - -ཛྷ -ཛྷ -ཛྷ -ཛྷ -ཛྷ - -ཀྵ -ཀྵ -ཀྵ -ཀྵ -ཀྵ - -ཱི -ཱི -ཱི -ཱི -ཱི - -ཱུ -ཱུ -ཱུ -ཱུ -ཱུ - -ྲྀ -ྲྀ -ྲྀ -ྲྀ -ྲྀ - -ཷ -ཷ -ཷ -ྲཱྀ -ྲཱྀ - -ླྀ -ླྀ -ླྀ -ླྀ -ླྀ - -ཹ -ཹ -ཹ -ླཱྀ -ླཱྀ - -ཱྀ -ཱྀ -ཱྀ -ཱྀ -ཱྀ - -ྒྷ -ྒྷ -ྒྷ -ྒྷ -ྒྷ - -ྜྷ -ྜྷ -ྜྷ -ྜྷ -ྜྷ - -ྡྷ -ྡྷ -ྡྷ -ྡྷ -ྡྷ - -ྦྷ -ྦྷ -ྦྷ -ྦྷ -ྦྷ - -ྫྷ -ྫྷ -ྫྷ -ྫྷ -ྫྷ - -ྐྵ -ྐྵ -ྐྵ -ྐྵ -ྐྵ - -ဦ -ဦ -ဦ -ဦ -ဦ - -ჼ -ჼ -ჼ -ნ -ნ - -ᬆ -ᬆ -ᬆ -ᬆ -ᬆ - -ᬈ -ᬈ -ᬈ -ᬈ -ᬈ - -ᬊ -ᬊ -ᬊ -ᬊ -ᬊ - -ᬌ -ᬌ -ᬌ -ᬌ -ᬌ - -ᬎ -ᬎ -ᬎ -ᬎ -ᬎ - -ᬒ -ᬒ -ᬒ -ᬒ -ᬒ - -ᬻ -ᬻ -ᬻ -ᬻ -ᬻ - -ᬽ -ᬽ -ᬽ -ᬽ -ᬽ - -ᭀ -ᭀ -ᭀ -ᭀ -ᭀ - -ᭁ -ᭁ -ᭁ -ᭁ -ᭁ - -ᭃ -ᭃ -ᭃ -ᭃ -ᭃ - -ᴬ -ᴬ -ᴬ -A -A - -ᴭ -ᴭ -ᴭ -Æ -Æ - -ᴮ -ᴮ -ᴮ -B -B - -ᴰ -ᴰ -ᴰ -D -D - -ᴱ -ᴱ -ᴱ -E -E - -ᴲ -ᴲ -ᴲ -Ǝ -Ǝ - -ᴳ -ᴳ -ᴳ -G -G - -ᴴ -ᴴ -ᴴ -H -H - -ᴵ -ᴵ -ᴵ -I -I - -ᴶ -ᴶ -ᴶ -J -J - -ᴷ -ᴷ -ᴷ -K -K - -ᴸ -ᴸ -ᴸ -L -L - -ᴹ -ᴹ -ᴹ -M -M - -ᴺ -ᴺ -ᴺ -N -N - -ᴼ -ᴼ -ᴼ -O -O - -ᴽ -ᴽ -ᴽ -Ȣ -Ȣ - -ᴾ -ᴾ -ᴾ -P -P - -ᴿ -ᴿ -ᴿ -R -R - -ᵀ -ᵀ -ᵀ -T -T - -ᵁ -ᵁ -ᵁ -U -U - -ᵂ -ᵂ -ᵂ -W -W - -ᵃ -ᵃ -ᵃ -a -a - -ᵄ -ᵄ -ᵄ -ɐ -ɐ - -ᵅ -ᵅ -ᵅ -ɑ -ɑ - -ᵆ -ᵆ -ᵆ -ᴂ -ᴂ - -ᵇ -ᵇ -ᵇ -b -b - -ᵈ -ᵈ -ᵈ -d -d - -ᵉ -ᵉ -ᵉ -e -e - -ᵊ -ᵊ -ᵊ -ə -ə - -ᵋ -ᵋ -ᵋ -ɛ -ɛ - -ᵌ -ᵌ -ᵌ -ɜ -ɜ - -ᵍ -ᵍ -ᵍ -g -g - -ᵏ -ᵏ -ᵏ -k -k - -ᵐ -ᵐ -ᵐ -m -m - -ᵑ -ᵑ -ᵑ -ŋ -ŋ - -ᵒ -ᵒ -ᵒ -o -o - -ᵓ -ᵓ -ᵓ -ɔ -ɔ - -ᵔ -ᵔ -ᵔ -ᴖ -ᴖ - -ᵕ -ᵕ -ᵕ -ᴗ -ᴗ - -ᵖ -ᵖ -ᵖ -p -p - -ᵗ -ᵗ -ᵗ -t -t - -ᵘ -ᵘ -ᵘ -u -u - -ᵙ -ᵙ -ᵙ -ᴝ -ᴝ - -ᵚ -ᵚ -ᵚ -ɯ -ɯ - -ᵛ -ᵛ -ᵛ -v -v - -ᵜ -ᵜ -ᵜ -ᴥ -ᴥ - -ᵝ -ᵝ -ᵝ -β -β - -ᵞ -ᵞ -ᵞ -γ -γ - -ᵟ -ᵟ -ᵟ -δ -δ - -ᵠ -ᵠ -ᵠ -φ -φ - -ᵡ -ᵡ -ᵡ -χ -χ - -ᵢ -ᵢ -ᵢ -i -i - -ᵣ -ᵣ -ᵣ -r -r - -ᵤ -ᵤ -ᵤ -u -u - -ᵥ -ᵥ -ᵥ -v -v - -ᵦ -ᵦ -ᵦ -β -β - -ᵧ -ᵧ -ᵧ -γ -γ - -ᵨ -ᵨ -ᵨ -ρ -ρ - -ᵩ -ᵩ -ᵩ -φ -φ - -ᵪ -ᵪ -ᵪ -χ -χ - -ᵸ -ᵸ -ᵸ -н -н - -ᶛ -ᶛ -ᶛ -ɒ -ɒ - -ᶜ -ᶜ -ᶜ -c -c - -ᶝ -ᶝ -ᶝ -ɕ -ɕ - -ᶞ -ᶞ -ᶞ -ð -ð - -ᶟ -ᶟ -ᶟ -ɜ -ɜ - -ᶠ -ᶠ -ᶠ -f -f - -ᶡ -ᶡ -ᶡ -ɟ -ɟ - -ᶢ -ᶢ -ᶢ -ɡ -ɡ - -ᶣ -ᶣ -ᶣ -ɥ -ɥ - -ᶤ -ᶤ -ᶤ -ɨ -ɨ - -ᶥ -ᶥ -ᶥ -ɩ -ɩ - -ᶦ -ᶦ -ᶦ -ɪ -ɪ - -ᶧ -ᶧ -ᶧ -ᵻ -ᵻ - -ᶨ -ᶨ -ᶨ -ʝ -ʝ - -ᶩ -ᶩ -ᶩ -ɭ -ɭ - -ᶪ -ᶪ -ᶪ -ᶅ -ᶅ - -ᶫ -ᶫ -ᶫ -ʟ -ʟ - -ᶬ -ᶬ -ᶬ -ɱ -ɱ - -ᶭ -ᶭ -ᶭ -ɰ -ɰ - -ᶮ -ᶮ -ᶮ -ɲ -ɲ - -ᶯ -ᶯ -ᶯ -ɳ -ɳ - -ᶰ -ᶰ -ᶰ -ɴ -ɴ - -ᶱ -ᶱ -ᶱ -ɵ -ɵ - -ᶲ -ᶲ -ᶲ -ɸ -ɸ - -ᶳ -ᶳ -ᶳ -ʂ -ʂ - -ᶴ -ᶴ -ᶴ -ʃ -ʃ - -ᶵ -ᶵ -ᶵ -ƫ -ƫ - -ᶶ -ᶶ -ᶶ -ʉ -ʉ - -ᶷ -ᶷ -ᶷ -ʊ -ʊ - -ᶸ -ᶸ -ᶸ -ᴜ -ᴜ - -ᶹ -ᶹ -ᶹ -ʋ -ʋ - -ᶺ -ᶺ -ᶺ -ʌ -ʌ - -ᶻ -ᶻ -ᶻ -z -z - -ᶼ -ᶼ -ᶼ -ʐ -ʐ - -ᶽ -ᶽ -ᶽ -ʑ -ʑ - -ᶾ -ᶾ -ᶾ -ʒ -ʒ - -ᶿ -ᶿ -ᶿ -θ -θ - -Ḁ -Ḁ -Ḁ -Ḁ -Ḁ - -ḁ -ḁ -ḁ -ḁ -ḁ - -Ḃ -Ḃ -Ḃ -Ḃ -Ḃ - -ḃ -ḃ -ḃ -ḃ -ḃ - -Ḅ -Ḅ -Ḅ -Ḅ -Ḅ - -ḅ -ḅ -ḅ -ḅ -ḅ - -Ḇ -Ḇ -Ḇ -Ḇ -Ḇ - -ḇ -ḇ -ḇ -ḇ -ḇ - -Ḉ -Ḉ -Ḉ -Ḉ -Ḉ - -ḉ -ḉ -ḉ -ḉ -ḉ - -Ḋ -Ḋ -Ḋ -Ḋ -Ḋ - -ḋ -ḋ -ḋ -ḋ -ḋ - -Ḍ -Ḍ -Ḍ -Ḍ -Ḍ - -ḍ -ḍ -ḍ -ḍ -ḍ - -Ḏ -Ḏ -Ḏ -Ḏ -Ḏ - -ḏ -ḏ -ḏ -ḏ -ḏ - -Ḑ -Ḑ -Ḑ -Ḑ -Ḑ - -ḑ -ḑ -ḑ -ḑ -ḑ - -Ḓ -Ḓ -Ḓ -Ḓ -Ḓ - -ḓ -ḓ -ḓ -ḓ -ḓ - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -ḕ -ḕ -ḕ -ḕ -ḕ - -Ḗ -Ḗ -Ḗ -Ḗ -Ḗ - -ḗ -ḗ -ḗ -ḗ -ḗ - -Ḙ -Ḙ -Ḙ -Ḙ -Ḙ - -ḙ -ḙ -ḙ -ḙ -ḙ - -Ḛ -Ḛ -Ḛ -Ḛ -Ḛ - -ḛ -ḛ -ḛ -ḛ -ḛ - -Ḝ -Ḝ -Ḝ -Ḝ -Ḝ - -ḝ -ḝ -ḝ -ḝ -ḝ - -Ḟ -Ḟ -Ḟ -Ḟ -Ḟ - -ḟ -ḟ -ḟ -ḟ -ḟ - -Ḡ -Ḡ -Ḡ -Ḡ -Ḡ - -ḡ -ḡ -ḡ -ḡ -ḡ - -Ḣ -Ḣ -Ḣ -Ḣ -Ḣ - -ḣ -ḣ -ḣ -ḣ -ḣ - -Ḥ -Ḥ -Ḥ -Ḥ -Ḥ - -ḥ -ḥ -ḥ -ḥ -ḥ - -Ḧ -Ḧ -Ḧ -Ḧ -Ḧ - -ḧ -ḧ -ḧ -ḧ -ḧ - -Ḩ -Ḩ -Ḩ -Ḩ -Ḩ - -ḩ -ḩ -ḩ -ḩ -ḩ - -Ḫ -Ḫ -Ḫ -Ḫ -Ḫ - -ḫ -ḫ -ḫ -ḫ -ḫ - -Ḭ -Ḭ -Ḭ -Ḭ -Ḭ - -ḭ -ḭ -ḭ -ḭ -ḭ - -Ḯ -Ḯ -Ḯ -Ḯ -Ḯ - -ḯ -ḯ -ḯ -ḯ -ḯ - -Ḱ -Ḱ -Ḱ -Ḱ -Ḱ - -ḱ -ḱ -ḱ -ḱ -ḱ - -Ḳ -Ḳ -Ḳ -Ḳ -Ḳ - -ḳ -ḳ -ḳ -ḳ -ḳ - -Ḵ -Ḵ -Ḵ -Ḵ -Ḵ - -ḵ -ḵ -ḵ -ḵ -ḵ - -Ḷ -Ḷ -Ḷ -Ḷ -Ḷ - -ḷ -ḷ -ḷ -ḷ -ḷ - -Ḹ -Ḹ -Ḹ -Ḹ -Ḹ - -ḹ -ḹ -ḹ -ḹ -ḹ - -Ḻ -Ḻ -Ḻ -Ḻ -Ḻ - -ḻ -ḻ -ḻ -ḻ -ḻ - -Ḽ -Ḽ -Ḽ -Ḽ -Ḽ - -ḽ -ḽ -ḽ -ḽ -ḽ - -Ḿ -Ḿ -Ḿ -Ḿ -Ḿ - -ḿ -ḿ -ḿ -ḿ -ḿ - -Ṁ -Ṁ -Ṁ -Ṁ -Ṁ - -ṁ -ṁ -ṁ -ṁ -ṁ - -Ṃ -Ṃ -Ṃ -Ṃ -Ṃ - -ṃ -ṃ -ṃ -ṃ -ṃ - -Ṅ -Ṅ -Ṅ -Ṅ -Ṅ - -ṅ -ṅ -ṅ -ṅ -ṅ - -Ṇ -Ṇ -Ṇ -Ṇ -Ṇ - -ṇ -ṇ -ṇ -ṇ -ṇ - -Ṉ -Ṉ -Ṉ -Ṉ -Ṉ - -ṉ -ṉ -ṉ -ṉ -ṉ - -Ṋ -Ṋ -Ṋ -Ṋ -Ṋ - -ṋ -ṋ -ṋ -ṋ -ṋ - -Ṍ -Ṍ -Ṍ -Ṍ -Ṍ - -ṍ -ṍ -ṍ -ṍ -ṍ - -Ṏ -Ṏ -Ṏ -Ṏ -Ṏ - -ṏ -ṏ -ṏ -ṏ -ṏ - -Ṑ -Ṑ -Ṑ -Ṑ -Ṑ - -ṑ -ṑ -ṑ -ṑ -ṑ - -Ṓ -Ṓ -Ṓ -Ṓ -Ṓ - -ṓ -ṓ -ṓ -ṓ -ṓ - -Ṕ -Ṕ -Ṕ -Ṕ -Ṕ - -ṕ -ṕ -ṕ -ṕ -ṕ - -Ṗ -Ṗ -Ṗ -Ṗ -Ṗ - -ṗ -ṗ -ṗ -ṗ -ṗ - -Ṙ -Ṙ -Ṙ -Ṙ -Ṙ - -ṙ -ṙ -ṙ -ṙ -ṙ - -Ṛ -Ṛ -Ṛ -Ṛ -Ṛ - -ṛ -ṛ -ṛ -ṛ -ṛ - -Ṝ -Ṝ -Ṝ -Ṝ -Ṝ - -ṝ -ṝ -ṝ -ṝ -ṝ - -Ṟ -Ṟ -Ṟ -Ṟ -Ṟ - -ṟ -ṟ -ṟ -ṟ -ṟ - -Ṡ -Ṡ -Ṡ -Ṡ -Ṡ - -ṡ -ṡ -ṡ -ṡ -ṡ - -Ṣ -Ṣ -Ṣ -Ṣ -Ṣ - -ṣ -ṣ -ṣ -ṣ -ṣ - -Ṥ -Ṥ -Ṥ -Ṥ -Ṥ - -ṥ -ṥ -ṥ -ṥ -ṥ - -Ṧ -Ṧ -Ṧ -Ṧ -Ṧ - -ṧ -ṧ -ṧ -ṧ -ṧ - -Ṩ -Ṩ -Ṩ -Ṩ -Ṩ - -ṩ -ṩ -ṩ -ṩ -ṩ - -Ṫ -Ṫ -Ṫ -Ṫ -Ṫ - -ṫ -ṫ -ṫ -ṫ -ṫ - -Ṭ -Ṭ -Ṭ -Ṭ -Ṭ - -ṭ -ṭ -ṭ -ṭ -ṭ - -Ṯ -Ṯ -Ṯ -Ṯ -Ṯ - -ṯ -ṯ -ṯ -ṯ -ṯ - -Ṱ -Ṱ -Ṱ -Ṱ -Ṱ - -ṱ -ṱ -ṱ -ṱ -ṱ - -Ṳ -Ṳ -Ṳ -Ṳ -Ṳ - -ṳ -ṳ -ṳ -ṳ -ṳ - -Ṵ -Ṵ -Ṵ -Ṵ -Ṵ - -ṵ -ṵ -ṵ -ṵ -ṵ - -Ṷ -Ṷ -Ṷ -Ṷ -Ṷ - -ṷ -ṷ -ṷ -ṷ -ṷ - -Ṹ -Ṹ -Ṹ -Ṹ -Ṹ - -ṹ -ṹ -ṹ -ṹ -ṹ - -Ṻ -Ṻ -Ṻ -Ṻ -Ṻ - -ṻ -ṻ -ṻ -ṻ -ṻ - -Ṽ -Ṽ -Ṽ -Ṽ -Ṽ - -ṽ -ṽ -ṽ -ṽ -ṽ - -Ṿ -Ṿ -Ṿ -Ṿ -Ṿ - -ṿ -ṿ -ṿ -ṿ -ṿ - -Ẁ -Ẁ -Ẁ -Ẁ -Ẁ - -ẁ -ẁ -ẁ -ẁ -ẁ - -Ẃ -Ẃ -Ẃ -Ẃ -Ẃ - -ẃ -ẃ -ẃ -ẃ -ẃ - -Ẅ -Ẅ -Ẅ -Ẅ -Ẅ - -ẅ -ẅ -ẅ -ẅ -ẅ - -Ẇ -Ẇ -Ẇ -Ẇ -Ẇ - -ẇ -ẇ -ẇ -ẇ -ẇ - -Ẉ -Ẉ -Ẉ -Ẉ -Ẉ - -ẉ -ẉ -ẉ -ẉ -ẉ - -Ẋ -Ẋ -Ẋ -Ẋ -Ẋ - -ẋ -ẋ -ẋ -ẋ -ẋ - -Ẍ -Ẍ -Ẍ -Ẍ -Ẍ - -ẍ -ẍ -ẍ -ẍ -ẍ - -Ẏ -Ẏ -Ẏ -Ẏ -Ẏ - -ẏ -ẏ -ẏ -ẏ -ẏ - -Ẑ -Ẑ -Ẑ -Ẑ -Ẑ - -ẑ -ẑ -ẑ -ẑ -ẑ - -Ẓ -Ẓ -Ẓ -Ẓ -Ẓ - -ẓ -ẓ -ẓ -ẓ -ẓ - -Ẕ -Ẕ -Ẕ -Ẕ -Ẕ - -ẕ -ẕ -ẕ -ẕ -ẕ - -ẖ -ẖ -ẖ -ẖ -ẖ - -ẗ -ẗ -ẗ -ẗ -ẗ - -ẘ -ẘ -ẘ -ẘ -ẘ - -ẙ -ẙ -ẙ -ẙ -ẙ - -ẚ -ẚ -ẚ -aʾ -aʾ - -ẛ -ẛ -ẛ -ṡ -ṡ - -Ạ -Ạ -Ạ -Ạ -Ạ - -ạ -ạ -ạ -ạ -ạ - -Ả -Ả -Ả -Ả -Ả - -ả -ả -ả -ả -ả - -Ấ -Ấ -Ấ -Ấ -Ấ - -ấ -ấ -ấ -ấ -ấ - -Ầ -Ầ -Ầ -Ầ -Ầ - -ầ -ầ -ầ -ầ -ầ - -Ẩ -Ẩ -Ẩ -Ẩ -Ẩ - -ẩ -ẩ -ẩ -ẩ -ẩ - -Ẫ -Ẫ -Ẫ -Ẫ -Ẫ - -ẫ -ẫ -ẫ -ẫ -ẫ - -Ậ -Ậ -Ậ -Ậ -Ậ - -ậ -ậ -ậ -ậ -ậ - -Ắ -Ắ -Ắ -Ắ -Ắ - -ắ -ắ -ắ -ắ -ắ - -Ằ -Ằ -Ằ -Ằ -Ằ - -ằ -ằ -ằ -ằ -ằ - -Ẳ -Ẳ -Ẳ -Ẳ -Ẳ - -ẳ -ẳ -ẳ -ẳ -ẳ - -Ẵ -Ẵ -Ẵ -Ẵ -Ẵ - -ẵ -ẵ -ẵ -ẵ -ẵ - -Ặ -Ặ -Ặ -Ặ -Ặ - -ặ -ặ -ặ -ặ -ặ - -Ẹ -Ẹ -Ẹ -Ẹ -Ẹ - -ẹ -ẹ -ẹ -ẹ -ẹ - -Ẻ -Ẻ -Ẻ -Ẻ -Ẻ - -ẻ -ẻ -ẻ -ẻ -ẻ - -Ẽ -Ẽ -Ẽ -Ẽ -Ẽ - -ẽ -ẽ -ẽ -ẽ -ẽ - -Ế -Ế -Ế -Ế -Ế - -ế -ế -ế -ế -ế - -Ề -Ề -Ề -Ề -Ề - -ề -ề -ề -ề -ề - -Ể -Ể -Ể -Ể -Ể - -ể -ể -ể -ể -ể - -Ễ -Ễ -Ễ -Ễ -Ễ - -ễ -ễ -ễ -ễ -ễ - -Ệ -Ệ -Ệ -Ệ -Ệ - -ệ -ệ -ệ -ệ -ệ - -Ỉ -Ỉ -Ỉ -Ỉ -Ỉ - -ỉ -ỉ -ỉ -ỉ -ỉ - -Ị -Ị -Ị -Ị -Ị - -ị -ị -ị -ị -ị - -Ọ -Ọ -Ọ -Ọ -Ọ - -ọ -ọ -ọ -ọ -ọ - -Ỏ -Ỏ -Ỏ -Ỏ -Ỏ - -ỏ -ỏ -ỏ -ỏ -ỏ - -Ố -Ố -Ố -Ố -Ố - -ố -ố -ố -ố -ố - -Ồ -Ồ -Ồ -Ồ -Ồ - -ồ -ồ -ồ -ồ -ồ - -Ổ -Ổ -Ổ -Ổ -Ổ - -ổ -ổ -ổ -ổ -ổ - -Ỗ -Ỗ -Ỗ -Ỗ -Ỗ - -ỗ -ỗ -ỗ -ỗ -ỗ - -Ộ -Ộ -Ộ -Ộ -Ộ - -ộ -ộ -ộ -ộ -ộ - -Ớ -Ớ -Ớ -Ớ -Ớ - -ớ -ớ -ớ -ớ -ớ - -Ờ -Ờ -Ờ -Ờ -Ờ - -ờ -ờ -ờ -ờ -ờ - -Ở -Ở -Ở -Ở -Ở - -ở -ở -ở -ở -ở - -Ỡ -Ỡ -Ỡ -Ỡ -Ỡ - -ỡ -ỡ -ỡ -ỡ -ỡ - -Ợ -Ợ -Ợ -Ợ -Ợ - -ợ -ợ -ợ -ợ -ợ - -Ụ -Ụ -Ụ -Ụ -Ụ - -ụ -ụ -ụ -ụ -ụ - -Ủ -Ủ -Ủ -Ủ -Ủ - -ủ -ủ -ủ -ủ -ủ - -Ứ -Ứ -Ứ -Ứ -Ứ - -ứ -ứ -ứ -ứ -ứ - -Ừ -Ừ -Ừ -Ừ -Ừ - -ừ -ừ -ừ -ừ -ừ - -Ử -Ử -Ử -Ử -Ử - -ử -ử -ử -ử -ử - -Ữ -Ữ -Ữ -Ữ -Ữ - -ữ -ữ -ữ -ữ -ữ - -Ự -Ự -Ự -Ự -Ự - -ự -ự -ự -ự -ự - -Ỳ -Ỳ -Ỳ -Ỳ -Ỳ - -ỳ -ỳ -ỳ -ỳ -ỳ - -Ỵ -Ỵ -Ỵ -Ỵ -Ỵ - -ỵ -ỵ -ỵ -ỵ -ỵ - -Ỷ -Ỷ -Ỷ -Ỷ -Ỷ - -ỷ -ỷ -ỷ -ỷ -ỷ - -Ỹ -Ỹ -Ỹ -Ỹ -Ỹ - -ỹ -ỹ -ỹ -ỹ -ỹ - -ἀ -ἀ -ἀ -ἀ -ἀ - -ἁ -ἁ -ἁ -ἁ -ἁ - -ἂ -ἂ -ἂ -ἂ -ἂ - -ἃ -ἃ -ἃ -ἃ -ἃ - -ἄ -ἄ -ἄ -ἄ -ἄ - -ἅ -ἅ -ἅ -ἅ -ἅ - -ἆ -ἆ -ἆ -ἆ -ἆ - -ἇ -ἇ -ἇ -ἇ -ἇ - -Ἀ -Ἀ -Ἀ -Ἀ -Ἀ - -Ἁ -Ἁ -Ἁ -Ἁ -Ἁ - -Ἂ -Ἂ -Ἂ -Ἂ -Ἂ - -Ἃ -Ἃ -Ἃ -Ἃ -Ἃ - -Ἄ -Ἄ -Ἄ -Ἄ -Ἄ - -Ἅ -Ἅ -Ἅ -Ἅ -Ἅ - -Ἆ -Ἆ -Ἆ -Ἆ -Ἆ - -Ἇ -Ἇ -Ἇ -Ἇ -Ἇ - -ἐ -ἐ -ἐ -ἐ -ἐ - -ἑ -ἑ -ἑ -ἑ -ἑ - -ἒ -ἒ -ἒ -ἒ -ἒ - -ἓ -ἓ -ἓ -ἓ -ἓ - -ἔ -ἔ -ἔ -ἔ -ἔ - -ἕ -ἕ -ἕ -ἕ -ἕ - -Ἐ -Ἐ -Ἐ -Ἐ -Ἐ - -Ἑ -Ἑ -Ἑ -Ἑ -Ἑ - -Ἒ -Ἒ -Ἒ -Ἒ -Ἒ - -Ἓ -Ἓ -Ἓ -Ἓ -Ἓ - -Ἔ -Ἔ -Ἔ -Ἔ -Ἔ - -Ἕ -Ἕ -Ἕ -Ἕ -Ἕ - -ἠ -ἠ -ἠ -ἠ -ἠ - -ἡ -ἡ -ἡ -ἡ -ἡ - -ἢ -ἢ -ἢ -ἢ -ἢ - -ἣ -ἣ -ἣ -ἣ -ἣ - -ἤ -ἤ -ἤ -ἤ -ἤ - -ἥ -ἥ -ἥ -ἥ -ἥ - -ἦ -ἦ -ἦ -ἦ -ἦ - -ἧ -ἧ -ἧ -ἧ -ἧ - -Ἠ -Ἠ -Ἠ -Ἠ -Ἠ - -Ἡ -Ἡ -Ἡ -Ἡ -Ἡ - -Ἢ -Ἢ -Ἢ -Ἢ -Ἢ - -Ἣ -Ἣ -Ἣ -Ἣ -Ἣ - -Ἤ -Ἤ -Ἤ -Ἤ -Ἤ - -Ἥ -Ἥ -Ἥ -Ἥ -Ἥ - -Ἦ -Ἦ -Ἦ -Ἦ -Ἦ - -Ἧ -Ἧ -Ἧ -Ἧ -Ἧ - -ἰ -ἰ -ἰ -ἰ -ἰ - -ἱ -ἱ -ἱ -ἱ -ἱ - -ἲ -ἲ -ἲ -ἲ -ἲ - -ἳ -ἳ -ἳ -ἳ -ἳ - -ἴ -ἴ -ἴ -ἴ -ἴ - -ἵ -ἵ -ἵ -ἵ -ἵ - -ἶ -ἶ -ἶ -ἶ -ἶ - -ἷ -ἷ -ἷ -ἷ -ἷ - -Ἰ -Ἰ -Ἰ -Ἰ -Ἰ - -Ἱ -Ἱ -Ἱ -Ἱ -Ἱ - -Ἲ -Ἲ -Ἲ -Ἲ -Ἲ - -Ἳ -Ἳ -Ἳ -Ἳ -Ἳ - -Ἴ -Ἴ -Ἴ -Ἴ -Ἴ - -Ἵ -Ἵ -Ἵ -Ἵ -Ἵ - -Ἶ -Ἶ -Ἶ -Ἶ -Ἶ - -Ἷ -Ἷ -Ἷ -Ἷ -Ἷ - -ὀ -ὀ -ὀ -ὀ -ὀ - -ὁ -ὁ -ὁ -ὁ -ὁ - -ὂ -ὂ -ὂ -ὂ -ὂ - -ὃ -ὃ -ὃ -ὃ -ὃ - -ὄ -ὄ -ὄ -ὄ -ὄ - -ὅ -ὅ -ὅ -ὅ -ὅ - -Ὀ -Ὀ -Ὀ -Ὀ -Ὀ - -Ὁ -Ὁ -Ὁ -Ὁ -Ὁ - -Ὂ -Ὂ -Ὂ -Ὂ -Ὂ - -Ὃ -Ὃ -Ὃ -Ὃ -Ὃ - -Ὄ -Ὄ -Ὄ -Ὄ -Ὄ - -Ὅ -Ὅ -Ὅ -Ὅ -Ὅ - -ὐ -ὐ -ὐ -ὐ -ὐ - -ὑ -ὑ -ὑ -ὑ -ὑ - -ὒ -ὒ -ὒ -ὒ -ὒ - -ὓ -ὓ -ὓ -ὓ -ὓ - -ὔ -ὔ -ὔ -ὔ -ὔ - -ὕ -ὕ -ὕ -ὕ -ὕ - -ὖ -ὖ -ὖ -ὖ -ὖ - -ὗ -ὗ -ὗ -ὗ -ὗ - -Ὑ -Ὑ -Ὑ -Ὑ -Ὑ - -Ὓ -Ὓ -Ὓ -Ὓ -Ὓ - -Ὕ -Ὕ -Ὕ -Ὕ -Ὕ - -Ὗ -Ὗ -Ὗ -Ὗ -Ὗ - -ὠ -ὠ -ὠ -ὠ -ὠ - -ὡ -ὡ -ὡ -ὡ -ὡ - -ὢ -ὢ -ὢ -ὢ -ὢ - -ὣ -ὣ -ὣ -ὣ -ὣ - -ὤ -ὤ -ὤ -ὤ -ὤ - -ὥ -ὥ -ὥ -ὥ -ὥ - -ὦ -ὦ -ὦ -ὦ -ὦ - -ὧ -ὧ -ὧ -ὧ -ὧ - -Ὠ -Ὠ -Ὠ -Ὠ -Ὠ - -Ὡ -Ὡ -Ὡ -Ὡ -Ὡ - -Ὢ -Ὢ -Ὢ -Ὢ -Ὢ - -Ὣ -Ὣ -Ὣ -Ὣ -Ὣ - -Ὤ -Ὤ -Ὤ -Ὤ -Ὤ - -Ὥ -Ὥ -Ὥ -Ὥ -Ὥ - -Ὦ -Ὦ -Ὦ -Ὦ -Ὦ - -Ὧ -Ὧ -Ὧ -Ὧ -Ὧ - -ὰ -ὰ -ὰ -ὰ -ὰ - -ά -ά -ά -ά -ά - -ὲ -ὲ -ὲ -ὲ -ὲ - -έ -έ -έ -έ -έ - -ὴ -ὴ -ὴ -ὴ -ὴ - -ή -ή -ή -ή -ή - -ὶ -ὶ -ὶ -ὶ -ὶ - -ί -ί -ί -ί -ί - -ὸ -ὸ -ὸ -ὸ -ὸ - -ό -ό -ό -ό -ό - -ὺ -ὺ -ὺ -ὺ -ὺ - -ύ -ύ -ύ -ύ -ύ - -ὼ -ὼ -ὼ -ὼ -ὼ - -ώ -ώ -ώ -ώ -ώ - -ᾀ -ᾀ -ᾀ -ᾀ -ᾀ - -ᾁ -ᾁ -ᾁ -ᾁ -ᾁ - -ᾂ -ᾂ -ᾂ -ᾂ -ᾂ - -ᾃ -ᾃ -ᾃ -ᾃ -ᾃ - -ᾄ -ᾄ -ᾄ -ᾄ -ᾄ - -ᾅ -ᾅ -ᾅ -ᾅ -ᾅ - -ᾆ -ᾆ -ᾆ -ᾆ -ᾆ - -ᾇ -ᾇ -ᾇ -ᾇ -ᾇ - -ᾈ -ᾈ -ᾈ -ᾈ -ᾈ - -ᾉ -ᾉ -ᾉ -ᾉ -ᾉ - -ᾊ -ᾊ -ᾊ -ᾊ -ᾊ - -ᾋ -ᾋ -ᾋ -ᾋ -ᾋ - -ᾌ -ᾌ -ᾌ -ᾌ -ᾌ - -ᾍ -ᾍ -ᾍ -ᾍ -ᾍ - -ᾎ -ᾎ -ᾎ -ᾎ -ᾎ - -ᾏ -ᾏ -ᾏ -ᾏ -ᾏ - -ᾐ -ᾐ -ᾐ -ᾐ -ᾐ - -ᾑ -ᾑ -ᾑ -ᾑ -ᾑ - -ᾒ -ᾒ -ᾒ -ᾒ -ᾒ - -ᾓ -ᾓ -ᾓ -ᾓ -ᾓ - -ᾔ -ᾔ -ᾔ -ᾔ -ᾔ - -ᾕ -ᾕ -ᾕ -ᾕ -ᾕ - -ᾖ -ᾖ -ᾖ -ᾖ -ᾖ - -ᾗ -ᾗ -ᾗ -ᾗ -ᾗ - -ᾘ -ᾘ -ᾘ -ᾘ -ᾘ - -ᾙ -ᾙ -ᾙ -ᾙ -ᾙ - -ᾚ -ᾚ -ᾚ -ᾚ -ᾚ - -ᾛ -ᾛ -ᾛ -ᾛ -ᾛ - -ᾜ -ᾜ -ᾜ -ᾜ -ᾜ - -ᾝ -ᾝ -ᾝ -ᾝ -ᾝ - -ᾞ -ᾞ -ᾞ -ᾞ -ᾞ - -ᾟ -ᾟ -ᾟ -ᾟ -ᾟ - -ᾠ -ᾠ -ᾠ -ᾠ -ᾠ - -ᾡ -ᾡ -ᾡ -ᾡ -ᾡ - -ᾢ -ᾢ -ᾢ -ᾢ -ᾢ - -ᾣ -ᾣ -ᾣ -ᾣ -ᾣ - -ᾤ -ᾤ -ᾤ -ᾤ -ᾤ - -ᾥ -ᾥ -ᾥ -ᾥ -ᾥ - -ᾦ -ᾦ -ᾦ -ᾦ -ᾦ - -ᾧ -ᾧ -ᾧ -ᾧ -ᾧ - -ᾨ -ᾨ -ᾨ -ᾨ -ᾨ - -ᾩ -ᾩ -ᾩ -ᾩ -ᾩ - -ᾪ -ᾪ -ᾪ -ᾪ -ᾪ - -ᾫ -ᾫ -ᾫ -ᾫ -ᾫ - -ᾬ -ᾬ -ᾬ -ᾬ -ᾬ - -ᾭ -ᾭ -ᾭ -ᾭ -ᾭ - -ᾮ -ᾮ -ᾮ -ᾮ -ᾮ - -ᾯ -ᾯ -ᾯ -ᾯ -ᾯ - -ᾰ -ᾰ -ᾰ -ᾰ -ᾰ - -ᾱ -ᾱ -ᾱ -ᾱ -ᾱ - -ᾲ -ᾲ -ᾲ -ᾲ -ᾲ - -ᾳ -ᾳ -ᾳ -ᾳ -ᾳ - -ᾴ -ᾴ -ᾴ -ᾴ -ᾴ - -ᾶ -ᾶ -ᾶ -ᾶ -ᾶ - -ᾷ -ᾷ -ᾷ -ᾷ -ᾷ - -Ᾰ -Ᾰ -Ᾰ -Ᾰ -Ᾰ - -Ᾱ -Ᾱ -Ᾱ -Ᾱ -Ᾱ - -Ὰ -Ὰ -Ὰ -Ὰ -Ὰ - -Ά -Ά -Ά -Ά -Ά - -ᾼ -ᾼ -ᾼ -ᾼ -ᾼ - -᾽ -᾽ -᾽ - ̓ - ̓ - -ι -ι -ι -ι -ι - -᾿ -᾿ -᾿ - ̓ - ̓ - -῀ -῀ -῀ - ͂ - ͂ - -῁ -῁ -῁ - ̈͂ - ̈͂ - -ῂ -ῂ -ῂ -ῂ -ῂ - -ῃ -ῃ -ῃ -ῃ -ῃ - -ῄ -ῄ -ῄ -ῄ -ῄ - -ῆ -ῆ -ῆ -ῆ -ῆ - -ῇ -ῇ -ῇ -ῇ -ῇ - -Ὲ -Ὲ -Ὲ -Ὲ -Ὲ - -Έ -Έ -Έ -Έ -Έ - -Ὴ -Ὴ -Ὴ -Ὴ -Ὴ - -Ή -Ή -Ή -Ή -Ή - -ῌ -ῌ -ῌ -ῌ -ῌ - -῍ -῍ -῍ - ̓̀ - ̓̀ - -῎ -῎ -῎ - ̓́ - ̓́ - -῏ -῏ -῏ - ̓͂ - ̓͂ - -ῐ -ῐ -ῐ -ῐ -ῐ - -ῑ -ῑ -ῑ -ῑ -ῑ - -ῒ -ῒ -ῒ -ῒ -ῒ - -ΐ -ΐ -ΐ -ΐ -ΐ - -ῖ -ῖ -ῖ -ῖ -ῖ - -ῗ -ῗ -ῗ -ῗ -ῗ - -Ῐ -Ῐ -Ῐ -Ῐ -Ῐ - -Ῑ -Ῑ -Ῑ -Ῑ -Ῑ - -Ὶ -Ὶ -Ὶ -Ὶ -Ὶ - -Ί -Ί -Ί -Ί -Ί - -῝ -῝ -῝ - ̔̀ - ̔̀ - -῞ -῞ -῞ - ̔́ - ̔́ - -῟ -῟ -῟ - ̔͂ - ̔͂ - -ῠ -ῠ -ῠ -ῠ -ῠ - -ῡ -ῡ -ῡ -ῡ -ῡ - -ῢ -ῢ -ῢ -ῢ -ῢ - -ΰ -ΰ -ΰ -ΰ -ΰ - -ῤ -ῤ -ῤ -ῤ -ῤ - -ῥ -ῥ -ῥ -ῥ -ῥ - -ῦ -ῦ -ῦ -ῦ -ῦ - -ῧ -ῧ -ῧ -ῧ -ῧ - -Ῠ -Ῠ -Ῠ -Ῠ -Ῠ - -Ῡ -Ῡ -Ῡ -Ῡ -Ῡ - -Ὺ -Ὺ -Ὺ -Ὺ -Ὺ - -Ύ -Ύ -Ύ -Ύ -Ύ - -Ῥ -Ῥ -Ῥ -Ῥ -Ῥ - -῭ -῭ -῭ - ̈̀ - ̈̀ - -΅ -΅ -΅ - ̈́ - ̈́ - -` -` -` -` -` - -ῲ -ῲ -ῲ -ῲ -ῲ - -ῳ -ῳ -ῳ -ῳ -ῳ - -ῴ -ῴ -ῴ -ῴ -ῴ - -ῶ -ῶ -ῶ -ῶ -ῶ - -ῷ -ῷ -ῷ -ῷ -ῷ - -Ὸ -Ὸ -Ὸ -Ὸ -Ὸ - -Ό -Ό -Ό -Ό -Ό - -Ὼ -Ὼ -Ὼ -Ὼ -Ὼ - -Ώ -Ώ -Ώ -Ώ -Ώ - -ῼ -ῼ -ῼ -ῼ -ῼ - -´ -´ -´ - ́ - ́ - -῾ -῾ -῾ - ̔ - ̔ - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -‑ -‑ -‑ -‐ -‐ - -‗ -‗ -‗ - ̳ - ̳ - -․ -․ -․ -. -. - -‥ -‥ -‥ -.. -.. - -… -… -… -... -... - -  -  -  - - - -″ -″ -″ -′′ -′′ - -‴ -‴ -‴ -′′′ -′′′ - -‶ -‶ -‶ -‵‵ -‵‵ - -‷ -‷ -‷ -‵‵‵ -‵‵‵ - -‼ -‼ -‼ -!! -!! - -‾ -‾ -‾ - ̅ - ̅ - -⁇ -⁇ -⁇ -?? -?? - -⁈ -⁈ -⁈ -?! -?! - -⁉ -⁉ -⁉ -!? -!? - -⁗ -⁗ -⁗ -′′′′ -′′′′ - -  -  -  - - - -⁰ -⁰ -⁰ -0 -0 - -ⁱ -ⁱ -ⁱ -i -i - -⁴ -⁴ -⁴ -4 -4 - -⁵ -⁵ -⁵ -5 -5 - -⁶ -⁶ -⁶ -6 -6 - -⁷ -⁷ -⁷ -7 -7 - -⁸ -⁸ -⁸ -8 -8 - -⁹ -⁹ -⁹ -9 -9 - -⁺ -⁺ -⁺ -+ -+ - -⁻ -⁻ -⁻ -− -− - -⁼ -⁼ -⁼ -= -= - -⁽ -⁽ -⁽ -( -( - -⁾ -⁾ -⁾ -) -) - -ⁿ -ⁿ -ⁿ -n -n - -₀ -₀ -₀ -0 -0 - -₁ -₁ -₁ -1 -1 - -₂ -₂ -₂ -2 -2 - -₃ -₃ -₃ -3 -3 - -₄ -₄ -₄ -4 -4 - -₅ -₅ -₅ -5 -5 - -₆ -₆ -₆ -6 -6 - -₇ -₇ -₇ -7 -7 - -₈ -₈ -₈ -8 -8 - -₉ -₉ -₉ -9 -9 - -₊ -₊ -₊ -+ -+ - -₋ -₋ -₋ -− -− - -₌ -₌ -₌ -= -= - -₍ -₍ -₍ -( -( - -₎ -₎ -₎ -) -) - -ₐ -ₐ -ₐ -a -a - -ₑ -ₑ -ₑ -e -e - -ₒ -ₒ -ₒ -o -o - -ₓ -ₓ -ₓ -x -x - -ₔ -ₔ -ₔ -ə -ə - -ₕ -ₕ -ₕ -h -h - -ₖ -ₖ -ₖ -k -k - -ₗ -ₗ -ₗ -l -l - -ₘ -ₘ -ₘ -m -m - -ₙ -ₙ -ₙ -n -n - -ₚ -ₚ -ₚ -p -p - -ₛ -ₛ -ₛ -s -s - -ₜ -ₜ -ₜ -t -t - -₨ -₨ -₨ -Rs -Rs - -℀ -℀ -℀ -a/c -a/c - -℁ -℁ -℁ -a/s -a/s - -ℂ -ℂ -ℂ -C -C - -℃ -℃ -℃ -°C -°C - -℅ -℅ -℅ -c/o -c/o - -℆ -℆ -℆ -c/u -c/u - -ℇ -ℇ -ℇ -Ɛ -Ɛ - -℉ -℉ -℉ -°F -°F - -ℊ -ℊ -ℊ -g -g - -ℋ -ℋ -ℋ -H -H - -ℌ -ℌ -ℌ -H -H - -ℍ -ℍ -ℍ -H -H - -ℎ -ℎ -ℎ -h -h - -ℏ -ℏ -ℏ -ħ -ħ - -ℐ -ℐ -ℐ -I -I - -ℑ -ℑ -ℑ -I -I - -ℒ -ℒ -ℒ -L -L - -ℓ -ℓ -ℓ -l -l - -ℕ -ℕ -ℕ -N -N - -№ -№ -№ -No -No - -ℙ -ℙ -ℙ -P -P - -ℚ -ℚ -ℚ -Q -Q - -ℛ -ℛ -ℛ -R -R - -ℜ -ℜ -ℜ -R -R - -ℝ -ℝ -ℝ -R -R - -℠ -℠ -℠ -SM -SM - -℡ -℡ -℡ -TEL -TEL - -™ -™ -™ -TM -TM - -ℤ -ℤ -ℤ -Z -Z - -Ω -Ω -Ω -Ω -Ω - -ℨ -ℨ -ℨ -Z -Z - -K -K -K -K -K - -Å -Å -Å -Å -Å - -ℬ -ℬ -ℬ -B -B - -ℭ -ℭ -ℭ -C -C - -ℯ -ℯ -ℯ -e -e - -ℰ -ℰ -ℰ -E -E - -ℱ -ℱ -ℱ -F -F - -ℳ -ℳ -ℳ -M -M - -ℴ -ℴ -ℴ -o -o - -ℵ -ℵ -ℵ -א -א - -ℶ -ℶ -ℶ -ב -ב - -ℷ -ℷ -ℷ -ג -ג - -ℸ -ℸ -ℸ -ד -ד - -ℹ -ℹ -ℹ -i -i - -℻ -℻ -℻ -FAX -FAX - -ℼ -ℼ -ℼ -π -π - -ℽ -ℽ -ℽ -γ -γ - -ℾ -ℾ -ℾ -Γ -Γ - -ℿ -ℿ -ℿ -Π -Π - -⅀ -⅀ -⅀ -∑ -∑ - -ⅅ -ⅅ -ⅅ -D -D - -ⅆ -ⅆ -ⅆ -d -d - -ⅇ -ⅇ -ⅇ -e -e - -ⅈ -ⅈ -ⅈ -i -i - -ⅉ -ⅉ -ⅉ -j -j - -⅐ -⅐ -⅐ -1⁄7 -1⁄7 - -⅑ -⅑ -⅑ -1⁄9 -1⁄9 - -⅒ -⅒ -⅒ -1⁄10 -1⁄10 - -⅓ -⅓ -⅓ -1⁄3 -1⁄3 - -⅔ -⅔ -⅔ -2⁄3 -2⁄3 - -⅕ -⅕ -⅕ -1⁄5 -1⁄5 - -⅖ -⅖ -⅖ -2⁄5 -2⁄5 - -⅗ -⅗ -⅗ -3⁄5 -3⁄5 - -⅘ -⅘ -⅘ -4⁄5 -4⁄5 - -⅙ -⅙ -⅙ -1⁄6 -1⁄6 - -⅚ -⅚ -⅚ -5⁄6 -5⁄6 - -⅛ -⅛ -⅛ -1⁄8 -1⁄8 - -⅜ -⅜ -⅜ -3⁄8 -3⁄8 - -⅝ -⅝ -⅝ -5⁄8 -5⁄8 - -⅞ -⅞ -⅞ -7⁄8 -7⁄8 - -⅟ -⅟ -⅟ -1⁄ -1⁄ - -Ⅰ -Ⅰ -Ⅰ -I -I - -Ⅱ -Ⅱ -Ⅱ -II -II - -Ⅲ -Ⅲ -Ⅲ -III -III - -Ⅳ -Ⅳ -Ⅳ -IV -IV - -Ⅴ -Ⅴ -Ⅴ -V -V - -Ⅵ -Ⅵ -Ⅵ -VI -VI - -Ⅶ -Ⅶ -Ⅶ -VII -VII - -Ⅷ -Ⅷ -Ⅷ -VIII -VIII - -Ⅸ -Ⅸ -Ⅸ -IX -IX - -Ⅹ -Ⅹ -Ⅹ -X -X - -Ⅺ -Ⅺ -Ⅺ -XI -XI - -Ⅻ -Ⅻ -Ⅻ -XII -XII - -Ⅼ -Ⅼ -Ⅼ -L -L - -Ⅽ -Ⅽ -Ⅽ -C -C - -Ⅾ -Ⅾ -Ⅾ -D -D - -Ⅿ -Ⅿ -Ⅿ -M -M - -ⅰ -ⅰ -ⅰ -i -i - -ⅱ -ⅱ -ⅱ -ii -ii - -ⅲ -ⅲ -ⅲ -iii -iii - -ⅳ -ⅳ -ⅳ -iv -iv - -ⅴ -ⅴ -ⅴ -v -v - -ⅵ -ⅵ -ⅵ -vi -vi - -ⅶ -ⅶ -ⅶ -vii -vii - -ⅷ -ⅷ -ⅷ -viii -viii - -ⅸ -ⅸ -ⅸ -ix -ix - -ⅹ -ⅹ -ⅹ -x -x - -ⅺ -ⅺ -ⅺ -xi -xi - -ⅻ -ⅻ -ⅻ -xii -xii - -ⅼ -ⅼ -ⅼ -l -l - -ⅽ -ⅽ -ⅽ -c -c - -ⅾ -ⅾ -ⅾ -d -d - -ⅿ -ⅿ -ⅿ -m -m - -↉ -↉ -↉ -0⁄3 -0⁄3 - -↚ -↚ -↚ -↚ -↚ - -↛ -↛ -↛ -↛ -↛ - -↮ -↮ -↮ -↮ -↮ - -⇍ -⇍ -⇍ -⇍ -⇍ - -⇎ -⇎ -⇎ -⇎ -⇎ - -⇏ -⇏ -⇏ -⇏ -⇏ - -∄ -∄ -∄ -∄ -∄ - -∉ -∉ -∉ -∉ -∉ - -∌ -∌ -∌ -∌ -∌ - -∤ -∤ -∤ -∤ -∤ - -∦ -∦ -∦ -∦ -∦ - -∬ -∬ -∬ -∫∫ -∫∫ - -∭ -∭ -∭ -∫∫∫ -∫∫∫ - -∯ -∯ -∯ -∮∮ -∮∮ - -∰ -∰ -∰ -∮∮∮ -∮∮∮ - -≁ -≁ -≁ -≁ -≁ - -≄ -≄ -≄ -≄ -≄ - -≇ -≇ -≇ -≇ -≇ - -≉ -≉ -≉ -≉ -≉ - -≠ -≠ -≠ -≠ -≠ - -≢ -≢ -≢ -≢ -≢ - -≭ -≭ -≭ -≭ -≭ - -≮ -≮ -≮ -≮ -≮ - -≯ -≯ -≯ -≯ -≯ - -≰ -≰ -≰ -≰ -≰ - -≱ -≱ -≱ -≱ -≱ - -≴ -≴ -≴ -≴ -≴ - -≵ -≵ -≵ -≵ -≵ - -≸ -≸ -≸ -≸ -≸ - -≹ -≹ -≹ -≹ -≹ - -⊀ -⊀ -⊀ -⊀ -⊀ - -⊁ -⊁ -⊁ -⊁ -⊁ - -⊄ -⊄ -⊄ -⊄ -⊄ - -⊅ -⊅ -⊅ -⊅ -⊅ - -⊈ -⊈ -⊈ -⊈ -⊈ - -⊉ -⊉ -⊉ -⊉ -⊉ - -⊬ -⊬ -⊬ -⊬ -⊬ - -⊭ -⊭ -⊭ -⊭ -⊭ - -⊮ -⊮ -⊮ -⊮ -⊮ - -⊯ -⊯ -⊯ -⊯ -⊯ - -⋠ -⋠ -⋠ -⋠ -⋠ - -⋡ -⋡ -⋡ -⋡ -⋡ - -⋢ -⋢ -⋢ -⋢ -⋢ - -⋣ -⋣ -⋣ -⋣ -⋣ - -⋪ -⋪ -⋪ -⋪ -⋪ - -⋫ -⋫ -⋫ -⋫ -⋫ - -⋬ -⋬ -⋬ -⋬ -⋬ - -⋭ -⋭ -⋭ -⋭ -⋭ - -〈 -〈 -〈 -〈 -〈 - -〉 -〉 -〉 -〉 -〉 - -① -① -① -1 -1 - -② -② -② -2 -2 - -③ -③ -③ -3 -3 - -④ -④ -④ -4 -4 - -⑤ -⑤ -⑤ -5 -5 - -⑥ -⑥ -⑥ -6 -6 - -⑦ -⑦ -⑦ -7 -7 - -⑧ -⑧ -⑧ -8 -8 - -⑨ -⑨ -⑨ -9 -9 - -⑩ -⑩ -⑩ -10 -10 - -⑪ -⑪ -⑪ -11 -11 - -⑫ -⑫ -⑫ -12 -12 - -⑬ -⑬ -⑬ -13 -13 - -⑭ -⑭ -⑭ -14 -14 - -⑮ -⑮ -⑮ -15 -15 - -⑯ -⑯ -⑯ -16 -16 - -⑰ -⑰ -⑰ -17 -17 - -⑱ -⑱ -⑱ -18 -18 - -⑲ -⑲ -⑲ -19 -19 - -⑳ -⑳ -⑳ -20 -20 - -⑴ -⑴ -⑴ -(1) -(1) - -⑵ -⑵ -⑵ -(2) -(2) - -⑶ -⑶ -⑶ -(3) -(3) - -⑷ -⑷ -⑷ -(4) -(4) - -⑸ -⑸ -⑸ -(5) -(5) - -⑹ -⑹ -⑹ -(6) -(6) - -⑺ -⑺ -⑺ -(7) -(7) - -⑻ -⑻ -⑻ -(8) -(8) - -⑼ -⑼ -⑼ -(9) -(9) - -⑽ -⑽ -⑽ -(10) -(10) - -⑾ -⑾ -⑾ -(11) -(11) - -⑿ -⑿ -⑿ -(12) -(12) - -⒀ -⒀ -⒀ -(13) -(13) - -⒁ -⒁ -⒁ -(14) -(14) - -⒂ -⒂ -⒂ -(15) -(15) - -⒃ -⒃ -⒃ -(16) -(16) - -⒄ -⒄ -⒄ -(17) -(17) - -⒅ -⒅ -⒅ -(18) -(18) - -⒆ -⒆ -⒆ -(19) -(19) - -⒇ -⒇ -⒇ -(20) -(20) - -⒈ -⒈ -⒈ -1. -1. - -⒉ -⒉ -⒉ -2. -2. - -⒊ -⒊ -⒊ -3. -3. - -⒋ -⒋ -⒋ -4. -4. - -⒌ -⒌ -⒌ -5. -5. - -⒍ -⒍ -⒍ -6. -6. - -⒎ -⒎ -⒎ -7. -7. - -⒏ -⒏ -⒏ -8. -8. - -⒐ -⒐ -⒐ -9. -9. - -⒑ -⒑ -⒑ -10. -10. - -⒒ -⒒ -⒒ -11. -11. - -⒓ -⒓ -⒓ -12. -12. - -⒔ -⒔ -⒔ -13. -13. - -⒕ -⒕ -⒕ -14. -14. - -⒖ -⒖ -⒖ -15. -15. - -⒗ -⒗ -⒗ -16. -16. - -⒘ -⒘ -⒘ -17. -17. - -⒙ -⒙ -⒙ -18. -18. - -⒚ -⒚ -⒚ -19. -19. - -⒛ -⒛ -⒛ -20. -20. - -⒜ -⒜ -⒜ -(a) -(a) - -⒝ -⒝ -⒝ -(b) -(b) - -⒞ -⒞ -⒞ -(c) -(c) - -⒟ -⒟ -⒟ -(d) -(d) - -⒠ -⒠ -⒠ -(e) -(e) - -⒡ -⒡ -⒡ -(f) -(f) - -⒢ -⒢ -⒢ -(g) -(g) - -⒣ -⒣ -⒣ -(h) -(h) - -⒤ -⒤ -⒤ -(i) -(i) - -⒥ -⒥ -⒥ -(j) -(j) - -⒦ -⒦ -⒦ -(k) -(k) - -⒧ -⒧ -⒧ -(l) -(l) - -⒨ -⒨ -⒨ -(m) -(m) - -⒩ -⒩ -⒩ -(n) -(n) - -⒪ -⒪ -⒪ -(o) -(o) - -⒫ -⒫ -⒫ -(p) -(p) - -⒬ -⒬ -⒬ -(q) -(q) - -⒭ -⒭ -⒭ -(r) -(r) - -⒮ -⒮ -⒮ -(s) -(s) - -⒯ -⒯ -⒯ -(t) -(t) - -⒰ -⒰ -⒰ -(u) -(u) - -⒱ -⒱ -⒱ -(v) -(v) - -⒲ -⒲ -⒲ -(w) -(w) - -⒳ -⒳ -⒳ -(x) -(x) - -⒴ -⒴ -⒴ -(y) -(y) - -⒵ -⒵ -⒵ -(z) -(z) - -Ⓐ -Ⓐ -Ⓐ -A -A - -Ⓑ -Ⓑ -Ⓑ -B -B - -Ⓒ -Ⓒ -Ⓒ -C -C - -Ⓓ -Ⓓ -Ⓓ -D -D - -Ⓔ -Ⓔ -Ⓔ -E -E - -Ⓕ -Ⓕ -Ⓕ -F -F - -Ⓖ -Ⓖ -Ⓖ -G -G - -Ⓗ -Ⓗ -Ⓗ -H -H - -Ⓘ -Ⓘ -Ⓘ -I -I - -Ⓙ -Ⓙ -Ⓙ -J -J - -Ⓚ -Ⓚ -Ⓚ -K -K - -Ⓛ -Ⓛ -Ⓛ -L -L - -Ⓜ -Ⓜ -Ⓜ -M -M - -Ⓝ -Ⓝ -Ⓝ -N -N - -Ⓞ -Ⓞ -Ⓞ -O -O - -Ⓟ -Ⓟ -Ⓟ -P -P - -Ⓠ -Ⓠ -Ⓠ -Q -Q - -Ⓡ -Ⓡ -Ⓡ -R -R - -Ⓢ -Ⓢ -Ⓢ -S -S - -Ⓣ -Ⓣ -Ⓣ -T -T - -Ⓤ -Ⓤ -Ⓤ -U -U - -Ⓥ -Ⓥ -Ⓥ -V -V - -Ⓦ -Ⓦ -Ⓦ -W -W - -Ⓧ -Ⓧ -Ⓧ -X -X - -Ⓨ -Ⓨ -Ⓨ -Y -Y - -Ⓩ -Ⓩ -Ⓩ -Z -Z - -ⓐ -ⓐ -ⓐ -a -a - -ⓑ -ⓑ -ⓑ -b -b - -ⓒ -ⓒ -ⓒ -c -c - -ⓓ -ⓓ -ⓓ -d -d - -ⓔ -ⓔ -ⓔ -e -e - -ⓕ -ⓕ -ⓕ -f -f - -ⓖ -ⓖ -ⓖ -g -g - -ⓗ -ⓗ -ⓗ -h -h - -ⓘ -ⓘ -ⓘ -i -i - -ⓙ -ⓙ -ⓙ -j -j - -ⓚ -ⓚ -ⓚ -k -k - -ⓛ -ⓛ -ⓛ -l -l - -ⓜ -ⓜ -ⓜ -m -m - -ⓝ -ⓝ -ⓝ -n -n - -ⓞ -ⓞ -ⓞ -o -o - -ⓟ -ⓟ -ⓟ -p -p - -ⓠ -ⓠ -ⓠ -q -q - -ⓡ -ⓡ -ⓡ -r -r - -ⓢ -ⓢ -ⓢ -s -s - -ⓣ -ⓣ -ⓣ -t -t - -ⓤ -ⓤ -ⓤ -u -u - -ⓥ -ⓥ -ⓥ -v -v - -ⓦ -ⓦ -ⓦ -w -w - -ⓧ -ⓧ -ⓧ -x -x - -ⓨ -ⓨ -ⓨ -y -y - -ⓩ -ⓩ -ⓩ -z -z - -⓪ -⓪ -⓪ -0 -0 - -⨌ -⨌ -⨌ -∫∫∫∫ -∫∫∫∫ - -⩴ -⩴ -⩴ -::= -::= - -⩵ -⩵ -⩵ -== -== - -⩶ -⩶ -⩶ -=== -=== - -⫝̸ -⫝̸ -⫝̸ -⫝̸ -⫝̸ - -ⱼ -ⱼ -ⱼ -j -j - -ⱽ -ⱽ -ⱽ -V -V - -ⵯ -ⵯ -ⵯ -ⵡ -ⵡ - -⺟ -⺟ -⺟ -母 -母 - -⻳ -⻳ -⻳ -龟 -龟 - -⼀ -⼀ -⼀ -一 -一 - -⼁ -⼁ -⼁ -丨 -丨 - -⼂ -⼂ -⼂ -丶 -丶 - -⼃ -⼃ -⼃ -丿 -丿 - -⼄ -⼄ -⼄ -乙 -乙 - -⼅ -⼅ -⼅ -亅 -亅 - -⼆ -⼆ -⼆ -二 -二 - -⼇ -⼇ -⼇ -亠 -亠 - -⼈ -⼈ -⼈ -人 -人 - -⼉ -⼉ -⼉ -儿 -儿 - -⼊ -⼊ -⼊ -入 -入 - -⼋ -⼋ -⼋ -八 -八 - -⼌ -⼌ -⼌ -冂 -冂 - -⼍ -⼍ -⼍ -冖 -冖 - -⼎ -⼎ -⼎ -冫 -冫 - -⼏ -⼏ -⼏ -几 -几 - -⼐ -⼐ -⼐ -凵 -凵 - -⼑ -⼑ -⼑ -刀 -刀 - -⼒ -⼒ -⼒ -力 -力 - -⼓ -⼓ -⼓ -勹 -勹 - -⼔ -⼔ -⼔ -匕 -匕 - -⼕ -⼕ -⼕ -匚 -匚 - -⼖ -⼖ -⼖ -匸 -匸 - -⼗ -⼗ -⼗ -十 -十 - -⼘ -⼘ -⼘ -卜 -卜 - -⼙ -⼙ -⼙ -卩 -卩 - -⼚ -⼚ -⼚ -厂 -厂 - -⼛ -⼛ -⼛ -厶 -厶 - -⼜ -⼜ -⼜ -又 -又 - -⼝ -⼝ -⼝ -口 -口 - -⼞ -⼞ -⼞ -囗 -囗 - -⼟ -⼟ -⼟ -土 -土 - -⼠ -⼠ -⼠ -士 -士 - -⼡ -⼡ -⼡ -夂 -夂 - -⼢ -⼢ -⼢ -夊 -夊 - -⼣ -⼣ -⼣ -夕 -夕 - -⼤ -⼤ -⼤ -大 -大 - -⼥ -⼥ -⼥ -女 -女 - -⼦ -⼦ -⼦ -子 -子 - -⼧ -⼧ -⼧ -宀 -宀 - -⼨ -⼨ -⼨ -寸 -寸 - -⼩ -⼩ -⼩ -小 -小 - -⼪ -⼪ -⼪ -尢 -尢 - -⼫ -⼫ -⼫ -尸 -尸 - -⼬ -⼬ -⼬ -屮 -屮 - -⼭ -⼭ -⼭ -山 -山 - -⼮ -⼮ -⼮ -巛 -巛 - -⼯ -⼯ -⼯ -工 -工 - -⼰ -⼰ -⼰ -己 -己 - -⼱ -⼱ -⼱ -巾 -巾 - -⼲ -⼲ -⼲ -干 -干 - -⼳ -⼳ -⼳ -幺 -幺 - -⼴ -⼴ -⼴ -广 -广 - -⼵ -⼵ -⼵ -廴 -廴 - -⼶ -⼶ -⼶ -廾 -廾 - -⼷ -⼷ -⼷ -弋 -弋 - -⼸ -⼸ -⼸ -弓 -弓 - -⼹ -⼹ -⼹ -彐 -彐 - -⼺ -⼺ -⼺ -彡 -彡 - -⼻ -⼻ -⼻ -彳 -彳 - -⼼ -⼼ -⼼ -心 -心 - -⼽ -⼽ -⼽ -戈 -戈 - -⼾ -⼾ -⼾ -戶 -戶 - -⼿ -⼿ -⼿ -手 -手 - -⽀ -⽀ -⽀ -支 -支 - -⽁ -⽁ -⽁ -攴 -攴 - -⽂ -⽂ -⽂ -文 -文 - -⽃ -⽃ -⽃ -斗 -斗 - -⽄ -⽄ -⽄ -斤 -斤 - -⽅ -⽅ -⽅ -方 -方 - -⽆ -⽆ -⽆ -无 -无 - -⽇ -⽇ -⽇ -日 -日 - -⽈ -⽈ -⽈ -曰 -曰 - -⽉ -⽉ -⽉ -月 -月 - -⽊ -⽊ -⽊ -木 -木 - -⽋ -⽋ -⽋ -欠 -欠 - -⽌ -⽌ -⽌ -止 -止 - -⽍ -⽍ -⽍ -歹 -歹 - -⽎ -⽎ -⽎ -殳 -殳 - -⽏ -⽏ -⽏ -毋 -毋 - -⽐ -⽐ -⽐ -比 -比 - -⽑ -⽑ -⽑ -毛 -毛 - -⽒ -⽒ -⽒ -氏 -氏 - -⽓ -⽓ -⽓ -气 -气 - -⽔ -⽔ -⽔ -水 -水 - -⽕ -⽕ -⽕ -火 -火 - -⽖ -⽖ -⽖ -爪 -爪 - -⽗ -⽗ -⽗ -父 -父 - -⽘ -⽘ -⽘ -爻 -爻 - -⽙ -⽙ -⽙ -爿 -爿 - -⽚ -⽚ -⽚ -片 -片 - -⽛ -⽛ -⽛ -牙 -牙 - -⽜ -⽜ -⽜ -牛 -牛 - -⽝ -⽝ -⽝ -犬 -犬 - -⽞ -⽞ -⽞ -玄 -玄 - -⽟ -⽟ -⽟ -玉 -玉 - -⽠ -⽠ -⽠ -瓜 -瓜 - -⽡ -⽡ -⽡ -瓦 -瓦 - -⽢ -⽢ -⽢ -甘 -甘 - -⽣ -⽣ -⽣ -生 -生 - -⽤ -⽤ -⽤ -用 -用 - -⽥ -⽥ -⽥ -田 -田 - -⽦ -⽦ -⽦ -疋 -疋 - -⽧ -⽧ -⽧ -疒 -疒 - -⽨ -⽨ -⽨ -癶 -癶 - -⽩ -⽩ -⽩ -白 -白 - -⽪ -⽪ -⽪ -皮 -皮 - -⽫ -⽫ -⽫ -皿 -皿 - -⽬ -⽬ -⽬ -目 -目 - -⽭ -⽭ -⽭ -矛 -矛 - -⽮ -⽮ -⽮ -矢 -矢 - -⽯ -⽯ -⽯ -石 -石 - -⽰ -⽰ -⽰ -示 -示 - -⽱ -⽱ -⽱ -禸 -禸 - -⽲ -⽲ -⽲ -禾 -禾 - -⽳ -⽳ -⽳ -穴 -穴 - -⽴ -⽴ -⽴ -立 -立 - -⽵ -⽵ -⽵ -竹 -竹 - -⽶ -⽶ -⽶ -米 -米 - -⽷ -⽷ -⽷ -糸 -糸 - -⽸ -⽸ -⽸ -缶 -缶 - -⽹ -⽹ -⽹ -网 -网 - -⽺ -⽺ -⽺ -羊 -羊 - -⽻ -⽻ -⽻ -羽 -羽 - -⽼ -⽼ -⽼ -老 -老 - -⽽ -⽽ -⽽ -而 -而 - -⽾ -⽾ -⽾ -耒 -耒 - -⽿ -⽿ -⽿ -耳 -耳 - -⾀ -⾀ -⾀ -聿 -聿 - -⾁ -⾁ -⾁ -肉 -肉 - -⾂ -⾂ -⾂ -臣 -臣 - -⾃ -⾃ -⾃ -自 -自 - -⾄ -⾄ -⾄ -至 -至 - -⾅ -⾅ -⾅ -臼 -臼 - -⾆ -⾆ -⾆ -舌 -舌 - -⾇ -⾇ -⾇ -舛 -舛 - -⾈ -⾈ -⾈ -舟 -舟 - -⾉ -⾉ -⾉ -艮 -艮 - -⾊ -⾊ -⾊ -色 -色 - -⾋ -⾋ -⾋ -艸 -艸 - -⾌ -⾌ -⾌ -虍 -虍 - -⾍ -⾍ -⾍ -虫 -虫 - -⾎ -⾎ -⾎ -血 -血 - -⾏ -⾏ -⾏ -行 -行 - -⾐ -⾐ -⾐ -衣 -衣 - -⾑ -⾑ -⾑ -襾 -襾 - -⾒ -⾒ -⾒ -見 -見 - -⾓ -⾓ -⾓ -角 -角 - -⾔ -⾔ -⾔ -言 -言 - -⾕ -⾕ -⾕ -谷 -谷 - -⾖ -⾖ -⾖ -豆 -豆 - -⾗ -⾗ -⾗ -豕 -豕 - -⾘ -⾘ -⾘ -豸 -豸 - -⾙ -⾙ -⾙ -貝 -貝 - -⾚ -⾚ -⾚ -赤 -赤 - -⾛ -⾛ -⾛ -走 -走 - -⾜ -⾜ -⾜ -足 -足 - -⾝ -⾝ -⾝ -身 -身 - -⾞ -⾞ -⾞ -車 -車 - -⾟ -⾟ -⾟ -辛 -辛 - -⾠ -⾠ -⾠ -辰 -辰 - -⾡ -⾡ -⾡ -辵 -辵 - -⾢ -⾢ -⾢ -邑 -邑 - -⾣ -⾣ -⾣ -酉 -酉 - -⾤ -⾤ -⾤ -釆 -釆 - -⾥ -⾥ -⾥ -里 -里 - -⾦ -⾦ -⾦ -金 -金 - -⾧ -⾧ -⾧ -長 -長 - -⾨ -⾨ -⾨ -門 -門 - -⾩ -⾩ -⾩ -阜 -阜 - -⾪ -⾪ -⾪ -隶 -隶 - -⾫ -⾫ -⾫ -隹 -隹 - -⾬ -⾬ -⾬ -雨 -雨 - -⾭ -⾭ -⾭ -靑 -靑 - -⾮ -⾮ -⾮ -非 -非 - -⾯ -⾯ -⾯ -面 -面 - -⾰ -⾰ -⾰ -革 -革 - -⾱ -⾱ -⾱ -韋 -韋 - -⾲ -⾲ -⾲ -韭 -韭 - -⾳ -⾳ -⾳ -音 -音 - -⾴ -⾴ -⾴ -頁 -頁 - -⾵ -⾵ -⾵ -風 -風 - -⾶ -⾶ -⾶ -飛 -飛 - -⾷ -⾷ -⾷ -食 -食 - -⾸ -⾸ -⾸ -首 -首 - -⾹ -⾹ -⾹ -香 -香 - -⾺ -⾺ -⾺ -馬 -馬 - -⾻ -⾻ -⾻ -骨 -骨 - -⾼ -⾼ -⾼ -高 -高 - -⾽ -⾽ -⾽ -髟 -髟 - -⾾ -⾾ -⾾ -鬥 -鬥 - -⾿ -⾿ -⾿ -鬯 -鬯 - -⿀ -⿀ -⿀ -鬲 -鬲 - -⿁ -⿁ -⿁ -鬼 -鬼 - -⿂ -⿂ -⿂ -魚 -魚 - -⿃ -⿃ -⿃ -鳥 -鳥 - -⿄ -⿄ -⿄ -鹵 -鹵 - -⿅ -⿅ -⿅ -鹿 -鹿 - -⿆ -⿆ -⿆ -麥 -麥 - -⿇ -⿇ -⿇ -麻 -麻 - -⿈ -⿈ -⿈ -黃 -黃 - -⿉ -⿉ -⿉ -黍 -黍 - -⿊ -⿊ -⿊ -黑 -黑 - -⿋ -⿋ -⿋ -黹 -黹 - -⿌ -⿌ -⿌ -黽 -黽 - -⿍ -⿍ -⿍ -鼎 -鼎 - -⿎ -⿎ -⿎ -鼓 -鼓 - -⿏ -⿏ -⿏ -鼠 -鼠 - -⿐ -⿐ -⿐ -鼻 -鼻 - -⿑ -⿑ -⿑ -齊 -齊 - -⿒ -⿒ -⿒ -齒 -齒 - -⿓ -⿓ -⿓ -龍 -龍 - -⿔ -⿔ -⿔ -龜 -龜 - -⿕ -⿕ -⿕ -龠 -龠 - -  -  -  - - - -〶 -〶 -〶 -〒 -〒 - -〸 -〸 -〸 -十 -十 - -〹 -〹 -〹 -卄 -卄 - -〺 -〺 -〺 -卅 -卅 - -が -が -が -が -が - -ぎ -ぎ -ぎ -ぎ -ぎ - -ぐ -ぐ -ぐ -ぐ -ぐ - -げ -げ -げ -げ -げ - -ご -ご -ご -ご -ご - -ざ -ざ -ざ -ざ -ざ - -じ -じ -じ -じ -じ - -ず -ず -ず -ず -ず - -ぜ -ぜ -ぜ -ぜ -ぜ - -ぞ -ぞ -ぞ -ぞ -ぞ - -だ -だ -だ -だ -だ - -ぢ -ぢ -ぢ -ぢ -ぢ - -づ -づ -づ -づ -づ - -で -で -で -で -で - -ど -ど -ど -ど -ど - -ば -ば -ば -ば -ば - -ぱ -ぱ -ぱ -ぱ -ぱ - -び -び -び -び -び - -ぴ -ぴ -ぴ -ぴ -ぴ - -ぶ -ぶ -ぶ -ぶ -ぶ - -ぷ -ぷ -ぷ -ぷ -ぷ - -べ -べ -べ -べ -べ - -ぺ -ぺ -ぺ -ぺ -ぺ - -ぼ -ぼ -ぼ -ぼ -ぼ - -ぽ -ぽ -ぽ -ぽ -ぽ - -ゔ -ゔ -ゔ -ゔ -ゔ - -゛ -゛ -゛ - ゙ - ゙ - -゜ -゜ -゜ - ゚ - ゚ - -ゞ -ゞ -ゞ -ゞ -ゞ - -ゟ -ゟ -ゟ -より -より - -ガ -ガ -ガ -ガ -ガ - -ギ -ギ -ギ -ギ -ギ - -グ -グ -グ -グ -グ - -ゲ -ゲ -ゲ -ゲ -ゲ - -ゴ -ゴ -ゴ -ゴ -ゴ - -ザ -ザ -ザ -ザ -ザ - -ジ -ジ -ジ -ジ -ジ - -ズ -ズ -ズ -ズ -ズ - -ゼ -ゼ -ゼ -ゼ -ゼ - -ゾ -ゾ -ゾ -ゾ -ゾ - -ダ -ダ -ダ -ダ -ダ - -ヂ -ヂ -ヂ -ヂ -ヂ - -ヅ -ヅ -ヅ -ヅ -ヅ - -デ -デ -デ -デ -デ - -ド -ド -ド -ド -ド - -バ -バ -バ -バ -バ - -パ -パ -パ -パ -パ - -ビ -ビ -ビ -ビ -ビ - -ピ -ピ -ピ -ピ -ピ - -ブ -ブ -ブ -ブ -ブ - -プ -プ -プ -プ -プ - -ベ -ベ -ベ -ベ -ベ - -ペ -ペ -ペ -ペ -ペ - -ボ -ボ -ボ -ボ -ボ - -ポ -ポ -ポ -ポ -ポ - -ヴ -ヴ -ヴ -ヴ -ヴ - -ヷ -ヷ -ヷ -ヷ -ヷ - -ヸ -ヸ -ヸ -ヸ -ヸ - -ヹ -ヹ -ヹ -ヹ -ヹ - -ヺ -ヺ -ヺ -ヺ -ヺ - -ヾ -ヾ -ヾ -ヾ -ヾ - -ヿ -ヿ -ヿ -コト -コト - -ㄱ -ㄱ -ㄱ -ᄀ -ᄀ - -ㄲ -ㄲ -ㄲ -ᄁ -ᄁ - -ㄳ -ㄳ -ㄳ -ᆪ -ᆪ - -ㄴ -ㄴ -ㄴ -ᄂ -ᄂ - -ㄵ -ㄵ -ㄵ -ᆬ -ᆬ - -ㄶ -ㄶ -ㄶ -ᆭ -ᆭ - -ㄷ -ㄷ -ㄷ -ᄃ -ᄃ - -ㄸ -ㄸ -ㄸ -ᄄ -ᄄ - -ㄹ -ㄹ -ㄹ -ᄅ -ᄅ - -ㄺ -ㄺ -ㄺ -ᆰ -ᆰ - -ㄻ -ㄻ -ㄻ -ᆱ -ᆱ - -ㄼ -ㄼ -ㄼ -ᆲ -ᆲ - -ㄽ -ㄽ -ㄽ -ᆳ -ᆳ - -ㄾ -ㄾ -ㄾ -ᆴ -ᆴ - -ㄿ -ㄿ -ㄿ -ᆵ -ᆵ - -ㅀ -ㅀ -ㅀ -ᄚ -ᄚ - -ㅁ -ㅁ -ㅁ -ᄆ -ᄆ - -ㅂ -ㅂ -ㅂ -ᄇ -ᄇ - -ㅃ -ㅃ -ㅃ -ᄈ -ᄈ - -ㅄ -ㅄ -ㅄ -ᄡ -ᄡ - -ㅅ -ㅅ -ㅅ -ᄉ -ᄉ - -ㅆ -ㅆ -ㅆ -ᄊ -ᄊ - -ㅇ -ㅇ -ㅇ -ᄋ -ᄋ - -ㅈ -ㅈ -ㅈ -ᄌ -ᄌ - -ㅉ -ㅉ -ㅉ -ᄍ -ᄍ - -ㅊ -ㅊ -ㅊ -ᄎ -ᄎ - -ㅋ -ㅋ -ㅋ -ᄏ -ᄏ - -ㅌ -ㅌ -ㅌ -ᄐ -ᄐ - -ㅍ -ㅍ -ㅍ -ᄑ -ᄑ - -ㅎ -ㅎ -ㅎ -ᄒ -ᄒ - -ㅏ -ㅏ -ㅏ -ᅡ -ᅡ - -ㅐ -ㅐ -ㅐ -ᅢ -ᅢ - -ㅑ -ㅑ -ㅑ -ᅣ -ᅣ - -ㅒ -ㅒ -ㅒ -ᅤ -ᅤ - -ㅓ -ㅓ -ㅓ -ᅥ -ᅥ - -ㅔ -ㅔ -ㅔ -ᅦ -ᅦ - -ㅕ -ㅕ -ㅕ -ᅧ -ᅧ - -ㅖ -ㅖ -ㅖ -ᅨ -ᅨ - -ㅗ -ㅗ -ㅗ -ᅩ -ᅩ - -ㅘ -ㅘ -ㅘ -ᅪ -ᅪ - -ㅙ -ㅙ -ㅙ -ᅫ -ᅫ - -ㅚ -ㅚ -ㅚ -ᅬ -ᅬ - -ㅛ -ㅛ -ㅛ -ᅭ -ᅭ - -ㅜ -ㅜ -ㅜ -ᅮ -ᅮ - -ㅝ -ㅝ -ㅝ -ᅯ -ᅯ - -ㅞ -ㅞ -ㅞ -ᅰ -ᅰ - -ㅟ -ㅟ -ㅟ -ᅱ -ᅱ - -ㅠ -ㅠ -ㅠ -ᅲ -ᅲ - -ㅡ -ㅡ -ㅡ -ᅳ -ᅳ - -ㅢ -ㅢ -ㅢ -ᅴ -ᅴ - -ㅣ -ㅣ -ㅣ -ᅵ -ᅵ - -ㅤ -ㅤ -ㅤ -ᅠ -ᅠ - -ㅥ -ㅥ -ㅥ -ᄔ -ᄔ - -ㅦ -ㅦ -ㅦ -ᄕ -ᄕ - -ㅧ -ㅧ -ㅧ -ᇇ -ᇇ - -ㅨ -ㅨ -ㅨ -ᇈ -ᇈ - -ㅩ -ㅩ -ㅩ -ᇌ -ᇌ - -ㅪ -ㅪ -ㅪ -ᇎ -ᇎ - -ㅫ -ㅫ -ㅫ -ᇓ -ᇓ - -ㅬ -ㅬ -ㅬ -ᇗ -ᇗ - -ㅭ -ㅭ -ㅭ -ᇙ -ᇙ - -ㅮ -ㅮ -ㅮ -ᄜ -ᄜ - -ㅯ -ㅯ -ㅯ -ᇝ -ᇝ - -ㅰ -ㅰ -ㅰ -ᇟ -ᇟ - -ㅱ -ㅱ -ㅱ -ᄝ -ᄝ - -ㅲ -ㅲ -ㅲ -ᄞ -ᄞ - -ㅳ -ㅳ -ㅳ -ᄠ -ᄠ - -ㅴ -ㅴ -ㅴ -ᄢ -ᄢ - -ㅵ -ㅵ -ㅵ -ᄣ -ᄣ - -ㅶ -ㅶ -ㅶ -ᄧ -ᄧ - -ㅷ -ㅷ -ㅷ -ᄩ -ᄩ - -ㅸ -ㅸ -ㅸ -ᄫ -ᄫ - -ㅹ -ㅹ -ㅹ -ᄬ -ᄬ - -ㅺ -ㅺ -ㅺ -ᄭ -ᄭ - -ㅻ -ㅻ -ㅻ -ᄮ -ᄮ - -ㅼ -ㅼ -ㅼ -ᄯ -ᄯ - -ㅽ -ㅽ -ㅽ -ᄲ -ᄲ - -ㅾ -ㅾ -ㅾ -ᄶ -ᄶ - -ㅿ -ㅿ -ㅿ -ᅀ -ᅀ - -ㆀ -ㆀ -ㆀ -ᅇ -ᅇ - -ㆁ -ㆁ -ㆁ -ᅌ -ᅌ - -ㆂ -ㆂ -ㆂ -ᇱ -ᇱ - -ㆃ -ㆃ -ㆃ -ᇲ -ᇲ - -ㆄ -ㆄ -ㆄ -ᅗ -ᅗ - -ㆅ -ㆅ -ㆅ -ᅘ -ᅘ - -ㆆ -ㆆ -ㆆ -ᅙ -ᅙ - -ㆇ -ㆇ -ㆇ -ᆄ -ᆄ - -ㆈ -ㆈ -ㆈ -ᆅ -ᆅ - -ㆉ -ㆉ -ㆉ -ᆈ -ᆈ - -ㆊ -ㆊ -ㆊ -ᆑ -ᆑ - -ㆋ -ㆋ -ㆋ -ᆒ -ᆒ - -ㆌ -ㆌ -ㆌ -ᆔ -ᆔ - -ㆍ -ㆍ -ㆍ -ᆞ -ᆞ - -ㆎ -ㆎ -ㆎ -ᆡ -ᆡ - -㆒ -㆒ -㆒ -一 -一 - -㆓ -㆓ -㆓ -二 -二 - -㆔ -㆔ -㆔ -三 -三 - -㆕ -㆕ -㆕ -四 -四 - -㆖ -㆖ -㆖ -上 -上 - -㆗ -㆗ -㆗ -中 -中 - -㆘ -㆘ -㆘ -下 -下 - -㆙ -㆙ -㆙ -甲 -甲 - -㆚ -㆚ -㆚ -乙 -乙 - -㆛ -㆛ -㆛ -丙 -丙 - -㆜ -㆜ -㆜ -丁 -丁 - -㆝ -㆝ -㆝ -天 -天 - -㆞ -㆞ -㆞ -地 -地 - -㆟ -㆟ -㆟ -人 -人 - -㈀ -㈀ -㈀ -(ᄀ) -(ᄀ) - -㈁ -㈁ -㈁ -(ᄂ) -(ᄂ) - -㈂ -㈂ -㈂ -(ᄃ) -(ᄃ) - -㈃ -㈃ -㈃ -(ᄅ) -(ᄅ) - -㈄ -㈄ -㈄ -(ᄆ) -(ᄆ) - -㈅ -㈅ -㈅ -(ᄇ) -(ᄇ) - -㈆ -㈆ -㈆ -(ᄉ) -(ᄉ) - -㈇ -㈇ -㈇ -(ᄋ) -(ᄋ) - -㈈ -㈈ -㈈ -(ᄌ) -(ᄌ) - -㈉ -㈉ -㈉ -(ᄎ) -(ᄎ) - -㈊ -㈊ -㈊ -(ᄏ) -(ᄏ) - -㈋ -㈋ -㈋ -(ᄐ) -(ᄐ) - -㈌ -㈌ -㈌ -(ᄑ) -(ᄑ) - -㈍ -㈍ -㈍ -(ᄒ) -(ᄒ) - -㈎ -㈎ -㈎ -(가) -(가) - -㈏ -㈏ -㈏ -(나) -(나) - -㈐ -㈐ -㈐ -(다) -(다) - -㈑ -㈑ -㈑ -(라) -(라) - -㈒ -㈒ -㈒ -(마) -(마) - -㈓ -㈓ -㈓ -(바) -(바) - -㈔ -㈔ -㈔ -(사) -(사) - -㈕ -㈕ -㈕ -(아) -(아) - -㈖ -㈖ -㈖ -(자) -(자) - -㈗ -㈗ -㈗ -(차) -(차) - -㈘ -㈘ -㈘ -(카) -(카) - -㈙ -㈙ -㈙ -(타) -(타) - -㈚ -㈚ -㈚ -(파) -(파) - -㈛ -㈛ -㈛ -(하) -(하) - -㈜ -㈜ -㈜ -(주) -(주) - -㈝ -㈝ -㈝ -(오전) -(오전) - -㈞ -㈞ -㈞ -(오후) -(오후) - -㈠ -㈠ -㈠ -(一) -(一) - -㈡ -㈡ -㈡ -(二) -(二) - -㈢ -㈢ -㈢ -(三) -(三) - -㈣ -㈣ -㈣ -(四) -(四) - -㈤ -㈤ -㈤ -(五) -(五) - -㈥ -㈥ -㈥ -(六) -(六) - -㈦ -㈦ -㈦ -(七) -(七) - -㈧ -㈧ -㈧ -(八) -(八) - -㈨ -㈨ -㈨ -(九) -(九) - -㈩ -㈩ -㈩ -(十) -(十) - -㈪ -㈪ -㈪ -(月) -(月) - -㈫ -㈫ -㈫ -(火) -(火) - -㈬ -㈬ -㈬ -(水) -(水) - -㈭ -㈭ -㈭ -(木) -(木) - -㈮ -㈮ -㈮ -(金) -(金) - -㈯ -㈯ -㈯ -(土) -(土) - -㈰ -㈰ -㈰ -(日) -(日) - -㈱ -㈱ -㈱ -(株) -(株) - -㈲ -㈲ -㈲ -(有) -(有) - -㈳ -㈳ -㈳ -(社) -(社) - -㈴ -㈴ -㈴ -(名) -(名) - -㈵ -㈵ -㈵ -(特) -(特) - -㈶ -㈶ -㈶ -(財) -(財) - -㈷ -㈷ -㈷ -(祝) -(祝) - -㈸ -㈸ -㈸ -(労) -(労) - -㈹ -㈹ -㈹ -(代) -(代) - -㈺ -㈺ -㈺ -(呼) -(呼) - -㈻ -㈻ -㈻ -(学) -(学) - -㈼ -㈼ -㈼ -(監) -(監) - -㈽ -㈽ -㈽ -(企) -(企) - -㈾ -㈾ -㈾ -(資) -(資) - -㈿ -㈿ -㈿ -(協) -(協) - -㉀ -㉀ -㉀ -(祭) -(祭) - -㉁ -㉁ -㉁ -(休) -(休) - -㉂ -㉂ -㉂ -(自) -(自) - -㉃ -㉃ -㉃ -(至) -(至) - -㉄ -㉄ -㉄ -問 -問 - -㉅ -㉅ -㉅ -幼 -幼 - -㉆ -㉆ -㉆ -文 -文 - -㉇ -㉇ -㉇ -箏 -箏 - -㉐ -㉐ -㉐ -PTE -PTE - -㉑ -㉑ -㉑ -21 -21 - -㉒ -㉒ -㉒ -22 -22 - -㉓ -㉓ -㉓ -23 -23 - -㉔ -㉔ -㉔ -24 -24 - -㉕ -㉕ -㉕ -25 -25 - -㉖ -㉖ -㉖ -26 -26 - -㉗ -㉗ -㉗ -27 -27 - -㉘ -㉘ -㉘ -28 -28 - -㉙ -㉙ -㉙ -29 -29 - -㉚ -㉚ -㉚ -30 -30 - -㉛ -㉛ -㉛ -31 -31 - -㉜ -㉜ -㉜ -32 -32 - -㉝ -㉝ -㉝ -33 -33 - -㉞ -㉞ -㉞ -34 -34 - -㉟ -㉟ -㉟ -35 -35 - -㉠ -㉠ -㉠ -ᄀ -ᄀ - -㉡ -㉡ -㉡ -ᄂ -ᄂ - -㉢ -㉢ -㉢ -ᄃ -ᄃ - -㉣ -㉣ -㉣ -ᄅ -ᄅ - -㉤ -㉤ -㉤ -ᄆ -ᄆ - -㉥ -㉥ -㉥ -ᄇ -ᄇ - -㉦ -㉦ -㉦ -ᄉ -ᄉ - -㉧ -㉧ -㉧ -ᄋ -ᄋ - -㉨ -㉨ -㉨ -ᄌ -ᄌ - -㉩ -㉩ -㉩ -ᄎ -ᄎ - -㉪ -㉪ -㉪ -ᄏ -ᄏ - -㉫ -㉫ -㉫ -ᄐ -ᄐ - -㉬ -㉬ -㉬ -ᄑ -ᄑ - -㉭ -㉭ -㉭ -ᄒ -ᄒ - -㉮ -㉮ -㉮ -가 -가 - -㉯ -㉯ -㉯ -나 -나 - -㉰ -㉰ -㉰ -다 -다 - -㉱ -㉱ -㉱ -라 -라 - -㉲ -㉲ -㉲ -마 -마 - -㉳ -㉳ -㉳ -바 -바 - -㉴ -㉴ -㉴ -사 -사 - -㉵ -㉵ -㉵ -아 -아 - -㉶ -㉶ -㉶ -자 -자 - -㉷ -㉷ -㉷ -차 -차 - -㉸ -㉸ -㉸ -카 -카 - -㉹ -㉹ -㉹ -타 -타 - -㉺ -㉺ -㉺ -파 -파 - -㉻ -㉻ -㉻ -하 -하 - -㉼ -㉼ -㉼ -참고 -참고 - -㉽ -㉽ -㉽ -주의 -주의 - -㉾ -㉾ -㉾ -우 -우 - -㊀ -㊀ -㊀ -一 -一 - -㊁ -㊁ -㊁ -二 -二 - -㊂ -㊂ -㊂ -三 -三 - -㊃ -㊃ -㊃ -四 -四 - -㊄ -㊄ -㊄ -五 -五 - -㊅ -㊅ -㊅ -六 -六 - -㊆ -㊆ -㊆ -七 -七 - -㊇ -㊇ -㊇ -八 -八 - -㊈ -㊈ -㊈ -九 -九 - -㊉ -㊉ -㊉ -十 -十 - -㊊ -㊊ -㊊ -月 -月 - -㊋ -㊋ -㊋ -火 -火 - -㊌ -㊌ -㊌ -水 -水 - -㊍ -㊍ -㊍ -木 -木 - -㊎ -㊎ -㊎ -金 -金 - -㊏ -㊏ -㊏ -土 -土 - -㊐ -㊐ -㊐ -日 -日 - -㊑ -㊑ -㊑ -株 -株 - -㊒ -㊒ -㊒ -有 -有 - -㊓ -㊓ -㊓ -社 -社 - -㊔ -㊔ -㊔ -名 -名 - -㊕ -㊕ -㊕ -特 -特 - -㊖ -㊖ -㊖ -財 -財 - -㊗ -㊗ -㊗ -祝 -祝 - -㊘ -㊘ -㊘ -労 -労 - -㊙ -㊙ -㊙ -秘 -秘 - -㊚ -㊚ -㊚ -男 -男 - -㊛ -㊛ -㊛ -女 -女 - -㊜ -㊜ -㊜ -適 -適 - -㊝ -㊝ -㊝ -優 -優 - -㊞ -㊞ -㊞ -印 -印 - -㊟ -㊟ -㊟ -注 -注 - -㊠ -㊠ -㊠ -項 -項 - -㊡ -㊡ -㊡ -休 -休 - -㊢ -㊢ -㊢ -写 -写 - -㊣ -㊣ -㊣ -正 -正 - -㊤ -㊤ -㊤ -上 -上 - -㊥ -㊥ -㊥ -中 -中 - -㊦ -㊦ -㊦ -下 -下 - -㊧ -㊧ -㊧ -左 -左 - -㊨ -㊨ -㊨ -右 -右 - -㊩ -㊩ -㊩ -医 -医 - -㊪ -㊪ -㊪ -宗 -宗 - -㊫ -㊫ -㊫ -学 -学 - -㊬ -㊬ -㊬ -監 -監 - -㊭ -㊭ -㊭ -企 -企 - -㊮ -㊮ -㊮ -資 -資 - -㊯ -㊯ -㊯ -協 -協 - -㊰ -㊰ -㊰ -夜 -夜 - -㊱ -㊱ -㊱ -36 -36 - -㊲ -㊲ -㊲ -37 -37 - -㊳ -㊳ -㊳ -38 -38 - -㊴ -㊴ -㊴ -39 -39 - -㊵ -㊵ -㊵ -40 -40 - -㊶ -㊶ -㊶ -41 -41 - -㊷ -㊷ -㊷ -42 -42 - -㊸ -㊸ -㊸ -43 -43 - -㊹ -㊹ -㊹ -44 -44 - -㊺ -㊺ -㊺ -45 -45 - -㊻ -㊻ -㊻ -46 -46 - -㊼ -㊼ -㊼ -47 -47 - -㊽ -㊽ -㊽ -48 -48 - -㊾ -㊾ -㊾ -49 -49 - -㊿ -㊿ -㊿ -50 -50 - -㋀ -㋀ -㋀ -1月 -1月 - -㋁ -㋁ -㋁ -2月 -2月 - -㋂ -㋂ -㋂ -3月 -3月 - -㋃ -㋃ -㋃ -4月 -4月 - -㋄ -㋄ -㋄ -5月 -5月 - -㋅ -㋅ -㋅ -6月 -6月 - -㋆ -㋆ -㋆ -7月 -7月 - -㋇ -㋇ -㋇ -8月 -8月 - -㋈ -㋈ -㋈ -9月 -9月 - -㋉ -㋉ -㋉ -10月 -10月 - -㋊ -㋊ -㋊ -11月 -11月 - -㋋ -㋋ -㋋ -12月 -12月 - -㋌ -㋌ -㋌ -Hg -Hg - -㋍ -㋍ -㋍ -erg -erg - -㋎ -㋎ -㋎ -eV -eV - -㋏ -㋏ -㋏ -LTD -LTD - -㋐ -㋐ -㋐ -ア -ア - -㋑ -㋑ -㋑ -イ -イ - -㋒ -㋒ -㋒ -ウ -ウ - -㋓ -㋓ -㋓ -エ -エ - -㋔ -㋔ -㋔ -オ -オ - -㋕ -㋕ -㋕ -カ -カ - -㋖ -㋖ -㋖ -キ -キ - -㋗ -㋗ -㋗ -ク -ク - -㋘ -㋘ -㋘ -ケ -ケ - -㋙ -㋙ -㋙ -コ -コ - -㋚ -㋚ -㋚ -サ -サ - -㋛ -㋛ -㋛ -シ -シ - -㋜ -㋜ -㋜ -ス -ス - -㋝ -㋝ -㋝ -セ -セ - -㋞ -㋞ -㋞ -ソ -ソ - -㋟ -㋟ -㋟ -タ -タ - -㋠ -㋠ -㋠ -チ -チ - -㋡ -㋡ -㋡ -ツ -ツ - -㋢ -㋢ -㋢ -テ -テ - -㋣ -㋣ -㋣ -ト -ト - -㋤ -㋤ -㋤ -ナ -ナ - -㋥ -㋥ -㋥ -ニ -ニ - -㋦ -㋦ -㋦ -ヌ -ヌ - -㋧ -㋧ -㋧ -ネ -ネ - -㋨ -㋨ -㋨ -ノ -ノ - -㋩ -㋩ -㋩ -ハ -ハ - -㋪ -㋪ -㋪ -ヒ -ヒ - -㋫ -㋫ -㋫ -フ -フ - -㋬ -㋬ -㋬ -ヘ -ヘ - -㋭ -㋭ -㋭ -ホ -ホ - -㋮ -㋮ -㋮ -マ -マ - -㋯ -㋯ -㋯ -ミ -ミ - -㋰ -㋰ -㋰ -ム -ム - -㋱ -㋱ -㋱ -メ -メ - -㋲ -㋲ -㋲ -モ -モ - -㋳ -㋳ -㋳ -ヤ -ヤ - -㋴ -㋴ -㋴ -ユ -ユ - -㋵ -㋵ -㋵ -ヨ -ヨ - -㋶ -㋶ -㋶ -ラ -ラ - -㋷ -㋷ -㋷ -リ -リ - -㋸ -㋸ -㋸ -ル -ル - -㋹ -㋹ -㋹ -レ -レ - -㋺ -㋺ -㋺ -ロ -ロ - -㋻ -㋻ -㋻ -ワ -ワ - -㋼ -㋼ -㋼ -ヰ -ヰ - -㋽ -㋽ -㋽ -ヱ -ヱ - -㋾ -㋾ -㋾ -ヲ -ヲ - -㌀ -㌀ -㌀ -アパート -アパート - -㌁ -㌁ -㌁ -アルファ -アルファ - -㌂ -㌂ -㌂ -アンペア -アンペア - -㌃ -㌃ -㌃ -アール -アール - -㌄ -㌄ -㌄ -イニング -イニング - -㌅ -㌅ -㌅ -インチ -インチ - -㌆ -㌆ -㌆ -ウォン -ウォン - -㌇ -㌇ -㌇ -エスクード -エスクード - -㌈ -㌈ -㌈ -エーカー -エーカー - -㌉ -㌉ -㌉ -オンス -オンス - -㌊ -㌊ -㌊ -オーム -オーム - -㌋ -㌋ -㌋ -カイリ -カイリ - -㌌ -㌌ -㌌ -カラット -カラット - -㌍ -㌍ -㌍ -カロリー -カロリー - -㌎ -㌎ -㌎ -ガロン -ガロン - -㌏ -㌏ -㌏ -ガンマ -ガンマ - -㌐ -㌐ -㌐ -ギガ -ギガ - -㌑ -㌑ -㌑ -ギニー -ギニー - -㌒ -㌒ -㌒ -キュリー -キュリー - -㌓ -㌓ -㌓ -ギルダー -ギルダー - -㌔ -㌔ -㌔ -キロ -キロ - -㌕ -㌕ -㌕ -キログラム -キログラム - -㌖ -㌖ -㌖ -キロメートル -キロメートル - -㌗ -㌗ -㌗ -キロワット -キロワット - -㌘ -㌘ -㌘ -グラム -グラム - -㌙ -㌙ -㌙ -グラムトン -グラムトン - -㌚ -㌚ -㌚ -クルゼイロ -クルゼイロ - -㌛ -㌛ -㌛ -クローネ -クローネ - -㌜ -㌜ -㌜ -ケース -ケース - -㌝ -㌝ -㌝ -コルナ -コルナ - -㌞ -㌞ -㌞ -コーポ -コーポ - -㌟ -㌟ -㌟ -サイクル -サイクル - -㌠ -㌠ -㌠ -サンチーム -サンチーム - -㌡ -㌡ -㌡ -シリング -シリング - -㌢ -㌢ -㌢ -センチ -センチ - -㌣ -㌣ -㌣ -セント -セント - -㌤ -㌤ -㌤ -ダース -ダース - -㌥ -㌥ -㌥ -デシ -デシ - -㌦ -㌦ -㌦ -ドル -ドル - -㌧ -㌧ -㌧ -トン -トン - -㌨ -㌨ -㌨ -ナノ -ナノ - -㌩ -㌩ -㌩ -ノット -ノット - -㌪ -㌪ -㌪ -ハイツ -ハイツ - -㌫ -㌫ -㌫ -パーセント -パーセント - -㌬ -㌬ -㌬ -パーツ -パーツ - -㌭ -㌭ -㌭ -バーレル -バーレル - -㌮ -㌮ -㌮ -ピアストル -ピアストル - -㌯ -㌯ -㌯ -ピクル -ピクル - -㌰ -㌰ -㌰ -ピコ -ピコ - -㌱ -㌱ -㌱ -ビル -ビル - -㌲ -㌲ -㌲ -ファラッド -ファラッド - -㌳ -㌳ -㌳ -フィート -フィート - -㌴ -㌴ -㌴ -ブッシェル -ブッシェル - -㌵ -㌵ -㌵ -フラン -フラン - -㌶ -㌶ -㌶ -ヘクタール -ヘクタール - -㌷ -㌷ -㌷ -ペソ -ペソ - -㌸ -㌸ -㌸ -ペニヒ -ペニヒ - -㌹ -㌹ -㌹ -ヘルツ -ヘルツ - -㌺ -㌺ -㌺ -ペンス -ペンス - -㌻ -㌻ -㌻ -ページ -ページ - -㌼ -㌼ -㌼ -ベータ -ベータ - -㌽ -㌽ -㌽ -ポイント -ポイント - -㌾ -㌾ -㌾ -ボルト -ボルト - -㌿ -㌿ -㌿ -ホン -ホン - -㍀ -㍀ -㍀ -ポンド -ポンド - -㍁ -㍁ -㍁ -ホール -ホール - -㍂ -㍂ -㍂ -ホーン -ホーン - -㍃ -㍃ -㍃ -マイクロ -マイクロ - -㍄ -㍄ -㍄ -マイル -マイル - -㍅ -㍅ -㍅ -マッハ -マッハ - -㍆ -㍆ -㍆ -マルク -マルク - -㍇ -㍇ -㍇ -マンション -マンション - -㍈ -㍈ -㍈ -ミクロン -ミクロン - -㍉ -㍉ -㍉ -ミリ -ミリ - -㍊ -㍊ -㍊ -ミリバール -ミリバール - -㍋ -㍋ -㍋ -メガ -メガ - -㍌ -㍌ -㍌ -メガトン -メガトン - -㍍ -㍍ -㍍ -メートル -メートル - -㍎ -㍎ -㍎ -ヤード -ヤード - -㍏ -㍏ -㍏ -ヤール -ヤール - -㍐ -㍐ -㍐ -ユアン -ユアン - -㍑ -㍑ -㍑ -リットル -リットル - -㍒ -㍒ -㍒ -リラ -リラ - -㍓ -㍓ -㍓ -ルピー -ルピー - -㍔ -㍔ -㍔ -ルーブル -ルーブル - -㍕ -㍕ -㍕ -レム -レム - -㍖ -㍖ -㍖ -レントゲン -レントゲン - -㍗ -㍗ -㍗ -ワット -ワット - -㍘ -㍘ -㍘ -0点 -0点 - -㍙ -㍙ -㍙ -1点 -1点 - -㍚ -㍚ -㍚ -2点 -2点 - -㍛ -㍛ -㍛ -3点 -3点 - -㍜ -㍜ -㍜ -4点 -4点 - -㍝ -㍝ -㍝ -5点 -5点 - -㍞ -㍞ -㍞ -6点 -6点 - -㍟ -㍟ -㍟ -7点 -7点 - -㍠ -㍠ -㍠ -8点 -8点 - -㍡ -㍡ -㍡ -9点 -9点 - -㍢ -㍢ -㍢ -10点 -10点 - -㍣ -㍣ -㍣ -11点 -11点 - -㍤ -㍤ -㍤ -12点 -12点 - -㍥ -㍥ -㍥ -13点 -13点 - -㍦ -㍦ -㍦ -14点 -14点 - -㍧ -㍧ -㍧ -15点 -15点 - -㍨ -㍨ -㍨ -16点 -16点 - -㍩ -㍩ -㍩ -17点 -17点 - -㍪ -㍪ -㍪ -18点 -18点 - -㍫ -㍫ -㍫ -19点 -19点 - -㍬ -㍬ -㍬ -20点 -20点 - -㍭ -㍭ -㍭ -21点 -21点 - -㍮ -㍮ -㍮ -22点 -22点 - -㍯ -㍯ -㍯ -23点 -23点 - -㍰ -㍰ -㍰ -24点 -24点 - -㍱ -㍱ -㍱ -hPa -hPa - -㍲ -㍲ -㍲ -da -da - -㍳ -㍳ -㍳ -AU -AU - -㍴ -㍴ -㍴ -bar -bar - -㍵ -㍵ -㍵ -oV -oV - -㍶ -㍶ -㍶ -pc -pc - -㍷ -㍷ -㍷ -dm -dm - -㍸ -㍸ -㍸ -dm2 -dm2 - -㍹ -㍹ -㍹ -dm3 -dm3 - -㍺ -㍺ -㍺ -IU -IU - -㍻ -㍻ -㍻ -平成 -平成 - -㍼ -㍼ -㍼ -昭和 -昭和 - -㍽ -㍽ -㍽ -大正 -大正 - -㍾ -㍾ -㍾ -明治 -明治 - -㍿ -㍿ -㍿ -株式会社 -株式会社 - -㎀ -㎀ -㎀ -pA -pA - -㎁ -㎁ -㎁ -nA -nA - -㎂ -㎂ -㎂ -μA -μA - -㎃ -㎃ -㎃ -mA -mA - -㎄ -㎄ -㎄ -kA -kA - -㎅ -㎅ -㎅ -KB -KB - -㎆ -㎆ -㎆ -MB -MB - -㎇ -㎇ -㎇ -GB -GB - -㎈ -㎈ -㎈ -cal -cal - -㎉ -㎉ -㎉ -kcal -kcal - -㎊ -㎊ -㎊ -pF -pF - -㎋ -㎋ -㎋ -nF -nF - -㎌ -㎌ -㎌ -μF -μF - -㎍ -㎍ -㎍ -μg -μg - -㎎ -㎎ -㎎ -mg -mg - -㎏ -㎏ -㎏ -kg -kg - -㎐ -㎐ -㎐ -Hz -Hz - -㎑ -㎑ -㎑ -kHz -kHz - -㎒ -㎒ -㎒ -MHz -MHz - -㎓ -㎓ -㎓ -GHz -GHz - -㎔ -㎔ -㎔ -THz -THz - -㎕ -㎕ -㎕ -μl -μl - -㎖ -㎖ -㎖ -ml -ml - -㎗ -㎗ -㎗ -dl -dl - -㎘ -㎘ -㎘ -kl -kl - -㎙ -㎙ -㎙ -fm -fm - -㎚ -㎚ -㎚ -nm -nm - -㎛ -㎛ -㎛ -μm -μm - -㎜ -㎜ -㎜ -mm -mm - -㎝ -㎝ -㎝ -cm -cm - -㎞ -㎞ -㎞ -km -km - -㎟ -㎟ -㎟ -mm2 -mm2 - -㎠ -㎠ -㎠ -cm2 -cm2 - -㎡ -㎡ -㎡ -m2 -m2 - -㎢ -㎢ -㎢ -km2 -km2 - -㎣ -㎣ -㎣ -mm3 -mm3 - -㎤ -㎤ -㎤ -cm3 -cm3 - -㎥ -㎥ -㎥ -m3 -m3 - -㎦ -㎦ -㎦ -km3 -km3 - -㎧ -㎧ -㎧ -m∕s -m∕s - -㎨ -㎨ -㎨ -m∕s2 -m∕s2 - -㎩ -㎩ -㎩ -Pa -Pa - -㎪ -㎪ -㎪ -kPa -kPa - -㎫ -㎫ -㎫ -MPa -MPa - -㎬ -㎬ -㎬ -GPa -GPa - -㎭ -㎭ -㎭ -rad -rad - -㎮ -㎮ -㎮ -rad∕s -rad∕s - -㎯ -㎯ -㎯ -rad∕s2 -rad∕s2 - -㎰ -㎰ -㎰ -ps -ps - -㎱ -㎱ -㎱ -ns -ns - -㎲ -㎲ -㎲ -μs -μs - -㎳ -㎳ -㎳ -ms -ms - -㎴ -㎴ -㎴ -pV -pV - -㎵ -㎵ -㎵ -nV -nV - -㎶ -㎶ -㎶ -μV -μV - -㎷ -㎷ -㎷ -mV -mV - -㎸ -㎸ -㎸ -kV -kV - -㎹ -㎹ -㎹ -MV -MV - -㎺ -㎺ -㎺ -pW -pW - -㎻ -㎻ -㎻ -nW -nW - -㎼ -㎼ -㎼ -μW -μW - -㎽ -㎽ -㎽ -mW -mW - -㎾ -㎾ -㎾ -kW -kW - -㎿ -㎿ -㎿ -MW -MW - -㏀ -㏀ -㏀ -kΩ -kΩ - -㏁ -㏁ -㏁ -MΩ -MΩ - -㏂ -㏂ -㏂ -a.m. -a.m. - -㏃ -㏃ -㏃ -Bq -Bq - -㏄ -㏄ -㏄ -cc -cc - -㏅ -㏅ -㏅ -cd -cd - -㏆ -㏆ -㏆ -C∕kg -C∕kg - -㏇ -㏇ -㏇ -Co. -Co. - -㏈ -㏈ -㏈ -dB -dB - -㏉ -㏉ -㏉ -Gy -Gy - -㏊ -㏊ -㏊ -ha -ha - -㏋ -㏋ -㏋ -HP -HP - -㏌ -㏌ -㏌ -in -in - -㏍ -㏍ -㏍ -KK -KK - -㏎ -㏎ -㏎ -KM -KM - -㏏ -㏏ -㏏ -kt -kt - -㏐ -㏐ -㏐ -lm -lm - -㏑ -㏑ -㏑ -ln -ln - -㏒ -㏒ -㏒ -log -log - -㏓ -㏓ -㏓ -lx -lx - -㏔ -㏔ -㏔ -mb -mb - -㏕ -㏕ -㏕ -mil -mil - -㏖ -㏖ -㏖ -mol -mol - -㏗ -㏗ -㏗ -PH -PH - -㏘ -㏘ -㏘ -p.m. -p.m. - -㏙ -㏙ -㏙ -PPM -PPM - -㏚ -㏚ -㏚ -PR -PR - -㏛ -㏛ -㏛ -sr -sr - -㏜ -㏜ -㏜ -Sv -Sv - -㏝ -㏝ -㏝ -Wb -Wb - -㏞ -㏞ -㏞ -V∕m -V∕m - -㏟ -㏟ -㏟ -A∕m -A∕m - -㏠ -㏠ -㏠ -1日 -1日 - -㏡ -㏡ -㏡ -2日 -2日 - -㏢ -㏢ -㏢ -3日 -3日 - -㏣ -㏣ -㏣ -4日 -4日 - -㏤ -㏤ -㏤ -5日 -5日 - -㏥ -㏥ -㏥ -6日 -6日 - -㏦ -㏦ -㏦ -7日 -7日 - -㏧ -㏧ -㏧ -8日 -8日 - -㏨ -㏨ -㏨ -9日 -9日 - -㏩ -㏩ -㏩ -10日 -10日 - -㏪ -㏪ -㏪ -11日 -11日 - -㏫ -㏫ -㏫ -12日 -12日 - -㏬ -㏬ -㏬ -13日 -13日 - -㏭ -㏭ -㏭ -14日 -14日 - -㏮ -㏮ -㏮ -15日 -15日 - -㏯ -㏯ -㏯ -16日 -16日 - -㏰ -㏰ -㏰ -17日 -17日 - -㏱ -㏱ -㏱ -18日 -18日 - -㏲ -㏲ -㏲ -19日 -19日 - -㏳ -㏳ -㏳ -20日 -20日 - -㏴ -㏴ -㏴ -21日 -21日 - -㏵ -㏵ -㏵ -22日 -22日 - -㏶ -㏶ -㏶ -23日 -23日 - -㏷ -㏷ -㏷ -24日 -24日 - -㏸ -㏸ -㏸ -25日 -25日 - -㏹ -㏹ -㏹ -26日 -26日 - -㏺ -㏺ -㏺ -27日 -27日 - -㏻ -㏻ -㏻ -28日 -28日 - -㏼ -㏼ -㏼ -29日 -29日 - -㏽ -㏽ -㏽ -30日 -30日 - -㏾ -㏾ -㏾ -31日 -31日 - -㏿ -㏿ -㏿ -gal -gal - -ꝰ -ꝰ -ꝰ -ꝯ -ꝯ - -가 -가 -가 -가 -가 - -각 -각 -각 -각 -각 - -갂 -갂 -갂 -갂 -갂 - -갃 -갃 -갃 -갃 -갃 - -간 -간 -간 -간 -간 - -갅 -갅 -갅 -갅 -갅 - -갆 -갆 -갆 -갆 -갆 - -갇 -갇 -갇 -갇 -갇 - -갈 -갈 -갈 -갈 -갈 - -갉 -갉 -갉 -갉 -갉 - -갊 -갊 -갊 -갊 -갊 - -갋 -갋 -갋 -갋 -갋 - -갌 -갌 -갌 -갌 -갌 - -갍 -갍 -갍 -갍 -갍 - -갎 -갎 -갎 -갎 -갎 - -갏 -갏 -갏 -갏 -갏 - -감 -감 -감 -감 -감 - -갑 -갑 -갑 -갑 -갑 - -값 -값 -값 -값 -값 - -갓 -갓 -갓 -갓 -갓 - -갔 -갔 -갔 -갔 -갔 - -강 -강 -강 -강 -강 - -갖 -갖 -갖 -갖 -갖 - -갗 -갗 -갗 -갗 -갗 - -갘 -갘 -갘 -갘 -갘 - -같 -같 -같 -같 -같 - -갚 -갚 -갚 -갚 -갚 - -갛 -갛 -갛 -갛 -갛 - -개 -개 -개 -개 -개 - -객 -객 -객 -객 -객 - -갞 -갞 -갞 -갞 -갞 - -갟 -갟 -갟 -갟 -갟 - -갠 -갠 -갠 -갠 -갠 - -갡 -갡 -갡 -갡 -갡 - -갢 -갢 -갢 -갢 -갢 - -갣 -갣 -갣 -갣 -갣 - -갤 -갤 -갤 -갤 -갤 - -갥 -갥 -갥 -갥 -갥 - -갦 -갦 -갦 -갦 -갦 - -갧 -갧 -갧 -갧 -갧 - -갨 -갨 -갨 -갨 -갨 - -갩 -갩 -갩 -갩 -갩 - -갪 -갪 -갪 -갪 -갪 - -갫 -갫 -갫 -갫 -갫 - -갬 -갬 -갬 -갬 -갬 - -갭 -갭 -갭 -갭 -갭 - -갮 -갮 -갮 -갮 -갮 - -갯 -갯 -갯 -갯 -갯 - -갰 -갰 -갰 -갰 -갰 - -갱 -갱 -갱 -갱 -갱 - -갲 -갲 -갲 -갲 -갲 - -갳 -갳 -갳 -갳 -갳 - -갴 -갴 -갴 -갴 -갴 - -갵 -갵 -갵 -갵 -갵 - -갶 -갶 -갶 -갶 -갶 - -갷 -갷 -갷 -갷 -갷 - -갸 -갸 -갸 -갸 -갸 - -갹 -갹 -갹 -갹 -갹 - -갺 -갺 -갺 -갺 -갺 - -갻 -갻 -갻 -갻 -갻 - -갼 -갼 -갼 -갼 -갼 - -갽 -갽 -갽 -갽 -갽 - -갾 -갾 -갾 -갾 -갾 - -갿 -갿 -갿 -갿 -갿 - -걀 -걀 -걀 -걀 -걀 - -걁 -걁 -걁 -걁 -걁 - -걂 -걂 -걂 -걂 -걂 - -걃 -걃 -걃 -걃 -걃 - -걄 -걄 -걄 -걄 -걄 - -걅 -걅 -걅 -걅 -걅 - -걆 -걆 -걆 -걆 -걆 - -걇 -걇 -걇 -걇 -걇 - -걈 -걈 -걈 -걈 -걈 - -걉 -걉 -걉 -걉 -걉 - -걊 -걊 -걊 -걊 -걊 - -걋 -걋 -걋 -걋 -걋 - -걌 -걌 -걌 -걌 -걌 - -걍 -걍 -걍 -걍 -걍 - -걎 -걎 -걎 -걎 -걎 - -걏 -걏 -걏 -걏 -걏 - -걐 -걐 -걐 -걐 -걐 - -걑 -걑 -걑 -걑 -걑 - -걒 -걒 -걒 -걒 -걒 - -걓 -걓 -걓 -걓 -걓 - -걔 -걔 -걔 -걔 -걔 - -걕 -걕 -걕 -걕 -걕 - -걖 -걖 -걖 -걖 -걖 - -걗 -걗 -걗 -걗 -걗 - -걘 -걘 -걘 -걘 -걘 - -걙 -걙 -걙 -걙 -걙 - -걚 -걚 -걚 -걚 -걚 - -걛 -걛 -걛 -걛 -걛 - -걜 -걜 -걜 -걜 -걜 - -걝 -걝 -걝 -걝 -걝 - -걞 -걞 -걞 -걞 -걞 - -걟 -걟 -걟 -걟 -걟 - -걠 -걠 -걠 -걠 -걠 - -걡 -걡 -걡 -걡 -걡 - -걢 -걢 -걢 -걢 -걢 - -걣 -걣 -걣 -걣 -걣 - -걤 -걤 -걤 -걤 -걤 - -걥 -걥 -걥 -걥 -걥 - -걦 -걦 -걦 -걦 -걦 - -걧 -걧 -걧 -걧 -걧 - -걨 -걨 -걨 -걨 -걨 - -걩 -걩 -걩 -걩 -걩 - -걪 -걪 -걪 -걪 -걪 - -걫 -걫 -걫 -걫 -걫 - -걬 -걬 -걬 -걬 -걬 - -걭 -걭 -걭 -걭 -걭 - -걮 -걮 -걮 -걮 -걮 - -걯 -걯 -걯 -걯 -걯 - -거 -거 -거 -거 -거 - -걱 -걱 -걱 -걱 -걱 - -걲 -걲 -걲 -걲 -걲 - -걳 -걳 -걳 -걳 -걳 - -건 -건 -건 -건 -건 - -걵 -걵 -걵 -걵 -걵 - -걶 -걶 -걶 -걶 -걶 - -걷 -걷 -걷 -걷 -걷 - -걸 -걸 -걸 -걸 -걸 - -걹 -걹 -걹 -걹 -걹 - -걺 -걺 -걺 -걺 -걺 - -걻 -걻 -걻 -걻 -걻 - -걼 -걼 -걼 -걼 -걼 - -걽 -걽 -걽 -걽 -걽 - -걾 -걾 -걾 -걾 -걾 - -걿 -걿 -걿 -걿 -걿 - -검 -검 -검 -검 -검 - -겁 -겁 -겁 -겁 -겁 - -겂 -겂 -겂 -겂 -겂 - -것 -것 -것 -것 -것 - -겄 -겄 -겄 -겄 -겄 - -겅 -겅 -겅 -겅 -겅 - -겆 -겆 -겆 -겆 -겆 - -겇 -겇 -겇 -겇 -겇 - -겈 -겈 -겈 -겈 -겈 - -겉 -겉 -겉 -겉 -겉 - -겊 -겊 -겊 -겊 -겊 - -겋 -겋 -겋 -겋 -겋 - -게 -게 -게 -게 -게 - -겍 -겍 -겍 -겍 -겍 - -겎 -겎 -겎 -겎 -겎 - -겏 -겏 -겏 -겏 -겏 - -겐 -겐 -겐 -겐 -겐 - -겑 -겑 -겑 -겑 -겑 - -겒 -겒 -겒 -겒 -겒 - -겓 -겓 -겓 -겓 -겓 - -겔 -겔 -겔 -겔 -겔 - -겕 -겕 -겕 -겕 -겕 - -겖 -겖 -겖 -겖 -겖 - -겗 -겗 -겗 -겗 -겗 - -겘 -겘 -겘 -겘 -겘 - -겙 -겙 -겙 -겙 -겙 - -겚 -겚 -겚 -겚 -겚 - -겛 -겛 -겛 -겛 -겛 - -겜 -겜 -겜 -겜 -겜 - -겝 -겝 -겝 -겝 -겝 - -겞 -겞 -겞 -겞 -겞 - -겟 -겟 -겟 -겟 -겟 - -겠 -겠 -겠 -겠 -겠 - -겡 -겡 -겡 -겡 -겡 - -겢 -겢 -겢 -겢 -겢 - -겣 -겣 -겣 -겣 -겣 - -겤 -겤 -겤 -겤 -겤 - -겥 -겥 -겥 -겥 -겥 - -겦 -겦 -겦 -겦 -겦 - -겧 -겧 -겧 -겧 -겧 - -겨 -겨 -겨 -겨 -겨 - -격 -격 -격 -격 -격 - -겪 -겪 -겪 -겪 -겪 - -겫 -겫 -겫 -겫 -겫 - -견 -견 -견 -견 -견 - -겭 -겭 -겭 -겭 -겭 - -겮 -겮 -겮 -겮 -겮 - -겯 -겯 -겯 -겯 -겯 - -결 -결 -결 -결 -결 - -겱 -겱 -겱 -겱 -겱 - -겲 -겲 -겲 -겲 -겲 - -겳 -겳 -겳 -겳 -겳 - -겴 -겴 -겴 -겴 -겴 - -겵 -겵 -겵 -겵 -겵 - -겶 -겶 -겶 -겶 -겶 - -겷 -겷 -겷 -겷 -겷 - -겸 -겸 -겸 -겸 -겸 - -겹 -겹 -겹 -겹 -겹 - -겺 -겺 -겺 -겺 -겺 - -겻 -겻 -겻 -겻 -겻 - -겼 -겼 -겼 -겼 -겼 - -경 -경 -경 -경 -경 - -겾 -겾 -겾 -겾 -겾 - -겿 -겿 -겿 -겿 -겿 - -곀 -곀 -곀 -곀 -곀 - -곁 -곁 -곁 -곁 -곁 - -곂 -곂 -곂 -곂 -곂 - -곃 -곃 -곃 -곃 -곃 - -계 -계 -계 -계 -계 - -곅 -곅 -곅 -곅 -곅 - -곆 -곆 -곆 -곆 -곆 - -곇 -곇 -곇 -곇 -곇 - -곈 -곈 -곈 -곈 -곈 - -곉 -곉 -곉 -곉 -곉 - -곊 -곊 -곊 -곊 -곊 - -곋 -곋 -곋 -곋 -곋 - -곌 -곌 -곌 -곌 -곌 - -곍 -곍 -곍 -곍 -곍 - -곎 -곎 -곎 -곎 -곎 - -곏 -곏 -곏 -곏 -곏 - -곐 -곐 -곐 -곐 -곐 - -곑 -곑 -곑 -곑 -곑 - -곒 -곒 -곒 -곒 -곒 - -곓 -곓 -곓 -곓 -곓 - -곔 -곔 -곔 -곔 -곔 - -곕 -곕 -곕 -곕 -곕 - -곖 -곖 -곖 -곖 -곖 - -곗 -곗 -곗 -곗 -곗 - -곘 -곘 -곘 -곘 -곘 - -곙 -곙 -곙 -곙 -곙 - -곚 -곚 -곚 -곚 -곚 - -곛 -곛 -곛 -곛 -곛 - -곜 -곜 -곜 -곜 -곜 - -곝 -곝 -곝 -곝 -곝 - -곞 -곞 -곞 -곞 -곞 - -곟 -곟 -곟 -곟 -곟 - -고 -고 -고 -고 -고 - -곡 -곡 -곡 -곡 -곡 - -곢 -곢 -곢 -곢 -곢 - -곣 -곣 -곣 -곣 -곣 - -곤 -곤 -곤 -곤 -곤 - -곥 -곥 -곥 -곥 -곥 - -곦 -곦 -곦 -곦 -곦 - -곧 -곧 -곧 -곧 -곧 - -골 -골 -골 -골 -골 - -곩 -곩 -곩 -곩 -곩 - -곪 -곪 -곪 -곪 -곪 - -곫 -곫 -곫 -곫 -곫 - -곬 -곬 -곬 -곬 -곬 - -곭 -곭 -곭 -곭 -곭 - -곮 -곮 -곮 -곮 -곮 - -곯 -곯 -곯 -곯 -곯 - -곰 -곰 -곰 -곰 -곰 - -곱 -곱 -곱 -곱 -곱 - -곲 -곲 -곲 -곲 -곲 - -곳 -곳 -곳 -곳 -곳 - -곴 -곴 -곴 -곴 -곴 - -공 -공 -공 -공 -공 - -곶 -곶 -곶 -곶 -곶 - -곷 -곷 -곷 -곷 -곷 - -곸 -곸 -곸 -곸 -곸 - -곹 -곹 -곹 -곹 -곹 - -곺 -곺 -곺 -곺 -곺 - -곻 -곻 -곻 -곻 -곻 - -과 -과 -과 -과 -과 - -곽 -곽 -곽 -곽 -곽 - -곾 -곾 -곾 -곾 -곾 - -곿 -곿 -곿 -곿 -곿 - -관 -관 -관 -관 -관 - -괁 -괁 -괁 -괁 -괁 - -괂 -괂 -괂 -괂 -괂 - -괃 -괃 -괃 -괃 -괃 - -괄 -괄 -괄 -괄 -괄 - -괅 -괅 -괅 -괅 -괅 - -괆 -괆 -괆 -괆 -괆 - -괇 -괇 -괇 -괇 -괇 - -괈 -괈 -괈 -괈 -괈 - -괉 -괉 -괉 -괉 -괉 - -괊 -괊 -괊 -괊 -괊 - -괋 -괋 -괋 -괋 -괋 - -괌 -괌 -괌 -괌 -괌 - -괍 -괍 -괍 -괍 -괍 - -괎 -괎 -괎 -괎 -괎 - -괏 -괏 -괏 -괏 -괏 - -괐 -괐 -괐 -괐 -괐 - -광 -광 -광 -광 -광 - -괒 -괒 -괒 -괒 -괒 - -괓 -괓 -괓 -괓 -괓 - -괔 -괔 -괔 -괔 -괔 - -괕 -괕 -괕 -괕 -괕 - -괖 -괖 -괖 -괖 -괖 - -괗 -괗 -괗 -괗 -괗 - -괘 -괘 -괘 -괘 -괘 - -괙 -괙 -괙 -괙 -괙 - -괚 -괚 -괚 -괚 -괚 - -괛 -괛 -괛 -괛 -괛 - -괜 -괜 -괜 -괜 -괜 - -괝 -괝 -괝 -괝 -괝 - -괞 -괞 -괞 -괞 -괞 - -괟 -괟 -괟 -괟 -괟 - -괠 -괠 -괠 -괠 -괠 - -괡 -괡 -괡 -괡 -괡 - -괢 -괢 -괢 -괢 -괢 - -괣 -괣 -괣 -괣 -괣 - -괤 -괤 -괤 -괤 -괤 - -괥 -괥 -괥 -괥 -괥 - -괦 -괦 -괦 -괦 -괦 - -괧 -괧 -괧 -괧 -괧 - -괨 -괨 -괨 -괨 -괨 - -괩 -괩 -괩 -괩 -괩 - -괪 -괪 -괪 -괪 -괪 - -괫 -괫 -괫 -괫 -괫 - -괬 -괬 -괬 -괬 -괬 - -괭 -괭 -괭 -괭 -괭 - -괮 -괮 -괮 -괮 -괮 - -괯 -괯 -괯 -괯 -괯 - -괰 -괰 -괰 -괰 -괰 - -괱 -괱 -괱 -괱 -괱 - -괲 -괲 -괲 -괲 -괲 - -괳 -괳 -괳 -괳 -괳 - -괴 -괴 -괴 -괴 -괴 - -괵 -괵 -괵 -괵 -괵 - -괶 -괶 -괶 -괶 -괶 - -괷 -괷 -괷 -괷 -괷 - -괸 -괸 -괸 -괸 -괸 - -괹 -괹 -괹 -괹 -괹 - -괺 -괺 -괺 -괺 -괺 - -괻 -괻 -괻 -괻 -괻 - -괼 -괼 -괼 -괼 -괼 - -괽 -괽 -괽 -괽 -괽 - -괾 -괾 -괾 -괾 -괾 - -괿 -괿 -괿 -괿 -괿 - -굀 -굀 -굀 -굀 -굀 - -굁 -굁 -굁 -굁 -굁 - -굂 -굂 -굂 -굂 -굂 - -굃 -굃 -굃 -굃 -굃 - -굄 -굄 -굄 -굄 -굄 - -굅 -굅 -굅 -굅 -굅 - -굆 -굆 -굆 -굆 -굆 - -굇 -굇 -굇 -굇 -굇 - -굈 -굈 -굈 -굈 -굈 - -굉 -굉 -굉 -굉 -굉 - -굊 -굊 -굊 -굊 -굊 - -굋 -굋 -굋 -굋 -굋 - -굌 -굌 -굌 -굌 -굌 - -굍 -굍 -굍 -굍 -굍 - -굎 -굎 -굎 -굎 -굎 - -굏 -굏 -굏 -굏 -굏 - -교 -교 -교 -교 -교 - -굑 -굑 -굑 -굑 -굑 - -굒 -굒 -굒 -굒 -굒 - -굓 -굓 -굓 -굓 -굓 - -굔 -굔 -굔 -굔 -굔 - -굕 -굕 -굕 -굕 -굕 - -굖 -굖 -굖 -굖 -굖 - -굗 -굗 -굗 -굗 -굗 - -굘 -굘 -굘 -굘 -굘 - -굙 -굙 -굙 -굙 -굙 - -굚 -굚 -굚 -굚 -굚 - -굛 -굛 -굛 -굛 -굛 - -굜 -굜 -굜 -굜 -굜 - -굝 -굝 -굝 -굝 -굝 - -굞 -굞 -굞 -굞 -굞 - -굟 -굟 -굟 -굟 -굟 - -굠 -굠 -굠 -굠 -굠 - -굡 -굡 -굡 -굡 -굡 - -굢 -굢 -굢 -굢 -굢 - -굣 -굣 -굣 -굣 -굣 - -굤 -굤 -굤 -굤 -굤 - -굥 -굥 -굥 -굥 -굥 - -굦 -굦 -굦 -굦 -굦 - -굧 -굧 -굧 -굧 -굧 - -굨 -굨 -굨 -굨 -굨 - -굩 -굩 -굩 -굩 -굩 - -굪 -굪 -굪 -굪 -굪 - -굫 -굫 -굫 -굫 -굫 - -구 -구 -구 -구 -구 - -국 -국 -국 -국 -국 - -굮 -굮 -굮 -굮 -굮 - -굯 -굯 -굯 -굯 -굯 - -군 -군 -군 -군 -군 - -굱 -굱 -굱 -굱 -굱 - -굲 -굲 -굲 -굲 -굲 - -굳 -굳 -굳 -굳 -굳 - -굴 -굴 -굴 -굴 -굴 - -굵 -굵 -굵 -굵 -굵 - -굶 -굶 -굶 -굶 -굶 - -굷 -굷 -굷 -굷 -굷 - -굸 -굸 -굸 -굸 -굸 - -굹 -굹 -굹 -굹 -굹 - -굺 -굺 -굺 -굺 -굺 - -굻 -굻 -굻 -굻 -굻 - -굼 -굼 -굼 -굼 -굼 - -굽 -굽 -굽 -굽 -굽 - -굾 -굾 -굾 -굾 -굾 - -굿 -굿 -굿 -굿 -굿 - -궀 -궀 -궀 -궀 -궀 - -궁 -궁 -궁 -궁 -궁 - -궂 -궂 -궂 -궂 -궂 - -궃 -궃 -궃 -궃 -궃 - -궄 -궄 -궄 -궄 -궄 - -궅 -궅 -궅 -궅 -궅 - -궆 -궆 -궆 -궆 -궆 - -궇 -궇 -궇 -궇 -궇 - -궈 -궈 -궈 -궈 -궈 - -궉 -궉 -궉 -궉 -궉 - -궊 -궊 -궊 -궊 -궊 - -궋 -궋 -궋 -궋 -궋 - -권 -권 -권 -권 -권 - -궍 -궍 -궍 -궍 -궍 - -궎 -궎 -궎 -궎 -궎 - -궏 -궏 -궏 -궏 -궏 - -궐 -궐 -궐 -궐 -궐 - -궑 -궑 -궑 -궑 -궑 - -궒 -궒 -궒 -궒 -궒 - -궓 -궓 -궓 -궓 -궓 - -궔 -궔 -궔 -궔 -궔 - -궕 -궕 -궕 -궕 -궕 - -궖 -궖 -궖 -궖 -궖 - -궗 -궗 -궗 -궗 -궗 - -궘 -궘 -궘 -궘 -궘 - -궙 -궙 -궙 -궙 -궙 - -궚 -궚 -궚 -궚 -궚 - -궛 -궛 -궛 -궛 -궛 - -궜 -궜 -궜 -궜 -궜 - -궝 -궝 -궝 -궝 -궝 - -궞 -궞 -궞 -궞 -궞 - -궟 -궟 -궟 -궟 -궟 - -궠 -궠 -궠 -궠 -궠 - -궡 -궡 -궡 -궡 -궡 - -궢 -궢 -궢 -궢 -궢 - -궣 -궣 -궣 -궣 -궣 - -궤 -궤 -궤 -궤 -궤 - -궥 -궥 -궥 -궥 -궥 - -궦 -궦 -궦 -궦 -궦 - -궧 -궧 -궧 -궧 -궧 - -궨 -궨 -궨 -궨 -궨 - -궩 -궩 -궩 -궩 -궩 - -궪 -궪 -궪 -궪 -궪 - -궫 -궫 -궫 -궫 -궫 - -궬 -궬 -궬 -궬 -궬 - -궭 -궭 -궭 -궭 -궭 - -궮 -궮 -궮 -궮 -궮 - -궯 -궯 -궯 -궯 -궯 - -궰 -궰 -궰 -궰 -궰 - -궱 -궱 -궱 -궱 -궱 - -궲 -궲 -궲 -궲 -궲 - -궳 -궳 -궳 -궳 -궳 - -궴 -궴 -궴 -궴 -궴 - -궵 -궵 -궵 -궵 -궵 - -궶 -궶 -궶 -궶 -궶 - -궷 -궷 -궷 -궷 -궷 - -궸 -궸 -궸 -궸 -궸 - -궹 -궹 -궹 -궹 -궹 - -궺 -궺 -궺 -궺 -궺 - -궻 -궻 -궻 -궻 -궻 - -궼 -궼 -궼 -궼 -궼 - -궽 -궽 -궽 -궽 -궽 - -궾 -궾 -궾 -궾 -궾 - -궿 -궿 -궿 -궿 -궿 - -귀 -귀 -귀 -귀 -귀 - -귁 -귁 -귁 -귁 -귁 - -귂 -귂 -귂 -귂 -귂 - -귃 -귃 -귃 -귃 -귃 - -귄 -귄 -귄 -귄 -귄 - -귅 -귅 -귅 -귅 -귅 - -귆 -귆 -귆 -귆 -귆 - -귇 -귇 -귇 -귇 -귇 - -귈 -귈 -귈 -귈 -귈 - -귉 -귉 -귉 -귉 -귉 - -귊 -귊 -귊 -귊 -귊 - -귋 -귋 -귋 -귋 -귋 - -귌 -귌 -귌 -귌 -귌 - -귍 -귍 -귍 -귍 -귍 - -귎 -귎 -귎 -귎 -귎 - -귏 -귏 -귏 -귏 -귏 - -귐 -귐 -귐 -귐 -귐 - -귑 -귑 -귑 -귑 -귑 - -귒 -귒 -귒 -귒 -귒 - -귓 -귓 -귓 -귓 -귓 - -귔 -귔 -귔 -귔 -귔 - -귕 -귕 -귕 -귕 -귕 - -귖 -귖 -귖 -귖 -귖 - -귗 -귗 -귗 -귗 -귗 - -귘 -귘 -귘 -귘 -귘 - -귙 -귙 -귙 -귙 -귙 - -귚 -귚 -귚 -귚 -귚 - -귛 -귛 -귛 -귛 -귛 - -규 -규 -규 -규 -규 - -귝 -귝 -귝 -귝 -귝 - -귞 -귞 -귞 -귞 -귞 - -귟 -귟 -귟 -귟 -귟 - -균 -균 -균 -균 -균 - -귡 -귡 -귡 -귡 -귡 - -귢 -귢 -귢 -귢 -귢 - -귣 -귣 -귣 -귣 -귣 - -귤 -귤 -귤 -귤 -귤 - -귥 -귥 -귥 -귥 -귥 - -귦 -귦 -귦 -귦 -귦 - -귧 -귧 -귧 -귧 -귧 - -귨 -귨 -귨 -귨 -귨 - -귩 -귩 -귩 -귩 -귩 - -귪 -귪 -귪 -귪 -귪 - -귫 -귫 -귫 -귫 -귫 - -귬 -귬 -귬 -귬 -귬 - -귭 -귭 -귭 -귭 -귭 - -귮 -귮 -귮 -귮 -귮 - -귯 -귯 -귯 -귯 -귯 - -귰 -귰 -귰 -귰 -귰 - -귱 -귱 -귱 -귱 -귱 - -귲 -귲 -귲 -귲 -귲 - -귳 -귳 -귳 -귳 -귳 - -귴 -귴 -귴 -귴 -귴 - -귵 -귵 -귵 -귵 -귵 - -귶 -귶 -귶 -귶 -귶 - -귷 -귷 -귷 -귷 -귷 - -그 -그 -그 -그 -그 - -극 -극 -극 -극 -극 - -귺 -귺 -귺 -귺 -귺 - -귻 -귻 -귻 -귻 -귻 - -근 -근 -근 -근 -근 - -귽 -귽 -귽 -귽 -귽 - -귾 -귾 -귾 -귾 -귾 - -귿 -귿 -귿 -귿 -귿 - -글 -글 -글 -글 -글 - -긁 -긁 -긁 -긁 -긁 - -긂 -긂 -긂 -긂 -긂 - -긃 -긃 -긃 -긃 -긃 - -긄 -긄 -긄 -긄 -긄 - -긅 -긅 -긅 -긅 -긅 - -긆 -긆 -긆 -긆 -긆 - -긇 -긇 -긇 -긇 -긇 - -금 -금 -금 -금 -금 - -급 -급 -급 -급 -급 - -긊 -긊 -긊 -긊 -긊 - -긋 -긋 -긋 -긋 -긋 - -긌 -긌 -긌 -긌 -긌 - -긍 -긍 -긍 -긍 -긍 - -긎 -긎 -긎 -긎 -긎 - -긏 -긏 -긏 -긏 -긏 - -긐 -긐 -긐 -긐 -긐 - -긑 -긑 -긑 -긑 -긑 - -긒 -긒 -긒 -긒 -긒 - -긓 -긓 -긓 -긓 -긓 - -긔 -긔 -긔 -긔 -긔 - -긕 -긕 -긕 -긕 -긕 - -긖 -긖 -긖 -긖 -긖 - -긗 -긗 -긗 -긗 -긗 - -긘 -긘 -긘 -긘 -긘 - -긙 -긙 -긙 -긙 -긙 - -긚 -긚 -긚 -긚 -긚 - -긛 -긛 -긛 -긛 -긛 - -긜 -긜 -긜 -긜 -긜 - -긝 -긝 -긝 -긝 -긝 - -긞 -긞 -긞 -긞 -긞 - -긟 -긟 -긟 -긟 -긟 - -긠 -긠 -긠 -긠 -긠 - -긡 -긡 -긡 -긡 -긡 - -긢 -긢 -긢 -긢 -긢 - -긣 -긣 -긣 -긣 -긣 - -긤 -긤 -긤 -긤 -긤 - -긥 -긥 -긥 -긥 -긥 - -긦 -긦 -긦 -긦 -긦 - -긧 -긧 -긧 -긧 -긧 - -긨 -긨 -긨 -긨 -긨 - -긩 -긩 -긩 -긩 -긩 - -긪 -긪 -긪 -긪 -긪 - -긫 -긫 -긫 -긫 -긫 - -긬 -긬 -긬 -긬 -긬 - -긭 -긭 -긭 -긭 -긭 - -긮 -긮 -긮 -긮 -긮 - -긯 -긯 -긯 -긯 -긯 - -기 -기 -기 -기 -기 - -긱 -긱 -긱 -긱 -긱 - -긲 -긲 -긲 -긲 -긲 - -긳 -긳 -긳 -긳 -긳 - -긴 -긴 -긴 -긴 -긴 - -긵 -긵 -긵 -긵 -긵 - -긶 -긶 -긶 -긶 -긶 - -긷 -긷 -긷 -긷 -긷 - -길 -길 -길 -길 -길 - -긹 -긹 -긹 -긹 -긹 - -긺 -긺 -긺 -긺 -긺 - -긻 -긻 -긻 -긻 -긻 - -긼 -긼 -긼 -긼 -긼 - -긽 -긽 -긽 -긽 -긽 - -긾 -긾 -긾 -긾 -긾 - -긿 -긿 -긿 -긿 -긿 - -김 -김 -김 -김 -김 - -깁 -깁 -깁 -깁 -깁 - -깂 -깂 -깂 -깂 -깂 - -깃 -깃 -깃 -깃 -깃 - -깄 -깄 -깄 -깄 -깄 - -깅 -깅 -깅 -깅 -깅 - -깆 -깆 -깆 -깆 -깆 - -깇 -깇 -깇 -깇 -깇 - -깈 -깈 -깈 -깈 -깈 - -깉 -깉 -깉 -깉 -깉 - -깊 -깊 -깊 -깊 -깊 - -깋 -깋 -깋 -깋 -깋 - -까 -까 -까 -까 -까 - -깍 -깍 -깍 -깍 -깍 - -깎 -깎 -깎 -깎 -깎 - -깏 -깏 -깏 -깏 -깏 - -깐 -깐 -깐 -깐 -깐 - -깑 -깑 -깑 -깑 -깑 - -깒 -깒 -깒 -깒 -깒 - -깓 -깓 -깓 -깓 -깓 - -깔 -깔 -깔 -깔 -깔 - -깕 -깕 -깕 -깕 -깕 - -깖 -깖 -깖 -깖 -깖 - -깗 -깗 -깗 -깗 -깗 - -깘 -깘 -깘 -깘 -깘 - -깙 -깙 -깙 -깙 -깙 - -깚 -깚 -깚 -깚 -깚 - -깛 -깛 -깛 -깛 -깛 - -깜 -깜 -깜 -깜 -깜 - -깝 -깝 -깝 -깝 -깝 - -깞 -깞 -깞 -깞 -깞 - -깟 -깟 -깟 -깟 -깟 - -깠 -깠 -깠 -깠 -깠 - -깡 -깡 -깡 -깡 -깡 - -깢 -깢 -깢 -깢 -깢 - -깣 -깣 -깣 -깣 -깣 - -깤 -깤 -깤 -깤 -깤 - -깥 -깥 -깥 -깥 -깥 - -깦 -깦 -깦 -깦 -깦 - -깧 -깧 -깧 -깧 -깧 - -깨 -깨 -깨 -깨 -깨 - -깩 -깩 -깩 -깩 -깩 - -깪 -깪 -깪 -깪 -깪 - -깫 -깫 -깫 -깫 -깫 - -깬 -깬 -깬 -깬 -깬 - -깭 -깭 -깭 -깭 -깭 - -깮 -깮 -깮 -깮 -깮 - -깯 -깯 -깯 -깯 -깯 - -깰 -깰 -깰 -깰 -깰 - -깱 -깱 -깱 -깱 -깱 - -깲 -깲 -깲 -깲 -깲 - -깳 -깳 -깳 -깳 -깳 - -깴 -깴 -깴 -깴 -깴 - -깵 -깵 -깵 -깵 -깵 - -깶 -깶 -깶 -깶 -깶 - -깷 -깷 -깷 -깷 -깷 - -깸 -깸 -깸 -깸 -깸 - -깹 -깹 -깹 -깹 -깹 - -깺 -깺 -깺 -깺 -깺 - -깻 -깻 -깻 -깻 -깻 - -깼 -깼 -깼 -깼 -깼 - -깽 -깽 -깽 -깽 -깽 - -깾 -깾 -깾 -깾 -깾 - -깿 -깿 -깿 -깿 -깿 - -꺀 -꺀 -꺀 -꺀 -꺀 - -꺁 -꺁 -꺁 -꺁 -꺁 - -꺂 -꺂 -꺂 -꺂 -꺂 - -꺃 -꺃 -꺃 -꺃 -꺃 - -꺄 -꺄 -꺄 -꺄 -꺄 - -꺅 -꺅 -꺅 -꺅 -꺅 - -꺆 -꺆 -꺆 -꺆 -꺆 - -꺇 -꺇 -꺇 -꺇 -꺇 - -꺈 -꺈 -꺈 -꺈 -꺈 - -꺉 -꺉 -꺉 -꺉 -꺉 - -꺊 -꺊 -꺊 -꺊 -꺊 - -꺋 -꺋 -꺋 -꺋 -꺋 - -꺌 -꺌 -꺌 -꺌 -꺌 - -꺍 -꺍 -꺍 -꺍 -꺍 - -꺎 -꺎 -꺎 -꺎 -꺎 - -꺏 -꺏 -꺏 -꺏 -꺏 - -꺐 -꺐 -꺐 -꺐 -꺐 - -꺑 -꺑 -꺑 -꺑 -꺑 - -꺒 -꺒 -꺒 -꺒 -꺒 - -꺓 -꺓 -꺓 -꺓 -꺓 - -꺔 -꺔 -꺔 -꺔 -꺔 - -꺕 -꺕 -꺕 -꺕 -꺕 - -꺖 -꺖 -꺖 -꺖 -꺖 - -꺗 -꺗 -꺗 -꺗 -꺗 - -꺘 -꺘 -꺘 -꺘 -꺘 - -꺙 -꺙 -꺙 -꺙 -꺙 - -꺚 -꺚 -꺚 -꺚 -꺚 - -꺛 -꺛 -꺛 -꺛 -꺛 - -꺜 -꺜 -꺜 -꺜 -꺜 - -꺝 -꺝 -꺝 -꺝 -꺝 - -꺞 -꺞 -꺞 -꺞 -꺞 - -꺟 -꺟 -꺟 -꺟 -꺟 - -꺠 -꺠 -꺠 -꺠 -꺠 - -꺡 -꺡 -꺡 -꺡 -꺡 - -꺢 -꺢 -꺢 -꺢 -꺢 - -꺣 -꺣 -꺣 -꺣 -꺣 - -꺤 -꺤 -꺤 -꺤 -꺤 - -꺥 -꺥 -꺥 -꺥 -꺥 - -꺦 -꺦 -꺦 -꺦 -꺦 - -꺧 -꺧 -꺧 -꺧 -꺧 - -꺨 -꺨 -꺨 -꺨 -꺨 - -꺩 -꺩 -꺩 -꺩 -꺩 - -꺪 -꺪 -꺪 -꺪 -꺪 - -꺫 -꺫 -꺫 -꺫 -꺫 - -꺬 -꺬 -꺬 -꺬 -꺬 - -꺭 -꺭 -꺭 -꺭 -꺭 - -꺮 -꺮 -꺮 -꺮 -꺮 - -꺯 -꺯 -꺯 -꺯 -꺯 - -꺰 -꺰 -꺰 -꺰 -꺰 - -꺱 -꺱 -꺱 -꺱 -꺱 - -꺲 -꺲 -꺲 -꺲 -꺲 - -꺳 -꺳 -꺳 -꺳 -꺳 - -꺴 -꺴 -꺴 -꺴 -꺴 - -꺵 -꺵 -꺵 -꺵 -꺵 - -꺶 -꺶 -꺶 -꺶 -꺶 - -꺷 -꺷 -꺷 -꺷 -꺷 - -꺸 -꺸 -꺸 -꺸 -꺸 - -꺹 -꺹 -꺹 -꺹 -꺹 - -꺺 -꺺 -꺺 -꺺 -꺺 - -꺻 -꺻 -꺻 -꺻 -꺻 - -꺼 -꺼 -꺼 -꺼 -꺼 - -꺽 -꺽 -꺽 -꺽 -꺽 - -꺾 -꺾 -꺾 -꺾 -꺾 - -꺿 -꺿 -꺿 -꺿 -꺿 - -껀 -껀 -껀 -껀 -껀 - -껁 -껁 -껁 -껁 -껁 - -껂 -껂 -껂 -껂 -껂 - -껃 -껃 -껃 -껃 -껃 - -껄 -껄 -껄 -껄 -껄 - -껅 -껅 -껅 -껅 -껅 - -껆 -껆 -껆 -껆 -껆 - -껇 -껇 -껇 -껇 -껇 - -껈 -껈 -껈 -껈 -껈 - -껉 -껉 -껉 -껉 -껉 - -껊 -껊 -껊 -껊 -껊 - -껋 -껋 -껋 -껋 -껋 - -껌 -껌 -껌 -껌 -껌 - -껍 -껍 -껍 -껍 -껍 - -껎 -껎 -껎 -껎 -껎 - -껏 -껏 -껏 -껏 -껏 - -껐 -껐 -껐 -껐 -껐 - -껑 -껑 -껑 -껑 -껑 - -껒 -껒 -껒 -껒 -껒 - -껓 -껓 -껓 -껓 -껓 - -껔 -껔 -껔 -껔 -껔 - -껕 -껕 -껕 -껕 -껕 - -껖 -껖 -껖 -껖 -껖 - -껗 -껗 -껗 -껗 -껗 - -께 -께 -께 -께 -께 - -껙 -껙 -껙 -껙 -껙 - -껚 -껚 -껚 -껚 -껚 - -껛 -껛 -껛 -껛 -껛 - -껜 -껜 -껜 -껜 -껜 - -껝 -껝 -껝 -껝 -껝 - -껞 -껞 -껞 -껞 -껞 - -껟 -껟 -껟 -껟 -껟 - -껠 -껠 -껠 -껠 -껠 - -껡 -껡 -껡 -껡 -껡 - -껢 -껢 -껢 -껢 -껢 - -껣 -껣 -껣 -껣 -껣 - -껤 -껤 -껤 -껤 -껤 - -껥 -껥 -껥 -껥 -껥 - -껦 -껦 -껦 -껦 -껦 - -껧 -껧 -껧 -껧 -껧 - -껨 -껨 -껨 -껨 -껨 - -껩 -껩 -껩 -껩 -껩 - -껪 -껪 -껪 -껪 -껪 - -껫 -껫 -껫 -껫 -껫 - -껬 -껬 -껬 -껬 -껬 - -껭 -껭 -껭 -껭 -껭 - -껮 -껮 -껮 -껮 -껮 - -껯 -껯 -껯 -껯 -껯 - -껰 -껰 -껰 -껰 -껰 - -껱 -껱 -껱 -껱 -껱 - -껲 -껲 -껲 -껲 -껲 - -껳 -껳 -껳 -껳 -껳 - -껴 -껴 -껴 -껴 -껴 - -껵 -껵 -껵 -껵 -껵 - -껶 -껶 -껶 -껶 -껶 - -껷 -껷 -껷 -껷 -껷 - -껸 -껸 -껸 -껸 -껸 - -껹 -껹 -껹 -껹 -껹 - -껺 -껺 -껺 -껺 -껺 - -껻 -껻 -껻 -껻 -껻 - -껼 -껼 -껼 -껼 -껼 - -껽 -껽 -껽 -껽 -껽 - -껾 -껾 -껾 -껾 -껾 - -껿 -껿 -껿 -껿 -껿 - -꼀 -꼀 -꼀 -꼀 -꼀 - -꼁 -꼁 -꼁 -꼁 -꼁 - -꼂 -꼂 -꼂 -꼂 -꼂 - -꼃 -꼃 -꼃 -꼃 -꼃 - -꼄 -꼄 -꼄 -꼄 -꼄 - -꼅 -꼅 -꼅 -꼅 -꼅 - -꼆 -꼆 -꼆 -꼆 -꼆 - -꼇 -꼇 -꼇 -꼇 -꼇 - -꼈 -꼈 -꼈 -꼈 -꼈 - -꼉 -꼉 -꼉 -꼉 -꼉 - -꼊 -꼊 -꼊 -꼊 -꼊 - -꼋 -꼋 -꼋 -꼋 -꼋 - -꼌 -꼌 -꼌 -꼌 -꼌 - -꼍 -꼍 -꼍 -꼍 -꼍 - -꼎 -꼎 -꼎 -꼎 -꼎 - -꼏 -꼏 -꼏 -꼏 -꼏 - -꼐 -꼐 -꼐 -꼐 -꼐 - -꼑 -꼑 -꼑 -꼑 -꼑 - -꼒 -꼒 -꼒 -꼒 -꼒 - -꼓 -꼓 -꼓 -꼓 -꼓 - -꼔 -꼔 -꼔 -꼔 -꼔 - -꼕 -꼕 -꼕 -꼕 -꼕 - -꼖 -꼖 -꼖 -꼖 -꼖 - -꼗 -꼗 -꼗 -꼗 -꼗 - -꼘 -꼘 -꼘 -꼘 -꼘 - -꼙 -꼙 -꼙 -꼙 -꼙 - -꼚 -꼚 -꼚 -꼚 -꼚 - -꼛 -꼛 -꼛 -꼛 -꼛 - -꼜 -꼜 -꼜 -꼜 -꼜 - -꼝 -꼝 -꼝 -꼝 -꼝 - -꼞 -꼞 -꼞 -꼞 -꼞 - -꼟 -꼟 -꼟 -꼟 -꼟 - -꼠 -꼠 -꼠 -꼠 -꼠 - -꼡 -꼡 -꼡 -꼡 -꼡 - -꼢 -꼢 -꼢 -꼢 -꼢 - -꼣 -꼣 -꼣 -꼣 -꼣 - -꼤 -꼤 -꼤 -꼤 -꼤 - -꼥 -꼥 -꼥 -꼥 -꼥 - -꼦 -꼦 -꼦 -꼦 -꼦 - -꼧 -꼧 -꼧 -꼧 -꼧 - -꼨 -꼨 -꼨 -꼨 -꼨 - -꼩 -꼩 -꼩 -꼩 -꼩 - -꼪 -꼪 -꼪 -꼪 -꼪 - -꼫 -꼫 -꼫 -꼫 -꼫 - -꼬 -꼬 -꼬 -꼬 -꼬 - -꼭 -꼭 -꼭 -꼭 -꼭 - -꼮 -꼮 -꼮 -꼮 -꼮 - -꼯 -꼯 -꼯 -꼯 -꼯 - -꼰 -꼰 -꼰 -꼰 -꼰 - -꼱 -꼱 -꼱 -꼱 -꼱 - -꼲 -꼲 -꼲 -꼲 -꼲 - -꼳 -꼳 -꼳 -꼳 -꼳 - -꼴 -꼴 -꼴 -꼴 -꼴 - -꼵 -꼵 -꼵 -꼵 -꼵 - -꼶 -꼶 -꼶 -꼶 -꼶 - -꼷 -꼷 -꼷 -꼷 -꼷 - -꼸 -꼸 -꼸 -꼸 -꼸 - -꼹 -꼹 -꼹 -꼹 -꼹 - -꼺 -꼺 -꼺 -꼺 -꼺 - -꼻 -꼻 -꼻 -꼻 -꼻 - -꼼 -꼼 -꼼 -꼼 -꼼 - -꼽 -꼽 -꼽 -꼽 -꼽 - -꼾 -꼾 -꼾 -꼾 -꼾 - -꼿 -꼿 -꼿 -꼿 -꼿 - -꽀 -꽀 -꽀 -꽀 -꽀 - -꽁 -꽁 -꽁 -꽁 -꽁 - -꽂 -꽂 -꽂 -꽂 -꽂 - -꽃 -꽃 -꽃 -꽃 -꽃 - -꽄 -꽄 -꽄 -꽄 -꽄 - -꽅 -꽅 -꽅 -꽅 -꽅 - -꽆 -꽆 -꽆 -꽆 -꽆 - -꽇 -꽇 -꽇 -꽇 -꽇 - -꽈 -꽈 -꽈 -꽈 -꽈 - -꽉 -꽉 -꽉 -꽉 -꽉 - -꽊 -꽊 -꽊 -꽊 -꽊 - -꽋 -꽋 -꽋 -꽋 -꽋 - -꽌 -꽌 -꽌 -꽌 -꽌 - -꽍 -꽍 -꽍 -꽍 -꽍 - -꽎 -꽎 -꽎 -꽎 -꽎 - -꽏 -꽏 -꽏 -꽏 -꽏 - -꽐 -꽐 -꽐 -꽐 -꽐 - -꽑 -꽑 -꽑 -꽑 -꽑 - -꽒 -꽒 -꽒 -꽒 -꽒 - -꽓 -꽓 -꽓 -꽓 -꽓 - -꽔 -꽔 -꽔 -꽔 -꽔 - -꽕 -꽕 -꽕 -꽕 -꽕 - -꽖 -꽖 -꽖 -꽖 -꽖 - -꽗 -꽗 -꽗 -꽗 -꽗 - -꽘 -꽘 -꽘 -꽘 -꽘 - -꽙 -꽙 -꽙 -꽙 -꽙 - -꽚 -꽚 -꽚 -꽚 -꽚 - -꽛 -꽛 -꽛 -꽛 -꽛 - -꽜 -꽜 -꽜 -꽜 -꽜 - -꽝 -꽝 -꽝 -꽝 -꽝 - -꽞 -꽞 -꽞 -꽞 -꽞 - -꽟 -꽟 -꽟 -꽟 -꽟 - -꽠 -꽠 -꽠 -꽠 -꽠 - -꽡 -꽡 -꽡 -꽡 -꽡 - -꽢 -꽢 -꽢 -꽢 -꽢 - -꽣 -꽣 -꽣 -꽣 -꽣 - -꽤 -꽤 -꽤 -꽤 -꽤 - -꽥 -꽥 -꽥 -꽥 -꽥 - -꽦 -꽦 -꽦 -꽦 -꽦 - -꽧 -꽧 -꽧 -꽧 -꽧 - -꽨 -꽨 -꽨 -꽨 -꽨 - -꽩 -꽩 -꽩 -꽩 -꽩 - -꽪 -꽪 -꽪 -꽪 -꽪 - -꽫 -꽫 -꽫 -꽫 -꽫 - -꽬 -꽬 -꽬 -꽬 -꽬 - -꽭 -꽭 -꽭 -꽭 -꽭 - -꽮 -꽮 -꽮 -꽮 -꽮 - -꽯 -꽯 -꽯 -꽯 -꽯 - -꽰 -꽰 -꽰 -꽰 -꽰 - -꽱 -꽱 -꽱 -꽱 -꽱 - -꽲 -꽲 -꽲 -꽲 -꽲 - -꽳 -꽳 -꽳 -꽳 -꽳 - -꽴 -꽴 -꽴 -꽴 -꽴 - -꽵 -꽵 -꽵 -꽵 -꽵 - -꽶 -꽶 -꽶 -꽶 -꽶 - -꽷 -꽷 -꽷 -꽷 -꽷 - -꽸 -꽸 -꽸 -꽸 -꽸 - -꽹 -꽹 -꽹 -꽹 -꽹 - -꽺 -꽺 -꽺 -꽺 -꽺 - -꽻 -꽻 -꽻 -꽻 -꽻 - -꽼 -꽼 -꽼 -꽼 -꽼 - -꽽 -꽽 -꽽 -꽽 -꽽 - -꽾 -꽾 -꽾 -꽾 -꽾 - -꽿 -꽿 -꽿 -꽿 -꽿 - -꾀 -꾀 -꾀 -꾀 -꾀 - -꾁 -꾁 -꾁 -꾁 -꾁 - -꾂 -꾂 -꾂 -꾂 -꾂 - -꾃 -꾃 -꾃 -꾃 -꾃 - -꾄 -꾄 -꾄 -꾄 -꾄 - -꾅 -꾅 -꾅 -꾅 -꾅 - -꾆 -꾆 -꾆 -꾆 -꾆 - -꾇 -꾇 -꾇 -꾇 -꾇 - -꾈 -꾈 -꾈 -꾈 -꾈 - -꾉 -꾉 -꾉 -꾉 -꾉 - -꾊 -꾊 -꾊 -꾊 -꾊 - -꾋 -꾋 -꾋 -꾋 -꾋 - -꾌 -꾌 -꾌 -꾌 -꾌 - -꾍 -꾍 -꾍 -꾍 -꾍 - -꾎 -꾎 -꾎 -꾎 -꾎 - -꾏 -꾏 -꾏 -꾏 -꾏 - -꾐 -꾐 -꾐 -꾐 -꾐 - -꾑 -꾑 -꾑 -꾑 -꾑 - -꾒 -꾒 -꾒 -꾒 -꾒 - -꾓 -꾓 -꾓 -꾓 -꾓 - -꾔 -꾔 -꾔 -꾔 -꾔 - -꾕 -꾕 -꾕 -꾕 -꾕 - -꾖 -꾖 -꾖 -꾖 -꾖 - -꾗 -꾗 -꾗 -꾗 -꾗 - -꾘 -꾘 -꾘 -꾘 -꾘 - -꾙 -꾙 -꾙 -꾙 -꾙 - -꾚 -꾚 -꾚 -꾚 -꾚 - -꾛 -꾛 -꾛 -꾛 -꾛 - -꾜 -꾜 -꾜 -꾜 -꾜 - -꾝 -꾝 -꾝 -꾝 -꾝 - -꾞 -꾞 -꾞 -꾞 -꾞 - -꾟 -꾟 -꾟 -꾟 -꾟 - -꾠 -꾠 -꾠 -꾠 -꾠 - -꾡 -꾡 -꾡 -꾡 -꾡 - -꾢 -꾢 -꾢 -꾢 -꾢 - -꾣 -꾣 -꾣 -꾣 -꾣 - -꾤 -꾤 -꾤 -꾤 -꾤 - -꾥 -꾥 -꾥 -꾥 -꾥 - -꾦 -꾦 -꾦 -꾦 -꾦 - -꾧 -꾧 -꾧 -꾧 -꾧 - -꾨 -꾨 -꾨 -꾨 -꾨 - -꾩 -꾩 -꾩 -꾩 -꾩 - -꾪 -꾪 -꾪 -꾪 -꾪 - -꾫 -꾫 -꾫 -꾫 -꾫 - -꾬 -꾬 -꾬 -꾬 -꾬 - -꾭 -꾭 -꾭 -꾭 -꾭 - -꾮 -꾮 -꾮 -꾮 -꾮 - -꾯 -꾯 -꾯 -꾯 -꾯 - -꾰 -꾰 -꾰 -꾰 -꾰 - -꾱 -꾱 -꾱 -꾱 -꾱 - -꾲 -꾲 -꾲 -꾲 -꾲 - -꾳 -꾳 -꾳 -꾳 -꾳 - -꾴 -꾴 -꾴 -꾴 -꾴 - -꾵 -꾵 -꾵 -꾵 -꾵 - -꾶 -꾶 -꾶 -꾶 -꾶 - -꾷 -꾷 -꾷 -꾷 -꾷 - -꾸 -꾸 -꾸 -꾸 -꾸 - -꾹 -꾹 -꾹 -꾹 -꾹 - -꾺 -꾺 -꾺 -꾺 -꾺 - -꾻 -꾻 -꾻 -꾻 -꾻 - -꾼 -꾼 -꾼 -꾼 -꾼 - -꾽 -꾽 -꾽 -꾽 -꾽 - -꾾 -꾾 -꾾 -꾾 -꾾 - -꾿 -꾿 -꾿 -꾿 -꾿 - -꿀 -꿀 -꿀 -꿀 -꿀 - -꿁 -꿁 -꿁 -꿁 -꿁 - -꿂 -꿂 -꿂 -꿂 -꿂 - -꿃 -꿃 -꿃 -꿃 -꿃 - -꿄 -꿄 -꿄 -꿄 -꿄 - -꿅 -꿅 -꿅 -꿅 -꿅 - -꿆 -꿆 -꿆 -꿆 -꿆 - -꿇 -꿇 -꿇 -꿇 -꿇 - -꿈 -꿈 -꿈 -꿈 -꿈 - -꿉 -꿉 -꿉 -꿉 -꿉 - -꿊 -꿊 -꿊 -꿊 -꿊 - -꿋 -꿋 -꿋 -꿋 -꿋 - -꿌 -꿌 -꿌 -꿌 -꿌 - -꿍 -꿍 -꿍 -꿍 -꿍 - -꿎 -꿎 -꿎 -꿎 -꿎 - -꿏 -꿏 -꿏 -꿏 -꿏 - -꿐 -꿐 -꿐 -꿐 -꿐 - -꿑 -꿑 -꿑 -꿑 -꿑 - -꿒 -꿒 -꿒 -꿒 -꿒 - -꿓 -꿓 -꿓 -꿓 -꿓 - -꿔 -꿔 -꿔 -꿔 -꿔 - -꿕 -꿕 -꿕 -꿕 -꿕 - -꿖 -꿖 -꿖 -꿖 -꿖 - -꿗 -꿗 -꿗 -꿗 -꿗 - -꿘 -꿘 -꿘 -꿘 -꿘 - -꿙 -꿙 -꿙 -꿙 -꿙 - -꿚 -꿚 -꿚 -꿚 -꿚 - -꿛 -꿛 -꿛 -꿛 -꿛 - -꿜 -꿜 -꿜 -꿜 -꿜 - -꿝 -꿝 -꿝 -꿝 -꿝 - -꿞 -꿞 -꿞 -꿞 -꿞 - -꿟 -꿟 -꿟 -꿟 -꿟 - -꿠 -꿠 -꿠 -꿠 -꿠 - -꿡 -꿡 -꿡 -꿡 -꿡 - -꿢 -꿢 -꿢 -꿢 -꿢 - -꿣 -꿣 -꿣 -꿣 -꿣 - -꿤 -꿤 -꿤 -꿤 -꿤 - -꿥 -꿥 -꿥 -꿥 -꿥 - -꿦 -꿦 -꿦 -꿦 -꿦 - -꿧 -꿧 -꿧 -꿧 -꿧 - -꿨 -꿨 -꿨 -꿨 -꿨 - -꿩 -꿩 -꿩 -꿩 -꿩 - -꿪 -꿪 -꿪 -꿪 -꿪 - -꿫 -꿫 -꿫 -꿫 -꿫 - -꿬 -꿬 -꿬 -꿬 -꿬 - -꿭 -꿭 -꿭 -꿭 -꿭 - -꿮 -꿮 -꿮 -꿮 -꿮 - -꿯 -꿯 -꿯 -꿯 -꿯 - -꿰 -꿰 -꿰 -꿰 -꿰 - -꿱 -꿱 -꿱 -꿱 -꿱 - -꿲 -꿲 -꿲 -꿲 -꿲 - -꿳 -꿳 -꿳 -꿳 -꿳 - -꿴 -꿴 -꿴 -꿴 -꿴 - -꿵 -꿵 -꿵 -꿵 -꿵 - -꿶 -꿶 -꿶 -꿶 -꿶 - -꿷 -꿷 -꿷 -꿷 -꿷 - -꿸 -꿸 -꿸 -꿸 -꿸 - -꿹 -꿹 -꿹 -꿹 -꿹 - -꿺 -꿺 -꿺 -꿺 -꿺 - -꿻 -꿻 -꿻 -꿻 -꿻 - -꿼 -꿼 -꿼 -꿼 -꿼 - -꿽 -꿽 -꿽 -꿽 -꿽 - -꿾 -꿾 -꿾 -꿾 -꿾 - -꿿 -꿿 -꿿 -꿿 -꿿 - -뀀 -뀀 -뀀 -뀀 -뀀 - -뀁 -뀁 -뀁 -뀁 -뀁 - -뀂 -뀂 -뀂 -뀂 -뀂 - -뀃 -뀃 -뀃 -뀃 -뀃 - -뀄 -뀄 -뀄 -뀄 -뀄 - -뀅 -뀅 -뀅 -뀅 -뀅 - -뀆 -뀆 -뀆 -뀆 -뀆 - -뀇 -뀇 -뀇 -뀇 -뀇 - -뀈 -뀈 -뀈 -뀈 -뀈 - -뀉 -뀉 -뀉 -뀉 -뀉 - -뀊 -뀊 -뀊 -뀊 -뀊 - -뀋 -뀋 -뀋 -뀋 -뀋 - -뀌 -뀌 -뀌 -뀌 -뀌 - -뀍 -뀍 -뀍 -뀍 -뀍 - -뀎 -뀎 -뀎 -뀎 -뀎 - -뀏 -뀏 -뀏 -뀏 -뀏 - -뀐 -뀐 -뀐 -뀐 -뀐 - -뀑 -뀑 -뀑 -뀑 -뀑 - -뀒 -뀒 -뀒 -뀒 -뀒 - -뀓 -뀓 -뀓 -뀓 -뀓 - -뀔 -뀔 -뀔 -뀔 -뀔 - -뀕 -뀕 -뀕 -뀕 -뀕 - -뀖 -뀖 -뀖 -뀖 -뀖 - -뀗 -뀗 -뀗 -뀗 -뀗 - -뀘 -뀘 -뀘 -뀘 -뀘 - -뀙 -뀙 -뀙 -뀙 -뀙 - -뀚 -뀚 -뀚 -뀚 -뀚 - -뀛 -뀛 -뀛 -뀛 -뀛 - -뀜 -뀜 -뀜 -뀜 -뀜 - -뀝 -뀝 -뀝 -뀝 -뀝 - -뀞 -뀞 -뀞 -뀞 -뀞 - -뀟 -뀟 -뀟 -뀟 -뀟 - -뀠 -뀠 -뀠 -뀠 -뀠 - -뀡 -뀡 -뀡 -뀡 -뀡 - -뀢 -뀢 -뀢 -뀢 -뀢 - -뀣 -뀣 -뀣 -뀣 -뀣 - -뀤 -뀤 -뀤 -뀤 -뀤 - -뀥 -뀥 -뀥 -뀥 -뀥 - -뀦 -뀦 -뀦 -뀦 -뀦 - -뀧 -뀧 -뀧 -뀧 -뀧 - -뀨 -뀨 -뀨 -뀨 -뀨 - -뀩 -뀩 -뀩 -뀩 -뀩 - -뀪 -뀪 -뀪 -뀪 -뀪 - -뀫 -뀫 -뀫 -뀫 -뀫 - -뀬 -뀬 -뀬 -뀬 -뀬 - -뀭 -뀭 -뀭 -뀭 -뀭 - -뀮 -뀮 -뀮 -뀮 -뀮 - -뀯 -뀯 -뀯 -뀯 -뀯 - -뀰 -뀰 -뀰 -뀰 -뀰 - -뀱 -뀱 -뀱 -뀱 -뀱 - -뀲 -뀲 -뀲 -뀲 -뀲 - -뀳 -뀳 -뀳 -뀳 -뀳 - -뀴 -뀴 -뀴 -뀴 -뀴 - -뀵 -뀵 -뀵 -뀵 -뀵 - -뀶 -뀶 -뀶 -뀶 -뀶 - -뀷 -뀷 -뀷 -뀷 -뀷 - -뀸 -뀸 -뀸 -뀸 -뀸 - -뀹 -뀹 -뀹 -뀹 -뀹 - -뀺 -뀺 -뀺 -뀺 -뀺 - -뀻 -뀻 -뀻 -뀻 -뀻 - -뀼 -뀼 -뀼 -뀼 -뀼 - -뀽 -뀽 -뀽 -뀽 -뀽 - -뀾 -뀾 -뀾 -뀾 -뀾 - -뀿 -뀿 -뀿 -뀿 -뀿 - -끀 -끀 -끀 -끀 -끀 - -끁 -끁 -끁 -끁 -끁 - -끂 -끂 -끂 -끂 -끂 - -끃 -끃 -끃 -끃 -끃 - -끄 -끄 -끄 -끄 -끄 - -끅 -끅 -끅 -끅 -끅 - -끆 -끆 -끆 -끆 -끆 - -끇 -끇 -끇 -끇 -끇 - -끈 -끈 -끈 -끈 -끈 - -끉 -끉 -끉 -끉 -끉 - -끊 -끊 -끊 -끊 -끊 - -끋 -끋 -끋 -끋 -끋 - -끌 -끌 -끌 -끌 -끌 - -끍 -끍 -끍 -끍 -끍 - -끎 -끎 -끎 -끎 -끎 - -끏 -끏 -끏 -끏 -끏 - -끐 -끐 -끐 -끐 -끐 - -끑 -끑 -끑 -끑 -끑 - -끒 -끒 -끒 -끒 -끒 - -끓 -끓 -끓 -끓 -끓 - -끔 -끔 -끔 -끔 -끔 - -끕 -끕 -끕 -끕 -끕 - -끖 -끖 -끖 -끖 -끖 - -끗 -끗 -끗 -끗 -끗 - -끘 -끘 -끘 -끘 -끘 - -끙 -끙 -끙 -끙 -끙 - -끚 -끚 -끚 -끚 -끚 - -끛 -끛 -끛 -끛 -끛 - -끜 -끜 -끜 -끜 -끜 - -끝 -끝 -끝 -끝 -끝 - -끞 -끞 -끞 -끞 -끞 - -끟 -끟 -끟 -끟 -끟 - -끠 -끠 -끠 -끠 -끠 - -끡 -끡 -끡 -끡 -끡 - -끢 -끢 -끢 -끢 -끢 - -끣 -끣 -끣 -끣 -끣 - -끤 -끤 -끤 -끤 -끤 - -끥 -끥 -끥 -끥 -끥 - -끦 -끦 -끦 -끦 -끦 - -끧 -끧 -끧 -끧 -끧 - -끨 -끨 -끨 -끨 -끨 - -끩 -끩 -끩 -끩 -끩 - -끪 -끪 -끪 -끪 -끪 - -끫 -끫 -끫 -끫 -끫 - -끬 -끬 -끬 -끬 -끬 - -끭 -끭 -끭 -끭 -끭 - -끮 -끮 -끮 -끮 -끮 - -끯 -끯 -끯 -끯 -끯 - -끰 -끰 -끰 -끰 -끰 - -끱 -끱 -끱 -끱 -끱 - -끲 -끲 -끲 -끲 -끲 - -끳 -끳 -끳 -끳 -끳 - -끴 -끴 -끴 -끴 -끴 - -끵 -끵 -끵 -끵 -끵 - -끶 -끶 -끶 -끶 -끶 - -끷 -끷 -끷 -끷 -끷 - -끸 -끸 -끸 -끸 -끸 - -끹 -끹 -끹 -끹 -끹 - -끺 -끺 -끺 -끺 -끺 - -끻 -끻 -끻 -끻 -끻 - -끼 -끼 -끼 -끼 -끼 - -끽 -끽 -끽 -끽 -끽 - -끾 -끾 -끾 -끾 -끾 - -끿 -끿 -끿 -끿 -끿 - -낀 -낀 -낀 -낀 -낀 - -낁 -낁 -낁 -낁 -낁 - -낂 -낂 -낂 -낂 -낂 - -낃 -낃 -낃 -낃 -낃 - -낄 -낄 -낄 -낄 -낄 - -낅 -낅 -낅 -낅 -낅 - -낆 -낆 -낆 -낆 -낆 - -낇 -낇 -낇 -낇 -낇 - -낈 -낈 -낈 -낈 -낈 - -낉 -낉 -낉 -낉 -낉 - -낊 -낊 -낊 -낊 -낊 - -낋 -낋 -낋 -낋 -낋 - -낌 -낌 -낌 -낌 -낌 - -낍 -낍 -낍 -낍 -낍 - -낎 -낎 -낎 -낎 -낎 - -낏 -낏 -낏 -낏 -낏 - -낐 -낐 -낐 -낐 -낐 - -낑 -낑 -낑 -낑 -낑 - -낒 -낒 -낒 -낒 -낒 - -낓 -낓 -낓 -낓 -낓 - -낔 -낔 -낔 -낔 -낔 - -낕 -낕 -낕 -낕 -낕 - -낖 -낖 -낖 -낖 -낖 - -낗 -낗 -낗 -낗 -낗 - -나 -나 -나 -나 -나 - -낙 -낙 -낙 -낙 -낙 - -낚 -낚 -낚 -낚 -낚 - -낛 -낛 -낛 -낛 -낛 - -난 -난 -난 -난 -난 - -낝 -낝 -낝 -낝 -낝 - -낞 -낞 -낞 -낞 -낞 - -낟 -낟 -낟 -낟 -낟 - -날 -날 -날 -날 -날 - -낡 -낡 -낡 -낡 -낡 - -낢 -낢 -낢 -낢 -낢 - -낣 -낣 -낣 -낣 -낣 - -낤 -낤 -낤 -낤 -낤 - -낥 -낥 -낥 -낥 -낥 - -낦 -낦 -낦 -낦 -낦 - -낧 -낧 -낧 -낧 -낧 - -남 -남 -남 -남 -남 - -납 -납 -납 -납 -납 - -낪 -낪 -낪 -낪 -낪 - -낫 -낫 -낫 -낫 -낫 - -났 -났 -났 -났 -났 - -낭 -낭 -낭 -낭 -낭 - -낮 -낮 -낮 -낮 -낮 - -낯 -낯 -낯 -낯 -낯 - -낰 -낰 -낰 -낰 -낰 - -낱 -낱 -낱 -낱 -낱 - -낲 -낲 -낲 -낲 -낲 - -낳 -낳 -낳 -낳 -낳 - -내 -내 -내 -내 -내 - -낵 -낵 -낵 -낵 -낵 - -낶 -낶 -낶 -낶 -낶 - -낷 -낷 -낷 -낷 -낷 - -낸 -낸 -낸 -낸 -낸 - -낹 -낹 -낹 -낹 -낹 - -낺 -낺 -낺 -낺 -낺 - -낻 -낻 -낻 -낻 -낻 - -낼 -낼 -낼 -낼 -낼 - -낽 -낽 -낽 -낽 -낽 - -낾 -낾 -낾 -낾 -낾 - -낿 -낿 -낿 -낿 -낿 - -냀 -냀 -냀 -냀 -냀 - -냁 -냁 -냁 -냁 -냁 - -냂 -냂 -냂 -냂 -냂 - -냃 -냃 -냃 -냃 -냃 - -냄 -냄 -냄 -냄 -냄 - -냅 -냅 -냅 -냅 -냅 - -냆 -냆 -냆 -냆 -냆 - -냇 -냇 -냇 -냇 -냇 - -냈 -냈 -냈 -냈 -냈 - -냉 -냉 -냉 -냉 -냉 - -냊 -냊 -냊 -냊 -냊 - -냋 -냋 -냋 -냋 -냋 - -냌 -냌 -냌 -냌 -냌 - -냍 -냍 -냍 -냍 -냍 - -냎 -냎 -냎 -냎 -냎 - -냏 -냏 -냏 -냏 -냏 - -냐 -냐 -냐 -냐 -냐 - -냑 -냑 -냑 -냑 -냑 - -냒 -냒 -냒 -냒 -냒 - -냓 -냓 -냓 -냓 -냓 - -냔 -냔 -냔 -냔 -냔 - -냕 -냕 -냕 -냕 -냕 - -냖 -냖 -냖 -냖 -냖 - -냗 -냗 -냗 -냗 -냗 - -냘 -냘 -냘 -냘 -냘 - -냙 -냙 -냙 -냙 -냙 - -냚 -냚 -냚 -냚 -냚 - -냛 -냛 -냛 -냛 -냛 - -냜 -냜 -냜 -냜 -냜 - -냝 -냝 -냝 -냝 -냝 - -냞 -냞 -냞 -냞 -냞 - -냟 -냟 -냟 -냟 -냟 - -냠 -냠 -냠 -냠 -냠 - -냡 -냡 -냡 -냡 -냡 - -냢 -냢 -냢 -냢 -냢 - -냣 -냣 -냣 -냣 -냣 - -냤 -냤 -냤 -냤 -냤 - -냥 -냥 -냥 -냥 -냥 - -냦 -냦 -냦 -냦 -냦 - -냧 -냧 -냧 -냧 -냧 - -냨 -냨 -냨 -냨 -냨 - -냩 -냩 -냩 -냩 -냩 - -냪 -냪 -냪 -냪 -냪 - -냫 -냫 -냫 -냫 -냫 - -냬 -냬 -냬 -냬 -냬 - -냭 -냭 -냭 -냭 -냭 - -냮 -냮 -냮 -냮 -냮 - -냯 -냯 -냯 -냯 -냯 - -냰 -냰 -냰 -냰 -냰 - -냱 -냱 -냱 -냱 -냱 - -냲 -냲 -냲 -냲 -냲 - -냳 -냳 -냳 -냳 -냳 - -냴 -냴 -냴 -냴 -냴 - -냵 -냵 -냵 -냵 -냵 - -냶 -냶 -냶 -냶 -냶 - -냷 -냷 -냷 -냷 -냷 - -냸 -냸 -냸 -냸 -냸 - -냹 -냹 -냹 -냹 -냹 - -냺 -냺 -냺 -냺 -냺 - -냻 -냻 -냻 -냻 -냻 - -냼 -냼 -냼 -냼 -냼 - -냽 -냽 -냽 -냽 -냽 - -냾 -냾 -냾 -냾 -냾 - -냿 -냿 -냿 -냿 -냿 - -넀 -넀 -넀 -넀 -넀 - -넁 -넁 -넁 -넁 -넁 - -넂 -넂 -넂 -넂 -넂 - -넃 -넃 -넃 -넃 -넃 - -넄 -넄 -넄 -넄 -넄 - -넅 -넅 -넅 -넅 -넅 - -넆 -넆 -넆 -넆 -넆 - -넇 -넇 -넇 -넇 -넇 - -너 -너 -너 -너 -너 - -넉 -넉 -넉 -넉 -넉 - -넊 -넊 -넊 -넊 -넊 - -넋 -넋 -넋 -넋 -넋 - -넌 -넌 -넌 -넌 -넌 - -넍 -넍 -넍 -넍 -넍 - -넎 -넎 -넎 -넎 -넎 - -넏 -넏 -넏 -넏 -넏 - -널 -널 -널 -널 -널 - -넑 -넑 -넑 -넑 -넑 - -넒 -넒 -넒 -넒 -넒 - -넓 -넓 -넓 -넓 -넓 - -넔 -넔 -넔 -넔 -넔 - -넕 -넕 -넕 -넕 -넕 - -넖 -넖 -넖 -넖 -넖 - -넗 -넗 -넗 -넗 -넗 - -넘 -넘 -넘 -넘 -넘 - -넙 -넙 -넙 -넙 -넙 - -넚 -넚 -넚 -넚 -넚 - -넛 -넛 -넛 -넛 -넛 - -넜 -넜 -넜 -넜 -넜 - -넝 -넝 -넝 -넝 -넝 - -넞 -넞 -넞 -넞 -넞 - -넟 -넟 -넟 -넟 -넟 - -넠 -넠 -넠 -넠 -넠 - -넡 -넡 -넡 -넡 -넡 - -넢 -넢 -넢 -넢 -넢 - -넣 -넣 -넣 -넣 -넣 - -네 -네 -네 -네 -네 - -넥 -넥 -넥 -넥 -넥 - -넦 -넦 -넦 -넦 -넦 - -넧 -넧 -넧 -넧 -넧 - -넨 -넨 -넨 -넨 -넨 - -넩 -넩 -넩 -넩 -넩 - -넪 -넪 -넪 -넪 -넪 - -넫 -넫 -넫 -넫 -넫 - -넬 -넬 -넬 -넬 -넬 - -넭 -넭 -넭 -넭 -넭 - -넮 -넮 -넮 -넮 -넮 - -넯 -넯 -넯 -넯 -넯 - -넰 -넰 -넰 -넰 -넰 - -넱 -넱 -넱 -넱 -넱 - -넲 -넲 -넲 -넲 -넲 - -넳 -넳 -넳 -넳 -넳 - -넴 -넴 -넴 -넴 -넴 - -넵 -넵 -넵 -넵 -넵 - -넶 -넶 -넶 -넶 -넶 - -넷 -넷 -넷 -넷 -넷 - -넸 -넸 -넸 -넸 -넸 - -넹 -넹 -넹 -넹 -넹 - -넺 -넺 -넺 -넺 -넺 - -넻 -넻 -넻 -넻 -넻 - -넼 -넼 -넼 -넼 -넼 - -넽 -넽 -넽 -넽 -넽 - -넾 -넾 -넾 -넾 -넾 - -넿 -넿 -넿 -넿 -넿 - -녀 -녀 -녀 -녀 -녀 - -녁 -녁 -녁 -녁 -녁 - -녂 -녂 -녂 -녂 -녂 - -녃 -녃 -녃 -녃 -녃 - -년 -년 -년 -년 -년 - -녅 -녅 -녅 -녅 -녅 - -녆 -녆 -녆 -녆 -녆 - -녇 -녇 -녇 -녇 -녇 - -녈 -녈 -녈 -녈 -녈 - -녉 -녉 -녉 -녉 -녉 - -녊 -녊 -녊 -녊 -녊 - -녋 -녋 -녋 -녋 -녋 - -녌 -녌 -녌 -녌 -녌 - -녍 -녍 -녍 -녍 -녍 - -녎 -녎 -녎 -녎 -녎 - -녏 -녏 -녏 -녏 -녏 - -념 -념 -념 -념 -념 - -녑 -녑 -녑 -녑 -녑 - -녒 -녒 -녒 -녒 -녒 - -녓 -녓 -녓 -녓 -녓 - -녔 -녔 -녔 -녔 -녔 - -녕 -녕 -녕 -녕 -녕 - -녖 -녖 -녖 -녖 -녖 - -녗 -녗 -녗 -녗 -녗 - -녘 -녘 -녘 -녘 -녘 - -녙 -녙 -녙 -녙 -녙 - -녚 -녚 -녚 -녚 -녚 - -녛 -녛 -녛 -녛 -녛 - -녜 -녜 -녜 -녜 -녜 - -녝 -녝 -녝 -녝 -녝 - -녞 -녞 -녞 -녞 -녞 - -녟 -녟 -녟 -녟 -녟 - -녠 -녠 -녠 -녠 -녠 - -녡 -녡 -녡 -녡 -녡 - -녢 -녢 -녢 -녢 -녢 - -녣 -녣 -녣 -녣 -녣 - -녤 -녤 -녤 -녤 -녤 - -녥 -녥 -녥 -녥 -녥 - -녦 -녦 -녦 -녦 -녦 - -녧 -녧 -녧 -녧 -녧 - -녨 -녨 -녨 -녨 -녨 - -녩 -녩 -녩 -녩 -녩 - -녪 -녪 -녪 -녪 -녪 - -녫 -녫 -녫 -녫 -녫 - -녬 -녬 -녬 -녬 -녬 - -녭 -녭 -녭 -녭 -녭 - -녮 -녮 -녮 -녮 -녮 - -녯 -녯 -녯 -녯 -녯 - -녰 -녰 -녰 -녰 -녰 - -녱 -녱 -녱 -녱 -녱 - -녲 -녲 -녲 -녲 -녲 - -녳 -녳 -녳 -녳 -녳 - -녴 -녴 -녴 -녴 -녴 - -녵 -녵 -녵 -녵 -녵 - -녶 -녶 -녶 -녶 -녶 - -녷 -녷 -녷 -녷 -녷 - -노 -노 -노 -노 -노 - -녹 -녹 -녹 -녹 -녹 - -녺 -녺 -녺 -녺 -녺 - -녻 -녻 -녻 -녻 -녻 - -논 -논 -논 -논 -논 - -녽 -녽 -녽 -녽 -녽 - -녾 -녾 -녾 -녾 -녾 - -녿 -녿 -녿 -녿 -녿 - -놀 -놀 -놀 -놀 -놀 - -놁 -놁 -놁 -놁 -놁 - -놂 -놂 -놂 -놂 -놂 - -놃 -놃 -놃 -놃 -놃 - -놄 -놄 -놄 -놄 -놄 - -놅 -놅 -놅 -놅 -놅 - -놆 -놆 -놆 -놆 -놆 - -놇 -놇 -놇 -놇 -놇 - -놈 -놈 -놈 -놈 -놈 - -놉 -놉 -놉 -놉 -놉 - -놊 -놊 -놊 -놊 -놊 - -놋 -놋 -놋 -놋 -놋 - -놌 -놌 -놌 -놌 -놌 - -농 -농 -농 -농 -농 - -놎 -놎 -놎 -놎 -놎 - -놏 -놏 -놏 -놏 -놏 - -놐 -놐 -놐 -놐 -놐 - -놑 -놑 -놑 -놑 -놑 - -높 -높 -높 -높 -높 - -놓 -놓 -놓 -놓 -놓 - -놔 -놔 -놔 -놔 -놔 - -놕 -놕 -놕 -놕 -놕 - -놖 -놖 -놖 -놖 -놖 - -놗 -놗 -놗 -놗 -놗 - -놘 -놘 -놘 -놘 -놘 - -놙 -놙 -놙 -놙 -놙 - -놚 -놚 -놚 -놚 -놚 - -놛 -놛 -놛 -놛 -놛 - -놜 -놜 -놜 -놜 -놜 - -놝 -놝 -놝 -놝 -놝 - -놞 -놞 -놞 -놞 -놞 - -놟 -놟 -놟 -놟 -놟 - -놠 -놠 -놠 -놠 -놠 - -놡 -놡 -놡 -놡 -놡 - -놢 -놢 -놢 -놢 -놢 - -놣 -놣 -놣 -놣 -놣 - -놤 -놤 -놤 -놤 -놤 - -놥 -놥 -놥 -놥 -놥 - -놦 -놦 -놦 -놦 -놦 - -놧 -놧 -놧 -놧 -놧 - -놨 -놨 -놨 -놨 -놨 - -놩 -놩 -놩 -놩 -놩 - -놪 -놪 -놪 -놪 -놪 - -놫 -놫 -놫 -놫 -놫 - -놬 -놬 -놬 -놬 -놬 - -놭 -놭 -놭 -놭 -놭 - -놮 -놮 -놮 -놮 -놮 - -놯 -놯 -놯 -놯 -놯 - -놰 -놰 -놰 -놰 -놰 - -놱 -놱 -놱 -놱 -놱 - -놲 -놲 -놲 -놲 -놲 - -놳 -놳 -놳 -놳 -놳 - -놴 -놴 -놴 -놴 -놴 - -놵 -놵 -놵 -놵 -놵 - -놶 -놶 -놶 -놶 -놶 - -놷 -놷 -놷 -놷 -놷 - -놸 -놸 -놸 -놸 -놸 - -놹 -놹 -놹 -놹 -놹 - -놺 -놺 -놺 -놺 -놺 - -놻 -놻 -놻 -놻 -놻 - -놼 -놼 -놼 -놼 -놼 - -놽 -놽 -놽 -놽 -놽 - -놾 -놾 -놾 -놾 -놾 - -놿 -놿 -놿 -놿 -놿 - -뇀 -뇀 -뇀 -뇀 -뇀 - -뇁 -뇁 -뇁 -뇁 -뇁 - -뇂 -뇂 -뇂 -뇂 -뇂 - -뇃 -뇃 -뇃 -뇃 -뇃 - -뇄 -뇄 -뇄 -뇄 -뇄 - -뇅 -뇅 -뇅 -뇅 -뇅 - -뇆 -뇆 -뇆 -뇆 -뇆 - -뇇 -뇇 -뇇 -뇇 -뇇 - -뇈 -뇈 -뇈 -뇈 -뇈 - -뇉 -뇉 -뇉 -뇉 -뇉 - -뇊 -뇊 -뇊 -뇊 -뇊 - -뇋 -뇋 -뇋 -뇋 -뇋 - -뇌 -뇌 -뇌 -뇌 -뇌 - -뇍 -뇍 -뇍 -뇍 -뇍 - -뇎 -뇎 -뇎 -뇎 -뇎 - -뇏 -뇏 -뇏 -뇏 -뇏 - -뇐 -뇐 -뇐 -뇐 -뇐 - -뇑 -뇑 -뇑 -뇑 -뇑 - -뇒 -뇒 -뇒 -뇒 -뇒 - -뇓 -뇓 -뇓 -뇓 -뇓 - -뇔 -뇔 -뇔 -뇔 -뇔 - -뇕 -뇕 -뇕 -뇕 -뇕 - -뇖 -뇖 -뇖 -뇖 -뇖 - -뇗 -뇗 -뇗 -뇗 -뇗 - -뇘 -뇘 -뇘 -뇘 -뇘 - -뇙 -뇙 -뇙 -뇙 -뇙 - -뇚 -뇚 -뇚 -뇚 -뇚 - -뇛 -뇛 -뇛 -뇛 -뇛 - -뇜 -뇜 -뇜 -뇜 -뇜 - -뇝 -뇝 -뇝 -뇝 -뇝 - -뇞 -뇞 -뇞 -뇞 -뇞 - -뇟 -뇟 -뇟 -뇟 -뇟 - -뇠 -뇠 -뇠 -뇠 -뇠 - -뇡 -뇡 -뇡 -뇡 -뇡 - -뇢 -뇢 -뇢 -뇢 -뇢 - -뇣 -뇣 -뇣 -뇣 -뇣 - -뇤 -뇤 -뇤 -뇤 -뇤 - -뇥 -뇥 -뇥 -뇥 -뇥 - -뇦 -뇦 -뇦 -뇦 -뇦 - -뇧 -뇧 -뇧 -뇧 -뇧 - -뇨 -뇨 -뇨 -뇨 -뇨 - -뇩 -뇩 -뇩 -뇩 -뇩 - -뇪 -뇪 -뇪 -뇪 -뇪 - -뇫 -뇫 -뇫 -뇫 -뇫 - -뇬 -뇬 -뇬 -뇬 -뇬 - -뇭 -뇭 -뇭 -뇭 -뇭 - -뇮 -뇮 -뇮 -뇮 -뇮 - -뇯 -뇯 -뇯 -뇯 -뇯 - -뇰 -뇰 -뇰 -뇰 -뇰 - -뇱 -뇱 -뇱 -뇱 -뇱 - -뇲 -뇲 -뇲 -뇲 -뇲 - -뇳 -뇳 -뇳 -뇳 -뇳 - -뇴 -뇴 -뇴 -뇴 -뇴 - -뇵 -뇵 -뇵 -뇵 -뇵 - -뇶 -뇶 -뇶 -뇶 -뇶 - -뇷 -뇷 -뇷 -뇷 -뇷 - -뇸 -뇸 -뇸 -뇸 -뇸 - -뇹 -뇹 -뇹 -뇹 -뇹 - -뇺 -뇺 -뇺 -뇺 -뇺 - -뇻 -뇻 -뇻 -뇻 -뇻 - -뇼 -뇼 -뇼 -뇼 -뇼 - -뇽 -뇽 -뇽 -뇽 -뇽 - -뇾 -뇾 -뇾 -뇾 -뇾 - -뇿 -뇿 -뇿 -뇿 -뇿 - -눀 -눀 -눀 -눀 -눀 - -눁 -눁 -눁 -눁 -눁 - -눂 -눂 -눂 -눂 -눂 - -눃 -눃 -눃 -눃 -눃 - -누 -누 -누 -누 -누 - -눅 -눅 -눅 -눅 -눅 - -눆 -눆 -눆 -눆 -눆 - -눇 -눇 -눇 -눇 -눇 - -눈 -눈 -눈 -눈 -눈 - -눉 -눉 -눉 -눉 -눉 - -눊 -눊 -눊 -눊 -눊 - -눋 -눋 -눋 -눋 -눋 - -눌 -눌 -눌 -눌 -눌 - -눍 -눍 -눍 -눍 -눍 - -눎 -눎 -눎 -눎 -눎 - -눏 -눏 -눏 -눏 -눏 - -눐 -눐 -눐 -눐 -눐 - -눑 -눑 -눑 -눑 -눑 - -눒 -눒 -눒 -눒 -눒 - -눓 -눓 -눓 -눓 -눓 - -눔 -눔 -눔 -눔 -눔 - -눕 -눕 -눕 -눕 -눕 - -눖 -눖 -눖 -눖 -눖 - -눗 -눗 -눗 -눗 -눗 - -눘 -눘 -눘 -눘 -눘 - -눙 -눙 -눙 -눙 -눙 - -눚 -눚 -눚 -눚 -눚 - -눛 -눛 -눛 -눛 -눛 - -눜 -눜 -눜 -눜 -눜 - -눝 -눝 -눝 -눝 -눝 - -눞 -눞 -눞 -눞 -눞 - -눟 -눟 -눟 -눟 -눟 - -눠 -눠 -눠 -눠 -눠 - -눡 -눡 -눡 -눡 -눡 - -눢 -눢 -눢 -눢 -눢 - -눣 -눣 -눣 -눣 -눣 - -눤 -눤 -눤 -눤 -눤 - -눥 -눥 -눥 -눥 -눥 - -눦 -눦 -눦 -눦 -눦 - -눧 -눧 -눧 -눧 -눧 - -눨 -눨 -눨 -눨 -눨 - -눩 -눩 -눩 -눩 -눩 - -눪 -눪 -눪 -눪 -눪 - -눫 -눫 -눫 -눫 -눫 - -눬 -눬 -눬 -눬 -눬 - -눭 -눭 -눭 -눭 -눭 - -눮 -눮 -눮 -눮 -눮 - -눯 -눯 -눯 -눯 -눯 - -눰 -눰 -눰 -눰 -눰 - -눱 -눱 -눱 -눱 -눱 - -눲 -눲 -눲 -눲 -눲 - -눳 -눳 -눳 -눳 -눳 - -눴 -눴 -눴 -눴 -눴 - -눵 -눵 -눵 -눵 -눵 - -눶 -눶 -눶 -눶 -눶 - -눷 -눷 -눷 -눷 -눷 - -눸 -눸 -눸 -눸 -눸 - -눹 -눹 -눹 -눹 -눹 - -눺 -눺 -눺 -눺 -눺 - -눻 -눻 -눻 -눻 -눻 - -눼 -눼 -눼 -눼 -눼 - -눽 -눽 -눽 -눽 -눽 - -눾 -눾 -눾 -눾 -눾 - -눿 -눿 -눿 -눿 -눿 - -뉀 -뉀 -뉀 -뉀 -뉀 - -뉁 -뉁 -뉁 -뉁 -뉁 - -뉂 -뉂 -뉂 -뉂 -뉂 - -뉃 -뉃 -뉃 -뉃 -뉃 - -뉄 -뉄 -뉄 -뉄 -뉄 - -뉅 -뉅 -뉅 -뉅 -뉅 - -뉆 -뉆 -뉆 -뉆 -뉆 - -뉇 -뉇 -뉇 -뉇 -뉇 - -뉈 -뉈 -뉈 -뉈 -뉈 - -뉉 -뉉 -뉉 -뉉 -뉉 - -뉊 -뉊 -뉊 -뉊 -뉊 - -뉋 -뉋 -뉋 -뉋 -뉋 - -뉌 -뉌 -뉌 -뉌 -뉌 - -뉍 -뉍 -뉍 -뉍 -뉍 - -뉎 -뉎 -뉎 -뉎 -뉎 - -뉏 -뉏 -뉏 -뉏 -뉏 - -뉐 -뉐 -뉐 -뉐 -뉐 - -뉑 -뉑 -뉑 -뉑 -뉑 - -뉒 -뉒 -뉒 -뉒 -뉒 - -뉓 -뉓 -뉓 -뉓 -뉓 - -뉔 -뉔 -뉔 -뉔 -뉔 - -뉕 -뉕 -뉕 -뉕 -뉕 - -뉖 -뉖 -뉖 -뉖 -뉖 - -뉗 -뉗 -뉗 -뉗 -뉗 - -뉘 -뉘 -뉘 -뉘 -뉘 - -뉙 -뉙 -뉙 -뉙 -뉙 - -뉚 -뉚 -뉚 -뉚 -뉚 - -뉛 -뉛 -뉛 -뉛 -뉛 - -뉜 -뉜 -뉜 -뉜 -뉜 - -뉝 -뉝 -뉝 -뉝 -뉝 - -뉞 -뉞 -뉞 -뉞 -뉞 - -뉟 -뉟 -뉟 -뉟 -뉟 - -뉠 -뉠 -뉠 -뉠 -뉠 - -뉡 -뉡 -뉡 -뉡 -뉡 - -뉢 -뉢 -뉢 -뉢 -뉢 - -뉣 -뉣 -뉣 -뉣 -뉣 - -뉤 -뉤 -뉤 -뉤 -뉤 - -뉥 -뉥 -뉥 -뉥 -뉥 - -뉦 -뉦 -뉦 -뉦 -뉦 - -뉧 -뉧 -뉧 -뉧 -뉧 - -뉨 -뉨 -뉨 -뉨 -뉨 - -뉩 -뉩 -뉩 -뉩 -뉩 - -뉪 -뉪 -뉪 -뉪 -뉪 - -뉫 -뉫 -뉫 -뉫 -뉫 - -뉬 -뉬 -뉬 -뉬 -뉬 - -뉭 -뉭 -뉭 -뉭 -뉭 - -뉮 -뉮 -뉮 -뉮 -뉮 - -뉯 -뉯 -뉯 -뉯 -뉯 - -뉰 -뉰 -뉰 -뉰 -뉰 - -뉱 -뉱 -뉱 -뉱 -뉱 - -뉲 -뉲 -뉲 -뉲 -뉲 - -뉳 -뉳 -뉳 -뉳 -뉳 - -뉴 -뉴 -뉴 -뉴 -뉴 - -뉵 -뉵 -뉵 -뉵 -뉵 - -뉶 -뉶 -뉶 -뉶 -뉶 - -뉷 -뉷 -뉷 -뉷 -뉷 - -뉸 -뉸 -뉸 -뉸 -뉸 - -뉹 -뉹 -뉹 -뉹 -뉹 - -뉺 -뉺 -뉺 -뉺 -뉺 - -뉻 -뉻 -뉻 -뉻 -뉻 - -뉼 -뉼 -뉼 -뉼 -뉼 - -뉽 -뉽 -뉽 -뉽 -뉽 - -뉾 -뉾 -뉾 -뉾 -뉾 - -뉿 -뉿 -뉿 -뉿 -뉿 - -늀 -늀 -늀 -늀 -늀 - -늁 -늁 -늁 -늁 -늁 - -늂 -늂 -늂 -늂 -늂 - -늃 -늃 -늃 -늃 -늃 - -늄 -늄 -늄 -늄 -늄 - -늅 -늅 -늅 -늅 -늅 - -늆 -늆 -늆 -늆 -늆 - -늇 -늇 -늇 -늇 -늇 - -늈 -늈 -늈 -늈 -늈 - -늉 -늉 -늉 -늉 -늉 - -늊 -늊 -늊 -늊 -늊 - -늋 -늋 -늋 -늋 -늋 - -늌 -늌 -늌 -늌 -늌 - -늍 -늍 -늍 -늍 -늍 - -늎 -늎 -늎 -늎 -늎 - -늏 -늏 -늏 -늏 -늏 - -느 -느 -느 -느 -느 - -늑 -늑 -늑 -늑 -늑 - -늒 -늒 -늒 -늒 -늒 - -늓 -늓 -늓 -늓 -늓 - -는 -는 -는 -는 -는 - -늕 -늕 -늕 -늕 -늕 - -늖 -늖 -늖 -늖 -늖 - -늗 -늗 -늗 -늗 -늗 - -늘 -늘 -늘 -늘 -늘 - -늙 -늙 -늙 -늙 -늙 - -늚 -늚 -늚 -늚 -늚 - -늛 -늛 -늛 -늛 -늛 - -늜 -늜 -늜 -늜 -늜 - -늝 -늝 -늝 -늝 -늝 - -늞 -늞 -늞 -늞 -늞 - -늟 -늟 -늟 -늟 -늟 - -늠 -늠 -늠 -늠 -늠 - -늡 -늡 -늡 -늡 -늡 - -늢 -늢 -늢 -늢 -늢 - -늣 -늣 -늣 -늣 -늣 - -늤 -늤 -늤 -늤 -늤 - -능 -능 -능 -능 -능 - -늦 -늦 -늦 -늦 -늦 - -늧 -늧 -늧 -늧 -늧 - -늨 -늨 -늨 -늨 -늨 - -늩 -늩 -늩 -늩 -늩 - -늪 -늪 -늪 -늪 -늪 - -늫 -늫 -늫 -늫 -늫 - -늬 -늬 -늬 -늬 -늬 - -늭 -늭 -늭 -늭 -늭 - -늮 -늮 -늮 -늮 -늮 - -늯 -늯 -늯 -늯 -늯 - -늰 -늰 -늰 -늰 -늰 - -늱 -늱 -늱 -늱 -늱 - -늲 -늲 -늲 -늲 -늲 - -늳 -늳 -늳 -늳 -늳 - -늴 -늴 -늴 -늴 -늴 - -늵 -늵 -늵 -늵 -늵 - -늶 -늶 -늶 -늶 -늶 - -늷 -늷 -늷 -늷 -늷 - -늸 -늸 -늸 -늸 -늸 - -늹 -늹 -늹 -늹 -늹 - -늺 -늺 -늺 -늺 -늺 - -늻 -늻 -늻 -늻 -늻 - -늼 -늼 -늼 -늼 -늼 - -늽 -늽 -늽 -늽 -늽 - -늾 -늾 -늾 -늾 -늾 - -늿 -늿 -늿 -늿 -늿 - -닀 -닀 -닀 -닀 -닀 - -닁 -닁 -닁 -닁 -닁 - -닂 -닂 -닂 -닂 -닂 - -닃 -닃 -닃 -닃 -닃 - -닄 -닄 -닄 -닄 -닄 - -닅 -닅 -닅 -닅 -닅 - -닆 -닆 -닆 -닆 -닆 - -닇 -닇 -닇 -닇 -닇 - -니 -니 -니 -니 -니 - -닉 -닉 -닉 -닉 -닉 - -닊 -닊 -닊 -닊 -닊 - -닋 -닋 -닋 -닋 -닋 - -닌 -닌 -닌 -닌 -닌 - -닍 -닍 -닍 -닍 -닍 - -닎 -닎 -닎 -닎 -닎 - -닏 -닏 -닏 -닏 -닏 - -닐 -닐 -닐 -닐 -닐 - -닑 -닑 -닑 -닑 -닑 - -닒 -닒 -닒 -닒 -닒 - -닓 -닓 -닓 -닓 -닓 - -닔 -닔 -닔 -닔 -닔 - -닕 -닕 -닕 -닕 -닕 - -닖 -닖 -닖 -닖 -닖 - -닗 -닗 -닗 -닗 -닗 - -님 -님 -님 -님 -님 - -닙 -닙 -닙 -닙 -닙 - -닚 -닚 -닚 -닚 -닚 - -닛 -닛 -닛 -닛 -닛 - -닜 -닜 -닜 -닜 -닜 - -닝 -닝 -닝 -닝 -닝 - -닞 -닞 -닞 -닞 -닞 - -닟 -닟 -닟 -닟 -닟 - -닠 -닠 -닠 -닠 -닠 - -닡 -닡 -닡 -닡 -닡 - -닢 -닢 -닢 -닢 -닢 - -닣 -닣 -닣 -닣 -닣 - -다 -다 -다 -다 -다 - -닥 -닥 -닥 -닥 -닥 - -닦 -닦 -닦 -닦 -닦 - -닧 -닧 -닧 -닧 -닧 - -단 -단 -단 -단 -단 - -닩 -닩 -닩 -닩 -닩 - -닪 -닪 -닪 -닪 -닪 - -닫 -닫 -닫 -닫 -닫 - -달 -달 -달 -달 -달 - -닭 -닭 -닭 -닭 -닭 - -닮 -닮 -닮 -닮 -닮 - -닯 -닯 -닯 -닯 -닯 - -닰 -닰 -닰 -닰 -닰 - -닱 -닱 -닱 -닱 -닱 - -닲 -닲 -닲 -닲 -닲 - -닳 -닳 -닳 -닳 -닳 - -담 -담 -담 -담 -담 - -답 -답 -답 -답 -답 - -닶 -닶 -닶 -닶 -닶 - -닷 -닷 -닷 -닷 -닷 - -닸 -닸 -닸 -닸 -닸 - -당 -당 -당 -당 -당 - -닺 -닺 -닺 -닺 -닺 - -닻 -닻 -닻 -닻 -닻 - -닼 -닼 -닼 -닼 -닼 - -닽 -닽 -닽 -닽 -닽 - -닾 -닾 -닾 -닾 -닾 - -닿 -닿 -닿 -닿 -닿 - -대 -대 -대 -대 -대 - -댁 -댁 -댁 -댁 -댁 - -댂 -댂 -댂 -댂 -댂 - -댃 -댃 -댃 -댃 -댃 - -댄 -댄 -댄 -댄 -댄 - -댅 -댅 -댅 -댅 -댅 - -댆 -댆 -댆 -댆 -댆 - -댇 -댇 -댇 -댇 -댇 - -댈 -댈 -댈 -댈 -댈 - -댉 -댉 -댉 -댉 -댉 - -댊 -댊 -댊 -댊 -댊 - -댋 -댋 -댋 -댋 -댋 - -댌 -댌 -댌 -댌 -댌 - -댍 -댍 -댍 -댍 -댍 - -댎 -댎 -댎 -댎 -댎 - -댏 -댏 -댏 -댏 -댏 - -댐 -댐 -댐 -댐 -댐 - -댑 -댑 -댑 -댑 -댑 - -댒 -댒 -댒 -댒 -댒 - -댓 -댓 -댓 -댓 -댓 - -댔 -댔 -댔 -댔 -댔 - -댕 -댕 -댕 -댕 -댕 - -댖 -댖 -댖 -댖 -댖 - -댗 -댗 -댗 -댗 -댗 - -댘 -댘 -댘 -댘 -댘 - -댙 -댙 -댙 -댙 -댙 - -댚 -댚 -댚 -댚 -댚 - -댛 -댛 -댛 -댛 -댛 - -댜 -댜 -댜 -댜 -댜 - -댝 -댝 -댝 -댝 -댝 - -댞 -댞 -댞 -댞 -댞 - -댟 -댟 -댟 -댟 -댟 - -댠 -댠 -댠 -댠 -댠 - -댡 -댡 -댡 -댡 -댡 - -댢 -댢 -댢 -댢 -댢 - -댣 -댣 -댣 -댣 -댣 - -댤 -댤 -댤 -댤 -댤 - -댥 -댥 -댥 -댥 -댥 - -댦 -댦 -댦 -댦 -댦 - -댧 -댧 -댧 -댧 -댧 - -댨 -댨 -댨 -댨 -댨 - -댩 -댩 -댩 -댩 -댩 - -댪 -댪 -댪 -댪 -댪 - -댫 -댫 -댫 -댫 -댫 - -댬 -댬 -댬 -댬 -댬 - -댭 -댭 -댭 -댭 -댭 - -댮 -댮 -댮 -댮 -댮 - -댯 -댯 -댯 -댯 -댯 - -댰 -댰 -댰 -댰 -댰 - -댱 -댱 -댱 -댱 -댱 - -댲 -댲 -댲 -댲 -댲 - -댳 -댳 -댳 -댳 -댳 - -댴 -댴 -댴 -댴 -댴 - -댵 -댵 -댵 -댵 -댵 - -댶 -댶 -댶 -댶 -댶 - -댷 -댷 -댷 -댷 -댷 - -댸 -댸 -댸 -댸 -댸 - -댹 -댹 -댹 -댹 -댹 - -댺 -댺 -댺 -댺 -댺 - -댻 -댻 -댻 -댻 -댻 - -댼 -댼 -댼 -댼 -댼 - -댽 -댽 -댽 -댽 -댽 - -댾 -댾 -댾 -댾 -댾 - -댿 -댿 -댿 -댿 -댿 - -덀 -덀 -덀 -덀 -덀 - -덁 -덁 -덁 -덁 -덁 - -덂 -덂 -덂 -덂 -덂 - -덃 -덃 -덃 -덃 -덃 - -덄 -덄 -덄 -덄 -덄 - -덅 -덅 -덅 -덅 -덅 - -덆 -덆 -덆 -덆 -덆 - -덇 -덇 -덇 -덇 -덇 - -덈 -덈 -덈 -덈 -덈 - -덉 -덉 -덉 -덉 -덉 - -덊 -덊 -덊 -덊 -덊 - -덋 -덋 -덋 -덋 -덋 - -덌 -덌 -덌 -덌 -덌 - -덍 -덍 -덍 -덍 -덍 - -덎 -덎 -덎 -덎 -덎 - -덏 -덏 -덏 -덏 -덏 - -덐 -덐 -덐 -덐 -덐 - -덑 -덑 -덑 -덑 -덑 - -덒 -덒 -덒 -덒 -덒 - -덓 -덓 -덓 -덓 -덓 - -더 -더 -더 -더 -더 - -덕 -덕 -덕 -덕 -덕 - -덖 -덖 -덖 -덖 -덖 - -덗 -덗 -덗 -덗 -덗 - -던 -던 -던 -던 -던 - -덙 -덙 -덙 -덙 -덙 - -덚 -덚 -덚 -덚 -덚 - -덛 -덛 -덛 -덛 -덛 - -덜 -덜 -덜 -덜 -덜 - -덝 -덝 -덝 -덝 -덝 - -덞 -덞 -덞 -덞 -덞 - -덟 -덟 -덟 -덟 -덟 - -덠 -덠 -덠 -덠 -덠 - -덡 -덡 -덡 -덡 -덡 - -덢 -덢 -덢 -덢 -덢 - -덣 -덣 -덣 -덣 -덣 - -덤 -덤 -덤 -덤 -덤 - -덥 -덥 -덥 -덥 -덥 - -덦 -덦 -덦 -덦 -덦 - -덧 -덧 -덧 -덧 -덧 - -덨 -덨 -덨 -덨 -덨 - -덩 -덩 -덩 -덩 -덩 - -덪 -덪 -덪 -덪 -덪 - -덫 -덫 -덫 -덫 -덫 - -덬 -덬 -덬 -덬 -덬 - -덭 -덭 -덭 -덭 -덭 - -덮 -덮 -덮 -덮 -덮 - -덯 -덯 -덯 -덯 -덯 - -데 -데 -데 -데 -데 - -덱 -덱 -덱 -덱 -덱 - -덲 -덲 -덲 -덲 -덲 - -덳 -덳 -덳 -덳 -덳 - -덴 -덴 -덴 -덴 -덴 - -덵 -덵 -덵 -덵 -덵 - -덶 -덶 -덶 -덶 -덶 - -덷 -덷 -덷 -덷 -덷 - -델 -델 -델 -델 -델 - -덹 -덹 -덹 -덹 -덹 - -덺 -덺 -덺 -덺 -덺 - -덻 -덻 -덻 -덻 -덻 - -덼 -덼 -덼 -덼 -덼 - -덽 -덽 -덽 -덽 -덽 - -덾 -덾 -덾 -덾 -덾 - -덿 -덿 -덿 -덿 -덿 - -뎀 -뎀 -뎀 -뎀 -뎀 - -뎁 -뎁 -뎁 -뎁 -뎁 - -뎂 -뎂 -뎂 -뎂 -뎂 - -뎃 -뎃 -뎃 -뎃 -뎃 - -뎄 -뎄 -뎄 -뎄 -뎄 - -뎅 -뎅 -뎅 -뎅 -뎅 - -뎆 -뎆 -뎆 -뎆 -뎆 - -뎇 -뎇 -뎇 -뎇 -뎇 - -뎈 -뎈 -뎈 -뎈 -뎈 - -뎉 -뎉 -뎉 -뎉 -뎉 - -뎊 -뎊 -뎊 -뎊 -뎊 - -뎋 -뎋 -뎋 -뎋 -뎋 - -뎌 -뎌 -뎌 -뎌 -뎌 - -뎍 -뎍 -뎍 -뎍 -뎍 - -뎎 -뎎 -뎎 -뎎 -뎎 - -뎏 -뎏 -뎏 -뎏 -뎏 - -뎐 -뎐 -뎐 -뎐 -뎐 - -뎑 -뎑 -뎑 -뎑 -뎑 - -뎒 -뎒 -뎒 -뎒 -뎒 - -뎓 -뎓 -뎓 -뎓 -뎓 - -뎔 -뎔 -뎔 -뎔 -뎔 - -뎕 -뎕 -뎕 -뎕 -뎕 - -뎖 -뎖 -뎖 -뎖 -뎖 - -뎗 -뎗 -뎗 -뎗 -뎗 - -뎘 -뎘 -뎘 -뎘 -뎘 - -뎙 -뎙 -뎙 -뎙 -뎙 - -뎚 -뎚 -뎚 -뎚 -뎚 - -뎛 -뎛 -뎛 -뎛 -뎛 - -뎜 -뎜 -뎜 -뎜 -뎜 - -뎝 -뎝 -뎝 -뎝 -뎝 - -뎞 -뎞 -뎞 -뎞 -뎞 - -뎟 -뎟 -뎟 -뎟 -뎟 - -뎠 -뎠 -뎠 -뎠 -뎠 - -뎡 -뎡 -뎡 -뎡 -뎡 - -뎢 -뎢 -뎢 -뎢 -뎢 - -뎣 -뎣 -뎣 -뎣 -뎣 - -뎤 -뎤 -뎤 -뎤 -뎤 - -뎥 -뎥 -뎥 -뎥 -뎥 - -뎦 -뎦 -뎦 -뎦 -뎦 - -뎧 -뎧 -뎧 -뎧 -뎧 - -뎨 -뎨 -뎨 -뎨 -뎨 - -뎩 -뎩 -뎩 -뎩 -뎩 - -뎪 -뎪 -뎪 -뎪 -뎪 - -뎫 -뎫 -뎫 -뎫 -뎫 - -뎬 -뎬 -뎬 -뎬 -뎬 - -뎭 -뎭 -뎭 -뎭 -뎭 - -뎮 -뎮 -뎮 -뎮 -뎮 - -뎯 -뎯 -뎯 -뎯 -뎯 - -뎰 -뎰 -뎰 -뎰 -뎰 - -뎱 -뎱 -뎱 -뎱 -뎱 - -뎲 -뎲 -뎲 -뎲 -뎲 - -뎳 -뎳 -뎳 -뎳 -뎳 - -뎴 -뎴 -뎴 -뎴 -뎴 - -뎵 -뎵 -뎵 -뎵 -뎵 - -뎶 -뎶 -뎶 -뎶 -뎶 - -뎷 -뎷 -뎷 -뎷 -뎷 - -뎸 -뎸 -뎸 -뎸 -뎸 - -뎹 -뎹 -뎹 -뎹 -뎹 - -뎺 -뎺 -뎺 -뎺 -뎺 - -뎻 -뎻 -뎻 -뎻 -뎻 - -뎼 -뎼 -뎼 -뎼 -뎼 - -뎽 -뎽 -뎽 -뎽 -뎽 - -뎾 -뎾 -뎾 -뎾 -뎾 - -뎿 -뎿 -뎿 -뎿 -뎿 - -돀 -돀 -돀 -돀 -돀 - -돁 -돁 -돁 -돁 -돁 - -돂 -돂 -돂 -돂 -돂 - -돃 -돃 -돃 -돃 -돃 - -도 -도 -도 -도 -도 - -독 -독 -독 -독 -독 - -돆 -돆 -돆 -돆 -돆 - -돇 -돇 -돇 -돇 -돇 - -돈 -돈 -돈 -돈 -돈 - -돉 -돉 -돉 -돉 -돉 - -돊 -돊 -돊 -돊 -돊 - -돋 -돋 -돋 -돋 -돋 - -돌 -돌 -돌 -돌 -돌 - -돍 -돍 -돍 -돍 -돍 - -돎 -돎 -돎 -돎 -돎 - -돏 -돏 -돏 -돏 -돏 - -돐 -돐 -돐 -돐 -돐 - -돑 -돑 -돑 -돑 -돑 - -돒 -돒 -돒 -돒 -돒 - -돓 -돓 -돓 -돓 -돓 - -돔 -돔 -돔 -돔 -돔 - -돕 -돕 -돕 -돕 -돕 - -돖 -돖 -돖 -돖 -돖 - -돗 -돗 -돗 -돗 -돗 - -돘 -돘 -돘 -돘 -돘 - -동 -동 -동 -동 -동 - -돚 -돚 -돚 -돚 -돚 - -돛 -돛 -돛 -돛 -돛 - -돜 -돜 -돜 -돜 -돜 - -돝 -돝 -돝 -돝 -돝 - -돞 -돞 -돞 -돞 -돞 - -돟 -돟 -돟 -돟 -돟 - -돠 -돠 -돠 -돠 -돠 - -돡 -돡 -돡 -돡 -돡 - -돢 -돢 -돢 -돢 -돢 - -돣 -돣 -돣 -돣 -돣 - -돤 -돤 -돤 -돤 -돤 - -돥 -돥 -돥 -돥 -돥 - -돦 -돦 -돦 -돦 -돦 - -돧 -돧 -돧 -돧 -돧 - -돨 -돨 -돨 -돨 -돨 - -돩 -돩 -돩 -돩 -돩 - -돪 -돪 -돪 -돪 -돪 - -돫 -돫 -돫 -돫 -돫 - -돬 -돬 -돬 -돬 -돬 - -돭 -돭 -돭 -돭 -돭 - -돮 -돮 -돮 -돮 -돮 - -돯 -돯 -돯 -돯 -돯 - -돰 -돰 -돰 -돰 -돰 - -돱 -돱 -돱 -돱 -돱 - -돲 -돲 -돲 -돲 -돲 - -돳 -돳 -돳 -돳 -돳 - -돴 -돴 -돴 -돴 -돴 - -돵 -돵 -돵 -돵 -돵 - -돶 -돶 -돶 -돶 -돶 - -돷 -돷 -돷 -돷 -돷 - -돸 -돸 -돸 -돸 -돸 - -돹 -돹 -돹 -돹 -돹 - -돺 -돺 -돺 -돺 -돺 - -돻 -돻 -돻 -돻 -돻 - -돼 -돼 -돼 -돼 -돼 - -돽 -돽 -돽 -돽 -돽 - -돾 -돾 -돾 -돾 -돾 - -돿 -돿 -돿 -돿 -돿 - -됀 -됀 -됀 -됀 -됀 - -됁 -됁 -됁 -됁 -됁 - -됂 -됂 -됂 -됂 -됂 - -됃 -됃 -됃 -됃 -됃 - -됄 -됄 -됄 -됄 -됄 - -됅 -됅 -됅 -됅 -됅 - -됆 -됆 -됆 -됆 -됆 - -됇 -됇 -됇 -됇 -됇 - -됈 -됈 -됈 -됈 -됈 - -됉 -됉 -됉 -됉 -됉 - -됊 -됊 -됊 -됊 -됊 - -됋 -됋 -됋 -됋 -됋 - -됌 -됌 -됌 -됌 -됌 - -됍 -됍 -됍 -됍 -됍 - -됎 -됎 -됎 -됎 -됎 - -됏 -됏 -됏 -됏 -됏 - -됐 -됐 -됐 -됐 -됐 - -됑 -됑 -됑 -됑 -됑 - -됒 -됒 -됒 -됒 -됒 - -됓 -됓 -됓 -됓 -됓 - -됔 -됔 -됔 -됔 -됔 - -됕 -됕 -됕 -됕 -됕 - -됖 -됖 -됖 -됖 -됖 - -됗 -됗 -됗 -됗 -됗 - -되 -되 -되 -되 -되 - -됙 -됙 -됙 -됙 -됙 - -됚 -됚 -됚 -됚 -됚 - -됛 -됛 -됛 -됛 -됛 - -된 -된 -된 -된 -된 - -됝 -됝 -됝 -됝 -됝 - -됞 -됞 -됞 -됞 -됞 - -됟 -됟 -됟 -됟 -됟 - -될 -될 -될 -될 -될 - -됡 -됡 -됡 -됡 -됡 - -됢 -됢 -됢 -됢 -됢 - -됣 -됣 -됣 -됣 -됣 - -됤 -됤 -됤 -됤 -됤 - -됥 -됥 -됥 -됥 -됥 - -됦 -됦 -됦 -됦 -됦 - -됧 -됧 -됧 -됧 -됧 - -됨 -됨 -됨 -됨 -됨 - -됩 -됩 -됩 -됩 -됩 - -됪 -됪 -됪 -됪 -됪 - -됫 -됫 -됫 -됫 -됫 - -됬 -됬 -됬 -됬 -됬 - -됭 -됭 -됭 -됭 -됭 - -됮 -됮 -됮 -됮 -됮 - -됯 -됯 -됯 -됯 -됯 - -됰 -됰 -됰 -됰 -됰 - -됱 -됱 -됱 -됱 -됱 - -됲 -됲 -됲 -됲 -됲 - -됳 -됳 -됳 -됳 -됳 - -됴 -됴 -됴 -됴 -됴 - -됵 -됵 -됵 -됵 -됵 - -됶 -됶 -됶 -됶 -됶 - -됷 -됷 -됷 -됷 -됷 - -됸 -됸 -됸 -됸 -됸 - -됹 -됹 -됹 -됹 -됹 - -됺 -됺 -됺 -됺 -됺 - -됻 -됻 -됻 -됻 -됻 - -됼 -됼 -됼 -됼 -됼 - -됽 -됽 -됽 -됽 -됽 - -됾 -됾 -됾 -됾 -됾 - -됿 -됿 -됿 -됿 -됿 - -둀 -둀 -둀 -둀 -둀 - -둁 -둁 -둁 -둁 -둁 - -둂 -둂 -둂 -둂 -둂 - -둃 -둃 -둃 -둃 -둃 - -둄 -둄 -둄 -둄 -둄 - -둅 -둅 -둅 -둅 -둅 - -둆 -둆 -둆 -둆 -둆 - -둇 -둇 -둇 -둇 -둇 - -둈 -둈 -둈 -둈 -둈 - -둉 -둉 -둉 -둉 -둉 - -둊 -둊 -둊 -둊 -둊 - -둋 -둋 -둋 -둋 -둋 - -둌 -둌 -둌 -둌 -둌 - -둍 -둍 -둍 -둍 -둍 - -둎 -둎 -둎 -둎 -둎 - -둏 -둏 -둏 -둏 -둏 - -두 -두 -두 -두 -두 - -둑 -둑 -둑 -둑 -둑 - -둒 -둒 -둒 -둒 -둒 - -둓 -둓 -둓 -둓 -둓 - -둔 -둔 -둔 -둔 -둔 - -둕 -둕 -둕 -둕 -둕 - -둖 -둖 -둖 -둖 -둖 - -둗 -둗 -둗 -둗 -둗 - -둘 -둘 -둘 -둘 -둘 - -둙 -둙 -둙 -둙 -둙 - -둚 -둚 -둚 -둚 -둚 - -둛 -둛 -둛 -둛 -둛 - -둜 -둜 -둜 -둜 -둜 - -둝 -둝 -둝 -둝 -둝 - -둞 -둞 -둞 -둞 -둞 - -둟 -둟 -둟 -둟 -둟 - -둠 -둠 -둠 -둠 -둠 - -둡 -둡 -둡 -둡 -둡 - -둢 -둢 -둢 -둢 -둢 - -둣 -둣 -둣 -둣 -둣 - -둤 -둤 -둤 -둤 -둤 - -둥 -둥 -둥 -둥 -둥 - -둦 -둦 -둦 -둦 -둦 - -둧 -둧 -둧 -둧 -둧 - -둨 -둨 -둨 -둨 -둨 - -둩 -둩 -둩 -둩 -둩 - -둪 -둪 -둪 -둪 -둪 - -둫 -둫 -둫 -둫 -둫 - -둬 -둬 -둬 -둬 -둬 - -둭 -둭 -둭 -둭 -둭 - -둮 -둮 -둮 -둮 -둮 - -둯 -둯 -둯 -둯 -둯 - -둰 -둰 -둰 -둰 -둰 - -둱 -둱 -둱 -둱 -둱 - -둲 -둲 -둲 -둲 -둲 - -둳 -둳 -둳 -둳 -둳 - -둴 -둴 -둴 -둴 -둴 - -둵 -둵 -둵 -둵 -둵 - -둶 -둶 -둶 -둶 -둶 - -둷 -둷 -둷 -둷 -둷 - -둸 -둸 -둸 -둸 -둸 - -둹 -둹 -둹 -둹 -둹 - -둺 -둺 -둺 -둺 -둺 - -둻 -둻 -둻 -둻 -둻 - -둼 -둼 -둼 -둼 -둼 - -둽 -둽 -둽 -둽 -둽 - -둾 -둾 -둾 -둾 -둾 - -둿 -둿 -둿 -둿 -둿 - -뒀 -뒀 -뒀 -뒀 -뒀 - -뒁 -뒁 -뒁 -뒁 -뒁 - -뒂 -뒂 -뒂 -뒂 -뒂 - -뒃 -뒃 -뒃 -뒃 -뒃 - -뒄 -뒄 -뒄 -뒄 -뒄 - -뒅 -뒅 -뒅 -뒅 -뒅 - -뒆 -뒆 -뒆 -뒆 -뒆 - -뒇 -뒇 -뒇 -뒇 -뒇 - -뒈 -뒈 -뒈 -뒈 -뒈 - -뒉 -뒉 -뒉 -뒉 -뒉 - -뒊 -뒊 -뒊 -뒊 -뒊 - -뒋 -뒋 -뒋 -뒋 -뒋 - -뒌 -뒌 -뒌 -뒌 -뒌 - -뒍 -뒍 -뒍 -뒍 -뒍 - -뒎 -뒎 -뒎 -뒎 -뒎 - -뒏 -뒏 -뒏 -뒏 -뒏 - -뒐 -뒐 -뒐 -뒐 -뒐 - -뒑 -뒑 -뒑 -뒑 -뒑 - -뒒 -뒒 -뒒 -뒒 -뒒 - -뒓 -뒓 -뒓 -뒓 -뒓 - -뒔 -뒔 -뒔 -뒔 -뒔 - -뒕 -뒕 -뒕 -뒕 -뒕 - -뒖 -뒖 -뒖 -뒖 -뒖 - -뒗 -뒗 -뒗 -뒗 -뒗 - -뒘 -뒘 -뒘 -뒘 -뒘 - -뒙 -뒙 -뒙 -뒙 -뒙 - -뒚 -뒚 -뒚 -뒚 -뒚 - -뒛 -뒛 -뒛 -뒛 -뒛 - -뒜 -뒜 -뒜 -뒜 -뒜 - -뒝 -뒝 -뒝 -뒝 -뒝 - -뒞 -뒞 -뒞 -뒞 -뒞 - -뒟 -뒟 -뒟 -뒟 -뒟 - -뒠 -뒠 -뒠 -뒠 -뒠 - -뒡 -뒡 -뒡 -뒡 -뒡 - -뒢 -뒢 -뒢 -뒢 -뒢 - -뒣 -뒣 -뒣 -뒣 -뒣 - -뒤 -뒤 -뒤 -뒤 -뒤 - -뒥 -뒥 -뒥 -뒥 -뒥 - -뒦 -뒦 -뒦 -뒦 -뒦 - -뒧 -뒧 -뒧 -뒧 -뒧 - -뒨 -뒨 -뒨 -뒨 -뒨 - -뒩 -뒩 -뒩 -뒩 -뒩 - -뒪 -뒪 -뒪 -뒪 -뒪 - -뒫 -뒫 -뒫 -뒫 -뒫 - -뒬 -뒬 -뒬 -뒬 -뒬 - -뒭 -뒭 -뒭 -뒭 -뒭 - -뒮 -뒮 -뒮 -뒮 -뒮 - -뒯 -뒯 -뒯 -뒯 -뒯 - -뒰 -뒰 -뒰 -뒰 -뒰 - -뒱 -뒱 -뒱 -뒱 -뒱 - -뒲 -뒲 -뒲 -뒲 -뒲 - -뒳 -뒳 -뒳 -뒳 -뒳 - -뒴 -뒴 -뒴 -뒴 -뒴 - -뒵 -뒵 -뒵 -뒵 -뒵 - -뒶 -뒶 -뒶 -뒶 -뒶 - -뒷 -뒷 -뒷 -뒷 -뒷 - -뒸 -뒸 -뒸 -뒸 -뒸 - -뒹 -뒹 -뒹 -뒹 -뒹 - -뒺 -뒺 -뒺 -뒺 -뒺 - -뒻 -뒻 -뒻 -뒻 -뒻 - -뒼 -뒼 -뒼 -뒼 -뒼 - -뒽 -뒽 -뒽 -뒽 -뒽 - -뒾 -뒾 -뒾 -뒾 -뒾 - -뒿 -뒿 -뒿 -뒿 -뒿 - -듀 -듀 -듀 -듀 -듀 - -듁 -듁 -듁 -듁 -듁 - -듂 -듂 -듂 -듂 -듂 - -듃 -듃 -듃 -듃 -듃 - -듄 -듄 -듄 -듄 -듄 - -듅 -듅 -듅 -듅 -듅 - -듆 -듆 -듆 -듆 -듆 - -듇 -듇 -듇 -듇 -듇 - -듈 -듈 -듈 -듈 -듈 - -듉 -듉 -듉 -듉 -듉 - -듊 -듊 -듊 -듊 -듊 - -듋 -듋 -듋 -듋 -듋 - -듌 -듌 -듌 -듌 -듌 - -듍 -듍 -듍 -듍 -듍 - -듎 -듎 -듎 -듎 -듎 - -듏 -듏 -듏 -듏 -듏 - -듐 -듐 -듐 -듐 -듐 - -듑 -듑 -듑 -듑 -듑 - -듒 -듒 -듒 -듒 -듒 - -듓 -듓 -듓 -듓 -듓 - -듔 -듔 -듔 -듔 -듔 - -듕 -듕 -듕 -듕 -듕 - -듖 -듖 -듖 -듖 -듖 - -듗 -듗 -듗 -듗 -듗 - -듘 -듘 -듘 -듘 -듘 - -듙 -듙 -듙 -듙 -듙 - -듚 -듚 -듚 -듚 -듚 - -듛 -듛 -듛 -듛 -듛 - -드 -드 -드 -드 -드 - -득 -득 -득 -득 -득 - -듞 -듞 -듞 -듞 -듞 - -듟 -듟 -듟 -듟 -듟 - -든 -든 -든 -든 -든 - -듡 -듡 -듡 -듡 -듡 - -듢 -듢 -듢 -듢 -듢 - -듣 -듣 -듣 -듣 -듣 - -들 -들 -들 -들 -들 - -듥 -듥 -듥 -듥 -듥 - -듦 -듦 -듦 -듦 -듦 - -듧 -듧 -듧 -듧 -듧 - -듨 -듨 -듨 -듨 -듨 - -듩 -듩 -듩 -듩 -듩 - -듪 -듪 -듪 -듪 -듪 - -듫 -듫 -듫 -듫 -듫 - -듬 -듬 -듬 -듬 -듬 - -듭 -듭 -듭 -듭 -듭 - -듮 -듮 -듮 -듮 -듮 - -듯 -듯 -듯 -듯 -듯 - -듰 -듰 -듰 -듰 -듰 - -등 -등 -등 -등 -등 - -듲 -듲 -듲 -듲 -듲 - -듳 -듳 -듳 -듳 -듳 - -듴 -듴 -듴 -듴 -듴 - -듵 -듵 -듵 -듵 -듵 - -듶 -듶 -듶 -듶 -듶 - -듷 -듷 -듷 -듷 -듷 - -듸 -듸 -듸 -듸 -듸 - -듹 -듹 -듹 -듹 -듹 - -듺 -듺 -듺 -듺 -듺 - -듻 -듻 -듻 -듻 -듻 - -듼 -듼 -듼 -듼 -듼 - -듽 -듽 -듽 -듽 -듽 - -듾 -듾 -듾 -듾 -듾 - -듿 -듿 -듿 -듿 -듿 - -딀 -딀 -딀 -딀 -딀 - -딁 -딁 -딁 -딁 -딁 - -딂 -딂 -딂 -딂 -딂 - -딃 -딃 -딃 -딃 -딃 - -딄 -딄 -딄 -딄 -딄 - -딅 -딅 -딅 -딅 -딅 - -딆 -딆 -딆 -딆 -딆 - -딇 -딇 -딇 -딇 -딇 - -딈 -딈 -딈 -딈 -딈 - -딉 -딉 -딉 -딉 -딉 - -딊 -딊 -딊 -딊 -딊 - -딋 -딋 -딋 -딋 -딋 - -딌 -딌 -딌 -딌 -딌 - -딍 -딍 -딍 -딍 -딍 - -딎 -딎 -딎 -딎 -딎 - -딏 -딏 -딏 -딏 -딏 - -딐 -딐 -딐 -딐 -딐 - -딑 -딑 -딑 -딑 -딑 - -딒 -딒 -딒 -딒 -딒 - -딓 -딓 -딓 -딓 -딓 - -디 -디 -디 -디 -디 - -딕 -딕 -딕 -딕 -딕 - -딖 -딖 -딖 -딖 -딖 - -딗 -딗 -딗 -딗 -딗 - -딘 -딘 -딘 -딘 -딘 - -딙 -딙 -딙 -딙 -딙 - -딚 -딚 -딚 -딚 -딚 - -딛 -딛 -딛 -딛 -딛 - -딜 -딜 -딜 -딜 -딜 - -딝 -딝 -딝 -딝 -딝 - -딞 -딞 -딞 -딞 -딞 - -딟 -딟 -딟 -딟 -딟 - -딠 -딠 -딠 -딠 -딠 - -딡 -딡 -딡 -딡 -딡 - -딢 -딢 -딢 -딢 -딢 - -딣 -딣 -딣 -딣 -딣 - -딤 -딤 -딤 -딤 -딤 - -딥 -딥 -딥 -딥 -딥 - -딦 -딦 -딦 -딦 -딦 - -딧 -딧 -딧 -딧 -딧 - -딨 -딨 -딨 -딨 -딨 - -딩 -딩 -딩 -딩 -딩 - -딪 -딪 -딪 -딪 -딪 - -딫 -딫 -딫 -딫 -딫 - -딬 -딬 -딬 -딬 -딬 - -딭 -딭 -딭 -딭 -딭 - -딮 -딮 -딮 -딮 -딮 - -딯 -딯 -딯 -딯 -딯 - -따 -따 -따 -따 -따 - -딱 -딱 -딱 -딱 -딱 - -딲 -딲 -딲 -딲 -딲 - -딳 -딳 -딳 -딳 -딳 - -딴 -딴 -딴 -딴 -딴 - -딵 -딵 -딵 -딵 -딵 - -딶 -딶 -딶 -딶 -딶 - -딷 -딷 -딷 -딷 -딷 - -딸 -딸 -딸 -딸 -딸 - -딹 -딹 -딹 -딹 -딹 - -딺 -딺 -딺 -딺 -딺 - -딻 -딻 -딻 -딻 -딻 - -딼 -딼 -딼 -딼 -딼 - -딽 -딽 -딽 -딽 -딽 - -딾 -딾 -딾 -딾 -딾 - -딿 -딿 -딿 -딿 -딿 - -땀 -땀 -땀 -땀 -땀 - -땁 -땁 -땁 -땁 -땁 - -땂 -땂 -땂 -땂 -땂 - -땃 -땃 -땃 -땃 -땃 - -땄 -땄 -땄 -땄 -땄 - -땅 -땅 -땅 -땅 -땅 - -땆 -땆 -땆 -땆 -땆 - -땇 -땇 -땇 -땇 -땇 - -땈 -땈 -땈 -땈 -땈 - -땉 -땉 -땉 -땉 -땉 - -땊 -땊 -땊 -땊 -땊 - -땋 -땋 -땋 -땋 -땋 - -때 -때 -때 -때 -때 - -땍 -땍 -땍 -땍 -땍 - -땎 -땎 -땎 -땎 -땎 - -땏 -땏 -땏 -땏 -땏 - -땐 -땐 -땐 -땐 -땐 - -땑 -땑 -땑 -땑 -땑 - -땒 -땒 -땒 -땒 -땒 - -땓 -땓 -땓 -땓 -땓 - -땔 -땔 -땔 -땔 -땔 - -땕 -땕 -땕 -땕 -땕 - -땖 -땖 -땖 -땖 -땖 - -땗 -땗 -땗 -땗 -땗 - -땘 -땘 -땘 -땘 -땘 - -땙 -땙 -땙 -땙 -땙 - -땚 -땚 -땚 -땚 -땚 - -땛 -땛 -땛 -땛 -땛 - -땜 -땜 -땜 -땜 -땜 - -땝 -땝 -땝 -땝 -땝 - -땞 -땞 -땞 -땞 -땞 - -땟 -땟 -땟 -땟 -땟 - -땠 -땠 -땠 -땠 -땠 - -땡 -땡 -땡 -땡 -땡 - -땢 -땢 -땢 -땢 -땢 - -땣 -땣 -땣 -땣 -땣 - -땤 -땤 -땤 -땤 -땤 - -땥 -땥 -땥 -땥 -땥 - -땦 -땦 -땦 -땦 -땦 - -땧 -땧 -땧 -땧 -땧 - -땨 -땨 -땨 -땨 -땨 - -땩 -땩 -땩 -땩 -땩 - -땪 -땪 -땪 -땪 -땪 - -땫 -땫 -땫 -땫 -땫 - -땬 -땬 -땬 -땬 -땬 - -땭 -땭 -땭 -땭 -땭 - -땮 -땮 -땮 -땮 -땮 - -땯 -땯 -땯 -땯 -땯 - -땰 -땰 -땰 -땰 -땰 - -땱 -땱 -땱 -땱 -땱 - -땲 -땲 -땲 -땲 -땲 - -땳 -땳 -땳 -땳 -땳 - -땴 -땴 -땴 -땴 -땴 - -땵 -땵 -땵 -땵 -땵 - -땶 -땶 -땶 -땶 -땶 - -땷 -땷 -땷 -땷 -땷 - -땸 -땸 -땸 -땸 -땸 - -땹 -땹 -땹 -땹 -땹 - -땺 -땺 -땺 -땺 -땺 - -땻 -땻 -땻 -땻 -땻 - -땼 -땼 -땼 -땼 -땼 - -땽 -땽 -땽 -땽 -땽 - -땾 -땾 -땾 -땾 -땾 - -땿 -땿 -땿 -땿 -땿 - -떀 -떀 -떀 -떀 -떀 - -떁 -떁 -떁 -떁 -떁 - -떂 -떂 -떂 -떂 -떂 - -떃 -떃 -떃 -떃 -떃 - -떄 -떄 -떄 -떄 -떄 - -떅 -떅 -떅 -떅 -떅 - -떆 -떆 -떆 -떆 -떆 - -떇 -떇 -떇 -떇 -떇 - -떈 -떈 -떈 -떈 -떈 - -떉 -떉 -떉 -떉 -떉 - -떊 -떊 -떊 -떊 -떊 - -떋 -떋 -떋 -떋 -떋 - -떌 -떌 -떌 -떌 -떌 - -떍 -떍 -떍 -떍 -떍 - -떎 -떎 -떎 -떎 -떎 - -떏 -떏 -떏 -떏 -떏 - -떐 -떐 -떐 -떐 -떐 - -떑 -떑 -떑 -떑 -떑 - -떒 -떒 -떒 -떒 -떒 - -떓 -떓 -떓 -떓 -떓 - -떔 -떔 -떔 -떔 -떔 - -떕 -떕 -떕 -떕 -떕 - -떖 -떖 -떖 -떖 -떖 - -떗 -떗 -떗 -떗 -떗 - -떘 -떘 -떘 -떘 -떘 - -떙 -떙 -떙 -떙 -떙 - -떚 -떚 -떚 -떚 -떚 - -떛 -떛 -떛 -떛 -떛 - -떜 -떜 -떜 -떜 -떜 - -떝 -떝 -떝 -떝 -떝 - -떞 -떞 -떞 -떞 -떞 - -떟 -떟 -떟 -떟 -떟 - -떠 -떠 -떠 -떠 -떠 - -떡 -떡 -떡 -떡 -떡 - -떢 -떢 -떢 -떢 -떢 - -떣 -떣 -떣 -떣 -떣 - -떤 -떤 -떤 -떤 -떤 - -떥 -떥 -떥 -떥 -떥 - -떦 -떦 -떦 -떦 -떦 - -떧 -떧 -떧 -떧 -떧 - -떨 -떨 -떨 -떨 -떨 - -떩 -떩 -떩 -떩 -떩 - -떪 -떪 -떪 -떪 -떪 - -떫 -떫 -떫 -떫 -떫 - -떬 -떬 -떬 -떬 -떬 - -떭 -떭 -떭 -떭 -떭 - -떮 -떮 -떮 -떮 -떮 - -떯 -떯 -떯 -떯 -떯 - -떰 -떰 -떰 -떰 -떰 - -떱 -떱 -떱 -떱 -떱 - -떲 -떲 -떲 -떲 -떲 - -떳 -떳 -떳 -떳 -떳 - -떴 -떴 -떴 -떴 -떴 - -떵 -떵 -떵 -떵 -떵 - -떶 -떶 -떶 -떶 -떶 - -떷 -떷 -떷 -떷 -떷 - -떸 -떸 -떸 -떸 -떸 - -떹 -떹 -떹 -떹 -떹 - -떺 -떺 -떺 -떺 -떺 - -떻 -떻 -떻 -떻 -떻 - -떼 -떼 -떼 -떼 -떼 - -떽 -떽 -떽 -떽 -떽 - -떾 -떾 -떾 -떾 -떾 - -떿 -떿 -떿 -떿 -떿 - -뗀 -뗀 -뗀 -뗀 -뗀 - -뗁 -뗁 -뗁 -뗁 -뗁 - -뗂 -뗂 -뗂 -뗂 -뗂 - -뗃 -뗃 -뗃 -뗃 -뗃 - -뗄 -뗄 -뗄 -뗄 -뗄 - -뗅 -뗅 -뗅 -뗅 -뗅 - -뗆 -뗆 -뗆 -뗆 -뗆 - -뗇 -뗇 -뗇 -뗇 -뗇 - -뗈 -뗈 -뗈 -뗈 -뗈 - -뗉 -뗉 -뗉 -뗉 -뗉 - -뗊 -뗊 -뗊 -뗊 -뗊 - -뗋 -뗋 -뗋 -뗋 -뗋 - -뗌 -뗌 -뗌 -뗌 -뗌 - -뗍 -뗍 -뗍 -뗍 -뗍 - -뗎 -뗎 -뗎 -뗎 -뗎 - -뗏 -뗏 -뗏 -뗏 -뗏 - -뗐 -뗐 -뗐 -뗐 -뗐 - -뗑 -뗑 -뗑 -뗑 -뗑 - -뗒 -뗒 -뗒 -뗒 -뗒 - -뗓 -뗓 -뗓 -뗓 -뗓 - -뗔 -뗔 -뗔 -뗔 -뗔 - -뗕 -뗕 -뗕 -뗕 -뗕 - -뗖 -뗖 -뗖 -뗖 -뗖 - -뗗 -뗗 -뗗 -뗗 -뗗 - -뗘 -뗘 -뗘 -뗘 -뗘 - -뗙 -뗙 -뗙 -뗙 -뗙 - -뗚 -뗚 -뗚 -뗚 -뗚 - -뗛 -뗛 -뗛 -뗛 -뗛 - -뗜 -뗜 -뗜 -뗜 -뗜 - -뗝 -뗝 -뗝 -뗝 -뗝 - -뗞 -뗞 -뗞 -뗞 -뗞 - -뗟 -뗟 -뗟 -뗟 -뗟 - -뗠 -뗠 -뗠 -뗠 -뗠 - -뗡 -뗡 -뗡 -뗡 -뗡 - -뗢 -뗢 -뗢 -뗢 -뗢 - -뗣 -뗣 -뗣 -뗣 -뗣 - -뗤 -뗤 -뗤 -뗤 -뗤 - -뗥 -뗥 -뗥 -뗥 -뗥 - -뗦 -뗦 -뗦 -뗦 -뗦 - -뗧 -뗧 -뗧 -뗧 -뗧 - -뗨 -뗨 -뗨 -뗨 -뗨 - -뗩 -뗩 -뗩 -뗩 -뗩 - -뗪 -뗪 -뗪 -뗪 -뗪 - -뗫 -뗫 -뗫 -뗫 -뗫 - -뗬 -뗬 -뗬 -뗬 -뗬 - -뗭 -뗭 -뗭 -뗭 -뗭 - -뗮 -뗮 -뗮 -뗮 -뗮 - -뗯 -뗯 -뗯 -뗯 -뗯 - -뗰 -뗰 -뗰 -뗰 -뗰 - -뗱 -뗱 -뗱 -뗱 -뗱 - -뗲 -뗲 -뗲 -뗲 -뗲 - -뗳 -뗳 -뗳 -뗳 -뗳 - -뗴 -뗴 -뗴 -뗴 -뗴 - -뗵 -뗵 -뗵 -뗵 -뗵 - -뗶 -뗶 -뗶 -뗶 -뗶 - -뗷 -뗷 -뗷 -뗷 -뗷 - -뗸 -뗸 -뗸 -뗸 -뗸 - -뗹 -뗹 -뗹 -뗹 -뗹 - -뗺 -뗺 -뗺 -뗺 -뗺 - -뗻 -뗻 -뗻 -뗻 -뗻 - -뗼 -뗼 -뗼 -뗼 -뗼 - -뗽 -뗽 -뗽 -뗽 -뗽 - -뗾 -뗾 -뗾 -뗾 -뗾 - -뗿 -뗿 -뗿 -뗿 -뗿 - -똀 -똀 -똀 -똀 -똀 - -똁 -똁 -똁 -똁 -똁 - -똂 -똂 -똂 -똂 -똂 - -똃 -똃 -똃 -똃 -똃 - -똄 -똄 -똄 -똄 -똄 - -똅 -똅 -똅 -똅 -똅 - -똆 -똆 -똆 -똆 -똆 - -똇 -똇 -똇 -똇 -똇 - -똈 -똈 -똈 -똈 -똈 - -똉 -똉 -똉 -똉 -똉 - -똊 -똊 -똊 -똊 -똊 - -똋 -똋 -똋 -똋 -똋 - -똌 -똌 -똌 -똌 -똌 - -똍 -똍 -똍 -똍 -똍 - -똎 -똎 -똎 -똎 -똎 - -똏 -똏 -똏 -똏 -똏 - -또 -또 -또 -또 -또 - -똑 -똑 -똑 -똑 -똑 - -똒 -똒 -똒 -똒 -똒 - -똓 -똓 -똓 -똓 -똓 - -똔 -똔 -똔 -똔 -똔 - -똕 -똕 -똕 -똕 -똕 - -똖 -똖 -똖 -똖 -똖 - -똗 -똗 -똗 -똗 -똗 - -똘 -똘 -똘 -똘 -똘 - -똙 -똙 -똙 -똙 -똙 - -똚 -똚 -똚 -똚 -똚 - -똛 -똛 -똛 -똛 -똛 - -똜 -똜 -똜 -똜 -똜 - -똝 -똝 -똝 -똝 -똝 - -똞 -똞 -똞 -똞 -똞 - -똟 -똟 -똟 -똟 -똟 - -똠 -똠 -똠 -똠 -똠 - -똡 -똡 -똡 -똡 -똡 - -똢 -똢 -똢 -똢 -똢 - -똣 -똣 -똣 -똣 -똣 - -똤 -똤 -똤 -똤 -똤 - -똥 -똥 -똥 -똥 -똥 - -똦 -똦 -똦 -똦 -똦 - -똧 -똧 -똧 -똧 -똧 - -똨 -똨 -똨 -똨 -똨 - -똩 -똩 -똩 -똩 -똩 - -똪 -똪 -똪 -똪 -똪 - -똫 -똫 -똫 -똫 -똫 - -똬 -똬 -똬 -똬 -똬 - -똭 -똭 -똭 -똭 -똭 - -똮 -똮 -똮 -똮 -똮 - -똯 -똯 -똯 -똯 -똯 - -똰 -똰 -똰 -똰 -똰 - -똱 -똱 -똱 -똱 -똱 - -똲 -똲 -똲 -똲 -똲 - -똳 -똳 -똳 -똳 -똳 - -똴 -똴 -똴 -똴 -똴 - -똵 -똵 -똵 -똵 -똵 - -똶 -똶 -똶 -똶 -똶 - -똷 -똷 -똷 -똷 -똷 - -똸 -똸 -똸 -똸 -똸 - -똹 -똹 -똹 -똹 -똹 - -똺 -똺 -똺 -똺 -똺 - -똻 -똻 -똻 -똻 -똻 - -똼 -똼 -똼 -똼 -똼 - -똽 -똽 -똽 -똽 -똽 - -똾 -똾 -똾 -똾 -똾 - -똿 -똿 -똿 -똿 -똿 - -뙀 -뙀 -뙀 -뙀 -뙀 - -뙁 -뙁 -뙁 -뙁 -뙁 - -뙂 -뙂 -뙂 -뙂 -뙂 - -뙃 -뙃 -뙃 -뙃 -뙃 - -뙄 -뙄 -뙄 -뙄 -뙄 - -뙅 -뙅 -뙅 -뙅 -뙅 - -뙆 -뙆 -뙆 -뙆 -뙆 - -뙇 -뙇 -뙇 -뙇 -뙇 - -뙈 -뙈 -뙈 -뙈 -뙈 - -뙉 -뙉 -뙉 -뙉 -뙉 - -뙊 -뙊 -뙊 -뙊 -뙊 - -뙋 -뙋 -뙋 -뙋 -뙋 - -뙌 -뙌 -뙌 -뙌 -뙌 - -뙍 -뙍 -뙍 -뙍 -뙍 - -뙎 -뙎 -뙎 -뙎 -뙎 - -뙏 -뙏 -뙏 -뙏 -뙏 - -뙐 -뙐 -뙐 -뙐 -뙐 - -뙑 -뙑 -뙑 -뙑 -뙑 - -뙒 -뙒 -뙒 -뙒 -뙒 - -뙓 -뙓 -뙓 -뙓 -뙓 - -뙔 -뙔 -뙔 -뙔 -뙔 - -뙕 -뙕 -뙕 -뙕 -뙕 - -뙖 -뙖 -뙖 -뙖 -뙖 - -뙗 -뙗 -뙗 -뙗 -뙗 - -뙘 -뙘 -뙘 -뙘 -뙘 - -뙙 -뙙 -뙙 -뙙 -뙙 - -뙚 -뙚 -뙚 -뙚 -뙚 - -뙛 -뙛 -뙛 -뙛 -뙛 - -뙜 -뙜 -뙜 -뙜 -뙜 - -뙝 -뙝 -뙝 -뙝 -뙝 - -뙞 -뙞 -뙞 -뙞 -뙞 - -뙟 -뙟 -뙟 -뙟 -뙟 - -뙠 -뙠 -뙠 -뙠 -뙠 - -뙡 -뙡 -뙡 -뙡 -뙡 - -뙢 -뙢 -뙢 -뙢 -뙢 - -뙣 -뙣 -뙣 -뙣 -뙣 - -뙤 -뙤 -뙤 -뙤 -뙤 - -뙥 -뙥 -뙥 -뙥 -뙥 - -뙦 -뙦 -뙦 -뙦 -뙦 - -뙧 -뙧 -뙧 -뙧 -뙧 - -뙨 -뙨 -뙨 -뙨 -뙨 - -뙩 -뙩 -뙩 -뙩 -뙩 - -뙪 -뙪 -뙪 -뙪 -뙪 - -뙫 -뙫 -뙫 -뙫 -뙫 - -뙬 -뙬 -뙬 -뙬 -뙬 - -뙭 -뙭 -뙭 -뙭 -뙭 - -뙮 -뙮 -뙮 -뙮 -뙮 - -뙯 -뙯 -뙯 -뙯 -뙯 - -뙰 -뙰 -뙰 -뙰 -뙰 - -뙱 -뙱 -뙱 -뙱 -뙱 - -뙲 -뙲 -뙲 -뙲 -뙲 - -뙳 -뙳 -뙳 -뙳 -뙳 - -뙴 -뙴 -뙴 -뙴 -뙴 - -뙵 -뙵 -뙵 -뙵 -뙵 - -뙶 -뙶 -뙶 -뙶 -뙶 - -뙷 -뙷 -뙷 -뙷 -뙷 - -뙸 -뙸 -뙸 -뙸 -뙸 - -뙹 -뙹 -뙹 -뙹 -뙹 - -뙺 -뙺 -뙺 -뙺 -뙺 - -뙻 -뙻 -뙻 -뙻 -뙻 - -뙼 -뙼 -뙼 -뙼 -뙼 - -뙽 -뙽 -뙽 -뙽 -뙽 - -뙾 -뙾 -뙾 -뙾 -뙾 - -뙿 -뙿 -뙿 -뙿 -뙿 - -뚀 -뚀 -뚀 -뚀 -뚀 - -뚁 -뚁 -뚁 -뚁 -뚁 - -뚂 -뚂 -뚂 -뚂 -뚂 - -뚃 -뚃 -뚃 -뚃 -뚃 - -뚄 -뚄 -뚄 -뚄 -뚄 - -뚅 -뚅 -뚅 -뚅 -뚅 - -뚆 -뚆 -뚆 -뚆 -뚆 - -뚇 -뚇 -뚇 -뚇 -뚇 - -뚈 -뚈 -뚈 -뚈 -뚈 - -뚉 -뚉 -뚉 -뚉 -뚉 - -뚊 -뚊 -뚊 -뚊 -뚊 - -뚋 -뚋 -뚋 -뚋 -뚋 - -뚌 -뚌 -뚌 -뚌 -뚌 - -뚍 -뚍 -뚍 -뚍 -뚍 - -뚎 -뚎 -뚎 -뚎 -뚎 - -뚏 -뚏 -뚏 -뚏 -뚏 - -뚐 -뚐 -뚐 -뚐 -뚐 - -뚑 -뚑 -뚑 -뚑 -뚑 - -뚒 -뚒 -뚒 -뚒 -뚒 - -뚓 -뚓 -뚓 -뚓 -뚓 - -뚔 -뚔 -뚔 -뚔 -뚔 - -뚕 -뚕 -뚕 -뚕 -뚕 - -뚖 -뚖 -뚖 -뚖 -뚖 - -뚗 -뚗 -뚗 -뚗 -뚗 - -뚘 -뚘 -뚘 -뚘 -뚘 - -뚙 -뚙 -뚙 -뚙 -뚙 - -뚚 -뚚 -뚚 -뚚 -뚚 - -뚛 -뚛 -뚛 -뚛 -뚛 - -뚜 -뚜 -뚜 -뚜 -뚜 - -뚝 -뚝 -뚝 -뚝 -뚝 - -뚞 -뚞 -뚞 -뚞 -뚞 - -뚟 -뚟 -뚟 -뚟 -뚟 - -뚠 -뚠 -뚠 -뚠 -뚠 - -뚡 -뚡 -뚡 -뚡 -뚡 - -뚢 -뚢 -뚢 -뚢 -뚢 - -뚣 -뚣 -뚣 -뚣 -뚣 - -뚤 -뚤 -뚤 -뚤 -뚤 - -뚥 -뚥 -뚥 -뚥 -뚥 - -뚦 -뚦 -뚦 -뚦 -뚦 - -뚧 -뚧 -뚧 -뚧 -뚧 - -뚨 -뚨 -뚨 -뚨 -뚨 - -뚩 -뚩 -뚩 -뚩 -뚩 - -뚪 -뚪 -뚪 -뚪 -뚪 - -뚫 -뚫 -뚫 -뚫 -뚫 - -뚬 -뚬 -뚬 -뚬 -뚬 - -뚭 -뚭 -뚭 -뚭 -뚭 - -뚮 -뚮 -뚮 -뚮 -뚮 - -뚯 -뚯 -뚯 -뚯 -뚯 - -뚰 -뚰 -뚰 -뚰 -뚰 - -뚱 -뚱 -뚱 -뚱 -뚱 - -뚲 -뚲 -뚲 -뚲 -뚲 - -뚳 -뚳 -뚳 -뚳 -뚳 - -뚴 -뚴 -뚴 -뚴 -뚴 - -뚵 -뚵 -뚵 -뚵 -뚵 - -뚶 -뚶 -뚶 -뚶 -뚶 - -뚷 -뚷 -뚷 -뚷 -뚷 - -뚸 -뚸 -뚸 -뚸 -뚸 - -뚹 -뚹 -뚹 -뚹 -뚹 - -뚺 -뚺 -뚺 -뚺 -뚺 - -뚻 -뚻 -뚻 -뚻 -뚻 - -뚼 -뚼 -뚼 -뚼 -뚼 - -뚽 -뚽 -뚽 -뚽 -뚽 - -뚾 -뚾 -뚾 -뚾 -뚾 - -뚿 -뚿 -뚿 -뚿 -뚿 - -뛀 -뛀 -뛀 -뛀 -뛀 - -뛁 -뛁 -뛁 -뛁 -뛁 - -뛂 -뛂 -뛂 -뛂 -뛂 - -뛃 -뛃 -뛃 -뛃 -뛃 - -뛄 -뛄 -뛄 -뛄 -뛄 - -뛅 -뛅 -뛅 -뛅 -뛅 - -뛆 -뛆 -뛆 -뛆 -뛆 - -뛇 -뛇 -뛇 -뛇 -뛇 - -뛈 -뛈 -뛈 -뛈 -뛈 - -뛉 -뛉 -뛉 -뛉 -뛉 - -뛊 -뛊 -뛊 -뛊 -뛊 - -뛋 -뛋 -뛋 -뛋 -뛋 - -뛌 -뛌 -뛌 -뛌 -뛌 - -뛍 -뛍 -뛍 -뛍 -뛍 - -뛎 -뛎 -뛎 -뛎 -뛎 - -뛏 -뛏 -뛏 -뛏 -뛏 - -뛐 -뛐 -뛐 -뛐 -뛐 - -뛑 -뛑 -뛑 -뛑 -뛑 - -뛒 -뛒 -뛒 -뛒 -뛒 - -뛓 -뛓 -뛓 -뛓 -뛓 - -뛔 -뛔 -뛔 -뛔 -뛔 - -뛕 -뛕 -뛕 -뛕 -뛕 - -뛖 -뛖 -뛖 -뛖 -뛖 - -뛗 -뛗 -뛗 -뛗 -뛗 - -뛘 -뛘 -뛘 -뛘 -뛘 - -뛙 -뛙 -뛙 -뛙 -뛙 - -뛚 -뛚 -뛚 -뛚 -뛚 - -뛛 -뛛 -뛛 -뛛 -뛛 - -뛜 -뛜 -뛜 -뛜 -뛜 - -뛝 -뛝 -뛝 -뛝 -뛝 - -뛞 -뛞 -뛞 -뛞 -뛞 - -뛟 -뛟 -뛟 -뛟 -뛟 - -뛠 -뛠 -뛠 -뛠 -뛠 - -뛡 -뛡 -뛡 -뛡 -뛡 - -뛢 -뛢 -뛢 -뛢 -뛢 - -뛣 -뛣 -뛣 -뛣 -뛣 - -뛤 -뛤 -뛤 -뛤 -뛤 - -뛥 -뛥 -뛥 -뛥 -뛥 - -뛦 -뛦 -뛦 -뛦 -뛦 - -뛧 -뛧 -뛧 -뛧 -뛧 - -뛨 -뛨 -뛨 -뛨 -뛨 - -뛩 -뛩 -뛩 -뛩 -뛩 - -뛪 -뛪 -뛪 -뛪 -뛪 - -뛫 -뛫 -뛫 -뛫 -뛫 - -뛬 -뛬 -뛬 -뛬 -뛬 - -뛭 -뛭 -뛭 -뛭 -뛭 - -뛮 -뛮 -뛮 -뛮 -뛮 - -뛯 -뛯 -뛯 -뛯 -뛯 - -뛰 -뛰 -뛰 -뛰 -뛰 - -뛱 -뛱 -뛱 -뛱 -뛱 - -뛲 -뛲 -뛲 -뛲 -뛲 - -뛳 -뛳 -뛳 -뛳 -뛳 - -뛴 -뛴 -뛴 -뛴 -뛴 - -뛵 -뛵 -뛵 -뛵 -뛵 - -뛶 -뛶 -뛶 -뛶 -뛶 - -뛷 -뛷 -뛷 -뛷 -뛷 - -뛸 -뛸 -뛸 -뛸 -뛸 - -뛹 -뛹 -뛹 -뛹 -뛹 - -뛺 -뛺 -뛺 -뛺 -뛺 - -뛻 -뛻 -뛻 -뛻 -뛻 - -뛼 -뛼 -뛼 -뛼 -뛼 - -뛽 -뛽 -뛽 -뛽 -뛽 - -뛾 -뛾 -뛾 -뛾 -뛾 - -뛿 -뛿 -뛿 -뛿 -뛿 - -뜀 -뜀 -뜀 -뜀 -뜀 - -뜁 -뜁 -뜁 -뜁 -뜁 - -뜂 -뜂 -뜂 -뜂 -뜂 - -뜃 -뜃 -뜃 -뜃 -뜃 - -뜄 -뜄 -뜄 -뜄 -뜄 - -뜅 -뜅 -뜅 -뜅 -뜅 - -뜆 -뜆 -뜆 -뜆 -뜆 - -뜇 -뜇 -뜇 -뜇 -뜇 - -뜈 -뜈 -뜈 -뜈 -뜈 - -뜉 -뜉 -뜉 -뜉 -뜉 - -뜊 -뜊 -뜊 -뜊 -뜊 - -뜋 -뜋 -뜋 -뜋 -뜋 - -뜌 -뜌 -뜌 -뜌 -뜌 - -뜍 -뜍 -뜍 -뜍 -뜍 - -뜎 -뜎 -뜎 -뜎 -뜎 - -뜏 -뜏 -뜏 -뜏 -뜏 - -뜐 -뜐 -뜐 -뜐 -뜐 - -뜑 -뜑 -뜑 -뜑 -뜑 - -뜒 -뜒 -뜒 -뜒 -뜒 - -뜓 -뜓 -뜓 -뜓 -뜓 - -뜔 -뜔 -뜔 -뜔 -뜔 - -뜕 -뜕 -뜕 -뜕 -뜕 - -뜖 -뜖 -뜖 -뜖 -뜖 - -뜗 -뜗 -뜗 -뜗 -뜗 - -뜘 -뜘 -뜘 -뜘 -뜘 - -뜙 -뜙 -뜙 -뜙 -뜙 - -뜚 -뜚 -뜚 -뜚 -뜚 - -뜛 -뜛 -뜛 -뜛 -뜛 - -뜜 -뜜 -뜜 -뜜 -뜜 - -뜝 -뜝 -뜝 -뜝 -뜝 - -뜞 -뜞 -뜞 -뜞 -뜞 - -뜟 -뜟 -뜟 -뜟 -뜟 - -뜠 -뜠 -뜠 -뜠 -뜠 - -뜡 -뜡 -뜡 -뜡 -뜡 - -뜢 -뜢 -뜢 -뜢 -뜢 - -뜣 -뜣 -뜣 -뜣 -뜣 - -뜤 -뜤 -뜤 -뜤 -뜤 - -뜥 -뜥 -뜥 -뜥 -뜥 - -뜦 -뜦 -뜦 -뜦 -뜦 - -뜧 -뜧 -뜧 -뜧 -뜧 - -뜨 -뜨 -뜨 -뜨 -뜨 - -뜩 -뜩 -뜩 -뜩 -뜩 - -뜪 -뜪 -뜪 -뜪 -뜪 - -뜫 -뜫 -뜫 -뜫 -뜫 - -뜬 -뜬 -뜬 -뜬 -뜬 - -뜭 -뜭 -뜭 -뜭 -뜭 - -뜮 -뜮 -뜮 -뜮 -뜮 - -뜯 -뜯 -뜯 -뜯 -뜯 - -뜰 -뜰 -뜰 -뜰 -뜰 - -뜱 -뜱 -뜱 -뜱 -뜱 - -뜲 -뜲 -뜲 -뜲 -뜲 - -뜳 -뜳 -뜳 -뜳 -뜳 - -뜴 -뜴 -뜴 -뜴 -뜴 - -뜵 -뜵 -뜵 -뜵 -뜵 - -뜶 -뜶 -뜶 -뜶 -뜶 - -뜷 -뜷 -뜷 -뜷 -뜷 - -뜸 -뜸 -뜸 -뜸 -뜸 - -뜹 -뜹 -뜹 -뜹 -뜹 - -뜺 -뜺 -뜺 -뜺 -뜺 - -뜻 -뜻 -뜻 -뜻 -뜻 - -뜼 -뜼 -뜼 -뜼 -뜼 - -뜽 -뜽 -뜽 -뜽 -뜽 - -뜾 -뜾 -뜾 -뜾 -뜾 - -뜿 -뜿 -뜿 -뜿 -뜿 - -띀 -띀 -띀 -띀 -띀 - -띁 -띁 -띁 -띁 -띁 - -띂 -띂 -띂 -띂 -띂 - -띃 -띃 -띃 -띃 -띃 - -띄 -띄 -띄 -띄 -띄 - -띅 -띅 -띅 -띅 -띅 - -띆 -띆 -띆 -띆 -띆 - -띇 -띇 -띇 -띇 -띇 - -띈 -띈 -띈 -띈 -띈 - -띉 -띉 -띉 -띉 -띉 - -띊 -띊 -띊 -띊 -띊 - -띋 -띋 -띋 -띋 -띋 - -띌 -띌 -띌 -띌 -띌 - -띍 -띍 -띍 -띍 -띍 - -띎 -띎 -띎 -띎 -띎 - -띏 -띏 -띏 -띏 -띏 - -띐 -띐 -띐 -띐 -띐 - -띑 -띑 -띑 -띑 -띑 - -띒 -띒 -띒 -띒 -띒 - -띓 -띓 -띓 -띓 -띓 - -띔 -띔 -띔 -띔 -띔 - -띕 -띕 -띕 -띕 -띕 - -띖 -띖 -띖 -띖 -띖 - -띗 -띗 -띗 -띗 -띗 - -띘 -띘 -띘 -띘 -띘 - -띙 -띙 -띙 -띙 -띙 - -띚 -띚 -띚 -띚 -띚 - -띛 -띛 -띛 -띛 -띛 - -띜 -띜 -띜 -띜 -띜 - -띝 -띝 -띝 -띝 -띝 - -띞 -띞 -띞 -띞 -띞 - -띟 -띟 -띟 -띟 -띟 - -띠 -띠 -띠 -띠 -띠 - -띡 -띡 -띡 -띡 -띡 - -띢 -띢 -띢 -띢 -띢 - -띣 -띣 -띣 -띣 -띣 - -띤 -띤 -띤 -띤 -띤 - -띥 -띥 -띥 -띥 -띥 - -띦 -띦 -띦 -띦 -띦 - -띧 -띧 -띧 -띧 -띧 - -띨 -띨 -띨 -띨 -띨 - -띩 -띩 -띩 -띩 -띩 - -띪 -띪 -띪 -띪 -띪 - -띫 -띫 -띫 -띫 -띫 - -띬 -띬 -띬 -띬 -띬 - -띭 -띭 -띭 -띭 -띭 - -띮 -띮 -띮 -띮 -띮 - -띯 -띯 -띯 -띯 -띯 - -띰 -띰 -띰 -띰 -띰 - -띱 -띱 -띱 -띱 -띱 - -띲 -띲 -띲 -띲 -띲 - -띳 -띳 -띳 -띳 -띳 - -띴 -띴 -띴 -띴 -띴 - -띵 -띵 -띵 -띵 -띵 - -띶 -띶 -띶 -띶 -띶 - -띷 -띷 -띷 -띷 -띷 - -띸 -띸 -띸 -띸 -띸 - -띹 -띹 -띹 -띹 -띹 - -띺 -띺 -띺 -띺 -띺 - -띻 -띻 -띻 -띻 -띻 - -라 -라 -라 -라 -라 - -락 -락 -락 -락 -락 - -띾 -띾 -띾 -띾 -띾 - -띿 -띿 -띿 -띿 -띿 - -란 -란 -란 -란 -란 - -랁 -랁 -랁 -랁 -랁 - -랂 -랂 -랂 -랂 -랂 - -랃 -랃 -랃 -랃 -랃 - -랄 -랄 -랄 -랄 -랄 - -랅 -랅 -랅 -랅 -랅 - -랆 -랆 -랆 -랆 -랆 - -랇 -랇 -랇 -랇 -랇 - -랈 -랈 -랈 -랈 -랈 - -랉 -랉 -랉 -랉 -랉 - -랊 -랊 -랊 -랊 -랊 - -랋 -랋 -랋 -랋 -랋 - -람 -람 -람 -람 -람 - -랍 -랍 -랍 -랍 -랍 - -랎 -랎 -랎 -랎 -랎 - -랏 -랏 -랏 -랏 -랏 - -랐 -랐 -랐 -랐 -랐 - -랑 -랑 -랑 -랑 -랑 - -랒 -랒 -랒 -랒 -랒 - -랓 -랓 -랓 -랓 -랓 - -랔 -랔 -랔 -랔 -랔 - -랕 -랕 -랕 -랕 -랕 - -랖 -랖 -랖 -랖 -랖 - -랗 -랗 -랗 -랗 -랗 - -래 -래 -래 -래 -래 - -랙 -랙 -랙 -랙 -랙 - -랚 -랚 -랚 -랚 -랚 - -랛 -랛 -랛 -랛 -랛 - -랜 -랜 -랜 -랜 -랜 - -랝 -랝 -랝 -랝 -랝 - -랞 -랞 -랞 -랞 -랞 - -랟 -랟 -랟 -랟 -랟 - -랠 -랠 -랠 -랠 -랠 - -랡 -랡 -랡 -랡 -랡 - -랢 -랢 -랢 -랢 -랢 - -랣 -랣 -랣 -랣 -랣 - -랤 -랤 -랤 -랤 -랤 - -랥 -랥 -랥 -랥 -랥 - -랦 -랦 -랦 -랦 -랦 - -랧 -랧 -랧 -랧 -랧 - -램 -램 -램 -램 -램 - -랩 -랩 -랩 -랩 -랩 - -랪 -랪 -랪 -랪 -랪 - -랫 -랫 -랫 -랫 -랫 - -랬 -랬 -랬 -랬 -랬 - -랭 -랭 -랭 -랭 -랭 - -랮 -랮 -랮 -랮 -랮 - -랯 -랯 -랯 -랯 -랯 - -랰 -랰 -랰 -랰 -랰 - -랱 -랱 -랱 -랱 -랱 - -랲 -랲 -랲 -랲 -랲 - -랳 -랳 -랳 -랳 -랳 - -랴 -랴 -랴 -랴 -랴 - -략 -략 -략 -략 -략 - -랶 -랶 -랶 -랶 -랶 - -랷 -랷 -랷 -랷 -랷 - -랸 -랸 -랸 -랸 -랸 - -랹 -랹 -랹 -랹 -랹 - -랺 -랺 -랺 -랺 -랺 - -랻 -랻 -랻 -랻 -랻 - -랼 -랼 -랼 -랼 -랼 - -랽 -랽 -랽 -랽 -랽 - -랾 -랾 -랾 -랾 -랾 - -랿 -랿 -랿 -랿 -랿 - -럀 -럀 -럀 -럀 -럀 - -럁 -럁 -럁 -럁 -럁 - -럂 -럂 -럂 -럂 -럂 - -럃 -럃 -럃 -럃 -럃 - -럄 -럄 -럄 -럄 -럄 - -럅 -럅 -럅 -럅 -럅 - -럆 -럆 -럆 -럆 -럆 - -럇 -럇 -럇 -럇 -럇 - -럈 -럈 -럈 -럈 -럈 - -량 -량 -량 -량 -량 - -럊 -럊 -럊 -럊 -럊 - -럋 -럋 -럋 -럋 -럋 - -럌 -럌 -럌 -럌 -럌 - -럍 -럍 -럍 -럍 -럍 - -럎 -럎 -럎 -럎 -럎 - -럏 -럏 -럏 -럏 -럏 - -럐 -럐 -럐 -럐 -럐 - -럑 -럑 -럑 -럑 -럑 - -럒 -럒 -럒 -럒 -럒 - -럓 -럓 -럓 -럓 -럓 - -럔 -럔 -럔 -럔 -럔 - -럕 -럕 -럕 -럕 -럕 - -럖 -럖 -럖 -럖 -럖 - -럗 -럗 -럗 -럗 -럗 - -럘 -럘 -럘 -럘 -럘 - -럙 -럙 -럙 -럙 -럙 - -럚 -럚 -럚 -럚 -럚 - -럛 -럛 -럛 -럛 -럛 - -럜 -럜 -럜 -럜 -럜 - -럝 -럝 -럝 -럝 -럝 - -럞 -럞 -럞 -럞 -럞 - -럟 -럟 -럟 -럟 -럟 - -럠 -럠 -럠 -럠 -럠 - -럡 -럡 -럡 -럡 -럡 - -럢 -럢 -럢 -럢 -럢 - -럣 -럣 -럣 -럣 -럣 - -럤 -럤 -럤 -럤 -럤 - -럥 -럥 -럥 -럥 -럥 - -럦 -럦 -럦 -럦 -럦 - -럧 -럧 -럧 -럧 -럧 - -럨 -럨 -럨 -럨 -럨 - -럩 -럩 -럩 -럩 -럩 - -럪 -럪 -럪 -럪 -럪 - -럫 -럫 -럫 -럫 -럫 - -러 -러 -러 -러 -러 - -럭 -럭 -럭 -럭 -럭 - -럮 -럮 -럮 -럮 -럮 - -럯 -럯 -럯 -럯 -럯 - -런 -런 -런 -런 -런 - -럱 -럱 -럱 -럱 -럱 - -럲 -럲 -럲 -럲 -럲 - -럳 -럳 -럳 -럳 -럳 - -럴 -럴 -럴 -럴 -럴 - -럵 -럵 -럵 -럵 -럵 - -럶 -럶 -럶 -럶 -럶 - -럷 -럷 -럷 -럷 -럷 - -럸 -럸 -럸 -럸 -럸 - -럹 -럹 -럹 -럹 -럹 - -럺 -럺 -럺 -럺 -럺 - -럻 -럻 -럻 -럻 -럻 - -럼 -럼 -럼 -럼 -럼 - -럽 -럽 -럽 -럽 -럽 - -럾 -럾 -럾 -럾 -럾 - -럿 -럿 -럿 -럿 -럿 - -렀 -렀 -렀 -렀 -렀 - -렁 -렁 -렁 -렁 -렁 - -렂 -렂 -렂 -렂 -렂 - -렃 -렃 -렃 -렃 -렃 - -렄 -렄 -렄 -렄 -렄 - -렅 -렅 -렅 -렅 -렅 - -렆 -렆 -렆 -렆 -렆 - -렇 -렇 -렇 -렇 -렇 - -레 -레 -레 -레 -레 - -렉 -렉 -렉 -렉 -렉 - -렊 -렊 -렊 -렊 -렊 - -렋 -렋 -렋 -렋 -렋 - -렌 -렌 -렌 -렌 -렌 - -렍 -렍 -렍 -렍 -렍 - -렎 -렎 -렎 -렎 -렎 - -렏 -렏 -렏 -렏 -렏 - -렐 -렐 -렐 -렐 -렐 - -렑 -렑 -렑 -렑 -렑 - -렒 -렒 -렒 -렒 -렒 - -렓 -렓 -렓 -렓 -렓 - -렔 -렔 -렔 -렔 -렔 - -렕 -렕 -렕 -렕 -렕 - -렖 -렖 -렖 -렖 -렖 - -렗 -렗 -렗 -렗 -렗 - -렘 -렘 -렘 -렘 -렘 - -렙 -렙 -렙 -렙 -렙 - -렚 -렚 -렚 -렚 -렚 - -렛 -렛 -렛 -렛 -렛 - -렜 -렜 -렜 -렜 -렜 - -렝 -렝 -렝 -렝 -렝 - -렞 -렞 -렞 -렞 -렞 - -렟 -렟 -렟 -렟 -렟 - -렠 -렠 -렠 -렠 -렠 - -렡 -렡 -렡 -렡 -렡 - -렢 -렢 -렢 -렢 -렢 - -렣 -렣 -렣 -렣 -렣 - -려 -려 -려 -려 -려 - -력 -력 -력 -력 -력 - -렦 -렦 -렦 -렦 -렦 - -렧 -렧 -렧 -렧 -렧 - -련 -련 -련 -련 -련 - -렩 -렩 -렩 -렩 -렩 - -렪 -렪 -렪 -렪 -렪 - -렫 -렫 -렫 -렫 -렫 - -렬 -렬 -렬 -렬 -렬 - -렭 -렭 -렭 -렭 -렭 - -렮 -렮 -렮 -렮 -렮 - -렯 -렯 -렯 -렯 -렯 - -렰 -렰 -렰 -렰 -렰 - -렱 -렱 -렱 -렱 -렱 - -렲 -렲 -렲 -렲 -렲 - -렳 -렳 -렳 -렳 -렳 - -렴 -렴 -렴 -렴 -렴 - -렵 -렵 -렵 -렵 -렵 - -렶 -렶 -렶 -렶 -렶 - -렷 -렷 -렷 -렷 -렷 - -렸 -렸 -렸 -렸 -렸 - -령 -령 -령 -령 -령 - -렺 -렺 -렺 -렺 -렺 - -렻 -렻 -렻 -렻 -렻 - -렼 -렼 -렼 -렼 -렼 - -렽 -렽 -렽 -렽 -렽 - -렾 -렾 -렾 -렾 -렾 - -렿 -렿 -렿 -렿 -렿 - -례 -례 -례 -례 -례 - -롁 -롁 -롁 -롁 -롁 - -롂 -롂 -롂 -롂 -롂 - -롃 -롃 -롃 -롃 -롃 - -롄 -롄 -롄 -롄 -롄 - -롅 -롅 -롅 -롅 -롅 - -롆 -롆 -롆 -롆 -롆 - -롇 -롇 -롇 -롇 -롇 - -롈 -롈 -롈 -롈 -롈 - -롉 -롉 -롉 -롉 -롉 - -롊 -롊 -롊 -롊 -롊 - -롋 -롋 -롋 -롋 -롋 - -롌 -롌 -롌 -롌 -롌 - -롍 -롍 -롍 -롍 -롍 - -롎 -롎 -롎 -롎 -롎 - -롏 -롏 -롏 -롏 -롏 - -롐 -롐 -롐 -롐 -롐 - -롑 -롑 -롑 -롑 -롑 - -롒 -롒 -롒 -롒 -롒 - -롓 -롓 -롓 -롓 -롓 - -롔 -롔 -롔 -롔 -롔 - -롕 -롕 -롕 -롕 -롕 - -롖 -롖 -롖 -롖 -롖 - -롗 -롗 -롗 -롗 -롗 - -롘 -롘 -롘 -롘 -롘 - -롙 -롙 -롙 -롙 -롙 - -롚 -롚 -롚 -롚 -롚 - -롛 -롛 -롛 -롛 -롛 - -로 -로 -로 -로 -로 - -록 -록 -록 -록 -록 - -롞 -롞 -롞 -롞 -롞 - -롟 -롟 -롟 -롟 -롟 - -론 -론 -론 -론 -론 - -롡 -롡 -롡 -롡 -롡 - -롢 -롢 -롢 -롢 -롢 - -롣 -롣 -롣 -롣 -롣 - -롤 -롤 -롤 -롤 -롤 - -롥 -롥 -롥 -롥 -롥 - -롦 -롦 -롦 -롦 -롦 - -롧 -롧 -롧 -롧 -롧 - -롨 -롨 -롨 -롨 -롨 - -롩 -롩 -롩 -롩 -롩 - -롪 -롪 -롪 -롪 -롪 - -롫 -롫 -롫 -롫 -롫 - -롬 -롬 -롬 -롬 -롬 - -롭 -롭 -롭 -롭 -롭 - -롮 -롮 -롮 -롮 -롮 - -롯 -롯 -롯 -롯 -롯 - -롰 -롰 -롰 -롰 -롰 - -롱 -롱 -롱 -롱 -롱 - -롲 -롲 -롲 -롲 -롲 - -롳 -롳 -롳 -롳 -롳 - -롴 -롴 -롴 -롴 -롴 - -롵 -롵 -롵 -롵 -롵 - -롶 -롶 -롶 -롶 -롶 - -롷 -롷 -롷 -롷 -롷 - -롸 -롸 -롸 -롸 -롸 - -롹 -롹 -롹 -롹 -롹 - -롺 -롺 -롺 -롺 -롺 - -롻 -롻 -롻 -롻 -롻 - -롼 -롼 -롼 -롼 -롼 - -롽 -롽 -롽 -롽 -롽 - -롾 -롾 -롾 -롾 -롾 - -롿 -롿 -롿 -롿 -롿 - -뢀 -뢀 -뢀 -뢀 -뢀 - -뢁 -뢁 -뢁 -뢁 -뢁 - -뢂 -뢂 -뢂 -뢂 -뢂 - -뢃 -뢃 -뢃 -뢃 -뢃 - -뢄 -뢄 -뢄 -뢄 -뢄 - -뢅 -뢅 -뢅 -뢅 -뢅 - -뢆 -뢆 -뢆 -뢆 -뢆 - -뢇 -뢇 -뢇 -뢇 -뢇 - -뢈 -뢈 -뢈 -뢈 -뢈 - -뢉 -뢉 -뢉 -뢉 -뢉 - -뢊 -뢊 -뢊 -뢊 -뢊 - -뢋 -뢋 -뢋 -뢋 -뢋 - -뢌 -뢌 -뢌 -뢌 -뢌 - -뢍 -뢍 -뢍 -뢍 -뢍 - -뢎 -뢎 -뢎 -뢎 -뢎 - -뢏 -뢏 -뢏 -뢏 -뢏 - -뢐 -뢐 -뢐 -뢐 -뢐 - -뢑 -뢑 -뢑 -뢑 -뢑 - -뢒 -뢒 -뢒 -뢒 -뢒 - -뢓 -뢓 -뢓 -뢓 -뢓 - -뢔 -뢔 -뢔 -뢔 -뢔 - -뢕 -뢕 -뢕 -뢕 -뢕 - -뢖 -뢖 -뢖 -뢖 -뢖 - -뢗 -뢗 -뢗 -뢗 -뢗 - -뢘 -뢘 -뢘 -뢘 -뢘 - -뢙 -뢙 -뢙 -뢙 -뢙 - -뢚 -뢚 -뢚 -뢚 -뢚 - -뢛 -뢛 -뢛 -뢛 -뢛 - -뢜 -뢜 -뢜 -뢜 -뢜 - -뢝 -뢝 -뢝 -뢝 -뢝 - -뢞 -뢞 -뢞 -뢞 -뢞 - -뢟 -뢟 -뢟 -뢟 -뢟 - -뢠 -뢠 -뢠 -뢠 -뢠 - -뢡 -뢡 -뢡 -뢡 -뢡 - -뢢 -뢢 -뢢 -뢢 -뢢 - -뢣 -뢣 -뢣 -뢣 -뢣 - -뢤 -뢤 -뢤 -뢤 -뢤 - -뢥 -뢥 -뢥 -뢥 -뢥 - -뢦 -뢦 -뢦 -뢦 -뢦 - -뢧 -뢧 -뢧 -뢧 -뢧 - -뢨 -뢨 -뢨 -뢨 -뢨 - -뢩 -뢩 -뢩 -뢩 -뢩 - -뢪 -뢪 -뢪 -뢪 -뢪 - -뢫 -뢫 -뢫 -뢫 -뢫 - -뢬 -뢬 -뢬 -뢬 -뢬 - -뢭 -뢭 -뢭 -뢭 -뢭 - -뢮 -뢮 -뢮 -뢮 -뢮 - -뢯 -뢯 -뢯 -뢯 -뢯 - -뢰 -뢰 -뢰 -뢰 -뢰 - -뢱 -뢱 -뢱 -뢱 -뢱 - -뢲 -뢲 -뢲 -뢲 -뢲 - -뢳 -뢳 -뢳 -뢳 -뢳 - -뢴 -뢴 -뢴 -뢴 -뢴 - -뢵 -뢵 -뢵 -뢵 -뢵 - -뢶 -뢶 -뢶 -뢶 -뢶 - -뢷 -뢷 -뢷 -뢷 -뢷 - -뢸 -뢸 -뢸 -뢸 -뢸 - -뢹 -뢹 -뢹 -뢹 -뢹 - -뢺 -뢺 -뢺 -뢺 -뢺 - -뢻 -뢻 -뢻 -뢻 -뢻 - -뢼 -뢼 -뢼 -뢼 -뢼 - -뢽 -뢽 -뢽 -뢽 -뢽 - -뢾 -뢾 -뢾 -뢾 -뢾 - -뢿 -뢿 -뢿 -뢿 -뢿 - -룀 -룀 -룀 -룀 -룀 - -룁 -룁 -룁 -룁 -룁 - -룂 -룂 -룂 -룂 -룂 - -룃 -룃 -룃 -룃 -룃 - -룄 -룄 -룄 -룄 -룄 - -룅 -룅 -룅 -룅 -룅 - -룆 -룆 -룆 -룆 -룆 - -룇 -룇 -룇 -룇 -룇 - -룈 -룈 -룈 -룈 -룈 - -룉 -룉 -룉 -룉 -룉 - -룊 -룊 -룊 -룊 -룊 - -룋 -룋 -룋 -룋 -룋 - -료 -료 -료 -료 -료 - -룍 -룍 -룍 -룍 -룍 - -룎 -룎 -룎 -룎 -룎 - -룏 -룏 -룏 -룏 -룏 - -룐 -룐 -룐 -룐 -룐 - -룑 -룑 -룑 -룑 -룑 - -룒 -룒 -룒 -룒 -룒 - -룓 -룓 -룓 -룓 -룓 - -룔 -룔 -룔 -룔 -룔 - -룕 -룕 -룕 -룕 -룕 - -룖 -룖 -룖 -룖 -룖 - -룗 -룗 -룗 -룗 -룗 - -룘 -룘 -룘 -룘 -룘 - -룙 -룙 -룙 -룙 -룙 - -룚 -룚 -룚 -룚 -룚 - -룛 -룛 -룛 -룛 -룛 - -룜 -룜 -룜 -룜 -룜 - -룝 -룝 -룝 -룝 -룝 - -룞 -룞 -룞 -룞 -룞 - -룟 -룟 -룟 -룟 -룟 - -룠 -룠 -룠 -룠 -룠 - -룡 -룡 -룡 -룡 -룡 - -룢 -룢 -룢 -룢 -룢 - -룣 -룣 -룣 -룣 -룣 - -룤 -룤 -룤 -룤 -룤 - -룥 -룥 -룥 -룥 -룥 - -룦 -룦 -룦 -룦 -룦 - -룧 -룧 -룧 -룧 -룧 - -루 -루 -루 -루 -루 - -룩 -룩 -룩 -룩 -룩 - -룪 -룪 -룪 -룪 -룪 - -룫 -룫 -룫 -룫 -룫 - -룬 -룬 -룬 -룬 -룬 - -룭 -룭 -룭 -룭 -룭 - -룮 -룮 -룮 -룮 -룮 - -룯 -룯 -룯 -룯 -룯 - -룰 -룰 -룰 -룰 -룰 - -룱 -룱 -룱 -룱 -룱 - -룲 -룲 -룲 -룲 -룲 - -룳 -룳 -룳 -룳 -룳 - -룴 -룴 -룴 -룴 -룴 - -룵 -룵 -룵 -룵 -룵 - -룶 -룶 -룶 -룶 -룶 - -룷 -룷 -룷 -룷 -룷 - -룸 -룸 -룸 -룸 -룸 - -룹 -룹 -룹 -룹 -룹 - -룺 -룺 -룺 -룺 -룺 - -룻 -룻 -룻 -룻 -룻 - -룼 -룼 -룼 -룼 -룼 - -룽 -룽 -룽 -룽 -룽 - -룾 -룾 -룾 -룾 -룾 - -룿 -룿 -룿 -룿 -룿 - -뤀 -뤀 -뤀 -뤀 -뤀 - -뤁 -뤁 -뤁 -뤁 -뤁 - -뤂 -뤂 -뤂 -뤂 -뤂 - -뤃 -뤃 -뤃 -뤃 -뤃 - -뤄 -뤄 -뤄 -뤄 -뤄 - -뤅 -뤅 -뤅 -뤅 -뤅 - -뤆 -뤆 -뤆 -뤆 -뤆 - -뤇 -뤇 -뤇 -뤇 -뤇 - -뤈 -뤈 -뤈 -뤈 -뤈 - -뤉 -뤉 -뤉 -뤉 -뤉 - -뤊 -뤊 -뤊 -뤊 -뤊 - -뤋 -뤋 -뤋 -뤋 -뤋 - -뤌 -뤌 -뤌 -뤌 -뤌 - -뤍 -뤍 -뤍 -뤍 -뤍 - -뤎 -뤎 -뤎 -뤎 -뤎 - -뤏 -뤏 -뤏 -뤏 -뤏 - -뤐 -뤐 -뤐 -뤐 -뤐 - -뤑 -뤑 -뤑 -뤑 -뤑 - -뤒 -뤒 -뤒 -뤒 -뤒 - -뤓 -뤓 -뤓 -뤓 -뤓 - -뤔 -뤔 -뤔 -뤔 -뤔 - -뤕 -뤕 -뤕 -뤕 -뤕 - -뤖 -뤖 -뤖 -뤖 -뤖 - -뤗 -뤗 -뤗 -뤗 -뤗 - -뤘 -뤘 -뤘 -뤘 -뤘 - -뤙 -뤙 -뤙 -뤙 -뤙 - -뤚 -뤚 -뤚 -뤚 -뤚 - -뤛 -뤛 -뤛 -뤛 -뤛 - -뤜 -뤜 -뤜 -뤜 -뤜 - -뤝 -뤝 -뤝 -뤝 -뤝 - -뤞 -뤞 -뤞 -뤞 -뤞 - -뤟 -뤟 -뤟 -뤟 -뤟 - -뤠 -뤠 -뤠 -뤠 -뤠 - -뤡 -뤡 -뤡 -뤡 -뤡 - -뤢 -뤢 -뤢 -뤢 -뤢 - -뤣 -뤣 -뤣 -뤣 -뤣 - -뤤 -뤤 -뤤 -뤤 -뤤 - -뤥 -뤥 -뤥 -뤥 -뤥 - -뤦 -뤦 -뤦 -뤦 -뤦 - -뤧 -뤧 -뤧 -뤧 -뤧 - -뤨 -뤨 -뤨 -뤨 -뤨 - -뤩 -뤩 -뤩 -뤩 -뤩 - -뤪 -뤪 -뤪 -뤪 -뤪 - -뤫 -뤫 -뤫 -뤫 -뤫 - -뤬 -뤬 -뤬 -뤬 -뤬 - -뤭 -뤭 -뤭 -뤭 -뤭 - -뤮 -뤮 -뤮 -뤮 -뤮 - -뤯 -뤯 -뤯 -뤯 -뤯 - -뤰 -뤰 -뤰 -뤰 -뤰 - -뤱 -뤱 -뤱 -뤱 -뤱 - -뤲 -뤲 -뤲 -뤲 -뤲 - -뤳 -뤳 -뤳 -뤳 -뤳 - -뤴 -뤴 -뤴 -뤴 -뤴 - -뤵 -뤵 -뤵 -뤵 -뤵 - -뤶 -뤶 -뤶 -뤶 -뤶 - -뤷 -뤷 -뤷 -뤷 -뤷 - -뤸 -뤸 -뤸 -뤸 -뤸 - -뤹 -뤹 -뤹 -뤹 -뤹 - -뤺 -뤺 -뤺 -뤺 -뤺 - -뤻 -뤻 -뤻 -뤻 -뤻 - -뤼 -뤼 -뤼 -뤼 -뤼 - -뤽 -뤽 -뤽 -뤽 -뤽 - -뤾 -뤾 -뤾 -뤾 -뤾 - -뤿 -뤿 -뤿 -뤿 -뤿 - -륀 -륀 -륀 -륀 -륀 - -륁 -륁 -륁 -륁 -륁 - -륂 -륂 -륂 -륂 -륂 - -륃 -륃 -륃 -륃 -륃 - -륄 -륄 -륄 -륄 -륄 - -륅 -륅 -륅 -륅 -륅 - -륆 -륆 -륆 -륆 -륆 - -륇 -륇 -륇 -륇 -륇 - -륈 -륈 -륈 -륈 -륈 - -륉 -륉 -륉 -륉 -륉 - -륊 -륊 -륊 -륊 -륊 - -륋 -륋 -륋 -륋 -륋 - -륌 -륌 -륌 -륌 -륌 - -륍 -륍 -륍 -륍 -륍 - -륎 -륎 -륎 -륎 -륎 - -륏 -륏 -륏 -륏 -륏 - -륐 -륐 -륐 -륐 -륐 - -륑 -륑 -륑 -륑 -륑 - -륒 -륒 -륒 -륒 -륒 - -륓 -륓 -륓 -륓 -륓 - -륔 -륔 -륔 -륔 -륔 - -륕 -륕 -륕 -륕 -륕 - -륖 -륖 -륖 -륖 -륖 - -륗 -륗 -륗 -륗 -륗 - -류 -류 -류 -류 -류 - -륙 -륙 -륙 -륙 -륙 - -륚 -륚 -륚 -륚 -륚 - -륛 -륛 -륛 -륛 -륛 - -륜 -륜 -륜 -륜 -륜 - -륝 -륝 -륝 -륝 -륝 - -륞 -륞 -륞 -륞 -륞 - -륟 -륟 -륟 -륟 -륟 - -률 -률 -률 -률 -률 - -륡 -륡 -륡 -륡 -륡 - -륢 -륢 -륢 -륢 -륢 - -륣 -륣 -륣 -륣 -륣 - -륤 -륤 -륤 -륤 -륤 - -륥 -륥 -륥 -륥 -륥 - -륦 -륦 -륦 -륦 -륦 - -륧 -륧 -륧 -륧 -륧 - -륨 -륨 -륨 -륨 -륨 - -륩 -륩 -륩 -륩 -륩 - -륪 -륪 -륪 -륪 -륪 - -륫 -륫 -륫 -륫 -륫 - -륬 -륬 -륬 -륬 -륬 - -륭 -륭 -륭 -륭 -륭 - -륮 -륮 -륮 -륮 -륮 - -륯 -륯 -륯 -륯 -륯 - -륰 -륰 -륰 -륰 -륰 - -륱 -륱 -륱 -륱 -륱 - -륲 -륲 -륲 -륲 -륲 - -륳 -륳 -륳 -륳 -륳 - -르 -르 -르 -르 -르 - -륵 -륵 -륵 -륵 -륵 - -륶 -륶 -륶 -륶 -륶 - -륷 -륷 -륷 -륷 -륷 - -른 -른 -른 -른 -른 - -륹 -륹 -륹 -륹 -륹 - -륺 -륺 -륺 -륺 -륺 - -륻 -륻 -륻 -륻 -륻 - -를 -를 -를 -를 -를 - -륽 -륽 -륽 -륽 -륽 - -륾 -륾 -륾 -륾 -륾 - -륿 -륿 -륿 -륿 -륿 - -릀 -릀 -릀 -릀 -릀 - -릁 -릁 -릁 -릁 -릁 - -릂 -릂 -릂 -릂 -릂 - -릃 -릃 -릃 -릃 -릃 - -름 -름 -름 -름 -름 - -릅 -릅 -릅 -릅 -릅 - -릆 -릆 -릆 -릆 -릆 - -릇 -릇 -릇 -릇 -릇 - -릈 -릈 -릈 -릈 -릈 - -릉 -릉 -릉 -릉 -릉 - -릊 -릊 -릊 -릊 -릊 - -릋 -릋 -릋 -릋 -릋 - -릌 -릌 -릌 -릌 -릌 - -릍 -릍 -릍 -릍 -릍 - -릎 -릎 -릎 -릎 -릎 - -릏 -릏 -릏 -릏 -릏 - -릐 -릐 -릐 -릐 -릐 - -릑 -릑 -릑 -릑 -릑 - -릒 -릒 -릒 -릒 -릒 - -릓 -릓 -릓 -릓 -릓 - -릔 -릔 -릔 -릔 -릔 - -릕 -릕 -릕 -릕 -릕 - -릖 -릖 -릖 -릖 -릖 - -릗 -릗 -릗 -릗 -릗 - -릘 -릘 -릘 -릘 -릘 - -릙 -릙 -릙 -릙 -릙 - -릚 -릚 -릚 -릚 -릚 - -릛 -릛 -릛 -릛 -릛 - -릜 -릜 -릜 -릜 -릜 - -릝 -릝 -릝 -릝 -릝 - -릞 -릞 -릞 -릞 -릞 - -릟 -릟 -릟 -릟 -릟 - -릠 -릠 -릠 -릠 -릠 - -릡 -릡 -릡 -릡 -릡 - -릢 -릢 -릢 -릢 -릢 - -릣 -릣 -릣 -릣 -릣 - -릤 -릤 -릤 -릤 -릤 - -릥 -릥 -릥 -릥 -릥 - -릦 -릦 -릦 -릦 -릦 - -릧 -릧 -릧 -릧 -릧 - -릨 -릨 -릨 -릨 -릨 - -릩 -릩 -릩 -릩 -릩 - -릪 -릪 -릪 -릪 -릪 - -릫 -릫 -릫 -릫 -릫 - -리 -리 -리 -리 -리 - -릭 -릭 -릭 -릭 -릭 - -릮 -릮 -릮 -릮 -릮 - -릯 -릯 -릯 -릯 -릯 - -린 -린 -린 -린 -린 - -릱 -릱 -릱 -릱 -릱 - -릲 -릲 -릲 -릲 -릲 - -릳 -릳 -릳 -릳 -릳 - -릴 -릴 -릴 -릴 -릴 - -릵 -릵 -릵 -릵 -릵 - -릶 -릶 -릶 -릶 -릶 - -릷 -릷 -릷 -릷 -릷 - -릸 -릸 -릸 -릸 -릸 - -릹 -릹 -릹 -릹 -릹 - -릺 -릺 -릺 -릺 -릺 - -릻 -릻 -릻 -릻 -릻 - -림 -림 -림 -림 -림 - -립 -립 -립 -립 -립 - -릾 -릾 -릾 -릾 -릾 - -릿 -릿 -릿 -릿 -릿 - -맀 -맀 -맀 -맀 -맀 - -링 -링 -링 -링 -링 - -맂 -맂 -맂 -맂 -맂 - -맃 -맃 -맃 -맃 -맃 - -맄 -맄 -맄 -맄 -맄 - -맅 -맅 -맅 -맅 -맅 - -맆 -맆 -맆 -맆 -맆 - -맇 -맇 -맇 -맇 -맇 - -마 -마 -마 -마 -마 - -막 -막 -막 -막 -막 - -맊 -맊 -맊 -맊 -맊 - -맋 -맋 -맋 -맋 -맋 - -만 -만 -만 -만 -만 - -맍 -맍 -맍 -맍 -맍 - -많 -많 -많 -많 -많 - -맏 -맏 -맏 -맏 -맏 - -말 -말 -말 -말 -말 - -맑 -맑 -맑 -맑 -맑 - -맒 -맒 -맒 -맒 -맒 - -맓 -맓 -맓 -맓 -맓 - -맔 -맔 -맔 -맔 -맔 - -맕 -맕 -맕 -맕 -맕 - -맖 -맖 -맖 -맖 -맖 - -맗 -맗 -맗 -맗 -맗 - -맘 -맘 -맘 -맘 -맘 - -맙 -맙 -맙 -맙 -맙 - -맚 -맚 -맚 -맚 -맚 - -맛 -맛 -맛 -맛 -맛 - -맜 -맜 -맜 -맜 -맜 - -망 -망 -망 -망 -망 - -맞 -맞 -맞 -맞 -맞 - -맟 -맟 -맟 -맟 -맟 - -맠 -맠 -맠 -맠 -맠 - -맡 -맡 -맡 -맡 -맡 - -맢 -맢 -맢 -맢 -맢 - -맣 -맣 -맣 -맣 -맣 - -매 -매 -매 -매 -매 - -맥 -맥 -맥 -맥 -맥 - -맦 -맦 -맦 -맦 -맦 - -맧 -맧 -맧 -맧 -맧 - -맨 -맨 -맨 -맨 -맨 - -맩 -맩 -맩 -맩 -맩 - -맪 -맪 -맪 -맪 -맪 - -맫 -맫 -맫 -맫 -맫 - -맬 -맬 -맬 -맬 -맬 - -맭 -맭 -맭 -맭 -맭 - -맮 -맮 -맮 -맮 -맮 - -맯 -맯 -맯 -맯 -맯 - -맰 -맰 -맰 -맰 -맰 - -맱 -맱 -맱 -맱 -맱 - -맲 -맲 -맲 -맲 -맲 - -맳 -맳 -맳 -맳 -맳 - -맴 -맴 -맴 -맴 -맴 - -맵 -맵 -맵 -맵 -맵 - -맶 -맶 -맶 -맶 -맶 - -맷 -맷 -맷 -맷 -맷 - -맸 -맸 -맸 -맸 -맸 - -맹 -맹 -맹 -맹 -맹 - -맺 -맺 -맺 -맺 -맺 - -맻 -맻 -맻 -맻 -맻 - -맼 -맼 -맼 -맼 -맼 - -맽 -맽 -맽 -맽 -맽 - -맾 -맾 -맾 -맾 -맾 - -맿 -맿 -맿 -맿 -맿 - -먀 -먀 -먀 -먀 -먀 - -먁 -먁 -먁 -먁 -먁 - -먂 -먂 -먂 -먂 -먂 - -먃 -먃 -먃 -먃 -먃 - -먄 -먄 -먄 -먄 -먄 - -먅 -먅 -먅 -먅 -먅 - -먆 -먆 -먆 -먆 -먆 - -먇 -먇 -먇 -먇 -먇 - -먈 -먈 -먈 -먈 -먈 - -먉 -먉 -먉 -먉 -먉 - -먊 -먊 -먊 -먊 -먊 - -먋 -먋 -먋 -먋 -먋 - -먌 -먌 -먌 -먌 -먌 - -먍 -먍 -먍 -먍 -먍 - -먎 -먎 -먎 -먎 -먎 - -먏 -먏 -먏 -먏 -먏 - -먐 -먐 -먐 -먐 -먐 - -먑 -먑 -먑 -먑 -먑 - -먒 -먒 -먒 -먒 -먒 - -먓 -먓 -먓 -먓 -먓 - -먔 -먔 -먔 -먔 -먔 - -먕 -먕 -먕 -먕 -먕 - -먖 -먖 -먖 -먖 -먖 - -먗 -먗 -먗 -먗 -먗 - -먘 -먘 -먘 -먘 -먘 - -먙 -먙 -먙 -먙 -먙 - -먚 -먚 -먚 -먚 -먚 - -먛 -먛 -먛 -먛 -먛 - -먜 -먜 -먜 -먜 -먜 - -먝 -먝 -먝 -먝 -먝 - -먞 -먞 -먞 -먞 -먞 - -먟 -먟 -먟 -먟 -먟 - -먠 -먠 -먠 -먠 -먠 - -먡 -먡 -먡 -먡 -먡 - -먢 -먢 -먢 -먢 -먢 - -먣 -먣 -먣 -먣 -먣 - -먤 -먤 -먤 -먤 -먤 - -먥 -먥 -먥 -먥 -먥 - -먦 -먦 -먦 -먦 -먦 - -먧 -먧 -먧 -먧 -먧 - -먨 -먨 -먨 -먨 -먨 - -먩 -먩 -먩 -먩 -먩 - -먪 -먪 -먪 -먪 -먪 - -먫 -먫 -먫 -먫 -먫 - -먬 -먬 -먬 -먬 -먬 - -먭 -먭 -먭 -먭 -먭 - -먮 -먮 -먮 -먮 -먮 - -먯 -먯 -먯 -먯 -먯 - -먰 -먰 -먰 -먰 -먰 - -먱 -먱 -먱 -먱 -먱 - -먲 -먲 -먲 -먲 -먲 - -먳 -먳 -먳 -먳 -먳 - -먴 -먴 -먴 -먴 -먴 - -먵 -먵 -먵 -먵 -먵 - -먶 -먶 -먶 -먶 -먶 - -먷 -먷 -먷 -먷 -먷 - -머 -머 -머 -머 -머 - -먹 -먹 -먹 -먹 -먹 - -먺 -먺 -먺 -먺 -먺 - -먻 -먻 -먻 -먻 -먻 - -먼 -먼 -먼 -먼 -먼 - -먽 -먽 -먽 -먽 -먽 - -먾 -먾 -먾 -먾 -먾 - -먿 -먿 -먿 -먿 -먿 - -멀 -멀 -멀 -멀 -멀 - -멁 -멁 -멁 -멁 -멁 - -멂 -멂 -멂 -멂 -멂 - -멃 -멃 -멃 -멃 -멃 - -멄 -멄 -멄 -멄 -멄 - -멅 -멅 -멅 -멅 -멅 - -멆 -멆 -멆 -멆 -멆 - -멇 -멇 -멇 -멇 -멇 - -멈 -멈 -멈 -멈 -멈 - -멉 -멉 -멉 -멉 -멉 - -멊 -멊 -멊 -멊 -멊 - -멋 -멋 -멋 -멋 -멋 - -멌 -멌 -멌 -멌 -멌 - -멍 -멍 -멍 -멍 -멍 - -멎 -멎 -멎 -멎 -멎 - -멏 -멏 -멏 -멏 -멏 - -멐 -멐 -멐 -멐 -멐 - -멑 -멑 -멑 -멑 -멑 - -멒 -멒 -멒 -멒 -멒 - -멓 -멓 -멓 -멓 -멓 - -메 -메 -메 -메 -메 - -멕 -멕 -멕 -멕 -멕 - -멖 -멖 -멖 -멖 -멖 - -멗 -멗 -멗 -멗 -멗 - -멘 -멘 -멘 -멘 -멘 - -멙 -멙 -멙 -멙 -멙 - -멚 -멚 -멚 -멚 -멚 - -멛 -멛 -멛 -멛 -멛 - -멜 -멜 -멜 -멜 -멜 - -멝 -멝 -멝 -멝 -멝 - -멞 -멞 -멞 -멞 -멞 - -멟 -멟 -멟 -멟 -멟 - -멠 -멠 -멠 -멠 -멠 - -멡 -멡 -멡 -멡 -멡 - -멢 -멢 -멢 -멢 -멢 - -멣 -멣 -멣 -멣 -멣 - -멤 -멤 -멤 -멤 -멤 - -멥 -멥 -멥 -멥 -멥 - -멦 -멦 -멦 -멦 -멦 - -멧 -멧 -멧 -멧 -멧 - -멨 -멨 -멨 -멨 -멨 - -멩 -멩 -멩 -멩 -멩 - -멪 -멪 -멪 -멪 -멪 - -멫 -멫 -멫 -멫 -멫 - -멬 -멬 -멬 -멬 -멬 - -멭 -멭 -멭 -멭 -멭 - -멮 -멮 -멮 -멮 -멮 - -멯 -멯 -멯 -멯 -멯 - -며 -며 -며 -며 -며 - -멱 -멱 -멱 -멱 -멱 - -멲 -멲 -멲 -멲 -멲 - -멳 -멳 -멳 -멳 -멳 - -면 -면 -면 -면 -면 - -멵 -멵 -멵 -멵 -멵 - -멶 -멶 -멶 -멶 -멶 - -멷 -멷 -멷 -멷 -멷 - -멸 -멸 -멸 -멸 -멸 - -멹 -멹 -멹 -멹 -멹 - -멺 -멺 -멺 -멺 -멺 - -멻 -멻 -멻 -멻 -멻 - -멼 -멼 -멼 -멼 -멼 - -멽 -멽 -멽 -멽 -멽 - -멾 -멾 -멾 -멾 -멾 - -멿 -멿 -멿 -멿 -멿 - -몀 -몀 -몀 -몀 -몀 - -몁 -몁 -몁 -몁 -몁 - -몂 -몂 -몂 -몂 -몂 - -몃 -몃 -몃 -몃 -몃 - -몄 -몄 -몄 -몄 -몄 - -명 -명 -명 -명 -명 - -몆 -몆 -몆 -몆 -몆 - -몇 -몇 -몇 -몇 -몇 - -몈 -몈 -몈 -몈 -몈 - -몉 -몉 -몉 -몉 -몉 - -몊 -몊 -몊 -몊 -몊 - -몋 -몋 -몋 -몋 -몋 - -몌 -몌 -몌 -몌 -몌 - -몍 -몍 -몍 -몍 -몍 - -몎 -몎 -몎 -몎 -몎 - -몏 -몏 -몏 -몏 -몏 - -몐 -몐 -몐 -몐 -몐 - -몑 -몑 -몑 -몑 -몑 - -몒 -몒 -몒 -몒 -몒 - -몓 -몓 -몓 -몓 -몓 - -몔 -몔 -몔 -몔 -몔 - -몕 -몕 -몕 -몕 -몕 - -몖 -몖 -몖 -몖 -몖 - -몗 -몗 -몗 -몗 -몗 - -몘 -몘 -몘 -몘 -몘 - -몙 -몙 -몙 -몙 -몙 - -몚 -몚 -몚 -몚 -몚 - -몛 -몛 -몛 -몛 -몛 - -몜 -몜 -몜 -몜 -몜 - -몝 -몝 -몝 -몝 -몝 - -몞 -몞 -몞 -몞 -몞 - -몟 -몟 -몟 -몟 -몟 - -몠 -몠 -몠 -몠 -몠 - -몡 -몡 -몡 -몡 -몡 - -몢 -몢 -몢 -몢 -몢 - -몣 -몣 -몣 -몣 -몣 - -몤 -몤 -몤 -몤 -몤 - -몥 -몥 -몥 -몥 -몥 - -몦 -몦 -몦 -몦 -몦 - -몧 -몧 -몧 -몧 -몧 - -모 -모 -모 -모 -모 - -목 -목 -목 -목 -목 - -몪 -몪 -몪 -몪 -몪 - -몫 -몫 -몫 -몫 -몫 - -몬 -몬 -몬 -몬 -몬 - -몭 -몭 -몭 -몭 -몭 - -몮 -몮 -몮 -몮 -몮 - -몯 -몯 -몯 -몯 -몯 - -몰 -몰 -몰 -몰 -몰 - -몱 -몱 -몱 -몱 -몱 - -몲 -몲 -몲 -몲 -몲 - -몳 -몳 -몳 -몳 -몳 - -몴 -몴 -몴 -몴 -몴 - -몵 -몵 -몵 -몵 -몵 - -몶 -몶 -몶 -몶 -몶 - -몷 -몷 -몷 -몷 -몷 - -몸 -몸 -몸 -몸 -몸 - -몹 -몹 -몹 -몹 -몹 - -몺 -몺 -몺 -몺 -몺 - -못 -못 -못 -못 -못 - -몼 -몼 -몼 -몼 -몼 - -몽 -몽 -몽 -몽 -몽 - -몾 -몾 -몾 -몾 -몾 - -몿 -몿 -몿 -몿 -몿 - -뫀 -뫀 -뫀 -뫀 -뫀 - -뫁 -뫁 -뫁 -뫁 -뫁 - -뫂 -뫂 -뫂 -뫂 -뫂 - -뫃 -뫃 -뫃 -뫃 -뫃 - -뫄 -뫄 -뫄 -뫄 -뫄 - -뫅 -뫅 -뫅 -뫅 -뫅 - -뫆 -뫆 -뫆 -뫆 -뫆 - -뫇 -뫇 -뫇 -뫇 -뫇 - -뫈 -뫈 -뫈 -뫈 -뫈 - -뫉 -뫉 -뫉 -뫉 -뫉 - -뫊 -뫊 -뫊 -뫊 -뫊 - -뫋 -뫋 -뫋 -뫋 -뫋 - -뫌 -뫌 -뫌 -뫌 -뫌 - -뫍 -뫍 -뫍 -뫍 -뫍 - -뫎 -뫎 -뫎 -뫎 -뫎 - -뫏 -뫏 -뫏 -뫏 -뫏 - -뫐 -뫐 -뫐 -뫐 -뫐 - -뫑 -뫑 -뫑 -뫑 -뫑 - -뫒 -뫒 -뫒 -뫒 -뫒 - -뫓 -뫓 -뫓 -뫓 -뫓 - -뫔 -뫔 -뫔 -뫔 -뫔 - -뫕 -뫕 -뫕 -뫕 -뫕 - -뫖 -뫖 -뫖 -뫖 -뫖 - -뫗 -뫗 -뫗 -뫗 -뫗 - -뫘 -뫘 -뫘 -뫘 -뫘 - -뫙 -뫙 -뫙 -뫙 -뫙 - -뫚 -뫚 -뫚 -뫚 -뫚 - -뫛 -뫛 -뫛 -뫛 -뫛 - -뫜 -뫜 -뫜 -뫜 -뫜 - -뫝 -뫝 -뫝 -뫝 -뫝 - -뫞 -뫞 -뫞 -뫞 -뫞 - -뫟 -뫟 -뫟 -뫟 -뫟 - -뫠 -뫠 -뫠 -뫠 -뫠 - -뫡 -뫡 -뫡 -뫡 -뫡 - -뫢 -뫢 -뫢 -뫢 -뫢 - -뫣 -뫣 -뫣 -뫣 -뫣 - -뫤 -뫤 -뫤 -뫤 -뫤 - -뫥 -뫥 -뫥 -뫥 -뫥 - -뫦 -뫦 -뫦 -뫦 -뫦 - -뫧 -뫧 -뫧 -뫧 -뫧 - -뫨 -뫨 -뫨 -뫨 -뫨 - -뫩 -뫩 -뫩 -뫩 -뫩 - -뫪 -뫪 -뫪 -뫪 -뫪 - -뫫 -뫫 -뫫 -뫫 -뫫 - -뫬 -뫬 -뫬 -뫬 -뫬 - -뫭 -뫭 -뫭 -뫭 -뫭 - -뫮 -뫮 -뫮 -뫮 -뫮 - -뫯 -뫯 -뫯 -뫯 -뫯 - -뫰 -뫰 -뫰 -뫰 -뫰 - -뫱 -뫱 -뫱 -뫱 -뫱 - -뫲 -뫲 -뫲 -뫲 -뫲 - -뫳 -뫳 -뫳 -뫳 -뫳 - -뫴 -뫴 -뫴 -뫴 -뫴 - -뫵 -뫵 -뫵 -뫵 -뫵 - -뫶 -뫶 -뫶 -뫶 -뫶 - -뫷 -뫷 -뫷 -뫷 -뫷 - -뫸 -뫸 -뫸 -뫸 -뫸 - -뫹 -뫹 -뫹 -뫹 -뫹 - -뫺 -뫺 -뫺 -뫺 -뫺 - -뫻 -뫻 -뫻 -뫻 -뫻 - -뫼 -뫼 -뫼 -뫼 -뫼 - -뫽 -뫽 -뫽 -뫽 -뫽 - -뫾 -뫾 -뫾 -뫾 -뫾 - -뫿 -뫿 -뫿 -뫿 -뫿 - -묀 -묀 -묀 -묀 -묀 - -묁 -묁 -묁 -묁 -묁 - -묂 -묂 -묂 -묂 -묂 - -묃 -묃 -묃 -묃 -묃 - -묄 -묄 -묄 -묄 -묄 - -묅 -묅 -묅 -묅 -묅 - -묆 -묆 -묆 -묆 -묆 - -묇 -묇 -묇 -묇 -묇 - -묈 -묈 -묈 -묈 -묈 - -묉 -묉 -묉 -묉 -묉 - -묊 -묊 -묊 -묊 -묊 - -묋 -묋 -묋 -묋 -묋 - -묌 -묌 -묌 -묌 -묌 - -묍 -묍 -묍 -묍 -묍 - -묎 -묎 -묎 -묎 -묎 - -묏 -묏 -묏 -묏 -묏 - -묐 -묐 -묐 -묐 -묐 - -묑 -묑 -묑 -묑 -묑 - -묒 -묒 -묒 -묒 -묒 - -묓 -묓 -묓 -묓 -묓 - -묔 -묔 -묔 -묔 -묔 - -묕 -묕 -묕 -묕 -묕 - -묖 -묖 -묖 -묖 -묖 - -묗 -묗 -묗 -묗 -묗 - -묘 -묘 -묘 -묘 -묘 - -묙 -묙 -묙 -묙 -묙 - -묚 -묚 -묚 -묚 -묚 - -묛 -묛 -묛 -묛 -묛 - -묜 -묜 -묜 -묜 -묜 - -묝 -묝 -묝 -묝 -묝 - -묞 -묞 -묞 -묞 -묞 - -묟 -묟 -묟 -묟 -묟 - -묠 -묠 -묠 -묠 -묠 - -묡 -묡 -묡 -묡 -묡 - -묢 -묢 -묢 -묢 -묢 - -묣 -묣 -묣 -묣 -묣 - -묤 -묤 -묤 -묤 -묤 - -묥 -묥 -묥 -묥 -묥 - -묦 -묦 -묦 -묦 -묦 - -묧 -묧 -묧 -묧 -묧 - -묨 -묨 -묨 -묨 -묨 - -묩 -묩 -묩 -묩 -묩 - -묪 -묪 -묪 -묪 -묪 - -묫 -묫 -묫 -묫 -묫 - -묬 -묬 -묬 -묬 -묬 - -묭 -묭 -묭 -묭 -묭 - -묮 -묮 -묮 -묮 -묮 - -묯 -묯 -묯 -묯 -묯 - -묰 -묰 -묰 -묰 -묰 - -묱 -묱 -묱 -묱 -묱 - -묲 -묲 -묲 -묲 -묲 - -묳 -묳 -묳 -묳 -묳 - -무 -무 -무 -무 -무 - -묵 -묵 -묵 -묵 -묵 - -묶 -묶 -묶 -묶 -묶 - -묷 -묷 -묷 -묷 -묷 - -문 -문 -문 -문 -문 - -묹 -묹 -묹 -묹 -묹 - -묺 -묺 -묺 -묺 -묺 - -묻 -묻 -묻 -묻 -묻 - -물 -물 -물 -물 -물 - -묽 -묽 -묽 -묽 -묽 - -묾 -묾 -묾 -묾 -묾 - -묿 -묿 -묿 -묿 -묿 - -뭀 -뭀 -뭀 -뭀 -뭀 - -뭁 -뭁 -뭁 -뭁 -뭁 - -뭂 -뭂 -뭂 -뭂 -뭂 - -뭃 -뭃 -뭃 -뭃 -뭃 - -뭄 -뭄 -뭄 -뭄 -뭄 - -뭅 -뭅 -뭅 -뭅 -뭅 - -뭆 -뭆 -뭆 -뭆 -뭆 - -뭇 -뭇 -뭇 -뭇 -뭇 - -뭈 -뭈 -뭈 -뭈 -뭈 - -뭉 -뭉 -뭉 -뭉 -뭉 - -뭊 -뭊 -뭊 -뭊 -뭊 - -뭋 -뭋 -뭋 -뭋 -뭋 - -뭌 -뭌 -뭌 -뭌 -뭌 - -뭍 -뭍 -뭍 -뭍 -뭍 - -뭎 -뭎 -뭎 -뭎 -뭎 - -뭏 -뭏 -뭏 -뭏 -뭏 - -뭐 -뭐 -뭐 -뭐 -뭐 - -뭑 -뭑 -뭑 -뭑 -뭑 - -뭒 -뭒 -뭒 -뭒 -뭒 - -뭓 -뭓 -뭓 -뭓 -뭓 - -뭔 -뭔 -뭔 -뭔 -뭔 - -뭕 -뭕 -뭕 -뭕 -뭕 - -뭖 -뭖 -뭖 -뭖 -뭖 - -뭗 -뭗 -뭗 -뭗 -뭗 - -뭘 -뭘 -뭘 -뭘 -뭘 - -뭙 -뭙 -뭙 -뭙 -뭙 - -뭚 -뭚 -뭚 -뭚 -뭚 - -뭛 -뭛 -뭛 -뭛 -뭛 - -뭜 -뭜 -뭜 -뭜 -뭜 - -뭝 -뭝 -뭝 -뭝 -뭝 - -뭞 -뭞 -뭞 -뭞 -뭞 - -뭟 -뭟 -뭟 -뭟 -뭟 - -뭠 -뭠 -뭠 -뭠 -뭠 - -뭡 -뭡 -뭡 -뭡 -뭡 - -뭢 -뭢 -뭢 -뭢 -뭢 - -뭣 -뭣 -뭣 -뭣 -뭣 - -뭤 -뭤 -뭤 -뭤 -뭤 - -뭥 -뭥 -뭥 -뭥 -뭥 - -뭦 -뭦 -뭦 -뭦 -뭦 - -뭧 -뭧 -뭧 -뭧 -뭧 - -뭨 -뭨 -뭨 -뭨 -뭨 - -뭩 -뭩 -뭩 -뭩 -뭩 - -뭪 -뭪 -뭪 -뭪 -뭪 - -뭫 -뭫 -뭫 -뭫 -뭫 - -뭬 -뭬 -뭬 -뭬 -뭬 - -뭭 -뭭 -뭭 -뭭 -뭭 - -뭮 -뭮 -뭮 -뭮 -뭮 - -뭯 -뭯 -뭯 -뭯 -뭯 - -뭰 -뭰 -뭰 -뭰 -뭰 - -뭱 -뭱 -뭱 -뭱 -뭱 - -뭲 -뭲 -뭲 -뭲 -뭲 - -뭳 -뭳 -뭳 -뭳 -뭳 - -뭴 -뭴 -뭴 -뭴 -뭴 - -뭵 -뭵 -뭵 -뭵 -뭵 - -뭶 -뭶 -뭶 -뭶 -뭶 - -뭷 -뭷 -뭷 -뭷 -뭷 - -뭸 -뭸 -뭸 -뭸 -뭸 - -뭹 -뭹 -뭹 -뭹 -뭹 - -뭺 -뭺 -뭺 -뭺 -뭺 - -뭻 -뭻 -뭻 -뭻 -뭻 - -뭼 -뭼 -뭼 -뭼 -뭼 - -뭽 -뭽 -뭽 -뭽 -뭽 - -뭾 -뭾 -뭾 -뭾 -뭾 - -뭿 -뭿 -뭿 -뭿 -뭿 - -뮀 -뮀 -뮀 -뮀 -뮀 - -뮁 -뮁 -뮁 -뮁 -뮁 - -뮂 -뮂 -뮂 -뮂 -뮂 - -뮃 -뮃 -뮃 -뮃 -뮃 - -뮄 -뮄 -뮄 -뮄 -뮄 - -뮅 -뮅 -뮅 -뮅 -뮅 - -뮆 -뮆 -뮆 -뮆 -뮆 - -뮇 -뮇 -뮇 -뮇 -뮇 - -뮈 -뮈 -뮈 -뮈 -뮈 - -뮉 -뮉 -뮉 -뮉 -뮉 - -뮊 -뮊 -뮊 -뮊 -뮊 - -뮋 -뮋 -뮋 -뮋 -뮋 - -뮌 -뮌 -뮌 -뮌 -뮌 - -뮍 -뮍 -뮍 -뮍 -뮍 - -뮎 -뮎 -뮎 -뮎 -뮎 - -뮏 -뮏 -뮏 -뮏 -뮏 - -뮐 -뮐 -뮐 -뮐 -뮐 - -뮑 -뮑 -뮑 -뮑 -뮑 - -뮒 -뮒 -뮒 -뮒 -뮒 - -뮓 -뮓 -뮓 -뮓 -뮓 - -뮔 -뮔 -뮔 -뮔 -뮔 - -뮕 -뮕 -뮕 -뮕 -뮕 - -뮖 -뮖 -뮖 -뮖 -뮖 - -뮗 -뮗 -뮗 -뮗 -뮗 - -뮘 -뮘 -뮘 -뮘 -뮘 - -뮙 -뮙 -뮙 -뮙 -뮙 - -뮚 -뮚 -뮚 -뮚 -뮚 - -뮛 -뮛 -뮛 -뮛 -뮛 - -뮜 -뮜 -뮜 -뮜 -뮜 - -뮝 -뮝 -뮝 -뮝 -뮝 - -뮞 -뮞 -뮞 -뮞 -뮞 - -뮟 -뮟 -뮟 -뮟 -뮟 - -뮠 -뮠 -뮠 -뮠 -뮠 - -뮡 -뮡 -뮡 -뮡 -뮡 - -뮢 -뮢 -뮢 -뮢 -뮢 - -뮣 -뮣 -뮣 -뮣 -뮣 - -뮤 -뮤 -뮤 -뮤 -뮤 - -뮥 -뮥 -뮥 -뮥 -뮥 - -뮦 -뮦 -뮦 -뮦 -뮦 - -뮧 -뮧 -뮧 -뮧 -뮧 - -뮨 -뮨 -뮨 -뮨 -뮨 - -뮩 -뮩 -뮩 -뮩 -뮩 - -뮪 -뮪 -뮪 -뮪 -뮪 - -뮫 -뮫 -뮫 -뮫 -뮫 - -뮬 -뮬 -뮬 -뮬 -뮬 - -뮭 -뮭 -뮭 -뮭 -뮭 - -뮮 -뮮 -뮮 -뮮 -뮮 - -뮯 -뮯 -뮯 -뮯 -뮯 - -뮰 -뮰 -뮰 -뮰 -뮰 - -뮱 -뮱 -뮱 -뮱 -뮱 - -뮲 -뮲 -뮲 -뮲 -뮲 - -뮳 -뮳 -뮳 -뮳 -뮳 - -뮴 -뮴 -뮴 -뮴 -뮴 - -뮵 -뮵 -뮵 -뮵 -뮵 - -뮶 -뮶 -뮶 -뮶 -뮶 - -뮷 -뮷 -뮷 -뮷 -뮷 - -뮸 -뮸 -뮸 -뮸 -뮸 - -뮹 -뮹 -뮹 -뮹 -뮹 - -뮺 -뮺 -뮺 -뮺 -뮺 - -뮻 -뮻 -뮻 -뮻 -뮻 - -뮼 -뮼 -뮼 -뮼 -뮼 - -뮽 -뮽 -뮽 -뮽 -뮽 - -뮾 -뮾 -뮾 -뮾 -뮾 - -뮿 -뮿 -뮿 -뮿 -뮿 - -므 -므 -므 -므 -므 - -믁 -믁 -믁 -믁 -믁 - -믂 -믂 -믂 -믂 -믂 - -믃 -믃 -믃 -믃 -믃 - -믄 -믄 -믄 -믄 -믄 - -믅 -믅 -믅 -믅 -믅 - -믆 -믆 -믆 -믆 -믆 - -믇 -믇 -믇 -믇 -믇 - -믈 -믈 -믈 -믈 -믈 - -믉 -믉 -믉 -믉 -믉 - -믊 -믊 -믊 -믊 -믊 - -믋 -믋 -믋 -믋 -믋 - -믌 -믌 -믌 -믌 -믌 - -믍 -믍 -믍 -믍 -믍 - -믎 -믎 -믎 -믎 -믎 - -믏 -믏 -믏 -믏 -믏 - -믐 -믐 -믐 -믐 -믐 - -믑 -믑 -믑 -믑 -믑 - -믒 -믒 -믒 -믒 -믒 - -믓 -믓 -믓 -믓 -믓 - -믔 -믔 -믔 -믔 -믔 - -믕 -믕 -믕 -믕 -믕 - -믖 -믖 -믖 -믖 -믖 - -믗 -믗 -믗 -믗 -믗 - -믘 -믘 -믘 -믘 -믘 - -믙 -믙 -믙 -믙 -믙 - -믚 -믚 -믚 -믚 -믚 - -믛 -믛 -믛 -믛 -믛 - -믜 -믜 -믜 -믜 -믜 - -믝 -믝 -믝 -믝 -믝 - -믞 -믞 -믞 -믞 -믞 - -믟 -믟 -믟 -믟 -믟 - -믠 -믠 -믠 -믠 -믠 - -믡 -믡 -믡 -믡 -믡 - -믢 -믢 -믢 -믢 -믢 - -믣 -믣 -믣 -믣 -믣 - -믤 -믤 -믤 -믤 -믤 - -믥 -믥 -믥 -믥 -믥 - -믦 -믦 -믦 -믦 -믦 - -믧 -믧 -믧 -믧 -믧 - -믨 -믨 -믨 -믨 -믨 - -믩 -믩 -믩 -믩 -믩 - -믪 -믪 -믪 -믪 -믪 - -믫 -믫 -믫 -믫 -믫 - -믬 -믬 -믬 -믬 -믬 - -믭 -믭 -믭 -믭 -믭 - -믮 -믮 -믮 -믮 -믮 - -믯 -믯 -믯 -믯 -믯 - -믰 -믰 -믰 -믰 -믰 - -믱 -믱 -믱 -믱 -믱 - -믲 -믲 -믲 -믲 -믲 - -믳 -믳 -믳 -믳 -믳 - -믴 -믴 -믴 -믴 -믴 - -믵 -믵 -믵 -믵 -믵 - -믶 -믶 -믶 -믶 -믶 - -믷 -믷 -믷 -믷 -믷 - -미 -미 -미 -미 -미 - -믹 -믹 -믹 -믹 -믹 - -믺 -믺 -믺 -믺 -믺 - -믻 -믻 -믻 -믻 -믻 - -민 -민 -민 -민 -민 - -믽 -믽 -믽 -믽 -믽 - -믾 -믾 -믾 -믾 -믾 - -믿 -믿 -믿 -믿 -믿 - -밀 -밀 -밀 -밀 -밀 - -밁 -밁 -밁 -밁 -밁 - -밂 -밂 -밂 -밂 -밂 - -밃 -밃 -밃 -밃 -밃 - -밄 -밄 -밄 -밄 -밄 - -밅 -밅 -밅 -밅 -밅 - -밆 -밆 -밆 -밆 -밆 - -밇 -밇 -밇 -밇 -밇 - -밈 -밈 -밈 -밈 -밈 - -밉 -밉 -밉 -밉 -밉 - -밊 -밊 -밊 -밊 -밊 - -밋 -밋 -밋 -밋 -밋 - -밌 -밌 -밌 -밌 -밌 - -밍 -밍 -밍 -밍 -밍 - -밎 -밎 -밎 -밎 -밎 - -및 -및 -및 -및 -및 - -밐 -밐 -밐 -밐 -밐 - -밑 -밑 -밑 -밑 -밑 - -밒 -밒 -밒 -밒 -밒 - -밓 -밓 -밓 -밓 -밓 - -바 -바 -바 -바 -바 - -박 -박 -박 -박 -박 - -밖 -밖 -밖 -밖 -밖 - -밗 -밗 -밗 -밗 -밗 - -반 -반 -반 -반 -반 - -밙 -밙 -밙 -밙 -밙 - -밚 -밚 -밚 -밚 -밚 - -받 -받 -받 -받 -받 - -발 -발 -발 -발 -발 - -밝 -밝 -밝 -밝 -밝 - -밞 -밞 -밞 -밞 -밞 - -밟 -밟 -밟 -밟 -밟 - -밠 -밠 -밠 -밠 -밠 - -밡 -밡 -밡 -밡 -밡 - -밢 -밢 -밢 -밢 -밢 - -밣 -밣 -밣 -밣 -밣 - -밤 -밤 -밤 -밤 -밤 - -밥 -밥 -밥 -밥 -밥 - -밦 -밦 -밦 -밦 -밦 - -밧 -밧 -밧 -밧 -밧 - -밨 -밨 -밨 -밨 -밨 - -방 -방 -방 -방 -방 - -밪 -밪 -밪 -밪 -밪 - -밫 -밫 -밫 -밫 -밫 - -밬 -밬 -밬 -밬 -밬 - -밭 -밭 -밭 -밭 -밭 - -밮 -밮 -밮 -밮 -밮 - -밯 -밯 -밯 -밯 -밯 - -배 -배 -배 -배 -배 - -백 -백 -백 -백 -백 - -밲 -밲 -밲 -밲 -밲 - -밳 -밳 -밳 -밳 -밳 - -밴 -밴 -밴 -밴 -밴 - -밵 -밵 -밵 -밵 -밵 - -밶 -밶 -밶 -밶 -밶 - -밷 -밷 -밷 -밷 -밷 - -밸 -밸 -밸 -밸 -밸 - -밹 -밹 -밹 -밹 -밹 - -밺 -밺 -밺 -밺 -밺 - -밻 -밻 -밻 -밻 -밻 - -밼 -밼 -밼 -밼 -밼 - -밽 -밽 -밽 -밽 -밽 - -밾 -밾 -밾 -밾 -밾 - -밿 -밿 -밿 -밿 -밿 - -뱀 -뱀 -뱀 -뱀 -뱀 - -뱁 -뱁 -뱁 -뱁 -뱁 - -뱂 -뱂 -뱂 -뱂 -뱂 - -뱃 -뱃 -뱃 -뱃 -뱃 - -뱄 -뱄 -뱄 -뱄 -뱄 - -뱅 -뱅 -뱅 -뱅 -뱅 - -뱆 -뱆 -뱆 -뱆 -뱆 - -뱇 -뱇 -뱇 -뱇 -뱇 - -뱈 -뱈 -뱈 -뱈 -뱈 - -뱉 -뱉 -뱉 -뱉 -뱉 - -뱊 -뱊 -뱊 -뱊 -뱊 - -뱋 -뱋 -뱋 -뱋 -뱋 - -뱌 -뱌 -뱌 -뱌 -뱌 - -뱍 -뱍 -뱍 -뱍 -뱍 - -뱎 -뱎 -뱎 -뱎 -뱎 - -뱏 -뱏 -뱏 -뱏 -뱏 - -뱐 -뱐 -뱐 -뱐 -뱐 - -뱑 -뱑 -뱑 -뱑 -뱑 - -뱒 -뱒 -뱒 -뱒 -뱒 - -뱓 -뱓 -뱓 -뱓 -뱓 - -뱔 -뱔 -뱔 -뱔 -뱔 - -뱕 -뱕 -뱕 -뱕 -뱕 - -뱖 -뱖 -뱖 -뱖 -뱖 - -뱗 -뱗 -뱗 -뱗 -뱗 - -뱘 -뱘 -뱘 -뱘 -뱘 - -뱙 -뱙 -뱙 -뱙 -뱙 - -뱚 -뱚 -뱚 -뱚 -뱚 - -뱛 -뱛 -뱛 -뱛 -뱛 - -뱜 -뱜 -뱜 -뱜 -뱜 - -뱝 -뱝 -뱝 -뱝 -뱝 - -뱞 -뱞 -뱞 -뱞 -뱞 - -뱟 -뱟 -뱟 -뱟 -뱟 - -뱠 -뱠 -뱠 -뱠 -뱠 - -뱡 -뱡 -뱡 -뱡 -뱡 - -뱢 -뱢 -뱢 -뱢 -뱢 - -뱣 -뱣 -뱣 -뱣 -뱣 - -뱤 -뱤 -뱤 -뱤 -뱤 - -뱥 -뱥 -뱥 -뱥 -뱥 - -뱦 -뱦 -뱦 -뱦 -뱦 - -뱧 -뱧 -뱧 -뱧 -뱧 - -뱨 -뱨 -뱨 -뱨 -뱨 - -뱩 -뱩 -뱩 -뱩 -뱩 - -뱪 -뱪 -뱪 -뱪 -뱪 - -뱫 -뱫 -뱫 -뱫 -뱫 - -뱬 -뱬 -뱬 -뱬 -뱬 - -뱭 -뱭 -뱭 -뱭 -뱭 - -뱮 -뱮 -뱮 -뱮 -뱮 - -뱯 -뱯 -뱯 -뱯 -뱯 - -뱰 -뱰 -뱰 -뱰 -뱰 - -뱱 -뱱 -뱱 -뱱 -뱱 - -뱲 -뱲 -뱲 -뱲 -뱲 - -뱳 -뱳 -뱳 -뱳 -뱳 - -뱴 -뱴 -뱴 -뱴 -뱴 - -뱵 -뱵 -뱵 -뱵 -뱵 - -뱶 -뱶 -뱶 -뱶 -뱶 - -뱷 -뱷 -뱷 -뱷 -뱷 - -뱸 -뱸 -뱸 -뱸 -뱸 - -뱹 -뱹 -뱹 -뱹 -뱹 - -뱺 -뱺 -뱺 -뱺 -뱺 - -뱻 -뱻 -뱻 -뱻 -뱻 - -뱼 -뱼 -뱼 -뱼 -뱼 - -뱽 -뱽 -뱽 -뱽 -뱽 - -뱾 -뱾 -뱾 -뱾 -뱾 - -뱿 -뱿 -뱿 -뱿 -뱿 - -벀 -벀 -벀 -벀 -벀 - -벁 -벁 -벁 -벁 -벁 - -벂 -벂 -벂 -벂 -벂 - -벃 -벃 -벃 -벃 -벃 - -버 -버 -버 -버 -버 - -벅 -벅 -벅 -벅 -벅 - -벆 -벆 -벆 -벆 -벆 - -벇 -벇 -벇 -벇 -벇 - -번 -번 -번 -번 -번 - -벉 -벉 -벉 -벉 -벉 - -벊 -벊 -벊 -벊 -벊 - -벋 -벋 -벋 -벋 -벋 - -벌 -벌 -벌 -벌 -벌 - -벍 -벍 -벍 -벍 -벍 - -벎 -벎 -벎 -벎 -벎 - -벏 -벏 -벏 -벏 -벏 - -벐 -벐 -벐 -벐 -벐 - -벑 -벑 -벑 -벑 -벑 - -벒 -벒 -벒 -벒 -벒 - -벓 -벓 -벓 -벓 -벓 - -범 -범 -범 -범 -범 - -법 -법 -법 -법 -법 - -벖 -벖 -벖 -벖 -벖 - -벗 -벗 -벗 -벗 -벗 - -벘 -벘 -벘 -벘 -벘 - -벙 -벙 -벙 -벙 -벙 - -벚 -벚 -벚 -벚 -벚 - -벛 -벛 -벛 -벛 -벛 - -벜 -벜 -벜 -벜 -벜 - -벝 -벝 -벝 -벝 -벝 - -벞 -벞 -벞 -벞 -벞 - -벟 -벟 -벟 -벟 -벟 - -베 -베 -베 -베 -베 - -벡 -벡 -벡 -벡 -벡 - -벢 -벢 -벢 -벢 -벢 - -벣 -벣 -벣 -벣 -벣 - -벤 -벤 -벤 -벤 -벤 - -벥 -벥 -벥 -벥 -벥 - -벦 -벦 -벦 -벦 -벦 - -벧 -벧 -벧 -벧 -벧 - -벨 -벨 -벨 -벨 -벨 - -벩 -벩 -벩 -벩 -벩 - -벪 -벪 -벪 -벪 -벪 - -벫 -벫 -벫 -벫 -벫 - -벬 -벬 -벬 -벬 -벬 - -벭 -벭 -벭 -벭 -벭 - -벮 -벮 -벮 -벮 -벮 - -벯 -벯 -벯 -벯 -벯 - -벰 -벰 -벰 -벰 -벰 - -벱 -벱 -벱 -벱 -벱 - -벲 -벲 -벲 -벲 -벲 - -벳 -벳 -벳 -벳 -벳 - -벴 -벴 -벴 -벴 -벴 - -벵 -벵 -벵 -벵 -벵 - -벶 -벶 -벶 -벶 -벶 - -벷 -벷 -벷 -벷 -벷 - -벸 -벸 -벸 -벸 -벸 - -벹 -벹 -벹 -벹 -벹 - -벺 -벺 -벺 -벺 -벺 - -벻 -벻 -벻 -벻 -벻 - -벼 -벼 -벼 -벼 -벼 - -벽 -벽 -벽 -벽 -벽 - -벾 -벾 -벾 -벾 -벾 - -벿 -벿 -벿 -벿 -벿 - -변 -변 -변 -변 -변 - -볁 -볁 -볁 -볁 -볁 - -볂 -볂 -볂 -볂 -볂 - -볃 -볃 -볃 -볃 -볃 - -별 -별 -별 -별 -별 - -볅 -볅 -볅 -볅 -볅 - -볆 -볆 -볆 -볆 -볆 - -볇 -볇 -볇 -볇 -볇 - -볈 -볈 -볈 -볈 -볈 - -볉 -볉 -볉 -볉 -볉 - -볊 -볊 -볊 -볊 -볊 - -볋 -볋 -볋 -볋 -볋 - -볌 -볌 -볌 -볌 -볌 - -볍 -볍 -볍 -볍 -볍 - -볎 -볎 -볎 -볎 -볎 - -볏 -볏 -볏 -볏 -볏 - -볐 -볐 -볐 -볐 -볐 - -병 -병 -병 -병 -병 - -볒 -볒 -볒 -볒 -볒 - -볓 -볓 -볓 -볓 -볓 - -볔 -볔 -볔 -볔 -볔 - -볕 -볕 -볕 -볕 -볕 - -볖 -볖 -볖 -볖 -볖 - -볗 -볗 -볗 -볗 -볗 - -볘 -볘 -볘 -볘 -볘 - -볙 -볙 -볙 -볙 -볙 - -볚 -볚 -볚 -볚 -볚 - -볛 -볛 -볛 -볛 -볛 - -볜 -볜 -볜 -볜 -볜 - -볝 -볝 -볝 -볝 -볝 - -볞 -볞 -볞 -볞 -볞 - -볟 -볟 -볟 -볟 -볟 - -볠 -볠 -볠 -볠 -볠 - -볡 -볡 -볡 -볡 -볡 - -볢 -볢 -볢 -볢 -볢 - -볣 -볣 -볣 -볣 -볣 - -볤 -볤 -볤 -볤 -볤 - -볥 -볥 -볥 -볥 -볥 - -볦 -볦 -볦 -볦 -볦 - -볧 -볧 -볧 -볧 -볧 - -볨 -볨 -볨 -볨 -볨 - -볩 -볩 -볩 -볩 -볩 - -볪 -볪 -볪 -볪 -볪 - -볫 -볫 -볫 -볫 -볫 - -볬 -볬 -볬 -볬 -볬 - -볭 -볭 -볭 -볭 -볭 - -볮 -볮 -볮 -볮 -볮 - -볯 -볯 -볯 -볯 -볯 - -볰 -볰 -볰 -볰 -볰 - -볱 -볱 -볱 -볱 -볱 - -볲 -볲 -볲 -볲 -볲 - -볳 -볳 -볳 -볳 -볳 - -보 -보 -보 -보 -보 - -복 -복 -복 -복 -복 - -볶 -볶 -볶 -볶 -볶 - -볷 -볷 -볷 -볷 -볷 - -본 -본 -본 -본 -본 - -볹 -볹 -볹 -볹 -볹 - -볺 -볺 -볺 -볺 -볺 - -볻 -볻 -볻 -볻 -볻 - -볼 -볼 -볼 -볼 -볼 - -볽 -볽 -볽 -볽 -볽 - -볾 -볾 -볾 -볾 -볾 - -볿 -볿 -볿 -볿 -볿 - -봀 -봀 -봀 -봀 -봀 - -봁 -봁 -봁 -봁 -봁 - -봂 -봂 -봂 -봂 -봂 - -봃 -봃 -봃 -봃 -봃 - -봄 -봄 -봄 -봄 -봄 - -봅 -봅 -봅 -봅 -봅 - -봆 -봆 -봆 -봆 -봆 - -봇 -봇 -봇 -봇 -봇 - -봈 -봈 -봈 -봈 -봈 - -봉 -봉 -봉 -봉 -봉 - -봊 -봊 -봊 -봊 -봊 - -봋 -봋 -봋 -봋 -봋 - -봌 -봌 -봌 -봌 -봌 - -봍 -봍 -봍 -봍 -봍 - -봎 -봎 -봎 -봎 -봎 - -봏 -봏 -봏 -봏 -봏 - -봐 -봐 -봐 -봐 -봐 - -봑 -봑 -봑 -봑 -봑 - -봒 -봒 -봒 -봒 -봒 - -봓 -봓 -봓 -봓 -봓 - -봔 -봔 -봔 -봔 -봔 - -봕 -봕 -봕 -봕 -봕 - -봖 -봖 -봖 -봖 -봖 - -봗 -봗 -봗 -봗 -봗 - -봘 -봘 -봘 -봘 -봘 - -봙 -봙 -봙 -봙 -봙 - -봚 -봚 -봚 -봚 -봚 - -봛 -봛 -봛 -봛 -봛 - -봜 -봜 -봜 -봜 -봜 - -봝 -봝 -봝 -봝 -봝 - -봞 -봞 -봞 -봞 -봞 - -봟 -봟 -봟 -봟 -봟 - -봠 -봠 -봠 -봠 -봠 - -봡 -봡 -봡 -봡 -봡 - -봢 -봢 -봢 -봢 -봢 - -봣 -봣 -봣 -봣 -봣 - -봤 -봤 -봤 -봤 -봤 - -봥 -봥 -봥 -봥 -봥 - -봦 -봦 -봦 -봦 -봦 - -봧 -봧 -봧 -봧 -봧 - -봨 -봨 -봨 -봨 -봨 - -봩 -봩 -봩 -봩 -봩 - -봪 -봪 -봪 -봪 -봪 - -봫 -봫 -봫 -봫 -봫 - -봬 -봬 -봬 -봬 -봬 - -봭 -봭 -봭 -봭 -봭 - -봮 -봮 -봮 -봮 -봮 - -봯 -봯 -봯 -봯 -봯 - -봰 -봰 -봰 -봰 -봰 - -봱 -봱 -봱 -봱 -봱 - -봲 -봲 -봲 -봲 -봲 - -봳 -봳 -봳 -봳 -봳 - -봴 -봴 -봴 -봴 -봴 - -봵 -봵 -봵 -봵 -봵 - -봶 -봶 -봶 -봶 -봶 - -봷 -봷 -봷 -봷 -봷 - -봸 -봸 -봸 -봸 -봸 - -봹 -봹 -봹 -봹 -봹 - -봺 -봺 -봺 -봺 -봺 - -봻 -봻 -봻 -봻 -봻 - -봼 -봼 -봼 -봼 -봼 - -봽 -봽 -봽 -봽 -봽 - -봾 -봾 -봾 -봾 -봾 - -봿 -봿 -봿 -봿 -봿 - -뵀 -뵀 -뵀 -뵀 -뵀 - -뵁 -뵁 -뵁 -뵁 -뵁 - -뵂 -뵂 -뵂 -뵂 -뵂 - -뵃 -뵃 -뵃 -뵃 -뵃 - -뵄 -뵄 -뵄 -뵄 -뵄 - -뵅 -뵅 -뵅 -뵅 -뵅 - -뵆 -뵆 -뵆 -뵆 -뵆 - -뵇 -뵇 -뵇 -뵇 -뵇 - -뵈 -뵈 -뵈 -뵈 -뵈 - -뵉 -뵉 -뵉 -뵉 -뵉 - -뵊 -뵊 -뵊 -뵊 -뵊 - -뵋 -뵋 -뵋 -뵋 -뵋 - -뵌 -뵌 -뵌 -뵌 -뵌 - -뵍 -뵍 -뵍 -뵍 -뵍 - -뵎 -뵎 -뵎 -뵎 -뵎 - -뵏 -뵏 -뵏 -뵏 -뵏 - -뵐 -뵐 -뵐 -뵐 -뵐 - -뵑 -뵑 -뵑 -뵑 -뵑 - -뵒 -뵒 -뵒 -뵒 -뵒 - -뵓 -뵓 -뵓 -뵓 -뵓 - -뵔 -뵔 -뵔 -뵔 -뵔 - -뵕 -뵕 -뵕 -뵕 -뵕 - -뵖 -뵖 -뵖 -뵖 -뵖 - -뵗 -뵗 -뵗 -뵗 -뵗 - -뵘 -뵘 -뵘 -뵘 -뵘 - -뵙 -뵙 -뵙 -뵙 -뵙 - -뵚 -뵚 -뵚 -뵚 -뵚 - -뵛 -뵛 -뵛 -뵛 -뵛 - -뵜 -뵜 -뵜 -뵜 -뵜 - -뵝 -뵝 -뵝 -뵝 -뵝 - -뵞 -뵞 -뵞 -뵞 -뵞 - -뵟 -뵟 -뵟 -뵟 -뵟 - -뵠 -뵠 -뵠 -뵠 -뵠 - -뵡 -뵡 -뵡 -뵡 -뵡 - -뵢 -뵢 -뵢 -뵢 -뵢 - -뵣 -뵣 -뵣 -뵣 -뵣 - -뵤 -뵤 -뵤 -뵤 -뵤 - -뵥 -뵥 -뵥 -뵥 -뵥 - -뵦 -뵦 -뵦 -뵦 -뵦 - -뵧 -뵧 -뵧 -뵧 -뵧 - -뵨 -뵨 -뵨 -뵨 -뵨 - -뵩 -뵩 -뵩 -뵩 -뵩 - -뵪 -뵪 -뵪 -뵪 -뵪 - -뵫 -뵫 -뵫 -뵫 -뵫 - -뵬 -뵬 -뵬 -뵬 -뵬 - -뵭 -뵭 -뵭 -뵭 -뵭 - -뵮 -뵮 -뵮 -뵮 -뵮 - -뵯 -뵯 -뵯 -뵯 -뵯 - -뵰 -뵰 -뵰 -뵰 -뵰 - -뵱 -뵱 -뵱 -뵱 -뵱 - -뵲 -뵲 -뵲 -뵲 -뵲 - -뵳 -뵳 -뵳 -뵳 -뵳 - -뵴 -뵴 -뵴 -뵴 -뵴 - -뵵 -뵵 -뵵 -뵵 -뵵 - -뵶 -뵶 -뵶 -뵶 -뵶 - -뵷 -뵷 -뵷 -뵷 -뵷 - -뵸 -뵸 -뵸 -뵸 -뵸 - -뵹 -뵹 -뵹 -뵹 -뵹 - -뵺 -뵺 -뵺 -뵺 -뵺 - -뵻 -뵻 -뵻 -뵻 -뵻 - -뵼 -뵼 -뵼 -뵼 -뵼 - -뵽 -뵽 -뵽 -뵽 -뵽 - -뵾 -뵾 -뵾 -뵾 -뵾 - -뵿 -뵿 -뵿 -뵿 -뵿 - -부 -부 -부 -부 -부 - -북 -북 -북 -북 -북 - -붂 -붂 -붂 -붂 -붂 - -붃 -붃 -붃 -붃 -붃 - -분 -분 -분 -분 -분 - -붅 -붅 -붅 -붅 -붅 - -붆 -붆 -붆 -붆 -붆 - -붇 -붇 -붇 -붇 -붇 - -불 -불 -불 -불 -불 - -붉 -붉 -붉 -붉 -붉 - -붊 -붊 -붊 -붊 -붊 - -붋 -붋 -붋 -붋 -붋 - -붌 -붌 -붌 -붌 -붌 - -붍 -붍 -붍 -붍 -붍 - -붎 -붎 -붎 -붎 -붎 - -붏 -붏 -붏 -붏 -붏 - -붐 -붐 -붐 -붐 -붐 - -붑 -붑 -붑 -붑 -붑 - -붒 -붒 -붒 -붒 -붒 - -붓 -붓 -붓 -붓 -붓 - -붔 -붔 -붔 -붔 -붔 - -붕 -붕 -붕 -붕 -붕 - -붖 -붖 -붖 -붖 -붖 - -붗 -붗 -붗 -붗 -붗 - -붘 -붘 -붘 -붘 -붘 - -붙 -붙 -붙 -붙 -붙 - -붚 -붚 -붚 -붚 -붚 - -붛 -붛 -붛 -붛 -붛 - -붜 -붜 -붜 -붜 -붜 - -붝 -붝 -붝 -붝 -붝 - -붞 -붞 -붞 -붞 -붞 - -붟 -붟 -붟 -붟 -붟 - -붠 -붠 -붠 -붠 -붠 - -붡 -붡 -붡 -붡 -붡 - -붢 -붢 -붢 -붢 -붢 - -붣 -붣 -붣 -붣 -붣 - -붤 -붤 -붤 -붤 -붤 - -붥 -붥 -붥 -붥 -붥 - -붦 -붦 -붦 -붦 -붦 - -붧 -붧 -붧 -붧 -붧 - -붨 -붨 -붨 -붨 -붨 - -붩 -붩 -붩 -붩 -붩 - -붪 -붪 -붪 -붪 -붪 - -붫 -붫 -붫 -붫 -붫 - -붬 -붬 -붬 -붬 -붬 - -붭 -붭 -붭 -붭 -붭 - -붮 -붮 -붮 -붮 -붮 - -붯 -붯 -붯 -붯 -붯 - -붰 -붰 -붰 -붰 -붰 - -붱 -붱 -붱 -붱 -붱 - -붲 -붲 -붲 -붲 -붲 - -붳 -붳 -붳 -붳 -붳 - -붴 -붴 -붴 -붴 -붴 - -붵 -붵 -붵 -붵 -붵 - -붶 -붶 -붶 -붶 -붶 - -붷 -붷 -붷 -붷 -붷 - -붸 -붸 -붸 -붸 -붸 - -붹 -붹 -붹 -붹 -붹 - -붺 -붺 -붺 -붺 -붺 - -붻 -붻 -붻 -붻 -붻 - -붼 -붼 -붼 -붼 -붼 - -붽 -붽 -붽 -붽 -붽 - -붾 -붾 -붾 -붾 -붾 - -붿 -붿 -붿 -붿 -붿 - -뷀 -뷀 -뷀 -뷀 -뷀 - -뷁 -뷁 -뷁 -뷁 -뷁 - -뷂 -뷂 -뷂 -뷂 -뷂 - -뷃 -뷃 -뷃 -뷃 -뷃 - -뷄 -뷄 -뷄 -뷄 -뷄 - -뷅 -뷅 -뷅 -뷅 -뷅 - -뷆 -뷆 -뷆 -뷆 -뷆 - -뷇 -뷇 -뷇 -뷇 -뷇 - -뷈 -뷈 -뷈 -뷈 -뷈 - -뷉 -뷉 -뷉 -뷉 -뷉 - -뷊 -뷊 -뷊 -뷊 -뷊 - -뷋 -뷋 -뷋 -뷋 -뷋 - -뷌 -뷌 -뷌 -뷌 -뷌 - -뷍 -뷍 -뷍 -뷍 -뷍 - -뷎 -뷎 -뷎 -뷎 -뷎 - -뷏 -뷏 -뷏 -뷏 -뷏 - -뷐 -뷐 -뷐 -뷐 -뷐 - -뷑 -뷑 -뷑 -뷑 -뷑 - -뷒 -뷒 -뷒 -뷒 -뷒 - -뷓 -뷓 -뷓 -뷓 -뷓 - -뷔 -뷔 -뷔 -뷔 -뷔 - -뷕 -뷕 -뷕 -뷕 -뷕 - -뷖 -뷖 -뷖 -뷖 -뷖 - -뷗 -뷗 -뷗 -뷗 -뷗 - -뷘 -뷘 -뷘 -뷘 -뷘 - -뷙 -뷙 -뷙 -뷙 -뷙 - -뷚 -뷚 -뷚 -뷚 -뷚 - -뷛 -뷛 -뷛 -뷛 -뷛 - -뷜 -뷜 -뷜 -뷜 -뷜 - -뷝 -뷝 -뷝 -뷝 -뷝 - -뷞 -뷞 -뷞 -뷞 -뷞 - -뷟 -뷟 -뷟 -뷟 -뷟 - -뷠 -뷠 -뷠 -뷠 -뷠 - -뷡 -뷡 -뷡 -뷡 -뷡 - -뷢 -뷢 -뷢 -뷢 -뷢 - -뷣 -뷣 -뷣 -뷣 -뷣 - -뷤 -뷤 -뷤 -뷤 -뷤 - -뷥 -뷥 -뷥 -뷥 -뷥 - -뷦 -뷦 -뷦 -뷦 -뷦 - -뷧 -뷧 -뷧 -뷧 -뷧 - -뷨 -뷨 -뷨 -뷨 -뷨 - -뷩 -뷩 -뷩 -뷩 -뷩 - -뷪 -뷪 -뷪 -뷪 -뷪 - -뷫 -뷫 -뷫 -뷫 -뷫 - -뷬 -뷬 -뷬 -뷬 -뷬 - -뷭 -뷭 -뷭 -뷭 -뷭 - -뷮 -뷮 -뷮 -뷮 -뷮 - -뷯 -뷯 -뷯 -뷯 -뷯 - -뷰 -뷰 -뷰 -뷰 -뷰 - -뷱 -뷱 -뷱 -뷱 -뷱 - -뷲 -뷲 -뷲 -뷲 -뷲 - -뷳 -뷳 -뷳 -뷳 -뷳 - -뷴 -뷴 -뷴 -뷴 -뷴 - -뷵 -뷵 -뷵 -뷵 -뷵 - -뷶 -뷶 -뷶 -뷶 -뷶 - -뷷 -뷷 -뷷 -뷷 -뷷 - -뷸 -뷸 -뷸 -뷸 -뷸 - -뷹 -뷹 -뷹 -뷹 -뷹 - -뷺 -뷺 -뷺 -뷺 -뷺 - -뷻 -뷻 -뷻 -뷻 -뷻 - -뷼 -뷼 -뷼 -뷼 -뷼 - -뷽 -뷽 -뷽 -뷽 -뷽 - -뷾 -뷾 -뷾 -뷾 -뷾 - -뷿 -뷿 -뷿 -뷿 -뷿 - -븀 -븀 -븀 -븀 -븀 - -븁 -븁 -븁 -븁 -븁 - -븂 -븂 -븂 -븂 -븂 - -븃 -븃 -븃 -븃 -븃 - -븄 -븄 -븄 -븄 -븄 - -븅 -븅 -븅 -븅 -븅 - -븆 -븆 -븆 -븆 -븆 - -븇 -븇 -븇 -븇 -븇 - -븈 -븈 -븈 -븈 -븈 - -븉 -븉 -븉 -븉 -븉 - -븊 -븊 -븊 -븊 -븊 - -븋 -븋 -븋 -븋 -븋 - -브 -브 -브 -브 -브 - -븍 -븍 -븍 -븍 -븍 - -븎 -븎 -븎 -븎 -븎 - -븏 -븏 -븏 -븏 -븏 - -븐 -븐 -븐 -븐 -븐 - -븑 -븑 -븑 -븑 -븑 - -븒 -븒 -븒 -븒 -븒 - -븓 -븓 -븓 -븓 -븓 - -블 -블 -블 -블 -블 - -븕 -븕 -븕 -븕 -븕 - -븖 -븖 -븖 -븖 -븖 - -븗 -븗 -븗 -븗 -븗 - -븘 -븘 -븘 -븘 -븘 - -븙 -븙 -븙 -븙 -븙 - -븚 -븚 -븚 -븚 -븚 - -븛 -븛 -븛 -븛 -븛 - -븜 -븜 -븜 -븜 -븜 - -븝 -븝 -븝 -븝 -븝 - -븞 -븞 -븞 -븞 -븞 - -븟 -븟 -븟 -븟 -븟 - -븠 -븠 -븠 -븠 -븠 - -븡 -븡 -븡 -븡 -븡 - -븢 -븢 -븢 -븢 -븢 - -븣 -븣 -븣 -븣 -븣 - -븤 -븤 -븤 -븤 -븤 - -븥 -븥 -븥 -븥 -븥 - -븦 -븦 -븦 -븦 -븦 - -븧 -븧 -븧 -븧 -븧 - -븨 -븨 -븨 -븨 -븨 - -븩 -븩 -븩 -븩 -븩 - -븪 -븪 -븪 -븪 -븪 - -븫 -븫 -븫 -븫 -븫 - -븬 -븬 -븬 -븬 -븬 - -븭 -븭 -븭 -븭 -븭 - -븮 -븮 -븮 -븮 -븮 - -븯 -븯 -븯 -븯 -븯 - -븰 -븰 -븰 -븰 -븰 - -븱 -븱 -븱 -븱 -븱 - -븲 -븲 -븲 -븲 -븲 - -븳 -븳 -븳 -븳 -븳 - -븴 -븴 -븴 -븴 -븴 - -븵 -븵 -븵 -븵 -븵 - -븶 -븶 -븶 -븶 -븶 - -븷 -븷 -븷 -븷 -븷 - -븸 -븸 -븸 -븸 -븸 - -븹 -븹 -븹 -븹 -븹 - -븺 -븺 -븺 -븺 -븺 - -븻 -븻 -븻 -븻 -븻 - -븼 -븼 -븼 -븼 -븼 - -븽 -븽 -븽 -븽 -븽 - -븾 -븾 -븾 -븾 -븾 - -븿 -븿 -븿 -븿 -븿 - -빀 -빀 -빀 -빀 -빀 - -빁 -빁 -빁 -빁 -빁 - -빂 -빂 -빂 -빂 -빂 - -빃 -빃 -빃 -빃 -빃 - -비 -비 -비 -비 -비 - -빅 -빅 -빅 -빅 -빅 - -빆 -빆 -빆 -빆 -빆 - -빇 -빇 -빇 -빇 -빇 - -빈 -빈 -빈 -빈 -빈 - -빉 -빉 -빉 -빉 -빉 - -빊 -빊 -빊 -빊 -빊 - -빋 -빋 -빋 -빋 -빋 - -빌 -빌 -빌 -빌 -빌 - -빍 -빍 -빍 -빍 -빍 - -빎 -빎 -빎 -빎 -빎 - -빏 -빏 -빏 -빏 -빏 - -빐 -빐 -빐 -빐 -빐 - -빑 -빑 -빑 -빑 -빑 - -빒 -빒 -빒 -빒 -빒 - -빓 -빓 -빓 -빓 -빓 - -빔 -빔 -빔 -빔 -빔 - -빕 -빕 -빕 -빕 -빕 - -빖 -빖 -빖 -빖 -빖 - -빗 -빗 -빗 -빗 -빗 - -빘 -빘 -빘 -빘 -빘 - -빙 -빙 -빙 -빙 -빙 - -빚 -빚 -빚 -빚 -빚 - -빛 -빛 -빛 -빛 -빛 - -빜 -빜 -빜 -빜 -빜 - -빝 -빝 -빝 -빝 -빝 - -빞 -빞 -빞 -빞 -빞 - -빟 -빟 -빟 -빟 -빟 - -빠 -빠 -빠 -빠 -빠 - -빡 -빡 -빡 -빡 -빡 - -빢 -빢 -빢 -빢 -빢 - -빣 -빣 -빣 -빣 -빣 - -빤 -빤 -빤 -빤 -빤 - -빥 -빥 -빥 -빥 -빥 - -빦 -빦 -빦 -빦 -빦 - -빧 -빧 -빧 -빧 -빧 - -빨 -빨 -빨 -빨 -빨 - -빩 -빩 -빩 -빩 -빩 - -빪 -빪 -빪 -빪 -빪 - -빫 -빫 -빫 -빫 -빫 - -빬 -빬 -빬 -빬 -빬 - -빭 -빭 -빭 -빭 -빭 - -빮 -빮 -빮 -빮 -빮 - -빯 -빯 -빯 -빯 -빯 - -빰 -빰 -빰 -빰 -빰 - -빱 -빱 -빱 -빱 -빱 - -빲 -빲 -빲 -빲 -빲 - -빳 -빳 -빳 -빳 -빳 - -빴 -빴 -빴 -빴 -빴 - -빵 -빵 -빵 -빵 -빵 - -빶 -빶 -빶 -빶 -빶 - -빷 -빷 -빷 -빷 -빷 - -빸 -빸 -빸 -빸 -빸 - -빹 -빹 -빹 -빹 -빹 - -빺 -빺 -빺 -빺 -빺 - -빻 -빻 -빻 -빻 -빻 - -빼 -빼 -빼 -빼 -빼 - -빽 -빽 -빽 -빽 -빽 - -빾 -빾 -빾 -빾 -빾 - -빿 -빿 -빿 -빿 -빿 - -뺀 -뺀 -뺀 -뺀 -뺀 - -뺁 -뺁 -뺁 -뺁 -뺁 - -뺂 -뺂 -뺂 -뺂 -뺂 - -뺃 -뺃 -뺃 -뺃 -뺃 - -뺄 -뺄 -뺄 -뺄 -뺄 - -뺅 -뺅 -뺅 -뺅 -뺅 - -뺆 -뺆 -뺆 -뺆 -뺆 - -뺇 -뺇 -뺇 -뺇 -뺇 - -뺈 -뺈 -뺈 -뺈 -뺈 - -뺉 -뺉 -뺉 -뺉 -뺉 - -뺊 -뺊 -뺊 -뺊 -뺊 - -뺋 -뺋 -뺋 -뺋 -뺋 - -뺌 -뺌 -뺌 -뺌 -뺌 - -뺍 -뺍 -뺍 -뺍 -뺍 - -뺎 -뺎 -뺎 -뺎 -뺎 - -뺏 -뺏 -뺏 -뺏 -뺏 - -뺐 -뺐 -뺐 -뺐 -뺐 - -뺑 -뺑 -뺑 -뺑 -뺑 - -뺒 -뺒 -뺒 -뺒 -뺒 - -뺓 -뺓 -뺓 -뺓 -뺓 - -뺔 -뺔 -뺔 -뺔 -뺔 - -뺕 -뺕 -뺕 -뺕 -뺕 - -뺖 -뺖 -뺖 -뺖 -뺖 - -뺗 -뺗 -뺗 -뺗 -뺗 - -뺘 -뺘 -뺘 -뺘 -뺘 - -뺙 -뺙 -뺙 -뺙 -뺙 - -뺚 -뺚 -뺚 -뺚 -뺚 - -뺛 -뺛 -뺛 -뺛 -뺛 - -뺜 -뺜 -뺜 -뺜 -뺜 - -뺝 -뺝 -뺝 -뺝 -뺝 - -뺞 -뺞 -뺞 -뺞 -뺞 - -뺟 -뺟 -뺟 -뺟 -뺟 - -뺠 -뺠 -뺠 -뺠 -뺠 - -뺡 -뺡 -뺡 -뺡 -뺡 - -뺢 -뺢 -뺢 -뺢 -뺢 - -뺣 -뺣 -뺣 -뺣 -뺣 - -뺤 -뺤 -뺤 -뺤 -뺤 - -뺥 -뺥 -뺥 -뺥 -뺥 - -뺦 -뺦 -뺦 -뺦 -뺦 - -뺧 -뺧 -뺧 -뺧 -뺧 - -뺨 -뺨 -뺨 -뺨 -뺨 - -뺩 -뺩 -뺩 -뺩 -뺩 - -뺪 -뺪 -뺪 -뺪 -뺪 - -뺫 -뺫 -뺫 -뺫 -뺫 - -뺬 -뺬 -뺬 -뺬 -뺬 - -뺭 -뺭 -뺭 -뺭 -뺭 - -뺮 -뺮 -뺮 -뺮 -뺮 - -뺯 -뺯 -뺯 -뺯 -뺯 - -뺰 -뺰 -뺰 -뺰 -뺰 - -뺱 -뺱 -뺱 -뺱 -뺱 - -뺲 -뺲 -뺲 -뺲 -뺲 - -뺳 -뺳 -뺳 -뺳 -뺳 - -뺴 -뺴 -뺴 -뺴 -뺴 - -뺵 -뺵 -뺵 -뺵 -뺵 - -뺶 -뺶 -뺶 -뺶 -뺶 - -뺷 -뺷 -뺷 -뺷 -뺷 - -뺸 -뺸 -뺸 -뺸 -뺸 - -뺹 -뺹 -뺹 -뺹 -뺹 - -뺺 -뺺 -뺺 -뺺 -뺺 - -뺻 -뺻 -뺻 -뺻 -뺻 - -뺼 -뺼 -뺼 -뺼 -뺼 - -뺽 -뺽 -뺽 -뺽 -뺽 - -뺾 -뺾 -뺾 -뺾 -뺾 - -뺿 -뺿 -뺿 -뺿 -뺿 - -뻀 -뻀 -뻀 -뻀 -뻀 - -뻁 -뻁 -뻁 -뻁 -뻁 - -뻂 -뻂 -뻂 -뻂 -뻂 - -뻃 -뻃 -뻃 -뻃 -뻃 - -뻄 -뻄 -뻄 -뻄 -뻄 - -뻅 -뻅 -뻅 -뻅 -뻅 - -뻆 -뻆 -뻆 -뻆 -뻆 - -뻇 -뻇 -뻇 -뻇 -뻇 - -뻈 -뻈 -뻈 -뻈 -뻈 - -뻉 -뻉 -뻉 -뻉 -뻉 - -뻊 -뻊 -뻊 -뻊 -뻊 - -뻋 -뻋 -뻋 -뻋 -뻋 - -뻌 -뻌 -뻌 -뻌 -뻌 - -뻍 -뻍 -뻍 -뻍 -뻍 - -뻎 -뻎 -뻎 -뻎 -뻎 - -뻏 -뻏 -뻏 -뻏 -뻏 - -뻐 -뻐 -뻐 -뻐 -뻐 - -뻑 -뻑 -뻑 -뻑 -뻑 - -뻒 -뻒 -뻒 -뻒 -뻒 - -뻓 -뻓 -뻓 -뻓 -뻓 - -뻔 -뻔 -뻔 -뻔 -뻔 - -뻕 -뻕 -뻕 -뻕 -뻕 - -뻖 -뻖 -뻖 -뻖 -뻖 - -뻗 -뻗 -뻗 -뻗 -뻗 - -뻘 -뻘 -뻘 -뻘 -뻘 - -뻙 -뻙 -뻙 -뻙 -뻙 - -뻚 -뻚 -뻚 -뻚 -뻚 - -뻛 -뻛 -뻛 -뻛 -뻛 - -뻜 -뻜 -뻜 -뻜 -뻜 - -뻝 -뻝 -뻝 -뻝 -뻝 - -뻞 -뻞 -뻞 -뻞 -뻞 - -뻟 -뻟 -뻟 -뻟 -뻟 - -뻠 -뻠 -뻠 -뻠 -뻠 - -뻡 -뻡 -뻡 -뻡 -뻡 - -뻢 -뻢 -뻢 -뻢 -뻢 - -뻣 -뻣 -뻣 -뻣 -뻣 - -뻤 -뻤 -뻤 -뻤 -뻤 - -뻥 -뻥 -뻥 -뻥 -뻥 - -뻦 -뻦 -뻦 -뻦 -뻦 - -뻧 -뻧 -뻧 -뻧 -뻧 - -뻨 -뻨 -뻨 -뻨 -뻨 - -뻩 -뻩 -뻩 -뻩 -뻩 - -뻪 -뻪 -뻪 -뻪 -뻪 - -뻫 -뻫 -뻫 -뻫 -뻫 - -뻬 -뻬 -뻬 -뻬 -뻬 - -뻭 -뻭 -뻭 -뻭 -뻭 - -뻮 -뻮 -뻮 -뻮 -뻮 - -뻯 -뻯 -뻯 -뻯 -뻯 - -뻰 -뻰 -뻰 -뻰 -뻰 - -뻱 -뻱 -뻱 -뻱 -뻱 - -뻲 -뻲 -뻲 -뻲 -뻲 - -뻳 -뻳 -뻳 -뻳 -뻳 - -뻴 -뻴 -뻴 -뻴 -뻴 - -뻵 -뻵 -뻵 -뻵 -뻵 - -뻶 -뻶 -뻶 -뻶 -뻶 - -뻷 -뻷 -뻷 -뻷 -뻷 - -뻸 -뻸 -뻸 -뻸 -뻸 - -뻹 -뻹 -뻹 -뻹 -뻹 - -뻺 -뻺 -뻺 -뻺 -뻺 - -뻻 -뻻 -뻻 -뻻 -뻻 - -뻼 -뻼 -뻼 -뻼 -뻼 - -뻽 -뻽 -뻽 -뻽 -뻽 - -뻾 -뻾 -뻾 -뻾 -뻾 - -뻿 -뻿 -뻿 -뻿 -뻿 - -뼀 -뼀 -뼀 -뼀 -뼀 - -뼁 -뼁 -뼁 -뼁 -뼁 - -뼂 -뼂 -뼂 -뼂 -뼂 - -뼃 -뼃 -뼃 -뼃 -뼃 - -뼄 -뼄 -뼄 -뼄 -뼄 - -뼅 -뼅 -뼅 -뼅 -뼅 - -뼆 -뼆 -뼆 -뼆 -뼆 - -뼇 -뼇 -뼇 -뼇 -뼇 - -뼈 -뼈 -뼈 -뼈 -뼈 - -뼉 -뼉 -뼉 -뼉 -뼉 - -뼊 -뼊 -뼊 -뼊 -뼊 - -뼋 -뼋 -뼋 -뼋 -뼋 - -뼌 -뼌 -뼌 -뼌 -뼌 - -뼍 -뼍 -뼍 -뼍 -뼍 - -뼎 -뼎 -뼎 -뼎 -뼎 - -뼏 -뼏 -뼏 -뼏 -뼏 - -뼐 -뼐 -뼐 -뼐 -뼐 - -뼑 -뼑 -뼑 -뼑 -뼑 - -뼒 -뼒 -뼒 -뼒 -뼒 - -뼓 -뼓 -뼓 -뼓 -뼓 - -뼔 -뼔 -뼔 -뼔 -뼔 - -뼕 -뼕 -뼕 -뼕 -뼕 - -뼖 -뼖 -뼖 -뼖 -뼖 - -뼗 -뼗 -뼗 -뼗 -뼗 - -뼘 -뼘 -뼘 -뼘 -뼘 - -뼙 -뼙 -뼙 -뼙 -뼙 - -뼚 -뼚 -뼚 -뼚 -뼚 - -뼛 -뼛 -뼛 -뼛 -뼛 - -뼜 -뼜 -뼜 -뼜 -뼜 - -뼝 -뼝 -뼝 -뼝 -뼝 - -뼞 -뼞 -뼞 -뼞 -뼞 - -뼟 -뼟 -뼟 -뼟 -뼟 - -뼠 -뼠 -뼠 -뼠 -뼠 - -뼡 -뼡 -뼡 -뼡 -뼡 - -뼢 -뼢 -뼢 -뼢 -뼢 - -뼣 -뼣 -뼣 -뼣 -뼣 - -뼤 -뼤 -뼤 -뼤 -뼤 - -뼥 -뼥 -뼥 -뼥 -뼥 - -뼦 -뼦 -뼦 -뼦 -뼦 - -뼧 -뼧 -뼧 -뼧 -뼧 - -뼨 -뼨 -뼨 -뼨 -뼨 - -뼩 -뼩 -뼩 -뼩 -뼩 - -뼪 -뼪 -뼪 -뼪 -뼪 - -뼫 -뼫 -뼫 -뼫 -뼫 - -뼬 -뼬 -뼬 -뼬 -뼬 - -뼭 -뼭 -뼭 -뼭 -뼭 - -뼮 -뼮 -뼮 -뼮 -뼮 - -뼯 -뼯 -뼯 -뼯 -뼯 - -뼰 -뼰 -뼰 -뼰 -뼰 - -뼱 -뼱 -뼱 -뼱 -뼱 - -뼲 -뼲 -뼲 -뼲 -뼲 - -뼳 -뼳 -뼳 -뼳 -뼳 - -뼴 -뼴 -뼴 -뼴 -뼴 - -뼵 -뼵 -뼵 -뼵 -뼵 - -뼶 -뼶 -뼶 -뼶 -뼶 - -뼷 -뼷 -뼷 -뼷 -뼷 - -뼸 -뼸 -뼸 -뼸 -뼸 - -뼹 -뼹 -뼹 -뼹 -뼹 - -뼺 -뼺 -뼺 -뼺 -뼺 - -뼻 -뼻 -뼻 -뼻 -뼻 - -뼼 -뼼 -뼼 -뼼 -뼼 - -뼽 -뼽 -뼽 -뼽 -뼽 - -뼾 -뼾 -뼾 -뼾 -뼾 - -뼿 -뼿 -뼿 -뼿 -뼿 - -뽀 -뽀 -뽀 -뽀 -뽀 - -뽁 -뽁 -뽁 -뽁 -뽁 - -뽂 -뽂 -뽂 -뽂 -뽂 - -뽃 -뽃 -뽃 -뽃 -뽃 - -뽄 -뽄 -뽄 -뽄 -뽄 - -뽅 -뽅 -뽅 -뽅 -뽅 - -뽆 -뽆 -뽆 -뽆 -뽆 - -뽇 -뽇 -뽇 -뽇 -뽇 - -뽈 -뽈 -뽈 -뽈 -뽈 - -뽉 -뽉 -뽉 -뽉 -뽉 - -뽊 -뽊 -뽊 -뽊 -뽊 - -뽋 -뽋 -뽋 -뽋 -뽋 - -뽌 -뽌 -뽌 -뽌 -뽌 - -뽍 -뽍 -뽍 -뽍 -뽍 - -뽎 -뽎 -뽎 -뽎 -뽎 - -뽏 -뽏 -뽏 -뽏 -뽏 - -뽐 -뽐 -뽐 -뽐 -뽐 - -뽑 -뽑 -뽑 -뽑 -뽑 - -뽒 -뽒 -뽒 -뽒 -뽒 - -뽓 -뽓 -뽓 -뽓 -뽓 - -뽔 -뽔 -뽔 -뽔 -뽔 - -뽕 -뽕 -뽕 -뽕 -뽕 - -뽖 -뽖 -뽖 -뽖 -뽖 - -뽗 -뽗 -뽗 -뽗 -뽗 - -뽘 -뽘 -뽘 -뽘 -뽘 - -뽙 -뽙 -뽙 -뽙 -뽙 - -뽚 -뽚 -뽚 -뽚 -뽚 - -뽛 -뽛 -뽛 -뽛 -뽛 - -뽜 -뽜 -뽜 -뽜 -뽜 - -뽝 -뽝 -뽝 -뽝 -뽝 - -뽞 -뽞 -뽞 -뽞 -뽞 - -뽟 -뽟 -뽟 -뽟 -뽟 - -뽠 -뽠 -뽠 -뽠 -뽠 - -뽡 -뽡 -뽡 -뽡 -뽡 - -뽢 -뽢 -뽢 -뽢 -뽢 - -뽣 -뽣 -뽣 -뽣 -뽣 - -뽤 -뽤 -뽤 -뽤 -뽤 - -뽥 -뽥 -뽥 -뽥 -뽥 - -뽦 -뽦 -뽦 -뽦 -뽦 - -뽧 -뽧 -뽧 -뽧 -뽧 - -뽨 -뽨 -뽨 -뽨 -뽨 - -뽩 -뽩 -뽩 -뽩 -뽩 - -뽪 -뽪 -뽪 -뽪 -뽪 - -뽫 -뽫 -뽫 -뽫 -뽫 - -뽬 -뽬 -뽬 -뽬 -뽬 - -뽭 -뽭 -뽭 -뽭 -뽭 - -뽮 -뽮 -뽮 -뽮 -뽮 - -뽯 -뽯 -뽯 -뽯 -뽯 - -뽰 -뽰 -뽰 -뽰 -뽰 - -뽱 -뽱 -뽱 -뽱 -뽱 - -뽲 -뽲 -뽲 -뽲 -뽲 - -뽳 -뽳 -뽳 -뽳 -뽳 - -뽴 -뽴 -뽴 -뽴 -뽴 - -뽵 -뽵 -뽵 -뽵 -뽵 - -뽶 -뽶 -뽶 -뽶 -뽶 - -뽷 -뽷 -뽷 -뽷 -뽷 - -뽸 -뽸 -뽸 -뽸 -뽸 - -뽹 -뽹 -뽹 -뽹 -뽹 - -뽺 -뽺 -뽺 -뽺 -뽺 - -뽻 -뽻 -뽻 -뽻 -뽻 - -뽼 -뽼 -뽼 -뽼 -뽼 - -뽽 -뽽 -뽽 -뽽 -뽽 - -뽾 -뽾 -뽾 -뽾 -뽾 - -뽿 -뽿 -뽿 -뽿 -뽿 - -뾀 -뾀 -뾀 -뾀 -뾀 - -뾁 -뾁 -뾁 -뾁 -뾁 - -뾂 -뾂 -뾂 -뾂 -뾂 - -뾃 -뾃 -뾃 -뾃 -뾃 - -뾄 -뾄 -뾄 -뾄 -뾄 - -뾅 -뾅 -뾅 -뾅 -뾅 - -뾆 -뾆 -뾆 -뾆 -뾆 - -뾇 -뾇 -뾇 -뾇 -뾇 - -뾈 -뾈 -뾈 -뾈 -뾈 - -뾉 -뾉 -뾉 -뾉 -뾉 - -뾊 -뾊 -뾊 -뾊 -뾊 - -뾋 -뾋 -뾋 -뾋 -뾋 - -뾌 -뾌 -뾌 -뾌 -뾌 - -뾍 -뾍 -뾍 -뾍 -뾍 - -뾎 -뾎 -뾎 -뾎 -뾎 - -뾏 -뾏 -뾏 -뾏 -뾏 - -뾐 -뾐 -뾐 -뾐 -뾐 - -뾑 -뾑 -뾑 -뾑 -뾑 - -뾒 -뾒 -뾒 -뾒 -뾒 - -뾓 -뾓 -뾓 -뾓 -뾓 - -뾔 -뾔 -뾔 -뾔 -뾔 - -뾕 -뾕 -뾕 -뾕 -뾕 - -뾖 -뾖 -뾖 -뾖 -뾖 - -뾗 -뾗 -뾗 -뾗 -뾗 - -뾘 -뾘 -뾘 -뾘 -뾘 - -뾙 -뾙 -뾙 -뾙 -뾙 - -뾚 -뾚 -뾚 -뾚 -뾚 - -뾛 -뾛 -뾛 -뾛 -뾛 - -뾜 -뾜 -뾜 -뾜 -뾜 - -뾝 -뾝 -뾝 -뾝 -뾝 - -뾞 -뾞 -뾞 -뾞 -뾞 - -뾟 -뾟 -뾟 -뾟 -뾟 - -뾠 -뾠 -뾠 -뾠 -뾠 - -뾡 -뾡 -뾡 -뾡 -뾡 - -뾢 -뾢 -뾢 -뾢 -뾢 - -뾣 -뾣 -뾣 -뾣 -뾣 - -뾤 -뾤 -뾤 -뾤 -뾤 - -뾥 -뾥 -뾥 -뾥 -뾥 - -뾦 -뾦 -뾦 -뾦 -뾦 - -뾧 -뾧 -뾧 -뾧 -뾧 - -뾨 -뾨 -뾨 -뾨 -뾨 - -뾩 -뾩 -뾩 -뾩 -뾩 - -뾪 -뾪 -뾪 -뾪 -뾪 - -뾫 -뾫 -뾫 -뾫 -뾫 - -뾬 -뾬 -뾬 -뾬 -뾬 - -뾭 -뾭 -뾭 -뾭 -뾭 - -뾮 -뾮 -뾮 -뾮 -뾮 - -뾯 -뾯 -뾯 -뾯 -뾯 - -뾰 -뾰 -뾰 -뾰 -뾰 - -뾱 -뾱 -뾱 -뾱 -뾱 - -뾲 -뾲 -뾲 -뾲 -뾲 - -뾳 -뾳 -뾳 -뾳 -뾳 - -뾴 -뾴 -뾴 -뾴 -뾴 - -뾵 -뾵 -뾵 -뾵 -뾵 - -뾶 -뾶 -뾶 -뾶 -뾶 - -뾷 -뾷 -뾷 -뾷 -뾷 - -뾸 -뾸 -뾸 -뾸 -뾸 - -뾹 -뾹 -뾹 -뾹 -뾹 - -뾺 -뾺 -뾺 -뾺 -뾺 - -뾻 -뾻 -뾻 -뾻 -뾻 - -뾼 -뾼 -뾼 -뾼 -뾼 - -뾽 -뾽 -뾽 -뾽 -뾽 - -뾾 -뾾 -뾾 -뾾 -뾾 - -뾿 -뾿 -뾿 -뾿 -뾿 - -뿀 -뿀 -뿀 -뿀 -뿀 - -뿁 -뿁 -뿁 -뿁 -뿁 - -뿂 -뿂 -뿂 -뿂 -뿂 - -뿃 -뿃 -뿃 -뿃 -뿃 - -뿄 -뿄 -뿄 -뿄 -뿄 - -뿅 -뿅 -뿅 -뿅 -뿅 - -뿆 -뿆 -뿆 -뿆 -뿆 - -뿇 -뿇 -뿇 -뿇 -뿇 - -뿈 -뿈 -뿈 -뿈 -뿈 - -뿉 -뿉 -뿉 -뿉 -뿉 - -뿊 -뿊 -뿊 -뿊 -뿊 - -뿋 -뿋 -뿋 -뿋 -뿋 - -뿌 -뿌 -뿌 -뿌 -뿌 - -뿍 -뿍 -뿍 -뿍 -뿍 - -뿎 -뿎 -뿎 -뿎 -뿎 - -뿏 -뿏 -뿏 -뿏 -뿏 - -뿐 -뿐 -뿐 -뿐 -뿐 - -뿑 -뿑 -뿑 -뿑 -뿑 - -뿒 -뿒 -뿒 -뿒 -뿒 - -뿓 -뿓 -뿓 -뿓 -뿓 - -뿔 -뿔 -뿔 -뿔 -뿔 - -뿕 -뿕 -뿕 -뿕 -뿕 - -뿖 -뿖 -뿖 -뿖 -뿖 - -뿗 -뿗 -뿗 -뿗 -뿗 - -뿘 -뿘 -뿘 -뿘 -뿘 - -뿙 -뿙 -뿙 -뿙 -뿙 - -뿚 -뿚 -뿚 -뿚 -뿚 - -뿛 -뿛 -뿛 -뿛 -뿛 - -뿜 -뿜 -뿜 -뿜 -뿜 - -뿝 -뿝 -뿝 -뿝 -뿝 - -뿞 -뿞 -뿞 -뿞 -뿞 - -뿟 -뿟 -뿟 -뿟 -뿟 - -뿠 -뿠 -뿠 -뿠 -뿠 - -뿡 -뿡 -뿡 -뿡 -뿡 - -뿢 -뿢 -뿢 -뿢 -뿢 - -뿣 -뿣 -뿣 -뿣 -뿣 - -뿤 -뿤 -뿤 -뿤 -뿤 - -뿥 -뿥 -뿥 -뿥 -뿥 - -뿦 -뿦 -뿦 -뿦 -뿦 - -뿧 -뿧 -뿧 -뿧 -뿧 - -뿨 -뿨 -뿨 -뿨 -뿨 - -뿩 -뿩 -뿩 -뿩 -뿩 - -뿪 -뿪 -뿪 -뿪 -뿪 - -뿫 -뿫 -뿫 -뿫 -뿫 - -뿬 -뿬 -뿬 -뿬 -뿬 - -뿭 -뿭 -뿭 -뿭 -뿭 - -뿮 -뿮 -뿮 -뿮 -뿮 - -뿯 -뿯 -뿯 -뿯 -뿯 - -뿰 -뿰 -뿰 -뿰 -뿰 - -뿱 -뿱 -뿱 -뿱 -뿱 - -뿲 -뿲 -뿲 -뿲 -뿲 - -뿳 -뿳 -뿳 -뿳 -뿳 - -뿴 -뿴 -뿴 -뿴 -뿴 - -뿵 -뿵 -뿵 -뿵 -뿵 - -뿶 -뿶 -뿶 -뿶 -뿶 - -뿷 -뿷 -뿷 -뿷 -뿷 - -뿸 -뿸 -뿸 -뿸 -뿸 - -뿹 -뿹 -뿹 -뿹 -뿹 - -뿺 -뿺 -뿺 -뿺 -뿺 - -뿻 -뿻 -뿻 -뿻 -뿻 - -뿼 -뿼 -뿼 -뿼 -뿼 - -뿽 -뿽 -뿽 -뿽 -뿽 - -뿾 -뿾 -뿾 -뿾 -뿾 - -뿿 -뿿 -뿿 -뿿 -뿿 - -쀀 -쀀 -쀀 -쀀 -쀀 - -쀁 -쀁 -쀁 -쀁 -쀁 - -쀂 -쀂 -쀂 -쀂 -쀂 - -쀃 -쀃 -쀃 -쀃 -쀃 - -쀄 -쀄 -쀄 -쀄 -쀄 - -쀅 -쀅 -쀅 -쀅 -쀅 - -쀆 -쀆 -쀆 -쀆 -쀆 - -쀇 -쀇 -쀇 -쀇 -쀇 - -쀈 -쀈 -쀈 -쀈 -쀈 - -쀉 -쀉 -쀉 -쀉 -쀉 - -쀊 -쀊 -쀊 -쀊 -쀊 - -쀋 -쀋 -쀋 -쀋 -쀋 - -쀌 -쀌 -쀌 -쀌 -쀌 - -쀍 -쀍 -쀍 -쀍 -쀍 - -쀎 -쀎 -쀎 -쀎 -쀎 - -쀏 -쀏 -쀏 -쀏 -쀏 - -쀐 -쀐 -쀐 -쀐 -쀐 - -쀑 -쀑 -쀑 -쀑 -쀑 - -쀒 -쀒 -쀒 -쀒 -쀒 - -쀓 -쀓 -쀓 -쀓 -쀓 - -쀔 -쀔 -쀔 -쀔 -쀔 - -쀕 -쀕 -쀕 -쀕 -쀕 - -쀖 -쀖 -쀖 -쀖 -쀖 - -쀗 -쀗 -쀗 -쀗 -쀗 - -쀘 -쀘 -쀘 -쀘 -쀘 - -쀙 -쀙 -쀙 -쀙 -쀙 - -쀚 -쀚 -쀚 -쀚 -쀚 - -쀛 -쀛 -쀛 -쀛 -쀛 - -쀜 -쀜 -쀜 -쀜 -쀜 - -쀝 -쀝 -쀝 -쀝 -쀝 - -쀞 -쀞 -쀞 -쀞 -쀞 - -쀟 -쀟 -쀟 -쀟 -쀟 - -쀠 -쀠 -쀠 -쀠 -쀠 - -쀡 -쀡 -쀡 -쀡 -쀡 - -쀢 -쀢 -쀢 -쀢 -쀢 - -쀣 -쀣 -쀣 -쀣 -쀣 - -쀤 -쀤 -쀤 -쀤 -쀤 - -쀥 -쀥 -쀥 -쀥 -쀥 - -쀦 -쀦 -쀦 -쀦 -쀦 - -쀧 -쀧 -쀧 -쀧 -쀧 - -쀨 -쀨 -쀨 -쀨 -쀨 - -쀩 -쀩 -쀩 -쀩 -쀩 - -쀪 -쀪 -쀪 -쀪 -쀪 - -쀫 -쀫 -쀫 -쀫 -쀫 - -쀬 -쀬 -쀬 -쀬 -쀬 - -쀭 -쀭 -쀭 -쀭 -쀭 - -쀮 -쀮 -쀮 -쀮 -쀮 - -쀯 -쀯 -쀯 -쀯 -쀯 - -쀰 -쀰 -쀰 -쀰 -쀰 - -쀱 -쀱 -쀱 -쀱 -쀱 - -쀲 -쀲 -쀲 -쀲 -쀲 - -쀳 -쀳 -쀳 -쀳 -쀳 - -쀴 -쀴 -쀴 -쀴 -쀴 - -쀵 -쀵 -쀵 -쀵 -쀵 - -쀶 -쀶 -쀶 -쀶 -쀶 - -쀷 -쀷 -쀷 -쀷 -쀷 - -쀸 -쀸 -쀸 -쀸 -쀸 - -쀹 -쀹 -쀹 -쀹 -쀹 - -쀺 -쀺 -쀺 -쀺 -쀺 - -쀻 -쀻 -쀻 -쀻 -쀻 - -쀼 -쀼 -쀼 -쀼 -쀼 - -쀽 -쀽 -쀽 -쀽 -쀽 - -쀾 -쀾 -쀾 -쀾 -쀾 - -쀿 -쀿 -쀿 -쀿 -쀿 - -쁀 -쁀 -쁀 -쁀 -쁀 - -쁁 -쁁 -쁁 -쁁 -쁁 - -쁂 -쁂 -쁂 -쁂 -쁂 - -쁃 -쁃 -쁃 -쁃 -쁃 - -쁄 -쁄 -쁄 -쁄 -쁄 - -쁅 -쁅 -쁅 -쁅 -쁅 - -쁆 -쁆 -쁆 -쁆 -쁆 - -쁇 -쁇 -쁇 -쁇 -쁇 - -쁈 -쁈 -쁈 -쁈 -쁈 - -쁉 -쁉 -쁉 -쁉 -쁉 - -쁊 -쁊 -쁊 -쁊 -쁊 - -쁋 -쁋 -쁋 -쁋 -쁋 - -쁌 -쁌 -쁌 -쁌 -쁌 - -쁍 -쁍 -쁍 -쁍 -쁍 - -쁎 -쁎 -쁎 -쁎 -쁎 - -쁏 -쁏 -쁏 -쁏 -쁏 - -쁐 -쁐 -쁐 -쁐 -쁐 - -쁑 -쁑 -쁑 -쁑 -쁑 - -쁒 -쁒 -쁒 -쁒 -쁒 - -쁓 -쁓 -쁓 -쁓 -쁓 - -쁔 -쁔 -쁔 -쁔 -쁔 - -쁕 -쁕 -쁕 -쁕 -쁕 - -쁖 -쁖 -쁖 -쁖 -쁖 - -쁗 -쁗 -쁗 -쁗 -쁗 - -쁘 -쁘 -쁘 -쁘 -쁘 - -쁙 -쁙 -쁙 -쁙 -쁙 - -쁚 -쁚 -쁚 -쁚 -쁚 - -쁛 -쁛 -쁛 -쁛 -쁛 - -쁜 -쁜 -쁜 -쁜 -쁜 - -쁝 -쁝 -쁝 -쁝 -쁝 - -쁞 -쁞 -쁞 -쁞 -쁞 - -쁟 -쁟 -쁟 -쁟 -쁟 - -쁠 -쁠 -쁠 -쁠 -쁠 - -쁡 -쁡 -쁡 -쁡 -쁡 - -쁢 -쁢 -쁢 -쁢 -쁢 - -쁣 -쁣 -쁣 -쁣 -쁣 - -쁤 -쁤 -쁤 -쁤 -쁤 - -쁥 -쁥 -쁥 -쁥 -쁥 - -쁦 -쁦 -쁦 -쁦 -쁦 - -쁧 -쁧 -쁧 -쁧 -쁧 - -쁨 -쁨 -쁨 -쁨 -쁨 - -쁩 -쁩 -쁩 -쁩 -쁩 - -쁪 -쁪 -쁪 -쁪 -쁪 - -쁫 -쁫 -쁫 -쁫 -쁫 - -쁬 -쁬 -쁬 -쁬 -쁬 - -쁭 -쁭 -쁭 -쁭 -쁭 - -쁮 -쁮 -쁮 -쁮 -쁮 - -쁯 -쁯 -쁯 -쁯 -쁯 - -쁰 -쁰 -쁰 -쁰 -쁰 - -쁱 -쁱 -쁱 -쁱 -쁱 - -쁲 -쁲 -쁲 -쁲 -쁲 - -쁳 -쁳 -쁳 -쁳 -쁳 - -쁴 -쁴 -쁴 -쁴 -쁴 - -쁵 -쁵 -쁵 -쁵 -쁵 - -쁶 -쁶 -쁶 -쁶 -쁶 - -쁷 -쁷 -쁷 -쁷 -쁷 - -쁸 -쁸 -쁸 -쁸 -쁸 - -쁹 -쁹 -쁹 -쁹 -쁹 - -쁺 -쁺 -쁺 -쁺 -쁺 - -쁻 -쁻 -쁻 -쁻 -쁻 - -쁼 -쁼 -쁼 -쁼 -쁼 - -쁽 -쁽 -쁽 -쁽 -쁽 - -쁾 -쁾 -쁾 -쁾 -쁾 - -쁿 -쁿 -쁿 -쁿 -쁿 - -삀 -삀 -삀 -삀 -삀 - -삁 -삁 -삁 -삁 -삁 - -삂 -삂 -삂 -삂 -삂 - -삃 -삃 -삃 -삃 -삃 - -삄 -삄 -삄 -삄 -삄 - -삅 -삅 -삅 -삅 -삅 - -삆 -삆 -삆 -삆 -삆 - -삇 -삇 -삇 -삇 -삇 - -삈 -삈 -삈 -삈 -삈 - -삉 -삉 -삉 -삉 -삉 - -삊 -삊 -삊 -삊 -삊 - -삋 -삋 -삋 -삋 -삋 - -삌 -삌 -삌 -삌 -삌 - -삍 -삍 -삍 -삍 -삍 - -삎 -삎 -삎 -삎 -삎 - -삏 -삏 -삏 -삏 -삏 - -삐 -삐 -삐 -삐 -삐 - -삑 -삑 -삑 -삑 -삑 - -삒 -삒 -삒 -삒 -삒 - -삓 -삓 -삓 -삓 -삓 - -삔 -삔 -삔 -삔 -삔 - -삕 -삕 -삕 -삕 -삕 - -삖 -삖 -삖 -삖 -삖 - -삗 -삗 -삗 -삗 -삗 - -삘 -삘 -삘 -삘 -삘 - -삙 -삙 -삙 -삙 -삙 - -삚 -삚 -삚 -삚 -삚 - -삛 -삛 -삛 -삛 -삛 - -삜 -삜 -삜 -삜 -삜 - -삝 -삝 -삝 -삝 -삝 - -삞 -삞 -삞 -삞 -삞 - -삟 -삟 -삟 -삟 -삟 - -삠 -삠 -삠 -삠 -삠 - -삡 -삡 -삡 -삡 -삡 - -삢 -삢 -삢 -삢 -삢 - -삣 -삣 -삣 -삣 -삣 - -삤 -삤 -삤 -삤 -삤 - -삥 -삥 -삥 -삥 -삥 - -삦 -삦 -삦 -삦 -삦 - -삧 -삧 -삧 -삧 -삧 - -삨 -삨 -삨 -삨 -삨 - -삩 -삩 -삩 -삩 -삩 - -삪 -삪 -삪 -삪 -삪 - -삫 -삫 -삫 -삫 -삫 - -사 -사 -사 -사 -사 - -삭 -삭 -삭 -삭 -삭 - -삮 -삮 -삮 -삮 -삮 - -삯 -삯 -삯 -삯 -삯 - -산 -산 -산 -산 -산 - -삱 -삱 -삱 -삱 -삱 - -삲 -삲 -삲 -삲 -삲 - -삳 -삳 -삳 -삳 -삳 - -살 -살 -살 -살 -살 - -삵 -삵 -삵 -삵 -삵 - -삶 -삶 -삶 -삶 -삶 - -삷 -삷 -삷 -삷 -삷 - -삸 -삸 -삸 -삸 -삸 - -삹 -삹 -삹 -삹 -삹 - -삺 -삺 -삺 -삺 -삺 - -삻 -삻 -삻 -삻 -삻 - -삼 -삼 -삼 -삼 -삼 - -삽 -삽 -삽 -삽 -삽 - -삾 -삾 -삾 -삾 -삾 - -삿 -삿 -삿 -삿 -삿 - -샀 -샀 -샀 -샀 -샀 - -상 -상 -상 -상 -상 - -샂 -샂 -샂 -샂 -샂 - -샃 -샃 -샃 -샃 -샃 - -샄 -샄 -샄 -샄 -샄 - -샅 -샅 -샅 -샅 -샅 - -샆 -샆 -샆 -샆 -샆 - -샇 -샇 -샇 -샇 -샇 - -새 -새 -새 -새 -새 - -색 -색 -색 -색 -색 - -샊 -샊 -샊 -샊 -샊 - -샋 -샋 -샋 -샋 -샋 - -샌 -샌 -샌 -샌 -샌 - -샍 -샍 -샍 -샍 -샍 - -샎 -샎 -샎 -샎 -샎 - -샏 -샏 -샏 -샏 -샏 - -샐 -샐 -샐 -샐 -샐 - -샑 -샑 -샑 -샑 -샑 - -샒 -샒 -샒 -샒 -샒 - -샓 -샓 -샓 -샓 -샓 - -샔 -샔 -샔 -샔 -샔 - -샕 -샕 -샕 -샕 -샕 - -샖 -샖 -샖 -샖 -샖 - -샗 -샗 -샗 -샗 -샗 - -샘 -샘 -샘 -샘 -샘 - -샙 -샙 -샙 -샙 -샙 - -샚 -샚 -샚 -샚 -샚 - -샛 -샛 -샛 -샛 -샛 - -샜 -샜 -샜 -샜 -샜 - -생 -생 -생 -생 -생 - -샞 -샞 -샞 -샞 -샞 - -샟 -샟 -샟 -샟 -샟 - -샠 -샠 -샠 -샠 -샠 - -샡 -샡 -샡 -샡 -샡 - -샢 -샢 -샢 -샢 -샢 - -샣 -샣 -샣 -샣 -샣 - -샤 -샤 -샤 -샤 -샤 - -샥 -샥 -샥 -샥 -샥 - -샦 -샦 -샦 -샦 -샦 - -샧 -샧 -샧 -샧 -샧 - -샨 -샨 -샨 -샨 -샨 - -샩 -샩 -샩 -샩 -샩 - -샪 -샪 -샪 -샪 -샪 - -샫 -샫 -샫 -샫 -샫 - -샬 -샬 -샬 -샬 -샬 - -샭 -샭 -샭 -샭 -샭 - -샮 -샮 -샮 -샮 -샮 - -샯 -샯 -샯 -샯 -샯 - -샰 -샰 -샰 -샰 -샰 - -샱 -샱 -샱 -샱 -샱 - -샲 -샲 -샲 -샲 -샲 - -샳 -샳 -샳 -샳 -샳 - -샴 -샴 -샴 -샴 -샴 - -샵 -샵 -샵 -샵 -샵 - -샶 -샶 -샶 -샶 -샶 - -샷 -샷 -샷 -샷 -샷 - -샸 -샸 -샸 -샸 -샸 - -샹 -샹 -샹 -샹 -샹 - -샺 -샺 -샺 -샺 -샺 - -샻 -샻 -샻 -샻 -샻 - -샼 -샼 -샼 -샼 -샼 - -샽 -샽 -샽 -샽 -샽 - -샾 -샾 -샾 -샾 -샾 - -샿 -샿 -샿 -샿 -샿 - -섀 -섀 -섀 -섀 -섀 - -섁 -섁 -섁 -섁 -섁 - -섂 -섂 -섂 -섂 -섂 - -섃 -섃 -섃 -섃 -섃 - -섄 -섄 -섄 -섄 -섄 - -섅 -섅 -섅 -섅 -섅 - -섆 -섆 -섆 -섆 -섆 - -섇 -섇 -섇 -섇 -섇 - -섈 -섈 -섈 -섈 -섈 - -섉 -섉 -섉 -섉 -섉 - -섊 -섊 -섊 -섊 -섊 - -섋 -섋 -섋 -섋 -섋 - -섌 -섌 -섌 -섌 -섌 - -섍 -섍 -섍 -섍 -섍 - -섎 -섎 -섎 -섎 -섎 - -섏 -섏 -섏 -섏 -섏 - -섐 -섐 -섐 -섐 -섐 - -섑 -섑 -섑 -섑 -섑 - -섒 -섒 -섒 -섒 -섒 - -섓 -섓 -섓 -섓 -섓 - -섔 -섔 -섔 -섔 -섔 - -섕 -섕 -섕 -섕 -섕 - -섖 -섖 -섖 -섖 -섖 - -섗 -섗 -섗 -섗 -섗 - -섘 -섘 -섘 -섘 -섘 - -섙 -섙 -섙 -섙 -섙 - -섚 -섚 -섚 -섚 -섚 - -섛 -섛 -섛 -섛 -섛 - -서 -서 -서 -서 -서 - -석 -석 -석 -석 -석 - -섞 -섞 -섞 -섞 -섞 - -섟 -섟 -섟 -섟 -섟 - -선 -선 -선 -선 -선 - -섡 -섡 -섡 -섡 -섡 - -섢 -섢 -섢 -섢 -섢 - -섣 -섣 -섣 -섣 -섣 - -설 -설 -설 -설 -설 - -섥 -섥 -섥 -섥 -섥 - -섦 -섦 -섦 -섦 -섦 - -섧 -섧 -섧 -섧 -섧 - -섨 -섨 -섨 -섨 -섨 - -섩 -섩 -섩 -섩 -섩 - -섪 -섪 -섪 -섪 -섪 - -섫 -섫 -섫 -섫 -섫 - -섬 -섬 -섬 -섬 -섬 - -섭 -섭 -섭 -섭 -섭 - -섮 -섮 -섮 -섮 -섮 - -섯 -섯 -섯 -섯 -섯 - -섰 -섰 -섰 -섰 -섰 - -성 -성 -성 -성 -성 - -섲 -섲 -섲 -섲 -섲 - -섳 -섳 -섳 -섳 -섳 - -섴 -섴 -섴 -섴 -섴 - -섵 -섵 -섵 -섵 -섵 - -섶 -섶 -섶 -섶 -섶 - -섷 -섷 -섷 -섷 -섷 - -세 -세 -세 -세 -세 - -섹 -섹 -섹 -섹 -섹 - -섺 -섺 -섺 -섺 -섺 - -섻 -섻 -섻 -섻 -섻 - -센 -센 -센 -센 -센 - -섽 -섽 -섽 -섽 -섽 - -섾 -섾 -섾 -섾 -섾 - -섿 -섿 -섿 -섿 -섿 - -셀 -셀 -셀 -셀 -셀 - -셁 -셁 -셁 -셁 -셁 - -셂 -셂 -셂 -셂 -셂 - -셃 -셃 -셃 -셃 -셃 - -셄 -셄 -셄 -셄 -셄 - -셅 -셅 -셅 -셅 -셅 - -셆 -셆 -셆 -셆 -셆 - -셇 -셇 -셇 -셇 -셇 - -셈 -셈 -셈 -셈 -셈 - -셉 -셉 -셉 -셉 -셉 - -셊 -셊 -셊 -셊 -셊 - -셋 -셋 -셋 -셋 -셋 - -셌 -셌 -셌 -셌 -셌 - -셍 -셍 -셍 -셍 -셍 - -셎 -셎 -셎 -셎 -셎 - -셏 -셏 -셏 -셏 -셏 - -셐 -셐 -셐 -셐 -셐 - -셑 -셑 -셑 -셑 -셑 - -셒 -셒 -셒 -셒 -셒 - -셓 -셓 -셓 -셓 -셓 - -셔 -셔 -셔 -셔 -셔 - -셕 -셕 -셕 -셕 -셕 - -셖 -셖 -셖 -셖 -셖 - -셗 -셗 -셗 -셗 -셗 - -션 -션 -션 -션 -션 - -셙 -셙 -셙 -셙 -셙 - -셚 -셚 -셚 -셚 -셚 - -셛 -셛 -셛 -셛 -셛 - -셜 -셜 -셜 -셜 -셜 - -셝 -셝 -셝 -셝 -셝 - -셞 -셞 -셞 -셞 -셞 - -셟 -셟 -셟 -셟 -셟 - -셠 -셠 -셠 -셠 -셠 - -셡 -셡 -셡 -셡 -셡 - -셢 -셢 -셢 -셢 -셢 - -셣 -셣 -셣 -셣 -셣 - -셤 -셤 -셤 -셤 -셤 - -셥 -셥 -셥 -셥 -셥 - -셦 -셦 -셦 -셦 -셦 - -셧 -셧 -셧 -셧 -셧 - -셨 -셨 -셨 -셨 -셨 - -셩 -셩 -셩 -셩 -셩 - -셪 -셪 -셪 -셪 -셪 - -셫 -셫 -셫 -셫 -셫 - -셬 -셬 -셬 -셬 -셬 - -셭 -셭 -셭 -셭 -셭 - -셮 -셮 -셮 -셮 -셮 - -셯 -셯 -셯 -셯 -셯 - -셰 -셰 -셰 -셰 -셰 - -셱 -셱 -셱 -셱 -셱 - -셲 -셲 -셲 -셲 -셲 - -셳 -셳 -셳 -셳 -셳 - -셴 -셴 -셴 -셴 -셴 - -셵 -셵 -셵 -셵 -셵 - -셶 -셶 -셶 -셶 -셶 - -셷 -셷 -셷 -셷 -셷 - -셸 -셸 -셸 -셸 -셸 - -셹 -셹 -셹 -셹 -셹 - -셺 -셺 -셺 -셺 -셺 - -셻 -셻 -셻 -셻 -셻 - -셼 -셼 -셼 -셼 -셼 - -셽 -셽 -셽 -셽 -셽 - -셾 -셾 -셾 -셾 -셾 - -셿 -셿 -셿 -셿 -셿 - -솀 -솀 -솀 -솀 -솀 - -솁 -솁 -솁 -솁 -솁 - -솂 -솂 -솂 -솂 -솂 - -솃 -솃 -솃 -솃 -솃 - -솄 -솄 -솄 -솄 -솄 - -솅 -솅 -솅 -솅 -솅 - -솆 -솆 -솆 -솆 -솆 - -솇 -솇 -솇 -솇 -솇 - -솈 -솈 -솈 -솈 -솈 - -솉 -솉 -솉 -솉 -솉 - -솊 -솊 -솊 -솊 -솊 - -솋 -솋 -솋 -솋 -솋 - -소 -소 -소 -소 -소 - -속 -속 -속 -속 -속 - -솎 -솎 -솎 -솎 -솎 - -솏 -솏 -솏 -솏 -솏 - -손 -손 -손 -손 -손 - -솑 -솑 -솑 -솑 -솑 - -솒 -솒 -솒 -솒 -솒 - -솓 -솓 -솓 -솓 -솓 - -솔 -솔 -솔 -솔 -솔 - -솕 -솕 -솕 -솕 -솕 - -솖 -솖 -솖 -솖 -솖 - -솗 -솗 -솗 -솗 -솗 - -솘 -솘 -솘 -솘 -솘 - -솙 -솙 -솙 -솙 -솙 - -솚 -솚 -솚 -솚 -솚 - -솛 -솛 -솛 -솛 -솛 - -솜 -솜 -솜 -솜 -솜 - -솝 -솝 -솝 -솝 -솝 - -솞 -솞 -솞 -솞 -솞 - -솟 -솟 -솟 -솟 -솟 - -솠 -솠 -솠 -솠 -솠 - -송 -송 -송 -송 -송 - -솢 -솢 -솢 -솢 -솢 - -솣 -솣 -솣 -솣 -솣 - -솤 -솤 -솤 -솤 -솤 - -솥 -솥 -솥 -솥 -솥 - -솦 -솦 -솦 -솦 -솦 - -솧 -솧 -솧 -솧 -솧 - -솨 -솨 -솨 -솨 -솨 - -솩 -솩 -솩 -솩 -솩 - -솪 -솪 -솪 -솪 -솪 - -솫 -솫 -솫 -솫 -솫 - -솬 -솬 -솬 -솬 -솬 - -솭 -솭 -솭 -솭 -솭 - -솮 -솮 -솮 -솮 -솮 - -솯 -솯 -솯 -솯 -솯 - -솰 -솰 -솰 -솰 -솰 - -솱 -솱 -솱 -솱 -솱 - -솲 -솲 -솲 -솲 -솲 - -솳 -솳 -솳 -솳 -솳 - -솴 -솴 -솴 -솴 -솴 - -솵 -솵 -솵 -솵 -솵 - -솶 -솶 -솶 -솶 -솶 - -솷 -솷 -솷 -솷 -솷 - -솸 -솸 -솸 -솸 -솸 - -솹 -솹 -솹 -솹 -솹 - -솺 -솺 -솺 -솺 -솺 - -솻 -솻 -솻 -솻 -솻 - -솼 -솼 -솼 -솼 -솼 - -솽 -솽 -솽 -솽 -솽 - -솾 -솾 -솾 -솾 -솾 - -솿 -솿 -솿 -솿 -솿 - -쇀 -쇀 -쇀 -쇀 -쇀 - -쇁 -쇁 -쇁 -쇁 -쇁 - -쇂 -쇂 -쇂 -쇂 -쇂 - -쇃 -쇃 -쇃 -쇃 -쇃 - -쇄 -쇄 -쇄 -쇄 -쇄 - -쇅 -쇅 -쇅 -쇅 -쇅 - -쇆 -쇆 -쇆 -쇆 -쇆 - -쇇 -쇇 -쇇 -쇇 -쇇 - -쇈 -쇈 -쇈 -쇈 -쇈 - -쇉 -쇉 -쇉 -쇉 -쇉 - -쇊 -쇊 -쇊 -쇊 -쇊 - -쇋 -쇋 -쇋 -쇋 -쇋 - -쇌 -쇌 -쇌 -쇌 -쇌 - -쇍 -쇍 -쇍 -쇍 -쇍 - -쇎 -쇎 -쇎 -쇎 -쇎 - -쇏 -쇏 -쇏 -쇏 -쇏 - -쇐 -쇐 -쇐 -쇐 -쇐 - -쇑 -쇑 -쇑 -쇑 -쇑 - -쇒 -쇒 -쇒 -쇒 -쇒 - -쇓 -쇓 -쇓 -쇓 -쇓 - -쇔 -쇔 -쇔 -쇔 -쇔 - -쇕 -쇕 -쇕 -쇕 -쇕 - -쇖 -쇖 -쇖 -쇖 -쇖 - -쇗 -쇗 -쇗 -쇗 -쇗 - -쇘 -쇘 -쇘 -쇘 -쇘 - -쇙 -쇙 -쇙 -쇙 -쇙 - -쇚 -쇚 -쇚 -쇚 -쇚 - -쇛 -쇛 -쇛 -쇛 -쇛 - -쇜 -쇜 -쇜 -쇜 -쇜 - -쇝 -쇝 -쇝 -쇝 -쇝 - -쇞 -쇞 -쇞 -쇞 -쇞 - -쇟 -쇟 -쇟 -쇟 -쇟 - -쇠 -쇠 -쇠 -쇠 -쇠 - -쇡 -쇡 -쇡 -쇡 -쇡 - -쇢 -쇢 -쇢 -쇢 -쇢 - -쇣 -쇣 -쇣 -쇣 -쇣 - -쇤 -쇤 -쇤 -쇤 -쇤 - -쇥 -쇥 -쇥 -쇥 -쇥 - -쇦 -쇦 -쇦 -쇦 -쇦 - -쇧 -쇧 -쇧 -쇧 -쇧 - -쇨 -쇨 -쇨 -쇨 -쇨 - -쇩 -쇩 -쇩 -쇩 -쇩 - -쇪 -쇪 -쇪 -쇪 -쇪 - -쇫 -쇫 -쇫 -쇫 -쇫 - -쇬 -쇬 -쇬 -쇬 -쇬 - -쇭 -쇭 -쇭 -쇭 -쇭 - -쇮 -쇮 -쇮 -쇮 -쇮 - -쇯 -쇯 -쇯 -쇯 -쇯 - -쇰 -쇰 -쇰 -쇰 -쇰 - -쇱 -쇱 -쇱 -쇱 -쇱 - -쇲 -쇲 -쇲 -쇲 -쇲 - -쇳 -쇳 -쇳 -쇳 -쇳 - -쇴 -쇴 -쇴 -쇴 -쇴 - -쇵 -쇵 -쇵 -쇵 -쇵 - -쇶 -쇶 -쇶 -쇶 -쇶 - -쇷 -쇷 -쇷 -쇷 -쇷 - -쇸 -쇸 -쇸 -쇸 -쇸 - -쇹 -쇹 -쇹 -쇹 -쇹 - -쇺 -쇺 -쇺 -쇺 -쇺 - -쇻 -쇻 -쇻 -쇻 -쇻 - -쇼 -쇼 -쇼 -쇼 -쇼 - -쇽 -쇽 -쇽 -쇽 -쇽 - -쇾 -쇾 -쇾 -쇾 -쇾 - -쇿 -쇿 -쇿 -쇿 -쇿 - -숀 -숀 -숀 -숀 -숀 - -숁 -숁 -숁 -숁 -숁 - -숂 -숂 -숂 -숂 -숂 - -숃 -숃 -숃 -숃 -숃 - -숄 -숄 -숄 -숄 -숄 - -숅 -숅 -숅 -숅 -숅 - -숆 -숆 -숆 -숆 -숆 - -숇 -숇 -숇 -숇 -숇 - -숈 -숈 -숈 -숈 -숈 - -숉 -숉 -숉 -숉 -숉 - -숊 -숊 -숊 -숊 -숊 - -숋 -숋 -숋 -숋 -숋 - -숌 -숌 -숌 -숌 -숌 - -숍 -숍 -숍 -숍 -숍 - -숎 -숎 -숎 -숎 -숎 - -숏 -숏 -숏 -숏 -숏 - -숐 -숐 -숐 -숐 -숐 - -숑 -숑 -숑 -숑 -숑 - -숒 -숒 -숒 -숒 -숒 - -숓 -숓 -숓 -숓 -숓 - -숔 -숔 -숔 -숔 -숔 - -숕 -숕 -숕 -숕 -숕 - -숖 -숖 -숖 -숖 -숖 - -숗 -숗 -숗 -숗 -숗 - -수 -수 -수 -수 -수 - -숙 -숙 -숙 -숙 -숙 - -숚 -숚 -숚 -숚 -숚 - -숛 -숛 -숛 -숛 -숛 - -순 -순 -순 -순 -순 - -숝 -숝 -숝 -숝 -숝 - -숞 -숞 -숞 -숞 -숞 - -숟 -숟 -숟 -숟 -숟 - -술 -술 -술 -술 -술 - -숡 -숡 -숡 -숡 -숡 - -숢 -숢 -숢 -숢 -숢 - -숣 -숣 -숣 -숣 -숣 - -숤 -숤 -숤 -숤 -숤 - -숥 -숥 -숥 -숥 -숥 - -숦 -숦 -숦 -숦 -숦 - -숧 -숧 -숧 -숧 -숧 - -숨 -숨 -숨 -숨 -숨 - -숩 -숩 -숩 -숩 -숩 - -숪 -숪 -숪 -숪 -숪 - -숫 -숫 -숫 -숫 -숫 - -숬 -숬 -숬 -숬 -숬 - -숭 -숭 -숭 -숭 -숭 - -숮 -숮 -숮 -숮 -숮 - -숯 -숯 -숯 -숯 -숯 - -숰 -숰 -숰 -숰 -숰 - -숱 -숱 -숱 -숱 -숱 - -숲 -숲 -숲 -숲 -숲 - -숳 -숳 -숳 -숳 -숳 - -숴 -숴 -숴 -숴 -숴 - -숵 -숵 -숵 -숵 -숵 - -숶 -숶 -숶 -숶 -숶 - -숷 -숷 -숷 -숷 -숷 - -숸 -숸 -숸 -숸 -숸 - -숹 -숹 -숹 -숹 -숹 - -숺 -숺 -숺 -숺 -숺 - -숻 -숻 -숻 -숻 -숻 - -숼 -숼 -숼 -숼 -숼 - -숽 -숽 -숽 -숽 -숽 - -숾 -숾 -숾 -숾 -숾 - -숿 -숿 -숿 -숿 -숿 - -쉀 -쉀 -쉀 -쉀 -쉀 - -쉁 -쉁 -쉁 -쉁 -쉁 - -쉂 -쉂 -쉂 -쉂 -쉂 - -쉃 -쉃 -쉃 -쉃 -쉃 - -쉄 -쉄 -쉄 -쉄 -쉄 - -쉅 -쉅 -쉅 -쉅 -쉅 - -쉆 -쉆 -쉆 -쉆 -쉆 - -쉇 -쉇 -쉇 -쉇 -쉇 - -쉈 -쉈 -쉈 -쉈 -쉈 - -쉉 -쉉 -쉉 -쉉 -쉉 - -쉊 -쉊 -쉊 -쉊 -쉊 - -쉋 -쉋 -쉋 -쉋 -쉋 - -쉌 -쉌 -쉌 -쉌 -쉌 - -쉍 -쉍 -쉍 -쉍 -쉍 - -쉎 -쉎 -쉎 -쉎 -쉎 - -쉏 -쉏 -쉏 -쉏 -쉏 - -쉐 -쉐 -쉐 -쉐 -쉐 - -쉑 -쉑 -쉑 -쉑 -쉑 - -쉒 -쉒 -쉒 -쉒 -쉒 - -쉓 -쉓 -쉓 -쉓 -쉓 - -쉔 -쉔 -쉔 -쉔 -쉔 - -쉕 -쉕 -쉕 -쉕 -쉕 - -쉖 -쉖 -쉖 -쉖 -쉖 - -쉗 -쉗 -쉗 -쉗 -쉗 - -쉘 -쉘 -쉘 -쉘 -쉘 - -쉙 -쉙 -쉙 -쉙 -쉙 - -쉚 -쉚 -쉚 -쉚 -쉚 - -쉛 -쉛 -쉛 -쉛 -쉛 - -쉜 -쉜 -쉜 -쉜 -쉜 - -쉝 -쉝 -쉝 -쉝 -쉝 - -쉞 -쉞 -쉞 -쉞 -쉞 - -쉟 -쉟 -쉟 -쉟 -쉟 - -쉠 -쉠 -쉠 -쉠 -쉠 - -쉡 -쉡 -쉡 -쉡 -쉡 - -쉢 -쉢 -쉢 -쉢 -쉢 - -쉣 -쉣 -쉣 -쉣 -쉣 - -쉤 -쉤 -쉤 -쉤 -쉤 - -쉥 -쉥 -쉥 -쉥 -쉥 - -쉦 -쉦 -쉦 -쉦 -쉦 - -쉧 -쉧 -쉧 -쉧 -쉧 - -쉨 -쉨 -쉨 -쉨 -쉨 - -쉩 -쉩 -쉩 -쉩 -쉩 - -쉪 -쉪 -쉪 -쉪 -쉪 - -쉫 -쉫 -쉫 -쉫 -쉫 - -쉬 -쉬 -쉬 -쉬 -쉬 - -쉭 -쉭 -쉭 -쉭 -쉭 - -쉮 -쉮 -쉮 -쉮 -쉮 - -쉯 -쉯 -쉯 -쉯 -쉯 - -쉰 -쉰 -쉰 -쉰 -쉰 - -쉱 -쉱 -쉱 -쉱 -쉱 - -쉲 -쉲 -쉲 -쉲 -쉲 - -쉳 -쉳 -쉳 -쉳 -쉳 - -쉴 -쉴 -쉴 -쉴 -쉴 - -쉵 -쉵 -쉵 -쉵 -쉵 - -쉶 -쉶 -쉶 -쉶 -쉶 - -쉷 -쉷 -쉷 -쉷 -쉷 - -쉸 -쉸 -쉸 -쉸 -쉸 - -쉹 -쉹 -쉹 -쉹 -쉹 - -쉺 -쉺 -쉺 -쉺 -쉺 - -쉻 -쉻 -쉻 -쉻 -쉻 - -쉼 -쉼 -쉼 -쉼 -쉼 - -쉽 -쉽 -쉽 -쉽 -쉽 - -쉾 -쉾 -쉾 -쉾 -쉾 - -쉿 -쉿 -쉿 -쉿 -쉿 - -슀 -슀 -슀 -슀 -슀 - -슁 -슁 -슁 -슁 -슁 - -슂 -슂 -슂 -슂 -슂 - -슃 -슃 -슃 -슃 -슃 - -슄 -슄 -슄 -슄 -슄 - -슅 -슅 -슅 -슅 -슅 - -슆 -슆 -슆 -슆 -슆 - -슇 -슇 -슇 -슇 -슇 - -슈 -슈 -슈 -슈 -슈 - -슉 -슉 -슉 -슉 -슉 - -슊 -슊 -슊 -슊 -슊 - -슋 -슋 -슋 -슋 -슋 - -슌 -슌 -슌 -슌 -슌 - -슍 -슍 -슍 -슍 -슍 - -슎 -슎 -슎 -슎 -슎 - -슏 -슏 -슏 -슏 -슏 - -슐 -슐 -슐 -슐 -슐 - -슑 -슑 -슑 -슑 -슑 - -슒 -슒 -슒 -슒 -슒 - -슓 -슓 -슓 -슓 -슓 - -슔 -슔 -슔 -슔 -슔 - -슕 -슕 -슕 -슕 -슕 - -슖 -슖 -슖 -슖 -슖 - -슗 -슗 -슗 -슗 -슗 - -슘 -슘 -슘 -슘 -슘 - -슙 -슙 -슙 -슙 -슙 - -슚 -슚 -슚 -슚 -슚 - -슛 -슛 -슛 -슛 -슛 - -슜 -슜 -슜 -슜 -슜 - -슝 -슝 -슝 -슝 -슝 - -슞 -슞 -슞 -슞 -슞 - -슟 -슟 -슟 -슟 -슟 - -슠 -슠 -슠 -슠 -슠 - -슡 -슡 -슡 -슡 -슡 - -슢 -슢 -슢 -슢 -슢 - -슣 -슣 -슣 -슣 -슣 - -스 -스 -스 -스 -스 - -슥 -슥 -슥 -슥 -슥 - -슦 -슦 -슦 -슦 -슦 - -슧 -슧 -슧 -슧 -슧 - -슨 -슨 -슨 -슨 -슨 - -슩 -슩 -슩 -슩 -슩 - -슪 -슪 -슪 -슪 -슪 - -슫 -슫 -슫 -슫 -슫 - -슬 -슬 -슬 -슬 -슬 - -슭 -슭 -슭 -슭 -슭 - -슮 -슮 -슮 -슮 -슮 - -슯 -슯 -슯 -슯 -슯 - -슰 -슰 -슰 -슰 -슰 - -슱 -슱 -슱 -슱 -슱 - -슲 -슲 -슲 -슲 -슲 - -슳 -슳 -슳 -슳 -슳 - -슴 -슴 -슴 -슴 -슴 - -습 -습 -습 -습 -습 - -슶 -슶 -슶 -슶 -슶 - -슷 -슷 -슷 -슷 -슷 - -슸 -슸 -슸 -슸 -슸 - -승 -승 -승 -승 -승 - -슺 -슺 -슺 -슺 -슺 - -슻 -슻 -슻 -슻 -슻 - -슼 -슼 -슼 -슼 -슼 - -슽 -슽 -슽 -슽 -슽 - -슾 -슾 -슾 -슾 -슾 - -슿 -슿 -슿 -슿 -슿 - -싀 -싀 -싀 -싀 -싀 - -싁 -싁 -싁 -싁 -싁 - -싂 -싂 -싂 -싂 -싂 - -싃 -싃 -싃 -싃 -싃 - -싄 -싄 -싄 -싄 -싄 - -싅 -싅 -싅 -싅 -싅 - -싆 -싆 -싆 -싆 -싆 - -싇 -싇 -싇 -싇 -싇 - -싈 -싈 -싈 -싈 -싈 - -싉 -싉 -싉 -싉 -싉 - -싊 -싊 -싊 -싊 -싊 - -싋 -싋 -싋 -싋 -싋 - -싌 -싌 -싌 -싌 -싌 - -싍 -싍 -싍 -싍 -싍 - -싎 -싎 -싎 -싎 -싎 - -싏 -싏 -싏 -싏 -싏 - -싐 -싐 -싐 -싐 -싐 - -싑 -싑 -싑 -싑 -싑 - -싒 -싒 -싒 -싒 -싒 - -싓 -싓 -싓 -싓 -싓 - -싔 -싔 -싔 -싔 -싔 - -싕 -싕 -싕 -싕 -싕 - -싖 -싖 -싖 -싖 -싖 - -싗 -싗 -싗 -싗 -싗 - -싘 -싘 -싘 -싘 -싘 - -싙 -싙 -싙 -싙 -싙 - -싚 -싚 -싚 -싚 -싚 - -싛 -싛 -싛 -싛 -싛 - -시 -시 -시 -시 -시 - -식 -식 -식 -식 -식 - -싞 -싞 -싞 -싞 -싞 - -싟 -싟 -싟 -싟 -싟 - -신 -신 -신 -신 -신 - -싡 -싡 -싡 -싡 -싡 - -싢 -싢 -싢 -싢 -싢 - -싣 -싣 -싣 -싣 -싣 - -실 -실 -실 -실 -실 - -싥 -싥 -싥 -싥 -싥 - -싦 -싦 -싦 -싦 -싦 - -싧 -싧 -싧 -싧 -싧 - -싨 -싨 -싨 -싨 -싨 - -싩 -싩 -싩 -싩 -싩 - -싪 -싪 -싪 -싪 -싪 - -싫 -싫 -싫 -싫 -싫 - -심 -심 -심 -심 -심 - -십 -십 -십 -십 -십 - -싮 -싮 -싮 -싮 -싮 - -싯 -싯 -싯 -싯 -싯 - -싰 -싰 -싰 -싰 -싰 - -싱 -싱 -싱 -싱 -싱 - -싲 -싲 -싲 -싲 -싲 - -싳 -싳 -싳 -싳 -싳 - -싴 -싴 -싴 -싴 -싴 - -싵 -싵 -싵 -싵 -싵 - -싶 -싶 -싶 -싶 -싶 - -싷 -싷 -싷 -싷 -싷 - -싸 -싸 -싸 -싸 -싸 - -싹 -싹 -싹 -싹 -싹 - -싺 -싺 -싺 -싺 -싺 - -싻 -싻 -싻 -싻 -싻 - -싼 -싼 -싼 -싼 -싼 - -싽 -싽 -싽 -싽 -싽 - -싾 -싾 -싾 -싾 -싾 - -싿 -싿 -싿 -싿 -싿 - -쌀 -쌀 -쌀 -쌀 -쌀 - -쌁 -쌁 -쌁 -쌁 -쌁 - -쌂 -쌂 -쌂 -쌂 -쌂 - -쌃 -쌃 -쌃 -쌃 -쌃 - -쌄 -쌄 -쌄 -쌄 -쌄 - -쌅 -쌅 -쌅 -쌅 -쌅 - -쌆 -쌆 -쌆 -쌆 -쌆 - -쌇 -쌇 -쌇 -쌇 -쌇 - -쌈 -쌈 -쌈 -쌈 -쌈 - -쌉 -쌉 -쌉 -쌉 -쌉 - -쌊 -쌊 -쌊 -쌊 -쌊 - -쌋 -쌋 -쌋 -쌋 -쌋 - -쌌 -쌌 -쌌 -쌌 -쌌 - -쌍 -쌍 -쌍 -쌍 -쌍 - -쌎 -쌎 -쌎 -쌎 -쌎 - -쌏 -쌏 -쌏 -쌏 -쌏 - -쌐 -쌐 -쌐 -쌐 -쌐 - -쌑 -쌑 -쌑 -쌑 -쌑 - -쌒 -쌒 -쌒 -쌒 -쌒 - -쌓 -쌓 -쌓 -쌓 -쌓 - -쌔 -쌔 -쌔 -쌔 -쌔 - -쌕 -쌕 -쌕 -쌕 -쌕 - -쌖 -쌖 -쌖 -쌖 -쌖 - -쌗 -쌗 -쌗 -쌗 -쌗 - -쌘 -쌘 -쌘 -쌘 -쌘 - -쌙 -쌙 -쌙 -쌙 -쌙 - -쌚 -쌚 -쌚 -쌚 -쌚 - -쌛 -쌛 -쌛 -쌛 -쌛 - -쌜 -쌜 -쌜 -쌜 -쌜 - -쌝 -쌝 -쌝 -쌝 -쌝 - -쌞 -쌞 -쌞 -쌞 -쌞 - -쌟 -쌟 -쌟 -쌟 -쌟 - -쌠 -쌠 -쌠 -쌠 -쌠 - -쌡 -쌡 -쌡 -쌡 -쌡 - -쌢 -쌢 -쌢 -쌢 -쌢 - -쌣 -쌣 -쌣 -쌣 -쌣 - -쌤 -쌤 -쌤 -쌤 -쌤 - -쌥 -쌥 -쌥 -쌥 -쌥 - -쌦 -쌦 -쌦 -쌦 -쌦 - -쌧 -쌧 -쌧 -쌧 -쌧 - -쌨 -쌨 -쌨 -쌨 -쌨 - -쌩 -쌩 -쌩 -쌩 -쌩 - -쌪 -쌪 -쌪 -쌪 -쌪 - -쌫 -쌫 -쌫 -쌫 -쌫 - -쌬 -쌬 -쌬 -쌬 -쌬 - -쌭 -쌭 -쌭 -쌭 -쌭 - -쌮 -쌮 -쌮 -쌮 -쌮 - -쌯 -쌯 -쌯 -쌯 -쌯 - -쌰 -쌰 -쌰 -쌰 -쌰 - -쌱 -쌱 -쌱 -쌱 -쌱 - -쌲 -쌲 -쌲 -쌲 -쌲 - -쌳 -쌳 -쌳 -쌳 -쌳 - -쌴 -쌴 -쌴 -쌴 -쌴 - -쌵 -쌵 -쌵 -쌵 -쌵 - -쌶 -쌶 -쌶 -쌶 -쌶 - -쌷 -쌷 -쌷 -쌷 -쌷 - -쌸 -쌸 -쌸 -쌸 -쌸 - -쌹 -쌹 -쌹 -쌹 -쌹 - -쌺 -쌺 -쌺 -쌺 -쌺 - -쌻 -쌻 -쌻 -쌻 -쌻 - -쌼 -쌼 -쌼 -쌼 -쌼 - -쌽 -쌽 -쌽 -쌽 -쌽 - -쌾 -쌾 -쌾 -쌾 -쌾 - -쌿 -쌿 -쌿 -쌿 -쌿 - -썀 -썀 -썀 -썀 -썀 - -썁 -썁 -썁 -썁 -썁 - -썂 -썂 -썂 -썂 -썂 - -썃 -썃 -썃 -썃 -썃 - -썄 -썄 -썄 -썄 -썄 - -썅 -썅 -썅 -썅 -썅 - -썆 -썆 -썆 -썆 -썆 - -썇 -썇 -썇 -썇 -썇 - -썈 -썈 -썈 -썈 -썈 - -썉 -썉 -썉 -썉 -썉 - -썊 -썊 -썊 -썊 -썊 - -썋 -썋 -썋 -썋 -썋 - -썌 -썌 -썌 -썌 -썌 - -썍 -썍 -썍 -썍 -썍 - -썎 -썎 -썎 -썎 -썎 - -썏 -썏 -썏 -썏 -썏 - -썐 -썐 -썐 -썐 -썐 - -썑 -썑 -썑 -썑 -썑 - -썒 -썒 -썒 -썒 -썒 - -썓 -썓 -썓 -썓 -썓 - -썔 -썔 -썔 -썔 -썔 - -썕 -썕 -썕 -썕 -썕 - -썖 -썖 -썖 -썖 -썖 - -썗 -썗 -썗 -썗 -썗 - -썘 -썘 -썘 -썘 -썘 - -썙 -썙 -썙 -썙 -썙 - -썚 -썚 -썚 -썚 -썚 - -썛 -썛 -썛 -썛 -썛 - -썜 -썜 -썜 -썜 -썜 - -썝 -썝 -썝 -썝 -썝 - -썞 -썞 -썞 -썞 -썞 - -썟 -썟 -썟 -썟 -썟 - -썠 -썠 -썠 -썠 -썠 - -썡 -썡 -썡 -썡 -썡 - -썢 -썢 -썢 -썢 -썢 - -썣 -썣 -썣 -썣 -썣 - -썤 -썤 -썤 -썤 -썤 - -썥 -썥 -썥 -썥 -썥 - -썦 -썦 -썦 -썦 -썦 - -썧 -썧 -썧 -썧 -썧 - -써 -써 -써 -써 -써 - -썩 -썩 -썩 -썩 -썩 - -썪 -썪 -썪 -썪 -썪 - -썫 -썫 -썫 -썫 -썫 - -썬 -썬 -썬 -썬 -썬 - -썭 -썭 -썭 -썭 -썭 - -썮 -썮 -썮 -썮 -썮 - -썯 -썯 -썯 -썯 -썯 - -썰 -썰 -썰 -썰 -썰 - -썱 -썱 -썱 -썱 -썱 - -썲 -썲 -썲 -썲 -썲 - -썳 -썳 -썳 -썳 -썳 - -썴 -썴 -썴 -썴 -썴 - -썵 -썵 -썵 -썵 -썵 - -썶 -썶 -썶 -썶 -썶 - -썷 -썷 -썷 -썷 -썷 - -썸 -썸 -썸 -썸 -썸 - -썹 -썹 -썹 -썹 -썹 - -썺 -썺 -썺 -썺 -썺 - -썻 -썻 -썻 -썻 -썻 - -썼 -썼 -썼 -썼 -썼 - -썽 -썽 -썽 -썽 -썽 - -썾 -썾 -썾 -썾 -썾 - -썿 -썿 -썿 -썿 -썿 - -쎀 -쎀 -쎀 -쎀 -쎀 - -쎁 -쎁 -쎁 -쎁 -쎁 - -쎂 -쎂 -쎂 -쎂 -쎂 - -쎃 -쎃 -쎃 -쎃 -쎃 - -쎄 -쎄 -쎄 -쎄 -쎄 - -쎅 -쎅 -쎅 -쎅 -쎅 - -쎆 -쎆 -쎆 -쎆 -쎆 - -쎇 -쎇 -쎇 -쎇 -쎇 - -쎈 -쎈 -쎈 -쎈 -쎈 - -쎉 -쎉 -쎉 -쎉 -쎉 - -쎊 -쎊 -쎊 -쎊 -쎊 - -쎋 -쎋 -쎋 -쎋 -쎋 - -쎌 -쎌 -쎌 -쎌 -쎌 - -쎍 -쎍 -쎍 -쎍 -쎍 - -쎎 -쎎 -쎎 -쎎 -쎎 - -쎏 -쎏 -쎏 -쎏 -쎏 - -쎐 -쎐 -쎐 -쎐 -쎐 - -쎑 -쎑 -쎑 -쎑 -쎑 - -쎒 -쎒 -쎒 -쎒 -쎒 - -쎓 -쎓 -쎓 -쎓 -쎓 - -쎔 -쎔 -쎔 -쎔 -쎔 - -쎕 -쎕 -쎕 -쎕 -쎕 - -쎖 -쎖 -쎖 -쎖 -쎖 - -쎗 -쎗 -쎗 -쎗 -쎗 - -쎘 -쎘 -쎘 -쎘 -쎘 - -쎙 -쎙 -쎙 -쎙 -쎙 - -쎚 -쎚 -쎚 -쎚 -쎚 - -쎛 -쎛 -쎛 -쎛 -쎛 - -쎜 -쎜 -쎜 -쎜 -쎜 - -쎝 -쎝 -쎝 -쎝 -쎝 - -쎞 -쎞 -쎞 -쎞 -쎞 - -쎟 -쎟 -쎟 -쎟 -쎟 - -쎠 -쎠 -쎠 -쎠 -쎠 - -쎡 -쎡 -쎡 -쎡 -쎡 - -쎢 -쎢 -쎢 -쎢 -쎢 - -쎣 -쎣 -쎣 -쎣 -쎣 - -쎤 -쎤 -쎤 -쎤 -쎤 - -쎥 -쎥 -쎥 -쎥 -쎥 - -쎦 -쎦 -쎦 -쎦 -쎦 - -쎧 -쎧 -쎧 -쎧 -쎧 - -쎨 -쎨 -쎨 -쎨 -쎨 - -쎩 -쎩 -쎩 -쎩 -쎩 - -쎪 -쎪 -쎪 -쎪 -쎪 - -쎫 -쎫 -쎫 -쎫 -쎫 - -쎬 -쎬 -쎬 -쎬 -쎬 - -쎭 -쎭 -쎭 -쎭 -쎭 - -쎮 -쎮 -쎮 -쎮 -쎮 - -쎯 -쎯 -쎯 -쎯 -쎯 - -쎰 -쎰 -쎰 -쎰 -쎰 - -쎱 -쎱 -쎱 -쎱 -쎱 - -쎲 -쎲 -쎲 -쎲 -쎲 - -쎳 -쎳 -쎳 -쎳 -쎳 - -쎴 -쎴 -쎴 -쎴 -쎴 - -쎵 -쎵 -쎵 -쎵 -쎵 - -쎶 -쎶 -쎶 -쎶 -쎶 - -쎷 -쎷 -쎷 -쎷 -쎷 - -쎸 -쎸 -쎸 -쎸 -쎸 - -쎹 -쎹 -쎹 -쎹 -쎹 - -쎺 -쎺 -쎺 -쎺 -쎺 - -쎻 -쎻 -쎻 -쎻 -쎻 - -쎼 -쎼 -쎼 -쎼 -쎼 - -쎽 -쎽 -쎽 -쎽 -쎽 - -쎾 -쎾 -쎾 -쎾 -쎾 - -쎿 -쎿 -쎿 -쎿 -쎿 - -쏀 -쏀 -쏀 -쏀 -쏀 - -쏁 -쏁 -쏁 -쏁 -쏁 - -쏂 -쏂 -쏂 -쏂 -쏂 - -쏃 -쏃 -쏃 -쏃 -쏃 - -쏄 -쏄 -쏄 -쏄 -쏄 - -쏅 -쏅 -쏅 -쏅 -쏅 - -쏆 -쏆 -쏆 -쏆 -쏆 - -쏇 -쏇 -쏇 -쏇 -쏇 - -쏈 -쏈 -쏈 -쏈 -쏈 - -쏉 -쏉 -쏉 -쏉 -쏉 - -쏊 -쏊 -쏊 -쏊 -쏊 - -쏋 -쏋 -쏋 -쏋 -쏋 - -쏌 -쏌 -쏌 -쏌 -쏌 - -쏍 -쏍 -쏍 -쏍 -쏍 - -쏎 -쏎 -쏎 -쏎 -쏎 - -쏏 -쏏 -쏏 -쏏 -쏏 - -쏐 -쏐 -쏐 -쏐 -쏐 - -쏑 -쏑 -쏑 -쏑 -쏑 - -쏒 -쏒 -쏒 -쏒 -쏒 - -쏓 -쏓 -쏓 -쏓 -쏓 - -쏔 -쏔 -쏔 -쏔 -쏔 - -쏕 -쏕 -쏕 -쏕 -쏕 - -쏖 -쏖 -쏖 -쏖 -쏖 - -쏗 -쏗 -쏗 -쏗 -쏗 - -쏘 -쏘 -쏘 -쏘 -쏘 - -쏙 -쏙 -쏙 -쏙 -쏙 - -쏚 -쏚 -쏚 -쏚 -쏚 - -쏛 -쏛 -쏛 -쏛 -쏛 - -쏜 -쏜 -쏜 -쏜 -쏜 - -쏝 -쏝 -쏝 -쏝 -쏝 - -쏞 -쏞 -쏞 -쏞 -쏞 - -쏟 -쏟 -쏟 -쏟 -쏟 - -쏠 -쏠 -쏠 -쏠 -쏠 - -쏡 -쏡 -쏡 -쏡 -쏡 - -쏢 -쏢 -쏢 -쏢 -쏢 - -쏣 -쏣 -쏣 -쏣 -쏣 - -쏤 -쏤 -쏤 -쏤 -쏤 - -쏥 -쏥 -쏥 -쏥 -쏥 - -쏦 -쏦 -쏦 -쏦 -쏦 - -쏧 -쏧 -쏧 -쏧 -쏧 - -쏨 -쏨 -쏨 -쏨 -쏨 - -쏩 -쏩 -쏩 -쏩 -쏩 - -쏪 -쏪 -쏪 -쏪 -쏪 - -쏫 -쏫 -쏫 -쏫 -쏫 - -쏬 -쏬 -쏬 -쏬 -쏬 - -쏭 -쏭 -쏭 -쏭 -쏭 - -쏮 -쏮 -쏮 -쏮 -쏮 - -쏯 -쏯 -쏯 -쏯 -쏯 - -쏰 -쏰 -쏰 -쏰 -쏰 - -쏱 -쏱 -쏱 -쏱 -쏱 - -쏲 -쏲 -쏲 -쏲 -쏲 - -쏳 -쏳 -쏳 -쏳 -쏳 - -쏴 -쏴 -쏴 -쏴 -쏴 - -쏵 -쏵 -쏵 -쏵 -쏵 - -쏶 -쏶 -쏶 -쏶 -쏶 - -쏷 -쏷 -쏷 -쏷 -쏷 - -쏸 -쏸 -쏸 -쏸 -쏸 - -쏹 -쏹 -쏹 -쏹 -쏹 - -쏺 -쏺 -쏺 -쏺 -쏺 - -쏻 -쏻 -쏻 -쏻 -쏻 - -쏼 -쏼 -쏼 -쏼 -쏼 - -쏽 -쏽 -쏽 -쏽 -쏽 - -쏾 -쏾 -쏾 -쏾 -쏾 - -쏿 -쏿 -쏿 -쏿 -쏿 - -쐀 -쐀 -쐀 -쐀 -쐀 - -쐁 -쐁 -쐁 -쐁 -쐁 - -쐂 -쐂 -쐂 -쐂 -쐂 - -쐃 -쐃 -쐃 -쐃 -쐃 - -쐄 -쐄 -쐄 -쐄 -쐄 - -쐅 -쐅 -쐅 -쐅 -쐅 - -쐆 -쐆 -쐆 -쐆 -쐆 - -쐇 -쐇 -쐇 -쐇 -쐇 - -쐈 -쐈 -쐈 -쐈 -쐈 - -쐉 -쐉 -쐉 -쐉 -쐉 - -쐊 -쐊 -쐊 -쐊 -쐊 - -쐋 -쐋 -쐋 -쐋 -쐋 - -쐌 -쐌 -쐌 -쐌 -쐌 - -쐍 -쐍 -쐍 -쐍 -쐍 - -쐎 -쐎 -쐎 -쐎 -쐎 - -쐏 -쐏 -쐏 -쐏 -쐏 - -쐐 -쐐 -쐐 -쐐 -쐐 - -쐑 -쐑 -쐑 -쐑 -쐑 - -쐒 -쐒 -쐒 -쐒 -쐒 - -쐓 -쐓 -쐓 -쐓 -쐓 - -쐔 -쐔 -쐔 -쐔 -쐔 - -쐕 -쐕 -쐕 -쐕 -쐕 - -쐖 -쐖 -쐖 -쐖 -쐖 - -쐗 -쐗 -쐗 -쐗 -쐗 - -쐘 -쐘 -쐘 -쐘 -쐘 - -쐙 -쐙 -쐙 -쐙 -쐙 - -쐚 -쐚 -쐚 -쐚 -쐚 - -쐛 -쐛 -쐛 -쐛 -쐛 - -쐜 -쐜 -쐜 -쐜 -쐜 - -쐝 -쐝 -쐝 -쐝 -쐝 - -쐞 -쐞 -쐞 -쐞 -쐞 - -쐟 -쐟 -쐟 -쐟 -쐟 - -쐠 -쐠 -쐠 -쐠 -쐠 - -쐡 -쐡 -쐡 -쐡 -쐡 - -쐢 -쐢 -쐢 -쐢 -쐢 - -쐣 -쐣 -쐣 -쐣 -쐣 - -쐤 -쐤 -쐤 -쐤 -쐤 - -쐥 -쐥 -쐥 -쐥 -쐥 - -쐦 -쐦 -쐦 -쐦 -쐦 - -쐧 -쐧 -쐧 -쐧 -쐧 - -쐨 -쐨 -쐨 -쐨 -쐨 - -쐩 -쐩 -쐩 -쐩 -쐩 - -쐪 -쐪 -쐪 -쐪 -쐪 - -쐫 -쐫 -쐫 -쐫 -쐫 - -쐬 -쐬 -쐬 -쐬 -쐬 - -쐭 -쐭 -쐭 -쐭 -쐭 - -쐮 -쐮 -쐮 -쐮 -쐮 - -쐯 -쐯 -쐯 -쐯 -쐯 - -쐰 -쐰 -쐰 -쐰 -쐰 - -쐱 -쐱 -쐱 -쐱 -쐱 - -쐲 -쐲 -쐲 -쐲 -쐲 - -쐳 -쐳 -쐳 -쐳 -쐳 - -쐴 -쐴 -쐴 -쐴 -쐴 - -쐵 -쐵 -쐵 -쐵 -쐵 - -쐶 -쐶 -쐶 -쐶 -쐶 - -쐷 -쐷 -쐷 -쐷 -쐷 - -쐸 -쐸 -쐸 -쐸 -쐸 - -쐹 -쐹 -쐹 -쐹 -쐹 - -쐺 -쐺 -쐺 -쐺 -쐺 - -쐻 -쐻 -쐻 -쐻 -쐻 - -쐼 -쐼 -쐼 -쐼 -쐼 - -쐽 -쐽 -쐽 -쐽 -쐽 - -쐾 -쐾 -쐾 -쐾 -쐾 - -쐿 -쐿 -쐿 -쐿 -쐿 - -쑀 -쑀 -쑀 -쑀 -쑀 - -쑁 -쑁 -쑁 -쑁 -쑁 - -쑂 -쑂 -쑂 -쑂 -쑂 - -쑃 -쑃 -쑃 -쑃 -쑃 - -쑄 -쑄 -쑄 -쑄 -쑄 - -쑅 -쑅 -쑅 -쑅 -쑅 - -쑆 -쑆 -쑆 -쑆 -쑆 - -쑇 -쑇 -쑇 -쑇 -쑇 - -쑈 -쑈 -쑈 -쑈 -쑈 - -쑉 -쑉 -쑉 -쑉 -쑉 - -쑊 -쑊 -쑊 -쑊 -쑊 - -쑋 -쑋 -쑋 -쑋 -쑋 - -쑌 -쑌 -쑌 -쑌 -쑌 - -쑍 -쑍 -쑍 -쑍 -쑍 - -쑎 -쑎 -쑎 -쑎 -쑎 - -쑏 -쑏 -쑏 -쑏 -쑏 - -쑐 -쑐 -쑐 -쑐 -쑐 - -쑑 -쑑 -쑑 -쑑 -쑑 - -쑒 -쑒 -쑒 -쑒 -쑒 - -쑓 -쑓 -쑓 -쑓 -쑓 - -쑔 -쑔 -쑔 -쑔 -쑔 - -쑕 -쑕 -쑕 -쑕 -쑕 - -쑖 -쑖 -쑖 -쑖 -쑖 - -쑗 -쑗 -쑗 -쑗 -쑗 - -쑘 -쑘 -쑘 -쑘 -쑘 - -쑙 -쑙 -쑙 -쑙 -쑙 - -쑚 -쑚 -쑚 -쑚 -쑚 - -쑛 -쑛 -쑛 -쑛 -쑛 - -쑜 -쑜 -쑜 -쑜 -쑜 - -쑝 -쑝 -쑝 -쑝 -쑝 - -쑞 -쑞 -쑞 -쑞 -쑞 - -쑟 -쑟 -쑟 -쑟 -쑟 - -쑠 -쑠 -쑠 -쑠 -쑠 - -쑡 -쑡 -쑡 -쑡 -쑡 - -쑢 -쑢 -쑢 -쑢 -쑢 - -쑣 -쑣 -쑣 -쑣 -쑣 - -쑤 -쑤 -쑤 -쑤 -쑤 - -쑥 -쑥 -쑥 -쑥 -쑥 - -쑦 -쑦 -쑦 -쑦 -쑦 - -쑧 -쑧 -쑧 -쑧 -쑧 - -쑨 -쑨 -쑨 -쑨 -쑨 - -쑩 -쑩 -쑩 -쑩 -쑩 - -쑪 -쑪 -쑪 -쑪 -쑪 - -쑫 -쑫 -쑫 -쑫 -쑫 - -쑬 -쑬 -쑬 -쑬 -쑬 - -쑭 -쑭 -쑭 -쑭 -쑭 - -쑮 -쑮 -쑮 -쑮 -쑮 - -쑯 -쑯 -쑯 -쑯 -쑯 - -쑰 -쑰 -쑰 -쑰 -쑰 - -쑱 -쑱 -쑱 -쑱 -쑱 - -쑲 -쑲 -쑲 -쑲 -쑲 - -쑳 -쑳 -쑳 -쑳 -쑳 - -쑴 -쑴 -쑴 -쑴 -쑴 - -쑵 -쑵 -쑵 -쑵 -쑵 - -쑶 -쑶 -쑶 -쑶 -쑶 - -쑷 -쑷 -쑷 -쑷 -쑷 - -쑸 -쑸 -쑸 -쑸 -쑸 - -쑹 -쑹 -쑹 -쑹 -쑹 - -쑺 -쑺 -쑺 -쑺 -쑺 - -쑻 -쑻 -쑻 -쑻 -쑻 - -쑼 -쑼 -쑼 -쑼 -쑼 - -쑽 -쑽 -쑽 -쑽 -쑽 - -쑾 -쑾 -쑾 -쑾 -쑾 - -쑿 -쑿 -쑿 -쑿 -쑿 - -쒀 -쒀 -쒀 -쒀 -쒀 - -쒁 -쒁 -쒁 -쒁 -쒁 - -쒂 -쒂 -쒂 -쒂 -쒂 - -쒃 -쒃 -쒃 -쒃 -쒃 - -쒄 -쒄 -쒄 -쒄 -쒄 - -쒅 -쒅 -쒅 -쒅 -쒅 - -쒆 -쒆 -쒆 -쒆 -쒆 - -쒇 -쒇 -쒇 -쒇 -쒇 - -쒈 -쒈 -쒈 -쒈 -쒈 - -쒉 -쒉 -쒉 -쒉 -쒉 - -쒊 -쒊 -쒊 -쒊 -쒊 - -쒋 -쒋 -쒋 -쒋 -쒋 - -쒌 -쒌 -쒌 -쒌 -쒌 - -쒍 -쒍 -쒍 -쒍 -쒍 - -쒎 -쒎 -쒎 -쒎 -쒎 - -쒏 -쒏 -쒏 -쒏 -쒏 - -쒐 -쒐 -쒐 -쒐 -쒐 - -쒑 -쒑 -쒑 -쒑 -쒑 - -쒒 -쒒 -쒒 -쒒 -쒒 - -쒓 -쒓 -쒓 -쒓 -쒓 - -쒔 -쒔 -쒔 -쒔 -쒔 - -쒕 -쒕 -쒕 -쒕 -쒕 - -쒖 -쒖 -쒖 -쒖 -쒖 - -쒗 -쒗 -쒗 -쒗 -쒗 - -쒘 -쒘 -쒘 -쒘 -쒘 - -쒙 -쒙 -쒙 -쒙 -쒙 - -쒚 -쒚 -쒚 -쒚 -쒚 - -쒛 -쒛 -쒛 -쒛 -쒛 - -쒜 -쒜 -쒜 -쒜 -쒜 - -쒝 -쒝 -쒝 -쒝 -쒝 - -쒞 -쒞 -쒞 -쒞 -쒞 - -쒟 -쒟 -쒟 -쒟 -쒟 - -쒠 -쒠 -쒠 -쒠 -쒠 - -쒡 -쒡 -쒡 -쒡 -쒡 - -쒢 -쒢 -쒢 -쒢 -쒢 - -쒣 -쒣 -쒣 -쒣 -쒣 - -쒤 -쒤 -쒤 -쒤 -쒤 - -쒥 -쒥 -쒥 -쒥 -쒥 - -쒦 -쒦 -쒦 -쒦 -쒦 - -쒧 -쒧 -쒧 -쒧 -쒧 - -쒨 -쒨 -쒨 -쒨 -쒨 - -쒩 -쒩 -쒩 -쒩 -쒩 - -쒪 -쒪 -쒪 -쒪 -쒪 - -쒫 -쒫 -쒫 -쒫 -쒫 - -쒬 -쒬 -쒬 -쒬 -쒬 - -쒭 -쒭 -쒭 -쒭 -쒭 - -쒮 -쒮 -쒮 -쒮 -쒮 - -쒯 -쒯 -쒯 -쒯 -쒯 - -쒰 -쒰 -쒰 -쒰 -쒰 - -쒱 -쒱 -쒱 -쒱 -쒱 - -쒲 -쒲 -쒲 -쒲 -쒲 - -쒳 -쒳 -쒳 -쒳 -쒳 - -쒴 -쒴 -쒴 -쒴 -쒴 - -쒵 -쒵 -쒵 -쒵 -쒵 - -쒶 -쒶 -쒶 -쒶 -쒶 - -쒷 -쒷 -쒷 -쒷 -쒷 - -쒸 -쒸 -쒸 -쒸 -쒸 - -쒹 -쒹 -쒹 -쒹 -쒹 - -쒺 -쒺 -쒺 -쒺 -쒺 - -쒻 -쒻 -쒻 -쒻 -쒻 - -쒼 -쒼 -쒼 -쒼 -쒼 - -쒽 -쒽 -쒽 -쒽 -쒽 - -쒾 -쒾 -쒾 -쒾 -쒾 - -쒿 -쒿 -쒿 -쒿 -쒿 - -쓀 -쓀 -쓀 -쓀 -쓀 - -쓁 -쓁 -쓁 -쓁 -쓁 - -쓂 -쓂 -쓂 -쓂 -쓂 - -쓃 -쓃 -쓃 -쓃 -쓃 - -쓄 -쓄 -쓄 -쓄 -쓄 - -쓅 -쓅 -쓅 -쓅 -쓅 - -쓆 -쓆 -쓆 -쓆 -쓆 - -쓇 -쓇 -쓇 -쓇 -쓇 - -쓈 -쓈 -쓈 -쓈 -쓈 - -쓉 -쓉 -쓉 -쓉 -쓉 - -쓊 -쓊 -쓊 -쓊 -쓊 - -쓋 -쓋 -쓋 -쓋 -쓋 - -쓌 -쓌 -쓌 -쓌 -쓌 - -쓍 -쓍 -쓍 -쓍 -쓍 - -쓎 -쓎 -쓎 -쓎 -쓎 - -쓏 -쓏 -쓏 -쓏 -쓏 - -쓐 -쓐 -쓐 -쓐 -쓐 - -쓑 -쓑 -쓑 -쓑 -쓑 - -쓒 -쓒 -쓒 -쓒 -쓒 - -쓓 -쓓 -쓓 -쓓 -쓓 - -쓔 -쓔 -쓔 -쓔 -쓔 - -쓕 -쓕 -쓕 -쓕 -쓕 - -쓖 -쓖 -쓖 -쓖 -쓖 - -쓗 -쓗 -쓗 -쓗 -쓗 - -쓘 -쓘 -쓘 -쓘 -쓘 - -쓙 -쓙 -쓙 -쓙 -쓙 - -쓚 -쓚 -쓚 -쓚 -쓚 - -쓛 -쓛 -쓛 -쓛 -쓛 - -쓜 -쓜 -쓜 -쓜 -쓜 - -쓝 -쓝 -쓝 -쓝 -쓝 - -쓞 -쓞 -쓞 -쓞 -쓞 - -쓟 -쓟 -쓟 -쓟 -쓟 - -쓠 -쓠 -쓠 -쓠 -쓠 - -쓡 -쓡 -쓡 -쓡 -쓡 - -쓢 -쓢 -쓢 -쓢 -쓢 - -쓣 -쓣 -쓣 -쓣 -쓣 - -쓤 -쓤 -쓤 -쓤 -쓤 - -쓥 -쓥 -쓥 -쓥 -쓥 - -쓦 -쓦 -쓦 -쓦 -쓦 - -쓧 -쓧 -쓧 -쓧 -쓧 - -쓨 -쓨 -쓨 -쓨 -쓨 - -쓩 -쓩 -쓩 -쓩 -쓩 - -쓪 -쓪 -쓪 -쓪 -쓪 - -쓫 -쓫 -쓫 -쓫 -쓫 - -쓬 -쓬 -쓬 -쓬 -쓬 - -쓭 -쓭 -쓭 -쓭 -쓭 - -쓮 -쓮 -쓮 -쓮 -쓮 - -쓯 -쓯 -쓯 -쓯 -쓯 - -쓰 -쓰 -쓰 -쓰 -쓰 - -쓱 -쓱 -쓱 -쓱 -쓱 - -쓲 -쓲 -쓲 -쓲 -쓲 - -쓳 -쓳 -쓳 -쓳 -쓳 - -쓴 -쓴 -쓴 -쓴 -쓴 - -쓵 -쓵 -쓵 -쓵 -쓵 - -쓶 -쓶 -쓶 -쓶 -쓶 - -쓷 -쓷 -쓷 -쓷 -쓷 - -쓸 -쓸 -쓸 -쓸 -쓸 - -쓹 -쓹 -쓹 -쓹 -쓹 - -쓺 -쓺 -쓺 -쓺 -쓺 - -쓻 -쓻 -쓻 -쓻 -쓻 - -쓼 -쓼 -쓼 -쓼 -쓼 - -쓽 -쓽 -쓽 -쓽 -쓽 - -쓾 -쓾 -쓾 -쓾 -쓾 - -쓿 -쓿 -쓿 -쓿 -쓿 - -씀 -씀 -씀 -씀 -씀 - -씁 -씁 -씁 -씁 -씁 - -씂 -씂 -씂 -씂 -씂 - -씃 -씃 -씃 -씃 -씃 - -씄 -씄 -씄 -씄 -씄 - -씅 -씅 -씅 -씅 -씅 - -씆 -씆 -씆 -씆 -씆 - -씇 -씇 -씇 -씇 -씇 - -씈 -씈 -씈 -씈 -씈 - -씉 -씉 -씉 -씉 -씉 - -씊 -씊 -씊 -씊 -씊 - -씋 -씋 -씋 -씋 -씋 - -씌 -씌 -씌 -씌 -씌 - -씍 -씍 -씍 -씍 -씍 - -씎 -씎 -씎 -씎 -씎 - -씏 -씏 -씏 -씏 -씏 - -씐 -씐 -씐 -씐 -씐 - -씑 -씑 -씑 -씑 -씑 - -씒 -씒 -씒 -씒 -씒 - -씓 -씓 -씓 -씓 -씓 - -씔 -씔 -씔 -씔 -씔 - -씕 -씕 -씕 -씕 -씕 - -씖 -씖 -씖 -씖 -씖 - -씗 -씗 -씗 -씗 -씗 - -씘 -씘 -씘 -씘 -씘 - -씙 -씙 -씙 -씙 -씙 - -씚 -씚 -씚 -씚 -씚 - -씛 -씛 -씛 -씛 -씛 - -씜 -씜 -씜 -씜 -씜 - -씝 -씝 -씝 -씝 -씝 - -씞 -씞 -씞 -씞 -씞 - -씟 -씟 -씟 -씟 -씟 - -씠 -씠 -씠 -씠 -씠 - -씡 -씡 -씡 -씡 -씡 - -씢 -씢 -씢 -씢 -씢 - -씣 -씣 -씣 -씣 -씣 - -씤 -씤 -씤 -씤 -씤 - -씥 -씥 -씥 -씥 -씥 - -씦 -씦 -씦 -씦 -씦 - -씧 -씧 -씧 -씧 -씧 - -씨 -씨 -씨 -씨 -씨 - -씩 -씩 -씩 -씩 -씩 - -씪 -씪 -씪 -씪 -씪 - -씫 -씫 -씫 -씫 -씫 - -씬 -씬 -씬 -씬 -씬 - -씭 -씭 -씭 -씭 -씭 - -씮 -씮 -씮 -씮 -씮 - -씯 -씯 -씯 -씯 -씯 - -씰 -씰 -씰 -씰 -씰 - -씱 -씱 -씱 -씱 -씱 - -씲 -씲 -씲 -씲 -씲 - -씳 -씳 -씳 -씳 -씳 - -씴 -씴 -씴 -씴 -씴 - -씵 -씵 -씵 -씵 -씵 - -씶 -씶 -씶 -씶 -씶 - -씷 -씷 -씷 -씷 -씷 - -씸 -씸 -씸 -씸 -씸 - -씹 -씹 -씹 -씹 -씹 - -씺 -씺 -씺 -씺 -씺 - -씻 -씻 -씻 -씻 -씻 - -씼 -씼 -씼 -씼 -씼 - -씽 -씽 -씽 -씽 -씽 - -씾 -씾 -씾 -씾 -씾 - -씿 -씿 -씿 -씿 -씿 - -앀 -앀 -앀 -앀 -앀 - -앁 -앁 -앁 -앁 -앁 - -앂 -앂 -앂 -앂 -앂 - -앃 -앃 -앃 -앃 -앃 - -아 -아 -아 -아 -아 - -악 -악 -악 -악 -악 - -앆 -앆 -앆 -앆 -앆 - -앇 -앇 -앇 -앇 -앇 - -안 -안 -안 -안 -안 - -앉 -앉 -앉 -앉 -앉 - -않 -않 -않 -않 -않 - -앋 -앋 -앋 -앋 -앋 - -알 -알 -알 -알 -알 - -앍 -앍 -앍 -앍 -앍 - -앎 -앎 -앎 -앎 -앎 - -앏 -앏 -앏 -앏 -앏 - -앐 -앐 -앐 -앐 -앐 - -앑 -앑 -앑 -앑 -앑 - -앒 -앒 -앒 -앒 -앒 - -앓 -앓 -앓 -앓 -앓 - -암 -암 -암 -암 -암 - -압 -압 -압 -압 -압 - -앖 -앖 -앖 -앖 -앖 - -앗 -앗 -앗 -앗 -앗 - -았 -았 -았 -았 -았 - -앙 -앙 -앙 -앙 -앙 - -앚 -앚 -앚 -앚 -앚 - -앛 -앛 -앛 -앛 -앛 - -앜 -앜 -앜 -앜 -앜 - -앝 -앝 -앝 -앝 -앝 - -앞 -앞 -앞 -앞 -앞 - -앟 -앟 -앟 -앟 -앟 - -애 -애 -애 -애 -애 - -액 -액 -액 -액 -액 - -앢 -앢 -앢 -앢 -앢 - -앣 -앣 -앣 -앣 -앣 - -앤 -앤 -앤 -앤 -앤 - -앥 -앥 -앥 -앥 -앥 - -앦 -앦 -앦 -앦 -앦 - -앧 -앧 -앧 -앧 -앧 - -앨 -앨 -앨 -앨 -앨 - -앩 -앩 -앩 -앩 -앩 - -앪 -앪 -앪 -앪 -앪 - -앫 -앫 -앫 -앫 -앫 - -앬 -앬 -앬 -앬 -앬 - -앭 -앭 -앭 -앭 -앭 - -앮 -앮 -앮 -앮 -앮 - -앯 -앯 -앯 -앯 -앯 - -앰 -앰 -앰 -앰 -앰 - -앱 -앱 -앱 -앱 -앱 - -앲 -앲 -앲 -앲 -앲 - -앳 -앳 -앳 -앳 -앳 - -앴 -앴 -앴 -앴 -앴 - -앵 -앵 -앵 -앵 -앵 - -앶 -앶 -앶 -앶 -앶 - -앷 -앷 -앷 -앷 -앷 - -앸 -앸 -앸 -앸 -앸 - -앹 -앹 -앹 -앹 -앹 - -앺 -앺 -앺 -앺 -앺 - -앻 -앻 -앻 -앻 -앻 - -야 -야 -야 -야 -야 - -약 -약 -약 -약 -약 - -앾 -앾 -앾 -앾 -앾 - -앿 -앿 -앿 -앿 -앿 - -얀 -얀 -얀 -얀 -얀 - -얁 -얁 -얁 -얁 -얁 - -얂 -얂 -얂 -얂 -얂 - -얃 -얃 -얃 -얃 -얃 - -얄 -얄 -얄 -얄 -얄 - -얅 -얅 -얅 -얅 -얅 - -얆 -얆 -얆 -얆 -얆 - -얇 -얇 -얇 -얇 -얇 - -얈 -얈 -얈 -얈 -얈 - -얉 -얉 -얉 -얉 -얉 - -얊 -얊 -얊 -얊 -얊 - -얋 -얋 -얋 -얋 -얋 - -얌 -얌 -얌 -얌 -얌 - -얍 -얍 -얍 -얍 -얍 - -얎 -얎 -얎 -얎 -얎 - -얏 -얏 -얏 -얏 -얏 - -얐 -얐 -얐 -얐 -얐 - -양 -양 -양 -양 -양 - -얒 -얒 -얒 -얒 -얒 - -얓 -얓 -얓 -얓 -얓 - -얔 -얔 -얔 -얔 -얔 - -얕 -얕 -얕 -얕 -얕 - -얖 -얖 -얖 -얖 -얖 - -얗 -얗 -얗 -얗 -얗 - -얘 -얘 -얘 -얘 -얘 - -얙 -얙 -얙 -얙 -얙 - -얚 -얚 -얚 -얚 -얚 - -얛 -얛 -얛 -얛 -얛 - -얜 -얜 -얜 -얜 -얜 - -얝 -얝 -얝 -얝 -얝 - -얞 -얞 -얞 -얞 -얞 - -얟 -얟 -얟 -얟 -얟 - -얠 -얠 -얠 -얠 -얠 - -얡 -얡 -얡 -얡 -얡 - -얢 -얢 -얢 -얢 -얢 - -얣 -얣 -얣 -얣 -얣 - -얤 -얤 -얤 -얤 -얤 - -얥 -얥 -얥 -얥 -얥 - -얦 -얦 -얦 -얦 -얦 - -얧 -얧 -얧 -얧 -얧 - -얨 -얨 -얨 -얨 -얨 - -얩 -얩 -얩 -얩 -얩 - -얪 -얪 -얪 -얪 -얪 - -얫 -얫 -얫 -얫 -얫 - -얬 -얬 -얬 -얬 -얬 - -얭 -얭 -얭 -얭 -얭 - -얮 -얮 -얮 -얮 -얮 - -얯 -얯 -얯 -얯 -얯 - -얰 -얰 -얰 -얰 -얰 - -얱 -얱 -얱 -얱 -얱 - -얲 -얲 -얲 -얲 -얲 - -얳 -얳 -얳 -얳 -얳 - -어 -어 -어 -어 -어 - -억 -억 -억 -억 -억 - -얶 -얶 -얶 -얶 -얶 - -얷 -얷 -얷 -얷 -얷 - -언 -언 -언 -언 -언 - -얹 -얹 -얹 -얹 -얹 - -얺 -얺 -얺 -얺 -얺 - -얻 -얻 -얻 -얻 -얻 - -얼 -얼 -얼 -얼 -얼 - -얽 -얽 -얽 -얽 -얽 - -얾 -얾 -얾 -얾 -얾 - -얿 -얿 -얿 -얿 -얿 - -엀 -엀 -엀 -엀 -엀 - -엁 -엁 -엁 -엁 -엁 - -엂 -엂 -엂 -엂 -엂 - -엃 -엃 -엃 -엃 -엃 - -엄 -엄 -엄 -엄 -엄 - -업 -업 -업 -업 -업 - -없 -없 -없 -없 -없 - -엇 -엇 -엇 -엇 -엇 - -었 -었 -었 -었 -었 - -엉 -엉 -엉 -엉 -엉 - -엊 -엊 -엊 -엊 -엊 - -엋 -엋 -엋 -엋 -엋 - -엌 -엌 -엌 -엌 -엌 - -엍 -엍 -엍 -엍 -엍 - -엎 -엎 -엎 -엎 -엎 - -엏 -엏 -엏 -엏 -엏 - -에 -에 -에 -에 -에 - -엑 -엑 -엑 -엑 -엑 - -엒 -엒 -엒 -엒 -엒 - -엓 -엓 -엓 -엓 -엓 - -엔 -엔 -엔 -엔 -엔 - -엕 -엕 -엕 -엕 -엕 - -엖 -엖 -엖 -엖 -엖 - -엗 -엗 -엗 -엗 -엗 - -엘 -엘 -엘 -엘 -엘 - -엙 -엙 -엙 -엙 -엙 - -엚 -엚 -엚 -엚 -엚 - -엛 -엛 -엛 -엛 -엛 - -엜 -엜 -엜 -엜 -엜 - -엝 -엝 -엝 -엝 -엝 - -엞 -엞 -엞 -엞 -엞 - -엟 -엟 -엟 -엟 -엟 - -엠 -엠 -엠 -엠 -엠 - -엡 -엡 -엡 -엡 -엡 - -엢 -엢 -엢 -엢 -엢 - -엣 -엣 -엣 -엣 -엣 - -엤 -엤 -엤 -엤 -엤 - -엥 -엥 -엥 -엥 -엥 - -엦 -엦 -엦 -엦 -엦 - -엧 -엧 -엧 -엧 -엧 - -엨 -엨 -엨 -엨 -엨 - -엩 -엩 -엩 -엩 -엩 - -엪 -엪 -엪 -엪 -엪 - -엫 -엫 -엫 -엫 -엫 - -여 -여 -여 -여 -여 - -역 -역 -역 -역 -역 - -엮 -엮 -엮 -엮 -엮 - -엯 -엯 -엯 -엯 -엯 - -연 -연 -연 -연 -연 - -엱 -엱 -엱 -엱 -엱 - -엲 -엲 -엲 -엲 -엲 - -엳 -엳 -엳 -엳 -엳 - -열 -열 -열 -열 -열 - -엵 -엵 -엵 -엵 -엵 - -엶 -엶 -엶 -엶 -엶 - -엷 -엷 -엷 -엷 -엷 - -엸 -엸 -엸 -엸 -엸 - -엹 -엹 -엹 -엹 -엹 - -엺 -엺 -엺 -엺 -엺 - -엻 -엻 -엻 -엻 -엻 - -염 -염 -염 -염 -염 - -엽 -엽 -엽 -엽 -엽 - -엾 -엾 -엾 -엾 -엾 - -엿 -엿 -엿 -엿 -엿 - -였 -였 -였 -였 -였 - -영 -영 -영 -영 -영 - -옂 -옂 -옂 -옂 -옂 - -옃 -옃 -옃 -옃 -옃 - -옄 -옄 -옄 -옄 -옄 - -옅 -옅 -옅 -옅 -옅 - -옆 -옆 -옆 -옆 -옆 - -옇 -옇 -옇 -옇 -옇 - -예 -예 -예 -예 -예 - -옉 -옉 -옉 -옉 -옉 - -옊 -옊 -옊 -옊 -옊 - -옋 -옋 -옋 -옋 -옋 - -옌 -옌 -옌 -옌 -옌 - -옍 -옍 -옍 -옍 -옍 - -옎 -옎 -옎 -옎 -옎 - -옏 -옏 -옏 -옏 -옏 - -옐 -옐 -옐 -옐 -옐 - -옑 -옑 -옑 -옑 -옑 - -옒 -옒 -옒 -옒 -옒 - -옓 -옓 -옓 -옓 -옓 - -옔 -옔 -옔 -옔 -옔 - -옕 -옕 -옕 -옕 -옕 - -옖 -옖 -옖 -옖 -옖 - -옗 -옗 -옗 -옗 -옗 - -옘 -옘 -옘 -옘 -옘 - -옙 -옙 -옙 -옙 -옙 - -옚 -옚 -옚 -옚 -옚 - -옛 -옛 -옛 -옛 -옛 - -옜 -옜 -옜 -옜 -옜 - -옝 -옝 -옝 -옝 -옝 - -옞 -옞 -옞 -옞 -옞 - -옟 -옟 -옟 -옟 -옟 - -옠 -옠 -옠 -옠 -옠 - -옡 -옡 -옡 -옡 -옡 - -옢 -옢 -옢 -옢 -옢 - -옣 -옣 -옣 -옣 -옣 - -오 -오 -오 -오 -오 - -옥 -옥 -옥 -옥 -옥 - -옦 -옦 -옦 -옦 -옦 - -옧 -옧 -옧 -옧 -옧 - -온 -온 -온 -온 -온 - -옩 -옩 -옩 -옩 -옩 - -옪 -옪 -옪 -옪 -옪 - -옫 -옫 -옫 -옫 -옫 - -올 -올 -올 -올 -올 - -옭 -옭 -옭 -옭 -옭 - -옮 -옮 -옮 -옮 -옮 - -옯 -옯 -옯 -옯 -옯 - -옰 -옰 -옰 -옰 -옰 - -옱 -옱 -옱 -옱 -옱 - -옲 -옲 -옲 -옲 -옲 - -옳 -옳 -옳 -옳 -옳 - -옴 -옴 -옴 -옴 -옴 - -옵 -옵 -옵 -옵 -옵 - -옶 -옶 -옶 -옶 -옶 - -옷 -옷 -옷 -옷 -옷 - -옸 -옸 -옸 -옸 -옸 - -옹 -옹 -옹 -옹 -옹 - -옺 -옺 -옺 -옺 -옺 - -옻 -옻 -옻 -옻 -옻 - -옼 -옼 -옼 -옼 -옼 - -옽 -옽 -옽 -옽 -옽 - -옾 -옾 -옾 -옾 -옾 - -옿 -옿 -옿 -옿 -옿 - -와 -와 -와 -와 -와 - -왁 -왁 -왁 -왁 -왁 - -왂 -왂 -왂 -왂 -왂 - -왃 -왃 -왃 -왃 -왃 - -완 -완 -완 -완 -완 - -왅 -왅 -왅 -왅 -왅 - -왆 -왆 -왆 -왆 -왆 - -왇 -왇 -왇 -왇 -왇 - -왈 -왈 -왈 -왈 -왈 - -왉 -왉 -왉 -왉 -왉 - -왊 -왊 -왊 -왊 -왊 - -왋 -왋 -왋 -왋 -왋 - -왌 -왌 -왌 -왌 -왌 - -왍 -왍 -왍 -왍 -왍 - -왎 -왎 -왎 -왎 -왎 - -왏 -왏 -왏 -왏 -왏 - -왐 -왐 -왐 -왐 -왐 - -왑 -왑 -왑 -왑 -왑 - -왒 -왒 -왒 -왒 -왒 - -왓 -왓 -왓 -왓 -왓 - -왔 -왔 -왔 -왔 -왔 - -왕 -왕 -왕 -왕 -왕 - -왖 -왖 -왖 -왖 -왖 - -왗 -왗 -왗 -왗 -왗 - -왘 -왘 -왘 -왘 -왘 - -왙 -왙 -왙 -왙 -왙 - -왚 -왚 -왚 -왚 -왚 - -왛 -왛 -왛 -왛 -왛 - -왜 -왜 -왜 -왜 -왜 - -왝 -왝 -왝 -왝 -왝 - -왞 -왞 -왞 -왞 -왞 - -왟 -왟 -왟 -왟 -왟 - -왠 -왠 -왠 -왠 -왠 - -왡 -왡 -왡 -왡 -왡 - -왢 -왢 -왢 -왢 -왢 - -왣 -왣 -왣 -왣 -왣 - -왤 -왤 -왤 -왤 -왤 - -왥 -왥 -왥 -왥 -왥 - -왦 -왦 -왦 -왦 -왦 - -왧 -왧 -왧 -왧 -왧 - -왨 -왨 -왨 -왨 -왨 - -왩 -왩 -왩 -왩 -왩 - -왪 -왪 -왪 -왪 -왪 - -왫 -왫 -왫 -왫 -왫 - -왬 -왬 -왬 -왬 -왬 - -왭 -왭 -왭 -왭 -왭 - -왮 -왮 -왮 -왮 -왮 - -왯 -왯 -왯 -왯 -왯 - -왰 -왰 -왰 -왰 -왰 - -왱 -왱 -왱 -왱 -왱 - -왲 -왲 -왲 -왲 -왲 - -왳 -왳 -왳 -왳 -왳 - -왴 -왴 -왴 -왴 -왴 - -왵 -왵 -왵 -왵 -왵 - -왶 -왶 -왶 -왶 -왶 - -왷 -왷 -왷 -왷 -왷 - -외 -외 -외 -외 -외 - -왹 -왹 -왹 -왹 -왹 - -왺 -왺 -왺 -왺 -왺 - -왻 -왻 -왻 -왻 -왻 - -왼 -왼 -왼 -왼 -왼 - -왽 -왽 -왽 -왽 -왽 - -왾 -왾 -왾 -왾 -왾 - -왿 -왿 -왿 -왿 -왿 - -욀 -욀 -욀 -욀 -욀 - -욁 -욁 -욁 -욁 -욁 - -욂 -욂 -욂 -욂 -욂 - -욃 -욃 -욃 -욃 -욃 - -욄 -욄 -욄 -욄 -욄 - -욅 -욅 -욅 -욅 -욅 - -욆 -욆 -욆 -욆 -욆 - -욇 -욇 -욇 -욇 -욇 - -욈 -욈 -욈 -욈 -욈 - -욉 -욉 -욉 -욉 -욉 - -욊 -욊 -욊 -욊 -욊 - -욋 -욋 -욋 -욋 -욋 - -욌 -욌 -욌 -욌 -욌 - -욍 -욍 -욍 -욍 -욍 - -욎 -욎 -욎 -욎 -욎 - -욏 -욏 -욏 -욏 -욏 - -욐 -욐 -욐 -욐 -욐 - -욑 -욑 -욑 -욑 -욑 - -욒 -욒 -욒 -욒 -욒 - -욓 -욓 -욓 -욓 -욓 - -요 -요 -요 -요 -요 - -욕 -욕 -욕 -욕 -욕 - -욖 -욖 -욖 -욖 -욖 - -욗 -욗 -욗 -욗 -욗 - -욘 -욘 -욘 -욘 -욘 - -욙 -욙 -욙 -욙 -욙 - -욚 -욚 -욚 -욚 -욚 - -욛 -욛 -욛 -욛 -욛 - -욜 -욜 -욜 -욜 -욜 - -욝 -욝 -욝 -욝 -욝 - -욞 -욞 -욞 -욞 -욞 - -욟 -욟 -욟 -욟 -욟 - -욠 -욠 -욠 -욠 -욠 - -욡 -욡 -욡 -욡 -욡 - -욢 -욢 -욢 -욢 -욢 - -욣 -욣 -욣 -욣 -욣 - -욤 -욤 -욤 -욤 -욤 - -욥 -욥 -욥 -욥 -욥 - -욦 -욦 -욦 -욦 -욦 - -욧 -욧 -욧 -욧 -욧 - -욨 -욨 -욨 -욨 -욨 - -용 -용 -용 -용 -용 - -욪 -욪 -욪 -욪 -욪 - -욫 -욫 -욫 -욫 -욫 - -욬 -욬 -욬 -욬 -욬 - -욭 -욭 -욭 -욭 -욭 - -욮 -욮 -욮 -욮 -욮 - -욯 -욯 -욯 -욯 -욯 - -우 -우 -우 -우 -우 - -욱 -욱 -욱 -욱 -욱 - -욲 -욲 -욲 -욲 -욲 - -욳 -욳 -욳 -욳 -욳 - -운 -운 -운 -운 -운 - -욵 -욵 -욵 -욵 -욵 - -욶 -욶 -욶 -욶 -욶 - -욷 -욷 -욷 -욷 -욷 - -울 -울 -울 -울 -울 - -욹 -욹 -욹 -욹 -욹 - -욺 -욺 -욺 -욺 -욺 - -욻 -욻 -욻 -욻 -욻 - -욼 -욼 -욼 -욼 -욼 - -욽 -욽 -욽 -욽 -욽 - -욾 -욾 -욾 -욾 -욾 - -욿 -욿 -욿 -욿 -욿 - -움 -움 -움 -움 -움 - -웁 -웁 -웁 -웁 -웁 - -웂 -웂 -웂 -웂 -웂 - -웃 -웃 -웃 -웃 -웃 - -웄 -웄 -웄 -웄 -웄 - -웅 -웅 -웅 -웅 -웅 - -웆 -웆 -웆 -웆 -웆 - -웇 -웇 -웇 -웇 -웇 - -웈 -웈 -웈 -웈 -웈 - -웉 -웉 -웉 -웉 -웉 - -웊 -웊 -웊 -웊 -웊 - -웋 -웋 -웋 -웋 -웋 - -워 -워 -워 -워 -워 - -웍 -웍 -웍 -웍 -웍 - -웎 -웎 -웎 -웎 -웎 - -웏 -웏 -웏 -웏 -웏 - -원 -원 -원 -원 -원 - -웑 -웑 -웑 -웑 -웑 - -웒 -웒 -웒 -웒 -웒 - -웓 -웓 -웓 -웓 -웓 - -월 -월 -월 -월 -월 - -웕 -웕 -웕 -웕 -웕 - -웖 -웖 -웖 -웖 -웖 - -웗 -웗 -웗 -웗 -웗 - -웘 -웘 -웘 -웘 -웘 - -웙 -웙 -웙 -웙 -웙 - -웚 -웚 -웚 -웚 -웚 - -웛 -웛 -웛 -웛 -웛 - -웜 -웜 -웜 -웜 -웜 - -웝 -웝 -웝 -웝 -웝 - -웞 -웞 -웞 -웞 -웞 - -웟 -웟 -웟 -웟 -웟 - -웠 -웠 -웠 -웠 -웠 - -웡 -웡 -웡 -웡 -웡 - -웢 -웢 -웢 -웢 -웢 - -웣 -웣 -웣 -웣 -웣 - -웤 -웤 -웤 -웤 -웤 - -웥 -웥 -웥 -웥 -웥 - -웦 -웦 -웦 -웦 -웦 - -웧 -웧 -웧 -웧 -웧 - -웨 -웨 -웨 -웨 -웨 - -웩 -웩 -웩 -웩 -웩 - -웪 -웪 -웪 -웪 -웪 - -웫 -웫 -웫 -웫 -웫 - -웬 -웬 -웬 -웬 -웬 - -웭 -웭 -웭 -웭 -웭 - -웮 -웮 -웮 -웮 -웮 - -웯 -웯 -웯 -웯 -웯 - -웰 -웰 -웰 -웰 -웰 - -웱 -웱 -웱 -웱 -웱 - -웲 -웲 -웲 -웲 -웲 - -웳 -웳 -웳 -웳 -웳 - -웴 -웴 -웴 -웴 -웴 - -웵 -웵 -웵 -웵 -웵 - -웶 -웶 -웶 -웶 -웶 - -웷 -웷 -웷 -웷 -웷 - -웸 -웸 -웸 -웸 -웸 - -웹 -웹 -웹 -웹 -웹 - -웺 -웺 -웺 -웺 -웺 - -웻 -웻 -웻 -웻 -웻 - -웼 -웼 -웼 -웼 -웼 - -웽 -웽 -웽 -웽 -웽 - -웾 -웾 -웾 -웾 -웾 - -웿 -웿 -웿 -웿 -웿 - -윀 -윀 -윀 -윀 -윀 - -윁 -윁 -윁 -윁 -윁 - -윂 -윂 -윂 -윂 -윂 - -윃 -윃 -윃 -윃 -윃 - -위 -위 -위 -위 -위 - -윅 -윅 -윅 -윅 -윅 - -윆 -윆 -윆 -윆 -윆 - -윇 -윇 -윇 -윇 -윇 - -윈 -윈 -윈 -윈 -윈 - -윉 -윉 -윉 -윉 -윉 - -윊 -윊 -윊 -윊 -윊 - -윋 -윋 -윋 -윋 -윋 - -윌 -윌 -윌 -윌 -윌 - -윍 -윍 -윍 -윍 -윍 - -윎 -윎 -윎 -윎 -윎 - -윏 -윏 -윏 -윏 -윏 - -윐 -윐 -윐 -윐 -윐 - -윑 -윑 -윑 -윑 -윑 - -윒 -윒 -윒 -윒 -윒 - -윓 -윓 -윓 -윓 -윓 - -윔 -윔 -윔 -윔 -윔 - -윕 -윕 -윕 -윕 -윕 - -윖 -윖 -윖 -윖 -윖 - -윗 -윗 -윗 -윗 -윗 - -윘 -윘 -윘 -윘 -윘 - -윙 -윙 -윙 -윙 -윙 - -윚 -윚 -윚 -윚 -윚 - -윛 -윛 -윛 -윛 -윛 - -윜 -윜 -윜 -윜 -윜 - -윝 -윝 -윝 -윝 -윝 - -윞 -윞 -윞 -윞 -윞 - -윟 -윟 -윟 -윟 -윟 - -유 -유 -유 -유 -유 - -육 -육 -육 -육 -육 - -윢 -윢 -윢 -윢 -윢 - -윣 -윣 -윣 -윣 -윣 - -윤 -윤 -윤 -윤 -윤 - -윥 -윥 -윥 -윥 -윥 - -윦 -윦 -윦 -윦 -윦 - -윧 -윧 -윧 -윧 -윧 - -율 -율 -율 -율 -율 - -윩 -윩 -윩 -윩 -윩 - -윪 -윪 -윪 -윪 -윪 - -윫 -윫 -윫 -윫 -윫 - -윬 -윬 -윬 -윬 -윬 - -윭 -윭 -윭 -윭 -윭 - -윮 -윮 -윮 -윮 -윮 - -윯 -윯 -윯 -윯 -윯 - -윰 -윰 -윰 -윰 -윰 - -윱 -윱 -윱 -윱 -윱 - -윲 -윲 -윲 -윲 -윲 - -윳 -윳 -윳 -윳 -윳 - -윴 -윴 -윴 -윴 -윴 - -융 -융 -융 -융 -융 - -윶 -윶 -윶 -윶 -윶 - -윷 -윷 -윷 -윷 -윷 - -윸 -윸 -윸 -윸 -윸 - -윹 -윹 -윹 -윹 -윹 - -윺 -윺 -윺 -윺 -윺 - -윻 -윻 -윻 -윻 -윻 - -으 -으 -으 -으 -으 - -윽 -윽 -윽 -윽 -윽 - -윾 -윾 -윾 -윾 -윾 - -윿 -윿 -윿 -윿 -윿 - -은 -은 -은 -은 -은 - -읁 -읁 -읁 -읁 -읁 - -읂 -읂 -읂 -읂 -읂 - -읃 -읃 -읃 -읃 -읃 - -을 -을 -을 -을 -을 - -읅 -읅 -읅 -읅 -읅 - -읆 -읆 -읆 -읆 -읆 - -읇 -읇 -읇 -읇 -읇 - -읈 -읈 -읈 -읈 -읈 - -읉 -읉 -읉 -읉 -읉 - -읊 -읊 -읊 -읊 -읊 - -읋 -읋 -읋 -읋 -읋 - -음 -음 -음 -음 -음 - -읍 -읍 -읍 -읍 -읍 - -읎 -읎 -읎 -읎 -읎 - -읏 -읏 -읏 -읏 -읏 - -읐 -읐 -읐 -읐 -읐 - -응 -응 -응 -응 -응 - -읒 -읒 -읒 -읒 -읒 - -읓 -읓 -읓 -읓 -읓 - -읔 -읔 -읔 -읔 -읔 - -읕 -읕 -읕 -읕 -읕 - -읖 -읖 -읖 -읖 -읖 - -읗 -읗 -읗 -읗 -읗 - -의 -의 -의 -의 -의 - -읙 -읙 -읙 -읙 -읙 - -읚 -읚 -읚 -읚 -읚 - -읛 -읛 -읛 -읛 -읛 - -읜 -읜 -읜 -읜 -읜 - -읝 -읝 -읝 -읝 -읝 - -읞 -읞 -읞 -읞 -읞 - -읟 -읟 -읟 -읟 -읟 - -읠 -읠 -읠 -읠 -읠 - -읡 -읡 -읡 -읡 -읡 - -읢 -읢 -읢 -읢 -읢 - -읣 -읣 -읣 -읣 -읣 - -읤 -읤 -읤 -읤 -읤 - -읥 -읥 -읥 -읥 -읥 - -읦 -읦 -읦 -읦 -읦 - -읧 -읧 -읧 -읧 -읧 - -읨 -읨 -읨 -읨 -읨 - -읩 -읩 -읩 -읩 -읩 - -읪 -읪 -읪 -읪 -읪 - -읫 -읫 -읫 -읫 -읫 - -읬 -읬 -읬 -읬 -읬 - -읭 -읭 -읭 -읭 -읭 - -읮 -읮 -읮 -읮 -읮 - -읯 -읯 -읯 -읯 -읯 - -읰 -읰 -읰 -읰 -읰 - -읱 -읱 -읱 -읱 -읱 - -읲 -읲 -읲 -읲 -읲 - -읳 -읳 -읳 -읳 -읳 - -이 -이 -이 -이 -이 - -익 -익 -익 -익 -익 - -읶 -읶 -읶 -읶 -읶 - -읷 -읷 -읷 -읷 -읷 - -인 -인 -인 -인 -인 - -읹 -읹 -읹 -읹 -읹 - -읺 -읺 -읺 -읺 -읺 - -읻 -읻 -읻 -읻 -읻 - -일 -일 -일 -일 -일 - -읽 -읽 -읽 -읽 -읽 - -읾 -읾 -읾 -읾 -읾 - -읿 -읿 -읿 -읿 -읿 - -잀 -잀 -잀 -잀 -잀 - -잁 -잁 -잁 -잁 -잁 - -잂 -잂 -잂 -잂 -잂 - -잃 -잃 -잃 -잃 -잃 - -임 -임 -임 -임 -임 - -입 -입 -입 -입 -입 - -잆 -잆 -잆 -잆 -잆 - -잇 -잇 -잇 -잇 -잇 - -있 -있 -있 -있 -있 - -잉 -잉 -잉 -잉 -잉 - -잊 -잊 -잊 -잊 -잊 - -잋 -잋 -잋 -잋 -잋 - -잌 -잌 -잌 -잌 -잌 - -잍 -잍 -잍 -잍 -잍 - -잎 -잎 -잎 -잎 -잎 - -잏 -잏 -잏 -잏 -잏 - -자 -자 -자 -자 -자 - -작 -작 -작 -작 -작 - -잒 -잒 -잒 -잒 -잒 - -잓 -잓 -잓 -잓 -잓 - -잔 -잔 -잔 -잔 -잔 - -잕 -잕 -잕 -잕 -잕 - -잖 -잖 -잖 -잖 -잖 - -잗 -잗 -잗 -잗 -잗 - -잘 -잘 -잘 -잘 -잘 - -잙 -잙 -잙 -잙 -잙 - -잚 -잚 -잚 -잚 -잚 - -잛 -잛 -잛 -잛 -잛 - -잜 -잜 -잜 -잜 -잜 - -잝 -잝 -잝 -잝 -잝 - -잞 -잞 -잞 -잞 -잞 - -잟 -잟 -잟 -잟 -잟 - -잠 -잠 -잠 -잠 -잠 - -잡 -잡 -잡 -잡 -잡 - -잢 -잢 -잢 -잢 -잢 - -잣 -잣 -잣 -잣 -잣 - -잤 -잤 -잤 -잤 -잤 - -장 -장 -장 -장 -장 - -잦 -잦 -잦 -잦 -잦 - -잧 -잧 -잧 -잧 -잧 - -잨 -잨 -잨 -잨 -잨 - -잩 -잩 -잩 -잩 -잩 - -잪 -잪 -잪 -잪 -잪 - -잫 -잫 -잫 -잫 -잫 - -재 -재 -재 -재 -재 - -잭 -잭 -잭 -잭 -잭 - -잮 -잮 -잮 -잮 -잮 - -잯 -잯 -잯 -잯 -잯 - -잰 -잰 -잰 -잰 -잰 - -잱 -잱 -잱 -잱 -잱 - -잲 -잲 -잲 -잲 -잲 - -잳 -잳 -잳 -잳 -잳 - -잴 -잴 -잴 -잴 -잴 - -잵 -잵 -잵 -잵 -잵 - -잶 -잶 -잶 -잶 -잶 - -잷 -잷 -잷 -잷 -잷 - -잸 -잸 -잸 -잸 -잸 - -잹 -잹 -잹 -잹 -잹 - -잺 -잺 -잺 -잺 -잺 - -잻 -잻 -잻 -잻 -잻 - -잼 -잼 -잼 -잼 -잼 - -잽 -잽 -잽 -잽 -잽 - -잾 -잾 -잾 -잾 -잾 - -잿 -잿 -잿 -잿 -잿 - -쟀 -쟀 -쟀 -쟀 -쟀 - -쟁 -쟁 -쟁 -쟁 -쟁 - -쟂 -쟂 -쟂 -쟂 -쟂 - -쟃 -쟃 -쟃 -쟃 -쟃 - -쟄 -쟄 -쟄 -쟄 -쟄 - -쟅 -쟅 -쟅 -쟅 -쟅 - -쟆 -쟆 -쟆 -쟆 -쟆 - -쟇 -쟇 -쟇 -쟇 -쟇 - -쟈 -쟈 -쟈 -쟈 -쟈 - -쟉 -쟉 -쟉 -쟉 -쟉 - -쟊 -쟊 -쟊 -쟊 -쟊 - -쟋 -쟋 -쟋 -쟋 -쟋 - -쟌 -쟌 -쟌 -쟌 -쟌 - -쟍 -쟍 -쟍 -쟍 -쟍 - -쟎 -쟎 -쟎 -쟎 -쟎 - -쟏 -쟏 -쟏 -쟏 -쟏 - -쟐 -쟐 -쟐 -쟐 -쟐 - -쟑 -쟑 -쟑 -쟑 -쟑 - -쟒 -쟒 -쟒 -쟒 -쟒 - -쟓 -쟓 -쟓 -쟓 -쟓 - -쟔 -쟔 -쟔 -쟔 -쟔 - -쟕 -쟕 -쟕 -쟕 -쟕 - -쟖 -쟖 -쟖 -쟖 -쟖 - -쟗 -쟗 -쟗 -쟗 -쟗 - -쟘 -쟘 -쟘 -쟘 -쟘 - -쟙 -쟙 -쟙 -쟙 -쟙 - -쟚 -쟚 -쟚 -쟚 -쟚 - -쟛 -쟛 -쟛 -쟛 -쟛 - -쟜 -쟜 -쟜 -쟜 -쟜 - -쟝 -쟝 -쟝 -쟝 -쟝 - -쟞 -쟞 -쟞 -쟞 -쟞 - -쟟 -쟟 -쟟 -쟟 -쟟 - -쟠 -쟠 -쟠 -쟠 -쟠 - -쟡 -쟡 -쟡 -쟡 -쟡 - -쟢 -쟢 -쟢 -쟢 -쟢 - -쟣 -쟣 -쟣 -쟣 -쟣 - -쟤 -쟤 -쟤 -쟤 -쟤 - -쟥 -쟥 -쟥 -쟥 -쟥 - -쟦 -쟦 -쟦 -쟦 -쟦 - -쟧 -쟧 -쟧 -쟧 -쟧 - -쟨 -쟨 -쟨 -쟨 -쟨 - -쟩 -쟩 -쟩 -쟩 -쟩 - -쟪 -쟪 -쟪 -쟪 -쟪 - -쟫 -쟫 -쟫 -쟫 -쟫 - -쟬 -쟬 -쟬 -쟬 -쟬 - -쟭 -쟭 -쟭 -쟭 -쟭 - -쟮 -쟮 -쟮 -쟮 -쟮 - -쟯 -쟯 -쟯 -쟯 -쟯 - -쟰 -쟰 -쟰 -쟰 -쟰 - -쟱 -쟱 -쟱 -쟱 -쟱 - -쟲 -쟲 -쟲 -쟲 -쟲 - -쟳 -쟳 -쟳 -쟳 -쟳 - -쟴 -쟴 -쟴 -쟴 -쟴 - -쟵 -쟵 -쟵 -쟵 -쟵 - -쟶 -쟶 -쟶 -쟶 -쟶 - -쟷 -쟷 -쟷 -쟷 -쟷 - -쟸 -쟸 -쟸 -쟸 -쟸 - -쟹 -쟹 -쟹 -쟹 -쟹 - -쟺 -쟺 -쟺 -쟺 -쟺 - -쟻 -쟻 -쟻 -쟻 -쟻 - -쟼 -쟼 -쟼 -쟼 -쟼 - -쟽 -쟽 -쟽 -쟽 -쟽 - -쟾 -쟾 -쟾 -쟾 -쟾 - -쟿 -쟿 -쟿 -쟿 -쟿 - -저 -저 -저 -저 -저 - -적 -적 -적 -적 -적 - -젂 -젂 -젂 -젂 -젂 - -젃 -젃 -젃 -젃 -젃 - -전 -전 -전 -전 -전 - -젅 -젅 -젅 -젅 -젅 - -젆 -젆 -젆 -젆 -젆 - -젇 -젇 -젇 -젇 -젇 - -절 -절 -절 -절 -절 - -젉 -젉 -젉 -젉 -젉 - -젊 -젊 -젊 -젊 -젊 - -젋 -젋 -젋 -젋 -젋 - -젌 -젌 -젌 -젌 -젌 - -젍 -젍 -젍 -젍 -젍 - -젎 -젎 -젎 -젎 -젎 - -젏 -젏 -젏 -젏 -젏 - -점 -점 -점 -점 -점 - -접 -접 -접 -접 -접 - -젒 -젒 -젒 -젒 -젒 - -젓 -젓 -젓 -젓 -젓 - -젔 -젔 -젔 -젔 -젔 - -정 -정 -정 -정 -정 - -젖 -젖 -젖 -젖 -젖 - -젗 -젗 -젗 -젗 -젗 - -젘 -젘 -젘 -젘 -젘 - -젙 -젙 -젙 -젙 -젙 - -젚 -젚 -젚 -젚 -젚 - -젛 -젛 -젛 -젛 -젛 - -제 -제 -제 -제 -제 - -젝 -젝 -젝 -젝 -젝 - -젞 -젞 -젞 -젞 -젞 - -젟 -젟 -젟 -젟 -젟 - -젠 -젠 -젠 -젠 -젠 - -젡 -젡 -젡 -젡 -젡 - -젢 -젢 -젢 -젢 -젢 - -젣 -젣 -젣 -젣 -젣 - -젤 -젤 -젤 -젤 -젤 - -젥 -젥 -젥 -젥 -젥 - -젦 -젦 -젦 -젦 -젦 - -젧 -젧 -젧 -젧 -젧 - -젨 -젨 -젨 -젨 -젨 - -젩 -젩 -젩 -젩 -젩 - -젪 -젪 -젪 -젪 -젪 - -젫 -젫 -젫 -젫 -젫 - -젬 -젬 -젬 -젬 -젬 - -젭 -젭 -젭 -젭 -젭 - -젮 -젮 -젮 -젮 -젮 - -젯 -젯 -젯 -젯 -젯 - -젰 -젰 -젰 -젰 -젰 - -젱 -젱 -젱 -젱 -젱 - -젲 -젲 -젲 -젲 -젲 - -젳 -젳 -젳 -젳 -젳 - -젴 -젴 -젴 -젴 -젴 - -젵 -젵 -젵 -젵 -젵 - -젶 -젶 -젶 -젶 -젶 - -젷 -젷 -젷 -젷 -젷 - -져 -져 -져 -져 -져 - -젹 -젹 -젹 -젹 -젹 - -젺 -젺 -젺 -젺 -젺 - -젻 -젻 -젻 -젻 -젻 - -젼 -젼 -젼 -젼 -젼 - -젽 -젽 -젽 -젽 -젽 - -젾 -젾 -젾 -젾 -젾 - -젿 -젿 -젿 -젿 -젿 - -졀 -졀 -졀 -졀 -졀 - -졁 -졁 -졁 -졁 -졁 - -졂 -졂 -졂 -졂 -졂 - -졃 -졃 -졃 -졃 -졃 - -졄 -졄 -졄 -졄 -졄 - -졅 -졅 -졅 -졅 -졅 - -졆 -졆 -졆 -졆 -졆 - -졇 -졇 -졇 -졇 -졇 - -졈 -졈 -졈 -졈 -졈 - -졉 -졉 -졉 -졉 -졉 - -졊 -졊 -졊 -졊 -졊 - -졋 -졋 -졋 -졋 -졋 - -졌 -졌 -졌 -졌 -졌 - -졍 -졍 -졍 -졍 -졍 - -졎 -졎 -졎 -졎 -졎 - -졏 -졏 -졏 -졏 -졏 - -졐 -졐 -졐 -졐 -졐 - -졑 -졑 -졑 -졑 -졑 - -졒 -졒 -졒 -졒 -졒 - -졓 -졓 -졓 -졓 -졓 - -졔 -졔 -졔 -졔 -졔 - -졕 -졕 -졕 -졕 -졕 - -졖 -졖 -졖 -졖 -졖 - -졗 -졗 -졗 -졗 -졗 - -졘 -졘 -졘 -졘 -졘 - -졙 -졙 -졙 -졙 -졙 - -졚 -졚 -졚 -졚 -졚 - -졛 -졛 -졛 -졛 -졛 - -졜 -졜 -졜 -졜 -졜 - -졝 -졝 -졝 -졝 -졝 - -졞 -졞 -졞 -졞 -졞 - -졟 -졟 -졟 -졟 -졟 - -졠 -졠 -졠 -졠 -졠 - -졡 -졡 -졡 -졡 -졡 - -졢 -졢 -졢 -졢 -졢 - -졣 -졣 -졣 -졣 -졣 - -졤 -졤 -졤 -졤 -졤 - -졥 -졥 -졥 -졥 -졥 - -졦 -졦 -졦 -졦 -졦 - -졧 -졧 -졧 -졧 -졧 - -졨 -졨 -졨 -졨 -졨 - -졩 -졩 -졩 -졩 -졩 - -졪 -졪 -졪 -졪 -졪 - -졫 -졫 -졫 -졫 -졫 - -졬 -졬 -졬 -졬 -졬 - -졭 -졭 -졭 -졭 -졭 - -졮 -졮 -졮 -졮 -졮 - -졯 -졯 -졯 -졯 -졯 - -조 -조 -조 -조 -조 - -족 -족 -족 -족 -족 - -졲 -졲 -졲 -졲 -졲 - -졳 -졳 -졳 -졳 -졳 - -존 -존 -존 -존 -존 - -졵 -졵 -졵 -졵 -졵 - -졶 -졶 -졶 -졶 -졶 - -졷 -졷 -졷 -졷 -졷 - -졸 -졸 -졸 -졸 -졸 - -졹 -졹 -졹 -졹 -졹 - -졺 -졺 -졺 -졺 -졺 - -졻 -졻 -졻 -졻 -졻 - -졼 -졼 -졼 -졼 -졼 - -졽 -졽 -졽 -졽 -졽 - -졾 -졾 -졾 -졾 -졾 - -졿 -졿 -졿 -졿 -졿 - -좀 -좀 -좀 -좀 -좀 - -좁 -좁 -좁 -좁 -좁 - -좂 -좂 -좂 -좂 -좂 - -좃 -좃 -좃 -좃 -좃 - -좄 -좄 -좄 -좄 -좄 - -종 -종 -종 -종 -종 - -좆 -좆 -좆 -좆 -좆 - -좇 -좇 -좇 -좇 -좇 - -좈 -좈 -좈 -좈 -좈 - -좉 -좉 -좉 -좉 -좉 - -좊 -좊 -좊 -좊 -좊 - -좋 -좋 -좋 -좋 -좋 - -좌 -좌 -좌 -좌 -좌 - -좍 -좍 -좍 -좍 -좍 - -좎 -좎 -좎 -좎 -좎 - -좏 -좏 -좏 -좏 -좏 - -좐 -좐 -좐 -좐 -좐 - -좑 -좑 -좑 -좑 -좑 - -좒 -좒 -좒 -좒 -좒 - -좓 -좓 -좓 -좓 -좓 - -좔 -좔 -좔 -좔 -좔 - -좕 -좕 -좕 -좕 -좕 - -좖 -좖 -좖 -좖 -좖 - -좗 -좗 -좗 -좗 -좗 - -좘 -좘 -좘 -좘 -좘 - -좙 -좙 -좙 -좙 -좙 - -좚 -좚 -좚 -좚 -좚 - -좛 -좛 -좛 -좛 -좛 - -좜 -좜 -좜 -좜 -좜 - -좝 -좝 -좝 -좝 -좝 - -좞 -좞 -좞 -좞 -좞 - -좟 -좟 -좟 -좟 -좟 - -좠 -좠 -좠 -좠 -좠 - -좡 -좡 -좡 -좡 -좡 - -좢 -좢 -좢 -좢 -좢 - -좣 -좣 -좣 -좣 -좣 - -좤 -좤 -좤 -좤 -좤 - -좥 -좥 -좥 -좥 -좥 - -좦 -좦 -좦 -좦 -좦 - -좧 -좧 -좧 -좧 -좧 - -좨 -좨 -좨 -좨 -좨 - -좩 -좩 -좩 -좩 -좩 - -좪 -좪 -좪 -좪 -좪 - -좫 -좫 -좫 -좫 -좫 - -좬 -좬 -좬 -좬 -좬 - -좭 -좭 -좭 -좭 -좭 - -좮 -좮 -좮 -좮 -좮 - -좯 -좯 -좯 -좯 -좯 - -좰 -좰 -좰 -좰 -좰 - -좱 -좱 -좱 -좱 -좱 - -좲 -좲 -좲 -좲 -좲 - -좳 -좳 -좳 -좳 -좳 - -좴 -좴 -좴 -좴 -좴 - -좵 -좵 -좵 -좵 -좵 - -좶 -좶 -좶 -좶 -좶 - -좷 -좷 -좷 -좷 -좷 - -좸 -좸 -좸 -좸 -좸 - -좹 -좹 -좹 -좹 -좹 - -좺 -좺 -좺 -좺 -좺 - -좻 -좻 -좻 -좻 -좻 - -좼 -좼 -좼 -좼 -좼 - -좽 -좽 -좽 -좽 -좽 - -좾 -좾 -좾 -좾 -좾 - -좿 -좿 -좿 -좿 -좿 - -죀 -죀 -죀 -죀 -죀 - -죁 -죁 -죁 -죁 -죁 - -죂 -죂 -죂 -죂 -죂 - -죃 -죃 -죃 -죃 -죃 - -죄 -죄 -죄 -죄 -죄 - -죅 -죅 -죅 -죅 -죅 - -죆 -죆 -죆 -죆 -죆 - -죇 -죇 -죇 -죇 -죇 - -죈 -죈 -죈 -죈 -죈 - -죉 -죉 -죉 -죉 -죉 - -죊 -죊 -죊 -죊 -죊 - -죋 -죋 -죋 -죋 -죋 - -죌 -죌 -죌 -죌 -죌 - -죍 -죍 -죍 -죍 -죍 - -죎 -죎 -죎 -죎 -죎 - -죏 -죏 -죏 -죏 -죏 - -죐 -죐 -죐 -죐 -죐 - -죑 -죑 -죑 -죑 -죑 - -죒 -죒 -죒 -죒 -죒 - -죓 -죓 -죓 -죓 -죓 - -죔 -죔 -죔 -죔 -죔 - -죕 -죕 -죕 -죕 -죕 - -죖 -죖 -죖 -죖 -죖 - -죗 -죗 -죗 -죗 -죗 - -죘 -죘 -죘 -죘 -죘 - -죙 -죙 -죙 -죙 -죙 - -죚 -죚 -죚 -죚 -죚 - -죛 -죛 -죛 -죛 -죛 - -죜 -죜 -죜 -죜 -죜 - -죝 -죝 -죝 -죝 -죝 - -죞 -죞 -죞 -죞 -죞 - -죟 -죟 -죟 -죟 -죟 - -죠 -죠 -죠 -죠 -죠 - -죡 -죡 -죡 -죡 -죡 - -죢 -죢 -죢 -죢 -죢 - -죣 -죣 -죣 -죣 -죣 - -죤 -죤 -죤 -죤 -죤 - -죥 -죥 -죥 -죥 -죥 - -죦 -죦 -죦 -죦 -죦 - -죧 -죧 -죧 -죧 -죧 - -죨 -죨 -죨 -죨 -죨 - -죩 -죩 -죩 -죩 -죩 - -죪 -죪 -죪 -죪 -죪 - -죫 -죫 -죫 -죫 -죫 - -죬 -죬 -죬 -죬 -죬 - -죭 -죭 -죭 -죭 -죭 - -죮 -죮 -죮 -죮 -죮 - -죯 -죯 -죯 -죯 -죯 - -죰 -죰 -죰 -죰 -죰 - -죱 -죱 -죱 -죱 -죱 - -죲 -죲 -죲 -죲 -죲 - -죳 -죳 -죳 -죳 -죳 - -죴 -죴 -죴 -죴 -죴 - -죵 -죵 -죵 -죵 -죵 - -죶 -죶 -죶 -죶 -죶 - -죷 -죷 -죷 -죷 -죷 - -죸 -죸 -죸 -죸 -죸 - -죹 -죹 -죹 -죹 -죹 - -죺 -죺 -죺 -죺 -죺 - -죻 -죻 -죻 -죻 -죻 - -주 -주 -주 -주 -주 - -죽 -죽 -죽 -죽 -죽 - -죾 -죾 -죾 -죾 -죾 - -죿 -죿 -죿 -죿 -죿 - -준 -준 -준 -준 -준 - -줁 -줁 -줁 -줁 -줁 - -줂 -줂 -줂 -줂 -줂 - -줃 -줃 -줃 -줃 -줃 - -줄 -줄 -줄 -줄 -줄 - -줅 -줅 -줅 -줅 -줅 - -줆 -줆 -줆 -줆 -줆 - -줇 -줇 -줇 -줇 -줇 - -줈 -줈 -줈 -줈 -줈 - -줉 -줉 -줉 -줉 -줉 - -줊 -줊 -줊 -줊 -줊 - -줋 -줋 -줋 -줋 -줋 - -줌 -줌 -줌 -줌 -줌 - -줍 -줍 -줍 -줍 -줍 - -줎 -줎 -줎 -줎 -줎 - -줏 -줏 -줏 -줏 -줏 - -줐 -줐 -줐 -줐 -줐 - -중 -중 -중 -중 -중 - -줒 -줒 -줒 -줒 -줒 - -줓 -줓 -줓 -줓 -줓 - -줔 -줔 -줔 -줔 -줔 - -줕 -줕 -줕 -줕 -줕 - -줖 -줖 -줖 -줖 -줖 - -줗 -줗 -줗 -줗 -줗 - -줘 -줘 -줘 -줘 -줘 - -줙 -줙 -줙 -줙 -줙 - -줚 -줚 -줚 -줚 -줚 - -줛 -줛 -줛 -줛 -줛 - -줜 -줜 -줜 -줜 -줜 - -줝 -줝 -줝 -줝 -줝 - -줞 -줞 -줞 -줞 -줞 - -줟 -줟 -줟 -줟 -줟 - -줠 -줠 -줠 -줠 -줠 - -줡 -줡 -줡 -줡 -줡 - -줢 -줢 -줢 -줢 -줢 - -줣 -줣 -줣 -줣 -줣 - -줤 -줤 -줤 -줤 -줤 - -줥 -줥 -줥 -줥 -줥 - -줦 -줦 -줦 -줦 -줦 - -줧 -줧 -줧 -줧 -줧 - -줨 -줨 -줨 -줨 -줨 - -줩 -줩 -줩 -줩 -줩 - -줪 -줪 -줪 -줪 -줪 - -줫 -줫 -줫 -줫 -줫 - -줬 -줬 -줬 -줬 -줬 - -줭 -줭 -줭 -줭 -줭 - -줮 -줮 -줮 -줮 -줮 - -줯 -줯 -줯 -줯 -줯 - -줰 -줰 -줰 -줰 -줰 - -줱 -줱 -줱 -줱 -줱 - -줲 -줲 -줲 -줲 -줲 - -줳 -줳 -줳 -줳 -줳 - -줴 -줴 -줴 -줴 -줴 - -줵 -줵 -줵 -줵 -줵 - -줶 -줶 -줶 -줶 -줶 - -줷 -줷 -줷 -줷 -줷 - -줸 -줸 -줸 -줸 -줸 - -줹 -줹 -줹 -줹 -줹 - -줺 -줺 -줺 -줺 -줺 - -줻 -줻 -줻 -줻 -줻 - -줼 -줼 -줼 -줼 -줼 - -줽 -줽 -줽 -줽 -줽 - -줾 -줾 -줾 -줾 -줾 - -줿 -줿 -줿 -줿 -줿 - -쥀 -쥀 -쥀 -쥀 -쥀 - -쥁 -쥁 -쥁 -쥁 -쥁 - -쥂 -쥂 -쥂 -쥂 -쥂 - -쥃 -쥃 -쥃 -쥃 -쥃 - -쥄 -쥄 -쥄 -쥄 -쥄 - -쥅 -쥅 -쥅 -쥅 -쥅 - -쥆 -쥆 -쥆 -쥆 -쥆 - -쥇 -쥇 -쥇 -쥇 -쥇 - -쥈 -쥈 -쥈 -쥈 -쥈 - -쥉 -쥉 -쥉 -쥉 -쥉 - -쥊 -쥊 -쥊 -쥊 -쥊 - -쥋 -쥋 -쥋 -쥋 -쥋 - -쥌 -쥌 -쥌 -쥌 -쥌 - -쥍 -쥍 -쥍 -쥍 -쥍 - -쥎 -쥎 -쥎 -쥎 -쥎 - -쥏 -쥏 -쥏 -쥏 -쥏 - -쥐 -쥐 -쥐 -쥐 -쥐 - -쥑 -쥑 -쥑 -쥑 -쥑 - -쥒 -쥒 -쥒 -쥒 -쥒 - -쥓 -쥓 -쥓 -쥓 -쥓 - -쥔 -쥔 -쥔 -쥔 -쥔 - -쥕 -쥕 -쥕 -쥕 -쥕 - -쥖 -쥖 -쥖 -쥖 -쥖 - -쥗 -쥗 -쥗 -쥗 -쥗 - -쥘 -쥘 -쥘 -쥘 -쥘 - -쥙 -쥙 -쥙 -쥙 -쥙 - -쥚 -쥚 -쥚 -쥚 -쥚 - -쥛 -쥛 -쥛 -쥛 -쥛 - -쥜 -쥜 -쥜 -쥜 -쥜 - -쥝 -쥝 -쥝 -쥝 -쥝 - -쥞 -쥞 -쥞 -쥞 -쥞 - -쥟 -쥟 -쥟 -쥟 -쥟 - -쥠 -쥠 -쥠 -쥠 -쥠 - -쥡 -쥡 -쥡 -쥡 -쥡 - -쥢 -쥢 -쥢 -쥢 -쥢 - -쥣 -쥣 -쥣 -쥣 -쥣 - -쥤 -쥤 -쥤 -쥤 -쥤 - -쥥 -쥥 -쥥 -쥥 -쥥 - -쥦 -쥦 -쥦 -쥦 -쥦 - -쥧 -쥧 -쥧 -쥧 -쥧 - -쥨 -쥨 -쥨 -쥨 -쥨 - -쥩 -쥩 -쥩 -쥩 -쥩 - -쥪 -쥪 -쥪 -쥪 -쥪 - -쥫 -쥫 -쥫 -쥫 -쥫 - -쥬 -쥬 -쥬 -쥬 -쥬 - -쥭 -쥭 -쥭 -쥭 -쥭 - -쥮 -쥮 -쥮 -쥮 -쥮 - -쥯 -쥯 -쥯 -쥯 -쥯 - -쥰 -쥰 -쥰 -쥰 -쥰 - -쥱 -쥱 -쥱 -쥱 -쥱 - -쥲 -쥲 -쥲 -쥲 -쥲 - -쥳 -쥳 -쥳 -쥳 -쥳 - -쥴 -쥴 -쥴 -쥴 -쥴 - -쥵 -쥵 -쥵 -쥵 -쥵 - -쥶 -쥶 -쥶 -쥶 -쥶 - -쥷 -쥷 -쥷 -쥷 -쥷 - -쥸 -쥸 -쥸 -쥸 -쥸 - -쥹 -쥹 -쥹 -쥹 -쥹 - -쥺 -쥺 -쥺 -쥺 -쥺 - -쥻 -쥻 -쥻 -쥻 -쥻 - -쥼 -쥼 -쥼 -쥼 -쥼 - -쥽 -쥽 -쥽 -쥽 -쥽 - -쥾 -쥾 -쥾 -쥾 -쥾 - -쥿 -쥿 -쥿 -쥿 -쥿 - -즀 -즀 -즀 -즀 -즀 - -즁 -즁 -즁 -즁 -즁 - -즂 -즂 -즂 -즂 -즂 - -즃 -즃 -즃 -즃 -즃 - -즄 -즄 -즄 -즄 -즄 - -즅 -즅 -즅 -즅 -즅 - -즆 -즆 -즆 -즆 -즆 - -즇 -즇 -즇 -즇 -즇 - -즈 -즈 -즈 -즈 -즈 - -즉 -즉 -즉 -즉 -즉 - -즊 -즊 -즊 -즊 -즊 - -즋 -즋 -즋 -즋 -즋 - -즌 -즌 -즌 -즌 -즌 - -즍 -즍 -즍 -즍 -즍 - -즎 -즎 -즎 -즎 -즎 - -즏 -즏 -즏 -즏 -즏 - -즐 -즐 -즐 -즐 -즐 - -즑 -즑 -즑 -즑 -즑 - -즒 -즒 -즒 -즒 -즒 - -즓 -즓 -즓 -즓 -즓 - -즔 -즔 -즔 -즔 -즔 - -즕 -즕 -즕 -즕 -즕 - -즖 -즖 -즖 -즖 -즖 - -즗 -즗 -즗 -즗 -즗 - -즘 -즘 -즘 -즘 -즘 - -즙 -즙 -즙 -즙 -즙 - -즚 -즚 -즚 -즚 -즚 - -즛 -즛 -즛 -즛 -즛 - -즜 -즜 -즜 -즜 -즜 - -증 -증 -증 -증 -증 - -즞 -즞 -즞 -즞 -즞 - -즟 -즟 -즟 -즟 -즟 - -즠 -즠 -즠 -즠 -즠 - -즡 -즡 -즡 -즡 -즡 - -즢 -즢 -즢 -즢 -즢 - -즣 -즣 -즣 -즣 -즣 - -즤 -즤 -즤 -즤 -즤 - -즥 -즥 -즥 -즥 -즥 - -즦 -즦 -즦 -즦 -즦 - -즧 -즧 -즧 -즧 -즧 - -즨 -즨 -즨 -즨 -즨 - -즩 -즩 -즩 -즩 -즩 - -즪 -즪 -즪 -즪 -즪 - -즫 -즫 -즫 -즫 -즫 - -즬 -즬 -즬 -즬 -즬 - -즭 -즭 -즭 -즭 -즭 - -즮 -즮 -즮 -즮 -즮 - -즯 -즯 -즯 -즯 -즯 - -즰 -즰 -즰 -즰 -즰 - -즱 -즱 -즱 -즱 -즱 - -즲 -즲 -즲 -즲 -즲 - -즳 -즳 -즳 -즳 -즳 - -즴 -즴 -즴 -즴 -즴 - -즵 -즵 -즵 -즵 -즵 - -즶 -즶 -즶 -즶 -즶 - -즷 -즷 -즷 -즷 -즷 - -즸 -즸 -즸 -즸 -즸 - -즹 -즹 -즹 -즹 -즹 - -즺 -즺 -즺 -즺 -즺 - -즻 -즻 -즻 -즻 -즻 - -즼 -즼 -즼 -즼 -즼 - -즽 -즽 -즽 -즽 -즽 - -즾 -즾 -즾 -즾 -즾 - -즿 -즿 -즿 -즿 -즿 - -지 -지 -지 -지 -지 - -직 -직 -직 -직 -직 - -짂 -짂 -짂 -짂 -짂 - -짃 -짃 -짃 -짃 -짃 - -진 -진 -진 -진 -진 - -짅 -짅 -짅 -짅 -짅 - -짆 -짆 -짆 -짆 -짆 - -짇 -짇 -짇 -짇 -짇 - -질 -질 -질 -질 -질 - -짉 -짉 -짉 -짉 -짉 - -짊 -짊 -짊 -짊 -짊 - -짋 -짋 -짋 -짋 -짋 - -짌 -짌 -짌 -짌 -짌 - -짍 -짍 -짍 -짍 -짍 - -짎 -짎 -짎 -짎 -짎 - -짏 -짏 -짏 -짏 -짏 - -짐 -짐 -짐 -짐 -짐 - -집 -집 -집 -집 -집 - -짒 -짒 -짒 -짒 -짒 - -짓 -짓 -짓 -짓 -짓 - -짔 -짔 -짔 -짔 -짔 - -징 -징 -징 -징 -징 - -짖 -짖 -짖 -짖 -짖 - -짗 -짗 -짗 -짗 -짗 - -짘 -짘 -짘 -짘 -짘 - -짙 -짙 -짙 -짙 -짙 - -짚 -짚 -짚 -짚 -짚 - -짛 -짛 -짛 -짛 -짛 - -짜 -짜 -짜 -짜 -짜 - -짝 -짝 -짝 -짝 -짝 - -짞 -짞 -짞 -짞 -짞 - -짟 -짟 -짟 -짟 -짟 - -짠 -짠 -짠 -짠 -짠 - -짡 -짡 -짡 -짡 -짡 - -짢 -짢 -짢 -짢 -짢 - -짣 -짣 -짣 -짣 -짣 - -짤 -짤 -짤 -짤 -짤 - -짥 -짥 -짥 -짥 -짥 - -짦 -짦 -짦 -짦 -짦 - -짧 -짧 -짧 -짧 -짧 - -짨 -짨 -짨 -짨 -짨 - -짩 -짩 -짩 -짩 -짩 - -짪 -짪 -짪 -짪 -짪 - -짫 -짫 -짫 -짫 -짫 - -짬 -짬 -짬 -짬 -짬 - -짭 -짭 -짭 -짭 -짭 - -짮 -짮 -짮 -짮 -짮 - -짯 -짯 -짯 -짯 -짯 - -짰 -짰 -짰 -짰 -짰 - -짱 -짱 -짱 -짱 -짱 - -짲 -짲 -짲 -짲 -짲 - -짳 -짳 -짳 -짳 -짳 - -짴 -짴 -짴 -짴 -짴 - -짵 -짵 -짵 -짵 -짵 - -짶 -짶 -짶 -짶 -짶 - -짷 -짷 -짷 -짷 -짷 - -째 -째 -째 -째 -째 - -짹 -짹 -짹 -짹 -짹 - -짺 -짺 -짺 -짺 -짺 - -짻 -짻 -짻 -짻 -짻 - -짼 -짼 -짼 -짼 -짼 - -짽 -짽 -짽 -짽 -짽 - -짾 -짾 -짾 -짾 -짾 - -짿 -짿 -짿 -짿 -짿 - -쨀 -쨀 -쨀 -쨀 -쨀 - -쨁 -쨁 -쨁 -쨁 -쨁 - -쨂 -쨂 -쨂 -쨂 -쨂 - -쨃 -쨃 -쨃 -쨃 -쨃 - -쨄 -쨄 -쨄 -쨄 -쨄 - -쨅 -쨅 -쨅 -쨅 -쨅 - -쨆 -쨆 -쨆 -쨆 -쨆 - -쨇 -쨇 -쨇 -쨇 -쨇 - -쨈 -쨈 -쨈 -쨈 -쨈 - -쨉 -쨉 -쨉 -쨉 -쨉 - -쨊 -쨊 -쨊 -쨊 -쨊 - -쨋 -쨋 -쨋 -쨋 -쨋 - -쨌 -쨌 -쨌 -쨌 -쨌 - -쨍 -쨍 -쨍 -쨍 -쨍 - -쨎 -쨎 -쨎 -쨎 -쨎 - -쨏 -쨏 -쨏 -쨏 -쨏 - -쨐 -쨐 -쨐 -쨐 -쨐 - -쨑 -쨑 -쨑 -쨑 -쨑 - -쨒 -쨒 -쨒 -쨒 -쨒 - -쨓 -쨓 -쨓 -쨓 -쨓 - -쨔 -쨔 -쨔 -쨔 -쨔 - -쨕 -쨕 -쨕 -쨕 -쨕 - -쨖 -쨖 -쨖 -쨖 -쨖 - -쨗 -쨗 -쨗 -쨗 -쨗 - -쨘 -쨘 -쨘 -쨘 -쨘 - -쨙 -쨙 -쨙 -쨙 -쨙 - -쨚 -쨚 -쨚 -쨚 -쨚 - -쨛 -쨛 -쨛 -쨛 -쨛 - -쨜 -쨜 -쨜 -쨜 -쨜 - -쨝 -쨝 -쨝 -쨝 -쨝 - -쨞 -쨞 -쨞 -쨞 -쨞 - -쨟 -쨟 -쨟 -쨟 -쨟 - -쨠 -쨠 -쨠 -쨠 -쨠 - -쨡 -쨡 -쨡 -쨡 -쨡 - -쨢 -쨢 -쨢 -쨢 -쨢 - -쨣 -쨣 -쨣 -쨣 -쨣 - -쨤 -쨤 -쨤 -쨤 -쨤 - -쨥 -쨥 -쨥 -쨥 -쨥 - -쨦 -쨦 -쨦 -쨦 -쨦 - -쨧 -쨧 -쨧 -쨧 -쨧 - -쨨 -쨨 -쨨 -쨨 -쨨 - -쨩 -쨩 -쨩 -쨩 -쨩 - -쨪 -쨪 -쨪 -쨪 -쨪 - -쨫 -쨫 -쨫 -쨫 -쨫 - -쨬 -쨬 -쨬 -쨬 -쨬 - -쨭 -쨭 -쨭 -쨭 -쨭 - -쨮 -쨮 -쨮 -쨮 -쨮 - -쨯 -쨯 -쨯 -쨯 -쨯 - -쨰 -쨰 -쨰 -쨰 -쨰 - -쨱 -쨱 -쨱 -쨱 -쨱 - -쨲 -쨲 -쨲 -쨲 -쨲 - -쨳 -쨳 -쨳 -쨳 -쨳 - -쨴 -쨴 -쨴 -쨴 -쨴 - -쨵 -쨵 -쨵 -쨵 -쨵 - -쨶 -쨶 -쨶 -쨶 -쨶 - -쨷 -쨷 -쨷 -쨷 -쨷 - -쨸 -쨸 -쨸 -쨸 -쨸 - -쨹 -쨹 -쨹 -쨹 -쨹 - -쨺 -쨺 -쨺 -쨺 -쨺 - -쨻 -쨻 -쨻 -쨻 -쨻 - -쨼 -쨼 -쨼 -쨼 -쨼 - -쨽 -쨽 -쨽 -쨽 -쨽 - -쨾 -쨾 -쨾 -쨾 -쨾 - -쨿 -쨿 -쨿 -쨿 -쨿 - -쩀 -쩀 -쩀 -쩀 -쩀 - -쩁 -쩁 -쩁 -쩁 -쩁 - -쩂 -쩂 -쩂 -쩂 -쩂 - -쩃 -쩃 -쩃 -쩃 -쩃 - -쩄 -쩄 -쩄 -쩄 -쩄 - -쩅 -쩅 -쩅 -쩅 -쩅 - -쩆 -쩆 -쩆 -쩆 -쩆 - -쩇 -쩇 -쩇 -쩇 -쩇 - -쩈 -쩈 -쩈 -쩈 -쩈 - -쩉 -쩉 -쩉 -쩉 -쩉 - -쩊 -쩊 -쩊 -쩊 -쩊 - -쩋 -쩋 -쩋 -쩋 -쩋 - -쩌 -쩌 -쩌 -쩌 -쩌 - -쩍 -쩍 -쩍 -쩍 -쩍 - -쩎 -쩎 -쩎 -쩎 -쩎 - -쩏 -쩏 -쩏 -쩏 -쩏 - -쩐 -쩐 -쩐 -쩐 -쩐 - -쩑 -쩑 -쩑 -쩑 -쩑 - -쩒 -쩒 -쩒 -쩒 -쩒 - -쩓 -쩓 -쩓 -쩓 -쩓 - -쩔 -쩔 -쩔 -쩔 -쩔 - -쩕 -쩕 -쩕 -쩕 -쩕 - -쩖 -쩖 -쩖 -쩖 -쩖 - -쩗 -쩗 -쩗 -쩗 -쩗 - -쩘 -쩘 -쩘 -쩘 -쩘 - -쩙 -쩙 -쩙 -쩙 -쩙 - -쩚 -쩚 -쩚 -쩚 -쩚 - -쩛 -쩛 -쩛 -쩛 -쩛 - -쩜 -쩜 -쩜 -쩜 -쩜 - -쩝 -쩝 -쩝 -쩝 -쩝 - -쩞 -쩞 -쩞 -쩞 -쩞 - -쩟 -쩟 -쩟 -쩟 -쩟 - -쩠 -쩠 -쩠 -쩠 -쩠 - -쩡 -쩡 -쩡 -쩡 -쩡 - -쩢 -쩢 -쩢 -쩢 -쩢 - -쩣 -쩣 -쩣 -쩣 -쩣 - -쩤 -쩤 -쩤 -쩤 -쩤 - -쩥 -쩥 -쩥 -쩥 -쩥 - -쩦 -쩦 -쩦 -쩦 -쩦 - -쩧 -쩧 -쩧 -쩧 -쩧 - -쩨 -쩨 -쩨 -쩨 -쩨 - -쩩 -쩩 -쩩 -쩩 -쩩 - -쩪 -쩪 -쩪 -쩪 -쩪 - -쩫 -쩫 -쩫 -쩫 -쩫 - -쩬 -쩬 -쩬 -쩬 -쩬 - -쩭 -쩭 -쩭 -쩭 -쩭 - -쩮 -쩮 -쩮 -쩮 -쩮 - -쩯 -쩯 -쩯 -쩯 -쩯 - -쩰 -쩰 -쩰 -쩰 -쩰 - -쩱 -쩱 -쩱 -쩱 -쩱 - -쩲 -쩲 -쩲 -쩲 -쩲 - -쩳 -쩳 -쩳 -쩳 -쩳 - -쩴 -쩴 -쩴 -쩴 -쩴 - -쩵 -쩵 -쩵 -쩵 -쩵 - -쩶 -쩶 -쩶 -쩶 -쩶 - -쩷 -쩷 -쩷 -쩷 -쩷 - -쩸 -쩸 -쩸 -쩸 -쩸 - -쩹 -쩹 -쩹 -쩹 -쩹 - -쩺 -쩺 -쩺 -쩺 -쩺 - -쩻 -쩻 -쩻 -쩻 -쩻 - -쩼 -쩼 -쩼 -쩼 -쩼 - -쩽 -쩽 -쩽 -쩽 -쩽 - -쩾 -쩾 -쩾 -쩾 -쩾 - -쩿 -쩿 -쩿 -쩿 -쩿 - -쪀 -쪀 -쪀 -쪀 -쪀 - -쪁 -쪁 -쪁 -쪁 -쪁 - -쪂 -쪂 -쪂 -쪂 -쪂 - -쪃 -쪃 -쪃 -쪃 -쪃 - -쪄 -쪄 -쪄 -쪄 -쪄 - -쪅 -쪅 -쪅 -쪅 -쪅 - -쪆 -쪆 -쪆 -쪆 -쪆 - -쪇 -쪇 -쪇 -쪇 -쪇 - -쪈 -쪈 -쪈 -쪈 -쪈 - -쪉 -쪉 -쪉 -쪉 -쪉 - -쪊 -쪊 -쪊 -쪊 -쪊 - -쪋 -쪋 -쪋 -쪋 -쪋 - -쪌 -쪌 -쪌 -쪌 -쪌 - -쪍 -쪍 -쪍 -쪍 -쪍 - -쪎 -쪎 -쪎 -쪎 -쪎 - -쪏 -쪏 -쪏 -쪏 -쪏 - -쪐 -쪐 -쪐 -쪐 -쪐 - -쪑 -쪑 -쪑 -쪑 -쪑 - -쪒 -쪒 -쪒 -쪒 -쪒 - -쪓 -쪓 -쪓 -쪓 -쪓 - -쪔 -쪔 -쪔 -쪔 -쪔 - -쪕 -쪕 -쪕 -쪕 -쪕 - -쪖 -쪖 -쪖 -쪖 -쪖 - -쪗 -쪗 -쪗 -쪗 -쪗 - -쪘 -쪘 -쪘 -쪘 -쪘 - -쪙 -쪙 -쪙 -쪙 -쪙 - -쪚 -쪚 -쪚 -쪚 -쪚 - -쪛 -쪛 -쪛 -쪛 -쪛 - -쪜 -쪜 -쪜 -쪜 -쪜 - -쪝 -쪝 -쪝 -쪝 -쪝 - -쪞 -쪞 -쪞 -쪞 -쪞 - -쪟 -쪟 -쪟 -쪟 -쪟 - -쪠 -쪠 -쪠 -쪠 -쪠 - -쪡 -쪡 -쪡 -쪡 -쪡 - -쪢 -쪢 -쪢 -쪢 -쪢 - -쪣 -쪣 -쪣 -쪣 -쪣 - -쪤 -쪤 -쪤 -쪤 -쪤 - -쪥 -쪥 -쪥 -쪥 -쪥 - -쪦 -쪦 -쪦 -쪦 -쪦 - -쪧 -쪧 -쪧 -쪧 -쪧 - -쪨 -쪨 -쪨 -쪨 -쪨 - -쪩 -쪩 -쪩 -쪩 -쪩 - -쪪 -쪪 -쪪 -쪪 -쪪 - -쪫 -쪫 -쪫 -쪫 -쪫 - -쪬 -쪬 -쪬 -쪬 -쪬 - -쪭 -쪭 -쪭 -쪭 -쪭 - -쪮 -쪮 -쪮 -쪮 -쪮 - -쪯 -쪯 -쪯 -쪯 -쪯 - -쪰 -쪰 -쪰 -쪰 -쪰 - -쪱 -쪱 -쪱 -쪱 -쪱 - -쪲 -쪲 -쪲 -쪲 -쪲 - -쪳 -쪳 -쪳 -쪳 -쪳 - -쪴 -쪴 -쪴 -쪴 -쪴 - -쪵 -쪵 -쪵 -쪵 -쪵 - -쪶 -쪶 -쪶 -쪶 -쪶 - -쪷 -쪷 -쪷 -쪷 -쪷 - -쪸 -쪸 -쪸 -쪸 -쪸 - -쪹 -쪹 -쪹 -쪹 -쪹 - -쪺 -쪺 -쪺 -쪺 -쪺 - -쪻 -쪻 -쪻 -쪻 -쪻 - -쪼 -쪼 -쪼 -쪼 -쪼 - -쪽 -쪽 -쪽 -쪽 -쪽 - -쪾 -쪾 -쪾 -쪾 -쪾 - -쪿 -쪿 -쪿 -쪿 -쪿 - -쫀 -쫀 -쫀 -쫀 -쫀 - -쫁 -쫁 -쫁 -쫁 -쫁 - -쫂 -쫂 -쫂 -쫂 -쫂 - -쫃 -쫃 -쫃 -쫃 -쫃 - -쫄 -쫄 -쫄 -쫄 -쫄 - -쫅 -쫅 -쫅 -쫅 -쫅 - -쫆 -쫆 -쫆 -쫆 -쫆 - -쫇 -쫇 -쫇 -쫇 -쫇 - -쫈 -쫈 -쫈 -쫈 -쫈 - -쫉 -쫉 -쫉 -쫉 -쫉 - -쫊 -쫊 -쫊 -쫊 -쫊 - -쫋 -쫋 -쫋 -쫋 -쫋 - -쫌 -쫌 -쫌 -쫌 -쫌 - -쫍 -쫍 -쫍 -쫍 -쫍 - -쫎 -쫎 -쫎 -쫎 -쫎 - -쫏 -쫏 -쫏 -쫏 -쫏 - -쫐 -쫐 -쫐 -쫐 -쫐 - -쫑 -쫑 -쫑 -쫑 -쫑 - -쫒 -쫒 -쫒 -쫒 -쫒 - -쫓 -쫓 -쫓 -쫓 -쫓 - -쫔 -쫔 -쫔 -쫔 -쫔 - -쫕 -쫕 -쫕 -쫕 -쫕 - -쫖 -쫖 -쫖 -쫖 -쫖 - -쫗 -쫗 -쫗 -쫗 -쫗 - -쫘 -쫘 -쫘 -쫘 -쫘 - -쫙 -쫙 -쫙 -쫙 -쫙 - -쫚 -쫚 -쫚 -쫚 -쫚 - -쫛 -쫛 -쫛 -쫛 -쫛 - -쫜 -쫜 -쫜 -쫜 -쫜 - -쫝 -쫝 -쫝 -쫝 -쫝 - -쫞 -쫞 -쫞 -쫞 -쫞 - -쫟 -쫟 -쫟 -쫟 -쫟 - -쫠 -쫠 -쫠 -쫠 -쫠 - -쫡 -쫡 -쫡 -쫡 -쫡 - -쫢 -쫢 -쫢 -쫢 -쫢 - -쫣 -쫣 -쫣 -쫣 -쫣 - -쫤 -쫤 -쫤 -쫤 -쫤 - -쫥 -쫥 -쫥 -쫥 -쫥 - -쫦 -쫦 -쫦 -쫦 -쫦 - -쫧 -쫧 -쫧 -쫧 -쫧 - -쫨 -쫨 -쫨 -쫨 -쫨 - -쫩 -쫩 -쫩 -쫩 -쫩 - -쫪 -쫪 -쫪 -쫪 -쫪 - -쫫 -쫫 -쫫 -쫫 -쫫 - -쫬 -쫬 -쫬 -쫬 -쫬 - -쫭 -쫭 -쫭 -쫭 -쫭 - -쫮 -쫮 -쫮 -쫮 -쫮 - -쫯 -쫯 -쫯 -쫯 -쫯 - -쫰 -쫰 -쫰 -쫰 -쫰 - -쫱 -쫱 -쫱 -쫱 -쫱 - -쫲 -쫲 -쫲 -쫲 -쫲 - -쫳 -쫳 -쫳 -쫳 -쫳 - -쫴 -쫴 -쫴 -쫴 -쫴 - -쫵 -쫵 -쫵 -쫵 -쫵 - -쫶 -쫶 -쫶 -쫶 -쫶 - -쫷 -쫷 -쫷 -쫷 -쫷 - -쫸 -쫸 -쫸 -쫸 -쫸 - -쫹 -쫹 -쫹 -쫹 -쫹 - -쫺 -쫺 -쫺 -쫺 -쫺 - -쫻 -쫻 -쫻 -쫻 -쫻 - -쫼 -쫼 -쫼 -쫼 -쫼 - -쫽 -쫽 -쫽 -쫽 -쫽 - -쫾 -쫾 -쫾 -쫾 -쫾 - -쫿 -쫿 -쫿 -쫿 -쫿 - -쬀 -쬀 -쬀 -쬀 -쬀 - -쬁 -쬁 -쬁 -쬁 -쬁 - -쬂 -쬂 -쬂 -쬂 -쬂 - -쬃 -쬃 -쬃 -쬃 -쬃 - -쬄 -쬄 -쬄 -쬄 -쬄 - -쬅 -쬅 -쬅 -쬅 -쬅 - -쬆 -쬆 -쬆 -쬆 -쬆 - -쬇 -쬇 -쬇 -쬇 -쬇 - -쬈 -쬈 -쬈 -쬈 -쬈 - -쬉 -쬉 -쬉 -쬉 -쬉 - -쬊 -쬊 -쬊 -쬊 -쬊 - -쬋 -쬋 -쬋 -쬋 -쬋 - -쬌 -쬌 -쬌 -쬌 -쬌 - -쬍 -쬍 -쬍 -쬍 -쬍 - -쬎 -쬎 -쬎 -쬎 -쬎 - -쬏 -쬏 -쬏 -쬏 -쬏 - -쬐 -쬐 -쬐 -쬐 -쬐 - -쬑 -쬑 -쬑 -쬑 -쬑 - -쬒 -쬒 -쬒 -쬒 -쬒 - -쬓 -쬓 -쬓 -쬓 -쬓 - -쬔 -쬔 -쬔 -쬔 -쬔 - -쬕 -쬕 -쬕 -쬕 -쬕 - -쬖 -쬖 -쬖 -쬖 -쬖 - -쬗 -쬗 -쬗 -쬗 -쬗 - -쬘 -쬘 -쬘 -쬘 -쬘 - -쬙 -쬙 -쬙 -쬙 -쬙 - -쬚 -쬚 -쬚 -쬚 -쬚 - -쬛 -쬛 -쬛 -쬛 -쬛 - -쬜 -쬜 -쬜 -쬜 -쬜 - -쬝 -쬝 -쬝 -쬝 -쬝 - -쬞 -쬞 -쬞 -쬞 -쬞 - -쬟 -쬟 -쬟 -쬟 -쬟 - -쬠 -쬠 -쬠 -쬠 -쬠 - -쬡 -쬡 -쬡 -쬡 -쬡 - -쬢 -쬢 -쬢 -쬢 -쬢 - -쬣 -쬣 -쬣 -쬣 -쬣 - -쬤 -쬤 -쬤 -쬤 -쬤 - -쬥 -쬥 -쬥 -쬥 -쬥 - -쬦 -쬦 -쬦 -쬦 -쬦 - -쬧 -쬧 -쬧 -쬧 -쬧 - -쬨 -쬨 -쬨 -쬨 -쬨 - -쬩 -쬩 -쬩 -쬩 -쬩 - -쬪 -쬪 -쬪 -쬪 -쬪 - -쬫 -쬫 -쬫 -쬫 -쬫 - -쬬 -쬬 -쬬 -쬬 -쬬 - -쬭 -쬭 -쬭 -쬭 -쬭 - -쬮 -쬮 -쬮 -쬮 -쬮 - -쬯 -쬯 -쬯 -쬯 -쬯 - -쬰 -쬰 -쬰 -쬰 -쬰 - -쬱 -쬱 -쬱 -쬱 -쬱 - -쬲 -쬲 -쬲 -쬲 -쬲 - -쬳 -쬳 -쬳 -쬳 -쬳 - -쬴 -쬴 -쬴 -쬴 -쬴 - -쬵 -쬵 -쬵 -쬵 -쬵 - -쬶 -쬶 -쬶 -쬶 -쬶 - -쬷 -쬷 -쬷 -쬷 -쬷 - -쬸 -쬸 -쬸 -쬸 -쬸 - -쬹 -쬹 -쬹 -쬹 -쬹 - -쬺 -쬺 -쬺 -쬺 -쬺 - -쬻 -쬻 -쬻 -쬻 -쬻 - -쬼 -쬼 -쬼 -쬼 -쬼 - -쬽 -쬽 -쬽 -쬽 -쬽 - -쬾 -쬾 -쬾 -쬾 -쬾 - -쬿 -쬿 -쬿 -쬿 -쬿 - -쭀 -쭀 -쭀 -쭀 -쭀 - -쭁 -쭁 -쭁 -쭁 -쭁 - -쭂 -쭂 -쭂 -쭂 -쭂 - -쭃 -쭃 -쭃 -쭃 -쭃 - -쭄 -쭄 -쭄 -쭄 -쭄 - -쭅 -쭅 -쭅 -쭅 -쭅 - -쭆 -쭆 -쭆 -쭆 -쭆 - -쭇 -쭇 -쭇 -쭇 -쭇 - -쭈 -쭈 -쭈 -쭈 -쭈 - -쭉 -쭉 -쭉 -쭉 -쭉 - -쭊 -쭊 -쭊 -쭊 -쭊 - -쭋 -쭋 -쭋 -쭋 -쭋 - -쭌 -쭌 -쭌 -쭌 -쭌 - -쭍 -쭍 -쭍 -쭍 -쭍 - -쭎 -쭎 -쭎 -쭎 -쭎 - -쭏 -쭏 -쭏 -쭏 -쭏 - -쭐 -쭐 -쭐 -쭐 -쭐 - -쭑 -쭑 -쭑 -쭑 -쭑 - -쭒 -쭒 -쭒 -쭒 -쭒 - -쭓 -쭓 -쭓 -쭓 -쭓 - -쭔 -쭔 -쭔 -쭔 -쭔 - -쭕 -쭕 -쭕 -쭕 -쭕 - -쭖 -쭖 -쭖 -쭖 -쭖 - -쭗 -쭗 -쭗 -쭗 -쭗 - -쭘 -쭘 -쭘 -쭘 -쭘 - -쭙 -쭙 -쭙 -쭙 -쭙 - -쭚 -쭚 -쭚 -쭚 -쭚 - -쭛 -쭛 -쭛 -쭛 -쭛 - -쭜 -쭜 -쭜 -쭜 -쭜 - -쭝 -쭝 -쭝 -쭝 -쭝 - -쭞 -쭞 -쭞 -쭞 -쭞 - -쭟 -쭟 -쭟 -쭟 -쭟 - -쭠 -쭠 -쭠 -쭠 -쭠 - -쭡 -쭡 -쭡 -쭡 -쭡 - -쭢 -쭢 -쭢 -쭢 -쭢 - -쭣 -쭣 -쭣 -쭣 -쭣 - -쭤 -쭤 -쭤 -쭤 -쭤 - -쭥 -쭥 -쭥 -쭥 -쭥 - -쭦 -쭦 -쭦 -쭦 -쭦 - -쭧 -쭧 -쭧 -쭧 -쭧 - -쭨 -쭨 -쭨 -쭨 -쭨 - -쭩 -쭩 -쭩 -쭩 -쭩 - -쭪 -쭪 -쭪 -쭪 -쭪 - -쭫 -쭫 -쭫 -쭫 -쭫 - -쭬 -쭬 -쭬 -쭬 -쭬 - -쭭 -쭭 -쭭 -쭭 -쭭 - -쭮 -쭮 -쭮 -쭮 -쭮 - -쭯 -쭯 -쭯 -쭯 -쭯 - -쭰 -쭰 -쭰 -쭰 -쭰 - -쭱 -쭱 -쭱 -쭱 -쭱 - -쭲 -쭲 -쭲 -쭲 -쭲 - -쭳 -쭳 -쭳 -쭳 -쭳 - -쭴 -쭴 -쭴 -쭴 -쭴 - -쭵 -쭵 -쭵 -쭵 -쭵 - -쭶 -쭶 -쭶 -쭶 -쭶 - -쭷 -쭷 -쭷 -쭷 -쭷 - -쭸 -쭸 -쭸 -쭸 -쭸 - -쭹 -쭹 -쭹 -쭹 -쭹 - -쭺 -쭺 -쭺 -쭺 -쭺 - -쭻 -쭻 -쭻 -쭻 -쭻 - -쭼 -쭼 -쭼 -쭼 -쭼 - -쭽 -쭽 -쭽 -쭽 -쭽 - -쭾 -쭾 -쭾 -쭾 -쭾 - -쭿 -쭿 -쭿 -쭿 -쭿 - -쮀 -쮀 -쮀 -쮀 -쮀 - -쮁 -쮁 -쮁 -쮁 -쮁 - -쮂 -쮂 -쮂 -쮂 -쮂 - -쮃 -쮃 -쮃 -쮃 -쮃 - -쮄 -쮄 -쮄 -쮄 -쮄 - -쮅 -쮅 -쮅 -쮅 -쮅 - -쮆 -쮆 -쮆 -쮆 -쮆 - -쮇 -쮇 -쮇 -쮇 -쮇 - -쮈 -쮈 -쮈 -쮈 -쮈 - -쮉 -쮉 -쮉 -쮉 -쮉 - -쮊 -쮊 -쮊 -쮊 -쮊 - -쮋 -쮋 -쮋 -쮋 -쮋 - -쮌 -쮌 -쮌 -쮌 -쮌 - -쮍 -쮍 -쮍 -쮍 -쮍 - -쮎 -쮎 -쮎 -쮎 -쮎 - -쮏 -쮏 -쮏 -쮏 -쮏 - -쮐 -쮐 -쮐 -쮐 -쮐 - -쮑 -쮑 -쮑 -쮑 -쮑 - -쮒 -쮒 -쮒 -쮒 -쮒 - -쮓 -쮓 -쮓 -쮓 -쮓 - -쮔 -쮔 -쮔 -쮔 -쮔 - -쮕 -쮕 -쮕 -쮕 -쮕 - -쮖 -쮖 -쮖 -쮖 -쮖 - -쮗 -쮗 -쮗 -쮗 -쮗 - -쮘 -쮘 -쮘 -쮘 -쮘 - -쮙 -쮙 -쮙 -쮙 -쮙 - -쮚 -쮚 -쮚 -쮚 -쮚 - -쮛 -쮛 -쮛 -쮛 -쮛 - -쮜 -쮜 -쮜 -쮜 -쮜 - -쮝 -쮝 -쮝 -쮝 -쮝 - -쮞 -쮞 -쮞 -쮞 -쮞 - -쮟 -쮟 -쮟 -쮟 -쮟 - -쮠 -쮠 -쮠 -쮠 -쮠 - -쮡 -쮡 -쮡 -쮡 -쮡 - -쮢 -쮢 -쮢 -쮢 -쮢 - -쮣 -쮣 -쮣 -쮣 -쮣 - -쮤 -쮤 -쮤 -쮤 -쮤 - -쮥 -쮥 -쮥 -쮥 -쮥 - -쮦 -쮦 -쮦 -쮦 -쮦 - -쮧 -쮧 -쮧 -쮧 -쮧 - -쮨 -쮨 -쮨 -쮨 -쮨 - -쮩 -쮩 -쮩 -쮩 -쮩 - -쮪 -쮪 -쮪 -쮪 -쮪 - -쮫 -쮫 -쮫 -쮫 -쮫 - -쮬 -쮬 -쮬 -쮬 -쮬 - -쮭 -쮭 -쮭 -쮭 -쮭 - -쮮 -쮮 -쮮 -쮮 -쮮 - -쮯 -쮯 -쮯 -쮯 -쮯 - -쮰 -쮰 -쮰 -쮰 -쮰 - -쮱 -쮱 -쮱 -쮱 -쮱 - -쮲 -쮲 -쮲 -쮲 -쮲 - -쮳 -쮳 -쮳 -쮳 -쮳 - -쮴 -쮴 -쮴 -쮴 -쮴 - -쮵 -쮵 -쮵 -쮵 -쮵 - -쮶 -쮶 -쮶 -쮶 -쮶 - -쮷 -쮷 -쮷 -쮷 -쮷 - -쮸 -쮸 -쮸 -쮸 -쮸 - -쮹 -쮹 -쮹 -쮹 -쮹 - -쮺 -쮺 -쮺 -쮺 -쮺 - -쮻 -쮻 -쮻 -쮻 -쮻 - -쮼 -쮼 -쮼 -쮼 -쮼 - -쮽 -쮽 -쮽 -쮽 -쮽 - -쮾 -쮾 -쮾 -쮾 -쮾 - -쮿 -쮿 -쮿 -쮿 -쮿 - -쯀 -쯀 -쯀 -쯀 -쯀 - -쯁 -쯁 -쯁 -쯁 -쯁 - -쯂 -쯂 -쯂 -쯂 -쯂 - -쯃 -쯃 -쯃 -쯃 -쯃 - -쯄 -쯄 -쯄 -쯄 -쯄 - -쯅 -쯅 -쯅 -쯅 -쯅 - -쯆 -쯆 -쯆 -쯆 -쯆 - -쯇 -쯇 -쯇 -쯇 -쯇 - -쯈 -쯈 -쯈 -쯈 -쯈 - -쯉 -쯉 -쯉 -쯉 -쯉 - -쯊 -쯊 -쯊 -쯊 -쯊 - -쯋 -쯋 -쯋 -쯋 -쯋 - -쯌 -쯌 -쯌 -쯌 -쯌 - -쯍 -쯍 -쯍 -쯍 -쯍 - -쯎 -쯎 -쯎 -쯎 -쯎 - -쯏 -쯏 -쯏 -쯏 -쯏 - -쯐 -쯐 -쯐 -쯐 -쯐 - -쯑 -쯑 -쯑 -쯑 -쯑 - -쯒 -쯒 -쯒 -쯒 -쯒 - -쯓 -쯓 -쯓 -쯓 -쯓 - -쯔 -쯔 -쯔 -쯔 -쯔 - -쯕 -쯕 -쯕 -쯕 -쯕 - -쯖 -쯖 -쯖 -쯖 -쯖 - -쯗 -쯗 -쯗 -쯗 -쯗 - -쯘 -쯘 -쯘 -쯘 -쯘 - -쯙 -쯙 -쯙 -쯙 -쯙 - -쯚 -쯚 -쯚 -쯚 -쯚 - -쯛 -쯛 -쯛 -쯛 -쯛 - -쯜 -쯜 -쯜 -쯜 -쯜 - -쯝 -쯝 -쯝 -쯝 -쯝 - -쯞 -쯞 -쯞 -쯞 -쯞 - -쯟 -쯟 -쯟 -쯟 -쯟 - -쯠 -쯠 -쯠 -쯠 -쯠 - -쯡 -쯡 -쯡 -쯡 -쯡 - -쯢 -쯢 -쯢 -쯢 -쯢 - -쯣 -쯣 -쯣 -쯣 -쯣 - -쯤 -쯤 -쯤 -쯤 -쯤 - -쯥 -쯥 -쯥 -쯥 -쯥 - -쯦 -쯦 -쯦 -쯦 -쯦 - -쯧 -쯧 -쯧 -쯧 -쯧 - -쯨 -쯨 -쯨 -쯨 -쯨 - -쯩 -쯩 -쯩 -쯩 -쯩 - -쯪 -쯪 -쯪 -쯪 -쯪 - -쯫 -쯫 -쯫 -쯫 -쯫 - -쯬 -쯬 -쯬 -쯬 -쯬 - -쯭 -쯭 -쯭 -쯭 -쯭 - -쯮 -쯮 -쯮 -쯮 -쯮 - -쯯 -쯯 -쯯 -쯯 -쯯 - -쯰 -쯰 -쯰 -쯰 -쯰 - -쯱 -쯱 -쯱 -쯱 -쯱 - -쯲 -쯲 -쯲 -쯲 -쯲 - -쯳 -쯳 -쯳 -쯳 -쯳 - -쯴 -쯴 -쯴 -쯴 -쯴 - -쯵 -쯵 -쯵 -쯵 -쯵 - -쯶 -쯶 -쯶 -쯶 -쯶 - -쯷 -쯷 -쯷 -쯷 -쯷 - -쯸 -쯸 -쯸 -쯸 -쯸 - -쯹 -쯹 -쯹 -쯹 -쯹 - -쯺 -쯺 -쯺 -쯺 -쯺 - -쯻 -쯻 -쯻 -쯻 -쯻 - -쯼 -쯼 -쯼 -쯼 -쯼 - -쯽 -쯽 -쯽 -쯽 -쯽 - -쯾 -쯾 -쯾 -쯾 -쯾 - -쯿 -쯿 -쯿 -쯿 -쯿 - -찀 -찀 -찀 -찀 -찀 - -찁 -찁 -찁 -찁 -찁 - -찂 -찂 -찂 -찂 -찂 - -찃 -찃 -찃 -찃 -찃 - -찄 -찄 -찄 -찄 -찄 - -찅 -찅 -찅 -찅 -찅 - -찆 -찆 -찆 -찆 -찆 - -찇 -찇 -찇 -찇 -찇 - -찈 -찈 -찈 -찈 -찈 - -찉 -찉 -찉 -찉 -찉 - -찊 -찊 -찊 -찊 -찊 - -찋 -찋 -찋 -찋 -찋 - -찌 -찌 -찌 -찌 -찌 - -찍 -찍 -찍 -찍 -찍 - -찎 -찎 -찎 -찎 -찎 - -찏 -찏 -찏 -찏 -찏 - -찐 -찐 -찐 -찐 -찐 - -찑 -찑 -찑 -찑 -찑 - -찒 -찒 -찒 -찒 -찒 - -찓 -찓 -찓 -찓 -찓 - -찔 -찔 -찔 -찔 -찔 - -찕 -찕 -찕 -찕 -찕 - -찖 -찖 -찖 -찖 -찖 - -찗 -찗 -찗 -찗 -찗 - -찘 -찘 -찘 -찘 -찘 - -찙 -찙 -찙 -찙 -찙 - -찚 -찚 -찚 -찚 -찚 - -찛 -찛 -찛 -찛 -찛 - -찜 -찜 -찜 -찜 -찜 - -찝 -찝 -찝 -찝 -찝 - -찞 -찞 -찞 -찞 -찞 - -찟 -찟 -찟 -찟 -찟 - -찠 -찠 -찠 -찠 -찠 - -찡 -찡 -찡 -찡 -찡 - -찢 -찢 -찢 -찢 -찢 - -찣 -찣 -찣 -찣 -찣 - -찤 -찤 -찤 -찤 -찤 - -찥 -찥 -찥 -찥 -찥 - -찦 -찦 -찦 -찦 -찦 - -찧 -찧 -찧 -찧 -찧 - -차 -차 -차 -차 -차 - -착 -착 -착 -착 -착 - -찪 -찪 -찪 -찪 -찪 - -찫 -찫 -찫 -찫 -찫 - -찬 -찬 -찬 -찬 -찬 - -찭 -찭 -찭 -찭 -찭 - -찮 -찮 -찮 -찮 -찮 - -찯 -찯 -찯 -찯 -찯 - -찰 -찰 -찰 -찰 -찰 - -찱 -찱 -찱 -찱 -찱 - -찲 -찲 -찲 -찲 -찲 - -찳 -찳 -찳 -찳 -찳 - -찴 -찴 -찴 -찴 -찴 - -찵 -찵 -찵 -찵 -찵 - -찶 -찶 -찶 -찶 -찶 - -찷 -찷 -찷 -찷 -찷 - -참 -참 -참 -참 -참 - -찹 -찹 -찹 -찹 -찹 - -찺 -찺 -찺 -찺 -찺 - -찻 -찻 -찻 -찻 -찻 - -찼 -찼 -찼 -찼 -찼 - -창 -창 -창 -창 -창 - -찾 -찾 -찾 -찾 -찾 - -찿 -찿 -찿 -찿 -찿 - -챀 -챀 -챀 -챀 -챀 - -챁 -챁 -챁 -챁 -챁 - -챂 -챂 -챂 -챂 -챂 - -챃 -챃 -챃 -챃 -챃 - -채 -채 -채 -채 -채 - -책 -책 -책 -책 -책 - -챆 -챆 -챆 -챆 -챆 - -챇 -챇 -챇 -챇 -챇 - -챈 -챈 -챈 -챈 -챈 - -챉 -챉 -챉 -챉 -챉 - -챊 -챊 -챊 -챊 -챊 - -챋 -챋 -챋 -챋 -챋 - -챌 -챌 -챌 -챌 -챌 - -챍 -챍 -챍 -챍 -챍 - -챎 -챎 -챎 -챎 -챎 - -챏 -챏 -챏 -챏 -챏 - -챐 -챐 -챐 -챐 -챐 - -챑 -챑 -챑 -챑 -챑 - -챒 -챒 -챒 -챒 -챒 - -챓 -챓 -챓 -챓 -챓 - -챔 -챔 -챔 -챔 -챔 - -챕 -챕 -챕 -챕 -챕 - -챖 -챖 -챖 -챖 -챖 - -챗 -챗 -챗 -챗 -챗 - -챘 -챘 -챘 -챘 -챘 - -챙 -챙 -챙 -챙 -챙 - -챚 -챚 -챚 -챚 -챚 - -챛 -챛 -챛 -챛 -챛 - -챜 -챜 -챜 -챜 -챜 - -챝 -챝 -챝 -챝 -챝 - -챞 -챞 -챞 -챞 -챞 - -챟 -챟 -챟 -챟 -챟 - -챠 -챠 -챠 -챠 -챠 - -챡 -챡 -챡 -챡 -챡 - -챢 -챢 -챢 -챢 -챢 - -챣 -챣 -챣 -챣 -챣 - -챤 -챤 -챤 -챤 -챤 - -챥 -챥 -챥 -챥 -챥 - -챦 -챦 -챦 -챦 -챦 - -챧 -챧 -챧 -챧 -챧 - -챨 -챨 -챨 -챨 -챨 - -챩 -챩 -챩 -챩 -챩 - -챪 -챪 -챪 -챪 -챪 - -챫 -챫 -챫 -챫 -챫 - -챬 -챬 -챬 -챬 -챬 - -챭 -챭 -챭 -챭 -챭 - -챮 -챮 -챮 -챮 -챮 - -챯 -챯 -챯 -챯 -챯 - -챰 -챰 -챰 -챰 -챰 - -챱 -챱 -챱 -챱 -챱 - -챲 -챲 -챲 -챲 -챲 - -챳 -챳 -챳 -챳 -챳 - -챴 -챴 -챴 -챴 -챴 - -챵 -챵 -챵 -챵 -챵 - -챶 -챶 -챶 -챶 -챶 - -챷 -챷 -챷 -챷 -챷 - -챸 -챸 -챸 -챸 -챸 - -챹 -챹 -챹 -챹 -챹 - -챺 -챺 -챺 -챺 -챺 - -챻 -챻 -챻 -챻 -챻 - -챼 -챼 -챼 -챼 -챼 - -챽 -챽 -챽 -챽 -챽 - -챾 -챾 -챾 -챾 -챾 - -챿 -챿 -챿 -챿 -챿 - -첀 -첀 -첀 -첀 -첀 - -첁 -첁 -첁 -첁 -첁 - -첂 -첂 -첂 -첂 -첂 - -첃 -첃 -첃 -첃 -첃 - -첄 -첄 -첄 -첄 -첄 - -첅 -첅 -첅 -첅 -첅 - -첆 -첆 -첆 -첆 -첆 - -첇 -첇 -첇 -첇 -첇 - -첈 -첈 -첈 -첈 -첈 - -첉 -첉 -첉 -첉 -첉 - -첊 -첊 -첊 -첊 -첊 - -첋 -첋 -첋 -첋 -첋 - -첌 -첌 -첌 -첌 -첌 - -첍 -첍 -첍 -첍 -첍 - -첎 -첎 -첎 -첎 -첎 - -첏 -첏 -첏 -첏 -첏 - -첐 -첐 -첐 -첐 -첐 - -첑 -첑 -첑 -첑 -첑 - -첒 -첒 -첒 -첒 -첒 - -첓 -첓 -첓 -첓 -첓 - -첔 -첔 -첔 -첔 -첔 - -첕 -첕 -첕 -첕 -첕 - -첖 -첖 -첖 -첖 -첖 - -첗 -첗 -첗 -첗 -첗 - -처 -처 -처 -처 -처 - -척 -척 -척 -척 -척 - -첚 -첚 -첚 -첚 -첚 - -첛 -첛 -첛 -첛 -첛 - -천 -천 -천 -천 -천 - -첝 -첝 -첝 -첝 -첝 - -첞 -첞 -첞 -첞 -첞 - -첟 -첟 -첟 -첟 -첟 - -철 -철 -철 -철 -철 - -첡 -첡 -첡 -첡 -첡 - -첢 -첢 -첢 -첢 -첢 - -첣 -첣 -첣 -첣 -첣 - -첤 -첤 -첤 -첤 -첤 - -첥 -첥 -첥 -첥 -첥 - -첦 -첦 -첦 -첦 -첦 - -첧 -첧 -첧 -첧 -첧 - -첨 -첨 -첨 -첨 -첨 - -첩 -첩 -첩 -첩 -첩 - -첪 -첪 -첪 -첪 -첪 - -첫 -첫 -첫 -첫 -첫 - -첬 -첬 -첬 -첬 -첬 - -청 -청 -청 -청 -청 - -첮 -첮 -첮 -첮 -첮 - -첯 -첯 -첯 -첯 -첯 - -첰 -첰 -첰 -첰 -첰 - -첱 -첱 -첱 -첱 -첱 - -첲 -첲 -첲 -첲 -첲 - -첳 -첳 -첳 -첳 -첳 - -체 -체 -체 -체 -체 - -첵 -첵 -첵 -첵 -첵 - -첶 -첶 -첶 -첶 -첶 - -첷 -첷 -첷 -첷 -첷 - -첸 -첸 -첸 -첸 -첸 - -첹 -첹 -첹 -첹 -첹 - -첺 -첺 -첺 -첺 -첺 - -첻 -첻 -첻 -첻 -첻 - -첼 -첼 -첼 -첼 -첼 - -첽 -첽 -첽 -첽 -첽 - -첾 -첾 -첾 -첾 -첾 - -첿 -첿 -첿 -첿 -첿 - -쳀 -쳀 -쳀 -쳀 -쳀 - -쳁 -쳁 -쳁 -쳁 -쳁 - -쳂 -쳂 -쳂 -쳂 -쳂 - -쳃 -쳃 -쳃 -쳃 -쳃 - -쳄 -쳄 -쳄 -쳄 -쳄 - -쳅 -쳅 -쳅 -쳅 -쳅 - -쳆 -쳆 -쳆 -쳆 -쳆 - -쳇 -쳇 -쳇 -쳇 -쳇 - -쳈 -쳈 -쳈 -쳈 -쳈 - -쳉 -쳉 -쳉 -쳉 -쳉 - -쳊 -쳊 -쳊 -쳊 -쳊 - -쳋 -쳋 -쳋 -쳋 -쳋 - -쳌 -쳌 -쳌 -쳌 -쳌 - -쳍 -쳍 -쳍 -쳍 -쳍 - -쳎 -쳎 -쳎 -쳎 -쳎 - -쳏 -쳏 -쳏 -쳏 -쳏 - -쳐 -쳐 -쳐 -쳐 -쳐 - -쳑 -쳑 -쳑 -쳑 -쳑 - -쳒 -쳒 -쳒 -쳒 -쳒 - -쳓 -쳓 -쳓 -쳓 -쳓 - -쳔 -쳔 -쳔 -쳔 -쳔 - -쳕 -쳕 -쳕 -쳕 -쳕 - -쳖 -쳖 -쳖 -쳖 -쳖 - -쳗 -쳗 -쳗 -쳗 -쳗 - -쳘 -쳘 -쳘 -쳘 -쳘 - -쳙 -쳙 -쳙 -쳙 -쳙 - -쳚 -쳚 -쳚 -쳚 -쳚 - -쳛 -쳛 -쳛 -쳛 -쳛 - -쳜 -쳜 -쳜 -쳜 -쳜 - -쳝 -쳝 -쳝 -쳝 -쳝 - -쳞 -쳞 -쳞 -쳞 -쳞 - -쳟 -쳟 -쳟 -쳟 -쳟 - -쳠 -쳠 -쳠 -쳠 -쳠 - -쳡 -쳡 -쳡 -쳡 -쳡 - -쳢 -쳢 -쳢 -쳢 -쳢 - -쳣 -쳣 -쳣 -쳣 -쳣 - -쳤 -쳤 -쳤 -쳤 -쳤 - -쳥 -쳥 -쳥 -쳥 -쳥 - -쳦 -쳦 -쳦 -쳦 -쳦 - -쳧 -쳧 -쳧 -쳧 -쳧 - -쳨 -쳨 -쳨 -쳨 -쳨 - -쳩 -쳩 -쳩 -쳩 -쳩 - -쳪 -쳪 -쳪 -쳪 -쳪 - -쳫 -쳫 -쳫 -쳫 -쳫 - -쳬 -쳬 -쳬 -쳬 -쳬 - -쳭 -쳭 -쳭 -쳭 -쳭 - -쳮 -쳮 -쳮 -쳮 -쳮 - -쳯 -쳯 -쳯 -쳯 -쳯 - -쳰 -쳰 -쳰 -쳰 -쳰 - -쳱 -쳱 -쳱 -쳱 -쳱 - -쳲 -쳲 -쳲 -쳲 -쳲 - -쳳 -쳳 -쳳 -쳳 -쳳 - -쳴 -쳴 -쳴 -쳴 -쳴 - -쳵 -쳵 -쳵 -쳵 -쳵 - -쳶 -쳶 -쳶 -쳶 -쳶 - -쳷 -쳷 -쳷 -쳷 -쳷 - -쳸 -쳸 -쳸 -쳸 -쳸 - -쳹 -쳹 -쳹 -쳹 -쳹 - -쳺 -쳺 -쳺 -쳺 -쳺 - -쳻 -쳻 -쳻 -쳻 -쳻 - -쳼 -쳼 -쳼 -쳼 -쳼 - -쳽 -쳽 -쳽 -쳽 -쳽 - -쳾 -쳾 -쳾 -쳾 -쳾 - -쳿 -쳿 -쳿 -쳿 -쳿 - -촀 -촀 -촀 -촀 -촀 - -촁 -촁 -촁 -촁 -촁 - -촂 -촂 -촂 -촂 -촂 - -촃 -촃 -촃 -촃 -촃 - -촄 -촄 -촄 -촄 -촄 - -촅 -촅 -촅 -촅 -촅 - -촆 -촆 -촆 -촆 -촆 - -촇 -촇 -촇 -촇 -촇 - -초 -초 -초 -초 -초 - -촉 -촉 -촉 -촉 -촉 - -촊 -촊 -촊 -촊 -촊 - -촋 -촋 -촋 -촋 -촋 - -촌 -촌 -촌 -촌 -촌 - -촍 -촍 -촍 -촍 -촍 - -촎 -촎 -촎 -촎 -촎 - -촏 -촏 -촏 -촏 -촏 - -촐 -촐 -촐 -촐 -촐 - -촑 -촑 -촑 -촑 -촑 - -촒 -촒 -촒 -촒 -촒 - -촓 -촓 -촓 -촓 -촓 - -촔 -촔 -촔 -촔 -촔 - -촕 -촕 -촕 -촕 -촕 - -촖 -촖 -촖 -촖 -촖 - -촗 -촗 -촗 -촗 -촗 - -촘 -촘 -촘 -촘 -촘 - -촙 -촙 -촙 -촙 -촙 - -촚 -촚 -촚 -촚 -촚 - -촛 -촛 -촛 -촛 -촛 - -촜 -촜 -촜 -촜 -촜 - -총 -총 -총 -총 -총 - -촞 -촞 -촞 -촞 -촞 - -촟 -촟 -촟 -촟 -촟 - -촠 -촠 -촠 -촠 -촠 - -촡 -촡 -촡 -촡 -촡 - -촢 -촢 -촢 -촢 -촢 - -촣 -촣 -촣 -촣 -촣 - -촤 -촤 -촤 -촤 -촤 - -촥 -촥 -촥 -촥 -촥 - -촦 -촦 -촦 -촦 -촦 - -촧 -촧 -촧 -촧 -촧 - -촨 -촨 -촨 -촨 -촨 - -촩 -촩 -촩 -촩 -촩 - -촪 -촪 -촪 -촪 -촪 - -촫 -촫 -촫 -촫 -촫 - -촬 -촬 -촬 -촬 -촬 - -촭 -촭 -촭 -촭 -촭 - -촮 -촮 -촮 -촮 -촮 - -촯 -촯 -촯 -촯 -촯 - -촰 -촰 -촰 -촰 -촰 - -촱 -촱 -촱 -촱 -촱 - -촲 -촲 -촲 -촲 -촲 - -촳 -촳 -촳 -촳 -촳 - -촴 -촴 -촴 -촴 -촴 - -촵 -촵 -촵 -촵 -촵 - -촶 -촶 -촶 -촶 -촶 - -촷 -촷 -촷 -촷 -촷 - -촸 -촸 -촸 -촸 -촸 - -촹 -촹 -촹 -촹 -촹 - -촺 -촺 -촺 -촺 -촺 - -촻 -촻 -촻 -촻 -촻 - -촼 -촼 -촼 -촼 -촼 - -촽 -촽 -촽 -촽 -촽 - -촾 -촾 -촾 -촾 -촾 - -촿 -촿 -촿 -촿 -촿 - -쵀 -쵀 -쵀 -쵀 -쵀 - -쵁 -쵁 -쵁 -쵁 -쵁 - -쵂 -쵂 -쵂 -쵂 -쵂 - -쵃 -쵃 -쵃 -쵃 -쵃 - -쵄 -쵄 -쵄 -쵄 -쵄 - -쵅 -쵅 -쵅 -쵅 -쵅 - -쵆 -쵆 -쵆 -쵆 -쵆 - -쵇 -쵇 -쵇 -쵇 -쵇 - -쵈 -쵈 -쵈 -쵈 -쵈 - -쵉 -쵉 -쵉 -쵉 -쵉 - -쵊 -쵊 -쵊 -쵊 -쵊 - -쵋 -쵋 -쵋 -쵋 -쵋 - -쵌 -쵌 -쵌 -쵌 -쵌 - -쵍 -쵍 -쵍 -쵍 -쵍 - -쵎 -쵎 -쵎 -쵎 -쵎 - -쵏 -쵏 -쵏 -쵏 -쵏 - -쵐 -쵐 -쵐 -쵐 -쵐 - -쵑 -쵑 -쵑 -쵑 -쵑 - -쵒 -쵒 -쵒 -쵒 -쵒 - -쵓 -쵓 -쵓 -쵓 -쵓 - -쵔 -쵔 -쵔 -쵔 -쵔 - -쵕 -쵕 -쵕 -쵕 -쵕 - -쵖 -쵖 -쵖 -쵖 -쵖 - -쵗 -쵗 -쵗 -쵗 -쵗 - -쵘 -쵘 -쵘 -쵘 -쵘 - -쵙 -쵙 -쵙 -쵙 -쵙 - -쵚 -쵚 -쵚 -쵚 -쵚 - -쵛 -쵛 -쵛 -쵛 -쵛 - -최 -최 -최 -최 -최 - -쵝 -쵝 -쵝 -쵝 -쵝 - -쵞 -쵞 -쵞 -쵞 -쵞 - -쵟 -쵟 -쵟 -쵟 -쵟 - -쵠 -쵠 -쵠 -쵠 -쵠 - -쵡 -쵡 -쵡 -쵡 -쵡 - -쵢 -쵢 -쵢 -쵢 -쵢 - -쵣 -쵣 -쵣 -쵣 -쵣 - -쵤 -쵤 -쵤 -쵤 -쵤 - -쵥 -쵥 -쵥 -쵥 -쵥 - -쵦 -쵦 -쵦 -쵦 -쵦 - -쵧 -쵧 -쵧 -쵧 -쵧 - -쵨 -쵨 -쵨 -쵨 -쵨 - -쵩 -쵩 -쵩 -쵩 -쵩 - -쵪 -쵪 -쵪 -쵪 -쵪 - -쵫 -쵫 -쵫 -쵫 -쵫 - -쵬 -쵬 -쵬 -쵬 -쵬 - -쵭 -쵭 -쵭 -쵭 -쵭 - -쵮 -쵮 -쵮 -쵮 -쵮 - -쵯 -쵯 -쵯 -쵯 -쵯 - -쵰 -쵰 -쵰 -쵰 -쵰 - -쵱 -쵱 -쵱 -쵱 -쵱 - -쵲 -쵲 -쵲 -쵲 -쵲 - -쵳 -쵳 -쵳 -쵳 -쵳 - -쵴 -쵴 -쵴 -쵴 -쵴 - -쵵 -쵵 -쵵 -쵵 -쵵 - -쵶 -쵶 -쵶 -쵶 -쵶 - -쵷 -쵷 -쵷 -쵷 -쵷 - -쵸 -쵸 -쵸 -쵸 -쵸 - -쵹 -쵹 -쵹 -쵹 -쵹 - -쵺 -쵺 -쵺 -쵺 -쵺 - -쵻 -쵻 -쵻 -쵻 -쵻 - -쵼 -쵼 -쵼 -쵼 -쵼 - -쵽 -쵽 -쵽 -쵽 -쵽 - -쵾 -쵾 -쵾 -쵾 -쵾 - -쵿 -쵿 -쵿 -쵿 -쵿 - -춀 -춀 -춀 -춀 -춀 - -춁 -춁 -춁 -춁 -춁 - -춂 -춂 -춂 -춂 -춂 - -춃 -춃 -춃 -춃 -춃 - -춄 -춄 -춄 -춄 -춄 - -춅 -춅 -춅 -춅 -춅 - -춆 -춆 -춆 -춆 -춆 - -춇 -춇 -춇 -춇 -춇 - -춈 -춈 -춈 -춈 -춈 - -춉 -춉 -춉 -춉 -춉 - -춊 -춊 -춊 -춊 -춊 - -춋 -춋 -춋 -춋 -춋 - -춌 -춌 -춌 -춌 -춌 - -춍 -춍 -춍 -춍 -춍 - -춎 -춎 -춎 -춎 -춎 - -춏 -춏 -춏 -춏 -춏 - -춐 -춐 -춐 -춐 -춐 - -춑 -춑 -춑 -춑 -춑 - -춒 -춒 -춒 -춒 -춒 - -춓 -춓 -춓 -춓 -춓 - -추 -추 -추 -추 -추 - -축 -축 -축 -축 -축 - -춖 -춖 -춖 -춖 -춖 - -춗 -춗 -춗 -춗 -춗 - -춘 -춘 -춘 -춘 -춘 - -춙 -춙 -춙 -춙 -춙 - -춚 -춚 -춚 -춚 -춚 - -춛 -춛 -춛 -춛 -춛 - -출 -출 -출 -출 -출 - -춝 -춝 -춝 -춝 -춝 - -춞 -춞 -춞 -춞 -춞 - -춟 -춟 -춟 -춟 -춟 - -춠 -춠 -춠 -춠 -춠 - -춡 -춡 -춡 -춡 -춡 - -춢 -춢 -춢 -춢 -춢 - -춣 -춣 -춣 -춣 -춣 - -춤 -춤 -춤 -춤 -춤 - -춥 -춥 -춥 -춥 -춥 - -춦 -춦 -춦 -춦 -춦 - -춧 -춧 -춧 -춧 -춧 - -춨 -춨 -춨 -춨 -춨 - -충 -충 -충 -충 -충 - -춪 -춪 -춪 -춪 -춪 - -춫 -춫 -춫 -춫 -춫 - -춬 -춬 -춬 -춬 -춬 - -춭 -춭 -춭 -춭 -춭 - -춮 -춮 -춮 -춮 -춮 - -춯 -춯 -춯 -춯 -춯 - -춰 -춰 -춰 -춰 -춰 - -춱 -춱 -춱 -춱 -춱 - -춲 -춲 -춲 -춲 -춲 - -춳 -춳 -춳 -춳 -춳 - -춴 -춴 -춴 -춴 -춴 - -춵 -춵 -춵 -춵 -춵 - -춶 -춶 -춶 -춶 -춶 - -춷 -춷 -춷 -춷 -춷 - -춸 -춸 -춸 -춸 -춸 - -춹 -춹 -춹 -춹 -춹 - -춺 -춺 -춺 -춺 -춺 - -춻 -춻 -춻 -춻 -춻 - -춼 -춼 -춼 -춼 -춼 - -춽 -춽 -춽 -춽 -춽 - -춾 -춾 -춾 -춾 -춾 - -춿 -춿 -춿 -춿 -춿 - -췀 -췀 -췀 -췀 -췀 - -췁 -췁 -췁 -췁 -췁 - -췂 -췂 -췂 -췂 -췂 - -췃 -췃 -췃 -췃 -췃 - -췄 -췄 -췄 -췄 -췄 - -췅 -췅 -췅 -췅 -췅 - -췆 -췆 -췆 -췆 -췆 - -췇 -췇 -췇 -췇 -췇 - -췈 -췈 -췈 -췈 -췈 - -췉 -췉 -췉 -췉 -췉 - -췊 -췊 -췊 -췊 -췊 - -췋 -췋 -췋 -췋 -췋 - -췌 -췌 -췌 -췌 -췌 - -췍 -췍 -췍 -췍 -췍 - -췎 -췎 -췎 -췎 -췎 - -췏 -췏 -췏 -췏 -췏 - -췐 -췐 -췐 -췐 -췐 - -췑 -췑 -췑 -췑 -췑 - -췒 -췒 -췒 -췒 -췒 - -췓 -췓 -췓 -췓 -췓 - -췔 -췔 -췔 -췔 -췔 - -췕 -췕 -췕 -췕 -췕 - -췖 -췖 -췖 -췖 -췖 - -췗 -췗 -췗 -췗 -췗 - -췘 -췘 -췘 -췘 -췘 - -췙 -췙 -췙 -췙 -췙 - -췚 -췚 -췚 -췚 -췚 - -췛 -췛 -췛 -췛 -췛 - -췜 -췜 -췜 -췜 -췜 - -췝 -췝 -췝 -췝 -췝 - -췞 -췞 -췞 -췞 -췞 - -췟 -췟 -췟 -췟 -췟 - -췠 -췠 -췠 -췠 -췠 - -췡 -췡 -췡 -췡 -췡 - -췢 -췢 -췢 -췢 -췢 - -췣 -췣 -췣 -췣 -췣 - -췤 -췤 -췤 -췤 -췤 - -췥 -췥 -췥 -췥 -췥 - -췦 -췦 -췦 -췦 -췦 - -췧 -췧 -췧 -췧 -췧 - -취 -취 -취 -취 -취 - -췩 -췩 -췩 -췩 -췩 - -췪 -췪 -췪 -췪 -췪 - -췫 -췫 -췫 -췫 -췫 - -췬 -췬 -췬 -췬 -췬 - -췭 -췭 -췭 -췭 -췭 - -췮 -췮 -췮 -췮 -췮 - -췯 -췯 -췯 -췯 -췯 - -췰 -췰 -췰 -췰 -췰 - -췱 -췱 -췱 -췱 -췱 - -췲 -췲 -췲 -췲 -췲 - -췳 -췳 -췳 -췳 -췳 - -췴 -췴 -췴 -췴 -췴 - -췵 -췵 -췵 -췵 -췵 - -췶 -췶 -췶 -췶 -췶 - -췷 -췷 -췷 -췷 -췷 - -췸 -췸 -췸 -췸 -췸 - -췹 -췹 -췹 -췹 -췹 - -췺 -췺 -췺 -췺 -췺 - -췻 -췻 -췻 -췻 -췻 - -췼 -췼 -췼 -췼 -췼 - -췽 -췽 -췽 -췽 -췽 - -췾 -췾 -췾 -췾 -췾 - -췿 -췿 -췿 -췿 -췿 - -츀 -츀 -츀 -츀 -츀 - -츁 -츁 -츁 -츁 -츁 - -츂 -츂 -츂 -츂 -츂 - -츃 -츃 -츃 -츃 -츃 - -츄 -츄 -츄 -츄 -츄 - -츅 -츅 -츅 -츅 -츅 - -츆 -츆 -츆 -츆 -츆 - -츇 -츇 -츇 -츇 -츇 - -츈 -츈 -츈 -츈 -츈 - -츉 -츉 -츉 -츉 -츉 - -츊 -츊 -츊 -츊 -츊 - -츋 -츋 -츋 -츋 -츋 - -츌 -츌 -츌 -츌 -츌 - -츍 -츍 -츍 -츍 -츍 - -츎 -츎 -츎 -츎 -츎 - -츏 -츏 -츏 -츏 -츏 - -츐 -츐 -츐 -츐 -츐 - -츑 -츑 -츑 -츑 -츑 - -츒 -츒 -츒 -츒 -츒 - -츓 -츓 -츓 -츓 -츓 - -츔 -츔 -츔 -츔 -츔 - -츕 -츕 -츕 -츕 -츕 - -츖 -츖 -츖 -츖 -츖 - -츗 -츗 -츗 -츗 -츗 - -츘 -츘 -츘 -츘 -츘 - -츙 -츙 -츙 -츙 -츙 - -츚 -츚 -츚 -츚 -츚 - -츛 -츛 -츛 -츛 -츛 - -츜 -츜 -츜 -츜 -츜 - -츝 -츝 -츝 -츝 -츝 - -츞 -츞 -츞 -츞 -츞 - -츟 -츟 -츟 -츟 -츟 - -츠 -츠 -츠 -츠 -츠 - -측 -측 -측 -측 -측 - -츢 -츢 -츢 -츢 -츢 - -츣 -츣 -츣 -츣 -츣 - -츤 -츤 -츤 -츤 -츤 - -츥 -츥 -츥 -츥 -츥 - -츦 -츦 -츦 -츦 -츦 - -츧 -츧 -츧 -츧 -츧 - -츨 -츨 -츨 -츨 -츨 - -츩 -츩 -츩 -츩 -츩 - -츪 -츪 -츪 -츪 -츪 - -츫 -츫 -츫 -츫 -츫 - -츬 -츬 -츬 -츬 -츬 - -츭 -츭 -츭 -츭 -츭 - -츮 -츮 -츮 -츮 -츮 - -츯 -츯 -츯 -츯 -츯 - -츰 -츰 -츰 -츰 -츰 - -츱 -츱 -츱 -츱 -츱 - -츲 -츲 -츲 -츲 -츲 - -츳 -츳 -츳 -츳 -츳 - -츴 -츴 -츴 -츴 -츴 - -층 -층 -층 -층 -층 - -츶 -츶 -츶 -츶 -츶 - -츷 -츷 -츷 -츷 -츷 - -츸 -츸 -츸 -츸 -츸 - -츹 -츹 -츹 -츹 -츹 - -츺 -츺 -츺 -츺 -츺 - -츻 -츻 -츻 -츻 -츻 - -츼 -츼 -츼 -츼 -츼 - -츽 -츽 -츽 -츽 -츽 - -츾 -츾 -츾 -츾 -츾 - -츿 -츿 -츿 -츿 -츿 - -칀 -칀 -칀 -칀 -칀 - -칁 -칁 -칁 -칁 -칁 - -칂 -칂 -칂 -칂 -칂 - -칃 -칃 -칃 -칃 -칃 - -칄 -칄 -칄 -칄 -칄 - -칅 -칅 -칅 -칅 -칅 - -칆 -칆 -칆 -칆 -칆 - -칇 -칇 -칇 -칇 -칇 - -칈 -칈 -칈 -칈 -칈 - -칉 -칉 -칉 -칉 -칉 - -칊 -칊 -칊 -칊 -칊 - -칋 -칋 -칋 -칋 -칋 - -칌 -칌 -칌 -칌 -칌 - -칍 -칍 -칍 -칍 -칍 - -칎 -칎 -칎 -칎 -칎 - -칏 -칏 -칏 -칏 -칏 - -칐 -칐 -칐 -칐 -칐 - -칑 -칑 -칑 -칑 -칑 - -칒 -칒 -칒 -칒 -칒 - -칓 -칓 -칓 -칓 -칓 - -칔 -칔 -칔 -칔 -칔 - -칕 -칕 -칕 -칕 -칕 - -칖 -칖 -칖 -칖 -칖 - -칗 -칗 -칗 -칗 -칗 - -치 -치 -치 -치 -치 - -칙 -칙 -칙 -칙 -칙 - -칚 -칚 -칚 -칚 -칚 - -칛 -칛 -칛 -칛 -칛 - -친 -친 -친 -친 -친 - -칝 -칝 -칝 -칝 -칝 - -칞 -칞 -칞 -칞 -칞 - -칟 -칟 -칟 -칟 -칟 - -칠 -칠 -칠 -칠 -칠 - -칡 -칡 -칡 -칡 -칡 - -칢 -칢 -칢 -칢 -칢 - -칣 -칣 -칣 -칣 -칣 - -칤 -칤 -칤 -칤 -칤 - -칥 -칥 -칥 -칥 -칥 - -칦 -칦 -칦 -칦 -칦 - -칧 -칧 -칧 -칧 -칧 - -침 -침 -침 -침 -침 - -칩 -칩 -칩 -칩 -칩 - -칪 -칪 -칪 -칪 -칪 - -칫 -칫 -칫 -칫 -칫 - -칬 -칬 -칬 -칬 -칬 - -칭 -칭 -칭 -칭 -칭 - -칮 -칮 -칮 -칮 -칮 - -칯 -칯 -칯 -칯 -칯 - -칰 -칰 -칰 -칰 -칰 - -칱 -칱 -칱 -칱 -칱 - -칲 -칲 -칲 -칲 -칲 - -칳 -칳 -칳 -칳 -칳 - -카 -카 -카 -카 -카 - -칵 -칵 -칵 -칵 -칵 - -칶 -칶 -칶 -칶 -칶 - -칷 -칷 -칷 -칷 -칷 - -칸 -칸 -칸 -칸 -칸 - -칹 -칹 -칹 -칹 -칹 - -칺 -칺 -칺 -칺 -칺 - -칻 -칻 -칻 -칻 -칻 - -칼 -칼 -칼 -칼 -칼 - -칽 -칽 -칽 -칽 -칽 - -칾 -칾 -칾 -칾 -칾 - -칿 -칿 -칿 -칿 -칿 - -캀 -캀 -캀 -캀 -캀 - -캁 -캁 -캁 -캁 -캁 - -캂 -캂 -캂 -캂 -캂 - -캃 -캃 -캃 -캃 -캃 - -캄 -캄 -캄 -캄 -캄 - -캅 -캅 -캅 -캅 -캅 - -캆 -캆 -캆 -캆 -캆 - -캇 -캇 -캇 -캇 -캇 - -캈 -캈 -캈 -캈 -캈 - -캉 -캉 -캉 -캉 -캉 - -캊 -캊 -캊 -캊 -캊 - -캋 -캋 -캋 -캋 -캋 - -캌 -캌 -캌 -캌 -캌 - -캍 -캍 -캍 -캍 -캍 - -캎 -캎 -캎 -캎 -캎 - -캏 -캏 -캏 -캏 -캏 - -캐 -캐 -캐 -캐 -캐 - -캑 -캑 -캑 -캑 -캑 - -캒 -캒 -캒 -캒 -캒 - -캓 -캓 -캓 -캓 -캓 - -캔 -캔 -캔 -캔 -캔 - -캕 -캕 -캕 -캕 -캕 - -캖 -캖 -캖 -캖 -캖 - -캗 -캗 -캗 -캗 -캗 - -캘 -캘 -캘 -캘 -캘 - -캙 -캙 -캙 -캙 -캙 - -캚 -캚 -캚 -캚 -캚 - -캛 -캛 -캛 -캛 -캛 - -캜 -캜 -캜 -캜 -캜 - -캝 -캝 -캝 -캝 -캝 - -캞 -캞 -캞 -캞 -캞 - -캟 -캟 -캟 -캟 -캟 - -캠 -캠 -캠 -캠 -캠 - -캡 -캡 -캡 -캡 -캡 - -캢 -캢 -캢 -캢 -캢 - -캣 -캣 -캣 -캣 -캣 - -캤 -캤 -캤 -캤 -캤 - -캥 -캥 -캥 -캥 -캥 - -캦 -캦 -캦 -캦 -캦 - -캧 -캧 -캧 -캧 -캧 - -캨 -캨 -캨 -캨 -캨 - -캩 -캩 -캩 -캩 -캩 - -캪 -캪 -캪 -캪 -캪 - -캫 -캫 -캫 -캫 -캫 - -캬 -캬 -캬 -캬 -캬 - -캭 -캭 -캭 -캭 -캭 - -캮 -캮 -캮 -캮 -캮 - -캯 -캯 -캯 -캯 -캯 - -캰 -캰 -캰 -캰 -캰 - -캱 -캱 -캱 -캱 -캱 - -캲 -캲 -캲 -캲 -캲 - -캳 -캳 -캳 -캳 -캳 - -캴 -캴 -캴 -캴 -캴 - -캵 -캵 -캵 -캵 -캵 - -캶 -캶 -캶 -캶 -캶 - -캷 -캷 -캷 -캷 -캷 - -캸 -캸 -캸 -캸 -캸 - -캹 -캹 -캹 -캹 -캹 - -캺 -캺 -캺 -캺 -캺 - -캻 -캻 -캻 -캻 -캻 - -캼 -캼 -캼 -캼 -캼 - -캽 -캽 -캽 -캽 -캽 - -캾 -캾 -캾 -캾 -캾 - -캿 -캿 -캿 -캿 -캿 - -컀 -컀 -컀 -컀 -컀 - -컁 -컁 -컁 -컁 -컁 - -컂 -컂 -컂 -컂 -컂 - -컃 -컃 -컃 -컃 -컃 - -컄 -컄 -컄 -컄 -컄 - -컅 -컅 -컅 -컅 -컅 - -컆 -컆 -컆 -컆 -컆 - -컇 -컇 -컇 -컇 -컇 - -컈 -컈 -컈 -컈 -컈 - -컉 -컉 -컉 -컉 -컉 - -컊 -컊 -컊 -컊 -컊 - -컋 -컋 -컋 -컋 -컋 - -컌 -컌 -컌 -컌 -컌 - -컍 -컍 -컍 -컍 -컍 - -컎 -컎 -컎 -컎 -컎 - -컏 -컏 -컏 -컏 -컏 - -컐 -컐 -컐 -컐 -컐 - -컑 -컑 -컑 -컑 -컑 - -컒 -컒 -컒 -컒 -컒 - -컓 -컓 -컓 -컓 -컓 - -컔 -컔 -컔 -컔 -컔 - -컕 -컕 -컕 -컕 -컕 - -컖 -컖 -컖 -컖 -컖 - -컗 -컗 -컗 -컗 -컗 - -컘 -컘 -컘 -컘 -컘 - -컙 -컙 -컙 -컙 -컙 - -컚 -컚 -컚 -컚 -컚 - -컛 -컛 -컛 -컛 -컛 - -컜 -컜 -컜 -컜 -컜 - -컝 -컝 -컝 -컝 -컝 - -컞 -컞 -컞 -컞 -컞 - -컟 -컟 -컟 -컟 -컟 - -컠 -컠 -컠 -컠 -컠 - -컡 -컡 -컡 -컡 -컡 - -컢 -컢 -컢 -컢 -컢 - -컣 -컣 -컣 -컣 -컣 - -커 -커 -커 -커 -커 - -컥 -컥 -컥 -컥 -컥 - -컦 -컦 -컦 -컦 -컦 - -컧 -컧 -컧 -컧 -컧 - -컨 -컨 -컨 -컨 -컨 - -컩 -컩 -컩 -컩 -컩 - -컪 -컪 -컪 -컪 -컪 - -컫 -컫 -컫 -컫 -컫 - -컬 -컬 -컬 -컬 -컬 - -컭 -컭 -컭 -컭 -컭 - -컮 -컮 -컮 -컮 -컮 - -컯 -컯 -컯 -컯 -컯 - -컰 -컰 -컰 -컰 -컰 - -컱 -컱 -컱 -컱 -컱 - -컲 -컲 -컲 -컲 -컲 - -컳 -컳 -컳 -컳 -컳 - -컴 -컴 -컴 -컴 -컴 - -컵 -컵 -컵 -컵 -컵 - -컶 -컶 -컶 -컶 -컶 - -컷 -컷 -컷 -컷 -컷 - -컸 -컸 -컸 -컸 -컸 - -컹 -컹 -컹 -컹 -컹 - -컺 -컺 -컺 -컺 -컺 - -컻 -컻 -컻 -컻 -컻 - -컼 -컼 -컼 -컼 -컼 - -컽 -컽 -컽 -컽 -컽 - -컾 -컾 -컾 -컾 -컾 - -컿 -컿 -컿 -컿 -컿 - -케 -케 -케 -케 -케 - -켁 -켁 -켁 -켁 -켁 - -켂 -켂 -켂 -켂 -켂 - -켃 -켃 -켃 -켃 -켃 - -켄 -켄 -켄 -켄 -켄 - -켅 -켅 -켅 -켅 -켅 - -켆 -켆 -켆 -켆 -켆 - -켇 -켇 -켇 -켇 -켇 - -켈 -켈 -켈 -켈 -켈 - -켉 -켉 -켉 -켉 -켉 - -켊 -켊 -켊 -켊 -켊 - -켋 -켋 -켋 -켋 -켋 - -켌 -켌 -켌 -켌 -켌 - -켍 -켍 -켍 -켍 -켍 - -켎 -켎 -켎 -켎 -켎 - -켏 -켏 -켏 -켏 -켏 - -켐 -켐 -켐 -켐 -켐 - -켑 -켑 -켑 -켑 -켑 - -켒 -켒 -켒 -켒 -켒 - -켓 -켓 -켓 -켓 -켓 - -켔 -켔 -켔 -켔 -켔 - -켕 -켕 -켕 -켕 -켕 - -켖 -켖 -켖 -켖 -켖 - -켗 -켗 -켗 -켗 -켗 - -켘 -켘 -켘 -켘 -켘 - -켙 -켙 -켙 -켙 -켙 - -켚 -켚 -켚 -켚 -켚 - -켛 -켛 -켛 -켛 -켛 - -켜 -켜 -켜 -켜 -켜 - -켝 -켝 -켝 -켝 -켝 - -켞 -켞 -켞 -켞 -켞 - -켟 -켟 -켟 -켟 -켟 - -켠 -켠 -켠 -켠 -켠 - -켡 -켡 -켡 -켡 -켡 - -켢 -켢 -켢 -켢 -켢 - -켣 -켣 -켣 -켣 -켣 - -켤 -켤 -켤 -켤 -켤 - -켥 -켥 -켥 -켥 -켥 - -켦 -켦 -켦 -켦 -켦 - -켧 -켧 -켧 -켧 -켧 - -켨 -켨 -켨 -켨 -켨 - -켩 -켩 -켩 -켩 -켩 - -켪 -켪 -켪 -켪 -켪 - -켫 -켫 -켫 -켫 -켫 - -켬 -켬 -켬 -켬 -켬 - -켭 -켭 -켭 -켭 -켭 - -켮 -켮 -켮 -켮 -켮 - -켯 -켯 -켯 -켯 -켯 - -켰 -켰 -켰 -켰 -켰 - -켱 -켱 -켱 -켱 -켱 - -켲 -켲 -켲 -켲 -켲 - -켳 -켳 -켳 -켳 -켳 - -켴 -켴 -켴 -켴 -켴 - -켵 -켵 -켵 -켵 -켵 - -켶 -켶 -켶 -켶 -켶 - -켷 -켷 -켷 -켷 -켷 - -켸 -켸 -켸 -켸 -켸 - -켹 -켹 -켹 -켹 -켹 - -켺 -켺 -켺 -켺 -켺 - -켻 -켻 -켻 -켻 -켻 - -켼 -켼 -켼 -켼 -켼 - -켽 -켽 -켽 -켽 -켽 - -켾 -켾 -켾 -켾 -켾 - -켿 -켿 -켿 -켿 -켿 - -콀 -콀 -콀 -콀 -콀 - -콁 -콁 -콁 -콁 -콁 - -콂 -콂 -콂 -콂 -콂 - -콃 -콃 -콃 -콃 -콃 - -콄 -콄 -콄 -콄 -콄 - -콅 -콅 -콅 -콅 -콅 - -콆 -콆 -콆 -콆 -콆 - -콇 -콇 -콇 -콇 -콇 - -콈 -콈 -콈 -콈 -콈 - -콉 -콉 -콉 -콉 -콉 - -콊 -콊 -콊 -콊 -콊 - -콋 -콋 -콋 -콋 -콋 - -콌 -콌 -콌 -콌 -콌 - -콍 -콍 -콍 -콍 -콍 - -콎 -콎 -콎 -콎 -콎 - -콏 -콏 -콏 -콏 -콏 - -콐 -콐 -콐 -콐 -콐 - -콑 -콑 -콑 -콑 -콑 - -콒 -콒 -콒 -콒 -콒 - -콓 -콓 -콓 -콓 -콓 - -코 -코 -코 -코 -코 - -콕 -콕 -콕 -콕 -콕 - -콖 -콖 -콖 -콖 -콖 - -콗 -콗 -콗 -콗 -콗 - -콘 -콘 -콘 -콘 -콘 - -콙 -콙 -콙 -콙 -콙 - -콚 -콚 -콚 -콚 -콚 - -콛 -콛 -콛 -콛 -콛 - -콜 -콜 -콜 -콜 -콜 - -콝 -콝 -콝 -콝 -콝 - -콞 -콞 -콞 -콞 -콞 - -콟 -콟 -콟 -콟 -콟 - -콠 -콠 -콠 -콠 -콠 - -콡 -콡 -콡 -콡 -콡 - -콢 -콢 -콢 -콢 -콢 - -콣 -콣 -콣 -콣 -콣 - -콤 -콤 -콤 -콤 -콤 - -콥 -콥 -콥 -콥 -콥 - -콦 -콦 -콦 -콦 -콦 - -콧 -콧 -콧 -콧 -콧 - -콨 -콨 -콨 -콨 -콨 - -콩 -콩 -콩 -콩 -콩 - -콪 -콪 -콪 -콪 -콪 - -콫 -콫 -콫 -콫 -콫 - -콬 -콬 -콬 -콬 -콬 - -콭 -콭 -콭 -콭 -콭 - -콮 -콮 -콮 -콮 -콮 - -콯 -콯 -콯 -콯 -콯 - -콰 -콰 -콰 -콰 -콰 - -콱 -콱 -콱 -콱 -콱 - -콲 -콲 -콲 -콲 -콲 - -콳 -콳 -콳 -콳 -콳 - -콴 -콴 -콴 -콴 -콴 - -콵 -콵 -콵 -콵 -콵 - -콶 -콶 -콶 -콶 -콶 - -콷 -콷 -콷 -콷 -콷 - -콸 -콸 -콸 -콸 -콸 - -콹 -콹 -콹 -콹 -콹 - -콺 -콺 -콺 -콺 -콺 - -콻 -콻 -콻 -콻 -콻 - -콼 -콼 -콼 -콼 -콼 - -콽 -콽 -콽 -콽 -콽 - -콾 -콾 -콾 -콾 -콾 - -콿 -콿 -콿 -콿 -콿 - -쾀 -쾀 -쾀 -쾀 -쾀 - -쾁 -쾁 -쾁 -쾁 -쾁 - -쾂 -쾂 -쾂 -쾂 -쾂 - -쾃 -쾃 -쾃 -쾃 -쾃 - -쾄 -쾄 -쾄 -쾄 -쾄 - -쾅 -쾅 -쾅 -쾅 -쾅 - -쾆 -쾆 -쾆 -쾆 -쾆 - -쾇 -쾇 -쾇 -쾇 -쾇 - -쾈 -쾈 -쾈 -쾈 -쾈 - -쾉 -쾉 -쾉 -쾉 -쾉 - -쾊 -쾊 -쾊 -쾊 -쾊 - -쾋 -쾋 -쾋 -쾋 -쾋 - -쾌 -쾌 -쾌 -쾌 -쾌 - -쾍 -쾍 -쾍 -쾍 -쾍 - -쾎 -쾎 -쾎 -쾎 -쾎 - -쾏 -쾏 -쾏 -쾏 -쾏 - -쾐 -쾐 -쾐 -쾐 -쾐 - -쾑 -쾑 -쾑 -쾑 -쾑 - -쾒 -쾒 -쾒 -쾒 -쾒 - -쾓 -쾓 -쾓 -쾓 -쾓 - -쾔 -쾔 -쾔 -쾔 -쾔 - -쾕 -쾕 -쾕 -쾕 -쾕 - -쾖 -쾖 -쾖 -쾖 -쾖 - -쾗 -쾗 -쾗 -쾗 -쾗 - -쾘 -쾘 -쾘 -쾘 -쾘 - -쾙 -쾙 -쾙 -쾙 -쾙 - -쾚 -쾚 -쾚 -쾚 -쾚 - -쾛 -쾛 -쾛 -쾛 -쾛 - -쾜 -쾜 -쾜 -쾜 -쾜 - -쾝 -쾝 -쾝 -쾝 -쾝 - -쾞 -쾞 -쾞 -쾞 -쾞 - -쾟 -쾟 -쾟 -쾟 -쾟 - -쾠 -쾠 -쾠 -쾠 -쾠 - -쾡 -쾡 -쾡 -쾡 -쾡 - -쾢 -쾢 -쾢 -쾢 -쾢 - -쾣 -쾣 -쾣 -쾣 -쾣 - -쾤 -쾤 -쾤 -쾤 -쾤 - -쾥 -쾥 -쾥 -쾥 -쾥 - -쾦 -쾦 -쾦 -쾦 -쾦 - -쾧 -쾧 -쾧 -쾧 -쾧 - -쾨 -쾨 -쾨 -쾨 -쾨 - -쾩 -쾩 -쾩 -쾩 -쾩 - -쾪 -쾪 -쾪 -쾪 -쾪 - -쾫 -쾫 -쾫 -쾫 -쾫 - -쾬 -쾬 -쾬 -쾬 -쾬 - -쾭 -쾭 -쾭 -쾭 -쾭 - -쾮 -쾮 -쾮 -쾮 -쾮 - -쾯 -쾯 -쾯 -쾯 -쾯 - -쾰 -쾰 -쾰 -쾰 -쾰 - -쾱 -쾱 -쾱 -쾱 -쾱 - -쾲 -쾲 -쾲 -쾲 -쾲 - -쾳 -쾳 -쾳 -쾳 -쾳 - -쾴 -쾴 -쾴 -쾴 -쾴 - -쾵 -쾵 -쾵 -쾵 -쾵 - -쾶 -쾶 -쾶 -쾶 -쾶 - -쾷 -쾷 -쾷 -쾷 -쾷 - -쾸 -쾸 -쾸 -쾸 -쾸 - -쾹 -쾹 -쾹 -쾹 -쾹 - -쾺 -쾺 -쾺 -쾺 -쾺 - -쾻 -쾻 -쾻 -쾻 -쾻 - -쾼 -쾼 -쾼 -쾼 -쾼 - -쾽 -쾽 -쾽 -쾽 -쾽 - -쾾 -쾾 -쾾 -쾾 -쾾 - -쾿 -쾿 -쾿 -쾿 -쾿 - -쿀 -쿀 -쿀 -쿀 -쿀 - -쿁 -쿁 -쿁 -쿁 -쿁 - -쿂 -쿂 -쿂 -쿂 -쿂 - -쿃 -쿃 -쿃 -쿃 -쿃 - -쿄 -쿄 -쿄 -쿄 -쿄 - -쿅 -쿅 -쿅 -쿅 -쿅 - -쿆 -쿆 -쿆 -쿆 -쿆 - -쿇 -쿇 -쿇 -쿇 -쿇 - -쿈 -쿈 -쿈 -쿈 -쿈 - -쿉 -쿉 -쿉 -쿉 -쿉 - -쿊 -쿊 -쿊 -쿊 -쿊 - -쿋 -쿋 -쿋 -쿋 -쿋 - -쿌 -쿌 -쿌 -쿌 -쿌 - -쿍 -쿍 -쿍 -쿍 -쿍 - -쿎 -쿎 -쿎 -쿎 -쿎 - -쿏 -쿏 -쿏 -쿏 -쿏 - -쿐 -쿐 -쿐 -쿐 -쿐 - -쿑 -쿑 -쿑 -쿑 -쿑 - -쿒 -쿒 -쿒 -쿒 -쿒 - -쿓 -쿓 -쿓 -쿓 -쿓 - -쿔 -쿔 -쿔 -쿔 -쿔 - -쿕 -쿕 -쿕 -쿕 -쿕 - -쿖 -쿖 -쿖 -쿖 -쿖 - -쿗 -쿗 -쿗 -쿗 -쿗 - -쿘 -쿘 -쿘 -쿘 -쿘 - -쿙 -쿙 -쿙 -쿙 -쿙 - -쿚 -쿚 -쿚 -쿚 -쿚 - -쿛 -쿛 -쿛 -쿛 -쿛 - -쿜 -쿜 -쿜 -쿜 -쿜 - -쿝 -쿝 -쿝 -쿝 -쿝 - -쿞 -쿞 -쿞 -쿞 -쿞 - -쿟 -쿟 -쿟 -쿟 -쿟 - -쿠 -쿠 -쿠 -쿠 -쿠 - -쿡 -쿡 -쿡 -쿡 -쿡 - -쿢 -쿢 -쿢 -쿢 -쿢 - -쿣 -쿣 -쿣 -쿣 -쿣 - -쿤 -쿤 -쿤 -쿤 -쿤 - -쿥 -쿥 -쿥 -쿥 -쿥 - -쿦 -쿦 -쿦 -쿦 -쿦 - -쿧 -쿧 -쿧 -쿧 -쿧 - -쿨 -쿨 -쿨 -쿨 -쿨 - -쿩 -쿩 -쿩 -쿩 -쿩 - -쿪 -쿪 -쿪 -쿪 -쿪 - -쿫 -쿫 -쿫 -쿫 -쿫 - -쿬 -쿬 -쿬 -쿬 -쿬 - -쿭 -쿭 -쿭 -쿭 -쿭 - -쿮 -쿮 -쿮 -쿮 -쿮 - -쿯 -쿯 -쿯 -쿯 -쿯 - -쿰 -쿰 -쿰 -쿰 -쿰 - -쿱 -쿱 -쿱 -쿱 -쿱 - -쿲 -쿲 -쿲 -쿲 -쿲 - -쿳 -쿳 -쿳 -쿳 -쿳 - -쿴 -쿴 -쿴 -쿴 -쿴 - -쿵 -쿵 -쿵 -쿵 -쿵 - -쿶 -쿶 -쿶 -쿶 -쿶 - -쿷 -쿷 -쿷 -쿷 -쿷 - -쿸 -쿸 -쿸 -쿸 -쿸 - -쿹 -쿹 -쿹 -쿹 -쿹 - -쿺 -쿺 -쿺 -쿺 -쿺 - -쿻 -쿻 -쿻 -쿻 -쿻 - -쿼 -쿼 -쿼 -쿼 -쿼 - -쿽 -쿽 -쿽 -쿽 -쿽 - -쿾 -쿾 -쿾 -쿾 -쿾 - -쿿 -쿿 -쿿 -쿿 -쿿 - -퀀 -퀀 -퀀 -퀀 -퀀 - -퀁 -퀁 -퀁 -퀁 -퀁 - -퀂 -퀂 -퀂 -퀂 -퀂 - -퀃 -퀃 -퀃 -퀃 -퀃 - -퀄 -퀄 -퀄 -퀄 -퀄 - -퀅 -퀅 -퀅 -퀅 -퀅 - -퀆 -퀆 -퀆 -퀆 -퀆 - -퀇 -퀇 -퀇 -퀇 -퀇 - -퀈 -퀈 -퀈 -퀈 -퀈 - -퀉 -퀉 -퀉 -퀉 -퀉 - -퀊 -퀊 -퀊 -퀊 -퀊 - -퀋 -퀋 -퀋 -퀋 -퀋 - -퀌 -퀌 -퀌 -퀌 -퀌 - -퀍 -퀍 -퀍 -퀍 -퀍 - -퀎 -퀎 -퀎 -퀎 -퀎 - -퀏 -퀏 -퀏 -퀏 -퀏 - -퀐 -퀐 -퀐 -퀐 -퀐 - -퀑 -퀑 -퀑 -퀑 -퀑 - -퀒 -퀒 -퀒 -퀒 -퀒 - -퀓 -퀓 -퀓 -퀓 -퀓 - -퀔 -퀔 -퀔 -퀔 -퀔 - -퀕 -퀕 -퀕 -퀕 -퀕 - -퀖 -퀖 -퀖 -퀖 -퀖 - -퀗 -퀗 -퀗 -퀗 -퀗 - -퀘 -퀘 -퀘 -퀘 -퀘 - -퀙 -퀙 -퀙 -퀙 -퀙 - -퀚 -퀚 -퀚 -퀚 -퀚 - -퀛 -퀛 -퀛 -퀛 -퀛 - -퀜 -퀜 -퀜 -퀜 -퀜 - -퀝 -퀝 -퀝 -퀝 -퀝 - -퀞 -퀞 -퀞 -퀞 -퀞 - -퀟 -퀟 -퀟 -퀟 -퀟 - -퀠 -퀠 -퀠 -퀠 -퀠 - -퀡 -퀡 -퀡 -퀡 -퀡 - -퀢 -퀢 -퀢 -퀢 -퀢 - -퀣 -퀣 -퀣 -퀣 -퀣 - -퀤 -퀤 -퀤 -퀤 -퀤 - -퀥 -퀥 -퀥 -퀥 -퀥 - -퀦 -퀦 -퀦 -퀦 -퀦 - -퀧 -퀧 -퀧 -퀧 -퀧 - -퀨 -퀨 -퀨 -퀨 -퀨 - -퀩 -퀩 -퀩 -퀩 -퀩 - -퀪 -퀪 -퀪 -퀪 -퀪 - -퀫 -퀫 -퀫 -퀫 -퀫 - -퀬 -퀬 -퀬 -퀬 -퀬 - -퀭 -퀭 -퀭 -퀭 -퀭 - -퀮 -퀮 -퀮 -퀮 -퀮 - -퀯 -퀯 -퀯 -퀯 -퀯 - -퀰 -퀰 -퀰 -퀰 -퀰 - -퀱 -퀱 -퀱 -퀱 -퀱 - -퀲 -퀲 -퀲 -퀲 -퀲 - -퀳 -퀳 -퀳 -퀳 -퀳 - -퀴 -퀴 -퀴 -퀴 -퀴 - -퀵 -퀵 -퀵 -퀵 -퀵 - -퀶 -퀶 -퀶 -퀶 -퀶 - -퀷 -퀷 -퀷 -퀷 -퀷 - -퀸 -퀸 -퀸 -퀸 -퀸 - -퀹 -퀹 -퀹 -퀹 -퀹 - -퀺 -퀺 -퀺 -퀺 -퀺 - -퀻 -퀻 -퀻 -퀻 -퀻 - -퀼 -퀼 -퀼 -퀼 -퀼 - -퀽 -퀽 -퀽 -퀽 -퀽 - -퀾 -퀾 -퀾 -퀾 -퀾 - -퀿 -퀿 -퀿 -퀿 -퀿 - -큀 -큀 -큀 -큀 -큀 - -큁 -큁 -큁 -큁 -큁 - -큂 -큂 -큂 -큂 -큂 - -큃 -큃 -큃 -큃 -큃 - -큄 -큄 -큄 -큄 -큄 - -큅 -큅 -큅 -큅 -큅 - -큆 -큆 -큆 -큆 -큆 - -큇 -큇 -큇 -큇 -큇 - -큈 -큈 -큈 -큈 -큈 - -큉 -큉 -큉 -큉 -큉 - -큊 -큊 -큊 -큊 -큊 - -큋 -큋 -큋 -큋 -큋 - -큌 -큌 -큌 -큌 -큌 - -큍 -큍 -큍 -큍 -큍 - -큎 -큎 -큎 -큎 -큎 - -큏 -큏 -큏 -큏 -큏 - -큐 -큐 -큐 -큐 -큐 - -큑 -큑 -큑 -큑 -큑 - -큒 -큒 -큒 -큒 -큒 - -큓 -큓 -큓 -큓 -큓 - -큔 -큔 -큔 -큔 -큔 - -큕 -큕 -큕 -큕 -큕 - -큖 -큖 -큖 -큖 -큖 - -큗 -큗 -큗 -큗 -큗 - -큘 -큘 -큘 -큘 -큘 - -큙 -큙 -큙 -큙 -큙 - -큚 -큚 -큚 -큚 -큚 - -큛 -큛 -큛 -큛 -큛 - -큜 -큜 -큜 -큜 -큜 - -큝 -큝 -큝 -큝 -큝 - -큞 -큞 -큞 -큞 -큞 - -큟 -큟 -큟 -큟 -큟 - -큠 -큠 -큠 -큠 -큠 - -큡 -큡 -큡 -큡 -큡 - -큢 -큢 -큢 -큢 -큢 - -큣 -큣 -큣 -큣 -큣 - -큤 -큤 -큤 -큤 -큤 - -큥 -큥 -큥 -큥 -큥 - -큦 -큦 -큦 -큦 -큦 - -큧 -큧 -큧 -큧 -큧 - -큨 -큨 -큨 -큨 -큨 - -큩 -큩 -큩 -큩 -큩 - -큪 -큪 -큪 -큪 -큪 - -큫 -큫 -큫 -큫 -큫 - -크 -크 -크 -크 -크 - -큭 -큭 -큭 -큭 -큭 - -큮 -큮 -큮 -큮 -큮 - -큯 -큯 -큯 -큯 -큯 - -큰 -큰 -큰 -큰 -큰 - -큱 -큱 -큱 -큱 -큱 - -큲 -큲 -큲 -큲 -큲 - -큳 -큳 -큳 -큳 -큳 - -클 -클 -클 -클 -클 - -큵 -큵 -큵 -큵 -큵 - -큶 -큶 -큶 -큶 -큶 - -큷 -큷 -큷 -큷 -큷 - -큸 -큸 -큸 -큸 -큸 - -큹 -큹 -큹 -큹 -큹 - -큺 -큺 -큺 -큺 -큺 - -큻 -큻 -큻 -큻 -큻 - -큼 -큼 -큼 -큼 -큼 - -큽 -큽 -큽 -큽 -큽 - -큾 -큾 -큾 -큾 -큾 - -큿 -큿 -큿 -큿 -큿 - -킀 -킀 -킀 -킀 -킀 - -킁 -킁 -킁 -킁 -킁 - -킂 -킂 -킂 -킂 -킂 - -킃 -킃 -킃 -킃 -킃 - -킄 -킄 -킄 -킄 -킄 - -킅 -킅 -킅 -킅 -킅 - -킆 -킆 -킆 -킆 -킆 - -킇 -킇 -킇 -킇 -킇 - -킈 -킈 -킈 -킈 -킈 - -킉 -킉 -킉 -킉 -킉 - -킊 -킊 -킊 -킊 -킊 - -킋 -킋 -킋 -킋 -킋 - -킌 -킌 -킌 -킌 -킌 - -킍 -킍 -킍 -킍 -킍 - -킎 -킎 -킎 -킎 -킎 - -킏 -킏 -킏 -킏 -킏 - -킐 -킐 -킐 -킐 -킐 - -킑 -킑 -킑 -킑 -킑 - -킒 -킒 -킒 -킒 -킒 - -킓 -킓 -킓 -킓 -킓 - -킔 -킔 -킔 -킔 -킔 - -킕 -킕 -킕 -킕 -킕 - -킖 -킖 -킖 -킖 -킖 - -킗 -킗 -킗 -킗 -킗 - -킘 -킘 -킘 -킘 -킘 - -킙 -킙 -킙 -킙 -킙 - -킚 -킚 -킚 -킚 -킚 - -킛 -킛 -킛 -킛 -킛 - -킜 -킜 -킜 -킜 -킜 - -킝 -킝 -킝 -킝 -킝 - -킞 -킞 -킞 -킞 -킞 - -킟 -킟 -킟 -킟 -킟 - -킠 -킠 -킠 -킠 -킠 - -킡 -킡 -킡 -킡 -킡 - -킢 -킢 -킢 -킢 -킢 - -킣 -킣 -킣 -킣 -킣 - -키 -키 -키 -키 -키 - -킥 -킥 -킥 -킥 -킥 - -킦 -킦 -킦 -킦 -킦 - -킧 -킧 -킧 -킧 -킧 - -킨 -킨 -킨 -킨 -킨 - -킩 -킩 -킩 -킩 -킩 - -킪 -킪 -킪 -킪 -킪 - -킫 -킫 -킫 -킫 -킫 - -킬 -킬 -킬 -킬 -킬 - -킭 -킭 -킭 -킭 -킭 - -킮 -킮 -킮 -킮 -킮 - -킯 -킯 -킯 -킯 -킯 - -킰 -킰 -킰 -킰 -킰 - -킱 -킱 -킱 -킱 -킱 - -킲 -킲 -킲 -킲 -킲 - -킳 -킳 -킳 -킳 -킳 - -킴 -킴 -킴 -킴 -킴 - -킵 -킵 -킵 -킵 -킵 - -킶 -킶 -킶 -킶 -킶 - -킷 -킷 -킷 -킷 -킷 - -킸 -킸 -킸 -킸 -킸 - -킹 -킹 -킹 -킹 -킹 - -킺 -킺 -킺 -킺 -킺 - -킻 -킻 -킻 -킻 -킻 - -킼 -킼 -킼 -킼 -킼 - -킽 -킽 -킽 -킽 -킽 - -킾 -킾 -킾 -킾 -킾 - -킿 -킿 -킿 -킿 -킿 - -타 -타 -타 -타 -타 - -탁 -탁 -탁 -탁 -탁 - -탂 -탂 -탂 -탂 -탂 - -탃 -탃 -탃 -탃 -탃 - -탄 -탄 -탄 -탄 -탄 - -탅 -탅 -탅 -탅 -탅 - -탆 -탆 -탆 -탆 -탆 - -탇 -탇 -탇 -탇 -탇 - -탈 -탈 -탈 -탈 -탈 - -탉 -탉 -탉 -탉 -탉 - -탊 -탊 -탊 -탊 -탊 - -탋 -탋 -탋 -탋 -탋 - -탌 -탌 -탌 -탌 -탌 - -탍 -탍 -탍 -탍 -탍 - -탎 -탎 -탎 -탎 -탎 - -탏 -탏 -탏 -탏 -탏 - -탐 -탐 -탐 -탐 -탐 - -탑 -탑 -탑 -탑 -탑 - -탒 -탒 -탒 -탒 -탒 - -탓 -탓 -탓 -탓 -탓 - -탔 -탔 -탔 -탔 -탔 - -탕 -탕 -탕 -탕 -탕 - -탖 -탖 -탖 -탖 -탖 - -탗 -탗 -탗 -탗 -탗 - -탘 -탘 -탘 -탘 -탘 - -탙 -탙 -탙 -탙 -탙 - -탚 -탚 -탚 -탚 -탚 - -탛 -탛 -탛 -탛 -탛 - -태 -태 -태 -태 -태 - -택 -택 -택 -택 -택 - -탞 -탞 -탞 -탞 -탞 - -탟 -탟 -탟 -탟 -탟 - -탠 -탠 -탠 -탠 -탠 - -탡 -탡 -탡 -탡 -탡 - -탢 -탢 -탢 -탢 -탢 - -탣 -탣 -탣 -탣 -탣 - -탤 -탤 -탤 -탤 -탤 - -탥 -탥 -탥 -탥 -탥 - -탦 -탦 -탦 -탦 -탦 - -탧 -탧 -탧 -탧 -탧 - -탨 -탨 -탨 -탨 -탨 - -탩 -탩 -탩 -탩 -탩 - -탪 -탪 -탪 -탪 -탪 - -탫 -탫 -탫 -탫 -탫 - -탬 -탬 -탬 -탬 -탬 - -탭 -탭 -탭 -탭 -탭 - -탮 -탮 -탮 -탮 -탮 - -탯 -탯 -탯 -탯 -탯 - -탰 -탰 -탰 -탰 -탰 - -탱 -탱 -탱 -탱 -탱 - -탲 -탲 -탲 -탲 -탲 - -탳 -탳 -탳 -탳 -탳 - -탴 -탴 -탴 -탴 -탴 - -탵 -탵 -탵 -탵 -탵 - -탶 -탶 -탶 -탶 -탶 - -탷 -탷 -탷 -탷 -탷 - -탸 -탸 -탸 -탸 -탸 - -탹 -탹 -탹 -탹 -탹 - -탺 -탺 -탺 -탺 -탺 - -탻 -탻 -탻 -탻 -탻 - -탼 -탼 -탼 -탼 -탼 - -탽 -탽 -탽 -탽 -탽 - -탾 -탾 -탾 -탾 -탾 - -탿 -탿 -탿 -탿 -탿 - -턀 -턀 -턀 -턀 -턀 - -턁 -턁 -턁 -턁 -턁 - -턂 -턂 -턂 -턂 -턂 - -턃 -턃 -턃 -턃 -턃 - -턄 -턄 -턄 -턄 -턄 - -턅 -턅 -턅 -턅 -턅 - -턆 -턆 -턆 -턆 -턆 - -턇 -턇 -턇 -턇 -턇 - -턈 -턈 -턈 -턈 -턈 - -턉 -턉 -턉 -턉 -턉 - -턊 -턊 -턊 -턊 -턊 - -턋 -턋 -턋 -턋 -턋 - -턌 -턌 -턌 -턌 -턌 - -턍 -턍 -턍 -턍 -턍 - -턎 -턎 -턎 -턎 -턎 - -턏 -턏 -턏 -턏 -턏 - -턐 -턐 -턐 -턐 -턐 - -턑 -턑 -턑 -턑 -턑 - -턒 -턒 -턒 -턒 -턒 - -턓 -턓 -턓 -턓 -턓 - -턔 -턔 -턔 -턔 -턔 - -턕 -턕 -턕 -턕 -턕 - -턖 -턖 -턖 -턖 -턖 - -턗 -턗 -턗 -턗 -턗 - -턘 -턘 -턘 -턘 -턘 - -턙 -턙 -턙 -턙 -턙 - -턚 -턚 -턚 -턚 -턚 - -턛 -턛 -턛 -턛 -턛 - -턜 -턜 -턜 -턜 -턜 - -턝 -턝 -턝 -턝 -턝 - -턞 -턞 -턞 -턞 -턞 - -턟 -턟 -턟 -턟 -턟 - -턠 -턠 -턠 -턠 -턠 - -턡 -턡 -턡 -턡 -턡 - -턢 -턢 -턢 -턢 -턢 - -턣 -턣 -턣 -턣 -턣 - -턤 -턤 -턤 -턤 -턤 - -턥 -턥 -턥 -턥 -턥 - -턦 -턦 -턦 -턦 -턦 - -턧 -턧 -턧 -턧 -턧 - -턨 -턨 -턨 -턨 -턨 - -턩 -턩 -턩 -턩 -턩 - -턪 -턪 -턪 -턪 -턪 - -턫 -턫 -턫 -턫 -턫 - -턬 -턬 -턬 -턬 -턬 - -턭 -턭 -턭 -턭 -턭 - -턮 -턮 -턮 -턮 -턮 - -턯 -턯 -턯 -턯 -턯 - -터 -터 -터 -터 -터 - -턱 -턱 -턱 -턱 -턱 - -턲 -턲 -턲 -턲 -턲 - -턳 -턳 -턳 -턳 -턳 - -턴 -턴 -턴 -턴 -턴 - -턵 -턵 -턵 -턵 -턵 - -턶 -턶 -턶 -턶 -턶 - -턷 -턷 -턷 -턷 -턷 - -털 -털 -털 -털 -털 - -턹 -턹 -턹 -턹 -턹 - -턺 -턺 -턺 -턺 -턺 - -턻 -턻 -턻 -턻 -턻 - -턼 -턼 -턼 -턼 -턼 - -턽 -턽 -턽 -턽 -턽 - -턾 -턾 -턾 -턾 -턾 - -턿 -턿 -턿 -턿 -턿 - -텀 -텀 -텀 -텀 -텀 - -텁 -텁 -텁 -텁 -텁 - -텂 -텂 -텂 -텂 -텂 - -텃 -텃 -텃 -텃 -텃 - -텄 -텄 -텄 -텄 -텄 - -텅 -텅 -텅 -텅 -텅 - -텆 -텆 -텆 -텆 -텆 - -텇 -텇 -텇 -텇 -텇 - -텈 -텈 -텈 -텈 -텈 - -텉 -텉 -텉 -텉 -텉 - -텊 -텊 -텊 -텊 -텊 - -텋 -텋 -텋 -텋 -텋 - -테 -테 -테 -테 -테 - -텍 -텍 -텍 -텍 -텍 - -텎 -텎 -텎 -텎 -텎 - -텏 -텏 -텏 -텏 -텏 - -텐 -텐 -텐 -텐 -텐 - -텑 -텑 -텑 -텑 -텑 - -텒 -텒 -텒 -텒 -텒 - -텓 -텓 -텓 -텓 -텓 - -텔 -텔 -텔 -텔 -텔 - -텕 -텕 -텕 -텕 -텕 - -텖 -텖 -텖 -텖 -텖 - -텗 -텗 -텗 -텗 -텗 - -텘 -텘 -텘 -텘 -텘 - -텙 -텙 -텙 -텙 -텙 - -텚 -텚 -텚 -텚 -텚 - -텛 -텛 -텛 -텛 -텛 - -템 -템 -템 -템 -템 - -텝 -텝 -텝 -텝 -텝 - -텞 -텞 -텞 -텞 -텞 - -텟 -텟 -텟 -텟 -텟 - -텠 -텠 -텠 -텠 -텠 - -텡 -텡 -텡 -텡 -텡 - -텢 -텢 -텢 -텢 -텢 - -텣 -텣 -텣 -텣 -텣 - -텤 -텤 -텤 -텤 -텤 - -텥 -텥 -텥 -텥 -텥 - -텦 -텦 -텦 -텦 -텦 - -텧 -텧 -텧 -텧 -텧 - -텨 -텨 -텨 -텨 -텨 - -텩 -텩 -텩 -텩 -텩 - -텪 -텪 -텪 -텪 -텪 - -텫 -텫 -텫 -텫 -텫 - -텬 -텬 -텬 -텬 -텬 - -텭 -텭 -텭 -텭 -텭 - -텮 -텮 -텮 -텮 -텮 - -텯 -텯 -텯 -텯 -텯 - -텰 -텰 -텰 -텰 -텰 - -텱 -텱 -텱 -텱 -텱 - -텲 -텲 -텲 -텲 -텲 - -텳 -텳 -텳 -텳 -텳 - -텴 -텴 -텴 -텴 -텴 - -텵 -텵 -텵 -텵 -텵 - -텶 -텶 -텶 -텶 -텶 - -텷 -텷 -텷 -텷 -텷 - -텸 -텸 -텸 -텸 -텸 - -텹 -텹 -텹 -텹 -텹 - -텺 -텺 -텺 -텺 -텺 - -텻 -텻 -텻 -텻 -텻 - -텼 -텼 -텼 -텼 -텼 - -텽 -텽 -텽 -텽 -텽 - -텾 -텾 -텾 -텾 -텾 - -텿 -텿 -텿 -텿 -텿 - -톀 -톀 -톀 -톀 -톀 - -톁 -톁 -톁 -톁 -톁 - -톂 -톂 -톂 -톂 -톂 - -톃 -톃 -톃 -톃 -톃 - -톄 -톄 -톄 -톄 -톄 - -톅 -톅 -톅 -톅 -톅 - -톆 -톆 -톆 -톆 -톆 - -톇 -톇 -톇 -톇 -톇 - -톈 -톈 -톈 -톈 -톈 - -톉 -톉 -톉 -톉 -톉 - -톊 -톊 -톊 -톊 -톊 - -톋 -톋 -톋 -톋 -톋 - -톌 -톌 -톌 -톌 -톌 - -톍 -톍 -톍 -톍 -톍 - -톎 -톎 -톎 -톎 -톎 - -톏 -톏 -톏 -톏 -톏 - -톐 -톐 -톐 -톐 -톐 - -톑 -톑 -톑 -톑 -톑 - -톒 -톒 -톒 -톒 -톒 - -톓 -톓 -톓 -톓 -톓 - -톔 -톔 -톔 -톔 -톔 - -톕 -톕 -톕 -톕 -톕 - -톖 -톖 -톖 -톖 -톖 - -톗 -톗 -톗 -톗 -톗 - -톘 -톘 -톘 -톘 -톘 - -톙 -톙 -톙 -톙 -톙 - -톚 -톚 -톚 -톚 -톚 - -톛 -톛 -톛 -톛 -톛 - -톜 -톜 -톜 -톜 -톜 - -톝 -톝 -톝 -톝 -톝 - -톞 -톞 -톞 -톞 -톞 - -톟 -톟 -톟 -톟 -톟 - -토 -토 -토 -토 -토 - -톡 -톡 -톡 -톡 -톡 - -톢 -톢 -톢 -톢 -톢 - -톣 -톣 -톣 -톣 -톣 - -톤 -톤 -톤 -톤 -톤 - -톥 -톥 -톥 -톥 -톥 - -톦 -톦 -톦 -톦 -톦 - -톧 -톧 -톧 -톧 -톧 - -톨 -톨 -톨 -톨 -톨 - -톩 -톩 -톩 -톩 -톩 - -톪 -톪 -톪 -톪 -톪 - -톫 -톫 -톫 -톫 -톫 - -톬 -톬 -톬 -톬 -톬 - -톭 -톭 -톭 -톭 -톭 - -톮 -톮 -톮 -톮 -톮 - -톯 -톯 -톯 -톯 -톯 - -톰 -톰 -톰 -톰 -톰 - -톱 -톱 -톱 -톱 -톱 - -톲 -톲 -톲 -톲 -톲 - -톳 -톳 -톳 -톳 -톳 - -톴 -톴 -톴 -톴 -톴 - -통 -통 -통 -통 -통 - -톶 -톶 -톶 -톶 -톶 - -톷 -톷 -톷 -톷 -톷 - -톸 -톸 -톸 -톸 -톸 - -톹 -톹 -톹 -톹 -톹 - -톺 -톺 -톺 -톺 -톺 - -톻 -톻 -톻 -톻 -톻 - -톼 -톼 -톼 -톼 -톼 - -톽 -톽 -톽 -톽 -톽 - -톾 -톾 -톾 -톾 -톾 - -톿 -톿 -톿 -톿 -톿 - -퇀 -퇀 -퇀 -퇀 -퇀 - -퇁 -퇁 -퇁 -퇁 -퇁 - -퇂 -퇂 -퇂 -퇂 -퇂 - -퇃 -퇃 -퇃 -퇃 -퇃 - -퇄 -퇄 -퇄 -퇄 -퇄 - -퇅 -퇅 -퇅 -퇅 -퇅 - -퇆 -퇆 -퇆 -퇆 -퇆 - -퇇 -퇇 -퇇 -퇇 -퇇 - -퇈 -퇈 -퇈 -퇈 -퇈 - -퇉 -퇉 -퇉 -퇉 -퇉 - -퇊 -퇊 -퇊 -퇊 -퇊 - -퇋 -퇋 -퇋 -퇋 -퇋 - -퇌 -퇌 -퇌 -퇌 -퇌 - -퇍 -퇍 -퇍 -퇍 -퇍 - -퇎 -퇎 -퇎 -퇎 -퇎 - -퇏 -퇏 -퇏 -퇏 -퇏 - -퇐 -퇐 -퇐 -퇐 -퇐 - -퇑 -퇑 -퇑 -퇑 -퇑 - -퇒 -퇒 -퇒 -퇒 -퇒 - -퇓 -퇓 -퇓 -퇓 -퇓 - -퇔 -퇔 -퇔 -퇔 -퇔 - -퇕 -퇕 -퇕 -퇕 -퇕 - -퇖 -퇖 -퇖 -퇖 -퇖 - -퇗 -퇗 -퇗 -퇗 -퇗 - -퇘 -퇘 -퇘 -퇘 -퇘 - -퇙 -퇙 -퇙 -퇙 -퇙 - -퇚 -퇚 -퇚 -퇚 -퇚 - -퇛 -퇛 -퇛 -퇛 -퇛 - -퇜 -퇜 -퇜 -퇜 -퇜 - -퇝 -퇝 -퇝 -퇝 -퇝 - -퇞 -퇞 -퇞 -퇞 -퇞 - -퇟 -퇟 -퇟 -퇟 -퇟 - -퇠 -퇠 -퇠 -퇠 -퇠 - -퇡 -퇡 -퇡 -퇡 -퇡 - -퇢 -퇢 -퇢 -퇢 -퇢 - -퇣 -퇣 -퇣 -퇣 -퇣 - -퇤 -퇤 -퇤 -퇤 -퇤 - -퇥 -퇥 -퇥 -퇥 -퇥 - -퇦 -퇦 -퇦 -퇦 -퇦 - -퇧 -퇧 -퇧 -퇧 -퇧 - -퇨 -퇨 -퇨 -퇨 -퇨 - -퇩 -퇩 -퇩 -퇩 -퇩 - -퇪 -퇪 -퇪 -퇪 -퇪 - -퇫 -퇫 -퇫 -퇫 -퇫 - -퇬 -퇬 -퇬 -퇬 -퇬 - -퇭 -퇭 -퇭 -퇭 -퇭 - -퇮 -퇮 -퇮 -퇮 -퇮 - -퇯 -퇯 -퇯 -퇯 -퇯 - -퇰 -퇰 -퇰 -퇰 -퇰 - -퇱 -퇱 -퇱 -퇱 -퇱 - -퇲 -퇲 -퇲 -퇲 -퇲 - -퇳 -퇳 -퇳 -퇳 -퇳 - -퇴 -퇴 -퇴 -퇴 -퇴 - -퇵 -퇵 -퇵 -퇵 -퇵 - -퇶 -퇶 -퇶 -퇶 -퇶 - -퇷 -퇷 -퇷 -퇷 -퇷 - -퇸 -퇸 -퇸 -퇸 -퇸 - -퇹 -퇹 -퇹 -퇹 -퇹 - -퇺 -퇺 -퇺 -퇺 -퇺 - -퇻 -퇻 -퇻 -퇻 -퇻 - -퇼 -퇼 -퇼 -퇼 -퇼 - -퇽 -퇽 -퇽 -퇽 -퇽 - -퇾 -퇾 -퇾 -퇾 -퇾 - -퇿 -퇿 -퇿 -퇿 -퇿 - -툀 -툀 -툀 -툀 -툀 - -툁 -툁 -툁 -툁 -툁 - -툂 -툂 -툂 -툂 -툂 - -툃 -툃 -툃 -툃 -툃 - -툄 -툄 -툄 -툄 -툄 - -툅 -툅 -툅 -툅 -툅 - -툆 -툆 -툆 -툆 -툆 - -툇 -툇 -툇 -툇 -툇 - -툈 -툈 -툈 -툈 -툈 - -툉 -툉 -툉 -툉 -툉 - -툊 -툊 -툊 -툊 -툊 - -툋 -툋 -툋 -툋 -툋 - -툌 -툌 -툌 -툌 -툌 - -툍 -툍 -툍 -툍 -툍 - -툎 -툎 -툎 -툎 -툎 - -툏 -툏 -툏 -툏 -툏 - -툐 -툐 -툐 -툐 -툐 - -툑 -툑 -툑 -툑 -툑 - -툒 -툒 -툒 -툒 -툒 - -툓 -툓 -툓 -툓 -툓 - -툔 -툔 -툔 -툔 -툔 - -툕 -툕 -툕 -툕 -툕 - -툖 -툖 -툖 -툖 -툖 - -툗 -툗 -툗 -툗 -툗 - -툘 -툘 -툘 -툘 -툘 - -툙 -툙 -툙 -툙 -툙 - -툚 -툚 -툚 -툚 -툚 - -툛 -툛 -툛 -툛 -툛 - -툜 -툜 -툜 -툜 -툜 - -툝 -툝 -툝 -툝 -툝 - -툞 -툞 -툞 -툞 -툞 - -툟 -툟 -툟 -툟 -툟 - -툠 -툠 -툠 -툠 -툠 - -툡 -툡 -툡 -툡 -툡 - -툢 -툢 -툢 -툢 -툢 - -툣 -툣 -툣 -툣 -툣 - -툤 -툤 -툤 -툤 -툤 - -툥 -툥 -툥 -툥 -툥 - -툦 -툦 -툦 -툦 -툦 - -툧 -툧 -툧 -툧 -툧 - -툨 -툨 -툨 -툨 -툨 - -툩 -툩 -툩 -툩 -툩 - -툪 -툪 -툪 -툪 -툪 - -툫 -툫 -툫 -툫 -툫 - -투 -투 -투 -투 -투 - -툭 -툭 -툭 -툭 -툭 - -툮 -툮 -툮 -툮 -툮 - -툯 -툯 -툯 -툯 -툯 - -툰 -툰 -툰 -툰 -툰 - -툱 -툱 -툱 -툱 -툱 - -툲 -툲 -툲 -툲 -툲 - -툳 -툳 -툳 -툳 -툳 - -툴 -툴 -툴 -툴 -툴 - -툵 -툵 -툵 -툵 -툵 - -툶 -툶 -툶 -툶 -툶 - -툷 -툷 -툷 -툷 -툷 - -툸 -툸 -툸 -툸 -툸 - -툹 -툹 -툹 -툹 -툹 - -툺 -툺 -툺 -툺 -툺 - -툻 -툻 -툻 -툻 -툻 - -툼 -툼 -툼 -툼 -툼 - -툽 -툽 -툽 -툽 -툽 - -툾 -툾 -툾 -툾 -툾 - -툿 -툿 -툿 -툿 -툿 - -퉀 -퉀 -퉀 -퉀 -퉀 - -퉁 -퉁 -퉁 -퉁 -퉁 - -퉂 -퉂 -퉂 -퉂 -퉂 - -퉃 -퉃 -퉃 -퉃 -퉃 - -퉄 -퉄 -퉄 -퉄 -퉄 - -퉅 -퉅 -퉅 -퉅 -퉅 - -퉆 -퉆 -퉆 -퉆 -퉆 - -퉇 -퉇 -퉇 -퉇 -퉇 - -퉈 -퉈 -퉈 -퉈 -퉈 - -퉉 -퉉 -퉉 -퉉 -퉉 - -퉊 -퉊 -퉊 -퉊 -퉊 - -퉋 -퉋 -퉋 -퉋 -퉋 - -퉌 -퉌 -퉌 -퉌 -퉌 - -퉍 -퉍 -퉍 -퉍 -퉍 - -퉎 -퉎 -퉎 -퉎 -퉎 - -퉏 -퉏 -퉏 -퉏 -퉏 - -퉐 -퉐 -퉐 -퉐 -퉐 - -퉑 -퉑 -퉑 -퉑 -퉑 - -퉒 -퉒 -퉒 -퉒 -퉒 - -퉓 -퉓 -퉓 -퉓 -퉓 - -퉔 -퉔 -퉔 -퉔 -퉔 - -퉕 -퉕 -퉕 -퉕 -퉕 - -퉖 -퉖 -퉖 -퉖 -퉖 - -퉗 -퉗 -퉗 -퉗 -퉗 - -퉘 -퉘 -퉘 -퉘 -퉘 - -퉙 -퉙 -퉙 -퉙 -퉙 - -퉚 -퉚 -퉚 -퉚 -퉚 - -퉛 -퉛 -퉛 -퉛 -퉛 - -퉜 -퉜 -퉜 -퉜 -퉜 - -퉝 -퉝 -퉝 -퉝 -퉝 - -퉞 -퉞 -퉞 -퉞 -퉞 - -퉟 -퉟 -퉟 -퉟 -퉟 - -퉠 -퉠 -퉠 -퉠 -퉠 - -퉡 -퉡 -퉡 -퉡 -퉡 - -퉢 -퉢 -퉢 -퉢 -퉢 - -퉣 -퉣 -퉣 -퉣 -퉣 - -퉤 -퉤 -퉤 -퉤 -퉤 - -퉥 -퉥 -퉥 -퉥 -퉥 - -퉦 -퉦 -퉦 -퉦 -퉦 - -퉧 -퉧 -퉧 -퉧 -퉧 - -퉨 -퉨 -퉨 -퉨 -퉨 - -퉩 -퉩 -퉩 -퉩 -퉩 - -퉪 -퉪 -퉪 -퉪 -퉪 - -퉫 -퉫 -퉫 -퉫 -퉫 - -퉬 -퉬 -퉬 -퉬 -퉬 - -퉭 -퉭 -퉭 -퉭 -퉭 - -퉮 -퉮 -퉮 -퉮 -퉮 - -퉯 -퉯 -퉯 -퉯 -퉯 - -퉰 -퉰 -퉰 -퉰 -퉰 - -퉱 -퉱 -퉱 -퉱 -퉱 - -퉲 -퉲 -퉲 -퉲 -퉲 - -퉳 -퉳 -퉳 -퉳 -퉳 - -퉴 -퉴 -퉴 -퉴 -퉴 - -퉵 -퉵 -퉵 -퉵 -퉵 - -퉶 -퉶 -퉶 -퉶 -퉶 - -퉷 -퉷 -퉷 -퉷 -퉷 - -퉸 -퉸 -퉸 -퉸 -퉸 - -퉹 -퉹 -퉹 -퉹 -퉹 - -퉺 -퉺 -퉺 -퉺 -퉺 - -퉻 -퉻 -퉻 -퉻 -퉻 - -퉼 -퉼 -퉼 -퉼 -퉼 - -퉽 -퉽 -퉽 -퉽 -퉽 - -퉾 -퉾 -퉾 -퉾 -퉾 - -퉿 -퉿 -퉿 -퉿 -퉿 - -튀 -튀 -튀 -튀 -튀 - -튁 -튁 -튁 -튁 -튁 - -튂 -튂 -튂 -튂 -튂 - -튃 -튃 -튃 -튃 -튃 - -튄 -튄 -튄 -튄 -튄 - -튅 -튅 -튅 -튅 -튅 - -튆 -튆 -튆 -튆 -튆 - -튇 -튇 -튇 -튇 -튇 - -튈 -튈 -튈 -튈 -튈 - -튉 -튉 -튉 -튉 -튉 - -튊 -튊 -튊 -튊 -튊 - -튋 -튋 -튋 -튋 -튋 - -튌 -튌 -튌 -튌 -튌 - -튍 -튍 -튍 -튍 -튍 - -튎 -튎 -튎 -튎 -튎 - -튏 -튏 -튏 -튏 -튏 - -튐 -튐 -튐 -튐 -튐 - -튑 -튑 -튑 -튑 -튑 - -튒 -튒 -튒 -튒 -튒 - -튓 -튓 -튓 -튓 -튓 - -튔 -튔 -튔 -튔 -튔 - -튕 -튕 -튕 -튕 -튕 - -튖 -튖 -튖 -튖 -튖 - -튗 -튗 -튗 -튗 -튗 - -튘 -튘 -튘 -튘 -튘 - -튙 -튙 -튙 -튙 -튙 - -튚 -튚 -튚 -튚 -튚 - -튛 -튛 -튛 -튛 -튛 - -튜 -튜 -튜 -튜 -튜 - -튝 -튝 -튝 -튝 -튝 - -튞 -튞 -튞 -튞 -튞 - -튟 -튟 -튟 -튟 -튟 - -튠 -튠 -튠 -튠 -튠 - -튡 -튡 -튡 -튡 -튡 - -튢 -튢 -튢 -튢 -튢 - -튣 -튣 -튣 -튣 -튣 - -튤 -튤 -튤 -튤 -튤 - -튥 -튥 -튥 -튥 -튥 - -튦 -튦 -튦 -튦 -튦 - -튧 -튧 -튧 -튧 -튧 - -튨 -튨 -튨 -튨 -튨 - -튩 -튩 -튩 -튩 -튩 - -튪 -튪 -튪 -튪 -튪 - -튫 -튫 -튫 -튫 -튫 - -튬 -튬 -튬 -튬 -튬 - -튭 -튭 -튭 -튭 -튭 - -튮 -튮 -튮 -튮 -튮 - -튯 -튯 -튯 -튯 -튯 - -튰 -튰 -튰 -튰 -튰 - -튱 -튱 -튱 -튱 -튱 - -튲 -튲 -튲 -튲 -튲 - -튳 -튳 -튳 -튳 -튳 - -튴 -튴 -튴 -튴 -튴 - -튵 -튵 -튵 -튵 -튵 - -튶 -튶 -튶 -튶 -튶 - -튷 -튷 -튷 -튷 -튷 - -트 -트 -트 -트 -트 - -특 -특 -특 -특 -특 - -튺 -튺 -튺 -튺 -튺 - -튻 -튻 -튻 -튻 -튻 - -튼 -튼 -튼 -튼 -튼 - -튽 -튽 -튽 -튽 -튽 - -튾 -튾 -튾 -튾 -튾 - -튿 -튿 -튿 -튿 -튿 - -틀 -틀 -틀 -틀 -틀 - -틁 -틁 -틁 -틁 -틁 - -틂 -틂 -틂 -틂 -틂 - -틃 -틃 -틃 -틃 -틃 - -틄 -틄 -틄 -틄 -틄 - -틅 -틅 -틅 -틅 -틅 - -틆 -틆 -틆 -틆 -틆 - -틇 -틇 -틇 -틇 -틇 - -틈 -틈 -틈 -틈 -틈 - -틉 -틉 -틉 -틉 -틉 - -틊 -틊 -틊 -틊 -틊 - -틋 -틋 -틋 -틋 -틋 - -틌 -틌 -틌 -틌 -틌 - -틍 -틍 -틍 -틍 -틍 - -틎 -틎 -틎 -틎 -틎 - -틏 -틏 -틏 -틏 -틏 - -틐 -틐 -틐 -틐 -틐 - -틑 -틑 -틑 -틑 -틑 - -틒 -틒 -틒 -틒 -틒 - -틓 -틓 -틓 -틓 -틓 - -틔 -틔 -틔 -틔 -틔 - -틕 -틕 -틕 -틕 -틕 - -틖 -틖 -틖 -틖 -틖 - -틗 -틗 -틗 -틗 -틗 - -틘 -틘 -틘 -틘 -틘 - -틙 -틙 -틙 -틙 -틙 - -틚 -틚 -틚 -틚 -틚 - -틛 -틛 -틛 -틛 -틛 - -틜 -틜 -틜 -틜 -틜 - -틝 -틝 -틝 -틝 -틝 - -틞 -틞 -틞 -틞 -틞 - -틟 -틟 -틟 -틟 -틟 - -틠 -틠 -틠 -틠 -틠 - -틡 -틡 -틡 -틡 -틡 - -틢 -틢 -틢 -틢 -틢 - -틣 -틣 -틣 -틣 -틣 - -틤 -틤 -틤 -틤 -틤 - -틥 -틥 -틥 -틥 -틥 - -틦 -틦 -틦 -틦 -틦 - -틧 -틧 -틧 -틧 -틧 - -틨 -틨 -틨 -틨 -틨 - -틩 -틩 -틩 -틩 -틩 - -틪 -틪 -틪 -틪 -틪 - -틫 -틫 -틫 -틫 -틫 - -틬 -틬 -틬 -틬 -틬 - -틭 -틭 -틭 -틭 -틭 - -틮 -틮 -틮 -틮 -틮 - -틯 -틯 -틯 -틯 -틯 - -티 -티 -티 -티 -티 - -틱 -틱 -틱 -틱 -틱 - -틲 -틲 -틲 -틲 -틲 - -틳 -틳 -틳 -틳 -틳 - -틴 -틴 -틴 -틴 -틴 - -틵 -틵 -틵 -틵 -틵 - -틶 -틶 -틶 -틶 -틶 - -틷 -틷 -틷 -틷 -틷 - -틸 -틸 -틸 -틸 -틸 - -틹 -틹 -틹 -틹 -틹 - -틺 -틺 -틺 -틺 -틺 - -틻 -틻 -틻 -틻 -틻 - -틼 -틼 -틼 -틼 -틼 - -틽 -틽 -틽 -틽 -틽 - -틾 -틾 -틾 -틾 -틾 - -틿 -틿 -틿 -틿 -틿 - -팀 -팀 -팀 -팀 -팀 - -팁 -팁 -팁 -팁 -팁 - -팂 -팂 -팂 -팂 -팂 - -팃 -팃 -팃 -팃 -팃 - -팄 -팄 -팄 -팄 -팄 - -팅 -팅 -팅 -팅 -팅 - -팆 -팆 -팆 -팆 -팆 - -팇 -팇 -팇 -팇 -팇 - -팈 -팈 -팈 -팈 -팈 - -팉 -팉 -팉 -팉 -팉 - -팊 -팊 -팊 -팊 -팊 - -팋 -팋 -팋 -팋 -팋 - -파 -파 -파 -파 -파 - -팍 -팍 -팍 -팍 -팍 - -팎 -팎 -팎 -팎 -팎 - -팏 -팏 -팏 -팏 -팏 - -판 -판 -판 -판 -판 - -팑 -팑 -팑 -팑 -팑 - -팒 -팒 -팒 -팒 -팒 - -팓 -팓 -팓 -팓 -팓 - -팔 -팔 -팔 -팔 -팔 - -팕 -팕 -팕 -팕 -팕 - -팖 -팖 -팖 -팖 -팖 - -팗 -팗 -팗 -팗 -팗 - -팘 -팘 -팘 -팘 -팘 - -팙 -팙 -팙 -팙 -팙 - -팚 -팚 -팚 -팚 -팚 - -팛 -팛 -팛 -팛 -팛 - -팜 -팜 -팜 -팜 -팜 - -팝 -팝 -팝 -팝 -팝 - -팞 -팞 -팞 -팞 -팞 - -팟 -팟 -팟 -팟 -팟 - -팠 -팠 -팠 -팠 -팠 - -팡 -팡 -팡 -팡 -팡 - -팢 -팢 -팢 -팢 -팢 - -팣 -팣 -팣 -팣 -팣 - -팤 -팤 -팤 -팤 -팤 - -팥 -팥 -팥 -팥 -팥 - -팦 -팦 -팦 -팦 -팦 - -팧 -팧 -팧 -팧 -팧 - -패 -패 -패 -패 -패 - -팩 -팩 -팩 -팩 -팩 - -팪 -팪 -팪 -팪 -팪 - -팫 -팫 -팫 -팫 -팫 - -팬 -팬 -팬 -팬 -팬 - -팭 -팭 -팭 -팭 -팭 - -팮 -팮 -팮 -팮 -팮 - -팯 -팯 -팯 -팯 -팯 - -팰 -팰 -팰 -팰 -팰 - -팱 -팱 -팱 -팱 -팱 - -팲 -팲 -팲 -팲 -팲 - -팳 -팳 -팳 -팳 -팳 - -팴 -팴 -팴 -팴 -팴 - -팵 -팵 -팵 -팵 -팵 - -팶 -팶 -팶 -팶 -팶 - -팷 -팷 -팷 -팷 -팷 - -팸 -팸 -팸 -팸 -팸 - -팹 -팹 -팹 -팹 -팹 - -팺 -팺 -팺 -팺 -팺 - -팻 -팻 -팻 -팻 -팻 - -팼 -팼 -팼 -팼 -팼 - -팽 -팽 -팽 -팽 -팽 - -팾 -팾 -팾 -팾 -팾 - -팿 -팿 -팿 -팿 -팿 - -퍀 -퍀 -퍀 -퍀 -퍀 - -퍁 -퍁 -퍁 -퍁 -퍁 - -퍂 -퍂 -퍂 -퍂 -퍂 - -퍃 -퍃 -퍃 -퍃 -퍃 - -퍄 -퍄 -퍄 -퍄 -퍄 - -퍅 -퍅 -퍅 -퍅 -퍅 - -퍆 -퍆 -퍆 -퍆 -퍆 - -퍇 -퍇 -퍇 -퍇 -퍇 - -퍈 -퍈 -퍈 -퍈 -퍈 - -퍉 -퍉 -퍉 -퍉 -퍉 - -퍊 -퍊 -퍊 -퍊 -퍊 - -퍋 -퍋 -퍋 -퍋 -퍋 - -퍌 -퍌 -퍌 -퍌 -퍌 - -퍍 -퍍 -퍍 -퍍 -퍍 - -퍎 -퍎 -퍎 -퍎 -퍎 - -퍏 -퍏 -퍏 -퍏 -퍏 - -퍐 -퍐 -퍐 -퍐 -퍐 - -퍑 -퍑 -퍑 -퍑 -퍑 - -퍒 -퍒 -퍒 -퍒 -퍒 - -퍓 -퍓 -퍓 -퍓 -퍓 - -퍔 -퍔 -퍔 -퍔 -퍔 - -퍕 -퍕 -퍕 -퍕 -퍕 - -퍖 -퍖 -퍖 -퍖 -퍖 - -퍗 -퍗 -퍗 -퍗 -퍗 - -퍘 -퍘 -퍘 -퍘 -퍘 - -퍙 -퍙 -퍙 -퍙 -퍙 - -퍚 -퍚 -퍚 -퍚 -퍚 - -퍛 -퍛 -퍛 -퍛 -퍛 - -퍜 -퍜 -퍜 -퍜 -퍜 - -퍝 -퍝 -퍝 -퍝 -퍝 - -퍞 -퍞 -퍞 -퍞 -퍞 - -퍟 -퍟 -퍟 -퍟 -퍟 - -퍠 -퍠 -퍠 -퍠 -퍠 - -퍡 -퍡 -퍡 -퍡 -퍡 - -퍢 -퍢 -퍢 -퍢 -퍢 - -퍣 -퍣 -퍣 -퍣 -퍣 - -퍤 -퍤 -퍤 -퍤 -퍤 - -퍥 -퍥 -퍥 -퍥 -퍥 - -퍦 -퍦 -퍦 -퍦 -퍦 - -퍧 -퍧 -퍧 -퍧 -퍧 - -퍨 -퍨 -퍨 -퍨 -퍨 - -퍩 -퍩 -퍩 -퍩 -퍩 - -퍪 -퍪 -퍪 -퍪 -퍪 - -퍫 -퍫 -퍫 -퍫 -퍫 - -퍬 -퍬 -퍬 -퍬 -퍬 - -퍭 -퍭 -퍭 -퍭 -퍭 - -퍮 -퍮 -퍮 -퍮 -퍮 - -퍯 -퍯 -퍯 -퍯 -퍯 - -퍰 -퍰 -퍰 -퍰 -퍰 - -퍱 -퍱 -퍱 -퍱 -퍱 - -퍲 -퍲 -퍲 -퍲 -퍲 - -퍳 -퍳 -퍳 -퍳 -퍳 - -퍴 -퍴 -퍴 -퍴 -퍴 - -퍵 -퍵 -퍵 -퍵 -퍵 - -퍶 -퍶 -퍶 -퍶 -퍶 - -퍷 -퍷 -퍷 -퍷 -퍷 - -퍸 -퍸 -퍸 -퍸 -퍸 - -퍹 -퍹 -퍹 -퍹 -퍹 - -퍺 -퍺 -퍺 -퍺 -퍺 - -퍻 -퍻 -퍻 -퍻 -퍻 - -퍼 -퍼 -퍼 -퍼 -퍼 - -퍽 -퍽 -퍽 -퍽 -퍽 - -퍾 -퍾 -퍾 -퍾 -퍾 - -퍿 -퍿 -퍿 -퍿 -퍿 - -펀 -펀 -펀 -펀 -펀 - -펁 -펁 -펁 -펁 -펁 - -펂 -펂 -펂 -펂 -펂 - -펃 -펃 -펃 -펃 -펃 - -펄 -펄 -펄 -펄 -펄 - -펅 -펅 -펅 -펅 -펅 - -펆 -펆 -펆 -펆 -펆 - -펇 -펇 -펇 -펇 -펇 - -펈 -펈 -펈 -펈 -펈 - -펉 -펉 -펉 -펉 -펉 - -펊 -펊 -펊 -펊 -펊 - -펋 -펋 -펋 -펋 -펋 - -펌 -펌 -펌 -펌 -펌 - -펍 -펍 -펍 -펍 -펍 - -펎 -펎 -펎 -펎 -펎 - -펏 -펏 -펏 -펏 -펏 - -펐 -펐 -펐 -펐 -펐 - -펑 -펑 -펑 -펑 -펑 - -펒 -펒 -펒 -펒 -펒 - -펓 -펓 -펓 -펓 -펓 - -펔 -펔 -펔 -펔 -펔 - -펕 -펕 -펕 -펕 -펕 - -펖 -펖 -펖 -펖 -펖 - -펗 -펗 -펗 -펗 -펗 - -페 -페 -페 -페 -페 - -펙 -펙 -펙 -펙 -펙 - -펚 -펚 -펚 -펚 -펚 - -펛 -펛 -펛 -펛 -펛 - -펜 -펜 -펜 -펜 -펜 - -펝 -펝 -펝 -펝 -펝 - -펞 -펞 -펞 -펞 -펞 - -펟 -펟 -펟 -펟 -펟 - -펠 -펠 -펠 -펠 -펠 - -펡 -펡 -펡 -펡 -펡 - -펢 -펢 -펢 -펢 -펢 - -펣 -펣 -펣 -펣 -펣 - -펤 -펤 -펤 -펤 -펤 - -펥 -펥 -펥 -펥 -펥 - -펦 -펦 -펦 -펦 -펦 - -펧 -펧 -펧 -펧 -펧 - -펨 -펨 -펨 -펨 -펨 - -펩 -펩 -펩 -펩 -펩 - -펪 -펪 -펪 -펪 -펪 - -펫 -펫 -펫 -펫 -펫 - -펬 -펬 -펬 -펬 -펬 - -펭 -펭 -펭 -펭 -펭 - -펮 -펮 -펮 -펮 -펮 - -펯 -펯 -펯 -펯 -펯 - -펰 -펰 -펰 -펰 -펰 - -펱 -펱 -펱 -펱 -펱 - -펲 -펲 -펲 -펲 -펲 - -펳 -펳 -펳 -펳 -펳 - -펴 -펴 -펴 -펴 -펴 - -펵 -펵 -펵 -펵 -펵 - -펶 -펶 -펶 -펶 -펶 - -펷 -펷 -펷 -펷 -펷 - -편 -편 -편 -편 -편 - -펹 -펹 -펹 -펹 -펹 - -펺 -펺 -펺 -펺 -펺 - -펻 -펻 -펻 -펻 -펻 - -펼 -펼 -펼 -펼 -펼 - -펽 -펽 -펽 -펽 -펽 - -펾 -펾 -펾 -펾 -펾 - -펿 -펿 -펿 -펿 -펿 - -폀 -폀 -폀 -폀 -폀 - -폁 -폁 -폁 -폁 -폁 - -폂 -폂 -폂 -폂 -폂 - -폃 -폃 -폃 -폃 -폃 - -폄 -폄 -폄 -폄 -폄 - -폅 -폅 -폅 -폅 -폅 - -폆 -폆 -폆 -폆 -폆 - -폇 -폇 -폇 -폇 -폇 - -폈 -폈 -폈 -폈 -폈 - -평 -평 -평 -평 -평 - -폊 -폊 -폊 -폊 -폊 - -폋 -폋 -폋 -폋 -폋 - -폌 -폌 -폌 -폌 -폌 - -폍 -폍 -폍 -폍 -폍 - -폎 -폎 -폎 -폎 -폎 - -폏 -폏 -폏 -폏 -폏 - -폐 -폐 -폐 -폐 -폐 - -폑 -폑 -폑 -폑 -폑 - -폒 -폒 -폒 -폒 -폒 - -폓 -폓 -폓 -폓 -폓 - -폔 -폔 -폔 -폔 -폔 - -폕 -폕 -폕 -폕 -폕 - -폖 -폖 -폖 -폖 -폖 - -폗 -폗 -폗 -폗 -폗 - -폘 -폘 -폘 -폘 -폘 - -폙 -폙 -폙 -폙 -폙 - -폚 -폚 -폚 -폚 -폚 - -폛 -폛 -폛 -폛 -폛 - -폜 -폜 -폜 -폜 -폜 - -폝 -폝 -폝 -폝 -폝 - -폞 -폞 -폞 -폞 -폞 - -폟 -폟 -폟 -폟 -폟 - -폠 -폠 -폠 -폠 -폠 - -폡 -폡 -폡 -폡 -폡 - -폢 -폢 -폢 -폢 -폢 - -폣 -폣 -폣 -폣 -폣 - -폤 -폤 -폤 -폤 -폤 - -폥 -폥 -폥 -폥 -폥 - -폦 -폦 -폦 -폦 -폦 - -폧 -폧 -폧 -폧 -폧 - -폨 -폨 -폨 -폨 -폨 - -폩 -폩 -폩 -폩 -폩 - -폪 -폪 -폪 -폪 -폪 - -폫 -폫 -폫 -폫 -폫 - -포 -포 -포 -포 -포 - -폭 -폭 -폭 -폭 -폭 - -폮 -폮 -폮 -폮 -폮 - -폯 -폯 -폯 -폯 -폯 - -폰 -폰 -폰 -폰 -폰 - -폱 -폱 -폱 -폱 -폱 - -폲 -폲 -폲 -폲 -폲 - -폳 -폳 -폳 -폳 -폳 - -폴 -폴 -폴 -폴 -폴 - -폵 -폵 -폵 -폵 -폵 - -폶 -폶 -폶 -폶 -폶 - -폷 -폷 -폷 -폷 -폷 - -폸 -폸 -폸 -폸 -폸 - -폹 -폹 -폹 -폹 -폹 - -폺 -폺 -폺 -폺 -폺 - -폻 -폻 -폻 -폻 -폻 - -폼 -폼 -폼 -폼 -폼 - -폽 -폽 -폽 -폽 -폽 - -폾 -폾 -폾 -폾 -폾 - -폿 -폿 -폿 -폿 -폿 - -퐀 -퐀 -퐀 -퐀 -퐀 - -퐁 -퐁 -퐁 -퐁 -퐁 - -퐂 -퐂 -퐂 -퐂 -퐂 - -퐃 -퐃 -퐃 -퐃 -퐃 - -퐄 -퐄 -퐄 -퐄 -퐄 - -퐅 -퐅 -퐅 -퐅 -퐅 - -퐆 -퐆 -퐆 -퐆 -퐆 - -퐇 -퐇 -퐇 -퐇 -퐇 - -퐈 -퐈 -퐈 -퐈 -퐈 - -퐉 -퐉 -퐉 -퐉 -퐉 - -퐊 -퐊 -퐊 -퐊 -퐊 - -퐋 -퐋 -퐋 -퐋 -퐋 - -퐌 -퐌 -퐌 -퐌 -퐌 - -퐍 -퐍 -퐍 -퐍 -퐍 - -퐎 -퐎 -퐎 -퐎 -퐎 - -퐏 -퐏 -퐏 -퐏 -퐏 - -퐐 -퐐 -퐐 -퐐 -퐐 - -퐑 -퐑 -퐑 -퐑 -퐑 - -퐒 -퐒 -퐒 -퐒 -퐒 - -퐓 -퐓 -퐓 -퐓 -퐓 - -퐔 -퐔 -퐔 -퐔 -퐔 - -퐕 -퐕 -퐕 -퐕 -퐕 - -퐖 -퐖 -퐖 -퐖 -퐖 - -퐗 -퐗 -퐗 -퐗 -퐗 - -퐘 -퐘 -퐘 -퐘 -퐘 - -퐙 -퐙 -퐙 -퐙 -퐙 - -퐚 -퐚 -퐚 -퐚 -퐚 - -퐛 -퐛 -퐛 -퐛 -퐛 - -퐜 -퐜 -퐜 -퐜 -퐜 - -퐝 -퐝 -퐝 -퐝 -퐝 - -퐞 -퐞 -퐞 -퐞 -퐞 - -퐟 -퐟 -퐟 -퐟 -퐟 - -퐠 -퐠 -퐠 -퐠 -퐠 - -퐡 -퐡 -퐡 -퐡 -퐡 - -퐢 -퐢 -퐢 -퐢 -퐢 - -퐣 -퐣 -퐣 -퐣 -퐣 - -퐤 -퐤 -퐤 -퐤 -퐤 - -퐥 -퐥 -퐥 -퐥 -퐥 - -퐦 -퐦 -퐦 -퐦 -퐦 - -퐧 -퐧 -퐧 -퐧 -퐧 - -퐨 -퐨 -퐨 -퐨 -퐨 - -퐩 -퐩 -퐩 -퐩 -퐩 - -퐪 -퐪 -퐪 -퐪 -퐪 - -퐫 -퐫 -퐫 -퐫 -퐫 - -퐬 -퐬 -퐬 -퐬 -퐬 - -퐭 -퐭 -퐭 -퐭 -퐭 - -퐮 -퐮 -퐮 -퐮 -퐮 - -퐯 -퐯 -퐯 -퐯 -퐯 - -퐰 -퐰 -퐰 -퐰 -퐰 - -퐱 -퐱 -퐱 -퐱 -퐱 - -퐲 -퐲 -퐲 -퐲 -퐲 - -퐳 -퐳 -퐳 -퐳 -퐳 - -퐴 -퐴 -퐴 -퐴 -퐴 - -퐵 -퐵 -퐵 -퐵 -퐵 - -퐶 -퐶 -퐶 -퐶 -퐶 - -퐷 -퐷 -퐷 -퐷 -퐷 - -퐸 -퐸 -퐸 -퐸 -퐸 - -퐹 -퐹 -퐹 -퐹 -퐹 - -퐺 -퐺 -퐺 -퐺 -퐺 - -퐻 -퐻 -퐻 -퐻 -퐻 - -퐼 -퐼 -퐼 -퐼 -퐼 - -퐽 -퐽 -퐽 -퐽 -퐽 - -퐾 -퐾 -퐾 -퐾 -퐾 - -퐿 -퐿 -퐿 -퐿 -퐿 - -푀 -푀 -푀 -푀 -푀 - -푁 -푁 -푁 -푁 -푁 - -푂 -푂 -푂 -푂 -푂 - -푃 -푃 -푃 -푃 -푃 - -푄 -푄 -푄 -푄 -푄 - -푅 -푅 -푅 -푅 -푅 - -푆 -푆 -푆 -푆 -푆 - -푇 -푇 -푇 -푇 -푇 - -푈 -푈 -푈 -푈 -푈 - -푉 -푉 -푉 -푉 -푉 - -푊 -푊 -푊 -푊 -푊 - -푋 -푋 -푋 -푋 -푋 - -푌 -푌 -푌 -푌 -푌 - -푍 -푍 -푍 -푍 -푍 - -푎 -푎 -푎 -푎 -푎 - -푏 -푏 -푏 -푏 -푏 - -푐 -푐 -푐 -푐 -푐 - -푑 -푑 -푑 -푑 -푑 - -푒 -푒 -푒 -푒 -푒 - -푓 -푓 -푓 -푓 -푓 - -푔 -푔 -푔 -푔 -푔 - -푕 -푕 -푕 -푕 -푕 - -푖 -푖 -푖 -푖 -푖 - -푗 -푗 -푗 -푗 -푗 - -푘 -푘 -푘 -푘 -푘 - -푙 -푙 -푙 -푙 -푙 - -푚 -푚 -푚 -푚 -푚 - -푛 -푛 -푛 -푛 -푛 - -표 -표 -표 -표 -표 - -푝 -푝 -푝 -푝 -푝 - -푞 -푞 -푞 -푞 -푞 - -푟 -푟 -푟 -푟 -푟 - -푠 -푠 -푠 -푠 -푠 - -푡 -푡 -푡 -푡 -푡 - -푢 -푢 -푢 -푢 -푢 - -푣 -푣 -푣 -푣 -푣 - -푤 -푤 -푤 -푤 -푤 - -푥 -푥 -푥 -푥 -푥 - -푦 -푦 -푦 -푦 -푦 - -푧 -푧 -푧 -푧 -푧 - -푨 -푨 -푨 -푨 -푨 - -푩 -푩 -푩 -푩 -푩 - -푪 -푪 -푪 -푪 -푪 - -푫 -푫 -푫 -푫 -푫 - -푬 -푬 -푬 -푬 -푬 - -푭 -푭 -푭 -푭 -푭 - -푮 -푮 -푮 -푮 -푮 - -푯 -푯 -푯 -푯 -푯 - -푰 -푰 -푰 -푰 -푰 - -푱 -푱 -푱 -푱 -푱 - -푲 -푲 -푲 -푲 -푲 - -푳 -푳 -푳 -푳 -푳 - -푴 -푴 -푴 -푴 -푴 - -푵 -푵 -푵 -푵 -푵 - -푶 -푶 -푶 -푶 -푶 - -푷 -푷 -푷 -푷 -푷 - -푸 -푸 -푸 -푸 -푸 - -푹 -푹 -푹 -푹 -푹 - -푺 -푺 -푺 -푺 -푺 - -푻 -푻 -푻 -푻 -푻 - -푼 -푼 -푼 -푼 -푼 - -푽 -푽 -푽 -푽 -푽 - -푾 -푾 -푾 -푾 -푾 - -푿 -푿 -푿 -푿 -푿 - -풀 -풀 -풀 -풀 -풀 - -풁 -풁 -풁 -풁 -풁 - -풂 -풂 -풂 -풂 -풂 - -풃 -풃 -풃 -풃 -풃 - -풄 -풄 -풄 -풄 -풄 - -풅 -풅 -풅 -풅 -풅 - -풆 -풆 -풆 -풆 -풆 - -풇 -풇 -풇 -풇 -풇 - -품 -품 -품 -품 -품 - -풉 -풉 -풉 -풉 -풉 - -풊 -풊 -풊 -풊 -풊 - -풋 -풋 -풋 -풋 -풋 - -풌 -풌 -풌 -풌 -풌 - -풍 -풍 -풍 -풍 -풍 - -풎 -풎 -풎 -풎 -풎 - -풏 -풏 -풏 -풏 -풏 - -풐 -풐 -풐 -풐 -풐 - -풑 -풑 -풑 -풑 -풑 - -풒 -풒 -풒 -풒 -풒 - -풓 -풓 -풓 -풓 -풓 - -풔 -풔 -풔 -풔 -풔 - -풕 -풕 -풕 -풕 -풕 - -풖 -풖 -풖 -풖 -풖 - -풗 -풗 -풗 -풗 -풗 - -풘 -풘 -풘 -풘 -풘 - -풙 -풙 -풙 -풙 -풙 - -풚 -풚 -풚 -풚 -풚 - -풛 -풛 -풛 -풛 -풛 - -풜 -풜 -풜 -풜 -풜 - -풝 -풝 -풝 -풝 -풝 - -풞 -풞 -풞 -풞 -풞 - -풟 -풟 -풟 -풟 -풟 - -풠 -풠 -풠 -풠 -풠 - -풡 -풡 -풡 -풡 -풡 - -풢 -풢 -풢 -풢 -풢 - -풣 -풣 -풣 -풣 -풣 - -풤 -풤 -풤 -풤 -풤 - -풥 -풥 -풥 -풥 -풥 - -풦 -풦 -풦 -풦 -풦 - -풧 -풧 -풧 -풧 -풧 - -풨 -풨 -풨 -풨 -풨 - -풩 -풩 -풩 -풩 -풩 - -풪 -풪 -풪 -풪 -풪 - -풫 -풫 -풫 -풫 -풫 - -풬 -풬 -풬 -풬 -풬 - -풭 -풭 -풭 -풭 -풭 - -풮 -풮 -풮 -풮 -풮 - -풯 -풯 -풯 -풯 -풯 - -풰 -풰 -풰 -풰 -풰 - -풱 -풱 -풱 -풱 -풱 - -풲 -풲 -풲 -풲 -풲 - -풳 -풳 -풳 -풳 -풳 - -풴 -풴 -풴 -풴 -풴 - -풵 -풵 -풵 -풵 -풵 - -풶 -풶 -풶 -풶 -풶 - -풷 -풷 -풷 -풷 -풷 - -풸 -풸 -풸 -풸 -풸 - -풹 -풹 -풹 -풹 -풹 - -풺 -풺 -풺 -풺 -풺 - -풻 -풻 -풻 -풻 -풻 - -풼 -풼 -풼 -풼 -풼 - -풽 -풽 -풽 -풽 -풽 - -풾 -풾 -풾 -풾 -풾 - -풿 -풿 -풿 -풿 -풿 - -퓀 -퓀 -퓀 -퓀 -퓀 - -퓁 -퓁 -퓁 -퓁 -퓁 - -퓂 -퓂 -퓂 -퓂 -퓂 - -퓃 -퓃 -퓃 -퓃 -퓃 - -퓄 -퓄 -퓄 -퓄 -퓄 - -퓅 -퓅 -퓅 -퓅 -퓅 - -퓆 -퓆 -퓆 -퓆 -퓆 - -퓇 -퓇 -퓇 -퓇 -퓇 - -퓈 -퓈 -퓈 -퓈 -퓈 - -퓉 -퓉 -퓉 -퓉 -퓉 - -퓊 -퓊 -퓊 -퓊 -퓊 - -퓋 -퓋 -퓋 -퓋 -퓋 - -퓌 -퓌 -퓌 -퓌 -퓌 - -퓍 -퓍 -퓍 -퓍 -퓍 - -퓎 -퓎 -퓎 -퓎 -퓎 - -퓏 -퓏 -퓏 -퓏 -퓏 - -퓐 -퓐 -퓐 -퓐 -퓐 - -퓑 -퓑 -퓑 -퓑 -퓑 - -퓒 -퓒 -퓒 -퓒 -퓒 - -퓓 -퓓 -퓓 -퓓 -퓓 - -퓔 -퓔 -퓔 -퓔 -퓔 - -퓕 -퓕 -퓕 -퓕 -퓕 - -퓖 -퓖 -퓖 -퓖 -퓖 - -퓗 -퓗 -퓗 -퓗 -퓗 - -퓘 -퓘 -퓘 -퓘 -퓘 - -퓙 -퓙 -퓙 -퓙 -퓙 - -퓚 -퓚 -퓚 -퓚 -퓚 - -퓛 -퓛 -퓛 -퓛 -퓛 - -퓜 -퓜 -퓜 -퓜 -퓜 - -퓝 -퓝 -퓝 -퓝 -퓝 - -퓞 -퓞 -퓞 -퓞 -퓞 - -퓟 -퓟 -퓟 -퓟 -퓟 - -퓠 -퓠 -퓠 -퓠 -퓠 - -퓡 -퓡 -퓡 -퓡 -퓡 - -퓢 -퓢 -퓢 -퓢 -퓢 - -퓣 -퓣 -퓣 -퓣 -퓣 - -퓤 -퓤 -퓤 -퓤 -퓤 - -퓥 -퓥 -퓥 -퓥 -퓥 - -퓦 -퓦 -퓦 -퓦 -퓦 - -퓧 -퓧 -퓧 -퓧 -퓧 - -퓨 -퓨 -퓨 -퓨 -퓨 - -퓩 -퓩 -퓩 -퓩 -퓩 - -퓪 -퓪 -퓪 -퓪 -퓪 - -퓫 -퓫 -퓫 -퓫 -퓫 - -퓬 -퓬 -퓬 -퓬 -퓬 - -퓭 -퓭 -퓭 -퓭 -퓭 - -퓮 -퓮 -퓮 -퓮 -퓮 - -퓯 -퓯 -퓯 -퓯 -퓯 - -퓰 -퓰 -퓰 -퓰 -퓰 - -퓱 -퓱 -퓱 -퓱 -퓱 - -퓲 -퓲 -퓲 -퓲 -퓲 - -퓳 -퓳 -퓳 -퓳 -퓳 - -퓴 -퓴 -퓴 -퓴 -퓴 - -퓵 -퓵 -퓵 -퓵 -퓵 - -퓶 -퓶 -퓶 -퓶 -퓶 - -퓷 -퓷 -퓷 -퓷 -퓷 - -퓸 -퓸 -퓸 -퓸 -퓸 - -퓹 -퓹 -퓹 -퓹 -퓹 - -퓺 -퓺 -퓺 -퓺 -퓺 - -퓻 -퓻 -퓻 -퓻 -퓻 - -퓼 -퓼 -퓼 -퓼 -퓼 - -퓽 -퓽 -퓽 -퓽 -퓽 - -퓾 -퓾 -퓾 -퓾 -퓾 - -퓿 -퓿 -퓿 -퓿 -퓿 - -픀 -픀 -픀 -픀 -픀 - -픁 -픁 -픁 -픁 -픁 - -픂 -픂 -픂 -픂 -픂 - -픃 -픃 -픃 -픃 -픃 - -프 -프 -프 -프 -프 - -픅 -픅 -픅 -픅 -픅 - -픆 -픆 -픆 -픆 -픆 - -픇 -픇 -픇 -픇 -픇 - -픈 -픈 -픈 -픈 -픈 - -픉 -픉 -픉 -픉 -픉 - -픊 -픊 -픊 -픊 -픊 - -픋 -픋 -픋 -픋 -픋 - -플 -플 -플 -플 -플 - -픍 -픍 -픍 -픍 -픍 - -픎 -픎 -픎 -픎 -픎 - -픏 -픏 -픏 -픏 -픏 - -픐 -픐 -픐 -픐 -픐 - -픑 -픑 -픑 -픑 -픑 - -픒 -픒 -픒 -픒 -픒 - -픓 -픓 -픓 -픓 -픓 - -픔 -픔 -픔 -픔 -픔 - -픕 -픕 -픕 -픕 -픕 - -픖 -픖 -픖 -픖 -픖 - -픗 -픗 -픗 -픗 -픗 - -픘 -픘 -픘 -픘 -픘 - -픙 -픙 -픙 -픙 -픙 - -픚 -픚 -픚 -픚 -픚 - -픛 -픛 -픛 -픛 -픛 - -픜 -픜 -픜 -픜 -픜 - -픝 -픝 -픝 -픝 -픝 - -픞 -픞 -픞 -픞 -픞 - -픟 -픟 -픟 -픟 -픟 - -픠 -픠 -픠 -픠 -픠 - -픡 -픡 -픡 -픡 -픡 - -픢 -픢 -픢 -픢 -픢 - -픣 -픣 -픣 -픣 -픣 - -픤 -픤 -픤 -픤 -픤 - -픥 -픥 -픥 -픥 -픥 - -픦 -픦 -픦 -픦 -픦 - -픧 -픧 -픧 -픧 -픧 - -픨 -픨 -픨 -픨 -픨 - -픩 -픩 -픩 -픩 -픩 - -픪 -픪 -픪 -픪 -픪 - -픫 -픫 -픫 -픫 -픫 - -픬 -픬 -픬 -픬 -픬 - -픭 -픭 -픭 -픭 -픭 - -픮 -픮 -픮 -픮 -픮 - -픯 -픯 -픯 -픯 -픯 - -픰 -픰 -픰 -픰 -픰 - -픱 -픱 -픱 -픱 -픱 - -픲 -픲 -픲 -픲 -픲 - -픳 -픳 -픳 -픳 -픳 - -픴 -픴 -픴 -픴 -픴 - -픵 -픵 -픵 -픵 -픵 - -픶 -픶 -픶 -픶 -픶 - -픷 -픷 -픷 -픷 -픷 - -픸 -픸 -픸 -픸 -픸 - -픹 -픹 -픹 -픹 -픹 - -픺 -픺 -픺 -픺 -픺 - -픻 -픻 -픻 -픻 -픻 - -피 -피 -피 -피 -피 - -픽 -픽 -픽 -픽 -픽 - -픾 -픾 -픾 -픾 -픾 - -픿 -픿 -픿 -픿 -픿 - -핀 -핀 -핀 -핀 -핀 - -핁 -핁 -핁 -핁 -핁 - -핂 -핂 -핂 -핂 -핂 - -핃 -핃 -핃 -핃 -핃 - -필 -필 -필 -필 -필 - -핅 -핅 -핅 -핅 -핅 - -핆 -핆 -핆 -핆 -핆 - -핇 -핇 -핇 -핇 -핇 - -핈 -핈 -핈 -핈 -핈 - -핉 -핉 -핉 -핉 -핉 - -핊 -핊 -핊 -핊 -핊 - -핋 -핋 -핋 -핋 -핋 - -핌 -핌 -핌 -핌 -핌 - -핍 -핍 -핍 -핍 -핍 - -핎 -핎 -핎 -핎 -핎 - -핏 -핏 -핏 -핏 -핏 - -핐 -핐 -핐 -핐 -핐 - -핑 -핑 -핑 -핑 -핑 - -핒 -핒 -핒 -핒 -핒 - -핓 -핓 -핓 -핓 -핓 - -핔 -핔 -핔 -핔 -핔 - -핕 -핕 -핕 -핕 -핕 - -핖 -핖 -핖 -핖 -핖 - -핗 -핗 -핗 -핗 -핗 - -하 -하 -하 -하 -하 - -학 -학 -학 -학 -학 - -핚 -핚 -핚 -핚 -핚 - -핛 -핛 -핛 -핛 -핛 - -한 -한 -한 -한 -한 - -핝 -핝 -핝 -핝 -핝 - -핞 -핞 -핞 -핞 -핞 - -핟 -핟 -핟 -핟 -핟 - -할 -할 -할 -할 -할 - -핡 -핡 -핡 -핡 -핡 - -핢 -핢 -핢 -핢 -핢 - -핣 -핣 -핣 -핣 -핣 - -핤 -핤 -핤 -핤 -핤 - -핥 -핥 -핥 -핥 -핥 - -핦 -핦 -핦 -핦 -핦 - -핧 -핧 -핧 -핧 -핧 - -함 -함 -함 -함 -함 - -합 -합 -합 -합 -합 - -핪 -핪 -핪 -핪 -핪 - -핫 -핫 -핫 -핫 -핫 - -핬 -핬 -핬 -핬 -핬 - -항 -항 -항 -항 -항 - -핮 -핮 -핮 -핮 -핮 - -핯 -핯 -핯 -핯 -핯 - -핰 -핰 -핰 -핰 -핰 - -핱 -핱 -핱 -핱 -핱 - -핲 -핲 -핲 -핲 -핲 - -핳 -핳 -핳 -핳 -핳 - -해 -해 -해 -해 -해 - -핵 -핵 -핵 -핵 -핵 - -핶 -핶 -핶 -핶 -핶 - -핷 -핷 -핷 -핷 -핷 - -핸 -핸 -핸 -핸 -핸 - -핹 -핹 -핹 -핹 -핹 - -핺 -핺 -핺 -핺 -핺 - -핻 -핻 -핻 -핻 -핻 - -핼 -핼 -핼 -핼 -핼 - -핽 -핽 -핽 -핽 -핽 - -핾 -핾 -핾 -핾 -핾 - -핿 -핿 -핿 -핿 -핿 - -햀 -햀 -햀 -햀 -햀 - -햁 -햁 -햁 -햁 -햁 - -햂 -햂 -햂 -햂 -햂 - -햃 -햃 -햃 -햃 -햃 - -햄 -햄 -햄 -햄 -햄 - -햅 -햅 -햅 -햅 -햅 - -햆 -햆 -햆 -햆 -햆 - -햇 -햇 -햇 -햇 -햇 - -했 -했 -했 -했 -했 - -행 -행 -행 -행 -행 - -햊 -햊 -햊 -햊 -햊 - -햋 -햋 -햋 -햋 -햋 - -햌 -햌 -햌 -햌 -햌 - -햍 -햍 -햍 -햍 -햍 - -햎 -햎 -햎 -햎 -햎 - -햏 -햏 -햏 -햏 -햏 - -햐 -햐 -햐 -햐 -햐 - -햑 -햑 -햑 -햑 -햑 - -햒 -햒 -햒 -햒 -햒 - -햓 -햓 -햓 -햓 -햓 - -햔 -햔 -햔 -햔 -햔 - -햕 -햕 -햕 -햕 -햕 - -햖 -햖 -햖 -햖 -햖 - -햗 -햗 -햗 -햗 -햗 - -햘 -햘 -햘 -햘 -햘 - -햙 -햙 -햙 -햙 -햙 - -햚 -햚 -햚 -햚 -햚 - -햛 -햛 -햛 -햛 -햛 - -햜 -햜 -햜 -햜 -햜 - -햝 -햝 -햝 -햝 -햝 - -햞 -햞 -햞 -햞 -햞 - -햟 -햟 -햟 -햟 -햟 - -햠 -햠 -햠 -햠 -햠 - -햡 -햡 -햡 -햡 -햡 - -햢 -햢 -햢 -햢 -햢 - -햣 -햣 -햣 -햣 -햣 - -햤 -햤 -햤 -햤 -햤 - -향 -향 -향 -향 -향 - -햦 -햦 -햦 -햦 -햦 - -햧 -햧 -햧 -햧 -햧 - -햨 -햨 -햨 -햨 -햨 - -햩 -햩 -햩 -햩 -햩 - -햪 -햪 -햪 -햪 -햪 - -햫 -햫 -햫 -햫 -햫 - -햬 -햬 -햬 -햬 -햬 - -햭 -햭 -햭 -햭 -햭 - -햮 -햮 -햮 -햮 -햮 - -햯 -햯 -햯 -햯 -햯 - -햰 -햰 -햰 -햰 -햰 - -햱 -햱 -햱 -햱 -햱 - -햲 -햲 -햲 -햲 -햲 - -햳 -햳 -햳 -햳 -햳 - -햴 -햴 -햴 -햴 -햴 - -햵 -햵 -햵 -햵 -햵 - -햶 -햶 -햶 -햶 -햶 - -햷 -햷 -햷 -햷 -햷 - -햸 -햸 -햸 -햸 -햸 - -햹 -햹 -햹 -햹 -햹 - -햺 -햺 -햺 -햺 -햺 - -햻 -햻 -햻 -햻 -햻 - -햼 -햼 -햼 -햼 -햼 - -햽 -햽 -햽 -햽 -햽 - -햾 -햾 -햾 -햾 -햾 - -햿 -햿 -햿 -햿 -햿 - -헀 -헀 -헀 -헀 -헀 - -헁 -헁 -헁 -헁 -헁 - -헂 -헂 -헂 -헂 -헂 - -헃 -헃 -헃 -헃 -헃 - -헄 -헄 -헄 -헄 -헄 - -헅 -헅 -헅 -헅 -헅 - -헆 -헆 -헆 -헆 -헆 - -헇 -헇 -헇 -헇 -헇 - -허 -허 -허 -허 -허 - -헉 -헉 -헉 -헉 -헉 - -헊 -헊 -헊 -헊 -헊 - -헋 -헋 -헋 -헋 -헋 - -헌 -헌 -헌 -헌 -헌 - -헍 -헍 -헍 -헍 -헍 - -헎 -헎 -헎 -헎 -헎 - -헏 -헏 -헏 -헏 -헏 - -헐 -헐 -헐 -헐 -헐 - -헑 -헑 -헑 -헑 -헑 - -헒 -헒 -헒 -헒 -헒 - -헓 -헓 -헓 -헓 -헓 - -헔 -헔 -헔 -헔 -헔 - -헕 -헕 -헕 -헕 -헕 - -헖 -헖 -헖 -헖 -헖 - -헗 -헗 -헗 -헗 -헗 - -험 -험 -험 -험 -험 - -헙 -헙 -헙 -헙 -헙 - -헚 -헚 -헚 -헚 -헚 - -헛 -헛 -헛 -헛 -헛 - -헜 -헜 -헜 -헜 -헜 - -헝 -헝 -헝 -헝 -헝 - -헞 -헞 -헞 -헞 -헞 - -헟 -헟 -헟 -헟 -헟 - -헠 -헠 -헠 -헠 -헠 - -헡 -헡 -헡 -헡 -헡 - -헢 -헢 -헢 -헢 -헢 - -헣 -헣 -헣 -헣 -헣 - -헤 -헤 -헤 -헤 -헤 - -헥 -헥 -헥 -헥 -헥 - -헦 -헦 -헦 -헦 -헦 - -헧 -헧 -헧 -헧 -헧 - -헨 -헨 -헨 -헨 -헨 - -헩 -헩 -헩 -헩 -헩 - -헪 -헪 -헪 -헪 -헪 - -헫 -헫 -헫 -헫 -헫 - -헬 -헬 -헬 -헬 -헬 - -헭 -헭 -헭 -헭 -헭 - -헮 -헮 -헮 -헮 -헮 - -헯 -헯 -헯 -헯 -헯 - -헰 -헰 -헰 -헰 -헰 - -헱 -헱 -헱 -헱 -헱 - -헲 -헲 -헲 -헲 -헲 - -헳 -헳 -헳 -헳 -헳 - -헴 -헴 -헴 -헴 -헴 - -헵 -헵 -헵 -헵 -헵 - -헶 -헶 -헶 -헶 -헶 - -헷 -헷 -헷 -헷 -헷 - -헸 -헸 -헸 -헸 -헸 - -헹 -헹 -헹 -헹 -헹 - -헺 -헺 -헺 -헺 -헺 - -헻 -헻 -헻 -헻 -헻 - -헼 -헼 -헼 -헼 -헼 - -헽 -헽 -헽 -헽 -헽 - -헾 -헾 -헾 -헾 -헾 - -헿 -헿 -헿 -헿 -헿 - -혀 -혀 -혀 -혀 -혀 - -혁 -혁 -혁 -혁 -혁 - -혂 -혂 -혂 -혂 -혂 - -혃 -혃 -혃 -혃 -혃 - -현 -현 -현 -현 -현 - -혅 -혅 -혅 -혅 -혅 - -혆 -혆 -혆 -혆 -혆 - -혇 -혇 -혇 -혇 -혇 - -혈 -혈 -혈 -혈 -혈 - -혉 -혉 -혉 -혉 -혉 - -혊 -혊 -혊 -혊 -혊 - -혋 -혋 -혋 -혋 -혋 - -혌 -혌 -혌 -혌 -혌 - -혍 -혍 -혍 -혍 -혍 - -혎 -혎 -혎 -혎 -혎 - -혏 -혏 -혏 -혏 -혏 - -혐 -혐 -혐 -혐 -혐 - -협 -협 -협 -협 -협 - -혒 -혒 -혒 -혒 -혒 - -혓 -혓 -혓 -혓 -혓 - -혔 -혔 -혔 -혔 -혔 - -형 -형 -형 -형 -형 - -혖 -혖 -혖 -혖 -혖 - -혗 -혗 -혗 -혗 -혗 - -혘 -혘 -혘 -혘 -혘 - -혙 -혙 -혙 -혙 -혙 - -혚 -혚 -혚 -혚 -혚 - -혛 -혛 -혛 -혛 -혛 - -혜 -혜 -혜 -혜 -혜 - -혝 -혝 -혝 -혝 -혝 - -혞 -혞 -혞 -혞 -혞 - -혟 -혟 -혟 -혟 -혟 - -혠 -혠 -혠 -혠 -혠 - -혡 -혡 -혡 -혡 -혡 - -혢 -혢 -혢 -혢 -혢 - -혣 -혣 -혣 -혣 -혣 - -혤 -혤 -혤 -혤 -혤 - -혥 -혥 -혥 -혥 -혥 - -혦 -혦 -혦 -혦 -혦 - -혧 -혧 -혧 -혧 -혧 - -혨 -혨 -혨 -혨 -혨 - -혩 -혩 -혩 -혩 -혩 - -혪 -혪 -혪 -혪 -혪 - -혫 -혫 -혫 -혫 -혫 - -혬 -혬 -혬 -혬 -혬 - -혭 -혭 -혭 -혭 -혭 - -혮 -혮 -혮 -혮 -혮 - -혯 -혯 -혯 -혯 -혯 - -혰 -혰 -혰 -혰 -혰 - -혱 -혱 -혱 -혱 -혱 - -혲 -혲 -혲 -혲 -혲 - -혳 -혳 -혳 -혳 -혳 - -혴 -혴 -혴 -혴 -혴 - -혵 -혵 -혵 -혵 -혵 - -혶 -혶 -혶 -혶 -혶 - -혷 -혷 -혷 -혷 -혷 - -호 -호 -호 -호 -호 - -혹 -혹 -혹 -혹 -혹 - -혺 -혺 -혺 -혺 -혺 - -혻 -혻 -혻 -혻 -혻 - -혼 -혼 -혼 -혼 -혼 - -혽 -혽 -혽 -혽 -혽 - -혾 -혾 -혾 -혾 -혾 - -혿 -혿 -혿 -혿 -혿 - -홀 -홀 -홀 -홀 -홀 - -홁 -홁 -홁 -홁 -홁 - -홂 -홂 -홂 -홂 -홂 - -홃 -홃 -홃 -홃 -홃 - -홄 -홄 -홄 -홄 -홄 - -홅 -홅 -홅 -홅 -홅 - -홆 -홆 -홆 -홆 -홆 - -홇 -홇 -홇 -홇 -홇 - -홈 -홈 -홈 -홈 -홈 - -홉 -홉 -홉 -홉 -홉 - -홊 -홊 -홊 -홊 -홊 - -홋 -홋 -홋 -홋 -홋 - -홌 -홌 -홌 -홌 -홌 - -홍 -홍 -홍 -홍 -홍 - -홎 -홎 -홎 -홎 -홎 - -홏 -홏 -홏 -홏 -홏 - -홐 -홐 -홐 -홐 -홐 - -홑 -홑 -홑 -홑 -홑 - -홒 -홒 -홒 -홒 -홒 - -홓 -홓 -홓 -홓 -홓 - -화 -화 -화 -화 -화 - -확 -확 -확 -확 -확 - -홖 -홖 -홖 -홖 -홖 - -홗 -홗 -홗 -홗 -홗 - -환 -환 -환 -환 -환 - -홙 -홙 -홙 -홙 -홙 - -홚 -홚 -홚 -홚 -홚 - -홛 -홛 -홛 -홛 -홛 - -활 -활 -활 -활 -활 - -홝 -홝 -홝 -홝 -홝 - -홞 -홞 -홞 -홞 -홞 - -홟 -홟 -홟 -홟 -홟 - -홠 -홠 -홠 -홠 -홠 - -홡 -홡 -홡 -홡 -홡 - -홢 -홢 -홢 -홢 -홢 - -홣 -홣 -홣 -홣 -홣 - -홤 -홤 -홤 -홤 -홤 - -홥 -홥 -홥 -홥 -홥 - -홦 -홦 -홦 -홦 -홦 - -홧 -홧 -홧 -홧 -홧 - -홨 -홨 -홨 -홨 -홨 - -황 -황 -황 -황 -황 - -홪 -홪 -홪 -홪 -홪 - -홫 -홫 -홫 -홫 -홫 - -홬 -홬 -홬 -홬 -홬 - -홭 -홭 -홭 -홭 -홭 - -홮 -홮 -홮 -홮 -홮 - -홯 -홯 -홯 -홯 -홯 - -홰 -홰 -홰 -홰 -홰 - -홱 -홱 -홱 -홱 -홱 - -홲 -홲 -홲 -홲 -홲 - -홳 -홳 -홳 -홳 -홳 - -홴 -홴 -홴 -홴 -홴 - -홵 -홵 -홵 -홵 -홵 - -홶 -홶 -홶 -홶 -홶 - -홷 -홷 -홷 -홷 -홷 - -홸 -홸 -홸 -홸 -홸 - -홹 -홹 -홹 -홹 -홹 - -홺 -홺 -홺 -홺 -홺 - -홻 -홻 -홻 -홻 -홻 - -홼 -홼 -홼 -홼 -홼 - -홽 -홽 -홽 -홽 -홽 - -홾 -홾 -홾 -홾 -홾 - -홿 -홿 -홿 -홿 -홿 - -횀 -횀 -횀 -횀 -횀 - -횁 -횁 -횁 -횁 -횁 - -횂 -횂 -횂 -횂 -횂 - -횃 -횃 -횃 -횃 -횃 - -횄 -횄 -횄 -횄 -횄 - -횅 -횅 -횅 -횅 -횅 - -횆 -횆 -횆 -횆 -횆 - -횇 -횇 -횇 -횇 -횇 - -횈 -횈 -횈 -횈 -횈 - -횉 -횉 -횉 -횉 -횉 - -횊 -횊 -횊 -횊 -횊 - -횋 -횋 -횋 -횋 -횋 - -회 -회 -회 -회 -회 - -획 -획 -획 -획 -획 - -횎 -횎 -횎 -횎 -횎 - -횏 -횏 -횏 -횏 -횏 - -횐 -횐 -횐 -횐 -횐 - -횑 -횑 -횑 -횑 -횑 - -횒 -횒 -횒 -횒 -횒 - -횓 -횓 -횓 -횓 -횓 - -횔 -횔 -횔 -횔 -횔 - -횕 -횕 -횕 -횕 -횕 - -횖 -횖 -횖 -횖 -횖 - -횗 -횗 -횗 -횗 -횗 - -횘 -횘 -횘 -횘 -횘 - -횙 -횙 -횙 -횙 -횙 - -횚 -횚 -횚 -횚 -횚 - -횛 -횛 -횛 -횛 -횛 - -횜 -횜 -횜 -횜 -횜 - -횝 -횝 -횝 -횝 -횝 - -횞 -횞 -횞 -횞 -횞 - -횟 -횟 -횟 -횟 -횟 - -횠 -횠 -횠 -횠 -횠 - -횡 -횡 -횡 -횡 -횡 - -횢 -횢 -횢 -횢 -횢 - -횣 -횣 -횣 -횣 -횣 - -횤 -횤 -횤 -횤 -횤 - -횥 -횥 -횥 -횥 -횥 - -횦 -횦 -횦 -횦 -횦 - -횧 -횧 -횧 -횧 -횧 - -효 -효 -효 -효 -효 - -횩 -횩 -횩 -횩 -횩 - -횪 -횪 -횪 -횪 -횪 - -횫 -횫 -횫 -횫 -횫 - -횬 -횬 -횬 -횬 -횬 - -횭 -횭 -횭 -횭 -횭 - -횮 -횮 -횮 -횮 -횮 - -횯 -횯 -횯 -횯 -횯 - -횰 -횰 -횰 -횰 -횰 - -횱 -횱 -횱 -횱 -횱 - -횲 -횲 -횲 -횲 -횲 - -횳 -횳 -횳 -횳 -횳 - -횴 -횴 -횴 -횴 -횴 - -횵 -횵 -횵 -횵 -횵 - -횶 -횶 -횶 -횶 -횶 - -횷 -횷 -횷 -횷 -횷 - -횸 -횸 -횸 -횸 -횸 - -횹 -횹 -횹 -횹 -횹 - -횺 -횺 -횺 -횺 -횺 - -횻 -횻 -횻 -횻 -횻 - -횼 -횼 -횼 -횼 -횼 - -횽 -횽 -횽 -횽 -횽 - -횾 -횾 -횾 -횾 -횾 - -횿 -횿 -횿 -횿 -횿 - -훀 -훀 -훀 -훀 -훀 - -훁 -훁 -훁 -훁 -훁 - -훂 -훂 -훂 -훂 -훂 - -훃 -훃 -훃 -훃 -훃 - -후 -후 -후 -후 -후 - -훅 -훅 -훅 -훅 -훅 - -훆 -훆 -훆 -훆 -훆 - -훇 -훇 -훇 -훇 -훇 - -훈 -훈 -훈 -훈 -훈 - -훉 -훉 -훉 -훉 -훉 - -훊 -훊 -훊 -훊 -훊 - -훋 -훋 -훋 -훋 -훋 - -훌 -훌 -훌 -훌 -훌 - -훍 -훍 -훍 -훍 -훍 - -훎 -훎 -훎 -훎 -훎 - -훏 -훏 -훏 -훏 -훏 - -훐 -훐 -훐 -훐 -훐 - -훑 -훑 -훑 -훑 -훑 - -훒 -훒 -훒 -훒 -훒 - -훓 -훓 -훓 -훓 -훓 - -훔 -훔 -훔 -훔 -훔 - -훕 -훕 -훕 -훕 -훕 - -훖 -훖 -훖 -훖 -훖 - -훗 -훗 -훗 -훗 -훗 - -훘 -훘 -훘 -훘 -훘 - -훙 -훙 -훙 -훙 -훙 - -훚 -훚 -훚 -훚 -훚 - -훛 -훛 -훛 -훛 -훛 - -훜 -훜 -훜 -훜 -훜 - -훝 -훝 -훝 -훝 -훝 - -훞 -훞 -훞 -훞 -훞 - -훟 -훟 -훟 -훟 -훟 - -훠 -훠 -훠 -훠 -훠 - -훡 -훡 -훡 -훡 -훡 - -훢 -훢 -훢 -훢 -훢 - -훣 -훣 -훣 -훣 -훣 - -훤 -훤 -훤 -훤 -훤 - -훥 -훥 -훥 -훥 -훥 - -훦 -훦 -훦 -훦 -훦 - -훧 -훧 -훧 -훧 -훧 - -훨 -훨 -훨 -훨 -훨 - -훩 -훩 -훩 -훩 -훩 - -훪 -훪 -훪 -훪 -훪 - -훫 -훫 -훫 -훫 -훫 - -훬 -훬 -훬 -훬 -훬 - -훭 -훭 -훭 -훭 -훭 - -훮 -훮 -훮 -훮 -훮 - -훯 -훯 -훯 -훯 -훯 - -훰 -훰 -훰 -훰 -훰 - -훱 -훱 -훱 -훱 -훱 - -훲 -훲 -훲 -훲 -훲 - -훳 -훳 -훳 -훳 -훳 - -훴 -훴 -훴 -훴 -훴 - -훵 -훵 -훵 -훵 -훵 - -훶 -훶 -훶 -훶 -훶 - -훷 -훷 -훷 -훷 -훷 - -훸 -훸 -훸 -훸 -훸 - -훹 -훹 -훹 -훹 -훹 - -훺 -훺 -훺 -훺 -훺 - -훻 -훻 -훻 -훻 -훻 - -훼 -훼 -훼 -훼 -훼 - -훽 -훽 -훽 -훽 -훽 - -훾 -훾 -훾 -훾 -훾 - -훿 -훿 -훿 -훿 -훿 - -휀 -휀 -휀 -휀 -휀 - -휁 -휁 -휁 -휁 -휁 - -휂 -휂 -휂 -휂 -휂 - -휃 -휃 -휃 -휃 -휃 - -휄 -휄 -휄 -휄 -휄 - -휅 -휅 -휅 -휅 -휅 - -휆 -휆 -휆 -휆 -휆 - -휇 -휇 -휇 -휇 -휇 - -휈 -휈 -휈 -휈 -휈 - -휉 -휉 -휉 -휉 -휉 - -휊 -휊 -휊 -휊 -휊 - -휋 -휋 -휋 -휋 -휋 - -휌 -휌 -휌 -휌 -휌 - -휍 -휍 -휍 -휍 -휍 - -휎 -휎 -휎 -휎 -휎 - -휏 -휏 -휏 -휏 -휏 - -휐 -휐 -휐 -휐 -휐 - -휑 -휑 -휑 -휑 -휑 - -휒 -휒 -휒 -휒 -휒 - -휓 -휓 -휓 -휓 -휓 - -휔 -휔 -휔 -휔 -휔 - -휕 -휕 -휕 -휕 -휕 - -휖 -휖 -휖 -휖 -휖 - -휗 -휗 -휗 -휗 -휗 - -휘 -휘 -휘 -휘 -휘 - -휙 -휙 -휙 -휙 -휙 - -휚 -휚 -휚 -휚 -휚 - -휛 -휛 -휛 -휛 -휛 - -휜 -휜 -휜 -휜 -휜 - -휝 -휝 -휝 -휝 -휝 - -휞 -휞 -휞 -휞 -휞 - -휟 -휟 -휟 -휟 -휟 - -휠 -휠 -휠 -휠 -휠 - -휡 -휡 -휡 -휡 -휡 - -휢 -휢 -휢 -휢 -휢 - -휣 -휣 -휣 -휣 -휣 - -휤 -휤 -휤 -휤 -휤 - -휥 -휥 -휥 -휥 -휥 - -휦 -휦 -휦 -휦 -휦 - -휧 -휧 -휧 -휧 -휧 - -휨 -휨 -휨 -휨 -휨 - -휩 -휩 -휩 -휩 -휩 - -휪 -휪 -휪 -휪 -휪 - -휫 -휫 -휫 -휫 -휫 - -휬 -휬 -휬 -휬 -휬 - -휭 -휭 -휭 -휭 -휭 - -휮 -휮 -휮 -휮 -휮 - -휯 -휯 -휯 -휯 -휯 - -휰 -휰 -휰 -휰 -휰 - -휱 -휱 -휱 -휱 -휱 - -휲 -휲 -휲 -휲 -휲 - -휳 -휳 -휳 -휳 -휳 - -휴 -휴 -휴 -휴 -휴 - -휵 -휵 -휵 -휵 -휵 - -휶 -휶 -휶 -휶 -휶 - -휷 -휷 -휷 -휷 -휷 - -휸 -휸 -휸 -휸 -휸 - -휹 -휹 -휹 -휹 -휹 - -휺 -휺 -휺 -휺 -휺 - -휻 -휻 -휻 -휻 -휻 - -휼 -휼 -휼 -휼 -휼 - -휽 -휽 -휽 -휽 -휽 - -휾 -휾 -휾 -휾 -휾 - -휿 -휿 -휿 -휿 -휿 - -흀 -흀 -흀 -흀 -흀 - -흁 -흁 -흁 -흁 -흁 - -흂 -흂 -흂 -흂 -흂 - -흃 -흃 -흃 -흃 -흃 - -흄 -흄 -흄 -흄 -흄 - -흅 -흅 -흅 -흅 -흅 - -흆 -흆 -흆 -흆 -흆 - -흇 -흇 -흇 -흇 -흇 - -흈 -흈 -흈 -흈 -흈 - -흉 -흉 -흉 -흉 -흉 - -흊 -흊 -흊 -흊 -흊 - -흋 -흋 -흋 -흋 -흋 - -흌 -흌 -흌 -흌 -흌 - -흍 -흍 -흍 -흍 -흍 - -흎 -흎 -흎 -흎 -흎 - -흏 -흏 -흏 -흏 -흏 - -흐 -흐 -흐 -흐 -흐 - -흑 -흑 -흑 -흑 -흑 - -흒 -흒 -흒 -흒 -흒 - -흓 -흓 -흓 -흓 -흓 - -흔 -흔 -흔 -흔 -흔 - -흕 -흕 -흕 -흕 -흕 - -흖 -흖 -흖 -흖 -흖 - -흗 -흗 -흗 -흗 -흗 - -흘 -흘 -흘 -흘 -흘 - -흙 -흙 -흙 -흙 -흙 - -흚 -흚 -흚 -흚 -흚 - -흛 -흛 -흛 -흛 -흛 - -흜 -흜 -흜 -흜 -흜 - -흝 -흝 -흝 -흝 -흝 - -흞 -흞 -흞 -흞 -흞 - -흟 -흟 -흟 -흟 -흟 - -흠 -흠 -흠 -흠 -흠 - -흡 -흡 -흡 -흡 -흡 - -흢 -흢 -흢 -흢 -흢 - -흣 -흣 -흣 -흣 -흣 - -흤 -흤 -흤 -흤 -흤 - -흥 -흥 -흥 -흥 -흥 - -흦 -흦 -흦 -흦 -흦 - -흧 -흧 -흧 -흧 -흧 - -흨 -흨 -흨 -흨 -흨 - -흩 -흩 -흩 -흩 -흩 - -흪 -흪 -흪 -흪 -흪 - -흫 -흫 -흫 -흫 -흫 - -희 -희 -희 -희 -희 - -흭 -흭 -흭 -흭 -흭 - -흮 -흮 -흮 -흮 -흮 - -흯 -흯 -흯 -흯 -흯 - -흰 -흰 -흰 -흰 -흰 - -흱 -흱 -흱 -흱 -흱 - -흲 -흲 -흲 -흲 -흲 - -흳 -흳 -흳 -흳 -흳 - -흴 -흴 -흴 -흴 -흴 - -흵 -흵 -흵 -흵 -흵 - -흶 -흶 -흶 -흶 -흶 - -흷 -흷 -흷 -흷 -흷 - -흸 -흸 -흸 -흸 -흸 - -흹 -흹 -흹 -흹 -흹 - -흺 -흺 -흺 -흺 -흺 - -흻 -흻 -흻 -흻 -흻 - -흼 -흼 -흼 -흼 -흼 - -흽 -흽 -흽 -흽 -흽 - -흾 -흾 -흾 -흾 -흾 - -흿 -흿 -흿 -흿 -흿 - -힀 -힀 -힀 -힀 -힀 - -힁 -힁 -힁 -힁 -힁 - -힂 -힂 -힂 -힂 -힂 - -힃 -힃 -힃 -힃 -힃 - -힄 -힄 -힄 -힄 -힄 - -힅 -힅 -힅 -힅 -힅 - -힆 -힆 -힆 -힆 -힆 - -힇 -힇 -힇 -힇 -힇 - -히 -히 -히 -히 -히 - -힉 -힉 -힉 -힉 -힉 - -힊 -힊 -힊 -힊 -힊 - -힋 -힋 -힋 -힋 -힋 - -힌 -힌 -힌 -힌 -힌 - -힍 -힍 -힍 -힍 -힍 - -힎 -힎 -힎 -힎 -힎 - -힏 -힏 -힏 -힏 -힏 - -힐 -힐 -힐 -힐 -힐 - -힑 -힑 -힑 -힑 -힑 - -힒 -힒 -힒 -힒 -힒 - -힓 -힓 -힓 -힓 -힓 - -힔 -힔 -힔 -힔 -힔 - -힕 -힕 -힕 -힕 -힕 - -힖 -힖 -힖 -힖 -힖 - -힗 -힗 -힗 -힗 -힗 - -힘 -힘 -힘 -힘 -힘 - -힙 -힙 -힙 -힙 -힙 - -힚 -힚 -힚 -힚 -힚 - -힛 -힛 -힛 -힛 -힛 - -힜 -힜 -힜 -힜 -힜 - -힝 -힝 -힝 -힝 -힝 - -힞 -힞 -힞 -힞 -힞 - -힟 -힟 -힟 -힟 -힟 - -힠 -힠 -힠 -힠 -힠 - -힡 -힡 -힡 -힡 -힡 - -힢 -힢 -힢 -힢 -힢 - -힣 -힣 -힣 -힣 -힣 - -豈 -豈 -豈 -豈 -豈 - -更 -更 -更 -更 -更 - -車 -車 -車 -車 -車 - -賈 -賈 -賈 -賈 -賈 - -滑 -滑 -滑 -滑 -滑 - -串 -串 -串 -串 -串 - -句 -句 -句 -句 -句 - -龜 -龜 -龜 -龜 -龜 - -龜 -龜 -龜 -龜 -龜 - -契 -契 -契 -契 -契 - -金 -金 -金 -金 -金 - -喇 -喇 -喇 -喇 -喇 - -奈 -奈 -奈 -奈 -奈 - -懶 -懶 -懶 -懶 -懶 - -癩 -癩 -癩 -癩 -癩 - -羅 -羅 -羅 -羅 -羅 - -蘿 -蘿 -蘿 -蘿 -蘿 - -螺 -螺 -螺 -螺 -螺 - -裸 -裸 -裸 -裸 -裸 - -邏 -邏 -邏 -邏 -邏 - -樂 -樂 -樂 -樂 -樂 - -洛 -洛 -洛 -洛 -洛 - -烙 -烙 -烙 -烙 -烙 - -珞 -珞 -珞 -珞 -珞 - -落 -落 -落 -落 -落 - -酪 -酪 -酪 -酪 -酪 - -駱 -駱 -駱 -駱 -駱 - -亂 -亂 -亂 -亂 -亂 - -卵 -卵 -卵 -卵 -卵 - -欄 -欄 -欄 -欄 -欄 - -爛 -爛 -爛 -爛 -爛 - -蘭 -蘭 -蘭 -蘭 -蘭 - -鸞 -鸞 -鸞 -鸞 -鸞 - -嵐 -嵐 -嵐 -嵐 -嵐 - -濫 -濫 -濫 -濫 -濫 - -藍 -藍 -藍 -藍 -藍 - -襤 -襤 -襤 -襤 -襤 - -拉 -拉 -拉 -拉 -拉 - -臘 -臘 -臘 -臘 -臘 - -蠟 -蠟 -蠟 -蠟 -蠟 - -廊 -廊 -廊 -廊 -廊 - -朗 -朗 -朗 -朗 -朗 - -浪 -浪 -浪 -浪 -浪 - -狼 -狼 -狼 -狼 -狼 - -郎 -郎 -郎 -郎 -郎 - -來 -來 -來 -來 -來 - -冷 -冷 -冷 -冷 -冷 - -勞 -勞 -勞 -勞 -勞 - -擄 -擄 -擄 -擄 -擄 - -櫓 -櫓 -櫓 -櫓 -櫓 - -爐 -爐 -爐 -爐 -爐 - -盧 -盧 -盧 -盧 -盧 - -老 -老 -老 -老 -老 - -蘆 -蘆 -蘆 -蘆 -蘆 - -虜 -虜 -虜 -虜 -虜 - -路 -路 -路 -路 -路 - -露 -露 -露 -露 -露 - -魯 -魯 -魯 -魯 -魯 - -鷺 -鷺 -鷺 -鷺 -鷺 - -碌 -碌 -碌 -碌 -碌 - -祿 -祿 -祿 -祿 -祿 - -綠 -綠 -綠 -綠 -綠 - -菉 -菉 -菉 -菉 -菉 - -錄 -錄 -錄 -錄 -錄 - -鹿 -鹿 -鹿 -鹿 -鹿 - -論 -論 -論 -論 -論 - -壟 -壟 -壟 -壟 -壟 - -弄 -弄 -弄 -弄 -弄 - -籠 -籠 -籠 -籠 -籠 - -聾 -聾 -聾 -聾 -聾 - -牢 -牢 -牢 -牢 -牢 - -磊 -磊 -磊 -磊 -磊 - -賂 -賂 -賂 -賂 -賂 - -雷 -雷 -雷 -雷 -雷 - -壘 -壘 -壘 -壘 -壘 - -屢 -屢 -屢 -屢 -屢 - -樓 -樓 -樓 -樓 -樓 - -淚 -淚 -淚 -淚 -淚 - -漏 -漏 -漏 -漏 -漏 - -累 -累 -累 -累 -累 - -縷 -縷 -縷 -縷 -縷 - -陋 -陋 -陋 -陋 -陋 - -勒 -勒 -勒 -勒 -勒 - -肋 -肋 -肋 -肋 -肋 - -凜 -凜 -凜 -凜 -凜 - -凌 -凌 -凌 -凌 -凌 - -稜 -稜 -稜 -稜 -稜 - -綾 -綾 -綾 -綾 -綾 - -菱 -菱 -菱 -菱 -菱 - -陵 -陵 -陵 -陵 -陵 - -讀 -讀 -讀 -讀 -讀 - -拏 -拏 -拏 -拏 -拏 - -樂 -樂 -樂 -樂 -樂 - -諾 -諾 -諾 -諾 -諾 - -丹 -丹 -丹 -丹 -丹 - -寧 -寧 -寧 -寧 -寧 - -怒 -怒 -怒 -怒 -怒 - -率 -率 -率 -率 -率 - -異 -異 -異 -異 -異 - -北 -北 -北 -北 -北 - -磻 -磻 -磻 -磻 -磻 - -便 -便 -便 -便 -便 - -復 -復 -復 -復 -復 - -不 -不 -不 -不 -不 - -泌 -泌 -泌 -泌 -泌 - -數 -數 -數 -數 -數 - -索 -索 -索 -索 -索 - -參 -參 -參 -參 -參 - -塞 -塞 -塞 -塞 -塞 - -省 -省 -省 -省 -省 - -葉 -葉 -葉 -葉 -葉 - -說 -說 -說 -說 -說 - -殺 -殺 -殺 -殺 -殺 - -辰 -辰 -辰 -辰 -辰 - -沈 -沈 -沈 -沈 -沈 - -拾 -拾 -拾 -拾 -拾 - -若 -若 -若 -若 -若 - -掠 -掠 -掠 -掠 -掠 - -略 -略 -略 -略 -略 - -亮 -亮 -亮 -亮 -亮 - -兩 -兩 -兩 -兩 -兩 - -凉 -凉 -凉 -凉 -凉 - -梁 -梁 -梁 -梁 -梁 - -糧 -糧 -糧 -糧 -糧 - -良 -良 -良 -良 -良 - -諒 -諒 -諒 -諒 -諒 - -量 -量 -量 -量 -量 - -勵 -勵 -勵 -勵 -勵 - -呂 -呂 -呂 -呂 -呂 - -女 -女 -女 -女 -女 - -廬 -廬 -廬 -廬 -廬 - -旅 -旅 -旅 -旅 -旅 - -濾 -濾 -濾 -濾 -濾 - -礪 -礪 -礪 -礪 -礪 - -閭 -閭 -閭 -閭 -閭 - -驪 -驪 -驪 -驪 -驪 - -麗 -麗 -麗 -麗 -麗 - -黎 -黎 -黎 -黎 -黎 - -力 -力 -力 -力 -力 - -曆 -曆 -曆 -曆 -曆 - -歷 -歷 -歷 -歷 -歷 - -轢 -轢 -轢 -轢 -轢 - -年 -年 -年 -年 -年 - -憐 -憐 -憐 -憐 -憐 - -戀 -戀 -戀 -戀 -戀 - -撚 -撚 -撚 -撚 -撚 - -漣 -漣 -漣 -漣 -漣 - -煉 -煉 -煉 -煉 -煉 - -璉 -璉 -璉 -璉 -璉 - -秊 -秊 -秊 -秊 -秊 - -練 -練 -練 -練 -練 - -聯 -聯 -聯 -聯 -聯 - -輦 -輦 -輦 -輦 -輦 - -蓮 -蓮 -蓮 -蓮 -蓮 - -連 -連 -連 -連 -連 - -鍊 -鍊 -鍊 -鍊 -鍊 - -列 -列 -列 -列 -列 - -劣 -劣 -劣 -劣 -劣 - -咽 -咽 -咽 -咽 -咽 - -烈 -烈 -烈 -烈 -烈 - -裂 -裂 -裂 -裂 -裂 - -說 -說 -說 -說 -說 - -廉 -廉 -廉 -廉 -廉 - -念 -念 -念 -念 -念 - -捻 -捻 -捻 -捻 -捻 - -殮 -殮 -殮 -殮 -殮 - -簾 -簾 -簾 -簾 -簾 - -獵 -獵 -獵 -獵 -獵 - -令 -令 -令 -令 -令 - -囹 -囹 -囹 -囹 -囹 - -寧 -寧 -寧 -寧 -寧 - -嶺 -嶺 -嶺 -嶺 -嶺 - -怜 -怜 -怜 -怜 -怜 - -玲 -玲 -玲 -玲 -玲 - -瑩 -瑩 -瑩 -瑩 -瑩 - -羚 -羚 -羚 -羚 -羚 - -聆 -聆 -聆 -聆 -聆 - -鈴 -鈴 -鈴 -鈴 -鈴 - -零 -零 -零 -零 -零 - -靈 -靈 -靈 -靈 -靈 - -領 -領 -領 -領 -領 - -例 -例 -例 -例 -例 - -禮 -禮 -禮 -禮 -禮 - -醴 -醴 -醴 -醴 -醴 - -隸 -隸 -隸 -隸 -隸 - -惡 -惡 -惡 -惡 -惡 - -了 -了 -了 -了 -了 - -僚 -僚 -僚 -僚 -僚 - -寮 -寮 -寮 -寮 -寮 - -尿 -尿 -尿 -尿 -尿 - -料 -料 -料 -料 -料 - -樂 -樂 -樂 -樂 -樂 - -燎 -燎 -燎 -燎 -燎 - -療 -療 -療 -療 -療 - -蓼 -蓼 -蓼 -蓼 -蓼 - -遼 -遼 -遼 -遼 -遼 - -龍 -龍 -龍 -龍 -龍 - -暈 -暈 -暈 -暈 -暈 - -阮 -阮 -阮 -阮 -阮 - -劉 -劉 -劉 -劉 -劉 - -杻 -杻 -杻 -杻 -杻 - -柳 -柳 -柳 -柳 -柳 - -流 -流 -流 -流 -流 - -溜 -溜 -溜 -溜 -溜 - -琉 -琉 -琉 -琉 -琉 - -留 -留 -留 -留 -留 - -硫 -硫 -硫 -硫 -硫 - -紐 -紐 -紐 -紐 -紐 - -類 -類 -類 -類 -類 - -六 -六 -六 -六 -六 - -戮 -戮 -戮 -戮 -戮 - -陸 -陸 -陸 -陸 -陸 - -倫 -倫 -倫 -倫 -倫 - -崙 -崙 -崙 -崙 -崙 - -淪 -淪 -淪 -淪 -淪 - -輪 -輪 -輪 -輪 -輪 - -律 -律 -律 -律 -律 - -慄 -慄 -慄 -慄 -慄 - -栗 -栗 -栗 -栗 -栗 - -率 -率 -率 -率 -率 - -隆 -隆 -隆 -隆 -隆 - -利 -利 -利 -利 -利 - -吏 -吏 -吏 -吏 -吏 - -履 -履 -履 -履 -履 - -易 -易 -易 -易 -易 - -李 -李 -李 -李 -李 - -梨 -梨 -梨 -梨 -梨 - -泥 -泥 -泥 -泥 -泥 - -理 -理 -理 -理 -理 - -痢 -痢 -痢 -痢 -痢 - -罹 -罹 -罹 -罹 -罹 - -裏 -裏 -裏 -裏 -裏 - -裡 -裡 -裡 -裡 -裡 - -里 -里 -里 -里 -里 - -離 -離 -離 -離 -離 - -匿 -匿 -匿 -匿 -匿 - -溺 -溺 -溺 -溺 -溺 - -吝 -吝 -吝 -吝 -吝 - -燐 -燐 -燐 -燐 -燐 - -璘 -璘 -璘 -璘 -璘 - -藺 -藺 -藺 -藺 -藺 - -隣 -隣 -隣 -隣 -隣 - -鱗 -鱗 -鱗 -鱗 -鱗 - -麟 -麟 -麟 -麟 -麟 - -林 -林 -林 -林 -林 - -淋 -淋 -淋 -淋 -淋 - -臨 -臨 -臨 -臨 -臨 - -立 -立 -立 -立 -立 - -笠 -笠 -笠 -笠 -笠 - -粒 -粒 -粒 -粒 -粒 - -狀 -狀 -狀 -狀 -狀 - -炙 -炙 -炙 -炙 -炙 - -識 -識 -識 -識 -識 - -什 -什 -什 -什 -什 - -茶 -茶 -茶 -茶 -茶 - -刺 -刺 -刺 -刺 -刺 - -切 -切 -切 -切 -切 - -度 -度 -度 -度 -度 - -拓 -拓 -拓 -拓 -拓 - -糖 -糖 -糖 -糖 -糖 - -宅 -宅 -宅 -宅 -宅 - -洞 -洞 -洞 -洞 -洞 - -暴 -暴 -暴 -暴 -暴 - -輻 -輻 -輻 -輻 -輻 - -行 -行 -行 -行 -行 - -降 -降 -降 -降 -降 - -見 -見 -見 -見 -見 - -廓 -廓 -廓 -廓 -廓 - -兀 -兀 -兀 -兀 -兀 - -嗀 -嗀 -嗀 -嗀 -嗀 - -塚 -塚 -塚 -塚 -塚 - -晴 -晴 -晴 -晴 -晴 - -凞 -凞 -凞 -凞 -凞 - -猪 -猪 -猪 -猪 -猪 - -益 -益 -益 -益 -益 - -礼 -礼 -礼 -礼 -礼 - -神 -神 -神 -神 -神 - -祥 -祥 -祥 -祥 -祥 - -福 -福 -福 -福 -福 - -靖 -靖 -靖 -靖 -靖 - -精 -精 -精 -精 -精 - -羽 -羽 -羽 -羽 -羽 - -蘒 -蘒 -蘒 -蘒 -蘒 - -諸 -諸 -諸 -諸 -諸 - -逸 -逸 -逸 -逸 -逸 - -都 -都 -都 -都 -都 - -飯 -飯 -飯 -飯 -飯 - -飼 -飼 -飼 -飼 -飼 - -館 -館 -館 -館 -館 - -鶴 -鶴 -鶴 -鶴 -鶴 - -侮 -侮 -侮 -侮 -侮 - -僧 -僧 -僧 -僧 -僧 - -免 -免 -免 -免 -免 - -勉 -勉 -勉 -勉 -勉 - -勤 -勤 -勤 -勤 -勤 - -卑 -卑 -卑 -卑 -卑 - -喝 -喝 -喝 -喝 -喝 - -嘆 -嘆 -嘆 -嘆 -嘆 - -器 -器 -器 -器 -器 - -塀 -塀 -塀 -塀 -塀 - -墨 -墨 -墨 -墨 -墨 - -層 -層 -層 -層 -層 - -屮 -屮 -屮 -屮 -屮 - -悔 -悔 -悔 -悔 -悔 - -慨 -慨 -慨 -慨 -慨 - -憎 -憎 -憎 -憎 -憎 - -懲 -懲 -懲 -懲 -懲 - -敏 -敏 -敏 -敏 -敏 - -既 -既 -既 -既 -既 - -暑 -暑 -暑 -暑 -暑 - -梅 -梅 -梅 -梅 -梅 - -海 -海 -海 -海 -海 - -渚 -渚 -渚 -渚 -渚 - -漢 -漢 -漢 -漢 -漢 - -煮 -煮 -煮 -煮 -煮 - -爫 -爫 -爫 -爫 -爫 - -琢 -琢 -琢 -琢 -琢 - -碑 -碑 -碑 -碑 -碑 - -社 -社 -社 -社 -社 - -祉 -祉 -祉 -祉 -祉 - -祈 -祈 -祈 -祈 -祈 - -祐 -祐 -祐 -祐 -祐 - -祖 -祖 -祖 -祖 -祖 - -祝 -祝 -祝 -祝 -祝 - -禍 -禍 -禍 -禍 -禍 - -禎 -禎 -禎 -禎 -禎 - -穀 -穀 -穀 -穀 -穀 - -突 -突 -突 -突 -突 - -節 -節 -節 -節 -節 - -練 -練 -練 -練 -練 - -縉 -縉 -縉 -縉 -縉 - -繁 -繁 -繁 -繁 -繁 - -署 -署 -署 -署 -署 - -者 -者 -者 -者 -者 - -臭 -臭 -臭 -臭 -臭 - -艹 -艹 -艹 -艹 -艹 - -艹 -艹 -艹 -艹 -艹 - -著 -著 -著 -著 -著 - -褐 -褐 -褐 -褐 -褐 - -視 -視 -視 -視 -視 - -謁 -謁 -謁 -謁 -謁 - -謹 -謹 -謹 -謹 -謹 - -賓 -賓 -賓 -賓 -賓 - -贈 -贈 -贈 -贈 -贈 - -辶 -辶 -辶 -辶 -辶 - -逸 -逸 -逸 -逸 -逸 - -難 -難 -難 -難 -難 - -響 -響 -響 -響 -響 - -頻 -頻 -頻 -頻 -頻 - -恵 -恵 -恵 -恵 -恵 - -𤋮 -𤋮 -𤋮 -𤋮 -𤋮 - -舘 -舘 -舘 -舘 -舘 - -並 -並 -並 -並 -並 - -况 -况 -况 -况 -况 - -全 -全 -全 -全 -全 - -侀 -侀 -侀 -侀 -侀 - -充 -充 -充 -充 -充 - -冀 -冀 -冀 -冀 -冀 - -勇 -勇 -勇 -勇 -勇 - -勺 -勺 -勺 -勺 -勺 - -喝 -喝 -喝 -喝 -喝 - -啕 -啕 -啕 -啕 -啕 - -喙 -喙 -喙 -喙 -喙 - -嗢 -嗢 -嗢 -嗢 -嗢 - -塚 -塚 -塚 -塚 -塚 - -墳 -墳 -墳 -墳 -墳 - -奄 -奄 -奄 -奄 -奄 - -奔 -奔 -奔 -奔 -奔 - -婢 -婢 -婢 -婢 -婢 - -嬨 -嬨 -嬨 -嬨 -嬨 - -廒 -廒 -廒 -廒 -廒 - -廙 -廙 -廙 -廙 -廙 - -彩 -彩 -彩 -彩 -彩 - -徭 -徭 -徭 -徭 -徭 - -惘 -惘 -惘 -惘 -惘 - -慎 -慎 -慎 -慎 -慎 - -愈 -愈 -愈 -愈 -愈 - -憎 -憎 -憎 -憎 -憎 - -慠 -慠 -慠 -慠 -慠 - -懲 -懲 -懲 -懲 -懲 - -戴 -戴 -戴 -戴 -戴 - -揄 -揄 -揄 -揄 -揄 - -搜 -搜 -搜 -搜 -搜 - -摒 -摒 -摒 -摒 -摒 - -敖 -敖 -敖 -敖 -敖 - -晴 -晴 -晴 -晴 -晴 - -朗 -朗 -朗 -朗 -朗 - -望 -望 -望 -望 -望 - -杖 -杖 -杖 -杖 -杖 - -歹 -歹 -歹 -歹 -歹 - -殺 -殺 -殺 -殺 -殺 - -流 -流 -流 -流 -流 - -滛 -滛 -滛 -滛 -滛 - -滋 -滋 -滋 -滋 -滋 - -漢 -漢 -漢 -漢 -漢 - -瀞 -瀞 -瀞 -瀞 -瀞 - -煮 -煮 -煮 -煮 -煮 - -瞧 -瞧 -瞧 -瞧 -瞧 - -爵 -爵 -爵 -爵 -爵 - -犯 -犯 -犯 -犯 -犯 - -猪 -猪 -猪 -猪 -猪 - -瑱 -瑱 -瑱 -瑱 -瑱 - -甆 -甆 -甆 -甆 -甆 - -画 -画 -画 -画 -画 - -瘝 -瘝 -瘝 -瘝 -瘝 - -瘟 -瘟 -瘟 -瘟 -瘟 - -益 -益 -益 -益 -益 - -盛 -盛 -盛 -盛 -盛 - -直 -直 -直 -直 -直 - -睊 -睊 -睊 -睊 -睊 - -着 -着 -着 -着 -着 - -磌 -磌 -磌 -磌 -磌 - -窱 -窱 -窱 -窱 -窱 - -節 -節 -節 -節 -節 - -类 -类 -类 -类 -类 - -絛 -絛 -絛 -絛 -絛 - -練 -練 -練 -練 -練 - -缾 -缾 -缾 -缾 -缾 - -者 -者 -者 -者 -者 - -荒 -荒 -荒 -荒 -荒 - -華 -華 -華 -華 -華 - -蝹 -蝹 -蝹 -蝹 -蝹 - -襁 -襁 -襁 -襁 -襁 - -覆 -覆 -覆 -覆 -覆 - -視 -視 -視 -視 -視 - -調 -調 -調 -調 -調 - -諸 -諸 -諸 -諸 -諸 - -請 -請 -請 -請 -請 - -謁 -謁 -謁 -謁 -謁 - -諾 -諾 -諾 -諾 -諾 - -諭 -諭 -諭 -諭 -諭 - -謹 -謹 -謹 -謹 -謹 - -變 -變 -變 -變 -變 - -贈 -贈 -贈 -贈 -贈 - -輸 -輸 -輸 -輸 -輸 - -遲 -遲 -遲 -遲 -遲 - -醙 -醙 -醙 -醙 -醙 - -鉶 -鉶 -鉶 -鉶 -鉶 - -陼 -陼 -陼 -陼 -陼 - -難 -難 -難 -難 -難 - -靖 -靖 -靖 -靖 -靖 - -韛 -韛 -韛 -韛 -韛 - -響 -響 -響 -響 -響 - -頋 -頋 -頋 -頋 -頋 - -頻 -頻 -頻 -頻 -頻 - -鬒 -鬒 -鬒 -鬒 -鬒 - -龜 -龜 -龜 -龜 -龜 - -𢡊 -𢡊 -𢡊 -𢡊 -𢡊 - -𢡄 -𢡄 -𢡄 -𢡄 -𢡄 - -𣏕 -𣏕 -𣏕 -𣏕 -𣏕 - -㮝 -㮝 -㮝 -㮝 -㮝 - -䀘 -䀘 -䀘 -䀘 -䀘 - -䀹 -䀹 -䀹 -䀹 -䀹 - -𥉉 -𥉉 -𥉉 -𥉉 -𥉉 - -𥳐 -𥳐 -𥳐 -𥳐 -𥳐 - -𧻓 -𧻓 -𧻓 -𧻓 -𧻓 - -齃 -齃 -齃 -齃 -齃 - -龎 -龎 -龎 -龎 -龎 - -ff -ff -ff -ff -ff - -fi -fi -fi -fi -fi - -fl -fl -fl -fl -fl - -ffi -ffi -ffi -ffi -ffi - -ffl -ffl -ffl -ffl -ffl - -ſt -ſt -ſt -st -st - -st -st -st -st -st - -ﬓ -ﬓ -ﬓ -մն -մն - -ﬔ -ﬔ -ﬔ -մե -մե - -ﬕ -ﬕ -ﬕ -մի -մի - -ﬖ -ﬖ -ﬖ -վն -վն - -ﬗ -ﬗ -ﬗ -մխ -մխ - -יִ -יִ -יִ -יִ -יִ - -ײַ -ײַ -ײַ -ײַ -ײַ - -ﬠ -ﬠ -ﬠ -ע -ע - -ﬡ -ﬡ -ﬡ -א -א - -ﬢ -ﬢ -ﬢ -ד -ד - -ﬣ -ﬣ -ﬣ -ה -ה - -ﬤ -ﬤ -ﬤ -כ -כ - -ﬥ -ﬥ -ﬥ -ל -ל - -ﬦ -ﬦ -ﬦ -ם -ם - -ﬧ -ﬧ -ﬧ -ר -ר - -ﬨ -ﬨ -ﬨ -ת -ת - -﬩ -﬩ -﬩ -+ -+ - -שׁ -שׁ -שׁ -שׁ -שׁ - -שׂ -שׂ -שׂ -שׂ -שׂ - -שּׁ -שּׁ -שּׁ -שּׁ -שּׁ - -שּׂ -שּׂ -שּׂ -שּׂ -שּׂ - -אַ -אַ -אַ -אַ -אַ - -אָ -אָ -אָ -אָ -אָ - -אּ -אּ -אּ -אּ -אּ - -בּ -בּ -בּ -בּ -בּ - -גּ -גּ -גּ -גּ -גּ - -דּ -דּ -דּ -דּ -דּ - -הּ -הּ -הּ -הּ -הּ - -וּ -וּ -וּ -וּ -וּ - -זּ -זּ -זּ -זּ -זּ - -טּ -טּ -טּ -טּ -טּ - -יּ -יּ -יּ -יּ -יּ - -ךּ -ךּ -ךּ -ךּ -ךּ - -כּ -כּ -כּ -כּ -כּ - -לּ -לּ -לּ -לּ -לּ - -מּ -מּ -מּ -מּ -מּ - -נּ -נּ -נּ -נּ -נּ - -סּ -סּ -סּ -סּ -סּ - -ףּ -ףּ -ףּ -ףּ -ףּ - -פּ -פּ -פּ -פּ -פּ - -צּ -צּ -צּ -צּ -צּ - -קּ -קּ -קּ -קּ -קּ - -רּ -רּ -רּ -רּ -רּ - -שּ -שּ -שּ -שּ -שּ - -תּ -תּ -תּ -תּ -תּ - -וֹ -וֹ -וֹ -וֹ -וֹ - -בֿ -בֿ -בֿ -בֿ -בֿ - -כֿ -כֿ -כֿ -כֿ -כֿ - -פֿ -פֿ -פֿ -פֿ -פֿ - -ﭏ -ﭏ -ﭏ -אל -אל - -ﭐ -ﭐ -ﭐ -ٱ -ٱ - -ﭑ -ﭑ -ﭑ -ٱ -ٱ - -ﭒ -ﭒ -ﭒ -ٻ -ٻ - -ﭓ -ﭓ -ﭓ -ٻ -ٻ - -ﭔ -ﭔ -ﭔ -ٻ -ٻ - -ﭕ -ﭕ -ﭕ -ٻ -ٻ - -ﭖ -ﭖ -ﭖ -پ -پ - -ﭗ -ﭗ -ﭗ -پ -پ - -ﭘ -ﭘ -ﭘ -پ -پ - -ﭙ -ﭙ -ﭙ -پ -پ - -ﭚ -ﭚ -ﭚ -ڀ -ڀ - -ﭛ -ﭛ -ﭛ -ڀ -ڀ - -ﭜ -ﭜ -ﭜ -ڀ -ڀ - -ﭝ -ﭝ -ﭝ -ڀ -ڀ - -ﭞ -ﭞ -ﭞ -ٺ -ٺ - -ﭟ -ﭟ -ﭟ -ٺ -ٺ - -ﭠ -ﭠ -ﭠ -ٺ -ٺ - -ﭡ -ﭡ -ﭡ -ٺ -ٺ - -ﭢ -ﭢ -ﭢ -ٿ -ٿ - -ﭣ -ﭣ -ﭣ -ٿ -ٿ - -ﭤ -ﭤ -ﭤ -ٿ -ٿ - -ﭥ -ﭥ -ﭥ -ٿ -ٿ - -ﭦ -ﭦ -ﭦ -ٹ -ٹ - -ﭧ -ﭧ -ﭧ -ٹ -ٹ - -ﭨ -ﭨ -ﭨ -ٹ -ٹ - -ﭩ -ﭩ -ﭩ -ٹ -ٹ - -ﭪ -ﭪ -ﭪ -ڤ -ڤ - -ﭫ -ﭫ -ﭫ -ڤ -ڤ - -ﭬ -ﭬ -ﭬ -ڤ -ڤ - -ﭭ -ﭭ -ﭭ -ڤ -ڤ - -ﭮ -ﭮ -ﭮ -ڦ -ڦ - -ﭯ -ﭯ -ﭯ -ڦ -ڦ - -ﭰ -ﭰ -ﭰ -ڦ -ڦ - -ﭱ -ﭱ -ﭱ -ڦ -ڦ - -ﭲ -ﭲ -ﭲ -ڄ -ڄ - -ﭳ -ﭳ -ﭳ -ڄ -ڄ - -ﭴ -ﭴ -ﭴ -ڄ -ڄ - -ﭵ -ﭵ -ﭵ -ڄ -ڄ - -ﭶ -ﭶ -ﭶ -ڃ -ڃ - -ﭷ -ﭷ -ﭷ -ڃ -ڃ - -ﭸ -ﭸ -ﭸ -ڃ -ڃ - -ﭹ -ﭹ -ﭹ -ڃ -ڃ - -ﭺ -ﭺ -ﭺ -چ -چ - -ﭻ -ﭻ -ﭻ -چ -چ - -ﭼ -ﭼ -ﭼ -چ -چ - -ﭽ -ﭽ -ﭽ -چ -چ - -ﭾ -ﭾ -ﭾ -ڇ -ڇ - -ﭿ -ﭿ -ﭿ -ڇ -ڇ - -ﮀ -ﮀ -ﮀ -ڇ -ڇ - -ﮁ -ﮁ -ﮁ -ڇ -ڇ - -ﮂ -ﮂ -ﮂ -ڍ -ڍ - -ﮃ -ﮃ -ﮃ -ڍ -ڍ - -ﮄ -ﮄ -ﮄ -ڌ -ڌ - -ﮅ -ﮅ -ﮅ -ڌ -ڌ - -ﮆ -ﮆ -ﮆ -ڎ -ڎ - -ﮇ -ﮇ -ﮇ -ڎ -ڎ - -ﮈ -ﮈ -ﮈ -ڈ -ڈ - -ﮉ -ﮉ -ﮉ -ڈ -ڈ - -ﮊ -ﮊ -ﮊ -ژ -ژ - -ﮋ -ﮋ -ﮋ -ژ -ژ - -ﮌ -ﮌ -ﮌ -ڑ -ڑ - -ﮍ -ﮍ -ﮍ -ڑ -ڑ - -ﮎ -ﮎ -ﮎ -ک -ک - -ﮏ -ﮏ -ﮏ -ک -ک - -ﮐ -ﮐ -ﮐ -ک -ک - -ﮑ -ﮑ -ﮑ -ک -ک - -ﮒ -ﮒ -ﮒ -گ -گ - -ﮓ -ﮓ -ﮓ -گ -گ - -ﮔ -ﮔ -ﮔ -گ -گ - -ﮕ -ﮕ -ﮕ -گ -گ - -ﮖ -ﮖ -ﮖ -ڳ -ڳ - -ﮗ -ﮗ -ﮗ -ڳ -ڳ - -ﮘ -ﮘ -ﮘ -ڳ -ڳ - -ﮙ -ﮙ -ﮙ -ڳ -ڳ - -ﮚ -ﮚ -ﮚ -ڱ -ڱ - -ﮛ -ﮛ -ﮛ -ڱ -ڱ - -ﮜ -ﮜ -ﮜ -ڱ -ڱ - -ﮝ -ﮝ -ﮝ -ڱ -ڱ - -ﮞ -ﮞ -ﮞ -ں -ں - -ﮟ -ﮟ -ﮟ -ں -ں - -ﮠ -ﮠ -ﮠ -ڻ -ڻ - -ﮡ -ﮡ -ﮡ -ڻ -ڻ - -ﮢ -ﮢ -ﮢ -ڻ -ڻ - -ﮣ -ﮣ -ﮣ -ڻ -ڻ - -ﮤ -ﮤ -ﮤ -ۀ -ۀ - -ﮥ -ﮥ -ﮥ -ۀ -ۀ - -ﮦ -ﮦ -ﮦ -ہ -ہ - -ﮧ -ﮧ -ﮧ -ہ -ہ - -ﮨ -ﮨ -ﮨ -ہ -ہ - -ﮩ -ﮩ -ﮩ -ہ -ہ - -ﮪ -ﮪ -ﮪ -ھ -ھ - -ﮫ -ﮫ -ﮫ -ھ -ھ - -ﮬ -ﮬ -ﮬ -ھ -ھ - -ﮭ -ﮭ -ﮭ -ھ -ھ - -ﮮ -ﮮ -ﮮ -ے -ے - -ﮯ -ﮯ -ﮯ -ے -ے - -ﮰ -ﮰ -ﮰ -ۓ -ۓ - -ﮱ -ﮱ -ﮱ -ۓ -ۓ - -ﯓ -ﯓ -ﯓ -ڭ -ڭ - -ﯔ -ﯔ -ﯔ -ڭ -ڭ - -ﯕ -ﯕ -ﯕ -ڭ -ڭ - -ﯖ -ﯖ -ﯖ -ڭ -ڭ - -ﯗ -ﯗ -ﯗ -ۇ -ۇ - -ﯘ -ﯘ -ﯘ -ۇ -ۇ - -ﯙ -ﯙ -ﯙ -ۆ -ۆ - -ﯚ -ﯚ -ﯚ -ۆ -ۆ - -ﯛ -ﯛ -ﯛ -ۈ -ۈ - -ﯜ -ﯜ -ﯜ -ۈ -ۈ - -ﯝ -ﯝ -ﯝ -ۇٴ -ۇٴ - -ﯞ -ﯞ -ﯞ -ۋ -ۋ - -ﯟ -ﯟ -ﯟ -ۋ -ۋ - -ﯠ -ﯠ -ﯠ -ۅ -ۅ - -ﯡ -ﯡ -ﯡ -ۅ -ۅ - -ﯢ -ﯢ -ﯢ -ۉ -ۉ - -ﯣ -ﯣ -ﯣ -ۉ -ۉ - -ﯤ -ﯤ -ﯤ -ې -ې - -ﯥ -ﯥ -ﯥ -ې -ې - -ﯦ -ﯦ -ﯦ -ې -ې - -ﯧ -ﯧ -ﯧ -ې -ې - -ﯨ -ﯨ -ﯨ -ى -ى - -ﯩ -ﯩ -ﯩ -ى -ى - -ﯪ -ﯪ -ﯪ -ئا -ئا - -ﯫ -ﯫ -ﯫ -ئا -ئا - -ﯬ -ﯬ -ﯬ -ئە -ئە - -ﯭ -ﯭ -ﯭ -ئە -ئە - -ﯮ -ﯮ -ﯮ -ئو -ئو - -ﯯ -ﯯ -ﯯ -ئو -ئو - -ﯰ -ﯰ -ﯰ -ئۇ -ئۇ - -ﯱ -ﯱ -ﯱ -ئۇ -ئۇ - -ﯲ -ﯲ -ﯲ -ئۆ -ئۆ - -ﯳ -ﯳ -ﯳ -ئۆ -ئۆ - -ﯴ -ﯴ -ﯴ -ئۈ -ئۈ - -ﯵ -ﯵ -ﯵ -ئۈ -ئۈ - -ﯶ -ﯶ -ﯶ -ئې -ئې - -ﯷ -ﯷ -ﯷ -ئې -ئې - -ﯸ -ﯸ -ﯸ -ئې -ئې - -ﯹ -ﯹ -ﯹ -ئى -ئى - -ﯺ -ﯺ -ﯺ -ئى -ئى - -ﯻ -ﯻ -ﯻ -ئى -ئى - -ﯼ -ﯼ -ﯼ -ی -ی - -ﯽ -ﯽ -ﯽ -ی -ی - -ﯾ -ﯾ -ﯾ -ی -ی - -ﯿ -ﯿ -ﯿ -ی -ی - -ﰀ -ﰀ -ﰀ -ئج -ئج - -ﰁ -ﰁ -ﰁ -ئح -ئح - -ﰂ -ﰂ -ﰂ -ئم -ئم - -ﰃ -ﰃ -ﰃ -ئى -ئى - -ﰄ -ﰄ -ﰄ -ئي -ئي - -ﰅ -ﰅ -ﰅ -بج -بج - -ﰆ -ﰆ -ﰆ -بح -بح - -ﰇ -ﰇ -ﰇ -بخ -بخ - -ﰈ -ﰈ -ﰈ -بم -بم - -ﰉ -ﰉ -ﰉ -بى -بى - -ﰊ -ﰊ -ﰊ -بي -بي - -ﰋ -ﰋ -ﰋ -تج -تج - -ﰌ -ﰌ -ﰌ -تح -تح - -ﰍ -ﰍ -ﰍ -تخ -تخ - -ﰎ -ﰎ -ﰎ -تم -تم - -ﰏ -ﰏ -ﰏ -تى -تى - -ﰐ -ﰐ -ﰐ -تي -تي - -ﰑ -ﰑ -ﰑ -ثج -ثج - -ﰒ -ﰒ -ﰒ -ثم -ثم - -ﰓ -ﰓ -ﰓ -ثى -ثى - -ﰔ -ﰔ -ﰔ -ثي -ثي - -ﰕ -ﰕ -ﰕ -جح -جح - -ﰖ -ﰖ -ﰖ -جم -جم - -ﰗ -ﰗ -ﰗ -حج -حج - -ﰘ -ﰘ -ﰘ -حم -حم - -ﰙ -ﰙ -ﰙ -خج -خج - -ﰚ -ﰚ -ﰚ -خح -خح - -ﰛ -ﰛ -ﰛ -خم -خم - -ﰜ -ﰜ -ﰜ -سج -سج - -ﰝ -ﰝ -ﰝ -سح -سح - -ﰞ -ﰞ -ﰞ -سخ -سخ - -ﰟ -ﰟ -ﰟ -سم -سم - -ﰠ -ﰠ -ﰠ -صح -صح - -ﰡ -ﰡ -ﰡ -صم -صم - -ﰢ -ﰢ -ﰢ -ضج -ضج - -ﰣ -ﰣ -ﰣ -ضح -ضح - -ﰤ -ﰤ -ﰤ -ضخ -ضخ - -ﰥ -ﰥ -ﰥ -ضم -ضم - -ﰦ -ﰦ -ﰦ -طح -طح - -ﰧ -ﰧ -ﰧ -طم -طم - -ﰨ -ﰨ -ﰨ -ظم -ظم - -ﰩ -ﰩ -ﰩ -عج -عج - -ﰪ -ﰪ -ﰪ -عم -عم - -ﰫ -ﰫ -ﰫ -غج -غج - -ﰬ -ﰬ -ﰬ -غم -غم - -ﰭ -ﰭ -ﰭ -فج -فج - -ﰮ -ﰮ -ﰮ -فح -فح - -ﰯ -ﰯ -ﰯ -فخ -فخ - -ﰰ -ﰰ -ﰰ -فم -فم - -ﰱ -ﰱ -ﰱ -فى -فى - -ﰲ -ﰲ -ﰲ -في -في - -ﰳ -ﰳ -ﰳ -قح -قح - -ﰴ -ﰴ -ﰴ -قم -قم - -ﰵ -ﰵ -ﰵ -قى -قى - -ﰶ -ﰶ -ﰶ -قي -قي - -ﰷ -ﰷ -ﰷ -كا -كا - -ﰸ -ﰸ -ﰸ -كج -كج - -ﰹ -ﰹ -ﰹ -كح -كح - -ﰺ -ﰺ -ﰺ -كخ -كخ - -ﰻ -ﰻ -ﰻ -كل -كل - -ﰼ -ﰼ -ﰼ -كم -كم - -ﰽ -ﰽ -ﰽ -كى -كى - -ﰾ -ﰾ -ﰾ -كي -كي - -ﰿ -ﰿ -ﰿ -لج -لج - -ﱀ -ﱀ -ﱀ -لح -لح - -ﱁ -ﱁ -ﱁ -لخ -لخ - -ﱂ -ﱂ -ﱂ -لم -لم - -ﱃ -ﱃ -ﱃ -لى -لى - -ﱄ -ﱄ -ﱄ -لي -لي - -ﱅ -ﱅ -ﱅ -مج -مج - -ﱆ -ﱆ -ﱆ -مح -مح - -ﱇ -ﱇ -ﱇ -مخ -مخ - -ﱈ -ﱈ -ﱈ -مم -مم - -ﱉ -ﱉ -ﱉ -مى -مى - -ﱊ -ﱊ -ﱊ -مي -مي - -ﱋ -ﱋ -ﱋ -نج -نج - -ﱌ -ﱌ -ﱌ -نح -نح - -ﱍ -ﱍ -ﱍ -نخ -نخ - -ﱎ -ﱎ -ﱎ -نم -نم - -ﱏ -ﱏ -ﱏ -نى -نى - -ﱐ -ﱐ -ﱐ -ني -ني - -ﱑ -ﱑ -ﱑ -هج -هج - -ﱒ -ﱒ -ﱒ -هم -هم - -ﱓ -ﱓ -ﱓ -هى -هى - -ﱔ -ﱔ -ﱔ -هي -هي - -ﱕ -ﱕ -ﱕ -يج -يج - -ﱖ -ﱖ -ﱖ -يح -يح - -ﱗ -ﱗ -ﱗ -يخ -يخ - -ﱘ -ﱘ -ﱘ -يم -يم - -ﱙ -ﱙ -ﱙ -يى -يى - -ﱚ -ﱚ -ﱚ -يي -يي - -ﱛ -ﱛ -ﱛ -ذٰ -ذٰ - -ﱜ -ﱜ -ﱜ -رٰ -رٰ - -ﱝ -ﱝ -ﱝ -ىٰ -ىٰ - -ﱞ -ﱞ -ﱞ - ٌّ - ٌّ - -ﱟ -ﱟ -ﱟ - ٍّ - ٍّ - -ﱠ -ﱠ -ﱠ - َّ - َّ - -ﱡ -ﱡ -ﱡ - ُّ - ُّ - -ﱢ -ﱢ -ﱢ - ِّ - ِّ - -ﱣ -ﱣ -ﱣ - ّٰ - ّٰ - -ﱤ -ﱤ -ﱤ -ئر -ئر - -ﱥ -ﱥ -ﱥ -ئز -ئز - -ﱦ -ﱦ -ﱦ -ئم -ئم - -ﱧ -ﱧ -ﱧ -ئن -ئن - -ﱨ -ﱨ -ﱨ -ئى -ئى - -ﱩ -ﱩ -ﱩ -ئي -ئي - -ﱪ -ﱪ -ﱪ -بر -بر - -ﱫ -ﱫ -ﱫ -بز -بز - -ﱬ -ﱬ -ﱬ -بم -بم - -ﱭ -ﱭ -ﱭ -بن -بن - -ﱮ -ﱮ -ﱮ -بى -بى - -ﱯ -ﱯ -ﱯ -بي -بي - -ﱰ -ﱰ -ﱰ -تر -تر - -ﱱ -ﱱ -ﱱ -تز -تز - -ﱲ -ﱲ -ﱲ -تم -تم - -ﱳ -ﱳ -ﱳ -تن -تن - -ﱴ -ﱴ -ﱴ -تى -تى - -ﱵ -ﱵ -ﱵ -تي -تي - -ﱶ -ﱶ -ﱶ -ثر -ثر - -ﱷ -ﱷ -ﱷ -ثز -ثز - -ﱸ -ﱸ -ﱸ -ثم -ثم - -ﱹ -ﱹ -ﱹ -ثن -ثن - -ﱺ -ﱺ -ﱺ -ثى -ثى - -ﱻ -ﱻ -ﱻ -ثي -ثي - -ﱼ -ﱼ -ﱼ -فى -فى - -ﱽ -ﱽ -ﱽ -في -في - -ﱾ -ﱾ -ﱾ -قى -قى - -ﱿ -ﱿ -ﱿ -قي -قي - -ﲀ -ﲀ -ﲀ -كا -كا - -ﲁ -ﲁ -ﲁ -كل -كل - -ﲂ -ﲂ -ﲂ -كم -كم - -ﲃ -ﲃ -ﲃ -كى -كى - -ﲄ -ﲄ -ﲄ -كي -كي - -ﲅ -ﲅ -ﲅ -لم -لم - -ﲆ -ﲆ -ﲆ -لى -لى - -ﲇ -ﲇ -ﲇ -لي -لي - -ﲈ -ﲈ -ﲈ -ما -ما - -ﲉ -ﲉ -ﲉ -مم -مم - -ﲊ -ﲊ -ﲊ -نر -نر - -ﲋ -ﲋ -ﲋ -نز -نز - -ﲌ -ﲌ -ﲌ -نم -نم - -ﲍ -ﲍ -ﲍ -نن -نن - -ﲎ -ﲎ -ﲎ -نى -نى - -ﲏ -ﲏ -ﲏ -ني -ني - -ﲐ -ﲐ -ﲐ -ىٰ -ىٰ - -ﲑ -ﲑ -ﲑ -ير -ير - -ﲒ -ﲒ -ﲒ -يز -يز - -ﲓ -ﲓ -ﲓ -يم -يم - -ﲔ -ﲔ -ﲔ -ين -ين - -ﲕ -ﲕ -ﲕ -يى -يى - -ﲖ -ﲖ -ﲖ -يي -يي - -ﲗ -ﲗ -ﲗ -ئج -ئج - -ﲘ -ﲘ -ﲘ -ئح -ئح - -ﲙ -ﲙ -ﲙ -ئخ -ئخ - -ﲚ -ﲚ -ﲚ -ئم -ئم - -ﲛ -ﲛ -ﲛ -ئه -ئه - -ﲜ -ﲜ -ﲜ -بج -بج - -ﲝ -ﲝ -ﲝ -بح -بح - -ﲞ -ﲞ -ﲞ -بخ -بخ - -ﲟ -ﲟ -ﲟ -بم -بم - -ﲠ -ﲠ -ﲠ -به -به - -ﲡ -ﲡ -ﲡ -تج -تج - -ﲢ -ﲢ -ﲢ -تح -تح - -ﲣ -ﲣ -ﲣ -تخ -تخ - -ﲤ -ﲤ -ﲤ -تم -تم - -ﲥ -ﲥ -ﲥ -ته -ته - -ﲦ -ﲦ -ﲦ -ثم -ثم - -ﲧ -ﲧ -ﲧ -جح -جح - -ﲨ -ﲨ -ﲨ -جم -جم - -ﲩ -ﲩ -ﲩ -حج -حج - -ﲪ -ﲪ -ﲪ -حم -حم - -ﲫ -ﲫ -ﲫ -خج -خج - -ﲬ -ﲬ -ﲬ -خم -خم - -ﲭ -ﲭ -ﲭ -سج -سج - -ﲮ -ﲮ -ﲮ -سح -سح - -ﲯ -ﲯ -ﲯ -سخ -سخ - -ﲰ -ﲰ -ﲰ -سم -سم - -ﲱ -ﲱ -ﲱ -صح -صح - -ﲲ -ﲲ -ﲲ -صخ -صخ - -ﲳ -ﲳ -ﲳ -صم -صم - -ﲴ -ﲴ -ﲴ -ضج -ضج - -ﲵ -ﲵ -ﲵ -ضح -ضح - -ﲶ -ﲶ -ﲶ -ضخ -ضخ - -ﲷ -ﲷ -ﲷ -ضم -ضم - -ﲸ -ﲸ -ﲸ -طح -طح - -ﲹ -ﲹ -ﲹ -ظم -ظم - -ﲺ -ﲺ -ﲺ -عج -عج - -ﲻ -ﲻ -ﲻ -عم -عم - -ﲼ -ﲼ -ﲼ -غج -غج - -ﲽ -ﲽ -ﲽ -غم -غم - -ﲾ -ﲾ -ﲾ -فج -فج - -ﲿ -ﲿ -ﲿ -فح -فح - -ﳀ -ﳀ -ﳀ -فخ -فخ - -ﳁ -ﳁ -ﳁ -فم -فم - -ﳂ -ﳂ -ﳂ -قح -قح - -ﳃ -ﳃ -ﳃ -قم -قم - -ﳄ -ﳄ -ﳄ -كج -كج - -ﳅ -ﳅ -ﳅ -كح -كح - -ﳆ -ﳆ -ﳆ -كخ -كخ - -ﳇ -ﳇ -ﳇ -كل -كل - -ﳈ -ﳈ -ﳈ -كم -كم - -ﳉ -ﳉ -ﳉ -لج -لج - -ﳊ -ﳊ -ﳊ -لح -لح - -ﳋ -ﳋ -ﳋ -لخ -لخ - -ﳌ -ﳌ -ﳌ -لم -لم - -ﳍ -ﳍ -ﳍ -له -له - -ﳎ -ﳎ -ﳎ -مج -مج - -ﳏ -ﳏ -ﳏ -مح -مح - -ﳐ -ﳐ -ﳐ -مخ -مخ - -ﳑ -ﳑ -ﳑ -مم -مم - -ﳒ -ﳒ -ﳒ -نج -نج - -ﳓ -ﳓ -ﳓ -نح -نح - -ﳔ -ﳔ -ﳔ -نخ -نخ - -ﳕ -ﳕ -ﳕ -نم -نم - -ﳖ -ﳖ -ﳖ -نه -نه - -ﳗ -ﳗ -ﳗ -هج -هج - -ﳘ -ﳘ -ﳘ -هم -هم - -ﳙ -ﳙ -ﳙ -هٰ -هٰ - -ﳚ -ﳚ -ﳚ -يج -يج - -ﳛ -ﳛ -ﳛ -يح -يح - -ﳜ -ﳜ -ﳜ -يخ -يخ - -ﳝ -ﳝ -ﳝ -يم -يم - -ﳞ -ﳞ -ﳞ -يه -يه - -ﳟ -ﳟ -ﳟ -ئم -ئم - -ﳠ -ﳠ -ﳠ -ئه -ئه - -ﳡ -ﳡ -ﳡ -بم -بم - -ﳢ -ﳢ -ﳢ -به -به - -ﳣ -ﳣ -ﳣ -تم -تم - -ﳤ -ﳤ -ﳤ -ته -ته - -ﳥ -ﳥ -ﳥ -ثم -ثم - -ﳦ -ﳦ -ﳦ -ثه -ثه - -ﳧ -ﳧ -ﳧ -سم -سم - -ﳨ -ﳨ -ﳨ -سه -سه - -ﳩ -ﳩ -ﳩ -شم -شم - -ﳪ -ﳪ -ﳪ -شه -شه - -ﳫ -ﳫ -ﳫ -كل -كل - -ﳬ -ﳬ -ﳬ -كم -كم - -ﳭ -ﳭ -ﳭ -لم -لم - -ﳮ -ﳮ -ﳮ -نم -نم - -ﳯ -ﳯ -ﳯ -نه -نه - -ﳰ -ﳰ -ﳰ -يم -يم - -ﳱ -ﳱ -ﳱ -يه -يه - -ﳲ -ﳲ -ﳲ -ـَّ -ـَّ - -ﳳ -ﳳ -ﳳ -ـُّ -ـُّ - -ﳴ -ﳴ -ﳴ -ـِّ -ـِّ - -ﳵ -ﳵ -ﳵ -طى -طى - -ﳶ -ﳶ -ﳶ -طي -طي - -ﳷ -ﳷ -ﳷ -عى -عى - -ﳸ -ﳸ -ﳸ -عي -عي - -ﳹ -ﳹ -ﳹ -غى -غى - -ﳺ -ﳺ -ﳺ -غي -غي - -ﳻ -ﳻ -ﳻ -سى -سى - -ﳼ -ﳼ -ﳼ -سي -سي - -ﳽ -ﳽ -ﳽ -شى -شى - -ﳾ -ﳾ -ﳾ -شي -شي - -ﳿ -ﳿ -ﳿ -حى -حى - -ﴀ -ﴀ -ﴀ -حي -حي - -ﴁ -ﴁ -ﴁ -جى -جى - -ﴂ -ﴂ -ﴂ -جي -جي - -ﴃ -ﴃ -ﴃ -خى -خى - -ﴄ -ﴄ -ﴄ -خي -خي - -ﴅ -ﴅ -ﴅ -صى -صى - -ﴆ -ﴆ -ﴆ -صي -صي - -ﴇ -ﴇ -ﴇ -ضى -ضى - -ﴈ -ﴈ -ﴈ -ضي -ضي - -ﴉ -ﴉ -ﴉ -شج -شج - -ﴊ -ﴊ -ﴊ -شح -شح - -ﴋ -ﴋ -ﴋ -شخ -شخ - -ﴌ -ﴌ -ﴌ -شم -شم - -ﴍ -ﴍ -ﴍ -شر -شر - -ﴎ -ﴎ -ﴎ -سر -سر - -ﴏ -ﴏ -ﴏ -صر -صر - -ﴐ -ﴐ -ﴐ -ضر -ضر - -ﴑ -ﴑ -ﴑ -طى -طى - -ﴒ -ﴒ -ﴒ -طي -طي - -ﴓ -ﴓ -ﴓ -عى -عى - -ﴔ -ﴔ -ﴔ -عي -عي - -ﴕ -ﴕ -ﴕ -غى -غى - -ﴖ -ﴖ -ﴖ -غي -غي - -ﴗ -ﴗ -ﴗ -سى -سى - -ﴘ -ﴘ -ﴘ -سي -سي - -ﴙ -ﴙ -ﴙ -شى -شى - -ﴚ -ﴚ -ﴚ -شي -شي - -ﴛ -ﴛ -ﴛ -حى -حى - -ﴜ -ﴜ -ﴜ -حي -حي - -ﴝ -ﴝ -ﴝ -جى -جى - -ﴞ -ﴞ -ﴞ -جي -جي - -ﴟ -ﴟ -ﴟ -خى -خى - -ﴠ -ﴠ -ﴠ -خي -خي - -ﴡ -ﴡ -ﴡ -صى -صى - -ﴢ -ﴢ -ﴢ -صي -صي - -ﴣ -ﴣ -ﴣ -ضى -ضى - -ﴤ -ﴤ -ﴤ -ضي -ضي - -ﴥ -ﴥ -ﴥ -شج -شج - -ﴦ -ﴦ -ﴦ -شح -شح - -ﴧ -ﴧ -ﴧ -شخ -شخ - -ﴨ -ﴨ -ﴨ -شم -شم - -ﴩ -ﴩ -ﴩ -شر -شر - -ﴪ -ﴪ -ﴪ -سر -سر - -ﴫ -ﴫ -ﴫ -صر -صر - -ﴬ -ﴬ -ﴬ -ضر -ضر - -ﴭ -ﴭ -ﴭ -شج -شج - -ﴮ -ﴮ -ﴮ -شح -شح - -ﴯ -ﴯ -ﴯ -شخ -شخ - -ﴰ -ﴰ -ﴰ -شم -شم - -ﴱ -ﴱ -ﴱ -سه -سه - -ﴲ -ﴲ -ﴲ -شه -شه - -ﴳ -ﴳ -ﴳ -طم -طم - -ﴴ -ﴴ -ﴴ -سج -سج - -ﴵ -ﴵ -ﴵ -سح -سح - -ﴶ -ﴶ -ﴶ -سخ -سخ - -ﴷ -ﴷ -ﴷ -شج -شج - -ﴸ -ﴸ -ﴸ -شح -شح - -ﴹ -ﴹ -ﴹ -شخ -شخ - -ﴺ -ﴺ -ﴺ -طم -طم - -ﴻ -ﴻ -ﴻ -ظم -ظم - -ﴼ -ﴼ -ﴼ -اً -اً - -ﴽ -ﴽ -ﴽ -اً -اً - -ﵐ -ﵐ -ﵐ -تجم -تجم - -ﵑ -ﵑ -ﵑ -تحج -تحج - -ﵒ -ﵒ -ﵒ -تحج -تحج - -ﵓ -ﵓ -ﵓ -تحم -تحم - -ﵔ -ﵔ -ﵔ -تخم -تخم - -ﵕ -ﵕ -ﵕ -تمج -تمج - -ﵖ -ﵖ -ﵖ -تمح -تمح - -ﵗ -ﵗ -ﵗ -تمخ -تمخ - -ﵘ -ﵘ -ﵘ -جمح -جمح - -ﵙ -ﵙ -ﵙ -جمح -جمح - -ﵚ -ﵚ -ﵚ -حمي -حمي - -ﵛ -ﵛ -ﵛ -حمى -حمى - -ﵜ -ﵜ -ﵜ -سحج -سحج - -ﵝ -ﵝ -ﵝ -سجح -سجح - -ﵞ -ﵞ -ﵞ -سجى -سجى - -ﵟ -ﵟ -ﵟ -سمح -سمح - -ﵠ -ﵠ -ﵠ -سمح -سمح - -ﵡ -ﵡ -ﵡ -سمج -سمج - -ﵢ -ﵢ -ﵢ -سمم -سمم - -ﵣ -ﵣ -ﵣ -سمم -سمم - -ﵤ -ﵤ -ﵤ -صحح -صحح - -ﵥ -ﵥ -ﵥ -صحح -صحح - -ﵦ -ﵦ -ﵦ -صمم -صمم - -ﵧ -ﵧ -ﵧ -شحم -شحم - -ﵨ -ﵨ -ﵨ -شحم -شحم - -ﵩ -ﵩ -ﵩ -شجي -شجي - -ﵪ -ﵪ -ﵪ -شمخ -شمخ - -ﵫ -ﵫ -ﵫ -شمخ -شمخ - -ﵬ -ﵬ -ﵬ -شمم -شمم - -ﵭ -ﵭ -ﵭ -شمم -شمم - -ﵮ -ﵮ -ﵮ -ضحى -ضحى - -ﵯ -ﵯ -ﵯ -ضخم -ضخم - -ﵰ -ﵰ -ﵰ -ضخم -ضخم - -ﵱ -ﵱ -ﵱ -طمح -طمح - -ﵲ -ﵲ -ﵲ -طمح -طمح - -ﵳ -ﵳ -ﵳ -طمم -طمم - -ﵴ -ﵴ -ﵴ -طمي -طمي - -ﵵ -ﵵ -ﵵ -عجم -عجم - -ﵶ -ﵶ -ﵶ -عمم -عمم - -ﵷ -ﵷ -ﵷ -عمم -عمم - -ﵸ -ﵸ -ﵸ -عمى -عمى - -ﵹ -ﵹ -ﵹ -غمم -غمم - -ﵺ -ﵺ -ﵺ -غمي -غمي - -ﵻ -ﵻ -ﵻ -غمى -غمى - -ﵼ -ﵼ -ﵼ -فخم -فخم - -ﵽ -ﵽ -ﵽ -فخم -فخم - -ﵾ -ﵾ -ﵾ -قمح -قمح - -ﵿ -ﵿ -ﵿ -قمم -قمم - -ﶀ -ﶀ -ﶀ -لحم -لحم - -ﶁ -ﶁ -ﶁ -لحي -لحي - -ﶂ -ﶂ -ﶂ -لحى -لحى - -ﶃ -ﶃ -ﶃ -لجج -لجج - -ﶄ -ﶄ -ﶄ -لجج -لجج - -ﶅ -ﶅ -ﶅ -لخم -لخم - -ﶆ -ﶆ -ﶆ -لخم -لخم - -ﶇ -ﶇ -ﶇ -لمح -لمح - -ﶈ -ﶈ -ﶈ -لمح -لمح - -ﶉ -ﶉ -ﶉ -محج -محج - -ﶊ -ﶊ -ﶊ -محم -محم - -ﶋ -ﶋ -ﶋ -محي -محي - -ﶌ -ﶌ -ﶌ -مجح -مجح - -ﶍ -ﶍ -ﶍ -مجم -مجم - -ﶎ -ﶎ -ﶎ -مخج -مخج - -ﶏ -ﶏ -ﶏ -مخم -مخم - -ﶒ -ﶒ -ﶒ -مجخ -مجخ - -ﶓ -ﶓ -ﶓ -همج -همج - -ﶔ -ﶔ -ﶔ -همم -همم - -ﶕ -ﶕ -ﶕ -نحم -نحم - -ﶖ -ﶖ -ﶖ -نحى -نحى - -ﶗ -ﶗ -ﶗ -نجم -نجم - -ﶘ -ﶘ -ﶘ -نجم -نجم - -ﶙ -ﶙ -ﶙ -نجى -نجى - -ﶚ -ﶚ -ﶚ -نمي -نمي - -ﶛ -ﶛ -ﶛ -نمى -نمى - -ﶜ -ﶜ -ﶜ -يمم -يمم - -ﶝ -ﶝ -ﶝ -يمم -يمم - -ﶞ -ﶞ -ﶞ -بخي -بخي - -ﶟ -ﶟ -ﶟ -تجي -تجي - -ﶠ -ﶠ -ﶠ -تجى -تجى - -ﶡ -ﶡ -ﶡ -تخي -تخي - -ﶢ -ﶢ -ﶢ -تخى -تخى - -ﶣ -ﶣ -ﶣ -تمي -تمي - -ﶤ -ﶤ -ﶤ -تمى -تمى - -ﶥ -ﶥ -ﶥ -جمي -جمي - -ﶦ -ﶦ -ﶦ -جحى -جحى - -ﶧ -ﶧ -ﶧ -جمى -جمى - -ﶨ -ﶨ -ﶨ -سخى -سخى - -ﶩ -ﶩ -ﶩ -صحي -صحي - -ﶪ -ﶪ -ﶪ -شحي -شحي - -ﶫ -ﶫ -ﶫ -ضحي -ضحي - -ﶬ -ﶬ -ﶬ -لجي -لجي - -ﶭ -ﶭ -ﶭ -لمي -لمي - -ﶮ -ﶮ -ﶮ -يحي -يحي - -ﶯ -ﶯ -ﶯ -يجي -يجي - -ﶰ -ﶰ -ﶰ -يمي -يمي - -ﶱ -ﶱ -ﶱ -ممي -ممي - -ﶲ -ﶲ -ﶲ -قمي -قمي - -ﶳ -ﶳ -ﶳ -نحي -نحي - -ﶴ -ﶴ -ﶴ -قمح -قمح - -ﶵ -ﶵ -ﶵ -لحم -لحم - -ﶶ -ﶶ -ﶶ -عمي -عمي - -ﶷ -ﶷ -ﶷ -كمي -كمي - -ﶸ -ﶸ -ﶸ -نجح -نجح - -ﶹ -ﶹ -ﶹ -مخي -مخي - -ﶺ -ﶺ -ﶺ -لجم -لجم - -ﶻ -ﶻ -ﶻ -كمم -كمم - -ﶼ -ﶼ -ﶼ -لجم -لجم - -ﶽ -ﶽ -ﶽ -نجح -نجح - -ﶾ -ﶾ -ﶾ -جحي -جحي - -ﶿ -ﶿ -ﶿ -حجي -حجي - -ﷀ -ﷀ -ﷀ -مجي -مجي - -ﷁ -ﷁ -ﷁ -فمي -فمي - -ﷂ -ﷂ -ﷂ -بحي -بحي - -ﷃ -ﷃ -ﷃ -كمم -كمم - -ﷄ -ﷄ -ﷄ -عجم -عجم - -ﷅ -ﷅ -ﷅ -صمم -صمم - -ﷆ -ﷆ -ﷆ -سخي -سخي - -ﷇ -ﷇ -ﷇ -نجي -نجي - -ﷰ -ﷰ -ﷰ -صلے -صلے - -ﷱ -ﷱ -ﷱ -قلے -قلے - -ﷲ -ﷲ -ﷲ -الله -الله - -ﷳ -ﷳ -ﷳ -اكبر -اكبر - -ﷴ -ﷴ -ﷴ -محمد -محمد - -ﷵ -ﷵ -ﷵ -صلعم -صلعم - -ﷶ -ﷶ -ﷶ -رسول -رسول - -ﷷ -ﷷ -ﷷ -عليه -عليه - -ﷸ -ﷸ -ﷸ -وسلم -وسلم - -ﷹ -ﷹ -ﷹ -صلى -صلى - -ﷺ -ﷺ -ﷺ -صلى الله عليه وسلم -صلى الله عليه وسلم - -ﷻ -ﷻ -ﷻ -جل جلاله -جل جلاله - -﷼ -﷼ -﷼ -ریال -ریال - -︐ -︐ -︐ -, -, - -︑ -︑ -︑ -、 -、 - -︒ -︒ -︒ -。 -。 - -︓ -︓ -︓ -: -: - -︔ -︔ -︔ -; -; - -︕ -︕ -︕ -! -! - -︖ -︖ -︖ -? -? - -︗ -︗ -︗ -〖 -〖 - -︘ -︘ -︘ -〗 -〗 - -︙ -︙ -︙ -... -... - -︰ -︰ -︰ -.. -.. - -︱ -︱ -︱ -— -— - -︲ -︲ -︲ -– -– - -︳ -︳ -︳ -_ -_ - -︴ -︴ -︴ -_ -_ - -︵ -︵ -︵ -( -( - -︶ -︶ -︶ -) -) - -︷ -︷ -︷ -{ -{ - -︸ -︸ -︸ -} -} - -︹ -︹ -︹ -〔 -〔 - -︺ -︺ -︺ -〕 -〕 - -︻ -︻ -︻ -【 -【 - -︼ -︼ -︼ -】 -】 - -︽ -︽ -︽ -《 -《 - -︾ -︾ -︾ -》 -》 - -︿ -︿ -︿ -〈 -〈 - -﹀ -﹀ -﹀ -〉 -〉 - -﹁ -﹁ -﹁ -「 -「 - -﹂ -﹂ -﹂ -」 -」 - -﹃ -﹃ -﹃ -『 -『 - -﹄ -﹄ -﹄ -』 -』 - -﹇ -﹇ -﹇ -[ -[ - -﹈ -﹈ -﹈ -] -] - -﹉ -﹉ -﹉ - ̅ - ̅ - -﹊ -﹊ -﹊ - ̅ - ̅ - -﹋ -﹋ -﹋ - ̅ - ̅ - -﹌ -﹌ -﹌ - ̅ - ̅ - -﹍ -﹍ -﹍ -_ -_ - -﹎ -﹎ -﹎ -_ -_ - -﹏ -﹏ -﹏ -_ -_ - -﹐ -﹐ -﹐ -, -, - -﹑ -﹑ -﹑ -、 -、 - -﹒ -﹒ -﹒ -. -. - -﹔ -﹔ -﹔ -; -; - -﹕ -﹕ -﹕ -: -: - -﹖ -﹖ -﹖ -? -? - -﹗ -﹗ -﹗ -! -! - -﹘ -﹘ -﹘ -— -— - -﹙ -﹙ -﹙ -( -( - -﹚ -﹚ -﹚ -) -) - -﹛ -﹛ -﹛ -{ -{ - -﹜ -﹜ -﹜ -} -} - -﹝ -﹝ -﹝ -〔 -〔 - -﹞ -﹞ -﹞ -〕 -〕 - -﹟ -﹟ -﹟ -# -# - -﹠ -﹠ -﹠ -& -& - -﹡ -﹡ -﹡ -* -* - -﹢ -﹢ -﹢ -+ -+ - -﹣ -﹣ -﹣ -- -- - -﹤ -﹤ -﹤ -< -< - -﹥ -﹥ -﹥ -> -> - -﹦ -﹦ -﹦ -= -= - -﹨ -﹨ -﹨ -\ -\ - -﹩ -﹩ -﹩ -$ -$ - -﹪ -﹪ -﹪ -% -% - -﹫ -﹫ -﹫ -@ -@ - -ﹰ -ﹰ -ﹰ - ً - ً - -ﹱ -ﹱ -ﹱ -ـً -ـً - -ﹲ -ﹲ -ﹲ - ٌ - ٌ - -ﹴ -ﹴ -ﹴ - ٍ - ٍ - -ﹶ -ﹶ -ﹶ - َ - َ - -ﹷ -ﹷ -ﹷ -ـَ -ـَ - -ﹸ -ﹸ -ﹸ - ُ - ُ - -ﹹ -ﹹ -ﹹ -ـُ -ـُ - -ﹺ -ﹺ -ﹺ - ِ - ِ - -ﹻ -ﹻ -ﹻ -ـِ -ـِ - -ﹼ -ﹼ -ﹼ - ّ - ّ - -ﹽ -ﹽ -ﹽ -ـّ -ـّ - -ﹾ -ﹾ -ﹾ - ْ - ْ - -ﹿ -ﹿ -ﹿ -ـْ -ـْ - -ﺀ -ﺀ -ﺀ -ء -ء - -ﺁ -ﺁ -ﺁ -آ -آ - -ﺂ -ﺂ -ﺂ -آ -آ - -ﺃ -ﺃ -ﺃ -أ -أ - -ﺄ -ﺄ -ﺄ -أ -أ - -ﺅ -ﺅ -ﺅ -ؤ -ؤ - -ﺆ -ﺆ -ﺆ -ؤ -ؤ - -ﺇ -ﺇ -ﺇ -إ -إ - -ﺈ -ﺈ -ﺈ -إ -إ - -ﺉ -ﺉ -ﺉ -ئ -ئ - -ﺊ -ﺊ -ﺊ -ئ -ئ - -ﺋ -ﺋ -ﺋ -ئ -ئ - -ﺌ -ﺌ -ﺌ -ئ -ئ - -ﺍ -ﺍ -ﺍ -ا -ا - -ﺎ -ﺎ -ﺎ -ا -ا - -ﺏ -ﺏ -ﺏ -ب -ب - -ﺐ -ﺐ -ﺐ -ب -ب - -ﺑ -ﺑ -ﺑ -ب -ب - -ﺒ -ﺒ -ﺒ -ب -ب - -ﺓ -ﺓ -ﺓ -ة -ة - -ﺔ -ﺔ -ﺔ -ة -ة - -ﺕ -ﺕ -ﺕ -ت -ت - -ﺖ -ﺖ -ﺖ -ت -ت - -ﺗ -ﺗ -ﺗ -ت -ت - -ﺘ -ﺘ -ﺘ -ت -ت - -ﺙ -ﺙ -ﺙ -ث -ث - -ﺚ -ﺚ -ﺚ -ث -ث - -ﺛ -ﺛ -ﺛ -ث -ث - -ﺜ -ﺜ -ﺜ -ث -ث - -ﺝ -ﺝ -ﺝ -ج -ج - -ﺞ -ﺞ -ﺞ -ج -ج - -ﺟ -ﺟ -ﺟ -ج -ج - -ﺠ -ﺠ -ﺠ -ج -ج - -ﺡ -ﺡ -ﺡ -ح -ح - -ﺢ -ﺢ -ﺢ -ح -ح - -ﺣ -ﺣ -ﺣ -ح -ح - -ﺤ -ﺤ -ﺤ -ح -ح - -ﺥ -ﺥ -ﺥ -خ -خ - -ﺦ -ﺦ -ﺦ -خ -خ - -ﺧ -ﺧ -ﺧ -خ -خ - -ﺨ -ﺨ -ﺨ -خ -خ - -ﺩ -ﺩ -ﺩ -د -د - -ﺪ -ﺪ -ﺪ -د -د - -ﺫ -ﺫ -ﺫ -ذ -ذ - -ﺬ -ﺬ -ﺬ -ذ -ذ - -ﺭ -ﺭ -ﺭ -ر -ر - -ﺮ -ﺮ -ﺮ -ر -ر - -ﺯ -ﺯ -ﺯ -ز -ز - -ﺰ -ﺰ -ﺰ -ز -ز - -ﺱ -ﺱ -ﺱ -س -س - -ﺲ -ﺲ -ﺲ -س -س - -ﺳ -ﺳ -ﺳ -س -س - -ﺴ -ﺴ -ﺴ -س -س - -ﺵ -ﺵ -ﺵ -ش -ش - -ﺶ -ﺶ -ﺶ -ش -ش - -ﺷ -ﺷ -ﺷ -ش -ش - -ﺸ -ﺸ -ﺸ -ش -ش - -ﺹ -ﺹ -ﺹ -ص -ص - -ﺺ -ﺺ -ﺺ -ص -ص - -ﺻ -ﺻ -ﺻ -ص -ص - -ﺼ -ﺼ -ﺼ -ص -ص - -ﺽ -ﺽ -ﺽ -ض -ض - -ﺾ -ﺾ -ﺾ -ض -ض - -ﺿ -ﺿ -ﺿ -ض -ض - -ﻀ -ﻀ -ﻀ -ض -ض - -ﻁ -ﻁ -ﻁ -ط -ط - -ﻂ -ﻂ -ﻂ -ط -ط - -ﻃ -ﻃ -ﻃ -ط -ط - -ﻄ -ﻄ -ﻄ -ط -ط - -ﻅ -ﻅ -ﻅ -ظ -ظ - -ﻆ -ﻆ -ﻆ -ظ -ظ - -ﻇ -ﻇ -ﻇ -ظ -ظ - -ﻈ -ﻈ -ﻈ -ظ -ظ - -ﻉ -ﻉ -ﻉ -ع -ع - -ﻊ -ﻊ -ﻊ -ع -ع - -ﻋ -ﻋ -ﻋ -ع -ع - -ﻌ -ﻌ -ﻌ -ع -ع - -ﻍ -ﻍ -ﻍ -غ -غ - -ﻎ -ﻎ -ﻎ -غ -غ - -ﻏ -ﻏ -ﻏ -غ -غ - -ﻐ -ﻐ -ﻐ -غ -غ - -ﻑ -ﻑ -ﻑ -ف -ف - -ﻒ -ﻒ -ﻒ -ف -ف - -ﻓ -ﻓ -ﻓ -ف -ف - -ﻔ -ﻔ -ﻔ -ف -ف - -ﻕ -ﻕ -ﻕ -ق -ق - -ﻖ -ﻖ -ﻖ -ق -ق - -ﻗ -ﻗ -ﻗ -ق -ق - -ﻘ -ﻘ -ﻘ -ق -ق - -ﻙ -ﻙ -ﻙ -ك -ك - -ﻚ -ﻚ -ﻚ -ك -ك - -ﻛ -ﻛ -ﻛ -ك -ك - -ﻜ -ﻜ -ﻜ -ك -ك - -ﻝ -ﻝ -ﻝ -ل -ل - -ﻞ -ﻞ -ﻞ -ل -ل - -ﻟ -ﻟ -ﻟ -ل -ل - -ﻠ -ﻠ -ﻠ -ل -ل - -ﻡ -ﻡ -ﻡ -م -م - -ﻢ -ﻢ -ﻢ -م -م - -ﻣ -ﻣ -ﻣ -م -م - -ﻤ -ﻤ -ﻤ -م -م - -ﻥ -ﻥ -ﻥ -ن -ن - -ﻦ -ﻦ -ﻦ -ن -ن - -ﻧ -ﻧ -ﻧ -ن -ن - -ﻨ -ﻨ -ﻨ -ن -ن - -ﻩ -ﻩ -ﻩ -ه -ه - -ﻪ -ﻪ -ﻪ -ه -ه - -ﻫ -ﻫ -ﻫ -ه -ه - -ﻬ -ﻬ -ﻬ -ه -ه - -ﻭ -ﻭ -ﻭ -و -و - -ﻮ -ﻮ -ﻮ -و -و - -ﻯ -ﻯ -ﻯ -ى -ى - -ﻰ -ﻰ -ﻰ -ى -ى - -ﻱ -ﻱ -ﻱ -ي -ي - -ﻲ -ﻲ -ﻲ -ي -ي - -ﻳ -ﻳ -ﻳ -ي -ي - -ﻴ -ﻴ -ﻴ -ي -ي - -ﻵ -ﻵ -ﻵ -لآ -لآ - -ﻶ -ﻶ -ﻶ -لآ -لآ - -ﻷ -ﻷ -ﻷ -لأ -لأ - -ﻸ -ﻸ -ﻸ -لأ -لأ - -ﻹ -ﻹ -ﻹ -لإ -لإ - -ﻺ -ﻺ -ﻺ -لإ -لإ - -ﻻ -ﻻ -ﻻ -لا -لا - -ﻼ -ﻼ -ﻼ -لا -لا - -! -! -! -! -! - -" -" -" -" -" - -# -# -# -# -# - -$ -$ -$ -$ -$ - -% -% -% -% -% - -& -& -& -& -& - -' -' -' -' -' - -( -( -( -( -( - -) -) -) -) -) - -* -* -* -* -* - -+ -+ -+ -+ -+ - -, -, -, -, -, - -- -- -- -- -- - -. -. -. -. -. - -/ -/ -/ -/ -/ - -0 -0 -0 -0 -0 - -1 -1 -1 -1 -1 - -2 -2 -2 -2 -2 - -3 -3 -3 -3 -3 - -4 -4 -4 -4 -4 - -5 -5 -5 -5 -5 - -6 -6 -6 -6 -6 - -7 -7 -7 -7 -7 - -8 -8 -8 -8 -8 - -9 -9 -9 -9 -9 - -: -: -: -: -: - -; -; -; -; -; - -< -< -< -< -< - -= -= -= -= -= - -> -> -> -> -> - -? -? -? -? -? - -@ -@ -@ -@ -@ - -A -A -A -A -A - -B -B -B -B -B - -C -C -C -C -C - -D -D -D -D -D - -E -E -E -E -E - -F -F -F -F -F - -G -G -G -G -G - -H -H -H -H -H - -I -I -I -I -I - -J -J -J -J -J - -K -K -K -K -K - -L -L -L -L -L - -M -M -M -M -M - -N -N -N -N -N - -O -O -O -O -O - -P -P -P -P -P - -Q -Q -Q -Q -Q - -R -R -R -R -R - -S -S -S -S -S - -T -T -T -T -T - -U -U -U -U -U - -V -V -V -V -V - -W -W -W -W -W - -X -X -X -X -X - -Y -Y -Y -Y -Y - -Z -Z -Z -Z -Z - -[ -[ -[ -[ -[ - -\ -\ -\ -\ -\ - -] -] -] -] -] - -^ -^ -^ -^ -^ - -_ -_ -_ -_ -_ - -` -` -` -` -` - -a -a -a -a -a - -b -b -b -b -b - -c -c -c -c -c - -d -d -d -d -d - -e -e -e -e -e - -f -f -f -f -f - -g -g -g -g -g - -h -h -h -h -h - -i -i -i -i -i - -j -j -j -j -j - -k -k -k -k -k - -l -l -l -l -l - -m -m -m -m -m - -n -n -n -n -n - -o -o -o -o -o - -p -p -p -p -p - -q -q -q -q -q - -r -r -r -r -r - -s -s -s -s -s - -t -t -t -t -t - -u -u -u -u -u - -v -v -v -v -v - -w -w -w -w -w - -x -x -x -x -x - -y -y -y -y -y - -z -z -z -z -z - -{ -{ -{ -{ -{ - -| -| -| -| -| - -} -} -} -} -} - -~ -~ -~ -~ -~ - -⦅ -⦅ -⦅ -⦅ -⦅ - -⦆ -⦆ -⦆ -⦆ -⦆ - -。 -。 -。 -。 -。 - -「 -「 -「 -「 -「 - -」 -」 -」 -」 -」 - -、 -、 -、 -、 -、 - -・ -・ -・ -・ -・ - -ヲ -ヲ -ヲ -ヲ -ヲ - -ァ -ァ -ァ -ァ -ァ - -ィ -ィ -ィ -ィ -ィ - -ゥ -ゥ -ゥ -ゥ -ゥ - -ェ -ェ -ェ -ェ -ェ - -ォ -ォ -ォ -ォ -ォ - -ャ -ャ -ャ -ャ -ャ - -ュ -ュ -ュ -ュ -ュ - -ョ -ョ -ョ -ョ -ョ - -ッ -ッ -ッ -ッ -ッ - -ー -ー -ー -ー -ー - -ア -ア -ア -ア -ア - -イ -イ -イ -イ -イ - -ウ -ウ -ウ -ウ -ウ - -エ -エ -エ -エ -エ - -オ -オ -オ -オ -オ - -カ -カ -カ -カ -カ - -キ -キ -キ -キ -キ - -ク -ク -ク -ク -ク - -ケ -ケ -ケ -ケ -ケ - -コ -コ -コ -コ -コ - -サ -サ -サ -サ -サ - -シ -シ -シ -シ -シ - -ス -ス -ス -ス -ス - -セ -セ -セ -セ -セ - -ソ -ソ -ソ -ソ -ソ - -タ -タ -タ -タ -タ - -チ -チ -チ -チ -チ - -ツ -ツ -ツ -ツ -ツ - -テ -テ -テ -テ -テ - -ト -ト -ト -ト -ト - -ナ -ナ -ナ -ナ -ナ - -ニ -ニ -ニ -ニ -ニ - -ヌ -ヌ -ヌ -ヌ -ヌ - -ネ -ネ -ネ -ネ -ネ - -ノ -ノ -ノ -ノ -ノ - -ハ -ハ -ハ -ハ -ハ - -ヒ -ヒ -ヒ -ヒ -ヒ - -フ -フ -フ -フ -フ - -ヘ -ヘ -ヘ -ヘ -ヘ - -ホ -ホ -ホ -ホ -ホ - -マ -マ -マ -マ -マ - -ミ -ミ -ミ -ミ -ミ - -ム -ム -ム -ム -ム - -メ -メ -メ -メ -メ - -モ -モ -モ -モ -モ - -ヤ -ヤ -ヤ -ヤ -ヤ - -ユ -ユ -ユ -ユ -ユ - -ヨ -ヨ -ヨ -ヨ -ヨ - -ラ -ラ -ラ -ラ -ラ - -リ -リ -リ -リ -リ - -ル -ル -ル -ル -ル - -レ -レ -レ -レ -レ - -ロ -ロ -ロ -ロ -ロ - -ワ -ワ -ワ -ワ -ワ - -ン -ン -ン -ン -ン - -゙ -゙ -゙ -゙ -゙ - -゚ -゚ -゚ -゚ -゚ - -ᅠ -ᅠ -ᅠ -ᅠ -ᅠ - -ᄀ -ᄀ -ᄀ -ᄀ -ᄀ - -ᄁ -ᄁ -ᄁ -ᄁ -ᄁ - -ᆪ -ᆪ -ᆪ -ᆪ -ᆪ - -ᄂ -ᄂ -ᄂ -ᄂ -ᄂ - -ᆬ -ᆬ -ᆬ -ᆬ -ᆬ - -ᆭ -ᆭ -ᆭ -ᆭ -ᆭ - -ᄃ -ᄃ -ᄃ -ᄃ -ᄃ - -ᄄ -ᄄ -ᄄ -ᄄ -ᄄ - -ᄅ -ᄅ -ᄅ -ᄅ -ᄅ - -ᆰ -ᆰ -ᆰ -ᆰ -ᆰ - -ᆱ -ᆱ -ᆱ -ᆱ -ᆱ - -ᆲ -ᆲ -ᆲ -ᆲ -ᆲ - -ᆳ -ᆳ -ᆳ -ᆳ -ᆳ - -ᆴ -ᆴ -ᆴ -ᆴ -ᆴ - -ᆵ -ᆵ -ᆵ -ᆵ -ᆵ - -ᄚ -ᄚ -ᄚ -ᄚ -ᄚ - -ᄆ -ᄆ -ᄆ -ᄆ -ᄆ - -ᄇ -ᄇ -ᄇ -ᄇ -ᄇ - -ᄈ -ᄈ -ᄈ -ᄈ -ᄈ - -ᄡ -ᄡ -ᄡ -ᄡ -ᄡ - -ᄉ -ᄉ -ᄉ -ᄉ -ᄉ - -ᄊ -ᄊ -ᄊ -ᄊ -ᄊ - -ᄋ -ᄋ -ᄋ -ᄋ -ᄋ - -ᄌ -ᄌ -ᄌ -ᄌ -ᄌ - -ᄍ -ᄍ -ᄍ -ᄍ -ᄍ - -ᄎ -ᄎ -ᄎ -ᄎ -ᄎ - -ᄏ -ᄏ -ᄏ -ᄏ -ᄏ - -ᄐ -ᄐ -ᄐ -ᄐ -ᄐ - -ᄑ -ᄑ -ᄑ -ᄑ -ᄑ - -ᄒ -ᄒ -ᄒ -ᄒ -ᄒ - -ᅡ -ᅡ -ᅡ -ᅡ -ᅡ - -ᅢ -ᅢ -ᅢ -ᅢ -ᅢ - -ᅣ -ᅣ -ᅣ -ᅣ -ᅣ - -ᅤ -ᅤ -ᅤ -ᅤ -ᅤ - -ᅥ -ᅥ -ᅥ -ᅥ -ᅥ - -ᅦ -ᅦ -ᅦ -ᅦ -ᅦ - -ᅧ -ᅧ -ᅧ -ᅧ -ᅧ - -ᅨ -ᅨ -ᅨ -ᅨ -ᅨ - -ᅩ -ᅩ -ᅩ -ᅩ -ᅩ - -ᅪ -ᅪ -ᅪ -ᅪ -ᅪ - -ᅫ -ᅫ -ᅫ -ᅫ -ᅫ - -ᅬ -ᅬ -ᅬ -ᅬ -ᅬ - -ᅭ -ᅭ -ᅭ -ᅭ -ᅭ - -ᅮ -ᅮ -ᅮ -ᅮ -ᅮ - -ᅯ -ᅯ -ᅯ -ᅯ -ᅯ - -ᅰ -ᅰ -ᅰ -ᅰ -ᅰ - -ᅱ -ᅱ -ᅱ -ᅱ -ᅱ - -ᅲ -ᅲ -ᅲ -ᅲ -ᅲ - -ᅳ -ᅳ -ᅳ -ᅳ -ᅳ - -ᅴ -ᅴ -ᅴ -ᅴ -ᅴ - -ᅵ -ᅵ -ᅵ -ᅵ -ᅵ - -¢ -¢ -¢ -¢ -¢ - -£ -£ -£ -£ -£ - -¬ -¬ -¬ -¬ -¬ - - ̄ - ̄ - ̄ - ̄ - ̄ - -¦ -¦ -¦ -¦ -¦ - -¥ -¥ -¥ -¥ -¥ - -₩ -₩ -₩ -₩ -₩ - -│ -│ -│ -│ -│ - -← -← -← -← -← - -↑ -↑ -↑ -↑ -↑ - -→ -→ -→ -→ -→ - -↓ -↓ -↓ -↓ -↓ - -■ -■ -■ -■ -■ - -○ -○ -○ -○ -○ - -𑂚 -𑂚 -𑂚 -𑂚 -𑂚 - -𑂜 -𑂜 -𑂜 -𑂜 -𑂜 - -𑂫 -𑂫 -𑂫 -𑂫 -𑂫 - -𝅗𝅥 -𝅗𝅥 -𝅗𝅥 -𝅗𝅥 -𝅗𝅥 - -𝅘𝅥 -𝅘𝅥 -𝅘𝅥 -𝅘𝅥 -𝅘𝅥 - -𝅘𝅥𝅮 -𝅘𝅥𝅮 -𝅘𝅥𝅮 -𝅘𝅥𝅮 -𝅘𝅥𝅮 - -𝅘𝅥𝅯 -𝅘𝅥𝅯 -𝅘𝅥𝅯 -𝅘𝅥𝅯 -𝅘𝅥𝅯 - -𝅘𝅥𝅰 -𝅘𝅥𝅰 -𝅘𝅥𝅰 -𝅘𝅥𝅰 -𝅘𝅥𝅰 - -𝅘𝅥𝅱 -𝅘𝅥𝅱 -𝅘𝅥𝅱 -𝅘𝅥𝅱 -𝅘𝅥𝅱 - -𝅘𝅥𝅲 -𝅘𝅥𝅲 -𝅘𝅥𝅲 -𝅘𝅥𝅲 -𝅘𝅥𝅲 - -𝆹𝅥 -𝆹𝅥 -𝆹𝅥 -𝆹𝅥 -𝆹𝅥 - -𝆺𝅥 -𝆺𝅥 -𝆺𝅥 -𝆺𝅥 -𝆺𝅥 - -𝆹𝅥𝅮 -𝆹𝅥𝅮 -𝆹𝅥𝅮 -𝆹𝅥𝅮 -𝆹𝅥𝅮 - -𝆺𝅥𝅮 -𝆺𝅥𝅮 -𝆺𝅥𝅮 -𝆺𝅥𝅮 -𝆺𝅥𝅮 - -𝆹𝅥𝅯 -𝆹𝅥𝅯 -𝆹𝅥𝅯 -𝆹𝅥𝅯 -𝆹𝅥𝅯 - -𝆺𝅥𝅯 -𝆺𝅥𝅯 -𝆺𝅥𝅯 -𝆺𝅥𝅯 -𝆺𝅥𝅯 - -𝐀 -𝐀 -𝐀 -A -A - -𝐁 -𝐁 -𝐁 -B -B - -𝐂 -𝐂 -𝐂 -C -C - -𝐃 -𝐃 -𝐃 -D -D - -𝐄 -𝐄 -𝐄 -E -E - -𝐅 -𝐅 -𝐅 -F -F - -𝐆 -𝐆 -𝐆 -G -G - -𝐇 -𝐇 -𝐇 -H -H - -𝐈 -𝐈 -𝐈 -I -I - -𝐉 -𝐉 -𝐉 -J -J - -𝐊 -𝐊 -𝐊 -K -K - -𝐋 -𝐋 -𝐋 -L -L - -𝐌 -𝐌 -𝐌 -M -M - -𝐍 -𝐍 -𝐍 -N -N - -𝐎 -𝐎 -𝐎 -O -O - -𝐏 -𝐏 -𝐏 -P -P - -𝐐 -𝐐 -𝐐 -Q -Q - -𝐑 -𝐑 -𝐑 -R -R - -𝐒 -𝐒 -𝐒 -S -S - -𝐓 -𝐓 -𝐓 -T -T - -𝐔 -𝐔 -𝐔 -U -U - -𝐕 -𝐕 -𝐕 -V -V - -𝐖 -𝐖 -𝐖 -W -W - -𝐗 -𝐗 -𝐗 -X -X - -𝐘 -𝐘 -𝐘 -Y -Y - -𝐙 -𝐙 -𝐙 -Z -Z - -𝐚 -𝐚 -𝐚 -a -a - -𝐛 -𝐛 -𝐛 -b -b - -𝐜 -𝐜 -𝐜 -c -c - -𝐝 -𝐝 -𝐝 -d -d - -𝐞 -𝐞 -𝐞 -e -e - -𝐟 -𝐟 -𝐟 -f -f - -𝐠 -𝐠 -𝐠 -g -g - -𝐡 -𝐡 -𝐡 -h -h - -𝐢 -𝐢 -𝐢 -i -i - -𝐣 -𝐣 -𝐣 -j -j - -𝐤 -𝐤 -𝐤 -k -k - -𝐥 -𝐥 -𝐥 -l -l - -𝐦 -𝐦 -𝐦 -m -m - -𝐧 -𝐧 -𝐧 -n -n - -𝐨 -𝐨 -𝐨 -o -o - -𝐩 -𝐩 -𝐩 -p -p - -𝐪 -𝐪 -𝐪 -q -q - -𝐫 -𝐫 -𝐫 -r -r - -𝐬 -𝐬 -𝐬 -s -s - -𝐭 -𝐭 -𝐭 -t -t - -𝐮 -𝐮 -𝐮 -u -u - -𝐯 -𝐯 -𝐯 -v -v - -𝐰 -𝐰 -𝐰 -w -w - -𝐱 -𝐱 -𝐱 -x -x - -𝐲 -𝐲 -𝐲 -y -y - -𝐳 -𝐳 -𝐳 -z -z - -𝐴 -𝐴 -𝐴 -A -A - -𝐵 -𝐵 -𝐵 -B -B - -𝐶 -𝐶 -𝐶 -C -C - -𝐷 -𝐷 -𝐷 -D -D - -𝐸 -𝐸 -𝐸 -E -E - -𝐹 -𝐹 -𝐹 -F -F - -𝐺 -𝐺 -𝐺 -G -G - -𝐻 -𝐻 -𝐻 -H -H - -𝐼 -𝐼 -𝐼 -I -I - -𝐽 -𝐽 -𝐽 -J -J - -𝐾 -𝐾 -𝐾 -K -K - -𝐿 -𝐿 -𝐿 -L -L - -𝑀 -𝑀 -𝑀 -M -M - -𝑁 -𝑁 -𝑁 -N -N - -𝑂 -𝑂 -𝑂 -O -O - -𝑃 -𝑃 -𝑃 -P -P - -𝑄 -𝑄 -𝑄 -Q -Q - -𝑅 -𝑅 -𝑅 -R -R - -𝑆 -𝑆 -𝑆 -S -S - -𝑇 -𝑇 -𝑇 -T -T - -𝑈 -𝑈 -𝑈 -U -U - -𝑉 -𝑉 -𝑉 -V -V - -𝑊 -𝑊 -𝑊 -W -W - -𝑋 -𝑋 -𝑋 -X -X - -𝑌 -𝑌 -𝑌 -Y -Y - -𝑍 -𝑍 -𝑍 -Z -Z - -𝑎 -𝑎 -𝑎 -a -a - -𝑏 -𝑏 -𝑏 -b -b - -𝑐 -𝑐 -𝑐 -c -c - -𝑑 -𝑑 -𝑑 -d -d - -𝑒 -𝑒 -𝑒 -e -e - -𝑓 -𝑓 -𝑓 -f -f - -𝑔 -𝑔 -𝑔 -g -g - -𝑖 -𝑖 -𝑖 -i -i - -𝑗 -𝑗 -𝑗 -j -j - -𝑘 -𝑘 -𝑘 -k -k - -𝑙 -𝑙 -𝑙 -l -l - -𝑚 -𝑚 -𝑚 -m -m - -𝑛 -𝑛 -𝑛 -n -n - -𝑜 -𝑜 -𝑜 -o -o - -𝑝 -𝑝 -𝑝 -p -p - -𝑞 -𝑞 -𝑞 -q -q - -𝑟 -𝑟 -𝑟 -r -r - -𝑠 -𝑠 -𝑠 -s -s - -𝑡 -𝑡 -𝑡 -t -t - -𝑢 -𝑢 -𝑢 -u -u - -𝑣 -𝑣 -𝑣 -v -v - -𝑤 -𝑤 -𝑤 -w -w - -𝑥 -𝑥 -𝑥 -x -x - -𝑦 -𝑦 -𝑦 -y -y - -𝑧 -𝑧 -𝑧 -z -z - -𝑨 -𝑨 -𝑨 -A -A - -𝑩 -𝑩 -𝑩 -B -B - -𝑪 -𝑪 -𝑪 -C -C - -𝑫 -𝑫 -𝑫 -D -D - -𝑬 -𝑬 -𝑬 -E -E - -𝑭 -𝑭 -𝑭 -F -F - -𝑮 -𝑮 -𝑮 -G -G - -𝑯 -𝑯 -𝑯 -H -H - -𝑰 -𝑰 -𝑰 -I -I - -𝑱 -𝑱 -𝑱 -J -J - -𝑲 -𝑲 -𝑲 -K -K - -𝑳 -𝑳 -𝑳 -L -L - -𝑴 -𝑴 -𝑴 -M -M - -𝑵 -𝑵 -𝑵 -N -N - -𝑶 -𝑶 -𝑶 -O -O - -𝑷 -𝑷 -𝑷 -P -P - -𝑸 -𝑸 -𝑸 -Q -Q - -𝑹 -𝑹 -𝑹 -R -R - -𝑺 -𝑺 -𝑺 -S -S - -𝑻 -𝑻 -𝑻 -T -T - -𝑼 -𝑼 -𝑼 -U -U - -𝑽 -𝑽 -𝑽 -V -V - -𝑾 -𝑾 -𝑾 -W -W - -𝑿 -𝑿 -𝑿 -X -X - -𝒀 -𝒀 -𝒀 -Y -Y - -𝒁 -𝒁 -𝒁 -Z -Z - -𝒂 -𝒂 -𝒂 -a -a - -𝒃 -𝒃 -𝒃 -b -b - -𝒄 -𝒄 -𝒄 -c -c - -𝒅 -𝒅 -𝒅 -d -d - -𝒆 -𝒆 -𝒆 -e -e - -𝒇 -𝒇 -𝒇 -f -f - -𝒈 -𝒈 -𝒈 -g -g - -𝒉 -𝒉 -𝒉 -h -h - -𝒊 -𝒊 -𝒊 -i -i - -𝒋 -𝒋 -𝒋 -j -j - -𝒌 -𝒌 -𝒌 -k -k - -𝒍 -𝒍 -𝒍 -l -l - -𝒎 -𝒎 -𝒎 -m -m - -𝒏 -𝒏 -𝒏 -n -n - -𝒐 -𝒐 -𝒐 -o -o - -𝒑 -𝒑 -𝒑 -p -p - -𝒒 -𝒒 -𝒒 -q -q - -𝒓 -𝒓 -𝒓 -r -r - -𝒔 -𝒔 -𝒔 -s -s - -𝒕 -𝒕 -𝒕 -t -t - -𝒖 -𝒖 -𝒖 -u -u - -𝒗 -𝒗 -𝒗 -v -v - -𝒘 -𝒘 -𝒘 -w -w - -𝒙 -𝒙 -𝒙 -x -x - -𝒚 -𝒚 -𝒚 -y -y - -𝒛 -𝒛 -𝒛 -z -z - -𝒜 -𝒜 -𝒜 -A -A - -𝒞 -𝒞 -𝒞 -C -C - -𝒟 -𝒟 -𝒟 -D -D - -𝒢 -𝒢 -𝒢 -G -G - -𝒥 -𝒥 -𝒥 -J -J - -𝒦 -𝒦 -𝒦 -K -K - -𝒩 -𝒩 -𝒩 -N -N - -𝒪 -𝒪 -𝒪 -O -O - -𝒫 -𝒫 -𝒫 -P -P - -𝒬 -𝒬 -𝒬 -Q -Q - -𝒮 -𝒮 -𝒮 -S -S - -𝒯 -𝒯 -𝒯 -T -T - -𝒰 -𝒰 -𝒰 -U -U - -𝒱 -𝒱 -𝒱 -V -V - -𝒲 -𝒲 -𝒲 -W -W - -𝒳 -𝒳 -𝒳 -X -X - -𝒴 -𝒴 -𝒴 -Y -Y - -𝒵 -𝒵 -𝒵 -Z -Z - -𝒶 -𝒶 -𝒶 -a -a - -𝒷 -𝒷 -𝒷 -b -b - -𝒸 -𝒸 -𝒸 -c -c - -𝒹 -𝒹 -𝒹 -d -d - -𝒻 -𝒻 -𝒻 -f -f - -𝒽 -𝒽 -𝒽 -h -h - -𝒾 -𝒾 -𝒾 -i -i - -𝒿 -𝒿 -𝒿 -j -j - -𝓀 -𝓀 -𝓀 -k -k - -𝓁 -𝓁 -𝓁 -l -l - -𝓂 -𝓂 -𝓂 -m -m - -𝓃 -𝓃 -𝓃 -n -n - -𝓅 -𝓅 -𝓅 -p -p - -𝓆 -𝓆 -𝓆 -q -q - -𝓇 -𝓇 -𝓇 -r -r - -𝓈 -𝓈 -𝓈 -s -s - -𝓉 -𝓉 -𝓉 -t -t - -𝓊 -𝓊 -𝓊 -u -u - -𝓋 -𝓋 -𝓋 -v -v - -𝓌 -𝓌 -𝓌 -w -w - -𝓍 -𝓍 -𝓍 -x -x - -𝓎 -𝓎 -𝓎 -y -y - -𝓏 -𝓏 -𝓏 -z -z - -𝓐 -𝓐 -𝓐 -A -A - -𝓑 -𝓑 -𝓑 -B -B - -𝓒 -𝓒 -𝓒 -C -C - -𝓓 -𝓓 -𝓓 -D -D - -𝓔 -𝓔 -𝓔 -E -E - -𝓕 -𝓕 -𝓕 -F -F - -𝓖 -𝓖 -𝓖 -G -G - -𝓗 -𝓗 -𝓗 -H -H - -𝓘 -𝓘 -𝓘 -I -I - -𝓙 -𝓙 -𝓙 -J -J - -𝓚 -𝓚 -𝓚 -K -K - -𝓛 -𝓛 -𝓛 -L -L - -𝓜 -𝓜 -𝓜 -M -M - -𝓝 -𝓝 -𝓝 -N -N - -𝓞 -𝓞 -𝓞 -O -O - -𝓟 -𝓟 -𝓟 -P -P - -𝓠 -𝓠 -𝓠 -Q -Q - -𝓡 -𝓡 -𝓡 -R -R - -𝓢 -𝓢 -𝓢 -S -S - -𝓣 -𝓣 -𝓣 -T -T - -𝓤 -𝓤 -𝓤 -U -U - -𝓥 -𝓥 -𝓥 -V -V - -𝓦 -𝓦 -𝓦 -W -W - -𝓧 -𝓧 -𝓧 -X -X - -𝓨 -𝓨 -𝓨 -Y -Y - -𝓩 -𝓩 -𝓩 -Z -Z - -𝓪 -𝓪 -𝓪 -a -a - -𝓫 -𝓫 -𝓫 -b -b - -𝓬 -𝓬 -𝓬 -c -c - -𝓭 -𝓭 -𝓭 -d -d - -𝓮 -𝓮 -𝓮 -e -e - -𝓯 -𝓯 -𝓯 -f -f - -𝓰 -𝓰 -𝓰 -g -g - -𝓱 -𝓱 -𝓱 -h -h - -𝓲 -𝓲 -𝓲 -i -i - -𝓳 -𝓳 -𝓳 -j -j - -𝓴 -𝓴 -𝓴 -k -k - -𝓵 -𝓵 -𝓵 -l -l - -𝓶 -𝓶 -𝓶 -m -m - -𝓷 -𝓷 -𝓷 -n -n - -𝓸 -𝓸 -𝓸 -o -o - -𝓹 -𝓹 -𝓹 -p -p - -𝓺 -𝓺 -𝓺 -q -q - -𝓻 -𝓻 -𝓻 -r -r - -𝓼 -𝓼 -𝓼 -s -s - -𝓽 -𝓽 -𝓽 -t -t - -𝓾 -𝓾 -𝓾 -u -u - -𝓿 -𝓿 -𝓿 -v -v - -𝔀 -𝔀 -𝔀 -w -w - -𝔁 -𝔁 -𝔁 -x -x - -𝔂 -𝔂 -𝔂 -y -y - -𝔃 -𝔃 -𝔃 -z -z - -𝔄 -𝔄 -𝔄 -A -A - -𝔅 -𝔅 -𝔅 -B -B - -𝔇 -𝔇 -𝔇 -D -D - -𝔈 -𝔈 -𝔈 -E -E - -𝔉 -𝔉 -𝔉 -F -F - -𝔊 -𝔊 -𝔊 -G -G - -𝔍 -𝔍 -𝔍 -J -J - -𝔎 -𝔎 -𝔎 -K -K - -𝔏 -𝔏 -𝔏 -L -L - -𝔐 -𝔐 -𝔐 -M -M - -𝔑 -𝔑 -𝔑 -N -N - -𝔒 -𝔒 -𝔒 -O -O - -𝔓 -𝔓 -𝔓 -P -P - -𝔔 -𝔔 -𝔔 -Q -Q - -𝔖 -𝔖 -𝔖 -S -S - -𝔗 -𝔗 -𝔗 -T -T - -𝔘 -𝔘 -𝔘 -U -U - -𝔙 -𝔙 -𝔙 -V -V - -𝔚 -𝔚 -𝔚 -W -W - -𝔛 -𝔛 -𝔛 -X -X - -𝔜 -𝔜 -𝔜 -Y -Y - -𝔞 -𝔞 -𝔞 -a -a - -𝔟 -𝔟 -𝔟 -b -b - -𝔠 -𝔠 -𝔠 -c -c - -𝔡 -𝔡 -𝔡 -d -d - -𝔢 -𝔢 -𝔢 -e -e - -𝔣 -𝔣 -𝔣 -f -f - -𝔤 -𝔤 -𝔤 -g -g - -𝔥 -𝔥 -𝔥 -h -h - -𝔦 -𝔦 -𝔦 -i -i - -𝔧 -𝔧 -𝔧 -j -j - -𝔨 -𝔨 -𝔨 -k -k - -𝔩 -𝔩 -𝔩 -l -l - -𝔪 -𝔪 -𝔪 -m -m - -𝔫 -𝔫 -𝔫 -n -n - -𝔬 -𝔬 -𝔬 -o -o - -𝔭 -𝔭 -𝔭 -p -p - -𝔮 -𝔮 -𝔮 -q -q - -𝔯 -𝔯 -𝔯 -r -r - -𝔰 -𝔰 -𝔰 -s -s - -𝔱 -𝔱 -𝔱 -t -t - -𝔲 -𝔲 -𝔲 -u -u - -𝔳 -𝔳 -𝔳 -v -v - -𝔴 -𝔴 -𝔴 -w -w - -𝔵 -𝔵 -𝔵 -x -x - -𝔶 -𝔶 -𝔶 -y -y - -𝔷 -𝔷 -𝔷 -z -z - -𝔸 -𝔸 -𝔸 -A -A - -𝔹 -𝔹 -𝔹 -B -B - -𝔻 -𝔻 -𝔻 -D -D - -𝔼 -𝔼 -𝔼 -E -E - -𝔽 -𝔽 -𝔽 -F -F - -𝔾 -𝔾 -𝔾 -G -G - -𝕀 -𝕀 -𝕀 -I -I - -𝕁 -𝕁 -𝕁 -J -J - -𝕂 -𝕂 -𝕂 -K -K - -𝕃 -𝕃 -𝕃 -L -L - -𝕄 -𝕄 -𝕄 -M -M - -𝕆 -𝕆 -𝕆 -O -O - -𝕊 -𝕊 -𝕊 -S -S - -𝕋 -𝕋 -𝕋 -T -T - -𝕌 -𝕌 -𝕌 -U -U - -𝕍 -𝕍 -𝕍 -V -V - -𝕎 -𝕎 -𝕎 -W -W - -𝕏 -𝕏 -𝕏 -X -X - -𝕐 -𝕐 -𝕐 -Y -Y - -𝕒 -𝕒 -𝕒 -a -a - -𝕓 -𝕓 -𝕓 -b -b - -𝕔 -𝕔 -𝕔 -c -c - -𝕕 -𝕕 -𝕕 -d -d - -𝕖 -𝕖 -𝕖 -e -e - -𝕗 -𝕗 -𝕗 -f -f - -𝕘 -𝕘 -𝕘 -g -g - -𝕙 -𝕙 -𝕙 -h -h - -𝕚 -𝕚 -𝕚 -i -i - -𝕛 -𝕛 -𝕛 -j -j - -𝕜 -𝕜 -𝕜 -k -k - -𝕝 -𝕝 -𝕝 -l -l - -𝕞 -𝕞 -𝕞 -m -m - -𝕟 -𝕟 -𝕟 -n -n - -𝕠 -𝕠 -𝕠 -o -o - -𝕡 -𝕡 -𝕡 -p -p - -𝕢 -𝕢 -𝕢 -q -q - -𝕣 -𝕣 -𝕣 -r -r - -𝕤 -𝕤 -𝕤 -s -s - -𝕥 -𝕥 -𝕥 -t -t - -𝕦 -𝕦 -𝕦 -u -u - -𝕧 -𝕧 -𝕧 -v -v - -𝕨 -𝕨 -𝕨 -w -w - -𝕩 -𝕩 -𝕩 -x -x - -𝕪 -𝕪 -𝕪 -y -y - -𝕫 -𝕫 -𝕫 -z -z - -𝕬 -𝕬 -𝕬 -A -A - -𝕭 -𝕭 -𝕭 -B -B - -𝕮 -𝕮 -𝕮 -C -C - -𝕯 -𝕯 -𝕯 -D -D - -𝕰 -𝕰 -𝕰 -E -E - -𝕱 -𝕱 -𝕱 -F -F - -𝕲 -𝕲 -𝕲 -G -G - -𝕳 -𝕳 -𝕳 -H -H - -𝕴 -𝕴 -𝕴 -I -I - -𝕵 -𝕵 -𝕵 -J -J - -𝕶 -𝕶 -𝕶 -K -K - -𝕷 -𝕷 -𝕷 -L -L - -𝕸 -𝕸 -𝕸 -M -M - -𝕹 -𝕹 -𝕹 -N -N - -𝕺 -𝕺 -𝕺 -O -O - -𝕻 -𝕻 -𝕻 -P -P - -𝕼 -𝕼 -𝕼 -Q -Q - -𝕽 -𝕽 -𝕽 -R -R - -𝕾 -𝕾 -𝕾 -S -S - -𝕿 -𝕿 -𝕿 -T -T - -𝖀 -𝖀 -𝖀 -U -U - -𝖁 -𝖁 -𝖁 -V -V - -𝖂 -𝖂 -𝖂 -W -W - -𝖃 -𝖃 -𝖃 -X -X - -𝖄 -𝖄 -𝖄 -Y -Y - -𝖅 -𝖅 -𝖅 -Z -Z - -𝖆 -𝖆 -𝖆 -a -a - -𝖇 -𝖇 -𝖇 -b -b - -𝖈 -𝖈 -𝖈 -c -c - -𝖉 -𝖉 -𝖉 -d -d - -𝖊 -𝖊 -𝖊 -e -e - -𝖋 -𝖋 -𝖋 -f -f - -𝖌 -𝖌 -𝖌 -g -g - -𝖍 -𝖍 -𝖍 -h -h - -𝖎 -𝖎 -𝖎 -i -i - -𝖏 -𝖏 -𝖏 -j -j - -𝖐 -𝖐 -𝖐 -k -k - -𝖑 -𝖑 -𝖑 -l -l - -𝖒 -𝖒 -𝖒 -m -m - -𝖓 -𝖓 -𝖓 -n -n - -𝖔 -𝖔 -𝖔 -o -o - -𝖕 -𝖕 -𝖕 -p -p - -𝖖 -𝖖 -𝖖 -q -q - -𝖗 -𝖗 -𝖗 -r -r - -𝖘 -𝖘 -𝖘 -s -s - -𝖙 -𝖙 -𝖙 -t -t - -𝖚 -𝖚 -𝖚 -u -u - -𝖛 -𝖛 -𝖛 -v -v - -𝖜 -𝖜 -𝖜 -w -w - -𝖝 -𝖝 -𝖝 -x -x - -𝖞 -𝖞 -𝖞 -y -y - -𝖟 -𝖟 -𝖟 -z -z - -𝖠 -𝖠 -𝖠 -A -A - -𝖡 -𝖡 -𝖡 -B -B - -𝖢 -𝖢 -𝖢 -C -C - -𝖣 -𝖣 -𝖣 -D -D - -𝖤 -𝖤 -𝖤 -E -E - -𝖥 -𝖥 -𝖥 -F -F - -𝖦 -𝖦 -𝖦 -G -G - -𝖧 -𝖧 -𝖧 -H -H - -𝖨 -𝖨 -𝖨 -I -I - -𝖩 -𝖩 -𝖩 -J -J - -𝖪 -𝖪 -𝖪 -K -K - -𝖫 -𝖫 -𝖫 -L -L - -𝖬 -𝖬 -𝖬 -M -M - -𝖭 -𝖭 -𝖭 -N -N - -𝖮 -𝖮 -𝖮 -O -O - -𝖯 -𝖯 -𝖯 -P -P - -𝖰 -𝖰 -𝖰 -Q -Q - -𝖱 -𝖱 -𝖱 -R -R - -𝖲 -𝖲 -𝖲 -S -S - -𝖳 -𝖳 -𝖳 -T -T - -𝖴 -𝖴 -𝖴 -U -U - -𝖵 -𝖵 -𝖵 -V -V - -𝖶 -𝖶 -𝖶 -W -W - -𝖷 -𝖷 -𝖷 -X -X - -𝖸 -𝖸 -𝖸 -Y -Y - -𝖹 -𝖹 -𝖹 -Z -Z - -𝖺 -𝖺 -𝖺 -a -a - -𝖻 -𝖻 -𝖻 -b -b - -𝖼 -𝖼 -𝖼 -c -c - -𝖽 -𝖽 -𝖽 -d -d - -𝖾 -𝖾 -𝖾 -e -e - -𝖿 -𝖿 -𝖿 -f -f - -𝗀 -𝗀 -𝗀 -g -g - -𝗁 -𝗁 -𝗁 -h -h - -𝗂 -𝗂 -𝗂 -i -i - -𝗃 -𝗃 -𝗃 -j -j - -𝗄 -𝗄 -𝗄 -k -k - -𝗅 -𝗅 -𝗅 -l -l - -𝗆 -𝗆 -𝗆 -m -m - -𝗇 -𝗇 -𝗇 -n -n - -𝗈 -𝗈 -𝗈 -o -o - -𝗉 -𝗉 -𝗉 -p -p - -𝗊 -𝗊 -𝗊 -q -q - -𝗋 -𝗋 -𝗋 -r -r - -𝗌 -𝗌 -𝗌 -s -s - -𝗍 -𝗍 -𝗍 -t -t - -𝗎 -𝗎 -𝗎 -u -u - -𝗏 -𝗏 -𝗏 -v -v - -𝗐 -𝗐 -𝗐 -w -w - -𝗑 -𝗑 -𝗑 -x -x - -𝗒 -𝗒 -𝗒 -y -y - -𝗓 -𝗓 -𝗓 -z -z - -𝗔 -𝗔 -𝗔 -A -A - -𝗕 -𝗕 -𝗕 -B -B - -𝗖 -𝗖 -𝗖 -C -C - -𝗗 -𝗗 -𝗗 -D -D - -𝗘 -𝗘 -𝗘 -E -E - -𝗙 -𝗙 -𝗙 -F -F - -𝗚 -𝗚 -𝗚 -G -G - -𝗛 -𝗛 -𝗛 -H -H - -𝗜 -𝗜 -𝗜 -I -I - -𝗝 -𝗝 -𝗝 -J -J - -𝗞 -𝗞 -𝗞 -K -K - -𝗟 -𝗟 -𝗟 -L -L - -𝗠 -𝗠 -𝗠 -M -M - -𝗡 -𝗡 -𝗡 -N -N - -𝗢 -𝗢 -𝗢 -O -O - -𝗣 -𝗣 -𝗣 -P -P - -𝗤 -𝗤 -𝗤 -Q -Q - -𝗥 -𝗥 -𝗥 -R -R - -𝗦 -𝗦 -𝗦 -S -S - -𝗧 -𝗧 -𝗧 -T -T - -𝗨 -𝗨 -𝗨 -U -U - -𝗩 -𝗩 -𝗩 -V -V - -𝗪 -𝗪 -𝗪 -W -W - -𝗫 -𝗫 -𝗫 -X -X - -𝗬 -𝗬 -𝗬 -Y -Y - -𝗭 -𝗭 -𝗭 -Z -Z - -𝗮 -𝗮 -𝗮 -a -a - -𝗯 -𝗯 -𝗯 -b -b - -𝗰 -𝗰 -𝗰 -c -c - -𝗱 -𝗱 -𝗱 -d -d - -𝗲 -𝗲 -𝗲 -e -e - -𝗳 -𝗳 -𝗳 -f -f - -𝗴 -𝗴 -𝗴 -g -g - -𝗵 -𝗵 -𝗵 -h -h - -𝗶 -𝗶 -𝗶 -i -i - -𝗷 -𝗷 -𝗷 -j -j - -𝗸 -𝗸 -𝗸 -k -k - -𝗹 -𝗹 -𝗹 -l -l - -𝗺 -𝗺 -𝗺 -m -m - -𝗻 -𝗻 -𝗻 -n -n - -𝗼 -𝗼 -𝗼 -o -o - -𝗽 -𝗽 -𝗽 -p -p - -𝗾 -𝗾 -𝗾 -q -q - -𝗿 -𝗿 -𝗿 -r -r - -𝘀 -𝘀 -𝘀 -s -s - -𝘁 -𝘁 -𝘁 -t -t - -𝘂 -𝘂 -𝘂 -u -u - -𝘃 -𝘃 -𝘃 -v -v - -𝘄 -𝘄 -𝘄 -w -w - -𝘅 -𝘅 -𝘅 -x -x - -𝘆 -𝘆 -𝘆 -y -y - -𝘇 -𝘇 -𝘇 -z -z - -𝘈 -𝘈 -𝘈 -A -A - -𝘉 -𝘉 -𝘉 -B -B - -𝘊 -𝘊 -𝘊 -C -C - -𝘋 -𝘋 -𝘋 -D -D - -𝘌 -𝘌 -𝘌 -E -E - -𝘍 -𝘍 -𝘍 -F -F - -𝘎 -𝘎 -𝘎 -G -G - -𝘏 -𝘏 -𝘏 -H -H - -𝘐 -𝘐 -𝘐 -I -I - -𝘑 -𝘑 -𝘑 -J -J - -𝘒 -𝘒 -𝘒 -K -K - -𝘓 -𝘓 -𝘓 -L -L - -𝘔 -𝘔 -𝘔 -M -M - -𝘕 -𝘕 -𝘕 -N -N - -𝘖 -𝘖 -𝘖 -O -O - -𝘗 -𝘗 -𝘗 -P -P - -𝘘 -𝘘 -𝘘 -Q -Q - -𝘙 -𝘙 -𝘙 -R -R - -𝘚 -𝘚 -𝘚 -S -S - -𝘛 -𝘛 -𝘛 -T -T - -𝘜 -𝘜 -𝘜 -U -U - -𝘝 -𝘝 -𝘝 -V -V - -𝘞 -𝘞 -𝘞 -W -W - -𝘟 -𝘟 -𝘟 -X -X - -𝘠 -𝘠 -𝘠 -Y -Y - -𝘡 -𝘡 -𝘡 -Z -Z - -𝘢 -𝘢 -𝘢 -a -a - -𝘣 -𝘣 -𝘣 -b -b - -𝘤 -𝘤 -𝘤 -c -c - -𝘥 -𝘥 -𝘥 -d -d - -𝘦 -𝘦 -𝘦 -e -e - -𝘧 -𝘧 -𝘧 -f -f - -𝘨 -𝘨 -𝘨 -g -g - -𝘩 -𝘩 -𝘩 -h -h - -𝘪 -𝘪 -𝘪 -i -i - -𝘫 -𝘫 -𝘫 -j -j - -𝘬 -𝘬 -𝘬 -k -k - -𝘭 -𝘭 -𝘭 -l -l - -𝘮 -𝘮 -𝘮 -m -m - -𝘯 -𝘯 -𝘯 -n -n - -𝘰 -𝘰 -𝘰 -o -o - -𝘱 -𝘱 -𝘱 -p -p - -𝘲 -𝘲 -𝘲 -q -q - -𝘳 -𝘳 -𝘳 -r -r - -𝘴 -𝘴 -𝘴 -s -s - -𝘵 -𝘵 -𝘵 -t -t - -𝘶 -𝘶 -𝘶 -u -u - -𝘷 -𝘷 -𝘷 -v -v - -𝘸 -𝘸 -𝘸 -w -w - -𝘹 -𝘹 -𝘹 -x -x - -𝘺 -𝘺 -𝘺 -y -y - -𝘻 -𝘻 -𝘻 -z -z - -𝘼 -𝘼 -𝘼 -A -A - -𝘽 -𝘽 -𝘽 -B -B - -𝘾 -𝘾 -𝘾 -C -C - -𝘿 -𝘿 -𝘿 -D -D - -𝙀 -𝙀 -𝙀 -E -E - -𝙁 -𝙁 -𝙁 -F -F - -𝙂 -𝙂 -𝙂 -G -G - -𝙃 -𝙃 -𝙃 -H -H - -𝙄 -𝙄 -𝙄 -I -I - -𝙅 -𝙅 -𝙅 -J -J - -𝙆 -𝙆 -𝙆 -K -K - -𝙇 -𝙇 -𝙇 -L -L - -𝙈 -𝙈 -𝙈 -M -M - -𝙉 -𝙉 -𝙉 -N -N - -𝙊 -𝙊 -𝙊 -O -O - -𝙋 -𝙋 -𝙋 -P -P - -𝙌 -𝙌 -𝙌 -Q -Q - -𝙍 -𝙍 -𝙍 -R -R - -𝙎 -𝙎 -𝙎 -S -S - -𝙏 -𝙏 -𝙏 -T -T - -𝙐 -𝙐 -𝙐 -U -U - -𝙑 -𝙑 -𝙑 -V -V - -𝙒 -𝙒 -𝙒 -W -W - -𝙓 -𝙓 -𝙓 -X -X - -𝙔 -𝙔 -𝙔 -Y -Y - -𝙕 -𝙕 -𝙕 -Z -Z - -𝙖 -𝙖 -𝙖 -a -a - -𝙗 -𝙗 -𝙗 -b -b - -𝙘 -𝙘 -𝙘 -c -c - -𝙙 -𝙙 -𝙙 -d -d - -𝙚 -𝙚 -𝙚 -e -e - -𝙛 -𝙛 -𝙛 -f -f - -𝙜 -𝙜 -𝙜 -g -g - -𝙝 -𝙝 -𝙝 -h -h - -𝙞 -𝙞 -𝙞 -i -i - -𝙟 -𝙟 -𝙟 -j -j - -𝙠 -𝙠 -𝙠 -k -k - -𝙡 -𝙡 -𝙡 -l -l - -𝙢 -𝙢 -𝙢 -m -m - -𝙣 -𝙣 -𝙣 -n -n - -𝙤 -𝙤 -𝙤 -o -o - -𝙥 -𝙥 -𝙥 -p -p - -𝙦 -𝙦 -𝙦 -q -q - -𝙧 -𝙧 -𝙧 -r -r - -𝙨 -𝙨 -𝙨 -s -s - -𝙩 -𝙩 -𝙩 -t -t - -𝙪 -𝙪 -𝙪 -u -u - -𝙫 -𝙫 -𝙫 -v -v - -𝙬 -𝙬 -𝙬 -w -w - -𝙭 -𝙭 -𝙭 -x -x - -𝙮 -𝙮 -𝙮 -y -y - -𝙯 -𝙯 -𝙯 -z -z - -𝙰 -𝙰 -𝙰 -A -A - -𝙱 -𝙱 -𝙱 -B -B - -𝙲 -𝙲 -𝙲 -C -C - -𝙳 -𝙳 -𝙳 -D -D - -𝙴 -𝙴 -𝙴 -E -E - -𝙵 -𝙵 -𝙵 -F -F - -𝙶 -𝙶 -𝙶 -G -G - -𝙷 -𝙷 -𝙷 -H -H - -𝙸 -𝙸 -𝙸 -I -I - -𝙹 -𝙹 -𝙹 -J -J - -𝙺 -𝙺 -𝙺 -K -K - -𝙻 -𝙻 -𝙻 -L -L - -𝙼 -𝙼 -𝙼 -M -M - -𝙽 -𝙽 -𝙽 -N -N - -𝙾 -𝙾 -𝙾 -O -O - -𝙿 -𝙿 -𝙿 -P -P - -𝚀 -𝚀 -𝚀 -Q -Q - -𝚁 -𝚁 -𝚁 -R -R - -𝚂 -𝚂 -𝚂 -S -S - -𝚃 -𝚃 -𝚃 -T -T - -𝚄 -𝚄 -𝚄 -U -U - -𝚅 -𝚅 -𝚅 -V -V - -𝚆 -𝚆 -𝚆 -W -W - -𝚇 -𝚇 -𝚇 -X -X - -𝚈 -𝚈 -𝚈 -Y -Y - -𝚉 -𝚉 -𝚉 -Z -Z - -𝚊 -𝚊 -𝚊 -a -a - -𝚋 -𝚋 -𝚋 -b -b - -𝚌 -𝚌 -𝚌 -c -c - -𝚍 -𝚍 -𝚍 -d -d - -𝚎 -𝚎 -𝚎 -e -e - -𝚏 -𝚏 -𝚏 -f -f - -𝚐 -𝚐 -𝚐 -g -g - -𝚑 -𝚑 -𝚑 -h -h - -𝚒 -𝚒 -𝚒 -i -i - -𝚓 -𝚓 -𝚓 -j -j - -𝚔 -𝚔 -𝚔 -k -k - -𝚕 -𝚕 -𝚕 -l -l - -𝚖 -𝚖 -𝚖 -m -m - -𝚗 -𝚗 -𝚗 -n -n - -𝚘 -𝚘 -𝚘 -o -o - -𝚙 -𝚙 -𝚙 -p -p - -𝚚 -𝚚 -𝚚 -q -q - -𝚛 -𝚛 -𝚛 -r -r - -𝚜 -𝚜 -𝚜 -s -s - -𝚝 -𝚝 -𝚝 -t -t - -𝚞 -𝚞 -𝚞 -u -u - -𝚟 -𝚟 -𝚟 -v -v - -𝚠 -𝚠 -𝚠 -w -w - -𝚡 -𝚡 -𝚡 -x -x - -𝚢 -𝚢 -𝚢 -y -y - -𝚣 -𝚣 -𝚣 -z -z - -𝚤 -𝚤 -𝚤 -ı -ı - -𝚥 -𝚥 -𝚥 -ȷ -ȷ - -𝚨 -𝚨 -𝚨 -Α -Α - -𝚩 -𝚩 -𝚩 -Β -Β - -𝚪 -𝚪 -𝚪 -Γ -Γ - -𝚫 -𝚫 -𝚫 -Δ -Δ - -𝚬 -𝚬 -𝚬 -Ε -Ε - -𝚭 -𝚭 -𝚭 -Ζ -Ζ - -𝚮 -𝚮 -𝚮 -Η -Η - -𝚯 -𝚯 -𝚯 -Θ -Θ - -𝚰 -𝚰 -𝚰 -Ι -Ι - -𝚱 -𝚱 -𝚱 -Κ -Κ - -𝚲 -𝚲 -𝚲 -Λ -Λ - -𝚳 -𝚳 -𝚳 -Μ -Μ - -𝚴 -𝚴 -𝚴 -Ν -Ν - -𝚵 -𝚵 -𝚵 -Ξ -Ξ - -𝚶 -𝚶 -𝚶 -Ο -Ο - -𝚷 -𝚷 -𝚷 -Π -Π - -𝚸 -𝚸 -𝚸 -Ρ -Ρ - -𝚹 -𝚹 -𝚹 -Θ -Θ - -𝚺 -𝚺 -𝚺 -Σ -Σ - -𝚻 -𝚻 -𝚻 -Τ -Τ - -𝚼 -𝚼 -𝚼 -Υ -Υ - -𝚽 -𝚽 -𝚽 -Φ -Φ - -𝚾 -𝚾 -𝚾 -Χ -Χ - -𝚿 -𝚿 -𝚿 -Ψ -Ψ - -𝛀 -𝛀 -𝛀 -Ω -Ω - -𝛁 -𝛁 -𝛁 -∇ -∇ - -𝛂 -𝛂 -𝛂 -α -α - -𝛃 -𝛃 -𝛃 -β -β - -𝛄 -𝛄 -𝛄 -γ -γ - -𝛅 -𝛅 -𝛅 -δ -δ - -𝛆 -𝛆 -𝛆 -ε -ε - -𝛇 -𝛇 -𝛇 -ζ -ζ - -𝛈 -𝛈 -𝛈 -η -η - -𝛉 -𝛉 -𝛉 -θ -θ - -𝛊 -𝛊 -𝛊 -ι -ι - -𝛋 -𝛋 -𝛋 -κ -κ - -𝛌 -𝛌 -𝛌 -λ -λ - -𝛍 -𝛍 -𝛍 -μ -μ - -𝛎 -𝛎 -𝛎 -ν -ν - -𝛏 -𝛏 -𝛏 -ξ -ξ - -𝛐 -𝛐 -𝛐 -ο -ο - -𝛑 -𝛑 -𝛑 -π -π - -𝛒 -𝛒 -𝛒 -ρ -ρ - -𝛓 -𝛓 -𝛓 -ς -ς - -𝛔 -𝛔 -𝛔 -σ -σ - -𝛕 -𝛕 -𝛕 -τ -τ - -𝛖 -𝛖 -𝛖 -υ -υ - -𝛗 -𝛗 -𝛗 -φ -φ - -𝛘 -𝛘 -𝛘 -χ -χ - -𝛙 -𝛙 -𝛙 -ψ -ψ - -𝛚 -𝛚 -𝛚 -ω -ω - -𝛛 -𝛛 -𝛛 -∂ -∂ - -𝛜 -𝛜 -𝛜 -ε -ε - -𝛝 -𝛝 -𝛝 -θ -θ - -𝛞 -𝛞 -𝛞 -κ -κ - -𝛟 -𝛟 -𝛟 -φ -φ - -𝛠 -𝛠 -𝛠 -ρ -ρ - -𝛡 -𝛡 -𝛡 -π -π - -𝛢 -𝛢 -𝛢 -Α -Α - -𝛣 -𝛣 -𝛣 -Β -Β - -𝛤 -𝛤 -𝛤 -Γ -Γ - -𝛥 -𝛥 -𝛥 -Δ -Δ - -𝛦 -𝛦 -𝛦 -Ε -Ε - -𝛧 -𝛧 -𝛧 -Ζ -Ζ - -𝛨 -𝛨 -𝛨 -Η -Η - -𝛩 -𝛩 -𝛩 -Θ -Θ - -𝛪 -𝛪 -𝛪 -Ι -Ι - -𝛫 -𝛫 -𝛫 -Κ -Κ - -𝛬 -𝛬 -𝛬 -Λ -Λ - -𝛭 -𝛭 -𝛭 -Μ -Μ - -𝛮 -𝛮 -𝛮 -Ν -Ν - -𝛯 -𝛯 -𝛯 -Ξ -Ξ - -𝛰 -𝛰 -𝛰 -Ο -Ο - -𝛱 -𝛱 -𝛱 -Π -Π - -𝛲 -𝛲 -𝛲 -Ρ -Ρ - -𝛳 -𝛳 -𝛳 -Θ -Θ - -𝛴 -𝛴 -𝛴 -Σ -Σ - -𝛵 -𝛵 -𝛵 -Τ -Τ - -𝛶 -𝛶 -𝛶 -Υ -Υ - -𝛷 -𝛷 -𝛷 -Φ -Φ - -𝛸 -𝛸 -𝛸 -Χ -Χ - -𝛹 -𝛹 -𝛹 -Ψ -Ψ - -𝛺 -𝛺 -𝛺 -Ω -Ω - -𝛻 -𝛻 -𝛻 -∇ -∇ - -𝛼 -𝛼 -𝛼 -α -α - -𝛽 -𝛽 -𝛽 -β -β - -𝛾 -𝛾 -𝛾 -γ -γ - -𝛿 -𝛿 -𝛿 -δ -δ - -𝜀 -𝜀 -𝜀 -ε -ε - -𝜁 -𝜁 -𝜁 -ζ -ζ - -𝜂 -𝜂 -𝜂 -η -η - -𝜃 -𝜃 -𝜃 -θ -θ - -𝜄 -𝜄 -𝜄 -ι -ι - -𝜅 -𝜅 -𝜅 -κ -κ - -𝜆 -𝜆 -𝜆 -λ -λ - -𝜇 -𝜇 -𝜇 -μ -μ - -𝜈 -𝜈 -𝜈 -ν -ν - -𝜉 -𝜉 -𝜉 -ξ -ξ - -𝜊 -𝜊 -𝜊 -ο -ο - -𝜋 -𝜋 -𝜋 -π -π - -𝜌 -𝜌 -𝜌 -ρ -ρ - -𝜍 -𝜍 -𝜍 -ς -ς - -𝜎 -𝜎 -𝜎 -σ -σ - -𝜏 -𝜏 -𝜏 -τ -τ - -𝜐 -𝜐 -𝜐 -υ -υ - -𝜑 -𝜑 -𝜑 -φ -φ - -𝜒 -𝜒 -𝜒 -χ -χ - -𝜓 -𝜓 -𝜓 -ψ -ψ - -𝜔 -𝜔 -𝜔 -ω -ω - -𝜕 -𝜕 -𝜕 -∂ -∂ - -𝜖 -𝜖 -𝜖 -ε -ε - -𝜗 -𝜗 -𝜗 -θ -θ - -𝜘 -𝜘 -𝜘 -κ -κ - -𝜙 -𝜙 -𝜙 -φ -φ - -𝜚 -𝜚 -𝜚 -ρ -ρ - -𝜛 -𝜛 -𝜛 -π -π - -𝜜 -𝜜 -𝜜 -Α -Α - -𝜝 -𝜝 -𝜝 -Β -Β - -𝜞 -𝜞 -𝜞 -Γ -Γ - -𝜟 -𝜟 -𝜟 -Δ -Δ - -𝜠 -𝜠 -𝜠 -Ε -Ε - -𝜡 -𝜡 -𝜡 -Ζ -Ζ - -𝜢 -𝜢 -𝜢 -Η -Η - -𝜣 -𝜣 -𝜣 -Θ -Θ - -𝜤 -𝜤 -𝜤 -Ι -Ι - -𝜥 -𝜥 -𝜥 -Κ -Κ - -𝜦 -𝜦 -𝜦 -Λ -Λ - -𝜧 -𝜧 -𝜧 -Μ -Μ - -𝜨 -𝜨 -𝜨 -Ν -Ν - -𝜩 -𝜩 -𝜩 -Ξ -Ξ - -𝜪 -𝜪 -𝜪 -Ο -Ο - -𝜫 -𝜫 -𝜫 -Π -Π - -𝜬 -𝜬 -𝜬 -Ρ -Ρ - -𝜭 -𝜭 -𝜭 -Θ -Θ - -𝜮 -𝜮 -𝜮 -Σ -Σ - -𝜯 -𝜯 -𝜯 -Τ -Τ - -𝜰 -𝜰 -𝜰 -Υ -Υ - -𝜱 -𝜱 -𝜱 -Φ -Φ - -𝜲 -𝜲 -𝜲 -Χ -Χ - -𝜳 -𝜳 -𝜳 -Ψ -Ψ - -𝜴 -𝜴 -𝜴 -Ω -Ω - -𝜵 -𝜵 -𝜵 -∇ -∇ - -𝜶 -𝜶 -𝜶 -α -α - -𝜷 -𝜷 -𝜷 -β -β - -𝜸 -𝜸 -𝜸 -γ -γ - -𝜹 -𝜹 -𝜹 -δ -δ - -𝜺 -𝜺 -𝜺 -ε -ε - -𝜻 -𝜻 -𝜻 -ζ -ζ - -𝜼 -𝜼 -𝜼 -η -η - -𝜽 -𝜽 -𝜽 -θ -θ - -𝜾 -𝜾 -𝜾 -ι -ι - -𝜿 -𝜿 -𝜿 -κ -κ - -𝝀 -𝝀 -𝝀 -λ -λ - -𝝁 -𝝁 -𝝁 -μ -μ - -𝝂 -𝝂 -𝝂 -ν -ν - -𝝃 -𝝃 -𝝃 -ξ -ξ - -𝝄 -𝝄 -𝝄 -ο -ο - -𝝅 -𝝅 -𝝅 -π -π - -𝝆 -𝝆 -𝝆 -ρ -ρ - -𝝇 -𝝇 -𝝇 -ς -ς - -𝝈 -𝝈 -𝝈 -σ -σ - -𝝉 -𝝉 -𝝉 -τ -τ - -𝝊 -𝝊 -𝝊 -υ -υ - -𝝋 -𝝋 -𝝋 -φ -φ - -𝝌 -𝝌 -𝝌 -χ -χ - -𝝍 -𝝍 -𝝍 -ψ -ψ - -𝝎 -𝝎 -𝝎 -ω -ω - -𝝏 -𝝏 -𝝏 -∂ -∂ - -𝝐 -𝝐 -𝝐 -ε -ε - -𝝑 -𝝑 -𝝑 -θ -θ - -𝝒 -𝝒 -𝝒 -κ -κ - -𝝓 -𝝓 -𝝓 -φ -φ - -𝝔 -𝝔 -𝝔 -ρ -ρ - -𝝕 -𝝕 -𝝕 -π -π - -𝝖 -𝝖 -𝝖 -Α -Α - -𝝗 -𝝗 -𝝗 -Β -Β - -𝝘 -𝝘 -𝝘 -Γ -Γ - -𝝙 -𝝙 -𝝙 -Δ -Δ - -𝝚 -𝝚 -𝝚 -Ε -Ε - -𝝛 -𝝛 -𝝛 -Ζ -Ζ - -𝝜 -𝝜 -𝝜 -Η -Η - -𝝝 -𝝝 -𝝝 -Θ -Θ - -𝝞 -𝝞 -𝝞 -Ι -Ι - -𝝟 -𝝟 -𝝟 -Κ -Κ - -𝝠 -𝝠 -𝝠 -Λ -Λ - -𝝡 -𝝡 -𝝡 -Μ -Μ - -𝝢 -𝝢 -𝝢 -Ν -Ν - -𝝣 -𝝣 -𝝣 -Ξ -Ξ - -𝝤 -𝝤 -𝝤 -Ο -Ο - -𝝥 -𝝥 -𝝥 -Π -Π - -𝝦 -𝝦 -𝝦 -Ρ -Ρ - -𝝧 -𝝧 -𝝧 -Θ -Θ - -𝝨 -𝝨 -𝝨 -Σ -Σ - -𝝩 -𝝩 -𝝩 -Τ -Τ - -𝝪 -𝝪 -𝝪 -Υ -Υ - -𝝫 -𝝫 -𝝫 -Φ -Φ - -𝝬 -𝝬 -𝝬 -Χ -Χ - -𝝭 -𝝭 -𝝭 -Ψ -Ψ - -𝝮 -𝝮 -𝝮 -Ω -Ω - -𝝯 -𝝯 -𝝯 -∇ -∇ - -𝝰 -𝝰 -𝝰 -α -α - -𝝱 -𝝱 -𝝱 -β -β - -𝝲 -𝝲 -𝝲 -γ -γ - -𝝳 -𝝳 -𝝳 -δ -δ - -𝝴 -𝝴 -𝝴 -ε -ε - -𝝵 -𝝵 -𝝵 -ζ -ζ - -𝝶 -𝝶 -𝝶 -η -η - -𝝷 -𝝷 -𝝷 -θ -θ - -𝝸 -𝝸 -𝝸 -ι -ι - -𝝹 -𝝹 -𝝹 -κ -κ - -𝝺 -𝝺 -𝝺 -λ -λ - -𝝻 -𝝻 -𝝻 -μ -μ - -𝝼 -𝝼 -𝝼 -ν -ν - -𝝽 -𝝽 -𝝽 -ξ -ξ - -𝝾 -𝝾 -𝝾 -ο -ο - -𝝿 -𝝿 -𝝿 -π -π - -𝞀 -𝞀 -𝞀 -ρ -ρ - -𝞁 -𝞁 -𝞁 -ς -ς - -𝞂 -𝞂 -𝞂 -σ -σ - -𝞃 -𝞃 -𝞃 -τ -τ - -𝞄 -𝞄 -𝞄 -υ -υ - -𝞅 -𝞅 -𝞅 -φ -φ - -𝞆 -𝞆 -𝞆 -χ -χ - -𝞇 -𝞇 -𝞇 -ψ -ψ - -𝞈 -𝞈 -𝞈 -ω -ω - -𝞉 -𝞉 -𝞉 -∂ -∂ - -𝞊 -𝞊 -𝞊 -ε -ε - -𝞋 -𝞋 -𝞋 -θ -θ - -𝞌 -𝞌 -𝞌 -κ -κ - -𝞍 -𝞍 -𝞍 -φ -φ - -𝞎 -𝞎 -𝞎 -ρ -ρ - -𝞏 -𝞏 -𝞏 -π -π - -𝞐 -𝞐 -𝞐 -Α -Α - -𝞑 -𝞑 -𝞑 -Β -Β - -𝞒 -𝞒 -𝞒 -Γ -Γ - -𝞓 -𝞓 -𝞓 -Δ -Δ - -𝞔 -𝞔 -𝞔 -Ε -Ε - -𝞕 -𝞕 -𝞕 -Ζ -Ζ - -𝞖 -𝞖 -𝞖 -Η -Η - -𝞗 -𝞗 -𝞗 -Θ -Θ - -𝞘 -𝞘 -𝞘 -Ι -Ι - -𝞙 -𝞙 -𝞙 -Κ -Κ - -𝞚 -𝞚 -𝞚 -Λ -Λ - -𝞛 -𝞛 -𝞛 -Μ -Μ - -𝞜 -𝞜 -𝞜 -Ν -Ν - -𝞝 -𝞝 -𝞝 -Ξ -Ξ - -𝞞 -𝞞 -𝞞 -Ο -Ο - -𝞟 -𝞟 -𝞟 -Π -Π - -𝞠 -𝞠 -𝞠 -Ρ -Ρ - -𝞡 -𝞡 -𝞡 -Θ -Θ - -𝞢 -𝞢 -𝞢 -Σ -Σ - -𝞣 -𝞣 -𝞣 -Τ -Τ - -𝞤 -𝞤 -𝞤 -Υ -Υ - -𝞥 -𝞥 -𝞥 -Φ -Φ - -𝞦 -𝞦 -𝞦 -Χ -Χ - -𝞧 -𝞧 -𝞧 -Ψ -Ψ - -𝞨 -𝞨 -𝞨 -Ω -Ω - -𝞩 -𝞩 -𝞩 -∇ -∇ - -𝞪 -𝞪 -𝞪 -α -α - -𝞫 -𝞫 -𝞫 -β -β - -𝞬 -𝞬 -𝞬 -γ -γ - -𝞭 -𝞭 -𝞭 -δ -δ - -𝞮 -𝞮 -𝞮 -ε -ε - -𝞯 -𝞯 -𝞯 -ζ -ζ - -𝞰 -𝞰 -𝞰 -η -η - -𝞱 -𝞱 -𝞱 -θ -θ - -𝞲 -𝞲 -𝞲 -ι -ι - -𝞳 -𝞳 -𝞳 -κ -κ - -𝞴 -𝞴 -𝞴 -λ -λ - -𝞵 -𝞵 -𝞵 -μ -μ - -𝞶 -𝞶 -𝞶 -ν -ν - -𝞷 -𝞷 -𝞷 -ξ -ξ - -𝞸 -𝞸 -𝞸 -ο -ο - -𝞹 -𝞹 -𝞹 -π -π - -𝞺 -𝞺 -𝞺 -ρ -ρ - -𝞻 -𝞻 -𝞻 -ς -ς - -𝞼 -𝞼 -𝞼 -σ -σ - -𝞽 -𝞽 -𝞽 -τ -τ - -𝞾 -𝞾 -𝞾 -υ -υ - -𝞿 -𝞿 -𝞿 -φ -φ - -𝟀 -𝟀 -𝟀 -χ -χ - -𝟁 -𝟁 -𝟁 -ψ -ψ - -𝟂 -𝟂 -𝟂 -ω -ω - -𝟃 -𝟃 -𝟃 -∂ -∂ - -𝟄 -𝟄 -𝟄 -ε -ε - -𝟅 -𝟅 -𝟅 -θ -θ - -𝟆 -𝟆 -𝟆 -κ -κ - -𝟇 -𝟇 -𝟇 -φ -φ - -𝟈 -𝟈 -𝟈 -ρ -ρ - -𝟉 -𝟉 -𝟉 -π -π - -𝟊 -𝟊 -𝟊 -Ϝ -Ϝ - -𝟋 -𝟋 -𝟋 -ϝ -ϝ - -𝟎 -𝟎 -𝟎 -0 -0 - -𝟏 -𝟏 -𝟏 -1 -1 - -𝟐 -𝟐 -𝟐 -2 -2 - -𝟑 -𝟑 -𝟑 -3 -3 - -𝟒 -𝟒 -𝟒 -4 -4 - -𝟓 -𝟓 -𝟓 -5 -5 - -𝟔 -𝟔 -𝟔 -6 -6 - -𝟕 -𝟕 -𝟕 -7 -7 - -𝟖 -𝟖 -𝟖 -8 -8 - -𝟗 -𝟗 -𝟗 -9 -9 - -𝟘 -𝟘 -𝟘 -0 -0 - -𝟙 -𝟙 -𝟙 -1 -1 - -𝟚 -𝟚 -𝟚 -2 -2 - -𝟛 -𝟛 -𝟛 -3 -3 - -𝟜 -𝟜 -𝟜 -4 -4 - -𝟝 -𝟝 -𝟝 -5 -5 - -𝟞 -𝟞 -𝟞 -6 -6 - -𝟟 -𝟟 -𝟟 -7 -7 - -𝟠 -𝟠 -𝟠 -8 -8 - -𝟡 -𝟡 -𝟡 -9 -9 - -𝟢 -𝟢 -𝟢 -0 -0 - -𝟣 -𝟣 -𝟣 -1 -1 - -𝟤 -𝟤 -𝟤 -2 -2 - -𝟥 -𝟥 -𝟥 -3 -3 - -𝟦 -𝟦 -𝟦 -4 -4 - -𝟧 -𝟧 -𝟧 -5 -5 - -𝟨 -𝟨 -𝟨 -6 -6 - -𝟩 -𝟩 -𝟩 -7 -7 - -𝟪 -𝟪 -𝟪 -8 -8 - -𝟫 -𝟫 -𝟫 -9 -9 - -𝟬 -𝟬 -𝟬 -0 -0 - -𝟭 -𝟭 -𝟭 -1 -1 - -𝟮 -𝟮 -𝟮 -2 -2 - -𝟯 -𝟯 -𝟯 -3 -3 - -𝟰 -𝟰 -𝟰 -4 -4 - -𝟱 -𝟱 -𝟱 -5 -5 - -𝟲 -𝟲 -𝟲 -6 -6 - -𝟳 -𝟳 -𝟳 -7 -7 - -𝟴 -𝟴 -𝟴 -8 -8 - -𝟵 -𝟵 -𝟵 -9 -9 - -𝟶 -𝟶 -𝟶 -0 -0 - -𝟷 -𝟷 -𝟷 -1 -1 - -𝟸 -𝟸 -𝟸 -2 -2 - -𝟹 -𝟹 -𝟹 -3 -3 - -𝟺 -𝟺 -𝟺 -4 -4 - -𝟻 -𝟻 -𝟻 -5 -5 - -𝟼 -𝟼 -𝟼 -6 -6 - -𝟽 -𝟽 -𝟽 -7 -7 - -𝟾 -𝟾 -𝟾 -8 -8 - -𝟿 -𝟿 -𝟿 -9 -9 - -🄀 -🄀 -🄀 -0. -0. - -🄁 -🄁 -🄁 -0, -0, - -🄂 -🄂 -🄂 -1, -1, - -🄃 -🄃 -🄃 -2, -2, - -🄄 -🄄 -🄄 -3, -3, - -🄅 -🄅 -🄅 -4, -4, - -🄆 -🄆 -🄆 -5, -5, - -🄇 -🄇 -🄇 -6, -6, - -🄈 -🄈 -🄈 -7, -7, - -🄉 -🄉 -🄉 -8, -8, - -🄊 -🄊 -🄊 -9, -9, - -🄐 -🄐 -🄐 -(A) -(A) - -🄑 -🄑 -🄑 -(B) -(B) - -🄒 -🄒 -🄒 -(C) -(C) - -🄓 -🄓 -🄓 -(D) -(D) - -🄔 -🄔 -🄔 -(E) -(E) - -🄕 -🄕 -🄕 -(F) -(F) - -🄖 -🄖 -🄖 -(G) -(G) - -🄗 -🄗 -🄗 -(H) -(H) - -🄘 -🄘 -🄘 -(I) -(I) - -🄙 -🄙 -🄙 -(J) -(J) - -🄚 -🄚 -🄚 -(K) -(K) - -🄛 -🄛 -🄛 -(L) -(L) - -🄜 -🄜 -🄜 -(M) -(M) - -🄝 -🄝 -🄝 -(N) -(N) - -🄞 -🄞 -🄞 -(O) -(O) - -🄟 -🄟 -🄟 -(P) -(P) - -🄠 -🄠 -🄠 -(Q) -(Q) - -🄡 -🄡 -🄡 -(R) -(R) - -🄢 -🄢 -🄢 -(S) -(S) - -🄣 -🄣 -🄣 -(T) -(T) - -🄤 -🄤 -🄤 -(U) -(U) - -🄥 -🄥 -🄥 -(V) -(V) - -🄦 -🄦 -🄦 -(W) -(W) - -🄧 -🄧 -🄧 -(X) -(X) - -🄨 -🄨 -🄨 -(Y) -(Y) - -🄩 -🄩 -🄩 -(Z) -(Z) - -🄪 -🄪 -🄪 -〔S〕 -〔S〕 - -🄫 -🄫 -🄫 -C -C - -🄬 -🄬 -🄬 -R -R - -🄭 -🄭 -🄭 -CD -CD - -🄮 -🄮 -🄮 -WZ -WZ - -🄰 -🄰 -🄰 -A -A - -🄱 -🄱 -🄱 -B -B - -🄲 -🄲 -🄲 -C -C - -🄳 -🄳 -🄳 -D -D - -🄴 -🄴 -🄴 -E -E - -🄵 -🄵 -🄵 -F -F - -🄶 -🄶 -🄶 -G -G - -🄷 -🄷 -🄷 -H -H - -🄸 -🄸 -🄸 -I -I - -🄹 -🄹 -🄹 -J -J - -🄺 -🄺 -🄺 -K -K - -🄻 -🄻 -🄻 -L -L - -🄼 -🄼 -🄼 -M -M - -🄽 -🄽 -🄽 -N -N - -🄾 -🄾 -🄾 -O -O - -🄿 -🄿 -🄿 -P -P - -🅀 -🅀 -🅀 -Q -Q - -🅁 -🅁 -🅁 -R -R - -🅂 -🅂 -🅂 -S -S - -🅃 -🅃 -🅃 -T -T - -🅄 -🅄 -🅄 -U -U - -🅅 -🅅 -🅅 -V -V - -🅆 -🅆 -🅆 -W -W - -🅇 -🅇 -🅇 -X -X - -🅈 -🅈 -🅈 -Y -Y - -🅉 -🅉 -🅉 -Z -Z - -🅊 -🅊 -🅊 -HV -HV - -🅋 -🅋 -🅋 -MV -MV - -🅌 -🅌 -🅌 -SD -SD - -🅍 -🅍 -🅍 -SS -SS - -🅎 -🅎 -🅎 -PPV -PPV - -🅏 -🅏 -🅏 -WC -WC - -🆐 -🆐 -🆐 -DJ -DJ - -🈀 -🈀 -🈀 -ほか -ほか - -🈁 -🈁 -🈁 -ココ -ココ - -🈂 -🈂 -🈂 -サ -サ - -🈐 -🈐 -🈐 -手 -手 - -🈑 -🈑 -🈑 -字 -字 - -🈒 -🈒 -🈒 -双 -双 - -🈓 -🈓 -🈓 -デ -デ - -🈔 -🈔 -🈔 -二 -二 - -🈕 -🈕 -🈕 -多 -多 - -🈖 -🈖 -🈖 -解 -解 - -🈗 -🈗 -🈗 -天 -天 - -🈘 -🈘 -🈘 -交 -交 - -🈙 -🈙 -🈙 -映 -映 - -🈚 -🈚 -🈚 -無 -無 - -🈛 -🈛 -🈛 -料 -料 - -🈜 -🈜 -🈜 -前 -前 - -🈝 -🈝 -🈝 -後 -後 - -🈞 -🈞 -🈞 -再 -再 - -🈟 -🈟 -🈟 -新 -新 - -🈠 -🈠 -🈠 -初 -初 - -🈡 -🈡 -🈡 -終 -終 - -🈢 -🈢 -🈢 -生 -生 - -🈣 -🈣 -🈣 -販 -販 - -🈤 -🈤 -🈤 -声 -声 - -🈥 -🈥 -🈥 -吹 -吹 - -🈦 -🈦 -🈦 -演 -演 - -🈧 -🈧 -🈧 -投 -投 - -🈨 -🈨 -🈨 -捕 -捕 - -🈩 -🈩 -🈩 -一 -一 - -🈪 -🈪 -🈪 -三 -三 - -🈫 -🈫 -🈫 -遊 -遊 - -🈬 -🈬 -🈬 -左 -左 - -🈭 -🈭 -🈭 -中 -中 - -🈮 -🈮 -🈮 -右 -右 - -🈯 -🈯 -🈯 -指 -指 - -🈰 -🈰 -🈰 -走 -走 - -🈱 -🈱 -🈱 -打 -打 - -🈲 -🈲 -🈲 -禁 -禁 - -🈳 -🈳 -🈳 -空 -空 - -🈴 -🈴 -🈴 -合 -合 - -🈵 -🈵 -🈵 -満 -満 - -🈶 -🈶 -🈶 -有 -有 - -🈷 -🈷 -🈷 -月 -月 - -🈸 -🈸 -🈸 -申 -申 - -🈹 -🈹 -🈹 -割 -割 - -🈺 -🈺 -🈺 -営 -営 - -🉀 -🉀 -🉀 -〔本〕 -〔本〕 - -🉁 -🉁 -🉁 -〔三〕 -〔三〕 - -🉂 -🉂 -🉂 -〔二〕 -〔二〕 - -🉃 -🉃 -🉃 -〔安〕 -〔安〕 - -🉄 -🉄 -🉄 -〔点〕 -〔点〕 - -🉅 -🉅 -🉅 -〔打〕 -〔打〕 - -🉆 -🉆 -🉆 -〔盗〕 -〔盗〕 - -🉇 -🉇 -🉇 -〔勝〕 -〔勝〕 - -🉈 -🉈 -🉈 -〔敗〕 -〔敗〕 - -🉐 -🉐 -🉐 -得 -得 - -🉑 -🉑 -🉑 -可 -可 - -丽 -丽 -丽 -丽 -丽 - -丸 -丸 -丸 -丸 -丸 - -乁 -乁 -乁 -乁 -乁 - -𠄢 -𠄢 -𠄢 -𠄢 -𠄢 - -你 -你 -你 -你 -你 - -侮 -侮 -侮 -侮 -侮 - -侻 -侻 -侻 -侻 -侻 - -倂 -倂 -倂 -倂 -倂 - -偺 -偺 -偺 -偺 -偺 - -備 -備 -備 -備 -備 - -僧 -僧 -僧 -僧 -僧 - -像 -像 -像 -像 -像 - -㒞 -㒞 -㒞 -㒞 -㒞 - -𠘺 -𠘺 -𠘺 -𠘺 -𠘺 - -免 -免 -免 -免 -免 - -兔 -兔 -兔 -兔 -兔 - -兤 -兤 -兤 -兤 -兤 - -具 -具 -具 -具 -具 - -𠔜 -𠔜 -𠔜 -𠔜 -𠔜 - -㒹 -㒹 -㒹 -㒹 -㒹 - -內 -內 -內 -內 -內 - -再 -再 -再 -再 -再 - -𠕋 -𠕋 -𠕋 -𠕋 -𠕋 - -冗 -冗 -冗 -冗 -冗 - -冤 -冤 -冤 -冤 -冤 - -仌 -仌 -仌 -仌 -仌 - -冬 -冬 -冬 -冬 -冬 - -况 -况 -况 -况 -况 - -𩇟 -𩇟 -𩇟 -𩇟 -𩇟 - -凵 -凵 -凵 -凵 -凵 - -刃 -刃 -刃 -刃 -刃 - -㓟 -㓟 -㓟 -㓟 -㓟 - -刻 -刻 -刻 -刻 -刻 - -剆 -剆 -剆 -剆 -剆 - -割 -割 -割 -割 -割 - -剷 -剷 -剷 -剷 -剷 - -㔕 -㔕 -㔕 -㔕 -㔕 - -勇 -勇 -勇 -勇 -勇 - -勉 -勉 -勉 -勉 -勉 - -勤 -勤 -勤 -勤 -勤 - -勺 -勺 -勺 -勺 -勺 - -包 -包 -包 -包 -包 - -匆 -匆 -匆 -匆 -匆 - -北 -北 -北 -北 -北 - -卉 -卉 -卉 -卉 -卉 - -卑 -卑 -卑 -卑 -卑 - -博 -博 -博 -博 -博 - -即 -即 -即 -即 -即 - -卽 -卽 -卽 -卽 -卽 - -卿 -卿 -卿 -卿 -卿 - -卿 -卿 -卿 -卿 -卿 - -卿 -卿 -卿 -卿 -卿 - -𠨬 -𠨬 -𠨬 -𠨬 -𠨬 - -灰 -灰 -灰 -灰 -灰 - -及 -及 -及 -及 -及 - -叟 -叟 -叟 -叟 -叟 - -𠭣 -𠭣 -𠭣 -𠭣 -𠭣 - -叫 -叫 -叫 -叫 -叫 - -叱 -叱 -叱 -叱 -叱 - -吆 -吆 -吆 -吆 -吆 - -咞 -咞 -咞 -咞 -咞 - -吸 -吸 -吸 -吸 -吸 - -呈 -呈 -呈 -呈 -呈 - -周 -周 -周 -周 -周 - -咢 -咢 -咢 -咢 -咢 - -哶 -哶 -哶 -哶 -哶 - -唐 -唐 -唐 -唐 -唐 - -啓 -啓 -啓 -啓 -啓 - -啣 -啣 -啣 -啣 -啣 - -善 -善 -善 -善 -善 - -善 -善 -善 -善 -善 - -喙 -喙 -喙 -喙 -喙 - -喫 -喫 -喫 -喫 -喫 - -喳 -喳 -喳 -喳 -喳 - -嗂 -嗂 -嗂 -嗂 -嗂 - -圖 -圖 -圖 -圖 -圖 - -嘆 -嘆 -嘆 -嘆 -嘆 - -圗 -圗 -圗 -圗 -圗 - -噑 -噑 -噑 -噑 -噑 - -噴 -噴 -噴 -噴 -噴 - -切 -切 -切 -切 -切 - -壮 -壮 -壮 -壮 -壮 - -城 -城 -城 -城 -城 - -埴 -埴 -埴 -埴 -埴 - -堍 -堍 -堍 -堍 -堍 - -型 -型 -型 -型 -型 - -堲 -堲 -堲 -堲 -堲 - -報 -報 -報 -報 -報 - -墬 -墬 -墬 -墬 -墬 - -𡓤 -𡓤 -𡓤 -𡓤 -𡓤 - -売 -売 -売 -売 -売 - -壷 -壷 -壷 -壷 -壷 - -夆 -夆 -夆 -夆 -夆 - -多 -多 -多 -多 -多 - -夢 -夢 -夢 -夢 -夢 - -奢 -奢 -奢 -奢 -奢 - -𡚨 -𡚨 -𡚨 -𡚨 -𡚨 - -𡛪 -𡛪 -𡛪 -𡛪 -𡛪 - -姬 -姬 -姬 -姬 -姬 - -娛 -娛 -娛 -娛 -娛 - -娧 -娧 -娧 -娧 -娧 - -姘 -姘 -姘 -姘 -姘 - -婦 -婦 -婦 -婦 -婦 - -㛮 -㛮 -㛮 -㛮 -㛮 - -㛼 -㛼 -㛼 -㛼 -㛼 - -嬈 -嬈 -嬈 -嬈 -嬈 - -嬾 -嬾 -嬾 -嬾 -嬾 - -嬾 -嬾 -嬾 -嬾 -嬾 - -𡧈 -𡧈 -𡧈 -𡧈 -𡧈 - -寃 -寃 -寃 -寃 -寃 - -寘 -寘 -寘 -寘 -寘 - -寧 -寧 -寧 -寧 -寧 - -寳 -寳 -寳 -寳 -寳 - -𡬘 -𡬘 -𡬘 -𡬘 -𡬘 - -寿 -寿 -寿 -寿 -寿 - -将 -将 -将 -将 -将 - -当 -当 -当 -当 -当 - -尢 -尢 -尢 -尢 -尢 - -㞁 -㞁 -㞁 -㞁 -㞁 - -屠 -屠 -屠 -屠 -屠 - -屮 -屮 -屮 -屮 -屮 - -峀 -峀 -峀 -峀 -峀 - -岍 -岍 -岍 -岍 -岍 - -𡷤 -𡷤 -𡷤 -𡷤 -𡷤 - -嵃 -嵃 -嵃 -嵃 -嵃 - -𡷦 -𡷦 -𡷦 -𡷦 -𡷦 - -嵮 -嵮 -嵮 -嵮 -嵮 - -嵫 -嵫 -嵫 -嵫 -嵫 - -嵼 -嵼 -嵼 -嵼 -嵼 - -巡 -巡 -巡 -巡 -巡 - -巢 -巢 -巢 -巢 -巢 - -㠯 -㠯 -㠯 -㠯 -㠯 - -巽 -巽 -巽 -巽 -巽 - -帨 -帨 -帨 -帨 -帨 - -帽 -帽 -帽 -帽 -帽 - -幩 -幩 -幩 -幩 -幩 - -㡢 -㡢 -㡢 -㡢 -㡢 - -𢆃 -𢆃 -𢆃 -𢆃 -𢆃 - -㡼 -㡼 -㡼 -㡼 -㡼 - -庰 -庰 -庰 -庰 -庰 - -庳 -庳 -庳 -庳 -庳 - -庶 -庶 -庶 -庶 -庶 - -廊 -廊 -廊 -廊 -廊 - -𪎒 -𪎒 -𪎒 -𪎒 -𪎒 - -廾 -廾 -廾 -廾 -廾 - -𢌱 -𢌱 -𢌱 -𢌱 -𢌱 - -𢌱 -𢌱 -𢌱 -𢌱 -𢌱 - -舁 -舁 -舁 -舁 -舁 - -弢 -弢 -弢 -弢 -弢 - -弢 -弢 -弢 -弢 -弢 - -㣇 -㣇 -㣇 -㣇 -㣇 - -𣊸 -𣊸 -𣊸 -𣊸 -𣊸 - -𦇚 -𦇚 -𦇚 -𦇚 -𦇚 - -形 -形 -形 -形 -形 - -彫 -彫 -彫 -彫 -彫 - -㣣 -㣣 -㣣 -㣣 -㣣 - -徚 -徚 -徚 -徚 -徚 - -忍 -忍 -忍 -忍 -忍 - -志 -志 -志 -志 -志 - -忹 -忹 -忹 -忹 -忹 - -悁 -悁 -悁 -悁 -悁 - -㤺 -㤺 -㤺 -㤺 -㤺 - -㤜 -㤜 -㤜 -㤜 -㤜 - -悔 -悔 -悔 -悔 -悔 - -𢛔 -𢛔 -𢛔 -𢛔 -𢛔 - -惇 -惇 -惇 -惇 -惇 - -慈 -慈 -慈 -慈 -慈 - -慌 -慌 -慌 -慌 -慌 - -慎 -慎 -慎 -慎 -慎 - -慌 -慌 -慌 -慌 -慌 - -慺 -慺 -慺 -慺 -慺 - -憎 -憎 -憎 -憎 -憎 - -憲 -憲 -憲 -憲 -憲 - -憤 -憤 -憤 -憤 -憤 - -憯 -憯 -憯 -憯 -憯 - -懞 -懞 -懞 -懞 -懞 - -懲 -懲 -懲 -懲 -懲 - -懶 -懶 -懶 -懶 -懶 - -成 -成 -成 -成 -成 - -戛 -戛 -戛 -戛 -戛 - -扝 -扝 -扝 -扝 -扝 - -抱 -抱 -抱 -抱 -抱 - -拔 -拔 -拔 -拔 -拔 - -捐 -捐 -捐 -捐 -捐 - -𢬌 -𢬌 -𢬌 -𢬌 -𢬌 - -挽 -挽 -挽 -挽 -挽 - -拼 -拼 -拼 -拼 -拼 - -捨 -捨 -捨 -捨 -捨 - -掃 -掃 -掃 -掃 -掃 - -揤 -揤 -揤 -揤 -揤 - -𢯱 -𢯱 -𢯱 -𢯱 -𢯱 - -搢 -搢 -搢 -搢 -搢 - -揅 -揅 -揅 -揅 -揅 - -掩 -掩 -掩 -掩 -掩 - -㨮 -㨮 -㨮 -㨮 -㨮 - -摩 -摩 -摩 -摩 -摩 - -摾 -摾 -摾 -摾 -摾 - -撝 -撝 -撝 -撝 -撝 - -摷 -摷 -摷 -摷 -摷 - -㩬 -㩬 -㩬 -㩬 -㩬 - -敏 -敏 -敏 -敏 -敏 - -敬 -敬 -敬 -敬 -敬 - -𣀊 -𣀊 -𣀊 -𣀊 -𣀊 - -旣 -旣 -旣 -旣 -旣 - -書 -書 -書 -書 -書 - -晉 -晉 -晉 -晉 -晉 - -㬙 -㬙 -㬙 -㬙 -㬙 - -暑 -暑 -暑 -暑 -暑 - -㬈 -㬈 -㬈 -㬈 -㬈 - -㫤 -㫤 -㫤 -㫤 -㫤 - -冒 -冒 -冒 -冒 -冒 - -冕 -冕 -冕 -冕 -冕 - -最 -最 -最 -最 -最 - -暜 -暜 -暜 -暜 -暜 - -肭 -肭 -肭 -肭 -肭 - -䏙 -䏙 -䏙 -䏙 -䏙 - -朗 -朗 -朗 -朗 -朗 - -望 -望 -望 -望 -望 - -朡 -朡 -朡 -朡 -朡 - -杞 -杞 -杞 -杞 -杞 - -杓 -杓 -杓 -杓 -杓 - -𣏃 -𣏃 -𣏃 -𣏃 -𣏃 - -㭉 -㭉 -㭉 -㭉 -㭉 - -柺 -柺 -柺 -柺 -柺 - -枅 -枅 -枅 -枅 -枅 - -桒 -桒 -桒 -桒 -桒 - -梅 -梅 -梅 -梅 -梅 - -𣑭 -𣑭 -𣑭 -𣑭 -𣑭 - -梎 -梎 -梎 -梎 -梎 - -栟 -栟 -栟 -栟 -栟 - -椔 -椔 -椔 -椔 -椔 - -㮝 -㮝 -㮝 -㮝 -㮝 - -楂 -楂 -楂 -楂 -楂 - -榣 -榣 -榣 -榣 -榣 - -槪 -槪 -槪 -槪 -槪 - -檨 -檨 -檨 -檨 -檨 - -𣚣 -𣚣 -𣚣 -𣚣 -𣚣 - -櫛 -櫛 -櫛 -櫛 -櫛 - -㰘 -㰘 -㰘 -㰘 -㰘 - -次 -次 -次 -次 -次 - -𣢧 -𣢧 -𣢧 -𣢧 -𣢧 - -歔 -歔 -歔 -歔 -歔 - -㱎 -㱎 -㱎 -㱎 -㱎 - -歲 -歲 -歲 -歲 -歲 - -殟 -殟 -殟 -殟 -殟 - -殺 -殺 -殺 -殺 -殺 - -殻 -殻 -殻 -殻 -殻 - -𣪍 -𣪍 -𣪍 -𣪍 -𣪍 - -𡴋 -𡴋 -𡴋 -𡴋 -𡴋 - -𣫺 -𣫺 -𣫺 -𣫺 -𣫺 - -汎 -汎 -汎 -汎 -汎 - -𣲼 -𣲼 -𣲼 -𣲼 -𣲼 - -沿 -沿 -沿 -沿 -沿 - -泍 -泍 -泍 -泍 -泍 - -汧 -汧 -汧 -汧 -汧 - -洖 -洖 -洖 -洖 -洖 - -派 -派 -派 -派 -派 - -海 -海 -海 -海 -海 - -流 -流 -流 -流 -流 - -浩 -浩 -浩 -浩 -浩 - -浸 -浸 -浸 -浸 -浸 - -涅 -涅 -涅 -涅 -涅 - -𣴞 -𣴞 -𣴞 -𣴞 -𣴞 - -洴 -洴 -洴 -洴 -洴 - -港 -港 -港 -港 -港 - -湮 -湮 -湮 -湮 -湮 - -㴳 -㴳 -㴳 -㴳 -㴳 - -滋 -滋 -滋 -滋 -滋 - -滇 -滇 -滇 -滇 -滇 - -𣻑 -𣻑 -𣻑 -𣻑 -𣻑 - -淹 -淹 -淹 -淹 -淹 - -潮 -潮 -潮 -潮 -潮 - -𣽞 -𣽞 -𣽞 -𣽞 -𣽞 - -𣾎 -𣾎 -𣾎 -𣾎 -𣾎 - -濆 -濆 -濆 -濆 -濆 - -瀹 -瀹 -瀹 -瀹 -瀹 - -瀞 -瀞 -瀞 -瀞 -瀞 - -瀛 -瀛 -瀛 -瀛 -瀛 - -㶖 -㶖 -㶖 -㶖 -㶖 - -灊 -灊 -灊 -灊 -灊 - -災 -災 -災 -災 -災 - -灷 -灷 -灷 -灷 -灷 - -炭 -炭 -炭 -炭 -炭 - -𠔥 -𠔥 -𠔥 -𠔥 -𠔥 - -煅 -煅 -煅 -煅 -煅 - -𤉣 -𤉣 -𤉣 -𤉣 -𤉣 - -熜 -熜 -熜 -熜 -熜 - -𤎫 -𤎫 -𤎫 -𤎫 -𤎫 - -爨 -爨 -爨 -爨 -爨 - -爵 -爵 -爵 -爵 -爵 - -牐 -牐 -牐 -牐 -牐 - -𤘈 -𤘈 -𤘈 -𤘈 -𤘈 - -犀 -犀 -犀 -犀 -犀 - -犕 -犕 -犕 -犕 -犕 - -𤜵 -𤜵 -𤜵 -𤜵 -𤜵 - -𤠔 -𤠔 -𤠔 -𤠔 -𤠔 - -獺 -獺 -獺 -獺 -獺 - -王 -王 -王 -王 -王 - -㺬 -㺬 -㺬 -㺬 -㺬 - -玥 -玥 -玥 -玥 -玥 - -㺸 -㺸 -㺸 -㺸 -㺸 - -㺸 -㺸 -㺸 -㺸 -㺸 - -瑇 -瑇 -瑇 -瑇 -瑇 - -瑜 -瑜 -瑜 -瑜 -瑜 - -瑱 -瑱 -瑱 -瑱 -瑱 - -璅 -璅 -璅 -璅 -璅 - -瓊 -瓊 -瓊 -瓊 -瓊 - -㼛 -㼛 -㼛 -㼛 -㼛 - -甤 -甤 -甤 -甤 -甤 - -𤰶 -𤰶 -𤰶 -𤰶 -𤰶 - -甾 -甾 -甾 -甾 -甾 - -𤲒 -𤲒 -𤲒 -𤲒 -𤲒 - -異 -異 -異 -異 -異 - -𢆟 -𢆟 -𢆟 -𢆟 -𢆟 - -瘐 -瘐 -瘐 -瘐 -瘐 - -𤾡 -𤾡 -𤾡 -𤾡 -𤾡 - -𤾸 -𤾸 -𤾸 -𤾸 -𤾸 - -𥁄 -𥁄 -𥁄 -𥁄 -𥁄 - -㿼 -㿼 -㿼 -㿼 -㿼 - -䀈 -䀈 -䀈 -䀈 -䀈 - -直 -直 -直 -直 -直 - -𥃳 -𥃳 -𥃳 -𥃳 -𥃳 - -𥃲 -𥃲 -𥃲 -𥃲 -𥃲 - -𥄙 -𥄙 -𥄙 -𥄙 -𥄙 - -𥄳 -𥄳 -𥄳 -𥄳 -𥄳 - -眞 -眞 -眞 -眞 -眞 - -真 -真 -真 -真 -真 - -真 -真 -真 -真 -真 - -睊 -睊 -睊 -睊 -睊 - -䀹 -䀹 -䀹 -䀹 -䀹 - -瞋 -瞋 -瞋 -瞋 -瞋 - -䁆 -䁆 -䁆 -䁆 -䁆 - -䂖 -䂖 -䂖 -䂖 -䂖 - -𥐝 -𥐝 -𥐝 -𥐝 -𥐝 - -硎 -硎 -硎 -硎 -硎 - -碌 -碌 -碌 -碌 -碌 - -磌 -磌 -磌 -磌 -磌 - -䃣 -䃣 -䃣 -䃣 -䃣 - -𥘦 -𥘦 -𥘦 -𥘦 -𥘦 - -祖 -祖 -祖 -祖 -祖 - -𥚚 -𥚚 -𥚚 -𥚚 -𥚚 - -𥛅 -𥛅 -𥛅 -𥛅 -𥛅 - -福 -福 -福 -福 -福 - -秫 -秫 -秫 -秫 -秫 - -䄯 -䄯 -䄯 -䄯 -䄯 - -穀 -穀 -穀 -穀 -穀 - -穊 -穊 -穊 -穊 -穊 - -穏 -穏 -穏 -穏 -穏 - -𥥼 -𥥼 -𥥼 -𥥼 -𥥼 - -𥪧 -𥪧 -𥪧 -𥪧 -𥪧 - -𥪧 -𥪧 -𥪧 -𥪧 -𥪧 - -竮 -竮 -竮 -竮 -竮 - -䈂 -䈂 -䈂 -䈂 -䈂 - -𥮫 -𥮫 -𥮫 -𥮫 -𥮫 - -篆 -篆 -篆 -篆 -篆 - -築 -築 -築 -築 -築 - -䈧 -䈧 -䈧 -䈧 -䈧 - -𥲀 -𥲀 -𥲀 -𥲀 -𥲀 - -糒 -糒 -糒 -糒 -糒 - -䊠 -䊠 -䊠 -䊠 -䊠 - -糨 -糨 -糨 -糨 -糨 - -糣 -糣 -糣 -糣 -糣 - -紀 -紀 -紀 -紀 -紀 - -𥾆 -𥾆 -𥾆 -𥾆 -𥾆 - -絣 -絣 -絣 -絣 -絣 - -䌁 -䌁 -䌁 -䌁 -䌁 - -緇 -緇 -緇 -緇 -緇 - -縂 -縂 -縂 -縂 -縂 - -繅 -繅 -繅 -繅 -繅 - -䌴 -䌴 -䌴 -䌴 -䌴 - -𦈨 -𦈨 -𦈨 -𦈨 -𦈨 - -𦉇 -𦉇 -𦉇 -𦉇 -𦉇 - -䍙 -䍙 -䍙 -䍙 -䍙 - -𦋙 -𦋙 -𦋙 -𦋙 -𦋙 - -罺 -罺 -罺 -罺 -罺 - -𦌾 -𦌾 -𦌾 -𦌾 -𦌾 - -羕 -羕 -羕 -羕 -羕 - -翺 -翺 -翺 -翺 -翺 - -者 -者 -者 -者 -者 - -𦓚 -𦓚 -𦓚 -𦓚 -𦓚 - -𦔣 -𦔣 -𦔣 -𦔣 -𦔣 - -聠 -聠 -聠 -聠 -聠 - -𦖨 -𦖨 -𦖨 -𦖨 -𦖨 - -聰 -聰 -聰 -聰 -聰 - -𣍟 -𣍟 -𣍟 -𣍟 -𣍟 - -䏕 -䏕 -䏕 -䏕 -䏕 - -育 -育 -育 -育 -育 - -脃 -脃 -脃 -脃 -脃 - -䐋 -䐋 -䐋 -䐋 -䐋 - -脾 -脾 -脾 -脾 -脾 - -媵 -媵 -媵 -媵 -媵 - -𦞧 -𦞧 -𦞧 -𦞧 -𦞧 - -𦞵 -𦞵 -𦞵 -𦞵 -𦞵 - -𣎓 -𣎓 -𣎓 -𣎓 -𣎓 - -𣎜 -𣎜 -𣎜 -𣎜 -𣎜 - -舁 -舁 -舁 -舁 -舁 - -舄 -舄 -舄 -舄 -舄 - -辞 -辞 -辞 -辞 -辞 - -䑫 -䑫 -䑫 -䑫 -䑫 - -芑 -芑 -芑 -芑 -芑 - -芋 -芋 -芋 -芋 -芋 - -芝 -芝 -芝 -芝 -芝 - -劳 -劳 -劳 -劳 -劳 - -花 -花 -花 -花 -花 - -芳 -芳 -芳 -芳 -芳 - -芽 -芽 -芽 -芽 -芽 - -苦 -苦 -苦 -苦 -苦 - -𦬼 -𦬼 -𦬼 -𦬼 -𦬼 - -若 -若 -若 -若 -若 - -茝 -茝 -茝 -茝 -茝 - -荣 -荣 -荣 -荣 -荣 - -莭 -莭 -莭 -莭 -莭 - -茣 -茣 -茣 -茣 -茣 - -莽 -莽 -莽 -莽 -莽 - -菧 -菧 -菧 -菧 -菧 - -著 -著 -著 -著 -著 - -荓 -荓 -荓 -荓 -荓 - -菊 -菊 -菊 -菊 -菊 - -菌 -菌 -菌 -菌 -菌 - -菜 -菜 -菜 -菜 -菜 - -𦰶 -𦰶 -𦰶 -𦰶 -𦰶 - -𦵫 -𦵫 -𦵫 -𦵫 -𦵫 - -𦳕 -𦳕 -𦳕 -𦳕 -𦳕 - -䔫 -䔫 -䔫 -䔫 -䔫 - -蓱 -蓱 -蓱 -蓱 -蓱 - -蓳 -蓳 -蓳 -蓳 -蓳 - -蔖 -蔖 -蔖 -蔖 -蔖 - -𧏊 -𧏊 -𧏊 -𧏊 -𧏊 - -蕤 -蕤 -蕤 -蕤 -蕤 - -𦼬 -𦼬 -𦼬 -𦼬 -𦼬 - -䕝 -䕝 -䕝 -䕝 -䕝 - -䕡 -䕡 -䕡 -䕡 -䕡 - -𦾱 -𦾱 -𦾱 -𦾱 -𦾱 - -𧃒 -𧃒 -𧃒 -𧃒 -𧃒 - -䕫 -䕫 -䕫 -䕫 -䕫 - -虐 -虐 -虐 -虐 -虐 - -虜 -虜 -虜 -虜 -虜 - -虧 -虧 -虧 -虧 -虧 - -虩 -虩 -虩 -虩 -虩 - -蚩 -蚩 -蚩 -蚩 -蚩 - -蚈 -蚈 -蚈 -蚈 -蚈 - -蜎 -蜎 -蜎 -蜎 -蜎 - -蛢 -蛢 -蛢 -蛢 -蛢 - -蝹 -蝹 -蝹 -蝹 -蝹 - -蜨 -蜨 -蜨 -蜨 -蜨 - -蝫 -蝫 -蝫 -蝫 -蝫 - -螆 -螆 -螆 -螆 -螆 - -䗗 -䗗 -䗗 -䗗 -䗗 - -蟡 -蟡 -蟡 -蟡 -蟡 - -蠁 -蠁 -蠁 -蠁 -蠁 - -䗹 -䗹 -䗹 -䗹 -䗹 - -衠 -衠 -衠 -衠 -衠 - -衣 -衣 -衣 -衣 -衣 - -𧙧 -𧙧 -𧙧 -𧙧 -𧙧 - -裗 -裗 -裗 -裗 -裗 - -裞 -裞 -裞 -裞 -裞 - -䘵 -䘵 -䘵 -䘵 -䘵 - -裺 -裺 -裺 -裺 -裺 - -㒻 -㒻 -㒻 -㒻 -㒻 - -𧢮 -𧢮 -𧢮 -𧢮 -𧢮 - -𧥦 -𧥦 -𧥦 -𧥦 -𧥦 - -䚾 -䚾 -䚾 -䚾 -䚾 - -䛇 -䛇 -䛇 -䛇 -䛇 - -誠 -誠 -誠 -誠 -誠 - -諭 -諭 -諭 -諭 -諭 - -變 -變 -變 -變 -變 - -豕 -豕 -豕 -豕 -豕 - -𧲨 -𧲨 -𧲨 -𧲨 -𧲨 - -貫 -貫 -貫 -貫 -貫 - -賁 -賁 -賁 -賁 -賁 - -贛 -贛 -贛 -贛 -贛 - -起 -起 -起 -起 -起 - -𧼯 -𧼯 -𧼯 -𧼯 -𧼯 - -𠠄 -𠠄 -𠠄 -𠠄 -𠠄 - -跋 -跋 -跋 -跋 -跋 - -趼 -趼 -趼 -趼 -趼 - -跰 -跰 -跰 -跰 -跰 - -𠣞 -𠣞 -𠣞 -𠣞 -𠣞 - -軔 -軔 -軔 -軔 -軔 - -輸 -輸 -輸 -輸 -輸 - -𨗒 -𨗒 -𨗒 -𨗒 -𨗒 - -𨗭 -𨗭 -𨗭 -𨗭 -𨗭 - -邔 -邔 -邔 -邔 -邔 - -郱 -郱 -郱 -郱 -郱 - -鄑 -鄑 -鄑 -鄑 -鄑 - -𨜮 -𨜮 -𨜮 -𨜮 -𨜮 - -鄛 -鄛 -鄛 -鄛 -鄛 - -鈸 -鈸 -鈸 -鈸 -鈸 - -鋗 -鋗 -鋗 -鋗 -鋗 - -鋘 -鋘 -鋘 -鋘 -鋘 - -鉼 -鉼 -鉼 -鉼 -鉼 - -鏹 -鏹 -鏹 -鏹 -鏹 - -鐕 -鐕 -鐕 -鐕 -鐕 - -𨯺 -𨯺 -𨯺 -𨯺 -𨯺 - -開 -開 -開 -開 -開 - -䦕 -䦕 -䦕 -䦕 -䦕 - -閷 -閷 -閷 -閷 -閷 - -𨵷 -𨵷 -𨵷 -𨵷 -𨵷 - -䧦 -䧦 -䧦 -䧦 -䧦 - -雃 -雃 -雃 -雃 -雃 - -嶲 -嶲 -嶲 -嶲 -嶲 - -霣 -霣 -霣 -霣 -霣 - -𩅅 -𩅅 -𩅅 -𩅅 -𩅅 - -𩈚 -𩈚 -𩈚 -𩈚 -𩈚 - -䩮 -䩮 -䩮 -䩮 -䩮 - -䩶 -䩶 -䩶 -䩶 -䩶 - -韠 -韠 -韠 -韠 -韠 - -𩐊 -𩐊 -𩐊 -𩐊 -𩐊 - -䪲 -䪲 -䪲 -䪲 -䪲 - -𩒖 -𩒖 -𩒖 -𩒖 -𩒖 - -頋 -頋 -頋 -頋 -頋 - -頋 -頋 -頋 -頋 -頋 - -頩 -頩 -頩 -頩 -頩 - -𩖶 -𩖶 -𩖶 -𩖶 -𩖶 - -飢 -飢 -飢 -飢 -飢 - -䬳 -䬳 -䬳 -䬳 -䬳 - -餩 -餩 -餩 -餩 -餩 - -馧 -馧 -馧 -馧 -馧 - -駂 -駂 -駂 -駂 -駂 - -駾 -駾 -駾 -駾 -駾 - -䯎 -䯎 -䯎 -䯎 -䯎 - -𩬰 -𩬰 -𩬰 -𩬰 -𩬰 - -鬒 -鬒 -鬒 -鬒 -鬒 - -鱀 -鱀 -鱀 -鱀 -鱀 - -鳽 -鳽 -鳽 -鳽 -鳽 - -䳎 -䳎 -䳎 -䳎 -䳎 - -䳭 -䳭 -䳭 -䳭 -䳭 - -鵧 -鵧 -鵧 -鵧 -鵧 - -𪃎 -𪃎 -𪃎 -𪃎 -𪃎 - -䳸 -䳸 -䳸 -䳸 -䳸 - -𪄅 -𪄅 -𪄅 -𪄅 -𪄅 - -𪈎 -𪈎 -𪈎 -𪈎 -𪈎 - -𪊑 -𪊑 -𪊑 -𪊑 -𪊑 - -麻 -麻 -麻 -麻 -麻 - -䵖 -䵖 -䵖 -䵖 -䵖 - -黹 -黹 -黹 -黹 -黹 - -黾 -黾 -黾 -黾 -黾 - -鼅 -鼅 -鼅 -鼅 -鼅 - -鼏 -鼏 -鼏 -鼏 -鼏 - -鼖 -鼖 -鼖 -鼖 -鼖 - -鼻 -鼻 -鼻 -鼻 -鼻 - -𪘀 -𪘀 -𪘀 -𪘀 -𪘀 - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b - -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b - -à֮̂̕b -à֮̂̕b -à֮̂̕b -à֮̂̕b -à֮̂̕b - -ầ֮̕b -ầ֮̕b -ầ֮̕b -ầ֮̕b -ầ֮̕b - -à֮̃̕b -à֮̃̕b -à֮̃̕b -à֮̃̕b -à֮̃̕b - -ã֮̀̕b -ã֮̀̕b -ã֮̀̕b -ã֮̀̕b -ã֮̀̕b - -à֮̄̕b -à֮̄̕b -à֮̄̕b -à֮̄̕b -à֮̄̕b - -ā֮̀̕b -ā֮̀̕b -ā֮̀̕b -ā֮̀̕b -ā֮̀̕b - -à֮̅̕b -à֮̅̕b -à֮̅̕b -à֮̅̕b -à֮̅̕b - -a֮̅̀̕b -a֮̅̀̕b -a֮̅̀̕b -a֮̅̀̕b -a֮̅̀̕b - -à֮̆̕b -à֮̆̕b -à֮̆̕b -à֮̆̕b -à֮̆̕b - -ằ֮̕b -ằ֮̕b -ằ֮̕b -ằ֮̕b -ằ֮̕b - -à֮̇̕b -à֮̇̕b -à֮̇̕b -à֮̇̕b -à֮̇̕b - -ȧ֮̀̕b -ȧ֮̀̕b -ȧ֮̀̕b -ȧ֮̀̕b -ȧ֮̀̕b - -à֮̈̕b -à֮̈̕b -à֮̈̕b -à֮̈̕b -à֮̈̕b - -ä֮̀̕b -ä֮̀̕b -ä֮̀̕b -ä֮̀̕b -ä֮̀̕b - -à֮̉̕b -à֮̉̕b -à֮̉̕b -à֮̉̕b -à֮̉̕b - -ả֮̀̕b -ả֮̀̕b -ả֮̀̕b -ả֮̀̕b -ả֮̀̕b - -à֮̊̕b -à֮̊̕b -à֮̊̕b -à֮̊̕b -à֮̊̕b - -å֮̀̕b -å֮̀̕b -å֮̀̕b -å֮̀̕b -å֮̀̕b - -à֮̋̕b -à֮̋̕b -à֮̋̕b -à֮̋̕b -à֮̋̕b - -a֮̋̀̕b -a֮̋̀̕b -a֮̋̀̕b -a֮̋̀̕b -a֮̋̀̕b - -à֮̌̕b -à֮̌̕b -à֮̌̕b -à֮̌̕b -à֮̌̕b - -ǎ֮̀̕b -ǎ֮̀̕b -ǎ֮̀̕b -ǎ֮̀̕b -ǎ֮̀̕b - -à֮̍̕b -à֮̍̕b -à֮̍̕b -à֮̍̕b -à֮̍̕b - -a֮̍̀̕b -a֮̍̀̕b -a֮̍̀̕b -a֮̍̀̕b -a֮̍̀̕b - -à֮̎̕b -à֮̎̕b -à֮̎̕b -à֮̎̕b -à֮̎̕b - -a֮̎̀̕b -a֮̎̀̕b -a֮̎̀̕b -a֮̎̀̕b -a֮̎̀̕b - -à֮̏̕b -à֮̏̕b -à֮̏̕b -à֮̏̕b -à֮̏̕b - -ȁ֮̀̕b -ȁ֮̀̕b -ȁ֮̀̕b -ȁ֮̀̕b -ȁ֮̀̕b - -à֮̐̕b -à֮̐̕b -à֮̐̕b -à֮̐̕b -à֮̐̕b - -a֮̐̀̕b -a֮̐̀̕b -a֮̐̀̕b -a֮̐̀̕b -a֮̐̀̕b - -à֮̑̕b -à֮̑̕b -à֮̑̕b -à֮̑̕b -à֮̑̕b - -ȃ֮̀̕b -ȃ֮̀̕b -ȃ֮̀̕b -ȃ֮̀̕b -ȃ֮̀̕b - -à֮̒̕b -à֮̒̕b -à֮̒̕b -à֮̒̕b -à֮̒̕b - -a֮̒̀̕b -a֮̒̀̕b -a֮̒̀̕b -a֮̒̀̕b -a֮̒̀̕b - -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b - -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b - -à֮̔̕b -à֮̔̕b -à֮̔̕b -à֮̔̕b -à֮̔̕b - -a֮̔̀̕b -a֮̔̀̕b -a֮̔̀̕b -a֮̔̀̕b -a֮̔̀̕b - -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b - -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b - -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b - -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b - -a〪̖̗֚b -a〪̖̗֚b -a〪̖̗֚b -a〪̖̗֚b -a〪̖̗֚b - -a〪̗̖֚b -a〪̗̖֚b -a〪̗̖֚b -a〪̗̖֚b -a〪̗̖֚b - -a〪̖̘֚b -a〪̖̘֚b -a〪̖̘֚b -a〪̖̘֚b -a〪̖̘֚b - -a〪̘̖֚b -a〪̘̖֚b -a〪̘̖֚b -a〪̘̖֚b -a〪̘̖֚b - -a〪̖̙֚b -a〪̖̙֚b -a〪̖̙֚b -a〪̖̙֚b -a〪̖̙֚b - -a〪̙̖֚b -a〪̙̖֚b -a〪̙̖֚b -a〪̙̖֚b -a〪̙̖֚b - -à̕̚͜b -à̕̚͜b -à̕̚͜b -à̕̚͜b -à̕̚͜b - -à̚̕͜b -à̚̕͜b -à̚̕͜b -à̚̕͜b -à̚̕͜b - -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b - -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b - -a〪̖̜֚b -a〪̖̜֚b -a〪̖̜֚b -a〪̖̜֚b -a〪̖̜֚b - -a〪̜̖֚b -a〪̜̖֚b -a〪̜̖֚b -a〪̜̖֚b -a〪̜̖֚b - -a〪̖̝֚b -a〪̖̝֚b -a〪̖̝֚b -a〪̖̝֚b -a〪̖̝֚b - -a〪̝̖֚b -a〪̝̖֚b -a〪̝̖֚b -a〪̝̖֚b -a〪̝̖֚b - -a〪̖̞֚b -a〪̖̞֚b -a〪̖̞֚b -a〪̖̞֚b -a〪̖̞֚b - -a〪̞̖֚b -a〪̞̖֚b -a〪̞̖֚b -a〪̞̖֚b -a〪̞̖֚b - -a〪̖̟֚b -a〪̖̟֚b -a〪̖̟֚b -a〪̖̟֚b -a〪̖̟֚b - -a〪̟̖֚b -a〪̟̖֚b -a〪̟̖֚b -a〪̟̖֚b -a〪̟̖֚b - -a〪̖̠֚b -a〪̖̠֚b -a〪̖̠֚b -a〪̖̠֚b -a〪̖̠֚b - -a〪̠̖֚b -a〪̠̖֚b -a〪̠̖֚b -a〪̠̖֚b -a〪̠̖֚b - -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b - -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b - -aུ̡̢᷎b -aུ̡̢᷎b -aུ̡̢᷎b -aུ̡̢᷎b -aུ̡̢᷎b - -aུ̢̡᷎b -aུ̢̡᷎b -aུ̢̡᷎b -aུ̢̡᷎b -aུ̢̡᷎b - -a〪̖̣֚b -a〪̖̣֚b -a〪̖̣֚b -a〪̖̣֚b -a〪̖̣֚b - -ạ〪̖֚b -ạ〪̖֚b -ạ〪̖֚b -ạ〪̖֚b -ạ〪̖֚b - -a〪̖̤֚b -a〪̖̤֚b -a〪̖̤֚b -a〪̖̤֚b -a〪̖̤֚b - -a〪̤̖֚b -a〪̤̖֚b -a〪̤̖֚b -a〪̤̖֚b -a〪̤̖֚b - -a〪̖̥֚b -a〪̖̥֚b -a〪̖̥֚b -a〪̖̥֚b -a〪̖̥֚b - -ḁ〪̖֚b -ḁ〪̖֚b -ḁ〪̖֚b -ḁ〪̖֚b -ḁ〪̖֚b - -a〪̖̦֚b -a〪̖̦֚b -a〪̖̦֚b -a〪̖̦֚b -a〪̖̦֚b - -a〪̦̖֚b -a〪̦̖֚b -a〪̦̖֚b -a〪̦̖֚b -a〪̦̖֚b - -aུ̡̧᷎b -aུ̡̧᷎b -aུ̡̧᷎b -aུ̡̧᷎b -aུ̡̧᷎b - -aུ̧̡᷎b -aུ̧̡᷎b -aུ̧̡᷎b -aུ̧̡᷎b -aུ̧̡᷎b - -aུ̡̨᷎b -aུ̡̨᷎b -aུ̡̨᷎b -aུ̡̨᷎b -aུ̡̨᷎b - -ąུ̡᷎b -ąུ̡᷎b -ąུ̡᷎b -ąུ̡᷎b -ąུ̡᷎b - -a〪̖̩֚b -a〪̖̩֚b -a〪̖̩֚b -a〪̖̩֚b -a〪̖̩֚b - -a〪̩̖֚b -a〪̩̖֚b -a〪̩̖֚b -a〪̩̖֚b -a〪̩̖֚b - -a〪̖̪֚b -a〪̖̪֚b -a〪̖̪֚b -a〪̖̪֚b -a〪̖̪֚b - -a〪̪̖֚b -a〪̪̖֚b -a〪̪̖֚b -a〪̪̖֚b -a〪̪̖֚b - -a〪̖̫֚b -a〪̖̫֚b -a〪̖̫֚b -a〪̖̫֚b -a〪̖̫֚b - -a〪̫̖֚b -a〪̫̖֚b -a〪̫̖֚b -a〪̫̖֚b -a〪̫̖֚b - -a〪̖̬֚b -a〪̖̬֚b -a〪̖̬֚b -a〪̖̬֚b -a〪̖̬֚b - -a〪̬̖֚b -a〪̬̖֚b -a〪̬̖֚b -a〪̬̖֚b -a〪̬̖֚b - -a〪̖̭֚b -a〪̖̭֚b -a〪̖̭֚b -a〪̖̭֚b -a〪̖̭֚b - -a〪̭̖֚b -a〪̭̖֚b -a〪̭̖֚b -a〪̭̖֚b -a〪̭̖֚b - -a〪̖̮֚b -a〪̖̮֚b -a〪̖̮֚b -a〪̖̮֚b -a〪̖̮֚b - -a〪̮̖֚b -a〪̮̖֚b -a〪̮̖֚b -a〪̮̖֚b -a〪̮̖֚b - -a〪̖̯֚b -a〪̖̯֚b -a〪̖̯֚b -a〪̖̯֚b -a〪̖̯֚b - -a〪̯̖֚b -a〪̯̖֚b -a〪̯̖֚b -a〪̯̖֚b -a〪̯̖֚b - -a〪̖̰֚b -a〪̖̰֚b -a〪̖̰֚b -a〪̖̰֚b -a〪̖̰֚b - -a〪̰̖֚b -a〪̰̖֚b -a〪̰̖֚b -a〪̰̖֚b -a〪̰̖֚b - -a〪̖̱֚b -a〪̖̱֚b -a〪̖̱֚b -a〪̖̱֚b -a〪̖̱֚b - -a〪̱̖֚b -a〪̱̖֚b -a〪̱̖֚b -a〪̱̖֚b -a〪̱̖֚b - -a〪̖̲֚b -a〪̖̲֚b -a〪̖̲֚b -a〪̖̲֚b -a〪̖̲֚b - -a〪̲̖֚b -a〪̲̖֚b -a〪̲̖֚b -a〪̲̖֚b -a〪̲̖֚b - -a〪̖̳֚b -a〪̖̳֚b -a〪̖̳֚b -a〪̖̳֚b -a〪̖̳֚b - -a〪̳̖֚b -a〪̳̖֚b -a〪̳̖֚b -a〪̳̖֚b -a〪̳̖֚b - -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b - -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b - -a̴̵़b -a̴̵़b -a̴̵़b -a̴̵़b -a̴̵़b - -a̵̴़b -a̵̴़b -a̵̴़b -a̵̴़b -a̵̴़b - -a̴̶़b -a̴̶़b -a̴̶़b -a̴̶़b -a̴̶़b - -a̶̴़b -a̶̴़b -a̶̴़b -a̶̴़b -a̶̴़b - -a̴̷़b -a̴̷़b -a̴̷़b -a̴̷़b -a̴̷़b - -a̷̴़b -a̷̴़b -a̷̴़b -a̷̴़b -a̷̴़b - -a̴̸़b -a̴̸़b -a̴̸़b -a̴̸़b -a̴̸़b - -a̸̴़b -a̸̴़b -a̸̴़b -a̸̴़b -a̸̴़b - -a〪̖̹֚b -a〪̖̹֚b -a〪̖̹֚b -a〪̖̹֚b -a〪̖̹֚b - -a〪̹̖֚b -a〪̹̖֚b -a〪̹̖֚b -a〪̹̖֚b -a〪̹̖֚b - -a〪̖̺֚b -a〪̖̺֚b -a〪̖̺֚b -a〪̖̺֚b -a〪̖̺֚b - -a〪̺̖֚b -a〪̺̖֚b -a〪̺̖֚b -a〪̺̖֚b -a〪̺̖֚b - -a〪̖̻֚b -a〪̖̻֚b -a〪̖̻֚b -a〪̖̻֚b -a〪̖̻֚b - -a〪̻̖֚b -a〪̻̖֚b -a〪̻̖֚b -a〪̻̖֚b -a〪̻̖֚b - -a〪̖̼֚b -a〪̖̼֚b -a〪̖̼֚b -a〪̖̼֚b -a〪̖̼֚b - -a〪̼̖֚b -a〪̼̖֚b -a〪̼̖֚b -a〪̼̖֚b -a〪̼̖֚b - -à֮̽̕b -à֮̽̕b -à֮̽̕b -à֮̽̕b -à֮̽̕b - -a֮̽̀̕b -a֮̽̀̕b -a֮̽̀̕b -a֮̽̀̕b -a֮̽̀̕b - -à֮̾̕b -à֮̾̕b -à֮̾̕b -à֮̾̕b -à֮̾̕b - -a֮̾̀̕b -a֮̾̀̕b -a֮̾̀̕b -a֮̾̀̕b -a֮̾̀̕b - -à֮̿̕b -à֮̿̕b -à֮̿̕b -à֮̿̕b -à֮̿̕b - -a֮̿̀̕b -a֮̿̀̕b -a֮̿̀̕b -a֮̿̀̕b -a֮̿̀̕b - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b - -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b - -à֮͂̕b -à֮͂̕b -à֮͂̕b -à֮͂̕b -à֮͂̕b - -a֮͂̀̕b -a֮͂̀̕b -a֮͂̀̕b -a֮͂̀̕b -a֮͂̀̕b - -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b - -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b - -à֮̈́̕b -à֮̈́̕b -à֮̈́̕b -à֮̈́̕b -à֮̈́̕b - -ä֮́̀̕b -ä֮́̀̕b -ä֮́̀̕b -ä֮́̀̕b -ä֮́̀̕b - -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb - -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb - -à֮͆̕b -à֮͆̕b -à֮͆̕b -à֮͆̕b -à֮͆̕b - -a֮͆̀̕b -a֮͆̀̕b -a֮͆̀̕b -a֮͆̀̕b -a֮͆̀̕b - -a〪̖͇֚b -a〪̖͇֚b -a〪̖͇֚b -a〪̖͇֚b -a〪̖͇֚b - -a〪͇̖֚b -a〪͇̖֚b -a〪͇̖֚b -a〪͇̖֚b -a〪͇̖֚b - -a〪̖͈֚b -a〪̖͈֚b -a〪̖͈֚b -a〪̖͈֚b -a〪̖͈֚b - -a〪͈̖֚b -a〪͈̖֚b -a〪͈̖֚b -a〪͈̖֚b -a〪͈̖֚b - -a〪̖͉֚b -a〪̖͉֚b -a〪̖͉֚b -a〪̖͉֚b -a〪̖͉֚b - -a〪͉̖֚b -a〪͉̖֚b -a〪͉̖֚b -a〪͉̖֚b -a〪͉̖֚b - -à֮͊̕b -à֮͊̕b -à֮͊̕b -à֮͊̕b -à֮͊̕b - -a֮͊̀̕b -a֮͊̀̕b -a֮͊̀̕b -a֮͊̀̕b -a֮͊̀̕b - -à֮͋̕b -à֮͋̕b -à֮͋̕b -à֮͋̕b -à֮͋̕b - -a֮͋̀̕b -a֮͋̀̕b -a֮͋̀̕b -a֮͋̀̕b -a֮͋̀̕b - -à֮͌̕b -à֮͌̕b -à֮͌̕b -à֮͌̕b -à֮͌̕b - -a֮͌̀̕b -a֮͌̀̕b -a֮͌̀̕b -a֮͌̀̕b -a֮͌̀̕b - -a〪̖͍֚b -a〪̖͍֚b -a〪̖͍֚b -a〪̖͍֚b -a〪̖͍֚b - -a〪͍̖֚b -a〪͍̖֚b -a〪͍̖֚b -a〪͍̖֚b -a〪͍̖֚b - -a〪̖͎֚b -a〪̖͎֚b -a〪̖͎֚b -a〪̖͎֚b -a〪̖͎֚b - -a〪͎̖֚b -a〪͎̖֚b -a〪͎̖֚b -a〪͎̖֚b -a〪͎̖֚b - -à֮͐̕b -à֮͐̕b -à֮͐̕b -à֮͐̕b -à֮͐̕b - -a֮͐̀̕b -a֮͐̀̕b -a֮͐̀̕b -a֮͐̀̕b -a֮͐̀̕b - -à֮͑̕b -à֮͑̕b -à֮͑̕b -à֮͑̕b -à֮͑̕b - -a֮͑̀̕b -a֮͑̀̕b -a֮͑̀̕b -a֮͑̀̕b -a֮͑̀̕b - -à֮͒̕b -à֮͒̕b -à֮͒̕b -à֮͒̕b -à֮͒̕b - -a֮͒̀̕b -a֮͒̀̕b -a֮͒̀̕b -a֮͒̀̕b -a֮͒̀̕b - -a〪̖͓֚b -a〪̖͓֚b -a〪̖͓֚b -a〪̖͓֚b -a〪̖͓֚b - -a〪͓̖֚b -a〪͓̖֚b -a〪͓̖֚b -a〪͓̖֚b -a〪͓̖֚b - -a〪̖͔֚b -a〪̖͔֚b -a〪̖͔֚b -a〪̖͔֚b -a〪̖͔֚b - -a〪͔̖֚b -a〪͔̖֚b -a〪͔̖֚b -a〪͔̖֚b -a〪͔̖֚b - -a〪̖͕֚b -a〪̖͕֚b -a〪̖͕֚b -a〪̖͕֚b -a〪̖͕֚b - -a〪͕̖֚b -a〪͕̖֚b -a〪͕̖֚b -a〪͕̖֚b -a〪͕̖֚b - -a〪̖͖֚b -a〪̖͖֚b -a〪̖͖֚b -a〪̖͖֚b -a〪̖͖֚b - -a〪͖̖֚b -a〪͖̖֚b -a〪͖̖֚b -a〪͖̖֚b -a〪͖̖֚b - -à֮͗̕b -à֮͗̕b -à֮͗̕b -à֮͗̕b -à֮͗̕b - -a֮͗̀̕b -a֮͗̀̕b -a֮͗̀̕b -a֮͗̀̕b -a֮͗̀̕b - -à̕͘͜b -à̕͘͜b -à̕͘͜b -à̕͘͜b -à̕͘͜b - -à͘̕͜b -à͘̕͜b -à͘̕͜b -à͘̕͜b -à͘̕͜b - -a〪̖͙֚b -a〪̖͙֚b -a〪̖͙֚b -a〪̖͙֚b -a〪̖͙֚b - -a〪͙̖֚b -a〪͙̖֚b -a〪͙̖֚b -a〪͙̖֚b -a〪͙̖֚b - -a〪̖͚֚b -a〪̖͚֚b -a〪̖͚֚b -a〪̖͚֚b -a〪̖͚֚b - -a〪͚̖֚b -a〪͚̖֚b -a〪͚̖֚b -a〪͚̖֚b -a〪͚̖֚b - -à֮͛̕b -à֮͛̕b -à֮͛̕b -à֮͛̕b -à֮͛̕b - -a֮͛̀̕b -a֮͛̀̕b -a֮͛̀̕b -a֮͛̀̕b -a֮͛̀̕b - -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b - -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b - -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb - -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb - -a͜͝͞ͅb -a͜͝͞ͅb -a͜͝͞ͅb -a͜͝͞ͅb -a͜͝͞ͅb - -a͜͞͝ͅb -a͜͞͝ͅb -a͜͞͝ͅb -a͜͞͝ͅb -a͜͞͝ͅb - -a̕͜͟͝b -a̕͜͟͝b -a̕͜͟͝b -a̕͜͟͝b -a̕͜͟͝b - -a̕͟͜͝b -a̕͟͜͝b -a̕͟͜͝b -a̕͟͜͝b -a̕͟͜͝b - -a͜͝͠ͅb -a͜͝͠ͅb -a͜͝͠ͅb -a͜͝͠ͅb -a͜͝͠ͅb - -a͜͠͝ͅb -a͜͠͝ͅb -a͜͠͝ͅb -a͜͠͝ͅb -a͜͠͝ͅb - -a͜͝͡ͅb -a͜͝͡ͅb -a͜͝͡ͅb -a͜͝͡ͅb -a͜͝͡ͅb - -a͜͡͝ͅb -a͜͡͝ͅb -a͜͡͝ͅb -a͜͡͝ͅb -a͜͡͝ͅb - -a̕͜͢͝b -a̕͜͢͝b -a̕͜͢͝b -a̕͜͢͝b -a̕͜͢͝b - -a̕͢͜͝b -a̕͢͜͝b -a̕͢͜͝b -a̕͢͜͝b -a̕͢͜͝b - -à֮ͣ̕b -à֮ͣ̕b -à֮ͣ̕b -à֮ͣ̕b -à֮ͣ̕b - -a֮ͣ̀̕b -a֮ͣ̀̕b -a֮ͣ̀̕b -a֮ͣ̀̕b -a֮ͣ̀̕b - -à֮ͤ̕b -à֮ͤ̕b -à֮ͤ̕b -à֮ͤ̕b -à֮ͤ̕b - -a֮ͤ̀̕b -a֮ͤ̀̕b -a֮ͤ̀̕b -a֮ͤ̀̕b -a֮ͤ̀̕b - -à֮ͥ̕b -à֮ͥ̕b -à֮ͥ̕b -à֮ͥ̕b -à֮ͥ̕b - -a֮ͥ̀̕b -a֮ͥ̀̕b -a֮ͥ̀̕b -a֮ͥ̀̕b -a֮ͥ̀̕b - -à֮ͦ̕b -à֮ͦ̕b -à֮ͦ̕b -à֮ͦ̕b -à֮ͦ̕b - -a֮ͦ̀̕b -a֮ͦ̀̕b -a֮ͦ̀̕b -a֮ͦ̀̕b -a֮ͦ̀̕b - -à֮ͧ̕b -à֮ͧ̕b -à֮ͧ̕b -à֮ͧ̕b -à֮ͧ̕b - -a֮ͧ̀̕b -a֮ͧ̀̕b -a֮ͧ̀̕b -a֮ͧ̀̕b -a֮ͧ̀̕b - -à֮ͨ̕b -à֮ͨ̕b -à֮ͨ̕b -à֮ͨ̕b -à֮ͨ̕b - -a֮ͨ̀̕b -a֮ͨ̀̕b -a֮ͨ̀̕b -a֮ͨ̀̕b -a֮ͨ̀̕b - -à֮ͩ̕b -à֮ͩ̕b -à֮ͩ̕b -à֮ͩ̕b -à֮ͩ̕b - -a֮ͩ̀̕b -a֮ͩ̀̕b -a֮ͩ̀̕b -a֮ͩ̀̕b -a֮ͩ̀̕b - -à֮ͪ̕b -à֮ͪ̕b -à֮ͪ̕b -à֮ͪ̕b -à֮ͪ̕b - -a֮ͪ̀̕b -a֮ͪ̀̕b -a֮ͪ̀̕b -a֮ͪ̀̕b -a֮ͪ̀̕b - -à֮ͫ̕b -à֮ͫ̕b -à֮ͫ̕b -à֮ͫ̕b -à֮ͫ̕b - -a֮ͫ̀̕b -a֮ͫ̀̕b -a֮ͫ̀̕b -a֮ͫ̀̕b -a֮ͫ̀̕b - -à֮ͬ̕b -à֮ͬ̕b -à֮ͬ̕b -à֮ͬ̕b -à֮ͬ̕b - -a֮ͬ̀̕b -a֮ͬ̀̕b -a֮ͬ̀̕b -a֮ͬ̀̕b -a֮ͬ̀̕b - -à֮ͭ̕b -à֮ͭ̕b -à֮ͭ̕b -à֮ͭ̕b -à֮ͭ̕b - -a֮ͭ̀̕b -a֮ͭ̀̕b -a֮ͭ̀̕b -a֮ͭ̀̕b -a֮ͭ̀̕b - -à֮ͮ̕b -à֮ͮ̕b -à֮ͮ̕b -à֮ͮ̕b -à֮ͮ̕b - -a֮ͮ̀̕b -a֮ͮ̀̕b -a֮ͮ̀̕b -a֮ͮ̀̕b -a֮ͮ̀̕b - -à֮ͯ̕b -à֮ͯ̕b -à֮ͯ̕b -à֮ͯ̕b -à֮ͯ̕b - -a֮ͯ̀̕b -a֮ͯ̀̕b -a֮ͯ̀̕b -a֮ͯ̀̕b -a֮ͯ̀̕b - -à֮҃̕b -à֮҃̕b -à֮҃̕b -à֮҃̕b -à֮҃̕b - -a֮҃̀̕b -a֮҃̀̕b -a֮҃̀̕b -a֮҃̀̕b -a֮҃̀̕b - -à֮҄̕b -à֮҄̕b -à֮҄̕b -à֮҄̕b -à֮҄̕b - -a֮҄̀̕b -a֮҄̀̕b -a֮҄̀̕b -a֮҄̀̕b -a֮҄̀̕b - -à֮҅̕b -à֮҅̕b -à֮҅̕b -à֮҅̕b -à֮҅̕b - -a֮҅̀̕b -a֮҅̀̕b -a֮҅̀̕b -a֮҅̀̕b -a֮҅̀̕b - -à֮҆̕b -à֮҆̕b -à֮҆̕b -à֮҆̕b -à֮҆̕b - -a֮҆̀̕b -a֮҆̀̕b -a֮҆̀̕b -a֮҆̀̕b -a֮҆̀̕b - -à֮҇̕b -à֮҇̕b -à֮҇̕b -à֮҇̕b -à֮҇̕b - -a֮҇̀̕b -a֮҇̀̕b -a֮҇̀̕b -a֮҇̀̕b -a֮҇̀̕b - -a〪̖֑֚b -a〪̖֑֚b -a〪̖֑֚b -a〪̖֑֚b -a〪̖֑֚b - -a〪֑̖֚b -a〪֑̖֚b -a〪֑̖֚b -a〪֑̖֚b -a〪֑̖֚b - -à֮֒̕b -à֮֒̕b -à֮֒̕b -à֮֒̕b -à֮֒̕b - -a֮֒̀̕b -a֮֒̀̕b -a֮֒̀̕b -a֮֒̀̕b -a֮֒̀̕b - -à֮֓̕b -à֮֓̕b -à֮֓̕b -à֮֓̕b -à֮֓̕b - -a֮֓̀̕b -a֮֓̀̕b -a֮֓̀̕b -a֮֓̀̕b -a֮֓̀̕b - -à֮֔̕b -à֮֔̕b -à֮֔̕b -à֮֔̕b -à֮֔̕b - -a֮֔̀̕b -a֮֔̀̕b -a֮֔̀̕b -a֮֔̀̕b -a֮֔̀̕b - -à֮֕̕b -à֮֕̕b -à֮֕̕b -à֮֕̕b -à֮֕̕b - -a֮֕̀̕b -a֮֕̀̕b -a֮֕̀̕b -a֮֕̀̕b -a֮֕̀̕b - -a〪̖֖֚b -a〪̖֖֚b -a〪̖֖֚b -a〪̖֖֚b -a〪̖֖֚b - -a〪֖̖֚b -a〪֖̖֚b -a〪֖̖֚b -a〪֖̖֚b -a〪֖̖֚b - -à֮֗̕b -à֮֗̕b -à֮֗̕b -à֮֗̕b -à֮֗̕b - -a֮֗̀̕b -a֮֗̀̕b -a֮֗̀̕b -a֮֗̀̕b -a֮֗̀̕b - -à֮֘̕b -à֮֘̕b -à֮֘̕b -à֮֘̕b -à֮֘̕b - -a֮֘̀̕b -a֮֘̀̕b -a֮֘̀̕b -a֮֘̀̕b -a֮֘̀̕b - -à֮֙̕b -à֮֙̕b -à֮֙̕b -à֮֙̕b -à֮֙̕b - -a֮֙̀̕b -a֮֙̀̕b -a֮֙̀̕b -a֮֙̀̕b -a֮֙̀̕b - -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b - -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b - -a〪̖֛֚b -a〪̖֛֚b -a〪̖֛֚b -a〪̖֛֚b -a〪̖֛֚b - -a〪֛̖֚b -a〪֛̖֚b -a〪֛̖֚b -a〪֛̖֚b -a〪֛̖֚b - -à֮֜̕b -à֮֜̕b -à֮֜̕b -à֮֜̕b -à֮֜̕b - -a֮֜̀̕b -a֮֜̀̕b -a֮֜̀̕b -a֮֜̀̕b -a֮֜̀̕b - -à֮֝̕b -à֮֝̕b -à֮֝̕b -à֮֝̕b -à֮֝̕b - -a֮֝̀̕b -a֮֝̀̕b -a֮֝̀̕b -a֮֝̀̕b -a֮֝̀̕b - -à֮֞̕b -à֮֞̕b -à֮֞̕b -à֮֞̕b -à֮֞̕b - -a֮֞̀̕b -a֮֞̀̕b -a֮֞̀̕b -a֮֞̀̕b -a֮֞̀̕b - -à֮֟̕b -à֮֟̕b -à֮֟̕b -à֮֟̕b -à֮֟̕b - -a֮֟̀̕b -a֮֟̀̕b -a֮֟̀̕b -a֮֟̀̕b -a֮֟̀̕b - -à֮֠̕b -à֮֠̕b -à֮֠̕b -à֮֠̕b -à֮֠̕b - -a֮֠̀̕b -a֮֠̀̕b -a֮֠̀̕b -a֮֠̀̕b -a֮֠̀̕b - -à֮֡̕b -à֮֡̕b -à֮֡̕b -à֮֡̕b -à֮֡̕b - -a֮֡̀̕b -a֮֡̀̕b -a֮֡̀̕b -a֮֡̀̕b -a֮֡̀̕b - -a〪̖֢֚b -a〪̖֢֚b -a〪̖֢֚b -a〪̖֢֚b -a〪̖֢֚b - -a〪֢̖֚b -a〪֢̖֚b -a〪֢̖֚b -a〪֢̖֚b -a〪֢̖֚b - -a〪̖֣֚b -a〪̖֣֚b -a〪̖֣֚b -a〪̖֣֚b -a〪̖֣֚b - -a〪֣̖֚b -a〪֣̖֚b -a〪֣̖֚b -a〪֣̖֚b -a〪֣̖֚b - -a〪̖֤֚b -a〪̖֤֚b -a〪̖֤֚b -a〪̖֤֚b -a〪̖֤֚b - -a〪֤̖֚b -a〪֤̖֚b -a〪֤̖֚b -a〪֤̖֚b -a〪֤̖֚b - -a〪̖֥֚b -a〪̖֥֚b -a〪̖֥֚b -a〪̖֥֚b -a〪̖֥֚b - -a〪֥̖֚b -a〪֥̖֚b -a〪֥̖֚b -a〪֥̖֚b -a〪֥̖֚b - -a〪̖֦֚b -a〪̖֦֚b -a〪̖֦֚b -a〪̖֦֚b -a〪̖֦֚b - -a〪֦̖֚b -a〪֦̖֚b -a〪֦̖֚b -a〪֦̖֚b -a〪֦̖֚b - -a〪̖֧֚b -a〪̖֧֚b -a〪̖֧֚b -a〪̖֧֚b -a〪̖֧֚b - -a〪֧̖֚b -a〪֧̖֚b -a〪֧̖֚b -a〪֧̖֚b -a〪֧̖֚b - -à֮֨̕b -à֮֨̕b -à֮֨̕b -à֮֨̕b -à֮֨̕b - -a֮֨̀̕b -a֮֨̀̕b -a֮֨̀̕b -a֮֨̀̕b -a֮֨̀̕b - -à֮֩̕b -à֮֩̕b -à֮֩̕b -à֮֩̕b -à֮֩̕b - -a֮֩̀̕b -a֮֩̀̕b -a֮֩̀̕b -a֮֩̀̕b -a֮֩̀̕b - -a〪̖֪֚b -a〪̖֪֚b -a〪̖֪֚b -a〪̖֪֚b -a〪̖֪֚b - -a〪֪̖֚b -a〪֪̖֚b -a〪֪̖֚b -a〪֪̖֚b -a〪֪̖֚b - -à֮֫̕b -à֮֫̕b -à֮֫̕b -à֮֫̕b -à֮֫̕b - -a֮֫̀̕b -a֮֫̀̕b -a֮֫̀̕b -a֮֫̀̕b -a֮֫̀̕b - -à֮֬̕b -à֮֬̕b -à֮֬̕b -à֮֬̕b -à֮֬̕b - -a֮֬̀̕b -a֮֬̀̕b -a֮֬̀̕b -a֮֬̀̕b -a֮֬̀̕b - -a̖֚֭〮b -a̖֚֭〮b -a̖֚֭〮b -a̖֚֭〮b -a̖֚֭〮b - -a̖֭֚〮b -a̖֭֚〮b -a̖֭֚〮b -a̖֭֚〮b -a̖֭֚〮b - -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b - -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b - -à֮֯̕b -à֮֯̕b -à֮֯̕b -à֮֯̕b -à֮֯̕b - -a֮֯̀̕b -a֮֯̀̕b -a֮֯̀̕b -a֮֯̀̕b -a֮֯̀̕b - -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb - -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb - -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb - -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb - -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb - -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb - -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb - -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb - -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb - -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb - -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb - -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb - -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb - -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb - -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb - -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb - -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb - -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb - -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb - -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb - -aָֹֺֻb -aָֹֺֻb -aָֹֺֻb -aָֹֺֻb -aָֹֺֻb - -aָֺֹֻb -aָֺֹֻb -aָֺֹֻb -aָֺֹֻb -aָֺֹֻb - -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb - -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb - -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb - -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb - -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb - -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb - -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb - -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb - -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb - -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb - -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb - -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb - -à֮ׄ̕b -à֮ׄ̕b -à֮ׄ̕b -à֮ׄ̕b -à֮ׄ̕b - -a֮ׄ̀̕b -a֮ׄ̀̕b -a֮ׄ̀̕b -a֮ׄ̀̕b -a֮ׄ̀̕b - -a〪̖ׅ֚b -a〪̖ׅ֚b -a〪̖ׅ֚b -a〪̖ׅ֚b -a〪̖ׅ֚b - -a〪ׅ̖֚b -a〪ׅ̖֚b -a〪ׅ̖֚b -a〪ׅ̖֚b -a〪ׅ̖֚b - -aַָׇֹb -aַָׇֹb -aַָׇֹb -aַָׇֹb -aַָׇֹb - -aַׇָֹb -aַׇָֹb -aַׇָֹb -aַׇָֹb -aַׇָֹb - -à֮ؐ̕b -à֮ؐ̕b -à֮ؐ̕b -à֮ؐ̕b -à֮ؐ̕b - -a֮ؐ̀̕b -a֮ؐ̀̕b -a֮ؐ̀̕b -a֮ؐ̀̕b -a֮ؐ̀̕b - -à֮ؑ̕b -à֮ؑ̕b -à֮ؑ̕b -à֮ؑ̕b -à֮ؑ̕b - -a֮ؑ̀̕b -a֮ؑ̀̕b -a֮ؑ̀̕b -a֮ؑ̀̕b -a֮ؑ̀̕b - -à֮ؒ̕b -à֮ؒ̕b -à֮ؒ̕b -à֮ؒ̕b -à֮ؒ̕b - -a֮ؒ̀̕b -a֮ؒ̀̕b -a֮ؒ̀̕b -a֮ؒ̀̕b -a֮ؒ̀̕b - -à֮ؓ̕b -à֮ؓ̕b -à֮ؓ̕b -à֮ؓ̕b -à֮ؓ̕b - -a֮ؓ̀̕b -a֮ؓ̀̕b -a֮ؓ̀̕b -a֮ؓ̀̕b -a֮ؓ̀̕b - -à֮ؔ̕b -à֮ؔ̕b -à֮ؔ̕b -à֮ؔ̕b -à֮ؔ̕b - -a֮ؔ̀̕b -a֮ؔ̀̕b -a֮ؔ̀̕b -a֮ؔ̀̕b -a֮ؔ̀̕b - -à֮ؕ̕b -à֮ؕ̕b -à֮ؕ̕b -à֮ؕ̕b -à֮ؕ̕b - -a֮ؕ̀̕b -a֮ؕ̀̕b -a֮ؕ̀̕b -a֮ؕ̀̕b -a֮ؕ̀̕b - -à֮ؖ̕b -à֮ؖ̕b -à֮ؖ̕b -à֮ؖ̕b -à֮ؖ̕b - -a֮ؖ̀̕b -a֮ؖ̀̕b -a֮ؖ̀̕b -a֮ؖ̀̕b -a֮ؖ̀̕b - -à֮ؗ̕b -à֮ؗ̕b -à֮ؗ̕b -à֮ؗ̕b -à֮ؗ̕b - -a֮ؗ̀̕b -a֮ؗ̀̕b -a֮ؗ̀̕b -a֮ؗ̀̕b -a֮ؗ̀̕b - -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb - -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb - -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb - -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb - -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb - -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb - -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb - -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb - -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb - -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb - -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb - -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb - -aٍؘَؙb -aٍؘَؙb -aٍؘَؙb -aٍؘَؙb -aٍؘَؙb - -aٍَؘؙb -aٍَؘؙb -aٍَؘؙb -aٍَؘؙb -aٍَؘؙb - -aؘؙُؚb -aؘؙُؚb -aؘؙُؚb -aؘؙُؚb -aؘؙُؚb - -aؘُؙؚb -aؘُؙؚb -aؘُؙؚb -aؘُؙؚb -aؘُؙؚb - -aؙؚِّb -aؙؚِّb -aؙؚِّb -aؙؚِّb -aؙؚِّb - -aؙِؚّb -aؙِؚّb -aؙِؚّb -aؙِؚّb -aؙِؚّb - -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb - -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb - -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb - -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb - -à֮ٓ̕b -à֮ٓ̕b -à֮ٓ̕b -à֮ٓ̕b -à֮ٓ̕b - -a֮ٓ̀̕b -a֮ٓ̀̕b -a֮ٓ̀̕b -a֮ٓ̀̕b -a֮ٓ̀̕b - -à֮ٔ̕b -à֮ٔ̕b -à֮ٔ̕b -à֮ٔ̕b -à֮ٔ̕b - -a֮ٔ̀̕b -a֮ٔ̀̕b -a֮ٔ̀̕b -a֮ٔ̀̕b -a֮ٔ̀̕b - -a〪̖ٕ֚b -a〪̖ٕ֚b -a〪̖ٕ֚b -a〪̖ٕ֚b -a〪̖ٕ֚b - -a〪ٕ̖֚b -a〪ٕ̖֚b -a〪ٕ̖֚b -a〪ٕ̖֚b -a〪ٕ̖֚b - -a〪̖ٖ֚b -a〪̖ٖ֚b -a〪̖ٖ֚b -a〪̖ٖ֚b -a〪̖ٖ֚b - -a〪ٖ̖֚b -a〪ٖ̖֚b -a〪ٖ̖֚b -a〪ٖ̖֚b -a〪ٖ̖֚b - -à֮ٗ̕b -à֮ٗ̕b -à֮ٗ̕b -à֮ٗ̕b -à֮ٗ̕b - -a֮ٗ̀̕b -a֮ٗ̀̕b -a֮ٗ̀̕b -a֮ٗ̀̕b -a֮ٗ̀̕b - -à֮٘̕b -à֮٘̕b -à֮٘̕b -à֮٘̕b -à֮٘̕b - -a֮٘̀̕b -a֮٘̀̕b -a֮٘̀̕b -a֮٘̀̕b -a֮٘̀̕b - -à֮ٙ̕b -à֮ٙ̕b -à֮ٙ̕b -à֮ٙ̕b -à֮ٙ̕b - -a֮ٙ̀̕b -a֮ٙ̀̕b -a֮ٙ̀̕b -a֮ٙ̀̕b -a֮ٙ̀̕b - -à֮ٚ̕b -à֮ٚ̕b -à֮ٚ̕b -à֮ٚ̕b -à֮ٚ̕b - -a֮ٚ̀̕b -a֮ٚ̀̕b -a֮ٚ̀̕b -a֮ٚ̀̕b -a֮ٚ̀̕b - -à֮ٛ̕b -à֮ٛ̕b -à֮ٛ̕b -à֮ٛ̕b -à֮ٛ̕b - -a֮ٛ̀̕b -a֮ٛ̀̕b -a֮ٛ̀̕b -a֮ٛ̀̕b -a֮ٛ̀̕b - -a〪̖ٜ֚b -a〪̖ٜ֚b -a〪̖ٜ֚b -a〪̖ٜ֚b -a〪̖ٜ֚b - -a〪ٜ̖֚b -a〪ٜ̖֚b -a〪ٜ̖֚b -a〪ٜ̖֚b -a〪ٜ̖֚b - -à֮ٝ̕b -à֮ٝ̕b -à֮ٝ̕b -à֮ٝ̕b -à֮ٝ̕b - -a֮ٝ̀̕b -a֮ٝ̀̕b -a֮ٝ̀̕b -a֮ٝ̀̕b -a֮ٝ̀̕b - -à֮ٞ̕b -à֮ٞ̕b -à֮ٞ̕b -à֮ٞ̕b -à֮ٞ̕b - -a֮ٞ̀̕b -a֮ٞ̀̕b -a֮ٞ̀̕b -a֮ٞ̀̕b -a֮ٞ̀̕b - -a〪̖ٟ֚b -a〪̖ٟ֚b -a〪̖ٟ֚b -a〪̖ٟ֚b -a〪̖ٟ֚b - -a〪ٟ̖֚b -a〪ٟ̖֚b -a〪ٟ̖֚b -a〪ٟ̖֚b -a〪ٟ̖֚b - -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb - -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb - -à֮ۖ̕b -à֮ۖ̕b -à֮ۖ̕b -à֮ۖ̕b -à֮ۖ̕b - -a֮ۖ̀̕b -a֮ۖ̀̕b -a֮ۖ̀̕b -a֮ۖ̀̕b -a֮ۖ̀̕b - -à֮ۗ̕b -à֮ۗ̕b -à֮ۗ̕b -à֮ۗ̕b -à֮ۗ̕b - -a֮ۗ̀̕b -a֮ۗ̀̕b -a֮ۗ̀̕b -a֮ۗ̀̕b -a֮ۗ̀̕b - -à֮ۘ̕b -à֮ۘ̕b -à֮ۘ̕b -à֮ۘ̕b -à֮ۘ̕b - -a֮ۘ̀̕b -a֮ۘ̀̕b -a֮ۘ̀̕b -a֮ۘ̀̕b -a֮ۘ̀̕b - -à֮ۙ̕b -à֮ۙ̕b -à֮ۙ̕b -à֮ۙ̕b -à֮ۙ̕b - -a֮ۙ̀̕b -a֮ۙ̀̕b -a֮ۙ̀̕b -a֮ۙ̀̕b -a֮ۙ̀̕b - -à֮ۚ̕b -à֮ۚ̕b -à֮ۚ̕b -à֮ۚ̕b -à֮ۚ̕b - -a֮ۚ̀̕b -a֮ۚ̀̕b -a֮ۚ̀̕b -a֮ۚ̀̕b -a֮ۚ̀̕b - -à֮ۛ̕b -à֮ۛ̕b -à֮ۛ̕b -à֮ۛ̕b -à֮ۛ̕b - -a֮ۛ̀̕b -a֮ۛ̀̕b -a֮ۛ̀̕b -a֮ۛ̀̕b -a֮ۛ̀̕b - -à֮ۜ̕b -à֮ۜ̕b -à֮ۜ̕b -à֮ۜ̕b -à֮ۜ̕b - -a֮ۜ̀̕b -a֮ۜ̀̕b -a֮ۜ̀̕b -a֮ۜ̀̕b -a֮ۜ̀̕b - -à֮۟̕b -à֮۟̕b -à֮۟̕b -à֮۟̕b -à֮۟̕b - -a֮۟̀̕b -a֮۟̀̕b -a֮۟̀̕b -a֮۟̀̕b -a֮۟̀̕b - -à֮۠̕b -à֮۠̕b -à֮۠̕b -à֮۠̕b -à֮۠̕b - -a֮۠̀̕b -a֮۠̀̕b -a֮۠̀̕b -a֮۠̀̕b -a֮۠̀̕b - -à֮ۡ̕b -à֮ۡ̕b -à֮ۡ̕b -à֮ۡ̕b -à֮ۡ̕b - -a֮ۡ̀̕b -a֮ۡ̀̕b -a֮ۡ̀̕b -a֮ۡ̀̕b -a֮ۡ̀̕b - -à֮ۢ̕b -à֮ۢ̕b -à֮ۢ̕b -à֮ۢ̕b -à֮ۢ̕b - -a֮ۢ̀̕b -a֮ۢ̀̕b -a֮ۢ̀̕b -a֮ۢ̀̕b -a֮ۢ̀̕b - -a〪̖ۣ֚b -a〪̖ۣ֚b -a〪̖ۣ֚b -a〪̖ۣ֚b -a〪̖ۣ֚b - -a〪ۣ̖֚b -a〪ۣ̖֚b -a〪ۣ̖֚b -a〪ۣ̖֚b -a〪ۣ̖֚b - -à֮ۤ̕b -à֮ۤ̕b -à֮ۤ̕b -à֮ۤ̕b -à֮ۤ̕b - -a֮ۤ̀̕b -a֮ۤ̀̕b -a֮ۤ̀̕b -a֮ۤ̀̕b -a֮ۤ̀̕b - -à֮ۧ̕b -à֮ۧ̕b -à֮ۧ̕b -à֮ۧ̕b -à֮ۧ̕b - -a֮ۧ̀̕b -a֮ۧ̀̕b -a֮ۧ̀̕b -a֮ۧ̀̕b -a֮ۧ̀̕b - -à֮ۨ̕b -à֮ۨ̕b -à֮ۨ̕b -à֮ۨ̕b -à֮ۨ̕b - -a֮ۨ̀̕b -a֮ۨ̀̕b -a֮ۨ̀̕b -a֮ۨ̀̕b -a֮ۨ̀̕b - -a〪̖۪֚b -a〪̖۪֚b -a〪̖۪֚b -a〪̖۪֚b -a〪̖۪֚b - -a〪۪̖֚b -a〪۪̖֚b -a〪۪̖֚b -a〪۪̖֚b -a〪۪̖֚b - -à֮۫̕b -à֮۫̕b -à֮۫̕b -à֮۫̕b -à֮۫̕b - -a֮۫̀̕b -a֮۫̀̕b -a֮۫̀̕b -a֮۫̀̕b -a֮۫̀̕b - -à֮۬̕b -à֮۬̕b -à֮۬̕b -à֮۬̕b -à֮۬̕b - -a֮۬̀̕b -a֮۬̀̕b -a֮۬̀̕b -a֮۬̀̕b -a֮۬̀̕b - -a〪̖ۭ֚b -a〪̖ۭ֚b -a〪̖ۭ֚b -a〪̖ۭ֚b -a〪̖ۭ֚b - -a〪ۭ̖֚b -a〪ۭ̖֚b -a〪ۭ̖֚b -a〪ۭ̖֚b -a〪ۭ̖֚b - -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb - -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb - -à֮ܰ̕b -à֮ܰ̕b -à֮ܰ̕b -à֮ܰ̕b -à֮ܰ̕b - -a֮ܰ̀̕b -a֮ܰ̀̕b -a֮ܰ̀̕b -a֮ܰ̀̕b -a֮ܰ̀̕b - -a〪̖ܱ֚b -a〪̖ܱ֚b -a〪̖ܱ֚b -a〪̖ܱ֚b -a〪̖ܱ֚b - -a〪ܱ̖֚b -a〪ܱ̖֚b -a〪ܱ̖֚b -a〪ܱ̖֚b -a〪ܱ̖֚b - -à֮ܲ̕b -à֮ܲ̕b -à֮ܲ̕b -à֮ܲ̕b -à֮ܲ̕b - -a֮ܲ̀̕b -a֮ܲ̀̕b -a֮ܲ̀̕b -a֮ܲ̀̕b -a֮ܲ̀̕b - -à֮ܳ̕b -à֮ܳ̕b -à֮ܳ̕b -à֮ܳ̕b -à֮ܳ̕b - -a֮ܳ̀̕b -a֮ܳ̀̕b -a֮ܳ̀̕b -a֮ܳ̀̕b -a֮ܳ̀̕b - -a〪̖ܴ֚b -a〪̖ܴ֚b -a〪̖ܴ֚b -a〪̖ܴ֚b -a〪̖ܴ֚b - -a〪ܴ̖֚b -a〪ܴ̖֚b -a〪ܴ̖֚b -a〪ܴ̖֚b -a〪ܴ̖֚b - -à֮ܵ̕b -à֮ܵ̕b -à֮ܵ̕b -à֮ܵ̕b -à֮ܵ̕b - -a֮ܵ̀̕b -a֮ܵ̀̕b -a֮ܵ̀̕b -a֮ܵ̀̕b -a֮ܵ̀̕b - -à֮ܶ̕b -à֮ܶ̕b -à֮ܶ̕b -à֮ܶ̕b -à֮ܶ̕b - -a֮ܶ̀̕b -a֮ܶ̀̕b -a֮ܶ̀̕b -a֮ܶ̀̕b -a֮ܶ̀̕b - -a〪̖ܷ֚b -a〪̖ܷ֚b -a〪̖ܷ֚b -a〪̖ܷ֚b -a〪̖ܷ֚b - -a〪ܷ̖֚b -a〪ܷ̖֚b -a〪ܷ̖֚b -a〪ܷ̖֚b -a〪ܷ̖֚b - -a〪̖ܸ֚b -a〪̖ܸ֚b -a〪̖ܸ֚b -a〪̖ܸ֚b -a〪̖ܸ֚b - -a〪ܸ̖֚b -a〪ܸ̖֚b -a〪ܸ̖֚b -a〪ܸ̖֚b -a〪ܸ̖֚b - -a〪̖ܹ֚b -a〪̖ܹ֚b -a〪̖ܹ֚b -a〪̖ܹ֚b -a〪̖ܹ֚b - -a〪ܹ̖֚b -a〪ܹ̖֚b -a〪ܹ̖֚b -a〪ܹ̖֚b -a〪ܹ̖֚b - -à֮ܺ̕b -à֮ܺ̕b -à֮ܺ̕b -à֮ܺ̕b -à֮ܺ̕b - -a֮ܺ̀̕b -a֮ܺ̀̕b -a֮ܺ̀̕b -a֮ܺ̀̕b -a֮ܺ̀̕b - -a〪̖ܻ֚b -a〪̖ܻ֚b -a〪̖ܻ֚b -a〪̖ܻ֚b -a〪̖ܻ֚b - -a〪ܻ̖֚b -a〪ܻ̖֚b -a〪ܻ̖֚b -a〪ܻ̖֚b -a〪ܻ̖֚b - -a〪̖ܼ֚b -a〪̖ܼ֚b -a〪̖ܼ֚b -a〪̖ܼ֚b -a〪̖ܼ֚b - -a〪ܼ̖֚b -a〪ܼ̖֚b -a〪ܼ̖֚b -a〪ܼ̖֚b -a〪ܼ̖֚b - -à֮ܽ̕b -à֮ܽ̕b -à֮ܽ̕b -à֮ܽ̕b -à֮ܽ̕b - -a֮ܽ̀̕b -a֮ܽ̀̕b -a֮ܽ̀̕b -a֮ܽ̀̕b -a֮ܽ̀̕b - -a〪̖ܾ֚b -a〪̖ܾ֚b -a〪̖ܾ֚b -a〪̖ܾ֚b -a〪̖ܾ֚b - -a〪ܾ̖֚b -a〪ܾ̖֚b -a〪ܾ̖֚b -a〪ܾ̖֚b -a〪ܾ̖֚b - -à֮ܿ̕b -à֮ܿ̕b -à֮ܿ̕b -à֮ܿ̕b -à֮ܿ̕b - -a֮ܿ̀̕b -a֮ܿ̀̕b -a֮ܿ̀̕b -a֮ܿ̀̕b -a֮ܿ̀̕b - -à֮݀̕b -à֮݀̕b -à֮݀̕b -à֮݀̕b -à֮݀̕b - -a֮݀̀̕b -a֮݀̀̕b -a֮݀̀̕b -a֮݀̀̕b -a֮݀̀̕b - -à֮݁̕b -à֮݁̕b -à֮݁̕b -à֮݁̕b -à֮݁̕b - -a֮݁̀̕b -a֮݁̀̕b -a֮݁̀̕b -a֮݁̀̕b -a֮݁̀̕b - -a〪̖݂֚b -a〪̖݂֚b -a〪̖݂֚b -a〪̖݂֚b -a〪̖݂֚b - -a〪݂̖֚b -a〪݂̖֚b -a〪݂̖֚b -a〪݂̖֚b -a〪݂̖֚b - -à֮݃̕b -à֮݃̕b -à֮݃̕b -à֮݃̕b -à֮݃̕b - -a֮݃̀̕b -a֮݃̀̕b -a֮݃̀̕b -a֮݃̀̕b -a֮݃̀̕b - -a〪̖݄֚b -a〪̖݄֚b -a〪̖݄֚b -a〪̖݄֚b -a〪̖݄֚b - -a〪݄̖֚b -a〪݄̖֚b -a〪݄̖֚b -a〪݄̖֚b -a〪݄̖֚b - -à֮݅̕b -à֮݅̕b -à֮݅̕b -à֮݅̕b -à֮݅̕b - -a֮݅̀̕b -a֮݅̀̕b -a֮݅̀̕b -a֮݅̀̕b -a֮݅̀̕b - -a〪̖݆֚b -a〪̖݆֚b -a〪̖݆֚b -a〪̖݆֚b -a〪̖݆֚b - -a〪݆̖֚b -a〪݆̖֚b -a〪݆̖֚b -a〪݆̖֚b -a〪݆̖֚b - -à֮݇̕b -à֮݇̕b -à֮݇̕b -à֮݇̕b -à֮݇̕b - -a֮݇̀̕b -a֮݇̀̕b -a֮݇̀̕b -a֮݇̀̕b -a֮݇̀̕b - -a〪̖݈֚b -a〪̖݈֚b -a〪̖݈֚b -a〪̖݈֚b -a〪̖݈֚b - -a〪݈̖֚b -a〪݈̖֚b -a〪݈̖֚b -a〪݈̖֚b -a〪݈̖֚b - -à֮݉̕b -à֮݉̕b -à֮݉̕b -à֮݉̕b -à֮݉̕b - -a֮݉̀̕b -a֮݉̀̕b -a֮݉̀̕b -a֮݉̀̕b -a֮݉̀̕b - -à֮݊̕b -à֮݊̕b -à֮݊̕b -à֮݊̕b -à֮݊̕b - -a֮݊̀̕b -a֮݊̀̕b -a֮݊̀̕b -a֮݊̀̕b -a֮݊̀̕b - -à֮߫̕b -à֮߫̕b -à֮߫̕b -à֮߫̕b -à֮߫̕b - -a֮߫̀̕b -a֮߫̀̕b -a֮߫̀̕b -a֮߫̀̕b -a֮߫̀̕b - -à֮߬̕b -à֮߬̕b -à֮߬̕b -à֮߬̕b -à֮߬̕b - -a֮߬̀̕b -a֮߬̀̕b -a֮߬̀̕b -a֮߬̀̕b -a֮߬̀̕b - -à֮߭̕b -à֮߭̕b -à֮߭̕b -à֮߭̕b -à֮߭̕b - -a֮߭̀̕b -a֮߭̀̕b -a֮߭̀̕b -a֮߭̀̕b -a֮߭̀̕b - -à֮߮̕b -à֮߮̕b -à֮߮̕b -à֮߮̕b -à֮߮̕b - -a֮߮̀̕b -a֮߮̀̕b -a֮߮̀̕b -a֮߮̀̕b -a֮߮̀̕b - -à֮߯̕b -à֮߯̕b -à֮߯̕b -à֮߯̕b -à֮߯̕b - -a֮߯̀̕b -a֮߯̀̕b -a֮߯̀̕b -a֮߯̀̕b -a֮߯̀̕b - -à֮߰̕b -à֮߰̕b -à֮߰̕b -à֮߰̕b -à֮߰̕b - -a֮߰̀̕b -a֮߰̀̕b -a֮߰̀̕b -a֮߰̀̕b -a֮߰̀̕b - -à֮߱̕b -à֮߱̕b -à֮߱̕b -à֮߱̕b -à֮߱̕b - -a֮߱̀̕b -a֮߱̀̕b -a֮߱̀̕b -a֮߱̀̕b -a֮߱̀̕b - -a〪̖߲֚b -a〪̖߲֚b -a〪̖߲֚b -a〪̖߲֚b -a〪̖߲֚b - -a〪߲̖֚b -a〪߲̖֚b -a〪߲̖֚b -a〪߲̖֚b -a〪߲̖֚b - -à֮߳̕b -à֮߳̕b -à֮߳̕b -à֮߳̕b -à֮߳̕b - -a֮߳̀̕b -a֮߳̀̕b -a֮߳̀̕b -a֮߳̀̕b -a֮߳̀̕b - -à֮ࠖ̕b -à֮ࠖ̕b -à֮ࠖ̕b -à֮ࠖ̕b -à֮ࠖ̕b - -a֮ࠖ̀̕b -a֮ࠖ̀̕b -a֮ࠖ̀̕b -a֮ࠖ̀̕b -a֮ࠖ̀̕b - -à֮ࠗ̕b -à֮ࠗ̕b -à֮ࠗ̕b -à֮ࠗ̕b -à֮ࠗ̕b - -a֮ࠗ̀̕b -a֮ࠗ̀̕b -a֮ࠗ̀̕b -a֮ࠗ̀̕b -a֮ࠗ̀̕b - -à֮࠘̕b -à֮࠘̕b -à֮࠘̕b -à֮࠘̕b -à֮࠘̕b - -a֮࠘̀̕b -a֮࠘̀̕b -a֮࠘̀̕b -a֮࠘̀̕b -a֮࠘̀̕b - -à֮࠙̕b -à֮࠙̕b -à֮࠙̕b -à֮࠙̕b -à֮࠙̕b - -a֮࠙̀̕b -a֮࠙̀̕b -a֮࠙̀̕b -a֮࠙̀̕b -a֮࠙̀̕b - -à֮ࠛ̕b -à֮ࠛ̕b -à֮ࠛ̕b -à֮ࠛ̕b -à֮ࠛ̕b - -a֮ࠛ̀̕b -a֮ࠛ̀̕b -a֮ࠛ̀̕b -a֮ࠛ̀̕b -a֮ࠛ̀̕b - -à֮ࠜ̕b -à֮ࠜ̕b -à֮ࠜ̕b -à֮ࠜ̕b -à֮ࠜ̕b - -a֮ࠜ̀̕b -a֮ࠜ̀̕b -a֮ࠜ̀̕b -a֮ࠜ̀̕b -a֮ࠜ̀̕b - -à֮ࠝ̕b -à֮ࠝ̕b -à֮ࠝ̕b -à֮ࠝ̕b -à֮ࠝ̕b - -a֮ࠝ̀̕b -a֮ࠝ̀̕b -a֮ࠝ̀̕b -a֮ࠝ̀̕b -a֮ࠝ̀̕b - -à֮ࠞ̕b -à֮ࠞ̕b -à֮ࠞ̕b -à֮ࠞ̕b -à֮ࠞ̕b - -a֮ࠞ̀̕b -a֮ࠞ̀̕b -a֮ࠞ̀̕b -a֮ࠞ̀̕b -a֮ࠞ̀̕b - -à֮ࠟ̕b -à֮ࠟ̕b -à֮ࠟ̕b -à֮ࠟ̕b -à֮ࠟ̕b - -a֮ࠟ̀̕b -a֮ࠟ̀̕b -a֮ࠟ̀̕b -a֮ࠟ̀̕b -a֮ࠟ̀̕b - -à֮ࠠ̕b -à֮ࠠ̕b -à֮ࠠ̕b -à֮ࠠ̕b -à֮ࠠ̕b - -a֮ࠠ̀̕b -a֮ࠠ̀̕b -a֮ࠠ̀̕b -a֮ࠠ̀̕b -a֮ࠠ̀̕b - -à֮ࠡ̕b -à֮ࠡ̕b -à֮ࠡ̕b -à֮ࠡ̕b -à֮ࠡ̕b - -a֮ࠡ̀̕b -a֮ࠡ̀̕b -a֮ࠡ̀̕b -a֮ࠡ̀̕b -a֮ࠡ̀̕b - -à֮ࠢ̕b -à֮ࠢ̕b -à֮ࠢ̕b -à֮ࠢ̕b -à֮ࠢ̕b - -a֮ࠢ̀̕b -a֮ࠢ̀̕b -a֮ࠢ̀̕b -a֮ࠢ̀̕b -a֮ࠢ̀̕b - -à֮ࠣ̕b -à֮ࠣ̕b -à֮ࠣ̕b -à֮ࠣ̕b -à֮ࠣ̕b - -a֮ࠣ̀̕b -a֮ࠣ̀̕b -a֮ࠣ̀̕b -a֮ࠣ̀̕b -a֮ࠣ̀̕b - -à֮ࠥ̕b -à֮ࠥ̕b -à֮ࠥ̕b -à֮ࠥ̕b -à֮ࠥ̕b - -a֮ࠥ̀̕b -a֮ࠥ̀̕b -a֮ࠥ̀̕b -a֮ࠥ̀̕b -a֮ࠥ̀̕b - -à֮ࠦ̕b -à֮ࠦ̕b -à֮ࠦ̕b -à֮ࠦ̕b -à֮ࠦ̕b - -a֮ࠦ̀̕b -a֮ࠦ̀̕b -a֮ࠦ̀̕b -a֮ࠦ̀̕b -a֮ࠦ̀̕b - -à֮ࠧ̕b -à֮ࠧ̕b -à֮ࠧ̕b -à֮ࠧ̕b -à֮ࠧ̕b - -a֮ࠧ̀̕b -a֮ࠧ̀̕b -a֮ࠧ̀̕b -a֮ࠧ̀̕b -a֮ࠧ̀̕b - -à֮ࠩ̕b -à֮ࠩ̕b -à֮ࠩ̕b -à֮ࠩ̕b -à֮ࠩ̕b - -a֮ࠩ̀̕b -a֮ࠩ̀̕b -a֮ࠩ̀̕b -a֮ࠩ̀̕b -a֮ࠩ̀̕b - -à֮ࠪ̕b -à֮ࠪ̕b -à֮ࠪ̕b -à֮ࠪ̕b -à֮ࠪ̕b - -a֮ࠪ̀̕b -a֮ࠪ̀̕b -a֮ࠪ̀̕b -a֮ࠪ̀̕b -a֮ࠪ̀̕b - -à֮ࠫ̕b -à֮ࠫ̕b -à֮ࠫ̕b -à֮ࠫ̕b -à֮ࠫ̕b - -a֮ࠫ̀̕b -a֮ࠫ̀̕b -a֮ࠫ̀̕b -a֮ࠫ̀̕b -a֮ࠫ̀̕b - -à֮ࠬ̕b -à֮ࠬ̕b -à֮ࠬ̕b -à֮ࠬ̕b -à֮ࠬ̕b - -a֮ࠬ̀̕b -a֮ࠬ̀̕b -a֮ࠬ̀̕b -a֮ࠬ̀̕b -a֮ࠬ̀̕b - -à֮࠭̕b -à֮࠭̕b -à֮࠭̕b -à֮࠭̕b -à֮࠭̕b - -a֮࠭̀̕b -a֮࠭̀̕b -a֮࠭̀̕b -a֮࠭̀̕b -a֮࠭̀̕b - -a〪̖࡙֚b -a〪̖࡙֚b -a〪̖࡙֚b -a〪̖࡙֚b -a〪̖࡙֚b - -a〪࡙̖֚b -a〪࡙̖֚b -a〪࡙̖֚b -a〪࡙̖֚b -a〪࡙̖֚b - -a〪̖࡚֚b -a〪̖࡚֚b -a〪̖࡚֚b -a〪̖࡚֚b -a〪̖࡚֚b - -a〪࡚̖֚b -a〪࡚̖֚b -a〪࡚̖֚b -a〪࡚̖֚b -a〪࡚̖֚b - -a〪̖࡛֚b -a〪̖࡛֚b -a〪̖࡛֚b -a〪̖࡛֚b -a〪̖࡛֚b - -a〪࡛̖֚b -a〪࡛̖֚b -a〪࡛̖֚b -a〪࡛̖֚b -a〪࡛̖֚b - -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b - -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b - -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb - -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb - -à֮॑̕b -à֮॑̕b -à֮॑̕b -à֮॑̕b -à֮॑̕b - -a֮॑̀̕b -a֮॑̀̕b -a֮॑̀̕b -a֮॑̀̕b -a֮॑̀̕b - -a〪̖॒֚b -a〪̖॒֚b -a〪̖॒֚b -a〪̖॒֚b -a〪̖॒֚b - -a〪॒̖֚b -a〪॒̖֚b -a〪॒̖֚b -a〪॒̖֚b -a〪॒̖֚b - -à֮॓̕b -à֮॓̕b -à֮॓̕b -à֮॓̕b -à֮॓̕b - -a֮॓̀̕b -a֮॓̀̕b -a֮॓̀̕b -a֮॓̀̕b -a֮॓̀̕b - -à֮॔̕b -à֮॔̕b -à֮॔̕b -à֮॔̕b -à֮॔̕b - -a֮॔̀̕b -a֮॔̀̕b -a֮॔̀̕b -a֮॔̀̕b -a֮॔̀̕b - -a̴़়゙b -a̴़়゙b -a̴़়゙b -a̴़়゙b -a̴़়゙b - -a̴়़゙b -a̴়़゙b -a̴়़゙b -a̴়़゙b -a̴়़゙b - -a゙्্ְb -a゙्্ְb -a゙्্ְb -a゙्্ְb -a゙्্ְb - -a゙্्ְb -a゙্्ְb -a゙্्ְb -a゙্्ְb -a゙্्ְb - -a̴़਼゙b -a̴़਼゙b -a̴़਼゙b -a̴़਼゙b -a̴़਼゙b - -a̴਼़゙b -a̴਼़゙b -a̴਼़゙b -a̴਼़゙b -a̴਼़゙b - -a゙्੍ְb -a゙्੍ְb -a゙्੍ְb -a゙्੍ְb -a゙्੍ְb - -a゙੍्ְb -a゙੍्ְb -a゙੍्ְb -a゙੍्ְb -a゙੍्ְb - -a̴़઼゙b -a̴़઼゙b -a̴़઼゙b -a̴़઼゙b -a̴़઼゙b - -a̴઼़゙b -a̴઼़゙b -a̴઼़゙b -a̴઼़゙b -a̴઼़゙b - -a゙्્ְb -a゙्્ְb -a゙्્ְb -a゙्્ְb -a゙्્ְb - -a゙્्ְb -a゙્्ְb -a゙્्ְb -a゙્्ְb -a゙્्ְb - -a̴़଼゙b -a̴़଼゙b -a̴़଼゙b -a̴़଼゙b -a̴़଼゙b - -a̴଼़゙b -a̴଼़゙b -a̴଼़゙b -a̴଼़゙b -a̴଼़゙b - -a゙्୍ְb -a゙्୍ְb -a゙्୍ְb -a゙्୍ְb -a゙्୍ְb - -a゙୍्ְb -a゙୍्ְb -a゙୍्ְb -a゙୍्ְb -a゙୍्ְb - -a゙्்ְb -a゙्்ְb -a゙्்ְb -a゙्்ְb -a゙्்ְb - -a゙்्ְb -a゙்्ְb -a゙்्ְb -a゙்्ְb -a゙்्ְb - -a゙्్ְb -a゙्్ְb -a゙्్ְb -a゙्్ְb -a゙्్ְb - -a゙్्ְb -a゙్्ְb -a゙్्ְb -a゙్्ְb -a゙్्ְb - -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb - -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb - -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb - -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb - -a̴़಼゙b -a̴़಼゙b -a̴़಼゙b -a̴़಼゙b -a̴़಼゙b - -a̴಼़゙b -a̴಼़゙b -a̴಼़゙b -a̴಼़゙b -a̴಼़゙b - -a゙्್ְb -a゙्್ְb -a゙्್ְb -a゙्್ְb -a゙्್ְb - -a゙್्ְb -a゙್्ְb -a゙್्ְb -a゙್्ְb -a゙್्ְb - -a゙्്ְb -a゙्്ְb -a゙्്ְb -a゙्്ְb -a゙्്ְb - -a゙്्ְb -a゙്्ְb -a゙്्ְb -a゙്्ְb -a゙്्ְb - -a゙्්ְb -a゙्්ְb -a゙्්ְb -a゙्්ְb -a゙्්ְb - -a゙්्ְb -a゙්्ְb -a゙්्ְb -a゙්्ְb -a゙්्ְb - -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b - -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b - -aౖุู่b -aౖุู่b -aౖุู่b -aౖุู่b -aౖุู่b - -aౖูุ่b -aౖูุ่b -aౖูุ่b -aౖูุ่b -aౖูุ่b - -a゙्ฺְb -a゙्ฺְb -a゙्ฺְb -a゙्ฺְb -a゙्ฺְb - -a゙ฺ्ְb -a゙ฺ्ְb -a゙ฺ्ְb -a゙ฺ्ְb -a゙ฺ्ְb - -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb - -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb - -aุ่้ຸb -aุ่้ຸb -aุ่้ຸb -aุ่้ຸb -aุ่้ຸb - -aุ้่ຸb -aุ้่ຸb -aุ้่ຸb -aุ้่ຸb -aุ้่ຸb - -aุ่๊ຸb -aุ่๊ຸb -aุ่๊ຸb -aุ่๊ຸb -aุ่๊ຸb - -aุ๊่ຸb -aุ๊่ຸb -aุ๊่ຸb -aุ๊่ຸb -aุ๊่ຸb - -aุ่๋ຸb -aุ่๋ຸb -aุ่๋ຸb -aุ่๋ຸb -aุ่๋ຸb - -aุ๋่ຸb -aุ๋่ຸb -aุ๋่ຸb -aุ๋่ຸb -aุ๋่ຸb - -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b - -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b - -a่ຸູ່b -a่ຸູ່b -a่ຸູ່b -a่ຸູ່b -a่ຸູ່b - -a่ູຸ່b -a่ູຸ່b -a่ູຸ່b -a่ູຸ່b -a่ູຸ່b - -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb - -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb - -aຸ່້ཱb -aຸ່້ཱb -aຸ່້ཱb -aຸ່້ཱb -aຸ່້ཱb - -aຸ້່ཱb -aຸ້່ཱb -aຸ້່ཱb -aຸ້່ཱb -aຸ້່ཱb - -aຸ່໊ཱb -aຸ່໊ཱb -aຸ່໊ཱb -aຸ່໊ཱb -aຸ່໊ཱb - -aຸ໊່ཱb -aຸ໊່ཱb -aຸ໊່ཱb -aຸ໊່ཱb -aຸ໊່ཱb - -aຸ່໋ཱb -aຸ່໋ཱb -aຸ່໋ཱb -aຸ່໋ཱb -aຸ່໋ཱb - -aຸ໋່ཱb -aຸ໋່ཱb -aຸ໋່ཱb -aຸ໋່ཱb -aຸ໋່ཱb - -a〪̖༘֚b -a〪̖༘֚b -a〪̖༘֚b -a〪̖༘֚b -a〪̖༘֚b - -a〪༘̖֚b -a〪༘̖֚b -a〪༘̖֚b -a〪༘̖֚b -a〪༘̖֚b - -a〪̖༙֚b -a〪̖༙֚b -a〪̖༙֚b -a〪̖༙֚b -a〪̖༙֚b - -a〪༙̖֚b -a〪༙̖֚b -a〪༙̖֚b -a〪༙̖֚b -a〪༙̖֚b - -a〪̖༵֚b -a〪̖༵֚b -a〪̖༵֚b -a〪̖༵֚b -a〪̖༵֚b - -a〪༵̖֚b -a〪༵̖֚b -a〪༵̖֚b -a〪༵̖֚b -a〪༵̖֚b - -a〪̖༷֚b -a〪̖༷֚b -a〪̖༷֚b -a〪̖༷֚b -a〪̖༷֚b - -a〪༷̖֚b -a〪༷̖֚b -a〪༷̖֚b -a〪༷̖֚b -a〪༷̖֚b - -a᷎̛༹〪b -a᷎̛༹〪b -a᷎̛༹〪b -a᷎̛༹〪b -a᷎̛༹〪b - -a᷎༹̛〪b -a᷎༹̛〪b -a᷎༹̛〪b -a᷎༹̛〪b -a᷎༹̛〪b - -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb - -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb - -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb - -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb - -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b - -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b - -aཱིེུb -aཱིེུb -aཱིེུb -aཱིེུb -aཱིེུb - -aཱེིུb -aཱེིུb -aཱེིུb -aཱེིུb -aཱེིུb - -aཱིཻུb -aཱིཻུb -aཱིཻུb -aཱིཻུb -aཱིཻུb - -aཱཻིུb -aཱཻིུb -aཱཻིུb -aཱཻིུb -aཱཻིུb - -aཱིོུb -aཱིོུb -aཱིོུb -aཱིོུb -aཱིོུb - -aཱོིུb -aཱོིུb -aཱོིུb -aཱོིུb -aཱོིུb - -aཱིཽུb -aཱིཽུb -aཱིཽུb -aཱིཽུb -aཱིཽུb - -aཱཽིུb -aཱཽིུb -aཱཽིུb -aཱཽིུb -aཱཽིུb - -aཱིྀུb -aཱིྀུb -aཱིྀུb -aཱིྀུb -aཱིྀུb - -aཱྀིུb -aཱྀིུb -aཱྀིུb -aཱྀིུb -aཱྀིུb - -à֮ྂ̕b -à֮ྂ̕b -à֮ྂ̕b -à֮ྂ̕b -à֮ྂ̕b - -a֮ྂ̀̕b -a֮ྂ̀̕b -a֮ྂ̀̕b -a֮ྂ̀̕b -a֮ྂ̀̕b - -à֮ྃ̕b -à֮ྃ̕b -à֮ྃ̕b -à֮ྃ̕b -à֮ྃ̕b - -a֮ྃ̀̕b -a֮ྃ̀̕b -a֮ྃ̀̕b -a֮ྃ̀̕b -a֮ྃ̀̕b - -a゙्྄ְb -a゙्྄ְb -a゙्྄ְb -a゙्྄ְb -a゙्྄ְb - -a゙྄्ְb -a゙྄्ְb -a゙྄्ְb -a゙྄्ְb -a゙྄्ְb - -à֮྆̕b -à֮྆̕b -à֮྆̕b -à֮྆̕b -à֮྆̕b - -a֮྆̀̕b -a֮྆̀̕b -a֮྆̀̕b -a֮྆̀̕b -a֮྆̀̕b - -à֮྇̕b -à֮྇̕b -à֮྇̕b -à֮྇̕b -à֮྇̕b - -a֮྇̀̕b -a֮྇̀̕b -a֮྇̀̕b -a֮྇̀̕b -a֮྇̀̕b - -a〪̖࿆֚b -a〪̖࿆֚b -a〪̖࿆֚b -a〪̖࿆֚b -a〪̖࿆֚b - -a〪࿆̖֚b -a〪࿆̖֚b -a〪࿆̖֚b -a〪࿆̖֚b -a〪࿆̖֚b - -a̴़့゙b -a̴़့゙b -a̴़့゙b -a̴़့゙b -a̴़့゙b - -a̴့़゙b -a̴့़゙b -a̴့़゙b -a̴့़゙b -a̴့़゙b - -a゙्္ְb -a゙्္ְb -a゙्္ְb -a゙्္ְb -a゙्္ְb - -a゙္्ְb -a゙္्ְb -a゙္्ְb -a゙္्ְb -a゙္्ְb - -a゙्်ְb -a゙्်ְb -a゙्်ְb -a゙्်ְb -a゙्်ְb - -a゙်्ְb -a゙်्ְb -a゙်्ְb -a゙်्ְb -a゙်्ְb - -a〪̖ႍ֚b -a〪̖ႍ֚b -a〪̖ႍ֚b -a〪̖ႍ֚b -a〪̖ႍ֚b - -a〪ႍ̖֚b -a〪ႍ̖֚b -a〪ႍ̖֚b -a〪ႍ̖֚b -a〪ႍ̖֚b - -à֮፝̕b -à֮፝̕b -à֮፝̕b -à֮፝̕b -à֮፝̕b - -a֮፝̀̕b -a֮፝̀̕b -a֮፝̀̕b -a֮፝̀̕b -a֮፝̀̕b - -à֮፞̕b -à֮፞̕b -à֮፞̕b -à֮፞̕b -à֮፞̕b - -a֮፞̀̕b -a֮፞̀̕b -a֮፞̀̕b -a֮፞̀̕b -a֮፞̀̕b - -à֮፟̕b -à֮፟̕b -à֮፟̕b -à֮፟̕b -à֮፟̕b - -a֮፟̀̕b -a֮፟̀̕b -a֮፟̀̕b -a֮፟̀̕b -a֮፟̀̕b - -a゙्᜔ְb -a゙्᜔ְb -a゙्᜔ְb -a゙्᜔ְb -a゙्᜔ְb - -a゙᜔्ְb -a゙᜔्ְb -a゙᜔्ְb -a゙᜔्ְb -a゙᜔्ְb - -a゙्᜴ְb -a゙्᜴ְb -a゙्᜴ְb -a゙्᜴ְb -a゙्᜴ְb - -a゙᜴्ְb -a゙᜴्ְb -a゙᜴्ְb -a゙᜴्ְb -a゙᜴्ְb - -a゙्្ְb -a゙्្ְb -a゙्្ְb -a゙्្ְb -a゙्្ְb - -a゙្्ְb -a゙្्ְb -a゙្्ְb -a゙្्ְb -a゙្्ְb - -à֮៝̕b -à֮៝̕b -à֮៝̕b -à֮៝̕b -à֮៝̕b - -a֮៝̀̕b -a֮៝̀̕b -a֮៝̀̕b -a֮៝̀̕b -a֮៝̀̕b - -à𝅭֮ᢩb -à𝅭֮ᢩb -à𝅭֮ᢩb -à𝅭֮ᢩb -à𝅭֮ᢩb - -à𝅭ᢩ֮b -à𝅭ᢩ֮b -à𝅭ᢩ֮b -à𝅭ᢩ֮b -à𝅭ᢩ֮b - -a̖֚᤹〮b -a̖֚᤹〮b -a̖֚᤹〮b -a̖֚᤹〮b -a̖֚᤹〮b - -a̖᤹֚〮b -a̖᤹֚〮b -a̖᤹֚〮b -a̖᤹֚〮b -a̖᤹֚〮b - -à֮᤺̕b -à֮᤺̕b -à֮᤺̕b -à֮᤺̕b -à֮᤺̕b - -a֮᤺̀̕b -a֮᤺̀̕b -a֮᤺̀̕b -a֮᤺̀̕b -a֮᤺̀̕b - -a〪̖᤻֚b -a〪̖᤻֚b -a〪̖᤻֚b -a〪̖᤻֚b -a〪̖᤻֚b - -a〪᤻̖֚b -a〪᤻̖֚b -a〪᤻̖֚b -a〪᤻̖֚b -a〪᤻̖֚b - -à֮ᨗ̕b -à֮ᨗ̕b -à֮ᨗ̕b -à֮ᨗ̕b -à֮ᨗ̕b - -a֮ᨗ̀̕b -a֮ᨗ̀̕b -a֮ᨗ̀̕b -a֮ᨗ̀̕b -a֮ᨗ̀̕b - -a〪̖ᨘ֚b -a〪̖ᨘ֚b -a〪̖ᨘ֚b -a〪̖ᨘ֚b -a〪̖ᨘ֚b - -a〪ᨘ̖֚b -a〪ᨘ̖֚b -a〪ᨘ̖֚b -a〪ᨘ̖֚b -a〪ᨘ̖֚b - -a゙्᩠ְb -a゙्᩠ְb -a゙्᩠ְb -a゙्᩠ְb -a゙्᩠ְb - -a゙᩠्ְb -a゙᩠्ְb -a゙᩠्ְb -a゙᩠्ְb -a゙᩠्ְb - -à֮᩵̕b -à֮᩵̕b -à֮᩵̕b -à֮᩵̕b -à֮᩵̕b - -a֮᩵̀̕b -a֮᩵̀̕b -a֮᩵̀̕b -a֮᩵̀̕b -a֮᩵̀̕b - -à֮᩶̕b -à֮᩶̕b -à֮᩶̕b -à֮᩶̕b -à֮᩶̕b - -a֮᩶̀̕b -a֮᩶̀̕b -a֮᩶̀̕b -a֮᩶̀̕b -a֮᩶̀̕b - -à֮᩷̕b -à֮᩷̕b -à֮᩷̕b -à֮᩷̕b -à֮᩷̕b - -a֮᩷̀̕b -a֮᩷̀̕b -a֮᩷̀̕b -a֮᩷̀̕b -a֮᩷̀̕b - -à֮᩸̕b -à֮᩸̕b -à֮᩸̕b -à֮᩸̕b -à֮᩸̕b - -a֮᩸̀̕b -a֮᩸̀̕b -a֮᩸̀̕b -a֮᩸̀̕b -a֮᩸̀̕b - -à֮᩹̕b -à֮᩹̕b -à֮᩹̕b -à֮᩹̕b -à֮᩹̕b - -a֮᩹̀̕b -a֮᩹̀̕b -a֮᩹̀̕b -a֮᩹̀̕b -a֮᩹̀̕b - -à֮᩺̕b -à֮᩺̕b -à֮᩺̕b -à֮᩺̕b -à֮᩺̕b - -a֮᩺̀̕b -a֮᩺̀̕b -a֮᩺̀̕b -a֮᩺̀̕b -a֮᩺̀̕b - -à֮᩻̕b -à֮᩻̕b -à֮᩻̕b -à֮᩻̕b -à֮᩻̕b - -a֮᩻̀̕b -a֮᩻̀̕b -a֮᩻̀̕b -a֮᩻̀̕b -a֮᩻̀̕b - -à֮᩼̕b -à֮᩼̕b -à֮᩼̕b -à֮᩼̕b -à֮᩼̕b - -a֮᩼̀̕b -a֮᩼̀̕b -a֮᩼̀̕b -a֮᩼̀̕b -a֮᩼̀̕b - -a〪̖᩿֚b -a〪̖᩿֚b -a〪̖᩿֚b -a〪̖᩿֚b -a〪̖᩿֚b - -a〪᩿̖֚b -a〪᩿̖֚b -a〪᩿̖֚b -a〪᩿̖֚b -a〪᩿̖֚b - -a̴़᬴゙b -a̴़᬴゙b -a̴़᬴゙b -a̴़᬴゙b -a̴़᬴゙b - -a̴᬴़゙b -a̴᬴़゙b -a̴᬴़゙b -a̴᬴़゙b -a̴᬴़゙b - -a゙्᭄ְb -a゙्᭄ְb -a゙्᭄ְb -a゙्᭄ְb -a゙्᭄ְb - -a゙᭄्ְb -a゙᭄्ְb -a゙᭄्ְb -a゙᭄्ְb -a゙᭄्ְb - -à֮᭫̕b -à֮᭫̕b -à֮᭫̕b -à֮᭫̕b -à֮᭫̕b - -a֮᭫̀̕b -a֮᭫̀̕b -a֮᭫̀̕b -a֮᭫̀̕b -a֮᭫̀̕b - -a〪̖᭬֚b -a〪̖᭬֚b -a〪̖᭬֚b -a〪̖᭬֚b -a〪̖᭬֚b - -a〪᭬̖֚b -a〪᭬̖֚b -a〪᭬̖֚b -a〪᭬̖֚b -a〪᭬̖֚b - -à֮᭭̕b -à֮᭭̕b -à֮᭭̕b -à֮᭭̕b -à֮᭭̕b - -a֮᭭̀̕b -a֮᭭̀̕b -a֮᭭̀̕b -a֮᭭̀̕b -a֮᭭̀̕b - -à֮᭮̕b -à֮᭮̕b -à֮᭮̕b -à֮᭮̕b -à֮᭮̕b - -a֮᭮̀̕b -a֮᭮̀̕b -a֮᭮̀̕b -a֮᭮̀̕b -a֮᭮̀̕b - -à֮᭯̕b -à֮᭯̕b -à֮᭯̕b -à֮᭯̕b -à֮᭯̕b - -a֮᭯̀̕b -a֮᭯̀̕b -a֮᭯̀̕b -a֮᭯̀̕b -a֮᭯̀̕b - -à֮᭰̕b -à֮᭰̕b -à֮᭰̕b -à֮᭰̕b -à֮᭰̕b - -a֮᭰̀̕b -a֮᭰̀̕b -a֮᭰̀̕b -a֮᭰̀̕b -a֮᭰̀̕b - -à֮᭱̕b -à֮᭱̕b -à֮᭱̕b -à֮᭱̕b -à֮᭱̕b - -a֮᭱̀̕b -a֮᭱̀̕b -a֮᭱̀̕b -a֮᭱̀̕b -a֮᭱̀̕b - -à֮᭲̕b -à֮᭲̕b -à֮᭲̕b -à֮᭲̕b -à֮᭲̕b - -a֮᭲̀̕b -a֮᭲̀̕b -a֮᭲̀̕b -a֮᭲̀̕b -a֮᭲̀̕b - -à֮᭳̕b -à֮᭳̕b -à֮᭳̕b -à֮᭳̕b -à֮᭳̕b - -a֮᭳̀̕b -a֮᭳̀̕b -a֮᭳̀̕b -a֮᭳̀̕b -a֮᭳̀̕b - -a゙्᮪ְb -a゙्᮪ְb -a゙्᮪ְb -a゙्᮪ְb -a゙्᮪ְb - -a゙᮪्ְb -a゙᮪्ְb -a゙᮪्ְb -a゙᮪्ְb -a゙᮪्ְb - -a̴़᯦゙b -a̴़᯦゙b -a̴़᯦゙b -a̴़᯦゙b -a̴़᯦゙b - -a̴᯦़゙b -a̴᯦़゙b -a̴᯦़゙b -a̴᯦़゙b -a̴᯦़゙b - -a゙्᯲ְb -a゙्᯲ְb -a゙्᯲ְb -a゙्᯲ְb -a゙्᯲ְb - -a゙᯲्ְb -a゙᯲्ְb -a゙᯲्ְb -a゙᯲्ְb -a゙᯲्ְb - -a゙्᯳ְb -a゙्᯳ְb -a゙्᯳ְb -a゙्᯳ְb -a゙्᯳ְb - -a゙᯳्ְb -a゙᯳्ְb -a゙᯳्ְb -a゙᯳्ְb -a゙᯳्ְb - -a̴़᰷゙b -a̴़᰷゙b -a̴़᰷゙b -a̴़᰷゙b -a̴़᰷゙b - -a̴᰷़゙b -a̴᰷़゙b -a̴᰷़゙b -a̴᰷़゙b -a̴᰷़゙b - -à֮᳐̕b -à֮᳐̕b -à֮᳐̕b -à֮᳐̕b -à֮᳐̕b - -a֮᳐̀̕b -a֮᳐̀̕b -a֮᳐̀̕b -a֮᳐̀̕b -a֮᳐̀̕b - -à֮᳑̕b -à֮᳑̕b -à֮᳑̕b -à֮᳑̕b -à֮᳑̕b - -a֮᳑̀̕b -a֮᳑̀̕b -a֮᳑̀̕b -a֮᳑̀̕b -a֮᳑̀̕b - -à֮᳒̕b -à֮᳒̕b -à֮᳒̕b -à֮᳒̕b -à֮᳒̕b - -a֮᳒̀̕b -a֮᳒̀̕b -a֮᳒̀̕b -a֮᳒̀̕b -a֮᳒̀̕b - -a̴᳔़b -a̴᳔़b -a̴᳔़b -a̴᳔़b -a̴᳔़b - -a᳔̴़b -a᳔̴़b -a᳔̴़b -a᳔̴़b -a᳔̴़b - -a〪̖᳕֚b -a〪̖᳕֚b -a〪̖᳕֚b -a〪̖᳕֚b -a〪̖᳕֚b - -a〪᳕̖֚b -a〪᳕̖֚b -a〪᳕̖֚b -a〪᳕̖֚b -a〪᳕̖֚b - -a〪̖᳖֚b -a〪̖᳖֚b -a〪̖᳖֚b -a〪̖᳖֚b -a〪̖᳖֚b - -a〪᳖̖֚b -a〪᳖̖֚b -a〪᳖̖֚b -a〪᳖̖֚b -a〪᳖̖֚b - -a〪̖᳗֚b -a〪̖᳗֚b -a〪̖᳗֚b -a〪̖᳗֚b -a〪̖᳗֚b - -a〪᳗̖֚b -a〪᳗̖֚b -a〪᳗̖֚b -a〪᳗̖֚b -a〪᳗̖֚b - -a〪̖᳘֚b -a〪̖᳘֚b -a〪̖᳘֚b -a〪̖᳘֚b -a〪̖᳘֚b - -a〪᳘̖֚b -a〪᳘̖֚b -a〪᳘̖֚b -a〪᳘̖֚b -a〪᳘̖֚b - -a〪̖᳙֚b -a〪̖᳙֚b -a〪̖᳙֚b -a〪̖᳙֚b -a〪̖᳙֚b - -a〪᳙̖֚b -a〪᳙̖֚b -a〪᳙̖֚b -a〪᳙̖֚b -a〪᳙̖֚b - -à֮᳚̕b -à֮᳚̕b -à֮᳚̕b -à֮᳚̕b -à֮᳚̕b - -a֮᳚̀̕b -a֮᳚̀̕b -a֮᳚̀̕b -a֮᳚̀̕b -a֮᳚̀̕b - -à֮᳛̕b -à֮᳛̕b -à֮᳛̕b -à֮᳛̕b -à֮᳛̕b - -a֮᳛̀̕b -a֮᳛̀̕b -a֮᳛̀̕b -a֮᳛̀̕b -a֮᳛̀̕b - -a〪̖᳜֚b -a〪̖᳜֚b -a〪̖᳜֚b -a〪̖᳜֚b -a〪̖᳜֚b - -a〪᳜̖֚b -a〪᳜̖֚b -a〪᳜̖֚b -a〪᳜̖֚b -a〪᳜̖֚b - -a〪̖᳝֚b -a〪̖᳝֚b -a〪̖᳝֚b -a〪̖᳝֚b -a〪̖᳝֚b - -a〪᳝̖֚b -a〪᳝̖֚b -a〪᳝̖֚b -a〪᳝̖֚b -a〪᳝̖֚b - -a〪̖᳞֚b -a〪̖᳞֚b -a〪̖᳞֚b -a〪̖᳞֚b -a〪̖᳞֚b - -a〪᳞̖֚b -a〪᳞̖֚b -a〪᳞̖֚b -a〪᳞̖֚b -a〪᳞̖֚b - -a〪̖᳟֚b -a〪̖᳟֚b -a〪̖᳟֚b -a〪̖᳟֚b -a〪̖᳟֚b - -a〪᳟̖֚b -a〪᳟̖֚b -a〪᳟̖֚b -a〪᳟̖֚b -a〪᳟̖֚b - -à֮᳠̕b -à֮᳠̕b -à֮᳠̕b -à֮᳠̕b -à֮᳠̕b - -a֮᳠̀̕b -a֮᳠̀̕b -a֮᳠̀̕b -a֮᳠̀̕b -a֮᳠̀̕b - -a̴᳢़b -a̴᳢़b -a̴᳢़b -a̴᳢़b -a̴᳢़b - -a᳢̴़b -a᳢̴़b -a᳢̴़b -a᳢̴़b -a᳢̴़b - -a̴᳣़b -a̴᳣़b -a̴᳣़b -a̴᳣़b -a̴᳣़b - -a᳣̴़b -a᳣̴़b -a᳣̴़b -a᳣̴़b -a᳣̴़b - -a̴᳤़b -a̴᳤़b -a̴᳤़b -a̴᳤़b -a̴᳤़b - -a᳤̴़b -a᳤̴़b -a᳤̴़b -a᳤̴़b -a᳤̴़b - -a̴᳥़b -a̴᳥़b -a̴᳥़b -a̴᳥़b -a̴᳥़b - -a᳥̴़b -a᳥̴़b -a᳥̴़b -a᳥̴़b -a᳥̴़b - -a̴᳦़b -a̴᳦़b -a̴᳦़b -a̴᳦़b -a̴᳦़b - -a᳦̴़b -a᳦̴़b -a᳦̴़b -a᳦̴़b -a᳦̴़b - -a̴᳧़b -a̴᳧़b -a̴᳧़b -a̴᳧़b -a̴᳧़b - -a᳧̴़b -a᳧̴़b -a᳧̴़b -a᳧̴़b -a᳧̴़b - -a̴᳨़b -a̴᳨़b -a̴᳨़b -a̴᳨़b -a̴᳨़b - -a᳨̴़b -a᳨̴़b -a᳨̴़b -a᳨̴़b -a᳨̴़b - -a〪̖᳭֚b -a〪̖᳭֚b -a〪̖᳭֚b -a〪̖᳭֚b -a〪̖᳭֚b - -a〪᳭̖֚b -a〪᳭̖֚b -a〪᳭̖֚b -a〪᳭̖֚b -a〪᳭̖֚b - -à֮᷀̕b -à֮᷀̕b -à֮᷀̕b -à֮᷀̕b -à֮᷀̕b - -a֮᷀̀̕b -a֮᷀̀̕b -a֮᷀̀̕b -a֮᷀̀̕b -a֮᷀̀̕b - -à֮᷁̕b -à֮᷁̕b -à֮᷁̕b -à֮᷁̕b -à֮᷁̕b - -a֮᷁̀̕b -a֮᷁̀̕b -a֮᷁̀̕b -a֮᷁̀̕b -a֮᷁̀̕b - -a〪̖᷂֚b -a〪̖᷂֚b -a〪̖᷂֚b -a〪̖᷂֚b -a〪̖᷂֚b - -a〪᷂̖֚b -a〪᷂̖֚b -a〪᷂̖֚b -a〪᷂̖֚b -a〪᷂̖֚b - -à֮᷃̕b -à֮᷃̕b -à֮᷃̕b -à֮᷃̕b -à֮᷃̕b - -a֮᷃̀̕b -a֮᷃̀̕b -a֮᷃̀̕b -a֮᷃̀̕b -a֮᷃̀̕b - -à֮᷄̕b -à֮᷄̕b -à֮᷄̕b -à֮᷄̕b -à֮᷄̕b - -a֮᷄̀̕b -a֮᷄̀̕b -a֮᷄̀̕b -a֮᷄̀̕b -a֮᷄̀̕b - -à֮᷅̕b -à֮᷅̕b -à֮᷅̕b -à֮᷅̕b -à֮᷅̕b - -a֮᷅̀̕b -a֮᷅̀̕b -a֮᷅̀̕b -a֮᷅̀̕b -a֮᷅̀̕b - -à֮᷆̕b -à֮᷆̕b -à֮᷆̕b -à֮᷆̕b -à֮᷆̕b - -a֮᷆̀̕b -a֮᷆̀̕b -a֮᷆̀̕b -a֮᷆̀̕b -a֮᷆̀̕b - -à֮᷇̕b -à֮᷇̕b -à֮᷇̕b -à֮᷇̕b -à֮᷇̕b - -a֮᷇̀̕b -a֮᷇̀̕b -a֮᷇̀̕b -a֮᷇̀̕b -a֮᷇̀̕b - -à֮᷈̕b -à֮᷈̕b -à֮᷈̕b -à֮᷈̕b -à֮᷈̕b - -a֮᷈̀̕b -a֮᷈̀̕b -a֮᷈̀̕b -a֮᷈̀̕b -a֮᷈̀̕b - -à֮᷉̕b -à֮᷉̕b -à֮᷉̕b -à֮᷉̕b -à֮᷉̕b - -a֮᷉̀̕b -a֮᷉̀̕b -a֮᷉̀̕b -a֮᷉̀̕b -a֮᷉̀̕b - -a〪̖᷊֚b -a〪̖᷊֚b -a〪̖᷊֚b -a〪̖᷊֚b -a〪̖᷊֚b - -a〪᷊̖֚b -a〪᷊̖֚b -a〪᷊̖֚b -a〪᷊̖֚b -a〪᷊̖֚b - -à֮᷋̕b -à֮᷋̕b -à֮᷋̕b -à֮᷋̕b -à֮᷋̕b - -a֮᷋̀̕b -a֮᷋̀̕b -a֮᷋̀̕b -a֮᷋̀̕b -a֮᷋̀̕b - -à֮᷌̕b -à֮᷌̕b -à֮᷌̕b -à֮᷌̕b -à֮᷌̕b - -a֮᷌̀̕b -a֮᷌̀̕b -a֮᷌̀̕b -a֮᷌̀̕b -a֮᷌̀̕b - -a͜͝᷍ͅb -a͜͝᷍ͅb -a͜͝᷍ͅb -a͜͝᷍ͅb -a͜͝᷍ͅb - -a͜᷍͝ͅb -a͜᷍͝ͅb -a͜᷍͝ͅb -a͜᷍͝ͅb -a͜᷍͝ͅb - -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b - -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b - -a〪̖᷏֚b -a〪̖᷏֚b -a〪̖᷏֚b -a〪̖᷏֚b -a〪̖᷏֚b - -a〪᷏̖֚b -a〪᷏̖֚b -a〪᷏̖֚b -a〪᷏̖֚b -a〪᷏̖֚b - -aུ̡᷐᷎b -aུ̡᷐᷎b -aུ̡᷐᷎b -aུ̡᷐᷎b -aུ̡᷐᷎b - -aུ᷐̡᷎b -aུ᷐̡᷎b -aུ᷐̡᷎b -aུ᷐̡᷎b -aུ᷐̡᷎b - -à֮᷑̕b -à֮᷑̕b -à֮᷑̕b -à֮᷑̕b -à֮᷑̕b - -a֮᷑̀̕b -a֮᷑̀̕b -a֮᷑̀̕b -a֮᷑̀̕b -a֮᷑̀̕b - -à֮᷒̕b -à֮᷒̕b -à֮᷒̕b -à֮᷒̕b -à֮᷒̕b - -a֮᷒̀̕b -a֮᷒̀̕b -a֮᷒̀̕b -a֮᷒̀̕b -a֮᷒̀̕b - -à֮ᷓ̕b -à֮ᷓ̕b -à֮ᷓ̕b -à֮ᷓ̕b -à֮ᷓ̕b - -a֮ᷓ̀̕b -a֮ᷓ̀̕b -a֮ᷓ̀̕b -a֮ᷓ̀̕b -a֮ᷓ̀̕b - -à֮ᷔ̕b -à֮ᷔ̕b -à֮ᷔ̕b -à֮ᷔ̕b -à֮ᷔ̕b - -a֮ᷔ̀̕b -a֮ᷔ̀̕b -a֮ᷔ̀̕b -a֮ᷔ̀̕b -a֮ᷔ̀̕b - -à֮ᷕ̕b -à֮ᷕ̕b -à֮ᷕ̕b -à֮ᷕ̕b -à֮ᷕ̕b - -a֮ᷕ̀̕b -a֮ᷕ̀̕b -a֮ᷕ̀̕b -a֮ᷕ̀̕b -a֮ᷕ̀̕b - -à֮ᷖ̕b -à֮ᷖ̕b -à֮ᷖ̕b -à֮ᷖ̕b -à֮ᷖ̕b - -a֮ᷖ̀̕b -a֮ᷖ̀̕b -a֮ᷖ̀̕b -a֮ᷖ̀̕b -a֮ᷖ̀̕b - -à֮ᷗ̕b -à֮ᷗ̕b -à֮ᷗ̕b -à֮ᷗ̕b -à֮ᷗ̕b - -a֮ᷗ̀̕b -a֮ᷗ̀̕b -a֮ᷗ̀̕b -a֮ᷗ̀̕b -a֮ᷗ̀̕b - -à֮ᷘ̕b -à֮ᷘ̕b -à֮ᷘ̕b -à֮ᷘ̕b -à֮ᷘ̕b - -a֮ᷘ̀̕b -a֮ᷘ̀̕b -a֮ᷘ̀̕b -a֮ᷘ̀̕b -a֮ᷘ̀̕b - -à֮ᷙ̕b -à֮ᷙ̕b -à֮ᷙ̕b -à֮ᷙ̕b -à֮ᷙ̕b - -a֮ᷙ̀̕b -a֮ᷙ̀̕b -a֮ᷙ̀̕b -a֮ᷙ̀̕b -a֮ᷙ̀̕b - -à֮ᷚ̕b -à֮ᷚ̕b -à֮ᷚ̕b -à֮ᷚ̕b -à֮ᷚ̕b - -a֮ᷚ̀̕b -a֮ᷚ̀̕b -a֮ᷚ̀̕b -a֮ᷚ̀̕b -a֮ᷚ̀̕b - -à֮ᷛ̕b -à֮ᷛ̕b -à֮ᷛ̕b -à֮ᷛ̕b -à֮ᷛ̕b - -a֮ᷛ̀̕b -a֮ᷛ̀̕b -a֮ᷛ̀̕b -a֮ᷛ̀̕b -a֮ᷛ̀̕b - -à֮ᷜ̕b -à֮ᷜ̕b -à֮ᷜ̕b -à֮ᷜ̕b -à֮ᷜ̕b - -a֮ᷜ̀̕b -a֮ᷜ̀̕b -a֮ᷜ̀̕b -a֮ᷜ̀̕b -a֮ᷜ̀̕b - -à֮ᷝ̕b -à֮ᷝ̕b -à֮ᷝ̕b -à֮ᷝ̕b -à֮ᷝ̕b - -a֮ᷝ̀̕b -a֮ᷝ̀̕b -a֮ᷝ̀̕b -a֮ᷝ̀̕b -a֮ᷝ̀̕b - -à֮ᷞ̕b -à֮ᷞ̕b -à֮ᷞ̕b -à֮ᷞ̕b -à֮ᷞ̕b - -a֮ᷞ̀̕b -a֮ᷞ̀̕b -a֮ᷞ̀̕b -a֮ᷞ̀̕b -a֮ᷞ̀̕b - -à֮ᷟ̕b -à֮ᷟ̕b -à֮ᷟ̕b -à֮ᷟ̕b -à֮ᷟ̕b - -a֮ᷟ̀̕b -a֮ᷟ̀̕b -a֮ᷟ̀̕b -a֮ᷟ̀̕b -a֮ᷟ̀̕b - -à֮ᷠ̕b -à֮ᷠ̕b -à֮ᷠ̕b -à֮ᷠ̕b -à֮ᷠ̕b - -a֮ᷠ̀̕b -a֮ᷠ̀̕b -a֮ᷠ̀̕b -a֮ᷠ̀̕b -a֮ᷠ̀̕b - -à֮ᷡ̕b -à֮ᷡ̕b -à֮ᷡ̕b -à֮ᷡ̕b -à֮ᷡ̕b - -a֮ᷡ̀̕b -a֮ᷡ̀̕b -a֮ᷡ̀̕b -a֮ᷡ̀̕b -a֮ᷡ̀̕b - -à֮ᷢ̕b -à֮ᷢ̕b -à֮ᷢ̕b -à֮ᷢ̕b -à֮ᷢ̕b - -a֮ᷢ̀̕b -a֮ᷢ̀̕b -a֮ᷢ̀̕b -a֮ᷢ̀̕b -a֮ᷢ̀̕b - -à֮ᷣ̕b -à֮ᷣ̕b -à֮ᷣ̕b -à֮ᷣ̕b -à֮ᷣ̕b - -a֮ᷣ̀̕b -a֮ᷣ̀̕b -a֮ᷣ̀̕b -a֮ᷣ̀̕b -a֮ᷣ̀̕b - -à֮ᷤ̕b -à֮ᷤ̕b -à֮ᷤ̕b -à֮ᷤ̕b -à֮ᷤ̕b - -a֮ᷤ̀̕b -a֮ᷤ̀̕b -a֮ᷤ̀̕b -a֮ᷤ̀̕b -a֮ᷤ̀̕b - -à֮ᷥ̕b -à֮ᷥ̕b -à֮ᷥ̕b -à֮ᷥ̕b -à֮ᷥ̕b - -a֮ᷥ̀̕b -a֮ᷥ̀̕b -a֮ᷥ̀̕b -a֮ᷥ̀̕b -a֮ᷥ̀̕b - -à֮ᷦ̕b -à֮ᷦ̕b -à֮ᷦ̕b -à֮ᷦ̕b -à֮ᷦ̕b - -a֮ᷦ̀̕b -a֮ᷦ̀̕b -a֮ᷦ̀̕b -a֮ᷦ̀̕b -a֮ᷦ̀̕b - -a̕͜᷼͝b -a̕͜᷼͝b -a̕͜᷼͝b -a̕͜᷼͝b -a̕͜᷼͝b - -a̕᷼͜͝b -a̕᷼͜͝b -a̕᷼͜͝b -a̕᷼͜͝b -a̕᷼͜͝b - -a〪̖᷽֚b -a〪̖᷽֚b -a〪̖᷽֚b -a〪̖᷽֚b -a〪̖᷽֚b - -a〪᷽̖֚b -a〪᷽̖֚b -a〪᷽̖֚b -a〪᷽̖֚b -a〪᷽̖֚b - -à֮᷾̕b -à֮᷾̕b -à֮᷾̕b -à֮᷾̕b -à֮᷾̕b - -a֮᷾̀̕b -a֮᷾̀̕b -a֮᷾̀̕b -a֮᷾̀̕b -a֮᷾̀̕b - -a〪̖᷿֚b -a〪̖᷿֚b -a〪̖᷿֚b -a〪̖᷿֚b -a〪̖᷿֚b - -a〪᷿̖֚b -a〪᷿̖֚b -a〪᷿̖֚b -a〪᷿̖֚b -a〪᷿̖֚b - -à֮⃐̕b -à֮⃐̕b -à֮⃐̕b -à֮⃐̕b -à֮⃐̕b - -a֮⃐̀̕b -a֮⃐̀̕b -a֮⃐̀̕b -a֮⃐̀̕b -a֮⃐̀̕b - -à֮⃑̕b -à֮⃑̕b -à֮⃑̕b -à֮⃑̕b -à֮⃑̕b - -a֮⃑̀̕b -a֮⃑̀̕b -a֮⃑̀̕b -a֮⃑̀̕b -a֮⃑̀̕b - -a̴⃒़b -a̴⃒़b -a̴⃒़b -a̴⃒़b -a̴⃒़b - -a⃒̴़b -a⃒̴़b -a⃒̴़b -a⃒̴़b -a⃒̴़b - -a̴⃓़b -a̴⃓़b -a̴⃓़b -a̴⃓़b -a̴⃓़b - -a⃓̴़b -a⃓̴़b -a⃓̴़b -a⃓̴़b -a⃓̴़b - -à֮⃔̕b -à֮⃔̕b -à֮⃔̕b -à֮⃔̕b -à֮⃔̕b - -a֮⃔̀̕b -a֮⃔̀̕b -a֮⃔̀̕b -a֮⃔̀̕b -a֮⃔̀̕b - -à֮⃕̕b -à֮⃕̕b -à֮⃕̕b -à֮⃕̕b -à֮⃕̕b - -a֮⃕̀̕b -a֮⃕̀̕b -a֮⃕̀̕b -a֮⃕̀̕b -a֮⃕̀̕b - -à֮⃖̕b -à֮⃖̕b -à֮⃖̕b -à֮⃖̕b -à֮⃖̕b - -a֮⃖̀̕b -a֮⃖̀̕b -a֮⃖̀̕b -a֮⃖̀̕b -a֮⃖̀̕b - -à֮⃗̕b -à֮⃗̕b -à֮⃗̕b -à֮⃗̕b -à֮⃗̕b - -a֮⃗̀̕b -a֮⃗̀̕b -a֮⃗̀̕b -a֮⃗̀̕b -a֮⃗̀̕b - -a̴⃘़b -a̴⃘़b -a̴⃘़b -a̴⃘़b -a̴⃘़b - -a⃘̴़b -a⃘̴़b -a⃘̴़b -a⃘̴़b -a⃘̴़b - -a̴⃙़b -a̴⃙़b -a̴⃙़b -a̴⃙़b -a̴⃙़b - -a⃙̴़b -a⃙̴़b -a⃙̴़b -a⃙̴़b -a⃙̴़b - -a̴⃚़b -a̴⃚़b -a̴⃚़b -a̴⃚़b -a̴⃚़b - -a⃚̴़b -a⃚̴़b -a⃚̴़b -a⃚̴़b -a⃚̴़b - -à֮⃛̕b -à֮⃛̕b -à֮⃛̕b -à֮⃛̕b -à֮⃛̕b - -a֮⃛̀̕b -a֮⃛̀̕b -a֮⃛̀̕b -a֮⃛̀̕b -a֮⃛̀̕b - -à֮⃜̕b -à֮⃜̕b -à֮⃜̕b -à֮⃜̕b -à֮⃜̕b - -a֮⃜̀̕b -a֮⃜̀̕b -a֮⃜̀̕b -a֮⃜̀̕b -a֮⃜̀̕b - -à֮⃡̕b -à֮⃡̕b -à֮⃡̕b -à֮⃡̕b -à֮⃡̕b - -a֮⃡̀̕b -a֮⃡̀̕b -a֮⃡̀̕b -a֮⃡̀̕b -a֮⃡̀̕b - -a̴⃥़b -a̴⃥़b -a̴⃥़b -a̴⃥़b -a̴⃥़b - -a⃥̴़b -a⃥̴़b -a⃥̴़b -a⃥̴़b -a⃥̴़b - -a̴⃦़b -a̴⃦़b -a̴⃦़b -a̴⃦़b -a̴⃦़b - -a⃦̴़b -a⃦̴़b -a⃦̴़b -a⃦̴़b -a⃦̴़b - -à֮⃧̕b -à֮⃧̕b -à֮⃧̕b -à֮⃧̕b -à֮⃧̕b - -a֮⃧̀̕b -a֮⃧̀̕b -a֮⃧̀̕b -a֮⃧̀̕b -a֮⃧̀̕b - -a〪̖⃨֚b -a〪̖⃨֚b -a〪̖⃨֚b -a〪̖⃨֚b -a〪̖⃨֚b - -a〪⃨̖֚b -a〪⃨̖֚b -a〪⃨̖֚b -a〪⃨̖֚b -a〪⃨̖֚b - -à֮⃩̕b -à֮⃩̕b -à֮⃩̕b -à֮⃩̕b -à֮⃩̕b - -a֮⃩̀̕b -a֮⃩̀̕b -a֮⃩̀̕b -a֮⃩̀̕b -a֮⃩̀̕b - -a̴⃪़b -a̴⃪़b -a̴⃪़b -a̴⃪़b -a̴⃪़b - -a⃪̴़b -a⃪̴़b -a⃪̴़b -a⃪̴़b -a⃪̴़b - -a̴⃫़b -a̴⃫़b -a̴⃫़b -a̴⃫़b -a̴⃫़b - -a⃫̴़b -a⃫̴़b -a⃫̴़b -a⃫̴़b -a⃫̴़b - -a〪̖⃬֚b -a〪̖⃬֚b -a〪̖⃬֚b -a〪̖⃬֚b -a〪̖⃬֚b - -a〪⃬̖֚b -a〪⃬̖֚b -a〪⃬̖֚b -a〪⃬̖֚b -a〪⃬̖֚b - -a〪̖⃭֚b -a〪̖⃭֚b -a〪̖⃭֚b -a〪̖⃭֚b -a〪̖⃭֚b - -a〪⃭̖֚b -a〪⃭̖֚b -a〪⃭̖֚b -a〪⃭̖֚b -a〪⃭̖֚b - -a〪̖⃮֚b -a〪̖⃮֚b -a〪̖⃮֚b -a〪̖⃮֚b -a〪̖⃮֚b - -a〪⃮̖֚b -a〪⃮̖֚b -a〪⃮̖֚b -a〪⃮̖֚b -a〪⃮̖֚b - -a〪̖⃯֚b -a〪̖⃯֚b -a〪̖⃯֚b -a〪̖⃯֚b -a〪̖⃯֚b - -a〪⃯̖֚b -a〪⃯̖֚b -a〪⃯̖֚b -a〪⃯̖֚b -a〪⃯̖֚b - -à֮⃰̕b -à֮⃰̕b -à֮⃰̕b -à֮⃰̕b -à֮⃰̕b - -a֮⃰̀̕b -a֮⃰̀̕b -a֮⃰̀̕b -a֮⃰̀̕b -a֮⃰̀̕b - -à֮⳯̕b -à֮⳯̕b -à֮⳯̕b -à֮⳯̕b -à֮⳯̕b - -a֮⳯̀̕b -a֮⳯̀̕b -a֮⳯̀̕b -a֮⳯̀̕b -a֮⳯̀̕b - -à֮⳰̕b -à֮⳰̕b -à֮⳰̕b -à֮⳰̕b -à֮⳰̕b - -a֮⳰̀̕b -a֮⳰̀̕b -a֮⳰̀̕b -a֮⳰̀̕b -a֮⳰̀̕b - -à֮⳱̕b -à֮⳱̕b -à֮⳱̕b -à֮⳱̕b -à֮⳱̕b - -a֮⳱̀̕b -a֮⳱̀̕b -a֮⳱̀̕b -a֮⳱̀̕b -a֮⳱̀̕b - -a゙्⵿ְb -a゙्⵿ְb -a゙्⵿ְb -a゙्⵿ְb -a゙्⵿ְb - -a゙⵿्ְb -a゙⵿्ְb -a゙⵿्ְb -a゙⵿्ְb -a゙⵿्ְb - -à֮ⷠ̕b -à֮ⷠ̕b -à֮ⷠ̕b -à֮ⷠ̕b -à֮ⷠ̕b - -a֮ⷠ̀̕b -a֮ⷠ̀̕b -a֮ⷠ̀̕b -a֮ⷠ̀̕b -a֮ⷠ̀̕b - -à֮ⷡ̕b -à֮ⷡ̕b -à֮ⷡ̕b -à֮ⷡ̕b -à֮ⷡ̕b - -a֮ⷡ̀̕b -a֮ⷡ̀̕b -a֮ⷡ̀̕b -a֮ⷡ̀̕b -a֮ⷡ̀̕b - -à֮ⷢ̕b -à֮ⷢ̕b -à֮ⷢ̕b -à֮ⷢ̕b -à֮ⷢ̕b - -a֮ⷢ̀̕b -a֮ⷢ̀̕b -a֮ⷢ̀̕b -a֮ⷢ̀̕b -a֮ⷢ̀̕b - -à֮ⷣ̕b -à֮ⷣ̕b -à֮ⷣ̕b -à֮ⷣ̕b -à֮ⷣ̕b - -a֮ⷣ̀̕b -a֮ⷣ̀̕b -a֮ⷣ̀̕b -a֮ⷣ̀̕b -a֮ⷣ̀̕b - -à֮ⷤ̕b -à֮ⷤ̕b -à֮ⷤ̕b -à֮ⷤ̕b -à֮ⷤ̕b - -a֮ⷤ̀̕b -a֮ⷤ̀̕b -a֮ⷤ̀̕b -a֮ⷤ̀̕b -a֮ⷤ̀̕b - -à֮ⷥ̕b -à֮ⷥ̕b -à֮ⷥ̕b -à֮ⷥ̕b -à֮ⷥ̕b - -a֮ⷥ̀̕b -a֮ⷥ̀̕b -a֮ⷥ̀̕b -a֮ⷥ̀̕b -a֮ⷥ̀̕b - -à֮ⷦ̕b -à֮ⷦ̕b -à֮ⷦ̕b -à֮ⷦ̕b -à֮ⷦ̕b - -a֮ⷦ̀̕b -a֮ⷦ̀̕b -a֮ⷦ̀̕b -a֮ⷦ̀̕b -a֮ⷦ̀̕b - -à֮ⷧ̕b -à֮ⷧ̕b -à֮ⷧ̕b -à֮ⷧ̕b -à֮ⷧ̕b - -a֮ⷧ̀̕b -a֮ⷧ̀̕b -a֮ⷧ̀̕b -a֮ⷧ̀̕b -a֮ⷧ̀̕b - -à֮ⷨ̕b -à֮ⷨ̕b -à֮ⷨ̕b -à֮ⷨ̕b -à֮ⷨ̕b - -a֮ⷨ̀̕b -a֮ⷨ̀̕b -a֮ⷨ̀̕b -a֮ⷨ̀̕b -a֮ⷨ̀̕b - -à֮ⷩ̕b -à֮ⷩ̕b -à֮ⷩ̕b -à֮ⷩ̕b -à֮ⷩ̕b - -a֮ⷩ̀̕b -a֮ⷩ̀̕b -a֮ⷩ̀̕b -a֮ⷩ̀̕b -a֮ⷩ̀̕b - -à֮ⷪ̕b -à֮ⷪ̕b -à֮ⷪ̕b -à֮ⷪ̕b -à֮ⷪ̕b - -a֮ⷪ̀̕b -a֮ⷪ̀̕b -a֮ⷪ̀̕b -a֮ⷪ̀̕b -a֮ⷪ̀̕b - -à֮ⷫ̕b -à֮ⷫ̕b -à֮ⷫ̕b -à֮ⷫ̕b -à֮ⷫ̕b - -a֮ⷫ̀̕b -a֮ⷫ̀̕b -a֮ⷫ̀̕b -a֮ⷫ̀̕b -a֮ⷫ̀̕b - -à֮ⷬ̕b -à֮ⷬ̕b -à֮ⷬ̕b -à֮ⷬ̕b -à֮ⷬ̕b - -a֮ⷬ̀̕b -a֮ⷬ̀̕b -a֮ⷬ̀̕b -a֮ⷬ̀̕b -a֮ⷬ̀̕b - -à֮ⷭ̕b -à֮ⷭ̕b -à֮ⷭ̕b -à֮ⷭ̕b -à֮ⷭ̕b - -a֮ⷭ̀̕b -a֮ⷭ̀̕b -a֮ⷭ̀̕b -a֮ⷭ̀̕b -a֮ⷭ̀̕b - -à֮ⷮ̕b -à֮ⷮ̕b -à֮ⷮ̕b -à֮ⷮ̕b -à֮ⷮ̕b - -a֮ⷮ̀̕b -a֮ⷮ̀̕b -a֮ⷮ̀̕b -a֮ⷮ̀̕b -a֮ⷮ̀̕b - -à֮ⷯ̕b -à֮ⷯ̕b -à֮ⷯ̕b -à֮ⷯ̕b -à֮ⷯ̕b - -a֮ⷯ̀̕b -a֮ⷯ̀̕b -a֮ⷯ̀̕b -a֮ⷯ̀̕b -a֮ⷯ̀̕b - -à֮ⷰ̕b -à֮ⷰ̕b -à֮ⷰ̕b -à֮ⷰ̕b -à֮ⷰ̕b - -a֮ⷰ̀̕b -a֮ⷰ̀̕b -a֮ⷰ̀̕b -a֮ⷰ̀̕b -a֮ⷰ̀̕b - -à֮ⷱ̕b -à֮ⷱ̕b -à֮ⷱ̕b -à֮ⷱ̕b -à֮ⷱ̕b - -a֮ⷱ̀̕b -a֮ⷱ̀̕b -a֮ⷱ̀̕b -a֮ⷱ̀̕b -a֮ⷱ̀̕b - -à֮ⷲ̕b -à֮ⷲ̕b -à֮ⷲ̕b -à֮ⷲ̕b -à֮ⷲ̕b - -a֮ⷲ̀̕b -a֮ⷲ̀̕b -a֮ⷲ̀̕b -a֮ⷲ̀̕b -a֮ⷲ̀̕b - -à֮ⷳ̕b -à֮ⷳ̕b -à֮ⷳ̕b -à֮ⷳ̕b -à֮ⷳ̕b - -a֮ⷳ̀̕b -a֮ⷳ̀̕b -a֮ⷳ̀̕b -a֮ⷳ̀̕b -a֮ⷳ̀̕b - -à֮ⷴ̕b -à֮ⷴ̕b -à֮ⷴ̕b -à֮ⷴ̕b -à֮ⷴ̕b - -a֮ⷴ̀̕b -a֮ⷴ̀̕b -a֮ⷴ̀̕b -a֮ⷴ̀̕b -a֮ⷴ̀̕b - -à֮ⷵ̕b -à֮ⷵ̕b -à֮ⷵ̕b -à֮ⷵ̕b -à֮ⷵ̕b - -a֮ⷵ̀̕b -a֮ⷵ̀̕b -a֮ⷵ̀̕b -a֮ⷵ̀̕b -a֮ⷵ̀̕b - -à֮ⷶ̕b -à֮ⷶ̕b -à֮ⷶ̕b -à֮ⷶ̕b -à֮ⷶ̕b - -a֮ⷶ̀̕b -a֮ⷶ̀̕b -a֮ⷶ̀̕b -a֮ⷶ̀̕b -a֮ⷶ̀̕b - -à֮ⷷ̕b -à֮ⷷ̕b -à֮ⷷ̕b -à֮ⷷ̕b -à֮ⷷ̕b - -a֮ⷷ̀̕b -a֮ⷷ̀̕b -a֮ⷷ̀̕b -a֮ⷷ̀̕b -a֮ⷷ̀̕b - -à֮ⷸ̕b -à֮ⷸ̕b -à֮ⷸ̕b -à֮ⷸ̕b -à֮ⷸ̕b - -a֮ⷸ̀̕b -a֮ⷸ̀̕b -a֮ⷸ̀̕b -a֮ⷸ̀̕b -a֮ⷸ̀̕b - -à֮ⷹ̕b -à֮ⷹ̕b -à֮ⷹ̕b -à֮ⷹ̕b -à֮ⷹ̕b - -a֮ⷹ̀̕b -a֮ⷹ̀̕b -a֮ⷹ̀̕b -a֮ⷹ̀̕b -a֮ⷹ̀̕b - -à֮ⷺ̕b -à֮ⷺ̕b -à֮ⷺ̕b -à֮ⷺ̕b -à֮ⷺ̕b - -a֮ⷺ̀̕b -a֮ⷺ̀̕b -a֮ⷺ̀̕b -a֮ⷺ̀̕b -a֮ⷺ̀̕b - -à֮ⷻ̕b -à֮ⷻ̕b -à֮ⷻ̕b -à֮ⷻ̕b -à֮ⷻ̕b - -a֮ⷻ̀̕b -a֮ⷻ̀̕b -a֮ⷻ̀̕b -a֮ⷻ̀̕b -a֮ⷻ̀̕b - -à֮ⷼ̕b -à֮ⷼ̕b -à֮ⷼ̕b -à֮ⷼ̕b -à֮ⷼ̕b - -a֮ⷼ̀̕b -a֮ⷼ̀̕b -a֮ⷼ̀̕b -a֮ⷼ̀̕b -a֮ⷼ̀̕b - -à֮ⷽ̕b -à֮ⷽ̕b -à֮ⷽ̕b -à֮ⷽ̕b -à֮ⷽ̕b - -a֮ⷽ̀̕b -a֮ⷽ̀̕b -a֮ⷽ̀̕b -a֮ⷽ̀̕b -a֮ⷽ̀̕b - -à֮ⷾ̕b -à֮ⷾ̕b -à֮ⷾ̕b -à֮ⷾ̕b -à֮ⷾ̕b - -a֮ⷾ̀̕b -a֮ⷾ̀̕b -a֮ⷾ̀̕b -a֮ⷾ̀̕b -a֮ⷾ̀̕b - -à֮ⷿ̕b -à֮ⷿ̕b -à֮ⷿ̕b -à֮ⷿ̕b -à֮ⷿ̕b - -a֮ⷿ̀̕b -a֮ⷿ̀̕b -a֮ⷿ̀̕b -a֮ⷿ̀̕b -a֮ⷿ̀̕b - -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b - -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b - -à𝅭֮〫b -à𝅭֮〫b -à𝅭֮〫b -à𝅭֮〫b -à𝅭֮〫b - -à𝅭〫֮b -à𝅭〫֮b -à𝅭〫֮b -à𝅭〫֮b -à𝅭〫֮b - -à̕〬͜b -à̕〬͜b -à̕〬͜b -à̕〬͜b -à̕〬͜b - -à〬̕͜b -à〬̕͜b -à〬̕͜b -à〬̕͜b -à〬̕͜b - -a̖֚〭〮b -a̖֚〭〮b -a̖֚〭〮b -a̖֚〭〮b -a̖֚〭〮b - -a̖〭֚〮b -a̖〭֚〮b -a̖〭֚〮b -a̖〭֚〮b -a̖〭֚〮b - -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b - -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b - -a֚〮〯𝅭b -a֚〮〯𝅭b -a֚〮〯𝅭b -a֚〮〯𝅭b -a֚〮〯𝅭b - -a֚〯〮𝅭b -a֚〯〮𝅭b -a֚〯〮𝅭b -a֚〯〮𝅭b -a֚〯〮𝅭b - -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b - -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b - -a़゙゚्b -a़゙゚्b -a़゙゚्b -a़゙゚्b -a़゙゚्b - -a़゚゙्b -a़゚゙्b -a़゚゙्b -a़゚゙्b -a़゚゙्b - -à֮꙯̕b -à֮꙯̕b -à֮꙯̕b -à֮꙯̕b -à֮꙯̕b - -a֮꙯̀̕b -a֮꙯̀̕b -a֮꙯̀̕b -a֮꙯̀̕b -a֮꙯̀̕b - -à֮꙼̕b -à֮꙼̕b -à֮꙼̕b -à֮꙼̕b -à֮꙼̕b - -a֮꙼̀̕b -a֮꙼̀̕b -a֮꙼̀̕b -a֮꙼̀̕b -a֮꙼̀̕b - -à֮꙽̕b -à֮꙽̕b -à֮꙽̕b -à֮꙽̕b -à֮꙽̕b - -a֮꙽̀̕b -a֮꙽̀̕b -a֮꙽̀̕b -a֮꙽̀̕b -a֮꙽̀̕b - -à֮꛰̕b -à֮꛰̕b -à֮꛰̕b -à֮꛰̕b -à֮꛰̕b - -a֮꛰̀̕b -a֮꛰̀̕b -a֮꛰̀̕b -a֮꛰̀̕b -a֮꛰̀̕b - -à֮꛱̕b -à֮꛱̕b -à֮꛱̕b -à֮꛱̕b -à֮꛱̕b - -a֮꛱̀̕b -a֮꛱̀̕b -a֮꛱̀̕b -a֮꛱̀̕b -a֮꛱̀̕b - -a゙्꠆ְb -a゙्꠆ְb -a゙्꠆ְb -a゙्꠆ְb -a゙्꠆ְb - -a゙꠆्ְb -a゙꠆्ְb -a゙꠆्ְb -a゙꠆्ְb -a゙꠆्ְb - -a゙्꣄ְb -a゙्꣄ְb -a゙्꣄ְb -a゙्꣄ְb -a゙्꣄ְb - -a゙꣄्ְb -a゙꣄्ְb -a゙꣄्ְb -a゙꣄्ְb -a゙꣄्ְb - -à֮꣠̕b -à֮꣠̕b -à֮꣠̕b -à֮꣠̕b -à֮꣠̕b - -a֮꣠̀̕b -a֮꣠̀̕b -a֮꣠̀̕b -a֮꣠̀̕b -a֮꣠̀̕b - -à֮꣡̕b -à֮꣡̕b -à֮꣡̕b -à֮꣡̕b -à֮꣡̕b - -a֮꣡̀̕b -a֮꣡̀̕b -a֮꣡̀̕b -a֮꣡̀̕b -a֮꣡̀̕b - -à֮꣢̕b -à֮꣢̕b -à֮꣢̕b -à֮꣢̕b -à֮꣢̕b - -a֮꣢̀̕b -a֮꣢̀̕b -a֮꣢̀̕b -a֮꣢̀̕b -a֮꣢̀̕b - -à֮꣣̕b -à֮꣣̕b -à֮꣣̕b -à֮꣣̕b -à֮꣣̕b - -a֮꣣̀̕b -a֮꣣̀̕b -a֮꣣̀̕b -a֮꣣̀̕b -a֮꣣̀̕b - -à֮꣤̕b -à֮꣤̕b -à֮꣤̕b -à֮꣤̕b -à֮꣤̕b - -a֮꣤̀̕b -a֮꣤̀̕b -a֮꣤̀̕b -a֮꣤̀̕b -a֮꣤̀̕b - -à֮꣥̕b -à֮꣥̕b -à֮꣥̕b -à֮꣥̕b -à֮꣥̕b - -a֮꣥̀̕b -a֮꣥̀̕b -a֮꣥̀̕b -a֮꣥̀̕b -a֮꣥̀̕b - -à֮꣦̕b -à֮꣦̕b -à֮꣦̕b -à֮꣦̕b -à֮꣦̕b - -a֮꣦̀̕b -a֮꣦̀̕b -a֮꣦̀̕b -a֮꣦̀̕b -a֮꣦̀̕b - -à֮꣧̕b -à֮꣧̕b -à֮꣧̕b -à֮꣧̕b -à֮꣧̕b - -a֮꣧̀̕b -a֮꣧̀̕b -a֮꣧̀̕b -a֮꣧̀̕b -a֮꣧̀̕b - -à֮꣨̕b -à֮꣨̕b -à֮꣨̕b -à֮꣨̕b -à֮꣨̕b - -a֮꣨̀̕b -a֮꣨̀̕b -a֮꣨̀̕b -a֮꣨̀̕b -a֮꣨̀̕b - -à֮꣩̕b -à֮꣩̕b -à֮꣩̕b -à֮꣩̕b -à֮꣩̕b - -a֮꣩̀̕b -a֮꣩̀̕b -a֮꣩̀̕b -a֮꣩̀̕b -a֮꣩̀̕b - -à֮꣪̕b -à֮꣪̕b -à֮꣪̕b -à֮꣪̕b -à֮꣪̕b - -a֮꣪̀̕b -a֮꣪̀̕b -a֮꣪̀̕b -a֮꣪̀̕b -a֮꣪̀̕b - -à֮꣫̕b -à֮꣫̕b -à֮꣫̕b -à֮꣫̕b -à֮꣫̕b - -a֮꣫̀̕b -a֮꣫̀̕b -a֮꣫̀̕b -a֮꣫̀̕b -a֮꣫̀̕b - -à֮꣬̕b -à֮꣬̕b -à֮꣬̕b -à֮꣬̕b -à֮꣬̕b - -a֮꣬̀̕b -a֮꣬̀̕b -a֮꣬̀̕b -a֮꣬̀̕b -a֮꣬̀̕b - -à֮꣭̕b -à֮꣭̕b -à֮꣭̕b -à֮꣭̕b -à֮꣭̕b - -a֮꣭̀̕b -a֮꣭̀̕b -a֮꣭̀̕b -a֮꣭̀̕b -a֮꣭̀̕b - -à֮꣮̕b -à֮꣮̕b -à֮꣮̕b -à֮꣮̕b -à֮꣮̕b - -a֮꣮̀̕b -a֮꣮̀̕b -a֮꣮̀̕b -a֮꣮̀̕b -a֮꣮̀̕b - -à֮꣯̕b -à֮꣯̕b -à֮꣯̕b -à֮꣯̕b -à֮꣯̕b - -a֮꣯̀̕b -a֮꣯̀̕b -a֮꣯̀̕b -a֮꣯̀̕b -a֮꣯̀̕b - -à֮꣰̕b -à֮꣰̕b -à֮꣰̕b -à֮꣰̕b -à֮꣰̕b - -a֮꣰̀̕b -a֮꣰̀̕b -a֮꣰̀̕b -a֮꣰̀̕b -a֮꣰̀̕b - -à֮꣱̕b -à֮꣱̕b -à֮꣱̕b -à֮꣱̕b -à֮꣱̕b - -a֮꣱̀̕b -a֮꣱̀̕b -a֮꣱̀̕b -a֮꣱̀̕b -a֮꣱̀̕b - -a〪̖꤫֚b -a〪̖꤫֚b -a〪̖꤫֚b -a〪̖꤫֚b -a〪̖꤫֚b - -a〪꤫̖֚b -a〪꤫̖֚b -a〪꤫̖֚b -a〪꤫̖֚b -a〪꤫̖֚b - -a〪̖꤬֚b -a〪̖꤬֚b -a〪̖꤬֚b -a〪̖꤬֚b -a〪̖꤬֚b - -a〪꤬̖֚b -a〪꤬̖֚b -a〪꤬̖֚b -a〪꤬̖֚b -a〪꤬̖֚b - -a〪̖꤭֚b -a〪̖꤭֚b -a〪̖꤭֚b -a〪̖꤭֚b -a〪̖꤭֚b - -a〪꤭̖֚b -a〪꤭̖֚b -a〪꤭̖֚b -a〪꤭̖֚b -a〪꤭̖֚b - -a゙्꥓ְb -a゙्꥓ְb -a゙्꥓ְb -a゙्꥓ְb -a゙्꥓ְb - -a゙꥓्ְb -a゙꥓्ְb -a゙꥓्ְb -a゙꥓्ְb -a゙꥓्ְb - -a̴़꦳゙b -a̴़꦳゙b -a̴़꦳゙b -a̴़꦳゙b -a̴़꦳゙b - -a̴꦳़゙b -a̴꦳़゙b -a̴꦳़゙b -a̴꦳़゙b -a̴꦳़゙b - -a゙्꧀ְb -a゙्꧀ְb -a゙्꧀ְb -a゙्꧀ְb -a゙्꧀ְb - -a゙꧀्ְb -a゙꧀्ְb -a゙꧀्ְb -a゙꧀्ְb -a゙꧀्ְb - -à֮ꪰ̕b -à֮ꪰ̕b -à֮ꪰ̕b -à֮ꪰ̕b -à֮ꪰ̕b - -a֮ꪰ̀̕b -a֮ꪰ̀̕b -a֮ꪰ̀̕b -a֮ꪰ̀̕b -a֮ꪰ̀̕b - -à֮ꪲ̕b -à֮ꪲ̕b -à֮ꪲ̕b -à֮ꪲ̕b -à֮ꪲ̕b - -a֮ꪲ̀̕b -a֮ꪲ̀̕b -a֮ꪲ̀̕b -a֮ꪲ̀̕b -a֮ꪲ̀̕b - -à֮ꪳ̕b -à֮ꪳ̕b -à֮ꪳ̕b -à֮ꪳ̕b -à֮ꪳ̕b - -a֮ꪳ̀̕b -a֮ꪳ̀̕b -a֮ꪳ̀̕b -a֮ꪳ̀̕b -a֮ꪳ̀̕b - -a〪̖ꪴ֚b -a〪̖ꪴ֚b -a〪̖ꪴ֚b -a〪̖ꪴ֚b -a〪̖ꪴ֚b - -a〪ꪴ̖֚b -a〪ꪴ̖֚b -a〪ꪴ̖֚b -a〪ꪴ̖֚b -a〪ꪴ̖֚b - -à֮ꪷ̕b -à֮ꪷ̕b -à֮ꪷ̕b -à֮ꪷ̕b -à֮ꪷ̕b - -a֮ꪷ̀̕b -a֮ꪷ̀̕b -a֮ꪷ̀̕b -a֮ꪷ̀̕b -a֮ꪷ̀̕b - -à֮ꪸ̕b -à֮ꪸ̕b -à֮ꪸ̕b -à֮ꪸ̕b -à֮ꪸ̕b - -a֮ꪸ̀̕b -a֮ꪸ̀̕b -a֮ꪸ̀̕b -a֮ꪸ̀̕b -a֮ꪸ̀̕b - -à֮ꪾ̕b -à֮ꪾ̕b -à֮ꪾ̕b -à֮ꪾ̕b -à֮ꪾ̕b - -a֮ꪾ̀̕b -a֮ꪾ̀̕b -a֮ꪾ̀̕b -a֮ꪾ̀̕b -a֮ꪾ̀̕b - -à֮꪿̕b -à֮꪿̕b -à֮꪿̕b -à֮꪿̕b -à֮꪿̕b - -a֮꪿̀̕b -a֮꪿̀̕b -a֮꪿̀̕b -a֮꪿̀̕b -a֮꪿̀̕b - -à֮꫁̕b -à֮꫁̕b -à֮꫁̕b -à֮꫁̕b -à֮꫁̕b - -a֮꫁̀̕b -a֮꫁̀̕b -a֮꫁̀̕b -a֮꫁̀̕b -a֮꫁̀̕b - -a゙्꯭ְb -a゙्꯭ְb -a゙्꯭ְb -a゙्꯭ְb -a゙्꯭ְb - -a゙꯭्ְb -a゙꯭्ְb -a゙꯭्ְb -a゙꯭्ְb -a゙꯭्ְb - -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb - -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb - -à֮︠̕b -à֮︠̕b -à֮︠̕b -à֮︠̕b -à֮︠̕b - -a֮︠̀̕b -a֮︠̀̕b -a֮︠̀̕b -a֮︠̀̕b -a֮︠̀̕b - -à֮︡̕b -à֮︡̕b -à֮︡̕b -à֮︡̕b -à֮︡̕b - -a֮︡̀̕b -a֮︡̀̕b -a֮︡̀̕b -a֮︡̀̕b -a֮︡̀̕b - -à֮︢̕b -à֮︢̕b -à֮︢̕b -à֮︢̕b -à֮︢̕b - -a֮︢̀̕b -a֮︢̀̕b -a֮︢̀̕b -a֮︢̀̕b -a֮︢̀̕b - -à֮︣̕b -à֮︣̕b -à֮︣̕b -à֮︣̕b -à֮︣̕b - -a֮︣̀̕b -a֮︣̀̕b -a֮︣̀̕b -a֮︣̀̕b -a֮︣̀̕b - -à֮︤̕b -à֮︤̕b -à֮︤̕b -à֮︤̕b -à֮︤̕b - -a֮︤̀̕b -a֮︤̀̕b -a֮︤̀̕b -a֮︤̀̕b -a֮︤̀̕b - -à֮︥̕b -à֮︥̕b -à֮︥̕b -à֮︥̕b -à֮︥̕b - -a֮︥̀̕b -a֮︥̀̕b -a֮︥̀̕b -a֮︥̀̕b -a֮︥̀̕b - -à֮︦̕b -à֮︦̕b -à֮︦̕b -à֮︦̕b -à֮︦̕b - -a֮︦̀̕b -a֮︦̀̕b -a֮︦̀̕b -a֮︦̀̕b -a֮︦̀̕b - -a〪̖𐇽֚b -a〪̖𐇽֚b -a〪̖𐇽֚b -a〪̖𐇽֚b -a〪̖𐇽֚b - -a〪𐇽̖֚b -a〪𐇽̖֚b -a〪𐇽̖֚b -a〪𐇽̖֚b -a〪𐇽̖֚b - -a〪̖𐨍֚b -a〪̖𐨍֚b -a〪̖𐨍֚b -a〪̖𐨍֚b -a〪̖𐨍֚b - -a〪𐨍̖֚b -a〪𐨍̖֚b -a〪𐨍̖֚b -a〪𐨍̖֚b -a〪𐨍̖֚b - -à֮𐨏̕b -à֮𐨏̕b -à֮𐨏̕b -à֮𐨏̕b -à֮𐨏̕b - -a֮𐨏̀̕b -a֮𐨏̀̕b -a֮𐨏̀̕b -a֮𐨏̀̕b -a֮𐨏̀̕b - -à֮𐨸̕b -à֮𐨸̕b -à֮𐨸̕b -à֮𐨸̕b -à֮𐨸̕b - -a֮𐨸̀̕b -a֮𐨸̀̕b -a֮𐨸̀̕b -a֮𐨸̀̕b -a֮𐨸̀̕b - -a̴𐨹़b -a̴𐨹़b -a̴𐨹़b -a̴𐨹़b -a̴𐨹़b - -a𐨹̴़b -a𐨹̴़b -a𐨹̴़b -a𐨹̴़b -a𐨹̴़b - -a〪̖𐨺֚b -a〪̖𐨺֚b -a〪̖𐨺֚b -a〪̖𐨺֚b -a〪̖𐨺֚b - -a〪𐨺̖֚b -a〪𐨺̖֚b -a〪𐨺̖֚b -a〪𐨺̖֚b -a〪𐨺̖֚b - -a゙्𐨿ְb -a゙्𐨿ְb -a゙्𐨿ְb -a゙्𐨿ְb -a゙्𐨿ְb - -a゙𐨿्ְb -a゙𐨿्ְb -a゙𐨿्ְb -a゙𐨿्ְb -a゙𐨿्ְb - -a゙्𑁆ְb -a゙्𑁆ְb -a゙्𑁆ְb -a゙्𑁆ְb -a゙्𑁆ְb - -a゙𑁆्ְb -a゙𑁆्ְb -a゙𑁆्ְb -a゙𑁆्ְb -a゙𑁆्ְb - -a゙्𑂹ְb -a゙्𑂹ְb -a゙्𑂹ְb -a゙्𑂹ְb -a゙्𑂹ְb - -a゙𑂹्ְb -a゙𑂹्ְb -a゙𑂹्ְb -a゙𑂹्ְb -a゙𑂹्ְb - -a̴़𑂺゙b -a̴़𑂺゙b -a̴़𑂺゙b -a̴़𑂺゙b -a̴़𑂺゙b - -a̴𑂺़゙b -a̴𑂺़゙b -a̴𑂺़゙b -a̴𑂺़゙b -a̴𑂺़゙b - -a᷎̛𝅥〪b -a᷎̛𝅥〪b -a᷎̛𝅥〪b -a᷎̛𝅥〪b -a᷎̛𝅥〪b - -a᷎𝅥̛〪b -a᷎𝅥̛〪b -a᷎𝅥̛〪b -a᷎𝅥̛〪b -a᷎𝅥̛〪b - -a᷎̛𝅦〪b -a᷎̛𝅦〪b -a᷎̛𝅦〪b -a᷎̛𝅦〪b -a᷎̛𝅦〪b - -a᷎𝅦̛〪b -a᷎𝅦̛〪b -a᷎𝅦̛〪b -a᷎𝅦̛〪b -a᷎𝅦̛〪b - -a̴𝅧़b -a̴𝅧़b -a̴𝅧़b -a̴𝅧़b -a̴𝅧़b - -a𝅧̴़b -a𝅧̴़b -a𝅧̴़b -a𝅧̴़b -a𝅧̴़b - -a̴𝅨़b -a̴𝅨़b -a̴𝅨़b -a̴𝅨़b -a̴𝅨़b - -a𝅨̴़b -a𝅨̴़b -a𝅨̴़b -a𝅨̴़b -a𝅨̴़b - -a̴𝅩़b -a̴𝅩़b -a̴𝅩़b -a̴𝅩़b -a̴𝅩़b - -a𝅩̴़b -a𝅩̴़b -a𝅩̴़b -a𝅩̴़b -a𝅩̴़b - -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b - -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b - -a᷎̛𝅮〪b -a᷎̛𝅮〪b -a᷎̛𝅮〪b -a᷎̛𝅮〪b -a᷎̛𝅮〪b - -a᷎𝅮̛〪b -a᷎𝅮̛〪b -a᷎𝅮̛〪b -a᷎𝅮̛〪b -a᷎𝅮̛〪b - -a᷎̛𝅯〪b -a᷎̛𝅯〪b -a᷎̛𝅯〪b -a᷎̛𝅯〪b -a᷎̛𝅯〪b - -a᷎𝅯̛〪b -a᷎𝅯̛〪b -a᷎𝅯̛〪b -a᷎𝅯̛〪b -a᷎𝅯̛〪b - -a᷎̛𝅰〪b -a᷎̛𝅰〪b -a᷎̛𝅰〪b -a᷎̛𝅰〪b -a᷎̛𝅰〪b - -a᷎𝅰̛〪b -a᷎𝅰̛〪b -a᷎𝅰̛〪b -a᷎𝅰̛〪b -a᷎𝅰̛〪b - -a᷎̛𝅱〪b -a᷎̛𝅱〪b -a᷎̛𝅱〪b -a᷎̛𝅱〪b -a᷎̛𝅱〪b - -a᷎𝅱̛〪b -a᷎𝅱̛〪b -a᷎𝅱̛〪b -a᷎𝅱̛〪b -a᷎𝅱̛〪b - -a᷎̛𝅲〪b -a᷎̛𝅲〪b -a᷎̛𝅲〪b -a᷎̛𝅲〪b -a᷎̛𝅲〪b - -a᷎𝅲̛〪b -a᷎𝅲̛〪b -a᷎𝅲̛〪b -a᷎𝅲̛〪b -a᷎𝅲̛〪b - -a〪̖𝅻֚b -a〪̖𝅻֚b -a〪̖𝅻֚b -a〪̖𝅻֚b -a〪̖𝅻֚b - -a〪𝅻̖֚b -a〪𝅻̖֚b -a〪𝅻̖֚b -a〪𝅻̖֚b -a〪𝅻̖֚b - -a〪̖𝅼֚b -a〪̖𝅼֚b -a〪̖𝅼֚b -a〪̖𝅼֚b -a〪̖𝅼֚b - -a〪𝅼̖֚b -a〪𝅼̖֚b -a〪𝅼̖֚b -a〪𝅼̖֚b -a〪𝅼̖֚b - -a〪̖𝅽֚b -a〪̖𝅽֚b -a〪̖𝅽֚b -a〪̖𝅽֚b -a〪̖𝅽֚b - -a〪𝅽̖֚b -a〪𝅽̖֚b -a〪𝅽̖֚b -a〪𝅽̖֚b -a〪𝅽̖֚b - -a〪̖𝅾֚b -a〪̖𝅾֚b -a〪̖𝅾֚b -a〪̖𝅾֚b -a〪̖𝅾֚b - -a〪𝅾̖֚b -a〪𝅾̖֚b -a〪𝅾̖֚b -a〪𝅾̖֚b -a〪𝅾̖֚b - -a〪̖𝅿֚b -a〪̖𝅿֚b -a〪̖𝅿֚b -a〪̖𝅿֚b -a〪̖𝅿֚b - -a〪𝅿̖֚b -a〪𝅿̖֚b -a〪𝅿̖֚b -a〪𝅿̖֚b -a〪𝅿̖֚b - -a〪̖𝆀֚b -a〪̖𝆀֚b -a〪̖𝆀֚b -a〪̖𝆀֚b -a〪̖𝆀֚b - -a〪𝆀̖֚b -a〪𝆀̖֚b -a〪𝆀̖֚b -a〪𝆀̖֚b -a〪𝆀̖֚b - -a〪̖𝆁֚b -a〪̖𝆁֚b -a〪̖𝆁֚b -a〪̖𝆁֚b -a〪̖𝆁֚b - -a〪𝆁̖֚b -a〪𝆁̖֚b -a〪𝆁̖֚b -a〪𝆁̖֚b -a〪𝆁̖֚b - -a〪̖𝆂֚b -a〪̖𝆂֚b -a〪̖𝆂֚b -a〪̖𝆂֚b -a〪̖𝆂֚b - -a〪𝆂̖֚b -a〪𝆂̖֚b -a〪𝆂̖֚b -a〪𝆂̖֚b -a〪𝆂̖֚b - -à֮𝆅̕b -à֮𝆅̕b -à֮𝆅̕b -à֮𝆅̕b -à֮𝆅̕b - -a֮𝆅̀̕b -a֮𝆅̀̕b -a֮𝆅̀̕b -a֮𝆅̀̕b -a֮𝆅̀̕b - -à֮𝆆̕b -à֮𝆆̕b -à֮𝆆̕b -à֮𝆆̕b -à֮𝆆̕b - -a֮𝆆̀̕b -a֮𝆆̀̕b -a֮𝆆̀̕b -a֮𝆆̀̕b -a֮𝆆̀̕b - -à֮𝆇̕b -à֮𝆇̕b -à֮𝆇̕b -à֮𝆇̕b -à֮𝆇̕b - -a֮𝆇̀̕b -a֮𝆇̀̕b -a֮𝆇̀̕b -a֮𝆇̀̕b -a֮𝆇̀̕b - -à֮𝆈̕b -à֮𝆈̕b -à֮𝆈̕b -à֮𝆈̕b -à֮𝆈̕b - -a֮𝆈̀̕b -a֮𝆈̀̕b -a֮𝆈̀̕b -a֮𝆈̀̕b -a֮𝆈̀̕b - -à֮𝆉̕b -à֮𝆉̕b -à֮𝆉̕b -à֮𝆉̕b -à֮𝆉̕b - -a֮𝆉̀̕b -a֮𝆉̀̕b -a֮𝆉̀̕b -a֮𝆉̀̕b -a֮𝆉̀̕b - -a〪̖𝆊֚b -a〪̖𝆊֚b -a〪̖𝆊֚b -a〪̖𝆊֚b -a〪̖𝆊֚b - -a〪𝆊̖֚b -a〪𝆊̖֚b -a〪𝆊̖֚b -a〪𝆊̖֚b -a〪𝆊̖֚b - -a〪̖𝆋֚b -a〪̖𝆋֚b -a〪̖𝆋֚b -a〪̖𝆋֚b -a〪̖𝆋֚b - -a〪𝆋̖֚b -a〪𝆋̖֚b -a〪𝆋̖֚b -a〪𝆋̖֚b -a〪𝆋̖֚b - -à֮𝆪̕b -à֮𝆪̕b -à֮𝆪̕b -à֮𝆪̕b -à֮𝆪̕b - -a֮𝆪̀̕b -a֮𝆪̀̕b -a֮𝆪̀̕b -a֮𝆪̀̕b -a֮𝆪̀̕b - -à֮𝆫̕b -à֮𝆫̕b -à֮𝆫̕b -à֮𝆫̕b -à֮𝆫̕b - -a֮𝆫̀̕b -a֮𝆫̀̕b -a֮𝆫̀̕b -a֮𝆫̀̕b -a֮𝆫̀̕b - -à֮𝆬̕b -à֮𝆬̕b -à֮𝆬̕b -à֮𝆬̕b -à֮𝆬̕b - -a֮𝆬̀̕b -a֮𝆬̀̕b -a֮𝆬̀̕b -a֮𝆬̀̕b -a֮𝆬̀̕b - -à֮𝆭̕b -à֮𝆭̕b -à֮𝆭̕b -à֮𝆭̕b -à֮𝆭̕b - -a֮𝆭̀̕b -a֮𝆭̀̕b -a֮𝆭̀̕b -a֮𝆭̀̕b -a֮𝆭̀̕b - -à֮𝉂̕b -à֮𝉂̕b -à֮𝉂̕b -à֮𝉂̕b -à֮𝉂̕b - -a֮𝉂̀̕b -a֮𝉂̀̕b -a֮𝉂̀̕b -a֮𝉂̀̕b -a֮𝉂̀̕b - -à֮𝉃̕b -à֮𝉃̕b -à֮𝉃̕b -à֮𝉃̕b -à֮𝉃̕b - -a֮𝉃̀̕b -a֮𝉃̀̕b -a֮𝉃̀̕b -a֮𝉃̀̕b -a֮𝉃̀̕b - -à֮𝉄̕b -à֮𝉄̕b -à֮𝉄̕b -à֮𝉄̕b -à֮𝉄̕b - -a֮𝉄̀̕b -a֮𝉄̀̕b -a֮𝉄̀̕b -a֮𝉄̀̕b -a֮𝉄̀̕b - -ে̴া -ে̴া -ে̴া -ে̴া -ে̴া - -ে̴ৗ -ে̴ৗ -ে̴ৗ -ে̴ৗ -ে̴ৗ - -େ̴ା -େ̴ା -େ̴ା -େ̴ା -େ̴ା - -େ̴ୖ -େ̴ୖ -େ̴ୖ -େ̴ୖ -େ̴ୖ - -େ̴ୗ -େ̴ୗ -େ̴ୗ -େ̴ୗ -େ̴ୗ - -ஒ̴ௗ -ஒ̴ௗ -ஒ̴ௗ -ஒ̴ௗ -ஒ̴ௗ - -ெ̴ா -ெ̴ா -ெ̴ா -ெ̴ா -ெ̴ா - -ெ̴ௗ -ெ̴ௗ -ெ̴ௗ -ெ̴ௗ -ெ̴ௗ - -ே̴ா -ே̴ா -ே̴ா -ே̴ா -ே̴ா - -ಿ̴ೕ -ಿ̴ೕ -ಿ̴ೕ -ಿ̴ೕ -ಿ̴ೕ - -ೆ̴ೂ -ೆ̴ೂ -ೆ̴ೂ -ೆ̴ೂ -ೆ̴ೂ - -ೆ̴ೕ -ೆ̴ೕ -ೆ̴ೕ -ೆ̴ೕ -ೆ̴ೕ - -ೆ̴ೖ -ೆ̴ೖ -ೆ̴ೖ -ೆ̴ೖ -ೆ̴ೖ - -ೊ̴ೕ -ೊ̴ೕ -ೊ̴ೕ -ೊ̴ೕ -ೊ̴ೕ - -െ̴ാ -െ̴ാ -െ̴ാ -െ̴ാ -െ̴ാ - -െ̴ൗ -െ̴ൗ -െ̴ൗ -െ̴ൗ -െ̴ൗ - -േ̴ാ -േ̴ാ -േ̴ാ -േ̴ാ -േ̴ാ - -ෙ̴ා -ෙ̴ා -ෙ̴ා -ෙ̴ා -ෙ̴ා - -ෙ̴ෟ -ෙ̴ෟ -ෙ̴ෟ -ෙ̴ෟ -ෙ̴ෟ - -ཀ̴ྵ -ཀ̴ྵ -ཀ̴ྵ -ཀ̴ྵ -ཀ̴ྵ - -ག̴ྷ -ག̴ྷ -ག̴ྷ -ག̴ྷ -ག̴ྷ - -ཌ̴ྷ -ཌ̴ྷ -ཌ̴ྷ -ཌ̴ྷ -ཌ̴ྷ - -ད̴ྷ -ད̴ྷ -ད̴ྷ -ད̴ྷ -ད̴ྷ - -བ̴ྷ -བ̴ྷ -བ̴ྷ -བ̴ྷ -བ̴ྷ - -ཛ̴ྷ -ཛ̴ྷ -ཛ̴ྷ -ཛ̴ྷ -ཛ̴ྷ - -ྐ̴ྵ -ྐ̴ྵ -ྐ̴ྵ -ྐ̴ྵ -ྐ̴ྵ - -ྒ̴ྷ -ྒ̴ྷ -ྒ̴ྷ -ྒ̴ྷ -ྒ̴ྷ - -ྜ̴ྷ -ྜ̴ྷ -ྜ̴ྷ -ྜ̴ྷ -ྜ̴ྷ - -ྡ̴ྷ -ྡ̴ྷ -ྡ̴ྷ -ྡ̴ྷ -ྡ̴ྷ - -ྦ̴ྷ -ྦ̴ྷ -ྦ̴ྷ -ྦ̴ྷ -ྦ̴ྷ - -ྫ̴ྷ -ྫ̴ྷ -ྫ̴ྷ -ྫ̴ྷ -ྫ̴ྷ - -ဥ̴ီ -ဥ̴ီ -ဥ̴ီ -ဥ̴ီ -ဥ̴ီ - -ᄀ̴ᅡ -ᄀ̴ᅡ -ᄀ̴ᅡ -ᄀ̴ᅡ -ᄀ̴ᅡ - -ᄀ̴ᅮ -ᄀ̴ᅮ -ᄀ̴ᅮ -ᄀ̴ᅮ -ᄀ̴ᅮ - -ᄁ̴ᅦ -ᄁ̴ᅦ -ᄁ̴ᅦ -ᄁ̴ᅦ -ᄁ̴ᅦ - -ᄁ̴ᅳ -ᄁ̴ᅳ -ᄁ̴ᅳ -ᄁ̴ᅳ -ᄁ̴ᅳ - -ᄂ̴ᅫ -ᄂ̴ᅫ -ᄂ̴ᅫ -ᄂ̴ᅫ -ᄂ̴ᅫ - -ᄃ̴ᅣ -ᄃ̴ᅣ -ᄃ̴ᅣ -ᄃ̴ᅣ -ᄃ̴ᅣ - -ᄃ̴ᅰ -ᄃ̴ᅰ -ᄃ̴ᅰ -ᄃ̴ᅰ -ᄃ̴ᅰ - -ᄄ̴ᅨ -ᄄ̴ᅨ -ᄄ̴ᅨ -ᄄ̴ᅨ -ᄄ̴ᅨ - -ᄄ̴ᅵ -ᄄ̴ᅵ -ᄄ̴ᅵ -ᄄ̴ᅵ -ᄄ̴ᅵ - -ᄅ̴ᅭ -ᄅ̴ᅭ -ᄅ̴ᅭ -ᄅ̴ᅭ -ᄅ̴ᅭ - -ᄆ̴ᅥ -ᄆ̴ᅥ -ᄆ̴ᅥ -ᄆ̴ᅥ -ᄆ̴ᅥ - -ᄆ̴ᅲ -ᄆ̴ᅲ -ᄆ̴ᅲ -ᄆ̴ᅲ -ᄆ̴ᅲ - -ᄇ̴ᅪ -ᄇ̴ᅪ -ᄇ̴ᅪ -ᄇ̴ᅪ -ᄇ̴ᅪ - -ᄈ̴ᅢ -ᄈ̴ᅢ -ᄈ̴ᅢ -ᄈ̴ᅢ -ᄈ̴ᅢ - -ᄈ̴ᅯ -ᄈ̴ᅯ -ᄈ̴ᅯ -ᄈ̴ᅯ -ᄈ̴ᅯ - -ᄉ̴ᅧ -ᄉ̴ᅧ -ᄉ̴ᅧ -ᄉ̴ᅧ -ᄉ̴ᅧ - -ᄉ̴ᅴ -ᄉ̴ᅴ -ᄉ̴ᅴ -ᄉ̴ᅴ -ᄉ̴ᅴ - -ᄊ̴ᅬ -ᄊ̴ᅬ -ᄊ̴ᅬ -ᄊ̴ᅬ -ᄊ̴ᅬ - -ᄋ̴ᅤ -ᄋ̴ᅤ -ᄋ̴ᅤ -ᄋ̴ᅤ -ᄋ̴ᅤ - -ᄋ̴ᅱ -ᄋ̴ᅱ -ᄋ̴ᅱ -ᄋ̴ᅱ -ᄋ̴ᅱ - -ᄌ̴ᅩ -ᄌ̴ᅩ -ᄌ̴ᅩ -ᄌ̴ᅩ -ᄌ̴ᅩ - -ᄍ̴ᅡ -ᄍ̴ᅡ -ᄍ̴ᅡ -ᄍ̴ᅡ -ᄍ̴ᅡ - -ᄍ̴ᅮ -ᄍ̴ᅮ -ᄍ̴ᅮ -ᄍ̴ᅮ -ᄍ̴ᅮ - -ᄎ̴ᅦ -ᄎ̴ᅦ -ᄎ̴ᅦ -ᄎ̴ᅦ -ᄎ̴ᅦ - -ᄎ̴ᅳ -ᄎ̴ᅳ -ᄎ̴ᅳ -ᄎ̴ᅳ -ᄎ̴ᅳ - -ᄏ̴ᅫ -ᄏ̴ᅫ -ᄏ̴ᅫ -ᄏ̴ᅫ -ᄏ̴ᅫ - -ᄐ̴ᅣ -ᄐ̴ᅣ -ᄐ̴ᅣ -ᄐ̴ᅣ -ᄐ̴ᅣ - -ᄐ̴ᅰ -ᄐ̴ᅰ -ᄐ̴ᅰ -ᄐ̴ᅰ -ᄐ̴ᅰ - -ᄑ̴ᅨ -ᄑ̴ᅨ -ᄑ̴ᅨ -ᄑ̴ᅨ -ᄑ̴ᅨ - -ᄑ̴ᅵ -ᄑ̴ᅵ -ᄑ̴ᅵ -ᄑ̴ᅵ -ᄑ̴ᅵ - -ᄒ̴ᅭ -ᄒ̴ᅭ -ᄒ̴ᅭ -ᄒ̴ᅭ -ᄒ̴ᅭ - -ᬅ̴ᬵ -ᬅ̴ᬵ -ᬅ̴ᬵ -ᬅ̴ᬵ -ᬅ̴ᬵ - -ᬇ̴ᬵ -ᬇ̴ᬵ -ᬇ̴ᬵ -ᬇ̴ᬵ -ᬇ̴ᬵ - -ᬉ̴ᬵ -ᬉ̴ᬵ -ᬉ̴ᬵ -ᬉ̴ᬵ -ᬉ̴ᬵ - -ᬋ̴ᬵ -ᬋ̴ᬵ -ᬋ̴ᬵ -ᬋ̴ᬵ -ᬋ̴ᬵ - -ᬍ̴ᬵ -ᬍ̴ᬵ -ᬍ̴ᬵ -ᬍ̴ᬵ -ᬍ̴ᬵ - -ᬑ̴ᬵ -ᬑ̴ᬵ -ᬑ̴ᬵ -ᬑ̴ᬵ -ᬑ̴ᬵ - -ᬺ̴ᬵ -ᬺ̴ᬵ -ᬺ̴ᬵ -ᬺ̴ᬵ -ᬺ̴ᬵ - -ᬼ̴ᬵ -ᬼ̴ᬵ -ᬼ̴ᬵ -ᬼ̴ᬵ -ᬼ̴ᬵ - -ᬾ̴ᬵ -ᬾ̴ᬵ -ᬾ̴ᬵ -ᬾ̴ᬵ -ᬾ̴ᬵ - -ᬿ̴ᬵ -ᬿ̴ᬵ -ᬿ̴ᬵ -ᬿ̴ᬵ -ᬿ̴ᬵ - -ᭂ̴ᬵ -ᭂ̴ᬵ -ᭂ̴ᬵ -ᭂ̴ᬵ -ᭂ̴ᬵ - -걔̴ᆮ -걔̴ᆮ -걔̴ᆮ -걔̴ᆮ -걔̴ᆮ - -겨̴ᆵ -겨̴ᆵ -겨̴ᆵ -겨̴ᆵ -겨̴ᆵ - -과̴ᆼ -과̴ᆼ -과̴ᆼ -과̴ᆼ -과̴ᆼ - -귀̴ᆮ -귀̴ᆮ -귀̴ᆮ -귀̴ᆮ -귀̴ᆮ - -긔̴ᆵ -긔̴ᆵ -긔̴ᆵ -긔̴ᆵ -긔̴ᆵ - -깨̴ᆼ -깨̴ᆼ -깨̴ᆼ -깨̴ᆼ -깨̴ᆼ - -꼬̴ᆮ -꼬̴ᆮ -꼬̴ᆮ -꼬̴ᆮ -꼬̴ᆮ - -꾀̴ᆵ -꾀̴ᆵ -꾀̴ᆵ -꾀̴ᆵ -꾀̴ᆵ - -꿔̴ᆼ -꿔̴ᆼ -꿔̴ᆼ -꿔̴ᆼ -꿔̴ᆼ - -나̴ᆮ -나̴ᆮ -나̴ᆮ -나̴ᆮ -나̴ᆮ - -냬̴ᆵ -냬̴ᆵ -냬̴ᆵ -냬̴ᆵ -냬̴ᆵ - -녀̴ᆼ -녀̴ᆼ -녀̴ᆼ -녀̴ᆼ -녀̴ᆼ - -누̴ᆮ -누̴ᆮ -누̴ᆮ -누̴ᆮ -누̴ᆮ - -뉘̴ᆵ -뉘̴ᆵ -뉘̴ᆵ -뉘̴ᆵ -뉘̴ᆵ - -늬̴ᆼ -늬̴ᆼ -늬̴ᆼ -늬̴ᆼ -늬̴ᆼ - -데̴ᆮ -데̴ᆮ -데̴ᆮ -데̴ᆮ -데̴ᆮ - -도̴ᆵ -도̴ᆵ -도̴ᆵ -도̴ᆵ -도̴ᆵ - -되̴ᆼ -되̴ᆼ -되̴ᆼ -되̴ᆼ -되̴ᆼ - -드̴ᆮ -드̴ᆮ -드̴ᆮ -드̴ᆮ -드̴ᆮ - -따̴ᆵ -따̴ᆵ -따̴ᆵ -따̴ᆵ -따̴ᆵ - -떄̴ᆼ -떄̴ᆼ -떄̴ᆼ -떄̴ᆼ -떄̴ᆼ - -뙈̴ᆮ -뙈̴ᆮ -뙈̴ᆮ -뙈̴ᆮ -뙈̴ᆮ - -뚜̴ᆵ -뚜̴ᆵ -뚜̴ᆵ -뚜̴ᆵ -뚜̴ᆵ - -뛰̴ᆼ -뛰̴ᆼ -뛰̴ᆼ -뛰̴ᆼ -뛰̴ᆼ - -랴̴ᆮ -랴̴ᆮ -랴̴ᆮ -랴̴ᆮ -랴̴ᆮ - -레̴ᆵ -레̴ᆵ -레̴ᆵ -레̴ᆵ -레̴ᆵ - -로̴ᆼ -로̴ᆼ -로̴ᆼ -로̴ᆼ -로̴ᆼ - -뤠̴ᆮ -뤠̴ᆮ -뤠̴ᆮ -뤠̴ᆮ -뤠̴ᆮ - -르̴ᆵ -르̴ᆵ -르̴ᆵ -르̴ᆵ -르̴ᆵ - -마̴ᆼ -마̴ᆼ -마̴ᆼ -마̴ᆼ -마̴ᆼ - -몌̴ᆮ -몌̴ᆮ -몌̴ᆮ -몌̴ᆮ -몌̴ᆮ - -뫠̴ᆵ -뫠̴ᆵ -뫠̴ᆵ -뫠̴ᆵ -뫠̴ᆵ - -무̴ᆼ -무̴ᆼ -무̴ᆼ -무̴ᆼ -무̴ᆼ - -미̴ᆮ -미̴ᆮ -미̴ᆮ -미̴ᆮ -미̴ᆮ - -뱌̴ᆵ -뱌̴ᆵ -뱌̴ᆵ -뱌̴ᆵ -뱌̴ᆵ - -베̴ᆼ -베̴ᆼ -베̴ᆼ -베̴ᆼ -베̴ᆼ - -뵤̴ᆮ -뵤̴ᆮ -뵤̴ᆮ -뵤̴ᆮ -뵤̴ᆮ - -붸̴ᆵ -붸̴ᆵ -붸̴ᆵ -붸̴ᆵ -붸̴ᆵ - -브̴ᆼ -브̴ᆼ -브̴ᆼ -브̴ᆼ -브̴ᆼ - -뻐̴ᆮ -뻐̴ᆮ -뻐̴ᆮ -뻐̴ᆮ -뻐̴ᆮ - -뼤̴ᆵ -뼤̴ᆵ -뼤̴ᆵ -뼤̴ᆵ -뼤̴ᆵ - -뽸̴ᆼ -뽸̴ᆼ -뽸̴ᆼ -뽸̴ᆼ -뽸̴ᆼ - -쀼̴ᆮ -쀼̴ᆮ -쀼̴ᆮ -쀼̴ᆮ -쀼̴ᆮ - -삐̴ᆵ -삐̴ᆵ -삐̴ᆵ -삐̴ᆵ -삐̴ᆵ - -샤̴ᆼ -샤̴ᆼ -샤̴ᆼ -샤̴ᆼ -샤̴ᆼ - -솨̴ᆮ -솨̴ᆮ -솨̴ᆮ -솨̴ᆮ -솨̴ᆮ - -쇼̴ᆵ -쇼̴ᆵ -쇼̴ᆵ -쇼̴ᆵ -쇼̴ᆵ - -쉐̴ᆼ -쉐̴ᆼ -쉐̴ᆼ -쉐̴ᆼ -쉐̴ᆼ - -쌔̴ᆮ -쌔̴ᆮ -쌔̴ᆮ -쌔̴ᆮ -쌔̴ᆮ - -써̴ᆵ -써̴ᆵ -써̴ᆵ -써̴ᆵ -써̴ᆵ - -쎼̴ᆼ -쎼̴ᆼ -쎼̴ᆼ -쎼̴ᆼ -쎼̴ᆼ - -쒀̴ᆮ -쒀̴ᆮ -쒀̴ᆮ -쒀̴ᆮ -쒀̴ᆮ - -쓔̴ᆵ -쓔̴ᆵ -쓔̴ᆵ -쓔̴ᆵ -쓔̴ᆵ - -씨̴ᆼ -씨̴ᆼ -씨̴ᆼ -씨̴ᆼ -씨̴ᆼ - -여̴ᆮ -여̴ᆮ -여̴ᆮ -여̴ᆮ -여̴ᆮ - -와̴ᆵ -와̴ᆵ -와̴ᆵ -와̴ᆵ -와̴ᆵ - -요̴ᆼ -요̴ᆼ -요̴ᆼ -요̴ᆼ -요̴ᆼ - -의̴ᆮ -의̴ᆮ -의̴ᆮ -의̴ᆮ -의̴ᆮ - -재̴ᆵ -재̴ᆵ -재̴ᆵ -재̴ᆵ -재̴ᆵ - -저̴ᆼ -저̴ᆼ -저̴ᆼ -저̴ᆼ -저̴ᆼ - -죄̴ᆮ -죄̴ᆮ -죄̴ᆮ -죄̴ᆮ -죄̴ᆮ - -줘̴ᆵ -줘̴ᆵ -줘̴ᆵ -줘̴ᆵ -줘̴ᆵ - -쥬̴ᆼ -쥬̴ᆼ -쥬̴ᆼ -쥬̴ᆼ -쥬̴ᆼ - -쨰̴ᆮ -쨰̴ᆮ -쨰̴ᆮ -쨰̴ᆮ -쨰̴ᆮ - -쪄̴ᆵ -쪄̴ᆵ -쪄̴ᆵ -쪄̴ᆵ -쪄̴ᆵ - -쫘̴ᆼ -쫘̴ᆼ -쫘̴ᆼ -쫘̴ᆼ -쫘̴ᆼ - -쮜̴ᆮ -쮜̴ᆮ -쮜̴ᆮ -쮜̴ᆮ -쮜̴ᆮ - -쯰̴ᆵ -쯰̴ᆵ -쯰̴ᆵ -쯰̴ᆵ -쯰̴ᆵ - -채̴ᆼ -채̴ᆼ -채̴ᆼ -채̴ᆼ -채̴ᆼ - -초̴ᆮ -초̴ᆮ -초̴ᆮ -초̴ᆮ -초̴ᆮ - -최̴ᆵ -최̴ᆵ -최̴ᆵ -최̴ᆵ -최̴ᆵ - -춰̴ᆼ -춰̴ᆼ -춰̴ᆼ -춰̴ᆼ -춰̴ᆼ - -카̴ᆮ -카̴ᆮ -카̴ᆮ -카̴ᆮ -카̴ᆮ - -컈̴ᆵ -컈̴ᆵ -컈̴ᆵ -컈̴ᆵ -컈̴ᆵ - -켜̴ᆼ -켜̴ᆼ -켜̴ᆼ -켜̴ᆼ -켜̴ᆼ - -쿠̴ᆮ -쿠̴ᆮ -쿠̴ᆮ -쿠̴ᆮ -쿠̴ᆮ - -퀴̴ᆵ -퀴̴ᆵ -퀴̴ᆵ -퀴̴ᆵ -퀴̴ᆵ - -킈̴ᆼ -킈̴ᆼ -킈̴ᆼ -킈̴ᆼ -킈̴ᆼ - -테̴ᆮ -테̴ᆮ -테̴ᆮ -테̴ᆮ -테̴ᆮ - -토̴ᆵ -토̴ᆵ -토̴ᆵ -토̴ᆵ -토̴ᆵ - -퇴̴ᆼ -퇴̴ᆼ -퇴̴ᆼ -퇴̴ᆼ -퇴̴ᆼ - -트̴ᆮ -트̴ᆮ -트̴ᆮ -트̴ᆮ -트̴ᆮ - -파̴ᆵ -파̴ᆵ -파̴ᆵ -파̴ᆵ -파̴ᆵ - -퍠̴ᆼ -퍠̴ᆼ -퍠̴ᆼ -퍠̴ᆼ -퍠̴ᆼ - -퐤̴ᆮ -퐤̴ᆮ -퐤̴ᆮ -퐤̴ᆮ -퐤̴ᆮ - -푸̴ᆵ -푸̴ᆵ -푸̴ᆵ -푸̴ᆵ -푸̴ᆵ - -퓌̴ᆼ -퓌̴ᆼ -퓌̴ᆼ -퓌̴ᆼ -퓌̴ᆼ - -햐̴ᆮ -햐̴ᆮ -햐̴ᆮ -햐̴ᆮ -햐̴ᆮ - -헤̴ᆵ -헤̴ᆵ -헤̴ᆵ -헤̴ᆵ -헤̴ᆵ - -호̴ᆼ -호̴ᆼ -호̴ᆼ -호̴ᆼ -호̴ᆼ - -훼̴ᆮ -훼̴ᆮ -훼̴ᆮ -훼̴ᆮ -훼̴ᆮ - -흐̴ᆵ -흐̴ᆵ -흐̴ᆵ -흐̴ᆵ -흐̴ᆵ - -マジ?! -マジ?! -マジ?! -マジ?! -マジ?! - -(゚ペ) -(゚ペ) -(゚ペ) -(゚ペ) -(゚ペ) - -(つ`Å´)つ -(つ`Å´)つ -(つ`Å´)つ -(つ`Å ́)つ -(つ`Å ́)つ - -(*´゚艸゚`*) -(*´゚艸゚`*) -(*´゚艸゚`*) -(* ゚́艸゚`*) -(* ゚́艸゚`*) - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/test_unf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/test_unf.rb deleted file mode 100644 index b71e5a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/test/test_unf.rb +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -require 'helper' -require 'pathname' - -class TestUNF < Test::Unit::TestCase - should "raise ArgumentError if an unknown normalization form is given" do - normalizer = UNF::Normalizer.instance - assert_raises(ArgumentError) { normalizer.normalize("が", :nfck) } - end - - should "pass all tests bundled with the original unf" do - normalizer = UNF::Normalizer.instance - open(Pathname(__FILE__).dirname + 'normalization-test.txt', 'r:utf-8').each_slice(6) { |lines| - flunk "broken test file" if lines.size != 6 || lines.pop !~ /^$/ - str, nfd, nfc, nfkd, nfkc = lines - assert nfd, normalizer.normalize(str, :nfd) - assert nfd, normalizer.normalize(nfd, :nfd) - assert nfd, normalizer.normalize(nfc, :nfd) - assert nfkd, normalizer.normalize(nfkc, :nfd) - assert nfkd, normalizer.normalize(nfkc, :nfd) - - assert nfc, normalizer.normalize(str, :nfd) - assert nfc, normalizer.normalize(nfd, :nfc) - assert nfc, normalizer.normalize(nfc, :nfc) - assert nfkc, normalizer.normalize(nfkc, :nfc) - assert nfkc, normalizer.normalize(nfkd, :nfc) - - assert nfkd, normalizer.normalize(str, :nfkd) - assert nfkd, normalizer.normalize(nfd, :nfkd) - assert nfkd, normalizer.normalize(nfc, :nfkd) - assert nfkd, normalizer.normalize(nfkc, :nfkd) - assert nfkd, normalizer.normalize(nfkd, :nfkd) - - assert nfkc, normalizer.normalize(str, :nfkc) - assert nfkc, normalizer.normalize(nfd, :nfkc) - assert nfkc, normalizer.normalize(nfc, :nfkc) - assert nfkc, normalizer.normalize(nfkc, :nfkc) - assert nfkc, normalizer.normalize(nfkd, :nfkc) - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/unf.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/unf.gemspec deleted file mode 100644 index 2d43004..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf-0.1.4/unf.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -require File.expand_path('../lib/unf/version', __FILE__) - -Gem::Specification.new do |gem| - gem.name = "unf" - gem.version = UNF::VERSION - gem.authors = ["Akinori MUSHA"] - gem.email = ["knu@idaemons.org"] - gem.description = <<-'EOS' -This is a wrapper library to bring Unicode Normalization Form support -to Ruby/JRuby. - EOS - gem.summary = %q{A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby} - gem.homepage = "https://github.com/knu/ruby-unf" - gem.platform = defined?(JRUBY_VERSION) ? 'java' : Gem::Platform::RUBY - gem.license = "2-clause BSDL" - - gem.files = `git ls-files`.split("\n") - gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) } - gem.test_files = gem.files.grep(%r{^(test|spec|features)/.*\.rb}) - gem.require_paths = ["lib"] - gem.extra_rdoc_files = ['README.md', 'LICENSE'] - - gem.add_dependency 'unf_ext', '>= 0' unless defined?(JRUBY_VERSION) - - gem.add_development_dependency 'shoulda', [RUBY_VERSION < '1.9' ? '< 3.5.0' : '>= 0'] - if RUBY_VERSION < '1.9' - # Cap dependency on activesupport with < 4.0 on behalf of - # shoulda-matchers to satisfy bundler. - gem.add_development_dependency 'activesupport', ['< 4.0'] - end - gem.add_development_dependency 'bundler', '>= 1.2.0' - gem.add_development_dependency 'rake', '>= 0.9.2.2' - gem.add_development_dependency 'rdoc', '> 2.4.2' -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/.document b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/.document deleted file mode 100644 index 3d618dd..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/.document +++ /dev/null @@ -1,5 +0,0 @@ -lib/**/*.rb -bin/* -- -features/**/*.feature -LICENSE.txt diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/.github/workflows/unf_ext.yml b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/.github/workflows/unf_ext.yml deleted file mode 100644 index 4efa847..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/.github/workflows/unf_ext.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: CI - -on: [push, pull_request] - -jobs: - build: - name: >- - ${{ matrix.os }} ${{ matrix.ruby }} - - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ ubuntu-20.04, macos-11.0, windows-2019 ] - ruby: [ 2.7, "3.0", 3.1, head ] - include: - - { os: windows-2019, ruby: mingw } - exclude: - - { os: windows-2019, ruby: head } - - steps: - - name: repo checkout - uses: actions/checkout@v2 - - - name: load ruby cross-compilation toolkit - uses: MSP-Greg/setup-ruby-pkgs@v1 - with: - ruby-version: ${{ matrix.ruby }} - mingw: _upgrade_ - - - name: bundle install - shell: pwsh - run: | - bundle config set --local path .bundle/vendor - bundle install --jobs 4 --retry 3 - - - name: compile - timeout-minutes: 5 - run: bundle exec rake compile - - - name: test - timeout-minutes: 5 - run: bundle exec rake test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/CHANGELOG.md deleted file mode 100644 index d2eec4d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/CHANGELOG.md +++ /dev/null @@ -1,62 +0,0 @@ -## 0.0.8.2 (2022-05-26) - -- Add x64-mingw-ucrt native gem support for RubyInstaller 3.1. - -## 0.0.8.1 (2022-03-13) - -- Include Windows binaries for Ruby 3.1. (FAIL) - -## 0.0.8 (2021-09-14) - -- No functional change in the library code. -- Include Windows binaries for Ruby 3.0. -- Drop support for Ruby 2.1 and earlier. -- Replace Travis CI with Github Actions. -- Fix cross-build after upgrading rake-compiler/rake-compiler-dock to 1.1.1/1.1.0. - -## 0.0.7.7 (2020-03-30) - -- Include Windows binaries for Ruby 2.7. - -## 0.0.7.6 (2019-03-19) - -- Include Windows binaries for Ruby 2.6. - -## 0.0.7.5 (2018-02-06) - -- Include Windows binaries for Ruby 2.5. - -## 0.0.7.4 (2017-04-19) - -- Fix build on ARM and GCC 6 again. - -## 0.0.7.3 (2017-04-11) - -- Update the base Unicode version to 9. - -- Fix compile issues on ARM and GCC 6. - -## 0.0.7.2 (2016-02-01) - -- Include Windows binaries for Ruby 2.3. - -## 0.0.7.1 (2015-04-18) - -- Windows fat binary gems no longer require libstd++ to - run, which are statically linked. - -- Add a fat binary gem for x64-mingw32 (64bit Windows). - -- Windows fat binary gems now include binaries for Ruby up to 2.2. - -## 0.0.6 (2013-02-16) - -- Migrate from Jeweler to Bundler. - -## 0.0.5 (2012-05-30) - -- Fix a type error for strict compilers. - -## 0.0.4 (2011-12-08) - -- Release under the current name of `unf_ext`. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/Gemfile deleted file mode 100644 index 82609cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -# Specify your gem's dependencies in ruby-unf_ext.gemspec -gemspec diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/LICENSE.txt deleted file mode 100644 index a0a4631..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License - -Copyright (c) 2010 Takeru Ohta <phjgt308@gmail.com> -Copyright (c) 2011-2018 Akinori MUSHA <knu@idaemons.org> (extended Ruby support) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/README.md deleted file mode 100644 index 3377e03..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/README.md +++ /dev/null @@ -1,57 +0,0 @@ -ruby-unf_ext -============ - -Synopsis --------- - -* Unicode Normalization Form support library for CRuby - -Description ------------ - -* Normalizes UTF-8 strings into and from NFC, NFD, NFKC or NFKD - - # For bulk conversion - normalizer = UNF::Normalizer.new - a_bunch_of_strings.map! { |string| - normalizer.normalize(string, :nfc) #=> string in NFC - } - -* Compliant with Unicode 9.0 - -Requirement ------------ - -* Ruby 1.8.7+, 1.9.2+ - -* C++ compiler and libstdc++ - -Installation ------------- - - gem install unf_ext - -Or: - - ruby extconf.rb && make && make install - -Development Resources ---------------------- - -* https://github.com/sile/unf - - For issues regarding files under the directory `unf`, please - contact this upstream. - -* https://github.com/knu/ruby-unf_ext - - The development site and the repository. - -License -------- - -Copyright (c) 2010-2017 Takeru Ohta -Copyright (c) 2011-2018 Akinori MUSHA - -Licensed under the MIT license. -See `LICENSE` for details. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/Rakefile deleted file mode 100644 index 6f67771..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/Rakefile +++ /dev/null @@ -1,37 +0,0 @@ -require 'bundler/gem_tasks' - -gemspec = Bundler::GemHelper.gemspec - -native_platforms = %w[ - x86-mingw32 - x64-mingw32 - x64-mingw-ucrt -] - -require 'rake/extensiontask' -Rake::ExtensionTask.new('unf_ext', gemspec) do |ext| - ext.cross_compile = true - ext.cross_platform = native_platforms - ext.cross_config_options << '--with-ldflags="-static-libgcc"' << '--with-static-libstdc++' -end - -namespace :gem do - task :native do - require 'rake_compiler_dock' - sh 'bundle package --all' - native_platforms.each do |plat| - RakeCompilerDock.sh "bundle --local && rake native:#{plat} gem", platform: plat - end - end -end - -task :gems => %i[build gem:native] - -require 'rake/testtask' -Rake::TestTask.new(:test) do |test| - test.libs << 'test' - test.test_files = gemspec.test_files - test.verbose = true -end - -task :default => :test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/.sitearchdir.time b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/.sitearchdir.time deleted file mode 100644 index e69de29..0000000 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/extconf.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/extconf.rb deleted file mode 100644 index d506cc3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/extconf.rb +++ /dev/null @@ -1,50 +0,0 @@ -require 'mkmf' - -if with_config('static-libstdc++') - $LDFLAGS << ' ' << `#{CONFIG['CC']} -print-file-name=libstdc++.a`.chomp -else - have_library('stdc++') - - case RbConfig::CONFIG['host_os'] - when /solaris(!?2.11)/ - # Do a little trickery here to enable C++ standard on Solaris 11 if found. - # This also forces 64bit compilation mode. - $CXX = CONFIG['CXX'] - $CXX << ' ' << '-m64' - $CFLAGS = CONFIG['CFLAGS'].gsub(/-std=c99/, '') - $CFLAGS << ' ' << '-m64 -std=c++11' - $CPPFLAGS = CONFIG['CFLAGS'].gsub(/-std=c99/, '') - $CPPFLAGS << ' ' << '-m64 -std=c++11' - $CXXFLAGS = CONFIG['CFLAGS'].gsub(/-std=c99/, '') - $CXXFLAGS << ' ' << '-m64 -std=c++11' - when /aix/ - # Compiler flags necessary on AIX. - # rubocop:disable Style/GlobalVars - $CFLAGS << ' ' << '-D_ALL_SOURCE=1' - $CPPFLAGS << ' ' << '-D_ALL_SOURCE=1' - $CXXFLAGS << ' ' << '-D_ALL_SOURCE=1' - end -end - -create_makefile 'unf_ext' - -unless CONFIG['CXX'] - case CONFIG['CC'] - when %r{((?:.*[-/])?)gcc([-0-9.]*)$} - cxx = $1 + 'g++' + $2 - when %r{((?:.*[-/])?)clang([-0-9.]*)$} - cxx = $1 + 'clang++' + $2 - else - cxx = CONFIG['CC'] - end - - warn "CXX is automatically set to #{cxx}" - - new_mf = <<-EOF << File.read('Makefile') -CXX=#{cxx} - EOF - - File.open('Makefile', 'w') { |mf| - mf.print new_mf - } -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf.cc b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf.cc deleted file mode 100644 index 19338f9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf.cc +++ /dev/null @@ -1,75 +0,0 @@ -#include "unf/normalizer.hh" - -#include <ruby.h> -#if defined(HAVE_RUBY_ENCODING_H) -#include <ruby/encoding.h> -#endif - -extern "C" { - VALUE unf_allocate(VALUE klass); - VALUE unf_initialize(VALUE self); - void unf_delete(UNF::Normalizer* ptr); - VALUE unf_normalize(VALUE self, VALUE source, VALUE normalization_form); - - ID FORM_NFD; - ID FORM_NFC; - ID FORM_NFKD; - ID FORM_NFKC; - - void Init_unf_ext() { - VALUE mdl = rb_define_module("UNF"); - - VALUE cls = rb_define_class_under(mdl, "Normalizer", rb_cObject); - rb_define_alloc_func(cls, unf_allocate); - rb_define_method(cls, "initialize", (VALUE (*)(...))unf_initialize, 0); - rb_define_method(cls, "normalize", (VALUE (*)(...))unf_normalize, 2); - - FORM_NFD = rb_intern("nfd"); - FORM_NFC = rb_intern("nfc"); - FORM_NFKD= rb_intern("nfkd"); - FORM_NFKC= rb_intern("nfkc"); - } - - - VALUE unf_allocate(VALUE klass) { - UNF::Normalizer* ptr; - VALUE obj = Data_Make_Struct(klass, UNF::Normalizer, NULL, unf_delete, ptr); - new ((void*)ptr) UNF::Normalizer; - return obj; - } - - VALUE unf_initialize(VALUE self) { - return self; - } - - void unf_delete(UNF::Normalizer* ptr) { - ptr->~Normalizer(); - ruby_xfree(ptr); - } - - VALUE unf_normalize(VALUE self, VALUE source, VALUE normalization_form) { - UNF::Normalizer* ptr; - Data_Get_Struct(self, UNF::Normalizer, ptr); - - const char* src = StringValueCStr(source); - const char* rlt; - ID form_id = SYM2ID(normalization_form); - - if(form_id == FORM_NFD) - rlt = ptr->normalize(src, UNF::Normalizer::FORM_NFD); - else if(form_id == FORM_NFC) - rlt = ptr->normalize(src, UNF::Normalizer::FORM_NFC); - else if(form_id == FORM_NFKD) - rlt = ptr->normalize(src, UNF::Normalizer::FORM_NFKD); - else if(form_id == FORM_NFKC) - rlt = ptr->normalize(src, UNF::Normalizer::FORM_NFKC); - else - rb_raise(rb_eArgError, "Specified Normalization-Form is unknown. Please select one from among :nfc, :nfd, :nfkc, :nfkd."); - -#if defined(HAVE_RUBY_ENCODING_H) - return rb_enc_str_new(rlt, strlen(rlt), rb_utf8_encoding()); -#else - return rb_str_new2(rlt); -#endif - } -} diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf.o b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf.o deleted file mode 100644 index e5ebc6d..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf.o and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/normalizer.hh b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/normalizer.hh deleted file mode 100644 index d20244b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/normalizer.hh +++ /dev/null @@ -1,139 +0,0 @@ -#ifndef UNF_NORMALIZER_HH -#define UNF_NORMALIZER_HH - -#include <vector> -#include <string> -#include <algorithm> -#include <cstring> -#include "trie/searcher.hh" -#include "trie/char_stream.hh" -#include "table.hh" -#include "util.hh" - -namespace UNF { - class Normalizer { - public: - enum Form { FORM_NFD, FORM_NFC, FORM_NFKD, FORM_NFKC }; - - public: - Normalizer() - : nf_d(TABLE::NODES, TABLE::CANONICAL_DECOM_ROOT, (const char *)TABLE::STRINGS), - nf_kd(TABLE::NODES, TABLE::COMPATIBILITY_DECOM_ROOT, (const char *)TABLE::STRINGS), - nf_c(TABLE::NODES, TABLE::CANONICAL_COM_ROOT, (const char *)TABLE::STRINGS), - nf_c_qc(TABLE::NODES, TABLE::NFC_ILLEGAL_ROOT), - nf_kc_qc(TABLE::NODES, TABLE::NFKC_ILLEGAL_ROOT), - ccc(TABLE::NODES, TABLE::CANONICAL_CLASS_ROOT) - {} - - const char* normalize(const char* src, Form form) { - switch(form) { - case FORM_NFD: return nfd(src); - case FORM_NFC: return nfc(src); - case FORM_NFKD: return nfkd(src); - case FORM_NFKC: return nfkc(src); - default: return src; - } - } - const char* nfd(const char* src) { return decompose(src, nf_d); } - const char* nfkd(const char* src) { return decompose(src, nf_kd); } - const char* nfc(const char* src) { return compose(src, nf_c_qc, nf_d); } - const char* nfkc(const char* src) { return compose(src, nf_kc_qc, nf_kd); } - - private: - const char* decompose(const char* src, const Trie::NormalizationForm& nf) { - const char* beg = next_invalid_char(src, nf); - if(*beg=='\0') - return src; - - buffer.assign(src, beg); - do { - const char* end = next_valid_starter(beg, nf); - decompose_one(beg, end, nf, buffer); - beg = next_invalid_char(end, nf); - buffer.append(end, beg); - } while(*beg!='\0'); - - return buffer.c_str(); - } - - void decompose_one(const char* beg, const char* end, const Trie::NormalizationForm& nf, std::string& buf) { - unsigned last = buf.size(); - nf.decompose(Trie::RangeCharStream(beg,end), buf); - char* bufbeg = const_cast<char*>(buf.data()); - canonical_combining_class_ordering(bufbeg+last, bufbeg+buf.size()); - } - - const char* compose(const char* src, const Trie::NormalizationForm& nf, const Trie::NormalizationForm& nf_decomp) { - const char* beg = next_invalid_char(src, nf); - if(*beg=='\0') - return src; - - buffer.assign(src, beg); - while(*beg!='\0') { - const char* end = next_valid_starter(beg, nf); - buffer2.clear(); - decompose_one(beg, end, nf_decomp, buffer2); - end = compose_one(buffer2.c_str(), end, buffer); - beg = next_invalid_char(end, nf); - buffer.append(end, beg); - } - - return buffer.c_str(); - } - - const char* compose_one(const char* starter, const char* rest_starter, std::string& buf) { - Trie::CharStreamForComposition in(starter, rest_starter, canonical_classes, buffer3); - while(in.within_first()) - nf_c.compose(in, buf); - return in.cur(); - } - - void canonical_combining_class_ordering(char* beg, const char* end) { - canonical_classes.assign(end-beg+1, 0); // +1 is for sentinel value - ccc.sort(beg, canonical_classes); - } - - const char* next_invalid_char(const char* src, const Trie::NormalizationForm& nf) const { - int last_canonical_class = 0; - const char* cur = Util::nearest_utf8_char_start_point(src); - const char* starter = cur; - - for(; *cur != '\0'; cur = Util::nearest_utf8_char_start_point(cur+1)) { - int canonical_class = ccc.get_class(cur); - if(last_canonical_class > canonical_class && canonical_class != 0) - return starter; - - if(nf.quick_check(cur)==false) - return starter; - - if(canonical_class==0) - starter=cur; - - last_canonical_class = canonical_class; - } - return cur; - } - - const char* next_valid_starter(const char* src, const Trie::NormalizationForm& nf) const { - const char* cur = Util::nearest_utf8_char_start_point(src+1); - while(ccc.get_class(cur)!=0 || nf.quick_check(cur)==false) - cur = Util::nearest_utf8_char_start_point(cur+1); - return cur; - } - - private: - const Trie::NormalizationForm nf_d; - const Trie::NormalizationForm nf_kd; - const Trie::NormalizationForm nf_c; - const Trie::NormalizationForm nf_c_qc; - const Trie::NormalizationForm nf_kc_qc; - const Trie::CanonicalCombiningClass ccc; - - std::string buffer; - std::string buffer2; - std::string buffer3; - std::vector<unsigned char> canonical_classes; - }; -} - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/table.hh b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/table.hh deleted file mode 100644 index e8c5bab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/table.hh +++ /dev/null @@ -1,13617 +0,0 @@ -#ifndef UNF_TABLE_HH -#define UNF_TABLE_HH -namespace UNF { -namespace TABLE { -const unsigned CANONICAL_COM_ROOT = 257; -const unsigned CANONICAL_DECOM_ROOT = 258; -const unsigned COMPATIBILITY_DECOM_ROOT = 259; -const unsigned CANONICAL_CLASS_ROOT = 260; -const unsigned NFC_ILLEGAL_ROOT = 261; -const unsigned NFKC_ILLEGAL_ROOT = 262; - -const unsigned NODES[]={ -0x000000D1,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0x300000CB,0x310066E9,0x3200CF1E, -0x3300E63A,0x3400EA2F,0x3500EC7C,0x3C00003E,0x3D00005A,0x3E00005D,0xCC000053,0xB800011C,0x41000070,0x420000B4, -0x430000B8,0x440000C3,0x450000DC,0x46000115,0x47000118,0x48000129,0x49000133,0x4A000161,0x4B000163,0x4C00016A, -0x4D00017A,0x4E000180,0x4F00018E,0x500001E1,0x000C9C99,0x520001E6,0x530001FC,0x5400020A,0x55000221,0x56000256, -0x5700025C,0x5800026B,0x59000277,0x5A00028B,0xCC00006F,0xB8000128,0x000C9C96,0xCC000072,0xB800012B,0x000C9C93, -0x61000297,0x620002CC,0x630002D6,0x640002E9,0x650002FB,0x66000334,0x67000337,0x68000346,0x69000355,0x6A000374, -0x6B00037D,0x6C00038A,0x6D000398,0x6E000399,0x6F0003B1,0x70000400,0xCC0000C6,0x72000402,0x73000412,0x74000426, -0x75000436,0x76000473,0x77000479,0x7800048A,0x7900048E,0x7A0004A3,0x8000014B,0x81000151,0x82000153,0x8300015D, -0x8400015E,0x00089C91,0x8600015F,0x87000168,0x8800016F,0x89000172,0x8A000173,0x00089C8F,0x8C000176,0x00089C8D, -0x000C9C8A,0x8F000177,0x000C9C87,0x91000178,0x80000154,0x81000156,0x000C9C84,0x8300015A,0x000C9C81,0x00089C7F, -0x00089C7D,0x00089C7B,0x000C9C78,0x8900015C,0x000C9C75,0x80000160,0x81000162,0x000C9C72,0x83000165,0x000C9C6F, -0x00089C6D,0xA3000179,0x8400016D,0xA500017D,0x89000167,0x00089C6B,0xA800017F,0x00089C69,0x84000171,0x00089C67, -0x000C9C64,0x00089C62,0x81000175,0x00089C60,0x00089C5E,0x00089C5C,0x00089C5A,0x000C9C57,0x8200017B,0x000C9C54, -0x000C9C51,0x000C9C4E,0x8600017C,0x00089C4C,0xCC0000FE,0x000C9C49,0x000C9C46,0x000C9C43,0xCC000111,0x87000181, -0x00089C41,0x00089C3F,0x00089C3D,0x00089C3B,0x00089C39,0x8100018C,0x000C9C36,0xC20004DC,0xC300050B,0xCC000119, -0xC50004E1,0xC60004F4,0x81000186,0x82000187,0x000C9C33,0xCA000523,0x00089C31,0x000C9C2E,0x87000188,0xCE00052B, -0xCF0006EE,0xD0000789,0xD10007EB,0x8C000189,0xD30007FF,0x000C9C2B,0x87000194,0xA3000182,0x000C9C28,0xD8000806, -0xD900082C,0x8C000196,0xDB000839,0x000C9C25,0xCC00014C,0x00089C23,0x00089C21,0xE0000823,0xE10008B3,0xE2006533, -0xE30065E0,0xB1000183,0x00089C1F,0x800001B3,0x810001B5,0x000C9C1C,0x830001B6,0x000C9C19,0x000C9C16,0x000C9C13, -0xA700018A,0x000C9C10,0x890001B7,0xF00066D9,0xA3000197,0x00089C0E,0x800001C1,0x810001C2,0xA700019F,0x000C9C0B, -0x000C9C08,0x00089C06,0x00089C04,0x00089C02,0xAD0001A2,0x000C9BFF,0x00089BFD,0x00089BFB,0xB10001A7,0x00089BF9, -0x800001A9,0x810001AA,0x820001B0,0x830001B9,0x840001BD,0x000C9BF6,0x860001C3,0x870001C4,0x880001C5,0x890001C7, -0x000C9BF3,0x820001D6,0x8C0001C8,0x00089BF1,0x000C9BEE,0x8F0001C9,0x00089BEC,0x910001CB,0x860001DA,0x000C9BE9, -0x000C9BE6,0xCC00015B,0x870001E3,0x000C9BE3,0xCC000164,0x810001E7,0x820001E9,0x00089BE1,0x840001EC,0x00089BDF, -0x860001ED,0x870001EE,0x000C9BDC,0x00089BDA,0x00089BD8,0xA30001D1,0x8C0001F1,0x00089BD6,0x00089BD4,0xA70001D9, -0xA80001DC,0xCC00017E,0x00089BD2,0x000C9BCF,0x000C9BCC,0xAD0001DF,0x00089BCA,0x000C9BC7,0xB00001E0,0x000C9BC4, -0x000C9BC1,0xCC00018D,0x820001F6,0x00089BBF,0x00089BBD,0x00089BBB,0x00089BB9,0x870001F7,0x880001F8,0x00089BB7, -0x00089BB5,0x00089BB3,0x8C0001FA,0xA70001F2,0x00089BB1,0x80000201,0x81000202,0x82000203,0x83000204,0x84000207, -0x81000217,0x86000208,0x87000209,0x8800020C,0x89000218,0x000C9BAE,0x000C9BAB,0x8C00021A,0x00089BA9,0x00089BA7, -0x8F00021B,0x00089BA5,0x9100021D,0xCC0000D8,0x000C9BA2,0xA30001FB,0x00089BA0,0x000C9B9D,0x00089B9B,0xA70001FD, -0x82000224,0x81000228,0x000C9B98,0x00089B96,0x000C9B93,0xCC0000E3,0xAE0001FE,0xCC0001A4,0x00089B91,0xCC0001A6, -0xA3000220,0x000C9B8E,0x8C000229,0x81000237,0xCC0000E6,0xA8000222,0xCC0001B2,0x00089B8C,0x00089B8A,0x000C9B87, -0x000C9B84,0xCC0000EC,0x8400023A,0xB0000223,0x8C000238,0xCC0000F3,0x00089B82,0x000C9B7F,0x000C9B7C,0x000C9B79, -0x000C9B76,0xCC0000F8,0xCC0001CA,0x000C9B73,0x00089B71,0xA300022A,0x00089B6F,0x81000243,0xCC0001DB,0xA700022E, -0x00089B6D,0x000C9B6A,0x00089B68,0x87000244,0x000C9B65,0x00089B63,0x000C9B60,0xA3000239,0xCC00010A,0xB1000231, -0x000C9B5D,0xA7000240,0xCC0001E8,0x80000248,0x8100024A,0x00089B5B,0x8300024E,0xAD000241,0x00089B59,0x00089B57, -0x8700024F,0xB1000242,0x000C9B54,0x000C9B51,0x000C9B4E,0x8C000250,0x8000025D,0x81000260,0x82000261,0x83000275, -0x8400027F,0xA3000247,0x86000287,0x8700028A,0x88000292,0x89000296,0x000C9B4B,0x8B000298,0x8C000299,0x00089B49, -0x000C9B46,0x8F00029A,0x00089B44,0x9100029B,0x81000276,0x000C9B41,0xCC000131,0x84000278,0xA3000252,0x00089B3F, -0x000C9B3C,0x8800027B,0xA7000253,0x9B00029C,0x000C9B39,0x80000280,0x81000284,0x00089B37,0xAD000254,0xCC00013E, -0x00089B35,0xA30002A8,0xB1000258,0x00089B33,0x80000264,0x81000265,0xA80002AB,0x83000266,0x00089B31,0x8400028D, -0x84000295,0x00089B2F,0x000C9B2C,0x89000272,0x00089B2A,0x00089B28,0x00089B26,0x00089B24,0x00089B22,0xCC000155, -0x800002A0,0x810002A2,0x000C9B1F,0x830002A3,0x000C9B1C,0x000C9B19,0x000C9B16,0xCC000158,0x000C9B13,0x890002A4, -0x000C9B10,0x820002AA,0x000C9B0D,0x00089B0B,0x00089B09,0xCC00022D,0x810002B0,0x840002AC,0x000C9B06,0x000C9B03, -0xCC000234,0x00089B01,0x870002B1,0x810002B3,0x000C9AFE,0x00089AFC,0x00089AFA,0x00089AF8,0x000C9AF5,0x870002B6, -0x000C9AF2,0x00089AF0,0x000C9AED,0x840002BC,0x8C0002B7,0xA30002A6,0x00089AEB,0x8F0002B8,0x870002C9,0x910002B9, -0x810002C2,0x820002CA,0xCC000245,0x000C9AE8,0x00089AE6,0x000C9AE3,0x870002CB,0x00089AE1,0x000C9ADE,0x000C9ADB, -0x870002CE,0x8C0002CD,0x870002D3,0x000C9AD8,0x00089AD6,0x00089AD4,0xCC000255,0xA30002BA,0xCC000191,0x000C9AD1, -0x00089ACF,0xA70002BD,0x870002D9,0x000C9ACC,0x00089ACA,0x00089AC8,0x000C9AC5,0x8C0002DA,0x000C9AC2,0x00089AC0, -0x00089ABE,0xB10002BE,0x00089ABC,0x00089ABA,0xA30002CF,0x810002EA,0x000C9AB7,0xA60002D4,0xA70002D5,0xCC000288, -0x00089AB5,0x880002F0,0x000C9AB2,0x00089AB0,0x00089AAE,0x800002F5,0x810002F6,0x00089AAC,0x00089AAA,0x840002F9, -0xA30002DD,0x00089AA8,0x00089AA6,0xA60002DE,0xA70002DF,0x000C9AA3,0x00089AA1,0x8C0002FA,0x00089A9F,0x00089A9D, -0xAD0002E0,0x00089A9B,0x00089A99,0xCC0001B8,0xB10002E2,0x00089A97,0x800002E3,0x810002E4,0x820002E6,0x830002E7, -0x840002EE,0x000C9A94,0x860002F1,0x000C9A91,0x880002F2,0x890002FD,0x8A0002FE,0x8B000300,0x8C000301,0x000C9A8E, -0x000C9A8B,0x8F000303,0x000C9A88,0x91000304,0x000C9A85,0x000C9A82,0x00089A80,0x8000030D,0x8100030F,0x000C9A7D, -0x83000315,0x000C9A7A,0xCC0002A1,0x9B000307,0x83000325,0x000C9A77,0x89000316,0x000C9A74,0xCC0002B2,0x000C9A71, -0x000C9A6E,0xA300031A,0xA400031B,0xCC00020E,0x00089A6C,0x000C9A69,0xA800031C,0x000C9A66,0x80000329,0x8100032A, -0x8200032E,0xAD00031F,0x000C9A63,0xCC0002B4,0xB0000321,0x8700032F,0x88000331,0x8700033D,0x8800033E,0x000C9A60, -0x000C9A5D,0x000C9A5A,0xA3000318,0xCC0001F9,0x00089A58,0xCC0002C6,0xA3000327,0x00089A56,0x8000033F,0x81000342, -0x82000345,0x8300034C,0x84000350,0xCC000205,0x000C9A53,0x87000351,0x88000352,0x89000353,0x00089A51,0x000C9A4E, -0x00089A4C,0x000C9A49,0x000C9A46,0xA3000336,0xCC00020F,0xCC0002D8,0x00089A44,0x81000358,0x8200035B,0x000C9A41, -0x00089A3F,0x00089A3D,0xCC000210,0x8700035C,0x000C9A3A,0x000C9A37,0x00089A35,0xCC00031D,0x8C00035D,0x00089A33, -0x00089A31,0x000C9A2E,0xCC00021E,0xA3000354,0x000C9A2B,0x000C9A28,0x80000367,0x8100036A,0x000C9A25,0x8300036B, -0x00089A23,0x00089A21,0x00089A1F,0x000C9A1C,0xCC000227,0x8900036E,0x000C9A19,0xCC00022B,0x000C9A16,0x000C9A13, -0x00089A11,0xA3000360,0x80000373,0x81000376,0x00089A0F,0x83000378,0x00089A0D,0x00089A0B,0x000C9A08,0x8400037E, -0x00089A06,0x89000379,0xCC00023B,0x00089A04,0x00089A02,0xB1000361,0x84000381,0x81000387,0x00089A00,0x000899FE, -0xCC00023D,0x000C99FB,0x82000391,0x000C99F8,0x000C99F5,0x000C99F2,0x86000392,0x000899F0,0x000C99ED,0x000C99EA, -0xCC000313,0xCC000249,0x87000396,0xCC00024B,0x000C99E7,0x80000362,0x81000365,0x82000366,0x83000370,0x84000371, -0xCC000330,0x86000372,0x8700037A,0x88000380,0x89000382,0x8A000384,0x000899E5,0x8C000388,0x000899E3,0x000899E1, -0x8F00038C,0x000899DF,0x9100038D,0x000899DD,0x000C99DA,0x810003A8,0x820003AA,0xCC000268,0x810003B0,0xCC00033A, -0xA3000397,0x870003AB,0x000C99D7,0x000899D5,0xCC000267,0x000C99D2,0x8C0003AD,0x000C99CF,0xCC000273,0x000C99CC, -0xA300038F,0x870003B8,0xA5000393,0x000C99C9,0xB100039C,0xA8000395,0x8C0003B9,0xCC000349,0x000899C7,0x800003C8, -0x810003CE,0x820003D4,0x830003DE,0x840003E3,0x000899C5,0x860003EA,0x870003ED,0x880003EE,0x890003EF,0xCC00029D, -0x000899C3,0x8C0003F2,0x000C99C0,0xA70003AF,0x8F0003F3,0x000C99BD,0x910003F4,0x000C99BA,0x000C99B7,0xA30003BB, -0x000C99B4,0x800003D6,0x810003D9,0xA70003BD,0x830003DB,0x000899B2,0x800003E6,0x810003E9,0x000C99AF,0xAD0003BF, -0x890003DC,0x000C99AC,0x000899AA,0xB10003C3,0xA30003F5,0x000899A8,0x000899A6,0x000C99A3,0xA70003FA,0xA80003FC, -0x000899A1,0x0008999F,0x0008999D,0x000C999A,0xAD0003FE,0x820003F8,0x000C9997,0xB00003FF,0x00089995,0x000C9992, -0x00089990,0x860003FB,0x000C998D,0x000C998A,0xCC00037B,0x000C9987,0x87000401,0xCC000383,0x81000406,0x82000408, -0x00089985,0x8400040B,0x00089983,0x8600040C,0x8700040D,0x000C9980,0x0008997E,0x0008997C,0x0008997A,0x8C00040E, -0x00089978,0x00089976,0xCC000394,0x000C9973,0x000C9970,0x0008996E,0x82000411,0x000C996B,0x000C9968,0x000C9965, -0x000C9962,0x87000413,0x88000414,0x00089960,0x0008995E,0x0008995C,0x8C000415,0xCC0003A5,0x0008995A,0x00089958, -0x00089956,0x8000041D,0x8100041E,0x8200041F,0x83000422,0x84000423,0xA7000410,0x86000424,0x00089954,0x8800042C, -0x89000433,0x81000430,0x000C9951,0x8C000435,0xCC0002EC,0x000C994E,0x8F000438,0x0008994C,0x91000439,0xA3000417, -0x0008994A,0x00089948,0x000C9945,0xA7000418,0x00089943,0x000C9940,0xCC0002FC,0x0008993E,0xCC0003C2,0x0008993C, -0xAE000419,0x000C9939,0x8200043F,0xB100041A,0xCC0002FF,0x81000443,0xA300043A,0xCC0003C6,0x00089937,0x000C9934, -0xCC000306,0xA800043C,0x8C000441,0x00089932,0xCC00030A,0x000C992F,0x8C00044A,0x81000454,0x0008992D,0xB000043D, -0xCC0003D2,0x0008992B,0x000C9928,0x8400045A,0x000C9925,0xCC00030E,0x00089923,0x000C9920,0x8C000457,0x000C991D, -0x81000461,0x000C991A,0x000C9917,0x000C9914,0xCC0003DF,0xCC0003E7,0x87000462,0x8000046B,0x8100046C,0xA300044B, -0x8300046F,0x00089912,0x00089910,0xA700044F,0x87000470,0x0008990E,0x000C990B,0x00089909,0x000C9906,0x8C000471, -0x00089904,0xA3000458,0x000C9901,0xB1000451,0x000C98FE,0xA700045C,0x000898FC,0xCC000333,0x000898FA,0xCC00041B, -0x000898F8,0xAD00045D,0x000C98F5,0x000C98F2,0xA3000463,0xB100045F,0x80000480,0x81000481,0x000C98EF,0x83000486, -0x000C98EC,0x000898EA,0xA3000472,0x000C98E7,0x000898E5,0x89000488,0xA7000474,0x000C98E2,0x8100048B,0x000898E0, -0x000C98DD,0x8400048C,0xAD000476,0x000C98DA,0x000898D8,0x8800048F,0xB1000478,0x000898D6,0x840004A5,0x8000047A, -0x8100047C,0x8200047E,0x83000489,0x84000491,0xCC00035F,0x86000496,0x87000499,0x880004AB,0x890004B0,0x000898D4, -0x8B0004B1,0x8C0004B2,0x80000492,0x81000495,0x8F0004B3,0x000898D2,0x910004B4,0x840004AE,0x000898D0,0xCC000364, -0x000C98CD,0x000898CB,0x000898C9,0x000898C7,0x000898C5,0x000898C3,0x9B0004B5,0x800004B9,0x810004BB,0x000C98C0, -0x830004BC,0x000C98BD,0x000C98BA,0x000C98B7,0xA30004C2,0x000C98B4,0x890004BD,0xCC000375,0x000C98B1,0xA80004C7, -0x820004C5,0x000C98AE,0xCC000377,0x000898AC,0x840004C9,0x000898AA,0x810004CB,0x000C98A7,0xCC000449,0x000C98A4, -0xCC000450,0x000898A2,0x870004CD,0x810004CF,0x000C989F,0x0008989D,0x0008989B,0x00089899,0x000C9896,0x870004D2, -0x000C9893,0x840004D8,0xA30004BF,0x00089891,0x8C0004D3,0x000C988E,0xCC000464,0x8F0004D4,0x0008988C,0x910004D5, -0x870004E3,0x000C9889,0x00089887,0x810004E0,0x820004E4,0x000C9884,0x00089882,0x000C987F,0x000C987C,0x870004E7, -0x870004E9,0x870004EE,0x000C9879,0x00089877,0x8C0004E8,0x00089875,0xCC00046D,0xA30004D6,0x870004F6,0x880004FA, -0x000C9872,0xA70004DB,0xCC0003AE,0x8C0004FB,0x000C986F,0x0008986D,0x000C986A,0x00089868,0x00089866,0x000C9863, -0x000C9860,0xB10004DD,0xCC00049F,0x0008985E,0x0008985C,0x0008985A,0x00089858,0xA30004EA,0x81000509,0x000C9855, -0xA60004EF,0xA70004F1,0x00089853,0x8800050E,0x000C9850,0x0008984E,0xA30004FC,0x0008984C,0x0008984A,0xA60004FD, -0xA70004FE,0x00089848,0x00089846,0x00089844,0x000C9841,0x0008983F,0xAD0004FF,0x0008983D,0x0008983B,0x00089839, -0xB1000500,0x80000503,0x81000504,0x82000505,0x83000506,0x8400050C,0xCC0003D5,0x8600050F,0x00089837,0x88000511, -0x89000518,0x8A000519,0x8B00051B,0x8C00051C,0x00089835,0x000C9832,0x8F00051D,0x000C982F,0x91000526,0x000C982C, -0x000C9829,0x000C9826,0x000C9823,0x000C9820,0x0008981E,0x000C981B,0x80000512,0x81000515,0x9B00052C,0x000C9818, -0x84000516,0x000C9815,0x000C9812,0xCC0004BE,0x000C980F,0x8300053D,0xA3000534,0xA4000535,0x8C000517,0xCC0004E2, -0x000C980C,0xA8000536,0x8000052D,0x8100052F,0xCC000404,0x83000531,0xAD000537,0x0008980A,0x000C9807,0xB000053B, -0x000C9804,0x89000532,0x000C9801,0x000C97FE,0x000C97FB,0xCC00040F,0xCC0004D0,0x87000554,0x88000559,0x000C97F8, -0xCC0004F2,0x000C97F5,0x000897F3,0xCC000428,0x000897F1,0x000C97EE,0x000897EC,0xA300053E,0x80000540,0x81000546, -0x8200054D,0xCC000416,0x000C97E9,0x000897E7,0x000C97E4,0x8700054E,0x88000550,0xA3000533,0x8A000552,0x000C97E1, -0x000C97DE,0xCC000501,0x000897DC,0x000C97D9,0x8000055B,0x8100055C,0x8200055E,0x8300055F,0x84000560,0xCC000429, -0x000897D7,0x87000566,0x88000567,0x89000568,0x8A00056D,0x000897D5,0x000C97D2,0x000C97CF,0x000C97CC,0xCC000437, -0x81000570,0x82000571,0xA80004BA,0xA3000553,0xCC00050A,0xCD00050D,0x87000578,0x000897CA,0x80000580,0x81000589, -0x000C97C7,0x8C00057D,0xCC000442,0x8200058C,0xCC000513,0x860004C4,0x000897C5,0xCC000444,0x81000592,0xA300056E, -0x000897C3,0x84000596,0xCC00051A,0x000897C1,0xCC000524,0x81000599,0x000897BF,0x000897BD,0x000897BB,0x8100059E, -0xBF0004DE,0x000C97B8,0xCC000455,0x980004CC,0xA300057E,0x8100059C,0xCC00051E,0x870005A1,0x8400059D,0x000897B6, -0xCC000520,0xB70004EB,0xCC00045B,0x8C0005A9,0x8C0005AF,0x000897B4,0x000C97B1,0xA60004CE,0xB100057F,0x000897AF, -0xCC000465,0x920004EC,0xCC000466,0xCC000521,0xCC000522,0xCC000547,0xCD00056F,0x000C97AC,0x910004ED,0x000C97A9, -0x000C97A6,0x000C97A3,0x95000527,0x850005C9,0x97000538,0xB80004DA,0x99000563,0x800005BF,0x810005CE,0x800005B0, -0x810005B3,0x000C97A0,0x9F000582,0x840005BB,0xA100058F,0x860005BD,0x000C979D,0x850005D1,0xA5000590,0x000C979A, -0xCC000487,0x820005D5,0xA90005A5,0x000C9797,0x850005D9,0x000C9794,0xCC000485,0x000C9791,0x930005BE,0x940005DE, -0xB10005D2,0xCC0004B8,0x000C978E,0x850005D7,0xB500060E,0x000C978B,0xB7000629,0x000C9788,0xB900065D,0x800005E1, -0x810005E8,0x850005E3,0x000C9785,0x850005EB,0xBF00068A,0x000C9782,0x820005ED,0x000C977F,0x850005F0,0x850005F1, -0x000C977C,0x000C9779,0x000C9776,0xCC000575,0x850005F2,0x800005F7,0x810005F9,0x000C9773,0xCC0004C8,0x00089771, -0x000C976E,0x800005FD,0x810005FE,0x000C976B,0x000C9768,0x000C9765,0x000C9762,0x80000600,0x81000603,0x000C975F, -0xCC000586,0xCD0005A7,0x8000060A,0x8100060B,0x930005FA,0x940005FF,0x000C975C,0x0008975A,0x000C9757,0x8000060F, -0x81000612,0x000C9754,0x85000611,0x000C9751,0x000C974E,0x85000614,0x000C974B,0x82000616,0x000C9748,0x000C9745, -0x8500061B,0x9300060C,0x9400061D,0x000C9742,0x85000617,0x000C973F,0x000C973C,0x8000061E,0x81000622,0x000C9739, -0x000C9736,0x000C9733,0x000C9730,0x85000621,0x82000624,0x85000623,0x8500062A,0x8500062B,0x000C972D,0x000C972A, -0x8500062D,0x000C9727,0x000C9724,0xCC0005B1,0x00089722,0x8000062E,0x81000630,0x000C971F,0x000C971C,0x84000633, -0x0008971A,0x86000634,0x000C9717,0x88000636,0x8000063C,0x8100063D,0x000C9714,0x000C9711,0x8200063F,0x000C970E, -0x000C970B,0x80000643,0x81000646,0x000C9708,0x93000638,0x94000640,0x000C9705,0x82000648,0x000C9702,0x000C96FF, -0x80000649,0x8100064C,0x000896FD,0x000C96FA,0xCC0005CA,0x80000651,0x81000652,0x000C96F7,0x000C96F4,0x000C96F1, -0x80000656,0x81000657,0x000C96EE,0x000C96EB,0x94000659,0x000C96E8,0x000C96E5,0xCC0005C4,0xCC0005DF,0x9300064D, -0x94000653,0x8000065A,0x81000661,0x000896E3,0x000C96E0,0x84000662,0x000C96DD,0x86000664,0x000896DB,0x88000666, -0x000C96D8,0x8000066B,0x8100066C,0x000C96D5,0x000C96D2,0x000C96CF,0x8200066D,0x80000674,0x81000675,0xCC0005EF, -0xCD000618,0x94000668,0x000C96CC,0x000896CA,0x000C96C7,0x000C96C4,0x80000677,0x8100067C,0x8500067B,0x000C96C1, -0x000C96BE,0x000C96BB,0x8200067F,0x000C96B8,0x8500067D,0x85000685,0x93000676,0x94000687,0x000C96B5,0x000C96B2, -0x85000684,0x000C96AF,0x8000068D,0x81000690,0xCC000545,0xCD000551,0xCD00053C,0x000C96AC,0x8500068F,0x000C96A9, -0x000C96A6,0x000C96A3,0x85000691,0x000C96A0,0x000C969D,0x82000693,0x000C969A,0x000C9697,0x85000696,0x000C9694, -0x85000694,0xCD00054A,0x000C9691,0x85000697,0xCC000620,0xCD000650,0x80000699,0x810006A3,0xCD00055A,0x0008968F, -0x840006A7,0x000C968C,0x860006A8,0x000C9689,0x000C9686,0x000C9683,0xCC000565,0xCD00056A,0x8500069C,0x850006A5, -0xCD000562,0x800006B1,0x810006B7,0x000C9680,0x000C967D,0x930006A9,0x940006C1,0xCD000564,0x850006B2,0x000C967A, -0x000C9677,0x000C9674,0xCD000569,0x820006B9,0x850006B8,0x000C9671,0x850006C0,0x850006BD,0x000C966E,0x000C966B, -0x800006C4,0x810006C7,0x000C9668,0x000C9665,0xCC00057B,0x000C9662,0x000C965F,0x850006C5,0x850006C8,0xCC000581, -0x820006CD,0x000C965C,0x000C9659,0x850006D1,0x850006CE,0x000C9656,0x820006D3,0x000C9653,0x850006D6,0x850006D7, -0x000C9650,0x000C964D,0xCC00058D,0xCD000593,0xCC000660,0x000C964A,0xCD00058B,0x00089648,0x000C9645,0xCD00058E, -0x800006DB,0x810006DD,0x000C9642,0xCD000597,0x000C963F,0x800006E2,0x810006E4,0x000C963C,0x000C9639,0xCC00059F, -0xCD0005A4,0xCD0005A0,0x000C9636,0x000C9633,0x850006F0,0xCD0005A2,0x000C9630,0xCD0005A3,0x0008962E,0x930006DE, -0x940006E7,0xCC00067E,0xCD00069F,0x850006FA,0x800006E8,0x810006EC,0x000C962B,0x000C9628,0x000C9625,0x000C9622, -0x800006ED,0x810006F2,0x800006FC,0x81000702,0x000C961F,0x000C961C,0xCC0005BA,0xCD0005BC,0x850006FD,0x85000703, -0x82000709,0x000C9619,0x000C9616,0x8500070F,0xCC0005C1,0xCD0005C5,0x8500070A,0x000C9613,0x000C9610,0x930006FB, -0x94000710,0x000C960D,0x000C960A,0x80000713,0x81000718,0x85000714,0x000C9607,0xCC0005CF,0x000C9604,0x000C9601, -0x000C95FE,0x8500071A,0x000C95FB,0xCC0005D4,0x8200071B,0x82000725,0x8500071C,0x8500071E,0x85000728,0x000C95F8, -0x85000727,0x000C95F5,0x000C95F2,0xCC0006AB,0xCD0006D0,0x8000072D,0x8100072E,0x000C95EF,0x000895ED,0x84000730, -0x000C95EA,0x86000732,0x000C95E7,0x88000736,0xCC0005E9,0xCD0005EC,0x000895E5,0x000C95E2,0x000895E0,0x000C95DD, -0x80000737,0x81000738,0x000C95DA,0x82000739,0x9300073C,0x9400074A,0x000C95D7,0x000C95D4,0xCC0005F8,0xCD0005FC, -0xCD0005F5,0x82000748,0x80000740,0x81000741,0x000C95D1,0xCD0005FB,0x000C95CE,0x000C95CB,0xCD000601,0x000C95C8, -0x82000751,0x8000074B,0x8100074D,0x000C95C5,0x82000755,0xCC000608,0xCD000613,0x000C95C2,0xCC0006D8,0x000C95BF, -0x80000757,0x8100075B,0xCD000609,0x000895BD,0x000C95BA,0xCD00060D,0x000C95B7,0x000C95B4,0xCD000615,0x8000075E, -0x8100075F,0x000C95B1,0x000C95AE,0x000C95AB,0xCD000627,0xCC0006DA,0x000C95A8,0x80000764,0x81000765,0x9300075C, -0x94000763,0x93000768,0x94000771,0x8100069B,0xCD000628,0x000C95A5,0x000C95A2,0x850006AC,0x000895A0,0xCC00062F, -0xCD000639,0x890006D9,0xCC000715,0xCD00071F,0x000C959D,0x000C959A,0x00089598,0x000C9595,0xCD000631,0x00089593, -0x92000716,0x8000077D,0x8100077F,0x000C9590,0xCD000637,0x000C958D,0xCD00063A,0x82000783,0x8000078A,0x8100078B, -0x000C958A,0x000C9587,0x000C9584,0xCC000642,0xCD00064A,0x8200078C,0x000C9581,0xCD000644,0x80000797,0x81000798, -0xCD000645,0x80000772,0x81000774,0x000C957E,0x000C957B,0x8400077A,0xCD00064B,0x8600077B,0x000C9578,0x8800077C, -0x000C9575,0x8200079C,0xCD00064F,0x8200079E,0x800007A4,0x810007AC,0x000C9572,0xCC000722,0xCD000756,0x000C956F, -0x93000785,0x94000790,0xCC000665,0x850007A7,0x0008956D,0x000C956A,0x850007AD,0x000C9567,0x000C9564,0x800007B0, -0x810007B8,0xCC000678,0x850007B7,0x930007AF,0x940007C3,0x000C9561,0x000C955E,0x850007BB,0xCD000669,0x000C955B, -0x000C9558,0x820007BC,0x000C9555,0xCD000672,0x850007C1,0x000C9552,0x850007BE,0x000C954F,0x800007C6,0x810007CC, -0x000C954C,0xCC000680,0xCD000686,0xCD000681,0x850007CB,0x000C9549,0x000C9546,0x000C9543,0x850007CD,0xCD000682, -0x820007D1,0x000C9540,0x000C953D,0x850007D5,0x850007D2,0x000C953A,0xCD000689,0x000C9537,0x820007D7,0x850007DA, -0x000C9534,0x850007DE,0xCC000695,0xCD00069E,0x000C9531,0x0008952F,0xCD000692,0x0008952D,0xCC000762,0x810007DF, -0x0008952B,0xCD000698,0x00089529,0x00089527,0xCD00069D,0x880007E4,0x880007E1,0x810007EE,0xCC000761,0xCC000769, -0x00089525,0x860007E6,0xCC00076A,0x880007E7,0xCD0006A1,0x800007F4,0x00089523,0x00089521,0xCC000773,0x0008951F, -0xCC000776,0x860007F5,0x0008951D,0x880007F7,0x860007FA,0x0008951B,0x880007FD,0xCC000778,0x88000801,0x00089519, -0xCC0006BA,0xCD0006BB,0x00089517,0x00089515,0xCC00078D,0x00089513,0xCC0006C6,0xCD0006C3,0x00089511,0xCC00078F, -0x0008950F,0x80000804,0xCC000792,0x86000720,0x8100080C,0x84000805,0x0008950D,0x86000807,0x0008950B,0x8800080A, -0xCC0006CF,0xCD0006CC,0xCC0007C8,0x90000721,0x88000812,0x00089509,0x93000724,0x00089507,0x9500072A,0x9600072C, -0x97000733,0x9800073A,0x00089505,0x9A00073F,0xCC00079D,0x88000826,0x00089503,0x9E000742,0xCC0006E1,0xCC0007A2, -0x8800082B,0x00089501,0xA300074C,0x8800082E,0x000894FF,0xCC0006E9,0xA7000758,0x000894FD,0xCC0007A5,0xCC0007B2, -0xAB00075D,0x000894FB,0xAD000766,0xCC0007BA,0x86000831,0xB0000767,0x88000835,0x8100083D,0xB300076B,0x000894F9, -0xB5000779,0xB600077E,0xB700078E,0xB8000793,0x000894F7,0xBA000799,0x000894F5,0xCC0007CF,0x000894F3,0xBE00079F, -0xCC000701,0xCD000705,0xCC0007C5,0x86000854,0x84000814,0x88000856,0x8600081B,0x80000842,0x8800081D,0xCC000708, -0xCD00070D,0x8B000822,0x000894F1,0x86000844,0x000894EF,0x88000846,0x88000859,0x000894ED,0xCC0007D0,0x000894EB, -0xCC000712,0xCD00071D,0x000894E9,0xCC0007E0,0x8000085B,0x000894E7,0x000894E5,0x81000867,0x8400085E,0xCC0007E2, -0x86000861,0x000894E3,0x88000862,0x000894E1,0x000894DF,0xCC0007E5,0xCC0007EF,0x88000869,0x830007A0,0x000894DD, -0x000894DB,0xCD000726,0x870007B3,0x8400086A,0x000894D9,0x8600086F,0x8B0007B6,0x88000870,0x8D0007BF,0xCD000729, -0x8B000874,0xCC000731,0xCD00073B,0xCD00072F,0x88000880,0xCC0007F6,0x000894D7,0x960007C0,0xCC0007FB,0x88000884, -0x000894D5,0xCD000734,0x88000887,0x000894D3,0x8800088A,0xCD00073D,0x000894D1,0xCC0007FE,0xCC000800,0x000894CF, -0xCC000802,0xCC000744,0xCD00074E,0x8F00088D,0x8F000894,0xCD000745,0x000894CD,0xCC000803,0xCC000813,0x980007CA, -0x990007D6,0xCD000749,0x000894CB,0x8800089A,0x000894C9,0x8800089C,0xCD00074F,0xB40007C2,0xB50007C9,0x880008A3, -0xCC000815,0x000894C7,0xCD000754,0xCC000819,0x880008AA,0xA80007D9,0xA90007DD,0xCC00081E,0x000894C5,0x000894C3, -0xD900081C,0xA70007D3,0x000894C1,0x930008AB,0x940008AE,0x950008B2,0x000894BF,0x940008B7,0x880007DC,0xD900081F, -0x8A0007E3,0x000894BD,0x940008B9,0x000894BB,0x810007E8,0x940008BD,0xD9000824,0x000894B9,0x940008BF,0x000894B7, -0x000894B5,0xD9000827,0xD900082A,0xD9000830,0x940008C0,0xA400080D,0x000C94B2,0xA400082F,0x000C94AF,0xBC0008C6, -0xA7000857,0x920007E9,0xE0000821,0xE0000837,0x950007EA,0x000C94AC,0xAD000860,0xAE000863,0xAF000871,0xBC0008C8, -0xB100087E,0xB2000848,0xB3000886,0xA80007EC,0xB5000892,0xE0000838,0xB700088F,0xA4000817,0xA4000825,0x000C94A9, -0x87000808,0xB00007ED,0x970008E3,0xBC0008CF,0xB30007F9,0x000C94A6,0xA6000828,0xA7000849,0xBE0008DD,0x87000809, -0xE000083E,0xE000083F,0x000C94A3,0xAC000832,0xAD000858,0x000C94A0,0x960008ED,0x970008F1,0xBE0008EA,0x000C949D, -0xAF00085C,0x970008F4,0x000C949A,0x92000816,0xE0000843,0x8600081A,0x87000820,0xBE0008FD,0xE000084D,0xAE00083B, -0xAF000868,0x000C9497,0x000C9494,0x970008FE,0xE0000853,0xAE000845,0x000C9491,0xBE000902,0x86000829,0x000C948E, -0xB1000872,0xBF00082D,0x96000905,0xE0000855,0x9500090B,0x000C948B,0x86000833,0xE000085D,0x8200090F,0x000C9488, -0xB3000875,0x95000914,0xB300088C,0xE000085F,0x000C9485,0x000C9482,0x000C947F,0xB300087C,0x8600083A,0x87000847, -0xE000086B,0x000C947C,0x9700091D,0x000C9479,0x000C9476,0xB4000865,0xB5000885,0x95000915,0x96000916,0xBE00091B, -0xBE00091E,0xB700089F,0x000C9473,0xE0000876,0x9900084B,0x8A000926,0xB4000866,0xE000086E,0x000C9470,0x000C946D, -0x8F00092C,0xB70008A6,0x8A00092D,0x000C946A,0xE10008B4,0x80000890,0x80000888,0xA5000851,0xAE000938,0x840008C1, -0x000C9467,0x000C9464,0x850008D2,0xE10008B5,0x860008E0,0x870008EC,0x9F000931,0x000C9461,0x000C945E,0x8000085A, -0x81000D50,0x82001235,0x83001702,0x84001BDE,0x850020AC,0x86002596,0x87002A5E,0x88002F48,0x89003410,0x8A0038FA, -0x8B003DC2,0x8C0042AC,0x8D004774,0x8E004C5E,0x8F005126,0x90005610,0x91005AD8,0x92005FC2,0x000C945B,0x000C9458, -0x000C9455,0x000C9452,0x000C944F,0x000C944C,0x000C9449,0x000C9446,0x000C9443,0x000C9440,0x000C943D,0xAC0064E6, -0xAD006516,0x000C943A,0x000C9437,0x000C9434,0x000C9431,0x000C942E,0x000C942B,0x000C9428,0x000C9425,0x000C9422, -0x000C941F,0x000C941C,0x8000096F,0x81000970,0x820009A0,0x000C9419,0x000C9416,0xBE0064E2,0xBF0064F3,0xA1000939, -0xA20009A1,0xA30009D7,0xA4000A15,0xA5000A4C,0xA6000A89,0xA7000AC0,0xA8000AE4,0xA9000B1E,0xAA000B6E,0xAB000B92, -0xAC000BE5,0xAD000C1C,0xAE000C59,0xAF000C93,0xB0000CCD,0xB1000D07,0xB2000D41,0xB3000D78,0xB4000DB5,0xB5000DEC, -0xA800093F,0xA9000940,0xAA000954,0xAB000955,0xAC000956,0xAD000957,0xAE000958,0xAF000959,0xB000095A,0xB100095B, -0xB200095C,0xB300095D,0xB400095E,0xB5000961,0xB6000962,0xB7000963,0xB8000964,0xB9000965,0xBA000966,0xBB000967, -0xBC000968,0xBD000969,0xBE00096A,0xBF00096B,0x000C9413,0x000C9410,0x860008FC,0x8700095F,0xA80009BC,0xA90009BD, -0xAA0009BE,0xAB0009BF,0xAC0009C0,0xAD0009C1,0xAE0009C2,0xAF0009C3,0xB00009C4,0xB10009C5,0xB20009C6,0xB30009C7, -0xB40009C8,0xB50009C9,0xB60009CA,0xB70009CB,0xB80009CC,0xB90009CD,0xBA0009CE,0xBB0009CF,0xBC0009D0,0xBD0009D1, -0xBE0009D2,0xBF0009D3,0x000C940D,0x000C940A,0x000C9407,0x000C9404,0x000C9401,0x000C93FE,0x000C93FB,0x000C93F8, -0x000C93F5,0x000C93F2,0x000C93EF,0x000C93EC,0x000C93E9,0x000C93E6,0x000C93E3,0x000C93E0,0x000C93DD,0x000C93DA, -0x000C93D7,0x000C93D4,0x000C93D1,0x000C93CE,0x000C93CB,0x000C93C8,0x000C93C5,0x000C93C2,0x000C93BF,0x000C93BC, -0x86000948,0x8700098F,0x000C93B9,0x000C93B6,0x000C93B3,0x000C93B0,0x000C93AD,0x800009D4,0x810009D5,0x820009D6, -0x000C93AA,0x000C93A7,0x000C93A4,0x000C93A1,0x000C939E,0x000C939B,0x000C9398,0x000C9395,0x000C9392,0x000C938F, -0x000C938C,0x000C9389,0x000C9386,0xE0000864,0xA80009DA,0xA90009DB,0xAA0009DC,0xAB0009DD,0xAC0009DE,0xAD0009E2, -0xAE0009E3,0xAF0009E4,0xB00009E5,0xB10009E6,0xB20009E7,0xB30009E8,0xB40009E9,0xB50009EA,0xB60009EB,0xB70009EC, -0xB80009ED,0xB90009EE,0xBA000A08,0xBB000A09,0xBC000A0A,0xBD000A0B,0xBE000A0D,0xBF000A0E,0x000C9383,0x000C9380, -0x000C937D,0x000C937A,0xE0000878,0x000C9377,0x000C9374,0x80000A12,0x81000A13,0x82000A14,0x000C9371,0x000C936E, -0x000C936B,0x000C9368,0x86000973,0x870009D8,0x000C9365,0x000C9362,0xE10008B6,0xA8000A18,0xA9000A19,0xAA000A33, -0xAB000A34,0xAC000A35,0xAD000A36,0xAE000A37,0xAF000A38,0xB0000A39,0xB1000A3A,0xB2000A3B,0xB3000A3C,0xB4000A3D, -0xB5000A3E,0xB6000A3F,0xB7000A40,0xB8000A41,0xB9000A42,0xBA000A43,0xBB000A44,0xBC000A45,0xBD000A46,0xBE000A47, -0xBF000A48,0x000C935F,0x000C935C,0x000C9359,0x000C9356,0x000C9353,0x000C9350,0x000C934D,0x000C934A,0x000C9347, -0x000C9344,0x000C9341,0x000C933E,0x000C933B,0x000C9338,0x000C9335,0x000C9332,0x000C932F,0x000C932C,0x000C9329, -0x000C9326,0x000C9323,0x000C9320,0x000C931D,0x000C931A,0x000C9317,0x000C9314,0x000C9311,0x000C930E,0x000C930B, -0x000C9308,0x000C9305,0x000C9302,0x000C92FF,0x000C92FC,0x000C92F9,0x000C92F6,0x000C92F3,0x80000A49,0x81000A4A, -0x82000A4B,0x000C92F0,0x000C92ED,0x000C92EA,0x000C92E7,0x860009B9,0x87000A03,0xA8000A4D,0xA9000A4E,0xAA000A4F, -0xAB000A50,0xAC000A51,0xAD000A52,0xAE000A53,0xAF000A54,0xB0000A55,0xB1000A56,0xB2000A57,0xB3000A5B,0xB4000A5C, -0xB5000A5D,0xB6000A5E,0xB7000A79,0xB8000A7A,0xB9000A7B,0xBA000A7C,0xBB000A7D,0xBC000A7E,0xBD000A7F,0xBE000A80, -0xBF000A81,0x000C92E4,0x000C92E1,0x000C92DE,0x000C92DB,0x000C92D8,0x000C92D5,0x000C92D2,0x000C92CF,0x000C92CC, -0xE100091C,0x80000A86,0x81000A87,0x82000A88,0x000C92C9,0x000C92C6,0x000C92C3,0x000C92C0,0x860009EF,0x87000A58, -0x000C92BD,0x000C92BA,0x000C92B7,0x000C92B4,0x000C92B1,0x000C92AE,0x000C92AB,0x000C92A8,0x000C92A5,0x000C92A2, -0x000C929F,0xA8000A8C,0xA9000A8D,0xAA000A8E,0xAB000A8F,0xAC000A90,0xAD000A91,0xAE000A92,0xAF000A93,0xB0000A94, -0xB1000A95,0xB2000A96,0xB3000AAF,0xB4000AB0,0xB5000AB1,0xB6000AB2,0xB7000AB3,0xB8000AB4,0xB9000AB5,0xBA000AB6, -0xBB000AB7,0xBC000AB9,0xBD000ABA,0xBE000ABB,0xBF000ABC,0x000C929C,0x000C9299,0x000C9296,0x000C9293,0x000C9290, -0x000C928D,0x000C928A,0x000C9287,0x000C9284,0xE1000952,0x000C9281,0x000C927E,0x000C927B,0x000C9278,0x000C9275, -0x000C9272,0x000C926F,0x000C926C,0x000C9269,0x000C9266,0x000C9263,0x000C9260,0x000C925D,0x000C925A,0x000C9257, -0x000C9254,0x000C9251,0x000C924E,0x000C924B,0x000C9248,0x000C9245,0x000C9242,0x000C923F,0x000C923C,0x000C9239, -0x000C9236,0x000C9233,0x000C9230,0x000C922D,0x000C922A,0x000C9227,0x80000ABD,0x81000ABE,0x82000ABF,0x000C9224, -0x000C9221,0x000C921E,0x000C921B,0x86000A5A,0x87000A61,0x80000ADC,0x81000ADD,0x82000ADE,0x000C9218,0x86000A8A, -0x87000A9A,0x000C9215,0x000C9212,0x000C920F,0x000C920C,0x000C9209,0x000C9206,0x000C9203,0x000C9200,0x000C91FD, -0x000C91FA,0x000C91F7,0x000C91F4,0x000C91F1,0x000C91EE,0x000C91EB,0xE1000990,0x000C91E8,0x000C91E5,0x000C91E2, -0x000C91DF,0x000C91DC,0x000C91D9,0x000C91D6,0x000C91D3,0x000C91D0,0x000C91CD,0x000C91CA,0xA8000AC1,0xA9000AC2, -0xAA000AC3,0xAB000AC4,0xAC000AC5,0xAD000AC6,0xAE000AC7,0xAF000AC8,0xB0000AC9,0xB1000ACA,0xB2000ACB,0xB3000ACC, -0xB4000ACD,0xB5000ACE,0xB6000ACF,0xB7000AD0,0xB8000AD1,0xB9000AD2,0xBA000AD3,0xBB000AD4,0xBC000AD5,0xBD000AD6, -0xBE000AD7,0xBF000ADB,0x80000B00,0x81000B01,0x82000B1D,0x000C91C7,0x000C91C4,0x86000AA2,0x87000AF6,0x000C91C1, -0x000C91BE,0x000C91BB,0x000C91B8,0x000C91B5,0x000C91B2,0x000C91AF,0x000C91AC,0x000C91A9,0x000C91A6,0x000C91A3, -0x000C91A0,0xE10009D9,0x000C919D,0x000C919A,0x000C9197,0x000C9194,0xA8000AE7,0xA9000AE8,0xAA000AE9,0xAB000AEA, -0xAC000AEB,0xAD000AEC,0xAE000AED,0xAF000AEE,0xB0000AEF,0xB1000AF0,0xB2000AF1,0xB3000AF2,0xB4000AF3,0xB5000AF4, -0xB6000AF5,0xB7000AF7,0xB8000AF8,0xB9000AF9,0xBA000AFA,0xBB000AFB,0xBC000AFC,0xBD000AFD,0xBE000AFE,0xBF000AFF, -0xA8000B21,0xA9000B22,0xAA000B23,0xAB000B24,0xAC000B25,0xAD000B26,0xAE000B27,0xAF000B28,0xB0000B29,0xB1000B2A, -0xB2000B2B,0xB3000B2C,0xB4000B2E,0xB5000B2F,0xB6000B30,0xB7000B31,0xB8000B62,0xB9000B63,0xBA000B64,0xBB000B65, -0xBC000B66,0xBD000B67,0xBE000B68,0xBF000B69,0x000C9191,0x000C918E,0x000C918B,0x000C9188,0x000C9185,0x000C9182, -0x000C917F,0x000C917C,0xE1000A04,0x000C9179,0x000C9176,0x000C9173,0x000C9170,0x000C916D,0x000C916A,0x000C9167, -0x000C9164,0x000C9161,0x000C915E,0x000C915B,0x80000B6B,0x81000B6C,0x82000B6D,0x000C9158,0x000C9155,0x000C9152, -0x000C914F,0x000C914C,0x000C9149,0x000C9146,0x000C9143,0x000C9140,0x000C913D,0x000C913A,0x000C9137,0x000C9134, -0x000C9131,0x000C912E,0x86000B03,0x87000B0C,0x000C912B,0x000C9128,0x80000B8F,0x81000B90,0x82000B91,0x000C9125, -0x000C9122,0x000C911F,0x000C911C,0x86000B1F,0x87000B5F,0x000C9119,0x000C9116,0x000C9113,0x000C9110,0x000C910D, -0x000C910A,0x000C9107,0x000C9104,0x000C9101,0x000C90FE,0x000C90FB,0x000C90F8,0xE1000A59,0x000C90F5,0x000C90F2, -0x000C90EF,0x000C90EC,0x000C90E9,0x000C90E6,0x000C90E3,0x000C90E0,0x000C90DD,0xA8000B6F,0xA9000B70,0xAA000B71, -0xAB000B72,0xAC000B73,0xAD000B74,0xAE000B75,0xAF000B79,0xB0000B7A,0xB1000B7B,0xB2000B7C,0xB3000B7D,0xB4000B7E, -0xB5000B7F,0xB6000B80,0xB7000B81,0xB8000B82,0xB9000B83,0xBA000B84,0xBB000B85,0xBC000B86,0xBD000B87,0xBE000B8A, -0xBF000B8B,0x000C90DA,0x000C90D7,0xE1000A5F,0x000C90D4,0xA8000B95,0xA9000B96,0xAA000B97,0xAB000B98,0xAC000B99, -0xAD000B9A,0xAE000B9B,0xAF000B9C,0xB0000B9D,0xB1000B9E,0xB2000B9F,0xB3000BA0,0xB4000BA2,0xB5000BA3,0xB6000BA4, -0xB7000BA5,0xB8000BA6,0xB9000BA7,0xBA000BA8,0xBB000BA9,0xBC000BAA,0xBD000BC3,0xBE000BC4,0xBF000BC6,0x80000BE2, -0x81000BE3,0x82000BE4,0x000C90D1,0x000C90CE,0x000C90CB,0x000C90C8,0x86000B58,0x87000BA1,0x000C90C5,0x000C90C2, -0x000C90BF,0x000C90BC,0x000C90B9,0x000C90B6,0x000C90B3,0x000C90B0,0x000C90AD,0x000C90AA,0x000C90A7,0x000C90A4, -0x000C90A1,0x000C909E,0x000C909B,0x000C9098,0x000C9095,0x000C9092,0x000C908F,0x000C908C,0x000C9089,0x000C9086, -0x000C9083,0xE1000A99,0xA8000BE8,0xA9000BE9,0xAA000BEA,0xAB000BEB,0xAC000BEC,0xAD000BED,0xAE000BEE,0xAF000BEF, -0xB0000BF0,0xB1000BF1,0xB2000BF2,0xB3000BF3,0xB4000BF4,0xB5000BF5,0xB6000BF6,0xB7000BF7,0xB8000BF8,0xB9000BF9, -0xBA000BFA,0xBB000BFB,0xBC000BFC,0xBD000BFD,0xBE000BFE,0xBF000C18,0x000C9080,0x000C907D,0x000C907A,0x000C9077, -0x000C9074,0x000C9071,0x000C906E,0x000C906B,0x000C9068,0x80000C19,0x81000C1A,0x82000C1B,0x000C9065,0x000C9062, -0x000C905F,0x000C905C,0x000C9059,0x000C9056,0x000C9053,0x000C9050,0x000C904D,0x000C904A,0x000C9047,0x000C9044, -0x000C9041,0x86000B8C,0x87000BD3,0x000C903E,0xA8000C1D,0xA9000C1E,0xAA000C1F,0xAB000C20,0xAC000C24,0xAD000C25, -0xAE000C26,0xAF000C27,0xB0000C28,0xB1000C29,0xB2000C2A,0xB3000C2B,0xB4000C2C,0xB5000C2D,0xB6000C2E,0xB7000C2F, -0xB8000C30,0xB9000C33,0xBA000C4C,0xBB000C4D,0xBC000C4E,0xBD000C50,0xBE000C51,0xBF000C52,0x000C903B,0x000C9038, -0x000C9035,0xE1000B02,0x000C9032,0x000C902F,0x000C902C,0x80000C56,0x81000C57,0x82000C58,0x000C9029,0x000C9026, -0x000C9023,0x000C9020,0x86000BCC,0x87000C0D,0x000C901D,0x000C901A,0x000C9017,0x000C9014,0x000C9011,0x000C900E, -0x000C900B,0x000C9008,0x000C9005,0x000C9002,0x000C8FFF,0x000C8FFC,0x000C8FF9,0x000C8FF6,0x000C8FF3,0x000C8FF0, -0x000C8FED,0x000C8FEA,0x000C8FE7,0x000C8FE4,0x000C8FE1,0x000C8FDE,0x000C8FDB,0xE1000B0D,0xA8000C5C,0xA9000C5D, -0xAA000C5E,0xAB000C5F,0xAC000C60,0xAD000C61,0xAE000C62,0xAF000C63,0xB0000C64,0xB1000C65,0xB2000C66,0xB3000C67, -0xB4000C68,0xB5000C69,0xB6000C6A,0xB7000C6B,0xB8000C6C,0xB9000C6D,0xBA000C6E,0xBB000C6F,0xBC000C70,0xBD000C71, -0xBE000C72,0xBF000C8C,0x000C8FD8,0x80000C90,0x81000C91,0x82000C92,0x000C8FD5,0x000C8FD2,0x000C8FCF,0x000C8FCC, -0x86000BFF,0x87000C47,0x000C8FC9,0x000C8FC6,0x000C8FC3,0x000C8FC0,0x000C8FBD,0x000C8FBA,0x000C8FB7,0x000C8FB4, -0x000C8FB1,0x000C8FAE,0x000C8FAB,0x000C8FA8,0x000C8FA5,0x000C8FA2,0x000C8F9F,0x000C8F9C,0x000C8F99,0xA8000C96, -0xA9000C97,0xAA000C98,0xAB000C99,0xAC000C9A,0xAD000C9B,0xAE000C9C,0xAF000C9D,0xB0000C9E,0xB1000C9F,0xB2000CA0, -0xB3000CA1,0xB4000CA2,0xB5000CA3,0xB6000CA4,0xB7000CA5,0xB8000CA6,0xB9000CBF,0xBA000CC0,0xBB000CC1,0xBC000CC2, -0xBD000CC3,0xBE000CC4,0xBF000CC5,0x000C8F96,0x000C8F93,0x000C8F90,0x000C8F8D,0x000C8F8A,0x000C8F87,0x000C8F84, -0xE1000B60,0x80000CCA,0x81000CCB,0x82000CCC,0x000C8F81,0x000C8F7E,0x000C8F7B,0x000C8F78,0x86000C31,0x87000C81, -0x000C8F75,0x000C8F72,0x000C8F6F,0x000C8F6C,0x000C8F69,0x000C8F66,0x000C8F63,0x000C8F60,0x000C8F5D,0xA8000CD0, -0xA9000CD1,0xAA000CD2,0xAB000CD3,0xAC000CD4,0xAD000CD5,0xAE000CD6,0xAF000CD7,0xB0000CD8,0xB1000CF1,0xB2000CF2, -0xB3000CF3,0xB4000CF4,0xB5000CF5,0xB6000CF6,0xB7000CF7,0xB8000CF8,0xB9000CF9,0xBA000CFA,0xBB000CFB,0xBC000CFC, -0xBD000CFE,0xBE000CFF,0xBF000D00,0x000C8F5A,0x000C8F57,0x000C8F54,0x000C8F51,0x000C8F4E,0x000C8F4B,0x000C8F48, -0x000C8F45,0x000C8F42,0x000C8F3F,0x000C8F3C,0x000C8F39,0xE1000BAB,0x000C8F36,0x000C8F33,0x000C8F30,0x80000D04, -0x81000D05,0x82000D06,0x000C8F2D,0x000C8F2A,0x000C8F27,0x000C8F24,0x86000C73,0x87000CBB,0x000C8F21,0x000C8F1E, -0x000C8F1B,0x000C8F18,0x000C8F15,0x000C8F12,0x000C8F0F,0x000C8F0C,0x000C8F09,0x000C8F06,0x000C8F03,0x000C8F00, -0x000C8EFD,0x000C8EFA,0x000C8EF7,0x000C8EF4,0x000C8EF1,0xA8000D0A,0xA9000D0B,0xAA000D0C,0xAB000D0D,0xAC000D0E, -0xAD000D0F,0xAE000D10,0xAF000D11,0xB0000D12,0xB1000D13,0xB2000D14,0xB3000D15,0xB4000D16,0xB5000D17,0xB6000D18, -0xB7000D19,0xB8000D1A,0xB9000D33,0xBA000D34,0xBB000D35,0xBC000D36,0xBD000D37,0xBE000D38,0xBF000D39,0x000C8EEE, -0x000C8EEB,0x000C8EE8,0x000C8EE5,0x000C8EE2,0x000C8EDF,0x000C8EDC,0xE1000BD4,0x80000D3E,0x81000D3F,0x82000D40, -0x000C8ED9,0x000C8ED6,0x000C8ED3,0x000C8ED0,0x86000CA7,0x87000CFD,0x000C8ECD,0x000C8ECA,0x000C8EC7,0x000C8EC4, -0x000C8EC1,0x000C8EBE,0x000C8EBB,0x000C8EB8,0x000C8EB5,0x000C8EB2,0x000C8EAF,0xA8000D44,0xA9000D45,0xAA000D46, -0xAB000D47,0xAC000D48,0xAD000D49,0xAE000D4A,0xAF000D4B,0xB0000D4C,0xB1000D4D,0xB2000D4E,0xB3000D67,0xB4000D68, -0xB5000D69,0xB6000D6A,0xB7000D6B,0xB8000D6C,0xB9000D6D,0xBA000D6E,0xBB000D6F,0xBC000D70,0xBD000D71,0xBE000D72, -0xBF000D73,0x000C8EAC,0x000C8EA9,0x000C8EA6,0x000C8EA3,0x000C8EA0,0x000C8E9D,0x000C8E9A,0x000C8E97,0x000C8E94, -0x000C8E91,0x000C8E8E,0x000C8E8B,0x000C8E88,0xE1000C0E,0x000C8E85,0x000C8E82,0x000C8E7F,0x000C8E7C,0x000C8E79, -0x000C8E76,0x000C8E73,0x000C8E70,0x80000D75,0x81000D76,0x82000D77,0x000C8E6D,0x000C8E6A,0x000C8E67,0x000C8E64, -0x000C8E61,0x000C8E5E,0x000C8E5B,0x86000CE1,0x87000D2F,0xA8000D79,0xA9000D7A,0xAA000D7B,0xAB000D7C,0xAC000D80, -0xAD000D81,0xAE000D82,0xAF000D83,0xB0000D84,0xB1000D85,0xB2000D86,0xB3000DA1,0xB4000DA2,0xB5000DA3,0xB6000DA4, -0xB7000DA5,0xB8000DA6,0xB9000DA7,0xBA000DA8,0xBB000DA9,0xBC000DAA,0xBD000DAB,0xBE000DAC,0xBF000DAD,0x000C8E58, -0x000C8E55,0x000C8E52,0x000C8E4F,0x000C8E4C,0x000C8E49,0x000C8E46,0x000C8E43,0x000C8E40,0x000C8E3D,0x000C8E3A, -0x000C8E37,0x000C8E34,0xE1000C48,0x80000DB2,0x81000DB3,0x82000DB4,0x000C8E31,0x000C8E2E,0x000C8E2B,0x000C8E28, -0x86000D1B,0x87000D74,0x000C8E25,0x000C8E22,0x000C8E1F,0x000C8E1C,0x000C8E19,0x000C8E16,0x000C8E13,0x000C8E10, -0x000C8E0D,0x000C8E0A,0x000C8E07,0xA8000DB8,0xA9000DB9,0xAA000DBA,0xAB000DBB,0xAC000DBC,0xAD000DBD,0xAE000DBE, -0xAF000DBF,0xB0000DC0,0xB1000DC1,0xB2000DC2,0xB3000DDB,0xB4000DDC,0xB5000DDD,0xB6000DDE,0xB7000DDF,0xB8000DE0, -0xB9000DE1,0xBA000DE2,0xBB000DE3,0xBC000DE4,0xBD000DE5,0xBE000DE6,0xBF000DE7,0x000C8E04,0x000C8E01,0x000C8DFE, -0x000C8DFB,0x000C8DF8,0x000C8DF5,0x000C8DF2,0x000C8DEF,0x000C8DEC,0x000C8DE9,0x000C8DE6,0x000C8DE3,0x000C8DE0, -0xE1000C82,0x000C8DDD,0x000C8DDA,0x000C8DD7,0x000C8DD4,0x000C8DD1,0x000C8DCE,0x000C8DCB,0x000C8DC8,0x000C8DC5, -0x000C8DC2,0x000C8DBF,0x80000DE9,0x81000DEA,0x82000DEB,0x000C8DBC,0x000C8DB9,0x000C8DB6,0x000C8DB3,0x000C8DB0, -0x000C8DAD,0x000C8DAA,0x000C8DA7,0x000C8DA4,0x000C8DA1,0x000C8D9E,0x000C8D9B,0x86000D5D,0x87000DAE,0xA8000DED, -0xA9000DEE,0xAA000DEF,0xAB000DF0,0xAC000DF1,0xAD000DF2,0xAE000DF3,0xAF000DF7,0xB0000DF8,0xB1000DF9,0xB2000DFA, -0xB3000DFB,0xB4000DFC,0xB5000DFD,0xB6000DFE,0xB7000DFF,0xB8000E00,0xB9000E01,0xBA000E02,0xBB000E1D,0xBC000E1E, -0xBD000E1F,0xBE000E20,0xBF000E21,0x000C8D98,0x000C8D95,0x000C8D92,0x000C8D8F,0x000C8D8C,0xE1000CBC,0x000C8D89, -0x000C8D86,0x000C8D83,0x000C8D80,0x000C8D7D,0x000C8D7A,0x000C8D77,0x000C8D74,0x000C8D71,0x000C8D6E,0x000C8D6B, -0x80000E23,0x81000E24,0x82000E25,0xE1000DAF,0x000C8D68,0x000C8D65,0x85000D94,0xA1000E26,0xA2000E7A,0xA3000EB4, -0xA4000ED3,0xA5000F25,0xA6000F62,0xA7000F9C,0xA8000FD3,0xA9001010,0xAA00104A,0xAB001081,0xAC0010BB,0xAD0010F8, -0xAE00112F,0xAF001153,0xB00011A3,0xB10011DD,0xB200121A,0xB3001254,0xB400128E,0xB50012C8,0x86000DB6,0x87000DF6, -0x000C8D62,0x000C8D5F,0x000C8D5C,0x000C8D59,0x000C8D56,0x000C8D53,0x000C8D50,0x000C8D4D,0x000C8D4A,0x000C8D47, -0x000C8D44,0x000C8D41,0x000C8D3E,0xE1000D01,0x000C8D3B,0x000C8D38,0x000C8D35,0x000C8D32,0xA8000E27,0xA9000E28, -0xAA000E29,0xAB000E2A,0xAC000E2B,0xAD000E2C,0xAE000E2D,0xAF000E32,0xB0000E33,0xB1000E4C,0xB2000E4D,0xB3000E4E, -0xB4000E4F,0xB5000E50,0xB6000E51,0xB7000E52,0xB8000E53,0xB9000E54,0xBA000E55,0xBB000E56,0xBC000E57,0xBD000E58, -0xBE000E5A,0xBF000E5B,0x80000E5C,0x81000E5D,0x82000E79,0x000C8D2F,0x000C8D2C,0x86000DD5,0x87000E2E,0xA8000E95, -0xA9000E97,0xAA000E98,0xAB000E99,0xAC000E9A,0xAD000E9B,0xAE000E9C,0xAF000E9D,0xB0000E9E,0xB1000E9F,0xB2000EA0, -0xB3000EA1,0xB4000EA2,0xB5000EA3,0xB6000EA4,0xB7000EA5,0xB8000EA6,0xB9000EA7,0xBA000EA8,0xBB000EA9,0xBC000EAA, -0xBD000EAB,0xBE000EAC,0xBF000EAD,0x000C8D29,0xE1000D30,0x000C8D26,0x000C8D23,0x000C8D20,0x000C8D1D,0x000C8D1A, -0x000C8D17,0x000C8D14,0x000C8D11,0x000C8D0E,0x000C8D0B,0x000C8D08,0x000C8D05,0x000C8D02,0x000C8CFF,0x000C8CFC, -0x000C8CF9,0x000C8CF6,0x000C8CF3,0x000C8CF0,0x000C8CED,0x000C8CEA,0x000C8CE7,0x000C8CE4,0x80000EB1,0x81000EB2, -0x82000EB3,0x000C8CE1,0x000C8CDE,0x000C8CDB,0x000C8CD8,0x86000E30,0x87000E70,0x000C8CD5,0x000C8CD2,0x000C8CCF, -0x000C8CCC,0x000C8CC9,0x000C8CC6,0x000C8CC3,0x000C8CC0,0x000C8CBD,0x000C8CBA,0x000C8CB7,0x000C8CB4,0x000C8CB1, -0x000C8CAE,0x000C8CAB,0x000C8CA8,0x000C8CA5,0x000C8CA2,0x000C8C9F,0x000C8C9C,0x000C8C99,0x000C8C96,0xE1000D7D, -0x000C8C93,0x000C8C90,0x000C8C8D,0x000C8C8A,0x000C8C87,0x000C8C84,0x000C8C81,0x000C8C7E,0x000C8C7B,0x000C8C78, -0xA8000EB7,0xA9000EB8,0xAA000EB9,0xAB000EBA,0xAC000EBB,0xAD000EBC,0xAE000EBD,0xAF000EBE,0xB0000EBF,0xB1000EC0, -0xB2000EC1,0xB3000EC2,0xB4000EC3,0xB5000EC4,0xB6000EC5,0xB7000EC6,0xB8000EC7,0xB9000EC8,0xBA000EC9,0xBB000ECA, -0xBC000ECB,0xBD000ECC,0xBE000ECE,0xBF000ECF,0x80000ED0,0x81000ED1,0x82000ED2,0x86000E60,0x87000EAE,0x000C8C75, -0x000C8C72,0x000C8C6F,0x000C8C6C,0x000C8C69,0x000C8C66,0x000C8C63,0x000C8C60,0x000C8C5D,0x000C8C5A,0x000C8C57, -0x000C8C54,0x000C8C51,0x000C8C4E,0x000C8C4B,0x000C8C48,0x000C8C45,0x000C8C42,0xE1000DC4,0xA8000ED4,0xA9000ED5, -0xAA000ED6,0xAB000ED7,0xAC000EF5,0xAD000EF6,0xAE000EF7,0xAF000EF8,0xB0000EF9,0xB1000EFA,0xB2000EFB,0xB3000EFC, -0xB4000EFD,0xB5000EFE,0xB6000EFF,0xB7000F00,0xB8000F01,0xB9000F02,0xBA000F03,0xBB000F04,0xBC000F05,0xBD000F06, -0xBE000F20,0xBF000F21,0x000C8C3F,0x000C8C3C,0x000C8C39,0x000C8C36,0x000C8C33,0x000C8C30,0x000C8C2D,0x000C8C2A, -0x000C8C27,0x000C8C24,0x000C8C21,0x000C8C1E,0x000C8C1B,0x000C8C18,0x80000F22,0x81000F23,0x82000F24,0x000C8C15, -0x000C8C12,0x000C8C0F,0x000C8C0C,0x86000E8F,0x87000EDC,0xA8000F26,0xA9000F27,0xAA000F28,0xAB000F29,0xAC000F2A, -0xAD000F2B,0xAE000F2C,0xAF000F2D,0xB0000F31,0xB1000F32,0xB2000F33,0xB3000F34,0xB4000F4F,0xB5000F50,0xB6000F51, -0xB7000F52,0xB8000F53,0xB9000F54,0xBA000F55,0xBB000F56,0xBC000F57,0xBD000F58,0xBE000F59,0xBF000F5A,0x000C8C09, -0x000C8C06,0x000C8C03,0x000C8C00,0x000C8BFD,0x000C8BFA,0x000C8BF7,0x000C8BF4,0x000C8BF1,0x000C8BEE,0x000C8BEB, -0x000C8BE8,0xE1000DF5,0x80000F5F,0x81000F60,0x82000F61,0x000C8BE5,0x000C8BE2,0x000C8BDF,0x000C8BDC,0x86000ECD, -0x87000F16,0x000C8BD9,0x000C8BD6,0x000C8BD3,0x000C8BD0,0x000C8BCD,0x000C8BCA,0x000C8BC7,0x000C8BC4,0x000C8BC1, -0x000C8BBE,0x000C8BBB,0x000C8BB8,0x000C8BB5,0x000C8BB2,0x000C8BAF,0x000C8BAC,0xA8000F65,0xA9000F66,0xAA000F67, -0xAB000F68,0xAC000F69,0xAD000F6A,0xAE000F6B,0xAF000F6C,0xB0000F6D,0xB1000F6E,0xB2000F6F,0xB3000F70,0xB4000F71, -0xB5000F72,0xB6000F73,0xB7000F74,0xB8000F8D,0xB9000F8E,0xBA000F8F,0xBB000F90,0xBC000F91,0xBD000F92,0xBE000F93, -0xBF000F94,0x000C8BA9,0x000C8BA6,0x000C8BA3,0x000C8BA0,0x000C8B9D,0x000C8B9A,0x000C8B97,0x000C8B94,0xE1000E2F, -0x80000F99,0x81000F9A,0x82000F9B,0x000C8B91,0x000C8B8E,0x000C8B8B,0x000C8B88,0x86000F0D,0x87000F5B,0x000C8B85, -0x000C8B82,0x000C8B7F,0x000C8B7C,0x000C8B79,0x000C8B76,0x000C8B73,0x000C8B70,0x000C8B6D,0x000C8B6A,0x000C8B67, -0x000C8B64,0x000C8B61,0x000C8B5E,0x000C8B5B,0x000C8B58,0x000C8B55,0x000C8B52,0x000C8B4F,0x000C8B4C,0x000C8B49, -0xE1000E6D,0xA8000F9F,0xA9000FA0,0xAA000FA1,0xAB000FA2,0xAC000FA3,0xAD000FA4,0xAE000FA5,0xAF000FA6,0xB0000FA7, -0xB1000FA8,0xB2000FA9,0xB3000FAA,0xB4000FAB,0xB5000FAC,0xB6000FAD,0xB7000FAE,0xB8000FAF,0xB9000FB0,0xBA000FB1, -0xBB000FB2,0xBC000FB3,0xBD000FCD,0xBE000FCE,0xBF000FCF,0x000C8B46,0x000C8B43,0x000C8B40,0x000C8B3D,0x000C8B3A, -0x000C8B37,0x000C8B34,0x86000F36,0x87000F8A,0x000C8B31,0x000C8B2E,0x000C8B2B,0x000C8B28,0x000C8B25,0x80000FD0, -0x81000FD1,0x82000FD2,0xA8000FD6,0xA9000FD7,0xAA000FD8,0xAB000FD9,0xAC000FDA,0xAD000FF6,0xAE000FF7,0xAF000FF8, -0xB0000FF9,0xB1000FFA,0xB2000FFB,0xB3000FFC,0xB4000FFD,0xB5000FFE,0xB6000FFF,0xB7001000,0xB8001001,0xB9001002, -0xBA001003,0xBB001004,0xBC001005,0xBD001007,0xBE001008,0xBF001009,0x000C8B22,0x000C8B1F,0x000C8B1C,0x000C8B19, -0x000C8B16,0x000C8B13,0x000C8B10,0x000C8B0D,0x000C8B0A,0x000C8B07,0x000C8B04,0x000C8B01,0x000C8AFE,0x000C8AFB, -0x000C8AF8,0x000C8AF5,0xE1000EAF,0x000C8AF2,0x000C8AEF,0x000C8AEC,0x8000100D,0x8100100E,0x8200100F,0x000C8AE9, -0x000C8AE6,0x000C8AE3,0x000C8AE0,0x86000F75,0x87000FC4,0x000C8ADD,0x000C8ADA,0x000C8AD7,0x000C8AD4,0x000C8AD1, -0x000C8ACE,0x000C8ACB,0x000C8AC8,0x000C8AC5,0x000C8AC2,0xA8001013,0xA9001014,0xAA001015,0xAB001016,0xAC001017, -0xAD001018,0xAE001019,0xAF00101A,0xB000101B,0xB100101C,0xB2001035,0xB3001036,0xB4001037,0xB5001038,0xB6001039, -0xB700103A,0xB800103B,0xB900103C,0xBA00103D,0xBB00103E,0xBC00103F,0xBD001040,0xBE001041,0xBF001042,0x000C8ABF, -0x000C8ABC,0x000C8AB9,0x000C8AB6,0x000C8AB3,0x000C8AB0,0x000C8AAD,0x000C8AAA,0x000C8AA7,0x000C8AA4,0x000C8AA1, -0x000C8A9E,0x000C8A9B,0x000C8A98,0xE1000EDD,0x80001047,0x81001048,0x82001049,0x000C8A95,0x000C8A92,0x000C8A8F, -0x000C8A8C,0x86000FB4,0x87001006,0x000C8A89,0x000C8A86,0x000C8A83,0x000C8A80,0x000C8A7D,0x000C8A7A,0x000C8A77, -0x000C8A74,0x000C8A71,0x000C8A6E,0x000C8A6B,0x000C8A68,0x000C8A65,0x000C8A62,0x000C8A5F,0xA800104D,0xA900104E, -0xAA00104F,0xAB001050,0xAC001051,0xAD001052,0xAE001053,0xAF001054,0xB0001055,0xB1001056,0xB2001057,0xB3001058, -0xB4001059,0xB500105A,0xB600105B,0xB7001074,0xB8001075,0xB9001076,0xBA001077,0xBB001078,0xBC001079,0xBD00107A, -0xBE00107B,0xBF00107C,0x000C8A5C,0x000C8A59,0x000C8A56,0x000C8A53,0x000C8A50,0x000C8A4D,0x000C8A4A,0x000C8A47, -0x000C8A44,0xE1000F17,0x000C8A41,0x000C8A3E,0x000C8A3B,0x000C8A38,0x000C8A35,0x000C8A32,0x000C8A2F,0x000C8A2C, -0x8000107E,0x8100107F,0x82001080,0x000C8A29,0x000C8A26,0x000C8A23,0x000C8A20,0x000C8A1D,0x000C8A1A,0x000C8A17, -0x86000FEA,0x87001043,0xA8001082,0xA9001083,0xAA001084,0xAB001085,0xAC001089,0xAD00108A,0xAE00108B,0xAF00108C, -0xB000108D,0xB100108E,0xB200108F,0xB30010AA,0xB40010AB,0xB50010AC,0xB60010AD,0xB70010AE,0xB80010AF,0xB90010B0, -0xBA0010B1,0xBB0010B2,0xBC0010B3,0xBD0010B5,0xBE0010B6,0xBF0010B7,0x000C8A14,0x000C8A11,0x000C8A0E,0x000C8A0B, -0x000C8A08,0x000C8A05,0x000C8A02,0x000C89FF,0x000C89FC,0x000C89F9,0xE1000F4E,0x000C89F6,0x000C89F3,0x000C89F0, -0x000C89ED,0x000C89EA,0x000C89E7,0x000C89E4,0x000C89E1,0x000C89DE,0x000C89DB,0x000C89D8,0x000C89D5,0x000C89D2, -0x000C89CF,0x800010B8,0x810010B9,0x820010BA,0x000C89CC,0x000C89C9,0x000C89C6,0x000C89C3,0x86001024,0x87001072, -0xA80010BC,0xA90010BD,0xAA0010BE,0xAB0010BF,0xAC0010C0,0xAD0010C1,0xAE0010C2,0xAF0010C6,0xB00010C7,0xB10010C8, -0xB20010C9,0xB30010E4,0xB40010E5,0xB50010E6,0xB60010E7,0xB70010E8,0xB80010E9,0xB90010EA,0xBA0010EB,0xBB0010EC, -0xBC0010ED,0xBD0010EE,0xBE0010EF,0xBF0010F0,0x000C89C0,0x000C89BD,0x000C89BA,0x000C89B7,0x000C89B4,0x000C89B1, -0x000C89AE,0x000C89AB,0x000C89A8,0x000C89A5,0x000C89A2,0x000C899F,0x000C899C,0xE1000F8B,0x800010F5,0x810010F6, -0x820010F7,0x000C8999,0x000C8996,0x000C8993,0x000C8990,0x8600105C,0x870010B4,0x000C898D,0x000C898A,0x000C8987, -0x000C8984,0x000C8981,0x000C897E,0x000C897B,0x000C8978,0x000C8975,0xA80010FB,0xA90010FC,0xAA0010FD,0xAB0010FE, -0xAC0010FF,0xAD001100,0xAE001101,0xAF001102,0xB0001103,0xB100111C,0xB200111D,0xB300111E,0xB400111F,0xB5001120, -0xB6001121,0xB7001122,0xB8001123,0xB9001124,0xBA001125,0xBB001126,0xBC001127,0xBD001128,0xBE001129,0xBF00112A, -0x000C8972,0x000C896F,0x000C896C,0x000C8969,0x000C8966,0x000C8963,0x000C8960,0x000C895D,0x000C895A,0x000C8957, -0x000C8954,0x000C8951,0x000C894E,0x000C894B,0x000C8948,0xE1000FC5,0x000C8945,0x000C8942,0x000C893F,0x000C893C, -0x000C8939,0x000C8936,0x000C8933,0x000C8930,0x8000112C,0x8100112D,0x8200112E,0x000C892D,0x000C892A,0x000C8927, -0x000C8924,0x000C8921,0x000C891E,0x000C891B,0x000C8918,0x000C8915,0x000C8912,0x000C890F,0x000C890C,0x000C8909, -0x000C8906,0x000C8903,0x000C8900,0x000C88FD,0x000C88FA,0x860010C4,0x870010CD,0x000C88F7,0x000C88F4,0x80001150, -0x81001151,0x82001152,0x000C88F1,0x000C88EE,0x000C88EB,0x000C88E8,0x860010DC,0x8700112B,0x000C88E5,0x000C88E2, -0x000C88DF,0x000C88DC,0x000C88D9,0x000C88D6,0x000C88D3,0x000C88D0,0x000C88CD,0x000C88CA,0x000C88C7,0x000C88C4, -0xE100100A,0x000C88C1,0x000C88BE,0x000C88BB,0x000C88B8,0x000C88B5,0x000C88B2,0x000C88AF,0x000C88AC,0x000C88A9, -0xA8001130,0xA9001131,0xAA001132,0xAB001133,0xAC001137,0xAD001138,0xAE001139,0xAF00113A,0xB000113B,0xB100113C, -0xB200113D,0xB300113E,0xB400113F,0xB5001140,0xB6001141,0xB7001142,0xB8001143,0xB9001144,0xBA001145,0xBB001146, -0xBC001147,0xBD001148,0xBE00114B,0xBF00114C,0xA8001156,0xA9001157,0xAA001158,0xAB001159,0xAC00115A,0xAD00115B, -0xAE00115C,0xAF00115D,0xB000115E,0xB100115F,0xB2001160,0xB3001161,0xB4001163,0xB5001164,0xB6001165,0xB7001166, -0xB8001167,0xB9001168,0xBA001169,0xBB00116A,0xBC00116B,0xBD00119D,0xBE00119E,0xBF00119F,0xE1001044,0x000C88A6, -0x000C88A3,0x000C88A0,0x000C889D,0x000C889A,0x000C8897,0x000C8894,0x000C8891,0x000C888E,0x000C888B,0x000C8888, -0x000C8885,0x000C8882,0x000C887F,0x800011A0,0x810011A1,0x820011A2,0x000C887C,0x000C8879,0x000C8876,0x000C8873, -0x000C8870,0x000C886D,0x000C886A,0x000C8867,0x000C8864,0x000C8861,0x000C885E,0x000C885B,0x86001114,0x87001162, -0xA80011A4,0xA90011A5,0xAA0011A6,0xAB0011A7,0xAC0011A8,0xAD0011A9,0xAE0011AA,0xAF0011AE,0xB00011AF,0xB10011B0, -0xB20011B1,0xB30011B2,0xB40011B3,0xB50011B4,0xB60011B5,0xB70011B6,0xB80011B7,0xB90011B8,0xBA0011B9,0xBB0011D4, -0xBC0011D5,0xBD0011D6,0xBE0011D7,0xBF0011D8,0x000C8858,0x000C8855,0x000C8852,0x000C884F,0x000C884C,0xE1001073, -0x000C8849,0x000C8846,0x000C8843,0x000C8840,0x000C883D,0x000C883A,0x000C8837,0x000C8834,0x800011DA,0x810011DB, -0x820011DC,0x000C8831,0x000C882E,0x000C882B,0x000C8828,0x000C8825,0x000C8822,0x000C881F,0x000C881C,0x000C8819, -0x000C8816,0x000C8813,0x000C8810,0x000C880D,0x8600114D,0x87001194,0x000C880A,0xA80011DE,0xA90011DF,0xAA0011E0, -0xAB0011E1,0xAC0011E5,0xAD0011E6,0xAE0011E7,0xAF0011E8,0xB00011E9,0xB10011EA,0xB20011EB,0xB30011EC,0xB40011ED, -0xB50011EE,0xB60011EF,0xB70011F0,0xB80011F1,0xB90011F4,0xBA00120D,0xBB00120E,0xBC00120F,0xBD001211,0xBE001212, -0xBF001213,0x000C8807,0x000C8804,0x000C8801,0xE10010C3,0x000C87FE,0x000C87FB,0x000C87F8,0x80001217,0x81001218, -0x82001219,0x000C87F5,0x000C87F2,0x000C87EF,0x000C87EC,0x8600118D,0x870011CE,0x000C87E9,0x000C87E6,0x000C87E3, -0x000C87E0,0x000C87DD,0x000C87DA,0x000C87D7,0x000C87D4,0x000C87D1,0x000C87CE,0x000C87CB,0x000C87C8,0x000C87C5, -0x000C87C2,0x000C87BF,0x000C87BC,0x000C87B9,0x000C87B6,0x000C87B3,0x000C87B0,0x000C87AD,0x000C87AA,0x000C87A7, -0xE10010CE,0xA800121D,0xA900121E,0xAA00121F,0xAB001220,0xAC001221,0xAD001222,0xAE001223,0xAF001224,0xB0001225, -0xB1001226,0xB2001227,0xB3001228,0xB4001229,0xB500122A,0xB600122B,0xB700122C,0xB800122D,0xB900122E,0xBA00122F, -0xBB001230,0xBC001231,0xBD001232,0xBE001233,0xBF00124D,0x000C87A4,0x80001251,0x81001252,0x82001253,0x000C87A1, -0x000C879E,0x000C879B,0x000C8798,0x860011BA,0x87001208,0x000C8795,0x000C8792,0x000C878F,0x000C878C,0x000C8789, -0x000C8786,0x000C8783,0x000C8780,0x000C877D,0x000C877A,0x000C8777,0xA8001257,0xA9001258,0xAA001259,0xAB00125A, -0xAC00125B,0xAD00125C,0xAE00125D,0xAF00125E,0xB000125F,0xB1001260,0xB2001261,0xB300127A,0xB400127B,0xB500127C, -0xB600127D,0xB700127E,0xB800127F,0xB9001280,0xBA001281,0xBB001282,0xBC001283,0xBD001285,0xBE001286,0xBF001287, -0x000C8774,0x000C8771,0x000C876E,0x000C876B,0x000C8768,0x000C8765,0x000C8762,0x000C875F,0x000C875C,0x000C8759, -0xE1001134,0x000C8756,0x000C8753,0x000C8750,0x8000128B,0x8100128C,0x8200128D,0x000C874D,0x000C874A,0x000C8747, -0x000C8744,0x860011F2,0x87001242,0x000C8741,0x000C873E,0x000C873B,0x000C8738,0x000C8735,0x000C8732,0x000C872F, -0x000C872C,0x000C8729,0xA8001291,0xA9001292,0xAA001293,0xAB001294,0xAC001295,0xAD001296,0xAE001297,0xAF001298, -0xB0001299,0xB10012B2,0xB20012B3,0xB30012B4,0xB40012B5,0xB50012B6,0xB60012B7,0xB70012B8,0xB80012B9,0xB90012BA, -0xBA0012BB,0xBB0012BC,0xBC0012BD,0xBD0012BF,0xBE0012C0,0xBF0012C1,0x000C8726,0x000C8723,0x000C8720,0x000C871D, -0x000C871A,0x000C8717,0x000C8714,0x000C8711,0x000C870E,0x000C870B,0x000C8708,0x000C8705,0xE100116C,0x000C8702, -0x000C86FF,0x000C86FC,0x800012C5,0x810012C6,0x820012C7,0x000C86F9,0x000C86F6,0x000C86F3,0x000C86F0,0x86001234, -0x87001284,0x000C86ED,0x000C86EA,0x000C86E7,0x000C86E4,0x000C86E1,0x000C86DE,0x000C86DB,0x000C86D8,0x000C86D5, -0x000C86D2,0x000C86CF,0x000C86CC,0x000C86C9,0x000C86C6,0x000C86C3,0x000C86C0,0x000C86BD,0xA80012CB,0xA90012CC, -0xAA0012CD,0xAB0012CE,0xAC0012CF,0xAD0012D0,0xAE0012D1,0xAF0012D2,0xB00012D3,0xB10012D4,0xB20012D5,0xB30012D6, -0xB40012D7,0xB50012D8,0xB60012D9,0xB70012DA,0xB80012DB,0xB90012F4,0xBA0012F5,0xBB0012F6,0xBC0012F7,0xBD0012F8, -0xBE0012F9,0xBF0012FA,0x000C86BA,0x000C86B7,0x000C86B4,0x000C86B1,0x000C86AE,0x000C86AB,0x000C86A8,0xE1001195, -0x000C86A5,0x000C86A2,0x000C869F,0x000C869C,0x000C8699,0x000C8696,0x000C8693,0x000C8690,0x800012FC,0x810012FD, -0x820012FE,0x000C868D,0x000C868A,0x000C8687,0x000C8684,0x000C8681,0x000C867E,0x85001276,0x000C867B,0x8600128F, -0x870012DC,0x000C8678,0x000C8675,0x000C8672,0x000C866F,0x000C866C,0xE1001288,0xA10012FF,0xA2001350,0xA300138A, -0xA40013C7,0xA5001401,0xA6001438,0xA7001475,0xA80014AC,0xA90014D0,0xAA001507,0xAB00155A,0xAC001594,0xAD0015D1, -0xAE00160B,0xAF001645,0xB000167F,0xB10016B6,0xB20016F3,0xB300172D,0xB4001764,0xB500179E,0x000C8669,0x000C8666, -0x000C8663,0x000C8660,0x000C865D,0x000C865A,0x000C8657,0x000C8654,0x000C8651,0xE10011CF,0x000C864E,0xA8001300, -0xA9001301,0xAA001302,0xAB001303,0xAC001307,0xAD001308,0xAE001309,0xAF00130A,0xB000130B,0xB100130C,0xB200130E, -0xB3001311,0xB4001312,0xB5001313,0xB6001314,0xB7001315,0xB800132C,0xB900132D,0xBA00132E,0xBB00132F,0xBC001330, -0xBD001331,0xBE001332,0xBF001333,0x000C864B,0x000C8648,0x000C8645,0x000C8642,0x000C863F,0x000C863C,0x000C8639, -0x000C8636,0x000C8633,0x000C8630,0x000C862D,0x000C862A,0x000C8627,0x80001334,0x81001336,0x8200134F,0x000C8624, -0x000C8621,0x000C861E,0x000C861B,0x860012C9,0x8700130D,0x000C8618,0x000C8615,0x000C8612,0x000C860F,0x000C860C, -0x000C8609,0x000C8606,0x000C8603,0x000C8600,0x000C85FD,0xE1001209,0x000C85FA,0xA8001351,0xA9001352,0xAA001353, -0xAB001354,0xAC001355,0xAD001356,0xAE001357,0xAF001358,0xB0001359,0xB100135A,0xB200135B,0xB300135F,0xB4001360, -0xB5001361,0xB6001362,0xB7001365,0xB8001366,0xB9001367,0xBA001368,0xBB001369,0xBC00136A,0xBD00136B,0xBE00136C, -0xBF00136D,0x000C85F7,0x000C85F4,0x860012E8,0x87001341,0x8000136E,0x81001370,0x82001389,0xA80013A8,0xA90013AA, -0xAA0013AB,0xAB0013AC,0xAC0013AD,0xAD0013AE,0xAE0013AF,0xAF0013B0,0xB00013B1,0xB10013B2,0xB20013B3,0xB30013B4, -0xB40013B5,0xB50013B6,0xB60013B7,0xB70013B8,0xB80013B9,0xB90013BA,0xBA0013BB,0xBB0013BC,0xBC0013BD,0xBD0013BE, -0xBE0013BF,0xBF0013C0,0x000C85F1,0xE1001243,0x000C85EE,0x000C85EB,0x000C85E8,0x000C85E5,0x000C85E2,0x000C85DF, -0x000C85DC,0x000C85D9,0x000C85D6,0x000C85D3,0x000C85D0,0x000C85CD,0x000C85CA,0x000C85C7,0x000C85C4,0x000C85C1, -0x000C85BE,0x000C85BB,0x000C85B8,0x000C85B5,0x000C85B2,0x000C85AF,0x000C85AC,0x800013C4,0x810013C5,0x820013C6, -0x000C85A9,0x000C85A6,0x000C85A3,0x000C85A0,0x86001339,0x8700137B,0x000C859D,0x000C859A,0x000C8597,0x000C8594, -0x000C8591,0x000C858E,0x000C858B,0x000C8588,0x000C8585,0x000C8582,0x000C857F,0x000C857C,0x000C8579,0x000C8576, -0x000C8573,0x000C8570,0x000C856D,0x000C856A,0x000C8567,0x000C8564,0x000C8561,0x000C855E,0xE1001289,0xA80013CA, -0xA90013CB,0xAA0013CC,0xAB0013CD,0xAC0013CE,0xAD0013CF,0xAE0013D0,0xAF0013D1,0xB00013D2,0xB10013D3,0xB20013D4, -0xB30013D5,0xB40013D6,0xB50013D7,0xB60013D8,0xB70013D9,0xB80013DA,0xB90013DB,0xBA0013DC,0xBB0013DD,0xBC0013DE, -0xBD0013DF,0xBE0013F9,0xBF0013FA,0x000C855B,0x000C8558,0x800013FE,0x810013FF,0x82001400,0x000C8555,0x000C8552, -0x000C854F,0x000C854C,0x8600135C,0x870013C1,0xA800141C,0xA900141D,0xAA00141E,0xAB00141F,0xAC001420,0xAD001421, -0xAE001422,0xAF001423,0xB0001424,0xB1001425,0xB2001426,0xB3001427,0xB4001428,0xB5001429,0xB600142A,0xB700142B, -0xB800142C,0xB900142D,0xBA00142E,0xBB00142F,0xBC001430,0xBD001432,0xBE001433,0xBF001434,0x000C8549,0x000C8546, -0x000C8543,0x000C8540,0x000C853D,0x000C853A,0x000C8537,0x000C8534,0x000C8531,0x000C852E,0x000C852B,0x000C8528, -0x000C8525,0x000C8522,0x000C851F,0x000C851C,0x000C8519,0x000C8516,0x000C8513,0x000C8510,0x000C850D,0xE10012DD, -0x000C850A,0x000C8507,0x000C8504,0x000C8501,0x000C84FE,0x000C84FB,0x000C84F8,0x000C84F5,0x000C84F2,0x000C84EF, -0x000C84EC,0x000C84E9,0x000C84E6,0x000C84E3,0x000C84E0,0x80001435,0x81001436,0x82001437,0x000C84DD,0x000C84DA, -0x000C84D7,0x000C84D4,0x860013A2,0x870013EF,0xA8001439,0xA900143A,0xAA00143B,0xAB00143C,0xAC00143D,0xAD00143E, -0xAE00143F,0xAF001440,0xB0001444,0xB1001445,0xB2001446,0xB3001447,0xB4001462,0xB5001463,0xB6001464,0xB7001465, -0xB8001466,0xB9001467,0xBA001468,0xBB001469,0xBC00146A,0xBD00146C,0xBE00146D,0xBF00146E,0x000C84D1,0x000C84CE, -0x000C84CB,0x000C84C8,0x000C84C5,0x000C84C2,0x000C84BF,0x000C84BC,0x000C84B9,0xE1001305,0x000C84B6,0x000C84B3, -0x000C84B0,0x80001472,0x81001473,0x82001474,0x000C84AD,0x000C84AA,0x000C84A7,0x000C84A4,0x860013E0,0x87001431, -0x000C84A1,0x000C849E,0x000C849B,0x000C8498,0x000C8495,0x000C8492,0x000C848F,0x000C848C,0x000C8489,0x000C8486, -0x000C8483,0x000C8480,0x000C847D,0x000C847A,0x000C8477,0x000C8474,0xA8001478,0xA9001479,0xAA00147A,0xAB00147B, -0xAC00147C,0xAD00147D,0xAE00147E,0xAF00147F,0xB0001480,0xB1001481,0xB2001482,0xB3001483,0xB4001484,0xB5001485, -0xB6001486,0xB7001487,0xB80014A0,0xB90014A1,0xBA0014A2,0xBB0014A3,0xBC0014A4,0xBD0014A5,0xBE0014A6,0xBF0014A7, -0x000C8471,0x000C846E,0x000C846B,0x000C8468,0x000C8465,0x000C8462,0x000C845F,0x000C845C,0xE1001342,0x000C8459, -0x000C8456,0x000C8453,0x000C8450,0x000C844D,0x000C844A,0x000C8447,0x000C8444,0x800014A9,0x810014AA,0x820014AB, -0x000C8441,0x000C843E,0x000C843B,0x000C8438,0x000C8435,0x000C8432,0x000C842F,0x000C842C,0x000C8429,0x000C8426, -0x000C8423,0x000C8420,0x000C841D,0x000C841A,0x000C8417,0x000C8414,0x000C8411,0x000C840E,0x000C840B,0x86001442, -0x8700144A,0x000C8408,0x800014CD,0x810014CE,0x820014CF,0x000C8405,0x000C8402,0x000C83FF,0x000C83FC,0x86001476, -0x87001488,0x000C83F9,0x000C83F6,0x000C83F3,0x000C83F0,0x000C83ED,0x000C83EA,0x000C83E7,0x000C83E4,0x000C83E1, -0x000C83DE,0x000C83DB,0x000C83D8,0x000C83D5,0x000C83D2,0x000C83CF,0xE100137C,0x000C83CC,0x000C83C9,0x000C83C6, -0x000C83C3,0x000C83C0,0x000C83BD,0x000C83BA,0xA80014AD,0xA90014AE,0xAA0014AF,0xAB0014B0,0xAC0014B4,0xAD0014B5, -0xAE0014B6,0xAF0014B7,0xB00014B8,0xB10014B9,0xB20014BA,0xB30014BB,0xB40014BC,0xB50014BD,0xB60014BE,0xB70014BF, -0xB80014C0,0xB90014C1,0xBA0014C2,0xBB0014C3,0xBC0014C4,0xBD0014C5,0xBE0014C6,0xBF0014C9,0x000C83B7,0x000C83B4, -0x000C83B1,0x000C83AE,0x000C83AB,0x000C83A8,0x80001504,0x81001505,0x82001506,0x000C83A5,0x000C83A2,0x000C839F, -0x000C839C,0x8600148E,0x870014E2,0x000C8399,0x000C8396,0x000C8393,0x000C8390,0x000C838D,0x000C838A,0x000C8387, -0x000C8384,0xE10013C2,0x000C8381,0x000C837E,0x000C837B,0x000C8378,0xA80014D3,0xA90014D4,0xAA0014D5,0xAB0014D6, -0xAC0014D7,0xAD0014D8,0xAE0014D9,0xAF0014DA,0xB00014DB,0xB10014DC,0xB20014DD,0xB30014DE,0xB40014DF,0xB50014E0, -0xB60014E1,0xB70014E3,0xB80014E4,0xB90014E5,0xBA0014E6,0xBB0014E7,0xBC0014E8,0xBD0014E9,0xBE001502,0xBF001503, -0xA800150B,0xA900150C,0xAA00150D,0xAB00150E,0xAC001511,0xAD001512,0xAE001513,0xAF001514,0xB0001515,0xB1001516, -0xB2001517,0xB3001518,0xB400151A,0xB500151B,0xB600151C,0xB700151D,0xB800154E,0xB900154F,0xBA001550,0xBB001551, -0xBC001552,0xBD001553,0xBE001554,0xBF001555,0x000C8375,0x000C8372,0x000C836F,0x000C836C,0x000C8369,0x000C8366, -0x000C8363,0x000C8360,0xE10013F0,0x000C835D,0x000C835A,0x000C8357,0x000C8354,0x000C8351,0x000C834E,0x000C834B, -0x000C8348,0x000C8345,0x000C8342,0x000C833F,0x80001557,0x81001558,0x82001559,0x000C833C,0x000C8339,0x000C8336, -0x000C8333,0x000C8330,0x000C832D,0x000C832A,0x000C8327,0x000C8324,0x000C8321,0x000C831E,0x860014CA,0x87001519, -0xA800155B,0xA900155C,0xAA00155D,0xAB00155E,0xAC00155F,0xAD001560,0xAE001561,0xAF001565,0xB0001566,0xB1001567, -0xB2001568,0xB3001569,0xB400156A,0xB500156B,0xB600156C,0xB700156D,0xB800156E,0xB900156F,0xBA00158A,0xBB00158B, -0xBC00158C,0xBD00158E,0xBE00158F,0xBF001590,0x000C831B,0x000C8318,0x000C8315,0xE1001441,0x000C8312,0x000C830F, -0x000C830C,0x000C8309,0x000C8306,0x000C8303,0x000C8300,0x8600150A,0x8700154B,0x000C82FD,0x000C82FA,0x80001591, -0x81001592,0x82001593,0x000C82F7,0x000C82F4,0x000C82F1,0x000C82EE,0x000C82EB,0x000C82E8,0x000C82E5,0x000C82E2, -0x000C82DF,0x000C82DC,0x000C82D9,0x000C82D6,0x000C82D3,0x000C82D0,0x000C82CD,0x000C82CA,0x000C82C7,0x000C82C4, -0x000C82C1,0x000C82BE,0x000C82BB,0xE100144B,0xA8001597,0xA9001598,0xAA00159C,0xAB00159D,0xAC00159E,0xAD00159F, -0xAE0015A0,0xAF0015A1,0xB00015A2,0xB10015A3,0xB20015A4,0xB30015A5,0xB40015A6,0xB50015A7,0xB60015A8,0xB70015A9, -0xB80015AA,0xB90015AB,0xBA0015AC,0xBB0015AD,0xBC0015AE,0xBD0015AF,0xBE0015B0,0xBF0015CA,0x000C82B8,0x800015CE, -0x810015CF,0x820015D0,0x000C82B5,0x000C82B2,0x000C82AF,0x000C82AC,0x86001541,0x87001585,0x000C82A9,0x000C82A6, -0x000C82A3,0x000C82A0,0x000C829D,0x000C829A,0x000C8297,0x000C8294,0x000C8291,0x000C828E,0x000C828B,0x000C8288, -0x000C8285,0x000C8282,0x000C827F,0x000C827C,0x000C8279,0x000C8276,0x000C8273,0x000C8270,0xE1001489,0xA80015D4, -0xA90015D5,0xAA0015D6,0xAB0015D7,0xAC0015D8,0xAD0015D9,0xAE0015DA,0xAF0015DB,0xB00015DC,0xB10015DD,0xB20015DE, -0xB30015DF,0xB40015E0,0xB50015E1,0xB60015E2,0xB70015E3,0xB80015E4,0xB90015E5,0xBA0015E6,0xBB0015E7,0xBC001601, -0xBD001602,0xBE001603,0xBF001604,0x000C826D,0x000C826A,0x000C8267,0x000C8264,0x80001608,0x81001609,0x8200160A, -0x000C8261,0x000C825E,0x000C825B,0x000C8258,0x86001570,0x870015BF,0x000C8255,0x000C8252,0x000C824F,0x000C824C, -0x000C8249,0x000C8246,0x000C8243,0x000C8240,0x000C823D,0x000C823A,0xA800160E,0xA900160F,0xAA001610,0xAB001611, -0xAC001612,0xAD001613,0xAE001614,0xAF001615,0xB0001616,0xB1001617,0xB2001630,0xB3001631,0xB4001632,0xB5001633, -0xB6001634,0xB7001635,0xB8001636,0xB9001637,0xBA001638,0xBB001639,0xBC00163A,0xBD00163C,0xBE00163D,0xBF00163E, -0x000C8237,0x000C8234,0x000C8231,0x000C822E,0x000C822B,0x000C8228,0x000C8225,0x000C8222,0x000C821F,0x000C821C, -0x000C8219,0xE10014EA,0x000C8216,0x000C8213,0x000C8210,0x80001642,0x81001643,0x82001644,0x000C820D,0x000C820A, -0x000C8207,0x000C8204,0x860015B1,0x870015F9,0x000C8201,0x000C81FE,0x000C81FB,0x000C81F8,0x000C81F5,0x000C81F2, -0x000C81EF,0x000C81EC,0x000C81E9,0x000C81E6,0x000C81E3,0x000C81E0,0x000C81DD,0x000C81DA,0x000C81D7,0x000C81D4, -0x000C81D1,0xA8001648,0xA9001649,0xAA00164A,0xAB00164B,0xAC00164C,0xAD00164D,0xAE00164E,0xAF00164F,0xB0001650, -0xB1001651,0xB2001652,0xB3001653,0xB4001654,0xB5001655,0xB6001656,0xB7001657,0xB8001658,0xB9001671,0xBA001672, -0xBB001673,0xBC001674,0xBD001676,0xBE001677,0xBF001678,0x000C81CE,0x000C81CB,0x000C81C8,0x000C81C5,0xE100150F, -0x000C81C2,0x000C81BF,0x000C81BC,0x8000167C,0x8100167D,0x8200167E,0x000C81B9,0x000C81B6,0x000C81B3,0x000C81B0, -0x860015E8,0x8700163B,0x000C81AD,0x000C81AA,0x000C81A7,0x000C81A4,0x000C81A1,0x000C819E,0x000C819B,0x000C8198, -0x000C8195,0x000C8192,0x000C818F,0x000C818C,0x000C8189,0x000C8186,0xA8001682,0xA9001683,0xAA001684,0xAB001685, -0xAC001686,0xAD001687,0xAE001688,0xAF001689,0xB000168A,0xB100168B,0xB200168C,0xB300168D,0xB400168E,0xB500168F, -0xB60016A8,0xB70016A9,0xB80016AA,0xB90016AB,0xBA0016AC,0xBB0016AD,0xBC0016AE,0xBD0016AF,0xBE0016B0,0xBF0016B1, -0x000C8183,0x000C8180,0x000C817D,0x000C817A,0x000C8177,0x000C8174,0x000C8171,0x000C816E,0x000C816B,0x000C8168, -0xE100154C,0x000C8165,0x000C8162,0x000C815F,0x000C815C,0x000C8159,0x000C8156,0x000C8153,0x000C8150,0x800016B3, -0x810016B4,0x820016B5,0x000C814D,0x000C814A,0x000C8147,0x000C8144,0x000C8141,0x000C813E,0x000C813B,0x8600161F, -0x8700166D,0xA80016B7,0xA90016B8,0xAA0016B9,0xAB0016BA,0xAC0016BE,0xAD0016BF,0xAE0016C0,0xAF0016C1,0xB00016C2, -0xB10016C3,0xB20016C4,0xB30016DF,0xB40016E0,0xB50016E1,0xB60016E2,0xB70016E3,0xB80016E4,0xB90016E5,0xBA0016E6, -0xBB0016E7,0xBC0016E8,0xBD0016E9,0xBE0016EA,0xBF0016EB,0x000C8138,0x000C8135,0x000C8132,0x000C812F,0x000C812C, -0x000C8129,0x000C8126,0x000C8123,0x000C8120,0x000C811D,0x000C811A,0x000C8117,0x000C8114,0xE1001586,0x800016F0, -0x810016F1,0x820016F2,0x000C8111,0x000C810E,0x000C810B,0x000C8108,0x86001659,0x870016A7,0x000C8105,0x000C8102, -0x000C80FF,0x000C80FC,0x000C80F9,0x000C80F6,0x000C80F3,0x000C80F0,0x000C80ED,0x000C80EA,0x000C80E7,0xA80016F6, -0xA90016F7,0xAA0016F8,0xAB0016F9,0xAC0016FA,0xAD0016FB,0xAE0016FC,0xAF0016FD,0xB00016FE,0xB10016FF,0xB2001700, -0xB3001719,0xB400171A,0xB500171B,0xB600171C,0xB700171D,0xB800171E,0xB900171F,0xBA001720,0xBB001721,0xBC001722, -0xBD001723,0xBE001724,0xBF001725,0x000C80E4,0x000C80E1,0x000C80DE,0x000C80DB,0x000C80D8,0x000C80D5,0x000C80D2, -0x000C80CF,0x000C80CC,0x000C80C9,0x000C80C6,0x000C80C3,0x000C80C0,0xE10015C0,0x8000172A,0x8100172B,0x8200172C, -0x000C80BD,0x000C80BA,0x000C80B7,0x000C80B4,0x000C80B1,0x000C80AE,0x000C80AB,0x000C80A8,0x000C80A5,0x000C80A2, -0x000C809F,0x000C809C,0x000C8099,0x000C8096,0x86001692,0x870016EC,0xA800172E,0xA900172F,0xAA001730,0xAB001731, -0xAC001732,0xAD001733,0xAE001734,0xAF001735,0xB0001736,0xB1001737,0xB2001752,0xB3001753,0xB4001754,0xB5001755, -0xB6001756,0xB7001757,0xB8001758,0xB9001759,0xBA00175A,0xBB00175B,0xBC00175C,0xBD00175D,0xBE00175E,0xBF00175F, -0x000C8093,0x000C8090,0x000C808D,0x000C808A,0x000C8087,0x000C8084,0x000C8081,0x000C807E,0x000C807B,0x000C8078, -0x000C8075,0x000C8072,0x000C806F,0x000C806C,0xE10015FA,0x000C8069,0x000C8066,0x000C8063,0x000C8060,0x000C805D, -0x000C805A,0x000C8057,0x000C8054,0x000C8051,0x000C804E,0x000C804B,0x80001761,0x81001762,0x82001763,0x000C8048, -0x000C8045,0x000C8042,0x000C803F,0x860016CD,0x87001726,0xA8001765,0xA9001766,0xAA001767,0xAB001768,0xAC001769, -0xAD00176A,0xAE00176B,0xAF00176F,0xB0001770,0xB1001771,0xB2001772,0xB300178D,0xB400178E,0xB500178F,0xB6001790, -0xB7001791,0xB8001792,0xB9001793,0xBA001794,0xBB001795,0xBC001796,0xBD001798,0xBE001799,0xBF00179A,0x000C803C, -0x000C8039,0x000C8036,0x000C8033,0x000C8030,0x000C802D,0x000C802A,0x000C8027,0x000C8024,0x000C8021,0xE100163F, -0x000C801E,0x000C801B,0x000C8018,0x000C8015,0x000C8012,0x000C800F,0x000C800C,0x000C8009,0x000C8006,0x000C8003, -0x000C8000,0x000C7FFD,0x000C7FFA,0x000C7FF7,0x8000179B,0x8100179C,0x8200179D,0x000C7FF4,0x000C7FF1,0x000C7FEE, -0x000C7FEB,0x86001707,0x87001760,0xA800179F,0xA90017A0,0xAA0017A1,0xAB0017A2,0xAC0017A3,0xAD0017A4,0xAE0017A5, -0xAF0017A9,0xB00017AA,0xB10017AB,0xB20017AC,0xB30017C7,0xB40017C8,0xB50017C9,0xB60017CA,0xB70017CB,0xB80017CC, -0xB90017CD,0xBA0017CE,0xBB0017CF,0xBC0017D0,0xBD0017D1,0xBE0017D2,0xBF0017D3,0x000C7FE8,0x000C7FE5,0x000C7FE2, -0x000C7FDF,0x000C7FDC,0x000C7FD9,0x000C7FD6,0x000C7FD3,0x000C7FD0,0x000C7FCD,0x000C7FCA,0x000C7FC7,0x000C7FC4, -0xE100166E,0x000C7FC1,0x000C7FBE,0x000C7FBB,0x000C7FB8,0x000C7FB5,0x000C7FB2,0x000C7FAF,0x000C7FAC,0x000C7FA9, -0x000C7FA6,0x000C7FA3,0x800017D5,0x810017D6,0x820017D7,0xE100176C,0x000C7FA0,0x000C7F9D,0x000C7F9A,0x000C7F97, -0x000C7F94,0x000C7F91,0x000C7F8E,0x000C7F8B,0x000C7F88,0x000C7F85,0x000C7F82,0x000C7F7F,0x000C7F7C,0x85001751, -0xA10017D8,0xA2001811,0xA300184B,0xA40018A0,0xA50018DA,0xA6001914,0xA700194E,0xA8001988,0xA90019C2,0xAA0019FC, -0xAB001A36,0xAC001A70,0xAD001AA7,0xAE001AE1,0xAF001B1B,0xB0001B55,0xB1001B79,0xB2001BCC,0xB3001C03,0xB4001C40, -0xB5001C7A,0x8600176D,0x870017AD,0x000C7F79,0x000C7F76,0x000C7F73,0x000C7F70,0x000C7F6D,0xE10016B2,0x000C7F6A, -0x000C7F67,0x000C7F64,0x860017A6,0x870017F1,0x000C7F61,0xA80017D9,0xA90017DA,0xAA0017DB,0xAB0017DC,0xAC0017DD, -0xAD0017DE,0xAE0017DF,0xAF0017E4,0xB00017E5,0xB10017E6,0xB20017E7,0xB30017E8,0xB40017E9,0xB50017EA,0xB60017EB, -0xB70017EC,0xB80017ED,0xB90017EE,0xBA0017EF,0xBB0017F0,0xBC001809,0xBD00180A,0xBE00180B,0xBF00180C,0x8000180D, -0x8100180F,0x82001810,0x000C7F5E,0x000C7F5B,0x000C7F58,0x000C7F55,0x000C7F52,0x000C7F4F,0x000C7F4C,0x000C7F49, -0x000C7F46,0x000C7F43,0x000C7F40,0x000C7F3D,0x000C7F3A,0x000C7F37,0x000C7F34,0x000C7F31,0x000C7F2E,0x000C7F2B, -0x000C7F28,0x000C7F25,0x000C7F22,0xE10016ED,0x000C7F1F,0x000C7F1C,0x000C7F19,0x000C7F16,0x000C7F13,0x000C7F10, -0x860017E0,0x87001802,0xA8001814,0xA9001830,0xAA001831,0xAB001832,0xAC001833,0xAD001834,0xAE001835,0xAF001836, -0xB0001837,0xB1001838,0xB2001839,0xB300183A,0xB400183B,0xB500183C,0xB600183D,0xB700183E,0xB800183F,0xB9001840, -0xBA001841,0xBB001842,0xBC001843,0xBD001844,0xBE001846,0xBF001847,0x000C7F0D,0x000C7F0A,0x000C7F07,0x000C7F04, -0x000C7F01,0x000C7EFE,0x000C7EFB,0x000C7EF8,0x000C7EF5,0x000C7EF2,0x000C7EEF,0x80001848,0x81001849,0x8200184A, -0x000C7EEC,0x000C7EE9,0x000C7EE6,0x000C7EE3,0x000C7EE0,0x000C7EDD,0x000C7EDA,0x000C7ED7,0x000C7ED4,0x000C7ED1, -0x000C7ECE,0xE1001727,0x000C7ECB,0x000C7EC8,0x80001885,0x81001886,0x82001887,0x000C7EC5,0x000C7EC2,0x000C7EBF, -0xA8001866,0xA9001867,0xAA001868,0xAB001869,0xAC00186A,0xAD00186B,0xAE00186C,0xAF00186D,0xB000186E,0xB100186F, -0xB2001870,0xB3001874,0xB4001875,0xB5001876,0xB6001877,0xB7001878,0xB8001879,0xB900187A,0xBA00187B,0xBB00187C, -0xBC00187D,0xBD00187E,0xBE001880,0xBF001881,0x000C7EBC,0x86001812,0x87001854,0x000C7EB9,0x000C7EB6,0x000C7EB3, -0x000C7EB0,0x000C7EAD,0x000C7EAA,0x000C7EA7,0x000C7EA4,0x000C7EA1,0x000C7E9E,0x000C7E9B,0x000C7E98,0x000C7E95, -0x000C7E92,0x000C7E8F,0x000C7E8C,0x000C7E89,0x000C7E86,0x000C7E83,0x000C7E80,0x000C7E7D,0x000C7E7A,0xE1001781, -0xA80018A3,0xA90018A4,0xAA0018A5,0xAB0018A6,0xAC0018A7,0xAD0018A8,0xAE0018A9,0xAF0018AA,0xB00018AB,0xB10018AC, -0xB20018AD,0xB30018AE,0xB40018AF,0xB50018B0,0xB60018B1,0xB70018B2,0xB80018B3,0xB90018B4,0xBA0018B5,0xBB0018B6, -0xBC0018B7,0xBD0018B8,0xBE0018D2,0xBF0018D3,0x000C7E77,0x000C7E74,0x800018D7,0x810018D8,0x820018D9,0x000C7E71, -0x000C7E6E,0x000C7E6B,0x000C7E68,0x8600184C,0x8700188E,0x000C7E65,0x000C7E62,0x000C7E5F,0x000C7E5C,0x000C7E59, -0x000C7E56,0x000C7E53,0x000C7E50,0x000C7E4D,0x000C7E4A,0x000C7E47,0x000C7E44,0x000C7E41,0x000C7E3E,0x000C7E3B, -0x000C7E38,0x000C7E35,0x000C7E32,0x000C7E2F,0x000C7E2C,0x000C7E29,0xE100178C,0x000C7E26,0xA80018DD,0xA90018DE, -0xAA0018DF,0xAB0018E0,0xAC0018E1,0xAD0018E2,0xAE0018E3,0xAF0018E4,0xB00018E5,0xB10018E6,0xB20018E7,0xB30018E8, -0xB40018E9,0xB50018EA,0xB60018EB,0xB70018EC,0xB80018ED,0xB90018EE,0xBA0018EF,0xBB0018F0,0xBC0018F1,0xBD0018F3, -0xBE00190C,0xBF00190D,0x000C7E23,0x000C7E20,0x80001911,0x81001912,0x82001913,0x000C7E1D,0x000C7E1A,0x000C7E17, -0x000C7E14,0x86001888,0x870018C8,0x000C7E11,0x000C7E0E,0x000C7E0B,0x000C7E08,0x000C7E05,0x000C7E02,0x000C7DFF, -0x000C7DFC,0x000C7DF9,0x000C7DF6,0x000C7DF3,0x000C7DF0,0x000C7DED,0x000C7DEA,0x000C7DE7,0x000C7DE4,0x000C7DE1, -0x000C7DDE,0x000C7DDB,0x000C7DD8,0x000C7DD5,0xE10017C6,0x000C7DD2,0x000C7DCF,0x000C7DCC,0xA8001917,0xA9001918, -0xAA001919,0xAB00191A,0xAC00191B,0xAD00191C,0xAE00191D,0xAF00191E,0xB000191F,0xB1001920,0xB2001921,0xB3001922, -0xB4001923,0xB5001924,0xB6001925,0xB7001926,0xB8001927,0xB9001928,0xBA001929,0xBB00192A,0xBC00192B,0xBD00192D, -0xBE00192E,0xBF00192F,0x8000194B,0x8100194C,0x8200194D,0x000C7DC9,0x000C7DC6,0x000C7DC3,0x000C7DC0,0x860018B9, -0x87001902,0x000C7DBD,0x000C7DBA,0x000C7DB7,0x000C7DB4,0x000C7DB1,0x000C7DAE,0x000C7DAB,0x000C7DA8,0x000C7DA5, -0x000C7DA2,0x000C7D9F,0x000C7D9C,0x000C7D99,0x000C7D96,0x000C7D93,0x000C7D90,0xA8001951,0xA9001952,0xAA001953, -0xAB001954,0xAC001955,0xAD001956,0xAE001957,0xAF001958,0xB0001959,0xB100195A,0xB200195B,0xB300195C,0xB400195D, -0xB500195E,0xB600195F,0xB7001960,0xB8001979,0xB900197A,0xBA00197B,0xBB00197C,0xBC00197D,0xBD00197E,0xBE00197F, -0xBF001980,0x000C7D8D,0x000C7D8A,0x000C7D87,0x000C7D84,0x000C7D81,0x000C7D7E,0x000C7D7B,0x000C7D78,0xE100181B, -0x80001985,0x81001986,0x82001987,0x000C7D75,0x000C7D72,0x000C7D6F,0x000C7D6C,0x860018F2,0x8700193C,0x000C7D69, -0x000C7D66,0x000C7D63,0x000C7D60,0x000C7D5D,0x000C7D5A,0x000C7D57,0x000C7D54,0x000C7D51,0x000C7D4E,0x000C7D4B, -0x000C7D48,0x000C7D45,0x000C7D42,0x000C7D3F,0xA800198B,0xA900198C,0xAA00198D,0xAB00198E,0xAC00198F,0xAD001990, -0xAE001991,0xAF001992,0xB0001993,0xB1001994,0xB2001995,0xB3001996,0xB4001997,0xB5001998,0xB6001999,0xB70019B2, -0xB80019B3,0xB90019B4,0xBA0019B5,0xBB0019B6,0xBC0019B7,0xBD0019B8,0xBE0019B9,0xBF0019BA,0x000C7D3C,0x000C7D39, -0x000C7D36,0x000C7D33,0x000C7D30,0x000C7D2D,0x000C7D2A,0x000C7D27,0x000C7D24,0xE1001855,0x800019BF,0x810019C0, -0x820019C1,0x000C7D21,0x000C7D1E,0x000C7D1B,0x000C7D18,0x8600192C,0x87001976,0x000C7D15,0x000C7D12,0x000C7D0F, -0x000C7D0C,0x000C7D09,0x000C7D06,0x000C7D03,0x000C7D00,0x000C7CFD,0x000C7CFA,0x000C7CF7,0x000C7CF4,0x000C7CF1, -0x000C7CEE,0x000C7CEB,0xA80019C5,0xA90019C6,0xAA0019C7,0xAB0019C8,0xAC0019C9,0xAD0019CA,0xAE0019CB,0xAF0019CC, -0xB00019CD,0xB10019CE,0xB20019CF,0xB30019D0,0xB40019D1,0xB50019D2,0xB60019D3,0xB70019EC,0xB80019ED,0xB90019EE, -0xBA0019EF,0xBB0019F0,0xBC0019F1,0xBD0019F2,0xBE0019F3,0xBF0019F4,0x000C7CE8,0x000C7CE5,0x000C7CE2,0x000C7CDF, -0x000C7CDC,0x000C7CD9,0x000C7CD6,0x000C7CD3,0x000C7CD0,0xE100188F,0x800019F9,0x810019FA,0x820019FB,0x000C7CCD, -0x000C7CCA,0x000C7CC7,0x000C7CC4,0x86001961,0x870019B0,0x000C7CC1,0x000C7CBE,0x000C7CBB,0x000C7CB8,0x000C7CB5, -0x000C7CB2,0x000C7CAF,0x000C7CAC,0x000C7CA9,0x000C7CA6,0xA80019FF,0xA9001A00,0xAA001A01,0xAB001A02,0xAC001A03, -0xAD001A04,0xAE001A05,0xAF001A06,0xB0001A07,0xB1001A08,0xB2001A21,0xB3001A22,0xB4001A23,0xB5001A24,0xB6001A25, -0xB7001A26,0xB8001A27,0xB9001A28,0xBA001A29,0xBB001A2A,0xBC001A2B,0xBD001A2C,0xBE001A2D,0xBF001A2E,0x000C7CA3, -0x000C7CA0,0x000C7C9D,0x000C7C9A,0x000C7C97,0x000C7C94,0x000C7C91,0x000C7C8E,0x000C7C8B,0x000C7C88,0x000C7C85, -0x000C7C82,0x000C7C7F,0x000C7C7C,0xE10018C9,0x80001A33,0x81001A34,0x82001A35,0x000C7C79,0x000C7C76,0x000C7C73, -0x000C7C70,0x8600199A,0x870019EA,0x000C7C6D,0x000C7C6A,0x000C7C67,0x000C7C64,0x000C7C61,0x000C7C5E,0x000C7C5B, -0x000C7C58,0x000C7C55,0xA8001A39,0xA9001A3A,0xAA001A3B,0xAB001A3C,0xAC001A3D,0xAD001A3E,0xAE001A3F,0xAF001A40, -0xB0001A41,0xB1001A5A,0xB2001A5B,0xB3001A5C,0xB4001A5D,0xB5001A5E,0xB6001A5F,0xB7001A60,0xB8001A61,0xB9001A62, -0xBA001A63,0xBB001A64,0xBC001A65,0xBD001A66,0xBE001A67,0xBF001A68,0x000C7C52,0x000C7C4F,0x000C7C4C,0x000C7C49, -0x000C7C46,0x000C7C43,0x000C7C40,0x000C7C3D,0x000C7C3A,0x000C7C37,0x000C7C34,0x000C7C31,0x000C7C2E,0x000C7C2B, -0x000C7C28,0xE1001903,0x80001A6D,0x81001A6E,0x82001A6F,0x000C7C25,0x000C7C22,0x000C7C1F,0x000C7C1C,0x860019D4, -0x87001A2F,0x000C7C19,0x000C7C16,0x000C7C13,0x000C7C10,0x000C7C0D,0x000C7C0A,0x000C7C07,0x000C7C04,0x000C7C01, -0xA8001A73,0xA9001A74,0xAA001A75,0xAB001A76,0xAC001A77,0xAD001A78,0xAE001A79,0xAF001A7A,0xB0001A7B,0xB1001A94, -0xB2001A95,0xB3001A96,0xB4001A97,0xB5001A98,0xB6001A99,0xB7001A9A,0xB8001A9B,0xB9001A9C,0xBA001A9D,0xBB001A9E, -0xBC001A9F,0xBD001AA0,0xBE001AA1,0xBF001AA2,0x000C7BFE,0x000C7BFB,0x000C7BF8,0x000C7BF5,0x000C7BF2,0x000C7BEF, -0x000C7BEC,0x000C7BE9,0x000C7BE6,0x000C7BE3,0x000C7BE0,0x000C7BDD,0x000C7BDA,0x000C7BD7,0x000C7BD4,0xE100193D, -0x000C7BD1,0x000C7BCE,0x000C7BCB,0x000C7BC8,0x000C7BC5,0x000C7BC2,0x000C7BBF,0x000C7BBC,0x000C7BB9,0x000C7BB6, -0x000C7BB3,0x80001AA4,0x81001AA5,0x82001AA6,0x000C7BB0,0x000C7BAD,0x000C7BAA,0x000C7BA7,0x86001A10,0x87001A69, -0xA8001AA8,0xA9001AA9,0xAA001AAA,0xAB001AAB,0xAC001AAC,0xAD001AAD,0xAE001AAE,0xAF001AB2,0xB0001AB3,0xB1001AB4, -0xB2001AB5,0xB3001AD0,0xB4001AD1,0xB5001AD2,0xB6001AD3,0xB7001AD4,0xB8001AD5,0xB9001AD6,0xBA001AD7,0xBB001AD8, -0xBC001AD9,0xBD001ADA,0xBE001ADB,0xBF001ADC,0x000C7BA4,0x000C7BA1,0x000C7B9E,0x000C7B9B,0x000C7B98,0x000C7B95, -0x000C7B92,0x000C7B8F,0x000C7B8C,0x000C7B89,0x000C7B86,0x000C7B83,0x000C7B80,0xE1001977,0x000C7B7D,0x000C7B7A, -0x000C7B77,0x000C7B74,0x000C7B71,0x000C7B6E,0x000C7B6B,0x000C7B68,0x000C7B65,0x000C7B62,0x000C7B5F,0x80001ADE, -0x81001ADF,0x82001AE0,0x000C7B5C,0x000C7B59,0x000C7B56,0x000C7B53,0x86001A4A,0x87001AA3,0xA8001AE2,0xA9001AE3, -0xAA001AE4,0xAB001AE5,0xAC001AE6,0xAD001AE7,0xAE001AE8,0xAF001AEC,0xB0001AED,0xB1001AEE,0xB2001AEF,0xB3001B0A, -0xB4001B0B,0xB5001B0C,0xB6001B0D,0xB7001B0E,0xB8001B0F,0xB9001B10,0xBA001B11,0xBB001B12,0xBC001B13,0xBD001B14, -0xBE001B15,0xBF001B16,0x000C7B50,0x000C7B4D,0x000C7B4A,0x000C7B47,0x000C7B44,0x000C7B41,0x000C7B3E,0x000C7B3B, -0x000C7B38,0x000C7B35,0x000C7B32,0x000C7B2F,0x000C7B2C,0xE10019B1,0x000C7B29,0x000C7B26,0x000C7B23,0x000C7B20, -0x000C7B1D,0x000C7B1A,0x000C7B17,0x000C7B14,0x000C7B11,0x000C7B0E,0x000C7B0B,0x80001B18,0x81001B19,0x82001B1A, -0x000C7B08,0x000C7B05,0x000C7B02,0x000C7AFF,0x000C7AFC,0x000C7AF9,0x000C7AF6,0x000C7AF3,0x000C7AF0,0x000C7AED, -0x000C7AEA,0x000C7AE7,0x000C7AE4,0x000C7AE1,0x000C7ADE,0x86001A8F,0x87001ADD,0xA8001B1C,0xA9001B1D,0xAA001B1E, -0xAB001B1F,0xAC001B20,0xAD001B21,0xAE001B22,0xAF001B26,0xB0001B27,0xB1001B28,0xB2001B29,0xB3001B2A,0xB4001B2B, -0xB5001B2C,0xB6001B2D,0xB7001B2E,0xB8001B2F,0xB9001B30,0xBA001B31,0xBB001B32,0xBC001B33,0xBD001B34,0xBE001B4F, -0xBF001B50,0x000C7ADB,0x000C7AD8,0xE10019EB,0x000C7AD5,0x000C7AD2,0x000C7ACF,0x000C7ACC,0x000C7AC9,0x000C7AC6, -0x000C7AC3,0x000C7AC0,0x000C7ABD,0x000C7ABA,0x000C7AB7,0x80001B52,0x81001B53,0x82001B54,0x000C7AB4,0x000C7AB1, -0x000C7AAE,0x000C7AAB,0x000C7AA8,0x000C7AA5,0x000C7AA2,0x000C7A9F,0x000C7A9C,0x000C7A99,0x000C7A96,0x000C7A93, -0x000C7A90,0x000C7A8D,0x000C7A8A,0x86001AEA,0x87001AF3,0x000C7A87,0x000C7A84,0x80001B76,0x81001B77,0x82001B78, -0x000C7A81,0x000C7A7E,0x000C7A7B,0x000C7A78,0x86001B02,0x87001B46,0x000C7A75,0x000C7A72,0x000C7A6F,0x000C7A6C, -0x000C7A69,0x000C7A66,0x000C7A63,0x000C7A60,0x000C7A5D,0x000C7A5A,0x000C7A57,0x000C7A54,0xE1001A30,0x000C7A51, -0x000C7A4E,0x000C7A4B,0x000C7A48,0x000C7A45,0x000C7A42,0x000C7A3F,0x000C7A3C,0x000C7A39,0xA8001B56,0xA9001B57, -0xAA001B58,0xAB001B59,0xAC001B5A,0xAD001B5B,0xAE001B5C,0xAF001B60,0xB0001B61,0xB1001B62,0xB2001B63,0xB3001B64, -0xB4001B65,0xB5001B66,0xB6001B67,0xB7001B68,0xB8001B69,0xB9001B6A,0xBA001B6B,0xBB001B6C,0xBC001B6D,0xBD001B6E, -0xBE001B71,0xBF001B72,0xA8001B7C,0xA9001B7D,0xAA001B7E,0xAB001B7F,0xAC001B80,0xAD001B81,0xAE001B82,0xAF001B83, -0xB0001B84,0xB1001B85,0xB2001B86,0xB3001B87,0xB4001B89,0xB5001B8A,0xB6001B8B,0xB7001B8C,0xB8001B8D,0xB9001B8E, -0xBA001B8F,0xBB001B90,0xBC001B91,0xBD001BC3,0xBE001BC4,0xBF001BC5,0xE1001A6A,0x000C7A36,0x000C7A33,0x000C7A30, -0x80001BC9,0x81001BCA,0x82001BCB,0x000C7A2D,0x000C7A2A,0x000C7A27,0x000C7A24,0x86001B35,0x87001B88,0x000C7A21, -0x000C7A1E,0x000C7A1B,0x000C7A18,0x000C7A15,0x000C7A12,0x000C7A0F,0x000C7A0C,0x000C7A09,0x000C7A06,0x000C7A03, -0x000C7A00,0x000C79FD,0x000C79FA,0xA8001BCF,0xA9001BD0,0xAA001BD1,0xAB001BD2,0xAC001BD3,0xAD001BD4,0xAE001BD5, -0xAF001BD6,0xB0001BD7,0xB1001BD8,0xB2001BD9,0xB3001BDA,0xB4001BDB,0xB5001BDC,0xB6001BF5,0xB7001BF6,0xB8001BF7, -0xB9001BF8,0xBA001BF9,0xBB001BFA,0xBC001BFB,0xBD001BFD,0xBE001BFE,0xBF001BFF,0x000C79F7,0x000C79F4,0x000C79F1, -0x000C79EE,0x000C79EB,0x000C79E8,0x000C79E5,0xE1001AAF,0x000C79E2,0x000C79DF,0x000C79DC,0x000C79D9,0x000C79D6, -0x000C79D3,0x000C79D0,0x000C79CD,0x000C79CA,0x000C79C7,0x000C79C4,0x80001C00,0x81001C01,0x82001C02,0x000C79C1, -0x000C79BE,0x000C79BB,0x000C79B8,0x000C79B5,0x000C79B2,0x000C79AF,0x000C79AC,0x000C79A9,0x000C79A6,0x000C79A3, -0x000C79A0,0x000C799D,0x86001B73,0x87001BBA,0x000C799A,0xA8001C04,0xA9001C05,0xAA001C06,0xAB001C07,0xAC001C0B, -0xAD001C0C,0xAE001C0D,0xAF001C0E,0xB0001C0F,0xB1001C10,0xB2001C11,0xB3001C12,0xB4001C13,0xB5001C14,0xB6001C15, -0xB7001C16,0xB8001C17,0xB9001C1A,0xBA001C33,0xBB001C34,0xBC001C35,0xBD001C37,0xBE001C38,0xBF001C39,0x000C7997, -0x000C7994,0x000C7991,0xE1001AE9,0x000C798E,0x000C798B,0x000C7988,0x80001C3D,0x81001C3E,0x82001C3F,0x000C7985, -0x000C7982,0x000C797F,0x000C797C,0x86001BB3,0x87001BF4,0x000C7979,0x000C7976,0x000C7973,0x000C7970,0x000C796D, -0x000C796A,0x000C7967,0x000C7964,0x000C7961,0x000C795E,0x000C795B,0x000C7958,0x000C7955,0x000C7952,0x000C794F, -0x000C794C,0x000C7949,0x000C7946,0x000C7943,0x000C7940,0x000C793D,0x000C793A,0x000C7937,0xE1001AF4,0xA8001C43, -0xA9001C44,0xAA001C45,0xAB001C46,0xAC001C47,0xAD001C48,0xAE001C49,0xAF001C4A,0xB0001C4B,0xB1001C4C,0xB2001C4D, -0xB3001C4E,0xB4001C4F,0xB5001C50,0xB6001C51,0xB7001C52,0xB8001C53,0xB9001C54,0xBA001C55,0xBB001C56,0xBC001C57, -0xBD001C58,0xBE001C59,0xBF001C73,0x000C7934,0x80001C77,0x81001C78,0x82001C79,0x000C7931,0x000C792E,0x000C792B, -0x000C7928,0x000C7925,0x000C7922,0x000C791F,0x000C791C,0x000C7919,0x000C7916,0x000C7913,0x86001BDD,0x87001C2E, -0x000C7910,0xA8001C7B,0xA9001C7C,0xAA001C7D,0xAB001C7E,0xAC001C7F,0xAD001C80,0xAE001C81,0xAF001C84,0xB0001C9D, -0xB1001C9E,0xB2001C9F,0xB3001CA0,0xB4001CA1,0xB5001CA2,0xB6001CA3,0xB7001CA4,0xB8001CA5,0xB9001CA6,0xBA001CA7, -0xBB001CA8,0xBC001CA9,0xBD001CAA,0xBE001CAB,0xBF001CAC,0x000C790D,0x000C790A,0x000C7907,0x000C7904,0x000C7901, -0x000C78FE,0x000C78FB,0x000C78F8,0x000C78F5,0x000C78F2,0x000C78EF,0x000C78EC,0x000C78E9,0x000C78E6,0x000C78E3, -0x000C78E0,0xE1001B47,0x80001CB1,0x81001CB2,0x82001CB3,0x000C78DD,0x000C78DA,0x000C78D7,0x85001C1F,0x000C78D4, -0x86001C41,0x87001C82,0x000C78D1,0x000C78CE,0x000C78CB,0x000C78C8,0x000C78C5,0x000C78C2,0x000C78BF,0xE1001C2F, -0xA1001CB5,0xA2001D05,0xA3001D24,0xA4001D79,0xA5001DB3,0xA6001DED,0xA7001E27,0xA8001E61,0xA9001E9B,0xAA001ED5, -0xAB001F0C,0xAC001F49,0xAD001F83,0xAE001FBA,0xAF001FF4,0xB000202E,0xB1002068,0xB200208C,0xB30020DF,0xB4002116, -0xB5002153,0x000C78BC,0x000C78B9,0x000C78B6,0x000C78B3,0x000C78B0,0x000C78AD,0x000C78AA,0x000C78A7,0x000C78A4, -0x000C78A1,0x000C789E,0x000C789B,0x000C7898,0x000C7895,0x000C7892,0xE1001B92,0x000C788F,0x000C788C,0x000C7889, -0x000C7886,0xA8001CB8,0xA9001CB9,0xAA001CBA,0xAB001CBB,0xAC001CBC,0xAD001CBD,0xAE001CBE,0xAF001CD5,0xB0001CD6, -0xB1001CD7,0xB2001CD8,0xB3001CD9,0xB4001CDA,0xB5001CDB,0xB6001CDC,0xB7001CDD,0xB8001CDE,0xB9001CDF,0xBA001CE0, -0xBB001CE1,0xBC001CE2,0xBD001CE3,0xBE001CE5,0xBF001CE6,0x000C7883,0x80001CE7,0x81001CE8,0x82001D01,0x000C7880, -0x000C787D,0x000C787A,0x000C7877,0x86001C85,0x87001CC5,0x000C7874,0x000C7871,0x000C786E,0x000C786B,0x000C7868, -0x000C7865,0x000C7862,0x000C785F,0x000C785C,0x000C7859,0x000C7856,0x000C7853,0x000C7850,0x000C784D,0x000C784A, -0x000C7847,0x000C7844,0x000C7841,0x000C783E,0x000C783B,0x000C7838,0x000C7835,0xE1001BBB,0x000C7832,0x000C782F, -0x000C782C,0x000C7829,0x000C7826,0x000C7823,0x000C7820,0x000C781D,0x000C781A,0x000C7817,0x000C7814,0xA8001D06, -0xA9001D07,0xAA001D08,0xAB001D0B,0xAC001D0C,0xAD001D0D,0xAE001D0E,0xAF001D0F,0xB0001D10,0xB1001D11,0xB2001D12, -0xB3001D13,0xB4001D14,0xB5001D15,0xB6001D16,0xB7001D17,0xB8001D18,0xB9001D19,0xBA001D1A,0xBB001D1B,0xBC001D1C, -0xBD001D1D,0xBE001D1E,0xBF001D1F,0x80001D20,0x81001D22,0x82001D23,0x86001CB4,0x87001CF4,0x000C7811,0x000C780E, -0x000C780B,0x000C7808,0x000C7805,0x000C7802,0x000C77FF,0x000C77FC,0x000C77F9,0x000C77F6,0x000C77F3,0x000C77F0, -0x000C77ED,0x000C77EA,0x000C77E7,0x000C77E4,0x000C77E1,0xE1001BFC,0xA8001D25,0xA9001D26,0xAA001D27,0xAB001D28, -0xAC001D29,0xAD001D2A,0xAE001D2B,0xAF001D2C,0xB0001D4A,0xB1001D4B,0xB2001D4C,0xB3001D4D,0xB4001D4E,0xB5001D4F, -0xB6001D50,0xB7001D51,0xB8001D52,0xB9001D53,0xBA001D54,0xBB001D55,0xBC001D56,0xBD001D57,0xBE001D58,0xBF001D59, -0x80001D5A,0x81001D77,0x82001D78,0x000C77DE,0x000C77DB,0x000C77D8,0x000C77D5,0x86001CEF,0x87001D2F,0x000C77D2, -0x000C77CF,0x000C77CC,0x000C77C9,0x000C77C6,0x000C77C3,0x000C77C0,0x000C77BD,0x000C77BA,0x000C77B7,0x000C77B4, -0x000C77B1,0x000C77AE,0x000C77AB,0x000C77A8,0x000C77A5,0x000C77A2,0x000C779F,0x000C779C,0x000C7799,0x000C7796, -0x000C7793,0x000C7790,0x000C778D,0x000C778A,0xE1001C30,0xA8001D7A,0xA9001D7D,0xAA001D7E,0xAB001D7F,0xAC001D80, -0xAD001D81,0xAE001D82,0xAF001D83,0xB0001D84,0xB1001D85,0xB2001D86,0xB3001D87,0xB4001D88,0xB5001D89,0xB6001D8A, -0xB7001D8B,0xB8001D8C,0xB9001D8D,0xBA001D8E,0xBB001D8F,0xBC001D90,0xBD001D91,0xBE001D92,0xBF001D93,0x80001D94, -0x81001D95,0x82001DB2,0x000C7787,0x000C7784,0x86001D21,0x87001D67,0x000C7781,0x000C777E,0x000C777B,0x000C7778, -0x000C7775,0x000C7772,0x000C776F,0x000C776C,0x000C7769,0x000C7766,0x000C7763,0x000C7760,0x000C775D,0x000C775A, -0x000C7757,0x000C7754,0x000C7751,0x000C774E,0x000C774B,0xA8001DB6,0xA9001DB7,0xAA001DB8,0xAB001DB9,0xAC001DBA, -0xAD001DBB,0xAE001DBC,0xAF001DBD,0xB0001DBE,0xB1001DBF,0xB2001DC0,0xB3001DC1,0xB4001DC2,0xB5001DC3,0xB6001DC4, -0xB7001DC5,0xB8001DC6,0xB9001DC7,0xBA001DC8,0xBB001DE1,0xBC001DE2,0xBD001DE3,0xBE001DE4,0xBF001DE5,0x000C7748, -0x000C7745,0x000C7742,0x000C773F,0x000C773C,0xE1001C83,0x80001DEA,0x81001DEB,0x82001DEC,0x000C7739,0x000C7736, -0x000C7733,0x000C7730,0x86001D5E,0x87001DA1,0x000C772D,0x000C772A,0x000C7727,0x000C7724,0x000C7721,0x000C771E, -0x000C771B,0x000C7718,0x000C7715,0x000C7712,0x000C770F,0x000C770C,0x000C7709,0x000C7706,0x000C7703,0x000C7700, -0x000C76FD,0x000C76FA,0x000C76F7,0x000C76F4,0x000C76F1,0xE1001CC2,0xA8001DF0,0xA9001DF1,0xAA001DF2,0xAB001DF3, -0xAC001DF4,0xAD001DF5,0xAE001DF6,0xAF001DF7,0xB0001DF8,0xB1001DF9,0xB2001DFA,0xB3001DFB,0xB4001DFC,0xB5001DFD, -0xB6001DFE,0xB7001DFF,0xB8001E00,0xB9001E01,0xBA001E02,0xBB001E03,0xBC001E04,0xBD001E1E,0xBE001E1F,0xBF001E20, -0x000C76EE,0x000C76EB,0x000C76E8,0x80001E24,0x81001E25,0x82001E26,0x000C76E5,0x000C76E2,0x000C76DF,0x000C76DC, -0x86001D96,0x87001DDB,0x000C76D9,0x000C76D6,0x000C76D3,0x000C76D0,0x000C76CD,0x000C76CA,0x000C76C7,0x000C76C4, -0x000C76C1,0x000C76BE,0x000C76BB,0x000C76B8,0x000C76B5,0x000C76B2,0x000C76AF,0x000C76AC,0x000C76A9,0x000C76A6, -0x000C76A3,0x000C76A0,0xA8001E2A,0xA9001E2B,0xAA001E2C,0xAB001E2D,0xAC001E2E,0xAD001E2F,0xAE001E30,0xAF001E31, -0xB0001E32,0xB1001E33,0xB2001E34,0xB3001E35,0xB4001E36,0xB5001E37,0xB6001E38,0xB7001E39,0xB8001E3A,0xB9001E3B, -0xBA001E3C,0xBB001E3D,0xBC001E56,0xBD001E57,0xBE001E58,0xBF001E59,0x000C769D,0x000C769A,0x000C7697,0x000C7694, -0xE1001CF5,0x80001E5E,0x81001E5F,0x82001E60,0x000C7691,0x000C768E,0x000C768B,0x000C7688,0x86001DC9,0x87001E15, -0x000C7685,0x000C7682,0x000C767F,0x000C767C,0x000C7679,0x000C7676,0x000C7673,0x000C7670,0x000C766D,0x000C766A, -0x000C7667,0x000C7664,0x000C7661,0xA8001E64,0xA9001E65,0xAA001E66,0xAB001E67,0xAC001E68,0xAD001E69,0xAE001E6A, -0xAF001E6B,0xB0001E6C,0xB1001E6D,0xB2001E6E,0xB3001E6F,0xB4001E70,0xB5001E89,0xB6001E8A,0xB7001E8B,0xB8001E8C, -0xB9001E8D,0xBA001E8E,0xBB001E8F,0xBC001E90,0xBD001E91,0xBE001E92,0xBF001E93,0x000C765E,0x000C765B,0x000C7658, -0x000C7655,0x000C7652,0x000C764F,0x000C764C,0x000C7649,0x000C7646,0x000C7643,0x000C7640,0xE1001D2E,0x80001E98, -0x81001E99,0x82001E9A,0x000C763D,0x000C763A,0x000C7637,0x000C7634,0x86001E05,0x87001E4F,0x000C7631,0x000C762E, -0x000C762B,0x000C7628,0x000C7625,0x000C7622,0x000C761F,0x000C761C,0x000C7619,0x000C7616,0x000C7613,0x000C7610, -0x000C760D,0x000C760A,0x000C7607,0xA8001E9E,0xA9001E9F,0xAA001EA0,0xAB001EA1,0xAC001EA2,0xAD001EA3,0xAE001EA4, -0xAF001EA5,0xB0001EA6,0xB1001EA7,0xB2001EA8,0xB3001EA9,0xB4001EAA,0xB5001EAB,0xB6001EAC,0xB7001EC5,0xB8001EC6, -0xB9001EC7,0xBA001EC8,0xBB001EC9,0xBC001ECA,0xBD001ECB,0xBE001ECC,0xBF001ECD,0x000C7604,0x000C7601,0x000C75FE, -0x000C75FB,0x000C75F8,0x000C75F5,0x000C75F2,0x000C75EF,0x000C75EC,0xE1001D68,0x80001ED2,0x81001ED3,0x82001ED4, -0x000C75E9,0x000C75E6,0x000C75E3,0x000C75E0,0x86001E3E,0x87001E94,0x000C75DD,0x000C75DA,0x000C75D7,0x000C75D4, -0x000C75D1,0x000C75CE,0x000C75CB,0x000C75C8,0x000C75C5,0x000C75C2,0x000C75BF,0x000C75BC,0x000C75B9,0x000C75B6, -0xA8001ED8,0xA9001ED9,0xAA001EDA,0xAB001EDB,0xAC001EDC,0xAD001EDD,0xAE001EDE,0xAF001EDF,0xB0001EE0,0xB1001EE1, -0xB2001EE2,0xB3001EE3,0xB4001EE4,0xB5001EE5,0xB6001EFE,0xB7001EFF,0xB8001F00,0xB9001F01,0xBA001F02,0xBB001F03, -0xBC001F04,0xBD001F05,0xBE001F06,0xBF001F07,0x000C75B3,0x000C75B0,0x000C75AD,0x000C75AA,0x000C75A7,0x000C75A4, -0x000C75A1,0x000C759E,0x000C759B,0x000C7598,0xE1001DA2,0x000C7595,0x000C7592,0x000C758F,0x000C758C,0x86001E71, -0x87001EC3,0x000C7589,0x000C7586,0x000C7583,0x000C7580,0x000C757D,0x80001F09,0x81001F0A,0x82001F0B,0x000C757A, -0x000C7577,0xA8001F0F,0xA9001F10,0xAA001F11,0xAB001F12,0xAC001F13,0xAD001F17,0xAE001F18,0xAF001F31,0xB0001F32, -0xB1001F33,0xB2001F34,0xB3001F35,0xB4001F36,0xB5001F37,0xB6001F38,0xB7001F39,0xB8001F3A,0xB9001F3B,0xBA001F3C, -0xBB001F3D,0xBC001F3E,0xBD001F3F,0xBE001F40,0xBF001F41,0x000C7574,0x000C7571,0x000C756E,0x000C756B,0x000C7568, -0x000C7565,0x000C7562,0x000C755F,0x000C755C,0x000C7559,0x000C7556,0x000C7553,0x000C7550,0x000C754D,0x000C754A, -0x000C7547,0x000C7544,0xE1001DDC,0x80001F46,0x81001F47,0x82001F48,0x000C7541,0x000C753E,0x000C753B,0x000C7538, -0x86001EAD,0x87001EFD,0x000C7535,0x000C7532,0x000C752F,0x000C752C,0x000C7529,0x000C7526,0x000C7523,0x000C7520, -0x000C751D,0xA8001F4C,0xA9001F4D,0xAA001F4E,0xAB001F4F,0xAC001F50,0xAD001F51,0xAE001F52,0xAF001F53,0xB0001F54, -0xB1001F6D,0xB2001F6E,0xB3001F6F,0xB4001F70,0xB5001F71,0xB6001F72,0xB7001F73,0xB8001F74,0xB9001F75,0xBA001F76, -0xBB001F77,0xBC001F78,0xBD001F79,0xBE001F7A,0xBF001F7B,0x000C751A,0x000C7517,0x000C7514,0x000C7511,0x000C750E, -0x000C750B,0x000C7508,0x000C7505,0x000C7502,0x000C74FF,0x000C74FC,0x000C74F9,0x000C74F6,0x000C74F3,0x000C74F0, -0xE1001E16,0x80001F80,0x81001F81,0x82001F82,0x000C74ED,0x000C74EA,0x000C74E7,0x000C74E4,0x000C74E1,0x000C74DE, -0x000C74DB,0x000C74D8,0x000C74D5,0x000C74D2,0x000C74CF,0x000C74CC,0x000C74C9,0x000C74C6,0x86001EE8,0x87001F42, -0xA8001F84,0xA9001F85,0xAA001F86,0xAB001F87,0xAC001F88,0xAD001F89,0xAE001F8A,0xAF001F8B,0xB0001F8C,0xB1001F8D, -0xB2001FA8,0xB3001FA9,0xB4001FAA,0xB5001FAB,0xB6001FAC,0xB7001FAD,0xB8001FAE,0xB9001FAF,0xBA001FB0,0xBB001FB1, -0xBC001FB2,0xBD001FB3,0xBE001FB4,0xBF001FB5,0x000C74C3,0x000C74C0,0x000C74BD,0x000C74BA,0x000C74B7,0x000C74B4, -0x000C74B1,0x000C74AE,0x000C74AB,0x000C74A8,0x000C74A5,0x000C74A2,0x000C749F,0x000C749C,0xE1001E50,0x000C7499, -0x000C7496,0x000C7493,0x000C7490,0x000C748D,0x000C748A,0x000C7487,0x000C7484,0x000C7481,0x000C747E,0x000C747B, -0x80001FB7,0x81001FB8,0x82001FB9,0x000C7478,0x000C7475,0x000C7472,0x000C746F,0x86001F23,0x87001F7C,0xA8001FBB, -0xA9001FBC,0xAA001FBD,0xAB001FBE,0xAC001FBF,0xAD001FC0,0xAE001FC1,0xAF001FC5,0xB0001FC6,0xB1001FC7,0xB2001FC8, -0xB3001FE3,0xB4001FE4,0xB5001FE5,0xB6001FE6,0xB7001FE7,0xB8001FE8,0xB9001FE9,0xBA001FEA,0xBB001FEB,0xBC001FEC, -0xBD001FEE,0xBE001FEF,0xBF001FF0,0x000C746C,0x000C7469,0x000C7466,0x000C7463,0x000C7460,0x000C745D,0x000C745A, -0x000C7457,0x000C7454,0x000C7451,0xE1001E87,0x000C744E,0x000C744B,0x000C7448,0x000C7445,0x000C7442,0x000C743F, -0x000C743C,0x000C7439,0x000C7436,0x000C7433,0x000C7430,0x000C742D,0x000C742A,0x000C7427,0x80001FF1,0x81001FF2, -0x82001FF3,0x000C7424,0x000C7421,0x000C741E,0x000C741B,0x86001F5D,0x87001FB6,0xA8001FF5,0xA9001FF6,0xAA001FF7, -0xAB001FF8,0xAC001FF9,0xAD001FFA,0xAE001FFB,0xAF001FFF,0xB0002000,0xB1002001,0xB2002002,0xB300201D,0xB400201E, -0xB500201F,0xB6002020,0xB7002021,0xB8002022,0xB9002023,0xBA002024,0xBB002025,0xBC002026,0xBD002027,0xBE002028, -0xBF002029,0x000C7418,0x000C7415,0x000C7412,0x000C740F,0x000C740C,0x000C7409,0x000C7406,0x000C7403,0x000C7400, -0x000C73FD,0x000C73FA,0x000C73F7,0x000C73F4,0xE1001EC4,0x000C73F1,0x000C73EE,0x000C73EB,0x000C73E8,0x000C73E5, -0x000C73E2,0x000C73DF,0x000C73DC,0x000C73D9,0x000C73D6,0x000C73D3,0x8000202B,0x8100202C,0x8200202D,0x000C73D0, -0x000C73CD,0x000C73CA,0x000C73C7,0x000C73C4,0x000C73C1,0x000C73BE,0x000C73BB,0x000C73B8,0x000C73B5,0x000C73B2, -0x000C73AF,0x000C73AC,0x000C73A9,0x000C73A6,0x86001FA2,0x87001FED,0xA800202F,0xA9002030,0xAA002031,0xAB002032, -0xAC002033,0xAD002034,0xAE002035,0xAF002039,0xB000203A,0xB100203B,0xB200203C,0xB300203D,0xB400203E,0xB500203F, -0xB6002040,0xB7002041,0xB8002042,0xB9002043,0xBA002044,0xBB002045,0xBC002046,0xBD002047,0xBE002062,0xBF002063, -0x000C73A3,0x000C73A0,0xE1001F08,0x000C739D,0x000C739A,0x000C7397,0x000C7394,0x000C7391,0x000C738E,0x000C738B, -0x000C7388,0x80002065,0x81002066,0x82002067,0x000C7385,0x000C7382,0x000C737F,0x000C737C,0x000C7379,0x000C7376, -0x000C7373,0x000C7370,0x000C736D,0x000C736A,0x000C7367,0x000C7364,0x000C7361,0x000C735E,0x000C735B,0x000C7358, -0x000C7355,0x000C7352,0x86001FFD,0x87002006,0x000C734F,0x000C734C,0x80002089,0x8100208A,0x8200208B,0x000C7349, -0x000C7346,0x000C7343,0x000C7340,0x86002015,0x87002059,0x000C733D,0x000C733A,0x000C7337,0x000C7334,0x000C7331, -0x000C732E,0x000C732B,0x000C7328,0x000C7325,0x000C7322,0x000C731F,0x000C731C,0xE1001F43,0x000C7319,0x000C7316, -0x000C7313,0x000C7310,0x000C730D,0x000C730A,0x000C7307,0x000C7304,0x000C7301,0xA8002069,0xA900206A,0xAA00206B, -0xAB00206C,0xAC002070,0xAD002071,0xAE002072,0xAF002073,0xB0002074,0xB1002075,0xB2002076,0xB3002077,0xB4002078, -0xB5002079,0xB600207A,0xB700207B,0xB800207C,0xB900207D,0xBA00207E,0xBB00207F,0xBC002080,0xBD002081,0xBE002084, -0xBF002085,0xA800208F,0xA9002090,0xAA002091,0xAB002092,0xAC002093,0xAD002094,0xAE002095,0xAF002096,0xB0002097, -0xB1002098,0xB2002099,0xB300209A,0xB400209C,0xB500209D,0xB600209E,0xB700209F,0xB80020A0,0xB90020A1,0xBA0020A2, -0xBB0020A3,0xBC0020A4,0xBD0020D6,0xBE0020D7,0xBF0020D8,0xE1001F7D,0x000C72FE,0x000C72FB,0x000C72F8,0x800020DC, -0x810020DD,0x820020DE,0x000C72F5,0x000C72F2,0x000C72EF,0x000C72EC,0x86002048,0x8700209B,0x000C72E9,0x000C72E6, -0x000C72E3,0x000C72E0,0x000C72DD,0x000C72DA,0x000C72D7,0x000C72D4,0x000C72D1,0x000C72CE,0x000C72CB,0x000C72C8, -0x000C72C5,0x000C72C2,0xA80020E2,0xA90020E3,0xAA0020E4,0xAB0020E5,0xAC0020E6,0xAD0020E7,0xAE0020E8,0xAF0020E9, -0xB00020EA,0xB10020EB,0xB20020EC,0xB30020ED,0xB40020EE,0xB50020EF,0xB6002108,0xB7002109,0xB800210A,0xB900210B, -0xBA00210C,0xBB00210D,0xBC00210E,0xBD002110,0xBE002111,0xBF002112,0x000C72BF,0x000C72BC,0x000C72B9,0x000C72B6, -0x000C72B3,0x000C72B0,0x000C72AD,0xE1001FC2,0x000C72AA,0x000C72A7,0x000C72A4,0x000C72A1,0x000C729E,0x000C729B, -0x000C7298,0x000C7295,0x000C7292,0x000C728F,0x000C728C,0x80002113,0x81002114,0x82002115,0x000C7289,0x000C7286, -0x000C7283,0x000C7280,0x000C727D,0x000C727A,0x000C7277,0x000C7274,0x000C7271,0x000C726E,0x000C726B,0x000C7268, -0x000C7265,0x86002086,0x870020CD,0x000C7262,0xA8002117,0xA9002118,0xAA002119,0xAB00211A,0xAC00211E,0xAD00211F, -0xAE002120,0xAF002121,0xB0002122,0xB1002123,0xB2002124,0xB3002125,0xB4002126,0xB5002127,0xB6002128,0xB7002129, -0xB800212A,0xB900212D,0xBA002146,0xBB002147,0xBC002148,0xBD00214A,0xBE00214B,0xBF00214C,0x000C725F,0x000C725C, -0x000C7259,0xE1001FFC,0x000C7256,0x000C7253,0x000C7250,0x80002150,0x81002151,0x82002152,0x000C724D,0x000C724A, -0x000C7247,0x000C7244,0x860020C6,0x87002107,0x000C7241,0x000C723E,0x000C723B,0x000C7238,0x000C7235,0x000C7232, -0x000C722F,0x000C722C,0x000C7229,0x000C7226,0x000C7223,0x000C7220,0x000C721D,0x000C721A,0x000C7217,0x000C7214, -0x000C7211,0x000C720E,0x000C720B,0x000C7208,0x000C7205,0x000C7202,0x000C71FF,0xE1002007,0xA8002156,0xA9002157, -0xAA002158,0xAB002159,0xAC00215A,0xAD00215B,0xAE00215C,0xAF00215D,0xB000215E,0xB100215F,0xB2002160,0xB3002161, -0xB4002162,0xB5002163,0xB6002164,0xB7002165,0xB8002166,0xB9002167,0xBA002168,0xBB002169,0xBC00216A,0xBD00216B, -0xBE00216C,0xBF002186,0x000C71FC,0x8000218A,0x8100218B,0x8200218C,0x000C71F9,0x000C71F6,0x000C71F3,0xE100210F, -0x000C71F0,0x000C71ED,0x000C71EA,0x000C71E7,0x000C71E4,0x000C71E1,0x850020F4,0xA100218E,0xA20021DB,0xA3002218, -0xA4002252,0xA500228C,0xA60022C6,0xA7002300,0xA8002337,0xA9002374,0xAA0023AE,0xAB0023E5,0xAC00241F,0xAD00245C, -0xAE002493,0xAF0024CD,0xB0002507,0xB1002544,0xB200257B,0xB300259C,0xB40025EF,0xB500262C,0x000C71DE,0x000C71DB, -0x000C71D8,0x000C71D5,0x000C71D2,0x000C71CF,0x000C71CC,0x8600211B,0x8700216D,0x000C71C9,0x000C71C6,0x000C71C3, -0x000C71C0,0x000C71BD,0x000C71BA,0x000C71B7,0x000C71B4,0x000C71B1,0x000C71AE,0x000C71AB,0x000C71A8,0x000C71A5, -0xE100205A,0x000C71A2,0x000C719F,0xA800218F,0xA9002190,0xAA002191,0xAB002192,0xAC002193,0xAD0021AA,0xAE0021AB, -0xAF0021AC,0xB00021AD,0xB10021AE,0xB20021AF,0xB30021B0,0xB40021B3,0xB50021B4,0xB60021B5,0xB70021B6,0xB80021B7, -0xB90021B8,0xBA0021B9,0xBB0021BA,0xBC0021BB,0xBD0021BC,0xBE0021BD,0xBF0021BE,0x000C719C,0x000C7199,0x000C7196, -0x000C7193,0x000C7190,0x000C718D,0x000C718A,0x000C7187,0x000C7184,0x000C7181,0x000C717E,0x000C717B,0x000C7178, -0x000C7175,0x000C7172,0x000C716F,0x000C716C,0x000C7169,0x800021BF,0x810021C1,0x820021C2,0x000C7166,0x000C7163, -0x000C7160,0x000C715D,0x86002154,0x87002194,0x000C715A,0xE10020A5,0x000C7157,0x000C7154,0x000C7151,0x000C714E, -0xA80021DC,0xA90021DD,0xAA0021DE,0xAB0021DF,0xAC0021E0,0xAD0021E1,0xAE0021E2,0xAF0021E3,0xB00021E4,0xB10021E5, -0xB20021E6,0xB30021E7,0xB40021E8,0xB50021E9,0xB60021EA,0xB70021EB,0xB80021EC,0xB90021F0,0xBA0021F1,0xBB0021F2, -0xBC0021F3,0xBD0021F6,0xBE0021F8,0xBF0021F9,0x800021FA,0x810021FB,0x82002217,0x000C714B,0x000C7148,0x000C7145, -0x000C7142,0x8600218D,0x870021CD,0x000C713F,0x000C713C,0x000C7139,0x000C7136,0x000C7133,0x000C7130,0x000C712D, -0x000C712A,0x000C7127,0x000C7124,0x000C7121,0x000C711E,0x000C711B,0x000C7118,0x000C7115,0x000C7112,0x000C710F, -0x000C710C,0x000C7109,0x000C7106,0x000C7103,0x000C7100,0x000C70FD,0xE10020CE,0xA8002219,0xA900221A,0xAA00221D, -0xAB00221E,0xAC00221F,0xAD002220,0xAE002221,0xAF002222,0xB0002223,0xB1002224,0xB2002225,0xB3002226,0xB4002227, -0xB5002228,0xB6002229,0xB700222A,0xB800222B,0xB900222C,0xBA00222D,0xBB00222E,0xBC00222F,0xBD002230,0xBE002231, -0xBF002232,0x80002233,0x81002250,0x82002251,0x000C70FA,0x000C70F7,0x000C70F4,0x000C70F1,0x860021C8,0x87002208, -0x000C70EE,0x000C70EB,0x000C70E8,0x000C70E5,0x000C70E2,0x000C70DF,0x000C70DC,0x000C70D9,0x000C70D6,0x000C70D3, -0x000C70D0,0x000C70CD,0x000C70CA,0x000C70C7,0x000C70C4,0x000C70C1,0x000C70BE,0x000C70BB,0x000C70B8,0x000C70B5, -0x000C70B2,0x000C70AF,0x000C70AC,0x000C70A9,0x000C70A6,0xE100212B,0xA8002253,0xA9002256,0xAA002257,0xAB002258, -0xAC002259,0xAD00225A,0xAE00225B,0xAF00225C,0xB000225D,0xB100225E,0xB200225F,0xB3002260,0xB4002261,0xB5002262, -0xB6002263,0xB7002264,0xB8002265,0xB9002266,0xBA002267,0xBB002268,0xBC002269,0xBD00226A,0xBE00226B,0xBF00226C, -0x8000226D,0x8100226E,0x8200228B,0x000C70A3,0x000C70A0,0x860021ED,0x87002240,0x000C709D,0x000C709A,0x000C7097, -0x000C7094,0x000C7091,0x000C708E,0xA800228F,0xA9002290,0xAA002291,0xAB002292,0xAC002293,0xAD002294,0xAE0022AD, -0xAF0022AE,0xB00022AF,0xB10022B0,0xB20022B1,0xB30022B2,0xB40022B3,0xB50022B4,0xB60022B5,0xB70022B6,0xB80022B7, -0xB90022B8,0xBA0022B9,0xBB0022BA,0xBC0022BB,0xBD0022BD,0xBE0022BE,0xBF0022BF,0x000C708B,0x000C7088,0x000C7085, -0x000C7082,0x000C707F,0x000C707C,0x000C7079,0x000C7076,0x000C7073,0x000C7070,0x000C706D,0x000C706A,0x000C7067, -0x000C7064,0x000C7061,0xE100216E,0x000C705E,0x000C705B,0x000C7058,0x800022C3,0x810022C4,0x820022C5,0x000C7055, -0x000C7052,0x000C704F,0x000C704C,0x86002234,0x8700227A,0x000C7049,0x000C7046,0x000C7043,0x000C7040,0x000C703D, -0x000C703A,0x000C7037,0x000C7034,0x000C7031,0x000C702E,0x000C702B,0x000C7028,0x000C7025,0x000C7022,0x000C701F, -0x000C701C,0x000C7019,0x000C7016,0x000C7013,0xA80022C9,0xA90022CA,0xAA0022CB,0xAB0022CC,0xAC0022CD,0xAD0022CE, -0xAE0022CF,0xAF0022D0,0xB00022D1,0xB10022D2,0xB20022D3,0xB30022D4,0xB40022D5,0xB50022D6,0xB60022D7,0xB70022D8, -0xB80022D9,0xB90022DA,0xBA0022DB,0xBB0022F4,0xBC0022F5,0xBD0022F6,0xBE0022F7,0xBF0022F8,0x000C7010,0x000C700D, -0x000C700A,0x000C7007,0x000C7004,0xE1002195,0x800022FD,0x810022FE,0x820022FF,0x000C7001,0x000C6FFE,0x000C6FFB, -0x000C6FF8,0x8600226F,0x870022BC,0x000C6FF5,0x000C6FF2,0x000C6FEF,0x000C6FEC,0x000C6FE9,0x000C6FE6,0x000C6FE3, -0x000C6FE0,0x000C6FDD,0x000C6FDA,0x000C6FD7,0x000C6FD4,0x000C6FD1,0x000C6FCE,0x000C6FCB,0x000C6FC8,0x000C6FC5, -0x000C6FC2,0x000C6FBF,0x000C6FBC,0xA8002303,0xA9002304,0xAA002305,0xAB002306,0xAC002307,0xAD002308,0xAE002309, -0xAF00230A,0xB000230B,0xB100230C,0xB200230D,0xB300230E,0xB400230F,0xB5002310,0xB6002311,0xB7002312,0xB8002313, -0xB9002314,0xBA002315,0xBB002316,0xBC00232F,0xBD002330,0xBE002331,0xBF002332,0x000C6FB9,0x000C6FB6,0x000C6FB3, -0x000C6FB0,0xE10021CE,0x000C6FAD,0x000C6FAA,0x000C6FA7,0x000C6FA4,0x000C6FA1,0x000C6F9E,0x000C6F9B,0x000C6F98, -0x80002334,0x81002335,0x82002336,0x000C6F95,0x000C6F92,0x000C6F8F,0x000C6F8C,0x000C6F89,0x000C6F86,0x000C6F83, -0x860022A0,0x870022EE,0xA8002338,0xA9002339,0xAA00233A,0xAB00233B,0xAC00233F,0xAD002340,0xAE002341,0xAF002342, -0xB0002343,0xB1002344,0xB2002345,0xB3002360,0xB4002361,0xB5002362,0xB6002363,0xB7002364,0xB8002365,0xB9002366, -0xBA002367,0xBB002368,0xBC002369,0xBD00236A,0xBE00236B,0xBF00236C,0x000C6F80,0x000C6F7D,0x000C6F7A,0x000C6F77, -0x000C6F74,0x000C6F71,0x000C6F6E,0x000C6F6B,0x000C6F68,0x000C6F65,0x000C6F62,0x000C6F5F,0x000C6F5C,0xE1002207, -0x80002371,0x81002372,0x82002373,0x000C6F59,0x000C6F56,0x000C6F53,0x000C6F50,0x860022DC,0x87002328,0x000C6F4D, -0x000C6F4A,0x000C6F47,0x000C6F44,0x000C6F41,0x000C6F3E,0x000C6F3B,0x000C6F38,0x000C6F35,0x000C6F32,0x000C6F2F, -0x000C6F2C,0x000C6F29,0xA8002377,0xA9002378,0xAA002379,0xAB00237A,0xAC00237B,0xAD00237C,0xAE00237D,0xAF00237E, -0xB000237F,0xB1002380,0xB2002381,0xB3002382,0xB4002383,0xB500239C,0xB600239D,0xB700239E,0xB800239F,0xB90023A0, -0xBA0023A1,0xBB0023A2,0xBC0023A3,0xBD0023A4,0xBE0023A5,0xBF0023A6,0x000C6F26,0x000C6F23,0x000C6F20,0x000C6F1D, -0x000C6F1A,0x000C6F17,0x000C6F14,0x000C6F11,0x000C6F0E,0x000C6F0B,0x000C6F08,0xE1002241,0x800023AB,0x810023AC, -0x820023AD,0x000C6F05,0x000C6F02,0x000C6EFF,0x000C6EFC,0x86002317,0x8700236D,0x000C6EF9,0x000C6EF6,0x000C6EF3, -0x000C6EF0,0x000C6EED,0x000C6EEA,0x000C6EE7,0x000C6EE4,0x000C6EE1,0x000C6EDE,0x000C6EDB,0x000C6ED8,0x000C6ED5, -0x000C6ED2,0xA80023B1,0xA90023B2,0xAA0023B3,0xAB0023B4,0xAC0023B5,0xAD0023B6,0xAE0023B7,0xAF0023B8,0xB00023B9, -0xB10023BA,0xB20023BB,0xB30023BC,0xB40023BD,0xB50023BE,0xB60023D7,0xB70023D8,0xB80023D9,0xB90023DA,0xBA0023DB, -0xBB0023DC,0xBC0023DD,0xBD0023DE,0xBE0023DF,0xBF0023E0,0x000C6ECF,0x000C6ECC,0x000C6EC9,0x000C6EC6,0x000C6EC3, -0x000C6EC0,0x000C6EBD,0x000C6EBA,0x000C6EB7,0x000C6EB4,0xE100227B,0x000C6EB1,0x000C6EAE,0x000C6EAB,0x000C6EA8, -0x000C6EA5,0x000C6EA2,0x000C6E9F,0x000C6E9C,0x000C6E99,0x000C6E96,0x000C6E93,0x800023E2,0x810023E3,0x820023E4, -0x000C6E90,0x000C6E8D,0x000C6E8A,0x000C6E87,0x8600234E,0x870023A7,0xA80023E6,0xA90023E7,0xAA0023E8,0xAB0023E9, -0xAC0023EA,0xAD0023EB,0xAE0023EC,0xAF0023F0,0xB00023F1,0xB10023F2,0xB20023F3,0xB300240E,0xB400240F,0xB5002410, -0xB6002411,0xB7002412,0xB8002413,0xB9002414,0xBA002415,0xBB002416,0xBC002417,0xBD002419,0xBE00241A,0xBF00241B, -0x000C6E84,0x000C6E81,0x000C6E7E,0x000C6E7B,0x000C6E78,0x000C6E75,0x000C6E72,0x000C6E6F,0x000C6E6C,0x000C6E69, -0xE10022C0,0x000C6E66,0x000C6E63,0x000C6E60,0x000C6E5D,0x000C6E5A,0x000C6E57,0x000C6E54,0x86002384,0x870023D6, -0x000C6E51,0x000C6E4E,0x000C6E4B,0x000C6E48,0x000C6E45,0x8000241C,0x8100241D,0x8200241E,0x000C6E42,0x000C6E3F, -0xA8002422,0xA9002423,0xAA002424,0xAB002425,0xAC002426,0xAD00242A,0xAE00242B,0xAF002444,0xB0002445,0xB1002446, -0xB2002447,0xB3002448,0xB4002449,0xB500244A,0xB600244B,0xB700244C,0xB800244D,0xB900244E,0xBA00244F,0xBB002450, -0xBC002451,0xBD002452,0xBE002453,0xBF002454,0x000C6E3C,0x000C6E39,0x000C6E36,0x000C6E33,0x000C6E30,0x000C6E2D, -0x000C6E2A,0x000C6E27,0x000C6E24,0x000C6E21,0x000C6E1E,0x000C6E1B,0x000C6E18,0x000C6E15,0x000C6E12,0x000C6E0F, -0x000C6E0C,0xE10022EF,0x80002459,0x8100245A,0x8200245B,0x000C6E09,0x000C6E06,0x000C6E03,0x000C6E00,0x000C6DFD, -0x000C6DFA,0x000C6DF7,0x000C6DF4,0x000C6DF1,0x000C6DEE,0x000C6DEB,0x000C6DE8,0x000C6DE5,0x000C6DE2,0x860023C1, -0x87002418,0xA800245D,0xA900245E,0xAA00245F,0xAB002460,0xAC002461,0xAD002462,0xAE002463,0xAF002464,0xB0002465, -0xB1002466,0xB2002481,0xB3002482,0xB4002483,0xB5002484,0xB6002485,0xB7002486,0xB8002487,0xB9002488,0xBA002489, -0xBB00248A,0xBC00248B,0xBD00248C,0xBE00248D,0xBF00248E,0x000C6DDF,0x000C6DDC,0x000C6DD9,0x000C6DD6,0x000C6DD3, -0x000C6DD0,0x000C6DCD,0x000C6DCA,0x000C6DC7,0x000C6DC4,0x000C6DC1,0x000C6DBE,0x000C6DBB,0x000C6DB8,0xE1002329, -0x000C6DB5,0x000C6DB2,0x000C6DAF,0x000C6DAC,0x000C6DA9,0x000C6DA6,0x000C6DA3,0x000C6DA0,0x80002490,0x81002491, -0x82002492,0x000C6D9D,0x000C6D9A,0x000C6D97,0x000C6D94,0x000C6D91,0x000C6D8E,0x000C6D8B,0x000C6D88,0x000C6D85, -0x000C6D82,0x000C6D7F,0x86002400,0x87002455,0xA8002494,0xA9002495,0xAA002496,0xAB002497,0xAC00249B,0xAD00249C, -0xAE00249D,0xAF00249E,0xB000249F,0xB10024A0,0xB20024A1,0xB30024A2,0xB40024A3,0xB50024A4,0xB60024A5,0xB70024C0, -0xB80024C1,0xB90024C2,0xBA0024C3,0xBB0024C4,0xBC0024C5,0xBD0024C7,0xBE0024C8,0xBF0024C9,0x000C6D7C,0x000C6D79, -0x000C6D76,0x000C6D73,0x000C6D70,0x000C6D6D,0xE100236E,0x000C6D6A,0x000C6D67,0x000C6D64,0x000C6D61,0x000C6D5E, -0x000C6D5B,0x000C6D58,0x000C6D55,0x000C6D52,0x000C6D4F,0x000C6D4C,0x000C6D49,0x000C6D46,0x000C6D43,0x800024CA, -0x810024CB,0x820024CC,0x000C6D40,0x000C6D3D,0x000C6D3A,0x000C6D37,0x86002436,0x8700248F,0xA80024CE,0xA90024CF, -0xAA0024D0,0xAB0024D1,0xAC0024D2,0xAD0024D3,0xAE0024D4,0xAF0024D8,0xB00024D9,0xB10024DA,0xB20024DB,0xB30024F6, -0xB40024F7,0xB50024F8,0xB60024F9,0xB70024FA,0xB80024FB,0xB90024FC,0xBA0024FD,0xBB0024FE,0xBC0024FF,0xBD002501, -0xBE002502,0xBF002503,0x000C6D34,0x000C6D31,0x000C6D2E,0x000C6D2B,0x000C6D28,0x000C6D25,0x000C6D22,0x000C6D1F, -0x000C6D1C,0x000C6D19,0xE100239A,0x000C6D16,0x000C6D13,0x000C6D10,0x000C6D0D,0x000C6D0A,0x000C6D07,0x000C6D04, -0x000C6D01,0x000C6CFE,0x000C6CFB,0x000C6CF8,0x000C6CF5,0x000C6CF2,0x000C6CEF,0x80002504,0x81002505,0x82002506, -0x000C6CEC,0x000C6CE9,0x000C6CE6,0x000C6CE3,0x000C6CE0,0x000C6CDD,0x000C6CDA,0x000C6CD7,0x000C6CD4,0x000C6CD1, -0x000C6CCE,0x000C6CCB,0x86002478,0x870024BE,0xA8002508,0xA9002509,0xAA00250A,0xAB00250B,0xAC00250C,0xAD00250D, -0xAE00250E,0xAF002512,0xB0002513,0xB1002514,0xB2002515,0xB3002516,0xB4002517,0xB5002518,0xB6002519,0xB700251A, -0xB800251B,0xB900251C,0xBA00251D,0xBB002538,0xBC002539,0xBD00253A,0xBE00253B,0xBF00253C,0x000C6CC8,0x000C6CC5, -0x000C6CC2,0x000C6CBF,0x000C6CBC,0xE10023E1,0x80002541,0x81002542,0x82002543,0x000C6CB9,0x000C6CB6,0x000C6CB3, -0x000C6CB0,0x860024A6,0x87002500,0x000C6CAD,0x000C6CAA,0x000C6CA7,0x000C6CA4,0x000C6CA1,0x000C6C9E,0x000C6C9B, -0xA8002547,0xA9002548,0xAA002549,0xAB00254A,0xAC00254B,0xAD00254C,0xAE00254D,0xAF002566,0xB0002567,0xB1002568, -0xB2002569,0xB300256A,0xB400256B,0xB500256C,0xB600256D,0xB700256E,0xB800256F,0xB9002570,0xBA002571,0xBB002572, -0xBC002573,0xBD002575,0xBE002576,0xBF002577,0x000C6C98,0x000C6C95,0x000C6C92,0x000C6C8F,0x000C6C8C,0x000C6C89, -0x000C6C86,0x000C6C83,0x000C6C80,0x000C6C7D,0x000C6C7A,0x000C6C77,0x000C6C74,0x000C6C71,0xE1002420,0x000C6C6E, -0x000C6C6B,0x000C6C68,0x000C6C65,0x000C6C62,0x000C6C5F,0x000C6C5C,0x000C6C59,0x000C6C56,0x000C6C53,0x000C6C50, -0x80002578,0x81002579,0x8200257A,0x000C6C4D,0x000C6C4A,0x000C6C47,0x000C6C44,0x000C6C41,0x000C6C3E,0x000C6C3B, -0x000C6C38,0x000C6C35,0x000C6C32,0x000C6C2F,0x000C6C2C,0x000C6C29,0x000C6C26,0x000C6C23,0x000C6C20,0x000C6C1D, -0x000C6C1A,0x86002510,0x8700251E,0x000C6C17,0x000C6C14,0x000C6C11,0x000C6C0E,0x000C6C0B,0x000C6C08,0x000C6C05, -0x80002599,0x8100259A,0x8200259B,0x000C6C02,0x000C6BFF,0x000C6BFC,0x000C6BF9,0x86002528,0x87002574,0x000C6BF6, -0x000C6BF3,0x000C6BF0,0x000C6BED,0x000C6BEA,0x000C6BE7,0x000C6BE4,0xE1002456,0x000C6BE1,0x000C6BDE,0x000C6BDB, -0x000C6BD8,0x000C6BD5,0x000C6BD2,0x000C6BCF,0x000C6BCC,0x000C6BC9,0xA800257C,0xA900257D,0xAA00257E,0xAB00257F, -0xAC002583,0xAD002584,0xAE002585,0xAF002586,0xB0002587,0xB1002588,0xB2002589,0xB300258A,0xB400258B,0xB500258C, -0xB600258D,0xB700258E,0xB800258F,0xB9002590,0xBA002591,0xBB002592,0xBC002593,0xBD002594,0xBE002597,0xBF002598, -0xA800259D,0xA90025A1,0xAA0025A2,0xAB0025A3,0xAC0025A4,0xAD0025A7,0xAE0025A8,0xAF0025A9,0xB00025AA,0xB10025AB, -0xB20025AC,0xB30025AD,0xB40025AF,0xB50025B0,0xB60025B1,0xB70025B2,0xB80025B3,0xB90025B4,0xBA0025B5,0xBB0025B6, -0xBC0025B7,0xBD0025E9,0xBE0025EA,0xBF0025EB,0xE1002498,0x000C6BC6,0x000C6BC3,0x000C6BC0,0x000C6BBD,0x000C6BBA, -0x000C6BB7,0x000C6BB4,0x000C6BB1,0x000C6BAE,0x000C6BAB,0x000C6BA8,0x800025EC,0x810025ED,0x820025EE,0x000C6BA5, -0x000C6BA2,0x000C6B9F,0x000C6B9C,0x000C6B99,0x000C6B96,0x000C6B93,0x000C6B90,0x000C6B8D,0x000C6B8A,0x000C6B87, -0x000C6B84,0x000C6B81,0x000C6B7E,0x000C6B7B,0x86002560,0x870025A6,0xA80025F0,0xA90025F1,0xAA0025F2,0xAB0025F3, -0xAC0025F7,0xAD0025F8,0xAE0025F9,0xAF0025FA,0xB00025FB,0xB10025FC,0xB20025FD,0xB30025FE,0xB40025FF,0xB5002600, -0xB6002601,0xB7002602,0xB8002603,0xB9002604,0xBA002605,0xBB002620,0xBC002621,0xBD002622,0xBE002623,0xBF002624, -0x000C6B78,0x000C6B75,0x000C6B72,0x000C6B6F,0x000C6B6C,0xE10024BF,0x80002629,0x8100262A,0x8200262B,0x000C6B69, -0x000C6B66,0x000C6B63,0x000C6B60,0x000C6B5D,0x000C6B5A,0x000C6B57,0x000C6B54,0x000C6B51,0x000C6B4E,0x000C6B4B, -0x86002595,0x870025E0,0x000C6B48,0x000C6B45,0x000C6B42,0x000C6B3F,0x000C6B3C,0x000C6B39,0x000C6B36,0xA800262D, -0xA900262E,0xAA00262F,0xAB002630,0xAC002631,0xAD002632,0xAE002633,0xAF002636,0xB0002637,0xB1002638,0xB2002639, -0xB300263A,0xB400263B,0xB500263C,0xB6002655,0xB7002656,0xB8002657,0xB9002658,0xBA002659,0xBB00265A,0xBC00265B, -0xBD00265D,0xBE00265E,0xBF00265F,0x000C6B33,0x000C6B30,0x000C6B2D,0x000C6B2A,0x000C6B27,0x000C6B24,0x000C6B21, -0xE100250F,0x000C6B1E,0x000C6B1B,0x000C6B18,0x80002663,0x81002664,0x82002665,0x000C6B15,0x000C6B12,0x000C6B0F, -0x850025DD,0x000C6B0C,0x860025F4,0x87002619,0x000C6B09,0x000C6B06,0x000C6B03,0x000C6B00,0x000C6AFD,0x000C6AFA, -0x000C6AF7,0x000C6AF4,0x000C6AF1,0x000C6AEE,0x000C6AEB,0x000C6AE8,0x000C6AE5,0xE10025E1,0x000C6AE2,0x000C6ADF, -0x000C6ADC,0x000C6AD9,0x000C6AD6,0xE100251F,0xA1002667,0xA20026B7,0xA30026D9,0xA400272B,0xA5002765,0xA600279C, -0xA70027C1,0xA8002813,0xA900284A,0xAA002884,0xAB0028BE,0xAC0028FB,0xAD002935,0xAE00296F,0xAF0029A6,0xB00029E0, -0xB1002A1A,0xB2002A54,0xB3002A8E,0xB4002ACB,0xB5002B05,0x000C6AD3,0x000C6AD0,0x000C6ACD,0x000C6ACA,0x000C6AC7, -0x000C6AC4,0x800026B4,0x810026B5,0x820026B6,0xA800266A,0xA900266B,0xAA00266C,0xAB00266D,0xAC00266E,0xAD00266F, -0xAE002670,0xAF002671,0xB0002672,0xB1002673,0xB2002674,0xB3002675,0xB4002676,0xB5002678,0xB6002679,0xB700267A, -0xB800267B,0xB900267C,0xBA002693,0xBB002694,0xBC002695,0xBD002696,0xBE002697,0xBF002698,0x000C6AC1,0x000C6ABE, -0x000C6ABB,0x000C6AB8,0x000C6AB5,0x000C6AB2,0x86002635,0x87002653,0x000C6AAF,0x000C6AAC,0x000C6AA9,0x000C6AA6, -0x000C6AA3,0x000C6AA0,0x000C6A9D,0x000C6A9A,0x000C6A97,0x000C6A94,0x000C6A91,0x000C6A8E,0x000C6A8B,0x000C6A88, -0x000C6A85,0x000C6A82,0x000C6A7F,0x000C6A7C,0x000C6A79,0x000C6A76,0xE1002580,0x000C6A73,0x000C6A70,0x800026D6, -0x810026D7,0x820026D8,0x000C6A6D,0x000C6A6A,0x000C6A67,0x000C6A64,0x8600264D,0x870026A5,0x000C6A61,0xA80026B8, -0xA90026B9,0xAA0026BC,0xAB0026BD,0xAC0026BE,0xAD0026BF,0xAE0026C0,0xAF0026C1,0xB00026C2,0xB10026C3,0xB20026C4, -0xB30026C5,0xB40026C6,0xB50026C7,0xB60026C8,0xB70026C9,0xB80026CA,0xB90026CB,0xBA0026CC,0xBB0026CD,0xBC0026CE, -0xBD0026CF,0xBE0026D1,0xBF0026D2,0xA80026DC,0xA900270E,0xAA00270F,0xAB002710,0xAC002711,0xAD002712,0xAE002713, -0xAF002714,0xB0002715,0xB1002716,0xB2002717,0xB3002718,0xB4002719,0xB500271A,0xB600271B,0xB700271C,0xB800271D, -0xB900271E,0xBA00271F,0xBB002720,0xBC002721,0xBD002722,0xBE002723,0xBF002724,0xE10025AE,0x000C6A5E,0x000C6A5B, -0x000C6A58,0x000C6A55,0x000C6A52,0x000C6A4F,0x000C6A4C,0x000C6A49,0x000C6A46,0x000C6A43,0x000C6A40,0x000C6A3D, -0x000C6A3A,0x000C6A37,0x000C6A34,0x000C6A31,0x000C6A2E,0x000C6A2B,0x000C6A28,0x000C6A25,0x000C6A22,0x000C6A1F, -0x000C6A1C,0x80002728,0x81002729,0x8200272A,0x000C6A19,0x000C6A16,0x000C6A13,0x000C6A10,0x86002686,0x870026DF, -0xA8002746,0xA9002747,0xAA002749,0xAB00274A,0xAC00274B,0xAD00274C,0xAE00274D,0xAF00274E,0xB000274F,0xB1002750, -0xB2002751,0xB3002752,0xB4002753,0xB5002754,0xB6002755,0xB7002756,0xB8002757,0xB9002758,0xBA002759,0xBB00275A, -0xBC00275B,0xBD00275C,0xBE00275D,0xBF00275E,0x000C6A0D,0x000C6A0A,0xE10025E2,0x000C6A07,0x000C6A04,0x000C6A01, -0x000C69FE,0x000C69FB,0x000C69F8,0x000C69F5,0x000C69F2,0x000C69EF,0x000C69EC,0x000C69E9,0x000C69E6,0x000C69E3, -0x000C69E0,0x000C69DD,0x000C69DA,0x000C69D7,0x000C69D4,0x000C69D1,0x000C69CE,0x000C69CB,0x000C69C8,0x80002762, -0x81002763,0x82002764,0x000C69C5,0x000C69C2,0x000C69BF,0x000C69BC,0x860026D0,0x87002725,0x000C69B9,0x000C69B6, -0x000C69B3,0x000C69B0,0x000C69AD,0x000C69AA,0x000C69A7,0x000C69A4,0x000C69A1,0x000C699E,0x000C699B,0x000C6998, -0x000C6995,0x000C6992,0x000C698F,0x000C698C,0xA8002768,0xA9002769,0xAA00276A,0xAB00276B,0xAC00276C,0xAD00276D, -0xAE00276E,0xAF00276F,0xB0002770,0xB1002771,0xB2002772,0xB3002773,0xB4002774,0xB5002775,0xB6002776,0xB7002777, -0xB8002790,0xB9002791,0xBA002792,0xBB002793,0xBC002794,0xBD002795,0xBE002796,0xBF002797,0x000C6989,0x000C6986, -0x000C6983,0x000C6980,0x000C697D,0x000C697A,0x000C6977,0x000C6974,0xE1002634,0x000C6971,0x000C696E,0x000C696B, -0x000C6968,0x000C6965,0x000C6962,0x000C695F,0x000C695C,0x000C6959,0x000C6956,0x000C6953,0x000C6950,0x80002799, -0x8100279A,0x8200279B,0x000C694D,0x000C694A,0x000C6947,0x000C6944,0x86002727,0x8700273B,0x000C6941,0x000C693E, -0x000C693B,0x000C6938,0x000C6935,0x000C6932,0x000C692F,0x000C692C,0x000C6929,0x000C6926,0x000C6923,0x000C6920, -0xE1002654,0x800027BE,0x810027BF,0x820027C0,0x000C691D,0x000C691A,0x000C6917,0x000C6914,0x8600273F,0x8700278D, -0x000C6911,0x000C690E,0x000C690B,0x000C6908,0x000C6905,0x000C6902,0x000C68FF,0x000C68FC,0x000C68F9,0x000C68F6, -0x000C68F3,0xA800279D,0xA900279E,0xAA00279F,0xAB0027A0,0xAC0027A1,0xAD0027A2,0xAE0027A3,0xAF0027A4,0xB00027A8, -0xB10027A9,0xB20027AA,0xB30027AB,0xB40027AE,0xB50027AF,0xB60027B0,0xB70027B1,0xB80027B2,0xB90027B3,0xBA0027B4, -0xBB0027B5,0xBC0027B6,0xBD0027B7,0xBE0027B8,0xBF0027B9,0xA80027C4,0xA90027C5,0xAA0027C6,0xAB0027C7,0xAC0027C8, -0xAD0027C9,0xAE0027CA,0xAF0027CB,0xB00027CC,0xB10027CD,0xB20027CE,0xB30027FF,0xB4002800,0xB5002801,0xB6002802, -0xB7002803,0xB8002804,0xB9002805,0xBA002806,0xBB002807,0xBC002808,0xBD002809,0xBE00280A,0xBF00280B,0x000C68F0, -0x000C68ED,0x000C68EA,0x000C68E7,0x000C68E4,0x000C68E1,0x000C68DE,0x000C68DB,0x000C68D8,0x000C68D5,0x000C68D2, -0x000C68CF,0x000C68CC,0xE10026A6,0x80002810,0x81002811,0x82002812,0x000C68C9,0x000C68C6,0x000C68C3,0x000C68C0, -0x86002778,0x870027CF,0x000C68BD,0x000C68BA,0x000C68B7,0x000C68B4,0x000C68B1,0x000C68AE,0x000C68AB,0x000C68A8, -0x000C68A5,0x000C68A2,0xA8002816,0xA9002817,0xAA002818,0xAB002819,0xAC00281A,0xAD00281B,0xAE00281C,0xAF00281D, -0xB000281E,0xB100281F,0xB2002838,0xB3002839,0xB400283A,0xB500283B,0xB600283C,0xB700283D,0xB800283E,0xB900283F, -0xBA002840,0xBB002841,0xBC002842,0xBD002843,0xBE002844,0xBF002845,0x000C689F,0x000C689C,0x000C6899,0x000C6896, -0x000C6893,0x000C6890,0x000C688D,0x000C688A,0x000C6887,0x000C6884,0x000C6881,0x000C687E,0x000C687B,0x000C6878, -0xE10026E0,0x000C6875,0x000C6872,0x000C686F,0x000C686C,0x000C6869,0x000C6866,0x000C6863,0x000C6860,0x80002847, -0x81002848,0x82002849,0x000C685D,0x000C685A,0x000C6857,0x000C6854,0x860027BA,0x8700280C,0x000C6851,0x000C684E, -0x000C684B,0x000C6848,0x000C6845,0x000C6842,0x000C683F,0x000C683C,0x000C6839,0x000C6836,0xA800284B,0xA900284C, -0xAA00284D,0xAB00284E,0xAC002852,0xAD002853,0xAE002854,0xAF002855,0xB0002858,0xB1002859,0xB200285A,0xB300285B, -0xB400285C,0xB500285D,0xB600285E,0xB700285F,0xB8002860,0xB9002861,0xBA00287A,0xBB00287B,0xBC00287C,0xBD00287E, -0xBE00287F,0xBF002880,0x000C6833,0x000C6830,0x000C682D,0xE1002726,0x000C682A,0x000C6827,0x000C6824,0x000C6821, -0x000C681E,0x000C681B,0x000C6818,0x000C6815,0x000C6812,0x000C680F,0x000C680C,0x000C6809,0x000C6806,0x000C6803, -0x80002881,0x81002882,0x82002883,0x000C6800,0x000C67FD,0x000C67FA,0x000C67F7,0x860027FB,0x87002846,0x000C67F4, -0x000C67F1,0x000C67EE,0x000C67EB,0x000C67E8,0x000C67E5,0x000C67E2,0x000C67DF,0x000C67DC,0x000C67D9,0x000C67D6, -0x000C67D3,0x000C67D0,0xE100273C,0xA8002885,0xA9002886,0xAA002887,0xAB002888,0xAC002889,0xAD00288A,0xAE00288B, -0xAF00288F,0xB0002890,0xB1002891,0xB2002892,0xB3002895,0xB4002896,0xB5002897,0xB6002898,0xB7002899,0xB800289A, -0xB900289B,0xBA00289C,0xBB00289D,0xBC00289E,0xBD00289F,0xBE0028A0,0xBF0028A1,0x000C67CD,0x000C67CA,0x000C67C7, -0x000C67C4,0x000C67C1,0x000C67BE,0x000C67BB,0x000C67B8,0x000C67B5,0x000C67B2,0x000C67AF,0x800028BB,0x810028BC, -0x820028BD,0x000C67AC,0x000C67A9,0x000C67A6,0x000C67A3,0x000C67A0,0x000C679D,0x000C679A,0x000C6797,0x000C6794, -0x000C6791,0x000C678E,0x000C678B,0x8600282F,0x87002875,0xA80028BF,0xA90028C0,0xAA0028C1,0xAB0028C2,0xAC0028C3, -0xAD0028C4,0xAE0028C5,0xAF0028C9,0xB00028CA,0xB10028CB,0xB20028CC,0xB30028CD,0xB40028CE,0xB50028CF,0xB60028D0, -0xB70028D1,0xB80028D2,0xB90028D3,0xBA0028D4,0xBB0028EF,0xBC0028F0,0xBD0028F1,0xBE0028F2,0xBF0028F3,0x000C6788, -0x000C6785,0x000C6782,0x000C677F,0x000C677C,0xE100278E,0x800028F8,0x810028F9,0x820028FA,0x000C6779,0x000C6776, -0x000C6773,0x000C6770,0x86002856,0x870028AF,0xA8002916,0xA9002917,0xAA002918,0xAB002919,0xAC00291A,0xAD00291B, -0xAE00291C,0xAF00291D,0xB000291E,0xB100291F,0xB2002920,0xB3002921,0xB4002922,0xB5002923,0xB6002924,0xB7002925, -0xB8002926,0xB9002927,0xBA002928,0xBB002929,0xBC00292A,0xBD00292C,0xBE00292D,0xBF00292E,0x000C676D,0x000C676A, -0x000C6767,0x000C6764,0x000C6761,0x000C675E,0x000C675B,0x000C6758,0x000C6755,0x000C6752,0x000C674F,0x000C674C, -0x000C6749,0x000C6746,0x000C6743,0x000C6740,0x000C673D,0x000C673A,0x000C6737,0x000C6734,0x000C6731,0xE10027D0, -0x000C672E,0x000C672B,0x000C6728,0x80002932,0x81002933,0x82002934,0x000C6725,0x000C6722,0x000C671F,0x000C671C, -0x86002893,0x870028E9,0x000C6719,0x000C6716,0x000C6713,0xA8002938,0xA9002939,0xAA00293A,0xAB002953,0xAC002954, -0xAD002955,0xAE002956,0xAF002957,0xB0002958,0xB1002959,0xB200295A,0xB300295B,0xB400295C,0xB500295D,0xB600295E, -0xB700295F,0xB8002960,0xB9002961,0xBA002962,0xBB002963,0xBC002964,0xBD002966,0xBE002967,0xBF002968,0x000C6710, -0x000C670D,0x000C670A,0x000C6707,0x000C6704,0x000C6701,0x000C66FE,0x000C66FB,0x000C66F8,0x000C66F5,0x000C66F2, -0x000C66EF,0x000C66EC,0x000C66E9,0x000C66E6,0x000C66E3,0x000C66E0,0x000C66DD,0xE100280D,0x000C66DA,0x000C66D7, -0x000C66D4,0x8000296C,0x8100296D,0x8200296E,0x000C66D1,0x000C66CE,0x000C66CB,0x000C66C8,0x860028D5,0x8700292B, -0x000C66C5,0x000C66C2,0x000C66BF,0x000C66BC,0x000C66B9,0x000C66B6,0x000C66B3,0x000C66B0,0x000C66AD,0x000C66AA, -0x000C66A7,0xA8002972,0xA9002973,0xAA002974,0xAB002975,0xAC002976,0xAD002977,0xAE002978,0xAF002979,0xB000297A, -0xB100297B,0xB200297C,0xB3002995,0xB4002996,0xB5002997,0xB6002998,0xB7002999,0xB800299A,0xB900299B,0xBA00299C, -0xBB00299D,0xBC00299E,0xBD0029A0,0xBE0029A1,0xBF0029A2,0x000C66A4,0x000C66A1,0x000C669E,0x000C669B,0x000C6698, -0x000C6695,0x000C6692,0x000C668F,0x000C668C,0x000C6689,0xE100284F,0x000C6686,0x000C6683,0x000C6680,0x000C667D, -0x000C667A,0x000C6677,0x000C6674,0x000C6671,0x000C666E,0x000C666B,0x000C6668,0x800029A3,0x810029A4,0x820029A5, -0x000C6665,0x000C6662,0x000C665F,0x000C665C,0x000C6659,0x000C6656,0x000C6653,0x8600290F,0x87002965,0xA80029A7, -0xA90029A8,0xAA0029A9,0xAB0029AA,0xAC0029AE,0xAD0029AF,0xAE0029B0,0xAF0029B1,0xB00029B2,0xB10029B3,0xB20029B4, -0xB30029CF,0xB40029D0,0xB50029D1,0xB60029D2,0xB70029D3,0xB80029D4,0xB90029D5,0xBA0029D6,0xBB0029D7,0xBC0029D8, -0xBD0029D9,0xBE0029DA,0xBF0029DB,0x000C6650,0x000C664D,0x000C664A,0x000C6647,0x000C6644,0x000C6641,0x000C663E, -0x000C663B,0x000C6638,0x000C6635,0x000C6632,0x000C662F,0x000C662C,0xE1002876,0x000C6629,0x000C6626,0x000C6623, -0x000C6620,0x000C661D,0x000C661A,0x000C6617,0x000C6614,0x800029DD,0x810029DE,0x820029DF,0x000C6611,0x000C660E, -0x000C660B,0x000C6608,0x000C6605,0x000C6602,0x000C65FF,0x86002949,0x8700299F,0xA80029E1,0xA90029E2,0xAA0029E3, -0xAB0029E4,0xAC0029E8,0xAD0029E9,0xAE0029EA,0xAF0029EB,0xB00029EC,0xB10029ED,0xB20029EE,0xB3002A09,0xB4002A0A, -0xB5002A0B,0xB6002A0C,0xB7002A0D,0xB8002A0E,0xB9002A0F,0xBA002A10,0xBB002A11,0xBC002A12,0xBD002A13,0xBE002A14, -0xBF002A15,0x000C65FC,0x000C65F9,0x000C65F6,0x000C65F3,0x000C65F0,0x000C65ED,0x000C65EA,0x000C65E7,0x000C65E4, -0x000C65E1,0x000C65DE,0x000C65DB,0x000C65D8,0xE10028B0,0x000C65D5,0x000C65D2,0x000C65CF,0x000C65CC,0x000C65C9, -0x000C65C6,0x000C65C3,0x000C65C0,0x80002A17,0x81002A18,0x82002A19,0x000C65BD,0x000C65BA,0x000C65B7,0x000C65B4, -0x000C65B1,0x000C65AE,0x000C65AB,0x000C65A8,0x000C65A5,0x000C65A2,0x000C659F,0x000C659C,0x000C6599,0x000C6596, -0x000C6593,0x8600298B,0x870029DC,0xA8002A1B,0xA9002A1C,0xAA002A1D,0xAB002A1E,0xAC002A22,0xAD002A23,0xAE002A24, -0xAF002A25,0xB0002A26,0xB1002A27,0xB2002A28,0xB3002A29,0xB4002A2A,0xB5002A2B,0xB6002A2C,0xB7002A2D,0xB8002A2E, -0xB9002A2F,0xBA002A30,0xBB002A4B,0xBC002A4C,0xBD002A4D,0xBE002A4E,0xBF002A4F,0x000C6590,0x000C658D,0x000C658A, -0x000C6587,0x000C6584,0xE10028EA,0x000C6581,0x000C657E,0x000C657B,0x000C6578,0x000C6575,0x000C6572,0x000C656F, -0x000C656C,0x000C6569,0x000C6566,0x000C6563,0x80002A51,0x81002A52,0x82002A53,0x000C6560,0x000C655D,0x000C655A, -0x000C6557,0x000C6554,0x000C6551,0x000C654E,0x000C654B,0x000C6548,0x000C6545,0x000C6542,0x000C653F,0x860029C5, -0x87002A16,0xA8002A55,0xA9002A56,0xAA002A57,0xAB002A58,0xAC002A59,0xAD002A5A,0xAE002A5B,0xAF002A5F,0xB0002A60, -0xB1002A61,0xB2002A62,0xB3002A63,0xB4002A64,0xB5002A65,0xB6002A66,0xB7002A67,0xB8002A68,0xB9002A69,0xBA002A6A, -0xBB002A85,0xBC002A86,0xBD002A88,0xBE002A89,0xBF002A8A,0x000C653C,0x000C6539,0xE100292F,0x000C6536,0x000C6533, -0x000C6530,0x000C652D,0x000C652A,0x000C6527,0x000C6524,0x000C6521,0x000C651E,0x000C651B,0x000C6518,0x000C6515, -0x000C6512,0x000C650F,0x80002A8B,0x81002A8C,0x82002A8D,0x000C650C,0x000C6509,0x000C6506,0x000C6503,0x000C6500, -0x000C64FD,0x000C64FA,0x000C64F7,0x000C64F4,0x000C64F1,0x000C64EE,0x000C64EB,0x860029FF,0x87002A45,0xA8002A8F, -0xA9002A90,0xAA002A91,0xAB002A92,0xAC002A93,0xAD002A94,0xAE002A95,0xAF002A99,0xB0002A9A,0xB1002A9B,0xB2002A9C, -0xB3002A9D,0xB4002A9E,0xB5002A9F,0xB6002AA0,0xB7002AA1,0xB8002AA2,0xB9002AA3,0xBA002AA4,0xBB002ABF,0xBC002AC0, -0xBD002AC2,0xBE002AC3,0xBF002AC4,0x000C64E8,0x000C64E5,0xE1002969,0x000C64E2,0x000C64DF,0x000C64DC,0x80002AC8, -0x81002AC9,0x82002ACA,0x000C64D9,0x000C64D6,0x000C64D3,0x000C64D0,0x86002A31,0x87002A7F,0x000C64CD,0x000C64CA, -0x000C64C7,0x000C64C4,0x000C64C1,0x000C64BE,0x000C64BB,0x000C64B8,0x000C64B5,0x000C64B2,0x000C64AF,0xA8002ACE, -0xA9002ACF,0xAA002AD0,0xAB002AD1,0xAC002AD2,0xAD002AD3,0xAE002AD4,0xAF002AD5,0xB0002AD6,0xB1002AD7,0xB2002AD8, -0xB3002AF1,0xB4002AF2,0xB5002AF3,0xB6002AF4,0xB7002AF5,0xB8002AF6,0xB9002AF7,0xBA002AF8,0xBB002AF9,0xBC002AFA, -0xBD002AFC,0xBE002AFD,0xBF002AFE,0x000C64AC,0x000C64A9,0x000C64A6,0x000C64A3,0x000C64A0,0x000C649D,0x000C649A, -0x000C6497,0x000C6494,0x000C6491,0xE10029AB,0x000C648E,0x000C648B,0x000C6488,0x80002B02,0x81002B03,0x82002B04, -0x000C6485,0x000C6482,0x000C647F,0x000C647C,0x86002A6B,0x87002AB9,0x000C6479,0x000C6476,0x000C6473,0x000C6470, -0x000C646D,0x000C646A,0x000C6467,0x000C6464,0x000C6461,0x000C645E,0x000C645B,0xA8002B08,0xA9002B09,0xAA002B0A, -0xAB002B0B,0xAC002B0C,0xAD002B0D,0xAE002B0E,0xAF002B0F,0xB0002B10,0xB1002B11,0xB2002B12,0xB3002B2B,0xB4002B2C, -0xB5002B2D,0xB6002B2E,0xB7002B2F,0xB8002B30,0xB9002B31,0xBA002B32,0xBB002B33,0xBC002B34,0xBD002B36,0xBE002B37, -0xBF002B38,0x000C6458,0x000C6455,0x000C6452,0x000C644F,0x000C644C,0x000C6449,0x000C6446,0x000C6443,0x000C6440, -0x000C643D,0xE10029E5,0x000C643A,0x000C6437,0x000C6434,0x80002B3C,0x81002B3D,0x82002B3E,0x000C6431,0x000C642E, -0x000C642B,0xE1002ABB,0x85002AA5,0x000C6428,0x86002ACC,0x87002B13,0x000C6425,0x000C6422,0xA1002B41,0xA2002B8D, -0xA3002BCA,0xA4002C04,0xA5002C3E,0xA6002C78,0xA7002CB2,0xA8002CE9,0xA9002D26,0xAA002D60,0xAB002D97,0xAC002DD1, -0xAD002E0E,0xAE002E45,0xAF002E7F,0xB0002EB9,0xB1002EF6,0xB2002F2D,0xB3002F4E,0xB4002FA1,0xB5002FDE,0x000C641F, -0x000C641C,0x000C6419,0x000C6416,0x000C6413,0x000C6410,0x000C640D,0x000C640A,0x000C6407,0x000C6404,0x000C6401, -0x000C63FE,0x000C63FB,0x000C63F8,0x000C63F5,0x000C63F2,0x000C63EF,0x000C63EC,0x000C63E9,0x000C63E6,0xE1002A1F, -0x000C63E3,0x000C63E0,0x000C63DD,0x000C63DA,0xA8002B44,0xA9002B45,0xAA002B5B,0xAB002B5C,0xAC002B5D,0xAD002B5E, -0xAE002B5F,0xAF002B60,0xB0002B61,0xB1002B62,0xB2002B63,0xB3002B64,0xB4002B65,0xB5002B66,0xB6002B67,0xB7002B68, -0xB8002B69,0xB9002B6A,0xBA002B6B,0xBB002B6C,0xBC002B6D,0xBD002B6E,0xBE002B70,0xBF002B71,0x000C63D7,0x000C63D4, -0x000C63D1,0x000C63CE,0x000C63CB,0x000C63C8,0x000C63C5,0x80002B72,0x81002B73,0x82002B8C,0x000C63C2,0x000C63BF, -0x000C63BC,0x000C63B9,0x86002B06,0x87002B46,0x000C63B6,0x000C63B3,0x000C63B0,0x000C63AD,0x000C63AA,0x000C63A7, -0x000C63A4,0x000C63A1,0x000C639E,0x000C639B,0x000C6398,0x000C6395,0x000C6392,0x000C638F,0x000C638C,0x000C6389, -0xE1002A46,0x000C6386,0xA8002B8E,0xA9002B8F,0xAA002B90,0xAB002B91,0xAC002B92,0xAD002B96,0xAE002B97,0xAF002B98, -0xB0002B99,0xB1002B9C,0xB2002B9D,0xB3002B9E,0xB4002B9F,0xB5002BA0,0xB6002BA1,0xB7002BA2,0xB8002BA3,0xB9002BA4, -0xBA002BA5,0xBB002BA6,0xBC002BA7,0xBD002BA8,0xBE002BA9,0xBF002BAA,0x80002BAB,0x81002BAD,0x82002BC9,0x000C6383, -0x000C6380,0x000C637D,0x000C637A,0x86002B3F,0x87002B7F,0x000C6377,0x000C6374,0x000C6371,0x000C636E,0x000C636B, -0x000C6368,0x000C6365,0x000C6362,0x000C635F,0x000C635C,0x000C6359,0x000C6356,0x000C6353,0x000C6350,0x000C634D, -0x000C634A,0x000C6347,0x000C6344,0x000C6341,0x000C633E,0x000C633B,0x000C6338,0x000C6335,0xE1002A80,0xA8002BCB, -0xA9002BCC,0xAA002BCF,0xAB002BD0,0xAC002BD1,0xAD002BD2,0xAE002BD3,0xAF002BD4,0xB0002BD5,0xB1002BD6,0xB2002BD7, -0xB3002BD8,0xB4002BD9,0xB5002BDA,0xB6002BDB,0xB7002BDC,0xB8002BDD,0xB9002BDE,0xBA002BDF,0xBB002BE0,0xBC002BE1, -0xBD002BE2,0xBE002BE3,0xBF002BE4,0x80002BE5,0x81002C02,0x82002C03,0x000C6332,0x000C632F,0x000C632C,0x000C6329, -0x86002B7B,0x87002BBB,0x000C6326,0x000C6323,0x000C6320,0x000C631D,0x000C631A,0x000C6317,0x000C6314,0x000C6311, -0x000C630E,0x000C630B,0x000C6308,0x000C6305,0x000C6302,0x000C62FF,0x000C62FC,0x000C62F9,0x000C62F6,0x000C62F3, -0x000C62F0,0x000C62ED,0x000C62EA,0x000C62E7,0x000C62E4,0x000C62E1,0x000C62DE,0x000C62DB,0xE1002ABC,0xA8002C05, -0xA9002C08,0xAA002C09,0xAB002C0A,0xAC002C0B,0xAD002C0C,0xAE002C0D,0xAF002C0E,0xB0002C0F,0xB1002C10,0xB2002C11, -0xB3002C12,0xB4002C13,0xB5002C14,0xB6002C15,0xB7002C16,0xB8002C17,0xB9002C18,0xBA002C19,0xBB002C1A,0xBC002C1B, -0xBD002C1C,0xBE002C1D,0xBF002C1E,0x80002C1F,0x81002C20,0x82002C21,0x000C62D8,0x86002B9A,0x87002BF2,0x000C62D5, -0xA8002C41,0xA9002C5A,0xAA002C5B,0xAB002C5C,0xAC002C5D,0xAD002C5E,0xAE002C5F,0xAF002C60,0xB0002C61,0xB1002C62, -0xB2002C63,0xB3002C64,0xB4002C65,0xB5002C66,0xB6002C67,0xB7002C68,0xB8002C69,0xB9002C6A,0xBA002C6B,0xBB002C6C, -0xBC002C6D,0xBD002C6F,0xBE002C70,0xBF002C71,0x000C62D2,0x000C62CF,0x000C62CC,0x000C62C9,0x000C62C6,0x000C62C3, -0x000C62C0,0x000C62BD,0x000C62BA,0x000C62B7,0x000C62B4,0x000C62B1,0x000C62AE,0x000C62AB,0x000C62A8,0x000C62A5, -0x000C62A2,0x000C629F,0x000C629C,0x000C6299,0xE1002B14,0x000C6296,0x000C6293,0x000C6290,0x80002C75,0x81002C76, -0x82002C77,0x000C628D,0x000C628A,0x000C6287,0x000C6284,0x86002BE6,0x87002C2C,0x000C6281,0x000C627E,0x000C627B, -0x000C6278,0x000C6275,0x000C6272,0x000C626F,0x000C626C,0x000C6269,0x000C6266,0x000C6263,0x000C6260,0x000C625D, -0x000C625A,0x000C6257,0x000C6254,0x000C6251,0x000C624E,0x000C624B,0xA8002C7B,0xA9002C7C,0xAA002C7D,0xAB002C7E, -0xAC002C7F,0xAD002C80,0xAE002C81,0xAF002C82,0xB0002C83,0xB1002C84,0xB2002C85,0xB3002C86,0xB4002C87,0xB5002C88, -0xB6002C89,0xB7002C8A,0xB8002C8B,0xB9002C8C,0xBA002C8D,0xBB002CA6,0xBC002CA7,0xBD002CA8,0xBE002CA9,0xBF002CAA, -0x000C6248,0x000C6245,0x000C6242,0x000C623F,0x000C623C,0xE1002B47,0x80002CAF,0x81002CB0,0x82002CB1,0x000C6239, -0x000C6236,0x000C6233,0x000C6230,0x86002C22,0x87002C6E,0x000C622D,0x000C622A,0x000C6227,0x000C6224,0x000C6221, -0x000C621E,0x000C621B,0x000C6218,0x000C6215,0x000C6212,0x000C620F,0x000C620C,0x000C6209,0x000C6206,0x000C6203, -0x000C6200,0x000C61FD,0x000C61FA,0x000C61F7,0x000C61F4,0x000C61F1,0xA8002CB5,0xA9002CB6,0xAA002CB7,0xAB002CB8, -0xAC002CB9,0xAD002CBA,0xAE002CBB,0xAF002CBC,0xB0002CBD,0xB1002CBE,0xB2002CBF,0xB3002CC0,0xB4002CC1,0xB5002CC2, -0xB6002CC3,0xB7002CC4,0xB8002CC5,0xB9002CC6,0xBA002CC7,0xBB002CC8,0xBC002CC9,0xBD002CE2,0xBE002CE3,0xBF002CE4, -0x000C61EE,0x000C61EB,0x000C61E8,0xE1002B80,0x000C61E5,0x000C61E2,0x000C61DF,0x000C61DC,0x000C61D9,0x000C61D6, -0x000C61D3,0x000C61D0,0x80002CE6,0x81002CE7,0x82002CE8,0x000C61CD,0x000C61CA,0x000C61C7,0x000C61C4,0x000C61C1, -0x000C61BE,0x000C61BB,0x86002C52,0x87002CA0,0xA8002CEA,0xA9002CEB,0xAA002CEC,0xAB002CED,0xAC002CF1,0xAD002CF2, -0xAE002CF3,0xAF002CF4,0xB0002CF5,0xB1002CF6,0xB2002CF7,0xB3002D12,0xB4002D13,0xB5002D14,0xB6002D15,0xB7002D16, -0xB8002D17,0xB9002D18,0xBA002D19,0xBB002D1A,0xBC002D1B,0xBD002D1C,0xBE002D1D,0xBF002D1E,0x000C61B8,0x000C61B5, -0x000C61B2,0x000C61AF,0x000C61AC,0x000C61A9,0x000C61A6,0x000C61A3,0x000C61A0,0x000C619D,0x000C619A,0x000C6197, -0x000C6194,0xE1002BB9,0x80002D23,0x81002D24,0x82002D25,0x000C6191,0x000C618E,0x000C618B,0x000C6188,0x86002C8E, -0x87002CDA,0x000C6185,0x000C6182,0x000C617F,0x000C617C,0x000C6179,0x000C6176,0x000C6173,0x000C6170,0x000C616D, -0x000C616A,0x000C6167,0x000C6164,0x000C6161,0xA8002D29,0xA9002D2A,0xAA002D2B,0xAB002D2C,0xAC002D2D,0xAD002D2E, -0xAE002D2F,0xAF002D30,0xB0002D31,0xB1002D32,0xB2002D33,0xB3002D34,0xB4002D35,0xB5002D4E,0xB6002D4F,0xB7002D50, -0xB8002D51,0xB9002D52,0xBA002D53,0xBB002D54,0xBC002D55,0xBD002D56,0xBE002D57,0xBF002D58,0x000C615E,0x000C615B, -0x000C6158,0x000C6155,0x000C6152,0x000C614F,0x000C614C,0x000C6149,0x000C6146,0x000C6143,0x000C6140,0xE1002BF3, -0x80002D5D,0x81002D5E,0x82002D5F,0x000C613D,0x000C613A,0x000C6137,0x000C6134,0x86002CCA,0x87002D1F,0x000C6131, -0x000C612E,0x000C612B,0x000C6128,0x000C6125,0x000C6122,0x000C611F,0x000C611C,0x000C6119,0x000C6116,0x000C6113, -0x000C6110,0x000C610D,0x000C610A,0x000C6107,0xA8002D63,0xA9002D64,0xAA002D65,0xAB002D66,0xAC002D67,0xAD002D68, -0xAE002D69,0xAF002D6A,0xB0002D6B,0xB1002D6C,0xB2002D6D,0xB3002D6E,0xB4002D6F,0xB5002D70,0xB6002D71,0xB7002D8A, -0xB8002D8B,0xB9002D8C,0xBA002D8D,0xBB002D8E,0xBC002D8F,0xBD002D90,0xBE002D91,0xBF002D92,0x000C6104,0x000C6101, -0x000C60FE,0x000C60FB,0x000C60F8,0x000C60F5,0x000C60F2,0x000C60EF,0x000C60EC,0xE1002C2D,0x000C60E9,0x000C60E6, -0x000C60E3,0x000C60E0,0x000C60DD,0x000C60DA,0x000C60D7,0x000C60D4,0x000C60D1,0x000C60CE,0x000C60CB,0x80002D94, -0x81002D95,0x82002D96,0x000C60C8,0x000C60C5,0x000C60C2,0x000C60BF,0x86002D00,0x87002D59,0xA8002D98,0xA9002D99, -0xAA002D9A,0xAB002D9B,0xAC002D9C,0xAD002D9D,0xAE002D9E,0xAF002DA2,0xB0002DA3,0xB1002DA4,0xB2002DA5,0xB3002DC0, -0xB4002DC1,0xB5002DC2,0xB6002DC3,0xB7002DC4,0xB8002DC5,0xB9002DC6,0xBA002DC7,0xBB002DC8,0xBC002DC9,0xBD002DCB, -0xBE002DCC,0xBF002DCD,0x000C60BC,0x000C60B9,0x000C60B6,0x000C60B3,0x000C60B0,0x000C60AD,0x000C60AA,0x000C60A7, -0x000C60A4,0x000C60A1,0xE1002C72,0x000C609E,0x000C609B,0x000C6098,0x000C6095,0x000C6092,0x000C608F,0x000C608C, -0x86002D36,0x87002D88,0x000C6089,0x000C6086,0x000C6083,0x000C6080,0x000C607D,0x80002DCE,0x81002DCF,0x82002DD0, -0x000C607A,0x000C6077,0xA8002DD4,0xA9002DD5,0xAA002DD6,0xAB002DD7,0xAC002DD8,0xAD002DDC,0xAE002DDD,0xAF002DF6, -0xB0002DF7,0xB1002DF8,0xB2002DF9,0xB3002DFA,0xB4002DFB,0xB5002DFC,0xB6002DFD,0xB7002DFE,0xB8002DFF,0xB9002E00, -0xBA002E01,0xBB002E02,0xBC002E03,0xBD002E04,0xBE002E05,0xBF002E06,0x000C6074,0x000C6071,0x000C606E,0x000C606B, -0x000C6068,0x000C6065,0x000C6062,0x000C605F,0x000C605C,0x000C6059,0x000C6056,0x000C6053,0x000C6050,0x000C604D, -0x000C604A,0x000C6047,0x000C6044,0xE1002CA1,0x80002E0B,0x81002E0C,0x82002E0D,0x000C6041,0x000C603E,0x000C603B, -0x000C6038,0x86002D72,0x87002DCA,0x000C6035,0x000C6032,0x000C602F,0x000C602C,0x000C6029,0x000C6026,0x000C6023, -0x000C6020,0x000C601D,0xA8002E11,0xA9002E12,0xAA002E13,0xAB002E14,0xAC002E15,0xAD002E16,0xAE002E17,0xAF002E18, -0xB0002E19,0xB1002E32,0xB2002E33,0xB3002E34,0xB4002E35,0xB5002E36,0xB6002E37,0xB7002E38,0xB8002E39,0xB9002E3A, -0xBA002E3B,0xBB002E3C,0xBC002E3D,0xBD002E3E,0xBE002E3F,0xBF002E40,0x000C601A,0x000C6017,0x000C6014,0x000C6011, -0x000C600E,0x000C600B,0x000C6008,0x000C6005,0x000C6002,0x000C5FFF,0x000C5FFC,0x000C5FF9,0x000C5FF6,0x000C5FF3, -0x000C5FF0,0xE1002CDB,0x000C5FED,0x000C5FEA,0x000C5FE7,0x000C5FE4,0x000C5FE1,0x000C5FDE,0x000C5FDB,0x000C5FD8, -0x80002E42,0x81002E43,0x82002E44,0x000C5FD5,0x000C5FD2,0x000C5FCF,0x000C5FCC,0x000C5FC9,0x000C5FC6,0x000C5FC3, -0x000C5FC0,0x000C5FBD,0x000C5FBA,0x000C5FB7,0x86002DB2,0x87002E07,0xA8002E46,0xA9002E47,0xAA002E48,0xAB002E49, -0xAC002E4D,0xAD002E4E,0xAE002E4F,0xAF002E50,0xB0002E51,0xB1002E52,0xB2002E53,0xB3002E54,0xB4002E55,0xB5002E56, -0xB6002E57,0xB7002E72,0xB8002E73,0xB9002E74,0xBA002E75,0xBB002E76,0xBC002E77,0xBD002E79,0xBE002E7A,0xBF002E7B, -0x000C5FB4,0x000C5FB1,0x000C5FAE,0x000C5FAB,0x000C5FA8,0x000C5FA5,0xE1002D20,0x000C5FA2,0x000C5F9F,0x000C5F9C, -0x000C5F99,0x000C5F96,0x000C5F93,0x000C5F90,0x000C5F8D,0x000C5F8A,0x000C5F87,0x000C5F84,0x000C5F81,0x000C5F7E, -0x000C5F7B,0x80002E7C,0x81002E7D,0x82002E7E,0x000C5F78,0x000C5F75,0x000C5F72,0x000C5F6F,0x86002DE8,0x87002E41, -0xA8002E80,0xA9002E81,0xAA002E82,0xAB002E83,0xAC002E84,0xAD002E85,0xAE002E86,0xAF002E8A,0xB0002E8B,0xB1002E8C, -0xB2002E8D,0xB3002EA8,0xB4002EA9,0xB5002EAA,0xB6002EAB,0xB7002EAC,0xB8002EAD,0xB9002EAE,0xBA002EAF,0xBB002EB0, -0xBC002EB1,0xBD002EB3,0xBE002EB4,0xBF002EB5,0x000C5F6C,0x000C5F69,0x000C5F66,0x000C5F63,0x000C5F60,0x000C5F5D, -0x000C5F5A,0x000C5F57,0x000C5F54,0x000C5F51,0xE1002D4C,0x000C5F4E,0x000C5F4B,0x000C5F48,0x000C5F45,0x000C5F42, -0x000C5F3F,0x000C5F3C,0x000C5F39,0x000C5F36,0x000C5F33,0x000C5F30,0x000C5F2D,0x000C5F2A,0x000C5F27,0x80002EB6, -0x81002EB7,0x82002EB8,0x000C5F24,0x000C5F21,0x000C5F1E,0x000C5F1B,0x000C5F18,0x000C5F15,0x000C5F12,0x000C5F0F, -0x000C5F0C,0x000C5F09,0x000C5F06,0x000C5F03,0x86002E2A,0x87002E70,0xA8002EBA,0xA9002EBB,0xAA002EBC,0xAB002EBD, -0xAC002EBE,0xAD002EBF,0xAE002EC0,0xAF002EC4,0xB0002EC5,0xB1002EC6,0xB2002EC7,0xB3002EC8,0xB4002EC9,0xB5002ECA, -0xB6002ECB,0xB7002ECC,0xB8002ECD,0xB9002ECE,0xBA002ECF,0xBB002EEA,0xBC002EEB,0xBD002EEC,0xBE002EED,0xBF002EEE, -0x000C5F00,0x000C5EFD,0x000C5EFA,0x000C5EF7,0x000C5EF4,0xE1002D89,0x80002EF3,0x81002EF4,0x82002EF5,0x000C5EF1, -0x000C5EEE,0x000C5EEB,0x000C5EE8,0x86002E58,0x87002EB2,0x000C5EE5,0x000C5EE2,0x000C5EDF,0x000C5EDC,0x000C5ED9, -0x000C5ED6,0x000C5ED3,0xA8002EF9,0xA9002EFA,0xAA002EFB,0xAB002EFC,0xAC002EFD,0xAD002EFE,0xAE002EFF,0xAF002F18, -0xB0002F19,0xB1002F1A,0xB2002F1B,0xB3002F1C,0xB4002F1D,0xB5002F1E,0xB6002F1F,0xB7002F20,0xB8002F21,0xB9002F22, -0xBA002F23,0xBB002F24,0xBC002F25,0xBD002F27,0xBE002F28,0xBF002F29,0x000C5ED0,0x000C5ECD,0x000C5ECA,0x000C5EC7, -0x000C5EC4,0x000C5EC1,0x000C5EBE,0x000C5EBB,0x000C5EB8,0x000C5EB5,0x000C5EB2,0x000C5EAF,0x000C5EAC,0x000C5EA9, -0xE1002DD2,0x000C5EA6,0x000C5EA3,0x000C5EA0,0x000C5E9D,0x000C5E9A,0x000C5E97,0x000C5E94,0x000C5E91,0x000C5E8E, -0x000C5E8B,0x000C5E88,0x80002F2A,0x81002F2B,0x82002F2C,0x000C5E85,0x000C5E82,0x000C5E7F,0x000C5E7C,0x000C5E79, -0x000C5E76,0x000C5E73,0x000C5E70,0x000C5E6D,0x000C5E6A,0x000C5E67,0x000C5E64,0x000C5E61,0x000C5E5E,0x000C5E5B, -0x000C5E58,0x000C5E55,0x000C5E52,0x86002EC2,0x87002ED0,0x000C5E4F,0x000C5E4C,0x000C5E49,0x000C5E46,0x000C5E43, -0x000C5E40,0x000C5E3D,0x80002F4B,0x81002F4C,0x82002F4D,0x000C5E3A,0x000C5E37,0x000C5E34,0x000C5E31,0x86002EDA, -0x87002F26,0x000C5E2E,0x000C5E2B,0x000C5E28,0x000C5E25,0x000C5E22,0x000C5E1F,0x000C5E1C,0xE1002E08,0x000C5E19, -0x000C5E16,0x000C5E13,0x000C5E10,0x000C5E0D,0x000C5E0A,0x000C5E07,0x000C5E04,0x000C5E01,0xA8002F2E,0xA9002F2F, -0xAA002F30,0xAB002F31,0xAC002F35,0xAD002F36,0xAE002F37,0xAF002F38,0xB0002F39,0xB1002F3A,0xB2002F3B,0xB3002F3C, -0xB4002F3D,0xB5002F3E,0xB6002F3F,0xB7002F40,0xB8002F41,0xB9002F42,0xBA002F43,0xBB002F44,0xBC002F45,0xBD002F46, -0xBE002F49,0xBF002F4A,0xA8002F4F,0xA9002F53,0xAA002F54,0xAB002F55,0xAC002F56,0xAD002F59,0xAE002F5A,0xAF002F5B, -0xB0002F5C,0xB1002F5D,0xB2002F5E,0xB3002F5F,0xB4002F61,0xB5002F62,0xB6002F63,0xB7002F64,0xB8002F65,0xB9002F66, -0xBA002F67,0xBB002F68,0xBC002F69,0xBD002F9B,0xBE002F9C,0xBF002F9D,0xE1002E4A,0x000C5DFE,0x000C5DFB,0x000C5DF8, -0x000C5DF5,0x000C5DF2,0x000C5DEF,0x000C5DEC,0x000C5DE9,0x000C5DE6,0x000C5DE3,0x000C5DE0,0x80002F9E,0x81002F9F, -0x82002FA0,0x000C5DDD,0x000C5DDA,0x000C5DD7,0x000C5DD4,0x000C5DD1,0x000C5DCE,0x000C5DCB,0x000C5DC8,0x000C5DC5, -0x000C5DC2,0x000C5DBF,0x000C5DBC,0x000C5DB9,0x000C5DB6,0x000C5DB3,0x86002F12,0x87002F58,0xA8002FA2,0xA9002FA3, -0xAA002FA4,0xAB002FA5,0xAC002FA9,0xAD002FAA,0xAE002FAB,0xAF002FAC,0xB0002FAD,0xB1002FAE,0xB2002FAF,0xB3002FB0, -0xB4002FB1,0xB5002FB2,0xB6002FB3,0xB7002FB4,0xB8002FB5,0xB9002FB6,0xBA002FB7,0xBB002FD2,0xBC002FD3,0xBD002FD4, -0xBE002FD5,0xBF002FD6,0x000C5DB0,0x000C5DAD,0x000C5DAA,0x000C5DA7,0x000C5DA4,0xE1002E71,0x80002FDB,0x81002FDC, -0x82002FDD,0x000C5DA1,0x000C5D9E,0x000C5D9B,0x000C5D98,0x000C5D95,0x000C5D92,0x000C5D8F,0x000C5D8C,0x000C5D89, -0x000C5D86,0x000C5D83,0x86002F47,0x87002F92,0x000C5D80,0x000C5D7D,0x000C5D7A,0x000C5D77,0x000C5D74,0x000C5D71, -0x000C5D6E,0xA8002FDF,0xA9002FE0,0xAA002FE1,0xAB002FE2,0xAC002FE3,0xAD002FE4,0xAE002FE5,0xAF002FE8,0xB0002FE9, -0xB1002FEA,0xB2002FEB,0xB3002FEC,0xB4002FED,0xB5002FEE,0xB6003007,0xB7003008,0xB8003009,0xB900300A,0xBA00300B, -0xBB00300C,0xBC00300D,0xBD00300F,0xBE003010,0xBF003011,0x000C5D6B,0x000C5D68,0x000C5D65,0x000C5D62,0x000C5D5F, -0x000C5D5C,0x000C5D59,0xE1002EC1,0x000C5D56,0x000C5D53,0x000C5D50,0x80003015,0x81003016,0x82003017,0x000C5D4D, -0x000C5D4A,0x000C5D47,0x85002F8F,0x000C5D44,0x86002FA6,0x87002FCB,0x000C5D41,0x000C5D3E,0x000C5D3B,0x000C5D38, -0x000C5D35,0x000C5D32,0x000C5D2F,0x000C5D2C,0x000C5D29,0x000C5D26,0x000C5D23,0x000C5D20,0x000C5D1D,0xE1002F93, -0x000C5D1A,0x000C5D17,0x000C5D14,0x000C5D11,0x000C5D0E,0xE1002ED1,0xA1003019,0xA2003069,0xA300308B,0xA40030DD, -0xA5003117,0xA600314E,0xA7003173,0xA80031C5,0xA90031FC,0xAA003236,0xAB003270,0xAC0032AD,0xAD0032E7,0xAE003321, -0xAF003358,0xB0003392,0xB10033CC,0xB2003406,0xB3003440,0xB400347D,0xB50034B7,0x000C5D0B,0x000C5D08,0x000C5D05, -0x000C5D02,0x000C5CFF,0x000C5CFC,0x80003066,0x81003067,0x82003068,0xA800301C,0xA900301D,0xAA00301E,0xAB00301F, -0xAC003020,0xAD003021,0xAE003022,0xAF003023,0xB0003024,0xB1003025,0xB2003026,0xB3003027,0xB4003028,0xB500302A, -0xB600302B,0xB700302C,0xB800302D,0xB900302E,0xBA003045,0xBB003046,0xBC003047,0xBD003048,0xBE003049,0xBF00304A, -0x000C5CF9,0x000C5CF6,0x000C5CF3,0x000C5CF0,0x000C5CED,0x000C5CEA,0x86002FE7,0x87003005,0x000C5CE7,0x000C5CE4, -0x000C5CE1,0x000C5CDE,0x000C5CDB,0x000C5CD8,0x000C5CD5,0x000C5CD2,0x000C5CCF,0x000C5CCC,0x000C5CC9,0x000C5CC6, -0x000C5CC3,0x000C5CC0,0x000C5CBD,0x000C5CBA,0x000C5CB7,0x000C5CB4,0x000C5CB1,0x000C5CAE,0xE1002F32,0x000C5CAB, -0x000C5CA8,0x80003088,0x81003089,0x8200308A,0x000C5CA5,0x000C5CA2,0x000C5C9F,0x000C5C9C,0x86002FFF,0x87003057, -0x000C5C99,0xA800306A,0xA900306B,0xAA00306E,0xAB00306F,0xAC003070,0xAD003071,0xAE003072,0xAF003073,0xB0003074, -0xB1003075,0xB2003076,0xB3003077,0xB4003078,0xB5003079,0xB600307A,0xB700307B,0xB800307C,0xB900307D,0xBA00307E, -0xBB00307F,0xBC003080,0xBD003081,0xBE003083,0xBF003084,0xA800308E,0xA90030C0,0xAA0030C1,0xAB0030C2,0xAC0030C3, -0xAD0030C4,0xAE0030C5,0xAF0030C6,0xB00030C7,0xB10030C8,0xB20030C9,0xB30030CA,0xB40030CB,0xB50030CC,0xB60030CD, -0xB70030CE,0xB80030CF,0xB90030D0,0xBA0030D1,0xBB0030D2,0xBC0030D3,0xBD0030D4,0xBE0030D5,0xBF0030D6,0xE1002F60, -0x000C5C96,0x000C5C93,0x000C5C90,0x000C5C8D,0x000C5C8A,0x000C5C87,0x000C5C84,0x000C5C81,0x000C5C7E,0x000C5C7B, -0x000C5C78,0x000C5C75,0x000C5C72,0x000C5C6F,0x000C5C6C,0x000C5C69,0x000C5C66,0x000C5C63,0x000C5C60,0x000C5C5D, -0x000C5C5A,0x000C5C57,0x000C5C54,0x800030DA,0x810030DB,0x820030DC,0x000C5C51,0x000C5C4E,0x000C5C4B,0x000C5C48, -0x86003038,0x87003091,0xA80030F8,0xA90030F9,0xAA0030FB,0xAB0030FC,0xAC0030FD,0xAD0030FE,0xAE0030FF,0xAF003100, -0xB0003101,0xB1003102,0xB2003103,0xB3003104,0xB4003105,0xB5003106,0xB6003107,0xB7003108,0xB8003109,0xB900310A, -0xBA00310B,0xBB00310C,0xBC00310D,0xBD00310E,0xBE00310F,0xBF003110,0x000C5C45,0x000C5C42,0xE1002F94,0x000C5C3F, -0x000C5C3C,0x000C5C39,0x000C5C36,0x000C5C33,0x000C5C30,0x000C5C2D,0x000C5C2A,0x000C5C27,0x000C5C24,0x000C5C21, -0x000C5C1E,0x000C5C1B,0x000C5C18,0x000C5C15,0x000C5C12,0x000C5C0F,0x000C5C0C,0x000C5C09,0x000C5C06,0x000C5C03, -0x000C5C00,0x80003114,0x81003115,0x82003116,0x000C5BFD,0x000C5BFA,0x000C5BF7,0x000C5BF4,0x86003082,0x870030D7, -0x000C5BF1,0x000C5BEE,0x000C5BEB,0x000C5BE8,0x000C5BE5,0x000C5BE2,0x000C5BDF,0x000C5BDC,0x000C5BD9,0x000C5BD6, -0x000C5BD3,0x000C5BD0,0x000C5BCD,0x000C5BCA,0x000C5BC7,0x000C5BC4,0xA800311A,0xA900311B,0xAA00311C,0xAB00311D, -0xAC00311E,0xAD00311F,0xAE003120,0xAF003121,0xB0003122,0xB1003123,0xB2003124,0xB3003125,0xB4003126,0xB5003127, -0xB6003128,0xB7003129,0xB8003142,0xB9003143,0xBA003144,0xBB003145,0xBC003146,0xBD003147,0xBE003148,0xBF003149, -0x000C5BC1,0x000C5BBE,0x000C5BBB,0x000C5BB8,0x000C5BB5,0x000C5BB2,0x000C5BAF,0x000C5BAC,0xE1002FE6,0x000C5BA9, -0x000C5BA6,0x000C5BA3,0x000C5BA0,0x000C5B9D,0x000C5B9A,0x000C5B97,0x000C5B94,0x000C5B91,0x000C5B8E,0x000C5B8B, -0x000C5B88,0x8000314B,0x8100314C,0x8200314D,0x000C5B85,0x000C5B82,0x000C5B7F,0x000C5B7C,0x860030D9,0x870030ED, -0x000C5B79,0x000C5B76,0x000C5B73,0x000C5B70,0x000C5B6D,0x000C5B6A,0x000C5B67,0x000C5B64,0x000C5B61,0x000C5B5E, -0x000C5B5B,0x000C5B58,0xE1003006,0x80003170,0x81003171,0x82003172,0x000C5B55,0x000C5B52,0x000C5B4F,0x000C5B4C, -0x860030F1,0x8700313F,0x000C5B49,0x000C5B46,0x000C5B43,0x000C5B40,0x000C5B3D,0x000C5B3A,0x000C5B37,0x000C5B34, -0x000C5B31,0x000C5B2E,0x000C5B2B,0xA800314F,0xA9003150,0xAA003151,0xAB003152,0xAC003153,0xAD003154,0xAE003155, -0xAF003156,0xB000315A,0xB100315B,0xB200315C,0xB300315D,0xB4003160,0xB5003161,0xB6003162,0xB7003163,0xB8003164, -0xB9003165,0xBA003166,0xBB003167,0xBC003168,0xBD003169,0xBE00316A,0xBF00316B,0xA8003176,0xA9003177,0xAA003178, -0xAB003179,0xAC00317A,0xAD00317B,0xAE00317C,0xAF00317D,0xB000317E,0xB100317F,0xB2003180,0xB30031B1,0xB40031B2, -0xB50031B3,0xB60031B4,0xB70031B5,0xB80031B6,0xB90031B7,0xBA0031B8,0xBB0031B9,0xBC0031BA,0xBD0031BB,0xBE0031BC, -0xBF0031BD,0x000C5B28,0x000C5B25,0x000C5B22,0x000C5B1F,0x000C5B1C,0x000C5B19,0x000C5B16,0x000C5B13,0x000C5B10, -0x000C5B0D,0x000C5B0A,0x000C5B07,0x000C5B04,0xE1003058,0x800031C2,0x810031C3,0x820031C4,0x000C5B01,0x000C5AFE, -0x000C5AFB,0x000C5AF8,0x8600312A,0x87003181,0x000C5AF5,0x000C5AF2,0x000C5AEF,0x000C5AEC,0x000C5AE9,0x000C5AE6, -0x000C5AE3,0x000C5AE0,0x000C5ADD,0x000C5ADA,0xA80031C8,0xA90031C9,0xAA0031CA,0xAB0031CB,0xAC0031CC,0xAD0031CD, -0xAE0031CE,0xAF0031CF,0xB00031D0,0xB10031D1,0xB20031EA,0xB30031EB,0xB40031EC,0xB50031ED,0xB60031EE,0xB70031EF, -0xB80031F0,0xB90031F1,0xBA0031F2,0xBB0031F3,0xBC0031F4,0xBD0031F5,0xBE0031F6,0xBF0031F7,0x000C5AD7,0x000C5AD4, -0x000C5AD1,0x000C5ACE,0x000C5ACB,0x000C5AC8,0x000C5AC5,0x000C5AC2,0x000C5ABF,0x000C5ABC,0x000C5AB9,0x000C5AB6, -0x000C5AB3,0x000C5AB0,0xE1003092,0x000C5AAD,0x000C5AAA,0x000C5AA7,0x000C5AA4,0x000C5AA1,0x000C5A9E,0x000C5A9B, -0x000C5A98,0x800031F9,0x810031FA,0x820031FB,0x000C5A95,0x000C5A92,0x000C5A8F,0x000C5A8C,0x8600316C,0x870031BE, -0x000C5A89,0x000C5A86,0x000C5A83,0x000C5A80,0x000C5A7D,0x000C5A7A,0x000C5A77,0x000C5A74,0x000C5A71,0x000C5A6E, -0xA80031FD,0xA90031FE,0xAA0031FF,0xAB003200,0xAC003204,0xAD003205,0xAE003206,0xAF003207,0xB000320A,0xB100320B, -0xB200320C,0xB300320D,0xB400320E,0xB500320F,0xB6003210,0xB7003211,0xB8003212,0xB9003213,0xBA00322C,0xBB00322D, -0xBC00322E,0xBD003230,0xBE003231,0xBF003232,0x000C5A6B,0x000C5A68,0x000C5A65,0xE10030D8,0x000C5A62,0x000C5A5F, -0x000C5A5C,0x000C5A59,0x000C5A56,0x000C5A53,0x000C5A50,0x000C5A4D,0x000C5A4A,0x000C5A47,0x000C5A44,0x000C5A41, -0x000C5A3E,0x000C5A3B,0x80003233,0x81003234,0x82003235,0x000C5A38,0x000C5A35,0x000C5A32,0x000C5A2F,0x860031AD, -0x870031F8,0x000C5A2C,0x000C5A29,0x000C5A26,0x000C5A23,0x000C5A20,0x000C5A1D,0x000C5A1A,0x000C5A17,0x000C5A14, -0x000C5A11,0x000C5A0E,0x000C5A0B,0x000C5A08,0xE10030EE,0xA8003237,0xA9003238,0xAA003239,0xAB00323A,0xAC00323B, -0xAD00323C,0xAE00323D,0xAF003241,0xB0003242,0xB1003243,0xB2003244,0xB3003247,0xB4003248,0xB5003249,0xB600324A, -0xB700324B,0xB800324C,0xB900324D,0xBA00324E,0xBB00324F,0xBC003250,0xBD003251,0xBE003252,0xBF003253,0x000C5A05, -0x000C5A02,0x000C59FF,0x000C59FC,0x000C59F9,0x000C59F6,0x000C59F3,0x000C59F0,0x000C59ED,0x000C59EA,0x000C59E7, -0x8000326D,0x8100326E,0x8200326F,0x000C59E4,0x000C59E1,0x000C59DE,0x000C59DB,0x000C59D8,0x000C59D5,0x000C59D2, -0x000C59CF,0x000C59CC,0x000C59C9,0x000C59C6,0x000C59C3,0x860031E1,0x87003227,0xA8003271,0xA9003272,0xAA003273, -0xAB003274,0xAC003275,0xAD003276,0xAE003277,0xAF00327B,0xB000327C,0xB100327D,0xB200327E,0xB300327F,0xB4003280, -0xB5003281,0xB6003282,0xB7003283,0xB8003284,0xB9003285,0xBA003286,0xBB0032A1,0xBC0032A2,0xBD0032A3,0xBE0032A4, -0xBF0032A5,0x000C59C0,0x000C59BD,0x000C59BA,0x000C59B7,0x000C59B4,0xE1003140,0x800032AA,0x810032AB,0x820032AC, -0x000C59B1,0x000C59AE,0x000C59AB,0x000C59A8,0x86003208,0x87003261,0xA80032C8,0xA90032C9,0xAA0032CA,0xAB0032CB, -0xAC0032CC,0xAD0032CD,0xAE0032CE,0xAF0032CF,0xB00032D0,0xB10032D1,0xB20032D2,0xB30032D3,0xB40032D4,0xB50032D5, -0xB60032D6,0xB70032D7,0xB80032D8,0xB90032D9,0xBA0032DA,0xBB0032DB,0xBC0032DC,0xBD0032DE,0xBE0032DF,0xBF0032E0, -0x000C59A5,0x000C59A2,0x000C599F,0x000C599C,0x000C5999,0x000C5996,0x000C5993,0x000C5990,0x000C598D,0x000C598A, -0x000C5987,0x000C5984,0x000C5981,0x000C597E,0x000C597B,0x000C5978,0x000C5975,0x000C5972,0x000C596F,0x000C596C, -0x000C5969,0xE1003182,0x000C5966,0x000C5963,0x000C5960,0x800032E4,0x810032E5,0x820032E6,0x000C595D,0x000C595A, -0x000C5957,0x000C5954,0x86003245,0x8700329B,0x000C5951,0x000C594E,0x000C594B,0xA80032EA,0xA90032EB,0xAA0032EC, -0xAB003305,0xAC003306,0xAD003307,0xAE003308,0xAF003309,0xB000330A,0xB100330B,0xB200330C,0xB300330D,0xB400330E, -0xB500330F,0xB6003310,0xB7003311,0xB8003312,0xB9003313,0xBA003314,0xBB003315,0xBC003316,0xBD003318,0xBE003319, -0xBF00331A,0x000C5948,0x000C5945,0x000C5942,0x000C593F,0x000C593C,0x000C5939,0x000C5936,0x000C5933,0x000C5930, -0x000C592D,0x000C592A,0x000C5927,0x000C5924,0x000C5921,0x000C591E,0x000C591B,0x000C5918,0x000C5915,0xE10031BF, -0x000C5912,0x000C590F,0x000C590C,0x8000331E,0x8100331F,0x82003320,0x000C5909,0x000C5906,0x000C5903,0x000C5900, -0x86003287,0x870032DD,0x000C58FD,0x000C58FA,0x000C58F7,0x000C58F4,0x000C58F1,0x000C58EE,0x000C58EB,0x000C58E8, -0x000C58E5,0x000C58E2,0x000C58DF,0xA8003324,0xA9003325,0xAA003326,0xAB003327,0xAC003328,0xAD003329,0xAE00332A, -0xAF00332B,0xB000332C,0xB100332D,0xB200332E,0xB3003347,0xB4003348,0xB5003349,0xB600334A,0xB700334B,0xB800334C, -0xB900334D,0xBA00334E,0xBB00334F,0xBC003350,0xBD003352,0xBE003353,0xBF003354,0x000C58DC,0x000C58D9,0x000C58D6, -0x000C58D3,0x000C58D0,0x000C58CD,0x000C58CA,0x000C58C7,0x000C58C4,0x000C58C1,0xE1003201,0x000C58BE,0x000C58BB, -0x000C58B8,0x000C58B5,0x000C58B2,0x000C58AF,0x000C58AC,0x000C58A9,0x000C58A6,0x000C58A3,0x000C58A0,0x80003355, -0x81003356,0x82003357,0x000C589D,0x000C589A,0x000C5897,0x000C5894,0x000C5891,0x000C588E,0x000C588B,0x860032C1, -0x87003317,0xA8003359,0xA900335A,0xAA00335B,0xAB00335C,0xAC003360,0xAD003361,0xAE003362,0xAF003363,0xB0003364, -0xB1003365,0xB2003366,0xB3003381,0xB4003382,0xB5003383,0xB6003384,0xB7003385,0xB8003386,0xB9003387,0xBA003388, -0xBB003389,0xBC00338A,0xBD00338B,0xBE00338C,0xBF00338D,0x000C5888,0x000C5885,0x000C5882,0x000C587F,0x000C587C, -0x000C5879,0x000C5876,0x000C5873,0x000C5870,0x000C586D,0x000C586A,0x000C5867,0x000C5864,0xE1003228,0x000C5861, -0x000C585E,0x000C585B,0x000C5858,0x000C5855,0x000C5852,0x000C584F,0x000C584C,0x8000338F,0x81003390,0x82003391, -0x000C5849,0x000C5846,0x000C5843,0x000C5840,0x000C583D,0x000C583A,0x000C5837,0x860032FB,0x87003351,0xA8003393, -0xA9003394,0xAA003395,0xAB003396,0xAC00339A,0xAD00339B,0xAE00339C,0xAF00339D,0xB000339E,0xB100339F,0xB20033A0, -0xB30033BB,0xB40033BC,0xB50033BD,0xB60033BE,0xB70033BF,0xB80033C0,0xB90033C1,0xBA0033C2,0xBB0033C3,0xBC0033C4, -0xBD0033C5,0xBE0033C6,0xBF0033C7,0x000C5834,0x000C5831,0x000C582E,0x000C582B,0x000C5828,0x000C5825,0x000C5822, -0x000C581F,0x000C581C,0x000C5819,0x000C5816,0x000C5813,0x000C5810,0xE1003262,0x000C580D,0x000C580A,0x000C5807, -0x000C5804,0x000C5801,0x000C57FE,0x000C57FB,0x000C57F8,0x800033C9,0x810033CA,0x820033CB,0x000C57F5,0x000C57F2, -0x000C57EF,0x000C57EC,0x000C57E9,0x000C57E6,0x000C57E3,0x000C57E0,0x000C57DD,0x000C57DA,0x000C57D7,0x000C57D4, -0x000C57D1,0x000C57CE,0x000C57CB,0x8600333D,0x8700338E,0xA80033CD,0xA90033CE,0xAA0033CF,0xAB0033D0,0xAC0033D4, -0xAD0033D5,0xAE0033D6,0xAF0033D7,0xB00033D8,0xB10033D9,0xB20033DA,0xB30033DB,0xB40033DC,0xB50033DD,0xB60033DE, -0xB70033DF,0xB80033E0,0xB90033E1,0xBA0033E2,0xBB0033FD,0xBC0033FE,0xBD0033FF,0xBE003400,0xBF003401,0x000C57C8, -0x000C57C5,0x000C57C2,0x000C57BF,0x000C57BC,0xE100329C,0x000C57B9,0x000C57B6,0x000C57B3,0x000C57B0,0x000C57AD, -0x000C57AA,0x000C57A7,0x000C57A4,0x000C57A1,0x000C579E,0x000C579B,0x80003403,0x81003404,0x82003405,0x000C5798, -0x000C5795,0x000C5792,0x000C578F,0x000C578C,0x000C5789,0x000C5786,0x000C5783,0x000C5780,0x000C577D,0x000C577A, -0x000C5777,0x86003377,0x870033C8,0xA8003407,0xA9003408,0xAA003409,0xAB00340A,0xAC00340B,0xAD00340C,0xAE00340D, -0xAF003411,0xB0003412,0xB1003413,0xB2003414,0xB3003415,0xB4003416,0xB5003417,0xB6003418,0xB7003419,0xB800341A, -0xB900341B,0xBA00341C,0xBB003437,0xBC003438,0xBD00343A,0xBE00343B,0xBF00343C,0x000C5774,0x000C5771,0xE10032E1, -0x000C576E,0x000C576B,0x000C5768,0x000C5765,0x000C5762,0x000C575F,0x000C575C,0x000C5759,0x000C5756,0x000C5753, -0x000C5750,0x000C574D,0x000C574A,0x000C5747,0x8000343D,0x8100343E,0x8200343F,0x000C5744,0x000C5741,0x000C573E, -0x000C573B,0x000C5738,0x000C5735,0x000C5732,0x000C572F,0x000C572C,0x000C5729,0x000C5726,0x000C5723,0x860033B1, -0x870033F7,0xA8003441,0xA9003442,0xAA003443,0xAB003444,0xAC003445,0xAD003446,0xAE003447,0xAF00344B,0xB000344C, -0xB100344D,0xB200344E,0xB300344F,0xB4003450,0xB5003451,0xB6003452,0xB7003453,0xB8003454,0xB9003455,0xBA003456, -0xBB003471,0xBC003472,0xBD003474,0xBE003475,0xBF003476,0x000C5720,0x000C571D,0xE100331B,0x000C571A,0x000C5717, -0x000C5714,0x8000347A,0x8100347B,0x8200347C,0x000C5711,0x000C570E,0x000C570B,0x000C5708,0x860033E3,0x87003431, -0x000C5705,0x000C5702,0x000C56FF,0x000C56FC,0x000C56F9,0x000C56F6,0x000C56F3,0x000C56F0,0x000C56ED,0x000C56EA, -0x000C56E7,0xA8003480,0xA9003481,0xAA003482,0xAB003483,0xAC003484,0xAD003485,0xAE003486,0xAF003487,0xB0003488, -0xB1003489,0xB200348A,0xB30034A3,0xB40034A4,0xB50034A5,0xB60034A6,0xB70034A7,0xB80034A8,0xB90034A9,0xBA0034AA, -0xBB0034AB,0xBC0034AC,0xBD0034AE,0xBE0034AF,0xBF0034B0,0x000C56E4,0x000C56E1,0x000C56DE,0x000C56DB,0x000C56D8, -0x000C56D5,0x000C56D2,0x000C56CF,0x000C56CC,0x000C56C9,0xE100335D,0x000C56C6,0x000C56C3,0x000C56C0,0x800034B4, -0x810034B5,0x820034B6,0x000C56BD,0x000C56BA,0x000C56B7,0x000C56B4,0x8600341D,0x8700346B,0x000C56B1,0x000C56AE, -0x000C56AB,0x000C56A8,0x000C56A5,0x000C56A2,0x000C569F,0x000C569C,0x000C5699,0x000C5696,0x000C5693,0xA80034BA, -0xA90034BB,0xAA0034BC,0xAB0034BD,0xAC0034BE,0xAD0034BF,0xAE0034C0,0xAF0034C1,0xB00034C2,0xB10034C3,0xB20034C4, -0xB30034DD,0xB40034DE,0xB50034DF,0xB60034E0,0xB70034E1,0xB80034E2,0xB90034E3,0xBA0034E4,0xBB0034E5,0xBC0034E6, -0xBD0034E8,0xBE0034E9,0xBF0034EA,0x000C5690,0x000C568D,0x000C568A,0x000C5687,0x000C5684,0x000C5681,0x000C567E, -0x000C567B,0x000C5678,0x000C5675,0xE1003397,0x000C5672,0x000C566F,0x000C566C,0x800034EE,0x810034EF,0x820034F0, -0x000C5669,0x000C5666,0x000C5663,0xE100346D,0x85003457,0x000C5660,0x8600347E,0x870034C5,0x000C565D,0x000C565A, -0xA10034F3,0xA200353F,0xA300357C,0xA40035B6,0xA50035F0,0xA600362A,0xA7003664,0xA800369B,0xA90036D8,0xAA003712, -0xAB003749,0xAC003783,0xAD0037C0,0xAE0037F7,0xAF003831,0xB000386B,0xB10038A8,0xB20038DF,0xB3003900,0xB4003953, -0xB5003990,0x000C5657,0x000C5654,0x000C5651,0x000C564E,0x000C564B,0x000C5648,0x000C5645,0x000C5642,0x000C563F, -0x000C563C,0x000C5639,0x000C5636,0x000C5633,0x000C5630,0x000C562D,0x000C562A,0x000C5627,0x000C5624,0x000C5621, -0x000C561E,0xE10033D1,0x000C561B,0x000C5618,0x000C5615,0x000C5612,0xA80034F6,0xA90034F7,0xAA00350D,0xAB00350E, -0xAC00350F,0xAD003510,0xAE003511,0xAF003512,0xB0003513,0xB1003514,0xB2003515,0xB3003516,0xB4003517,0xB5003518, -0xB6003519,0xB700351A,0xB800351B,0xB900351C,0xBA00351D,0xBB00351E,0xBC00351F,0xBD003520,0xBE003522,0xBF003523, -0x000C560F,0x000C560C,0x000C5609,0x000C5606,0x000C5603,0x000C5600,0x000C55FD,0x80003524,0x81003525,0x8200353E, -0x000C55FA,0x000C55F7,0x000C55F4,0x000C55F1,0x860034B8,0x870034F8,0x000C55EE,0x000C55EB,0x000C55E8,0x000C55E5, -0x000C55E2,0x000C55DF,0x000C55DC,0x000C55D9,0x000C55D6,0x000C55D3,0x000C55D0,0x000C55CD,0x000C55CA,0x000C55C7, -0x000C55C4,0x000C55C1,0xE10033F8,0x000C55BE,0xA8003540,0xA9003541,0xAA003542,0xAB003543,0xAC003544,0xAD003548, -0xAE003549,0xAF00354A,0xB000354B,0xB100354E,0xB200354F,0xB3003550,0xB4003551,0xB5003552,0xB6003553,0xB7003554, -0xB8003555,0xB9003556,0xBA003557,0xBB003558,0xBC003559,0xBD00355A,0xBE00355B,0xBF00355C,0x8000355D,0x8100355F, -0x8200357B,0x000C55BB,0x000C55B8,0x000C55B5,0x000C55B2,0x860034F1,0x87003531,0x000C55AF,0x000C55AC,0x000C55A9, -0x000C55A6,0x000C55A3,0x000C55A0,0x000C559D,0x000C559A,0x000C5597,0x000C5594,0x000C5591,0x000C558E,0x000C558B, -0x000C5588,0x000C5585,0x000C5582,0x000C557F,0x000C557C,0x000C5579,0x000C5576,0x000C5573,0x000C5570,0x000C556D, -0xE1003432,0xA800357D,0xA900357E,0xAA003581,0xAB003582,0xAC003583,0xAD003584,0xAE003585,0xAF003586,0xB0003587, -0xB1003588,0xB2003589,0xB300358A,0xB400358B,0xB500358C,0xB600358D,0xB700358E,0xB800358F,0xB9003590,0xBA003591, -0xBB003592,0xBC003593,0xBD003594,0xBE003595,0xBF003596,0x80003597,0x810035B4,0x820035B5,0x000C556A,0x000C5567, -0x000C5564,0x000C5561,0x8600352D,0x8700356D,0x000C555E,0x000C555B,0x000C5558,0x000C5555,0x000C5552,0x000C554F, -0x000C554C,0x000C5549,0x000C5546,0x000C5543,0x000C5540,0x000C553D,0x000C553A,0x000C5537,0x000C5534,0x000C5531, -0x000C552E,0x000C552B,0x000C5528,0x000C5525,0x000C5522,0x000C551F,0x000C551C,0x000C5519,0x000C5516,0x000C5513, -0xE100346E,0xA80035B7,0xA90035BA,0xAA0035BB,0xAB0035BC,0xAC0035BD,0xAD0035BE,0xAE0035BF,0xAF0035C0,0xB00035C1, -0xB10035C2,0xB20035C3,0xB30035C4,0xB40035C5,0xB50035C6,0xB60035C7,0xB70035C8,0xB80035C9,0xB90035CA,0xBA0035CB, -0xBB0035CC,0xBC0035CD,0xBD0035CE,0xBE0035CF,0xBF0035D0,0x800035D1,0x810035D2,0x820035D3,0x000C5510,0x8600354C, -0x870035A4,0x000C550D,0xA80035F3,0xA900360C,0xAA00360D,0xAB00360E,0xAC00360F,0xAD003610,0xAE003611,0xAF003612, -0xB0003613,0xB1003614,0xB2003615,0xB3003616,0xB4003617,0xB5003618,0xB6003619,0xB700361A,0xB800361B,0xB900361C, -0xBA00361D,0xBB00361E,0xBC00361F,0xBD003621,0xBE003622,0xBF003623,0x000C550A,0x000C5507,0x000C5504,0x000C5501, -0x000C54FE,0x000C54FB,0x000C54F8,0x000C54F5,0x000C54F2,0x000C54EF,0x000C54EC,0x000C54E9,0x000C54E6,0x000C54E3, -0x000C54E0,0x000C54DD,0x000C54DA,0x000C54D7,0x000C54D4,0x000C54D1,0xE10034C6,0x000C54CE,0x000C54CB,0x000C54C8, -0x80003627,0x81003628,0x82003629,0x000C54C5,0x000C54C2,0x000C54BF,0x000C54BC,0x86003598,0x870035DE,0x000C54B9, -0x000C54B6,0x000C54B3,0x000C54B0,0x000C54AD,0x000C54AA,0x000C54A7,0x000C54A4,0x000C54A1,0x000C549E,0x000C549B, -0x000C5498,0x000C5495,0x000C5492,0x000C548F,0x000C548C,0x000C5489,0x000C5486,0x000C5483,0xA800362D,0xA900362E, -0xAA00362F,0xAB003630,0xAC003631,0xAD003632,0xAE003633,0xAF003634,0xB0003635,0xB1003636,0xB2003637,0xB3003638, -0xB4003639,0xB500363A,0xB600363B,0xB700363C,0xB800363D,0xB900363E,0xBA00363F,0xBB003658,0xBC003659,0xBD00365A, -0xBE00365B,0xBF00365C,0x000C5480,0x000C547D,0x000C547A,0x000C5477,0x000C5474,0xE10034F9,0x80003661,0x81003662, -0x82003663,0x000C5471,0x000C546E,0x000C546B,0x000C5468,0x860035D4,0x87003620,0x000C5465,0x000C5462,0x000C545F, -0x000C545C,0x000C5459,0x000C5456,0x000C5453,0x000C5450,0x000C544D,0x000C544A,0x000C5447,0x000C5444,0x000C5441, -0x000C543E,0x000C543B,0x000C5438,0x000C5435,0x000C5432,0x000C542F,0x000C542C,0x000C5429,0xA8003667,0xA9003668, -0xAA003669,0xAB00366A,0xAC00366B,0xAD00366C,0xAE00366D,0xAF00366E,0xB000366F,0xB1003670,0xB2003671,0xB3003672, -0xB4003673,0xB5003674,0xB6003675,0xB7003676,0xB8003677,0xB9003678,0xBA003679,0xBB00367A,0xBC00367B,0xBD003694, -0xBE003695,0xBF003696,0x000C5426,0x000C5423,0x000C5420,0xE1003532,0x000C541D,0x000C541A,0x000C5417,0x000C5414, -0x000C5411,0x000C540E,0x000C540B,0x000C5408,0x80003698,0x81003699,0x8200369A,0x000C5405,0x000C5402,0x000C53FF, -0x000C53FC,0x000C53F9,0x000C53F6,0x000C53F3,0x86003604,0x87003652,0xA800369C,0xA900369D,0xAA00369E,0xAB00369F, -0xAC0036A3,0xAD0036A4,0xAE0036A5,0xAF0036A6,0xB00036A7,0xB10036A8,0xB20036A9,0xB30036C4,0xB40036C5,0xB50036C6, -0xB60036C7,0xB70036C8,0xB80036C9,0xB90036CA,0xBA0036CB,0xBB0036CC,0xBC0036CD,0xBD0036CE,0xBE0036CF,0xBF0036D0, -0x000C53F0,0x000C53ED,0x000C53EA,0x000C53E7,0x000C53E4,0x000C53E1,0x000C53DE,0x000C53DB,0x000C53D8,0x000C53D5, -0x000C53D2,0x000C53CF,0x000C53CC,0xE100356B,0x800036D5,0x810036D6,0x820036D7,0x000C53C9,0x000C53C6,0x000C53C3, -0x000C53C0,0x86003640,0x8700368C,0x000C53BD,0x000C53BA,0x000C53B7,0x000C53B4,0x000C53B1,0x000C53AE,0x000C53AB, -0x000C53A8,0x000C53A5,0x000C53A2,0x000C539F,0x000C539C,0x000C5399,0xA80036DB,0xA90036DC,0xAA0036DD,0xAB0036DE, -0xAC0036DF,0xAD0036E0,0xAE0036E1,0xAF0036E2,0xB00036E3,0xB10036E4,0xB20036E5,0xB30036E6,0xB40036E7,0xB5003700, -0xB6003701,0xB7003702,0xB8003703,0xB9003704,0xBA003705,0xBB003706,0xBC003707,0xBD003708,0xBE003709,0xBF00370A, -0x000C5396,0x000C5393,0x000C5390,0x000C538D,0x000C538A,0x000C5387,0x000C5384,0x000C5381,0x000C537E,0x000C537B, -0x000C5378,0xE10035A5,0x8000370F,0x81003710,0x82003711,0x000C5375,0x000C5372,0x000C536F,0x000C536C,0x8600367C, -0x870036D1,0x000C5369,0x000C5366,0x000C5363,0x000C5360,0x000C535D,0x000C535A,0x000C5357,0x000C5354,0x000C5351, -0x000C534E,0x000C534B,0x000C5348,0x000C5345,0x000C5342,0x000C533F,0xA8003715,0xA9003716,0xAA003717,0xAB003718, -0xAC003719,0xAD00371A,0xAE00371B,0xAF00371C,0xB000371D,0xB100371E,0xB200371F,0xB3003720,0xB4003721,0xB5003722, -0xB6003723,0xB700373C,0xB800373D,0xB900373E,0xBA00373F,0xBB003740,0xBC003741,0xBD003742,0xBE003743,0xBF003744, -0x000C533C,0x000C5339,0x000C5336,0x000C5333,0x000C5330,0x000C532D,0x000C532A,0x000C5327,0x000C5324,0xE10035DF, -0x000C5321,0x000C531E,0x000C531B,0x000C5318,0x000C5315,0x000C5312,0x000C530F,0x000C530C,0x000C5309,0x000C5306, -0x000C5303,0x80003746,0x81003747,0x82003748,0x000C5300,0x000C52FD,0x000C52FA,0x000C52F7,0x860036B2,0x8700370B, -0xA800374A,0xA900374B,0xAA00374C,0xAB00374D,0xAC00374E,0xAD00374F,0xAE003750,0xAF003754,0xB0003755,0xB1003756, -0xB2003757,0xB3003772,0xB4003773,0xB5003774,0xB6003775,0xB7003776,0xB8003777,0xB9003778,0xBA003779,0xBB00377A, -0xBC00377B,0xBD00377D,0xBE00377E,0xBF00377F,0x000C52F4,0x000C52F1,0x000C52EE,0x000C52EB,0x000C52E8,0x000C52E5, -0x000C52E2,0x000C52DF,0x000C52DC,0x000C52D9,0xE1003624,0x000C52D6,0x000C52D3,0x000C52D0,0x000C52CD,0x000C52CA, -0x000C52C7,0x000C52C4,0x860036E8,0x8700373A,0x000C52C1,0x000C52BE,0x000C52BB,0x000C52B8,0x000C52B5,0x80003780, -0x81003781,0x82003782,0x000C52B2,0x000C52AF,0xA8003786,0xA9003787,0xAA003788,0xAB003789,0xAC00378A,0xAD00378E, -0xAE00378F,0xAF0037A8,0xB00037A9,0xB10037AA,0xB20037AB,0xB30037AC,0xB40037AD,0xB50037AE,0xB60037AF,0xB70037B0, -0xB80037B1,0xB90037B2,0xBA0037B3,0xBB0037B4,0xBC0037B5,0xBD0037B6,0xBE0037B7,0xBF0037B8,0x000C52AC,0x000C52A9, -0x000C52A6,0x000C52A3,0x000C52A0,0x000C529D,0x000C529A,0x000C5297,0x000C5294,0x000C5291,0x000C528E,0x000C528B, -0x000C5288,0x000C5285,0x000C5282,0x000C527F,0x000C527C,0xE1003653,0x800037BD,0x810037BE,0x820037BF,0x000C5279, -0x000C5276,0x000C5273,0x000C5270,0x86003724,0x8700377C,0x000C526D,0x000C526A,0x000C5267,0x000C5264,0x000C5261, -0x000C525E,0x000C525B,0x000C5258,0x000C5255,0xA80037C3,0xA90037C4,0xAA0037C5,0xAB0037C6,0xAC0037C7,0xAD0037C8, -0xAE0037C9,0xAF0037CA,0xB00037CB,0xB10037E4,0xB20037E5,0xB30037E6,0xB40037E7,0xB50037E8,0xB60037E9,0xB70037EA, -0xB80037EB,0xB90037EC,0xBA0037ED,0xBB0037EE,0xBC0037EF,0xBD0037F0,0xBE0037F1,0xBF0037F2,0x000C5252,0x000C524F, -0x000C524C,0x000C5249,0x000C5246,0x000C5243,0x000C5240,0x000C523D,0x000C523A,0x000C5237,0x000C5234,0x000C5231, -0x000C522E,0x000C522B,0x000C5228,0xE100368D,0x000C5225,0x000C5222,0x000C521F,0x000C521C,0x000C5219,0x000C5216, -0x000C5213,0x000C5210,0x800037F4,0x810037F5,0x820037F6,0x000C520D,0x000C520A,0x000C5207,0x000C5204,0x000C5201, -0x000C51FE,0x000C51FB,0x000C51F8,0x000C51F5,0x000C51F2,0x000C51EF,0x86003764,0x870037B9,0xA80037F8,0xA90037F9, -0xAA0037FA,0xAB0037FB,0xAC0037FF,0xAD003800,0xAE003801,0xAF003802,0xB0003803,0xB1003804,0xB2003805,0xB3003806, -0xB4003807,0xB5003808,0xB6003809,0xB7003824,0xB8003825,0xB9003826,0xBA003827,0xBB003828,0xBC003829,0xBD00382B, -0xBE00382C,0xBF00382D,0x000C51EC,0x000C51E9,0x000C51E6,0x000C51E3,0x000C51E0,0x000C51DD,0xE10036D2,0x000C51DA, -0x000C51D7,0x000C51D4,0x000C51D1,0x000C51CE,0x000C51CB,0x000C51C8,0x000C51C5,0x000C51C2,0x000C51BF,0x000C51BC, -0x000C51B9,0x000C51B6,0x000C51B3,0x8000382E,0x8100382F,0x82003830,0x000C51B0,0x000C51AD,0x000C51AA,0x000C51A7, -0x8600379A,0x870037F3,0xA8003832,0xA9003833,0xAA003834,0xAB003835,0xAC003836,0xAD003837,0xAE003838,0xAF00383C, -0xB000383D,0xB100383E,0xB200383F,0xB300385A,0xB400385B,0xB500385C,0xB600385D,0xB700385E,0xB800385F,0xB9003860, -0xBA003861,0xBB003862,0xBC003863,0xBD003865,0xBE003866,0xBF003867,0x000C51A4,0x000C51A1,0x000C519E,0x000C519B, -0x000C5198,0x000C5195,0x000C5192,0x000C518F,0x000C518C,0x000C5189,0xE10036FE,0x000C5186,0x000C5183,0x000C5180, -0x000C517D,0x000C517A,0x000C5177,0x000C5174,0x000C5171,0x000C516E,0x000C516B,0x000C5168,0x000C5165,0x000C5162, -0x000C515F,0x80003868,0x81003869,0x8200386A,0x000C515C,0x000C5159,0x000C5156,0x000C5153,0x000C5150,0x000C514D, -0x000C514A,0x000C5147,0x000C5144,0x000C5141,0x000C513E,0x000C513B,0x860037DC,0x87003822,0xA800386C,0xA900386D, -0xAA00386E,0xAB00386F,0xAC003870,0xAD003871,0xAE003872,0xAF003876,0xB0003877,0xB1003878,0xB2003879,0xB300387A, -0xB400387B,0xB500387C,0xB600387D,0xB700387E,0xB800387F,0xB9003880,0xBA003881,0xBB00389C,0xBC00389D,0xBD00389E, -0xBE00389F,0xBF0038A0,0x000C5138,0x000C5135,0x000C5132,0x000C512F,0x000C512C,0xE100373B,0x800038A5,0x810038A6, -0x820038A7,0x000C5129,0x000C5126,0x000C5123,0x000C5120,0x8600380A,0x87003864,0x000C511D,0x000C511A,0x000C5117, -0x000C5114,0x000C5111,0x000C510E,0x000C510B,0xA80038AB,0xA90038AC,0xAA0038AD,0xAB0038AE,0xAC0038AF,0xAD0038B0, -0xAE0038B1,0xAF0038CA,0xB00038CB,0xB10038CC,0xB20038CD,0xB30038CE,0xB40038CF,0xB50038D0,0xB60038D1,0xB70038D2, -0xB80038D3,0xB90038D4,0xBA0038D5,0xBB0038D6,0xBC0038D7,0xBD0038D9,0xBE0038DA,0xBF0038DB,0x000C5108,0x000C5105, -0x000C5102,0x000C50FF,0x000C50FC,0x000C50F9,0x000C50F6,0x000C50F3,0x000C50F0,0x000C50ED,0x000C50EA,0x000C50E7, -0x000C50E4,0x000C50E1,0xE1003784,0x000C50DE,0x000C50DB,0x000C50D8,0x000C50D5,0x000C50D2,0x000C50CF,0x000C50CC, -0x000C50C9,0x000C50C6,0x000C50C3,0x000C50C0,0x800038DC,0x810038DD,0x820038DE,0x000C50BD,0x000C50BA,0x000C50B7, -0x000C50B4,0x000C50B1,0x000C50AE,0x000C50AB,0x000C50A8,0x000C50A5,0x000C50A2,0x000C509F,0x000C509C,0x000C5099, -0x000C5096,0x000C5093,0x000C5090,0x000C508D,0x000C508A,0x86003874,0x87003882,0x000C5087,0x000C5084,0x000C5081, -0x000C507E,0x000C507B,0x000C5078,0x000C5075,0x800038FD,0x810038FE,0x820038FF,0x000C5072,0x000C506F,0x000C506C, -0x000C5069,0x8600388C,0x870038D8,0x000C5066,0x000C5063,0x000C5060,0x000C505D,0x000C505A,0x000C5057,0x000C5054, -0xE10037BA,0x000C5051,0x000C504E,0x000C504B,0x000C5048,0x000C5045,0x000C5042,0x000C503F,0x000C503C,0x000C5039, -0xA80038E0,0xA90038E1,0xAA0038E2,0xAB0038E3,0xAC0038E7,0xAD0038E8,0xAE0038E9,0xAF0038EA,0xB00038EB,0xB10038EC, -0xB20038ED,0xB30038EE,0xB40038EF,0xB50038F0,0xB60038F1,0xB70038F2,0xB80038F3,0xB90038F4,0xBA0038F5,0xBB0038F6, -0xBC0038F7,0xBD0038F8,0xBE0038FB,0xBF0038FC,0xA8003901,0xA9003905,0xAA003906,0xAB003907,0xAC003908,0xAD00390B, -0xAE00390C,0xAF00390D,0xB000390E,0xB100390F,0xB2003910,0xB3003911,0xB4003913,0xB5003914,0xB6003915,0xB7003916, -0xB8003917,0xB9003918,0xBA003919,0xBB00391A,0xBC00391B,0xBD00394D,0xBE00394E,0xBF00394F,0xE10037FC,0x000C5036, -0x000C5033,0x000C5030,0x000C502D,0x000C502A,0x000C5027,0x000C5024,0x000C5021,0x000C501E,0x000C501B,0x000C5018, -0x80003950,0x81003951,0x82003952,0x000C5015,0x000C5012,0x000C500F,0x000C500C,0x000C5009,0x000C5006,0x000C5003, -0x000C5000,0x000C4FFD,0x000C4FFA,0x000C4FF7,0x000C4FF4,0x000C4FF1,0x000C4FEE,0x000C4FEB,0x860038C4,0x8700390A, -0xA8003954,0xA9003955,0xAA003956,0xAB003957,0xAC00395B,0xAD00395C,0xAE00395D,0xAF00395E,0xB000395F,0xB1003960, -0xB2003961,0xB3003962,0xB4003963,0xB5003964,0xB6003965,0xB7003966,0xB8003967,0xB9003968,0xBA003969,0xBB003984, -0xBC003985,0xBD003986,0xBE003987,0xBF003988,0x000C4FE8,0x000C4FE5,0x000C4FE2,0x000C4FDF,0x000C4FDC,0xE1003823, -0x8000398D,0x8100398E,0x8200398F,0x000C4FD9,0x000C4FD6,0x000C4FD3,0x000C4FD0,0x000C4FCD,0x000C4FCA,0x000C4FC7, -0x000C4FC4,0x000C4FC1,0x000C4FBE,0x000C4FBB,0x860038F9,0x87003944,0x000C4FB8,0x000C4FB5,0x000C4FB2,0x000C4FAF, -0x000C4FAC,0x000C4FA9,0x000C4FA6,0xA8003991,0xA9003992,0xAA003993,0xAB003994,0xAC003995,0xAD003996,0xAE003997, -0xAF00399A,0xB000399B,0xB100399C,0xB200399D,0xB300399E,0xB400399F,0xB50039A0,0xB60039B9,0xB70039BA,0xB80039BB, -0xB90039BC,0xBA0039BD,0xBB0039BE,0xBC0039BF,0xBD0039C1,0xBE0039C2,0xBF0039C3,0x000C4FA3,0x000C4FA0,0x000C4F9D, -0x000C4F9A,0x000C4F97,0x000C4F94,0x000C4F91,0xE1003873,0x000C4F8E,0x000C4F8B,0x000C4F88,0x800039C7,0x810039C8, -0x820039C9,0x000C4F85,0x000C4F82,0x000C4F7F,0x85003941,0x000C4F7C,0x86003958,0x8700397D,0x000C4F79,0x000C4F76, -0x000C4F73,0x000C4F70,0x000C4F6D,0x000C4F6A,0x000C4F67,0x000C4F64,0x000C4F61,0x000C4F5E,0x000C4F5B,0x000C4F58, -0x000C4F55,0xE1003945,0x000C4F52,0x000C4F4F,0x000C4F4C,0x000C4F49,0x000C4F46,0xE1003883,0xA10039CB,0xA2003A1B, -0xA3003A3D,0xA4003A8F,0xA5003AC9,0xA6003B00,0xA7003B25,0xA8003B77,0xA9003BAE,0xAA003BE8,0xAB003C22,0xAC003C5F, -0xAD003C99,0xAE003CD3,0xAF003D0A,0xB0003D44,0xB1003D7E,0xB2003DB8,0xB3003DF2,0xB4003E2F,0xB5003E69,0x000C4F43, -0x000C4F40,0x000C4F3D,0x000C4F3A,0x000C4F37,0x000C4F34,0x80003A18,0x81003A19,0x82003A1A,0xA80039CE,0xA90039CF, -0xAA0039D0,0xAB0039D1,0xAC0039D2,0xAD0039D3,0xAE0039D4,0xAF0039D5,0xB00039D6,0xB10039D7,0xB20039D8,0xB30039D9, -0xB40039DA,0xB50039DC,0xB60039DD,0xB70039DE,0xB80039DF,0xB90039E0,0xBA0039F7,0xBB0039F8,0xBC0039F9,0xBD0039FA, -0xBE0039FB,0xBF0039FC,0x000C4F31,0x000C4F2E,0x000C4F2B,0x000C4F28,0x000C4F25,0x000C4F22,0x86003999,0x870039B7, -0x000C4F1F,0x000C4F1C,0x000C4F19,0x000C4F16,0x000C4F13,0x000C4F10,0x000C4F0D,0x000C4F0A,0x000C4F07,0x000C4F04, -0x000C4F01,0x000C4EFE,0x000C4EFB,0x000C4EF8,0x000C4EF5,0x000C4EF2,0x000C4EEF,0x000C4EEC,0x000C4EE9,0x000C4EE6, -0xE10038E4,0x000C4EE3,0x000C4EE0,0x80003A3A,0x81003A3B,0x82003A3C,0x000C4EDD,0x000C4EDA,0x000C4ED7,0x000C4ED4, -0x860039B1,0x87003A09,0x000C4ED1,0xA8003A1C,0xA9003A1D,0xAA003A20,0xAB003A21,0xAC003A22,0xAD003A23,0xAE003A24, -0xAF003A25,0xB0003A26,0xB1003A27,0xB2003A28,0xB3003A29,0xB4003A2A,0xB5003A2B,0xB6003A2C,0xB7003A2D,0xB8003A2E, -0xB9003A2F,0xBA003A30,0xBB003A31,0xBC003A32,0xBD003A33,0xBE003A35,0xBF003A36,0xA8003A40,0xA9003A72,0xAA003A73, -0xAB003A74,0xAC003A75,0xAD003A76,0xAE003A77,0xAF003A78,0xB0003A79,0xB1003A7A,0xB2003A7B,0xB3003A7C,0xB4003A7D, -0xB5003A7E,0xB6003A7F,0xB7003A80,0xB8003A81,0xB9003A82,0xBA003A83,0xBB003A84,0xBC003A85,0xBD003A86,0xBE003A87, -0xBF003A88,0xE1003912,0x000C4ECE,0x000C4ECB,0x000C4EC8,0x000C4EC5,0x000C4EC2,0x000C4EBF,0x000C4EBC,0x000C4EB9, -0x000C4EB6,0x000C4EB3,0x000C4EB0,0x000C4EAD,0x000C4EAA,0x000C4EA7,0x000C4EA4,0x000C4EA1,0x000C4E9E,0x000C4E9B, -0x000C4E98,0x000C4E95,0x000C4E92,0x000C4E8F,0x000C4E8C,0x80003A8C,0x81003A8D,0x82003A8E,0x000C4E89,0x000C4E86, -0x000C4E83,0x000C4E80,0x860039EA,0x87003A43,0xA8003AAA,0xA9003AAB,0xAA003AAD,0xAB003AAE,0xAC003AAF,0xAD003AB0, -0xAE003AB1,0xAF003AB2,0xB0003AB3,0xB1003AB4,0xB2003AB5,0xB3003AB6,0xB4003AB7,0xB5003AB8,0xB6003AB9,0xB7003ABA, -0xB8003ABB,0xB9003ABC,0xBA003ABD,0xBB003ABE,0xBC003ABF,0xBD003AC0,0xBE003AC1,0xBF003AC2,0x000C4E7D,0x000C4E7A, -0xE1003946,0x000C4E77,0x000C4E74,0x000C4E71,0x000C4E6E,0x000C4E6B,0x000C4E68,0x000C4E65,0x000C4E62,0x000C4E5F, -0x000C4E5C,0x000C4E59,0x000C4E56,0x000C4E53,0x000C4E50,0x000C4E4D,0x000C4E4A,0x000C4E47,0x000C4E44,0x000C4E41, -0x000C4E3E,0x000C4E3B,0x000C4E38,0x80003AC6,0x81003AC7,0x82003AC8,0x000C4E35,0x000C4E32,0x000C4E2F,0x000C4E2C, -0x86003A34,0x87003A89,0x000C4E29,0x000C4E26,0x000C4E23,0x000C4E20,0x000C4E1D,0x000C4E1A,0x000C4E17,0x000C4E14, -0x000C4E11,0x000C4E0E,0x000C4E0B,0x000C4E08,0x000C4E05,0x000C4E02,0x000C4DFF,0x000C4DFC,0xA8003ACC,0xA9003ACD, -0xAA003ACE,0xAB003ACF,0xAC003AD0,0xAD003AD1,0xAE003AD2,0xAF003AD3,0xB0003AD4,0xB1003AD5,0xB2003AD6,0xB3003AD7, -0xB4003AD8,0xB5003AD9,0xB6003ADA,0xB7003ADB,0xB8003AF4,0xB9003AF5,0xBA003AF6,0xBB003AF7,0xBC003AF8,0xBD003AF9, -0xBE003AFA,0xBF003AFB,0x000C4DF9,0x000C4DF6,0x000C4DF3,0x000C4DF0,0x000C4DED,0x000C4DEA,0x000C4DE7,0x000C4DE4, -0xE1003998,0x000C4DE1,0x000C4DDE,0x000C4DDB,0x000C4DD8,0x000C4DD5,0x000C4DD2,0x000C4DCF,0x000C4DCC,0x000C4DC9, -0x000C4DC6,0x000C4DC3,0x000C4DC0,0x80003AFD,0x81003AFE,0x82003AFF,0x000C4DBD,0x000C4DBA,0x000C4DB7,0x000C4DB4, -0x86003A8B,0x87003A9F,0x000C4DB1,0x000C4DAE,0x000C4DAB,0x000C4DA8,0x000C4DA5,0x000C4DA2,0x000C4D9F,0x000C4D9C, -0x000C4D99,0x000C4D96,0x000C4D93,0x000C4D90,0xE10039B8,0x80003B22,0x81003B23,0x82003B24,0x000C4D8D,0x000C4D8A, -0x000C4D87,0x000C4D84,0x86003AA3,0x87003AF1,0x000C4D81,0x000C4D7E,0x000C4D7B,0x000C4D78,0x000C4D75,0x000C4D72, -0x000C4D6F,0x000C4D6C,0x000C4D69,0x000C4D66,0x000C4D63,0xA8003B01,0xA9003B02,0xAA003B03,0xAB003B04,0xAC003B05, -0xAD003B06,0xAE003B07,0xAF003B08,0xB0003B0C,0xB1003B0D,0xB2003B0E,0xB3003B0F,0xB4003B12,0xB5003B13,0xB6003B14, -0xB7003B15,0xB8003B16,0xB9003B17,0xBA003B18,0xBB003B19,0xBC003B1A,0xBD003B1B,0xBE003B1C,0xBF003B1D,0xA8003B28, -0xA9003B29,0xAA003B2A,0xAB003B2B,0xAC003B2C,0xAD003B2D,0xAE003B2E,0xAF003B2F,0xB0003B30,0xB1003B31,0xB2003B32, -0xB3003B63,0xB4003B64,0xB5003B65,0xB6003B66,0xB7003B67,0xB8003B68,0xB9003B69,0xBA003B6A,0xBB003B6B,0xBC003B6C, -0xBD003B6D,0xBE003B6E,0xBF003B6F,0x000C4D60,0x000C4D5D,0x000C4D5A,0x000C4D57,0x000C4D54,0x000C4D51,0x000C4D4E, -0x000C4D4B,0x000C4D48,0x000C4D45,0x000C4D42,0x000C4D3F,0x000C4D3C,0xE1003A0A,0x80003B74,0x81003B75,0x82003B76, -0x000C4D39,0x000C4D36,0x000C4D33,0x000C4D30,0x86003ADC,0x87003B33,0x000C4D2D,0x000C4D2A,0x000C4D27,0x000C4D24, -0x000C4D21,0x000C4D1E,0x000C4D1B,0x000C4D18,0x000C4D15,0x000C4D12,0xA8003B7A,0xA9003B7B,0xAA003B7C,0xAB003B7D, -0xAC003B7E,0xAD003B7F,0xAE003B80,0xAF003B81,0xB0003B82,0xB1003B83,0xB2003B9C,0xB3003B9D,0xB4003B9E,0xB5003B9F, -0xB6003BA0,0xB7003BA1,0xB8003BA2,0xB9003BA3,0xBA003BA4,0xBB003BA5,0xBC003BA6,0xBD003BA7,0xBE003BA8,0xBF003BA9, -0x000C4D0F,0x000C4D0C,0x000C4D09,0x000C4D06,0x000C4D03,0x000C4D00,0x000C4CFD,0x000C4CFA,0x000C4CF7,0x000C4CF4, -0x000C4CF1,0x000C4CEE,0x000C4CEB,0x000C4CE8,0xE1003A44,0x000C4CE5,0x000C4CE2,0x000C4CDF,0x000C4CDC,0x000C4CD9, -0x000C4CD6,0x000C4CD3,0x000C4CD0,0x80003BAB,0x81003BAC,0x82003BAD,0x000C4CCD,0x000C4CCA,0x000C4CC7,0x000C4CC4, -0x86003B1E,0x87003B70,0x000C4CC1,0x000C4CBE,0x000C4CBB,0x000C4CB8,0x000C4CB5,0x000C4CB2,0x000C4CAF,0x000C4CAC, -0x000C4CA9,0x000C4CA6,0xA8003BAF,0xA9003BB0,0xAA003BB1,0xAB003BB2,0xAC003BB6,0xAD003BB7,0xAE003BB8,0xAF003BB9, -0xB0003BBC,0xB1003BBD,0xB2003BBE,0xB3003BBF,0xB4003BC0,0xB5003BC1,0xB6003BC2,0xB7003BC3,0xB8003BC4,0xB9003BC5, -0xBA003BDE,0xBB003BDF,0xBC003BE0,0xBD003BE2,0xBE003BE3,0xBF003BE4,0x000C4CA3,0x000C4CA0,0x000C4C9D,0xE1003A8A, -0x000C4C9A,0x000C4C97,0x000C4C94,0x000C4C91,0x000C4C8E,0x000C4C8B,0x000C4C88,0x000C4C85,0x000C4C82,0x000C4C7F, -0x000C4C7C,0x000C4C79,0x000C4C76,0x000C4C73,0x80003BE5,0x81003BE6,0x82003BE7,0x000C4C70,0x000C4C6D,0x000C4C6A, -0x000C4C67,0x86003B5F,0x87003BAA,0x000C4C64,0x000C4C61,0x000C4C5E,0x000C4C5B,0x000C4C58,0x000C4C55,0x000C4C52, -0x000C4C4F,0x000C4C4C,0x000C4C49,0x000C4C46,0x000C4C43,0x000C4C40,0xE1003AA0,0xA8003BE9,0xA9003BEA,0xAA003BEB, -0xAB003BEC,0xAC003BED,0xAD003BEE,0xAE003BEF,0xAF003BF3,0xB0003BF4,0xB1003BF5,0xB2003BF6,0xB3003BF9,0xB4003BFA, -0xB5003BFB,0xB6003BFC,0xB7003BFD,0xB8003BFE,0xB9003BFF,0xBA003C00,0xBB003C01,0xBC003C02,0xBD003C03,0xBE003C04, -0xBF003C05,0x000C4C3D,0x000C4C3A,0x000C4C37,0x000C4C34,0x000C4C31,0x000C4C2E,0x000C4C2B,0x000C4C28,0x000C4C25, -0x000C4C22,0x000C4C1F,0x80003C1F,0x81003C20,0x82003C21,0x000C4C1C,0x000C4C19,0x000C4C16,0x000C4C13,0x000C4C10, -0x000C4C0D,0x000C4C0A,0x000C4C07,0x000C4C04,0x000C4C01,0x000C4BFE,0x000C4BFB,0x86003B93,0x87003BD9,0xA8003C23, -0xA9003C24,0xAA003C25,0xAB003C26,0xAC003C27,0xAD003C28,0xAE003C29,0xAF003C2D,0xB0003C2E,0xB1003C2F,0xB2003C30, -0xB3003C31,0xB4003C32,0xB5003C33,0xB6003C34,0xB7003C35,0xB8003C36,0xB9003C37,0xBA003C38,0xBB003C53,0xBC003C54, -0xBD003C55,0xBE003C56,0xBF003C57,0x000C4BF8,0x000C4BF5,0x000C4BF2,0x000C4BEF,0x000C4BEC,0xE1003AF2,0x80003C5C, -0x81003C5D,0x82003C5E,0x000C4BE9,0x000C4BE6,0x000C4BE3,0x000C4BE0,0x86003BBA,0x87003C13,0xA8003C7A,0xA9003C7B, -0xAA003C7C,0xAB003C7D,0xAC003C7E,0xAD003C7F,0xAE003C80,0xAF003C81,0xB0003C82,0xB1003C83,0xB2003C84,0xB3003C85, -0xB4003C86,0xB5003C87,0xB6003C88,0xB7003C89,0xB8003C8A,0xB9003C8B,0xBA003C8C,0xBB003C8D,0xBC003C8E,0xBD003C90, -0xBE003C91,0xBF003C92,0x000C4BDD,0x000C4BDA,0x000C4BD7,0x000C4BD4,0x000C4BD1,0x000C4BCE,0x000C4BCB,0x000C4BC8, -0x000C4BC5,0x000C4BC2,0x000C4BBF,0x000C4BBC,0x000C4BB9,0x000C4BB6,0x000C4BB3,0x000C4BB0,0x000C4BAD,0x000C4BAA, -0x000C4BA7,0x000C4BA4,0x000C4BA1,0xE1003B34,0x000C4B9E,0x000C4B9B,0x000C4B98,0x80003C96,0x81003C97,0x82003C98, -0x000C4B95,0x000C4B92,0x000C4B8F,0x000C4B8C,0x86003BF7,0x87003C4D,0x000C4B89,0x000C4B86,0x000C4B83,0xA8003C9C, -0xA9003C9D,0xAA003C9E,0xAB003CB7,0xAC003CB8,0xAD003CB9,0xAE003CBA,0xAF003CBB,0xB0003CBC,0xB1003CBD,0xB2003CBE, -0xB3003CBF,0xB4003CC0,0xB5003CC1,0xB6003CC2,0xB7003CC3,0xB8003CC4,0xB9003CC5,0xBA003CC6,0xBB003CC7,0xBC003CC8, -0xBD003CCA,0xBE003CCB,0xBF003CCC,0x000C4B80,0x000C4B7D,0x000C4B7A,0x000C4B77,0x000C4B74,0x000C4B71,0x000C4B6E, -0x000C4B6B,0x000C4B68,0x000C4B65,0x000C4B62,0x000C4B5F,0x000C4B5C,0x000C4B59,0x000C4B56,0x000C4B53,0x000C4B50, -0x000C4B4D,0xE1003B71,0x000C4B4A,0x000C4B47,0x000C4B44,0x80003CD0,0x81003CD1,0x82003CD2,0x000C4B41,0x000C4B3E, -0x000C4B3B,0x000C4B38,0x86003C39,0x87003C8F,0x000C4B35,0x000C4B32,0x000C4B2F,0x000C4B2C,0x000C4B29,0x000C4B26, -0x000C4B23,0x000C4B20,0x000C4B1D,0x000C4B1A,0x000C4B17,0xA8003CD6,0xA9003CD7,0xAA003CD8,0xAB003CD9,0xAC003CDA, -0xAD003CDB,0xAE003CDC,0xAF003CDD,0xB0003CDE,0xB1003CDF,0xB2003CE0,0xB3003CF9,0xB4003CFA,0xB5003CFB,0xB6003CFC, -0xB7003CFD,0xB8003CFE,0xB9003CFF,0xBA003D00,0xBB003D01,0xBC003D02,0xBD003D04,0xBE003D05,0xBF003D06,0x000C4B14, -0x000C4B11,0x000C4B0E,0x000C4B0B,0x000C4B08,0x000C4B05,0x000C4B02,0x000C4AFF,0x000C4AFC,0x000C4AF9,0xE1003BB3, -0x000C4AF6,0x000C4AF3,0x000C4AF0,0x000C4AED,0x000C4AEA,0x000C4AE7,0x000C4AE4,0x000C4AE1,0x000C4ADE,0x000C4ADB, -0x000C4AD8,0x80003D07,0x81003D08,0x82003D09,0x000C4AD5,0x000C4AD2,0x000C4ACF,0x000C4ACC,0x000C4AC9,0x000C4AC6, -0x000C4AC3,0x86003C73,0x87003CC9,0xA8003D0B,0xA9003D0C,0xAA003D0D,0xAB003D0E,0xAC003D12,0xAD003D13,0xAE003D14, -0xAF003D15,0xB0003D16,0xB1003D17,0xB2003D18,0xB3003D33,0xB4003D34,0xB5003D35,0xB6003D36,0xB7003D37,0xB8003D38, -0xB9003D39,0xBA003D3A,0xBB003D3B,0xBC003D3C,0xBD003D3D,0xBE003D3E,0xBF003D3F,0x000C4AC0,0x000C4ABD,0x000C4ABA, -0x000C4AB7,0x000C4AB4,0x000C4AB1,0x000C4AAE,0x000C4AAB,0x000C4AA8,0x000C4AA5,0x000C4AA2,0x000C4A9F,0x000C4A9C, -0xE1003BDA,0x000C4A99,0x000C4A96,0x000C4A93,0x000C4A90,0x000C4A8D,0x000C4A8A,0x000C4A87,0x000C4A84,0x80003D41, -0x81003D42,0x82003D43,0x000C4A81,0x000C4A7E,0x000C4A7B,0x000C4A78,0x000C4A75,0x000C4A72,0x000C4A6F,0x86003CAD, -0x87003D03,0xA8003D45,0xA9003D46,0xAA003D47,0xAB003D48,0xAC003D4C,0xAD003D4D,0xAE003D4E,0xAF003D4F,0xB0003D50, -0xB1003D51,0xB2003D52,0xB3003D6D,0xB4003D6E,0xB5003D6F,0xB6003D70,0xB7003D71,0xB8003D72,0xB9003D73,0xBA003D74, -0xBB003D75,0xBC003D76,0xBD003D77,0xBE003D78,0xBF003D79,0x000C4A6C,0x000C4A69,0x000C4A66,0x000C4A63,0x000C4A60, -0x000C4A5D,0x000C4A5A,0x000C4A57,0x000C4A54,0x000C4A51,0x000C4A4E,0x000C4A4B,0x000C4A48,0xE1003C14,0x000C4A45, -0x000C4A42,0x000C4A3F,0x000C4A3C,0x000C4A39,0x000C4A36,0x000C4A33,0x000C4A30,0x80003D7B,0x81003D7C,0x82003D7D, -0x000C4A2D,0x000C4A2A,0x000C4A27,0x000C4A24,0x000C4A21,0x000C4A1E,0x000C4A1B,0x000C4A18,0x000C4A15,0x000C4A12, -0x000C4A0F,0x000C4A0C,0x000C4A09,0x000C4A06,0x000C4A03,0x86003CEF,0x87003D40,0xA8003D7F,0xA9003D80,0xAA003D81, -0xAB003D82,0xAC003D86,0xAD003D87,0xAE003D88,0xAF003D89,0xB0003D8A,0xB1003D8B,0xB2003D8C,0xB3003D8D,0xB4003D8E, -0xB5003D8F,0xB6003D90,0xB7003D91,0xB8003D92,0xB9003D93,0xBA003D94,0xBB003DAF,0xBC003DB0,0xBD003DB1,0xBE003DB2, -0xBF003DB3,0x000C4A00,0x000C49FD,0x000C49FA,0x000C49F7,0x000C49F4,0xE1003C4E,0x000C49F1,0x000C49EE,0x000C49EB, -0x000C49E8,0x000C49E5,0x000C49E2,0x000C49DF,0x000C49DC,0x000C49D9,0x000C49D6,0x000C49D3,0x80003DB5,0x81003DB6, -0x82003DB7,0x000C49D0,0x000C49CD,0x000C49CA,0x000C49C7,0x000C49C4,0x000C49C1,0x000C49BE,0x000C49BB,0x000C49B8, -0x000C49B5,0x000C49B2,0x000C49AF,0x86003D29,0x87003D7A,0xA8003DB9,0xA9003DBA,0xAA003DBB,0xAB003DBC,0xAC003DBD, -0xAD003DBE,0xAE003DBF,0xAF003DC3,0xB0003DC4,0xB1003DC5,0xB2003DC6,0xB3003DC7,0xB4003DC8,0xB5003DC9,0xB6003DCA, -0xB7003DCB,0xB8003DCC,0xB9003DCD,0xBA003DCE,0xBB003DE9,0xBC003DEA,0xBD003DEC,0xBE003DED,0xBF003DEE,0x000C49AC, -0x000C49A9,0xE1003C93,0x000C49A6,0x000C49A3,0x000C49A0,0x000C499D,0x000C499A,0x000C4997,0x000C4994,0x000C4991, -0x000C498E,0x000C498B,0x000C4988,0x000C4985,0x000C4982,0x000C497F,0x80003DEF,0x81003DF0,0x82003DF1,0x000C497C, -0x000C4979,0x000C4976,0x000C4973,0x000C4970,0x000C496D,0x000C496A,0x000C4967,0x000C4964,0x000C4961,0x000C495E, -0x000C495B,0x86003D63,0x87003DA9,0xA8003DF3,0xA9003DF4,0xAA003DF5,0xAB003DF6,0xAC003DF7,0xAD003DF8,0xAE003DF9, -0xAF003DFD,0xB0003DFE,0xB1003DFF,0xB2003E00,0xB3003E01,0xB4003E02,0xB5003E03,0xB6003E04,0xB7003E05,0xB8003E06, -0xB9003E07,0xBA003E08,0xBB003E23,0xBC003E24,0xBD003E26,0xBE003E27,0xBF003E28,0x000C4958,0x000C4955,0xE1003CCD, -0x000C4952,0x000C494F,0x000C494C,0x80003E2C,0x81003E2D,0x82003E2E,0x000C4949,0x000C4946,0x000C4943,0x000C4940, -0x86003D95,0x87003DE3,0x000C493D,0x000C493A,0x000C4937,0x000C4934,0x000C4931,0x000C492E,0x000C492B,0x000C4928, -0x000C4925,0x000C4922,0x000C491F,0xA8003E32,0xA9003E33,0xAA003E34,0xAB003E35,0xAC003E36,0xAD003E37,0xAE003E38, -0xAF003E39,0xB0003E3A,0xB1003E3B,0xB2003E3C,0xB3003E55,0xB4003E56,0xB5003E57,0xB6003E58,0xB7003E59,0xB8003E5A, -0xB9003E5B,0xBA003E5C,0xBB003E5D,0xBC003E5E,0xBD003E60,0xBE003E61,0xBF003E62,0x000C491C,0x000C4919,0x000C4916, -0x000C4913,0x000C4910,0x000C490D,0x000C490A,0x000C4907,0x000C4904,0x000C4901,0xE1003D0F,0x000C48FE,0x000C48FB, -0x000C48F8,0x80003E66,0x81003E67,0x82003E68,0x000C48F5,0x000C48F2,0x000C48EF,0x000C48EC,0x86003DCF,0x87003E1D, -0x000C48E9,0x000C48E6,0x000C48E3,0x000C48E0,0x000C48DD,0x000C48DA,0x000C48D7,0x000C48D4,0x000C48D1,0x000C48CE, -0x000C48CB,0xA8003E6C,0xA9003E6D,0xAA003E6E,0xAB003E6F,0xAC003E70,0xAD003E71,0xAE003E72,0xAF003E73,0xB0003E74, -0xB1003E75,0xB2003E76,0xB3003E8F,0xB4003E90,0xB5003E91,0xB6003E92,0xB7003E93,0xB8003E94,0xB9003E95,0xBA003E96, -0xBB003E97,0xBC003E98,0xBD003E9A,0xBE003E9B,0xBF003E9C,0x000C48C8,0x000C48C5,0x000C48C2,0x000C48BF,0x000C48BC, -0x000C48B9,0x000C48B6,0x000C48B3,0x000C48B0,0x000C48AD,0xE1003D49,0x000C48AA,0x000C48A7,0x000C48A4,0x80003EA0, -0x81003EA1,0x82003EA2,0x000C48A1,0x000C489E,0x000C489B,0xE1003E1F,0x85003E09,0x000C4898,0x86003E30,0x87003E77, -0x000C4895,0x000C4892,0xA1003EA5,0xA2003EF1,0xA3003F2E,0xA4003F68,0xA5003FA2,0xA6003FDC,0xA7004016,0xA800404D, -0xA900408A,0xAA0040C4,0xAB0040FB,0xAC004135,0xAD004172,0xAE0041A9,0xAF0041E3,0xB000421D,0xB100425A,0xB2004291, -0xB30042B2,0xB4004305,0xB5004342,0x000C488F,0x000C488C,0x000C4889,0x000C4886,0x000C4883,0x000C4880,0x000C487D, -0x000C487A,0x000C4877,0x000C4874,0x000C4871,0x000C486E,0x000C486B,0x000C4868,0x000C4865,0x000C4862,0x000C485F, -0x000C485C,0x000C4859,0x000C4856,0xE1003D83,0x000C4853,0x000C4850,0x000C484D,0x000C484A,0xA8003EA8,0xA9003EA9, -0xAA003EBF,0xAB003EC0,0xAC003EC1,0xAD003EC2,0xAE003EC3,0xAF003EC4,0xB0003EC5,0xB1003EC6,0xB2003EC7,0xB3003EC8, -0xB4003EC9,0xB5003ECA,0xB6003ECB,0xB7003ECC,0xB8003ECD,0xB9003ECE,0xBA003ECF,0xBB003ED0,0xBC003ED1,0xBD003ED2, -0xBE003ED4,0xBF003ED5,0x000C4847,0x000C4844,0x000C4841,0x000C483E,0x000C483B,0x000C4838,0x000C4835,0x80003ED6, -0x81003ED7,0x82003EF0,0x000C4832,0x000C482F,0x000C482C,0x000C4829,0x86003E6A,0x87003EAA,0x000C4826,0x000C4823, -0x000C4820,0x000C481D,0x000C481A,0x000C4817,0x000C4814,0x000C4811,0x000C480E,0x000C480B,0x000C4808,0x000C4805, -0x000C4802,0x000C47FF,0x000C47FC,0x000C47F9,0xE1003DAA,0x000C47F6,0xA8003EF2,0xA9003EF3,0xAA003EF4,0xAB003EF5, -0xAC003EF6,0xAD003EFA,0xAE003EFB,0xAF003EFC,0xB0003EFD,0xB1003F00,0xB2003F01,0xB3003F02,0xB4003F03,0xB5003F04, -0xB6003F05,0xB7003F06,0xB8003F07,0xB9003F08,0xBA003F09,0xBB003F0A,0xBC003F0B,0xBD003F0C,0xBE003F0D,0xBF003F0E, -0x80003F0F,0x81003F11,0x82003F2D,0x000C47F3,0x000C47F0,0x000C47ED,0x000C47EA,0x86003EA3,0x87003EE3,0x000C47E7, -0x000C47E4,0x000C47E1,0x000C47DE,0x000C47DB,0x000C47D8,0x000C47D5,0x000C47D2,0x000C47CF,0x000C47CC,0x000C47C9, -0x000C47C6,0x000C47C3,0x000C47C0,0x000C47BD,0x000C47BA,0x000C47B7,0x000C47B4,0x000C47B1,0x000C47AE,0x000C47AB, -0x000C47A8,0x000C47A5,0xE1003DE4,0xA8003F2F,0xA9003F30,0xAA003F33,0xAB003F34,0xAC003F35,0xAD003F36,0xAE003F37, -0xAF003F38,0xB0003F39,0xB1003F3A,0xB2003F3B,0xB3003F3C,0xB4003F3D,0xB5003F3E,0xB6003F3F,0xB7003F40,0xB8003F41, -0xB9003F42,0xBA003F43,0xBB003F44,0xBC003F45,0xBD003F46,0xBE003F47,0xBF003F48,0x80003F49,0x81003F66,0x82003F67, -0x000C47A2,0x000C479F,0x000C479C,0x000C4799,0x86003EDF,0x87003F1F,0x000C4796,0x000C4793,0x000C4790,0x000C478D, -0x000C478A,0x000C4787,0x000C4784,0x000C4781,0x000C477E,0x000C477B,0x000C4778,0x000C4775,0x000C4772,0x000C476F, -0x000C476C,0x000C4769,0x000C4766,0x000C4763,0x000C4760,0x000C475D,0x000C475A,0x000C4757,0x000C4754,0x000C4751, -0x000C474E,0x000C474B,0xE1003E20,0xA8003F69,0xA9003F6C,0xAA003F6D,0xAB003F6E,0xAC003F6F,0xAD003F70,0xAE003F71, -0xAF003F72,0xB0003F73,0xB1003F74,0xB2003F75,0xB3003F76,0xB4003F77,0xB5003F78,0xB6003F79,0xB7003F7A,0xB8003F7B, -0xB9003F7C,0xBA003F7D,0xBB003F7E,0xBC003F7F,0xBD003F80,0xBE003F81,0xBF003F82,0x80003F83,0x81003F84,0x82003F85, -0x000C4748,0x86003EFE,0x87003F56,0x000C4745,0xA8003FA5,0xA9003FBE,0xAA003FBF,0xAB003FC0,0xAC003FC1,0xAD003FC2, -0xAE003FC3,0xAF003FC4,0xB0003FC5,0xB1003FC6,0xB2003FC7,0xB3003FC8,0xB4003FC9,0xB5003FCA,0xB6003FCB,0xB7003FCC, -0xB8003FCD,0xB9003FCE,0xBA003FCF,0xBB003FD0,0xBC003FD1,0xBD003FD3,0xBE003FD4,0xBF003FD5,0x000C4742,0x000C473F, -0x000C473C,0x000C4739,0x000C4736,0x000C4733,0x000C4730,0x000C472D,0x000C472A,0x000C4727,0x000C4724,0x000C4721, -0x000C471E,0x000C471B,0x000C4718,0x000C4715,0x000C4712,0x000C470F,0x000C470C,0x000C4709,0xE1003E78,0x000C4706, -0x000C4703,0x000C4700,0x80003FD9,0x81003FDA,0x82003FDB,0x000C46FD,0x000C46FA,0x000C46F7,0x000C46F4,0x86003F4A, -0x87003F90,0x000C46F1,0x000C46EE,0x000C46EB,0x000C46E8,0x000C46E5,0x000C46E2,0x000C46DF,0x000C46DC,0x000C46D9, -0x000C46D6,0x000C46D3,0x000C46D0,0x000C46CD,0x000C46CA,0x000C46C7,0x000C46C4,0x000C46C1,0x000C46BE,0x000C46BB, -0xA8003FDF,0xA9003FE0,0xAA003FE1,0xAB003FE2,0xAC003FE3,0xAD003FE4,0xAE003FE5,0xAF003FE6,0xB0003FE7,0xB1003FE8, -0xB2003FE9,0xB3003FEA,0xB4003FEB,0xB5003FEC,0xB6003FED,0xB7003FEE,0xB8003FEF,0xB9003FF0,0xBA003FF1,0xBB00400A, -0xBC00400B,0xBD00400C,0xBE00400D,0xBF00400E,0x000C46B8,0x000C46B5,0x000C46B2,0x000C46AF,0x000C46AC,0xE1003EAB, -0x80004013,0x81004014,0x82004015,0x000C46A9,0x000C46A6,0x000C46A3,0x000C46A0,0x86003F86,0x87003FD2,0x000C469D, -0x000C469A,0x000C4697,0x000C4694,0x000C4691,0x000C468E,0x000C468B,0x000C4688,0x000C4685,0x000C4682,0x000C467F, -0x000C467C,0x000C4679,0x000C4676,0x000C4673,0x000C4670,0x000C466D,0x000C466A,0x000C4667,0x000C4664,0x000C4661, -0xA8004019,0xA900401A,0xAA00401B,0xAB00401C,0xAC00401D,0xAD00401E,0xAE00401F,0xAF004020,0xB0004021,0xB1004022, -0xB2004023,0xB3004024,0xB4004025,0xB5004026,0xB6004027,0xB7004028,0xB8004029,0xB900402A,0xBA00402B,0xBB00402C, -0xBC00402D,0xBD004046,0xBE004047,0xBF004048,0x000C465E,0x000C465B,0x000C4658,0xE1003EE4,0x000C4655,0x000C4652, -0x000C464F,0x000C464C,0x000C4649,0x000C4646,0x000C4643,0x000C4640,0x8000404A,0x8100404B,0x8200404C,0x000C463D, -0x000C463A,0x000C4637,0x000C4634,0x000C4631,0x000C462E,0x000C462B,0x86003FB6,0x87004004,0xA800404E,0xA900404F, -0xAA004050,0xAB004051,0xAC004055,0xAD004056,0xAE004057,0xAF004058,0xB0004059,0xB100405A,0xB200405B,0xB3004076, -0xB4004077,0xB5004078,0xB6004079,0xB700407A,0xB800407B,0xB900407C,0xBA00407D,0xBB00407E,0xBC00407F,0xBD004080, -0xBE004081,0xBF004082,0x000C4628,0x000C4625,0x000C4622,0x000C461F,0x000C461C,0x000C4619,0x000C4616,0x000C4613, -0x000C4610,0x000C460D,0x000C460A,0x000C4607,0x000C4604,0xE1003F1D,0x80004087,0x81004088,0x82004089,0x000C4601, -0x000C45FE,0x000C45FB,0x000C45F8,0x86003FF2,0x8700403E,0x000C45F5,0x000C45F2,0x000C45EF,0x000C45EC,0x000C45E9, -0x000C45E6,0x000C45E3,0x000C45E0,0x000C45DD,0x000C45DA,0x000C45D7,0x000C45D4,0x000C45D1,0xA800408D,0xA900408E, -0xAA00408F,0xAB004090,0xAC004091,0xAD004092,0xAE004093,0xAF004094,0xB0004095,0xB1004096,0xB2004097,0xB3004098, -0xB4004099,0xB50040B2,0xB60040B3,0xB70040B4,0xB80040B5,0xB90040B6,0xBA0040B7,0xBB0040B8,0xBC0040B9,0xBD0040BA, -0xBE0040BB,0xBF0040BC,0x000C45CE,0x000C45CB,0x000C45C8,0x000C45C5,0x000C45C2,0x000C45BF,0x000C45BC,0x000C45B9, -0x000C45B6,0x000C45B3,0x000C45B0,0xE1003F57,0x800040C1,0x810040C2,0x820040C3,0x000C45AD,0x000C45AA,0x000C45A7, -0x000C45A4,0x8600402E,0x87004083,0x000C45A1,0x000C459E,0x000C459B,0x000C4598,0x000C4595,0x000C4592,0x000C458F, -0x000C458C,0x000C4589,0x000C4586,0x000C4583,0x000C4580,0x000C457D,0x000C457A,0x000C4577,0xA80040C7,0xA90040C8, -0xAA0040C9,0xAB0040CA,0xAC0040CB,0xAD0040CC,0xAE0040CD,0xAF0040CE,0xB00040CF,0xB10040D0,0xB20040D1,0xB30040D2, -0xB40040D3,0xB50040D4,0xB60040D5,0xB70040EE,0xB80040EF,0xB90040F0,0xBA0040F1,0xBB0040F2,0xBC0040F3,0xBD0040F4, -0xBE0040F5,0xBF0040F6,0x000C4574,0x000C4571,0x000C456E,0x000C456B,0x000C4568,0x000C4565,0x000C4562,0x000C455F, -0x000C455C,0xE1003F91,0x000C4559,0x000C4556,0x000C4553,0x000C4550,0x000C454D,0x000C454A,0x000C4547,0x000C4544, -0x000C4541,0x000C453E,0x000C453B,0x800040F8,0x810040F9,0x820040FA,0x000C4538,0x000C4535,0x000C4532,0x000C452F, -0x86004064,0x870040BD,0xA80040FC,0xA90040FD,0xAA0040FE,0xAB0040FF,0xAC004100,0xAD004101,0xAE004102,0xAF004106, -0xB0004107,0xB1004108,0xB2004109,0xB3004124,0xB4004125,0xB5004126,0xB6004127,0xB7004128,0xB8004129,0xB900412A, -0xBA00412B,0xBB00412C,0xBC00412D,0xBD00412F,0xBE004130,0xBF004131,0x000C452C,0x000C4529,0x000C4526,0x000C4523, -0x000C4520,0x000C451D,0x000C451A,0x000C4517,0x000C4514,0x000C4511,0xE1003FD6,0x000C450E,0x000C450B,0x000C4508, -0x000C4505,0x000C4502,0x000C44FF,0x000C44FC,0x8600409A,0x870040EC,0x000C44F9,0x000C44F6,0x000C44F3,0x000C44F0, -0x000C44ED,0x80004132,0x81004133,0x82004134,0x000C44EA,0x000C44E7,0xA8004138,0xA9004139,0xAA00413A,0xAB00413B, -0xAC00413C,0xAD004140,0xAE004141,0xAF00415A,0xB000415B,0xB100415C,0xB200415D,0xB300415E,0xB400415F,0xB5004160, -0xB6004161,0xB7004162,0xB8004163,0xB9004164,0xBA004165,0xBB004166,0xBC004167,0xBD004168,0xBE004169,0xBF00416A, -0x000C44E4,0x000C44E1,0x000C44DE,0x000C44DB,0x000C44D8,0x000C44D5,0x000C44D2,0x000C44CF,0x000C44CC,0x000C44C9, -0x000C44C6,0x000C44C3,0x000C44C0,0x000C44BD,0x000C44BA,0x000C44B7,0x000C44B4,0xE1004005,0x8000416F,0x81004170, -0x82004171,0x000C44B1,0x000C44AE,0x000C44AB,0x000C44A8,0x860040D6,0x8700412E,0x000C44A5,0x000C44A2,0x000C449F, -0x000C449C,0x000C4499,0x000C4496,0x000C4493,0x000C4490,0x000C448D,0xA8004175,0xA9004176,0xAA004177,0xAB004178, -0xAC004179,0xAD00417A,0xAE00417B,0xAF00417C,0xB000417D,0xB1004196,0xB2004197,0xB3004198,0xB4004199,0xB500419A, -0xB600419B,0xB700419C,0xB800419D,0xB900419E,0xBA00419F,0xBB0041A0,0xBC0041A1,0xBD0041A2,0xBE0041A3,0xBF0041A4, -0x000C448A,0x000C4487,0x000C4484,0x000C4481,0x000C447E,0x000C447B,0x000C4478,0x000C4475,0x000C4472,0x000C446F, -0x000C446C,0x000C4469,0x000C4466,0x000C4463,0x000C4460,0xE100403F,0x000C445D,0x000C445A,0x000C4457,0x000C4454, -0x000C4451,0x000C444E,0x000C444B,0x000C4448,0x800041A6,0x810041A7,0x820041A8,0x000C4445,0x000C4442,0x000C443F, -0x000C443C,0x000C4439,0x000C4436,0x000C4433,0x000C4430,0x000C442D,0x000C442A,0x000C4427,0x86004116,0x8700416B, -0xA80041AA,0xA90041AB,0xAA0041AC,0xAB0041AD,0xAC0041B1,0xAD0041B2,0xAE0041B3,0xAF0041B4,0xB00041B5,0xB10041B6, -0xB20041B7,0xB30041B8,0xB40041B9,0xB50041BA,0xB60041BB,0xB70041D6,0xB80041D7,0xB90041D8,0xBA0041D9,0xBB0041DA, -0xBC0041DB,0xBD0041DD,0xBE0041DE,0xBF0041DF,0x000C4424,0x000C4421,0x000C441E,0x000C441B,0x000C4418,0x000C4415, -0xE1004084,0x000C4412,0x000C440F,0x000C440C,0x000C4409,0x000C4406,0x000C4403,0x000C4400,0x000C43FD,0x000C43FA, -0x000C43F7,0x000C43F4,0x000C43F1,0x000C43EE,0x000C43EB,0x800041E0,0x810041E1,0x820041E2,0x000C43E8,0x000C43E5, -0x000C43E2,0x000C43DF,0x8600414C,0x870041A5,0xA80041E4,0xA90041E5,0xAA0041E6,0xAB0041E7,0xAC0041E8,0xAD0041E9, -0xAE0041EA,0xAF0041EE,0xB00041EF,0xB10041F0,0xB20041F1,0xB300420C,0xB400420D,0xB500420E,0xB600420F,0xB7004210, -0xB8004211,0xB9004212,0xBA004213,0xBB004214,0xBC004215,0xBD004217,0xBE004218,0xBF004219,0x000C43DC,0x000C43D9, -0x000C43D6,0x000C43D3,0x000C43D0,0x000C43CD,0x000C43CA,0x000C43C7,0x000C43C4,0x000C43C1,0xE10040B0,0x000C43BE, -0x000C43BB,0x000C43B8,0x000C43B5,0x000C43B2,0x000C43AF,0x000C43AC,0x000C43A9,0x000C43A6,0x000C43A3,0x000C43A0, -0x000C439D,0x000C439A,0x000C4397,0x8000421A,0x8100421B,0x8200421C,0x000C4394,0x000C4391,0x000C438E,0x000C438B, -0x000C4388,0x000C4385,0x000C4382,0x000C437F,0x000C437C,0x000C4379,0x000C4376,0x000C4373,0x8600418E,0x870041D4, -0xA800421E,0xA900421F,0xAA004220,0xAB004221,0xAC004222,0xAD004223,0xAE004224,0xAF004228,0xB0004229,0xB100422A, -0xB200422B,0xB300422C,0xB400422D,0xB500422E,0xB600422F,0xB7004230,0xB8004231,0xB9004232,0xBA004233,0xBB00424E, -0xBC00424F,0xBD004250,0xBE004251,0xBF004252,0x000C4370,0x000C436D,0x000C436A,0x000C4367,0x000C4364,0xE10040ED, -0x80004257,0x81004258,0x82004259,0x000C4361,0x000C435E,0x000C435B,0x000C4358,0x860041BC,0x87004216,0x000C4355, -0x000C4352,0x000C434F,0x000C434C,0x000C4349,0x000C4346,0x000C4343,0xA800425D,0xA900425E,0xAA00425F,0xAB004260, -0xAC004261,0xAD004262,0xAE004263,0xAF00427C,0xB000427D,0xB100427E,0xB200427F,0xB3004280,0xB4004281,0xB5004282, -0xB6004283,0xB7004284,0xB8004285,0xB9004286,0xBA004287,0xBB004288,0xBC004289,0xBD00428B,0xBE00428C,0xBF00428D, -0x000C4340,0x000C433D,0x000C433A,0x000C4337,0x000C4334,0x000C4331,0x000C432E,0x000C432B,0x000C4328,0x000C4325, -0x000C4322,0x000C431F,0x000C431C,0x000C4319,0xE1004136,0x000C4316,0x000C4313,0x000C4310,0x000C430D,0x000C430A, -0x000C4307,0x000C4304,0x000C4301,0x000C42FE,0x000C42FB,0x000C42F8,0x8000428E,0x8100428F,0x82004290,0x000C42F5, -0x000C42F2,0x000C42EF,0x000C42EC,0x000C42E9,0x000C42E6,0x000C42E3,0x000C42E0,0x000C42DD,0x000C42DA,0x000C42D7, -0x000C42D4,0x000C42D1,0x000C42CE,0x000C42CB,0x000C42C8,0x000C42C5,0x000C42C2,0x86004226,0x87004234,0x000C42BF, -0x000C42BC,0x000C42B9,0x000C42B6,0x000C42B3,0x000C42B0,0x000C42AD,0x800042AF,0x810042B0,0x820042B1,0x000C42AA, -0x000C42A7,0x000C42A4,0x000C42A1,0x8600423E,0x8700428A,0x000C429E,0x000C429B,0x000C4298,0x000C4295,0x000C4292, -0x000C428F,0x000C428C,0xE100416C,0x000C4289,0x000C4286,0x000C4283,0x000C4280,0x000C427D,0x000C427A,0x000C4277, -0x000C4274,0x000C4271,0xA8004292,0xA9004293,0xAA004294,0xAB004295,0xAC004299,0xAD00429A,0xAE00429B,0xAF00429C, -0xB000429D,0xB100429E,0xB200429F,0xB30042A0,0xB40042A1,0xB50042A2,0xB60042A3,0xB70042A4,0xB80042A5,0xB90042A6, -0xBA0042A7,0xBB0042A8,0xBC0042A9,0xBD0042AA,0xBE0042AD,0xBF0042AE,0xA80042B3,0xA90042B7,0xAA0042B8,0xAB0042B9, -0xAC0042BA,0xAD0042BD,0xAE0042BE,0xAF0042BF,0xB00042C0,0xB10042C1,0xB20042C2,0xB30042C3,0xB40042C5,0xB50042C6, -0xB60042C7,0xB70042C8,0xB80042C9,0xB90042CA,0xBA0042CB,0xBB0042CC,0xBC0042CD,0xBD0042FF,0xBE004300,0xBF004301, -0xE10041AE,0x000C426E,0x000C426B,0x000C4268,0x000C4265,0x000C4262,0x000C425F,0x000C425C,0x000C4259,0x000C4256, -0x000C4253,0x000C4250,0x80004302,0x81004303,0x82004304,0x000C424D,0x000C424A,0x000C4247,0x000C4244,0x000C4241, -0x000C423E,0x000C423B,0x000C4238,0x000C4235,0x000C4232,0x000C422F,0x000C422C,0x000C4229,0x000C4226,0x000C4223, -0x86004276,0x870042BC,0xA8004306,0xA9004307,0xAA004308,0xAB004309,0xAC00430D,0xAD00430E,0xAE00430F,0xAF004310, -0xB0004311,0xB1004312,0xB2004313,0xB3004314,0xB4004315,0xB5004316,0xB6004317,0xB7004318,0xB8004319,0xB900431A, -0xBA00431B,0xBB004336,0xBC004337,0xBD004338,0xBE004339,0xBF00433A,0x000C4220,0x000C421D,0x000C421A,0x000C4217, -0x000C4214,0xE10041D5,0x8000433F,0x81004340,0x82004341,0x000C4211,0x000C420E,0x000C420B,0x000C4208,0x000C4205, -0x000C4202,0x000C41FF,0x000C41FC,0x000C41F9,0x000C41F6,0x000C41F3,0x860042AB,0x870042F6,0x000C41F0,0x000C41ED, -0x000C41EA,0x000C41E7,0x000C41E4,0x000C41E1,0x000C41DE,0xA8004343,0xA9004344,0xAA004345,0xAB004346,0xAC004347, -0xAD004348,0xAE004349,0xAF00434C,0xB000434D,0xB100434E,0xB200434F,0xB3004350,0xB4004351,0xB5004352,0xB600436B, -0xB700436C,0xB800436D,0xB900436E,0xBA00436F,0xBB004370,0xBC004371,0xBD004373,0xBE004374,0xBF004375,0x000C41DB, -0x000C41D8,0x000C41D5,0x000C41D2,0x000C41CF,0x000C41CC,0x000C41C9,0xE1004225,0x000C41C6,0x000C41C3,0x000C41C0, -0x80004379,0x8100437A,0x8200437B,0x000C41BD,0x000C41BA,0x000C41B7,0x850042F3,0x000C41B4,0x8600430A,0x8700432F, -0x000C41B1,0x000C41AE,0x000C41AB,0x000C41A8,0x000C41A5,0x000C41A2,0x000C419F,0x000C419C,0x000C4199,0x000C4196, -0x000C4193,0x000C4190,0x000C418D,0xE10042F7,0x000C418A,0x000C4187,0x000C4184,0x000C4181,0x000C417E,0xE1004235, -0xA100437D,0xA20043CD,0xA30043EF,0xA4004441,0xA500447B,0xA60044B2,0xA70044D7,0xA8004529,0xA9004560,0xAA00459A, -0xAB0045D4,0xAC004611,0xAD00464B,0xAE004685,0xAF0046BC,0xB00046F6,0xB1004730,0xB200476A,0xB30047A4,0xB40047E1, -0xB500481B,0x000C417B,0x000C4178,0x000C4175,0x000C4172,0x000C416F,0x000C416C,0x800043CA,0x810043CB,0x820043CC, -0xA8004380,0xA9004381,0xAA004382,0xAB004383,0xAC004384,0xAD004385,0xAE004386,0xAF004387,0xB0004388,0xB1004389, -0xB200438A,0xB300438B,0xB400438C,0xB500438E,0xB600438F,0xB7004390,0xB8004391,0xB9004392,0xBA0043A9,0xBB0043AA, -0xBC0043AB,0xBD0043AC,0xBE0043AD,0xBF0043AE,0x000C4169,0x000C4166,0x000C4163,0x000C4160,0x000C415D,0x000C415A, -0x8600434B,0x87004369,0x000C4157,0x000C4154,0x000C4151,0x000C414E,0x000C414B,0x000C4148,0x000C4145,0x000C4142, -0x000C413F,0x000C413C,0x000C4139,0x000C4136,0x000C4133,0x000C4130,0x000C412D,0x000C412A,0x000C4127,0x000C4124, -0x000C4121,0x000C411E,0xE1004296,0x000C411B,0x000C4118,0x800043EC,0x810043ED,0x820043EE,0x000C4115,0x000C4112, -0x000C410F,0x000C410C,0x86004363,0x870043BB,0x000C4109,0xA80043CE,0xA90043CF,0xAA0043D2,0xAB0043D3,0xAC0043D4, -0xAD0043D5,0xAE0043D6,0xAF0043D7,0xB00043D8,0xB10043D9,0xB20043DA,0xB30043DB,0xB40043DC,0xB50043DD,0xB60043DE, -0xB70043DF,0xB80043E0,0xB90043E1,0xBA0043E2,0xBB0043E3,0xBC0043E4,0xBD0043E5,0xBE0043E7,0xBF0043E8,0xA80043F2, -0xA9004424,0xAA004425,0xAB004426,0xAC004427,0xAD004428,0xAE004429,0xAF00442A,0xB000442B,0xB100442C,0xB200442D, -0xB300442E,0xB400442F,0xB5004430,0xB6004431,0xB7004432,0xB8004433,0xB9004434,0xBA004435,0xBB004436,0xBC004437, -0xBD004438,0xBE004439,0xBF00443A,0xE10042C4,0x000C4106,0x000C4103,0x000C4100,0x000C40FD,0x000C40FA,0x000C40F7, -0x000C40F4,0x000C40F1,0x000C40EE,0x000C40EB,0x000C40E8,0x000C40E5,0x000C40E2,0x000C40DF,0x000C40DC,0x000C40D9, -0x000C40D6,0x000C40D3,0x000C40D0,0x000C40CD,0x000C40CA,0x000C40C7,0x000C40C4,0x8000443E,0x8100443F,0x82004440, -0x000C40C1,0x000C40BE,0x000C40BB,0x000C40B8,0x8600439C,0x870043F5,0xA800445C,0xA900445D,0xAA00445F,0xAB004460, -0xAC004461,0xAD004462,0xAE004463,0xAF004464,0xB0004465,0xB1004466,0xB2004467,0xB3004468,0xB4004469,0xB500446A, -0xB600446B,0xB700446C,0xB800446D,0xB900446E,0xBA00446F,0xBB004470,0xBC004471,0xBD004472,0xBE004473,0xBF004474, -0x000C40B5,0x000C40B2,0xE10042F8,0x000C40AF,0x000C40AC,0x000C40A9,0x000C40A6,0x000C40A3,0x000C40A0,0x000C409D, -0x000C409A,0x000C4097,0x000C4094,0x000C4091,0x000C408E,0x000C408B,0x000C4088,0x000C4085,0x000C4082,0x000C407F, -0x000C407C,0x000C4079,0x000C4076,0x000C4073,0x000C4070,0x80004478,0x81004479,0x8200447A,0x000C406D,0x000C406A, -0x000C4067,0x000C4064,0x860043E6,0x8700443B,0x000C4061,0x000C405E,0x000C405B,0x000C4058,0x000C4055,0x000C4052, -0x000C404F,0x000C404C,0x000C4049,0x000C4046,0x000C4043,0x000C4040,0x000C403D,0x000C403A,0x000C4037,0x000C4034, -0xA800447E,0xA900447F,0xAA004480,0xAB004481,0xAC004482,0xAD004483,0xAE004484,0xAF004485,0xB0004486,0xB1004487, -0xB2004488,0xB3004489,0xB400448A,0xB500448B,0xB600448C,0xB700448D,0xB80044A6,0xB90044A7,0xBA0044A8,0xBB0044A9, -0xBC0044AA,0xBD0044AB,0xBE0044AC,0xBF0044AD,0x000C4031,0x000C402E,0x000C402B,0x000C4028,0x000C4025,0x000C4022, -0x000C401F,0x000C401C,0xE100434A,0x000C4019,0x000C4016,0x000C4013,0x000C4010,0x000C400D,0x000C400A,0x000C4007, -0x000C4004,0x000C4001,0x000C3FFE,0x000C3FFB,0x000C3FF8,0x800044AF,0x810044B0,0x820044B1,0x000C3FF5,0x000C3FF2, -0x000C3FEF,0x000C3FEC,0x8600443D,0x87004451,0x000C3FE9,0x000C3FE6,0x000C3FE3,0x000C3FE0,0x000C3FDD,0x000C3FDA, -0x000C3FD7,0x000C3FD4,0x000C3FD1,0x000C3FCE,0x000C3FCB,0x000C3FC8,0xE100436A,0x800044D4,0x810044D5,0x820044D6, -0x000C3FC5,0x000C3FC2,0x000C3FBF,0x000C3FBC,0x86004455,0x870044A3,0x000C3FB9,0x000C3FB6,0x000C3FB3,0x000C3FB0, -0x000C3FAD,0x000C3FAA,0x000C3FA7,0x000C3FA4,0x000C3FA1,0x000C3F9E,0x000C3F9B,0xA80044B3,0xA90044B4,0xAA0044B5, -0xAB0044B6,0xAC0044B7,0xAD0044B8,0xAE0044B9,0xAF0044BA,0xB00044BE,0xB10044BF,0xB20044C0,0xB30044C1,0xB40044C4, -0xB50044C5,0xB60044C6,0xB70044C7,0xB80044C8,0xB90044C9,0xBA0044CA,0xBB0044CB,0xBC0044CC,0xBD0044CD,0xBE0044CE, -0xBF0044CF,0xA80044DA,0xA90044DB,0xAA0044DC,0xAB0044DD,0xAC0044DE,0xAD0044DF,0xAE0044E0,0xAF0044E1,0xB00044E2, -0xB10044E3,0xB20044E4,0xB3004515,0xB4004516,0xB5004517,0xB6004518,0xB7004519,0xB800451A,0xB900451B,0xBA00451C, -0xBB00451D,0xBC00451E,0xBD00451F,0xBE004520,0xBF004521,0x000C3F98,0x000C3F95,0x000C3F92,0x000C3F8F,0x000C3F8C, -0x000C3F89,0x000C3F86,0x000C3F83,0x000C3F80,0x000C3F7D,0x000C3F7A,0x000C3F77,0x000C3F74,0xE10043BC,0x80004526, -0x81004527,0x82004528,0x000C3F71,0x000C3F6E,0x000C3F6B,0x000C3F68,0x8600448E,0x870044E5,0x000C3F65,0x000C3F62, -0x000C3F5F,0x000C3F5C,0x000C3F59,0x000C3F56,0x000C3F53,0x000C3F50,0x000C3F4D,0x000C3F4A,0xA800452C,0xA900452D, -0xAA00452E,0xAB00452F,0xAC004530,0xAD004531,0xAE004532,0xAF004533,0xB0004534,0xB1004535,0xB200454E,0xB300454F, -0xB4004550,0xB5004551,0xB6004552,0xB7004553,0xB8004554,0xB9004555,0xBA004556,0xBB004557,0xBC004558,0xBD004559, -0xBE00455A,0xBF00455B,0x000C3F47,0x000C3F44,0x000C3F41,0x000C3F3E,0x000C3F3B,0x000C3F38,0x000C3F35,0x000C3F32, -0x000C3F2F,0x000C3F2C,0x000C3F29,0x000C3F26,0x000C3F23,0x000C3F20,0xE10043F6,0x000C3F1D,0x000C3F1A,0x000C3F17, -0x000C3F14,0x000C3F11,0x000C3F0E,0x000C3F0B,0x000C3F08,0x8000455D,0x8100455E,0x8200455F,0x000C3F05,0x000C3F02, -0x000C3EFF,0x000C3EFC,0x860044D0,0x87004522,0x000C3EF9,0x000C3EF6,0x000C3EF3,0x000C3EF0,0x000C3EED,0x000C3EEA, -0x000C3EE7,0x000C3EE4,0x000C3EE1,0x000C3EDE,0xA8004561,0xA9004562,0xAA004563,0xAB004564,0xAC004568,0xAD004569, -0xAE00456A,0xAF00456B,0xB000456E,0xB100456F,0xB2004570,0xB3004571,0xB4004572,0xB5004573,0xB6004574,0xB7004575, -0xB8004576,0xB9004577,0xBA004590,0xBB004591,0xBC004592,0xBD004594,0xBE004595,0xBF004596,0x000C3EDB,0x000C3ED8, -0x000C3ED5,0xE100443C,0x000C3ED2,0x000C3ECF,0x000C3ECC,0x000C3EC9,0x000C3EC6,0x000C3EC3,0x000C3EC0,0x000C3EBD, -0x000C3EBA,0x000C3EB7,0x000C3EB4,0x000C3EB1,0x000C3EAE,0x000C3EAB,0x80004597,0x81004598,0x82004599,0x000C3EA8, -0x000C3EA5,0x000C3EA2,0x000C3E9F,0x86004511,0x8700455C,0x000C3E9C,0x000C3E99,0x000C3E96,0x000C3E93,0x000C3E90, -0x000C3E8D,0x000C3E8A,0x000C3E87,0x000C3E84,0x000C3E81,0x000C3E7E,0x000C3E7B,0x000C3E78,0xE1004452,0xA800459B, -0xA900459C,0xAA00459D,0xAB00459E,0xAC00459F,0xAD0045A0,0xAE0045A1,0xAF0045A5,0xB00045A6,0xB10045A7,0xB20045A8, -0xB30045AB,0xB40045AC,0xB50045AD,0xB60045AE,0xB70045AF,0xB80045B0,0xB90045B1,0xBA0045B2,0xBB0045B3,0xBC0045B4, -0xBD0045B5,0xBE0045B6,0xBF0045B7,0x000C3E75,0x000C3E72,0x000C3E6F,0x000C3E6C,0x000C3E69,0x000C3E66,0x000C3E63, -0x000C3E60,0x000C3E5D,0x000C3E5A,0x000C3E57,0x800045D1,0x810045D2,0x820045D3,0x000C3E54,0x000C3E51,0x000C3E4E, -0x000C3E4B,0x000C3E48,0x000C3E45,0x000C3E42,0x000C3E3F,0x000C3E3C,0x000C3E39,0x000C3E36,0x000C3E33,0x86004545, -0x8700458B,0xA80045D5,0xA90045D6,0xAA0045D7,0xAB0045D8,0xAC0045D9,0xAD0045DA,0xAE0045DB,0xAF0045DF,0xB00045E0, -0xB10045E1,0xB20045E2,0xB30045E3,0xB40045E4,0xB50045E5,0xB60045E6,0xB70045E7,0xB80045E8,0xB90045E9,0xBA0045EA, -0xBB004605,0xBC004606,0xBD004607,0xBE004608,0xBF004609,0x000C3E30,0x000C3E2D,0x000C3E2A,0x000C3E27,0x000C3E24, -0xE10044A4,0x8000460E,0x8100460F,0x82004610,0x000C3E21,0x000C3E1E,0x000C3E1B,0x000C3E18,0x8600456C,0x870045C5, -0xA800462C,0xA900462D,0xAA00462E,0xAB00462F,0xAC004630,0xAD004631,0xAE004632,0xAF004633,0xB0004634,0xB1004635, -0xB2004636,0xB3004637,0xB4004638,0xB5004639,0xB600463A,0xB700463B,0xB800463C,0xB900463D,0xBA00463E,0xBB00463F, -0xBC004640,0xBD004642,0xBE004643,0xBF004644,0x000C3E15,0x000C3E12,0x000C3E0F,0x000C3E0C,0x000C3E09,0x000C3E06, -0x000C3E03,0x000C3E00,0x000C3DFD,0x000C3DFA,0x000C3DF7,0x000C3DF4,0x000C3DF1,0x000C3DEE,0x000C3DEB,0x000C3DE8, -0x000C3DE5,0x000C3DE2,0x000C3DDF,0x000C3DDC,0x000C3DD9,0xE10044E6,0x000C3DD6,0x000C3DD3,0x000C3DD0,0x80004648, -0x81004649,0x8200464A,0x000C3DCD,0x000C3DCA,0x000C3DC7,0x000C3DC4,0x860045A9,0x870045FF,0x000C3DC1,0x000C3DBE, -0x000C3DBB,0xA800464E,0xA900464F,0xAA004650,0xAB004669,0xAC00466A,0xAD00466B,0xAE00466C,0xAF00466D,0xB000466E, -0xB100466F,0xB2004670,0xB3004671,0xB4004672,0xB5004673,0xB6004674,0xB7004675,0xB8004676,0xB9004677,0xBA004678, -0xBB004679,0xBC00467A,0xBD00467C,0xBE00467D,0xBF00467E,0x000C3DB8,0x000C3DB5,0x000C3DB2,0x000C3DAF,0x000C3DAC, -0x000C3DA9,0x000C3DA6,0x000C3DA3,0x000C3DA0,0x000C3D9D,0x000C3D9A,0x000C3D97,0x000C3D94,0x000C3D91,0x000C3D8E, -0x000C3D8B,0x000C3D88,0x000C3D85,0xE1004523,0x000C3D82,0x000C3D7F,0x000C3D7C,0x80004682,0x81004683,0x82004684, -0x000C3D79,0x000C3D76,0x000C3D73,0x000C3D70,0x860045EB,0x87004641,0x000C3D6D,0x000C3D6A,0x000C3D67,0x000C3D64, -0x000C3D61,0x000C3D5E,0x000C3D5B,0x000C3D58,0x000C3D55,0x000C3D52,0x000C3D4F,0xA8004688,0xA9004689,0xAA00468A, -0xAB00468B,0xAC00468C,0xAD00468D,0xAE00468E,0xAF00468F,0xB0004690,0xB1004691,0xB2004692,0xB30046AB,0xB40046AC, -0xB50046AD,0xB60046AE,0xB70046AF,0xB80046B0,0xB90046B1,0xBA0046B2,0xBB0046B3,0xBC0046B4,0xBD0046B6,0xBE0046B7, -0xBF0046B8,0x000C3D4C,0x000C3D49,0x000C3D46,0x000C3D43,0x000C3D40,0x000C3D3D,0x000C3D3A,0x000C3D37,0x000C3D34, -0x000C3D31,0xE1004565,0x000C3D2E,0x000C3D2B,0x000C3D28,0x000C3D25,0x000C3D22,0x000C3D1F,0x000C3D1C,0x000C3D19, -0x000C3D16,0x000C3D13,0x000C3D10,0x800046B9,0x810046BA,0x820046BB,0x000C3D0D,0x000C3D0A,0x000C3D07,0x000C3D04, -0x000C3D01,0x000C3CFE,0x000C3CFB,0x86004625,0x8700467B,0xA80046BD,0xA90046BE,0xAA0046BF,0xAB0046C0,0xAC0046C4, -0xAD0046C5,0xAE0046C6,0xAF0046C7,0xB00046C8,0xB10046C9,0xB20046CA,0xB30046E5,0xB40046E6,0xB50046E7,0xB60046E8, -0xB70046E9,0xB80046EA,0xB90046EB,0xBA0046EC,0xBB0046ED,0xBC0046EE,0xBD0046EF,0xBE0046F0,0xBF0046F1,0x000C3CF8, -0x000C3CF5,0x000C3CF2,0x000C3CEF,0x000C3CEC,0x000C3CE9,0x000C3CE6,0x000C3CE3,0x000C3CE0,0x000C3CDD,0x000C3CDA, -0x000C3CD7,0x000C3CD4,0xE100458C,0x000C3CD1,0x000C3CCE,0x000C3CCB,0x000C3CC8,0x000C3CC5,0x000C3CC2,0x000C3CBF, -0x000C3CBC,0x800046F3,0x810046F4,0x820046F5,0x000C3CB9,0x000C3CB6,0x000C3CB3,0x000C3CB0,0x000C3CAD,0x000C3CAA, -0x000C3CA7,0x8600465F,0x870046B5,0xA80046F7,0xA90046F8,0xAA0046F9,0xAB0046FA,0xAC0046FE,0xAD0046FF,0xAE004700, -0xAF004701,0xB0004702,0xB1004703,0xB2004704,0xB300471F,0xB4004720,0xB5004721,0xB6004722,0xB7004723,0xB8004724, -0xB9004725,0xBA004726,0xBB004727,0xBC004728,0xBD004729,0xBE00472A,0xBF00472B,0x000C3CA4,0x000C3CA1,0x000C3C9E, -0x000C3C9B,0x000C3C98,0x000C3C95,0x000C3C92,0x000C3C8F,0x000C3C8C,0x000C3C89,0x000C3C86,0x000C3C83,0x000C3C80, -0xE10045C6,0x000C3C7D,0x000C3C7A,0x000C3C77,0x000C3C74,0x000C3C71,0x000C3C6E,0x000C3C6B,0x000C3C68,0x8000472D, -0x8100472E,0x8200472F,0x000C3C65,0x000C3C62,0x000C3C5F,0x000C3C5C,0x000C3C59,0x000C3C56,0x000C3C53,0x000C3C50, -0x000C3C4D,0x000C3C4A,0x000C3C47,0x000C3C44,0x000C3C41,0x000C3C3E,0x000C3C3B,0x860046A1,0x870046F2,0xA8004731, -0xA9004732,0xAA004733,0xAB004734,0xAC004738,0xAD004739,0xAE00473A,0xAF00473B,0xB000473C,0xB100473D,0xB200473E, -0xB300473F,0xB4004740,0xB5004741,0xB6004742,0xB7004743,0xB8004744,0xB9004745,0xBA004746,0xBB004761,0xBC004762, -0xBD004763,0xBE004764,0xBF004765,0x000C3C38,0x000C3C35,0x000C3C32,0x000C3C2F,0x000C3C2C,0xE1004600,0x000C3C29, -0x000C3C26,0x000C3C23,0x000C3C20,0x000C3C1D,0x000C3C1A,0x000C3C17,0x000C3C14,0x000C3C11,0x000C3C0E,0x000C3C0B, -0x80004767,0x81004768,0x82004769,0x000C3C08,0x000C3C05,0x000C3C02,0x000C3BFF,0x000C3BFC,0x000C3BF9,0x000C3BF6, -0x000C3BF3,0x000C3BF0,0x000C3BED,0x000C3BEA,0x000C3BE7,0x860046DB,0x8700472C,0xA800476B,0xA900476C,0xAA00476D, -0xAB00476E,0xAC00476F,0xAD004770,0xAE004771,0xAF004775,0xB0004776,0xB1004777,0xB2004778,0xB3004779,0xB400477A, -0xB500477B,0xB600477C,0xB700477D,0xB800477E,0xB900477F,0xBA004780,0xBB00479B,0xBC00479C,0xBD00479E,0xBE00479F, -0xBF0047A0,0x000C3BE4,0x000C3BE1,0xE1004645,0x000C3BDE,0x000C3BDB,0x000C3BD8,0x000C3BD5,0x000C3BD2,0x000C3BCF, -0x000C3BCC,0x000C3BC9,0x000C3BC6,0x000C3BC3,0x000C3BC0,0x000C3BBD,0x000C3BBA,0x000C3BB7,0x800047A1,0x810047A2, -0x820047A3,0x000C3BB4,0x000C3BB1,0x000C3BAE,0x000C3BAB,0x000C3BA8,0x000C3BA5,0x000C3BA2,0x000C3B9F,0x000C3B9C, -0x000C3B99,0x000C3B96,0x000C3B93,0x86004715,0x8700475B,0xA80047A5,0xA90047A6,0xAA0047A7,0xAB0047A8,0xAC0047A9, -0xAD0047AA,0xAE0047AB,0xAF0047AF,0xB00047B0,0xB10047B1,0xB20047B2,0xB30047B3,0xB40047B4,0xB50047B5,0xB60047B6, -0xB70047B7,0xB80047B8,0xB90047B9,0xBA0047BA,0xBB0047D5,0xBC0047D6,0xBD0047D8,0xBE0047D9,0xBF0047DA,0x000C3B90, -0x000C3B8D,0xE100467F,0x000C3B8A,0x000C3B87,0x000C3B84,0x800047DE,0x810047DF,0x820047E0,0x000C3B81,0x000C3B7E, -0x000C3B7B,0x000C3B78,0x86004747,0x87004795,0x000C3B75,0x000C3B72,0x000C3B6F,0x000C3B6C,0x000C3B69,0x000C3B66, -0x000C3B63,0x000C3B60,0x000C3B5D,0x000C3B5A,0x000C3B57,0xA80047E4,0xA90047E5,0xAA0047E6,0xAB0047E7,0xAC0047E8, -0xAD0047E9,0xAE0047EA,0xAF0047EB,0xB00047EC,0xB10047ED,0xB20047EE,0xB3004807,0xB4004808,0xB5004809,0xB600480A, -0xB700480B,0xB800480C,0xB900480D,0xBA00480E,0xBB00480F,0xBC004810,0xBD004812,0xBE004813,0xBF004814,0x000C3B54, -0x000C3B51,0x000C3B4E,0x000C3B4B,0x000C3B48,0x000C3B45,0x000C3B42,0x000C3B3F,0x000C3B3C,0x000C3B39,0xE10046C1, -0x000C3B36,0x000C3B33,0x000C3B30,0x80004818,0x81004819,0x8200481A,0x000C3B2D,0x000C3B2A,0x000C3B27,0x000C3B24, -0x86004781,0x870047CF,0x000C3B21,0x000C3B1E,0x000C3B1B,0x000C3B18,0x000C3B15,0x000C3B12,0x000C3B0F,0x000C3B0C, -0x000C3B09,0x000C3B06,0x000C3B03,0xA800481E,0xA900481F,0xAA004820,0xAB004821,0xAC004822,0xAD004823,0xAE004824, -0xAF004825,0xB0004826,0xB1004827,0xB2004828,0xB3004841,0xB4004842,0xB5004843,0xB6004844,0xB7004845,0xB8004846, -0xB9004847,0xBA004848,0xBB004849,0xBC00484A,0xBD00484C,0xBE00484D,0xBF00484E,0x000C3B00,0x000C3AFD,0x000C3AFA, -0x000C3AF7,0x000C3AF4,0x000C3AF1,0x000C3AEE,0x000C3AEB,0x000C3AE8,0x000C3AE5,0xE10046FB,0x000C3AE2,0x000C3ADF, -0x000C3ADC,0x80004852,0x81004853,0x82004854,0x000C3AD9,0x000C3AD6,0x000C3AD3,0xE10047D1,0x850047BB,0x000C3AD0, -0x860047E2,0x87004829,0x000C3ACD,0x000C3ACA,0xA1004857,0xA20048A3,0xA30048E0,0xA400491A,0xA5004954,0xA600498E, -0xA70049C8,0xA80049FF,0xA9004A3C,0xAA004A76,0xAB004AAD,0xAC004AE7,0xAD004B24,0xAE004B5B,0xAF004B95,0xB0004BCF, -0xB1004C0C,0xB2004C43,0xB3004C64,0xB4004CB7,0xB5004CF4,0x000C3AC7,0x000C3AC4,0x000C3AC1,0x000C3ABE,0x000C3ABB, -0x000C3AB8,0x000C3AB5,0x000C3AB2,0x000C3AAF,0x000C3AAC,0x000C3AA9,0x000C3AA6,0x000C3AA3,0x000C3AA0,0x000C3A9D, -0x000C3A9A,0x000C3A97,0x000C3A94,0x000C3A91,0x000C3A8E,0xE1004735,0x000C3A8B,0x000C3A88,0x000C3A85,0x000C3A82, -0xA800485A,0xA900485B,0xAA004871,0xAB004872,0xAC004873,0xAD004874,0xAE004875,0xAF004876,0xB0004877,0xB1004878, -0xB2004879,0xB300487A,0xB400487B,0xB500487C,0xB600487D,0xB700487E,0xB800487F,0xB9004880,0xBA004881,0xBB004882, -0xBC004883,0xBD004884,0xBE004886,0xBF004887,0x000C3A7F,0x000C3A7C,0x000C3A79,0x000C3A76,0x000C3A73,0x000C3A70, -0x000C3A6D,0x80004888,0x81004889,0x820048A2,0x000C3A6A,0x000C3A67,0x000C3A64,0x000C3A61,0x8600481C,0x8700485C, -0x000C3A5E,0x000C3A5B,0x000C3A58,0x000C3A55,0x000C3A52,0x000C3A4F,0x000C3A4C,0x000C3A49,0x000C3A46,0x000C3A43, -0x000C3A40,0x000C3A3D,0x000C3A3A,0x000C3A37,0x000C3A34,0x000C3A31,0xE100475C,0x000C3A2E,0xA80048A4,0xA90048A5, -0xAA0048A6,0xAB0048A7,0xAC0048A8,0xAD0048AC,0xAE0048AD,0xAF0048AE,0xB00048AF,0xB10048B2,0xB20048B3,0xB30048B4, -0xB40048B5,0xB50048B6,0xB60048B7,0xB70048B8,0xB80048B9,0xB90048BA,0xBA0048BB,0xBB0048BC,0xBC0048BD,0xBD0048BE, -0xBE0048BF,0xBF0048C0,0x800048C1,0x810048C3,0x820048DF,0x000C3A2B,0x000C3A28,0x000C3A25,0x000C3A22,0x86004855, -0x87004895,0x000C3A1F,0x000C3A1C,0x000C3A19,0x000C3A16,0x000C3A13,0x000C3A10,0x000C3A0D,0x000C3A0A,0x000C3A07, -0x000C3A04,0x000C3A01,0x000C39FE,0x000C39FB,0x000C39F8,0x000C39F5,0x000C39F2,0x000C39EF,0x000C39EC,0x000C39E9, -0x000C39E6,0x000C39E3,0x000C39E0,0x000C39DD,0xE1004796,0xA80048E1,0xA90048E2,0xAA0048E5,0xAB0048E6,0xAC0048E7, -0xAD0048E8,0xAE0048E9,0xAF0048EA,0xB00048EB,0xB10048EC,0xB20048ED,0xB30048EE,0xB40048EF,0xB50048F0,0xB60048F1, -0xB70048F2,0xB80048F3,0xB90048F4,0xBA0048F5,0xBB0048F6,0xBC0048F7,0xBD0048F8,0xBE0048F9,0xBF0048FA,0x800048FB, -0x81004918,0x82004919,0x000C39DA,0x000C39D7,0x000C39D4,0x000C39D1,0x86004891,0x870048D1,0x000C39CE,0x000C39CB, -0x000C39C8,0x000C39C5,0x000C39C2,0x000C39BF,0x000C39BC,0x000C39B9,0x000C39B6,0x000C39B3,0x000C39B0,0x000C39AD, -0x000C39AA,0x000C39A7,0x000C39A4,0x000C39A1,0x000C399E,0x000C399B,0x000C3998,0x000C3995,0x000C3992,0x000C398F, -0x000C398C,0x000C3989,0x000C3986,0x000C3983,0xE10047D2,0xA800491B,0xA900491E,0xAA00491F,0xAB004920,0xAC004921, -0xAD004922,0xAE004923,0xAF004924,0xB0004925,0xB1004926,0xB2004927,0xB3004928,0xB4004929,0xB500492A,0xB600492B, -0xB700492C,0xB800492D,0xB900492E,0xBA00492F,0xBB004930,0xBC004931,0xBD004932,0xBE004933,0xBF004934,0x80004935, -0x81004936,0x82004937,0x000C3980,0x860048B0,0x87004908,0x000C397D,0xA8004957,0xA9004970,0xAA004971,0xAB004972, -0xAC004973,0xAD004974,0xAE004975,0xAF004976,0xB0004977,0xB1004978,0xB2004979,0xB300497A,0xB400497B,0xB500497C, -0xB600497D,0xB700497E,0xB800497F,0xB9004980,0xBA004981,0xBB004982,0xBC004983,0xBD004985,0xBE004986,0xBF004987, -0x000C397A,0x000C3977,0x000C3974,0x000C3971,0x000C396E,0x000C396B,0x000C3968,0x000C3965,0x000C3962,0x000C395F, -0x000C395C,0x000C3959,0x000C3956,0x000C3953,0x000C3950,0x000C394D,0x000C394A,0x000C3947,0x000C3944,0x000C3941, -0xE100482A,0x000C393E,0x000C393B,0x000C3938,0x8000498B,0x8100498C,0x8200498D,0x000C3935,0x000C3932,0x000C392F, -0x000C392C,0x860048FC,0x87004942,0x000C3929,0x000C3926,0x000C3923,0x000C3920,0x000C391D,0x000C391A,0x000C3917, -0x000C3914,0x000C3911,0x000C390E,0x000C390B,0x000C3908,0x000C3905,0x000C3902,0x000C38FF,0x000C38FC,0x000C38F9, -0x000C38F6,0x000C38F3,0xA8004991,0xA9004992,0xAA004993,0xAB004994,0xAC004995,0xAD004996,0xAE004997,0xAF004998, -0xB0004999,0xB100499A,0xB200499B,0xB300499C,0xB400499D,0xB500499E,0xB600499F,0xB70049A0,0xB80049A1,0xB90049A2, -0xBA0049A3,0xBB0049BC,0xBC0049BD,0xBD0049BE,0xBE0049BF,0xBF0049C0,0x000C38F0,0x000C38ED,0x000C38EA,0x000C38E7, -0x000C38E4,0xE100485D,0x800049C5,0x810049C6,0x820049C7,0x000C38E1,0x000C38DE,0x000C38DB,0x000C38D8,0x86004938, -0x87004984,0x000C38D5,0x000C38D2,0x000C38CF,0x000C38CC,0x000C38C9,0x000C38C6,0x000C38C3,0x000C38C0,0x000C38BD, -0x000C38BA,0x000C38B7,0x000C38B4,0x000C38B1,0x000C38AE,0x000C38AB,0x000C38A8,0x000C38A5,0x000C38A2,0x000C389F, -0x000C389C,0x000C3899,0xA80049CB,0xA90049CC,0xAA0049CD,0xAB0049CE,0xAC0049CF,0xAD0049D0,0xAE0049D1,0xAF0049D2, -0xB00049D3,0xB10049D4,0xB20049D5,0xB30049D6,0xB40049D7,0xB50049D8,0xB60049D9,0xB70049DA,0xB80049DB,0xB90049DC, -0xBA0049DD,0xBB0049DE,0xBC0049DF,0xBD0049F8,0xBE0049F9,0xBF0049FA,0x000C3896,0x000C3893,0x000C3890,0xE1004896, -0x000C388D,0x000C388A,0x000C3887,0x000C3884,0x000C3881,0x000C387E,0x000C387B,0x000C3878,0x800049FC,0x810049FD, -0x820049FE,0x000C3875,0x000C3872,0x000C386F,0x000C386C,0x000C3869,0x000C3866,0x000C3863,0x86004968,0x870049B6, -0xA8004A00,0xA9004A01,0xAA004A02,0xAB004A03,0xAC004A07,0xAD004A08,0xAE004A09,0xAF004A0A,0xB0004A0B,0xB1004A0C, -0xB2004A0D,0xB3004A28,0xB4004A29,0xB5004A2A,0xB6004A2B,0xB7004A2C,0xB8004A2D,0xB9004A2E,0xBA004A2F,0xBB004A30, -0xBC004A31,0xBD004A32,0xBE004A33,0xBF004A34,0x000C3860,0x000C385D,0x000C385A,0x000C3857,0x000C3854,0x000C3851, -0x000C384E,0x000C384B,0x000C3848,0x000C3845,0x000C3842,0x000C383F,0x000C383C,0xE10048CF,0x80004A39,0x81004A3A, -0x82004A3B,0x000C3839,0x000C3836,0x000C3833,0x000C3830,0x860049A4,0x870049F0,0x000C382D,0x000C382A,0x000C3827, -0x000C3824,0x000C3821,0x000C381E,0x000C381B,0x000C3818,0x000C3815,0x000C3812,0x000C380F,0x000C380C,0x000C3809, -0xA8004A3F,0xA9004A40,0xAA004A41,0xAB004A42,0xAC004A43,0xAD004A44,0xAE004A45,0xAF004A46,0xB0004A47,0xB1004A48, -0xB2004A49,0xB3004A4A,0xB4004A4B,0xB5004A64,0xB6004A65,0xB7004A66,0xB8004A67,0xB9004A68,0xBA004A69,0xBB004A6A, -0xBC004A6B,0xBD004A6C,0xBE004A6D,0xBF004A6E,0x000C3806,0x000C3803,0x000C3800,0x000C37FD,0x000C37FA,0x000C37F7, -0x000C37F4,0x000C37F1,0x000C37EE,0x000C37EB,0x000C37E8,0xE1004909,0x80004A73,0x81004A74,0x82004A75,0x000C37E5, -0x000C37E2,0x000C37DF,0x000C37DC,0x860049E0,0x87004A35,0x000C37D9,0x000C37D6,0x000C37D3,0x000C37D0,0x000C37CD, -0x000C37CA,0x000C37C7,0x000C37C4,0x000C37C1,0x000C37BE,0x000C37BB,0x000C37B8,0x000C37B5,0x000C37B2,0x000C37AF, -0xA8004A79,0xA9004A7A,0xAA004A7B,0xAB004A7C,0xAC004A7D,0xAD004A7E,0xAE004A7F,0xAF004A80,0xB0004A81,0xB1004A82, -0xB2004A83,0xB3004A84,0xB4004A85,0xB5004A86,0xB6004A87,0xB7004AA0,0xB8004AA1,0xB9004AA2,0xBA004AA3,0xBB004AA4, -0xBC004AA5,0xBD004AA6,0xBE004AA7,0xBF004AA8,0x000C37AC,0x000C37A9,0x000C37A6,0x000C37A3,0x000C37A0,0x000C379D, -0x000C379A,0x000C3797,0x000C3794,0xE1004943,0x000C3791,0x000C378E,0x000C378B,0x000C3788,0x000C3785,0x000C3782, -0x000C377F,0x000C377C,0x000C3779,0x000C3776,0x000C3773,0x80004AAA,0x81004AAB,0x82004AAC,0x000C3770,0x000C376D, -0x000C376A,0x000C3767,0x86004A16,0x87004A6F,0xA8004AAE,0xA9004AAF,0xAA004AB0,0xAB004AB1,0xAC004AB2,0xAD004AB3, -0xAE004AB4,0xAF004AB8,0xB0004AB9,0xB1004ABA,0xB2004ABB,0xB3004AD6,0xB4004AD7,0xB5004AD8,0xB6004AD9,0xB7004ADA, -0xB8004ADB,0xB9004ADC,0xBA004ADD,0xBB004ADE,0xBC004ADF,0xBD004AE1,0xBE004AE2,0xBF004AE3,0x000C3764,0x000C3761, -0x000C375E,0x000C375B,0x000C3758,0x000C3755,0x000C3752,0x000C374F,0x000C374C,0x000C3749,0xE1004988,0x000C3746, -0x000C3743,0x000C3740,0x000C373D,0x000C373A,0x000C3737,0x000C3734,0x86004A4C,0x87004A9E,0x000C3731,0x000C372E, -0x000C372B,0x000C3728,0x000C3725,0x80004AE4,0x81004AE5,0x82004AE6,0x000C3722,0x000C371F,0xA8004AEA,0xA9004AEB, -0xAA004AEC,0xAB004AED,0xAC004AEE,0xAD004AF2,0xAE004AF3,0xAF004B0C,0xB0004B0D,0xB1004B0E,0xB2004B0F,0xB3004B10, -0xB4004B11,0xB5004B12,0xB6004B13,0xB7004B14,0xB8004B15,0xB9004B16,0xBA004B17,0xBB004B18,0xBC004B19,0xBD004B1A, -0xBE004B1B,0xBF004B1C,0x000C371C,0x000C3719,0x000C3716,0x000C3713,0x000C3710,0x000C370D,0x000C370A,0x000C3707, -0x000C3704,0x000C3701,0x000C36FE,0x000C36FB,0x000C36F8,0x000C36F5,0x000C36F2,0x000C36EF,0x000C36EC,0xE10049B7, -0x80004B21,0x81004B22,0x82004B23,0x000C36E9,0x000C36E6,0x000C36E3,0x000C36E0,0x86004A88,0x87004AE0,0x000C36DD, -0x000C36DA,0x000C36D7,0x000C36D4,0x000C36D1,0x000C36CE,0x000C36CB,0x000C36C8,0x000C36C5,0xA8004B27,0xA9004B28, -0xAA004B29,0xAB004B2A,0xAC004B2B,0xAD004B2C,0xAE004B2D,0xAF004B2E,0xB0004B2F,0xB1004B48,0xB2004B49,0xB3004B4A, -0xB4004B4B,0xB5004B4C,0xB6004B4D,0xB7004B4E,0xB8004B4F,0xB9004B50,0xBA004B51,0xBB004B52,0xBC004B53,0xBD004B54, -0xBE004B55,0xBF004B56,0x000C36C2,0x000C36BF,0x000C36BC,0x000C36B9,0x000C36B6,0x000C36B3,0x000C36B0,0x000C36AD, -0x000C36AA,0x000C36A7,0x000C36A4,0x000C36A1,0x000C369E,0x000C369B,0x000C3698,0xE10049F1,0x000C3695,0x000C3692, -0x000C368F,0x000C368C,0x000C3689,0x000C3686,0x000C3683,0x000C3680,0x80004B58,0x81004B59,0x82004B5A,0x000C367D, -0x000C367A,0x000C3677,0x000C3674,0x000C3671,0x000C366E,0x000C366B,0x000C3668,0x000C3665,0x000C3662,0x000C365F, -0x86004AC8,0x87004B1D,0xA8004B5C,0xA9004B5D,0xAA004B5E,0xAB004B5F,0xAC004B63,0xAD004B64,0xAE004B65,0xAF004B66, -0xB0004B67,0xB1004B68,0xB2004B69,0xB3004B6A,0xB4004B6B,0xB5004B6C,0xB6004B6D,0xB7004B88,0xB8004B89,0xB9004B8A, -0xBA004B8B,0xBB004B8C,0xBC004B8D,0xBD004B8F,0xBE004B90,0xBF004B91,0x000C365C,0x000C3659,0x000C3656,0x000C3653, -0x000C3650,0x000C364D,0xE1004A36,0x000C364A,0x000C3647,0x000C3644,0x000C3641,0x000C363E,0x000C363B,0x000C3638, -0x000C3635,0x000C3632,0x000C362F,0x000C362C,0x000C3629,0x000C3626,0x000C3623,0x80004B92,0x81004B93,0x82004B94, -0x000C3620,0x000C361D,0x000C361A,0x000C3617,0x86004AFE,0x87004B57,0xA8004B96,0xA9004B97,0xAA004B98,0xAB004B99, -0xAC004B9A,0xAD004B9B,0xAE004B9C,0xAF004BA0,0xB0004BA1,0xB1004BA2,0xB2004BA3,0xB3004BBE,0xB4004BBF,0xB5004BC0, -0xB6004BC1,0xB7004BC2,0xB8004BC3,0xB9004BC4,0xBA004BC5,0xBB004BC6,0xBC004BC7,0xBD004BC9,0xBE004BCA,0xBF004BCB, -0x000C3614,0x000C3611,0x000C360E,0x000C360B,0x000C3608,0x000C3605,0x000C3602,0x000C35FF,0x000C35FC,0x000C35F9, -0xE1004A62,0x000C35F6,0x000C35F3,0x000C35F0,0x000C35ED,0x000C35EA,0x000C35E7,0x000C35E4,0x000C35E1,0x000C35DE, -0x000C35DB,0x000C35D8,0x000C35D5,0x000C35D2,0x000C35CF,0x80004BCC,0x81004BCD,0x82004BCE,0x000C35CC,0x000C35C9, -0x000C35C6,0x000C35C3,0x000C35C0,0x000C35BD,0x000C35BA,0x000C35B7,0x000C35B4,0x000C35B1,0x000C35AE,0x000C35AB, -0x86004B40,0x87004B86,0xA8004BD0,0xA9004BD1,0xAA004BD2,0xAB004BD3,0xAC004BD4,0xAD004BD5,0xAE004BD6,0xAF004BDA, -0xB0004BDB,0xB1004BDC,0xB2004BDD,0xB3004BDE,0xB4004BDF,0xB5004BE0,0xB6004BE1,0xB7004BE2,0xB8004BE3,0xB9004BE4, -0xBA004BE5,0xBB004C00,0xBC004C01,0xBD004C02,0xBE004C03,0xBF004C04,0x000C35A8,0x000C35A5,0x000C35A2,0x000C359F, -0x000C359C,0xE1004A9F,0x80004C09,0x81004C0A,0x82004C0B,0x000C3599,0x000C3596,0x000C3593,0x000C3590,0x86004B6E, -0x87004BC8,0x000C358D,0x000C358A,0x000C3587,0x000C3584,0x000C3581,0x000C357E,0x000C357B,0xA8004C0F,0xA9004C10, -0xAA004C11,0xAB004C12,0xAC004C13,0xAD004C14,0xAE004C15,0xAF004C2E,0xB0004C2F,0xB1004C30,0xB2004C31,0xB3004C32, -0xB4004C33,0xB5004C34,0xB6004C35,0xB7004C36,0xB8004C37,0xB9004C38,0xBA004C39,0xBB004C3A,0xBC004C3B,0xBD004C3D, -0xBE004C3E,0xBF004C3F,0x000C3578,0x000C3575,0x000C3572,0x000C356F,0x000C356C,0x000C3569,0x000C3566,0x000C3563, -0x000C3560,0x000C355D,0x000C355A,0x000C3557,0x000C3554,0x000C3551,0xE1004AE8,0x000C354E,0x000C354B,0x000C3548, -0x000C3545,0x000C3542,0x000C353F,0x000C353C,0x000C3539,0x000C3536,0x000C3533,0x000C3530,0x80004C40,0x81004C41, -0x82004C42,0x000C352D,0x000C352A,0x000C3527,0x000C3524,0x000C3521,0x000C351E,0x000C351B,0x000C3518,0x000C3515, -0x000C3512,0x000C350F,0x000C350C,0x000C3509,0x000C3506,0x000C3503,0x000C3500,0x000C34FD,0x000C34FA,0x86004BD8, -0x87004BE6,0x000C34F7,0x000C34F4,0x000C34F1,0x000C34EE,0x000C34EB,0x000C34E8,0x000C34E5,0x80004C61,0x81004C62, -0x82004C63,0x000C34E2,0x000C34DF,0x000C34DC,0x000C34D9,0x86004BF0,0x87004C3C,0x000C34D6,0x000C34D3,0x000C34D0, -0x000C34CD,0x000C34CA,0x000C34C7,0x000C34C4,0xE1004B1E,0x000C34C1,0x000C34BE,0x000C34BB,0x000C34B8,0x000C34B5, -0x000C34B2,0x000C34AF,0x000C34AC,0x000C34A9,0xA8004C44,0xA9004C45,0xAA004C46,0xAB004C47,0xAC004C4B,0xAD004C4C, -0xAE004C4D,0xAF004C4E,0xB0004C4F,0xB1004C50,0xB2004C51,0xB3004C52,0xB4004C53,0xB5004C54,0xB6004C55,0xB7004C56, -0xB8004C57,0xB9004C58,0xBA004C59,0xBB004C5A,0xBC004C5B,0xBD004C5C,0xBE004C5F,0xBF004C60,0xA8004C65,0xA9004C69, -0xAA004C6A,0xAB004C6B,0xAC004C6C,0xAD004C6F,0xAE004C70,0xAF004C71,0xB0004C72,0xB1004C73,0xB2004C74,0xB3004C75, -0xB4004C77,0xB5004C78,0xB6004C79,0xB7004C7A,0xB8004C7B,0xB9004C7C,0xBA004C7D,0xBB004C7E,0xBC004C7F,0xBD004CB1, -0xBE004CB2,0xBF004CB3,0xE1004B60,0x000C34A6,0x000C34A3,0x000C34A0,0x000C349D,0x000C349A,0x000C3497,0x000C3494, -0x000C3491,0x000C348E,0x000C348B,0x000C3488,0x80004CB4,0x81004CB5,0x82004CB6,0x000C3485,0x000C3482,0x000C347F, -0x000C347C,0x000C3479,0x000C3476,0x000C3473,0x000C3470,0x000C346D,0x000C346A,0x000C3467,0x000C3464,0x000C3461, -0x000C345E,0x000C345B,0x86004C28,0x87004C6E,0xA8004CB8,0xA9004CB9,0xAA004CBA,0xAB004CBB,0xAC004CBF,0xAD004CC0, -0xAE004CC1,0xAF004CC2,0xB0004CC3,0xB1004CC4,0xB2004CC5,0xB3004CC6,0xB4004CC7,0xB5004CC8,0xB6004CC9,0xB7004CCA, -0xB8004CCB,0xB9004CCC,0xBA004CCD,0xBB004CE8,0xBC004CE9,0xBD004CEA,0xBE004CEB,0xBF004CEC,0x000C3458,0x000C3455, -0x000C3452,0x000C344F,0x000C344C,0xE1004B87,0x80004CF1,0x81004CF2,0x82004CF3,0x000C3449,0x000C3446,0x000C3443, -0x000C3440,0x000C343D,0x000C343A,0x000C3437,0x000C3434,0x000C3431,0x000C342E,0x000C342B,0x86004C5D,0x87004CA8, -0x000C3428,0x000C3425,0x000C3422,0x000C341F,0x000C341C,0x000C3419,0x000C3416,0xA8004CF5,0xA9004CF6,0xAA004CF7, -0xAB004CF8,0xAC004CF9,0xAD004CFA,0xAE004CFB,0xAF004CFE,0xB0004CFF,0xB1004D00,0xB2004D01,0xB3004D02,0xB4004D03, -0xB5004D04,0xB6004D1D,0xB7004D1E,0xB8004D1F,0xB9004D20,0xBA004D21,0xBB004D22,0xBC004D23,0xBD004D25,0xBE004D26, -0xBF004D27,0x000C3413,0x000C3410,0x000C340D,0x000C340A,0x000C3407,0x000C3404,0x000C3401,0xE1004BD7,0x000C33FE, -0x000C33FB,0x000C33F8,0x80004D2B,0x81004D2C,0x82004D2D,0x000C33F5,0x000C33F2,0x000C33EF,0x85004CA5,0x000C33EC, -0x86004CBC,0x87004CE1,0x000C33E9,0x000C33E6,0x000C33E3,0x000C33E0,0x000C33DD,0x000C33DA,0x000C33D7,0x000C33D4, -0x000C33D1,0x000C33CE,0x000C33CB,0x000C33C8,0x000C33C5,0xE1004CA9,0x000C33C2,0x000C33BF,0x000C33BC,0x000C33B9, -0x000C33B6,0xE1004BE7,0xA1004D2F,0xA2004D7F,0xA3004DA1,0xA4004DF3,0xA5004E2D,0xA6004E64,0xA7004E89,0xA8004EDB, -0xA9004F12,0xAA004F4C,0xAB004F86,0xAC004FC3,0xAD004FFD,0xAE005037,0xAF00506E,0xB00050A8,0xB10050E2,0xB200511C, -0xB3005156,0xB4005193,0xB50051CD,0x000C33B3,0x000C33B0,0x000C33AD,0x000C33AA,0x000C33A7,0x000C33A4,0x80004D7C, -0x81004D7D,0x82004D7E,0xA8004D32,0xA9004D33,0xAA004D34,0xAB004D35,0xAC004D36,0xAD004D37,0xAE004D38,0xAF004D39, -0xB0004D3A,0xB1004D3B,0xB2004D3C,0xB3004D3D,0xB4004D3E,0xB5004D40,0xB6004D41,0xB7004D42,0xB8004D43,0xB9004D44, -0xBA004D5B,0xBB004D5C,0xBC004D5D,0xBD004D5E,0xBE004D5F,0xBF004D60,0x000C33A1,0x000C339E,0x000C339B,0x000C3398, -0x000C3395,0x000C3392,0x86004CFD,0x87004D1B,0x000C338F,0x000C338C,0x000C3389,0x000C3386,0x000C3383,0x000C3380, -0x000C337D,0x000C337A,0x000C3377,0x000C3374,0x000C3371,0x000C336E,0x000C336B,0x000C3368,0x000C3365,0x000C3362, -0x000C335F,0x000C335C,0x000C3359,0x000C3356,0xE1004C48,0x000C3353,0x000C3350,0x80004D9E,0x81004D9F,0x82004DA0, -0x000C334D,0x000C334A,0x000C3347,0x000C3344,0x86004D15,0x87004D6D,0x000C3341,0xA8004D80,0xA9004D81,0xAA004D84, -0xAB004D85,0xAC004D86,0xAD004D87,0xAE004D88,0xAF004D89,0xB0004D8A,0xB1004D8B,0xB2004D8C,0xB3004D8D,0xB4004D8E, -0xB5004D8F,0xB6004D90,0xB7004D91,0xB8004D92,0xB9004D93,0xBA004D94,0xBB004D95,0xBC004D96,0xBD004D97,0xBE004D99, -0xBF004D9A,0xA8004DA4,0xA9004DD6,0xAA004DD7,0xAB004DD8,0xAC004DD9,0xAD004DDA,0xAE004DDB,0xAF004DDC,0xB0004DDD, -0xB1004DDE,0xB2004DDF,0xB3004DE0,0xB4004DE1,0xB5004DE2,0xB6004DE3,0xB7004DE4,0xB8004DE5,0xB9004DE6,0xBA004DE7, -0xBB004DE8,0xBC004DE9,0xBD004DEA,0xBE004DEB,0xBF004DEC,0xE1004C76,0x000C333E,0x000C333B,0x000C3338,0x000C3335, -0x000C3332,0x000C332F,0x000C332C,0x000C3329,0x000C3326,0x000C3323,0x000C3320,0x000C331D,0x000C331A,0x000C3317, -0x000C3314,0x000C3311,0x000C330E,0x000C330B,0x000C3308,0x000C3305,0x000C3302,0x000C32FF,0x000C32FC,0x80004DF0, -0x81004DF1,0x82004DF2,0x000C32F9,0x000C32F6,0x000C32F3,0x000C32F0,0x86004D4E,0x87004DA7,0xA8004E0E,0xA9004E0F, -0xAA004E11,0xAB004E12,0xAC004E13,0xAD004E14,0xAE004E15,0xAF004E16,0xB0004E17,0xB1004E18,0xB2004E19,0xB3004E1A, -0xB4004E1B,0xB5004E1C,0xB6004E1D,0xB7004E1E,0xB8004E1F,0xB9004E20,0xBA004E21,0xBB004E22,0xBC004E23,0xBD004E24, -0xBE004E25,0xBF004E26,0x000C32ED,0x000C32EA,0xE1004CAA,0x000C32E7,0x000C32E4,0x000C32E1,0x000C32DE,0x000C32DB, -0x000C32D8,0x000C32D5,0x000C32D2,0x000C32CF,0x000C32CC,0x000C32C9,0x000C32C6,0x000C32C3,0x000C32C0,0x000C32BD, -0x000C32BA,0x000C32B7,0x000C32B4,0x000C32B1,0x000C32AE,0x000C32AB,0x000C32A8,0x80004E2A,0x81004E2B,0x82004E2C, -0x000C32A5,0x000C32A2,0x000C329F,0x000C329C,0x86004D98,0x87004DED,0x000C3299,0x000C3296,0x000C3293,0x000C3290, -0x000C328D,0x000C328A,0x000C3287,0x000C3284,0x000C3281,0x000C327E,0x000C327B,0x000C3278,0x000C3275,0x000C3272, -0x000C326F,0x000C326C,0xA8004E30,0xA9004E31,0xAA004E32,0xAB004E33,0xAC004E34,0xAD004E35,0xAE004E36,0xAF004E37, -0xB0004E38,0xB1004E39,0xB2004E3A,0xB3004E3B,0xB4004E3C,0xB5004E3D,0xB6004E3E,0xB7004E3F,0xB8004E58,0xB9004E59, -0xBA004E5A,0xBB004E5B,0xBC004E5C,0xBD004E5D,0xBE004E5E,0xBF004E5F,0x000C3269,0x000C3266,0x000C3263,0x000C3260, -0x000C325D,0x000C325A,0x000C3257,0x000C3254,0xE1004CFC,0x000C3251,0x000C324E,0x000C324B,0x000C3248,0x000C3245, -0x000C3242,0x000C323F,0x000C323C,0x000C3239,0x000C3236,0x000C3233,0x000C3230,0x80004E61,0x81004E62,0x82004E63, -0x000C322D,0x000C322A,0x000C3227,0x000C3224,0x86004DEF,0x87004E03,0x000C3221,0x000C321E,0x000C321B,0x000C3218, -0x000C3215,0x000C3212,0x000C320F,0x000C320C,0x000C3209,0x000C3206,0x000C3203,0x000C3200,0xE1004D1C,0x80004E86, -0x81004E87,0x82004E88,0x000C31FD,0x000C31FA,0x000C31F7,0x000C31F4,0x86004E07,0x87004E55,0x000C31F1,0x000C31EE, -0x000C31EB,0x000C31E8,0x000C31E5,0x000C31E2,0x000C31DF,0x000C31DC,0x000C31D9,0x000C31D6,0x000C31D3,0xA8004E65, -0xA9004E66,0xAA004E67,0xAB004E68,0xAC004E69,0xAD004E6A,0xAE004E6B,0xAF004E6C,0xB0004E70,0xB1004E71,0xB2004E72, -0xB3004E73,0xB4004E76,0xB5004E77,0xB6004E78,0xB7004E79,0xB8004E7A,0xB9004E7B,0xBA004E7C,0xBB004E7D,0xBC004E7E, -0xBD004E7F,0xBE004E80,0xBF004E81,0xA8004E8C,0xA9004E8D,0xAA004E8E,0xAB004E8F,0xAC004E90,0xAD004E91,0xAE004E92, -0xAF004E93,0xB0004E94,0xB1004E95,0xB2004E96,0xB3004EC7,0xB4004EC8,0xB5004EC9,0xB6004ECA,0xB7004ECB,0xB8004ECC, -0xB9004ECD,0xBA004ECE,0xBB004ECF,0xBC004ED0,0xBD004ED1,0xBE004ED2,0xBF004ED3,0x000C31D0,0x000C31CD,0x000C31CA, -0x000C31C7,0x000C31C4,0x000C31C1,0x000C31BE,0x000C31BB,0x000C31B8,0x000C31B5,0x000C31B2,0x000C31AF,0x000C31AC, -0xE1004D6E,0x80004ED8,0x81004ED9,0x82004EDA,0x000C31A9,0x000C31A6,0x000C31A3,0x000C31A0,0x86004E40,0x87004E97, -0x000C319D,0x000C319A,0x000C3197,0x000C3194,0x000C3191,0x000C318E,0x000C318B,0x000C3188,0x000C3185,0x000C3182, -0xA8004EDE,0xA9004EDF,0xAA004EE0,0xAB004EE1,0xAC004EE2,0xAD004EE3,0xAE004EE4,0xAF004EE5,0xB0004EE6,0xB1004EE7, -0xB2004F00,0xB3004F01,0xB4004F02,0xB5004F03,0xB6004F04,0xB7004F05,0xB8004F06,0xB9004F07,0xBA004F08,0xBB004F09, -0xBC004F0A,0xBD004F0B,0xBE004F0C,0xBF004F0D,0x000C317F,0x000C317C,0x000C3179,0x000C3176,0x000C3173,0x000C3170, -0x000C316D,0x000C316A,0x000C3167,0x000C3164,0x000C3161,0x000C315E,0x000C315B,0x000C3158,0xE1004DA8,0x000C3155, -0x000C3152,0x000C314F,0x000C314C,0x000C3149,0x000C3146,0x000C3143,0x000C3140,0x80004F0F,0x81004F10,0x82004F11, -0x000C313D,0x000C313A,0x000C3137,0x000C3134,0x86004E82,0x87004ED4,0x000C3131,0x000C312E,0x000C312B,0x000C3128, -0x000C3125,0x000C3122,0x000C311F,0x000C311C,0x000C3119,0x000C3116,0xA8004F13,0xA9004F14,0xAA004F15,0xAB004F16, -0xAC004F1A,0xAD004F1B,0xAE004F1C,0xAF004F1D,0xB0004F20,0xB1004F21,0xB2004F22,0xB3004F23,0xB4004F24,0xB5004F25, -0xB6004F26,0xB7004F27,0xB8004F28,0xB9004F29,0xBA004F42,0xBB004F43,0xBC004F44,0xBD004F46,0xBE004F47,0xBF004F48, -0x000C3113,0x000C3110,0x000C310D,0xE1004DEE,0x000C310A,0x000C3107,0x000C3104,0x000C3101,0x000C30FE,0x000C30FB, -0x000C30F8,0x000C30F5,0x000C30F2,0x000C30EF,0x000C30EC,0x000C30E9,0x000C30E6,0x000C30E3,0x80004F49,0x81004F4A, -0x82004F4B,0x000C30E0,0x000C30DD,0x000C30DA,0x000C30D7,0x86004EC3,0x87004F0E,0x000C30D4,0x000C30D1,0x000C30CE, -0x000C30CB,0x000C30C8,0x000C30C5,0x000C30C2,0x000C30BF,0x000C30BC,0x000C30B9,0x000C30B6,0x000C30B3,0x000C30B0, -0xE1004E04,0xA8004F4D,0xA9004F4E,0xAA004F4F,0xAB004F50,0xAC004F51,0xAD004F52,0xAE004F53,0xAF004F57,0xB0004F58, -0xB1004F59,0xB2004F5A,0xB3004F5D,0xB4004F5E,0xB5004F5F,0xB6004F60,0xB7004F61,0xB8004F62,0xB9004F63,0xBA004F64, -0xBB004F65,0xBC004F66,0xBD004F67,0xBE004F68,0xBF004F69,0x000C30AD,0x000C30AA,0x000C30A7,0x000C30A4,0x000C30A1, -0x000C309E,0x000C309B,0x000C3098,0x000C3095,0x000C3092,0x000C308F,0x80004F83,0x81004F84,0x82004F85,0x000C308C, -0x000C3089,0x000C3086,0x000C3083,0x000C3080,0x000C307D,0x000C307A,0x000C3077,0x000C3074,0x000C3071,0x000C306E, -0x000C306B,0x86004EF7,0x87004F3D,0xA8004F87,0xA9004F88,0xAA004F89,0xAB004F8A,0xAC004F8B,0xAD004F8C,0xAE004F8D, -0xAF004F91,0xB0004F92,0xB1004F93,0xB2004F94,0xB3004F95,0xB4004F96,0xB5004F97,0xB6004F98,0xB7004F99,0xB8004F9A, -0xB9004F9B,0xBA004F9C,0xBB004FB7,0xBC004FB8,0xBD004FB9,0xBE004FBA,0xBF004FBB,0x000C3068,0x000C3065,0x000C3062, -0x000C305F,0x000C305C,0xE1004E56,0x80004FC0,0x81004FC1,0x82004FC2,0x000C3059,0x000C3056,0x000C3053,0x000C3050, -0x86004F1E,0x87004F77,0xA8004FDE,0xA9004FDF,0xAA004FE0,0xAB004FE1,0xAC004FE2,0xAD004FE3,0xAE004FE4,0xAF004FE5, -0xB0004FE6,0xB1004FE7,0xB2004FE8,0xB3004FE9,0xB4004FEA,0xB5004FEB,0xB6004FEC,0xB7004FED,0xB8004FEE,0xB9004FEF, -0xBA004FF0,0xBB004FF1,0xBC004FF2,0xBD004FF4,0xBE004FF5,0xBF004FF6,0x000C304D,0x000C304A,0x000C3047,0x000C3044, -0x000C3041,0x000C303E,0x000C303B,0x000C3038,0x000C3035,0x000C3032,0x000C302F,0x000C302C,0x000C3029,0x000C3026, -0x000C3023,0x000C3020,0x000C301D,0x000C301A,0x000C3017,0x000C3014,0x000C3011,0xE1004E98,0x000C300E,0x000C300B, -0x000C3008,0x80004FFA,0x81004FFB,0x82004FFC,0x000C3005,0x000C3002,0x000C2FFF,0x000C2FFC,0x86004F5B,0x87004FB1, -0x000C2FF9,0x000C2FF6,0x000C2FF3,0xA8005000,0xA9005001,0xAA005002,0xAB00501B,0xAC00501C,0xAD00501D,0xAE00501E, -0xAF00501F,0xB0005020,0xB1005021,0xB2005022,0xB3005023,0xB4005024,0xB5005025,0xB6005026,0xB7005027,0xB8005028, -0xB9005029,0xBA00502A,0xBB00502B,0xBC00502C,0xBD00502E,0xBE00502F,0xBF005030,0x000C2FF0,0x000C2FED,0x000C2FEA, -0x000C2FE7,0x000C2FE4,0x000C2FE1,0x000C2FDE,0x000C2FDB,0x000C2FD8,0x000C2FD5,0x000C2FD2,0x000C2FCF,0x000C2FCC, -0x000C2FC9,0x000C2FC6,0x000C2FC3,0x000C2FC0,0x000C2FBD,0xE1004ED5,0x000C2FBA,0x000C2FB7,0x000C2FB4,0x80005034, -0x81005035,0x82005036,0x000C2FB1,0x000C2FAE,0x000C2FAB,0x000C2FA8,0x86004F9D,0x87004FF3,0x000C2FA5,0x000C2FA2, -0x000C2F9F,0x000C2F9C,0x000C2F99,0x000C2F96,0x000C2F93,0x000C2F90,0x000C2F8D,0x000C2F8A,0x000C2F87,0xA800503A, -0xA900503B,0xAA00503C,0xAB00503D,0xAC00503E,0xAD00503F,0xAE005040,0xAF005041,0xB0005042,0xB1005043,0xB2005044, -0xB300505D,0xB400505E,0xB500505F,0xB6005060,0xB7005061,0xB8005062,0xB9005063,0xBA005064,0xBB005065,0xBC005066, -0xBD005068,0xBE005069,0xBF00506A,0x000C2F84,0x000C2F81,0x000C2F7E,0x000C2F7B,0x000C2F78,0x000C2F75,0x000C2F72, -0x000C2F6F,0x000C2F6C,0x000C2F69,0xE1004F17,0x000C2F66,0x000C2F63,0x000C2F60,0x000C2F5D,0x000C2F5A,0x000C2F57, -0x000C2F54,0x000C2F51,0x000C2F4E,0x000C2F4B,0x000C2F48,0x8000506B,0x8100506C,0x8200506D,0x000C2F45,0x000C2F42, -0x000C2F3F,0x000C2F3C,0x000C2F39,0x000C2F36,0x000C2F33,0x86004FD7,0x8700502D,0xA800506F,0xA9005070,0xAA005071, -0xAB005072,0xAC005076,0xAD005077,0xAE005078,0xAF005079,0xB000507A,0xB100507B,0xB200507C,0xB3005097,0xB4005098, -0xB5005099,0xB600509A,0xB700509B,0xB800509C,0xB900509D,0xBA00509E,0xBB00509F,0xBC0050A0,0xBD0050A1,0xBE0050A2, -0xBF0050A3,0x000C2F30,0x000C2F2D,0x000C2F2A,0x000C2F27,0x000C2F24,0x000C2F21,0x000C2F1E,0x000C2F1B,0x000C2F18, -0x000C2F15,0x000C2F12,0x000C2F0F,0x000C2F0C,0xE1004F3E,0x000C2F09,0x000C2F06,0x000C2F03,0x000C2F00,0x000C2EFD, -0x000C2EFA,0x000C2EF7,0x000C2EF4,0x800050A5,0x810050A6,0x820050A7,0x000C2EF1,0x000C2EEE,0x000C2EEB,0x000C2EE8, -0x000C2EE5,0x000C2EE2,0x000C2EDF,0x86005011,0x87005067,0xA80050A9,0xA90050AA,0xAA0050AB,0xAB0050AC,0xAC0050B0, -0xAD0050B1,0xAE0050B2,0xAF0050B3,0xB00050B4,0xB10050B5,0xB20050B6,0xB30050D1,0xB40050D2,0xB50050D3,0xB60050D4, -0xB70050D5,0xB80050D6,0xB90050D7,0xBA0050D8,0xBB0050D9,0xBC0050DA,0xBD0050DB,0xBE0050DC,0xBF0050DD,0x000C2EDC, -0x000C2ED9,0x000C2ED6,0x000C2ED3,0x000C2ED0,0x000C2ECD,0x000C2ECA,0x000C2EC7,0x000C2EC4,0x000C2EC1,0x000C2EBE, -0x000C2EBB,0x000C2EB8,0xE1004F78,0x000C2EB5,0x000C2EB2,0x000C2EAF,0x000C2EAC,0x000C2EA9,0x000C2EA6,0x000C2EA3, -0x000C2EA0,0x800050DF,0x810050E0,0x820050E1,0x000C2E9D,0x000C2E9A,0x000C2E97,0x000C2E94,0x000C2E91,0x000C2E8E, -0x000C2E8B,0x000C2E88,0x000C2E85,0x000C2E82,0x000C2E7F,0x000C2E7C,0x000C2E79,0x000C2E76,0x000C2E73,0x86005053, -0x870050A4,0xA80050E3,0xA90050E4,0xAA0050E5,0xAB0050E6,0xAC0050EA,0xAD0050EB,0xAE0050EC,0xAF0050ED,0xB00050EE, -0xB10050EF,0xB20050F0,0xB30050F1,0xB40050F2,0xB50050F3,0xB60050F4,0xB70050F5,0xB80050F6,0xB90050F7,0xBA0050F8, -0xBB005113,0xBC005114,0xBD005115,0xBE005116,0xBF005117,0x000C2E70,0x000C2E6D,0x000C2E6A,0x000C2E67,0x000C2E64, -0xE1004FB2,0x000C2E61,0x000C2E5E,0x000C2E5B,0x000C2E58,0x000C2E55,0x000C2E52,0x000C2E4F,0x000C2E4C,0x000C2E49, -0x000C2E46,0x000C2E43,0x80005119,0x8100511A,0x8200511B,0x000C2E40,0x000C2E3D,0x000C2E3A,0x000C2E37,0x000C2E34, -0x000C2E31,0x000C2E2E,0x000C2E2B,0x000C2E28,0x000C2E25,0x000C2E22,0x000C2E1F,0x8600508D,0x870050DE,0xA800511D, -0xA900511E,0xAA00511F,0xAB005120,0xAC005121,0xAD005122,0xAE005123,0xAF005127,0xB0005128,0xB1005129,0xB200512A, -0xB300512B,0xB400512C,0xB500512D,0xB600512E,0xB700512F,0xB8005130,0xB9005131,0xBA005132,0xBB00514D,0xBC00514E, -0xBD005150,0xBE005151,0xBF005152,0x000C2E1C,0x000C2E19,0xE1004FF7,0x000C2E16,0x000C2E13,0x000C2E10,0x000C2E0D, -0x000C2E0A,0x000C2E07,0x000C2E04,0x000C2E01,0x000C2DFE,0x000C2DFB,0x000C2DF8,0x000C2DF5,0x000C2DF2,0x000C2DEF, -0x80005153,0x81005154,0x82005155,0x000C2DEC,0x000C2DE9,0x000C2DE6,0x000C2DE3,0x000C2DE0,0x000C2DDD,0x000C2DDA, -0x000C2DD7,0x000C2DD4,0x000C2DD1,0x000C2DCE,0x000C2DCB,0x860050C7,0x8700510D,0xA8005157,0xA9005158,0xAA005159, -0xAB00515A,0xAC00515B,0xAD00515C,0xAE00515D,0xAF005161,0xB0005162,0xB1005163,0xB2005164,0xB3005165,0xB4005166, -0xB5005167,0xB6005168,0xB7005169,0xB800516A,0xB900516B,0xBA00516C,0xBB005187,0xBC005188,0xBD00518A,0xBE00518B, -0xBF00518C,0x000C2DC8,0x000C2DC5,0xE1005031,0x000C2DC2,0x000C2DBF,0x000C2DBC,0x80005190,0x81005191,0x82005192, -0x000C2DB9,0x000C2DB6,0x000C2DB3,0x000C2DB0,0x860050F9,0x87005147,0x000C2DAD,0x000C2DAA,0x000C2DA7,0x000C2DA4, -0x000C2DA1,0x000C2D9E,0x000C2D9B,0x000C2D98,0x000C2D95,0x000C2D92,0x000C2D8F,0xA8005196,0xA9005197,0xAA005198, -0xAB005199,0xAC00519A,0xAD00519B,0xAE00519C,0xAF00519D,0xB000519E,0xB100519F,0xB20051A0,0xB30051B9,0xB40051BA, -0xB50051BB,0xB60051BC,0xB70051BD,0xB80051BE,0xB90051BF,0xBA0051C0,0xBB0051C1,0xBC0051C2,0xBD0051C4,0xBE0051C5, -0xBF0051C6,0x000C2D8C,0x000C2D89,0x000C2D86,0x000C2D83,0x000C2D80,0x000C2D7D,0x000C2D7A,0x000C2D77,0x000C2D74, -0x000C2D71,0xE1005073,0x000C2D6E,0x000C2D6B,0x000C2D68,0x800051CA,0x810051CB,0x820051CC,0x000C2D65,0x000C2D62, -0x000C2D5F,0x000C2D5C,0x86005133,0x87005181,0x000C2D59,0x000C2D56,0x000C2D53,0x000C2D50,0x000C2D4D,0x000C2D4A, -0x000C2D47,0x000C2D44,0x000C2D41,0x000C2D3E,0x000C2D3B,0xA80051D0,0xA90051D1,0xAA0051D2,0xAB0051D3,0xAC0051D4, -0xAD0051D5,0xAE0051D6,0xAF0051D7,0xB00051D8,0xB10051D9,0xB20051DA,0xB30051F3,0xB40051F4,0xB50051F5,0xB60051F6, -0xB70051F7,0xB80051F8,0xB90051F9,0xBA0051FA,0xBB0051FB,0xBC0051FC,0xBD0051FE,0xBE0051FF,0xBF005200,0x000C2D38, -0x000C2D35,0x000C2D32,0x000C2D2F,0x000C2D2C,0x000C2D29,0x000C2D26,0x000C2D23,0x000C2D20,0x000C2D1D,0xE10050AD, -0x000C2D1A,0x000C2D17,0x000C2D14,0x80005204,0x81005205,0x82005206,0x000C2D11,0x000C2D0E,0x000C2D0B,0xE1005183, -0x8500516D,0x000C2D08,0x86005194,0x870051DB,0x000C2D05,0x000C2D02,0xA1005209,0xA2005255,0xA3005292,0xA40052CC, -0xA5005306,0xA6005340,0xA700537A,0xA80053B1,0xA90053EE,0xAA005428,0xAB00545F,0xAC005499,0xAD0054D6,0xAE00550D, -0xAF005547,0xB0005581,0xB10055BE,0xB20055F5,0xB3005616,0xB4005669,0xB50056A6,0x000C2CFF,0x000C2CFC,0x000C2CF9, -0x000C2CF6,0x000C2CF3,0x000C2CF0,0x000C2CED,0x000C2CEA,0x000C2CE7,0x000C2CE4,0x000C2CE1,0x000C2CDE,0x000C2CDB, -0x000C2CD8,0x000C2CD5,0x000C2CD2,0x000C2CCF,0x000C2CCC,0x000C2CC9,0x000C2CC6,0xE10050E7,0x000C2CC3,0x000C2CC0, -0x000C2CBD,0x000C2CBA,0xA800520C,0xA900520D,0xAA005223,0xAB005224,0xAC005225,0xAD005226,0xAE005227,0xAF005228, -0xB0005229,0xB100522A,0xB200522B,0xB300522C,0xB400522D,0xB500522E,0xB600522F,0xB7005230,0xB8005231,0xB9005232, -0xBA005233,0xBB005234,0xBC005235,0xBD005236,0xBE005238,0xBF005239,0x000C2CB7,0x000C2CB4,0x000C2CB1,0x000C2CAE, -0x000C2CAB,0x000C2CA8,0x000C2CA5,0x8000523A,0x8100523B,0x82005254,0x000C2CA2,0x000C2C9F,0x000C2C9C,0x000C2C99, -0x860051CE,0x8700520E,0x000C2C96,0x000C2C93,0x000C2C90,0x000C2C8D,0x000C2C8A,0x000C2C87,0x000C2C84,0x000C2C81, -0x000C2C7E,0x000C2C7B,0x000C2C78,0x000C2C75,0x000C2C72,0x000C2C6F,0x000C2C6C,0x000C2C69,0xE100510E,0x000C2C66, -0xA8005256,0xA9005257,0xAA005258,0xAB005259,0xAC00525A,0xAD00525E,0xAE00525F,0xAF005260,0xB0005261,0xB1005264, -0xB2005265,0xB3005266,0xB4005267,0xB5005268,0xB6005269,0xB700526A,0xB800526B,0xB900526C,0xBA00526D,0xBB00526E, -0xBC00526F,0xBD005270,0xBE005271,0xBF005272,0x80005273,0x81005275,0x82005291,0x000C2C63,0x000C2C60,0x000C2C5D, -0x000C2C5A,0x86005207,0x87005247,0x000C2C57,0x000C2C54,0x000C2C51,0x000C2C4E,0x000C2C4B,0x000C2C48,0x000C2C45, -0x000C2C42,0x000C2C3F,0x000C2C3C,0x000C2C39,0x000C2C36,0x000C2C33,0x000C2C30,0x000C2C2D,0x000C2C2A,0x000C2C27, -0x000C2C24,0x000C2C21,0x000C2C1E,0x000C2C1B,0x000C2C18,0x000C2C15,0xE1005148,0xA8005293,0xA9005294,0xAA005297, -0xAB005298,0xAC005299,0xAD00529A,0xAE00529B,0xAF00529C,0xB000529D,0xB100529E,0xB200529F,0xB30052A0,0xB40052A1, -0xB50052A2,0xB60052A3,0xB70052A4,0xB80052A5,0xB90052A6,0xBA0052A7,0xBB0052A8,0xBC0052A9,0xBD0052AA,0xBE0052AB, -0xBF0052AC,0x800052AD,0x810052CA,0x820052CB,0x000C2C12,0x000C2C0F,0x000C2C0C,0x000C2C09,0x86005243,0x87005283, -0x000C2C06,0x000C2C03,0x000C2C00,0x000C2BFD,0x000C2BFA,0x000C2BF7,0x000C2BF4,0x000C2BF1,0x000C2BEE,0x000C2BEB, -0x000C2BE8,0x000C2BE5,0x000C2BE2,0x000C2BDF,0x000C2BDC,0x000C2BD9,0x000C2BD6,0x000C2BD3,0x000C2BD0,0x000C2BCD, -0x000C2BCA,0x000C2BC7,0x000C2BC4,0x000C2BC1,0x000C2BBE,0x000C2BBB,0xE1005184,0xA80052CD,0xA90052D0,0xAA0052D1, -0xAB0052D2,0xAC0052D3,0xAD0052D4,0xAE0052D5,0xAF0052D6,0xB00052D7,0xB10052D8,0xB20052D9,0xB30052DA,0xB40052DB, -0xB50052DC,0xB60052DD,0xB70052DE,0xB80052DF,0xB90052E0,0xBA0052E1,0xBB0052E2,0xBC0052E3,0xBD0052E4,0xBE0052E5, -0xBF0052E6,0x800052E7,0x810052E8,0x820052E9,0x000C2BB8,0x86005262,0x870052BA,0x000C2BB5,0xA8005309,0xA9005322, -0xAA005323,0xAB005324,0xAC005325,0xAD005326,0xAE005327,0xAF005328,0xB0005329,0xB100532A,0xB200532B,0xB300532C, -0xB400532D,0xB500532E,0xB600532F,0xB7005330,0xB8005331,0xB9005332,0xBA005333,0xBB005334,0xBC005335,0xBD005337, -0xBE005338,0xBF005339,0x000C2BB2,0x000C2BAF,0x000C2BAC,0x000C2BA9,0x000C2BA6,0x000C2BA3,0x000C2BA0,0x000C2B9D, -0x000C2B9A,0x000C2B97,0x000C2B94,0x000C2B91,0x000C2B8E,0x000C2B8B,0x000C2B88,0x000C2B85,0x000C2B82,0x000C2B7F, -0x000C2B7C,0x000C2B79,0xE10051DC,0x000C2B76,0x000C2B73,0x000C2B70,0x8000533D,0x8100533E,0x8200533F,0x000C2B6D, -0x000C2B6A,0x000C2B67,0x000C2B64,0x860052AE,0x870052F4,0x000C2B61,0x000C2B5E,0x000C2B5B,0x000C2B58,0x000C2B55, -0x000C2B52,0x000C2B4F,0x000C2B4C,0x000C2B49,0x000C2B46,0x000C2B43,0x000C2B40,0x000C2B3D,0x000C2B3A,0x000C2B37, -0x000C2B34,0x000C2B31,0x000C2B2E,0x000C2B2B,0xA8005343,0xA9005344,0xAA005345,0xAB005346,0xAC005347,0xAD005348, -0xAE005349,0xAF00534A,0xB000534B,0xB100534C,0xB200534D,0xB300534E,0xB400534F,0xB5005350,0xB6005351,0xB7005352, -0xB8005353,0xB9005354,0xBA005355,0xBB00536E,0xBC00536F,0xBD005370,0xBE005371,0xBF005372,0x000C2B28,0x000C2B25, -0x000C2B22,0x000C2B1F,0x000C2B1C,0xE100520F,0x80005377,0x81005378,0x82005379,0x000C2B19,0x000C2B16,0x000C2B13, -0x000C2B10,0x860052EA,0x87005336,0x000C2B0D,0x000C2B0A,0x000C2B07,0x000C2B04,0x000C2B01,0x000C2AFE,0x000C2AFB, -0x000C2AF8,0x000C2AF5,0x000C2AF2,0x000C2AEF,0x000C2AEC,0x000C2AE9,0x000C2AE6,0x000C2AE3,0x000C2AE0,0x000C2ADD, -0x000C2ADA,0x000C2AD7,0x000C2AD4,0x000C2AD1,0xA800537D,0xA900537E,0xAA00537F,0xAB005380,0xAC005381,0xAD005382, -0xAE005383,0xAF005384,0xB0005385,0xB1005386,0xB2005387,0xB3005388,0xB4005389,0xB500538A,0xB600538B,0xB700538C, -0xB800538D,0xB900538E,0xBA00538F,0xBB005390,0xBC005391,0xBD0053AA,0xBE0053AB,0xBF0053AC,0x000C2ACE,0x000C2ACB, -0x000C2AC8,0xE1005248,0x000C2AC5,0x000C2AC2,0x000C2ABF,0x000C2ABC,0x000C2AB9,0x000C2AB6,0x000C2AB3,0x000C2AB0, -0x800053AE,0x810053AF,0x820053B0,0x000C2AAD,0x000C2AAA,0x000C2AA7,0x000C2AA4,0x000C2AA1,0x000C2A9E,0x000C2A9B, -0x8600531A,0x87005368,0xA80053B2,0xA90053B3,0xAA0053B4,0xAB0053B5,0xAC0053B9,0xAD0053BA,0xAE0053BB,0xAF0053BC, -0xB00053BD,0xB10053BE,0xB20053BF,0xB30053DA,0xB40053DB,0xB50053DC,0xB60053DD,0xB70053DE,0xB80053DF,0xB90053E0, -0xBA0053E1,0xBB0053E2,0xBC0053E3,0xBD0053E4,0xBE0053E5,0xBF0053E6,0x000C2A98,0x000C2A95,0x000C2A92,0x000C2A8F, -0x000C2A8C,0x000C2A89,0x000C2A86,0x000C2A83,0x000C2A80,0x000C2A7D,0x000C2A7A,0x000C2A77,0x000C2A74,0xE1005281, -0x800053EB,0x810053EC,0x820053ED,0x000C2A71,0x000C2A6E,0x000C2A6B,0x000C2A68,0x86005356,0x870053A2,0x000C2A65, -0x000C2A62,0x000C2A5F,0x000C2A5C,0x000C2A59,0x000C2A56,0x000C2A53,0x000C2A50,0x000C2A4D,0x000C2A4A,0x000C2A47, -0x000C2A44,0x000C2A41,0xA80053F1,0xA90053F2,0xAA0053F3,0xAB0053F4,0xAC0053F5,0xAD0053F6,0xAE0053F7,0xAF0053F8, -0xB00053F9,0xB10053FA,0xB20053FB,0xB30053FC,0xB40053FD,0xB5005416,0xB6005417,0xB7005418,0xB8005419,0xB900541A, -0xBA00541B,0xBB00541C,0xBC00541D,0xBD00541E,0xBE00541F,0xBF005420,0x000C2A3E,0x000C2A3B,0x000C2A38,0x000C2A35, -0x000C2A32,0x000C2A2F,0x000C2A2C,0x000C2A29,0x000C2A26,0x000C2A23,0x000C2A20,0xE10052BB,0x80005425,0x81005426, -0x82005427,0x000C2A1D,0x000C2A1A,0x000C2A17,0x000C2A14,0x86005392,0x870053E7,0x000C2A11,0x000C2A0E,0x000C2A0B, -0x000C2A08,0x000C2A05,0x000C2A02,0x000C29FF,0x000C29FC,0x000C29F9,0x000C29F6,0x000C29F3,0x000C29F0,0x000C29ED, -0x000C29EA,0x000C29E7,0xA800542B,0xA900542C,0xAA00542D,0xAB00542E,0xAC00542F,0xAD005430,0xAE005431,0xAF005432, -0xB0005433,0xB1005434,0xB2005435,0xB3005436,0xB4005437,0xB5005438,0xB6005439,0xB7005452,0xB8005453,0xB9005454, -0xBA005455,0xBB005456,0xBC005457,0xBD005458,0xBE005459,0xBF00545A,0x000C29E4,0x000C29E1,0x000C29DE,0x000C29DB, -0x000C29D8,0x000C29D5,0x000C29D2,0x000C29CF,0x000C29CC,0xE10052F5,0x000C29C9,0x000C29C6,0x000C29C3,0x000C29C0, -0x000C29BD,0x000C29BA,0x000C29B7,0x000C29B4,0x000C29B1,0x000C29AE,0x000C29AB,0x8000545C,0x8100545D,0x8200545E, -0x000C29A8,0x000C29A5,0x000C29A2,0x000C299F,0x860053C8,0x87005421,0xA8005460,0xA9005461,0xAA005462,0xAB005463, -0xAC005464,0xAD005465,0xAE005466,0xAF00546A,0xB000546B,0xB100546C,0xB200546D,0xB3005488,0xB4005489,0xB500548A, -0xB600548B,0xB700548C,0xB800548D,0xB900548E,0xBA00548F,0xBB005490,0xBC005491,0xBD005493,0xBE005494,0xBF005495, -0x000C299C,0x000C2999,0x000C2996,0x000C2993,0x000C2990,0x000C298D,0x000C298A,0x000C2987,0x000C2984,0x000C2981, -0xE100533A,0x000C297E,0x000C297B,0x000C2978,0x000C2975,0x000C2972,0x000C296F,0x000C296C,0x860053FE,0x87005450, -0x000C2969,0x000C2966,0x000C2963,0x000C2960,0x000C295D,0x80005496,0x81005497,0x82005498,0x000C295A,0x000C2957, -0xA800549C,0xA900549D,0xAA00549E,0xAB00549F,0xAC0054A0,0xAD0054A4,0xAE0054A5,0xAF0054BE,0xB00054BF,0xB10054C0, -0xB20054C1,0xB30054C2,0xB40054C3,0xB50054C4,0xB60054C5,0xB70054C6,0xB80054C7,0xB90054C8,0xBA0054C9,0xBB0054CA, -0xBC0054CB,0xBD0054CC,0xBE0054CD,0xBF0054CE,0x000C2954,0x000C2951,0x000C294E,0x000C294B,0x000C2948,0x000C2945, -0x000C2942,0x000C293F,0x000C293C,0x000C2939,0x000C2936,0x000C2933,0x000C2930,0x000C292D,0x000C292A,0x000C2927, -0x000C2924,0xE1005369,0x800054D3,0x810054D4,0x820054D5,0x000C2921,0x000C291E,0x000C291B,0x000C2918,0x8600543A, -0x87005492,0x000C2915,0x000C2912,0x000C290F,0x000C290C,0x000C2909,0x000C2906,0x000C2903,0x000C2900,0x000C28FD, -0xA80054D9,0xA90054DA,0xAA0054DB,0xAB0054DC,0xAC0054DD,0xAD0054DE,0xAE0054DF,0xAF0054E0,0xB00054E1,0xB10054FA, -0xB20054FB,0xB30054FC,0xB40054FD,0xB50054FE,0xB60054FF,0xB7005500,0xB8005501,0xB9005502,0xBA005503,0xBB005504, -0xBC005505,0xBD005506,0xBE005507,0xBF005508,0x000C28FA,0x000C28F7,0x000C28F4,0x000C28F1,0x000C28EE,0x000C28EB, -0x000C28E8,0x000C28E5,0x000C28E2,0x000C28DF,0x000C28DC,0x000C28D9,0x000C28D6,0x000C28D3,0x000C28D0,0xE10053A3, -0x000C28CD,0x000C28CA,0x000C28C7,0x000C28C4,0x000C28C1,0x000C28BE,0x000C28BB,0x000C28B8,0x8000550A,0x8100550B, -0x8200550C,0x000C28B5,0x000C28B2,0x000C28AF,0x000C28AC,0x000C28A9,0x000C28A6,0x000C28A3,0x000C28A0,0x000C289D, -0x000C289A,0x000C2897,0x8600547A,0x870054CF,0xA800550E,0xA900550F,0xAA005510,0xAB005511,0xAC005515,0xAD005516, -0xAE005517,0xAF005518,0xB0005519,0xB100551A,0xB200551B,0xB300551C,0xB400551D,0xB500551E,0xB600551F,0xB700553A, -0xB800553B,0xB900553C,0xBA00553D,0xBB00553E,0xBC00553F,0xBD005541,0xBE005542,0xBF005543,0x000C2894,0x000C2891, -0x000C288E,0x000C288B,0x000C2888,0x000C2885,0xE10053E8,0x000C2882,0x000C287F,0x000C287C,0x000C2879,0x000C2876, -0x000C2873,0x000C2870,0x000C286D,0x000C286A,0x000C2867,0x000C2864,0x000C2861,0x000C285E,0x000C285B,0x80005544, -0x81005545,0x82005546,0x000C2858,0x000C2855,0x000C2852,0x000C284F,0x860054B0,0x87005509,0xA8005548,0xA9005549, -0xAA00554A,0xAB00554B,0xAC00554C,0xAD00554D,0xAE00554E,0xAF005552,0xB0005553,0xB1005554,0xB2005555,0xB3005570, -0xB4005571,0xB5005572,0xB6005573,0xB7005574,0xB8005575,0xB9005576,0xBA005577,0xBB005578,0xBC005579,0xBD00557B, -0xBE00557C,0xBF00557D,0x000C284C,0x000C2849,0x000C2846,0x000C2843,0x000C2840,0x000C283D,0x000C283A,0x000C2837, -0x000C2834,0x000C2831,0xE1005414,0x000C282E,0x000C282B,0x000C2828,0x000C2825,0x000C2822,0x000C281F,0x000C281C, -0x000C2819,0x000C2816,0x000C2813,0x000C2810,0x000C280D,0x000C280A,0x000C2807,0x8000557E,0x8100557F,0x82005580, -0x000C2804,0x000C2801,0x000C27FE,0x000C27FB,0x000C27F8,0x000C27F5,0x000C27F2,0x000C27EF,0x000C27EC,0x000C27E9, -0x000C27E6,0x000C27E3,0x860054F2,0x87005538,0xA8005582,0xA9005583,0xAA005584,0xAB005585,0xAC005586,0xAD005587, -0xAE005588,0xAF00558C,0xB000558D,0xB100558E,0xB200558F,0xB3005590,0xB4005591,0xB5005592,0xB6005593,0xB7005594, -0xB8005595,0xB9005596,0xBA005597,0xBB0055B2,0xBC0055B3,0xBD0055B4,0xBE0055B5,0xBF0055B6,0x000C27E0,0x000C27DD, -0x000C27DA,0x000C27D7,0x000C27D4,0xE1005451,0x800055BB,0x810055BC,0x820055BD,0x000C27D1,0x000C27CE,0x000C27CB, -0x000C27C8,0x86005520,0x8700557A,0x000C27C5,0x000C27C2,0x000C27BF,0x000C27BC,0x000C27B9,0x000C27B6,0x000C27B3, -0xA80055C1,0xA90055C2,0xAA0055C3,0xAB0055C4,0xAC0055C5,0xAD0055C6,0xAE0055C7,0xAF0055E0,0xB00055E1,0xB10055E2, -0xB20055E3,0xB30055E4,0xB40055E5,0xB50055E6,0xB60055E7,0xB70055E8,0xB80055E9,0xB90055EA,0xBA0055EB,0xBB0055EC, -0xBC0055ED,0xBD0055EF,0xBE0055F0,0xBF0055F1,0x000C27B0,0x000C27AD,0x000C27AA,0x000C27A7,0x000C27A4,0x000C27A1, -0x000C279E,0x000C279B,0x000C2798,0x000C2795,0x000C2792,0x000C278F,0x000C278C,0x000C2789,0xE100549A,0x000C2786, -0x000C2783,0x000C2780,0x000C277D,0x000C277A,0x000C2777,0x000C2774,0x000C2771,0x000C276E,0x000C276B,0x000C2768, -0x800055F2,0x810055F3,0x820055F4,0x000C2765,0x000C2762,0x000C275F,0x000C275C,0x000C2759,0x000C2756,0x000C2753, -0x000C2750,0x000C274D,0x000C274A,0x000C2747,0x000C2744,0x000C2741,0x000C273E,0x000C273B,0x000C2738,0x000C2735, -0x000C2732,0x8600558A,0x87005598,0x000C272F,0x000C272C,0x000C2729,0x000C2726,0x000C2723,0x000C2720,0x000C271D, -0x80005613,0x81005614,0x82005615,0x000C271A,0x000C2717,0x000C2714,0x000C2711,0x860055A2,0x870055EE,0x000C270E, -0x000C270B,0x000C2708,0x000C2705,0x000C2702,0x000C26FF,0x000C26FC,0xE10054D0,0x000C26F9,0x000C26F6,0x000C26F3, -0x000C26F0,0x000C26ED,0x000C26EA,0x000C26E7,0x000C26E4,0x000C26E1,0xA80055F6,0xA90055F7,0xAA0055F8,0xAB0055F9, -0xAC0055FD,0xAD0055FE,0xAE0055FF,0xAF005600,0xB0005601,0xB1005602,0xB2005603,0xB3005604,0xB4005605,0xB5005606, -0xB6005607,0xB7005608,0xB8005609,0xB900560A,0xBA00560B,0xBB00560C,0xBC00560D,0xBD00560E,0xBE005611,0xBF005612, -0xA8005617,0xA900561B,0xAA00561C,0xAB00561D,0xAC00561E,0xAD005621,0xAE005622,0xAF005623,0xB0005624,0xB1005625, -0xB2005626,0xB3005627,0xB4005629,0xB500562A,0xB600562B,0xB700562C,0xB800562D,0xB900562E,0xBA00562F,0xBB005630, -0xBC005631,0xBD005663,0xBE005664,0xBF005665,0xE1005512,0x000C26DE,0x000C26DB,0x000C26D8,0x000C26D5,0x000C26D2, -0x000C26CF,0x000C26CC,0x000C26C9,0x000C26C6,0x000C26C3,0x000C26C0,0x80005666,0x81005667,0x82005668,0x000C26BD, -0x000C26BA,0x000C26B7,0x000C26B4,0x000C26B1,0x000C26AE,0x000C26AB,0x000C26A8,0x000C26A5,0x000C26A2,0x000C269F, -0x000C269C,0x000C2699,0x000C2696,0x000C2693,0x860055DA,0x87005620,0xA800566A,0xA900566B,0xAA00566C,0xAB00566D, -0xAC005671,0xAD005672,0xAE005673,0xAF005674,0xB0005675,0xB1005676,0xB2005677,0xB3005678,0xB4005679,0xB500567A, -0xB600567B,0xB700567C,0xB800567D,0xB900567E,0xBA00567F,0xBB00569A,0xBC00569B,0xBD00569C,0xBE00569D,0xBF00569E, -0x000C2690,0x000C268D,0x000C268A,0x000C2687,0x000C2684,0xE1005539,0x800056A3,0x810056A4,0x820056A5,0x000C2681, -0x000C267E,0x000C267B,0x000C2678,0x000C2675,0x000C2672,0x000C266F,0x000C266C,0x000C2669,0x000C2666,0x000C2663, -0x8600560F,0x8700565A,0x000C2660,0x000C265D,0x000C265A,0x000C2657,0x000C2654,0x000C2651,0x000C264E,0xA80056A7, -0xA90056A8,0xAA0056A9,0xAB0056AA,0xAC0056AB,0xAD0056AC,0xAE0056AD,0xAF0056B0,0xB00056B1,0xB10056B2,0xB20056B3, -0xB30056B4,0xB40056B5,0xB50056B6,0xB60056CF,0xB70056D0,0xB80056D1,0xB90056D2,0xBA0056D3,0xBB0056D4,0xBC0056D5, -0xBD0056D7,0xBE0056D8,0xBF0056D9,0x000C264B,0x000C2648,0x000C2645,0x000C2642,0x000C263F,0x000C263C,0x000C2639, -0xE1005589,0x000C2636,0x000C2633,0x000C2630,0x800056DD,0x810056DE,0x820056DF,0x000C262D,0x000C262A,0x000C2627, -0x85005657,0x000C2624,0x8600566E,0x87005693,0x000C2621,0x000C261E,0x000C261B,0x000C2618,0x000C2615,0x000C2612, -0x000C260F,0x000C260C,0x000C2609,0x000C2606,0x000C2603,0x000C2600,0x000C25FD,0xE100565B,0x000C25FA,0x000C25F7, -0x000C25F4,0x000C25F1,0x000C25EE,0xE1005599,0xA10056E1,0xA2005731,0xA3005753,0xA40057A5,0xA50057DF,0xA6005816, -0xA700583B,0xA800588D,0xA90058C4,0xAA0058FE,0xAB005938,0xAC005975,0xAD0059AF,0xAE0059E9,0xAF005A20,0xB0005A5A, -0xB1005A94,0xB2005ACE,0xB3005B08,0xB4005B45,0xB5005B7F,0x000C25EB,0x000C25E8,0x000C25E5,0x000C25E2,0x000C25DF, -0x000C25DC,0x8000572E,0x8100572F,0x82005730,0xA80056E4,0xA90056E5,0xAA0056E6,0xAB0056E7,0xAC0056E8,0xAD0056E9, -0xAE0056EA,0xAF0056EB,0xB00056EC,0xB10056ED,0xB20056EE,0xB30056EF,0xB40056F0,0xB50056F2,0xB60056F3,0xB70056F4, -0xB80056F5,0xB90056F6,0xBA00570D,0xBB00570E,0xBC00570F,0xBD005710,0xBE005711,0xBF005712,0x000C25D9,0x000C25D6, -0x000C25D3,0x000C25D0,0x000C25CD,0x000C25CA,0x860056AF,0x870056CD,0x000C25C7,0x000C25C4,0x000C25C1,0x000C25BE, -0x000C25BB,0x000C25B8,0x000C25B5,0x000C25B2,0x000C25AF,0x000C25AC,0x000C25A9,0x000C25A6,0x000C25A3,0x000C25A0, -0x000C259D,0x000C259A,0x000C2597,0x000C2594,0x000C2591,0x000C258E,0xE10055FA,0x000C258B,0x000C2588,0x80005750, -0x81005751,0x82005752,0x000C2585,0x000C2582,0x000C257F,0x000C257C,0x860056C7,0x8700571F,0x000C2579,0xA8005732, -0xA9005733,0xAA005736,0xAB005737,0xAC005738,0xAD005739,0xAE00573A,0xAF00573B,0xB000573C,0xB100573D,0xB200573E, -0xB300573F,0xB4005740,0xB5005741,0xB6005742,0xB7005743,0xB8005744,0xB9005745,0xBA005746,0xBB005747,0xBC005748, -0xBD005749,0xBE00574B,0xBF00574C,0xA8005756,0xA9005788,0xAA005789,0xAB00578A,0xAC00578B,0xAD00578C,0xAE00578D, -0xAF00578E,0xB000578F,0xB1005790,0xB2005791,0xB3005792,0xB4005793,0xB5005794,0xB6005795,0xB7005796,0xB8005797, -0xB9005798,0xBA005799,0xBB00579A,0xBC00579B,0xBD00579C,0xBE00579D,0xBF00579E,0xE1005628,0x000C2576,0x000C2573, -0x000C2570,0x000C256D,0x000C256A,0x000C2567,0x000C2564,0x000C2561,0x000C255E,0x000C255B,0x000C2558,0x000C2555, -0x000C2552,0x000C254F,0x000C254C,0x000C2549,0x000C2546,0x000C2543,0x000C2540,0x000C253D,0x000C253A,0x000C2537, -0x000C2534,0x800057A2,0x810057A3,0x820057A4,0x000C2531,0x000C252E,0x000C252B,0x000C2528,0x86005700,0x87005759, -0xA80057C0,0xA90057C1,0xAA0057C3,0xAB0057C4,0xAC0057C5,0xAD0057C6,0xAE0057C7,0xAF0057C8,0xB00057C9,0xB10057CA, -0xB20057CB,0xB30057CC,0xB40057CD,0xB50057CE,0xB60057CF,0xB70057D0,0xB80057D1,0xB90057D2,0xBA0057D3,0xBB0057D4, -0xBC0057D5,0xBD0057D6,0xBE0057D7,0xBF0057D8,0x000C2525,0x000C2522,0xE100565C,0x000C251F,0x000C251C,0x000C2519, -0x000C2516,0x000C2513,0x000C2510,0x000C250D,0x000C250A,0x000C2507,0x000C2504,0x000C2501,0x000C24FE,0x000C24FB, -0x000C24F8,0x000C24F5,0x000C24F2,0x000C24EF,0x000C24EC,0x000C24E9,0x000C24E6,0x000C24E3,0x000C24E0,0x800057DC, -0x810057DD,0x820057DE,0x000C24DD,0x000C24DA,0x000C24D7,0x000C24D4,0x8600574A,0x8700579F,0x000C24D1,0x000C24CE, -0x000C24CB,0x000C24C8,0x000C24C5,0x000C24C2,0x000C24BF,0x000C24BC,0x000C24B9,0x000C24B6,0x000C24B3,0x000C24B0, -0x000C24AD,0x000C24AA,0x000C24A7,0x000C24A4,0xA80057E2,0xA90057E3,0xAA0057E4,0xAB0057E5,0xAC0057E6,0xAD0057E7, -0xAE0057E8,0xAF0057E9,0xB00057EA,0xB10057EB,0xB20057EC,0xB30057ED,0xB40057EE,0xB50057EF,0xB60057F0,0xB70057F1, -0xB800580A,0xB900580B,0xBA00580C,0xBB00580D,0xBC00580E,0xBD00580F,0xBE005810,0xBF005811,0x000C24A1,0x000C249E, -0x000C249B,0x000C2498,0x000C2495,0x000C2492,0x000C248F,0x000C248C,0xE10056AE,0x000C2489,0x000C2486,0x000C2483, -0x000C2480,0x000C247D,0x000C247A,0x000C2477,0x000C2474,0x000C2471,0x000C246E,0x000C246B,0x000C2468,0x80005813, -0x81005814,0x82005815,0x000C2465,0x000C2462,0x000C245F,0x000C245C,0x860057A1,0x870057B5,0x000C2459,0x000C2456, -0x000C2453,0x000C2450,0x000C244D,0x000C244A,0x000C2447,0x000C2444,0x000C2441,0x000C243E,0x000C243B,0x000C2438, -0xE10056CE,0x80005838,0x81005839,0x8200583A,0x000C2435,0x000C2432,0x000C242F,0x000C242C,0x860057B9,0x87005807, -0x000C2429,0x000C2426,0x000C2423,0x000C2420,0x000C241D,0x000C241A,0x000C2417,0x000C2414,0x000C2411,0x000C240E, -0x000C240B,0xA8005817,0xA9005818,0xAA005819,0xAB00581A,0xAC00581B,0xAD00581C,0xAE00581D,0xAF00581E,0xB0005822, -0xB1005823,0xB2005824,0xB3005825,0xB4005828,0xB5005829,0xB600582A,0xB700582B,0xB800582C,0xB900582D,0xBA00582E, -0xBB00582F,0xBC005830,0xBD005831,0xBE005832,0xBF005833,0xA800583E,0xA900583F,0xAA005840,0xAB005841,0xAC005842, -0xAD005843,0xAE005844,0xAF005845,0xB0005846,0xB1005847,0xB2005848,0xB3005879,0xB400587A,0xB500587B,0xB600587C, -0xB700587D,0xB800587E,0xB900587F,0xBA005880,0xBB005881,0xBC005882,0xBD005883,0xBE005884,0xBF005885,0x000C2408, -0x000C2405,0x000C2402,0x000C23FF,0x000C23FC,0x000C23F9,0x000C23F6,0x000C23F3,0x000C23F0,0x000C23ED,0x000C23EA, -0x000C23E7,0x000C23E4,0xE1005720,0x8000588A,0x8100588B,0x8200588C,0x000C23E1,0x000C23DE,0x000C23DB,0x000C23D8, -0x860057F2,0x87005849,0x000C23D5,0x000C23D2,0x000C23CF,0x000C23CC,0x000C23C9,0x000C23C6,0x000C23C3,0x000C23C0, -0x000C23BD,0x000C23BA,0xA8005890,0xA9005891,0xAA005892,0xAB005893,0xAC005894,0xAD005895,0xAE005896,0xAF005897, -0xB0005898,0xB1005899,0xB20058B2,0xB30058B3,0xB40058B4,0xB50058B5,0xB60058B6,0xB70058B7,0xB80058B8,0xB90058B9, -0xBA0058BA,0xBB0058BB,0xBC0058BC,0xBD0058BD,0xBE0058BE,0xBF0058BF,0x000C23B7,0x000C23B4,0x000C23B1,0x000C23AE, -0x000C23AB,0x000C23A8,0x000C23A5,0x000C23A2,0x000C239F,0x000C239C,0x000C2399,0x000C2396,0x000C2393,0x000C2390, -0xE100575A,0x000C238D,0x000C238A,0x000C2387,0x000C2384,0x000C2381,0x000C237E,0x000C237B,0x000C2378,0x800058C1, -0x810058C2,0x820058C3,0x000C2375,0x000C2372,0x000C236F,0x000C236C,0x86005834,0x87005886,0x000C2369,0x000C2366, -0x000C2363,0x000C2360,0x000C235D,0x000C235A,0x000C2357,0x000C2354,0x000C2351,0x000C234E,0xA80058C5,0xA90058C6, -0xAA0058C7,0xAB0058C8,0xAC0058CC,0xAD0058CD,0xAE0058CE,0xAF0058CF,0xB00058D2,0xB10058D3,0xB20058D4,0xB30058D5, -0xB40058D6,0xB50058D7,0xB60058D8,0xB70058D9,0xB80058DA,0xB90058DB,0xBA0058F4,0xBB0058F5,0xBC0058F6,0xBD0058F8, -0xBE0058F9,0xBF0058FA,0x000C234B,0x000C2348,0x000C2345,0xE10057A0,0x000C2342,0x000C233F,0x000C233C,0x000C2339, -0x000C2336,0x000C2333,0x000C2330,0x000C232D,0x000C232A,0x000C2327,0x000C2324,0x000C2321,0x000C231E,0x000C231B, -0x800058FB,0x810058FC,0x820058FD,0x000C2318,0x000C2315,0x000C2312,0x000C230F,0x86005875,0x870058C0,0x000C230C, -0x000C2309,0x000C2306,0x000C2303,0x000C2300,0x000C22FD,0x000C22FA,0x000C22F7,0x000C22F4,0x000C22F1,0x000C22EE, -0x000C22EB,0x000C22E8,0xE10057B6,0xA80058FF,0xA9005900,0xAA005901,0xAB005902,0xAC005903,0xAD005904,0xAE005905, -0xAF005909,0xB000590A,0xB100590B,0xB200590C,0xB300590F,0xB4005910,0xB5005911,0xB6005912,0xB7005913,0xB8005914, -0xB9005915,0xBA005916,0xBB005917,0xBC005918,0xBD005919,0xBE00591A,0xBF00591B,0x000C22E5,0x000C22E2,0x000C22DF, -0x000C22DC,0x000C22D9,0x000C22D6,0x000C22D3,0x000C22D0,0x000C22CD,0x000C22CA,0x000C22C7,0x80005935,0x81005936, -0x82005937,0x000C22C4,0x000C22C1,0x000C22BE,0x000C22BB,0x000C22B8,0x000C22B5,0x000C22B2,0x000C22AF,0x000C22AC, -0x000C22A9,0x000C22A6,0x000C22A3,0x860058A9,0x870058EF,0xA8005939,0xA900593A,0xAA00593B,0xAB00593C,0xAC00593D, -0xAD00593E,0xAE00593F,0xAF005943,0xB0005944,0xB1005945,0xB2005946,0xB3005947,0xB4005948,0xB5005949,0xB600594A, -0xB700594B,0xB800594C,0xB900594D,0xBA00594E,0xBB005969,0xBC00596A,0xBD00596B,0xBE00596C,0xBF00596D,0x000C22A0, -0x000C229D,0x000C229A,0x000C2297,0x000C2294,0xE1005808,0x80005972,0x81005973,0x82005974,0x000C2291,0x000C228E, -0x000C228B,0x000C2288,0x860058D0,0x87005929,0xA8005990,0xA9005991,0xAA005992,0xAB005993,0xAC005994,0xAD005995, -0xAE005996,0xAF005997,0xB0005998,0xB1005999,0xB200599A,0xB300599B,0xB400599C,0xB500599D,0xB600599E,0xB700599F, -0xB80059A0,0xB90059A1,0xBA0059A2,0xBB0059A3,0xBC0059A4,0xBD0059A6,0xBE0059A7,0xBF0059A8,0x000C2285,0x000C2282, -0x000C227F,0x000C227C,0x000C2279,0x000C2276,0x000C2273,0x000C2270,0x000C226D,0x000C226A,0x000C2267,0x000C2264, -0x000C2261,0x000C225E,0x000C225B,0x000C2258,0x000C2255,0x000C2252,0x000C224F,0x000C224C,0x000C2249,0xE100584A, -0x000C2246,0x000C2243,0x000C2240,0x800059AC,0x810059AD,0x820059AE,0x000C223D,0x000C223A,0x000C2237,0x000C2234, -0x8600590D,0x87005963,0x000C2231,0x000C222E,0x000C222B,0xA80059B2,0xA90059B3,0xAA0059B4,0xAB0059CD,0xAC0059CE, -0xAD0059CF,0xAE0059D0,0xAF0059D1,0xB00059D2,0xB10059D3,0xB20059D4,0xB30059D5,0xB40059D6,0xB50059D7,0xB60059D8, -0xB70059D9,0xB80059DA,0xB90059DB,0xBA0059DC,0xBB0059DD,0xBC0059DE,0xBD0059E0,0xBE0059E1,0xBF0059E2,0x000C2228, -0x000C2225,0x000C2222,0x000C221F,0x000C221C,0x000C2219,0x000C2216,0x000C2213,0x000C2210,0x000C220D,0x000C220A, -0x000C2207,0x000C2204,0x000C2201,0x000C21FE,0x000C21FB,0x000C21F8,0x000C21F5,0xE1005887,0x000C21F2,0x000C21EF, -0x000C21EC,0x800059E6,0x810059E7,0x820059E8,0x000C21E9,0x000C21E6,0x000C21E3,0x000C21E0,0x8600594F,0x870059A5, -0x000C21DD,0x000C21DA,0x000C21D7,0x000C21D4,0x000C21D1,0x000C21CE,0x000C21CB,0x000C21C8,0x000C21C5,0x000C21C2, -0x000C21BF,0xA80059EC,0xA90059ED,0xAA0059EE,0xAB0059EF,0xAC0059F0,0xAD0059F1,0xAE0059F2,0xAF0059F3,0xB00059F4, -0xB10059F5,0xB20059F6,0xB3005A0F,0xB4005A10,0xB5005A11,0xB6005A12,0xB7005A13,0xB8005A14,0xB9005A15,0xBA005A16, -0xBB005A17,0xBC005A18,0xBD005A1A,0xBE005A1B,0xBF005A1C,0x000C21BC,0x000C21B9,0x000C21B6,0x000C21B3,0x000C21B0, -0x000C21AD,0x000C21AA,0x000C21A7,0x000C21A4,0x000C21A1,0xE10058C9,0x000C219E,0x000C219B,0x000C2198,0x000C2195, -0x000C2192,0x000C218F,0x000C218C,0x000C2189,0x000C2186,0x000C2183,0x000C2180,0x80005A1D,0x81005A1E,0x82005A1F, -0x000C217D,0x000C217A,0x000C2177,0x000C2174,0x000C2171,0x000C216E,0x000C216B,0x86005989,0x870059DF,0xA8005A21, -0xA9005A22,0xAA005A23,0xAB005A24,0xAC005A28,0xAD005A29,0xAE005A2A,0xAF005A2B,0xB0005A2C,0xB1005A2D,0xB2005A2E, -0xB3005A49,0xB4005A4A,0xB5005A4B,0xB6005A4C,0xB7005A4D,0xB8005A4E,0xB9005A4F,0xBA005A50,0xBB005A51,0xBC005A52, -0xBD005A53,0xBE005A54,0xBF005A55,0x000C2168,0x000C2165,0x000C2162,0x000C215F,0x000C215C,0x000C2159,0x000C2156, -0x000C2153,0x000C2150,0x000C214D,0x000C214A,0x000C2147,0x000C2144,0xE10058F0,0x000C2141,0x000C213E,0x000C213B, -0x000C2138,0x000C2135,0x000C2132,0x000C212F,0x000C212C,0x80005A57,0x81005A58,0x82005A59,0x000C2129,0x000C2126, -0x000C2123,0x000C2120,0x000C211D,0x000C211A,0x000C2117,0x860059C3,0x87005A19,0xA8005A5B,0xA9005A5C,0xAA005A5D, -0xAB005A5E,0xAC005A62,0xAD005A63,0xAE005A64,0xAF005A65,0xB0005A66,0xB1005A67,0xB2005A68,0xB3005A83,0xB4005A84, -0xB5005A85,0xB6005A86,0xB7005A87,0xB8005A88,0xB9005A89,0xBA005A8A,0xBB005A8B,0xBC005A8C,0xBD005A8D,0xBE005A8E, -0xBF005A8F,0x000C2114,0x000C2111,0x000C210E,0x000C210B,0x000C2108,0x000C2105,0x000C2102,0x000C20FF,0x000C20FC, -0x000C20F9,0x000C20F6,0x000C20F3,0x000C20F0,0xE100592A,0x000C20ED,0x000C20EA,0x000C20E7,0x000C20E4,0x000C20E1, -0x000C20DE,0x000C20DB,0x000C20D8,0x80005A91,0x81005A92,0x82005A93,0x000C20D5,0x000C20D2,0x000C20CF,0x000C20CC, -0x000C20C9,0x000C20C6,0x000C20C3,0x000C20C0,0x000C20BD,0x000C20BA,0x000C20B7,0x000C20B4,0x000C20B1,0x000C20AE, -0x000C20AB,0x86005A05,0x87005A56,0xA8005A95,0xA9005A96,0xAA005A97,0xAB005A98,0xAC005A9C,0xAD005A9D,0xAE005A9E, -0xAF005A9F,0xB0005AA0,0xB1005AA1,0xB2005AA2,0xB3005AA3,0xB4005AA4,0xB5005AA5,0xB6005AA6,0xB7005AA7,0xB8005AA8, -0xB9005AA9,0xBA005AAA,0xBB005AC5,0xBC005AC6,0xBD005AC7,0xBE005AC8,0xBF005AC9,0x000C20A8,0x000C20A5,0x000C20A2, -0x000C209F,0x000C209C,0xE1005964,0x000C2099,0x000C2096,0x000C2093,0x000C2090,0x000C208D,0x000C208A,0x000C2087, -0x000C2084,0x000C2081,0x000C207E,0x000C207B,0x80005ACB,0x81005ACC,0x82005ACD,0x000C2078,0x000C2075,0x000C2072, -0x000C206F,0x000C206C,0x000C2069,0x000C2066,0x000C2063,0x000C2060,0x000C205D,0x000C205A,0x000C2057,0x86005A3F, -0x87005A90,0xA8005ACF,0xA9005AD0,0xAA005AD1,0xAB005AD2,0xAC005AD3,0xAD005AD4,0xAE005AD5,0xAF005AD9,0xB0005ADA, -0xB1005ADB,0xB2005ADC,0xB3005ADD,0xB4005ADE,0xB5005ADF,0xB6005AE0,0xB7005AE1,0xB8005AE2,0xB9005AE3,0xBA005AE4, -0xBB005AFF,0xBC005B00,0xBD005B02,0xBE005B03,0xBF005B04,0x000C2054,0x000C2051,0xE10059A9,0x000C204E,0x000C204B, -0x000C2048,0x000C2045,0x000C2042,0x000C203F,0x000C203C,0x000C2039,0x000C2036,0x000C2033,0x000C2030,0x000C202D, -0x000C202A,0x000C2027,0x80005B05,0x81005B06,0x82005B07,0x000C2024,0x000C2021,0x000C201E,0x000C201B,0x000C2018, -0x000C2015,0x000C2012,0x000C200F,0x000C200C,0x000C2009,0x000C2006,0x000C2003,0x86005A79,0x87005ABF,0xA8005B09, -0xA9005B0A,0xAA005B0B,0xAB005B0C,0xAC005B0D,0xAD005B0E,0xAE005B0F,0xAF005B13,0xB0005B14,0xB1005B15,0xB2005B16, -0xB3005B17,0xB4005B18,0xB5005B19,0xB6005B1A,0xB7005B1B,0xB8005B1C,0xB9005B1D,0xBA005B1E,0xBB005B39,0xBC005B3A, -0xBD005B3C,0xBE005B3D,0xBF005B3E,0x000C2000,0x000C1FFD,0xE10059E3,0x000C1FFA,0x000C1FF7,0x000C1FF4,0x80005B42, -0x81005B43,0x82005B44,0x000C1FF1,0x000C1FEE,0x000C1FEB,0x000C1FE8,0x86005AAB,0x87005AF9,0x000C1FE5,0x000C1FE2, -0x000C1FDF,0x000C1FDC,0x000C1FD9,0x000C1FD6,0x000C1FD3,0x000C1FD0,0x000C1FCD,0x000C1FCA,0x000C1FC7,0xA8005B48, -0xA9005B49,0xAA005B4A,0xAB005B4B,0xAC005B4C,0xAD005B4D,0xAE005B4E,0xAF005B4F,0xB0005B50,0xB1005B51,0xB2005B52, -0xB3005B6B,0xB4005B6C,0xB5005B6D,0xB6005B6E,0xB7005B6F,0xB8005B70,0xB9005B71,0xBA005B72,0xBB005B73,0xBC005B74, -0xBD005B76,0xBE005B77,0xBF005B78,0x000C1FC4,0x000C1FC1,0x000C1FBE,0x000C1FBB,0x000C1FB8,0x000C1FB5,0x000C1FB2, -0x000C1FAF,0x000C1FAC,0x000C1FA9,0xE1005A25,0x000C1FA6,0x000C1FA3,0x000C1FA0,0x80005B7C,0x81005B7D,0x82005B7E, -0x000C1F9D,0x000C1F9A,0x000C1F97,0x000C1F94,0x86005AE5,0x87005B33,0x000C1F91,0x000C1F8E,0x000C1F8B,0x000C1F88, -0x000C1F85,0x000C1F82,0x000C1F7F,0x000C1F7C,0x000C1F79,0x000C1F76,0x000C1F73,0xA8005B82,0xA9005B83,0xAA005B84, -0xAB005B85,0xAC005B86,0xAD005B87,0xAE005B88,0xAF005B89,0xB0005B8A,0xB1005B8B,0xB2005B8C,0xB3005BA5,0xB4005BA6, -0xB5005BA7,0xB6005BA8,0xB7005BA9,0xB8005BAA,0xB9005BAB,0xBA005BAC,0xBB005BAD,0xBC005BAE,0xBD005BB0,0xBE005BB1, -0xBF005BB2,0x000C1F70,0x000C1F6D,0x000C1F6A,0x000C1F67,0x000C1F64,0x000C1F61,0x000C1F5E,0x000C1F5B,0x000C1F58, -0x000C1F55,0xE1005A5F,0x000C1F52,0x000C1F4F,0x000C1F4C,0x80005BB6,0x81005BB7,0x82005BB8,0x000C1F49,0x000C1F46, -0x000C1F43,0xE1005B35,0x85005B1F,0x000C1F40,0x86005B46,0x87005B8D,0x000C1F3D,0x000C1F3A,0xA1005BBB,0xA2005C07, -0xA3005C44,0xA4005C7E,0xA5005CB8,0xA6005CF2,0xA7005D2C,0xA8005D63,0xA9005DA0,0xAA005DDA,0xAB005E11,0xAC005E4B, -0xAD005E88,0xAE005EBF,0xAF005EF9,0xB0005F33,0xB1005F70,0xB2005FA7,0xB3005FC8,0xB400601B,0xB5006058,0x000C1F37, -0x000C1F34,0x000C1F31,0x000C1F2E,0x000C1F2B,0x000C1F28,0x000C1F25,0x000C1F22,0x000C1F1F,0x000C1F1C,0x000C1F19, -0x000C1F16,0x000C1F13,0x000C1F10,0x000C1F0D,0x000C1F0A,0x000C1F07,0x000C1F04,0x000C1F01,0x000C1EFE,0xE1005A99, -0x000C1EFB,0x000C1EF8,0x000C1EF5,0x000C1EF2,0xA8005BBE,0xA9005BBF,0xAA005BD5,0xAB005BD6,0xAC005BD7,0xAD005BD8, -0xAE005BD9,0xAF005BDA,0xB0005BDB,0xB1005BDC,0xB2005BDD,0xB3005BDE,0xB4005BDF,0xB5005BE0,0xB6005BE1,0xB7005BE2, -0xB8005BE3,0xB9005BE4,0xBA005BE5,0xBB005BE6,0xBC005BE7,0xBD005BE8,0xBE005BEA,0xBF005BEB,0x000C1EEF,0x000C1EEC, -0x000C1EE9,0x000C1EE6,0x000C1EE3,0x000C1EE0,0x000C1EDD,0x80005BEC,0x81005BED,0x82005C06,0x000C1EDA,0x000C1ED7, -0x000C1ED4,0x000C1ED1,0x86005B80,0x87005BC0,0x000C1ECE,0x000C1ECB,0x000C1EC8,0x000C1EC5,0x000C1EC2,0x000C1EBF, -0x000C1EBC,0x000C1EB9,0x000C1EB6,0x000C1EB3,0x000C1EB0,0x000C1EAD,0x000C1EAA,0x000C1EA7,0x000C1EA4,0x000C1EA1, -0xE1005AC0,0x000C1E9E,0xA8005C08,0xA9005C09,0xAA005C0A,0xAB005C0B,0xAC005C0C,0xAD005C10,0xAE005C11,0xAF005C12, -0xB0005C13,0xB1005C16,0xB2005C17,0xB3005C18,0xB4005C19,0xB5005C1A,0xB6005C1B,0xB7005C1C,0xB8005C1D,0xB9005C1E, -0xBA005C1F,0xBB005C20,0xBC005C21,0xBD005C22,0xBE005C23,0xBF005C24,0x80005C25,0x81005C27,0x82005C43,0x000C1E9B, -0x000C1E98,0x000C1E95,0x000C1E92,0x86005BB9,0x87005BF9,0x000C1E8F,0x000C1E8C,0x000C1E89,0x000C1E86,0x000C1E83, -0x000C1E80,0x000C1E7D,0x000C1E7A,0x000C1E77,0x000C1E74,0x000C1E71,0x000C1E6E,0x000C1E6B,0x000C1E68,0x000C1E65, -0x000C1E62,0x000C1E5F,0x000C1E5C,0x000C1E59,0x000C1E56,0x000C1E53,0x000C1E50,0x000C1E4D,0xE1005AFA,0xA8005C45, -0xA9005C46,0xAA005C49,0xAB005C4A,0xAC005C4B,0xAD005C4C,0xAE005C4D,0xAF005C4E,0xB0005C4F,0xB1005C50,0xB2005C51, -0xB3005C52,0xB4005C53,0xB5005C54,0xB6005C55,0xB7005C56,0xB8005C57,0xB9005C58,0xBA005C59,0xBB005C5A,0xBC005C5B, -0xBD005C5C,0xBE005C5D,0xBF005C5E,0x80005C5F,0x81005C7C,0x82005C7D,0x000C1E4A,0x000C1E47,0x000C1E44,0x000C1E41, -0x86005BF5,0x87005C35,0x000C1E3E,0x000C1E3B,0x000C1E38,0x000C1E35,0x000C1E32,0x000C1E2F,0x000C1E2C,0x000C1E29, -0x000C1E26,0x000C1E23,0x000C1E20,0x000C1E1D,0x000C1E1A,0x000C1E17,0x000C1E14,0x000C1E11,0x000C1E0E,0x000C1E0B, -0x000C1E08,0x000C1E05,0x000C1E02,0x000C1DFF,0x000C1DFC,0x000C1DF9,0x000C1DF6,0x000C1DF3,0xE1005B36,0xA8005C7F, -0xA9005C82,0xAA005C83,0xAB005C84,0xAC005C85,0xAD005C86,0xAE005C87,0xAF005C88,0xB0005C89,0xB1005C8A,0xB2005C8B, -0xB3005C8C,0xB4005C8D,0xB5005C8E,0xB6005C8F,0xB7005C90,0xB8005C91,0xB9005C92,0xBA005C93,0xBB005C94,0xBC005C95, -0xBD005C96,0xBE005C97,0xBF005C98,0x80005C99,0x81005C9A,0x82005C9B,0x000C1DF0,0x86005C14,0x87005C6C,0x000C1DED, -0xA8005CBB,0xA9005CD4,0xAA005CD5,0xAB005CD6,0xAC005CD7,0xAD005CD8,0xAE005CD9,0xAF005CDA,0xB0005CDB,0xB1005CDC, -0xB2005CDD,0xB3005CDE,0xB4005CDF,0xB5005CE0,0xB6005CE1,0xB7005CE2,0xB8005CE3,0xB9005CE4,0xBA005CE5,0xBB005CE6, -0xBC005CE7,0xBD005CE9,0xBE005CEA,0xBF005CEB,0x000C1DEA,0x000C1DE7,0x000C1DE4,0x000C1DE1,0x000C1DDE,0x000C1DDB, -0x000C1DD8,0x000C1DD5,0x000C1DD2,0x000C1DCF,0x000C1DCC,0x000C1DC9,0x000C1DC6,0x000C1DC3,0x000C1DC0,0x000C1DBD, -0x000C1DBA,0x000C1DB7,0x000C1DB4,0x000C1DB1,0xE1005B8E,0x000C1DAE,0x000C1DAB,0x000C1DA8,0x80005CEF,0x81005CF0, -0x82005CF1,0x000C1DA5,0x000C1DA2,0x000C1D9F,0x000C1D9C,0x86005C60,0x87005CA6,0x000C1D99,0x000C1D96,0x000C1D93, -0x000C1D90,0x000C1D8D,0x000C1D8A,0x000C1D87,0x000C1D84,0x000C1D81,0x000C1D7E,0x000C1D7B,0x000C1D78,0x000C1D75, -0x000C1D72,0x000C1D6F,0x000C1D6C,0x000C1D69,0x000C1D66,0x000C1D63,0xA8005CF5,0xA9005CF6,0xAA005CF7,0xAB005CF8, -0xAC005CF9,0xAD005CFA,0xAE005CFB,0xAF005CFC,0xB0005CFD,0xB1005CFE,0xB2005CFF,0xB3005D00,0xB4005D01,0xB5005D02, -0xB6005D03,0xB7005D04,0xB8005D05,0xB9005D06,0xBA005D07,0xBB005D20,0xBC005D21,0xBD005D22,0xBE005D23,0xBF005D24, -0x000C1D60,0x000C1D5D,0x000C1D5A,0x000C1D57,0x000C1D54,0xE1005BC1,0x80005D29,0x81005D2A,0x82005D2B,0x000C1D51, -0x000C1D4E,0x000C1D4B,0x000C1D48,0x86005C9C,0x87005CE8,0x000C1D45,0x000C1D42,0x000C1D3F,0x000C1D3C,0x000C1D39, -0x000C1D36,0x000C1D33,0x000C1D30,0x000C1D2D,0x000C1D2A,0x000C1D27,0x000C1D24,0x000C1D21,0x000C1D1E,0x000C1D1B, -0x000C1D18,0x000C1D15,0x000C1D12,0x000C1D0F,0x000C1D0C,0x000C1D09,0xA8005D2F,0xA9005D30,0xAA005D31,0xAB005D32, -0xAC005D33,0xAD005D34,0xAE005D35,0xAF005D36,0xB0005D37,0xB1005D38,0xB2005D39,0xB3005D3A,0xB4005D3B,0xB5005D3C, -0xB6005D3D,0xB7005D3E,0xB8005D3F,0xB9005D40,0xBA005D41,0xBB005D42,0xBC005D43,0xBD005D5C,0xBE005D5D,0xBF005D5E, -0x000C1D06,0x000C1D03,0x000C1D00,0xE1005BFA,0x000C1CFD,0x000C1CFA,0x000C1CF7,0x000C1CF4,0x000C1CF1,0x000C1CEE, -0x000C1CEB,0x000C1CE8,0x80005D60,0x81005D61,0x82005D62,0x000C1CE5,0x000C1CE2,0x000C1CDF,0x000C1CDC,0x000C1CD9, -0x000C1CD6,0x000C1CD3,0x86005CCC,0x87005D1A,0xA8005D64,0xA9005D65,0xAA005D66,0xAB005D67,0xAC005D6B,0xAD005D6C, -0xAE005D6D,0xAF005D6E,0xB0005D6F,0xB1005D70,0xB2005D71,0xB3005D8C,0xB4005D8D,0xB5005D8E,0xB6005D8F,0xB7005D90, -0xB8005D91,0xB9005D92,0xBA005D93,0xBB005D94,0xBC005D95,0xBD005D96,0xBE005D97,0xBF005D98,0x000C1CD0,0x000C1CCD, -0x000C1CCA,0x000C1CC7,0x000C1CC4,0x000C1CC1,0x000C1CBE,0x000C1CBB,0x000C1CB8,0x000C1CB5,0x000C1CB2,0x000C1CAF, -0x000C1CAC,0xE1005C33,0x80005D9D,0x81005D9E,0x82005D9F,0x000C1CA9,0x000C1CA6,0x000C1CA3,0x000C1CA0,0x86005D08, -0x87005D54,0x000C1C9D,0x000C1C9A,0x000C1C97,0x000C1C94,0x000C1C91,0x000C1C8E,0x000C1C8B,0x000C1C88,0x000C1C85, -0x000C1C82,0x000C1C7F,0x000C1C7C,0x000C1C79,0xA8005DA3,0xA9005DA4,0xAA005DA5,0xAB005DA6,0xAC005DA7,0xAD005DA8, -0xAE005DA9,0xAF005DAA,0xB0005DAB,0xB1005DAC,0xB2005DAD,0xB3005DAE,0xB4005DAF,0xB5005DC8,0xB6005DC9,0xB7005DCA, -0xB8005DCB,0xB9005DCC,0xBA005DCD,0xBB005DCE,0xBC005DCF,0xBD005DD0,0xBE005DD1,0xBF005DD2,0x000C1C76,0x000C1C73, -0x000C1C70,0x000C1C6D,0x000C1C6A,0x000C1C67,0x000C1C64,0x000C1C61,0x000C1C5E,0x000C1C5B,0x000C1C58,0xE1005C6D, -0x80005DD7,0x81005DD8,0x82005DD9,0x000C1C55,0x000C1C52,0x000C1C4F,0x000C1C4C,0x86005D44,0x87005D99,0x000C1C49, -0x000C1C46,0x000C1C43,0x000C1C40,0x000C1C3D,0x000C1C3A,0x000C1C37,0x000C1C34,0x000C1C31,0x000C1C2E,0x000C1C2B, -0x000C1C28,0x000C1C25,0x000C1C22,0x000C1C1F,0xA8005DDD,0xA9005DDE,0xAA005DDF,0xAB005DE0,0xAC005DE1,0xAD005DE2, -0xAE005DE3,0xAF005DE4,0xB0005DE5,0xB1005DE6,0xB2005DE7,0xB3005DE8,0xB4005DE9,0xB5005DEA,0xB6005DEB,0xB7005E04, -0xB8005E05,0xB9005E06,0xBA005E07,0xBB005E08,0xBC005E09,0xBD005E0A,0xBE005E0B,0xBF005E0C,0x000C1C1C,0x000C1C19, -0x000C1C16,0x000C1C13,0x000C1C10,0x000C1C0D,0x000C1C0A,0x000C1C07,0x000C1C04,0xE1005CA7,0x000C1C01,0x000C1BFE, -0x000C1BFB,0x000C1BF8,0x000C1BF5,0x000C1BF2,0x000C1BEF,0x000C1BEC,0x000C1BE9,0x000C1BE6,0x000C1BE3,0x80005E0E, -0x81005E0F,0x82005E10,0x000C1BE0,0x000C1BDD,0x000C1BDA,0x000C1BD7,0x86005D7A,0x87005DD3,0xA8005E12,0xA9005E13, -0xAA005E14,0xAB005E15,0xAC005E16,0xAD005E17,0xAE005E18,0xAF005E1C,0xB0005E1D,0xB1005E1E,0xB2005E1F,0xB3005E3A, -0xB4005E3B,0xB5005E3C,0xB6005E3D,0xB7005E3E,0xB8005E3F,0xB9005E40,0xBA005E41,0xBB005E42,0xBC005E43,0xBD005E45, -0xBE005E46,0xBF005E47,0x000C1BD4,0x000C1BD1,0x000C1BCE,0x000C1BCB,0x000C1BC8,0x000C1BC5,0x000C1BC2,0x000C1BBF, -0x000C1BBC,0x000C1BB9,0xE1005CEC,0x000C1BB6,0x000C1BB3,0x000C1BB0,0x000C1BAD,0x000C1BAA,0x000C1BA7,0x000C1BA4, -0x86005DB0,0x87005E02,0x000C1BA1,0x000C1B9E,0x000C1B9B,0x000C1B98,0x000C1B95,0x80005E48,0x81005E49,0x82005E4A, -0x000C1B92,0x000C1B8F,0xA8005E4E,0xA9005E4F,0xAA005E50,0xAB005E51,0xAC005E52,0xAD005E56,0xAE005E57,0xAF005E70, -0xB0005E71,0xB1005E72,0xB2005E73,0xB3005E74,0xB4005E75,0xB5005E76,0xB6005E77,0xB7005E78,0xB8005E79,0xB9005E7A, -0xBA005E7B,0xBB005E7C,0xBC005E7D,0xBD005E7E,0xBE005E7F,0xBF005E80,0x000C1B8C,0x000C1B89,0x000C1B86,0x000C1B83, -0x000C1B80,0x000C1B7D,0x000C1B7A,0x000C1B77,0x000C1B74,0x000C1B71,0x000C1B6E,0x000C1B6B,0x000C1B68,0x000C1B65, -0x000C1B62,0x000C1B5F,0x000C1B5C,0xE1005D1B,0x80005E85,0x81005E86,0x82005E87,0x000C1B59,0x000C1B56,0x000C1B53, -0x000C1B50,0x86005DEC,0x87005E44,0x000C1B4D,0x000C1B4A,0x000C1B47,0x000C1B44,0x000C1B41,0x000C1B3E,0x000C1B3B, -0x000C1B38,0x000C1B35,0xA8005E8B,0xA9005E8C,0xAA005E8D,0xAB005E8E,0xAC005E8F,0xAD005E90,0xAE005E91,0xAF005E92, -0xB0005E93,0xB1005EAC,0xB2005EAD,0xB3005EAE,0xB4005EAF,0xB5005EB0,0xB6005EB1,0xB7005EB2,0xB8005EB3,0xB9005EB4, -0xBA005EB5,0xBB005EB6,0xBC005EB7,0xBD005EB8,0xBE005EB9,0xBF005EBA,0x000C1B32,0x000C1B2F,0x000C1B2C,0x000C1B29, -0x000C1B26,0x000C1B23,0x000C1B20,0x000C1B1D,0x000C1B1A,0x000C1B17,0x000C1B14,0x000C1B11,0x000C1B0E,0x000C1B0B, -0x000C1B08,0xE1005D55,0x000C1B05,0x000C1B02,0x000C1AFF,0x000C1AFC,0x000C1AF9,0x000C1AF6,0x000C1AF3,0x000C1AF0, -0x80005EBC,0x81005EBD,0x82005EBE,0x000C1AED,0x000C1AEA,0x000C1AE7,0x000C1AE4,0x000C1AE1,0x000C1ADE,0x000C1ADB, -0x000C1AD8,0x000C1AD5,0x000C1AD2,0x000C1ACF,0x86005E2C,0x87005E81,0xA8005EC0,0xA9005EC1,0xAA005EC2,0xAB005EC3, -0xAC005EC7,0xAD005EC8,0xAE005EC9,0xAF005ECA,0xB0005ECB,0xB1005ECC,0xB2005ECD,0xB3005ECE,0xB4005ECF,0xB5005ED0, -0xB6005ED1,0xB7005EEC,0xB8005EED,0xB9005EEE,0xBA005EEF,0xBB005EF0,0xBC005EF1,0xBD005EF3,0xBE005EF4,0xBF005EF5, -0x000C1ACC,0x000C1AC9,0x000C1AC6,0x000C1AC3,0x000C1AC0,0x000C1ABD,0xE1005D9A,0x000C1ABA,0x000C1AB7,0x000C1AB4, -0x000C1AB1,0x000C1AAE,0x000C1AAB,0x000C1AA8,0x000C1AA5,0x000C1AA2,0x000C1A9F,0x000C1A9C,0x000C1A99,0x000C1A96, -0x000C1A93,0x80005EF6,0x81005EF7,0x82005EF8,0x000C1A90,0x000C1A8D,0x000C1A8A,0x000C1A87,0x86005E62,0x87005EBB, -0xA8005EFA,0xA9005EFB,0xAA005EFC,0xAB005EFD,0xAC005EFE,0xAD005EFF,0xAE005F00,0xAF005F04,0xB0005F05,0xB1005F06, -0xB2005F07,0xB3005F22,0xB4005F23,0xB5005F24,0xB6005F25,0xB7005F26,0xB8005F27,0xB9005F28,0xBA005F29,0xBB005F2A, -0xBC005F2B,0xBD005F2D,0xBE005F2E,0xBF005F2F,0x000C1A84,0x000C1A81,0x000C1A7E,0x000C1A7B,0x000C1A78,0x000C1A75, -0x000C1A72,0x000C1A6F,0x000C1A6C,0x000C1A69,0xE1005DC6,0x000C1A66,0x000C1A63,0x000C1A60,0x000C1A5D,0x000C1A5A, -0x000C1A57,0x000C1A54,0x000C1A51,0x000C1A4E,0x000C1A4B,0x000C1A48,0x000C1A45,0x000C1A42,0x000C1A3F,0x80005F30, -0x81005F31,0x82005F32,0x000C1A3C,0x000C1A39,0x000C1A36,0x000C1A33,0x000C1A30,0x000C1A2D,0x000C1A2A,0x000C1A27, -0x000C1A24,0x000C1A21,0x000C1A1E,0x000C1A1B,0x86005EA4,0x87005EEA,0xA8005F34,0xA9005F35,0xAA005F36,0xAB005F37, -0xAC005F38,0xAD005F39,0xAE005F3A,0xAF005F3E,0xB0005F3F,0xB1005F40,0xB2005F41,0xB3005F42,0xB4005F43,0xB5005F44, -0xB6005F45,0xB7005F46,0xB8005F47,0xB9005F48,0xBA005F49,0xBB005F64,0xBC005F65,0xBD005F66,0xBE005F67,0xBF005F68, -0x000C1A18,0x000C1A15,0x000C1A12,0x000C1A0F,0x000C1A0C,0xE1005E03,0x80005F6D,0x81005F6E,0x82005F6F,0x000C1A09, -0x000C1A06,0x000C1A03,0x000C1A00,0x86005ED2,0x87005F2C,0x000C19FD,0x000C19FA,0x000C19F7,0x000C19F4,0x000C19F1, -0x000C19EE,0x000C19EB,0xA8005F73,0xA9005F74,0xAA005F75,0xAB005F76,0xAC005F77,0xAD005F78,0xAE005F79,0xAF005F92, -0xB0005F93,0xB1005F94,0xB2005F95,0xB3005F96,0xB4005F97,0xB5005F98,0xB6005F99,0xB7005F9A,0xB8005F9B,0xB9005F9C, -0xBA005F9D,0xBB005F9E,0xBC005F9F,0xBD005FA1,0xBE005FA2,0xBF005FA3,0x000C19E8,0x000C19E5,0x000C19E2,0x000C19DF, -0x000C19DC,0x000C19D9,0x000C19D6,0x000C19D3,0x000C19D0,0x000C19CD,0x000C19CA,0x000C19C7,0x000C19C4,0x000C19C1, -0xE1005E4C,0x000C19BE,0x000C19BB,0x000C19B8,0x000C19B5,0x000C19B2,0x000C19AF,0x000C19AC,0x000C19A9,0x000C19A6, -0x000C19A3,0x000C19A0,0x80005FA4,0x81005FA5,0x82005FA6,0x000C199D,0x000C199A,0x000C1997,0x000C1994,0x000C1991, -0x000C198E,0x000C198B,0x000C1988,0x000C1985,0x000C1982,0x000C197F,0x000C197C,0x000C1979,0x000C1976,0x000C1973, -0x000C1970,0x000C196D,0x000C196A,0x86005F3C,0x87005F4A,0x000C1967,0x000C1964,0x000C1961,0x000C195E,0x000C195B, -0x000C1958,0x000C1955,0x80005FC5,0x81005FC6,0x82005FC7,0x000C1952,0x000C194F,0x000C194C,0x000C1949,0x86005F54, -0x87005FA0,0x000C1946,0x000C1943,0x000C1940,0x000C193D,0x000C193A,0x000C1937,0x000C1934,0xE1005E82,0x000C1931, -0x000C192E,0x000C192B,0x000C1928,0x000C1925,0x000C1922,0x000C191F,0x000C191C,0x000C1919,0xA8005FA8,0xA9005FA9, -0xAA005FAA,0xAB005FAB,0xAC005FAF,0xAD005FB0,0xAE005FB1,0xAF005FB2,0xB0005FB3,0xB1005FB4,0xB2005FB5,0xB3005FB6, -0xB4005FB7,0xB5005FB8,0xB6005FB9,0xB7005FBA,0xB8005FBB,0xB9005FBC,0xBA005FBD,0xBB005FBE,0xBC005FBF,0xBD005FC0, -0xBE005FC3,0xBF005FC4,0xA8005FC9,0xA9005FCD,0xAA005FCE,0xAB005FCF,0xAC005FD0,0xAD005FD3,0xAE005FD4,0xAF005FD5, -0xB0005FD6,0xB1005FD7,0xB2005FD8,0xB3005FD9,0xB4005FDB,0xB5005FDC,0xB6005FDD,0xB7005FDE,0xB8005FDF,0xB9005FE0, -0xBA005FE1,0xBB005FE2,0xBC005FE3,0xBD006015,0xBE006016,0xBF006017,0xE1005EC4,0x000C1916,0x000C1913,0x000C1910, -0x000C190D,0x000C190A,0x000C1907,0x000C1904,0x000C1901,0x000C18FE,0x000C18FB,0x000C18F8,0x80006018,0x81006019, -0x8200601A,0x000C18F5,0x000C18F2,0x000C18EF,0x000C18EC,0x000C18E9,0x000C18E6,0x000C18E3,0x000C18E0,0x000C18DD, -0x000C18DA,0x000C18D7,0x000C18D4,0x000C18D1,0x000C18CE,0x000C18CB,0x86005F8C,0x87005FD2,0xA800601C,0xA900601D, -0xAA00601E,0xAB00601F,0xAC006023,0xAD006024,0xAE006025,0xAF006026,0xB0006027,0xB1006028,0xB2006029,0xB300602A, -0xB400602B,0xB500602C,0xB600602D,0xB700602E,0xB800602F,0xB9006030,0xBA006031,0xBB00604C,0xBC00604D,0xBD00604E, -0xBE00604F,0xBF006050,0x000C18C8,0x000C18C5,0x000C18C2,0x000C18BF,0x000C18BC,0xE1005EEB,0x80006055,0x81006056, -0x82006057,0x000C18B9,0x000C18B6,0x000C18B3,0x000C18B0,0x000C18AD,0x000C18AA,0x000C18A7,0x000C18A4,0x000C18A1, -0x000C189E,0x000C189B,0x86005FC1,0x8700600C,0x000C1898,0x000C1895,0x000C1892,0x000C188F,0x000C188C,0x000C1889, -0x000C1886,0xA8006059,0xA900605A,0xAA00605B,0xAB00605C,0xAC00605D,0xAD00605E,0xAE00605F,0xAF006062,0xB0006063, -0xB1006064,0xB2006065,0xB3006066,0xB4006067,0xB5006068,0xB6006081,0xB7006082,0xB8006083,0xB9006084,0xBA006085, -0xBB006086,0xBC006087,0xBD006089,0xBE00608A,0xBF00608B,0x000C1883,0x000C1880,0x000C187D,0x000C187A,0x000C1877, -0x000C1874,0x000C1871,0xE1005F3B,0x000C186E,0x000C186B,0x000C1868,0x8000608F,0x81006090,0x82006091,0x000C1865, -0x000C1862,0x000C185F,0x85006009,0x000C185C,0x86006020,0x87006045,0x000C1859,0x000C1856,0x000C1853,0x000C1850, -0x000C184D,0x000C184A,0x000C1847,0x000C1844,0x000C1841,0x000C183E,0x000C183B,0x000C1838,0x000C1835,0xE100600D, -0x000C1832,0x000C182F,0x000C182C,0x000C1829,0x000C1826,0xE1005F4B,0xA1006093,0xA20060E3,0xA3006105,0xA4006157, -0xA5006191,0xA60061C8,0xA70061ED,0xA800623F,0xA9006276,0xAA0062B0,0xAB0062EA,0xAC006327,0xAD006361,0xAE00639B, -0xAF0063D2,0xB000640C,0xB1006446,0xB2006480,0xB30064BA,0xB40064F7,0xB5006531,0x000C1823,0x000C1820,0x000C181D, -0x000C181A,0x000C1817,0x000C1814,0x800060E0,0x810060E1,0x820060E2,0xA8006096,0xA9006097,0xAA006098,0xAB006099, -0xAC00609A,0xAD00609B,0xAE00609C,0xAF00609D,0xB000609E,0xB100609F,0xB20060A0,0xB30060A1,0xB40060A2,0xB50060A4, -0xB60060A5,0xB70060A6,0xB80060A7,0xB90060A8,0xBA0060BF,0xBB0060C0,0xBC0060C1,0xBD0060C2,0xBE0060C3,0xBF0060C4, -0x000C1811,0x000C180E,0x000C180B,0x000C1808,0x000C1805,0x000C1802,0x86006061,0x8700607F,0x000C17FF,0x000C17FC, -0x000C17F9,0x000C17F6,0x000C17F3,0x000C17F0,0x000C17ED,0x000C17EA,0x000C17E7,0x000C17E4,0x000C17E1,0x000C17DE, -0x000C17DB,0x000C17D8,0x000C17D5,0x000C17D2,0x000C17CF,0x000C17CC,0x000C17C9,0x000C17C6,0xE1005FAC,0x000C17C3, -0x000C17C0,0x80006102,0x81006103,0x82006104,0x000C17BD,0x000C17BA,0x000C17B7,0x000C17B4,0x86006079,0x870060D1, -0x000C17B1,0xA80060E4,0xA90060E5,0xAA0060E8,0xAB0060E9,0xAC0060EA,0xAD0060EB,0xAE0060EC,0xAF0060ED,0xB00060EE, -0xB10060EF,0xB20060F0,0xB30060F1,0xB40060F2,0xB50060F3,0xB60060F4,0xB70060F5,0xB80060F6,0xB90060F7,0xBA0060F8, -0xBB0060F9,0xBC0060FA,0xBD0060FB,0xBE0060FD,0xBF0060FE,0xA8006108,0xA900613A,0xAA00613B,0xAB00613C,0xAC00613D, -0xAD00613E,0xAE00613F,0xAF006140,0xB0006141,0xB1006142,0xB2006143,0xB3006144,0xB4006145,0xB5006146,0xB6006147, -0xB7006148,0xB8006149,0xB900614A,0xBA00614B,0xBB00614C,0xBC00614D,0xBD00614E,0xBE00614F,0xBF006150,0xE1005FDA, -0x000C17AE,0x000C17AB,0x000C17A8,0x000C17A5,0x000C17A2,0x000C179F,0x000C179C,0x000C1799,0x000C1796,0x000C1793, -0x000C1790,0x000C178D,0x000C178A,0x000C1787,0x000C1784,0x000C1781,0x000C177E,0x000C177B,0x000C1778,0x000C1775, -0x000C1772,0x000C176F,0x000C176C,0x80006154,0x81006155,0x82006156,0x000C1769,0x000C1766,0x000C1763,0x000C1760, -0x860060B2,0x8700610B,0xA8006172,0xA9006173,0xAA006175,0xAB006176,0xAC006177,0xAD006178,0xAE006179,0xAF00617A, -0xB000617B,0xB100617C,0xB200617D,0xB300617E,0xB400617F,0xB5006180,0xB6006181,0xB7006182,0xB8006183,0xB9006184, -0xBA006185,0xBB006186,0xBC006187,0xBD006188,0xBE006189,0xBF00618A,0x000C175D,0x000C175A,0xE100600E,0x000C1757, -0x000C1754,0x000C1751,0x000C174E,0x000C174B,0x000C1748,0x000C1745,0x000C1742,0x000C173F,0x000C173C,0x000C1739, -0x000C1736,0x000C1733,0x000C1730,0x000C172D,0x000C172A,0x000C1727,0x000C1724,0x000C1721,0x000C171E,0x000C171B, -0x000C1718,0x8000618E,0x8100618F,0x82006190,0x000C1715,0x000C1712,0x000C170F,0x000C170C,0x860060FC,0x87006151, -0x000C1709,0x000C1706,0x000C1703,0x000C1700,0x000C16FD,0x000C16FA,0x000C16F7,0x000C16F4,0x000C16F1,0x000C16EE, -0x000C16EB,0x000C16E8,0x000C16E5,0x000C16E2,0x000C16DF,0x000C16DC,0xA8006194,0xA9006195,0xAA006196,0xAB006197, -0xAC006198,0xAD006199,0xAE00619A,0xAF00619B,0xB000619C,0xB100619D,0xB200619E,0xB300619F,0xB40061A0,0xB50061A1, -0xB60061A2,0xB70061A3,0xB80061BC,0xB90061BD,0xBA0061BE,0xBB0061BF,0xBC0061C0,0xBD0061C1,0xBE0061C2,0xBF0061C3, -0x000C16D9,0x000C16D6,0x000C16D3,0x000C16D0,0x000C16CD,0x000C16CA,0x000C16C7,0x000C16C4,0xE1006060,0x000C16C1, -0x000C16BE,0x000C16BB,0x000C16B8,0x000C16B5,0x000C16B2,0x000C16AF,0x000C16AC,0x000C16A9,0x000C16A6,0x000C16A3, -0x000C16A0,0x800061C5,0x810061C6,0x820061C7,0x000C169D,0x000C169A,0x000C1697,0x000C1694,0x86006153,0x87006167, -0x000C1691,0x000C168E,0x000C168B,0x000C1688,0x000C1685,0x000C1682,0x000C167F,0x000C167C,0x000C1679,0x000C1676, -0x000C1673,0x000C1670,0xE1006080,0x800061EA,0x810061EB,0x820061EC,0x000C166D,0x000C166A,0x000C1667,0x000C1664, -0x8600616B,0x870061B9,0x000C1661,0x000C165E,0x000C165B,0x000C1658,0x000C1655,0x000C1652,0x000C164F,0x000C164C, -0x000C1649,0x000C1646,0x000C1643,0xA80061C9,0xA90061CA,0xAA0061CB,0xAB0061CC,0xAC0061CD,0xAD0061CE,0xAE0061CF, -0xAF0061D0,0xB00061D4,0xB10061D5,0xB20061D6,0xB30061D7,0xB40061DA,0xB50061DB,0xB60061DC,0xB70061DD,0xB80061DE, -0xB90061DF,0xBA0061E0,0xBB0061E1,0xBC0061E2,0xBD0061E3,0xBE0061E4,0xBF0061E5,0xA80061F0,0xA90061F1,0xAA0061F2, -0xAB0061F3,0xAC0061F4,0xAD0061F5,0xAE0061F6,0xAF0061F7,0xB00061F8,0xB10061F9,0xB20061FA,0xB300622B,0xB400622C, -0xB500622D,0xB600622E,0xB700622F,0xB8006230,0xB9006231,0xBA006232,0xBB006233,0xBC006234,0xBD006235,0xBE006236, -0xBF006237,0x000C1640,0x000C163D,0x000C163A,0x000C1637,0x000C1634,0x000C1631,0x000C162E,0x000C162B,0x000C1628, -0x000C1625,0x000C1622,0x000C161F,0x000C161C,0xE10060D2,0x8000623C,0x8100623D,0x8200623E,0x000C1619,0x000C1616, -0x000C1613,0x000C1610,0x860061A4,0x870061FB,0x000C160D,0x000C160A,0x000C1607,0x000C1604,0x000C1601,0x000C15FE, -0x000C15FB,0x000C15F8,0x000C15F5,0x000C15F2,0xA8006242,0xA9006243,0xAA006244,0xAB006245,0xAC006246,0xAD006247, -0xAE006248,0xAF006249,0xB000624A,0xB100624B,0xB2006264,0xB3006265,0xB4006266,0xB5006267,0xB6006268,0xB7006269, -0xB800626A,0xB900626B,0xBA00626C,0xBB00626D,0xBC00626E,0xBD00626F,0xBE006270,0xBF006271,0x000C15EF,0x000C15EC, -0x000C15E9,0x000C15E6,0x000C15E3,0x000C15E0,0x000C15DD,0x000C15DA,0x000C15D7,0x000C15D4,0x000C15D1,0x000C15CE, -0x000C15CB,0x000C15C8,0xE100610C,0x000C15C5,0x000C15C2,0x000C15BF,0x000C15BC,0x000C15B9,0x000C15B6,0x000C15B3, -0x000C15B0,0x80006273,0x81006274,0x82006275,0x000C15AD,0x000C15AA,0x000C15A7,0x000C15A4,0x860061E6,0x87006238, -0x000C15A1,0x000C159E,0x000C159B,0x000C1598,0x000C1595,0x000C1592,0x000C158F,0x000C158C,0x000C1589,0x000C1586, -0xA8006277,0xA9006278,0xAA006279,0xAB00627A,0xAC00627E,0xAD00627F,0xAE006280,0xAF006281,0xB0006284,0xB1006285, -0xB2006286,0xB3006287,0xB4006288,0xB5006289,0xB600628A,0xB700628B,0xB800628C,0xB900628D,0xBA0062A6,0xBB0062A7, -0xBC0062A8,0xBD0062AA,0xBE0062AB,0xBF0062AC,0x000C1583,0x000C1580,0x000C157D,0xE1006152,0x000C157A,0x000C1577, -0x000C1574,0x000C1571,0x000C156E,0x000C156B,0x000C1568,0x000C1565,0x000C1562,0x000C155F,0x000C155C,0x000C1559, -0x000C1556,0x000C1553,0x800062AD,0x810062AE,0x820062AF,0x000C1550,0x000C154D,0x000C154A,0x000C1547,0x86006227, -0x87006272,0x000C1544,0x000C1541,0x000C153E,0x000C153B,0x000C1538,0x000C1535,0x000C1532,0x000C152F,0x000C152C, -0x000C1529,0x000C1526,0x000C1523,0x000C1520,0xE1006168,0xA80062B1,0xA90062B2,0xAA0062B3,0xAB0062B4,0xAC0062B5, -0xAD0062B6,0xAE0062B7,0xAF0062BB,0xB00062BC,0xB10062BD,0xB20062BE,0xB30062C1,0xB40062C2,0xB50062C3,0xB60062C4, -0xB70062C5,0xB80062C6,0xB90062C7,0xBA0062C8,0xBB0062C9,0xBC0062CA,0xBD0062CB,0xBE0062CC,0xBF0062CD,0x000C151D, -0x000C151A,0x000C1517,0x000C1514,0x000C1511,0x000C150E,0x000C150B,0x000C1508,0x000C1505,0x000C1502,0x000C14FF, -0x800062E7,0x810062E8,0x820062E9,0x000C14FC,0x000C14F9,0x000C14F6,0x000C14F3,0x000C14F0,0x000C14ED,0x000C14EA, -0x000C14E7,0x000C14E4,0x000C14E1,0x000C14DE,0x000C14DB,0x8600625B,0x870062A1,0xA80062EB,0xA90062EC,0xAA0062ED, -0xAB0062EE,0xAC0062EF,0xAD0062F0,0xAE0062F1,0xAF0062F5,0xB00062F6,0xB10062F7,0xB20062F8,0xB30062F9,0xB40062FA, -0xB50062FB,0xB60062FC,0xB70062FD,0xB80062FE,0xB90062FF,0xBA006300,0xBB00631B,0xBC00631C,0xBD00631D,0xBE00631E, -0xBF00631F,0x000C14D8,0x000C14D5,0x000C14D2,0x000C14CF,0x000C14CC,0xE10061BA,0x80006324,0x81006325,0x82006326, -0x000C14C9,0x000C14C6,0x000C14C3,0x000C14C0,0x86006282,0x870062DB,0xA8006342,0xA9006343,0xAA006344,0xAB006345, -0xAC006346,0xAD006347,0xAE006348,0xAF006349,0xB000634A,0xB100634B,0xB200634C,0xB300634D,0xB400634E,0xB500634F, -0xB6006350,0xB7006351,0xB8006352,0xB9006353,0xBA006354,0xBB006355,0xBC006356,0xBD006358,0xBE006359,0xBF00635A, -0x000C14BD,0x000C14BA,0x000C14B7,0x000C14B4,0x000C14B1,0x000C14AE,0x000C14AB,0x000C14A8,0x000C14A5,0x000C14A2, -0x000C149F,0x000C149C,0x000C1499,0x000C1496,0x000C1493,0x000C1490,0x000C148D,0x000C148A,0x000C1487,0x000C1484, -0x000C1481,0xE10061FC,0x000C147E,0x000C147B,0x000C1478,0x8000635E,0x8100635F,0x82006360,0x000C1475,0x000C1472, -0x000C146F,0x000C146C,0x860062BF,0x87006315,0x000C1469,0x000C1466,0x000C1463,0xA8006364,0xA9006365,0xAA006366, -0xAB00637F,0xAC006380,0xAD006381,0xAE006382,0xAF006383,0xB0006384,0xB1006385,0xB2006386,0xB3006387,0xB4006388, -0xB5006389,0xB600638A,0xB700638B,0xB800638C,0xB900638D,0xBA00638E,0xBB00638F,0xBC006390,0xBD006392,0xBE006393, -0xBF006394,0x000C1460,0x000C145D,0x000C145A,0x000C1457,0x000C1454,0x000C1451,0x000C144E,0x000C144B,0x000C1448, -0x000C1445,0x000C1442,0x000C143F,0x000C143C,0x000C1439,0x000C1436,0x000C1433,0x000C1430,0x000C142D,0xE1006239, -0x000C142A,0x000C1427,0x000C1424,0x80006398,0x81006399,0x8200639A,0x000C1421,0x000C141E,0x000C141B,0x000C1418, -0x86006301,0x87006357,0x000C1415,0x000C1412,0x000C140F,0x000C140C,0x000C1409,0x000C1406,0x000C1403,0x000C1400, -0x000C13FD,0x000C13FA,0x000C13F7,0xA800639E,0xA900639F,0xAA0063A0,0xAB0063A1,0xAC0063A2,0xAD0063A3,0xAE0063A4, -0xAF0063A5,0xB00063A6,0xB10063A7,0xB20063A8,0xB30063C1,0xB40063C2,0xB50063C3,0xB60063C4,0xB70063C5,0xB80063C6, -0xB90063C7,0xBA0063C8,0xBB0063C9,0xBC0063CA,0xBD0063CC,0xBE0063CD,0xBF0063CE,0x000C13F4,0x000C13F1,0x000C13EE, -0x000C13EB,0x000C13E8,0x000C13E5,0x000C13E2,0x000C13DF,0x000C13DC,0x000C13D9,0xE100627B,0x000C13D6,0x000C13D3, -0x000C13D0,0x000C13CD,0x000C13CA,0x000C13C7,0x000C13C4,0x000C13C1,0x000C13BE,0x000C13BB,0x000C13B8,0x800063CF, -0x810063D0,0x820063D1,0x000C13B5,0x000C13B2,0x000C13AF,0x000C13AC,0x000C13A9,0x000C13A6,0x000C13A3,0x8600633B, -0x87006391,0xA80063D3,0xA90063D4,0xAA0063D5,0xAB0063D6,0xAC0063DA,0xAD0063DB,0xAE0063DC,0xAF0063DD,0xB00063DE, -0xB10063DF,0xB20063E0,0xB30063FB,0xB40063FC,0xB50063FD,0xB60063FE,0xB70063FF,0xB8006400,0xB9006401,0xBA006402, -0xBB006403,0xBC006404,0xBD006405,0xBE006406,0xBF006407,0x000C13A0,0x000C139D,0x000C139A,0x000C1397,0x000C1394, -0x000C1391,0x000C138E,0x000C138B,0x000C1388,0x000C1385,0x000C1382,0x000C137F,0x000C137C,0xE10062A2,0x000C1379, -0x000C1376,0x000C1373,0x000C1370,0x000C136D,0x000C136A,0x000C1367,0x000C1364,0x80006409,0x8100640A,0x8200640B, -0x000C1361,0x000C135E,0x000C135B,0x000C1358,0x000C1355,0x000C1352,0x000C134F,0x86006375,0x870063CB,0xA800640D, -0xA900640E,0xAA00640F,0xAB006410,0xAC006414,0xAD006415,0xAE006416,0xAF006417,0xB0006418,0xB1006419,0xB200641A, -0xB3006435,0xB4006436,0xB5006437,0xB6006438,0xB7006439,0xB800643A,0xB900643B,0xBA00643C,0xBB00643D,0xBC00643E, -0xBD00643F,0xBE006440,0xBF006441,0x000C134C,0x000C1349,0x000C1346,0x000C1343,0x000C1340,0x000C133D,0x000C133A, -0x000C1337,0x000C1334,0x000C1331,0x000C132E,0x000C132B,0x000C1328,0xE10062DC,0x000C1325,0x000C1322,0x000C131F, -0x000C131C,0x000C1319,0x000C1316,0x000C1313,0x000C1310,0x80006443,0x81006444,0x82006445,0x000C130D,0x000C130A, -0x000C1307,0x000C1304,0x000C1301,0x000C12FE,0x000C12FB,0x000C12F8,0x000C12F5,0x000C12F2,0x000C12EF,0x000C12EC, -0x000C12E9,0x000C12E6,0x000C12E3,0x860063B7,0x87006408,0xA8006447,0xA9006448,0xAA006449,0xAB00644A,0xAC00644E, -0xAD00644F,0xAE006450,0xAF006451,0xB0006452,0xB1006453,0xB2006454,0xB3006455,0xB4006456,0xB5006457,0xB6006458, -0xB7006459,0xB800645A,0xB900645B,0xBA00645C,0xBB006477,0xBC006478,0xBD006479,0xBE00647A,0xBF00647B,0x000C12E0, -0x000C12DD,0x000C12DA,0x000C12D7,0x000C12D4,0xE1006316,0x000C12D1,0x000C12CE,0x000C12CB,0x000C12C8,0x000C12C5, -0x000C12C2,0x000C12BF,0x000C12BC,0x000C12B9,0x000C12B6,0x000C12B3,0x8000647D,0x8100647E,0x8200647F,0x000C12B0, -0x000C12AD,0x000C12AA,0x000C12A7,0x000C12A4,0x000C12A1,0x000C129E,0x000C129B,0x000C1298,0x000C1295,0x000C1292, -0x000C128F,0x860063F1,0x87006442,0xA8006481,0xA9006482,0xAA006483,0xAB006484,0xAC006485,0xAD006486,0xAE006487, -0xAF00648B,0xB000648C,0xB100648D,0xB200648E,0xB300648F,0xB4006490,0xB5006491,0xB6006492,0xB7006493,0xB8006494, -0xB9006495,0xBA006496,0xBB0064B1,0xBC0064B2,0xBD0064B4,0xBE0064B5,0xBF0064B6,0x000C128C,0x000C1289,0xE100635B, -0x000C1286,0x000C1283,0x000C1280,0x000C127D,0x000C127A,0x000C1277,0x000C1274,0x000C1271,0x000C126E,0x000C126B, -0x000C1268,0x000C1265,0x000C1262,0x000C125F,0x800064B7,0x810064B8,0x820064B9,0x000C125C,0x000C1259,0x000C1256, -0x000C1253,0x000C1250,0x000C124D,0x000C124A,0x000C1247,0x000C1244,0x000C1241,0x000C123E,0x000C123B,0x8600642B, -0x87006471,0xA80064BB,0xA90064BC,0xAA0064BD,0xAB0064BE,0xAC0064BF,0xAD0064C0,0xAE0064C1,0xAF0064C5,0xB00064C6, -0xB10064C7,0xB20064C8,0xB30064C9,0xB40064CA,0xB50064CB,0xB60064CC,0xB70064CD,0xB80064CE,0xB90064CF,0xBA0064D0, -0xBB0064EB,0xBC0064EC,0xBD0064EE,0xBE0064EF,0xBF0064F0,0x000C1238,0x000C1235,0xE1006395,0x000C1232,0x000C122F, -0x000C122C,0x800064F4,0x810064F5,0x820064F6,0x000C1229,0x000C1226,0x000C1223,0x000C1220,0x8600645D,0x870064AB, -0x000C121D,0x000C121A,0x000C1217,0x000C1214,0x000C1211,0x000C120E,0x000C120B,0x000C1208,0x000C1205,0x000C1202, -0x000C11FF,0xA80064FA,0xA90064FB,0xAA0064FC,0xAB0064FD,0xAC0064FE,0xAD0064FF,0xAE006500,0xAF006501,0xB0006502, -0xB1006503,0xB2006504,0xB300651D,0xB400651E,0xB500651F,0xB6006520,0xB7006521,0xB8006522,0xB9006523,0xBA006524, -0xBB006525,0xBC006526,0xBD006528,0xBE006529,0xBF00652A,0x000C11FC,0x000C11F9,0x000C11F6,0x000C11F3,0x000C11F0, -0x000C11ED,0x000C11EA,0x000C11E7,0x000C11E4,0x000C11E1,0xE10063D7,0x000C11DE,0x000C11DB,0x000C11D8,0x8000652E, -0x8100652F,0x82006530,0x000C11D5,0x000C11D2,0x000C11CF,0x000C11CC,0x86006497,0x870064E5,0x000C11C9,0x000C11C6, -0x000C11C3,0x000C11C0,0x000C11BD,0x000C11BA,0x000C11B7,0x000C11B4,0x000C11B1,0x000C11AE,0x000C11AB,0xA8006534, -0xA9006535,0xAA006536,0xAB006537,0xAC006538,0xAD006539,0xAE00653A,0xAF00653B,0xB000653C,0xB100653D,0xB200653E, -0xB3006557,0xB4006558,0xB5006559,0xB600655A,0xB700655B,0xB800655C,0xB900655D,0xBA00655E,0xBB00655F,0xBC006560, -0xBD006562,0xBE006563,0xBF006564,0x000C11A8,0x000C11A5,0x000C11A2,0x000C119F,0x000C119C,0x000C1199,0x000C1196, -0x000C1193,0x000C1190,0x000C118D,0xE1006411,0x000C118A,0x000C1187,0x000C1184,0x80006568,0x81006569,0x8200656A, -0x000C1181,0x000C117E,0x000C117B,0x85006498,0x000C1178,0x87006499,0xAC0064C3,0x8900649A,0xAC0064D1,0x8B00649B, -0x000C1175,0x8D00649C,0x000C1172,0x000C116F,0x000C116C,0x9100649E,0xB500656C,0xE10064C2,0xE10064C4,0xE10064D2, -0xE10064D4,0xE10064D6,0xAC0064D3,0xE10064D8,0xAC0064D5,0x000C1169,0xAC0064D7,0xE10064DB,0xAC0064D9,0x000C1166, -0xB5006572,0xAC0064DA,0xB5006574,0xE10064DF,0xB5006575,0xAC0064DC,0xB5006576,0x000C1163,0xB5006581,0xB5006585, -0xE10064E7,0xB500658D,0xB5006594,0xAC0064DD,0x000C1160,0xAC0064E1,0xB5006597,0x000C115D,0x820064E0,0xAC0064E8, -0x000C115A,0xE100644B,0x000C1157,0xB500659A,0x000C1154,0x000C1151,0xBA0064A2,0xBF0064E3,0xBC0064A8,0x000C114E, -0xBE0064AF,0xBF0064DE,0x000C114B,0x8000659C,0x8100659E,0x000C1148,0x000C1145,0x000C1142,0x000C113F,0x8200659F, -0x820065A9,0xCC006527,0xCD00652B,0xBE0064EA,0x800065A3,0x810065A6,0x000C113C,0x000C1139,0xCC006532,0xCD00652C, -0x000C1136,0x8600653F,0x87006540,0x88006553,0x89006565,0x8A0065BE,0xCC006508,0xE10064E9,0xB80065AA,0xE10064ED, -0xB80065AB,0xB80065AC,0xCC00650A,0xCC00650B,0xB80065B4,0xB80065B5,0x000C1133,0xB80065B8,0xB80065C8,0x000C1130, -0x000C112D,0xB80065CB,0x000C112A,0x900064F2,0x90006509,0x920064F8,0x9200650D,0x940064F9,0x94006510,0xCC00650E, -0x83006513,0x000C1127,0xE1006472,0xCC00650F,0x000C1124,0x88006514,0xCC006511,0x000C1121,0x8B006517,0xCC006512, -0xCC006515,0x000C111E,0x000C111B,0xCC00652D,0xCC006541,0xB80065CC,0xCC006542,0xCC006543,0x83006544,0x000C1118, -0x85006547,0x000C1115,0x000C1112,0x88006548,0x000C110F,0x000C110C,0x000C1109,0x000C1106,0x8D00654A,0x000C1103, -0x000C1100,0x000C10FD,0xA3006518,0x000C10FA,0xA500651A,0xB80065CE,0xB80065D7,0xB80065DA,0x000C10F7,0xB80065DD, -0xB80065E1,0x000C10F4,0x000C10F1,0xB80065E2,0x000C10EE,0xB80065E9,0xB80065EB,0x000C10EB,0xA100654D,0xB80065EC, -0xB80065EE,0xA400654E,0xA5006551,0x000C10E8,0xB80065EF,0xB80065F0,0xB80065F1,0xBC00651B,0xCC006545,0x000C10E5, -0xE10064AC,0xCC006546,0xCC006549,0x000C10E2,0xCC00654B,0xB2006552,0xB3006561,0xCC00654C,0xCC00654F,0xB6006566, -0xB7006567,0xCC006550,0xCC006554,0xBA00656D,0xBB00656F,0xBC006571,0xBD006577,0xB80065F3,0x000C10DF,0x000C10DC, -0xB80065F4,0x000C10D9,0xB80065F5,0x000C10D6,0x000C10D3,0xB80065F7,0x000C10D0,0xCC006555,0x000C10CD,0x820065A5, -0xB80065FC,0xB80065FF,0xCC006556,0xCC00656B,0xB8006600,0x000C10CA,0xB8006602,0x000C10C7,0xB8006605,0xCC00656E, -0x000C10C4,0xCC006570,0xB800660B,0xCC006573,0x99006635,0xB8006611,0x8200657A,0x8300657B,0xB8006615,0xCC006578, -0x8600657D,0x8700657F,0xCC006579,0xCC00657C,0xB8006624,0xCC00657E,0xB8006625,0xCC006580,0x820065BD,0xB8006627, -0xCC006584,0x91006582,0x92006586,0xB8006629,0xCC006587,0xB800662A,0xCC00658A,0xCC006590,0x99006637,0xCC006592, -0xCC006595,0xB800662C,0xCC006599,0xCC00659B,0xB800662E,0xCC0065A1,0x820065CF,0xCC0065A4,0xA2006588,0x810065F2, -0x82006639,0x83006695,0x000C10C1,0x820065D1,0xA8006589,0xA900658B,0x9900663A,0xAB00658C,0x99006664,0x9900666D, -0x820065D2,0x000C10BE,0x99006674,0x820065D5,0xB200658E,0xB300658F,0xB4006591,0xB5006593,0x000C10BB,0x000C10B8, -0x000C10B5,0x99006675,0x86006596,0xE30065AD,0x820065DE,0xE30065CA,0x820065E5,0x8B006598,0x99006676,0x8D00659D, -0xE30065DC,0x8F0065A7,0x000C10B2,0x910065AF,0x000C10AF,0x930065B1,0x820065FE,0x950065B2,0x82006607,0x970065B6, -0xE30065E3,0x990065B9,0x82006609,0x9B0065BA,0x000C10AC,0x9D0065BB,0x8200660C,0x9F0065BC,0xE30065EA,0xA10065C0, -0xE30065ED,0xE30065F8,0xA40065C9,0x99006682,0xA60065CD,0xE30065FA,0xA80065D3,0x000C10A9,0xE3006604,0xE3006606, -0xE300660A,0xE300660E,0x99006684,0xAF0065D6,0x9900668E,0xE3006626,0xB20065DB,0x9900669B,0x990066A9,0xB50065E4, -0x8200660D,0x000C10A6,0xB80065E8,0x990066AE,0xE300662D,0xBB0065F6,0x000C10A3,0x82006612,0xE300662F,0x82006619, -0x990066B3,0x000C10A0,0x8200661C,0x990066B7,0xE3006632,0x000C109D,0x82006621,0xE3006636,0x990066BC,0x9A0066BD, -0x000C109A,0x000C1097,0xE300663D,0x82006628,0x000C1094,0x990066C0,0x9A0066C3,0x000C1091,0x82006630,0x000C108E, -0x000C108B,0xE3006642,0x82006633,0x990066C5,0x9A0066C6,0xE3006646,0x990066CE,0x9A0066CF,0x000C1088,0x000C1085, -0x82006638,0x990066D3,0x9A0066D4,0x000C1082,0x000C107F,0x8200663E,0x9D0065F9,0x990066D8,0x000C107C,0xE300664E, -0x82006644,0x000C1079,0xE3006653,0x990066DB,0xE3006658,0xA60065FB,0xE300665F,0x82006649,0x990066E3,0x000C1076, -0xAB0065FD,0x82006650,0xAD006608,0x000C1073,0xAF006610,0x990066E7,0xB1006614,0xE3006663,0xB3006618,0x82006656, -0xB500661D,0x990066F1,0xB7006620,0x000C1070,0xB9006623,0xE300666B,0xBB00662B,0x82006660,0xBD006631,0xE3006673, -0xBF006634,0x990066FA,0x000C106D,0xE300667A,0x82006665,0x000C106A,0x990066FD,0x82006668,0xE300667D,0x99006702, -0x000C1067,0xE3006683,0x000C1064,0x8200666E,0xE3006686,0x99006704,0x82006670,0x9900670A,0x000C1061,0x82006677, -0x000C105E,0x82006678,0xE3006689,0x000C105B,0x9900670C,0x9900670F,0x8200667C,0x000C1058,0xE300668B,0x99006713, -0x8100663B,0xE3006690,0x82006681,0x8400663C,0x9900671C,0x86006640,0x000C1055,0x88006648,0xE3006696,0xE300669E, -0x82006688,0x99006722,0x000C1052,0xE30066A3,0x8F00664C,0x8200668D,0x99006728,0x92006654,0x000C104F,0x82006693, -0x95006659,0xE30066A7,0x9900672E,0x98006666,0x000C104C,0xE30066AF,0x9B006669,0x82006699,0x99006734,0x9A006735, -0x000C1049,0x000C1046,0x8200669F,0xE30066B4,0x9900673A,0x9A00673B,0x000C1043,0x000C1040,0xE30066BB,0x820066A5, -0x99006740,0x9A006741,0x000C103D,0x000C103A,0x000C1037,0x820066B1,0xAF006671,0xB0006679,0xB100667B,0xB200667E, -0x000C1034,0xE30066C1,0x99006742,0x9A006748,0xE30066CB,0x820066B5,0x99006750,0x9A006751,0x000C1031,0x000C102E, -0xBD006680,0x820066BE,0xE30066D1,0x000C102B,0x000C1028,0x99006755,0x820066C2,0x820066C4,0x000C1025,0x99006756, -0xE30066D6,0x9900675A,0xE30066D7,0x820066C7,0x99006762,0xE30066DD,0x000C1022,0xE30066E2,0x820066CC,0x99006766, -0x000C101F,0x820066D5,0x820066B2,0x840066CD,0x910066E5,0x910066E6,0xBA00676D,0x0010101B,0x9900667F,0xF00066DA, -0x9B006685,0x910066F2,0x8D006706,0xBA006776,0x820066B9,0xF00066E0,0x00101017,0x920066DC,0x820066C8,0x910066F6, -0xA500668C,0x960066E4,0xF00066E8,0x00101013,0xB1006691,0xB2006697,0x910066FF,0xF00066EF,0xBA00677D,0x840066DE, -0x0010100F,0xA7006784,0x91006705,0xF00066F5,0xA700678A,0x840066E1,0x0010100B,0x00101007,0xF00066FE,0x8700669C, -0xBE00678B,0x91006707,0x97006791,0x00101003,0xF0006708,0x8C0066D0,0x8D0066F9,0xB90066A2,0x00100FFF,0x00100FFB, -0x00100FF7,0x91006709,0xB0006796,0x920066EA,0xB80066B0,0xB90066B6,0x9100670B,0xAF0067A2,0xF000670D,0x960066F0, -0x00100FF3,0x91006714,0xBA006797,0x00100FEF,0xF0006712,0xBD006798,0x000CA9B7,0x000CA9B4,0x960066FC,0xAF0067A5, -0xC300675B,0xC40067AC,0xC5006817,0xC6006865,0xC700689A,0xC8006905,0x000E2F42,0x000CA9B1,0x000E3064,0x000E3046, -0xCD00693A,0xCE006945,0xCF006955,0xD0006985,0xD1006986,0x000E3000,0xD30069AF,0x000CA9AE,0x000CA9AB,0x000E2EDE, -0x000CA9A8,0xD80069CA,0x000CA9A5,0x000CA9A2,0xDB0069E9,0x000CA99F,0x000E2FD8,0x000CA99C,0x000CA999,0xE00069D1, -0xE1006A6B,0xE2006E58,0xE3006EA6,0x000CA996,0x000E2EAC,0x000E2FBA,0x000E303C,0x000CA993,0x000CA990,0xEA006F28, -0xEB007737,0xEC0097B7,0xED00B7B8,0x000CA98D,0xEF00C6FB,0xF000CAD1,0x000E306E,0x800067A8,0x810067A9,0x820067B2, -0x830067B3,0x840067B4,0x850067B5,0x000CA98A,0x870067BB,0x880067BD,0x890067BE,0x8A0067BF,0x8B0067C0,0x8C0067C2, -0x8D0067C3,0x8E0067C5,0x8F0067C6,0x000CA987,0x910067C7,0x920067C8,0x930067CD,0x940067CE,0x950067CF,0x960067D0, -0x000CA984,0x000E2F3D,0x990067D1,0x9A0067D2,0x9B0067D7,0x9C0067DA,0x9D0067E1,0x000CA981,0x000E305F,0xA00067EB, -0xA10067F2,0xA20067F3,0xA30067F9,0xA40067FA,0xA5006801,0x000E3041,0xA700680B,0xA8006812,0xA9006813,0xAA006819, -0xAB00681B,0xAC00681C,0xAD00681D,0xAE00681E,0xAF00681F,0x000E2FFB,0xB1006820,0xB2006821,0xB3006822,0xB4006823, -0xB5006824,0xB6006825,0x000CA97E,0x000CA97B,0xB9006826,0xBA006827,0xBB006828,0xBC006829,0xBD00682A,0x000E2ED9, -0xBF00682B,0x000CA978,0x000CA975,0x000CA972,0x000CA96F,0x000E2FD3,0x000CA96C,0x000CA969,0x000CA966,0x000E2EA7, -0x000E2FB5,0x000E3037,0x000CA963,0x000CA960,0x000CA95D,0x000E3069,0x000CA95A,0x000CA957,0x8000683C,0x8100683D, -0x82006852,0x83006853,0x8400685D,0x8500685E,0x8600685F,0x87006864,0x8800686B,0x8900686C,0x8A00686D,0x8B00686E, -0x8C00686F,0x8D006870,0x8E006871,0x8F006872,0x000CA954,0x000CA951,0x92006873,0x93006874,0x94006875,0x95006876, -0x96006877,0x97006878,0x98006879,0x9900687A,0x9A00687B,0x9B00687C,0x9C00687D,0x9D00687E,0x9E00687F,0x9F006880, -0xA0006881,0xA1006882,0xA2006883,0xA3006884,0xA4006885,0xA5006886,0x000E2F10,0x000E2F0B,0xA8006887,0xA9006888, -0xAA006889,0xAB00688A,0xAC00688B,0xAD00688C,0xAE00688D,0xAF00688E,0xB000688F,0x000CA94E,0x000CA94B,0x000CA948, -0xB4006890,0xB5006891,0xB6006892,0xB7006893,0x000CA945,0xB9006894,0xBA006895,0xBB006896,0xBC006897,0xBD006898, -0xBE006899,0x000CA942,0x000CA93F,0x000CA93C,0x000CA939,0x000CA936,0x000CA933,0x000CA930,0x000CA92D,0x000E2FEC, -0x000E2FE7,0x000CA92A,0x000CA927,0x000CA924,0x000CA921,0x000CA91E,0x000CA91B,0x000CA918,0x000CA915,0x000CA912, -0x000CA90F,0x000CA90C,0x000CA909,0x000CA906,0x000CA903,0x000CA900,0x000CA8FD,0x000CA8FA,0x000CA8F7,0x000CA8F4, -0x000CA8F1,0x000CA8EE,0x000CA8EB,0x000CA8E8,0x000CA8E5,0x000CA8E2,0x000CA8DF,0x000CA8DC,0x000CA8D9,0x000CA8D6, -0x000CA8D3,0x000CA8D0,0x000CA8CD,0x000CA8CA,0x000CA8C7,0x000CA8C4,0x000CA8C1,0x000CA8BE,0x830068A0,0x840068A1, -0x850068A2,0x860068A9,0x870068AA,0x880068BD,0x000CA8BB,0x000CA8B8,0x000CA8B5,0x8C0068BE,0x8D0068D6,0x8E0068D7, -0x8F0068D8,0x900068D9,0x910068DA,0x000CA8B2,0x000CA8AF,0x940068DB,0x950068DC,0x960068DD,0x970068DE,0x980068DF, -0x990068E0,0x9A0068E1,0x9B0068E2,0x9C0068E3,0x9D0068E4,0x9E0068E5,0x9F0068E6,0xA00068E7,0xA10068E8,0xA20068E9, -0xA30068EA,0xA40068EB,0xA50068EC,0x000CA8AC,0x000E2FA6,0xA80068ED,0xA90068EE,0xAA0068EF,0xAB0068F0,0xAC0068F1, -0xAD0068F2,0xAE0068F3,0xAF0068F4,0xB00068F5,0xB10068F6,0xB20068F7,0xB30068F8,0xB40068F9,0xB50068FA,0xB60068FB, -0xB70068FC,0xB80068FD,0xB90068FE,0xBA0068FF,0xBB006900,0xBC006901,0xBD006902,0xBE006903,0x000E2FA1,0x000CA8A9, -0x000CA8A6,0x000CA8A3,0x000CA8A0,0x000CA89D,0x000CA89A,0x000CA897,0x000CA894,0x000CA891,0x000CA88E,0x000E2F92, -0x000E2F8D,0x000CA88B,0x000CA888,0x000CA885,0x000CA882,0x000E2F88,0x000E2F83,0x000CA87F,0x000CA87C,0x000CA879, -0x000CA876,0x000E2F74,0x000E2F6F,0x000E2F6A,0x000E2F65,0x000CA873,0x000CA870,0x000CA86D,0x000CA86A,0x000CA867, -0x000CA864,0x000CA861,0x000CA85E,0x000CA85B,0x000CA858,0x000CA855,0x000CA852,0x000CA84F,0x000CA84C,0x000CA849, -0x000CA846,0x000CA843,0x000CB190,0x000CB188,0x000E2E70,0xA0006904,0xA1006907,0x000E2E6B,0x000E2E3E,0x000E2E39, -0x000CA840,0x000CA83D,0x000CA83A,0x000CA837,0x000CA834,0x000CA831,0x000CA82E,0x000CA82B,0x0016308C,0x00163087, -0xAF006908,0xB0006909,0x00163082,0x0016307D,0x00163078,0x00163073,0x0016306E,0x00163069,0x00163064,0x0016305F, -0x0016305A,0x00163055,0x0010A827,0x0010A823,0x000CA820,0x000CA81D,0x000CA81A,0x000CA817,0x000E3050,0x8D00690A, -0x8E00690B,0x8F00690C,0x9000690D,0x9100690E,0x9200690F,0x93006910,0x94006911,0x95006912,0x96006913,0x97006916, -0x98006917,0x99006918,0x9A006919,0x9B00691A,0x9C00691B,0x000E304B,0x9E00691C,0x9F00691D,0xA000691E,0xA100691F, -0xA2006920,0xA3006921,0x00163050,0x0016304B,0xA6006922,0xA7006923,0xA8006924,0xA9006925,0xAA006926,0xAB006937, -0xAC00693E,0xAD00693F,0xAE00694B,0xAF00694C,0xB000694D,0x0010A813,0x0010A80F,0x000CA80C,0xB4006950,0xB5006951, -0x000CA809,0x000CA806,0xB800695A,0xB900695B,0xBA00695C,0xBB00695D,0xBC00695E,0xBD00695F,0xBE006960,0xBF006961, -0x000CA803,0x000CA800,0x00163046,0x00163041,0x0010A7FC,0x0010A7F8,0x0010A7F4,0x0010A7F0,0x000CA7ED,0x000CA7EA, -0x000CA7E7,0x000CA7E4,0x000CA7E1,0x000CA7DE,0x000CA7DB,0x000CA7D8,0x000CA7D5,0x000CA7D2,0x000CA7CF,0x000CA7CC, -0x000CA7C9,0x000CA7C6,0x000CA7C3,0x000CA7C0,0x000CA7BD,0x000CA7BA,0x000CA7B7,0x000CA7B4,0x000CA7B1,0x000CA7AE, -0x000CA7AB,0x000CA7A8,0x000CA7A5,0x000CA7A2,0x000CA79F,0x000CA79C,0x000CA799,0x000CA796,0x000E305A,0x000E3055, -0x000E2FE2,0x000E2FDD,0x0016303C,0x80006962,0x81006963,0x82006964,0x83006965,0x84006966,0x85006967,0x86006968, -0x87006969,0x8800696A,0x8900696B,0x8A00696C,0x8B00696D,0x8C00696E,0x8D00696F,0x8E006970,0x8F006971,0x90006972, -0x91006973,0x92006974,0x93006975,0x94006976,0x95006977,0x96006978,0x97006979,0x9800697A,0x9900697B,0x9A00697C, -0x9B00697D,0x00163037,0x00163032,0x9E00697E,0x9F00697F,0x0016302D,0x000E3028,0x000E3023,0x00163028,0x00163023, -0x000CA793,0xA6006980,0xA7006981,0xA8006982,0xA9006983,0xAA006984,0xAB0069A1,0xAC0069A2,0xAD0069A5,0xAE0069A6, -0xAF0069A7,0xB00069A8,0xB10069A9,0xB20069AA,0xB30069B9,0x000CA790,0x800069BC,0x810069BF,0x0008A288,0x830069C0, -0x840069C1,0x00089FCE,0x0008A2B0,0x0010B183,0x00080FED,0x00040FEC,0x0010A78C,0x0010A788,0x00089FC1,0x0010A784, -0x0010A780,0x0010A77C,0x850069C4,0x860069C5,0x870069C6,0x880069C7,0x890069C8,0x8A0069C9,0x0010A778,0x8C0069D0, -0x0010A774,0x8E0069D2,0x8F0069D6,0x900069D7,0x0010A770,0x001A301D,0x0010A76C,0x0010A768,0x00122D07,0x0010A764, -0x00122CF5,0x0010A760,0x001A3017,0x8A0069E4,0x8B0069E5,0x8C0069E6,0x8D0069E7,0x8E0069EA,0x00122CE3,0x00122CD7, -0x0010A75C,0x0010A758,0x930069EB,0x940069EC,0x00122CCB,0x0010A754,0x0010A750,0x0010A74C,0xB40069C2,0xAA0069D8, -0xAB0069D9,0xAC0069DA,0xAD0069DB,0xAE0069DC,0xAF0069DD,0xB00069DE,0x0010A748,0x0010A744,0xBE0069C3,0x0010A740, -0x0010A73C,0x0010A738,0x0010A734,0x0010A730,0x0010A72C,0x0010A728,0x0010A724,0x0010A720,0x0010A71C,0x0010A718, -0x0010A714,0x800069ED,0x810069F6,0x0010A710,0x830069F7,0x0010A70C,0x0010A708,0x0010A704,0x870069F9,0x0010A700, -0x0010A6FC,0x0010A6F8,0x0010A6F4,0x8C0069FA,0x8D0069FB,0x8E0069FC,0x0010A6F0,0x0010A6EC,0x900069FF,0x91006A00, -0x0010A6E8,0x93006A01,0x0010A6E4,0x0010A6E0,0x0010A6DC,0x97006A02,0x990069FD,0x0010A6D8,0x0010A6D4,0x0010A6D0, -0x9C006A03,0x9D006A04,0x9E006A07,0x0010A6CC,0x0010A6C8,0x0010A6C4,0x0010A6C0,0x0010A6BC,0x0010A6B8,0x0010A6B4, -0x0010A6B0,0x0010A6AC,0x0010A6A8,0x0010A6A4,0x81006A0B,0x82006A0D,0x0010A6A0,0x0010A69C,0x0010A698,0x0010A694, -0x0010A690,0x0010A68C,0x0010A688,0x0010A684,0x0010A680,0x0010AA71,0xB6006A09,0xB7006A0A,0xB90069FE,0x90006A0E, -0x91006A0F,0x92006A10,0x93006A14,0x0010AA6B,0x0010A67C,0x96006A15,0x97006A18,0x0010AA65,0x0010ACBB,0x9A006A1A, -0x9B006A1B,0x9C006A1C,0x9D006A1F,0x9E006A20,0x9F006A21,0x0010A678,0x0010A674,0xA2006A25,0xA3006A26,0xA4006A27, -0xA5006A28,0xA6006A29,0xA7006A2A,0x0010A670,0x0018A66A,0xAA006A2B,0xAB006A2C,0xAC006A2D,0xAD006A2E,0xAE006A2F, -0xAF006A32,0xB0006A33,0xB1006A34,0xB2006A35,0xB3006A36,0xB4006A37,0xB5006A38,0x0018A664,0x0018A65E,0xB8006A39, -0xB9006A3A,0x80006A4F,0x0018A658,0x82006A50,0xA2006A3B,0xA3006A43,0xA4006A44,0xA5006A47,0xA6006A48,0x0018A652, -0x0018A64C,0x0018A646,0x0018A640,0xA40069E0,0xA5006A05,0x0018A63A,0xA7006A0C,0xA80069DF,0xA9006A13,0x0018A634, -0x93006A57,0x0018A62E,0xAD006A30,0xAE006A12,0xAF006A3C,0x0018A628,0xB1006A31,0x0018A622,0xB3006A49,0x0018A61C, -0xB5006A4B,0x0018A616,0xB7006A3E,0xA9006A58,0x0018A610,0x0018A60A,0x0018A604,0x0018A5FE,0xBD006A4C,0xBE006A61, -0x0018A5F8,0xB1006A65,0xB3006A8B,0x0018A5F2,0xB4006A66,0xB6006A8C,0x0018A5EC,0x8B006A81,0x8C006A83,0x0018A5E6, -0x0018A5E0,0x0018A5DA,0x0018A5D4,0x98006A6A,0x99006A71,0x9A006A72,0x9B006A73,0x9C006A74,0x9D006A77,0x9E006A7B, -0x9F006A7D,0x0018A5CE,0x94006AA7,0x0018A5C8,0x9C006A85,0x9D006A87,0x0018A5C2,0x9F006A8A,0x99006A8D,0x9A006A90, -0x9B006A93,0x0018A5BC,0x0018A5B6,0x9E006A96,0x0018A5B0,0x0018A5AA,0x0018A5A4,0x0018A59E,0x001A300E,0x0026300E, -0x88006A99,0x88006AB2,0x0018A598,0x8B006A9A,0x8C006A9B,0x0018A592,0x0018A58C,0x0018A586,0x001A3005,0x00263005, -0x0018A580,0x0018A57A,0x0018A574,0x0018A56E,0x8A006AAA,0x8B006AAF,0x8C006AB0,0x80006AB3,0x0018A568,0x0018A562, -0x9C006A9C,0x9D006AA5,0x0018A55C,0x83006AC3,0x87006AB4,0x88006AB5,0x0018A556,0x8A006AB6,0x8B006AB7,0x8A006ABA, -0x8B006ABD,0x8C006ABE,0x9A006ABF,0x8D006AC4,0x9C006AC0,0x9D006AC1,0x9E006AC2,0x0018A550,0x92006AC5,0x0018A54A, -0x0018A544,0x0018B173,0x81006AE1,0x97006ACA,0x0018A53E,0x0018A538,0x0018A532,0x0018A52C,0x9C006ACB,0x0018A526, -0x0018A520,0x80006A46,0xA6006AED,0x0018A51A,0x0018A514,0x0018A50E,0x0018A508,0x0018A502,0x0018A4FC,0x0018A4F6, -0x93006AE4,0xA9006ACE,0x0018A4F0,0x0018A4EA,0x80006AFA,0x81006AFC,0x0018A4E4,0x83006AFD,0x0018A4DE,0x0018A4D8, -0x9D006AE5,0xB3006AD2,0x000CA4D5,0xB5006ADD,0xB6006ADF,0xA2006AE6,0xB8006AE0,0x000CA4D2,0x000CA4CF,0x000CA4CC, -0xA7006AE7,0x000CA4C9,0x86006AEE,0x000CA4C6,0x88006AEF,0xAC006AE9,0x8A006AF0,0x000CA4C3,0x8C006AF1,0x000CA4C0, -0x8E006AF2,0x00163000,0x00162FFB,0x000CA4BD,0x92006AF3,0xAC006A84,0xAD006A78,0x000CA4BA,0xB9006AEA,0x000CA4B7, -0x000CA4B4,0x000CA4B1,0x000CA4AE,0x000CA4AB,0x000CA4A8,0x000CA4A5,0x000CA4A2,0xB8006AC6,0xB9006B1A,0xBA006B9A, -0xBB006C1A,0xBC006C9A,0xBD006D1A,0xBE006D9A,0xBF006E1A,0x00162FF6,0x00162FF1,0x00162FEC,0x00162FE7,0x000CA49F, -0x000CA49C,0x000CA499,0x000CA496,0x00162FE2,0x00162FDD,0x000CA493,0x000CA490,0x000CA48D,0x000CA48A,0x000CA487, -0x000CA484,0x000CA481,0x000CA47E,0x000CA47B,0x000CA478,0xBB006AF6,0x000CA475,0xBD006AF7,0x000CA472,0x000CA46F, -0x000CA46C,0x000CA469,0x80006B00,0x81006B05,0x82006B06,0x83006B07,0x84006B09,0x85006B0B,0x86006B0F,0x87006B11, -0x88006B13,0x89006B14,0x8A006B15,0x8B006B19,0x8C006B1B,0x8D006B1C,0x8E006B1D,0x8F006B1E,0x90006B1F,0x91006B20, -0x92006B21,0x93006B22,0x94006B2B,0x95006B2C,0x96006B2D,0x97006B2E,0x98006B2F,0x99006B30,0x9A006B31,0x9B006B32, -0x9C006B33,0x9D006B34,0x9E006B35,0x9F006B36,0xA0006B37,0xA1006B38,0xA2006B39,0xA3006B3A,0xA4006B3B,0xA5006B3C, -0xA6006B3D,0xA7006B3E,0xA8006B40,0xA9006B42,0xAA006B43,0xAB006B44,0xAC006B45,0xAD006B86,0xAE006B87,0xAF006B88, -0xB0006B89,0xB1006B8A,0xB2006B8B,0xB3006B8C,0xB4006B8D,0xB5006B8E,0xB6006B8F,0xB7006B90,0xB8006B91,0xB9006B92, -0xBA006B93,0xBB006B94,0xBC006B95,0xBD006B96,0xBE006B97,0xBF006B98,0x000CA466,0x00162FD8,0x00162FD3,0x000CA463, -0x000CA460,0x000CA45D,0x000CA45A,0x000CA457,0x000CA454,0x000E2FCE,0x000E2FC9,0x00162FCE,0x00162FC9,0x000CA451, -0x000CA44E,0x000CA44B,0x000CA448,0x000CA445,0x000CA442,0x000CA43F,0x80006B99,0x81006BDA,0x82006BDB,0x83006BDC, -0x84006BDD,0x85006BDE,0x86006BDF,0x87006BE0,0x88006BE1,0x89006BE2,0x8A006BE3,0x8B006BE4,0x8C006BE5,0x8D006BE6, -0x8E006BE7,0x8F006BE8,0x90006BE9,0x91006BEA,0x92006BEB,0x93006BEC,0x94006BED,0x95006BEE,0x96006BEF,0x97006BF0, -0x98006BF1,0x99006BF2,0x9A006BF3,0x9B006BF4,0x9C006BF5,0x9D006BF6,0x9E006BF7,0x9F006BF8,0xA0006BF9,0xA1006BFA, -0xA2006BFB,0xA3006BFC,0xA4006BFD,0xA5006BFE,0xA6006BFF,0xA7006C00,0xA8006C01,0xA9006C02,0xAA006C03,0xAB006C04, -0xAC006C05,0xAD006C06,0xAE006C07,0xAF006C08,0xB0006C09,0xB1006C0A,0xB2006C0B,0xB3006C0C,0xB4006C0D,0xB5006C0E, -0xB6006C0F,0xB7006C10,0xB8006C11,0xB9006C12,0xBA006C13,0xBB006C14,0xBC006C15,0xBD006C16,0xBE006C17,0xBF006C18, -0x000CA43C,0x000CA439,0x000CA436,0x000CA433,0x000CA430,0x000CA42D,0x000CA42A,0x000CA427,0x000CA424,0x000CA421, -0x000CA41E,0x00162FC4,0x00162FBF,0x00162FBA,0x00162FB5,0x00162FB0,0x00162FAB,0x00162FA6,0x00162FA1,0x000CA41B, -0x000CA418,0x000CA415,0x000CA412,0x000CA40F,0x000CA40C,0x000E2F9C,0x000E2F97,0x00162F9C,0x00162F97,0x000CA409, -0x000CA406,0x000CA403,0x000CA400,0x000E2F7E,0x000E2F79,0x00162F92,0x00162F8D,0x00162F88,0x00162F83,0x00162F7E, -0x00162F79,0x000CA3FD,0x000CA3FA,0x000CA3F7,0x000CA3F4,0x000CA3F1,0x000CA3EE,0x000CA3EB,0x000CA3E8,0x000CA3E5, -0x000CA3E2,0x000CA3DF,0x000CA3DC,0x000CA3D9,0x000CA3D6,0x00162F74,0x00162F6F,0x00162F6A,0x00162F65,0x000CA3D3, -0x000CA3D0,0x000CA3CD,0x000CA3CA,0x000CA3C7,0x80006C19,0x81006C34,0x82006C36,0x83006C37,0x84006C38,0x85006C39, -0x86006C5A,0x87006C5B,0x88006C5C,0x89006C5D,0x8A006C5E,0x8B006C5F,0x8C006C60,0x8D006C61,0x8E006C62,0x8F006C63, -0x90006C64,0x91006C65,0x92006C66,0x93006C67,0x94006C68,0x95006C69,0x96006C6A,0x97006C6B,0x98006C6C,0x99006C6D, -0x000CA3C4,0x9B006C6E,0x000CA3C1,0x000CA3BE,0x000CA3BB,0x000CA3B8,0xA0006C6F,0xA1006C70,0xA2006C71,0xA3006C72, -0xA4006C73,0xA5006C74,0xA6006C75,0xA7006C76,0xA8006C77,0xA9006C78,0xAA006C79,0xAB006C7A,0xAC006C7B,0xAD006C7C, -0xAE006C7D,0xAF006C7E,0xB0006C7F,0xB1006C80,0xB2006C81,0xB3006C82,0xB4006C83,0xB5006C84,0xB6006C85,0xB7006C86, -0xB8006C87,0xB9006C88,0xBA006C89,0xBB006C8A,0xBC006C8B,0xBD006C8C,0xBE006C8D,0xBF006C8E,0x000CA3B5,0x000CA3B2, -0x000CA3AF,0x000CA3AC,0x000CA3A9,0x000CA3A6,0x000CA3A3,0x000CA3A0,0x000CA39D,0x000CA39A,0x000CA397,0x000CA394, -0x000CA391,0x000CA38E,0x000CA38B,0x000CA388,0x000CA385,0x000CA382,0x000CA37F,0x000CA37C,0x0010A378,0x000E2F06, -0x000E2F01,0x000CA375,0x000CA372,0x00162F60,0x00162F5B,0x00162F56,0x00162F51,0x00162F4C,0x00162F47,0x00162F42, -0x00162F3D,0x00162F38,0x00162F33,0x00162F2E,0x00162F29,0x00162F24,0x00162F1F,0x00162F1A,0x00162F15,0x00162F10, -0x00162F0B,0x00162F06,0x00162F01,0x000E2ED4,0x000E2ECF,0x000CA36F,0x000CA36C,0x000CA369,0x000CA366,0x00162EFC, -0x00162EF7,0x00162EF2,0x00162EED,0x00162EE8,0x00162EE3,0x00162EDE,0x00162ED9,0x00162ED4,0x00162ECF,0x000CA363, -0x000CA360,0x000CA35D,0x80006C8F,0x81006C90,0x82006C91,0x83006C92,0x84006C93,0x85006C94,0x86006C95,0x87006C96, -0x88006C97,0x89006C98,0x8A006C99,0x8B006CD4,0x8C006CD5,0x8D006CD6,0x8E006CD7,0x8F006CD8,0x90006CD9,0x91006CDA, -0x92006CDB,0x93006CDC,0x94006CDD,0x95006CDE,0x96006CDF,0x97006CE0,0x98006CE1,0x99006CE2,0x9A006CE3,0x9B006CE4, -0x9C006CE5,0x9D006CE6,0x9E006CE7,0x9F006CE8,0xA0006CE9,0xA1006CEA,0xA2006CEB,0xA3006CEC,0xA4006CED,0xA5006CEE, -0xA6006CEF,0xA7006CF0,0xA8006CF1,0xA9006CF2,0xAA006CF3,0xAB006CF4,0xAC006CF5,0xAD006CF6,0xAE006CF7,0xAF006CF8, -0xB0006CF9,0xB1006CFA,0xB2006CFB,0xB3006CFC,0xB4006CFD,0xB5006CFE,0xB6006CFF,0xB7006D00,0xB8006D01,0xB9006D02, -0x000CA35A,0x000E2EA2,0x000E2E9D,0x000CA357,0x000CA354,0x00162ECA,0x00162EC5,0x00162EC0,0x00162EBB,0x00162EB6, -0x00162EB1,0x00162EAC,0x00162EA7,0x00162EA2,0x00162E9D,0x00162E98,0x00162E93,0x00162E8E,0x00162E89,0x00162E84, -0x00162E7F,0x00162E7A,0x00162E75,0x00162E70,0x00162E6B,0x000CA351,0x000CA34E,0x000CA34B,0x000CA348,0x00162E66, -0x00162E61,0x00162E5C,0x00162E57,0x00162E52,0x00162E4D,0x00162E48,0x00162E43,0x00162E3E,0x00162E39,0x000CA345, -0x000CA342,0x000CA33F,0x000CA33C,0x000CA339,0x000CA336,0x000CA333,0x000CA330,0x00122D55,0x00122D4F,0x001A33F7, -0x001A33EF,0x001A33E7,0x001A33DF,0x001A33D7,0x001A33CF,0x00122D49,0x00122D43,0x001A33C7,0x001A33BF,0x001A33B7, -0x001A33AF,0x001A33A7,0x001A339F,0x00122E27,0x00122E21,0x001A2E33,0x001A2E2D,0x001A2E27,0x001A2E21,0x00122E0F, -0x80006D03,0x81006D04,0x82006D05,0x83006D06,0x84006D07,0x85006D08,0x86006D09,0x87006D0A,0x88006D0B,0x89006D0C, -0x8A006D0D,0x8B006D0E,0x8C006D0F,0x8D006D10,0x8E006D11,0x8F006D12,0x90006D13,0x91006D14,0x92006D15,0x93006D16, -0x94006D17,0x95006D18,0x00122E09,0x001A2E1B,0x98006D19,0x99006D30,0x9A006D31,0x9B006D38,0x9C006D39,0x9D006D5A, -0x001A2E15,0x001A2E0F,0xA0006D5B,0xA1006D5C,0xA2006D5D,0xA3006D5E,0xA4006D5F,0xA5006D60,0xA6006D61,0xA7006D62, -0xA8006D63,0xA9006D64,0xAA006D65,0xAB006D66,0xAC006D67,0xAD006D68,0xAE006D69,0xAF006D6A,0xB0006D6B,0xB1006D6C, -0xB2006D6D,0xB3006D6E,0xB4006D6F,0xB5006D70,0xB6006D71,0xB7006D72,0xB8006D73,0xB9006D74,0xBA006D75,0xBB006D76, -0xBC006D77,0xBD006D78,0xBE006D79,0xBF006D7A,0x001A2E09,0x00122D3D,0x00122D37,0x001A3397,0x001A338F,0x001A3387, -0x001A337F,0x001A3377,0x001A336F,0x00122D31,0x00122D2B,0x001A3367,0x001A335F,0x001A3357,0x001A334F,0x001A3347, -0x001A333F,0x00122DEB,0x00122DE5,0x001A2E03,0x001A2DFD,0x001A2DF7,0x001A2DF1,0x001A2DEB,0x001A2DE5,0x00122DC7, -0x00122DC1,0x001A2DDF,0x001A2DD9,0x001A2DD3,0x001A2DCD,0x001A2DC7,0x001A2DC1,0x00122DAF,0x00122DA9,0x001A2DBB, -0x001A2DB5,0x001A2DAF,0x001A2DA9,0x00122D97,0x00122D91,0x001A2DA3,0x001A2D9D,0x001A2D97,0x001A2D91,0x00122D73, -0x00122D6D,0x001A2D8B,0x001A2D85,0x001A2D7F,0x001A2D79,0x001A2D73,0x001A2D6D,0x00122D5B,0x001A2D67,0x001A2D61, -0x001A2D5B,0x00122D25,0x00122D1F,0x001A3337,0x001A332F,0x001A3327,0x001A331F,0x001A3317,0x80006D7B,0x81006D7C, -0x82006D7D,0x83006D7E,0x84006D7F,0x85006D80,0x001A330F,0x00122D19,0x88006D81,0x89006D82,0x8A006D83,0x8B006D84, -0x8C006D85,0x8D006D86,0x00122D13,0x001A3307,0x90006D87,0x91006D88,0x92006D89,0x93006D8A,0x94006D8B,0x95006D8C, -0x96006D8D,0x97006D8E,0x001A32FF,0x99006D8F,0x001A32F7,0x9B006D90,0x001A32EF,0x9D006D91,0x001A32E7,0x9F006D92, -0xA0006D93,0xA1006D94,0xA2006D95,0xA3006D96,0xA4006D97,0xA5006D98,0xA6006D99,0xA7006DA0,0xA8006DA1,0xA9006DA8, -0xAA006DA9,0xAB006DB2,0xAC006DB4,0xAD006DB6,0xAE006DB8,0xAF006DD8,0xB0006DD9,0xB10069DA,0xB2006DDA,0xB30069DB, -0xB4006DDB,0xB50069DC,0xB6006DDC,0xB70069DD,0xB8006DDD,0xB90069E6,0xBA006DDE,0xBB0069E7,0xBC006DDF,0xBD0069EA, -0x001A32DF,0x00122D0D,0x0010A32C,0x00122CFB,0x0010A328,0x0010A324,0x0010A320,0x00122CD1,0x001A2D55,0x001A2D4F, -0x002233F7,0x002233EF,0x002233E7,0x002233DF,0x002233D7,0x002233CF,0x001A2D49,0x001A2D43,0x002233C7,0x002233BF, -0x002233B7,0x002233AF,0x002233A7,0x0022339F,0x001A2D3D,0x001A2D37,0x00223397,0x0022338F,0x00223387,0x0022337F, -0x00223377,0x0022336F,0x001A2D31,0x001A2D2B,0x00223367,0x0022335F,0x00223357,0x0022334F,0x00223347,0x0022333F, -0x001A2D25,0x001A2D1F,0x00223337,0x0022332F,0x00223327,0x0022331F,0x00223317,0x0022330F,0x001A2D19,0x001A2D13, -0x00223307,0x002232FF,0x002232F7,0x002232EF,0x002232E7,0x002232DF,0x0010A31C,0x0010A318,0x001A2D0D,0x0010A314, -0x001A2D07,0x00122D01,0x001A2D01,0x0010A310,0x0010A30C,0x0010A308,0x80006DE0,0x81006DE1,0x82006DE2,0x83006DE3, -0x84006DE4,0x85006DE5,0x86006DE6,0x87006DE7,0x88006DE8,0x89006DE9,0x8A006DEA,0x8B006DEB,0x8C006DEC,0x8D006DED, -0x8E006DEE,0x8F006DEF,0x90006DF0,0x91006DF1,0x92006DF2,0x93006DF3,0x94006DF4,0x95006DF5,0x96006DF6,0x97006DF7, -0x98006DF8,0x99006DF9,0x9A006DFA,0x9B006DFB,0x9C006DFC,0x9D006DFD,0x9E006DFE,0x9F006DFF,0xA0006E00,0xA1006E01, -0xA2006E02,0xA3006E03,0xA4006E04,0xA5006E05,0xA6006E06,0xA7006E07,0xA8006E08,0xA9006E09,0xAA006E0A,0xAB006E0B, -0xAC006E0C,0xAD006E0D,0xAE006E0E,0xAF006E0F,0xB0006E10,0xB1006E11,0xB2006E12,0xB3006E13,0xB4006E14,0x0010A304, -0xB6006E15,0xB7006E16,0xB8006E17,0xB9006E18,0xBA006E19,0xBB0069C5,0xBC006E4F,0x0008A2D5,0xBE006E57,0x0010A300, -0x001A2CFB,0x0010A2FC,0x001A2CF5,0x00122CEF,0x001A2CEF,0x0010A2F8,0x0010A2F4,0x0010A2F0,0x0014A2EB,0x0014A2E6, -0x0014A2E1,0x0010A2DD,0x0010A2D9,0x001A2CE9,0x0010A2D5,0x001A2CE3,0x0010A2D1,0x0010A2CD,0x0010A2C9,0x0014A2C4, -0x0014A2BF,0x0014A2BA,0x0010A2B6,0x0010A2B2,0x001A2CDD,0x0010A2AE,0x0010A2AA,0x0010A2A6,0x001A2CD7,0x0010A2A2, -0x0010A29E,0x0010A29A,0x0010A296,0x0010A292,0x00040FEB,0x001A2CD1,0x0010A28E,0x001A2CCB,0x00122CC5,0x001A2CC5, -0x0010A28A,0x0010A286,0x0010A282,0x00080FE9,0x000C0FE6,0x000C0FE3,0x00089E65,0x00049E50,0x0014A27D,0x0014A278, -0x0014A273,0xBC00D0AC,0x0014A26E,0x0014A269,0x0014A264,0x0014A25F,0x0014A25A,0x0014A255,0xBF00E80E,0x0014A250, -0x0014A24B,0x0014A246,0x0014A241,0x0014A23C,0x0014A237,0x81006E59,0x82006E5A,0x83006E5B,0x84006E5C,0x000CA234, -0x86006E5D,0x87006E5E,0x88006E5F,0x890069C7,0x8A006E60,0x8B0069C8,0x8C006E61,0x8D006E62,0x8E006E63,0x8F006E64, -0x90006E65,0x91006E66,0x92006E67,0x930069D7,0x80006E86,0x81006E87,0x96006E68,0x97006E69,0x98006E6A,0x99006E6B, -0x9A006E6C,0x9B0069C9,0x0014A22F,0x9D006E6D,0x9E006E6E,0x9F006E6F,0xA0006E70,0xA1006E71,0xA2006E72,0xA30069DE, -0xA4006E73,0xA5006E74,0xA6006E75,0xA7006E76,0xA8006E77,0xA9006E78,0xAA006E79,0xAB0069D2,0xAC006E7A,0xAD006E7B, -0xAE0069C4,0xAF006E7C,0x0014A22A,0x000CA227,0xB2006E7D,0xB3006E7E,0xB4006E7F,0x000CA224,0xB6006E80,0xB7006E81, -0xB8006E82,0xB90069D0,0xBA006E83,0xBB0069D6,0xBC006E84,0xBD006E85,0x80006E2E,0x0014A21F,0x9A006E8A,0x9B006E8B, -0x84006E3F,0x0014A21A,0x86006E40,0x87006E8D,0x88006E94,0x89006E9D,0x8A006EAB,0x8B006EBB,0x8C006E56,0xA6006E88, -0x0014A215,0x0014A210,0x0014A20B,0xAA006E89,0xAB0067B5,0x0014A206,0x0014A201,0x0014A1FC,0xAE006E8C,0x0014A1F7, -0x0014A1F2,0x0014A1ED,0x0014A1E8,0x0014A1E3,0x0014A1DE,0x0014A1D9,0x0014A1D4,0x0014A1CF,0x0014A1CA,0x0014A1C5, -0x0014A1C0,0x0014A1BB,0x0014A1B6,0x0014A1B1,0x0014A1AC,0xA9006F01,0xAA006F02,0x000C0FE0,0x000C0FDD,0xAB006E9B, -0x0014A1A7,0x0018A1A1,0x0018A19B,0x0018A195,0x0018A18F,0x0018A189,0x0018A183,0x0018A17D,0x0018A177,0x0018A171, -0x0018A16B,0x0018A165,0x0018A15F,0x0018A159,0x0018A153,0x0018A14D,0x0018A147,0x0018A141,0x0018A13B,0x0018A135, -0x84006E91,0x0018A12F,0x8D006E8E,0x8E006E8F,0x8F006E90,0x89006E92,0x81006E97,0x0018A129,0x8C006E93,0x84006E98, -0x0018A123,0x0018A11D,0x87006E99,0x0018A117,0x89006E9A,0x81006EDE,0x82006EFF,0x83006F3A,0x0018A111,0x80006EEC, -0x81006EED,0x0018A10B,0x0018A105,0x84006EEF,0x85006EF0,0x001A31BB,0x001A31A9,0x88006EF1,0x89006EF2,0x001A3480, -0x001A34F1,0x9C006F04,0xA4006E95,0x0018A0FF,0xA6006E96,0x0018A0F9,0x001A3453,0xA0006E9F,0x0018A0F3,0xA2006EB6, -0x001A355A,0x0018A0ED,0x001A316D,0x0018A0E7,0x0018A0E1,0x0018AED4,0x0018AECB,0x001A3468,0x001A3161,0x0018AEA7, -0xAD006ECA,0xAE006ECB,0xAF006ECF,0xB0006ED9,0xB1006EDD,0x0018AEB0,0x001A3405,0xB4006EE6,0xB5006EE7,0x0018A0DB, -0x001A3125,0xB8006EE8,0xB9006EEB,0xAC006EF3,0xAD006EF4,0xAE006EF5,0xAF006EF6,0xA0006EF7,0xA1006EF8,0xA2006EF9, -0xA3006EFA,0x0018AE95,0x001A3119,0x001A318B,0x0018A0D5,0x0018A0CF,0x0018A0C9,0xAA006EFB,0xAB006EFC,0xAC006EFD, -0xAD006EFE,0x0018A0C3,0x8C006F05,0x0018A0BD,0x8E006F06,0x0018A0B7,0x90006F07,0x001A2BD2,0x92006F08,0x00262CBC, -0x94006F09,0x00262CB3,0x96006F0A,0x00262CAA,0x98006F0B,0x00262CA1,0x9A006F0C,0xB300D039,0x9C006F0D,0x00262C98, -0x9E006F0E,0x00262C8F,0xA0006F0F,0x00262C86,0xA2006F10,0x00262C7D,0x00262C74,0xA5006F11,0x00262C6B,0xA7006F12, -0x00262C62,0xA9006F13,0x00262C59,0x00262C50,0x00262C47,0x00262C3E,0x00262C35,0x00262C2C,0xB0006F14,0xB1006F15, -0x00262C23,0xB3006F16,0xB4006F17,0x94006F2D,0xB6006F19,0xB7006F1F,0x00262C1A,0xB9006F22,0xBA006F23,0x00262C11, -0xBC006F25,0xBD006F2A,0x00262C08,0x9E006F2E,0x00262BFF,0x00262BF6,0x00262BED,0x00262BE4,0x00262BDB,0x00262BD2, -0x001A2ADF,0x00262BC9,0x00262BC0,0x00262BB7,0x00262BAE,0x00262BA5,0x00262B9C,0xAC006F31,0x00262B93,0xAE006F32, -0x00262B8A,0xB0006F35,0x00262B81,0xB2006F36,0x00262B78,0xB4006F39,0x00262B6F,0xB6006F3B,0x00262B66,0xB8006F3C, -0x00262B5D,0xBA006F3E,0x80006F42,0xBC006F40,0x82006F43,0xBE006F41,0x00262B54,0x85006F44,0x00262B4B,0x87006F45, -0x00262B42,0x89006F46,0x00262B39,0x00262B30,0x00262B27,0x00262B1E,0x00262B15,0x00262B0C,0x90006F47,0x91006F48, -0x00262B03,0x93006F49,0x94006F4F,0x00262AFA,0x96006F50,0x97006F53,0x00262AF1,0x99006F54,0x9A006F5F,0x00262AE8, -0x9C006F60,0x9D006F61,0xB0006F79,0xB1006FB9,0xB2007037,0xB30070B7,0xB4007137,0xB50071B7,0xB6007237,0xB70072B7, -0xB8007337,0xB90073B7,0xBA007437,0xBB0074B7,0xBC007537,0xBD0075B7,0xBE007637,0xBF0076B7,0x00262ADF,0x001A29EC, -0x00262AD6,0x00262ACD,0x00262AC4,0x00262ABB,0xB4006F62,0x00262AB2,0x00262AA9,0xB7006F63,0xB8006F64,0xB9006F69, -0xBA006F6B,0x00262AA0,0x00262A97,0x00262A8E,0xBE006F6D,0x80006F6F,0x81006F71,0x82006F73,0x83006F75,0x84006F77, -0x85006F7B,0x86006F7D,0x87006F7F,0x88006F81,0x89006F82,0x8A006F84,0x8B006F86,0x8C006F88,0x8D006F89,0x8E006F8A, -0x8F006F8B,0x90006F8C,0x91006F8D,0x92006F90,0x93006F96,0x94006F99,0x95006F9C,0x96006F9E,0x97006F9F,0x98006FA0, -0x99006FA1,0x9A006FA2,0x9B006FA3,0x9C006FA4,0x9D006FA5,0x9E006FA6,0x9F006FA7,0xA0006FA8,0xA1006FA9,0xA2006FAA, -0xA3006FAC,0xA4006FAE,0xA5006FB0,0xA6006FB2,0xA7006FB4,0xA8006FB6,0xA9006FB8,0xAA006FBE,0xAB006FC0,0xAC006FC2, -0xAD006FC4,0xAE006FC5,0xAF006FC6,0xB0006FC7,0xB1006FC8,0xB2006FC9,0xB3006FCC,0xB4006FCF,0xB5006FD2,0xB6006FD5, -0xB7006FE8,0xB8006FE9,0xB9006FEA,0xBA006FEB,0xBB006FEC,0xBC006FED,0xBD006FEF,0xBE006FF0,0xBF006FF5,0x80006FF6, -0x81006FF7,0x82007079,0x8300707A,0x8400707B,0x8500707C,0x8600707D,0x8700707E,0x8800707F,0x89007080,0x8A007081, -0x8B007082,0x8C007083,0x8D007084,0x8E007085,0x8F007086,0x90007087,0x91007088,0x92007089,0x9300708A,0x9400708B, -0x9500708C,0x9600708D,0x9700708E,0x9800708F,0x99007090,0x9A007091,0x9B007092,0x9C007093,0x9D007094,0x9E007095, -0x9F007096,0xA0007097,0xA1007098,0xA2007099,0xA300709A,0xA400709B,0xA500709C,0xA600709D,0xA700709E,0xA800709F, -0xA90070A0,0xAA0070A1,0xAB0070A2,0xAC0070A3,0xAD0070A4,0xAE0070A5,0xAF0070A6,0xB00070A7,0xB10070A8,0xB20070A9, -0xB30070AA,0xB40070AB,0xB50070AC,0xB60070AD,0xB70070AE,0xB80070AF,0xB90070B0,0xBA0070B1,0xBB0070B2,0xBC0070B3, -0xBD0070B4,0xBE0070B5,0xBF0070B6,0x00262A85,0x00262A7C,0x00262A73,0x00262A6A,0x00262A61,0x00262A58,0x00262A4F, -0x00262A46,0x00262A3D,0x00262A34,0x00262A2B,0x00262A22,0x00262A19,0x00262A10,0x00262A07,0x002629FE,0x002629F5, -0x002629EC,0x001A28F9,0x002629E3,0x002629DA,0x002629D1,0x002629C8,0x002629BF,0x002629B6,0x002629AD,0x002629A4, -0x0026299B,0x00262992,0x00262989,0x00262980,0x00262977,0x0026296E,0x00262965,0x0026295C,0x00262953,0x0026294A, -0x00262941,0x00262938,0x0026292F,0x00262926,0x0026291D,0x00262914,0x0026290B,0x00262902,0x002628F9,0x001A2806, -0x002628F0,0x002628E7,0x002628DE,0x002628D5,0x002628CC,0x002628C3,0x002628BA,0x002628B1,0x002628A8,0x0026289F, -0x00262896,0x0026288D,0x00262884,0x0026287B,0x00262872,0x800070F7,0x810070F8,0x820070F9,0x830070FA,0x840070FB, -0x850070FC,0x860070FD,0x870070FE,0x880070FF,0x89007100,0x8A007101,0x8B007102,0x8C007103,0x8D007104,0x8E007105, -0x8F007106,0x90007107,0x91007108,0x92007109,0x9300710A,0x9400710B,0x9500710C,0x9600710D,0x9700710E,0x9800710F, -0x99007110,0x9A007111,0x9B007112,0x9C007113,0x9D007114,0x9E007115,0x9F007116,0xA0007117,0xA1007118,0xA2007119, -0xA300711A,0xA400711B,0xA500711C,0xA600711D,0xA700711E,0xA800711F,0xA9007120,0xAA007121,0xAB007122,0xAC007123, -0xAD007124,0xAE007125,0xAF007126,0xB0007127,0xB1007128,0xB2007129,0xB300712A,0xB400712B,0xB500712C,0xB600712D, -0xB700712E,0xB800712F,0xB9007130,0xBA007131,0xBB007132,0xBC007133,0xBD007134,0xBE007135,0xBF007136,0x00262869, -0x00262860,0x00262857,0x0026284E,0x00262845,0x0026283C,0x00262833,0x0026282A,0x00262821,0x00262818,0x0026280F, -0x00262806,0x001A2713,0x002627FD,0x002627F4,0x002627EB,0x002627E2,0x002627D9,0x002627D0,0x002627C7,0x002627BE, -0x002627B5,0x002627AC,0x002627A3,0x0026279A,0x00262791,0x00262788,0x0026277F,0x00262776,0x0026276D,0x00262764, -0x0026275B,0x00262752,0x00262749,0x00262740,0x00262737,0x0026272E,0x00262725,0x0026271C,0x00262713,0x001A2620, -0x0026270A,0x00262701,0x002626F8,0x002626EF,0x002626E6,0x002626DD,0x002626D4,0x002626CB,0x002626C2,0x002626B9, -0x002626B0,0x002626A7,0x0026269E,0x00262695,0x0026268C,0x00262683,0x0026267A,0x00262671,0x00262668,0x0026265F, -0x00262656,0x0026264D,0x00262644,0x80007177,0x81007178,0x82007179,0x8300717A,0x8400717B,0x8500717C,0x8600717D, -0x8700717E,0x8800717F,0x89007180,0x8A007181,0x8B007182,0x8C007183,0x8D007184,0x8E007185,0x8F007186,0x90007187, -0x91007188,0x92007189,0x9300718A,0x9400718B,0x9500718C,0x9600718D,0x9700718E,0x9800718F,0x99007190,0x9A007191, -0x9B007192,0x9C007193,0x9D007194,0x9E007195,0x9F007196,0xA0007197,0xA1007198,0xA2007199,0xA300719A,0xA400719B, -0xA500719C,0xA600719D,0xA700719E,0xA800719F,0xA90071A0,0xAA0071A1,0xAB0071A2,0xAC0071A3,0xAD0071A4,0xAE0071A5, -0xAF0071A6,0xB00071A7,0xB10071A8,0xB20071A9,0xB30071AA,0xB40071AB,0xB50071AC,0xB60071AD,0xB70071AE,0xB80071AF, -0xB90071B0,0xBA0071B1,0xBB0071B2,0xBC0071B3,0xBD0071B4,0xBE0071B5,0xBF0071B6,0x0026263B,0x00262632,0x00262629, -0x00262620,0x001A252D,0x00262617,0x0026260E,0x00262605,0x002625FC,0x002625F3,0x002625EA,0x002625E1,0x002625D8, -0x002625CF,0x002625C6,0x002625BD,0x002625B4,0x002625AB,0x002625A2,0x00262599,0x00262590,0x00262587,0x0026257E, -0x00262575,0x0026256C,0x00262563,0x0026255A,0x00262551,0x00262548,0x0026253F,0x00262536,0x0026252D,0x001A243A, -0x00262524,0x0026251B,0x00262512,0x00262509,0x00262500,0x002624F7,0x002624EE,0x002624E5,0x002624DC,0x002624D3, -0x002624CA,0x002624C1,0x002624B8,0x002624AF,0x002624A6,0x0026249D,0x00262494,0x0026248B,0x00262482,0x00262479, -0x00262470,0x00262467,0x0026245E,0x00262455,0x0026244C,0x00262443,0x0026243A,0x001A2347,0x00262431,0x00262428, -0x0026241F,0x800071F7,0x810071F8,0x820071F9,0x830071FA,0x840071FB,0x850071FC,0x860071FD,0x870071FE,0x880071FF, -0x89007200,0x8A007201,0x8B007202,0x8C007203,0x8D007204,0x8E007205,0x8F007206,0x90007207,0x91007208,0x92007209, -0x9300720A,0x9400720B,0x9500720C,0x9600720D,0x9700720E,0x9800720F,0x99007210,0x9A007211,0x9B007212,0x9C007213, -0x9D007214,0x9E007215,0x9F007216,0xA0007217,0xA1007218,0xA2007219,0xA300721A,0xA400721B,0xA500721C,0xA600721D, -0xA700721E,0xA800721F,0xA9007220,0xAA007221,0xAB007222,0xAC007223,0xAD007224,0xAE007225,0xAF007226,0xB0007227, -0xB1007228,0xB2007229,0xB300722A,0xB400722B,0xB500722C,0xB600722D,0xB700722E,0xB800722F,0xB9007230,0xBA007231, -0xBB007232,0xBC007233,0xBD007234,0xBE007235,0xBF007236,0x00262416,0x0026240D,0x00262404,0x002623FB,0x002623F2, -0x002623E9,0x002623E0,0x002623D7,0x002623CE,0x002623C5,0x002623BC,0x002623B3,0x002623AA,0x002623A1,0x00262398, -0x0026238F,0x00262386,0x0026237D,0x00262374,0x0026236B,0x00262362,0x00262359,0x00262350,0x00262347,0x001A2254, -0x0026233E,0x00262335,0x0026232C,0x00262323,0x0026231A,0x00262311,0x00262308,0x002622FF,0x002622F6,0x002622ED, -0x002622E4,0x002622DB,0x002622D2,0x002622C9,0x002622C0,0x002622B7,0x002622AE,0x002622A5,0x0026229C,0x00262293, -0x0026228A,0x00262281,0x00262278,0x0026226F,0x00262266,0x0026225D,0x00262254,0x001A2161,0x0026224B,0x00262242, -0x00262239,0x00262230,0x00262227,0x0026221E,0x00262215,0x0026220C,0x00262203,0x002621FA,0x002621F1,0x80007277, -0x81007278,0x82007279,0x8300727A,0x8400727B,0x8500727C,0x8600727D,0x8700727E,0x8800727F,0x89007280,0x8A007281, -0x8B007282,0x8C007283,0x8D007284,0x8E007285,0x8F007286,0x90007287,0x91007288,0x92007289,0x9300728A,0x9400728B, -0x9500728C,0x9600728D,0x9700728E,0x9800728F,0x99007290,0x9A007291,0x9B007292,0x9C007293,0x9D007294,0x9E007295, -0x9F007296,0xA0007297,0xA1007298,0xA2007299,0xA300729A,0xA400729B,0xA500729C,0xA600729D,0xA700729E,0xA800729F, -0xA90072A0,0xAA0072A1,0xAB0072A2,0xAC0072A3,0xAD0072A4,0xAE0072A5,0xAF0072A6,0xB00072A7,0xB10072A8,0xB20072A9, -0xB30072AA,0xB40072AB,0xB50072AC,0xB60072AD,0xB70072AE,0xB80072AF,0xB90072B0,0xBA0072B1,0xBB0072B2,0xBC0072B3, -0xBD0072B4,0xBE0072B5,0xBF0072B6,0x002621E8,0x002621DF,0x002621D6,0x002621CD,0x002621C4,0x002621BB,0x002621B2, -0x002621A9,0x002621A0,0x00262197,0x0026218E,0x00262185,0x0026217C,0x00262173,0x0026216A,0x00262161,0x001A206E, -0x00262158,0x0026214F,0x00262146,0x0026213D,0x00262134,0x0026212B,0x00262122,0x00262119,0x00262110,0x00262107, -0x002620FE,0x002620F5,0x002620EC,0x002620E3,0x002620DA,0x002620D1,0x002620C8,0x002620BF,0x002620B6,0x002620AD, -0x002620A4,0x0026209B,0x00262092,0x00262089,0x00262080,0x00262077,0x0026206E,0x001A1F7B,0x00262065,0x0026205C, -0x00262053,0x0026204A,0x00262041,0x00262038,0x0026202F,0x00262026,0x0026201D,0x00262014,0x0026200B,0x00262002, -0x00261FF9,0x00261FF0,0x00261FE7,0x00261FDE,0x00261FD5,0x00261FCC,0x00261FC3,0x800072F7,0x810072F8,0x820072F9, -0x830072FA,0x840072FB,0x850072FC,0x860072FD,0x870072FE,0x880072FF,0x89007300,0x8A007301,0x8B007302,0x8C007303, -0x8D007304,0x8E007305,0x8F007306,0x90007307,0x91007308,0x92007309,0x9300730A,0x9400730B,0x9500730C,0x9600730D, -0x9700730E,0x9800730F,0x99007310,0x9A007311,0x9B007312,0x9C007313,0x9D007314,0x9E007315,0x9F007316,0xA0007317, -0xA1007318,0xA2007319,0xA300731A,0xA400731B,0xA500731C,0xA600731D,0xA700731E,0xA800731F,0xA9007320,0xAA007321, -0xAB007322,0xAC007323,0xAD007324,0xAE007325,0xAF007326,0xB0007327,0xB1007328,0xB2007329,0xB300732A,0xB400732B, -0xB500732C,0xB600732D,0xB700732E,0xB800732F,0xB9007330,0xBA007331,0xBB007332,0xBC007333,0xBD007334,0xBE007335, -0xBF007336,0x00261FBA,0x00261FB1,0x00261FA8,0x00261F9F,0x00261F96,0x00261F8D,0x00261F84,0x00261F7B,0x001A1E88, -0x00261F72,0x00261F69,0x00261F60,0x00261F57,0x00261F4E,0x00261F45,0x00261F3C,0x00261F33,0x00261F2A,0x00261F21, -0x00261F18,0x00261F0F,0x00261F06,0x00261EFD,0x00261EF4,0x00261EEB,0x00261EE2,0x00261ED9,0x00261ED0,0x00261EC7, -0x00261EBE,0x00261EB5,0x00261EAC,0x00261EA3,0x00261E9A,0x00261E91,0x00261E88,0x001A1D95,0x00261E7F,0x00261E76, -0x00261E6D,0x00261E64,0x00261E5B,0x00261E52,0x00261E49,0x00261E40,0x00261E37,0x00261E2E,0x00261E25,0x00261E1C, -0x00261E13,0x00261E0A,0x00261E01,0x00261DF8,0x00261DEF,0x00261DE6,0x00261DDD,0x00261DD4,0x00261DCB,0x00261DC2, -0x00261DB9,0x00261DB0,0x00261DA7,0x00261D9E,0x00261D95,0x80007377,0x81007378,0x82007379,0x8300737A,0x8400737B, -0x8500737C,0x8600737D,0x8700737E,0x8800737F,0x89007380,0x8A007381,0x8B007382,0x8C007383,0x8D007384,0x8E007385, -0x8F007386,0x90007387,0x91007388,0x92007389,0x9300738A,0x9400738B,0x9500738C,0x9600738D,0x9700738E,0x9800738F, -0x99007390,0x9A007391,0x9B007392,0x9C007393,0x9D007394,0x9E007395,0x9F007396,0xA0007397,0xA1007398,0xA2007399, -0xA300739A,0xA400739B,0xA500739C,0xA600739D,0xA700739E,0xA800739F,0xA90073A0,0xAA0073A1,0xAB0073A2,0xAC0073A3, -0xAD0073A4,0xAE0073A5,0xAF0073A6,0xB00073A7,0xB10073A8,0xB20073A9,0xB30073AA,0xB40073AB,0xB50073AC,0xB60073AD, -0xB70073AE,0xB80073AF,0xB90073B0,0xBA0073B1,0xBB0073B2,0xBC0073B3,0xBD0073B4,0xBE0073B5,0xBF0073B6,0x001A1CA2, -0x00261D8C,0x00261D83,0x00261D7A,0x00261D71,0x00261D68,0x00261D5F,0x00261D56,0x00261D4D,0x00261D44,0x00261D3B, -0x00261D32,0x00261D29,0x00261D20,0x00261D17,0x00261D0E,0x00261D05,0x00261CFC,0x00261CF3,0x00261CEA,0x00261CE1, -0x00261CD8,0x00261CCF,0x00261CC6,0x00261CBD,0x00261CB4,0x00261CAB,0x00261CA2,0x001A1BAF,0x00261C99,0x00261C90, -0x00261C87,0x00261C7E,0x00261C75,0x00261C6C,0x00261C63,0x00261C5A,0x00261C51,0x00261C48,0x00261C3F,0x00261C36, -0x00261C2D,0x00261C24,0x00261C1B,0x00261C12,0x00261C09,0x00261C00,0x00261BF7,0x00261BEE,0x00261BE5,0x00261BDC, -0x00261BD3,0x00261BCA,0x00261BC1,0x00261BB8,0x00261BAF,0x001A1ABC,0x00261BA6,0x00261B9D,0x00261B94,0x00261B8B, -0x00261B82,0x00261B79,0x00261B70,0x800073F7,0x810073F8,0x820073F9,0x830073FA,0x840073FB,0x850073FC,0x860073FD, -0x870073FE,0x880073FF,0x89007400,0x8A007401,0x8B007402,0x8C007403,0x8D007404,0x8E007405,0x8F007406,0x90007407, -0x91007408,0x92007409,0x9300740A,0x9400740B,0x9500740C,0x9600740D,0x9700740E,0x9800740F,0x99007410,0x9A007411, -0x9B007412,0x9C007413,0x9D007414,0x9E007415,0x9F007416,0xA0007417,0xA1007418,0xA2007419,0xA300741A,0xA400741B, -0xA500741C,0xA600741D,0xA700741E,0xA800741F,0xA9007420,0xAA007421,0xAB007422,0xAC007423,0xAD007424,0xAE007425, -0xAF007426,0xB0007427,0xB1007428,0xB2007429,0xB300742A,0xB400742B,0xB500742C,0xB600742D,0xB700742E,0xB800742F, -0xB9007430,0xBA007431,0xBB007432,0xBC007433,0xBD007434,0xBE007435,0xBF007436,0x00261B67,0x00261B5E,0x00261B55, -0x00261B4C,0x00261B43,0x00261B3A,0x00261B31,0x00261B28,0x00261B1F,0x00261B16,0x00261B0D,0x00261B04,0x00261AFB, -0x00261AF2,0x00261AE9,0x00261AE0,0x00261AD7,0x00261ACE,0x00261AC5,0x00261ABC,0x001A19C9,0x00261AB3,0x00261AAA, -0x00261AA1,0x00261A98,0x00261A8F,0x00261A86,0x00261A7D,0x00261A74,0x00261A6B,0x00261A62,0x00261A59,0x00261A50, -0x00261A47,0x00261A3E,0x00261A35,0x00261A2C,0x00261A23,0x00261A1A,0x00261A11,0x00261A08,0x002619FF,0x002619F6, -0x002619ED,0x002619E4,0x002619DB,0x002619D2,0x002619C9,0x001A18D6,0x002619C0,0x002619B7,0x002619AE,0x002619A5, -0x0026199C,0x00261993,0x0026198A,0x00261981,0x00261978,0x0026196F,0x00261966,0x0026195D,0x00261954,0x0026194B, -0x00261942,0x80007477,0x81007478,0x82007479,0x8300747A,0x8400747B,0x8500747C,0x8600747D,0x8700747E,0x8800747F, -0x89007480,0x8A007481,0x8B007482,0x8C007483,0x8D007484,0x8E007485,0x8F007486,0x90007487,0x91007488,0x92007489, -0x9300748A,0x9400748B,0x9500748C,0x9600748D,0x9700748E,0x9800748F,0x99007490,0x9A007491,0x9B007492,0x9C007493, -0x9D007494,0x9E007495,0x9F007496,0xA0007497,0xA1007498,0xA2007499,0xA300749A,0xA400749B,0xA500749C,0xA600749D, -0xA700749E,0xA800749F,0xA90074A0,0xAA0074A1,0xAB0074A2,0xAC0074A3,0xAD0074A4,0xAE0074A5,0xAF0074A6,0xB00074A7, -0xB10074A8,0xB20074A9,0xB30074AA,0xB40074AB,0xB50074AC,0xB60074AD,0xB70074AE,0xB80074AF,0xB90074B0,0xBA0074B1, -0xBB0074B2,0xBC0074B3,0xBD0074B4,0xBE0074B5,0xBF0074B6,0x00261939,0x00261930,0x00261927,0x0026191E,0x00261915, -0x0026190C,0x00261903,0x002618FA,0x002618F1,0x002618E8,0x002618DF,0x002618D6,0x001A17E3,0x002618CD,0x002618C4, -0x002618BB,0x002618B2,0x002618A9,0x002618A0,0x00261897,0x0026188E,0x00261885,0x0026187C,0x00261873,0x0026186A, -0x00261861,0x00261858,0x0026184F,0x00261846,0x0026183D,0x00261834,0x0026182B,0x00261822,0x00261819,0x00261810, -0x00261807,0x002617FE,0x002617F5,0x002617EC,0x002617E3,0x001A16F0,0x002617DA,0x002617D1,0x002617C8,0x002617BF, -0x002617B6,0x002617AD,0x002617A4,0x0026179B,0x00261792,0x00261789,0x00261780,0x00261777,0x0026176E,0x00261765, -0x0026175C,0x00261753,0x0026174A,0x00261741,0x00261738,0x0026172F,0x00261726,0x0026171D,0x00261714,0x800074F7, -0x810074F8,0x820074F9,0x830074FA,0x840074FB,0x850074FC,0x860074FD,0x870074FE,0x880074FF,0x89007500,0x8A007501, -0x8B007502,0x8C007503,0x8D007504,0x8E007505,0x8F007506,0x90007507,0x91007508,0x92007509,0x9300750A,0x9400750B, -0x9500750C,0x9600750D,0x9700750E,0x9800750F,0x99007510,0x9A007511,0x9B007512,0x9C007513,0x9D007514,0x9E007515, -0x9F007516,0xA0007517,0xA1007518,0xA2007519,0xA300751A,0xA400751B,0xA500751C,0xA600751D,0xA700751E,0xA800751F, -0xA9007520,0xAA007521,0xAB007522,0xAC007523,0xAD007524,0xAE007525,0xAF007526,0xB0007527,0xB1007528,0xB2007529, -0xB300752A,0xB400752B,0xB500752C,0xB600752D,0xB700752E,0xB800752F,0xB9007530,0xBA007531,0xBB007532,0xBC007533, -0xBD007534,0xBE007535,0xBF007536,0x0026170B,0x00261702,0x002616F9,0x002616F0,0x001A15FD,0x002616E7,0x002616DE, -0x002616D5,0x002616CC,0x002616C3,0x002616BA,0x002616B1,0x002616A8,0x0026169F,0x00261696,0x0026168D,0x00261684, -0x0026167B,0x00261672,0x00261669,0x00261660,0x00261657,0x0026164E,0x00261645,0x0026163C,0x00261633,0x0026162A, -0x00261621,0x00261618,0x0026160F,0x00261606,0x002615FD,0x001A150A,0x002615F4,0x002615EB,0x002615E2,0x002615D9, -0x002615D0,0x002615C7,0x002615BE,0x002615B5,0x002615AC,0x002615A3,0x0026159A,0x00261591,0x00261588,0x0026157F, -0x00261576,0x0026156D,0x00261564,0x0026155B,0x00261552,0x00261549,0x00261540,0x00261537,0x0026152E,0x00261525, -0x0026151C,0x00261513,0x0026150A,0x001A1417,0x00261501,0x002614F8,0x002614EF,0x80007577,0x81007578,0x82007579, -0x8300757A,0x8400757B,0x8500757C,0x8600757D,0x8700757E,0x8800757F,0x89007580,0x8A007581,0x8B007582,0x8C007583, -0x8D007584,0x8E007585,0x8F007586,0x90007587,0x91007588,0x92007589,0x9300758A,0x9400758B,0x9500758C,0x9600758D, -0x9700758E,0x9800758F,0x99007590,0x9A007591,0x9B007592,0x9C007593,0x9D007594,0x9E007595,0x9F007596,0xA0007597, -0xA1007598,0xA2007599,0xA300759A,0xA400759B,0xA500759C,0xA600759D,0xA700759E,0xA800759F,0xA90075A0,0xAA0075A1, -0xAB0075A2,0xAC0075A3,0xAD0075A4,0xAE0075A5,0xAF0075A6,0xB00075A7,0xB10075A8,0xB20075A9,0xB30075AA,0xB40075AB, -0xB50075AC,0xB60075AD,0xB70075AE,0xB80075AF,0xB90075B0,0xBA0075B1,0xBB0075B2,0xBC0075B3,0xBD0075B4,0xBE0075B5, -0xBF0075B6,0x002614E6,0x002614DD,0x002614D4,0x002614CB,0x002614C2,0x002614B9,0x002614B0,0x002614A7,0x0026149E, -0x00261495,0x0026148C,0x00261483,0x0026147A,0x00261471,0x00261468,0x0026145F,0x00261456,0x0026144D,0x00261444, -0x0026143B,0x00261432,0x00261429,0x00261420,0x00261417,0x001A1324,0x0026140E,0x00261405,0x002613FC,0x002613F3, -0x002613EA,0x002613E1,0x002613D8,0x002613CF,0x002613C6,0x002613BD,0x002613B4,0x002613AB,0x002613A2,0x00261399, -0x00261390,0x00261387,0x0026137E,0x00261375,0x0026136C,0x00261363,0x0026135A,0x00261351,0x00261348,0x0026133F, -0x00261336,0x0026132D,0x00261324,0x001A1231,0x0026131B,0x00261312,0x00261309,0x00261300,0x002612F7,0x002612EE, -0x002612E5,0x002612DC,0x002612D3,0x002612CA,0x002612C1,0x800075F7,0x810075F8,0x820075F9,0x830075FA,0x840075FB, -0x850075FC,0x860075FD,0x870075FE,0x880075FF,0x89007600,0x8A007601,0x8B007602,0x8C007603,0x8D007604,0x8E007605, -0x8F007606,0x90007607,0x91007608,0x92007609,0x9300760A,0x9400760B,0x9500760C,0x9600760D,0x9700760E,0x9800760F, -0x99007610,0x9A007611,0x9B007612,0x9C007613,0x9D007614,0x9E007615,0x9F007616,0xA0007617,0xA1007618,0xA2007619, -0xA300761A,0xA400761B,0xA500761C,0xA600761D,0xA700761E,0xA800761F,0xA9007620,0xAA007621,0xAB007622,0xAC007623, -0xAD007624,0xAE007625,0xAF007626,0xB0007627,0xB1007628,0xB2007629,0xB300762A,0xB400762B,0xB500762C,0xB600762D, -0xB700762E,0xB800762F,0xB9007630,0xBA007631,0xBB007632,0xBC007633,0xBD007634,0xBE007635,0xBF007636,0x002612B8, -0x002612AF,0x002612A6,0x0026129D,0x00261294,0x0026128B,0x00261282,0x00261279,0x00261270,0x00261267,0x0026125E, -0x00261255,0x0026124C,0x00261243,0x0026123A,0x00261231,0x001A113E,0x00261228,0x0026121F,0x00261216,0x0026120D, -0x00261204,0x002611FB,0x002611F2,0x002611E9,0x002611E0,0x002611D7,0x002611CE,0x002611C5,0x002611BC,0x002611B3, -0x002611AA,0x002611A1,0x00261198,0x0026118F,0x00261186,0x0026117D,0x00261174,0x0026116B,0x00261162,0x00261159, -0x00261150,0x00261147,0x0026113E,0x001A104B,0x00261135,0x0026112C,0x00261123,0x0026111A,0x00261111,0x00261108, -0x002610FF,0x002610F6,0x002610ED,0x002610E4,0x002610DB,0x002610D2,0x002610C9,0x002610C0,0x002610B7,0x002610AE, -0x002610A5,0x0026109C,0x00261093,0x80007677,0x81007678,0x82007679,0x8300767A,0x8400767B,0x8500767C,0x8600767D, -0x8700767E,0x8800767F,0x89007680,0x8A007681,0x8B007682,0x8C007683,0x8D007684,0x8E007685,0x8F007686,0x90007687, -0x91007688,0x92007689,0x9300768A,0x9400768B,0x9500768C,0x9600768D,0x9700768E,0x9800768F,0x99007690,0x9A007691, -0x9B007692,0x9C007693,0x9D007694,0x9E007695,0x9F007696,0xA0007697,0xA1007698,0xA2007699,0xA300769A,0xA400769B, -0xA500769C,0xA600769D,0xA700769E,0xA800769F,0xA90076A0,0xAA0076A1,0xAB0076A2,0xAC0076A3,0xAD0076A4,0xAE0076A5, -0xAF0076A6,0xB00076A7,0xB10076A8,0xB20076A9,0xB30076AA,0xB40076AB,0xB50076AC,0xB60076AD,0xB70076AE,0xB80076AF, -0xB90076B0,0xBA0076B1,0xBB0076B2,0xBC0076B3,0xBD0076B4,0xBE0076B5,0xBF0076B6,0x0026108A,0x00261081,0x00261078, -0x0026106F,0x00261066,0x0026105D,0x00261054,0x0026104B,0x001A0F58,0x00261042,0x00261039,0x00261030,0x00261027, -0x0026101E,0x00261015,0x0026100C,0x00261003,0x00260FFA,0x00260FF1,0x00260FE8,0x00260FDF,0x00260FD6,0x00260FCD, -0x00260FC4,0x00260FBB,0x00260FB2,0x00260FA9,0x00260FA0,0x00260F97,0x00260F8E,0x00260F85,0x00260F7C,0x00260F73, -0x00260F6A,0x00260F61,0x00260F58,0x001A0E65,0x00260F4F,0x00260F46,0x00260F3D,0x00260F34,0x00260F2B,0x00260F22, -0x00260F19,0x00260F10,0x00260F07,0x00260EFE,0x00260EF5,0x00260EEC,0x00260EE3,0x00260EDA,0x00260ED1,0x00260EC8, -0x00260EBF,0x00260EB6,0x00260EAD,0x00260EA4,0x00260E9B,0x00260E92,0x00260E89,0x00260E80,0x00260E77,0x00260E6E, -0x00260E65,0x800076F7,0x810076F8,0x820076F9,0x830076FA,0x840076FB,0x850076FC,0x860076FD,0x870076FE,0x880076FF, -0x89007700,0x8A007701,0x8B007702,0x8C007703,0x8D007704,0x8E007705,0x8F007706,0x90007707,0x91007708,0x92007709, -0x9300770A,0x9400770B,0x9500770C,0x9600770D,0x9700770E,0x9800770F,0x99007710,0x9A007711,0x9B007712,0x9C007713, -0x9D007714,0x9E007715,0x9F007716,0xA0007717,0xA1007718,0xA2007719,0xA300771A,0xA400771B,0xA500771C,0xA600771D, -0xA700771E,0xA800771F,0xA9007720,0xAA007721,0xAB007722,0xAC007723,0xAD007724,0xAE007725,0xAF007726,0xB0007727, -0xB1007728,0xB2007729,0xB300772A,0xB400772B,0xB500772C,0xB600772D,0xB700772E,0xB800772F,0xB9007730,0xBA007731, -0xBB007732,0xBC007733,0xBD007734,0xBE007735,0xBF007736,0x001A0D72,0x00260E5C,0x00260E53,0x00260E4A,0x00260E41, -0x00260E38,0x00260E2F,0x00260E26,0x00260E1D,0x00260E14,0x00260E0B,0x00260E02,0x00260DF9,0x00260DF0,0x00260DE7, -0x00260DDE,0x00260DD5,0x00260DCC,0x00260DC3,0x00260DBA,0x00260DB1,0x00260DA8,0x00260D9F,0x00260D96,0x00260D8D, -0x00260D84,0x00260D7B,0x00260D72,0x001A0C7F,0x00260D69,0x00260D60,0x00260D57,0x00260D4E,0x00260D45,0x00260D3C, -0x00260D33,0x00260D2A,0x00260D21,0x00260D18,0x00260D0F,0x00260D06,0x00260CFD,0x00260CF4,0x00260CEB,0x00260CE2, -0x00260CD9,0x00260CD0,0x00260CC7,0x00260CBE,0x00260CB5,0x00260CAC,0x00260CA3,0x00260C9A,0x00260C91,0x00260C88, -0x00260C7F,0x001A0B8C,0x00260C76,0x00260C6D,0x00260C64,0x00260C5B,0x00260C52,0x00260C49,0x00260C40,0x80007777, -0x81007778,0x82007779,0x8300777A,0x8400777B,0x8500777C,0x8600777D,0x8700777E,0x8800777F,0x89007780,0x8A007781, -0x8B007782,0x8C007783,0x8D007784,0x8E007785,0x8F007786,0x90007787,0x91007788,0x92007789,0x9300778A,0x9400778B, -0x9500778C,0x9600778D,0x9700778E,0x9800778F,0x99007790,0x9A007791,0x9B007792,0x9C007793,0x9D007794,0x9E007795, -0x9F007796,0xA0007797,0xA1007798,0xA2007799,0xA300779A,0xA400779B,0xA500779C,0xA600779D,0xA700779E,0xA800779F, -0xA90077A0,0xAA0077A1,0xAB0077A2,0xAC0077A3,0xAD0077A4,0xAE0077A5,0xAF0077A6,0xB00077A7,0xB10077A8,0xB20077A9, -0xB30077AA,0xB40077AB,0xB50077AC,0xB60077AD,0xB70077AE,0xB80077AF,0xB90077B0,0xBA0077B1,0xBB0077B2,0xBC0077B3, -0xBD0077B4,0xBE0077B5,0xBF0077B6,0x00260C37,0x00260C2E,0x00260C25,0x00260C1C,0x00260C13,0x00260C0A,0x00260C01, -0x00260BF8,0x00260BEF,0x00260BE6,0x00260BDD,0x00260BD4,0x00260BCB,0x00260BC2,0x00260BB9,0x00260BB0,0x00260BA7, -0x00260B9E,0x00260B95,0x00260B8C,0x001A0A99,0x00260B83,0x00260B7A,0x00260B71,0x00260B68,0x00260B5F,0x00260B56, -0x00260B4D,0x00260B44,0x00260B3B,0x00260B32,0x00260B29,0x00260B20,0x00260B17,0x00260B0E,0x00260B05,0x00260AFC, -0x00260AF3,0x00260AEA,0x00260AE1,0x00260AD8,0x00260ACF,0x00260AC6,0x00260ABD,0x00260AB4,0x00260AAB,0x00260AA2, -0x00260A99,0x001A09A6,0x00260A90,0x00260A87,0x00260A7E,0x00260A75,0x00260A6C,0x00260A63,0x00260A5A,0x00260A51, -0x00260A48,0x00260A3F,0x00260A36,0x00260A2D,0x00260A24,0x00260A1B,0x00260A12,0x800077B7,0x81007837,0x820078B7, -0x83007937,0x840079B7,0x85007A37,0x86007AB7,0x87007B37,0x88007BB7,0x89007C37,0x8A007CB7,0x8B007D37,0x8C007DB7, -0x8D007E37,0x8E007EB7,0x8F007F37,0x90007FB7,0x91008037,0x920080B7,0x93008137,0x940081B7,0x95008237,0x960082B7, -0x97008337,0x980083B7,0x99008437,0x9A0084B7,0x9B008537,0x9C0085B7,0x9D008637,0x9E0086B7,0x9F008737,0xA00087B7, -0xA1008837,0xA20088B7,0xA3008937,0xA40089B7,0xA5008A37,0xA6008AB7,0xA7008B37,0xA8008BB7,0xA9008C37,0xAA008CB7, -0xAB008D37,0xAC008DB7,0xAD008E37,0xAE008EB7,0xAF008F37,0xB0008FB7,0xB1009037,0xB20090B7,0xB3009137,0xB40091B7, -0xB5009237,0xB60092B7,0xB7009337,0xB80093B7,0xB9009437,0xBA0094B7,0xBB009537,0xBC0095B7,0xBD009637,0xBE0096B7, -0xBF009737,0x00260A09,0x00260A00,0x002609F7,0x002609EE,0x002609E5,0x002609DC,0x002609D3,0x002609CA,0x002609C1, -0x002609B8,0x002609AF,0x002609A6,0x001A08B3,0x0026099D,0x00260994,0x0026098B,0x00260982,0x00260979,0x00260970, -0x00260967,0x0026095E,0x00260955,0x0026094C,0x00260943,0x0026093A,0x00260931,0x00260928,0x0026091F,0x00260916, -0x0026090D,0x00260904,0x002608FB,0x002608F2,0x002608E9,0x002608E0,0x002608D7,0x002608CE,0x002608C5,0x002608BC, -0x002608B3,0x001A07C0,0x002608AA,0x002608A1,0x00260898,0x0026088F,0x00260886,0x0026087D,0x00260874,0x0026086B, -0x00260862,0x00260859,0x00260850,0x00260847,0x0026083E,0x00260835,0x0026082C,0x00260823,0x0026081A,0x00260811, -0x00260808,0x002607FF,0x002607F6,0x002607ED,0x002607E4,0x800077F7,0x810077F8,0x820077F9,0x830077FA,0x840077FB, -0x850077FC,0x860077FD,0x870077FE,0x880077FF,0x89007800,0x8A007801,0x8B007802,0x8C007803,0x8D007804,0x8E007805, -0x8F007806,0x90007807,0x91007808,0x92007809,0x9300780A,0x9400780B,0x9500780C,0x9600780D,0x9700780E,0x9800780F, -0x99007810,0x9A007811,0x9B007812,0x9C007813,0x9D007814,0x9E007815,0x9F007816,0xA0007817,0xA1007818,0xA2007819, -0xA300781A,0xA400781B,0xA500781C,0xA600781D,0xA700781E,0xA800781F,0xA9007820,0xAA007821,0xAB007822,0xAC007823, -0xAD007824,0xAE007825,0xAF007826,0xB0007827,0xB1007828,0xB2007829,0xB300782A,0xB400782B,0xB500782C,0xB600782D, -0xB700782E,0xB800782F,0xB9007830,0xBA007831,0xBB007832,0xBC007833,0xBD007834,0xBE007835,0xBF007836,0x002607DB, -0x002607D2,0x002607C9,0x002607C0,0x001A06CD,0x002607B7,0x002607AE,0x002607A5,0x0026079C,0x00260793,0x0026078A, -0x00260781,0x00260778,0x0026076F,0x00260766,0x0026075D,0x00260754,0x0026074B,0x00260742,0x00260739,0x00260730, -0x00260727,0x0026071E,0x00260715,0x0026070C,0x00260703,0x002606FA,0x002606F1,0x002606E8,0x002606DF,0x002606D6, -0x002606CD,0x001A05DA,0x002606C4,0x002606BB,0x002606B2,0x002606A9,0x002606A0,0x00260697,0x0026068E,0x00260685, -0x0026067C,0x00260673,0x0026066A,0x00260661,0x00260658,0x0026064F,0x00260646,0x0026063D,0x00260634,0x0026062B, -0x00260622,0x00260619,0x00260610,0x00260607,0x002605FE,0x002605F5,0x002605EC,0x002605E3,0x002605DA,0x001A04E7, -0x002605D1,0x002605C8,0x002605BF,0x80007877,0x81007878,0x82007879,0x8300787A,0x8400787B,0x8500787C,0x8600787D, -0x8700787E,0x8800787F,0x89007880,0x8A007881,0x8B007882,0x8C007883,0x8D007884,0x8E007885,0x8F007886,0x90007887, -0x91007888,0x92007889,0x9300788A,0x9400788B,0x9500788C,0x9600788D,0x9700788E,0x9800788F,0x99007890,0x9A007891, -0x9B007892,0x9C007893,0x9D007894,0x9E007895,0x9F007896,0xA0007897,0xA1007898,0xA2007899,0xA300789A,0xA400789B, -0xA500789C,0xA600789D,0xA700789E,0xA800789F,0xA90078A0,0xAA0078A1,0xAB0078A2,0xAC0078A3,0xAD0078A4,0xAE0078A5, -0xAF0078A6,0xB00078A7,0xB10078A8,0xB20078A9,0xB30078AA,0xB40078AB,0xB50078AC,0xB60078AD,0xB70078AE,0xB80078AF, -0xB90078B0,0xBA0078B1,0xBB0078B2,0xBC0078B3,0xBD0078B4,0xBE0078B5,0xBF0078B6,0x002605B6,0x002605AD,0x002605A4, -0x0026059B,0x00260592,0x00260589,0x00260580,0x00260577,0x0026056E,0x00260565,0x0026055C,0x00260553,0x0026054A, -0x00260541,0x00260538,0x0026052F,0x00260526,0x0026051D,0x00260514,0x0026050B,0x00260502,0x002604F9,0x002604F0, -0x002604E7,0x001A03F4,0x002604DE,0x002604D5,0x002604CC,0x002604C3,0x002604BA,0x002604B1,0x002604A8,0x0026049F, -0x00260496,0x0026048D,0x00260484,0x0026047B,0x00260472,0x00260469,0x00260460,0x00260457,0x0026044E,0x00260445, -0x0026043C,0x00260433,0x0026042A,0x00260421,0x00260418,0x0026040F,0x00260406,0x002603FD,0x002603F4,0x001A0301, -0x002603EB,0x002603E2,0x002603D9,0x002603D0,0x002603C7,0x002603BE,0x002603B5,0x002603AC,0x002603A3,0x0026039A, -0x00260391,0x800078F7,0x810078F8,0x820078F9,0x830078FA,0x840078FB,0x850078FC,0x860078FD,0x870078FE,0x880078FF, -0x89007900,0x8A007901,0x8B007902,0x8C007903,0x8D007904,0x8E007905,0x8F007906,0x90007907,0x91007908,0x92007909, -0x9300790A,0x9400790B,0x9500790C,0x9600790D,0x9700790E,0x9800790F,0x99007910,0x9A007911,0x9B007912,0x9C007913, -0x9D007914,0x9E007915,0x9F007916,0xA0007917,0xA1007918,0xA2007919,0xA300791A,0xA400791B,0xA500791C,0xA600791D, -0xA700791E,0xA800791F,0xA9007920,0xAA007921,0xAB007922,0xAC007923,0xAD007924,0xAE007925,0xAF007926,0xB0007927, -0xB1007928,0xB2007929,0xB300792A,0xB400792B,0xB500792C,0xB600792D,0xB700792E,0xB800792F,0xB9007930,0xBA007931, -0xBB007932,0xBC007933,0xBD007934,0xBE007935,0xBF007936,0x00260388,0x0026037F,0x00260376,0x0026036D,0x00260364, -0x0026035B,0x00260352,0x00260349,0x00260340,0x00260337,0x0026032E,0x00260325,0x0026031C,0x00260313,0x0026030A, -0x00260301,0x001A020E,0x002602F8,0x002602EF,0x002602E6,0x002602DD,0x002602D4,0x002602CB,0x002602C2,0x002602B9, -0x002602B0,0x002602A7,0x0026029E,0x00260295,0x0026028C,0x00260283,0x0026027A,0x00260271,0x00260268,0x0026025F, -0x00260256,0x0026024D,0x00260244,0x0026023B,0x00260232,0x00260229,0x00260220,0x00260217,0x0026020E,0x001A011B, -0x00260205,0x002601FC,0x002601F3,0x002601EA,0x002601E1,0x002601D8,0x002601CF,0x002601C6,0x002601BD,0x002601B4, -0x002601AB,0x002601A2,0x00260199,0x00260190,0x00260187,0x0026017E,0x00260175,0x0026016C,0x00260163,0x80007977, -0x81007978,0x82007979,0x8300797A,0x8400797B,0x8500797C,0x8600797D,0x8700797E,0x8800797F,0x89007980,0x8A007981, -0x8B007982,0x8C007983,0x8D007984,0x8E007985,0x8F007986,0x90007987,0x91007988,0x92007989,0x9300798A,0x9400798B, -0x9500798C,0x9600798D,0x9700798E,0x9800798F,0x99007990,0x9A007991,0x9B007992,0x9C007993,0x9D007994,0x9E007995, -0x9F007996,0xA0007997,0xA1007998,0xA2007999,0xA300799A,0xA400799B,0xA500799C,0xA600799D,0xA700799E,0xA800799F, -0xA90079A0,0xAA0079A1,0xAB0079A2,0xAC0079A3,0xAD0079A4,0xAE0079A5,0xAF0079A6,0xB00079A7,0xB10079A8,0xB20079A9, -0xB30079AA,0xB40079AB,0xB50079AC,0xB60079AD,0xB70079AE,0xB80079AF,0xB90079B0,0xBA0079B1,0xBB0079B2,0xBC0079B3, -0xBD0079B4,0xBE0079B5,0xBF0079B6,0x0026015A,0x00260151,0x00260148,0x0026013F,0x00260136,0x0026012D,0x00260124, -0x0026011B,0x001A0028,0x00260112,0x00260109,0x00260100,0x002600F7,0x002600EE,0x002600E5,0x002600DC,0x002600D3, -0x002600CA,0x002600C1,0x002600B8,0x002600AF,0x002600A6,0x0026009D,0x00260094,0x0026008B,0x00260082,0x00260079, -0x00260070,0x00260067,0x0026005E,0x00260055,0x0026004C,0x00260043,0x0026003A,0x00260031,0x00260028,0x0019FF35, -0x0026001F,0x00260016,0x0026000D,0x00260004,0x0025FFFB,0x0025FFF2,0x0025FFE9,0x0025FFE0,0x0025FFD7,0x0025FFCE, -0x0025FFC5,0x0025FFBC,0x0025FFB3,0x0025FFAA,0x0025FFA1,0x0025FF98,0x0025FF8F,0x0025FF86,0x0025FF7D,0x0025FF74, -0x0025FF6B,0x0025FF62,0x0025FF59,0x0025FF50,0x0025FF47,0x0025FF3E,0x0025FF35,0x800079F7,0x810079F8,0x820079F9, -0x830079FA,0x840079FB,0x850079FC,0x860079FD,0x870079FE,0x880079FF,0x89007A00,0x8A007A01,0x8B007A02,0x8C007A03, -0x8D007A04,0x8E007A05,0x8F007A06,0x90007A07,0x91007A08,0x92007A09,0x93007A0A,0x94007A0B,0x95007A0C,0x96007A0D, -0x97007A0E,0x98007A0F,0x99007A10,0x9A007A11,0x9B007A12,0x9C007A13,0x9D007A14,0x9E007A15,0x9F007A16,0xA0007A17, -0xA1007A18,0xA2007A19,0xA3007A1A,0xA4007A1B,0xA5007A1C,0xA6007A1D,0xA7007A1E,0xA8007A1F,0xA9007A20,0xAA007A21, -0xAB007A22,0xAC007A23,0xAD007A24,0xAE007A25,0xAF007A26,0xB0007A27,0xB1007A28,0xB2007A29,0xB3007A2A,0xB4007A2B, -0xB5007A2C,0xB6007A2D,0xB7007A2E,0xB8007A2F,0xB9007A30,0xBA007A31,0xBB007A32,0xBC007A33,0xBD007A34,0xBE007A35, -0xBF007A36,0x0019FE42,0x0025FF2C,0x0025FF23,0x0025FF1A,0x0025FF11,0x0025FF08,0x0025FEFF,0x0025FEF6,0x0025FEED, -0x0025FEE4,0x0025FEDB,0x0025FED2,0x0025FEC9,0x0025FEC0,0x0025FEB7,0x0025FEAE,0x0025FEA5,0x0025FE9C,0x0025FE93, -0x0025FE8A,0x0025FE81,0x0025FE78,0x0025FE6F,0x0025FE66,0x0025FE5D,0x0025FE54,0x0025FE4B,0x0025FE42,0x0019FD4F, -0x0025FE39,0x0025FE30,0x0025FE27,0x0025FE1E,0x0025FE15,0x0025FE0C,0x0025FE03,0x0025FDFA,0x0025FDF1,0x0025FDE8, -0x0025FDDF,0x0025FDD6,0x0025FDCD,0x0025FDC4,0x0025FDBB,0x0025FDB2,0x0025FDA9,0x0025FDA0,0x0025FD97,0x0025FD8E, -0x0025FD85,0x0025FD7C,0x0025FD73,0x0025FD6A,0x0025FD61,0x0025FD58,0x0025FD4F,0x0019FC5C,0x0025FD46,0x0025FD3D, -0x0025FD34,0x0025FD2B,0x0025FD22,0x0025FD19,0x0025FD10,0x80007A77,0x81007A78,0x82007A79,0x83007A7A,0x84007A7B, -0x85007A7C,0x86007A7D,0x87007A7E,0x88007A7F,0x89007A80,0x8A007A81,0x8B007A82,0x8C007A83,0x8D007A84,0x8E007A85, -0x8F007A86,0x90007A87,0x91007A88,0x92007A89,0x93007A8A,0x94007A8B,0x95007A8C,0x96007A8D,0x97007A8E,0x98007A8F, -0x99007A90,0x9A007A91,0x9B007A92,0x9C007A93,0x9D007A94,0x9E007A95,0x9F007A96,0xA0007A97,0xA1007A98,0xA2007A99, -0xA3007A9A,0xA4007A9B,0xA5007A9C,0xA6007A9D,0xA7007A9E,0xA8007A9F,0xA9007AA0,0xAA007AA1,0xAB007AA2,0xAC007AA3, -0xAD007AA4,0xAE007AA5,0xAF007AA6,0xB0007AA7,0xB1007AA8,0xB2007AA9,0xB3007AAA,0xB4007AAB,0xB5007AAC,0xB6007AAD, -0xB7007AAE,0xB8007AAF,0xB9007AB0,0xBA007AB1,0xBB007AB2,0xBC007AB3,0xBD007AB4,0xBE007AB5,0xBF007AB6,0x0025FD07, -0x0025FCFE,0x0025FCF5,0x0025FCEC,0x0025FCE3,0x0025FCDA,0x0025FCD1,0x0025FCC8,0x0025FCBF,0x0025FCB6,0x0025FCAD, -0x0025FCA4,0x0025FC9B,0x0025FC92,0x0025FC89,0x0025FC80,0x0025FC77,0x0025FC6E,0x0025FC65,0x0025FC5C,0x0019FB69, -0x0025FC53,0x0025FC4A,0x0025FC41,0x0025FC38,0x0025FC2F,0x0025FC26,0x0025FC1D,0x0025FC14,0x0025FC0B,0x0025FC02, -0x0025FBF9,0x0025FBF0,0x0025FBE7,0x0025FBDE,0x0025FBD5,0x0025FBCC,0x0025FBC3,0x0025FBBA,0x0025FBB1,0x0025FBA8, -0x0025FB9F,0x0025FB96,0x0025FB8D,0x0025FB84,0x0025FB7B,0x0025FB72,0x0025FB69,0x0019FA76,0x0025FB60,0x0025FB57, -0x0025FB4E,0x0025FB45,0x0025FB3C,0x0025FB33,0x0025FB2A,0x0025FB21,0x0025FB18,0x0025FB0F,0x0025FB06,0x0025FAFD, -0x0025FAF4,0x0025FAEB,0x0025FAE2,0x80007AF7,0x81007AF8,0x82007AF9,0x83007AFA,0x84007AFB,0x85007AFC,0x86007AFD, -0x87007AFE,0x88007AFF,0x89007B00,0x8A007B01,0x8B007B02,0x8C007B03,0x8D007B04,0x8E007B05,0x8F007B06,0x90007B07, -0x91007B08,0x92007B09,0x93007B0A,0x94007B0B,0x95007B0C,0x96007B0D,0x97007B0E,0x98007B0F,0x99007B10,0x9A007B11, -0x9B007B12,0x9C007B13,0x9D007B14,0x9E007B15,0x9F007B16,0xA0007B17,0xA1007B18,0xA2007B19,0xA3007B1A,0xA4007B1B, -0xA5007B1C,0xA6007B1D,0xA7007B1E,0xA8007B1F,0xA9007B20,0xAA007B21,0xAB007B22,0xAC007B23,0xAD007B24,0xAE007B25, -0xAF007B26,0xB0007B27,0xB1007B28,0xB2007B29,0xB3007B2A,0xB4007B2B,0xB5007B2C,0xB6007B2D,0xB7007B2E,0xB8007B2F, -0xB9007B30,0xBA007B31,0xBB007B32,0xBC007B33,0xBD007B34,0xBE007B35,0xBF007B36,0x0025FAD9,0x0025FAD0,0x0025FAC7, -0x0025FABE,0x0025FAB5,0x0025FAAC,0x0025FAA3,0x0025FA9A,0x0025FA91,0x0025FA88,0x0025FA7F,0x0025FA76,0x0019F983, -0x0025FA6D,0x0025FA64,0x0025FA5B,0x0025FA52,0x0025FA49,0x0025FA40,0x0025FA37,0x0025FA2E,0x0025FA25,0x0025FA1C, -0x0025FA13,0x0025FA0A,0x0025FA01,0x0025F9F8,0x0025F9EF,0x0025F9E6,0x0025F9DD,0x0025F9D4,0x0025F9CB,0x0025F9C2, -0x0025F9B9,0x0025F9B0,0x0025F9A7,0x0025F99E,0x0025F995,0x0025F98C,0x0025F983,0x0019F890,0x0025F97A,0x0025F971, -0x0025F968,0x0025F95F,0x0025F956,0x0025F94D,0x0025F944,0x0025F93B,0x0025F932,0x0025F929,0x0025F920,0x0025F917, -0x0025F90E,0x0025F905,0x0025F8FC,0x0025F8F3,0x0025F8EA,0x0025F8E1,0x0025F8D8,0x0025F8CF,0x0025F8C6,0x0025F8BD, -0x0025F8B4,0x80007B77,0x81007B78,0x82007B79,0x83007B7A,0x84007B7B,0x85007B7C,0x86007B7D,0x87007B7E,0x88007B7F, -0x89007B80,0x8A007B81,0x8B007B82,0x8C007B83,0x8D007B84,0x8E007B85,0x8F007B86,0x90007B87,0x91007B88,0x92007B89, -0x93007B8A,0x94007B8B,0x95007B8C,0x96007B8D,0x97007B8E,0x98007B8F,0x99007B90,0x9A007B91,0x9B007B92,0x9C007B93, -0x9D007B94,0x9E007B95,0x9F007B96,0xA0007B97,0xA1007B98,0xA2007B99,0xA3007B9A,0xA4007B9B,0xA5007B9C,0xA6007B9D, -0xA7007B9E,0xA8007B9F,0xA9007BA0,0xAA007BA1,0xAB007BA2,0xAC007BA3,0xAD007BA4,0xAE007BA5,0xAF007BA6,0xB0007BA7, -0xB1007BA8,0xB2007BA9,0xB3007BAA,0xB4007BAB,0xB5007BAC,0xB6007BAD,0xB7007BAE,0xB8007BAF,0xB9007BB0,0xBA007BB1, -0xBB007BB2,0xBC007BB3,0xBD007BB4,0xBE007BB5,0xBF007BB6,0x0025F8AB,0x0025F8A2,0x0025F899,0x0025F890,0x0019F79D, -0x0025F887,0x0025F87E,0x0025F875,0x0025F86C,0x0025F863,0x0025F85A,0x0025F851,0x0025F848,0x0025F83F,0x0025F836, -0x0025F82D,0x0025F824,0x0025F81B,0x0025F812,0x0025F809,0x0025F800,0x0025F7F7,0x0025F7EE,0x0025F7E5,0x0025F7DC, -0x0025F7D3,0x0025F7CA,0x0025F7C1,0x0025F7B8,0x0025F7AF,0x0025F7A6,0x0025F79D,0x0019F6AA,0x0025F794,0x0025F78B, -0x0025F782,0x0025F779,0x0025F770,0x0025F767,0x0025F75E,0x0025F755,0x0025F74C,0x0025F743,0x0025F73A,0x0025F731, -0x0025F728,0x0025F71F,0x0025F716,0x0025F70D,0x0025F704,0x0025F6FB,0x0025F6F2,0x0025F6E9,0x0025F6E0,0x0025F6D7, -0x0025F6CE,0x0025F6C5,0x0025F6BC,0x0025F6B3,0x0025F6AA,0x0019F5B7,0x0025F6A1,0x0025F698,0x0025F68F,0x80007BF7, -0x81007BF8,0x82007BF9,0x83007BFA,0x84007BFB,0x85007BFC,0x86007BFD,0x87007BFE,0x88007BFF,0x89007C00,0x8A007C01, -0x8B007C02,0x8C007C03,0x8D007C04,0x8E007C05,0x8F007C06,0x90007C07,0x91007C08,0x92007C09,0x93007C0A,0x94007C0B, -0x95007C0C,0x96007C0D,0x97007C0E,0x98007C0F,0x99007C10,0x9A007C11,0x9B007C12,0x9C007C13,0x9D007C14,0x9E007C15, -0x9F007C16,0xA0007C17,0xA1007C18,0xA2007C19,0xA3007C1A,0xA4007C1B,0xA5007C1C,0xA6007C1D,0xA7007C1E,0xA8007C1F, -0xA9007C20,0xAA007C21,0xAB007C22,0xAC007C23,0xAD007C24,0xAE007C25,0xAF007C26,0xB0007C27,0xB1007C28,0xB2007C29, -0xB3007C2A,0xB4007C2B,0xB5007C2C,0xB6007C2D,0xB7007C2E,0xB8007C2F,0xB9007C30,0xBA007C31,0xBB007C32,0xBC007C33, -0xBD007C34,0xBE007C35,0xBF007C36,0x0025F686,0x0025F67D,0x0025F674,0x0025F66B,0x0025F662,0x0025F659,0x0025F650, -0x0025F647,0x0025F63E,0x0025F635,0x0025F62C,0x0025F623,0x0025F61A,0x0025F611,0x0025F608,0x0025F5FF,0x0025F5F6, -0x0025F5ED,0x0025F5E4,0x0025F5DB,0x0025F5D2,0x0025F5C9,0x0025F5C0,0x0025F5B7,0x0019F4C4,0x0025F5AE,0x0025F5A5, -0x0025F59C,0x0025F593,0x0025F58A,0x0025F581,0x0025F578,0x0025F56F,0x0025F566,0x0025F55D,0x0025F554,0x0025F54B, -0x0025F542,0x0025F539,0x0025F530,0x0025F527,0x0025F51E,0x0025F515,0x0025F50C,0x0025F503,0x0025F4FA,0x0025F4F1, -0x0025F4E8,0x0025F4DF,0x0025F4D6,0x0025F4CD,0x0025F4C4,0x0019F3D1,0x0025F4BB,0x0025F4B2,0x0025F4A9,0x0025F4A0, -0x0025F497,0x0025F48E,0x0025F485,0x0025F47C,0x0025F473,0x0025F46A,0x0025F461,0x80007C77,0x81007C78,0x82007C79, -0x83007C7A,0x84007C7B,0x85007C7C,0x86007C7D,0x87007C7E,0x88007C7F,0x89007C80,0x8A007C81,0x8B007C82,0x8C007C83, -0x8D007C84,0x8E007C85,0x8F007C86,0x90007C87,0x91007C88,0x92007C89,0x93007C8A,0x94007C8B,0x95007C8C,0x96007C8D, -0x97007C8E,0x98007C8F,0x99007C90,0x9A007C91,0x9B007C92,0x9C007C93,0x9D007C94,0x9E007C95,0x9F007C96,0xA0007C97, -0xA1007C98,0xA2007C99,0xA3007C9A,0xA4007C9B,0xA5007C9C,0xA6007C9D,0xA7007C9E,0xA8007C9F,0xA9007CA0,0xAA007CA1, -0xAB007CA2,0xAC007CA3,0xAD007CA4,0xAE007CA5,0xAF007CA6,0xB0007CA7,0xB1007CA8,0xB2007CA9,0xB3007CAA,0xB4007CAB, -0xB5007CAC,0xB6007CAD,0xB7007CAE,0xB8007CAF,0xB9007CB0,0xBA007CB1,0xBB007CB2,0xBC007CB3,0xBD007CB4,0xBE007CB5, -0xBF007CB6,0x0025F458,0x0025F44F,0x0025F446,0x0025F43D,0x0025F434,0x0025F42B,0x0025F422,0x0025F419,0x0025F410, -0x0025F407,0x0025F3FE,0x0025F3F5,0x0025F3EC,0x0025F3E3,0x0025F3DA,0x0025F3D1,0x0019F2DE,0x0025F3C8,0x0025F3BF, -0x0025F3B6,0x0025F3AD,0x0025F3A4,0x0025F39B,0x0025F392,0x0025F389,0x0025F380,0x0025F377,0x0025F36E,0x0025F365, -0x0025F35C,0x0025F353,0x0025F34A,0x0025F341,0x0025F338,0x0025F32F,0x0025F326,0x0025F31D,0x0025F314,0x0025F30B, -0x0025F302,0x0025F2F9,0x0025F2F0,0x0025F2E7,0x0025F2DE,0x0019F1EB,0x0025F2D5,0x0025F2CC,0x0025F2C3,0x0025F2BA, -0x0025F2B1,0x0025F2A8,0x0025F29F,0x0025F296,0x0025F28D,0x0025F284,0x0025F27B,0x0025F272,0x0025F269,0x0025F260, -0x0025F257,0x0025F24E,0x0025F245,0x0025F23C,0x0025F233,0x80007CF7,0x81007CF8,0x82007CF9,0x83007CFA,0x84007CFB, -0x85007CFC,0x86007CFD,0x87007CFE,0x88007CFF,0x89007D00,0x8A007D01,0x8B007D02,0x8C007D03,0x8D007D04,0x8E007D05, -0x8F007D06,0x90007D07,0x91007D08,0x92007D09,0x93007D0A,0x94007D0B,0x95007D0C,0x96007D0D,0x97007D0E,0x98007D0F, -0x99007D10,0x9A007D11,0x9B007D12,0x9C007D13,0x9D007D14,0x9E007D15,0x9F007D16,0xA0007D17,0xA1007D18,0xA2007D19, -0xA3007D1A,0xA4007D1B,0xA5007D1C,0xA6007D1D,0xA7007D1E,0xA8007D1F,0xA9007D20,0xAA007D21,0xAB007D22,0xAC007D23, -0xAD007D24,0xAE007D25,0xAF007D26,0xB0007D27,0xB1007D28,0xB2007D29,0xB3007D2A,0xB4007D2B,0xB5007D2C,0xB6007D2D, -0xB7007D2E,0xB8007D2F,0xB9007D30,0xBA007D31,0xBB007D32,0xBC007D33,0xBD007D34,0xBE007D35,0xBF007D36,0x0025F22A, -0x0025F221,0x0025F218,0x0025F20F,0x0025F206,0x0025F1FD,0x0025F1F4,0x0025F1EB,0x0019F0F8,0x0025F1E2,0x0025F1D9, -0x0025F1D0,0x0025F1C7,0x0025F1BE,0x0025F1B5,0x0025F1AC,0x0025F1A3,0x0025F19A,0x0025F191,0x0025F188,0x0025F17F, -0x0025F176,0x0025F16D,0x0025F164,0x0025F15B,0x0025F152,0x0025F149,0x0025F140,0x0025F137,0x0025F12E,0x0025F125, -0x0025F11C,0x0025F113,0x0025F10A,0x0025F101,0x0025F0F8,0x0019F005,0x0025F0EF,0x0025F0E6,0x0025F0DD,0x0025F0D4, -0x0025F0CB,0x0025F0C2,0x0025F0B9,0x0025F0B0,0x0025F0A7,0x0025F09E,0x0025F095,0x0025F08C,0x0025F083,0x0025F07A, -0x0025F071,0x0025F068,0x0025F05F,0x0025F056,0x0025F04D,0x0025F044,0x0025F03B,0x0025F032,0x0025F029,0x0025F020, -0x0025F017,0x0025F00E,0x0025F005,0x80007D77,0x81007D78,0x82007D79,0x83007D7A,0x84007D7B,0x85007D7C,0x86007D7D, -0x87007D7E,0x88007D7F,0x89007D80,0x8A007D81,0x8B007D82,0x8C007D83,0x8D007D84,0x8E007D85,0x8F007D86,0x90007D87, -0x91007D88,0x92007D89,0x93007D8A,0x94007D8B,0x95007D8C,0x96007D8D,0x97007D8E,0x98007D8F,0x99007D90,0x9A007D91, -0x9B007D92,0x9C007D93,0x9D007D94,0x9E007D95,0x9F007D96,0xA0007D97,0xA1007D98,0xA2007D99,0xA3007D9A,0xA4007D9B, -0xA5007D9C,0xA6007D9D,0xA7007D9E,0xA8007D9F,0xA9007DA0,0xAA007DA1,0xAB007DA2,0xAC007DA3,0xAD007DA4,0xAE007DA5, -0xAF007DA6,0xB0007DA7,0xB1007DA8,0xB2007DA9,0xB3007DAA,0xB4007DAB,0xB5007DAC,0xB6007DAD,0xB7007DAE,0xB8007DAF, -0xB9007DB0,0xBA007DB1,0xBB007DB2,0xBC007DB3,0xBD007DB4,0xBE007DB5,0xBF007DB6,0x0019EF12,0x0025EFFC,0x0025EFF3, -0x0025EFEA,0x0025EFE1,0x0025EFD8,0x0025EFCF,0x0025EFC6,0x0025EFBD,0x0025EFB4,0x0025EFAB,0x0025EFA2,0x0025EF99, -0x0025EF90,0x0025EF87,0x0025EF7E,0x0025EF75,0x0025EF6C,0x0025EF63,0x0025EF5A,0x0025EF51,0x0025EF48,0x0025EF3F, -0x0025EF36,0x0025EF2D,0x0025EF24,0x0025EF1B,0x0025EF12,0x0019EE1F,0x0025EF09,0x0025EF00,0x0025EEF7,0x0025EEEE, -0x0025EEE5,0x0025EEDC,0x0025EED3,0x0025EECA,0x0025EEC1,0x0025EEB8,0x0025EEAF,0x0025EEA6,0x0025EE9D,0x0025EE94, -0x0025EE8B,0x0025EE82,0x0025EE79,0x0025EE70,0x0025EE67,0x0025EE5E,0x0025EE55,0x0025EE4C,0x0025EE43,0x0025EE3A, -0x0025EE31,0x0025EE28,0x0025EE1F,0x0019ED2C,0x0025EE16,0x0025EE0D,0x0025EE04,0x0025EDFB,0x0025EDF2,0x0025EDE9, -0x0025EDE0,0x80007DF7,0x81007DF8,0x82007DF9,0x83007DFA,0x84007DFB,0x85007DFC,0x86007DFD,0x87007DFE,0x88007DFF, -0x89007E00,0x8A007E01,0x8B007E02,0x8C007E03,0x8D007E04,0x8E007E05,0x8F007E06,0x90007E07,0x91007E08,0x92007E09, -0x93007E0A,0x94007E0B,0x95007E0C,0x96007E0D,0x97007E0E,0x98007E0F,0x99007E10,0x9A007E11,0x9B007E12,0x9C007E13, -0x9D007E14,0x9E007E15,0x9F007E16,0xA0007E17,0xA1007E18,0xA2007E19,0xA3007E1A,0xA4007E1B,0xA5007E1C,0xA6007E1D, -0xA7007E1E,0xA8007E1F,0xA9007E20,0xAA007E21,0xAB007E22,0xAC007E23,0xAD007E24,0xAE007E25,0xAF007E26,0xB0007E27, -0xB1007E28,0xB2007E29,0xB3007E2A,0xB4007E2B,0xB5007E2C,0xB6007E2D,0xB7007E2E,0xB8007E2F,0xB9007E30,0xBA007E31, -0xBB007E32,0xBC007E33,0xBD007E34,0xBE007E35,0xBF007E36,0x0025EDD7,0x0025EDCE,0x0025EDC5,0x0025EDBC,0x0025EDB3, -0x0025EDAA,0x0025EDA1,0x0025ED98,0x0025ED8F,0x0025ED86,0x0025ED7D,0x0025ED74,0x0025ED6B,0x0025ED62,0x0025ED59, -0x0025ED50,0x0025ED47,0x0025ED3E,0x0025ED35,0x0025ED2C,0x0019EC39,0x0025ED23,0x0025ED1A,0x0025ED11,0x0025ED08, -0x0025ECFF,0x0025ECF6,0x0025ECED,0x0025ECE4,0x0025ECDB,0x0025ECD2,0x0025ECC9,0x0025ECC0,0x0025ECB7,0x0025ECAE, -0x0025ECA5,0x0025EC9C,0x0025EC93,0x0025EC8A,0x0025EC81,0x0025EC78,0x0025EC6F,0x0025EC66,0x0025EC5D,0x0025EC54, -0x0025EC4B,0x0025EC42,0x0025EC39,0x0019EB46,0x0025EC30,0x0025EC27,0x0025EC1E,0x0025EC15,0x0025EC0C,0x0025EC03, -0x0025EBFA,0x0025EBF1,0x0025EBE8,0x0025EBDF,0x0025EBD6,0x0025EBCD,0x0025EBC4,0x0025EBBB,0x0025EBB2,0x80007E77, -0x81007E78,0x82007E79,0x83007E7A,0x84007E7B,0x85007E7C,0x86007E7D,0x87007E7E,0x88007E7F,0x89007E80,0x8A007E81, -0x8B007E82,0x8C007E83,0x8D007E84,0x8E007E85,0x8F007E86,0x90007E87,0x91007E88,0x92007E89,0x93007E8A,0x94007E8B, -0x95007E8C,0x96007E8D,0x97007E8E,0x98007E8F,0x99007E90,0x9A007E91,0x9B007E92,0x9C007E93,0x9D007E94,0x9E007E95, -0x9F007E96,0xA0007E97,0xA1007E98,0xA2007E99,0xA3007E9A,0xA4007E9B,0xA5007E9C,0xA6007E9D,0xA7007E9E,0xA8007E9F, -0xA9007EA0,0xAA007EA1,0xAB007EA2,0xAC007EA3,0xAD007EA4,0xAE007EA5,0xAF007EA6,0xB0007EA7,0xB1007EA8,0xB2007EA9, -0xB3007EAA,0xB4007EAB,0xB5007EAC,0xB6007EAD,0xB7007EAE,0xB8007EAF,0xB9007EB0,0xBA007EB1,0xBB007EB2,0xBC007EB3, -0xBD007EB4,0xBE007EB5,0xBF007EB6,0x0025EBA9,0x0025EBA0,0x0025EB97,0x0025EB8E,0x0025EB85,0x0025EB7C,0x0025EB73, -0x0025EB6A,0x0025EB61,0x0025EB58,0x0025EB4F,0x0025EB46,0x0019EA53,0x0025EB3D,0x0025EB34,0x0025EB2B,0x0025EB22, -0x0025EB19,0x0025EB10,0x0025EB07,0x0025EAFE,0x0025EAF5,0x0025EAEC,0x0025EAE3,0x0025EADA,0x0025EAD1,0x0025EAC8, -0x0025EABF,0x0025EAB6,0x0025EAAD,0x0025EAA4,0x0025EA9B,0x0025EA92,0x0025EA89,0x0025EA80,0x0025EA77,0x0025EA6E, -0x0025EA65,0x0025EA5C,0x0025EA53,0x0019E960,0x0025EA4A,0x0025EA41,0x0025EA38,0x0025EA2F,0x0025EA26,0x0025EA1D, -0x0025EA14,0x0025EA0B,0x0025EA02,0x0025E9F9,0x0025E9F0,0x0025E9E7,0x0025E9DE,0x0025E9D5,0x0025E9CC,0x0025E9C3, -0x0025E9BA,0x0025E9B1,0x0025E9A8,0x0025E99F,0x0025E996,0x0025E98D,0x0025E984,0x80007EF7,0x81007EF8,0x82007EF9, -0x83007EFA,0x84007EFB,0x85007EFC,0x86007EFD,0x87007EFE,0x88007EFF,0x89007F00,0x8A007F01,0x8B007F02,0x8C007F03, -0x8D007F04,0x8E007F05,0x8F007F06,0x90007F07,0x91007F08,0x92007F09,0x93007F0A,0x94007F0B,0x95007F0C,0x96007F0D, -0x97007F0E,0x98007F0F,0x99007F10,0x9A007F11,0x9B007F12,0x9C007F13,0x9D007F14,0x9E007F15,0x9F007F16,0xA0007F17, -0xA1007F18,0xA2007F19,0xA3007F1A,0xA4007F1B,0xA5007F1C,0xA6007F1D,0xA7007F1E,0xA8007F1F,0xA9007F20,0xAA007F21, -0xAB007F22,0xAC007F23,0xAD007F24,0xAE007F25,0xAF007F26,0xB0007F27,0xB1007F28,0xB2007F29,0xB3007F2A,0xB4007F2B, -0xB5007F2C,0xB6007F2D,0xB7007F2E,0xB8007F2F,0xB9007F30,0xBA007F31,0xBB007F32,0xBC007F33,0xBD007F34,0xBE007F35, -0xBF007F36,0x0025E97B,0x0025E972,0x0025E969,0x0025E960,0x0019E86D,0x0025E957,0x0025E94E,0x0025E945,0x0025E93C, -0x0025E933,0x0025E92A,0x0025E921,0x0025E918,0x0025E90F,0x0025E906,0x0025E8FD,0x0025E8F4,0x0025E8EB,0x0025E8E2, -0x0025E8D9,0x0025E8D0,0x0025E8C7,0x0025E8BE,0x0025E8B5,0x0025E8AC,0x0025E8A3,0x0025E89A,0x0025E891,0x0025E888, -0x0025E87F,0x0025E876,0x0025E86D,0x0019E77A,0x0025E864,0x0025E85B,0x0025E852,0x0025E849,0x0025E840,0x0025E837, -0x0025E82E,0x0025E825,0x0025E81C,0x0025E813,0x0025E80A,0x0025E801,0x0025E7F8,0x0025E7EF,0x0025E7E6,0x0025E7DD, -0x0025E7D4,0x0025E7CB,0x0025E7C2,0x0025E7B9,0x0025E7B0,0x0025E7A7,0x0025E79E,0x0025E795,0x0025E78C,0x0025E783, -0x0025E77A,0x0019E687,0x0025E771,0x0025E768,0x0025E75F,0x80007F77,0x81007F78,0x82007F79,0x83007F7A,0x84007F7B, -0x85007F7C,0x86007F7D,0x87007F7E,0x88007F7F,0x89007F80,0x8A007F81,0x8B007F82,0x8C007F83,0x8D007F84,0x8E007F85, -0x8F007F86,0x90007F87,0x91007F88,0x92007F89,0x93007F8A,0x94007F8B,0x95007F8C,0x96007F8D,0x97007F8E,0x98007F8F, -0x99007F90,0x9A007F91,0x9B007F92,0x9C007F93,0x9D007F94,0x9E007F95,0x9F007F96,0xA0007F97,0xA1007F98,0xA2007F99, -0xA3007F9A,0xA4007F9B,0xA5007F9C,0xA6007F9D,0xA7007F9E,0xA8007F9F,0xA9007FA0,0xAA007FA1,0xAB007FA2,0xAC007FA3, -0xAD007FA4,0xAE007FA5,0xAF007FA6,0xB0007FA7,0xB1007FA8,0xB2007FA9,0xB3007FAA,0xB4007FAB,0xB5007FAC,0xB6007FAD, -0xB7007FAE,0xB8007FAF,0xB9007FB0,0xBA007FB1,0xBB007FB2,0xBC007FB3,0xBD007FB4,0xBE007FB5,0xBF007FB6,0x0025E756, -0x0025E74D,0x0025E744,0x0025E73B,0x0025E732,0x0025E729,0x0025E720,0x0025E717,0x0025E70E,0x0025E705,0x0025E6FC, -0x0025E6F3,0x0025E6EA,0x0025E6E1,0x0025E6D8,0x0025E6CF,0x0025E6C6,0x0025E6BD,0x0025E6B4,0x0025E6AB,0x0025E6A2, -0x0025E699,0x0025E690,0x0025E687,0x0019E594,0x0025E67E,0x0025E675,0x0025E66C,0x0025E663,0x0025E65A,0x0025E651, -0x0025E648,0x0025E63F,0x0025E636,0x0025E62D,0x0025E624,0x0025E61B,0x0025E612,0x0025E609,0x0025E600,0x0025E5F7, -0x0025E5EE,0x0025E5E5,0x0025E5DC,0x0025E5D3,0x0025E5CA,0x0025E5C1,0x0025E5B8,0x0025E5AF,0x0025E5A6,0x0025E59D, -0x0025E594,0x0019E4A1,0x0025E58B,0x0025E582,0x0025E579,0x0025E570,0x0025E567,0x0025E55E,0x0025E555,0x0025E54C, -0x0025E543,0x0025E53A,0x0025E531,0x80007FF7,0x81007FF8,0x82007FF9,0x83007FFA,0x84007FFB,0x85007FFC,0x86007FFD, -0x87007FFE,0x88007FFF,0x89008000,0x8A008001,0x8B008002,0x8C008003,0x8D008004,0x8E008005,0x8F008006,0x90008007, -0x91008008,0x92008009,0x9300800A,0x9400800B,0x9500800C,0x9600800D,0x9700800E,0x9800800F,0x99008010,0x9A008011, -0x9B008012,0x9C008013,0x9D008014,0x9E008015,0x9F008016,0xA0008017,0xA1008018,0xA2008019,0xA300801A,0xA400801B, -0xA500801C,0xA600801D,0xA700801E,0xA800801F,0xA9008020,0xAA008021,0xAB008022,0xAC008023,0xAD008024,0xAE008025, -0xAF008026,0xB0008027,0xB1008028,0xB2008029,0xB300802A,0xB400802B,0xB500802C,0xB600802D,0xB700802E,0xB800802F, -0xB9008030,0xBA008031,0xBB008032,0xBC008033,0xBD008034,0xBE008035,0xBF008036,0x0025E528,0x0025E51F,0x0025E516, -0x0025E50D,0x0025E504,0x0025E4FB,0x0025E4F2,0x0025E4E9,0x0025E4E0,0x0025E4D7,0x0025E4CE,0x0025E4C5,0x0025E4BC, -0x0025E4B3,0x0025E4AA,0x0025E4A1,0x0019E3AE,0x0025E498,0x0025E48F,0x0025E486,0x0025E47D,0x0025E474,0x0025E46B, -0x0025E462,0x0025E459,0x0025E450,0x0025E447,0x0025E43E,0x0025E435,0x0025E42C,0x0025E423,0x0025E41A,0x0025E411, -0x0025E408,0x0025E3FF,0x0025E3F6,0x0025E3ED,0x0025E3E4,0x0025E3DB,0x0025E3D2,0x0025E3C9,0x0025E3C0,0x0025E3B7, -0x0025E3AE,0x0019E2BB,0x0025E3A5,0x0025E39C,0x0025E393,0x0025E38A,0x0025E381,0x0025E378,0x0025E36F,0x0025E366, -0x0025E35D,0x0025E354,0x0025E34B,0x0025E342,0x0025E339,0x0025E330,0x0025E327,0x0025E31E,0x0025E315,0x0025E30C, -0x0025E303,0x80008077,0x81008078,0x82008079,0x8300807A,0x8400807B,0x8500807C,0x8600807D,0x8700807E,0x8800807F, -0x89008080,0x8A008081,0x8B008082,0x8C008083,0x8D008084,0x8E008085,0x8F008086,0x90008087,0x91008088,0x92008089, -0x9300808A,0x9400808B,0x9500808C,0x9600808D,0x9700808E,0x9800808F,0x99008090,0x9A008091,0x9B008092,0x9C008093, -0x9D008094,0x9E008095,0x9F008096,0xA0008097,0xA1008098,0xA2008099,0xA300809A,0xA400809B,0xA500809C,0xA600809D, -0xA700809E,0xA800809F,0xA90080A0,0xAA0080A1,0xAB0080A2,0xAC0080A3,0xAD0080A4,0xAE0080A5,0xAF0080A6,0xB00080A7, -0xB10080A8,0xB20080A9,0xB30080AA,0xB40080AB,0xB50080AC,0xB60080AD,0xB70080AE,0xB80080AF,0xB90080B0,0xBA0080B1, -0xBB0080B2,0xBC0080B3,0xBD0080B4,0xBE0080B5,0xBF0080B6,0x0025E2FA,0x0025E2F1,0x0025E2E8,0x0025E2DF,0x0025E2D6, -0x0025E2CD,0x0025E2C4,0x0025E2BB,0x0019E1C8,0x0025E2B2,0x0025E2A9,0x0025E2A0,0x0025E297,0x0025E28E,0x0025E285, -0x0025E27C,0x0025E273,0x0025E26A,0x0025E261,0x0025E258,0x0025E24F,0x0025E246,0x0025E23D,0x0025E234,0x0025E22B, -0x0025E222,0x0025E219,0x0025E210,0x0025E207,0x0025E1FE,0x0025E1F5,0x0025E1EC,0x0025E1E3,0x0025E1DA,0x0025E1D1, -0x0025E1C8,0x0019E0D5,0x0025E1BF,0x0025E1B6,0x0025E1AD,0x0025E1A4,0x0025E19B,0x0025E192,0x0025E189,0x0025E180, -0x0025E177,0x0025E16E,0x0025E165,0x0025E15C,0x0025E153,0x0025E14A,0x0025E141,0x0025E138,0x0025E12F,0x0025E126, -0x0025E11D,0x0025E114,0x0025E10B,0x0025E102,0x0025E0F9,0x0025E0F0,0x0025E0E7,0x0025E0DE,0x0025E0D5,0x800080F7, -0x810080F8,0x820080F9,0x830080FA,0x840080FB,0x850080FC,0x860080FD,0x870080FE,0x880080FF,0x89008100,0x8A008101, -0x8B008102,0x8C008103,0x8D008104,0x8E008105,0x8F008106,0x90008107,0x91008108,0x92008109,0x9300810A,0x9400810B, -0x9500810C,0x9600810D,0x9700810E,0x9800810F,0x99008110,0x9A008111,0x9B008112,0x9C008113,0x9D008114,0x9E008115, -0x9F008116,0xA0008117,0xA1008118,0xA2008119,0xA300811A,0xA400811B,0xA500811C,0xA600811D,0xA700811E,0xA800811F, -0xA9008120,0xAA008121,0xAB008122,0xAC008123,0xAD008124,0xAE008125,0xAF008126,0xB0008127,0xB1008128,0xB2008129, -0xB300812A,0xB400812B,0xB500812C,0xB600812D,0xB700812E,0xB800812F,0xB9008130,0xBA008131,0xBB008132,0xBC008133, -0xBD008134,0xBE008135,0xBF008136,0x0019DFE2,0x0025E0CC,0x0025E0C3,0x0025E0BA,0x0025E0B1,0x0025E0A8,0x0025E09F, -0x0025E096,0x0025E08D,0x0025E084,0x0025E07B,0x0025E072,0x0025E069,0x0025E060,0x0025E057,0x0025E04E,0x0025E045, -0x0025E03C,0x0025E033,0x0025E02A,0x0025E021,0x0025E018,0x0025E00F,0x0025E006,0x0025DFFD,0x0025DFF4,0x0025DFEB, -0x0025DFE2,0x0019DEEF,0x0025DFD9,0x0025DFD0,0x0025DFC7,0x0025DFBE,0x0025DFB5,0x0025DFAC,0x0025DFA3,0x0025DF9A, -0x0025DF91,0x0025DF88,0x0025DF7F,0x0025DF76,0x0025DF6D,0x0025DF64,0x0025DF5B,0x0025DF52,0x0025DF49,0x0025DF40, -0x0025DF37,0x0025DF2E,0x0025DF25,0x0025DF1C,0x0025DF13,0x0025DF0A,0x0025DF01,0x0025DEF8,0x0025DEEF,0x0019DDFC, -0x0025DEE6,0x0025DEDD,0x0025DED4,0x0025DECB,0x0025DEC2,0x0025DEB9,0x0025DEB0,0x80008177,0x81008178,0x82008179, -0x8300817A,0x8400817B,0x8500817C,0x8600817D,0x8700817E,0x8800817F,0x89008180,0x8A008181,0x8B008182,0x8C008183, -0x8D008184,0x8E008185,0x8F008186,0x90008187,0x91008188,0x92008189,0x9300818A,0x9400818B,0x9500818C,0x9600818D, -0x9700818E,0x9800818F,0x99008190,0x9A008191,0x9B008192,0x9C008193,0x9D008194,0x9E008195,0x9F008196,0xA0008197, -0xA1008198,0xA2008199,0xA300819A,0xA400819B,0xA500819C,0xA600819D,0xA700819E,0xA800819F,0xA90081A0,0xAA0081A1, -0xAB0081A2,0xAC0081A3,0xAD0081A4,0xAE0081A5,0xAF0081A6,0xB00081A7,0xB10081A8,0xB20081A9,0xB30081AA,0xB40081AB, -0xB50081AC,0xB60081AD,0xB70081AE,0xB80081AF,0xB90081B0,0xBA0081B1,0xBB0081B2,0xBC0081B3,0xBD0081B4,0xBE0081B5, -0xBF0081B6,0x0025DEA7,0x0025DE9E,0x0025DE95,0x0025DE8C,0x0025DE83,0x0025DE7A,0x0025DE71,0x0025DE68,0x0025DE5F, -0x0025DE56,0x0025DE4D,0x0025DE44,0x0025DE3B,0x0025DE32,0x0025DE29,0x0025DE20,0x0025DE17,0x0025DE0E,0x0025DE05, -0x0025DDFC,0x0019DD09,0x0025DDF3,0x0025DDEA,0x0025DDE1,0x0025DDD8,0x0025DDCF,0x0025DDC6,0x0025DDBD,0x0025DDB4, -0x0025DDAB,0x0025DDA2,0x0025DD99,0x0025DD90,0x0025DD87,0x0025DD7E,0x0025DD75,0x0025DD6C,0x0025DD63,0x0025DD5A, -0x0025DD51,0x0025DD48,0x0025DD3F,0x0025DD36,0x0025DD2D,0x0025DD24,0x0025DD1B,0x0025DD12,0x0025DD09,0x0019DC16, -0x0025DD00,0x0025DCF7,0x0025DCEE,0x0025DCE5,0x0025DCDC,0x0025DCD3,0x0025DCCA,0x0025DCC1,0x0025DCB8,0x0025DCAF, -0x0025DCA6,0x0025DC9D,0x0025DC94,0x0025DC8B,0x0025DC82,0x800081F7,0x810081F8,0x820081F9,0x830081FA,0x840081FB, -0x850081FC,0x860081FD,0x870081FE,0x880081FF,0x89008200,0x8A008201,0x8B008202,0x8C008203,0x8D008204,0x8E008205, -0x8F008206,0x90008207,0x91008208,0x92008209,0x9300820A,0x9400820B,0x9500820C,0x9600820D,0x9700820E,0x9800820F, -0x99008210,0x9A008211,0x9B008212,0x9C008213,0x9D008214,0x9E008215,0x9F008216,0xA0008217,0xA1008218,0xA2008219, -0xA300821A,0xA400821B,0xA500821C,0xA600821D,0xA700821E,0xA800821F,0xA9008220,0xAA008221,0xAB008222,0xAC008223, -0xAD008224,0xAE008225,0xAF008226,0xB0008227,0xB1008228,0xB2008229,0xB300822A,0xB400822B,0xB500822C,0xB600822D, -0xB700822E,0xB800822F,0xB9008230,0xBA008231,0xBB008232,0xBC008233,0xBD008234,0xBE008235,0xBF008236,0x0025DC79, -0x0025DC70,0x0025DC67,0x0025DC5E,0x0025DC55,0x0025DC4C,0x0025DC43,0x0025DC3A,0x0025DC31,0x0025DC28,0x0025DC1F, -0x0025DC16,0x0019DB23,0x0025DC0D,0x0025DC04,0x0025DBFB,0x0025DBF2,0x0025DBE9,0x0025DBE0,0x0025DBD7,0x0025DBCE, -0x0025DBC5,0x0025DBBC,0x0025DBB3,0x0025DBAA,0x0025DBA1,0x0025DB98,0x0025DB8F,0x0025DB86,0x0025DB7D,0x0025DB74, -0x0025DB6B,0x0025DB62,0x0025DB59,0x0025DB50,0x0025DB47,0x0025DB3E,0x0025DB35,0x0025DB2C,0x0025DB23,0x0019DA30, -0x0025DB1A,0x0025DB11,0x0025DB08,0x0025DAFF,0x0025DAF6,0x0025DAED,0x0025DAE4,0x0025DADB,0x0025DAD2,0x0025DAC9, -0x0025DAC0,0x0025DAB7,0x0025DAAE,0x0025DAA5,0x0025DA9C,0x0025DA93,0x0025DA8A,0x0025DA81,0x0025DA78,0x0025DA6F, -0x0025DA66,0x0025DA5D,0x0025DA54,0x80008277,0x81008278,0x82008279,0x8300827A,0x8400827B,0x8500827C,0x8600827D, -0x8700827E,0x8800827F,0x89008280,0x8A008281,0x8B008282,0x8C008283,0x8D008284,0x8E008285,0x8F008286,0x90008287, -0x91008288,0x92008289,0x9300828A,0x9400828B,0x9500828C,0x9600828D,0x9700828E,0x9800828F,0x99008290,0x9A008291, -0x9B008292,0x9C008293,0x9D008294,0x9E008295,0x9F008296,0xA0008297,0xA1008298,0xA2008299,0xA300829A,0xA400829B, -0xA500829C,0xA600829D,0xA700829E,0xA800829F,0xA90082A0,0xAA0082A1,0xAB0082A2,0xAC0082A3,0xAD0082A4,0xAE0082A5, -0xAF0082A6,0xB00082A7,0xB10082A8,0xB20082A9,0xB30082AA,0xB40082AB,0xB50082AC,0xB60082AD,0xB70082AE,0xB80082AF, -0xB90082B0,0xBA0082B1,0xBB0082B2,0xBC0082B3,0xBD0082B4,0xBE0082B5,0xBF0082B6,0x0025DA4B,0x0025DA42,0x0025DA39, -0x0025DA30,0x0019D93D,0x0025DA27,0x0025DA1E,0x0025DA15,0x0025DA0C,0x0025DA03,0x0025D9FA,0x0025D9F1,0x0025D9E8, -0x0025D9DF,0x0025D9D6,0x0025D9CD,0x0025D9C4,0x0025D9BB,0x0025D9B2,0x0025D9A9,0x0025D9A0,0x0025D997,0x0025D98E, -0x0025D985,0x0025D97C,0x0025D973,0x0025D96A,0x0025D961,0x0025D958,0x0025D94F,0x0025D946,0x0025D93D,0x0019D84A, -0x0025D934,0x0025D92B,0x0025D922,0x0025D919,0x0025D910,0x0025D907,0x0025D8FE,0x0025D8F5,0x0025D8EC,0x0025D8E3, -0x0025D8DA,0x0025D8D1,0x0025D8C8,0x0025D8BF,0x0025D8B6,0x0025D8AD,0x0025D8A4,0x0025D89B,0x0025D892,0x0025D889, -0x0025D880,0x0025D877,0x0025D86E,0x0025D865,0x0025D85C,0x0025D853,0x0025D84A,0x0019D757,0x0025D841,0x0025D838, -0x0025D82F,0x800082F7,0x810082F8,0x820082F9,0x830082FA,0x840082FB,0x850082FC,0x860082FD,0x870082FE,0x880082FF, -0x89008300,0x8A008301,0x8B008302,0x8C008303,0x8D008304,0x8E008305,0x8F008306,0x90008307,0x91008308,0x92008309, -0x9300830A,0x9400830B,0x9500830C,0x9600830D,0x9700830E,0x9800830F,0x99008310,0x9A008311,0x9B008312,0x9C008313, -0x9D008314,0x9E008315,0x9F008316,0xA0008317,0xA1008318,0xA2008319,0xA300831A,0xA400831B,0xA500831C,0xA600831D, -0xA700831E,0xA800831F,0xA9008320,0xAA008321,0xAB008322,0xAC008323,0xAD008324,0xAE008325,0xAF008326,0xB0008327, -0xB1008328,0xB2008329,0xB300832A,0xB400832B,0xB500832C,0xB600832D,0xB700832E,0xB800832F,0xB9008330,0xBA008331, -0xBB008332,0xBC008333,0xBD008334,0xBE008335,0xBF008336,0x0025D826,0x0025D81D,0x0025D814,0x0025D80B,0x0025D802, -0x0025D7F9,0x0025D7F0,0x0025D7E7,0x0025D7DE,0x0025D7D5,0x0025D7CC,0x0025D7C3,0x0025D7BA,0x0025D7B1,0x0025D7A8, -0x0025D79F,0x0025D796,0x0025D78D,0x0025D784,0x0025D77B,0x0025D772,0x0025D769,0x0025D760,0x0025D757,0x0019D664, -0x0025D74E,0x0025D745,0x0025D73C,0x0025D733,0x0025D72A,0x0025D721,0x0025D718,0x0025D70F,0x0025D706,0x0025D6FD, -0x0025D6F4,0x0025D6EB,0x0025D6E2,0x0025D6D9,0x0025D6D0,0x0025D6C7,0x0025D6BE,0x0025D6B5,0x0025D6AC,0x0025D6A3, -0x0025D69A,0x0025D691,0x0025D688,0x0025D67F,0x0025D676,0x0025D66D,0x0025D664,0x0019D571,0x0025D65B,0x0025D652, -0x0025D649,0x0025D640,0x0025D637,0x0025D62E,0x0025D625,0x0025D61C,0x0025D613,0x0025D60A,0x0025D601,0x80008377, -0x81008378,0x82008379,0x8300837A,0x8400837B,0x8500837C,0x8600837D,0x8700837E,0x8800837F,0x89008380,0x8A008381, -0x8B008382,0x8C008383,0x8D008384,0x8E008385,0x8F008386,0x90008387,0x91008388,0x92008389,0x9300838A,0x9400838B, -0x9500838C,0x9600838D,0x9700838E,0x9800838F,0x99008390,0x9A008391,0x9B008392,0x9C008393,0x9D008394,0x9E008395, -0x9F008396,0xA0008397,0xA1008398,0xA2008399,0xA300839A,0xA400839B,0xA500839C,0xA600839D,0xA700839E,0xA800839F, -0xA90083A0,0xAA0083A1,0xAB0083A2,0xAC0083A3,0xAD0083A4,0xAE0083A5,0xAF0083A6,0xB00083A7,0xB10083A8,0xB20083A9, -0xB30083AA,0xB40083AB,0xB50083AC,0xB60083AD,0xB70083AE,0xB80083AF,0xB90083B0,0xBA0083B1,0xBB0083B2,0xBC0083B3, -0xBD0083B4,0xBE0083B5,0xBF0083B6,0x0025D5F8,0x0025D5EF,0x0025D5E6,0x0025D5DD,0x0025D5D4,0x0025D5CB,0x0025D5C2, -0x0025D5B9,0x0025D5B0,0x0025D5A7,0x0025D59E,0x0025D595,0x0025D58C,0x0025D583,0x0025D57A,0x0025D571,0x0019D47E, -0x0025D568,0x0025D55F,0x0025D556,0x0025D54D,0x0025D544,0x0025D53B,0x0025D532,0x0025D529,0x0025D520,0x0025D517, -0x0025D50E,0x0025D505,0x0025D4FC,0x0025D4F3,0x0025D4EA,0x0025D4E1,0x0025D4D8,0x0025D4CF,0x0025D4C6,0x0025D4BD, -0x0025D4B4,0x0025D4AB,0x0025D4A2,0x0025D499,0x0025D490,0x0025D487,0x0025D47E,0x0019D38B,0x0025D475,0x0025D46C, -0x0025D463,0x0025D45A,0x0025D451,0x0025D448,0x0025D43F,0x0025D436,0x0025D42D,0x0025D424,0x0025D41B,0x0025D412, -0x0025D409,0x0025D400,0x0025D3F7,0x0025D3EE,0x0025D3E5,0x0025D3DC,0x0025D3D3,0x800083F7,0x810083F8,0x820083F9, -0x830083FA,0x840083FB,0x850083FC,0x860083FD,0x870083FE,0x880083FF,0x89008400,0x8A008401,0x8B008402,0x8C008403, -0x8D008404,0x8E008405,0x8F008406,0x90008407,0x91008408,0x92008409,0x9300840A,0x9400840B,0x9500840C,0x9600840D, -0x9700840E,0x9800840F,0x99008410,0x9A008411,0x9B008412,0x9C008413,0x9D008414,0x9E008415,0x9F008416,0xA0008417, -0xA1008418,0xA2008419,0xA300841A,0xA400841B,0xA500841C,0xA600841D,0xA700841E,0xA800841F,0xA9008420,0xAA008421, -0xAB008422,0xAC008423,0xAD008424,0xAE008425,0xAF008426,0xB0008427,0xB1008428,0xB2008429,0xB300842A,0xB400842B, -0xB500842C,0xB600842D,0xB700842E,0xB800842F,0xB9008430,0xBA008431,0xBB008432,0xBC008433,0xBD008434,0xBE008435, -0xBF008436,0x0025D3CA,0x0025D3C1,0x0025D3B8,0x0025D3AF,0x0025D3A6,0x0025D39D,0x0025D394,0x0025D38B,0x0019D298, -0x0025D382,0x0025D379,0x0025D370,0x0025D367,0x0025D35E,0x0025D355,0x0025D34C,0x0025D343,0x0025D33A,0x0025D331, -0x0025D328,0x0025D31F,0x0025D316,0x0025D30D,0x0025D304,0x0025D2FB,0x0025D2F2,0x0025D2E9,0x0025D2E0,0x0025D2D7, -0x0025D2CE,0x0025D2C5,0x0025D2BC,0x0025D2B3,0x0025D2AA,0x0025D2A1,0x0025D298,0x0019D1A5,0x0025D28F,0x0025D286, -0x0025D27D,0x0025D274,0x0025D26B,0x0025D262,0x0025D259,0x0025D250,0x0025D247,0x0025D23E,0x0025D235,0x0025D22C, -0x0025D223,0x0025D21A,0x0025D211,0x0025D208,0x0025D1FF,0x0025D1F6,0x0025D1ED,0x0025D1E4,0x0025D1DB,0x0025D1D2, -0x0025D1C9,0x0025D1C0,0x0025D1B7,0x0025D1AE,0x0025D1A5,0x80008477,0x81008478,0x82008479,0x8300847A,0x8400847B, -0x8500847C,0x8600847D,0x8700847E,0x8800847F,0x89008480,0x8A008481,0x8B008482,0x8C008483,0x8D008484,0x8E008485, -0x8F008486,0x90008487,0x91008488,0x92008489,0x9300848A,0x9400848B,0x9500848C,0x9600848D,0x9700848E,0x9800848F, -0x99008490,0x9A008491,0x9B008492,0x9C008493,0x9D008494,0x9E008495,0x9F008496,0xA0008497,0xA1008498,0xA2008499, -0xA300849A,0xA400849B,0xA500849C,0xA600849D,0xA700849E,0xA800849F,0xA90084A0,0xAA0084A1,0xAB0084A2,0xAC0084A3, -0xAD0084A4,0xAE0084A5,0xAF0084A6,0xB00084A7,0xB10084A8,0xB20084A9,0xB30084AA,0xB40084AB,0xB50084AC,0xB60084AD, -0xB70084AE,0xB80084AF,0xB90084B0,0xBA0084B1,0xBB0084B2,0xBC0084B3,0xBD0084B4,0xBE0084B5,0xBF0084B6,0x0019D0B2, -0x0025D19C,0x0025D193,0x0025D18A,0x0025D181,0x0025D178,0x0025D16F,0x0025D166,0x0025D15D,0x0025D154,0x0025D14B, -0x0025D142,0x0025D139,0x0025D130,0x0025D127,0x0025D11E,0x0025D115,0x0025D10C,0x0025D103,0x0025D0FA,0x0025D0F1, -0x0025D0E8,0x0025D0DF,0x0025D0D6,0x0025D0CD,0x0025D0C4,0x0025D0BB,0x0025D0B2,0x0019CFBF,0x0025D0A9,0x0025D0A0, -0x0025D097,0x0025D08E,0x0025D085,0x0025D07C,0x0025D073,0x0025D06A,0x0025D061,0x0025D058,0x0025D04F,0x0025D046, -0x0025D03D,0x0025D034,0x0025D02B,0x0025D022,0x0025D019,0x0025D010,0x0025D007,0x0025CFFE,0x0025CFF5,0x0025CFEC, -0x0025CFE3,0x0025CFDA,0x0025CFD1,0x0025CFC8,0x0025CFBF,0x0019CECC,0x0025CFB6,0x0025CFAD,0x0025CFA4,0x0025CF9B, -0x0025CF92,0x0025CF89,0x0025CF80,0x800084F7,0x810084F8,0x820084F9,0x830084FA,0x840084FB,0x850084FC,0x860084FD, -0x870084FE,0x880084FF,0x89008500,0x8A008501,0x8B008502,0x8C008503,0x8D008504,0x8E008505,0x8F008506,0x90008507, -0x91008508,0x92008509,0x9300850A,0x9400850B,0x9500850C,0x9600850D,0x9700850E,0x9800850F,0x99008510,0x9A008511, -0x9B008512,0x9C008513,0x9D008514,0x9E008515,0x9F008516,0xA0008517,0xA1008518,0xA2008519,0xA300851A,0xA400851B, -0xA500851C,0xA600851D,0xA700851E,0xA800851F,0xA9008520,0xAA008521,0xAB008522,0xAC008523,0xAD008524,0xAE008525, -0xAF008526,0xB0008527,0xB1008528,0xB2008529,0xB300852A,0xB400852B,0xB500852C,0xB600852D,0xB700852E,0xB800852F, -0xB9008530,0xBA008531,0xBB008532,0xBC008533,0xBD008534,0xBE008535,0xBF008536,0x0025CF77,0x0025CF6E,0x0025CF65, -0x0025CF5C,0x0025CF53,0x0025CF4A,0x0025CF41,0x0025CF38,0x0025CF2F,0x0025CF26,0x0025CF1D,0x0025CF14,0x0025CF0B, -0x0025CF02,0x0025CEF9,0x0025CEF0,0x0025CEE7,0x0025CEDE,0x0025CED5,0x0025CECC,0x0019CDD9,0x0025CEC3,0x0025CEBA, -0x0025CEB1,0x0025CEA8,0x0025CE9F,0x0025CE96,0x0025CE8D,0x0025CE84,0x0025CE7B,0x0025CE72,0x0025CE69,0x0025CE60, -0x0025CE57,0x0025CE4E,0x0025CE45,0x0025CE3C,0x0025CE33,0x0025CE2A,0x0025CE21,0x0025CE18,0x0025CE0F,0x0025CE06, -0x0025CDFD,0x0025CDF4,0x0025CDEB,0x0025CDE2,0x0025CDD9,0x0019CCE6,0x0025CDD0,0x0025CDC7,0x0025CDBE,0x0025CDB5, -0x0025CDAC,0x0025CDA3,0x0025CD9A,0x0025CD91,0x0025CD88,0x0025CD7F,0x0025CD76,0x0025CD6D,0x0025CD64,0x0025CD5B, -0x0025CD52,0x80008577,0x81008578,0x82008579,0x8300857A,0x8400857B,0x8500857C,0x8600857D,0x8700857E,0x8800857F, -0x89008580,0x8A008581,0x8B008582,0x8C008583,0x8D008584,0x8E008585,0x8F008586,0x90008587,0x91008588,0x92008589, -0x9300858A,0x9400858B,0x9500858C,0x9600858D,0x9700858E,0x9800858F,0x99008590,0x9A008591,0x9B008592,0x9C008593, -0x9D008594,0x9E008595,0x9F008596,0xA0008597,0xA1008598,0xA2008599,0xA300859A,0xA400859B,0xA500859C,0xA600859D, -0xA700859E,0xA800859F,0xA90085A0,0xAA0085A1,0xAB0085A2,0xAC0085A3,0xAD0085A4,0xAE0085A5,0xAF0085A6,0xB00085A7, -0xB10085A8,0xB20085A9,0xB30085AA,0xB40085AB,0xB50085AC,0xB60085AD,0xB70085AE,0xB80085AF,0xB90085B0,0xBA0085B1, -0xBB0085B2,0xBC0085B3,0xBD0085B4,0xBE0085B5,0xBF0085B6,0x0025CD49,0x0025CD40,0x0025CD37,0x0025CD2E,0x0025CD25, -0x0025CD1C,0x0025CD13,0x0025CD0A,0x0025CD01,0x0025CCF8,0x0025CCEF,0x0025CCE6,0x0019CBF3,0x0025CCDD,0x0025CCD4, -0x0025CCCB,0x0025CCC2,0x0025CCB9,0x0025CCB0,0x0025CCA7,0x0025CC9E,0x0025CC95,0x0025CC8C,0x0025CC83,0x0025CC7A, -0x0025CC71,0x0025CC68,0x0025CC5F,0x0025CC56,0x0025CC4D,0x0025CC44,0x0025CC3B,0x0025CC32,0x0025CC29,0x0025CC20, -0x0025CC17,0x0025CC0E,0x0025CC05,0x0025CBFC,0x0025CBF3,0x0019CB00,0x0025CBEA,0x0025CBE1,0x0025CBD8,0x0025CBCF, -0x0025CBC6,0x0025CBBD,0x0025CBB4,0x0025CBAB,0x0025CBA2,0x0025CB99,0x0025CB90,0x0025CB87,0x0025CB7E,0x0025CB75, -0x0025CB6C,0x0025CB63,0x0025CB5A,0x0025CB51,0x0025CB48,0x0025CB3F,0x0025CB36,0x0025CB2D,0x0025CB24,0x800085F7, -0x810085F8,0x820085F9,0x830085FA,0x840085FB,0x850085FC,0x860085FD,0x870085FE,0x880085FF,0x89008600,0x8A008601, -0x8B008602,0x8C008603,0x8D008604,0x8E008605,0x8F008606,0x90008607,0x91008608,0x92008609,0x9300860A,0x9400860B, -0x9500860C,0x9600860D,0x9700860E,0x9800860F,0x99008610,0x9A008611,0x9B008612,0x9C008613,0x9D008614,0x9E008615, -0x9F008616,0xA0008617,0xA1008618,0xA2008619,0xA300861A,0xA400861B,0xA500861C,0xA600861D,0xA700861E,0xA800861F, -0xA9008620,0xAA008621,0xAB008622,0xAC008623,0xAD008624,0xAE008625,0xAF008626,0xB0008627,0xB1008628,0xB2008629, -0xB300862A,0xB400862B,0xB500862C,0xB600862D,0xB700862E,0xB800862F,0xB9008630,0xBA008631,0xBB008632,0xBC008633, -0xBD008634,0xBE008635,0xBF008636,0x0025CB1B,0x0025CB12,0x0025CB09,0x0025CB00,0x0019CA0D,0x0025CAF7,0x0025CAEE, -0x0025CAE5,0x0025CADC,0x0025CAD3,0x0025CACA,0x0025CAC1,0x0025CAB8,0x0025CAAF,0x0025CAA6,0x0025CA9D,0x0025CA94, -0x0025CA8B,0x0025CA82,0x0025CA79,0x0025CA70,0x0025CA67,0x0025CA5E,0x0025CA55,0x0025CA4C,0x0025CA43,0x0025CA3A, -0x0025CA31,0x0025CA28,0x0025CA1F,0x0025CA16,0x0025CA0D,0x0019C91A,0x0025CA04,0x0025C9FB,0x0025C9F2,0x0025C9E9, -0x0025C9E0,0x0025C9D7,0x0025C9CE,0x0025C9C5,0x0025C9BC,0x0025C9B3,0x0025C9AA,0x0025C9A1,0x0025C998,0x0025C98F, -0x0025C986,0x0025C97D,0x0025C974,0x0025C96B,0x0025C962,0x0025C959,0x0025C950,0x0025C947,0x0025C93E,0x0025C935, -0x0025C92C,0x0025C923,0x0025C91A,0x0019C827,0x0025C911,0x0025C908,0x0025C8FF,0x80008677,0x81008678,0x82008679, -0x8300867A,0x8400867B,0x8500867C,0x8600867D,0x8700867E,0x8800867F,0x89008680,0x8A008681,0x8B008682,0x8C008683, -0x8D008684,0x8E008685,0x8F008686,0x90008687,0x91008688,0x92008689,0x9300868A,0x9400868B,0x9500868C,0x9600868D, -0x9700868E,0x9800868F,0x99008690,0x9A008691,0x9B008692,0x9C008693,0x9D008694,0x9E008695,0x9F008696,0xA0008697, -0xA1008698,0xA2008699,0xA300869A,0xA400869B,0xA500869C,0xA600869D,0xA700869E,0xA800869F,0xA90086A0,0xAA0086A1, -0xAB0086A2,0xAC0086A3,0xAD0086A4,0xAE0086A5,0xAF0086A6,0xB00086A7,0xB10086A8,0xB20086A9,0xB30086AA,0xB40086AB, -0xB50086AC,0xB60086AD,0xB70086AE,0xB80086AF,0xB90086B0,0xBA0086B1,0xBB0086B2,0xBC0086B3,0xBD0086B4,0xBE0086B5, -0xBF0086B6,0x0025C8F6,0x0025C8ED,0x0025C8E4,0x0025C8DB,0x0025C8D2,0x0025C8C9,0x0025C8C0,0x0025C8B7,0x0025C8AE, -0x0025C8A5,0x0025C89C,0x0025C893,0x0025C88A,0x0025C881,0x0025C878,0x0025C86F,0x0025C866,0x0025C85D,0x0025C854, -0x0025C84B,0x0025C842,0x0025C839,0x0025C830,0x0025C827,0x0019C734,0x0025C81E,0x0025C815,0x0025C80C,0x0025C803, -0x0025C7FA,0x0025C7F1,0x0025C7E8,0x0025C7DF,0x0025C7D6,0x0025C7CD,0x0025C7C4,0x0025C7BB,0x0025C7B2,0x0025C7A9, -0x0025C7A0,0x0025C797,0x0025C78E,0x0025C785,0x0025C77C,0x0025C773,0x0025C76A,0x0025C761,0x0025C758,0x0025C74F, -0x0025C746,0x0025C73D,0x0025C734,0x0019C641,0x0025C72B,0x0025C722,0x0025C719,0x0025C710,0x0025C707,0x0025C6FE, -0x0025C6F5,0x0025C6EC,0x0025C6E3,0x0025C6DA,0x0025C6D1,0x800086F7,0x810086F8,0x820086F9,0x830086FA,0x840086FB, -0x850086FC,0x860086FD,0x870086FE,0x880086FF,0x89008700,0x8A008701,0x8B008702,0x8C008703,0x8D008704,0x8E008705, -0x8F008706,0x90008707,0x91008708,0x92008709,0x9300870A,0x9400870B,0x9500870C,0x9600870D,0x9700870E,0x9800870F, -0x99008710,0x9A008711,0x9B008712,0x9C008713,0x9D008714,0x9E008715,0x9F008716,0xA0008717,0xA1008718,0xA2008719, -0xA300871A,0xA400871B,0xA500871C,0xA600871D,0xA700871E,0xA800871F,0xA9008720,0xAA008721,0xAB008722,0xAC008723, -0xAD008724,0xAE008725,0xAF008726,0xB0008727,0xB1008728,0xB2008729,0xB300872A,0xB400872B,0xB500872C,0xB600872D, -0xB700872E,0xB800872F,0xB9008730,0xBA008731,0xBB008732,0xBC008733,0xBD008734,0xBE008735,0xBF008736,0x0025C6C8, -0x0025C6BF,0x0025C6B6,0x0025C6AD,0x0025C6A4,0x0025C69B,0x0025C692,0x0025C689,0x0025C680,0x0025C677,0x0025C66E, -0x0025C665,0x0025C65C,0x0025C653,0x0025C64A,0x0025C641,0x0019C54E,0x0025C638,0x0025C62F,0x0025C626,0x0025C61D, -0x0025C614,0x0025C60B,0x0025C602,0x0025C5F9,0x0025C5F0,0x0025C5E7,0x0025C5DE,0x0025C5D5,0x0025C5CC,0x0025C5C3, -0x0025C5BA,0x0025C5B1,0x0025C5A8,0x0025C59F,0x0025C596,0x0025C58D,0x0025C584,0x0025C57B,0x0025C572,0x0025C569, -0x0025C560,0x0025C557,0x0025C54E,0x0019C45B,0x0025C545,0x0025C53C,0x0025C533,0x0025C52A,0x0025C521,0x0025C518, -0x0025C50F,0x0025C506,0x0025C4FD,0x0025C4F4,0x0025C4EB,0x0025C4E2,0x0025C4D9,0x0025C4D0,0x0025C4C7,0x0025C4BE, -0x0025C4B5,0x0025C4AC,0x0025C4A3,0x80008777,0x81008778,0x82008779,0x8300877A,0x8400877B,0x8500877C,0x8600877D, -0x8700877E,0x8800877F,0x89008780,0x8A008781,0x8B008782,0x8C008783,0x8D008784,0x8E008785,0x8F008786,0x90008787, -0x91008788,0x92008789,0x9300878A,0x9400878B,0x9500878C,0x9600878D,0x9700878E,0x9800878F,0x99008790,0x9A008791, -0x9B008792,0x9C008793,0x9D008794,0x9E008795,0x9F008796,0xA0008797,0xA1008798,0xA2008799,0xA300879A,0xA400879B, -0xA500879C,0xA600879D,0xA700879E,0xA800879F,0xA90087A0,0xAA0087A1,0xAB0087A2,0xAC0087A3,0xAD0087A4,0xAE0087A5, -0xAF0087A6,0xB00087A7,0xB10087A8,0xB20087A9,0xB30087AA,0xB40087AB,0xB50087AC,0xB60087AD,0xB70087AE,0xB80087AF, -0xB90087B0,0xBA0087B1,0xBB0087B2,0xBC0087B3,0xBD0087B4,0xBE0087B5,0xBF0087B6,0x0025C49A,0x0025C491,0x0025C488, -0x0025C47F,0x0025C476,0x0025C46D,0x0025C464,0x0025C45B,0x0019C368,0x0025C452,0x0025C449,0x0025C440,0x0025C437, -0x0025C42E,0x0025C425,0x0025C41C,0x0025C413,0x0025C40A,0x0025C401,0x0025C3F8,0x0025C3EF,0x0025C3E6,0x0025C3DD, -0x0025C3D4,0x0025C3CB,0x0025C3C2,0x0025C3B9,0x0025C3B0,0x0025C3A7,0x0025C39E,0x0025C395,0x0025C38C,0x0025C383, -0x0025C37A,0x0025C371,0x0025C368,0x0019C275,0x0025C35F,0x0025C356,0x0025C34D,0x0025C344,0x0025C33B,0x0025C332, -0x0025C329,0x0025C320,0x0025C317,0x0025C30E,0x0025C305,0x0025C2FC,0x0025C2F3,0x0025C2EA,0x0025C2E1,0x0025C2D8, -0x0025C2CF,0x0025C2C6,0x0025C2BD,0x0025C2B4,0x0025C2AB,0x0025C2A2,0x0025C299,0x0025C290,0x0025C287,0x0025C27E, -0x0025C275,0x800087F7,0x810087F8,0x820087F9,0x830087FA,0x840087FB,0x850087FC,0x860087FD,0x870087FE,0x880087FF, -0x89008800,0x8A008801,0x8B008802,0x8C008803,0x8D008804,0x8E008805,0x8F008806,0x90008807,0x91008808,0x92008809, -0x9300880A,0x9400880B,0x9500880C,0x9600880D,0x9700880E,0x9800880F,0x99008810,0x9A008811,0x9B008812,0x9C008813, -0x9D008814,0x9E008815,0x9F008816,0xA0008817,0xA1008818,0xA2008819,0xA300881A,0xA400881B,0xA500881C,0xA600881D, -0xA700881E,0xA800881F,0xA9008820,0xAA008821,0xAB008822,0xAC008823,0xAD008824,0xAE008825,0xAF008826,0xB0008827, -0xB1008828,0xB2008829,0xB300882A,0xB400882B,0xB500882C,0xB600882D,0xB700882E,0xB800882F,0xB9008830,0xBA008831, -0xBB008832,0xBC008833,0xBD008834,0xBE008835,0xBF008836,0x0019C182,0x0025C26C,0x0025C263,0x0025C25A,0x0025C251, -0x0025C248,0x0025C23F,0x0025C236,0x0025C22D,0x0025C224,0x0025C21B,0x0025C212,0x0025C209,0x0025C200,0x0025C1F7, -0x0025C1EE,0x0025C1E5,0x0025C1DC,0x0025C1D3,0x0025C1CA,0x0025C1C1,0x0025C1B8,0x0025C1AF,0x0025C1A6,0x0025C19D, -0x0025C194,0x0025C18B,0x0025C182,0x0019C08F,0x0025C179,0x0025C170,0x0025C167,0x0025C15E,0x0025C155,0x0025C14C, -0x0025C143,0x0025C13A,0x0025C131,0x0025C128,0x0025C11F,0x0025C116,0x0025C10D,0x0025C104,0x0025C0FB,0x0025C0F2, -0x0025C0E9,0x0025C0E0,0x0025C0D7,0x0025C0CE,0x0025C0C5,0x0025C0BC,0x0025C0B3,0x0025C0AA,0x0025C0A1,0x0025C098, -0x0025C08F,0x0019BF9C,0x0025C086,0x0025C07D,0x0025C074,0x0025C06B,0x0025C062,0x0025C059,0x0025C050,0x80008877, -0x81008878,0x82008879,0x8300887A,0x8400887B,0x8500887C,0x8600887D,0x8700887E,0x8800887F,0x89008880,0x8A008881, -0x8B008882,0x8C008883,0x8D008884,0x8E008885,0x8F008886,0x90008887,0x91008888,0x92008889,0x9300888A,0x9400888B, -0x9500888C,0x9600888D,0x9700888E,0x9800888F,0x99008890,0x9A008891,0x9B008892,0x9C008893,0x9D008894,0x9E008895, -0x9F008896,0xA0008897,0xA1008898,0xA2008899,0xA300889A,0xA400889B,0xA500889C,0xA600889D,0xA700889E,0xA800889F, -0xA90088A0,0xAA0088A1,0xAB0088A2,0xAC0088A3,0xAD0088A4,0xAE0088A5,0xAF0088A6,0xB00088A7,0xB10088A8,0xB20088A9, -0xB30088AA,0xB40088AB,0xB50088AC,0xB60088AD,0xB70088AE,0xB80088AF,0xB90088B0,0xBA0088B1,0xBB0088B2,0xBC0088B3, -0xBD0088B4,0xBE0088B5,0xBF0088B6,0x0025C047,0x0025C03E,0x0025C035,0x0025C02C,0x0025C023,0x0025C01A,0x0025C011, -0x0025C008,0x0025BFFF,0x0025BFF6,0x0025BFED,0x0025BFE4,0x0025BFDB,0x0025BFD2,0x0025BFC9,0x0025BFC0,0x0025BFB7, -0x0025BFAE,0x0025BFA5,0x0025BF9C,0x0019BEA9,0x0025BF93,0x0025BF8A,0x0025BF81,0x0025BF78,0x0025BF6F,0x0025BF66, -0x0025BF5D,0x0025BF54,0x0025BF4B,0x0025BF42,0x0025BF39,0x0025BF30,0x0025BF27,0x0025BF1E,0x0025BF15,0x0025BF0C, -0x0025BF03,0x0025BEFA,0x0025BEF1,0x0025BEE8,0x0025BEDF,0x0025BED6,0x0025BECD,0x0025BEC4,0x0025BEBB,0x0025BEB2, -0x0025BEA9,0x0019BDB6,0x0025BEA0,0x0025BE97,0x0025BE8E,0x0025BE85,0x0025BE7C,0x0025BE73,0x0025BE6A,0x0025BE61, -0x0025BE58,0x0025BE4F,0x0025BE46,0x0025BE3D,0x0025BE34,0x0025BE2B,0x0025BE22,0x800088F7,0x810088F8,0x820088F9, -0x830088FA,0x840088FB,0x850088FC,0x860088FD,0x870088FE,0x880088FF,0x89008900,0x8A008901,0x8B008902,0x8C008903, -0x8D008904,0x8E008905,0x8F008906,0x90008907,0x91008908,0x92008909,0x9300890A,0x9400890B,0x9500890C,0x9600890D, -0x9700890E,0x9800890F,0x99008910,0x9A008911,0x9B008912,0x9C008913,0x9D008914,0x9E008915,0x9F008916,0xA0008917, -0xA1008918,0xA2008919,0xA300891A,0xA400891B,0xA500891C,0xA600891D,0xA700891E,0xA800891F,0xA9008920,0xAA008921, -0xAB008922,0xAC008923,0xAD008924,0xAE008925,0xAF008926,0xB0008927,0xB1008928,0xB2008929,0xB300892A,0xB400892B, -0xB500892C,0xB600892D,0xB700892E,0xB800892F,0xB9008930,0xBA008931,0xBB008932,0xBC008933,0xBD008934,0xBE008935, -0xBF008936,0x0025BE19,0x0025BE10,0x0025BE07,0x0025BDFE,0x0025BDF5,0x0025BDEC,0x0025BDE3,0x0025BDDA,0x0025BDD1, -0x0025BDC8,0x0025BDBF,0x0025BDB6,0x0019BCC3,0x0025BDAD,0x0025BDA4,0x0025BD9B,0x0025BD92,0x0025BD89,0x0025BD80, -0x0025BD77,0x0025BD6E,0x0025BD65,0x0025BD5C,0x0025BD53,0x0025BD4A,0x0025BD41,0x0025BD38,0x0025BD2F,0x0025BD26, -0x0025BD1D,0x0025BD14,0x0025BD0B,0x0025BD02,0x0025BCF9,0x0025BCF0,0x0025BCE7,0x0025BCDE,0x0025BCD5,0x0025BCCC, -0x0025BCC3,0x0019BBD0,0x0025BCBA,0x0025BCB1,0x0025BCA8,0x0025BC9F,0x0025BC96,0x0025BC8D,0x0025BC84,0x0025BC7B, -0x0025BC72,0x0025BC69,0x0025BC60,0x0025BC57,0x0025BC4E,0x0025BC45,0x0025BC3C,0x0025BC33,0x0025BC2A,0x0025BC21, -0x0025BC18,0x0025BC0F,0x0025BC06,0x0025BBFD,0x0025BBF4,0x80008977,0x81008978,0x82008979,0x8300897A,0x8400897B, -0x8500897C,0x8600897D,0x8700897E,0x8800897F,0x89008980,0x8A008981,0x8B008982,0x8C008983,0x8D008984,0x8E008985, -0x8F008986,0x90008987,0x91008988,0x92008989,0x9300898A,0x9400898B,0x9500898C,0x9600898D,0x9700898E,0x9800898F, -0x99008990,0x9A008991,0x9B008992,0x9C008993,0x9D008994,0x9E008995,0x9F008996,0xA0008997,0xA1008998,0xA2008999, -0xA300899A,0xA400899B,0xA500899C,0xA600899D,0xA700899E,0xA800899F,0xA90089A0,0xAA0089A1,0xAB0089A2,0xAC0089A3, -0xAD0089A4,0xAE0089A5,0xAF0089A6,0xB00089A7,0xB10089A8,0xB20089A9,0xB30089AA,0xB40089AB,0xB50089AC,0xB60089AD, -0xB70089AE,0xB80089AF,0xB90089B0,0xBA0089B1,0xBB0089B2,0xBC0089B3,0xBD0089B4,0xBE0089B5,0xBF0089B6,0x0025BBEB, -0x0025BBE2,0x0025BBD9,0x0025BBD0,0x0019BADD,0x0025BBC7,0x0025BBBE,0x0025BBB5,0x0025BBAC,0x0025BBA3,0x0025BB9A, -0x0025BB91,0x0025BB88,0x0025BB7F,0x0025BB76,0x0025BB6D,0x0025BB64,0x0025BB5B,0x0025BB52,0x0025BB49,0x0025BB40, -0x0025BB37,0x0025BB2E,0x0025BB25,0x0025BB1C,0x0025BB13,0x0025BB0A,0x0025BB01,0x0025BAF8,0x0025BAEF,0x0025BAE6, -0x0025BADD,0x0019B9EA,0x0025BAD4,0x0025BACB,0x0025BAC2,0x0025BAB9,0x0025BAB0,0x0025BAA7,0x0025BA9E,0x0025BA95, -0x0025BA8C,0x0025BA83,0x0025BA7A,0x0025BA71,0x0025BA68,0x0025BA5F,0x0025BA56,0x0025BA4D,0x0025BA44,0x0025BA3B, -0x0025BA32,0x0025BA29,0x0025BA20,0x0025BA17,0x0025BA0E,0x0025BA05,0x0025B9FC,0x0025B9F3,0x0025B9EA,0x0019B8F7, -0x0025B9E1,0x0025B9D8,0x0025B9CF,0x800089F7,0x810089F8,0x820089F9,0x830089FA,0x840089FB,0x850089FC,0x860089FD, -0x870089FE,0x880089FF,0x89008A00,0x8A008A01,0x8B008A02,0x8C008A03,0x8D008A04,0x8E008A05,0x8F008A06,0x90008A07, -0x91008A08,0x92008A09,0x93008A0A,0x94008A0B,0x95008A0C,0x96008A0D,0x97008A0E,0x98008A0F,0x99008A10,0x9A008A11, -0x9B008A12,0x9C008A13,0x9D008A14,0x9E008A15,0x9F008A16,0xA0008A17,0xA1008A18,0xA2008A19,0xA3008A1A,0xA4008A1B, -0xA5008A1C,0xA6008A1D,0xA7008A1E,0xA8008A1F,0xA9008A20,0xAA008A21,0xAB008A22,0xAC008A23,0xAD008A24,0xAE008A25, -0xAF008A26,0xB0008A27,0xB1008A28,0xB2008A29,0xB3008A2A,0xB4008A2B,0xB5008A2C,0xB6008A2D,0xB7008A2E,0xB8008A2F, -0xB9008A30,0xBA008A31,0xBB008A32,0xBC008A33,0xBD008A34,0xBE008A35,0xBF008A36,0x0025B9C6,0x0025B9BD,0x0025B9B4, -0x0025B9AB,0x0025B9A2,0x0025B999,0x0025B990,0x0025B987,0x0025B97E,0x0025B975,0x0025B96C,0x0025B963,0x0025B95A, -0x0025B951,0x0025B948,0x0025B93F,0x0025B936,0x0025B92D,0x0025B924,0x0025B91B,0x0025B912,0x0025B909,0x0025B900, -0x0025B8F7,0x0019B804,0x0025B8EE,0x0025B8E5,0x0025B8DC,0x0025B8D3,0x0025B8CA,0x0025B8C1,0x0025B8B8,0x0025B8AF, -0x0025B8A6,0x0025B89D,0x0025B894,0x0025B88B,0x0025B882,0x0025B879,0x0025B870,0x0025B867,0x0025B85E,0x0025B855, -0x0025B84C,0x0025B843,0x0025B83A,0x0025B831,0x0025B828,0x0025B81F,0x0025B816,0x0025B80D,0x0025B804,0x0019B711, -0x0025B7FB,0x0025B7F2,0x0025B7E9,0x0025B7E0,0x0025B7D7,0x0025B7CE,0x0025B7C5,0x0025B7BC,0x0025B7B3,0x0025B7AA, -0x0025B7A1,0x80008A77,0x81008A78,0x82008A79,0x83008A7A,0x84008A7B,0x85008A7C,0x86008A7D,0x87008A7E,0x88008A7F, -0x89008A80,0x8A008A81,0x8B008A82,0x8C008A83,0x8D008A84,0x8E008A85,0x8F008A86,0x90008A87,0x91008A88,0x92008A89, -0x93008A8A,0x94008A8B,0x95008A8C,0x96008A8D,0x97008A8E,0x98008A8F,0x99008A90,0x9A008A91,0x9B008A92,0x9C008A93, -0x9D008A94,0x9E008A95,0x9F008A96,0xA0008A97,0xA1008A98,0xA2008A99,0xA3008A9A,0xA4008A9B,0xA5008A9C,0xA6008A9D, -0xA7008A9E,0xA8008A9F,0xA9008AA0,0xAA008AA1,0xAB008AA2,0xAC008AA3,0xAD008AA4,0xAE008AA5,0xAF008AA6,0xB0008AA7, -0xB1008AA8,0xB2008AA9,0xB3008AAA,0xB4008AAB,0xB5008AAC,0xB6008AAD,0xB7008AAE,0xB8008AAF,0xB9008AB0,0xBA008AB1, -0xBB008AB2,0xBC008AB3,0xBD008AB4,0xBE008AB5,0xBF008AB6,0x0025B798,0x0025B78F,0x0025B786,0x0025B77D,0x0025B774, -0x0025B76B,0x0025B762,0x0025B759,0x0025B750,0x0025B747,0x0025B73E,0x0025B735,0x0025B72C,0x0025B723,0x0025B71A, -0x0025B711,0x0019B61E,0x0025B708,0x0025B6FF,0x0025B6F6,0x0025B6ED,0x0025B6E4,0x0025B6DB,0x0025B6D2,0x0025B6C9, -0x0025B6C0,0x0025B6B7,0x0025B6AE,0x0025B6A5,0x0025B69C,0x0025B693,0x0025B68A,0x0025B681,0x0025B678,0x0025B66F, -0x0025B666,0x0025B65D,0x0025B654,0x0025B64B,0x0025B642,0x0025B639,0x0025B630,0x0025B627,0x0025B61E,0x0019B52B, -0x0025B615,0x0025B60C,0x0025B603,0x0025B5FA,0x0025B5F1,0x0025B5E8,0x0025B5DF,0x0025B5D6,0x0025B5CD,0x0025B5C4, -0x0025B5BB,0x0025B5B2,0x0025B5A9,0x0025B5A0,0x0025B597,0x0025B58E,0x0025B585,0x0025B57C,0x0025B573,0x80008AF7, -0x81008AF8,0x82008AF9,0x83008AFA,0x84008AFB,0x85008AFC,0x86008AFD,0x87008AFE,0x88008AFF,0x89008B00,0x8A008B01, -0x8B008B02,0x8C008B03,0x8D008B04,0x8E008B05,0x8F008B06,0x90008B07,0x91008B08,0x92008B09,0x93008B0A,0x94008B0B, -0x95008B0C,0x96008B0D,0x97008B0E,0x98008B0F,0x99008B10,0x9A008B11,0x9B008B12,0x9C008B13,0x9D008B14,0x9E008B15, -0x9F008B16,0xA0008B17,0xA1008B18,0xA2008B19,0xA3008B1A,0xA4008B1B,0xA5008B1C,0xA6008B1D,0xA7008B1E,0xA8008B1F, -0xA9008B20,0xAA008B21,0xAB008B22,0xAC008B23,0xAD008B24,0xAE008B25,0xAF008B26,0xB0008B27,0xB1008B28,0xB2008B29, -0xB3008B2A,0xB4008B2B,0xB5008B2C,0xB6008B2D,0xB7008B2E,0xB8008B2F,0xB9008B30,0xBA008B31,0xBB008B32,0xBC008B33, -0xBD008B34,0xBE008B35,0xBF008B36,0x0025B56A,0x0025B561,0x0025B558,0x0025B54F,0x0025B546,0x0025B53D,0x0025B534, -0x0025B52B,0x0019B438,0x0025B522,0x0025B519,0x0025B510,0x0025B507,0x0025B4FE,0x0025B4F5,0x0025B4EC,0x0025B4E3, -0x0025B4DA,0x0025B4D1,0x0025B4C8,0x0025B4BF,0x0025B4B6,0x0025B4AD,0x0025B4A4,0x0025B49B,0x0025B492,0x0025B489, -0x0025B480,0x0025B477,0x0025B46E,0x0025B465,0x0025B45C,0x0025B453,0x0025B44A,0x0025B441,0x0025B438,0x0019B345, -0x0025B42F,0x0025B426,0x0025B41D,0x0025B414,0x0025B40B,0x0025B402,0x0025B3F9,0x0025B3F0,0x0025B3E7,0x0025B3DE, -0x0025B3D5,0x0025B3CC,0x0025B3C3,0x0025B3BA,0x0025B3B1,0x0025B3A8,0x0025B39F,0x0025B396,0x0025B38D,0x0025B384, -0x0025B37B,0x0025B372,0x0025B369,0x0025B360,0x0025B357,0x0025B34E,0x0025B345,0x80008B77,0x81008B78,0x82008B79, -0x83008B7A,0x84008B7B,0x85008B7C,0x86008B7D,0x87008B7E,0x88008B7F,0x89008B80,0x8A008B81,0x8B008B82,0x8C008B83, -0x8D008B84,0x8E008B85,0x8F008B86,0x90008B87,0x91008B88,0x92008B89,0x93008B8A,0x94008B8B,0x95008B8C,0x96008B8D, -0x97008B8E,0x98008B8F,0x99008B90,0x9A008B91,0x9B008B92,0x9C008B93,0x9D008B94,0x9E008B95,0x9F008B96,0xA0008B97, -0xA1008B98,0xA2008B99,0xA3008B9A,0xA4008B9B,0xA5008B9C,0xA6008B9D,0xA7008B9E,0xA8008B9F,0xA9008BA0,0xAA008BA1, -0xAB008BA2,0xAC008BA3,0xAD008BA4,0xAE008BA5,0xAF008BA6,0xB0008BA7,0xB1008BA8,0xB2008BA9,0xB3008BAA,0xB4008BAB, -0xB5008BAC,0xB6008BAD,0xB7008BAE,0xB8008BAF,0xB9008BB0,0xBA008BB1,0xBB008BB2,0xBC008BB3,0xBD008BB4,0xBE008BB5, -0xBF008BB6,0x0019B252,0x0025B33C,0x0025B333,0x0025B32A,0x0025B321,0x0025B318,0x0025B30F,0x0025B306,0x0025B2FD, -0x0025B2F4,0x0025B2EB,0x0025B2E2,0x0025B2D9,0x0025B2D0,0x0025B2C7,0x0025B2BE,0x0025B2B5,0x0025B2AC,0x0025B2A3, -0x0025B29A,0x0025B291,0x0025B288,0x0025B27F,0x0025B276,0x0025B26D,0x0025B264,0x0025B25B,0x0025B252,0x0019B15F, -0x0025B249,0x0025B240,0x0025B237,0x0025B22E,0x0025B225,0x0025B21C,0x0025B213,0x0025B20A,0x0025B201,0x0025B1F8, -0x0025B1EF,0x0025B1E6,0x0025B1DD,0x0025B1D4,0x0025B1CB,0x0025B1C2,0x0025B1B9,0x0025B1B0,0x0025B1A7,0x0025B19E, -0x0025B195,0x0025B18C,0x0025B183,0x0025B17A,0x0025B171,0x0025B168,0x0025B15F,0x0019B06C,0x0025B156,0x0025B14D, -0x0025B144,0x0025B13B,0x0025B132,0x0025B129,0x0025B120,0x80008BF7,0x81008BF8,0x82008BF9,0x83008BFA,0x84008BFB, -0x85008BFC,0x86008BFD,0x87008BFE,0x88008BFF,0x89008C00,0x8A008C01,0x8B008C02,0x8C008C03,0x8D008C04,0x8E008C05, -0x8F008C06,0x90008C07,0x91008C08,0x92008C09,0x93008C0A,0x94008C0B,0x95008C0C,0x96008C0D,0x97008C0E,0x98008C0F, -0x99008C10,0x9A008C11,0x9B008C12,0x9C008C13,0x9D008C14,0x9E008C15,0x9F008C16,0xA0008C17,0xA1008C18,0xA2008C19, -0xA3008C1A,0xA4008C1B,0xA5008C1C,0xA6008C1D,0xA7008C1E,0xA8008C1F,0xA9008C20,0xAA008C21,0xAB008C22,0xAC008C23, -0xAD008C24,0xAE008C25,0xAF008C26,0xB0008C27,0xB1008C28,0xB2008C29,0xB3008C2A,0xB4008C2B,0xB5008C2C,0xB6008C2D, -0xB7008C2E,0xB8008C2F,0xB9008C30,0xBA008C31,0xBB008C32,0xBC008C33,0xBD008C34,0xBE008C35,0xBF008C36,0x0025B117, -0x0025B10E,0x0025B105,0x0025B0FC,0x0025B0F3,0x0025B0EA,0x0025B0E1,0x0025B0D8,0x0025B0CF,0x0025B0C6,0x0025B0BD, -0x0025B0B4,0x0025B0AB,0x0025B0A2,0x0025B099,0x0025B090,0x0025B087,0x0025B07E,0x0025B075,0x0025B06C,0x0019AF79, -0x0025B063,0x0025B05A,0x0025B051,0x0025B048,0x0025B03F,0x0025B036,0x0025B02D,0x0025B024,0x0025B01B,0x0025B012, -0x0025B009,0x0025B000,0x0025AFF7,0x0025AFEE,0x0025AFE5,0x0025AFDC,0x0025AFD3,0x0025AFCA,0x0025AFC1,0x0025AFB8, -0x0025AFAF,0x0025AFA6,0x0025AF9D,0x0025AF94,0x0025AF8B,0x0025AF82,0x0025AF79,0x0019AE86,0x0025AF70,0x0025AF67, -0x0025AF5E,0x0025AF55,0x0025AF4C,0x0025AF43,0x0025AF3A,0x0025AF31,0x0025AF28,0x0025AF1F,0x0025AF16,0x0025AF0D, -0x0025AF04,0x0025AEFB,0x0025AEF2,0x80008C77,0x81008C78,0x82008C79,0x83008C7A,0x84008C7B,0x85008C7C,0x86008C7D, -0x87008C7E,0x88008C7F,0x89008C80,0x8A008C81,0x8B008C82,0x8C008C83,0x8D008C84,0x8E008C85,0x8F008C86,0x90008C87, -0x91008C88,0x92008C89,0x93008C8A,0x94008C8B,0x95008C8C,0x96008C8D,0x97008C8E,0x98008C8F,0x99008C90,0x9A008C91, -0x9B008C92,0x9C008C93,0x9D008C94,0x9E008C95,0x9F008C96,0xA0008C97,0xA1008C98,0xA2008C99,0xA3008C9A,0xA4008C9B, -0xA5008C9C,0xA6008C9D,0xA7008C9E,0xA8008C9F,0xA9008CA0,0xAA008CA1,0xAB008CA2,0xAC008CA3,0xAD008CA4,0xAE008CA5, -0xAF008CA6,0xB0008CA7,0xB1008CA8,0xB2008CA9,0xB3008CAA,0xB4008CAB,0xB5008CAC,0xB6008CAD,0xB7008CAE,0xB8008CAF, -0xB9008CB0,0xBA008CB1,0xBB008CB2,0xBC008CB3,0xBD008CB4,0xBE008CB5,0xBF008CB6,0x0025AEE9,0x0025AEE0,0x0025AED7, -0x0025AECE,0x0025AEC5,0x0025AEBC,0x0025AEB3,0x0025AEAA,0x0025AEA1,0x0025AE98,0x0025AE8F,0x0025AE86,0x0019AD93, -0x0025AE7D,0x0025AE74,0x0025AE6B,0x0025AE62,0x0025AE59,0x0025AE50,0x0025AE47,0x0025AE3E,0x0025AE35,0x0025AE2C, -0x0025AE23,0x0025AE1A,0x0025AE11,0x0025AE08,0x0025ADFF,0x0025ADF6,0x0025ADED,0x0025ADE4,0x0025ADDB,0x0025ADD2, -0x0025ADC9,0x0025ADC0,0x0025ADB7,0x0025ADAE,0x0025ADA5,0x0025AD9C,0x0025AD93,0x0019ACA0,0x0025AD8A,0x0025AD81, -0x0025AD78,0x0025AD6F,0x0025AD66,0x0025AD5D,0x0025AD54,0x0025AD4B,0x0025AD42,0x0025AD39,0x0025AD30,0x0025AD27, -0x0025AD1E,0x0025AD15,0x0025AD0C,0x0025AD03,0x0025ACFA,0x0025ACF1,0x0025ACE8,0x0025ACDF,0x0025ACD6,0x0025ACCD, -0x0025ACC4,0x80008CF7,0x81008CF8,0x82008CF9,0x83008CFA,0x84008CFB,0x85008CFC,0x86008CFD,0x87008CFE,0x88008CFF, -0x89008D00,0x8A008D01,0x8B008D02,0x8C008D03,0x8D008D04,0x8E008D05,0x8F008D06,0x90008D07,0x91008D08,0x92008D09, -0x93008D0A,0x94008D0B,0x95008D0C,0x96008D0D,0x97008D0E,0x98008D0F,0x99008D10,0x9A008D11,0x9B008D12,0x9C008D13, -0x9D008D14,0x9E008D15,0x9F008D16,0xA0008D17,0xA1008D18,0xA2008D19,0xA3008D1A,0xA4008D1B,0xA5008D1C,0xA6008D1D, -0xA7008D1E,0xA8008D1F,0xA9008D20,0xAA008D21,0xAB008D22,0xAC008D23,0xAD008D24,0xAE008D25,0xAF008D26,0xB0008D27, -0xB1008D28,0xB2008D29,0xB3008D2A,0xB4008D2B,0xB5008D2C,0xB6008D2D,0xB7008D2E,0xB8008D2F,0xB9008D30,0xBA008D31, -0xBB008D32,0xBC008D33,0xBD008D34,0xBE008D35,0xBF008D36,0x0025ACBB,0x0025ACB2,0x0025ACA9,0x0025ACA0,0x0019ABAD, -0x0025AC97,0x0025AC8E,0x0025AC85,0x0025AC7C,0x0025AC73,0x0025AC6A,0x0025AC61,0x0025AC58,0x0025AC4F,0x0025AC46, -0x0025AC3D,0x0025AC34,0x0025AC2B,0x0025AC22,0x0025AC19,0x0025AC10,0x0025AC07,0x0025ABFE,0x0025ABF5,0x0025ABEC, -0x0025ABE3,0x0025ABDA,0x0025ABD1,0x0025ABC8,0x0025ABBF,0x0025ABB6,0x0025ABAD,0x0019AABA,0x0025ABA4,0x0025AB9B, -0x0025AB92,0x0025AB89,0x0025AB80,0x0025AB77,0x0025AB6E,0x0025AB65,0x0025AB5C,0x0025AB53,0x0025AB4A,0x0025AB41, -0x0025AB38,0x0025AB2F,0x0025AB26,0x0025AB1D,0x0025AB14,0x0025AB0B,0x0025AB02,0x0025AAF9,0x0025AAF0,0x0025AAE7, -0x0025AADE,0x0025AAD5,0x0025AACC,0x0025AAC3,0x0025AABA,0x0019A9C7,0x0025AAB1,0x0025AAA8,0x0025AA9F,0x80008D77, -0x81008D78,0x82008D79,0x83008D7A,0x84008D7B,0x85008D7C,0x86008D7D,0x87008D7E,0x88008D7F,0x89008D80,0x8A008D81, -0x8B008D82,0x8C008D83,0x8D008D84,0x8E008D85,0x8F008D86,0x90008D87,0x91008D88,0x92008D89,0x93008D8A,0x94008D8B, -0x95008D8C,0x96008D8D,0x97008D8E,0x98008D8F,0x99008D90,0x9A008D91,0x9B008D92,0x9C008D93,0x9D008D94,0x9E008D95, -0x9F008D96,0xA0008D97,0xA1008D98,0xA2008D99,0xA3008D9A,0xA4008D9B,0xA5008D9C,0xA6008D9D,0xA7008D9E,0xA8008D9F, -0xA9008DA0,0xAA008DA1,0xAB008DA2,0xAC008DA3,0xAD008DA4,0xAE008DA5,0xAF008DA6,0xB0008DA7,0xB1008DA8,0xB2008DA9, -0xB3008DAA,0xB4008DAB,0xB5008DAC,0xB6008DAD,0xB7008DAE,0xB8008DAF,0xB9008DB0,0xBA008DB1,0xBB008DB2,0xBC008DB3, -0xBD008DB4,0xBE008DB5,0xBF008DB6,0x0025AA96,0x0025AA8D,0x0025AA84,0x0025AA7B,0x0025AA72,0x0025AA69,0x0025AA60, -0x0025AA57,0x0025AA4E,0x0025AA45,0x0025AA3C,0x0025AA33,0x0025AA2A,0x0025AA21,0x0025AA18,0x0025AA0F,0x0025AA06, -0x0025A9FD,0x0025A9F4,0x0025A9EB,0x0025A9E2,0x0025A9D9,0x0025A9D0,0x0025A9C7,0x0019A8D4,0x0025A9BE,0x0025A9B5, -0x0025A9AC,0x0025A9A3,0x0025A99A,0x0025A991,0x0025A988,0x0025A97F,0x0025A976,0x0025A96D,0x0025A964,0x0025A95B, -0x0025A952,0x0025A949,0x0025A940,0x0025A937,0x0025A92E,0x0025A925,0x0025A91C,0x0025A913,0x0025A90A,0x0025A901, -0x0025A8F8,0x0025A8EF,0x0025A8E6,0x0025A8DD,0x0025A8D4,0x0019A7E1,0x0025A8CB,0x0025A8C2,0x0025A8B9,0x0025A8B0, -0x0025A8A7,0x0025A89E,0x0025A895,0x0025A88C,0x0025A883,0x0025A87A,0x0025A871,0x80008DF7,0x81008DF8,0x82008DF9, -0x83008DFA,0x84008DFB,0x85008DFC,0x86008DFD,0x87008DFE,0x88008DFF,0x89008E00,0x8A008E01,0x8B008E02,0x8C008E03, -0x8D008E04,0x8E008E05,0x8F008E06,0x90008E07,0x91008E08,0x92008E09,0x93008E0A,0x94008E0B,0x95008E0C,0x96008E0D, -0x97008E0E,0x98008E0F,0x99008E10,0x9A008E11,0x9B008E12,0x9C008E13,0x9D008E14,0x9E008E15,0x9F008E16,0xA0008E17, -0xA1008E18,0xA2008E19,0xA3008E1A,0xA4008E1B,0xA5008E1C,0xA6008E1D,0xA7008E1E,0xA8008E1F,0xA9008E20,0xAA008E21, -0xAB008E22,0xAC008E23,0xAD008E24,0xAE008E25,0xAF008E26,0xB0008E27,0xB1008E28,0xB2008E29,0xB3008E2A,0xB4008E2B, -0xB5008E2C,0xB6008E2D,0xB7008E2E,0xB8008E2F,0xB9008E30,0xBA008E31,0xBB008E32,0xBC008E33,0xBD008E34,0xBE008E35, -0xBF008E36,0x0025A868,0x0025A85F,0x0025A856,0x0025A84D,0x0025A844,0x0025A83B,0x0025A832,0x0025A829,0x0025A820, -0x0025A817,0x0025A80E,0x0025A805,0x0025A7FC,0x0025A7F3,0x0025A7EA,0x0025A7E1,0x0019A6EE,0x0025A7D8,0x0025A7CF, -0x0025A7C6,0x0025A7BD,0x0025A7B4,0x0025A7AB,0x0025A7A2,0x0025A799,0x0025A790,0x0025A787,0x0025A77E,0x0025A775, -0x0025A76C,0x0025A763,0x0025A75A,0x0025A751,0x0025A748,0x0025A73F,0x0025A736,0x0025A72D,0x0025A724,0x0025A71B, -0x0025A712,0x0025A709,0x0025A700,0x0025A6F7,0x0025A6EE,0x0019A5FB,0x0025A6E5,0x0025A6DC,0x0025A6D3,0x0025A6CA, -0x0025A6C1,0x0025A6B8,0x0025A6AF,0x0025A6A6,0x0025A69D,0x0025A694,0x0025A68B,0x0025A682,0x0025A679,0x0025A670, -0x0025A667,0x0025A65E,0x0025A655,0x0025A64C,0x0025A643,0x80008E77,0x81008E78,0x82008E79,0x83008E7A,0x84008E7B, -0x85008E7C,0x86008E7D,0x87008E7E,0x88008E7F,0x89008E80,0x8A008E81,0x8B008E82,0x8C008E83,0x8D008E84,0x8E008E85, -0x8F008E86,0x90008E87,0x91008E88,0x92008E89,0x93008E8A,0x94008E8B,0x95008E8C,0x96008E8D,0x97008E8E,0x98008E8F, -0x99008E90,0x9A008E91,0x9B008E92,0x9C008E93,0x9D008E94,0x9E008E95,0x9F008E96,0xA0008E97,0xA1008E98,0xA2008E99, -0xA3008E9A,0xA4008E9B,0xA5008E9C,0xA6008E9D,0xA7008E9E,0xA8008E9F,0xA9008EA0,0xAA008EA1,0xAB008EA2,0xAC008EA3, -0xAD008EA4,0xAE008EA5,0xAF008EA6,0xB0008EA7,0xB1008EA8,0xB2008EA9,0xB3008EAA,0xB4008EAB,0xB5008EAC,0xB6008EAD, -0xB7008EAE,0xB8008EAF,0xB9008EB0,0xBA008EB1,0xBB008EB2,0xBC008EB3,0xBD008EB4,0xBE008EB5,0xBF008EB6,0x0025A63A, -0x0025A631,0x0025A628,0x0025A61F,0x0025A616,0x0025A60D,0x0025A604,0x0025A5FB,0x0019A508,0x0025A5F2,0x0025A5E9, -0x0025A5E0,0x0025A5D7,0x0025A5CE,0x0025A5C5,0x0025A5BC,0x0025A5B3,0x0025A5AA,0x0025A5A1,0x0025A598,0x0025A58F, -0x0025A586,0x0025A57D,0x0025A574,0x0025A56B,0x0025A562,0x0025A559,0x0025A550,0x0025A547,0x0025A53E,0x0025A535, -0x0025A52C,0x0025A523,0x0025A51A,0x0025A511,0x0025A508,0x0019A415,0x0025A4FF,0x0025A4F6,0x0025A4ED,0x0025A4E4, -0x0025A4DB,0x0025A4D2,0x0025A4C9,0x0025A4C0,0x0025A4B7,0x0025A4AE,0x0025A4A5,0x0025A49C,0x0025A493,0x0025A48A, -0x0025A481,0x0025A478,0x0025A46F,0x0025A466,0x0025A45D,0x0025A454,0x0025A44B,0x0025A442,0x0025A439,0x0025A430, -0x0025A427,0x0025A41E,0x0025A415,0x80008EF7,0x81008EF8,0x82008EF9,0x83008EFA,0x84008EFB,0x85008EFC,0x86008EFD, -0x87008EFE,0x88008EFF,0x89008F00,0x8A008F01,0x8B008F02,0x8C008F03,0x8D008F04,0x8E008F05,0x8F008F06,0x90008F07, -0x91008F08,0x92008F09,0x93008F0A,0x94008F0B,0x95008F0C,0x96008F0D,0x97008F0E,0x98008F0F,0x99008F10,0x9A008F11, -0x9B008F12,0x9C008F13,0x9D008F14,0x9E008F15,0x9F008F16,0xA0008F17,0xA1008F18,0xA2008F19,0xA3008F1A,0xA4008F1B, -0xA5008F1C,0xA6008F1D,0xA7008F1E,0xA8008F1F,0xA9008F20,0xAA008F21,0xAB008F22,0xAC008F23,0xAD008F24,0xAE008F25, -0xAF008F26,0xB0008F27,0xB1008F28,0xB2008F29,0xB3008F2A,0xB4008F2B,0xB5008F2C,0xB6008F2D,0xB7008F2E,0xB8008F2F, -0xB9008F30,0xBA008F31,0xBB008F32,0xBC008F33,0xBD008F34,0xBE008F35,0xBF008F36,0x0019A322,0x0025A40C,0x0025A403, -0x0025A3FA,0x0025A3F1,0x0025A3E8,0x0025A3DF,0x0025A3D6,0x0025A3CD,0x0025A3C4,0x0025A3BB,0x0025A3B2,0x0025A3A9, -0x0025A3A0,0x0025A397,0x0025A38E,0x0025A385,0x0025A37C,0x0025A373,0x0025A36A,0x0025A361,0x0025A358,0x0025A34F, -0x0025A346,0x0025A33D,0x0025A334,0x0025A32B,0x0025A322,0x0019A22F,0x0025A319,0x0025A310,0x0025A307,0x0025A2FE, -0x0025A2F5,0x0025A2EC,0x0025A2E3,0x0025A2DA,0x0025A2D1,0x0025A2C8,0x0025A2BF,0x0025A2B6,0x0025A2AD,0x0025A2A4, -0x0025A29B,0x0025A292,0x0025A289,0x0025A280,0x0025A277,0x0025A26E,0x0025A265,0x0025A25C,0x0025A253,0x0025A24A, -0x0025A241,0x0025A238,0x0025A22F,0x0019A13C,0x0025A226,0x0025A21D,0x0025A214,0x0025A20B,0x0025A202,0x0025A1F9, -0x0025A1F0,0x80008F77,0x81008F78,0x82008F79,0x83008F7A,0x84008F7B,0x85008F7C,0x86008F7D,0x87008F7E,0x88008F7F, -0x89008F80,0x8A008F81,0x8B008F82,0x8C008F83,0x8D008F84,0x8E008F85,0x8F008F86,0x90008F87,0x91008F88,0x92008F89, -0x93008F8A,0x94008F8B,0x95008F8C,0x96008F8D,0x97008F8E,0x98008F8F,0x99008F90,0x9A008F91,0x9B008F92,0x9C008F93, -0x9D008F94,0x9E008F95,0x9F008F96,0xA0008F97,0xA1008F98,0xA2008F99,0xA3008F9A,0xA4008F9B,0xA5008F9C,0xA6008F9D, -0xA7008F9E,0xA8008F9F,0xA9008FA0,0xAA008FA1,0xAB008FA2,0xAC008FA3,0xAD008FA4,0xAE008FA5,0xAF008FA6,0xB0008FA7, -0xB1008FA8,0xB2008FA9,0xB3008FAA,0xB4008FAB,0xB5008FAC,0xB6008FAD,0xB7008FAE,0xB8008FAF,0xB9008FB0,0xBA008FB1, -0xBB008FB2,0xBC008FB3,0xBD008FB4,0xBE008FB5,0xBF008FB6,0x0025A1E7,0x0025A1DE,0x0025A1D5,0x0025A1CC,0x0025A1C3, -0x0025A1BA,0x0025A1B1,0x0025A1A8,0x0025A19F,0x0025A196,0x0025A18D,0x0025A184,0x0025A17B,0x0025A172,0x0025A169, -0x0025A160,0x0025A157,0x0025A14E,0x0025A145,0x0025A13C,0x0019A049,0x0025A133,0x0025A12A,0x0025A121,0x0025A118, -0x0025A10F,0x0025A106,0x0025A0FD,0x0025A0F4,0x0025A0EB,0x0025A0E2,0x0025A0D9,0x0025A0D0,0x0025A0C7,0x0025A0BE, -0x0025A0B5,0x0025A0AC,0x0025A0A3,0x0025A09A,0x0025A091,0x0025A088,0x0025A07F,0x0025A076,0x0025A06D,0x0025A064, -0x0025A05B,0x0025A052,0x0025A049,0x00199F56,0x0025A040,0x0025A037,0x0025A02E,0x0025A025,0x0025A01C,0x0025A013, -0x0025A00A,0x0025A001,0x00259FF8,0x00259FEF,0x00259FE6,0x00259FDD,0x00259FD4,0x00259FCB,0x00259FC2,0x80008FF7, -0x81008FF8,0x82008FF9,0x83008FFA,0x84008FFB,0x85008FFC,0x86008FFD,0x87008FFE,0x88008FFF,0x89009000,0x8A009001, -0x8B009002,0x8C009003,0x8D009004,0x8E009005,0x8F009006,0x90009007,0x91009008,0x92009009,0x9300900A,0x9400900B, -0x9500900C,0x9600900D,0x9700900E,0x9800900F,0x99009010,0x9A009011,0x9B009012,0x9C009013,0x9D009014,0x9E009015, -0x9F009016,0xA0009017,0xA1009018,0xA2009019,0xA300901A,0xA400901B,0xA500901C,0xA600901D,0xA700901E,0xA800901F, -0xA9009020,0xAA009021,0xAB009022,0xAC009023,0xAD009024,0xAE009025,0xAF009026,0xB0009027,0xB1009028,0xB2009029, -0xB300902A,0xB400902B,0xB500902C,0xB600902D,0xB700902E,0xB800902F,0xB9009030,0xBA009031,0xBB009032,0xBC009033, -0xBD009034,0xBE009035,0xBF009036,0x00259FB9,0x00259FB0,0x00259FA7,0x00259F9E,0x00259F95,0x00259F8C,0x00259F83, -0x00259F7A,0x00259F71,0x00259F68,0x00259F5F,0x00259F56,0x00199E63,0x00259F4D,0x00259F44,0x00259F3B,0x00259F32, -0x00259F29,0x00259F20,0x00259F17,0x00259F0E,0x00259F05,0x00259EFC,0x00259EF3,0x00259EEA,0x00259EE1,0x00259ED8, -0x00259ECF,0x00259EC6,0x00259EBD,0x00259EB4,0x00259EAB,0x00259EA2,0x00259E99,0x00259E90,0x00259E87,0x00259E7E, -0x00259E75,0x00259E6C,0x00259E63,0x00199D70,0x00259E5A,0x00259E51,0x00259E48,0x00259E3F,0x00259E36,0x00259E2D, -0x00259E24,0x00259E1B,0x00259E12,0x00259E09,0x00259E00,0x00259DF7,0x00259DEE,0x00259DE5,0x00259DDC,0x00259DD3, -0x00259DCA,0x00259DC1,0x00259DB8,0x00259DAF,0x00259DA6,0x00259D9D,0x00259D94,0x80009077,0x81009078,0x82009079, -0x8300907A,0x8400907B,0x8500907C,0x8600907D,0x8700907E,0x8800907F,0x89009080,0x8A009081,0x8B009082,0x8C009083, -0x8D009084,0x8E009085,0x8F009086,0x90009087,0x91009088,0x92009089,0x9300908A,0x9400908B,0x9500908C,0x9600908D, -0x9700908E,0x9800908F,0x99009090,0x9A009091,0x9B009092,0x9C009093,0x9D009094,0x9E009095,0x9F009096,0xA0009097, -0xA1009098,0xA2009099,0xA300909A,0xA400909B,0xA500909C,0xA600909D,0xA700909E,0xA800909F,0xA90090A0,0xAA0090A1, -0xAB0090A2,0xAC0090A3,0xAD0090A4,0xAE0090A5,0xAF0090A6,0xB00090A7,0xB10090A8,0xB20090A9,0xB30090AA,0xB40090AB, -0xB50090AC,0xB60090AD,0xB70090AE,0xB80090AF,0xB90090B0,0xBA0090B1,0xBB0090B2,0xBC0090B3,0xBD0090B4,0xBE0090B5, -0xBF0090B6,0x00259D8B,0x00259D82,0x00259D79,0x00259D70,0x00199C7D,0x00259D67,0x00259D5E,0x00259D55,0x00259D4C, -0x00259D43,0x00259D3A,0x00259D31,0x00259D28,0x00259D1F,0x00259D16,0x00259D0D,0x00259D04,0x00259CFB,0x00259CF2, -0x00259CE9,0x00259CE0,0x00259CD7,0x00259CCE,0x00259CC5,0x00259CBC,0x00259CB3,0x00259CAA,0x00259CA1,0x00259C98, -0x00259C8F,0x00259C86,0x00259C7D,0x00199B8A,0x00259C74,0x00259C6B,0x00259C62,0x00259C59,0x00259C50,0x00259C47, -0x00259C3E,0x00259C35,0x00259C2C,0x00259C23,0x00259C1A,0x00259C11,0x00259C08,0x00259BFF,0x00259BF6,0x00259BED, -0x00259BE4,0x00259BDB,0x00259BD2,0x00259BC9,0x00259BC0,0x00259BB7,0x00259BAE,0x00259BA5,0x00259B9C,0x00259B93, -0x00259B8A,0x00199A97,0x00259B81,0x00259B78,0x00259B6F,0x800090F7,0x810090F8,0x820090F9,0x830090FA,0x840090FB, -0x850090FC,0x860090FD,0x870090FE,0x880090FF,0x89009100,0x8A009101,0x8B009102,0x8C009103,0x8D009104,0x8E009105, -0x8F009106,0x90009107,0x91009108,0x92009109,0x9300910A,0x9400910B,0x9500910C,0x9600910D,0x9700910E,0x9800910F, -0x99009110,0x9A009111,0x9B009112,0x9C009113,0x9D009114,0x9E009115,0x9F009116,0xA0009117,0xA1009118,0xA2009119, -0xA300911A,0xA400911B,0xA500911C,0xA600911D,0xA700911E,0xA800911F,0xA9009120,0xAA009121,0xAB009122,0xAC009123, -0xAD009124,0xAE009125,0xAF009126,0xB0009127,0xB1009128,0xB2009129,0xB300912A,0xB400912B,0xB500912C,0xB600912D, -0xB700912E,0xB800912F,0xB9009130,0xBA009131,0xBB009132,0xBC009133,0xBD009134,0xBE009135,0xBF009136,0x00259B66, -0x00259B5D,0x00259B54,0x00259B4B,0x00259B42,0x00259B39,0x00259B30,0x00259B27,0x00259B1E,0x00259B15,0x00259B0C, -0x00259B03,0x00259AFA,0x00259AF1,0x00259AE8,0x00259ADF,0x00259AD6,0x00259ACD,0x00259AC4,0x00259ABB,0x00259AB2, -0x00259AA9,0x00259AA0,0x00259A97,0x001999A4,0x00259A8E,0x00259A85,0x00259A7C,0x00259A73,0x00259A6A,0x00259A61, -0x00259A58,0x00259A4F,0x00259A46,0x00259A3D,0x00259A34,0x00259A2B,0x00259A22,0x00259A19,0x00259A10,0x00259A07, -0x002599FE,0x002599F5,0x002599EC,0x002599E3,0x002599DA,0x002599D1,0x002599C8,0x002599BF,0x002599B6,0x002599AD, -0x002599A4,0x001998B1,0x0025999B,0x00259992,0x00259989,0x00259980,0x00259977,0x0025996E,0x00259965,0x0025995C, -0x00259953,0x0025994A,0x00259941,0x80009177,0x81009178,0x82009179,0x8300917A,0x8400917B,0x8500917C,0x8600917D, -0x8700917E,0x8800917F,0x89009180,0x8A009181,0x8B009182,0x8C009183,0x8D009184,0x8E009185,0x8F009186,0x90009187, -0x91009188,0x92009189,0x9300918A,0x9400918B,0x9500918C,0x9600918D,0x9700918E,0x9800918F,0x99009190,0x9A009191, -0x9B009192,0x9C009193,0x9D009194,0x9E009195,0x9F009196,0xA0009197,0xA1009198,0xA2009199,0xA300919A,0xA400919B, -0xA500919C,0xA600919D,0xA700919E,0xA800919F,0xA90091A0,0xAA0091A1,0xAB0091A2,0xAC0091A3,0xAD0091A4,0xAE0091A5, -0xAF0091A6,0xB00091A7,0xB10091A8,0xB20091A9,0xB30091AA,0xB40091AB,0xB50091AC,0xB60091AD,0xB70091AE,0xB80091AF, -0xB90091B0,0xBA0091B1,0xBB0091B2,0xBC0091B3,0xBD0091B4,0xBE0091B5,0xBF0091B6,0x00259938,0x0025992F,0x00259926, -0x0025991D,0x00259914,0x0025990B,0x00259902,0x002598F9,0x002598F0,0x002598E7,0x002598DE,0x002598D5,0x002598CC, -0x002598C3,0x002598BA,0x002598B1,0x001997BE,0x002598A8,0x0025989F,0x00259896,0x0025988D,0x00259884,0x0025987B, -0x00259872,0x00259869,0x00259860,0x00259857,0x0025984E,0x00259845,0x0025983C,0x00259833,0x0025982A,0x00259821, -0x00259818,0x0025980F,0x00259806,0x002597FD,0x002597F4,0x002597EB,0x002597E2,0x002597D9,0x002597D0,0x002597C7, -0x002597BE,0x001996CB,0x002597B5,0x002597AC,0x002597A3,0x0025979A,0x00259791,0x00259788,0x0025977F,0x00259776, -0x0025976D,0x00259764,0x0025975B,0x00259752,0x00259749,0x00259740,0x00259737,0x0025972E,0x00259725,0x0025971C, -0x00259713,0x800091F7,0x810091F8,0x820091F9,0x830091FA,0x840091FB,0x850091FC,0x860091FD,0x870091FE,0x880091FF, -0x89009200,0x8A009201,0x8B009202,0x8C009203,0x8D009204,0x8E009205,0x8F009206,0x90009207,0x91009208,0x92009209, -0x9300920A,0x9400920B,0x9500920C,0x9600920D,0x9700920E,0x9800920F,0x99009210,0x9A009211,0x9B009212,0x9C009213, -0x9D009214,0x9E009215,0x9F009216,0xA0009217,0xA1009218,0xA2009219,0xA300921A,0xA400921B,0xA500921C,0xA600921D, -0xA700921E,0xA800921F,0xA9009220,0xAA009221,0xAB009222,0xAC009223,0xAD009224,0xAE009225,0xAF009226,0xB0009227, -0xB1009228,0xB2009229,0xB300922A,0xB400922B,0xB500922C,0xB600922D,0xB700922E,0xB800922F,0xB9009230,0xBA009231, -0xBB009232,0xBC009233,0xBD009234,0xBE009235,0xBF009236,0x0025970A,0x00259701,0x002596F8,0x002596EF,0x002596E6, -0x002596DD,0x002596D4,0x002596CB,0x001995D8,0x002596C2,0x002596B9,0x002596B0,0x002596A7,0x0025969E,0x00259695, -0x0025968C,0x00259683,0x0025967A,0x00259671,0x00259668,0x0025965F,0x00259656,0x0025964D,0x00259644,0x0025963B, -0x00259632,0x00259629,0x00259620,0x00259617,0x0025960E,0x00259605,0x002595FC,0x002595F3,0x002595EA,0x002595E1, -0x002595D8,0x001994E5,0x002595CF,0x002595C6,0x002595BD,0x002595B4,0x002595AB,0x002595A2,0x00259599,0x00259590, -0x00259587,0x0025957E,0x00259575,0x0025956C,0x00259563,0x0025955A,0x00259551,0x00259548,0x0025953F,0x00259536, -0x0025952D,0x00259524,0x0025951B,0x00259512,0x00259509,0x00259500,0x002594F7,0x002594EE,0x002594E5,0x80009277, -0x81009278,0x82009279,0x8300927A,0x8400927B,0x8500927C,0x8600927D,0x8700927E,0x8800927F,0x89009280,0x8A009281, -0x8B009282,0x8C009283,0x8D009284,0x8E009285,0x8F009286,0x90009287,0x91009288,0x92009289,0x9300928A,0x9400928B, -0x9500928C,0x9600928D,0x9700928E,0x9800928F,0x99009290,0x9A009291,0x9B009292,0x9C009293,0x9D009294,0x9E009295, -0x9F009296,0xA0009297,0xA1009298,0xA2009299,0xA300929A,0xA400929B,0xA500929C,0xA600929D,0xA700929E,0xA800929F, -0xA90092A0,0xAA0092A1,0xAB0092A2,0xAC0092A3,0xAD0092A4,0xAE0092A5,0xAF0092A6,0xB00092A7,0xB10092A8,0xB20092A9, -0xB30092AA,0xB40092AB,0xB50092AC,0xB60092AD,0xB70092AE,0xB80092AF,0xB90092B0,0xBA0092B1,0xBB0092B2,0xBC0092B3, -0xBD0092B4,0xBE0092B5,0xBF0092B6,0x001993F2,0x002594DC,0x002594D3,0x002594CA,0x002594C1,0x002594B8,0x002594AF, -0x002594A6,0x0025949D,0x00259494,0x0025948B,0x00259482,0x00259479,0x00259470,0x00259467,0x0025945E,0x00259455, -0x0025944C,0x00259443,0x0025943A,0x00259431,0x00259428,0x0025941F,0x00259416,0x0025940D,0x00259404,0x002593FB, -0x002593F2,0x001992FF,0x002593E9,0x002593E0,0x002593D7,0x002593CE,0x002593C5,0x002593BC,0x002593B3,0x002593AA, -0x002593A1,0x00259398,0x0025938F,0x00259386,0x0025937D,0x00259374,0x0025936B,0x00259362,0x00259359,0x00259350, -0x00259347,0x0025933E,0x00259335,0x0025932C,0x00259323,0x0025931A,0x00259311,0x00259308,0x002592FF,0x0019920C, -0x002592F6,0x002592ED,0x002592E4,0x002592DB,0x002592D2,0x002592C9,0x002592C0,0x800092F7,0x810092F8,0x820092F9, -0x830092FA,0x840092FB,0x850092FC,0x860092FD,0x870092FE,0x880092FF,0x89009300,0x8A009301,0x8B009302,0x8C009303, -0x8D009304,0x8E009305,0x8F009306,0x90009307,0x91009308,0x92009309,0x9300930A,0x9400930B,0x9500930C,0x9600930D, -0x9700930E,0x9800930F,0x99009310,0x9A009311,0x9B009312,0x9C009313,0x9D009314,0x9E009315,0x9F009316,0xA0009317, -0xA1009318,0xA2009319,0xA300931A,0xA400931B,0xA500931C,0xA600931D,0xA700931E,0xA800931F,0xA9009320,0xAA009321, -0xAB009322,0xAC009323,0xAD009324,0xAE009325,0xAF009326,0xB0009327,0xB1009328,0xB2009329,0xB300932A,0xB400932B, -0xB500932C,0xB600932D,0xB700932E,0xB800932F,0xB9009330,0xBA009331,0xBB009332,0xBC009333,0xBD009334,0xBE009335, -0xBF009336,0x002592B7,0x002592AE,0x002592A5,0x0025929C,0x00259293,0x0025928A,0x00259281,0x00259278,0x0025926F, -0x00259266,0x0025925D,0x00259254,0x0025924B,0x00259242,0x00259239,0x00259230,0x00259227,0x0025921E,0x00259215, -0x0025920C,0x00199119,0x00259203,0x002591FA,0x002591F1,0x002591E8,0x002591DF,0x002591D6,0x002591CD,0x002591C4, -0x002591BB,0x002591B2,0x002591A9,0x002591A0,0x00259197,0x0025918E,0x00259185,0x0025917C,0x00259173,0x0025916A, -0x00259161,0x00259158,0x0025914F,0x00259146,0x0025913D,0x00259134,0x0025912B,0x00259122,0x00259119,0x00199026, -0x00259110,0x00259107,0x002590FE,0x002590F5,0x002590EC,0x002590E3,0x002590DA,0x002590D1,0x002590C8,0x002590BF, -0x002590B6,0x002590AD,0x002590A4,0x0025909B,0x00259092,0x80009377,0x81009378,0x82009379,0x8300937A,0x8400937B, -0x8500937C,0x8600937D,0x8700937E,0x8800937F,0x89009380,0x8A009381,0x8B009382,0x8C009383,0x8D009384,0x8E009385, -0x8F009386,0x90009387,0x91009388,0x92009389,0x9300938A,0x9400938B,0x9500938C,0x9600938D,0x9700938E,0x9800938F, -0x99009390,0x9A009391,0x9B009392,0x9C009393,0x9D009394,0x9E009395,0x9F009396,0xA0009397,0xA1009398,0xA2009399, -0xA300939A,0xA400939B,0xA500939C,0xA600939D,0xA700939E,0xA800939F,0xA90093A0,0xAA0093A1,0xAB0093A2,0xAC0093A3, -0xAD0093A4,0xAE0093A5,0xAF0093A6,0xB00093A7,0xB10093A8,0xB20093A9,0xB30093AA,0xB40093AB,0xB50093AC,0xB60093AD, -0xB70093AE,0xB80093AF,0xB90093B0,0xBA0093B1,0xBB0093B2,0xBC0093B3,0xBD0093B4,0xBE0093B5,0xBF0093B6,0x00259089, -0x00259080,0x00259077,0x0025906E,0x00259065,0x0025905C,0x00259053,0x0025904A,0x00259041,0x00259038,0x0025902F, -0x00259026,0x00198F33,0x0025901D,0x00259014,0x0025900B,0x00259002,0x00258FF9,0x00258FF0,0x00258FE7,0x00258FDE, -0x00258FD5,0x00258FCC,0x00258FC3,0x00258FBA,0x00258FB1,0x00258FA8,0x00258F9F,0x00258F96,0x00258F8D,0x00258F84, -0x00258F7B,0x00258F72,0x00258F69,0x00258F60,0x00258F57,0x00258F4E,0x00258F45,0x00258F3C,0x00258F33,0x00198E40, -0x00258F2A,0x00258F21,0x00258F18,0x00258F0F,0x00258F06,0x00258EFD,0x00258EF4,0x00258EEB,0x00258EE2,0x00258ED9, -0x00258ED0,0x00258EC7,0x00258EBE,0x00258EB5,0x00258EAC,0x00258EA3,0x00258E9A,0x00258E91,0x00258E88,0x00258E7F, -0x00258E76,0x00258E6D,0x00258E64,0x800093F7,0x810093F8,0x820093F9,0x830093FA,0x840093FB,0x850093FC,0x860093FD, -0x870093FE,0x880093FF,0x89009400,0x8A009401,0x8B009402,0x8C009403,0x8D009404,0x8E009405,0x8F009406,0x90009407, -0x91009408,0x92009409,0x9300940A,0x9400940B,0x9500940C,0x9600940D,0x9700940E,0x9800940F,0x99009410,0x9A009411, -0x9B009412,0x9C009413,0x9D009414,0x9E009415,0x9F009416,0xA0009417,0xA1009418,0xA2009419,0xA300941A,0xA400941B, -0xA500941C,0xA600941D,0xA700941E,0xA800941F,0xA9009420,0xAA009421,0xAB009422,0xAC009423,0xAD009424,0xAE009425, -0xAF009426,0xB0009427,0xB1009428,0xB2009429,0xB300942A,0xB400942B,0xB500942C,0xB600942D,0xB700942E,0xB800942F, -0xB9009430,0xBA009431,0xBB009432,0xBC009433,0xBD009434,0xBE009435,0xBF009436,0x00258E5B,0x00258E52,0x00258E49, -0x00258E40,0x00198D4D,0x00258E37,0x00258E2E,0x00258E25,0x00258E1C,0x00258E13,0x00258E0A,0x00258E01,0x00258DF8, -0x00258DEF,0x00258DE6,0x00258DDD,0x00258DD4,0x00258DCB,0x00258DC2,0x00258DB9,0x00258DB0,0x00258DA7,0x00258D9E, -0x00258D95,0x00258D8C,0x00258D83,0x00258D7A,0x00258D71,0x00258D68,0x00258D5F,0x00258D56,0x00258D4D,0x00198C5A, -0x00258D44,0x00258D3B,0x00258D32,0x00258D29,0x00258D20,0x00258D17,0x00258D0E,0x00258D05,0x00258CFC,0x00258CF3, -0x00258CEA,0x00258CE1,0x00258CD8,0x00258CCF,0x00258CC6,0x00258CBD,0x00258CB4,0x00258CAB,0x00258CA2,0x00258C99, -0x00258C90,0x00258C87,0x00258C7E,0x00258C75,0x00258C6C,0x00258C63,0x00258C5A,0x00198B67,0x00258C51,0x00258C48, -0x00258C3F,0x80009477,0x81009478,0x82009479,0x8300947A,0x8400947B,0x8500947C,0x8600947D,0x8700947E,0x8800947F, -0x89009480,0x8A009481,0x8B009482,0x8C009483,0x8D009484,0x8E009485,0x8F009486,0x90009487,0x91009488,0x92009489, -0x9300948A,0x9400948B,0x9500948C,0x9600948D,0x9700948E,0x9800948F,0x99009490,0x9A009491,0x9B009492,0x9C009493, -0x9D009494,0x9E009495,0x9F009496,0xA0009497,0xA1009498,0xA2009499,0xA300949A,0xA400949B,0xA500949C,0xA600949D, -0xA700949E,0xA800949F,0xA90094A0,0xAA0094A1,0xAB0094A2,0xAC0094A3,0xAD0094A4,0xAE0094A5,0xAF0094A6,0xB00094A7, -0xB10094A8,0xB20094A9,0xB30094AA,0xB40094AB,0xB50094AC,0xB60094AD,0xB70094AE,0xB80094AF,0xB90094B0,0xBA0094B1, -0xBB0094B2,0xBC0094B3,0xBD0094B4,0xBE0094B5,0xBF0094B6,0x00258C36,0x00258C2D,0x00258C24,0x00258C1B,0x00258C12, -0x00258C09,0x00258C00,0x00258BF7,0x00258BEE,0x00258BE5,0x00258BDC,0x00258BD3,0x00258BCA,0x00258BC1,0x00258BB8, -0x00258BAF,0x00258BA6,0x00258B9D,0x00258B94,0x00258B8B,0x00258B82,0x00258B79,0x00258B70,0x00258B67,0x00198A74, -0x00258B5E,0x00258B55,0x00258B4C,0x00258B43,0x00258B3A,0x00258B31,0x00258B28,0x00258B1F,0x00258B16,0x00258B0D, -0x00258B04,0x00258AFB,0x00258AF2,0x00258AE9,0x00258AE0,0x00258AD7,0x00258ACE,0x00258AC5,0x00258ABC,0x00258AB3, -0x00258AAA,0x00258AA1,0x00258A98,0x00258A8F,0x00258A86,0x00258A7D,0x00258A74,0x00198981,0x00258A6B,0x00258A62, -0x00258A59,0x00258A50,0x00258A47,0x00258A3E,0x00258A35,0x00258A2C,0x00258A23,0x00258A1A,0x00258A11,0x800094F7, -0x810094F8,0x820094F9,0x830094FA,0x840094FB,0x850094FC,0x860094FD,0x870094FE,0x880094FF,0x89009500,0x8A009501, -0x8B009502,0x8C009503,0x8D009504,0x8E009505,0x8F009506,0x90009507,0x91009508,0x92009509,0x9300950A,0x9400950B, -0x9500950C,0x9600950D,0x9700950E,0x9800950F,0x99009510,0x9A009511,0x9B009512,0x9C009513,0x9D009514,0x9E009515, -0x9F009516,0xA0009517,0xA1009518,0xA2009519,0xA300951A,0xA400951B,0xA500951C,0xA600951D,0xA700951E,0xA800951F, -0xA9009520,0xAA009521,0xAB009522,0xAC009523,0xAD009524,0xAE009525,0xAF009526,0xB0009527,0xB1009528,0xB2009529, -0xB300952A,0xB400952B,0xB500952C,0xB600952D,0xB700952E,0xB800952F,0xB9009530,0xBA009531,0xBB009532,0xBC009533, -0xBD009534,0xBE009535,0xBF009536,0x00258A08,0x002589FF,0x002589F6,0x002589ED,0x002589E4,0x002589DB,0x002589D2, -0x002589C9,0x002589C0,0x002589B7,0x002589AE,0x002589A5,0x0025899C,0x00258993,0x0025898A,0x00258981,0x0019888E, -0x00258978,0x0025896F,0x00258966,0x0025895D,0x00258954,0x0025894B,0x00258942,0x00258939,0x00258930,0x00258927, -0x0025891E,0x00258915,0x0025890C,0x00258903,0x002588FA,0x002588F1,0x002588E8,0x002588DF,0x002588D6,0x002588CD, -0x002588C4,0x002588BB,0x002588B2,0x002588A9,0x002588A0,0x00258897,0x0025888E,0x0019879B,0x00258885,0x0025887C, -0x00258873,0x0025886A,0x00258861,0x00258858,0x0025884F,0x00258846,0x0025883D,0x00258834,0x0025882B,0x00258822, -0x00258819,0x00258810,0x00258807,0x002587FE,0x002587F5,0x002587EC,0x002587E3,0x80009577,0x81009578,0x82009579, -0x8300957A,0x8400957B,0x8500957C,0x8600957D,0x8700957E,0x8800957F,0x89009580,0x8A009581,0x8B009582,0x8C009583, -0x8D009584,0x8E009585,0x8F009586,0x90009587,0x91009588,0x92009589,0x9300958A,0x9400958B,0x9500958C,0x9600958D, -0x9700958E,0x9800958F,0x99009590,0x9A009591,0x9B009592,0x9C009593,0x9D009594,0x9E009595,0x9F009596,0xA0009597, -0xA1009598,0xA2009599,0xA300959A,0xA400959B,0xA500959C,0xA600959D,0xA700959E,0xA800959F,0xA90095A0,0xAA0095A1, -0xAB0095A2,0xAC0095A3,0xAD0095A4,0xAE0095A5,0xAF0095A6,0xB00095A7,0xB10095A8,0xB20095A9,0xB30095AA,0xB40095AB, -0xB50095AC,0xB60095AD,0xB70095AE,0xB80095AF,0xB90095B0,0xBA0095B1,0xBB0095B2,0xBC0095B3,0xBD0095B4,0xBE0095B5, -0xBF0095B6,0x002587DA,0x002587D1,0x002587C8,0x002587BF,0x002587B6,0x002587AD,0x002587A4,0x0025879B,0x001986A8, -0x00258792,0x00258789,0x00258780,0x00258777,0x0025876E,0x00258765,0x0025875C,0x00258753,0x0025874A,0x00258741, -0x00258738,0x0025872F,0x00258726,0x0025871D,0x00258714,0x0025870B,0x00258702,0x002586F9,0x002586F0,0x002586E7, -0x002586DE,0x002586D5,0x002586CC,0x002586C3,0x002586BA,0x002586B1,0x002586A8,0x001985B5,0x0025869F,0x00258696, -0x0025868D,0x00258684,0x0025867B,0x00258672,0x00258669,0x00258660,0x00258657,0x0025864E,0x00258645,0x0025863C, -0x00258633,0x0025862A,0x00258621,0x00258618,0x0025860F,0x00258606,0x002585FD,0x002585F4,0x002585EB,0x002585E2, -0x002585D9,0x002585D0,0x002585C7,0x002585BE,0x002585B5,0x800095F7,0x810095F8,0x820095F9,0x830095FA,0x840095FB, -0x850095FC,0x860095FD,0x870095FE,0x880095FF,0x89009600,0x8A009601,0x8B009602,0x8C009603,0x8D009604,0x8E009605, -0x8F009606,0x90009607,0x91009608,0x92009609,0x9300960A,0x9400960B,0x9500960C,0x9600960D,0x9700960E,0x9800960F, -0x99009610,0x9A009611,0x9B009612,0x9C009613,0x9D009614,0x9E009615,0x9F009616,0xA0009617,0xA1009618,0xA2009619, -0xA300961A,0xA400961B,0xA500961C,0xA600961D,0xA700961E,0xA800961F,0xA9009620,0xAA009621,0xAB009622,0xAC009623, -0xAD009624,0xAE009625,0xAF009626,0xB0009627,0xB1009628,0xB2009629,0xB300962A,0xB400962B,0xB500962C,0xB600962D, -0xB700962E,0xB800962F,0xB9009630,0xBA009631,0xBB009632,0xBC009633,0xBD009634,0xBE009635,0xBF009636,0x001984C2, -0x002585AC,0x002585A3,0x0025859A,0x00258591,0x00258588,0x0025857F,0x00258576,0x0025856D,0x00258564,0x0025855B, -0x00258552,0x00258549,0x00258540,0x00258537,0x0025852E,0x00258525,0x0025851C,0x00258513,0x0025850A,0x00258501, -0x002584F8,0x002584EF,0x002584E6,0x002584DD,0x002584D4,0x002584CB,0x002584C2,0x001983CF,0x002584B9,0x002584B0, -0x002584A7,0x0025849E,0x00258495,0x0025848C,0x00258483,0x0025847A,0x00258471,0x00258468,0x0025845F,0x00258456, -0x0025844D,0x00258444,0x0025843B,0x00258432,0x00258429,0x00258420,0x00258417,0x0025840E,0x00258405,0x002583FC, -0x002583F3,0x002583EA,0x002583E1,0x002583D8,0x002583CF,0x001982DC,0x002583C6,0x002583BD,0x002583B4,0x002583AB, -0x002583A2,0x00258399,0x00258390,0x80009677,0x81009678,0x82009679,0x8300967A,0x8400967B,0x8500967C,0x8600967D, -0x8700967E,0x8800967F,0x89009680,0x8A009681,0x8B009682,0x8C009683,0x8D009684,0x8E009685,0x8F009686,0x90009687, -0x91009688,0x92009689,0x9300968A,0x9400968B,0x9500968C,0x9600968D,0x9700968E,0x9800968F,0x99009690,0x9A009691, -0x9B009692,0x9C009693,0x9D009694,0x9E009695,0x9F009696,0xA0009697,0xA1009698,0xA2009699,0xA300969A,0xA400969B, -0xA500969C,0xA600969D,0xA700969E,0xA800969F,0xA90096A0,0xAA0096A1,0xAB0096A2,0xAC0096A3,0xAD0096A4,0xAE0096A5, -0xAF0096A6,0xB00096A7,0xB10096A8,0xB20096A9,0xB30096AA,0xB40096AB,0xB50096AC,0xB60096AD,0xB70096AE,0xB80096AF, -0xB90096B0,0xBA0096B1,0xBB0096B2,0xBC0096B3,0xBD0096B4,0xBE0096B5,0xBF0096B6,0x00258387,0x0025837E,0x00258375, -0x0025836C,0x00258363,0x0025835A,0x00258351,0x00258348,0x0025833F,0x00258336,0x0025832D,0x00258324,0x0025831B, -0x00258312,0x00258309,0x00258300,0x002582F7,0x002582EE,0x002582E5,0x002582DC,0x001981E9,0x002582D3,0x002582CA, -0x002582C1,0x002582B8,0x002582AF,0x002582A6,0x0025829D,0x00258294,0x0025828B,0x00258282,0x00258279,0x00258270, -0x00258267,0x0025825E,0x00258255,0x0025824C,0x00258243,0x0025823A,0x00258231,0x00258228,0x0025821F,0x00258216, -0x0025820D,0x00258204,0x002581FB,0x002581F2,0x002581E9,0x001980F6,0x002581E0,0x002581D7,0x002581CE,0x002581C5, -0x002581BC,0x002581B3,0x002581AA,0x002581A1,0x00258198,0x0025818F,0x00258186,0x0025817D,0x00258174,0x0025816B, -0x00258162,0x800096F7,0x810096F8,0x820096F9,0x830096FA,0x840096FB,0x850096FC,0x860096FD,0x870096FE,0x880096FF, -0x89009700,0x8A009701,0x8B009702,0x8C009703,0x8D009704,0x8E009705,0x8F009706,0x90009707,0x91009708,0x92009709, -0x9300970A,0x9400970B,0x9500970C,0x9600970D,0x9700970E,0x9800970F,0x99009710,0x9A009711,0x9B009712,0x9C009713, -0x9D009714,0x9E009715,0x9F009716,0xA0009717,0xA1009718,0xA2009719,0xA300971A,0xA400971B,0xA500971C,0xA600971D, -0xA700971E,0xA800971F,0xA9009720,0xAA009721,0xAB009722,0xAC009723,0xAD009724,0xAE009725,0xAF009726,0xB0009727, -0xB1009728,0xB2009729,0xB300972A,0xB400972B,0xB500972C,0xB600972D,0xB700972E,0xB800972F,0xB9009730,0xBA009731, -0xBB009732,0xBC009733,0xBD009734,0xBE009735,0xBF009736,0x00258159,0x00258150,0x00258147,0x0025813E,0x00258135, -0x0025812C,0x00258123,0x0025811A,0x00258111,0x00258108,0x002580FF,0x002580F6,0x00198003,0x002580ED,0x002580E4, -0x002580DB,0x002580D2,0x002580C9,0x002580C0,0x002580B7,0x002580AE,0x002580A5,0x0025809C,0x00258093,0x0025808A, -0x00258081,0x00258078,0x0025806F,0x00258066,0x0025805D,0x00258054,0x0025804B,0x00258042,0x00258039,0x00258030, -0x00258027,0x0025801E,0x00258015,0x0025800C,0x00258003,0x00197F10,0x00257FFA,0x00257FF1,0x00257FE8,0x00257FDF, -0x00257FD6,0x00257FCD,0x00257FC4,0x00257FBB,0x00257FB2,0x00257FA9,0x00257FA0,0x00257F97,0x00257F8E,0x00257F85, -0x00257F7C,0x00257F73,0x00257F6A,0x00257F61,0x00257F58,0x00257F4F,0x00257F46,0x00257F3D,0x00257F34,0x80009777, -0x81009778,0x82009779,0x8300977A,0x8400977B,0x8500977C,0x8600977D,0x8700977E,0x8800977F,0x89009780,0x8A009781, -0x8B009782,0x8C009783,0x8D009784,0x8E009785,0x8F009786,0x90009787,0x91009788,0x92009789,0x9300978A,0x9400978B, -0x9500978C,0x9600978D,0x9700978E,0x9800978F,0x99009790,0x9A009791,0x9B009792,0x9C009793,0x9D009794,0x9E009795, -0x9F009796,0xA0009797,0xA1009798,0xA2009799,0xA300979A,0xA400979B,0xA500979C,0xA600979D,0xA700979E,0xA800979F, -0xA90097A0,0xAA0097A1,0xAB0097A2,0xAC0097A3,0xAD0097A4,0xAE0097A5,0xAF0097A6,0xB00097A7,0xB10097A8,0xB20097A9, -0xB30097AA,0xB40097AB,0xB50097AC,0xB60097AD,0xB70097AE,0xB80097AF,0xB90097B0,0xBA0097B1,0xBB0097B2,0xBC0097B3, -0xBD0097B4,0xBE0097B5,0xBF0097B6,0x8700D010,0x00257F2B,0x00257F22,0x00257F19,0x00257F10,0x00197E1D,0x00257F07, -0x00257EFE,0x00257EF5,0x00257EEC,0x00257EE3,0x00257EDA,0x00257ED1,0x00257EC8,0x00257EBF,0x00257EB6,0x00257EAD, -0x00257EA4,0x00257E9B,0x00257E92,0x00257E89,0x00257E80,0x00257E77,0x00257E6E,0x00257E65,0x00257E5C,0x00257E53, -0x00257E4A,0x00257E41,0x00257E38,0x00257E2F,0x00257E26,0x00257E1D,0x00197D2A,0x00257E14,0x00257E0B,0x00257E02, -0x00257DF9,0x00257DF0,0x00257DE7,0x00257DDE,0x00257DD5,0x00257DCC,0x00257DC3,0x00257DBA,0x00257DB1,0x00257DA8, -0x00257D9F,0x00257D96,0x00257D8D,0x00257D84,0x00257D7B,0x00257D72,0x00257D69,0x00257D60,0x00257D57,0x00257D4E, -0x00257D45,0x00257D3C,0x00257D33,0x00257D2A,0x00197C37,0x00257D21,0x00257D18,0x800097F7,0x81009838,0x820098B8, -0x83009938,0x840099B8,0x85009A38,0x86009AB8,0x87009B38,0x88009BB8,0x89009C38,0x8A009CB8,0x8B009D38,0x8C009DB8, -0x8D009E38,0x8E009EB8,0x8F009F38,0x90009FB8,0x9100A038,0x9200A0B8,0x9300A138,0x9400A1B8,0x9500A238,0x9600A2B8, -0x9700A338,0x9800A3B8,0x9900A438,0x9A00A4B8,0x9B00A538,0x9C00A5B8,0x9D00A638,0x9E00A6B8,0x9F00A738,0xA000A7B8, -0xA100A838,0xA200A8B8,0xA300A938,0xA400A9B8,0xA500AA38,0xA600AAB8,0xA700AB38,0xA800ABB8,0xA900AC38,0xAA00ACB8, -0xAB00AD38,0xAC00ADB8,0xAD00AE38,0xAE00AEB8,0xAF00AF38,0xB000AFB8,0xB100B038,0xB200B0B8,0xB300B138,0xB400B1B8, -0xB500B238,0xB600B2B8,0xB700B338,0xB800B3B8,0xB900B438,0xBA00B4B8,0xBB00B538,0xBC00B5B8,0xBD00B638,0xBE00B6B8, -0xBF00B738,0x800097F8,0x810097F9,0x820097FA,0x830097FB,0x840097FC,0x850097FD,0x860097FE,0x870097FF,0x88009800, -0x89009801,0x8A009802,0x8B009803,0x8C009804,0x8D009805,0x8E009806,0x8F009807,0x90009808,0x91009809,0x9200980A, -0x9300980B,0x9400980C,0x9500980D,0x9600980E,0x9700980F,0x98009810,0x99009811,0x9A009812,0x9B009813,0x9C009814, -0x9D009815,0x9E009816,0x9F009817,0xA0009818,0xA1009819,0xA200981A,0xA300981B,0xA400981C,0xA500981D,0xA600981E, -0xA700981F,0xA8009820,0xA9009821,0xAA009822,0xAB009823,0xAC009824,0xAD009825,0xAE009826,0xAF009827,0xB0009828, -0xB1009829,0xB200982A,0xB300982B,0xB400982C,0xB500982D,0xB600982E,0xB700982F,0xB8009830,0xB9009831,0xBA009832, -0xBB009833,0xBC009834,0xBD009835,0xBE009836,0xBF0098B7,0x00257D0F,0x800098F8,0x810098F9,0x820098FA,0x830098FB, -0x840098FC,0x850098FD,0x860098FE,0x870098FF,0x88009900,0x89009901,0x8A009902,0x8B009903,0x8C009904,0x8D009905, -0x8E009906,0x8F009907,0x90009908,0x91009909,0x9200990A,0x9300990B,0x9400990C,0x9500990D,0x9600990E,0x9700990F, -0x98009910,0x99009911,0x9A009912,0x9B009913,0x9C009914,0x9D009915,0x9E009916,0x9F009917,0xA0009918,0xA1009919, -0xA200991A,0xA300991B,0xA400991C,0xA500991D,0xA600991E,0xA700991F,0xA8009920,0xA9009921,0xAA009922,0xAB009923, -0xAC009924,0xAD009925,0xAE009926,0xAF009927,0xB0009928,0xB1009929,0xB200992A,0xB300992B,0xB400992C,0xB500992D, -0xB600992E,0xB700992F,0xB8009930,0xB9009931,0xBA009932,0xBB009933,0xBC009934,0xBD009935,0xBE009936,0xBF009937, -0x00257D06,0x00257CFD,0x00257CF4,0x00257CEB,0x00257CE2,0x00257CD9,0x00257CD0,0x00257CC7,0x00257CBE,0x00257CB5, -0x00257CAC,0x00257CA3,0x00257C9A,0x00257C91,0x00257C88,0x00257C7F,0x00257C76,0x00257C6D,0x00257C64,0x00257C5B, -0x00257C52,0x00257C49,0x00257C40,0x00257C37,0x00197B44,0x00257C2E,0x00257C25,0x00257C1C,0x00257C13,0x00257C0A, -0x00257C01,0x00257BF8,0x00257BEF,0x00257BE6,0x00257BDD,0x00257BD4,0x00257BCB,0x00257BC2,0x00257BB9,0x00257BB0, -0x00257BA7,0x00257B9E,0x00257B95,0x00257B8C,0x00257B83,0x00257B7A,0x00257B71,0x00257B68,0x00257B5F,0x00257B56, -0x00257B4D,0x00257B44,0x00197A51,0x00257B3B,0x00257B32,0x00257B29,0x00257B20,0x00257B17,0x00257B0E,0x00257B05, -0x00257AFC,0x00257AF3,0x00257AEA,0x00257AE1,0x80009978,0x81009979,0x8200997A,0x8300997B,0x8400997C,0x8500997D, -0x8600997E,0x8700997F,0x88009980,0x89009981,0x8A009982,0x8B009983,0x8C009984,0x8D009985,0x8E009986,0x8F009987, -0x90009988,0x91009989,0x9200998A,0x9300998B,0x9400998C,0x9500998D,0x9600998E,0x9700998F,0x98009990,0x99009991, -0x9A009992,0x9B009993,0x9C009994,0x9D009995,0x9E009996,0x9F009997,0xA0009998,0xA1009999,0xA200999A,0xA300999B, -0xA400999C,0xA500999D,0xA600999E,0xA700999F,0xA80099A0,0xA90099A1,0xAA0099A2,0xAB0099A3,0xAC0099A4,0xAD0099A5, -0xAE0099A6,0xAF0099A7,0xB00099A8,0xB10099A9,0xB20099AA,0xB30099AB,0xB40099AC,0xB50099AD,0xB60099AE,0xB70099AF, -0xB80099B0,0xB90099B1,0xBA0099B2,0xBB0099B3,0xBC0099B4,0xBD0099B5,0xBE0099B6,0xBF0099B7,0x00257AD8,0x00257ACF, -0x00257AC6,0x00257ABD,0x00257AB4,0x00257AAB,0x00257AA2,0x00257A99,0x00257A90,0x00257A87,0x00257A7E,0x00257A75, -0x00257A6C,0x00257A63,0x00257A5A,0x00257A51,0x0019795E,0x00257A48,0x00257A3F,0x00257A36,0x00257A2D,0x00257A24, -0x00257A1B,0x00257A12,0x00257A09,0x00257A00,0x002579F7,0x002579EE,0x002579E5,0x002579DC,0x002579D3,0x002579CA, -0x002579C1,0x002579B8,0x002579AF,0x002579A6,0x0025799D,0x00257994,0x0025798B,0x00257982,0x00257979,0x00257970, -0x00257967,0x0025795E,0x0019786B,0x00257955,0x0025794C,0x00257943,0x0025793A,0x00257931,0x00257928,0x0025791F, -0x00257916,0x0025790D,0x00257904,0x002578FB,0x002578F2,0x002578E9,0x002578E0,0x002578D7,0x002578CE,0x002578C5, -0x002578BC,0x002578B3,0x800099F8,0x810099F9,0x820099FA,0x830099FB,0x840099FC,0x850099FD,0x860099FE,0x870099FF, -0x88009A00,0x89009A01,0x8A009A02,0x8B009A03,0x8C009A04,0x8D009A05,0x8E009A06,0x8F009A07,0x90009A08,0x91009A09, -0x92009A0A,0x93009A0B,0x94009A0C,0x95009A0D,0x96009A0E,0x97009A0F,0x98009A10,0x99009A11,0x9A009A12,0x9B009A13, -0x9C009A14,0x9D009A15,0x9E009A16,0x9F009A17,0xA0009A18,0xA1009A19,0xA2009A1A,0xA3009A1B,0xA4009A1C,0xA5009A1D, -0xA6009A1E,0xA7009A1F,0xA8009A20,0xA9009A21,0xAA009A22,0xAB009A23,0xAC009A24,0xAD009A25,0xAE009A26,0xAF009A27, -0xB0009A28,0xB1009A29,0xB2009A2A,0xB3009A2B,0xB4009A2C,0xB5009A2D,0xB6009A2E,0xB7009A2F,0xB8009A30,0xB9009A31, -0xBA009A32,0xBB009A33,0xBC009A34,0xBD009A35,0xBE009A36,0xBF009A37,0x002578AA,0x002578A1,0x00257898,0x0025788F, -0x00257886,0x0025787D,0x00257874,0x0025786B,0x00197778,0x00257862,0x00257859,0x00257850,0x00257847,0x0025783E, -0x00257835,0x0025782C,0x00257823,0x0025781A,0x00257811,0x00257808,0x002577FF,0x002577F6,0x002577ED,0x002577E4, -0x002577DB,0x002577D2,0x002577C9,0x002577C0,0x002577B7,0x002577AE,0x002577A5,0x0025779C,0x00257793,0x0025778A, -0x00257781,0x00257778,0x00197685,0x0025776F,0x00257766,0x0025775D,0x00257754,0x0025774B,0x00257742,0x00257739, -0x00257730,0x00257727,0x0025771E,0x00257715,0x0025770C,0x00257703,0x002576FA,0x002576F1,0x002576E8,0x002576DF, -0x002576D6,0x002576CD,0x002576C4,0x002576BB,0x002576B2,0x002576A9,0x002576A0,0x00257697,0x0025768E,0x00257685, -0x80009A78,0x81009A79,0x82009A7A,0x83009A7B,0x84009A7C,0x85009A7D,0x86009A7E,0x87009A7F,0x88009A80,0x89009A81, -0x8A009A82,0x8B009A83,0x8C009A84,0x8D009A85,0x8E009A86,0x8F009A87,0x90009A88,0x91009A89,0x92009A8A,0x93009A8B, -0x94009A8C,0x95009A8D,0x96009A8E,0x97009A8F,0x98009A90,0x99009A91,0x9A009A92,0x9B009A93,0x9C009A94,0x9D009A95, -0x9E009A96,0x9F009A97,0xA0009A98,0xA1009A99,0xA2009A9A,0xA3009A9B,0xA4009A9C,0xA5009A9D,0xA6009A9E,0xA7009A9F, -0xA8009AA0,0xA9009AA1,0xAA009AA2,0xAB009AA3,0xAC009AA4,0xAD009AA5,0xAE009AA6,0xAF009AA7,0xB0009AA8,0xB1009AA9, -0xB2009AAA,0xB3009AAB,0xB4009AAC,0xB5009AAD,0xB6009AAE,0xB7009AAF,0xB8009AB0,0xB9009AB1,0xBA009AB2,0xBB009AB3, -0xBC009AB4,0xBD009AB5,0xBE009AB6,0xBF009AB7,0x00197592,0x0025767C,0x00257673,0x0025766A,0x00257661,0x00257658, -0x0025764F,0x00257646,0x0025763D,0x00257634,0x0025762B,0x00257622,0x00257619,0x00257610,0x00257607,0x002575FE, -0x002575F5,0x002575EC,0x002575E3,0x002575DA,0x002575D1,0x002575C8,0x002575BF,0x002575B6,0x002575AD,0x002575A4, -0x0025759B,0x00257592,0x0019749F,0x00257589,0x00257580,0x00257577,0x0025756E,0x00257565,0x0025755C,0x00257553, -0x0025754A,0x00257541,0x00257538,0x0025752F,0x00257526,0x0025751D,0x00257514,0x0025750B,0x00257502,0x002574F9, -0x002574F0,0x002574E7,0x002574DE,0x002574D5,0x002574CC,0x002574C3,0x002574BA,0x002574B1,0x002574A8,0x0025749F, -0x001973AC,0x00257496,0x0025748D,0x00257484,0x0025747B,0x00257472,0x00257469,0x00257460,0x80009AF8,0x81009AF9, -0x82009AFA,0x83009AFB,0x84009AFC,0x85009AFD,0x86009AFE,0x87009AFF,0x88009B00,0x89009B01,0x8A009B02,0x8B009B03, -0x8C009B04,0x8D009B05,0x8E009B06,0x8F009B07,0x90009B08,0x91009B09,0x92009B0A,0x93009B0B,0x94009B0C,0x95009B0D, -0x96009B0E,0x97009B0F,0x98009B10,0x99009B11,0x9A009B12,0x9B009B13,0x9C009B14,0x9D009B15,0x9E009B16,0x9F009B17, -0xA0009B18,0xA1009B19,0xA2009B1A,0xA3009B1B,0xA4009B1C,0xA5009B1D,0xA6009B1E,0xA7009B1F,0xA8009B20,0xA9009B21, -0xAA009B22,0xAB009B23,0xAC009B24,0xAD009B25,0xAE009B26,0xAF009B27,0xB0009B28,0xB1009B29,0xB2009B2A,0xB3009B2B, -0xB4009B2C,0xB5009B2D,0xB6009B2E,0xB7009B2F,0xB8009B30,0xB9009B31,0xBA009B32,0xBB009B33,0xBC009B34,0xBD009B35, -0xBE009B36,0xBF009B37,0x00257457,0x0025744E,0x00257445,0x0025743C,0x00257433,0x0025742A,0x00257421,0x00257418, -0x0025740F,0x00257406,0x002573FD,0x002573F4,0x002573EB,0x002573E2,0x002573D9,0x002573D0,0x002573C7,0x002573BE, -0x002573B5,0x002573AC,0x001972B9,0x002573A3,0x0025739A,0x00257391,0x00257388,0x0025737F,0x00257376,0x0025736D, -0x00257364,0x0025735B,0x00257352,0x00257349,0x00257340,0x00257337,0x0025732E,0x00257325,0x0025731C,0x00257313, -0x0025730A,0x00257301,0x002572F8,0x002572EF,0x002572E6,0x002572DD,0x002572D4,0x002572CB,0x002572C2,0x002572B9, -0x001971C6,0x002572B0,0x002572A7,0x0025729E,0x00257295,0x0025728C,0x00257283,0x0025727A,0x00257271,0x00257268, -0x0025725F,0x00257256,0x0025724D,0x00257244,0x0025723B,0x00257232,0x80009B78,0x81009B79,0x82009B7A,0x83009B7B, -0x84009B7C,0x85009B7D,0x86009B7E,0x87009B7F,0x88009B80,0x89009B81,0x8A009B82,0x8B009B83,0x8C009B84,0x8D009B85, -0x8E009B86,0x8F009B87,0x90009B88,0x91009B89,0x92009B8A,0x93009B8B,0x94009B8C,0x95009B8D,0x96009B8E,0x97009B8F, -0x98009B90,0x99009B91,0x9A009B92,0x9B009B93,0x9C009B94,0x9D009B95,0x9E009B96,0x9F009B97,0xA0009B98,0xA1009B99, -0xA2009B9A,0xA3009B9B,0xA4009B9C,0xA5009B9D,0xA6009B9E,0xA7009B9F,0xA8009BA0,0xA9009BA1,0xAA009BA2,0xAB009BA3, -0xAC009BA4,0xAD009BA5,0xAE009BA6,0xAF009BA7,0xB0009BA8,0xB1009BA9,0xB2009BAA,0xB3009BAB,0xB4009BAC,0xB5009BAD, -0xB6009BAE,0xB7009BAF,0xB8009BB0,0xB9009BB1,0xBA009BB2,0xBB009BB3,0xBC009BB4,0xBD009BB5,0xBE009BB6,0xBF009BB7, -0x00257229,0x00257220,0x00257217,0x0025720E,0x00257205,0x002571FC,0x002571F3,0x002571EA,0x002571E1,0x002571D8, -0x002571CF,0x002571C6,0x001970D3,0x002571BD,0x002571B4,0x002571AB,0x002571A2,0x00257199,0x00257190,0x00257187, -0x0025717E,0x00257175,0x0025716C,0x00257163,0x0025715A,0x00257151,0x00257148,0x0025713F,0x00257136,0x0025712D, -0x00257124,0x0025711B,0x00257112,0x00257109,0x00257100,0x002570F7,0x002570EE,0x002570E5,0x002570DC,0x002570D3, -0x00196FE0,0x002570CA,0x002570C1,0x002570B8,0x002570AF,0x002570A6,0x0025709D,0x00257094,0x0025708B,0x00257082, -0x00257079,0x00257070,0x00257067,0x0025705E,0x00257055,0x0025704C,0x00257043,0x0025703A,0x00257031,0x00257028, -0x0025701F,0x00257016,0x0025700D,0x00257004,0x80009BF8,0x81009BF9,0x82009BFA,0x83009BFB,0x84009BFC,0x85009BFD, -0x86009BFE,0x87009BFF,0x88009C00,0x89009C01,0x8A009C02,0x8B009C03,0x8C009C04,0x8D009C05,0x8E009C06,0x8F009C07, -0x90009C08,0x91009C09,0x92009C0A,0x93009C0B,0x94009C0C,0x95009C0D,0x96009C0E,0x97009C0F,0x98009C10,0x99009C11, -0x9A009C12,0x9B009C13,0x9C009C14,0x9D009C15,0x9E009C16,0x9F009C17,0xA0009C18,0xA1009C19,0xA2009C1A,0xA3009C1B, -0xA4009C1C,0xA5009C1D,0xA6009C1E,0xA7009C1F,0xA8009C20,0xA9009C21,0xAA009C22,0xAB009C23,0xAC009C24,0xAD009C25, -0xAE009C26,0xAF009C27,0xB0009C28,0xB1009C29,0xB2009C2A,0xB3009C2B,0xB4009C2C,0xB5009C2D,0xB6009C2E,0xB7009C2F, -0xB8009C30,0xB9009C31,0xBA009C32,0xBB009C33,0xBC009C34,0xBD009C35,0xBE009C36,0xBF009C37,0x00256FFB,0x00256FF2, -0x00256FE9,0x00256FE0,0x00196EED,0x00256FD7,0x00256FCE,0x00256FC5,0x00256FBC,0x00256FB3,0x00256FAA,0x00256FA1, -0x00256F98,0x00256F8F,0x00256F86,0x00256F7D,0x00256F74,0x00256F6B,0x00256F62,0x00256F59,0x00256F50,0x00256F47, -0x00256F3E,0x00256F35,0x00256F2C,0x00256F23,0x00256F1A,0x00256F11,0x00256F08,0x00256EFF,0x00256EF6,0x00256EED, -0x00196DFA,0x00256EE4,0x00256EDB,0x00256ED2,0x00256EC9,0x00256EC0,0x00256EB7,0x00256EAE,0x00256EA5,0x00256E9C, -0x00256E93,0x00256E8A,0x00256E81,0x00256E78,0x00256E6F,0x00256E66,0x00256E5D,0x00256E54,0x00256E4B,0x00256E42, -0x00256E39,0x00256E30,0x00256E27,0x00256E1E,0x00256E15,0x00256E0C,0x00256E03,0x00256DFA,0x00196D07,0x00256DF1, -0x00256DE8,0x00256DDF,0x80009C78,0x81009C79,0x82009C7A,0x83009C7B,0x84009C7C,0x85009C7D,0x86009C7E,0x87009C7F, -0x88009C80,0x89009C81,0x8A009C82,0x8B009C83,0x8C009C84,0x8D009C85,0x8E009C86,0x8F009C87,0x90009C88,0x91009C89, -0x92009C8A,0x93009C8B,0x94009C8C,0x95009C8D,0x96009C8E,0x97009C8F,0x98009C90,0x99009C91,0x9A009C92,0x9B009C93, -0x9C009C94,0x9D009C95,0x9E009C96,0x9F009C97,0xA0009C98,0xA1009C99,0xA2009C9A,0xA3009C9B,0xA4009C9C,0xA5009C9D, -0xA6009C9E,0xA7009C9F,0xA8009CA0,0xA9009CA1,0xAA009CA2,0xAB009CA3,0xAC009CA4,0xAD009CA5,0xAE009CA6,0xAF009CA7, -0xB0009CA8,0xB1009CA9,0xB2009CAA,0xB3009CAB,0xB4009CAC,0xB5009CAD,0xB6009CAE,0xB7009CAF,0xB8009CB0,0xB9009CB1, -0xBA009CB2,0xBB009CB3,0xBC009CB4,0xBD009CB5,0xBE009CB6,0xBF009CB7,0x00256DD6,0x00256DCD,0x00256DC4,0x00256DBB, -0x00256DB2,0x00256DA9,0x00256DA0,0x00256D97,0x00256D8E,0x00256D85,0x00256D7C,0x00256D73,0x00256D6A,0x00256D61, -0x00256D58,0x00256D4F,0x00256D46,0x00256D3D,0x00256D34,0x00256D2B,0x00256D22,0x00256D19,0x00256D10,0x00256D07, -0x00196C14,0x00256CFE,0x00256CF5,0x00256CEC,0x00256CE3,0x00256CDA,0x00256CD1,0x00256CC8,0x00256CBF,0x00256CB6, -0x00256CAD,0x00256CA4,0x00256C9B,0x00256C92,0x00256C89,0x00256C80,0x00256C77,0x00256C6E,0x00256C65,0x00256C5C, -0x00256C53,0x00256C4A,0x00256C41,0x00256C38,0x00256C2F,0x00256C26,0x00256C1D,0x00256C14,0x00196B21,0x00256C0B, -0x00256C02,0x00256BF9,0x00256BF0,0x00256BE7,0x00256BDE,0x00256BD5,0x00256BCC,0x00256BC3,0x00256BBA,0x00256BB1, -0x80009CF8,0x81009CF9,0x82009CFA,0x83009CFB,0x84009CFC,0x85009CFD,0x86009CFE,0x87009CFF,0x88009D00,0x89009D01, -0x8A009D02,0x8B009D03,0x8C009D04,0x8D009D05,0x8E009D06,0x8F009D07,0x90009D08,0x91009D09,0x92009D0A,0x93009D0B, -0x94009D0C,0x95009D0D,0x96009D0E,0x97009D0F,0x98009D10,0x99009D11,0x9A009D12,0x9B009D13,0x9C009D14,0x9D009D15, -0x9E009D16,0x9F009D17,0xA0009D18,0xA1009D19,0xA2009D1A,0xA3009D1B,0xA4009D1C,0xA5009D1D,0xA6009D1E,0xA7009D1F, -0xA8009D20,0xA9009D21,0xAA009D22,0xAB009D23,0xAC009D24,0xAD009D25,0xAE009D26,0xAF009D27,0xB0009D28,0xB1009D29, -0xB2009D2A,0xB3009D2B,0xB4009D2C,0xB5009D2D,0xB6009D2E,0xB7009D2F,0xB8009D30,0xB9009D31,0xBA009D32,0xBB009D33, -0xBC009D34,0xBD009D35,0xBE009D36,0xBF009D37,0x00256BA8,0x00256B9F,0x00256B96,0x00256B8D,0x00256B84,0x00256B7B, -0x00256B72,0x00256B69,0x00256B60,0x00256B57,0x00256B4E,0x00256B45,0x00256B3C,0x00256B33,0x00256B2A,0x00256B21, -0x00196A2E,0x00256B18,0x00256B0F,0x00256B06,0x00256AFD,0x00256AF4,0x00256AEB,0x00256AE2,0x00256AD9,0x00256AD0, -0x00256AC7,0x00256ABE,0x00256AB5,0x00256AAC,0x00256AA3,0x00256A9A,0x00256A91,0x00256A88,0x00256A7F,0x00256A76, -0x00256A6D,0x00256A64,0x00256A5B,0x00256A52,0x00256A49,0x00256A40,0x00256A37,0x00256A2E,0x0019693B,0x00256A25, -0x00256A1C,0x00256A13,0x00256A0A,0x00256A01,0x002569F8,0x002569EF,0x002569E6,0x002569DD,0x002569D4,0x002569CB, -0x002569C2,0x002569B9,0x002569B0,0x002569A7,0x0025699E,0x00256995,0x0025698C,0x00256983,0x80009D78,0x81009D79, -0x82009D7A,0x83009D7B,0x84009D7C,0x85009D7D,0x86009D7E,0x87009D7F,0x88009D80,0x89009D81,0x8A009D82,0x8B009D83, -0x8C009D84,0x8D009D85,0x8E009D86,0x8F009D87,0x90009D88,0x91009D89,0x92009D8A,0x93009D8B,0x94009D8C,0x95009D8D, -0x96009D8E,0x97009D8F,0x98009D90,0x99009D91,0x9A009D92,0x9B009D93,0x9C009D94,0x9D009D95,0x9E009D96,0x9F009D97, -0xA0009D98,0xA1009D99,0xA2009D9A,0xA3009D9B,0xA4009D9C,0xA5009D9D,0xA6009D9E,0xA7009D9F,0xA8009DA0,0xA9009DA1, -0xAA009DA2,0xAB009DA3,0xAC009DA4,0xAD009DA5,0xAE009DA6,0xAF009DA7,0xB0009DA8,0xB1009DA9,0xB2009DAA,0xB3009DAB, -0xB4009DAC,0xB5009DAD,0xB6009DAE,0xB7009DAF,0xB8009DB0,0xB9009DB1,0xBA009DB2,0xBB009DB3,0xBC009DB4,0xBD009DB5, -0xBE009DB6,0xBF009DB7,0x0025697A,0x00256971,0x00256968,0x0025695F,0x00256956,0x0025694D,0x00256944,0x0025693B, -0x00196848,0x00256932,0x00256929,0x00256920,0x00256917,0x0025690E,0x00256905,0x002568FC,0x002568F3,0x002568EA, -0x002568E1,0x002568D8,0x002568CF,0x002568C6,0x002568BD,0x002568B4,0x002568AB,0x002568A2,0x00256899,0x00256890, -0x00256887,0x0025687E,0x00256875,0x0025686C,0x00256863,0x0025685A,0x00256851,0x00256848,0x00196755,0x0025683F, -0x00256836,0x0025682D,0x00256824,0x0025681B,0x00256812,0x00256809,0x00256800,0x002567F7,0x002567EE,0x002567E5, -0x002567DC,0x002567D3,0x002567CA,0x002567C1,0x002567B8,0x002567AF,0x002567A6,0x0025679D,0x00256794,0x0025678B, -0x00256782,0x00256779,0x00256770,0x00256767,0x0025675E,0x00256755,0x80009DF8,0x81009DF9,0x82009DFA,0x83009DFB, -0x84009DFC,0x85009DFD,0x86009DFE,0x87009DFF,0x88009E00,0x89009E01,0x8A009E02,0x8B009E03,0x8C009E04,0x8D009E05, -0x8E009E06,0x8F009E07,0x90009E08,0x91009E09,0x92009E0A,0x93009E0B,0x94009E0C,0x95009E0D,0x96009E0E,0x97009E0F, -0x98009E10,0x99009E11,0x9A009E12,0x9B009E13,0x9C009E14,0x9D009E15,0x9E009E16,0x9F009E17,0xA0009E18,0xA1009E19, -0xA2009E1A,0xA3009E1B,0xA4009E1C,0xA5009E1D,0xA6009E1E,0xA7009E1F,0xA8009E20,0xA9009E21,0xAA009E22,0xAB009E23, -0xAC009E24,0xAD009E25,0xAE009E26,0xAF009E27,0xB0009E28,0xB1009E29,0xB2009E2A,0xB3009E2B,0xB4009E2C,0xB5009E2D, -0xB6009E2E,0xB7009E2F,0xB8009E30,0xB9009E31,0xBA009E32,0xBB009E33,0xBC009E34,0xBD009E35,0xBE009E36,0xBF009E37, -0x00196662,0x0025674C,0x00256743,0x0025673A,0x00256731,0x00256728,0x0025671F,0x00256716,0x0025670D,0x00256704, -0x002566FB,0x002566F2,0x002566E9,0x002566E0,0x002566D7,0x002566CE,0x002566C5,0x002566BC,0x002566B3,0x002566AA, -0x002566A1,0x00256698,0x0025668F,0x00256686,0x0025667D,0x00256674,0x0025666B,0x00256662,0x0019656F,0x00256659, -0x00256650,0x00256647,0x0025663E,0x00256635,0x0025662C,0x00256623,0x0025661A,0x00256611,0x00256608,0x002565FF, -0x002565F6,0x002565ED,0x002565E4,0x002565DB,0x002565D2,0x002565C9,0x002565C0,0x002565B7,0x002565AE,0x002565A5, -0x0025659C,0x00256593,0x0025658A,0x00256581,0x00256578,0x0025656F,0x0019647C,0x00256566,0x0025655D,0x00256554, -0x0025654B,0x00256542,0x00256539,0x00256530,0x80009E78,0x81009E79,0x82009E7A,0x83009E7B,0x84009E7C,0x85009E7D, -0x86009E7E,0x87009E7F,0x88009E80,0x89009E81,0x8A009E82,0x8B009E83,0x8C009E84,0x8D009E85,0x8E009E86,0x8F009E87, -0x90009E88,0x91009E89,0x92009E8A,0x93009E8B,0x94009E8C,0x95009E8D,0x96009E8E,0x97009E8F,0x98009E90,0x99009E91, -0x9A009E92,0x9B009E93,0x9C009E94,0x9D009E95,0x9E009E96,0x9F009E97,0xA0009E98,0xA1009E99,0xA2009E9A,0xA3009E9B, -0xA4009E9C,0xA5009E9D,0xA6009E9E,0xA7009E9F,0xA8009EA0,0xA9009EA1,0xAA009EA2,0xAB009EA3,0xAC009EA4,0xAD009EA5, -0xAE009EA6,0xAF009EA7,0xB0009EA8,0xB1009EA9,0xB2009EAA,0xB3009EAB,0xB4009EAC,0xB5009EAD,0xB6009EAE,0xB7009EAF, -0xB8009EB0,0xB9009EB1,0xBA009EB2,0xBB009EB3,0xBC009EB4,0xBD009EB5,0xBE009EB6,0xBF009EB7,0x00256527,0x0025651E, -0x00256515,0x0025650C,0x00256503,0x002564FA,0x002564F1,0x002564E8,0x002564DF,0x002564D6,0x002564CD,0x002564C4, -0x002564BB,0x002564B2,0x002564A9,0x002564A0,0x00256497,0x0025648E,0x00256485,0x0025647C,0x00196389,0x00256473, -0x0025646A,0x00256461,0x00256458,0x0025644F,0x00256446,0x0025643D,0x00256434,0x0025642B,0x00256422,0x00256419, -0x00256410,0x00256407,0x002563FE,0x002563F5,0x002563EC,0x002563E3,0x002563DA,0x002563D1,0x002563C8,0x002563BF, -0x002563B6,0x002563AD,0x002563A4,0x0025639B,0x00256392,0x00256389,0x00196296,0x00256380,0x00256377,0x0025636E, -0x00256365,0x0025635C,0x00256353,0x0025634A,0x00256341,0x00256338,0x0025632F,0x00256326,0x0025631D,0x00256314, -0x0025630B,0x00256302,0x80009EF8,0x81009EF9,0x82009EFA,0x83009EFB,0x84009EFC,0x85009EFD,0x86009EFE,0x87009EFF, -0x88009F00,0x89009F01,0x8A009F02,0x8B009F03,0x8C009F04,0x8D009F05,0x8E009F06,0x8F009F07,0x90009F08,0x91009F09, -0x92009F0A,0x93009F0B,0x94009F0C,0x95009F0D,0x96009F0E,0x97009F0F,0x98009F10,0x99009F11,0x9A009F12,0x9B009F13, -0x9C009F14,0x9D009F15,0x9E009F16,0x9F009F17,0xA0009F18,0xA1009F19,0xA2009F1A,0xA3009F1B,0xA4009F1C,0xA5009F1D, -0xA6009F1E,0xA7009F1F,0xA8009F20,0xA9009F21,0xAA009F22,0xAB009F23,0xAC009F24,0xAD009F25,0xAE009F26,0xAF009F27, -0xB0009F28,0xB1009F29,0xB2009F2A,0xB3009F2B,0xB4009F2C,0xB5009F2D,0xB6009F2E,0xB7009F2F,0xB8009F30,0xB9009F31, -0xBA009F32,0xBB009F33,0xBC009F34,0xBD009F35,0xBE009F36,0xBF009F37,0x002562F9,0x002562F0,0x002562E7,0x002562DE, -0x002562D5,0x002562CC,0x002562C3,0x002562BA,0x002562B1,0x002562A8,0x0025629F,0x00256296,0x001961A3,0x0025628D, -0x00256284,0x0025627B,0x00256272,0x00256269,0x00256260,0x00256257,0x0025624E,0x00256245,0x0025623C,0x00256233, -0x0025622A,0x00256221,0x00256218,0x0025620F,0x00256206,0x002561FD,0x002561F4,0x002561EB,0x002561E2,0x002561D9, -0x002561D0,0x002561C7,0x002561BE,0x002561B5,0x002561AC,0x002561A3,0x001960B0,0x0025619A,0x00256191,0x00256188, -0x0025617F,0x00256176,0x0025616D,0x00256164,0x0025615B,0x00256152,0x00256149,0x00256140,0x00256137,0x0025612E, -0x00256125,0x0025611C,0x00256113,0x0025610A,0x00256101,0x002560F8,0x002560EF,0x002560E6,0x002560DD,0x002560D4, -0x80009F78,0x81009F79,0x82009F7A,0x83009F7B,0x84009F7C,0x85009F7D,0x86009F7E,0x87009F7F,0x88009F80,0x89009F81, -0x8A009F82,0x8B009F83,0x8C009F84,0x8D009F85,0x8E009F86,0x8F009F87,0x90009F88,0x91009F89,0x92009F8A,0x93009F8B, -0x94009F8C,0x95009F8D,0x96009F8E,0x97009F8F,0x98009F90,0x99009F91,0x9A009F92,0x9B009F93,0x9C009F94,0x9D009F95, -0x9E009F96,0x9F009F97,0xA0009F98,0xA1009F99,0xA2009F9A,0xA3009F9B,0xA4009F9C,0xA5009F9D,0xA6009F9E,0xA7009F9F, -0xA8009FA0,0xA9009FA1,0xAA009FA2,0xAB009FA3,0xAC009FA4,0xAD009FA5,0xAE009FA6,0xAF009FA7,0xB0009FA8,0xB1009FA9, -0xB2009FAA,0xB3009FAB,0xB4009FAC,0xB5009FAD,0xB6009FAE,0xB7009FAF,0xB8009FB0,0xB9009FB1,0xBA009FB2,0xBB009FB3, -0xBC009FB4,0xBD009FB5,0xBE009FB6,0xBF009FB7,0x002560CB,0x002560C2,0x002560B9,0x002560B0,0x00195FBD,0x002560A7, -0x0025609E,0x00256095,0x0025608C,0x00256083,0x0025607A,0x00256071,0x00256068,0x0025605F,0x00256056,0x0025604D, -0x00256044,0x0025603B,0x00256032,0x00256029,0x00256020,0x00256017,0x0025600E,0x00256005,0x00255FFC,0x00255FF3, -0x00255FEA,0x00255FE1,0x00255FD8,0x00255FCF,0x00255FC6,0x00255FBD,0x00195ECA,0x00255FB4,0x00255FAB,0x00255FA2, -0x00255F99,0x00255F90,0x00255F87,0x00255F7E,0x00255F75,0x00255F6C,0x00255F63,0x00255F5A,0x00255F51,0x00255F48, -0x00255F3F,0x00255F36,0x00255F2D,0x00255F24,0x00255F1B,0x00255F12,0x00255F09,0x00255F00,0x00255EF7,0x00255EEE, -0x00255EE5,0x00255EDC,0x00255ED3,0x00255ECA,0x00195DD7,0x00255EC1,0x00255EB8,0x00255EAF,0x80009FF8,0x81009FF9, -0x82009FFA,0x83009FFB,0x84009FFC,0x85009FFD,0x86009FFE,0x87009FFF,0x8800A000,0x8900A001,0x8A00A002,0x8B00A003, -0x8C00A004,0x8D00A005,0x8E00A006,0x8F00A007,0x9000A008,0x9100A009,0x9200A00A,0x9300A00B,0x9400A00C,0x9500A00D, -0x9600A00E,0x9700A00F,0x9800A010,0x9900A011,0x9A00A012,0x9B00A013,0x9C00A014,0x9D00A015,0x9E00A016,0x9F00A017, -0xA000A018,0xA100A019,0xA200A01A,0xA300A01B,0xA400A01C,0xA500A01D,0xA600A01E,0xA700A01F,0xA800A020,0xA900A021, -0xAA00A022,0xAB00A023,0xAC00A024,0xAD00A025,0xAE00A026,0xAF00A027,0xB000A028,0xB100A029,0xB200A02A,0xB300A02B, -0xB400A02C,0xB500A02D,0xB600A02E,0xB700A02F,0xB800A030,0xB900A031,0xBA00A032,0xBB00A033,0xBC00A034,0xBD00A035, -0xBE00A036,0xBF00A037,0x00255EA6,0x00255E9D,0x00255E94,0x00255E8B,0x00255E82,0x00255E79,0x00255E70,0x00255E67, -0x00255E5E,0x00255E55,0x00255E4C,0x00255E43,0x00255E3A,0x00255E31,0x00255E28,0x00255E1F,0x00255E16,0x00255E0D, -0x00255E04,0x00255DFB,0x00255DF2,0x00255DE9,0x00255DE0,0x00255DD7,0x00195CE4,0x00255DCE,0x00255DC5,0x00255DBC, -0x00255DB3,0x00255DAA,0x00255DA1,0x00255D98,0x00255D8F,0x00255D86,0x00255D7D,0x00255D74,0x00255D6B,0x00255D62, -0x00255D59,0x00255D50,0x00255D47,0x00255D3E,0x00255D35,0x00255D2C,0x00255D23,0x00255D1A,0x00255D11,0x00255D08, -0x00255CFF,0x00255CF6,0x00255CED,0x00255CE4,0x00195BF1,0x00255CDB,0x00255CD2,0x00255CC9,0x00255CC0,0x00255CB7, -0x00255CAE,0x00255CA5,0x00255C9C,0x00255C93,0x00255C8A,0x00255C81,0x8000A078,0x8100A079,0x8200A07A,0x8300A07B, -0x8400A07C,0x8500A07D,0x8600A07E,0x8700A07F,0x8800A080,0x8900A081,0x8A00A082,0x8B00A083,0x8C00A084,0x8D00A085, -0x8E00A086,0x8F00A087,0x9000A088,0x9100A089,0x9200A08A,0x9300A08B,0x9400A08C,0x9500A08D,0x9600A08E,0x9700A08F, -0x9800A090,0x9900A091,0x9A00A092,0x9B00A093,0x9C00A094,0x9D00A095,0x9E00A096,0x9F00A097,0xA000A098,0xA100A099, -0xA200A09A,0xA300A09B,0xA400A09C,0xA500A09D,0xA600A09E,0xA700A09F,0xA800A0A0,0xA900A0A1,0xAA00A0A2,0xAB00A0A3, -0xAC00A0A4,0xAD00A0A5,0xAE00A0A6,0xAF00A0A7,0xB000A0A8,0xB100A0A9,0xB200A0AA,0xB300A0AB,0xB400A0AC,0xB500A0AD, -0xB600A0AE,0xB700A0AF,0xB800A0B0,0xB900A0B1,0xBA00A0B2,0xBB00A0B3,0xBC00A0B4,0xBD00A0B5,0xBE00A0B6,0xBF00A0B7, -0x00255C78,0x00255C6F,0x00255C66,0x00255C5D,0x00255C54,0x00255C4B,0x00255C42,0x00255C39,0x00255C30,0x00255C27, -0x00255C1E,0x00255C15,0x00255C0C,0x00255C03,0x00255BFA,0x00255BF1,0x00195AFE,0x00255BE8,0x00255BDF,0x00255BD6, -0x00255BCD,0x00255BC4,0x00255BBB,0x00255BB2,0x00255BA9,0x00255BA0,0x00255B97,0x00255B8E,0x00255B85,0x00255B7C, -0x00255B73,0x00255B6A,0x00255B61,0x00255B58,0x00255B4F,0x00255B46,0x00255B3D,0x00255B34,0x00255B2B,0x00255B22, -0x00255B19,0x00255B10,0x00255B07,0x00255AFE,0x00195A0B,0x00255AF5,0x00255AEC,0x00255AE3,0x00255ADA,0x00255AD1, -0x00255AC8,0x00255ABF,0x00255AB6,0x00255AAD,0x00255AA4,0x00255A9B,0x00255A92,0x00255A89,0x00255A80,0x00255A77, -0x00255A6E,0x00255A65,0x00255A5C,0x00255A53,0x8000A0F8,0x8100A0F9,0x8200A0FA,0x8300A0FB,0x8400A0FC,0x8500A0FD, -0x8600A0FE,0x8700A0FF,0x8800A100,0x8900A101,0x8A00A102,0x8B00A103,0x8C00A104,0x8D00A105,0x8E00A106,0x8F00A107, -0x9000A108,0x9100A109,0x9200A10A,0x9300A10B,0x9400A10C,0x9500A10D,0x9600A10E,0x9700A10F,0x9800A110,0x9900A111, -0x9A00A112,0x9B00A113,0x9C00A114,0x9D00A115,0x9E00A116,0x9F00A117,0xA000A118,0xA100A119,0xA200A11A,0xA300A11B, -0xA400A11C,0xA500A11D,0xA600A11E,0xA700A11F,0xA800A120,0xA900A121,0xAA00A122,0xAB00A123,0xAC00A124,0xAD00A125, -0xAE00A126,0xAF00A127,0xB000A128,0xB100A129,0xB200A12A,0xB300A12B,0xB400A12C,0xB500A12D,0xB600A12E,0xB700A12F, -0xB800A130,0xB900A131,0xBA00A132,0xBB00A133,0xBC00A134,0xBD00A135,0xBE00A136,0xBF00A137,0x00255A4A,0x00255A41, -0x00255A38,0x00255A2F,0x00255A26,0x00255A1D,0x00255A14,0x00255A0B,0x00195918,0x00255A02,0x002559F9,0x002559F0, -0x002559E7,0x002559DE,0x002559D5,0x002559CC,0x002559C3,0x002559BA,0x002559B1,0x002559A8,0x0025599F,0x00255996, -0x0025598D,0x00255984,0x0025597B,0x00255972,0x00255969,0x00255960,0x00255957,0x0025594E,0x00255945,0x0025593C, -0x00255933,0x0025592A,0x00255921,0x00255918,0x00195825,0x0025590F,0x00255906,0x002558FD,0x002558F4,0x002558EB, -0x002558E2,0x002558D9,0x002558D0,0x002558C7,0x002558BE,0x002558B5,0x002558AC,0x002558A3,0x0025589A,0x00255891, -0x00255888,0x0025587F,0x00255876,0x0025586D,0x00255864,0x0025585B,0x00255852,0x00255849,0x00255840,0x00255837, -0x0025582E,0x00255825,0x8000A178,0x8100A179,0x8200A17A,0x8300A17B,0x8400A17C,0x8500A17D,0x8600A17E,0x8700A17F, -0x8800A180,0x8900A181,0x8A00A182,0x8B00A183,0x8C00A184,0x8D00A185,0x8E00A186,0x8F00A187,0x9000A188,0x9100A189, -0x9200A18A,0x9300A18B,0x9400A18C,0x9500A18D,0x9600A18E,0x9700A18F,0x9800A190,0x9900A191,0x9A00A192,0x9B00A193, -0x9C00A194,0x9D00A195,0x9E00A196,0x9F00A197,0xA000A198,0xA100A199,0xA200A19A,0xA300A19B,0xA400A19C,0xA500A19D, -0xA600A19E,0xA700A19F,0xA800A1A0,0xA900A1A1,0xAA00A1A2,0xAB00A1A3,0xAC00A1A4,0xAD00A1A5,0xAE00A1A6,0xAF00A1A7, -0xB000A1A8,0xB100A1A9,0xB200A1AA,0xB300A1AB,0xB400A1AC,0xB500A1AD,0xB600A1AE,0xB700A1AF,0xB800A1B0,0xB900A1B1, -0xBA00A1B2,0xBB00A1B3,0xBC00A1B4,0xBD00A1B5,0xBE00A1B6,0xBF00A1B7,0x00195732,0x0025581C,0x00255813,0x0025580A, -0x00255801,0x002557F8,0x002557EF,0x002557E6,0x002557DD,0x002557D4,0x002557CB,0x002557C2,0x002557B9,0x002557B0, -0x002557A7,0x0025579E,0x00255795,0x0025578C,0x00255783,0x0025577A,0x00255771,0x00255768,0x0025575F,0x00255756, -0x0025574D,0x00255744,0x0025573B,0x00255732,0x0019563F,0x00255729,0x00255720,0x00255717,0x0025570E,0x00255705, -0x002556FC,0x002556F3,0x002556EA,0x002556E1,0x002556D8,0x002556CF,0x002556C6,0x002556BD,0x002556B4,0x002556AB, -0x002556A2,0x00255699,0x00255690,0x00255687,0x0025567E,0x00255675,0x0025566C,0x00255663,0x0025565A,0x00255651, -0x00255648,0x0025563F,0x0019554C,0x00255636,0x0025562D,0x00255624,0x0025561B,0x00255612,0x00255609,0x00255600, -0x8000A1F8,0x8100A1F9,0x8200A1FA,0x8300A1FB,0x8400A1FC,0x8500A1FD,0x8600A1FE,0x8700A1FF,0x8800A200,0x8900A201, -0x8A00A202,0x8B00A203,0x8C00A204,0x8D00A205,0x8E00A206,0x8F00A207,0x9000A208,0x9100A209,0x9200A20A,0x9300A20B, -0x9400A20C,0x9500A20D,0x9600A20E,0x9700A20F,0x9800A210,0x9900A211,0x9A00A212,0x9B00A213,0x9C00A214,0x9D00A215, -0x9E00A216,0x9F00A217,0xA000A218,0xA100A219,0xA200A21A,0xA300A21B,0xA400A21C,0xA500A21D,0xA600A21E,0xA700A21F, -0xA800A220,0xA900A221,0xAA00A222,0xAB00A223,0xAC00A224,0xAD00A225,0xAE00A226,0xAF00A227,0xB000A228,0xB100A229, -0xB200A22A,0xB300A22B,0xB400A22C,0xB500A22D,0xB600A22E,0xB700A22F,0xB800A230,0xB900A231,0xBA00A232,0xBB00A233, -0xBC00A234,0xBD00A235,0xBE00A236,0xBF00A237,0x002555F7,0x002555EE,0x002555E5,0x002555DC,0x002555D3,0x002555CA, -0x002555C1,0x002555B8,0x002555AF,0x002555A6,0x0025559D,0x00255594,0x0025558B,0x00255582,0x00255579,0x00255570, -0x00255567,0x0025555E,0x00255555,0x0025554C,0x00195459,0x00255543,0x0025553A,0x00255531,0x00255528,0x0025551F, -0x00255516,0x0025550D,0x00255504,0x002554FB,0x002554F2,0x002554E9,0x002554E0,0x002554D7,0x002554CE,0x002554C5, -0x002554BC,0x002554B3,0x002554AA,0x002554A1,0x00255498,0x0025548F,0x00255486,0x0025547D,0x00255474,0x0025546B, -0x00255462,0x00255459,0x00195366,0x00255450,0x00255447,0x0025543E,0x00255435,0x0025542C,0x00255423,0x0025541A, -0x00255411,0x00255408,0x002553FF,0x002553F6,0x002553ED,0x002553E4,0x002553DB,0x002553D2,0x8000A278,0x8100A279, -0x8200A27A,0x8300A27B,0x8400A27C,0x8500A27D,0x8600A27E,0x8700A27F,0x8800A280,0x8900A281,0x8A00A282,0x8B00A283, -0x8C00A284,0x8D00A285,0x8E00A286,0x8F00A287,0x9000A288,0x9100A289,0x9200A28A,0x9300A28B,0x9400A28C,0x9500A28D, -0x9600A28E,0x9700A28F,0x9800A290,0x9900A291,0x9A00A292,0x9B00A293,0x9C00A294,0x9D00A295,0x9E00A296,0x9F00A297, -0xA000A298,0xA100A299,0xA200A29A,0xA300A29B,0xA400A29C,0xA500A29D,0xA600A29E,0xA700A29F,0xA800A2A0,0xA900A2A1, -0xAA00A2A2,0xAB00A2A3,0xAC00A2A4,0xAD00A2A5,0xAE00A2A6,0xAF00A2A7,0xB000A2A8,0xB100A2A9,0xB200A2AA,0xB300A2AB, -0xB400A2AC,0xB500A2AD,0xB600A2AE,0xB700A2AF,0xB800A2B0,0xB900A2B1,0xBA00A2B2,0xBB00A2B3,0xBC00A2B4,0xBD00A2B5, -0xBE00A2B6,0xBF00A2B7,0x002553C9,0x002553C0,0x002553B7,0x002553AE,0x002553A5,0x0025539C,0x00255393,0x0025538A, -0x00255381,0x00255378,0x0025536F,0x00255366,0x00195273,0x0025535D,0x00255354,0x0025534B,0x00255342,0x00255339, -0x00255330,0x00255327,0x0025531E,0x00255315,0x0025530C,0x00255303,0x002552FA,0x002552F1,0x002552E8,0x002552DF, -0x002552D6,0x002552CD,0x002552C4,0x002552BB,0x002552B2,0x002552A9,0x002552A0,0x00255297,0x0025528E,0x00255285, -0x0025527C,0x00255273,0x00195180,0x0025526A,0x00255261,0x00255258,0x0025524F,0x00255246,0x0025523D,0x00255234, -0x0025522B,0x00255222,0x00255219,0x00255210,0x00255207,0x002551FE,0x002551F5,0x002551EC,0x002551E3,0x002551DA, -0x002551D1,0x002551C8,0x002551BF,0x002551B6,0x002551AD,0x002551A4,0x8000A2F8,0x8100A2F9,0x8200A2FA,0x8300A2FB, -0x8400A2FC,0x8500A2FD,0x8600A2FE,0x8700A2FF,0x8800A300,0x8900A301,0x8A00A302,0x8B00A303,0x8C00A304,0x8D00A305, -0x8E00A306,0x8F00A307,0x9000A308,0x9100A309,0x9200A30A,0x9300A30B,0x9400A30C,0x9500A30D,0x9600A30E,0x9700A30F, -0x9800A310,0x9900A311,0x9A00A312,0x9B00A313,0x9C00A314,0x9D00A315,0x9E00A316,0x9F00A317,0xA000A318,0xA100A319, -0xA200A31A,0xA300A31B,0xA400A31C,0xA500A31D,0xA600A31E,0xA700A31F,0xA800A320,0xA900A321,0xAA00A322,0xAB00A323, -0xAC00A324,0xAD00A325,0xAE00A326,0xAF00A327,0xB000A328,0xB100A329,0xB200A32A,0xB300A32B,0xB400A32C,0xB500A32D, -0xB600A32E,0xB700A32F,0xB800A330,0xB900A331,0xBA00A332,0xBB00A333,0xBC00A334,0xBD00A335,0xBE00A336,0xBF00A337, -0x0025519B,0x00255192,0x00255189,0x00255180,0x0019508D,0x00255177,0x0025516E,0x00255165,0x0025515C,0x00255153, -0x0025514A,0x00255141,0x00255138,0x0025512F,0x00255126,0x0025511D,0x00255114,0x0025510B,0x00255102,0x002550F9, -0x002550F0,0x002550E7,0x002550DE,0x002550D5,0x002550CC,0x002550C3,0x002550BA,0x002550B1,0x002550A8,0x0025509F, -0x00255096,0x0025508D,0x00194F9A,0x00255084,0x0025507B,0x00255072,0x00255069,0x00255060,0x00255057,0x0025504E, -0x00255045,0x0025503C,0x00255033,0x0025502A,0x00255021,0x00255018,0x0025500F,0x00255006,0x00254FFD,0x00254FF4, -0x00254FEB,0x00254FE2,0x00254FD9,0x00254FD0,0x00254FC7,0x00254FBE,0x00254FB5,0x00254FAC,0x00254FA3,0x00254F9A, -0x00194EA7,0x00254F91,0x00254F88,0x00254F7F,0x8000A378,0x8100A379,0x8200A37A,0x8300A37B,0x8400A37C,0x8500A37D, -0x8600A37E,0x8700A37F,0x8800A380,0x8900A381,0x8A00A382,0x8B00A383,0x8C00A384,0x8D00A385,0x8E00A386,0x8F00A387, -0x9000A388,0x9100A389,0x9200A38A,0x9300A38B,0x9400A38C,0x9500A38D,0x9600A38E,0x9700A38F,0x9800A390,0x9900A391, -0x9A00A392,0x9B00A393,0x9C00A394,0x9D00A395,0x9E00A396,0x9F00A397,0xA000A398,0xA100A399,0xA200A39A,0xA300A39B, -0xA400A39C,0xA500A39D,0xA600A39E,0xA700A39F,0xA800A3A0,0xA900A3A1,0xAA00A3A2,0xAB00A3A3,0xAC00A3A4,0xAD00A3A5, -0xAE00A3A6,0xAF00A3A7,0xB000A3A8,0xB100A3A9,0xB200A3AA,0xB300A3AB,0xB400A3AC,0xB500A3AD,0xB600A3AE,0xB700A3AF, -0xB800A3B0,0xB900A3B1,0xBA00A3B2,0xBB00A3B3,0xBC00A3B4,0xBD00A3B5,0xBE00A3B6,0xBF00A3B7,0x00254F76,0x00254F6D, -0x00254F64,0x00254F5B,0x00254F52,0x00254F49,0x00254F40,0x00254F37,0x00254F2E,0x00254F25,0x00254F1C,0x00254F13, -0x00254F0A,0x00254F01,0x00254EF8,0x00254EEF,0x00254EE6,0x00254EDD,0x00254ED4,0x00254ECB,0x00254EC2,0x00254EB9, -0x00254EB0,0x00254EA7,0x00194DB4,0x00254E9E,0x00254E95,0x00254E8C,0x00254E83,0x00254E7A,0x00254E71,0x00254E68, -0x00254E5F,0x00254E56,0x00254E4D,0x00254E44,0x00254E3B,0x00254E32,0x00254E29,0x00254E20,0x00254E17,0x00254E0E, -0x00254E05,0x00254DFC,0x00254DF3,0x00254DEA,0x00254DE1,0x00254DD8,0x00254DCF,0x00254DC6,0x00254DBD,0x00254DB4, -0x00194CC1,0x00254DAB,0x00254DA2,0x00254D99,0x00254D90,0x00254D87,0x00254D7E,0x00254D75,0x00254D6C,0x00254D63, -0x00254D5A,0x00254D51,0x8000A3F8,0x8100A3F9,0x8200A3FA,0x8300A3FB,0x8400A3FC,0x8500A3FD,0x8600A3FE,0x8700A3FF, -0x8800A400,0x8900A401,0x8A00A402,0x8B00A403,0x8C00A404,0x8D00A405,0x8E00A406,0x8F00A407,0x9000A408,0x9100A409, -0x9200A40A,0x9300A40B,0x9400A40C,0x9500A40D,0x9600A40E,0x9700A40F,0x9800A410,0x9900A411,0x9A00A412,0x9B00A413, -0x9C00A414,0x9D00A415,0x9E00A416,0x9F00A417,0xA000A418,0xA100A419,0xA200A41A,0xA300A41B,0xA400A41C,0xA500A41D, -0xA600A41E,0xA700A41F,0xA800A420,0xA900A421,0xAA00A422,0xAB00A423,0xAC00A424,0xAD00A425,0xAE00A426,0xAF00A427, -0xB000A428,0xB100A429,0xB200A42A,0xB300A42B,0xB400A42C,0xB500A42D,0xB600A42E,0xB700A42F,0xB800A430,0xB900A431, -0xBA00A432,0xBB00A433,0xBC00A434,0xBD00A435,0xBE00A436,0xBF00A437,0x00254D48,0x00254D3F,0x00254D36,0x00254D2D, -0x00254D24,0x00254D1B,0x00254D12,0x00254D09,0x00254D00,0x00254CF7,0x00254CEE,0x00254CE5,0x00254CDC,0x00254CD3, -0x00254CCA,0x00254CC1,0x00194BCE,0x00254CB8,0x00254CAF,0x00254CA6,0x00254C9D,0x00254C94,0x00254C8B,0x00254C82, -0x00254C79,0x00254C70,0x00254C67,0x00254C5E,0x00254C55,0x00254C4C,0x00254C43,0x00254C3A,0x00254C31,0x00254C28, -0x00254C1F,0x00254C16,0x00254C0D,0x00254C04,0x00254BFB,0x00254BF2,0x00254BE9,0x00254BE0,0x00254BD7,0x00254BCE, -0x00194ADB,0x00254BC5,0x00254BBC,0x00254BB3,0x00254BAA,0x00254BA1,0x00254B98,0x00254B8F,0x00254B86,0x00254B7D, -0x00254B74,0x00254B6B,0x00254B62,0x00254B59,0x00254B50,0x00254B47,0x00254B3E,0x00254B35,0x00254B2C,0x00254B23, -0x8000A478,0x8100A479,0x8200A47A,0x8300A47B,0x8400A47C,0x8500A47D,0x8600A47E,0x8700A47F,0x8800A480,0x8900A481, -0x8A00A482,0x8B00A483,0x8C00A484,0x8D00A485,0x8E00A486,0x8F00A487,0x9000A488,0x9100A489,0x9200A48A,0x9300A48B, -0x9400A48C,0x9500A48D,0x9600A48E,0x9700A48F,0x9800A490,0x9900A491,0x9A00A492,0x9B00A493,0x9C00A494,0x9D00A495, -0x9E00A496,0x9F00A497,0xA000A498,0xA100A499,0xA200A49A,0xA300A49B,0xA400A49C,0xA500A49D,0xA600A49E,0xA700A49F, -0xA800A4A0,0xA900A4A1,0xAA00A4A2,0xAB00A4A3,0xAC00A4A4,0xAD00A4A5,0xAE00A4A6,0xAF00A4A7,0xB000A4A8,0xB100A4A9, -0xB200A4AA,0xB300A4AB,0xB400A4AC,0xB500A4AD,0xB600A4AE,0xB700A4AF,0xB800A4B0,0xB900A4B1,0xBA00A4B2,0xBB00A4B3, -0xBC00A4B4,0xBD00A4B5,0xBE00A4B6,0xBF00A4B7,0x00254B1A,0x00254B11,0x00254B08,0x00254AFF,0x00254AF6,0x00254AED, -0x00254AE4,0x00254ADB,0x001949E8,0x00254AD2,0x00254AC9,0x00254AC0,0x00254AB7,0x00254AAE,0x00254AA5,0x00254A9C, -0x00254A93,0x00254A8A,0x00254A81,0x00254A78,0x00254A6F,0x00254A66,0x00254A5D,0x00254A54,0x00254A4B,0x00254A42, -0x00254A39,0x00254A30,0x00254A27,0x00254A1E,0x00254A15,0x00254A0C,0x00254A03,0x002549FA,0x002549F1,0x002549E8, -0x001948F5,0x002549DF,0x002549D6,0x002549CD,0x002549C4,0x002549BB,0x002549B2,0x002549A9,0x002549A0,0x00254997, -0x0025498E,0x00254985,0x0025497C,0x00254973,0x0025496A,0x00254961,0x00254958,0x0025494F,0x00254946,0x0025493D, -0x00254934,0x0025492B,0x00254922,0x00254919,0x00254910,0x00254907,0x002548FE,0x002548F5,0x8000A4F8,0x8100A4F9, -0x8200A4FA,0x8300A4FB,0x8400A4FC,0x8500A4FD,0x8600A4FE,0x8700A4FF,0x8800A500,0x8900A501,0x8A00A502,0x8B00A503, -0x8C00A504,0x8D00A505,0x8E00A506,0x8F00A507,0x9000A508,0x9100A509,0x9200A50A,0x9300A50B,0x9400A50C,0x9500A50D, -0x9600A50E,0x9700A50F,0x9800A510,0x9900A511,0x9A00A512,0x9B00A513,0x9C00A514,0x9D00A515,0x9E00A516,0x9F00A517, -0xA000A518,0xA100A519,0xA200A51A,0xA300A51B,0xA400A51C,0xA500A51D,0xA600A51E,0xA700A51F,0xA800A520,0xA900A521, -0xAA00A522,0xAB00A523,0xAC00A524,0xAD00A525,0xAE00A526,0xAF00A527,0xB000A528,0xB100A529,0xB200A52A,0xB300A52B, -0xB400A52C,0xB500A52D,0xB600A52E,0xB700A52F,0xB800A530,0xB900A531,0xBA00A532,0xBB00A533,0xBC00A534,0xBD00A535, -0xBE00A536,0xBF00A537,0x00194802,0x002548EC,0x002548E3,0x002548DA,0x002548D1,0x002548C8,0x002548BF,0x002548B6, -0x002548AD,0x002548A4,0x0025489B,0x00254892,0x00254889,0x00254880,0x00254877,0x0025486E,0x00254865,0x0025485C, -0x00254853,0x0025484A,0x00254841,0x00254838,0x0025482F,0x00254826,0x0025481D,0x00254814,0x0025480B,0x00254802, -0x0019470F,0x002547F9,0x002547F0,0x002547E7,0x002547DE,0x002547D5,0x002547CC,0x002547C3,0x002547BA,0x002547B1, -0x002547A8,0x0025479F,0x00254796,0x0025478D,0x00254784,0x0025477B,0x00254772,0x00254769,0x00254760,0x00254757, -0x0025474E,0x00254745,0x0025473C,0x00254733,0x0025472A,0x00254721,0x00254718,0x0025470F,0x0019461C,0x00254706, -0x002546FD,0x002546F4,0x002546EB,0x002546E2,0x002546D9,0x002546D0,0x8000A578,0x8100A579,0x8200A57A,0x8300A57B, -0x8400A57C,0x8500A57D,0x8600A57E,0x8700A57F,0x8800A580,0x8900A581,0x8A00A582,0x8B00A583,0x8C00A584,0x8D00A585, -0x8E00A586,0x8F00A587,0x9000A588,0x9100A589,0x9200A58A,0x9300A58B,0x9400A58C,0x9500A58D,0x9600A58E,0x9700A58F, -0x9800A590,0x9900A591,0x9A00A592,0x9B00A593,0x9C00A594,0x9D00A595,0x9E00A596,0x9F00A597,0xA000A598,0xA100A599, -0xA200A59A,0xA300A59B,0xA400A59C,0xA500A59D,0xA600A59E,0xA700A59F,0xA800A5A0,0xA900A5A1,0xAA00A5A2,0xAB00A5A3, -0xAC00A5A4,0xAD00A5A5,0xAE00A5A6,0xAF00A5A7,0xB000A5A8,0xB100A5A9,0xB200A5AA,0xB300A5AB,0xB400A5AC,0xB500A5AD, -0xB600A5AE,0xB700A5AF,0xB800A5B0,0xB900A5B1,0xBA00A5B2,0xBB00A5B3,0xBC00A5B4,0xBD00A5B5,0xBE00A5B6,0xBF00A5B7, -0x002546C7,0x002546BE,0x002546B5,0x002546AC,0x002546A3,0x0025469A,0x00254691,0x00254688,0x0025467F,0x00254676, -0x0025466D,0x00254664,0x0025465B,0x00254652,0x00254649,0x00254640,0x00254637,0x0025462E,0x00254625,0x0025461C, -0x00194529,0x00254613,0x0025460A,0x00254601,0x002545F8,0x002545EF,0x002545E6,0x002545DD,0x002545D4,0x002545CB, -0x002545C2,0x002545B9,0x002545B0,0x002545A7,0x0025459E,0x00254595,0x0025458C,0x00254583,0x0025457A,0x00254571, -0x00254568,0x0025455F,0x00254556,0x0025454D,0x00254544,0x0025453B,0x00254532,0x00254529,0x00194436,0x00254520, -0x00254517,0x0025450E,0x00254505,0x002544FC,0x002544F3,0x002544EA,0x002544E1,0x002544D8,0x002544CF,0x002544C6, -0x002544BD,0x002544B4,0x002544AB,0x002544A2,0x8000A5F8,0x8100A5F9,0x8200A5FA,0x8300A5FB,0x8400A5FC,0x8500A5FD, -0x8600A5FE,0x8700A5FF,0x8800A600,0x8900A601,0x8A00A602,0x8B00A603,0x8C00A604,0x8D00A605,0x8E00A606,0x8F00A607, -0x9000A608,0x9100A609,0x9200A60A,0x9300A60B,0x9400A60C,0x9500A60D,0x9600A60E,0x9700A60F,0x9800A610,0x9900A611, -0x9A00A612,0x9B00A613,0x9C00A614,0x9D00A615,0x9E00A616,0x9F00A617,0xA000A618,0xA100A619,0xA200A61A,0xA300A61B, -0xA400A61C,0xA500A61D,0xA600A61E,0xA700A61F,0xA800A620,0xA900A621,0xAA00A622,0xAB00A623,0xAC00A624,0xAD00A625, -0xAE00A626,0xAF00A627,0xB000A628,0xB100A629,0xB200A62A,0xB300A62B,0xB400A62C,0xB500A62D,0xB600A62E,0xB700A62F, -0xB800A630,0xB900A631,0xBA00A632,0xBB00A633,0xBC00A634,0xBD00A635,0xBE00A636,0xBF00A637,0x00254499,0x00254490, -0x00254487,0x0025447E,0x00254475,0x0025446C,0x00254463,0x0025445A,0x00254451,0x00254448,0x0025443F,0x00254436, -0x00194343,0x0025442D,0x00254424,0x0025441B,0x00254412,0x00254409,0x00254400,0x002543F7,0x002543EE,0x002543E5, -0x002543DC,0x002543D3,0x002543CA,0x002543C1,0x002543B8,0x002543AF,0x002543A6,0x0025439D,0x00254394,0x0025438B, -0x00254382,0x00254379,0x00254370,0x00254367,0x0025435E,0x00254355,0x0025434C,0x00254343,0x00194250,0x0025433A, -0x00254331,0x00254328,0x0025431F,0x00254316,0x0025430D,0x00254304,0x002542FB,0x002542F2,0x002542E9,0x002542E0, -0x002542D7,0x002542CE,0x002542C5,0x002542BC,0x002542B3,0x002542AA,0x002542A1,0x00254298,0x0025428F,0x00254286, -0x0025427D,0x00254274,0x8000A678,0x8100A679,0x8200A67A,0x8300A67B,0x8400A67C,0x8500A67D,0x8600A67E,0x8700A67F, -0x8800A680,0x8900A681,0x8A00A682,0x8B00A683,0x8C00A684,0x8D00A685,0x8E00A686,0x8F00A687,0x9000A688,0x9100A689, -0x9200A68A,0x9300A68B,0x9400A68C,0x9500A68D,0x9600A68E,0x9700A68F,0x9800A690,0x9900A691,0x9A00A692,0x9B00A693, -0x9C00A694,0x9D00A695,0x9E00A696,0x9F00A697,0xA000A698,0xA100A699,0xA200A69A,0xA300A69B,0xA400A69C,0xA500A69D, -0xA600A69E,0xA700A69F,0xA800A6A0,0xA900A6A1,0xAA00A6A2,0xAB00A6A3,0xAC00A6A4,0xAD00A6A5,0xAE00A6A6,0xAF00A6A7, -0xB000A6A8,0xB100A6A9,0xB200A6AA,0xB300A6AB,0xB400A6AC,0xB500A6AD,0xB600A6AE,0xB700A6AF,0xB800A6B0,0xB900A6B1, -0xBA00A6B2,0xBB00A6B3,0xBC00A6B4,0xBD00A6B5,0xBE00A6B6,0xBF00A6B7,0x0025426B,0x00254262,0x00254259,0x00254250, -0x0019415D,0x00254247,0x0025423E,0x00254235,0x0025422C,0x00254223,0x0025421A,0x00254211,0x00254208,0x002541FF, -0x002541F6,0x002541ED,0x002541E4,0x002541DB,0x002541D2,0x002541C9,0x002541C0,0x002541B7,0x002541AE,0x002541A5, -0x0025419C,0x00254193,0x0025418A,0x00254181,0x00254178,0x0025416F,0x00254166,0x0025415D,0x0019406A,0x00254154, -0x0025414B,0x00254142,0x00254139,0x00254130,0x00254127,0x0025411E,0x00254115,0x0025410C,0x00254103,0x002540FA, -0x002540F1,0x002540E8,0x002540DF,0x002540D6,0x002540CD,0x002540C4,0x002540BB,0x002540B2,0x002540A9,0x002540A0, -0x00254097,0x0025408E,0x00254085,0x0025407C,0x00254073,0x0025406A,0x00193F77,0x00254061,0x00254058,0x0025404F, -0x8000A6F8,0x8100A6F9,0x8200A6FA,0x8300A6FB,0x8400A6FC,0x8500A6FD,0x8600A6FE,0x8700A6FF,0x8800A700,0x8900A701, -0x8A00A702,0x8B00A703,0x8C00A704,0x8D00A705,0x8E00A706,0x8F00A707,0x9000A708,0x9100A709,0x9200A70A,0x9300A70B, -0x9400A70C,0x9500A70D,0x9600A70E,0x9700A70F,0x9800A710,0x9900A711,0x9A00A712,0x9B00A713,0x9C00A714,0x9D00A715, -0x9E00A716,0x9F00A717,0xA000A718,0xA100A719,0xA200A71A,0xA300A71B,0xA400A71C,0xA500A71D,0xA600A71E,0xA700A71F, -0xA800A720,0xA900A721,0xAA00A722,0xAB00A723,0xAC00A724,0xAD00A725,0xAE00A726,0xAF00A727,0xB000A728,0xB100A729, -0xB200A72A,0xB300A72B,0xB400A72C,0xB500A72D,0xB600A72E,0xB700A72F,0xB800A730,0xB900A731,0xBA00A732,0xBB00A733, -0xBC00A734,0xBD00A735,0xBE00A736,0xBF00A737,0x00254046,0x0025403D,0x00254034,0x0025402B,0x00254022,0x00254019, -0x00254010,0x00254007,0x00253FFE,0x00253FF5,0x00253FEC,0x00253FE3,0x00253FDA,0x00253FD1,0x00253FC8,0x00253FBF, -0x00253FB6,0x00253FAD,0x00253FA4,0x00253F9B,0x00253F92,0x00253F89,0x00253F80,0x00253F77,0x00193E84,0x00253F6E, -0x00253F65,0x00253F5C,0x00253F53,0x00253F4A,0x00253F41,0x00253F38,0x00253F2F,0x00253F26,0x00253F1D,0x00253F14, -0x00253F0B,0x00253F02,0x00253EF9,0x00253EF0,0x00253EE7,0x00253EDE,0x00253ED5,0x00253ECC,0x00253EC3,0x00253EBA, -0x00253EB1,0x00253EA8,0x00253E9F,0x00253E96,0x00253E8D,0x00253E84,0x00193D91,0x00253E7B,0x00253E72,0x00253E69, -0x00253E60,0x00253E57,0x00253E4E,0x00253E45,0x00253E3C,0x00253E33,0x00253E2A,0x00253E21,0x8000A778,0x8100A779, -0x8200A77A,0x8300A77B,0x8400A77C,0x8500A77D,0x8600A77E,0x8700A77F,0x8800A780,0x8900A781,0x8A00A782,0x8B00A783, -0x8C00A784,0x8D00A785,0x8E00A786,0x8F00A787,0x9000A788,0x9100A789,0x9200A78A,0x9300A78B,0x9400A78C,0x9500A78D, -0x9600A78E,0x9700A78F,0x9800A790,0x9900A791,0x9A00A792,0x9B00A793,0x9C00A794,0x9D00A795,0x9E00A796,0x9F00A797, -0xA000A798,0xA100A799,0xA200A79A,0xA300A79B,0xA400A79C,0xA500A79D,0xA600A79E,0xA700A79F,0xA800A7A0,0xA900A7A1, -0xAA00A7A2,0xAB00A7A3,0xAC00A7A4,0xAD00A7A5,0xAE00A7A6,0xAF00A7A7,0xB000A7A8,0xB100A7A9,0xB200A7AA,0xB300A7AB, -0xB400A7AC,0xB500A7AD,0xB600A7AE,0xB700A7AF,0xB800A7B0,0xB900A7B1,0xBA00A7B2,0xBB00A7B3,0xBC00A7B4,0xBD00A7B5, -0xBE00A7B6,0xBF00A7B7,0x00253E18,0x00253E0F,0x00253E06,0x00253DFD,0x00253DF4,0x00253DEB,0x00253DE2,0x00253DD9, -0x00253DD0,0x00253DC7,0x00253DBE,0x00253DB5,0x00253DAC,0x00253DA3,0x00253D9A,0x00253D91,0x00193C9E,0x00253D88, -0x00253D7F,0x00253D76,0x00253D6D,0x00253D64,0x00253D5B,0x00253D52,0x00253D49,0x00253D40,0x00253D37,0x00253D2E, -0x00253D25,0x00253D1C,0x00253D13,0x00253D0A,0x00253D01,0x00253CF8,0x00253CEF,0x00253CE6,0x00253CDD,0x00253CD4, -0x00253CCB,0x00253CC2,0x00253CB9,0x00253CB0,0x00253CA7,0x00253C9E,0x00193BAB,0x00253C95,0x00253C8C,0x00253C83, -0x00253C7A,0x00253C71,0x00253C68,0x00253C5F,0x00253C56,0x00253C4D,0x00253C44,0x00253C3B,0x00253C32,0x00253C29, -0x00253C20,0x00253C17,0x00253C0E,0x00253C05,0x00253BFC,0x00253BF3,0x8000A7F8,0x8100A7F9,0x8200A7FA,0x8300A7FB, -0x8400A7FC,0x8500A7FD,0x8600A7FE,0x8700A7FF,0x8800A800,0x8900A801,0x8A00A802,0x8B00A803,0x8C00A804,0x8D00A805, -0x8E00A806,0x8F00A807,0x9000A808,0x9100A809,0x9200A80A,0x9300A80B,0x9400A80C,0x9500A80D,0x9600A80E,0x9700A80F, -0x9800A810,0x9900A811,0x9A00A812,0x9B00A813,0x9C00A814,0x9D00A815,0x9E00A816,0x9F00A817,0xA000A818,0xA100A819, -0xA200A81A,0xA300A81B,0xA400A81C,0xA500A81D,0xA600A81E,0xA700A81F,0xA800A820,0xA900A821,0xAA00A822,0xAB00A823, -0xAC00A824,0xAD00A825,0xAE00A826,0xAF00A827,0xB000A828,0xB100A829,0xB200A82A,0xB300A82B,0xB400A82C,0xB500A82D, -0xB600A82E,0xB700A82F,0xB800A830,0xB900A831,0xBA00A832,0xBB00A833,0xBC00A834,0xBD00A835,0xBE00A836,0xBF00A837, -0x00253BEA,0x00253BE1,0x00253BD8,0x00253BCF,0x00253BC6,0x00253BBD,0x00253BB4,0x00253BAB,0x00193AB8,0x00253BA2, -0x00253B99,0x00253B90,0x00253B87,0x00253B7E,0x00253B75,0x00253B6C,0x00253B63,0x00253B5A,0x00253B51,0x00253B48, -0x00253B3F,0x00253B36,0x00253B2D,0x00253B24,0x00253B1B,0x00253B12,0x00253B09,0x00253B00,0x00253AF7,0x00253AEE, -0x00253AE5,0x00253ADC,0x00253AD3,0x00253ACA,0x00253AC1,0x00253AB8,0x001939C5,0x00253AAF,0x00253AA6,0x00253A9D, -0x00253A94,0x00253A8B,0x00253A82,0x00253A79,0x00253A70,0x00253A67,0x00253A5E,0x00253A55,0x00253A4C,0x00253A43, -0x00253A3A,0x00253A31,0x00253A28,0x00253A1F,0x00253A16,0x00253A0D,0x00253A04,0x002539FB,0x002539F2,0x002539E9, -0x002539E0,0x002539D7,0x002539CE,0x002539C5,0x8000A878,0x8100A879,0x8200A87A,0x8300A87B,0x8400A87C,0x8500A87D, -0x8600A87E,0x8700A87F,0x8800A880,0x8900A881,0x8A00A882,0x8B00A883,0x8C00A884,0x8D00A885,0x8E00A886,0x8F00A887, -0x9000A888,0x9100A889,0x9200A88A,0x9300A88B,0x9400A88C,0x9500A88D,0x9600A88E,0x9700A88F,0x9800A890,0x9900A891, -0x9A00A892,0x9B00A893,0x9C00A894,0x9D00A895,0x9E00A896,0x9F00A897,0xA000A898,0xA100A899,0xA200A89A,0xA300A89B, -0xA400A89C,0xA500A89D,0xA600A89E,0xA700A89F,0xA800A8A0,0xA900A8A1,0xAA00A8A2,0xAB00A8A3,0xAC00A8A4,0xAD00A8A5, -0xAE00A8A6,0xAF00A8A7,0xB000A8A8,0xB100A8A9,0xB200A8AA,0xB300A8AB,0xB400A8AC,0xB500A8AD,0xB600A8AE,0xB700A8AF, -0xB800A8B0,0xB900A8B1,0xBA00A8B2,0xBB00A8B3,0xBC00A8B4,0xBD00A8B5,0xBE00A8B6,0xBF00A8B7,0x001938DB,0x002539BC, -0x002539B3,0x002539AA,0x002635D5,0x002539A1,0x00253998,0x0025398F,0x00253986,0x0025397D,0x00253974,0x0025396B, -0x00253962,0x00253959,0x00253950,0x00253947,0x0025393E,0x00253935,0x0025392C,0x00253923,0x0025391A,0x00253911, -0x00253908,0x002538FF,0x002538F6,0x002538ED,0x002538E4,0x002538DB,0x001937E8,0x002538D2,0x002538C9,0x002538C0, -0x002538B7,0x002538AE,0x002538A5,0x0025389C,0x00253893,0x0025388A,0x00253881,0x00253878,0x0025386F,0x00253866, -0x0025385D,0x00253854,0x0025384B,0x00253842,0x00253839,0x00253830,0x00253827,0x0025381E,0x00253815,0x0025380C, -0x00253803,0x002537FA,0x002537F1,0x002537E8,0x001936F5,0x002537DF,0x002537D6,0x002537CD,0x002537C4,0x002537BB, -0x002537B2,0x002537A9,0x8000A8F8,0x8100A8F9,0x8200A8FA,0x8300A8FB,0x8400A8FC,0x8500A8FD,0x8600A8FE,0x8700A8FF, -0x8800A900,0x8900A901,0x8A00A902,0x8B00A903,0x8C00A904,0x8D00A905,0x8E00A906,0x8F00A907,0x9000A908,0x9100A909, -0x9200A90A,0x9300A90B,0x9400A90C,0x9500A90D,0x9600A90E,0x9700A90F,0x9800A910,0x9900A911,0x9A00A912,0x9B00A913, -0x9C00A914,0x9D00A915,0x9E00A916,0x9F00A917,0xA000A918,0xA100A919,0xA200A91A,0xA300A91B,0xA400A91C,0xA500A91D, -0xA600A91E,0xA700A91F,0xA800A920,0xA900A921,0xAA00A922,0xAB00A923,0xAC00A924,0xAD00A925,0xAE00A926,0xAF00A927, -0xB000A928,0xB100A929,0xB200A92A,0xB300A92B,0xB400A92C,0xB500A92D,0xB600A92E,0xB700A92F,0xB800A930,0xB900A931, -0xBA00A932,0xBB00A933,0xBC00A934,0xBD00A935,0xBE00A936,0xBF00A937,0x002537A0,0x00253797,0x0025378E,0x00253785, -0x0025377C,0x00253773,0x0025376A,0x00253761,0x00253758,0x0025374F,0x00253746,0x0025373D,0x00253734,0x0025372B, -0x00253722,0x00253719,0x00253710,0x00253707,0x002536FE,0x002536F5,0x00193602,0x002536EC,0x002536E3,0x002536DA, -0x002536D1,0x002536C8,0x002536BF,0x002536B6,0x002536AD,0x002536A4,0x0025369B,0x00253692,0x00253689,0x00253680, -0x00253677,0x0025366E,0x00253665,0x0025365C,0x00253653,0x0025364A,0x00253641,0x00253638,0x0025362F,0x00253626, -0x0025361D,0x00253614,0x0025360B,0x00253602,0x0019350F,0x002535F9,0x002535F0,0x002535E7,0x002535DE,0x002535D5, -0x002535CC,0x002535C3,0x002535BA,0x002535B1,0x002535A8,0x0025359F,0x00253596,0x0025358D,0x00253584,0x0025357B, -0x8000A978,0x8100A979,0x8200A97A,0x8300A97B,0x8400A97C,0x8500A97D,0x8600A97E,0x8700A97F,0x8800A980,0x8900A981, -0x8A00A982,0x8B00A983,0x8C00A984,0x8D00A985,0x8E00A986,0x8F00A987,0x9000A988,0x9100A989,0x9200A98A,0x9300A98B, -0x9400A98C,0x9500A98D,0x9600A98E,0x9700A98F,0x9800A990,0x9900A991,0x9A00A992,0x9B00A993,0x9C00A994,0x9D00A995, -0x9E00A996,0x9F00A997,0xA000A998,0xA100A999,0xA200A99A,0xA300A99B,0xA400A99C,0xA500A99D,0xA600A99E,0xA700A99F, -0xA800A9A0,0xA900A9A1,0xAA00A9A2,0xAB00A9A3,0xAC00A9A4,0xAD00A9A5,0xAE00A9A6,0xAF00A9A7,0xB000A9A8,0xB100A9A9, -0xB200A9AA,0xB300A9AB,0xB400A9AC,0xB500A9AD,0xB600A9AE,0xB700A9AF,0xB800A9B0,0xB900A9B1,0xBA00A9B2,0xBB00A9B3, -0xBC00A9B4,0xBD00A9B5,0xBE00A9B6,0xBF00A9B7,0x00253572,0x00253569,0x00253560,0x00253557,0x0025354E,0x00253545, -0x0025353C,0x00253533,0x0025352A,0x00253521,0x00253518,0x0025350F,0x0019341C,0x00253506,0x002534FD,0x002534F4, -0x002534EB,0x002534E2,0x002534D9,0x002534D0,0x002534C7,0x002534BE,0x002534B5,0x002534AC,0x002534A3,0x0025349A, -0x00253491,0x00253488,0x0025347F,0x00253476,0x0025346D,0x00253464,0x0025345B,0x00253452,0x00253449,0x00253440, -0x00253437,0x0025342E,0x00253425,0x0025341C,0x00193329,0x00253413,0x0025340A,0x00253401,0x002533F8,0x002533EF, -0x002533E6,0x002533DD,0x002533D4,0x002533CB,0x002533C2,0x002533B9,0x002533B0,0x002533A7,0x0025339E,0x00253395, -0x0025338C,0x00253383,0x0025337A,0x00253371,0x00253368,0x0025335F,0x00253356,0x0025334D,0x8000A9F8,0x8100A9F9, -0x8200A9FA,0x8300A9FB,0x8400A9FC,0x8500A9FD,0x8600A9FE,0x8700A9FF,0x8800AA00,0x8900AA01,0x8A00AA02,0x8B00AA03, -0x8C00AA04,0x8D00AA05,0x8E00AA06,0x8F00AA07,0x9000AA08,0x9100AA09,0x9200AA0A,0x9300AA0B,0x9400AA0C,0x9500AA0D, -0x9600AA0E,0x9700AA0F,0x9800AA10,0x9900AA11,0x9A00AA12,0x9B00AA13,0x9C00AA14,0x9D00AA15,0x9E00AA16,0x9F00AA17, -0xA000AA18,0xA100AA19,0xA200AA1A,0xA300AA1B,0xA400AA1C,0xA500AA1D,0xA600AA1E,0xA700AA1F,0xA800AA20,0xA900AA21, -0xAA00AA22,0xAB00AA23,0xAC00AA24,0xAD00AA25,0xAE00AA26,0xAF00AA27,0xB000AA28,0xB100AA29,0xB200AA2A,0xB300AA2B, -0xB400AA2C,0xB500AA2D,0xB600AA2E,0xB700AA2F,0xB800AA30,0xB900AA31,0xBA00AA32,0xBB00AA33,0xBC00AA34,0xBD00AA35, -0xBE00AA36,0xBF00AA37,0x00253344,0x0025333B,0x00253332,0x00253329,0x00193236,0x00253320,0x00253317,0x0025330E, -0x00253305,0x002532FC,0x002532F3,0x002532EA,0x002532E1,0x002532D8,0x002532CF,0x002532C6,0x002532BD,0x002532B4, -0x002532AB,0x002532A2,0x00253299,0x00253290,0x00253287,0x0025327E,0x00253275,0x0025326C,0x00253263,0x0025325A, -0x00253251,0x00253248,0x0025323F,0x00253236,0x00193143,0x0025322D,0x00253224,0x0025321B,0x00253212,0x00253209, -0x00253200,0x002531F7,0x002531EE,0x002531E5,0x002531DC,0x002531D3,0x002531CA,0x002531C1,0x002531B8,0x002531AF, -0x002531A6,0x0025319D,0x00253194,0x0025318B,0x00253182,0x00253179,0x00253170,0x00253167,0x0025315E,0x00253155, -0x0025314C,0x00253143,0x00193050,0x0025313A,0x00253131,0x00253128,0x8000AA78,0x8100AA79,0x8200AA7A,0x8300AA7B, -0x8400AA7C,0x8500AA7D,0x8600AA7E,0x8700AA7F,0x8800AA80,0x8900AA81,0x8A00AA82,0x8B00AA83,0x8C00AA84,0x8D00AA85, -0x8E00AA86,0x8F00AA87,0x9000AA88,0x9100AA89,0x9200AA8A,0x9300AA8B,0x9400AA8C,0x9500AA8D,0x9600AA8E,0x9700AA8F, -0x9800AA90,0x9900AA91,0x9A00AA92,0x9B00AA93,0x9C00AA94,0x9D00AA95,0x9E00AA96,0x9F00AA97,0xA000AA98,0xA100AA99, -0xA200AA9A,0xA300AA9B,0xA400AA9C,0xA500AA9D,0xA600AA9E,0xA700AA9F,0xA800AAA0,0xA900AAA1,0xAA00AAA2,0xAB00AAA3, -0xAC00AAA4,0xAD00AAA5,0xAE00AAA6,0xAF00AAA7,0xB000AAA8,0xB100AAA9,0xB200AAAA,0xB300AAAB,0xB400AAAC,0xB500AAAD, -0xB600AAAE,0xB700AAAF,0xB800AAB0,0xB900AAB1,0xBA00AAB2,0xBB00AAB3,0xBC00AAB4,0xBD00AAB5,0xBE00AAB6,0xBF00AAB7, -0x0025311F,0x00253116,0x0025310D,0x00253104,0x002530FB,0x002530F2,0x002530E9,0x002530E0,0x002530D7,0x002530CE, -0x002530C5,0x002530BC,0x002530B3,0x002530AA,0x002530A1,0x00253098,0x0025308F,0x00253086,0x0025307D,0x00253074, -0x0025306B,0x00253062,0x00253059,0x00253050,0x00192F5D,0x00253047,0x0025303E,0x00253035,0x0025302C,0x00253023, -0x0025301A,0x00253011,0x00253008,0x00252FFF,0x00252FF6,0x00252FED,0x00252FE4,0x00252FDB,0x00252FD2,0x00252FC9, -0x00252FC0,0x00252FB7,0x00252FAE,0x00252FA5,0x00252F9C,0x00252F93,0x00252F8A,0x00252F81,0x00252F78,0x00252F6F, -0x00252F66,0x00252F5D,0x00192E6A,0x00252F54,0x00252F4B,0x00252F42,0x00252F39,0x00252F30,0x00252F27,0x00252F1E, -0x00252F15,0x00252F0C,0x00252F03,0x00252EFA,0x8000AAF8,0x8100AAF9,0x8200AAFA,0x8300AAFB,0x8400AAFC,0x8500AAFD, -0x8600AAFE,0x8700AAFF,0x8800AB00,0x8900AB01,0x8A00AB02,0x8B00AB03,0x8C00AB04,0x8D00AB05,0x8E00AB06,0x8F00AB07, -0x9000AB08,0x9100AB09,0x9200AB0A,0x9300AB0B,0x9400AB0C,0x9500AB0D,0x9600AB0E,0x9700AB0F,0x9800AB10,0x9900AB11, -0x9A00AB12,0x9B00AB13,0x9C00AB14,0x9D00AB15,0x9E00AB16,0x9F00AB17,0xA000AB18,0xA100AB19,0xA200AB1A,0xA300AB1B, -0xA400AB1C,0xA500AB1D,0xA600AB1E,0xA700AB1F,0xA800AB20,0xA900AB21,0xAA00AB22,0xAB00AB23,0xAC00AB24,0xAD00AB25, -0xAE00AB26,0xAF00AB27,0xB000AB28,0xB100AB29,0xB200AB2A,0xB300AB2B,0xB400AB2C,0xB500AB2D,0xB600AB2E,0xB700AB2F, -0xB800AB30,0xB900AB31,0xBA00AB32,0xBB00AB33,0xBC00AB34,0xBD00AB35,0xBE00AB36,0xBF00AB37,0x00252EF1,0x00252EE8, -0x00252EDF,0x00252ED6,0x00252ECD,0x00252EC4,0x00252EBB,0x00252EB2,0x00252EA9,0x00252EA0,0x00252E97,0x00252E8E, -0x00252E85,0x00252E7C,0x00252E73,0x00252E6A,0x00192D77,0x00252E61,0x00252E58,0x00252E4F,0x00252E46,0x00252E3D, -0x00252E34,0x00252E2B,0x00252E22,0x00252E19,0x00252E10,0x00252E07,0x00252DFE,0x00252DF5,0x00252DEC,0x00252DE3, -0x00252DDA,0x00252DD1,0x00252DC8,0x00252DBF,0x00252DB6,0x00252DAD,0x00252DA4,0x00252D9B,0x00252D92,0x00252D89, -0x00252D80,0x00252D77,0x00192C84,0x00252D6E,0x00252D65,0x00252D5C,0x00252D53,0x00252D4A,0x00252D41,0x00252D38, -0x00252D2F,0x00252D26,0x00252D1D,0x00252D14,0x00252D0B,0x00252D02,0x00252CF9,0x00252CF0,0x00252CE7,0x00252CDE, -0x00252CD5,0x00252CCC,0x8000AB78,0x8100AB79,0x8200AB7A,0x8300AB7B,0x8400AB7C,0x8500AB7D,0x8600AB7E,0x8700AB7F, -0x8800AB80,0x8900AB81,0x8A00AB82,0x8B00AB83,0x8C00AB84,0x8D00AB85,0x8E00AB86,0x8F00AB87,0x9000AB88,0x9100AB89, -0x9200AB8A,0x9300AB8B,0x9400AB8C,0x9500AB8D,0x9600AB8E,0x9700AB8F,0x9800AB90,0x9900AB91,0x9A00AB92,0x9B00AB93, -0x9C00AB94,0x9D00AB95,0x9E00AB96,0x9F00AB97,0xA000AB98,0xA100AB99,0xA200AB9A,0xA300AB9B,0xA400AB9C,0xA500AB9D, -0xA600AB9E,0xA700AB9F,0xA800ABA0,0xA900ABA1,0xAA00ABA2,0xAB00ABA3,0xAC00ABA4,0xAD00ABA5,0xAE00ABA6,0xAF00ABA7, -0xB000ABA8,0xB100ABA9,0xB200ABAA,0xB300ABAB,0xB400ABAC,0xB500ABAD,0xB600ABAE,0xB700ABAF,0xB800ABB0,0xB900ABB1, -0xBA00ABB2,0xBB00ABB3,0xBC00ABB4,0xBD00ABB5,0xBE00ABB6,0xBF00ABB7,0x00252CC3,0x00252CBA,0x00252CB1,0x00252CA8, -0x00252C9F,0x00252C96,0x00252C8D,0x00252C84,0x00192B91,0x00252C7B,0x00252C72,0x00252C69,0x00252C60,0x00252C57, -0x00252C4E,0x00252C45,0x00252C3C,0x00252C33,0x00252C2A,0x00252C21,0x00252C18,0x00252C0F,0x00252C06,0x00252BFD, -0x00252BF4,0x00252BEB,0x00252BE2,0x00252BD9,0x00252BD0,0x00252BC7,0x00252BBE,0x00252BB5,0x00252BAC,0x00252BA3, -0x00252B9A,0x00252B91,0x00192A9E,0x00252B88,0x00252B7F,0x00252B76,0x00252B6D,0x00252B64,0x00252B5B,0x00252B52, -0x00252B49,0x00252B40,0x00252B37,0x00252B2E,0x00252B25,0x00252B1C,0x00252B13,0x00252B0A,0x00252B01,0x00252AF8, -0x00252AEF,0x00252AE6,0x00252ADD,0x00252AD4,0x00252ACB,0x00252AC2,0x00252AB9,0x00252AB0,0x00252AA7,0x00252A9E, -0x8000ABF8,0x8100ABF9,0x8200ABFA,0x8300ABFB,0x8400ABFC,0x8500ABFD,0x8600ABFE,0x8700ABFF,0x8800AC00,0x8900AC01, -0x8A00AC02,0x8B00AC03,0x8C00AC04,0x8D00AC05,0x8E00AC06,0x8F00AC07,0x9000AC08,0x9100AC09,0x9200AC0A,0x9300AC0B, -0x9400AC0C,0x9500AC0D,0x9600AC0E,0x9700AC0F,0x9800AC10,0x9900AC11,0x9A00AC12,0x9B00AC13,0x9C00AC14,0x9D00AC15, -0x9E00AC16,0x9F00AC17,0xA000AC18,0xA100AC19,0xA200AC1A,0xA300AC1B,0xA400AC1C,0xA500AC1D,0xA600AC1E,0xA700AC1F, -0xA800AC20,0xA900AC21,0xAA00AC22,0xAB00AC23,0xAC00AC24,0xAD00AC25,0xAE00AC26,0xAF00AC27,0xB000AC28,0xB100AC29, -0xB200AC2A,0xB300AC2B,0xB400AC2C,0xB500AC2D,0xB600AC2E,0xB700AC2F,0xB800AC30,0xB900AC31,0xBA00AC32,0xBB00AC33, -0xBC00AC34,0xBD00AC35,0xBE00AC36,0xBF00AC37,0x001929AB,0x00252A95,0x00252A8C,0x00252A83,0x00252A7A,0x00252A71, -0x00252A68,0x00252A5F,0x00252A56,0x00252A4D,0x00252A44,0x00252A3B,0x00252A32,0x00252A29,0x00252A20,0x00252A17, -0x00252A0E,0x00252A05,0x002529FC,0x002529F3,0x002529EA,0x002529E1,0x002529D8,0x002529CF,0x002529C6,0x002529BD, -0x002529B4,0x002529AB,0x001928B8,0x002529A2,0x00252999,0x00252990,0x00252987,0x0025297E,0x00252975,0x0025296C, -0x00252963,0x0025295A,0x00252951,0x00252948,0x0025293F,0x00252936,0x0025292D,0x00252924,0x0025291B,0x00252912, -0x00252909,0x00252900,0x002528F7,0x002528EE,0x002528E5,0x002528DC,0x002528D3,0x002528CA,0x002528C1,0x002528B8, -0x001927C5,0x002528AF,0x002528A6,0x0025289D,0x00252894,0x0025288B,0x00252882,0x00252879,0x8000AC78,0x8100AC79, -0x8200AC7A,0x8300AC7B,0x8400AC7C,0x8500AC7D,0x8600AC7E,0x8700AC7F,0x8800AC80,0x8900AC81,0x8A00AC82,0x8B00AC83, -0x8C00AC84,0x8D00AC85,0x8E00AC86,0x8F00AC87,0x9000AC88,0x9100AC89,0x9200AC8A,0x9300AC8B,0x9400AC8C,0x9500AC8D, -0x9600AC8E,0x9700AC8F,0x9800AC90,0x9900AC91,0x9A00AC92,0x9B00AC93,0x9C00AC94,0x9D00AC95,0x9E00AC96,0x9F00AC97, -0xA000AC98,0xA100AC99,0xA200AC9A,0xA300AC9B,0xA400AC9C,0xA500AC9D,0xA600AC9E,0xA700AC9F,0xA800ACA0,0xA900ACA1, -0xAA00ACA2,0xAB00ACA3,0xAC00ACA4,0xAD00ACA5,0xAE00ACA6,0xAF00ACA7,0xB000ACA8,0xB100ACA9,0xB200ACAA,0xB300ACAB, -0xB400ACAC,0xB500ACAD,0xB600ACAE,0xB700ACAF,0xB800ACB0,0xB900ACB1,0xBA00ACB2,0xBB00ACB3,0xBC00ACB4,0xBD00ACB5, -0xBE00ACB6,0xBF00ACB7,0x00252870,0x00252867,0x0025285E,0x00252855,0x0025284C,0x00252843,0x0025283A,0x00252831, -0x00252828,0x0025281F,0x00252816,0x0025280D,0x00252804,0x002527FB,0x002527F2,0x002527E9,0x002527E0,0x002527D7, -0x002527CE,0x002527C5,0x001926D2,0x002527BC,0x002527B3,0x002527AA,0x002527A1,0x00252798,0x0025278F,0x00252786, -0x0025277D,0x00252774,0x0025276B,0x00252762,0x00252759,0x00252750,0x00252747,0x0025273E,0x00252735,0x0025272C, -0x00252723,0x0025271A,0x00252711,0x00252708,0x002526FF,0x002526F6,0x002526ED,0x002526E4,0x002526DB,0x002526D2, -0x001925DF,0x002526C9,0x002526C0,0x002526B7,0x002526AE,0x002526A5,0x0025269C,0x00252693,0x0025268A,0x00252681, -0x00252678,0x0025266F,0x00252666,0x0025265D,0x00252654,0x0025264B,0x8000ACF8,0x8100ACF9,0x8200ACFA,0x8300ACFB, -0x8400ACFC,0x8500ACFD,0x8600ACFE,0x8700ACFF,0x8800AD00,0x8900AD01,0x8A00AD02,0x8B00AD03,0x8C00AD04,0x8D00AD05, -0x8E00AD06,0x8F00AD07,0x9000AD08,0x9100AD09,0x9200AD0A,0x9300AD0B,0x9400AD0C,0x9500AD0D,0x9600AD0E,0x9700AD0F, -0x9800AD10,0x9900AD11,0x9A00AD12,0x9B00AD13,0x9C00AD14,0x9D00AD15,0x9E00AD16,0x9F00AD17,0xA000AD18,0xA100AD19, -0xA200AD1A,0xA300AD1B,0xA400AD1C,0xA500AD1D,0xA600AD1E,0xA700AD1F,0xA800AD20,0xA900AD21,0xAA00AD22,0xAB00AD23, -0xAC00AD24,0xAD00AD25,0xAE00AD26,0xAF00AD27,0xB000AD28,0xB100AD29,0xB200AD2A,0xB300AD2B,0xB400AD2C,0xB500AD2D, -0xB600AD2E,0xB700AD2F,0xB800AD30,0xB900AD31,0xBA00AD32,0xBB00AD33,0xBC00AD34,0xBD00AD35,0xBE00AD36,0xBF00AD37, -0x00252642,0x00252639,0x00252630,0x00252627,0x0025261E,0x00252615,0x0025260C,0x00252603,0x002525FA,0x002525F1, -0x002525E8,0x002525DF,0x001924EC,0x002525D6,0x002525CD,0x002525C4,0x002525BB,0x002525B2,0x002525A9,0x002525A0, -0x00252597,0x0025258E,0x00252585,0x0025257C,0x00252573,0x0025256A,0x00252561,0x00252558,0x0025254F,0x00252546, -0x0025253D,0x00252534,0x0025252B,0x00252522,0x00252519,0x00252510,0x00252507,0x002524FE,0x002524F5,0x002524EC, -0x001923F9,0x002524E3,0x002524DA,0x002524D1,0x002524C8,0x002524BF,0x002524B6,0x002524AD,0x002524A4,0x0025249B, -0x00252492,0x00252489,0x00252480,0x00252477,0x0025246E,0x00252465,0x0025245C,0x00252453,0x0025244A,0x00252441, -0x00252438,0x0025242F,0x00252426,0x0025241D,0x8000AD78,0x8100AD79,0x8200AD7A,0x8300AD7B,0x8400AD7C,0x8500AD7D, -0x8600AD7E,0x8700AD7F,0x8800AD80,0x8900AD81,0x8A00AD82,0x8B00AD83,0x8C00AD84,0x8D00AD85,0x8E00AD86,0x8F00AD87, -0x9000AD88,0x9100AD89,0x9200AD8A,0x9300AD8B,0x9400AD8C,0x9500AD8D,0x9600AD8E,0x9700AD8F,0x9800AD90,0x9900AD91, -0x9A00AD92,0x9B00AD93,0x9C00AD94,0x9D00AD95,0x9E00AD96,0x9F00AD97,0xA000AD98,0xA100AD99,0xA200AD9A,0xA300AD9B, -0xA400AD9C,0xA500AD9D,0xA600AD9E,0xA700AD9F,0xA800ADA0,0xA900ADA1,0xAA00ADA2,0xAB00ADA3,0xAC00ADA4,0xAD00ADA5, -0xAE00ADA6,0xAF00ADA7,0xB000ADA8,0xB100ADA9,0xB200ADAA,0xB300ADAB,0xB400ADAC,0xB500ADAD,0xB600ADAE,0xB700ADAF, -0xB800ADB0,0xB900ADB1,0xBA00ADB2,0xBB00ADB3,0xBC00ADB4,0xBD00ADB5,0xBE00ADB6,0xBF00ADB7,0x00252414,0x0025240B, -0x00252402,0x002523F9,0x00192306,0x002523F0,0x002523E7,0x002523DE,0x002523D5,0x002523CC,0x002523C3,0x002523BA, -0x002523B1,0x002523A8,0x0025239F,0x00252396,0x0025238D,0x00252384,0x0025237B,0x00252372,0x00252369,0x00252360, -0x00252357,0x0025234E,0x00252345,0x0025233C,0x00252333,0x0025232A,0x00252321,0x00252318,0x0025230F,0x00252306, -0x00192213,0x002522FD,0x002522F4,0x002522EB,0x002522E2,0x002522D9,0x002522D0,0x002522C7,0x002522BE,0x002522B5, -0x002522AC,0x002522A3,0x0025229A,0x00252291,0x00252288,0x0025227F,0x00252276,0x0025226D,0x00252264,0x0025225B, -0x00252252,0x00252249,0x00252240,0x00252237,0x0025222E,0x00252225,0x0025221C,0x00252213,0x00192120,0x0025220A, -0x00252201,0x002521F8,0x8000ADF8,0x8100ADF9,0x8200ADFA,0x8300ADFB,0x8400ADFC,0x8500ADFD,0x8600ADFE,0x8700ADFF, -0x8800AE00,0x8900AE01,0x8A00AE02,0x8B00AE03,0x8C00AE04,0x8D00AE05,0x8E00AE06,0x8F00AE07,0x9000AE08,0x9100AE09, -0x9200AE0A,0x9300AE0B,0x9400AE0C,0x9500AE0D,0x9600AE0E,0x9700AE0F,0x9800AE10,0x9900AE11,0x9A00AE12,0x9B00AE13, -0x9C00AE14,0x9D00AE15,0x9E00AE16,0x9F00AE17,0xA000AE18,0xA100AE19,0xA200AE1A,0xA300AE1B,0xA400AE1C,0xA500AE1D, -0xA600AE1E,0xA700AE1F,0xA800AE20,0xA900AE21,0xAA00AE22,0xAB00AE23,0xAC00AE24,0xAD00AE25,0xAE00AE26,0xAF00AE27, -0xB000AE28,0xB100AE29,0xB200AE2A,0xB300AE2B,0xB400AE2C,0xB500AE2D,0xB600AE2E,0xB700AE2F,0xB800AE30,0xB900AE31, -0xBA00AE32,0xBB00AE33,0xBC00AE34,0xBD00AE35,0xBE00AE36,0xBF00AE37,0x002521EF,0x002521E6,0x002521DD,0x002521D4, -0x002521CB,0x002521C2,0x002521B9,0x002521B0,0x002521A7,0x0025219E,0x00252195,0x0025218C,0x00252183,0x0025217A, -0x00252171,0x00252168,0x0025215F,0x00252156,0x0025214D,0x00252144,0x0025213B,0x00252132,0x00252129,0x00252120, -0x0019202D,0x00252117,0x0025210E,0x00252105,0x002520FC,0x002520F3,0x002520EA,0x002520E1,0x002520D8,0x002520CF, -0x002520C6,0x002520BD,0x002520B4,0x002520AB,0x002520A2,0x00252099,0x00252090,0x00252087,0x0025207E,0x00252075, -0x0025206C,0x00252063,0x0025205A,0x00252051,0x00252048,0x0025203F,0x00252036,0x0025202D,0x00191F3A,0x00252024, -0x0025201B,0x00252012,0x00252009,0x00252000,0x00251FF7,0x00251FEE,0x00251FE5,0x00251FDC,0x00251FD3,0x00251FCA, -0x8000AE78,0x8100AE79,0x8200AE7A,0x8300AE7B,0x8400AE7C,0x8500AE7D,0x8600AE7E,0x8700AE7F,0x8800AE80,0x8900AE81, -0x8A00AE82,0x8B00AE83,0x8C00AE84,0x8D00AE85,0x8E00AE86,0x8F00AE87,0x9000AE88,0x9100AE89,0x9200AE8A,0x9300AE8B, -0x9400AE8C,0x9500AE8D,0x9600AE8E,0x9700AE8F,0x9800AE90,0x9900AE91,0x9A00AE92,0x9B00AE93,0x9C00AE94,0x9D00AE95, -0x9E00AE96,0x9F00AE97,0xA000AE98,0xA100AE99,0xA200AE9A,0xA300AE9B,0xA400AE9C,0xA500AE9D,0xA600AE9E,0xA700AE9F, -0xA800AEA0,0xA900AEA1,0xAA00AEA2,0xAB00AEA3,0xAC00AEA4,0xAD00AEA5,0xAE00AEA6,0xAF00AEA7,0xB000AEA8,0xB100AEA9, -0xB200AEAA,0xB300AEAB,0xB400AEAC,0xB500AEAD,0xB600AEAE,0xB700AEAF,0xB800AEB0,0xB900AEB1,0xBA00AEB2,0xBB00AEB3, -0xBC00AEB4,0xBD00AEB5,0xBE00AEB6,0xBF00AEB7,0x00251FC1,0x00251FB8,0x00251FAF,0x00251FA6,0x00251F9D,0x00251F94, -0x00251F8B,0x00251F82,0x00251F79,0x00251F70,0x00251F67,0x00251F5E,0x00251F55,0x00251F4C,0x00251F43,0x00251F3A, -0x00191E47,0x00251F31,0x00251F28,0x00251F1F,0x00251F16,0x00251F0D,0x00251F04,0x00251EFB,0x00251EF2,0x00251EE9, -0x00251EE0,0x00251ED7,0x00251ECE,0x00251EC5,0x00251EBC,0x00251EB3,0x00251EAA,0x00251EA1,0x00251E98,0x00251E8F, -0x00251E86,0x00251E7D,0x00251E74,0x00251E6B,0x00251E62,0x00251E59,0x00251E50,0x00251E47,0x00191D54,0x00251E3E, -0x00251E35,0x00251E2C,0x00251E23,0x00251E1A,0x00251E11,0x00251E08,0x00251DFF,0x00251DF6,0x00251DED,0x00251DE4, -0x00251DDB,0x00251DD2,0x00251DC9,0x00251DC0,0x00251DB7,0x00251DAE,0x00251DA5,0x00251D9C,0x8000AEF8,0x8100AEF9, -0x8200AEFA,0x8300AEFB,0x8400AEFC,0x8500AEFD,0x8600AEFE,0x8700AEFF,0x8800AF00,0x8900AF01,0x8A00AF02,0x8B00AF03, -0x8C00AF04,0x8D00AF05,0x8E00AF06,0x8F00AF07,0x9000AF08,0x9100AF09,0x9200AF0A,0x9300AF0B,0x9400AF0C,0x9500AF0D, -0x9600AF0E,0x9700AF0F,0x9800AF10,0x9900AF11,0x9A00AF12,0x9B00AF13,0x9C00AF14,0x9D00AF15,0x9E00AF16,0x9F00AF17, -0xA000AF18,0xA100AF19,0xA200AF1A,0xA300AF1B,0xA400AF1C,0xA500AF1D,0xA600AF1E,0xA700AF1F,0xA800AF20,0xA900AF21, -0xAA00AF22,0xAB00AF23,0xAC00AF24,0xAD00AF25,0xAE00AF26,0xAF00AF27,0xB000AF28,0xB100AF29,0xB200AF2A,0xB300AF2B, -0xB400AF2C,0xB500AF2D,0xB600AF2E,0xB700AF2F,0xB800AF30,0xB900AF31,0xBA00AF32,0xBB00AF33,0xBC00AF34,0xBD00AF35, -0xBE00AF36,0xBF00AF37,0x00251D93,0x00251D8A,0x00251D81,0x00251D78,0x00251D6F,0x00251D66,0x00251D5D,0x00251D54, -0x00191C61,0x00251D4B,0x00251D42,0x00251D39,0x00251D30,0x00251D27,0x00251D1E,0x00251D15,0x00251D0C,0x00251D03, -0x00251CFA,0x00251CF1,0x00251CE8,0x00251CDF,0x00251CD6,0x00251CCD,0x00251CC4,0x00251CBB,0x00251CB2,0x00251CA9, -0x00251CA0,0x00251C97,0x00251C8E,0x00251C85,0x00251C7C,0x00251C73,0x00251C6A,0x00251C61,0x00191B6E,0x00251C58, -0x00251C4F,0x00251C46,0x00251C3D,0x00251C34,0x00251C2B,0x00251C22,0x00251C19,0x00251C10,0x00251C07,0x00251BFE, -0x00251BF5,0x00251BEC,0x00251BE3,0x00251BDA,0x00251BD1,0x00251BC8,0x00251BBF,0x00251BB6,0x00251BAD,0x00251BA4, -0x00251B9B,0x00251B92,0x00251B89,0x00251B80,0x00251B77,0x00251B6E,0x8000AF78,0x8100AF79,0x8200AF7A,0x8300AF7B, -0x8400AF7C,0x8500AF7D,0x8600AF7E,0x8700AF7F,0x8800AF80,0x8900AF81,0x8A00AF82,0x8B00AF83,0x8C00AF84,0x8D00AF85, -0x8E00AF86,0x8F00AF87,0x9000AF88,0x9100AF89,0x9200AF8A,0x9300AF8B,0x9400AF8C,0x9500AF8D,0x9600AF8E,0x9700AF8F, -0x9800AF90,0x9900AF91,0x9A00AF92,0x9B00AF93,0x9C00AF94,0x9D00AF95,0x9E00AF96,0x9F00AF97,0xA000AF98,0xA100AF99, -0xA200AF9A,0xA300AF9B,0xA400AF9C,0xA500AF9D,0xA600AF9E,0xA700AF9F,0xA800AFA0,0xA900AFA1,0xAA00AFA2,0xAB00AFA3, -0xAC00AFA4,0xAD00AFA5,0xAE00AFA6,0xAF00AFA7,0xB000AFA8,0xB100AFA9,0xB200AFAA,0xB300AFAB,0xB400AFAC,0xB500AFAD, -0xB600AFAE,0xB700AFAF,0xB800AFB0,0xB900AFB1,0xBA00AFB2,0xBB00AFB3,0xBC00AFB4,0xBD00AFB5,0xBE00AFB6,0xBF00AFB7, -0x00191A7B,0x00251B65,0x00251B5C,0x00251B53,0x00251B4A,0x00251B41,0x00251B38,0x00251B2F,0x00251B26,0x00251B1D, -0x00251B14,0x00251B0B,0x00251B02,0x00251AF9,0x00251AF0,0x00251AE7,0x00251ADE,0x00251AD5,0x00251ACC,0x00251AC3, -0x00251ABA,0x00251AB1,0x00251AA8,0x00251A9F,0x00251A96,0x00251A8D,0x00251A84,0x00251A7B,0x00191988,0x00251A72, -0x00251A69,0x00251A60,0x00251A57,0x00251A4E,0x00251A45,0x00251A3C,0x00251A33,0x00251A2A,0x00251A21,0x00251A18, -0x00251A0F,0x00251A06,0x002519FD,0x002519F4,0x002519EB,0x002519E2,0x002519D9,0x002519D0,0x002519C7,0x002519BE, -0x002519B5,0x002519AC,0x002519A3,0x0025199A,0x00251991,0x00251988,0x00191895,0x0025197F,0x00251976,0x0025196D, -0x00251964,0x0025195B,0x00251952,0x00251949,0x8000AFF8,0x8100AFF9,0x8200AFFA,0x8300AFFB,0x8400AFFC,0x8500AFFD, -0x8600AFFE,0x8700AFFF,0x8800B000,0x8900B001,0x8A00B002,0x8B00B003,0x8C00B004,0x8D00B005,0x8E00B006,0x8F00B007, -0x9000B008,0x9100B009,0x9200B00A,0x9300B00B,0x9400B00C,0x9500B00D,0x9600B00E,0x9700B00F,0x9800B010,0x9900B011, -0x9A00B012,0x9B00B013,0x9C00B014,0x9D00B015,0x9E00B016,0x9F00B017,0xA000B018,0xA100B019,0xA200B01A,0xA300B01B, -0xA400B01C,0xA500B01D,0xA600B01E,0xA700B01F,0xA800B020,0xA900B021,0xAA00B022,0xAB00B023,0xAC00B024,0xAD00B025, -0xAE00B026,0xAF00B027,0xB000B028,0xB100B029,0xB200B02A,0xB300B02B,0xB400B02C,0xB500B02D,0xB600B02E,0xB700B02F, -0xB800B030,0xB900B031,0xBA00B032,0xBB00B033,0xBC00B034,0xBD00B035,0xBE00B036,0xBF00B037,0x00251940,0x00251937, -0x0025192E,0x00251925,0x0025191C,0x00251913,0x0025190A,0x00251901,0x002518F8,0x002518EF,0x002518E6,0x002518DD, -0x002518D4,0x002518CB,0x002518C2,0x002518B9,0x002518B0,0x002518A7,0x0025189E,0x00251895,0x001917A2,0x0025188C, -0x00251883,0x0025187A,0x00251871,0x00251868,0x0025185F,0x00251856,0x0025184D,0x00251844,0x0025183B,0x00251832, -0x00251829,0x00251820,0x00251817,0x0025180E,0x00251805,0x002517FC,0x002517F3,0x002517EA,0x002517E1,0x002517D8, -0x002517CF,0x002517C6,0x002517BD,0x002517B4,0x002517AB,0x002517A2,0x001916AF,0x00251799,0x00251790,0x00251787, -0x0025177E,0x00251775,0x0025176C,0x00251763,0x0025175A,0x00251751,0x00251748,0x0025173F,0x00251736,0x0025172D, -0x00251724,0x0025171B,0x8000B078,0x8100B079,0x8200B07A,0x8300B07B,0x8400B07C,0x8500B07D,0x8600B07E,0x8700B07F, -0x8800B080,0x8900B081,0x8A00B082,0x8B00B083,0x8C00B084,0x8D00B085,0x8E00B086,0x8F00B087,0x9000B088,0x9100B089, -0x9200B08A,0x9300B08B,0x9400B08C,0x9500B08D,0x9600B08E,0x9700B08F,0x9800B090,0x9900B091,0x9A00B092,0x9B00B093, -0x9C00B094,0x9D00B095,0x9E00B096,0x9F00B097,0xA000B098,0xA100B099,0xA200B09A,0xA300B09B,0xA400B09C,0xA500B09D, -0xA600B09E,0xA700B09F,0xA800B0A0,0xA900B0A1,0xAA00B0A2,0xAB00B0A3,0xAC00B0A4,0xAD00B0A5,0xAE00B0A6,0xAF00B0A7, -0xB000B0A8,0xB100B0A9,0xB200B0AA,0xB300B0AB,0xB400B0AC,0xB500B0AD,0xB600B0AE,0xB700B0AF,0xB800B0B0,0xB900B0B1, -0xBA00B0B2,0xBB00B0B3,0xBC00B0B4,0xBD00B0B5,0xBE00B0B6,0xBF00B0B7,0x00251712,0x00251709,0x00251700,0x002516F7, -0x002516EE,0x002516E5,0x002516DC,0x002516D3,0x002516CA,0x002516C1,0x002516B8,0x002516AF,0x001915BC,0x002516A6, -0x0025169D,0x00251694,0x0025168B,0x00251682,0x00251679,0x00251670,0x00251667,0x0025165E,0x00251655,0x0025164C, -0x00251643,0x0025163A,0x00251631,0x00251628,0x0025161F,0x00251616,0x0025160D,0x00251604,0x002515FB,0x002515F2, -0x002515E9,0x002515E0,0x002515D7,0x002515CE,0x002515C5,0x002515BC,0x001914D2,0x002515B3,0x002515AA,0x002515A1, -0x00251598,0x0025158F,0x00251586,0x0025157D,0x00251574,0x0025156B,0x00251562,0x00251559,0x00251550,0x00251547, -0x0025153E,0x00251535,0x002634D1,0x0025152C,0x00251523,0x0025151A,0x00251511,0x00251508,0x002514FF,0x002514F6, -0x8000B0F8,0x8100B0F9,0x8200B0FA,0x8300B0FB,0x8400B0FC,0x8500B0FD,0x8600B0FE,0x8700B0FF,0x8800B100,0x8900B101, -0x8A00B102,0x8B00B103,0x8C00B104,0x8D00B105,0x8E00B106,0x8F00B107,0x9000B108,0x9100B109,0x9200B10A,0x9300B10B, -0x9400B10C,0x9500B10D,0x9600B10E,0x9700B10F,0x9800B110,0x9900B111,0x9A00B112,0x9B00B113,0x9C00B114,0x9D00B115, -0x9E00B116,0x9F00B117,0xA000B118,0xA100B119,0xA200B11A,0xA300B11B,0xA400B11C,0xA500B11D,0xA600B11E,0xA700B11F, -0xA800B120,0xA900B121,0xAA00B122,0xAB00B123,0xAC00B124,0xAD00B125,0xAE00B126,0xAF00B127,0xB000B128,0xB100B129, -0xB200B12A,0xB300B12B,0xB400B12C,0xB500B12D,0xB600B12E,0xB700B12F,0xB800B130,0xB900B131,0xBA00B132,0xBB00B133, -0xBC00B134,0xBD00B135,0xBE00B136,0xBF00B137,0x002514ED,0x002514E4,0x002514DB,0x002514D2,0x001913DF,0x002514C9, -0x002514C0,0x002514B7,0x002514AE,0x002514A5,0x0025149C,0x00251493,0x0025148A,0x00251481,0x00251478,0x0025146F, -0x00251466,0x0025145D,0x00251454,0x0025144B,0x00251442,0x00251439,0x00251430,0x00251427,0x0025141E,0x00251415, -0x0025140C,0x00251403,0x002513FA,0x002513F1,0x002513E8,0x002513DF,0x001912EC,0x002513D6,0x002513CD,0x002513C4, -0x002513BB,0x002513B2,0x002513A9,0x002513A0,0x00251397,0x0025138E,0x00251385,0x0025137C,0x00251373,0x0025136A, -0x00251361,0x00251358,0x0025134F,0x00251346,0x0025133D,0x00251334,0x0025132B,0x00251322,0x00251319,0x00251310, -0x00251307,0x002512FE,0x002512F5,0x002512EC,0x001911F9,0x002512E3,0x002512DA,0x002512D1,0x8000B178,0x8100B179, -0x8200B17A,0x8300B17B,0x8400B17C,0x8500B17D,0x8600B17E,0x8700B17F,0x8800B180,0x8900B181,0x8A00B182,0x8B00B183, -0x8C00B184,0x8D00B185,0x8E00B186,0x8F00B187,0x9000B188,0x9100B189,0x9200B18A,0x9300B18B,0x9400B18C,0x9500B18D, -0x9600B18E,0x9700B18F,0x9800B190,0x9900B191,0x9A00B192,0x9B00B193,0x9C00B194,0x9D00B195,0x9E00B196,0x9F00B197, -0xA000B198,0xA100B199,0xA200B19A,0xA300B19B,0xA400B19C,0xA500B19D,0xA600B19E,0xA700B19F,0xA800B1A0,0xA900B1A1, -0xAA00B1A2,0xAB00B1A3,0xAC00B1A4,0xAD00B1A5,0xAE00B1A6,0xAF00B1A7,0xB000B1A8,0xB100B1A9,0xB200B1AA,0xB300B1AB, -0xB400B1AC,0xB500B1AD,0xB600B1AE,0xB700B1AF,0xB800B1B0,0xB900B1B1,0xBA00B1B2,0xBB00B1B3,0xBC00B1B4,0xBD00B1B5, -0xBE00B1B6,0xBF00B1B7,0x002512C8,0x002512BF,0x002512B6,0x002512AD,0x002512A4,0x0025129B,0x00251292,0x00251289, -0x00251280,0x00251277,0x0025126E,0x00251265,0x0025125C,0x00251253,0x0025124A,0x00251241,0x00251238,0x0025122F, -0x00251226,0x0025121D,0x00251214,0x0025120B,0x00251202,0x002511F9,0x00191106,0x002511F0,0x002511E7,0x002511DE, -0x002511D5,0x002511CC,0x002511C3,0x002511BA,0x002511B1,0x002511A8,0x0025119F,0x00251196,0x0025118D,0x00251184, -0x0025117B,0x00251172,0x00251169,0x00251160,0x00251157,0x0025114E,0x00251145,0x0025113C,0x00251133,0x0025112A, -0x00251121,0x00251118,0x0025110F,0x00251106,0x00191013,0x002510FD,0x002510F4,0x002510EB,0x002510E2,0x002510D9, -0x002510D0,0x002510C7,0x002510BE,0x002510B5,0x002510AC,0x002510A3,0x8000B1F8,0x8100B1F9,0x8200B1FA,0x8300B1FB, -0x8400B1FC,0x8500B1FD,0x8600B1FE,0x8700B1FF,0x8800B200,0x8900B201,0x8A00B202,0x8B00B203,0x8C00B204,0x8D00B205, -0x8E00B206,0x8F00B207,0x9000B208,0x9100B209,0x9200B20A,0x9300B20B,0x9400B20C,0x9500B20D,0x9600B20E,0x9700B20F, -0x9800B210,0x9900B211,0x9A00B212,0x9B00B213,0x9C00B214,0x9D00B215,0x9E00B216,0x9F00B217,0xA000B218,0xA100B219, -0xA200B21A,0xA300B21B,0xA400B21C,0xA500B21D,0xA600B21E,0xA700B21F,0xA800B220,0xA900B221,0xAA00B222,0xAB00B223, -0xAC00B224,0xAD00B225,0xAE00B226,0xAF00B227,0xB000B228,0xB100B229,0xB200B22A,0xB300B22B,0xB400B22C,0xB500B22D, -0xB600B22E,0xB700B22F,0xB800B230,0xB900B231,0xBA00B232,0xBB00B233,0xBC00B234,0xBD00B235,0xBE00B236,0xBF00B237, -0x0025109A,0x00251091,0x00251088,0x0025107F,0x00251076,0x0025106D,0x00251064,0x0025105B,0x00251052,0x00251049, -0x00251040,0x00251037,0x0025102E,0x00251025,0x0025101C,0x00251013,0x00190F20,0x0025100A,0x00251001,0x00250FF8, -0x00250FEF,0x00250FE6,0x00250FDD,0x00250FD4,0x00250FCB,0x00250FC2,0x00250FB9,0x00250FB0,0x00250FA7,0x00250F9E, -0x00250F95,0x00250F8C,0x00250F83,0x00250F7A,0x00250F71,0x00250F68,0x00250F5F,0x00250F56,0x00250F4D,0x00250F44, -0x00250F3B,0x00250F32,0x00250F29,0x00250F20,0x00190E2D,0x00250F17,0x00250F0E,0x00250F05,0x00250EFC,0x00250EF3, -0x00250EEA,0x00250EE1,0x00250ED8,0x00250ECF,0x00250EC6,0x00250EBD,0x00250EB4,0x00250EAB,0x00250EA2,0x00250E99, -0x00250E90,0x00250E87,0x00250E7E,0x00250E75,0x8000B278,0x8100B279,0x8200B27A,0x8300B27B,0x8400B27C,0x8500B27D, -0x8600B27E,0x8700B27F,0x8800B280,0x8900B281,0x8A00B282,0x8B00B283,0x8C00B284,0x8D00B285,0x8E00B286,0x8F00B287, -0x9000B288,0x9100B289,0x9200B28A,0x9300B28B,0x9400B28C,0x9500B28D,0x9600B28E,0x9700B28F,0x9800B290,0x9900B291, -0x9A00B292,0x9B00B293,0x9C00B294,0x9D00B295,0x9E00B296,0x9F00B297,0xA000B298,0xA100B299,0xA200B29A,0xA300B29B, -0xA400B29C,0xA500B29D,0xA600B29E,0xA700B29F,0xA800B2A0,0xA900B2A1,0xAA00B2A2,0xAB00B2A3,0xAC00B2A4,0xAD00B2A5, -0xAE00B2A6,0xAF00B2A7,0xB000B2A8,0xB100B2A9,0xB200B2AA,0xB300B2AB,0xB400B2AC,0xB500B2AD,0xB600B2AE,0xB700B2AF, -0xB800B2B0,0xB900B2B1,0xBA00B2B2,0xBB00B2B3,0xBC00B2B4,0xBD00B2B5,0xBE00B2B6,0xBF00B2B7,0x00250E6C,0x00250E63, -0x00250E5A,0x00250E51,0x00250E48,0x00250E3F,0x00250E36,0x00250E2D,0x00190D3A,0x00250E24,0x00250E1B,0x00250E12, -0x00250E09,0x00250E00,0x00250DF7,0x00250DEE,0x00250DE5,0x00250DDC,0x00250DD3,0x00250DCA,0x00250DC1,0x00250DB8, -0x00250DAF,0x00250DA6,0x00250D9D,0x00250D94,0x00250D8B,0x00250D82,0x00250D79,0x00250D70,0x00250D67,0x00250D5E, -0x00250D55,0x00250D4C,0x00250D43,0x00250D3A,0x00190C47,0x00250D31,0x00250D28,0x00250D1F,0x00250D16,0x00250D0D, -0x00250D04,0x00250CFB,0x00250CF2,0x00250CE9,0x00250CE0,0x00250CD7,0x00250CCE,0x00250CC5,0x00250CBC,0x00250CB3, -0x00250CAA,0x00250CA1,0x00250C98,0x00250C8F,0x00250C86,0x00250C7D,0x00250C74,0x00250C6B,0x00250C62,0x00250C59, -0x00250C50,0x00250C47,0x8000B2F8,0x8100B2F9,0x8200B2FA,0x8300B2FB,0x8400B2FC,0x8500B2FD,0x8600B2FE,0x8700B2FF, -0x8800B300,0x8900B301,0x8A00B302,0x8B00B303,0x8C00B304,0x8D00B305,0x8E00B306,0x8F00B307,0x9000B308,0x9100B309, -0x9200B30A,0x9300B30B,0x9400B30C,0x9500B30D,0x9600B30E,0x9700B30F,0x9800B310,0x9900B311,0x9A00B312,0x9B00B313, -0x9C00B314,0x9D00B315,0x9E00B316,0x9F00B317,0xA000B318,0xA100B319,0xA200B31A,0xA300B31B,0xA400B31C,0xA500B31D, -0xA600B31E,0xA700B31F,0xA800B320,0xA900B321,0xAA00B322,0xAB00B323,0xAC00B324,0xAD00B325,0xAE00B326,0xAF00B327, -0xB000B328,0xB100B329,0xB200B32A,0xB300B32B,0xB400B32C,0xB500B32D,0xB600B32E,0xB700B32F,0xB800B330,0xB900B331, -0xBA00B332,0xBB00B333,0xBC00B334,0xBD00B335,0xBE00B336,0xBF00B337,0x00190B54,0x00250C3E,0x00250C35,0x00250C2C, -0x00250C23,0x00250C1A,0x00250C11,0x00250C08,0x00250BFF,0x00250BF6,0x00250BED,0x00250BE4,0x00250BDB,0x00250BD2, -0x00250BC9,0x00250BC0,0x00250BB7,0x00250BAE,0x00250BA5,0x00250B9C,0x00250B93,0x00250B8A,0x00250B81,0x00250B78, -0x00250B6F,0x00250B66,0x00250B5D,0x00250B54,0x00190A61,0x00250B4B,0x00250B42,0x00250B39,0x00250B30,0x00250B27, -0x00250B1E,0x00250B15,0x00250B0C,0x00250B03,0x00250AFA,0x00250AF1,0x00250AE8,0x00250ADF,0x00250AD6,0x00250ACD, -0x00250AC4,0x00250ABB,0x00250AB2,0x00250AA9,0x00250AA0,0x00250A97,0x00250A8E,0x00250A85,0x00250A7C,0x00250A73, -0x00250A6A,0x00250A61,0x0019096E,0x00250A58,0x00250A4F,0x00250A46,0x00250A3D,0x00250A34,0x00250A2B,0x00250A22, -0x8000B378,0x8100B379,0x8200B37A,0x8300B37B,0x8400B37C,0x8500B37D,0x8600B37E,0x8700B37F,0x8800B380,0x8900B381, -0x8A00B382,0x8B00B383,0x8C00B384,0x8D00B385,0x8E00B386,0x8F00B387,0x9000B388,0x9100B389,0x9200B38A,0x9300B38B, -0x9400B38C,0x9500B38D,0x9600B38E,0x9700B38F,0x9800B390,0x9900B391,0x9A00B392,0x9B00B393,0x9C00B394,0x9D00B395, -0x9E00B396,0x9F00B397,0xA000B398,0xA100B399,0xA200B39A,0xA300B39B,0xA400B39C,0xA500B39D,0xA600B39E,0xA700B39F, -0xA800B3A0,0xA900B3A1,0xAA00B3A2,0xAB00B3A3,0xAC00B3A4,0xAD00B3A5,0xAE00B3A6,0xAF00B3A7,0xB000B3A8,0xB100B3A9, -0xB200B3AA,0xB300B3AB,0xB400B3AC,0xB500B3AD,0xB600B3AE,0xB700B3AF,0xB800B3B0,0xB900B3B1,0xBA00B3B2,0xBB00B3B3, -0xBC00B3B4,0xBD00B3B5,0xBE00B3B6,0xBF00B3B7,0x00250A19,0x00250A10,0x00250A07,0x002509FE,0x002509F5,0x002509EC, -0x002509E3,0x002509DA,0x002509D1,0x002509C8,0x002509BF,0x002509B6,0x002509AD,0x002509A4,0x0025099B,0x00250992, -0x00250989,0x00250980,0x00250977,0x0025096E,0x0019087B,0x00250965,0x0025095C,0x00250953,0x0025094A,0x00250941, -0x00250938,0x0025092F,0x00250926,0x0025091D,0x00250914,0x0025090B,0x00250902,0x002508F9,0x002508F0,0x002508E7, -0x002508DE,0x002508D5,0x002508CC,0x002508C3,0x002508BA,0x002508B1,0x002508A8,0x0025089F,0x00250896,0x0025088D, -0x00250884,0x0025087B,0x00190788,0x00250872,0x00250869,0x00250860,0x00250857,0x0025084E,0x00250845,0x0025083C, -0x00250833,0x0025082A,0x00250821,0x00250818,0x0025080F,0x00250806,0x002507FD,0x002507F4,0x8000B3F8,0x8100B3F9, -0x8200B3FA,0x8300B3FB,0x8400B3FC,0x8500B3FD,0x8600B3FE,0x8700B3FF,0x8800B400,0x8900B401,0x8A00B402,0x8B00B403, -0x8C00B404,0x8D00B405,0x8E00B406,0x8F00B407,0x9000B408,0x9100B409,0x9200B40A,0x9300B40B,0x9400B40C,0x9500B40D, -0x9600B40E,0x9700B40F,0x9800B410,0x9900B411,0x9A00B412,0x9B00B413,0x9C00B414,0x9D00B415,0x9E00B416,0x9F00B417, -0xA000B418,0xA100B419,0xA200B41A,0xA300B41B,0xA400B41C,0xA500B41D,0xA600B41E,0xA700B41F,0xA800B420,0xA900B421, -0xAA00B422,0xAB00B423,0xAC00B424,0xAD00B425,0xAE00B426,0xAF00B427,0xB000B428,0xB100B429,0xB200B42A,0xB300B42B, -0xB400B42C,0xB500B42D,0xB600B42E,0xB700B42F,0xB800B430,0xB900B431,0xBA00B432,0xBB00B433,0xBC00B434,0xBD00B435, -0xBE00B436,0xBF00B437,0x002507EB,0x002507E2,0x002507D9,0x002507D0,0x002507C7,0x002507BE,0x002507B5,0x002507AC, -0x002507A3,0x0025079A,0x00250791,0x00250788,0x00190695,0x0025077F,0x00250776,0x0025076D,0x00250764,0x0025075B, -0x00250752,0x00250749,0x00250740,0x00250737,0x0025072E,0x00250725,0x0025071C,0x00250713,0x0025070A,0x00250701, -0x002506F8,0x002506EF,0x002506E6,0x002506DD,0x002506D4,0x002506CB,0x002506C2,0x002506B9,0x002506B0,0x002506A7, -0x0025069E,0x00250695,0x001905A2,0x0025068C,0x00250683,0x0025067A,0x00250671,0x00250668,0x0025065F,0x00250656, -0x0025064D,0x00250644,0x0025063B,0x00250632,0x00250629,0x00250620,0x00250617,0x0025060E,0x00250605,0x002505FC, -0x002505F3,0x002505EA,0x002505E1,0x002505D8,0x002505CF,0x002505C6,0x8000B478,0x8100B479,0x8200B47A,0x8300B47B, -0x8400B47C,0x8500B47D,0x8600B47E,0x8700B47F,0x8800B480,0x8900B481,0x8A00B482,0x8B00B483,0x8C00B484,0x8D00B485, -0x8E00B486,0x8F00B487,0x9000B488,0x9100B489,0x9200B48A,0x9300B48B,0x9400B48C,0x9500B48D,0x9600B48E,0x9700B48F, -0x9800B490,0x9900B491,0x9A00B492,0x9B00B493,0x9C00B494,0x9D00B495,0x9E00B496,0x9F00B497,0xA000B498,0xA100B499, -0xA200B49A,0xA300B49B,0xA400B49C,0xA500B49D,0xA600B49E,0xA700B49F,0xA800B4A0,0xA900B4A1,0xAA00B4A2,0xAB00B4A3, -0xAC00B4A4,0xAD00B4A5,0xAE00B4A6,0xAF00B4A7,0xB000B4A8,0xB100B4A9,0xB200B4AA,0xB300B4AB,0xB400B4AC,0xB500B4AD, -0xB600B4AE,0xB700B4AF,0xB800B4B0,0xB900B4B1,0xBA00B4B2,0xBB00B4B3,0xBC00B4B4,0xBD00B4B5,0xBE00B4B6,0xBF00B4B7, -0x002505BD,0x002505B4,0x002505AB,0x002505A2,0x001904AF,0x00250599,0x00250590,0x00250587,0x0025057E,0x00250575, -0x0025056C,0x00250563,0x0025055A,0x00250551,0x00250548,0x0025053F,0x00250536,0x0025052D,0x00250524,0x0025051B, -0x00250512,0x00250509,0x00250500,0x002504F7,0x002504EE,0x002504E5,0x002504DC,0x002504D3,0x002504CA,0x002504C1, -0x002504B8,0x002504AF,0x001903BC,0x002504A6,0x0025049D,0x00250494,0x0025048B,0x00250482,0x00250479,0x00250470, -0x00250467,0x0025045E,0x00250455,0x0025044C,0x00250443,0x0025043A,0x00250431,0x00250428,0x0025041F,0x00250416, -0x0025040D,0x00250404,0x002503FB,0x002503F2,0x002503E9,0x002503E0,0x002503D7,0x002503CE,0x002503C5,0x002503BC, -0x001902C9,0x002503B3,0x002503AA,0x002503A1,0x8000B4F8,0x8100B4F9,0x8200B4FA,0x8300B4FB,0x8400B4FC,0x8500B4FD, -0x8600B4FE,0x8700B4FF,0x8800B500,0x8900B501,0x8A00B502,0x8B00B503,0x8C00B504,0x8D00B505,0x8E00B506,0x8F00B507, -0x9000B508,0x9100B509,0x9200B50A,0x9300B50B,0x9400B50C,0x9500B50D,0x9600B50E,0x9700B50F,0x9800B510,0x9900B511, -0x9A00B512,0x9B00B513,0x9C00B514,0x9D00B515,0x9E00B516,0x9F00B517,0xA000B518,0xA100B519,0xA200B51A,0xA300B51B, -0xA400B51C,0xA500B51D,0xA600B51E,0xA700B51F,0xA800B520,0xA900B521,0xAA00B522,0xAB00B523,0xAC00B524,0xAD00B525, -0xAE00B526,0xAF00B527,0xB000B528,0xB100B529,0xB200B52A,0xB300B52B,0xB400B52C,0xB500B52D,0xB600B52E,0xB700B52F, -0xB800B530,0xB900B531,0xBA00B532,0xBB00B533,0xBC00B534,0xBD00B535,0xBE00B536,0xBF00B537,0x00250398,0x0025038F, -0x00250386,0x0025037D,0x00250374,0x0025036B,0x00250362,0x00250359,0x00250350,0x00250347,0x0025033E,0x00250335, -0x0025032C,0x00250323,0x0025031A,0x00250311,0x00250308,0x002502FF,0x002502F6,0x002502ED,0x002502E4,0x002502DB, -0x002502D2,0x002502C9,0x001901D6,0x002502C0,0x002502B7,0x002502AE,0x002502A5,0x0025029C,0x00250293,0x0025028A, -0x00250281,0x00250278,0x0025026F,0x00250266,0x0025025D,0x00250254,0x0025024B,0x00250242,0x00250239,0x00250230, -0x00250227,0x0025021E,0x00250215,0x0025020C,0x00250203,0x002501FA,0x002501F1,0x002501E8,0x002501DF,0x002501D6, -0x001900E3,0x002501CD,0x002501C4,0x002501BB,0x002501B2,0x002501A9,0x002501A0,0x00250197,0x0025018E,0x00250185, -0x0025017C,0x00250173,0x8000B578,0x8100B579,0x8200B57A,0x8300B57B,0x8400B57C,0x8500B57D,0x8600B57E,0x8700B57F, -0x8800B580,0x8900B581,0x8A00B582,0x8B00B583,0x8C00B584,0x8D00B585,0x8E00B586,0x8F00B587,0x9000B588,0x9100B589, -0x9200B58A,0x9300B58B,0x9400B58C,0x9500B58D,0x9600B58E,0x9700B58F,0x9800B590,0x9900B591,0x9A00B592,0x9B00B593, -0x9C00B594,0x9D00B595,0x9E00B596,0x9F00B597,0xA000B598,0xA100B599,0xA200B59A,0xA300B59B,0xA400B59C,0xA500B59D, -0xA600B59E,0xA700B59F,0xA800B5A0,0xA900B5A1,0xAA00B5A2,0xAB00B5A3,0xAC00B5A4,0xAD00B5A5,0xAE00B5A6,0xAF00B5A7, -0xB000B5A8,0xB100B5A9,0xB200B5AA,0xB300B5AB,0xB400B5AC,0xB500B5AD,0xB600B5AE,0xB700B5AF,0xB800B5B0,0xB900B5B1, -0xBA00B5B2,0xBB00B5B3,0xBC00B5B4,0xBD00B5B5,0xBE00B5B6,0xBF00B5B7,0x0025016A,0x00250161,0x00250158,0x0025014F, -0x00250146,0x0025013D,0x00250134,0x0025012B,0x00250122,0x00250119,0x00250110,0x00250107,0x002500FE,0x002500F5, -0x002500EC,0x002500E3,0x0018FFF0,0x002500DA,0x002500D1,0x002500C8,0x002500BF,0x002500B6,0x002500AD,0x002500A4, -0x0025009B,0x00250092,0x00250089,0x00250080,0x00250077,0x0025006E,0x00250065,0x0025005C,0x00250053,0x0025004A, -0x00250041,0x00250038,0x0025002F,0x00250026,0x0025001D,0x00250014,0x0025000B,0x00250002,0x0024FFF9,0x0024FFF0, -0x0018FEFD,0x0024FFE7,0x0024FFDE,0x0024FFD5,0x0024FFCC,0x0024FFC3,0x0024FFBA,0x0024FFB1,0x0024FFA8,0x0024FF9F, -0x0024FF96,0x0024FF8D,0x0024FF84,0x0024FF7B,0x0024FF72,0x0024FF69,0x0024FF60,0x0024FF57,0x0024FF4E,0x0024FF45, -0x8000B5F8,0x8100B5F9,0x8200B5FA,0x8300B5FB,0x8400B5FC,0x8500B5FD,0x8600B5FE,0x8700B5FF,0x8800B600,0x8900B601, -0x8A00B602,0x8B00B603,0x8C00B604,0x8D00B605,0x8E00B606,0x8F00B607,0x9000B608,0x9100B609,0x9200B60A,0x9300B60B, -0x9400B60C,0x9500B60D,0x9600B60E,0x9700B60F,0x9800B610,0x9900B611,0x9A00B612,0x9B00B613,0x9C00B614,0x9D00B615, -0x9E00B616,0x9F00B617,0xA000B618,0xA100B619,0xA200B61A,0xA300B61B,0xA400B61C,0xA500B61D,0xA600B61E,0xA700B61F, -0xA800B620,0xA900B621,0xAA00B622,0xAB00B623,0xAC00B624,0xAD00B625,0xAE00B626,0xAF00B627,0xB000B628,0xB100B629, -0xB200B62A,0xB300B62B,0xB400B62C,0xB500B62D,0xB600B62E,0xB700B62F,0xB800B630,0xB900B631,0xBA00B632,0xBB00B633, -0xBC00B634,0xBD00B635,0xBE00B636,0xBF00B637,0x0024FF3C,0x0024FF33,0x0024FF2A,0x0024FF21,0x0024FF18,0x0024FF0F, -0x0024FF06,0x0024FEFD,0x0018FE0A,0x0024FEF4,0x0024FEEB,0x0024FEE2,0x0024FED9,0x0024FED0,0x0024FEC7,0x0024FEBE, -0x0024FEB5,0x0024FEAC,0x0024FEA3,0x0024FE9A,0x0024FE91,0x0024FE88,0x0024FE7F,0x0024FE76,0x0024FE6D,0x0024FE64, -0x0024FE5B,0x0024FE52,0x0024FE49,0x0024FE40,0x0024FE37,0x0024FE2E,0x0024FE25,0x0024FE1C,0x0024FE13,0x0024FE0A, -0x0018FD17,0x0024FE01,0x0024FDF8,0x0024FDEF,0x0024FDE6,0x0024FDDD,0x0024FDD4,0x0024FDCB,0x0024FDC2,0x0024FDB9, -0x0024FDB0,0x0024FDA7,0x0024FD9E,0x0024FD95,0x0024FD8C,0x0024FD83,0x0024FD7A,0x0024FD71,0x0024FD68,0x0024FD5F, -0x0024FD56,0x0024FD4D,0x0024FD44,0x0024FD3B,0x0024FD32,0x0024FD29,0x0024FD20,0x0024FD17,0x8000B678,0x8100B679, -0x8200B67A,0x8300B67B,0x8400B67C,0x8500B67D,0x8600B67E,0x8700B67F,0x8800B680,0x8900B681,0x8A00B682,0x8B00B683, -0x8C00B684,0x8D00B685,0x8E00B686,0x8F00B687,0x9000B688,0x9100B689,0x9200B68A,0x9300B68B,0x9400B68C,0x9500B68D, -0x9600B68E,0x9700B68F,0x9800B690,0x9900B691,0x9A00B692,0x9B00B693,0x9C00B694,0x9D00B695,0x9E00B696,0x9F00B697, -0xA000B698,0xA100B699,0xA200B69A,0xA300B69B,0xA400B69C,0xA500B69D,0xA600B69E,0xA700B69F,0xA800B6A0,0xA900B6A1, -0xAA00B6A2,0xAB00B6A3,0xAC00B6A4,0xAD00B6A5,0xAE00B6A6,0xAF00B6A7,0xB000B6A8,0xB100B6A9,0xB200B6AA,0xB300B6AB, -0xB400B6AC,0xB500B6AD,0xB600B6AE,0xB700B6AF,0xB800B6B0,0xB900B6B1,0xBA00B6B2,0xBB00B6B3,0xBC00B6B4,0xBD00B6B5, -0xBE00B6B6,0xBF00B6B7,0x0018FC24,0x0024FD0E,0x0024FD05,0x0024FCFC,0x0024FCF3,0x0024FCEA,0x0024FCE1,0x0024FCD8, -0x0024FCCF,0x0024FCC6,0x0024FCBD,0x0024FCB4,0x0024FCAB,0x0024FCA2,0x0024FC99,0x0024FC90,0x0024FC87,0x0024FC7E, -0x0024FC75,0x0024FC6C,0x0024FC63,0x0024FC5A,0x0024FC51,0x0024FC48,0x0024FC3F,0x0024FC36,0x0024FC2D,0x0024FC24, -0x0018FB31,0x0024FC1B,0x0024FC12,0x0024FC09,0x0024FC00,0x0024FBF7,0x0024FBEE,0x0024FBE5,0x0024FBDC,0x0024FBD3, -0x0024FBCA,0x0024FBC1,0x0024FBB8,0x0024FBAF,0x0024FBA6,0x0024FB9D,0x0024FB94,0x0024FB8B,0x0024FB82,0x0024FB79, -0x0024FB70,0x0024FB67,0x0024FB5E,0x0024FB55,0x0024FB4C,0x0024FB43,0x0024FB3A,0x0024FB31,0x0018FA3E,0x0024FB28, -0x0024FB1F,0x0024FB16,0x0024FB0D,0x0024FB04,0x0024FAFB,0x0024FAF2,0x8000B6F8,0x8100B6F9,0x8200B6FA,0x8300B6FB, -0x8400B6FC,0x8500B6FD,0x8600B6FE,0x8700B6FF,0x8800B700,0x8900B701,0x8A00B702,0x8B00B703,0x8C00B704,0x8D00B705, -0x8E00B706,0x8F00B707,0x9000B708,0x9100B709,0x9200B70A,0x9300B70B,0x9400B70C,0x9500B70D,0x9600B70E,0x9700B70F, -0x9800B710,0x9900B711,0x9A00B712,0x9B00B713,0x9C00B714,0x9D00B715,0x9E00B716,0x9F00B717,0xA000B718,0xA100B719, -0xA200B71A,0xA300B71B,0xA400B71C,0xA500B71D,0xA600B71E,0xA700B71F,0xA800B720,0xA900B721,0xAA00B722,0xAB00B723, -0xAC00B724,0xAD00B725,0xAE00B726,0xAF00B727,0xB000B728,0xB100B729,0xB200B72A,0xB300B72B,0xB400B72C,0xB500B72D, -0xB600B72E,0xB700B72F,0xB800B730,0xB900B731,0xBA00B732,0xBB00B733,0xBC00B734,0xBD00B735,0xBE00B736,0xBF00B737, -0x0024FAE9,0x0024FAE0,0x0024FAD7,0x0024FACE,0x0024FAC5,0x0024FABC,0x0024FAB3,0x0024FAAA,0x0024FAA1,0x0024FA98, -0x0024FA8F,0x0024FA86,0x0024FA7D,0x0024FA74,0x0024FA6B,0x0024FA62,0x0024FA59,0x0024FA50,0x0024FA47,0x0024FA3E, -0x0018F94B,0x0024FA35,0x0024FA2C,0x0024FA23,0x0024FA1A,0x0024FA11,0x0024FA08,0x0024F9FF,0x0024F9F6,0x0024F9ED, -0x0024F9E4,0x0024F9DB,0x0024F9D2,0x0024F9C9,0x0024F9C0,0x0024F9B7,0x0024F9AE,0x0024F9A5,0x0024F99C,0x0024F993, -0x0024F98A,0x0024F981,0x0024F978,0x0024F96F,0x0024F966,0x0024F95D,0x0024F954,0x0024F94B,0x0018F858,0x0024F942, -0x0024F939,0x0024F930,0x0024F927,0x0024F91E,0x0024F915,0x0024F90C,0x0024F903,0x0024F8FA,0x0024F8F1,0x0024F8E8, -0x0024F8DF,0x0024F8D6,0x0024F8CD,0x0024F8C4,0x8000B778,0x8100B779,0x8200B77A,0x8300B77B,0x8400B77C,0x8500B77D, -0x8600B77E,0x8700B77F,0x8800B780,0x8900B781,0x8A00B782,0x8B00B783,0x8C00B784,0x8D00B785,0x8E00B786,0x8F00B787, -0x9000B788,0x9100B789,0x9200B78A,0x9300B78B,0x9400B78C,0x9500B78D,0x9600B78E,0x9700B78F,0x9800B790,0x9900B791, -0x9A00B792,0x9B00B793,0x9C00B794,0x9D00B795,0x9E00B796,0x9F00B797,0xA000B798,0xA100B799,0xA200B79A,0xA300B79B, -0xA400B79C,0xA500B79D,0xA600B79E,0xA700B79F,0xA800B7A0,0xA900B7A1,0xAA00B7A2,0xAB00B7A3,0xAC00B7A4,0xAD00B7A5, -0xAE00B7A6,0xAF00B7A7,0xB000B7A8,0xB100B7A9,0xB200B7AA,0xB300B7AB,0xB400B7AC,0xB500B7AD,0xB600B7AE,0xB700B7AF, -0xB800B7B0,0xB900B7B1,0xBA00B7B2,0xBB00B7B3,0xBC00B7B4,0xBD00B7B5,0xBE00B7B6,0xBF00B7B7,0x0024F8BB,0x0024F8B2, -0x0024F8A9,0x0024F8A0,0x0024F897,0x0024F88E,0x0024F885,0x0024F87C,0x0024F873,0x0024F86A,0x0024F861,0x0024F858, -0x0018F765,0x0024F84F,0x0024F846,0x0024F83D,0x0024F834,0x0024F82B,0x0024F822,0x0024F819,0x0024F810,0x0024F807, -0x0024F7FE,0x0024F7F5,0x0024F7EC,0x0024F7E3,0x0024F7DA,0x0024F7D1,0x0024F7C8,0x0024F7BF,0x0024F7B6,0x0024F7AD, -0x0024F7A4,0x0024F79B,0x0024F792,0x0024F789,0x0024F780,0x0024F777,0x0024F76E,0x0024F765,0x0018F672,0x0024F75C, -0x0024F753,0x0024F74A,0x0024F741,0x0024F738,0x0024F72F,0x0024F726,0x0024F71D,0x0024F714,0x0024F70B,0x0024F702, -0x0024F6F9,0x0024F6F0,0x0024F6E7,0x0024F6DE,0x0024F6D5,0x0024F6CC,0x0024F6C3,0x0024F6BA,0x0024F6B1,0x0024F6A8, -0x0024F69F,0x0024F696,0x8000B7F8,0x8100B7F9,0x8200B7FA,0x8300B7FB,0x8400B7FC,0x8500B7FD,0x8600B7FE,0x8700B7FF, -0x8800B800,0x8900B801,0x8A00B802,0x8B00B803,0x8C00B804,0x8D00B805,0x8E00B806,0x8F00B807,0x9000B808,0x9100B809, -0x9200B80A,0x9300B80B,0x9400B80C,0x9500B80D,0x9600B80E,0x9700B80F,0x9800B810,0x9900B811,0x9A00B812,0x9B00B813, -0x9C00B814,0x9D00B815,0x9E00B816,0x9F00B817,0xA000B818,0xA100B819,0xA200B81A,0xA300B81B,0xA400B81C,0xA500B81D, -0xA600B81E,0xA700B81F,0xA800B820,0xA900B821,0xAA00B822,0xAB00B823,0xAC00B824,0xAD00B825,0xAE00B826,0xAF00B827, -0xB000B828,0xB100B829,0xB200B82A,0xB300B82B,0xB400B82C,0xB500B82D,0xB600B82E,0xB700B82F,0xB800B830,0xB900B831, -0xBA00B832,0xBB00B833,0xBC00B834,0xBD00B835,0xBE00B836,0xBF00B837,0x0024F68D,0x0024F684,0x0024F67B,0x0024F672, -0x0018F57F,0x0024F669,0x0024F660,0x0024F657,0x0024F64E,0x0024F645,0x0024F63C,0x0024F633,0x0024F62A,0x0024F621, -0x0024F618,0x0024F60F,0x0024F606,0x0024F5FD,0x0024F5F4,0x0024F5EB,0x0024F5E2,0x0024F5D9,0x0024F5D0,0x0024F5C7, -0x0024F5BE,0x0024F5B5,0x0024F5AC,0x0024F5A3,0x0024F59A,0x0024F591,0x0024F588,0x0024F57F,0x0018F48C,0x0024F576, -0x0024F56D,0x0024F564,0x0024F55B,0x0024F552,0x0024F549,0x0024F540,0x0024F537,0x0024F52E,0x0024F525,0x0024F51C, -0x0024F513,0x0024F50A,0x0024F501,0x0024F4F8,0x0024F4EF,0x0024F4E6,0x0024F4DD,0x0024F4D4,0x0024F4CB,0x0024F4C2, -0x0024F4B9,0x0024F4B0,0x0024F4A7,0x0024F49E,0x0024F495,0x0024F48C,0x0018F399,0x0024F483,0x0024F47A,0x0024F471, -0x8000B7D7,0x8100B857,0x8200B8D7,0x8300B957,0x8400B9D7,0x8500BA57,0x8600BAD7,0x8700BB57,0x8800BBD7,0x8900BC57, -0x8A00BCD7,0x8B00BD57,0x8C00BDD7,0x8D00BE57,0x8E00BED7,0x8F00BF57,0x9000BFD7,0x9100C057,0x9200C0D7,0x9300C157, -0x9400C1D7,0x9500C257,0x9600C2D7,0x9700C357,0x9800C3D7,0x9900C457,0x9A00C4D7,0x9B00C557,0x9C00C5D7,0x9D00C657, -0x9E00C6D7,0x8000B897,0x8100B898,0x8200B899,0x8300B89A,0x8400B89B,0x8500B89C,0x8600B89D,0x8700B89E,0x8800B89F, -0x8900B8A0,0x8A00B8A1,0x8B00B8A2,0x8C00B8A3,0x8D00B8A4,0x8E00B8A5,0x8F00B8A6,0x9000B8A7,0x9100B8A8,0x9200B8A9, -0x9300B8AA,0x9400B8AB,0x9500B8AC,0x9600B8AD,0x9700B8AE,0x9800B8AF,0x9900B8B0,0x9A00B8B1,0x9B00B8B2,0x9C00B8B3, -0x9D00B8B4,0x9E00B8B5,0x9F00B8B6,0xA000B8B7,0xA100B8B8,0xA200B8B9,0xA300B8BA,0xA400B8BB,0xA500B8BC,0xA600B8BD, -0xA700B8BE,0xA800B8BF,0xA900B8C0,0xAA00B8C1,0xAB00B8C2,0xAC00B8C3,0xAD00B8C4,0xAE00B8C5,0xAF00B8C6,0xB000B8C7, -0xB100B8C8,0xB200B8C9,0xB300B8CA,0xB400B8CB,0xB500B8CC,0xB600B8CD,0xB700B8CE,0xB800B8CF,0xB900B8D0,0xBA00B8D1, -0xBB00B8D2,0xBC00B8D3,0xBD00B8D4,0xBE00B8D5,0xBF00B8D6,0x0024F468,0x0024F45F,0x0024F456,0x0024F44D,0x0024F444, -0x0024F43B,0x0024F432,0x0024F429,0x0024F420,0x0024F417,0x0024F40E,0x0024F405,0x0024F3FC,0x0024F3F3,0x0024F3EA, -0x0024F3E1,0x0024F3D8,0x0024F3CF,0x0024F3C6,0x0024F3BD,0x0024F3B4,0x0024F3AB,0x0024F3A2,0x0024F399,0x0018F2A6, -0x0024F390,0x0024F387,0x0024F37E,0x0024F375,0x0024F36C,0x0024F363,0x0024F35A,0x0024F351,0x0024F348,0x0024F33F, -0x0024F336,0x0024F32D,0x0024F324,0x0024F31B,0x0024F312,0x0024F309,0x0024F300,0x0024F2F7,0x0024F2EE,0x0024F2E5, -0x0024F2DC,0x0024F2D3,0x0024F2CA,0x0024F2C1,0x0024F2B8,0x0024F2AF,0x0024F2A6,0x0018F1B3,0x0024F29D,0x0024F294, -0x0024F28B,0x0024F282,0x0024F279,0x0024F270,0x0024F267,0x0024F25E,0x0024F255,0x0024F24C,0x0024F243,0x8000B917, -0x8100B918,0x8200B919,0x8300B91A,0x8400B91B,0x8500B91C,0x8600B91D,0x8700B91E,0x8800B91F,0x8900B920,0x8A00B921, -0x8B00B922,0x8C00B923,0x8D00B924,0x8E00B925,0x8F00B926,0x9000B927,0x9100B928,0x9200B929,0x9300B92A,0x9400B92B, -0x9500B92C,0x9600B92D,0x9700B92E,0x9800B92F,0x9900B930,0x9A00B931,0x9B00B932,0x9C00B933,0x9D00B934,0x9E00B935, -0x9F00B936,0xA000B937,0xA100B938,0xA200B939,0xA300B93A,0xA400B93B,0xA500B93C,0xA600B93D,0xA700B93E,0xA800B93F, -0xA900B940,0xAA00B941,0xAB00B942,0xAC00B943,0xAD00B944,0xAE00B945,0xAF00B946,0xB000B947,0xB100B948,0xB200B949, -0xB300B94A,0xB400B94B,0xB500B94C,0xB600B94D,0xB700B94E,0xB800B94F,0xB900B950,0xBA00B951,0xBB00B952,0xBC00B953, -0xBD00B954,0xBE00B955,0xBF00B956,0x0024F23A,0x0024F231,0x0024F228,0x0024F21F,0x0024F216,0x0024F20D,0x0024F204, -0x0024F1FB,0x0024F1F2,0x0024F1E9,0x0024F1E0,0x0024F1D7,0x0024F1CE,0x0024F1C5,0x0024F1BC,0x0024F1B3,0x0018F0C0, -0x0024F1AA,0x0024F1A1,0x0024F198,0x0024F18F,0x0024F186,0x0024F17D,0x0024F174,0x0024F16B,0x0024F162,0x0024F159, -0x0024F150,0x0024F147,0x0024F13E,0x0024F135,0x0024F12C,0x0024F123,0x0024F11A,0x0024F111,0x0024F108,0x0024F0FF, -0x0024F0F6,0x0024F0ED,0x0024F0E4,0x0024F0DB,0x0024F0D2,0x0024F0C9,0x0024F0C0,0x0018EFCD,0x0024F0B7,0x0024F0AE, -0x0024F0A5,0x0024F09C,0x0024F093,0x0024F08A,0x0024F081,0x0024F078,0x0024F06F,0x0024F066,0x0024F05D,0x0024F054, -0x0024F04B,0x0024F042,0x0024F039,0x0024F030,0x0024F027,0x0024F01E,0x0024F015,0x8000B997,0x8100B998,0x8200B999, -0x8300B99A,0x8400B99B,0x8500B99C,0x8600B99D,0x8700B99E,0x8800B99F,0x8900B9A0,0x8A00B9A1,0x8B00B9A2,0x8C00B9A3, -0x8D00B9A4,0x8E00B9A5,0x8F00B9A6,0x9000B9A7,0x9100B9A8,0x9200B9A9,0x9300B9AA,0x9400B9AB,0x9500B9AC,0x9600B9AD, -0x9700B9AE,0x9800B9AF,0x9900B9B0,0x9A00B9B1,0x9B00B9B2,0x9C00B9B3,0x9D00B9B4,0x9E00B9B5,0x9F00B9B6,0xA000B9B7, -0xA100B9B8,0xA200B9B9,0xA300B9BA,0xA400B9BB,0xA500B9BC,0xA600B9BD,0xA700B9BE,0xA800B9BF,0xA900B9C0,0xAA00B9C1, -0xAB00B9C2,0xAC00B9C3,0xAD00B9C4,0xAE00B9C5,0xAF00B9C6,0xB000B9C7,0xB100B9C8,0xB200B9C9,0xB300B9CA,0xB400B9CB, -0xB500B9CC,0xB600B9CD,0xB700B9CE,0xB800B9CF,0xB900B9D0,0xBA00B9D1,0xBB00B9D2,0xBC00B9D3,0xBD00B9D4,0xBE00B9D5, -0xBF00B9D6,0x0024F00C,0x0024F003,0x0024EFFA,0x0024EFF1,0x0024EFE8,0x0024EFDF,0x0024EFD6,0x0024EFCD,0x0018EEDA, -0x0024EFC4,0x0024EFBB,0x0024EFB2,0x0024EFA9,0x0024EFA0,0x0024EF97,0x0024EF8E,0x0024EF85,0x0024EF7C,0x0024EF73, -0x0024EF6A,0x0024EF61,0x0024EF58,0x0024EF4F,0x0024EF46,0x0024EF3D,0x0024EF34,0x0024EF2B,0x0024EF22,0x0024EF19, -0x0024EF10,0x0024EF07,0x0024EEFE,0x0024EEF5,0x0024EEEC,0x0024EEE3,0x0024EEDA,0x0018EDE7,0x0024EED1,0x0024EEC8, -0x0024EEBF,0x0024EEB6,0x0024EEAD,0x0024EEA4,0x0024EE9B,0x0024EE92,0x0024EE89,0x0024EE80,0x0024EE77,0x0024EE6E, -0x0024EE65,0x0024EE5C,0x0024EE53,0x0024EE4A,0x0024EE41,0x0024EE38,0x0024EE2F,0x0024EE26,0x0024EE1D,0x0024EE14, -0x0024EE0B,0x0024EE02,0x0024EDF9,0x0024EDF0,0x0024EDE7,0x8000BA17,0x8100BA18,0x8200BA19,0x8300BA1A,0x8400BA1B, -0x8500BA1C,0x8600BA1D,0x8700BA1E,0x8800BA1F,0x8900BA20,0x8A00BA21,0x8B00BA22,0x8C00BA23,0x8D00BA24,0x8E00BA25, -0x8F00BA26,0x9000BA27,0x9100BA28,0x9200BA29,0x9300BA2A,0x9400BA2B,0x9500BA2C,0x9600BA2D,0x9700BA2E,0x9800BA2F, -0x9900BA30,0x9A00BA31,0x9B00BA32,0x9C00BA33,0x9D00BA34,0x9E00BA35,0x9F00BA36,0xA000BA37,0xA100BA38,0xA200BA39, -0xA300BA3A,0xA400BA3B,0xA500BA3C,0xA600BA3D,0xA700BA3E,0xA800BA3F,0xA900BA40,0xAA00BA41,0xAB00BA42,0xAC00BA43, -0xAD00BA44,0xAE00BA45,0xAF00BA46,0xB000BA47,0xB100BA48,0xB200BA49,0xB300BA4A,0xB400BA4B,0xB500BA4C,0xB600BA4D, -0xB700BA4E,0xB800BA4F,0xB900BA50,0xBA00BA51,0xBB00BA52,0xBC00BA53,0xBD00BA54,0xBE00BA55,0xBF00BA56,0x0018ECF4, -0x0024EDDE,0x0024EDD5,0x0024EDCC,0x0024EDC3,0x0024EDBA,0x0024EDB1,0x0024EDA8,0x0024ED9F,0x0024ED96,0x0024ED8D, -0x0024ED84,0x0024ED7B,0x0024ED72,0x0024ED69,0x0024ED60,0x0024ED57,0x0024ED4E,0x0024ED45,0x0024ED3C,0x0024ED33, -0x0024ED2A,0x0024ED21,0x0024ED18,0x0024ED0F,0x0024ED06,0x0024ECFD,0x0024ECF4,0x0018EC01,0x0024ECEB,0x0024ECE2, -0x0024ECD9,0x0024ECD0,0x0024ECC7,0x0024ECBE,0x0024ECB5,0x0024ECAC,0x0024ECA3,0x0024EC9A,0x0024EC91,0x0024EC88, -0x0024EC7F,0x0024EC76,0x0024EC6D,0x0024EC64,0x0024EC5B,0x0024EC52,0x0024EC49,0x0024EC40,0x0024EC37,0x0024EC2E, -0x0024EC25,0x0024EC1C,0x0024EC13,0x0024EC0A,0x0024EC01,0x0018EB0E,0x0024EBF8,0x0024EBEF,0x0024EBE6,0x0024EBDD, -0x0024EBD4,0x0024EBCB,0x0024EBC2,0x8000BA97,0x8100BA98,0x8200BA99,0x8300BA9A,0x8400BA9B,0x8500BA9C,0x8600BA9D, -0x8700BA9E,0x8800BA9F,0x8900BAA0,0x8A00BAA1,0x8B00BAA2,0x8C00BAA3,0x8D00BAA4,0x8E00BAA5,0x8F00BAA6,0x9000BAA7, -0x9100BAA8,0x9200BAA9,0x9300BAAA,0x9400BAAB,0x9500BAAC,0x9600BAAD,0x9700BAAE,0x9800BAAF,0x9900BAB0,0x9A00BAB1, -0x9B00BAB2,0x9C00BAB3,0x9D00BAB4,0x9E00BAB5,0x9F00BAB6,0xA000BAB7,0xA100BAB8,0xA200BAB9,0xA300BABA,0xA400BABB, -0xA500BABC,0xA600BABD,0xA700BABE,0xA800BABF,0xA900BAC0,0xAA00BAC1,0xAB00BAC2,0xAC00BAC3,0xAD00BAC4,0xAE00BAC5, -0xAF00BAC6,0xB000BAC7,0xB100BAC8,0xB200BAC9,0xB300BACA,0xB400BACB,0xB500BACC,0xB600BACD,0xB700BACE,0xB800BACF, -0xB900BAD0,0xBA00BAD1,0xBB00BAD2,0xBC00BAD3,0xBD00BAD4,0xBE00BAD5,0xBF00BAD6,0x0024EBB9,0x0024EBB0,0x0024EBA7, -0x0024EB9E,0x0024EB95,0x0024EB8C,0x0024EB83,0x0024EB7A,0x0024EB71,0x0024EB68,0x0024EB5F,0x0024EB56,0x0024EB4D, -0x0024EB44,0x0024EB3B,0x0024EB32,0x0024EB29,0x0024EB20,0x0024EB17,0x0024EB0E,0x0018EA1B,0x0024EB05,0x0024EAFC, -0x0024EAF3,0x0024EAEA,0x0024EAE1,0x0024EAD8,0x0024EACF,0x0024EAC6,0x0024EABD,0x0024EAB4,0x0024EAAB,0x0024EAA2, -0x0024EA99,0x0024EA90,0x0024EA87,0x0024EA7E,0x0024EA75,0x0024EA6C,0x0024EA63,0x0024EA5A,0x0024EA51,0x0024EA48, -0x0024EA3F,0x0024EA36,0x0024EA2D,0x0024EA24,0x0024EA1B,0x0018E928,0x0024EA12,0x0024EA09,0x0024EA00,0x0024E9F7, -0x0024E9EE,0x0024E9E5,0x0024E9DC,0x0024E9D3,0x0024E9CA,0x0024E9C1,0x0024E9B8,0x0024E9AF,0x0024E9A6,0x0024E99D, -0x0024E994,0x8000BB17,0x8100BB18,0x8200BB19,0x8300BB1A,0x8400BB1B,0x8500BB1C,0x8600BB1D,0x8700BB1E,0x8800BB1F, -0x8900BB20,0x8A00BB21,0x8B00BB22,0x8C00BB23,0x8D00BB24,0x8E00BB25,0x8F00BB26,0x9000BB27,0x9100BB28,0x9200BB29, -0x9300BB2A,0x9400BB2B,0x9500BB2C,0x9600BB2D,0x9700BB2E,0x9800BB2F,0x9900BB30,0x9A00BB31,0x9B00BB32,0x9C00BB33, -0x9D00BB34,0x9E00BB35,0x9F00BB36,0xA000BB37,0xA100BB38,0xA200BB39,0xA300BB3A,0xA400BB3B,0xA500BB3C,0xA600BB3D, -0xA700BB3E,0xA800BB3F,0xA900BB40,0xAA00BB41,0xAB00BB42,0xAC00BB43,0xAD00BB44,0xAE00BB45,0xAF00BB46,0xB000BB47, -0xB100BB48,0xB200BB49,0xB300BB4A,0xB400BB4B,0xB500BB4C,0xB600BB4D,0xB700BB4E,0xB800BB4F,0xB900BB50,0xBA00BB51, -0xBB00BB52,0xBC00BB53,0xBD00BB54,0xBE00BB55,0xBF00BB56,0x0024E98B,0x0024E982,0x0024E979,0x0024E970,0x0024E967, -0x0024E95E,0x0024E955,0x0024E94C,0x0024E943,0x0024E93A,0x0024E931,0x0024E928,0x0018E835,0x0024E91F,0x0024E916, -0x0024E90D,0x0024E904,0x0024E8FB,0x0024E8F2,0x0024E8E9,0x0024E8E0,0x0024E8D7,0x0024E8CE,0x0024E8C5,0x0024E8BC, -0x0024E8B3,0x0024E8AA,0x0024E8A1,0x0024E898,0x0024E88F,0x0024E886,0x0024E87D,0x0024E874,0x0024E86B,0x0024E862, -0x0024E859,0x0024E850,0x0024E847,0x0024E83E,0x0024E835,0x0018E742,0x0024E82C,0x0024E823,0x0024E81A,0x0024E811, -0x0024E808,0x0024E7FF,0x0024E7F6,0x0024E7ED,0x0024E7E4,0x0024E7DB,0x0024E7D2,0x0024E7C9,0x0024E7C0,0x0024E7B7, -0x0024E7AE,0x0024E7A5,0x0024E79C,0x0024E793,0x0024E78A,0x0024E781,0x0024E778,0x0024E76F,0x0024E766,0x8000BB97, -0x8100BB98,0x8200BB99,0x8300BB9A,0x8400BB9B,0x8500BB9C,0x8600BB9D,0x8700BB9E,0x8800BB9F,0x8900BBA0,0x8A00BBA1, -0x8B00BBA2,0x8C00BBA3,0x8D00BBA4,0x8E00BBA5,0x8F00BBA6,0x9000BBA7,0x9100BBA8,0x9200BBA9,0x9300BBAA,0x9400BBAB, -0x9500BBAC,0x9600BBAD,0x9700BBAE,0x9800BBAF,0x9900BBB0,0x9A00BBB1,0x9B00BBB2,0x9C00BBB3,0x9D00BBB4,0x9E00BBB5, -0x9F00BBB6,0xA000BBB7,0xA100BBB8,0xA200BBB9,0xA300BBBA,0xA400BBBB,0xA500BBBC,0xA600BBBD,0xA700BBBE,0xA800BBBF, -0xA900BBC0,0xAA00BBC1,0xAB00BBC2,0xAC00BBC3,0xAD00BBC4,0xAE00BBC5,0xAF00BBC6,0xB000BBC7,0xB100BBC8,0xB200BBC9, -0xB300BBCA,0xB400BBCB,0xB500BBCC,0xB600BBCD,0xB700BBCE,0xB800BBCF,0xB900BBD0,0xBA00BBD1,0xBB00BBD2,0xBC00BBD3, -0xBD00BBD4,0xBE00BBD5,0xBF00BBD6,0x0024E75D,0x0024E754,0x0024E74B,0x0024E742,0x0018E64F,0x0024E739,0x0024E730, -0x0024E727,0x0024E71E,0x0024E715,0x0024E70C,0x0024E703,0x0024E6FA,0x0024E6F1,0x0024E6E8,0x0024E6DF,0x0024E6D6, -0x0024E6CD,0x0024E6C4,0x0024E6BB,0x0024E6B2,0x0024E6A9,0x0024E6A0,0x0024E697,0x0024E68E,0x0024E685,0x0024E67C, -0x0024E673,0x0024E66A,0x0024E661,0x0024E658,0x0024E64F,0x0018E55C,0x0024E646,0x0024E63D,0x0024E634,0x0024E62B, -0x0024E622,0x0024E619,0x0024E610,0x0024E607,0x0024E5FE,0x0024E5F5,0x0024E5EC,0x0024E5E3,0x0024E5DA,0x0024E5D1, -0x0024E5C8,0x0024E5BF,0x0024E5B6,0x0024E5AD,0x0024E5A4,0x0024E59B,0x0024E592,0x0024E589,0x0024E580,0x0024E577, -0x0024E56E,0x0024E565,0x0024E55C,0x0018E469,0x0024E553,0x0024E54A,0x0024E541,0x8000BC17,0x8100BC18,0x8200BC19, -0x8300BC1A,0x8400BC1B,0x8500BC1C,0x8600BC1D,0x8700BC1E,0x8800BC1F,0x8900BC20,0x8A00BC21,0x8B00BC22,0x8C00BC23, -0x8D00BC24,0x8E00BC25,0x8F00BC26,0x9000BC27,0x9100BC28,0x9200BC29,0x9300BC2A,0x9400BC2B,0x9500BC2C,0x9600BC2D, -0x9700BC2E,0x9800BC2F,0x9900BC30,0x9A00BC31,0x9B00BC32,0x9C00BC33,0x9D00BC34,0x9E00BC35,0x9F00BC36,0xA000BC37, -0xA100BC38,0xA200BC39,0xA300BC3A,0xA400BC3B,0xA500BC3C,0xA600BC3D,0xA700BC3E,0xA800BC3F,0xA900BC40,0xAA00BC41, -0xAB00BC42,0xAC00BC43,0xAD00BC44,0xAE00BC45,0xAF00BC46,0xB000BC47,0xB100BC48,0xB200BC49,0xB300BC4A,0xB400BC4B, -0xB500BC4C,0xB600BC4D,0xB700BC4E,0xB800BC4F,0xB900BC50,0xBA00BC51,0xBB00BC52,0xBC00BC53,0xBD00BC54,0xBE00BC55, -0xBF00BC56,0x0024E538,0x0024E52F,0x0024E526,0x0024E51D,0x0024E514,0x0024E50B,0x0024E502,0x0024E4F9,0x0024E4F0, -0x0024E4E7,0x0024E4DE,0x0024E4D5,0x0024E4CC,0x0024E4C3,0x0024E4BA,0x0024E4B1,0x0024E4A8,0x0024E49F,0x0024E496, -0x0024E48D,0x0024E484,0x0024E47B,0x0024E472,0x0024E469,0x0018E376,0x0024E460,0x0024E457,0x0024E44E,0x0024E445, -0x0024E43C,0x0024E433,0x0024E42A,0x0024E421,0x0024E418,0x0024E40F,0x0024E406,0x0024E3FD,0x0024E3F4,0x0024E3EB, -0x0024E3E2,0x0024E3D9,0x0024E3D0,0x0024E3C7,0x0024E3BE,0x0024E3B5,0x0024E3AC,0x0024E3A3,0x0024E39A,0x0024E391, -0x0024E388,0x0024E37F,0x0024E376,0x0018E283,0x0024E36D,0x0024E364,0x0024E35B,0x0024E352,0x0024E349,0x0024E340, -0x0024E337,0x0024E32E,0x0024E325,0x0024E31C,0x0024E313,0x8000BC97,0x8100BC98,0x8200BC99,0x8300BC9A,0x8400BC9B, -0x8500BC9C,0x8600BC9D,0x8700BC9E,0x8800BC9F,0x8900BCA0,0x8A00BCA1,0x8B00BCA2,0x8C00BCA3,0x8D00BCA4,0x8E00BCA5, -0x8F00BCA6,0x9000BCA7,0x9100BCA8,0x9200BCA9,0x9300BCAA,0x9400BCAB,0x9500BCAC,0x9600BCAD,0x9700BCAE,0x9800BCAF, -0x9900BCB0,0x9A00BCB1,0x9B00BCB2,0x9C00BCB3,0x9D00BCB4,0x9E00BCB5,0x9F00BCB6,0xA000BCB7,0xA100BCB8,0xA200BCB9, -0xA300BCBA,0xA400BCBB,0xA500BCBC,0xA600BCBD,0xA700BCBE,0xA800BCBF,0xA900BCC0,0xAA00BCC1,0xAB00BCC2,0xAC00BCC3, -0xAD00BCC4,0xAE00BCC5,0xAF00BCC6,0xB000BCC7,0xB100BCC8,0xB200BCC9,0xB300BCCA,0xB400BCCB,0xB500BCCC,0xB600BCCD, -0xB700BCCE,0xB800BCCF,0xB900BCD0,0xBA00BCD1,0xBB00BCD2,0xBC00BCD3,0xBD00BCD4,0xBE00BCD5,0xBF00BCD6,0x0024E30A, -0x0024E301,0x0024E2F8,0x0024E2EF,0x0024E2E6,0x0024E2DD,0x0024E2D4,0x0024E2CB,0x0024E2C2,0x0024E2B9,0x0024E2B0, -0x0024E2A7,0x0024E29E,0x0024E295,0x0024E28C,0x0024E283,0x0018E190,0x0024E27A,0x0024E271,0x0024E268,0x0024E25F, -0x0024E256,0x0024E24D,0x0024E244,0x0024E23B,0x0024E232,0x0024E229,0x0024E220,0x0024E217,0x0024E20E,0x0024E205, -0x0024E1FC,0x0024E1F3,0x0024E1EA,0x0024E1E1,0x0024E1D8,0x0024E1CF,0x0024E1C6,0x0024E1BD,0x0024E1B4,0x0024E1AB, -0x0024E1A2,0x0024E199,0x0024E190,0x0018E09D,0x0024E187,0x0024E17E,0x0024E175,0x0024E16C,0x0024E163,0x0024E15A, -0x0024E151,0x0024E148,0x0024E13F,0x0024E136,0x0024E12D,0x0024E124,0x0024E11B,0x0024E112,0x0024E109,0x0024E100, -0x0024E0F7,0x0024E0EE,0x0024E0E5,0x8000BD17,0x8100BD18,0x8200BD19,0x8300BD1A,0x8400BD1B,0x8500BD1C,0x8600BD1D, -0x8700BD1E,0x8800BD1F,0x8900BD20,0x8A00BD21,0x8B00BD22,0x8C00BD23,0x8D00BD24,0x8E00BD25,0x8F00BD26,0x9000BD27, -0x9100BD28,0x9200BD29,0x9300BD2A,0x9400BD2B,0x9500BD2C,0x9600BD2D,0x9700BD2E,0x9800BD2F,0x9900BD30,0x9A00BD31, -0x9B00BD32,0x9C00BD33,0x9D00BD34,0x9E00BD35,0x9F00BD36,0xA000BD37,0xA100BD38,0xA200BD39,0xA300BD3A,0xA400BD3B, -0xA500BD3C,0xA600BD3D,0xA700BD3E,0xA800BD3F,0xA900BD40,0xAA00BD41,0xAB00BD42,0xAC00BD43,0xAD00BD44,0xAE00BD45, -0xAF00BD46,0xB000BD47,0xB100BD48,0xB200BD49,0xB300BD4A,0xB400BD4B,0xB500BD4C,0xB600BD4D,0xB700BD4E,0xB800BD4F, -0xB900BD50,0xBA00BD51,0xBB00BD52,0xBC00BD53,0xBD00BD54,0xBE00BD55,0xBF00BD56,0x0024E0DC,0x0024E0D3,0x0024E0CA, -0x0024E0C1,0x0024E0B8,0x0024E0AF,0x0024E0A6,0x0024E09D,0x0018DFAA,0x0024E094,0x0024E08B,0x0024E082,0x0024E079, -0x0024E070,0x0024E067,0x0024E05E,0x0024E055,0x0024E04C,0x0024E043,0x0024E03A,0x0024E031,0x0024E028,0x0024E01F, -0x0024E016,0x0024E00D,0x0024E004,0x0024DFFB,0x0024DFF2,0x0024DFE9,0x0024DFE0,0x0024DFD7,0x0024DFCE,0x0024DFC5, -0x0024DFBC,0x0024DFB3,0x0024DFAA,0x0018DEB7,0x0024DFA1,0x0024DF98,0x0024DF8F,0x0024DF86,0x0024DF7D,0x0024DF74, -0x0024DF6B,0x0024DF62,0x0024DF59,0x0024DF50,0x0024DF47,0x0024DF3E,0x0024DF35,0x0024DF2C,0x0024DF23,0x0024DF1A, -0x0024DF11,0x0024DF08,0x0024DEFF,0x0024DEF6,0x0024DEED,0x0024DEE4,0x0024DEDB,0x0024DED2,0x0024DEC9,0x0024DEC0, -0x0024DEB7,0x8000BD97,0x8100BD98,0x8200BD99,0x8300BD9A,0x8400BD9B,0x8500BD9C,0x8600BD9D,0x8700BD9E,0x8800BD9F, -0x8900BDA0,0x8A00BDA1,0x8B00BDA2,0x8C00BDA3,0x8D00BDA4,0x8E00BDA5,0x8F00BDA6,0x9000BDA7,0x9100BDA8,0x9200BDA9, -0x9300BDAA,0x9400BDAB,0x9500BDAC,0x9600BDAD,0x9700BDAE,0x9800BDAF,0x9900BDB0,0x9A00BDB1,0x9B00BDB2,0x9C00BDB3, -0x9D00BDB4,0x9E00BDB5,0x9F00BDB6,0xA000BDB7,0xA100BDB8,0xA200BDB9,0xA300BDBA,0xA400BDBB,0xA500BDBC,0xA600BDBD, -0xA700BDBE,0xA800BDBF,0xA900BDC0,0xAA00BDC1,0xAB00BDC2,0xAC00BDC3,0xAD00BDC4,0xAE00BDC5,0xAF00BDC6,0xB000BDC7, -0xB100BDC8,0xB200BDC9,0xB300BDCA,0xB400BDCB,0xB500BDCC,0xB600BDCD,0xB700BDCE,0xB800BDCF,0xB900BDD0,0xBA00BDD1, -0xBB00BDD2,0xBC00BDD3,0xBD00BDD4,0xBE00BDD5,0xBF00BDD6,0x0018DDC4,0x0024DEAE,0x0024DEA5,0x0024DE9C,0x0024DE93, -0x0024DE8A,0x0024DE81,0x0024DE78,0x0024DE6F,0x0024DE66,0x0024DE5D,0x0024DE54,0x0024DE4B,0x0024DE42,0x0024DE39, -0x0024DE30,0x0024DE27,0x0024DE1E,0x0024DE15,0x0024DE0C,0x0024DE03,0x0024DDFA,0x0024DDF1,0x0024DDE8,0x0024DDDF, -0x0024DDD6,0x0024DDCD,0x0024DDC4,0x0018DCD1,0x0024DDBB,0x0024DDB2,0x0024DDA9,0x0024DDA0,0x0024DD97,0x0024DD8E, -0x0024DD85,0x0024DD7C,0x0024DD73,0x0024DD6A,0x0024DD61,0x0024DD58,0x0024DD4F,0x0024DD46,0x0024DD3D,0x0024DD34, -0x0024DD2B,0x0024DD22,0x0024DD19,0x0024DD10,0x0024DD07,0x0024DCFE,0x0024DCF5,0x0024DCEC,0x0024DCE3,0x0024DCDA, -0x0024DCD1,0x0018DBDE,0x0024DCC8,0x0024DCBF,0x0024DCB6,0x0024DCAD,0x0024DCA4,0x0024DC9B,0x0024DC92,0x8000BE17, -0x8100BE18,0x8200BE19,0x8300BE1A,0x8400BE1B,0x8500BE1C,0x8600BE1D,0x8700BE1E,0x8800BE1F,0x8900BE20,0x8A00BE21, -0x8B00BE22,0x8C00BE23,0x8D00BE24,0x8E00BE25,0x8F00BE26,0x9000BE27,0x9100BE28,0x9200BE29,0x9300BE2A,0x9400BE2B, -0x9500BE2C,0x9600BE2D,0x9700BE2E,0x9800BE2F,0x9900BE30,0x9A00BE31,0x9B00BE32,0x9C00BE33,0x9D00BE34,0x9E00BE35, -0x9F00BE36,0xA000BE37,0xA100BE38,0xA200BE39,0xA300BE3A,0xA400BE3B,0xA500BE3C,0xA600BE3D,0xA700BE3E,0xA800BE3F, -0xA900BE40,0xAA00BE41,0xAB00BE42,0xAC00BE43,0xAD00BE44,0xAE00BE45,0xAF00BE46,0xB000BE47,0xB100BE48,0xB200BE49, -0xB300BE4A,0xB400BE4B,0xB500BE4C,0xB600BE4D,0xB700BE4E,0xB800BE4F,0xB900BE50,0xBA00BE51,0xBB00BE52,0xBC00BE53, -0xBD00BE54,0xBE00BE55,0xBF00BE56,0x0024DC89,0x0024DC80,0x0024DC77,0x0024DC6E,0x0024DC65,0x0024DC5C,0x0024DC53, -0x0024DC4A,0x0024DC41,0x0024DC38,0x0024DC2F,0x0024DC26,0x0024DC1D,0x0024DC14,0x0024DC0B,0x0024DC02,0x0024DBF9, -0x0024DBF0,0x0024DBE7,0x0024DBDE,0x0018DAEB,0x0024DBD5,0x0024DBCC,0x0024DBC3,0x0024DBBA,0x0024DBB1,0x0024DBA8, -0x0024DB9F,0x0024DB96,0x0024DB8D,0x0024DB84,0x0024DB7B,0x0024DB72,0x0024DB69,0x0024DB60,0x0024DB57,0x0024DB4E, -0x0024DB45,0x0024DB3C,0x0024DB33,0x0024DB2A,0x0024DB21,0x0024DB18,0x0024DB0F,0x0024DB06,0x0024DAFD,0x0024DAF4, -0x0024DAEB,0x0018D9F8,0x0024DAE2,0x0024DAD9,0x0024DAD0,0x0024DAC7,0x0024DABE,0x0024DAB5,0x0024DAAC,0x0024DAA3, -0x0024DA9A,0x0024DA91,0x0024DA88,0x0024DA7F,0x0024DA76,0x0024DA6D,0x0024DA64,0x8000BE97,0x8100BE98,0x8200BE99, -0x8300BE9A,0x8400BE9B,0x8500BE9C,0x8600BE9D,0x8700BE9E,0x8800BE9F,0x8900BEA0,0x8A00BEA1,0x8B00BEA2,0x8C00BEA3, -0x8D00BEA4,0x8E00BEA5,0x8F00BEA6,0x9000BEA7,0x9100BEA8,0x9200BEA9,0x9300BEAA,0x9400BEAB,0x9500BEAC,0x9600BEAD, -0x9700BEAE,0x9800BEAF,0x9900BEB0,0x9A00BEB1,0x9B00BEB2,0x9C00BEB3,0x9D00BEB4,0x9E00BEB5,0x9F00BEB6,0xA000BEB7, -0xA100BEB8,0xA200BEB9,0xA300BEBA,0xA400BEBB,0xA500BEBC,0xA600BEBD,0xA700BEBE,0xA800BEBF,0xA900BEC0,0xAA00BEC1, -0xAB00BEC2,0xAC00BEC3,0xAD00BEC4,0xAE00BEC5,0xAF00BEC6,0xB000BEC7,0xB100BEC8,0xB200BEC9,0xB300BECA,0xB400BECB, -0xB500BECC,0xB600BECD,0xB700BECE,0xB800BECF,0xB900BED0,0xBA00BED1,0xBB00BED2,0xBC00BED3,0xBD00BED4,0xBE00BED5, -0xBF00BED6,0x0024DA5B,0x0024DA52,0x0024DA49,0x0024DA40,0x0024DA37,0x0024DA2E,0x0024DA25,0x0024DA1C,0x0024DA13, -0x0024DA0A,0x0024DA01,0x0024D9F8,0x0018D905,0x0024D9EF,0x0024D9E6,0x0024D9DD,0x0024D9D4,0x0024D9CB,0x0024D9C2, -0x0024D9B9,0x0024D9B0,0x0024D9A7,0x0024D99E,0x0024D995,0x0024D98C,0x0024D983,0x0024D97A,0x0024D971,0x0024D968, -0x0024D95F,0x0024D956,0x0024D94D,0x0024D944,0x0024D93B,0x0024D932,0x0024D929,0x0024D920,0x0024D917,0x0024D90E, -0x0024D905,0x0018D812,0x0024D8FC,0x0024D8F3,0x0024D8EA,0x0024D8E1,0x0024D8D8,0x0024D8CF,0x0024D8C6,0x0024D8BD, -0x0024D8B4,0x0024D8AB,0x0024D8A2,0x0024D899,0x0024D890,0x0024D887,0x0024D87E,0x0024D875,0x0024D86C,0x0024D863, -0x0024D85A,0x0024D851,0x0024D848,0x0024D83F,0x0024D836,0x8000BF17,0x8100BF18,0x8200BF19,0x8300BF1A,0x8400BF1B, -0x8500BF1C,0x8600BF1D,0x8700BF1E,0x8800BF1F,0x8900BF20,0x8A00BF21,0x8B00BF22,0x8C00BF23,0x8D00BF24,0x8E00BF25, -0x8F00BF26,0x9000BF27,0x9100BF28,0x9200BF29,0x9300BF2A,0x9400BF2B,0x9500BF2C,0x9600BF2D,0x9700BF2E,0x9800BF2F, -0x9900BF30,0x9A00BF31,0x9B00BF32,0x9C00BF33,0x9D00BF34,0x9E00BF35,0x9F00BF36,0xA000BF37,0xA100BF38,0xA200BF39, -0xA300BF3A,0xA400BF3B,0xA500BF3C,0xA600BF3D,0xA700BF3E,0xA800BF3F,0xA900BF40,0xAA00BF41,0xAB00BF42,0xAC00BF43, -0xAD00BF44,0xAE00BF45,0xAF00BF46,0xB000BF47,0xB100BF48,0xB200BF49,0xB300BF4A,0xB400BF4B,0xB500BF4C,0xB600BF4D, -0xB700BF4E,0xB800BF4F,0xB900BF50,0xBA00BF51,0xBB00BF52,0xBC00BF53,0xBD00BF54,0xBE00BF55,0xBF00BF56,0x0024D82D, -0x0024D824,0x0024D81B,0x0024D812,0x0018D71F,0x0024D809,0x0024D800,0x0024D7F7,0x0024D7EE,0x0024D7E5,0x0024D7DC, -0x0024D7D3,0x0024D7CA,0x0024D7C1,0x0024D7B8,0x0024D7AF,0x0024D7A6,0x0024D79D,0x0024D794,0x0024D78B,0x0024D782, -0x0024D779,0x0024D770,0x0024D767,0x0024D75E,0x0024D755,0x0024D74C,0x0024D743,0x0024D73A,0x0024D731,0x0024D728, -0x0024D71F,0x0018D62C,0x0024D716,0x0024D70D,0x0024D704,0x0024D6FB,0x0024D6F2,0x0024D6E9,0x0024D6E0,0x0024D6D7, -0x0024D6CE,0x0024D6C5,0x0024D6BC,0x0024D6B3,0x0024D6AA,0x0024D6A1,0x0024D698,0x0024D68F,0x0024D686,0x0024D67D, -0x0024D674,0x0024D66B,0x0024D662,0x0024D659,0x0024D650,0x0024D647,0x0024D63E,0x0024D635,0x0024D62C,0x0018D539, -0x0024D623,0x0024D61A,0x0024D611,0x8000BF97,0x8100BF98,0x8200BF99,0x8300BF9A,0x8400BF9B,0x8500BF9C,0x8600BF9D, -0x8700BF9E,0x8800BF9F,0x8900BFA0,0x8A00BFA1,0x8B00BFA2,0x8C00BFA3,0x8D00BFA4,0x8E00BFA5,0x8F00BFA6,0x9000BFA7, -0x9100BFA8,0x9200BFA9,0x9300BFAA,0x9400BFAB,0x9500BFAC,0x9600BFAD,0x9700BFAE,0x9800BFAF,0x9900BFB0,0x9A00BFB1, -0x9B00BFB2,0x9C00BFB3,0x9D00BFB4,0x9E00BFB5,0x9F00BFB6,0xA000BFB7,0xA100BFB8,0xA200BFB9,0xA300BFBA,0xA400BFBB, -0xA500BFBC,0xA600BFBD,0xA700BFBE,0xA800BFBF,0xA900BFC0,0xAA00BFC1,0xAB00BFC2,0xAC00BFC3,0xAD00BFC4,0xAE00BFC5, -0xAF00BFC6,0xB000BFC7,0xB100BFC8,0xB200BFC9,0xB300BFCA,0xB400BFCB,0xB500BFCC,0xB600BFCD,0xB700BFCE,0xB800BFCF, -0xB900BFD0,0xBA00BFD1,0xBB00BFD2,0xBC00BFD3,0xBD00BFD4,0xBE00BFD5,0xBF00BFD6,0x0024D608,0x0024D5FF,0x0024D5F6, -0x0024D5ED,0x0024D5E4,0x0024D5DB,0x0024D5D2,0x0024D5C9,0x0024D5C0,0x0024D5B7,0x0024D5AE,0x0024D5A5,0x0024D59C, -0x0024D593,0x0024D58A,0x0024D581,0x0024D578,0x0024D56F,0x0024D566,0x0024D55D,0x0024D554,0x0024D54B,0x0024D542, -0x0024D539,0x0018D446,0x0024D530,0x0024D527,0x0024D51E,0x0024D515,0x0024D50C,0x0024D503,0x0024D4FA,0x0024D4F1, -0x0024D4E8,0x0024D4DF,0x0024D4D6,0x0024D4CD,0x0024D4C4,0x0024D4BB,0x0024D4B2,0x0024D4A9,0x0024D4A0,0x0024D497, -0x0024D48E,0x0024D485,0x0024D47C,0x0024D473,0x0024D46A,0x0024D461,0x0024D458,0x0024D44F,0x0024D446,0x0018D353, -0x0024D43D,0x0024D434,0x0024D42B,0x0024D422,0x0024D419,0x0024D410,0x0024D407,0x0024D3FE,0x0024D3F5,0x0024D3EC, -0x0024D3E3,0x8000C017,0x8100C018,0x8200C019,0x8300C01A,0x8400C01B,0x8500C01C,0x8600C01D,0x8700C01E,0x8800C01F, -0x8900C020,0x8A00C021,0x8B00C022,0x8C00C023,0x8D00C024,0x8E00C025,0x8F00C026,0x9000C027,0x9100C028,0x9200C029, -0x9300C02A,0x9400C02B,0x9500C02C,0x9600C02D,0x9700C02E,0x9800C02F,0x9900C030,0x9A00C031,0x9B00C032,0x9C00C033, -0x9D00C034,0x9E00C035,0x9F00C036,0xA000C037,0xA100C038,0xA200C039,0xA300C03A,0xA400C03B,0xA500C03C,0xA600C03D, -0xA700C03E,0xA800C03F,0xA900C040,0xAA00C041,0xAB00C042,0xAC00C043,0xAD00C044,0xAE00C045,0xAF00C046,0xB000C047, -0xB100C048,0xB200C049,0xB300C04A,0xB400C04B,0xB500C04C,0xB600C04D,0xB700C04E,0xB800C04F,0xB900C050,0xBA00C051, -0xBB00C052,0xBC00C053,0xBD00C054,0xBE00C055,0xBF00C056,0x0024D3DA,0x0024D3D1,0x0024D3C8,0x0024D3BF,0x0024D3B6, -0x0024D3AD,0x0024D3A4,0x0024D39B,0x0024D392,0x0024D389,0x0024D380,0x0024D377,0x0024D36E,0x0024D365,0x0024D35C, -0x0024D353,0x0018D260,0x0024D34A,0x0024D341,0x0024D338,0x0024D32F,0x0024D326,0x0024D31D,0x0024D314,0x0024D30B, -0x0024D302,0x0024D2F9,0x0024D2F0,0x0024D2E7,0x0024D2DE,0x0024D2D5,0x0024D2CC,0x0024D2C3,0x0024D2BA,0x0024D2B1, -0x0024D2A8,0x0024D29F,0x0024D296,0x0024D28D,0x0024D284,0x0024D27B,0x0024D272,0x0024D269,0x0024D260,0x0018D16D, -0x0024D257,0x0024D24E,0x0024D245,0x0024D23C,0x0024D233,0x0024D22A,0x0024D221,0x0024D218,0x0024D20F,0x0024D206, -0x0024D1FD,0x0024D1F4,0x0024D1EB,0x0024D1E2,0x0024D1D9,0x0024D1D0,0x0024D1C7,0x0024D1BE,0x0024D1B5,0x8000C097, -0x8100C098,0x8200C099,0x8300C09A,0x8400C09B,0x8500C09C,0x8600C09D,0x8700C09E,0x8800C09F,0x8900C0A0,0x8A00C0A1, -0x8B00C0A2,0x8C00C0A3,0x8D00C0A4,0x8E00C0A5,0x8F00C0A6,0x9000C0A7,0x9100C0A8,0x9200C0A9,0x9300C0AA,0x9400C0AB, -0x9500C0AC,0x9600C0AD,0x9700C0AE,0x9800C0AF,0x9900C0B0,0x9A00C0B1,0x9B00C0B2,0x9C00C0B3,0x9D00C0B4,0x9E00C0B5, -0x9F00C0B6,0xA000C0B7,0xA100C0B8,0xA200C0B9,0xA300C0BA,0xA400C0BB,0xA500C0BC,0xA600C0BD,0xA700C0BE,0xA800C0BF, -0xA900C0C0,0xAA00C0C1,0xAB00C0C2,0xAC00C0C3,0xAD00C0C4,0xAE00C0C5,0xAF00C0C6,0xB000C0C7,0xB100C0C8,0xB200C0C9, -0xB300C0CA,0xB400C0CB,0xB500C0CC,0xB600C0CD,0xB700C0CE,0xB800C0CF,0xB900C0D0,0xBA00C0D1,0xBB00C0D2,0xBC00C0D3, -0xBD00C0D4,0xBE00C0D5,0xBF00C0D6,0x0024D1AC,0x0024D1A3,0x0024D19A,0x0024D191,0x0024D188,0x0024D17F,0x0024D176, -0x0024D16D,0x0018D07A,0x0024D164,0x0024D15B,0x0024D152,0x0024D149,0x0024D140,0x0024D137,0x0024D12E,0x0024D125, -0x0024D11C,0x0024D113,0x0024D10A,0x0024D101,0x0024D0F8,0x0024D0EF,0x0024D0E6,0x0024D0DD,0x0024D0D4,0x0024D0CB, -0x0024D0C2,0x0024D0B9,0x0024D0B0,0x0024D0A7,0x0024D09E,0x0024D095,0x0024D08C,0x0024D083,0x0024D07A,0x0018CF87, -0x0024D071,0x0024D068,0x0024D05F,0x0024D056,0x0024D04D,0x0024D044,0x0024D03B,0x0024D032,0x0024D029,0x0024D020, -0x0024D017,0x0024D00E,0x0024D005,0x0024CFFC,0x0024CFF3,0x0024CFEA,0x0024CFE1,0x0024CFD8,0x0024CFCF,0x0024CFC6, -0x0024CFBD,0x0024CFB4,0x0024CFAB,0x0024CFA2,0x0024CF99,0x0024CF90,0x0024CF87,0x8000C117,0x8100C118,0x8200C119, -0x8300C11A,0x8400C11B,0x8500C11C,0x8600C11D,0x8700C11E,0x8800C11F,0x8900C120,0x8A00C121,0x8B00C122,0x8C00C123, -0x8D00C124,0x8E00C125,0x8F00C126,0x9000C127,0x9100C128,0x9200C129,0x9300C12A,0x9400C12B,0x9500C12C,0x9600C12D, -0x9700C12E,0x9800C12F,0x9900C130,0x9A00C131,0x9B00C132,0x9C00C133,0x9D00C134,0x9E00C135,0x9F00C136,0xA000C137, -0xA100C138,0xA200C139,0xA300C13A,0xA400C13B,0xA500C13C,0xA600C13D,0xA700C13E,0xA800C13F,0xA900C140,0xAA00C141, -0xAB00C142,0xAC00C143,0xAD00C144,0xAE00C145,0xAF00C146,0xB000C147,0xB100C148,0xB200C149,0xB300C14A,0xB400C14B, -0xB500C14C,0xB600C14D,0xB700C14E,0xB800C14F,0xB900C150,0xBA00C151,0xBB00C152,0xBC00C153,0xBD00C154,0xBE00C155, -0xBF00C156,0x0018CE94,0x0024CF7E,0x0024CF75,0x0024CF6C,0x0024CF63,0x0024CF5A,0x0024CF51,0x0024CF48,0x0024CF3F, -0x0024CF36,0x0024CF2D,0x0024CF24,0x0024CF1B,0x0024CF12,0x0024CF09,0x0024CF00,0x0024CEF7,0x0024CEEE,0x0024CEE5, -0x0024CEDC,0x0024CED3,0x0024CECA,0x0024CEC1,0x0024CEB8,0x0024CEAF,0x0024CEA6,0x0024CE9D,0x0024CE94,0x0018CDA1, -0x0024CE8B,0x0024CE82,0x0024CE79,0x0024CE70,0x0024CE67,0x0024CE5E,0x0024CE55,0x0024CE4C,0x0024CE43,0x0024CE3A, -0x0024CE31,0x0024CE28,0x0024CE1F,0x0024CE16,0x0024CE0D,0x0024CE04,0x0024CDFB,0x0024CDF2,0x0024CDE9,0x0024CDE0, -0x0024CDD7,0x0024CDCE,0x0024CDC5,0x0024CDBC,0x0024CDB3,0x0024CDAA,0x0024CDA1,0x0018CCAE,0x0024CD98,0x0024CD8F, -0x0024CD86,0x0024CD7D,0x0024CD74,0x0024CD6B,0x0024CD62,0x8000C197,0x8100C198,0x8200C199,0x8300C19A,0x8400C19B, -0x8500C19C,0x8600C19D,0x8700C19E,0x8800C19F,0x8900C1A0,0x8A00C1A1,0x8B00C1A2,0x8C00C1A3,0x8D00C1A4,0x8E00C1A5, -0x8F00C1A6,0x9000C1A7,0x9100C1A8,0x9200C1A9,0x9300C1AA,0x9400C1AB,0x9500C1AC,0x9600C1AD,0x9700C1AE,0x9800C1AF, -0x9900C1B0,0x9A00C1B1,0x9B00C1B2,0x9C00C1B3,0x9D00C1B4,0x9E00C1B5,0x9F00C1B6,0xA000C1B7,0xA100C1B8,0xA200C1B9, -0xA300C1BA,0xA400C1BB,0xA500C1BC,0xA600C1BD,0xA700C1BE,0xA800C1BF,0xA900C1C0,0xAA00C1C1,0xAB00C1C2,0xAC00C1C3, -0xAD00C1C4,0xAE00C1C5,0xAF00C1C6,0xB000C1C7,0xB100C1C8,0xB200C1C9,0xB300C1CA,0xB400C1CB,0xB500C1CC,0xB600C1CD, -0xB700C1CE,0xB800C1CF,0xB900C1D0,0xBA00C1D1,0xBB00C1D2,0xBC00C1D3,0xBD00C1D4,0xBE00C1D5,0xBF00C1D6,0x0024CD59, -0x0024CD50,0x0024CD47,0x0024CD3E,0x0024CD35,0x0024CD2C,0x0024CD23,0x0024CD1A,0x0024CD11,0x0024CD08,0x0024CCFF, -0x0024CCF6,0x0024CCED,0x0024CCE4,0x0024CCDB,0x0024CCD2,0x0024CCC9,0x0024CCC0,0x0024CCB7,0x0024CCAE,0x0018CBBB, -0x0024CCA5,0x0024CC9C,0x0024CC93,0x0024CC8A,0x0024CC81,0x0024CC78,0x0024CC6F,0x0024CC66,0x0024CC5D,0x0024CC54, -0x0024CC4B,0x0024CC42,0x0024CC39,0x0024CC30,0x0024CC27,0x0024CC1E,0x0024CC15,0x0024CC0C,0x0024CC03,0x0024CBFA, -0x0024CBF1,0x0024CBE8,0x0024CBDF,0x0024CBD6,0x0024CBCD,0x0024CBC4,0x0024CBBB,0x0018CAC8,0x0024CBB2,0x0024CBA9, -0x0024CBA0,0x0024CB97,0x0024CB8E,0x0024CB85,0x0024CB7C,0x0024CB73,0x0024CB6A,0x0024CB61,0x0024CB58,0x0024CB4F, -0x0024CB46,0x0024CB3D,0x0024CB34,0x8000C217,0x8100C218,0x8200C219,0x8300C21A,0x8400C21B,0x8500C21C,0x8600C21D, -0x8700C21E,0x8800C21F,0x8900C220,0x8A00C221,0x8B00C222,0x8C00C223,0x8D00C224,0x8E00C225,0x8F00C226,0x9000C227, -0x9100C228,0x9200C229,0x9300C22A,0x9400C22B,0x9500C22C,0x9600C22D,0x9700C22E,0x9800C22F,0x9900C230,0x9A00C231, -0x9B00C232,0x9C00C233,0x9D00C234,0x9E00C235,0x9F00C236,0xA000C237,0xA100C238,0xA200C239,0xA300C23A,0xA400C23B, -0xA500C23C,0xA600C23D,0xA700C23E,0xA800C23F,0xA900C240,0xAA00C241,0xAB00C242,0xAC00C243,0xAD00C244,0xAE00C245, -0xAF00C246,0xB000C247,0xB100C248,0xB200C249,0xB300C24A,0xB400C24B,0xB500C24C,0xB600C24D,0xB700C24E,0xB800C24F, -0xB900C250,0xBA00C251,0xBB00C252,0xBC00C253,0xBD00C254,0xBE00C255,0xBF00C256,0x0024CB2B,0x0024CB22,0x0024CB19, -0x0024CB10,0x0024CB07,0x0024CAFE,0x0024CAF5,0x0024CAEC,0x0024CAE3,0x0024CADA,0x0024CAD1,0x0024CAC8,0x0018C9D5, -0x0024CABF,0x0024CAB6,0x0024CAAD,0x0024CAA4,0x0024CA9B,0x0024CA92,0x0024CA89,0x0024CA80,0x0024CA77,0x0024CA6E, -0x0024CA65,0x0024CA5C,0x0024CA53,0x0024CA4A,0x0024CA41,0x0024CA38,0x0024CA2F,0x0024CA26,0x0024CA1D,0x0024CA14, -0x0024CA0B,0x0024CA02,0x0024C9F9,0x0024C9F0,0x0024C9E7,0x0024C9DE,0x0024C9D5,0x0018C8E2,0x0024C9CC,0x0024C9C3, -0x0024C9BA,0x0024C9B1,0x0024C9A8,0x0024C99F,0x0024C996,0x0024C98D,0x0024C984,0x0024C97B,0x0024C972,0x0024C969, -0x0024C960,0x0024C957,0x0024C94E,0x0024C945,0x0024C93C,0x0024C933,0x0024C92A,0x0024C921,0x0024C918,0x0024C90F, -0x0024C906,0x8000C297,0x8100C298,0x8200C299,0x8300C29A,0x8400C29B,0x8500C29C,0x8600C29D,0x8700C29E,0x8800C29F, -0x8900C2A0,0x8A00C2A1,0x8B00C2A2,0x8C00C2A3,0x8D00C2A4,0x8E00C2A5,0x8F00C2A6,0x9000C2A7,0x9100C2A8,0x9200C2A9, -0x9300C2AA,0x9400C2AB,0x9500C2AC,0x9600C2AD,0x9700C2AE,0x9800C2AF,0x9900C2B0,0x9A00C2B1,0x9B00C2B2,0x9C00C2B3, -0x9D00C2B4,0x9E00C2B5,0x9F00C2B6,0xA000C2B7,0xA100C2B8,0xA200C2B9,0xA300C2BA,0xA400C2BB,0xA500C2BC,0xA600C2BD, -0xA700C2BE,0xA800C2BF,0xA900C2C0,0xAA00C2C1,0xAB00C2C2,0xAC00C2C3,0xAD00C2C4,0xAE00C2C5,0xAF00C2C6,0xB000C2C7, -0xB100C2C8,0xB200C2C9,0xB300C2CA,0xB400C2CB,0xB500C2CC,0xB600C2CD,0xB700C2CE,0xB800C2CF,0xB900C2D0,0xBA00C2D1, -0xBB00C2D2,0xBC00C2D3,0xBD00C2D4,0xBE00C2D5,0xBF00C2D6,0x0024C8FD,0x0024C8F4,0x0024C8EB,0x0024C8E2,0x0018C7EF, -0x0024C8D9,0x0024C8D0,0x0024C8C7,0x0024C8BE,0x0024C8B5,0x0024C8AC,0x0024C8A3,0x0024C89A,0x0024C891,0x0024C888, -0x0024C87F,0x0024C876,0x0024C86D,0x0024C864,0x0024C85B,0x0024C852,0x0024C849,0x0024C840,0x0024C837,0x0024C82E, -0x0024C825,0x0024C81C,0x0024C813,0x0024C80A,0x0024C801,0x0024C7F8,0x0024C7EF,0x0018C6FC,0x0024C7E6,0x0024C7DD, -0x0024C7D4,0x0024C7CB,0x0024C7C2,0x0024C7B9,0x0024C7B0,0x0024C7A7,0x0024C79E,0x0024C795,0x0024C78C,0x0024C783, -0x0024C77A,0x0024C771,0x0024C768,0x0024C75F,0x0024C756,0x0024C74D,0x0024C744,0x0024C73B,0x0024C732,0x0024C729, -0x0024C720,0x0024C717,0x0024C70E,0x0024C705,0x0024C6FC,0x0018C609,0x0024C6F3,0x0024C6EA,0x0024C6E1,0x8000C317, -0x8100C318,0x8200C319,0x8300C31A,0x8400C31B,0x8500C31C,0x8600C31D,0x8700C31E,0x8800C31F,0x8900C320,0x8A00C321, -0x8B00C322,0x8C00C323,0x8D00C324,0x8E00C325,0x8F00C326,0x9000C327,0x9100C328,0x9200C329,0x9300C32A,0x9400C32B, -0x9500C32C,0x9600C32D,0x9700C32E,0x9800C32F,0x9900C330,0x9A00C331,0x9B00C332,0x9C00C333,0x9D00C334,0x9E00C335, -0x9F00C336,0xA000C337,0xA100C338,0xA200C339,0xA300C33A,0xA400C33B,0xA500C33C,0xA600C33D,0xA700C33E,0xA800C33F, -0xA900C340,0xAA00C341,0xAB00C342,0xAC00C343,0xAD00C344,0xAE00C345,0xAF00C346,0xB000C347,0xB100C348,0xB200C349, -0xB300C34A,0xB400C34B,0xB500C34C,0xB600C34D,0xB700C34E,0xB800C34F,0xB900C350,0xBA00C351,0xBB00C352,0xBC00C353, -0xBD00C354,0xBE00C355,0xBF00C356,0x0024C6D8,0x0024C6CF,0x0024C6C6,0x0024C6BD,0x0024C6B4,0x0024C6AB,0x0024C6A2, -0x0024C699,0x0024C690,0x0024C687,0x0024C67E,0x0024C675,0x0024C66C,0x0024C663,0x0024C65A,0x0024C651,0x0024C648, -0x0024C63F,0x0024C636,0x0024C62D,0x0024C624,0x0024C61B,0x0024C612,0x0024C609,0x0018C516,0x0024C600,0x0024C5F7, -0x0024C5EE,0x0024C5E5,0x0024C5DC,0x0024C5D3,0x0024C5CA,0x0024C5C1,0x0024C5B8,0x0024C5AF,0x0024C5A6,0x0024C59D, -0x0024C594,0x0024C58B,0x0024C582,0x0024C579,0x0024C570,0x0024C567,0x0024C55E,0x0024C555,0x0024C54C,0x0024C543, -0x0024C53A,0x0024C531,0x0024C528,0x0024C51F,0x0024C516,0x0018C423,0x0024C50D,0x0024C504,0x0024C4FB,0x0024C4F2, -0x0024C4E9,0x0024C4E0,0x0024C4D7,0x0024C4CE,0x0024C4C5,0x0024C4BC,0x0024C4B3,0x8000C397,0x8100C398,0x8200C399, -0x8300C39A,0x8400C39B,0x8500C39C,0x8600C39D,0x8700C39E,0x8800C39F,0x8900C3A0,0x8A00C3A1,0x8B00C3A2,0x8C00C3A3, -0x8D00C3A4,0x8E00C3A5,0x8F00C3A6,0x9000C3A7,0x9100C3A8,0x9200C3A9,0x9300C3AA,0x9400C3AB,0x9500C3AC,0x9600C3AD, -0x9700C3AE,0x9800C3AF,0x9900C3B0,0x9A00C3B1,0x9B00C3B2,0x9C00C3B3,0x9D00C3B4,0x9E00C3B5,0x9F00C3B6,0xA000C3B7, -0xA100C3B8,0xA200C3B9,0xA300C3BA,0xA400C3BB,0xA500C3BC,0xA600C3BD,0xA700C3BE,0xA800C3BF,0xA900C3C0,0xAA00C3C1, -0xAB00C3C2,0xAC00C3C3,0xAD00C3C4,0xAE00C3C5,0xAF00C3C6,0xB000C3C7,0xB100C3C8,0xB200C3C9,0xB300C3CA,0xB400C3CB, -0xB500C3CC,0xB600C3CD,0xB700C3CE,0xB800C3CF,0xB900C3D0,0xBA00C3D1,0xBB00C3D2,0xBC00C3D3,0xBD00C3D4,0xBE00C3D5, -0xBF00C3D6,0x0024C4AA,0x0024C4A1,0x0024C498,0x0024C48F,0x0024C486,0x0024C47D,0x0024C474,0x0024C46B,0x0024C462, -0x0024C459,0x0024C450,0x0024C447,0x0024C43E,0x0024C435,0x0024C42C,0x0024C423,0x0018C330,0x0024C41A,0x0024C411, -0x0024C408,0x0024C3FF,0x0024C3F6,0x0024C3ED,0x0024C3E4,0x0024C3DB,0x0024C3D2,0x0024C3C9,0x0024C3C0,0x0024C3B7, -0x0024C3AE,0x0024C3A5,0x0024C39C,0x0024C393,0x0024C38A,0x0024C381,0x0024C378,0x0024C36F,0x0024C366,0x0024C35D, -0x0024C354,0x0024C34B,0x0024C342,0x0024C339,0x0024C330,0x0018C23D,0x0024C327,0x0024C31E,0x0024C315,0x0024C30C, -0x0024C303,0x0024C2FA,0x0024C2F1,0x0024C2E8,0x0024C2DF,0x0024C2D6,0x0024C2CD,0x0024C2C4,0x0024C2BB,0x0024C2B2, -0x0024C2A9,0x0024C2A0,0x0024C297,0x0024C28E,0x0024C285,0x8000C417,0x8100C418,0x8200C419,0x8300C41A,0x8400C41B, -0x8500C41C,0x8600C41D,0x8700C41E,0x8800C41F,0x8900C420,0x8A00C421,0x8B00C422,0x8C00C423,0x8D00C424,0x8E00C425, -0x8F00C426,0x9000C427,0x9100C428,0x9200C429,0x9300C42A,0x9400C42B,0x9500C42C,0x9600C42D,0x9700C42E,0x9800C42F, -0x9900C430,0x9A00C431,0x9B00C432,0x9C00C433,0x9D00C434,0x9E00C435,0x9F00C436,0xA000C437,0xA100C438,0xA200C439, -0xA300C43A,0xA400C43B,0xA500C43C,0xA600C43D,0xA700C43E,0xA800C43F,0xA900C440,0xAA00C441,0xAB00C442,0xAC00C443, -0xAD00C444,0xAE00C445,0xAF00C446,0xB000C447,0xB100C448,0xB200C449,0xB300C44A,0xB400C44B,0xB500C44C,0xB600C44D, -0xB700C44E,0xB800C44F,0xB900C450,0xBA00C451,0xBB00C452,0xBC00C453,0xBD00C454,0xBE00C455,0xBF00C456,0x0024C27C, -0x0024C273,0x0024C26A,0x0024C261,0x0024C258,0x0024C24F,0x0024C246,0x0024C23D,0x0018C14A,0x0024C234,0x0024C22B, -0x0024C222,0x0024C219,0x0024C210,0x0024C207,0x0024C1FE,0x0024C1F5,0x0024C1EC,0x0024C1E3,0x0024C1DA,0x0024C1D1, -0x0024C1C8,0x0024C1BF,0x0024C1B6,0x0024C1AD,0x0024C1A4,0x0024C19B,0x0024C192,0x0024C189,0x0024C180,0x0024C177, -0x0024C16E,0x0024C165,0x0024C15C,0x0024C153,0x0024C14A,0x0018C057,0x0024C141,0x0024C138,0x0024C12F,0x0024C126, -0x0024C11D,0x0024C114,0x0024C10B,0x0024C102,0x0024C0F9,0x0024C0F0,0x0024C0E7,0x0024C0DE,0x0024C0D5,0x0024C0CC, -0x0024C0C3,0x0024C0BA,0x0024C0B1,0x0024C0A8,0x0024C09F,0x0024C096,0x0024C08D,0x0024C084,0x0024C07B,0x0024C072, -0x0024C069,0x0024C060,0x0024C057,0x8000C497,0x8100C498,0x8200C499,0x8300C49A,0x8400C49B,0x8500C49C,0x8600C49D, -0x8700C49E,0x8800C49F,0x8900C4A0,0x8A00C4A1,0x8B00C4A2,0x8C00C4A3,0x8D00C4A4,0x8E00C4A5,0x8F00C4A6,0x9000C4A7, -0x9100C4A8,0x9200C4A9,0x9300C4AA,0x9400C4AB,0x9500C4AC,0x9600C4AD,0x9700C4AE,0x9800C4AF,0x9900C4B0,0x9A00C4B1, -0x9B00C4B2,0x9C00C4B3,0x9D00C4B4,0x9E00C4B5,0x9F00C4B6,0xA000C4B7,0xA100C4B8,0xA200C4B9,0xA300C4BA,0xA400C4BB, -0xA500C4BC,0xA600C4BD,0xA700C4BE,0xA800C4BF,0xA900C4C0,0xAA00C4C1,0xAB00C4C2,0xAC00C4C3,0xAD00C4C4,0xAE00C4C5, -0xAF00C4C6,0xB000C4C7,0xB100C4C8,0xB200C4C9,0xB300C4CA,0xB400C4CB,0xB500C4CC,0xB600C4CD,0xB700C4CE,0xB800C4CF, -0xB900C4D0,0xBA00C4D1,0xBB00C4D2,0xBC00C4D3,0xBD00C4D4,0xBE00C4D5,0xBF00C4D6,0x0018BF64,0x0024C04E,0x0024C045, -0x0024C03C,0x0024C033,0x0024C02A,0x0024C021,0x0024C018,0x0024C00F,0x0024C006,0x0024BFFD,0x0024BFF4,0x0024BFEB, -0x0024BFE2,0x0024BFD9,0x0024BFD0,0x0024BFC7,0x0024BFBE,0x0024BFB5,0x0024BFAC,0x0024BFA3,0x0024BF9A,0x0024BF91, -0x0024BF88,0x0024BF7F,0x0024BF76,0x0024BF6D,0x0024BF64,0x0018BE71,0x0024BF5B,0x0024BF52,0x0024BF49,0x0024BF40, -0x0024BF37,0x0024BF2E,0x0024BF25,0x0024BF1C,0x0024BF13,0x0024BF0A,0x0024BF01,0x0024BEF8,0x0024BEEF,0x0024BEE6, -0x0024BEDD,0x0024BED4,0x0024BECB,0x0024BEC2,0x0024BEB9,0x0024BEB0,0x0024BEA7,0x0024BE9E,0x0024BE95,0x0024BE8C, -0x0024BE83,0x0024BE7A,0x0024BE71,0x0018BD7E,0x0024BE68,0x0024BE5F,0x0024BE56,0x0024BE4D,0x0024BE44,0x0024BE3B, -0x0024BE32,0x8000C517,0x8100C518,0x8200C519,0x8300C51A,0x8400C51B,0x8500C51C,0x8600C51D,0x8700C51E,0x8800C51F, -0x8900C520,0x8A00C521,0x8B00C522,0x8C00C523,0x8D00C524,0x8E00C525,0x8F00C526,0x9000C527,0x9100C528,0x9200C529, -0x9300C52A,0x9400C52B,0x9500C52C,0x9600C52D,0x9700C52E,0x9800C52F,0x9900C530,0x9A00C531,0x9B00C532,0x9C00C533, -0x9D00C534,0x9E00C535,0x9F00C536,0xA000C537,0xA100C538,0xA200C539,0xA300C53A,0xA400C53B,0xA500C53C,0xA600C53D, -0xA700C53E,0xA800C53F,0xA900C540,0xAA00C541,0xAB00C542,0xAC00C543,0xAD00C544,0xAE00C545,0xAF00C546,0xB000C547, -0xB100C548,0xB200C549,0xB300C54A,0xB400C54B,0xB500C54C,0xB600C54D,0xB700C54E,0xB800C54F,0xB900C550,0xBA00C551, -0xBB00C552,0xBC00C553,0xBD00C554,0xBE00C555,0xBF00C556,0x0024BE29,0x0024BE20,0x0024BE17,0x0024BE0E,0x0024BE05, -0x0024BDFC,0x0024BDF3,0x0024BDEA,0x0024BDE1,0x0024BDD8,0x0024BDCF,0x0024BDC6,0x0024BDBD,0x0024BDB4,0x0024BDAB, -0x0024BDA2,0x0024BD99,0x0024BD90,0x0024BD87,0x0024BD7E,0x0018BC8B,0x0024BD75,0x0024BD6C,0x0024BD63,0x0024BD5A, -0x0024BD51,0x0024BD48,0x0024BD3F,0x0024BD36,0x0024BD2D,0x0024BD24,0x0024BD1B,0x0024BD12,0x0024BD09,0x0024BD00, -0x0024BCF7,0x0024BCEE,0x0024BCE5,0x0024BCDC,0x0024BCD3,0x0024BCCA,0x0024BCC1,0x0024BCB8,0x0024BCAF,0x0024BCA6, -0x0024BC9D,0x0024BC94,0x0024BC8B,0x0018BB98,0x0024BC82,0x0024BC79,0x0024BC70,0x0024BC67,0x0024BC5E,0x0024BC55, -0x0024BC4C,0x0024BC43,0x0024BC3A,0x0024BC31,0x0024BC28,0x0024BC1F,0x0024BC16,0x0024BC0D,0x0024BC04,0x8000C597, -0x8100C598,0x8200C599,0x8300C59A,0x8400C59B,0x8500C59C,0x8600C59D,0x8700C59E,0x8800C59F,0x8900C5A0,0x8A00C5A1, -0x8B00C5A2,0x8C00C5A3,0x8D00C5A4,0x8E00C5A5,0x8F00C5A6,0x9000C5A7,0x9100C5A8,0x9200C5A9,0x9300C5AA,0x9400C5AB, -0x9500C5AC,0x9600C5AD,0x9700C5AE,0x9800C5AF,0x9900C5B0,0x9A00C5B1,0x9B00C5B2,0x9C00C5B3,0x9D00C5B4,0x9E00C5B5, -0x9F00C5B6,0xA000C5B7,0xA100C5B8,0xA200C5B9,0xA300C5BA,0xA400C5BB,0xA500C5BC,0xA600C5BD,0xA700C5BE,0xA800C5BF, -0xA900C5C0,0xAA00C5C1,0xAB00C5C2,0xAC00C5C3,0xAD00C5C4,0xAE00C5C5,0xAF00C5C6,0xB000C5C7,0xB100C5C8,0xB200C5C9, -0xB300C5CA,0xB400C5CB,0xB500C5CC,0xB600C5CD,0xB700C5CE,0xB800C5CF,0xB900C5D0,0xBA00C5D1,0xBB00C5D2,0xBC00C5D3, -0xBD00C5D4,0xBE00C5D5,0xBF00C5D6,0x0024BBFB,0x0024BBF2,0x0024BBE9,0x0024BBE0,0x0024BBD7,0x0024BBCE,0x0024BBC5, -0x0024BBBC,0x0024BBB3,0x0024BBAA,0x0024BBA1,0x0024BB98,0x0018BAA5,0x0024BB8F,0x0024BB86,0x0024BB7D,0x0024BB74, -0x0024BB6B,0x0024BB62,0x0024BB59,0x0024BB50,0x0024BB47,0x0024BB3E,0x0024BB35,0x0024BB2C,0x0024BB23,0x0024BB1A, -0x0024BB11,0x0024BB08,0x0024BAFF,0x0024BAF6,0x0024BAED,0x0024BAE4,0x0024BADB,0x0024BAD2,0x0024BAC9,0x0024BAC0, -0x0024BAB7,0x0024BAAE,0x0024BAA5,0x0018B9B2,0x0024BA9C,0x0024BA93,0x0024BA8A,0x0024BA81,0x0024BA78,0x0024BA6F, -0x0024BA66,0x0024BA5D,0x0024BA54,0x0024BA4B,0x0024BA42,0x0024BA39,0x0024BA30,0x0024BA27,0x0024BA1E,0x0024BA15, -0x0024BA0C,0x0024BA03,0x0024B9FA,0x0024B9F1,0x0024B9E8,0x0024B9DF,0x0024B9D6,0x8000C617,0x8100C618,0x8200C619, -0x8300C61A,0x8400C61B,0x8500C61C,0x8600C61D,0x8700C61E,0x8800C61F,0x8900C620,0x8A00C621,0x8B00C622,0x8C00C623, -0x8D00C624,0x8E00C625,0x8F00C626,0x9000C627,0x9100C628,0x9200C629,0x9300C62A,0x9400C62B,0x9500C62C,0x9600C62D, -0x9700C62E,0x9800C62F,0x9900C630,0x9A00C631,0x9B00C632,0x9C00C633,0x9D00C634,0x9E00C635,0x9F00C636,0xA000C637, -0xA100C638,0xA200C639,0xA300C63A,0xA400C63B,0xA500C63C,0xA600C63D,0xA700C63E,0xA800C63F,0xA900C640,0xAA00C641, -0xAB00C642,0xAC00C643,0xAD00C644,0xAE00C645,0xAF00C646,0xB000C647,0xB100C648,0xB200C649,0xB300C64A,0xB400C64B, -0xB500C64C,0xB600C64D,0xB700C64E,0xB800C64F,0xB900C650,0xBA00C651,0xBB00C652,0xBC00C653,0xBD00C654,0xBE00C655, -0xBF00C656,0x0024B9CD,0x0024B9C4,0x0024B9BB,0x0024B9B2,0x0018B8BF,0x0024B9A9,0x0024B9A0,0x0024B997,0x0024B98E, -0x0024B985,0x0024B97C,0x0024B973,0x0024B96A,0x0024B961,0x0024B958,0x0024B94F,0x0024B946,0x0024B93D,0x0024B934, -0x0024B92B,0x0024B922,0x0024B919,0x0024B910,0x0024B907,0x0024B8FE,0x0024B8F5,0x0024B8EC,0x0024B8E3,0x0024B8DA, -0x0024B8D1,0x0024B8C8,0x0024B8BF,0x0018B7CC,0x0024B8B6,0x0024B8AD,0x0024B8A4,0x0024B89B,0x0024B892,0x0024B889, -0x0024B880,0x0024B877,0x0024B86E,0x0024B865,0x0024B85C,0x0024B853,0x0024B84A,0x0024B841,0x0024B838,0x0024B82F, -0x0024B826,0x0024B81D,0x0024B814,0x0024B80B,0x0024B802,0x0024B7F9,0x0024B7F0,0x0024B7E7,0x0024B7DE,0x0024B7D5, -0x0024B7CC,0x0018B6D9,0x0024B7C3,0x0024B7BA,0x0024B7B1,0x8000C697,0x8100C698,0x8200C699,0x8300C69A,0x8400C69B, -0x8500C69C,0x8600C69D,0x8700C69E,0x8800C69F,0x8900C6A0,0x8A00C6A1,0x8B00C6A2,0x8C00C6A3,0x8D00C6A4,0x8E00C6A5, -0x8F00C6A6,0x9000C6A7,0x9100C6A8,0x9200C6A9,0x9300C6AA,0x9400C6AB,0x9500C6AC,0x9600C6AD,0x9700C6AE,0x9800C6AF, -0x9900C6B0,0x9A00C6B1,0x9B00C6B2,0x9C00C6B3,0x9D00C6B4,0x9E00C6B5,0x9F00C6B6,0xA000C6B7,0xA100C6B8,0xA200C6B9, -0xA300C6BA,0xA400C6BB,0xA500C6BC,0xA600C6BD,0xA700C6BE,0xA800C6BF,0xA900C6C0,0xAA00C6C1,0xAB00C6C2,0xAC00C6C3, -0xAD00C6C4,0xAE00C6C5,0xAF00C6C6,0xB000C6C7,0xB100C6C8,0xB200C6C9,0xB300C6CA,0xB400C6CB,0xB500C6CC,0xB600C6CD, -0xB700C6CE,0xB800C6CF,0xB900C6D0,0xBA00C6D1,0xBB00C6D2,0xBC00C6D3,0xBD00C6D4,0xBE00C6D5,0xBF00C6D6,0x0024B7A8, -0x0024B79F,0x0024B796,0x0024B78D,0x0024B784,0x0024B77B,0x0024B772,0x0024B769,0x0024B760,0x0024B757,0x0024B74E, -0x0024B745,0x0024B73C,0x0024B733,0x0024B72A,0x0024B721,0x0024B718,0x0024B70F,0x0024B706,0x0024B6FD,0x0024B6F4, -0x0024B6EB,0x0024B6E2,0x0024B6D9,0x0018B5E6,0x0024B6D0,0x0024B6C7,0x0024B6BE,0x0024B6B5,0x0024B6AC,0x0024B6A3, -0x0024B69A,0x0024B691,0x0024B688,0x0024B67F,0x0024B676,0x0024B66D,0x0024B664,0x0024B65B,0x0024B652,0x0024B649, -0x0024B640,0x0024B637,0x0024B62E,0x0024B625,0x0024B61C,0x0024B613,0x0024B60A,0x0024B601,0x0024B5F8,0x0024B5EF, -0x0024B5E6,0x0018B4F3,0x0024B5DD,0x0024B5D4,0x0024B5CB,0x0024B5C2,0x0024B5B9,0x0024B5B0,0x0024B5A7,0x0024B59E, -0x0024B595,0x0024B58C,0x0024B583,0x8000C717,0x8100C718,0x8200C719,0x8300C71A,0x8400C71B,0x8500C71C,0x8600C71D, -0x8700C71E,0x8800C71F,0x8900C720,0x8A00C721,0x8B00C722,0x8C00C723,0x8D00C724,0x8E00C725,0x8F00C726,0x9000C727, -0x9100C728,0x9200C729,0x9300C72A,0x9400C72B,0x9500C72C,0x9600C72D,0x9700C72E,0x9800C72F,0x9900C730,0x9A00C731, -0x9B00C732,0x9C00C733,0x9D00C734,0x9E00C735,0x9F00C736,0xA000C737,0xA100C738,0xA200C739,0xA300C73A,0xA400C73B, -0xA500C73C,0xA600C73D,0xA700C73E,0xA800C73F,0xA900C740,0xAA00C741,0xAB00C742,0xAC00C743,0xAD00C744,0xAE00C745, -0xAF00C746,0xB000C747,0xB100C748,0xB200C749,0xB300C74A,0xB400C74B,0xB500C74C,0xB600C74D,0xB700C74E,0xB800C74F, -0xB900C750,0xBA00C751,0xBB00C752,0xBC00C753,0xBD00C754,0xBE00C755,0xBF00C756,0x0024B57A,0x0024B571,0x0024B568, -0x0024B55F,0x0024B556,0x0024B54D,0x0024B544,0x0024B53B,0x0024B532,0x0024B529,0x0024B520,0x0024B517,0x0024B50E, -0x0024B505,0x0024B4FC,0x0024B4F3,0x0018B400,0x0024B4EA,0x0024B4E1,0x0024B4D8,0x0024B4CF,0x0024B4C6,0x0024B4BD, -0x0024B4B4,0x0024B4AB,0x0024B4A2,0x0024B499,0x0024B490,0x0024B487,0x0024B47E,0x0024B475,0x0024B46C,0x0024B463, -0x0024B45A,0x0024B451,0x0024B448,0x0024B43F,0x0024B436,0x0024B42D,0x0024B424,0x0024B41B,0x0024B412,0x0024B409, -0x0024B400,0x0018B30D,0x0024B3F7,0x0024B3EE,0x0024B3E5,0x0024B3DC,0x0024B3D3,0x0024B3CA,0x0024B3C1,0x0024B3B8, -0x0024B3AF,0x0024B3A6,0x0024B39D,0x0024B394,0x0024B38B,0x0024B382,0x0024B379,0x0024B370,0x0024B367,0x0024B35E, -0x0024B355,0x8000C77B,0x8100C77C,0x8200C77D,0x8300C77E,0x8400C77F,0x8500C780,0x8600C781,0x8700C782,0x8800C783, -0x8900C784,0x8A00C785,0x8B00C786,0x8C00C787,0x8D00C788,0x8E00C789,0x8F00C78A,0x9000C78B,0x9100C78C,0x9200C78D, -0x9300C78E,0x9400C78F,0x9500C790,0x9600C791,0x9700C792,0x9800C793,0x9900C794,0x9A00C795,0x9B00C796,0x9C00C797, -0x9D00C798,0x9E00C799,0x9F00C79A,0xA000C79B,0xA100C79C,0xA200C79D,0xA300C79E,0x0024B34C,0x0024B343,0x0024B33A, -0x0024B331,0x0024B328,0x0024B31F,0x0024B316,0x0024B30D,0x0018B21A,0x0024B304,0x0024B2FB,0x0024B2F2,0x0024B2E9, -0x0024B2E0,0x0024B2D7,0x0024B2CE,0x0024B2C5,0x0024B2BC,0x0024B2B3,0x0024B2AA,0x0024B2A1,0x0024B298,0x0024B28F, -0x0024B286,0x0024B27D,0x0024B274,0x0024B26B,0x0024B262,0x0024B259,0x0024B250,0x0024B247,0x0024B23E,0x0024B235, -0x0024B22C,0x0024B223,0x0024B21A,0xA400C757,0xA500C7A8,0xA600C828,0xA700C8A8,0xA800C928,0xA900C9A8,0xAA00CA28, -0xAB00CAA8,0xAC00CA67,0xAD00CAC8,0x000C0FDA,0x000C0FD7,0x000C0FD4,0x000C0FD1,0x000C0FCE,0x000C0FCB,0x000C0FC8, -0x000C0FC5,0x000C0FC2,0x000CAFB0,0x000C0FBF,0x000C0FBC,0x000C0FB9,0x000C0FB6,0x000C0FB3,0x000C0FB0,0x000C0FAD, -0x000C0FAA,0x000C0FA7,0x000C0FA4,0x000C0FA1,0x000C0F9E,0x000C0F9B,0x000C0F98,0x000C0F95,0x000C0F92,0x000C0F8F, -0x000C0F8C,0x000C0F89,0x000C0F86,0x000C0F83,0x000C0F80,0x000C0F7D,0x000C0F7A,0x000C0F77,0x000C0F74,0x000C0F71, -0x000C0F6E,0x000C0F6B,0x000C0F68,0x000C0F65,0x000C0F62,0x000C0F5F,0x000C0F5C,0x000C0F59,0x000C0F56,0x8000C7A9, -0x8100C7AA,0x8200C7AB,0x8300C7AC,0x8400C7AD,0x8500C7AE,0x8600C7AF,0x8700C7B0,0x8800C7B0,0x8900C7B1,0x8A00C7B2, -0x8B00C7B3,0x8C00C7B4,0x8D00C7B5,0x8E00C7B6,0x8F00C7B7,0x9000C7B8,0x9100C7B9,0x9200C7BA,0x9300C7BB,0x9400C7BC, -0x9500C7BD,0x9600C7BE,0x9700C7BF,0x9800C7C0,0x9900C7C1,0x9A00C7C2,0x9B00C7C3,0x9C00C7C4,0x9D00C7C5,0x9E00C7C6, -0x9F00C7C7,0xA000C7C8,0xA100C7C9,0xA200C7CA,0xA300C7CB,0xA400C7CC,0xA500C7CD,0xA600C7CE,0xA700C7CF,0xA800C7D0, -0xA900C7D1,0xAA00C7D2,0xAB00C7D3,0xAC00C7D4,0xAD00C7D5,0xAE00C7D6,0xAF00C817,0xB000C818,0xB100C819,0xB200C81A, -0xB300C81B,0xB400C81C,0xB500C81D,0xB600C81E,0xB700C81F,0xB800C820,0xB900C821,0xBA00C822,0xBB00C823,0xBC00C824, -0xBD00C825,0xBE00C826,0xBF00C827,0x000C0F53,0x000C0F50,0x000C0F4D,0x000C0F4A,0x000C0F47,0x000C0F44,0x000C0F41, -0x000C0F3E,0x000C0F3B,0x000C0F38,0x000C0F35,0x000C0F32,0x000C0F2F,0x000C0F2C,0x000C0F29,0x000C0F26,0x000C0F23, -0x8000C868,0x8100C869,0x8200C86A,0x8300C86B,0x8400C86C,0x8500C86D,0x8600C86E,0x8700C86F,0x8800C870,0x8900C871, -0x8A00C872,0x8B00C873,0x8C00C874,0x8D00C875,0x8E00C876,0x8F00C877,0x9000C878,0x9100C879,0x9200C87A,0x9300C87B, -0x9400C87C,0x9500C87D,0x9600C87E,0x9700C87F,0x9800C880,0x9900C881,0x9A00C882,0x9B00C883,0x9C00C7BC,0x9D00C884, -0x9E00C885,0x9F00C886,0xA000C887,0xA100C888,0xA200C889,0xA300C88A,0xA400C88B,0xA500C88C,0xA600C88D,0xA700C88E, -0xA800C88F,0xA900C890,0xAA00C891,0xAB00C892,0xAC00C893,0xAD00C894,0xAE00C895,0xAF00C896,0xB000C897,0xB100C898, -0xB200C899,0xB300C89A,0xB400C89B,0xB500C89C,0xB600C89D,0xB700C89E,0xB800C89F,0xB900C8A0,0xBA00C8A1,0xBB00C8A2, -0xBC00C8A3,0xBD00C8A4,0xBE00C8A5,0xBF00C8A6,0x000C0F20,0x000C0F1D,0x000C0F1A,0x000C0F17,0x000C0F14,0x000C0F11, -0x000C0F0E,0x000C0F0B,0x000C0F08,0x000C0F05,0x000C0F02,0x000C0EFF,0x000C0EFC,0x000C0EF9,0x000C0EF6,0x000C0EF3, -0x000C0EF0,0x000C0EED,0x000C0EEA,0x000C0EE7,0x000C0EE4,0x000C0EE1,0x000C0EDE,0x000C0EDB,0x000C0ED8,0x000C0ED5, -0x000C0ED2,0x000C0ECF,0x000C0ECC,0x000C0EC9,0x000C0EC6,0x000C0EC3,0x000C0EC0,0x000C0EBD,0x000C0EBA,0x000C0EB7, -0x000C0EB4,0x000C0EB1,0x000C0EAE,0x000C0EAB,0x000C0EA8,0x000C0EA5,0x000C0EA2,0x000C0E9F,0x000C0E9C,0x000C0E99, -0x000C0E96,0x000C0E93,0x000C0E90,0x000C0E8D,0x000C0E8A,0x000C0E87,0x000C0E84,0x000C0E81,0x000C0E7E,0x000C0E7B, -0x000C0E78,0x000C0E75,0x000C0E72,0x000C0E6F,0x000C0E6C,0x000C0E69,0x000C0E66,0x000C0E63,0x8000C8A7,0x8100C8E8, -0x8200C8E9,0x8300C8EA,0x8400C8EB,0x8500C8EC,0x8600C8ED,0x8700C8EE,0x8800C8EF,0x8900C8F0,0x8A00C8F1,0x8B00C8F2, -0x8C00C8F3,0x8D00C8F4,0x8E00C8F5,0x8F00C8F6,0x9000C8F7,0x9100C8F8,0x9200C8F9,0x9300C8FA,0x9400C8FB,0x9500C8FC, -0x9600C8FD,0x9700C8FE,0x9800C8FF,0x9900C900,0x9A00C901,0x9B00C902,0x9C00C903,0x9D00C904,0x9E00C905,0x9F00C906, -0xA000C907,0xA100C896,0xA200C908,0xA300C909,0xA400C90A,0xA500C90B,0xA600C90C,0xA700C90D,0xA800C90E,0xA900C90F, -0xAA00C886,0xAB00C910,0xAC00C911,0xAD00C912,0xAE00C913,0xAF00C914,0xB000C915,0xB100C916,0xB200C917,0xB300C918, -0xB400C919,0xB500C91A,0xB600C91B,0xB700C91C,0xB800C91D,0xB900C91E,0xBA00C91F,0xBB00C920,0xBC00C921,0xBD00C922, -0xBE00C923,0xBF00C7BC,0x000C0E60,0x000C0E5D,0x000C0E5A,0x000C0E57,0x000C0E54,0x000C0E51,0x000C0E4E,0x000C0E4B, -0x000C0E48,0x000C0E45,0x000C0E42,0x000C0E3F,0x000C0E3C,0x000C0E39,0x000C0E36,0x000C0E33,0x000C0E30,0x000C0E2D, -0x000C0E2A,0x000C0E27,0x000C0E24,0x000C0E21,0x000C0E1E,0x000C0E1B,0x000C0E18,0x000C0E15,0x000C0E12,0x000C0E0F, -0x000C0E0C,0x000C0E09,0x000C0E06,0x000C0E03,0x000C0E00,0x000C0DFD,0x000C0DFA,0x000C0DF7,0x000C0DF4,0x000C0DF1, -0x000C0DEE,0x000C0DEB,0x000C0DE8,0x000C0DE5,0x000C0DE2,0x000C0DDF,0x000C0DDC,0x000C0DD9,0x000C0DD6,0x000C0DD3, -0x000C0DD0,0x000C0DCD,0x000C0DCA,0x000C0DC7,0x000C0DC4,0x000C0DC1,0x000C0DBE,0x000C0DBB,0x000C0DB8,0x000C0DB5, -0x000C0DB2,0x000C0DAF,0x000C0DAC,0x000C0DA9,0x000C0DA6,0x000C0DA3,0x8000C924,0x8100C925,0x8200C926,0x8300C927, -0x8400C968,0x8500C969,0x8600C96A,0x8700C96B,0x8800C96C,0x8900C96D,0x8A00C96E,0x8B00C96F,0x8C00C970,0x8D00C971, -0x8E00C972,0x8F00C973,0x9000C974,0x9100C975,0x9200C976,0x9300C977,0x9400C978,0x9500C979,0x9600C97A,0x9700C97B, -0x9800C97C,0x9900C97D,0x9A00C97E,0x9B00C888,0x9C00C97F,0x9D00C980,0x9E00C981,0x9F00C982,0xA000C983,0xA100C984, -0xA200C985,0xA300C986,0xA400C987,0xA500C988,0xA600C989,0xA700C98A,0xA800C98B,0xA900C98C,0xAA00C98D,0xAB00C98E, -0xAC00C98F,0xAD00C990,0xAE00C991,0xAF00C992,0xB000C993,0xB100C994,0xB200C995,0xB300C996,0xB400C997,0xB500C998, -0xB600C999,0xB700C99A,0xB800C99B,0xB900C99C,0xBA00C99D,0xBB00C99E,0xBC00C99F,0xBD00C9A0,0xBE00C9A1,0xBF00C9A2, -0x000C0DA0,0x000C0D9D,0x000C0D9A,0x000C0D97,0x000C0D94,0x000C0D91,0x000C0D8E,0x000C0D8B,0x000C0D88,0x000C0D85, -0x000C0D82,0x000C0D7F,0x000C0D7C,0x000CAFDD,0x000C0D79,0x000C0D76,0x000C0D73,0x000C0D70,0x000C0D6D,0x000C0D6A, -0x000C0D67,0x000C0D64,0x000C0D61,0x000C0D5E,0x000C0D5B,0x000C0D58,0x000C0D55,0x000C0D52,0x000C0D4F,0x000C0D4C, -0x000C0D49,0x000C0D46,0x000C0D43,0x000C0D40,0x000C0D3D,0x000C0D3A,0x000C0D37,0x000C0D34,0x000C0D31,0x000C0D2E, -0x000C0D2B,0x000C0D28,0x000C0D25,0x000C0D22,0x000C0D1F,0x000C0D1C,0x000C0D19,0x000C0D16,0x000C0D13,0x000C0D10, -0x000C0D0D,0x000C0D0A,0x000C0D07,0x000C0D04,0x000C0D01,0x000C0CFE,0x000C0CFB,0x000C0CF8,0x000C0CF5,0x000C0CF2, -0x000C0CEF,0x000C0CEC,0x000C0CE9,0x000C0CE6,0x8000C9A3,0x8100C9A4,0x8200C9A5,0x8300C9A6,0x8400C9A7,0x8500C9B6, -0x8600C9B7,0x8700C9B9,0x8800C9BB,0x8900C9BC,0x8A00C9C7,0x8B00C9C9,0x8C00C9CB,0x8D00C9CC,0x000C0CE3,0x000C0CE0, -0x9000C9CF,0x000C0CDD,0x9200C9D0,0x000C0CDA,0x000C0CD7,0x9500C9D1,0x9600C9E8,0x9700C9E9,0x9800C9EA,0x9900C9EB, -0x9A00C9EC,0x9B00C9ED,0x9C00C9EE,0x9D00C9EF,0x9E00C9F0,0x000C0CD4,0xA000C9F1,0x000C0CD1,0xA200C9F2,0x000C0CCE, -0x000C0CCB,0xA500C9F3,0xA600C9F4,0x000C0CC8,0x000C0CC5,0x000C0CC2,0xAA00C9F5,0xAB00C9F6,0xAC00C9F7,0xAD00C9F8, -0xAE00C9F9,0xAF00C9FA,0xB000C9FB,0xB100C9FC,0xB200C9FD,0xB300C9FE,0xB400C9FF,0xB500CA00,0xB600CA01,0xB700CA02, -0xB800CA03,0xB900CA04,0xBA00CA05,0xBB00CA06,0xBC00CA07,0xBD00CA08,0xBE00CA09,0xBF00CA0A,0x000C0CBF,0x000C0CBC, -0x000C0CB9,0x000C0CB6,0x000C0CB3,0x000C0CB0,0x000C0CAD,0x000C0CAA,0x000C0CA7,0x000C0CA4,0x000C0CA1,0x000C0C9E, -0x000C0C9B,0x000C0C98,0x000C0C95,0x000C0C92,0x000C0C8F,0x000C0C8C,0x000C0C89,0x000C0C86,0x000C0C83,0x000C0C80, -0x000C0C7D,0x000C0C7A,0x000C0C77,0x000C0C74,0x000C0C71,0x000C0C6E,0x000C0C6B,0x000C0C68,0x000C0C65,0x000C0C62, -0x000C0C5F,0x000C0C5C,0x000C0C59,0x000C0C56,0x000C0C53,0x000C0C50,0x000C0C4D,0x000C0C4A,0x000C0C47,0x000C0C44, -0x000C0C41,0x000C0C3E,0x000C0C3B,0x000C0C38,0x000C0C35,0x000CAF97,0x000C0C32,0x000C0C2F,0x000C0C2C,0x000C0C29, -0x000CAF83,0x000C0C26,0x000C0C23,0x000C0C20,0x000C0C1D,0x000C0C1A,0x000C0C17,0x000C0C14,0x000C0C11,0x000C0C0E, -0x000C0C0B,0x000C0C08,0x8000CA0B,0x8100CA0C,0x8200CA0D,0x8300CA0E,0x8400CA0F,0x8500CA10,0x8600CA11,0x8700CA12, -0x8800CA13,0x8900CA14,0x8A00CA15,0x8B00CA16,0x8C00CA17,0x8D00CA18,0x8E00CA19,0x8F00CA1A,0x9000CA1B,0x9100CA1C, -0x9200CA1D,0x9300CA1E,0x9400CA1F,0x9500CA20,0x9600CA21,0x9700C8FD,0x9800CA22,0x9900CA23,0x9A00CA24,0x9B00CA25, -0x9C00CA26,0x9D00CA27,0x9E00CA27,0x9F00CA56,0xA000CA57,0xA100CA68,0xA200CA69,0xA300CA6A,0xA400CA6B,0xA500CA6C, -0xA600CA6D,0xA700C9F3,0xA800CA6E,0xA900CA6F,0xAA00CA70,0xAB00CA71,0xAC00CA72,0xAD00CA73,0x000C0C05,0x000C0C02, -0xB000CA74,0xB100CA75,0xB200CA76,0xB300CA77,0xB400CA78,0xB500CA79,0xB600CA7A,0xB700CA7B,0xB800CA01,0xB900CA7C, -0xBA00CA7D,0xBB00CA7E,0xBC00C9CF,0xBD00CA7F,0xBE00CA80,0xBF00CA81,0x000C0BFF,0x000C0BFC,0x000C0BF9,0x000C0BF6, -0x000C0BF3,0x000C0BF0,0x000C0BED,0x000C0BEA,0x000C0BE7,0x000C0BE4,0x00100BE0,0x000C0BDD,0x000C0BDA,0x000C0BD7, -0x000C0BD4,0x000C0BD1,0x000C0BCE,0x000C0BCB,0x000C0BC8,0x000C0BC5,0x000C0BC2,0x000C0BBF,0x000C0BBC,0x000C0BB9, -0x000C0BB6,0x000C0BB3,0x000C0BB0,0x000C0BAD,0x000C0BAA,0x000C0BA7,0x000C0BA4,0x000C0BA1,0x000C0B9E,0x000C0B9B, -0x000C0B98,0x000C0B95,0x000C0B92,0x000C0B8F,0x000C0B8C,0x000C0B89,0x000C0B86,0x000C0B83,0x000C0B80,0x000C0B7D, -0x000C0B7A,0x000C0B77,0x000C0B74,0x000C0B71,0x000C0B6E,0x000C0B6B,0x000C0B68,0x000C0B65,0x000C0B62,0x000C0B5F, -0x000C0B5C,0x000C0B59,0x000C0B56,0x000C0B53,0x000C0B50,0x000C0B4D,0x000C0B4A,0x000C0B47,0x000C0B44,0x000C0B41, -0x8000CA82,0x8100CA83,0x8200CA84,0x8300CA85,0x8400CA86,0x8500CA87,0x8600CA88,0x8700CA89,0x8800CA8A,0x8900CA0A, -0x8A00CA8B,0x8B00CA0B,0x8C00CA8C,0x8D00CA8D,0x8E00CA8E,0x8F00CA8F,0x9000CA90,0x9100C9D0,0x9200C7D1,0x9300CA91, -0x9400CA92,0x9500CA93,0x9600C897,0x9700C96E,0x9800CA94,0x9900CA95,0x9A00CA12,0x9B00CA96,0x9C00CA13,0x9D00CA97, -0x9E00CA98,0x9F00CA99,0xA000C9E8,0xA100CA9A,0xA200CA9B,0xA300CA9C,0xA400CA9D,0xA500CA9E,0xA600C9E9,0xA700CA9F, -0xA800CAA0,0xA900CAA1,0xAA00CAA2,0xAB00CAA3,0xAC00CAA4,0xAD00CA21,0xAE00CAA5,0xAF00CAA6,0xB000C8FD,0xB100CAA7, -0xB200CA25,0xB300CAE8,0xB400CAE9,0xB500CAEA,0xB600CAEB,0xB700CAEC,0xB800CA68,0xB900CAED,0xBA00C9F2,0xBB00CAEE, -0xBC00CA69,0xBD00C884,0xBE00CAEF,0xBF00CA6A,0x000C0B3E,0x000C0B3B,0x000C0B38,0x000C0B35,0x000C0B32,0x000C0B2F, -0x000C0B2C,0x000C0B29,0x000C0B26,0x000C0B23,0x000C0B20,0x000C0B1D,0x000C0B1A,0x000C0B17,0x000C0B14,0x000C0B11, -0x000C0B0E,0x00100B0A,0x00100B06,0x00100B02,0x000C0AFF,0x000C0AFC,0x000C0AF9,0x00100AF5,0x00100AF1,0x00100AED, -0x000C0AEA,0x000C0AE7,0x9D00CB05,0x0010A0B3,0x9F00CB07,0x0010A0AF,0x0010A0AB,0x0010A0A7,0x0018B214,0x0018B20E, -0x0010A0A3,0x0010A09F,0x0010A09B,0x0010A097,0x0010A093,0xAA00CB08,0xAB00CB09,0xAC00CB0A,0xAD00CB0B,0xAE00CB0C, -0xAF00CB0D,0xB000CB0E,0xB100CB0F,0xB200CB10,0xB300CB1E,0xB400CB24,0xB500CB26,0xB600CB27,0x0010A08F,0xB800CB42, -0xB900CB43,0xBA00CB44,0xBB00CB45,0xBC00CB46,0x0010A08B,0xBE00CB47,0x0010A087,0x0010A083,0x8000CAF0,0x8100CA6C, -0x8200CAF1,0x8300CAF2,0x8400CAF3,0x8500CAF4,0x8600CAF5,0x8700CA6E,0x8800C9EE,0x8900CAF6,0x8A00CA6F,0x8B00CAF7, -0x8C00CA70,0x8D00CAF8,0x8E00C7B0,0x8F00CAF9,0x9000CAFA,0x9100CAFB,0x9200CAFC,0x9300CAFD,0x9400CAFE,0x9500CAFF, -0x9600CB00,0x9700CB01,0x9800CB02,0x9900CB03,0x0010A07F,0x0010A07B,0x0010A077,0x0010A073,0x0010A06F,0x0010A06B, -0x8000CB4A,0x8100CB4D,0x0010A067,0x8300CB57,0x8400CB58,0x0010A063,0x8600CB59,0x8700CB5A,0x8800CB5B,0x8900CB5C, -0x8A00CB5D,0x8B00CB5E,0x8C00CB5F,0x8D00CB60,0x8E00CB61,0x0010A05F,0x0010A05B,0x0010A057,0x0010A053,0x0010A04F, -0x0010B20E,0x0010A04B,0x0010A047,0x0010A043,0x0010A03F,0x0010A03B,0x9100CAE2,0x0020A033,0x8200CACB,0x9A00CB63, -0x8400CABC,0x9C00CB68,0x0020A02B,0x0020A023,0xAE00CB6C,0xAF00CB6D,0x0020A01B,0x0020A013,0x9D00CB04,0x8D00CAE5, -0x8B00CB72,0x8C00CB73,0x0020A00B,0x0020A003,0x9200CABE,0x00209FFB,0xAB00CB69,0x00209FF3,0x9600CAC3,0xBB00CB75, -0xBC00CB77,0x00209FEB,0xBE00CB7B,0xBA00CB7F,0xBB00CB81,0x00209FE3,0xAF00CB06,0x00209FDB,0x9E00CB8C,0x9F00CB8D, -0xA000CB8E,0xA100CB8F,0xA200CB90,0xA300CB91,0xA400CB92,0x8500CAE4,0x8600CAD8,0x8700CB1D,0x00209FD3,0x0020B1D2, -0x0030B202,0x0030B1F6,0x0030B1EA,0x0030B1DE,0x0030B1D2,0xBB00CB98,0xBC00CB99,0xBD00CB9A,0xBE00CB9B,0xBF00CB9C, -0x0020B1AE,0x0020B1A2,0x0030B1C6,0x0030B1BA,0x0030B1AE,0x8000CB9E,0x0030B1A2,0x000C0AE4,0x000C0AE1,0x000C0ADE, -0x00100ADA,0x000C0AD7,0x000C0AD4,0x000C0AD1,0xA000CB2F,0xA100CB9D,0xA200CC1D,0xA300CC9D,0xA400CD1D,0xA500CD9D, -0xA600CE1D,0xA700CE9D,0xA800CF1D,0x8000CB9F,0x8100CBA0,0x8200CBA1,0x8300CBA2,0x8400CBA3,0x8500C9FB,0x8600CBA4, -0x8700CBA5,0x8800CBEF,0x8900CBF0,0x8A00C9FC,0x8B00CBF1,0x8C00CBF2,0x8D00CBF3,0x8E00C9FD,0x8F00CBF4,0x9000CBF5, -0x9100CBF6,0x9200CBF7,0x9300CBF8,0x9400CBF9,0x9500CBFA,0x9600CBFB,0x9700CBFC,0x9800CBFD,0x9900CBFE,0x9A00CBFF, -0x9B00CA75,0x9C00CC00,0x9D00CC01,0x9E00CC02,0x9F00CC03,0xA000CC04,0xA100CC05,0xA200CC06,0xA300CC07,0xA400CC08, -0xA500CA7A,0xA600C9FE,0xA700C9FF,0xA800CA7B,0xA900CC09,0xAA00CC0A,0xAB00C88A,0xAC00CC0B,0xAD00CA00,0xAE00CC0C, -0xAF00CC0D,0xB000CC0E,0xB100CC0F,0xB200CC0F,0xB300CC0F,0xB400CC10,0xB500CC11,0xB600CC12,0xB700CC13,0xB800CC14, -0xB900CC15,0xBA00CC16,0xBB00CC17,0xBC00CC18,0xBD00CC19,0xBE00CC1A,0xBF00CC1B,0x000C0ACE,0x000C0ACB,0x000C0AC8, -0x000C0AC5,0x00100AC1,0x000C0ABE,0x000C0ABB,0x000C0AB8,0x00100AB4,0x000C0AB1,0x000C0AAE,0x000C0AAB,0x00100AA7, -0x000C0AA4,0x000C0AA1,0x000C0A9E,0x000C0A9B,0x00100A97,0x000C0A94,0x000C0A91,0x000C0A8E,0x000C0A8B,0x000C0A88, -0x000C0A85,0x000C0A82,0x000C0A7F,0x000C0A7C,0x000C0A79,0x000C0A76,0x000C0A73,0x000C0A70,0x000C0A6D,0x000C0A6A, -0x00100A66,0x000C0A63,0x000C0A60,0x000C0A5D,0x00100A59,0x000C0A56,0x000C0A53,0x000C0A50,0x000C0A4D,0x000C0A4A, -0x000C0A47,0x000C0A44,0x000C0A41,0x8000CC1C,0x8100CC5D,0x8200CC5E,0x8300CC5F,0x8400CC60,0x8500CC61,0x8600CC61, -0x8700CA7D,0x8800CC62,0x8900CC63,0x8A00CC64,0x8B00CC65,0x8C00CA02,0x8D00CC66,0x8E00CC67,0x8F00CC68,0x9000C9A3, -0x9100CC69,0x9200CC6A,0x9300CC6B,0x9400CC6C,0x9500CC6D,0x9600CC6E,0x9700CC6F,0x9800CC70,0x9900CC71,0x9A00CC72, -0x9B00CC73,0x9C00CC74,0x9D00CC75,0x9E00CC76,0x9F00CC77,0xA000CC78,0xA100CC79,0xA200CC7A,0xA300CC7B,0xA400CC7C, -0xA500CC7D,0xA600CC7E,0xA700CC7F,0xA800CC80,0xA900CC81,0xAA00CC82,0xAB00CC82,0xAC00CC83,0xAD00CC84,0xAE00CC85, -0xAF00C886,0xB000CC86,0xB100CC87,0xB200CC88,0xB300CC89,0xB400CC8A,0xB500CC8B,0xB600CC8C,0xB700CC8D,0xB800CA07, -0xB900CC8E,0xBA00CC8F,0xBB00CC90,0xBC00CC91,0xBD00CC92,0xBE00CC93,0xBF00CC94,0x000C0A3E,0x000C0A3B,0x000C0A38, -0x000C0A35,0x000C0A32,0x000C0A2F,0x000C0A2C,0x000C0A29,0x000C0A26,0x000C0A23,0x000C0A20,0x000C0A1D,0x000C0A1A, -0x000C0A17,0x000C0A14,0x000C0A11,0x000C0A0E,0x000C0A0B,0x000C0A08,0x000C0A05,0x00100A01,0x000C09FE,0x000C09FB, -0x000C09F8,0x000C09F5,0x000C09F2,0x000C09EF,0x001009EB,0x001009E7,0x000C09E4,0x000C09E1,0x000C09DE,0x000C09DB, -0x000C09D8,0x000C09D5,0x000C09D2,0x000C09CF,0x000C09CC,0x001009C8,0x000C09C5,0x000C09C2,0x000C09BF,0x001009BB, -0x000C09B8,0x000C09B5,0x000C09B2,0x000C09AF,0x000C09AC,0x000C09A9,0x000C09A6,0x000C09A3,0x0010099F,0x000C099C, -0x00100998,0x000C0995,0x000C0992,0x000C098F,0x000C098C,0x000C0989,0x000C0986,0x000C0983,0x000C0980,0x000C097D, -0x000C097A,0x8000CC95,0x8100CC96,0x8200CC97,0x8300CC98,0x8400CC99,0x8500CC9A,0x8600CC9B,0x8700CC9C,0x8800CCDD, -0x8900CCDE,0x8A00CCDF,0x8B00CCE0,0x8C00CCE1,0x8D00CCE2,0x8E00C7D0,0x8F00CCE3,0x9000CCE4,0x9100CCE5,0x9200CCE5, -0x9300CCE6,0x9400CCE7,0x9500CCE7,0x9600CCE8,0x9700CCE9,0x9800CCEA,0x9900CCEB,0x9A00CCEC,0x9B00CCED,0x9C00CCEE, -0x9D00CCEF,0x9E00CCF0,0x9F00CCF1,0xA000CCF2,0xA100CCF3,0xA200CCF4,0xA300CA08,0xA400CCF5,0xA500CCF6,0xA600CCF7, -0xA700CCF8,0xA800CA89,0xA900CCF8,0xAA00CCF9,0xAB00CA0A,0xAC00CCFA,0xAD00CCFB,0xAE00CCFC,0xAF00CCFD,0xB000CA0B, -0xB100C7B5,0xB200CCFE,0xB300CCFF,0xB400CD00,0xB500CD01,0xB600CD02,0xB700CD03,0xB800CD04,0xB900CD05,0xBA00CD06, -0xBB00CD07,0xBC00CD08,0xBD00CD09,0xBE00CD0A,0xBF00CD0B,0x000C0977,0x00100973,0x000C0970,0x000C096D,0x000C096A, -0x000C0967,0x00100963,0x000C0960,0x0010095C,0x000C0959,0x000C0956,0x000C0953,0x0010094F,0x0010094B,0x000C0948, -0x000C0945,0x000C0942,0x000C093F,0x000C093C,0x000C0939,0x000C0936,0x000C0933,0x000C0930,0x000C092D,0x00100929, -0x000C0926,0x000C0923,0x000C0920,0x000C091D,0x000C091A,0x000C0917,0x000C0914,0x000C0911,0x000C9ECD,0x000C090E, -0x000C090B,0x000C0908,0x000C0905,0x000C0902,0x001008FE,0x000C08FB,0x000C08F8,0x000C08F5,0x000C08F2,0x000C08EF, -0x001008EB,0x000C08E8,0x000C08E5,0x000C08E2,0x000C08DF,0x000C08DC,0x000C08D9,0x000C08D6,0x000C08D3,0x000C08D0, -0x000C08CD,0x001008C9,0x000C08C6,0x000C08C3,0x000C08C0,0x000C08BD,0x000C08BA,0x000C08B7,0x000C08B4,0x8000CD0C, -0x8100CD0D,0x8200CD0E,0x8300CD0F,0x8400CD10,0x8500CD11,0x8600CD12,0x8700CD13,0x8800CA0C,0x8900CD14,0x8A00CD15, -0x8B00CD16,0x8C00CD17,0x8D00CD18,0x8E00CD19,0x8F00CA0E,0x9000CD1A,0x9100CD1B,0x9200CD1C,0x9300CD5D,0x9400CD5E, -0x9500CD5F,0x9600CD60,0x9700CD61,0x9800C7D1,0x9900CA91,0x9A00CD62,0x9B00CD63,0x9C00CD64,0x9D00CD65,0x9E00CD66, -0x9F00CD67,0xA000CD68,0xA100CD69,0xA200CA0F,0xA300CD6A,0xA400CD6B,0xA500CD6C,0xA600CD6D,0xA700CAFC,0xA800CD6E, -0xA900CD6F,0xAA00CD70,0xAB00CD71,0xAC00CD72,0xAD00CD73,0xAE00CD74,0xAF00CD75,0xB000CD76,0xB100CD77,0xB200CD78, -0xB300CD79,0xB400CD7A,0xB500C897,0xB600CD7B,0xB700CD7C,0xB800CD7D,0xB900CD7E,0xBA00CD7F,0xBB00CD80,0xBC00CD81, -0xBD00CD82,0xBE00CD83,0xBF00CD84,0x000C08B1,0x000C08AE,0x000C08AB,0x000C08A8,0x000C08A5,0x000C08A2,0x000C089F, -0x000C089C,0x00100898,0x000C0895,0x000C0892,0x000C088F,0x000C088C,0x00100888,0x000C0885,0x000C0882,0x000C087F, -0x000C087C,0x000C0879,0x000C0876,0x000C0873,0x0010086F,0x000C086C,0x000C0869,0x000C0866,0x00100862,0x000C085F, -0x000C085C,0x000C0859,0x000C0856,0x000C0853,0x0010084F,0x0010084B,0x00100847,0x000C0844,0x00100840,0x000C083D, -0x000C083A,0x000C0837,0x000C0834,0x000C0831,0x000C082E,0x000C082B,0x000C0828,0x00100824,0x000C0821,0x000C081E, -0x000C081B,0x000C0818,0x000C0815,0x00100811,0x000C080E,0x000C080B,0x00100807,0x00100803,0x000C0800,0x000C07FD, -0x000C07FA,0x000C07F7,0x000C07F4,0x000C07F1,0x000C07EE,0x000C07EB,0x001007E7,0x8000CD85,0x8100CA10,0x8200C96E, -0x8300CD86,0x8400CD87,0x8500CD88,0x8600CD89,0x8700CD8A,0x8800CD8B,0x8900CD8C,0x8A00CD8D,0x8B00CA95,0x8C00CD8E, -0x8D00CD8F,0x8E00CD90,0x8F00CD91,0x9000CD92,0x9100CD93,0x9200CD94,0x9300CD95,0x9400CA96,0x9500CD96,0x9600CD97, -0x9700CD98,0x9800CD99,0x9900CD9A,0x9A00CD9B,0x9B00CD9C,0x9C00CDDD,0x9D00CDDE,0x9E00CDDF,0x9F00CDE0,0xA000CDE1, -0xA100CA98,0xA200CDE2,0xA300CDE3,0xA400CDE4,0xA500CDE5,0xA600CDE6,0xA700CDE7,0xA800CDE8,0xA900CDE9,0xAA00CDEA, -0xAB00CDEB,0xAC00CDEC,0xAD00CDEC,0xAE00CDED,0xAF00CDEE,0xB000CA9A,0xB100CDEF,0xB200CDF0,0xB300CDF1,0xB400CDF2, -0xB500CDF3,0xB600CDF4,0xB700CDF5,0xB800C889,0xB900CDF6,0xBA00CDF7,0xBB00CDF8,0xBC00CDF9,0xBD00CDFA,0xBE00CDFB, -0xBF00CDFC,0x000C07E4,0x001007E0,0x000C07DD,0x001007D9,0x000C07D6,0x000C07D3,0x001007CF,0x000C07CC,0x000C07C9, -0x001007C5,0x001007C1,0x000C07BE,0x000C07BB,0x000C07B8,0x000C07B5,0x000C07B2,0x000C07AF,0x000C07AC,0x000C07A9, -0x000C07A6,0x000C07A3,0x000C07A0,0x0010079C,0x000C0799,0x00100795,0x00100791,0x000C078E,0x0010078A,0x00100786, -0x00100782,0x000C077F,0x000C077C,0x00100778,0x00100774,0x00100770,0x0010076C,0x000C0769,0x000C0766,0x000C0763, -0x000C0760,0x000C075D,0x00100759,0x000C0756,0x000C0753,0x0010074F,0x0010074B,0x00100747,0x000C0744,0x000C0741, -0x000C073E,0x000C073B,0x00100737,0x00100733,0x000C0730,0x000C072D,0x00100729,0x000C0726,0x000C0723,0x000C0720, -0x0010071C,0x000C0719,0x000C0716,0x000C0713,0x000C0710,0x8000CAA0,0x8100CDFD,0x8200CDFE,0x8300CDFF,0x8400CE00, -0x8500CE01,0x8600CE02,0x8700CE02,0x8800CAA1,0x8900CAFE,0x8A00CE03,0x8B00CE04,0x8C00CE05,0x8D00CE06,0x8E00CE07, -0x8F00C823,0x9000CAA3,0x9100CE08,0x9200CE09,0x9300CA1B,0x9400CE0A,0x9500CE0B,0x9600C9ED,0x9700CE0C,0x9800CE0D, -0x9900CA1F,0x9A00CE0E,0x9B00CE0F,0x9C00CE10,0x9D00CE11,0x9E00CE11,0x9F00CE12,0xA000CE13,0xA100CE14,0xA200CE15, -0xA300CE16,0xA400CE17,0xA500CE18,0xA600CE19,0xA700CE1A,0xA800CE1B,0xA900CE1C,0xAA00CE5D,0xAB00CE5E,0xAC00CE5F, -0xAD00CE60,0xAE00CE61,0xAF00CE62,0xB000CE63,0xB100CE64,0xB200CE65,0xB300CE66,0xB400CE67,0xB500CE68,0xB600CE69, -0xB700CE6A,0xB800CE6B,0xB900CE6C,0xBA00CA25,0xBB00CE6D,0xBC00CE6E,0xBD00CE6F,0xBE00CE70,0xBF00CE71,0x000C070D, -0x00100709,0x000C0706,0x000C0703,0x000C0700,0x000C06FD,0x000C06FA,0x000C06F7,0x001006F3,0x001006EF,0x000C06EC, -0x001006E8,0x000C06E5,0x001006E1,0x000C06DE,0x000C06DB,0x001006D7,0x001006D3,0x000C06D0,0x001006CC,0x000C06C9, -0x001006C5,0x000C06C2,0x000C06BF,0x000C06BC,0x000C06B9,0x000C06B6,0x000C06B3,0x001006AF,0x001006AB,0x001006A7, -0x001006A3,0x000C06A0,0x000C069D,0x000C069A,0x000C0697,0x000C0694,0x000C0691,0x000C068E,0x000C068B,0x000C0688, -0x000C0685,0x000C0682,0x0010067E,0x000C067B,0x000C0678,0x000C0675,0x000C0672,0x000C066F,0x000C066C,0x000C0669, -0x000C0666,0x000C0663,0x000C0660,0x0010065C,0x00100658,0x00100654,0x000C0651,0x000C064E,0x000C064B,0x000C0648, -0x00100644,0x000C0641,0x0010063D,0x8000CE72,0x8100CE73,0x8200CE74,0x8300CE75,0x8400CE76,0x8500CE77,0x8600CE78, -0x8700CE79,0x8800CE7A,0x8900CE7B,0x8A00CE7C,0x8B00CCE6,0x8C00CE7D,0x8D00CE7E,0x8E00CE7F,0x8F00CE80,0x9000CE81, -0x9100CE82,0x9200CE83,0x9300CE84,0x9400CE85,0x9500CE86,0x9600CE87,0x9700CE88,0x9800C89B,0x9900CE89,0x9A00CE8A, -0x9B00CE8B,0x9C00CE8C,0x9D00CE8D,0x9E00CE8E,0x9F00CA56,0xA000CE8F,0xA100CE90,0xA200CE91,0xA300CE92,0xA400CE93, -0xA500CE94,0xA600CE95,0xA700CE96,0xA800CE97,0xA900CE98,0xAA00CE99,0xAB00CE9A,0xAC00CE9B,0xAD00CE9C,0xAE00CEDD, -0xAF00CEDE,0xB000CEDF,0xB100CEE0,0xB200CEE1,0xB300CEE2,0xB400C81E,0xB500CEE3,0xB600CEE4,0xB700CEE5,0xB800CEE6, -0xB900CEE7,0xBA00CEE8,0xBB00CAEA,0xBC00CEE9,0xBD00CEEA,0xBE00CEEB,0xBF00CEEC,0x000C063A,0x000C0637,0x00100633, -0x0010062F,0x000C062C,0x000C0629,0x000C0626,0x000C0623,0x000C0620,0x000C061D,0x000C061A,0x000C0617,0x000C0614, -0x000C0611,0x000C060E,0x000C060B,0x000C0608,0x000C0605,0x000C0602,0x000C05FF,0x000C05FC,0x001005F8,0x000C05F5, -0x000C05F2,0x000C05EF,0x000C05EC,0x000C05E9,0x001005E5,0x001005E1,0x000C05DE,0x000C05DB,0x000C05D8,0x000C05D5, -0x001005D1,0x000C05CE,0x000C05CB,0x000C05C8,0x000C05C5,0x001005C1,0x001005BD,0x000C05BA,0x000C05B7,0x000C05B4, -0x001005B0,0x000C05AD,0x001005A9,0x001005A5,0x000C05A2,0x000C059F,0x000C059C,0x00100598,0x000C0595,0x000C0592, -0x000C058F,0x000C058C,0x000C0589,0x000C0586,0x000C0583,0x0010057F,0x000C057C,0x000C0579,0x000C0576,0x00100572, -0x000C056F,0x8000CEED,0x8100CEEE,0x8200CEEF,0x8300CEF0,0x8400CEF1,0x8500CEF2,0x8600CEF3,0x8700CEF4,0x8800CEF5, -0x8900CEF6,0x8A00CEF7,0x8B00CEF8,0x8C00CEF9,0x8D00CEFA,0x8E00CEFB,0x8F00CEFC,0x9000CAEF,0x9100CAF0,0x9200CEFD, -0x9300CEFE,0x9400CEFF,0x9500CF00,0x9600CF01,0x9700CF02,0x9800CF03,0x9900CF04,0x9A00CF05,0x9B00CF06,0x9C00CF07, -0x9D00CF08,0x9E00CF09,0x9F00CAF1,0xA000CF0A,0xA100CF0B,0xA200CF0C,0xA300CF0D,0xA400CF0E,0xA500CF0F,0xA600CF10, -0xA700CF11,0xA800CF12,0xA900CF13,0xAA00CF14,0xAB00CF15,0xAC00CF16,0xAD00CF17,0xAE00CF18,0xAF00CF19,0xB000CF1A, -0xB100CF1B,0xB200CF1C,0xB300CF5D,0xB400CF5E,0xB500CF5F,0xB600CF60,0xB700CF61,0xB800CF62,0xB900CF63,0xBA00CF64, -0xBB00CF65,0xBC00CF66,0xBD00CF67,0xBE00CAF7,0xBF00CAF7,0x000C056C,0x000C0569,0x000C0566,0x00100562,0x0010055E, -0x000C055B,0x000C0558,0x000C0555,0x00100551,0x000C054E,0x0010054A,0x000C0547,0x00100543,0x000C0540,0x000C053D, -0x000C053A,0x000C0537,0x000C0534,0x000C0531,0x000C052E,0x0010052A,0x000C0527,0x000C0524,0x000C0521,0x000C051E, -0x000C051B,0x00100517,0x000C0514,0x00100510,0x0010050C,0x00100508,0x000C0505,0x000C0502,0x000C04FF,0x000C04FC, -0x000C04F9,0x000C04F6,0x000C04F3,0x000C04F0,0x001004EC,0x00049CD2,0x000CB148,0x00049E59,0x000C9FD0,0x00049CC8, -0x00049CC6,0x000C9FCD,0x00089E70,0x000C9FCA,0x00049CCA,0x00049ED4,0x0014B19D,0x0014B198,0x0014B193,0xBC00E805, -0x00089FC8,0x00089FC6,0x000C9FC3,0x000C9FC0,0x000C9FBD,0x00049E3C,0x0010B18F,0x0010B18B,0x0010B187,0x8000CF68, -0x8100CF69,0x8200CF6A,0x8300CF6B,0x8400CF6C,0x8500CF6D,0x8600CF6E,0x8700CF6F,0x8800CF70,0x8900CF71,0x8A00CAF8, -0x8B00CF72,0x8C00CF73,0x8D00CF74,0x8E00CF75,0x8F00CF76,0x9000CF77,0x9100CF78,0x9200CF79,0x9300CF7A,0x9400CF7B, -0x9500CF7C,0x9600CF7D,0x9700CF7E,0x9800CF7F,0x9900CF80,0x9A00CF81,0x9B00CF82,0x9C00CF83,0x9D00CF84,0x00089FBB, -0x00089FB9,0x00089FB7,0x00089FB5,0xA000CF85,0x00089FB3,0x00089FB1,0x0008B18F,0x0008B18B,0x0008B187,0x00049E58, -0x000804EA,0xA800CF86,0x00049FB2,0xAA00CF87,0x00049E43,0x000804E8,0x000804E6,0x000804E4,0xAF00CF88,0x0004A37F, -0x00049E5B,0xB200CF89,0xB300CF8A,0xB400CF8B,0xB500CF8C,0x000C9FAE,0x000C9FAB,0xB800CF8D,0xB900CF8E,0xBA00CF8F, -0x000C9FA8,0xBC00CF90,0xBD00CF91,0xBE00CF92,0x000C9FA5,0x000C9FA2,0xC200CF1F,0xC300675B,0xC400CF93,0xC500CFD3, -0xC6006865,0xC700D00F,0xC8006905,0x000C9F9F,0xCA00D01F,0xCB00D040,0x000804E2,0xCD00D065,0xCE00D066,0xCF00D070, -0xD0006985,0xD1006986,0x00049E4A,0xD30069AF,0x00049E4B,0x000804E0,0xD6009770,0x000C9F9C,0xD80069CA,0xD900D052, -0x0014B182,0xDB0069E9,0x000804DE,0x000804DC,0x0008A29A,0x000804DA,0xE000D083,0xE100D0C4,0xE200D237,0xE300D5E1, -0x000804D8,0x000804D6,0x0008A2AA,0x000804D4,0x000804D2,0x0008A32C,0xEA00DAAE,0xEB007737,0xEC0097B7,0xED00B7B8, -0x000804D0,0xEF00DACC,0xF000E0DE,0xB300D03A,0x00109F98,0x00109F94,0x00109F90,0x8000683C,0x8100683D,0x82006852, -0x83006853,0x8400685D,0x8500685E,0x8600685F,0x87006864,0x8800686B,0x8900686C,0x8A00686D,0x8B00686E,0x8C00686F, -0x8D006870,0x8E006871,0x8F006872,0x00109F8C,0x00109F88,0x92006873,0x93006874,0x94006875,0x95006876,0x96006877, -0x97006878,0x98006879,0x9900687A,0x9A00687B,0x9B00687C,0x9C00687D,0x9D00687E,0x9E00687F,0x9F006880,0xA0006881, -0xA1006882,0xA2006883,0xA3006884,0xA4006885,0xA5006886,0x00189F82,0x00189F7C,0xA8006887,0xA9006888,0xAA006889, -0xAB00688A,0xAC00688B,0xAD00688C,0xAE00688D,0xAF00688E,0xB000688F,0x00189F76,0xB200CF94,0xB300CF95,0xB4006890, -0xB5006891,0xB6006892,0xB7006893,0x00189F70,0xB9006894,0xBA006895,0xBB006896,0xBC006897,0xBD006898,0xBE006899, -0xBF00CF96,0x8000CF97,0x9C00D044,0x9D00D04B,0x830068A0,0x840068A1,0x850068A2,0x860068A9,0x870068AA,0x880068BD, -0x8900CF98,0x8C00D05E,0x000C04CD,0x8C0068BE,0x8D0068D6,0x8E0068D7,0x8F0068D8,0x900068D9,0x910068DA,0x8C00D4BF, -0xAF00D4C8,0x940068DB,0x950068DC,0x960068DD,0x970068DE,0x980068DF,0x990068E0,0x9A0068E1,0x9B0068E2,0x9C0068E3, -0x9D0068E4,0x9E0068E5,0x9F0068E6,0xA00068E7,0xA10068E8,0xA20068E9,0xA30068EA,0xA40068EB,0xA50068EC,0x0024B179, -0x0024B170,0xA80068ED,0xA90068EE,0xAA0068EF,0xAB0068F0,0xAC0068F1,0xAD0068F2,0xAE0068F3,0xAF0068F4,0xB00068F5, -0xB10068F6,0xB20068F7,0xB30068F8,0xB40068F9,0xB50068FA,0xB60068FB,0xB70068FC,0xB80068FD,0xB90068FE,0xBA0068FF, -0xBB006900,0xBC006901,0xBD006902,0xBE006903,0xBF00CF99,0x8400CF9A,0x8500CF9B,0x8600CF9C,0x8700CFBB,0x8800CFBC, -0x8900CFBD,0x8A00CFBE,0x8B00CFC0,0x8C00CFC1,0x8D00690A,0x8E00690B,0x8F00690C,0x9000690D,0x9100690E,0x9200690F, -0x93006910,0x94006911,0x95006912,0x96006913,0x97006916,0x98006917,0x99006918,0x9A006919,0x9B00691A,0x9C00691B, -0x000C04CA,0x9E00691C,0x9F00691D,0xA000691E,0xA100691F,0xA2006920,0xA3006921,0x00049EAE,0x0008A7FC,0xA6006922, -0xA7006923,0xA8006924,0xA9006925,0xAA006926,0xAB006937,0xAC00693E,0xAD00693F,0xAE00694B,0xAF00694C,0xB000694D, -0xB100CFC2,0xB200CFC3,0xB300CFC4,0xB4006950,0xB5006951,0x00049E5D,0x00049CA8,0xB800695A,0xB900695B,0xBA00695C, -0xBB00695D,0xBC00695E,0xBD00695F,0xBE006960,0xBF006961,0xB000CFC5,0xB100CFC6,0xB200CFC8,0xB300CFCA,0xB400CFCB, -0xB500CFCC,0xB600CFCD,0xB700CFCF,0xB800CFD0,0x9800CFD5,0x9900CFD6,0x9A00CFDA,0x9B00CFDE,0x9C00CFDF,0x9D00CFE7, -0x0004A369,0x000804C8,0xA000CFEA,0xA100CFF0,0xA200CF99,0xA300CFF2,0xA400CFF3,0x800069BC,0x810069BF,0x00049E5A, -0x830069C0,0x840069C1,0x8400CF8B,0x8500CFF8,0x860069C5,0x870069C6,0x880069C7,0x890069C8,0x8A0069C9,0x00049CB4, -0x8C0069D0,0x00049ED0,0x8E0069D2,0x8F0069D6,0x900069D7,0x00049CA9,0x00049FB9,0x00049CAA,0x8A0069E4,0x8B0069E5, -0x8C0069E6,0x8D0069E7,0x8E0069EA,0x00049F54,0x9000CFFA,0x9100CFFB,0x9200CFFC,0x930069D2,0x940069D9,0x9500CFFD, -0x9600D002,0xB500D011,0xB600D012,0xB700D023,0xB800D024,0x0004A357,0x000804C6,0x00049E44,0x00049E45,0x00049F50, -0xAA0069D8,0xAB0069D9,0xAC0069DA,0xAD0069DB,0xAE0069DC,0xAF0069DD,0xB00069DE,0x00049ED1,0xB000DB30,0xB40069C2, -0x00049CAE,0x000804C4,0x000804C2,0x000C04BF,0x00049E3F,0xBA00CFF5,0xB000D003,0xB100D004,0xB200D005,0xBE0069C3, -0xB400D006,0xB500D007,0x00049E5C,0xA40069E0,0xA5006A05,0xB900D00C,0xA7006A0C,0xA80069DF,0xA9006A13,0x00049EF2, -0x000804BD,0x000804BB,0xAD006A30,0xAE006A12,0xAF006A3C,0x000804B9,0xB1006A31,0x00049E9C,0xB3006A49,0x00049E4E, -0xB5006A4B,0x83006AC3,0xB7006A3E,0xB8006EC6,0x00049E48,0xBA00CF5C,0xBB00CFB8,0xBC00CFD1,0xBD00D0B6,0xBE006A61, -0x000804B7,0x8D006AC4,0x80006A46,0x000804B5,0x000C04B2,0x83006DD1,0x92006AC5,0x000C04AF,0x00049E75,0x00049E3D, -0x0004A348,0x97006ACA,0x000C04AC,0x000804AA,0x00049E41,0x000C04A7,0x9C006ACB,0x000804A5,0x000804A3,0x000804A1, -0x00049E54,0x0008049F,0x0008049D,0x00049E5E,0x0008049B,0x00080499,0x00049E90,0x00080497,0x00080495,0xA9006ACE, -0x00080493,0x00080491,0x0008048F,0x0008048D,0x000C048A,0x00080488,0x00080486,0x000C0483,0x00080481,0xB3006AD2, -0x0008047F,0xB5006ADD,0xB6006ADF,0xB700D079,0xB8006AE0,0xB900D07A,0xAC006A84,0xAD006A78,0x0008047D,0x0008047B, -0x00080479,0x00080477,0x00080475,0x00080473,0xB400D0D8,0xB500D118,0xB600D136,0x00080471,0xB8006AC6,0xB9006B1A, -0xBA00D178,0xBB006C1A,0xBC006C9A,0xBD006D1A,0xBE00D1B8,0xBF00D1F8,0xAC00D0B3,0xAD00D0B4,0xAE00D0C5,0x0008046F, -0xB000D0C6,0xB100D0DE,0xB200D0DF,0xB300D0E7,0xB400D0F1,0xB500D0F3,0xB600D0F7,0xB7006E89,0xB800D0F8,0xB900D0F9, -0xBA00D0FF,0x0008046D,0xBC00D10B,0xBD00D10C,0xBE00D10D,0xBF00D10E,0x8000D10F,0x8100D117,0x8200D11A,0x8300CF87, -0x8400D11B,0x8500D11C,0x8600D11D,0x8700D11E,0x8800D126,0x8900D12D,0x8A00D12E,0x8B00D12F,0x8C00D133,0x8D00D135, -0x0008046B,0x8F00D137,0x9000D13C,0x9100D142,0x9200CF8F,0x9300D145,0x9400D146,0x9500D149,0x9600D14A,0x9700D14B, -0x9800D14C,0x9900D14E,0x9A00D14F,0x9B00D150,0x9C00D151,0x9D00CFFA,0x9E00D153,0x9F00D154,0xA000CFFD,0xA100D155, -0xA200D156,0xA300CFCA,0xA400D14C,0xA500D150,0xA600CFFA,0xA700D153,0xA800D004,0xA900CFFD,0xAA00D155,0x00080469, -0x000C0466,0x00080464,0x00080462,0x0004A388,0x00080460,0x0008045E,0x0008A80F,0x000C9F6D,0x000CB15C,0x000C9F6A, -0x0014B16B,0x0014B166,0xB800D157,0x9B00D158,0x9C00D159,0x9D00D15A,0x9E00D15B,0x9F00D133,0xA000D15C,0xA100D15D, -0xA200D15E,0xA300D160,0xA400D161,0xA500D162,0xA600D163,0xA700D164,0xA800D165,0xA900D166,0xAA00D167,0xAB00D168, -0xAC00D16A,0xAD00D172,0xAE00D173,0xAF00D174,0xB000D175,0xB100D176,0xB200D177,0xB300D17B,0xB400D187,0xB500D193, -0xB600D1A6,0xB700D1C3,0xB800D1C4,0xB900D1C5,0xBA00D1C6,0xBB00D1C7,0xBC00D1C8,0xBD00D1C9,0xBE00D1CA,0xBF00CFFB, -0x0014B161,0x0014B15C,0x80006C19,0x81006C34,0x82006C36,0x83006C37,0x84006C38,0x85006C39,0x86006C5A,0x87006C5B, -0x88006C5C,0x89006C5D,0x8A006C5E,0x8B006C5F,0x8C006C60,0x8D006C61,0x8E006C62,0x8F006C63,0x90006C64,0x91006C65, -0x92006C66,0x93006C67,0x94006C68,0x95006C69,0x96006C6A,0x97006C6B,0x98006C6C,0x99006C6D,0x9A00D1CB,0x9B006BFA, -0x0014B157,0x0014B152,0x0014B14D,0x0014B148,0xA0006C6F,0xA1006C70,0xA2006C71,0xA3006C72,0xA4006C73,0xA5006C74, -0xA6006C75,0xA7006C76,0xA8006C77,0xA9006C78,0xAA006C79,0xAB006C7A,0xAC006C7B,0xAD006C7C,0xAE006C7D,0xAF006C7E, -0xB0006C7F,0xB1006C80,0xB2006C81,0xB3006C82,0xB4006C83,0xB5006C84,0xB6006C85,0xB7006C86,0xB8006C87,0xB9006C88, -0xBA006C89,0xBB006C8A,0xBC006C8B,0xBD006C8C,0xBE006C8D,0xBF006C8E,0x80006DE0,0x81006DE1,0x82006DE2,0x83006DE3, -0x84006DE4,0x85006DE5,0x86006DE6,0x87006DE7,0x88006DE8,0x89006DE9,0x8A006DEA,0x8B006DEB,0x8C006DEC,0x8D006DED, -0x8E006DEE,0x8F006DEF,0x90006DF0,0x91006DF1,0x92006DF2,0x93006DF3,0x94006DF4,0x95006DF5,0x96006DF6,0x97006DF7, -0x98006DF8,0x99006DF9,0x9A006DFA,0x9B006DFB,0x9C006DFC,0x9D006DFD,0x9E006DFE,0x9F006DFF,0xA0006E00,0xA1006E01, -0xA2006E02,0xA3006E03,0xA4006E04,0xA5006E05,0xA6006E06,0xA7006E07,0xA8006E08,0xA9006E09,0xAA006E0A,0xAB006E0B, -0xAC006E0C,0xAD006E0D,0xAE006E0E,0xAF006E0F,0xB0006E10,0xB1006E11,0xB2006E12,0xB3006E13,0xB4006E14,0x000CB14D, -0xB6006E15,0xB7006E16,0xB8006E17,0xB9006E18,0xBA006E19,0xBB0069C5,0xBC006E4F,0xBD00D1CC,0xBE006E57,0xBF00D1CC, -0x8000D1CD,0x8100D1CE,0x82006E5A,0x83006E5B,0x84006E5C,0x000C045B,0x86006E5D,0x87006E5E,0x88006E5F,0x890069C7, -0x8A006E60,0x8B0069C8,0x8C006E61,0x8D00D1CF,0x8E00D1F6,0x8F00D1F7,0x90006E65,0x91006E66,0x92006E67,0x930069D7, -0x000C9F67,0x0004ADCE,0x96006E68,0x97006E69,0x98006E6A,0x99006E6B,0x9A006E6C,0x9B0069C9,0x0008B145,0x9D00D214, -0x9E00D215,0x9F00D216,0xA0006E70,0xA1006E71,0xA2006E72,0xA30069DE,0xA4006E73,0xA5006E74,0xA6006E75,0xA7006E76, -0xA8006E77,0xA9006E78,0xAA006E79,0xAB0069D2,0xAC006E7A,0xAD00D217,0xAE00CFF8,0xAF006E7C,0x000CB145,0x001A32D3, -0xB2006E7D,0xB3006E7E,0xB4006E7F,0x002632D3,0xB6006E80,0xB7006E81,0xB8006E82,0xB90069D0,0xBA006E83,0xBB0069D6, -0xBC006E84,0xBD00CF8B,0xBE00D26D,0x8000D253,0x8100D266,0x8200D2A6,0x0018B13C,0x8400D2CA,0x8500D30A,0x8600D34A, -0x87006E8D,0x8800D350,0x89006E9D,0x8A006EAB,0x8B006EBB,0x8C006E56,0x0024B13C,0x00089F65,0x000C9F62,0x00089F60, -0x9100D363,0x9200D3A3,0x9300D411,0x00089F5E,0x00089F5F,0x003232D3,0x00049CCC,0x00049CC4,0x00049CC2,0x00049CC0, -0x00049CBE,0x8000CF85,0x8100CF85,0x8200CF85,0x8300CF85,0x8400CF85,0x8500CF85,0x8600CF85,0x8700CF85,0x8800CF85, -0x8900CF85,0x8A00CF85,0x00049CBC,0xA800CFD9,0xA900D40C,0x00049CBA,0xAB006E9B,0x0004045A,0x9100D27D,0x000C0457, -0x0004A234,0x0004AA15,0xB100D40A,0x0004AA17,0x9700D28C,0x00049E4D,0xB500CFB7,0x8700D2C7,0x8800D2CB,0x8900D2CC, -0x00089F5C,0xBA00D42A,0xBB00D418,0xBC00D44D,0xBD00D4C7,0xBE00D547,0xBF00D5C7,0xA400D28D,0xA500D294,0xA600D2A8, -0x000CB139,0x000CB136,0x00049CAD,0x9700D2CD,0x000C9F59,0x000CB133,0x000CB130,0x00080455,0xAF00CF85,0x000C9F56, -0x00080453,0x9F00CF85,0xB300D2A9,0xB400D2AD,0x00089F54,0xB600D2BA,0xB700D2C4,0x0004AA31,0x00089F52,0x000CB12D, -0x00089F50,0xBC00D2C5,0x00049CB7,0xBE00D2C6,0x00049EA2,0x00089E24,0x0008A043,0x0008A093,0xB000D2CE,0xB100D156, -0x0008A08F,0x000CB12A,0xB400D2CF,0xB500D2D0,0xB600D2D1,0xB700D2D2,0xB800D2DE,0xB900D2E1,0xBA00D2E3,0xBB00D2E5, -0xBC00D2E6,0xBD00D2E7,0xBE00D2E9,0xBF00D2EB,0x8000D2CE,0x8100CF8E,0x8200CF89,0x8300CF8A,0x8400D2CF,0x8500D2D0, -0x8600D2D1,0x8700D2D2,0x8800D2DE,0x8900D2E1,0x8A00D2E3,0x8B00D2E5,0x8C00D2E6,0x8D00D2E7,0x8E00D2E9,0x00080451, -0x9000CF87,0x9100D12D,0x9200CF8F,0x9300CFF2,0x9400D12E,0x9500CFC5,0x9600D137,0x9700CFF0,0x9800D13C,0x9900D2EB, -0x9A00D14A,0x9B00CF99,0x9C00D14B,0x0008044F,0x000C044C,0x0014B125,0x0014B120,0x001A32CD,0x0014B11B,0x0014B116, -0x8000D2FA,0x8100D2FB,0x8200D2FC,0x8300D2FE,0xA800D2F0,0x8500D2FF,0x8600D300,0x8700D301,0x0014B111,0x8900D303, -0x8A00D135,0x8B00D0F1,0x8C00D0F1,0x8D00D0F1,0x8E00CFC5,0x8F00D304,0x9000D0F3,0x9100D0F3,0x9200D0F8,0x9300CFF0, -0x0014B10C,0x9500D0FF,0x9600D308,0x0014B107,0x0014B102,0x9900D10D,0x9A00D30B,0x9B00D10E,0x9C00D10E,0x9D00D10E, -0x0014B0FD,0x0014B0F8,0xA000D30C,0xA100D30D,0xA200D30E,0x0014B0F3,0xA400D310,0x0014B0EE,0xA6006E88,0x0014B0E9, -0xA800D310,0x0014B0E4,0xAA006E89,0xAB0067B5,0xAC00D0C5,0xAD00D2FC,0x0010B0F3,0xAF00D12D,0xB000D0DE,0xB100D312, -0x0008B0E2,0xB300D0F9,0xB400CF8F,0xB500D313,0xB600D314,0xB700D315,0xB800D318,0xB900D156,0x000E32CA,0xBB00D319, -0xBC00D002,0xBD00D153,0xBE00D335,0xBF00D343,0x8000D344,0x00089F4E,0x00049CB5,0x000A32C9,0x000E32C9,0x8500D0C6, -0x8600D126,0x8700D12D,0x8800D156,0x8900CFC8,0x001232C9,0x00089F4C,0x00049F4D,0x00089F4D,0x000CB0E1,0x0008B0DF, -0x9000D345,0x9100D346,0x9200D347,0x9300D348,0x9400D349,0x9500D352,0x9600D35E,0x9700D361,0x9800D362,0x9900D368, -0x9A00D369,0x9B00D36D,0x9C00D36F,0x9D00D371,0x9E00D373,0x9F00D378,0xA000D0F3,0xA100D37C,0xA200D384,0xA300D38B, -0xA400D38C,0xA500D38D,0xA600D38E,0xA700D394,0xA800D395,0xA900D396,0xAA00D397,0xAB00D398,0xAC00D0F8,0xAD00D2FC, -0xAE00D0C6,0xAF00D0F9,0xB000D156,0xB100D399,0xB200D3CA,0xB300D3CB,0xB400D150,0xB500D3CC,0xB600D3CD,0xB700D3CE, -0xB800D3CF,0xB900CFF2,0xBA00D3D0,0xBB00D3D1,0xBC00CFF0,0xBD00D159,0xBE00D126,0xBF00D13C,0x000E32C6,0x00089F4A, -0x000A32C5,0x000E32C5,0x001232C5,0x00089F48,0x00089F49,0x000CB0DE,0x0014B0D9,0x8900D3D2,0x84006E91,0x001A328D, -0x0026328D,0x0018B0D0,0x0024B0D0,0x89006E92,0x0008ADB1,0x0008ADAC,0x8C006E93,0x0008ADA7,0x0008ADA2,0x0008AD9D, -0x0008AD98,0x0008AD93,0x0008AD8E,0x0008AD89,0x9A006E8A,0x9B006E8B,0x0008AD84,0x0008AD7F,0x000CB0CD,0x000CB0CA, -0x000CB0C7,0x000CB0C4,0x000CB0C1,0x000CB0BE,0x000CB0BB,0x000CB0B8,0x000CB0B5,0x001232C1,0x001232BD,0x001232B9, -0xA4006E95,0x001232B5,0xA6006E96,0x001232B1,0xAE006E8C,0x001232AD,0x001232A9,0x001232A5,0xAC00D3D5,0xAD00D3D6, -0x001232A1,0xAF00D3D7,0xB000D3D8,0x0012329D,0x00123299,0xA000CF8E,0xA100CF89,0xA200CF8A,0xA300D2CF,0xA400D2D0, -0xA500D2D1,0xA600D2D2,0xA700D2DE,0xA800D2E1,0xA900D3DA,0xAA00D3DB,0xAB00D3DD,0xAC00D3DE,0xAD00D3DF,0xAE00D3E0, -0xAF00D3E1,0xB000D3E2,0xB100D3E3,0xB200D3E6,0xB300D3E7,0xB400D3E8,0xB500D3E9,0xB600D3EA,0xB700D3EB,0xB800D3EC, -0xB900D3ED,0xBA00D3EE,0xBB00D3EF,0xBC00D3F0,0xBD00D3F1,0xBE00D3F2,0xBF00D3F3,0x8000D3F5,0x8100D3F7,0x8200D3F9, -0x8300D3FA,0x8400D3FB,0x8500D3FE,0x8600D401,0x8700D402,0x8800D463,0x8900D464,0x8A00D465,0x8B00D466,0x8C00D467, -0x8D00D468,0x8E00D469,0x8F00D46A,0x9000D46B,0x9100D46C,0x9200D46D,0x9300D46E,0x9400D46F,0x9500D470,0x9600D471, -0x9700D472,0x9800D473,0x9900D474,0x9A00D475,0x9B00D476,0x9C00D477,0x9D00D478,0x9E00D479,0x9F00D47A,0xA000D47B, -0xA100D47C,0xA200D47D,0xA300D47E,0xA400D47F,0xA500D480,0xA600D481,0xA700D482,0xA800D483,0xA900D484,0xAA00D485, -0xAB00D486,0xAC00D487,0xAD00D488,0xAE00D489,0xAF00D48A,0xB000D48B,0xB100D48C,0xB200D48D,0xB300D48E,0xB400D48F, -0xB500D490,0xB600D0B3,0xB700D0C5,0xB800D2FC,0xB900D0C6,0xBA00D0DE,0xBB00D312,0xBC00D0E7,0xBD00D0F1,0xBE00D0F3, -0xBF00D0F7,0x0008B0B0,0x0008B0AD,0x0008B0AA,0x0008B0A7,0x0008B0A4,0x0008B0A1,0x0008B09E,0x0008B09B,0x0008B098, -0x000CB0B2,0x000CB0AF,0x000CB0AC,0x000CB0A9,0x000CB0A6,0x000CB0A3,0x000CB0A0,0x000CB09D,0x000CB09A,0x000CB097, -0x000CB094,0x000CB091,0x000CB08E,0x000CB08B,0x000CB088,0x000CB085,0x000CB082,0x000CB07F,0x000CB07C,0x000CB079, -0x000CB076,0x000CB073,0x000CB070,0x000CB06D,0x000CB06A,0x000CB067,0x000CB064,0x000CB061,0x000CB05E,0x000CB05B, -0x000CB058,0x000CB055,0x000CB052,0x000CB04F,0x000CB04C,0x000CB049,0x000CB046,0x80006E89,0x8100D0F8,0x8200D0F9, -0x8300D0FF,0x8400D10B,0x8500D10D,0x8600D30B,0x8700D10E,0x8800D4BC,0x8900D10F,0x8A00D117,0x8B00D38C,0x8C00D11A, -0x8D00D396,0x8E00D4BD,0x8F00D310,0x9000CF87,0x9100D11E,0x9200D159,0x9300D126,0x9400D12D,0x9500D15C,0x9600D135, -0x9700CFC5,0x9800D156,0x9900CFC8,0x9A00D137,0x9B00CFF0,0x9C00D13C,0x9D00D2EB,0x9E00CF8F,0x9F00D14A,0xA000D4BE, -0xA100CFCA,0xA200CF99,0xA300D14B,0xA400D14C,0xA500D150,0xA600CFCF,0xA700CFF2,0xA800CFD0,0xA900D1C7,0xAA00D2CE, -0x00049CB0,0x0004A333,0x00049E63,0x0032328D,0xB400D4C3,0xB500D4C4,0xB600D4C5,0x000CB043,0x0008B040,0x000CB040, -0xBC00CFC8,0xBD00D38C,0x000C0449,0x9F00D4CA,0x000C0446,0xB300D4CC,0x000C0443,0x8000D50D,0x8100D50E,0x8200D50F, -0x8300D510,0x8400D511,0x8500D512,0x8600D513,0x8700D514,0x8800D515,0x8900D516,0x8A00D517,0x8B00D518,0x8C00D519, -0x8D00D51A,0x8E00D51B,0x8F00D51C,0x9000CC01,0x9100D51D,0x9200C8F1,0x9300D51E,0x9400D51F,0x9500D520,0x9600D521, -0x9700D522,0x9800D523,0x9900D524,0x9A00D525,0x9B00D526,0x9C00D527,0x9D00D528,0x9E00D529,0x9F00D52A,0xA000D52B, -0xA100D52C,0xA200D52D,0xA300D52E,0xA400D52F,0xA500C8E8,0xA600D530,0xA700D531,0xA800D532,0xA900D533,0xAA00CC8B, -0xAB00D534,0xAC00CA07,0xAD00D535,0xAE00D536,0xAF00D537,0xB000D538,0xB100D539,0xB200D53A,0xB300D53B,0xB400D53C, -0xB500D53D,0xB600CCE4,0xB700D53E,0xB800D53F,0xB900D540,0xBA00D541,0xBB00D542,0xBC00D543,0xBD00D544,0xBE00D545, -0xBF00D546,0x000CAFF6,0x000C0440,0x000C043D,0x000C043A,0x000C0437,0x000C0434,0x000CA9F3,0x000C0431,0x000C042E, -0x000C042B,0x000C0428,0x000CAFD3,0x000C0425,0x000C0422,0x000C041F,0x000C041C,0x000C0419,0x000C0416,0x000C0413, -0x000C0410,0x000C040D,0x000CAFC9,0x000C040A,0x000C0407,0x000C0404,0x000C0401,0x000C03FE,0x000C03FB,0x000C03F8, -0x000CAFAB,0x000C03F5,0x000C03F2,0x000C03EF,0x000C03EC,0x000C9EBE,0x000C03E9,0x000C03E6,0x000C03E3,0x000C03E0, -0x000C03DD,0x000C03DA,0x000C03D7,0x000C03D4,0x000C03D1,0x000C03CE,0x000C03CB,0x000C03C8,0x000C03C5,0x000C03C2, -0x000C03BF,0x000C03BC,0x000C03B9,0x000C03B6,0x000C03B3,0x000C03B0,0x000C03AD,0x000C03AA,0x000C03A7,0x8000D587, -0x8100D588,0x8200D589,0x8300D58A,0x8400D58B,0x8500D58C,0x8600D58D,0x8700D58E,0x8800D58F,0x8900D590,0x8A00D591, -0x8B00D592,0x8C00D593,0x8D00CA93,0x8E00D594,0x8F00D595,0x9000D596,0x9100D597,0x9200D598,0x9300D599,0x9400D59A, -0x9500D59B,0x9600D59C,0x9700D59D,0x9800D59E,0x9900D59F,0x9A00D5A0,0x9B00D5A1,0x9C00D5A2,0x9D00D5A3,0x9E00D5A4, -0x9F00D5A5,0xA000D5A6,0xA100D5A7,0xA200D5A8,0xA300D5A9,0xA400D5AA,0xA500D5AB,0xA600D5AC,0xA700D5AD,0xA800D5AE, -0xA900D5AF,0xAA00D5B0,0xAB00D5B1,0xAC00D5B2,0xAD00D5B3,0xAE00D5B4,0xAF00D5B5,0xB000D5B6,0xB100D5B7,0xB200D5B8, -0xB300D5B9,0xB400C99A,0xB500D5BA,0xB600D5BB,0xB700D5BC,0xB800D5BD,0xB900D5BE,0xBA00D5BF,0xBB00C9F0,0xBC00C81C, -0xBD00D5C0,0xBE00D5C1,0xBF00D5C2,0x000C03A4,0x000C03A1,0x000C039E,0x000C039B,0x000C0398,0x000C0395,0x000C0392, -0x000CAD4A,0x000C038F,0x000C9EF7,0x000CAFB5,0x000C038C,0x000C0389,0x000C0386,0x000C0383,0x000C0380,0x000C037D, -0x000C037A,0x000C0377,0x000CAFBA,0x000CAFBF,0x000C0374,0x000C0371,0x000C036E,0x000C036B,0x000C0368,0x000C0365, -0x000C0362,0x000C035F,0x000C035C,0x000C0359,0x000C0356,0x000C0353,0x000C0350,0x000C034D,0x000C034A,0x000C0347, -0x000C0344,0x000C0341,0x000C033E,0x000C033B,0x000C0338,0x000C0335,0x000C0332,0x000C032F,0x000C032C,0x000C0329, -0x000C0326,0x000C0323,0x000C0320,0x000C031D,0x000C031A,0x000C0317,0x000C0314,0x000C0311,0x000C030E,0x000C030B, -0x000C0308,0x000C0305,0x000C0302,0x000C02FF,0x000C02FC,0x000C02F9,0x000CAF4C,0x8000D5C3,0x8100D5C4,0x8200D5C5, -0x8300D5C6,0x8400D607,0x8500D608,0x8600D609,0x8700D60A,0x8800D60B,0x8900D60C,0x8A00D60D,0x8B00D60E,0x8C00D60F, -0x8D00D610,0x8E00D611,0x8F00C9BB,0x9000CEF1,0x9100D612,0x9200C9C7,0x9300D613,0x9400D614,0x9500D615,0x9600D616, -0x9700CEFD,0x9800D617,0x9900D618,0x9A00D619,0x9B00D61A,0x9C00D61B,0x9D00D61C,0x9E00C7AB,0x9F00D61D,0xA000C898, -0xA100D61E,0xA200D61F,0xA300D620,0xA400D621,0xA500C98C,0xA600C7B2,0xA700D622,0xA800D623,0xA900D624,0xAA00D625, -0xAB00D626,0xAC00D627,0xAD00D628,0xAE00D629,0xAF00D62A,0xB000D62B,0xB100D62C,0xB200D62D,0xB300D62E,0xB400D62F, -0xB500D630,0xB600D631,0xB700D632,0xB800D633,0xB900D634,0xBA00D635,0xBB00D636,0xBC00D637,0xBD00D638,0xBE00D639, -0xBF00D63A,0x000CAF47,0x000C02F6,0x000C02F3,0x000C02F0,0x000C02ED,0x000C02EA,0x000C02E7,0x000C02E4,0x000C02E1, -0x000C02DE,0x000C02DB,0x000C02D8,0x000C02D5,0x000C02D2,0x000C02CF,0x000C02CC,0x000C02C9,0x000C02C6,0x000C02C3, -0x000C02C0,0x000C02BD,0x000C02BA,0x000C02B7,0x000C02B4,0x000C02B1,0x000C02AE,0x000C02AB,0x000C02A8,0x000C02A5, -0x000C02A2,0x000C029F,0x000C029C,0x000C0299,0x000C0296,0x000C0293,0x000C0290,0x000C028D,0x000C028A,0x000C0287, -0x000C0284,0x000C0281,0x000C027E,0x000C027B,0x000C0278,0x000C0275,0x000C0272,0x000C026F,0x000C026C,0x000C0269, -0x000C0266,0x000C0263,0x000C0260,0x000C025D,0x000C025A,0x000C0257,0x000C0254,0x000C0251,0x000C024E,0x000C024B, -0x000C0248,0x000C0245,0x000C0242,0x000C023F,0x000C023C,0x8000D63B,0x8100D63C,0x8200D63D,0x8300D63E,0x8400D63F, -0x8500C868,0x8600D640,0x8700CF7C,0x8800D641,0x8900D642,0x8A00D643,0x8B00CF7E,0x8C00D644,0x8D00D645,0x8E00D646, -0x8F00D65D,0x9000CF83,0x9100D65E,0x9200D65F,0x9300C968,0x9400C7B0,0x9500D660,0x000C0239,0x000C0236,0x000C0233, -0x000C0230,0x8000D5E8,0x81006EDE,0x8200D5F7,0x8300D647,0x8400D5C8,0x8500D687,0x8600D6C7,0x8000CF85,0x8800D6FB, -0x8900D77B,0x8A00D7FB,0x8B00D86F,0x8C00D8AE,0x8D00D92E,0x8E00D9AE,0x8F00DA2E,0x000C022D,0x000C022A,0x000C0227, -0x00109F44,0x00109F40,0x00189F3A,0x00189F34,0x000CB03C,0xB100D678,0xB200D688,0xB300D689,0xB400D68A,0xB500D68C, -0xB600D68D,0xB700D68E,0xB800D68F,0xB900D690,0xBA00D691,0xBB00D694,0xBC00D697,0xBD00D698,0xBE00D699,0xBF00D69A, -0x000E04E7,0x000CB2F8,0x000CB037,0x94006F2D,0x000CB2E6,0x000CB2DD,0x000CB032,0x000DC91A,0x000CB02D,0x000CB2C2, -0x9B00D674,0x9C00D675,0x000CB2B9,0x9E006F2E,0x9F00D676,0x000CB2B0,0x000CB2A7,0x000CB29E,0x000CB295,0x000C0224, -0x000CB028,0x000CB023,0xB600D671,0x000D795E,0xB800D522,0xB900D672,0xBA00D673,0xAC006F31,0x000C0221,0xAE006F32, -0x000CB01E,0xB0006F35,0x000D5180,0xB2006F36,0x000CB019,0xB4006F39,0x000CB014,0xB6006F3B,0x000D15BC,0xB8006F3C, -0x000CB00F,0xBA006F3E,0x000CB00A,0xBC006F40,0x000CB005,0xBE006F41,0x000CB000,0x000CAFFB,0x000CC519,0x000CC426, -0x000CC333,0x000CC240,0x000CC14D,0x000CC05A,0x000CBF67,0x000CBE74,0x000CBD81,0x000CBC8E,0x000CBB9B,0x000CBAA8, -0x000CB9B5,0x000CB8C2,0x000CB7CF,0x80006F42,0x000CB6DC,0x82006F43,0x000CB5E9,0x000CB4F6,0x85006F44,0x000CB403, -0x87006F45,0x000CB310,0x89006F46,0x000CB21D,0x000C021E,0x000C021B,0x000C0218,0x000C0215,0x000C0212,0x90006F47, -0x91006F48,0x000C020F,0x93006F49,0x94006F4F,0x000C020C,0x96006F50,0x97006F53,0x000C0209,0x99006F54,0x9A006F5F, -0x000C0206,0x9C006F60,0x9D006F61,0x000C0203,0x000C0200,0x000C01FD,0x000C01FA,0x000C01F7,0x000C01F4,0x000C01F1, -0x000C01EE,0x000C01EB,0x000C01E8,0x000C01E5,0x000C01E2,0x000C01DF,0x000C01DC,0x000C01D9,0x000C01D6,0x000C01D3, -0x000C01D0,0x000C01CD,0x000C01CA,0x000C01C7,0x000C01C4,0xB4006F62,0x000C01C1,0x000C01BE,0xB7006F63,0xB8006F64, -0xB9006F69,0xBA006F6B,0x000C01BB,0x000C01B8,0x000C01B5,0xBE006F6D,0xBF00D677,0x8000D69B,0x8100D69C,0x8200D69D, -0x8300D69F,0x8400D6A4,0x8500D6A6,0x8600D6A8,0x8700D6AA,0x8800D6AC,0x8900D6AE,0x8A00D6B0,0x8B00D6B2,0x8C00D6B4, -0x8D00D6B6,0x8E00D6B7,0x8F00D6B8,0x9000D6B9,0x9100D6BA,0x9200D6BB,0x9300D6BC,0x9400D6BD,0x9500D6BE,0x9600D6BF, -0x9700D6C0,0x9800D6C1,0x9900D6C2,0x9A00D6C3,0x9B00D6C4,0x9C00D6C5,0x9D00D6C6,0x9E00D6C8,0x9F00D6CA,0xA000D6CB, -0xA100D6CD,0xA200D6CF,0xA300D6D1,0xA400D6D2,0xA500D6D3,0xA600D6D4,0xA700D6D5,0xA800D6D6,0xA900D6D9,0xAA00D6DC, -0xAB00D6DF,0xAC00D6E2,0xAD00D6E5,0xAE00D6E6,0xAF00D6E7,0xB000D6E8,0xB100D6E9,0xB200D6EA,0xB300D6EB,0xB400D6EC, -0xB500D6ED,0xB600D6EE,0xB700D6EF,0xB800D6F0,0xB900D6F1,0xBA00D6F2,0xBB00D6F3,0xBC00D6F4,0xBD00D6F5,0xBE00D6F6, -0xBF00D6F7,0x8000D6F8,0x8100D6F9,0x8200D6FA,0x8300D6FC,0x8400D6FD,0x8500D702,0x8600D703,0x8700D704,0x8800D756, -0x8900D757,0x8A00D758,0x8B00D767,0x8C00D768,0x8D00D769,0x8E00D76A,0x000C01B2,0x000C01AF,0x000C01AC,0x9200D50D, -0x9300D513,0x9400D76B,0x9500D76C,0x9600D76D,0x9700D76E,0x9800D76F,0x9900D770,0x9A00D511,0x9B00D771,0x9C00D772, -0x9D00D773,0x9E00D774,0x9F00D515,0x000C01A9,0x000C01A6,0x000C01A3,0x000C01A0,0x000CA9FC,0x000CAFE7,0x000C019D, -0x000C019A,0x000C0197,0x000C0194,0x000C0191,0x000C018E,0x000C018B,0x000C0188,0x0014B03B,0x0014B036,0x0014B031, -0x0014B02C,0x0014B027,0x0014B022,0x8000D775,0x8100D776,0x8200D777,0x8300D778,0x8400D779,0x8500D77A,0x8600D79A, -0x8700D7BB,0x8800D7BC,0x8900D7BD,0x8A00D7BE,0x8B00D7BF,0x8C00D7C0,0x8D00D7C1,0x8E00D7C2,0x8F00D7C3,0x9000D7C4, -0x9100D7C5,0x9200D7C6,0x9300D7C7,0x9400D7C8,0x9500D7C9,0x9600D7CA,0x9700D7CB,0x9800D7CC,0x9900D7CD,0x9A00D7CE, -0x9B00D7CF,0x9C00D7D0,0x9D00D7D1,0x9E00D7D2,0x0014B01D,0xA000D7D3,0xA100D7D4,0xA200D7D5,0xA300D7D6,0xA400D7D7, -0xA500D7D8,0xA600D7D9,0xA700D7DA,0xA800D7DB,0xA900D7DC,0xAA00D7DD,0xAB00D7DE,0xAC00D7DF,0xAD00D7E0,0xAE00D7E1, -0xAF00D7E2,0xB000D7E3,0xB100D7E4,0xB200D7E5,0xB300D7E6,0xB400D7E7,0xB500D7E8,0xB600D7E9,0xB700D7EA,0xB800D7EB, -0xB900D7EC,0xBA00D7ED,0xBB00D7EE,0xBC00D7EF,0xBD00D7F0,0xBE00D7F1,0xBF00D7F2,0x0014B018,0x0014B013,0x0014B00E, -0x0014B009,0x0014B004,0x0014AFFF,0x0014AFFA,0x00223285,0x0022327D,0x00223275,0x0022326D,0x00223265,0x0022325D, -0x00223255,0x0022324D,0x00223245,0x0022323D,0x00223235,0x0022322D,0x00223225,0x0022321D,0x00223215,0x004635CE, -0x003A35C0,0x0014AFF5,0x0014AFF0,0x0014AFEB,0x0014AFE6,0x0014AFE1,0x0014AFDC,0x0014AFD7,0x0014AFD2,0x0014AFCD, -0x0014AFC8,0x0014AFC3,0x0014AFBE,0x0014AFB9,0x0014AFB4,0x0014AFAF,0x0014AFAA,0x0014AFA5,0x0014AFA0,0x0014AF9B, -0x0014AF96,0x0014AF91,0x0014AF8C,0x0014AF87,0x0014AF82,0x0014AF7D,0x0014AF78,0x0014AF73,0x0014AF6E,0x0014AF69, -0x0014AF64,0x0014AF5F,0x0014AF5A,0x0014AF55,0x0014AF50,0x0014AF4B,0x0014AF46,0x000C0185,0x000C0182,0x000C017F, -0x000CAF43,0x8000D7F3,0x8100D7F4,0x8200D7F5,0x8300D7F6,0x8400D7F7,0x8500D7F8,0x8600D589,0x8700D7F9,0x0008AD7A, -0x0008AD75,0x0008AD70,0x00089F21,0x0008AD66,0x0008AD61,0x0008AD5C,0x0008AD57,0x9000D7FA,0x9100D803,0x9200D804, -0x9300D805,0x9400D806,0x9500D807,0x9600D808,0x9700D809,0x9800D80A,0x9900D83A,0x9A00D83B,0x9B00D83C,0x9C00D83D, -0x9D00D83E,0x9E00D83F,0x9F00D840,0xA000D678,0xA100D68A,0xA200D68E,0xA300D690,0xA400D69C,0xA500D69D,0xA600D6A6, -0xA700D6AA,0xA800D6AC,0xA900D6B0,0xAA00D6B2,0xAB00D6B4,0xAC00D6B6,0xAD00D6B7,0xAE006F6F,0xAF00790F,0xB0007D9B, -0xB10086B3,0xB2008B7F,0xB300900B,0xB40099A4,0xB500A2FC,0xB600A788,0xB700B0A0,0xB800B52C,0xB900BA17,0xBA00BEA3, -0xBB00C32F,0xBC00D841,0xBD00D842,0xBE00A5A8,0x0008AD52,0x0008AD4D,0x0008AD48,0x00089F32,0x00089F30,0x00089F2E, -0x00089F2C,0x003E34D1,0x00323209,0x000CAFE2,0x000CAFD8,0x000CAFCE,0x000CAFA1,0x000CAF9C,0x000CAF92,0x000CAF8D, -0x000CAF88,0x000CAF7E,0x000C017C,0x000C0179,0x000C0176,0x000C0173,0x000C0170,0x000C016D,0x000C016A,0x000CAF51, -0x000C0167,0x000C9EC1,0x000C0164,0x000C0161,0x000C015E,0x000C015B,0x000CAF6F,0x000CAF6A,0x000CAF65,0x000CAF60, -0x000CAF5B,0x000C0158,0x00089F2A,0x00089F28,0x00089F26,0x00089F24,0x00089F22,0x0008B197,0x00089F20,0x00089F2F, -0x00089F1E,0x00089F1C,0x00089F1A,0x00089F18,0x00089F16,0x00089F14,0x00089F12,0xB700E805,0x0010AF3A,0x0010AF35, -0x00109F0E,0x00109F0A,0x00109F06,0x00109F02,0x00109EFE,0x00109EFA,0x00109EF6,0x0014AF3E,0x0014AF39,0x8000D50D, -0x8100D513,0x8200D76B,0x8300D76C,0x8400D843,0x8500C975,0x8600D844,0x8700D518,0x8800D845,0x8900D522,0x8A00D590, -0x8B00D59B,0x8C00D59A,0x8D00D591,0x8E00C7B2,0x8F00D52A,0x9000D58E,0x9100D846,0x9200D847,0x9300CA17,0x9400D848, -0x9500D849,0x9600D84A,0x9700CA1C,0x9800D84B,0x9900D84C,0x9A00D84D,0x9B00C8E8,0x9C00D84E,0x9D00D84F,0x9E00D850, -0x9F00D851,0xA000D852,0xA100D853,0xA200D854,0xA300D855,0xA400D76D,0xA500D76E,0xA600D76F,0xA700D856,0xA800D857, -0xA900D858,0xAA00D859,0xAB00D85A,0xAC00D85B,0xAD00D85C,0xAE00D85D,0xAF00D85E,0xB000D85F,0xB100D860,0xB200D861, -0xB300D862,0xB400D863,0xB500D864,0xB600D865,0xB700D866,0xB800D867,0xB900D868,0xBA00D869,0xBB00D86A,0xBC00D86B, -0xBD00D86C,0xBE00D86D,0xBF00D86E,0x0014AF34,0x00089EF4,0x000CAF31,0x00089EF2,0x000CAF2E,0x000CAE50,0x000CAE74, -0x000CA0D5,0x000E31F1,0x000CAF01,0x000CAEF8,0x000E319D,0x000CAE65,0x000CAEEF,0x000C9C9C,0x000CA0F9,0x000CAEDA, -0x000CA0F3,0x000CAEDD,0x000CA0ED,0x000E312E,0x000CA0E7,0x000CA0E1,0x000CAED4,0x000C9F37,0x000C9EEC,0x000E3143, -0x000C0155,0x000E319A,0x000C9EEF,0x000CAE6E,0x000CAEA7,0x000CA0DB,0x000CAE8C,0x000C9EE6,0x000CAE5F,0x000E3101, -0x000C9EDD,0x000E340E,0x000C0152,0x000CAE56,0x000CAE4D,0x000C014F,0x000C9EE3,0x000C9EE0,0x000CAE5C,0x000C9EDA, -0x000E3107,0x000CA0CF,0x000CA0C9,0x000CA0C3,0x000CA0BD,0x8000D870,0x8100D871,0x8200D872,0x8300D873,0x8400D874, -0x8500D875,0x8600D876,0x8700D877,0x8800D878,0x8900D879,0x8A00D87A,0x8B00D8BB,0x8C00D8BC,0x8D00D8BD,0x8E00D8BE, -0x8F00D8BF,0x9000D8C0,0x9100D8C1,0x9200D8C2,0x9300D8C3,0x9400D8C4,0x9500D8C5,0x9600D8C6,0x9700D8C7,0x9800D8C8, -0x9900D8C9,0x9A00D8CA,0x9B00D8CB,0x9C00D8CC,0x9D00D8CD,0x9E00D8CE,0x9F00D8CF,0xA000D8D0,0xA100D8D1,0xA200D8D2, -0xA300D8D3,0xA400D8D4,0xA500D8D5,0xA600D8D6,0xA700D8D7,0xA800D8D8,0xA900D8D9,0xAA00D8DA,0xAB00D8DB,0xAC00D8DC, -0xAD00D8DD,0xAE00D8DE,0xAF00D8DF,0xB000D8E0,0xB100D8E1,0xB200D8E2,0xB300D8E3,0xB400D8E4,0xB500D8E5,0xB600D8E6, -0xB700D8E7,0xB800D8E8,0xB900D8E9,0xBA00D8EA,0xBB00D8EB,0xBC00D8EC,0xBD00D8ED,0xBE00D8EE,0x8000D96E,0x8100D96F, -0x8200D970,0x8300D971,0x8400D972,0x8500D973,0x8600D974,0x8700D975,0x8800D976,0x8900D977,0x8A00D978,0x8B00D979, -0x8C00D97A,0x8D00D97B,0x8E00D97C,0x8F00D97D,0x9000D97E,0x9100D97F,0x9200D980,0x9300D981,0x9400D982,0x9500D983, -0x9600D984,0x9700D985,0x9800D986,0x9900D987,0x9A00D988,0x9B00D989,0x9C00D98A,0x9D00D98B,0x9E00D98C,0x9F00D98D, -0xA000D98E,0xA100D98F,0xA200D990,0xA300D991,0xA400D992,0xA500D993,0xA600D994,0xA700D995,0xA800D996,0xA900D997, -0xAA00D998,0xAB00D999,0xAC00D99A,0xAD00D99B,0xAE00D99C,0xAF00D99D,0xB000D99E,0xB100D99F,0xB200D9A0,0xB300D9A1, -0xB400D9A2,0xB500D9A3,0xB600D9A4,0xB700D9A5,0xB800D9A6,0xB900D9A7,0xBA00D9A8,0xBB00D9A9,0xBC00D9AA,0xBD00D9AB, -0xBE00D9AC,0xBF00D9AD,0x003E34C2,0x003231FD,0x003E34B3,0x0024AF25,0x003E34A4,0x0024AF1C,0x0024AF13,0x004A35AE, -0x003231F1,0x0024AF0A,0x0024AF01,0x0024AEF8,0x003231E5,0x003231D9,0x003231CD,0x003231C1,0x003231B5,0x003231A9, -0x0032319D,0x004A359C,0x001A3495,0x004A358A,0x004A3578,0x003E3495,0x00323566,0x004A3566,0x004A3554,0x00323191, -0x0024AEEF,0x0024AEE6,0x00323185,0x00323179,0x003E3486,0x003E3477,0x0024AEDD,0x0026354B,0x0032316D,0x0024AED4, -0x0024AECB,0x001A3417,0x00189EEC,0x0024AEC2,0x0024AEB9,0x004A3542,0x00323161,0x003E3468,0x004A3530,0x00323155, -0x0024AEB0,0x0024AEA7,0x004A351E,0x00323149,0x004A350C,0x0024AE9E,0x003E3459,0x0024AE95,0x0032313D,0x0024AE8C, -0x00323131,0x003E344A,0x00323125,0x003E343B,0x00323119,0x00189EE6,0x8000D9EE,0x8100D9EF,0x8200D9F0,0x8300D9F1, -0x8400D9F2,0x8500D9F3,0x8600D9F4,0x8700D9F5,0x8800D9F6,0x8900D9F7,0x8A00D9F8,0x8B00D9F9,0x8C00D9FA,0x8D00D9FB, -0x8E00D9FC,0x8F00D9FD,0x9000D9FE,0x9100D9FF,0x9200DA00,0x9300DA01,0x9400DA02,0x9500DA03,0x9600DA04,0x9700DA05, -0x9800DA06,0x9900DA07,0x9A00DA08,0x9B00DA09,0x9C00DA0A,0x9D00DA0B,0x9E00DA0C,0x9F00DA0D,0xA000DA0E,0xA100DA0F, -0xA200DA10,0xA300DA11,0xA400DA12,0xA500DA13,0xA600DA14,0xA700DA15,0xA800DA16,0xA900DA17,0xAA00DA18,0xAB00DA19, -0xAC00DA1A,0xAD00DA1B,0xAE00DA1C,0xAF00DA1D,0xB000DA1E,0xB100DA1F,0xB200DA20,0xB300DA21,0xB400DA22,0xB500DA23, -0xB600DA24,0xB700DA25,0xB800DA26,0xB900DA27,0xBA00DA28,0xBB00DA29,0xBC00DA2A,0xBD00DA2B,0xBE00DA2C,0xBF00DA2D, -0x003E342C,0x0024AE83,0x0024AE7A,0x0032310D,0x0024AE71,0x0024AE68,0x0024AE5F,0x003E341D,0x00323101,0x001A34FA, -0x004A34FA,0x0026340E,0x003E340E,0x0032357E,0x003230F5,0x0024AE56,0x0024AE4D,0x003230E9,0x00189EE0,0x003230DD, -0x003E33FF,0x00189EDA,0x004A34E8,0x0026349B,0x0010AE17,0x0010AE12,0x0010AE0D,0x0010AE08,0x0010AE03,0x0010AE30, -0x0010AE2B,0x0010AE26,0x0010AE21,0x0010AE1C,0x0014AE48,0x0014AE43,0x0014AE3E,0x0014AE39,0x0014AE34,0x0014AE2F, -0x0014AE2A,0x0014AE25,0x0014AE20,0x0014AE1B,0x0014AE16,0x0014AE11,0x0014AE0C,0x0014AE07,0x0014AE02,0x000CADFF, -0x00089ED8,0x00089ED6,0x000CADFC,0x00089ED4,0x00089ED2,0x0008ADF6,0x000CADF9,0x000CADF6,0x00089ED0,0x00189ECA, -0x00189EC4,0x00189EBE,0x00189EB8,0x003230D1,0x8000DA6E,0x8100DA6F,0x8200DA70,0x8300DA71,0x8400DA72,0x8500DA73, -0x8600DA74,0x8700DA75,0x8800DA76,0x8900DA77,0x8A00DA78,0x8B00DA79,0x8C00DA7A,0x8D00DA7B,0x8E00DA7C,0x8F00DA7D, -0x9000DA7E,0x9100DA7F,0x9200DA80,0x9300DA81,0x9400DA82,0x9500DA83,0x9600DA84,0x9700DA85,0x9800DA86,0x9900DA87, -0x9A00DA88,0x9B00DA89,0x9C00DA8A,0x9D00DA8B,0x9E00DA8C,0x9F00DA8D,0xA000DA8E,0xA100DA8F,0xA200DA90,0xA300DA91, -0xA400DA92,0xA500DA93,0xA600DA94,0xA700DA95,0xA800DA96,0xA900DA97,0xAA00DA98,0xAB00DA99,0xAC00DA9A,0xAD00DA9B, -0xAE00DA9C,0xAF00DA9D,0xB000DA9E,0xB100DA9F,0xB200DAA0,0xB300DAA1,0xB400DAA2,0xB500DAA3,0xB600DAA4,0xB700DAA5, -0xB800DAA6,0xB900DAA7,0xBA00DAA8,0xBB00DAA9,0xBC00DAAA,0xBD00DAAB,0xBE00DAAC,0xBF00DAAD,0x00089EB6,0x00089EB4, -0x000C9EB1,0x00089EAF,0x00089EAD,0x00089EAB,0x00089EA9,0x00089EA7,0x000E30CE,0x001230CD,0x00089EA5,0x00089EA3, -0x000C9EA0,0x000C9E9D,0x00089E9B,0x000A30C1,0x0008ADEB,0x000CADF3,0x000CADF0,0x000CADED,0x000CADEA,0x000C9E98, -0x00089E96,0x00089E94,0x00089E92,0x00089E90,0x00089E8E,0x000C9E8B,0x0008ADDE,0x0008ADDB,0x0008ADD8,0x000CADE7, -0x000CADE4,0x0008ADE2,0x000CADE1,0x000CADDE,0x000CADDB,0x0008ADD9,0x000CADD8,0x001630C7,0x001A30C7,0x0008ADD0, -0x000CADD5,0x000CADD2,0x000CADCF,0x000E34E0,0x001E34E0,0x002234E0,0x00089E89,0x00089E87,0x000C9E84,0x00089E82, -0x00089E80,0x00089E7E,0x000C9E7B,0x0008ADBA,0x00089E79,0x00089E77,0x00089E75,0x00089E73,0x000C9E70,0x00089E6E, -0x00089E6C,0x00089E6A,0x8000DAEE,0x8100DAEF,0x8200DAF0,0x8300DAF1,0x8400DAF2,0x8500DAF3,0x8600DAF4,0x8700DAF5, -0x8800DAF6,0x8900DAF7,0x8A00DAF8,0x8B00DAF9,0x8C00DAFA,0x8D00DAFB,0x8E00DAFC,0x8F00DAFD,0x9000DAFE,0x9100DAFF, -0x9200DB00,0x9300DB01,0x9400DB02,0x9500DB03,0x9600DB04,0x9700DB05,0x9800DB06,0x9900DB07,0x9A00DB08,0x9B00DB09, -0x9C00DB0A,0x9D00DB0B,0x9E00DB0C,0x9F00DB0D,0xA000DB0E,0xA100DB0F,0xA200DB10,0xA300DB11,0xA400DB12,0xA500DB13, -0xA600DB14,0xA700DB15,0xA800DB16,0xA900DB17,0xAA00DB18,0xAB00DB19,0xAC00DB1A,0xAD00DB1B,0xAE00DB1C,0xAF00DB1D, -0xB000DB1E,0xB100DB1F,0xB200DB20,0xB300DB21,0xB400DB22,0xB500DB23,0xB600DB24,0xB700DB25,0xB800DB26,0xB900DB27, -0xBA00DB28,0xBB00DB29,0xBC00DB2A,0xBD00DB2B,0xBE00DB2C,0xBF00DB2D,0x000C9E67,0x000C9E64,0x001230C3,0x00089E62, -0x00089E60,0x00089E5E,0x001A30BD,0x000CADCC,0x00089E5C,0x00089E5A,0x00089E58,0x00089E56,0x00089E54,0x00089E52, -0x00089E50,0x00089E4E,0x00089E95,0x00089E4C,0x000CADC9,0x00089E4A,0x00089E48,0x000CADC6,0x000CADC3,0x00089E46, -0x001230B9,0x000CADC0,0x00089E44,0x00089E42,0x00089E40,0x00089E3E,0x0014ADBB,0x0014ADB6,0x0010AD49,0x0010AD76, -0x0010AD71,0x0010AD6C,0x0010AD67,0x0010AD62,0x0010AD5D,0x0010AD58,0x0010AD53,0x0014ADB1,0x0014ADAC,0x0014ADA7, -0x0014ADA2,0x0014AD9D,0x0014AD98,0x0014AD93,0x0014AD8E,0x0014AD89,0x0014AD84,0x0014AD7F,0x0014AD7A,0x0014AD75, -0x0014AD70,0x0014AD6B,0x0014AD66,0x0014AD61,0x0014AD5C,0x0014AD57,0x0014AD52,0x0014AD4D,0x0014AD48,0x000CAD45, -0x0008014D,0x0008014B,0x000C0148,0x00080146,0x00080144,0x000C0141,0x000C013E,0x0008013C,0x000C0139,0x8600E70A, -0x0008AD3F,0x0008AD43,0x0008AD40,0x000CAD42,0x000CAD3F,0x00089E3C,0x00109E38,0x00109E34,0x00109E30,0x00109E2C, -0x00109E28,0x00080137,0x0008A08B,0x0008A03F,0x00089E26,0x00080135,0x9A00DAB2,0x0008A04F,0x0008A04B,0x9D00D068, -0x00109E24,0x9F00DAB6,0x9C00DB2E,0x9D00DB2F,0x9C00DB33,0x9D00DB34,0x9E00DB35,0x9F00DB36,0x00080133,0x00080131, -0x0008012F,0x0008012D,0x0008012B,0x00080129,0x00080127,0xAD00DAB4,0x00080125,0x00080123,0xB0006F79,0xB1006FB9, -0xB2007037,0xB30070B7,0xB4007137,0xB50071B7,0xB6007237,0xB70072B7,0xB8007337,0xB90073B7,0xBA007437,0xBB0074B7, -0xBC007537,0xBD0075B7,0xBE007637,0xBF0076B7,0xB800DB31,0xB900DB32,0xA400C757,0xA500C7A8,0xA600C828,0xA700C8A8, -0xA800C928,0xA900C9A8,0xAA00CA28,0xAB00CAA8,0xAC00DB37,0xAD00DB76,0xAE00DBB6,0xAF00DBD5,0xB000DC15,0xB100DC7A, -0xB200DCFA,0xB300DD76,0xB400DDB6,0xB500DDE4,0xB600DE31,0xB700DEB1,0xB800DEBE,0xB900DF31,0xBA00DF71,0xBB00DFB1, -0xBC00DFED,0xBD00E02E,0xBE00E07D,0xBF00E0BD,0x00080121,0x0008011F,0x0008011D,0x0008011B,0x00080119,0x00080117, -0x00080115,0x00080113,0x00080111,0x0008010F,0x0008010D,0x0008010B,0x00080109,0x00080107,0x00080105,0x00080103, -0x0008A674,0x00080101,0x0008A670,0x000800FF,0x00089F8C,0x0008AD25,0x0008AD1F,0x000800FD,0x000800FB,0x000800F9, -0x0008AD19,0x00089CFE,0x0018AD39,0x0018AD33,0x0018AD2D,0x0018AD27,0x0018AD21,0x0018AD1B,0x0018AD15,0x0018AD0F, -0x000A3093,0x0018AD09,0x0018AD03,0x0018ACFD,0x0018ACF7,0x00109E20,0xFF000000,0x8000DB38,0x8100DB39,0x8200DB3A, -0x8300DB3B,0x8400DB3C,0x8500DB3D,0x8600DB3D,0x0010AA8D,0x0010AB4D,0x00109E1C,0x00109E18,0x00109E14,0x0010AB41, -0x0010AC97,0x0010AB35,0x0010AB29,0x00109E10,0x00109E0C,0x00109E08,0x9300DB3E,0x9400DB3F,0x9500DB40,0x9600DB41, -0x9700DB42,0x00109E04,0x00109E00,0x00109DFC,0x0010AAA5,0x0010AAB3,0x9D00CB05,0x8D00E80E,0x9F00CB07,0xA000DB43, -0xA100D313,0xA200D318,0xA300DB44,0xA400DB45,0xA500DB46,0xA600DB47,0xA700DB49,0xA800DB4A,0xA900D2E3,0xAA00CB08, -0xAB00CB09,0xAC00CB0A,0xAD00CB0B,0xAE00CB0C,0xAF00CB0D,0xB000CB0E,0xB100CB0F,0xB200CB10,0xB300CB1E,0xB400CB24, -0xB500CB26,0xB600CB27,0x0010AA9F,0xB800CB42,0xB900CB43,0xBA00CB44,0xBB00CB45,0xBC00CB46,0x0010AB79,0xBE00CB47, -0x8000CB4A,0x8100CB4D,0x0010AB97,0x8300CB57,0x8400CB58,0x00109DF8,0x8600CB59,0x8700CB5A,0x8800CB5B,0x8900CB5C, -0x8A00CB5D,0x8B00CB5E,0x8C00CB5F,0x8D00CB60,0x8E00CB61,0x8F00DB4C,0x9000DB54,0x9100DB54,0x9200DB55,0x9300DB55, -0x9400DB55,0x9500DB55,0x9600DB56,0x9700DB56,0x9800DB56,0x9900DB56,0x9A00DB57,0x9B00DB57,0x9C00DB57,0x9D00DB57, -0x9E00DB58,0x9F00DB58,0xA000DB58,0xA100DB58,0xA200DB59,0xA300DB59,0xA400DB59,0xA500DB59,0xA600DB5A,0xA700DB5A, -0xA800DB5A,0xA900DB5A,0xAA00DB5C,0xAB00DB5C,0xAC00DB5C,0xAD00DB5C,0xAE00DB5D,0xAF00DB5D,0xB000DB5D,0xB100DB5D, -0xB200DB8C,0xB300DB8C,0xB400DB8C,0xB500DB8C,0xB600DB8D,0xB700DB8D,0xB800DB8D,0xB900DB8D,0xBA00DB8E,0xBB00DB8E, -0xBC00DB8E,0xBD00DB8E,0xBE00DB8F,0xBF00DB8F,0x8000DB8F,0x8100DB8F,0x8200DB90,0x8300DB90,0x8400DB91,0x8500DB91, -0x8600DB92,0x8700DB92,0x8800DB93,0x8900DB93,0x8A00DB94,0x8B00DB94,0x8C00DB95,0x8D00DB95,0x8E00DB96,0x8F00DB96, -0x9000DB96,0x9100DB96,0x9200DB97,0x9300DB97,0x9400DB97,0x9500DB97,0x9600DB98,0x9700DB98,0x9800DB98,0x9900DB98, -0x9A00DB99,0x9B00DB99,0x9C00DB99,0x9D00DB99,0x9E00DB9A,0x9F00DB9A,0xA000DB9B,0xA100DB9B,0xA200DB9B,0xA300DB9B, -0xA4006A4F,0xA5006A4F,0xA600DB9C,0xA700DB9C,0xA800DB9C,0xA900DB9C,0xAA00DB9D,0xAB00DB9D,0xAC00DB9D,0xAD00DB9D, -0xAE00DB9E,0xAF00DB9E,0xB0006A57,0xB1006A57,0x9300DB9F,0x9400DB9F,0x9500DB9F,0x9600DB9F,0x9700DBA0,0x9800DBA0, -0x9900DBA1,0x9A00DBA1,0x9B00DBA2,0x9C00DBA2,0x9D00D023,0x9E00DBA3,0x9F00DBA3,0xA000DBA4,0xA100DBA4,0xA200DBA5, -0xA300DBA5,0xA400DBA6,0xA500DBA6,0xA600DBA6,0xA700DBA6,0xA800DBA7,0xA900DBA7,0xAA00DBA8,0xAB00DBA8,0xAC00DBA9, -0xAD00DBA9,0xAE00DBAA,0xAF00DBAA,0xB000DBAB,0xB100DBAB,0xB200DBAC,0xB300DBAC,0xB400DBAD,0xB500DBAD,0xB600DBAE, -0xB700DBAE,0xB800DBAE,0xB900DBAF,0xBA00DBAF,0xBB00DBAF,0xBC00DBB0,0xBD00DBB0,0xBE00DBB0,0xBF00DBB0,0x8000DBB1, -0x8100DBB2,0x8200DBB3,0x8300DBAF,0x8400DBB4,0x8500DBB5,0x8600DBBE,0x8700DBBF,0x8800DBC0,0x8900DBC1,0x8A00DBC2, -0x8B00DBC3,0x8C00DBC4,0x8D00DBC5,0x8E00DBC6,0x8F00DBC7,0x9000DBC8,0x9100DBC9,0x9200DBCF,0x9300DBD0,0x9400DBD1, -0x9500DBD2,0x9600DBD3,0x9700DBEE,0x9800DBF4,0x9900DBF8,0x9A00DBFB,0x9B00DCD5,0x9C00DCD6,0x9D00DCD7,0x9E00DCD8, -0x9F00DCD9,0xA000DCDA,0xA100DCDB,0xA200DCDC,0xA300DCDD,0xA400DCDE,0xA500DCDF,0xA600DCE0,0xA700DCE1,0xA800DCE2, -0xA900DCE3,0xAA00DCE4,0xAB00DCE5,0xAC00DCE6,0xAD00DCE7,0xAE00DCE8,0xAF00DCE9,0xB000DCEA,0xB100DCEB,0xB200DCEC, -0xB300DCED,0xB400DCEE,0xB500DCEF,0xB600DCF0,0xB700DCF1,0xB800DCF2,0xB900DCF3,0xBA00DCF4,0xBB00DCF5,0xBC00DCF6, -0xBD00DCF7,0xBE00DCF8,0xBF00DCF9,0x0010AB8D,0x0010AC5B,0x0010AC67,0x0010AA87,0x0010AC49,0x0010AB0B,0x0010AC3D, -0x00109DF4,0x0010AAFF,0x0010AC19,0x00109DF0,0x00109DEC,0x0010AC07,0x00109DE8,0x0010AC01,0x0010AAC9,0x00109DE4, -0x0010ABE9,0x00109DE0,0x00109DDC,0x0010ABE3,0x0010AA93,0x00109DD8,0x00109DD4,0x00109DD0,0x0010AAD5,0x00109DCC, -0x00109DC8,0x00109DC4,0x00109DC0,0x00109DBC,0x00109DB8,0x00109DB4,0x0010AAAB,0x00109DB0,0x00109DAC,0x0010AAB1, -0x8000DD3A,0x8100DD3B,0x8200DD3C,0x8300DD3D,0x8400DD3E,0x8500DD3F,0x8600DD40,0x8700DD41,0x8800DD42,0x8900DD43, -0x8A00DD44,0x8B00DD45,0x8C00DD46,0x8D00DD47,0x8E00DD48,0x8F00DD49,0x9000DD4A,0x9100DD4B,0x9200DD4C,0x9300DD4D, -0x9400DD4E,0x9500DD4F,0x9600DD50,0x9700DD51,0x9800DD52,0x9900DD53,0x9A00DD54,0x9B00DD55,0x9C00DD56,0x9D00DD57, -0x9E00DD58,0x9F00DD59,0xA000DD5A,0xA100DD5B,0xA200DD5C,0xA300DD5D,0xA400DD5E,0xA500DD5F,0xA600DBB3,0xA700DD60, -0xA800DBAF,0xA900DBB4,0xAA00DD61,0xAB00DD62,0xAC00DBC0,0xAD00DD63,0xAE00DBC1,0xAF00DBC2,0xB000DD64,0xB100DD65, -0xB200DBC6,0xB300DD66,0xB400DBC7,0xB500DBC8,0xB600DD67,0xB700DD68,0xB800DBCF,0xB900DD69,0xBA00DBD0,0xBB00DBD1, -0xBC00DCEB,0xBD00DCEC,0xBE00DCEF,0xBF00DCF0,0x0010ABC5,0x0010ABB9,0x0010AAF3,0x001235F0,0x00123600,0x0010AA99, -0x0010ABA7,0x0010AAB7,0x0010AAAD,0x0010AB19,0x0010AA95,0x0010AA81,0x0010AACF,0x00109DA8,0x0010AB59,0x00109DA4, -0x0010ACCB,0x00109DA0,0x0010AB7D,0x00109D9C,0x00109D4E,0x0010AAA3,0x0010AA9D,0x00109D98,0x0010AA97,0x00109D94, -0x0010AADF,0x00109D90,0x00109D8C,0x00109D88,0x0014ACF2,0x0014ACED,0x0014ACE8,0x0014ACE3,0x0014ACDE,0x0014ACD9, -0x0018ACD3,0x0018ACCD,0x0018ACC7,0x001230B5,0x00109D84,0x00109D80,0x00109D7C,0x00109D78,0x00109D74,0x00109D70, -0x00109D6C,0x00109D68,0x00109D64,0x00109D60,0x00109D5C,0x00109D58,0x00109D54,0x00109D50,0x0010AABB,0x0018ACC1, -0x0018ACBB,0x00109D4C,0x00109D48,0x00109D44,0xA900E725,0x001235EA,0x00109D40,0x00109D3C,0x8000DCF1,0x8100DCF5, -0x8200DCF6,0x8300DCF7,0x8400DCF8,0x8500DD3C,0x8600DD3D,0x8700DD3E,0x8800DD6A,0x8900DD42,0x8A00DD6B,0x8B00DD6C, -0x8C00DD48,0x8D00DD6D,0x8E00DD49,0x8F00DD4A,0x9000DD57,0x9100DD6E,0x9200DD6F,0x9300DD52,0x9400DD70,0x9500DD53, -0x9600DD54,0x9700DBB1,0x9800DBB2,0x9900DD71,0x9A00DBB3,0x9B00DD72,0x9C00DBB5,0x9D00DBBE,0x9E00DBBF,0x9F00DBC0, -0xA000DD73,0xA100DBC3,0xA200DBC4,0xA300DBC5,0xA400DBC6,0xA500DD74,0xA600DBCF,0xA700DBD2,0xA800DBD3,0xA900DBEE, -0xAA00DBF4,0xAB00DBF8,0xAC00DCD5,0xAD00DCD6,0xAE00DCD7,0xAF00DCD8,0xB000DCD9,0xB100DCDA,0xB200DD75,0xB300DCDB, -0xB400DCDC,0xB500DCDD,0xB600DCDE,0xB700DCDF,0xB800DCE0,0xB900DCE2,0xBA00DCE3,0xBB00DCE4,0xBC00DCE5,0xBD00DCE6, -0xBE00DCE7,0xBF00DCE8,0x00123602,0x00109D38,0x00109D34,0x0010AC25,0x00109D30,0x0018ACB5,0x0018ACAF,0x0018ACA9, -0x00109D2C,0x00109D28,0x00109D24,0x00109D20,0x00109D1C,0x00109D18,0x00109D14,0x00109D10,0x00109D0C,0x00109D08, -0x0010AB1F,0x0010AA8F,0x0010AB43,0x0010AA83,0x0010AB13,0x0010AA89,0x00109D04,0x00109D00,0x00109CFC,0x00109CF8, -0x0010AC31,0x0010AB05,0x00109CF4,0x00109CF0,0x00109CEC,0x00109CE8,0x00109CE4,0x00109CE0,0x0018ACA3,0x0018AC9D, -0x0018AC97,0x0018AC91,0x0018AC8B,0x0018AC85,0xB400E805,0x0018AC7F,0x0018AC79,0x0018AC73,0x0018AC6D,0x0018AC67, -0x0018AC61,0x0018AC5B,0x0018AC55,0x0018AC4F,0x0018AC49,0x0018AC43,0x0018AC3D,0x0018AC37,0x0018AC31,0x0018AC2B, -0x0018AC25,0x0018AC1F,0x8000DCE9,0x8100DCEA,0x8200DCED,0x8300DCEE,0x8400DCF2,0x8500DCF3,0x8600DCF4,0x8700DCF5, -0x8800DCF6,0x8900DCF9,0x8A00DD3A,0x8B00DD3B,0x8C00DD3C,0x8D00DD77,0x8E00DD3F,0x8F00DD40,0x9000DD41,0x9100DD42, -0x9200DD45,0x9300DD46,0x9400DD47,0x9500DD48,0x9600DD78,0x9700DD4B,0x9800DD4C,0x9900DD79,0x9A00DD4F,0x9B00DD50, -0x9C00DD51,0x9D00DD52,0x9E00DDBA,0x9F00DBB3,0xA000DD72,0xA100DBC0,0xA200DD73,0xA300DBC6,0xA400DD74,0xA500DBCF, -0xA600DDBB,0xA700DCD9,0xA800DDBC,0xA900DDBD,0xAA00DDBE,0xAB00DCF5,0xAC00DCF6,0xAD00DD3C,0xAE00DD48,0xAF00DD78, -0xB000DD52,0xB100DDBA,0xB200DDBF,0xB300DDC0,0xB400DDC1,0xB500DDC2,0xB600DDC3,0xB700DDC4,0xB800DDC5,0xB900DDC6, -0xBA00DDC7,0xBB00DDC8,0xBC00DDC9,0xBD00DDCA,0xBE00DDCB,0xBF00DDCC,0x8000DDCD,0x8100DDCE,0x8200DDCF,0x8300DDD0, -0x8400DDD1,0x8500DDD2,0x8600DDD3,0x8700DDD4,0x8800DDD5,0x8900DDD6,0x8A00DDD7,0x8B00DDD8,0x8C00DDBD,0x8D00DDD9, -0x8E00DDDA,0x8F00DDDB,0x9000DDDC,0x9100DDC2,0x9200DDC3,0x9300DDC4,0x9400DDC5,0x9500DDC6,0x9600DDC7,0x9700DDC8, -0x9800DDC9,0x9900DDCA,0x9A00DDCB,0x9B00DDCC,0x9C00DDCD,0x9D00DDCE,0x9E00DDCF,0x9F00DDD0,0xA000DDD1,0xA100DDD2, -0xA200DDD3,0xA300DDD4,0xA400DDD5,0xA500DDD6,0xA600DDD7,0xA700DDD8,0xA800DDBD,0xA900DDD9,0xAA00DDDA,0xAB00DDDB, -0xAC00DDDC,0xAD00DDD6,0xAE00DDD7,0xAF00DDD8,0xB000DDBD,0xB100DDBC,0xB200DDBE,0xB300DCE1,0xB400DCD6,0xB500DCD7, -0xB600DCD8,0xB700DDD6,0xB800DDD7,0xB900DDD8,0xBA00DCE1,0xBB00DCE2,0xBC00DDDD,0xBD00DDDD,0x9000DDDE,0x9100DDDF, -0x9200DDDF,0x9300DDE0,0x9400DDE1,0x9500DDE2,0x9600DDE3,0x9700DDE5,0x9800DDE6,0x9900DDE6,0x9A00DDE7,0x9B00DDE8, -0x9C00DDE9,0x9D00DDEA,0x9E00DDEB,0x9F00DDEC,0xA000DDEC,0xA100DDED,0xA200DDEE,0xA300DDEE,0xA400DDEF,0xA500DDEF, -0xA600DDF0,0xA700DDF1,0xA800DDF1,0xA900DDF2,0xAA00DDF3,0xAB00DDF3,0xAC00DDF4,0xAD00DDF4,0xAE00DDF5,0xAF00DEA4, -0xB000DEA4,0xB100DEA5,0xB200DEA5,0xB300DEA6,0xB400DEA7,0xB500DEA8,0xB600DEA9,0xB700DEA9,0xB800DEAA,0xB900DEAB, -0xBA00DEAC,0xBB00DEAD,0xBC00DEAE,0xBD00DEAE,0xBE00DEAF,0xBF00DEB0,0x0018AC19,0x0018AC13,0x0018AC0D,0x0018AC07, -0x0018AC01,0x001A30A5,0x0018ABFB,0x0018ABF5,0x0018ABEF,0x0018ABE9,0x0018ABE3,0x0018ABDD,0x0018ABD7,0x8000DEC1, -0x8100DEC2,0x8200DEF1,0x8300DEF2,0x8400DEF2,0x8500DEF3,0x8600DEF3,0x8700DEF4,0x8800DEF4,0x8900DEF5,0x8A00DEF6, -0x8B00DEF7,0x8C00DEF8,0x8D00DEF9,0x8E00DEFA,0x8F00DEFB,0x0018ABD1,0x0018ABCB,0x9200DEFC,0x9300DEFD,0x9400DEFE, -0x9500DEFF,0x9600DF00,0x9700DF01,0x9800DF01,0x9900DF02,0x9A00DF03,0x9B00DF04,0x9C00DF05,0x9D00DF05,0x9E00DF06, -0x9F00DF07,0xA000DF08,0xA100DF09,0xA200DF0A,0xA300DF0B,0xA400DF0C,0xA500DF0D,0xA600DF0E,0xA700DF0F,0xA800DF10, -0xA900DF11,0xAA00DF12,0xAB00DF13,0xAC00DF14,0xAD00DF15,0xAE00DF16,0xAF00DF17,0xB000DF18,0xB100DF19,0xB200DF1A, -0xB300DF1B,0xB400DEAF,0xB500DEC1,0xB600DF1C,0xB700DF1D,0xB800DF1E,0xB900DF1F,0xBA00DF20,0xBB00DF21,0xBC00DF20, -0xBD00DF1E,0xBE00DF22,0xBF00DF23,0x0018ABC5,0x0018ABBF,0x0018ABB9,0x0018ABB3,0x0018ABAD,0x001A30A9,0x0018ABA7, -0x0018ABA1,0x0018AB85,0x0018AB95,0x0018AB8F,0x0018AB89,0x0018AB83,0x0018AB7D,0x0018AB77,0x0018AB71,0x0018AB6B, -0x0018AB65,0x0018AB5F,0x0018AB59,0x0018AAD9,0x0018AB4D,0x0018AB47,0x0018AB41,0x0018AB3B,0x0018AB35,0x0018AB2F, -0x0018AB29,0x0018AB23,0x0018AB1D,0x0018AB17,0x0018AB11,0x0018AB0B,0x0018AB05,0x0018AAFF,0x0018AAF9,0x0018AAF3, -0x0018AAED,0x0018AAE7,0x0018AAE1,0x0018AADB,0x0018AAD5,0x0018AACF,0x0018AAC9,0x0018AAC3,0x0018AABD,0x0018AAB7, -0x0018AAB1,0x0018AAAB,0x0018AAA5,0x0018AA9F,0x0018AA99,0x0018AA93,0x0018AA8D,0x0018AA87,0x0018AA81,0x0018AA7B, -0x0018AA75,0x002235F5,0x002230B1,0x002230A9,0x002230A1,0x00223099,0x002235FE,0x8000DF24,0x8100DF25,0x8200DF26, -0x8300DF21,0x8400DEA8,0x8500DDF0,0x8600DF27,0x8700DF28,0x00223607,0x001A35EE,0x008635EE,0x003E35DF,0x00223091, -0x00049CBB,0x000C00F6,0x000C00F3,0x0004B043,0x00049F5F,0x00049F5E,0x000C00F0,0x000C00ED,0x000C00EA,0x000C00E7, -0x000400E6,0x000400E5,0x000400E4,0x000CA9BA,0x000CA9C0,0x000C00E1,0x9000DF3E,0x9100DF3F,0x9200DF40,0x9300DF41, -0x940069C3,0x9500DF42,0x9600DF43,0x9700DF44,0x9800DF45,0x9900D2A8,0x000C00DE,0x000C00DB,0x000C00D8,0x000C00D5, -0x000C00D2,0x000C00CF,0x000C00CC,0x000400CB,0x000400CA,0xB000DF29,0xB100DF2A,0xB200DF2B,0xB300DF2C,0xB400DF2D, -0xB500DF2E,0xB600DF2F,0xB700DF30,0xB800DF39,0xB900DF3A,0xBA00DF3B,0xBB00DF3C,0xBC00DF3D,0xB000D294,0xB100DF46, -0xB200DF47,0xB300DF48,0xB400DF48,0xB500D2E7,0xB600D2E9,0xB700DF49,0xB800DF4A,0xB900DF4B,0xBA00DF4C,0xBB00DF4D, -0xBC00DF58,0xBD00DF59,0xBE00DF5A,0xBF006F01,0x000400C9,0x000400C8,0x000400C7,0x000400C6,0x0004A227,0x0004A224, -0x000400C5,0x000400C4,0x000400C3,0x000400C2,0x000C9CDD,0x00109CD9,0x000CACF2,0x000CACED,0x000CACE8,0x0010ACB5, -0x000CACE3,0x0010ACAF,0x000CACDE,0x0010ACA9,0x000CACD9,0x00109CD5,0x000C9CD2,0x00109CCE,0x000800C0,0x00089CE0, -0x00089D4C,0x000800BE,0x00089D48,0x00089D38,0x00089DA2,0x00089DBE,0x00089CF6,0x000A30AF,0x00089D90,0x00089CE6, -0x00089D52,0x00089CEC,0x00089CF0,0x00089CE8,0x00089CE4,0x00089D28,0x00089DE8,0x00089D20,0x00089D18,0x00089DD4, -0x00089DC8,0x00089DAC,0x00089DB6,0x00089D64,0x00089D40,0x80006F02,0x8100DF5B,0x8200DF5C,0x8300DF5D,0x8400DF5E, -0x00089D32,0x00089F90,0x8700DF5F,0x8800DF60,0x8900D2C6,0x8A00D2C6,0x8B00D2C6,0x8C00D2C6,0x8D00DF48,0x8E00DF48, -0x8F00DF48,0x9000DF3E,0x9100DF3F,0x9200D28D,0x00089CFA,0x940069C3,0x9500DF41,0x9600DF43,0x9700DF42,0x9800DF46, -0x9900D2E7,0x9A00D2E9,0x9B00DF49,0x9C00DF4A,0x9D00DF4B,0x9E00DF4C,0x9F00DF7E,0xA000DF7F,0xA100DF80,0xA200D2E3, -0xA300DF81,0xA400DF82,0xA500DF83,0xA600D2E6,0x0018AA6F,0xA800DF84,0xA900DF85,0xAA00DF86,0xAB00DF87,0x0018AA69, -0x0018AA63,0x0010AA63,0x000400BD,0xB000DF88,0xB100DF89,0xB200DF8A,0x000400BC,0xB400DF8B,0x0004B131,0xB600DF8C, -0xB700DF8D,0xB800DF8E,0xB900DF8F,0xBA00DF90,0xBB00DF91,0xBC00DF92,0xBD00DF93,0xBE00DF94,0xBF00DF95,0x8000DF96, -0x81006A3B,0x82006A3B,0x83006A43,0x84006A43,0x85006A44,0x86006A44,0x87006A47,0x88006A47,0x89006A48,0x8A006A48, -0x8B006A48,0x8C006A48,0x8D00DF97,0x8E00DF97,0x8F00DF98,0x9000DF98,0x9100DF98,0x9200DF98,0x9300DF99,0x9400DF99, -0x9500DF9A,0x9600DF9A,0x9700DF9A,0x9800DF9A,0x9900DF9B,0x9A00DF9B,0x9B00DF9B,0x9C00DF9B,0x9D00DF9C,0x9E00DF9C, -0x9F00DF9C,0xA000DF9C,0xA100DF9D,0xA200DF9D,0xA300DF9D,0xA400DF9D,0xA500DF9E,0xA600DF9E,0xA700DF9E,0xA800DF9E, -0xA900DF9F,0xAA00DF9F,0xAB00DFA0,0xAC00DFA0,0xAD00DFA1,0xAE00DFA1,0xAF00DFA2,0xB000DFA2,0xB100DFA3,0xB200DFA3, -0xB300DFA3,0xB400DFA3,0xB500DFA4,0xB600DFA4,0xB700DFA4,0xB800DFA4,0xB900DFA5,0xBA00DFA5,0xBB00DFA5,0xBC00DFA5, -0xBD00DFA6,0xBE00DFA6,0xBF00DFA6,0x8000DFA6,0x8100DFA7,0x8200DFA7,0x8300DFA7,0x8400DFA7,0x8500DFA8,0x8600DFA8, -0x8700DFA8,0x8800DFA8,0x8900DFA9,0x8A00DFA9,0x8B00DFA9,0x8C00DFA9,0x8D00DFAA,0x8E00DFAA,0x8F00DFAA,0x9000DFAA, -0x9100DFAB,0x9200DFAB,0x9300DFAB,0x9400DFAB,0x9500DFAC,0x9600DFAC,0x9700DFAC,0x9800DFAC,0x9900DFAD,0x9A00DFAD, -0x9B00DFAD,0x9C00DFAD,0x9D00DFAE,0x9E00DFAE,0x9F00DFAE,0xA000DFAE,0xA100DFAF,0xA200DFAF,0xA300DFAF,0xA400DFAF, -0xA500DFB0,0xA600DFB0,0xA700DFB0,0xA800DFB0,0xA900DFB6,0xAA00DFB6,0xAB00DFB6,0xAC00DFB6,0xAD00DFB7,0xAE00DFB7, -0xAF00DBA7,0xB000DBA7,0xB100DFC4,0xB200DFC4,0xB300DFC4,0xB400DFC4,0xB500DFD8,0xB600DFD8,0xB700DFDD,0xB800DFDD, -0xB900DFDE,0xBA00DFDE,0xBB00DFDF,0xBC00DFDF,0x8100DF42,0x8200DFE0,0x8300DF7E,0x8400DF85,0x8500DF86,0x8600DF7F, -0x8700DFE4,0x8800D2E7,0x8900D2E9,0x8A00DF80,0x8B00D2E3,0x8C00DF3E,0x8D00DF81,0x8E00D28D,0x8F00DFE6,0x9000D2CE, -0x9100CF8E,0x9200CF89,0x9300CF8A,0x9400D2CF,0x9500D2D0,0x9600D2D1,0x9700D2D2,0x9800D2DE,0x9900D2E1,0x9A00DF41, -0x9B0069C3,0x9C00DF82,0x9D00D2E6,0x9E00DF83,0x9F00DF43,0xA000DF87,0xA100D0B3,0xA200D0C5,0xA300D2FC,0xA400D0C6, -0xA500D0DE,0xA600D312,0xA700D0E7,0xA800D0F1,0xA900D0F3,0xAA00D0F7,0xAB006E89,0xAC00D0F8,0xAD00D0F9,0xAE00D0FF, -0xAF00D10B,0xB000D10D,0xB100D30B,0xB200D10E,0xB300D4BC,0xB400D10F,0xB500D117,0xB600D38C,0xB700D11A,0xB800D396, -0xB900D4BD,0xBA00D310,0xBB00DF5F,0xBC00DF84,0xBD00DF60,0xBE00E0AD,0xBF00DF48,0x000400BB,0x80006E7C,0x8100CF87, -0x8200D11E,0x8300D159,0x8400D126,0x8500D12D,0x8600D15C,0x8700D135,0x8800CFC5,0x8900D156,0x8A00CFC8,0x8B00D137, -0x8C00CFF0,0x8D00D13C,0x8E00D2EB,0x8F00CF8F,0x9000D14A,0x9100D4BE,0x9200CFCA,0x9300CF99,0x9400D14B,0x9500D14C, -0x9600D150,0x9700CFCF,0x9800CFF2,0x9900CFD0,0x9A00D1C7,0x9B00DF49,0x9C00E0EE,0x9D00DF4A,0x9E00E0EF,0x9F00E0F0, -0xA000E0F1,0xA100DF40,0xA200DF5B,0xA300DF5C,0xA400DF3F,0xA500E0F2,0xA600D8EE,0xA700E0F3,0xA800E0F4,0xA900E0F5, -0xAA00E0F6,0xAB00E0F7,0xAC00E0F8,0xAD00E0F9,0xAE00E0FA,0xAF00E0FB,0xB000E0FC,0xB100D8C0,0xB200D8C1,0xB300D8C2, -0xB400D8C3,0xB500D8C4,0xB600D8C5,0xB700D8C6,0xB800D8C7,0xB900D8C8,0xBA00D8C9,0xBB00D8CA,0xBC00D8CB,0xBD00D8CC, -0xBE00D8CD,0xBF00D8CE,0x000400BA,0x000400B9,0x000C00B6,0x000C00B3,0x000C00B0,0x000E3206,0x000E314C,0x000C00AD, -0x000E3518,0x000CAF16,0x000C00AA,0x000E31A0,0x000E3426,0x000CAE6B,0x000CAE59,0x8000D8CF,0x8100D8D0,0x8200D8D1, -0x8300D8D2,0x8400D8D3,0x8500D8D4,0x8600D8D5,0x8700D8D6,0x8800D8D7,0x8900D8D8,0x8A00D8D9,0x8B00D8DA,0x8C00D8DB, -0x8D00D8DC,0x8E00D8DD,0x8F00D8DE,0x9000D8DF,0x9100D8E0,0x9200D8E1,0x9300D8E2,0x9400D8E3,0x9500D8E4,0x9600D8E5, -0x9700D8E6,0x9800D8E7,0x9900D8E8,0x9A00D8E9,0x9B00D8EA,0x9C00D8EB,0x9D00E13C,0x9E00E13D,0x9F00E13E,0xA000D6D2, -0xA100D678,0xA200D688,0xA300D689,0xA400D68A,0xA500D68C,0xA600D68D,0xA700D68E,0xA800D68F,0xA900D690,0xAA00D691, -0xAB00D694,0xAC00D697,0xAD00D698,0xAE00D699,0xAF00D69A,0xB000D69B,0xB100D69C,0xB200D69D,0xB300D69F,0xB400D6A4, -0xB500D6A6,0xB600D6A8,0xB700D6AA,0xB800D6AC,0xB900D6AE,0xBA00D6B0,0xBB00D6B2,0xBC00D6B4,0xBD00D6B6,0xBE00D6B7, -0x000C9EE9,0x000C9F45,0x000C9F41,0x8200D6B8,0x8300D6B9,0x8400D6BA,0x8500D6BB,0x8600D6BC,0x8700D6BD,0x000800A8, -0x000800A6,0x8A00D6BE,0x8B00D6BF,0x8C00D6C0,0x8D00D6C1,0x8E00D6C2,0x8F00D6C3,0x000800A4,0x000800A2,0x9200D6C4, -0x9300D6C5,0x9400D6C6,0x9500D6C8,0x9600D6CA,0x9700D6CB,0x000800A0,0x000C009D,0x9A00D6CD,0x9B00D6CF,0x9C00D6D1, -0x000C009A,0x000CA27D,0x000C0097,0xA000E145,0xA100E146,0xA200E14D,0xA300CF88,0xA400E14E,0xA500E155,0xA600E156, -0x000CA278,0xA800E15A,0xA900E15B,0xAA00E15C,0xAB00E164,0xAC00E16C,0xAD00E16D,0xAE00E16E,0x000C0094,0x000C0091, -0x000C008E,0x9100CAE2,0x0008008C,0x0008008A,0x0008A304,0x00080088,0x00080086,0x0008A2F8,0x00080084,0x0008A2F0, -0x0008A2C9,0x00080082,0x00080080,0x9D00E0FE,0x9E00E22C,0x9F00E5C5,0x0008007E,0x0008007C,0x0008007A,0x0008A28A, -0x0008A296,0x8500CAE4,0x8600CAD8,0x8700CB1D,0x00080078,0x00080076,0x00080074,0x00080072,0x000C006F,0x0008A314, -0x0008006D,0xAF00CB06,0x9000E11E,0x9100E15E,0x9200E19E,0x9300E1DE,0x9400E21E,0x9500E25D,0x9600E29D,0x9700E2DD, -0x9800E31D,0x9900E35D,0x9A00E39D,0x9B00E3DD,0x9C00E41D,0x9D00E45D,0x9E00E49D,0x9F00E4DD,0x8000D0B3,0x8100D0C5, -0x8200D2FC,0x8300D0C6,0x8400D0DE,0x8500D312,0x8600D0E7,0x8700D0F1,0x8800D0F3,0x8900D0F7,0x8A006E89,0x8B00D0F8, -0x8C00D0F9,0x8D00D0FF,0x8E00D10B,0x8F00D10D,0x9000D30B,0x9100D10E,0x9200D4BC,0x9300D10F,0x9400D117,0x9500D38C, -0x9600D11A,0x9700D396,0x9800D4BD,0x9900D310,0x9A00CF87,0x9B00D11E,0x9C00D159,0x9D00D126,0x9E00D12D,0x9F00D15C, -0xA000D135,0xA100CFC5,0xA200D156,0xA300CFC8,0xA400D137,0xA500CFF0,0xA600D13C,0xA700D2EB,0xA800CF8F,0xA900D14A, -0xAA00D4BE,0xAB00CFCA,0xAC00CF99,0xAD00D14B,0xAE00D14C,0xAF00D150,0xB000CFCF,0xB100CFF2,0xB200CFD0,0xB300D1C7, -0xB400D0B3,0xB500D0C5,0xB600D2FC,0xB700D0C6,0xB800D0DE,0xB900D312,0xBA00D0E7,0xBB00D0F1,0xBC00D0F3,0xBD00D0F7, -0xBE006E89,0xBF00D0F8,0x8000D0F9,0x8100D0FF,0x8200D10B,0x8300D10D,0x8400D30B,0x8500D10E,0x8600D4BC,0x8700D10F, -0x8800D117,0x8900D38C,0x8A00D11A,0x8B00D396,0x8C00D4BD,0x8D00D310,0x8E00CF87,0x8F00D11E,0x9000D159,0x9100D126, -0x9200D12D,0x9300D15C,0x9400D135,0x0008A2FC,0x9600D156,0x9700CFC8,0x9800D137,0x9900CFF0,0x9A00D13C,0x9B00D2EB, -0x9C00CF8F,0x9D00D14A,0x9E00D4BE,0x9F00CFCA,0xA000CF99,0xA100D14B,0xA200D14C,0xA300D150,0xA400CFCF,0xA500CFF2, -0xA600CFD0,0xA700D1C7,0xA800D0B3,0xA900D0C5,0xAA00D2FC,0xAB00D0C6,0xAC00D0DE,0xAD00D312,0xAE00D0E7,0xAF00D0F1, -0xB000D0F3,0xB100D0F7,0xB2006E89,0xB300D0F8,0xB400D0F9,0xB500D0FF,0xB600D10B,0xB700D10D,0xB800D30B,0xB900D10E, -0xBA00D4BC,0xBB00D10F,0xBC00D117,0xBD00D38C,0xBE00D11A,0xBF00D396,0x8000D4BD,0x8100D310,0x8200CF87,0x8300D11E, -0x8400D159,0x8500D126,0x8600D12D,0x8700D15C,0x8800D135,0x8900CFC5,0x8A00D156,0x8B00CFC8,0x8C00D137,0x8D00CFF0, -0x8E00D13C,0x8F00D2EB,0x9000CF8F,0x9100D14A,0x9200D4BE,0x9300CFCA,0x9400CF99,0x9500D14B,0x9600D14C,0x9700D150, -0x9800CFCF,0x9900CFF2,0x9A00CFD0,0x9B00D1C7,0x9C00D0B3,0x0008006B,0x9E00D2FC,0x9F00D0C6,0x00080069,0x00080067, -0xA200D0E7,0x0008A324,0x00080065,0xA500D0F7,0xA6006E89,0x00080063,0x0008A2A6,0xA900D0FF,0xAA00D10B,0xAB00D10D, -0xAC00D30B,0x00080061,0xAE00D4BC,0xAF00D10F,0xB000D117,0xB100D38C,0xB200D11A,0xB300D396,0xB400D4BD,0xB500D310, -0xB600CF87,0xB700D11E,0xB800D159,0xB900D126,0x0008A28E,0xBB00D15C,0x000C005E,0xBD00CFC5,0xBE00D156,0xBF00CFC8, -0x8000D137,0x8100CFF0,0x8200D13C,0x8300D2EB,0x0008005C,0x8500D14A,0x8600D4BE,0x8700CFCA,0x8800CF99,0x8900D14B, -0x8A00D14C,0x8B00D150,0x8C00CFCF,0x8D00CFF2,0x8E00CFD0,0x8F00D1C7,0x9000D0B3,0x9100D0C5,0x9200D2FC,0x9300D0C6, -0x9400D0DE,0x9500D312,0x9600D0E7,0x9700D0F1,0x9800D0F3,0x9900D0F7,0x9A006E89,0x9B00D0F8,0x9C00D0F9,0x9D00D0FF, -0x9E00D10B,0x9F00D10D,0xA000D30B,0xA100D10E,0xA200D4BC,0xA300D10F,0xA400D117,0xA500D38C,0xA600D11A,0xA700D396, -0xA800D4BD,0xA900D310,0xAA00CF87,0xAB00D11E,0xAC00D159,0xAD00D126,0xAE00D12D,0xAF00D15C,0xB000D135,0xB100CFC5, -0xB200D156,0xB300CFC8,0xB400D137,0xB500CFF0,0xB600D13C,0xB700D2EB,0xB800CF8F,0xB900D14A,0xBA00D4BE,0xBB00CFCA, -0xBC00CF99,0xBD00D14B,0xBE00D14C,0xBF00D150,0x8000CFCF,0x8100CFF2,0x8200CFD0,0x8300D1C7,0x8400D0B3,0x8500D0C5, -0x0008005A,0x8700D0C6,0x8800D0DE,0x8900D312,0x8A00D0E7,0x00080058,0x00080056,0x8D00D0F7,0x8E006E89,0x8F00D0F8, -0x9000D0F9,0x9100D0FF,0x9200D10B,0x9300D10D,0x9400D30B,0x00080054,0x9600D4BC,0x9700D10F,0x9800D117,0x9900D38C, -0x9A00D11A,0x9B00D396,0x9C00D4BD,0x0008B095,0x9E00CF87,0x9F00D11E,0xA000D159,0xA100D126,0xA200D12D,0xA300D15C, -0xA400D135,0xA500CFC5,0xA600D156,0xA700CFC8,0xA800D137,0xA900CFF0,0xAA00D13C,0xAB00D2EB,0xAC00CF8F,0xAD00D14A, -0xAE00D4BE,0xAF00CFCA,0xB000CF99,0xB100D14B,0xB200D14C,0xB300D150,0xB400CFCF,0xB500CFF2,0xB600CFD0,0xB700D1C7, -0xB800D0B3,0xB900D0C5,0x00089CCC,0xBB00D0C6,0xBC00D0DE,0xBD00D312,0xBE00D0E7,0x8000D0F3,0x8100D0F7,0x82006E89, -0x8300D0F8,0x8400D0F9,0x00089CCA,0x8600D10B,0xB800E51D,0xB900E54E,0xBA00E58D,0x8A00D4BC,0x8B00D10F,0x8C00D117, -0x8D00D38C,0x8E00D11A,0x8F00D396,0x9000D4BD,0x00089CC8,0x9200CF87,0x9300D11E,0x9400D159,0x9500D126,0x9600D12D, -0x9700D15C,0x9800D135,0x9900CFC5,0x9A00D156,0x9B00CFC8,0x9C00D137,0x9D00CFF0,0x9E00D13C,0x9F00D2EB,0xA000CF8F, -0xA100D14A,0xA200D4BE,0xA300CFCA,0xA400CF99,0xA500D14B,0xA600D14C,0xA700D150,0xA800CFCF,0xA900CFF2,0xAA00CFD0, -0xAB00D1C7,0xAC00D0B3,0xAD00D0C5,0xAE00D2FC,0xAF00D0C6,0xB000D0DE,0xB100D312,0xB200D0E7,0xB300D0F1,0xB400D0F3, -0xB500D0F7,0xB6006E89,0xB700D0F8,0xB800D0F9,0xB900D0FF,0xBA00D10B,0xBB00D10D,0xBC00D30B,0xBD00D10E,0xBE00D4BC, -0xBF00D10F,0x8000D117,0x8100D38C,0x8200D11A,0x8300D396,0x8400D4BD,0x8500D310,0x8600CF87,0x8700D11E,0x8800D159, -0x8900D126,0x8A00D12D,0x8B00D15C,0x8C00D135,0x8D00CFC5,0x8E00D156,0x8F00CFC8,0x9000D137,0x9100CFF0,0x9200D13C, -0x9300D2EB,0x9400CF8F,0x9500D14A,0x9600D4BE,0x9700CFCA,0x9800CF99,0x9900D14B,0x9A00D14C,0x9B00D150,0x9C00CFCF, -0x9D00CFF2,0x9E00CFD0,0x9F00D1C7,0xA000D0B3,0xA100D0C5,0xA200D2FC,0xA300D0C6,0xA400D0DE,0xA500D312,0xA600D0E7, -0xA700D0F1,0xA800D0F3,0xA900D0F7,0xAA006E89,0xAB00D0F8,0xAC00D0F9,0xAD00D0FF,0xAE00D10B,0xAF00D10D,0xB000D30B, -0xB100D10E,0xB200D4BC,0xB300D10F,0xB400D117,0xB500D38C,0xB600D11A,0xB700D396,0xB800D4BD,0xB900D310,0xBA00CF87, -0xBB00D11E,0xBC00D159,0xBD00D126,0xBE00D12D,0xBF00D15C,0x8000D135,0x8100CFC5,0x8200D156,0x8300CFC8,0x8400D137, -0x8500CFF0,0x8600D13C,0x8700D2EB,0x8800CF8F,0x8900D14A,0x8A00D4BE,0x8B00CFCA,0x8C00CF99,0x8D00D14B,0x8E00D14C, -0x8F00D150,0x9000CFCF,0x9100CFF2,0x9200CFD0,0x9300D1C7,0x9400D0B3,0x9500D0C5,0x9600D2FC,0x9700D0C6,0x9800D0DE, -0x9900D312,0x9A00D0E7,0x9B00D0F1,0x9C00D0F3,0x9D00D0F7,0x9E006E89,0x9F00D0F8,0xA000D0F9,0xA100D0FF,0xA200D10B, -0xA300D10D,0xA400D30B,0xA500D10E,0xA600D4BC,0xA700D10F,0xA800D117,0xA900D38C,0xAA00D11A,0xAB00D396,0xAC00D4BD, -0xAD00D310,0xAE00CF87,0xAF00D11E,0xB000D159,0xB100D126,0xB200D12D,0xB300D15C,0xB400D135,0xB500CFC5,0xB600D156, -0xB700CFC8,0xB800D137,0xB900CFF0,0xBA00D13C,0xBB00D2EB,0xBC00CF8F,0xBD00D14A,0xBE00D4BE,0xBF00CFCA,0x8000CF99, -0x8100D14B,0x8200D14C,0x8300D150,0x8400CFCF,0x8500CFF2,0x8600CFD0,0x8700D1C7,0x8800D0B3,0x8900D0C5,0x8A00D2FC, -0x8B00D0C6,0x8C00D0DE,0x8D00D312,0x8E00D0E7,0x8F00D0F1,0x9000D0F3,0x9100D0F7,0x92006E89,0x9300D0F8,0x9400D0F9, -0x9500D0FF,0x9600D10B,0x9700D10D,0x9800D30B,0x9900D10E,0x9A00D4BC,0x9B00D10F,0x9C00D117,0x9D00D38C,0x9E00D11A, -0x9F00D396,0xA000D4BD,0xA100D310,0xA200CF87,0xA300D11E,0xA400D159,0xA500D126,0xA600D12D,0xA700D15C,0xA800D135, -0xA900CFC5,0xAA00D156,0xAB00CFC8,0xAC00D137,0xAD00CFF0,0xAE00D13C,0xAF00D2EB,0xB000CF8F,0xB100D14A,0xB200D4BE, -0xB300CFCA,0xB400CF99,0xB500D14B,0xB600D14C,0xB700D150,0xB800CFCF,0xB900CFF2,0xBA00CFD0,0xBB00D1C7,0xBC00D0B3, -0xBD00D0C5,0xBE00D2FC,0xBF00D0C6,0x8000D0DE,0x8100D312,0x8200D0E7,0x8300D0F1,0x8400D0F3,0x8500D0F7,0x86006E89, -0x8700D0F8,0x8800D0F9,0x8900D0FF,0x8A00D10B,0x8B00D10D,0x8C00D30B,0x8D00D10E,0x8E00D4BC,0x8F00D10F,0x9000D117, -0x9100D38C,0x9200D11A,0x9300D396,0x9400D4BD,0x9500D310,0x9600CF87,0x9700D11E,0x9800D159,0x9900D126,0x9A00D12D, -0x9B00D15C,0x9C00D135,0x9D00CFC5,0x9E00D156,0x9F00CFC8,0xA000D137,0xA100CFF0,0xA200D13C,0xA300D2EB,0xA400CF8F, -0xA500D14A,0xA600D4BE,0xA700CFCA,0xA800CF99,0xA900D14B,0xAA00D14C,0xAB00D150,0xAC00CFCF,0xAD00CFF2,0xAE00CFD0, -0xAF00D1C7,0xB000D0B3,0xB100D0C5,0xB200D2FC,0xB300D0C6,0xB400D0DE,0xB500D312,0xB600D0E7,0xB700D0F1,0xB800D0F3, -0xB900D0F7,0xBA006E89,0xBB00D0F8,0xBC00D0F9,0xBD00D0FF,0xBE00D10B,0xBF00D10D,0x8000D30B,0x8100D10E,0x8200D4BC, -0x8300D10F,0x8400D117,0x8500D38C,0x8600D11A,0x8700D396,0x8800D4BD,0x8900D310,0x8A00CF87,0x8B00D11E,0x8C00D159, -0x8D00D126,0x8E00D12D,0x8F00D15C,0x9000D135,0x9100CFC5,0x9200D156,0x9300CFC8,0x9400D137,0x9500CFF0,0x9600D13C, -0x9700D2EB,0x9800CF8F,0x9900D14A,0x9A00D4BE,0x9B00CFCA,0x9C00CF99,0x9D00D14B,0x9E00D14C,0x9F00D150,0xA000CFCF, -0xA100CFF2,0xA200CFD0,0xA300D1C7,0xA400E170,0xA500E171,0x00089CC6,0x00089CC4,0xA800E172,0xA900E173,0xAA00D335, -0xAB00E174,0xAC00E175,0xAD00E176,0xAE00E177,0xAF00D006,0xB000E178,0xB100E179,0xB200E17A,0xB300E17E,0xB400E17F, -0xB500E180,0xB600E181,0xB700D343,0xB800E182,0xB900D006,0xBA00D00C,0xBB00E186,0xBC00CFFC,0xBD00E187,0xBE00E188, -0xBF00E189,0x80006E88,0x8100E18A,0x8200E18B,0x8300CFFA,0x8400D153,0x8500D154,0x8600D007,0x8700E18C,0x8800E1F3, -0x8900CFFB,0x8A006E57,0x8B00D003,0x8C00E23B,0x8D00CF8C,0x8E00E23E,0x8F00E23F,0x9000E241,0x9100D002,0x9200D004, -0x9300D005,0x9400E242,0x9500E245,0x9600E246,0x9700CFFD,0x9800D155,0x9900E24B,0x9A00E258,0x9B00E25A,0x9C00D007, -0x9D00CFFB,0x9E00D003,0x9F00CFFD,0xA000D004,0xA100D002,0xA200E172,0xA300E173,0xA400D335,0xA500E174,0xA600E175, -0xA700E176,0xA800E177,0xA900D006,0xAA00E178,0xAB00E179,0xAC00E17A,0xAD00E17E,0xAE00E17F,0xAF00E180,0xB000E181, -0xB100D343,0xB200E182,0xB300D006,0xB400D00C,0xB500E186,0xB600CFFC,0xB700E187,0xB800E188,0xB900E189,0xBA006E88, -0xBB00E18A,0xBC00E18B,0xBD00CFFA,0xBE00D153,0xBF00D154,0x8000D007,0x8100E18C,0x8200E1F3,0x8300CFFB,0x84006E57, -0x8500D003,0x8600E23B,0x8700CF8C,0x8800E23E,0x8900E23F,0x8A00E241,0x8B00D002,0x8C00D004,0x8D00D005,0x8E00E242, -0x8F00E245,0x9000E246,0x9100CFFD,0x9200D155,0x9300E24B,0x9400E258,0x9500E25A,0x9600D007,0x9700CFFB,0x9800D003, -0x9900CFFD,0x9A00D004,0x9B00D002,0x9C00E172,0x9D00E173,0x9E00D335,0x9F00E174,0xA000E175,0xA100E176,0xA200E177, -0xA300D006,0xA400E178,0xA500E179,0xA600E17A,0xA700E17E,0xA800E17F,0xA900E180,0xAA00E181,0xAB00D343,0xAC00E182, -0xAD00D006,0xAE00D00C,0xAF00E186,0xB000CFFC,0xB100E187,0xB200E188,0xB300E189,0xB4006E88,0xB500E18A,0xB600E18B, -0xB700CFFA,0xB800D153,0xB900D154,0xBA00D007,0xBB00E18C,0xBC00E1F3,0xBD00CFFB,0xBE006E57,0xBF00D003,0x8000E23B, -0x8100CF8C,0x8200E23E,0x8300E23F,0x8400E241,0x8500D002,0x8600D004,0x8700D005,0x8800E242,0x8900E245,0x8A00E246, -0x8B00CFFD,0x8C00D155,0x8D00E24B,0x8E00E258,0x8F00E25A,0x9000D007,0x9100CFFB,0x9200D003,0x9300CFFD,0x9400D004, -0x9500D002,0x9600E172,0x9700E173,0x9800D335,0x9900E174,0x9A00E175,0x9B00E176,0x9C00E177,0x9D00D006,0x9E00E178, -0x9F00E179,0xA000E17A,0xA100E17E,0xA200E17F,0xA300E180,0xA400E181,0xA500D343,0xA600E182,0xA700D006,0xA800D00C, -0xA900E186,0xAA00CFFC,0xAB00E187,0xAC00E188,0xAD00E189,0xAE006E88,0xAF00E18A,0xB000E18B,0xB100CFFA,0xB200D153, -0xB300D154,0xB400D007,0xB500E18C,0xB600E1F3,0xB700CFFB,0xB8006E57,0xB900D003,0xBA00E23B,0xBB00CF8C,0xBC00E23E, -0xBD00E23F,0xBE00E241,0xBF00D002,0x8000D004,0x8100D005,0x8200E242,0x8300E245,0x8400E246,0x8500CFFD,0x8600D155, -0x8700E24B,0x8800E258,0x8900E25A,0x8A00D007,0x8B00CFFB,0x8C00D003,0x8D00CFFD,0x8E00D004,0x8F00D002,0x9000E172, -0x9100E173,0x9200D335,0x9300E174,0x9400E175,0x9500E176,0x9600E177,0x9700D006,0x9800E178,0x9900E179,0x9A00E17A, -0x9B00E17E,0x9C00E17F,0x9D00E180,0x9E00E181,0x9F00D343,0xA000E182,0xA100D006,0xA200D00C,0xA300E186,0xA400CFFC, -0xA500E187,0xA600E188,0xA700E189,0xA8006E88,0xA900E18A,0xAA00E18B,0xAB00CFFA,0xAC00D153,0xAD00D154,0xAE00D007, -0xAF00E18C,0xB000E1F3,0xB100CFFB,0xB2006E57,0xB300D003,0xB400E23B,0xB500CF8C,0xB600E23E,0xB700E23F,0xB800E241, -0xB900D002,0xBA00D004,0xBB00D005,0xBC00E242,0xBD00E245,0xBE00E246,0xBF00CFFD,0x8000D155,0x8100E24B,0x8200E258, -0x8300E25A,0x8400D007,0x8500CFFB,0x8600D003,0x8700CFFD,0x8800D004,0x8900D002,0x8A00E262,0x8B00E2A4,0x00089CC2, -0x00089CC0,0x8E00D2CE,0x8F00CF8E,0x9000CF89,0x9100CF8A,0x9200D2CF,0x9300D2D0,0x9400D2D1,0x9500D2D2,0x9600D2DE, -0x9700D2E1,0x9800D2CE,0x9900CF8E,0x9A00CF89,0x9B00CF8A,0x9C00D2CF,0x9D00D2D0,0x9E00D2D1,0x9F00D2D2,0xA000D2DE, -0xA100D2E1,0xA200D2CE,0xA300CF8E,0xA400CF89,0xA500CF8A,0xA600D2CF,0xA700D2D0,0xA800D2D1,0xA900D2D2,0xAA00D2DE, -0xAB00D2E1,0xAC00D2CE,0xAD00CF8E,0xAE00CF89,0xAF00CF8A,0xB000D2CF,0xB100D2D0,0xB200D2D1,0xB300D2D2,0xB400D2DE, -0xB500D2E1,0xB600D2CE,0xB700CF8E,0xB800CF89,0xB900CF8A,0xBA00D2CF,0xBB00D2D0,0xBC00D2D1,0xBD00D2D2,0xBE00D2DE, -0xBF00D2E1,0x8000DF97,0x8100DF98,0x8200DF9C,0x8300DF9F,0x00089CBE,0x8500DFB7,0x8600DFA2,0x8700DF9D,0x8800DFA7, -0x8900DFC4,0x8A00DFAD,0x8B00DFAE,0x8C00DFAF,0x8D00DFB0,0x8E00DFA3,0x8F00DFA9,0x9000DFAB,0x9100DFA5,0x9200DFAC, -0x9300DFA1,0x9400DFA4,0x9500DF9A,0x9600DF9B,0x9700DF9E,0x9800DFA0,0x9900DFA6,0x9A00DFA8,0x9B00DFAA,0x9C00E2A9, -0x9D00DB9A,0x9E00E2AA,0x9F00E2B3,0x00089CBC,0xA100DF98,0xA200DF9C,0x00089CBA,0xA400DFB6,0x000CAA60,0x000CAA5D, -0xA700DF9D,0x9000E6A1,0xA900DFC4,0xAA00DFAD,0xAB00DFAE,0xAC00DFAF,0xAD00DFB0,0xAE00DFA3,0xAF00DFA9,0xB000DFAB, -0xB100DFA5,0xB200DFAC,0x8200DF9C,0xB400DFA4,0xB500DF9A,0xB600DF9B,0xB700DF9E,0x8700DF9D,0xB900DFA6,0x8900DFC4, -0xBB00DFAA,0x8B00DFAE,0x000CAA5A,0x8D00DFB0,0x8E00DFA3,0x8F00DFA9,0x000CAA57,0x9100DFA5,0x9200DFAC,0x000CAA54, -0x9400DFA4,0x000CAA51,0x000CAA4E,0x9700DF9E,0x000CAA4B,0x9900DFA6,0x000CAA48,0x9B00DFAA,0x000CAA45,0x9D00DB9A, -0x000CAA42,0x9F00E2B3,0x000CAA3F,0xA100DF98,0xA200DF9C,0x000CAA3C,0xA400DFB6,0x000CAA39,0x000CAA36,0xA700DF9D, -0xA800DFA7,0xA900DFC4,0xAA00DFAD,0x000CAA33,0xAC00DFAF,0xAD00DFB0,0xAE00DFA3,0xAF00DFA9,0xB000DFAB,0xB100DFA5, -0xB200DFAC,0x000CAA30,0xB400DFA4,0xB500DF9A,0xB600DF9B,0xB700DF9E,0x000CAA2D,0xB900DFA6,0xBA00DFA8,0xBB00DFAA, -0xBC00E2A9,0x000CAA2A,0xBE00E2AA,0x8000DF97,0x8100DF98,0x8200DF9C,0x8300DF9F,0x8400DFB6,0x8500DFB7,0x8600DFA2, -0x8700DF9D,0x8800DFA7,0x8900DFC4,0x000CAA27,0x8B00DFAE,0x8C00DFAF,0x8D00DFB0,0x8E00DFA3,0x8F00DFA9,0x9000DFAB, -0x9100DFA5,0x9200DFAC,0x9300DFA1,0x9400DFA4,0x9500DF9A,0x9600DF9B,0x9700DF9E,0x9800DFA0,0x9900DFA6,0x9A00DFA8, -0x9B00DFAA,0x000CAA24,0x000CAA21,0x000CAA1E,0x000CAA1B,0x000CAA18,0xA100DF98,0xA200DF9C,0xA300DF9F,0x000CAA15, -0xA500DFB7,0xA600DFA2,0xA700DF9D,0xA800DFA7,0xA900DFC4,0x001CAA0E,0xAB00DFAE,0xAC00DFAF,0xAD00DFB0,0xAE00DFA3, -0xAF00DFA9,0xB000DFAB,0xB100DFA5,0xB200DFAC,0xB300DFA1,0xB400DFA4,0xB500DF9A,0xB600DF9B,0xB700DF9E,0xB800DFA0, -0xB900DFA6,0xBA00DFA8,0xBB00DFAA,0x8400E5CF,0x8500E60F,0x8600E535,0x00089CB8,0x8800E62E,0x8900E670,0x8000E2BB, -0x8100E2D8,0x8200E2E2,0x8300E2EE,0x8400E443,0x8500E444,0x8600E569,0x8700E56A,0x8800E5A1,0x8900E5BD,0x8A00E5C0, -0x00089CB6,0x00089CB4,0x00089CB2,0x00089CB0,0x000CAA0B,0x9000E5C2,0x9100E5C3,0x9200E5DA,0x9300E5DE,0x9400E5E1, -0x9500E5E3,0x9600E5E4,0x9700E5E6,0x9800E5E8,0x9900E5EA,0x9A00E5EC,0x9B00E5EE,0x9C00E5F1,0x9D00E5F3,0x9E00E5F4, -0x9F00E5F9,0xA000E601,0xA100E606,0xA200E60B,0xA300E617,0xA400E629,0xA500E62A,0xA600E62B,0xA700E62C,0xA800E62D, -0xA900E631,0xAA00E637,0xAB00D2FC,0xAC00D10E,0xAD00E64C,0xAE00E65A,0x00089CAE,0xB000D0B3,0xB100D0C5,0xB200D2FC, -0xB300D0C6,0xB400D0DE,0xB500D312,0xB600D0E7,0xB700D0F1,0xB800D0F3,0xB900D0F7,0xBA006E89,0xBB00D0F8,0xBC00D0F9, -0xBD00D0FF,0xBE00D10B,0xBF00D10D,0x8000D30B,0x8100D10E,0x8200D4BC,0x8300D10F,0x8400D117,0x8500D38C,0x8600D11A, -0x8700D396,0x8800D4BD,0x8900D310,0x8A00E65B,0x8B00DAA7,0x8C00E65C,0x8D00E65D,0x8E00E65E,0x8F00E67E,0x00089CAC, -0x00089CAA,0x00089CA8,0x00189CA2,0x00189C9C,0x000C0051,0x000C004E,0x000C004B,0x000C0048,0x000C0045,0x000C0042, -0x000C003F,0x000C003C,0x000C0039,0x000C0036,0x8000E6A2,0x8100E6A3,0x8200D8CA,0x000C0033,0x000C0030,0x000C002D, -0x000C002A,0x000C0027,0x000C0024,0x000C0021,0x000C001E,0xAA00E69F,0xAB00E6A0,0x000C001B,0x000CA9D8,0x000C0018, -0x9000D546,0x9100E6A4,0x9200E6A5,0x93006F45,0x9400D513,0x9500CC75,0x9600E6A6,0x9700D773,0x9800E6A7,0x9900E6A8, -0x9A00E6A9,0x9B00C923,0x9C00E6AA,0x9D00E6AB,0x9E00CBFA,0x9F00E6AC,0xA000E6AD,0xA100E6B1,0xA200D5A9,0xA300E6B2, -0xA400E6B3,0xA500E6B4,0xA600E6B5,0xA700E6B6,0xA800E6B7,0xA900D50D,0xAA00D76B,0xAB00E6B8,0xAC00D856,0xAD00D76E, -0xAE00D857,0xAF00E6BB,0xB000D61A,0xB100E6BC,0xB200E6BD,0xB300E6EA,0xB400E6EB,0xB500E6EC,0xB600D847,0xB700D590, -0xB800E6ED,0xB900CC06,0xBA00E6EE,0xBB00E6EF,0x000C0015,0x000C0012,0x000C000F,0x000C000C,0x000C0009,0x000C0006, -0x8000E6F9,0x8100E6FA,0x8200E6FB,0x8300E6FC,0x8400E6FD,0x8500E6FE,0x8600E6FF,0x8700E702,0x8800E703,0x0024AA02, -0x0024A9F9,0x0024A9F0,0x0024A9E7,0x0024A9DE,0x0024A9D5,0x0024A9CC,0x9000E704,0x9100E705,0x0024A9C3,0x0024A9BA, -0x000C0003,0x000C0000,0xCC00E6AE,0xCD00E6F0,0x000000E6,0x000000E8,0x000000DC,0x000000D8,0xD200E69B,0x000000CA, -0x00000001,0x000000F0,0xD600E710,0xD700E752,0xD800E74A,0xD900E75D,0x000000E9,0xDB00E770,0xDC00E772,0xDD00E7B2, -0x000000EA,0xDF00E792,0xE000E7A6,0xE100E847,0xE200E906,0xE300E844,0x8300E708,0x8400E708,0x8500E708,0x8600E708, -0x8700E708,0x000000DE,0xEA00E945,0x000000E4,0x0000000A,0x0000000B,0x0000000C,0xEF00E936,0xF000E9A2,0x0000000D, -0x0000000E,0x0000000F,0x8000E708,0x8100E708,0x8200E708,0x8300E708,0x8400E708,0x8500E708,0x8600E708,0x8700E708, -0x8800E708,0x8900E708,0x8A00E708,0x8B00E708,0x8C00E708,0x8D00E708,0x8E00E708,0x8F00E708,0x9000E708,0x9100E708, -0x9200E708,0x9300E708,0x9400E708,0x9500E709,0x9600E70A,0x9700E70A,0x9800E70A,0x9900E70A,0x9A00E709,0x9B00E70B, -0x9C00E70A,0x9D00E70A,0x9E00E70A,0x9F00E70A,0xA000E70A,0xA100E70D,0xA200E70D,0xA300E70A,0xA400E70A,0xA500E70A, -0xA600E70A,0xA700E70D,0xA800E70D,0xA900E70A,0xAA00E70A,0xAB00E70A,0xAC00E70A,0xAD00E70A,0xAE00E70A,0xAF00E70A, -0xB000E70A,0xB100E70A,0xB200E70A,0xB300E70A,0xB400E70E,0xB500E70E,0xB600E70E,0xB700E70E,0xB800E70E,0xB900E70A, -0xBA00E70A,0xBB00E70A,0xBC00E70A,0xBD00E708,0xBE00E708,0xBF00E708,0x00000010,0x00000011,0x8000E708,0x8100E708, -0x8200E708,0x8300E708,0x8400E708,0x8500E70F,0x8600E708,0x8700E70A,0x8800E70A,0x8900E70A,0x8A00E708,0x8B00E708, -0x8C00E708,0x8D00E70A,0x8E00E70A,0x00000012,0x9000E708,0x9100E708,0x9200E708,0x9300E70A,0x9400E70A,0x9500E70A, -0x9600E70A,0x9700E708,0x9800E709,0x9900E70A,0x9A00E70A,0x9B00E708,0x9C00E714,0x9D00E718,0x9E00E718,0x9F00E714, -0xA000E718,0xA100E718,0xA200E714,0xA300E708,0xA400E708,0xA500E708,0xA600E708,0xA700E708,0xA800E708,0xA900E708, -0xAA00E708,0xAB00E708,0xAC00E708,0xAD00E708,0xAE00E708,0xAF00E708,0x00000013,0x9100E70A,0x9200E708,0x9300E708, -0x9400E708,0x9500E708,0x9600E70A,0x9700E708,0x9800E708,0x9900E708,0x9A00E723,0x9B00E70A,0x9C00E708,0x9D00E708, -0x9E00E708,0x9F00E708,0xA000E708,0xA100E708,0xA200E70A,0xA300E70A,0xA400E70A,0xA500E70A,0xA600E70A,0xA700E70A, -0xA800E708,0xA900E708,0xAA00E70A,0xAB00E708,0xAC00E708,0xAD00E723,0xAE00E725,0xAF00E708,0xB000E726,0xB100E727, -0xB200E728,0xB300E72B,0xB400E72C,0xB500E72D,0xB600E76E,0xB700E76F,0xB800E77F,0xB900E7A0,0xBA00E7A0,0xBB00E7CE, -0xBC00E7D0,0xBD00E7D1,0x00000014,0xBF00E7D2,0x00000015,0x00000016,0x00000017,0x8100E7D5,0x8200E7D8,0x00000018, -0x8400E708,0x8500E70A,0x00000019,0x8700E77F,0x9000E708,0x9100E708,0x9200E708,0x9300E708,0x9400E708,0x9500E708, -0x9600E708,0x9700E708,0x9800E7E5,0x9900E7E6,0x9A00E7E7,0x0000001E,0x0000001F,0x00000020,0x8B00E7FD,0x8C00E7FE, -0x8D00E7FF,0x8E00E7E5,0x8F00E7E6,0x9000E7E7,0x9100E800,0x9200E801,0x9300E708,0x9400E708,0x9500E70A,0x9600E70A, -0x9700E708,0x9800E708,0x9900E708,0x9A00E708,0x9B00E708,0x9C00E70A,0x9D00E708,0x9E00E708,0x9F00E70A,0x0000001B, -0x0000001C,0x0000001D,0x00000021,0x00000022,0x00000023,0x9100E804,0x00000024,0x00000007,0x9600E708,0x9700E708, -0x9800E708,0x9900E708,0x9A00E708,0x9B00E708,0x9C00E708,0xB000E802,0x00000009,0x9F00E708,0xA000E708,0xA100E708, -0xA200E708,0xA300E70A,0xA400E708,0x00000054,0x0000005B,0xA700E708,0xA800E708,0x8A00E80E,0xAA00E70A,0xAB00E708, -0xAC00E708,0xAD00E70A,0x9900E70A,0x9A00E70A,0x9B00E70A,0x8D00E70A,0xB000E708,0xB100E70A,0xB200E708,0xB300E708, -0xB400E70A,0xB500E708,0xB600E708,0xB700E70A,0xB800E70A,0xB900E70A,0xBA00E708,0xBB00E70A,0xBC00E70A,0xBD00E708, -0xBE00E70A,0xBF00E708,0x8000E708,0x8100E708,0x8200E70A,0x8300E708,0x8400E70A,0x8500E708,0x8600E70A,0x8700E708, -0x8800E70A,0x8900E708,0x8A00E708,0xAB00E708,0xAC00E708,0xAD00E708,0xAE00E708,0xAF00E708,0xB000E708,0xB100E708, -0xB200E70A,0xB300E708,0xA000E7D3,0xA100E785,0x00000067,0xA300E7ED,0xA400CED7,0xA500E820,0xA600CED7,0xA700DB48, -0xA800CED7,0xA900DB48,0xAA00CED7,0xAB00DB48,0xAC00CED7,0xAD00DB48,0x0000006B,0xAF00DB48,0x00000076,0xB100E821, -0xB200CED7,0xB300DB48,0x0000007A,0xB500DB48,0x00000081,0xB700E78F,0xB800E7AE,0xB900E830,0xBA00E7F7,0xBB00E834, -0xBC00E828,0xBD00E811,0xBE00E84F,0xBF00DAB1,0xB800E848,0xB900E848,0xBA00E80E,0x9600E708,0x9700E708,0x9800E708, -0x9900E708,0x00000082,0x9B00E708,0x9C00E708,0x9D00E708,0x9E00E708,0x9F00E708,0xA000E708,0xA100E708,0xA200E708, -0xA300E708,0x00000084,0xA500E708,0xA600E708,0xA700E708,0x000000D6,0xA900E708,0xAA00E708,0xAB00E708,0xAC00E708, -0xAD00E708,0x9400E708,0x9500E708,0x9600E708,0x9700E708,0x9800E708,0x9900E708,0x9A00E708,0x9B00E708,0x9C00E708, -0x9D00E708,0x9E00E708,0x9F00E708,0xA000E708,0xA100E708,0x000000DA,0xA300E70A,0xA400E708,0xA500E708,0xA600E70A, -0xA700E708,0xA800E708,0xA900E70A,0xAA00E708,0xAB00E708,0xAC00E708,0xAD00E70A,0xAE00E70A,0xAF00E70A,0xB000E7FD, -0xB100E7FE,0xB200E7FF,0xB300E708,0xB400E708,0xB500E708,0xB600E70A,0xB700E708,0xB800E708,0xB900E70A,0xBA00E70A, -0xBB00E708,0xBC00E708,0xBD00E708,0xBE00E708,0xBF00E708,0x8D00E80E,0x8D00E80E,0xB800E856,0xB900E856,0x9100E708, -0x9200E70A,0x9300E708,0x9400E708,0x000000E0,0x9500E815,0x9600E816,0x8800E854,0x8900E854,0x8A00E854,0x8B00E854, -0x8800E85A,0x8900E85A,0x8A00E85A,0x8B00E85A,0x9800E70A,0x9900E70A,0xB100E85C,0xB200E86D,0x8000E89D,0xB400E877, -0x8200E86B,0x8000E822,0x00000008,0x8200E794,0x9400E80E,0xBA00E86D,0xBB00E86D,0xBC00E86D,0xBD00E86D,0x8000E86D, -0x8600E80E,0x8200E708,0x8300E708,0x8400E80E,0x8D00E85E,0x8600E708,0x8700E708,0x9200E80E,0xB300E805,0xB700E805, -0xAD00E80E,0xB900E80E,0xBA00E80E,0xB500E70A,0x9300E80E,0xB700E70A,0x8000E80E,0xB900E70B,0x9D00E708,0x9C00E836, -0x9700E708,0x9800E70A,0x9F00E845,0xAA00E80E,0xAB00E80E,0xA200DCCD,0xB400E80E,0xA400E833,0xB900E723,0xBA00E708, -0xBB00E70A,0xA800E84D,0xA900E852,0xAA00E862,0xA000E80E,0xAC00DD30,0xAD00E875,0xAE00E83D,0xAF00E85D,0xB000D7B8, -0x0000001A,0x8400E80E,0xB300E899,0x9D00E708,0x9E00E708,0x9F00E708,0xB700E8D3,0xAF00E708,0xB000E708,0xB100E708, -0x9E00E8F8,0xA600E805,0x9900E8C8,0x9A00E8C8,0xBD00E70A,0xB500E708,0xB600E708,0xB700E708,0xB800E708,0xB900E708, -0xBA00E708,0xBB00E708,0xBC00E708,0xB200E80E,0xB300E80E,0xBF00E70A,0xB000E708,0xB100E708,0xB200E708,0xB300E708, -0xB400E708,0xB500E70A,0xB600E70A,0xB700E70A,0xB800E70A,0xB900E70A,0xBA00E70A,0xBB00E708,0xBC00E708,0xBD00E70A, -0xAB00E708,0xAC00E70A,0xAD00E708,0xAE00E708,0xAF00E708,0xB000E708,0xB100E708,0xB200E708,0xB300E708,0x9000E708, -0x9100E708,0x9200E708,0xA000E70A,0x9400E70E,0x9500E70A,0x9600E70A,0x9700E70A,0x9800E70A,0x9900E70A,0x9A00E708, -0x9B00E708,0x9C00E70A,0x9D00E70A,0x9E00E70A,0x9F00E70A,0xA000E708,0x8000E805,0xA200E70E,0xA300E70E,0xA400E70E, -0xA500E70E,0xA600E70E,0xA700E70E,0xA800E70E,0x9E00E708,0x9F00E708,0xB000E708,0xB100E708,0xAD00E70A,0xAA00E88F, -0xAB00E725,0xAC00E709,0xAD00E723,0xAE00E8B5,0xAF00E8B5,0xB400E708,0xAB00E70A,0xAC00E70A,0xAD00E70A,0xB800E708, -0xB900E708,0x8000E708,0x8100E708,0x8200E70A,0x8300E708,0x8400E708,0x8500E708,0x8600E708,0x8700E708,0x8800E708, -0x8900E708,0x8A00E70A,0x8B00E708,0x8C00E708,0x8D00E718,0x8E00E87B,0x8F00E70A,0x9000E70D,0x9100E708,0x9200E708, -0x9300E708,0x9400E708,0x9500E708,0x9600E708,0x9700E708,0x9800E708,0x9900E708,0x9A00E708,0x9B00E708,0x9C00E708, -0x9D00E708,0x9E00E708,0x9F00E708,0xA000E708,0xA100E708,0xA200E708,0xA300E708,0xA400E708,0xA500E708,0xA600E708, -0xA700E708,0xA800E708,0xA900E708,0xAA00E708,0xAB00E708,0xAC00E708,0xAD00E708,0xAE00E708,0xAF00E708,0xB000E708, -0xB100E708,0xB200E708,0xB300E708,0xB400E708,0xB500E708,0x8300E903,0x8D00E70A,0xAB00E80E,0x8F00E708,0xB200E909, -0xBB00E708,0xBC00E714,0xBD00E70A,0xBE00E708,0xBF00E70A,0x9000E708,0x9100E708,0x9200E70E,0x9300E70E,0x9400E708, -0x9500E708,0x9600E708,0x9700E708,0x9800E70E,0x9900E70E,0x9A00E70E,0x9B00E708,0x9C00E708,0xA500E708,0xA600E70A, -0xB900E80E,0xBA00E805,0xA100E708,0xB500E80E,0xB600E805,0x9E00E70E,0xA500E70E,0xA600E70E,0xA700E708,0xA800E70A, -0xA900E708,0xAA00E70E,0xAB00E70E,0xAC00E70A,0xAD00E70A,0xAE00E70A,0xAF00E70A,0xB000E708,0x8700E9E3,0xB800E708, -0xB900E70E,0xBA00E70A,0x8100E708,0xB300E850,0x8600E80E,0xB5006DD5,0xBF00E80E,0xB700E91E,0xA000E708,0xA100E708, -0xA200E708,0xA300E708,0xA400E708,0xA500E708,0xA600E708,0xA700E708,0xA800E708,0xA900E708,0xAA00E708,0xAB00E708, -0xAC00E708,0xAD00E708,0xAE00E708,0xAF00E708,0xB000E708,0xB100E708,0xB200E708,0xB300E708,0xB400E708,0xB500E708, -0xB600E708,0xB700E708,0xB800E708,0xB900E708,0xBA00E708,0xBB00E708,0xBC00E708,0xBD00E708,0xBE00E708,0xBF00E708, -0x9900E942,0x9A00E8A4,0x9B00E894,0x000000E2,0xAC00E864,0x00000000,0x8400E80E,0xA000E84A,0xA900E805,0xAA00E80E, -0xA300E960,0xA400E8A3,0xA500E84B,0xA600E825,0xA700E860,0xB600E80E,0xB800E982,0xAA00E962,0xAB00E937,0xAF00E708, -0x9700E9E3,0xBF00E80E,0xAF00E82D,0xBC00E9E3,0xB400E708,0xB500E708,0xB600E708,0xB700E708,0xB800E708,0xB900E708, -0xBA00E708,0xBB00E708,0xBC00E708,0xBD00E708,0xA000E708,0xA100E708,0xA200E708,0xA300E708,0xA400E708,0xA500E708, -0xA600E708,0xA700E708,0xA800E708,0xA900E708,0xAA00E708,0xAB00E708,0xAC00E708,0xAD00E708,0xAE00E708,0xAF00E708, -0xB000E708,0xB100E708,0xB000E708,0x8000E80E,0xB200E708,0xB300E708,0xB400E70A,0x8200E80E,0x8700E849,0xB700E708, -0xB800E708,0x8600E805,0x8B00E88C,0x8A00E805,0x8D00E98B,0xBE00E9E3,0xBE00E708,0xBF00E708,0xA000E708,0xA100E708, -0xA200E708,0xA300E708,0xA400E708,0xA500E708,0xA600E708,0xA700E70A,0xA800E70A,0xA900E70A,0xAA00E70A,0xAB00E70A, -0xAC00E70A,0xAD00E70A,0xAE00E708,0xAF00E708,0x9000E991,0x9100E9C5,0x8000E708,0x8100E708,0x8200E708,0x9600E9E3, -0x9600E9A9,0xA800E8FD,0x8200E80E,0x8300E805,0xAB00E8FB,0x9B00E8DB,0xAE00E9E3,0x9D00E9FD,0x9E00E9F3,0xB600E708, -0xB700E708,0xB800E708,0xB900E708,0xBA00E708,0x8100E934,0x8200E8E9,0x9C00E9E3,0x8400E9B4,0x8500E825,0xB500E9E3, -0x8700E993,0x8800E8F0,0xB600E80E,0xB700E805,0x8B00E93D,0x8C00CED7,0x8D00E9C6,0x8D00E80E,0xAB00E9B2,0xAC00E9CB, -0x9100E995,0xB300E9E3,0x9300E9B8,0x8200EA24,0xB600E9E3,0x96006DD5,0x9700E8BA,0x98006DD5,0xA700E9E3,0x9A00E998, -0xBA00E9E3,0x9C00E8E0,0xB000E70E,0xB100E70E,0xB200E70E,0xB300E70E,0xB400E70E,0xB300E80E,0xB400E80E,0x8200E708, -0x8300E708,0x8400E708,0xA600E708,0xA700E708,0xA800E708,0xA900E708,0xAA00E708,0xAB00E708,0xAC00E708,0x8000EA50, -0x8000E9E3,0xB0006DD5,0xB000E708,0xB100E708,0xB200E708,0xB300E708,0xB400E708,0xB000E708,0xB100E708,0xB200E708, -0xB300E708,0xB400E708,0xB500E708,0xB600E708,0x8500E9E2,0x8600EA22,0x8000E9E3,0x8100E9E3,0x8900E9E7,0xA500E70B, -0xA600E70B,0xA700E70E,0xA800E70E,0xA900E70E,0x9300E9E3,0x9400E9E3,0x9500E9E3,0xAD00E9E1,0xAE00E70B,0xAF00E70B, -0xB000E70B,0xB100E70B,0xB200E70B,0xAF00E9E3,0xA300EA1E,0xB300E9E3,0xA500EA31,0x8000E9E3,0x8100E9E3,0x8200E9E3, -0x8C00E9E3,0xBB00E70A,0xBC00E70A,0xBD00E70A,0xBE00E70A,0xBF00E70A,0x8000E70A,0x8100E70A,0x8200E70A,0xA900E9E3, -0xAA00E9E3,0x8500E708,0x8600E708,0x8700E708,0x8800E708,0x8900E708,0x8A00E70A,0x8B00E70A,0x9000E70A,0x9100E70A, -0x9200E70A,0x9300E70A,0x9400E70A,0x9500E70A,0x9600E70A,0x8400E708,0x8500E708,0x8600E708,0x8700E708,0x8800E708, -0x8900E708,0x8A00E805,0xBB00E9E3,0x9900E9E3,0x9A00E9E3,0xBE00E9E3,0x8900E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3, -0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8500EB3B,0x8600EA4E,0x8700E9F4,0x9F00E9E3,0x9100EAF6,0xAA00E708,0xAB00E708, -0xAC00E708,0xAD00E708,0x8000E708,0x8100E708,0x8200E708,0x8300E708,0x8400E708,0x8500E708,0x8600E708,0x9D00EA42, -0x8800E708,0x8900E708,0x8A00E708,0x8B00E708,0x8C00E708,0x8D00E708,0x8E00E708,0x8F00E708,0x9000E708,0x9100E708, -0x9200E708,0x9300E708,0x9400E708,0x9500E708,0x9600E708,0x9700E708,0x9800E708,0xAF00EB5D,0x9000E9E3,0x9B00E708, -0x9C00E708,0x9D00E708,0x9E00E708,0x9F00E708,0xA000E708,0xA100E708,0xBF00E9E3,0xA300E708,0xA400E708,0xB400E9E3, -0xA600E708,0xA700E708,0xA800E708,0xA900E708,0xAA00E708,0xCC00EAA0,0xCD00EA41,0xCE00E92D,0xFF000000,0xBE00E9E3, -0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xD900E9F9,0xBB00E9E3, -0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x9700E9E3,0xE000EAAE,0xE100EAE9,0xE200EAF5,0xE300E9D7,0x9C00E9E3, -0x9D00E9E3,0xB000E9E3,0x9F00E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x8200E9E3,0xFF000000,0x9E00E9E3,0xFF000000, -0xEF00EB67,0xF000EA3A,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0xFF000000,0x8600E9E3,0x8700E9E3, -0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x9500E9E3,0x9600E9E3,0x8F00E9E3,0xFF000000,0x9100E9E3, -0xFF000000,0x9300E9E3,0x9400E9E3,0x8A00E9E3,0xFF000000,0x9600E9E3,0x9700E9E3,0xFF000000,0x8F00E9E3,0x9B00E9E3, -0xA600E9E3,0x9C00E9E3,0x9D00E9E3,0xB000E9E3,0xAA00E9E3,0xAB00E9E3,0xFF000000,0xA300E9E3,0xA400E9E3,0xA500E9E3, -0xA600E9E3,0xA700E9E3,0xA800E9E3,0xBA00E9E3,0x9F00E9E3,0xFF000000,0xBD00E9E3,0xAD00E9E3,0xAE00E9E3,0xFF000000, -0xB000E9E3,0xB100E9E3,0xA400E939,0xA500EA68,0xA600E961,0xA700EA77,0xA800E9A4,0xA900EA7E,0xB800E9E3,0xFF000000, -0xAC00E961,0xAD00EAA1,0xAE00E961,0xAF00E95B,0x8300E9E3,0xB100E9A1,0xFF000000,0xB300EA98,0xB400E961,0xB500E95B, -0x8100E9E3,0xB700EAAB,0xB200E9E3,0xB300E9E3,0x8D00E9E3,0x8000E990,0xFF000000,0xBD00EADB,0xBE00EAE3,0x9200E9E3, -0x8500EB08,0x8600EB16,0x8700EA19,0xFF000000,0x9700E9E3,0xBF00E9E3,0xFF000000,0x8000EA04,0x9300E9E3,0x9C00E9E3, -0x8200E9A6,0x8400EA96,0x8400E9B7,0x8400E9E3,0x8500E9E3,0xFF000000,0x8700E9E3,0xFF000000,0x9D00E9E3,0x8C00E9FC, -0x8C00E961,0x8D00E95B,0xA900E9E3,0xA200E9E3,0x9C00E9E3,0x9D00E9E3,0x9200EA8F,0xFF000000,0xA700E9E3,0xFF000000, -0x9600E9E6,0xFF000000,0xB300E9E3,0xAC00E9E3,0xB500E9E3,0xB600E9E3,0xFF000000,0xB800E9E3,0xFF000000,0xAC00E996, -0xFF000000,0xB100E9E3,0xFF000000,0xB300E9E3,0xFF000000,0xB500E9E3,0xB900E9E3,0xB700E9E3,0xFF000000,0xB900E9E3, -0xAB00E9AC,0xBB00E9E3,0xFF000000,0xBD00E9E3,0x9A00E9E3,0x9B00E9E3,0xBD00EAE6,0xBE00EA01,0xBF00EB4D,0xA100E9E3, -0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3, -0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3, -0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3, -0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8900E9E3,0xFF000000,0x8B00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3, -0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0x9300E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3, -0x9D00E9E3,0xFF000000,0x9B00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xFF000000,0xBB00E9E3, -0xA300E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0xBC00E9E3,0xBD00E9E3,0xAC00E9E3,0xAD00E9E3,0xAB00E9E3,0xAF00E9E3, -0xB000E9E3,0xAE00E9E3,0xAF00E9E3,0xA000EB95,0xA100EB95,0xA200EB95,0xA300EB95,0xA400EB95,0xA500EB95,0xA600EB95, -0xA700EB95,0xA800ECA0,0xB900E9E3,0xFF000000,0xBB00E9E3,0xFF000000,0xBD00E9E3,0xA400EB95,0xA500EB95,0xA600EB95, -0xA700EB95,0xA800EBD5,0xA900EC15,0xAA00EB95,0xAB00EC55,0xAC00EC52,0xAD00EC91,0x8000E9E3,0x8100E9E3,0x8200E9E3, -0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3, -0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3, -0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3, -0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3, -0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3, -0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3, -0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3, -0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x9A00EAEA,0xFF000000,0x9000E9E3,0x9D00EA65,0x9200E9E3, -0x9F00EBC0,0xFF000000,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3, -0x9D00E9E3,0x9E00E9E3,0xFF000000,0xA000E9E3,0xAD00ECBA,0xA200E9E3,0xB800E9E3,0xB900E9E3,0xA500E9E3,0xA600E9E3, -0xB400E9E3,0xB500E9E3,0xB600E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3, -0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3, -0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3, -0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xFF000000,0xFF000000,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3, -0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3, -0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3, -0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9D00E9E3,0xFF000000,0x9F00E9E3,0xB000E9E3,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xFF000000,0xAA00E9E3,0xAB00E9E3, -0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3, -0xB600E9E3,0xFF000000,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xFF000000,0xBE00E9E3,0x8000E9E3, -0x8100E9E3,0xFF000000,0x8300E9E3,0x8400E9E3,0x8000E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3, -0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3, -0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3, -0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3, -0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0xC200ECBB,0xFF000000,0xC400EAB4,0xC500ECC4,0xFF000000,0xC700ECF6, -0x8000E9E3,0xFF000000,0xCA00EC42,0xCB00EB49,0xCC00EAA0,0xCD00ED04,0xCE00EAF7,0xCF00ECFA,0xB600E9E3,0x8900E9E3, -0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xFF000000,0xD600E92D,0xFF000000,0x9100EAF6,0xD900ECFF,0x9C00E9E3,0x9D00E9E3, -0x9E00E9E3,0x9F00E9E3,0xFF000000,0xA000E9E3,0xE000ED1F,0xE100ED60,0xE200EE32,0xE300ED15,0x9D00F38A,0x9E00ECAF, -0x9F00ED67,0xA800E9E3,0xFF000000,0xAA00E9E3,0xEA00EBC9,0xB800F569,0xB900F59A,0xBA00F5D9,0xAF00E9E3,0xEF00F08D, -0xF000ECC3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xFF000000,0xAF00EB5D,0xB800E9E3,0xB900E9E3,0xBA00E9E3, -0xFF000000,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3, -0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0xFF000000,0x9300E9E3,0x9400E9E3, -0x9500E9E3,0x8000EC96,0xFF000000,0x8200ED20,0x8300EA33,0x8400EF93,0x8500EB95,0x8600EFD3,0xFF000000,0x8800EFF3, -0x8900F033,0x8A00EB95,0x8B00F072,0x8C00EB95,0x8D00EB95,0x8E00EB95,0x8F00EB95,0xFF000000,0xFF000000,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xFF000000,0xB400E9E3,0xB500E9E3,0xFF000000,0xFF000000, -0xFF000000,0xB900E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB400E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3, -0x9C00E9E3,0xFF000000,0xBA00E9E3,0x9F00E9E3,0xFF000000,0xFF000000,0xBE00E9E3,0xA400E939,0xA500EA68,0xA600E961, -0xA700EA77,0xA800E9A4,0xA900EA7E,0xFF000000,0xFF000000,0xAC00E961,0xAD00EAA1,0xAE00E961,0xAF00E95B,0xFF000000, -0xB100E9A1,0xFF000000,0xB300EA98,0xB400E961,0xB500E95B,0x8300E9E3,0xB700EAAB,0xB800E9E4,0xFF000000,0xBA00E9E4, -0xBB00EAEA,0xBC00EA10,0xBD00ED52,0xBE00EAE3,0xFF000000,0x8D00E9E3,0x8000E990,0xFF000000,0xFF000000,0x8300E939, -0x9200E9E3,0x8500EB08,0x8600EB16,0x8700EA19,0xFF000000,0x9700E9E3,0xFF000000,0x8400F615,0x8500F655,0x8600EA5A, -0x9C00E9E3,0x8800F671,0x8900ED71,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3, -0x8700E9E3,0x8800E9E3,0xFF000000,0xA900E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0x9000E9E3, -0x9100E9E3,0xFF000000,0xFF000000,0xB300E9E3,0xFF000000,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3, -0xAC00E996,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xB400ED74,0xB500EDB4, -0xB600EDD2,0xFF000000,0xFF000000,0xFF000000,0xBA00EB0A,0xFF000000,0xFF000000,0xBD00EAE6,0xBE00EB34,0xBF00EE12, -0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xFF000000,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3, -0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xFF000000,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3, -0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0xFF000000,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3, -0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3, -0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3, -0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xB800E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3, -0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3, -0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3, -0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0x8900E9E3,0xFF000000,0x8B00E9E3,0xFF000000,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3, -0xFF000000,0xFF000000,0xFF000000,0x9300E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0x9B00E9E3,0xFF000000,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0x8000EE72,0x8100EE83,0x8200EEC3,0xA300E9E3, -0x8400EEE3,0x8500EF23,0x8600EA37,0xFF000000,0x8800EB4A,0xFF000000,0xFF000000,0xAB00E9E3,0x8C00E9FC,0xAD00E9E3, -0xAE00E9E3,0xAF00E9E3,0xFF000000,0x9100EF43,0x9200EB95,0x9300EF83,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xB900E9E3,0xFF000000,0xBB00E9E3,0xFF000000,0xBD00E9E3,0xBE00E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xA800EA10,0xA900EBC8,0xFF000000,0xAB00E9AC, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xB100EB38,0xFF000000,0xFF000000,0xFF000000,0xB500E9E6, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xBA00EA2B,0xBB00E9E4,0xBC00EB95,0xBD00EB95,0xBE00EB95,0xBF00EFAE, -0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0x9100E9E3,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0x9700E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xFF000000, -0x9700E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xAF00E9E3,0x9F00E9E3,0xFF000000, -0xFF000000,0xB300E9E3,0xB400E9E3,0xFF000000,0xB600E9E3,0xB700E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xBC00E9E3,0xFF000000,0xBE00E9E3,0xFF000000,0xFF000000,0xB000E9E3,0xB100E9E3,0xFF000000,0xFF000000,0xB400E9E3, -0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3, -0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3, -0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0xFF000000,0x9000E9E3,0x9100E9E3,0x9200E9E3, -0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3, -0xFF000000,0xFF000000,0xFF000000,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0xFF000000,0x8500E9E3,0x8600E9E3, -0x8700E9E3,0xA800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3, -0x9100E9E3,0x9200E9E3,0x9300E9E3,0xFF000000,0x9500E9E3,0x9600E9E3,0xFF000000,0xFF000000,0x9900E9E3,0x9A00E9E3, -0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0xFF000000,0xFF000000,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xFF000000,0xA400E9E3, -0xFF000000,0xA600E9E3,0xFF000000,0xA800E9E3,0xFF000000,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xFF000000, -0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xFF000000,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3, -0xB900E9E3,0xFF000000,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3, -0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3, -0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3, -0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3, -0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3, -0xBF00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3, -0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3, -0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3, -0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3, -0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3, -0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3, -0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3, -0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3, -0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3, -0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0xB100E9E3,0xB200E9E3, -0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3, -0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3, -0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0xFF000000,0xFF000000, -0xFF000000,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3, -0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3, -0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0xFF000000,0xA000E9E3,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3, -0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3, -0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3, -0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3, -0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3, -0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3, -0xBD00E9E3,0xBE00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3, -0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3, -0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3, -0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3, -0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3, -0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3, -0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xA400EB95,0xA500EB95,0xA600EB95,0xA700EB95,0xA800EBD5, -0xA900EC15,0xAA00EB95,0xAB00EC55,0xAC00F0CD,0xAD00F10C,0xAE00F14C,0xAF00F16B,0xB000EB95,0xB100EB95,0xB200EB95, -0xB300EB95,0xB400F1AB,0xB500F1D9,0xB600F219,0xB700F259,0xB800F266,0xB900F2A6,0xBA00EB95,0xBB00F2E6,0xBC00F322, -0xBD00EB95,0xBE00F072,0xBF00F360,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0x9D00E9E3,0xFF000000,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3, -0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3, -0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xFF000000,0xB800E9E3, -0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xFF000000,0xBE00E9E3,0x8000E9E3,0x8100E9E3,0xFF000000,0x8300E9E3, -0x8400E9E3,0xFF000000,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3, -0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3, -0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3, -0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3, -0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3, -0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3, -0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3, -0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3, -0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3, -0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3, -0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3, -0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3, -0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3, -0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3, -0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3, -0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3, -0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3, -0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3, -0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3, -0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3, -0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3, -0x8F00E9E3,0xFF000000,0xFF000000,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3, -0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0x9000E9E3,0x9100E9E3, -0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xB000E9E3,0xB100E9E3,0xB200E9E3, -0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3, -0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3, -0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3, -0x8400E9E3,0xFF000000,0xFF000000,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3, -0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0xFF000000,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3, -0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3, -0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xFF000000,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xFF000000,0xB400E9E3,0xFF000000, -0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3, -0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3, -0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3, -0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3, -0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3, -0xBC00E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3, -0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3, -0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3, -0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3, -0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3, -0xFF000000,0xFF000000,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0xFF000000,0xFF000000, -0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0xFF000000,0xFF000000,0x9A00E9E3,0x9B00E9E3, -0x9C00E9E3,0xFF000000,0xFF000000,0xFF000000,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3, -0xA600E9E3,0xFF000000,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0x8500EB3B, -0x8600EA4E,0x8700E9F4,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0x9000EB95,0x9100F3AA,0x9200F3EA,0x9300F42A,0x9400F46A,0x9500F4A9,0x9600EB95,0x9700EB95,0x9800EB95,0x9900EB95, -0x9A00F4E9,0x9B00EB95,0x9C00EB95,0x9D00EB95,0x9E00EB95,0x9F00F529,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3, -0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3, -0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0xFF000000,0x9600E9E3,0x9700E9E3, -0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3, -0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3, -0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3, -0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3, -0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3, -0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3, -0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0xFF000000, -0x9E00E9E3,0x9F00E9E3,0xFF000000,0xFF000000,0xA200E9E3,0xFF000000,0xFF000000,0xA500E9E3,0xA600E9E3,0xFF000000, -0xFF000000,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xFF000000,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3, -0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xFF000000,0xBB00E9E3, -0xFF000000,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0xFF000000,0x8500E9E3, -0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3, -0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3, -0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3, -0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3, -0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3, -0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3, -0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0xFF000000,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0xFF000000, -0xFF000000,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0xFF000000, -0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0xFF000000,0x9E00E9E3,0x9F00E9E3, -0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3, -0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3, -0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xFF000000,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3, -0xBE00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0xFF000000,0x8600E9E3,0xFF000000,0xFF000000, -0xFF000000,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0xFF000000,0x9200E9E3, -0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3, -0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3, -0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3, -0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3, -0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3, -0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xA400E9E3,0xA500E9E3,0xFF000000,0xFF000000,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3, -0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3, -0x8B00E9E3,0xFF000000,0xFF000000,0x8E00E9E3,0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3, -0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3, -0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3, -0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3, -0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3, -0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0xFF000000,0x8500E9E3,0x8600E9E3, -0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0x9000E9E3, -0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3, -0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xFF000000,0xA100E9E3,0xA200E9E3,0xFF000000,0xA400E9E3, -0xFF000000,0xFF000000,0xA700E9E3,0xFF000000,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3, -0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0x8200E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0x8700E9E3, -0xB900E9E3,0x8900E9E3,0xBB00E9E3,0x8B00E9E3,0xFF000000,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0xFF000000,0x9100E9E3, -0x9200E9E3,0xFF000000,0x9400E9E3,0xFF000000,0xFF000000,0x9700E9E3,0xFF000000,0x9900E9E3,0xFF000000,0x9B00E9E3, -0xFF000000,0x9D00E9E3,0xFF000000,0x9F00E9E3,0xFF000000,0xA100E9E3,0xA200E9E3,0xFF000000,0xA400E9E3,0xFF000000, -0xFF000000,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xFF000000,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3, -0xB000E9E3,0xB100E9E3,0xB200E9E3,0xFF000000,0xB400E9E3,0xB500E9E3,0xB600E9E3,0xB700E9E3,0xFF000000,0xB900E9E3, -0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xFF000000,0xBE00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0xFF000000,0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3, -0x8F00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xFF000000,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xFF000000,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0x8000E9E3,0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3, -0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3,0x9700E9E3,0x9800E9E3, -0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3,0xA100E9E3,0xA200E9E3, -0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3,0xAB00E9E3,0xAC00E9E3, -0xAD00E9E3,0xAE00E9E3,0xFF000000,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3,0xB500E9E3,0xB600E9E3, -0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xBC00E9E3,0xBD00E9E3,0xBE00E9E3,0xBF00E9E3,0x8000E9E3, -0x8100E9E3,0x8200E9E3,0x8300E9E3,0x8400E9E3,0x8500E9E3,0x8600E9E3,0x8700E9E3,0x8800E9E3,0x8900E9E3,0x8A00E9E3, -0x8B00E9E3,0x8C00E9E3,0x8D00E9E3,0x8E00E9E3,0x8F00E9E3,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0x8000E9E3,0x8100E9E3,0x8200E9E3, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xAA00E9E3,0xAB00E9E3,0x9000E9E3,0x9100E9E3,0x9200E9E3,0x9300E9E3,0x9400E9E3,0x9500E9E3,0x9600E9E3, -0x9700E9E3,0x9800E9E3,0x9900E9E3,0x9A00E9E3,0x9B00E9E3,0x9C00E9E3,0x9D00E9E3,0x9E00E9E3,0x9F00E9E3,0xA000E9E3, -0xA100E9E3,0xA200E9E3,0xA300E9E3,0xA400E9E3,0xA500E9E3,0xA600E9E3,0xA700E9E3,0xA800E9E3,0xA900E9E3,0xAA00E9E3, -0xAB00E9E3,0xAC00E9E3,0xAD00E9E3,0xAE00E9E3,0xAF00E9E3,0xB000E9E3,0xB100E9E3,0xB200E9E3,0xB300E9E3,0xB400E9E3, -0xB500E9E3,0xB600E9E3,0xB700E9E3,0xB800E9E3,0xB900E9E3,0xBA00E9E3,0xBB00E9E3,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000,0xFF000000, -0xFF000000,0xFF000000,0xFF000000}; - -const signed char STRINGS[]={ - -27,-113, -81, -27, -66,-105, -23,-123,-115, -27,-106, -74, -25,-108, -77, -26, -70,-128, -27,-112, --120, -25, -87, -70, -25, -90,-127, -26,-116,-121, -23,-127,-118, -26,-115,-107, -26,-118,-107, -26, - -68,-108, -27,-112, -71, -27, -93, -80, -24, -78, -87, -25, -75,-126, -27,-120, -99, -26,-106, -80, - -27, -66,-116, -27,-119,-115, -25,-124, -95, -26,-104, -96, -28, -70, -92, -24, -89, -93, -27,-113, --116, -27, -83,-105, -39, -81, -38, -95, -39, -82, -49, -99, -49,-100, -30,-120,-126, -49,-120, -49, --124, -49,-125, -50, -66, -50, -67, -50, -69, -50, -74, -30,-120,-121, -50, -88, -50, -89, -50, -90, - -50, -92, -50, -98, -50, -99, -50,-100, -50,-101, -50,-102, -50,-106, -50,-108, -50,-110, -56, -73, - -60, -79, -30,-105,-117, -30,-106, -96, -30,-122,-109, -30,-122,-111, -30,-108,-126, -30,-126, -87, - -62, -91, -62, -90, -62, -84, -62, -93, -62, -94, -29,-125, -93, -29,-126, -91, -29,-125, -69, -30, - -90,-122, -30, -90,-123, 126, 124, 94, 39, 34, -40, -87, -40, -95, 64, 37, 36, 92, 45, 42, - 38, 35, 93, 91, -29,-128,-113, -29,-128,-114, -29,-128,-115, -29,-128,-116, -29,-128,-117, -29, --128,-118, -29,-128,-111, -29,-128,-112, 125, 123, 95, -30,-128,-109, -30,-128,-108, -29,-128,-105, - -29,-128,-106, -29,-128,-126, -29,-128,-127, -37,-119, -37,-123, -37,-117, -38, -83, -38, -66, -38, - -69, -38, -70, -38, -79, -38, -77, -38, -81, -38, -87, -38,-111, -38,-104, -38,-120, -38,-114, -38, --116, -38,-115, -38,-121, -38,-122, -38,-125, -38,-124, -38, -90, -38, -92, -39, -71, -39, -65, -39, - -70, -38,-128, -39, -66, -39, -69, -39, -79, -41, -99, -41, -94, -22, -83,-110, -55, -85, -22, -84, - -73, -22,-100, -89, -59,-109, -60, -90, -22, -99, -81, -47,-116, -47,-118, -29,-125, -88, -29,-125, - -94, -29,-125,-116, -27, -92,-100, -27, -82,-105, -27,-116, -69, -27,-113, -77, -27, -73, -90, -27, --122,-103, -23, -96,-123, -26, -77, -88, -27,-115, -80, -27,-124, -86, -23,-127, -87, -25,-108, -73, - -25, -89,-104, -25, -82,-113, -27, -71, -68, -27,-107,-113, -27,-100, -80, -27, -92, -87, -28, -72, --127, -28, -72,-103, -25,-108, -78, -28, -72,-117, -28, -72, -83, -28, -72,-118, -31,-122, -95, -31, --122, -98, -31,-122,-108, -31,-122,-110, -31,-122,-111, -31,-122,-120, -31,-122,-123, -31,-122,-124, - -31,-123,-103, -31,-123,-104, -31,-123,-105, -31,-121, -78, -31,-121, -79, -31,-123,-116, -31,-123, --121, -31,-123,-128, -31,-124, -74, -31,-124, -78, -31,-124, -81, -31,-124, -82, -31,-124, -83, -31, --124, -84, -31,-124, -85, -31,-124, -87, -31,-124, -89, -31,-124, -93, -31,-124, -94, -31,-124, -96, - -31,-124, -98, -31,-124, -99, -31,-121, -97, -31,-121, -99, -31,-124,-100, -31,-121,-103, -31,-121, --105, -31,-121,-109, -31,-121,-114, -31,-121,-116, -31,-121,-120, -31,-121,-121, -31,-124,-107, -31, --124,-108, -31,-123, -96, -31,-124, -95, -31,-124,-102, -27,-115,-123, -27,-115,-124, -29,-128,-110, - -23, -66, -96, -23, -67,-110, -23, -67,-118, -23, -68, -96, -23, -68,-109, -23, -68,-114, -23, -69, - -67, -23, -69,-111, -23, -69,-115, -23, -69,-125, -23, -70, -91, -23, -71, -75, -23, -77, -91, -23, - -83,-102, -23, -84, -68, -23, -84, -78, -23, -84, -81, -23, -84, -91, -23, -85, -97, -23, -85,-104, - -23, -86, -88, -23, -90, -84, -23, -90,-103, -23, -90,-106, -23, -93, -97, -23, -93,-101, -23, -94, - -88, -23, -96,-127, -23, -97, -77, -23, -97, -83, -23, -97,-117, -23, -99, -87, -23, -99, -94, -23, - -99, -98, -23, -99,-111, -23,-101, -88, -23,-102, -71, -23,-102, -74, -23,-104,-100, -23,-106,-128, - -23,-107, -73, -23,-121,-122, -23,-123,-119, -23,-126,-111, -24, -66, -75, -24, -66,-101, -24, -70, - -85, -24, -74, -77, -24, -75, -80, -24, -75, -92, -24, -78, -99, -24, -79, -72, -24, -79,-122, -24, - -80, -73, -24, -88,-128, -24, -89,-110, -24, -91, -66, -24, -95,-128, -24,-103, -85, -24,-103,-115, - -24,-119, -72, -24,-119, -78, -24,-119, -82, -24,-120, -97, -24,-120,-101, -24,-120,-116, -24,-121, - -68, -24,-121, -93, -24,-126,-119, -24,-127, -65, -24,-128, -77, -24,-128,-110, -24,-128,-116, -25, - -66,-118, -25, -67,-111, -25, -68, -74, -25, -77, -72, -25, -79, -77, -25, -85, -71, -25, -87, -76, - -25, -90, -66, -25, -90, -72, -25, -92, -70, -25, -97, -77, -25, -97, -94, -25, -97,-101, -25,-101, - -82, -25,-102, -65, -25,-102, -82, -25,-103, -67, -25,-103, -74, -25,-106,-110, -25,-106,-117, -25, --108, -80, -25,-108, -88, -25,-108, -97, -25,-108,-104, -25,-109, -90, -25,-109,-100, -25,-114,-119, - -25,-114,-124, -25,-118, -84, -25,-119,-101, -25,-119,-103, -25,-119,-121, -25,-120, -65, -25,-120, - -69, -25,-120, -74, -25,-120, -86, -26, -80,-108, -26, -80,-113, -26, -81,-101, -26, -81,-108, -26, - -81,-117, -26, -82, -77, -26, -83, -94, -26, -84, -96, -26,-101, -80, -26,-105, -96, -26,-106, -71, - -26,-106, -92, -26,-106,-105, -26,-106,-121, -26,-108, -76, -26,-108, -81, -26,-119,-117, -26,-120, - -74, -26,-120,-120, -27, -65,-125, -27, -67, -77, -27, -67, -95, -27, -67,-112, -27, -68,-109, -27, - -68,-117, -27, -69, -76, -27, -71, -65, -27, -71, -70, -27, -71, -78, -27, -73, -66, -27, -73, -79, - -27, -73, -91, -27, -73,-101, -27, -79, -79, -27, -80, -72, -27, -80,-113, -27, -81, -72, -27, -82, --128, -27, -83,-112, -27, -92,-107, -27, -92,-118, -27, -92,-126, -27, -93, -85, -27,-101,-105, -27, --113, -93, -27,-113,-120, -27,-114, -74, -27,-114,-126, -27,-115, -87, -27,-115,-100, -27,-116, -72, - -27,-116,-102, -27,-116,-107, -27,-117, -71, -27,-120,-128, -27,-121, -96, -27,-122, -85, -27,-122, --106, -27,-122,-126, -27,-123, -91, -27,-124, -65, -28, -70, -70, -28, -70, -96, -28, -70,-123, -28, - -71,-103, -28, -72, -65, -28, -72, -74, -28, -72, -88, -23, -66, -97, -26, -81,-115, -30, -75, -95, - -30,-120,-111, -50, -96, -50,-109, -60, -89, -58,-112, -30,-120,-110, 43, -30,-128,-112, -54,-111, - -54,-112, -54,-116, -54,-117, -31, -76,-100, -54,-118, -54,-119, -58, -85, -54,-125, -54,-126, -55, - -72, -55, -75, -55, -76, -55, -77, -55, -78, -55, -80, -55, -79, -54, -97, -31, -74,-123, -55, -83, - -54, -99, -31, -75, -69, -55, -86, -55, -87, -55, -88, -55, -91, -55, -95, -55, -97, -61, -80, -55, --107, -55,-110, -48, -67, -49,-121, -50, -76, -50, -77, -31, -76, -91, -55, -81, -31, -76, -99, -31, - -76,-105, -31, -76,-106, -55,-108, -59,-117, -55,-100, -55,-101, -55,-103, -31, -76,-126, -55,-111, - -55,-112, -56, -94, -58,-114, -31,-125,-100, -32, -68,-117, -50, -93, -50,-104, -49,-126, -50, -70, - -49,-128, -49,-122, -50, -72, -50, -78, -54,-107, -55, -93, -54,-127, -55, -69, -55, -71, -55, -90, - -16, -86,-104,-128, -23, -68, -69, -23, -68,-106, -23, -68,-113, -23, -68,-123, -23, -69, -66, -23, - -69, -71, -28, -75,-106, -23, -70, -69, -16, -86,-118,-111, -16, -86,-120,-114, -16, -86,-124,-123, - -28, -77, -72, -16, -86,-125,-114, -23, -75, -89, -28, -77, -83, -28, -77,-114, -23, -77, -67, -23, - -79,-128, -16, -87, -84, -80, -28, -81,-114, -23, -89, -66, -23, -89,-126, -23, -90, -89, -23, -92, - -87, -28, -84, -77, -23, -93, -94, -16, -87,-106, -74, -23, -96, -87, -16, -87,-110,-106, -28, -86, - -78, -16, -87,-112,-118, -23, -97, -96, -28, -87, -74, -28, -87, -82, -16, -87,-120,-102, -16, -87, --123,-123, -23,-100, -93, -27, -74, -78, -23,-101,-125, -28, -89, -90, -16, -88, -75, -73, -23,-106, - -73, -28, -90,-107, -23,-106,-117, -16, -88, -81, -70, -23,-112,-107, -23,-113, -71, -23,-119, -68, - -23,-117,-104, -23,-117,-105, -23,-120, -72, -23,-124,-101, -16, -88,-100, -82, -23,-124,-111, -23, --125, -79, -23,-126,-108, -16, -88,-105, -83, -16, -88,-105,-110, -24, -69,-108, -16, -96, -93, -98, - -24, -73, -80, -24, -74, -68, -24, -73,-117, -16, -96, -96,-124, -16, -89, -68, -81, -24, -75, -73, - -24, -76,-101, -24, -77,-127, -24, -78, -85, -16, -89, -78, -88, -24, -79,-107, -24, -86, -96, -28, --101,-121, -28,-102, -66, -16, -89, -91, -90, -16, -89, -94, -82, -29,-110, -69, -24, -93, -70, -28, --104, -75, -24, -93, -98, -24, -93,-105, -16, -89,-103, -89, -24, -95, -93, -24, -95, -96, -28,-105, - -71, -24, -96,-127, -24, -97, -95, -28,-105,-105, -24, -98,-122, -24, -99, -85, -24,-100, -88, -24, --101, -94, -24,-100,-114, -24,-102,-120, -24,-102, -87, -24,-103, -87, -24,-103, -89, -24,-103,-112, - -28,-107, -85, -16, -89,-125,-110, -16, -90, -66, -79, -28,-107, -95, -28,-107, -99, -16, -90, -68, - -84, -24,-107, -92, -16, -89,-113,-118, -24,-108,-106, -24,-109, -77, -24,-109, -79, -28,-108, -85, - -16, -90, -77,-107, -16, -90, -75, -85, -16, -90, -80, -74, -24,-113,-100, -24,-113,-116, -24,-113, --118, -24,-115,-109, -24,-113, -89, -24,-114, -67, -24,-116, -93, -24,-114, -83, -24,-115, -93, -24, --116, -99, -16, -90, -84, -68, -24,-117, -90, -24,-118, -67, -24,-118, -77, -24,-118, -79, -27,-118, - -77, -24,-118, -99, -24,-118,-117, -24,-118,-111, -28,-111, -85, -24, -66, -98, -24,-120,-124, -16, - -93,-114,-100, -16, -93,-114,-109, -16, -90, -98, -75, -16, -90, -98, -89, -27, -86, -75, -24,-124, - -66, -28,-112,-117, -24,-124,-125, -24,-126, -78, -28,-113,-107, -16, -93,-115, -97, -24,-127, -80, - -16, -90,-106, -88, -24,-127, -96, -16, -90,-108, -93, -16, -90,-109,-102, -25, -65, -70, -25, -66, --107, -16, -90,-116, -66, -25, -67, -70, -16, -90,-117,-103, -28,-115,-103, -16, -90,-119,-121, -16, - -90,-120, -88, -28,-116, -76, -25, -71,-123, -25, -72,-126, -25, -73,-121, -28,-116,-127, -25, -75, - -93, -16, -91, -66,-122, -25, -76,-128, -25, -77, -93, -25, -77, -88, -28,-118, -96, -25, -77,-110, - -16, -91, -78,-128, -28,-120, -89, -25, -81,-119, -25, -81,-122, -16, -91, -82, -85, -28,-120,-126, - -25, -85, -82, -16, -91, -86, -89, -16, -91, -91, -68, -25, -87,-113, -25, -87,-118, -28,-124, -81, - -25, -89, -85, -16, -91,-101,-123, -16, -91,-102,-102, -16, -91,-104, -90, -28,-125, -93, -25, -95, --114, -16, -91,-112, -99, -28,-126,-106, -28,-127,-122, -25, -98,-117, -25,-100, -97, -25,-100, -98, - -16, -91,-124, -77, -16, -91,-124,-103, -16, -91,-125, -78, -16, -91,-125, -77, -28,-128,-120, -29, - -65, -68, -16, -91,-127,-124, -16, -92, -66, -72, -16, -92, -66, -95, -25,-104,-112, -16, -94,-122, - -97, -16, -92, -78,-110, -25,-108, -66, -16, -92, -80, -74, -25,-108, -92, -29, -68,-101, -25,-109, --118, -25,-110,-123, -25,-111,-100, -25,-111,-121, -29, -70, -72, -25,-114, -91, -29, -70, -84, -25, --114,-117, -25,-115, -70, -16, -92, -96,-108, -16, -92,-100, -75, -25,-118,-107, -25,-118,-128, -16, - -92,-104,-120, -25,-119,-112, -25,-120, -88, -16, -92,-114, -85, -25,-122,-100, -16, -92,-119, -93, - -25,-123,-123, -16, -96,-108, -91, -25,-126, -83, -25,-127, -73, -25,-127, -67, -25,-127,-118, -29, - -74,-106, -25,-128,-101, -25,-128, -71, -26, -65,-122, -16, -93, -66,-114, -16, -93, -67, -98, -26, - -67, -82, -26, -73, -71, -16, -93, -69,-111, -26, -69,-121, -29, -76, -77, -26, -71, -82, -26, -72, - -81, -26, -76, -76, -16, -93, -76, -98, -26, -74,-123, -26, -75, -72, -26, -75, -87, -26, -76, -66, - -26, -76,-106, -26, -79, -89, -26, -77,-115, -26, -78, -65, -16, -93, -78, -68, -26, -79,-114, -16, - -93, -85, -70, -16, -95, -76,-117, -16, -93, -86,-115, -26, -82, -69, -26, -82, -97, -26, -83, -78, - -29, -79,-114, -26, -83,-108, -16, -93, -94, -89, -26, -84, -95, -29, -80,-104, -26, -85,-101, -16, - -93,-102, -93, -26, -86, -88, -26, -89, -86, -26, -90, -93, -26, -91,-126, -26, -92,-108, -26, -96, - -97, -26, -94,-114, -16, -93,-111, -83, -26, -95,-110, -26, -98,-123, -26, -97, -70, -29, -83,-119, - -16, -93,-113,-125, -26, -99,-109, -26, -99, -98, -26,-100, -95, -28,-113,-103, -24,-126, -83, -26, --102,-100, -26,-100,-128, -27,-122,-107, -27,-122,-110, -29, -85, -92, -29, -84,-120, -29, -84,-103, - -26,-103,-119, -26,-101, -72, -26,-105, -93, -16, -93,-128,-118, -26,-107, -84, -29, -87, -84, -26, --111, -73, -26,-110, -99, -26,-111, -66, -26,-111, -87, -29, -88, -82, -26,-114, -87, -26,-113,-123, - -26,-112, -94, -16, -94, -81, -79, -26,-113, -92, -26,-114,-125, -26,-115, -88, -26,-117, -68, -26, --116, -67, -16, -94, -84,-116, -26,-115,-112, -26,-117,-108, -26,-118, -79, -26,-119, -99, -26,-120, --101, -26,-121, -98, -26,-122, -81, -26,-122, -92, -26,-122, -78, -26,-123, -70, -26,-123,-116, -26, --123,-120, -26,-125,-121, -16, -94,-101,-108, -29, -92,-100, -29, -92, -70, -26,-126,-127, -27, -65, - -71, -27, -65,-105, -27, -65,-115, -27, -66,-102, -29, -93, -93, -27, -67, -85, -27, -67, -94, -16, - -90,-121,-102, -16, -93,-118, -72, -29, -93,-121, -27, -68, -94, -24,-120,-127, -16, -94,-116, -79, - -27, -69, -66, -16, -86,-114,-110, -27, -70, -74, -27, -70, -77, -27, -70, -80, -29, -95, -68, -16, - -94,-122,-125, -29, -95, -94, -27, -71, -87, -27, -72, -67, -27, -72, -88, -27, -73, -67, -29, -96, - -81, -27, -73, -94, -27, -73, -95, -27, -75, -68, -27, -75, -85, -27, -75, -82, -16, -95, -73, -90, - -27, -75,-125, -16, -95, -73, -92, -27, -78,-115, -27, -77,-128, -27, -79, -96, -29, -98,-127, -27, - -80, -94, -27, -67,-109, -27, -80,-122, -27, -81, -65, -16, -95, -84,-104, -27, -81, -77, -27, -81, --104, -27, -81,-125, -16, -95, -89,-120, -27, -84, -66, -27, -84,-120, -29,-101, -68, -29,-101, -82, - -27, -87, -90, -27, -89,-104, -27, -88, -89, -27, -88,-101, -27, -89, -84, -16, -95,-101, -86, -16, - -95,-102, -88, -27, -91, -94, -27, -92, -94, -27, -92,-102, -27, -92,-122, -27, -93, -73, -27, -93, - -78, -16, -95,-109, -92, -27, -94, -84, -27, -96, -79, -27, -96, -78, -27, -98,-117, -27, -96,-115, - -27, -97, -76, -27, -97,-114, -27, -93, -82, -27,-103, -76, -27,-103,-111, -27,-100,-105, -27,-100, --106, -27,-105,-126, -27,-106, -77, -27,-106, -85, -27,-106,-124, -27,-107, -93, -27,-107,-109, -27, --108,-112, -27,-109, -74, -27,-110, -94, -27,-111, -88, -27,-111,-120, -27,-112, -72, -27,-110, -98, - -27,-112,-122, -27,-113, -79, -27,-113, -85, -16, -96, -83, -93, -27,-113, -97, -27,-113,-118, -25, --127, -80, -16, -96, -88, -84, -27,-115, -65, -27,-115, -67, -27,-115, -77, -27,-115,-102, -27,-115, --119, -27,-116,-122, -27,-116,-123, -29,-108,-107, -27,-119, -73, -27,-119, -78, -27,-119,-122, -27, --120, -69, -29,-109, -97, -27,-120,-125, -27,-121, -75, -16, -87,-121, -97, -27,-122, -84, -28, -69, --116, -27,-122, -92, -27,-122,-105, -16, -96,-107,-117, -27,-122,-115, -27,-123, -89, -29,-110, -71, - -16, -96,-108,-100, -27,-123, -73, -27,-123, -92, -27,-123,-108, -16, -96,-104, -70, -29,-110, -98, - -27,-125,-113, -27,-126,-103, -27,-127, -70, -27,-128,-126, -28, -66, -69, -28, -67, -96, -16, -96, --124, -94, -28, -71,-127, -28, -72, -72, -28, -72, -67, -23, -66,-114, -23, -67,-125, -16, -89, -69, --109, -16, -91, -77,-112, -16, -91,-119,-119, -28,-128, -71, -28,-128,-104, -29, -82, -99, -16, -93, --113,-107, -16, -94, -95,-124, -16, -94, -95,-118, -23, -84,-110, -23, -96,-117, -23, -97,-101, -23, --103, -68, -23,-119, -74, -23,-122,-103, -23,-127, -78, -24, -68, -72, -24, -82,-118, -24, -85, -83, - -24, -85,-117, -24, -86, -65, -24, -90,-122, -24, -91,-127, -24, -99, -71, -24,-113, -81, -24,-115, --110, -25, -68, -66, -25, -75,-101, -25, -79, -69, -25, -86, -79, -25, -93,-116, -25, -99,-128, -25, - -99,-118, -25,-101, -76, -25,-101,-101, -25,-104, -97, -25,-104, -99, -25,-108, -69, -25,-108,-122, - -25,-111, -79, -25,-118, -81, -25,-120, -75, -25, -98, -89, -25,-128, -98, -26, -69,-117, -26, -69, --101, -26, -83, -71, -26, -99,-106, -26,-100,-101, -26,-107,-106, -26,-111,-110, -26,-112,-100, -26, --113,-124, -26,-120, -76, -26,-123, -96, -26,-124,-120, -26,-123,-114, -26,-125,-104, -27, -66, -83, - -27, -67, -87, -27, -69,-103, -27, -69,-110, -27, -84, -88, -27, -87, -94, -27, -91,-108, -27, -91, --124, -27, -94, -77, -27,-105, -94, -27,-106,-103, -27,-107,-107, -27,-117, -70, -27,-117,-121, -27, --122,-128, -27,-123,-123, -28, -66,-128, -27,-123, -88, -27,-122, -75, -28, -72, -90, -24,-120,-104, - -16, -92,-117, -82, -26,-127, -75, -23, -96, -69, -23, -97, -65, -23,-101, -93, -24, -66, -74, -24, - -76,-120, -24, -77,-109, -24, -84, -71, -24, -84,-127, -24, -90,-106, -24, -92,-112, -24,-111,-105, - -24,-119, -71, -24,-121, -83, -24,-128,-123, -25, -67, -78, -25, -71,-127, -25, -72,-119, -25, -81, --128, -25, -86,-127, -25, -87,-128, -25, -90,-114, -25, -90,-115, -25, -91,-106, -25, -91,-112, -25, - -91,-120, -25, -91,-119, -25, -94,-111, -25,-112, -94, -25,-120, -85, -25,-123, -82, -26, -68, -94, - -26, -72,-102, -26, -75, -73, -26, -94,-123, -26,-102,-111, -26,-105, -94, -26,-107,-113, -26,-121, - -78, -26,-122,-114, -26,-123, -88, -26,-126,-108, -27, -79, -82, -27, -79, -92, -27, -94, -88, -27, - -95,-128, -27,-103, -88, -27,-104,-122, -27,-106, -99, -27,-115,-111, -27,-117, -92, -27,-117,-119, - -27,-123,-115, -27,-125, -89, -28, -66, -82, -23,-102, -73, -23,-125, -98, -23, -74, -76, -23, -92, - -88, -23, -93, -68, -23, -93, -81, -23,-125, -67, -23,-128, -72, -24, -85, -72, -24,-104,-110, -25, - -66, -67, -25, -78, -66, -23, -99,-106, -25, -90,-113, -25, -91, -91, -25, -91, -98, -25, -92, -68, - -25,-101,-118, -25,-116, -86, -27,-121, -98, -26,-103, -76, -27, -95,-102, -27,-105,-128, -27,-123, --128, -27, -69,-109, -24, -90,-117, -23,-103,-115, -24, -95,-116, -24, -68, -69, -26,-102, -76, -26, - -76, -98, -27, -82,-123, -25, -77,-106, -26,-117,-109, -27, -70, -90, -27,-120,-121, -27,-120, -70, - -24,-116, -74, -28, -69,-128, -24, -83,-104, -25,-126,-103, -25,-117,-128, -25, -78,-110, -25, -84, - -96, -25, -85,-117, -24,-121, -88, -26, -73,-117, -26, -98,-105, -23, -70, -97, -23, -79,-105, -23, --102, -93, -24,-105, -70, -25,-110,-104, -25,-121,-112, -27,-112, -99, -26, -70, -70, -27,-116, -65, - -23,-101, -94, -23,-121,-116, -24, -93, -95, -24, -93,-113, -25, -67, -71, -25,-105, -94, -25,-112, --122, -26, -77, -91, -26, -94, -88, -26, -99,-114, -26,-104,-109, -27, -79, -91, -27,-112,-113, -27, --120, -87, -23,-102,-122, -26, -96,-105, -26,-123,-124, -27, -66,-117, -24, -68, -86, -26, -73, -86, - -27, -76,-103, -27,-128, -85, -23,-103, -72, -26,-120, -82, -23, -95, -98, -25, -76,-112, -25, -95, - -85, -25,-107,-103, -25,-112,-119, -26, -70,-100, -26, -75,-127, -26, -97, -77, -26, -99, -69, -27, --118,-119, -23,-104, -82, -26,-102,-120, -23, -66,-115, -23,-127, -68, -24,-109, -68, -25,-103,-126, - -25,-121,-114, -26,-106,-103, -27, -80, -65, -27, -81, -82, -27,-125,-102, -28, -70,-122, -26,-125, - -95, -23,-102, -72, -23,-122, -76, -25, -90, -82, -28, -66,-117, -23, -96,-104, -23, -99,-120, -23, --101, -74, -23,-120, -76, -24,-127,-122, -25, -66,-102, -25,-111, -87, -25,-114, -78, -26,-128,-100, - -27, -74, -70, -27,-101, -71, -28, -69, -92, -25,-115, -75, -25, -80, -66, -26, -82, -82, -26,-115, - -69, -27, -65, -75, -27, -69,-119, -24, -93,-126, -25,-125,-120, -27,-110, -67, -27,-118, -93, -27, --120,-105, -23,-115,-118, -23,-128, -93, -24,-109, -82, -24, -68, -90, -24,-127, -81, -25, -73, -76, - -25, -89,-118, -25,-110,-119, -25,-123,-119, -26, -68, -93, -26,-110,-102, -26,-120,-128, -26,-122, --112, -27, -71, -76, -24, -67, -94, -26, -83, -73, -26,-101,-122, -27,-118,-101, -23, -69,-114, -23, - -70,-105, -23, -87, -86, -23,-106, -83, -25, -92, -86, -26, -65, -66, -26,-105,-123, -27, -69, -84, - -27, -91, -77, -27,-111,-126, -27,-117, -75, -23,-121,-113, -24, -85,-110, -24,-119, -81, -25, -77, - -89, -26, -94,-127, -27,-121,-119, -27,-123, -87, -28, -70, -82, -25,-107, -91, -26,-114, -96, -24, --117, -91, -26,-117, -66, -26, -78,-120, -24, -66, -80, -26, -82, -70, -24, -86, -86, -24,-111,-119, - -25,-100,-127, -27, -95, -98, -27,-113,-125, -25, -76, -94, -26,-107, -72, -26, -77,-116, -28, -72, --115, -27, -66, -87, -28, -66, -65, -25, -93, -69, -27,-116,-105, -25,-107, -80, -25,-114,-121, -26, --128,-110, -27, -81, -89, -28, -72, -71, -24, -85, -66, -26,-117,-113, -24, -82,-128, -23,-103, -75, - -24,-113, -79, -25, -74, -66, -25, -88,-100, -27,-121,-116, -27,-121,-100, -24,-126,-117, -27,-117, --110, -23,-103,-117, -25, -72, -73, -25, -76, -81, -26, -68,-113, -26, -73,-102, -26, -88,-109, -27, - -79, -94, -27, -93,-104, -23,-101, -73, -24, -77,-126, -25, -93,-118, -25,-119, -94, -24,-127, -66, - -25, -79, -96, -27, -68,-124, -27, -93, -97, -24, -85,-106, -23, -71, -65, -23,-116,-124, -24,-113, --119, -25, -74, -96, -25, -91, -65, -25, -94,-116, -23, -73, -70, -23, -83, -81, -23,-100, -78, -24, - -73, -81, -24,-103,-100, -24,-104,-122, -24,-128,-127, -25,-101, -89, -25,-120,-112, -26, -85,-109, - -26,-109,-124, -27,-117, -98, -27,-122, -73, -28, -66,-122, -23,-125,-114, -25,-117, -68, -26, -75, - -86, -26,-100,-105, -27, -69,-118, -24, -96, -97, -24,-121,-104, -26,-117,-119, -24, -91, -92, -24, --105,-115, -26, -65, -85, -27, -75,-112, -23, -72, -98, -24,-104, -83, -25,-120,-101, -26, -84,-124, - -27,-115, -75, -28, -70,-126, -23, -89, -79, -23,-123, -86, -24,-112, -67, -25,-113, -98, -25,-125, --103, -26, -76,-101, -26, -88,-126, -23,-126,-113, -24, -93, -72, -24, -98, -70, -24,-104, -65, -25, - -66,-123, -25,-103, -87, -26,-121, -74, -27, -91,-120, -27,-106,-121, -27, -91,-111, -23, -66,-100, - -27,-113, -91, -28, -72, -78, -26, -69,-111, -24, -77,-120, -24, -69,-118, -26,-101, -76, -24, -79, --120, -29,-128,-119, -29,-128,-120, -30,-128,-125, -30,-128,-126, -62, -76, 96, 59, -54, -71, -16, --111,-106, -69, -16,-111,-106, -70, -16,-111,-110, -66, -16,-111,-110, -69, -16,-111,-110, -68, -16, --111,-115,-116, -16,-111,-115,-117, -16,-111,-124, -81, -16,-111,-124, -82, -16,-111,-126, -85, -16, --111,-126,-100, -16,-111,-126,-102, -29,-125, -66, -29,-125, -70, -29,-125, -71, -29,-125, -72, -29, --125, -73, -29,-125, -99, -29,-125,-100, -29,-125,-102, -29,-125,-103, -29,-125,-105, -29,-125,-106, - -29,-125,-108, -29,-125,-109, -29,-125,-111, -29,-125,-112, -29,-125,-119, -29,-125,-121, -29,-125, --123, -29,-125,-126, -29,-125,-128, -29,-126, -66, -29,-126, -68, -29,-126, -70, -29,-126, -72, -29, --126, -74, -29,-126, -76, -29,-126, -78, -29,-126, -80, -29,-126, -82, -29,-126, -84, -29,-125, -76, - -29,-126, -98, -29,-127, -67, -29,-127, -68, -29,-127, -70, -29,-127, -71, -29,-127, -73, -29,-127, - -74, -29,-127, -76, -29,-127, -77, -29,-127, -79, -29,-127, -80, -29,-127, -87, -29,-127, -89, -29, --127, -91, -29,-127, -94, -29,-127, -96, -29,-127, -98, -29,-127,-100, -29,-127,-102, -29,-127,-104, - -29,-127,-106, -29,-127,-108, -29,-127,-110, -29,-127,-112, -29,-127,-114, -29,-127,-116, -29,-126, --108, -30,-117, -83, -30,-117, -84, -30,-117, -85, -30,-117, -86, -30,-118, -81, -30,-118, -82, -30, --118, -83, -30,-118, -84, -30,-117, -93, -30,-117, -94, -30,-118,-119, -30,-118,-120, -30,-118,-123, - -30,-118,-124, -30,-117, -95, -30,-117, -96, -30,-118,-127, -30,-118,-128, -30,-119, -71, -30,-119, - -72, -30,-119, -75, -30,-119, -76, -30,-119, -79, -30,-119, -80, -30,-119, -94, -30,-119, -83, -30, --119,-119, -30,-119,-121, -30,-119,-124, -30,-119,-127, -30,-120, -90, -30,-120, -92, -30,-120,-116, - -30,-120,-119, -30,-120,-124, -30,-121,-114, -30,-121,-113, -30,-121,-115, -30,-122, -82, -30,-122, --101, -30,-122,-102, -31, -65, -97, -31, -65, -98, -31, -65, -99, -31, -65,-113, -31, -65,-114, -31, - -65,-115, -31, -83,-125, -31, -83,-127, -31, -83,-128, -31, -84, -67, -31, -84, -69, -31, -84,-110, - -31, -84,-114, -31, -84,-116, -31, -84,-118, -31, -84,-120, -31, -84,-122, -19, -98, -93, -19, -98, - -94, -19, -98, -95, -19, -98, -96, -19, -98, -97, -19, -98, -98, -19, -98, -99, -19, -98,-100, -19, - -98,-101, -19, -98,-102, -19, -98,-103, -19, -98,-104, -19, -98,-105, -19, -98,-106, -19, -98,-107, - -19, -98,-108, -19, -98,-109, -19, -98,-110, -19, -98,-111, -19, -98,-112, -19, -98,-113, -19, -98, --114, -19, -98,-115, -19, -98,-116, -19, -98,-117, -19, -98,-118, -19, -98,-119, -19, -98,-120, -19, - -98,-121, -19, -98,-122, -19, -98,-123, -19, -98,-124, -19, -98,-125, -19, -98,-126, -19, -98,-127, - -19, -98,-128, -19, -99, -65, -19, -99, -66, -19, -99, -67, -19, -99, -68, -19, -99, -69, -19, -99, - -70, -19, -99, -71, -19, -99, -72, -19, -99, -73, -19, -99, -74, -19, -99, -75, -19, -99, -76, -19, - -99, -77, -19, -99, -78, -19, -99, -79, -19, -99, -80, -19, -99, -81, -19, -99, -82, -19, -99, -83, - -19, -99, -84, -19, -99, -85, -19, -99, -86, -19, -99, -87, -19, -99, -88, -19, -99, -89, -19, -99, - -90, -19, -99, -91, -19, -99, -92, -19, -99, -93, -19, -99, -94, -19, -99, -95, -19, -99, -96, -19, - -99, -97, -19, -99, -98, -19, -99, -99, -19, -99,-100, -19, -99,-101, -19, -99,-102, -19, -99,-103, - -19, -99,-104, -19, -99,-105, -19, -99,-106, -19, -99,-107, -19, -99,-108, -19, -99,-109, -19, -99, --110, -19, -99,-111, -19, -99,-112, -19, -99,-113, -19, -99,-114, -19, -99,-115, -19, -99,-116, -19, - -99,-117, -19, -99,-118, -19, -99,-119, -19, -99,-120, -19, -99,-121, -19, -99,-122, -19, -99,-123, - -19, -99,-124, -19, -99,-125, -19, -99,-126, -19, -99,-127, -19, -99,-128, -19,-100, -65, -19,-100, - -66, -19,-100, -67, -19,-100, -68, -19,-100, -69, -19,-100, -70, -19,-100, -71, -19,-100, -72, -19, --100, -73, -19,-100, -74, -19,-100, -75, -19,-100, -76, -19,-100, -77, -19,-100, -78, -19,-100, -79, - -19,-100, -80, -19,-100, -81, -19,-100, -82, -19,-100, -83, -19,-100, -84, -19,-100, -85, -19,-100, - -86, -19,-100, -87, -19,-100, -88, -19,-100, -89, -19,-100, -90, -19,-100, -91, -19,-100, -92, -19, --100, -93, -19,-100, -94, -19,-100, -95, -19,-100, -96, -19,-100, -97, -19,-100, -98, -19,-100, -99, - -19,-100,-100, -19,-100,-101, -19,-100,-102, -19,-100,-103, -19,-100,-104, -19,-100,-105, -19,-100, --106, -19,-100,-107, -19,-100,-108, -19,-100,-109, -19,-100,-110, -19,-100,-111, -19,-100,-112, -19, --100,-113, -19,-100,-114, -19,-100,-115, -19,-100,-116, -19,-100,-117, -19,-100,-118, -19,-100,-119, - -19,-100,-120, -19,-100,-121, -19,-100,-122, -19,-100,-123, -19,-100,-124, -19,-100,-125, -19,-100, --126, -19,-100,-127, -19,-100,-128, -19,-101, -65, -19,-101, -66, -19,-101, -67, -19,-101, -68, -19, --101, -69, -19,-101, -70, -19,-101, -71, -19,-101, -72, -19,-101, -73, -19,-101, -74, -19,-101, -75, - -19,-101, -76, -19,-101, -77, -19,-101, -78, -19,-101, -79, -19,-101, -80, -19,-101, -81, -19,-101, - -82, -19,-101, -83, -19,-101, -84, -19,-101, -85, -19,-101, -86, -19,-101, -87, -19,-101, -88, -19, --101, -89, -19,-101, -90, -19,-101, -91, -19,-101, -92, -19,-101, -93, -19,-101, -94, -19,-101, -95, - -19,-101, -96, -19,-101, -97, -19,-101, -98, -19,-101, -99, -19,-101,-100, -19,-101,-101, -19,-101, --102, -19,-101,-103, -19,-101,-104, -19,-101,-105, -19,-101,-106, -19,-101,-107, -19,-101,-108, -19, --101,-109, -19,-101,-110, -19,-101,-111, -19,-101,-112, -19,-101,-113, -19,-101,-114, -19,-101,-115, - -19,-101,-116, -19,-101,-117, -19,-101,-118, -19,-101,-119, -19,-101,-120, -19,-101,-121, -19,-101, --122, -19,-101,-123, -19,-101,-124, -19,-101,-125, -19,-101,-126, -19,-101,-127, -19,-101,-128, -19, --102, -65, -19,-102, -66, -19,-102, -67, -19,-102, -68, -19,-102, -69, -19,-102, -70, -19,-102, -71, - -19,-102, -72, -19,-102, -73, -19,-102, -74, -19,-102, -75, -19,-102, -76, -19,-102, -77, -19,-102, - -78, -19,-102, -79, -19,-102, -80, -19,-102, -81, -19,-102, -82, -19,-102, -83, -19,-102, -84, -19, --102, -85, -19,-102, -86, -19,-102, -87, -19,-102, -88, -19,-102, -89, -19,-102, -90, -19,-102, -91, - -19,-102, -92, -19,-102, -93, -19,-102, -94, -19,-102, -95, -19,-102, -96, -19,-102, -97, -19,-102, - -98, -19,-102, -99, -19,-102,-100, -19,-102,-101, -19,-102,-102, -19,-102,-103, -19,-102,-104, -19, --102,-105, -19,-102,-106, -19,-102,-107, -19,-102,-108, -19,-102,-109, -19,-102,-110, -19,-102,-111, - -19,-102,-112, -19,-102,-113, -19,-102,-114, -19,-102,-115, -19,-102,-116, -19,-102,-117, -19,-102, --118, -19,-102,-119, -19,-102,-120, -19,-102,-121, -19,-102,-122, -19,-102,-123, -19,-102,-124, -19, --102,-125, -19,-102,-126, -19,-102,-127, -19,-102,-128, -19,-103, -65, -19,-103, -66, -19,-103, -67, - -19,-103, -68, -19,-103, -69, -19,-103, -70, -19,-103, -71, -19,-103, -72, -19,-103, -73, -19,-103, - -74, -19,-103, -75, -19,-103, -76, -19,-103, -77, -19,-103, -78, -19,-103, -79, -19,-103, -80, -19, --103, -81, -19,-103, -82, -19,-103, -83, -19,-103, -84, -19,-103, -85, -19,-103, -86, -19,-103, -87, - -19,-103, -88, -19,-103, -89, -19,-103, -90, -19,-103, -91, -19,-103, -92, -19,-103, -93, -19,-103, - -94, -19,-103, -95, -19,-103, -96, -19,-103, -97, -19,-103, -98, -19,-103, -99, -19,-103,-100, -19, --103,-101, -19,-103,-102, -19,-103,-103, -19,-103,-104, -19,-103,-105, -19,-103,-106, -19,-103,-107, - -19,-103,-108, -19,-103,-109, -19,-103,-110, -19,-103,-111, -19,-103,-112, -19,-103,-113, -19,-103, --114, -19,-103,-115, -19,-103,-116, -19,-103,-117, -19,-103,-118, -19,-103,-119, -19,-103,-120, -19, --103,-121, -19,-103,-122, -19,-103,-123, -19,-103,-124, -19,-103,-125, -19,-103,-126, -19,-103,-127, - -19,-103,-128, -19,-104, -65, -19,-104, -66, -19,-104, -67, -19,-104, -68, -19,-104, -69, -19,-104, - -70, -19,-104, -71, -19,-104, -72, -19,-104, -73, -19,-104, -74, -19,-104, -75, -19,-104, -76, -19, --104, -77, -19,-104, -78, -19,-104, -79, -19,-104, -80, -19,-104, -81, -19,-104, -82, -19,-104, -83, - -19,-104, -84, -19,-104, -85, -19,-104, -86, -19,-104, -87, -19,-104, -88, -19,-104, -89, -19,-104, - -90, -19,-104, -91, -19,-104, -92, -19,-104, -93, -19,-104, -94, -19,-104, -95, -19,-104, -96, -19, --104, -97, -19,-104, -98, -19,-104, -99, -19,-104,-100, -19,-104,-101, -19,-104,-102, -19,-104,-103, - -19,-104,-104, -19,-104,-105, -19,-104,-106, -19,-104,-107, -19,-104,-108, -19,-104,-109, -19,-104, --110, -19,-104,-111, -19,-104,-112, -19,-104,-113, -19,-104,-114, -19,-104,-115, -19,-104,-116, -19, --104,-117, -19,-104,-118, -19,-104,-119, -19,-104,-120, -19,-104,-121, -19,-104,-122, -19,-104,-123, - -19,-104,-124, -19,-104,-125, -19,-104,-126, -19,-104,-127, -19,-104,-128, -19,-105, -65, -19,-105, - -66, -19,-105, -67, -19,-105, -68, -19,-105, -69, -19,-105, -70, -19,-105, -71, -19,-105, -72, -19, --105, -73, -19,-105, -74, -19,-105, -75, -19,-105, -76, -19,-105, -77, -19,-105, -78, -19,-105, -79, - -19,-105, -80, -19,-105, -81, -19,-105, -82, -19,-105, -83, -19,-105, -84, -19,-105, -85, -19,-105, - -86, -19,-105, -87, -19,-105, -88, -19,-105, -89, -19,-105, -90, -19,-105, -91, -19,-105, -92, -19, --105, -93, -19,-105, -94, -19,-105, -95, -19,-105, -96, -19,-105, -97, -19,-105, -98, -19,-105, -99, - -19,-105,-100, -19,-105,-101, -19,-105,-102, -19,-105,-103, -19,-105,-104, -19,-105,-105, -19,-105, --106, -19,-105,-107, -19,-105,-108, -19,-105,-109, -19,-105,-110, -19,-105,-111, -19,-105,-112, -19, --105,-113, -19,-105,-114, -19,-105,-115, -19,-105,-116, -19,-105,-117, -19,-105,-118, -19,-105,-119, - -19,-105,-120, -19,-105,-121, -19,-105,-122, -19,-105,-123, -19,-105,-124, -19,-105,-125, -19,-105, --126, -19,-105,-127, -19,-105,-128, -19,-106, -65, -19,-106, -66, -19,-106, -67, -19,-106, -68, -19, --106, -69, -19,-106, -70, -19,-106, -71, -19,-106, -72, -19,-106, -73, -19,-106, -74, -19,-106, -75, - -19,-106, -76, -19,-106, -77, -19,-106, -78, -19,-106, -79, -19,-106, -80, -19,-106, -81, -19,-106, - -82, -19,-106, -83, -19,-106, -84, -19,-106, -85, -19,-106, -86, -19,-106, -87, -19,-106, -88, -19, --106, -89, -19,-106, -90, -19,-106, -91, -19,-106, -92, -19,-106, -93, -19,-106, -94, -19,-106, -95, - -19,-106, -96, -19,-106, -97, -19,-106, -98, -19,-106, -99, -19,-106,-100, -19,-106,-101, -19,-106, --102, -19,-106,-103, -19,-106,-104, -19,-106,-105, -19,-106,-106, -19,-106,-107, -19,-106,-108, -19, --106,-109, -19,-106,-110, -19,-106,-111, -19,-106,-112, -19,-106,-113, -19,-106,-114, -19,-106,-115, - -19,-106,-116, -19,-106,-117, -19,-106,-118, -19,-106,-119, -19,-106,-120, -19,-106,-121, -19,-106, --122, -19,-106,-123, -19,-106,-124, -19,-106,-125, -19,-106,-126, -19,-106,-127, -19,-106,-128, -19, --107, -65, -19,-107, -66, -19,-107, -67, -19,-107, -68, -19,-107, -69, -19,-107, -70, -19,-107, -71, - -19,-107, -72, -19,-107, -73, -19,-107, -74, -19,-107, -75, -19,-107, -76, -19,-107, -77, -19,-107, - -78, -19,-107, -79, -19,-107, -80, -19,-107, -81, -19,-107, -82, -19,-107, -83, -19,-107, -84, -19, --107, -85, -19,-107, -86, -19,-107, -87, -19,-107, -88, -19,-107, -89, -19,-107, -90, -19,-107, -91, - -19,-107, -92, -19,-107, -93, -19,-107, -94, -19,-107, -95, -19,-107, -96, -19,-107, -97, -19,-107, - -98, -19,-107, -99, -19,-107,-100, -19,-107,-101, -19,-107,-102, -19,-107,-103, -19,-107,-104, -19, --107,-105, -19,-107,-106, -19,-107,-107, -19,-107,-108, -19,-107,-109, -19,-107,-110, -19,-107,-111, - -19,-107,-112, -19,-107,-113, -19,-107,-114, -19,-107,-115, -19,-107,-116, -19,-107,-117, -19,-107, --118, -19,-107,-119, -19,-107,-120, -19,-107,-121, -19,-107,-122, -19,-107,-123, -19,-107,-124, -19, --107,-125, -19,-107,-126, -19,-107,-127, -19,-107,-128, -19,-108, -65, -19,-108, -66, -19,-108, -67, - -19,-108, -68, -19,-108, -69, -19,-108, -70, -19,-108, -71, -19,-108, -72, -19,-108, -73, -19,-108, - -74, -19,-108, -75, -19,-108, -76, -19,-108, -77, -19,-108, -78, -19,-108, -79, -19,-108, -80, -19, --108, -81, -19,-108, -82, -19,-108, -83, -19,-108, -84, -19,-108, -85, -19,-108, -86, -19,-108, -87, - -19,-108, -88, -19,-108, -89, -19,-108, -90, -19,-108, -91, -19,-108, -92, -19,-108, -93, -19,-108, - -94, -19,-108, -95, -19,-108, -96, -19,-108, -97, -19,-108, -98, -19,-108, -99, -19,-108,-100, -19, --108,-101, -19,-108,-102, -19,-108,-103, -19,-108,-104, -19,-108,-105, -19,-108,-106, -19,-108,-107, - -19,-108,-108, -19,-108,-109, -19,-108,-110, -19,-108,-111, -19,-108,-112, -19,-108,-113, -19,-108, --114, -19,-108,-115, -19,-108,-116, -19,-108,-117, -19,-108,-118, -19,-108,-119, -19,-108,-120, -19, --108,-121, -19,-108,-122, -19,-108,-123, -19,-108,-124, -19,-108,-125, -19,-108,-126, -19,-108,-127, - -19,-108,-128, -19,-109, -65, -19,-109, -66, -19,-109, -67, -19,-109, -68, -19,-109, -69, -19,-109, - -70, -19,-109, -71, -19,-109, -72, -19,-109, -73, -19,-109, -74, -19,-109, -75, -19,-109, -76, -19, --109, -77, -19,-109, -78, -19,-109, -79, -19,-109, -80, -19,-109, -81, -19,-109, -82, -19,-109, -83, - -19,-109, -84, -19,-109, -85, -19,-109, -86, -19,-109, -87, -19,-109, -88, -19,-109, -89, -19,-109, - -90, -19,-109, -91, -19,-109, -92, -19,-109, -93, -19,-109, -94, -19,-109, -95, -19,-109, -96, -19, --109, -97, -19,-109, -98, -19,-109, -99, -19,-109,-100, -19,-109,-101, -19,-109,-102, -19,-109,-103, - -19,-109,-104, -19,-109,-105, -19,-109,-106, -19,-109,-107, -19,-109,-108, -19,-109,-109, -19,-109, --110, -19,-109,-111, -19,-109,-112, -19,-109,-113, -19,-109,-114, -19,-109,-115, -19,-109,-116, -19, --109,-117, -19,-109,-118, -19,-109,-119, -19,-109,-120, -19,-109,-121, -19,-109,-122, -19,-109,-123, - -19,-109,-124, -19,-109,-125, -19,-109,-126, -19,-109,-127, -19,-109,-128, -19,-110, -65, -19,-110, - -66, -19,-110, -67, -19,-110, -68, -19,-110, -69, -19,-110, -70, -19,-110, -71, -19,-110, -72, -19, --110, -73, -19,-110, -74, -19,-110, -75, -19,-110, -76, -19,-110, -77, -19,-110, -78, -19,-110, -79, - -19,-110, -80, -19,-110, -81, -19,-110, -82, -19,-110, -83, -19,-110, -84, -19,-110, -85, -19,-110, - -86, -19,-110, -87, -19,-110, -88, -19,-110, -89, -19,-110, -90, -19,-110, -91, -19,-110, -92, -19, --110, -93, -19,-110, -94, -19,-110, -95, -19,-110, -96, -19,-110, -97, -19,-110, -98, -19,-110, -99, - -19,-110,-100, -19,-110,-101, -19,-110,-102, -19,-110,-103, -19,-110,-104, -19,-110,-105, -19,-110, --106, -19,-110,-107, -19,-110,-108, -19,-110,-109, -19,-110,-110, -19,-110,-111, -19,-110,-112, -19, --110,-113, -19,-110,-114, -19,-110,-115, -19,-110,-116, -19,-110,-117, -19,-110,-118, -19,-110,-119, - -19,-110,-120, -19,-110,-121, -19,-110,-122, -19,-110,-123, -19,-110,-124, -19,-110,-125, -19,-110, --126, -19,-110,-127, -19,-110,-128, -19,-111, -65, -19,-111, -66, -19,-111, -67, -19,-111, -68, -19, --111, -69, -19,-111, -70, -19,-111, -71, -19,-111, -72, -19,-111, -73, -19,-111, -74, -19,-111, -75, - -19,-111, -76, -19,-111, -77, -19,-111, -78, -19,-111, -79, -19,-111, -80, -19,-111, -81, -19,-111, - -82, -19,-111, -83, -19,-111, -84, -19,-111, -85, -19,-111, -86, -19,-111, -87, -19,-111, -88, -19, --111, -89, -19,-111, -90, -19,-111, -91, -19,-111, -92, -19,-111, -93, -19,-111, -94, -19,-111, -95, - -19,-111, -96, -19,-111, -97, -19,-111, -98, -19,-111, -99, -19,-111,-100, -19,-111,-101, -19,-111, --102, -19,-111,-103, -19,-111,-104, -19,-111,-105, -19,-111,-106, -19,-111,-107, -19,-111,-108, -19, --111,-109, -19,-111,-110, -19,-111,-111, -19,-111,-112, -19,-111,-113, -19,-111,-114, -19,-111,-115, - -19,-111,-116, -19,-111,-117, -19,-111,-118, -19,-111,-119, -19,-111,-120, -19,-111,-121, -19,-111, --122, -19,-111,-123, -19,-111,-124, -19,-111,-125, -19,-111,-126, -19,-111,-127, -19,-111,-128, -19, --112, -65, -19,-112, -66, -19,-112, -67, -19,-112, -68, -19,-112, -69, -19,-112, -70, -19,-112, -71, - -19,-112, -72, -19,-112, -73, -19,-112, -74, -19,-112, -75, -19,-112, -76, -19,-112, -77, -19,-112, - -78, -19,-112, -79, -19,-112, -80, -19,-112, -81, -19,-112, -82, -19,-112, -83, -19,-112, -84, -19, --112, -85, -19,-112, -86, -19,-112, -87, -19,-112, -88, -19,-112, -89, -19,-112, -90, -19,-112, -91, - -19,-112, -92, -19,-112, -93, -19,-112, -94, -19,-112, -95, -19,-112, -96, -19,-112, -97, -19,-112, - -98, -19,-112, -99, -19,-112,-100, -19,-112,-101, -19,-112,-102, -19,-112,-103, -19,-112,-104, -19, --112,-105, -19,-112,-106, -19,-112,-107, -19,-112,-108, -19,-112,-109, -19,-112,-110, -19,-112,-111, - -19,-112,-112, -19,-112,-113, -19,-112,-114, -19,-112,-115, -19,-112,-116, -19,-112,-117, -19,-112, --118, -19,-112,-119, -19,-112,-120, -19,-112,-121, -19,-112,-122, -19,-112,-123, -19,-112,-124, -19, --112,-125, -19,-112,-126, -19,-112,-127, -19,-112,-128, -19,-113, -65, -19,-113, -66, -19,-113, -67, - -19,-113, -68, -19,-113, -69, -19,-113, -70, -19,-113, -71, -19,-113, -72, -19,-113, -73, -19,-113, - -74, -19,-113, -75, -19,-113, -76, -19,-113, -77, -19,-113, -78, -19,-113, -79, -19,-113, -80, -19, --113, -81, -19,-113, -82, -19,-113, -83, -19,-113, -84, -19,-113, -85, -19,-113, -86, -19,-113, -87, - -19,-113, -88, -19,-113, -89, -19,-113, -90, -19,-113, -91, -19,-113, -92, -19,-113, -93, -19,-113, - -94, -19,-113, -95, -19,-113, -96, -19,-113, -97, -19,-113, -98, -19,-113, -99, -19,-113,-100, -19, --113,-101, -19,-113,-102, -19,-113,-103, -19,-113,-104, -19,-113,-105, -19,-113,-106, -19,-113,-107, - -19,-113,-108, -19,-113,-109, -19,-113,-110, -19,-113,-111, -19,-113,-112, -19,-113,-113, -19,-113, --114, -19,-113,-115, -19,-113,-116, -19,-113,-117, -19,-113,-118, -19,-113,-119, -19,-113,-120, -19, --113,-121, -19,-113,-122, -19,-113,-123, -19,-113,-124, -19,-113,-125, -19,-113,-126, -19,-113,-127, - -19,-113,-128, -19,-114, -65, -19,-114, -66, -19,-114, -67, -19,-114, -68, -19,-114, -69, -19,-114, - -70, -19,-114, -71, -19,-114, -72, -19,-114, -73, -19,-114, -74, -19,-114, -75, -19,-114, -76, -19, --114, -77, -19,-114, -78, -19,-114, -79, -19,-114, -80, -19,-114, -81, -19,-114, -82, -19,-114, -83, - -19,-114, -84, -19,-114, -85, -19,-114, -86, -19,-114, -87, -19,-114, -88, -19,-114, -89, -19,-114, - -90, -19,-114, -91, -19,-114, -92, -19,-114, -93, -19,-114, -94, -19,-114, -95, -19,-114, -96, -19, --114, -97, -19,-114, -98, -19,-114, -99, -19,-114,-100, -19,-114,-101, -19,-114,-102, -19,-114,-103, - -19,-114,-104, -19,-114,-105, -19,-114,-106, -19,-114,-107, -19,-114,-108, -19,-114,-109, -19,-114, --110, -19,-114,-111, -19,-114,-112, -19,-114,-113, -19,-114,-114, -19,-114,-115, -19,-114,-116, -19, --114,-117, -19,-114,-118, -19,-114,-119, -19,-114,-120, -19,-114,-121, -19,-114,-122, -19,-114,-123, - -19,-114,-124, -19,-114,-125, -19,-114,-126, -19,-114,-127, -19,-114,-128, -19,-115, -65, -19,-115, - -66, -19,-115, -67, -19,-115, -68, -19,-115, -69, -19,-115, -70, -19,-115, -71, -19,-115, -72, -19, --115, -73, -19,-115, -74, -19,-115, -75, -19,-115, -76, -19,-115, -77, -19,-115, -78, -19,-115, -79, - -19,-115, -80, -19,-115, -81, -19,-115, -82, -19,-115, -83, -19,-115, -84, -19,-115, -85, -19,-115, - -86, -19,-115, -87, -19,-115, -88, -19,-115, -89, -19,-115, -90, -19,-115, -91, -19,-115, -92, -19, --115, -93, -19,-115, -94, -19,-115, -95, -19,-115, -96, -19,-115, -97, -19,-115, -98, -19,-115, -99, - -19,-115,-100, -19,-115,-101, -19,-115,-102, -19,-115,-103, -19,-115,-104, -19,-115,-105, -19,-115, --106, -19,-115,-107, -19,-115,-108, -19,-115,-109, -19,-115,-110, -19,-115,-111, -19,-115,-112, -19, --115,-113, -19,-115,-114, -19,-115,-115, -19,-115,-116, -19,-115,-117, -19,-115,-118, -19,-115,-119, - -19,-115,-120, -19,-115,-121, -19,-115,-122, -19,-115,-123, -19,-115,-124, -19,-115,-125, -19,-115, --126, -19,-115,-127, -19,-115,-128, -19,-116, -65, -19,-116, -66, -19,-116, -67, -19,-116, -68, -19, --116, -69, -19,-116, -70, -19,-116, -71, -19,-116, -72, -19,-116, -73, -19,-116, -74, -19,-116, -75, - -19,-116, -76, -19,-116, -77, -19,-116, -78, -19,-116, -79, -19,-116, -80, -19,-116, -81, -19,-116, - -82, -19,-116, -83, -19,-116, -84, -19,-116, -85, -19,-116, -86, -19,-116, -87, -19,-116, -88, -19, --116, -89, -19,-116, -90, -19,-116, -91, -19,-116, -92, -19,-116, -93, -19,-116, -94, -19,-116, -95, - -19,-116, -96, -19,-116, -97, -19,-116, -98, -19,-116, -99, -19,-116,-100, -19,-116,-101, -19,-116, --102, -19,-116,-103, -19,-116,-104, -19,-116,-105, -19,-116,-106, -19,-116,-107, -19,-116,-108, -19, --116,-109, -19,-116,-110, -19,-116,-111, -19,-116,-112, -19,-116,-113, -19,-116,-114, -19,-116,-115, - -19,-116,-116, -19,-116,-117, -19,-116,-118, -19,-116,-119, -19,-116,-120, -19,-116,-121, -19,-116, --122, -19,-116,-123, -19,-116,-124, -19,-116,-125, -19,-116,-126, -19,-116,-127, -19,-116,-128, -19, --117, -65, -19,-117, -66, -19,-117, -67, -19,-117, -68, -19,-117, -69, -19,-117, -70, -19,-117, -71, - -19,-117, -72, -19,-117, -73, -19,-117, -74, -19,-117, -75, -19,-117, -76, -19,-117, -77, -19,-117, - -78, -19,-117, -79, -19,-117, -80, -19,-117, -81, -19,-117, -82, -19,-117, -83, -19,-117, -84, -19, --117, -85, -19,-117, -86, -19,-117, -87, -19,-117, -88, -19,-117, -89, -19,-117, -90, -19,-117, -91, - -19,-117, -92, -19,-117, -93, -19,-117, -94, -19,-117, -95, -19,-117, -96, -19,-117, -97, -19,-117, - -98, -19,-117, -99, -19,-117,-100, -19,-117,-101, -19,-117,-102, -19,-117,-103, -19,-117,-104, -19, --117,-105, -19,-117,-106, -19,-117,-107, -19,-117,-108, -19,-117,-109, -19,-117,-110, -19,-117,-111, - -19,-117,-112, -19,-117,-113, -19,-117,-114, -19,-117,-115, -19,-117,-116, -19,-117,-117, -19,-117, --118, -19,-117,-119, -19,-117,-120, -19,-117,-121, -19,-117,-122, -19,-117,-123, -19,-117,-124, -19, --117,-125, -19,-117,-126, -19,-117,-127, -19,-117,-128, -19,-118, -65, -19,-118, -66, -19,-118, -67, - -19,-118, -68, -19,-118, -69, -19,-118, -70, -19,-118, -71, -19,-118, -72, -19,-118, -73, -19,-118, - -74, -19,-118, -75, -19,-118, -76, -19,-118, -77, -19,-118, -78, -19,-118, -79, -19,-118, -80, -19, --118, -81, -19,-118, -82, -19,-118, -83, -19,-118, -84, -19,-118, -85, -19,-118, -86, -19,-118, -87, - -19,-118, -88, -19,-118, -89, -19,-118, -90, -19,-118, -91, -19,-118, -92, -19,-118, -93, -19,-118, - -94, -19,-118, -95, -19,-118, -96, -19,-118, -97, -19,-118, -98, -19,-118, -99, -19,-118,-100, -19, --118,-101, -19,-118,-102, -19,-118,-103, -19,-118,-104, -19,-118,-105, -19,-118,-106, -19,-118,-107, - -19,-118,-108, -19,-118,-109, -19,-118,-110, -19,-118,-111, -19,-118,-112, -19,-118,-113, -19,-118, --114, -19,-118,-115, -19,-118,-116, -19,-118,-117, -19,-118,-118, -19,-118,-119, -19,-118,-120, -19, --118,-121, -19,-118,-122, -19,-118,-123, -19,-118,-124, -19,-118,-125, -19,-118,-126, -19,-118,-127, - -19,-118,-128, -19,-119, -65, -19,-119, -66, -19,-119, -67, -19,-119, -68, -19,-119, -69, -19,-119, - -70, -19,-119, -71, -19,-119, -72, -19,-119, -73, -19,-119, -74, -19,-119, -75, -19,-119, -76, -19, --119, -77, -19,-119, -78, -19,-119, -79, -19,-119, -80, -19,-119, -81, -19,-119, -82, -19,-119, -83, - -19,-119, -84, -19,-119, -85, -19,-119, -86, -19,-119, -87, -19,-119, -88, -19,-119, -89, -19,-119, - -90, -19,-119, -91, -19,-119, -92, -19,-119, -93, -19,-119, -94, -19,-119, -95, -19,-119, -96, -19, --119, -97, -19,-119, -98, -19,-119, -99, -19,-119,-100, -19,-119,-101, -19,-119,-102, -19,-119,-103, - -19,-119,-104, -19,-119,-105, -19,-119,-106, -19,-119,-107, -19,-119,-108, -19,-119,-109, -19,-119, --110, -19,-119,-111, -19,-119,-112, -19,-119,-113, -19,-119,-114, -19,-119,-115, -19,-119,-116, -19, --119,-117, -19,-119,-118, -19,-119,-119, -19,-119,-120, -19,-119,-121, -19,-119,-122, -19,-119,-123, - -19,-119,-124, -19,-119,-125, -19,-119,-126, -19,-119,-127, -19,-119,-128, -19,-120, -65, -19,-120, - -66, -19,-120, -67, -19,-120, -68, -19,-120, -69, -19,-120, -70, -19,-120, -71, -19,-120, -72, -19, --120, -73, -19,-120, -74, -19,-120, -75, -19,-120, -76, -19,-120, -77, -19,-120, -78, -19,-120, -79, - -19,-120, -80, -19,-120, -81, -19,-120, -82, -19,-120, -83, -19,-120, -84, -19,-120, -85, -19,-120, - -86, -19,-120, -87, -19,-120, -88, -19,-120, -89, -19,-120, -90, -19,-120, -91, -19,-120, -92, -19, --120, -93, -19,-120, -94, -19,-120, -95, -19,-120, -96, -19,-120, -97, -19,-120, -98, -19,-120, -99, - -19,-120,-100, -19,-120,-101, -19,-120,-102, -19,-120,-103, -19,-120,-104, -19,-120,-105, -19,-120, --106, -19,-120,-107, -19,-120,-108, -19,-120,-109, -19,-120,-110, -19,-120,-111, -19,-120,-112, -19, --120,-113, -19,-120,-114, -19,-120,-115, -19,-120,-116, -19,-120,-117, -19,-120,-118, -19,-120,-119, - -19,-120,-120, -19,-120,-121, -19,-120,-122, -19,-120,-123, -19,-120,-124, -19,-120,-125, -19,-120, --126, -19,-120,-127, -19,-120,-128, -19,-121, -65, -19,-121, -66, -19,-121, -67, -19,-121, -68, -19, --121, -69, -19,-121, -70, -19,-121, -71, -19,-121, -72, -19,-121, -73, -19,-121, -74, -19,-121, -75, - -19,-121, -76, -19,-121, -77, -19,-121, -78, -19,-121, -79, -19,-121, -80, -19,-121, -81, -19,-121, - -82, -19,-121, -83, -19,-121, -84, -19,-121, -85, -19,-121, -86, -19,-121, -87, -19,-121, -88, -19, --121, -89, -19,-121, -90, -19,-121, -91, -19,-121, -92, -19,-121, -93, -19,-121, -94, -19,-121, -95, - -19,-121, -96, -19,-121, -97, -19,-121, -98, -19,-121, -99, -19,-121,-100, -19,-121,-101, -19,-121, --102, -19,-121,-103, -19,-121,-104, -19,-121,-105, -19,-121,-106, -19,-121,-107, -19,-121,-108, -19, --121,-109, -19,-121,-110, -19,-121,-111, -19,-121,-112, -19,-121,-113, -19,-121,-114, -19,-121,-115, - -19,-121,-116, -19,-121,-117, -19,-121,-118, -19,-121,-119, -19,-121,-120, -19,-121,-121, -19,-121, --122, -19,-121,-123, -19,-121,-124, -19,-121,-125, -19,-121,-126, -19,-121,-127, -19,-121,-128, -19, --122, -65, -19,-122, -66, -19,-122, -67, -19,-122, -68, -19,-122, -69, -19,-122, -70, -19,-122, -71, - -19,-122, -72, -19,-122, -73, -19,-122, -74, -19,-122, -75, -19,-122, -76, -19,-122, -77, -19,-122, - -78, -19,-122, -79, -19,-122, -80, -19,-122, -81, -19,-122, -82, -19,-122, -83, -19,-122, -84, -19, --122, -85, -19,-122, -86, -19,-122, -87, -19,-122, -88, -19,-122, -89, -19,-122, -90, -19,-122, -91, - -19,-122, -92, -19,-122, -93, -19,-122, -94, -19,-122, -95, -19,-122, -96, -19,-122, -97, -19,-122, - -98, -19,-122, -99, -19,-122,-100, -19,-122,-101, -19,-122,-102, -19,-122,-103, -19,-122,-104, -19, --122,-105, -19,-122,-106, -19,-122,-107, -19,-122,-108, -19,-122,-109, -19,-122,-110, -19,-122,-111, - -19,-122,-112, -19,-122,-113, -19,-122,-114, -19,-122,-115, -19,-122,-116, -19,-122,-117, -19,-122, --118, -19,-122,-119, -19,-122,-120, -19,-122,-121, -19,-122,-122, -19,-122,-123, -19,-122,-124, -19, --122,-125, -19,-122,-126, -19,-122,-127, -19,-122,-128, -19,-123, -65, -19,-123, -66, -19,-123, -67, - -19,-123, -68, -19,-123, -69, -19,-123, -70, -19,-123, -71, -19,-123, -72, -19,-123, -73, -19,-123, - -74, -19,-123, -75, -19,-123, -76, -19,-123, -77, -19,-123, -78, -19,-123, -79, -19,-123, -80, -19, --123, -81, -19,-123, -82, -19,-123, -83, -19,-123, -84, -19,-123, -85, -19,-123, -86, -19,-123, -87, - -19,-123, -88, -19,-123, -89, -19,-123, -90, -19,-123, -91, -19,-123, -92, -19,-123, -93, -19,-123, - -94, -19,-123, -95, -19,-123, -96, -19,-123, -97, -19,-123, -98, -19,-123, -99, -19,-123,-100, -19, --123,-101, -19,-123,-102, -19,-123,-103, -19,-123,-104, -19,-123,-105, -19,-123,-106, -19,-123,-107, - -19,-123,-108, -19,-123,-109, -19,-123,-110, -19,-123,-111, -19,-123,-112, -19,-123,-113, -19,-123, --114, -19,-123,-115, -19,-123,-116, -19,-123,-117, -19,-123,-118, -19,-123,-119, -19,-123,-120, -19, --123,-121, -19,-123,-122, -19,-123,-123, -19,-123,-124, -19,-123,-125, -19,-123,-126, -19,-123,-127, - -19,-123,-128, -19,-124, -65, -19,-124, -66, -19,-124, -67, -19,-124, -68, -19,-124, -69, -19,-124, - -70, -19,-124, -71, -19,-124, -72, -19,-124, -73, -19,-124, -74, -19,-124, -75, -19,-124, -76, -19, --124, -77, -19,-124, -78, -19,-124, -79, -19,-124, -80, -19,-124, -81, -19,-124, -82, -19,-124, -83, - -19,-124, -84, -19,-124, -85, -19,-124, -86, -19,-124, -87, -19,-124, -88, -19,-124, -89, -19,-124, - -90, -19,-124, -91, -19,-124, -92, -19,-124, -93, -19,-124, -94, -19,-124, -95, -19,-124, -96, -19, --124, -97, -19,-124, -98, -19,-124, -99, -19,-124,-100, -19,-124,-101, -19,-124,-102, -19,-124,-103, - -19,-124,-104, -19,-124,-105, -19,-124,-106, -19,-124,-107, -19,-124,-108, -19,-124,-109, -19,-124, --110, -19,-124,-111, -19,-124,-112, -19,-124,-113, -19,-124,-114, -19,-124,-115, -19,-124,-116, -19, --124,-117, -19,-124,-118, -19,-124,-119, -19,-124,-120, -19,-124,-121, -19,-124,-122, -19,-124,-123, - -19,-124,-124, -19,-124,-125, -19,-124,-126, -19,-124,-127, -19,-124,-128, -19,-125, -65, -19,-125, - -66, -19,-125, -67, -19,-125, -68, -19,-125, -69, -19,-125, -70, -19,-125, -71, -19,-125, -72, -19, --125, -73, -19,-125, -74, -19,-125, -75, -19,-125, -76, -19,-125, -77, -19,-125, -78, -19,-125, -79, - -19,-125, -80, -19,-125, -81, -19,-125, -82, -19,-125, -83, -19,-125, -84, -19,-125, -85, -19,-125, - -86, -19,-125, -87, -19,-125, -88, -19,-125, -89, -19,-125, -90, -19,-125, -91, -19,-125, -92, -19, --125, -93, -19,-125, -94, -19,-125, -95, -19,-125, -96, -19,-125, -97, -19,-125, -98, -19,-125, -99, - -19,-125,-100, -19,-125,-101, -19,-125,-102, -19,-125,-103, -19,-125,-104, -19,-125,-105, -19,-125, --106, -19,-125,-107, -19,-125,-108, -19,-125,-109, -19,-125,-110, -19,-125,-111, -19,-125,-112, -19, --125,-113, -19,-125,-114, -19,-125,-115, -19,-125,-116, -19,-125,-117, -19,-125,-118, -19,-125,-119, - -19,-125,-120, -19,-125,-121, -19,-125,-122, -19,-125,-123, -19,-125,-124, -19,-125,-125, -19,-125, --126, -19,-125,-127, -19,-125,-128, -19,-126, -65, -19,-126, -66, -19,-126, -67, -19,-126, -68, -19, --126, -69, -19,-126, -70, -19,-126, -71, -19,-126, -72, -19,-126, -73, -19,-126, -74, -19,-126, -75, - -19,-126, -76, -19,-126, -77, -19,-126, -78, -19,-126, -79, -19,-126, -80, -19,-126, -81, -19,-126, - -82, -19,-126, -83, -19,-126, -84, -19,-126, -85, -19,-126, -86, -19,-126, -87, -19,-126, -88, -19, --126, -89, -19,-126, -90, -19,-126, -91, -19,-126, -92, -19,-126, -93, -19,-126, -94, -19,-126, -95, - -19,-126, -96, -19,-126, -97, -19,-126, -98, -19,-126, -99, -19,-126,-100, -19,-126,-101, -19,-126, --102, -19,-126,-103, -19,-126,-104, -19,-126,-105, -19,-126,-106, -19,-126,-107, -19,-126,-108, -19, --126,-109, -19,-126,-110, -19,-126,-111, -19,-126,-112, -19,-126,-113, -19,-126,-114, -19,-126,-115, - -19,-126,-116, -19,-126,-117, -19,-126,-118, -19,-126,-119, -19,-126,-120, -19,-126,-121, -19,-126, --122, -19,-126,-123, -19,-126,-124, -19,-126,-125, -19,-126,-126, -19,-126,-127, -19,-126,-128, -19, --127, -65, -19,-127, -66, -19,-127, -67, -19,-127, -68, -19,-127, -69, -19,-127, -70, -19,-127, -71, - -19,-127, -72, -19,-127, -73, -19,-127, -74, -19,-127, -75, -19,-127, -76, -19,-127, -77, -19,-127, - -78, -19,-127, -79, -19,-127, -80, -19,-127, -81, -19,-127, -82, -19,-127, -83, -19,-127, -84, -19, --127, -85, -19,-127, -86, -19,-127, -87, -19,-127, -88, -19,-127, -89, -19,-127, -90, -19,-127, -91, - -19,-127, -92, -19,-127, -93, -19,-127, -94, -19,-127, -95, -19,-127, -96, -19,-127, -97, -19,-127, - -98, -19,-127, -99, -19,-127,-100, -19,-127,-101, -19,-127,-102, -19,-127,-103, -19,-127,-104, -19, --127,-105, -19,-127,-106, -19,-127,-107, -19,-127,-108, -19,-127,-109, -19,-127,-110, -19,-127,-111, - -19,-127,-112, -19,-127,-113, -19,-127,-114, -19,-127,-115, -19,-127,-116, -19,-127,-117, -19,-127, --118, -19,-127,-119, -19,-127,-120, -19,-127,-121, -19,-127,-122, -19,-127,-123, -19,-127,-124, -19, --127,-125, -19,-127,-126, -19,-127,-127, -19,-127,-128, -19,-128, -65, -19,-128, -66, -19,-128, -67, - -19,-128, -68, -19,-128, -69, -19,-128, -70, -19,-128, -71, -19,-128, -72, -19,-128, -73, -19,-128, - -74, -19,-128, -75, -19,-128, -76, -19,-128, -77, -19,-128, -78, -19,-128, -79, -19,-128, -80, -19, --128, -81, -19,-128, -82, -19,-128, -83, -19,-128, -84, -19,-128, -85, -19,-128, -86, -19,-128, -87, - -19,-128, -88, -19,-128, -89, -19,-128, -90, -19,-128, -91, -19,-128, -92, -19,-128, -93, -19,-128, - -94, -19,-128, -95, -19,-128, -96, -19,-128, -97, -19,-128, -98, -19,-128, -99, -19,-128,-100, -19, --128,-101, -19,-128,-102, -19,-128,-103, -19,-128,-104, -19,-128,-105, -19,-128,-106, -19,-128,-107, - -19,-128,-108, -19,-128,-109, -19,-128,-110, -19,-128,-111, -19,-128,-112, -19,-128,-113, -19,-128, --114, -19,-128,-115, -19,-128,-116, -19,-128,-117, -19,-128,-118, -19,-128,-119, -19,-128,-120, -19, --128,-121, -19,-128,-122, -19,-128,-123, -19,-128,-124, -19,-128,-125, -19,-128,-126, -19,-128,-127, - -19,-128,-128, -20, -65, -65, -20, -65, -66, -20, -65, -67, -20, -65, -68, -20, -65, -69, -20, -65, - -70, -20, -65, -71, -20, -65, -72, -20, -65, -73, -20, -65, -74, -20, -65, -75, -20, -65, -76, -20, - -65, -77, -20, -65, -78, -20, -65, -79, -20, -65, -80, -20, -65, -81, -20, -65, -82, -20, -65, -83, - -20, -65, -84, -20, -65, -85, -20, -65, -86, -20, -65, -87, -20, -65, -88, -20, -65, -89, -20, -65, - -90, -20, -65, -91, -20, -65, -92, -20, -65, -93, -20, -65, -94, -20, -65, -95, -20, -65, -96, -20, - -65, -97, -20, -65, -98, -20, -65, -99, -20, -65,-100, -20, -65,-101, -20, -65,-102, -20, -65,-103, - -20, -65,-104, -20, -65,-105, -20, -65,-106, -20, -65,-107, -20, -65,-108, -20, -65,-109, -20, -65, --110, -20, -65,-111, -20, -65,-112, -20, -65,-113, -20, -65,-114, -20, -65,-115, -20, -65,-116, -20, - -65,-117, -20, -65,-118, -20, -65,-119, -20, -65,-120, -20, -65,-121, -20, -65,-122, -20, -65,-123, - -20, -65,-124, -20, -65,-125, -20, -65,-126, -20, -65,-127, -20, -65,-128, -20, -66, -65, -20, -66, - -66, -20, -66, -67, -20, -66, -68, -20, -66, -69, -20, -66, -70, -20, -66, -71, -20, -66, -72, -20, - -66, -73, -20, -66, -74, -20, -66, -75, -20, -66, -76, -20, -66, -77, -20, -66, -78, -20, -66, -79, - -20, -66, -80, -20, -66, -81, -20, -66, -82, -20, -66, -83, -20, -66, -84, -20, -66, -85, -20, -66, - -86, -20, -66, -87, -20, -66, -88, -20, -66, -89, -20, -66, -90, -20, -66, -91, -20, -66, -92, -20, - -66, -93, -20, -66, -94, -20, -66, -95, -20, -66, -96, -20, -66, -97, -20, -66, -98, -20, -66, -99, - -20, -66,-100, -20, -66,-101, -20, -66,-102, -20, -66,-103, -20, -66,-104, -20, -66,-105, -20, -66, --106, -20, -66,-107, -20, -66,-108, -20, -66,-109, -20, -66,-110, -20, -66,-111, -20, -66,-112, -20, - -66,-113, -20, -66,-114, -20, -66,-115, -20, -66,-116, -20, -66,-117, -20, -66,-118, -20, -66,-119, - -20, -66,-120, -20, -66,-121, -20, -66,-122, -20, -66,-123, -20, -66,-124, -20, -66,-125, -20, -66, --126, -20, -66,-127, -20, -66,-128, -20, -67, -65, -20, -67, -66, -20, -67, -67, -20, -67, -68, -20, - -67, -69, -20, -67, -70, -20, -67, -71, -20, -67, -72, -20, -67, -73, -20, -67, -74, -20, -67, -75, - -20, -67, -76, -20, -67, -77, -20, -67, -78, -20, -67, -79, -20, -67, -80, -20, -67, -81, -20, -67, - -82, -20, -67, -83, -20, -67, -84, -20, -67, -85, -20, -67, -86, -20, -67, -87, -20, -67, -88, -20, - -67, -89, -20, -67, -90, -20, -67, -91, -20, -67, -92, -20, -67, -93, -20, -67, -94, -20, -67, -95, - -20, -67, -96, -20, -67, -97, -20, -67, -98, -20, -67, -99, -20, -67,-100, -20, -67,-101, -20, -67, --102, -20, -67,-103, -20, -67,-104, -20, -67,-105, -20, -67,-106, -20, -67,-107, -20, -67,-108, -20, - -67,-109, -20, -67,-110, -20, -67,-111, -20, -67,-112, -20, -67,-113, -20, -67,-114, -20, -67,-115, - -20, -67,-116, -20, -67,-117, -20, -67,-118, -20, -67,-119, -20, -67,-120, -20, -67,-121, -20, -67, --122, -20, -67,-123, -20, -67,-124, -20, -67,-125, -20, -67,-126, -20, -67,-127, -20, -67,-128, -20, - -68, -65, -20, -68, -66, -20, -68, -67, -20, -68, -68, -20, -68, -69, -20, -68, -70, -20, -68, -71, - -20, -68, -72, -20, -68, -73, -20, -68, -74, -20, -68, -75, -20, -68, -76, -20, -68, -77, -20, -68, - -78, -20, -68, -79, -20, -68, -80, -20, -68, -81, -20, -68, -82, -20, -68, -83, -20, -68, -84, -20, - -68, -85, -20, -68, -86, -20, -68, -87, -20, -68, -88, -20, -68, -89, -20, -68, -90, -20, -68, -91, - -20, -68, -92, -20, -68, -93, -20, -68, -94, -20, -68, -95, -20, -68, -96, -20, -68, -97, -20, -68, - -98, -20, -68, -99, -20, -68,-100, -20, -68,-101, -20, -68,-102, -20, -68,-103, -20, -68,-104, -20, - -68,-105, -20, -68,-106, -20, -68,-107, -20, -68,-108, -20, -68,-109, -20, -68,-110, -20, -68,-111, - -20, -68,-112, -20, -68,-113, -20, -68,-114, -20, -68,-115, -20, -68,-116, -20, -68,-117, -20, -68, --118, -20, -68,-119, -20, -68,-120, -20, -68,-121, -20, -68,-122, -20, -68,-123, -20, -68,-124, -20, - -68,-125, -20, -68,-126, -20, -68,-127, -20, -68,-128, -20, -69, -65, -20, -69, -66, -20, -69, -67, - -20, -69, -68, -20, -69, -69, -20, -69, -70, -20, -69, -71, -20, -69, -72, -20, -69, -73, -20, -69, - -74, -20, -69, -75, -20, -69, -76, -20, -69, -77, -20, -69, -78, -20, -69, -79, -20, -69, -80, -20, - -69, -81, -20, -69, -82, -20, -69, -83, -20, -69, -84, -20, -69, -85, -20, -69, -86, -20, -69, -87, - -20, -69, -88, -20, -69, -89, -20, -69, -90, -20, -69, -91, -20, -69, -92, -20, -69, -93, -20, -69, - -94, -20, -69, -95, -20, -69, -96, -20, -69, -97, -20, -69, -98, -20, -69, -99, -20, -69,-100, -20, - -69,-101, -20, -69,-102, -20, -69,-103, -20, -69,-104, -20, -69,-105, -20, -69,-106, -20, -69,-107, - -20, -69,-108, -20, -69,-109, -20, -69,-110, -20, -69,-111, -20, -69,-112, -20, -69,-113, -20, -69, --114, -20, -69,-115, -20, -69,-116, -20, -69,-117, -20, -69,-118, -20, -69,-119, -20, -69,-120, -20, - -69,-121, -20, -69,-122, -20, -69,-123, -20, -69,-124, -20, -69,-125, -20, -69,-126, -20, -69,-127, - -20, -69,-128, -20, -70, -65, -20, -70, -66, -20, -70, -67, -20, -70, -68, -20, -70, -69, -20, -70, - -70, -20, -70, -71, -20, -70, -72, -20, -70, -73, -20, -70, -74, -20, -70, -75, -20, -70, -76, -20, - -70, -77, -20, -70, -78, -20, -70, -79, -20, -70, -80, -20, -70, -81, -20, -70, -82, -20, -70, -83, - -20, -70, -84, -20, -70, -85, -20, -70, -86, -20, -70, -87, -20, -70, -88, -20, -70, -89, -20, -70, - -90, -20, -70, -91, -20, -70, -92, -20, -70, -93, -20, -70, -94, -20, -70, -95, -20, -70, -96, -20, - -70, -97, -20, -70, -98, -20, -70, -99, -20, -70,-100, -20, -70,-101, -20, -70,-102, -20, -70,-103, - -20, -70,-104, -20, -70,-105, -20, -70,-106, -20, -70,-107, -20, -70,-108, -20, -70,-109, -20, -70, --110, -20, -70,-111, -20, -70,-112, -20, -70,-113, -20, -70,-114, -20, -70,-115, -20, -70,-116, -20, - -70,-117, -20, -70,-118, -20, -70,-119, -20, -70,-120, -20, -70,-121, -20, -70,-122, -20, -70,-123, - -20, -70,-124, -20, -70,-125, -20, -70,-126, -20, -70,-127, -20, -70,-128, -20, -71, -65, -20, -71, - -66, -20, -71, -67, -20, -71, -68, -20, -71, -69, -20, -71, -70, -20, -71, -71, -20, -71, -72, -20, - -71, -73, -20, -71, -74, -20, -71, -75, -20, -71, -76, -20, -71, -77, -20, -71, -78, -20, -71, -79, - -20, -71, -80, -20, -71, -81, -20, -71, -82, -20, -71, -83, -20, -71, -84, -20, -71, -85, -20, -71, - -86, -20, -71, -87, -20, -71, -88, -20, -71, -89, -20, -71, -90, -20, -71, -91, -20, -71, -92, -20, - -71, -93, -20, -71, -94, -20, -71, -95, -20, -71, -96, -20, -71, -97, -20, -71, -98, -20, -71, -99, - -20, -71,-100, -20, -71,-101, -20, -71,-102, -20, -71,-103, -20, -71,-104, -20, -71,-105, -20, -71, --106, -20, -71,-107, -20, -71,-108, -20, -71,-109, -20, -71,-110, -20, -71,-111, -20, -71,-112, -20, - -71,-113, -20, -71,-114, -20, -71,-115, -20, -71,-116, -20, -71,-117, -20, -71,-118, -20, -71,-119, - -20, -71,-120, -20, -71,-121, -20, -71,-122, -20, -71,-123, -20, -71,-124, -20, -71,-125, -20, -71, --126, -20, -71,-127, -20, -71,-128, -20, -72, -65, -20, -72, -66, -20, -72, -67, -20, -72, -68, -20, - -72, -69, -20, -72, -70, -20, -72, -71, -20, -72, -72, -20, -72, -73, -20, -72, -74, -20, -72, -75, - -20, -72, -76, -20, -72, -77, -20, -72, -78, -20, -72, -79, -20, -72, -80, -20, -72, -81, -20, -72, - -82, -20, -72, -83, -20, -72, -84, -20, -72, -85, -20, -72, -86, -20, -72, -87, -20, -72, -88, -20, - -72, -89, -20, -72, -90, -20, -72, -91, -20, -72, -92, -20, -72, -93, -20, -72, -94, -20, -72, -95, - -20, -72, -96, -20, -72, -97, -20, -72, -98, -20, -72, -99, -20, -72,-100, -20, -72,-101, -20, -72, --102, -20, -72,-103, -20, -72,-104, -20, -72,-105, -20, -72,-106, -20, -72,-107, -20, -72,-108, -20, - -72,-109, -20, -72,-110, -20, -72,-111, -20, -72,-112, -20, -72,-113, -20, -72,-114, -20, -72,-115, - -20, -72,-116, -20, -72,-117, -20, -72,-118, -20, -72,-119, -20, -72,-120, -20, -72,-121, -20, -72, --122, -20, -72,-123, -20, -72,-124, -20, -72,-125, -20, -72,-126, -20, -72,-127, -20, -72,-128, -20, - -73, -65, -20, -73, -66, -20, -73, -67, -20, -73, -68, -20, -73, -69, -20, -73, -70, -20, -73, -71, - -20, -73, -72, -20, -73, -73, -20, -73, -74, -20, -73, -75, -20, -73, -76, -20, -73, -77, -20, -73, - -78, -20, -73, -79, -20, -73, -80, -20, -73, -81, -20, -73, -82, -20, -73, -83, -20, -73, -84, -20, - -73, -85, -20, -73, -86, -20, -73, -87, -20, -73, -88, -20, -73, -89, -20, -73, -90, -20, -73, -91, - -20, -73, -92, -20, -73, -93, -20, -73, -94, -20, -73, -95, -20, -73, -96, -20, -73, -97, -20, -73, - -98, -20, -73, -99, -20, -73,-100, -20, -73,-101, -20, -73,-102, -20, -73,-103, -20, -73,-104, -20, - -73,-105, -20, -73,-106, -20, -73,-107, -20, -73,-108, -20, -73,-109, -20, -73,-110, -20, -73,-111, - -20, -73,-112, -20, -73,-113, -20, -73,-114, -20, -73,-115, -20, -73,-116, -20, -73,-117, -20, -73, --118, -20, -73,-119, -20, -73,-120, -20, -73,-121, -20, -73,-122, -20, -73,-123, -20, -73,-124, -20, - -73,-125, -20, -73,-126, -20, -73,-127, -20, -73,-128, -20, -74, -65, -20, -74, -66, -20, -74, -67, - -20, -74, -68, -20, -74, -69, -20, -74, -70, -20, -74, -71, -20, -74, -72, -20, -74, -73, -20, -74, - -74, -20, -74, -75, -20, -74, -76, -20, -74, -77, -20, -74, -78, -20, -74, -79, -20, -74, -80, -20, - -74, -81, -20, -74, -82, -20, -74, -83, -20, -74, -84, -20, -74, -85, -20, -74, -86, -20, -74, -87, - -20, -74, -88, -20, -74, -89, -20, -74, -90, -20, -74, -91, -20, -74, -92, -20, -74, -93, -20, -74, - -94, -20, -74, -95, -20, -74, -96, -20, -74, -97, -20, -74, -98, -20, -74, -99, -20, -74,-100, -20, - -74,-101, -20, -74,-102, -20, -74,-103, -20, -74,-104, -20, -74,-105, -20, -74,-106, -20, -74,-107, - -20, -74,-108, -20, -74,-109, -20, -74,-110, -20, -74,-111, -20, -74,-112, -20, -74,-113, -20, -74, --114, -20, -74,-115, -20, -74,-116, -20, -74,-117, -20, -74,-118, -20, -74,-119, -20, -74,-120, -20, - -74,-121, -20, -74,-122, -20, -74,-123, -20, -74,-124, -20, -74,-125, -20, -74,-126, -20, -74,-127, - -20, -74,-128, -20, -75, -65, -20, -75, -66, -20, -75, -67, -20, -75, -68, -20, -75, -69, -20, -75, - -70, -20, -75, -71, -20, -75, -72, -20, -75, -73, -20, -75, -74, -20, -75, -75, -20, -75, -76, -20, - -75, -77, -20, -75, -78, -20, -75, -79, -20, -75, -80, -20, -75, -81, -20, -75, -82, -20, -75, -83, - -20, -75, -84, -20, -75, -85, -20, -75, -86, -20, -75, -87, -20, -75, -88, -20, -75, -89, -20, -75, - -90, -20, -75, -91, -20, -75, -92, -20, -75, -93, -20, -75, -94, -20, -75, -95, -20, -75, -96, -20, - -75, -97, -20, -75, -98, -20, -75, -99, -20, -75,-100, -20, -75,-101, -20, -75,-102, -20, -75,-103, - -20, -75,-104, -20, -75,-105, -20, -75,-106, -20, -75,-107, -20, -75,-108, -20, -75,-109, -20, -75, --110, -20, -75,-111, -20, -75,-112, -20, -75,-113, -20, -75,-114, -20, -75,-115, -20, -75,-116, -20, - -75,-117, -20, -75,-118, -20, -75,-119, -20, -75,-120, -20, -75,-121, -20, -75,-122, -20, -75,-123, - -20, -75,-124, -20, -75,-125, -20, -75,-126, -20, -75,-127, -20, -75,-128, -20, -76, -65, -20, -76, - -66, -20, -76, -67, -20, -76, -68, -20, -76, -69, -20, -76, -70, -20, -76, -71, -20, -76, -72, -20, - -76, -73, -20, -76, -74, -20, -76, -75, -20, -76, -76, -20, -76, -77, -20, -76, -78, -20, -76, -79, - -20, -76, -80, -20, -76, -81, -20, -76, -82, -20, -76, -83, -20, -76, -84, -20, -76, -85, -20, -76, - -86, -20, -76, -87, -20, -76, -88, -20, -76, -89, -20, -76, -90, -20, -76, -91, -20, -76, -92, -20, - -76, -93, -20, -76, -94, -20, -76, -95, -20, -76, -96, -20, -76, -97, -20, -76, -98, -20, -76, -99, - -20, -76,-100, -20, -76,-101, -20, -76,-102, -20, -76,-103, -20, -76,-104, -20, -76,-105, -20, -76, --106, -20, -76,-107, -20, -76,-108, -20, -76,-109, -20, -76,-110, -20, -76,-111, -20, -76,-112, -20, - -76,-113, -20, -76,-114, -20, -76,-115, -20, -76,-116, -20, -76,-117, -20, -76,-118, -20, -76,-119, - -20, -76,-120, -20, -76,-121, -20, -76,-122, -20, -76,-123, -20, -76,-124, -20, -76,-125, -20, -76, --126, -20, -76,-127, -20, -76,-128, -20, -77, -65, -20, -77, -66, -20, -77, -67, -20, -77, -68, -20, - -77, -69, -20, -77, -70, -20, -77, -71, -20, -77, -72, -20, -77, -73, -20, -77, -74, -20, -77, -75, - -20, -77, -76, -20, -77, -77, -20, -77, -78, -20, -77, -79, -20, -77, -80, -20, -77, -81, -20, -77, - -82, -20, -77, -83, -20, -77, -84, -20, -77, -85, -20, -77, -86, -20, -77, -87, -20, -77, -88, -20, - -77, -89, -20, -77, -90, -20, -77, -91, -20, -77, -92, -20, -77, -93, -20, -77, -94, -20, -77, -95, - -20, -77, -96, -20, -77, -97, -20, -77, -98, -20, -77, -99, -20, -77,-100, -20, -77,-101, -20, -77, --102, -20, -77,-103, -20, -77,-104, -20, -77,-105, -20, -77,-106, -20, -77,-107, -20, -77,-108, -20, - -77,-109, -20, -77,-110, -20, -77,-111, -20, -77,-112, -20, -77,-113, -20, -77,-114, -20, -77,-115, - -20, -77,-116, -20, -77,-117, -20, -77,-118, -20, -77,-119, -20, -77,-120, -20, -77,-121, -20, -77, --122, -20, -77,-123, -20, -77,-124, -20, -77,-125, -20, -77,-126, -20, -77,-127, -20, -77,-128, -20, - -78, -65, -20, -78, -66, -20, -78, -67, -20, -78, -68, -20, -78, -69, -20, -78, -70, -20, -78, -71, - -20, -78, -72, -20, -78, -73, -20, -78, -74, -20, -78, -75, -20, -78, -76, -20, -78, -77, -20, -78, - -78, -20, -78, -79, -20, -78, -80, -20, -78, -81, -20, -78, -82, -20, -78, -83, -20, -78, -84, -20, - -78, -85, -20, -78, -86, -20, -78, -87, -20, -78, -88, -20, -78, -89, -20, -78, -90, -20, -78, -91, - -20, -78, -92, -20, -78, -93, -20, -78, -94, -20, -78, -95, -20, -78, -96, -20, -78, -97, -20, -78, - -98, -20, -78, -99, -20, -78,-100, -20, -78,-101, -20, -78,-102, -20, -78,-103, -20, -78,-104, -20, - -78,-105, -20, -78,-106, -20, -78,-107, -20, -78,-108, -20, -78,-109, -20, -78,-110, -20, -78,-111, - -20, -78,-112, -20, -78,-113, -20, -78,-114, -20, -78,-115, -20, -78,-116, -20, -78,-117, -20, -78, --118, -20, -78,-119, -20, -78,-120, -20, -78,-121, -20, -78,-122, -20, -78,-123, -20, -78,-124, -20, - -78,-125, -20, -78,-126, -20, -78,-127, -20, -78,-128, -20, -79, -65, -20, -79, -66, -20, -79, -67, - -20, -79, -68, -20, -79, -69, -20, -79, -70, -20, -79, -71, -20, -79, -72, -20, -79, -73, -20, -79, - -74, -20, -79, -75, -20, -79, -76, -20, -79, -77, -20, -79, -78, -20, -79, -79, -20, -79, -80, -20, - -79, -81, -20, -79, -82, -20, -79, -83, -20, -79, -84, -20, -79, -85, -20, -79, -86, -20, -79, -87, - -20, -79, -88, -20, -79, -89, -20, -79, -90, -20, -79, -91, -20, -79, -92, -20, -79, -93, -20, -79, - -94, -20, -79, -95, -20, -79, -96, -20, -79, -97, -20, -79, -98, -20, -79, -99, -20, -79,-100, -20, - -79,-101, -20, -79,-102, -20, -79,-103, -20, -79,-104, -20, -79,-105, -20, -79,-106, -20, -79,-107, - -20, -79,-108, -20, -79,-109, -20, -79,-110, -20, -79,-111, -20, -79,-112, -20, -79,-113, -20, -79, --114, -20, -79,-115, -20, -79,-116, -20, -79,-117, -20, -79,-118, -20, -79,-119, -20, -79,-120, -20, - -79,-121, -20, -79,-122, -20, -79,-123, -20, -79,-124, -20, -79,-125, -20, -79,-126, -20, -79,-127, - -20, -79,-128, -20, -80, -65, -20, -80, -66, -20, -80, -67, -20, -80, -68, -20, -80, -69, -20, -80, - -70, -20, -80, -71, -20, -80, -72, -20, -80, -73, -20, -80, -74, -20, -80, -75, -20, -80, -76, -20, - -80, -77, -20, -80, -78, -20, -80, -79, -20, -80, -80, -20, -80, -81, -20, -80, -82, -20, -80, -83, - -20, -80, -84, -20, -80, -85, -20, -80, -86, -20, -80, -87, -20, -80, -88, -20, -80, -89, -20, -80, - -90, -20, -80, -91, -20, -80, -92, -20, -80, -93, -20, -80, -94, -20, -80, -95, -20, -80, -96, -20, - -80, -97, -20, -80, -98, -20, -80, -99, -20, -80,-100, -20, -80,-101, -20, -80,-102, -20, -80,-103, - -20, -80,-104, -20, -80,-105, -20, -80,-106, -20, -80,-107, -20, -80,-108, -20, -80,-109, -20, -80, --110, -20, -80,-111, -20, -80,-112, -20, -80,-113, -20, -80,-114, -20, -80,-115, -20, -80,-116, -20, - -80,-117, -20, -80,-118, -20, -80,-119, -20, -80,-120, -20, -80,-121, -20, -80,-122, -20, -80,-123, - -20, -80,-124, -20, -80,-125, -20, -80,-126, -20, -80,-127, -20, -80,-128, -20, -81, -65, -20, -81, - -66, -20, -81, -67, -20, -81, -68, -20, -81, -69, -20, -81, -70, -20, -81, -71, -20, -81, -72, -20, - -81, -73, -20, -81, -74, -20, -81, -75, -20, -81, -76, -20, -81, -77, -20, -81, -78, -20, -81, -79, - -20, -81, -80, -20, -81, -81, -20, -81, -82, -20, -81, -83, -20, -81, -84, -20, -81, -85, -20, -81, - -86, -20, -81, -87, -20, -81, -88, -20, -81, -89, -20, -81, -90, -20, -81, -91, -20, -81, -92, -20, - -81, -93, -20, -81, -94, -20, -81, -95, -20, -81, -96, -20, -81, -97, -20, -81, -98, -20, -81, -99, - -20, -81,-100, -20, -81,-101, -20, -81,-102, -20, -81,-103, -20, -81,-104, -20, -81,-105, -20, -81, --106, -20, -81,-107, -20, -81,-108, -20, -81,-109, -20, -81,-110, -20, -81,-111, -20, -81,-112, -20, - -81,-113, -20, -81,-114, -20, -81,-115, -20, -81,-116, -20, -81,-117, -20, -81,-118, -20, -81,-119, - -20, -81,-120, -20, -81,-121, -20, -81,-122, -20, -81,-123, -20, -81,-124, -20, -81,-125, -20, -81, --126, -20, -81,-127, -20, -81,-128, -20, -82, -65, -20, -82, -66, -20, -82, -67, -20, -82, -68, -20, - -82, -69, -20, -82, -70, -20, -82, -71, -20, -82, -72, -20, -82, -73, -20, -82, -74, -20, -82, -75, - -20, -82, -76, -20, -82, -77, -20, -82, -78, -20, -82, -79, -20, -82, -80, -20, -82, -81, -20, -82, - -82, -20, -82, -83, -20, -82, -84, -20, -82, -85, -20, -82, -86, -20, -82, -87, -20, -82, -88, -20, - -82, -89, -20, -82, -90, -20, -82, -91, -20, -82, -92, -20, -82, -93, -20, -82, -94, -20, -82, -95, - -20, -82, -96, -20, -82, -97, -20, -82, -98, -20, -82, -99, -20, -82,-100, -20, -82,-101, -20, -82, --102, -20, -82,-103, -20, -82,-104, -20, -82,-105, -20, -82,-106, -20, -82,-107, -20, -82,-108, -20, - -82,-109, -20, -82,-110, -20, -82,-111, -20, -82,-112, -20, -82,-113, -20, -82,-114, -20, -82,-115, - -20, -82,-116, -20, -82,-117, -20, -82,-118, -20, -82,-119, -20, -82,-120, -20, -82,-121, -20, -82, --122, -20, -82,-123, -20, -82,-124, -20, -82,-125, -20, -82,-126, -20, -82,-127, -20, -82,-128, -20, - -83, -65, -20, -83, -66, -20, -83, -67, -20, -83, -68, -20, -83, -69, -20, -83, -70, -20, -83, -71, - -20, -83, -72, -20, -83, -73, -20, -83, -74, -20, -83, -75, -20, -83, -76, -20, -83, -77, -20, -83, - -78, -20, -83, -79, -20, -83, -80, -20, -83, -81, -20, -83, -82, -20, -83, -83, -20, -83, -84, -20, - -83, -85, -20, -83, -86, -20, -83, -87, -20, -83, -88, -20, -83, -89, -20, -83, -90, -20, -83, -91, - -20, -83, -92, -20, -83, -93, -20, -83, -94, -20, -83, -95, -20, -83, -96, -20, -83, -97, -20, -83, - -98, -20, -83, -99, -20, -83,-100, -20, -83,-101, -20, -83,-102, -20, -83,-103, -20, -83,-104, -20, - -83,-105, -20, -83,-106, -20, -83,-107, -20, -83,-108, -20, -83,-109, -20, -83,-110, -20, -83,-111, - -20, -83,-112, -20, -83,-113, -20, -83,-114, -20, -83,-115, -20, -83,-116, -20, -83,-117, -20, -83, --118, -20, -83,-119, -20, -83,-120, -20, -83,-121, -20, -83,-122, -20, -83,-123, -20, -83,-124, -20, - -83,-125, -20, -83,-126, -20, -83,-127, -20, -83,-128, -20, -84, -65, -20, -84, -66, -20, -84, -67, - -20, -84, -68, -20, -84, -69, -20, -84, -70, -20, -84, -71, -20, -84, -72, -20, -84, -73, -20, -84, - -74, -20, -84, -75, -20, -84, -76, -20, -84, -77, -20, -84, -78, -20, -84, -79, -20, -84, -80, -20, - -84, -81, -20, -84, -82, -20, -84, -83, -20, -84, -84, -20, -84, -85, -20, -84, -86, -20, -84, -87, - -20, -84, -88, -20, -84, -89, -20, -84, -90, -20, -84, -91, -20, -84, -92, -20, -84, -93, -20, -84, - -94, -20, -84, -95, -20, -84, -96, -20, -84, -97, -20, -84, -98, -20, -84, -99, -20, -84,-100, -20, - -84,-101, -20, -84,-102, -20, -84,-103, -20, -84,-104, -20, -84,-105, -20, -84,-106, -20, -84,-107, - -20, -84,-108, -20, -84,-109, -20, -84,-110, -20, -84,-111, -20, -84,-112, -20, -84,-113, -20, -84, --114, -20, -84,-115, -20, -84,-116, -20, -84,-117, -20, -84,-118, -20, -84,-119, -20, -84,-120, -20, - -84,-121, -20, -84,-122, -20, -84,-123, -20, -84,-124, -20, -84,-125, -20, -84,-126, -20, -84,-127, - -20, -84,-128, -20, -85, -65, -20, -85, -66, -20, -85, -67, -20, -85, -68, -20, -85, -69, -20, -85, - -70, -20, -85, -71, -20, -85, -72, -20, -85, -73, -20, -85, -74, -20, -85, -75, -20, -85, -76, -20, - -85, -77, -20, -85, -78, -20, -85, -79, -20, -85, -80, -20, -85, -81, -20, -85, -82, -20, -85, -83, - -20, -85, -84, -20, -85, -85, -20, -85, -86, -20, -85, -87, -20, -85, -88, -20, -85, -89, -20, -85, - -90, -20, -85, -91, -20, -85, -92, -20, -85, -93, -20, -85, -94, -20, -85, -95, -20, -85, -96, -20, - -85, -97, -20, -85, -98, -20, -85, -99, -20, -85,-100, -20, -85,-101, -20, -85,-102, -20, -85,-103, - -20, -85,-104, -20, -85,-105, -20, -85,-106, -20, -85,-107, -20, -85,-108, -20, -85,-109, -20, -85, --110, -20, -85,-111, -20, -85,-112, -20, -85,-113, -20, -85,-114, -20, -85,-115, -20, -85,-116, -20, - -85,-117, -20, -85,-118, -20, -85,-119, -20, -85,-120, -20, -85,-121, -20, -85,-122, -20, -85,-123, - -20, -85,-124, -20, -85,-125, -20, -85,-126, -20, -85,-127, -20, -85,-128, -20, -86, -65, -20, -86, - -66, -20, -86, -67, -20, -86, -68, -20, -86, -69, -20, -86, -70, -20, -86, -71, -20, -86, -72, -20, - -86, -73, -20, -86, -74, -20, -86, -75, -20, -86, -76, -20, -86, -77, -20, -86, -78, -20, -86, -79, - -20, -86, -80, -20, -86, -81, -20, -86, -82, -20, -86, -83, -20, -86, -84, -20, -86, -85, -20, -86, - -86, -20, -86, -87, -20, -86, -88, -20, -86, -89, -20, -86, -90, -20, -86, -91, -20, -86, -92, -20, - -86, -93, -20, -86, -94, -20, -86, -95, -20, -86, -96, -20, -86, -97, -20, -86, -98, -20, -86, -99, - -20, -86,-100, -20, -86,-101, -20, -86,-102, -20, -86,-103, -20, -86,-104, -20, -86,-105, -20, -86, --106, -20, -86,-107, -20, -86,-108, -20, -86,-109, -20, -86,-110, -20, -86,-111, -20, -86,-112, -20, - -86,-113, -20, -86,-114, -20, -86,-115, -20, -86,-116, -20, -86,-117, -20, -86,-118, -20, -86,-119, - -20, -86,-120, -20, -86,-121, -20, -86,-122, -20, -86,-123, -20, -86,-124, -20, -86,-125, -20, -86, --126, -20, -86,-127, -20, -86,-128, -20, -87, -65, -20, -87, -66, -20, -87, -67, -20, -87, -68, -20, - -87, -69, -20, -87, -70, -20, -87, -71, -20, -87, -72, -20, -87, -73, -20, -87, -74, -20, -87, -75, - -20, -87, -76, -20, -87, -77, -20, -87, -78, -20, -87, -79, -20, -87, -80, -20, -87, -81, -20, -87, - -82, -20, -87, -83, -20, -87, -84, -20, -87, -85, -20, -87, -86, -20, -87, -87, -20, -87, -88, -20, - -87, -89, -20, -87, -90, -20, -87, -91, -20, -87, -92, -20, -87, -93, -20, -87, -94, -20, -87, -95, - -20, -87, -96, -20, -87, -97, -20, -87, -98, -20, -87, -99, -20, -87,-100, -20, -87,-101, -20, -87, --102, -20, -87,-103, -20, -87,-104, -20, -87,-105, -20, -87,-106, -20, -87,-107, -20, -87,-108, -20, - -87,-109, -20, -87,-110, -20, -87,-111, -20, -87,-112, -20, -87,-113, -20, -87,-114, -20, -87,-115, - -20, -87,-116, -20, -87,-117, -20, -87,-118, -20, -87,-119, -20, -87,-120, -20, -87,-121, -20, -87, --122, -20, -87,-123, -20, -87,-124, -20, -87,-125, -20, -87,-126, -20, -87,-127, -20, -87,-128, -20, - -88, -65, -20, -88, -66, -20, -88, -67, -20, -88, -68, -20, -88, -69, -20, -88, -70, -20, -88, -71, - -20, -88, -72, -20, -88, -73, -20, -88, -74, -20, -88, -75, -20, -88, -76, -20, -88, -77, -20, -88, - -78, -20, -88, -79, -20, -88, -80, -20, -88, -81, -20, -88, -82, -20, -88, -83, -20, -88, -84, -20, - -88, -85, -20, -88, -86, -20, -88, -87, -20, -88, -88, -20, -88, -89, -20, -88, -90, -20, -88, -91, - -20, -88, -92, -20, -88, -93, -20, -88, -94, -20, -88, -95, -20, -88, -96, -20, -88, -97, -20, -88, - -98, -20, -88, -99, -20, -88,-100, -20, -88,-101, -20, -88,-102, -20, -88,-103, -20, -88,-104, -20, - -88,-105, -20, -88,-106, -20, -88,-107, -20, -88,-108, -20, -88,-109, -20, -88,-110, -20, -88,-111, - -20, -88,-112, -20, -88,-113, -20, -88,-114, -20, -88,-115, -20, -88,-116, -20, -88,-117, -20, -88, --118, -20, -88,-119, -20, -88,-120, -20, -88,-121, -20, -88,-122, -20, -88,-123, -20, -88,-124, -20, - -88,-125, -20, -88,-126, -20, -88,-127, -20, -88,-128, -20, -89, -65, -20, -89, -66, -20, -89, -67, - -20, -89, -68, -20, -89, -69, -20, -89, -70, -20, -89, -71, -20, -89, -72, -20, -89, -73, -20, -89, - -74, -20, -89, -75, -20, -89, -76, -20, -89, -77, -20, -89, -78, -20, -89, -79, -20, -89, -80, -20, - -89, -81, -20, -89, -82, -20, -89, -83, -20, -89, -84, -20, -89, -85, -20, -89, -86, -20, -89, -87, - -20, -89, -88, -20, -89, -89, -20, -89, -90, -20, -89, -91, -20, -89, -92, -20, -89, -93, -20, -89, - -94, -20, -89, -95, -20, -89, -96, -20, -89, -97, -20, -89, -98, -20, -89, -99, -20, -89,-100, -20, - -89,-101, -20, -89,-102, -20, -89,-103, -20, -89,-104, -20, -89,-105, -20, -89,-106, -20, -89,-107, - -20, -89,-108, -20, -89,-109, -20, -89,-110, -20, -89,-111, -20, -89,-112, -20, -89,-113, -20, -89, --114, -20, -89,-115, -20, -89,-116, -20, -89,-117, -20, -89,-118, -20, -89,-119, -20, -89,-120, -20, - -89,-121, -20, -89,-122, -20, -89,-123, -20, -89,-124, -20, -89,-125, -20, -89,-126, -20, -89,-127, - -20, -89,-128, -20, -90, -65, -20, -90, -66, -20, -90, -67, -20, -90, -68, -20, -90, -69, -20, -90, - -70, -20, -90, -71, -20, -90, -72, -20, -90, -73, -20, -90, -74, -20, -90, -75, -20, -90, -76, -20, - -90, -77, -20, -90, -78, -20, -90, -79, -20, -90, -80, -20, -90, -81, -20, -90, -82, -20, -90, -83, - -20, -90, -84, -20, -90, -85, -20, -90, -86, -20, -90, -87, -20, -90, -88, -20, -90, -89, -20, -90, - -90, -20, -90, -91, -20, -90, -92, -20, -90, -93, -20, -90, -94, -20, -90, -95, -20, -90, -96, -20, - -90, -97, -20, -90, -98, -20, -90, -99, -20, -90,-100, -20, -90,-101, -20, -90,-102, -20, -90,-103, - -20, -90,-104, -20, -90,-105, -20, -90,-106, -20, -90,-107, -20, -90,-108, -20, -90,-109, -20, -90, --110, -20, -90,-111, -20, -90,-112, -20, -90,-113, -20, -90,-114, -20, -90,-115, -20, -90,-116, -20, - -90,-117, -20, -90,-118, -20, -90,-119, -20, -90,-120, -20, -90,-121, -20, -90,-122, -20, -90,-123, - -20, -90,-124, -20, -90,-125, -20, -90,-126, -20, -90,-127, -20, -90,-128, -20, -91, -65, -20, -91, - -66, -20, -91, -67, -20, -91, -68, -20, -91, -69, -20, -91, -70, -20, -91, -71, -20, -91, -72, -20, - -91, -73, -20, -91, -74, -20, -91, -75, -20, -91, -76, -20, -91, -77, -20, -91, -78, -20, -91, -79, - -20, -91, -80, -20, -91, -81, -20, -91, -82, -20, -91, -83, -20, -91, -84, -20, -91, -85, -20, -91, - -86, -20, -91, -87, -20, -91, -88, -20, -91, -89, -20, -91, -90, -20, -91, -91, -20, -91, -92, -20, - -91, -93, -20, -91, -94, -20, -91, -95, -20, -91, -96, -20, -91, -97, -20, -91, -98, -20, -91, -99, - -20, -91,-100, -20, -91,-101, -20, -91,-102, -20, -91,-103, -20, -91,-104, -20, -91,-105, -20, -91, --106, -20, -91,-107, -20, -91,-108, -20, -91,-109, -20, -91,-110, -20, -91,-111, -20, -91,-112, -20, - -91,-113, -20, -91,-114, -20, -91,-115, -20, -91,-116, -20, -91,-117, -20, -91,-118, -20, -91,-119, - -20, -91,-120, -20, -91,-121, -20, -91,-122, -20, -91,-123, -20, -91,-124, -20, -91,-125, -20, -91, --126, -20, -91,-127, -20, -91,-128, -20, -92, -65, -20, -92, -66, -20, -92, -67, -20, -92, -68, -20, - -92, -69, -20, -92, -70, -20, -92, -71, -20, -92, -72, -20, -92, -73, -20, -92, -74, -20, -92, -75, - -20, -92, -76, -20, -92, -77, -20, -92, -78, -20, -92, -79, -20, -92, -80, -20, -92, -81, -20, -92, - -82, -20, -92, -83, -20, -92, -84, -20, -92, -85, -20, -92, -86, -20, -92, -87, -20, -92, -88, -20, - -92, -89, -20, -92, -90, -20, -92, -91, -20, -92, -92, -20, -92, -93, -20, -92, -94, -20, -92, -95, - -20, -92, -96, -20, -92, -97, -20, -92, -98, -20, -92, -99, -20, -92,-100, -20, -92,-101, -20, -92, --102, -20, -92,-103, -20, -92,-104, -20, -92,-105, -20, -92,-106, -20, -92,-107, -20, -92,-108, -20, - -92,-109, -20, -92,-110, -20, -92,-111, -20, -92,-112, -20, -92,-113, -20, -92,-114, -20, -92,-115, - -20, -92,-116, -20, -92,-117, -20, -92,-118, -20, -92,-119, -20, -92,-120, -20, -92,-121, -20, -92, --122, -20, -92,-123, -20, -92,-124, -20, -92,-125, -20, -92,-126, -20, -92,-127, -20, -92,-128, -20, - -93, -65, -20, -93, -66, -20, -93, -67, -20, -93, -68, -20, -93, -69, -20, -93, -70, -20, -93, -71, - -20, -93, -72, -20, -93, -73, -20, -93, -74, -20, -93, -75, -20, -93, -76, -20, -93, -77, -20, -93, - -78, -20, -93, -79, -20, -93, -80, -20, -93, -81, -20, -93, -82, -20, -93, -83, -20, -93, -84, -20, - -93, -85, -20, -93, -86, -20, -93, -87, -20, -93, -88, -20, -93, -89, -20, -93, -90, -20, -93, -91, - -20, -93, -92, -20, -93, -93, -20, -93, -94, -20, -93, -95, -20, -93, -96, -20, -93, -97, -20, -93, - -98, -20, -93, -99, -20, -93,-100, -20, -93,-101, -20, -93,-102, -20, -93,-103, -20, -93,-104, -20, - -93,-105, -20, -93,-106, -20, -93,-107, -20, -93,-108, -20, -93,-109, -20, -93,-110, -20, -93,-111, - -20, -93,-112, -20, -93,-113, -20, -93,-114, -20, -93,-115, -20, -93,-116, -20, -93,-117, -20, -93, --118, -20, -93,-119, -20, -93,-120, -20, -93,-121, -20, -93,-122, -20, -93,-123, -20, -93,-124, -20, - -93,-125, -20, -93,-126, -20, -93,-127, -20, -93,-128, -20, -94, -65, -20, -94, -66, -20, -94, -67, - -20, -94, -68, -20, -94, -69, -20, -94, -70, -20, -94, -71, -20, -94, -72, -20, -94, -73, -20, -94, - -74, -20, -94, -75, -20, -94, -76, -20, -94, -77, -20, -94, -78, -20, -94, -79, -20, -94, -80, -20, - -94, -81, -20, -94, -82, -20, -94, -83, -20, -94, -84, -20, -94, -85, -20, -94, -86, -20, -94, -87, - -20, -94, -88, -20, -94, -89, -20, -94, -90, -20, -94, -91, -20, -94, -92, -20, -94, -93, -20, -94, - -94, -20, -94, -95, -20, -94, -96, -20, -94, -97, -20, -94, -98, -20, -94, -99, -20, -94,-100, -20, - -94,-101, -20, -94,-102, -20, -94,-103, -20, -94,-104, -20, -94,-105, -20, -94,-106, -20, -94,-107, - -20, -94,-108, -20, -94,-109, -20, -94,-110, -20, -94,-111, -20, -94,-112, -20, -94,-113, -20, -94, --114, -20, -94,-115, -20, -94,-116, -20, -94,-117, -20, -94,-118, -20, -94,-119, -20, -94,-120, -20, - -94,-121, -20, -94,-122, -20, -94,-123, -20, -94,-124, -20, -94,-125, -20, -94,-126, -20, -94,-127, - -20, -94,-128, -20, -95, -65, -20, -95, -66, -20, -95, -67, -20, -95, -68, -20, -95, -69, -20, -95, - -70, -20, -95, -71, -20, -95, -72, -20, -95, -73, -20, -95, -74, -20, -95, -75, -20, -95, -76, -20, - -95, -77, -20, -95, -78, -20, -95, -79, -20, -95, -80, -20, -95, -81, -20, -95, -82, -20, -95, -83, - -20, -95, -84, -20, -95, -85, -20, -95, -86, -20, -95, -87, -20, -95, -88, -20, -95, -89, -20, -95, - -90, -20, -95, -91, -20, -95, -92, -20, -95, -93, -20, -95, -94, -20, -95, -95, -20, -95, -96, -20, - -95, -97, -20, -95, -98, -20, -95, -99, -20, -95,-100, -20, -95,-101, -20, -95,-102, -20, -95,-103, - -20, -95,-104, -20, -95,-105, -20, -95,-106, -20, -95,-107, -20, -95,-108, -20, -95,-109, -20, -95, --110, -20, -95,-111, -20, -95,-112, -20, -95,-113, -20, -95,-114, -20, -95,-115, -20, -95,-116, -20, - -95,-117, -20, -95,-118, -20, -95,-119, -20, -95,-120, -20, -95,-121, -20, -95,-122, -20, -95,-123, - -20, -95,-124, -20, -95,-125, -20, -95,-126, -20, -95,-127, -20, -95,-128, -20, -96, -65, -20, -96, - -66, -20, -96, -67, -20, -96, -68, -20, -96, -69, -20, -96, -70, -20, -96, -71, -20, -96, -72, -20, - -96, -73, -20, -96, -74, -20, -96, -75, -20, -96, -76, -20, -96, -77, -20, -96, -78, -20, -96, -79, - -20, -96, -80, -20, -96, -81, -20, -96, -82, -20, -96, -83, -20, -96, -84, -20, -96, -85, -20, -96, - -86, -20, -96, -87, -20, -96, -88, -20, -96, -89, -20, -96, -90, -20, -96, -91, -20, -96, -92, -20, - -96, -93, -20, -96, -94, -20, -96, -95, -20, -96, -96, -20, -96, -97, -20, -96, -98, -20, -96, -99, - -20, -96,-100, -20, -96,-101, -20, -96,-102, -20, -96,-103, -20, -96,-104, -20, -96,-105, -20, -96, --106, -20, -96,-107, -20, -96,-108, -20, -96,-109, -20, -96,-110, -20, -96,-111, -20, -96,-112, -20, - -96,-113, -20, -96,-114, -20, -96,-115, -20, -96,-116, -20, -96,-117, -20, -96,-118, -20, -96,-119, - -20, -96,-120, -20, -96,-121, -20, -96,-122, -20, -96,-123, -20, -96,-124, -20, -96,-125, -20, -96, --126, -20, -96,-127, -20, -96,-128, -20, -97, -65, -20, -97, -66, -20, -97, -67, -20, -97, -68, -20, - -97, -69, -20, -97, -70, -20, -97, -71, -20, -97, -72, -20, -97, -73, -20, -97, -74, -20, -97, -75, - -20, -97, -76, -20, -97, -77, -20, -97, -78, -20, -97, -79, -20, -97, -80, -20, -97, -81, -20, -97, - -82, -20, -97, -83, -20, -97, -84, -20, -97, -85, -20, -97, -86, -20, -97, -87, -20, -97, -88, -20, - -97, -89, -20, -97, -90, -20, -97, -91, -20, -97, -92, -20, -97, -93, -20, -97, -94, -20, -97, -95, - -20, -97, -96, -20, -97, -97, -20, -97, -98, -20, -97, -99, -20, -97,-100, -20, -97,-101, -20, -97, --102, -20, -97,-103, -20, -97,-104, -20, -97,-105, -20, -97,-106, -20, -97,-107, -20, -97,-108, -20, - -97,-109, -20, -97,-110, -20, -97,-111, -20, -97,-112, -20, -97,-113, -20, -97,-114, -20, -97,-115, - -20, -97,-116, -20, -97,-117, -20, -97,-118, -20, -97,-119, -20, -97,-120, -20, -97,-121, -20, -97, --122, -20, -97,-123, -20, -97,-124, -20, -97,-125, -20, -97,-126, -20, -97,-127, -20, -97,-128, -20, - -98, -65, -20, -98, -66, -20, -98, -67, -20, -98, -68, -20, -98, -69, -20, -98, -70, -20, -98, -71, - -20, -98, -72, -20, -98, -73, -20, -98, -74, -20, -98, -75, -20, -98, -76, -20, -98, -77, -20, -98, - -78, -20, -98, -79, -20, -98, -80, -20, -98, -81, -20, -98, -82, -20, -98, -83, -20, -98, -84, -20, - -98, -85, -20, -98, -86, -20, -98, -87, -20, -98, -88, -20, -98, -89, -20, -98, -90, -20, -98, -91, - -20, -98, -92, -20, -98, -93, -20, -98, -94, -20, -98, -95, -20, -98, -96, -20, -98, -97, -20, -98, - -98, -20, -98, -99, -20, -98,-100, -20, -98,-101, -20, -98,-102, -20, -98,-103, -20, -98,-104, -20, - -98,-105, -20, -98,-106, -20, -98,-107, -20, -98,-108, -20, -98,-109, -20, -98,-110, -20, -98,-111, - -20, -98,-112, -20, -98,-113, -20, -98,-114, -20, -98,-115, -20, -98,-116, -20, -98,-117, -20, -98, --118, -20, -98,-119, -20, -98,-120, -20, -98,-121, -20, -98,-122, -20, -98,-123, -20, -98,-124, -20, - -98,-125, -20, -98,-126, -20, -98,-127, -20, -98,-128, -20, -99, -65, -20, -99, -66, -20, -99, -67, - -20, -99, -68, -20, -99, -69, -20, -99, -70, -20, -99, -71, -20, -99, -72, -20, -99, -73, -20, -99, - -74, -20, -99, -75, -20, -99, -76, -20, -99, -77, -20, -99, -78, -20, -99, -79, -20, -99, -80, -20, - -99, -81, -20, -99, -82, -20, -99, -83, -20, -99, -84, -20, -99, -85, -20, -99, -86, -20, -99, -87, - -20, -99, -88, -20, -99, -89, -20, -99, -90, -20, -99, -91, -20, -99, -92, -20, -99, -93, -20, -99, - -94, -20, -99, -95, -20, -99, -96, -20, -99, -97, -20, -99, -98, -20, -99, -99, -20, -99,-100, -20, - -99,-101, -20, -99,-102, -20, -99,-103, -20, -99,-104, -20, -99,-105, -20, -99,-106, -20, -99,-107, - -20, -99,-108, -20, -99,-109, -20, -99,-110, -20, -99,-111, -20, -99,-112, -20, -99,-113, -20, -99, --114, -20, -99,-115, -20, -99,-116, -20, -99,-117, -20, -99,-118, -20, -99,-119, -20, -99,-120, -20, - -99,-121, -20, -99,-122, -20, -99,-123, -20, -99,-124, -20, -99,-125, -20, -99,-126, -20, -99,-127, - -20, -99,-128, -20,-100, -65, -20,-100, -66, -20,-100, -67, -20,-100, -68, -20,-100, -69, -20,-100, - -70, -20,-100, -71, -20,-100, -72, -20,-100, -73, -20,-100, -74, -20,-100, -75, -20,-100, -76, -20, --100, -77, -20,-100, -78, -20,-100, -79, -20,-100, -80, -20,-100, -81, -20,-100, -82, -20,-100, -83, - -20,-100, -84, -20,-100, -85, -20,-100, -86, -20,-100, -87, -20,-100, -88, -20,-100, -89, -20,-100, - -90, -20,-100, -91, -20,-100, -92, -20,-100, -93, -20,-100, -94, -20,-100, -95, -20,-100, -96, -20, --100, -97, -20,-100, -98, -20,-100, -99, -20,-100,-100, -20,-100,-101, -20,-100,-102, -20,-100,-103, - -20,-100,-104, -20,-100,-105, -20,-100,-106, -20,-100,-107, -20,-100,-108, -20,-100,-109, -20,-100, --110, -20,-100,-111, -20,-100,-112, -20,-100,-113, -20,-100,-114, -20,-100,-115, -20,-100,-116, -20, --100,-117, -20,-100,-118, -20,-100,-119, -20,-100,-120, -20,-100,-121, -20,-100,-122, -20,-100,-123, - -20,-100,-124, -20,-100,-125, -20,-100,-126, -20,-100,-127, -20,-100,-128, -20,-101, -65, -20,-101, - -66, -20,-101, -67, -20,-101, -68, -20,-101, -69, -20,-101, -70, -20,-101, -71, -20,-101, -72, -20, --101, -73, -20,-101, -74, -20,-101, -75, -20,-101, -76, -20,-101, -77, -20,-101, -78, -20,-101, -79, - -20,-101, -80, -20,-101, -81, -20,-101, -82, -20,-101, -83, -20,-101, -84, -20,-101, -85, -20,-101, - -86, -20,-101, -87, -20,-101, -88, -20,-101, -89, -20,-101, -90, -20,-101, -91, -20,-101, -92, -20, --101, -93, -20,-101, -94, -20,-101, -95, -20,-101, -96, -20,-101, -97, -20,-101, -98, -20,-101, -99, - -20,-101,-100, -20,-101,-101, -20,-101,-102, -20,-101,-103, -20,-101,-104, -20,-101,-105, -20,-101, --106, -20,-101,-107, -20,-101,-108, -20,-101,-109, -20,-101,-110, -20,-101,-111, -20,-101,-112, -20, --101,-113, -20,-101,-114, -20,-101,-115, -20,-101,-116, -20,-101,-117, -20,-101,-118, -20,-101,-119, - -20,-101,-120, -20,-101,-121, -20,-101,-122, -20,-101,-123, -20,-101,-124, -20,-101,-125, -20,-101, --126, -20,-101,-127, -20,-101,-128, -20,-102, -65, -20,-102, -66, -20,-102, -67, -20,-102, -68, -20, --102, -69, -20,-102, -70, -20,-102, -71, -20,-102, -72, -20,-102, -73, -20,-102, -74, -20,-102, -75, - -20,-102, -76, -20,-102, -77, -20,-102, -78, -20,-102, -79, -20,-102, -80, -20,-102, -81, -20,-102, - -82, -20,-102, -83, -20,-102, -84, -20,-102, -85, -20,-102, -86, -20,-102, -87, -20,-102, -88, -20, --102, -89, -20,-102, -90, -20,-102, -91, -20,-102, -92, -20,-102, -93, -20,-102, -94, -20,-102, -95, - -20,-102, -96, -20,-102, -97, -20,-102, -98, -20,-102, -99, -20,-102,-100, -20,-102,-101, -20,-102, --102, -20,-102,-103, -20,-102,-104, -20,-102,-105, -20,-102,-106, -20,-102,-107, -20,-102,-108, -20, --102,-109, -20,-102,-110, -20,-102,-111, -20,-102,-112, -20,-102,-113, -20,-102,-114, -20,-102,-115, - -20,-102,-116, -20,-102,-117, -20,-102,-118, -20,-102,-119, -20,-102,-120, -20,-102,-121, -20,-102, --122, -20,-102,-123, -20,-102,-124, -20,-102,-125, -20,-102,-126, -20,-102,-127, -20,-102,-128, -20, --103, -65, -20,-103, -66, -20,-103, -67, -20,-103, -68, -20,-103, -69, -20,-103, -70, -20,-103, -71, - -20,-103, -72, -20,-103, -73, -20,-103, -74, -20,-103, -75, -20,-103, -76, -20,-103, -77, -20,-103, - -78, -20,-103, -79, -20,-103, -80, -20,-103, -81, -20,-103, -82, -20,-103, -83, -20,-103, -84, -20, --103, -85, -20,-103, -86, -20,-103, -87, -20,-103, -88, -20,-103, -89, -20,-103, -90, -20,-103, -91, - -20,-103, -92, -20,-103, -93, -20,-103, -94, -20,-103, -95, -20,-103, -96, -20,-103, -97, -20,-103, - -98, -20,-103, -99, -20,-103,-100, -20,-103,-101, -20,-103,-102, -20,-103,-103, -20,-103,-104, -20, --103,-105, -20,-103,-106, -20,-103,-107, -20,-103,-108, -20,-103,-109, -20,-103,-110, -20,-103,-111, - -20,-103,-112, -20,-103,-113, -20,-103,-114, -20,-103,-115, -20,-103,-116, -20,-103,-117, -20,-103, --118, -20,-103,-119, -20,-103,-120, -20,-103,-121, -20,-103,-122, -20,-103,-123, -20,-103,-124, -20, --103,-125, -20,-103,-126, -20,-103,-127, -20,-103,-128, -20,-104, -65, -20,-104, -66, -20,-104, -67, - -20,-104, -68, -20,-104, -69, -20,-104, -70, -20,-104, -71, -20,-104, -72, -20,-104, -73, -20,-104, - -74, -20,-104, -75, -20,-104, -76, -20,-104, -77, -20,-104, -78, -20,-104, -79, -20,-104, -80, -20, --104, -81, -20,-104, -82, -20,-104, -83, -20,-104, -84, -20,-104, -85, -20,-104, -86, -20,-104, -87, - -20,-104, -88, -20,-104, -89, -20,-104, -90, -20,-104, -91, -20,-104, -92, -20,-104, -93, -20,-104, - -94, -20,-104, -95, -20,-104, -96, -20,-104, -97, -20,-104, -98, -20,-104, -99, -20,-104,-100, -20, --104,-101, -20,-104,-102, -20,-104,-103, -20,-104,-104, -20,-104,-105, -20,-104,-106, -20,-104,-107, - -20,-104,-108, -20,-104,-109, -20,-104,-110, -20,-104,-111, -20,-104,-112, -20,-104,-113, -20,-104, --114, -20,-104,-115, -20,-104,-116, -20,-104,-117, -20,-104,-118, -20,-104,-119, -20,-104,-120, -20, --104,-121, -20,-104,-122, -20,-104,-123, -20,-104,-124, -20,-104,-125, -20,-104,-126, -20,-104,-127, - -20,-104,-128, -20,-105, -65, -20,-105, -66, -20,-105, -67, -20,-105, -68, -20,-105, -69, -20,-105, - -70, -20,-105, -71, -20,-105, -72, -20,-105, -73, -20,-105, -74, -20,-105, -75, -20,-105, -76, -20, --105, -77, -20,-105, -78, -20,-105, -79, -20,-105, -80, -20,-105, -81, -20,-105, -82, -20,-105, -83, - -20,-105, -84, -20,-105, -85, -20,-105, -86, -20,-105, -87, -20,-105, -88, -20,-105, -89, -20,-105, - -90, -20,-105, -91, -20,-105, -92, -20,-105, -93, -20,-105, -94, -20,-105, -95, -20,-105, -96, -20, --105, -97, -20,-105, -98, -20,-105, -99, -20,-105,-100, -20,-105,-101, -20,-105,-102, -20,-105,-103, - -20,-105,-104, -20,-105,-105, -20,-105,-106, -20,-105,-107, -20,-105,-108, -20,-105,-109, -20,-105, --110, -20,-105,-111, -20,-105,-112, -20,-105,-113, -20,-105,-114, -20,-105,-115, -20,-105,-116, -20, --105,-117, -20,-105,-118, -20,-105,-119, -20,-105,-120, -20,-105,-121, -20,-105,-122, -20,-105,-123, - -20,-105,-124, -20,-105,-125, -20,-105,-126, -20,-105,-127, -20,-105,-128, -20,-106, -65, -20,-106, - -66, -20,-106, -67, -20,-106, -68, -20,-106, -69, -20,-106, -70, -20,-106, -71, -20,-106, -72, -20, --106, -73, -20,-106, -74, -20,-106, -75, -20,-106, -76, -20,-106, -77, -20,-106, -78, -20,-106, -79, - -20,-106, -80, -20,-106, -81, -20,-106, -82, -20,-106, -83, -20,-106, -84, -20,-106, -85, -20,-106, - -86, -20,-106, -87, -20,-106, -88, -20,-106, -89, -20,-106, -90, -20,-106, -91, -20,-106, -92, -20, --106, -93, -20,-106, -94, -20,-106, -95, -20,-106, -96, -20,-106, -97, -20,-106, -98, -20,-106, -99, - -20,-106,-100, -20,-106,-101, -20,-106,-102, -20,-106,-103, -20,-106,-104, -20,-106,-105, -20,-106, --106, -20,-106,-107, -20,-106,-108, -20,-106,-109, -20,-106,-110, -20,-106,-111, -20,-106,-112, -20, --106,-113, -20,-106,-114, -20,-106,-115, -20,-106,-116, -20,-106,-117, -20,-106,-118, -20,-106,-119, - -20,-106,-120, -20,-106,-121, -20,-106,-122, -20,-106,-123, -20,-106,-124, -20,-106,-125, -20,-106, --126, -20,-106,-127, -20,-106,-128, -20,-107, -65, -20,-107, -66, -20,-107, -67, -20,-107, -68, -20, --107, -69, -20,-107, -70, -20,-107, -71, -20,-107, -72, -20,-107, -73, -20,-107, -74, -20,-107, -75, - -20,-107, -76, -20,-107, -77, -20,-107, -78, -20,-107, -79, -20,-107, -80, -20,-107, -81, -20,-107, - -82, -20,-107, -83, -20,-107, -84, -20,-107, -85, -20,-107, -86, -20,-107, -87, -20,-107, -88, -20, --107, -89, -20,-107, -90, -20,-107, -91, -20,-107, -92, -20,-107, -93, -20,-107, -94, -20,-107, -95, - -20,-107, -96, -20,-107, -97, -20,-107, -98, -20,-107, -99, -20,-107,-100, -20,-107,-101, -20,-107, --102, -20,-107,-103, -20,-107,-104, -20,-107,-105, -20,-107,-106, -20,-107,-107, -20,-107,-108, -20, --107,-109, -20,-107,-110, -20,-107,-111, -20,-107,-112, -20,-107,-113, -20,-107,-114, -20,-107,-115, - -20,-107,-116, -20,-107,-117, -20,-107,-118, -20,-107,-119, -20,-107,-120, -20,-107,-121, -20,-107, --122, -20,-107,-123, -20,-107,-124, -20,-107,-125, -20,-107,-126, -20,-107,-127, -20,-107,-128, -20, --108, -65, -20,-108, -66, -20,-108, -67, -20,-108, -68, -20,-108, -69, -20,-108, -70, -20,-108, -71, - -20,-108, -72, -20,-108, -73, -20,-108, -74, -20,-108, -75, -20,-108, -76, -20,-108, -77, -20,-108, - -78, -20,-108, -79, -20,-108, -80, -20,-108, -81, -20,-108, -82, -20,-108, -83, -20,-108, -84, -20, --108, -85, -20,-108, -86, -20,-108, -87, -20,-108, -88, -20,-108, -89, -20,-108, -90, -20,-108, -91, - -20,-108, -92, -20,-108, -93, -20,-108, -94, -20,-108, -95, -20,-108, -96, -20,-108, -97, -20,-108, - -98, -20,-108, -99, -20,-108,-100, -20,-108,-101, -20,-108,-102, -20,-108,-103, -20,-108,-104, -20, --108,-105, -20,-108,-106, -20,-108,-107, -20,-108,-108, -20,-108,-109, -20,-108,-110, -20,-108,-111, - -20,-108,-112, -20,-108,-113, -20,-108,-114, -20,-108,-115, -20,-108,-116, -20,-108,-117, -20,-108, --118, -20,-108,-119, -20,-108,-120, -20,-108,-121, -20,-108,-122, -20,-108,-123, -20,-108,-124, -20, --108,-125, -20,-108,-126, -20,-108,-127, -20,-108,-128, -20,-109, -65, -20,-109, -66, -20,-109, -67, - -20,-109, -68, -20,-109, -69, -20,-109, -70, -20,-109, -71, -20,-109, -72, -20,-109, -73, -20,-109, - -74, -20,-109, -75, -20,-109, -76, -20,-109, -77, -20,-109, -78, -20,-109, -79, -20,-109, -80, -20, --109, -81, -20,-109, -82, -20,-109, -83, -20,-109, -84, -20,-109, -85, -20,-109, -86, -20,-109, -87, - -20,-109, -88, -20,-109, -89, -20,-109, -90, -20,-109, -91, -20,-109, -92, -20,-109, -93, -20,-109, - -94, -20,-109, -95, -20,-109, -96, -20,-109, -97, -20,-109, -98, -20,-109, -99, -20,-109,-100, -20, --109,-101, -20,-109,-102, -20,-109,-103, -20,-109,-104, -20,-109,-105, -20,-109,-106, -20,-109,-107, - -20,-109,-108, -20,-109,-109, -20,-109,-110, -20,-109,-111, -20,-109,-112, -20,-109,-113, -20,-109, --114, -20,-109,-115, -20,-109,-116, -20,-109,-117, -20,-109,-118, -20,-109,-119, -20,-109,-120, -20, --109,-121, -20,-109,-122, -20,-109,-123, -20,-109,-124, -20,-109,-125, -20,-109,-126, -20,-109,-127, - -20,-109,-128, -20,-110, -65, -20,-110, -66, -20,-110, -67, -20,-110, -68, -20,-110, -69, -20,-110, - -70, -20,-110, -71, -20,-110, -72, -20,-110, -73, -20,-110, -74, -20,-110, -75, -20,-110, -76, -20, --110, -77, -20,-110, -78, -20,-110, -79, -20,-110, -80, -20,-110, -81, -20,-110, -82, -20,-110, -83, - -20,-110, -84, -20,-110, -85, -20,-110, -86, -20,-110, -87, -20,-110, -88, -20,-110, -89, -20,-110, - -90, -20,-110, -91, -20,-110, -92, -20,-110, -93, -20,-110, -94, -20,-110, -95, -20,-110, -96, -20, --110, -97, -20,-110, -98, -20,-110, -99, -20,-110,-100, -20,-110,-101, -20,-110,-102, -20,-110,-103, - -20,-110,-104, -20,-110,-105, -20,-110,-106, -20,-110,-107, -20,-110,-108, -20,-110,-109, -20,-110, --110, -20,-110,-111, -20,-110,-112, -20,-110,-113, -20,-110,-114, -20,-110,-115, -20,-110,-116, -20, --110,-117, -20,-110,-118, -20,-110,-119, -20,-110,-120, -20,-110,-121, -20,-110,-122, -20,-110,-123, - -20,-110,-124, -20,-110,-125, -20,-110,-126, -20,-110,-127, -20,-110,-128, -20,-111, -65, -20,-111, - -66, -20,-111, -67, -20,-111, -68, -20,-111, -69, -20,-111, -70, -20,-111, -71, -20,-111, -72, -20, --111, -73, -20,-111, -74, -20,-111, -75, -20,-111, -76, -20,-111, -77, -20,-111, -78, -20,-111, -79, - -20,-111, -80, -20,-111, -81, -20,-111, -82, -20,-111, -83, -20,-111, -84, -20,-111, -85, -20,-111, - -86, -20,-111, -87, -20,-111, -88, -20,-111, -89, -20,-111, -90, -20,-111, -91, -20,-111, -92, -20, --111, -93, -20,-111, -94, -20,-111, -95, -20,-111, -96, -20,-111, -97, -20,-111, -98, -20,-111, -99, - -20,-111,-100, -20,-111,-101, -20,-111,-102, -20,-111,-103, -20,-111,-104, -20,-111,-105, -20,-111, --106, -20,-111,-107, -20,-111,-108, -20,-111,-109, -20,-111,-110, -20,-111,-111, -20,-111,-112, -20, --111,-113, -20,-111,-114, -20,-111,-115, -20,-111,-116, -20,-111,-117, -20,-111,-118, -20,-111,-119, - -20,-111,-120, -20,-111,-121, -20,-111,-122, -20,-111,-123, -20,-111,-124, -20,-111,-125, -20,-111, --126, -20,-111,-127, -20,-111,-128, -20,-112, -65, -20,-112, -66, -20,-112, -67, -20,-112, -68, -20, --112, -69, -20,-112, -70, -20,-112, -71, -20,-112, -72, -20,-112, -73, -20,-112, -74, -20,-112, -75, - -20,-112, -76, -20,-112, -77, -20,-112, -78, -20,-112, -79, -20,-112, -80, -20,-112, -81, -20,-112, - -82, -20,-112, -83, -20,-112, -84, -20,-112, -85, -20,-112, -86, -20,-112, -87, -20,-112, -88, -20, --112, -89, -20,-112, -90, -20,-112, -91, -20,-112, -92, -20,-112, -93, -20,-112, -94, -20,-112, -95, - -20,-112, -96, -20,-112, -97, -20,-112, -98, -20,-112, -99, -20,-112,-100, -20,-112,-101, -20,-112, --102, -20,-112,-103, -20,-112,-104, -20,-112,-105, -20,-112,-106, -20,-112,-107, -20,-112,-108, -20, --112,-109, -20,-112,-110, -20,-112,-111, -20,-112,-112, -20,-112,-113, -20,-112,-114, -20,-112,-115, - -20,-112,-116, -20,-112,-117, -20,-112,-118, -20,-112,-119, -20,-112,-120, -20,-112,-121, -20,-112, --122, -20,-112,-123, -20,-112,-124, -20,-112,-125, -20,-112,-126, -20,-112,-127, -20,-112,-128, -20, --113, -65, -20,-113, -66, -20,-113, -67, -20,-113, -68, -20,-113, -69, -20,-113, -70, -20,-113, -71, - -20,-113, -72, -20,-113, -73, -20,-113, -74, -20,-113, -75, -20,-113, -76, -20,-113, -77, -20,-113, - -78, -20,-113, -79, -20,-113, -80, -20,-113, -81, -20,-113, -82, -20,-113, -83, -20,-113, -84, -20, --113, -85, -20,-113, -86, -20,-113, -87, -20,-113, -88, -20,-113, -89, -20,-113, -90, -20,-113, -91, - -20,-113, -92, -20,-113, -93, -20,-113, -94, -20,-113, -95, -20,-113, -96, -20,-113, -97, -20,-113, - -98, -20,-113, -99, -20,-113,-100, -20,-113,-101, -20,-113,-102, -20,-113,-103, -20,-113,-104, -20, --113,-105, -20,-113,-106, -20,-113,-107, -20,-113,-108, -20,-113,-109, -20,-113,-110, -20,-113,-111, - -20,-113,-112, -20,-113,-113, -20,-113,-114, -20,-113,-115, -20,-113,-116, -20,-113,-117, -20,-113, --118, -20,-113,-119, -20,-113,-120, -20,-113,-121, -20,-113,-122, -20,-113,-123, -20,-113,-124, -20, --113,-125, -20,-113,-126, -20,-113,-127, -20,-113,-128, -20,-114, -65, -20,-114, -66, -20,-114, -67, - -20,-114, -68, -20,-114, -69, -20,-114, -70, -20,-114, -71, -20,-114, -72, -20,-114, -73, -20,-114, - -74, -20,-114, -75, -20,-114, -76, -20,-114, -77, -20,-114, -78, -20,-114, -79, -20,-114, -80, -20, --114, -81, -20,-114, -82, -20,-114, -83, -20,-114, -84, -20,-114, -85, -20,-114, -86, -20,-114, -87, - -20,-114, -88, -20,-114, -89, -20,-114, -90, -20,-114, -91, -20,-114, -92, -20,-114, -93, -20,-114, - -94, -20,-114, -95, -20,-114, -96, -20,-114, -97, -20,-114, -98, -20,-114, -99, -20,-114,-100, -20, --114,-101, -20,-114,-102, -20,-114,-103, -20,-114,-104, -20,-114,-105, -20,-114,-106, -20,-114,-107, - -20,-114,-108, -20,-114,-109, -20,-114,-110, -20,-114,-111, -20,-114,-112, -20,-114,-113, -20,-114, --114, -20,-114,-115, -20,-114,-116, -20,-114,-117, -20,-114,-118, -20,-114,-119, -20,-114,-120, -20, --114,-121, -20,-114,-122, -20,-114,-123, -20,-114,-124, -20,-114,-125, -20,-114,-126, -20,-114,-127, - -20,-114,-128, -20,-115, -65, -20,-115, -66, -20,-115, -67, -20,-115, -68, -20,-115, -69, -20,-115, - -70, -20,-115, -71, -20,-115, -72, -20,-115, -73, -20,-115, -74, -20,-115, -75, -20,-115, -76, -20, --115, -77, -20,-115, -78, -20,-115, -79, -20,-115, -80, -20,-115, -81, -20,-115, -82, -20,-115, -83, - -20,-115, -84, -20,-115, -85, -20,-115, -86, -20,-115, -87, -20,-115, -88, -20,-115, -89, -20,-115, - -90, -20,-115, -91, -20,-115, -92, -20,-115, -93, -20,-115, -94, -20,-115, -95, -20,-115, -96, -20, --115, -97, -20,-115, -98, -20,-115, -99, -20,-115,-100, -20,-115,-101, -20,-115,-102, -20,-115,-103, - -20,-115,-104, -20,-115,-105, -20,-115,-106, -20,-115,-107, -20,-115,-108, -20,-115,-109, -20,-115, --110, -20,-115,-111, -20,-115,-112, -20,-115,-113, -20,-115,-114, -20,-115,-115, -20,-115,-116, -20, --115,-117, -20,-115,-118, -20,-115,-119, -20,-115,-120, -20,-115,-121, -20,-115,-122, -20,-115,-123, - -20,-115,-124, -20,-115,-125, -20,-115,-126, -20,-115,-127, -20,-115,-128, -20,-116, -65, -20,-116, - -66, -20,-116, -67, -20,-116, -68, -20,-116, -69, -20,-116, -70, -20,-116, -71, -20,-116, -72, -20, --116, -73, -20,-116, -74, -20,-116, -75, -20,-116, -76, -20,-116, -77, -20,-116, -78, -20,-116, -79, - -20,-116, -80, -20,-116, -81, -20,-116, -82, -20,-116, -83, -20,-116, -84, -20,-116, -85, -20,-116, - -86, -20,-116, -87, -20,-116, -88, -20,-116, -89, -20,-116, -90, -20,-116, -91, -20,-116, -92, -20, --116, -93, -20,-116, -94, -20,-116, -95, -20,-116, -96, -20,-116, -97, -20,-116, -98, -20,-116, -99, - -20,-116,-100, -20,-116,-101, -20,-116,-102, -20,-116,-103, -20,-116,-104, -20,-116,-105, -20,-116, --106, -20,-116,-107, -20,-116,-108, -20,-116,-109, -20,-116,-110, -20,-116,-111, -20,-116,-112, -20, --116,-113, -20,-116,-114, -20,-116,-115, -20,-116,-116, -20,-116,-117, -20,-116,-118, -20,-116,-119, - -20,-116,-120, -20,-116,-121, -20,-116,-122, -20,-116,-123, -20,-116,-124, -20,-116,-125, -20,-116, --126, -20,-116,-127, -20,-116,-128, -20,-117, -65, -20,-117, -66, -20,-117, -67, -20,-117, -68, -20, --117, -69, -20,-117, -70, -20,-117, -71, -20,-117, -72, -20,-117, -73, -20,-117, -74, -20,-117, -75, - -20,-117, -76, -20,-117, -77, -20,-117, -78, -20,-117, -79, -20,-117, -80, -20,-117, -81, -20,-117, - -82, -20,-117, -83, -20,-117, -84, -20,-117, -85, -20,-117, -86, -20,-117, -87, -20,-117, -88, -20, --117, -89, -20,-117, -90, -20,-117, -91, -20,-117, -92, -20,-117, -93, -20,-117, -94, -20,-117, -95, - -20,-117, -96, -20,-117, -97, -20,-117, -98, -20,-117, -99, -20,-117,-100, -20,-117,-101, -20,-117, --102, -20,-117,-103, -20,-117,-104, -20,-117,-105, -20,-117,-106, -20,-117,-107, -20,-117,-108, -20, --117,-109, -20,-117,-110, -20,-117,-111, -20,-117,-112, -20,-117,-113, -20,-117,-114, -20,-117,-115, - -20,-117,-116, -20,-117,-117, -20,-117,-118, -20,-117,-119, -20,-117,-120, -20,-117,-121, -20,-117, --122, -20,-117,-123, -20,-117,-124, -20,-117,-125, -20,-117,-126, -20,-117,-127, -20,-117,-128, -20, --118, -65, -20,-118, -66, -20,-118, -67, -20,-118, -68, -20,-118, -69, -20,-118, -70, -20,-118, -71, - -20,-118, -72, -20,-118, -73, -20,-118, -74, -20,-118, -75, -20,-118, -76, -20,-118, -77, -20,-118, - -78, -20,-118, -79, -20,-118, -80, -20,-118, -81, -20,-118, -82, -20,-118, -83, -20,-118, -84, -20, --118, -85, -20,-118, -86, -20,-118, -87, -20,-118, -88, -20,-118, -89, -20,-118, -90, -20,-118, -91, - -20,-118, -92, -20,-118, -93, -20,-118, -94, -20,-118, -95, -20,-118, -96, -20,-118, -97, -20,-118, - -98, -20,-118, -99, -20,-118,-100, -20,-118,-101, -20,-118,-102, -20,-118,-103, -20,-118,-104, -20, --118,-105, -20,-118,-106, -20,-118,-107, -20,-118,-108, -20,-118,-109, -20,-118,-110, -20,-118,-111, - -20,-118,-112, -20,-118,-113, -20,-118,-114, -20,-118,-115, -20,-118,-116, -20,-118,-117, -20,-118, --118, -20,-118,-119, -20,-118,-120, -20,-118,-121, -20,-118,-122, -20,-118,-123, -20,-118,-124, -20, --118,-125, -20,-118,-126, -20,-118,-127, -20,-118,-128, -20,-119, -65, -20,-119, -66, -20,-119, -67, - -20,-119, -68, -20,-119, -69, -20,-119, -70, -20,-119, -71, -20,-119, -72, -20,-119, -73, -20,-119, - -74, -20,-119, -75, -20,-119, -76, -20,-119, -77, -20,-119, -78, -20,-119, -79, -20,-119, -80, -20, --119, -81, -20,-119, -82, -20,-119, -83, -20,-119, -84, -20,-119, -85, -20,-119, -86, -20,-119, -87, - -20,-119, -88, -20,-119, -89, -20,-119, -90, -20,-119, -91, -20,-119, -92, -20,-119, -93, -20,-119, - -94, -20,-119, -95, -20,-119, -96, -20,-119, -97, -20,-119, -98, -20,-119, -99, -20,-119,-100, -20, --119,-101, -20,-119,-102, -20,-119,-103, -20,-119,-104, -20,-119,-105, -20,-119,-106, -20,-119,-107, - -20,-119,-108, -20,-119,-109, -20,-119,-110, -20,-119,-111, -20,-119,-112, -20,-119,-113, -20,-119, --114, -20,-119,-115, -20,-119,-116, -20,-119,-117, -20,-119,-118, -20,-119,-119, -20,-119,-120, -20, --119,-121, -20,-119,-122, -20,-119,-123, -20,-119,-124, -20,-119,-125, -20,-119,-126, -20,-119,-127, - -20,-119,-128, -20,-120, -65, -20,-120, -66, -20,-120, -67, -20,-120, -68, -20,-120, -69, -20,-120, - -70, -20,-120, -71, -20,-120, -72, -20,-120, -73, -20,-120, -74, -20,-120, -75, -20,-120, -76, -20, --120, -77, -20,-120, -78, -20,-120, -79, -20,-120, -80, -20,-120, -81, -20,-120, -82, -20,-120, -83, - -20,-120, -84, -20,-120, -85, -20,-120, -86, -20,-120, -87, -20,-120, -88, -20,-120, -89, -20,-120, - -90, -20,-120, -91, -20,-120, -92, -20,-120, -93, -20,-120, -94, -20,-120, -95, -20,-120, -96, -20, --120, -97, -20,-120, -98, -20,-120, -99, -20,-120,-100, -20,-120,-101, -20,-120,-102, -20,-120,-103, - -20,-120,-104, -20,-120,-105, -20,-120,-106, -20,-120,-107, -20,-120,-108, -20,-120,-109, -20,-120, --110, -20,-120,-111, -20,-120,-112, -20,-120,-113, -20,-120,-114, -20,-120,-115, -20,-120,-116, -20, --120,-117, -20,-120,-118, -20,-120,-119, -20,-120,-120, -20,-120,-121, -20,-120,-122, -20,-120,-123, - -20,-120,-124, -20,-120,-125, -20,-120,-126, -20,-120,-127, -20,-120,-128, -20,-121, -65, -20,-121, - -66, -20,-121, -67, -20,-121, -68, -20,-121, -69, -20,-121, -70, -20,-121, -71, -20,-121, -72, -20, --121, -73, -20,-121, -74, -20,-121, -75, -20,-121, -76, -20,-121, -77, -20,-121, -78, -20,-121, -79, - -20,-121, -80, -20,-121, -81, -20,-121, -82, -20,-121, -83, -20,-121, -84, -20,-121, -85, -20,-121, - -86, -20,-121, -87, -20,-121, -88, -20,-121, -89, -20,-121, -90, -20,-121, -91, -20,-121, -92, -20, --121, -93, -20,-121, -94, -20,-121, -95, -20,-121, -96, -20,-121, -97, -20,-121, -98, -20,-121, -99, - -20,-121,-100, -20,-121,-101, -20,-121,-102, -20,-121,-103, -20,-121,-104, -20,-121,-105, -20,-121, --106, -20,-121,-107, -20,-121,-108, -20,-121,-109, -20,-121,-110, -20,-121,-111, -20,-121,-112, -20, --121,-113, -20,-121,-114, -20,-121,-115, -20,-121,-116, -20,-121,-117, -20,-121,-118, -20,-121,-119, - -20,-121,-120, -20,-121,-121, -20,-121,-122, -20,-121,-123, -20,-121,-124, -20,-121,-125, -20,-121, --126, -20,-121,-127, -20,-121,-128, -20,-122, -65, -20,-122, -66, -20,-122, -67, -20,-122, -68, -20, --122, -69, -20,-122, -70, -20,-122, -71, -20,-122, -72, -20,-122, -73, -20,-122, -74, -20,-122, -75, - -20,-122, -76, -20,-122, -77, -20,-122, -78, -20,-122, -79, -20,-122, -80, -20,-122, -81, -20,-122, - -82, -20,-122, -83, -20,-122, -84, -20,-122, -85, -20,-122, -86, -20,-122, -87, -20,-122, -88, -20, --122, -89, -20,-122, -90, -20,-122, -91, -20,-122, -92, -20,-122, -93, -20,-122, -94, -20,-122, -95, - -20,-122, -96, -20,-122, -97, -20,-122, -98, -20,-122, -99, -20,-122,-100, -20,-122,-101, -20,-122, --102, -20,-122,-103, -20,-122,-104, -20,-122,-105, -20,-122,-106, -20,-122,-107, -20,-122,-108, -20, --122,-109, -20,-122,-110, -20,-122,-111, -20,-122,-112, -20,-122,-113, -20,-122,-114, -20,-122,-115, - -20,-122,-116, -20,-122,-117, -20,-122,-118, -20,-122,-119, -20,-122,-120, -20,-122,-121, -20,-122, --122, -20,-122,-123, -20,-122,-124, -20,-122,-125, -20,-122,-126, -20,-122,-127, -20,-122,-128, -20, --123, -65, -20,-123, -66, -20,-123, -67, -20,-123, -68, -20,-123, -69, -20,-123, -70, -20,-123, -71, - -20,-123, -72, -20,-123, -73, -20,-123, -74, -20,-123, -75, -20,-123, -76, -20,-123, -77, -20,-123, - -78, -20,-123, -79, -20,-123, -80, -20,-123, -81, -20,-123, -82, -20,-123, -83, -20,-123, -84, -20, --123, -85, -20,-123, -86, -20,-123, -87, -20,-123, -88, -20,-123, -89, -20,-123, -90, -20,-123, -91, - -20,-123, -92, -20,-123, -93, -20,-123, -94, -20,-123, -95, -20,-123, -96, -20,-123, -97, -20,-123, - -98, -20,-123, -99, -20,-123,-100, -20,-123,-101, -20,-123,-102, -20,-123,-103, -20,-123,-104, -20, --123,-105, -20,-123,-106, -20,-123,-107, -20,-123,-108, -20,-123,-109, -20,-123,-110, -20,-123,-111, - -20,-123,-112, -20,-123,-113, -20,-123,-114, -20,-123,-115, -20,-123,-116, -20,-123,-117, -20,-123, --118, -20,-123,-119, -20,-123,-120, -20,-123,-121, -20,-123,-122, -20,-123,-123, -20,-123,-124, -20, --123,-125, -20,-123,-126, -20,-123,-127, -20,-123,-128, -20,-124, -65, -20,-124, -66, -20,-124, -67, - -20,-124, -68, -20,-124, -69, -20,-124, -70, -20,-124, -71, -20,-124, -72, -20,-124, -73, -20,-124, - -74, -20,-124, -75, -20,-124, -76, -20,-124, -77, -20,-124, -78, -20,-124, -79, -20,-124, -80, -20, --124, -81, -20,-124, -82, -20,-124, -83, -20,-124, -84, -20,-124, -85, -20,-124, -86, -20,-124, -87, - -20,-124, -88, -20,-124, -89, -20,-124, -90, -20,-124, -91, -20,-124, -92, -20,-124, -93, -20,-124, - -94, -20,-124, -95, -20,-124, -96, -20,-124, -97, -20,-124, -98, -20,-124, -99, -20,-124,-100, -20, --124,-101, -20,-124,-102, -20,-124,-103, -20,-124,-104, -20,-124,-105, -20,-124,-106, -20,-124,-107, - -20,-124,-108, -20,-124,-109, -20,-124,-110, -20,-124,-111, -20,-124,-112, -20,-124,-113, -20,-124, --114, -20,-124,-115, -20,-124,-116, -20,-124,-117, -20,-124,-118, -20,-124,-119, -20,-124,-120, -20, --124,-121, -20,-124,-122, -20,-124,-123, -20,-124,-124, -20,-124,-125, -20,-124,-126, -20,-124,-127, - -20,-124,-128, -20,-125, -65, -20,-125, -66, -20,-125, -67, -20,-125, -68, -20,-125, -69, -20,-125, - -70, -20,-125, -71, -20,-125, -72, -20,-125, -73, -20,-125, -74, -20,-125, -75, -20,-125, -76, -20, --125, -77, -20,-125, -78, -20,-125, -79, -20,-125, -80, -20,-125, -81, -20,-125, -82, -20,-125, -83, - -20,-125, -84, -20,-125, -85, -20,-125, -86, -20,-125, -87, -20,-125, -88, -20,-125, -89, -20,-125, - -90, -20,-125, -91, -20,-125, -92, -20,-125, -93, -20,-125, -94, -20,-125, -95, -20,-125, -96, -20, --125, -97, -20,-125, -98, -20,-125, -99, -20,-125,-100, -20,-125,-101, -20,-125,-102, -20,-125,-103, - -20,-125,-104, -20,-125,-105, -20,-125,-106, -20,-125,-107, -20,-125,-108, -20,-125,-109, -20,-125, --110, -20,-125,-111, -20,-125,-112, -20,-125,-113, -20,-125,-114, -20,-125,-115, -20,-125,-116, -20, --125,-117, -20,-125,-118, -20,-125,-119, -20,-125,-120, -20,-125,-121, -20,-125,-122, -20,-125,-123, - -20,-125,-124, -20,-125,-125, -20,-125,-126, -20,-125,-127, -20,-125,-128, -20,-126, -65, -20,-126, - -66, -20,-126, -67, -20,-126, -68, -20,-126, -69, -20,-126, -70, -20,-126, -71, -20,-126, -72, -20, --126, -73, -20,-126, -74, -20,-126, -75, -20,-126, -76, -20,-126, -77, -20,-126, -78, -20,-126, -79, - -20,-126, -80, -20,-126, -81, -20,-126, -82, -20,-126, -83, -20,-126, -84, -20,-126, -85, -20,-126, - -86, -20,-126, -87, -20,-126, -88, -20,-126, -89, -20,-126, -90, -20,-126, -91, -20,-126, -92, -20, --126, -93, -20,-126, -94, -20,-126, -95, -20,-126, -96, -20,-126, -97, -20,-126, -98, -20,-126, -99, - -20,-126,-100, -20,-126,-101, -20,-126,-102, -20,-126,-103, -20,-126,-104, -20,-126,-105, -20,-126, --106, -20,-126,-107, -20,-126,-108, -20,-126,-109, -20,-126,-110, -20,-126,-111, -20,-126,-112, -20, --126,-113, -20,-126,-114, -20,-126,-115, -20,-126,-116, -20,-126,-117, -20,-126,-118, -20,-126,-119, - -20,-126,-120, -20,-126,-121, -20,-126,-122, -20,-126,-123, -20,-126,-124, -20,-126,-125, -20,-126, --126, -20,-126,-127, -20,-126,-128, -20,-127, -65, -20,-127, -66, -20,-127, -67, -20,-127, -68, -20, --127, -69, -20,-127, -70, -20,-127, -71, -20,-127, -72, -20,-127, -73, -20,-127, -74, -20,-127, -75, - -20,-127, -76, -20,-127, -77, -20,-127, -78, -20,-127, -79, -20,-127, -80, -20,-127, -81, -20,-127, - -82, -20,-127, -83, -20,-127, -84, -20,-127, -85, -20,-127, -86, -20,-127, -87, -20,-127, -88, -20, --127, -89, -20,-127, -90, -20,-127, -91, -20,-127, -92, -20,-127, -93, -20,-127, -94, -20,-127, -95, - -20,-127, -96, -20,-127, -97, -20,-127, -98, -20,-127, -99, -20,-127,-100, -20,-127,-101, -20,-127, --102, -20,-127,-103, -20,-127,-104, -20,-127,-105, -20,-127,-106, -20,-127,-107, -20,-127,-108, -20, --127,-109, -20,-127,-110, -20,-127,-111, -20,-127,-112, -20,-127,-113, -20,-127,-114, -20,-127,-115, - -20,-127,-116, -20,-127,-117, -20,-127,-118, -20,-127,-119, -20,-127,-120, -20,-127,-121, -20,-127, --122, -20,-127,-123, -20,-127,-124, -20,-127,-125, -20,-127,-126, -20,-127,-127, -20,-127,-128, -20, --128, -65, -20,-128, -66, -20,-128, -67, -20,-128, -68, -20,-128, -69, -20,-128, -70, -20,-128, -71, - -20,-128, -72, -20,-128, -73, -20,-128, -74, -20,-128, -75, -20,-128, -76, -20,-128, -77, -20,-128, - -78, -20,-128, -79, -20,-128, -80, -20,-128, -81, -20,-128, -82, -20,-128, -83, -20,-128, -84, -20, --128, -85, -20,-128, -86, -20,-128, -87, -20,-128, -88, -20,-128, -89, -20,-128, -90, -20,-128, -91, - -20,-128, -92, -20,-128, -93, -20,-128, -94, -20,-128, -95, -20,-128, -96, -20,-128, -97, -20,-128, - -98, -20,-128, -99, -20,-128,-100, -20,-128,-101, -20,-128,-102, -20,-128,-103, -20,-128,-104, -20, --128,-105, -20,-128,-106, -20,-128,-107, -20,-128,-108, -20,-128,-109, -20,-128,-110, -20,-128,-111, - -20,-128,-112, -20,-128,-113, -20,-128,-114, -20,-128,-115, -20,-128,-116, -20,-128,-117, -20,-128, --118, -20,-128,-119, -20,-128,-120, -20,-128,-121, -20,-128,-122, -20,-128,-123, -20,-128,-124, -20, --128,-125, -20,-128,-126, -20,-128,-127, -20,-128,-128, -21, -65, -65, -21, -65, -66, -21, -65, -67, - -21, -65, -68, -21, -65, -69, -21, -65, -70, -21, -65, -71, -21, -65, -72, -21, -65, -73, -21, -65, - -74, -21, -65, -75, -21, -65, -76, -21, -65, -77, -21, -65, -78, -21, -65, -79, -21, -65, -80, -21, - -65, -81, -21, -65, -82, -21, -65, -83, -21, -65, -84, -21, -65, -85, -21, -65, -86, -21, -65, -87, - -21, -65, -88, -21, -65, -89, -21, -65, -90, -21, -65, -91, -21, -65, -92, -21, -65, -93, -21, -65, - -94, -21, -65, -95, -21, -65, -96, -21, -65, -97, -21, -65, -98, -21, -65, -99, -21, -65,-100, -21, - -65,-101, -21, -65,-102, -21, -65,-103, -21, -65,-104, -21, -65,-105, -21, -65,-106, -21, -65,-107, - -21, -65,-108, -21, -65,-109, -21, -65,-110, -21, -65,-111, -21, -65,-112, -21, -65,-113, -21, -65, --114, -21, -65,-115, -21, -65,-116, -21, -65,-117, -21, -65,-118, -21, -65,-119, -21, -65,-120, -21, - -65,-121, -21, -65,-122, -21, -65,-123, -21, -65,-124, -21, -65,-125, -21, -65,-126, -21, -65,-127, - -21, -65,-128, -21, -66, -65, -21, -66, -66, -21, -66, -67, -21, -66, -68, -21, -66, -69, -21, -66, - -70, -21, -66, -71, -21, -66, -72, -21, -66, -73, -21, -66, -74, -21, -66, -75, -21, -66, -76, -21, - -66, -77, -21, -66, -78, -21, -66, -79, -21, -66, -80, -21, -66, -81, -21, -66, -82, -21, -66, -83, - -21, -66, -84, -21, -66, -85, -21, -66, -86, -21, -66, -87, -21, -66, -88, -21, -66, -89, -21, -66, - -90, -21, -66, -91, -21, -66, -92, -21, -66, -93, -21, -66, -94, -21, -66, -95, -21, -66, -96, -21, - -66, -97, -21, -66, -98, -21, -66, -99, -21, -66,-100, -21, -66,-101, -21, -66,-102, -21, -66,-103, - -21, -66,-104, -21, -66,-105, -21, -66,-106, -21, -66,-107, -21, -66,-108, -21, -66,-109, -21, -66, --110, -21, -66,-111, -21, -66,-112, -21, -66,-113, -21, -66,-114, -21, -66,-115, -21, -66,-116, -21, - -66,-117, -21, -66,-118, -21, -66,-119, -21, -66,-120, -21, -66,-121, -21, -66,-122, -21, -66,-123, - -21, -66,-124, -21, -66,-125, -21, -66,-126, -21, -66,-127, -21, -66,-128, -21, -67, -65, -21, -67, - -66, -21, -67, -67, -21, -67, -68, -21, -67, -69, -21, -67, -70, -21, -67, -71, -21, -67, -72, -21, - -67, -73, -21, -67, -74, -21, -67, -75, -21, -67, -76, -21, -67, -77, -21, -67, -78, -21, -67, -79, - -21, -67, -80, -21, -67, -81, -21, -67, -82, -21, -67, -83, -21, -67, -84, -21, -67, -85, -21, -67, - -86, -21, -67, -87, -21, -67, -88, -21, -67, -89, -21, -67, -90, -21, -67, -91, -21, -67, -92, -21, - -67, -93, -21, -67, -94, -21, -67, -95, -21, -67, -96, -21, -67, -97, -21, -67, -98, -21, -67, -99, - -21, -67,-100, -21, -67,-101, -21, -67,-102, -21, -67,-103, -21, -67,-104, -21, -67,-105, -21, -67, --106, -21, -67,-107, -21, -67,-108, -21, -67,-109, -21, -67,-110, -21, -67,-111, -21, -67,-112, -21, - -67,-113, -21, -67,-114, -21, -67,-115, -21, -67,-116, -21, -67,-117, -21, -67,-118, -21, -67,-119, - -21, -67,-120, -21, -67,-121, -21, -67,-122, -21, -67,-123, -21, -67,-124, -21, -67,-125, -21, -67, --126, -21, -67,-127, -21, -67,-128, -21, -68, -65, -21, -68, -66, -21, -68, -67, -21, -68, -68, -21, - -68, -69, -21, -68, -70, -21, -68, -71, -21, -68, -72, -21, -68, -73, -21, -68, -74, -21, -68, -75, - -21, -68, -76, -21, -68, -77, -21, -68, -78, -21, -68, -79, -21, -68, -80, -21, -68, -81, -21, -68, - -82, -21, -68, -83, -21, -68, -84, -21, -68, -85, -21, -68, -86, -21, -68, -87, -21, -68, -88, -21, - -68, -89, -21, -68, -90, -21, -68, -91, -21, -68, -92, -21, -68, -93, -21, -68, -94, -21, -68, -95, - -21, -68, -96, -21, -68, -97, -21, -68, -98, -21, -68, -99, -21, -68,-100, -21, -68,-101, -21, -68, --102, -21, -68,-103, -21, -68,-104, -21, -68,-105, -21, -68,-106, -21, -68,-107, -21, -68,-108, -21, - -68,-109, -21, -68,-110, -21, -68,-111, -21, -68,-112, -21, -68,-113, -21, -68,-114, -21, -68,-115, - -21, -68,-116, -21, -68,-117, -21, -68,-118, -21, -68,-119, -21, -68,-120, -21, -68,-121, -21, -68, --122, -21, -68,-123, -21, -68,-124, -21, -68,-125, -21, -68,-126, -21, -68,-127, -21, -68,-128, -21, - -69, -65, -21, -69, -66, -21, -69, -67, -21, -69, -68, -21, -69, -69, -21, -69, -70, -21, -69, -71, - -21, -69, -72, -21, -69, -73, -21, -69, -74, -21, -69, -75, -21, -69, -76, -21, -69, -77, -21, -69, - -78, -21, -69, -79, -21, -69, -80, -21, -69, -81, -21, -69, -82, -21, -69, -83, -21, -69, -84, -21, - -69, -85, -21, -69, -86, -21, -69, -87, -21, -69, -88, -21, -69, -89, -21, -69, -90, -21, -69, -91, - -21, -69, -92, -21, -69, -93, -21, -69, -94, -21, -69, -95, -21, -69, -96, -21, -69, -97, -21, -69, - -98, -21, -69, -99, -21, -69,-100, -21, -69,-101, -21, -69,-102, -21, -69,-103, -21, -69,-104, -21, - -69,-105, -21, -69,-106, -21, -69,-107, -21, -69,-108, -21, -69,-109, -21, -69,-110, -21, -69,-111, - -21, -69,-112, -21, -69,-113, -21, -69,-114, -21, -69,-115, -21, -69,-116, -21, -69,-117, -21, -69, --118, -21, -69,-119, -21, -69,-120, -21, -69,-121, -21, -69,-122, -21, -69,-123, -21, -69,-124, -21, - -69,-125, -21, -69,-126, -21, -69,-127, -21, -69,-128, -21, -70, -65, -21, -70, -66, -21, -70, -67, - -21, -70, -68, -21, -70, -69, -21, -70, -70, -21, -70, -71, -21, -70, -72, -21, -70, -73, -21, -70, - -74, -21, -70, -75, -21, -70, -76, -21, -70, -77, -21, -70, -78, -21, -70, -79, -21, -70, -80, -21, - -70, -81, -21, -70, -82, -21, -70, -83, -21, -70, -84, -21, -70, -85, -21, -70, -86, -21, -70, -87, - -21, -70, -88, -21, -70, -89, -21, -70, -90, -21, -70, -91, -21, -70, -92, -21, -70, -93, -21, -70, - -94, -21, -70, -95, -21, -70, -96, -21, -70, -97, -21, -70, -98, -21, -70, -99, -21, -70,-100, -21, - -70,-101, -21, -70,-102, -21, -70,-103, -21, -70,-104, -21, -70,-105, -21, -70,-106, -21, -70,-107, - -21, -70,-108, -21, -70,-109, -21, -70,-110, -21, -70,-111, -21, -70,-112, -21, -70,-113, -21, -70, --114, -21, -70,-115, -21, -70,-116, -21, -70,-117, -21, -70,-118, -21, -70,-119, -21, -70,-120, -21, - -70,-121, -21, -70,-122, -21, -70,-123, -21, -70,-124, -21, -70,-125, -21, -70,-126, -21, -70,-127, - -21, -70,-128, -21, -71, -65, -21, -71, -66, -21, -71, -67, -21, -71, -68, -21, -71, -69, -21, -71, - -70, -21, -71, -71, -21, -71, -72, -21, -71, -73, -21, -71, -74, -21, -71, -75, -21, -71, -76, -21, - -71, -77, -21, -71, -78, -21, -71, -79, -21, -71, -80, -21, -71, -81, -21, -71, -82, -21, -71, -83, - -21, -71, -84, -21, -71, -85, -21, -71, -86, -21, -71, -87, -21, -71, -88, -21, -71, -89, -21, -71, - -90, -21, -71, -91, -21, -71, -92, -21, -71, -93, -21, -71, -94, -21, -71, -95, -21, -71, -96, -21, - -71, -97, -21, -71, -98, -21, -71, -99, -21, -71,-100, -21, -71,-101, -21, -71,-102, -21, -71,-103, - -21, -71,-104, -21, -71,-105, -21, -71,-106, -21, -71,-107, -21, -71,-108, -21, -71,-109, -21, -71, --110, -21, -71,-111, -21, -71,-112, -21, -71,-113, -21, -71,-114, -21, -71,-115, -21, -71,-116, -21, - -71,-117, -21, -71,-118, -21, -71,-119, -21, -71,-120, -21, -71,-121, -21, -71,-122, -21, -71,-123, - -21, -71,-124, -21, -71,-125, -21, -71,-126, -21, -71,-127, -21, -71,-128, -21, -72, -65, -21, -72, - -66, -21, -72, -67, -21, -72, -68, -21, -72, -69, -21, -72, -70, -21, -72, -71, -21, -72, -72, -21, - -72, -73, -21, -72, -74, -21, -72, -75, -21, -72, -76, -21, -72, -77, -21, -72, -78, -21, -72, -79, - -21, -72, -80, -21, -72, -81, -21, -72, -82, -21, -72, -83, -21, -72, -84, -21, -72, -85, -21, -72, - -86, -21, -72, -87, -21, -72, -88, -21, -72, -89, -21, -72, -90, -21, -72, -91, -21, -72, -92, -21, - -72, -93, -21, -72, -94, -21, -72, -95, -21, -72, -96, -21, -72, -97, -21, -72, -98, -21, -72, -99, - -21, -72,-100, -21, -72,-101, -21, -72,-102, -21, -72,-103, -21, -72,-104, -21, -72,-105, -21, -72, --106, -21, -72,-107, -21, -72,-108, -21, -72,-109, -21, -72,-110, -21, -72,-111, -21, -72,-112, -21, - -72,-113, -21, -72,-114, -21, -72,-115, -21, -72,-116, -21, -72,-117, -21, -72,-118, -21, -72,-119, - -21, -72,-120, -21, -72,-121, -21, -72,-122, -21, -72,-123, -21, -72,-124, -21, -72,-125, -21, -72, --126, -21, -72,-127, -21, -72,-128, -21, -73, -65, -21, -73, -66, -21, -73, -67, -21, -73, -68, -21, - -73, -69, -21, -73, -70, -21, -73, -71, -21, -73, -72, -21, -73, -73, -21, -73, -74, -21, -73, -75, - -21, -73, -76, -21, -73, -77, -21, -73, -78, -21, -73, -79, -21, -73, -80, -21, -73, -81, -21, -73, - -82, -21, -73, -83, -21, -73, -84, -21, -73, -85, -21, -73, -86, -21, -73, -87, -21, -73, -88, -21, - -73, -89, -21, -73, -90, -21, -73, -91, -21, -73, -92, -21, -73, -93, -21, -73, -94, -21, -73, -95, - -21, -73, -96, -21, -73, -97, -21, -73, -98, -21, -73, -99, -21, -73,-100, -21, -73,-101, -21, -73, --102, -21, -73,-103, -21, -73,-104, -21, -73,-105, -21, -73,-106, -21, -73,-107, -21, -73,-108, -21, - -73,-109, -21, -73,-110, -21, -73,-111, -21, -73,-112, -21, -73,-113, -21, -73,-114, -21, -73,-115, - -21, -73,-116, -21, -73,-117, -21, -73,-118, -21, -73,-119, -21, -73,-120, -21, -73,-121, -21, -73, --122, -21, -73,-123, -21, -73,-124, -21, -73,-125, -21, -73,-126, -21, -73,-127, -21, -73,-128, -21, - -74, -65, -21, -74, -66, -21, -74, -67, -21, -74, -68, -21, -74, -69, -21, -74, -70, -21, -74, -71, - -21, -74, -72, -21, -74, -73, -21, -74, -74, -21, -74, -75, -21, -74, -76, -21, -74, -77, -21, -74, - -78, -21, -74, -79, -21, -74, -80, -21, -74, -81, -21, -74, -82, -21, -74, -83, -21, -74, -84, -21, - -74, -85, -21, -74, -86, -21, -74, -87, -21, -74, -88, -21, -74, -89, -21, -74, -90, -21, -74, -91, - -21, -74, -92, -21, -74, -93, -21, -74, -94, -21, -74, -95, -21, -74, -96, -21, -74, -97, -21, -74, - -98, -21, -74, -99, -21, -74,-100, -21, -74,-101, -21, -74,-102, -21, -74,-103, -21, -74,-104, -21, - -74,-105, -21, -74,-106, -21, -74,-107, -21, -74,-108, -21, -74,-109, -21, -74,-110, -21, -74,-111, - -21, -74,-112, -21, -74,-113, -21, -74,-114, -21, -74,-115, -21, -74,-116, -21, -74,-117, -21, -74, --118, -21, -74,-119, -21, -74,-120, -21, -74,-121, -21, -74,-122, -21, -74,-123, -21, -74,-124, -21, - -74,-125, -21, -74,-126, -21, -74,-127, -21, -74,-128, -21, -75, -65, -21, -75, -66, -21, -75, -67, - -21, -75, -68, -21, -75, -69, -21, -75, -70, -21, -75, -71, -21, -75, -72, -21, -75, -73, -21, -75, - -74, -21, -75, -75, -21, -75, -76, -21, -75, -77, -21, -75, -78, -21, -75, -79, -21, -75, -80, -21, - -75, -81, -21, -75, -82, -21, -75, -83, -21, -75, -84, -21, -75, -85, -21, -75, -86, -21, -75, -87, - -21, -75, -88, -21, -75, -89, -21, -75, -90, -21, -75, -91, -21, -75, -92, -21, -75, -93, -21, -75, - -94, -21, -75, -95, -21, -75, -96, -21, -75, -97, -21, -75, -98, -21, -75, -99, -21, -75,-100, -21, - -75,-101, -21, -75,-102, -21, -75,-103, -21, -75,-104, -21, -75,-105, -21, -75,-106, -21, -75,-107, - -21, -75,-108, -21, -75,-109, -21, -75,-110, -21, -75,-111, -21, -75,-112, -21, -75,-113, -21, -75, --114, -21, -75,-115, -21, -75,-116, -21, -75,-117, -21, -75,-118, -21, -75,-119, -21, -75,-120, -21, - -75,-121, -21, -75,-122, -21, -75,-123, -21, -75,-124, -21, -75,-125, -21, -75,-126, -21, -75,-127, - -21, -75,-128, -21, -76, -65, -21, -76, -66, -21, -76, -67, -21, -76, -68, -21, -76, -69, -21, -76, - -70, -21, -76, -71, -21, -76, -72, -21, -76, -73, -21, -76, -74, -21, -76, -75, -21, -76, -76, -21, - -76, -77, -21, -76, -78, -21, -76, -79, -21, -76, -80, -21, -76, -81, -21, -76, -82, -21, -76, -83, - -21, -76, -84, -21, -76, -85, -21, -76, -86, -21, -76, -87, -21, -76, -88, -21, -76, -89, -21, -76, - -90, -21, -76, -91, -21, -76, -92, -21, -76, -93, -21, -76, -94, -21, -76, -95, -21, -76, -96, -21, - -76, -97, -21, -76, -98, -21, -76, -99, -21, -76,-100, -21, -76,-101, -21, -76,-102, -21, -76,-103, - -21, -76,-104, -21, -76,-105, -21, -76,-106, -21, -76,-107, -21, -76,-108, -21, -76,-109, -21, -76, --110, -21, -76,-111, -21, -76,-112, -21, -76,-113, -21, -76,-114, -21, -76,-115, -21, -76,-116, -21, - -76,-117, -21, -76,-118, -21, -76,-119, -21, -76,-120, -21, -76,-121, -21, -76,-122, -21, -76,-123, - -21, -76,-124, -21, -76,-125, -21, -76,-126, -21, -76,-127, -21, -76,-128, -21, -77, -65, -21, -77, - -66, -21, -77, -67, -21, -77, -68, -21, -77, -69, -21, -77, -70, -21, -77, -71, -21, -77, -72, -21, - -77, -73, -21, -77, -74, -21, -77, -75, -21, -77, -76, -21, -77, -77, -21, -77, -78, -21, -77, -79, - -21, -77, -80, -21, -77, -81, -21, -77, -82, -21, -77, -83, -21, -77, -84, -21, -77, -85, -21, -77, - -86, -21, -77, -87, -21, -77, -88, -21, -77, -89, -21, -77, -90, -21, -77, -91, -21, -77, -92, -21, - -77, -93, -21, -77, -94, -21, -77, -95, -21, -77, -96, -21, -77, -97, -21, -77, -98, -21, -77, -99, - -21, -77,-100, -21, -77,-101, -21, -77,-102, -21, -77,-103, -21, -77,-104, -21, -77,-105, -21, -77, --106, -21, -77,-107, -21, -77,-108, -21, -77,-109, -21, -77,-110, -21, -77,-111, -21, -77,-112, -21, - -77,-113, -21, -77,-114, -21, -77,-115, -21, -77,-116, -21, -77,-117, -21, -77,-118, -21, -77,-119, - -21, -77,-120, -21, -77,-121, -21, -77,-122, -21, -77,-123, -21, -77,-124, -21, -77,-125, -21, -77, --126, -21, -77,-127, -21, -77,-128, -21, -78, -65, -21, -78, -66, -21, -78, -67, -21, -78, -68, -21, - -78, -69, -21, -78, -70, -21, -78, -71, -21, -78, -72, -21, -78, -73, -21, -78, -74, -21, -78, -75, - -21, -78, -76, -21, -78, -77, -21, -78, -78, -21, -78, -79, -21, -78, -80, -21, -78, -81, -21, -78, - -82, -21, -78, -83, -21, -78, -84, -21, -78, -85, -21, -78, -86, -21, -78, -87, -21, -78, -88, -21, - -78, -89, -21, -78, -90, -21, -78, -91, -21, -78, -92, -21, -78, -93, -21, -78, -94, -21, -78, -95, - -21, -78, -96, -21, -78, -97, -21, -78, -98, -21, -78, -99, -21, -78,-100, -21, -78,-101, -21, -78, --102, -21, -78,-103, -21, -78,-104, -21, -78,-105, -21, -78,-106, -21, -78,-107, -21, -78,-108, -21, - -78,-109, -21, -78,-110, -21, -78,-111, -21, -78,-112, -21, -78,-113, -21, -78,-114, -21, -78,-115, - -21, -78,-116, -21, -78,-117, -21, -78,-118, -21, -78,-119, -21, -78,-120, -21, -78,-121, -21, -78, --122, -21, -78,-123, -21, -78,-124, -21, -78,-125, -21, -78,-126, -21, -78,-127, -21, -78,-128, -21, - -79, -65, -21, -79, -66, -21, -79, -67, -21, -79, -68, -21, -79, -69, -21, -79, -70, -21, -79, -71, - -21, -79, -72, -21, -79, -73, -21, -79, -74, -21, -79, -75, -21, -79, -76, -21, -79, -77, -21, -79, - -78, -21, -79, -79, -21, -79, -80, -21, -79, -81, -21, -79, -82, -21, -79, -83, -21, -79, -84, -21, - -79, -85, -21, -79, -86, -21, -79, -87, -21, -79, -88, -21, -79, -89, -21, -79, -90, -21, -79, -91, - -21, -79, -92, -21, -79, -93, -21, -79, -94, -21, -79, -95, -21, -79, -96, -21, -79, -97, -21, -79, - -98, -21, -79, -99, -21, -79,-100, -21, -79,-101, -21, -79,-102, -21, -79,-103, -21, -79,-104, -21, - -79,-105, -21, -79,-106, -21, -79,-107, -21, -79,-108, -21, -79,-109, -21, -79,-110, -21, -79,-111, - -21, -79,-112, -21, -79,-113, -21, -79,-114, -21, -79,-115, -21, -79,-116, -21, -79,-117, -21, -79, --118, -21, -79,-119, -21, -79,-120, -21, -79,-121, -21, -79,-122, -21, -79,-123, -21, -79,-124, -21, - -79,-125, -21, -79,-126, -21, -79,-127, -21, -79,-128, -21, -80, -65, -21, -80, -66, -21, -80, -67, - -21, -80, -68, -21, -80, -69, -21, -80, -70, -21, -80, -71, -21, -80, -72, -21, -80, -73, -21, -80, - -74, -21, -80, -75, -21, -80, -76, -21, -80, -77, -21, -80, -78, -21, -80, -79, -21, -80, -80, -21, - -80, -81, -21, -80, -82, -21, -80, -83, -21, -80, -84, -21, -80, -85, -21, -80, -86, -21, -80, -87, - -21, -80, -88, -21, -80, -89, -21, -80, -90, -21, -80, -91, -21, -80, -92, -21, -80, -93, -21, -80, - -94, -21, -80, -95, -21, -80, -96, -21, -80, -97, -21, -80, -98, -21, -80, -99, -21, -80,-100, -21, - -80,-101, -21, -80,-102, -21, -80,-103, -21, -80,-104, -21, -80,-105, -21, -80,-106, -21, -80,-107, - -21, -80,-108, -21, -80,-109, -21, -80,-110, -21, -80,-111, -21, -80,-112, -21, -80,-113, -21, -80, --114, -21, -80,-115, -21, -80,-116, -21, -80,-117, -21, -80,-118, -21, -80,-119, -21, -80,-120, -21, - -80,-121, -21, -80,-122, -21, -80,-123, -21, -80,-124, -21, -80,-125, -21, -80,-126, -21, -80,-127, - -21, -80,-128, -21, -81, -65, -21, -81, -66, -21, -81, -67, -21, -81, -68, -21, -81, -69, -21, -81, - -70, -21, -81, -71, -21, -81, -72, -21, -81, -73, -21, -81, -74, -21, -81, -75, -21, -81, -76, -21, - -81, -77, -21, -81, -78, -21, -81, -79, -21, -81, -80, -21, -81, -81, -21, -81, -82, -21, -81, -83, - -21, -81, -84, -21, -81, -85, -21, -81, -86, -21, -81, -87, -21, -81, -88, -21, -81, -89, -21, -81, - -90, -21, -81, -91, -21, -81, -92, -21, -81, -93, -21, -81, -94, -21, -81, -95, -21, -81, -96, -21, - -81, -97, -21, -81, -98, -21, -81, -99, -21, -81,-100, -21, -81,-101, -21, -81,-102, -21, -81,-103, - -21, -81,-104, -21, -81,-105, -21, -81,-106, -21, -81,-107, -21, -81,-108, -21, -81,-109, -21, -81, --110, -21, -81,-111, -21, -81,-112, -21, -81,-113, -21, -81,-114, -21, -81,-115, -21, -81,-116, -21, - -81,-117, -21, -81,-118, -21, -81,-119, -21, -81,-120, -21, -81,-121, -21, -81,-122, -21, -81,-123, - -21, -81,-124, -21, -81,-125, -21, -81,-126, -21, -81,-127, -21, -81,-128, -21, -82, -65, -21, -82, - -66, -21, -82, -67, -21, -82, -68, -21, -82, -69, -21, -82, -70, -21, -82, -71, -21, -82, -72, -21, - -82, -73, -21, -82, -74, -21, -82, -75, -21, -82, -76, -21, -82, -77, -21, -82, -78, -21, -82, -79, - -21, -82, -80, -21, -82, -81, -21, -82, -82, -21, -82, -83, -21, -82, -84, -21, -82, -85, -21, -82, - -86, -21, -82, -87, -21, -82, -88, -21, -82, -89, -21, -82, -90, -21, -82, -91, -21, -82, -92, -21, - -82, -93, -21, -82, -94, -21, -82, -95, -21, -82, -96, -21, -82, -97, -21, -82, -98, -21, -82, -99, - -21, -82,-100, -21, -82,-101, -21, -82,-102, -21, -82,-103, -21, -82,-104, -21, -82,-105, -21, -82, --106, -21, -82,-107, -21, -82,-108, -21, -82,-109, -21, -82,-110, -21, -82,-111, -21, -82,-112, -21, - -82,-113, -21, -82,-114, -21, -82,-115, -21, -82,-116, -21, -82,-117, -21, -82,-118, -21, -82,-119, - -21, -82,-120, -21, -82,-121, -21, -82,-122, -21, -82,-123, -21, -82,-124, -21, -82,-125, -21, -82, --126, -21, -82,-127, -21, -82,-128, -21, -83, -65, -21, -83, -66, -21, -83, -67, -21, -83, -68, -21, - -83, -69, -21, -83, -70, -21, -83, -71, -21, -83, -72, -21, -83, -73, -21, -83, -74, -21, -83, -75, - -21, -83, -76, -21, -83, -77, -21, -83, -78, -21, -83, -79, -21, -83, -80, -21, -83, -81, -21, -83, - -82, -21, -83, -83, -21, -83, -84, -21, -83, -85, -21, -83, -86, -21, -83, -87, -21, -83, -88, -21, - -83, -89, -21, -83, -90, -21, -83, -91, -21, -83, -92, -21, -83, -93, -21, -83, -94, -21, -83, -95, - -21, -83, -96, -21, -83, -97, -21, -83, -98, -21, -83, -99, -21, -83,-100, -21, -83,-101, -21, -83, --102, -21, -83,-103, -21, -83,-104, -21, -83,-105, -21, -83,-106, -21, -83,-107, -21, -83,-108, -21, - -83,-109, -21, -83,-110, -21, -83,-111, -21, -83,-112, -21, -83,-113, -21, -83,-114, -21, -83,-115, - -21, -83,-116, -21, -83,-117, -21, -83,-118, -21, -83,-119, -21, -83,-120, -21, -83,-121, -21, -83, --122, -21, -83,-123, -21, -83,-124, -21, -83,-125, -21, -83,-126, -21, -83,-127, -21, -83,-128, -21, - -84, -65, -21, -84, -66, -21, -84, -67, -21, -84, -68, -21, -84, -69, -21, -84, -70, -21, -84, -71, - -21, -84, -72, -21, -84, -73, -21, -84, -74, -21, -84, -75, -21, -84, -76, -21, -84, -77, -21, -84, - -78, -21, -84, -79, -21, -84, -80, -21, -84, -81, -21, -84, -82, -21, -84, -83, -21, -84, -84, -21, - -84, -85, -21, -84, -86, -21, -84, -87, -21, -84, -88, -21, -84, -89, -21, -84, -90, -21, -84, -91, - -21, -84, -92, -21, -84, -93, -21, -84, -94, -21, -84, -95, -21, -84, -96, -21, -84, -97, -21, -84, - -98, -21, -84, -99, -21, -84,-100, -21, -84,-101, -21, -84,-102, -21, -84,-103, -21, -84,-104, -21, - -84,-105, -21, -84,-106, -21, -84,-107, -21, -84,-108, -21, -84,-109, -21, -84,-110, -21, -84,-111, - -21, -84,-112, -21, -84,-113, -21, -84,-114, -21, -84,-115, -21, -84,-116, -21, -84,-117, -21, -84, --118, -21, -84,-119, -21, -84,-120, -21, -84,-121, -21, -84,-122, -21, -84,-123, -21, -84,-124, -21, - -84,-125, -21, -84,-126, -21, -84,-127, -21, -84,-128, -21, -85, -65, -21, -85, -66, -21, -85, -67, - -21, -85, -68, -21, -85, -69, -21, -85, -70, -21, -85, -71, -21, -85, -72, -21, -85, -73, -21, -85, - -74, -21, -85, -75, -21, -85, -76, -21, -85, -77, -21, -85, -78, -21, -85, -79, -21, -85, -80, -21, - -85, -81, -21, -85, -82, -21, -85, -83, -21, -85, -84, -21, -85, -85, -21, -85, -86, -21, -85, -87, - -21, -85, -88, -21, -85, -89, -21, -85, -90, -21, -85, -91, -21, -85, -92, -21, -85, -93, -21, -85, - -94, -21, -85, -95, -21, -85, -96, -21, -85, -97, -21, -85, -98, -21, -85, -99, -21, -85,-100, -21, - -85,-101, -21, -85,-102, -21, -85,-103, -21, -85,-104, -21, -85,-105, -21, -85,-106, -21, -85,-107, - -21, -85,-108, -21, -85,-109, -21, -85,-110, -21, -85,-111, -21, -85,-112, -21, -85,-113, -21, -85, --114, -21, -85,-115, -21, -85,-116, -21, -85,-117, -21, -85,-118, -21, -85,-119, -21, -85,-120, -21, - -85,-121, -21, -85,-122, -21, -85,-123, -21, -85,-124, -21, -85,-125, -21, -85,-126, -21, -85,-127, - -21, -85,-128, -21, -86, -65, -21, -86, -66, -21, -86, -67, -21, -86, -68, -21, -86, -69, -21, -86, - -70, -21, -86, -71, -21, -86, -72, -21, -86, -73, -21, -86, -74, -21, -86, -75, -21, -86, -76, -21, - -86, -77, -21, -86, -78, -21, -86, -79, -21, -86, -80, -21, -86, -81, -21, -86, -82, -21, -86, -83, - -21, -86, -84, -21, -86, -85, -21, -86, -86, -21, -86, -87, -21, -86, -88, -21, -86, -89, -21, -86, - -90, -21, -86, -91, -21, -86, -92, -21, -86, -93, -21, -86, -94, -21, -86, -95, -21, -86, -96, -21, - -86, -97, -21, -86, -98, -21, -86, -99, -21, -86,-100, -21, -86,-101, -21, -86,-102, -21, -86,-103, - -21, -86,-104, -21, -86,-105, -21, -86,-106, -21, -86,-107, -21, -86,-108, -21, -86,-109, -21, -86, --110, -21, -86,-111, -21, -86,-112, -21, -86,-113, -21, -86,-114, -21, -86,-115, -21, -86,-116, -21, - -86,-117, -21, -86,-118, -21, -86,-119, -21, -86,-120, -21, -86,-121, -21, -86,-122, -21, -86,-123, - -21, -86,-124, -21, -86,-125, -21, -86,-126, -21, -86,-127, -21, -86,-128, -21, -87, -65, -21, -87, - -66, -21, -87, -67, -21, -87, -68, -21, -87, -69, -21, -87, -70, -21, -87, -71, -21, -87, -72, -21, - -87, -73, -21, -87, -74, -21, -87, -75, -21, -87, -76, -21, -87, -77, -21, -87, -78, -21, -87, -79, - -21, -87, -80, -21, -87, -81, -21, -87, -82, -21, -87, -83, -21, -87, -84, -21, -87, -85, -21, -87, - -86, -21, -87, -87, -21, -87, -88, -21, -87, -89, -21, -87, -90, -21, -87, -91, -21, -87, -92, -21, - -87, -93, -21, -87, -94, -21, -87, -95, -21, -87, -96, -21, -87, -97, -21, -87, -98, -21, -87, -99, - -21, -87,-100, -21, -87,-101, -21, -87,-102, -21, -87,-103, -21, -87,-104, -21, -87,-105, -21, -87, --106, -21, -87,-107, -21, -87,-108, -21, -87,-109, -21, -87,-110, -21, -87,-111, -21, -87,-112, -21, - -87,-113, -21, -87,-114, -21, -87,-115, -21, -87,-116, -21, -87,-117, -21, -87,-118, -21, -87,-119, - -21, -87,-120, -21, -87,-121, -21, -87,-122, -21, -87,-123, -21, -87,-124, -21, -87,-125, -21, -87, --126, -21, -87,-127, -21, -87,-128, -21, -88, -65, -21, -88, -66, -21, -88, -67, -21, -88, -68, -21, - -88, -69, -21, -88, -70, -21, -88, -71, -21, -88, -72, -21, -88, -73, -21, -88, -74, -21, -88, -75, - -21, -88, -76, -21, -88, -77, -21, -88, -78, -21, -88, -79, -21, -88, -80, -21, -88, -81, -21, -88, - -82, -21, -88, -83, -21, -88, -84, -21, -88, -85, -21, -88, -86, -21, -88, -87, -21, -88, -88, -21, - -88, -89, -21, -88, -90, -21, -88, -91, -21, -88, -92, -21, -88, -93, -21, -88, -94, -21, -88, -95, - -21, -88, -96, -21, -88, -97, -21, -88, -98, -21, -88, -99, -21, -88,-100, -21, -88,-101, -21, -88, --102, -21, -88,-103, -21, -88,-104, -21, -88,-105, -21, -88,-106, -21, -88,-107, -21, -88,-108, -21, - -88,-109, -21, -88,-110, -21, -88,-111, -21, -88,-112, -21, -88,-113, -21, -88,-114, -21, -88,-115, - -21, -88,-116, -21, -88,-117, -21, -88,-118, -21, -88,-119, -21, -88,-120, -21, -88,-121, -21, -88, --122, -21, -88,-123, -21, -88,-124, -21, -88,-125, -21, -88,-126, -21, -88,-127, -21, -88,-128, -21, - -89, -65, -21, -89, -66, -21, -89, -67, -21, -89, -68, -21, -89, -69, -21, -89, -70, -21, -89, -71, - -21, -89, -72, -21, -89, -73, -21, -89, -74, -21, -89, -75, -21, -89, -76, -21, -89, -77, -21, -89, - -78, -21, -89, -79, -21, -89, -80, -21, -89, -81, -21, -89, -82, -21, -89, -83, -21, -89, -84, -21, - -89, -85, -21, -89, -86, -21, -89, -87, -21, -89, -88, -21, -89, -89, -21, -89, -90, -21, -89, -91, - -21, -89, -92, -21, -89, -93, -21, -89, -94, -21, -89, -95, -21, -89, -96, -21, -89, -97, -21, -89, - -98, -21, -89, -99, -21, -89,-100, -21, -89,-101, -21, -89,-102, -21, -89,-103, -21, -89,-104, -21, - -89,-105, -21, -89,-106, -21, -89,-107, -21, -89,-108, -21, -89,-109, -21, -89,-110, -21, -89,-111, - -21, -89,-112, -21, -89,-113, -21, -89,-114, -21, -89,-115, -21, -89,-116, -21, -89,-117, -21, -89, --118, -21, -89,-119, -21, -89,-120, -21, -89,-121, -21, -89,-122, -21, -89,-123, -21, -89,-124, -21, - -89,-125, -21, -89,-126, -21, -89,-127, -21, -89,-128, -21, -90, -65, -21, -90, -66, -21, -90, -67, - -21, -90, -68, -21, -90, -69, -21, -90, -70, -21, -90, -71, -21, -90, -72, -21, -90, -73, -21, -90, - -74, -21, -90, -75, -21, -90, -76, -21, -90, -77, -21, -90, -78, -21, -90, -79, -21, -90, -80, -21, - -90, -81, -21, -90, -82, -21, -90, -83, -21, -90, -84, -21, -90, -85, -21, -90, -86, -21, -90, -87, - -21, -90, -88, -21, -90, -89, -21, -90, -90, -21, -90, -91, -21, -90, -92, -21, -90, -93, -21, -90, - -94, -21, -90, -95, -21, -90, -96, -21, -90, -97, -21, -90, -98, -21, -90, -99, -21, -90,-100, -21, - -90,-101, -21, -90,-102, -21, -90,-103, -21, -90,-104, -21, -90,-105, -21, -90,-106, -21, -90,-107, - -21, -90,-108, -21, -90,-109, -21, -90,-110, -21, -90,-111, -21, -90,-112, -21, -90,-113, -21, -90, --114, -21, -90,-115, -21, -90,-116, -21, -90,-117, -21, -90,-118, -21, -90,-119, -21, -90,-120, -21, - -90,-121, -21, -90,-122, -21, -90,-123, -21, -90,-124, -21, -90,-125, -21, -90,-126, -21, -90,-127, - -21, -90,-128, -21, -91, -65, -21, -91, -66, -21, -91, -67, -21, -91, -68, -21, -91, -69, -21, -91, - -70, -21, -91, -71, -21, -91, -72, -21, -91, -73, -21, -91, -74, -21, -91, -75, -21, -91, -76, -21, - -91, -77, -21, -91, -78, -21, -91, -79, -21, -91, -80, -21, -91, -81, -21, -91, -82, -21, -91, -83, - -21, -91, -84, -21, -91, -85, -21, -91, -86, -21, -91, -87, -21, -91, -88, -21, -91, -89, -21, -91, - -90, -21, -91, -91, -21, -91, -92, -21, -91, -93, -21, -91, -94, -21, -91, -95, -21, -91, -96, -21, - -91, -97, -21, -91, -98, -21, -91, -99, -21, -91,-100, -21, -91,-101, -21, -91,-102, -21, -91,-103, - -21, -91,-104, -21, -91,-105, -21, -91,-106, -21, -91,-107, -21, -91,-108, -21, -91,-109, -21, -91, --110, -21, -91,-111, -21, -91,-112, -21, -91,-113, -21, -91,-114, -21, -91,-115, -21, -91,-116, -21, - -91,-117, -21, -91,-118, -21, -91,-119, -21, -91,-120, -21, -91,-121, -21, -91,-122, -21, -91,-123, - -21, -91,-124, -21, -91,-125, -21, -91,-126, -21, -91,-127, -21, -91,-128, -21, -92, -65, -21, -92, - -66, -21, -92, -67, -21, -92, -68, -21, -92, -69, -21, -92, -70, -21, -92, -71, -21, -92, -72, -21, - -92, -73, -21, -92, -74, -21, -92, -75, -21, -92, -76, -21, -92, -77, -21, -92, -78, -21, -92, -79, - -21, -92, -80, -21, -92, -81, -21, -92, -82, -21, -92, -83, -21, -92, -84, -21, -92, -85, -21, -92, - -86, -21, -92, -87, -21, -92, -88, -21, -92, -89, -21, -92, -90, -21, -92, -91, -21, -92, -92, -21, - -92, -93, -21, -92, -94, -21, -92, -95, -21, -92, -96, -21, -92, -97, -21, -92, -98, -21, -92, -99, - -21, -92,-100, -21, -92,-101, -21, -92,-102, -21, -92,-103, -21, -92,-104, -21, -92,-105, -21, -92, --106, -21, -92,-107, -21, -92,-108, -21, -92,-109, -21, -92,-110, -21, -92,-111, -21, -92,-112, -21, - -92,-113, -21, -92,-114, -21, -92,-115, -21, -92,-116, -21, -92,-117, -21, -92,-118, -21, -92,-119, - -21, -92,-120, -21, -92,-121, -21, -92,-122, -21, -92,-123, -21, -92,-124, -21, -92,-125, -21, -92, --126, -21, -92,-127, -21, -92,-128, -21, -93, -65, -21, -93, -66, -21, -93, -67, -21, -93, -68, -21, - -93, -69, -21, -93, -70, -21, -93, -71, -21, -93, -72, -21, -93, -73, -21, -93, -74, -21, -93, -75, - -21, -93, -76, -21, -93, -77, -21, -93, -78, -21, -93, -79, -21, -93, -80, -21, -93, -81, -21, -93, - -82, -21, -93, -83, -21, -93, -84, -21, -93, -85, -21, -93, -86, -21, -93, -87, -21, -93, -88, -21, - -93, -89, -21, -93, -90, -21, -93, -91, -21, -93, -92, -21, -93, -93, -21, -93, -94, -21, -93, -95, - -21, -93, -96, -21, -93, -97, -21, -93, -98, -21, -93, -99, -21, -93,-100, -21, -93,-101, -21, -93, --102, -21, -93,-103, -21, -93,-104, -21, -93,-105, -21, -93,-106, -21, -93,-107, -21, -93,-108, -21, - -93,-109, -21, -93,-110, -21, -93,-111, -21, -93,-112, -21, -93,-113, -21, -93,-114, -21, -93,-115, - -21, -93,-116, -21, -93,-117, -21, -93,-118, -21, -93,-119, -21, -93,-120, -21, -93,-121, -21, -93, --122, -21, -93,-123, -21, -93,-124, -21, -93,-125, -21, -93,-126, -21, -93,-127, -21, -93,-128, -21, - -94, -65, -21, -94, -66, -21, -94, -67, -21, -94, -68, -21, -94, -69, -21, -94, -70, -21, -94, -71, - -21, -94, -72, -21, -94, -73, -21, -94, -74, -21, -94, -75, -21, -94, -76, -21, -94, -77, -21, -94, - -78, -21, -94, -79, -21, -94, -80, -21, -94, -81, -21, -94, -82, -21, -94, -83, -21, -94, -84, -21, - -94, -85, -21, -94, -86, -21, -94, -87, -21, -94, -88, -21, -94, -89, -21, -94, -90, -21, -94, -91, - -21, -94, -92, -21, -94, -93, -21, -94, -94, -21, -94, -95, -21, -94, -96, -21, -94, -97, -21, -94, - -98, -21, -94, -99, -21, -94,-100, -21, -94,-101, -21, -94,-102, -21, -94,-103, -21, -94,-104, -21, - -94,-105, -21, -94,-106, -21, -94,-107, -21, -94,-108, -21, -94,-109, -21, -94,-110, -21, -94,-111, - -21, -94,-112, -21, -94,-113, -21, -94,-114, -21, -94,-115, -21, -94,-116, -21, -94,-117, -21, -94, --118, -21, -94,-119, -21, -94,-120, -21, -94,-121, -21, -94,-122, -21, -94,-123, -21, -94,-124, -21, - -94,-125, -21, -94,-126, -21, -94,-127, -21, -94,-128, -21, -95, -65, -21, -95, -66, -21, -95, -67, - -21, -95, -68, -21, -95, -69, -21, -95, -70, -21, -95, -71, -21, -95, -72, -21, -95, -73, -21, -95, - -74, -21, -95, -75, -21, -95, -76, -21, -95, -77, -21, -95, -78, -21, -95, -79, -21, -95, -80, -21, - -95, -81, -21, -95, -82, -21, -95, -83, -21, -95, -84, -21, -95, -85, -21, -95, -86, -21, -95, -87, - -21, -95, -88, -21, -95, -89, -21, -95, -90, -21, -95, -91, -21, -95, -92, -21, -95, -93, -21, -95, - -94, -21, -95, -95, -21, -95, -96, -21, -95, -97, -21, -95, -98, -21, -95, -99, -21, -95,-100, -21, - -95,-101, -21, -95,-102, -21, -95,-103, -21, -95,-104, -21, -95,-105, -21, -95,-106, -21, -95,-107, - -21, -95,-108, -21, -95,-109, -21, -95,-110, -21, -95,-111, -21, -95,-112, -21, -95,-113, -21, -95, --114, -21, -95,-115, -21, -95,-116, -21, -95,-117, -21, -95,-118, -21, -95,-119, -21, -95,-120, -21, - -95,-121, -21, -95,-122, -21, -95,-123, -21, -95,-124, -21, -95,-125, -21, -95,-126, -21, -95,-127, - -21, -95,-128, -21, -96, -65, -21, -96, -66, -21, -96, -67, -21, -96, -68, -21, -96, -69, -21, -96, - -70, -21, -96, -71, -21, -96, -72, -21, -96, -73, -21, -96, -74, -21, -96, -75, -21, -96, -76, -21, - -96, -77, -21, -96, -78, -21, -96, -79, -21, -96, -80, -21, -96, -81, -21, -96, -82, -21, -96, -83, - -21, -96, -84, -21, -96, -85, -21, -96, -86, -21, -96, -87, -21, -96, -88, -21, -96, -89, -21, -96, - -90, -21, -96, -91, -21, -96, -92, -21, -96, -93, -21, -96, -94, -21, -96, -95, -21, -96, -96, -21, - -96, -97, -21, -96, -98, -21, -96, -99, -21, -96,-100, -21, -96,-101, -21, -96,-102, -21, -96,-103, - -21, -96,-104, -21, -96,-105, -21, -96,-106, -21, -96,-107, -21, -96,-108, -21, -96,-109, -21, -96, --110, -21, -96,-111, -21, -96,-112, -21, -96,-113, -21, -96,-114, -21, -96,-115, -21, -96,-116, -21, - -96,-117, -21, -96,-118, -21, -96,-119, -21, -96,-120, -21, -96,-121, -21, -96,-122, -21, -96,-123, - -21, -96,-124, -21, -96,-125, -21, -96,-126, -21, -96,-127, -21, -96,-128, -21, -97, -65, -21, -97, - -66, -21, -97, -67, -21, -97, -68, -21, -97, -69, -21, -97, -70, -21, -97, -71, -21, -97, -72, -21, - -97, -73, -21, -97, -74, -21, -97, -75, -21, -97, -76, -21, -97, -77, -21, -97, -78, -21, -97, -79, - -21, -97, -80, -21, -97, -81, -21, -97, -82, -21, -97, -83, -21, -97, -84, -21, -97, -85, -21, -97, - -86, -21, -97, -87, -21, -97, -88, -21, -97, -89, -21, -97, -90, -21, -97, -91, -21, -97, -92, -21, - -97, -93, -21, -97, -94, -21, -97, -95, -21, -97, -96, -21, -97, -97, -21, -97, -98, -21, -97, -99, - -21, -97,-100, -21, -97,-101, -21, -97,-102, -21, -97,-103, -21, -97,-104, -21, -97,-105, -21, -97, --106, -21, -97,-107, -21, -97,-108, -21, -97,-109, -21, -97,-110, -21, -97,-111, -21, -97,-112, -21, - -97,-113, -21, -97,-114, -21, -97,-115, -21, -97,-116, -21, -97,-117, -21, -97,-118, -21, -97,-119, - -21, -97,-120, -21, -97,-121, -21, -97,-122, -21, -97,-123, -21, -97,-124, -21, -97,-125, -21, -97, --126, -21, -97,-127, -21, -97,-128, -21, -98, -65, -21, -98, -66, -21, -98, -67, -21, -98, -68, -21, - -98, -69, -21, -98, -70, -21, -98, -71, -21, -98, -72, -21, -98, -73, -21, -98, -74, -21, -98, -75, - -21, -98, -76, -21, -98, -77, -21, -98, -78, -21, -98, -79, -21, -98, -80, -21, -98, -81, -21, -98, - -82, -21, -98, -83, -21, -98, -84, -21, -98, -85, -21, -98, -86, -21, -98, -87, -21, -98, -88, -21, - -98, -89, -21, -98, -90, -21, -98, -91, -21, -98, -92, -21, -98, -93, -21, -98, -94, -21, -98, -95, - -21, -98, -96, -21, -98, -97, -21, -98, -98, -21, -98, -99, -21, -98,-100, -21, -98,-101, -21, -98, --102, -21, -98,-103, -21, -98,-104, -21, -98,-105, -21, -98,-106, -21, -98,-107, -21, -98,-108, -21, - -98,-109, -21, -98,-110, -21, -98,-111, -21, -98,-112, -21, -98,-113, -21, -98,-114, -21, -98,-115, - -21, -98,-116, -21, -98,-117, -21, -98,-118, -21, -98,-119, -21, -98,-120, -21, -98,-121, -21, -98, --122, -21, -98,-123, -21, -98,-124, -21, -98,-125, -21, -98,-126, -21, -98,-127, -21, -98,-128, -21, - -99, -65, -21, -99, -66, -21, -99, -67, -21, -99, -68, -21, -99, -69, -21, -99, -70, -21, -99, -71, - -21, -99, -72, -21, -99, -73, -21, -99, -74, -21, -99, -75, -21, -99, -76, -21, -99, -77, -21, -99, - -78, -21, -99, -79, -21, -99, -80, -21, -99, -81, -21, -99, -82, -21, -99, -83, -21, -99, -84, -21, - -99, -85, -21, -99, -86, -21, -99, -87, -21, -99, -88, -21, -99, -89, -21, -99, -90, -21, -99, -91, - -21, -99, -92, -21, -99, -93, -21, -99, -94, -21, -99, -95, -21, -99, -96, -21, -99, -97, -21, -99, - -98, -21, -99, -99, -21, -99,-100, -21, -99,-101, -21, -99,-102, -21, -99,-103, -21, -99,-104, -21, - -99,-105, -21, -99,-106, -21, -99,-107, -21, -99,-108, -21, -99,-109, -21, -99,-110, -21, -99,-111, - -21, -99,-112, -21, -99,-113, -21, -99,-114, -21, -99,-115, -21, -99,-116, -21, -99,-117, -21, -99, --118, -21, -99,-119, -21, -99,-120, -21, -99,-121, -21, -99,-122, -21, -99,-123, -21, -99,-124, -21, - -99,-125, -21, -99,-126, -21, -99,-127, -21, -99,-128, -21,-100, -65, -21,-100, -66, -21,-100, -67, - -21,-100, -68, -21,-100, -69, -21,-100, -70, -21,-100, -71, -21,-100, -72, -21,-100, -73, -21,-100, - -74, -21,-100, -75, -21,-100, -76, -21,-100, -77, -21,-100, -78, -21,-100, -79, -21,-100, -80, -21, --100, -81, -21,-100, -82, -21,-100, -83, -21,-100, -84, -21,-100, -85, -21,-100, -86, -21,-100, -87, - -21,-100, -88, -21,-100, -89, -21,-100, -90, -21,-100, -91, -21,-100, -92, -21,-100, -93, -21,-100, - -94, -21,-100, -95, -21,-100, -96, -21,-100, -97, -21,-100, -98, -21,-100, -99, -21,-100,-100, -21, --100,-101, -21,-100,-102, -21,-100,-103, -21,-100,-104, -21,-100,-105, -21,-100,-106, -21,-100,-107, - -21,-100,-108, -21,-100,-109, -21,-100,-110, -21,-100,-111, -21,-100,-112, -21,-100,-113, -21,-100, --114, -21,-100,-115, -21,-100,-116, -21,-100,-117, -21,-100,-118, -21,-100,-119, -21,-100,-120, -21, --100,-121, -21,-100,-122, -21,-100,-123, -21,-100,-124, -21,-100,-125, -21,-100,-126, -21,-100,-127, - -21,-100,-128, -21,-101, -65, -21,-101, -66, -21,-101, -67, -21,-101, -68, -21,-101, -69, -21,-101, - -70, -21,-101, -71, -21,-101, -72, -21,-101, -73, -21,-101, -74, -21,-101, -75, -21,-101, -76, -21, --101, -77, -21,-101, -78, -21,-101, -79, -21,-101, -80, -21,-101, -81, -21,-101, -82, -21,-101, -83, - -21,-101, -84, -21,-101, -85, -21,-101, -86, -21,-101, -87, -21,-101, -88, -21,-101, -89, -21,-101, - -90, -21,-101, -91, -21,-101, -92, -21,-101, -93, -21,-101, -94, -21,-101, -95, -21,-101, -96, -21, --101, -97, -21,-101, -98, -21,-101, -99, -21,-101,-100, -21,-101,-101, -21,-101,-102, -21,-101,-103, - -21,-101,-104, -21,-101,-105, -21,-101,-106, -21,-101,-107, -21,-101,-108, -21,-101,-109, -21,-101, --110, -21,-101,-111, -21,-101,-112, -21,-101,-113, -21,-101,-114, -21,-101,-115, -21,-101,-116, -21, --101,-117, -21,-101,-118, -21,-101,-119, -21,-101,-120, -21,-101,-121, -21,-101,-122, -21,-101,-123, - -21,-101,-124, -21,-101,-125, -21,-101,-126, -21,-101,-127, -21,-101,-128, -21,-102, -65, -21,-102, - -66, -21,-102, -67, -21,-102, -68, -21,-102, -69, -21,-102, -70, -21,-102, -71, -21,-102, -72, -21, --102, -73, -21,-102, -74, -21,-102, -75, -21,-102, -76, -21,-102, -77, -21,-102, -78, -21,-102, -79, - -21,-102, -80, -21,-102, -81, -21,-102, -82, -21,-102, -83, -21,-102, -84, -21,-102, -85, -21,-102, - -86, -21,-102, -87, -21,-102, -88, -21,-102, -89, -21,-102, -90, -21,-102, -91, -21,-102, -92, -21, --102, -93, -21,-102, -94, -21,-102, -95, -21,-102, -96, -21,-102, -97, -21,-102, -98, -21,-102, -99, - -21,-102,-100, -21,-102,-101, -21,-102,-102, -21,-102,-103, -21,-102,-104, -21,-102,-105, -21,-102, --106, -21,-102,-107, -21,-102,-108, -21,-102,-109, -21,-102,-110, -21,-102,-111, -21,-102,-112, -21, --102,-113, -21,-102,-114, -21,-102,-115, -21,-102,-116, -21,-102,-117, -21,-102,-118, -21,-102,-119, - -21,-102,-120, -21,-102,-121, -21,-102,-122, -21,-102,-123, -21,-102,-124, -21,-102,-125, -21,-102, --126, -21,-102,-127, -21,-102,-128, -21,-103, -65, -21,-103, -66, -21,-103, -67, -21,-103, -68, -21, --103, -69, -21,-103, -70, -21,-103, -71, -21,-103, -72, -21,-103, -73, -21,-103, -74, -21,-103, -75, - -21,-103, -76, -21,-103, -77, -21,-103, -78, -21,-103, -79, -21,-103, -80, -21,-103, -81, -21,-103, - -82, -21,-103, -83, -21,-103, -84, -21,-103, -85, -21,-103, -86, -21,-103, -87, -21,-103, -88, -21, --103, -89, -21,-103, -90, -21,-103, -91, -21,-103, -92, -21,-103, -93, -21,-103, -94, -21,-103, -95, - -21,-103, -96, -21,-103, -97, -21,-103, -98, -21,-103, -99, -21,-103,-100, -21,-103,-101, -21,-103, --102, -21,-103,-103, -21,-103,-104, -21,-103,-105, -21,-103,-106, -21,-103,-107, -21,-103,-108, -21, --103,-109, -21,-103,-110, -21,-103,-111, -21,-103,-112, -21,-103,-113, -21,-103,-114, -21,-103,-115, - -21,-103,-116, -21,-103,-117, -21,-103,-118, -21,-103,-119, -21,-103,-120, -21,-103,-121, -21,-103, --122, -21,-103,-123, -21,-103,-124, -21,-103,-125, -21,-103,-126, -21,-103,-127, -21,-103,-128, -21, --104, -65, -21,-104, -66, -21,-104, -67, -21,-104, -68, -21,-104, -69, -21,-104, -70, -21,-104, -71, - -21,-104, -72, -21,-104, -73, -21,-104, -74, -21,-104, -75, -21,-104, -76, -21,-104, -77, -21,-104, - -78, -21,-104, -79, -21,-104, -80, -21,-104, -81, -21,-104, -82, -21,-104, -83, -21,-104, -84, -21, --104, -85, -21,-104, -86, -21,-104, -87, -21,-104, -88, -21,-104, -89, -21,-104, -90, -21,-104, -91, - -21,-104, -92, -21,-104, -93, -21,-104, -94, -21,-104, -95, -21,-104, -96, -21,-104, -97, -21,-104, - -98, -21,-104, -99, -21,-104,-100, -21,-104,-101, -21,-104,-102, -21,-104,-103, -21,-104,-104, -21, --104,-105, -21,-104,-106, -21,-104,-107, -21,-104,-108, -21,-104,-109, -21,-104,-110, -21,-104,-111, - -21,-104,-112, -21,-104,-113, -21,-104,-114, -21,-104,-115, -21,-104,-116, -21,-104,-117, -21,-104, --118, -21,-104,-119, -21,-104,-120, -21,-104,-121, -21,-104,-122, -21,-104,-123, -21,-104,-124, -21, --104,-125, -21,-104,-126, -21,-104,-127, -21,-104,-128, -21,-105, -65, -21,-105, -66, -21,-105, -67, - -21,-105, -68, -21,-105, -69, -21,-105, -70, -21,-105, -71, -21,-105, -72, -21,-105, -73, -21,-105, - -74, -21,-105, -75, -21,-105, -76, -21,-105, -77, -21,-105, -78, -21,-105, -79, -21,-105, -80, -21, --105, -81, -21,-105, -82, -21,-105, -83, -21,-105, -84, -21,-105, -85, -21,-105, -86, -21,-105, -87, - -21,-105, -88, -21,-105, -89, -21,-105, -90, -21,-105, -91, -21,-105, -92, -21,-105, -93, -21,-105, - -94, -21,-105, -95, -21,-105, -96, -21,-105, -97, -21,-105, -98, -21,-105, -99, -21,-105,-100, -21, --105,-101, -21,-105,-102, -21,-105,-103, -21,-105,-104, -21,-105,-105, -21,-105,-106, -21,-105,-107, - -21,-105,-108, -21,-105,-109, -21,-105,-110, -21,-105,-111, -21,-105,-112, -21,-105,-113, -21,-105, --114, -21,-105,-115, -21,-105,-116, -21,-105,-117, -21,-105,-118, -21,-105,-119, -21,-105,-120, -21, --105,-121, -21,-105,-122, -21,-105,-123, -21,-105,-124, -21,-105,-125, -21,-105,-126, -21,-105,-127, - -21,-105,-128, -21,-106, -65, -21,-106, -66, -21,-106, -67, -21,-106, -68, -21,-106, -69, -21,-106, - -70, -21,-106, -71, -21,-106, -72, -21,-106, -73, -21,-106, -74, -21,-106, -75, -21,-106, -76, -21, --106, -77, -21,-106, -78, -21,-106, -79, -21,-106, -80, -21,-106, -81, -21,-106, -82, -21,-106, -83, - -21,-106, -84, -21,-106, -85, -21,-106, -86, -21,-106, -87, -21,-106, -88, -21,-106, -89, -21,-106, - -90, -21,-106, -91, -21,-106, -92, -21,-106, -93, -21,-106, -94, -21,-106, -95, -21,-106, -96, -21, --106, -97, -21,-106, -98, -21,-106, -99, -21,-106,-100, -21,-106,-101, -21,-106,-102, -21,-106,-103, - -21,-106,-104, -21,-106,-105, -21,-106,-106, -21,-106,-107, -21,-106,-108, -21,-106,-109, -21,-106, --110, -21,-106,-111, -21,-106,-112, -21,-106,-113, -21,-106,-114, -21,-106,-115, -21,-106,-116, -21, --106,-117, -21,-106,-118, -21,-106,-119, -21,-106,-120, -21,-106,-121, -21,-106,-122, -21,-106,-123, - -21,-106,-124, -21,-106,-125, -21,-106,-126, -21,-106,-127, -21,-106,-128, -21,-107, -65, -21,-107, - -66, -21,-107, -67, -21,-107, -68, -21,-107, -69, -21,-107, -70, -21,-107, -71, -21,-107, -72, -21, --107, -73, -21,-107, -74, -21,-107, -75, -21,-107, -76, -21,-107, -77, -21,-107, -78, -21,-107, -79, - -21,-107, -80, -21,-107, -81, -21,-107, -82, -21,-107, -83, -21,-107, -84, -21,-107, -85, -21,-107, - -86, -21,-107, -87, -21,-107, -88, -21,-107, -89, -21,-107, -90, -21,-107, -91, -21,-107, -92, -21, --107, -93, -21,-107, -94, -21,-107, -95, -21,-107, -96, -21,-107, -97, -21,-107, -98, -21,-107, -99, - -21,-107,-100, -21,-107,-101, -21,-107,-102, -21,-107,-103, -21,-107,-104, -21,-107,-105, -21,-107, --106, -21,-107,-107, -21,-107,-108, -21,-107,-109, -21,-107,-110, -21,-107,-111, -21,-107,-112, -21, --107,-113, -21,-107,-114, -21,-107,-115, -21,-107,-116, -21,-107,-117, -21,-107,-118, -21,-107,-119, - -21,-107,-120, -21,-107,-121, -21,-107,-122, -21,-107,-123, -21,-107,-124, -21,-107,-125, -21,-107, --126, -21,-107,-127, -21,-107,-128, -21,-108, -65, -21,-108, -66, -21,-108, -67, -21,-108, -68, -21, --108, -69, -21,-108, -70, -21,-108, -71, -21,-108, -72, -21,-108, -73, -21,-108, -74, -21,-108, -75, - -21,-108, -76, -21,-108, -77, -21,-108, -78, -21,-108, -79, -21,-108, -80, -21,-108, -81, -21,-108, - -82, -21,-108, -83, -21,-108, -84, -21,-108, -85, -21,-108, -86, -21,-108, -87, -21,-108, -88, -21, --108, -89, -21,-108, -90, -21,-108, -91, -21,-108, -92, -21,-108, -93, -21,-108, -94, -21,-108, -95, - -21,-108, -96, -21,-108, -97, -21,-108, -98, -21,-108, -99, -21,-108,-100, -21,-108,-101, -21,-108, --102, -21,-108,-103, -21,-108,-104, -21,-108,-105, -21,-108,-106, -21,-108,-107, -21,-108,-108, -21, --108,-109, -21,-108,-110, -21,-108,-111, -21,-108,-112, -21,-108,-113, -21,-108,-114, -21,-108,-115, - -21,-108,-116, -21,-108,-117, -21,-108,-118, -21,-108,-119, -21,-108,-120, -21,-108,-121, -21,-108, --122, -21,-108,-123, -21,-108,-124, -21,-108,-125, -21,-108,-126, -21,-108,-127, -21,-108,-128, -21, --109, -65, -21,-109, -66, -21,-109, -67, -21,-109, -68, -21,-109, -69, -21,-109, -70, -21,-109, -71, - -21,-109, -72, -21,-109, -73, -21,-109, -74, -21,-109, -75, -21,-109, -76, -21,-109, -77, -21,-109, - -78, -21,-109, -79, -21,-109, -80, -21,-109, -81, -21,-109, -82, -21,-109, -83, -21,-109, -84, -21, --109, -85, -21,-109, -86, -21,-109, -87, -21,-109, -88, -21,-109, -89, -21,-109, -90, -21,-109, -91, - -21,-109, -92, -21,-109, -93, -21,-109, -94, -21,-109, -95, -21,-109, -96, -21,-109, -97, -21,-109, - -98, -21,-109, -99, -21,-109,-100, -21,-109,-101, -21,-109,-102, -21,-109,-103, -21,-109,-104, -21, --109,-105, -21,-109,-106, -21,-109,-107, -21,-109,-108, -21,-109,-109, -21,-109,-110, -21,-109,-111, - -21,-109,-112, -21,-109,-113, -21,-109,-114, -21,-109,-115, -21,-109,-116, -21,-109,-117, -21,-109, --118, -21,-109,-119, -21,-109,-120, -21,-109,-121, -21,-109,-122, -21,-109,-123, -21,-109,-124, -21, --109,-125, -21,-109,-126, -21,-109,-127, -21,-109,-128, -21,-110, -65, -21,-110, -66, -21,-110, -67, - -21,-110, -68, -21,-110, -69, -21,-110, -70, -21,-110, -71, -21,-110, -72, -21,-110, -73, -21,-110, - -74, -21,-110, -75, -21,-110, -76, -21,-110, -77, -21,-110, -78, -21,-110, -79, -21,-110, -80, -21, --110, -81, -21,-110, -82, -21,-110, -83, -21,-110, -84, -21,-110, -85, -21,-110, -86, -21,-110, -87, - -21,-110, -88, -21,-110, -89, -21,-110, -90, -21,-110, -91, -21,-110, -92, -21,-110, -93, -21,-110, - -94, -21,-110, -95, -21,-110, -96, -21,-110, -97, -21,-110, -98, -21,-110, -99, -21,-110,-100, -21, --110,-101, -21,-110,-102, -21,-110,-103, -21,-110,-104, -21,-110,-105, -21,-110,-106, -21,-110,-107, - -21,-110,-108, -21,-110,-109, -21,-110,-110, -21,-110,-111, -21,-110,-112, -21,-110,-113, -21,-110, --114, -21,-110,-115, -21,-110,-116, -21,-110,-117, -21,-110,-118, -21,-110,-119, -21,-110,-120, -21, --110,-121, -21,-110,-122, -21,-110,-123, -21,-110,-124, -21,-110,-125, -21,-110,-126, -21,-110,-127, - -21,-110,-128, -21,-111, -65, -21,-111, -66, -21,-111, -67, -21,-111, -68, -21,-111, -69, -21,-111, - -70, -21,-111, -71, -21,-111, -72, -21,-111, -73, -21,-111, -74, -21,-111, -75, -21,-111, -76, -21, --111, -77, -21,-111, -78, -21,-111, -79, -21,-111, -80, -21,-111, -81, -21,-111, -82, -21,-111, -83, - -21,-111, -84, -21,-111, -85, -21,-111, -86, -21,-111, -87, -21,-111, -88, -21,-111, -89, -21,-111, - -90, -21,-111, -91, -21,-111, -92, -21,-111, -93, -21,-111, -94, -21,-111, -95, -21,-111, -96, -21, --111, -97, -21,-111, -98, -21,-111, -99, -21,-111,-100, -21,-111,-101, -21,-111,-102, -21,-111,-103, - -21,-111,-104, -21,-111,-105, -21,-111,-106, -21,-111,-107, -21,-111,-108, -21,-111,-109, -21,-111, --110, -21,-111,-111, -21,-111,-112, -21,-111,-113, -21,-111,-114, -21,-111,-115, -21,-111,-116, -21, --111,-117, -21,-111,-118, -21,-111,-119, -21,-111,-120, -21,-111,-121, -21,-111,-122, -21,-111,-123, - -21,-111,-124, -21,-111,-125, -21,-111,-126, -21,-111,-127, -21,-111,-128, -21,-112, -65, -21,-112, - -66, -21,-112, -67, -21,-112, -68, -21,-112, -69, -21,-112, -70, -21,-112, -71, -21,-112, -72, -21, --112, -73, -21,-112, -74, -21,-112, -75, -21,-112, -76, -21,-112, -77, -21,-112, -78, -21,-112, -79, - -21,-112, -80, -21,-112, -81, -21,-112, -82, -21,-112, -83, -21,-112, -84, -21,-112, -85, -21,-112, - -86, -21,-112, -87, -21,-112, -88, -21,-112, -89, -21,-112, -90, -21,-112, -91, -21,-112, -92, -21, --112, -93, -21,-112, -94, -21,-112, -95, -21,-112, -96, -21,-112, -97, -21,-112, -98, -21,-112, -99, - -21,-112,-100, -21,-112,-101, -21,-112,-102, -21,-112,-103, -21,-112,-104, -21,-112,-105, -21,-112, --106, -21,-112,-107, -21,-112,-108, -21,-112,-109, -21,-112,-110, -21,-112,-111, -21,-112,-112, -21, --112,-113, -21,-112,-114, -21,-112,-115, -21,-112,-116, -21,-112,-117, -21,-112,-118, -21,-112,-119, - -21,-112,-120, -21,-112,-121, -21,-112,-122, -21,-112,-123, -21,-112,-124, -21,-112,-125, -21,-112, --126, -21,-112,-127, -21,-112,-128, -21,-113, -65, -21,-113, -66, -21,-113, -67, -21,-113, -68, -21, --113, -69, -21,-113, -70, -21,-113, -71, -21,-113, -72, -21,-113, -73, -21,-113, -74, -21,-113, -75, - -21,-113, -76, -21,-113, -77, -21,-113, -78, -21,-113, -79, -21,-113, -80, -21,-113, -81, -21,-113, - -82, -21,-113, -83, -21,-113, -84, -21,-113, -85, -21,-113, -86, -21,-113, -87, -21,-113, -88, -21, --113, -89, -21,-113, -90, -21,-113, -91, -21,-113, -92, -21,-113, -93, -21,-113, -94, -21,-113, -95, - -21,-113, -96, -21,-113, -97, -21,-113, -98, -21,-113, -99, -21,-113,-100, -21,-113,-101, -21,-113, --102, -21,-113,-103, -21,-113,-104, -21,-113,-105, -21,-113,-106, -21,-113,-107, -21,-113,-108, -21, --113,-109, -21,-113,-110, -21,-113,-111, -21,-113,-112, -21,-113,-113, -21,-113,-114, -21,-113,-115, - -21,-113,-116, -21,-113,-117, -21,-113,-118, -21,-113,-119, -21,-113,-120, -21,-113,-121, -21,-113, --122, -21,-113,-123, -21,-113,-124, -21,-113,-125, -21,-113,-126, -21,-113,-127, -21,-113,-128, -21, --114, -65, -21,-114, -66, -21,-114, -67, -21,-114, -68, -21,-114, -69, -21,-114, -70, -21,-114, -71, - -21,-114, -72, -21,-114, -73, -21,-114, -74, -21,-114, -75, -21,-114, -76, -21,-114, -77, -21,-114, - -78, -21,-114, -79, -21,-114, -80, -21,-114, -81, -21,-114, -82, -21,-114, -83, -21,-114, -84, -21, --114, -85, -21,-114, -86, -21,-114, -87, -21,-114, -88, -21,-114, -89, -21,-114, -90, -21,-114, -91, - -21,-114, -92, -21,-114, -93, -21,-114, -94, -21,-114, -95, -21,-114, -96, -21,-114, -97, -21,-114, - -98, -21,-114, -99, -21,-114,-100, -21,-114,-101, -21,-114,-102, -21,-114,-103, -21,-114,-104, -21, --114,-105, -21,-114,-106, -21,-114,-107, -21,-114,-108, -21,-114,-109, -21,-114,-110, -21,-114,-111, - -21,-114,-112, -21,-114,-113, -21,-114,-114, -21,-114,-115, -21,-114,-116, -21,-114,-117, -21,-114, --118, -21,-114,-119, -21,-114,-120, -21,-114,-121, -21,-114,-122, -21,-114,-123, -21,-114,-124, -21, --114,-125, -21,-114,-126, -21,-114,-127, -21,-114,-128, -21,-115, -65, -21,-115, -66, -21,-115, -67, - -21,-115, -68, -21,-115, -69, -21,-115, -70, -21,-115, -71, -21,-115, -72, -21,-115, -73, -21,-115, - -74, -21,-115, -75, -21,-115, -76, -21,-115, -77, -21,-115, -78, -21,-115, -79, -21,-115, -80, -21, --115, -81, -21,-115, -82, -21,-115, -83, -21,-115, -84, -21,-115, -85, -21,-115, -86, -21,-115, -87, - -21,-115, -88, -21,-115, -89, -21,-115, -90, -21,-115, -91, -21,-115, -92, -21,-115, -93, -21,-115, - -94, -21,-115, -95, -21,-115, -96, -21,-115, -97, -21,-115, -98, -21,-115, -99, -21,-115,-100, -21, --115,-101, -21,-115,-102, -21,-115,-103, -21,-115,-104, -21,-115,-105, -21,-115,-106, -21,-115,-107, - -21,-115,-108, -21,-115,-109, -21,-115,-110, -21,-115,-111, -21,-115,-112, -21,-115,-113, -21,-115, --114, -21,-115,-115, -21,-115,-116, -21,-115,-117, -21,-115,-118, -21,-115,-119, -21,-115,-120, -21, --115,-121, -21,-115,-122, -21,-115,-123, -21,-115,-124, -21,-115,-125, -21,-115,-126, -21,-115,-127, - -21,-115,-128, -21,-116, -65, -21,-116, -66, -21,-116, -67, -21,-116, -68, -21,-116, -69, -21,-116, - -70, -21,-116, -71, -21,-116, -72, -21,-116, -73, -21,-116, -74, -21,-116, -75, -21,-116, -76, -21, --116, -77, -21,-116, -78, -21,-116, -79, -21,-116, -80, -21,-116, -81, -21,-116, -82, -21,-116, -83, - -21,-116, -84, -21,-116, -85, -21,-116, -86, -21,-116, -87, -21,-116, -88, -21,-116, -89, -21,-116, - -90, -21,-116, -91, -21,-116, -92, -21,-116, -93, -21,-116, -94, -21,-116, -95, -21,-116, -96, -21, --116, -97, -21,-116, -98, -21,-116, -99, -21,-116,-100, -21,-116,-101, -21,-116,-102, -21,-116,-103, - -21,-116,-104, -21,-116,-105, -21,-116,-106, -21,-116,-107, -21,-116,-108, -21,-116,-109, -21,-116, --110, -21,-116,-111, -21,-116,-112, -21,-116,-113, -21,-116,-114, -21,-116,-115, -21,-116,-116, -21, --116,-117, -21,-116,-118, -21,-116,-119, -21,-116,-120, -21,-116,-121, -21,-116,-122, -21,-116,-123, - -21,-116,-124, -21,-116,-125, -21,-116,-126, -21,-116,-127, -21,-116,-128, -21,-117, -65, -21,-117, - -66, -21,-117, -67, -21,-117, -68, -21,-117, -69, -21,-117, -70, -21,-117, -71, -21,-117, -72, -21, --117, -73, -21,-117, -74, -21,-117, -75, -21,-117, -76, -21,-117, -77, -21,-117, -78, -21,-117, -79, - -21,-117, -80, -21,-117, -81, -21,-117, -82, -21,-117, -83, -21,-117, -84, -21,-117, -85, -21,-117, - -86, -21,-117, -87, -21,-117, -88, -21,-117, -89, -21,-117, -90, -21,-117, -91, -21,-117, -92, -21, --117, -93, -21,-117, -94, -21,-117, -95, -21,-117, -96, -21,-117, -97, -21,-117, -98, -21,-117, -99, - -21,-117,-100, -21,-117,-101, -21,-117,-102, -21,-117,-103, -21,-117,-104, -21,-117,-105, -21,-117, --106, -21,-117,-107, -21,-117,-108, -21,-117,-109, -21,-117,-110, -21,-117,-111, -21,-117,-112, -21, --117,-113, -21,-117,-114, -21,-117,-115, -21,-117,-116, -21,-117,-117, -21,-117,-118, -21,-117,-119, - -21,-117,-120, -21,-117,-121, -21,-117,-122, -21,-117,-123, -21,-117,-124, -21,-117,-125, -21,-117, --126, -21,-117,-127, -21,-117,-128, -21,-118, -65, -21,-118, -66, -21,-118, -67, -21,-118, -68, -21, --118, -69, -21,-118, -70, -21,-118, -71, -21,-118, -72, -21,-118, -73, -21,-118, -74, -21,-118, -75, - -21,-118, -76, -21,-118, -77, -21,-118, -78, -21,-118, -79, -21,-118, -80, -21,-118, -81, -21,-118, - -82, -21,-118, -83, -21,-118, -84, -21,-118, -85, -21,-118, -86, -21,-118, -87, -21,-118, -88, -21, --118, -89, -21,-118, -90, -21,-118, -91, -21,-118, -92, -21,-118, -93, -21,-118, -94, -21,-118, -95, - -21,-118, -96, -21,-118, -97, -21,-118, -98, -21,-118, -99, -21,-118,-100, -21,-118,-101, -21,-118, --102, -21,-118,-103, -21,-118,-104, -21,-118,-105, -21,-118,-106, -21,-118,-107, -21,-118,-108, -21, --118,-109, -21,-118,-110, -21,-118,-111, -21,-118,-112, -21,-118,-113, -21,-118,-114, -21,-118,-115, - -21,-118,-116, -21,-118,-117, -21,-118,-118, -21,-118,-119, -21,-118,-120, -21,-118,-121, -21,-118, --122, -21,-118,-123, -21,-118,-124, -21,-118,-125, -21,-118,-126, -21,-118,-127, -21,-118,-128, -21, --119, -65, -21,-119, -66, -21,-119, -67, -21,-119, -68, -21,-119, -69, -21,-119, -70, -21,-119, -71, - -21,-119, -72, -21,-119, -73, -21,-119, -74, -21,-119, -75, -21,-119, -76, -21,-119, -77, -21,-119, - -78, -21,-119, -79, -21,-119, -80, -21,-119, -81, -21,-119, -82, -21,-119, -83, -21,-119, -84, -21, --119, -85, -21,-119, -86, -21,-119, -87, -21,-119, -88, -21,-119, -89, -21,-119, -90, -21,-119, -91, - -21,-119, -92, -21,-119, -93, -21,-119, -94, -21,-119, -95, -21,-119, -96, -21,-119, -97, -21,-119, - -98, -21,-119, -99, -21,-119,-100, -21,-119,-101, -21,-119,-102, -21,-119,-103, -21,-119,-104, -21, --119,-105, -21,-119,-106, -21,-119,-107, -21,-119,-108, -21,-119,-109, -21,-119,-110, -21,-119,-111, - -21,-119,-112, -21,-119,-113, -21,-119,-114, -21,-119,-115, -21,-119,-116, -21,-119,-117, -21,-119, --118, -21,-119,-119, -21,-119,-120, -21,-119,-121, -21,-119,-122, -21,-119,-123, -21,-119,-124, -21, --119,-125, -21,-119,-126, -21,-119,-127, -21,-119,-128, -21,-120, -65, -21,-120, -66, -21,-120, -67, - -21,-120, -68, -21,-120, -69, -21,-120, -70, -21,-120, -71, -21,-120, -72, -21,-120, -73, -21,-120, - -74, -21,-120, -75, -21,-120, -76, -21,-120, -77, -21,-120, -78, -21,-120, -79, -21,-120, -80, -21, --120, -81, -21,-120, -82, -21,-120, -83, -21,-120, -84, -21,-120, -85, -21,-120, -86, -21,-120, -87, - -21,-120, -88, -21,-120, -89, -21,-120, -90, -21,-120, -91, -21,-120, -92, -21,-120, -93, -21,-120, - -94, -21,-120, -95, -21,-120, -96, -21,-120, -97, -21,-120, -98, -21,-120, -99, -21,-120,-100, -21, --120,-101, -21,-120,-102, -21,-120,-103, -21,-120,-104, -21,-120,-105, -21,-120,-106, -21,-120,-107, - -21,-120,-108, -21,-120,-109, -21,-120,-110, -21,-120,-111, -21,-120,-112, -21,-120,-113, -21,-120, --114, -21,-120,-115, -21,-120,-116, -21,-120,-117, -21,-120,-118, -21,-120,-119, -21,-120,-120, -21, --120,-121, -21,-120,-122, -21,-120,-123, -21,-120,-124, -21,-120,-125, -21,-120,-126, -21,-120,-127, - -21,-120,-128, -21,-121, -65, -21,-121, -66, -21,-121, -67, -21,-121, -68, -21,-121, -69, -21,-121, - -70, -21,-121, -71, -21,-121, -72, -21,-121, -73, -21,-121, -74, -21,-121, -75, -21,-121, -76, -21, --121, -77, -21,-121, -78, -21,-121, -79, -21,-121, -80, -21,-121, -81, -21,-121, -82, -21,-121, -83, - -21,-121, -84, -21,-121, -85, -21,-121, -86, -21,-121, -87, -21,-121, -88, -21,-121, -89, -21,-121, - -90, -21,-121, -91, -21,-121, -92, -21,-121, -93, -21,-121, -94, -21,-121, -95, -21,-121, -96, -21, --121, -97, -21,-121, -98, -21,-121, -99, -21,-121,-100, -21,-121,-101, -21,-121,-102, -21,-121,-103, - -21,-121,-104, -21,-121,-105, -21,-121,-106, -21,-121,-107, -21,-121,-108, -21,-121,-109, -21,-121, --110, -21,-121,-111, -21,-121,-112, -21,-121,-113, -21,-121,-114, -21,-121,-115, -21,-121,-116, -21, --121,-117, -21,-121,-118, -21,-121,-119, -21,-121,-120, -21,-121,-121, -21,-121,-122, -21,-121,-123, - -21,-121,-124, -21,-121,-125, -21,-121,-126, -21,-121,-127, -21,-121,-128, -21,-122, -65, -21,-122, - -66, -21,-122, -67, -21,-122, -68, -21,-122, -69, -21,-122, -70, -21,-122, -71, -21,-122, -72, -21, --122, -73, -21,-122, -74, -21,-122, -75, -21,-122, -76, -21,-122, -77, -21,-122, -78, -21,-122, -79, - -21,-122, -80, -21,-122, -81, -21,-122, -82, -21,-122, -83, -21,-122, -84, -21,-122, -85, -21,-122, - -86, -21,-122, -87, -21,-122, -88, -21,-122, -89, -21,-122, -90, -21,-122, -91, -21,-122, -92, -21, --122, -93, -21,-122, -94, -21,-122, -95, -21,-122, -96, -21,-122, -97, -21,-122, -98, -21,-122, -99, - -21,-122,-100, -21,-122,-101, -21,-122,-102, -21,-122,-103, -21,-122,-104, -21,-122,-105, -21,-122, --106, -21,-122,-107, -21,-122,-108, -21,-122,-109, -21,-122,-110, -21,-122,-111, -21,-122,-112, -21, --122,-113, -21,-122,-114, -21,-122,-115, -21,-122,-116, -21,-122,-117, -21,-122,-118, -21,-122,-119, - -21,-122,-120, -21,-122,-121, -21,-122,-122, -21,-122,-123, -21,-122,-124, -21,-122,-125, -21,-122, --126, -21,-122,-127, -21,-122,-128, -21,-123, -65, -21,-123, -66, -21,-123, -67, -21,-123, -68, -21, --123, -69, -21,-123, -70, -21,-123, -71, -21,-123, -72, -21,-123, -73, -21,-123, -74, -21,-123, -75, - -21,-123, -76, -21,-123, -77, -21,-123, -78, -21,-123, -79, -21,-123, -80, -21,-123, -81, -21,-123, - -82, -21,-123, -83, -21,-123, -84, -21,-123, -85, -21,-123, -86, -21,-123, -87, -21,-123, -88, -21, --123, -89, -21,-123, -90, -21,-123, -91, -21,-123, -92, -21,-123, -93, -21,-123, -94, -21,-123, -95, - -21,-123, -96, -21,-123, -97, -21,-123, -98, -21,-123, -99, -21,-123,-100, -21,-123,-101, -21,-123, --102, -21,-123,-103, -21,-123,-104, -21,-123,-105, -21,-123,-106, -21,-123,-107, -21,-123,-108, -21, --123,-109, -21,-123,-110, -21,-123,-111, -21,-123,-112, -21,-123,-113, -21,-123,-114, -21,-123,-115, - -21,-123,-116, -21,-123,-117, -21,-123,-118, -21,-123,-119, -21,-123,-120, -21,-123,-121, -21,-123, --122, -21,-123,-123, -21,-123,-124, -21,-123,-125, -21,-123,-126, -21,-123,-127, -21,-123,-128, -21, --124, -65, -21,-124, -66, -21,-124, -67, -21,-124, -68, -21,-124, -69, -21,-124, -70, -21,-124, -71, - -21,-124, -72, -21,-124, -73, -21,-124, -74, -21,-124, -75, -21,-124, -76, -21,-124, -77, -21,-124, - -78, -21,-124, -79, -21,-124, -80, -21,-124, -81, -21,-124, -82, -21,-124, -83, -21,-124, -84, -21, --124, -85, -21,-124, -86, -21,-124, -87, -21,-124, -88, -21,-124, -89, -21,-124, -90, -21,-124, -91, - -21,-124, -92, -21,-124, -93, -21,-124, -94, -21,-124, -95, -21,-124, -96, -21,-124, -97, -21,-124, - -98, -21,-124, -99, -21,-124,-100, -21,-124,-101, -21,-124,-102, -21,-124,-103, -21,-124,-104, -21, --124,-105, -21,-124,-106, -21,-124,-107, -21,-124,-108, -21,-124,-109, -21,-124,-110, -21,-124,-111, - -21,-124,-112, -21,-124,-113, -21,-124,-114, -21,-124,-115, -21,-124,-116, -21,-124,-117, -21,-124, --118, -21,-124,-119, -21,-124,-120, -21,-124,-121, -21,-124,-122, -21,-124,-123, -21,-124,-124, -21, --124,-125, -21,-124,-126, -21,-124,-127, -21,-124,-128, -21,-125, -65, -21,-125, -66, -21,-125, -67, - -21,-125, -68, -21,-125, -69, -21,-125, -70, -21,-125, -71, -21,-125, -72, -21,-125, -73, -21,-125, - -74, -21,-125, -75, -21,-125, -76, -21,-125, -77, -21,-125, -78, -21,-125, -79, -21,-125, -80, -21, --125, -81, -21,-125, -82, -21,-125, -83, -21,-125, -84, -21,-125, -85, -21,-125, -86, -21,-125, -87, - -21,-125, -88, -21,-125, -89, -21,-125, -90, -21,-125, -91, -21,-125, -92, -21,-125, -93, -21,-125, - -94, -21,-125, -95, -21,-125, -96, -21,-125, -97, -21,-125, -98, -21,-125, -99, -21,-125,-100, -21, --125,-101, -21,-125,-102, -21,-125,-103, -21,-125,-104, -21,-125,-105, -21,-125,-106, -21,-125,-107, - -21,-125,-108, -21,-125,-109, -21,-125,-110, -21,-125,-111, -21,-125,-112, -21,-125,-113, -21,-125, --114, -21,-125,-115, -21,-125,-116, -21,-125,-117, -21,-125,-118, -21,-125,-119, -21,-125,-120, -21, --125,-121, -21,-125,-122, -21,-125,-123, -21,-125,-124, -21,-125,-125, -21,-125,-126, -21,-125,-127, - -21,-125,-128, -21,-126, -65, -21,-126, -66, -21,-126, -67, -21,-126, -68, -21,-126, -69, -21,-126, - -70, -21,-126, -71, -21,-126, -72, -21,-126, -73, -21,-126, -74, -21,-126, -75, -21,-126, -76, -21, --126, -77, -21,-126, -78, -21,-126, -79, -21,-126, -80, -21,-126, -81, -21,-126, -82, -21,-126, -83, - -21,-126, -84, -21,-126, -85, -21,-126, -86, -21,-126, -87, -21,-126, -88, -21,-126, -89, -21,-126, - -90, -21,-126, -91, -21,-126, -92, -21,-126, -93, -21,-126, -94, -21,-126, -95, -21,-126, -96, -21, --126, -97, -21,-126, -98, -21,-126, -99, -21,-126,-100, -21,-126,-101, -21,-126,-102, -21,-126,-103, - -21,-126,-104, -21,-126,-105, -21,-126,-106, -21,-126,-107, -21,-126,-108, -21,-126,-109, -21,-126, --110, -21,-126,-111, -21,-126,-112, -21,-126,-113, -21,-126,-114, -21,-126,-115, -21,-126,-116, -21, --126,-117, -21,-126,-118, -21,-126,-119, -21,-126,-120, -21,-126,-121, -21,-126,-122, -21,-126,-123, - -21,-126,-124, -21,-126,-125, -21,-126,-126, -21,-126,-127, -21,-126,-128, -21,-127, -65, -21,-127, - -66, -21,-127, -67, -21,-127, -68, -21,-127, -69, -21,-127, -70, -21,-127, -71, -21,-127, -72, -21, --127, -73, -21,-127, -74, -21,-127, -75, -21,-127, -76, -21,-127, -77, -21,-127, -78, -21,-127, -79, - -21,-127, -80, -21,-127, -81, -21,-127, -82, -21,-127, -83, -21,-127, -84, -21,-127, -85, -21,-127, - -86, -21,-127, -87, -21,-127, -88, -21,-127, -89, -21,-127, -90, -21,-127, -91, -21,-127, -92, -21, --127, -93, -21,-127, -94, -21,-127, -95, -21,-127, -96, -21,-127, -97, -21,-127, -98, -21,-127, -99, - -21,-127,-100, -21,-127,-101, -21,-127,-102, -21,-127,-103, -21,-127,-104, -21,-127,-105, -21,-127, --106, -21,-127,-107, -21,-127,-108, -21,-127,-109, -21,-127,-110, -21,-127,-111, -21,-127,-112, -21, --127,-113, -21,-127,-114, -21,-127,-115, -21,-127,-116, -21,-127,-117, -21,-127,-118, -21,-127,-119, - -21,-127,-120, -21,-127,-121, -21,-127,-122, -21,-127,-123, -21,-127,-124, -21,-127,-125, -21,-127, --126, -21,-127,-127, -21,-127,-128, -21,-128, -65, -21,-128, -66, -21,-128, -67, -21,-128, -68, -21, --128, -69, -21,-128, -70, -21,-128, -71, -21,-128, -72, -21,-128, -73, -21,-128, -74, -21,-128, -75, - -21,-128, -76, -21,-128, -77, -21,-128, -78, -21,-128, -79, -21,-128, -80, -21,-128, -81, -21,-128, - -82, -21,-128, -83, -21,-128, -84, -21,-128, -85, -21,-128, -86, -21,-128, -87, -21,-128, -88, -21, --128, -89, -21,-128, -90, -21,-128, -91, -21,-128, -92, -21,-128, -93, -21,-128, -94, -21,-128, -95, - -21,-128, -96, -21,-128, -97, -21,-128, -98, -21,-128, -99, -21,-128,-100, -21,-128,-101, -21,-128, --102, -21,-128,-103, -21,-128,-104, -21,-128,-105, -21,-128,-106, -21,-128,-107, -21,-128,-108, -21, --128,-109, -21,-128,-110, -21,-128,-111, -21,-128,-112, -21,-128,-113, -21,-128,-114, -21,-128,-115, - -21,-128,-116, -21,-128,-117, -21,-128,-118, -21,-128,-119, -21,-128,-120, -21,-128,-121, -21,-128, --122, -21,-128,-123, -21,-128,-124, -21,-128,-125, -21,-128,-126, -21,-128,-127, -21,-128,-128, -22, - -65, -65, -22, -65, -66, -22, -65, -67, -22, -65, -68, -22, -65, -69, -22, -65, -70, -22, -65, -71, - -22, -65, -72, -22, -65, -73, -22, -65, -74, -22, -65, -75, -22, -65, -76, -22, -65, -77, -22, -65, - -78, -22, -65, -79, -22, -65, -80, -22, -65, -81, -22, -65, -82, -22, -65, -83, -22, -65, -84, -22, - -65, -85, -22, -65, -86, -22, -65, -87, -22, -65, -88, -22, -65, -89, -22, -65, -90, -22, -65, -91, - -22, -65, -92, -22, -65, -93, -22, -65, -94, -22, -65, -95, -22, -65, -96, -22, -65, -97, -22, -65, - -98, -22, -65, -99, -22, -65,-100, -22, -65,-101, -22, -65,-102, -22, -65,-103, -22, -65,-104, -22, - -65,-105, -22, -65,-106, -22, -65,-107, -22, -65,-108, -22, -65,-109, -22, -65,-110, -22, -65,-111, - -22, -65,-112, -22, -65,-113, -22, -65,-114, -22, -65,-115, -22, -65,-116, -22, -65,-117, -22, -65, --118, -22, -65,-119, -22, -65,-120, -22, -65,-121, -22, -65,-122, -22, -65,-123, -22, -65,-124, -22, - -65,-125, -22, -65,-126, -22, -65,-127, -22, -65,-128, -22, -66, -65, -22, -66, -66, -22, -66, -67, - -22, -66, -68, -22, -66, -69, -22, -66, -70, -22, -66, -71, -22, -66, -72, -22, -66, -73, -22, -66, - -74, -22, -66, -75, -22, -66, -76, -22, -66, -77, -22, -66, -78, -22, -66, -79, -22, -66, -80, -22, - -66, -81, -22, -66, -82, -22, -66, -83, -22, -66, -84, -22, -66, -85, -22, -66, -86, -22, -66, -87, - -22, -66, -88, -22, -66, -89, -22, -66, -90, -22, -66, -91, -22, -66, -92, -22, -66, -93, -22, -66, - -94, -22, -66, -95, -22, -66, -96, -22, -66, -97, -22, -66, -98, -22, -66, -99, -22, -66,-100, -22, - -66,-101, -22, -66,-102, -22, -66,-103, -22, -66,-104, -22, -66,-105, -22, -66,-106, -22, -66,-107, - -22, -66,-108, -22, -66,-109, -22, -66,-110, -22, -66,-111, -22, -66,-112, -22, -66,-113, -22, -66, --114, -22, -66,-115, -22, -66,-116, -22, -66,-117, -22, -66,-118, -22, -66,-119, -22, -66,-120, -22, - -66,-121, -22, -66,-122, -22, -66,-123, -22, -66,-124, -22, -66,-125, -22, -66,-126, -22, -66,-127, - -22, -66,-128, -22, -67, -65, -22, -67, -66, -22, -67, -67, -22, -67, -68, -22, -67, -69, -22, -67, - -70, -22, -67, -71, -22, -67, -72, -22, -67, -73, -22, -67, -74, -22, -67, -75, -22, -67, -76, -22, - -67, -77, -22, -67, -78, -22, -67, -79, -22, -67, -80, -22, -67, -81, -22, -67, -82, -22, -67, -83, - -22, -67, -84, -22, -67, -85, -22, -67, -86, -22, -67, -87, -22, -67, -88, -22, -67, -89, -22, -67, - -90, -22, -67, -91, -22, -67, -92, -22, -67, -93, -22, -67, -94, -22, -67, -95, -22, -67, -96, -22, - -67, -97, -22, -67, -98, -22, -67, -99, -22, -67,-100, -22, -67,-101, -22, -67,-102, -22, -67,-103, - -22, -67,-104, -22, -67,-105, -22, -67,-106, -22, -67,-107, -22, -67,-108, -22, -67,-109, -22, -67, --110, -22, -67,-111, -22, -67,-112, -22, -67,-113, -22, -67,-114, -22, -67,-115, -22, -67,-116, -22, - -67,-117, -22, -67,-118, -22, -67,-119, -22, -67,-120, -22, -67,-121, -22, -67,-122, -22, -67,-123, - -22, -67,-124, -22, -67,-125, -22, -67,-126, -22, -67,-127, -22, -67,-128, -22, -68, -65, -22, -68, - -66, -22, -68, -67, -22, -68, -68, -22, -68, -69, -22, -68, -70, -22, -68, -71, -22, -68, -72, -22, - -68, -73, -22, -68, -74, -22, -68, -75, -22, -68, -76, -22, -68, -77, -22, -68, -78, -22, -68, -79, - -22, -68, -80, -22, -68, -81, -22, -68, -82, -22, -68, -83, -22, -68, -84, -22, -68, -85, -22, -68, - -86, -22, -68, -87, -22, -68, -88, -22, -68, -89, -22, -68, -90, -22, -68, -91, -22, -68, -92, -22, - -68, -93, -22, -68, -94, -22, -68, -95, -22, -68, -96, -22, -68, -97, -22, -68, -98, -22, -68, -99, - -22, -68,-100, -22, -68,-101, -22, -68,-102, -22, -68,-103, -22, -68,-104, -22, -68,-105, -22, -68, --106, -22, -68,-107, -22, -68,-108, -22, -68,-109, -22, -68,-110, -22, -68,-111, -22, -68,-112, -22, - -68,-113, -22, -68,-114, -22, -68,-115, -22, -68,-116, -22, -68,-117, -22, -68,-118, -22, -68,-119, - -22, -68,-120, -22, -68,-121, -22, -68,-122, -22, -68,-123, -22, -68,-124, -22, -68,-125, -22, -68, --126, -22, -68,-127, -22, -68,-128, -22, -69, -65, -22, -69, -66, -22, -69, -67, -22, -69, -68, -22, - -69, -69, -22, -69, -70, -22, -69, -71, -22, -69, -72, -22, -69, -73, -22, -69, -74, -22, -69, -75, - -22, -69, -76, -22, -69, -77, -22, -69, -78, -22, -69, -79, -22, -69, -80, -22, -69, -81, -22, -69, - -82, -22, -69, -83, -22, -69, -84, -22, -69, -85, -22, -69, -86, -22, -69, -87, -22, -69, -88, -22, - -69, -89, -22, -69, -90, -22, -69, -91, -22, -69, -92, -22, -69, -93, -22, -69, -94, -22, -69, -95, - -22, -69, -96, -22, -69, -97, -22, -69, -98, -22, -69, -99, -22, -69,-100, -22, -69,-101, -22, -69, --102, -22, -69,-103, -22, -69,-104, -22, -69,-105, -22, -69,-106, -22, -69,-107, -22, -69,-108, -22, - -69,-109, -22, -69,-110, -22, -69,-111, -22, -69,-112, -22, -69,-113, -22, -69,-114, -22, -69,-115, - -22, -69,-116, -22, -69,-117, -22, -69,-118, -22, -69,-119, -22, -69,-120, -22, -69,-121, -22, -69, --122, -22, -69,-123, -22, -69,-124, -22, -69,-125, -22, -69,-126, -22, -69,-127, -22, -69,-128, -22, - -70, -65, -22, -70, -66, -22, -70, -67, -22, -70, -68, -22, -70, -69, -22, -70, -70, -22, -70, -71, - -22, -70, -72, -22, -70, -73, -22, -70, -74, -22, -70, -75, -22, -70, -76, -22, -70, -77, -22, -70, - -78, -22, -70, -79, -22, -70, -80, -22, -70, -81, -22, -70, -82, -22, -70, -83, -22, -70, -84, -22, - -70, -85, -22, -70, -86, -22, -70, -87, -22, -70, -88, -22, -70, -89, -22, -70, -90, -22, -70, -91, - -22, -70, -92, -22, -70, -93, -22, -70, -94, -22, -70, -95, -22, -70, -96, -22, -70, -97, -22, -70, - -98, -22, -70, -99, -22, -70,-100, -22, -70,-101, -22, -70,-102, -22, -70,-103, -22, -70,-104, -22, - -70,-105, -22, -70,-106, -22, -70,-107, -22, -70,-108, -22, -70,-109, -22, -70,-110, -22, -70,-111, - -22, -70,-112, -22, -70,-113, -22, -70,-114, -22, -70,-115, -22, -70,-116, -22, -70,-117, -22, -70, --118, -22, -70,-119, -22, -70,-120, -22, -70,-121, -22, -70,-122, -22, -70,-123, -22, -70,-124, -22, - -70,-125, -22, -70,-126, -22, -70,-127, -22, -70,-128, -22, -71, -65, -22, -71, -66, -22, -71, -67, - -22, -71, -68, -22, -71, -69, -22, -71, -70, -22, -71, -71, -22, -71, -72, -22, -71, -73, -22, -71, - -74, -22, -71, -75, -22, -71, -76, -22, -71, -77, -22, -71, -78, -22, -71, -79, -22, -71, -80, -22, - -71, -81, -22, -71, -82, -22, -71, -83, -22, -71, -84, -22, -71, -85, -22, -71, -86, -22, -71, -87, - -22, -71, -88, -22, -71, -89, -22, -71, -90, -22, -71, -91, -22, -71, -92, -22, -71, -93, -22, -71, - -94, -22, -71, -95, -22, -71, -96, -22, -71, -97, -22, -71, -98, -22, -71, -99, -22, -71,-100, -22, - -71,-101, -22, -71,-102, -22, -71,-103, -22, -71,-104, -22, -71,-105, -22, -71,-106, -22, -71,-107, - -22, -71,-108, -22, -71,-109, -22, -71,-110, -22, -71,-111, -22, -71,-112, -22, -71,-113, -22, -71, --114, -22, -71,-115, -22, -71,-116, -22, -71,-117, -22, -71,-118, -22, -71,-119, -22, -71,-120, -22, - -71,-121, -22, -71,-122, -22, -71,-123, -22, -71,-124, -22, -71,-125, -22, -71,-126, -22, -71,-127, - -22, -71,-128, -22, -72, -65, -22, -72, -66, -22, -72, -67, -22, -72, -68, -22, -72, -69, -22, -72, - -70, -22, -72, -71, -22, -72, -72, -22, -72, -73, -22, -72, -74, -22, -72, -75, -22, -72, -76, -22, - -72, -77, -22, -72, -78, -22, -72, -79, -22, -72, -80, -22, -72, -81, -22, -72, -82, -22, -72, -83, - -22, -72, -84, -22, -72, -85, -22, -72, -86, -22, -72, -87, -22, -72, -88, -22, -72, -89, -22, -72, - -90, -22, -72, -91, -22, -72, -92, -22, -72, -93, -22, -72, -94, -22, -72, -95, -22, -72, -96, -22, - -72, -97, -22, -72, -98, -22, -72, -99, -22, -72,-100, -22, -72,-101, -22, -72,-102, -22, -72,-103, - -22, -72,-104, -22, -72,-105, -22, -72,-106, -22, -72,-107, -22, -72,-108, -22, -72,-109, -22, -72, --110, -22, -72,-111, -22, -72,-112, -22, -72,-113, -22, -72,-114, -22, -72,-115, -22, -72,-116, -22, - -72,-117, -22, -72,-118, -22, -72,-119, -22, -72,-120, -22, -72,-121, -22, -72,-122, -22, -72,-123, - -22, -72,-124, -22, -72,-125, -22, -72,-126, -22, -72,-127, -22, -72,-128, -22, -73, -65, -22, -73, - -66, -22, -73, -67, -22, -73, -68, -22, -73, -69, -22, -73, -70, -22, -73, -71, -22, -73, -72, -22, - -73, -73, -22, -73, -74, -22, -73, -75, -22, -73, -76, -22, -73, -77, -22, -73, -78, -22, -73, -79, - -22, -73, -80, -22, -73, -81, -22, -73, -82, -22, -73, -83, -22, -73, -84, -22, -73, -85, -22, -73, - -86, -22, -73, -87, -22, -73, -88, -22, -73, -89, -22, -73, -90, -22, -73, -91, -22, -73, -92, -22, - -73, -93, -22, -73, -94, -22, -73, -95, -22, -73, -96, -22, -73, -97, -22, -73, -98, -22, -73, -99, - -22, -73,-100, -22, -73,-101, -22, -73,-102, -22, -73,-103, -22, -73,-104, -22, -73,-105, -22, -73, --106, -22, -73,-107, -22, -73,-108, -22, -73,-109, -22, -73,-110, -22, -73,-111, -22, -73,-112, -22, - -73,-113, -22, -73,-114, -22, -73,-115, -22, -73,-116, -22, -73,-117, -22, -73,-118, -22, -73,-119, - -22, -73,-120, -22, -73,-121, -22, -73,-122, -22, -73,-123, -22, -73,-124, -22, -73,-125, -22, -73, --126, -22, -73,-127, -22, -73,-128, -22, -74, -65, -22, -74, -66, -22, -74, -67, -22, -74, -68, -22, - -74, -69, -22, -74, -70, -22, -74, -71, -22, -74, -72, -22, -74, -73, -22, -74, -74, -22, -74, -75, - -22, -74, -76, -22, -74, -77, -22, -74, -78, -22, -74, -79, -22, -74, -80, -22, -74, -81, -22, -74, - -82, -22, -74, -83, -22, -74, -84, -22, -74, -85, -22, -74, -86, -22, -74, -87, -22, -74, -88, -22, - -74, -89, -22, -74, -90, -22, -74, -91, -22, -74, -92, -22, -74, -93, -22, -74, -94, -22, -74, -95, - -22, -74, -96, -22, -74, -97, -22, -74, -98, -22, -74, -99, -22, -74,-100, -22, -74,-101, -22, -74, --102, -22, -74,-103, -22, -74,-104, -22, -74,-105, -22, -74,-106, -22, -74,-107, -22, -74,-108, -22, - -74,-109, -22, -74,-110, -22, -74,-111, -22, -74,-112, -22, -74,-113, -22, -74,-114, -22, -74,-115, - -22, -74,-116, -22, -74,-117, -22, -74,-118, -22, -74,-119, -22, -74,-120, -22, -74,-121, -22, -74, --122, -22, -74,-123, -22, -74,-124, -22, -74,-125, -22, -74,-126, -22, -74,-127, -22, -74,-128, -22, - -75, -65, -22, -75, -66, -22, -75, -67, -22, -75, -68, -22, -75, -69, -22, -75, -70, -22, -75, -71, - -22, -75, -72, -22, -75, -73, -22, -75, -74, -22, -75, -75, -22, -75, -76, -22, -75, -77, -22, -75, - -78, -22, -75, -79, -22, -75, -80, -22, -75, -81, -22, -75, -82, -22, -75, -83, -22, -75, -84, -22, - -75, -85, -22, -75, -86, -22, -75, -87, -22, -75, -88, -22, -75, -89, -22, -75, -90, -22, -75, -91, - -22, -75, -92, -22, -75, -93, -22, -75, -94, -22, -75, -95, -22, -75, -96, -22, -75, -97, -22, -75, - -98, -22, -75, -99, -22, -75,-100, -22, -75,-101, -22, -75,-102, -22, -75,-103, -22, -75,-104, -22, - -75,-105, -22, -75,-106, -22, -75,-107, -22, -75,-108, -22, -75,-109, -22, -75,-110, -22, -75,-111, - -22, -75,-112, -22, -75,-113, -22, -75,-114, -22, -75,-115, -22, -75,-116, -22, -75,-117, -22, -75, --118, -22, -75,-119, -22, -75,-120, -22, -75,-121, -22, -75,-122, -22, -75,-123, -22, -75,-124, -22, - -75,-125, -22, -75,-126, -22, -75,-127, -22, -75,-128, -22, -76, -65, -22, -76, -66, -22, -76, -67, - -22, -76, -68, -22, -76, -69, -22, -76, -70, -22, -76, -71, -22, -76, -72, -22, -76, -73, -22, -76, - -74, -22, -76, -75, -22, -76, -76, -22, -76, -77, -22, -76, -78, -22, -76, -79, -22, -76, -80, -22, - -76, -81, -22, -76, -82, -22, -76, -83, -22, -76, -84, -22, -76, -85, -22, -76, -86, -22, -76, -87, - -22, -76, -88, -22, -76, -89, -22, -76, -90, -22, -76, -91, -22, -76, -92, -22, -76, -93, -22, -76, - -94, -22, -76, -95, -22, -76, -96, -22, -76, -97, -22, -76, -98, -22, -76, -99, -22, -76,-100, -22, - -76,-101, -22, -76,-102, -22, -76,-103, -22, -76,-104, -22, -76,-105, -22, -76,-106, -22, -76,-107, - -22, -76,-108, -22, -76,-109, -22, -76,-110, -22, -76,-111, -22, -76,-112, -22, -76,-113, -22, -76, --114, -22, -76,-115, -22, -76,-116, -22, -76,-117, -22, -76,-118, -22, -76,-119, -22, -76,-120, -22, - -76,-121, -22, -76,-122, -22, -76,-123, -22, -76,-124, -22, -76,-125, -22, -76,-126, -22, -76,-127, - -22, -76,-128, -22, -77, -65, -22, -77, -66, -22, -77, -67, -22, -77, -68, -22, -77, -69, -22, -77, - -70, -22, -77, -71, -22, -77, -72, -22, -77, -73, -22, -77, -74, -22, -77, -75, -22, -77, -76, -22, - -77, -77, -22, -77, -78, -22, -77, -79, -22, -77, -80, -22, -77, -81, -22, -77, -82, -22, -77, -83, - -22, -77, -84, -22, -77, -85, -22, -77, -86, -22, -77, -87, -22, -77, -88, -22, -77, -89, -22, -77, - -90, -22, -77, -91, -22, -77, -92, -22, -77, -93, -22, -77, -94, -22, -77, -95, -22, -77, -96, -22, - -77, -97, -22, -77, -98, -22, -77, -99, -22, -77,-100, -22, -77,-101, -22, -77,-102, -22, -77,-103, - -22, -77,-104, -22, -77,-105, -22, -77,-106, -22, -77,-107, -22, -77,-108, -22, -77,-109, -22, -77, --110, -22, -77,-111, -22, -77,-112, -22, -77,-113, -22, -77,-114, -22, -77,-115, -22, -77,-116, -22, - -77,-117, -22, -77,-118, -22, -77,-119, -22, -77,-120, -22, -77,-121, -22, -77,-122, -22, -77,-123, - -22, -77,-124, -22, -77,-125, -22, -77,-126, -22, -77,-127, -22, -77,-128, -22, -78, -65, -22, -78, - -66, -22, -78, -67, -22, -78, -68, -22, -78, -69, -22, -78, -70, -22, -78, -71, -22, -78, -72, -22, - -78, -73, -22, -78, -74, -22, -78, -75, -22, -78, -76, -22, -78, -77, -22, -78, -78, -22, -78, -79, - -22, -78, -80, -22, -78, -81, -22, -78, -82, -22, -78, -83, -22, -78, -84, -22, -78, -85, -22, -78, - -86, -22, -78, -87, -22, -78, -88, -22, -78, -89, -22, -78, -90, -22, -78, -91, -22, -78, -92, -22, - -78, -93, -22, -78, -94, -22, -78, -95, -22, -78, -96, -22, -78, -97, -22, -78, -98, -22, -78, -99, - -22, -78,-100, -22, -78,-101, -22, -78,-102, -22, -78,-103, -22, -78,-104, -22, -78,-105, -22, -78, --106, -22, -78,-107, -22, -78,-108, -22, -78,-109, -22, -78,-110, -22, -78,-111, -22, -78,-112, -22, - -78,-113, -22, -78,-114, -22, -78,-115, -22, -78,-116, -22, -78,-117, -22, -78,-118, -22, -78,-119, - -22, -78,-120, -22, -78,-121, -22, -78,-122, -22, -78,-123, -22, -78,-124, -22, -78,-125, -22, -78, --126, -22, -78,-127, -22, -78,-128, -22, -79, -65, -22, -79, -66, -22, -79, -67, -22, -79, -68, -22, - -79, -69, -22, -79, -70, -22, -79, -71, -22, -79, -72, -22, -79, -73, -22, -79, -74, -22, -79, -75, - -22, -79, -76, -22, -79, -77, -22, -79, -78, -22, -79, -79, -22, -79, -80, -22, -79, -81, -22, -79, - -82, -22, -79, -83, -22, -79, -84, -22, -79, -85, -22, -79, -86, -22, -79, -87, -22, -79, -88, -22, - -79, -89, -22, -79, -90, -22, -79, -91, -22, -79, -92, -22, -79, -93, -22, -79, -94, -22, -79, -95, - -22, -79, -96, -22, -79, -97, -22, -79, -98, -22, -79, -99, -22, -79,-100, -22, -79,-101, -22, -79, --102, -22, -79,-103, -22, -79,-104, -22, -79,-105, -22, -79,-106, -22, -79,-107, -22, -79,-108, -22, - -79,-109, -22, -79,-110, -22, -79,-111, -22, -79,-112, -22, -79,-113, -22, -79,-114, -22, -79,-115, - -22, -79,-116, -22, -79,-117, -22, -79,-118, -22, -79,-119, -22, -79,-120, -22, -79,-121, -22, -79, --122, -22, -79,-123, -22, -79,-124, -22, -79,-125, -22, -79,-126, -22, -79,-127, -22, -79,-128, -22, - -80, -65, -22, -80, -66, -22, -80, -67, -22, -80, -68, -22, -80, -69, -22, -80, -70, -22, -80, -71, - -22, -80, -72, -22, -80, -73, -22, -80, -74, -22, -80, -75, -22, -80, -76, -22, -80, -77, -22, -80, - -78, -22, -80, -79, -22, -80, -80, -22, -80, -81, -22, -80, -82, -22, -80, -83, -22, -80, -84, -22, - -80, -85, -22, -80, -86, -22, -80, -87, -22, -80, -88, -22, -80, -89, -22, -80, -90, -22, -80, -91, - -22, -80, -92, -22, -80, -93, -22, -80, -94, -22, -80, -95, -22, -80, -96, -22, -80, -97, -22, -80, - -98, -22, -80, -99, -22, -80,-100, -22, -80,-101, -22, -80,-102, -22, -80,-103, -22, -80,-104, -22, - -80,-105, -22, -80,-106, -22, -80,-107, -22, -80,-108, -22, -80,-109, -22, -80,-110, -22, -80,-111, - -22, -80,-112, -22, -80,-113, -22, -80,-114, -22, -80,-115, -22, -80,-116, -22, -80,-117, -22, -80, --118, -22, -80,-119, -22, -80,-120, -22, -80,-121, -22, -80,-122, -22, -80,-123, -22, -80,-124, -22, - -80,-125, -22, -80,-126, -22, -80,-127, -22, -80,-128, -31,-128, -90, -32, -73, -98, -32, -73, -99, - -32, -73,-100, -32, -73,-102, -32, -75,-117, -32, -75,-116, -32, -75,-118, -32, -77,-120, -32, -77, --121, -32, -77,-117, -32, -77,-118, -32, -77,-128, -32, -79,-120, -32, -81,-117, -32, -81,-116, -32, - -81,-118, -32, -82,-108, -32, -83,-116, -32, -83,-120, -32, -83,-117, -32, -89,-116, -32, -89,-117, - -32, -92, -76, -32, -92, -79, -32, -92, -87, -37,-128, -37,-109, -37,-126, -40, -90, -40, -92, -40, - -91, -40, -93, -40, -94, -45, -85, -45, -86, -45,-101, -45,-102, -47, -73, -47, -74, -47,-105, -45, - -83, -45, -71, -45, -75, -45, -77, -45, -79, -47, -98, -45, -81, -45, -89, -47,-100, -45, -91, -48, - -71, -45, -93, -47, -99, -45, -97, -45, -99, -45,-126, -47,-111, -45,-105, -47,-112, -47,-109, -45, --109, -45,-111, -45, -84, -45, -72, -45, -76, -45, -78, -45, -80, -48,-114, -45, -82, -45, -90, -48, --116, -45, -92, -48,-103, -45, -94, -48,-115, -45, -98, -45,-100, -45,-127, -48,-127, -45,-106, -48, --128, -48,-125, -45,-110, -45,-112, -48,-121, -49,-108, -49,-109, -31, -65, -77, -31, -65, -73, -31, - -65, -74, -31, -66, -95, -31, -66, -89, -31, -67, -89, -31, -66, -91, -31, -67, -91, -31, -66, -93, - -31, -67, -93, -31, -67, -95, -31, -66, -96, -31, -66, -90, -31, -67, -90, -31, -66, -92, -31, -67, - -92, -31, -66, -94, -31, -67, -94, -31, -67, -96, -31, -65, -76, -49,-114, -31, -65, -78, -31, -67, - -68, -31, -65, -90, -31, -67,-105, -31, -67,-107, -31, -67,-109, -31, -67,-111, -31, -67,-106, -31, - -67,-108, -31, -67,-110, -31, -67,-112, -31, -65, -89, -50, -80, -31, -65, -94, -49,-117, -31, -65, - -96, -31, -65, -95, -49,-115, -31, -67, -70, -31, -65, -91, -31, -65, -92, -31, -67,-123, -31, -67, --125, -31, -67,-127, -31, -67,-124, -31, -67,-126, -31, -67,-128, -49,-116, -31, -67, -72, -31, -65, --106, -31, -68, -73, -31, -68, -75, -31, -68, -77, -31, -68, -79, -31, -68, -74, -31, -68, -76, -31, - -68, -78, -31, -68, -80, -31, -65,-105, -50,-112, -31, -65,-110, -49,-118, -31, -65,-112, -31, -65, --111, -50, -81, -31, -67, -74, -31, -65,-125, -31, -65,-121, -31, -65,-122, -31, -66,-111, -31, -66, --105, -31, -68, -89, -31, -66,-107, -31, -68, -91, -31, -66,-109, -31, -68, -93, -31, -68, -95, -31, - -66,-112, -31, -66,-106, -31, -68, -90, -31, -66,-108, -31, -68, -92, -31, -66,-110, -31, -68, -94, - -31, -68, -96, -31, -65,-124, -50, -82, -31, -65,-126, -31, -67, -76, -31, -68,-107, -31, -68,-109, - -31, -68,-111, -31, -68,-108, -31, -68,-110, -31, -68,-112, -50, -83, -31, -67, -78, -31, -66, -77, - -31, -66, -73, -31, -66, -74, -31, -66,-127, -31, -66,-121, -31, -68,-121, -31, -66,-123, -31, -68, --123, -31, -66,-125, -31, -68,-125, -31, -68,-127, -31, -66,-128, -31, -66,-122, -31, -68,-122, -31, - -66,-124, -31, -68,-124, -31, -66,-126, -31, -68,-126, -31, -68,-128, -31, -66, -80, -31, -66, -79, - -31, -66, -76, -50, -84, -31, -66, -78, -31, -67, -80, -31, -65, -68, -31, -66, -87, -31, -66, -81, - -31, -67, -81, -31, -66, -83, -31, -67, -83, -31, -66, -85, -31, -67, -85, -31, -67, -87, -31, -66, - -88, -31, -66, -82, -31, -67, -82, -31, -66, -84, -31, -67, -84, -31, -66, -86, -31, -67, -86, -31, - -67, -88, -50,-113, -31, -65, -70, -31, -67, -97, -31, -67, -99, -31, -67,-101, -31, -67,-103, -50, - -85, -31, -65, -88, -31, -65, -87, -50,-114, -31, -65, -86, -31, -65, -84, -31, -67,-115, -31, -67, --117, -31, -67,-119, -31, -67,-116, -31, -67,-118, -31, -67,-120, -50,-116, -31, -65, -72, -31, -68, - -65, -31, -68, -67, -31, -68, -69, -31, -68, -71, -31, -68, -66, -31, -68, -68, -31, -68, -70, -31, - -68, -72, -50, -86, -31, -65,-104, -31, -65,-103, -50,-118, -31, -65,-102, -31, -65,-116, -31, -66, --103, -31, -66, -97, -31, -68, -81, -31, -66, -99, -31, -68, -83, -31, -66,-101, -31, -68, -85, -31, - -68, -87, -31, -66,-104, -31, -66, -98, -31, -68, -82, -31, -66,-100, -31, -68, -84, -31, -66,-102, - -31, -68, -86, -31, -68, -88, -50,-119, -31, -65,-118, -31, -68, -99, -31, -68,-101, -31, -68,-103, - -31, -68,-100, -31, -68,-102, -31, -68,-104, -50,-120, -31, -65,-120, -31, -66, -68, -31, -66,-119, - -31, -66,-113, -31, -68,-113, -31, -66,-115, -31, -68,-115, -31, -66,-117, -31, -68,-117, -31, -68, --119, -31, -66,-120, -31, -66,-114, -31, -68,-114, -31, -66,-116, -31, -68,-116, -31, -66,-118, -31, - -68,-118, -31, -68,-120, -31, -66, -72, -31, -66, -71, -50,-122, -31, -66, -70, -57, -81, -57, -82, - -31, -70,-101, -57, -65, -57, -93, -57, -67, -57, -66, -57, -94, -57, -68, -31, -65,-127, -50,-123, - -31, -65, -83, -31, -70,-107, -31, -70,-109, -59, -66, -59, -68, -31, -70,-111, -59, -70, -31, -69, - -75, -31, -70,-103, -31, -69, -73, -61, -65, -31, -70,-113, -56, -77, -31, -69, -71, -59, -73, -61, - -67, -31, -69, -77, -31, -70,-115, -31, -70,-117, -31, -70,-119, -31, -70,-104, -31, -70,-123, -31, - -70,-121, -59, -75, -31, -70,-125, -31, -70,-127, -31, -71, -65, -31, -71, -67, -31, -71, -75, -31, - -71, -73, -59, -77, -31, -71, -77, -31, -69, -91, -31, -69, -79, -31, -69, -83, -31, -69, -81, -31, - -69, -87, -31, -69, -85, -58, -80, -56,-105, -56,-107, -57,-108, -59, -79, -59, -81, -31, -69, -89, - -57,-102, -57,-106, -57,-104, -57,-100, -61, -68, -59, -83, -31, -71, -69, -59, -85, -31, -71, -71, - -59, -87, -61, -69, -61, -70, -61, -71, -31, -71, -81, -31, -71, -79, -59, -93, -56,-101, -31, -71, - -83, -59, -91, -31, -70,-105, -31, -71, -85, -59, -97, -56,-103, -31, -71, -87, -31, -71, -93, -31, - -71, -89, -59, -95, -31, -71, -95, -59, -99, -31, -71, -91, -59,-101, -31, -71, -97, -59,-105, -31, - -71, -99, -31, -71,-101, -56,-109, -56,-111, -59,-103, -31, -71,-103, -59,-107, -31, -71,-105, -31, - -71,-107, -57, -83, -57, -85, -31, -69,-103, -31, -69,-115, -31, -69, -93, -31, -69, -97, -31, -69, - -95, -31, -69,-101, -31, -69, -99, -58, -95, -56,-113, -56,-115, -57,-110, -59,-111, -31, -69,-113, - -56, -85, -61, -74, -56, -79, -56, -81, -59,-113, -31, -71,-109, -31, -71,-111, -59,-115, -31, -71, --113, -56, -83, -31, -71,-115, -61, -75, -31, -69,-107, -31, -69,-105, -31, -69,-111, -31, -69,-109, - -61, -76, -61, -77, -61, -78, -31, -71,-119, -31, -71,-117, -59,-122, -31, -71,-121, -59,-120, -31, - -71,-123, -61, -79, -59,-124, -57, -71, -31, -71,-125, -31, -71,-127, -31, -72, -65, -31, -72, -69, - -31, -72, -67, -60, -68, -31, -72, -71, -31, -72, -73, -60, -66, -60, -70, -31, -72, -75, -60, -73, - -31, -72, -77, -57, -87, -31, -72, -79, -57, -80, -60, -75, -31, -72, -83, -60, -81, -31, -69,-117, - -56,-117, -56,-119, -57,-112, -31, -69,-119, -31, -72, -81, -61, -81, -60, -83, -60, -85, -60, -87, - -61, -82, -61, -83, -61, -84, -31, -70,-106, -31, -72, -85, -31, -72, -87, -31, -72, -91, -56, -97, - -31, -72, -89, -31, -72, -93, -60, -91, -60, -93, -57, -89, -60, -95, -60, -97, -31, -72, -95, -60, - -99, -57, -75, -31, -72, -97, -31, -72,-101, -31, -72,-103, -60,-103, -31, -72, -99, -56, -87, -31, - -69,-121, -31, -70, -71, -56,-121, -56,-123, -60,-101, -31, -70, -69, -61, -85, -60,-105, -60,-107, - -31, -72,-105, -31, -72,-107, -60,-109, -31, -70, -67, -31, -69,-125, -31, -69,-123, -31, -70, -65, - -31, -69,-127, -61, -86, -61, -87, -61, -88, -31, -72,-113, -31, -72,-109, -31, -72,-111, -31, -72, --115, -60,-113, -31, -72,-117, -31, -72,-119, -61, -89, -60,-115, -60,-117, -60,-119, -60,-121, -31, - -72,-121, -31, -72,-123, -31, -72,-125, -60,-123, -31, -72,-127, -31, -70, -73, -31, -70, -83, -31, - -70, -95, -56,-125, -56,-127, -57,-114, -57, -69, -61, -91, -31, -70, -93, -57, -97, -61, -92, -57, - -95, -56, -89, -31, -70, -77, -31, -70, -75, -31, -70, -81, -31, -70, -79, -60,-125, -60,-127, -61, - -93, -31, -70, -87, -31, -70, -85, -31, -70, -91, -31, -70, -89, -61, -94, -61, -95, -61, -96, -31, - -70,-108, -31, -70,-110, -59, -67, -59, -69, -31, -70,-112, -59, -71, -31, -69, -76, -31, -69, -74, - -59, -72, -31, -70,-114, -56, -78, -31, -69, -72, -59, -74, -61, -99, -31, -69, -78, -31, -70,-116, - -31, -70,-118, -31, -70,-120, -31, -70,-124, -31, -70,-122, -59, -76, -31, -70,-126, -31, -70,-128, - -31, -71, -66, -31, -71, -68, -31, -71, -76, -31, -71, -74, -59, -78, -31, -71, -78, -31, -69, -92, - -31, -69, -80, -31, -69, -84, -31, -69, -82, -31, -69, -88, -31, -69, -86, -58, -81, -56,-106, -56, --108, -57,-109, -59, -80, -59, -82, -31, -69, -90, -57,-103, -57,-107, -57,-105, -57,-101, -61,-100, - -59, -84, -31, -71, -70, -59, -86, -31, -71, -72, -59, -88, -61,-101, -61,-102, -61,-103, -31, -71, - -82, -31, -71, -80, -59, -94, -56,-102, -31, -71, -84, -59, -92, -31, -71, -86, -59, -98, -56,-104, - -31, -71, -88, -31, -71, -94, -31, -71, -90, -59, -96, -31, -71, -96, -59,-100, -31, -71, -92, -59, --102, -31, -71, -98, -59,-106, -31, -71,-100, -31, -71,-102, -56,-110, -56,-112, -59,-104, -31, -71, --104, -59,-108, -31, -71,-106, -31, -71,-108, -57, -84, -57, -86, -31, -69,-104, -31, -69,-116, -31, - -69, -94, -31, -69, -98, -31, -69, -96, -31, -69,-102, -31, -69,-100, -58, -96, -56,-114, -56,-116, - -57,-111, -59,-112, -31, -69,-114, -56, -86, -61,-106, -56, -80, -56, -82, -59,-114, -31, -71,-110, - -31, -71,-112, -59,-116, -31, -71,-114, -56, -84, -31, -71,-116, -61,-107, -31, -69,-108, -31, -69, --106, -31, -69,-112, -31, -69,-110, -61,-108, -61,-109, -61,-110, -31, -71,-120, -31, -71,-118, -59, --123, -31, -71,-122, -59,-121, -31, -71,-124, -61,-111, -59,-125, -57, -72, -31, -71,-126, -31, -71, --128, -31, -72, -66, -31, -72, -70, -31, -72, -68, -60, -69, -31, -72, -72, -31, -72, -74, -60, -67, - -60, -71, -31, -72, -76, -60, -74, -31, -72, -78, -57, -88, -31, -72, -80, -60, -76, -31, -72, -84, - -60, -82, -31, -69,-118, -56,-118, -56,-120, -57,-113, -31, -69,-120, -31, -72, -82, -61,-113, -60, - -80, -60, -84, -60, -86, -60, -88, -61,-114, -61,-115, -61,-116, -31, -72, -86, -31, -72, -88, -31, - -72, -92, -56, -98, -31, -72, -90, -31, -72, -94, -60, -92, -60, -94, -57, -90, -60, -96, -60, -98, - -31, -72, -96, -60,-100, -57, -76, -31, -72, -98, -31, -72,-102, -31, -72,-104, -60,-104, -31, -72, --100, -56, -88, -31, -69,-122, -31, -70, -72, -56,-122, -56,-124, -60,-102, -31, -70, -70, -61,-117, - -60,-106, -60,-108, -31, -72,-106, -31, -72,-108, -60,-110, -31, -70, -68, -31, -69,-126, -31, -69, --124, -31, -70, -66, -31, -69,-128, -61,-118, -61,-119, -61,-120, -31, -72,-114, -31, -72,-110, -31, - -72,-112, -31, -72,-116, -60,-114, -31, -72,-118, -31, -72,-120, -61,-121, -60,-116, -60,-118, -60, --120, -60,-122, -31, -72,-122, -31, -72,-124, -31, -72,-126, -60,-124, -31, -72,-128, -31, -70, -74, - -31, -70, -84, -31, -70, -96, -56,-126, -56,-128, -57,-115, -57, -70, -61,-123, -31, -70, -94, -57, - -98, -61,-124, -57, -96, -56, -90, -31, -70, -78, -31, -70, -76, -31, -70, -82, -31, -70, -80, -60, --126, -60,-128, -61,-125, -31, -70, -88, -31, -70, -86, -31, -70, -92, -31, -70, -90, -61,-126, -61, --127, -61,-128, -30,-119, -81, -30,-119, -96, -30,-119, -82, -29,-126, -77, -29,-126, -77, -29,-127, - -69, -29,-127,-117, 68, 74, 77, 68, 77, 67, 87, 67, 83, 83, 83, 68, 72, 86, 87, 90, - 67, 68, 57, 44, 56, 44, 55, 44, 54, 44, 53, 44, 52, 44, 51, 44, 50, 44, 49, 44, - 48, 44, -39,-128, -39,-110, 32, -39,-110, -39,-128, -39,-111, -39,-128, -39,-117, 32, -39,-117, - -40, -89, -39,-117, -40, -74, -40, -79, -40, -75, -40, -79, -40, -77, -40, -79, -40, -76, -40, -79, - -40, -76, -40, -82, -40, -74, -39,-118, -40, -74, -39,-119, -40, -75, -39,-118, -40, -75, -39,-119, - -40, -76, -39,-118, -40, -76, -39,-119, -40, -77, -39,-118, -40, -77, -39,-119, -40, -70, -39,-118, - -40, -70, -39,-119, -40, -71, -39,-118, -40, -71, -39,-119, -40, -73, -39,-118, -40, -73, -39,-119, - -40, -76, -39,-121, -40, -77, -39,-121, -40, -85, -39,-121, -39,-121, -39, -80, -39,-122, -39,-121, - -40, -75, -40, -82, -40, -86, -39,-121, -40, -88, -39,-121, -39,-118, -40, -78, -39,-118, -40, -79, - -39,-122, -39,-122, -39,-122, -40, -78, -39,-122, -40, -79, -39,-123, -40, -89, -40, -85, -39,-122, - -40, -85, -40, -78, -40, -85, -40, -79, -40, -86, -39,-122, -40, -86, -40, -78, -40, -86, -40, -79, - -40, -88, -39,-122, -40, -88, -40, -78, -39,-119, -39, -80, -40, -79, -39, -80, -40, -80, -39, -80, - -39,-118, -39,-119, -39,-118, -40, -82, -39,-121, -39,-119, -39,-121, -40, -84, -39,-122, -39,-119, - -39,-122, -40, -82, -39,-125, -39,-118, -39,-125, -39,-119, -39,-125, -39,-124, -39,-125, -40, -82, - -39,-125, -40, -83, -39,-125, -40, -84, -39,-125, -40, -89, -39,-126, -39,-118, -39,-126, -39,-119, - -39,-126, -40, -83, -39,-127, -39,-118, -39,-127, -39,-119, -39,-127, -40, -83, -39,-127, -40, -84, - -40, -70, -40, -84, -40, -72, -39,-123, -40, -73, -40, -83, -40, -74, -39,-123, -40, -74, -40, -84, - -40, -82, -40, -83, -40, -85, -39,-118, -40, -85, -39,-119, -40, -85, -39,-123, -40, -85, -40, -84, - -40, -86, -39,-118, -40, -86, -39,-119, -40, -88, -39,-118, -40, -88, -39,-119, -40, -88, -39,-123, - -40, -88, -40, -84, -41,-112, -41,-100, -43, -76, -43, -83, -43, -66, -43, -74, -43, -76, -43, -85, - -43, -76, -43, -91, -43, -76, -43, -74, 115, 116, 87, 98, 83, 118, 115, 114, 80, 82, 80, 72, - 109, 98, 108, 120, 108, 110, 107, 116, 75, 77, 75, 75, 105, 110, 72, 80, 104, 97, 71, 121, - 100, 66, 99, 100, 99, 99, 66, 113, 77, -50, -87, 107, -50, -87, 77, 87, 107, 87, 109, 87, - -50, -68, 87, 110, 87, 112, 87, 77, 86, 107, 86, -50, -68, 86, 110, 86, 112, 86, 109, 115, - -50, -68, 115, 110, 115, 112, 115, -50, -68, 109, 110, 109, 102, 109, 107, 108, 100, 108, 109, 108, - -50, -68, 108, 109, 103, -50, -68, 103, -50, -68, 70, 110, 70, 112, 70, 71, 66, 77, 66, 75, - 66, 107, 65, 109, 65, -50, -68, 65, 110, 65, 112, 65, -26,-104,-114, -26, -78, -69, -27, -92, - -89, -26, -83, -93, -26,-104, -83, -27,-110,-116, -27, -71, -77, -26,-120,-112, 73, 85, 112, 99, - 111, 86, 65, 85, 100, 97, -29,-125, -84, -29,-125, -96, -29,-125, -86, -29,-125, -87, -29,-125, --101, -29,-125, -77, -29,-125,-118, -29,-125,-114, 101, 86, 72, 103, 57, -26,-100,-120, 56, -26, --100,-120, 55, -26,-100,-120, 54, -26,-100,-120, 53, -26,-100,-120, 52, -26,-100,-120, 51, -26, --100,-120, 53, 48, 52, 57, 52, 56, 52, 55, 52, 54, 52, 53, 52, 52, 52, 50, 52, 48, - 51, 57, 51, 56, 51, 55, 51, 54, 51, 53, 51, 52, 51, 51, 51, 50, -29,-126, -77, -29, --125,-120, -29,-126,-120, -29,-126,-118, 32, -29,-126,-102, 32, -29,-126,-103, 105, 120, 105, 118, - 73, 88, 73, 86, 84, 77, 83, 77, 78, 111, -62, -80, 70, -62, -80, 67, 82, 115, 63, 33, - 63, 63, 32, -52,-123, 33, 33, 32, -52, -77, 32, -51,-126, 97, -54, -66, -32, -70, -85, -32, - -70, -95, -32, -70, -85, -32, -70,-103, -32, -69,-115, -32, -70, -78, -32, -71,-115, -32, -72, -78, - -39,-118, -39, -76, -37,-121, -39, -76, -39,-120, -39, -76, -40, -89, -39, -76, -43, -91, -42,-126, - 32, -51,-123, 32, -52,-117, 32, -52,-125, 32, -52, -88, 32, -52,-118, 32, -52,-121, 32, -52, --122, 110, 106, 78, 106, 78, 74, 108, 106, 76, 106, 76, 74, -54, -68, 110, 108, -62, -73, 76, - -62, -73, 105, 106, 73, 74, 32, -52, -89, 32, -52,-127, 32, -52,-124, -16, -99,-123,-105, -16, - -99,-123, -91, -16,-111,-106, -71, -16,-111,-106, -81, -16,-111,-106, -72, -16,-111,-106, -81, -16, --111,-110, -71, -16,-111,-110, -67, -16,-111,-110, -71, -16,-111,-110, -80, -16,-111,-110, -71, -16, --111,-110, -70, -16,-111,-115,-121, -16,-111,-115,-105, -16,-111,-115,-121, -16,-111,-116, -66, -16, --111,-124, -78, -16,-111,-124, -89, -16,-111,-124, -79, -16,-111,-124, -89, -16,-111,-126, -91, -16, --111,-126, -70, -16,-111,-126,-101, -16,-111,-126, -70, -16,-111,-126,-103, -16,-111,-126, -70, -41, - -92, -42, -65, -41,-101, -42, -65, -41,-111, -42, -65, -41,-107, -42, -71, -41, -86, -42, -68, -41, - -88, -42, -68, -41, -89, -42, -68, -41, -90, -42, -68, -41, -92, -42, -68, -41, -93, -42, -68, -41, - -95, -42, -68, -41, -96, -42, -68, -41, -98, -42, -68, -41,-100, -42, -68, -41,-101, -42, -68, -41, --102, -42, -68, -41,-103, -42, -68, -41,-104, -42, -68, -41,-106, -42, -68, -41,-107, -42, -68, -41, --108, -42, -68, -41,-109, -42, -68, -41,-110, -42, -68, -41,-111, -42, -68, -41,-112, -42, -68, -41, --112, -42, -72, -41,-112, -42, -73, -41, -87, -41,-126, -41, -87, -41,-127, -41, -78, -42, -73, -41, --103, -42, -76, -29,-125, -67, -29,-126,-103, -29,-125, -78, -29,-126,-103, -29,-125, -79, -29,-126, --103, -29,-125, -80, -29,-126,-103, -29,-125, -81, -29,-126,-103, -29,-126, -90, -29,-126,-103, -29, --125,-107, -29,-126,-102, -29,-125,-124, -29,-126,-103, -29,-125,-127, -29,-126,-103, -29,-126, -67, - -29,-126,-103, -29,-126, -71, -29,-126,-103, -29,-126, -75, -29,-126,-103, -29,-126, -77, -29,-126, --103, -29,-126, -99, -29,-126,-103, -29,-127,-122, -29,-126,-103, -29,-127, -69, -29,-126,-102, -29, --127, -69, -29,-126,-103, -29,-127, -72, -29,-126,-102, -29,-127, -72, -29,-126,-103, -29,-127, -75, - -29,-126,-102, -29,-127, -75, -29,-126,-103, -29,-127, -78, -29,-126,-102, -29,-127, -78, -29,-126, --103, -29,-127, -81, -29,-126,-102, -29,-127, -81, -29,-126,-103, -29,-127, -88, -29,-126,-103, -29, --127, -90, -29,-126,-103, -29,-127, -92, -29,-126,-103, -29,-127, -95, -29,-126,-103, -29,-127, -97, - -29,-126,-103, -29,-127, -99, -29,-126,-103, -29,-127,-101, -29,-126,-103, -29,-127,-103, -29,-126, --103, -29,-127,-105, -29,-126,-103, -29,-127,-107, -29,-126,-103, -29,-127,-109, -29,-126,-103, -29, --127,-111, -29,-126,-103, -29,-127,-113, -29,-126,-103, -29,-127,-115, -29,-126,-103, -29,-127,-117, - -29,-126,-103, -30, -85, -99, -52, -72, -30,-118, -75, -52, -72, -30,-118, -76, -52, -72, -30,-118, - -77, -52, -72, -30,-118, -78, -52, -72, -30,-118,-110, -52, -72, -30,-118,-111, -52, -72, -30,-119, - -67, -52, -72, -30,-119, -68, -52, -72, -30,-118, -85, -52, -72, -30,-118, -87, -52, -72, -30,-118, - -88, -52, -72, -30,-118, -94, -52, -72, -30,-118,-121, -52, -72, -30,-118,-122, -52, -72, -30,-118, --125, -52, -72, -30,-118,-126, -52, -72, -30,-119, -69, -52, -72, -30,-119, -70, -52, -72, -30,-119, - -73, -52, -72, -30,-119, -74, -52, -72, -30,-119, -77, -52, -72, -30,-119, -78, -52, -72, -30,-119, - -91, -52, -72, -30,-119, -92, -52, -72, 62, -52, -72, 60, -52, -72, -30,-119,-115, -52, -72, -30, --119, -95, -52, -72, 61, -52, -72, -30,-119,-120, -52, -72, -30,-119,-123, -52, -72, -30,-119,-125, - -52, -72, -30,-120, -68, -52, -72, -30,-120, -91, -52, -72, -30,-120, -93, -52, -72, -30,-120,-117, - -52, -72, -30,-120,-120, -52, -72, -30,-120,-125, -52, -72, -30,-121,-110, -52, -72, -30,-121,-108, - -52, -72, -30,-121,-112, -52, -72, -30,-122,-108, -52, -72, -30,-122,-110, -52, -72, -30,-122,-112, - -52, -72, -50, -87, -51,-123, -50, -87, -52,-128, -50, -97, -52,-128, -49,-119, -51,-123, -62, -88, - -52,-128, -50, -95, -52,-108, -50, -91, -52,-128, -50, -91, -52,-124, -50, -91, -52,-122, -49,-123, - -51,-126, -49,-127, -52,-108, -49,-127, -52,-109, -49,-123, -52,-124, -49,-123, -52,-122, -31, -65, - -66, -51,-126, -31, -65, -66, -52,-127, -31, -65, -66, -52,-128, -50,-103, -52,-128, -50,-103, -52, --124, -50,-103, -52,-122, -50, -71, -51,-126, -50, -71, -52,-124, -50, -71, -52,-122, -31, -66, -65, - -51,-126, -31, -66, -65, -52,-127, -31, -66, -65, -52,-128, -50,-105, -51,-123, -50,-105, -52,-128, - -50,-107, -52,-128, -50, -73, -51,-123, -62, -88, -51,-126, -50,-111, -51,-123, -50,-111, -52,-128, - -50,-111, -52,-124, -50,-111, -52,-122, -50, -79, -51,-123, -50, -79, -52,-124, -50, -79, -52,-122, - -49,-123, -52,-128, -50, -65, -52,-128, -50, -71, -52,-128, -50, -75, -52,-128, 121, -52,-125, 89, - -52,-125, 121, -52,-119, 89, -52,-119, 121, -52, -93, 89, -52, -93, 121, -52,-128, 89, -52,-128, - 117, -52,-119, 85, -52,-119, 117, -52, -93, 85, -52, -93, 111, -52,-119, 79, -52,-119, 105, -52, - -93, 73, -52, -93, 105, -52,-119, 73, -52,-119, 101, -52,-125, 69, -52,-125, 101, -52,-119, 69, - -52,-119, 97, -52,-119, 65, -52,-119, -59, -65, -52,-121, 121, -52,-118, 119, -52,-118, 116, -52, --120, 104, -52, -79, 122, -52, -79, 90, -52, -79, 122, -52, -93, 90, -52, -93, 122, -52,-126, 90, - -52,-126, 121, -52,-121, 89, -52,-121, 120, -52,-120, 88, -52,-120, 120, -52,-121, 88, -52,-121, - 119, -52, -93, 87, -52, -93, 119, -52,-121, 87, -52,-121, 119, -52,-120, 87, -52,-120, 119, -52, --127, 87, -52,-127, 119, -52,-128, 87, -52,-128, 118, -52, -93, 86, -52, -93, 118, -52,-125, 86, - -52,-125, 117, -52, -83, 85, -52, -83, 117, -52, -80, 85, -52, -80, 117, -52, -92, 85, -52, -92, - 116, -52, -83, 84, -52, -83, 116, -52, -79, 84, -52, -79, 116, -52, -93, 84, -52, -93, 116, -52, --121, 84, -52,-121, 115, -52,-121, 83, -52,-121, 114, -52, -79, 82, -52, -79, 114, -52,-121, 82, - -52,-121, 112, -52,-121, 80, -52,-121, 112, -52,-127, 80, -52,-127, 110, -52, -83, 78, -52, -83, - 110, -52, -79, 78, -52, -79, 110, -52, -93, 78, -52, -93, 110, -52,-121, 78, -52,-121, 109, -52, - -93, 77, -52, -93, 109, -52,-121, 77, -52,-121, 109, -52,-127, 77, -52,-127, 108, -52, -83, 76, - -52, -83, 108, -52, -79, 76, -52, -79, 107, -52, -79, 75, -52, -79, 107, -52, -93, 75, -52, -93, - 107, -52,-127, 75, -52,-127, 105, -52, -80, 73, -52, -80, 104, -52, -82, 72, -52, -82, 104, -52, - -89, 72, -52, -89, 104, -52,-120, 72, -52,-120, 104, -52, -93, 72, -52, -93, 104, -52,-121, 72, - -52,-121, 103, -52,-124, 71, -52,-124, 102, -52,-121, 70, -52,-121, 101, -52, -80, 69, -52, -80, - 101, -52, -83, 69, -52, -83, 100, -52, -83, 68, -52, -83, 100, -52, -89, 68, -52, -89, 100, -52, - -79, 68, -52, -79, 100, -52, -93, 68, -52, -93, 100, -52,-121, 68, -52,-121, 98, -52, -79, 66, - -52, -79, 98, -52, -93, 66, -52, -93, 98, -52,-121, 66, -52,-121, 97, -52, -91, 65, -52, -91, - -31, -83,-126, -31, -84, -75, -31, -84, -65, -31, -84, -75, -31, -84, -66, -31, -84, -75, -31, -84, - -68, -31, -84, -75, -31, -84, -70, -31, -84, -75, -31, -84,-111, -31, -84, -75, -31, -84,-115, -31, - -84, -75, -31, -84,-117, -31, -84, -75, -31, -84,-119, -31, -84, -75, -31, -84,-121, -31, -84, -75, - -31, -84,-123, -31, -84, -75, -31,-128, -91, -31,-128, -82, -32, -66,-112, -32, -66, -75, -32, -66, - -85, -32, -66, -73, -32, -66, -90, -32, -66, -73, -32, -66, -95, -32, -66, -73, -32, -66,-100, -32, - -66, -73, -32, -66,-110, -32, -66, -73, -32, -66, -77, -32, -66,-128, -32, -66, -78, -32, -66,-128, - -32, -67, -79, -32, -67, -76, -32, -67, -79, -32, -67, -78, -32, -67,-128, -32, -66, -75, -32, -67, --101, -32, -66, -73, -32, -67,-106, -32, -66, -73, -32, -67,-111, -32, -66, -73, -32, -67,-116, -32, - -66, -73, -32, -67,-126, -32, -66, -73, -32, -73,-103, -32, -73, -97, -32, -73,-103, -32, -73,-118, - -32, -75,-122, -32, -75,-105, -32, -75,-121, -32, -76, -66, -32, -75,-122, -32, -76, -66, -32, -77, --122, -32, -77,-106, -32, -77,-122, -32, -77,-107, -32, -78, -65, -32, -77,-107, -32, -79,-122, -32, - -79,-106, -32, -81,-122, -32, -81,-105, -32, -81,-121, -32, -82, -66, -32, -81,-122, -32, -82, -66, - -32, -82,-110, -32, -81,-105, -32, -84, -94, -32, -84, -68, -32, -84, -95, -32, -84, -68, -32, -83, --121, -32, -83,-105, -32, -83,-121, -32, -84, -66, -32, -83,-121, -32, -83,-106, -32, -88, -85, -32, - -88, -68, -32, -88,-100, -32, -88, -68, -32, -88,-105, -32, -88, -68, -32, -88,-106, -32, -88, -68, - -32, -88, -72, -32, -88, -68, -32, -88, -78, -32, -88, -68, -32, -90, -81, -32, -90, -68, -32, -90, - -94, -32, -90, -68, -32, -90, -95, -32, -90, -68, -32, -89,-121, -32, -89,-105, -32, -89,-121, -32, - -90, -66, -32, -92, -81, -32, -92, -68, -32, -92, -85, -32, -92, -68, -32, -92, -94, -32, -92, -68, - -32, -92, -95, -32, -92, -68, -32, -92,-100, -32, -92, -68, -32, -92,-105, -32, -92, -68, -32, -92, --106, -32, -92, -68, -32, -92,-107, -32, -92, -68, -32, -92, -77, -32, -92, -68, -32, -92, -80, -32, - -92, -68, -32, -92, -88, -32, -92, -68, -37,-110, -39,-108, -37,-127, -39,-108, -37,-107, -39,-108, - -39,-120, -39,-108, -47,-117, -52,-120, -48, -85, -52,-120, -47,-121, -52,-120, -48, -89, -52,-120, - -47,-125, -52,-117, -48, -93, -52,-117, -47,-125, -52,-120, -48, -93, -52,-120, -47,-125, -52,-124, - -48, -93, -52,-124, -47,-115, -52,-120, -48, -83, -52,-120, -45, -87, -52,-120, -45, -88, -52,-120, - -48, -66, -52,-120, -48, -98, -52,-120, -48, -72, -52,-120, -48,-104, -52,-120, -48, -72, -52,-124, - -48,-104, -52,-124, -48, -73, -52,-120, -48,-105, -52,-120, -48, -74, -52,-120, -48,-106, -52,-120, - -45,-103, -52,-120, -45,-104, -52,-120, -48, -75, -52,-122, -48,-107, -52,-122, -48, -80, -52,-120, - -48,-112, -52,-120, -48, -80, -52,-122, -48,-112, -52,-122, -48, -74, -52,-122, -48,-106, -52,-122, - -47, -75, -52,-113, -47, -76, -52,-113, -47,-125, -52,-122, -48, -72, -52,-128, -48, -70, -52,-127, - -47,-106, -52,-120, -48, -77, -52,-127, -48, -75, -52,-120, -48, -75, -52,-128, -48, -72, -52,-122, - -48,-104, -52,-122, -48, -93, -52,-122, -48,-104, -52,-128, -48,-102, -52,-127, -48,-122, -52,-120, - -48,-109, -52,-127, -48,-107, -52,-120, -48,-107, -52,-128, -49,-110, -52,-120, -49,-110, -52,-127, - -49,-123, -52,-127, -50, -65, -52,-127, -50, -71, -52,-127, -50, -75, -52,-127, -50, -91, -52,-120, - -50,-103, -52,-120, -50, -87, -52,-127, -50, -91, -52,-127, -50, -97, -52,-127, -50,-103, -52,-127, - -50,-105, -52,-127, -50,-107, -52,-127, -50,-111, -52,-127, -62, -88, -52,-127, 121, -52,-124, 89, - -52,-124, 104, -52,-116, 72, -52,-116, 116, -52, -90, 84, -52, -90, 115, -52, -90, 83, -52, -90, - 117, -52,-111, 85, -52,-111, 117, -52,-113, 85, -52,-113, 114, -52,-111, 82, -52,-111, 114, -52, --113, 82, -52,-113, 111, -52,-111, 79, -52,-111, 111, -52,-113, 79, -52,-113, 105, -52,-111, 73, - -52,-111, 105, -52,-113, 73, -52,-113, 101, -52,-111, 69, -52,-111, 101, -52,-113, 69, -52,-113, - 97, -52,-111, 65, -52,-111, 97, -52,-113, 65, -52,-113, -61, -72, -52,-127, -61,-104, -52,-127, - -61, -90, -52,-127, -61,-122, -52,-127, 110, -52,-128, 78, -52,-128, 103, -52,-127, 71, -52,-127, - 106, -52,-116, -54,-110, -52,-116, -58, -73, -52,-116, 107, -52,-116, 75, -52,-116, 103, -52,-116, - 71, -52,-116, -61, -90, -52,-124, -61,-122, -52,-124, 117, -52,-116, 85, -52,-116, 111, -52,-116, - 79, -52,-116, 105, -52,-116, 73, -52,-116, 97, -52,-116, 65, -52,-116, 122, -52,-121, 90, -52, --121, 122, -52,-127, 90, -52,-127, 89, -52,-120, 121, -52,-126, 89, -52,-126, 119, -52,-126, 87, - -52,-126, 117, -52, -88, 85, -52, -88, 117, -52,-117, 85, -52,-117, 117, -52,-118, 85, -52,-118, - 117, -52,-122, 85, -52,-122, 116, -52,-116, 84, -52,-116, 116, -52, -89, 84, -52, -89, 115, -52, - -89, 83, -52, -89, 115, -52,-126, 83, -52,-126, 114, -52,-116, 82, -52,-116, 114, -52, -89, 82, - -52, -89, 114, -52,-127, 82, -52,-127, 111, -52,-117, 79, -52,-117, 111, -52,-122, 79, -52,-122, - 110, -52,-116, 78, -52,-116, 110, -52, -89, 78, -52, -89, 110, -52,-127, 78, -52,-127, 108, -52, --116, 76, -52,-116, 108, -52, -89, 76, -52, -89, 108, -52,-127, 76, -52,-127, 107, -52, -89, 75, - -52, -89, 106, -52,-126, 74, -52,-126, 73, -52,-121, 105, -52, -88, 73, -52, -88, 105, -52,-122, - 73, -52,-122, 105, -52,-124, 73, -52,-124, 105, -52,-125, 73, -52,-125, 104, -52,-126, 72, -52, --126, 103, -52, -89, 71, -52, -89, 103, -52,-121, 71, -52,-121, 103, -52,-122, 71, -52,-122, 103, - -52,-126, 71, -52,-126, 101, -52,-116, 69, -52,-116, 101, -52, -88, 69, -52, -88, 101, -52,-121, - 69, -52,-121, 101, -52,-122, 69, -52,-122, 100, -52,-116, 68, -52,-116, 99, -52,-116, 67, -52, --116, 99, -52,-121, 67, -52,-121, 99, -52,-126, 67, -52,-126, 99, -52,-127, 67, -52,-127, 97, - -52, -88, 65, -52, -88, 97, -52,-124, 65, -52,-124, 121, -52,-120, 121, -52,-127, 117, -52,-126, - 117, -52,-127, 117, -52,-128, 111, -52,-127, 111, -52,-128, 110, -52,-125, 105, -52,-126, 105, -52, --127, 105, -52,-128, 101, -52,-120, 101, -52,-127, 101, -52,-128, 97, -52,-125, 97, -52,-127, 97, - -52,-128, 89, -52,-127, 85, -52,-126, 85, -52,-127, 85, -52,-128, 79, -52,-127, 79, -52,-128, - 78, -52,-125, 73, -52,-126, 73, -52,-127, 73, -52,-128, 69, -52,-120, 69, -52,-127, 69, -52, --128, 65, -52,-125, 65, -52,-127, 65, -52,-128, -29,-128,-108, -26,-107,-105, -29,-128,-107, -29, --128,-108, -27,-117, -99, -29,-128,-107, -29,-128,-108, -25,-101,-105, -29,-128,-107, -29,-128,-108, - -26,-119,-109, -29,-128,-107, -29,-128,-108, -25,-126, -71, -29,-128,-107, -29,-128,-108, -27, -82, --119, -29,-128,-107, -29,-128,-108, -28, -70,-116, -29,-128,-107, -29,-128,-108, -28, -72,-119, -29, --128,-107, -29,-128,-108, -26,-100, -84, -29,-128,-107, 80, 80, 86, -29,-128,-108, 83, -29,-128, --107, 40, 90, 41, 40, 89, 41, 40, 88, 41, 40, 87, 41, 40, 86, 41, 40, 85, 41, 40, - 84, 41, 40, 83, 41, 40, 82, 41, 40, 81, 41, 40, 80, 41, 40, 79, 41, 40, 78, 41, - 40, 77, 41, 40, 76, 41, 40, 75, 41, 40, 74, 41, 40, 73, 41, 40, 72, 41, 40, 71, - 41, 40, 70, 41, 40, 69, 41, 40, 68, 41, 40, 67, 41, 40, 66, 41, 40, 65, 41, -39, --124, -40, -89, -39,-107, -39,-124, -40, -89, -39,-108, -39,-124, -40, -89, -39,-109, -39,-126, -39, --124, -37,-110, -40, -75, -39,-124, -37,-110, -39,-122, -40, -84, -39,-118, -40, -77, -40, -82, -39, --118, -40, -88, -40, -83, -39,-118, -39,-127, -39,-123, -39,-118, -39,-123, -40, -84, -39,-118, -40, - -83, -40, -84, -39,-118, -40, -84, -40, -83, -39,-118, -39,-125, -39,-123, -39,-123, -39,-124, -40, - -84, -39,-123, -39,-123, -40, -82, -39,-118, -39,-122, -40, -84, -40, -83, -39,-125, -39,-123, -39, --118, -40, -71, -39,-123, -39,-118, -39,-122, -40, -83, -39,-118, -39,-126, -39,-123, -39,-118, -39, --123, -39,-123, -39,-118, -39,-118, -39,-123, -39,-118, -39,-118, -40, -84, -39,-118, -39,-118, -40, - -83, -39,-118, -39,-124, -39,-123, -39,-118, -39,-124, -40, -84, -39,-118, -40, -74, -40, -83, -39, --118, -40, -76, -40, -83, -39,-118, -40, -75, -40, -83, -39,-118, -40, -77, -40, -82, -39,-119, -40, - -84, -39,-123, -39,-119, -40, -84, -40, -83, -39,-119, -40, -84, -39,-123, -39,-118, -40, -86, -39, --123, -39,-119, -40, -86, -39,-123, -39,-118, -40, -86, -40, -82, -39,-119, -40, -86, -40, -82, -39, --118, -40, -86, -40, -84, -39,-119, -40, -86, -40, -84, -39,-118, -40, -88, -40, -82, -39,-118, -39, --118, -39,-123, -39,-123, -39,-122, -39,-123, -39,-119, -39,-122, -39,-123, -39,-118, -39,-122, -40, - -84, -39,-119, -39,-122, -40, -84, -39,-123, -39,-122, -40, -83, -39,-119, -39,-122, -40, -83, -39, --123, -39,-121, -39,-123, -39,-123, -39,-121, -39,-123, -40, -84, -39,-123, -40, -84, -40, -82, -39, --123, -40, -82, -39,-123, -39,-123, -40, -82, -40, -84, -39,-123, -40, -84, -39,-123, -39,-123, -40, - -84, -40, -83, -39,-123, -40, -83, -39,-118, -39,-123, -40, -83, -40, -84, -39,-124, -39,-123, -40, - -83, -39,-124, -40, -82, -39,-123, -39,-124, -40, -84, -40, -84, -39,-124, -40, -83, -39,-119, -39, --124, -40, -83, -39,-118, -39,-124, -40, -83, -39,-123, -39,-126, -39,-123, -39,-123, -39,-126, -39, --123, -40, -83, -39,-127, -40, -82, -39,-123, -40, -70, -39,-123, -39,-119, -40, -70, -39,-123, -39, --118, -40, -70, -39,-123, -39,-123, -40, -71, -39,-123, -39,-119, -40, -71, -40, -84, -39,-123, -40, - -73, -39,-123, -39,-118, -40, -73, -39,-123, -39,-123, -40, -73, -39,-123, -40, -83, -40, -74, -40, - -82, -39,-123, -40, -74, -40, -83, -39,-119, -40, -76, -39,-123, -39,-123, -40, -76, -39,-123, -40, - -82, -40, -76, -40, -84, -39,-118, -40, -76, -40, -83, -39,-123, -40, -75, -39,-123, -39,-123, -40, - -75, -40, -83, -40, -83, -40, -77, -39,-123, -39,-123, -40, -77, -39,-123, -40, -84, -40, -77, -39, --123, -40, -83, -40, -77, -40, -84, -39,-119, -40, -77, -40, -84, -40, -83, -40, -77, -40, -83, -40, - -84, -40, -83, -39,-123, -39,-119, -40, -83, -39,-123, -39,-118, -40, -84, -39,-123, -40, -83, -40, - -86, -39,-123, -40, -82, -40, -86, -39,-123, -40, -83, -40, -86, -39,-123, -40, -84, -40, -86, -40, - -82, -39,-123, -40, -86, -40, -83, -39,-123, -40, -86, -40, -83, -40, -84, -40, -86, -40, -84, -39, --123, -39,-128, -39,-112, -39,-111, -39,-128, -39,-113, -39,-111, -39,-128, -39,-114, -39,-111, -39, --118, -39,-108, -39,-121, -39,-118, -39,-108, -40, -82, -39,-118, -39,-108, -39,-122, -39,-118, -39, --108, -40, -78, -39,-118, -39,-108, -40, -79, 32, -39,-111, -39, -80, 32, -39,-112, -39,-111, 32, - -39,-113, -39,-111, 32, -39,-114, -39,-111, 32, -39,-115, -39,-111, 32, -39,-116, -39,-111, -39, --118, -39,-108, -39,-118, -39,-118, -39,-108, -39,-123, -39,-118, -39,-108, -40, -83, -39,-118, -39, --108, -40, -84, -39,-118, -39,-108, -39,-119, -39,-118, -39,-108, -37,-112, -39,-118, -39,-108, -37, --120, -39,-118, -39,-108, -37,-122, -39,-118, -39,-108, -37,-121, -39,-118, -39,-108, -39,-120, -39, --118, -39,-108, -37,-107, -39,-118, -39,-108, -40, -89, 102, 102, 108, 102, 102, 105, 103, 97, 108, - 51, 49, -26,-105, -91, 51, 48, -26,-105, -91, 50, 57, -26,-105, -91, 50, 56, -26,-105, -91, - 50, 55, -26,-105, -91, 50, 54, -26,-105, -91, 50, 53, -26,-105, -91, 50, 52, -26,-105, -91, - 50, 51, -26,-105, -91, 50, 50, -26,-105, -91, 50, 49, -26,-105, -91, 50, 48, -26,-105, -91, - 49, 57, -26,-105, -91, 49, 56, -26,-105, -91, 49, 55, -26,-105, -91, 49, 54, -26,-105, -91, - 49, 53, -26,-105, -91, 49, 52, -26,-105, -91, 49, 51, -26,-105, -91, 49, 50, -26,-105, -91, - 49, 49, -26,-105, -91, 49, 48, -26,-105, -91, 65, -30,-120,-107, 109, 86, -30,-120,-107, 109, - 80, 80, 77, 109, 111, 108, 109, 105, 108, 108, 111, 103, 67, 111, 46, 71, 80, 97, 77, 80, - 97, 107, 80, 97, 107, 109, 51, 99, 109, 51, 109, 109, 51, 107, 109, 50, 99, 109, 50, 109, - 109, 50, 84, 72, 122, 71, 72, 122, 77, 72, 122, 107, 72, 122, 100, 109, 51, 100, 109, 50, - 98, 97, 114, 104, 80, 97, 50, 52, -25,-126, -71, 50, 51, -25,-126, -71, 50, 50, -25,-126, - -71, 50, 49, -25,-126, -71, 50, 48, -25,-126, -71, 49, 57, -25,-126, -71, 49, 56, -25,-126, - -71, 49, 55, -25,-126, -71, 49, 54, -25,-126, -71, 49, 53, -25,-126, -71, 49, 52, -25,-126, - -71, 49, 51, -25,-126, -71, 49, 50, -25,-126, -71, 49, 49, -25,-126, -71, 49, 48, -25,-126, - -71, -29,-125, -90, -29,-126, -94, -29,-125, -77, -29,-125, -92, -29,-125, -68, -29,-125, -85, -29, --125, -98, -29,-125, -85, -29,-126, -81, -29,-125, -98, -29,-125,-125, -29,-125,-113, -29,-125, -98, - -29,-126, -92, -29,-125, -85, -29,-125,-101, -29,-125, -68, -29,-125, -77, -29,-125,-101, -29,-125, - -68, -29,-125, -85, -29,-125,-104, -29,-125, -85, -29,-125,-124, -29,-125,-104, -29,-126,-102, -29, --126, -67, -29,-125,-107, -29,-125, -87, -29,-125, -77, -29,-125,-110, -29,-126,-103, -29,-125, -85, - -29,-125,-110, -29,-126,-102, -29,-126, -77, -29,-125,-113, -29,-126, -92, -29,-125,-124, -29,-125, --114, -29,-125,-125, -29,-125,-120, -29,-125,-120, -29,-126,-103, -29,-125, -85, -29,-125,-122, -29, --126,-103, -29,-126, -73, -29,-126, -69, -29,-125, -77, -29,-125,-127, -29,-126, -77, -29,-125, -85, - -29,-125,-118, -29,-126, -79, -29,-125, -68, -29,-126, -71, -29,-126, -85, -29,-126, -92, -29,-125, - -86, -29,-126, -86, -29,-125, -68, -29,-125, -96, -29,-126, -86, -29,-125, -77, -29,-126, -71, -29, --126, -90, -29,-126, -87, -29,-125, -77, -29,-126, -92, -29,-125, -77, -29,-125,-127, -29,-126, -94, - -29,-125, -68, -29,-125, -85, 76, 84, 68, 101, 114, 103, 49, 50, -26,-100,-120, 49, 49, -26, --100,-120, 49, 48, -26,-100,-120, 80, 84, 69, 40, -24,-121, -77, 41, 40, -24,-121, -86, 41, - 40, -28, -68,-111, 41, 40, -25, -91, -83, 41, 40, -27,-115,-108, 41, 40, -24, -77,-121, 41, - 40, -28, -68,-127, 41, 40, -25,-101, -93, 41, 40, -27, -83, -90, 41, 40, -27,-111, -68, 41, - 40, -28, -69, -93, 41, 40, -27,-118, -76, 41, 40, -25, -91, -99, 41, 40, -24, -78, -95, 41, - 40, -25,-119, -71, 41, 40, -27,-112,-115, 41, 40, -25, -92, -66, 41, 40, -26,-100,-119, 41, - 40, -26, -96, -86, 41, 40, -26,-105, -91, 41, 40, -27,-100, -97, 41, 40, -23,-121,-111, 41, - 40, -26,-100, -88, 41, 40, -26, -80, -76, 41, 40, -25,-127, -85, 41, 40, -26,-100,-120, 41, - 40, -27,-115,-127, 41, 40, -28, -71, -99, 41, 40, -27,-123, -85, 41, 40, -28, -72,-125, 41, - 40, -27,-123, -83, 41, 40, -28, -70,-108, 41, 40, -27,-101,-101, 41, 40, -28, -72,-119, 41, - 40, -28, -70,-116, 41, 40, -28, -72,-128, 41, 40, -31,-124,-110, 41, 40, -31,-124,-111, 41, - 40, -31,-124,-112, 41, 40, -31,-124,-113, 41, 40, -31,-124,-114, 41, 40, -31,-124,-116, 41, - 40, -31,-124,-117, 41, 40, -31,-124,-119, 41, 40, -31,-124,-121, 41, 40, -31,-124,-122, 41, - 40, -31,-124,-123, 41, 40, -31,-124,-125, 41, 40, -31,-124,-126, 41, 40, -31,-124,-128, 41, - 61, 61, 61, 58, 58, 61, 40, 122, 41, 40, 121, 41, 40, 120, 41, 40, 119, 41, 40, 118, - 41, 40, 117, 41, 40, 116, 41, 40, 115, 41, 40, 114, 41, 40, 113, 41, 40, 112, 41, 40, - 111, 41, 40, 110, 41, 40, 109, 41, 40, 108, 41, 40, 107, 41, 40, 106, 41, 40, 105, 41, - 40, 104, 41, 40, 103, 41, 40, 102, 41, 40, 101, 41, 40, 100, 41, 40, 99, 41, 40, 98, - 41, 40, 97, 41, 50, 48, 46, 49, 57, 46, 49, 56, 46, 49, 55, 46, 49, 54, 46, 49, - 53, 46, 49, 52, 46, 49, 51, 46, 49, 50, 46, 49, 49, 46, 49, 48, 46, 40, 57, 41, - 40, 56, 41, 40, 55, 41, 40, 54, 41, 40, 53, 41, 40, 52, 41, 40, 51, 41, 40, 50, - 41, 40, 49, 41, -30,-120, -82, -30,-120, -82, -30,-120, -82, 48, -30,-127,-124, 51, 120, 105, - 105, 88, 73, 73, 55, -30,-127,-124, 56, 53, -30,-127,-124, 56, 51, -30,-127,-124, 56, 49, - -30,-127,-124, 56, 53, -30,-127,-124, 54, 49, -30,-127,-124, 54, 52, -30,-127,-124, 53, 51, - -30,-127,-124, 53, 50, -30,-127,-124, 53, 49, -30,-127,-124, 53, 50, -30,-127,-124, 51, 49, - -30,-127,-124, 51, 49, -30,-127,-124, 57, 49, -30,-127,-124, 55, 70, 65, 88, 84, 69, 76, - 99, 47, 117, 99, 47, 111, 97, 47, 115, 97, 47, 99, -30,-128, -75, -30,-128, -75, -30,-128, - -75, 46, 46, 46, 32, -52,-120, -52,-128, 32, -52,-108, -51,-126, 32, -52,-108, -52,-127, 32, - -52,-108, -52,-128, 32, -52,-109, -51,-126, 32, -52,-109, -52,-127, 32, -52,-109, -52,-128, 32, - -52,-120, -51,-126, -32, -66, -77, -32, -67, -79, -32, -66,-128, -32, -66, -78, -32, -67, -79, -32, - -66,-128, 32, -52,-120, -52,-127, 100, 122, -52,-116, 68, 122, -52,-116, 68, 90, -52,-116, 51, - -30,-127,-124, 52, 49, -30,-127,-124, 50, 49, -30,-127,-124, 52, -16, -99,-122, -70, -16, -99, --123, -91, -16, -99,-123, -81, -16, -99,-122, -71, -16, -99,-123, -91, -16, -99,-123, -81, -16, -99, --122, -70, -16, -99,-123, -91, -16, -99,-123, -82, -16, -99,-122, -71, -16, -99,-123, -91, -16, -99, --123, -82, -16, -99,-123,-104, -16, -99,-123, -91, -16, -99,-123, -78, -16, -99,-123,-104, -16, -99, --123, -91, -16, -99,-123, -79, -16, -99,-123,-104, -16, -99,-123, -91, -16, -99,-123, -80, -16, -99, --123,-104, -16, -99,-123, -91, -16, -99,-123, -81, -16, -99,-123,-104, -16, -99,-123, -91, -16, -99, --123, -82, -41, -87, -42, -68, -41,-126, -41, -87, -42, -68, -41,-127, -31,-124,-110, -31,-123, -75, - -31,-121,-126, -31,-124,-110, -31,-123, -75, -31,-121,-127, -31,-124,-110, -31,-123, -75, -31,-121, --128, -31,-124,-110, -31,-123, -75, -31,-122, -65, -31,-124,-110, -31,-123, -75, -31,-122, -66, -31, --124,-110, -31,-123, -75, -31,-122, -67, -31,-124,-110, -31,-123, -75, -31,-122, -68, -31,-124,-110, - -31,-123, -75, -31,-122, -69, -31,-124,-110, -31,-123, -75, -31,-122, -70, -31,-124,-110, -31,-123, - -75, -31,-122, -71, -31,-124,-110, -31,-123, -75, -31,-122, -72, -31,-124,-110, -31,-123, -75, -31, --122, -73, -31,-124,-110, -31,-123, -75, -31,-122, -74, -31,-124,-110, -31,-123, -75, -31,-122, -75, - -31,-124,-110, -31,-123, -75, -31,-122, -76, -31,-124,-110, -31,-123, -75, -31,-122, -77, -31,-124, --110, -31,-123, -75, -31,-122, -78, -31,-124,-110, -31,-123, -75, -31,-122, -79, -31,-124,-110, -31, --123, -75, -31,-122, -80, -31,-124,-110, -31,-123, -75, -31,-122, -81, -31,-124,-110, -31,-123, -75, - -31,-122, -82, -31,-124,-110, -31,-123, -75, -31,-122, -83, -31,-124,-110, -31,-123, -75, -31,-122, - -84, -31,-124,-110, -31,-123, -75, -31,-122, -85, -31,-124,-110, -31,-123, -75, -31,-122, -86, -31, --124,-110, -31,-123, -75, -31,-122, -87, -31,-124,-110, -31,-123, -75, -31,-122, -88, -31,-124,-110, - -31,-123, -76, -31,-121,-126, -31,-124,-110, -31,-123, -76, -31,-121,-127, -31,-124,-110, -31,-123, - -76, -31,-121,-128, -31,-124,-110, -31,-123, -76, -31,-122, -65, -31,-124,-110, -31,-123, -76, -31, --122, -66, -31,-124,-110, -31,-123, -76, -31,-122, -67, -31,-124,-110, -31,-123, -76, -31,-122, -68, - -31,-124,-110, -31,-123, -76, -31,-122, -69, -31,-124,-110, -31,-123, -76, -31,-122, -70, -31,-124, --110, -31,-123, -76, -31,-122, -71, -31,-124,-110, -31,-123, -76, -31,-122, -72, -31,-124,-110, -31, --123, -76, -31,-122, -73, -31,-124,-110, -31,-123, -76, -31,-122, -74, -31,-124,-110, -31,-123, -76, - -31,-122, -75, -31,-124,-110, -31,-123, -76, -31,-122, -76, -31,-124,-110, -31,-123, -76, -31,-122, - -77, -31,-124,-110, -31,-123, -76, -31,-122, -78, -31,-124,-110, -31,-123, -76, -31,-122, -79, -31, --124,-110, -31,-123, -76, -31,-122, -80, -31,-124,-110, -31,-123, -76, -31,-122, -81, -31,-124,-110, - -31,-123, -76, -31,-122, -82, -31,-124,-110, -31,-123, -76, -31,-122, -83, -31,-124,-110, -31,-123, - -76, -31,-122, -84, -31,-124,-110, -31,-123, -76, -31,-122, -85, -31,-124,-110, -31,-123, -76, -31, --122, -86, -31,-124,-110, -31,-123, -76, -31,-122, -87, -31,-124,-110, -31,-123, -76, -31,-122, -88, - -31,-124,-110, -31,-123, -77, -31,-121,-126, -31,-124,-110, -31,-123, -77, -31,-121,-127, -31,-124, --110, -31,-123, -77, -31,-121,-128, -31,-124,-110, -31,-123, -77, -31,-122, -65, -31,-124,-110, -31, --123, -77, -31,-122, -66, -31,-124,-110, -31,-123, -77, -31,-122, -67, -31,-124,-110, -31,-123, -77, - -31,-122, -68, -31,-124,-110, -31,-123, -77, -31,-122, -69, -31,-124,-110, -31,-123, -77, -31,-122, - -70, -31,-124,-110, -31,-123, -77, -31,-122, -71, -31,-124,-110, -31,-123, -77, -31,-122, -72, -31, --124,-110, -31,-123, -77, -31,-122, -73, -31,-124,-110, -31,-123, -77, -31,-122, -74, -31,-124,-110, - -31,-123, -77, -31,-122, -75, -31,-124,-110, -31,-123, -77, -31,-122, -76, -31,-124,-110, -31,-123, - -77, -31,-122, -77, -31,-124,-110, -31,-123, -77, -31,-122, -78, -31,-124,-110, -31,-123, -77, -31, --122, -79, -31,-124,-110, -31,-123, -77, -31,-122, -80, -31,-124,-110, -31,-123, -77, -31,-122, -81, - -31,-124,-110, -31,-123, -77, -31,-122, -82, -31,-124,-110, -31,-123, -77, -31,-122, -83, -31,-124, --110, -31,-123, -77, -31,-122, -84, -31,-124,-110, -31,-123, -77, -31,-122, -85, -31,-124,-110, -31, --123, -77, -31,-122, -86, -31,-124,-110, -31,-123, -77, -31,-122, -87, -31,-124,-110, -31,-123, -77, - -31,-122, -88, -31,-124,-110, -31,-123, -78, -31,-121,-126, -31,-124,-110, -31,-123, -78, -31,-121, --127, -31,-124,-110, -31,-123, -78, -31,-121,-128, -31,-124,-110, -31,-123, -78, -31,-122, -65, -31, --124,-110, -31,-123, -78, -31,-122, -66, -31,-124,-110, -31,-123, -78, -31,-122, -67, -31,-124,-110, - -31,-123, -78, -31,-122, -68, -31,-124,-110, -31,-123, -78, -31,-122, -69, -31,-124,-110, -31,-123, - -78, -31,-122, -70, -31,-124,-110, -31,-123, -78, -31,-122, -71, -31,-124,-110, -31,-123, -78, -31, --122, -72, -31,-124,-110, -31,-123, -78, -31,-122, -73, -31,-124,-110, -31,-123, -78, -31,-122, -74, - -31,-124,-110, -31,-123, -78, -31,-122, -75, -31,-124,-110, -31,-123, -78, -31,-122, -76, -31,-124, --110, -31,-123, -78, -31,-122, -77, -31,-124,-110, -31,-123, -78, -31,-122, -78, -31,-124,-110, -31, --123, -78, -31,-122, -79, -31,-124,-110, -31,-123, -78, -31,-122, -80, -31,-124,-110, -31,-123, -78, - -31,-122, -81, -31,-124,-110, -31,-123, -78, -31,-122, -82, -31,-124,-110, -31,-123, -78, -31,-122, - -83, -31,-124,-110, -31,-123, -78, -31,-122, -84, -31,-124,-110, -31,-123, -78, -31,-122, -85, -31, --124,-110, -31,-123, -78, -31,-122, -86, -31,-124,-110, -31,-123, -78, -31,-122, -87, -31,-124,-110, - -31,-123, -78, -31,-122, -88, -31,-124,-110, -31,-123, -79, -31,-121,-126, -31,-124,-110, -31,-123, - -79, -31,-121,-127, -31,-124,-110, -31,-123, -79, -31,-121,-128, -31,-124,-110, -31,-123, -79, -31, --122, -65, -31,-124,-110, -31,-123, -79, -31,-122, -66, -31,-124,-110, -31,-123, -79, -31,-122, -67, - -31,-124,-110, -31,-123, -79, -31,-122, -68, -31,-124,-110, -31,-123, -79, -31,-122, -69, -31,-124, --110, -31,-123, -79, -31,-122, -70, -31,-124,-110, -31,-123, -79, -31,-122, -71, -31,-124,-110, -31, --123, -79, -31,-122, -72, -31,-124,-110, -31,-123, -79, -31,-122, -73, -31,-124,-110, -31,-123, -79, - -31,-122, -74, -31,-124,-110, -31,-123, -79, -31,-122, -75, -31,-124,-110, -31,-123, -79, -31,-122, - -76, -31,-124,-110, -31,-123, -79, -31,-122, -77, -31,-124,-110, -31,-123, -79, -31,-122, -78, -31, --124,-110, -31,-123, -79, -31,-122, -79, -31,-124,-110, -31,-123, -79, -31,-122, -80, -31,-124,-110, - -31,-123, -79, -31,-122, -81, -31,-124,-110, -31,-123, -79, -31,-122, -82, -31,-124,-110, -31,-123, - -79, -31,-122, -83, -31,-124,-110, -31,-123, -79, -31,-122, -84, -31,-124,-110, -31,-123, -79, -31, --122, -85, -31,-124,-110, -31,-123, -79, -31,-122, -86, -31,-124,-110, -31,-123, -79, -31,-122, -87, - -31,-124,-110, -31,-123, -79, -31,-122, -88, -31,-124,-110, -31,-123, -80, -31,-121,-126, -31,-124, --110, -31,-123, -80, -31,-121,-127, -31,-124,-110, -31,-123, -80, -31,-121,-128, -31,-124,-110, -31, --123, -80, -31,-122, -65, -31,-124,-110, -31,-123, -80, -31,-122, -66, -31,-124,-110, -31,-123, -80, - -31,-122, -67, -31,-124,-110, -31,-123, -80, -31,-122, -68, -31,-124,-110, -31,-123, -80, -31,-122, - -69, -31,-124,-110, -31,-123, -80, -31,-122, -70, -31,-124,-110, -31,-123, -80, -31,-122, -71, -31, --124,-110, -31,-123, -80, -31,-122, -72, -31,-124,-110, -31,-123, -80, -31,-122, -73, -31,-124,-110, - -31,-123, -80, -31,-122, -74, -31,-124,-110, -31,-123, -80, -31,-122, -75, -31,-124,-110, -31,-123, - -80, -31,-122, -76, -31,-124,-110, -31,-123, -80, -31,-122, -77, -31,-124,-110, -31,-123, -80, -31, --122, -78, -31,-124,-110, -31,-123, -80, -31,-122, -79, -31,-124,-110, -31,-123, -80, -31,-122, -80, - -31,-124,-110, -31,-123, -80, -31,-122, -81, -31,-124,-110, -31,-123, -80, -31,-122, -82, -31,-124, --110, -31,-123, -80, -31,-122, -83, -31,-124,-110, -31,-123, -80, -31,-122, -84, -31,-124,-110, -31, --123, -80, -31,-122, -85, -31,-124,-110, -31,-123, -80, -31,-122, -86, -31,-124,-110, -31,-123, -80, - -31,-122, -87, -31,-124,-110, -31,-123, -80, -31,-122, -88, -31,-124,-110, -31,-123, -81, -31,-121, --126, -31,-124,-110, -31,-123, -81, -31,-121,-127, -31,-124,-110, -31,-123, -81, -31,-121,-128, -31, --124,-110, -31,-123, -81, -31,-122, -65, -31,-124,-110, -31,-123, -81, -31,-122, -66, -31,-124,-110, - -31,-123, -81, -31,-122, -67, -31,-124,-110, -31,-123, -81, -31,-122, -68, -31,-124,-110, -31,-123, - -81, -31,-122, -69, -31,-124,-110, -31,-123, -81, -31,-122, -70, -31,-124,-110, -31,-123, -81, -31, --122, -71, -31,-124,-110, -31,-123, -81, -31,-122, -72, -31,-124,-110, -31,-123, -81, -31,-122, -73, - -31,-124,-110, -31,-123, -81, -31,-122, -74, -31,-124,-110, -31,-123, -81, -31,-122, -75, -31,-124, --110, -31,-123, -81, -31,-122, -76, -31,-124,-110, -31,-123, -81, -31,-122, -77, -31,-124,-110, -31, --123, -81, -31,-122, -78, -31,-124,-110, -31,-123, -81, -31,-122, -79, -31,-124,-110, -31,-123, -81, - -31,-122, -80, -31,-124,-110, -31,-123, -81, -31,-122, -81, -31,-124,-110, -31,-123, -81, -31,-122, - -82, -31,-124,-110, -31,-123, -81, -31,-122, -83, -31,-124,-110, -31,-123, -81, -31,-122, -84, -31, --124,-110, -31,-123, -81, -31,-122, -85, -31,-124,-110, -31,-123, -81, -31,-122, -86, -31,-124,-110, - -31,-123, -81, -31,-122, -87, -31,-124,-110, -31,-123, -81, -31,-122, -88, -31,-124,-110, -31,-123, - -82, -31,-121,-126, -31,-124,-110, -31,-123, -82, -31,-121,-127, -31,-124,-110, -31,-123, -82, -31, --121,-128, -31,-124,-110, -31,-123, -82, -31,-122, -65, -31,-124,-110, -31,-123, -82, -31,-122, -66, - -31,-124,-110, -31,-123, -82, -31,-122, -67, -31,-124,-110, -31,-123, -82, -31,-122, -68, -31,-124, --110, -31,-123, -82, -31,-122, -69, -31,-124,-110, -31,-123, -82, -31,-122, -70, -31,-124,-110, -31, --123, -82, -31,-122, -71, -31,-124,-110, -31,-123, -82, -31,-122, -72, -31,-124,-110, -31,-123, -82, - -31,-122, -73, -31,-124,-110, -31,-123, -82, -31,-122, -74, -31,-124,-110, -31,-123, -82, -31,-122, - -75, -31,-124,-110, -31,-123, -82, -31,-122, -76, -31,-124,-110, -31,-123, -82, -31,-122, -77, -31, --124,-110, -31,-123, -82, -31,-122, -78, -31,-124,-110, -31,-123, -82, -31,-122, -79, -31,-124,-110, - -31,-123, -82, -31,-122, -80, -31,-124,-110, -31,-123, -82, -31,-122, -81, -31,-124,-110, -31,-123, - -82, -31,-122, -82, -31,-124,-110, -31,-123, -82, -31,-122, -83, -31,-124,-110, -31,-123, -82, -31, --122, -84, -31,-124,-110, -31,-123, -82, -31,-122, -85, -31,-124,-110, -31,-123, -82, -31,-122, -86, - -31,-124,-110, -31,-123, -82, -31,-122, -87, -31,-124,-110, -31,-123, -82, -31,-122, -88, -31,-124, --110, -31,-123, -83, -31,-121,-126, -31,-124,-110, -31,-123, -83, -31,-121,-127, -31,-124,-110, -31, --123, -83, -31,-121,-128, -31,-124,-110, -31,-123, -83, -31,-122, -65, -31,-124,-110, -31,-123, -83, - -31,-122, -66, -31,-124,-110, -31,-123, -83, -31,-122, -67, -31,-124,-110, -31,-123, -83, -31,-122, - -68, -31,-124,-110, -31,-123, -83, -31,-122, -69, -31,-124,-110, -31,-123, -83, -31,-122, -70, -31, --124,-110, -31,-123, -83, -31,-122, -71, -31,-124,-110, -31,-123, -83, -31,-122, -72, -31,-124,-110, - -31,-123, -83, -31,-122, -73, -31,-124,-110, -31,-123, -83, -31,-122, -74, -31,-124,-110, -31,-123, - -83, -31,-122, -75, -31,-124,-110, -31,-123, -83, -31,-122, -76, -31,-124,-110, -31,-123, -83, -31, --122, -77, -31,-124,-110, -31,-123, -83, -31,-122, -78, -31,-124,-110, -31,-123, -83, -31,-122, -79, - -31,-124,-110, -31,-123, -83, -31,-122, -80, -31,-124,-110, -31,-123, -83, -31,-122, -81, -31,-124, --110, -31,-123, -83, -31,-122, -82, -31,-124,-110, -31,-123, -83, -31,-122, -83, -31,-124,-110, -31, --123, -83, -31,-122, -84, -31,-124,-110, -31,-123, -83, -31,-122, -85, -31,-124,-110, -31,-123, -83, - -31,-122, -86, -31,-124,-110, -31,-123, -83, -31,-122, -87, -31,-124,-110, -31,-123, -83, -31,-122, - -88, -31,-124,-110, -31,-123, -84, -31,-121,-126, -31,-124,-110, -31,-123, -84, -31,-121,-127, -31, --124,-110, -31,-123, -84, -31,-121,-128, -31,-124,-110, -31,-123, -84, -31,-122, -65, -31,-124,-110, - -31,-123, -84, -31,-122, -66, -31,-124,-110, -31,-123, -84, -31,-122, -67, -31,-124,-110, -31,-123, - -84, -31,-122, -68, -31,-124,-110, -31,-123, -84, -31,-122, -69, -31,-124,-110, -31,-123, -84, -31, --122, -70, -31,-124,-110, -31,-123, -84, -31,-122, -71, -31,-124,-110, -31,-123, -84, -31,-122, -72, - -31,-124,-110, -31,-123, -84, -31,-122, -73, -31,-124,-110, -31,-123, -84, -31,-122, -74, -31,-124, --110, -31,-123, -84, -31,-122, -75, -31,-124,-110, -31,-123, -84, -31,-122, -76, -31,-124,-110, -31, --123, -84, -31,-122, -77, -31,-124,-110, -31,-123, -84, -31,-122, -78, -31,-124,-110, -31,-123, -84, - -31,-122, -79, -31,-124,-110, -31,-123, -84, -31,-122, -80, -31,-124,-110, -31,-123, -84, -31,-122, - -81, -31,-124,-110, -31,-123, -84, -31,-122, -82, -31,-124,-110, -31,-123, -84, -31,-122, -83, -31, --124,-110, -31,-123, -84, -31,-122, -84, -31,-124,-110, -31,-123, -84, -31,-122, -85, -31,-124,-110, - -31,-123, -84, -31,-122, -86, -31,-124,-110, -31,-123, -84, -31,-122, -87, -31,-124,-110, -31,-123, - -84, -31,-122, -88, -31,-124,-110, -31,-123, -85, -31,-121,-126, -31,-124,-110, -31,-123, -85, -31, --121,-127, -31,-124,-110, -31,-123, -85, -31,-121,-128, -31,-124,-110, -31,-123, -85, -31,-122, -65, - -31,-124,-110, -31,-123, -85, -31,-122, -66, -31,-124,-110, -31,-123, -85, -31,-122, -67, -31,-124, --110, -31,-123, -85, -31,-122, -68, -31,-124,-110, -31,-123, -85, -31,-122, -69, -31,-124,-110, -31, --123, -85, -31,-122, -70, -31,-124,-110, -31,-123, -85, -31,-122, -71, -31,-124,-110, -31,-123, -85, - -31,-122, -72, -31,-124,-110, -31,-123, -85, -31,-122, -73, -31,-124,-110, -31,-123, -85, -31,-122, - -74, -31,-124,-110, -31,-123, -85, -31,-122, -75, -31,-124,-110, -31,-123, -85, -31,-122, -76, -31, --124,-110, -31,-123, -85, -31,-122, -77, -31,-124,-110, -31,-123, -85, -31,-122, -78, -31,-124,-110, - -31,-123, -85, -31,-122, -79, -31,-124,-110, -31,-123, -85, -31,-122, -80, -31,-124,-110, -31,-123, - -85, -31,-122, -81, -31,-124,-110, -31,-123, -85, -31,-122, -82, -31,-124,-110, -31,-123, -85, -31, --122, -83, -31,-124,-110, -31,-123, -85, -31,-122, -84, -31,-124,-110, -31,-123, -85, -31,-122, -85, - -31,-124,-110, -31,-123, -85, -31,-122, -86, -31,-124,-110, -31,-123, -85, -31,-122, -87, -31,-124, --110, -31,-123, -85, -31,-122, -88, -31,-124,-110, -31,-123, -86, -31,-121,-126, -31,-124,-110, -31, --123, -86, -31,-121,-127, -31,-124,-110, -31,-123, -86, -31,-121,-128, -31,-124,-110, -31,-123, -86, - -31,-122, -65, -31,-124,-110, -31,-123, -86, -31,-122, -66, -31,-124,-110, -31,-123, -86, -31,-122, - -67, -31,-124,-110, -31,-123, -86, -31,-122, -68, -31,-124,-110, -31,-123, -86, -31,-122, -69, -31, --124,-110, -31,-123, -86, -31,-122, -70, -31,-124,-110, -31,-123, -86, -31,-122, -71, -31,-124,-110, - -31,-123, -86, -31,-122, -72, -31,-124,-110, -31,-123, -86, -31,-122, -73, -31,-124,-110, -31,-123, - -86, -31,-122, -74, -31,-124,-110, -31,-123, -86, -31,-122, -75, -31,-124,-110, -31,-123, -86, -31, --122, -76, -31,-124,-110, -31,-123, -86, -31,-122, -77, -31,-124,-110, -31,-123, -86, -31,-122, -78, - -31,-124,-110, -31,-123, -86, -31,-122, -79, -31,-124,-110, -31,-123, -86, -31,-122, -80, -31,-124, --110, -31,-123, -86, -31,-122, -81, -31,-124,-110, -31,-123, -86, -31,-122, -82, -31,-124,-110, -31, --123, -86, -31,-122, -83, -31,-124,-110, -31,-123, -86, -31,-122, -84, -31,-124,-110, -31,-123, -86, - -31,-122, -85, -31,-124,-110, -31,-123, -86, -31,-122, -86, -31,-124,-110, -31,-123, -86, -31,-122, - -87, -31,-124,-110, -31,-123, -86, -31,-122, -88, -31,-124,-110, -31,-123, -87, -31,-121,-126, -31, --124,-110, -31,-123, -87, -31,-121,-127, -31,-124,-110, -31,-123, -87, -31,-121,-128, -31,-124,-110, - -31,-123, -87, -31,-122, -65, -31,-124,-110, -31,-123, -87, -31,-122, -66, -31,-124,-110, -31,-123, - -87, -31,-122, -67, -31,-124,-110, -31,-123, -87, -31,-122, -68, -31,-124,-110, -31,-123, -87, -31, --122, -69, -31,-124,-110, -31,-123, -87, -31,-122, -70, -31,-124,-110, -31,-123, -87, -31,-122, -71, - -31,-124,-110, -31,-123, -87, -31,-122, -72, -31,-124,-110, -31,-123, -87, -31,-122, -73, -31,-124, --110, -31,-123, -87, -31,-122, -74, -31,-124,-110, -31,-123, -87, -31,-122, -75, -31,-124,-110, -31, --123, -87, -31,-122, -76, -31,-124,-110, -31,-123, -87, -31,-122, -77, -31,-124,-110, -31,-123, -87, - -31,-122, -78, -31,-124,-110, -31,-123, -87, -31,-122, -79, -31,-124,-110, -31,-123, -87, -31,-122, - -80, -31,-124,-110, -31,-123, -87, -31,-122, -81, -31,-124,-110, -31,-123, -87, -31,-122, -82, -31, --124,-110, -31,-123, -87, -31,-122, -83, -31,-124,-110, -31,-123, -87, -31,-122, -84, -31,-124,-110, - -31,-123, -87, -31,-122, -85, -31,-124,-110, -31,-123, -87, -31,-122, -86, -31,-124,-110, -31,-123, - -87, -31,-122, -87, -31,-124,-110, -31,-123, -87, -31,-122, -88, -31,-124,-110, -31,-123, -88, -31, --121,-126, -31,-124,-110, -31,-123, -88, -31,-121,-127, -31,-124,-110, -31,-123, -88, -31,-121,-128, - -31,-124,-110, -31,-123, -88, -31,-122, -65, -31,-124,-110, -31,-123, -88, -31,-122, -66, -31,-124, --110, -31,-123, -88, -31,-122, -67, -31,-124,-110, -31,-123, -88, -31,-122, -68, -31,-124,-110, -31, --123, -88, -31,-122, -69, -31,-124,-110, -31,-123, -88, -31,-122, -70, -31,-124,-110, -31,-123, -88, - -31,-122, -71, -31,-124,-110, -31,-123, -88, -31,-122, -72, -31,-124,-110, -31,-123, -88, -31,-122, - -73, -31,-124,-110, -31,-123, -88, -31,-122, -74, -31,-124,-110, -31,-123, -88, -31,-122, -75, -31, --124,-110, -31,-123, -88, -31,-122, -76, -31,-124,-110, -31,-123, -88, -31,-122, -77, -31,-124,-110, - -31,-123, -88, -31,-122, -78, -31,-124,-110, -31,-123, -88, -31,-122, -79, -31,-124,-110, -31,-123, - -88, -31,-122, -80, -31,-124,-110, -31,-123, -88, -31,-122, -81, -31,-124,-110, -31,-123, -88, -31, --122, -82, -31,-124,-110, -31,-123, -88, -31,-122, -83, -31,-124,-110, -31,-123, -88, -31,-122, -84, - -31,-124,-110, -31,-123, -88, -31,-122, -85, -31,-124,-110, -31,-123, -88, -31,-122, -86, -31,-124, --110, -31,-123, -88, -31,-122, -87, -31,-124,-110, -31,-123, -88, -31,-122, -88, -31,-124,-110, -31, --123, -89, -31,-121,-126, -31,-124,-110, -31,-123, -89, -31,-121,-127, -31,-124,-110, -31,-123, -89, - -31,-121,-128, -31,-124,-110, -31,-123, -89, -31,-122, -65, -31,-124,-110, -31,-123, -89, -31,-122, - -66, -31,-124,-110, -31,-123, -89, -31,-122, -67, -31,-124,-110, -31,-123, -89, -31,-122, -68, -31, --124,-110, -31,-123, -89, -31,-122, -69, -31,-124,-110, -31,-123, -89, -31,-122, -70, -31,-124,-110, - -31,-123, -89, -31,-122, -71, -31,-124,-110, -31,-123, -89, -31,-122, -72, -31,-124,-110, -31,-123, - -89, -31,-122, -73, -31,-124,-110, -31,-123, -89, -31,-122, -74, -31,-124,-110, -31,-123, -89, -31, --122, -75, -31,-124,-110, -31,-123, -89, -31,-122, -76, -31,-124,-110, -31,-123, -89, -31,-122, -77, - -31,-124,-110, -31,-123, -89, -31,-122, -78, -31,-124,-110, -31,-123, -89, -31,-122, -79, -31,-124, --110, -31,-123, -89, -31,-122, -80, -31,-124,-110, -31,-123, -89, -31,-122, -81, -31,-124,-110, -31, --123, -89, -31,-122, -82, -31,-124,-110, -31,-123, -89, -31,-122, -83, -31,-124,-110, -31,-123, -89, - -31,-122, -84, -31,-124,-110, -31,-123, -89, -31,-122, -85, -31,-124,-110, -31,-123, -89, -31,-122, - -86, -31,-124,-110, -31,-123, -89, -31,-122, -87, -31,-124,-110, -31,-123, -89, -31,-122, -88, -31, --124,-110, -31,-123, -90, -31,-121,-126, -31,-124,-110, -31,-123, -90, -31,-121,-127, -31,-124,-110, - -31,-123, -90, -31,-121,-128, -31,-124,-110, -31,-123, -90, -31,-122, -65, -31,-124,-110, -31,-123, - -90, -31,-122, -66, -31,-124,-110, -31,-123, -90, -31,-122, -67, -31,-124,-110, -31,-123, -90, -31, --122, -68, -31,-124,-110, -31,-123, -90, -31,-122, -69, -31,-124,-110, -31,-123, -90, -31,-122, -70, - -31,-124,-110, -31,-123, -90, -31,-122, -71, -31,-124,-110, -31,-123, -90, -31,-122, -72, -31,-124, --110, -31,-123, -90, -31,-122, -73, -31,-124,-110, -31,-123, -90, -31,-122, -74, -31,-124,-110, -31, --123, -90, -31,-122, -75, -31,-124,-110, -31,-123, -90, -31,-122, -76, -31,-124,-110, -31,-123, -90, - -31,-122, -77, -31,-124,-110, -31,-123, -90, -31,-122, -78, -31,-124,-110, -31,-123, -90, -31,-122, - -79, -31,-124,-110, -31,-123, -90, -31,-122, -80, -31,-124,-110, -31,-123, -90, -31,-122, -81, -31, --124,-110, -31,-123, -90, -31,-122, -82, -31,-124,-110, -31,-123, -90, -31,-122, -83, -31,-124,-110, - -31,-123, -90, -31,-122, -84, -31,-124,-110, -31,-123, -90, -31,-122, -85, -31,-124,-110, -31,-123, - -90, -31,-122, -86, -31,-124,-110, -31,-123, -90, -31,-122, -87, -31,-124,-110, -31,-123, -90, -31, --122, -88, -31,-124,-110, -31,-123, -91, -31,-121,-126, -31,-124,-110, -31,-123, -91, -31,-121,-127, - -31,-124,-110, -31,-123, -91, -31,-121,-128, -31,-124,-110, -31,-123, -91, -31,-122, -65, -31,-124, --110, -31,-123, -91, -31,-122, -66, -31,-124,-110, -31,-123, -91, -31,-122, -67, -31,-124,-110, -31, --123, -91, -31,-122, -68, -31,-124,-110, -31,-123, -91, -31,-122, -69, -31,-124,-110, -31,-123, -91, - -31,-122, -70, -31,-124,-110, -31,-123, -91, -31,-122, -71, -31,-124,-110, -31,-123, -91, -31,-122, - -72, -31,-124,-110, -31,-123, -91, -31,-122, -73, -31,-124,-110, -31,-123, -91, -31,-122, -74, -31, --124,-110, -31,-123, -91, -31,-122, -75, -31,-124,-110, -31,-123, -91, -31,-122, -76, -31,-124,-110, - -31,-123, -91, -31,-122, -77, -31,-124,-110, -31,-123, -91, -31,-122, -78, -31,-124,-110, -31,-123, - -91, -31,-122, -79, -31,-124,-110, -31,-123, -91, -31,-122, -80, -31,-124,-110, -31,-123, -91, -31, --122, -81, -31,-124,-110, -31,-123, -91, -31,-122, -82, -31,-124,-110, -31,-123, -91, -31,-122, -83, - -31,-124,-110, -31,-123, -91, -31,-122, -84, -31,-124,-110, -31,-123, -91, -31,-122, -85, -31,-124, --110, -31,-123, -91, -31,-122, -86, -31,-124,-110, -31,-123, -91, -31,-122, -87, -31,-124,-110, -31, --123, -91, -31,-122, -88, -31,-124,-110, -31,-123, -92, -31,-121,-126, -31,-124,-110, -31,-123, -92, - -31,-121,-127, -31,-124,-110, -31,-123, -92, -31,-121,-128, -31,-124,-110, -31,-123, -92, -31,-122, - -65, -31,-124,-110, -31,-123, -92, -31,-122, -66, -31,-124,-110, -31,-123, -92, -31,-122, -67, -31, --124,-110, -31,-123, -92, -31,-122, -68, -31,-124,-110, -31,-123, -92, -31,-122, -69, -31,-124,-110, - -31,-123, -92, -31,-122, -70, -31,-124,-110, -31,-123, -92, -31,-122, -71, -31,-124,-110, -31,-123, - -92, -31,-122, -72, -31,-124,-110, -31,-123, -92, -31,-122, -73, -31,-124,-110, -31,-123, -92, -31, --122, -74, -31,-124,-110, -31,-123, -92, -31,-122, -75, -31,-124,-110, -31,-123, -92, -31,-122, -76, - -31,-124,-110, -31,-123, -92, -31,-122, -77, -31,-124,-110, -31,-123, -92, -31,-122, -78, -31,-124, --110, -31,-123, -92, -31,-122, -79, -31,-124,-110, -31,-123, -92, -31,-122, -80, -31,-124,-110, -31, --123, -92, -31,-122, -81, -31,-124,-110, -31,-123, -92, -31,-122, -82, -31,-124,-110, -31,-123, -92, - -31,-122, -83, -31,-124,-110, -31,-123, -92, -31,-122, -84, -31,-124,-110, -31,-123, -92, -31,-122, - -85, -31,-124,-110, -31,-123, -92, -31,-122, -86, -31,-124,-110, -31,-123, -92, -31,-122, -87, -31, --124,-110, -31,-123, -92, -31,-122, -88, -31,-124,-110, -31,-123, -93, -31,-121,-126, -31,-124,-110, - -31,-123, -93, -31,-121,-127, -31,-124,-110, -31,-123, -93, -31,-121,-128, -31,-124,-110, -31,-123, - -93, -31,-122, -65, -31,-124,-110, -31,-123, -93, -31,-122, -66, -31,-124,-110, -31,-123, -93, -31, --122, -67, -31,-124,-110, -31,-123, -93, -31,-122, -68, -31,-124,-110, -31,-123, -93, -31,-122, -69, - -31,-124,-110, -31,-123, -93, -31,-122, -70, -31,-124,-110, -31,-123, -93, -31,-122, -71, -31,-124, --110, -31,-123, -93, -31,-122, -72, -31,-124,-110, -31,-123, -93, -31,-122, -73, -31,-124,-110, -31, --123, -93, -31,-122, -74, -31,-124,-110, -31,-123, -93, -31,-122, -75, -31,-124,-110, -31,-123, -93, - -31,-122, -76, -31,-124,-110, -31,-123, -93, -31,-122, -77, -31,-124,-110, -31,-123, -93, -31,-122, - -78, -31,-124,-110, -31,-123, -93, -31,-122, -79, -31,-124,-110, -31,-123, -93, -31,-122, -80, -31, --124,-110, -31,-123, -93, -31,-122, -81, -31,-124,-110, -31,-123, -93, -31,-122, -82, -31,-124,-110, - -31,-123, -93, -31,-122, -83, -31,-124,-110, -31,-123, -93, -31,-122, -84, -31,-124,-110, -31,-123, - -93, -31,-122, -85, -31,-124,-110, -31,-123, -93, -31,-122, -86, -31,-124,-110, -31,-123, -93, -31, --122, -87, -31,-124,-110, -31,-123, -93, -31,-122, -88, -31,-124,-110, -31,-123, -94, -31,-121,-126, - -31,-124,-110, -31,-123, -94, -31,-121,-127, -31,-124,-110, -31,-123, -94, -31,-121,-128, -31,-124, --110, -31,-123, -94, -31,-122, -65, -31,-124,-110, -31,-123, -94, -31,-122, -66, -31,-124,-110, -31, --123, -94, -31,-122, -67, -31,-124,-110, -31,-123, -94, -31,-122, -68, -31,-124,-110, -31,-123, -94, - -31,-122, -69, -31,-124,-110, -31,-123, -94, -31,-122, -70, -31,-124,-110, -31,-123, -94, -31,-122, - -71, -31,-124,-110, -31,-123, -94, -31,-122, -72, -31,-124,-110, -31,-123, -94, -31,-122, -73, -31, --124,-110, -31,-123, -94, -31,-122, -74, -31,-124,-110, -31,-123, -94, -31,-122, -75, -31,-124,-110, - -31,-123, -94, -31,-122, -76, -31,-124,-110, -31,-123, -94, -31,-122, -77, -31,-124,-110, -31,-123, - -94, -31,-122, -78, -31,-124,-110, -31,-123, -94, -31,-122, -79, -31,-124,-110, -31,-123, -94, -31, --122, -80, -31,-124,-110, -31,-123, -94, -31,-122, -81, -31,-124,-110, -31,-123, -94, -31,-122, -82, - -31,-124,-110, -31,-123, -94, -31,-122, -83, -31,-124,-110, -31,-123, -94, -31,-122, -84, -31,-124, --110, -31,-123, -94, -31,-122, -85, -31,-124,-110, -31,-123, -94, -31,-122, -86, -31,-124,-110, -31, --123, -94, -31,-122, -87, -31,-124,-110, -31,-123, -94, -31,-122, -88, -31,-124,-110, -31,-123, -95, - -31,-121,-126, -31,-124,-110, -31,-123, -95, -31,-121,-127, -31,-124,-110, -31,-123, -95, -31,-121, --128, -31,-124,-110, -31,-123, -95, -31,-122, -65, -31,-124,-110, -31,-123, -95, -31,-122, -66, -31, --124,-110, -31,-123, -95, -31,-122, -67, -31,-124,-110, -31,-123, -95, -31,-122, -68, -31,-124,-110, - -31,-123, -95, -31,-122, -69, -31,-124,-110, -31,-123, -95, -31,-122, -70, -31,-124,-110, -31,-123, - -95, -31,-122, -71, -31,-124,-110, -31,-123, -95, -31,-122, -72, -31,-124,-110, -31,-123, -95, -31, --122, -73, -31,-124,-110, -31,-123, -95, -31,-122, -74, -31,-124,-110, -31,-123, -95, -31,-122, -75, - -31,-124,-110, -31,-123, -95, -31,-122, -76, -31,-124,-110, -31,-123, -95, -31,-122, -77, -31,-124, --110, -31,-123, -95, -31,-122, -78, -31,-124,-110, -31,-123, -95, -31,-122, -79, -31,-124,-110, -31, --123, -95, -31,-122, -80, -31,-124,-110, -31,-123, -95, -31,-122, -81, -31,-124,-110, -31,-123, -95, - -31,-122, -82, -31,-124,-110, -31,-123, -95, -31,-122, -83, -31,-124,-110, -31,-123, -95, -31,-122, - -84, -31,-124,-110, -31,-123, -95, -31,-122, -85, -31,-124,-110, -31,-123, -95, -31,-122, -86, -31, --124,-110, -31,-123, -95, -31,-122, -87, -31,-124,-110, -31,-123, -95, -31,-122, -88, -31,-124,-111, - -31,-123, -75, -31,-121,-126, -31,-124,-111, -31,-123, -75, -31,-121,-127, -31,-124,-111, -31,-123, - -75, -31,-121,-128, -31,-124,-111, -31,-123, -75, -31,-122, -65, -31,-124,-111, -31,-123, -75, -31, --122, -66, -31,-124,-111, -31,-123, -75, -31,-122, -67, -31,-124,-111, -31,-123, -75, -31,-122, -68, - -31,-124,-111, -31,-123, -75, -31,-122, -69, -31,-124,-111, -31,-123, -75, -31,-122, -70, -31,-124, --111, -31,-123, -75, -31,-122, -71, -31,-124,-111, -31,-123, -75, -31,-122, -72, -31,-124,-111, -31, --123, -75, -31,-122, -73, -31,-124,-111, -31,-123, -75, -31,-122, -74, -31,-124,-111, -31,-123, -75, - -31,-122, -75, -31,-124,-111, -31,-123, -75, -31,-122, -76, -31,-124,-111, -31,-123, -75, -31,-122, - -77, -31,-124,-111, -31,-123, -75, -31,-122, -78, -31,-124,-111, -31,-123, -75, -31,-122, -79, -31, --124,-111, -31,-123, -75, -31,-122, -80, -31,-124,-111, -31,-123, -75, -31,-122, -81, -31,-124,-111, - -31,-123, -75, -31,-122, -82, -31,-124,-111, -31,-123, -75, -31,-122, -83, -31,-124,-111, -31,-123, - -75, -31,-122, -84, -31,-124,-111, -31,-123, -75, -31,-122, -85, -31,-124,-111, -31,-123, -75, -31, --122, -86, -31,-124,-111, -31,-123, -75, -31,-122, -87, -31,-124,-111, -31,-123, -75, -31,-122, -88, - -31,-124,-111, -31,-123, -76, -31,-121,-126, -31,-124,-111, -31,-123, -76, -31,-121,-127, -31,-124, --111, -31,-123, -76, -31,-121,-128, -31,-124,-111, -31,-123, -76, -31,-122, -65, -31,-124,-111, -31, --123, -76, -31,-122, -66, -31,-124,-111, -31,-123, -76, -31,-122, -67, -31,-124,-111, -31,-123, -76, - -31,-122, -68, -31,-124,-111, -31,-123, -76, -31,-122, -69, -31,-124,-111, -31,-123, -76, -31,-122, - -70, -31,-124,-111, -31,-123, -76, -31,-122, -71, -31,-124,-111, -31,-123, -76, -31,-122, -72, -31, --124,-111, -31,-123, -76, -31,-122, -73, -31,-124,-111, -31,-123, -76, -31,-122, -74, -31,-124,-111, - -31,-123, -76, -31,-122, -75, -31,-124,-111, -31,-123, -76, -31,-122, -76, -31,-124,-111, -31,-123, - -76, -31,-122, -77, -31,-124,-111, -31,-123, -76, -31,-122, -78, -31,-124,-111, -31,-123, -76, -31, --122, -79, -31,-124,-111, -31,-123, -76, -31,-122, -80, -31,-124,-111, -31,-123, -76, -31,-122, -81, - -31,-124,-111, -31,-123, -76, -31,-122, -82, -31,-124,-111, -31,-123, -76, -31,-122, -83, -31,-124, --111, -31,-123, -76, -31,-122, -84, -31,-124,-111, -31,-123, -76, -31,-122, -85, -31,-124,-111, -31, --123, -76, -31,-122, -86, -31,-124,-111, -31,-123, -76, -31,-122, -87, -31,-124,-111, -31,-123, -76, - -31,-122, -88, -31,-124,-111, -31,-123, -77, -31,-121,-126, -31,-124,-111, -31,-123, -77, -31,-121, --127, -31,-124,-111, -31,-123, -77, -31,-121,-128, -31,-124,-111, -31,-123, -77, -31,-122, -65, -31, --124,-111, -31,-123, -77, -31,-122, -66, -31,-124,-111, -31,-123, -77, -31,-122, -67, -31,-124,-111, - -31,-123, -77, -31,-122, -68, -31,-124,-111, -31,-123, -77, -31,-122, -69, -31,-124,-111, -31,-123, - -77, -31,-122, -70, -31,-124,-111, -31,-123, -77, -31,-122, -71, -31,-124,-111, -31,-123, -77, -31, --122, -72, -31,-124,-111, -31,-123, -77, -31,-122, -73, -31,-124,-111, -31,-123, -77, -31,-122, -74, - -31,-124,-111, -31,-123, -77, -31,-122, -75, -31,-124,-111, -31,-123, -77, -31,-122, -76, -31,-124, --111, -31,-123, -77, -31,-122, -77, -31,-124,-111, -31,-123, -77, -31,-122, -78, -31,-124,-111, -31, --123, -77, -31,-122, -79, -31,-124,-111, -31,-123, -77, -31,-122, -80, -31,-124,-111, -31,-123, -77, - -31,-122, -81, -31,-124,-111, -31,-123, -77, -31,-122, -82, -31,-124,-111, -31,-123, -77, -31,-122, - -83, -31,-124,-111, -31,-123, -77, -31,-122, -84, -31,-124,-111, -31,-123, -77, -31,-122, -85, -31, --124,-111, -31,-123, -77, -31,-122, -86, -31,-124,-111, -31,-123, -77, -31,-122, -87, -31,-124,-111, - -31,-123, -77, -31,-122, -88, -31,-124,-111, -31,-123, -78, -31,-121,-126, -31,-124,-111, -31,-123, - -78, -31,-121,-127, -31,-124,-111, -31,-123, -78, -31,-121,-128, -31,-124,-111, -31,-123, -78, -31, --122, -65, -31,-124,-111, -31,-123, -78, -31,-122, -66, -31,-124,-111, -31,-123, -78, -31,-122, -67, - -31,-124,-111, -31,-123, -78, -31,-122, -68, -31,-124,-111, -31,-123, -78, -31,-122, -69, -31,-124, --111, -31,-123, -78, -31,-122, -70, -31,-124,-111, -31,-123, -78, -31,-122, -71, -31,-124,-111, -31, --123, -78, -31,-122, -72, -31,-124,-111, -31,-123, -78, -31,-122, -73, -31,-124,-111, -31,-123, -78, - -31,-122, -74, -31,-124,-111, -31,-123, -78, -31,-122, -75, -31,-124,-111, -31,-123, -78, -31,-122, - -76, -31,-124,-111, -31,-123, -78, -31,-122, -77, -31,-124,-111, -31,-123, -78, -31,-122, -78, -31, --124,-111, -31,-123, -78, -31,-122, -79, -31,-124,-111, -31,-123, -78, -31,-122, -80, -31,-124,-111, - -31,-123, -78, -31,-122, -81, -31,-124,-111, -31,-123, -78, -31,-122, -82, -31,-124,-111, -31,-123, - -78, -31,-122, -83, -31,-124,-111, -31,-123, -78, -31,-122, -84, -31,-124,-111, -31,-123, -78, -31, --122, -85, -31,-124,-111, -31,-123, -78, -31,-122, -86, -31,-124,-111, -31,-123, -78, -31,-122, -87, - -31,-124,-111, -31,-123, -78, -31,-122, -88, -31,-124,-111, -31,-123, -79, -31,-121,-126, -31,-124, --111, -31,-123, -79, -31,-121,-127, -31,-124,-111, -31,-123, -79, -31,-121,-128, -31,-124,-111, -31, --123, -79, -31,-122, -65, -31,-124,-111, -31,-123, -79, -31,-122, -66, -31,-124,-111, -31,-123, -79, - -31,-122, -67, -31,-124,-111, -31,-123, -79, -31,-122, -68, -31,-124,-111, -31,-123, -79, -31,-122, - -69, -31,-124,-111, -31,-123, -79, -31,-122, -70, -31,-124,-111, -31,-123, -79, -31,-122, -71, -31, --124,-111, -31,-123, -79, -31,-122, -72, -31,-124,-111, -31,-123, -79, -31,-122, -73, -31,-124,-111, - -31,-123, -79, -31,-122, -74, -31,-124,-111, -31,-123, -79, -31,-122, -75, -31,-124,-111, -31,-123, - -79, -31,-122, -76, -31,-124,-111, -31,-123, -79, -31,-122, -77, -31,-124,-111, -31,-123, -79, -31, --122, -78, -31,-124,-111, -31,-123, -79, -31,-122, -79, -31,-124,-111, -31,-123, -79, -31,-122, -80, - -31,-124,-111, -31,-123, -79, -31,-122, -81, -31,-124,-111, -31,-123, -79, -31,-122, -82, -31,-124, --111, -31,-123, -79, -31,-122, -83, -31,-124,-111, -31,-123, -79, -31,-122, -84, -31,-124,-111, -31, --123, -79, -31,-122, -85, -31,-124,-111, -31,-123, -79, -31,-122, -86, -31,-124,-111, -31,-123, -79, - -31,-122, -87, -31,-124,-111, -31,-123, -79, -31,-122, -88, -31,-124,-111, -31,-123, -80, -31,-121, --126, -31,-124,-111, -31,-123, -80, -31,-121,-127, -31,-124,-111, -31,-123, -80, -31,-121,-128, -31, --124,-111, -31,-123, -80, -31,-122, -65, -31,-124,-111, -31,-123, -80, -31,-122, -66, -31,-124,-111, - -31,-123, -80, -31,-122, -67, -31,-124,-111, -31,-123, -80, -31,-122, -68, -31,-124,-111, -31,-123, - -80, -31,-122, -69, -31,-124,-111, -31,-123, -80, -31,-122, -70, -31,-124,-111, -31,-123, -80, -31, --122, -71, -31,-124,-111, -31,-123, -80, -31,-122, -72, -31,-124,-111, -31,-123, -80, -31,-122, -73, - -31,-124,-111, -31,-123, -80, -31,-122, -74, -31,-124,-111, -31,-123, -80, -31,-122, -75, -31,-124, --111, -31,-123, -80, -31,-122, -76, -31,-124,-111, -31,-123, -80, -31,-122, -77, -31,-124,-111, -31, --123, -80, -31,-122, -78, -31,-124,-111, -31,-123, -80, -31,-122, -79, -31,-124,-111, -31,-123, -80, - -31,-122, -80, -31,-124,-111, -31,-123, -80, -31,-122, -81, -31,-124,-111, -31,-123, -80, -31,-122, - -82, -31,-124,-111, -31,-123, -80, -31,-122, -83, -31,-124,-111, -31,-123, -80, -31,-122, -84, -31, --124,-111, -31,-123, -80, -31,-122, -85, -31,-124,-111, -31,-123, -80, -31,-122, -86, -31,-124,-111, - -31,-123, -80, -31,-122, -87, -31,-124,-111, -31,-123, -80, -31,-122, -88, -31,-124,-111, -31,-123, - -81, -31,-121,-126, -31,-124,-111, -31,-123, -81, -31,-121,-127, -31,-124,-111, -31,-123, -81, -31, --121,-128, -31,-124,-111, -31,-123, -81, -31,-122, -65, -31,-124,-111, -31,-123, -81, -31,-122, -66, - -31,-124,-111, -31,-123, -81, -31,-122, -67, -31,-124,-111, -31,-123, -81, -31,-122, -68, -31,-124, --111, -31,-123, -81, -31,-122, -69, -31,-124,-111, -31,-123, -81, -31,-122, -70, -31,-124,-111, -31, --123, -81, -31,-122, -71, -31,-124,-111, -31,-123, -81, -31,-122, -72, -31,-124,-111, -31,-123, -81, - -31,-122, -73, -31,-124,-111, -31,-123, -81, -31,-122, -74, -31,-124,-111, -31,-123, -81, -31,-122, - -75, -31,-124,-111, -31,-123, -81, -31,-122, -76, -31,-124,-111, -31,-123, -81, -31,-122, -77, -31, --124,-111, -31,-123, -81, -31,-122, -78, -31,-124,-111, -31,-123, -81, -31,-122, -79, -31,-124,-111, - -31,-123, -81, -31,-122, -80, -31,-124,-111, -31,-123, -81, -31,-122, -81, -31,-124,-111, -31,-123, - -81, -31,-122, -82, -31,-124,-111, -31,-123, -81, -31,-122, -83, -31,-124,-111, -31,-123, -81, -31, --122, -84, -31,-124,-111, -31,-123, -81, -31,-122, -85, -31,-124,-111, -31,-123, -81, -31,-122, -86, - -31,-124,-111, -31,-123, -81, -31,-122, -87, -31,-124,-111, -31,-123, -81, -31,-122, -88, -31,-124, --111, -31,-123, -82, -31,-121,-126, -31,-124,-111, -31,-123, -82, -31,-121,-127, -31,-124,-111, -31, --123, -82, -31,-121,-128, -31,-124,-111, -31,-123, -82, -31,-122, -65, -31,-124,-111, -31,-123, -82, - -31,-122, -66, -31,-124,-111, -31,-123, -82, -31,-122, -67, -31,-124,-111, -31,-123, -82, -31,-122, - -68, -31,-124,-111, -31,-123, -82, -31,-122, -69, -31,-124,-111, -31,-123, -82, -31,-122, -70, -31, --124,-111, -31,-123, -82, -31,-122, -71, -31,-124,-111, -31,-123, -82, -31,-122, -72, -31,-124,-111, - -31,-123, -82, -31,-122, -73, -31,-124,-111, -31,-123, -82, -31,-122, -74, -31,-124,-111, -31,-123, - -82, -31,-122, -75, -31,-124,-111, -31,-123, -82, -31,-122, -76, -31,-124,-111, -31,-123, -82, -31, --122, -77, -31,-124,-111, -31,-123, -82, -31,-122, -78, -31,-124,-111, -31,-123, -82, -31,-122, -79, - -31,-124,-111, -31,-123, -82, -31,-122, -80, -31,-124,-111, -31,-123, -82, -31,-122, -81, -31,-124, --111, -31,-123, -82, -31,-122, -82, -31,-124,-111, -31,-123, -82, -31,-122, -83, -31,-124,-111, -31, --123, -82, -31,-122, -84, -31,-124,-111, -31,-123, -82, -31,-122, -85, -31,-124,-111, -31,-123, -82, - -31,-122, -86, -31,-124,-111, -31,-123, -82, -31,-122, -87, -31,-124,-111, -31,-123, -82, -31,-122, - -88, -31,-124,-111, -31,-123, -83, -31,-121,-126, -31,-124,-111, -31,-123, -83, -31,-121,-127, -31, --124,-111, -31,-123, -83, -31,-121,-128, -31,-124,-111, -31,-123, -83, -31,-122, -65, -31,-124,-111, - -31,-123, -83, -31,-122, -66, -31,-124,-111, -31,-123, -83, -31,-122, -67, -31,-124,-111, -31,-123, - -83, -31,-122, -68, -31,-124,-111, -31,-123, -83, -31,-122, -69, -31,-124,-111, -31,-123, -83, -31, --122, -70, -31,-124,-111, -31,-123, -83, -31,-122, -71, -31,-124,-111, -31,-123, -83, -31,-122, -72, - -31,-124,-111, -31,-123, -83, -31,-122, -73, -31,-124,-111, -31,-123, -83, -31,-122, -74, -31,-124, --111, -31,-123, -83, -31,-122, -75, -31,-124,-111, -31,-123, -83, -31,-122, -76, -31,-124,-111, -31, --123, -83, -31,-122, -77, -31,-124,-111, -31,-123, -83, -31,-122, -78, -31,-124,-111, -31,-123, -83, - -31,-122, -79, -31,-124,-111, -31,-123, -83, -31,-122, -80, -31,-124,-111, -31,-123, -83, -31,-122, - -81, -31,-124,-111, -31,-123, -83, -31,-122, -82, -31,-124,-111, -31,-123, -83, -31,-122, -83, -31, --124,-111, -31,-123, -83, -31,-122, -84, -31,-124,-111, -31,-123, -83, -31,-122, -85, -31,-124,-111, - -31,-123, -83, -31,-122, -86, -31,-124,-111, -31,-123, -83, -31,-122, -87, -31,-124,-111, -31,-123, - -83, -31,-122, -88, -31,-124,-111, -31,-123, -84, -31,-121,-126, -31,-124,-111, -31,-123, -84, -31, --121,-127, -31,-124,-111, -31,-123, -84, -31,-121,-128, -31,-124,-111, -31,-123, -84, -31,-122, -65, - -31,-124,-111, -31,-123, -84, -31,-122, -66, -31,-124,-111, -31,-123, -84, -31,-122, -67, -31,-124, --111, -31,-123, -84, -31,-122, -68, -31,-124,-111, -31,-123, -84, -31,-122, -69, -31,-124,-111, -31, --123, -84, -31,-122, -70, -31,-124,-111, -31,-123, -84, -31,-122, -71, -31,-124,-111, -31,-123, -84, - -31,-122, -72, -31,-124,-111, -31,-123, -84, -31,-122, -73, -31,-124,-111, -31,-123, -84, -31,-122, - -74, -31,-124,-111, -31,-123, -84, -31,-122, -75, -31,-124,-111, -31,-123, -84, -31,-122, -76, -31, --124,-111, -31,-123, -84, -31,-122, -77, -31,-124,-111, -31,-123, -84, -31,-122, -78, -31,-124,-111, - -31,-123, -84, -31,-122, -79, -31,-124,-111, -31,-123, -84, -31,-122, -80, -31,-124,-111, -31,-123, - -84, -31,-122, -81, -31,-124,-111, -31,-123, -84, -31,-122, -82, -31,-124,-111, -31,-123, -84, -31, --122, -83, -31,-124,-111, -31,-123, -84, -31,-122, -84, -31,-124,-111, -31,-123, -84, -31,-122, -85, - -31,-124,-111, -31,-123, -84, -31,-122, -86, -31,-124,-111, -31,-123, -84, -31,-122, -87, -31,-124, --111, -31,-123, -84, -31,-122, -88, -31,-124,-111, -31,-123, -85, -31,-121,-126, -31,-124,-111, -31, --123, -85, -31,-121,-127, -31,-124,-111, -31,-123, -85, -31,-121,-128, -31,-124,-111, -31,-123, -85, - -31,-122, -65, -31,-124,-111, -31,-123, -85, -31,-122, -66, -31,-124,-111, -31,-123, -85, -31,-122, - -67, -31,-124,-111, -31,-123, -85, -31,-122, -68, -31,-124,-111, -31,-123, -85, -31,-122, -69, -31, --124,-111, -31,-123, -85, -31,-122, -70, -31,-124,-111, -31,-123, -85, -31,-122, -71, -31,-124,-111, - -31,-123, -85, -31,-122, -72, -31,-124,-111, -31,-123, -85, -31,-122, -73, -31,-124,-111, -31,-123, - -85, -31,-122, -74, -31,-124,-111, -31,-123, -85, -31,-122, -75, -31,-124,-111, -31,-123, -85, -31, --122, -76, -31,-124,-111, -31,-123, -85, -31,-122, -77, -31,-124,-111, -31,-123, -85, -31,-122, -78, - -31,-124,-111, -31,-123, -85, -31,-122, -79, -31,-124,-111, -31,-123, -85, -31,-122, -80, -31,-124, --111, -31,-123, -85, -31,-122, -81, -31,-124,-111, -31,-123, -85, -31,-122, -82, -31,-124,-111, -31, --123, -85, -31,-122, -83, -31,-124,-111, -31,-123, -85, -31,-122, -84, -31,-124,-111, -31,-123, -85, - -31,-122, -85, -31,-124,-111, -31,-123, -85, -31,-122, -86, -31,-124,-111, -31,-123, -85, -31,-122, - -87, -31,-124,-111, -31,-123, -85, -31,-122, -88, -31,-124,-111, -31,-123, -86, -31,-121,-126, -31, --124,-111, -31,-123, -86, -31,-121,-127, -31,-124,-111, -31,-123, -86, -31,-121,-128, -31,-124,-111, - -31,-123, -86, -31,-122, -65, -31,-124,-111, -31,-123, -86, -31,-122, -66, -31,-124,-111, -31,-123, - -86, -31,-122, -67, -31,-124,-111, -31,-123, -86, -31,-122, -68, -31,-124,-111, -31,-123, -86, -31, --122, -69, -31,-124,-111, -31,-123, -86, -31,-122, -70, -31,-124,-111, -31,-123, -86, -31,-122, -71, - -31,-124,-111, -31,-123, -86, -31,-122, -72, -31,-124,-111, -31,-123, -86, -31,-122, -73, -31,-124, --111, -31,-123, -86, -31,-122, -74, -31,-124,-111, -31,-123, -86, -31,-122, -75, -31,-124,-111, -31, --123, -86, -31,-122, -76, -31,-124,-111, -31,-123, -86, -31,-122, -77, -31,-124,-111, -31,-123, -86, - -31,-122, -78, -31,-124,-111, -31,-123, -86, -31,-122, -79, -31,-124,-111, -31,-123, -86, -31,-122, - -80, -31,-124,-111, -31,-123, -86, -31,-122, -81, -31,-124,-111, -31,-123, -86, -31,-122, -82, -31, --124,-111, -31,-123, -86, -31,-122, -83, -31,-124,-111, -31,-123, -86, -31,-122, -84, -31,-124,-111, - -31,-123, -86, -31,-122, -85, -31,-124,-111, -31,-123, -86, -31,-122, -86, -31,-124,-111, -31,-123, - -86, -31,-122, -87, -31,-124,-111, -31,-123, -86, -31,-122, -88, -31,-124,-111, -31,-123, -87, -31, --121,-126, -31,-124,-111, -31,-123, -87, -31,-121,-127, -31,-124,-111, -31,-123, -87, -31,-121,-128, - -31,-124,-111, -31,-123, -87, -31,-122, -65, -31,-124,-111, -31,-123, -87, -31,-122, -66, -31,-124, --111, -31,-123, -87, -31,-122, -67, -31,-124,-111, -31,-123, -87, -31,-122, -68, -31,-124,-111, -31, --123, -87, -31,-122, -69, -31,-124,-111, -31,-123, -87, -31,-122, -70, -31,-124,-111, -31,-123, -87, - -31,-122, -71, -31,-124,-111, -31,-123, -87, -31,-122, -72, -31,-124,-111, -31,-123, -87, -31,-122, - -73, -31,-124,-111, -31,-123, -87, -31,-122, -74, -31,-124,-111, -31,-123, -87, -31,-122, -75, -31, --124,-111, -31,-123, -87, -31,-122, -76, -31,-124,-111, -31,-123, -87, -31,-122, -77, -31,-124,-111, - -31,-123, -87, -31,-122, -78, -31,-124,-111, -31,-123, -87, -31,-122, -79, -31,-124,-111, -31,-123, - -87, -31,-122, -80, -31,-124,-111, -31,-123, -87, -31,-122, -81, -31,-124,-111, -31,-123, -87, -31, --122, -82, -31,-124,-111, -31,-123, -87, -31,-122, -83, -31,-124,-111, -31,-123, -87, -31,-122, -84, - -31,-124,-111, -31,-123, -87, -31,-122, -85, -31,-124,-111, -31,-123, -87, -31,-122, -86, -31,-124, --111, -31,-123, -87, -31,-122, -87, -31,-124,-111, -31,-123, -87, -31,-122, -88, -31,-124,-111, -31, --123, -88, -31,-121,-126, -31,-124,-111, -31,-123, -88, -31,-121,-127, -31,-124,-111, -31,-123, -88, - -31,-121,-128, -31,-124,-111, -31,-123, -88, -31,-122, -65, -31,-124,-111, -31,-123, -88, -31,-122, - -66, -31,-124,-111, -31,-123, -88, -31,-122, -67, -31,-124,-111, -31,-123, -88, -31,-122, -68, -31, --124,-111, -31,-123, -88, -31,-122, -69, -31,-124,-111, -31,-123, -88, -31,-122, -70, -31,-124,-111, - -31,-123, -88, -31,-122, -71, -31,-124,-111, -31,-123, -88, -31,-122, -72, -31,-124,-111, -31,-123, - -88, -31,-122, -73, -31,-124,-111, -31,-123, -88, -31,-122, -74, -31,-124,-111, -31,-123, -88, -31, --122, -75, -31,-124,-111, -31,-123, -88, -31,-122, -76, -31,-124,-111, -31,-123, -88, -31,-122, -77, - -31,-124,-111, -31,-123, -88, -31,-122, -78, -31,-124,-111, -31,-123, -88, -31,-122, -79, -31,-124, --111, -31,-123, -88, -31,-122, -80, -31,-124,-111, -31,-123, -88, -31,-122, -81, -31,-124,-111, -31, --123, -88, -31,-122, -82, -31,-124,-111, -31,-123, -88, -31,-122, -83, -31,-124,-111, -31,-123, -88, - -31,-122, -84, -31,-124,-111, -31,-123, -88, -31,-122, -85, -31,-124,-111, -31,-123, -88, -31,-122, - -86, -31,-124,-111, -31,-123, -88, -31,-122, -87, -31,-124,-111, -31,-123, -88, -31,-122, -88, -31, --124,-111, -31,-123, -89, -31,-121,-126, -31,-124,-111, -31,-123, -89, -31,-121,-127, -31,-124,-111, - -31,-123, -89, -31,-121,-128, -31,-124,-111, -31,-123, -89, -31,-122, -65, -31,-124,-111, -31,-123, - -89, -31,-122, -66, -31,-124,-111, -31,-123, -89, -31,-122, -67, -31,-124,-111, -31,-123, -89, -31, --122, -68, -31,-124,-111, -31,-123, -89, -31,-122, -69, -31,-124,-111, -31,-123, -89, -31,-122, -70, - -31,-124,-111, -31,-123, -89, -31,-122, -71, -31,-124,-111, -31,-123, -89, -31,-122, -72, -31,-124, --111, -31,-123, -89, -31,-122, -73, -31,-124,-111, -31,-123, -89, -31,-122, -74, -31,-124,-111, -31, --123, -89, -31,-122, -75, -31,-124,-111, -31,-123, -89, -31,-122, -76, -31,-124,-111, -31,-123, -89, - -31,-122, -77, -31,-124,-111, -31,-123, -89, -31,-122, -78, -31,-124,-111, -31,-123, -89, -31,-122, - -79, -31,-124,-111, -31,-123, -89, -31,-122, -80, -31,-124,-111, -31,-123, -89, -31,-122, -81, -31, --124,-111, -31,-123, -89, -31,-122, -82, -31,-124,-111, -31,-123, -89, -31,-122, -83, -31,-124,-111, - -31,-123, -89, -31,-122, -84, -31,-124,-111, -31,-123, -89, -31,-122, -85, -31,-124,-111, -31,-123, - -89, -31,-122, -86, -31,-124,-111, -31,-123, -89, -31,-122, -87, -31,-124,-111, -31,-123, -89, -31, --122, -88, -31,-124,-111, -31,-123, -90, -31,-121,-126, -31,-124,-111, -31,-123, -90, -31,-121,-127, - -31,-124,-111, -31,-123, -90, -31,-121,-128, -31,-124,-111, -31,-123, -90, -31,-122, -65, -31,-124, --111, -31,-123, -90, -31,-122, -66, -31,-124,-111, -31,-123, -90, -31,-122, -67, -31,-124,-111, -31, --123, -90, -31,-122, -68, -31,-124,-111, -31,-123, -90, -31,-122, -69, -31,-124,-111, -31,-123, -90, - -31,-122, -70, -31,-124,-111, -31,-123, -90, -31,-122, -71, -31,-124,-111, -31,-123, -90, -31,-122, - -72, -31,-124,-111, -31,-123, -90, -31,-122, -73, -31,-124,-111, -31,-123, -90, -31,-122, -74, -31, --124,-111, -31,-123, -90, -31,-122, -75, -31,-124,-111, -31,-123, -90, -31,-122, -76, -31,-124,-111, - -31,-123, -90, -31,-122, -77, -31,-124,-111, -31,-123, -90, -31,-122, -78, -31,-124,-111, -31,-123, - -90, -31,-122, -79, -31,-124,-111, -31,-123, -90, -31,-122, -80, -31,-124,-111, -31,-123, -90, -31, --122, -81, -31,-124,-111, -31,-123, -90, -31,-122, -82, -31,-124,-111, -31,-123, -90, -31,-122, -83, - -31,-124,-111, -31,-123, -90, -31,-122, -84, -31,-124,-111, -31,-123, -90, -31,-122, -85, -31,-124, --111, -31,-123, -90, -31,-122, -86, -31,-124,-111, -31,-123, -90, -31,-122, -87, -31,-124,-111, -31, --123, -90, -31,-122, -88, -31,-124,-111, -31,-123, -91, -31,-121,-126, -31,-124,-111, -31,-123, -91, - -31,-121,-127, -31,-124,-111, -31,-123, -91, -31,-121,-128, -31,-124,-111, -31,-123, -91, -31,-122, - -65, -31,-124,-111, -31,-123, -91, -31,-122, -66, -31,-124,-111, -31,-123, -91, -31,-122, -67, -31, --124,-111, -31,-123, -91, -31,-122, -68, -31,-124,-111, -31,-123, -91, -31,-122, -69, -31,-124,-111, - -31,-123, -91, -31,-122, -70, -31,-124,-111, -31,-123, -91, -31,-122, -71, -31,-124,-111, -31,-123, - -91, -31,-122, -72, -31,-124,-111, -31,-123, -91, -31,-122, -73, -31,-124,-111, -31,-123, -91, -31, --122, -74, -31,-124,-111, -31,-123, -91, -31,-122, -75, -31,-124,-111, -31,-123, -91, -31,-122, -76, - -31,-124,-111, -31,-123, -91, -31,-122, -77, -31,-124,-111, -31,-123, -91, -31,-122, -78, -31,-124, --111, -31,-123, -91, -31,-122, -79, -31,-124,-111, -31,-123, -91, -31,-122, -80, -31,-124,-111, -31, --123, -91, -31,-122, -81, -31,-124,-111, -31,-123, -91, -31,-122, -82, -31,-124,-111, -31,-123, -91, - -31,-122, -83, -31,-124,-111, -31,-123, -91, -31,-122, -84, -31,-124,-111, -31,-123, -91, -31,-122, - -85, -31,-124,-111, -31,-123, -91, -31,-122, -86, -31,-124,-111, -31,-123, -91, -31,-122, -87, -31, --124,-111, -31,-123, -91, -31,-122, -88, -31,-124,-111, -31,-123, -92, -31,-121,-126, -31,-124,-111, - -31,-123, -92, -31,-121,-127, -31,-124,-111, -31,-123, -92, -31,-121,-128, -31,-124,-111, -31,-123, - -92, -31,-122, -65, -31,-124,-111, -31,-123, -92, -31,-122, -66, -31,-124,-111, -31,-123, -92, -31, --122, -67, -31,-124,-111, -31,-123, -92, -31,-122, -68, -31,-124,-111, -31,-123, -92, -31,-122, -69, - -31,-124,-111, -31,-123, -92, -31,-122, -70, -31,-124,-111, -31,-123, -92, -31,-122, -71, -31,-124, --111, -31,-123, -92, -31,-122, -72, -31,-124,-111, -31,-123, -92, -31,-122, -73, -31,-124,-111, -31, --123, -92, -31,-122, -74, -31,-124,-111, -31,-123, -92, -31,-122, -75, -31,-124,-111, -31,-123, -92, - -31,-122, -76, -31,-124,-111, -31,-123, -92, -31,-122, -77, -31,-124,-111, -31,-123, -92, -31,-122, - -78, -31,-124,-111, -31,-123, -92, -31,-122, -79, -31,-124,-111, -31,-123, -92, -31,-122, -80, -31, --124,-111, -31,-123, -92, -31,-122, -81, -31,-124,-111, -31,-123, -92, -31,-122, -82, -31,-124,-111, - -31,-123, -92, -31,-122, -83, -31,-124,-111, -31,-123, -92, -31,-122, -84, -31,-124,-111, -31,-123, - -92, -31,-122, -85, -31,-124,-111, -31,-123, -92, -31,-122, -86, -31,-124,-111, -31,-123, -92, -31, --122, -87, -31,-124,-111, -31,-123, -92, -31,-122, -88, -31,-124,-111, -31,-123, -93, -31,-121,-126, - -31,-124,-111, -31,-123, -93, -31,-121,-127, -31,-124,-111, -31,-123, -93, -31,-121,-128, -31,-124, --111, -31,-123, -93, -31,-122, -65, -31,-124,-111, -31,-123, -93, -31,-122, -66, -31,-124,-111, -31, --123, -93, -31,-122, -67, -31,-124,-111, -31,-123, -93, -31,-122, -68, -31,-124,-111, -31,-123, -93, - -31,-122, -69, -31,-124,-111, -31,-123, -93, -31,-122, -70, -31,-124,-111, -31,-123, -93, -31,-122, - -71, -31,-124,-111, -31,-123, -93, -31,-122, -72, -31,-124,-111, -31,-123, -93, -31,-122, -73, -31, --124,-111, -31,-123, -93, -31,-122, -74, -31,-124,-111, -31,-123, -93, -31,-122, -75, -31,-124,-111, - -31,-123, -93, -31,-122, -76, -31,-124,-111, -31,-123, -93, -31,-122, -77, -31,-124,-111, -31,-123, - -93, -31,-122, -78, -31,-124,-111, -31,-123, -93, -31,-122, -79, -31,-124,-111, -31,-123, -93, -31, --122, -80, -31,-124,-111, -31,-123, -93, -31,-122, -81, -31,-124,-111, -31,-123, -93, -31,-122, -82, - -31,-124,-111, -31,-123, -93, -31,-122, -83, -31,-124,-111, -31,-123, -93, -31,-122, -84, -31,-124, --111, -31,-123, -93, -31,-122, -85, -31,-124,-111, -31,-123, -93, -31,-122, -86, -31,-124,-111, -31, --123, -93, -31,-122, -87, -31,-124,-111, -31,-123, -93, -31,-122, -88, -31,-124,-111, -31,-123, -94, - -31,-121,-126, -31,-124,-111, -31,-123, -94, -31,-121,-127, -31,-124,-111, -31,-123, -94, -31,-121, --128, -31,-124,-111, -31,-123, -94, -31,-122, -65, -31,-124,-111, -31,-123, -94, -31,-122, -66, -31, --124,-111, -31,-123, -94, -31,-122, -67, -31,-124,-111, -31,-123, -94, -31,-122, -68, -31,-124,-111, - -31,-123, -94, -31,-122, -69, -31,-124,-111, -31,-123, -94, -31,-122, -70, -31,-124,-111, -31,-123, - -94, -31,-122, -71, -31,-124,-111, -31,-123, -94, -31,-122, -72, -31,-124,-111, -31,-123, -94, -31, --122, -73, -31,-124,-111, -31,-123, -94, -31,-122, -74, -31,-124,-111, -31,-123, -94, -31,-122, -75, - -31,-124,-111, -31,-123, -94, -31,-122, -76, -31,-124,-111, -31,-123, -94, -31,-122, -77, -31,-124, --111, -31,-123, -94, -31,-122, -78, -31,-124,-111, -31,-123, -94, -31,-122, -79, -31,-124,-111, -31, --123, -94, -31,-122, -80, -31,-124,-111, -31,-123, -94, -31,-122, -81, -31,-124,-111, -31,-123, -94, - -31,-122, -82, -31,-124,-111, -31,-123, -94, -31,-122, -83, -31,-124,-111, -31,-123, -94, -31,-122, - -84, -31,-124,-111, -31,-123, -94, -31,-122, -85, -31,-124,-111, -31,-123, -94, -31,-122, -86, -31, --124,-111, -31,-123, -94, -31,-122, -87, -31,-124,-111, -31,-123, -94, -31,-122, -88, -31,-124,-111, - -31,-123, -95, -31,-121,-126, -31,-124,-111, -31,-123, -95, -31,-121,-127, -31,-124,-111, -31,-123, - -95, -31,-121,-128, -31,-124,-111, -31,-123, -95, -31,-122, -65, -31,-124,-111, -31,-123, -95, -31, --122, -66, -31,-124,-111, -31,-123, -95, -31,-122, -67, -31,-124,-111, -31,-123, -95, -31,-122, -68, - -31,-124,-111, -31,-123, -95, -31,-122, -69, -31,-124,-111, -31,-123, -95, -31,-122, -70, -31,-124, --111, -31,-123, -95, -31,-122, -71, -31,-124,-111, -31,-123, -95, -31,-122, -72, -31,-124,-111, -31, --123, -95, -31,-122, -73, -31,-124,-111, -31,-123, -95, -31,-122, -74, -31,-124,-111, -31,-123, -95, - -31,-122, -75, -31,-124,-111, -31,-123, -95, -31,-122, -76, -31,-124,-111, -31,-123, -95, -31,-122, - -77, -31,-124,-111, -31,-123, -95, -31,-122, -78, -31,-124,-111, -31,-123, -95, -31,-122, -79, -31, --124,-111, -31,-123, -95, -31,-122, -80, -31,-124,-111, -31,-123, -95, -31,-122, -81, -31,-124,-111, - -31,-123, -95, -31,-122, -82, -31,-124,-111, -31,-123, -95, -31,-122, -83, -31,-124,-111, -31,-123, - -95, -31,-122, -84, -31,-124,-111, -31,-123, -95, -31,-122, -85, -31,-124,-111, -31,-123, -95, -31, --122, -86, -31,-124,-111, -31,-123, -95, -31,-122, -87, -31,-124,-111, -31,-123, -95, -31,-122, -88, - -31,-124,-112, -31,-123, -75, -31,-121,-126, -31,-124,-112, -31,-123, -75, -31,-121,-127, -31,-124, --112, -31,-123, -75, -31,-121,-128, -31,-124,-112, -31,-123, -75, -31,-122, -65, -31,-124,-112, -31, --123, -75, -31,-122, -66, -31,-124,-112, -31,-123, -75, -31,-122, -67, -31,-124,-112, -31,-123, -75, - -31,-122, -68, -31,-124,-112, -31,-123, -75, -31,-122, -69, -31,-124,-112, -31,-123, -75, -31,-122, - -70, -31,-124,-112, -31,-123, -75, -31,-122, -71, -31,-124,-112, -31,-123, -75, -31,-122, -72, -31, --124,-112, -31,-123, -75, -31,-122, -73, -31,-124,-112, -31,-123, -75, -31,-122, -74, -31,-124,-112, - -31,-123, -75, -31,-122, -75, -31,-124,-112, -31,-123, -75, -31,-122, -76, -31,-124,-112, -31,-123, - -75, -31,-122, -77, -31,-124,-112, -31,-123, -75, -31,-122, -78, -31,-124,-112, -31,-123, -75, -31, --122, -79, -31,-124,-112, -31,-123, -75, -31,-122, -80, -31,-124,-112, -31,-123, -75, -31,-122, -81, - -31,-124,-112, -31,-123, -75, -31,-122, -82, -31,-124,-112, -31,-123, -75, -31,-122, -83, -31,-124, --112, -31,-123, -75, -31,-122, -84, -31,-124,-112, -31,-123, -75, -31,-122, -85, -31,-124,-112, -31, --123, -75, -31,-122, -86, -31,-124,-112, -31,-123, -75, -31,-122, -87, -31,-124,-112, -31,-123, -75, - -31,-122, -88, -31,-124,-112, -31,-123, -76, -31,-121,-126, -31,-124,-112, -31,-123, -76, -31,-121, --127, -31,-124,-112, -31,-123, -76, -31,-121,-128, -31,-124,-112, -31,-123, -76, -31,-122, -65, -31, --124,-112, -31,-123, -76, -31,-122, -66, -31,-124,-112, -31,-123, -76, -31,-122, -67, -31,-124,-112, - -31,-123, -76, -31,-122, -68, -31,-124,-112, -31,-123, -76, -31,-122, -69, -31,-124,-112, -31,-123, - -76, -31,-122, -70, -31,-124,-112, -31,-123, -76, -31,-122, -71, -31,-124,-112, -31,-123, -76, -31, --122, -72, -31,-124,-112, -31,-123, -76, -31,-122, -73, -31,-124,-112, -31,-123, -76, -31,-122, -74, - -31,-124,-112, -31,-123, -76, -31,-122, -75, -31,-124,-112, -31,-123, -76, -31,-122, -76, -31,-124, --112, -31,-123, -76, -31,-122, -77, -31,-124,-112, -31,-123, -76, -31,-122, -78, -31,-124,-112, -31, --123, -76, -31,-122, -79, -31,-124,-112, -31,-123, -76, -31,-122, -80, -31,-124,-112, -31,-123, -76, - -31,-122, -81, -31,-124,-112, -31,-123, -76, -31,-122, -82, -31,-124,-112, -31,-123, -76, -31,-122, - -83, -31,-124,-112, -31,-123, -76, -31,-122, -84, -31,-124,-112, -31,-123, -76, -31,-122, -85, -31, --124,-112, -31,-123, -76, -31,-122, -86, -31,-124,-112, -31,-123, -76, -31,-122, -87, -31,-124,-112, - -31,-123, -76, -31,-122, -88, -31,-124,-112, -31,-123, -77, -31,-121,-126, -31,-124,-112, -31,-123, - -77, -31,-121,-127, -31,-124,-112, -31,-123, -77, -31,-121,-128, -31,-124,-112, -31,-123, -77, -31, --122, -65, -31,-124,-112, -31,-123, -77, -31,-122, -66, -31,-124,-112, -31,-123, -77, -31,-122, -67, - -31,-124,-112, -31,-123, -77, -31,-122, -68, -31,-124,-112, -31,-123, -77, -31,-122, -69, -31,-124, --112, -31,-123, -77, -31,-122, -70, -31,-124,-112, -31,-123, -77, -31,-122, -71, -31,-124,-112, -31, --123, -77, -31,-122, -72, -31,-124,-112, -31,-123, -77, -31,-122, -73, -31,-124,-112, -31,-123, -77, - -31,-122, -74, -31,-124,-112, -31,-123, -77, -31,-122, -75, -31,-124,-112, -31,-123, -77, -31,-122, - -76, -31,-124,-112, -31,-123, -77, -31,-122, -77, -31,-124,-112, -31,-123, -77, -31,-122, -78, -31, --124,-112, -31,-123, -77, -31,-122, -79, -31,-124,-112, -31,-123, -77, -31,-122, -80, -31,-124,-112, - -31,-123, -77, -31,-122, -81, -31,-124,-112, -31,-123, -77, -31,-122, -82, -31,-124,-112, -31,-123, - -77, -31,-122, -83, -31,-124,-112, -31,-123, -77, -31,-122, -84, -31,-124,-112, -31,-123, -77, -31, --122, -85, -31,-124,-112, -31,-123, -77, -31,-122, -86, -31,-124,-112, -31,-123, -77, -31,-122, -87, - -31,-124,-112, -31,-123, -77, -31,-122, -88, -31,-124,-112, -31,-123, -78, -31,-121,-126, -31,-124, --112, -31,-123, -78, -31,-121,-127, -31,-124,-112, -31,-123, -78, -31,-121,-128, -31,-124,-112, -31, --123, -78, -31,-122, -65, -31,-124,-112, -31,-123, -78, -31,-122, -66, -31,-124,-112, -31,-123, -78, - -31,-122, -67, -31,-124,-112, -31,-123, -78, -31,-122, -68, -31,-124,-112, -31,-123, -78, -31,-122, - -69, -31,-124,-112, -31,-123, -78, -31,-122, -70, -31,-124,-112, -31,-123, -78, -31,-122, -71, -31, --124,-112, -31,-123, -78, -31,-122, -72, -31,-124,-112, -31,-123, -78, -31,-122, -73, -31,-124,-112, - -31,-123, -78, -31,-122, -74, -31,-124,-112, -31,-123, -78, -31,-122, -75, -31,-124,-112, -31,-123, - -78, -31,-122, -76, -31,-124,-112, -31,-123, -78, -31,-122, -77, -31,-124,-112, -31,-123, -78, -31, --122, -78, -31,-124,-112, -31,-123, -78, -31,-122, -79, -31,-124,-112, -31,-123, -78, -31,-122, -80, - -31,-124,-112, -31,-123, -78, -31,-122, -81, -31,-124,-112, -31,-123, -78, -31,-122, -82, -31,-124, --112, -31,-123, -78, -31,-122, -83, -31,-124,-112, -31,-123, -78, -31,-122, -84, -31,-124,-112, -31, --123, -78, -31,-122, -85, -31,-124,-112, -31,-123, -78, -31,-122, -86, -31,-124,-112, -31,-123, -78, - -31,-122, -87, -31,-124,-112, -31,-123, -78, -31,-122, -88, -31,-124,-112, -31,-123, -79, -31,-121, --126, -31,-124,-112, -31,-123, -79, -31,-121,-127, -31,-124,-112, -31,-123, -79, -31,-121,-128, -31, --124,-112, -31,-123, -79, -31,-122, -65, -31,-124,-112, -31,-123, -79, -31,-122, -66, -31,-124,-112, - -31,-123, -79, -31,-122, -67, -31,-124,-112, -31,-123, -79, -31,-122, -68, -31,-124,-112, -31,-123, - -79, -31,-122, -69, -31,-124,-112, -31,-123, -79, -31,-122, -70, -31,-124,-112, -31,-123, -79, -31, --122, -71, -31,-124,-112, -31,-123, -79, -31,-122, -72, -31,-124,-112, -31,-123, -79, -31,-122, -73, - -31,-124,-112, -31,-123, -79, -31,-122, -74, -31,-124,-112, -31,-123, -79, -31,-122, -75, -31,-124, --112, -31,-123, -79, -31,-122, -76, -31,-124,-112, -31,-123, -79, -31,-122, -77, -31,-124,-112, -31, --123, -79, -31,-122, -78, -31,-124,-112, -31,-123, -79, -31,-122, -79, -31,-124,-112, -31,-123, -79, - -31,-122, -80, -31,-124,-112, -31,-123, -79, -31,-122, -81, -31,-124,-112, -31,-123, -79, -31,-122, - -82, -31,-124,-112, -31,-123, -79, -31,-122, -83, -31,-124,-112, -31,-123, -79, -31,-122, -84, -31, --124,-112, -31,-123, -79, -31,-122, -85, -31,-124,-112, -31,-123, -79, -31,-122, -86, -31,-124,-112, - -31,-123, -79, -31,-122, -87, -31,-124,-112, -31,-123, -79, -31,-122, -88, -31,-124,-112, -31,-123, - -80, -31,-121,-126, -31,-124,-112, -31,-123, -80, -31,-121,-127, -31,-124,-112, -31,-123, -80, -31, --121,-128, -31,-124,-112, -31,-123, -80, -31,-122, -65, -31,-124,-112, -31,-123, -80, -31,-122, -66, - -31,-124,-112, -31,-123, -80, -31,-122, -67, -31,-124,-112, -31,-123, -80, -31,-122, -68, -31,-124, --112, -31,-123, -80, -31,-122, -69, -31,-124,-112, -31,-123, -80, -31,-122, -70, -31,-124,-112, -31, --123, -80, -31,-122, -71, -31,-124,-112, -31,-123, -80, -31,-122, -72, -31,-124,-112, -31,-123, -80, - -31,-122, -73, -31,-124,-112, -31,-123, -80, -31,-122, -74, -31,-124,-112, -31,-123, -80, -31,-122, - -75, -31,-124,-112, -31,-123, -80, -31,-122, -76, -31,-124,-112, -31,-123, -80, -31,-122, -77, -31, --124,-112, -31,-123, -80, -31,-122, -78, -31,-124,-112, -31,-123, -80, -31,-122, -79, -31,-124,-112, - -31,-123, -80, -31,-122, -80, -31,-124,-112, -31,-123, -80, -31,-122, -81, -31,-124,-112, -31,-123, - -80, -31,-122, -82, -31,-124,-112, -31,-123, -80, -31,-122, -83, -31,-124,-112, -31,-123, -80, -31, --122, -84, -31,-124,-112, -31,-123, -80, -31,-122, -85, -31,-124,-112, -31,-123, -80, -31,-122, -86, - -31,-124,-112, -31,-123, -80, -31,-122, -87, -31,-124,-112, -31,-123, -80, -31,-122, -88, -31,-124, --112, -31,-123, -81, -31,-121,-126, -31,-124,-112, -31,-123, -81, -31,-121,-127, -31,-124,-112, -31, --123, -81, -31,-121,-128, -31,-124,-112, -31,-123, -81, -31,-122, -65, -31,-124,-112, -31,-123, -81, - -31,-122, -66, -31,-124,-112, -31,-123, -81, -31,-122, -67, -31,-124,-112, -31,-123, -81, -31,-122, - -68, -31,-124,-112, -31,-123, -81, -31,-122, -69, -31,-124,-112, -31,-123, -81, -31,-122, -70, -31, --124,-112, -31,-123, -81, -31,-122, -71, -31,-124,-112, -31,-123, -81, -31,-122, -72, -31,-124,-112, - -31,-123, -81, -31,-122, -73, -31,-124,-112, -31,-123, -81, -31,-122, -74, -31,-124,-112, -31,-123, - -81, -31,-122, -75, -31,-124,-112, -31,-123, -81, -31,-122, -76, -31,-124,-112, -31,-123, -81, -31, --122, -77, -31,-124,-112, -31,-123, -81, -31,-122, -78, -31,-124,-112, -31,-123, -81, -31,-122, -79, - -31,-124,-112, -31,-123, -81, -31,-122, -80, -31,-124,-112, -31,-123, -81, -31,-122, -81, -31,-124, --112, -31,-123, -81, -31,-122, -82, -31,-124,-112, -31,-123, -81, -31,-122, -83, -31,-124,-112, -31, --123, -81, -31,-122, -84, -31,-124,-112, -31,-123, -81, -31,-122, -85, -31,-124,-112, -31,-123, -81, - -31,-122, -86, -31,-124,-112, -31,-123, -81, -31,-122, -87, -31,-124,-112, -31,-123, -81, -31,-122, - -88, -31,-124,-112, -31,-123, -82, -31,-121,-126, -31,-124,-112, -31,-123, -82, -31,-121,-127, -31, --124,-112, -31,-123, -82, -31,-121,-128, -31,-124,-112, -31,-123, -82, -31,-122, -65, -31,-124,-112, - -31,-123, -82, -31,-122, -66, -31,-124,-112, -31,-123, -82, -31,-122, -67, -31,-124,-112, -31,-123, - -82, -31,-122, -68, -31,-124,-112, -31,-123, -82, -31,-122, -69, -31,-124,-112, -31,-123, -82, -31, --122, -70, -31,-124,-112, -31,-123, -82, -31,-122, -71, -31,-124,-112, -31,-123, -82, -31,-122, -72, - -31,-124,-112, -31,-123, -82, -31,-122, -73, -31,-124,-112, -31,-123, -82, -31,-122, -74, -31,-124, --112, -31,-123, -82, -31,-122, -75, -31,-124,-112, -31,-123, -82, -31,-122, -76, -31,-124,-112, -31, --123, -82, -31,-122, -77, -31,-124,-112, -31,-123, -82, -31,-122, -78, -31,-124,-112, -31,-123, -82, - -31,-122, -79, -31,-124,-112, -31,-123, -82, -31,-122, -80, -31,-124,-112, -31,-123, -82, -31,-122, - -81, -31,-124,-112, -31,-123, -82, -31,-122, -82, -31,-124,-112, -31,-123, -82, -31,-122, -83, -31, --124,-112, -31,-123, -82, -31,-122, -84, -31,-124,-112, -31,-123, -82, -31,-122, -85, -31,-124,-112, - -31,-123, -82, -31,-122, -86, -31,-124,-112, -31,-123, -82, -31,-122, -87, -31,-124,-112, -31,-123, - -82, -31,-122, -88, -31,-124,-112, -31,-123, -83, -31,-121,-126, -31,-124,-112, -31,-123, -83, -31, --121,-127, -31,-124,-112, -31,-123, -83, -31,-121,-128, -31,-124,-112, -31,-123, -83, -31,-122, -65, - -31,-124,-112, -31,-123, -83, -31,-122, -66, -31,-124,-112, -31,-123, -83, -31,-122, -67, -31,-124, --112, -31,-123, -83, -31,-122, -68, -31,-124,-112, -31,-123, -83, -31,-122, -69, -31,-124,-112, -31, --123, -83, -31,-122, -70, -31,-124,-112, -31,-123, -83, -31,-122, -71, -31,-124,-112, -31,-123, -83, - -31,-122, -72, -31,-124,-112, -31,-123, -83, -31,-122, -73, -31,-124,-112, -31,-123, -83, -31,-122, - -74, -31,-124,-112, -31,-123, -83, -31,-122, -75, -31,-124,-112, -31,-123, -83, -31,-122, -76, -31, --124,-112, -31,-123, -83, -31,-122, -77, -31,-124,-112, -31,-123, -83, -31,-122, -78, -31,-124,-112, - -31,-123, -83, -31,-122, -79, -31,-124,-112, -31,-123, -83, -31,-122, -80, -31,-124,-112, -31,-123, - -83, -31,-122, -81, -31,-124,-112, -31,-123, -83, -31,-122, -82, -31,-124,-112, -31,-123, -83, -31, --122, -83, -31,-124,-112, -31,-123, -83, -31,-122, -84, -31,-124,-112, -31,-123, -83, -31,-122, -85, - -31,-124,-112, -31,-123, -83, -31,-122, -86, -31,-124,-112, -31,-123, -83, -31,-122, -87, -31,-124, --112, -31,-123, -83, -31,-122, -88, -31,-124,-112, -31,-123, -84, -31,-121,-126, -31,-124,-112, -31, --123, -84, -31,-121,-127, -31,-124,-112, -31,-123, -84, -31,-121,-128, -31,-124,-112, -31,-123, -84, - -31,-122, -65, -31,-124,-112, -31,-123, -84, -31,-122, -66, -31,-124,-112, -31,-123, -84, -31,-122, - -67, -31,-124,-112, -31,-123, -84, -31,-122, -68, -31,-124,-112, -31,-123, -84, -31,-122, -69, -31, --124,-112, -31,-123, -84, -31,-122, -70, -31,-124,-112, -31,-123, -84, -31,-122, -71, -31,-124,-112, - -31,-123, -84, -31,-122, -72, -31,-124,-112, -31,-123, -84, -31,-122, -73, -31,-124,-112, -31,-123, - -84, -31,-122, -74, -31,-124,-112, -31,-123, -84, -31,-122, -75, -31,-124,-112, -31,-123, -84, -31, --122, -76, -31,-124,-112, -31,-123, -84, -31,-122, -77, -31,-124,-112, -31,-123, -84, -31,-122, -78, - -31,-124,-112, -31,-123, -84, -31,-122, -79, -31,-124,-112, -31,-123, -84, -31,-122, -80, -31,-124, --112, -31,-123, -84, -31,-122, -81, -31,-124,-112, -31,-123, -84, -31,-122, -82, -31,-124,-112, -31, --123, -84, -31,-122, -83, -31,-124,-112, -31,-123, -84, -31,-122, -84, -31,-124,-112, -31,-123, -84, - -31,-122, -85, -31,-124,-112, -31,-123, -84, -31,-122, -86, -31,-124,-112, -31,-123, -84, -31,-122, - -87, -31,-124,-112, -31,-123, -84, -31,-122, -88, -31,-124,-112, -31,-123, -85, -31,-121,-126, -31, --124,-112, -31,-123, -85, -31,-121,-127, -31,-124,-112, -31,-123, -85, -31,-121,-128, -31,-124,-112, - -31,-123, -85, -31,-122, -65, -31,-124,-112, -31,-123, -85, -31,-122, -66, -31,-124,-112, -31,-123, - -85, -31,-122, -67, -31,-124,-112, -31,-123, -85, -31,-122, -68, -31,-124,-112, -31,-123, -85, -31, --122, -69, -31,-124,-112, -31,-123, -85, -31,-122, -70, -31,-124,-112, -31,-123, -85, -31,-122, -71, - -31,-124,-112, -31,-123, -85, -31,-122, -72, -31,-124,-112, -31,-123, -85, -31,-122, -73, -31,-124, --112, -31,-123, -85, -31,-122, -74, -31,-124,-112, -31,-123, -85, -31,-122, -75, -31,-124,-112, -31, --123, -85, -31,-122, -76, -31,-124,-112, -31,-123, -85, -31,-122, -77, -31,-124,-112, -31,-123, -85, - -31,-122, -78, -31,-124,-112, -31,-123, -85, -31,-122, -79, -31,-124,-112, -31,-123, -85, -31,-122, - -80, -31,-124,-112, -31,-123, -85, -31,-122, -81, -31,-124,-112, -31,-123, -85, -31,-122, -82, -31, --124,-112, -31,-123, -85, -31,-122, -83, -31,-124,-112, -31,-123, -85, -31,-122, -84, -31,-124,-112, - -31,-123, -85, -31,-122, -85, -31,-124,-112, -31,-123, -85, -31,-122, -86, -31,-124,-112, -31,-123, - -85, -31,-122, -87, -31,-124,-112, -31,-123, -85, -31,-122, -88, -31,-124,-112, -31,-123, -86, -31, --121,-126, -31,-124,-112, -31,-123, -86, -31,-121,-127, -31,-124,-112, -31,-123, -86, -31,-121,-128, - -31,-124,-112, -31,-123, -86, -31,-122, -65, -31,-124,-112, -31,-123, -86, -31,-122, -66, -31,-124, --112, -31,-123, -86, -31,-122, -67, -31,-124,-112, -31,-123, -86, -31,-122, -68, -31,-124,-112, -31, --123, -86, -31,-122, -69, -31,-124,-112, -31,-123, -86, -31,-122, -70, -31,-124,-112, -31,-123, -86, - -31,-122, -71, -31,-124,-112, -31,-123, -86, -31,-122, -72, -31,-124,-112, -31,-123, -86, -31,-122, - -73, -31,-124,-112, -31,-123, -86, -31,-122, -74, -31,-124,-112, -31,-123, -86, -31,-122, -75, -31, --124,-112, -31,-123, -86, -31,-122, -76, -31,-124,-112, -31,-123, -86, -31,-122, -77, -31,-124,-112, - -31,-123, -86, -31,-122, -78, -31,-124,-112, -31,-123, -86, -31,-122, -79, -31,-124,-112, -31,-123, - -86, -31,-122, -80, -31,-124,-112, -31,-123, -86, -31,-122, -81, -31,-124,-112, -31,-123, -86, -31, --122, -82, -31,-124,-112, -31,-123, -86, -31,-122, -83, -31,-124,-112, -31,-123, -86, -31,-122, -84, - -31,-124,-112, -31,-123, -86, -31,-122, -85, -31,-124,-112, -31,-123, -86, -31,-122, -86, -31,-124, --112, -31,-123, -86, -31,-122, -87, -31,-124,-112, -31,-123, -86, -31,-122, -88, -31,-124,-112, -31, --123, -87, -31,-121,-126, -31,-124,-112, -31,-123, -87, -31,-121,-127, -31,-124,-112, -31,-123, -87, - -31,-121,-128, -31,-124,-112, -31,-123, -87, -31,-122, -65, -31,-124,-112, -31,-123, -87, -31,-122, - -66, -31,-124,-112, -31,-123, -87, -31,-122, -67, -31,-124,-112, -31,-123, -87, -31,-122, -68, -31, --124,-112, -31,-123, -87, -31,-122, -69, -31,-124,-112, -31,-123, -87, -31,-122, -70, -31,-124,-112, - -31,-123, -87, -31,-122, -71, -31,-124,-112, -31,-123, -87, -31,-122, -72, -31,-124,-112, -31,-123, - -87, -31,-122, -73, -31,-124,-112, -31,-123, -87, -31,-122, -74, -31,-124,-112, -31,-123, -87, -31, --122, -75, -31,-124,-112, -31,-123, -87, -31,-122, -76, -31,-124,-112, -31,-123, -87, -31,-122, -77, - -31,-124,-112, -31,-123, -87, -31,-122, -78, -31,-124,-112, -31,-123, -87, -31,-122, -79, -31,-124, --112, -31,-123, -87, -31,-122, -80, -31,-124,-112, -31,-123, -87, -31,-122, -81, -31,-124,-112, -31, --123, -87, -31,-122, -82, -31,-124,-112, -31,-123, -87, -31,-122, -83, -31,-124,-112, -31,-123, -87, - -31,-122, -84, -31,-124,-112, -31,-123, -87, -31,-122, -85, -31,-124,-112, -31,-123, -87, -31,-122, - -86, -31,-124,-112, -31,-123, -87, -31,-122, -87, -31,-124,-112, -31,-123, -87, -31,-122, -88, -31, --124,-112, -31,-123, -88, -31,-121,-126, -31,-124,-112, -31,-123, -88, -31,-121,-127, -31,-124,-112, - -31,-123, -88, -31,-121,-128, -31,-124,-112, -31,-123, -88, -31,-122, -65, -31,-124,-112, -31,-123, - -88, -31,-122, -66, -31,-124,-112, -31,-123, -88, -31,-122, -67, -31,-124,-112, -31,-123, -88, -31, --122, -68, -31,-124,-112, -31,-123, -88, -31,-122, -69, -31,-124,-112, -31,-123, -88, -31,-122, -70, - -31,-124,-112, -31,-123, -88, -31,-122, -71, -31,-124,-112, -31,-123, -88, -31,-122, -72, -31,-124, --112, -31,-123, -88, -31,-122, -73, -31,-124,-112, -31,-123, -88, -31,-122, -74, -31,-124,-112, -31, --123, -88, -31,-122, -75, -31,-124,-112, -31,-123, -88, -31,-122, -76, -31,-124,-112, -31,-123, -88, - -31,-122, -77, -31,-124,-112, -31,-123, -88, -31,-122, -78, -31,-124,-112, -31,-123, -88, -31,-122, - -79, -31,-124,-112, -31,-123, -88, -31,-122, -80, -31,-124,-112, -31,-123, -88, -31,-122, -81, -31, --124,-112, -31,-123, -88, -31,-122, -82, -31,-124,-112, -31,-123, -88, -31,-122, -83, -31,-124,-112, - -31,-123, -88, -31,-122, -84, -31,-124,-112, -31,-123, -88, -31,-122, -85, -31,-124,-112, -31,-123, - -88, -31,-122, -86, -31,-124,-112, -31,-123, -88, -31,-122, -87, -31,-124,-112, -31,-123, -88, -31, --122, -88, -31,-124,-112, -31,-123, -89, -31,-121,-126, -31,-124,-112, -31,-123, -89, -31,-121,-127, - -31,-124,-112, -31,-123, -89, -31,-121,-128, -31,-124,-112, -31,-123, -89, -31,-122, -65, -31,-124, --112, -31,-123, -89, -31,-122, -66, -31,-124,-112, -31,-123, -89, -31,-122, -67, -31,-124,-112, -31, --123, -89, -31,-122, -68, -31,-124,-112, -31,-123, -89, -31,-122, -69, -31,-124,-112, -31,-123, -89, - -31,-122, -70, -31,-124,-112, -31,-123, -89, -31,-122, -71, -31,-124,-112, -31,-123, -89, -31,-122, - -72, -31,-124,-112, -31,-123, -89, -31,-122, -73, -31,-124,-112, -31,-123, -89, -31,-122, -74, -31, --124,-112, -31,-123, -89, -31,-122, -75, -31,-124,-112, -31,-123, -89, -31,-122, -76, -31,-124,-112, - -31,-123, -89, -31,-122, -77, -31,-124,-112, -31,-123, -89, -31,-122, -78, -31,-124,-112, -31,-123, - -89, -31,-122, -79, -31,-124,-112, -31,-123, -89, -31,-122, -80, -31,-124,-112, -31,-123, -89, -31, --122, -81, -31,-124,-112, -31,-123, -89, -31,-122, -82, -31,-124,-112, -31,-123, -89, -31,-122, -83, - -31,-124,-112, -31,-123, -89, -31,-122, -84, -31,-124,-112, -31,-123, -89, -31,-122, -85, -31,-124, --112, -31,-123, -89, -31,-122, -86, -31,-124,-112, -31,-123, -89, -31,-122, -87, -31,-124,-112, -31, --123, -89, -31,-122, -88, -31,-124,-112, -31,-123, -90, -31,-121,-126, -31,-124,-112, -31,-123, -90, - -31,-121,-127, -31,-124,-112, -31,-123, -90, -31,-121,-128, -31,-124,-112, -31,-123, -90, -31,-122, - -65, -31,-124,-112, -31,-123, -90, -31,-122, -66, -31,-124,-112, -31,-123, -90, -31,-122, -67, -31, --124,-112, -31,-123, -90, -31,-122, -68, -31,-124,-112, -31,-123, -90, -31,-122, -69, -31,-124,-112, - -31,-123, -90, -31,-122, -70, -31,-124,-112, -31,-123, -90, -31,-122, -71, -31,-124,-112, -31,-123, - -90, -31,-122, -72, -31,-124,-112, -31,-123, -90, -31,-122, -73, -31,-124,-112, -31,-123, -90, -31, --122, -74, -31,-124,-112, -31,-123, -90, -31,-122, -75, -31,-124,-112, -31,-123, -90, -31,-122, -76, - -31,-124,-112, -31,-123, -90, -31,-122, -77, -31,-124,-112, -31,-123, -90, -31,-122, -78, -31,-124, --112, -31,-123, -90, -31,-122, -79, -31,-124,-112, -31,-123, -90, -31,-122, -80, -31,-124,-112, -31, --123, -90, -31,-122, -81, -31,-124,-112, -31,-123, -90, -31,-122, -82, -31,-124,-112, -31,-123, -90, - -31,-122, -83, -31,-124,-112, -31,-123, -90, -31,-122, -84, -31,-124,-112, -31,-123, -90, -31,-122, - -85, -31,-124,-112, -31,-123, -90, -31,-122, -86, -31,-124,-112, -31,-123, -90, -31,-122, -87, -31, --124,-112, -31,-123, -90, -31,-122, -88, -31,-124,-112, -31,-123, -91, -31,-121,-126, -31,-124,-112, - -31,-123, -91, -31,-121,-127, -31,-124,-112, -31,-123, -91, -31,-121,-128, -31,-124,-112, -31,-123, - -91, -31,-122, -65, -31,-124,-112, -31,-123, -91, -31,-122, -66, -31,-124,-112, -31,-123, -91, -31, --122, -67, -31,-124,-112, -31,-123, -91, -31,-122, -68, -31,-124,-112, -31,-123, -91, -31,-122, -69, - -31,-124,-112, -31,-123, -91, -31,-122, -70, -31,-124,-112, -31,-123, -91, -31,-122, -71, -31,-124, --112, -31,-123, -91, -31,-122, -72, -31,-124,-112, -31,-123, -91, -31,-122, -73, -31,-124,-112, -31, --123, -91, -31,-122, -74, -31,-124,-112, -31,-123, -91, -31,-122, -75, -31,-124,-112, -31,-123, -91, - -31,-122, -76, -31,-124,-112, -31,-123, -91, -31,-122, -77, -31,-124,-112, -31,-123, -91, -31,-122, - -78, -31,-124,-112, -31,-123, -91, -31,-122, -79, -31,-124,-112, -31,-123, -91, -31,-122, -80, -31, --124,-112, -31,-123, -91, -31,-122, -81, -31,-124,-112, -31,-123, -91, -31,-122, -82, -31,-124,-112, - -31,-123, -91, -31,-122, -83, -31,-124,-112, -31,-123, -91, -31,-122, -84, -31,-124,-112, -31,-123, - -91, -31,-122, -85, -31,-124,-112, -31,-123, -91, -31,-122, -86, -31,-124,-112, -31,-123, -91, -31, --122, -87, -31,-124,-112, -31,-123, -91, -31,-122, -88, -31,-124,-112, -31,-123, -92, -31,-121,-126, - -31,-124,-112, -31,-123, -92, -31,-121,-127, -31,-124,-112, -31,-123, -92, -31,-121,-128, -31,-124, --112, -31,-123, -92, -31,-122, -65, -31,-124,-112, -31,-123, -92, -31,-122, -66, -31,-124,-112, -31, --123, -92, -31,-122, -67, -31,-124,-112, -31,-123, -92, -31,-122, -68, -31,-124,-112, -31,-123, -92, - -31,-122, -69, -31,-124,-112, -31,-123, -92, -31,-122, -70, -31,-124,-112, -31,-123, -92, -31,-122, - -71, -31,-124,-112, -31,-123, -92, -31,-122, -72, -31,-124,-112, -31,-123, -92, -31,-122, -73, -31, --124,-112, -31,-123, -92, -31,-122, -74, -31,-124,-112, -31,-123, -92, -31,-122, -75, -31,-124,-112, - -31,-123, -92, -31,-122, -76, -31,-124,-112, -31,-123, -92, -31,-122, -77, -31,-124,-112, -31,-123, - -92, -31,-122, -78, -31,-124,-112, -31,-123, -92, -31,-122, -79, -31,-124,-112, -31,-123, -92, -31, --122, -80, -31,-124,-112, -31,-123, -92, -31,-122, -81, -31,-124,-112, -31,-123, -92, -31,-122, -82, - -31,-124,-112, -31,-123, -92, -31,-122, -83, -31,-124,-112, -31,-123, -92, -31,-122, -84, -31,-124, --112, -31,-123, -92, -31,-122, -85, -31,-124,-112, -31,-123, -92, -31,-122, -86, -31,-124,-112, -31, --123, -92, -31,-122, -87, -31,-124,-112, -31,-123, -92, -31,-122, -88, -31,-124,-112, -31,-123, -93, - -31,-121,-126, -31,-124,-112, -31,-123, -93, -31,-121,-127, -31,-124,-112, -31,-123, -93, -31,-121, --128, -31,-124,-112, -31,-123, -93, -31,-122, -65, -31,-124,-112, -31,-123, -93, -31,-122, -66, -31, --124,-112, -31,-123, -93, -31,-122, -67, -31,-124,-112, -31,-123, -93, -31,-122, -68, -31,-124,-112, - -31,-123, -93, -31,-122, -69, -31,-124,-112, -31,-123, -93, -31,-122, -70, -31,-124,-112, -31,-123, - -93, -31,-122, -71, -31,-124,-112, -31,-123, -93, -31,-122, -72, -31,-124,-112, -31,-123, -93, -31, --122, -73, -31,-124,-112, -31,-123, -93, -31,-122, -74, -31,-124,-112, -31,-123, -93, -31,-122, -75, - -31,-124,-112, -31,-123, -93, -31,-122, -76, -31,-124,-112, -31,-123, -93, -31,-122, -77, -31,-124, --112, -31,-123, -93, -31,-122, -78, -31,-124,-112, -31,-123, -93, -31,-122, -79, -31,-124,-112, -31, --123, -93, -31,-122, -80, -31,-124,-112, -31,-123, -93, -31,-122, -81, -31,-124,-112, -31,-123, -93, - -31,-122, -82, -31,-124,-112, -31,-123, -93, -31,-122, -83, -31,-124,-112, -31,-123, -93, -31,-122, - -84, -31,-124,-112, -31,-123, -93, -31,-122, -85, -31,-124,-112, -31,-123, -93, -31,-122, -86, -31, --124,-112, -31,-123, -93, -31,-122, -87, -31,-124,-112, -31,-123, -93, -31,-122, -88, -31,-124,-112, - -31,-123, -94, -31,-121,-126, -31,-124,-112, -31,-123, -94, -31,-121,-127, -31,-124,-112, -31,-123, - -94, -31,-121,-128, -31,-124,-112, -31,-123, -94, -31,-122, -65, -31,-124,-112, -31,-123, -94, -31, --122, -66, -31,-124,-112, -31,-123, -94, -31,-122, -67, -31,-124,-112, -31,-123, -94, -31,-122, -68, - -31,-124,-112, -31,-123, -94, -31,-122, -69, -31,-124,-112, -31,-123, -94, -31,-122, -70, -31,-124, --112, -31,-123, -94, -31,-122, -71, -31,-124,-112, -31,-123, -94, -31,-122, -72, -31,-124,-112, -31, --123, -94, -31,-122, -73, -31,-124,-112, -31,-123, -94, -31,-122, -74, -31,-124,-112, -31,-123, -94, - -31,-122, -75, -31,-124,-112, -31,-123, -94, -31,-122, -76, -31,-124,-112, -31,-123, -94, -31,-122, - -77, -31,-124,-112, -31,-123, -94, -31,-122, -78, -31,-124,-112, -31,-123, -94, -31,-122, -79, -31, --124,-112, -31,-123, -94, -31,-122, -80, -31,-124,-112, -31,-123, -94, -31,-122, -81, -31,-124,-112, - -31,-123, -94, -31,-122, -82, -31,-124,-112, -31,-123, -94, -31,-122, -83, -31,-124,-112, -31,-123, - -94, -31,-122, -84, -31,-124,-112, -31,-123, -94, -31,-122, -85, -31,-124,-112, -31,-123, -94, -31, --122, -86, -31,-124,-112, -31,-123, -94, -31,-122, -87, -31,-124,-112, -31,-123, -94, -31,-122, -88, - -31,-124,-112, -31,-123, -95, -31,-121,-126, -31,-124,-112, -31,-123, -95, -31,-121,-127, -31,-124, --112, -31,-123, -95, -31,-121,-128, -31,-124,-112, -31,-123, -95, -31,-122, -65, -31,-124,-112, -31, --123, -95, -31,-122, -66, -31,-124,-112, -31,-123, -95, -31,-122, -67, -31,-124,-112, -31,-123, -95, - -31,-122, -68, -31,-124,-112, -31,-123, -95, -31,-122, -69, -31,-124,-112, -31,-123, -95, -31,-122, - -70, -31,-124,-112, -31,-123, -95, -31,-122, -71, -31,-124,-112, -31,-123, -95, -31,-122, -72, -31, --124,-112, -31,-123, -95, -31,-122, -73, -31,-124,-112, -31,-123, -95, -31,-122, -74, -31,-124,-112, - -31,-123, -95, -31,-122, -75, -31,-124,-112, -31,-123, -95, -31,-122, -76, -31,-124,-112, -31,-123, - -95, -31,-122, -77, -31,-124,-112, -31,-123, -95, -31,-122, -78, -31,-124,-112, -31,-123, -95, -31, --122, -79, -31,-124,-112, -31,-123, -95, -31,-122, -80, -31,-124,-112, -31,-123, -95, -31,-122, -81, - -31,-124,-112, -31,-123, -95, -31,-122, -82, -31,-124,-112, -31,-123, -95, -31,-122, -83, -31,-124, --112, -31,-123, -95, -31,-122, -84, -31,-124,-112, -31,-123, -95, -31,-122, -85, -31,-124,-112, -31, --123, -95, -31,-122, -86, -31,-124,-112, -31,-123, -95, -31,-122, -87, -31,-124,-112, -31,-123, -95, - -31,-122, -88, -31,-124,-113, -31,-123, -75, -31,-121,-126, -31,-124,-113, -31,-123, -75, -31,-121, --127, -31,-124,-113, -31,-123, -75, -31,-121,-128, -31,-124,-113, -31,-123, -75, -31,-122, -65, -31, --124,-113, -31,-123, -75, -31,-122, -66, -31,-124,-113, -31,-123, -75, -31,-122, -67, -31,-124,-113, - -31,-123, -75, -31,-122, -68, -31,-124,-113, -31,-123, -75, -31,-122, -69, -31,-124,-113, -31,-123, - -75, -31,-122, -70, -31,-124,-113, -31,-123, -75, -31,-122, -71, -31,-124,-113, -31,-123, -75, -31, --122, -72, -31,-124,-113, -31,-123, -75, -31,-122, -73, -31,-124,-113, -31,-123, -75, -31,-122, -74, - -31,-124,-113, -31,-123, -75, -31,-122, -75, -31,-124,-113, -31,-123, -75, -31,-122, -76, -31,-124, --113, -31,-123, -75, -31,-122, -77, -31,-124,-113, -31,-123, -75, -31,-122, -78, -31,-124,-113, -31, --123, -75, -31,-122, -79, -31,-124,-113, -31,-123, -75, -31,-122, -80, -31,-124,-113, -31,-123, -75, - -31,-122, -81, -31,-124,-113, -31,-123, -75, -31,-122, -82, -31,-124,-113, -31,-123, -75, -31,-122, - -83, -31,-124,-113, -31,-123, -75, -31,-122, -84, -31,-124,-113, -31,-123, -75, -31,-122, -85, -31, --124,-113, -31,-123, -75, -31,-122, -86, -31,-124,-113, -31,-123, -75, -31,-122, -87, -31,-124,-113, - -31,-123, -75, -31,-122, -88, -31,-124,-113, -31,-123, -76, -31,-121,-126, -31,-124,-113, -31,-123, - -76, -31,-121,-127, -31,-124,-113, -31,-123, -76, -31,-121,-128, -31,-124,-113, -31,-123, -76, -31, --122, -65, -31,-124,-113, -31,-123, -76, -31,-122, -66, -31,-124,-113, -31,-123, -76, -31,-122, -67, - -31,-124,-113, -31,-123, -76, -31,-122, -68, -31,-124,-113, -31,-123, -76, -31,-122, -69, -31,-124, --113, -31,-123, -76, -31,-122, -70, -31,-124,-113, -31,-123, -76, -31,-122, -71, -31,-124,-113, -31, --123, -76, -31,-122, -72, -31,-124,-113, -31,-123, -76, -31,-122, -73, -31,-124,-113, -31,-123, -76, - -31,-122, -74, -31,-124,-113, -31,-123, -76, -31,-122, -75, -31,-124,-113, -31,-123, -76, -31,-122, - -76, -31,-124,-113, -31,-123, -76, -31,-122, -77, -31,-124,-113, -31,-123, -76, -31,-122, -78, -31, --124,-113, -31,-123, -76, -31,-122, -79, -31,-124,-113, -31,-123, -76, -31,-122, -80, -31,-124,-113, - -31,-123, -76, -31,-122, -81, -31,-124,-113, -31,-123, -76, -31,-122, -82, -31,-124,-113, -31,-123, - -76, -31,-122, -83, -31,-124,-113, -31,-123, -76, -31,-122, -84, -31,-124,-113, -31,-123, -76, -31, --122, -85, -31,-124,-113, -31,-123, -76, -31,-122, -86, -31,-124,-113, -31,-123, -76, -31,-122, -87, - -31,-124,-113, -31,-123, -76, -31,-122, -88, -31,-124,-113, -31,-123, -77, -31,-121,-126, -31,-124, --113, -31,-123, -77, -31,-121,-127, -31,-124,-113, -31,-123, -77, -31,-121,-128, -31,-124,-113, -31, --123, -77, -31,-122, -65, -31,-124,-113, -31,-123, -77, -31,-122, -66, -31,-124,-113, -31,-123, -77, - -31,-122, -67, -31,-124,-113, -31,-123, -77, -31,-122, -68, -31,-124,-113, -31,-123, -77, -31,-122, - -69, -31,-124,-113, -31,-123, -77, -31,-122, -70, -31,-124,-113, -31,-123, -77, -31,-122, -71, -31, --124,-113, -31,-123, -77, -31,-122, -72, -31,-124,-113, -31,-123, -77, -31,-122, -73, -31,-124,-113, - -31,-123, -77, -31,-122, -74, -31,-124,-113, -31,-123, -77, -31,-122, -75, -31,-124,-113, -31,-123, - -77, -31,-122, -76, -31,-124,-113, -31,-123, -77, -31,-122, -77, -31,-124,-113, -31,-123, -77, -31, --122, -78, -31,-124,-113, -31,-123, -77, -31,-122, -79, -31,-124,-113, -31,-123, -77, -31,-122, -80, - -31,-124,-113, -31,-123, -77, -31,-122, -81, -31,-124,-113, -31,-123, -77, -31,-122, -82, -31,-124, --113, -31,-123, -77, -31,-122, -83, -31,-124,-113, -31,-123, -77, -31,-122, -84, -31,-124,-113, -31, --123, -77, -31,-122, -85, -31,-124,-113, -31,-123, -77, -31,-122, -86, -31,-124,-113, -31,-123, -77, - -31,-122, -87, -31,-124,-113, -31,-123, -77, -31,-122, -88, -31,-124,-113, -31,-123, -78, -31,-121, --126, -31,-124,-113, -31,-123, -78, -31,-121,-127, -31,-124,-113, -31,-123, -78, -31,-121,-128, -31, --124,-113, -31,-123, -78, -31,-122, -65, -31,-124,-113, -31,-123, -78, -31,-122, -66, -31,-124,-113, - -31,-123, -78, -31,-122, -67, -31,-124,-113, -31,-123, -78, -31,-122, -68, -31,-124,-113, -31,-123, - -78, -31,-122, -69, -31,-124,-113, -31,-123, -78, -31,-122, -70, -31,-124,-113, -31,-123, -78, -31, --122, -71, -31,-124,-113, -31,-123, -78, -31,-122, -72, -31,-124,-113, -31,-123, -78, -31,-122, -73, - -31,-124,-113, -31,-123, -78, -31,-122, -74, -31,-124,-113, -31,-123, -78, -31,-122, -75, -31,-124, --113, -31,-123, -78, -31,-122, -76, -31,-124,-113, -31,-123, -78, -31,-122, -77, -31,-124,-113, -31, --123, -78, -31,-122, -78, -31,-124,-113, -31,-123, -78, -31,-122, -79, -31,-124,-113, -31,-123, -78, - -31,-122, -80, -31,-124,-113, -31,-123, -78, -31,-122, -81, -31,-124,-113, -31,-123, -78, -31,-122, - -82, -31,-124,-113, -31,-123, -78, -31,-122, -83, -31,-124,-113, -31,-123, -78, -31,-122, -84, -31, --124,-113, -31,-123, -78, -31,-122, -85, -31,-124,-113, -31,-123, -78, -31,-122, -86, -31,-124,-113, - -31,-123, -78, -31,-122, -87, -31,-124,-113, -31,-123, -78, -31,-122, -88, -31,-124,-113, -31,-123, - -79, -31,-121,-126, -31,-124,-113, -31,-123, -79, -31,-121,-127, -31,-124,-113, -31,-123, -79, -31, --121,-128, -31,-124,-113, -31,-123, -79, -31,-122, -65, -31,-124,-113, -31,-123, -79, -31,-122, -66, - -31,-124,-113, -31,-123, -79, -31,-122, -67, -31,-124,-113, -31,-123, -79, -31,-122, -68, -31,-124, --113, -31,-123, -79, -31,-122, -69, -31,-124,-113, -31,-123, -79, -31,-122, -70, -31,-124,-113, -31, --123, -79, -31,-122, -71, -31,-124,-113, -31,-123, -79, -31,-122, -72, -31,-124,-113, -31,-123, -79, - -31,-122, -73, -31,-124,-113, -31,-123, -79, -31,-122, -74, -31,-124,-113, -31,-123, -79, -31,-122, - -75, -31,-124,-113, -31,-123, -79, -31,-122, -76, -31,-124,-113, -31,-123, -79, -31,-122, -77, -31, --124,-113, -31,-123, -79, -31,-122, -78, -31,-124,-113, -31,-123, -79, -31,-122, -79, -31,-124,-113, - -31,-123, -79, -31,-122, -80, -31,-124,-113, -31,-123, -79, -31,-122, -81, -31,-124,-113, -31,-123, - -79, -31,-122, -82, -31,-124,-113, -31,-123, -79, -31,-122, -83, -31,-124,-113, -31,-123, -79, -31, --122, -84, -31,-124,-113, -31,-123, -79, -31,-122, -85, -31,-124,-113, -31,-123, -79, -31,-122, -86, - -31,-124,-113, -31,-123, -79, -31,-122, -87, -31,-124,-113, -31,-123, -79, -31,-122, -88, -31,-124, --113, -31,-123, -80, -31,-121,-126, -31,-124,-113, -31,-123, -80, -31,-121,-127, -31,-124,-113, -31, --123, -80, -31,-121,-128, -31,-124,-113, -31,-123, -80, -31,-122, -65, -31,-124,-113, -31,-123, -80, - -31,-122, -66, -31,-124,-113, -31,-123, -80, -31,-122, -67, -31,-124,-113, -31,-123, -80, -31,-122, - -68, -31,-124,-113, -31,-123, -80, -31,-122, -69, -31,-124,-113, -31,-123, -80, -31,-122, -70, -31, --124,-113, -31,-123, -80, -31,-122, -71, -31,-124,-113, -31,-123, -80, -31,-122, -72, -31,-124,-113, - -31,-123, -80, -31,-122, -73, -31,-124,-113, -31,-123, -80, -31,-122, -74, -31,-124,-113, -31,-123, - -80, -31,-122, -75, -31,-124,-113, -31,-123, -80, -31,-122, -76, -31,-124,-113, -31,-123, -80, -31, --122, -77, -31,-124,-113, -31,-123, -80, -31,-122, -78, -31,-124,-113, -31,-123, -80, -31,-122, -79, - -31,-124,-113, -31,-123, -80, -31,-122, -80, -31,-124,-113, -31,-123, -80, -31,-122, -81, -31,-124, --113, -31,-123, -80, -31,-122, -82, -31,-124,-113, -31,-123, -80, -31,-122, -83, -31,-124,-113, -31, --123, -80, -31,-122, -84, -31,-124,-113, -31,-123, -80, -31,-122, -85, -31,-124,-113, -31,-123, -80, - -31,-122, -86, -31,-124,-113, -31,-123, -80, -31,-122, -87, -31,-124,-113, -31,-123, -80, -31,-122, - -88, -31,-124,-113, -31,-123, -81, -31,-121,-126, -31,-124,-113, -31,-123, -81, -31,-121,-127, -31, --124,-113, -31,-123, -81, -31,-121,-128, -31,-124,-113, -31,-123, -81, -31,-122, -65, -31,-124,-113, - -31,-123, -81, -31,-122, -66, -31,-124,-113, -31,-123, -81, -31,-122, -67, -31,-124,-113, -31,-123, - -81, -31,-122, -68, -31,-124,-113, -31,-123, -81, -31,-122, -69, -31,-124,-113, -31,-123, -81, -31, --122, -70, -31,-124,-113, -31,-123, -81, -31,-122, -71, -31,-124,-113, -31,-123, -81, -31,-122, -72, - -31,-124,-113, -31,-123, -81, -31,-122, -73, -31,-124,-113, -31,-123, -81, -31,-122, -74, -31,-124, --113, -31,-123, -81, -31,-122, -75, -31,-124,-113, -31,-123, -81, -31,-122, -76, -31,-124,-113, -31, --123, -81, -31,-122, -77, -31,-124,-113, -31,-123, -81, -31,-122, -78, -31,-124,-113, -31,-123, -81, - -31,-122, -79, -31,-124,-113, -31,-123, -81, -31,-122, -80, -31,-124,-113, -31,-123, -81, -31,-122, - -81, -31,-124,-113, -31,-123, -81, -31,-122, -82, -31,-124,-113, -31,-123, -81, -31,-122, -83, -31, --124,-113, -31,-123, -81, -31,-122, -84, -31,-124,-113, -31,-123, -81, -31,-122, -85, -31,-124,-113, - -31,-123, -81, -31,-122, -86, -31,-124,-113, -31,-123, -81, -31,-122, -87, -31,-124,-113, -31,-123, - -81, -31,-122, -88, -31,-124,-113, -31,-123, -82, -31,-121,-126, -31,-124,-113, -31,-123, -82, -31, --121,-127, -31,-124,-113, -31,-123, -82, -31,-121,-128, -31,-124,-113, -31,-123, -82, -31,-122, -65, - -31,-124,-113, -31,-123, -82, -31,-122, -66, -31,-124,-113, -31,-123, -82, -31,-122, -67, -31,-124, --113, -31,-123, -82, -31,-122, -68, -31,-124,-113, -31,-123, -82, -31,-122, -69, -31,-124,-113, -31, --123, -82, -31,-122, -70, -31,-124,-113, -31,-123, -82, -31,-122, -71, -31,-124,-113, -31,-123, -82, - -31,-122, -72, -31,-124,-113, -31,-123, -82, -31,-122, -73, -31,-124,-113, -31,-123, -82, -31,-122, - -74, -31,-124,-113, -31,-123, -82, -31,-122, -75, -31,-124,-113, -31,-123, -82, -31,-122, -76, -31, --124,-113, -31,-123, -82, -31,-122, -77, -31,-124,-113, -31,-123, -82, -31,-122, -78, -31,-124,-113, - -31,-123, -82, -31,-122, -79, -31,-124,-113, -31,-123, -82, -31,-122, -80, -31,-124,-113, -31,-123, - -82, -31,-122, -81, -31,-124,-113, -31,-123, -82, -31,-122, -82, -31,-124,-113, -31,-123, -82, -31, --122, -83, -31,-124,-113, -31,-123, -82, -31,-122, -84, -31,-124,-113, -31,-123, -82, -31,-122, -85, - -31,-124,-113, -31,-123, -82, -31,-122, -86, -31,-124,-113, -31,-123, -82, -31,-122, -87, -31,-124, --113, -31,-123, -82, -31,-122, -88, -31,-124,-113, -31,-123, -83, -31,-121,-126, -31,-124,-113, -31, --123, -83, -31,-121,-127, -31,-124,-113, -31,-123, -83, -31,-121,-128, -31,-124,-113, -31,-123, -83, - -31,-122, -65, -31,-124,-113, -31,-123, -83, -31,-122, -66, -31,-124,-113, -31,-123, -83, -31,-122, - -67, -31,-124,-113, -31,-123, -83, -31,-122, -68, -31,-124,-113, -31,-123, -83, -31,-122, -69, -31, --124,-113, -31,-123, -83, -31,-122, -70, -31,-124,-113, -31,-123, -83, -31,-122, -71, -31,-124,-113, - -31,-123, -83, -31,-122, -72, -31,-124,-113, -31,-123, -83, -31,-122, -73, -31,-124,-113, -31,-123, - -83, -31,-122, -74, -31,-124,-113, -31,-123, -83, -31,-122, -75, -31,-124,-113, -31,-123, -83, -31, --122, -76, -31,-124,-113, -31,-123, -83, -31,-122, -77, -31,-124,-113, -31,-123, -83, -31,-122, -78, - -31,-124,-113, -31,-123, -83, -31,-122, -79, -31,-124,-113, -31,-123, -83, -31,-122, -80, -31,-124, --113, -31,-123, -83, -31,-122, -81, -31,-124,-113, -31,-123, -83, -31,-122, -82, -31,-124,-113, -31, --123, -83, -31,-122, -83, -31,-124,-113, -31,-123, -83, -31,-122, -84, -31,-124,-113, -31,-123, -83, - -31,-122, -85, -31,-124,-113, -31,-123, -83, -31,-122, -86, -31,-124,-113, -31,-123, -83, -31,-122, - -87, -31,-124,-113, -31,-123, -83, -31,-122, -88, -31,-124,-113, -31,-123, -84, -31,-121,-126, -31, --124,-113, -31,-123, -84, -31,-121,-127, -31,-124,-113, -31,-123, -84, -31,-121,-128, -31,-124,-113, - -31,-123, -84, -31,-122, -65, -31,-124,-113, -31,-123, -84, -31,-122, -66, -31,-124,-113, -31,-123, - -84, -31,-122, -67, -31,-124,-113, -31,-123, -84, -31,-122, -68, -31,-124,-113, -31,-123, -84, -31, --122, -69, -31,-124,-113, -31,-123, -84, -31,-122, -70, -31,-124,-113, -31,-123, -84, -31,-122, -71, - -31,-124,-113, -31,-123, -84, -31,-122, -72, -31,-124,-113, -31,-123, -84, -31,-122, -73, -31,-124, --113, -31,-123, -84, -31,-122, -74, -31,-124,-113, -31,-123, -84, -31,-122, -75, -31,-124,-113, -31, --123, -84, -31,-122, -76, -31,-124,-113, -31,-123, -84, -31,-122, -77, -31,-124,-113, -31,-123, -84, - -31,-122, -78, -31,-124,-113, -31,-123, -84, -31,-122, -79, -31,-124,-113, -31,-123, -84, -31,-122, - -80, -31,-124,-113, -31,-123, -84, -31,-122, -81, -31,-124,-113, -31,-123, -84, -31,-122, -82, -31, --124,-113, -31,-123, -84, -31,-122, -83, -31,-124,-113, -31,-123, -84, -31,-122, -84, -31,-124,-113, - -31,-123, -84, -31,-122, -85, -31,-124,-113, -31,-123, -84, -31,-122, -86, -31,-124,-113, -31,-123, - -84, -31,-122, -87, -31,-124,-113, -31,-123, -84, -31,-122, -88, -31,-124,-113, -31,-123, -85, -31, --121,-126, -31,-124,-113, -31,-123, -85, -31,-121,-127, -31,-124,-113, -31,-123, -85, -31,-121,-128, - -31,-124,-113, -31,-123, -85, -31,-122, -65, -31,-124,-113, -31,-123, -85, -31,-122, -66, -31,-124, --113, -31,-123, -85, -31,-122, -67, -31,-124,-113, -31,-123, -85, -31,-122, -68, -31,-124,-113, -31, --123, -85, -31,-122, -69, -31,-124,-113, -31,-123, -85, -31,-122, -70, -31,-124,-113, -31,-123, -85, - -31,-122, -71, -31,-124,-113, -31,-123, -85, -31,-122, -72, -31,-124,-113, -31,-123, -85, -31,-122, - -73, -31,-124,-113, -31,-123, -85, -31,-122, -74, -31,-124,-113, -31,-123, -85, -31,-122, -75, -31, --124,-113, -31,-123, -85, -31,-122, -76, -31,-124,-113, -31,-123, -85, -31,-122, -77, -31,-124,-113, - -31,-123, -85, -31,-122, -78, -31,-124,-113, -31,-123, -85, -31,-122, -79, -31,-124,-113, -31,-123, - -85, -31,-122, -80, -31,-124,-113, -31,-123, -85, -31,-122, -81, -31,-124,-113, -31,-123, -85, -31, --122, -82, -31,-124,-113, -31,-123, -85, -31,-122, -83, -31,-124,-113, -31,-123, -85, -31,-122, -84, - -31,-124,-113, -31,-123, -85, -31,-122, -85, -31,-124,-113, -31,-123, -85, -31,-122, -86, -31,-124, --113, -31,-123, -85, -31,-122, -87, -31,-124,-113, -31,-123, -85, -31,-122, -88, -31,-124,-113, -31, --123, -86, -31,-121,-126, -31,-124,-113, -31,-123, -86, -31,-121,-127, -31,-124,-113, -31,-123, -86, - -31,-121,-128, -31,-124,-113, -31,-123, -86, -31,-122, -65, -31,-124,-113, -31,-123, -86, -31,-122, - -66, -31,-124,-113, -31,-123, -86, -31,-122, -67, -31,-124,-113, -31,-123, -86, -31,-122, -68, -31, --124,-113, -31,-123, -86, -31,-122, -69, -31,-124,-113, -31,-123, -86, -31,-122, -70, -31,-124,-113, - -31,-123, -86, -31,-122, -71, -31,-124,-113, -31,-123, -86, -31,-122, -72, -31,-124,-113, -31,-123, - -86, -31,-122, -73, -31,-124,-113, -31,-123, -86, -31,-122, -74, -31,-124,-113, -31,-123, -86, -31, --122, -75, -31,-124,-113, -31,-123, -86, -31,-122, -76, -31,-124,-113, -31,-123, -86, -31,-122, -77, - -31,-124,-113, -31,-123, -86, -31,-122, -78, -31,-124,-113, -31,-123, -86, -31,-122, -79, -31,-124, --113, -31,-123, -86, -31,-122, -80, -31,-124,-113, -31,-123, -86, -31,-122, -81, -31,-124,-113, -31, --123, -86, -31,-122, -82, -31,-124,-113, -31,-123, -86, -31,-122, -83, -31,-124,-113, -31,-123, -86, - -31,-122, -84, -31,-124,-113, -31,-123, -86, -31,-122, -85, -31,-124,-113, -31,-123, -86, -31,-122, - -86, -31,-124,-113, -31,-123, -86, -31,-122, -87, -31,-124,-113, -31,-123, -86, -31,-122, -88, -31, --124,-113, -31,-123, -87, -31,-121,-126, -31,-124,-113, -31,-123, -87, -31,-121,-127, -31,-124,-113, - -31,-123, -87, -31,-121,-128, -31,-124,-113, -31,-123, -87, -31,-122, -65, -31,-124,-113, -31,-123, - -87, -31,-122, -66, -31,-124,-113, -31,-123, -87, -31,-122, -67, -31,-124,-113, -31,-123, -87, -31, --122, -68, -31,-124,-113, -31,-123, -87, -31,-122, -69, -31,-124,-113, -31,-123, -87, -31,-122, -70, - -31,-124,-113, -31,-123, -87, -31,-122, -71, -31,-124,-113, -31,-123, -87, -31,-122, -72, -31,-124, --113, -31,-123, -87, -31,-122, -73, -31,-124,-113, -31,-123, -87, -31,-122, -74, -31,-124,-113, -31, --123, -87, -31,-122, -75, -31,-124,-113, -31,-123, -87, -31,-122, -76, -31,-124,-113, -31,-123, -87, - -31,-122, -77, -31,-124,-113, -31,-123, -87, -31,-122, -78, -31,-124,-113, -31,-123, -87, -31,-122, - -79, -31,-124,-113, -31,-123, -87, -31,-122, -80, -31,-124,-113, -31,-123, -87, -31,-122, -81, -31, --124,-113, -31,-123, -87, -31,-122, -82, -31,-124,-113, -31,-123, -87, -31,-122, -83, -31,-124,-113, - -31,-123, -87, -31,-122, -84, -31,-124,-113, -31,-123, -87, -31,-122, -85, -31,-124,-113, -31,-123, - -87, -31,-122, -86, -31,-124,-113, -31,-123, -87, -31,-122, -87, -31,-124,-113, -31,-123, -87, -31, --122, -88, -31,-124,-113, -31,-123, -88, -31,-121,-126, -31,-124,-113, -31,-123, -88, -31,-121,-127, - -31,-124,-113, -31,-123, -88, -31,-121,-128, -31,-124,-113, -31,-123, -88, -31,-122, -65, -31,-124, --113, -31,-123, -88, -31,-122, -66, -31,-124,-113, -31,-123, -88, -31,-122, -67, -31,-124,-113, -31, --123, -88, -31,-122, -68, -31,-124,-113, -31,-123, -88, -31,-122, -69, -31,-124,-113, -31,-123, -88, - -31,-122, -70, -31,-124,-113, -31,-123, -88, -31,-122, -71, -31,-124,-113, -31,-123, -88, -31,-122, - -72, -31,-124,-113, -31,-123, -88, -31,-122, -73, -31,-124,-113, -31,-123, -88, -31,-122, -74, -31, --124,-113, -31,-123, -88, -31,-122, -75, -31,-124,-113, -31,-123, -88, -31,-122, -76, -31,-124,-113, - -31,-123, -88, -31,-122, -77, -31,-124,-113, -31,-123, -88, -31,-122, -78, -31,-124,-113, -31,-123, - -88, -31,-122, -79, -31,-124,-113, -31,-123, -88, -31,-122, -80, -31,-124,-113, -31,-123, -88, -31, --122, -81, -31,-124,-113, -31,-123, -88, -31,-122, -82, -31,-124,-113, -31,-123, -88, -31,-122, -83, - -31,-124,-113, -31,-123, -88, -31,-122, -84, -31,-124,-113, -31,-123, -88, -31,-122, -85, -31,-124, --113, -31,-123, -88, -31,-122, -86, -31,-124,-113, -31,-123, -88, -31,-122, -87, -31,-124,-113, -31, --123, -88, -31,-122, -88, -31,-124,-113, -31,-123, -89, -31,-121,-126, -31,-124,-113, -31,-123, -89, - -31,-121,-127, -31,-124,-113, -31,-123, -89, -31,-121,-128, -31,-124,-113, -31,-123, -89, -31,-122, - -65, -31,-124,-113, -31,-123, -89, -31,-122, -66, -31,-124,-113, -31,-123, -89, -31,-122, -67, -31, --124,-113, -31,-123, -89, -31,-122, -68, -31,-124,-113, -31,-123, -89, -31,-122, -69, -31,-124,-113, - -31,-123, -89, -31,-122, -70, -31,-124,-113, -31,-123, -89, -31,-122, -71, -31,-124,-113, -31,-123, - -89, -31,-122, -72, -31,-124,-113, -31,-123, -89, -31,-122, -73, -31,-124,-113, -31,-123, -89, -31, --122, -74, -31,-124,-113, -31,-123, -89, -31,-122, -75, -31,-124,-113, -31,-123, -89, -31,-122, -76, - -31,-124,-113, -31,-123, -89, -31,-122, -77, -31,-124,-113, -31,-123, -89, -31,-122, -78, -31,-124, --113, -31,-123, -89, -31,-122, -79, -31,-124,-113, -31,-123, -89, -31,-122, -80, -31,-124,-113, -31, --123, -89, -31,-122, -81, -31,-124,-113, -31,-123, -89, -31,-122, -82, -31,-124,-113, -31,-123, -89, - -31,-122, -83, -31,-124,-113, -31,-123, -89, -31,-122, -84, -31,-124,-113, -31,-123, -89, -31,-122, - -85, -31,-124,-113, -31,-123, -89, -31,-122, -86, -31,-124,-113, -31,-123, -89, -31,-122, -87, -31, --124,-113, -31,-123, -89, -31,-122, -88, -31,-124,-113, -31,-123, -90, -31,-121,-126, -31,-124,-113, - -31,-123, -90, -31,-121,-127, -31,-124,-113, -31,-123, -90, -31,-121,-128, -31,-124,-113, -31,-123, - -90, -31,-122, -65, -31,-124,-113, -31,-123, -90, -31,-122, -66, -31,-124,-113, -31,-123, -90, -31, --122, -67, -31,-124,-113, -31,-123, -90, -31,-122, -68, -31,-124,-113, -31,-123, -90, -31,-122, -69, - -31,-124,-113, -31,-123, -90, -31,-122, -70, -31,-124,-113, -31,-123, -90, -31,-122, -71, -31,-124, --113, -31,-123, -90, -31,-122, -72, -31,-124,-113, -31,-123, -90, -31,-122, -73, -31,-124,-113, -31, --123, -90, -31,-122, -74, -31,-124,-113, -31,-123, -90, -31,-122, -75, -31,-124,-113, -31,-123, -90, - -31,-122, -76, -31,-124,-113, -31,-123, -90, -31,-122, -77, -31,-124,-113, -31,-123, -90, -31,-122, - -78, -31,-124,-113, -31,-123, -90, -31,-122, -79, -31,-124,-113, -31,-123, -90, -31,-122, -80, -31, --124,-113, -31,-123, -90, -31,-122, -81, -31,-124,-113, -31,-123, -90, -31,-122, -82, -31,-124,-113, - -31,-123, -90, -31,-122, -83, -31,-124,-113, -31,-123, -90, -31,-122, -84, -31,-124,-113, -31,-123, - -90, -31,-122, -85, -31,-124,-113, -31,-123, -90, -31,-122, -86, -31,-124,-113, -31,-123, -90, -31, --122, -87, -31,-124,-113, -31,-123, -90, -31,-122, -88, -31,-124,-113, -31,-123, -91, -31,-121,-126, - -31,-124,-113, -31,-123, -91, -31,-121,-127, -31,-124,-113, -31,-123, -91, -31,-121,-128, -31,-124, --113, -31,-123, -91, -31,-122, -65, -31,-124,-113, -31,-123, -91, -31,-122, -66, -31,-124,-113, -31, --123, -91, -31,-122, -67, -31,-124,-113, -31,-123, -91, -31,-122, -68, -31,-124,-113, -31,-123, -91, - -31,-122, -69, -31,-124,-113, -31,-123, -91, -31,-122, -70, -31,-124,-113, -31,-123, -91, -31,-122, - -71, -31,-124,-113, -31,-123, -91, -31,-122, -72, -31,-124,-113, -31,-123, -91, -31,-122, -73, -31, --124,-113, -31,-123, -91, -31,-122, -74, -31,-124,-113, -31,-123, -91, -31,-122, -75, -31,-124,-113, - -31,-123, -91, -31,-122, -76, -31,-124,-113, -31,-123, -91, -31,-122, -77, -31,-124,-113, -31,-123, - -91, -31,-122, -78, -31,-124,-113, -31,-123, -91, -31,-122, -79, -31,-124,-113, -31,-123, -91, -31, --122, -80, -31,-124,-113, -31,-123, -91, -31,-122, -81, -31,-124,-113, -31,-123, -91, -31,-122, -82, - -31,-124,-113, -31,-123, -91, -31,-122, -83, -31,-124,-113, -31,-123, -91, -31,-122, -84, -31,-124, --113, -31,-123, -91, -31,-122, -85, -31,-124,-113, -31,-123, -91, -31,-122, -86, -31,-124,-113, -31, --123, -91, -31,-122, -87, -31,-124,-113, -31,-123, -91, -31,-122, -88, -31,-124,-113, -31,-123, -92, - -31,-121,-126, -31,-124,-113, -31,-123, -92, -31,-121,-127, -31,-124,-113, -31,-123, -92, -31,-121, --128, -31,-124,-113, -31,-123, -92, -31,-122, -65, -31,-124,-113, -31,-123, -92, -31,-122, -66, -31, --124,-113, -31,-123, -92, -31,-122, -67, -31,-124,-113, -31,-123, -92, -31,-122, -68, -31,-124,-113, - -31,-123, -92, -31,-122, -69, -31,-124,-113, -31,-123, -92, -31,-122, -70, -31,-124,-113, -31,-123, - -92, -31,-122, -71, -31,-124,-113, -31,-123, -92, -31,-122, -72, -31,-124,-113, -31,-123, -92, -31, --122, -73, -31,-124,-113, -31,-123, -92, -31,-122, -74, -31,-124,-113, -31,-123, -92, -31,-122, -75, - -31,-124,-113, -31,-123, -92, -31,-122, -76, -31,-124,-113, -31,-123, -92, -31,-122, -77, -31,-124, --113, -31,-123, -92, -31,-122, -78, -31,-124,-113, -31,-123, -92, -31,-122, -79, -31,-124,-113, -31, --123, -92, -31,-122, -80, -31,-124,-113, -31,-123, -92, -31,-122, -81, -31,-124,-113, -31,-123, -92, - -31,-122, -82, -31,-124,-113, -31,-123, -92, -31,-122, -83, -31,-124,-113, -31,-123, -92, -31,-122, - -84, -31,-124,-113, -31,-123, -92, -31,-122, -85, -31,-124,-113, -31,-123, -92, -31,-122, -86, -31, --124,-113, -31,-123, -92, -31,-122, -87, -31,-124,-113, -31,-123, -92, -31,-122, -88, -31,-124,-113, - -31,-123, -93, -31,-121,-126, -31,-124,-113, -31,-123, -93, -31,-121,-127, -31,-124,-113, -31,-123, - -93, -31,-121,-128, -31,-124,-113, -31,-123, -93, -31,-122, -65, -31,-124,-113, -31,-123, -93, -31, --122, -66, -31,-124,-113, -31,-123, -93, -31,-122, -67, -31,-124,-113, -31,-123, -93, -31,-122, -68, - -31,-124,-113, -31,-123, -93, -31,-122, -69, -31,-124,-113, -31,-123, -93, -31,-122, -70, -31,-124, --113, -31,-123, -93, -31,-122, -71, -31,-124,-113, -31,-123, -93, -31,-122, -72, -31,-124,-113, -31, --123, -93, -31,-122, -73, -31,-124,-113, -31,-123, -93, -31,-122, -74, -31,-124,-113, -31,-123, -93, - -31,-122, -75, -31,-124,-113, -31,-123, -93, -31,-122, -76, -31,-124,-113, -31,-123, -93, -31,-122, - -77, -31,-124,-113, -31,-123, -93, -31,-122, -78, -31,-124,-113, -31,-123, -93, -31,-122, -79, -31, --124,-113, -31,-123, -93, -31,-122, -80, -31,-124,-113, -31,-123, -93, -31,-122, -81, -31,-124,-113, - -31,-123, -93, -31,-122, -82, -31,-124,-113, -31,-123, -93, -31,-122, -83, -31,-124,-113, -31,-123, - -93, -31,-122, -84, -31,-124,-113, -31,-123, -93, -31,-122, -85, -31,-124,-113, -31,-123, -93, -31, --122, -86, -31,-124,-113, -31,-123, -93, -31,-122, -87, -31,-124,-113, -31,-123, -93, -31,-122, -88, - -31,-124,-113, -31,-123, -94, -31,-121,-126, -31,-124,-113, -31,-123, -94, -31,-121,-127, -31,-124, --113, -31,-123, -94, -31,-121,-128, -31,-124,-113, -31,-123, -94, -31,-122, -65, -31,-124,-113, -31, --123, -94, -31,-122, -66, -31,-124,-113, -31,-123, -94, -31,-122, -67, -31,-124,-113, -31,-123, -94, - -31,-122, -68, -31,-124,-113, -31,-123, -94, -31,-122, -69, -31,-124,-113, -31,-123, -94, -31,-122, - -70, -31,-124,-113, -31,-123, -94, -31,-122, -71, -31,-124,-113, -31,-123, -94, -31,-122, -72, -31, --124,-113, -31,-123, -94, -31,-122, -73, -31,-124,-113, -31,-123, -94, -31,-122, -74, -31,-124,-113, - -31,-123, -94, -31,-122, -75, -31,-124,-113, -31,-123, -94, -31,-122, -76, -31,-124,-113, -31,-123, - -94, -31,-122, -77, -31,-124,-113, -31,-123, -94, -31,-122, -78, -31,-124,-113, -31,-123, -94, -31, --122, -79, -31,-124,-113, -31,-123, -94, -31,-122, -80, -31,-124,-113, -31,-123, -94, -31,-122, -81, - -31,-124,-113, -31,-123, -94, -31,-122, -82, -31,-124,-113, -31,-123, -94, -31,-122, -83, -31,-124, --113, -31,-123, -94, -31,-122, -84, -31,-124,-113, -31,-123, -94, -31,-122, -85, -31,-124,-113, -31, --123, -94, -31,-122, -86, -31,-124,-113, -31,-123, -94, -31,-122, -87, -31,-124,-113, -31,-123, -94, - -31,-122, -88, -31,-124,-113, -31,-123, -95, -31,-121,-126, -31,-124,-113, -31,-123, -95, -31,-121, --127, -31,-124,-113, -31,-123, -95, -31,-121,-128, -31,-124,-113, -31,-123, -95, -31,-122, -65, -31, --124,-113, -31,-123, -95, -31,-122, -66, -31,-124,-113, -31,-123, -95, -31,-122, -67, -31,-124,-113, - -31,-123, -95, -31,-122, -68, -31,-124,-113, -31,-123, -95, -31,-122, -69, -31,-124,-113, -31,-123, - -95, -31,-122, -70, -31,-124,-113, -31,-123, -95, -31,-122, -71, -31,-124,-113, -31,-123, -95, -31, --122, -72, -31,-124,-113, -31,-123, -95, -31,-122, -73, -31,-124,-113, -31,-123, -95, -31,-122, -74, - -31,-124,-113, -31,-123, -95, -31,-122, -75, -31,-124,-113, -31,-123, -95, -31,-122, -76, -31,-124, --113, -31,-123, -95, -31,-122, -77, -31,-124,-113, -31,-123, -95, -31,-122, -78, -31,-124,-113, -31, --123, -95, -31,-122, -79, -31,-124,-113, -31,-123, -95, -31,-122, -80, -31,-124,-113, -31,-123, -95, - -31,-122, -81, -31,-124,-113, -31,-123, -95, -31,-122, -82, -31,-124,-113, -31,-123, -95, -31,-122, - -83, -31,-124,-113, -31,-123, -95, -31,-122, -84, -31,-124,-113, -31,-123, -95, -31,-122, -85, -31, --124,-113, -31,-123, -95, -31,-122, -86, -31,-124,-113, -31,-123, -95, -31,-122, -87, -31,-124,-113, - -31,-123, -95, -31,-122, -88, -31,-124,-114, -31,-123, -75, -31,-121,-126, -31,-124,-114, -31,-123, - -75, -31,-121,-127, -31,-124,-114, -31,-123, -75, -31,-121,-128, -31,-124,-114, -31,-123, -75, -31, --122, -65, -31,-124,-114, -31,-123, -75, -31,-122, -66, -31,-124,-114, -31,-123, -75, -31,-122, -67, - -31,-124,-114, -31,-123, -75, -31,-122, -68, -31,-124,-114, -31,-123, -75, -31,-122, -69, -31,-124, --114, -31,-123, -75, -31,-122, -70, -31,-124,-114, -31,-123, -75, -31,-122, -71, -31,-124,-114, -31, --123, -75, -31,-122, -72, -31,-124,-114, -31,-123, -75, -31,-122, -73, -31,-124,-114, -31,-123, -75, - -31,-122, -74, -31,-124,-114, -31,-123, -75, -31,-122, -75, -31,-124,-114, -31,-123, -75, -31,-122, - -76, -31,-124,-114, -31,-123, -75, -31,-122, -77, -31,-124,-114, -31,-123, -75, -31,-122, -78, -31, --124,-114, -31,-123, -75, -31,-122, -79, -31,-124,-114, -31,-123, -75, -31,-122, -80, -31,-124,-114, - -31,-123, -75, -31,-122, -81, -31,-124,-114, -31,-123, -75, -31,-122, -82, -31,-124,-114, -31,-123, - -75, -31,-122, -83, -31,-124,-114, -31,-123, -75, -31,-122, -84, -31,-124,-114, -31,-123, -75, -31, --122, -85, -31,-124,-114, -31,-123, -75, -31,-122, -86, -31,-124,-114, -31,-123, -75, -31,-122, -87, - -31,-124,-114, -31,-123, -75, -31,-122, -88, -31,-124,-114, -31,-123, -76, -31,-121,-126, -31,-124, --114, -31,-123, -76, -31,-121,-127, -31,-124,-114, -31,-123, -76, -31,-121,-128, -31,-124,-114, -31, --123, -76, -31,-122, -65, -31,-124,-114, -31,-123, -76, -31,-122, -66, -31,-124,-114, -31,-123, -76, - -31,-122, -67, -31,-124,-114, -31,-123, -76, -31,-122, -68, -31,-124,-114, -31,-123, -76, -31,-122, - -69, -31,-124,-114, -31,-123, -76, -31,-122, -70, -31,-124,-114, -31,-123, -76, -31,-122, -71, -31, --124,-114, -31,-123, -76, -31,-122, -72, -31,-124,-114, -31,-123, -76, -31,-122, -73, -31,-124,-114, - -31,-123, -76, -31,-122, -74, -31,-124,-114, -31,-123, -76, -31,-122, -75, -31,-124,-114, -31,-123, - -76, -31,-122, -76, -31,-124,-114, -31,-123, -76, -31,-122, -77, -31,-124,-114, -31,-123, -76, -31, --122, -78, -31,-124,-114, -31,-123, -76, -31,-122, -79, -31,-124,-114, -31,-123, -76, -31,-122, -80, - -31,-124,-114, -31,-123, -76, -31,-122, -81, -31,-124,-114, -31,-123, -76, -31,-122, -82, -31,-124, --114, -31,-123, -76, -31,-122, -83, -31,-124,-114, -31,-123, -76, -31,-122, -84, -31,-124,-114, -31, --123, -76, -31,-122, -85, -31,-124,-114, -31,-123, -76, -31,-122, -86, -31,-124,-114, -31,-123, -76, - -31,-122, -87, -31,-124,-114, -31,-123, -76, -31,-122, -88, -31,-124,-114, -31,-123, -77, -31,-121, --126, -31,-124,-114, -31,-123, -77, -31,-121,-127, -31,-124,-114, -31,-123, -77, -31,-121,-128, -31, --124,-114, -31,-123, -77, -31,-122, -65, -31,-124,-114, -31,-123, -77, -31,-122, -66, -31,-124,-114, - -31,-123, -77, -31,-122, -67, -31,-124,-114, -31,-123, -77, -31,-122, -68, -31,-124,-114, -31,-123, - -77, -31,-122, -69, -31,-124,-114, -31,-123, -77, -31,-122, -70, -31,-124,-114, -31,-123, -77, -31, --122, -71, -31,-124,-114, -31,-123, -77, -31,-122, -72, -31,-124,-114, -31,-123, -77, -31,-122, -73, - -31,-124,-114, -31,-123, -77, -31,-122, -74, -31,-124,-114, -31,-123, -77, -31,-122, -75, -31,-124, --114, -31,-123, -77, -31,-122, -76, -31,-124,-114, -31,-123, -77, -31,-122, -77, -31,-124,-114, -31, --123, -77, -31,-122, -78, -31,-124,-114, -31,-123, -77, -31,-122, -79, -31,-124,-114, -31,-123, -77, - -31,-122, -80, -31,-124,-114, -31,-123, -77, -31,-122, -81, -31,-124,-114, -31,-123, -77, -31,-122, - -82, -31,-124,-114, -31,-123, -77, -31,-122, -83, -31,-124,-114, -31,-123, -77, -31,-122, -84, -31, --124,-114, -31,-123, -77, -31,-122, -85, -31,-124,-114, -31,-123, -77, -31,-122, -86, -31,-124,-114, - -31,-123, -77, -31,-122, -87, -31,-124,-114, -31,-123, -77, -31,-122, -88, -31,-124,-114, -31,-123, - -78, -31,-121,-126, -31,-124,-114, -31,-123, -78, -31,-121,-127, -31,-124,-114, -31,-123, -78, -31, --121,-128, -31,-124,-114, -31,-123, -78, -31,-122, -65, -31,-124,-114, -31,-123, -78, -31,-122, -66, - -31,-124,-114, -31,-123, -78, -31,-122, -67, -31,-124,-114, -31,-123, -78, -31,-122, -68, -31,-124, --114, -31,-123, -78, -31,-122, -69, -31,-124,-114, -31,-123, -78, -31,-122, -70, -31,-124,-114, -31, --123, -78, -31,-122, -71, -31,-124,-114, -31,-123, -78, -31,-122, -72, -31,-124,-114, -31,-123, -78, - -31,-122, -73, -31,-124,-114, -31,-123, -78, -31,-122, -74, -31,-124,-114, -31,-123, -78, -31,-122, - -75, -31,-124,-114, -31,-123, -78, -31,-122, -76, -31,-124,-114, -31,-123, -78, -31,-122, -77, -31, --124,-114, -31,-123, -78, -31,-122, -78, -31,-124,-114, -31,-123, -78, -31,-122, -79, -31,-124,-114, - -31,-123, -78, -31,-122, -80, -31,-124,-114, -31,-123, -78, -31,-122, -81, -31,-124,-114, -31,-123, - -78, -31,-122, -82, -31,-124,-114, -31,-123, -78, -31,-122, -83, -31,-124,-114, -31,-123, -78, -31, --122, -84, -31,-124,-114, -31,-123, -78, -31,-122, -85, -31,-124,-114, -31,-123, -78, -31,-122, -86, - -31,-124,-114, -31,-123, -78, -31,-122, -87, -31,-124,-114, -31,-123, -78, -31,-122, -88, -31,-124, --114, -31,-123, -79, -31,-121,-126, -31,-124,-114, -31,-123, -79, -31,-121,-127, -31,-124,-114, -31, --123, -79, -31,-121,-128, -31,-124,-114, -31,-123, -79, -31,-122, -65, -31,-124,-114, -31,-123, -79, - -31,-122, -66, -31,-124,-114, -31,-123, -79, -31,-122, -67, -31,-124,-114, -31,-123, -79, -31,-122, - -68, -31,-124,-114, -31,-123, -79, -31,-122, -69, -31,-124,-114, -31,-123, -79, -31,-122, -70, -31, --124,-114, -31,-123, -79, -31,-122, -71, -31,-124,-114, -31,-123, -79, -31,-122, -72, -31,-124,-114, - -31,-123, -79, -31,-122, -73, -31,-124,-114, -31,-123, -79, -31,-122, -74, -31,-124,-114, -31,-123, - -79, -31,-122, -75, -31,-124,-114, -31,-123, -79, -31,-122, -76, -31,-124,-114, -31,-123, -79, -31, --122, -77, -31,-124,-114, -31,-123, -79, -31,-122, -78, -31,-124,-114, -31,-123, -79, -31,-122, -79, - -31,-124,-114, -31,-123, -79, -31,-122, -80, -31,-124,-114, -31,-123, -79, -31,-122, -81, -31,-124, --114, -31,-123, -79, -31,-122, -82, -31,-124,-114, -31,-123, -79, -31,-122, -83, -31,-124,-114, -31, --123, -79, -31,-122, -84, -31,-124,-114, -31,-123, -79, -31,-122, -85, -31,-124,-114, -31,-123, -79, - -31,-122, -86, -31,-124,-114, -31,-123, -79, -31,-122, -87, -31,-124,-114, -31,-123, -79, -31,-122, - -88, -31,-124,-114, -31,-123, -80, -31,-121,-126, -31,-124,-114, -31,-123, -80, -31,-121,-127, -31, --124,-114, -31,-123, -80, -31,-121,-128, -31,-124,-114, -31,-123, -80, -31,-122, -65, -31,-124,-114, - -31,-123, -80, -31,-122, -66, -31,-124,-114, -31,-123, -80, -31,-122, -67, -31,-124,-114, -31,-123, - -80, -31,-122, -68, -31,-124,-114, -31,-123, -80, -31,-122, -69, -31,-124,-114, -31,-123, -80, -31, --122, -70, -31,-124,-114, -31,-123, -80, -31,-122, -71, -31,-124,-114, -31,-123, -80, -31,-122, -72, - -31,-124,-114, -31,-123, -80, -31,-122, -73, -31,-124,-114, -31,-123, -80, -31,-122, -74, -31,-124, --114, -31,-123, -80, -31,-122, -75, -31,-124,-114, -31,-123, -80, -31,-122, -76, -31,-124,-114, -31, --123, -80, -31,-122, -77, -31,-124,-114, -31,-123, -80, -31,-122, -78, -31,-124,-114, -31,-123, -80, - -31,-122, -79, -31,-124,-114, -31,-123, -80, -31,-122, -80, -31,-124,-114, -31,-123, -80, -31,-122, - -81, -31,-124,-114, -31,-123, -80, -31,-122, -82, -31,-124,-114, -31,-123, -80, -31,-122, -83, -31, --124,-114, -31,-123, -80, -31,-122, -84, -31,-124,-114, -31,-123, -80, -31,-122, -85, -31,-124,-114, - -31,-123, -80, -31,-122, -86, -31,-124,-114, -31,-123, -80, -31,-122, -87, -31,-124,-114, -31,-123, - -80, -31,-122, -88, -31,-124,-114, -31,-123, -81, -31,-121,-126, -31,-124,-114, -31,-123, -81, -31, --121,-127, -31,-124,-114, -31,-123, -81, -31,-121,-128, -31,-124,-114, -31,-123, -81, -31,-122, -65, - -31,-124,-114, -31,-123, -81, -31,-122, -66, -31,-124,-114, -31,-123, -81, -31,-122, -67, -31,-124, --114, -31,-123, -81, -31,-122, -68, -31,-124,-114, -31,-123, -81, -31,-122, -69, -31,-124,-114, -31, --123, -81, -31,-122, -70, -31,-124,-114, -31,-123, -81, -31,-122, -71, -31,-124,-114, -31,-123, -81, - -31,-122, -72, -31,-124,-114, -31,-123, -81, -31,-122, -73, -31,-124,-114, -31,-123, -81, -31,-122, - -74, -31,-124,-114, -31,-123, -81, -31,-122, -75, -31,-124,-114, -31,-123, -81, -31,-122, -76, -31, --124,-114, -31,-123, -81, -31,-122, -77, -31,-124,-114, -31,-123, -81, -31,-122, -78, -31,-124,-114, - -31,-123, -81, -31,-122, -79, -31,-124,-114, -31,-123, -81, -31,-122, -80, -31,-124,-114, -31,-123, - -81, -31,-122, -81, -31,-124,-114, -31,-123, -81, -31,-122, -82, -31,-124,-114, -31,-123, -81, -31, --122, -83, -31,-124,-114, -31,-123, -81, -31,-122, -84, -31,-124,-114, -31,-123, -81, -31,-122, -85, - -31,-124,-114, -31,-123, -81, -31,-122, -86, -31,-124,-114, -31,-123, -81, -31,-122, -87, -31,-124, --114, -31,-123, -81, -31,-122, -88, -31,-124,-114, -31,-123, -82, -31,-121,-126, -31,-124,-114, -31, --123, -82, -31,-121,-127, -31,-124,-114, -31,-123, -82, -31,-121,-128, -31,-124,-114, -31,-123, -82, - -31,-122, -65, -31,-124,-114, -31,-123, -82, -31,-122, -66, -31,-124,-114, -31,-123, -82, -31,-122, - -67, -31,-124,-114, -31,-123, -82, -31,-122, -68, -31,-124,-114, -31,-123, -82, -31,-122, -69, -31, --124,-114, -31,-123, -82, -31,-122, -70, -31,-124,-114, -31,-123, -82, -31,-122, -71, -31,-124,-114, - -31,-123, -82, -31,-122, -72, -31,-124,-114, -31,-123, -82, -31,-122, -73, -31,-124,-114, -31,-123, - -82, -31,-122, -74, -31,-124,-114, -31,-123, -82, -31,-122, -75, -31,-124,-114, -31,-123, -82, -31, --122, -76, -31,-124,-114, -31,-123, -82, -31,-122, -77, -31,-124,-114, -31,-123, -82, -31,-122, -78, - -31,-124,-114, -31,-123, -82, -31,-122, -79, -31,-124,-114, -31,-123, -82, -31,-122, -80, -31,-124, --114, -31,-123, -82, -31,-122, -81, -31,-124,-114, -31,-123, -82, -31,-122, -82, -31,-124,-114, -31, --123, -82, -31,-122, -83, -31,-124,-114, -31,-123, -82, -31,-122, -84, -31,-124,-114, -31,-123, -82, - -31,-122, -85, -31,-124,-114, -31,-123, -82, -31,-122, -86, -31,-124,-114, -31,-123, -82, -31,-122, - -87, -31,-124,-114, -31,-123, -82, -31,-122, -88, -31,-124,-114, -31,-123, -83, -31,-121,-126, -31, --124,-114, -31,-123, -83, -31,-121,-127, -31,-124,-114, -31,-123, -83, -31,-121,-128, -31,-124,-114, - -31,-123, -83, -31,-122, -65, -31,-124,-114, -31,-123, -83, -31,-122, -66, -31,-124,-114, -31,-123, - -83, -31,-122, -67, -31,-124,-114, -31,-123, -83, -31,-122, -68, -31,-124,-114, -31,-123, -83, -31, --122, -69, -31,-124,-114, -31,-123, -83, -31,-122, -70, -31,-124,-114, -31,-123, -83, -31,-122, -71, - -31,-124,-114, -31,-123, -83, -31,-122, -72, -31,-124,-114, -31,-123, -83, -31,-122, -73, -31,-124, --114, -31,-123, -83, -31,-122, -74, -31,-124,-114, -31,-123, -83, -31,-122, -75, -31,-124,-114, -31, --123, -83, -31,-122, -76, -31,-124,-114, -31,-123, -83, -31,-122, -77, -31,-124,-114, -31,-123, -83, - -31,-122, -78, -31,-124,-114, -31,-123, -83, -31,-122, -79, -31,-124,-114, -31,-123, -83, -31,-122, - -80, -31,-124,-114, -31,-123, -83, -31,-122, -81, -31,-124,-114, -31,-123, -83, -31,-122, -82, -31, --124,-114, -31,-123, -83, -31,-122, -83, -31,-124,-114, -31,-123, -83, -31,-122, -84, -31,-124,-114, - -31,-123, -83, -31,-122, -85, -31,-124,-114, -31,-123, -83, -31,-122, -86, -31,-124,-114, -31,-123, - -83, -31,-122, -87, -31,-124,-114, -31,-123, -83, -31,-122, -88, -31,-124,-114, -31,-123, -84, -31, --121,-126, -31,-124,-114, -31,-123, -84, -31,-121,-127, -31,-124,-114, -31,-123, -84, -31,-121,-128, - -31,-124,-114, -31,-123, -84, -31,-122, -65, -31,-124,-114, -31,-123, -84, -31,-122, -66, -31,-124, --114, -31,-123, -84, -31,-122, -67, -31,-124,-114, -31,-123, -84, -31,-122, -68, -31,-124,-114, -31, --123, -84, -31,-122, -69, -31,-124,-114, -31,-123, -84, -31,-122, -70, -31,-124,-114, -31,-123, -84, - -31,-122, -71, -31,-124,-114, -31,-123, -84, -31,-122, -72, -31,-124,-114, -31,-123, -84, -31,-122, - -73, -31,-124,-114, -31,-123, -84, -31,-122, -74, -31,-124,-114, -31,-123, -84, -31,-122, -75, -31, --124,-114, -31,-123, -84, -31,-122, -76, -31,-124,-114, -31,-123, -84, -31,-122, -77, -31,-124,-114, - -31,-123, -84, -31,-122, -78, -31,-124,-114, -31,-123, -84, -31,-122, -79, -31,-124,-114, -31,-123, - -84, -31,-122, -80, -31,-124,-114, -31,-123, -84, -31,-122, -81, -31,-124,-114, -31,-123, -84, -31, --122, -82, -31,-124,-114, -31,-123, -84, -31,-122, -83, -31,-124,-114, -31,-123, -84, -31,-122, -84, - -31,-124,-114, -31,-123, -84, -31,-122, -85, -31,-124,-114, -31,-123, -84, -31,-122, -86, -31,-124, --114, -31,-123, -84, -31,-122, -87, -31,-124,-114, -31,-123, -84, -31,-122, -88, -31,-124,-114, -31, --123, -85, -31,-121,-126, -31,-124,-114, -31,-123, -85, -31,-121,-127, -31,-124,-114, -31,-123, -85, - -31,-121,-128, -31,-124,-114, -31,-123, -85, -31,-122, -65, -31,-124,-114, -31,-123, -85, -31,-122, - -66, -31,-124,-114, -31,-123, -85, -31,-122, -67, -31,-124,-114, -31,-123, -85, -31,-122, -68, -31, --124,-114, -31,-123, -85, -31,-122, -69, -31,-124,-114, -31,-123, -85, -31,-122, -70, -31,-124,-114, - -31,-123, -85, -31,-122, -71, -31,-124,-114, -31,-123, -85, -31,-122, -72, -31,-124,-114, -31,-123, - -85, -31,-122, -73, -31,-124,-114, -31,-123, -85, -31,-122, -74, -31,-124,-114, -31,-123, -85, -31, --122, -75, -31,-124,-114, -31,-123, -85, -31,-122, -76, -31,-124,-114, -31,-123, -85, -31,-122, -77, - -31,-124,-114, -31,-123, -85, -31,-122, -78, -31,-124,-114, -31,-123, -85, -31,-122, -79, -31,-124, --114, -31,-123, -85, -31,-122, -80, -31,-124,-114, -31,-123, -85, -31,-122, -81, -31,-124,-114, -31, --123, -85, -31,-122, -82, -31,-124,-114, -31,-123, -85, -31,-122, -83, -31,-124,-114, -31,-123, -85, - -31,-122, -84, -31,-124,-114, -31,-123, -85, -31,-122, -85, -31,-124,-114, -31,-123, -85, -31,-122, - -86, -31,-124,-114, -31,-123, -85, -31,-122, -87, -31,-124,-114, -31,-123, -85, -31,-122, -88, -31, --124,-114, -31,-123, -86, -31,-121,-126, -31,-124,-114, -31,-123, -86, -31,-121,-127, -31,-124,-114, - -31,-123, -86, -31,-121,-128, -31,-124,-114, -31,-123, -86, -31,-122, -65, -31,-124,-114, -31,-123, - -86, -31,-122, -66, -31,-124,-114, -31,-123, -86, -31,-122, -67, -31,-124,-114, -31,-123, -86, -31, --122, -68, -31,-124,-114, -31,-123, -86, -31,-122, -69, -31,-124,-114, -31,-123, -86, -31,-122, -70, - -31,-124,-114, -31,-123, -86, -31,-122, -71, -31,-124,-114, -31,-123, -86, -31,-122, -72, -31,-124, --114, -31,-123, -86, -31,-122, -73, -31,-124,-114, -31,-123, -86, -31,-122, -74, -31,-124,-114, -31, --123, -86, -31,-122, -75, -31,-124,-114, -31,-123, -86, -31,-122, -76, -31,-124,-114, -31,-123, -86, - -31,-122, -77, -31,-124,-114, -31,-123, -86, -31,-122, -78, -31,-124,-114, -31,-123, -86, -31,-122, - -79, -31,-124,-114, -31,-123, -86, -31,-122, -80, -31,-124,-114, -31,-123, -86, -31,-122, -81, -31, --124,-114, -31,-123, -86, -31,-122, -82, -31,-124,-114, -31,-123, -86, -31,-122, -83, -31,-124,-114, - -31,-123, -86, -31,-122, -84, -31,-124,-114, -31,-123, -86, -31,-122, -85, -31,-124,-114, -31,-123, - -86, -31,-122, -86, -31,-124,-114, -31,-123, -86, -31,-122, -87, -31,-124,-114, -31,-123, -86, -31, --122, -88, -31,-124,-114, -31,-123, -87, -31,-121,-126, -31,-124,-114, -31,-123, -87, -31,-121,-127, - -31,-124,-114, -31,-123, -87, -31,-121,-128, -31,-124,-114, -31,-123, -87, -31,-122, -65, -31,-124, --114, -31,-123, -87, -31,-122, -66, -31,-124,-114, -31,-123, -87, -31,-122, -67, -31,-124,-114, -31, --123, -87, -31,-122, -68, -31,-124,-114, -31,-123, -87, -31,-122, -69, -31,-124,-114, -31,-123, -87, - -31,-122, -70, -31,-124,-114, -31,-123, -87, -31,-122, -71, -31,-124,-114, -31,-123, -87, -31,-122, - -72, -31,-124,-114, -31,-123, -87, -31,-122, -73, -31,-124,-114, -31,-123, -87, -31,-122, -74, -31, --124,-114, -31,-123, -87, -31,-122, -75, -31,-124,-114, -31,-123, -87, -31,-122, -76, -31,-124,-114, - -31,-123, -87, -31,-122, -77, -31,-124,-114, -31,-123, -87, -31,-122, -78, -31,-124,-114, -31,-123, - -87, -31,-122, -79, -31,-124,-114, -31,-123, -87, -31,-122, -80, -31,-124,-114, -31,-123, -87, -31, --122, -81, -31,-124,-114, -31,-123, -87, -31,-122, -82, -31,-124,-114, -31,-123, -87, -31,-122, -83, - -31,-124,-114, -31,-123, -87, -31,-122, -84, -31,-124,-114, -31,-123, -87, -31,-122, -85, -31,-124, --114, -31,-123, -87, -31,-122, -86, -31,-124,-114, -31,-123, -87, -31,-122, -87, -31,-124,-114, -31, --123, -87, -31,-122, -88, -31,-124,-114, -31,-123, -88, -31,-121,-126, -31,-124,-114, -31,-123, -88, - -31,-121,-127, -31,-124,-114, -31,-123, -88, -31,-121,-128, -31,-124,-114, -31,-123, -88, -31,-122, - -65, -31,-124,-114, -31,-123, -88, -31,-122, -66, -31,-124,-114, -31,-123, -88, -31,-122, -67, -31, --124,-114, -31,-123, -88, -31,-122, -68, -31,-124,-114, -31,-123, -88, -31,-122, -69, -31,-124,-114, - -31,-123, -88, -31,-122, -70, -31,-124,-114, -31,-123, -88, -31,-122, -71, -31,-124,-114, -31,-123, - -88, -31,-122, -72, -31,-124,-114, -31,-123, -88, -31,-122, -73, -31,-124,-114, -31,-123, -88, -31, --122, -74, -31,-124,-114, -31,-123, -88, -31,-122, -75, -31,-124,-114, -31,-123, -88, -31,-122, -76, - -31,-124,-114, -31,-123, -88, -31,-122, -77, -31,-124,-114, -31,-123, -88, -31,-122, -78, -31,-124, --114, -31,-123, -88, -31,-122, -79, -31,-124,-114, -31,-123, -88, -31,-122, -80, -31,-124,-114, -31, --123, -88, -31,-122, -81, -31,-124,-114, -31,-123, -88, -31,-122, -82, -31,-124,-114, -31,-123, -88, - -31,-122, -83, -31,-124,-114, -31,-123, -88, -31,-122, -84, -31,-124,-114, -31,-123, -88, -31,-122, - -85, -31,-124,-114, -31,-123, -88, -31,-122, -86, -31,-124,-114, -31,-123, -88, -31,-122, -87, -31, --124,-114, -31,-123, -88, -31,-122, -88, -31,-124,-114, -31,-123, -89, -31,-121,-126, -31,-124,-114, - -31,-123, -89, -31,-121,-127, -31,-124,-114, -31,-123, -89, -31,-121,-128, -31,-124,-114, -31,-123, - -89, -31,-122, -65, -31,-124,-114, -31,-123, -89, -31,-122, -66, -31,-124,-114, -31,-123, -89, -31, --122, -67, -31,-124,-114, -31,-123, -89, -31,-122, -68, -31,-124,-114, -31,-123, -89, -31,-122, -69, - -31,-124,-114, -31,-123, -89, -31,-122, -70, -31,-124,-114, -31,-123, -89, -31,-122, -71, -31,-124, --114, -31,-123, -89, -31,-122, -72, -31,-124,-114, -31,-123, -89, -31,-122, -73, -31,-124,-114, -31, --123, -89, -31,-122, -74, -31,-124,-114, -31,-123, -89, -31,-122, -75, -31,-124,-114, -31,-123, -89, - -31,-122, -76, -31,-124,-114, -31,-123, -89, -31,-122, -77, -31,-124,-114, -31,-123, -89, -31,-122, - -78, -31,-124,-114, -31,-123, -89, -31,-122, -79, -31,-124,-114, -31,-123, -89, -31,-122, -80, -31, --124,-114, -31,-123, -89, -31,-122, -81, -31,-124,-114, -31,-123, -89, -31,-122, -82, -31,-124,-114, - -31,-123, -89, -31,-122, -83, -31,-124,-114, -31,-123, -89, -31,-122, -84, -31,-124,-114, -31,-123, - -89, -31,-122, -85, -31,-124,-114, -31,-123, -89, -31,-122, -86, -31,-124,-114, -31,-123, -89, -31, --122, -87, -31,-124,-114, -31,-123, -89, -31,-122, -88, -31,-124,-114, -31,-123, -90, -31,-121,-126, - -31,-124,-114, -31,-123, -90, -31,-121,-127, -31,-124,-114, -31,-123, -90, -31,-121,-128, -31,-124, --114, -31,-123, -90, -31,-122, -65, -31,-124,-114, -31,-123, -90, -31,-122, -66, -31,-124,-114, -31, --123, -90, -31,-122, -67, -31,-124,-114, -31,-123, -90, -31,-122, -68, -31,-124,-114, -31,-123, -90, - -31,-122, -69, -31,-124,-114, -31,-123, -90, -31,-122, -70, -31,-124,-114, -31,-123, -90, -31,-122, - -71, -31,-124,-114, -31,-123, -90, -31,-122, -72, -31,-124,-114, -31,-123, -90, -31,-122, -73, -31, --124,-114, -31,-123, -90, -31,-122, -74, -31,-124,-114, -31,-123, -90, -31,-122, -75, -31,-124,-114, - -31,-123, -90, -31,-122, -76, -31,-124,-114, -31,-123, -90, -31,-122, -77, -31,-124,-114, -31,-123, - -90, -31,-122, -78, -31,-124,-114, -31,-123, -90, -31,-122, -79, -31,-124,-114, -31,-123, -90, -31, --122, -80, -31,-124,-114, -31,-123, -90, -31,-122, -81, -31,-124,-114, -31,-123, -90, -31,-122, -82, - -31,-124,-114, -31,-123, -90, -31,-122, -83, -31,-124,-114, -31,-123, -90, -31,-122, -84, -31,-124, --114, -31,-123, -90, -31,-122, -85, -31,-124,-114, -31,-123, -90, -31,-122, -86, -31,-124,-114, -31, --123, -90, -31,-122, -87, -31,-124,-114, -31,-123, -90, -31,-122, -88, -31,-124,-114, -31,-123, -91, - -31,-121,-126, -31,-124,-114, -31,-123, -91, -31,-121,-127, -31,-124,-114, -31,-123, -91, -31,-121, --128, -31,-124,-114, -31,-123, -91, -31,-122, -65, -31,-124,-114, -31,-123, -91, -31,-122, -66, -31, --124,-114, -31,-123, -91, -31,-122, -67, -31,-124,-114, -31,-123, -91, -31,-122, -68, -31,-124,-114, - -31,-123, -91, -31,-122, -69, -31,-124,-114, -31,-123, -91, -31,-122, -70, -31,-124,-114, -31,-123, - -91, -31,-122, -71, -31,-124,-114, -31,-123, -91, -31,-122, -72, -31,-124,-114, -31,-123, -91, -31, --122, -73, -31,-124,-114, -31,-123, -91, -31,-122, -74, -31,-124,-114, -31,-123, -91, -31,-122, -75, - -31,-124,-114, -31,-123, -91, -31,-122, -76, -31,-124,-114, -31,-123, -91, -31,-122, -77, -31,-124, --114, -31,-123, -91, -31,-122, -78, -31,-124,-114, -31,-123, -91, -31,-122, -79, -31,-124,-114, -31, --123, -91, -31,-122, -80, -31,-124,-114, -31,-123, -91, -31,-122, -81, -31,-124,-114, -31,-123, -91, - -31,-122, -82, -31,-124,-114, -31,-123, -91, -31,-122, -83, -31,-124,-114, -31,-123, -91, -31,-122, - -84, -31,-124,-114, -31,-123, -91, -31,-122, -85, -31,-124,-114, -31,-123, -91, -31,-122, -86, -31, --124,-114, -31,-123, -91, -31,-122, -87, -31,-124,-114, -31,-123, -91, -31,-122, -88, -31,-124,-114, - -31,-123, -92, -31,-121,-126, -31,-124,-114, -31,-123, -92, -31,-121,-127, -31,-124,-114, -31,-123, - -92, -31,-121,-128, -31,-124,-114, -31,-123, -92, -31,-122, -65, -31,-124,-114, -31,-123, -92, -31, --122, -66, -31,-124,-114, -31,-123, -92, -31,-122, -67, -31,-124,-114, -31,-123, -92, -31,-122, -68, - -31,-124,-114, -31,-123, -92, -31,-122, -69, -31,-124,-114, -31,-123, -92, -31,-122, -70, -31,-124, --114, -31,-123, -92, -31,-122, -71, -31,-124,-114, -31,-123, -92, -31,-122, -72, -31,-124,-114, -31, --123, -92, -31,-122, -73, -31,-124,-114, -31,-123, -92, -31,-122, -74, -31,-124,-114, -31,-123, -92, - -31,-122, -75, -31,-124,-114, -31,-123, -92, -31,-122, -76, -31,-124,-114, -31,-123, -92, -31,-122, - -77, -31,-124,-114, -31,-123, -92, -31,-122, -78, -31,-124,-114, -31,-123, -92, -31,-122, -79, -31, --124,-114, -31,-123, -92, -31,-122, -80, -31,-124,-114, -31,-123, -92, -31,-122, -81, -31,-124,-114, - -31,-123, -92, -31,-122, -82, -31,-124,-114, -31,-123, -92, -31,-122, -83, -31,-124,-114, -31,-123, - -92, -31,-122, -84, -31,-124,-114, -31,-123, -92, -31,-122, -85, -31,-124,-114, -31,-123, -92, -31, --122, -86, -31,-124,-114, -31,-123, -92, -31,-122, -87, -31,-124,-114, -31,-123, -92, -31,-122, -88, - -31,-124,-114, -31,-123, -93, -31,-121,-126, -31,-124,-114, -31,-123, -93, -31,-121,-127, -31,-124, --114, -31,-123, -93, -31,-121,-128, -31,-124,-114, -31,-123, -93, -31,-122, -65, -31,-124,-114, -31, --123, -93, -31,-122, -66, -31,-124,-114, -31,-123, -93, -31,-122, -67, -31,-124,-114, -31,-123, -93, - -31,-122, -68, -31,-124,-114, -31,-123, -93, -31,-122, -69, -31,-124,-114, -31,-123, -93, -31,-122, - -70, -31,-124,-114, -31,-123, -93, -31,-122, -71, -31,-124,-114, -31,-123, -93, -31,-122, -72, -31, --124,-114, -31,-123, -93, -31,-122, -73, -31,-124,-114, -31,-123, -93, -31,-122, -74, -31,-124,-114, - -31,-123, -93, -31,-122, -75, -31,-124,-114, -31,-123, -93, -31,-122, -76, -31,-124,-114, -31,-123, - -93, -31,-122, -77, -31,-124,-114, -31,-123, -93, -31,-122, -78, -31,-124,-114, -31,-123, -93, -31, --122, -79, -31,-124,-114, -31,-123, -93, -31,-122, -80, -31,-124,-114, -31,-123, -93, -31,-122, -81, - -31,-124,-114, -31,-123, -93, -31,-122, -82, -31,-124,-114, -31,-123, -93, -31,-122, -83, -31,-124, --114, -31,-123, -93, -31,-122, -84, -31,-124,-114, -31,-123, -93, -31,-122, -85, -31,-124,-114, -31, --123, -93, -31,-122, -86, -31,-124,-114, -31,-123, -93, -31,-122, -87, -31,-124,-114, -31,-123, -93, - -31,-122, -88, -31,-124,-114, -31,-123, -94, -31,-121,-126, -31,-124,-114, -31,-123, -94, -31,-121, --127, -31,-124,-114, -31,-123, -94, -31,-121,-128, -31,-124,-114, -31,-123, -94, -31,-122, -65, -31, --124,-114, -31,-123, -94, -31,-122, -66, -31,-124,-114, -31,-123, -94, -31,-122, -67, -31,-124,-114, - -31,-123, -94, -31,-122, -68, -31,-124,-114, -31,-123, -94, -31,-122, -69, -31,-124,-114, -31,-123, - -94, -31,-122, -70, -31,-124,-114, -31,-123, -94, -31,-122, -71, -31,-124,-114, -31,-123, -94, -31, --122, -72, -31,-124,-114, -31,-123, -94, -31,-122, -73, -31,-124,-114, -31,-123, -94, -31,-122, -74, - -31,-124,-114, -31,-123, -94, -31,-122, -75, -31,-124,-114, -31,-123, -94, -31,-122, -76, -31,-124, --114, -31,-123, -94, -31,-122, -77, -31,-124,-114, -31,-123, -94, -31,-122, -78, -31,-124,-114, -31, --123, -94, -31,-122, -79, -31,-124,-114, -31,-123, -94, -31,-122, -80, -31,-124,-114, -31,-123, -94, - -31,-122, -81, -31,-124,-114, -31,-123, -94, -31,-122, -82, -31,-124,-114, -31,-123, -94, -31,-122, - -83, -31,-124,-114, -31,-123, -94, -31,-122, -84, -31,-124,-114, -31,-123, -94, -31,-122, -85, -31, --124,-114, -31,-123, -94, -31,-122, -86, -31,-124,-114, -31,-123, -94, -31,-122, -87, -31,-124,-114, - -31,-123, -94, -31,-122, -88, -31,-124,-114, -31,-123, -95, -31,-121,-126, -31,-124,-114, -31,-123, - -95, -31,-121,-127, -31,-124,-114, -31,-123, -95, -31,-121,-128, -31,-124,-114, -31,-123, -95, -31, --122, -65, -31,-124,-114, -31,-123, -95, -31,-122, -66, -31,-124,-114, -31,-123, -95, -31,-122, -67, - -31,-124,-114, -31,-123, -95, -31,-122, -68, -31,-124,-114, -31,-123, -95, -31,-122, -69, -31,-124, --114, -31,-123, -95, -31,-122, -70, -31,-124,-114, -31,-123, -95, -31,-122, -71, -31,-124,-114, -31, --123, -95, -31,-122, -72, -31,-124,-114, -31,-123, -95, -31,-122, -74, -31,-124,-114, -31,-123, -95, - -31,-122, -75, -31,-124,-114, -31,-123, -95, -31,-122, -76, -31,-124,-114, -31,-123, -95, -31,-122, - -77, -31,-124,-114, -31,-123, -95, -31,-122, -78, -31,-124,-114, -31,-123, -95, -31,-122, -79, -31, --124,-114, -31,-123, -95, -31,-122, -80, -31,-124,-114, -31,-123, -95, -31,-122, -81, -31,-124,-114, - -31,-123, -95, -31,-122, -82, -31,-124,-114, -31,-123, -95, -31,-122, -83, -31,-124,-114, -31,-123, - -95, -31,-122, -84, -31,-124,-114, -31,-123, -95, -31,-122, -85, -31,-124,-114, -31,-123, -95, -31, --122, -86, -31,-124,-114, -31,-123, -95, -31,-122, -87, -31,-124,-114, -31,-123, -95, -31,-122, -88, - -31,-124,-115, -31,-123, -75, -31,-121,-126, -31,-124,-115, -31,-123, -75, -31,-121,-127, -31,-124, --115, -31,-123, -75, -31,-121,-128, -31,-124,-115, -31,-123, -75, -31,-122, -65, -31,-124,-115, -31, --123, -75, -31,-122, -66, -31,-124,-115, -31,-123, -75, -31,-122, -67, -31,-124,-115, -31,-123, -75, - -31,-122, -68, -31,-124,-115, -31,-123, -75, -31,-122, -69, -31,-124,-115, -31,-123, -75, -31,-122, - -70, -31,-124,-115, -31,-123, -75, -31,-122, -71, -31,-124,-115, -31,-123, -75, -31,-122, -72, -31, --124,-115, -31,-123, -75, -31,-122, -73, -31,-124,-115, -31,-123, -75, -31,-122, -74, -31,-124,-115, - -31,-123, -75, -31,-122, -75, -31,-124,-115, -31,-123, -75, -31,-122, -76, -31,-124,-115, -31,-123, - -75, -31,-122, -77, -31,-124,-115, -31,-123, -75, -31,-122, -78, -31,-124,-115, -31,-123, -75, -31, --122, -79, -31,-124,-115, -31,-123, -75, -31,-122, -80, -31,-124,-115, -31,-123, -75, -31,-122, -81, - -31,-124,-115, -31,-123, -75, -31,-122, -82, -31,-124,-115, -31,-123, -75, -31,-122, -83, -31,-124, --115, -31,-123, -75, -31,-122, -84, -31,-124,-115, -31,-123, -75, -31,-122, -85, -31,-124,-115, -31, --123, -75, -31,-122, -86, -31,-124,-115, -31,-123, -75, -31,-122, -87, -31,-124,-115, -31,-123, -75, - -31,-122, -88, -31,-124,-115, -31,-123, -76, -31,-121,-126, -31,-124,-115, -31,-123, -76, -31,-121, --127, -31,-124,-115, -31,-123, -76, -31,-121,-128, -31,-124,-115, -31,-123, -76, -31,-122, -65, -31, --124,-115, -31,-123, -76, -31,-122, -66, -31,-124,-115, -31,-123, -76, -31,-122, -67, -31,-124,-115, - -31,-123, -76, -31,-122, -68, -31,-124,-115, -31,-123, -76, -31,-122, -69, -31,-124,-115, -31,-123, - -76, -31,-122, -70, -31,-124,-115, -31,-123, -76, -31,-122, -71, -31,-124,-115, -31,-123, -76, -31, --122, -72, -31,-124,-115, -31,-123, -76, -31,-122, -73, -31,-124,-115, -31,-123, -76, -31,-122, -74, - -31,-124,-115, -31,-123, -76, -31,-122, -75, -31,-124,-115, -31,-123, -76, -31,-122, -76, -31,-124, --115, -31,-123, -76, -31,-122, -77, -31,-124,-115, -31,-123, -76, -31,-122, -78, -31,-124,-115, -31, --123, -76, -31,-122, -79, -31,-124,-115, -31,-123, -76, -31,-122, -80, -31,-124,-115, -31,-123, -76, - -31,-122, -81, -31,-124,-115, -31,-123, -76, -31,-122, -82, -31,-124,-115, -31,-123, -76, -31,-122, - -83, -31,-124,-115, -31,-123, -76, -31,-122, -84, -31,-124,-115, -31,-123, -76, -31,-122, -85, -31, --124,-115, -31,-123, -76, -31,-122, -86, -31,-124,-115, -31,-123, -76, -31,-122, -87, -31,-124,-115, - -31,-123, -76, -31,-122, -88, -31,-124,-115, -31,-123, -77, -31,-121,-126, -31,-124,-115, -31,-123, - -77, -31,-121,-127, -31,-124,-115, -31,-123, -77, -31,-121,-128, -31,-124,-115, -31,-123, -77, -31, --122, -65, -31,-124,-115, -31,-123, -77, -31,-122, -66, -31,-124,-115, -31,-123, -77, -31,-122, -67, - -31,-124,-115, -31,-123, -77, -31,-122, -68, -31,-124,-115, -31,-123, -77, -31,-122, -69, -31,-124, --115, -31,-123, -77, -31,-122, -70, -31,-124,-115, -31,-123, -77, -31,-122, -71, -31,-124,-115, -31, --123, -77, -31,-122, -72, -31,-124,-115, -31,-123, -77, -31,-122, -73, -31,-124,-115, -31,-123, -77, - -31,-122, -74, -31,-124,-115, -31,-123, -77, -31,-122, -75, -31,-124,-115, -31,-123, -77, -31,-122, - -76, -31,-124,-115, -31,-123, -77, -31,-122, -77, -31,-124,-115, -31,-123, -77, -31,-122, -78, -31, --124,-115, -31,-123, -77, -31,-122, -79, -31,-124,-115, -31,-123, -77, -31,-122, -80, -31,-124,-115, - -31,-123, -77, -31,-122, -81, -31,-124,-115, -31,-123, -77, -31,-122, -82, -31,-124,-115, -31,-123, - -77, -31,-122, -83, -31,-124,-115, -31,-123, -77, -31,-122, -84, -31,-124,-115, -31,-123, -77, -31, --122, -85, -31,-124,-115, -31,-123, -77, -31,-122, -86, -31,-124,-115, -31,-123, -77, -31,-122, -87, - -31,-124,-115, -31,-123, -77, -31,-122, -88, -31,-124,-115, -31,-123, -78, -31,-121,-126, -31,-124, --115, -31,-123, -78, -31,-121,-127, -31,-124,-115, -31,-123, -78, -31,-121,-128, -31,-124,-115, -31, --123, -78, -31,-122, -65, -31,-124,-115, -31,-123, -78, -31,-122, -66, -31,-124,-115, -31,-123, -78, - -31,-122, -67, -31,-124,-115, -31,-123, -78, -31,-122, -68, -31,-124,-115, -31,-123, -78, -31,-122, - -69, -31,-124,-115, -31,-123, -78, -31,-122, -70, -31,-124,-115, -31,-123, -78, -31,-122, -71, -31, --124,-115, -31,-123, -78, -31,-122, -72, -31,-124,-115, -31,-123, -78, -31,-122, -73, -31,-124,-115, - -31,-123, -78, -31,-122, -74, -31,-124,-115, -31,-123, -78, -31,-122, -75, -31,-124,-115, -31,-123, - -78, -31,-122, -76, -31,-124,-115, -31,-123, -78, -31,-122, -77, -31,-124,-115, -31,-123, -78, -31, --122, -78, -31,-124,-115, -31,-123, -78, -31,-122, -79, -31,-124,-115, -31,-123, -78, -31,-122, -80, - -31,-124,-115, -31,-123, -78, -31,-122, -81, -31,-124,-115, -31,-123, -78, -31,-122, -82, -31,-124, --115, -31,-123, -78, -31,-122, -83, -31,-124,-115, -31,-123, -78, -31,-122, -84, -31,-124,-115, -31, --123, -78, -31,-122, -85, -31,-124,-115, -31,-123, -78, -31,-122, -86, -31,-124,-115, -31,-123, -78, - -31,-122, -87, -31,-124,-115, -31,-123, -78, -31,-122, -88, -31,-124,-115, -31,-123, -79, -31,-121, --126, -31,-124,-115, -31,-123, -79, -31,-121,-127, -31,-124,-115, -31,-123, -79, -31,-121,-128, -31, --124,-115, -31,-123, -79, -31,-122, -65, -31,-124,-115, -31,-123, -79, -31,-122, -66, -31,-124,-115, - -31,-123, -79, -31,-122, -67, -31,-124,-115, -31,-123, -79, -31,-122, -68, -31,-124,-115, -31,-123, - -79, -31,-122, -69, -31,-124,-115, -31,-123, -79, -31,-122, -70, -31,-124,-115, -31,-123, -79, -31, --122, -71, -31,-124,-115, -31,-123, -79, -31,-122, -72, -31,-124,-115, -31,-123, -79, -31,-122, -73, - -31,-124,-115, -31,-123, -79, -31,-122, -74, -31,-124,-115, -31,-123, -79, -31,-122, -75, -31,-124, --115, -31,-123, -79, -31,-122, -76, -31,-124,-115, -31,-123, -79, -31,-122, -77, -31,-124,-115, -31, --123, -79, -31,-122, -78, -31,-124,-115, -31,-123, -79, -31,-122, -79, -31,-124,-115, -31,-123, -79, - -31,-122, -80, -31,-124,-115, -31,-123, -79, -31,-122, -81, -31,-124,-115, -31,-123, -79, -31,-122, - -82, -31,-124,-115, -31,-123, -79, -31,-122, -83, -31,-124,-115, -31,-123, -79, -31,-122, -84, -31, --124,-115, -31,-123, -79, -31,-122, -85, -31,-124,-115, -31,-123, -79, -31,-122, -86, -31,-124,-115, - -31,-123, -79, -31,-122, -87, -31,-124,-115, -31,-123, -79, -31,-122, -88, -31,-124,-115, -31,-123, - -80, -31,-121,-126, -31,-124,-115, -31,-123, -80, -31,-121,-127, -31,-124,-115, -31,-123, -80, -31, --121,-128, -31,-124,-115, -31,-123, -80, -31,-122, -65, -31,-124,-115, -31,-123, -80, -31,-122, -66, - -31,-124,-115, -31,-123, -80, -31,-122, -67, -31,-124,-115, -31,-123, -80, -31,-122, -68, -31,-124, --115, -31,-123, -80, -31,-122, -69, -31,-124,-115, -31,-123, -80, -31,-122, -70, -31,-124,-115, -31, --123, -80, -31,-122, -71, -31,-124,-115, -31,-123, -80, -31,-122, -72, -31,-124,-115, -31,-123, -80, - -31,-122, -73, -31,-124,-115, -31,-123, -80, -31,-122, -74, -31,-124,-115, -31,-123, -80, -31,-122, - -75, -31,-124,-115, -31,-123, -80, -31,-122, -76, -31,-124,-115, -31,-123, -80, -31,-122, -77, -31, --124,-115, -31,-123, -80, -31,-122, -78, -31,-124,-115, -31,-123, -80, -31,-122, -79, -31,-124,-115, - -31,-123, -80, -31,-122, -80, -31,-124,-115, -31,-123, -80, -31,-122, -81, -31,-124,-115, -31,-123, - -80, -31,-122, -82, -31,-124,-115, -31,-123, -80, -31,-122, -83, -31,-124,-115, -31,-123, -80, -31, --122, -84, -31,-124,-115, -31,-123, -80, -31,-122, -85, -31,-124,-115, -31,-123, -80, -31,-122, -86, - -31,-124,-115, -31,-123, -80, -31,-122, -87, -31,-124,-115, -31,-123, -80, -31,-122, -88, -31,-124, --115, -31,-123, -81, -31,-121,-126, -31,-124,-115, -31,-123, -81, -31,-121,-127, -31,-124,-115, -31, --123, -81, -31,-121,-128, -31,-124,-115, -31,-123, -81, -31,-122, -65, -31,-124,-115, -31,-123, -81, - -31,-122, -66, -31,-124,-115, -31,-123, -81, -31,-122, -67, -31,-124,-115, -31,-123, -81, -31,-122, - -68, -31,-124,-115, -31,-123, -81, -31,-122, -69, -31,-124,-115, -31,-123, -81, -31,-122, -70, -31, --124,-115, -31,-123, -81, -31,-122, -71, -31,-124,-115, -31,-123, -81, -31,-122, -72, -31,-124,-115, - -31,-123, -81, -31,-122, -73, -31,-124,-115, -31,-123, -81, -31,-122, -74, -31,-124,-115, -31,-123, - -81, -31,-122, -75, -31,-124,-115, -31,-123, -81, -31,-122, -76, -31,-124,-115, -31,-123, -81, -31, --122, -77, -31,-124,-115, -31,-123, -81, -31,-122, -78, -31,-124,-115, -31,-123, -81, -31,-122, -79, - -31,-124,-115, -31,-123, -81, -31,-122, -80, -31,-124,-115, -31,-123, -81, -31,-122, -81, -31,-124, --115, -31,-123, -81, -31,-122, -82, -31,-124,-115, -31,-123, -81, -31,-122, -83, -31,-124,-115, -31, --123, -81, -31,-122, -84, -31,-124,-115, -31,-123, -81, -31,-122, -85, -31,-124,-115, -31,-123, -81, - -31,-122, -86, -31,-124,-115, -31,-123, -81, -31,-122, -87, -31,-124,-115, -31,-123, -81, -31,-122, - -88, -31,-124,-115, -31,-123, -82, -31,-121,-126, -31,-124,-115, -31,-123, -82, -31,-121,-127, -31, --124,-115, -31,-123, -82, -31,-121,-128, -31,-124,-115, -31,-123, -82, -31,-122, -65, -31,-124,-115, - -31,-123, -82, -31,-122, -66, -31,-124,-115, -31,-123, -82, -31,-122, -67, -31,-124,-115, -31,-123, - -82, -31,-122, -68, -31,-124,-115, -31,-123, -82, -31,-122, -69, -31,-124,-115, -31,-123, -82, -31, --122, -70, -31,-124,-115, -31,-123, -82, -31,-122, -71, -31,-124,-115, -31,-123, -82, -31,-122, -72, - -31,-124,-115, -31,-123, -82, -31,-122, -73, -31,-124,-115, -31,-123, -82, -31,-122, -74, -31,-124, --115, -31,-123, -82, -31,-122, -75, -31,-124,-115, -31,-123, -82, -31,-122, -76, -31,-124,-115, -31, --123, -82, -31,-122, -77, -31,-124,-115, -31,-123, -82, -31,-122, -78, -31,-124,-115, -31,-123, -82, - -31,-122, -79, -31,-124,-115, -31,-123, -82, -31,-122, -80, -31,-124,-115, -31,-123, -82, -31,-122, - -81, -31,-124,-115, -31,-123, -82, -31,-122, -82, -31,-124,-115, -31,-123, -82, -31,-122, -83, -31, --124,-115, -31,-123, -82, -31,-122, -84, -31,-124,-115, -31,-123, -82, -31,-122, -85, -31,-124,-115, - -31,-123, -82, -31,-122, -86, -31,-124,-115, -31,-123, -82, -31,-122, -87, -31,-124,-115, -31,-123, - -82, -31,-122, -88, -31,-124,-115, -31,-123, -83, -31,-121,-126, -31,-124,-115, -31,-123, -83, -31, --121,-127, -31,-124,-115, -31,-123, -83, -31,-121,-128, -31,-124,-115, -31,-123, -83, -31,-122, -65, - -31,-124,-115, -31,-123, -83, -31,-122, -66, -31,-124,-115, -31,-123, -83, -31,-122, -67, -31,-124, --115, -31,-123, -83, -31,-122, -68, -31,-124,-115, -31,-123, -83, -31,-122, -69, -31,-124,-115, -31, --123, -83, -31,-122, -70, -31,-124,-115, -31,-123, -83, -31,-122, -71, -31,-124,-115, -31,-123, -83, - -31,-122, -72, -31,-124,-115, -31,-123, -83, -31,-122, -73, -31,-124,-115, -31,-123, -83, -31,-122, - -74, -31,-124,-115, -31,-123, -83, -31,-122, -75, -31,-124,-115, -31,-123, -83, -31,-122, -76, -31, --124,-115, -31,-123, -83, -31,-122, -77, -31,-124,-115, -31,-123, -83, -31,-122, -78, -31,-124,-115, - -31,-123, -83, -31,-122, -79, -31,-124,-115, -31,-123, -83, -31,-122, -80, -31,-124,-115, -31,-123, - -83, -31,-122, -81, -31,-124,-115, -31,-123, -83, -31,-122, -82, -31,-124,-115, -31,-123, -83, -31, --122, -83, -31,-124,-115, -31,-123, -83, -31,-122, -84, -31,-124,-115, -31,-123, -83, -31,-122, -85, - -31,-124,-115, -31,-123, -83, -31,-122, -86, -31,-124,-115, -31,-123, -83, -31,-122, -87, -31,-124, --115, -31,-123, -83, -31,-122, -88, -31,-124,-115, -31,-123, -84, -31,-121,-126, -31,-124,-115, -31, --123, -84, -31,-121,-127, -31,-124,-115, -31,-123, -84, -31,-121,-128, -31,-124,-115, -31,-123, -84, - -31,-122, -65, -31,-124,-115, -31,-123, -84, -31,-122, -66, -31,-124,-115, -31,-123, -84, -31,-122, - -67, -31,-124,-115, -31,-123, -84, -31,-122, -68, -31,-124,-115, -31,-123, -84, -31,-122, -69, -31, --124,-115, -31,-123, -84, -31,-122, -70, -31,-124,-115, -31,-123, -84, -31,-122, -71, -31,-124,-115, - -31,-123, -84, -31,-122, -72, -31,-124,-115, -31,-123, -84, -31,-122, -73, -31,-124,-115, -31,-123, - -84, -31,-122, -74, -31,-124,-115, -31,-123, -84, -31,-122, -75, -31,-124,-115, -31,-123, -84, -31, --122, -76, -31,-124,-115, -31,-123, -84, -31,-122, -77, -31,-124,-115, -31,-123, -84, -31,-122, -78, - -31,-124,-115, -31,-123, -84, -31,-122, -79, -31,-124,-115, -31,-123, -84, -31,-122, -80, -31,-124, --115, -31,-123, -84, -31,-122, -81, -31,-124,-115, -31,-123, -84, -31,-122, -82, -31,-124,-115, -31, --123, -84, -31,-122, -83, -31,-124,-115, -31,-123, -84, -31,-122, -84, -31,-124,-115, -31,-123, -84, - -31,-122, -85, -31,-124,-115, -31,-123, -84, -31,-122, -86, -31,-124,-115, -31,-123, -84, -31,-122, - -87, -31,-124,-115, -31,-123, -84, -31,-122, -88, -31,-124,-115, -31,-123, -85, -31,-121,-126, -31, --124,-115, -31,-123, -85, -31,-121,-127, -31,-124,-115, -31,-123, -85, -31,-121,-128, -31,-124,-115, - -31,-123, -85, -31,-122, -65, -31,-124,-115, -31,-123, -85, -31,-122, -66, -31,-124,-115, -31,-123, - -85, -31,-122, -67, -31,-124,-115, -31,-123, -85, -31,-122, -68, -31,-124,-115, -31,-123, -85, -31, --122, -69, -31,-124,-115, -31,-123, -85, -31,-122, -70, -31,-124,-115, -31,-123, -85, -31,-122, -71, - -31,-124,-115, -31,-123, -85, -31,-122, -72, -31,-124,-115, -31,-123, -85, -31,-122, -73, -31,-124, --115, -31,-123, -85, -31,-122, -74, -31,-124,-115, -31,-123, -85, -31,-122, -75, -31,-124,-115, -31, --123, -85, -31,-122, -76, -31,-124,-115, -31,-123, -85, -31,-122, -77, -31,-124,-115, -31,-123, -85, - -31,-122, -78, -31,-124,-115, -31,-123, -85, -31,-122, -79, -31,-124,-115, -31,-123, -85, -31,-122, - -80, -31,-124,-115, -31,-123, -85, -31,-122, -81, -31,-124,-115, -31,-123, -85, -31,-122, -82, -31, --124,-115, -31,-123, -85, -31,-122, -83, -31,-124,-115, -31,-123, -85, -31,-122, -84, -31,-124,-115, - -31,-123, -85, -31,-122, -85, -31,-124,-115, -31,-123, -85, -31,-122, -86, -31,-124,-115, -31,-123, - -85, -31,-122, -87, -31,-124,-115, -31,-123, -85, -31,-122, -88, -31,-124,-115, -31,-123, -86, -31, --121,-126, -31,-124,-115, -31,-123, -86, -31,-121,-127, -31,-124,-115, -31,-123, -86, -31,-121,-128, - -31,-124,-115, -31,-123, -86, -31,-122, -65, -31,-124,-115, -31,-123, -86, -31,-122, -66, -31,-124, --115, -31,-123, -86, -31,-122, -67, -31,-124,-115, -31,-123, -86, -31,-122, -68, -31,-124,-115, -31, --123, -86, -31,-122, -69, -31,-124,-115, -31,-123, -86, -31,-122, -70, -31,-124,-115, -31,-123, -86, - -31,-122, -71, -31,-124,-115, -31,-123, -86, -31,-122, -72, -31,-124,-115, -31,-123, -86, -31,-122, - -73, -31,-124,-115, -31,-123, -86, -31,-122, -74, -31,-124,-115, -31,-123, -86, -31,-122, -75, -31, --124,-115, -31,-123, -86, -31,-122, -76, -31,-124,-115, -31,-123, -86, -31,-122, -77, -31,-124,-115, - -31,-123, -86, -31,-122, -78, -31,-124,-115, -31,-123, -86, -31,-122, -79, -31,-124,-115, -31,-123, - -86, -31,-122, -80, -31,-124,-115, -31,-123, -86, -31,-122, -81, -31,-124,-115, -31,-123, -86, -31, --122, -82, -31,-124,-115, -31,-123, -86, -31,-122, -83, -31,-124,-115, -31,-123, -86, -31,-122, -84, - -31,-124,-115, -31,-123, -86, -31,-122, -85, -31,-124,-115, -31,-123, -86, -31,-122, -86, -31,-124, --115, -31,-123, -86, -31,-122, -87, -31,-124,-115, -31,-123, -86, -31,-122, -88, -31,-124,-115, -31, --123, -87, -31,-121,-126, -31,-124,-115, -31,-123, -87, -31,-121,-127, -31,-124,-115, -31,-123, -87, - -31,-121,-128, -31,-124,-115, -31,-123, -87, -31,-122, -65, -31,-124,-115, -31,-123, -87, -31,-122, - -66, -31,-124,-115, -31,-123, -87, -31,-122, -67, -31,-124,-115, -31,-123, -87, -31,-122, -68, -31, --124,-115, -31,-123, -87, -31,-122, -69, -31,-124,-115, -31,-123, -87, -31,-122, -70, -31,-124,-115, - -31,-123, -87, -31,-122, -71, -31,-124,-115, -31,-123, -87, -31,-122, -72, -31,-124,-115, -31,-123, - -87, -31,-122, -73, -31,-124,-115, -31,-123, -87, -31,-122, -74, -31,-124,-115, -31,-123, -87, -31, --122, -75, -31,-124,-115, -31,-123, -87, -31,-122, -76, -31,-124,-115, -31,-123, -87, -31,-122, -77, - -31,-124,-115, -31,-123, -87, -31,-122, -78, -31,-124,-115, -31,-123, -87, -31,-122, -79, -31,-124, --115, -31,-123, -87, -31,-122, -80, -31,-124,-115, -31,-123, -87, -31,-122, -81, -31,-124,-115, -31, --123, -87, -31,-122, -82, -31,-124,-115, -31,-123, -87, -31,-122, -83, -31,-124,-115, -31,-123, -87, - -31,-122, -84, -31,-124,-115, -31,-123, -87, -31,-122, -85, -31,-124,-115, -31,-123, -87, -31,-122, - -86, -31,-124,-115, -31,-123, -87, -31,-122, -87, -31,-124,-115, -31,-123, -87, -31,-122, -88, -31, --124,-115, -31,-123, -88, -31,-121,-126, -31,-124,-115, -31,-123, -88, -31,-121,-127, -31,-124,-115, - -31,-123, -88, -31,-121,-128, -31,-124,-115, -31,-123, -88, -31,-122, -65, -31,-124,-115, -31,-123, - -88, -31,-122, -66, -31,-124,-115, -31,-123, -88, -31,-122, -67, -31,-124,-115, -31,-123, -88, -31, --122, -68, -31,-124,-115, -31,-123, -88, -31,-122, -69, -31,-124,-115, -31,-123, -88, -31,-122, -70, - -31,-124,-115, -31,-123, -88, -31,-122, -71, -31,-124,-115, -31,-123, -88, -31,-122, -72, -31,-124, --115, -31,-123, -88, -31,-122, -73, -31,-124,-115, -31,-123, -88, -31,-122, -74, -31,-124,-115, -31, --123, -88, -31,-122, -75, -31,-124,-115, -31,-123, -88, -31,-122, -76, -31,-124,-115, -31,-123, -88, - -31,-122, -77, -31,-124,-115, -31,-123, -88, -31,-122, -78, -31,-124,-115, -31,-123, -88, -31,-122, - -79, -31,-124,-115, -31,-123, -88, -31,-122, -80, -31,-124,-115, -31,-123, -88, -31,-122, -81, -31, --124,-115, -31,-123, -88, -31,-122, -82, -31,-124,-115, -31,-123, -88, -31,-122, -83, -31,-124,-115, - -31,-123, -88, -31,-122, -84, -31,-124,-115, -31,-123, -88, -31,-122, -85, -31,-124,-115, -31,-123, - -88, -31,-122, -86, -31,-124,-115, -31,-123, -88, -31,-122, -87, -31,-124,-115, -31,-123, -88, -31, --122, -88, -31,-124,-115, -31,-123, -89, -31,-121,-126, -31,-124,-115, -31,-123, -89, -31,-121,-127, - -31,-124,-115, -31,-123, -89, -31,-121,-128, -31,-124,-115, -31,-123, -89, -31,-122, -65, -31,-124, --115, -31,-123, -89, -31,-122, -66, -31,-124,-115, -31,-123, -89, -31,-122, -67, -31,-124,-115, -31, --123, -89, -31,-122, -68, -31,-124,-115, -31,-123, -89, -31,-122, -69, -31,-124,-115, -31,-123, -89, - -31,-122, -70, -31,-124,-115, -31,-123, -89, -31,-122, -71, -31,-124,-115, -31,-123, -89, -31,-122, - -72, -31,-124,-115, -31,-123, -89, -31,-122, -73, -31,-124,-115, -31,-123, -89, -31,-122, -74, -31, --124,-115, -31,-123, -89, -31,-122, -75, -31,-124,-115, -31,-123, -89, -31,-122, -76, -31,-124,-115, - -31,-123, -89, -31,-122, -77, -31,-124,-115, -31,-123, -89, -31,-122, -78, -31,-124,-115, -31,-123, - -89, -31,-122, -79, -31,-124,-115, -31,-123, -89, -31,-122, -80, -31,-124,-115, -31,-123, -89, -31, --122, -81, -31,-124,-115, -31,-123, -89, -31,-122, -82, -31,-124,-115, -31,-123, -89, -31,-122, -83, - -31,-124,-115, -31,-123, -89, -31,-122, -84, -31,-124,-115, -31,-123, -89, -31,-122, -85, -31,-124, --115, -31,-123, -89, -31,-122, -86, -31,-124,-115, -31,-123, -89, -31,-122, -87, -31,-124,-115, -31, --123, -89, -31,-122, -88, -31,-124,-115, -31,-123, -90, -31,-121,-126, -31,-124,-115, -31,-123, -90, - -31,-121,-127, -31,-124,-115, -31,-123, -90, -31,-121,-128, -31,-124,-115, -31,-123, -90, -31,-122, - -65, -31,-124,-115, -31,-123, -90, -31,-122, -66, -31,-124,-115, -31,-123, -90, -31,-122, -67, -31, --124,-115, -31,-123, -90, -31,-122, -68, -31,-124,-115, -31,-123, -90, -31,-122, -69, -31,-124,-115, - -31,-123, -90, -31,-122, -70, -31,-124,-115, -31,-123, -90, -31,-122, -71, -31,-124,-115, -31,-123, - -90, -31,-122, -72, -31,-124,-115, -31,-123, -90, -31,-122, -73, -31,-124,-115, -31,-123, -90, -31, --122, -74, -31,-124,-115, -31,-123, -90, -31,-122, -75, -31,-124,-115, -31,-123, -90, -31,-122, -76, - -31,-124,-115, -31,-123, -90, -31,-122, -77, -31,-124,-115, -31,-123, -90, -31,-122, -78, -31,-124, --115, -31,-123, -90, -31,-122, -79, -31,-124,-115, -31,-123, -90, -31,-122, -80, -31,-124,-115, -31, --123, -90, -31,-122, -81, -31,-124,-115, -31,-123, -90, -31,-122, -82, -31,-124,-115, -31,-123, -90, - -31,-122, -83, -31,-124,-115, -31,-123, -90, -31,-122, -84, -31,-124,-115, -31,-123, -90, -31,-122, - -85, -31,-124,-115, -31,-123, -90, -31,-122, -86, -31,-124,-115, -31,-123, -90, -31,-122, -87, -31, --124,-115, -31,-123, -90, -31,-122, -88, -31,-124,-115, -31,-123, -91, -31,-121,-126, -31,-124,-115, - -31,-123, -91, -31,-121,-127, -31,-124,-115, -31,-123, -91, -31,-121,-128, -31,-124,-115, -31,-123, - -91, -31,-122, -65, -31,-124,-115, -31,-123, -91, -31,-122, -66, -31,-124,-115, -31,-123, -91, -31, --122, -67, -31,-124,-115, -31,-123, -91, -31,-122, -68, -31,-124,-115, -31,-123, -91, -31,-122, -69, - -31,-124,-115, -31,-123, -91, -31,-122, -70, -31,-124,-115, -31,-123, -91, -31,-122, -71, -31,-124, --115, -31,-123, -91, -31,-122, -72, -31,-124,-115, -31,-123, -91, -31,-122, -73, -31,-124,-115, -31, --123, -91, -31,-122, -74, -31,-124,-115, -31,-123, -91, -31,-122, -75, -31,-124,-115, -31,-123, -91, - -31,-122, -76, -31,-124,-115, -31,-123, -91, -31,-122, -77, -31,-124,-115, -31,-123, -91, -31,-122, - -78, -31,-124,-115, -31,-123, -91, -31,-122, -79, -31,-124,-115, -31,-123, -91, -31,-122, -80, -31, --124,-115, -31,-123, -91, -31,-122, -81, -31,-124,-115, -31,-123, -91, -31,-122, -82, -31,-124,-115, - -31,-123, -91, -31,-122, -83, -31,-124,-115, -31,-123, -91, -31,-122, -84, -31,-124,-115, -31,-123, - -91, -31,-122, -85, -31,-124,-115, -31,-123, -91, -31,-122, -86, -31,-124,-115, -31,-123, -91, -31, --122, -87, -31,-124,-115, -31,-123, -91, -31,-122, -88, -31,-124,-115, -31,-123, -92, -31,-121,-126, - -31,-124,-115, -31,-123, -92, -31,-121,-127, -31,-124,-115, -31,-123, -92, -31,-121,-128, -31,-124, --115, -31,-123, -92, -31,-122, -65, -31,-124,-115, -31,-123, -92, -31,-122, -66, -31,-124,-115, -31, --123, -92, -31,-122, -67, -31,-124,-115, -31,-123, -92, -31,-122, -68, -31,-124,-115, -31,-123, -92, - -31,-122, -69, -31,-124,-115, -31,-123, -92, -31,-122, -70, -31,-124,-115, -31,-123, -92, -31,-122, - -71, -31,-124,-115, -31,-123, -92, -31,-122, -72, -31,-124,-115, -31,-123, -92, -31,-122, -73, -31, --124,-115, -31,-123, -92, -31,-122, -74, -31,-124,-115, -31,-123, -92, -31,-122, -75, -31,-124,-115, - -31,-123, -92, -31,-122, -76, -31,-124,-115, -31,-123, -92, -31,-122, -77, -31,-124,-115, -31,-123, - -92, -31,-122, -78, -31,-124,-115, -31,-123, -92, -31,-122, -79, -31,-124,-115, -31,-123, -92, -31, --122, -80, -31,-124,-115, -31,-123, -92, -31,-122, -81, -31,-124,-115, -31,-123, -92, -31,-122, -82, - -31,-124,-115, -31,-123, -92, -31,-122, -83, -31,-124,-115, -31,-123, -92, -31,-122, -84, -31,-124, --115, -31,-123, -92, -31,-122, -85, -31,-124,-115, -31,-123, -92, -31,-122, -86, -31,-124,-115, -31, --123, -92, -31,-122, -87, -31,-124,-115, -31,-123, -92, -31,-122, -88, -31,-124,-115, -31,-123, -93, - -31,-121,-126, -31,-124,-115, -31,-123, -93, -31,-121,-127, -31,-124,-115, -31,-123, -93, -31,-121, --128, -31,-124,-115, -31,-123, -93, -31,-122, -65, -31,-124,-115, -31,-123, -93, -31,-122, -66, -31, --124,-115, -31,-123, -93, -31,-122, -67, -31,-124,-115, -31,-123, -93, -31,-122, -68, -31,-124,-115, - -31,-123, -93, -31,-122, -69, -31,-124,-115, -31,-123, -93, -31,-122, -70, -31,-124,-115, -31,-123, - -93, -31,-122, -71, -31,-124,-115, -31,-123, -93, -31,-122, -72, -31,-124,-115, -31,-123, -93, -31, --122, -73, -31,-124,-115, -31,-123, -93, -31,-122, -74, -31,-124,-115, -31,-123, -93, -31,-122, -75, - -31,-124,-115, -31,-123, -93, -31,-122, -76, -31,-124,-115, -31,-123, -93, -31,-122, -77, -31,-124, --115, -31,-123, -93, -31,-122, -78, -31,-124,-115, -31,-123, -93, -31,-122, -79, -31,-124,-115, -31, --123, -93, -31,-122, -80, -31,-124,-115, -31,-123, -93, -31,-122, -81, -31,-124,-115, -31,-123, -93, - -31,-122, -82, -31,-124,-115, -31,-123, -93, -31,-122, -83, -31,-124,-115, -31,-123, -93, -31,-122, - -84, -31,-124,-115, -31,-123, -93, -31,-122, -85, -31,-124,-115, -31,-123, -93, -31,-122, -86, -31, --124,-115, -31,-123, -93, -31,-122, -87, -31,-124,-115, -31,-123, -93, -31,-122, -88, -31,-124,-115, - -31,-123, -94, -31,-121,-126, -31,-124,-115, -31,-123, -94, -31,-121,-127, -31,-124,-115, -31,-123, - -94, -31,-121,-128, -31,-124,-115, -31,-123, -94, -31,-122, -65, -31,-124,-115, -31,-123, -94, -31, --122, -66, -31,-124,-115, -31,-123, -94, -31,-122, -67, -31,-124,-115, -31,-123, -94, -31,-122, -68, - -31,-124,-115, -31,-123, -94, -31,-122, -69, -31,-124,-115, -31,-123, -94, -31,-122, -70, -31,-124, --115, -31,-123, -94, -31,-122, -71, -31,-124,-115, -31,-123, -94, -31,-122, -72, -31,-124,-115, -31, --123, -94, -31,-122, -73, -31,-124,-115, -31,-123, -94, -31,-122, -74, -31,-124,-115, -31,-123, -94, - -31,-122, -75, -31,-124,-115, -31,-123, -94, -31,-122, -76, -31,-124,-115, -31,-123, -94, -31,-122, - -77, -31,-124,-115, -31,-123, -94, -31,-122, -78, -31,-124,-115, -31,-123, -94, -31,-122, -79, -31, --124,-115, -31,-123, -94, -31,-122, -80, -31,-124,-115, -31,-123, -94, -31,-122, -81, -31,-124,-115, - -31,-123, -94, -31,-122, -82, -31,-124,-115, -31,-123, -94, -31,-122, -83, -31,-124,-115, -31,-123, - -94, -31,-122, -84, -31,-124,-115, -31,-123, -94, -31,-122, -85, -31,-124,-115, -31,-123, -94, -31, --122, -86, -31,-124,-115, -31,-123, -94, -31,-122, -87, -31,-124,-115, -31,-123, -94, -31,-122, -88, - -31,-124,-115, -31,-123, -95, -31,-121,-126, -31,-124,-115, -31,-123, -95, -31,-121,-127, -31,-124, --115, -31,-123, -95, -31,-121,-128, -31,-124,-115, -31,-123, -95, -31,-122, -65, -31,-124,-115, -31, --123, -95, -31,-122, -66, -31,-124,-115, -31,-123, -95, -31,-122, -67, -31,-124,-115, -31,-123, -95, - -31,-122, -68, -31,-124,-115, -31,-123, -95, -31,-122, -69, -31,-124,-115, -31,-123, -95, -31,-122, - -70, -31,-124,-115, -31,-123, -95, -31,-122, -71, -31,-124,-115, -31,-123, -95, -31,-122, -72, -31, --124,-115, -31,-123, -95, -31,-122, -73, -31,-124,-115, -31,-123, -95, -31,-122, -74, -31,-124,-115, - -31,-123, -95, -31,-122, -75, -31,-124,-115, -31,-123, -95, -31,-122, -76, -31,-124,-115, -31,-123, - -95, -31,-122, -77, -31,-124,-115, -31,-123, -95, -31,-122, -78, -31,-124,-115, -31,-123, -95, -31, --122, -79, -31,-124,-115, -31,-123, -95, -31,-122, -80, -31,-124,-115, -31,-123, -95, -31,-122, -81, - -31,-124,-115, -31,-123, -95, -31,-122, -82, -31,-124,-115, -31,-123, -95, -31,-122, -83, -31,-124, --115, -31,-123, -95, -31,-122, -84, -31,-124,-115, -31,-123, -95, -31,-122, -85, -31,-124,-115, -31, --123, -95, -31,-122, -86, -31,-124,-115, -31,-123, -95, -31,-122, -87, -31,-124,-115, -31,-123, -95, - -31,-122, -88, -31,-124,-116, -31,-123, -75, -31,-121,-126, -31,-124,-116, -31,-123, -75, -31,-121, --127, -31,-124,-116, -31,-123, -75, -31,-121,-128, -31,-124,-116, -31,-123, -75, -31,-122, -65, -31, --124,-116, -31,-123, -75, -31,-122, -66, -31,-124,-116, -31,-123, -75, -31,-122, -67, -31,-124,-116, - -31,-123, -75, -31,-122, -68, -31,-124,-116, -31,-123, -75, -31,-122, -69, -31,-124,-116, -31,-123, - -75, -31,-122, -70, -31,-124,-116, -31,-123, -75, -31,-122, -71, -31,-124,-116, -31,-123, -75, -31, --122, -72, -31,-124,-116, -31,-123, -75, -31,-122, -73, -31,-124,-116, -31,-123, -75, -31,-122, -74, - -31,-124,-116, -31,-123, -75, -31,-122, -75, -31,-124,-116, -31,-123, -75, -31,-122, -76, -31,-124, --116, -31,-123, -75, -31,-122, -77, -31,-124,-116, -31,-123, -75, -31,-122, -78, -31,-124,-116, -31, --123, -75, -31,-122, -79, -31,-124,-116, -31,-123, -75, -31,-122, -80, -31,-124,-116, -31,-123, -75, - -31,-122, -81, -31,-124,-116, -31,-123, -75, -31,-122, -82, -31,-124,-116, -31,-123, -75, -31,-122, - -83, -31,-124,-116, -31,-123, -75, -31,-122, -84, -31,-124,-116, -31,-123, -75, -31,-122, -85, -31, --124,-116, -31,-123, -75, -31,-122, -86, -31,-124,-116, -31,-123, -75, -31,-122, -87, -31,-124,-116, - -31,-123, -75, -31,-122, -88, -31,-124,-116, -31,-123, -76, -31,-121,-126, -31,-124,-116, -31,-123, - -76, -31,-121,-127, -31,-124,-116, -31,-123, -76, -31,-121,-128, -31,-124,-116, -31,-123, -76, -31, --122, -65, -31,-124,-116, -31,-123, -76, -31,-122, -66, -31,-124,-116, -31,-123, -76, -31,-122, -67, - -31,-124,-116, -31,-123, -76, -31,-122, -68, -31,-124,-116, -31,-123, -76, -31,-122, -69, -31,-124, --116, -31,-123, -76, -31,-122, -70, -31,-124,-116, -31,-123, -76, -31,-122, -71, -31,-124,-116, -31, --123, -76, -31,-122, -72, -31,-124,-116, -31,-123, -76, -31,-122, -73, -31,-124,-116, -31,-123, -76, - -31,-122, -74, -31,-124,-116, -31,-123, -76, -31,-122, -75, -31,-124,-116, -31,-123, -76, -31,-122, - -76, -31,-124,-116, -31,-123, -76, -31,-122, -77, -31,-124,-116, -31,-123, -76, -31,-122, -78, -31, --124,-116, -31,-123, -76, -31,-122, -79, -31,-124,-116, -31,-123, -76, -31,-122, -80, -31,-124,-116, - -31,-123, -76, -31,-122, -81, -31,-124,-116, -31,-123, -76, -31,-122, -82, -31,-124,-116, -31,-123, - -76, -31,-122, -83, -31,-124,-116, -31,-123, -76, -31,-122, -84, -31,-124,-116, -31,-123, -76, -31, --122, -85, -31,-124,-116, -31,-123, -76, -31,-122, -86, -31,-124,-116, -31,-123, -76, -31,-122, -87, - -31,-124,-116, -31,-123, -76, -31,-122, -88, -31,-124,-116, -31,-123, -77, -31,-121,-126, -31,-124, --116, -31,-123, -77, -31,-121,-127, -31,-124,-116, -31,-123, -77, -31,-121,-128, -31,-124,-116, -31, --123, -77, -31,-122, -65, -31,-124,-116, -31,-123, -77, -31,-122, -66, -31,-124,-116, -31,-123, -77, - -31,-122, -67, -31,-124,-116, -31,-123, -77, -31,-122, -68, -31,-124,-116, -31,-123, -77, -31,-122, - -69, -31,-124,-116, -31,-123, -77, -31,-122, -70, -31,-124,-116, -31,-123, -77, -31,-122, -71, -31, --124,-116, -31,-123, -77, -31,-122, -72, -31,-124,-116, -31,-123, -77, -31,-122, -73, -31,-124,-116, - -31,-123, -77, -31,-122, -74, -31,-124,-116, -31,-123, -77, -31,-122, -75, -31,-124,-116, -31,-123, - -77, -31,-122, -76, -31,-124,-116, -31,-123, -77, -31,-122, -77, -31,-124,-116, -31,-123, -77, -31, --122, -78, -31,-124,-116, -31,-123, -77, -31,-122, -79, -31,-124,-116, -31,-123, -77, -31,-122, -80, - -31,-124,-116, -31,-123, -77, -31,-122, -81, -31,-124,-116, -31,-123, -77, -31,-122, -82, -31,-124, --116, -31,-123, -77, -31,-122, -83, -31,-124,-116, -31,-123, -77, -31,-122, -84, -31,-124,-116, -31, --123, -77, -31,-122, -85, -31,-124,-116, -31,-123, -77, -31,-122, -86, -31,-124,-116, -31,-123, -77, - -31,-122, -87, -31,-124,-116, -31,-123, -77, -31,-122, -88, -31,-124,-116, -31,-123, -78, -31,-121, --126, -31,-124,-116, -31,-123, -78, -31,-121,-127, -31,-124,-116, -31,-123, -78, -31,-121,-128, -31, --124,-116, -31,-123, -78, -31,-122, -65, -31,-124,-116, -31,-123, -78, -31,-122, -66, -31,-124,-116, - -31,-123, -78, -31,-122, -67, -31,-124,-116, -31,-123, -78, -31,-122, -68, -31,-124,-116, -31,-123, - -78, -31,-122, -69, -31,-124,-116, -31,-123, -78, -31,-122, -70, -31,-124,-116, -31,-123, -78, -31, --122, -71, -31,-124,-116, -31,-123, -78, -31,-122, -72, -31,-124,-116, -31,-123, -78, -31,-122, -73, - -31,-124,-116, -31,-123, -78, -31,-122, -74, -31,-124,-116, -31,-123, -78, -31,-122, -75, -31,-124, --116, -31,-123, -78, -31,-122, -76, -31,-124,-116, -31,-123, -78, -31,-122, -77, -31,-124,-116, -31, --123, -78, -31,-122, -78, -31,-124,-116, -31,-123, -78, -31,-122, -79, -31,-124,-116, -31,-123, -78, - -31,-122, -80, -31,-124,-116, -31,-123, -78, -31,-122, -81, -31,-124,-116, -31,-123, -78, -31,-122, - -82, -31,-124,-116, -31,-123, -78, -31,-122, -83, -31,-124,-116, -31,-123, -78, -31,-122, -84, -31, --124,-116, -31,-123, -78, -31,-122, -85, -31,-124,-116, -31,-123, -78, -31,-122, -86, -31,-124,-116, - -31,-123, -78, -31,-122, -87, -31,-124,-116, -31,-123, -78, -31,-122, -88, -31,-124,-116, -31,-123, - -79, -31,-121,-126, -31,-124,-116, -31,-123, -79, -31,-121,-127, -31,-124,-116, -31,-123, -79, -31, --121,-128, -31,-124,-116, -31,-123, -79, -31,-122, -65, -31,-124,-116, -31,-123, -79, -31,-122, -66, - -31,-124,-116, -31,-123, -79, -31,-122, -67, -31,-124,-116, -31,-123, -79, -31,-122, -68, -31,-124, --116, -31,-123, -79, -31,-122, -69, -31,-124,-116, -31,-123, -79, -31,-122, -70, -31,-124,-116, -31, --123, -79, -31,-122, -71, -31,-124,-116, -31,-123, -79, -31,-122, -72, -31,-124,-116, -31,-123, -79, - -31,-122, -73, -31,-124,-116, -31,-123, -79, -31,-122, -74, -31,-124,-116, -31,-123, -79, -31,-122, - -75, -31,-124,-116, -31,-123, -79, -31,-122, -76, -31,-124,-116, -31,-123, -79, -31,-122, -77, -31, --124,-116, -31,-123, -79, -31,-122, -78, -31,-124,-116, -31,-123, -79, -31,-122, -79, -31,-124,-116, - -31,-123, -79, -31,-122, -80, -31,-124,-116, -31,-123, -79, -31,-122, -81, -31,-124,-116, -31,-123, - -79, -31,-122, -82, -31,-124,-116, -31,-123, -79, -31,-122, -83, -31,-124,-116, -31,-123, -79, -31, --122, -84, -31,-124,-116, -31,-123, -79, -31,-122, -85, -31,-124,-116, -31,-123, -79, -31,-122, -86, - -31,-124,-116, -31,-123, -79, -31,-122, -87, -31,-124,-116, -31,-123, -79, -31,-122, -88, -31,-124, --116, -31,-123, -80, -31,-121,-126, -31,-124,-116, -31,-123, -80, -31,-121,-127, -31,-124,-116, -31, --123, -80, -31,-121,-128, -31,-124,-116, -31,-123, -80, -31,-122, -65, -31,-124,-116, -31,-123, -80, - -31,-122, -66, -31,-124,-116, -31,-123, -80, -31,-122, -67, -31,-124,-116, -31,-123, -80, -31,-122, - -68, -31,-124,-116, -31,-123, -80, -31,-122, -69, -31,-124,-116, -31,-123, -80, -31,-122, -70, -31, --124,-116, -31,-123, -80, -31,-122, -71, -31,-124,-116, -31,-123, -80, -31,-122, -72, -31,-124,-116, - -31,-123, -80, -31,-122, -73, -31,-124,-116, -31,-123, -80, -31,-122, -74, -31,-124,-116, -31,-123, - -80, -31,-122, -75, -31,-124,-116, -31,-123, -80, -31,-122, -76, -31,-124,-116, -31,-123, -80, -31, --122, -77, -31,-124,-116, -31,-123, -80, -31,-122, -78, -31,-124,-116, -31,-123, -80, -31,-122, -79, - -31,-124,-116, -31,-123, -80, -31,-122, -80, -31,-124,-116, -31,-123, -80, -31,-122, -81, -31,-124, --116, -31,-123, -80, -31,-122, -82, -31,-124,-116, -31,-123, -80, -31,-122, -83, -31,-124,-116, -31, --123, -80, -31,-122, -84, -31,-124,-116, -31,-123, -80, -31,-122, -85, -31,-124,-116, -31,-123, -80, - -31,-122, -86, -31,-124,-116, -31,-123, -80, -31,-122, -87, -31,-124,-116, -31,-123, -80, -31,-122, - -88, -31,-124,-116, -31,-123, -81, -31,-121,-126, -31,-124,-116, -31,-123, -81, -31,-121,-127, -31, --124,-116, -31,-123, -81, -31,-121,-128, -31,-124,-116, -31,-123, -81, -31,-122, -65, -31,-124,-116, - -31,-123, -81, -31,-122, -66, -31,-124,-116, -31,-123, -81, -31,-122, -67, -31,-124,-116, -31,-123, - -81, -31,-122, -68, -31,-124,-116, -31,-123, -81, -31,-122, -69, -31,-124,-116, -31,-123, -81, -31, --122, -70, -31,-124,-116, -31,-123, -81, -31,-122, -71, -31,-124,-116, -31,-123, -81, -31,-122, -72, - -31,-124,-116, -31,-123, -81, -31,-122, -73, -31,-124,-116, -31,-123, -81, -31,-122, -74, -31,-124, --116, -31,-123, -81, -31,-122, -75, -31,-124,-116, -31,-123, -81, -31,-122, -76, -31,-124,-116, -31, --123, -81, -31,-122, -77, -31,-124,-116, -31,-123, -81, -31,-122, -78, -31,-124,-116, -31,-123, -81, - -31,-122, -79, -31,-124,-116, -31,-123, -81, -31,-122, -80, -31,-124,-116, -31,-123, -81, -31,-122, - -81, -31,-124,-116, -31,-123, -81, -31,-122, -82, -31,-124,-116, -31,-123, -81, -31,-122, -83, -31, --124,-116, -31,-123, -81, -31,-122, -84, -31,-124,-116, -31,-123, -81, -31,-122, -85, -31,-124,-116, - -31,-123, -81, -31,-122, -86, -31,-124,-116, -31,-123, -81, -31,-122, -87, -31,-124,-116, -31,-123, - -81, -31,-122, -88, -31,-124,-116, -31,-123, -82, -31,-121,-126, -31,-124,-116, -31,-123, -82, -31, --121,-127, -31,-124,-116, -31,-123, -82, -31,-121,-128, -31,-124,-116, -31,-123, -82, -31,-122, -65, - -31,-124,-116, -31,-123, -82, -31,-122, -66, -31,-124,-116, -31,-123, -82, -31,-122, -67, -31,-124, --116, -31,-123, -82, -31,-122, -68, -31,-124,-116, -31,-123, -82, -31,-122, -69, -31,-124,-116, -31, --123, -82, -31,-122, -70, -31,-124,-116, -31,-123, -82, -31,-122, -71, -31,-124,-116, -31,-123, -82, - -31,-122, -72, -31,-124,-116, -31,-123, -82, -31,-122, -73, -31,-124,-116, -31,-123, -82, -31,-122, - -74, -31,-124,-116, -31,-123, -82, -31,-122, -75, -31,-124,-116, -31,-123, -82, -31,-122, -76, -31, --124,-116, -31,-123, -82, -31,-122, -77, -31,-124,-116, -31,-123, -82, -31,-122, -78, -31,-124,-116, - -31,-123, -82, -31,-122, -79, -31,-124,-116, -31,-123, -82, -31,-122, -80, -31,-124,-116, -31,-123, - -82, -31,-122, -81, -31,-124,-116, -31,-123, -82, -31,-122, -82, -31,-124,-116, -31,-123, -82, -31, --122, -83, -31,-124,-116, -31,-123, -82, -31,-122, -84, -31,-124,-116, -31,-123, -82, -31,-122, -85, - -31,-124,-116, -31,-123, -82, -31,-122, -86, -31,-124,-116, -31,-123, -82, -31,-122, -87, -31,-124, --116, -31,-123, -82, -31,-122, -88, -31,-124,-116, -31,-123, -83, -31,-121,-126, -31,-124,-116, -31, --123, -83, -31,-121,-127, -31,-124,-116, -31,-123, -83, -31,-121,-128, -31,-124,-116, -31,-123, -83, - -31,-122, -65, -31,-124,-116, -31,-123, -83, -31,-122, -66, -31,-124,-116, -31,-123, -83, -31,-122, - -67, -31,-124,-116, -31,-123, -83, -31,-122, -68, -31,-124,-116, -31,-123, -83, -31,-122, -69, -31, --124,-116, -31,-123, -83, -31,-122, -70, -31,-124,-116, -31,-123, -83, -31,-122, -71, -31,-124,-116, - -31,-123, -83, -31,-122, -72, -31,-124,-116, -31,-123, -83, -31,-122, -73, -31,-124,-116, -31,-123, - -83, -31,-122, -74, -31,-124,-116, -31,-123, -83, -31,-122, -75, -31,-124,-116, -31,-123, -83, -31, --122, -76, -31,-124,-116, -31,-123, -83, -31,-122, -77, -31,-124,-116, -31,-123, -83, -31,-122, -78, - -31,-124,-116, -31,-123, -83, -31,-122, -79, -31,-124,-116, -31,-123, -83, -31,-122, -80, -31,-124, --116, -31,-123, -83, -31,-122, -81, -31,-124,-116, -31,-123, -83, -31,-122, -82, -31,-124,-116, -31, --123, -83, -31,-122, -83, -31,-124,-116, -31,-123, -83, -31,-122, -84, -31,-124,-116, -31,-123, -83, - -31,-122, -85, -31,-124,-116, -31,-123, -83, -31,-122, -86, -31,-124,-116, -31,-123, -83, -31,-122, - -87, -31,-124,-116, -31,-123, -83, -31,-122, -88, -31,-124,-116, -31,-123, -84, -31,-121,-126, -31, --124,-116, -31,-123, -84, -31,-121,-127, -31,-124,-116, -31,-123, -84, -31,-121,-128, -31,-124,-116, - -31,-123, -84, -31,-122, -65, -31,-124,-116, -31,-123, -84, -31,-122, -66, -31,-124,-116, -31,-123, - -84, -31,-122, -67, -31,-124,-116, -31,-123, -84, -31,-122, -68, -31,-124,-116, -31,-123, -84, -31, --122, -69, -31,-124,-116, -31,-123, -84, -31,-122, -70, -31,-124,-116, -31,-123, -84, -31,-122, -71, - -31,-124,-116, -31,-123, -84, -31,-122, -72, -31,-124,-116, -31,-123, -84, -31,-122, -73, -31,-124, --116, -31,-123, -84, -31,-122, -74, -31,-124,-116, -31,-123, -84, -31,-122, -75, -31,-124,-116, -31, --123, -84, -31,-122, -76, -31,-124,-116, -31,-123, -84, -31,-122, -77, -31,-124,-116, -31,-123, -84, - -31,-122, -78, -31,-124,-116, -31,-123, -84, -31,-122, -79, -31,-124,-116, -31,-123, -84, -31,-122, - -80, -31,-124,-116, -31,-123, -84, -31,-122, -81, -31,-124,-116, -31,-123, -84, -31,-122, -82, -31, --124,-116, -31,-123, -84, -31,-122, -83, -31,-124,-116, -31,-123, -84, -31,-122, -84, -31,-124,-116, - -31,-123, -84, -31,-122, -85, -31,-124,-116, -31,-123, -84, -31,-122, -86, -31,-124,-116, -31,-123, - -84, -31,-122, -87, -31,-124,-116, -31,-123, -84, -31,-122, -88, -31,-124,-116, -31,-123, -85, -31, --121,-126, -31,-124,-116, -31,-123, -85, -31,-121,-127, -31,-124,-116, -31,-123, -85, -31,-121,-128, - -31,-124,-116, -31,-123, -85, -31,-122, -65, -31,-124,-116, -31,-123, -85, -31,-122, -66, -31,-124, --116, -31,-123, -85, -31,-122, -67, -31,-124,-116, -31,-123, -85, -31,-122, -68, -31,-124,-116, -31, --123, -85, -31,-122, -69, -31,-124,-116, -31,-123, -85, -31,-122, -70, -31,-124,-116, -31,-123, -85, - -31,-122, -71, -31,-124,-116, -31,-123, -85, -31,-122, -72, -31,-124,-116, -31,-123, -85, -31,-122, - -73, -31,-124,-116, -31,-123, -85, -31,-122, -74, -31,-124,-116, -31,-123, -85, -31,-122, -75, -31, --124,-116, -31,-123, -85, -31,-122, -76, -31,-124,-116, -31,-123, -85, -31,-122, -77, -31,-124,-116, - -31,-123, -85, -31,-122, -78, -31,-124,-116, -31,-123, -85, -31,-122, -79, -31,-124,-116, -31,-123, - -85, -31,-122, -80, -31,-124,-116, -31,-123, -85, -31,-122, -81, -31,-124,-116, -31,-123, -85, -31, --122, -82, -31,-124,-116, -31,-123, -85, -31,-122, -83, -31,-124,-116, -31,-123, -85, -31,-122, -84, - -31,-124,-116, -31,-123, -85, -31,-122, -85, -31,-124,-116, -31,-123, -85, -31,-122, -86, -31,-124, --116, -31,-123, -85, -31,-122, -87, -31,-124,-116, -31,-123, -85, -31,-122, -88, -31,-124,-116, -31, --123, -86, -31,-121,-126, -31,-124,-116, -31,-123, -86, -31,-121,-127, -31,-124,-116, -31,-123, -86, - -31,-121,-128, -31,-124,-116, -31,-123, -86, -31,-122, -65, -31,-124,-116, -31,-123, -86, -31,-122, - -66, -31,-124,-116, -31,-123, -86, -31,-122, -67, -31,-124,-116, -31,-123, -86, -31,-122, -68, -31, --124,-116, -31,-123, -86, -31,-122, -69, -31,-124,-116, -31,-123, -86, -31,-122, -70, -31,-124,-116, - -31,-123, -86, -31,-122, -71, -31,-124,-116, -31,-123, -86, -31,-122, -72, -31,-124,-116, -31,-123, - -86, -31,-122, -73, -31,-124,-116, -31,-123, -86, -31,-122, -74, -31,-124,-116, -31,-123, -86, -31, --122, -75, -31,-124,-116, -31,-123, -86, -31,-122, -76, -31,-124,-116, -31,-123, -86, -31,-122, -77, - -31,-124,-116, -31,-123, -86, -31,-122, -78, -31,-124,-116, -31,-123, -86, -31,-122, -79, -31,-124, --116, -31,-123, -86, -31,-122, -80, -31,-124,-116, -31,-123, -86, -31,-122, -81, -31,-124,-116, -31, --123, -86, -31,-122, -82, -31,-124,-116, -31,-123, -86, -31,-122, -83, -31,-124,-116, -31,-123, -86, - -31,-122, -84, -31,-124,-116, -31,-123, -86, -31,-122, -85, -31,-124,-116, -31,-123, -86, -31,-122, - -86, -31,-124,-116, -31,-123, -86, -31,-122, -87, -31,-124,-116, -31,-123, -86, -31,-122, -88, -31, --124,-116, -31,-123, -87, -31,-121,-126, -31,-124,-116, -31,-123, -87, -31,-121,-127, -31,-124,-116, - -31,-123, -87, -31,-121,-128, -31,-124,-116, -31,-123, -87, -31,-122, -65, -31,-124,-116, -31,-123, - -87, -31,-122, -66, -31,-124,-116, -31,-123, -87, -31,-122, -67, -31,-124,-116, -31,-123, -87, -31, --122, -68, -31,-124,-116, -31,-123, -87, -31,-122, -69, -31,-124,-116, -31,-123, -87, -31,-122, -70, - -31,-124,-116, -31,-123, -87, -31,-122, -71, -31,-124,-116, -31,-123, -87, -31,-122, -72, -31,-124, --116, -31,-123, -87, -31,-122, -73, -31,-124,-116, -31,-123, -87, -31,-122, -74, -31,-124,-116, -31, --123, -87, -31,-122, -75, -31,-124,-116, -31,-123, -87, -31,-122, -76, -31,-124,-116, -31,-123, -87, - -31,-122, -77, -31,-124,-116, -31,-123, -87, -31,-122, -78, -31,-124,-116, -31,-123, -87, -31,-122, - -79, -31,-124,-116, -31,-123, -87, -31,-122, -80, -31,-124,-116, -31,-123, -87, -31,-122, -81, -31, --124,-116, -31,-123, -87, -31,-122, -82, -31,-124,-116, -31,-123, -87, -31,-122, -83, -31,-124,-116, - -31,-123, -87, -31,-122, -84, -31,-124,-116, -31,-123, -87, -31,-122, -85, -31,-124,-116, -31,-123, - -87, -31,-122, -86, -31,-124,-116, -31,-123, -87, -31,-122, -87, -31,-124,-116, -31,-123, -87, -31, --122, -88, -31,-124,-116, -31,-123, -88, -31,-121,-126, -31,-124,-116, -31,-123, -88, -31,-121,-127, - -31,-124,-116, -31,-123, -88, -31,-121,-128, -31,-124,-116, -31,-123, -88, -31,-122, -65, -31,-124, --116, -31,-123, -88, -31,-122, -66, -31,-124,-116, -31,-123, -88, -31,-122, -67, -31,-124,-116, -31, --123, -88, -31,-122, -68, -31,-124,-116, -31,-123, -88, -31,-122, -69, -31,-124,-116, -31,-123, -88, - -31,-122, -70, -31,-124,-116, -31,-123, -88, -31,-122, -71, -31,-124,-116, -31,-123, -88, -31,-122, - -72, -31,-124,-116, -31,-123, -88, -31,-122, -73, -31,-124,-116, -31,-123, -88, -31,-122, -74, -31, --124,-116, -31,-123, -88, -31,-122, -75, -31,-124,-116, -31,-123, -88, -31,-122, -76, -31,-124,-116, - -31,-123, -88, -31,-122, -77, -31,-124,-116, -31,-123, -88, -31,-122, -78, -31,-124,-116, -31,-123, - -88, -31,-122, -79, -31,-124,-116, -31,-123, -88, -31,-122, -80, -31,-124,-116, -31,-123, -88, -31, --122, -81, -31,-124,-116, -31,-123, -88, -31,-122, -82, -31,-124,-116, -31,-123, -88, -31,-122, -83, - -31,-124,-116, -31,-123, -88, -31,-122, -84, -31,-124,-116, -31,-123, -88, -31,-122, -85, -31,-124, --116, -31,-123, -88, -31,-122, -86, -31,-124,-116, -31,-123, -88, -31,-122, -87, -31,-124,-116, -31, --123, -88, -31,-122, -88, -31,-124,-116, -31,-123, -89, -31,-121,-126, -31,-124,-116, -31,-123, -89, - -31,-121,-127, -31,-124,-116, -31,-123, -89, -31,-121,-128, -31,-124,-116, -31,-123, -89, -31,-122, - -65, -31,-124,-116, -31,-123, -89, -31,-122, -66, -31,-124,-116, -31,-123, -89, -31,-122, -67, -31, --124,-116, -31,-123, -89, -31,-122, -68, -31,-124,-116, -31,-123, -89, -31,-122, -69, -31,-124,-116, - -31,-123, -89, -31,-122, -70, -31,-124,-116, -31,-123, -89, -31,-122, -71, -31,-124,-116, -31,-123, - -89, -31,-122, -72, -31,-124,-116, -31,-123, -89, -31,-122, -73, -31,-124,-116, -31,-123, -89, -31, --122, -74, -31,-124,-116, -31,-123, -89, -31,-122, -75, -31,-124,-116, -31,-123, -89, -31,-122, -76, - -31,-124,-116, -31,-123, -89, -31,-122, -77, -31,-124,-116, -31,-123, -89, -31,-122, -78, -31,-124, --116, -31,-123, -89, -31,-122, -79, -31,-124,-116, -31,-123, -89, -31,-122, -80, -31,-124,-116, -31, --123, -89, -31,-122, -81, -31,-124,-116, -31,-123, -89, -31,-122, -82, -31,-124,-116, -31,-123, -89, - -31,-122, -83, -31,-124,-116, -31,-123, -89, -31,-122, -84, -31,-124,-116, -31,-123, -89, -31,-122, - -85, -31,-124,-116, -31,-123, -89, -31,-122, -86, -31,-124,-116, -31,-123, -89, -31,-122, -87, -31, --124,-116, -31,-123, -89, -31,-122, -88, -31,-124,-116, -31,-123, -90, -31,-121,-126, -31,-124,-116, - -31,-123, -90, -31,-121,-127, -31,-124,-116, -31,-123, -90, -31,-121,-128, -31,-124,-116, -31,-123, - -90, -31,-122, -65, -31,-124,-116, -31,-123, -90, -31,-122, -66, -31,-124,-116, -31,-123, -90, -31, --122, -67, -31,-124,-116, -31,-123, -90, -31,-122, -68, -31,-124,-116, -31,-123, -90, -31,-122, -69, - -31,-124,-116, -31,-123, -90, -31,-122, -70, -31,-124,-116, -31,-123, -90, -31,-122, -71, -31,-124, --116, -31,-123, -90, -31,-122, -72, -31,-124,-116, -31,-123, -90, -31,-122, -73, -31,-124,-116, -31, --123, -90, -31,-122, -74, -31,-124,-116, -31,-123, -90, -31,-122, -75, -31,-124,-116, -31,-123, -90, - -31,-122, -76, -31,-124,-116, -31,-123, -90, -31,-122, -77, -31,-124,-116, -31,-123, -90, -31,-122, - -78, -31,-124,-116, -31,-123, -90, -31,-122, -79, -31,-124,-116, -31,-123, -90, -31,-122, -80, -31, --124,-116, -31,-123, -90, -31,-122, -81, -31,-124,-116, -31,-123, -90, -31,-122, -82, -31,-124,-116, - -31,-123, -90, -31,-122, -83, -31,-124,-116, -31,-123, -90, -31,-122, -84, -31,-124,-116, -31,-123, - -90, -31,-122, -85, -31,-124,-116, -31,-123, -90, -31,-122, -86, -31,-124,-116, -31,-123, -90, -31, --122, -87, -31,-124,-116, -31,-123, -90, -31,-122, -88, -31,-124,-116, -31,-123, -91, -31,-121,-126, - -31,-124,-116, -31,-123, -91, -31,-121,-127, -31,-124,-116, -31,-123, -91, -31,-121,-128, -31,-124, --116, -31,-123, -91, -31,-122, -65, -31,-124,-116, -31,-123, -91, -31,-122, -66, -31,-124,-116, -31, --123, -91, -31,-122, -67, -31,-124,-116, -31,-123, -91, -31,-122, -68, -31,-124,-116, -31,-123, -91, - -31,-122, -69, -31,-124,-116, -31,-123, -91, -31,-122, -70, -31,-124,-116, -31,-123, -91, -31,-122, - -71, -31,-124,-116, -31,-123, -91, -31,-122, -72, -31,-124,-116, -31,-123, -91, -31,-122, -73, -31, --124,-116, -31,-123, -91, -31,-122, -74, -31,-124,-116, -31,-123, -91, -31,-122, -75, -31,-124,-116, - -31,-123, -91, -31,-122, -76, -31,-124,-116, -31,-123, -91, -31,-122, -77, -31,-124,-116, -31,-123, - -91, -31,-122, -78, -31,-124,-116, -31,-123, -91, -31,-122, -79, -31,-124,-116, -31,-123, -91, -31, --122, -80, -31,-124,-116, -31,-123, -91, -31,-122, -81, -31,-124,-116, -31,-123, -91, -31,-122, -82, - -31,-124,-116, -31,-123, -91, -31,-122, -83, -31,-124,-116, -31,-123, -91, -31,-122, -84, -31,-124, --116, -31,-123, -91, -31,-122, -86, -31,-124,-116, -31,-123, -91, -31,-122, -87, -31,-124,-116, -31, --123, -91, -31,-122, -88, -31,-124,-116, -31,-123, -92, -31,-121,-126, -31,-124,-116, -31,-123, -92, - -31,-121,-127, -31,-124,-116, -31,-123, -92, -31,-121,-128, -31,-124,-116, -31,-123, -92, -31,-122, - -65, -31,-124,-116, -31,-123, -92, -31,-122, -66, -31,-124,-116, -31,-123, -92, -31,-122, -67, -31, --124,-116, -31,-123, -92, -31,-122, -68, -31,-124,-116, -31,-123, -92, -31,-122, -69, -31,-124,-116, - -31,-123, -92, -31,-122, -70, -31,-124,-116, -31,-123, -92, -31,-122, -71, -31,-124,-116, -31,-123, - -92, -31,-122, -72, -31,-124,-116, -31,-123, -92, -31,-122, -73, -31,-124,-116, -31,-123, -92, -31, --122, -74, -31,-124,-116, -31,-123, -92, -31,-122, -75, -31,-124,-116, -31,-123, -92, -31,-122, -76, - -31,-124,-116, -31,-123, -92, -31,-122, -77, -31,-124,-116, -31,-123, -92, -31,-122, -78, -31,-124, --116, -31,-123, -92, -31,-122, -79, -31,-124,-116, -31,-123, -92, -31,-122, -80, -31,-124,-116, -31, --123, -92, -31,-122, -81, -31,-124,-116, -31,-123, -92, -31,-122, -82, -31,-124,-116, -31,-123, -92, - -31,-122, -83, -31,-124,-116, -31,-123, -92, -31,-122, -84, -31,-124,-116, -31,-123, -92, -31,-122, - -85, -31,-124,-116, -31,-123, -92, -31,-122, -86, -31,-124,-116, -31,-123, -92, -31,-122, -87, -31, --124,-116, -31,-123, -92, -31,-122, -88, -31,-124,-116, -31,-123, -93, -31,-121,-126, -31,-124,-116, - -31,-123, -93, -31,-121,-127, -31,-124,-116, -31,-123, -93, -31,-121,-128, -31,-124,-116, -31,-123, - -93, -31,-122, -65, -31,-124,-116, -31,-123, -93, -31,-122, -66, -31,-124,-116, -31,-123, -93, -31, --122, -67, -31,-124,-116, -31,-123, -93, -31,-122, -68, -31,-124,-116, -31,-123, -93, -31,-122, -69, - -31,-124,-116, -31,-123, -93, -31,-122, -70, -31,-124,-116, -31,-123, -93, -31,-122, -71, -31,-124, --116, -31,-123, -93, -31,-122, -72, -31,-124,-116, -31,-123, -93, -31,-122, -73, -31,-124,-116, -31, --123, -93, -31,-122, -74, -31,-124,-116, -31,-123, -93, -31,-122, -75, -31,-124,-116, -31,-123, -93, - -31,-122, -76, -31,-124,-116, -31,-123, -93, -31,-122, -77, -31,-124,-116, -31,-123, -93, -31,-122, - -78, -31,-124,-116, -31,-123, -93, -31,-122, -79, -31,-124,-116, -31,-123, -93, -31,-122, -80, -31, --124,-116, -31,-123, -93, -31,-122, -81, -31,-124,-116, -31,-123, -93, -31,-122, -82, -31,-124,-116, - -31,-123, -93, -31,-122, -83, -31,-124,-116, -31,-123, -93, -31,-122, -84, -31,-124,-116, -31,-123, - -93, -31,-122, -85, -31,-124,-116, -31,-123, -93, -31,-122, -86, -31,-124,-116, -31,-123, -93, -31, --122, -87, -31,-124,-116, -31,-123, -93, -31,-122, -88, -31,-124,-116, -31,-123, -94, -31,-121,-126, - -31,-124,-116, -31,-123, -94, -31,-121,-127, -31,-124,-116, -31,-123, -94, -31,-121,-128, -31,-124, --116, -31,-123, -94, -31,-122, -65, -31,-124,-116, -31,-123, -94, -31,-122, -66, -31,-124,-116, -31, --123, -94, -31,-122, -67, -31,-124,-116, -31,-123, -94, -31,-122, -68, -31,-124,-116, -31,-123, -94, - -31,-122, -69, -31,-124,-116, -31,-123, -94, -31,-122, -70, -31,-124,-116, -31,-123, -94, -31,-122, - -71, -31,-124,-116, -31,-123, -94, -31,-122, -72, -31,-124,-116, -31,-123, -94, -31,-122, -73, -31, --124,-116, -31,-123, -94, -31,-122, -74, -31,-124,-116, -31,-123, -94, -31,-122, -75, -31,-124,-116, - -31,-123, -94, -31,-122, -76, -31,-124,-116, -31,-123, -94, -31,-122, -77, -31,-124,-116, -31,-123, - -94, -31,-122, -78, -31,-124,-116, -31,-123, -94, -31,-122, -79, -31,-124,-116, -31,-123, -94, -31, --122, -80, -31,-124,-116, -31,-123, -94, -31,-122, -81, -31,-124,-116, -31,-123, -94, -31,-122, -82, - -31,-124,-116, -31,-123, -94, -31,-122, -83, -31,-124,-116, -31,-123, -94, -31,-122, -84, -31,-124, --116, -31,-123, -94, -31,-122, -85, -31,-124,-116, -31,-123, -94, -31,-122, -86, -31,-124,-116, -31, --123, -94, -31,-122, -87, -31,-124,-116, -31,-123, -94, -31,-122, -88, -31,-124,-116, -31,-123, -95, - -31,-121,-126, -31,-124,-116, -31,-123, -95, -31,-121,-127, -31,-124,-116, -31,-123, -95, -31,-121, --128, -31,-124,-116, -31,-123, -95, -31,-122, -65, -31,-124,-116, -31,-123, -95, -31,-122, -66, -31, --124,-116, -31,-123, -95, -31,-122, -67, -31,-124,-116, -31,-123, -95, -31,-122, -68, -31,-124,-116, - -31,-123, -95, -31,-122, -69, -31,-124,-116, -31,-123, -95, -31,-122, -70, -31,-124,-116, -31,-123, - -95, -31,-122, -71, -31,-124,-116, -31,-123, -95, -31,-122, -72, -31,-124,-116, -31,-123, -95, -31, --122, -73, -31,-124,-116, -31,-123, -95, -31,-122, -74, -31,-124,-116, -31,-123, -95, -31,-122, -75, - -31,-124,-116, -31,-123, -95, -31,-122, -76, -31,-124,-116, -31,-123, -95, -31,-122, -77, -31,-124, --116, -31,-123, -95, -31,-122, -78, -31,-124,-116, -31,-123, -95, -31,-122, -79, -31,-124,-116, -31, --123, -95, -31,-122, -80, -31,-124,-116, -31,-123, -95, -31,-122, -81, -31,-124,-116, -31,-123, -95, - -31,-122, -82, -31,-124,-116, -31,-123, -95, -31,-122, -83, -31,-124,-116, -31,-123, -95, -31,-122, - -84, -31,-124,-116, -31,-123, -95, -31,-122, -85, -31,-124,-116, -31,-123, -95, -31,-122, -86, -31, --124,-116, -31,-123, -95, -31,-122, -87, -31,-124,-116, -31,-123, -95, -31,-122, -88, -31,-124,-117, - -31,-123, -75, -31,-121,-126, -31,-124,-117, -31,-123, -75, -31,-121,-127, -31,-124,-117, -31,-123, - -75, -31,-121,-128, -31,-124,-117, -31,-123, -75, -31,-122, -65, -31,-124,-117, -31,-123, -75, -31, --122, -66, -31,-124,-117, -31,-123, -75, -31,-122, -67, -31,-124,-117, -31,-123, -75, -31,-122, -68, - -31,-124,-117, -31,-123, -75, -31,-122, -69, -31,-124,-117, -31,-123, -75, -31,-122, -70, -31,-124, --117, -31,-123, -75, -31,-122, -71, -31,-124,-117, -31,-123, -75, -31,-122, -72, -31,-124,-117, -31, --123, -75, -31,-122, -73, -31,-124,-117, -31,-123, -75, -31,-122, -74, -31,-124,-117, -31,-123, -75, - -31,-122, -75, -31,-124,-117, -31,-123, -75, -31,-122, -76, -31,-124,-117, -31,-123, -75, -31,-122, - -77, -31,-124,-117, -31,-123, -75, -31,-122, -78, -31,-124,-117, -31,-123, -75, -31,-122, -79, -31, --124,-117, -31,-123, -75, -31,-122, -80, -31,-124,-117, -31,-123, -75, -31,-122, -81, -31,-124,-117, - -31,-123, -75, -31,-122, -82, -31,-124,-117, -31,-123, -75, -31,-122, -83, -31,-124,-117, -31,-123, - -75, -31,-122, -84, -31,-124,-117, -31,-123, -75, -31,-122, -85, -31,-124,-117, -31,-123, -75, -31, --122, -86, -31,-124,-117, -31,-123, -75, -31,-122, -87, -31,-124,-117, -31,-123, -75, -31,-122, -88, - -31,-124,-117, -31,-123, -76, -31,-121,-126, -31,-124,-117, -31,-123, -76, -31,-121,-127, -31,-124, --117, -31,-123, -76, -31,-121,-128, -31,-124,-117, -31,-123, -76, -31,-122, -65, -31,-124,-117, -31, --123, -76, -31,-122, -66, -31,-124,-117, -31,-123, -76, -31,-122, -67, -31,-124,-117, -31,-123, -76, - -31,-122, -68, -31,-124,-117, -31,-123, -76, -31,-122, -69, -31,-124,-117, -31,-123, -76, -31,-122, - -70, -31,-124,-117, -31,-123, -76, -31,-122, -71, -31,-124,-117, -31,-123, -76, -31,-122, -72, -31, --124,-117, -31,-123, -76, -31,-122, -73, -31,-124,-117, -31,-123, -76, -31,-122, -74, -31,-124,-117, - -31,-123, -76, -31,-122, -75, -31,-124,-117, -31,-123, -76, -31,-122, -76, -31,-124,-117, -31,-123, - -76, -31,-122, -77, -31,-124,-117, -31,-123, -76, -31,-122, -78, -31,-124,-117, -31,-123, -76, -31, --122, -79, -31,-124,-117, -31,-123, -76, -31,-122, -80, -31,-124,-117, -31,-123, -76, -31,-122, -81, - -31,-124,-117, -31,-123, -76, -31,-122, -82, -31,-124,-117, -31,-123, -76, -31,-122, -83, -31,-124, --117, -31,-123, -76, -31,-122, -84, -31,-124,-117, -31,-123, -76, -31,-122, -85, -31,-124,-117, -31, --123, -76, -31,-122, -86, -31,-124,-117, -31,-123, -76, -31,-122, -87, -31,-124,-117, -31,-123, -76, - -31,-122, -88, -31,-124,-117, -31,-123, -77, -31,-121,-126, -31,-124,-117, -31,-123, -77, -31,-121, --127, -31,-124,-117, -31,-123, -77, -31,-121,-128, -31,-124,-117, -31,-123, -77, -31,-122, -65, -31, --124,-117, -31,-123, -77, -31,-122, -66, -31,-124,-117, -31,-123, -77, -31,-122, -67, -31,-124,-117, - -31,-123, -77, -31,-122, -68, -31,-124,-117, -31,-123, -77, -31,-122, -69, -31,-124,-117, -31,-123, - -77, -31,-122, -70, -31,-124,-117, -31,-123, -77, -31,-122, -71, -31,-124,-117, -31,-123, -77, -31, --122, -72, -31,-124,-117, -31,-123, -77, -31,-122, -73, -31,-124,-117, -31,-123, -77, -31,-122, -74, - -31,-124,-117, -31,-123, -77, -31,-122, -75, -31,-124,-117, -31,-123, -77, -31,-122, -76, -31,-124, --117, -31,-123, -77, -31,-122, -77, -31,-124,-117, -31,-123, -77, -31,-122, -78, -31,-124,-117, -31, --123, -77, -31,-122, -79, -31,-124,-117, -31,-123, -77, -31,-122, -80, -31,-124,-117, -31,-123, -77, - -31,-122, -81, -31,-124,-117, -31,-123, -77, -31,-122, -82, -31,-124,-117, -31,-123, -77, -31,-122, - -83, -31,-124,-117, -31,-123, -77, -31,-122, -84, -31,-124,-117, -31,-123, -77, -31,-122, -85, -31, --124,-117, -31,-123, -77, -31,-122, -86, -31,-124,-117, -31,-123, -77, -31,-122, -87, -31,-124,-117, - -31,-123, -77, -31,-122, -88, -31,-124,-117, -31,-123, -78, -31,-121,-126, -31,-124,-117, -31,-123, - -78, -31,-121,-127, -31,-124,-117, -31,-123, -78, -31,-121,-128, -31,-124,-117, -31,-123, -78, -31, --122, -65, -31,-124,-117, -31,-123, -78, -31,-122, -66, -31,-124,-117, -31,-123, -78, -31,-122, -67, - -31,-124,-117, -31,-123, -78, -31,-122, -68, -31,-124,-117, -31,-123, -78, -31,-122, -69, -31,-124, --117, -31,-123, -78, -31,-122, -70, -31,-124,-117, -31,-123, -78, -31,-122, -71, -31,-124,-117, -31, --123, -78, -31,-122, -72, -31,-124,-117, -31,-123, -78, -31,-122, -73, -31,-124,-117, -31,-123, -78, - -31,-122, -74, -31,-124,-117, -31,-123, -78, -31,-122, -75, -31,-124,-117, -31,-123, -78, -31,-122, - -76, -31,-124,-117, -31,-123, -78, -31,-122, -77, -31,-124,-117, -31,-123, -78, -31,-122, -78, -31, --124,-117, -31,-123, -78, -31,-122, -79, -31,-124,-117, -31,-123, -78, -31,-122, -80, -31,-124,-117, - -31,-123, -78, -31,-122, -81, -31,-124,-117, -31,-123, -78, -31,-122, -82, -31,-124,-117, -31,-123, - -78, -31,-122, -83, -31,-124,-117, -31,-123, -78, -31,-122, -84, -31,-124,-117, -31,-123, -78, -31, --122, -85, -31,-124,-117, -31,-123, -78, -31,-122, -86, -31,-124,-117, -31,-123, -78, -31,-122, -87, - -31,-124,-117, -31,-123, -78, -31,-122, -88, -31,-124,-117, -31,-123, -79, -31,-121,-126, -31,-124, --117, -31,-123, -79, -31,-121,-127, -31,-124,-117, -31,-123, -79, -31,-121,-128, -31,-124,-117, -31, --123, -79, -31,-122, -65, -31,-124,-117, -31,-123, -79, -31,-122, -66, -31,-124,-117, -31,-123, -79, - -31,-122, -67, -31,-124,-117, -31,-123, -79, -31,-122, -68, -31,-124,-117, -31,-123, -79, -31,-122, - -69, -31,-124,-117, -31,-123, -79, -31,-122, -70, -31,-124,-117, -31,-123, -79, -31,-122, -71, -31, --124,-117, -31,-123, -79, -31,-122, -72, -31,-124,-117, -31,-123, -79, -31,-122, -73, -31,-124,-117, - -31,-123, -79, -31,-122, -74, -31,-124,-117, -31,-123, -79, -31,-122, -75, -31,-124,-117, -31,-123, - -79, -31,-122, -76, -31,-124,-117, -31,-123, -79, -31,-122, -77, -31,-124,-117, -31,-123, -79, -31, --122, -78, -31,-124,-117, -31,-123, -79, -31,-122, -79, -31,-124,-117, -31,-123, -79, -31,-122, -80, - -31,-124,-117, -31,-123, -79, -31,-122, -81, -31,-124,-117, -31,-123, -79, -31,-122, -82, -31,-124, --117, -31,-123, -79, -31,-122, -83, -31,-124,-117, -31,-123, -79, -31,-122, -84, -31,-124,-117, -31, --123, -79, -31,-122, -85, -31,-124,-117, -31,-123, -79, -31,-122, -86, -31,-124,-117, -31,-123, -79, - -31,-122, -87, -31,-124,-117, -31,-123, -79, -31,-122, -88, -31,-124,-117, -31,-123, -80, -31,-121, --126, -31,-124,-117, -31,-123, -80, -31,-121,-127, -31,-124,-117, -31,-123, -80, -31,-121,-128, -31, --124,-117, -31,-123, -80, -31,-122, -65, -31,-124,-117, -31,-123, -80, -31,-122, -66, -31,-124,-117, - -31,-123, -80, -31,-122, -67, -31,-124,-117, -31,-123, -80, -31,-122, -68, -31,-124,-117, -31,-123, - -80, -31,-122, -69, -31,-124,-117, -31,-123, -80, -31,-122, -70, -31,-124,-117, -31,-123, -80, -31, --122, -71, -31,-124,-117, -31,-123, -80, -31,-122, -72, -31,-124,-117, -31,-123, -80, -31,-122, -73, - -31,-124,-117, -31,-123, -80, -31,-122, -74, -31,-124,-117, -31,-123, -80, -31,-122, -75, -31,-124, --117, -31,-123, -80, -31,-122, -76, -31,-124,-117, -31,-123, -80, -31,-122, -77, -31,-124,-117, -31, --123, -80, -31,-122, -78, -31,-124,-117, -31,-123, -80, -31,-122, -79, -31,-124,-117, -31,-123, -80, - -31,-122, -80, -31,-124,-117, -31,-123, -80, -31,-122, -81, -31,-124,-117, -31,-123, -80, -31,-122, - -82, -31,-124,-117, -31,-123, -80, -31,-122, -83, -31,-124,-117, -31,-123, -80, -31,-122, -84, -31, --124,-117, -31,-123, -80, -31,-122, -85, -31,-124,-117, -31,-123, -80, -31,-122, -86, -31,-124,-117, - -31,-123, -80, -31,-122, -87, -31,-124,-117, -31,-123, -80, -31,-122, -88, -31,-124,-117, -31,-123, - -81, -31,-121,-126, -31,-124,-117, -31,-123, -81, -31,-121,-127, -31,-124,-117, -31,-123, -81, -31, --121,-128, -31,-124,-117, -31,-123, -81, -31,-122, -65, -31,-124,-117, -31,-123, -81, -31,-122, -66, - -31,-124,-117, -31,-123, -81, -31,-122, -67, -31,-124,-117, -31,-123, -81, -31,-122, -68, -31,-124, --117, -31,-123, -81, -31,-122, -69, -31,-124,-117, -31,-123, -81, -31,-122, -70, -31,-124,-117, -31, --123, -81, -31,-122, -71, -31,-124,-117, -31,-123, -81, -31,-122, -72, -31,-124,-117, -31,-123, -81, - -31,-122, -73, -31,-124,-117, -31,-123, -81, -31,-122, -74, -31,-124,-117, -31,-123, -81, -31,-122, - -75, -31,-124,-117, -31,-123, -81, -31,-122, -76, -31,-124,-117, -31,-123, -81, -31,-122, -77, -31, --124,-117, -31,-123, -81, -31,-122, -78, -31,-124,-117, -31,-123, -81, -31,-122, -79, -31,-124,-117, - -31,-123, -81, -31,-122, -80, -31,-124,-117, -31,-123, -81, -31,-122, -81, -31,-124,-117, -31,-123, - -81, -31,-122, -82, -31,-124,-117, -31,-123, -81, -31,-122, -83, -31,-124,-117, -31,-123, -81, -31, --122, -84, -31,-124,-117, -31,-123, -81, -31,-122, -85, -31,-124,-117, -31,-123, -81, -31,-122, -86, - -31,-124,-117, -31,-123, -81, -31,-122, -87, -31,-124,-117, -31,-123, -81, -31,-122, -88, -31,-124, --117, -31,-123, -82, -31,-121,-126, -31,-124,-117, -31,-123, -82, -31,-121,-127, -31,-124,-117, -31, --123, -82, -31,-121,-128, -31,-124,-117, -31,-123, -82, -31,-122, -65, -31,-124,-117, -31,-123, -82, - -31,-122, -66, -31,-124,-117, -31,-123, -82, -31,-122, -67, -31,-124,-117, -31,-123, -82, -31,-122, - -68, -31,-124,-117, -31,-123, -82, -31,-122, -69, -31,-124,-117, -31,-123, -82, -31,-122, -70, -31, --124,-117, -31,-123, -82, -31,-122, -71, -31,-124,-117, -31,-123, -82, -31,-122, -72, -31,-124,-117, - -31,-123, -82, -31,-122, -73, -31,-124,-117, -31,-123, -82, -31,-122, -74, -31,-124,-117, -31,-123, - -82, -31,-122, -75, -31,-124,-117, -31,-123, -82, -31,-122, -76, -31,-124,-117, -31,-123, -82, -31, --122, -77, -31,-124,-117, -31,-123, -82, -31,-122, -78, -31,-124,-117, -31,-123, -82, -31,-122, -79, - -31,-124,-117, -31,-123, -82, -31,-122, -80, -31,-124,-117, -31,-123, -82, -31,-122, -81, -31,-124, --117, -31,-123, -82, -31,-122, -82, -31,-124,-117, -31,-123, -82, -31,-122, -83, -31,-124,-117, -31, --123, -82, -31,-122, -84, -31,-124,-117, -31,-123, -82, -31,-122, -85, -31,-124,-117, -31,-123, -82, - -31,-122, -86, -31,-124,-117, -31,-123, -82, -31,-122, -87, -31,-124,-117, -31,-123, -82, -31,-122, - -88, -31,-124,-117, -31,-123, -83, -31,-121,-126, -31,-124,-117, -31,-123, -83, -31,-121,-127, -31, --124,-117, -31,-123, -83, -31,-121,-128, -31,-124,-117, -31,-123, -83, -31,-122, -65, -31,-124,-117, - -31,-123, -83, -31,-122, -66, -31,-124,-117, -31,-123, -83, -31,-122, -67, -31,-124,-117, -31,-123, - -83, -31,-122, -68, -31,-124,-117, -31,-123, -83, -31,-122, -69, -31,-124,-117, -31,-123, -83, -31, --122, -70, -31,-124,-117, -31,-123, -83, -31,-122, -71, -31,-124,-117, -31,-123, -83, -31,-122, -72, - -31,-124,-117, -31,-123, -83, -31,-122, -73, -31,-124,-117, -31,-123, -83, -31,-122, -74, -31,-124, --117, -31,-123, -83, -31,-122, -75, -31,-124,-117, -31,-123, -83, -31,-122, -76, -31,-124,-117, -31, --123, -83, -31,-122, -77, -31,-124,-117, -31,-123, -83, -31,-122, -78, -31,-124,-117, -31,-123, -83, - -31,-122, -79, -31,-124,-117, -31,-123, -83, -31,-122, -80, -31,-124,-117, -31,-123, -83, -31,-122, - -81, -31,-124,-117, -31,-123, -83, -31,-122, -82, -31,-124,-117, -31,-123, -83, -31,-122, -83, -31, --124,-117, -31,-123, -83, -31,-122, -84, -31,-124,-117, -31,-123, -83, -31,-122, -85, -31,-124,-117, - -31,-123, -83, -31,-122, -86, -31,-124,-117, -31,-123, -83, -31,-122, -87, -31,-124,-117, -31,-123, - -83, -31,-122, -88, -31,-124,-117, -31,-123, -84, -31,-121,-126, -31,-124,-117, -31,-123, -84, -31, --121,-127, -31,-124,-117, -31,-123, -84, -31,-121,-128, -31,-124,-117, -31,-123, -84, -31,-122, -65, - -31,-124,-117, -31,-123, -84, -31,-122, -66, -31,-124,-117, -31,-123, -84, -31,-122, -67, -31,-124, --117, -31,-123, -84, -31,-122, -68, -31,-124,-117, -31,-123, -84, -31,-122, -69, -31,-124,-117, -31, --123, -84, -31,-122, -70, -31,-124,-117, -31,-123, -84, -31,-122, -71, -31,-124,-117, -31,-123, -84, - -31,-122, -72, -31,-124,-117, -31,-123, -84, -31,-122, -73, -31,-124,-117, -31,-123, -84, -31,-122, - -74, -31,-124,-117, -31,-123, -84, -31,-122, -75, -31,-124,-117, -31,-123, -84, -31,-122, -76, -31, --124,-117, -31,-123, -84, -31,-122, -77, -31,-124,-117, -31,-123, -84, -31,-122, -78, -31,-124,-117, - -31,-123, -84, -31,-122, -79, -31,-124,-117, -31,-123, -84, -31,-122, -80, -31,-124,-117, -31,-123, - -84, -31,-122, -81, -31,-124,-117, -31,-123, -84, -31,-122, -82, -31,-124,-117, -31,-123, -84, -31, --122, -83, -31,-124,-117, -31,-123, -84, -31,-122, -84, -31,-124,-117, -31,-123, -84, -31,-122, -85, - -31,-124,-117, -31,-123, -84, -31,-122, -86, -31,-124,-117, -31,-123, -84, -31,-122, -87, -31,-124, --117, -31,-123, -84, -31,-122, -88, -31,-124,-117, -31,-123, -85, -31,-121,-126, -31,-124,-117, -31, --123, -85, -31,-121,-127, -31,-124,-117, -31,-123, -85, -31,-121,-128, -31,-124,-117, -31,-123, -85, - -31,-122, -65, -31,-124,-117, -31,-123, -85, -31,-122, -66, -31,-124,-117, -31,-123, -85, -31,-122, - -67, -31,-124,-117, -31,-123, -85, -31,-122, -68, -31,-124,-117, -31,-123, -85, -31,-122, -69, -31, --124,-117, -31,-123, -85, -31,-122, -70, -31,-124,-117, -31,-123, -85, -31,-122, -71, -31,-124,-117, - -31,-123, -85, -31,-122, -72, -31,-124,-117, -31,-123, -85, -31,-122, -73, -31,-124,-117, -31,-123, - -85, -31,-122, -74, -31,-124,-117, -31,-123, -85, -31,-122, -75, -31,-124,-117, -31,-123, -85, -31, --122, -76, -31,-124,-117, -31,-123, -85, -31,-122, -77, -31,-124,-117, -31,-123, -85, -31,-122, -78, - -31,-124,-117, -31,-123, -85, -31,-122, -79, -31,-124,-117, -31,-123, -85, -31,-122, -80, -31,-124, --117, -31,-123, -85, -31,-122, -81, -31,-124,-117, -31,-123, -85, -31,-122, -82, -31,-124,-117, -31, --123, -85, -31,-122, -83, -31,-124,-117, -31,-123, -85, -31,-122, -84, -31,-124,-117, -31,-123, -85, - -31,-122, -85, -31,-124,-117, -31,-123, -85, -31,-122, -86, -31,-124,-117, -31,-123, -85, -31,-122, - -87, -31,-124,-117, -31,-123, -85, -31,-122, -88, -31,-124,-117, -31,-123, -86, -31,-121,-126, -31, --124,-117, -31,-123, -86, -31,-121,-127, -31,-124,-117, -31,-123, -86, -31,-121,-128, -31,-124,-117, - -31,-123, -86, -31,-122, -65, -31,-124,-117, -31,-123, -86, -31,-122, -66, -31,-124,-117, -31,-123, - -86, -31,-122, -67, -31,-124,-117, -31,-123, -86, -31,-122, -68, -31,-124,-117, -31,-123, -86, -31, --122, -69, -31,-124,-117, -31,-123, -86, -31,-122, -70, -31,-124,-117, -31,-123, -86, -31,-122, -71, - -31,-124,-117, -31,-123, -86, -31,-122, -72, -31,-124,-117, -31,-123, -86, -31,-122, -73, -31,-124, --117, -31,-123, -86, -31,-122, -74, -31,-124,-117, -31,-123, -86, -31,-122, -75, -31,-124,-117, -31, --123, -86, -31,-122, -76, -31,-124,-117, -31,-123, -86, -31,-122, -77, -31,-124,-117, -31,-123, -86, - -31,-122, -78, -31,-124,-117, -31,-123, -86, -31,-122, -79, -31,-124,-117, -31,-123, -86, -31,-122, - -80, -31,-124,-117, -31,-123, -86, -31,-122, -81, -31,-124,-117, -31,-123, -86, -31,-122, -82, -31, --124,-117, -31,-123, -86, -31,-122, -83, -31,-124,-117, -31,-123, -86, -31,-122, -84, -31,-124,-117, - -31,-123, -86, -31,-122, -85, -31,-124,-117, -31,-123, -86, -31,-122, -86, -31,-124,-117, -31,-123, - -86, -31,-122, -87, -31,-124,-117, -31,-123, -86, -31,-122, -88, -31,-124,-117, -31,-123, -87, -31, --121,-126, -31,-124,-117, -31,-123, -87, -31,-121,-127, -31,-124,-117, -31,-123, -87, -31,-121,-128, - -31,-124,-117, -31,-123, -87, -31,-122, -65, -31,-124,-117, -31,-123, -87, -31,-122, -66, -31,-124, --117, -31,-123, -87, -31,-122, -67, -31,-124,-117, -31,-123, -87, -31,-122, -68, -31,-124,-117, -31, --123, -87, -31,-122, -69, -31,-124,-117, -31,-123, -87, -31,-122, -70, -31,-124,-117, -31,-123, -87, - -31,-122, -71, -31,-124,-117, -31,-123, -87, -31,-122, -72, -31,-124,-117, -31,-123, -87, -31,-122, - -73, -31,-124,-117, -31,-123, -87, -31,-122, -74, -31,-124,-117, -31,-123, -87, -31,-122, -75, -31, --124,-117, -31,-123, -87, -31,-122, -76, -31,-124,-117, -31,-123, -87, -31,-122, -77, -31,-124,-117, - -31,-123, -87, -31,-122, -78, -31,-124,-117, -31,-123, -87, -31,-122, -79, -31,-124,-117, -31,-123, - -87, -31,-122, -80, -31,-124,-117, -31,-123, -87, -31,-122, -81, -31,-124,-117, -31,-123, -87, -31, --122, -82, -31,-124,-117, -31,-123, -87, -31,-122, -83, -31,-124,-117, -31,-123, -87, -31,-122, -84, - -31,-124,-117, -31,-123, -87, -31,-122, -85, -31,-124,-117, -31,-123, -87, -31,-122, -86, -31,-124, --117, -31,-123, -87, -31,-122, -87, -31,-124,-117, -31,-123, -87, -31,-122, -88, -31,-124,-117, -31, --123, -88, -31,-121,-126, -31,-124,-117, -31,-123, -88, -31,-121,-127, -31,-124,-117, -31,-123, -88, - -31,-121,-128, -31,-124,-117, -31,-123, -88, -31,-122, -65, -31,-124,-117, -31,-123, -88, -31,-122, - -66, -31,-124,-117, -31,-123, -88, -31,-122, -67, -31,-124,-117, -31,-123, -88, -31,-122, -68, -31, --124,-117, -31,-123, -88, -31,-122, -69, -31,-124,-117, -31,-123, -88, -31,-122, -70, -31,-124,-117, - -31,-123, -88, -31,-122, -71, -31,-124,-117, -31,-123, -88, -31,-122, -72, -31,-124,-117, -31,-123, - -88, -31,-122, -73, -31,-124,-117, -31,-123, -88, -31,-122, -74, -31,-124,-117, -31,-123, -88, -31, --122, -75, -31,-124,-117, -31,-123, -88, -31,-122, -76, -31,-124,-117, -31,-123, -88, -31,-122, -77, - -31,-124,-117, -31,-123, -88, -31,-122, -78, -31,-124,-117, -31,-123, -88, -31,-122, -79, -31,-124, --117, -31,-123, -88, -31,-122, -80, -31,-124,-117, -31,-123, -88, -31,-122, -81, -31,-124,-117, -31, --123, -88, -31,-122, -82, -31,-124,-117, -31,-123, -88, -31,-122, -83, -31,-124,-117, -31,-123, -88, - -31,-122, -84, -31,-124,-117, -31,-123, -88, -31,-122, -85, -31,-124,-117, -31,-123, -88, -31,-122, - -86, -31,-124,-117, -31,-123, -88, -31,-122, -87, -31,-124,-117, -31,-123, -88, -31,-122, -88, -31, --124,-117, -31,-123, -89, -31,-121,-126, -31,-124,-117, -31,-123, -89, -31,-121,-127, -31,-124,-117, - -31,-123, -89, -31,-121,-128, -31,-124,-117, -31,-123, -89, -31,-122, -65, -31,-124,-117, -31,-123, - -89, -31,-122, -66, -31,-124,-117, -31,-123, -89, -31,-122, -67, -31,-124,-117, -31,-123, -89, -31, --122, -68, -31,-124,-117, -31,-123, -89, -31,-122, -69, -31,-124,-117, -31,-123, -89, -31,-122, -70, - -31,-124,-117, -31,-123, -89, -31,-122, -71, -31,-124,-117, -31,-123, -89, -31,-122, -72, -31,-124, --117, -31,-123, -89, -31,-122, -73, -31,-124,-117, -31,-123, -89, -31,-122, -74, -31,-124,-117, -31, --123, -89, -31,-122, -75, -31,-124,-117, -31,-123, -89, -31,-122, -76, -31,-124,-117, -31,-123, -89, - -31,-122, -77, -31,-124,-117, -31,-123, -89, -31,-122, -78, -31,-124,-117, -31,-123, -89, -31,-122, - -79, -31,-124,-117, -31,-123, -89, -31,-122, -80, -31,-124,-117, -31,-123, -89, -31,-122, -81, -31, --124,-117, -31,-123, -89, -31,-122, -82, -31,-124,-117, -31,-123, -89, -31,-122, -83, -31,-124,-117, - -31,-123, -89, -31,-122, -84, -31,-124,-117, -31,-123, -89, -31,-122, -85, -31,-124,-117, -31,-123, - -89, -31,-122, -86, -31,-124,-117, -31,-123, -89, -31,-122, -87, -31,-124,-117, -31,-123, -89, -31, --122, -88, -31,-124,-117, -31,-123, -90, -31,-121,-126, -31,-124,-117, -31,-123, -90, -31,-121,-127, - -31,-124,-117, -31,-123, -90, -31,-121,-128, -31,-124,-117, -31,-123, -90, -31,-122, -65, -31,-124, --117, -31,-123, -90, -31,-122, -66, -31,-124,-117, -31,-123, -90, -31,-122, -67, -31,-124,-117, -31, --123, -90, -31,-122, -68, -31,-124,-117, -31,-123, -90, -31,-122, -69, -31,-124,-117, -31,-123, -90, - -31,-122, -70, -31,-124,-117, -31,-123, -90, -31,-122, -71, -31,-124,-117, -31,-123, -90, -31,-122, - -72, -31,-124,-117, -31,-123, -90, -31,-122, -73, -31,-124,-117, -31,-123, -90, -31,-122, -74, -31, --124,-117, -31,-123, -90, -31,-122, -75, -31,-124,-117, -31,-123, -90, -31,-122, -76, -31,-124,-117, - -31,-123, -90, -31,-122, -77, -31,-124,-117, -31,-123, -90, -31,-122, -78, -31,-124,-117, -31,-123, - -90, -31,-122, -79, -31,-124,-117, -31,-123, -90, -31,-122, -80, -31,-124,-117, -31,-123, -90, -31, --122, -81, -31,-124,-117, -31,-123, -90, -31,-122, -82, -31,-124,-117, -31,-123, -90, -31,-122, -83, - -31,-124,-117, -31,-123, -90, -31,-122, -84, -31,-124,-117, -31,-123, -90, -31,-122, -85, -31,-124, --117, -31,-123, -90, -31,-122, -86, -31,-124,-117, -31,-123, -90, -31,-122, -87, -31,-124,-117, -31, --123, -90, -31,-122, -88, -31,-124,-117, -31,-123, -91, -31,-121,-126, -31,-124,-117, -31,-123, -91, - -31,-121,-127, -31,-124,-117, -31,-123, -91, -31,-121,-128, -31,-124,-117, -31,-123, -91, -31,-122, - -65, -31,-124,-117, -31,-123, -91, -31,-122, -66, -31,-124,-117, -31,-123, -91, -31,-122, -67, -31, --124,-117, -31,-123, -91, -31,-122, -68, -31,-124,-117, -31,-123, -91, -31,-122, -69, -31,-124,-117, - -31,-123, -91, -31,-122, -70, -31,-124,-117, -31,-123, -91, -31,-122, -71, -31,-124,-117, -31,-123, - -91, -31,-122, -72, -31,-124,-117, -31,-123, -91, -31,-122, -73, -31,-124,-117, -31,-123, -91, -31, --122, -74, -31,-124,-117, -31,-123, -91, -31,-122, -75, -31,-124,-117, -31,-123, -91, -31,-122, -76, - -31,-124,-117, -31,-123, -91, -31,-122, -77, -31,-124,-117, -31,-123, -91, -31,-122, -78, -31,-124, --117, -31,-123, -91, -31,-122, -79, -31,-124,-117, -31,-123, -91, -31,-122, -80, -31,-124,-117, -31, --123, -91, -31,-122, -81, -31,-124,-117, -31,-123, -91, -31,-122, -82, -31,-124,-117, -31,-123, -91, - -31,-122, -83, -31,-124,-117, -31,-123, -91, -31,-122, -84, -31,-124,-117, -31,-123, -91, -31,-122, - -85, -31,-124,-117, -31,-123, -91, -31,-122, -86, -31,-124,-117, -31,-123, -91, -31,-122, -87, -31, --124,-117, -31,-123, -91, -31,-122, -88, -31,-124,-117, -31,-123, -92, -31,-121,-126, -31,-124,-117, - -31,-123, -92, -31,-121,-127, -31,-124,-117, -31,-123, -92, -31,-121,-128, -31,-124,-117, -31,-123, - -92, -31,-122, -65, -31,-124,-117, -31,-123, -92, -31,-122, -66, -31,-124,-117, -31,-123, -92, -31, --122, -67, -31,-124,-117, -31,-123, -92, -31,-122, -68, -31,-124,-117, -31,-123, -92, -31,-122, -69, - -31,-124,-117, -31,-123, -92, -31,-122, -70, -31,-124,-117, -31,-123, -92, -31,-122, -71, -31,-124, --117, -31,-123, -92, -31,-122, -72, -31,-124,-117, -31,-123, -92, -31,-122, -73, -31,-124,-117, -31, --123, -92, -31,-122, -74, -31,-124,-117, -31,-123, -92, -31,-122, -75, -31,-124,-117, -31,-123, -92, - -31,-122, -76, -31,-124,-117, -31,-123, -92, -31,-122, -77, -31,-124,-117, -31,-123, -92, -31,-122, - -78, -31,-124,-117, -31,-123, -92, -31,-122, -79, -31,-124,-117, -31,-123, -92, -31,-122, -80, -31, --124,-117, -31,-123, -92, -31,-122, -81, -31,-124,-117, -31,-123, -92, -31,-122, -82, -31,-124,-117, - -31,-123, -92, -31,-122, -83, -31,-124,-117, -31,-123, -92, -31,-122, -84, -31,-124,-117, -31,-123, - -92, -31,-122, -85, -31,-124,-117, -31,-123, -92, -31,-122, -86, -31,-124,-117, -31,-123, -92, -31, --122, -87, -31,-124,-117, -31,-123, -92, -31,-122, -88, -31,-124,-117, -31,-123, -93, -31,-121,-126, - -31,-124,-117, -31,-123, -93, -31,-121,-127, -31,-124,-117, -31,-123, -93, -31,-121,-128, -31,-124, --117, -31,-123, -93, -31,-122, -65, -31,-124,-117, -31,-123, -93, -31,-122, -66, -31,-124,-117, -31, --123, -93, -31,-122, -67, -31,-124,-117, -31,-123, -93, -31,-122, -68, -31,-124,-117, -31,-123, -93, - -31,-122, -69, -31,-124,-117, -31,-123, -93, -31,-122, -70, -31,-124,-117, -31,-123, -93, -31,-122, - -71, -31,-124,-117, -31,-123, -93, -31,-122, -72, -31,-124,-117, -31,-123, -93, -31,-122, -73, -31, --124,-117, -31,-123, -93, -31,-122, -74, -31,-124,-117, -31,-123, -93, -31,-122, -75, -31,-124,-117, - -31,-123, -93, -31,-122, -76, -31,-124,-117, -31,-123, -93, -31,-122, -77, -31,-124,-117, -31,-123, - -93, -31,-122, -78, -31,-124,-117, -31,-123, -93, -31,-122, -79, -31,-124,-117, -31,-123, -93, -31, --122, -80, -31,-124,-117, -31,-123, -93, -31,-122, -81, -31,-124,-117, -31,-123, -93, -31,-122, -82, - -31,-124,-117, -31,-123, -93, -31,-122, -83, -31,-124,-117, -31,-123, -93, -31,-122, -84, -31,-124, --117, -31,-123, -93, -31,-122, -85, -31,-124,-117, -31,-123, -93, -31,-122, -86, -31,-124,-117, -31, --123, -93, -31,-122, -87, -31,-124,-117, -31,-123, -93, -31,-122, -88, -31,-124,-117, -31,-123, -94, - -31,-121,-126, -31,-124,-117, -31,-123, -94, -31,-121,-127, -31,-124,-117, -31,-123, -94, -31,-121, --128, -31,-124,-117, -31,-123, -94, -31,-122, -65, -31,-124,-117, -31,-123, -94, -31,-122, -66, -31, --124,-117, -31,-123, -94, -31,-122, -67, -31,-124,-117, -31,-123, -94, -31,-122, -68, -31,-124,-117, - -31,-123, -94, -31,-122, -69, -31,-124,-117, -31,-123, -94, -31,-122, -70, -31,-124,-117, -31,-123, - -94, -31,-122, -71, -31,-124,-117, -31,-123, -94, -31,-122, -72, -31,-124,-117, -31,-123, -94, -31, --122, -73, -31,-124,-117, -31,-123, -94, -31,-122, -74, -31,-124,-117, -31,-123, -94, -31,-122, -75, - -31,-124,-117, -31,-123, -94, -31,-122, -76, -31,-124,-117, -31,-123, -94, -31,-122, -77, -31,-124, --117, -31,-123, -94, -31,-122, -78, -31,-124,-117, -31,-123, -94, -31,-122, -79, -31,-124,-117, -31, --123, -94, -31,-122, -80, -31,-124,-117, -31,-123, -94, -31,-122, -81, -31,-124,-117, -31,-123, -94, - -31,-122, -82, -31,-124,-117, -31,-123, -94, -31,-122, -83, -31,-124,-117, -31,-123, -94, -31,-122, - -84, -31,-124,-117, -31,-123, -94, -31,-122, -85, -31,-124,-117, -31,-123, -94, -31,-122, -86, -31, --124,-117, -31,-123, -94, -31,-122, -87, -31,-124,-117, -31,-123, -94, -31,-122, -88, -31,-124,-117, - -31,-123, -95, -31,-121,-126, -31,-124,-117, -31,-123, -95, -31,-121,-127, -31,-124,-117, -31,-123, - -95, -31,-121,-128, -31,-124,-117, -31,-123, -95, -31,-122, -65, -31,-124,-117, -31,-123, -95, -31, --122, -66, -31,-124,-117, -31,-123, -95, -31,-122, -67, -31,-124,-117, -31,-123, -95, -31,-122, -68, - -31,-124,-117, -31,-123, -95, -31,-122, -69, -31,-124,-117, -31,-123, -95, -31,-122, -70, -31,-124, --117, -31,-123, -95, -31,-122, -71, -31,-124,-117, -31,-123, -95, -31,-122, -72, -31,-124,-117, -31, --123, -95, -31,-122, -73, -31,-124,-117, -31,-123, -95, -31,-122, -74, -31,-124,-117, -31,-123, -95, - -31,-122, -75, -31,-124,-117, -31,-123, -95, -31,-122, -76, -31,-124,-117, -31,-123, -95, -31,-122, - -77, -31,-124,-117, -31,-123, -95, -31,-122, -78, -31,-124,-117, -31,-123, -95, -31,-122, -79, -31, --124,-117, -31,-123, -95, -31,-122, -80, -31,-124,-117, -31,-123, -95, -31,-122, -81, -31,-124,-117, - -31,-123, -95, -31,-122, -82, -31,-124,-117, -31,-123, -95, -31,-122, -83, -31,-124,-117, -31,-123, - -95, -31,-122, -84, -31,-124,-117, -31,-123, -95, -31,-122, -85, -31,-124,-117, -31,-123, -95, -31, --122, -86, -31,-124,-117, -31,-123, -95, -31,-122, -87, -31,-124,-117, -31,-123, -95, -31,-122, -88, - -31,-124,-118, -31,-123, -75, -31,-121,-126, -31,-124,-118, -31,-123, -75, -31,-121,-127, -31,-124, --118, -31,-123, -75, -31,-121,-128, -31,-124,-118, -31,-123, -75, -31,-122, -65, -31,-124,-118, -31, --123, -75, -31,-122, -66, -31,-124,-118, -31,-123, -75, -31,-122, -67, -31,-124,-118, -31,-123, -75, - -31,-122, -68, -31,-124,-118, -31,-123, -75, -31,-122, -69, -31,-124,-118, -31,-123, -75, -31,-122, - -70, -31,-124,-118, -31,-123, -75, -31,-122, -71, -31,-124,-118, -31,-123, -75, -31,-122, -72, -31, --124,-118, -31,-123, -75, -31,-122, -73, -31,-124,-118, -31,-123, -75, -31,-122, -74, -31,-124,-118, - -31,-123, -75, -31,-122, -75, -31,-124,-118, -31,-123, -75, -31,-122, -76, -31,-124,-118, -31,-123, - -75, -31,-122, -77, -31,-124,-118, -31,-123, -75, -31,-122, -78, -31,-124,-118, -31,-123, -75, -31, --122, -79, -31,-124,-118, -31,-123, -75, -31,-122, -80, -31,-124,-118, -31,-123, -75, -31,-122, -81, - -31,-124,-118, -31,-123, -75, -31,-122, -82, -31,-124,-118, -31,-123, -75, -31,-122, -83, -31,-124, --118, -31,-123, -75, -31,-122, -84, -31,-124,-118, -31,-123, -75, -31,-122, -85, -31,-124,-118, -31, --123, -75, -31,-122, -86, -31,-124,-118, -31,-123, -75, -31,-122, -87, -31,-124,-118, -31,-123, -75, - -31,-122, -88, -31,-124,-118, -31,-123, -76, -31,-121,-126, -31,-124,-118, -31,-123, -76, -31,-121, --127, -31,-124,-118, -31,-123, -76, -31,-121,-128, -31,-124,-118, -31,-123, -76, -31,-122, -65, -31, --124,-118, -31,-123, -76, -31,-122, -66, -31,-124,-118, -31,-123, -76, -31,-122, -67, -31,-124,-118, - -31,-123, -76, -31,-122, -68, -31,-124,-118, -31,-123, -76, -31,-122, -69, -31,-124,-118, -31,-123, - -76, -31,-122, -70, -31,-124,-118, -31,-123, -76, -31,-122, -71, -31,-124,-118, -31,-123, -76, -31, --122, -72, -31,-124,-118, -31,-123, -76, -31,-122, -73, -31,-124,-118, -31,-123, -76, -31,-122, -74, - -31,-124,-118, -31,-123, -76, -31,-122, -75, -31,-124,-118, -31,-123, -76, -31,-122, -76, -31,-124, --118, -31,-123, -76, -31,-122, -77, -31,-124,-118, -31,-123, -76, -31,-122, -78, -31,-124,-118, -31, --123, -76, -31,-122, -79, -31,-124,-118, -31,-123, -76, -31,-122, -80, -31,-124,-118, -31,-123, -76, - -31,-122, -81, -31,-124,-118, -31,-123, -76, -31,-122, -82, -31,-124,-118, -31,-123, -76, -31,-122, - -83, -31,-124,-118, -31,-123, -76, -31,-122, -84, -31,-124,-118, -31,-123, -76, -31,-122, -85, -31, --124,-118, -31,-123, -76, -31,-122, -86, -31,-124,-118, -31,-123, -76, -31,-122, -87, -31,-124,-118, - -31,-123, -76, -31,-122, -88, -31,-124,-118, -31,-123, -77, -31,-121,-126, -31,-124,-118, -31,-123, - -77, -31,-121,-127, -31,-124,-118, -31,-123, -77, -31,-121,-128, -31,-124,-118, -31,-123, -77, -31, --122, -65, -31,-124,-118, -31,-123, -77, -31,-122, -66, -31,-124,-118, -31,-123, -77, -31,-122, -67, - -31,-124,-118, -31,-123, -77, -31,-122, -68, -31,-124,-118, -31,-123, -77, -31,-122, -69, -31,-124, --118, -31,-123, -77, -31,-122, -70, -31,-124,-118, -31,-123, -77, -31,-122, -71, -31,-124,-118, -31, --123, -77, -31,-122, -72, -31,-124,-118, -31,-123, -77, -31,-122, -73, -31,-124,-118, -31,-123, -77, - -31,-122, -74, -31,-124,-118, -31,-123, -77, -31,-122, -75, -31,-124,-118, -31,-123, -77, -31,-122, - -76, -31,-124,-118, -31,-123, -77, -31,-122, -77, -31,-124,-118, -31,-123, -77, -31,-122, -78, -31, --124,-118, -31,-123, -77, -31,-122, -79, -31,-124,-118, -31,-123, -77, -31,-122, -80, -31,-124,-118, - -31,-123, -77, -31,-122, -81, -31,-124,-118, -31,-123, -77, -31,-122, -82, -31,-124,-118, -31,-123, - -77, -31,-122, -83, -31,-124,-118, -31,-123, -77, -31,-122, -84, -31,-124,-118, -31,-123, -77, -31, --122, -85, -31,-124,-118, -31,-123, -77, -31,-122, -86, -31,-124,-118, -31,-123, -77, -31,-122, -87, - -31,-124,-118, -31,-123, -77, -31,-122, -88, -31,-124,-118, -31,-123, -78, -31,-121,-126, -31,-124, --118, -31,-123, -78, -31,-121,-127, -31,-124,-118, -31,-123, -78, -31,-121,-128, -31,-124,-118, -31, --123, -78, -31,-122, -65, -31,-124,-118, -31,-123, -78, -31,-122, -66, -31,-124,-118, -31,-123, -78, - -31,-122, -67, -31,-124,-118, -31,-123, -78, -31,-122, -68, -31,-124,-118, -31,-123, -78, -31,-122, - -69, -31,-124,-118, -31,-123, -78, -31,-122, -70, -31,-124,-118, -31,-123, -78, -31,-122, -71, -31, --124,-118, -31,-123, -78, -31,-122, -72, -31,-124,-118, -31,-123, -78, -31,-122, -73, -31,-124,-118, - -31,-123, -78, -31,-122, -74, -31,-124,-118, -31,-123, -78, -31,-122, -75, -31,-124,-118, -31,-123, - -78, -31,-122, -76, -31,-124,-118, -31,-123, -78, -31,-122, -77, -31,-124,-118, -31,-123, -78, -31, --122, -78, -31,-124,-118, -31,-123, -78, -31,-122, -79, -31,-124,-118, -31,-123, -78, -31,-122, -80, - -31,-124,-118, -31,-123, -78, -31,-122, -81, -31,-124,-118, -31,-123, -78, -31,-122, -82, -31,-124, --118, -31,-123, -78, -31,-122, -83, -31,-124,-118, -31,-123, -78, -31,-122, -84, -31,-124,-118, -31, --123, -78, -31,-122, -85, -31,-124,-118, -31,-123, -78, -31,-122, -86, -31,-124,-118, -31,-123, -78, - -31,-122, -87, -31,-124,-118, -31,-123, -78, -31,-122, -88, -31,-124,-118, -31,-123, -79, -31,-121, --126, -31,-124,-118, -31,-123, -79, -31,-121,-127, -31,-124,-118, -31,-123, -79, -31,-121,-128, -31, --124,-118, -31,-123, -79, -31,-122, -65, -31,-124,-118, -31,-123, -79, -31,-122, -66, -31,-124,-118, - -31,-123, -79, -31,-122, -67, -31,-124,-118, -31,-123, -79, -31,-122, -68, -31,-124,-118, -31,-123, - -79, -31,-122, -69, -31,-124,-118, -31,-123, -79, -31,-122, -70, -31,-124,-118, -31,-123, -79, -31, --122, -71, -31,-124,-118, -31,-123, -79, -31,-122, -72, -31,-124,-118, -31,-123, -79, -31,-122, -73, - -31,-124,-118, -31,-123, -79, -31,-122, -74, -31,-124,-118, -31,-123, -79, -31,-122, -75, -31,-124, --118, -31,-123, -79, -31,-122, -76, -31,-124,-118, -31,-123, -79, -31,-122, -77, -31,-124,-118, -31, --123, -79, -31,-122, -78, -31,-124,-118, -31,-123, -79, -31,-122, -79, -31,-124,-118, -31,-123, -79, - -31,-122, -80, -31,-124,-118, -31,-123, -79, -31,-122, -81, -31,-124,-118, -31,-123, -79, -31,-122, - -82, -31,-124,-118, -31,-123, -79, -31,-122, -83, -31,-124,-118, -31,-123, -79, -31,-122, -84, -31, --124,-118, -31,-123, -79, -31,-122, -85, -31,-124,-118, -31,-123, -79, -31,-122, -86, -31,-124,-118, - -31,-123, -79, -31,-122, -87, -31,-124,-118, -31,-123, -79, -31,-122, -88, -31,-124,-118, -31,-123, - -80, -31,-121,-126, -31,-124,-118, -31,-123, -80, -31,-121,-127, -31,-124,-118, -31,-123, -80, -31, --121,-128, -31,-124,-118, -31,-123, -80, -31,-122, -65, -31,-124,-118, -31,-123, -80, -31,-122, -66, - -31,-124,-118, -31,-123, -80, -31,-122, -67, -31,-124,-118, -31,-123, -80, -31,-122, -68, -31,-124, --118, -31,-123, -80, -31,-122, -69, -31,-124,-118, -31,-123, -80, -31,-122, -70, -31,-124,-118, -31, --123, -80, -31,-122, -71, -31,-124,-118, -31,-123, -80, -31,-122, -72, -31,-124,-118, -31,-123, -80, - -31,-122, -73, -31,-124,-118, -31,-123, -80, -31,-122, -74, -31,-124,-118, -31,-123, -80, -31,-122, - -75, -31,-124,-118, -31,-123, -80, -31,-122, -76, -31,-124,-118, -31,-123, -80, -31,-122, -77, -31, --124,-118, -31,-123, -80, -31,-122, -78, -31,-124,-118, -31,-123, -80, -31,-122, -79, -31,-124,-118, - -31,-123, -80, -31,-122, -80, -31,-124,-118, -31,-123, -80, -31,-122, -81, -31,-124,-118, -31,-123, - -80, -31,-122, -82, -31,-124,-118, -31,-123, -80, -31,-122, -83, -31,-124,-118, -31,-123, -80, -31, --122, -84, -31,-124,-118, -31,-123, -80, -31,-122, -85, -31,-124,-118, -31,-123, -80, -31,-122, -86, - -31,-124,-118, -31,-123, -80, -31,-122, -87, -31,-124,-118, -31,-123, -80, -31,-122, -88, -31,-124, --118, -31,-123, -81, -31,-121,-126, -31,-124,-118, -31,-123, -81, -31,-121,-127, -31,-124,-118, -31, --123, -81, -31,-121,-128, -31,-124,-118, -31,-123, -81, -31,-122, -65, -31,-124,-118, -31,-123, -81, - -31,-122, -66, -31,-124,-118, -31,-123, -81, -31,-122, -67, -31,-124,-118, -31,-123, -81, -31,-122, - -68, -31,-124,-118, -31,-123, -81, -31,-122, -69, -31,-124,-118, -31,-123, -81, -31,-122, -70, -31, --124,-118, -31,-123, -81, -31,-122, -71, -31,-124,-118, -31,-123, -81, -31,-122, -72, -31,-124,-118, - -31,-123, -81, -31,-122, -73, -31,-124,-118, -31,-123, -81, -31,-122, -74, -31,-124,-118, -31,-123, - -81, -31,-122, -75, -31,-124,-118, -31,-123, -81, -31,-122, -76, -31,-124,-118, -31,-123, -81, -31, --122, -77, -31,-124,-118, -31,-123, -81, -31,-122, -78, -31,-124,-118, -31,-123, -81, -31,-122, -79, - -31,-124,-118, -31,-123, -81, -31,-122, -80, -31,-124,-118, -31,-123, -81, -31,-122, -81, -31,-124, --118, -31,-123, -81, -31,-122, -82, -31,-124,-118, -31,-123, -81, -31,-122, -83, -31,-124,-118, -31, --123, -81, -31,-122, -84, -31,-124,-118, -31,-123, -81, -31,-122, -85, -31,-124,-118, -31,-123, -81, - -31,-122, -86, -31,-124,-118, -31,-123, -81, -31,-122, -87, -31,-124,-118, -31,-123, -81, -31,-122, - -88, -31,-124,-118, -31,-123, -82, -31,-121,-126, -31,-124,-118, -31,-123, -82, -31,-121,-127, -31, --124,-118, -31,-123, -82, -31,-121,-128, -31,-124,-118, -31,-123, -82, -31,-122, -65, -31,-124,-118, - -31,-123, -82, -31,-122, -66, -31,-124,-118, -31,-123, -82, -31,-122, -67, -31,-124,-118, -31,-123, - -82, -31,-122, -68, -31,-124,-118, -31,-123, -82, -31,-122, -69, -31,-124,-118, -31,-123, -82, -31, --122, -70, -31,-124,-118, -31,-123, -82, -31,-122, -71, -31,-124,-118, -31,-123, -82, -31,-122, -72, - -31,-124,-118, -31,-123, -82, -31,-122, -73, -31,-124,-118, -31,-123, -82, -31,-122, -74, -31,-124, --118, -31,-123, -82, -31,-122, -75, -31,-124,-118, -31,-123, -82, -31,-122, -76, -31,-124,-118, -31, --123, -82, -31,-122, -77, -31,-124,-118, -31,-123, -82, -31,-122, -78, -31,-124,-118, -31,-123, -82, - -31,-122, -79, -31,-124,-118, -31,-123, -82, -31,-122, -80, -31,-124,-118, -31,-123, -82, -31,-122, - -81, -31,-124,-118, -31,-123, -82, -31,-122, -82, -31,-124,-118, -31,-123, -82, -31,-122, -83, -31, --124,-118, -31,-123, -82, -31,-122, -84, -31,-124,-118, -31,-123, -82, -31,-122, -85, -31,-124,-118, - -31,-123, -82, -31,-122, -86, -31,-124,-118, -31,-123, -82, -31,-122, -87, -31,-124,-118, -31,-123, - -82, -31,-122, -88, -31,-124,-118, -31,-123, -83, -31,-121,-126, -31,-124,-118, -31,-123, -83, -31, --121,-127, -31,-124,-118, -31,-123, -83, -31,-121,-128, -31,-124,-118, -31,-123, -83, -31,-122, -65, - -31,-124,-118, -31,-123, -83, -31,-122, -66, -31,-124,-118, -31,-123, -83, -31,-122, -67, -31,-124, --118, -31,-123, -83, -31,-122, -68, -31,-124,-118, -31,-123, -83, -31,-122, -69, -31,-124,-118, -31, --123, -83, -31,-122, -70, -31,-124,-118, -31,-123, -83, -31,-122, -71, -31,-124,-118, -31,-123, -83, - -31,-122, -72, -31,-124,-118, -31,-123, -83, -31,-122, -73, -31,-124,-118, -31,-123, -83, -31,-122, - -74, -31,-124,-118, -31,-123, -83, -31,-122, -75, -31,-124,-118, -31,-123, -83, -31,-122, -76, -31, --124,-118, -31,-123, -83, -31,-122, -77, -31,-124,-118, -31,-123, -83, -31,-122, -78, -31,-124,-118, - -31,-123, -83, -31,-122, -79, -31,-124,-118, -31,-123, -83, -31,-122, -80, -31,-124,-118, -31,-123, - -83, -31,-122, -81, -31,-124,-118, -31,-123, -83, -31,-122, -82, -31,-124,-118, -31,-123, -83, -31, --122, -83, -31,-124,-118, -31,-123, -83, -31,-122, -84, -31,-124,-118, -31,-123, -83, -31,-122, -85, - -31,-124,-118, -31,-123, -83, -31,-122, -86, -31,-124,-118, -31,-123, -83, -31,-122, -87, -31,-124, --118, -31,-123, -83, -31,-122, -88, -31,-124,-118, -31,-123, -84, -31,-121,-126, -31,-124,-118, -31, --123, -84, -31,-121,-127, -31,-124,-118, -31,-123, -84, -31,-121,-128, -31,-124,-118, -31,-123, -84, - -31,-122, -65, -31,-124,-118, -31,-123, -84, -31,-122, -66, -31,-124,-118, -31,-123, -84, -31,-122, - -67, -31,-124,-118, -31,-123, -84, -31,-122, -68, -31,-124,-118, -31,-123, -84, -31,-122, -69, -31, --124,-118, -31,-123, -84, -31,-122, -70, -31,-124,-118, -31,-123, -84, -31,-122, -71, -31,-124,-118, - -31,-123, -84, -31,-122, -72, -31,-124,-118, -31,-123, -84, -31,-122, -73, -31,-124,-118, -31,-123, - -84, -31,-122, -74, -31,-124,-118, -31,-123, -84, -31,-122, -75, -31,-124,-118, -31,-123, -84, -31, --122, -76, -31,-124,-118, -31,-123, -84, -31,-122, -77, -31,-124,-118, -31,-123, -84, -31,-122, -78, - -31,-124,-118, -31,-123, -84, -31,-122, -79, -31,-124,-118, -31,-123, -84, -31,-122, -80, -31,-124, --118, -31,-123, -84, -31,-122, -81, -31,-124,-118, -31,-123, -84, -31,-122, -82, -31,-124,-118, -31, --123, -84, -31,-122, -83, -31,-124,-118, -31,-123, -84, -31,-122, -84, -31,-124,-118, -31,-123, -84, - -31,-122, -85, -31,-124,-118, -31,-123, -84, -31,-122, -86, -31,-124,-118, -31,-123, -84, -31,-122, - -87, -31,-124,-118, -31,-123, -84, -31,-122, -88, -31,-124,-118, -31,-123, -85, -31,-121,-126, -31, --124,-118, -31,-123, -85, -31,-121,-127, -31,-124,-118, -31,-123, -85, -31,-121,-128, -31,-124,-118, - -31,-123, -85, -31,-122, -65, -31,-124,-118, -31,-123, -85, -31,-122, -66, -31,-124,-118, -31,-123, - -85, -31,-122, -67, -31,-124,-118, -31,-123, -85, -31,-122, -68, -31,-124,-118, -31,-123, -85, -31, --122, -69, -31,-124,-118, -31,-123, -85, -31,-122, -70, -31,-124,-118, -31,-123, -85, -31,-122, -71, - -31,-124,-118, -31,-123, -85, -31,-122, -72, -31,-124,-118, -31,-123, -85, -31,-122, -73, -31,-124, --118, -31,-123, -85, -31,-122, -74, -31,-124,-118, -31,-123, -85, -31,-122, -75, -31,-124,-118, -31, --123, -85, -31,-122, -76, -31,-124,-118, -31,-123, -85, -31,-122, -77, -31,-124,-118, -31,-123, -85, - -31,-122, -78, -31,-124,-118, -31,-123, -85, -31,-122, -79, -31,-124,-118, -31,-123, -85, -31,-122, - -80, -31,-124,-118, -31,-123, -85, -31,-122, -81, -31,-124,-118, -31,-123, -85, -31,-122, -82, -31, --124,-118, -31,-123, -85, -31,-122, -83, -31,-124,-118, -31,-123, -85, -31,-122, -84, -31,-124,-118, - -31,-123, -85, -31,-122, -85, -31,-124,-118, -31,-123, -85, -31,-122, -86, -31,-124,-118, -31,-123, - -85, -31,-122, -87, -31,-124,-118, -31,-123, -85, -31,-122, -88, -31,-124,-118, -31,-123, -86, -31, --121,-126, -31,-124,-118, -31,-123, -86, -31,-121,-127, -31,-124,-118, -31,-123, -86, -31,-121,-128, - -31,-124,-118, -31,-123, -86, -31,-122, -65, -31,-124,-118, -31,-123, -86, -31,-122, -66, -31,-124, --118, -31,-123, -86, -31,-122, -67, -31,-124,-118, -31,-123, -86, -31,-122, -68, -31,-124,-118, -31, --123, -86, -31,-122, -69, -31,-124,-118, -31,-123, -86, -31,-122, -70, -31,-124,-118, -31,-123, -86, - -31,-122, -71, -31,-124,-118, -31,-123, -86, -31,-122, -72, -31,-124,-118, -31,-123, -86, -31,-122, - -73, -31,-124,-118, -31,-123, -86, -31,-122, -74, -31,-124,-118, -31,-123, -86, -31,-122, -75, -31, --124,-118, -31,-123, -86, -31,-122, -76, -31,-124,-118, -31,-123, -86, -31,-122, -77, -31,-124,-118, - -31,-123, -86, -31,-122, -78, -31,-124,-118, -31,-123, -86, -31,-122, -79, -31,-124,-118, -31,-123, - -86, -31,-122, -80, -31,-124,-118, -31,-123, -86, -31,-122, -81, -31,-124,-118, -31,-123, -86, -31, --122, -82, -31,-124,-118, -31,-123, -86, -31,-122, -83, -31,-124,-118, -31,-123, -86, -31,-122, -84, - -31,-124,-118, -31,-123, -86, -31,-122, -85, -31,-124,-118, -31,-123, -86, -31,-122, -86, -31,-124, --118, -31,-123, -86, -31,-122, -87, -31,-124,-118, -31,-123, -86, -31,-122, -88, -31,-124,-118, -31, --123, -87, -31,-121,-126, -31,-124,-118, -31,-123, -87, -31,-121,-127, -31,-124,-118, -31,-123, -87, - -31,-121,-128, -31,-124,-118, -31,-123, -87, -31,-122, -65, -31,-124,-118, -31,-123, -87, -31,-122, - -66, -31,-124,-118, -31,-123, -87, -31,-122, -67, -31,-124,-118, -31,-123, -87, -31,-122, -68, -31, --124,-118, -31,-123, -87, -31,-122, -69, -31,-124,-118, -31,-123, -87, -31,-122, -70, -31,-124,-118, - -31,-123, -87, -31,-122, -71, -31,-124,-118, -31,-123, -87, -31,-122, -72, -31,-124,-118, -31,-123, - -87, -31,-122, -73, -31,-124,-118, -31,-123, -87, -31,-122, -74, -31,-124,-118, -31,-123, -87, -31, --122, -75, -31,-124,-118, -31,-123, -87, -31,-122, -76, -31,-124,-118, -31,-123, -87, -31,-122, -77, - -31,-124,-118, -31,-123, -87, -31,-122, -78, -31,-124,-118, -31,-123, -87, -31,-122, -79, -31,-124, --118, -31,-123, -87, -31,-122, -80, -31,-124,-118, -31,-123, -87, -31,-122, -81, -31,-124,-118, -31, --123, -87, -31,-122, -82, -31,-124,-118, -31,-123, -87, -31,-122, -83, -31,-124,-118, -31,-123, -87, - -31,-122, -84, -31,-124,-118, -31,-123, -87, -31,-122, -85, -31,-124,-118, -31,-123, -87, -31,-122, - -86, -31,-124,-118, -31,-123, -87, -31,-122, -87, -31,-124,-118, -31,-123, -87, -31,-122, -88, -31, --124,-118, -31,-123, -88, -31,-121,-126, -31,-124,-118, -31,-123, -88, -31,-121,-127, -31,-124,-118, - -31,-123, -88, -31,-121,-128, -31,-124,-118, -31,-123, -88, -31,-122, -65, -31,-124,-118, -31,-123, - -88, -31,-122, -66, -31,-124,-118, -31,-123, -88, -31,-122, -67, -31,-124,-118, -31,-123, -88, -31, --122, -68, -31,-124,-118, -31,-123, -88, -31,-122, -69, -31,-124,-118, -31,-123, -88, -31,-122, -70, - -31,-124,-118, -31,-123, -88, -31,-122, -71, -31,-124,-118, -31,-123, -88, -31,-122, -72, -31,-124, --118, -31,-123, -88, -31,-122, -73, -31,-124,-118, -31,-123, -88, -31,-122, -74, -31,-124,-118, -31, --123, -88, -31,-122, -75, -31,-124,-118, -31,-123, -88, -31,-122, -76, -31,-124,-118, -31,-123, -88, - -31,-122, -77, -31,-124,-118, -31,-123, -88, -31,-122, -78, -31,-124,-118, -31,-123, -88, -31,-122, - -79, -31,-124,-118, -31,-123, -88, -31,-122, -80, -31,-124,-118, -31,-123, -88, -31,-122, -81, -31, --124,-118, -31,-123, -88, -31,-122, -82, -31,-124,-118, -31,-123, -88, -31,-122, -83, -31,-124,-118, - -31,-123, -88, -31,-122, -84, -31,-124,-118, -31,-123, -88, -31,-122, -85, -31,-124,-118, -31,-123, - -88, -31,-122, -86, -31,-124,-118, -31,-123, -88, -31,-122, -87, -31,-124,-118, -31,-123, -88, -31, --122, -88, -31,-124,-118, -31,-123, -89, -31,-121,-126, -31,-124,-118, -31,-123, -89, -31,-121,-127, - -31,-124,-118, -31,-123, -89, -31,-121,-128, -31,-124,-118, -31,-123, -89, -31,-122, -65, -31,-124, --118, -31,-123, -89, -31,-122, -66, -31,-124,-118, -31,-123, -89, -31,-122, -67, -31,-124,-118, -31, --123, -89, -31,-122, -68, -31,-124,-118, -31,-123, -89, -31,-122, -69, -31,-124,-118, -31,-123, -89, - -31,-122, -70, -31,-124,-118, -31,-123, -89, -31,-122, -71, -31,-124,-118, -31,-123, -89, -31,-122, - -72, -31,-124,-118, -31,-123, -89, -31,-122, -73, -31,-124,-118, -31,-123, -89, -31,-122, -74, -31, --124,-118, -31,-123, -89, -31,-122, -75, -31,-124,-118, -31,-123, -89, -31,-122, -76, -31,-124,-118, - -31,-123, -89, -31,-122, -77, -31,-124,-118, -31,-123, -89, -31,-122, -78, -31,-124,-118, -31,-123, - -89, -31,-122, -79, -31,-124,-118, -31,-123, -89, -31,-122, -80, -31,-124,-118, -31,-123, -89, -31, --122, -81, -31,-124,-118, -31,-123, -89, -31,-122, -82, -31,-124,-118, -31,-123, -89, -31,-122, -83, - -31,-124,-118, -31,-123, -89, -31,-122, -84, -31,-124,-118, -31,-123, -89, -31,-122, -85, -31,-124, --118, -31,-123, -89, -31,-122, -86, -31,-124,-118, -31,-123, -89, -31,-122, -87, -31,-124,-118, -31, --123, -89, -31,-122, -88, -31,-124,-118, -31,-123, -90, -31,-121,-126, -31,-124,-118, -31,-123, -90, - -31,-121,-127, -31,-124,-118, -31,-123, -90, -31,-121,-128, -31,-124,-118, -31,-123, -90, -31,-122, - -65, -31,-124,-118, -31,-123, -90, -31,-122, -66, -31,-124,-118, -31,-123, -90, -31,-122, -67, -31, --124,-118, -31,-123, -90, -31,-122, -68, -31,-124,-118, -31,-123, -90, -31,-122, -69, -31,-124,-118, - -31,-123, -90, -31,-122, -70, -31,-124,-118, -31,-123, -90, -31,-122, -71, -31,-124,-118, -31,-123, - -90, -31,-122, -72, -31,-124,-118, -31,-123, -90, -31,-122, -73, -31,-124,-118, -31,-123, -90, -31, --122, -74, -31,-124,-118, -31,-123, -90, -31,-122, -75, -31,-124,-118, -31,-123, -90, -31,-122, -76, - -31,-124,-118, -31,-123, -90, -31,-122, -77, -31,-124,-118, -31,-123, -90, -31,-122, -78, -31,-124, --118, -31,-123, -90, -31,-122, -79, -31,-124,-118, -31,-123, -90, -31,-122, -80, -31,-124,-118, -31, --123, -90, -31,-122, -81, -31,-124,-118, -31,-123, -90, -31,-122, -82, -31,-124,-118, -31,-123, -90, - -31,-122, -83, -31,-124,-118, -31,-123, -90, -31,-122, -84, -31,-124,-118, -31,-123, -90, -31,-122, - -85, -31,-124,-118, -31,-123, -90, -31,-122, -86, -31,-124,-118, -31,-123, -90, -31,-122, -87, -31, --124,-118, -31,-123, -90, -31,-122, -88, -31,-124,-118, -31,-123, -91, -31,-121,-126, -31,-124,-118, - -31,-123, -91, -31,-121,-127, -31,-124,-118, -31,-123, -91, -31,-121,-128, -31,-124,-118, -31,-123, - -91, -31,-122, -65, -31,-124,-118, -31,-123, -91, -31,-122, -66, -31,-124,-118, -31,-123, -91, -31, --122, -67, -31,-124,-118, -31,-123, -91, -31,-122, -68, -31,-124,-118, -31,-123, -91, -31,-122, -69, - -31,-124,-118, -31,-123, -91, -31,-122, -70, -31,-124,-118, -31,-123, -91, -31,-122, -71, -31,-124, --118, -31,-123, -91, -31,-122, -72, -31,-124,-118, -31,-123, -91, -31,-122, -73, -31,-124,-118, -31, --123, -91, -31,-122, -74, -31,-124,-118, -31,-123, -91, -31,-122, -75, -31,-124,-118, -31,-123, -91, - -31,-122, -76, -31,-124,-118, -31,-123, -91, -31,-122, -77, -31,-124,-118, -31,-123, -91, -31,-122, - -78, -31,-124,-118, -31,-123, -91, -31,-122, -79, -31,-124,-118, -31,-123, -91, -31,-122, -80, -31, --124,-118, -31,-123, -91, -31,-122, -81, -31,-124,-118, -31,-123, -91, -31,-122, -82, -31,-124,-118, - -31,-123, -91, -31,-122, -83, -31,-124,-118, -31,-123, -91, -31,-122, -84, -31,-124,-118, -31,-123, - -91, -31,-122, -85, -31,-124,-118, -31,-123, -91, -31,-122, -86, -31,-124,-118, -31,-123, -91, -31, --122, -87, -31,-124,-118, -31,-123, -91, -31,-122, -88, -31,-124,-118, -31,-123, -92, -31,-121,-126, - -31,-124,-118, -31,-123, -92, -31,-121,-127, -31,-124,-118, -31,-123, -92, -31,-121,-128, -31,-124, --118, -31,-123, -92, -31,-122, -65, -31,-124,-118, -31,-123, -92, -31,-122, -66, -31,-124,-118, -31, --123, -92, -31,-122, -67, -31,-124,-118, -31,-123, -92, -31,-122, -68, -31,-124,-118, -31,-123, -92, - -31,-122, -69, -31,-124,-118, -31,-123, -92, -31,-122, -70, -31,-124,-118, -31,-123, -92, -31,-122, - -71, -31,-124,-118, -31,-123, -92, -31,-122, -72, -31,-124,-118, -31,-123, -92, -31,-122, -73, -31, --124,-118, -31,-123, -92, -31,-122, -74, -31,-124,-118, -31,-123, -92, -31,-122, -75, -31,-124,-118, - -31,-123, -92, -31,-122, -76, -31,-124,-118, -31,-123, -92, -31,-122, -77, -31,-124,-118, -31,-123, - -92, -31,-122, -78, -31,-124,-118, -31,-123, -92, -31,-122, -79, -31,-124,-118, -31,-123, -92, -31, --122, -80, -31,-124,-118, -31,-123, -92, -31,-122, -81, -31,-124,-118, -31,-123, -92, -31,-122, -82, - -31,-124,-118, -31,-123, -92, -31,-122, -83, -31,-124,-118, -31,-123, -92, -31,-122, -84, -31,-124, --118, -31,-123, -92, -31,-122, -85, -31,-124,-118, -31,-123, -92, -31,-122, -86, -31,-124,-118, -31, --123, -92, -31,-122, -87, -31,-124,-118, -31,-123, -92, -31,-122, -88, -31,-124,-118, -31,-123, -93, - -31,-121,-126, -31,-124,-118, -31,-123, -93, -31,-121,-127, -31,-124,-118, -31,-123, -93, -31,-121, --128, -31,-124,-118, -31,-123, -93, -31,-122, -65, -31,-124,-118, -31,-123, -93, -31,-122, -66, -31, --124,-118, -31,-123, -93, -31,-122, -67, -31,-124,-118, -31,-123, -93, -31,-122, -68, -31,-124,-118, - -31,-123, -93, -31,-122, -69, -31,-124,-118, -31,-123, -93, -31,-122, -70, -31,-124,-118, -31,-123, - -93, -31,-122, -71, -31,-124,-118, -31,-123, -93, -31,-122, -72, -31,-124,-118, -31,-123, -93, -31, --122, -73, -31,-124,-118, -31,-123, -93, -31,-122, -74, -31,-124,-118, -31,-123, -93, -31,-122, -75, - -31,-124,-118, -31,-123, -93, -31,-122, -76, -31,-124,-118, -31,-123, -93, -31,-122, -77, -31,-124, --118, -31,-123, -93, -31,-122, -78, -31,-124,-118, -31,-123, -93, -31,-122, -79, -31,-124,-118, -31, --123, -93, -31,-122, -80, -31,-124,-118, -31,-123, -93, -31,-122, -81, -31,-124,-118, -31,-123, -93, - -31,-122, -82, -31,-124,-118, -31,-123, -93, -31,-122, -83, -31,-124,-118, -31,-123, -93, -31,-122, - -84, -31,-124,-118, -31,-123, -93, -31,-122, -85, -31,-124,-118, -31,-123, -93, -31,-122, -86, -31, --124,-118, -31,-123, -93, -31,-122, -87, -31,-124,-118, -31,-123, -93, -31,-122, -88, -31,-124,-118, - -31,-123, -94, -31,-121,-126, -31,-124,-118, -31,-123, -94, -31,-121,-127, -31,-124,-118, -31,-123, - -94, -31,-121,-128, -31,-124,-118, -31,-123, -94, -31,-122, -65, -31,-124,-118, -31,-123, -94, -31, --122, -66, -31,-124,-118, -31,-123, -94, -31,-122, -67, -31,-124,-118, -31,-123, -94, -31,-122, -68, - -31,-124,-118, -31,-123, -94, -31,-122, -69, -31,-124,-118, -31,-123, -94, -31,-122, -70, -31,-124, --118, -31,-123, -94, -31,-122, -71, -31,-124,-118, -31,-123, -94, -31,-122, -72, -31,-124,-118, -31, --123, -94, -31,-122, -73, -31,-124,-118, -31,-123, -94, -31,-122, -74, -31,-124,-118, -31,-123, -94, - -31,-122, -75, -31,-124,-118, -31,-123, -94, -31,-122, -76, -31,-124,-118, -31,-123, -94, -31,-122, - -77, -31,-124,-118, -31,-123, -94, -31,-122, -78, -31,-124,-118, -31,-123, -94, -31,-122, -79, -31, --124,-118, -31,-123, -94, -31,-122, -80, -31,-124,-118, -31,-123, -94, -31,-122, -81, -31,-124,-118, - -31,-123, -94, -31,-122, -82, -31,-124,-118, -31,-123, -94, -31,-122, -83, -31,-124,-118, -31,-123, - -94, -31,-122, -84, -31,-124,-118, -31,-123, -94, -31,-122, -85, -31,-124,-118, -31,-123, -94, -31, --122, -86, -31,-124,-118, -31,-123, -94, -31,-122, -87, -31,-124,-118, -31,-123, -94, -31,-122, -88, - -31,-124,-118, -31,-123, -95, -31,-121,-126, -31,-124,-118, -31,-123, -95, -31,-121,-127, -31,-124, --118, -31,-123, -95, -31,-121,-128, -31,-124,-118, -31,-123, -95, -31,-122, -65, -31,-124,-118, -31, --123, -95, -31,-122, -66, -31,-124,-118, -31,-123, -95, -31,-122, -67, -31,-124,-118, -31,-123, -95, - -31,-122, -68, -31,-124,-118, -31,-123, -95, -31,-122, -69, -31,-124,-118, -31,-123, -95, -31,-122, - -70, -31,-124,-118, -31,-123, -95, -31,-122, -71, -31,-124,-118, -31,-123, -95, -31,-122, -72, -31, --124,-118, -31,-123, -95, -31,-122, -73, -31,-124,-118, -31,-123, -95, -31,-122, -74, -31,-124,-118, - -31,-123, -95, -31,-122, -75, -31,-124,-118, -31,-123, -95, -31,-122, -76, -31,-124,-118, -31,-123, - -95, -31,-122, -77, -31,-124,-118, -31,-123, -95, -31,-122, -78, -31,-124,-118, -31,-123, -95, -31, --122, -79, -31,-124,-118, -31,-123, -95, -31,-122, -80, -31,-124,-118, -31,-123, -95, -31,-122, -81, - -31,-124,-118, -31,-123, -95, -31,-122, -82, -31,-124,-118, -31,-123, -95, -31,-122, -83, -31,-124, --118, -31,-123, -95, -31,-122, -84, -31,-124,-118, -31,-123, -95, -31,-122, -85, -31,-124,-118, -31, --123, -95, -31,-122, -86, -31,-124,-118, -31,-123, -95, -31,-122, -87, -31,-124,-118, -31,-123, -95, - -31,-122, -88, -31,-124,-119, -31,-123, -75, -31,-121,-126, -31,-124,-119, -31,-123, -75, -31,-121, --127, -31,-124,-119, -31,-123, -75, -31,-121,-128, -31,-124,-119, -31,-123, -75, -31,-122, -65, -31, --124,-119, -31,-123, -75, -31,-122, -66, -31,-124,-119, -31,-123, -75, -31,-122, -67, -31,-124,-119, - -31,-123, -75, -31,-122, -68, -31,-124,-119, -31,-123, -75, -31,-122, -69, -31,-124,-119, -31,-123, - -75, -31,-122, -70, -31,-124,-119, -31,-123, -75, -31,-122, -71, -31,-124,-119, -31,-123, -75, -31, --122, -72, -31,-124,-119, -31,-123, -75, -31,-122, -73, -31,-124,-119, -31,-123, -75, -31,-122, -74, - -31,-124,-119, -31,-123, -75, -31,-122, -75, -31,-124,-119, -31,-123, -75, -31,-122, -76, -31,-124, --119, -31,-123, -75, -31,-122, -77, -31,-124,-119, -31,-123, -75, -31,-122, -78, -31,-124,-119, -31, --123, -75, -31,-122, -79, -31,-124,-119, -31,-123, -75, -31,-122, -80, -31,-124,-119, -31,-123, -75, - -31,-122, -81, -31,-124,-119, -31,-123, -75, -31,-122, -82, -31,-124,-119, -31,-123, -75, -31,-122, - -83, -31,-124,-119, -31,-123, -75, -31,-122, -84, -31,-124,-119, -31,-123, -75, -31,-122, -85, -31, --124,-119, -31,-123, -75, -31,-122, -86, -31,-124,-119, -31,-123, -75, -31,-122, -87, -31,-124,-119, - -31,-123, -75, -31,-122, -88, -31,-124,-119, -31,-123, -76, -31,-121,-126, -31,-124,-119, -31,-123, - -76, -31,-121,-127, -31,-124,-119, -31,-123, -76, -31,-121,-128, -31,-124,-119, -31,-123, -76, -31, --122, -65, -31,-124,-119, -31,-123, -76, -31,-122, -66, -31,-124,-119, -31,-123, -76, -31,-122, -67, - -31,-124,-119, -31,-123, -76, -31,-122, -68, -31,-124,-119, -31,-123, -76, -31,-122, -69, -31,-124, --119, -31,-123, -76, -31,-122, -70, -31,-124,-119, -31,-123, -76, -31,-122, -71, -31,-124,-119, -31, --123, -76, -31,-122, -72, -31,-124,-119, -31,-123, -76, -31,-122, -73, -31,-124,-119, -31,-123, -76, - -31,-122, -74, -31,-124,-119, -31,-123, -76, -31,-122, -75, -31,-124,-119, -31,-123, -76, -31,-122, - -76, -31,-124,-119, -31,-123, -76, -31,-122, -77, -31,-124,-119, -31,-123, -76, -31,-122, -78, -31, --124,-119, -31,-123, -76, -31,-122, -79, -31,-124,-119, -31,-123, -76, -31,-122, -80, -31,-124,-119, - -31,-123, -76, -31,-122, -81, -31,-124,-119, -31,-123, -76, -31,-122, -82, -31,-124,-119, -31,-123, - -76, -31,-122, -83, -31,-124,-119, -31,-123, -76, -31,-122, -84, -31,-124,-119, -31,-123, -76, -31, --122, -85, -31,-124,-119, -31,-123, -76, -31,-122, -86, -31,-124,-119, -31,-123, -76, -31,-122, -87, - -31,-124,-119, -31,-123, -76, -31,-122, -88, -31,-124,-119, -31,-123, -77, -31,-121,-126, -31,-124, --119, -31,-123, -77, -31,-121,-127, -31,-124,-119, -31,-123, -77, -31,-121,-128, -31,-124,-119, -31, --123, -77, -31,-122, -65, -31,-124,-119, -31,-123, -77, -31,-122, -66, -31,-124,-119, -31,-123, -77, - -31,-122, -67, -31,-124,-119, -31,-123, -77, -31,-122, -68, -31,-124,-119, -31,-123, -77, -31,-122, - -69, -31,-124,-119, -31,-123, -77, -31,-122, -70, -31,-124,-119, -31,-123, -77, -31,-122, -71, -31, --124,-119, -31,-123, -77, -31,-122, -72, -31,-124,-119, -31,-123, -77, -31,-122, -73, -31,-124,-119, - -31,-123, -77, -31,-122, -74, -31,-124,-119, -31,-123, -77, -31,-122, -75, -31,-124,-119, -31,-123, - -77, -31,-122, -76, -31,-124,-119, -31,-123, -77, -31,-122, -77, -31,-124,-119, -31,-123, -77, -31, --122, -78, -31,-124,-119, -31,-123, -77, -31,-122, -79, -31,-124,-119, -31,-123, -77, -31,-122, -80, - -31,-124,-119, -31,-123, -77, -31,-122, -81, -31,-124,-119, -31,-123, -77, -31,-122, -82, -31,-124, --119, -31,-123, -77, -31,-122, -83, -31,-124,-119, -31,-123, -77, -31,-122, -84, -31,-124,-119, -31, --123, -77, -31,-122, -85, -31,-124,-119, -31,-123, -77, -31,-122, -86, -31,-124,-119, -31,-123, -77, - -31,-122, -87, -31,-124,-119, -31,-123, -77, -31,-122, -88, -31,-124,-119, -31,-123, -78, -31,-121, --126, -31,-124,-119, -31,-123, -78, -31,-121,-127, -31,-124,-119, -31,-123, -78, -31,-121,-128, -31, --124,-119, -31,-123, -78, -31,-122, -65, -31,-124,-119, -31,-123, -78, -31,-122, -66, -31,-124,-119, - -31,-123, -78, -31,-122, -67, -31,-124,-119, -31,-123, -78, -31,-122, -68, -31,-124,-119, -31,-123, - -78, -31,-122, -69, -31,-124,-119, -31,-123, -78, -31,-122, -70, -31,-124,-119, -31,-123, -78, -31, --122, -71, -31,-124,-119, -31,-123, -78, -31,-122, -72, -31,-124,-119, -31,-123, -78, -31,-122, -73, - -31,-124,-119, -31,-123, -78, -31,-122, -74, -31,-124,-119, -31,-123, -78, -31,-122, -75, -31,-124, --119, -31,-123, -78, -31,-122, -76, -31,-124,-119, -31,-123, -78, -31,-122, -77, -31,-124,-119, -31, --123, -78, -31,-122, -78, -31,-124,-119, -31,-123, -78, -31,-122, -79, -31,-124,-119, -31,-123, -78, - -31,-122, -80, -31,-124,-119, -31,-123, -78, -31,-122, -81, -31,-124,-119, -31,-123, -78, -31,-122, - -82, -31,-124,-119, -31,-123, -78, -31,-122, -83, -31,-124,-119, -31,-123, -78, -31,-122, -84, -31, --124,-119, -31,-123, -78, -31,-122, -85, -31,-124,-119, -31,-123, -78, -31,-122, -86, -31,-124,-119, - -31,-123, -78, -31,-122, -87, -31,-124,-119, -31,-123, -78, -31,-122, -88, -31,-124,-119, -31,-123, - -79, -31,-121,-126, -31,-124,-119, -31,-123, -79, -31,-121,-127, -31,-124,-119, -31,-123, -79, -31, --121,-128, -31,-124,-119, -31,-123, -79, -31,-122, -65, -31,-124,-119, -31,-123, -79, -31,-122, -66, - -31,-124,-119, -31,-123, -79, -31,-122, -67, -31,-124,-119, -31,-123, -79, -31,-122, -68, -31,-124, --119, -31,-123, -79, -31,-122, -69, -31,-124,-119, -31,-123, -79, -31,-122, -70, -31,-124,-119, -31, --123, -79, -31,-122, -71, -31,-124,-119, -31,-123, -79, -31,-122, -72, -31,-124,-119, -31,-123, -79, - -31,-122, -73, -31,-124,-119, -31,-123, -79, -31,-122, -74, -31,-124,-119, -31,-123, -79, -31,-122, - -75, -31,-124,-119, -31,-123, -79, -31,-122, -76, -31,-124,-119, -31,-123, -79, -31,-122, -77, -31, --124,-119, -31,-123, -79, -31,-122, -78, -31,-124,-119, -31,-123, -79, -31,-122, -79, -31,-124,-119, - -31,-123, -79, -31,-122, -80, -31,-124,-119, -31,-123, -79, -31,-122, -81, -31,-124,-119, -31,-123, - -79, -31,-122, -82, -31,-124,-119, -31,-123, -79, -31,-122, -83, -31,-124,-119, -31,-123, -79, -31, --122, -84, -31,-124,-119, -31,-123, -79, -31,-122, -85, -31,-124,-119, -31,-123, -79, -31,-122, -86, - -31,-124,-119, -31,-123, -79, -31,-122, -87, -31,-124,-119, -31,-123, -79, -31,-122, -88, -31,-124, --119, -31,-123, -80, -31,-121,-126, -31,-124,-119, -31,-123, -80, -31,-121,-127, -31,-124,-119, -31, --123, -80, -31,-121,-128, -31,-124,-119, -31,-123, -80, -31,-122, -65, -31,-124,-119, -31,-123, -80, - -31,-122, -66, -31,-124,-119, -31,-123, -80, -31,-122, -67, -31,-124,-119, -31,-123, -80, -31,-122, - -68, -31,-124,-119, -31,-123, -80, -31,-122, -69, -31,-124,-119, -31,-123, -80, -31,-122, -70, -31, --124,-119, -31,-123, -80, -31,-122, -71, -31,-124,-119, -31,-123, -80, -31,-122, -72, -31,-124,-119, - -31,-123, -80, -31,-122, -73, -31,-124,-119, -31,-123, -80, -31,-122, -74, -31,-124,-119, -31,-123, - -80, -31,-122, -75, -31,-124,-119, -31,-123, -80, -31,-122, -76, -31,-124,-119, -31,-123, -80, -31, --122, -77, -31,-124,-119, -31,-123, -80, -31,-122, -78, -31,-124,-119, -31,-123, -80, -31,-122, -79, - -31,-124,-119, -31,-123, -80, -31,-122, -80, -31,-124,-119, -31,-123, -80, -31,-122, -81, -31,-124, --119, -31,-123, -80, -31,-122, -82, -31,-124,-119, -31,-123, -80, -31,-122, -83, -31,-124,-119, -31, --123, -80, -31,-122, -84, -31,-124,-119, -31,-123, -80, -31,-122, -85, -31,-124,-119, -31,-123, -80, - -31,-122, -86, -31,-124,-119, -31,-123, -80, -31,-122, -87, -31,-124,-119, -31,-123, -80, -31,-122, - -88, -31,-124,-119, -31,-123, -81, -31,-121,-126, -31,-124,-119, -31,-123, -81, -31,-121,-127, -31, --124,-119, -31,-123, -81, -31,-121,-128, -31,-124,-119, -31,-123, -81, -31,-122, -65, -31,-124,-119, - -31,-123, -81, -31,-122, -66, -31,-124,-119, -31,-123, -81, -31,-122, -67, -31,-124,-119, -31,-123, - -81, -31,-122, -68, -31,-124,-119, -31,-123, -81, -31,-122, -69, -31,-124,-119, -31,-123, -81, -31, --122, -70, -31,-124,-119, -31,-123, -81, -31,-122, -71, -31,-124,-119, -31,-123, -81, -31,-122, -72, - -31,-124,-119, -31,-123, -81, -31,-122, -73, -31,-124,-119, -31,-123, -81, -31,-122, -74, -31,-124, --119, -31,-123, -81, -31,-122, -75, -31,-124,-119, -31,-123, -81, -31,-122, -76, -31,-124,-119, -31, --123, -81, -31,-122, -77, -31,-124,-119, -31,-123, -81, -31,-122, -78, -31,-124,-119, -31,-123, -81, - -31,-122, -79, -31,-124,-119, -31,-123, -81, -31,-122, -80, -31,-124,-119, -31,-123, -81, -31,-122, - -81, -31,-124,-119, -31,-123, -81, -31,-122, -82, -31,-124,-119, -31,-123, -81, -31,-122, -83, -31, --124,-119, -31,-123, -81, -31,-122, -84, -31,-124,-119, -31,-123, -81, -31,-122, -85, -31,-124,-119, - -31,-123, -81, -31,-122, -86, -31,-124,-119, -31,-123, -81, -31,-122, -87, -31,-124,-119, -31,-123, - -81, -31,-122, -88, -31,-124,-119, -31,-123, -82, -31,-121,-126, -31,-124,-119, -31,-123, -82, -31, --121,-127, -31,-124,-119, -31,-123, -82, -31,-121,-128, -31,-124,-119, -31,-123, -82, -31,-122, -65, - -31,-124,-119, -31,-123, -82, -31,-122, -66, -31,-124,-119, -31,-123, -82, -31,-122, -67, -31,-124, --119, -31,-123, -82, -31,-122, -68, -31,-124,-119, -31,-123, -82, -31,-122, -69, -31,-124,-119, -31, --123, -82, -31,-122, -70, -31,-124,-119, -31,-123, -82, -31,-122, -71, -31,-124,-119, -31,-123, -82, - -31,-122, -72, -31,-124,-119, -31,-123, -82, -31,-122, -73, -31,-124,-119, -31,-123, -82, -31,-122, - -74, -31,-124,-119, -31,-123, -82, -31,-122, -75, -31,-124,-119, -31,-123, -82, -31,-122, -76, -31, --124,-119, -31,-123, -82, -31,-122, -77, -31,-124,-119, -31,-123, -82, -31,-122, -78, -31,-124,-119, - -31,-123, -82, -31,-122, -79, -31,-124,-119, -31,-123, -82, -31,-122, -80, -31,-124,-119, -31,-123, - -82, -31,-122, -81, -31,-124,-119, -31,-123, -82, -31,-122, -82, -31,-124,-119, -31,-123, -82, -31, --122, -83, -31,-124,-119, -31,-123, -82, -31,-122, -84, -31,-124,-119, -31,-123, -82, -31,-122, -85, - -31,-124,-119, -31,-123, -82, -31,-122, -86, -31,-124,-119, -31,-123, -82, -31,-122, -87, -31,-124, --119, -31,-123, -82, -31,-122, -88, -31,-124,-119, -31,-123, -83, -31,-121,-126, -31,-124,-119, -31, --123, -83, -31,-121,-127, -31,-124,-119, -31,-123, -83, -31,-121,-128, -31,-124,-119, -31,-123, -83, - -31,-122, -65, -31,-124,-119, -31,-123, -83, -31,-122, -66, -31,-124,-119, -31,-123, -83, -31,-122, - -67, -31,-124,-119, -31,-123, -83, -31,-122, -68, -31,-124,-119, -31,-123, -83, -31,-122, -69, -31, --124,-119, -31,-123, -83, -31,-122, -70, -31,-124,-119, -31,-123, -83, -31,-122, -71, -31,-124,-119, - -31,-123, -83, -31,-122, -72, -31,-124,-119, -31,-123, -83, -31,-122, -73, -31,-124,-119, -31,-123, - -83, -31,-122, -74, -31,-124,-119, -31,-123, -83, -31,-122, -75, -31,-124,-119, -31,-123, -83, -31, --122, -76, -31,-124,-119, -31,-123, -83, -31,-122, -77, -31,-124,-119, -31,-123, -83, -31,-122, -78, - -31,-124,-119, -31,-123, -83, -31,-122, -79, -31,-124,-119, -31,-123, -83, -31,-122, -80, -31,-124, --119, -31,-123, -83, -31,-122, -81, -31,-124,-119, -31,-123, -83, -31,-122, -82, -31,-124,-119, -31, --123, -83, -31,-122, -83, -31,-124,-119, -31,-123, -83, -31,-122, -84, -31,-124,-119, -31,-123, -83, - -31,-122, -85, -31,-124,-119, -31,-123, -83, -31,-122, -86, -31,-124,-119, -31,-123, -83, -31,-122, - -87, -31,-124,-119, -31,-123, -83, -31,-122, -88, -31,-124,-119, -31,-123, -84, -31,-121,-126, -31, --124,-119, -31,-123, -84, -31,-121,-127, -31,-124,-119, -31,-123, -84, -31,-121,-128, -31,-124,-119, - -31,-123, -84, -31,-122, -65, -31,-124,-119, -31,-123, -84, -31,-122, -66, -31,-124,-119, -31,-123, - -84, -31,-122, -67, -31,-124,-119, -31,-123, -84, -31,-122, -68, -31,-124,-119, -31,-123, -84, -31, --122, -69, -31,-124,-119, -31,-123, -84, -31,-122, -70, -31,-124,-119, -31,-123, -84, -31,-122, -71, - -31,-124,-119, -31,-123, -84, -31,-122, -72, -31,-124,-119, -31,-123, -84, -31,-122, -73, -31,-124, --119, -31,-123, -84, -31,-122, -74, -31,-124,-119, -31,-123, -84, -31,-122, -75, -31,-124,-119, -31, --123, -84, -31,-122, -76, -31,-124,-119, -31,-123, -84, -31,-122, -77, -31,-124,-119, -31,-123, -84, - -31,-122, -78, -31,-124,-119, -31,-123, -84, -31,-122, -79, -31,-124,-119, -31,-123, -84, -31,-122, - -80, -31,-124,-119, -31,-123, -84, -31,-122, -81, -31,-124,-119, -31,-123, -84, -31,-122, -82, -31, --124,-119, -31,-123, -84, -31,-122, -83, -31,-124,-119, -31,-123, -84, -31,-122, -84, -31,-124,-119, - -31,-123, -84, -31,-122, -85, -31,-124,-119, -31,-123, -84, -31,-122, -86, -31,-124,-119, -31,-123, - -84, -31,-122, -87, -31,-124,-119, -31,-123, -84, -31,-122, -88, -31,-124,-119, -31,-123, -85, -31, --121,-126, -31,-124,-119, -31,-123, -85, -31,-121,-127, -31,-124,-119, -31,-123, -85, -31,-121,-128, - -31,-124,-119, -31,-123, -85, -31,-122, -65, -31,-124,-119, -31,-123, -85, -31,-122, -66, -31,-124, --119, -31,-123, -85, -31,-122, -67, -31,-124,-119, -31,-123, -85, -31,-122, -68, -31,-124,-119, -31, --123, -85, -31,-122, -69, -31,-124,-119, -31,-123, -85, -31,-122, -70, -31,-124,-119, -31,-123, -85, - -31,-122, -71, -31,-124,-119, -31,-123, -85, -31,-122, -72, -31,-124,-119, -31,-123, -85, -31,-122, - -73, -31,-124,-119, -31,-123, -85, -31,-122, -74, -31,-124,-119, -31,-123, -85, -31,-122, -75, -31, --124,-119, -31,-123, -85, -31,-122, -76, -31,-124,-119, -31,-123, -85, -31,-122, -77, -31,-124,-119, - -31,-123, -85, -31,-122, -78, -31,-124,-119, -31,-123, -85, -31,-122, -79, -31,-124,-119, -31,-123, - -85, -31,-122, -80, -31,-124,-119, -31,-123, -85, -31,-122, -81, -31,-124,-119, -31,-123, -85, -31, --122, -82, -31,-124,-119, -31,-123, -85, -31,-122, -83, -31,-124,-119, -31,-123, -85, -31,-122, -84, - -31,-124,-119, -31,-123, -85, -31,-122, -85, -31,-124,-119, -31,-123, -85, -31,-122, -86, -31,-124, --119, -31,-123, -85, -31,-122, -87, -31,-124,-119, -31,-123, -85, -31,-122, -88, -31,-124,-119, -31, --123, -86, -31,-121,-126, -31,-124,-119, -31,-123, -86, -31,-121,-127, -31,-124,-119, -31,-123, -86, - -31,-121,-128, -31,-124,-119, -31,-123, -86, -31,-122, -65, -31,-124,-119, -31,-123, -86, -31,-122, - -66, -31,-124,-119, -31,-123, -86, -31,-122, -67, -31,-124,-119, -31,-123, -86, -31,-122, -68, -31, --124,-119, -31,-123, -86, -31,-122, -69, -31,-124,-119, -31,-123, -86, -31,-122, -70, -31,-124,-119, - -31,-123, -86, -31,-122, -71, -31,-124,-119, -31,-123, -86, -31,-122, -72, -31,-124,-119, -31,-123, - -86, -31,-122, -73, -31,-124,-119, -31,-123, -86, -31,-122, -74, -31,-124,-119, -31,-123, -86, -31, --122, -75, -31,-124,-119, -31,-123, -86, -31,-122, -76, -31,-124,-119, -31,-123, -86, -31,-122, -77, - -31,-124,-119, -31,-123, -86, -31,-122, -78, -31,-124,-119, -31,-123, -86, -31,-122, -79, -31,-124, --119, -31,-123, -86, -31,-122, -80, -31,-124,-119, -31,-123, -86, -31,-122, -81, -31,-124,-119, -31, --123, -86, -31,-122, -82, -31,-124,-119, -31,-123, -86, -31,-122, -83, -31,-124,-119, -31,-123, -86, - -31,-122, -84, -31,-124,-119, -31,-123, -86, -31,-122, -85, -31,-124,-119, -31,-123, -86, -31,-122, - -86, -31,-124,-119, -31,-123, -86, -31,-122, -87, -31,-124,-119, -31,-123, -86, -31,-122, -88, -31, --124,-119, -31,-123, -87, -31,-121,-126, -31,-124,-119, -31,-123, -87, -31,-121,-127, -31,-124,-119, - -31,-123, -87, -31,-121,-128, -31,-124,-119, -31,-123, -87, -31,-122, -65, -31,-124,-119, -31,-123, - -87, -31,-122, -66, -31,-124,-119, -31,-123, -87, -31,-122, -67, -31,-124,-119, -31,-123, -87, -31, --122, -68, -31,-124,-119, -31,-123, -87, -31,-122, -69, -31,-124,-119, -31,-123, -87, -31,-122, -70, - -31,-124,-119, -31,-123, -87, -31,-122, -71, -31,-124,-119, -31,-123, -87, -31,-122, -72, -31,-124, --119, -31,-123, -87, -31,-122, -73, -31,-124,-119, -31,-123, -87, -31,-122, -74, -31,-124,-119, -31, --123, -87, -31,-122, -75, -31,-124,-119, -31,-123, -87, -31,-122, -76, -31,-124,-119, -31,-123, -87, - -31,-122, -77, -31,-124,-119, -31,-123, -87, -31,-122, -78, -31,-124,-119, -31,-123, -87, -31,-122, - -79, -31,-124,-119, -31,-123, -87, -31,-122, -80, -31,-124,-119, -31,-123, -87, -31,-122, -81, -31, --124,-119, -31,-123, -87, -31,-122, -82, -31,-124,-119, -31,-123, -87, -31,-122, -83, -31,-124,-119, - -31,-123, -87, -31,-122, -84, -31,-124,-119, -31,-123, -87, -31,-122, -85, -31,-124,-119, -31,-123, - -87, -31,-122, -86, -31,-124,-119, -31,-123, -87, -31,-122, -87, -31,-124,-119, -31,-123, -87, -31, --122, -88, -31,-124,-119, -31,-123, -88, -31,-121,-126, -31,-124,-119, -31,-123, -88, -31,-121,-127, - -31,-124,-119, -31,-123, -88, -31,-121,-128, -31,-124,-119, -31,-123, -88, -31,-122, -65, -31,-124, --119, -31,-123, -88, -31,-122, -66, -31,-124,-119, -31,-123, -88, -31,-122, -67, -31,-124,-119, -31, --123, -88, -31,-122, -68, -31,-124,-119, -31,-123, -88, -31,-122, -69, -31,-124,-119, -31,-123, -88, - -31,-122, -70, -31,-124,-119, -31,-123, -88, -31,-122, -71, -31,-124,-119, -31,-123, -88, -31,-122, - -72, -31,-124,-119, -31,-123, -88, -31,-122, -73, -31,-124,-119, -31,-123, -88, -31,-122, -74, -31, --124,-119, -31,-123, -88, -31,-122, -75, -31,-124,-119, -31,-123, -88, -31,-122, -76, -31,-124,-119, - -31,-123, -88, -31,-122, -77, -31,-124,-119, -31,-123, -88, -31,-122, -78, -31,-124,-119, -31,-123, - -88, -31,-122, -79, -31,-124,-119, -31,-123, -88, -31,-122, -80, -31,-124,-119, -31,-123, -88, -31, --122, -81, -31,-124,-119, -31,-123, -88, -31,-122, -82, -31,-124,-119, -31,-123, -88, -31,-122, -83, - -31,-124,-119, -31,-123, -88, -31,-122, -84, -31,-124,-119, -31,-123, -88, -31,-122, -85, -31,-124, --119, -31,-123, -88, -31,-122, -86, -31,-124,-119, -31,-123, -88, -31,-122, -87, -31,-124,-119, -31, --123, -88, -31,-122, -88, -31,-124,-119, -31,-123, -89, -31,-121,-126, -31,-124,-119, -31,-123, -89, - -31,-121,-127, -31,-124,-119, -31,-123, -89, -31,-121,-128, -31,-124,-119, -31,-123, -89, -31,-122, - -65, -31,-124,-119, -31,-123, -89, -31,-122, -66, -31,-124,-119, -31,-123, -89, -31,-122, -67, -31, --124,-119, -31,-123, -89, -31,-122, -68, -31,-124,-119, -31,-123, -89, -31,-122, -69, -31,-124,-119, - -31,-123, -89, -31,-122, -70, -31,-124,-119, -31,-123, -89, -31,-122, -71, -31,-124,-119, -31,-123, - -89, -31,-122, -72, -31,-124,-119, -31,-123, -89, -31,-122, -73, -31,-124,-119, -31,-123, -89, -31, --122, -74, -31,-124,-119, -31,-123, -89, -31,-122, -75, -31,-124,-119, -31,-123, -89, -31,-122, -76, - -31,-124,-119, -31,-123, -89, -31,-122, -77, -31,-124,-119, -31,-123, -89, -31,-122, -78, -31,-124, --119, -31,-123, -89, -31,-122, -79, -31,-124,-119, -31,-123, -89, -31,-122, -80, -31,-124,-119, -31, --123, -89, -31,-122, -81, -31,-124,-119, -31,-123, -89, -31,-122, -82, -31,-124,-119, -31,-123, -89, - -31,-122, -83, -31,-124,-119, -31,-123, -89, -31,-122, -84, -31,-124,-119, -31,-123, -89, -31,-122, - -85, -31,-124,-119, -31,-123, -89, -31,-122, -86, -31,-124,-119, -31,-123, -89, -31,-122, -87, -31, --124,-119, -31,-123, -89, -31,-122, -88, -31,-124,-119, -31,-123, -90, -31,-121,-126, -31,-124,-119, - -31,-123, -90, -31,-121,-127, -31,-124,-119, -31,-123, -90, -31,-121,-128, -31,-124,-119, -31,-123, - -90, -31,-122, -65, -31,-124,-119, -31,-123, -90, -31,-122, -66, -31,-124,-119, -31,-123, -90, -31, --122, -67, -31,-124,-119, -31,-123, -90, -31,-122, -68, -31,-124,-119, -31,-123, -90, -31,-122, -69, - -31,-124,-119, -31,-123, -90, -31,-122, -70, -31,-124,-119, -31,-123, -90, -31,-122, -71, -31,-124, --119, -31,-123, -90, -31,-122, -72, -31,-124,-119, -31,-123, -90, -31,-122, -73, -31,-124,-119, -31, --123, -90, -31,-122, -74, -31,-124,-119, -31,-123, -90, -31,-122, -75, -31,-124,-119, -31,-123, -90, - -31,-122, -76, -31,-124,-119, -31,-123, -90, -31,-122, -77, -31,-124,-119, -31,-123, -90, -31,-122, - -78, -31,-124,-119, -31,-123, -90, -31,-122, -79, -31,-124,-119, -31,-123, -90, -31,-122, -80, -31, --124,-119, -31,-123, -90, -31,-122, -81, -31,-124,-119, -31,-123, -90, -31,-122, -82, -31,-124,-119, - -31,-123, -90, -31,-122, -83, -31,-124,-119, -31,-123, -90, -31,-122, -84, -31,-124,-119, -31,-123, - -90, -31,-122, -85, -31,-124,-119, -31,-123, -90, -31,-122, -86, -31,-124,-119, -31,-123, -90, -31, --122, -87, -31,-124,-119, -31,-123, -90, -31,-122, -88, -31,-124,-119, -31,-123, -91, -31,-121,-126, - -31,-124,-119, -31,-123, -91, -31,-121,-127, -31,-124,-119, -31,-123, -91, -31,-121,-128, -31,-124, --119, -31,-123, -91, -31,-122, -65, -31,-124,-119, -31,-123, -91, -31,-122, -66, -31,-124,-119, -31, --123, -91, -31,-122, -67, -31,-124,-119, -31,-123, -91, -31,-122, -68, -31,-124,-119, -31,-123, -91, - -31,-122, -69, -31,-124,-119, -31,-123, -91, -31,-122, -70, -31,-124,-119, -31,-123, -91, -31,-122, - -71, -31,-124,-119, -31,-123, -91, -31,-122, -72, -31,-124,-119, -31,-123, -91, -31,-122, -73, -31, --124,-119, -31,-123, -91, -31,-122, -74, -31,-124,-119, -31,-123, -91, -31,-122, -75, -31,-124,-119, - -31,-123, -91, -31,-122, -76, -31,-124,-119, -31,-123, -91, -31,-122, -77, -31,-124,-119, -31,-123, - -91, -31,-122, -78, -31,-124,-119, -31,-123, -91, -31,-122, -79, -31,-124,-119, -31,-123, -91, -31, --122, -80, -31,-124,-119, -31,-123, -91, -31,-122, -81, -31,-124,-119, -31,-123, -91, -31,-122, -82, - -31,-124,-119, -31,-123, -91, -31,-122, -83, -31,-124,-119, -31,-123, -91, -31,-122, -84, -31,-124, --119, -31,-123, -91, -31,-122, -85, -31,-124,-119, -31,-123, -91, -31,-122, -86, -31,-124,-119, -31, --123, -91, -31,-122, -87, -31,-124,-119, -31,-123, -91, -31,-122, -88, -31,-124,-119, -31,-123, -92, - -31,-121,-126, -31,-124,-119, -31,-123, -92, -31,-121,-127, -31,-124,-119, -31,-123, -92, -31,-121, --128, -31,-124,-119, -31,-123, -92, -31,-122, -65, -31,-124,-119, -31,-123, -92, -31,-122, -66, -31, --124,-119, -31,-123, -92, -31,-122, -67, -31,-124,-119, -31,-123, -92, -31,-122, -68, -31,-124,-119, - -31,-123, -92, -31,-122, -69, -31,-124,-119, -31,-123, -92, -31,-122, -70, -31,-124,-119, -31,-123, - -92, -31,-122, -71, -31,-124,-119, -31,-123, -92, -31,-122, -72, -31,-124,-119, -31,-123, -92, -31, --122, -73, -31,-124,-119, -31,-123, -92, -31,-122, -74, -31,-124,-119, -31,-123, -92, -31,-122, -75, - -31,-124,-119, -31,-123, -92, -31,-122, -76, -31,-124,-119, -31,-123, -92, -31,-122, -77, -31,-124, --119, -31,-123, -92, -31,-122, -78, -31,-124,-119, -31,-123, -92, -31,-122, -79, -31,-124,-119, -31, --123, -92, -31,-122, -80, -31,-124,-119, -31,-123, -92, -31,-122, -81, -31,-124,-119, -31,-123, -92, - -31,-122, -82, -31,-124,-119, -31,-123, -92, -31,-122, -83, -31,-124,-119, -31,-123, -92, -31,-122, - -84, -31,-124,-119, -31,-123, -92, -31,-122, -85, -31,-124,-119, -31,-123, -92, -31,-122, -86, -31, --124,-119, -31,-123, -92, -31,-122, -87, -31,-124,-119, -31,-123, -92, -31,-122, -88, -31,-124,-119, - -31,-123, -93, -31,-121,-126, -31,-124,-119, -31,-123, -93, -31,-121,-127, -31,-124,-119, -31,-123, - -93, -31,-121,-128, -31,-124,-119, -31,-123, -93, -31,-122, -65, -31,-124,-119, -31,-123, -93, -31, --122, -66, -31,-124,-119, -31,-123, -93, -31,-122, -67, -31,-124,-119, -31,-123, -93, -31,-122, -68, - -31,-124,-119, -31,-123, -93, -31,-122, -69, -31,-124,-119, -31,-123, -93, -31,-122, -70, -31,-124, --119, -31,-123, -93, -31,-122, -71, -31,-124,-119, -31,-123, -93, -31,-122, -72, -31,-124,-119, -31, --123, -93, -31,-122, -73, -31,-124,-119, -31,-123, -93, -31,-122, -74, -31,-124,-119, -31,-123, -93, - -31,-122, -75, -31,-124,-119, -31,-123, -93, -31,-122, -76, -31,-124,-119, -31,-123, -93, -31,-122, - -77, -31,-124,-119, -31,-123, -93, -31,-122, -78, -31,-124,-119, -31,-123, -93, -31,-122, -79, -31, --124,-119, -31,-123, -93, -31,-122, -80, -31,-124,-119, -31,-123, -93, -31,-122, -81, -31,-124,-119, - -31,-123, -93, -31,-122, -82, -31,-124,-119, -31,-123, -93, -31,-122, -83, -31,-124,-119, -31,-123, - -93, -31,-122, -84, -31,-124,-119, -31,-123, -93, -31,-122, -85, -31,-124,-119, -31,-123, -93, -31, --122, -86, -31,-124,-119, -31,-123, -93, -31,-122, -87, -31,-124,-119, -31,-123, -93, -31,-122, -88, - -31,-124,-119, -31,-123, -94, -31,-121,-126, -31,-124,-119, -31,-123, -94, -31,-121,-127, -31,-124, --119, -31,-123, -94, -31,-121,-128, -31,-124,-119, -31,-123, -94, -31,-122, -65, -31,-124,-119, -31, --123, -94, -31,-122, -66, -31,-124,-119, -31,-123, -94, -31,-122, -67, -31,-124,-119, -31,-123, -94, - -31,-122, -68, -31,-124,-119, -31,-123, -94, -31,-122, -69, -31,-124,-119, -31,-123, -94, -31,-122, - -70, -31,-124,-119, -31,-123, -94, -31,-122, -71, -31,-124,-119, -31,-123, -94, -31,-122, -72, -31, --124,-119, -31,-123, -94, -31,-122, -73, -31,-124,-119, -31,-123, -94, -31,-122, -74, -31,-124,-119, - -31,-123, -94, -31,-122, -75, -31,-124,-119, -31,-123, -94, -31,-122, -76, -31,-124,-119, -31,-123, - -94, -31,-122, -77, -31,-124,-119, -31,-123, -94, -31,-122, -78, -31,-124,-119, -31,-123, -94, -31, --122, -79, -31,-124,-119, -31,-123, -94, -31,-122, -80, -31,-124,-119, -31,-123, -94, -31,-122, -81, - -31,-124,-119, -31,-123, -94, -31,-122, -82, -31,-124,-119, -31,-123, -94, -31,-122, -83, -31,-124, --119, -31,-123, -94, -31,-122, -84, -31,-124,-119, -31,-123, -94, -31,-122, -85, -31,-124,-119, -31, --123, -94, -31,-122, -86, -31,-124,-119, -31,-123, -94, -31,-122, -87, -31,-124,-119, -31,-123, -94, - -31,-122, -88, -31,-124,-119, -31,-123, -95, -31,-121,-126, -31,-124,-119, -31,-123, -95, -31,-121, --127, -31,-124,-119, -31,-123, -95, -31,-121,-128, -31,-124,-119, -31,-123, -95, -31,-122, -65, -31, --124,-119, -31,-123, -95, -31,-122, -66, -31,-124,-119, -31,-123, -95, -31,-122, -67, -31,-124,-119, - -31,-123, -95, -31,-122, -68, -31,-124,-119, -31,-123, -95, -31,-122, -69, -31,-124,-119, -31,-123, - -95, -31,-122, -70, -31,-124,-119, -31,-123, -95, -31,-122, -71, -31,-124,-119, -31,-123, -95, -31, --122, -72, -31,-124,-119, -31,-123, -95, -31,-122, -73, -31,-124,-119, -31,-123, -95, -31,-122, -74, - -31,-124,-119, -31,-123, -95, -31,-122, -75, -31,-124,-119, -31,-123, -95, -31,-122, -76, -31,-124, --119, -31,-123, -95, -31,-122, -77, -31,-124,-119, -31,-123, -95, -31,-122, -78, -31,-124,-119, -31, --123, -95, -31,-122, -79, -31,-124,-119, -31,-123, -95, -31,-122, -80, -31,-124,-119, -31,-123, -95, - -31,-122, -81, -31,-124,-119, -31,-123, -95, -31,-122, -82, -31,-124,-119, -31,-123, -95, -31,-122, - -83, -31,-124,-119, -31,-123, -95, -31,-122, -84, -31,-124,-119, -31,-123, -95, -31,-122, -85, -31, --124,-119, -31,-123, -95, -31,-122, -86, -31,-124,-119, -31,-123, -95, -31,-122, -87, -31,-124,-119, - -31,-123, -95, -31,-122, -88, -31,-124,-120, -31,-123, -75, -31,-121,-126, -31,-124,-120, -31,-123, - -75, -31,-121,-127, -31,-124,-120, -31,-123, -75, -31,-121,-128, -31,-124,-120, -31,-123, -75, -31, --122, -65, -31,-124,-120, -31,-123, -75, -31,-122, -66, -31,-124,-120, -31,-123, -75, -31,-122, -67, - -31,-124,-120, -31,-123, -75, -31,-122, -68, -31,-124,-120, -31,-123, -75, -31,-122, -69, -31,-124, --120, -31,-123, -75, -31,-122, -70, -31,-124,-120, -31,-123, -75, -31,-122, -71, -31,-124,-120, -31, --123, -75, -31,-122, -72, -31,-124,-120, -31,-123, -75, -31,-122, -73, -31,-124,-120, -31,-123, -75, - -31,-122, -74, -31,-124,-120, -31,-123, -75, -31,-122, -75, -31,-124,-120, -31,-123, -75, -31,-122, - -76, -31,-124,-120, -31,-123, -75, -31,-122, -77, -31,-124,-120, -31,-123, -75, -31,-122, -78, -31, --124,-120, -31,-123, -75, -31,-122, -79, -31,-124,-120, -31,-123, -75, -31,-122, -80, -31,-124,-120, - -31,-123, -75, -31,-122, -81, -31,-124,-120, -31,-123, -75, -31,-122, -82, -31,-124,-120, -31,-123, - -75, -31,-122, -83, -31,-124,-120, -31,-123, -75, -31,-122, -84, -31,-124,-120, -31,-123, -75, -31, --122, -85, -31,-124,-120, -31,-123, -75, -31,-122, -86, -31,-124,-120, -31,-123, -75, -31,-122, -87, - -31,-124,-120, -31,-123, -75, -31,-122, -88, -31,-124,-120, -31,-123, -76, -31,-121,-126, -31,-124, --120, -31,-123, -76, -31,-121,-127, -31,-124,-120, -31,-123, -76, -31,-121,-128, -31,-124,-120, -31, --123, -76, -31,-122, -65, -31,-124,-120, -31,-123, -76, -31,-122, -66, -31,-124,-120, -31,-123, -76, - -31,-122, -67, -31,-124,-120, -31,-123, -76, -31,-122, -68, -31,-124,-120, -31,-123, -76, -31,-122, - -69, -31,-124,-120, -31,-123, -76, -31,-122, -70, -31,-124,-120, -31,-123, -76, -31,-122, -71, -31, --124,-120, -31,-123, -76, -31,-122, -72, -31,-124,-120, -31,-123, -76, -31,-122, -73, -31,-124,-120, - -31,-123, -76, -31,-122, -74, -31,-124,-120, -31,-123, -76, -31,-122, -75, -31,-124,-120, -31,-123, - -76, -31,-122, -76, -31,-124,-120, -31,-123, -76, -31,-122, -77, -31,-124,-120, -31,-123, -76, -31, --122, -78, -31,-124,-120, -31,-123, -76, -31,-122, -79, -31,-124,-120, -31,-123, -76, -31,-122, -80, - -31,-124,-120, -31,-123, -76, -31,-122, -81, -31,-124,-120, -31,-123, -76, -31,-122, -82, -31,-124, --120, -31,-123, -76, -31,-122, -83, -31,-124,-120, -31,-123, -76, -31,-122, -84, -31,-124,-120, -31, --123, -76, -31,-122, -85, -31,-124,-120, -31,-123, -76, -31,-122, -86, -31,-124,-120, -31,-123, -76, - -31,-122, -87, -31,-124,-120, -31,-123, -76, -31,-122, -88, -31,-124,-120, -31,-123, -77, -31,-121, --126, -31,-124,-120, -31,-123, -77, -31,-121,-127, -31,-124,-120, -31,-123, -77, -31,-121,-128, -31, --124,-120, -31,-123, -77, -31,-122, -65, -31,-124,-120, -31,-123, -77, -31,-122, -66, -31,-124,-120, - -31,-123, -77, -31,-122, -67, -31,-124,-120, -31,-123, -77, -31,-122, -68, -31,-124,-120, -31,-123, - -77, -31,-122, -69, -31,-124,-120, -31,-123, -77, -31,-122, -70, -31,-124,-120, -31,-123, -77, -31, --122, -71, -31,-124,-120, -31,-123, -77, -31,-122, -72, -31,-124,-120, -31,-123, -77, -31,-122, -73, - -31,-124,-120, -31,-123, -77, -31,-122, -74, -31,-124,-120, -31,-123, -77, -31,-122, -75, -31,-124, --120, -31,-123, -77, -31,-122, -76, -31,-124,-120, -31,-123, -77, -31,-122, -77, -31,-124,-120, -31, --123, -77, -31,-122, -78, -31,-124,-120, -31,-123, -77, -31,-122, -79, -31,-124,-120, -31,-123, -77, - -31,-122, -80, -31,-124,-120, -31,-123, -77, -31,-122, -81, -31,-124,-120, -31,-123, -77, -31,-122, - -82, -31,-124,-120, -31,-123, -77, -31,-122, -83, -31,-124,-120, -31,-123, -77, -31,-122, -84, -31, --124,-120, -31,-123, -77, -31,-122, -85, -31,-124,-120, -31,-123, -77, -31,-122, -86, -31,-124,-120, - -31,-123, -77, -31,-122, -87, -31,-124,-120, -31,-123, -77, -31,-122, -88, -31,-124,-120, -31,-123, - -78, -31,-121,-126, -31,-124,-120, -31,-123, -78, -31,-121,-127, -31,-124,-120, -31,-123, -78, -31, --121,-128, -31,-124,-120, -31,-123, -78, -31,-122, -65, -31,-124,-120, -31,-123, -78, -31,-122, -66, - -31,-124,-120, -31,-123, -78, -31,-122, -67, -31,-124,-120, -31,-123, -78, -31,-122, -68, -31,-124, --120, -31,-123, -78, -31,-122, -69, -31,-124,-120, -31,-123, -78, -31,-122, -70, -31,-124,-120, -31, --123, -78, -31,-122, -71, -31,-124,-120, -31,-123, -78, -31,-122, -72, -31,-124,-120, -31,-123, -78, - -31,-122, -73, -31,-124,-120, -31,-123, -78, -31,-122, -74, -31,-124,-120, -31,-123, -78, -31,-122, - -75, -31,-124,-120, -31,-123, -78, -31,-122, -76, -31,-124,-120, -31,-123, -78, -31,-122, -77, -31, --124,-120, -31,-123, -78, -31,-122, -78, -31,-124,-120, -31,-123, -78, -31,-122, -79, -31,-124,-120, - -31,-123, -78, -31,-122, -80, -31,-124,-120, -31,-123, -78, -31,-122, -81, -31,-124,-120, -31,-123, - -78, -31,-122, -82, -31,-124,-120, -31,-123, -78, -31,-122, -83, -31,-124,-120, -31,-123, -78, -31, --122, -84, -31,-124,-120, -31,-123, -78, -31,-122, -85, -31,-124,-120, -31,-123, -78, -31,-122, -86, - -31,-124,-120, -31,-123, -78, -31,-122, -87, -31,-124,-120, -31,-123, -78, -31,-122, -88, -31,-124, --120, -31,-123, -79, -31,-121,-126, -31,-124,-120, -31,-123, -79, -31,-121,-127, -31,-124,-120, -31, --123, -79, -31,-121,-128, -31,-124,-120, -31,-123, -79, -31,-122, -65, -31,-124,-120, -31,-123, -79, - -31,-122, -66, -31,-124,-120, -31,-123, -79, -31,-122, -67, -31,-124,-120, -31,-123, -79, -31,-122, - -68, -31,-124,-120, -31,-123, -79, -31,-122, -69, -31,-124,-120, -31,-123, -79, -31,-122, -70, -31, --124,-120, -31,-123, -79, -31,-122, -71, -31,-124,-120, -31,-123, -79, -31,-122, -72, -31,-124,-120, - -31,-123, -79, -31,-122, -73, -31,-124,-120, -31,-123, -79, -31,-122, -74, -31,-124,-120, -31,-123, - -79, -31,-122, -75, -31,-124,-120, -31,-123, -79, -31,-122, -76, -31,-124,-120, -31,-123, -79, -31, --122, -77, -31,-124,-120, -31,-123, -79, -31,-122, -78, -31,-124,-120, -31,-123, -79, -31,-122, -79, - -31,-124,-120, -31,-123, -79, -31,-122, -80, -31,-124,-120, -31,-123, -79, -31,-122, -81, -31,-124, --120, -31,-123, -79, -31,-122, -82, -31,-124,-120, -31,-123, -79, -31,-122, -83, -31,-124,-120, -31, --123, -79, -31,-122, -84, -31,-124,-120, -31,-123, -79, -31,-122, -85, -31,-124,-120, -31,-123, -79, - -31,-122, -86, -31,-124,-120, -31,-123, -79, -31,-122, -87, -31,-124,-120, -31,-123, -79, -31,-122, - -88, -31,-124,-120, -31,-123, -80, -31,-121,-126, -31,-124,-120, -31,-123, -80, -31,-121,-127, -31, --124,-120, -31,-123, -80, -31,-121,-128, -31,-124,-120, -31,-123, -80, -31,-122, -65, -31,-124,-120, - -31,-123, -80, -31,-122, -66, -31,-124,-120, -31,-123, -80, -31,-122, -67, -31,-124,-120, -31,-123, - -80, -31,-122, -68, -31,-124,-120, -31,-123, -80, -31,-122, -69, -31,-124,-120, -31,-123, -80, -31, --122, -70, -31,-124,-120, -31,-123, -80, -31,-122, -71, -31,-124,-120, -31,-123, -80, -31,-122, -72, - -31,-124,-120, -31,-123, -80, -31,-122, -73, -31,-124,-120, -31,-123, -80, -31,-122, -74, -31,-124, --120, -31,-123, -80, -31,-122, -75, -31,-124,-120, -31,-123, -80, -31,-122, -76, -31,-124,-120, -31, --123, -80, -31,-122, -77, -31,-124,-120, -31,-123, -80, -31,-122, -78, -31,-124,-120, -31,-123, -80, - -31,-122, -79, -31,-124,-120, -31,-123, -80, -31,-122, -80, -31,-124,-120, -31,-123, -80, -31,-122, - -81, -31,-124,-120, -31,-123, -80, -31,-122, -82, -31,-124,-120, -31,-123, -80, -31,-122, -83, -31, --124,-120, -31,-123, -80, -31,-122, -84, -31,-124,-120, -31,-123, -80, -31,-122, -85, -31,-124,-120, - -31,-123, -80, -31,-122, -86, -31,-124,-120, -31,-123, -80, -31,-122, -87, -31,-124,-120, -31,-123, - -80, -31,-122, -88, -31,-124,-120, -31,-123, -81, -31,-121,-126, -31,-124,-120, -31,-123, -81, -31, --121,-127, -31,-124,-120, -31,-123, -81, -31,-121,-128, -31,-124,-120, -31,-123, -81, -31,-122, -65, - -31,-124,-120, -31,-123, -81, -31,-122, -66, -31,-124,-120, -31,-123, -81, -31,-122, -67, -31,-124, --120, -31,-123, -81, -31,-122, -68, -31,-124,-120, -31,-123, -81, -31,-122, -69, -31,-124,-120, -31, --123, -81, -31,-122, -70, -31,-124,-120, -31,-123, -81, -31,-122, -71, -31,-124,-120, -31,-123, -81, - -31,-122, -72, -31,-124,-120, -31,-123, -81, -31,-122, -73, -31,-124,-120, -31,-123, -81, -31,-122, - -74, -31,-124,-120, -31,-123, -81, -31,-122, -75, -31,-124,-120, -31,-123, -81, -31,-122, -76, -31, --124,-120, -31,-123, -81, -31,-122, -77, -31,-124,-120, -31,-123, -81, -31,-122, -78, -31,-124,-120, - -31,-123, -81, -31,-122, -79, -31,-124,-120, -31,-123, -81, -31,-122, -80, -31,-124,-120, -31,-123, - -81, -31,-122, -81, -31,-124,-120, -31,-123, -81, -31,-122, -82, -31,-124,-120, -31,-123, -81, -31, --122, -83, -31,-124,-120, -31,-123, -81, -31,-122, -84, -31,-124,-120, -31,-123, -81, -31,-122, -85, - -31,-124,-120, -31,-123, -81, -31,-122, -86, -31,-124,-120, -31,-123, -81, -31,-122, -87, -31,-124, --120, -31,-123, -81, -31,-122, -88, -31,-124,-120, -31,-123, -82, -31,-121,-126, -31,-124,-120, -31, --123, -82, -31,-121,-127, -31,-124,-120, -31,-123, -82, -31,-121,-128, -31,-124,-120, -31,-123, -82, - -31,-122, -65, -31,-124,-120, -31,-123, -82, -31,-122, -66, -31,-124,-120, -31,-123, -82, -31,-122, - -67, -31,-124,-120, -31,-123, -82, -31,-122, -68, -31,-124,-120, -31,-123, -82, -31,-122, -69, -31, --124,-120, -31,-123, -82, -31,-122, -70, -31,-124,-120, -31,-123, -82, -31,-122, -71, -31,-124,-120, - -31,-123, -82, -31,-122, -72, -31,-124,-120, -31,-123, -82, -31,-122, -73, -31,-124,-120, -31,-123, - -82, -31,-122, -74, -31,-124,-120, -31,-123, -82, -31,-122, -75, -31,-124,-120, -31,-123, -82, -31, --122, -76, -31,-124,-120, -31,-123, -82, -31,-122, -77, -31,-124,-120, -31,-123, -82, -31,-122, -78, - -31,-124,-120, -31,-123, -82, -31,-122, -79, -31,-124,-120, -31,-123, -82, -31,-122, -80, -31,-124, --120, -31,-123, -82, -31,-122, -81, -31,-124,-120, -31,-123, -82, -31,-122, -82, -31,-124,-120, -31, --123, -82, -31,-122, -83, -31,-124,-120, -31,-123, -82, -31,-122, -84, -31,-124,-120, -31,-123, -82, - -31,-122, -85, -31,-124,-120, -31,-123, -82, -31,-122, -86, -31,-124,-120, -31,-123, -82, -31,-122, - -87, -31,-124,-120, -31,-123, -82, -31,-122, -88, -31,-124,-120, -31,-123, -83, -31,-121,-126, -31, --124,-120, -31,-123, -83, -31,-121,-127, -31,-124,-120, -31,-123, -83, -31,-121,-128, -31,-124,-120, - -31,-123, -83, -31,-122, -65, -31,-124,-120, -31,-123, -83, -31,-122, -66, -31,-124,-120, -31,-123, - -83, -31,-122, -67, -31,-124,-120, -31,-123, -83, -31,-122, -68, -31,-124,-120, -31,-123, -83, -31, --122, -69, -31,-124,-120, -31,-123, -83, -31,-122, -70, -31,-124,-120, -31,-123, -83, -31,-122, -71, - -31,-124,-120, -31,-123, -83, -31,-122, -72, -31,-124,-120, -31,-123, -83, -31,-122, -73, -31,-124, --120, -31,-123, -83, -31,-122, -74, -31,-124,-120, -31,-123, -83, -31,-122, -75, -31,-124,-120, -31, --123, -83, -31,-122, -76, -31,-124,-120, -31,-123, -83, -31,-122, -77, -31,-124,-120, -31,-123, -83, - -31,-122, -78, -31,-124,-120, -31,-123, -83, -31,-122, -79, -31,-124,-120, -31,-123, -83, -31,-122, - -80, -31,-124,-120, -31,-123, -83, -31,-122, -81, -31,-124,-120, -31,-123, -83, -31,-122, -82, -31, --124,-120, -31,-123, -83, -31,-122, -83, -31,-124,-120, -31,-123, -83, -31,-122, -84, -31,-124,-120, - -31,-123, -83, -31,-122, -85, -31,-124,-120, -31,-123, -83, -31,-122, -86, -31,-124,-120, -31,-123, - -83, -31,-122, -87, -31,-124,-120, -31,-123, -83, -31,-122, -88, -31,-124,-120, -31,-123, -84, -31, --121,-126, -31,-124,-120, -31,-123, -84, -31,-121,-127, -31,-124,-120, -31,-123, -84, -31,-121,-128, - -31,-124,-120, -31,-123, -84, -31,-122, -65, -31,-124,-120, -31,-123, -84, -31,-122, -66, -31,-124, --120, -31,-123, -84, -31,-122, -67, -31,-124,-120, -31,-123, -84, -31,-122, -68, -31,-124,-120, -31, --123, -84, -31,-122, -69, -31,-124,-120, -31,-123, -84, -31,-122, -70, -31,-124,-120, -31,-123, -84, - -31,-122, -71, -31,-124,-120, -31,-123, -84, -31,-122, -72, -31,-124,-120, -31,-123, -84, -31,-122, - -73, -31,-124,-120, -31,-123, -84, -31,-122, -74, -31,-124,-120, -31,-123, -84, -31,-122, -75, -31, --124,-120, -31,-123, -84, -31,-122, -76, -31,-124,-120, -31,-123, -84, -31,-122, -77, -31,-124,-120, - -31,-123, -84, -31,-122, -78, -31,-124,-120, -31,-123, -84, -31,-122, -79, -31,-124,-120, -31,-123, - -84, -31,-122, -80, -31,-124,-120, -31,-123, -84, -31,-122, -81, -31,-124,-120, -31,-123, -84, -31, --122, -82, -31,-124,-120, -31,-123, -84, -31,-122, -83, -31,-124,-120, -31,-123, -84, -31,-122, -84, - -31,-124,-120, -31,-123, -84, -31,-122, -85, -31,-124,-120, -31,-123, -84, -31,-122, -86, -31,-124, --120, -31,-123, -84, -31,-122, -87, -31,-124,-120, -31,-123, -84, -31,-122, -88, -31,-124,-120, -31, --123, -85, -31,-121,-126, -31,-124,-120, -31,-123, -85, -31,-121,-127, -31,-124,-120, -31,-123, -85, - -31,-121,-128, -31,-124,-120, -31,-123, -85, -31,-122, -65, -31,-124,-120, -31,-123, -85, -31,-122, - -66, -31,-124,-120, -31,-123, -85, -31,-122, -67, -31,-124,-120, -31,-123, -85, -31,-122, -68, -31, --124,-120, -31,-123, -85, -31,-122, -69, -31,-124,-120, -31,-123, -85, -31,-122, -70, -31,-124,-120, - -31,-123, -85, -31,-122, -71, -31,-124,-120, -31,-123, -85, -31,-122, -72, -31,-124,-120, -31,-123, - -85, -31,-122, -73, -31,-124,-120, -31,-123, -85, -31,-122, -74, -31,-124,-120, -31,-123, -85, -31, --122, -75, -31,-124,-120, -31,-123, -85, -31,-122, -76, -31,-124,-120, -31,-123, -85, -31,-122, -77, - -31,-124,-120, -31,-123, -85, -31,-122, -78, -31,-124,-120, -31,-123, -85, -31,-122, -79, -31,-124, --120, -31,-123, -85, -31,-122, -80, -31,-124,-120, -31,-123, -85, -31,-122, -81, -31,-124,-120, -31, --123, -85, -31,-122, -82, -31,-124,-120, -31,-123, -85, -31,-122, -83, -31,-124,-120, -31,-123, -85, - -31,-122, -84, -31,-124,-120, -31,-123, -85, -31,-122, -85, -31,-124,-120, -31,-123, -85, -31,-122, - -86, -31,-124,-120, -31,-123, -85, -31,-122, -87, -31,-124,-120, -31,-123, -85, -31,-122, -88, -31, --124,-120, -31,-123, -86, -31,-121,-126, -31,-124,-120, -31,-123, -86, -31,-121,-127, -31,-124,-120, - -31,-123, -86, -31,-121,-128, -31,-124,-120, -31,-123, -86, -31,-122, -65, -31,-124,-120, -31,-123, - -86, -31,-122, -66, -31,-124,-120, -31,-123, -86, -31,-122, -67, -31,-124,-120, -31,-123, -86, -31, --122, -68, -31,-124,-120, -31,-123, -86, -31,-122, -69, -31,-124,-120, -31,-123, -86, -31,-122, -70, - -31,-124,-120, -31,-123, -86, -31,-122, -71, -31,-124,-120, -31,-123, -86, -31,-122, -72, -31,-124, --120, -31,-123, -86, -31,-122, -73, -31,-124,-120, -31,-123, -86, -31,-122, -74, -31,-124,-120, -31, --123, -86, -31,-122, -75, -31,-124,-120, -31,-123, -86, -31,-122, -76, -31,-124,-120, -31,-123, -86, - -31,-122, -77, -31,-124,-120, -31,-123, -86, -31,-122, -78, -31,-124,-120, -31,-123, -86, -31,-122, - -79, -31,-124,-120, -31,-123, -86, -31,-122, -80, -31,-124,-120, -31,-123, -86, -31,-122, -81, -31, --124,-120, -31,-123, -86, -31,-122, -82, -31,-124,-120, -31,-123, -86, -31,-122, -83, -31,-124,-120, - -31,-123, -86, -31,-122, -84, -31,-124,-120, -31,-123, -86, -31,-122, -85, -31,-124,-120, -31,-123, - -86, -31,-122, -86, -31,-124,-120, -31,-123, -86, -31,-122, -87, -31,-124,-120, -31,-123, -86, -31, --122, -88, -31,-124,-120, -31,-123, -87, -31,-121,-126, -31,-124,-120, -31,-123, -87, -31,-121,-127, - -31,-124,-120, -31,-123, -87, -31,-121,-128, -31,-124,-120, -31,-123, -87, -31,-122, -65, -31,-124, --120, -31,-123, -87, -31,-122, -66, -31,-124,-120, -31,-123, -87, -31,-122, -67, -31,-124,-120, -31, --123, -87, -31,-122, -68, -31,-124,-120, -31,-123, -87, -31,-122, -69, -31,-124,-120, -31,-123, -87, - -31,-122, -70, -31,-124,-120, -31,-123, -87, -31,-122, -71, -31,-124,-120, -31,-123, -87, -31,-122, - -72, -31,-124,-120, -31,-123, -87, -31,-122, -73, -31,-124,-120, -31,-123, -87, -31,-122, -74, -31, --124,-120, -31,-123, -87, -31,-122, -75, -31,-124,-120, -31,-123, -87, -31,-122, -76, -31,-124,-120, - -31,-123, -87, -31,-122, -77, -31,-124,-120, -31,-123, -87, -31,-122, -78, -31,-124,-120, -31,-123, - -87, -31,-122, -79, -31,-124,-120, -31,-123, -87, -31,-122, -80, -31,-124,-120, -31,-123, -87, -31, --122, -81, -31,-124,-120, -31,-123, -87, -31,-122, -82, -31,-124,-120, -31,-123, -87, -31,-122, -83, - -31,-124,-120, -31,-123, -87, -31,-122, -84, -31,-124,-120, -31,-123, -87, -31,-122, -85, -31,-124, --120, -31,-123, -87, -31,-122, -86, -31,-124,-120, -31,-123, -87, -31,-122, -87, -31,-124,-120, -31, --123, -87, -31,-122, -88, -31,-124,-120, -31,-123, -88, -31,-121,-126, -31,-124,-120, -31,-123, -88, - -31,-121,-127, -31,-124,-120, -31,-123, -88, -31,-121,-128, -31,-124,-120, -31,-123, -88, -31,-122, - -65, -31,-124,-120, -31,-123, -88, -31,-122, -66, -31,-124,-120, -31,-123, -88, -31,-122, -67, -31, --124,-120, -31,-123, -88, -31,-122, -68, -31,-124,-120, -31,-123, -88, -31,-122, -69, -31,-124,-120, - -31,-123, -88, -31,-122, -70, -31,-124,-120, -31,-123, -88, -31,-122, -71, -31,-124,-120, -31,-123, - -88, -31,-122, -72, -31,-124,-120, -31,-123, -88, -31,-122, -73, -31,-124,-120, -31,-123, -88, -31, --122, -74, -31,-124,-120, -31,-123, -88, -31,-122, -75, -31,-124,-120, -31,-123, -88, -31,-122, -76, - -31,-124,-120, -31,-123, -88, -31,-122, -77, -31,-124,-120, -31,-123, -88, -31,-122, -78, -31,-124, --120, -31,-123, -88, -31,-122, -79, -31,-124,-120, -31,-123, -88, -31,-122, -80, -31,-124,-120, -31, --123, -88, -31,-122, -81, -31,-124,-120, -31,-123, -88, -31,-122, -82, -31,-124,-120, -31,-123, -88, - -31,-122, -83, -31,-124,-120, -31,-123, -88, -31,-122, -84, -31,-124,-120, -31,-123, -88, -31,-122, - -85, -31,-124,-120, -31,-123, -88, -31,-122, -86, -31,-124,-120, -31,-123, -88, -31,-122, -87, -31, --124,-120, -31,-123, -88, -31,-122, -88, -31,-124,-120, -31,-123, -89, -31,-121,-126, -31,-124,-120, - -31,-123, -89, -31,-121,-127, -31,-124,-120, -31,-123, -89, -31,-121,-128, -31,-124,-120, -31,-123, - -89, -31,-122, -65, -31,-124,-120, -31,-123, -89, -31,-122, -66, -31,-124,-120, -31,-123, -89, -31, --122, -67, -31,-124,-120, -31,-123, -89, -31,-122, -68, -31,-124,-120, -31,-123, -89, -31,-122, -69, - -31,-124,-120, -31,-123, -89, -31,-122, -70, -31,-124,-120, -31,-123, -89, -31,-122, -71, -31,-124, --120, -31,-123, -89, -31,-122, -72, -31,-124,-120, -31,-123, -89, -31,-122, -73, -31,-124,-120, -31, --123, -89, -31,-122, -74, -31,-124,-120, -31,-123, -89, -31,-122, -75, -31,-124,-120, -31,-123, -89, - -31,-122, -76, -31,-124,-120, -31,-123, -89, -31,-122, -77, -31,-124,-120, -31,-123, -89, -31,-122, - -78, -31,-124,-120, -31,-123, -89, -31,-122, -79, -31,-124,-120, -31,-123, -89, -31,-122, -80, -31, --124,-120, -31,-123, -89, -31,-122, -81, -31,-124,-120, -31,-123, -89, -31,-122, -82, -31,-124,-120, - -31,-123, -89, -31,-122, -83, -31,-124,-120, -31,-123, -89, -31,-122, -84, -31,-124,-120, -31,-123, - -89, -31,-122, -85, -31,-124,-120, -31,-123, -89, -31,-122, -86, -31,-124,-120, -31,-123, -89, -31, --122, -87, -31,-124,-120, -31,-123, -89, -31,-122, -88, -31,-124,-120, -31,-123, -90, -31,-121,-126, - -31,-124,-120, -31,-123, -90, -31,-121,-127, -31,-124,-120, -31,-123, -90, -31,-121,-128, -31,-124, --120, -31,-123, -90, -31,-122, -65, -31,-124,-120, -31,-123, -90, -31,-122, -66, -31,-124,-120, -31, --123, -90, -31,-122, -67, -31,-124,-120, -31,-123, -90, -31,-122, -68, -31,-124,-120, -31,-123, -90, - -31,-122, -69, -31,-124,-120, -31,-123, -90, -31,-122, -70, -31,-124,-120, -31,-123, -90, -31,-122, - -71, -31,-124,-120, -31,-123, -90, -31,-122, -72, -31,-124,-120, -31,-123, -90, -31,-122, -73, -31, --124,-120, -31,-123, -90, -31,-122, -74, -31,-124,-120, -31,-123, -90, -31,-122, -75, -31,-124,-120, - -31,-123, -90, -31,-122, -76, -31,-124,-120, -31,-123, -90, -31,-122, -77, -31,-124,-120, -31,-123, - -90, -31,-122, -78, -31,-124,-120, -31,-123, -90, -31,-122, -79, -31,-124,-120, -31,-123, -90, -31, --122, -80, -31,-124,-120, -31,-123, -90, -31,-122, -81, -31,-124,-120, -31,-123, -90, -31,-122, -82, - -31,-124,-120, -31,-123, -90, -31,-122, -83, -31,-124,-120, -31,-123, -90, -31,-122, -84, -31,-124, --120, -31,-123, -90, -31,-122, -85, -31,-124,-120, -31,-123, -90, -31,-122, -86, -31,-124,-120, -31, --123, -90, -31,-122, -87, -31,-124,-120, -31,-123, -90, -31,-122, -88, -31,-124,-120, -31,-123, -91, - -31,-121,-126, -31,-124,-120, -31,-123, -91, -31,-121,-127, -31,-124,-120, -31,-123, -91, -31,-121, --128, -31,-124,-120, -31,-123, -91, -31,-122, -65, -31,-124,-120, -31,-123, -91, -31,-122, -66, -31, --124,-120, -31,-123, -91, -31,-122, -67, -31,-124,-120, -31,-123, -91, -31,-122, -68, -31,-124,-120, - -31,-123, -91, -31,-122, -69, -31,-124,-120, -31,-123, -91, -31,-122, -70, -31,-124,-120, -31,-123, - -91, -31,-122, -71, -31,-124,-120, -31,-123, -91, -31,-122, -72, -31,-124,-120, -31,-123, -91, -31, --122, -73, -31,-124,-120, -31,-123, -91, -31,-122, -74, -31,-124,-120, -31,-123, -91, -31,-122, -75, - -31,-124,-120, -31,-123, -91, -31,-122, -76, -31,-124,-120, -31,-123, -91, -31,-122, -77, -31,-124, --120, -31,-123, -91, -31,-122, -78, -31,-124,-120, -31,-123, -91, -31,-122, -79, -31,-124,-120, -31, --123, -91, -31,-122, -80, -31,-124,-120, -31,-123, -91, -31,-122, -81, -31,-124,-120, -31,-123, -91, - -31,-122, -82, -31,-124,-120, -31,-123, -91, -31,-122, -83, -31,-124,-120, -31,-123, -91, -31,-122, - -84, -31,-124,-120, -31,-123, -91, -31,-122, -85, -31,-124,-120, -31,-123, -91, -31,-122, -86, -31, --124,-120, -31,-123, -91, -31,-122, -87, -31,-124,-120, -31,-123, -91, -31,-122, -88, -31,-124,-120, - -31,-123, -92, -31,-121,-126, -31,-124,-120, -31,-123, -92, -31,-121,-127, -31,-124,-120, -31,-123, - -92, -31,-121,-128, -31,-124,-120, -31,-123, -92, -31,-122, -65, -31,-124,-120, -31,-123, -92, -31, --122, -66, -31,-124,-120, -31,-123, -92, -31,-122, -67, -31,-124,-120, -31,-123, -92, -31,-122, -68, - -31,-124,-120, -31,-123, -92, -31,-122, -69, -31,-124,-120, -31,-123, -92, -31,-122, -70, -31,-124, --120, -31,-123, -92, -31,-122, -71, -31,-124,-120, -31,-123, -92, -31,-122, -72, -31,-124,-120, -31, --123, -92, -31,-122, -73, -31,-124,-120, -31,-123, -92, -31,-122, -74, -31,-124,-120, -31,-123, -92, - -31,-122, -75, -31,-124,-120, -31,-123, -92, -31,-122, -76, -31,-124,-120, -31,-123, -92, -31,-122, - -77, -31,-124,-120, -31,-123, -92, -31,-122, -78, -31,-124,-120, -31,-123, -92, -31,-122, -79, -31, --124,-120, -31,-123, -92, -31,-122, -80, -31,-124,-120, -31,-123, -92, -31,-122, -81, -31,-124,-120, - -31,-123, -92, -31,-122, -82, -31,-124,-120, -31,-123, -92, -31,-122, -83, -31,-124,-120, -31,-123, - -92, -31,-122, -84, -31,-124,-120, -31,-123, -92, -31,-122, -85, -31,-124,-120, -31,-123, -92, -31, --122, -86, -31,-124,-120, -31,-123, -92, -31,-122, -87, -31,-124,-120, -31,-123, -92, -31,-122, -88, - -31,-124,-120, -31,-123, -93, -31,-121,-126, -31,-124,-120, -31,-123, -93, -31,-121,-127, -31,-124, --120, -31,-123, -93, -31,-121,-128, -31,-124,-120, -31,-123, -93, -31,-122, -65, -31,-124,-120, -31, --123, -93, -31,-122, -66, -31,-124,-120, -31,-123, -93, -31,-122, -67, -31,-124,-120, -31,-123, -93, - -31,-122, -68, -31,-124,-120, -31,-123, -93, -31,-122, -69, -31,-124,-120, -31,-123, -93, -31,-122, - -70, -31,-124,-120, -31,-123, -93, -31,-122, -71, -31,-124,-120, -31,-123, -93, -31,-122, -72, -31, --124,-120, -31,-123, -93, -31,-122, -73, -31,-124,-120, -31,-123, -93, -31,-122, -74, -31,-124,-120, - -31,-123, -93, -31,-122, -75, -31,-124,-120, -31,-123, -93, -31,-122, -76, -31,-124,-120, -31,-123, - -93, -31,-122, -77, -31,-124,-120, -31,-123, -93, -31,-122, -78, -31,-124,-120, -31,-123, -93, -31, --122, -79, -31,-124,-120, -31,-123, -93, -31,-122, -80, -31,-124,-120, -31,-123, -93, -31,-122, -81, - -31,-124,-120, -31,-123, -93, -31,-122, -82, -31,-124,-120, -31,-123, -93, -31,-122, -83, -31,-124, --120, -31,-123, -93, -31,-122, -84, -31,-124,-120, -31,-123, -93, -31,-122, -85, -31,-124,-120, -31, --123, -93, -31,-122, -86, -31,-124,-120, -31,-123, -93, -31,-122, -87, -31,-124,-120, -31,-123, -93, - -31,-122, -88, -31,-124,-120, -31,-123, -94, -31,-121,-126, -31,-124,-120, -31,-123, -94, -31,-121, --127, -31,-124,-120, -31,-123, -94, -31,-121,-128, -31,-124,-120, -31,-123, -94, -31,-122, -65, -31, --124,-120, -31,-123, -94, -31,-122, -66, -31,-124,-120, -31,-123, -94, -31,-122, -67, -31,-124,-120, - -31,-123, -94, -31,-122, -68, -31,-124,-120, -31,-123, -94, -31,-122, -69, -31,-124,-120, -31,-123, - -94, -31,-122, -70, -31,-124,-120, -31,-123, -94, -31,-122, -71, -31,-124,-120, -31,-123, -94, -31, --122, -72, -31,-124,-120, -31,-123, -94, -31,-122, -73, -31,-124,-120, -31,-123, -94, -31,-122, -74, - -31,-124,-120, -31,-123, -94, -31,-122, -75, -31,-124,-120, -31,-123, -94, -31,-122, -76, -31,-124, --120, -31,-123, -94, -31,-122, -77, -31,-124,-120, -31,-123, -94, -31,-122, -78, -31,-124,-120, -31, --123, -94, -31,-122, -79, -31,-124,-120, -31,-123, -94, -31,-122, -80, -31,-124,-120, -31,-123, -94, - -31,-122, -81, -31,-124,-120, -31,-123, -94, -31,-122, -82, -31,-124,-120, -31,-123, -94, -31,-122, - -83, -31,-124,-120, -31,-123, -94, -31,-122, -84, -31,-124,-120, -31,-123, -94, -31,-122, -85, -31, --124,-120, -31,-123, -94, -31,-122, -86, -31,-124,-120, -31,-123, -94, -31,-122, -87, -31,-124,-120, - -31,-123, -94, -31,-122, -88, -31,-124,-120, -31,-123, -95, -31,-121,-126, -31,-124,-120, -31,-123, - -95, -31,-121,-127, -31,-124,-120, -31,-123, -95, -31,-121,-128, -31,-124,-120, -31,-123, -95, -31, --122, -65, -31,-124,-120, -31,-123, -95, -31,-122, -66, -31,-124,-120, -31,-123, -95, -31,-122, -67, - -31,-124,-120, -31,-123, -95, -31,-122, -68, -31,-124,-120, -31,-123, -95, -31,-122, -69, -31,-124, --120, -31,-123, -95, -31,-122, -70, -31,-124,-120, -31,-123, -95, -31,-122, -71, -31,-124,-120, -31, --123, -95, -31,-122, -72, -31,-124,-120, -31,-123, -95, -31,-122, -73, -31,-124,-120, -31,-123, -95, - -31,-122, -74, -31,-124,-120, -31,-123, -95, -31,-122, -75, -31,-124,-120, -31,-123, -95, -31,-122, - -76, -31,-124,-120, -31,-123, -95, -31,-122, -77, -31,-124,-120, -31,-123, -95, -31,-122, -78, -31, --124,-120, -31,-123, -95, -31,-122, -79, -31,-124,-120, -31,-123, -95, -31,-122, -80, -31,-124,-120, - -31,-123, -95, -31,-122, -81, -31,-124,-120, -31,-123, -95, -31,-122, -82, -31,-124,-120, -31,-123, - -95, -31,-122, -83, -31,-124,-120, -31,-123, -95, -31,-122, -84, -31,-124,-120, -31,-123, -95, -31, --122, -85, -31,-124,-120, -31,-123, -95, -31,-122, -86, -31,-124,-120, -31,-123, -95, -31,-122, -87, - -31,-124,-120, -31,-123, -95, -31,-122, -88, -31,-124,-121, -31,-123, -75, -31,-121,-126, -31,-124, --121, -31,-123, -75, -31,-121,-127, -31,-124,-121, -31,-123, -75, -31,-121,-128, -31,-124,-121, -31, --123, -75, -31,-122, -65, -31,-124,-121, -31,-123, -75, -31,-122, -66, -31,-124,-121, -31,-123, -75, - -31,-122, -67, -31,-124,-121, -31,-123, -75, -31,-122, -68, -31,-124,-121, -31,-123, -75, -31,-122, - -69, -31,-124,-121, -31,-123, -75, -31,-122, -70, -31,-124,-121, -31,-123, -75, -31,-122, -71, -31, --124,-121, -31,-123, -75, -31,-122, -72, -31,-124,-121, -31,-123, -75, -31,-122, -73, -31,-124,-121, - -31,-123, -75, -31,-122, -74, -31,-124,-121, -31,-123, -75, -31,-122, -75, -31,-124,-121, -31,-123, - -75, -31,-122, -76, -31,-124,-121, -31,-123, -75, -31,-122, -77, -31,-124,-121, -31,-123, -75, -31, --122, -78, -31,-124,-121, -31,-123, -75, -31,-122, -79, -31,-124,-121, -31,-123, -75, -31,-122, -80, - -31,-124,-121, -31,-123, -75, -31,-122, -81, -31,-124,-121, -31,-123, -75, -31,-122, -82, -31,-124, --121, -31,-123, -75, -31,-122, -83, -31,-124,-121, -31,-123, -75, -31,-122, -84, -31,-124,-121, -31, --123, -75, -31,-122, -85, -31,-124,-121, -31,-123, -75, -31,-122, -86, -31,-124,-121, -31,-123, -75, - -31,-122, -87, -31,-124,-121, -31,-123, -75, -31,-122, -88, -31,-124,-121, -31,-123, -76, -31,-121, --126, -31,-124,-121, -31,-123, -76, -31,-121,-127, -31,-124,-121, -31,-123, -76, -31,-121,-128, -31, --124,-121, -31,-123, -76, -31,-122, -65, -31,-124,-121, -31,-123, -76, -31,-122, -66, -31,-124,-121, - -31,-123, -76, -31,-122, -67, -31,-124,-121, -31,-123, -76, -31,-122, -68, -31,-124,-121, -31,-123, - -76, -31,-122, -69, -31,-124,-121, -31,-123, -76, -31,-122, -70, -31,-124,-121, -31,-123, -76, -31, --122, -71, -31,-124,-121, -31,-123, -76, -31,-122, -72, -31,-124,-121, -31,-123, -76, -31,-122, -73, - -31,-124,-121, -31,-123, -76, -31,-122, -74, -31,-124,-121, -31,-123, -76, -31,-122, -75, -31,-124, --121, -31,-123, -76, -31,-122, -76, -31,-124,-121, -31,-123, -76, -31,-122, -77, -31,-124,-121, -31, --123, -76, -31,-122, -78, -31,-124,-121, -31,-123, -76, -31,-122, -79, -31,-124,-121, -31,-123, -76, - -31,-122, -80, -31,-124,-121, -31,-123, -76, -31,-122, -81, -31,-124,-121, -31,-123, -76, -31,-122, - -82, -31,-124,-121, -31,-123, -76, -31,-122, -83, -31,-124,-121, -31,-123, -76, -31,-122, -84, -31, --124,-121, -31,-123, -76, -31,-122, -85, -31,-124,-121, -31,-123, -76, -31,-122, -86, -31,-124,-121, - -31,-123, -76, -31,-122, -87, -31,-124,-121, -31,-123, -76, -31,-122, -88, -31,-124,-121, -31,-123, - -77, -31,-121,-126, -31,-124,-121, -31,-123, -77, -31,-121,-127, -31,-124,-121, -31,-123, -77, -31, --121,-128, -31,-124,-121, -31,-123, -77, -31,-122, -65, -31,-124,-121, -31,-123, -77, -31,-122, -66, - -31,-124,-121, -31,-123, -77, -31,-122, -67, -31,-124,-121, -31,-123, -77, -31,-122, -68, -31,-124, --121, -31,-123, -77, -31,-122, -69, -31,-124,-121, -31,-123, -77, -31,-122, -70, -31,-124,-121, -31, --123, -77, -31,-122, -71, -31,-124,-121, -31,-123, -77, -31,-122, -72, -31,-124,-121, -31,-123, -77, - -31,-122, -73, -31,-124,-121, -31,-123, -77, -31,-122, -74, -31,-124,-121, -31,-123, -77, -31,-122, - -75, -31,-124,-121, -31,-123, -77, -31,-122, -76, -31,-124,-121, -31,-123, -77, -31,-122, -77, -31, --124,-121, -31,-123, -77, -31,-122, -78, -31,-124,-121, -31,-123, -77, -31,-122, -79, -31,-124,-121, - -31,-123, -77, -31,-122, -80, -31,-124,-121, -31,-123, -77, -31,-122, -81, -31,-124,-121, -31,-123, - -77, -31,-122, -82, -31,-124,-121, -31,-123, -77, -31,-122, -83, -31,-124,-121, -31,-123, -77, -31, --122, -84, -31,-124,-121, -31,-123, -77, -31,-122, -85, -31,-124,-121, -31,-123, -77, -31,-122, -86, - -31,-124,-121, -31,-123, -77, -31,-122, -87, -31,-124,-121, -31,-123, -77, -31,-122, -88, -31,-124, --121, -31,-123, -78, -31,-121,-126, -31,-124,-121, -31,-123, -78, -31,-121,-127, -31,-124,-121, -31, --123, -78, -31,-121,-128, -31,-124,-121, -31,-123, -78, -31,-122, -65, -31,-124,-121, -31,-123, -78, - -31,-122, -66, -31,-124,-121, -31,-123, -78, -31,-122, -67, -31,-124,-121, -31,-123, -78, -31,-122, - -68, -31,-124,-121, -31,-123, -78, -31,-122, -69, -31,-124,-121, -31,-123, -78, -31,-122, -70, -31, --124,-121, -31,-123, -78, -31,-122, -71, -31,-124,-121, -31,-123, -78, -31,-122, -72, -31,-124,-121, - -31,-123, -78, -31,-122, -73, -31,-124,-121, -31,-123, -78, -31,-122, -74, -31,-124,-121, -31,-123, - -78, -31,-122, -75, -31,-124,-121, -31,-123, -78, -31,-122, -76, -31,-124,-121, -31,-123, -78, -31, --122, -77, -31,-124,-121, -31,-123, -78, -31,-122, -78, -31,-124,-121, -31,-123, -78, -31,-122, -79, - -31,-124,-121, -31,-123, -78, -31,-122, -80, -31,-124,-121, -31,-123, -78, -31,-122, -81, -31,-124, --121, -31,-123, -78, -31,-122, -82, -31,-124,-121, -31,-123, -78, -31,-122, -83, -31,-124,-121, -31, --123, -78, -31,-122, -84, -31,-124,-121, -31,-123, -78, -31,-122, -85, -31,-124,-121, -31,-123, -78, - -31,-122, -86, -31,-124,-121, -31,-123, -78, -31,-122, -87, -31,-124,-121, -31,-123, -78, -31,-122, - -88, -31,-124,-121, -31,-123, -79, -31,-121,-126, -31,-124,-121, -31,-123, -79, -31,-121,-127, -31, --124,-121, -31,-123, -79, -31,-121,-128, -31,-124,-121, -31,-123, -79, -31,-122, -65, -31,-124,-121, - -31,-123, -79, -31,-122, -66, -31,-124,-121, -31,-123, -79, -31,-122, -67, -31,-124,-121, -31,-123, - -79, -31,-122, -68, -31,-124,-121, -31,-123, -79, -31,-122, -69, -31,-124,-121, -31,-123, -79, -31, --122, -70, -31,-124,-121, -31,-123, -79, -31,-122, -71, -31,-124,-121, -31,-123, -79, -31,-122, -72, - -31,-124,-121, -31,-123, -79, -31,-122, -73, -31,-124,-121, -31,-123, -79, -31,-122, -74, -31,-124, --121, -31,-123, -79, -31,-122, -75, -31,-124,-121, -31,-123, -79, -31,-122, -76, -31,-124,-121, -31, --123, -79, -31,-122, -77, -31,-124,-121, -31,-123, -79, -31,-122, -78, -31,-124,-121, -31,-123, -79, - -31,-122, -79, -31,-124,-121, -31,-123, -79, -31,-122, -80, -31,-124,-121, -31,-123, -79, -31,-122, - -81, -31,-124,-121, -31,-123, -79, -31,-122, -82, -31,-124,-121, -31,-123, -79, -31,-122, -83, -31, --124,-121, -31,-123, -79, -31,-122, -84, -31,-124,-121, -31,-123, -79, -31,-122, -85, -31,-124,-121, - -31,-123, -79, -31,-122, -86, -31,-124,-121, -31,-123, -79, -31,-122, -87, -31,-124,-121, -31,-123, - -79, -31,-122, -88, -31,-124,-121, -31,-123, -80, -31,-121,-126, -31,-124,-121, -31,-123, -80, -31, --121,-127, -31,-124,-121, -31,-123, -80, -31,-121,-128, -31,-124,-121, -31,-123, -80, -31,-122, -65, - -31,-124,-121, -31,-123, -80, -31,-122, -66, -31,-124,-121, -31,-123, -80, -31,-122, -67, -31,-124, --121, -31,-123, -80, -31,-122, -68, -31,-124,-121, -31,-123, -80, -31,-122, -69, -31,-124,-121, -31, --123, -80, -31,-122, -70, -31,-124,-121, -31,-123, -80, -31,-122, -71, -31,-124,-121, -31,-123, -80, - -31,-122, -72, -31,-124,-121, -31,-123, -80, -31,-122, -73, -31,-124,-121, -31,-123, -80, -31,-122, - -74, -31,-124,-121, -31,-123, -80, -31,-122, -75, -31,-124,-121, -31,-123, -80, -31,-122, -76, -31, --124,-121, -31,-123, -80, -31,-122, -77, -31,-124,-121, -31,-123, -80, -31,-122, -78, -31,-124,-121, - -31,-123, -80, -31,-122, -79, -31,-124,-121, -31,-123, -80, -31,-122, -80, -31,-124,-121, -31,-123, - -80, -31,-122, -81, -31,-124,-121, -31,-123, -80, -31,-122, -82, -31,-124,-121, -31,-123, -80, -31, --122, -83, -31,-124,-121, -31,-123, -80, -31,-122, -84, -31,-124,-121, -31,-123, -80, -31,-122, -85, - -31,-124,-121, -31,-123, -80, -31,-122, -86, -31,-124,-121, -31,-123, -80, -31,-122, -87, -31,-124, --121, -31,-123, -80, -31,-122, -88, -31,-124,-121, -31,-123, -81, -31,-121,-126, -31,-124,-121, -31, --123, -81, -31,-121,-127, -31,-124,-121, -31,-123, -81, -31,-121,-128, -31,-124,-121, -31,-123, -81, - -31,-122, -65, -31,-124,-121, -31,-123, -81, -31,-122, -66, -31,-124,-121, -31,-123, -81, -31,-122, - -67, -31,-124,-121, -31,-123, -81, -31,-122, -68, -31,-124,-121, -31,-123, -81, -31,-122, -69, -31, --124,-121, -31,-123, -81, -31,-122, -70, -31,-124,-121, -31,-123, -81, -31,-122, -71, -31,-124,-121, - -31,-123, -81, -31,-122, -72, -31,-124,-121, -31,-123, -81, -31,-122, -73, -31,-124,-121, -31,-123, - -81, -31,-122, -74, -31,-124,-121, -31,-123, -81, -31,-122, -75, -31,-124,-121, -31,-123, -81, -31, --122, -76, -31,-124,-121, -31,-123, -81, -31,-122, -77, -31,-124,-121, -31,-123, -81, -31,-122, -78, - -31,-124,-121, -31,-123, -81, -31,-122, -79, -31,-124,-121, -31,-123, -81, -31,-122, -80, -31,-124, --121, -31,-123, -81, -31,-122, -81, -31,-124,-121, -31,-123, -81, -31,-122, -82, -31,-124,-121, -31, --123, -81, -31,-122, -83, -31,-124,-121, -31,-123, -81, -31,-122, -84, -31,-124,-121, -31,-123, -81, - -31,-122, -85, -31,-124,-121, -31,-123, -81, -31,-122, -86, -31,-124,-121, -31,-123, -81, -31,-122, - -87, -31,-124,-121, -31,-123, -81, -31,-122, -88, -31,-124,-121, -31,-123, -82, -31,-121,-126, -31, --124,-121, -31,-123, -82, -31,-121,-127, -31,-124,-121, -31,-123, -82, -31,-121,-128, -31,-124,-121, - -31,-123, -82, -31,-122, -65, -31,-124,-121, -31,-123, -82, -31,-122, -66, -31,-124,-121, -31,-123, - -82, -31,-122, -67, -31,-124,-121, -31,-123, -82, -31,-122, -68, -31,-124,-121, -31,-123, -82, -31, --122, -69, -31,-124,-121, -31,-123, -82, -31,-122, -70, -31,-124,-121, -31,-123, -82, -31,-122, -71, - -31,-124,-121, -31,-123, -82, -31,-122, -72, -31,-124,-121, -31,-123, -82, -31,-122, -73, -31,-124, --121, -31,-123, -82, -31,-122, -74, -31,-124,-121, -31,-123, -82, -31,-122, -75, -31,-124,-121, -31, --123, -82, -31,-122, -76, -31,-124,-121, -31,-123, -82, -31,-122, -77, -31,-124,-121, -31,-123, -82, - -31,-122, -78, -31,-124,-121, -31,-123, -82, -31,-122, -79, -31,-124,-121, -31,-123, -82, -31,-122, - -80, -31,-124,-121, -31,-123, -82, -31,-122, -81, -31,-124,-121, -31,-123, -82, -31,-122, -82, -31, --124,-121, -31,-123, -82, -31,-122, -83, -31,-124,-121, -31,-123, -82, -31,-122, -84, -31,-124,-121, - -31,-123, -82, -31,-122, -85, -31,-124,-121, -31,-123, -82, -31,-122, -86, -31,-124,-121, -31,-123, - -82, -31,-122, -87, -31,-124,-121, -31,-123, -82, -31,-122, -88, -31,-124,-121, -31,-123, -83, -31, --121,-126, -31,-124,-121, -31,-123, -83, -31,-121,-127, -31,-124,-121, -31,-123, -83, -31,-121,-128, - -31,-124,-121, -31,-123, -83, -31,-122, -65, -31,-124,-121, -31,-123, -83, -31,-122, -66, -31,-124, --121, -31,-123, -83, -31,-122, -67, -31,-124,-121, -31,-123, -83, -31,-122, -68, -31,-124,-121, -31, --123, -83, -31,-122, -69, -31,-124,-121, -31,-123, -83, -31,-122, -70, -31,-124,-121, -31,-123, -83, - -31,-122, -71, -31,-124,-121, -31,-123, -83, -31,-122, -72, -31,-124,-121, -31,-123, -83, -31,-122, - -73, -31,-124,-121, -31,-123, -83, -31,-122, -74, -31,-124,-121, -31,-123, -83, -31,-122, -75, -31, --124,-121, -31,-123, -83, -31,-122, -76, -31,-124,-121, -31,-123, -83, -31,-122, -77, -31,-124,-121, - -31,-123, -83, -31,-122, -78, -31,-124,-121, -31,-123, -83, -31,-122, -79, -31,-124,-121, -31,-123, - -83, -31,-122, -80, -31,-124,-121, -31,-123, -83, -31,-122, -81, -31,-124,-121, -31,-123, -83, -31, --122, -82, -31,-124,-121, -31,-123, -83, -31,-122, -83, -31,-124,-121, -31,-123, -83, -31,-122, -84, - -31,-124,-121, -31,-123, -83, -31,-122, -85, -31,-124,-121, -31,-123, -83, -31,-122, -86, -31,-124, --121, -31,-123, -83, -31,-122, -87, -31,-124,-121, -31,-123, -83, -31,-122, -88, -31,-124,-121, -31, --123, -84, -31,-121,-126, -31,-124,-121, -31,-123, -84, -31,-121,-127, -31,-124,-121, -31,-123, -84, - -31,-121,-128, -31,-124,-121, -31,-123, -84, -31,-122, -65, -31,-124,-121, -31,-123, -84, -31,-122, - -66, -31,-124,-121, -31,-123, -84, -31,-122, -67, -31,-124,-121, -31,-123, -84, -31,-122, -68, -31, --124,-121, -31,-123, -84, -31,-122, -69, -31,-124,-121, -31,-123, -84, -31,-122, -70, -31,-124,-121, - -31,-123, -84, -31,-122, -71, -31,-124,-121, -31,-123, -84, -31,-122, -72, -31,-124,-121, -31,-123, - -84, -31,-122, -73, -31,-124,-121, -31,-123, -84, -31,-122, -74, -31,-124,-121, -31,-123, -84, -31, --122, -75, -31,-124,-121, -31,-123, -84, -31,-122, -76, -31,-124,-121, -31,-123, -84, -31,-122, -77, - -31,-124,-121, -31,-123, -84, -31,-122, -78, -31,-124,-121, -31,-123, -84, -31,-122, -79, -31,-124, --121, -31,-123, -84, -31,-122, -80, -31,-124,-121, -31,-123, -84, -31,-122, -81, -31,-124,-121, -31, --123, -84, -31,-122, -82, -31,-124,-121, -31,-123, -84, -31,-122, -83, -31,-124,-121, -31,-123, -84, - -31,-122, -84, -31,-124,-121, -31,-123, -84, -31,-122, -85, -31,-124,-121, -31,-123, -84, -31,-122, - -86, -31,-124,-121, -31,-123, -84, -31,-122, -87, -31,-124,-121, -31,-123, -84, -31,-122, -88, -31, --124,-121, -31,-123, -85, -31,-121,-126, -31,-124,-121, -31,-123, -85, -31,-121,-127, -31,-124,-121, - -31,-123, -85, -31,-121,-128, -31,-124,-121, -31,-123, -85, -31,-122, -65, -31,-124,-121, -31,-123, - -85, -31,-122, -66, -31,-124,-121, -31,-123, -85, -31,-122, -67, -31,-124,-121, -31,-123, -85, -31, --122, -68, -31,-124,-121, -31,-123, -85, -31,-122, -69, -31,-124,-121, -31,-123, -85, -31,-122, -70, - -31,-124,-121, -31,-123, -85, -31,-122, -71, -31,-124,-121, -31,-123, -85, -31,-122, -72, -31,-124, --121, -31,-123, -85, -31,-122, -73, -31,-124,-121, -31,-123, -85, -31,-122, -74, -31,-124,-121, -31, --123, -85, -31,-122, -75, -31,-124,-121, -31,-123, -85, -31,-122, -76, -31,-124,-121, -31,-123, -85, - -31,-122, -77, -31,-124,-121, -31,-123, -85, -31,-122, -78, -31,-124,-121, -31,-123, -85, -31,-122, - -79, -31,-124,-121, -31,-123, -85, -31,-122, -80, -31,-124,-121, -31,-123, -85, -31,-122, -81, -31, --124,-121, -31,-123, -85, -31,-122, -82, -31,-124,-121, -31,-123, -85, -31,-122, -83, -31,-124,-121, - -31,-123, -85, -31,-122, -84, -31,-124,-121, -31,-123, -85, -31,-122, -85, -31,-124,-121, -31,-123, - -85, -31,-122, -86, -31,-124,-121, -31,-123, -85, -31,-122, -87, -31,-124,-121, -31,-123, -85, -31, --122, -88, -31,-124,-121, -31,-123, -86, -31,-121,-126, -31,-124,-121, -31,-123, -86, -31,-121,-127, - -31,-124,-121, -31,-123, -86, -31,-121,-128, -31,-124,-121, -31,-123, -86, -31,-122, -65, -31,-124, --121, -31,-123, -86, -31,-122, -66, -31,-124,-121, -31,-123, -86, -31,-122, -67, -31,-124,-121, -31, --123, -86, -31,-122, -68, -31,-124,-121, -31,-123, -86, -31,-122, -69, -31,-124,-121, -31,-123, -86, - -31,-122, -70, -31,-124,-121, -31,-123, -86, -31,-122, -71, -31,-124,-121, -31,-123, -86, -31,-122, - -72, -31,-124,-121, -31,-123, -86, -31,-122, -73, -31,-124,-121, -31,-123, -86, -31,-122, -74, -31, --124,-121, -31,-123, -86, -31,-122, -75, -31,-124,-121, -31,-123, -86, -31,-122, -76, -31,-124,-121, - -31,-123, -86, -31,-122, -77, -31,-124,-121, -31,-123, -86, -31,-122, -78, -31,-124,-121, -31,-123, - -86, -31,-122, -79, -31,-124,-121, -31,-123, -86, -31,-122, -80, -31,-124,-121, -31,-123, -86, -31, --122, -81, -31,-124,-121, -31,-123, -86, -31,-122, -82, -31,-124,-121, -31,-123, -86, -31,-122, -83, - -31,-124,-121, -31,-123, -86, -31,-122, -84, -31,-124,-121, -31,-123, -86, -31,-122, -85, -31,-124, --121, -31,-123, -86, -31,-122, -86, -31,-124,-121, -31,-123, -86, -31,-122, -87, -31,-124,-121, -31, --123, -86, -31,-122, -88, -31,-124,-121, -31,-123, -87, -31,-121,-126, -31,-124,-121, -31,-123, -87, - -31,-121,-127, -31,-124,-121, -31,-123, -87, -31,-121,-128, -31,-124,-121, -31,-123, -87, -31,-122, - -65, -31,-124,-121, -31,-123, -87, -31,-122, -66, -31,-124,-121, -31,-123, -87, -31,-122, -67, -31, --124,-121, -31,-123, -87, -31,-122, -68, -31,-124,-121, -31,-123, -87, -31,-122, -69, -31,-124,-121, - -31,-123, -87, -31,-122, -70, -31,-124,-121, -31,-123, -87, -31,-122, -71, -31,-124,-121, -31,-123, - -87, -31,-122, -72, -31,-124,-121, -31,-123, -87, -31,-122, -73, -31,-124,-121, -31,-123, -87, -31, --122, -74, -31,-124,-121, -31,-123, -87, -31,-122, -75, -31,-124,-121, -31,-123, -87, -31,-122, -76, - -31,-124,-121, -31,-123, -87, -31,-122, -77, -31,-124,-121, -31,-123, -87, -31,-122, -78, -31,-124, --121, -31,-123, -87, -31,-122, -79, -31,-124,-121, -31,-123, -87, -31,-122, -80, -31,-124,-121, -31, --123, -87, -31,-122, -81, -31,-124,-121, -31,-123, -87, -31,-122, -82, -31,-124,-121, -31,-123, -87, - -31,-122, -83, -31,-124,-121, -31,-123, -87, -31,-122, -84, -31,-124,-121, -31,-123, -87, -31,-122, - -85, -31,-124,-121, -31,-123, -87, -31,-122, -86, -31,-124,-121, -31,-123, -87, -31,-122, -87, -31, --124,-121, -31,-123, -87, -31,-122, -88, -31,-124,-121, -31,-123, -88, -31,-121,-126, -31,-124,-121, - -31,-123, -88, -31,-121,-127, -31,-124,-121, -31,-123, -88, -31,-121,-128, -31,-124,-121, -31,-123, - -88, -31,-122, -65, -31,-124,-121, -31,-123, -88, -31,-122, -66, -31,-124,-121, -31,-123, -88, -31, --122, -67, -31,-124,-121, -31,-123, -88, -31,-122, -68, -31,-124,-121, -31,-123, -88, -31,-122, -69, - -31,-124,-121, -31,-123, -88, -31,-122, -70, -31,-124,-121, -31,-123, -88, -31,-122, -71, -31,-124, --121, -31,-123, -88, -31,-122, -72, -31,-124,-121, -31,-123, -88, -31,-122, -73, -31,-124,-121, -31, --123, -88, -31,-122, -74, -31,-124,-121, -31,-123, -88, -31,-122, -75, -31,-124,-121, -31,-123, -88, - -31,-122, -76, -31,-124,-121, -31,-123, -88, -31,-122, -77, -31,-124,-121, -31,-123, -88, -31,-122, - -78, -31,-124,-121, -31,-123, -88, -31,-122, -79, -31,-124,-121, -31,-123, -88, -31,-122, -80, -31, --124,-121, -31,-123, -88, -31,-122, -81, -31,-124,-121, -31,-123, -88, -31,-122, -82, -31,-124,-121, - -31,-123, -88, -31,-122, -83, -31,-124,-121, -31,-123, -88, -31,-122, -84, -31,-124,-121, -31,-123, - -88, -31,-122, -85, -31,-124,-121, -31,-123, -88, -31,-122, -86, -31,-124,-121, -31,-123, -88, -31, --122, -87, -31,-124,-121, -31,-123, -88, -31,-122, -88, -31,-124,-121, -31,-123, -89, -31,-121,-126, - -31,-124,-121, -31,-123, -89, -31,-121,-127, -31,-124,-121, -31,-123, -89, -31,-121,-128, -31,-124, --121, -31,-123, -89, -31,-122, -65, -31,-124,-121, -31,-123, -89, -31,-122, -66, -31,-124,-121, -31, --123, -89, -31,-122, -67, -31,-124,-121, -31,-123, -89, -31,-122, -68, -31,-124,-121, -31,-123, -89, - -31,-122, -69, -31,-124,-121, -31,-123, -89, -31,-122, -70, -31,-124,-121, -31,-123, -89, -31,-122, - -71, -31,-124,-121, -31,-123, -89, -31,-122, -72, -31,-124,-121, -31,-123, -89, -31,-122, -73, -31, --124,-121, -31,-123, -89, -31,-122, -74, -31,-124,-121, -31,-123, -89, -31,-122, -75, -31,-124,-121, - -31,-123, -89, -31,-122, -76, -31,-124,-121, -31,-123, -89, -31,-122, -77, -31,-124,-121, -31,-123, - -89, -31,-122, -78, -31,-124,-121, -31,-123, -89, -31,-122, -79, -31,-124,-121, -31,-123, -89, -31, --122, -80, -31,-124,-121, -31,-123, -89, -31,-122, -81, -31,-124,-121, -31,-123, -89, -31,-122, -82, - -31,-124,-121, -31,-123, -89, -31,-122, -83, -31,-124,-121, -31,-123, -89, -31,-122, -84, -31,-124, --121, -31,-123, -89, -31,-122, -85, -31,-124,-121, -31,-123, -89, -31,-122, -86, -31,-124,-121, -31, --123, -89, -31,-122, -87, -31,-124,-121, -31,-123, -89, -31,-122, -88, -31,-124,-121, -31,-123, -90, - -31,-121,-126, -31,-124,-121, -31,-123, -90, -31,-121,-127, -31,-124,-121, -31,-123, -90, -31,-121, --128, -31,-124,-121, -31,-123, -90, -31,-122, -65, -31,-124,-121, -31,-123, -90, -31,-122, -66, -31, --124,-121, -31,-123, -90, -31,-122, -67, -31,-124,-121, -31,-123, -90, -31,-122, -68, -31,-124,-121, - -31,-123, -90, -31,-122, -69, -31,-124,-121, -31,-123, -90, -31,-122, -70, -31,-124,-121, -31,-123, - -90, -31,-122, -71, -31,-124,-121, -31,-123, -90, -31,-122, -72, -31,-124,-121, -31,-123, -90, -31, --122, -73, -31,-124,-121, -31,-123, -90, -31,-122, -74, -31,-124,-121, -31,-123, -90, -31,-122, -75, - -31,-124,-121, -31,-123, -90, -31,-122, -76, -31,-124,-121, -31,-123, -90, -31,-122, -77, -31,-124, --121, -31,-123, -90, -31,-122, -78, -31,-124,-121, -31,-123, -90, -31,-122, -79, -31,-124,-121, -31, --123, -90, -31,-122, -80, -31,-124,-121, -31,-123, -90, -31,-122, -81, -31,-124,-121, -31,-123, -90, - -31,-122, -82, -31,-124,-121, -31,-123, -90, -31,-122, -83, -31,-124,-121, -31,-123, -90, -31,-122, - -84, -31,-124,-121, -31,-123, -90, -31,-122, -85, -31,-124,-121, -31,-123, -90, -31,-122, -86, -31, --124,-121, -31,-123, -90, -31,-122, -87, -31,-124,-121, -31,-123, -90, -31,-122, -88, -31,-124,-121, - -31,-123, -91, -31,-121,-126, -31,-124,-121, -31,-123, -91, -31,-121,-127, -31,-124,-121, -31,-123, - -91, -31,-121,-128, -31,-124,-121, -31,-123, -91, -31,-122, -65, -31,-124,-121, -31,-123, -91, -31, --122, -66, -31,-124,-121, -31,-123, -91, -31,-122, -67, -31,-124,-121, -31,-123, -91, -31,-122, -68, - -31,-124,-121, -31,-123, -91, -31,-122, -69, -31,-124,-121, -31,-123, -91, -31,-122, -70, -31,-124, --121, -31,-123, -91, -31,-122, -71, -31,-124,-121, -31,-123, -91, -31,-122, -72, -31,-124,-121, -31, --123, -91, -31,-122, -73, -31,-124,-121, -31,-123, -91, -31,-122, -74, -31,-124,-121, -31,-123, -91, - -31,-122, -75, -31,-124,-121, -31,-123, -91, -31,-122, -76, -31,-124,-121, -31,-123, -91, -31,-122, - -77, -31,-124,-121, -31,-123, -91, -31,-122, -78, -31,-124,-121, -31,-123, -91, -31,-122, -79, -31, --124,-121, -31,-123, -91, -31,-122, -80, -31,-124,-121, -31,-123, -91, -31,-122, -81, -31,-124,-121, - -31,-123, -91, -31,-122, -82, -31,-124,-121, -31,-123, -91, -31,-122, -83, -31,-124,-121, -31,-123, - -91, -31,-122, -84, -31,-124,-121, -31,-123, -91, -31,-122, -85, -31,-124,-121, -31,-123, -91, -31, --122, -86, -31,-124,-121, -31,-123, -91, -31,-122, -87, -31,-124,-121, -31,-123, -91, -31,-122, -88, - -31,-124,-121, -31,-123, -92, -31,-121,-126, -31,-124,-121, -31,-123, -92, -31,-121,-127, -31,-124, --121, -31,-123, -92, -31,-121,-128, -31,-124,-121, -31,-123, -92, -31,-122, -65, -31,-124,-121, -31, --123, -92, -31,-122, -66, -31,-124,-121, -31,-123, -92, -31,-122, -67, -31,-124,-121, -31,-123, -92, - -31,-122, -68, -31,-124,-121, -31,-123, -92, -31,-122, -69, -31,-124,-121, -31,-123, -92, -31,-122, - -70, -31,-124,-121, -31,-123, -92, -31,-122, -71, -31,-124,-121, -31,-123, -92, -31,-122, -72, -31, --124,-121, -31,-123, -92, -31,-122, -73, -31,-124,-121, -31,-123, -92, -31,-122, -74, -31,-124,-121, - -31,-123, -92, -31,-122, -75, -31,-124,-121, -31,-123, -92, -31,-122, -76, -31,-124,-121, -31,-123, - -92, -31,-122, -77, -31,-124,-121, -31,-123, -92, -31,-122, -78, -31,-124,-121, -31,-123, -92, -31, --122, -79, -31,-124,-121, -31,-123, -92, -31,-122, -80, -31,-124,-121, -31,-123, -92, -31,-122, -81, - -31,-124,-121, -31,-123, -92, -31,-122, -82, -31,-124,-121, -31,-123, -92, -31,-122, -83, -31,-124, --121, -31,-123, -92, -31,-122, -84, -31,-124,-121, -31,-123, -92, -31,-122, -85, -31,-124,-121, -31, --123, -92, -31,-122, -86, -31,-124,-121, -31,-123, -92, -31,-122, -87, -31,-124,-121, -31,-123, -92, - -31,-122, -88, -31,-124,-121, -31,-123, -93, -31,-121,-126, -31,-124,-121, -31,-123, -93, -31,-121, --127, -31,-124,-121, -31,-123, -93, -31,-121,-128, -31,-124,-121, -31,-123, -93, -31,-122, -65, -31, --124,-121, -31,-123, -93, -31,-122, -66, -31,-124,-121, -31,-123, -93, -31,-122, -67, -31,-124,-121, - -31,-123, -93, -31,-122, -68, -31,-124,-121, -31,-123, -93, -31,-122, -69, -31,-124,-121, -31,-123, - -93, -31,-122, -70, -31,-124,-121, -31,-123, -93, -31,-122, -71, -31,-124,-121, -31,-123, -93, -31, --122, -72, -31,-124,-121, -31,-123, -93, -31,-122, -73, -31,-124,-121, -31,-123, -93, -31,-122, -74, - -31,-124,-121, -31,-123, -93, -31,-122, -75, -31,-124,-121, -31,-123, -93, -31,-122, -76, -31,-124, --121, -31,-123, -93, -31,-122, -77, -31,-124,-121, -31,-123, -93, -31,-122, -78, -31,-124,-121, -31, --123, -93, -31,-122, -79, -31,-124,-121, -31,-123, -93, -31,-122, -80, -31,-124,-121, -31,-123, -93, - -31,-122, -81, -31,-124,-121, -31,-123, -93, -31,-122, -82, -31,-124,-121, -31,-123, -93, -31,-122, - -83, -31,-124,-121, -31,-123, -93, -31,-122, -84, -31,-124,-121, -31,-123, -93, -31,-122, -85, -31, --124,-121, -31,-123, -93, -31,-122, -86, -31,-124,-121, -31,-123, -93, -31,-122, -87, -31,-124,-121, - -31,-123, -93, -31,-122, -88, -31,-124,-121, -31,-123, -94, -31,-121,-126, -31,-124,-121, -31,-123, - -94, -31,-121,-127, -31,-124,-121, -31,-123, -94, -31,-121,-128, -31,-124,-121, -31,-123, -94, -31, --122, -65, -31,-124,-121, -31,-123, -94, -31,-122, -66, -31,-124,-121, -31,-123, -94, -31,-122, -67, - -31,-124,-121, -31,-123, -94, -31,-122, -68, -31,-124,-121, -31,-123, -94, -31,-122, -69, -31,-124, --121, -31,-123, -94, -31,-122, -70, -31,-124,-121, -31,-123, -94, -31,-122, -71, -31,-124,-121, -31, --123, -94, -31,-122, -72, -31,-124,-121, -31,-123, -94, -31,-122, -73, -31,-124,-121, -31,-123, -94, - -31,-122, -74, -31,-124,-121, -31,-123, -94, -31,-122, -75, -31,-124,-121, -31,-123, -94, -31,-122, - -76, -31,-124,-121, -31,-123, -94, -31,-122, -77, -31,-124,-121, -31,-123, -94, -31,-122, -78, -31, --124,-121, -31,-123, -94, -31,-122, -79, -31,-124,-121, -31,-123, -94, -31,-122, -80, -31,-124,-121, - -31,-123, -94, -31,-122, -81, -31,-124,-121, -31,-123, -94, -31,-122, -82, -31,-124,-121, -31,-123, - -94, -31,-122, -83, -31,-124,-121, -31,-123, -94, -31,-122, -84, -31,-124,-121, -31,-123, -94, -31, --122, -85, -31,-124,-121, -31,-123, -94, -31,-122, -86, -31,-124,-121, -31,-123, -94, -31,-122, -87, - -31,-124,-121, -31,-123, -94, -31,-122, -88, -31,-124,-121, -31,-123, -95, -31,-121,-126, -31,-124, --121, -31,-123, -95, -31,-121,-127, -31,-124,-121, -31,-123, -95, -31,-121,-128, -31,-124,-121, -31, --123, -95, -31,-122, -65, -31,-124,-121, -31,-123, -95, -31,-122, -66, -31,-124,-121, -31,-123, -95, - -31,-122, -67, -31,-124,-121, -31,-123, -95, -31,-122, -68, -31,-124,-121, -31,-123, -95, -31,-122, - -69, -31,-124,-121, -31,-123, -95, -31,-122, -70, -31,-124,-121, -31,-123, -95, -31,-122, -71, -31, --124,-121, -31,-123, -95, -31,-122, -72, -31,-124,-121, -31,-123, -95, -31,-122, -73, -31,-124,-121, - -31,-123, -95, -31,-122, -74, -31,-124,-121, -31,-123, -95, -31,-122, -75, -31,-124,-121, -31,-123, - -95, -31,-122, -76, -31,-124,-121, -31,-123, -95, -31,-122, -77, -31,-124,-121, -31,-123, -95, -31, --122, -78, -31,-124,-121, -31,-123, -95, -31,-122, -79, -31,-124,-121, -31,-123, -95, -31,-122, -80, - -31,-124,-121, -31,-123, -95, -31,-122, -81, -31,-124,-121, -31,-123, -95, -31,-122, -82, -31,-124, --121, -31,-123, -95, -31,-122, -83, -31,-124,-121, -31,-123, -95, -31,-122, -84, -31,-124,-121, -31, --123, -95, -31,-122, -85, -31,-124,-121, -31,-123, -95, -31,-122, -86, -31,-124,-121, -31,-123, -95, - -31,-122, -87, -31,-124,-121, -31,-123, -95, -31,-122, -88, -31,-124,-122, -31,-123, -75, -31,-121, --126, -31,-124,-122, -31,-123, -75, -31,-121,-127, -31,-124,-122, -31,-123, -75, -31,-121,-128, -31, --124,-122, -31,-123, -75, -31,-122, -65, -31,-124,-122, -31,-123, -75, -31,-122, -66, -31,-124,-122, - -31,-123, -75, -31,-122, -67, -31,-124,-122, -31,-123, -75, -31,-122, -68, -31,-124,-122, -31,-123, - -75, -31,-122, -69, -31,-124,-122, -31,-123, -75, -31,-122, -70, -31,-124,-122, -31,-123, -75, -31, --122, -71, -31,-124,-122, -31,-123, -75, -31,-122, -72, -31,-124,-122, -31,-123, -75, -31,-122, -73, - -31,-124,-122, -31,-123, -75, -31,-122, -74, -31,-124,-122, -31,-123, -75, -31,-122, -75, -31,-124, --122, -31,-123, -75, -31,-122, -76, -31,-124,-122, -31,-123, -75, -31,-122, -77, -31,-124,-122, -31, --123, -75, -31,-122, -78, -31,-124,-122, -31,-123, -75, -31,-122, -79, -31,-124,-122, -31,-123, -75, - -31,-122, -80, -31,-124,-122, -31,-123, -75, -31,-122, -81, -31,-124,-122, -31,-123, -75, -31,-122, - -82, -31,-124,-122, -31,-123, -75, -31,-122, -83, -31,-124,-122, -31,-123, -75, -31,-122, -84, -31, --124,-122, -31,-123, -75, -31,-122, -85, -31,-124,-122, -31,-123, -75, -31,-122, -86, -31,-124,-122, - -31,-123, -75, -31,-122, -87, -31,-124,-122, -31,-123, -75, -31,-122, -88, -31,-124,-122, -31,-123, - -76, -31,-121,-126, -31,-124,-122, -31,-123, -76, -31,-121,-127, -31,-124,-122, -31,-123, -76, -31, --121,-128, -31,-124,-122, -31,-123, -76, -31,-122, -65, -31,-124,-122, -31,-123, -76, -31,-122, -66, - -31,-124,-122, -31,-123, -76, -31,-122, -67, -31,-124,-122, -31,-123, -76, -31,-122, -68, -31,-124, --122, -31,-123, -76, -31,-122, -69, -31,-124,-122, -31,-123, -76, -31,-122, -70, -31,-124,-122, -31, --123, -76, -31,-122, -71, -31,-124,-122, -31,-123, -76, -31,-122, -72, -31,-124,-122, -31,-123, -76, - -31,-122, -73, -31,-124,-122, -31,-123, -76, -31,-122, -74, -31,-124,-122, -31,-123, -76, -31,-122, - -75, -31,-124,-122, -31,-123, -76, -31,-122, -76, -31,-124,-122, -31,-123, -76, -31,-122, -77, -31, --124,-122, -31,-123, -76, -31,-122, -78, -31,-124,-122, -31,-123, -76, -31,-122, -79, -31,-124,-122, - -31,-123, -76, -31,-122, -80, -31,-124,-122, -31,-123, -76, -31,-122, -81, -31,-124,-122, -31,-123, - -76, -31,-122, -82, -31,-124,-122, -31,-123, -76, -31,-122, -83, -31,-124,-122, -31,-123, -76, -31, --122, -84, -31,-124,-122, -31,-123, -76, -31,-122, -85, -31,-124,-122, -31,-123, -76, -31,-122, -86, - -31,-124,-122, -31,-123, -76, -31,-122, -87, -31,-124,-122, -31,-123, -76, -31,-122, -88, -31,-124, --122, -31,-123, -77, -31,-121,-126, -31,-124,-122, -31,-123, -77, -31,-121,-127, -31,-124,-122, -31, --123, -77, -31,-121,-128, -31,-124,-122, -31,-123, -77, -31,-122, -65, -31,-124,-122, -31,-123, -77, - -31,-122, -66, -31,-124,-122, -31,-123, -77, -31,-122, -67, -31,-124,-122, -31,-123, -77, -31,-122, - -68, -31,-124,-122, -31,-123, -77, -31,-122, -69, -31,-124,-122, -31,-123, -77, -31,-122, -70, -31, --124,-122, -31,-123, -77, -31,-122, -71, -31,-124,-122, -31,-123, -77, -31,-122, -72, -31,-124,-122, - -31,-123, -77, -31,-122, -73, -31,-124,-122, -31,-123, -77, -31,-122, -74, -31,-124,-122, -31,-123, - -77, -31,-122, -75, -31,-124,-122, -31,-123, -77, -31,-122, -76, -31,-124,-122, -31,-123, -77, -31, --122, -77, -31,-124,-122, -31,-123, -77, -31,-122, -78, -31,-124,-122, -31,-123, -77, -31,-122, -79, - -31,-124,-122, -31,-123, -77, -31,-122, -80, -31,-124,-122, -31,-123, -77, -31,-122, -81, -31,-124, --122, -31,-123, -77, -31,-122, -82, -31,-124,-122, -31,-123, -77, -31,-122, -83, -31,-124,-122, -31, --123, -77, -31,-122, -84, -31,-124,-122, -31,-123, -77, -31,-122, -85, -31,-124,-122, -31,-123, -77, - -31,-122, -86, -31,-124,-122, -31,-123, -77, -31,-122, -87, -31,-124,-122, -31,-123, -77, -31,-122, - -88, -31,-124,-122, -31,-123, -78, -31,-121,-126, -31,-124,-122, -31,-123, -78, -31,-121,-127, -31, --124,-122, -31,-123, -78, -31,-121,-128, -31,-124,-122, -31,-123, -78, -31,-122, -65, -31,-124,-122, - -31,-123, -78, -31,-122, -66, -31,-124,-122, -31,-123, -78, -31,-122, -67, -31,-124,-122, -31,-123, - -78, -31,-122, -68, -31,-124,-122, -31,-123, -78, -31,-122, -69, -31,-124,-122, -31,-123, -78, -31, --122, -70, -31,-124,-122, -31,-123, -78, -31,-122, -71, -31,-124,-122, -31,-123, -78, -31,-122, -72, - -31,-124,-122, -31,-123, -78, -31,-122, -73, -31,-124,-122, -31,-123, -78, -31,-122, -74, -31,-124, --122, -31,-123, -78, -31,-122, -75, -31,-124,-122, -31,-123, -78, -31,-122, -76, -31,-124,-122, -31, --123, -78, -31,-122, -77, -31,-124,-122, -31,-123, -78, -31,-122, -78, -31,-124,-122, -31,-123, -78, - -31,-122, -79, -31,-124,-122, -31,-123, -78, -31,-122, -80, -31,-124,-122, -31,-123, -78, -31,-122, - -81, -31,-124,-122, -31,-123, -78, -31,-122, -82, -31,-124,-122, -31,-123, -78, -31,-122, -83, -31, --124,-122, -31,-123, -78, -31,-122, -84, -31,-124,-122, -31,-123, -78, -31,-122, -85, -31,-124,-122, - -31,-123, -78, -31,-122, -86, -31,-124,-122, -31,-123, -78, -31,-122, -87, -31,-124,-122, -31,-123, - -78, -31,-122, -88, -31,-124,-122, -31,-123, -79, -31,-121,-126, -31,-124,-122, -31,-123, -79, -31, --121,-127, -31,-124,-122, -31,-123, -79, -31,-121,-128, -31,-124,-122, -31,-123, -79, -31,-122, -65, - -31,-124,-122, -31,-123, -79, -31,-122, -66, -31,-124,-122, -31,-123, -79, -31,-122, -67, -31,-124, --122, -31,-123, -79, -31,-122, -68, -31,-124,-122, -31,-123, -79, -31,-122, -69, -31,-124,-122, -31, --123, -79, -31,-122, -70, -31,-124,-122, -31,-123, -79, -31,-122, -71, -31,-124,-122, -31,-123, -79, - -31,-122, -72, -31,-124,-122, -31,-123, -79, -31,-122, -73, -31,-124,-122, -31,-123, -79, -31,-122, - -74, -31,-124,-122, -31,-123, -79, -31,-122, -75, -31,-124,-122, -31,-123, -79, -31,-122, -76, -31, --124,-122, -31,-123, -79, -31,-122, -77, -31,-124,-122, -31,-123, -79, -31,-122, -78, -31,-124,-122, - -31,-123, -79, -31,-122, -79, -31,-124,-122, -31,-123, -79, -31,-122, -80, -31,-124,-122, -31,-123, - -79, -31,-122, -81, -31,-124,-122, -31,-123, -79, -31,-122, -82, -31,-124,-122, -31,-123, -79, -31, --122, -83, -31,-124,-122, -31,-123, -79, -31,-122, -84, -31,-124,-122, -31,-123, -79, -31,-122, -85, - -31,-124,-122, -31,-123, -79, -31,-122, -86, -31,-124,-122, -31,-123, -79, -31,-122, -87, -31,-124, --122, -31,-123, -79, -31,-122, -88, -31,-124,-122, -31,-123, -80, -31,-121,-126, -31,-124,-122, -31, --123, -80, -31,-121,-127, -31,-124,-122, -31,-123, -80, -31,-121,-128, -31,-124,-122, -31,-123, -80, - -31,-122, -65, -31,-124,-122, -31,-123, -80, -31,-122, -66, -31,-124,-122, -31,-123, -80, -31,-122, - -67, -31,-124,-122, -31,-123, -80, -31,-122, -68, -31,-124,-122, -31,-123, -80, -31,-122, -69, -31, --124,-122, -31,-123, -80, -31,-122, -70, -31,-124,-122, -31,-123, -80, -31,-122, -71, -31,-124,-122, - -31,-123, -80, -31,-122, -72, -31,-124,-122, -31,-123, -80, -31,-122, -73, -31,-124,-122, -31,-123, - -80, -31,-122, -74, -31,-124,-122, -31,-123, -80, -31,-122, -75, -31,-124,-122, -31,-123, -80, -31, --122, -76, -31,-124,-122, -31,-123, -80, -31,-122, -77, -31,-124,-122, -31,-123, -80, -31,-122, -78, - -31,-124,-122, -31,-123, -80, -31,-122, -79, -31,-124,-122, -31,-123, -80, -31,-122, -80, -31,-124, --122, -31,-123, -80, -31,-122, -81, -31,-124,-122, -31,-123, -80, -31,-122, -82, -31,-124,-122, -31, --123, -80, -31,-122, -83, -31,-124,-122, -31,-123, -80, -31,-122, -84, -31,-124,-122, -31,-123, -80, - -31,-122, -85, -31,-124,-122, -31,-123, -80, -31,-122, -86, -31,-124,-122, -31,-123, -80, -31,-122, - -87, -31,-124,-122, -31,-123, -80, -31,-122, -88, -31,-124,-122, -31,-123, -81, -31,-121,-126, -31, --124,-122, -31,-123, -81, -31,-121,-127, -31,-124,-122, -31,-123, -81, -31,-121,-128, -31,-124,-122, - -31,-123, -81, -31,-122, -65, -31,-124,-122, -31,-123, -81, -31,-122, -66, -31,-124,-122, -31,-123, - -81, -31,-122, -67, -31,-124,-122, -31,-123, -81, -31,-122, -68, -31,-124,-122, -31,-123, -81, -31, --122, -69, -31,-124,-122, -31,-123, -81, -31,-122, -70, -31,-124,-122, -31,-123, -81, -31,-122, -71, - -31,-124,-122, -31,-123, -81, -31,-122, -72, -31,-124,-122, -31,-123, -81, -31,-122, -73, -31,-124, --122, -31,-123, -81, -31,-122, -74, -31,-124,-122, -31,-123, -81, -31,-122, -75, -31,-124,-122, -31, --123, -81, -31,-122, -76, -31,-124,-122, -31,-123, -81, -31,-122, -77, -31,-124,-122, -31,-123, -81, - -31,-122, -78, -31,-124,-122, -31,-123, -81, -31,-122, -79, -31,-124,-122, -31,-123, -81, -31,-122, - -80, -31,-124,-122, -31,-123, -81, -31,-122, -81, -31,-124,-122, -31,-123, -81, -31,-122, -82, -31, --124,-122, -31,-123, -81, -31,-122, -83, -31,-124,-122, -31,-123, -81, -31,-122, -84, -31,-124,-122, - -31,-123, -81, -31,-122, -85, -31,-124,-122, -31,-123, -81, -31,-122, -86, -31,-124,-122, -31,-123, - -81, -31,-122, -87, -31,-124,-122, -31,-123, -81, -31,-122, -88, -31,-124,-122, -31,-123, -82, -31, --121,-126, -31,-124,-122, -31,-123, -82, -31,-121,-127, -31,-124,-122, -31,-123, -82, -31,-121,-128, - -31,-124,-122, -31,-123, -82, -31,-122, -65, -31,-124,-122, -31,-123, -82, -31,-122, -66, -31,-124, --122, -31,-123, -82, -31,-122, -67, -31,-124,-122, -31,-123, -82, -31,-122, -68, -31,-124,-122, -31, --123, -82, -31,-122, -69, -31,-124,-122, -31,-123, -82, -31,-122, -70, -31,-124,-122, -31,-123, -82, - -31,-122, -71, -31,-124,-122, -31,-123, -82, -31,-122, -72, -31,-124,-122, -31,-123, -82, -31,-122, - -73, -31,-124,-122, -31,-123, -82, -31,-122, -74, -31,-124,-122, -31,-123, -82, -31,-122, -75, -31, --124,-122, -31,-123, -82, -31,-122, -76, -31,-124,-122, -31,-123, -82, -31,-122, -77, -31,-124,-122, - -31,-123, -82, -31,-122, -78, -31,-124,-122, -31,-123, -82, -31,-122, -79, -31,-124,-122, -31,-123, - -82, -31,-122, -80, -31,-124,-122, -31,-123, -82, -31,-122, -81, -31,-124,-122, -31,-123, -82, -31, --122, -82, -31,-124,-122, -31,-123, -82, -31,-122, -83, -31,-124,-122, -31,-123, -82, -31,-122, -84, - -31,-124,-122, -31,-123, -82, -31,-122, -85, -31,-124,-122, -31,-123, -82, -31,-122, -86, -31,-124, --122, -31,-123, -82, -31,-122, -87, -31,-124,-122, -31,-123, -82, -31,-122, -88, -31,-124,-122, -31, --123, -83, -31,-121,-126, -31,-124,-122, -31,-123, -83, -31,-121,-127, -31,-124,-122, -31,-123, -83, - -31,-121,-128, -31,-124,-122, -31,-123, -83, -31,-122, -65, -31,-124,-122, -31,-123, -83, -31,-122, - -66, -31,-124,-122, -31,-123, -83, -31,-122, -67, -31,-124,-122, -31,-123, -83, -31,-122, -68, -31, --124,-122, -31,-123, -83, -31,-122, -69, -31,-124,-122, -31,-123, -83, -31,-122, -70, -31,-124,-122, - -31,-123, -83, -31,-122, -71, -31,-124,-122, -31,-123, -83, -31,-122, -72, -31,-124,-122, -31,-123, - -83, -31,-122, -73, -31,-124,-122, -31,-123, -83, -31,-122, -74, -31,-124,-122, -31,-123, -83, -31, --122, -75, -31,-124,-122, -31,-123, -83, -31,-122, -76, -31,-124,-122, -31,-123, -83, -31,-122, -77, - -31,-124,-122, -31,-123, -83, -31,-122, -78, -31,-124,-122, -31,-123, -83, -31,-122, -79, -31,-124, --122, -31,-123, -83, -31,-122, -80, -31,-124,-122, -31,-123, -83, -31,-122, -81, -31,-124,-122, -31, --123, -83, -31,-122, -82, -31,-124,-122, -31,-123, -83, -31,-122, -83, -31,-124,-122, -31,-123, -83, - -31,-122, -84, -31,-124,-122, -31,-123, -83, -31,-122, -85, -31,-124,-122, -31,-123, -83, -31,-122, - -86, -31,-124,-122, -31,-123, -83, -31,-122, -87, -31,-124,-122, -31,-123, -83, -31,-122, -88, -31, --124,-122, -31,-123, -84, -31,-121,-126, -31,-124,-122, -31,-123, -84, -31,-121,-127, -31,-124,-122, - -31,-123, -84, -31,-121,-128, -31,-124,-122, -31,-123, -84, -31,-122, -65, -31,-124,-122, -31,-123, - -84, -31,-122, -66, -31,-124,-122, -31,-123, -84, -31,-122, -67, -31,-124,-122, -31,-123, -84, -31, --122, -68, -31,-124,-122, -31,-123, -84, -31,-122, -69, -31,-124,-122, -31,-123, -84, -31,-122, -70, - -31,-124,-122, -31,-123, -84, -31,-122, -71, -31,-124,-122, -31,-123, -84, -31,-122, -72, -31,-124, --122, -31,-123, -84, -31,-122, -73, -31,-124,-122, -31,-123, -84, -31,-122, -74, -31,-124,-122, -31, --123, -84, -31,-122, -75, -31,-124,-122, -31,-123, -84, -31,-122, -76, -31,-124,-122, -31,-123, -84, - -31,-122, -77, -31,-124,-122, -31,-123, -84, -31,-122, -78, -31,-124,-122, -31,-123, -84, -31,-122, - -79, -31,-124,-122, -31,-123, -84, -31,-122, -80, -31,-124,-122, -31,-123, -84, -31,-122, -81, -31, --124,-122, -31,-123, -84, -31,-122, -82, -31,-124,-122, -31,-123, -84, -31,-122, -83, -31,-124,-122, - -31,-123, -84, -31,-122, -84, -31,-124,-122, -31,-123, -84, -31,-122, -85, -31,-124,-122, -31,-123, - -84, -31,-122, -86, -31,-124,-122, -31,-123, -84, -31,-122, -87, -31,-124,-122, -31,-123, -84, -31, --122, -88, -31,-124,-122, -31,-123, -85, -31,-121,-126, -31,-124,-122, -31,-123, -85, -31,-121,-127, - -31,-124,-122, -31,-123, -85, -31,-121,-128, -31,-124,-122, -31,-123, -85, -31,-122, -65, -31,-124, --122, -31,-123, -85, -31,-122, -66, -31,-124,-122, -31,-123, -85, -31,-122, -67, -31,-124,-122, -31, --123, -85, -31,-122, -68, -31,-124,-122, -31,-123, -85, -31,-122, -69, -31,-124,-122, -31,-123, -85, - -31,-122, -70, -31,-124,-122, -31,-123, -85, -31,-122, -71, -31,-124,-122, -31,-123, -85, -31,-122, - -72, -31,-124,-122, -31,-123, -85, -31,-122, -73, -31,-124,-122, -31,-123, -85, -31,-122, -74, -31, --124,-122, -31,-123, -85, -31,-122, -75, -31,-124,-122, -31,-123, -85, -31,-122, -76, -31,-124,-122, - -31,-123, -85, -31,-122, -77, -31,-124,-122, -31,-123, -85, -31,-122, -78, -31,-124,-122, -31,-123, - -85, -31,-122, -79, -31,-124,-122, -31,-123, -85, -31,-122, -80, -31,-124,-122, -31,-123, -85, -31, --122, -81, -31,-124,-122, -31,-123, -85, -31,-122, -82, -31,-124,-122, -31,-123, -85, -31,-122, -83, - -31,-124,-122, -31,-123, -85, -31,-122, -84, -31,-124,-122, -31,-123, -85, -31,-122, -85, -31,-124, --122, -31,-123, -85, -31,-122, -86, -31,-124,-122, -31,-123, -85, -31,-122, -87, -31,-124,-122, -31, --123, -85, -31,-122, -88, -31,-124,-122, -31,-123, -86, -31,-121,-126, -31,-124,-122, -31,-123, -86, - -31,-121,-127, -31,-124,-122, -31,-123, -86, -31,-121,-128, -31,-124,-122, -31,-123, -86, -31,-122, - -65, -31,-124,-122, -31,-123, -86, -31,-122, -66, -31,-124,-122, -31,-123, -86, -31,-122, -67, -31, --124,-122, -31,-123, -86, -31,-122, -68, -31,-124,-122, -31,-123, -86, -31,-122, -69, -31,-124,-122, - -31,-123, -86, -31,-122, -70, -31,-124,-122, -31,-123, -86, -31,-122, -71, -31,-124,-122, -31,-123, - -86, -31,-122, -72, -31,-124,-122, -31,-123, -86, -31,-122, -73, -31,-124,-122, -31,-123, -86, -31, --122, -74, -31,-124,-122, -31,-123, -86, -31,-122, -75, -31,-124,-122, -31,-123, -86, -31,-122, -76, - -31,-124,-122, -31,-123, -86, -31,-122, -77, -31,-124,-122, -31,-123, -86, -31,-122, -78, -31,-124, --122, -31,-123, -86, -31,-122, -79, -31,-124,-122, -31,-123, -86, -31,-122, -80, -31,-124,-122, -31, --123, -86, -31,-122, -81, -31,-124,-122, -31,-123, -86, -31,-122, -82, -31,-124,-122, -31,-123, -86, - -31,-122, -83, -31,-124,-122, -31,-123, -86, -31,-122, -84, -31,-124,-122, -31,-123, -86, -31,-122, - -85, -31,-124,-122, -31,-123, -86, -31,-122, -86, -31,-124,-122, -31,-123, -86, -31,-122, -87, -31, --124,-122, -31,-123, -86, -31,-122, -88, -31,-124,-122, -31,-123, -87, -31,-121,-126, -31,-124,-122, - -31,-123, -87, -31,-121,-127, -31,-124,-122, -31,-123, -87, -31,-121,-128, -31,-124,-122, -31,-123, - -87, -31,-122, -65, -31,-124,-122, -31,-123, -87, -31,-122, -66, -31,-124,-122, -31,-123, -87, -31, --122, -67, -31,-124,-122, -31,-123, -87, -31,-122, -68, -31,-124,-122, -31,-123, -87, -31,-122, -69, - -31,-124,-122, -31,-123, -87, -31,-122, -70, -31,-124,-122, -31,-123, -87, -31,-122, -71, -31,-124, --122, -31,-123, -87, -31,-122, -72, -31,-124,-122, -31,-123, -87, -31,-122, -73, -31,-124,-122, -31, --123, -87, -31,-122, -74, -31,-124,-122, -31,-123, -87, -31,-122, -75, -31,-124,-122, -31,-123, -87, - -31,-122, -76, -31,-124,-122, -31,-123, -87, -31,-122, -77, -31,-124,-122, -31,-123, -87, -31,-122, - -78, -31,-124,-122, -31,-123, -87, -31,-122, -79, -31,-124,-122, -31,-123, -87, -31,-122, -80, -31, --124,-122, -31,-123, -87, -31,-122, -81, -31,-124,-122, -31,-123, -87, -31,-122, -82, -31,-124,-122, - -31,-123, -87, -31,-122, -83, -31,-124,-122, -31,-123, -87, -31,-122, -84, -31,-124,-122, -31,-123, - -87, -31,-122, -85, -31,-124,-122, -31,-123, -87, -31,-122, -86, -31,-124,-122, -31,-123, -87, -31, --122, -87, -31,-124,-122, -31,-123, -87, -31,-122, -88, -31,-124,-122, -31,-123, -88, -31,-121,-126, - -31,-124,-122, -31,-123, -88, -31,-121,-127, -31,-124,-122, -31,-123, -88, -31,-121,-128, -31,-124, --122, -31,-123, -88, -31,-122, -65, -31,-124,-122, -31,-123, -88, -31,-122, -66, -31,-124,-122, -31, --123, -88, -31,-122, -67, -31,-124,-122, -31,-123, -88, -31,-122, -68, -31,-124,-122, -31,-123, -88, - -31,-122, -69, -31,-124,-122, -31,-123, -88, -31,-122, -70, -31,-124,-122, -31,-123, -88, -31,-122, - -71, -31,-124,-122, -31,-123, -88, -31,-122, -72, -31,-124,-122, -31,-123, -88, -31,-122, -73, -31, --124,-122, -31,-123, -88, -31,-122, -74, -31,-124,-122, -31,-123, -88, -31,-122, -75, -31,-124,-122, - -31,-123, -88, -31,-122, -76, -31,-124,-122, -31,-123, -88, -31,-122, -77, -31,-124,-122, -31,-123, - -88, -31,-122, -78, -31,-124,-122, -31,-123, -88, -31,-122, -79, -31,-124,-122, -31,-123, -88, -31, --122, -80, -31,-124,-122, -31,-123, -88, -31,-122, -81, -31,-124,-122, -31,-123, -88, -31,-122, -82, - -31,-124,-122, -31,-123, -88, -31,-122, -83, -31,-124,-122, -31,-123, -88, -31,-122, -84, -31,-124, --122, -31,-123, -88, -31,-122, -85, -31,-124,-122, -31,-123, -88, -31,-122, -86, -31,-124,-122, -31, --123, -88, -31,-122, -87, -31,-124,-122, -31,-123, -88, -31,-122, -88, -31,-124,-122, -31,-123, -89, - -31,-121,-126, -31,-124,-122, -31,-123, -89, -31,-121,-127, -31,-124,-122, -31,-123, -89, -31,-121, --128, -31,-124,-122, -31,-123, -89, -31,-122, -65, -31,-124,-122, -31,-123, -89, -31,-122, -66, -31, --124,-122, -31,-123, -89, -31,-122, -67, -31,-124,-122, -31,-123, -89, -31,-122, -68, -31,-124,-122, - -31,-123, -89, -31,-122, -69, -31,-124,-122, -31,-123, -89, -31,-122, -70, -31,-124,-122, -31,-123, - -89, -31,-122, -71, -31,-124,-122, -31,-123, -89, -31,-122, -72, -31,-124,-122, -31,-123, -89, -31, --122, -73, -31,-124,-122, -31,-123, -89, -31,-122, -74, -31,-124,-122, -31,-123, -89, -31,-122, -75, - -31,-124,-122, -31,-123, -89, -31,-122, -76, -31,-124,-122, -31,-123, -89, -31,-122, -77, -31,-124, --122, -31,-123, -89, -31,-122, -78, -31,-124,-122, -31,-123, -89, -31,-122, -79, -31,-124,-122, -31, --123, -89, -31,-122, -80, -31,-124,-122, -31,-123, -89, -31,-122, -81, -31,-124,-122, -31,-123, -89, - -31,-122, -82, -31,-124,-122, -31,-123, -89, -31,-122, -83, -31,-124,-122, -31,-123, -89, -31,-122, - -84, -31,-124,-122, -31,-123, -89, -31,-122, -85, -31,-124,-122, -31,-123, -89, -31,-122, -86, -31, --124,-122, -31,-123, -89, -31,-122, -87, -31,-124,-122, -31,-123, -89, -31,-122, -88, -31,-124,-122, - -31,-123, -90, -31,-121,-126, -31,-124,-122, -31,-123, -90, -31,-121,-127, -31,-124,-122, -31,-123, - -90, -31,-121,-128, -31,-124,-122, -31,-123, -90, -31,-122, -65, -31,-124,-122, -31,-123, -90, -31, --122, -66, -31,-124,-122, -31,-123, -90, -31,-122, -67, -31,-124,-122, -31,-123, -90, -31,-122, -68, - -31,-124,-122, -31,-123, -90, -31,-122, -69, -31,-124,-122, -31,-123, -90, -31,-122, -70, -31,-124, --122, -31,-123, -90, -31,-122, -71, -31,-124,-122, -31,-123, -90, -31,-122, -72, -31,-124,-122, -31, --123, -90, -31,-122, -73, -31,-124,-122, -31,-123, -90, -31,-122, -74, -31,-124,-122, -31,-123, -90, - -31,-122, -75, -31,-124,-122, -31,-123, -90, -31,-122, -76, -31,-124,-122, -31,-123, -90, -31,-122, - -77, -31,-124,-122, -31,-123, -90, -31,-122, -78, -31,-124,-122, -31,-123, -90, -31,-122, -79, -31, --124,-122, -31,-123, -90, -31,-122, -80, -31,-124,-122, -31,-123, -90, -31,-122, -81, -31,-124,-122, - -31,-123, -90, -31,-122, -82, -31,-124,-122, -31,-123, -90, -31,-122, -83, -31,-124,-122, -31,-123, - -90, -31,-122, -84, -31,-124,-122, -31,-123, -90, -31,-122, -85, -31,-124,-122, -31,-123, -90, -31, --122, -86, -31,-124,-122, -31,-123, -90, -31,-122, -87, -31,-124,-122, -31,-123, -90, -31,-122, -88, - -31,-124,-122, -31,-123, -91, -31,-121,-126, -31,-124,-122, -31,-123, -91, -31,-121,-127, -31,-124, --122, -31,-123, -91, -31,-121,-128, -31,-124,-122, -31,-123, -91, -31,-122, -65, -31,-124,-122, -31, --123, -91, -31,-122, -66, -31,-124,-122, -31,-123, -91, -31,-122, -67, -31,-124,-122, -31,-123, -91, - -31,-122, -68, -31,-124,-122, -31,-123, -91, -31,-122, -69, -31,-124,-122, -31,-123, -91, -31,-122, - -70, -31,-124,-122, -31,-123, -91, -31,-122, -71, -31,-124,-122, -31,-123, -91, -31,-122, -72, -31, --124,-122, -31,-123, -91, -31,-122, -73, -31,-124,-122, -31,-123, -91, -31,-122, -74, -31,-124,-122, - -31,-123, -91, -31,-122, -75, -31,-124,-122, -31,-123, -91, -31,-122, -76, -31,-124,-122, -31,-123, - -91, -31,-122, -77, -31,-124,-122, -31,-123, -91, -31,-122, -78, -31,-124,-122, -31,-123, -91, -31, --122, -79, -31,-124,-122, -31,-123, -91, -31,-122, -80, -31,-124,-122, -31,-123, -91, -31,-122, -81, - -31,-124,-122, -31,-123, -91, -31,-122, -82, -31,-124,-122, -31,-123, -91, -31,-122, -83, -31,-124, --122, -31,-123, -91, -31,-122, -84, -31,-124,-122, -31,-123, -91, -31,-122, -85, -31,-124,-122, -31, --123, -91, -31,-122, -86, -31,-124,-122, -31,-123, -91, -31,-122, -87, -31,-124,-122, -31,-123, -91, - -31,-122, -88, -31,-124,-122, -31,-123, -92, -31,-121,-126, -31,-124,-122, -31,-123, -92, -31,-121, --127, -31,-124,-122, -31,-123, -92, -31,-121,-128, -31,-124,-122, -31,-123, -92, -31,-122, -65, -31, --124,-122, -31,-123, -92, -31,-122, -66, -31,-124,-122, -31,-123, -92, -31,-122, -67, -31,-124,-122, - -31,-123, -92, -31,-122, -68, -31,-124,-122, -31,-123, -92, -31,-122, -69, -31,-124,-122, -31,-123, - -92, -31,-122, -70, -31,-124,-122, -31,-123, -92, -31,-122, -71, -31,-124,-122, -31,-123, -92, -31, --122, -72, -31,-124,-122, -31,-123, -92, -31,-122, -73, -31,-124,-122, -31,-123, -92, -31,-122, -74, - -31,-124,-122, -31,-123, -92, -31,-122, -75, -31,-124,-122, -31,-123, -92, -31,-122, -76, -31,-124, --122, -31,-123, -92, -31,-122, -77, -31,-124,-122, -31,-123, -92, -31,-122, -78, -31,-124,-122, -31, --123, -92, -31,-122, -79, -31,-124,-122, -31,-123, -92, -31,-122, -80, -31,-124,-122, -31,-123, -92, - -31,-122, -81, -31,-124,-122, -31,-123, -92, -31,-122, -82, -31,-124,-122, -31,-123, -92, -31,-122, - -83, -31,-124,-122, -31,-123, -92, -31,-122, -84, -31,-124,-122, -31,-123, -92, -31,-122, -85, -31, --124,-122, -31,-123, -92, -31,-122, -86, -31,-124,-122, -31,-123, -92, -31,-122, -87, -31,-124,-122, - -31,-123, -92, -31,-122, -88, -31,-124,-122, -31,-123, -93, -31,-121,-126, -31,-124,-122, -31,-123, - -93, -31,-121,-127, -31,-124,-122, -31,-123, -93, -31,-121,-128, -31,-124,-122, -31,-123, -93, -31, --122, -65, -31,-124,-122, -31,-123, -93, -31,-122, -66, -31,-124,-122, -31,-123, -93, -31,-122, -67, - -31,-124,-122, -31,-123, -93, -31,-122, -68, -31,-124,-122, -31,-123, -93, -31,-122, -69, -31,-124, --122, -31,-123, -93, -31,-122, -70, -31,-124,-122, -31,-123, -93, -31,-122, -71, -31,-124,-122, -31, --123, -93, -31,-122, -72, -31,-124,-122, -31,-123, -93, -31,-122, -73, -31,-124,-122, -31,-123, -93, - -31,-122, -74, -31,-124,-122, -31,-123, -93, -31,-122, -75, -31,-124,-122, -31,-123, -93, -31,-122, - -76, -31,-124,-122, -31,-123, -93, -31,-122, -77, -31,-124,-122, -31,-123, -93, -31,-122, -78, -31, --124,-122, -31,-123, -93, -31,-122, -79, -31,-124,-122, -31,-123, -93, -31,-122, -80, -31,-124,-122, - -31,-123, -93, -31,-122, -81, -31,-124,-122, -31,-123, -93, -31,-122, -82, -31,-124,-122, -31,-123, - -93, -31,-122, -83, -31,-124,-122, -31,-123, -93, -31,-122, -84, -31,-124,-122, -31,-123, -93, -31, --122, -85, -31,-124,-122, -31,-123, -93, -31,-122, -86, -31,-124,-122, -31,-123, -93, -31,-122, -87, - -31,-124,-122, -31,-123, -93, -31,-122, -88, -31,-124,-122, -31,-123, -94, -31,-121,-126, -31,-124, --122, -31,-123, -94, -31,-121,-127, -31,-124,-122, -31,-123, -94, -31,-121,-128, -31,-124,-122, -31, --123, -94, -31,-122, -65, -31,-124,-122, -31,-123, -94, -31,-122, -66, -31,-124,-122, -31,-123, -94, - -31,-122, -67, -31,-124,-122, -31,-123, -94, -31,-122, -68, -31,-124,-122, -31,-123, -94, -31,-122, - -69, -31,-124,-122, -31,-123, -94, -31,-122, -70, -31,-124,-122, -31,-123, -94, -31,-122, -71, -31, --124,-122, -31,-123, -94, -31,-122, -72, -31,-124,-122, -31,-123, -94, -31,-122, -73, -31,-124,-122, - -31,-123, -94, -31,-122, -74, -31,-124,-122, -31,-123, -94, -31,-122, -75, -31,-124,-122, -31,-123, - -94, -31,-122, -76, -31,-124,-122, -31,-123, -94, -31,-122, -77, -31,-124,-122, -31,-123, -94, -31, --122, -78, -31,-124,-122, -31,-123, -94, -31,-122, -79, -31,-124,-122, -31,-123, -94, -31,-122, -80, - -31,-124,-122, -31,-123, -94, -31,-122, -81, -31,-124,-122, -31,-123, -94, -31,-122, -82, -31,-124, --122, -31,-123, -94, -31,-122, -83, -31,-124,-122, -31,-123, -94, -31,-122, -84, -31,-124,-122, -31, --123, -94, -31,-122, -85, -31,-124,-122, -31,-123, -94, -31,-122, -86, -31,-124,-122, -31,-123, -94, - -31,-122, -87, -31,-124,-122, -31,-123, -94, -31,-122, -88, -31,-124,-122, -31,-123, -95, -31,-121, --126, -31,-124,-122, -31,-123, -95, -31,-121,-127, -31,-124,-122, -31,-123, -95, -31,-121,-128, -31, --124,-122, -31,-123, -95, -31,-122, -65, -31,-124,-122, -31,-123, -95, -31,-122, -66, -31,-124,-122, - -31,-123, -95, -31,-122, -67, -31,-124,-122, -31,-123, -95, -31,-122, -68, -31,-124,-122, -31,-123, - -95, -31,-122, -69, -31,-124,-122, -31,-123, -95, -31,-122, -70, -31,-124,-122, -31,-123, -95, -31, --122, -71, -31,-124,-122, -31,-123, -95, -31,-122, -72, -31,-124,-122, -31,-123, -95, -31,-122, -73, - -31,-124,-122, -31,-123, -95, -31,-122, -74, -31,-124,-122, -31,-123, -95, -31,-122, -75, -31,-124, --122, -31,-123, -95, -31,-122, -76, -31,-124,-122, -31,-123, -95, -31,-122, -77, -31,-124,-122, -31, --123, -95, -31,-122, -78, -31,-124,-122, -31,-123, -95, -31,-122, -79, -31,-124,-122, -31,-123, -95, - -31,-122, -80, -31,-124,-122, -31,-123, -95, -31,-122, -81, -31,-124,-122, -31,-123, -95, -31,-122, - -82, -31,-124,-122, -31,-123, -95, -31,-122, -83, -31,-124,-122, -31,-123, -95, -31,-122, -84, -31, --124,-122, -31,-123, -95, -31,-122, -85, -31,-124,-122, -31,-123, -95, -31,-122, -86, -31,-124,-122, - -31,-123, -95, -31,-122, -87, -31,-124,-122, -31,-123, -95, -31,-122, -88, -31,-124,-123, -31,-123, - -75, -31,-121,-126, -31,-124,-123, -31,-123, -75, -31,-121,-127, -31,-124,-123, -31,-123, -75, -31, --121,-128, -31,-124,-123, -31,-123, -75, -31,-122, -65, -31,-124,-123, -31,-123, -75, -31,-122, -66, - -31,-124,-123, -31,-123, -75, -31,-122, -67, -31,-124,-123, -31,-123, -75, -31,-122, -68, -31,-124, --123, -31,-123, -75, -31,-122, -69, -31,-124,-123, -31,-123, -75, -31,-122, -70, -31,-124,-123, -31, --123, -75, -31,-122, -71, -31,-124,-123, -31,-123, -75, -31,-122, -72, -31,-124,-123, -31,-123, -75, - -31,-122, -73, -31,-124,-123, -31,-123, -75, -31,-122, -74, -31,-124,-123, -31,-123, -75, -31,-122, - -75, -31,-124,-123, -31,-123, -75, -31,-122, -76, -31,-124,-123, -31,-123, -75, -31,-122, -77, -31, --124,-123, -31,-123, -75, -31,-122, -78, -31,-124,-123, -31,-123, -75, -31,-122, -79, -31,-124,-123, - -31,-123, -75, -31,-122, -80, -31,-124,-123, -31,-123, -75, -31,-122, -81, -31,-124,-123, -31,-123, - -75, -31,-122, -82, -31,-124,-123, -31,-123, -75, -31,-122, -83, -31,-124,-123, -31,-123, -75, -31, --122, -84, -31,-124,-123, -31,-123, -75, -31,-122, -85, -31,-124,-123, -31,-123, -75, -31,-122, -86, - -31,-124,-123, -31,-123, -75, -31,-122, -87, -31,-124,-123, -31,-123, -75, -31,-122, -88, -31,-124, --123, -31,-123, -76, -31,-121,-126, -31,-124,-123, -31,-123, -76, -31,-121,-127, -31,-124,-123, -31, --123, -76, -31,-121,-128, -31,-124,-123, -31,-123, -76, -31,-122, -65, -31,-124,-123, -31,-123, -76, - -31,-122, -66, -31,-124,-123, -31,-123, -76, -31,-122, -67, -31,-124,-123, -31,-123, -76, -31,-122, - -68, -31,-124,-123, -31,-123, -76, -31,-122, -69, -31,-124,-123, -31,-123, -76, -31,-122, -70, -31, --124,-123, -31,-123, -76, -31,-122, -71, -31,-124,-123, -31,-123, -76, -31,-122, -72, -31,-124,-123, - -31,-123, -76, -31,-122, -73, -31,-124,-123, -31,-123, -76, -31,-122, -74, -31,-124,-123, -31,-123, - -76, -31,-122, -75, -31,-124,-123, -31,-123, -76, -31,-122, -76, -31,-124,-123, -31,-123, -76, -31, --122, -77, -31,-124,-123, -31,-123, -76, -31,-122, -78, -31,-124,-123, -31,-123, -76, -31,-122, -79, - -31,-124,-123, -31,-123, -76, -31,-122, -80, -31,-124,-123, -31,-123, -76, -31,-122, -81, -31,-124, --123, -31,-123, -76, -31,-122, -82, -31,-124,-123, -31,-123, -76, -31,-122, -83, -31,-124,-123, -31, --123, -76, -31,-122, -84, -31,-124,-123, -31,-123, -76, -31,-122, -85, -31,-124,-123, -31,-123, -76, - -31,-122, -86, -31,-124,-123, -31,-123, -76, -31,-122, -87, -31,-124,-123, -31,-123, -76, -31,-122, - -88, -31,-124,-123, -31,-123, -77, -31,-121,-126, -31,-124,-123, -31,-123, -77, -31,-121,-127, -31, --124,-123, -31,-123, -77, -31,-121,-128, -31,-124,-123, -31,-123, -77, -31,-122, -65, -31,-124,-123, - -31,-123, -77, -31,-122, -66, -31,-124,-123, -31,-123, -77, -31,-122, -67, -31,-124,-123, -31,-123, - -77, -31,-122, -68, -31,-124,-123, -31,-123, -77, -31,-122, -69, -31,-124,-123, -31,-123, -77, -31, --122, -70, -31,-124,-123, -31,-123, -77, -31,-122, -71, -31,-124,-123, -31,-123, -77, -31,-122, -72, - -31,-124,-123, -31,-123, -77, -31,-122, -73, -31,-124,-123, -31,-123, -77, -31,-122, -74, -31,-124, --123, -31,-123, -77, -31,-122, -75, -31,-124,-123, -31,-123, -77, -31,-122, -76, -31,-124,-123, -31, --123, -77, -31,-122, -77, -31,-124,-123, -31,-123, -77, -31,-122, -78, -31,-124,-123, -31,-123, -77, - -31,-122, -79, -31,-124,-123, -31,-123, -77, -31,-122, -80, -31,-124,-123, -31,-123, -77, -31,-122, - -81, -31,-124,-123, -31,-123, -77, -31,-122, -82, -31,-124,-123, -31,-123, -77, -31,-122, -83, -31, --124,-123, -31,-123, -77, -31,-122, -84, -31,-124,-123, -31,-123, -77, -31,-122, -85, -31,-124,-123, - -31,-123, -77, -31,-122, -86, -31,-124,-123, -31,-123, -77, -31,-122, -87, -31,-124,-123, -31,-123, - -77, -31,-122, -88, -31,-124,-123, -31,-123, -78, -31,-121,-126, -31,-124,-123, -31,-123, -78, -31, --121,-127, -31,-124,-123, -31,-123, -78, -31,-121,-128, -31,-124,-123, -31,-123, -78, -31,-122, -65, - -31,-124,-123, -31,-123, -78, -31,-122, -66, -31,-124,-123, -31,-123, -78, -31,-122, -67, -31,-124, --123, -31,-123, -78, -31,-122, -68, -31,-124,-123, -31,-123, -78, -31,-122, -69, -31,-124,-123, -31, --123, -78, -31,-122, -70, -31,-124,-123, -31,-123, -78, -31,-122, -71, -31,-124,-123, -31,-123, -78, - -31,-122, -72, -31,-124,-123, -31,-123, -78, -31,-122, -73, -31,-124,-123, -31,-123, -78, -31,-122, - -74, -31,-124,-123, -31,-123, -78, -31,-122, -75, -31,-124,-123, -31,-123, -78, -31,-122, -76, -31, --124,-123, -31,-123, -78, -31,-122, -77, -31,-124,-123, -31,-123, -78, -31,-122, -78, -31,-124,-123, - -31,-123, -78, -31,-122, -79, -31,-124,-123, -31,-123, -78, -31,-122, -80, -31,-124,-123, -31,-123, - -78, -31,-122, -81, -31,-124,-123, -31,-123, -78, -31,-122, -82, -31,-124,-123, -31,-123, -78, -31, --122, -83, -31,-124,-123, -31,-123, -78, -31,-122, -84, -31,-124,-123, -31,-123, -78, -31,-122, -85, - -31,-124,-123, -31,-123, -78, -31,-122, -86, -31,-124,-123, -31,-123, -78, -31,-122, -87, -31,-124, --123, -31,-123, -78, -31,-122, -88, -31,-124,-123, -31,-123, -79, -31,-121,-126, -31,-124,-123, -31, --123, -79, -31,-121,-127, -31,-124,-123, -31,-123, -79, -31,-121,-128, -31,-124,-123, -31,-123, -79, - -31,-122, -65, -31,-124,-123, -31,-123, -79, -31,-122, -66, -31,-124,-123, -31,-123, -79, -31,-122, - -67, -31,-124,-123, -31,-123, -79, -31,-122, -68, -31,-124,-123, -31,-123, -79, -31,-122, -69, -31, --124,-123, -31,-123, -79, -31,-122, -70, -31,-124,-123, -31,-123, -79, -31,-122, -71, -31,-124,-123, - -31,-123, -79, -31,-122, -72, -31,-124,-123, -31,-123, -79, -31,-122, -73, -31,-124,-123, -31,-123, - -79, -31,-122, -74, -31,-124,-123, -31,-123, -79, -31,-122, -75, -31,-124,-123, -31,-123, -79, -31, --122, -76, -31,-124,-123, -31,-123, -79, -31,-122, -77, -31,-124,-123, -31,-123, -79, -31,-122, -78, - -31,-124,-123, -31,-123, -79, -31,-122, -79, -31,-124,-123, -31,-123, -79, -31,-122, -80, -31,-124, --123, -31,-123, -79, -31,-122, -81, -31,-124,-123, -31,-123, -79, -31,-122, -82, -31,-124,-123, -31, --123, -79, -31,-122, -83, -31,-124,-123, -31,-123, -79, -31,-122, -84, -31,-124,-123, -31,-123, -79, - -31,-122, -85, -31,-124,-123, -31,-123, -79, -31,-122, -86, -31,-124,-123, -31,-123, -79, -31,-122, - -87, -31,-124,-123, -31,-123, -79, -31,-122, -88, -31,-124,-123, -31,-123, -80, -31,-121,-126, -31, --124,-123, -31,-123, -80, -31,-121,-127, -31,-124,-123, -31,-123, -80, -31,-121,-128, -31,-124,-123, - -31,-123, -80, -31,-122, -65, -31,-124,-123, -31,-123, -80, -31,-122, -66, -31,-124,-123, -31,-123, - -80, -31,-122, -67, -31,-124,-123, -31,-123, -80, -31,-122, -68, -31,-124,-123, -31,-123, -80, -31, --122, -69, -31,-124,-123, -31,-123, -80, -31,-122, -70, -31,-124,-123, -31,-123, -80, -31,-122, -71, - -31,-124,-123, -31,-123, -80, -31,-122, -72, -31,-124,-123, -31,-123, -80, -31,-122, -73, -31,-124, --123, -31,-123, -80, -31,-122, -74, -31,-124,-123, -31,-123, -80, -31,-122, -75, -31,-124,-123, -31, --123, -80, -31,-122, -76, -31,-124,-123, -31,-123, -80, -31,-122, -77, -31,-124,-123, -31,-123, -80, - -31,-122, -78, -31,-124,-123, -31,-123, -80, -31,-122, -79, -31,-124,-123, -31,-123, -80, -31,-122, - -80, -31,-124,-123, -31,-123, -80, -31,-122, -81, -31,-124,-123, -31,-123, -80, -31,-122, -82, -31, --124,-123, -31,-123, -80, -31,-122, -83, -31,-124,-123, -31,-123, -80, -31,-122, -84, -31,-124,-123, - -31,-123, -80, -31,-122, -85, -31,-124,-123, -31,-123, -80, -31,-122, -86, -31,-124,-123, -31,-123, - -80, -31,-122, -87, -31,-124,-123, -31,-123, -80, -31,-122, -88, -31,-124,-123, -31,-123, -81, -31, --121,-126, -31,-124,-123, -31,-123, -81, -31,-121,-127, -31,-124,-123, -31,-123, -81, -31,-121,-128, - -31,-124,-123, -31,-123, -81, -31,-122, -65, -31,-124,-123, -31,-123, -81, -31,-122, -66, -31,-124, --123, -31,-123, -81, -31,-122, -67, -31,-124,-123, -31,-123, -81, -31,-122, -68, -31,-124,-123, -31, --123, -81, -31,-122, -69, -31,-124,-123, -31,-123, -81, -31,-122, -70, -31,-124,-123, -31,-123, -81, - -31,-122, -71, -31,-124,-123, -31,-123, -81, -31,-122, -72, -31,-124,-123, -31,-123, -81, -31,-122, - -73, -31,-124,-123, -31,-123, -81, -31,-122, -74, -31,-124,-123, -31,-123, -81, -31,-122, -75, -31, --124,-123, -31,-123, -81, -31,-122, -76, -31,-124,-123, -31,-123, -81, -31,-122, -77, -31,-124,-123, - -31,-123, -81, -31,-122, -78, -31,-124,-123, -31,-123, -81, -31,-122, -79, -31,-124,-123, -31,-123, - -81, -31,-122, -80, -31,-124,-123, -31,-123, -81, -31,-122, -81, -31,-124,-123, -31,-123, -81, -31, --122, -82, -31,-124,-123, -31,-123, -81, -31,-122, -83, -31,-124,-123, -31,-123, -81, -31,-122, -84, - -31,-124,-123, -31,-123, -81, -31,-122, -85, -31,-124,-123, -31,-123, -81, -31,-122, -86, -31,-124, --123, -31,-123, -81, -31,-122, -87, -31,-124,-123, -31,-123, -81, -31,-122, -88, -31,-124,-123, -31, --123, -82, -31,-121,-126, -31,-124,-123, -31,-123, -82, -31,-121,-127, -31,-124,-123, -31,-123, -82, - -31,-121,-128, -31,-124,-123, -31,-123, -82, -31,-122, -65, -31,-124,-123, -31,-123, -82, -31,-122, - -66, -31,-124,-123, -31,-123, -82, -31,-122, -67, -31,-124,-123, -31,-123, -82, -31,-122, -68, -31, --124,-123, -31,-123, -82, -31,-122, -69, -31,-124,-123, -31,-123, -82, -31,-122, -70, -31,-124,-123, - -31,-123, -82, -31,-122, -71, -31,-124,-123, -31,-123, -82, -31,-122, -72, -31,-124,-123, -31,-123, - -82, -31,-122, -73, -31,-124,-123, -31,-123, -82, -31,-122, -74, -31,-124,-123, -31,-123, -82, -31, --122, -75, -31,-124,-123, -31,-123, -82, -31,-122, -76, -31,-124,-123, -31,-123, -82, -31,-122, -77, - -31,-124,-123, -31,-123, -82, -31,-122, -78, -31,-124,-123, -31,-123, -82, -31,-122, -79, -31,-124, --123, -31,-123, -82, -31,-122, -80, -31,-124,-123, -31,-123, -82, -31,-122, -81, -31,-124,-123, -31, --123, -82, -31,-122, -82, -31,-124,-123, -31,-123, -82, -31,-122, -83, -31,-124,-123, -31,-123, -82, - -31,-122, -84, -31,-124,-123, -31,-123, -82, -31,-122, -85, -31,-124,-123, -31,-123, -82, -31,-122, - -86, -31,-124,-123, -31,-123, -82, -31,-122, -87, -31,-124,-123, -31,-123, -82, -31,-122, -88, -31, --124,-123, -31,-123, -83, -31,-121,-126, -31,-124,-123, -31,-123, -83, -31,-121,-127, -31,-124,-123, - -31,-123, -83, -31,-121,-128, -31,-124,-123, -31,-123, -83, -31,-122, -65, -31,-124,-123, -31,-123, - -83, -31,-122, -66, -31,-124,-123, -31,-123, -83, -31,-122, -67, -31,-124,-123, -31,-123, -83, -31, --122, -68, -31,-124,-123, -31,-123, -83, -31,-122, -69, -31,-124,-123, -31,-123, -83, -31,-122, -70, - -31,-124,-123, -31,-123, -83, -31,-122, -71, -31,-124,-123, -31,-123, -83, -31,-122, -72, -31,-124, --123, -31,-123, -83, -31,-122, -73, -31,-124,-123, -31,-123, -83, -31,-122, -74, -31,-124,-123, -31, --123, -83, -31,-122, -75, -31,-124,-123, -31,-123, -83, -31,-122, -76, -31,-124,-123, -31,-123, -83, - -31,-122, -77, -31,-124,-123, -31,-123, -83, -31,-122, -78, -31,-124,-123, -31,-123, -83, -31,-122, - -79, -31,-124,-123, -31,-123, -83, -31,-122, -80, -31,-124,-123, -31,-123, -83, -31,-122, -81, -31, --124,-123, -31,-123, -83, -31,-122, -82, -31,-124,-123, -31,-123, -83, -31,-122, -83, -31,-124,-123, - -31,-123, -83, -31,-122, -84, -31,-124,-123, -31,-123, -83, -31,-122, -85, -31,-124,-123, -31,-123, - -83, -31,-122, -86, -31,-124,-123, -31,-123, -83, -31,-122, -87, -31,-124,-123, -31,-123, -83, -31, --122, -88, -31,-124,-123, -31,-123, -84, -31,-121,-126, -31,-124,-123, -31,-123, -84, -31,-121,-127, - -31,-124,-123, -31,-123, -84, -31,-121,-128, -31,-124,-123, -31,-123, -84, -31,-122, -65, -31,-124, --123, -31,-123, -84, -31,-122, -66, -31,-124,-123, -31,-123, -84, -31,-122, -67, -31,-124,-123, -31, --123, -84, -31,-122, -68, -31,-124,-123, -31,-123, -84, -31,-122, -69, -31,-124,-123, -31,-123, -84, - -31,-122, -70, -31,-124,-123, -31,-123, -84, -31,-122, -71, -31,-124,-123, -31,-123, -84, -31,-122, - -72, -31,-124,-123, -31,-123, -84, -31,-122, -73, -31,-124,-123, -31,-123, -84, -31,-122, -74, -31, --124,-123, -31,-123, -84, -31,-122, -75, -31,-124,-123, -31,-123, -84, -31,-122, -76, -31,-124,-123, - -31,-123, -84, -31,-122, -77, -31,-124,-123, -31,-123, -84, -31,-122, -78, -31,-124,-123, -31,-123, - -84, -31,-122, -79, -31,-124,-123, -31,-123, -84, -31,-122, -80, -31,-124,-123, -31,-123, -84, -31, --122, -81, -31,-124,-123, -31,-123, -84, -31,-122, -82, -31,-124,-123, -31,-123, -84, -31,-122, -83, - -31,-124,-123, -31,-123, -84, -31,-122, -84, -31,-124,-123, -31,-123, -84, -31,-122, -85, -31,-124, --123, -31,-123, -84, -31,-122, -86, -31,-124,-123, -31,-123, -84, -31,-122, -87, -31,-124,-123, -31, --123, -84, -31,-122, -88, -31,-124,-123, -31,-123, -85, -31,-121,-126, -31,-124,-123, -31,-123, -85, - -31,-121,-127, -31,-124,-123, -31,-123, -85, -31,-121,-128, -31,-124,-123, -31,-123, -85, -31,-122, - -65, -31,-124,-123, -31,-123, -85, -31,-122, -66, -31,-124,-123, -31,-123, -85, -31,-122, -67, -31, --124,-123, -31,-123, -85, -31,-122, -68, -31,-124,-123, -31,-123, -85, -31,-122, -69, -31,-124,-123, - -31,-123, -85, -31,-122, -70, -31,-124,-123, -31,-123, -85, -31,-122, -71, -31,-124,-123, -31,-123, - -85, -31,-122, -72, -31,-124,-123, -31,-123, -85, -31,-122, -73, -31,-124,-123, -31,-123, -85, -31, --122, -74, -31,-124,-123, -31,-123, -85, -31,-122, -75, -31,-124,-123, -31,-123, -85, -31,-122, -76, - -31,-124,-123, -31,-123, -85, -31,-122, -77, -31,-124,-123, -31,-123, -85, -31,-122, -78, -31,-124, --123, -31,-123, -85, -31,-122, -79, -31,-124,-123, -31,-123, -85, -31,-122, -80, -31,-124,-123, -31, --123, -85, -31,-122, -81, -31,-124,-123, -31,-123, -85, -31,-122, -82, -31,-124,-123, -31,-123, -85, - -31,-122, -83, -31,-124,-123, -31,-123, -85, -31,-122, -84, -31,-124,-123, -31,-123, -85, -31,-122, - -85, -31,-124,-123, -31,-123, -85, -31,-122, -86, -31,-124,-123, -31,-123, -85, -31,-122, -87, -31, --124,-123, -31,-123, -85, -31,-122, -88, -31,-124,-123, -31,-123, -86, -31,-121,-126, -31,-124,-123, - -31,-123, -86, -31,-121,-127, -31,-124,-123, -31,-123, -86, -31,-121,-128, -31,-124,-123, -31,-123, - -86, -31,-122, -65, -31,-124,-123, -31,-123, -86, -31,-122, -66, -31,-124,-123, -31,-123, -86, -31, --122, -67, -31,-124,-123, -31,-123, -86, -31,-122, -68, -31,-124,-123, -31,-123, -86, -31,-122, -69, - -31,-124,-123, -31,-123, -86, -31,-122, -70, -31,-124,-123, -31,-123, -86, -31,-122, -71, -31,-124, --123, -31,-123, -86, -31,-122, -72, -31,-124,-123, -31,-123, -86, -31,-122, -73, -31,-124,-123, -31, --123, -86, -31,-122, -74, -31,-124,-123, -31,-123, -86, -31,-122, -75, -31,-124,-123, -31,-123, -86, - -31,-122, -76, -31,-124,-123, -31,-123, -86, -31,-122, -77, -31,-124,-123, -31,-123, -86, -31,-122, - -78, -31,-124,-123, -31,-123, -86, -31,-122, -79, -31,-124,-123, -31,-123, -86, -31,-122, -80, -31, --124,-123, -31,-123, -86, -31,-122, -81, -31,-124,-123, -31,-123, -86, -31,-122, -82, -31,-124,-123, - -31,-123, -86, -31,-122, -83, -31,-124,-123, -31,-123, -86, -31,-122, -84, -31,-124,-123, -31,-123, - -86, -31,-122, -85, -31,-124,-123, -31,-123, -86, -31,-122, -86, -31,-124,-123, -31,-123, -86, -31, --122, -87, -31,-124,-123, -31,-123, -86, -31,-122, -88, -31,-124,-123, -31,-123, -87, -31,-121,-126, - -31,-124,-123, -31,-123, -87, -31,-121,-127, -31,-124,-123, -31,-123, -87, -31,-121,-128, -31,-124, --123, -31,-123, -87, -31,-122, -65, -31,-124,-123, -31,-123, -87, -31,-122, -66, -31,-124,-123, -31, --123, -87, -31,-122, -67, -31,-124,-123, -31,-123, -87, -31,-122, -68, -31,-124,-123, -31,-123, -87, - -31,-122, -69, -31,-124,-123, -31,-123, -87, -31,-122, -70, -31,-124,-123, -31,-123, -87, -31,-122, - -71, -31,-124,-123, -31,-123, -87, -31,-122, -72, -31,-124,-123, -31,-123, -87, -31,-122, -73, -31, --124,-123, -31,-123, -87, -31,-122, -74, -31,-124,-123, -31,-123, -87, -31,-122, -75, -31,-124,-123, - -31,-123, -87, -31,-122, -76, -31,-124,-123, -31,-123, -87, -31,-122, -77, -31,-124,-123, -31,-123, - -87, -31,-122, -78, -31,-124,-123, -31,-123, -87, -31,-122, -79, -31,-124,-123, -31,-123, -87, -31, --122, -80, -31,-124,-123, -31,-123, -87, -31,-122, -81, -31,-124,-123, -31,-123, -87, -31,-122, -82, - -31,-124,-123, -31,-123, -87, -31,-122, -83, -31,-124,-123, -31,-123, -87, -31,-122, -84, -31,-124, --123, -31,-123, -87, -31,-122, -85, -31,-124,-123, -31,-123, -87, -31,-122, -86, -31,-124,-123, -31, --123, -87, -31,-122, -87, -31,-124,-123, -31,-123, -87, -31,-122, -88, -31,-124,-123, -31,-123, -88, - -31,-121,-126, -31,-124,-123, -31,-123, -88, -31,-121,-127, -31,-124,-123, -31,-123, -88, -31,-121, --128, -31,-124,-123, -31,-123, -88, -31,-122, -65, -31,-124,-123, -31,-123, -88, -31,-122, -66, -31, --124,-123, -31,-123, -88, -31,-122, -67, -31,-124,-123, -31,-123, -88, -31,-122, -68, -31,-124,-123, - -31,-123, -88, -31,-122, -69, -31,-124,-123, -31,-123, -88, -31,-122, -70, -31,-124,-123, -31,-123, - -88, -31,-122, -71, -31,-124,-123, -31,-123, -88, -31,-122, -72, -31,-124,-123, -31,-123, -88, -31, --122, -73, -31,-124,-123, -31,-123, -88, -31,-122, -74, -31,-124,-123, -31,-123, -88, -31,-122, -75, - -31,-124,-123, -31,-123, -88, -31,-122, -76, -31,-124,-123, -31,-123, -88, -31,-122, -77, -31,-124, --123, -31,-123, -88, -31,-122, -78, -31,-124,-123, -31,-123, -88, -31,-122, -79, -31,-124,-123, -31, --123, -88, -31,-122, -80, -31,-124,-123, -31,-123, -88, -31,-122, -81, -31,-124,-123, -31,-123, -88, - -31,-122, -82, -31,-124,-123, -31,-123, -88, -31,-122, -83, -31,-124,-123, -31,-123, -88, -31,-122, - -84, -31,-124,-123, -31,-123, -88, -31,-122, -85, -31,-124,-123, -31,-123, -88, -31,-122, -86, -31, --124,-123, -31,-123, -88, -31,-122, -87, -31,-124,-123, -31,-123, -88, -31,-122, -88, -31,-124,-123, - -31,-123, -89, -31,-121,-126, -31,-124,-123, -31,-123, -89, -31,-121,-127, -31,-124,-123, -31,-123, - -89, -31,-121,-128, -31,-124,-123, -31,-123, -89, -31,-122, -65, -31,-124,-123, -31,-123, -89, -31, --122, -66, -31,-124,-123, -31,-123, -89, -31,-122, -67, -31,-124,-123, -31,-123, -89, -31,-122, -68, - -31,-124,-123, -31,-123, -89, -31,-122, -69, -31,-124,-123, -31,-123, -89, -31,-122, -70, -31,-124, --123, -31,-123, -89, -31,-122, -71, -31,-124,-123, -31,-123, -89, -31,-122, -72, -31,-124,-123, -31, --123, -89, -31,-122, -73, -31,-124,-123, -31,-123, -89, -31,-122, -74, -31,-124,-123, -31,-123, -89, - -31,-122, -75, -31,-124,-123, -31,-123, -89, -31,-122, -76, -31,-124,-123, -31,-123, -89, -31,-122, - -77, -31,-124,-123, -31,-123, -89, -31,-122, -78, -31,-124,-123, -31,-123, -89, -31,-122, -79, -31, --124,-123, -31,-123, -89, -31,-122, -80, -31,-124,-123, -31,-123, -89, -31,-122, -81, -31,-124,-123, - -31,-123, -89, -31,-122, -82, -31,-124,-123, -31,-123, -89, -31,-122, -83, -31,-124,-123, -31,-123, - -89, -31,-122, -84, -31,-124,-123, -31,-123, -89, -31,-122, -85, -31,-124,-123, -31,-123, -89, -31, --122, -86, -31,-124,-123, -31,-123, -89, -31,-122, -87, -31,-124,-123, -31,-123, -89, -31,-122, -88, - -31,-124,-123, -31,-123, -90, -31,-121,-126, -31,-124,-123, -31,-123, -90, -31,-121,-127, -31,-124, --123, -31,-123, -90, -31,-121,-128, -31,-124,-123, -31,-123, -90, -31,-122, -65, -31,-124,-123, -31, --123, -90, -31,-122, -66, -31,-124,-123, -31,-123, -90, -31,-122, -67, -31,-124,-123, -31,-123, -90, - -31,-122, -68, -31,-124,-123, -31,-123, -90, -31,-122, -69, -31,-124,-123, -31,-123, -90, -31,-122, - -70, -31,-124,-123, -31,-123, -90, -31,-122, -71, -31,-124,-123, -31,-123, -90, -31,-122, -72, -31, --124,-123, -31,-123, -90, -31,-122, -73, -31,-124,-123, -31,-123, -90, -31,-122, -74, -31,-124,-123, - -31,-123, -90, -31,-122, -75, -31,-124,-123, -31,-123, -90, -31,-122, -76, -31,-124,-123, -31,-123, - -90, -31,-122, -77, -31,-124,-123, -31,-123, -90, -31,-122, -78, -31,-124,-123, -31,-123, -90, -31, --122, -79, -31,-124,-123, -31,-123, -90, -31,-122, -80, -31,-124,-123, -31,-123, -90, -31,-122, -81, - -31,-124,-123, -31,-123, -90, -31,-122, -82, -31,-124,-123, -31,-123, -90, -31,-122, -83, -31,-124, --123, -31,-123, -90, -31,-122, -84, -31,-124,-123, -31,-123, -90, -31,-122, -85, -31,-124,-123, -31, --123, -90, -31,-122, -86, -31,-124,-123, -31,-123, -90, -31,-122, -87, -31,-124,-123, -31,-123, -90, - -31,-122, -88, -31,-124,-123, -31,-123, -91, -31,-121,-126, -31,-124,-123, -31,-123, -91, -31,-121, --127, -31,-124,-123, -31,-123, -91, -31,-121,-128, -31,-124,-123, -31,-123, -91, -31,-122, -65, -31, --124,-123, -31,-123, -91, -31,-122, -66, -31,-124,-123, -31,-123, -91, -31,-122, -67, -31,-124,-123, - -31,-123, -91, -31,-122, -68, -31,-124,-123, -31,-123, -91, -31,-122, -69, -31,-124,-123, -31,-123, - -91, -31,-122, -70, -31,-124,-123, -31,-123, -91, -31,-122, -71, -31,-124,-123, -31,-123, -91, -31, --122, -72, -31,-124,-123, -31,-123, -91, -31,-122, -73, -31,-124,-123, -31,-123, -91, -31,-122, -74, - -31,-124,-123, -31,-123, -91, -31,-122, -75, -31,-124,-123, -31,-123, -91, -31,-122, -76, -31,-124, --123, -31,-123, -91, -31,-122, -77, -31,-124,-123, -31,-123, -91, -31,-122, -78, -31,-124,-123, -31, --123, -91, -31,-122, -79, -31,-124,-123, -31,-123, -91, -31,-122, -80, -31,-124,-123, -31,-123, -91, - -31,-122, -81, -31,-124,-123, -31,-123, -91, -31,-122, -82, -31,-124,-123, -31,-123, -91, -31,-122, - -83, -31,-124,-123, -31,-123, -91, -31,-122, -84, -31,-124,-123, -31,-123, -91, -31,-122, -85, -31, --124,-123, -31,-123, -91, -31,-122, -86, -31,-124,-123, -31,-123, -91, -31,-122, -87, -31,-124,-123, - -31,-123, -91, -31,-122, -88, -31,-124,-123, -31,-123, -92, -31,-121,-126, -31,-124,-123, -31,-123, - -92, -31,-121,-127, -31,-124,-123, -31,-123, -92, -31,-121,-128, -31,-124,-123, -31,-123, -92, -31, --122, -65, -31,-124,-123, -31,-123, -92, -31,-122, -66, -31,-124,-123, -31,-123, -92, -31,-122, -67, - -31,-124,-123, -31,-123, -92, -31,-122, -68, -31,-124,-123, -31,-123, -92, -31,-122, -69, -31,-124, --123, -31,-123, -92, -31,-122, -70, -31,-124,-123, -31,-123, -92, -31,-122, -71, -31,-124,-123, -31, --123, -92, -31,-122, -72, -31,-124,-123, -31,-123, -92, -31,-122, -73, -31,-124,-123, -31,-123, -92, - -31,-122, -74, -31,-124,-123, -31,-123, -92, -31,-122, -75, -31,-124,-123, -31,-123, -92, -31,-122, - -76, -31,-124,-123, -31,-123, -92, -31,-122, -77, -31,-124,-123, -31,-123, -92, -31,-122, -78, -31, --124,-123, -31,-123, -92, -31,-122, -79, -31,-124,-123, -31,-123, -92, -31,-122, -80, -31,-124,-123, - -31,-123, -92, -31,-122, -81, -31,-124,-123, -31,-123, -92, -31,-122, -82, -31,-124,-123, -31,-123, - -92, -31,-122, -83, -31,-124,-123, -31,-123, -92, -31,-122, -84, -31,-124,-123, -31,-123, -92, -31, --122, -85, -31,-124,-123, -31,-123, -92, -31,-122, -86, -31,-124,-123, -31,-123, -92, -31,-122, -87, - -31,-124,-123, -31,-123, -92, -31,-122, -88, -31,-124,-123, -31,-123, -93, -31,-121,-126, -31,-124, --123, -31,-123, -93, -31,-121,-127, -31,-124,-123, -31,-123, -93, -31,-121,-128, -31,-124,-123, -31, --123, -93, -31,-122, -65, -31,-124,-123, -31,-123, -93, -31,-122, -66, -31,-124,-123, -31,-123, -93, - -31,-122, -67, -31,-124,-123, -31,-123, -93, -31,-122, -68, -31,-124,-123, -31,-123, -93, -31,-122, - -69, -31,-124,-123, -31,-123, -93, -31,-122, -70, -31,-124,-123, -31,-123, -93, -31,-122, -71, -31, --124,-123, -31,-123, -93, -31,-122, -72, -31,-124,-123, -31,-123, -93, -31,-122, -73, -31,-124,-123, - -31,-123, -93, -31,-122, -74, -31,-124,-123, -31,-123, -93, -31,-122, -75, -31,-124,-123, -31,-123, - -93, -31,-122, -76, -31,-124,-123, -31,-123, -93, -31,-122, -77, -31,-124,-123, -31,-123, -93, -31, --122, -78, -31,-124,-123, -31,-123, -93, -31,-122, -79, -31,-124,-123, -31,-123, -93, -31,-122, -80, - -31,-124,-123, -31,-123, -93, -31,-122, -81, -31,-124,-123, -31,-123, -93, -31,-122, -82, -31,-124, --123, -31,-123, -93, -31,-122, -83, -31,-124,-123, -31,-123, -93, -31,-122, -84, -31,-124,-123, -31, --123, -93, -31,-122, -85, -31,-124,-123, -31,-123, -93, -31,-122, -86, -31,-124,-123, -31,-123, -93, - -31,-122, -87, -31,-124,-123, -31,-123, -93, -31,-122, -88, -31,-124,-123, -31,-123, -94, -31,-121, --126, -31,-124,-123, -31,-123, -94, -31,-121,-127, -31,-124,-123, -31,-123, -94, -31,-121,-128, -31, --124,-123, -31,-123, -94, -31,-122, -65, -31,-124,-123, -31,-123, -94, -31,-122, -66, -31,-124,-123, - -31,-123, -94, -31,-122, -67, -31,-124,-123, -31,-123, -94, -31,-122, -68, -31,-124,-123, -31,-123, - -94, -31,-122, -69, -31,-124,-123, -31,-123, -94, -31,-122, -70, -31,-124,-123, -31,-123, -94, -31, --122, -71, -31,-124,-123, -31,-123, -94, -31,-122, -72, -31,-124,-123, -31,-123, -94, -31,-122, -73, - -31,-124,-123, -31,-123, -94, -31,-122, -74, -31,-124,-123, -31,-123, -94, -31,-122, -75, -31,-124, --123, -31,-123, -94, -31,-122, -76, -31,-124,-123, -31,-123, -94, -31,-122, -77, -31,-124,-123, -31, --123, -94, -31,-122, -78, -31,-124,-123, -31,-123, -94, -31,-122, -79, -31,-124,-123, -31,-123, -94, - -31,-122, -80, -31,-124,-123, -31,-123, -94, -31,-122, -81, -31,-124,-123, -31,-123, -94, -31,-122, - -82, -31,-124,-123, -31,-123, -94, -31,-122, -83, -31,-124,-123, -31,-123, -94, -31,-122, -84, -31, --124,-123, -31,-123, -94, -31,-122, -85, -31,-124,-123, -31,-123, -94, -31,-122, -86, -31,-124,-123, - -31,-123, -94, -31,-122, -87, -31,-124,-123, -31,-123, -94, -31,-122, -88, -31,-124,-123, -31,-123, - -95, -31,-121,-126, -31,-124,-123, -31,-123, -95, -31,-121,-127, -31,-124,-123, -31,-123, -95, -31, --121,-128, -31,-124,-123, -31,-123, -95, -31,-122, -65, -31,-124,-123, -31,-123, -95, -31,-122, -66, - -31,-124,-123, -31,-123, -95, -31,-122, -67, -31,-124,-123, -31,-123, -95, -31,-122, -68, -31,-124, --123, -31,-123, -95, -31,-122, -69, -31,-124,-123, -31,-123, -95, -31,-122, -70, -31,-124,-123, -31, --123, -95, -31,-122, -71, -31,-124,-123, -31,-123, -95, -31,-122, -72, -31,-124,-123, -31,-123, -95, - -31,-122, -73, -31,-124,-123, -31,-123, -95, -31,-122, -74, -31,-124,-123, -31,-123, -95, -31,-122, - -75, -31,-124,-123, -31,-123, -95, -31,-122, -76, -31,-124,-123, -31,-123, -95, -31,-122, -77, -31, --124,-123, -31,-123, -95, -31,-122, -78, -31,-124,-123, -31,-123, -95, -31,-122, -79, -31,-124,-123, - -31,-123, -95, -31,-122, -80, -31,-124,-123, -31,-123, -95, -31,-122, -81, -31,-124,-123, -31,-123, - -95, -31,-122, -82, -31,-124,-123, -31,-123, -95, -31,-122, -83, -31,-124,-123, -31,-123, -95, -31, --122, -84, -31,-124,-123, -31,-123, -95, -31,-122, -85, -31,-124,-123, -31,-123, -95, -31,-122, -86, - -31,-124,-123, -31,-123, -95, -31,-122, -87, -31,-124,-123, -31,-123, -95, -31,-122, -88, -31,-124, --124, -31,-123, -75, -31,-121,-126, -31,-124,-124, -31,-123, -75, -31,-121,-127, -31,-124,-124, -31, --123, -75, -31,-121,-128, -31,-124,-124, -31,-123, -75, -31,-122, -65, -31,-124,-124, -31,-123, -75, - -31,-122, -66, -31,-124,-124, -31,-123, -75, -31,-122, -67, -31,-124,-124, -31,-123, -75, -31,-122, - -68, -31,-124,-124, -31,-123, -75, -31,-122, -69, -31,-124,-124, -31,-123, -75, -31,-122, -70, -31, --124,-124, -31,-123, -75, -31,-122, -71, -31,-124,-124, -31,-123, -75, -31,-122, -72, -31,-124,-124, - -31,-123, -75, -31,-122, -73, -31,-124,-124, -31,-123, -75, -31,-122, -74, -31,-124,-124, -31,-123, - -75, -31,-122, -75, -31,-124,-124, -31,-123, -75, -31,-122, -76, -31,-124,-124, -31,-123, -75, -31, --122, -77, -31,-124,-124, -31,-123, -75, -31,-122, -78, -31,-124,-124, -31,-123, -75, -31,-122, -79, - -31,-124,-124, -31,-123, -75, -31,-122, -80, -31,-124,-124, -31,-123, -75, -31,-122, -81, -31,-124, --124, -31,-123, -75, -31,-122, -82, -31,-124,-124, -31,-123, -75, -31,-122, -83, -31,-124,-124, -31, --123, -75, -31,-122, -84, -31,-124,-124, -31,-123, -75, -31,-122, -85, -31,-124,-124, -31,-123, -75, - -31,-122, -86, -31,-124,-124, -31,-123, -75, -31,-122, -87, -31,-124,-124, -31,-123, -75, -31,-122, - -88, -31,-124,-124, -31,-123, -76, -31,-121,-126, -31,-124,-124, -31,-123, -76, -31,-121,-127, -31, --124,-124, -31,-123, -76, -31,-121,-128, -31,-124,-124, -31,-123, -76, -31,-122, -65, -31,-124,-124, - -31,-123, -76, -31,-122, -66, -31,-124,-124, -31,-123, -76, -31,-122, -67, -31,-124,-124, -31,-123, - -76, -31,-122, -68, -31,-124,-124, -31,-123, -76, -31,-122, -69, -31,-124,-124, -31,-123, -76, -31, --122, -70, -31,-124,-124, -31,-123, -76, -31,-122, -71, -31,-124,-124, -31,-123, -76, -31,-122, -72, - -31,-124,-124, -31,-123, -76, -31,-122, -73, -31,-124,-124, -31,-123, -76, -31,-122, -74, -31,-124, --124, -31,-123, -76, -31,-122, -75, -31,-124,-124, -31,-123, -76, -31,-122, -76, -31,-124,-124, -31, --123, -76, -31,-122, -77, -31,-124,-124, -31,-123, -76, -31,-122, -78, -31,-124,-124, -31,-123, -76, - -31,-122, -79, -31,-124,-124, -31,-123, -76, -31,-122, -80, -31,-124,-124, -31,-123, -76, -31,-122, - -81, -31,-124,-124, -31,-123, -76, -31,-122, -82, -31,-124,-124, -31,-123, -76, -31,-122, -83, -31, --124,-124, -31,-123, -76, -31,-122, -84, -31,-124,-124, -31,-123, -76, -31,-122, -85, -31,-124,-124, - -31,-123, -76, -31,-122, -86, -31,-124,-124, -31,-123, -76, -31,-122, -87, -31,-124,-124, -31,-123, - -76, -31,-122, -88, -31,-124,-124, -31,-123, -77, -31,-121,-126, -31,-124,-124, -31,-123, -77, -31, --121,-127, -31,-124,-124, -31,-123, -77, -31,-121,-128, -31,-124,-124, -31,-123, -77, -31,-122, -65, - -31,-124,-124, -31,-123, -77, -31,-122, -66, -31,-124,-124, -31,-123, -77, -31,-122, -67, -31,-124, --124, -31,-123, -77, -31,-122, -68, -31,-124,-124, -31,-123, -77, -31,-122, -69, -31,-124,-124, -31, --123, -77, -31,-122, -70, -31,-124,-124, -31,-123, -77, -31,-122, -71, -31,-124,-124, -31,-123, -77, - -31,-122, -72, -31,-124,-124, -31,-123, -77, -31,-122, -73, -31,-124,-124, -31,-123, -77, -31,-122, - -74, -31,-124,-124, -31,-123, -77, -31,-122, -75, -31,-124,-124, -31,-123, -77, -31,-122, -76, -31, --124,-124, -31,-123, -77, -31,-122, -77, -31,-124,-124, -31,-123, -77, -31,-122, -78, -31,-124,-124, - -31,-123, -77, -31,-122, -79, -31,-124,-124, -31,-123, -77, -31,-122, -80, -31,-124,-124, -31,-123, - -77, -31,-122, -81, -31,-124,-124, -31,-123, -77, -31,-122, -82, -31,-124,-124, -31,-123, -77, -31, --122, -83, -31,-124,-124, -31,-123, -77, -31,-122, -84, -31,-124,-124, -31,-123, -77, -31,-122, -85, - -31,-124,-124, -31,-123, -77, -31,-122, -86, -31,-124,-124, -31,-123, -77, -31,-122, -87, -31,-124, --124, -31,-123, -77, -31,-122, -88, -31,-124,-124, -31,-123, -78, -31,-121,-126, -31,-124,-124, -31, --123, -78, -31,-121,-127, -31,-124,-124, -31,-123, -78, -31,-121,-128, -31,-124,-124, -31,-123, -78, - -31,-122, -65, -31,-124,-124, -31,-123, -78, -31,-122, -66, -31,-124,-124, -31,-123, -78, -31,-122, - -67, -31,-124,-124, -31,-123, -78, -31,-122, -68, -31,-124,-124, -31,-123, -78, -31,-122, -69, -31, --124,-124, -31,-123, -78, -31,-122, -70, -31,-124,-124, -31,-123, -78, -31,-122, -71, -31,-124,-124, - -31,-123, -78, -31,-122, -72, -31,-124,-124, -31,-123, -78, -31,-122, -73, -31,-124,-124, -31,-123, - -78, -31,-122, -74, -31,-124,-124, -31,-123, -78, -31,-122, -75, -31,-124,-124, -31,-123, -78, -31, --122, -76, -31,-124,-124, -31,-123, -78, -31,-122, -77, -31,-124,-124, -31,-123, -78, -31,-122, -78, - -31,-124,-124, -31,-123, -78, -31,-122, -79, -31,-124,-124, -31,-123, -78, -31,-122, -80, -31,-124, --124, -31,-123, -78, -31,-122, -81, -31,-124,-124, -31,-123, -78, -31,-122, -82, -31,-124,-124, -31, --123, -78, -31,-122, -83, -31,-124,-124, -31,-123, -78, -31,-122, -84, -31,-124,-124, -31,-123, -78, - -31,-122, -85, -31,-124,-124, -31,-123, -78, -31,-122, -86, -31,-124,-124, -31,-123, -78, -31,-122, - -87, -31,-124,-124, -31,-123, -78, -31,-122, -88, -31,-124,-124, -31,-123, -79, -31,-121,-126, -31, --124,-124, -31,-123, -79, -31,-121,-127, -31,-124,-124, -31,-123, -79, -31,-121,-128, -31,-124,-124, - -31,-123, -79, -31,-122, -65, -31,-124,-124, -31,-123, -79, -31,-122, -66, -31,-124,-124, -31,-123, - -79, -31,-122, -67, -31,-124,-124, -31,-123, -79, -31,-122, -68, -31,-124,-124, -31,-123, -79, -31, --122, -69, -31,-124,-124, -31,-123, -79, -31,-122, -70, -31,-124,-124, -31,-123, -79, -31,-122, -71, - -31,-124,-124, -31,-123, -79, -31,-122, -72, -31,-124,-124, -31,-123, -79, -31,-122, -73, -31,-124, --124, -31,-123, -79, -31,-122, -74, -31,-124,-124, -31,-123, -79, -31,-122, -75, -31,-124,-124, -31, --123, -79, -31,-122, -76, -31,-124,-124, -31,-123, -79, -31,-122, -77, -31,-124,-124, -31,-123, -79, - -31,-122, -78, -31,-124,-124, -31,-123, -79, -31,-122, -79, -31,-124,-124, -31,-123, -79, -31,-122, - -80, -31,-124,-124, -31,-123, -79, -31,-122, -81, -31,-124,-124, -31,-123, -79, -31,-122, -82, -31, --124,-124, -31,-123, -79, -31,-122, -83, -31,-124,-124, -31,-123, -79, -31,-122, -84, -31,-124,-124, - -31,-123, -79, -31,-122, -85, -31,-124,-124, -31,-123, -79, -31,-122, -86, -31,-124,-124, -31,-123, - -79, -31,-122, -87, -31,-124,-124, -31,-123, -79, -31,-122, -88, -31,-124,-124, -31,-123, -80, -31, --121,-126, -31,-124,-124, -31,-123, -80, -31,-121,-127, -31,-124,-124, -31,-123, -80, -31,-121,-128, - -31,-124,-124, -31,-123, -80, -31,-122, -65, -31,-124,-124, -31,-123, -80, -31,-122, -66, -31,-124, --124, -31,-123, -80, -31,-122, -67, -31,-124,-124, -31,-123, -80, -31,-122, -68, -31,-124,-124, -31, --123, -80, -31,-122, -69, -31,-124,-124, -31,-123, -80, -31,-122, -70, -31,-124,-124, -31,-123, -80, - -31,-122, -71, -31,-124,-124, -31,-123, -80, -31,-122, -72, -31,-124,-124, -31,-123, -80, -31,-122, - -73, -31,-124,-124, -31,-123, -80, -31,-122, -74, -31,-124,-124, -31,-123, -80, -31,-122, -75, -31, --124,-124, -31,-123, -80, -31,-122, -76, -31,-124,-124, -31,-123, -80, -31,-122, -77, -31,-124,-124, - -31,-123, -80, -31,-122, -78, -31,-124,-124, -31,-123, -80, -31,-122, -79, -31,-124,-124, -31,-123, - -80, -31,-122, -80, -31,-124,-124, -31,-123, -80, -31,-122, -81, -31,-124,-124, -31,-123, -80, -31, --122, -82, -31,-124,-124, -31,-123, -80, -31,-122, -83, -31,-124,-124, -31,-123, -80, -31,-122, -84, - -31,-124,-124, -31,-123, -80, -31,-122, -85, -31,-124,-124, -31,-123, -80, -31,-122, -86, -31,-124, --124, -31,-123, -80, -31,-122, -87, -31,-124,-124, -31,-123, -80, -31,-122, -88, -31,-124,-124, -31, --123, -81, -31,-121,-126, -31,-124,-124, -31,-123, -81, -31,-121,-127, -31,-124,-124, -31,-123, -81, - -31,-121,-128, -31,-124,-124, -31,-123, -81, -31,-122, -65, -31,-124,-124, -31,-123, -81, -31,-122, - -66, -31,-124,-124, -31,-123, -81, -31,-122, -67, -31,-124,-124, -31,-123, -81, -31,-122, -68, -31, --124,-124, -31,-123, -81, -31,-122, -69, -31,-124,-124, -31,-123, -81, -31,-122, -70, -31,-124,-124, - -31,-123, -81, -31,-122, -71, -31,-124,-124, -31,-123, -81, -31,-122, -72, -31,-124,-124, -31,-123, - -81, -31,-122, -73, -31,-124,-124, -31,-123, -81, -31,-122, -74, -31,-124,-124, -31,-123, -81, -31, --122, -75, -31,-124,-124, -31,-123, -81, -31,-122, -76, -31,-124,-124, -31,-123, -81, -31,-122, -77, - -31,-124,-124, -31,-123, -81, -31,-122, -78, -31,-124,-124, -31,-123, -81, -31,-122, -79, -31,-124, --124, -31,-123, -81, -31,-122, -80, -31,-124,-124, -31,-123, -81, -31,-122, -81, -31,-124,-124, -31, --123, -81, -31,-122, -82, -31,-124,-124, -31,-123, -81, -31,-122, -83, -31,-124,-124, -31,-123, -81, - -31,-122, -84, -31,-124,-124, -31,-123, -81, -31,-122, -85, -31,-124,-124, -31,-123, -81, -31,-122, - -86, -31,-124,-124, -31,-123, -81, -31,-122, -87, -31,-124,-124, -31,-123, -81, -31,-122, -88, -31, --124,-124, -31,-123, -82, -31,-121,-126, -31,-124,-124, -31,-123, -82, -31,-121,-127, -31,-124,-124, - -31,-123, -82, -31,-121,-128, -31,-124,-124, -31,-123, -82, -31,-122, -65, -31,-124,-124, -31,-123, - -82, -31,-122, -66, -31,-124,-124, -31,-123, -82, -31,-122, -67, -31,-124,-124, -31,-123, -82, -31, --122, -68, -31,-124,-124, -31,-123, -82, -31,-122, -69, -31,-124,-124, -31,-123, -82, -31,-122, -70, - -31,-124,-124, -31,-123, -82, -31,-122, -71, -31,-124,-124, -31,-123, -82, -31,-122, -72, -31,-124, --124, -31,-123, -82, -31,-122, -73, -31,-124,-124, -31,-123, -82, -31,-122, -74, -31,-124,-124, -31, --123, -82, -31,-122, -75, -31,-124,-124, -31,-123, -82, -31,-122, -76, -31,-124,-124, -31,-123, -82, - -31,-122, -77, -31,-124,-124, -31,-123, -82, -31,-122, -78, -31,-124,-124, -31,-123, -82, -31,-122, - -79, -31,-124,-124, -31,-123, -82, -31,-122, -80, -31,-124,-124, -31,-123, -82, -31,-122, -81, -31, --124,-124, -31,-123, -82, -31,-122, -82, -31,-124,-124, -31,-123, -82, -31,-122, -83, -31,-124,-124, - -31,-123, -82, -31,-122, -84, -31,-124,-124, -31,-123, -82, -31,-122, -85, -31,-124,-124, -31,-123, - -82, -31,-122, -86, -31,-124,-124, -31,-123, -82, -31,-122, -87, -31,-124,-124, -31,-123, -82, -31, --122, -88, -31,-124,-124, -31,-123, -83, -31,-121,-126, -31,-124,-124, -31,-123, -83, -31,-121,-127, - -31,-124,-124, -31,-123, -83, -31,-121,-128, -31,-124,-124, -31,-123, -83, -31,-122, -65, -31,-124, --124, -31,-123, -83, -31,-122, -66, -31,-124,-124, -31,-123, -83, -31,-122, -67, -31,-124,-124, -31, --123, -83, -31,-122, -68, -31,-124,-124, -31,-123, -83, -31,-122, -69, -31,-124,-124, -31,-123, -83, - -31,-122, -70, -31,-124,-124, -31,-123, -83, -31,-122, -71, -31,-124,-124, -31,-123, -83, -31,-122, - -72, -31,-124,-124, -31,-123, -83, -31,-122, -73, -31,-124,-124, -31,-123, -83, -31,-122, -74, -31, --124,-124, -31,-123, -83, -31,-122, -75, -31,-124,-124, -31,-123, -83, -31,-122, -76, -31,-124,-124, - -31,-123, -83, -31,-122, -77, -31,-124,-124, -31,-123, -83, -31,-122, -78, -31,-124,-124, -31,-123, - -83, -31,-122, -79, -31,-124,-124, -31,-123, -83, -31,-122, -80, -31,-124,-124, -31,-123, -83, -31, --122, -81, -31,-124,-124, -31,-123, -83, -31,-122, -82, -31,-124,-124, -31,-123, -83, -31,-122, -83, - -31,-124,-124, -31,-123, -83, -31,-122, -84, -31,-124,-124, -31,-123, -83, -31,-122, -85, -31,-124, --124, -31,-123, -83, -31,-122, -86, -31,-124,-124, -31,-123, -83, -31,-122, -87, -31,-124,-124, -31, --123, -83, -31,-122, -88, -31,-124,-124, -31,-123, -84, -31,-121,-126, -31,-124,-124, -31,-123, -84, - -31,-121,-127, -31,-124,-124, -31,-123, -84, -31,-121,-128, -31,-124,-124, -31,-123, -84, -31,-122, - -65, -31,-124,-124, -31,-123, -84, -31,-122, -66, -31,-124,-124, -31,-123, -84, -31,-122, -67, -31, --124,-124, -31,-123, -84, -31,-122, -68, -31,-124,-124, -31,-123, -84, -31,-122, -69, -31,-124,-124, - -31,-123, -84, -31,-122, -70, -31,-124,-124, -31,-123, -84, -31,-122, -71, -31,-124,-124, -31,-123, - -84, -31,-122, -72, -31,-124,-124, -31,-123, -84, -31,-122, -73, -31,-124,-124, -31,-123, -84, -31, --122, -74, -31,-124,-124, -31,-123, -84, -31,-122, -75, -31,-124,-124, -31,-123, -84, -31,-122, -76, - -31,-124,-124, -31,-123, -84, -31,-122, -77, -31,-124,-124, -31,-123, -84, -31,-122, -78, -31,-124, --124, -31,-123, -84, -31,-122, -79, -31,-124,-124, -31,-123, -84, -31,-122, -80, -31,-124,-124, -31, --123, -84, -31,-122, -81, -31,-124,-124, -31,-123, -84, -31,-122, -82, -31,-124,-124, -31,-123, -84, - -31,-122, -83, -31,-124,-124, -31,-123, -84, -31,-122, -84, -31,-124,-124, -31,-123, -84, -31,-122, - -85, -31,-124,-124, -31,-123, -84, -31,-122, -86, -31,-124,-124, -31,-123, -84, -31,-122, -87, -31, --124,-124, -31,-123, -84, -31,-122, -88, -31,-124,-124, -31,-123, -85, -31,-121,-126, -31,-124,-124, - -31,-123, -85, -31,-121,-127, -31,-124,-124, -31,-123, -85, -31,-121,-128, -31,-124,-124, -31,-123, - -85, -31,-122, -65, -31,-124,-124, -31,-123, -85, -31,-122, -66, -31,-124,-124, -31,-123, -85, -31, --122, -67, -31,-124,-124, -31,-123, -85, -31,-122, -68, -31,-124,-124, -31,-123, -85, -31,-122, -69, - -31,-124,-124, -31,-123, -85, -31,-122, -70, -31,-124,-124, -31,-123, -85, -31,-122, -71, -31,-124, --124, -31,-123, -85, -31,-122, -72, -31,-124,-124, -31,-123, -85, -31,-122, -73, -31,-124,-124, -31, --123, -85, -31,-122, -74, -31,-124,-124, -31,-123, -85, -31,-122, -75, -31,-124,-124, -31,-123, -85, - -31,-122, -76, -31,-124,-124, -31,-123, -85, -31,-122, -77, -31,-124,-124, -31,-123, -85, -31,-122, - -78, -31,-124,-124, -31,-123, -85, -31,-122, -79, -31,-124,-124, -31,-123, -85, -31,-122, -80, -31, --124,-124, -31,-123, -85, -31,-122, -81, -31,-124,-124, -31,-123, -85, -31,-122, -82, -31,-124,-124, - -31,-123, -85, -31,-122, -83, -31,-124,-124, -31,-123, -85, -31,-122, -84, -31,-124,-124, -31,-123, - -85, -31,-122, -85, -31,-124,-124, -31,-123, -85, -31,-122, -86, -31,-124,-124, -31,-123, -85, -31, --122, -87, -31,-124,-124, -31,-123, -85, -31,-122, -88, -31,-124,-124, -31,-123, -86, -31,-121,-126, - -31,-124,-124, -31,-123, -86, -31,-121,-127, -31,-124,-124, -31,-123, -86, -31,-121,-128, -31,-124, --124, -31,-123, -86, -31,-122, -65, -31,-124,-124, -31,-123, -86, -31,-122, -66, -31,-124,-124, -31, --123, -86, -31,-122, -67, -31,-124,-124, -31,-123, -86, -31,-122, -68, -31,-124,-124, -31,-123, -86, - -31,-122, -69, -31,-124,-124, -31,-123, -86, -31,-122, -70, -31,-124,-124, -31,-123, -86, -31,-122, - -71, -31,-124,-124, -31,-123, -86, -31,-122, -72, -31,-124,-124, -31,-123, -86, -31,-122, -73, -31, --124,-124, -31,-123, -86, -31,-122, -74, -31,-124,-124, -31,-123, -86, -31,-122, -75, -31,-124,-124, - -31,-123, -86, -31,-122, -76, -31,-124,-124, -31,-123, -86, -31,-122, -77, -31,-124,-124, -31,-123, - -86, -31,-122, -78, -31,-124,-124, -31,-123, -86, -31,-122, -79, -31,-124,-124, -31,-123, -86, -31, --122, -80, -31,-124,-124, -31,-123, -86, -31,-122, -81, -31,-124,-124, -31,-123, -86, -31,-122, -82, - -31,-124,-124, -31,-123, -86, -31,-122, -83, -31,-124,-124, -31,-123, -86, -31,-122, -84, -31,-124, --124, -31,-123, -86, -31,-122, -85, -31,-124,-124, -31,-123, -86, -31,-122, -86, -31,-124,-124, -31, --123, -86, -31,-122, -87, -31,-124,-124, -31,-123, -86, -31,-122, -88, -31,-124,-124, -31,-123, -87, - -31,-121,-126, -31,-124,-124, -31,-123, -87, -31,-121,-127, -31,-124,-124, -31,-123, -87, -31,-121, --128, -31,-124,-124, -31,-123, -87, -31,-122, -65, -31,-124,-124, -31,-123, -87, -31,-122, -66, -31, --124,-124, -31,-123, -87, -31,-122, -67, -31,-124,-124, -31,-123, -87, -31,-122, -68, -31,-124,-124, - -31,-123, -87, -31,-122, -69, -31,-124,-124, -31,-123, -87, -31,-122, -70, -31,-124,-124, -31,-123, - -87, -31,-122, -71, -31,-124,-124, -31,-123, -87, -31,-122, -72, -31,-124,-124, -31,-123, -87, -31, --122, -73, -31,-124,-124, -31,-123, -87, -31,-122, -74, -31,-124,-124, -31,-123, -87, -31,-122, -75, - -31,-124,-124, -31,-123, -87, -31,-122, -76, -31,-124,-124, -31,-123, -87, -31,-122, -77, -31,-124, --124, -31,-123, -87, -31,-122, -78, -31,-124,-124, -31,-123, -87, -31,-122, -79, -31,-124,-124, -31, --123, -87, -31,-122, -80, -31,-124,-124, -31,-123, -87, -31,-122, -81, -31,-124,-124, -31,-123, -87, - -31,-122, -82, -31,-124,-124, -31,-123, -87, -31,-122, -83, -31,-124,-124, -31,-123, -87, -31,-122, - -84, -31,-124,-124, -31,-123, -87, -31,-122, -85, -31,-124,-124, -31,-123, -87, -31,-122, -86, -31, --124,-124, -31,-123, -87, -31,-122, -87, -31,-124,-124, -31,-123, -87, -31,-122, -88, -31,-124,-124, - -31,-123, -88, -31,-121,-126, -31,-124,-124, -31,-123, -88, -31,-121,-127, -31,-124,-124, -31,-123, - -88, -31,-121,-128, -31,-124,-124, -31,-123, -88, -31,-122, -65, -31,-124,-124, -31,-123, -88, -31, --122, -66, -31,-124,-124, -31,-123, -88, -31,-122, -67, -31,-124,-124, -31,-123, -88, -31,-122, -68, - -31,-124,-124, -31,-123, -88, -31,-122, -69, -31,-124,-124, -31,-123, -88, -31,-122, -70, -31,-124, --124, -31,-123, -88, -31,-122, -71, -31,-124,-124, -31,-123, -88, -31,-122, -72, -31,-124,-124, -31, --123, -88, -31,-122, -73, -31,-124,-124, -31,-123, -88, -31,-122, -74, -31,-124,-124, -31,-123, -88, - -31,-122, -75, -31,-124,-124, -31,-123, -88, -31,-122, -76, -31,-124,-124, -31,-123, -88, -31,-122, - -77, -31,-124,-124, -31,-123, -88, -31,-122, -78, -31,-124,-124, -31,-123, -88, -31,-122, -79, -31, --124,-124, -31,-123, -88, -31,-122, -80, -31,-124,-124, -31,-123, -88, -31,-122, -81, -31,-124,-124, - -31,-123, -88, -31,-122, -82, -31,-124,-124, -31,-123, -88, -31,-122, -83, -31,-124,-124, -31,-123, - -88, -31,-122, -84, -31,-124,-124, -31,-123, -88, -31,-122, -85, -31,-124,-124, -31,-123, -88, -31, --122, -86, -31,-124,-124, -31,-123, -88, -31,-122, -87, -31,-124,-124, -31,-123, -88, -31,-122, -88, - -31,-124,-124, -31,-123, -89, -31,-121,-126, -31,-124,-124, -31,-123, -89, -31,-121,-127, -31,-124, --124, -31,-123, -89, -31,-121,-128, -31,-124,-124, -31,-123, -89, -31,-122, -65, -31,-124,-124, -31, --123, -89, -31,-122, -66, -31,-124,-124, -31,-123, -89, -31,-122, -67, -31,-124,-124, -31,-123, -89, - -31,-122, -68, -31,-124,-124, -31,-123, -89, -31,-122, -69, -31,-124,-124, -31,-123, -89, -31,-122, - -70, -31,-124,-124, -31,-123, -89, -31,-122, -71, -31,-124,-124, -31,-123, -89, -31,-122, -72, -31, --124,-124, -31,-123, -89, -31,-122, -73, -31,-124,-124, -31,-123, -89, -31,-122, -74, -31,-124,-124, - -31,-123, -89, -31,-122, -75, -31,-124,-124, -31,-123, -89, -31,-122, -76, -31,-124,-124, -31,-123, - -89, -31,-122, -77, -31,-124,-124, -31,-123, -89, -31,-122, -78, -31,-124,-124, -31,-123, -89, -31, --122, -79, -31,-124,-124, -31,-123, -89, -31,-122, -80, -31,-124,-124, -31,-123, -89, -31,-122, -81, - -31,-124,-124, -31,-123, -89, -31,-122, -82, -31,-124,-124, -31,-123, -89, -31,-122, -83, -31,-124, --124, -31,-123, -89, -31,-122, -84, -31,-124,-124, -31,-123, -89, -31,-122, -85, -31,-124,-124, -31, --123, -89, -31,-122, -86, -31,-124,-124, -31,-123, -89, -31,-122, -87, -31,-124,-124, -31,-123, -89, - -31,-122, -88, -31,-124,-124, -31,-123, -90, -31,-121,-126, -31,-124,-124, -31,-123, -90, -31,-121, --127, -31,-124,-124, -31,-123, -90, -31,-121,-128, -31,-124,-124, -31,-123, -90, -31,-122, -65, -31, --124,-124, -31,-123, -90, -31,-122, -66, -31,-124,-124, -31,-123, -90, -31,-122, -67, -31,-124,-124, - -31,-123, -90, -31,-122, -68, -31,-124,-124, -31,-123, -90, -31,-122, -69, -31,-124,-124, -31,-123, - -90, -31,-122, -70, -31,-124,-124, -31,-123, -90, -31,-122, -71, -31,-124,-124, -31,-123, -90, -31, --122, -72, -31,-124,-124, -31,-123, -90, -31,-122, -73, -31,-124,-124, -31,-123, -90, -31,-122, -74, - -31,-124,-124, -31,-123, -90, -31,-122, -75, -31,-124,-124, -31,-123, -90, -31,-122, -76, -31,-124, --124, -31,-123, -90, -31,-122, -77, -31,-124,-124, -31,-123, -90, -31,-122, -78, -31,-124,-124, -31, --123, -90, -31,-122, -79, -31,-124,-124, -31,-123, -90, -31,-122, -80, -31,-124,-124, -31,-123, -90, - -31,-122, -81, -31,-124,-124, -31,-123, -90, -31,-122, -82, -31,-124,-124, -31,-123, -90, -31,-122, - -83, -31,-124,-124, -31,-123, -90, -31,-122, -84, -31,-124,-124, -31,-123, -90, -31,-122, -85, -31, --124,-124, -31,-123, -90, -31,-122, -86, -31,-124,-124, -31,-123, -90, -31,-122, -87, -31,-124,-124, - -31,-123, -90, -31,-122, -88, -31,-124,-124, -31,-123, -91, -31,-121,-126, -31,-124,-124, -31,-123, - -91, -31,-121,-127, -31,-124,-124, -31,-123, -91, -31,-121,-128, -31,-124,-124, -31,-123, -91, -31, --122, -65, -31,-124,-124, -31,-123, -91, -31,-122, -66, -31,-124,-124, -31,-123, -91, -31,-122, -67, - -31,-124,-124, -31,-123, -91, -31,-122, -68, -31,-124,-124, -31,-123, -91, -31,-122, -69, -31,-124, --124, -31,-123, -91, -31,-122, -70, -31,-124,-124, -31,-123, -91, -31,-122, -71, -31,-124,-124, -31, --123, -91, -31,-122, -72, -31,-124,-124, -31,-123, -91, -31,-122, -73, -31,-124,-124, -31,-123, -91, - -31,-122, -74, -31,-124,-124, -31,-123, -91, -31,-122, -75, -31,-124,-124, -31,-123, -91, -31,-122, - -76, -31,-124,-124, -31,-123, -91, -31,-122, -77, -31,-124,-124, -31,-123, -91, -31,-122, -78, -31, --124,-124, -31,-123, -91, -31,-122, -79, -31,-124,-124, -31,-123, -91, -31,-122, -80, -31,-124,-124, - -31,-123, -91, -31,-122, -81, -31,-124,-124, -31,-123, -91, -31,-122, -82, -31,-124,-124, -31,-123, - -91, -31,-122, -83, -31,-124,-124, -31,-123, -91, -31,-122, -84, -31,-124,-124, -31,-123, -91, -31, --122, -85, -31,-124,-124, -31,-123, -91, -31,-122, -86, -31,-124,-124, -31,-123, -91, -31,-122, -87, - -31,-124,-124, -31,-123, -91, -31,-122, -88, -31,-124,-124, -31,-123, -92, -31,-121,-126, -31,-124, --124, -31,-123, -92, -31,-121,-127, -31,-124,-124, -31,-123, -92, -31,-121,-128, -31,-124,-124, -31, --123, -92, -31,-122, -65, -31,-124,-124, -31,-123, -92, -31,-122, -66, -31,-124,-124, -31,-123, -92, - -31,-122, -67, -31,-124,-124, -31,-123, -92, -31,-122, -68, -31,-124,-124, -31,-123, -92, -31,-122, - -69, -31,-124,-124, -31,-123, -92, -31,-122, -70, -31,-124,-124, -31,-123, -92, -31,-122, -71, -31, --124,-124, -31,-123, -92, -31,-122, -72, -31,-124,-124, -31,-123, -92, -31,-122, -73, -31,-124,-124, - -31,-123, -92, -31,-122, -74, -31,-124,-124, -31,-123, -92, -31,-122, -75, -31,-124,-124, -31,-123, - -92, -31,-122, -76, -31,-124,-124, -31,-123, -92, -31,-122, -77, -31,-124,-124, -31,-123, -92, -31, --122, -78, -31,-124,-124, -31,-123, -92, -31,-122, -79, -31,-124,-124, -31,-123, -92, -31,-122, -80, - -31,-124,-124, -31,-123, -92, -31,-122, -81, -31,-124,-124, -31,-123, -92, -31,-122, -82, -31,-124, --124, -31,-123, -92, -31,-122, -83, -31,-124,-124, -31,-123, -92, -31,-122, -84, -31,-124,-124, -31, --123, -92, -31,-122, -85, -31,-124,-124, -31,-123, -92, -31,-122, -86, -31,-124,-124, -31,-123, -92, - -31,-122, -87, -31,-124,-124, -31,-123, -92, -31,-122, -88, -31,-124,-124, -31,-123, -93, -31,-121, --126, -31,-124,-124, -31,-123, -93, -31,-121,-127, -31,-124,-124, -31,-123, -93, -31,-121,-128, -31, --124,-124, -31,-123, -93, -31,-122, -65, -31,-124,-124, -31,-123, -93, -31,-122, -66, -31,-124,-124, - -31,-123, -93, -31,-122, -67, -31,-124,-124, -31,-123, -93, -31,-122, -68, -31,-124,-124, -31,-123, - -93, -31,-122, -69, -31,-124,-124, -31,-123, -93, -31,-122, -70, -31,-124,-124, -31,-123, -93, -31, --122, -71, -31,-124,-124, -31,-123, -93, -31,-122, -72, -31,-124,-124, -31,-123, -93, -31,-122, -73, - -31,-124,-124, -31,-123, -93, -31,-122, -74, -31,-124,-124, -31,-123, -93, -31,-122, -75, -31,-124, --124, -31,-123, -93, -31,-122, -76, -31,-124,-124, -31,-123, -93, -31,-122, -77, -31,-124,-124, -31, --123, -93, -31,-122, -78, -31,-124,-124, -31,-123, -93, -31,-122, -79, -31,-124,-124, -31,-123, -93, - -31,-122, -80, -31,-124,-124, -31,-123, -93, -31,-122, -81, -31,-124,-124, -31,-123, -93, -31,-122, - -82, -31,-124,-124, -31,-123, -93, -31,-122, -83, -31,-124,-124, -31,-123, -93, -31,-122, -84, -31, --124,-124, -31,-123, -93, -31,-122, -85, -31,-124,-124, -31,-123, -93, -31,-122, -86, -31,-124,-124, - -31,-123, -93, -31,-122, -87, -31,-124,-124, -31,-123, -93, -31,-122, -88, -31,-124,-124, -31,-123, - -94, -31,-121,-126, -31,-124,-124, -31,-123, -94, -31,-121,-127, -31,-124,-124, -31,-123, -94, -31, --121,-128, -31,-124,-124, -31,-123, -94, -31,-122, -65, -31,-124,-124, -31,-123, -94, -31,-122, -66, - -31,-124,-124, -31,-123, -94, -31,-122, -67, -31,-124,-124, -31,-123, -94, -31,-122, -68, -31,-124, --124, -31,-123, -94, -31,-122, -69, -31,-124,-124, -31,-123, -94, -31,-122, -70, -31,-124,-124, -31, --123, -94, -31,-122, -71, -31,-124,-124, -31,-123, -94, -31,-122, -72, -31,-124,-124, -31,-123, -94, - -31,-122, -73, -31,-124,-124, -31,-123, -94, -31,-122, -74, -31,-124,-124, -31,-123, -94, -31,-122, - -75, -31,-124,-124, -31,-123, -94, -31,-122, -76, -31,-124,-124, -31,-123, -94, -31,-122, -77, -31, --124,-124, -31,-123, -94, -31,-122, -78, -31,-124,-124, -31,-123, -94, -31,-122, -79, -31,-124,-124, - -31,-123, -94, -31,-122, -80, -31,-124,-124, -31,-123, -94, -31,-122, -81, -31,-124,-124, -31,-123, - -94, -31,-122, -82, -31,-124,-124, -31,-123, -94, -31,-122, -83, -31,-124,-124, -31,-123, -94, -31, --122, -84, -31,-124,-124, -31,-123, -94, -31,-122, -85, -31,-124,-124, -31,-123, -94, -31,-122, -86, - -31,-124,-124, -31,-123, -94, -31,-122, -87, -31,-124,-124, -31,-123, -94, -31,-122, -88, -31,-124, --124, -31,-123, -95, -31,-121,-126, -31,-124,-124, -31,-123, -95, -31,-121,-127, -31,-124,-124, -31, --123, -95, -31,-121,-128, -31,-124,-124, -31,-123, -95, -31,-122, -65, -31,-124,-124, -31,-123, -95, - -31,-122, -66, -31,-124,-124, -31,-123, -95, -31,-122, -67, -31,-124,-124, -31,-123, -95, -31,-122, - -68, -31,-124,-124, -31,-123, -95, -31,-122, -69, -31,-124,-124, -31,-123, -95, -31,-122, -70, -31, --124,-124, -31,-123, -95, -31,-122, -71, -31,-124,-124, -31,-123, -95, -31,-122, -72, -31,-124,-124, - -31,-123, -95, -31,-122, -73, -31,-124,-124, -31,-123, -95, -31,-122, -74, -31,-124,-124, -31,-123, - -95, -31,-122, -75, -31,-124,-124, -31,-123, -95, -31,-122, -76, -31,-124,-124, -31,-123, -95, -31, --122, -77, -31,-124,-124, -31,-123, -95, -31,-122, -78, -31,-124,-124, -31,-123, -95, -31,-122, -79, - -31,-124,-124, -31,-123, -95, -31,-122, -80, -31,-124,-124, -31,-123, -95, -31,-122, -81, -31,-124, --124, -31,-123, -95, -31,-122, -82, -31,-124,-124, -31,-123, -95, -31,-122, -83, -31,-124,-124, -31, --123, -95, -31,-122, -84, -31,-124,-124, -31,-123, -95, -31,-122, -85, -31,-124,-124, -31,-123, -95, - -31,-122, -86, -31,-124,-124, -31,-123, -95, -31,-122, -87, -31,-124,-124, -31,-123, -95, -31,-122, - -88, -31,-124,-125, -31,-123, -75, -31,-121,-126, -31,-124,-125, -31,-123, -75, -31,-121,-127, -31, --124,-125, -31,-123, -75, -31,-121,-128, -31,-124,-125, -31,-123, -75, -31,-122, -65, -31,-124,-125, - -31,-123, -75, -31,-122, -66, -31,-124,-125, -31,-123, -75, -31,-122, -67, -31,-124,-125, -31,-123, - -75, -31,-122, -68, -31,-124,-125, -31,-123, -75, -31,-122, -69, -31,-124,-125, -31,-123, -75, -31, --122, -70, -31,-124,-125, -31,-123, -75, -31,-122, -71, -31,-124,-125, -31,-123, -75, -31,-122, -72, - -31,-124,-125, -31,-123, -75, -31,-122, -73, -31,-124,-125, -31,-123, -75, -31,-122, -74, -31,-124, --125, -31,-123, -75, -31,-122, -75, -31,-124,-125, -31,-123, -75, -31,-122, -76, -31,-124,-125, -31, --123, -75, -31,-122, -77, -31,-124,-125, -31,-123, -75, -31,-122, -78, -31,-124,-125, -31,-123, -75, - -31,-122, -79, -31,-124,-125, -31,-123, -75, -31,-122, -80, -31,-124,-125, -31,-123, -75, -31,-122, - -81, -31,-124,-125, -31,-123, -75, -31,-122, -82, -31,-124,-125, -31,-123, -75, -31,-122, -83, -31, --124,-125, -31,-123, -75, -31,-122, -84, -31,-124,-125, -31,-123, -75, -31,-122, -85, -31,-124,-125, - -31,-123, -75, -31,-122, -86, -31,-124,-125, -31,-123, -75, -31,-122, -87, -31,-124,-125, -31,-123, - -75, -31,-122, -88, -31,-124,-125, -31,-123, -76, -31,-121,-126, -31,-124,-125, -31,-123, -76, -31, --121,-127, -31,-124,-125, -31,-123, -76, -31,-121,-128, -31,-124,-125, -31,-123, -76, -31,-122, -65, - -31,-124,-125, -31,-123, -76, -31,-122, -66, -31,-124,-125, -31,-123, -76, -31,-122, -67, -31,-124, --125, -31,-123, -76, -31,-122, -68, -31,-124,-125, -31,-123, -76, -31,-122, -69, -31,-124,-125, -31, --123, -76, -31,-122, -70, -31,-124,-125, -31,-123, -76, -31,-122, -71, -31,-124,-125, -31,-123, -76, - -31,-122, -72, -31,-124,-125, -31,-123, -76, -31,-122, -73, -31,-124,-125, -31,-123, -76, -31,-122, - -74, -31,-124,-125, -31,-123, -76, -31,-122, -75, -31,-124,-125, -31,-123, -76, -31,-122, -76, -31, --124,-125, -31,-123, -76, -31,-122, -77, -31,-124,-125, -31,-123, -76, -31,-122, -78, -31,-124,-125, - -31,-123, -76, -31,-122, -79, -31,-124,-125, -31,-123, -76, -31,-122, -80, -31,-124,-125, -31,-123, - -76, -31,-122, -81, -31,-124,-125, -31,-123, -76, -31,-122, -82, -31,-124,-125, -31,-123, -76, -31, --122, -83, -31,-124,-125, -31,-123, -76, -31,-122, -84, -31,-124,-125, -31,-123, -76, -31,-122, -85, - -31,-124,-125, -31,-123, -76, -31,-122, -86, -31,-124,-125, -31,-123, -76, -31,-122, -87, -31,-124, --125, -31,-123, -76, -31,-122, -88, -31,-124,-125, -31,-123, -77, -31,-121,-126, -31,-124,-125, -31, --123, -77, -31,-121,-127, -31,-124,-125, -31,-123, -77, -31,-121,-128, -31,-124,-125, -31,-123, -77, - -31,-122, -65, -31,-124,-125, -31,-123, -77, -31,-122, -66, -31,-124,-125, -31,-123, -77, -31,-122, - -67, -31,-124,-125, -31,-123, -77, -31,-122, -68, -31,-124,-125, -31,-123, -77, -31,-122, -69, -31, --124,-125, -31,-123, -77, -31,-122, -70, -31,-124,-125, -31,-123, -77, -31,-122, -71, -31,-124,-125, - -31,-123, -77, -31,-122, -72, -31,-124,-125, -31,-123, -77, -31,-122, -73, -31,-124,-125, -31,-123, - -77, -31,-122, -74, -31,-124,-125, -31,-123, -77, -31,-122, -75, -31,-124,-125, -31,-123, -77, -31, --122, -76, -31,-124,-125, -31,-123, -77, -31,-122, -77, -31,-124,-125, -31,-123, -77, -31,-122, -78, - -31,-124,-125, -31,-123, -77, -31,-122, -79, -31,-124,-125, -31,-123, -77, -31,-122, -80, -31,-124, --125, -31,-123, -77, -31,-122, -81, -31,-124,-125, -31,-123, -77, -31,-122, -82, -31,-124,-125, -31, --123, -77, -31,-122, -83, -31,-124,-125, -31,-123, -77, -31,-122, -84, -31,-124,-125, -31,-123, -77, - -31,-122, -85, -31,-124,-125, -31,-123, -77, -31,-122, -86, -31,-124,-125, -31,-123, -77, -31,-122, - -87, -31,-124,-125, -31,-123, -77, -31,-122, -88, -31,-124,-125, -31,-123, -78, -31,-121,-126, -31, --124,-125, -31,-123, -78, -31,-121,-127, -31,-124,-125, -31,-123, -78, -31,-121,-128, -31,-124,-125, - -31,-123, -78, -31,-122, -65, -31,-124,-125, -31,-123, -78, -31,-122, -66, -31,-124,-125, -31,-123, - -78, -31,-122, -67, -31,-124,-125, -31,-123, -78, -31,-122, -68, -31,-124,-125, -31,-123, -78, -31, --122, -69, -31,-124,-125, -31,-123, -78, -31,-122, -70, -31,-124,-125, -31,-123, -78, -31,-122, -71, - -31,-124,-125, -31,-123, -78, -31,-122, -72, -31,-124,-125, -31,-123, -78, -31,-122, -73, -31,-124, --125, -31,-123, -78, -31,-122, -74, -31,-124,-125, -31,-123, -78, -31,-122, -75, -31,-124,-125, -31, --123, -78, -31,-122, -76, -31,-124,-125, -31,-123, -78, -31,-122, -77, -31,-124,-125, -31,-123, -78, - -31,-122, -78, -31,-124,-125, -31,-123, -78, -31,-122, -79, -31,-124,-125, -31,-123, -78, -31,-122, - -80, -31,-124,-125, -31,-123, -78, -31,-122, -81, -31,-124,-125, -31,-123, -78, -31,-122, -82, -31, --124,-125, -31,-123, -78, -31,-122, -83, -31,-124,-125, -31,-123, -78, -31,-122, -84, -31,-124,-125, - -31,-123, -78, -31,-122, -85, -31,-124,-125, -31,-123, -78, -31,-122, -86, -31,-124,-125, -31,-123, - -78, -31,-122, -87, -31,-124,-125, -31,-123, -78, -31,-122, -88, -31,-124,-125, -31,-123, -79, -31, --121,-126, -31,-124,-125, -31,-123, -79, -31,-121,-127, -31,-124,-125, -31,-123, -79, -31,-121,-128, - -31,-124,-125, -31,-123, -79, -31,-122, -65, -31,-124,-125, -31,-123, -79, -31,-122, -66, -31,-124, --125, -31,-123, -79, -31,-122, -67, -31,-124,-125, -31,-123, -79, -31,-122, -68, -31,-124,-125, -31, --123, -79, -31,-122, -69, -31,-124,-125, -31,-123, -79, -31,-122, -70, -31,-124,-125, -31,-123, -79, - -31,-122, -71, -31,-124,-125, -31,-123, -79, -31,-122, -72, -31,-124,-125, -31,-123, -79, -31,-122, - -73, -31,-124,-125, -31,-123, -79, -31,-122, -74, -31,-124,-125, -31,-123, -79, -31,-122, -75, -31, --124,-125, -31,-123, -79, -31,-122, -76, -31,-124,-125, -31,-123, -79, -31,-122, -77, -31,-124,-125, - -31,-123, -79, -31,-122, -78, -31,-124,-125, -31,-123, -79, -31,-122, -79, -31,-124,-125, -31,-123, - -79, -31,-122, -80, -31,-124,-125, -31,-123, -79, -31,-122, -81, -31,-124,-125, -31,-123, -79, -31, --122, -82, -31,-124,-125, -31,-123, -79, -31,-122, -83, -31,-124,-125, -31,-123, -79, -31,-122, -84, - -31,-124,-125, -31,-123, -79, -31,-122, -85, -31,-124,-125, -31,-123, -79, -31,-122, -86, -31,-124, --125, -31,-123, -79, -31,-122, -87, -31,-124,-125, -31,-123, -79, -31,-122, -88, -31,-124,-125, -31, --123, -80, -31,-121,-126, -31,-124,-125, -31,-123, -80, -31,-121,-127, -31,-124,-125, -31,-123, -80, - -31,-121,-128, -31,-124,-125, -31,-123, -80, -31,-122, -65, -31,-124,-125, -31,-123, -80, -31,-122, - -66, -31,-124,-125, -31,-123, -80, -31,-122, -67, -31,-124,-125, -31,-123, -80, -31,-122, -68, -31, --124,-125, -31,-123, -80, -31,-122, -69, -31,-124,-125, -31,-123, -80, -31,-122, -70, -31,-124,-125, - -31,-123, -80, -31,-122, -71, -31,-124,-125, -31,-123, -80, -31,-122, -72, -31,-124,-125, -31,-123, - -80, -31,-122, -73, -31,-124,-125, -31,-123, -80, -31,-122, -74, -31,-124,-125, -31,-123, -80, -31, --122, -75, -31,-124,-125, -31,-123, -80, -31,-122, -76, -31,-124,-125, -31,-123, -80, -31,-122, -77, - -31,-124,-125, -31,-123, -80, -31,-122, -78, -31,-124,-125, -31,-123, -80, -31,-122, -79, -31,-124, --125, -31,-123, -80, -31,-122, -80, -31,-124,-125, -31,-123, -80, -31,-122, -81, -31,-124,-125, -31, --123, -80, -31,-122, -82, -31,-124,-125, -31,-123, -80, -31,-122, -83, -31,-124,-125, -31,-123, -80, - -31,-122, -84, -31,-124,-125, -31,-123, -80, -31,-122, -85, -31,-124,-125, -31,-123, -80, -31,-122, - -86, -31,-124,-125, -31,-123, -80, -31,-122, -87, -31,-124,-125, -31,-123, -80, -31,-122, -88, -31, --124,-125, -31,-123, -81, -31,-121,-126, -31,-124,-125, -31,-123, -81, -31,-121,-127, -31,-124,-125, - -31,-123, -81, -31,-121,-128, -31,-124,-125, -31,-123, -81, -31,-122, -65, -31,-124,-125, -31,-123, - -81, -31,-122, -66, -31,-124,-125, -31,-123, -81, -31,-122, -67, -31,-124,-125, -31,-123, -81, -31, --122, -68, -31,-124,-125, -31,-123, -81, -31,-122, -69, -31,-124,-125, -31,-123, -81, -31,-122, -70, - -31,-124,-125, -31,-123, -81, -31,-122, -71, -31,-124,-125, -31,-123, -81, -31,-122, -72, -31,-124, --125, -31,-123, -81, -31,-122, -73, -31,-124,-125, -31,-123, -81, -31,-122, -74, -31,-124,-125, -31, --123, -81, -31,-122, -75, -31,-124,-125, -31,-123, -81, -31,-122, -76, -31,-124,-125, -31,-123, -81, - -31,-122, -77, -31,-124,-125, -31,-123, -81, -31,-122, -78, -31,-124,-125, -31,-123, -81, -31,-122, - -79, -31,-124,-125, -31,-123, -81, -31,-122, -80, -31,-124,-125, -31,-123, -81, -31,-122, -81, -31, --124,-125, -31,-123, -81, -31,-122, -82, -31,-124,-125, -31,-123, -81, -31,-122, -83, -31,-124,-125, - -31,-123, -81, -31,-122, -84, -31,-124,-125, -31,-123, -81, -31,-122, -85, -31,-124,-125, -31,-123, - -81, -31,-122, -86, -31,-124,-125, -31,-123, -81, -31,-122, -87, -31,-124,-125, -31,-123, -81, -31, --122, -88, -31,-124,-125, -31,-123, -82, -31,-121,-126, -31,-124,-125, -31,-123, -82, -31,-121,-127, - -31,-124,-125, -31,-123, -82, -31,-121,-128, -31,-124,-125, -31,-123, -82, -31,-122, -65, -31,-124, --125, -31,-123, -82, -31,-122, -66, -31,-124,-125, -31,-123, -82, -31,-122, -67, -31,-124,-125, -31, --123, -82, -31,-122, -68, -31,-124,-125, -31,-123, -82, -31,-122, -69, -31,-124,-125, -31,-123, -82, - -31,-122, -70, -31,-124,-125, -31,-123, -82, -31,-122, -71, -31,-124,-125, -31,-123, -82, -31,-122, - -72, -31,-124,-125, -31,-123, -82, -31,-122, -73, -31,-124,-125, -31,-123, -82, -31,-122, -74, -31, --124,-125, -31,-123, -82, -31,-122, -75, -31,-124,-125, -31,-123, -82, -31,-122, -76, -31,-124,-125, - -31,-123, -82, -31,-122, -77, -31,-124,-125, -31,-123, -82, -31,-122, -78, -31,-124,-125, -31,-123, - -82, -31,-122, -79, -31,-124,-125, -31,-123, -82, -31,-122, -80, -31,-124,-125, -31,-123, -82, -31, --122, -81, -31,-124,-125, -31,-123, -82, -31,-122, -82, -31,-124,-125, -31,-123, -82, -31,-122, -83, - -31,-124,-125, -31,-123, -82, -31,-122, -84, -31,-124,-125, -31,-123, -82, -31,-122, -85, -31,-124, --125, -31,-123, -82, -31,-122, -86, -31,-124,-125, -31,-123, -82, -31,-122, -87, -31,-124,-125, -31, --123, -82, -31,-122, -88, -31,-124,-125, -31,-123, -83, -31,-121,-126, -31,-124,-125, -31,-123, -83, - -31,-121,-127, -31,-124,-125, -31,-123, -83, -31,-121,-128, -31,-124,-125, -31,-123, -83, -31,-122, - -65, -31,-124,-125, -31,-123, -83, -31,-122, -66, -31,-124,-125, -31,-123, -83, -31,-122, -67, -31, --124,-125, -31,-123, -83, -31,-122, -68, -31,-124,-125, -31,-123, -83, -31,-122, -69, -31,-124,-125, - -31,-123, -83, -31,-122, -70, -31,-124,-125, -31,-123, -83, -31,-122, -71, -31,-124,-125, -31,-123, - -83, -31,-122, -72, -31,-124,-125, -31,-123, -83, -31,-122, -73, -31,-124,-125, -31,-123, -83, -31, --122, -74, -31,-124,-125, -31,-123, -83, -31,-122, -75, -31,-124,-125, -31,-123, -83, -31,-122, -76, - -31,-124,-125, -31,-123, -83, -31,-122, -77, -31,-124,-125, -31,-123, -83, -31,-122, -78, -31,-124, --125, -31,-123, -83, -31,-122, -79, -31,-124,-125, -31,-123, -83, -31,-122, -80, -31,-124,-125, -31, --123, -83, -31,-122, -81, -31,-124,-125, -31,-123, -83, -31,-122, -82, -31,-124,-125, -31,-123, -83, - -31,-122, -83, -31,-124,-125, -31,-123, -83, -31,-122, -84, -31,-124,-125, -31,-123, -83, -31,-122, - -85, -31,-124,-125, -31,-123, -83, -31,-122, -86, -31,-124,-125, -31,-123, -83, -31,-122, -87, -31, --124,-125, -31,-123, -83, -31,-122, -88, -31,-124,-125, -31,-123, -84, -31,-121,-126, -31,-124,-125, - -31,-123, -84, -31,-121,-127, -31,-124,-125, -31,-123, -84, -31,-121,-128, -31,-124,-125, -31,-123, - -84, -31,-122, -65, -31,-124,-125, -31,-123, -84, -31,-122, -66, -31,-124,-125, -31,-123, -84, -31, --122, -67, -31,-124,-125, -31,-123, -84, -31,-122, -68, -31,-124,-125, -31,-123, -84, -31,-122, -69, - -31,-124,-125, -31,-123, -84, -31,-122, -70, -31,-124,-125, -31,-123, -84, -31,-122, -71, -31,-124, --125, -31,-123, -84, -31,-122, -72, -31,-124,-125, -31,-123, -84, -31,-122, -73, -31,-124,-125, -31, --123, -84, -31,-122, -74, -31,-124,-125, -31,-123, -84, -31,-122, -75, -31,-124,-125, -31,-123, -84, - -31,-122, -76, -31,-124,-125, -31,-123, -84, -31,-122, -77, -31,-124,-125, -31,-123, -84, -31,-122, - -78, -31,-124,-125, -31,-123, -84, -31,-122, -79, -31,-124,-125, -31,-123, -84, -31,-122, -80, -31, --124,-125, -31,-123, -84, -31,-122, -81, -31,-124,-125, -31,-123, -84, -31,-122, -82, -31,-124,-125, - -31,-123, -84, -31,-122, -83, -31,-124,-125, -31,-123, -84, -31,-122, -84, -31,-124,-125, -31,-123, - -84, -31,-122, -85, -31,-124,-125, -31,-123, -84, -31,-122, -86, -31,-124,-125, -31,-123, -84, -31, --122, -87, -31,-124,-125, -31,-123, -84, -31,-122, -88, -31,-124,-125, -31,-123, -85, -31,-121,-126, - -31,-124,-125, -31,-123, -85, -31,-121,-127, -31,-124,-125, -31,-123, -85, -31,-121,-128, -31,-124, --125, -31,-123, -85, -31,-122, -65, -31,-124,-125, -31,-123, -85, -31,-122, -66, -31,-124,-125, -31, --123, -85, -31,-122, -67, -31,-124,-125, -31,-123, -85, -31,-122, -68, -31,-124,-125, -31,-123, -85, - -31,-122, -69, -31,-124,-125, -31,-123, -85, -31,-122, -70, -31,-124,-125, -31,-123, -85, -31,-122, - -71, -31,-124,-125, -31,-123, -85, -31,-122, -72, -31,-124,-125, -31,-123, -85, -31,-122, -73, -31, --124,-125, -31,-123, -85, -31,-122, -74, -31,-124,-125, -31,-123, -85, -31,-122, -75, -31,-124,-125, - -31,-123, -85, -31,-122, -76, -31,-124,-125, -31,-123, -85, -31,-122, -77, -31,-124,-125, -31,-123, - -85, -31,-122, -78, -31,-124,-125, -31,-123, -85, -31,-122, -79, -31,-124,-125, -31,-123, -85, -31, --122, -80, -31,-124,-125, -31,-123, -85, -31,-122, -81, -31,-124,-125, -31,-123, -85, -31,-122, -82, - -31,-124,-125, -31,-123, -85, -31,-122, -83, -31,-124,-125, -31,-123, -85, -31,-122, -84, -31,-124, --125, -31,-123, -85, -31,-122, -85, -31,-124,-125, -31,-123, -85, -31,-122, -86, -31,-124,-125, -31, --123, -85, -31,-122, -87, -31,-124,-125, -31,-123, -85, -31,-122, -88, -31,-124,-125, -31,-123, -86, - -31,-121,-126, -31,-124,-125, -31,-123, -86, -31,-121,-127, -31,-124,-125, -31,-123, -86, -31,-121, --128, -31,-124,-125, -31,-123, -86, -31,-122, -65, -31,-124,-125, -31,-123, -86, -31,-122, -66, -31, --124,-125, -31,-123, -86, -31,-122, -67, -31,-124,-125, -31,-123, -86, -31,-122, -68, -31,-124,-125, - -31,-123, -86, -31,-122, -69, -31,-124,-125, -31,-123, -86, -31,-122, -70, -31,-124,-125, -31,-123, - -86, -31,-122, -71, -31,-124,-125, -31,-123, -86, -31,-122, -72, -31,-124,-125, -31,-123, -86, -31, --122, -73, -31,-124,-125, -31,-123, -86, -31,-122, -74, -31,-124,-125, -31,-123, -86, -31,-122, -75, - -31,-124,-125, -31,-123, -86, -31,-122, -76, -31,-124,-125, -31,-123, -86, -31,-122, -77, -31,-124, --125, -31,-123, -86, -31,-122, -78, -31,-124,-125, -31,-123, -86, -31,-122, -79, -31,-124,-125, -31, --123, -86, -31,-122, -80, -31,-124,-125, -31,-123, -86, -31,-122, -81, -31,-124,-125, -31,-123, -86, - -31,-122, -82, -31,-124,-125, -31,-123, -86, -31,-122, -83, -31,-124,-125, -31,-123, -86, -31,-122, - -84, -31,-124,-125, -31,-123, -86, -31,-122, -85, -31,-124,-125, -31,-123, -86, -31,-122, -86, -31, --124,-125, -31,-123, -86, -31,-122, -87, -31,-124,-125, -31,-123, -86, -31,-122, -88, -31,-124,-125, - -31,-123, -87, -31,-121,-126, -31,-124,-125, -31,-123, -87, -31,-121,-127, -31,-124,-125, -31,-123, - -87, -31,-121,-128, -31,-124,-125, -31,-123, -87, -31,-122, -65, -31,-124,-125, -31,-123, -87, -31, --122, -66, -31,-124,-125, -31,-123, -87, -31,-122, -67, -31,-124,-125, -31,-123, -87, -31,-122, -68, - -31,-124,-125, -31,-123, -87, -31,-122, -69, -31,-124,-125, -31,-123, -87, -31,-122, -70, -31,-124, --125, -31,-123, -87, -31,-122, -71, -31,-124,-125, -31,-123, -87, -31,-122, -72, -31,-124,-125, -31, --123, -87, -31,-122, -73, -31,-124,-125, -31,-123, -87, -31,-122, -74, -31,-124,-125, -31,-123, -87, - -31,-122, -75, -31,-124,-125, -31,-123, -87, -31,-122, -76, -31,-124,-125, -31,-123, -87, -31,-122, - -77, -31,-124,-125, -31,-123, -87, -31,-122, -78, -31,-124,-125, -31,-123, -87, -31,-122, -79, -31, --124,-125, -31,-123, -87, -31,-122, -80, -31,-124,-125, -31,-123, -87, -31,-122, -81, -31,-124,-125, - -31,-123, -87, -31,-122, -82, -31,-124,-125, -31,-123, -87, -31,-122, -83, -31,-124,-125, -31,-123, - -87, -31,-122, -84, -31,-124,-125, -31,-123, -87, -31,-122, -85, -31,-124,-125, -31,-123, -87, -31, --122, -86, -31,-124,-125, -31,-123, -87, -31,-122, -87, -31,-124,-125, -31,-123, -87, -31,-122, -88, - -31,-124,-125, -31,-123, -88, -31,-121,-126, -31,-124,-125, -31,-123, -88, -31,-121,-127, -31,-124, --125, -31,-123, -88, -31,-121,-128, -31,-124,-125, -31,-123, -88, -31,-122, -65, -31,-124,-125, -31, --123, -88, -31,-122, -66, -31,-124,-125, -31,-123, -88, -31,-122, -67, -31,-124,-125, -31,-123, -88, - -31,-122, -68, -31,-124,-125, -31,-123, -88, -31,-122, -69, -31,-124,-125, -31,-123, -88, -31,-122, - -70, -31,-124,-125, -31,-123, -88, -31,-122, -71, -31,-124,-125, -31,-123, -88, -31,-122, -72, -31, --124,-125, -31,-123, -88, -31,-122, -73, -31,-124,-125, -31,-123, -88, -31,-122, -74, -31,-124,-125, - -31,-123, -88, -31,-122, -75, -31,-124,-125, -31,-123, -88, -31,-122, -76, -31,-124,-125, -31,-123, - -88, -31,-122, -77, -31,-124,-125, -31,-123, -88, -31,-122, -78, -31,-124,-125, -31,-123, -88, -31, --122, -79, -31,-124,-125, -31,-123, -88, -31,-122, -80, -31,-124,-125, -31,-123, -88, -31,-122, -81, - -31,-124,-125, -31,-123, -88, -31,-122, -82, -31,-124,-125, -31,-123, -88, -31,-122, -83, -31,-124, --125, -31,-123, -88, -31,-122, -84, -31,-124,-125, -31,-123, -88, -31,-122, -85, -31,-124,-125, -31, --123, -88, -31,-122, -86, -31,-124,-125, -31,-123, -88, -31,-122, -87, -31,-124,-125, -31,-123, -88, - -31,-122, -88, -31,-124,-125, -31,-123, -89, -31,-121,-126, -31,-124,-125, -31,-123, -89, -31,-121, --127, -31,-124,-125, -31,-123, -89, -31,-121,-128, -31,-124,-125, -31,-123, -89, -31,-122, -65, -31, --124,-125, -31,-123, -89, -31,-122, -66, -31,-124,-125, -31,-123, -89, -31,-122, -67, -31,-124,-125, - -31,-123, -89, -31,-122, -68, -31,-124,-125, -31,-123, -89, -31,-122, -69, -31,-124,-125, -31,-123, - -89, -31,-122, -70, -31,-124,-125, -31,-123, -89, -31,-122, -71, -31,-124,-125, -31,-123, -89, -31, --122, -72, -31,-124,-125, -31,-123, -89, -31,-122, -73, -31,-124,-125, -31,-123, -89, -31,-122, -74, - -31,-124,-125, -31,-123, -89, -31,-122, -75, -31,-124,-125, -31,-123, -89, -31,-122, -76, -31,-124, --125, -31,-123, -89, -31,-122, -77, -31,-124,-125, -31,-123, -89, -31,-122, -78, -31,-124,-125, -31, --123, -89, -31,-122, -79, -31,-124,-125, -31,-123, -89, -31,-122, -80, -31,-124,-125, -31,-123, -89, - -31,-122, -81, -31,-124,-125, -31,-123, -89, -31,-122, -82, -31,-124,-125, -31,-123, -89, -31,-122, - -83, -31,-124,-125, -31,-123, -89, -31,-122, -84, -31,-124,-125, -31,-123, -89, -31,-122, -85, -31, --124,-125, -31,-123, -89, -31,-122, -86, -31,-124,-125, -31,-123, -89, -31,-122, -87, -31,-124,-125, - -31,-123, -89, -31,-122, -88, -31,-124,-125, -31,-123, -90, -31,-121,-126, -31,-124,-125, -31,-123, - -90, -31,-121,-127, -31,-124,-125, -31,-123, -90, -31,-121,-128, -31,-124,-125, -31,-123, -90, -31, --122, -65, -31,-124,-125, -31,-123, -90, -31,-122, -66, -31,-124,-125, -31,-123, -90, -31,-122, -67, - -31,-124,-125, -31,-123, -90, -31,-122, -68, -31,-124,-125, -31,-123, -90, -31,-122, -69, -31,-124, --125, -31,-123, -90, -31,-122, -70, -31,-124,-125, -31,-123, -90, -31,-122, -71, -31,-124,-125, -31, --123, -90, -31,-122, -72, -31,-124,-125, -31,-123, -90, -31,-122, -73, -31,-124,-125, -31,-123, -90, - -31,-122, -74, -31,-124,-125, -31,-123, -90, -31,-122, -75, -31,-124,-125, -31,-123, -90, -31,-122, - -76, -31,-124,-125, -31,-123, -90, -31,-122, -77, -31,-124,-125, -31,-123, -90, -31,-122, -78, -31, --124,-125, -31,-123, -90, -31,-122, -79, -31,-124,-125, -31,-123, -90, -31,-122, -80, -31,-124,-125, - -31,-123, -90, -31,-122, -81, -31,-124,-125, -31,-123, -90, -31,-122, -82, -31,-124,-125, -31,-123, - -90, -31,-122, -83, -31,-124,-125, -31,-123, -90, -31,-122, -84, -31,-124,-125, -31,-123, -90, -31, --122, -85, -31,-124,-125, -31,-123, -90, -31,-122, -86, -31,-124,-125, -31,-123, -90, -31,-122, -87, - -31,-124,-125, -31,-123, -90, -31,-122, -88, -31,-124,-125, -31,-123, -91, -31,-121,-126, -31,-124, --125, -31,-123, -91, -31,-121,-127, -31,-124,-125, -31,-123, -91, -31,-121,-128, -31,-124,-125, -31, --123, -91, -31,-122, -65, -31,-124,-125, -31,-123, -91, -31,-122, -66, -31,-124,-125, -31,-123, -91, - -31,-122, -67, -31,-124,-125, -31,-123, -91, -31,-122, -68, -31,-124,-125, -31,-123, -91, -31,-122, - -69, -31,-124,-125, -31,-123, -91, -31,-122, -70, -31,-124,-125, -31,-123, -91, -31,-122, -71, -31, --124,-125, -31,-123, -91, -31,-122, -72, -31,-124,-125, -31,-123, -91, -31,-122, -73, -31,-124,-125, - -31,-123, -91, -31,-122, -74, -31,-124,-125, -31,-123, -91, -31,-122, -75, -31,-124,-125, -31,-123, - -91, -31,-122, -76, -31,-124,-125, -31,-123, -91, -31,-122, -77, -31,-124,-125, -31,-123, -91, -31, --122, -78, -31,-124,-125, -31,-123, -91, -31,-122, -79, -31,-124,-125, -31,-123, -91, -31,-122, -80, - -31,-124,-125, -31,-123, -91, -31,-122, -81, -31,-124,-125, -31,-123, -91, -31,-122, -82, -31,-124, --125, -31,-123, -91, -31,-122, -83, -31,-124,-125, -31,-123, -91, -31,-122, -84, -31,-124,-125, -31, --123, -91, -31,-122, -85, -31,-124,-125, -31,-123, -91, -31,-122, -86, -31,-124,-125, -31,-123, -91, - -31,-122, -87, -31,-124,-125, -31,-123, -91, -31,-122, -88, -31,-124,-125, -31,-123, -92, -31,-121, --126, -31,-124,-125, -31,-123, -92, -31,-121,-127, -31,-124,-125, -31,-123, -92, -31,-121,-128, -31, --124,-125, -31,-123, -92, -31,-122, -65, -31,-124,-125, -31,-123, -92, -31,-122, -66, -31,-124,-125, - -31,-123, -92, -31,-122, -67, -31,-124,-125, -31,-123, -92, -31,-122, -68, -31,-124,-125, -31,-123, - -92, -31,-122, -69, -31,-124,-125, -31,-123, -92, -31,-122, -70, -31,-124,-125, -31,-123, -92, -31, --122, -71, -31,-124,-125, -31,-123, -92, -31,-122, -72, -31,-124,-125, -31,-123, -92, -31,-122, -73, - -31,-124,-125, -31,-123, -92, -31,-122, -74, -31,-124,-125, -31,-123, -92, -31,-122, -75, -31,-124, --125, -31,-123, -92, -31,-122, -76, -31,-124,-125, -31,-123, -92, -31,-122, -77, -31,-124,-125, -31, --123, -92, -31,-122, -78, -31,-124,-125, -31,-123, -92, -31,-122, -79, -31,-124,-125, -31,-123, -92, - -31,-122, -80, -31,-124,-125, -31,-123, -92, -31,-122, -81, -31,-124,-125, -31,-123, -92, -31,-122, - -82, -31,-124,-125, -31,-123, -92, -31,-122, -83, -31,-124,-125, -31,-123, -92, -31,-122, -84, -31, --124,-125, -31,-123, -92, -31,-122, -85, -31,-124,-125, -31,-123, -92, -31,-122, -86, -31,-124,-125, - -31,-123, -92, -31,-122, -87, -31,-124,-125, -31,-123, -92, -31,-122, -88, -31,-124,-125, -31,-123, - -93, -31,-121,-126, -31,-124,-125, -31,-123, -93, -31,-121,-127, -31,-124,-125, -31,-123, -93, -31, --121,-128, -31,-124,-125, -31,-123, -93, -31,-122, -65, -31,-124,-125, -31,-123, -93, -31,-122, -66, - -31,-124,-125, -31,-123, -93, -31,-122, -67, -31,-124,-125, -31,-123, -93, -31,-122, -68, -31,-124, --125, -31,-123, -93, -31,-122, -69, -31,-124,-125, -31,-123, -93, -31,-122, -70, -31,-124,-125, -31, --123, -93, -31,-122, -71, -31,-124,-125, -31,-123, -93, -31,-122, -72, -31,-124,-125, -31,-123, -93, - -31,-122, -73, -31,-124,-125, -31,-123, -93, -31,-122, -74, -31,-124,-125, -31,-123, -93, -31,-122, - -75, -31,-124,-125, -31,-123, -93, -31,-122, -76, -31,-124,-125, -31,-123, -93, -31,-122, -77, -31, --124,-125, -31,-123, -93, -31,-122, -78, -31,-124,-125, -31,-123, -93, -31,-122, -79, -31,-124,-125, - -31,-123, -93, -31,-122, -80, -31,-124,-125, -31,-123, -93, -31,-122, -81, -31,-124,-125, -31,-123, - -93, -31,-122, -82, -31,-124,-125, -31,-123, -93, -31,-122, -83, -31,-124,-125, -31,-123, -93, -31, --122, -84, -31,-124,-125, -31,-123, -93, -31,-122, -85, -31,-124,-125, -31,-123, -93, -31,-122, -86, - -31,-124,-125, -31,-123, -93, -31,-122, -87, -31,-124,-125, -31,-123, -93, -31,-122, -88, -31,-124, --125, -31,-123, -94, -31,-121,-126, -31,-124,-125, -31,-123, -94, -31,-121,-127, -31,-124,-125, -31, --123, -94, -31,-121,-128, -31,-124,-125, -31,-123, -94, -31,-122, -65, -31,-124,-125, -31,-123, -94, - -31,-122, -66, -31,-124,-125, -31,-123, -94, -31,-122, -67, -31,-124,-125, -31,-123, -94, -31,-122, - -68, -31,-124,-125, -31,-123, -94, -31,-122, -69, -31,-124,-125, -31,-123, -94, -31,-122, -70, -31, --124,-125, -31,-123, -94, -31,-122, -71, -31,-124,-125, -31,-123, -94, -31,-122, -72, -31,-124,-125, - -31,-123, -94, -31,-122, -73, -31,-124,-125, -31,-123, -94, -31,-122, -74, -31,-124,-125, -31,-123, - -94, -31,-122, -75, -31,-124,-125, -31,-123, -94, -31,-122, -76, -31,-124,-125, -31,-123, -94, -31, --122, -77, -31,-124,-125, -31,-123, -94, -31,-122, -78, -31,-124,-125, -31,-123, -94, -31,-122, -79, - -31,-124,-125, -31,-123, -94, -31,-122, -80, -31,-124,-125, -31,-123, -94, -31,-122, -81, -31,-124, --125, -31,-123, -94, -31,-122, -82, -31,-124,-125, -31,-123, -94, -31,-122, -83, -31,-124,-125, -31, --123, -94, -31,-122, -84, -31,-124,-125, -31,-123, -94, -31,-122, -85, -31,-124,-125, -31,-123, -94, - -31,-122, -86, -31,-124,-125, -31,-123, -94, -31,-122, -87, -31,-124,-125, -31,-123, -94, -31,-122, - -88, -31,-124,-125, -31,-123, -95, -31,-121,-126, -31,-124,-125, -31,-123, -95, -31,-121,-127, -31, --124,-125, -31,-123, -95, -31,-121,-128, -31,-124,-125, -31,-123, -95, -31,-122, -65, -31,-124,-125, - -31,-123, -95, -31,-122, -66, -31,-124,-125, -31,-123, -95, -31,-122, -67, -31,-124,-125, -31,-123, - -95, -31,-122, -68, -31,-124,-125, -31,-123, -95, -31,-122, -69, -31,-124,-125, -31,-123, -95, -31, --122, -70, -31,-124,-125, -31,-123, -95, -31,-122, -71, -31,-124,-125, -31,-123, -95, -31,-122, -72, - -31,-124,-125, -31,-123, -95, -31,-122, -73, -31,-124,-125, -31,-123, -95, -31,-122, -74, -31,-124, --125, -31,-123, -95, -31,-122, -75, -31,-124,-125, -31,-123, -95, -31,-122, -76, -31,-124,-125, -31, --123, -95, -31,-122, -77, -31,-124,-125, -31,-123, -95, -31,-122, -78, -31,-124,-125, -31,-123, -95, - -31,-122, -79, -31,-124,-125, -31,-123, -95, -31,-122, -80, -31,-124,-125, -31,-123, -95, -31,-122, - -81, -31,-124,-125, -31,-123, -95, -31,-122, -82, -31,-124,-125, -31,-123, -95, -31,-122, -83, -31, --124,-125, -31,-123, -95, -31,-122, -84, -31,-124,-125, -31,-123, -95, -31,-122, -85, -31,-124,-125, - -31,-123, -95, -31,-122, -86, -31,-124,-125, -31,-123, -95, -31,-122, -87, -31,-124,-125, -31,-123, - -95, -31,-122, -88, -31,-124,-126, -31,-123, -75, -31,-121,-126, -31,-124,-126, -31,-123, -75, -31, --121,-127, -31,-124,-126, -31,-123, -75, -31,-121,-128, -31,-124,-126, -31,-123, -75, -31,-122, -65, - -31,-124,-126, -31,-123, -75, -31,-122, -66, -31,-124,-126, -31,-123, -75, -31,-122, -67, -31,-124, --126, -31,-123, -75, -31,-122, -68, -31,-124,-126, -31,-123, -75, -31,-122, -69, -31,-124,-126, -31, --123, -75, -31,-122, -70, -31,-124,-126, -31,-123, -75, -31,-122, -71, -31,-124,-126, -31,-123, -75, - -31,-122, -72, -31,-124,-126, -31,-123, -75, -31,-122, -73, -31,-124,-126, -31,-123, -75, -31,-122, - -74, -31,-124,-126, -31,-123, -75, -31,-122, -75, -31,-124,-126, -31,-123, -75, -31,-122, -76, -31, --124,-126, -31,-123, -75, -31,-122, -77, -31,-124,-126, -31,-123, -75, -31,-122, -78, -31,-124,-126, - -31,-123, -75, -31,-122, -79, -31,-124,-126, -31,-123, -75, -31,-122, -80, -31,-124,-126, -31,-123, - -75, -31,-122, -81, -31,-124,-126, -31,-123, -75, -31,-122, -82, -31,-124,-126, -31,-123, -75, -31, --122, -83, -31,-124,-126, -31,-123, -75, -31,-122, -84, -31,-124,-126, -31,-123, -75, -31,-122, -85, - -31,-124,-126, -31,-123, -75, -31,-122, -86, -31,-124,-126, -31,-123, -75, -31,-122, -87, -31,-124, --126, -31,-123, -75, -31,-122, -88, -31,-124,-126, -31,-123, -76, -31,-121,-126, -31,-124,-126, -31, --123, -76, -31,-121,-127, -31,-124,-126, -31,-123, -76, -31,-121,-128, -31,-124,-126, -31,-123, -76, - -31,-122, -65, -31,-124,-126, -31,-123, -76, -31,-122, -66, -31,-124,-126, -31,-123, -76, -31,-122, - -67, -31,-124,-126, -31,-123, -76, -31,-122, -68, -31,-124,-126, -31,-123, -76, -31,-122, -69, -31, --124,-126, -31,-123, -76, -31,-122, -70, -31,-124,-126, -31,-123, -76, -31,-122, -71, -31,-124,-126, - -31,-123, -76, -31,-122, -72, -31,-124,-126, -31,-123, -76, -31,-122, -73, -31,-124,-126, -31,-123, - -76, -31,-122, -74, -31,-124,-126, -31,-123, -76, -31,-122, -75, -31,-124,-126, -31,-123, -76, -31, --122, -76, -31,-124,-126, -31,-123, -76, -31,-122, -77, -31,-124,-126, -31,-123, -76, -31,-122, -78, - -31,-124,-126, -31,-123, -76, -31,-122, -79, -31,-124,-126, -31,-123, -76, -31,-122, -80, -31,-124, --126, -31,-123, -76, -31,-122, -81, -31,-124,-126, -31,-123, -76, -31,-122, -82, -31,-124,-126, -31, --123, -76, -31,-122, -83, -31,-124,-126, -31,-123, -76, -31,-122, -84, -31,-124,-126, -31,-123, -76, - -31,-122, -85, -31,-124,-126, -31,-123, -76, -31,-122, -86, -31,-124,-126, -31,-123, -76, -31,-122, - -87, -31,-124,-126, -31,-123, -76, -31,-122, -88, -31,-124,-126, -31,-123, -77, -31,-121,-126, -31, --124,-126, -31,-123, -77, -31,-121,-127, -31,-124,-126, -31,-123, -77, -31,-121,-128, -31,-124,-126, - -31,-123, -77, -31,-122, -65, -31,-124,-126, -31,-123, -77, -31,-122, -66, -31,-124,-126, -31,-123, - -77, -31,-122, -67, -31,-124,-126, -31,-123, -77, -31,-122, -68, -31,-124,-126, -31,-123, -77, -31, --122, -69, -31,-124,-126, -31,-123, -77, -31,-122, -70, -31,-124,-126, -31,-123, -77, -31,-122, -71, - -31,-124,-126, -31,-123, -77, -31,-122, -72, -31,-124,-126, -31,-123, -77, -31,-122, -73, -31,-124, --126, -31,-123, -77, -31,-122, -74, -31,-124,-126, -31,-123, -77, -31,-122, -75, -31,-124,-126, -31, --123, -77, -31,-122, -76, -31,-124,-126, -31,-123, -77, -31,-122, -77, -31,-124,-126, -31,-123, -77, - -31,-122, -78, -31,-124,-126, -31,-123, -77, -31,-122, -79, -31,-124,-126, -31,-123, -77, -31,-122, - -80, -31,-124,-126, -31,-123, -77, -31,-122, -81, -31,-124,-126, -31,-123, -77, -31,-122, -82, -31, --124,-126, -31,-123, -77, -31,-122, -83, -31,-124,-126, -31,-123, -77, -31,-122, -84, -31,-124,-126, - -31,-123, -77, -31,-122, -85, -31,-124,-126, -31,-123, -77, -31,-122, -86, -31,-124,-126, -31,-123, - -77, -31,-122, -87, -31,-124,-126, -31,-123, -77, -31,-122, -88, -31,-124,-126, -31,-123, -78, -31, --121,-126, -31,-124,-126, -31,-123, -78, -31,-121,-127, -31,-124,-126, -31,-123, -78, -31,-121,-128, - -31,-124,-126, -31,-123, -78, -31,-122, -65, -31,-124,-126, -31,-123, -78, -31,-122, -66, -31,-124, --126, -31,-123, -78, -31,-122, -67, -31,-124,-126, -31,-123, -78, -31,-122, -68, -31,-124,-126, -31, --123, -78, -31,-122, -69, -31,-124,-126, -31,-123, -78, -31,-122, -70, -31,-124,-126, -31,-123, -78, - -31,-122, -71, -31,-124,-126, -31,-123, -78, -31,-122, -72, -31,-124,-126, -31,-123, -78, -31,-122, - -73, -31,-124,-126, -31,-123, -78, -31,-122, -74, -31,-124,-126, -31,-123, -78, -31,-122, -75, -31, --124,-126, -31,-123, -78, -31,-122, -76, -31,-124,-126, -31,-123, -78, -31,-122, -77, -31,-124,-126, - -31,-123, -78, -31,-122, -78, -31,-124,-126, -31,-123, -78, -31,-122, -79, -31,-124,-126, -31,-123, - -78, -31,-122, -80, -31,-124,-126, -31,-123, -78, -31,-122, -81, -31,-124,-126, -31,-123, -78, -31, --122, -82, -31,-124,-126, -31,-123, -78, -31,-122, -83, -31,-124,-126, -31,-123, -78, -31,-122, -84, - -31,-124,-126, -31,-123, -78, -31,-122, -85, -31,-124,-126, -31,-123, -78, -31,-122, -86, -31,-124, --126, -31,-123, -78, -31,-122, -87, -31,-124,-126, -31,-123, -78, -31,-122, -88, -31,-124,-126, -31, --123, -79, -31,-121,-126, -31,-124,-126, -31,-123, -79, -31,-121,-127, -31,-124,-126, -31,-123, -79, - -31,-121,-128, -31,-124,-126, -31,-123, -79, -31,-122, -65, -31,-124,-126, -31,-123, -79, -31,-122, - -66, -31,-124,-126, -31,-123, -79, -31,-122, -67, -31,-124,-126, -31,-123, -79, -31,-122, -68, -31, --124,-126, -31,-123, -79, -31,-122, -69, -31,-124,-126, -31,-123, -79, -31,-122, -70, -31,-124,-126, - -31,-123, -79, -31,-122, -71, -31,-124,-126, -31,-123, -79, -31,-122, -72, -31,-124,-126, -31,-123, - -79, -31,-122, -73, -31,-124,-126, -31,-123, -79, -31,-122, -74, -31,-124,-126, -31,-123, -79, -31, --122, -75, -31,-124,-126, -31,-123, -79, -31,-122, -76, -31,-124,-126, -31,-123, -79, -31,-122, -77, - -31,-124,-126, -31,-123, -79, -31,-122, -78, -31,-124,-126, -31,-123, -79, -31,-122, -79, -31,-124, --126, -31,-123, -79, -31,-122, -80, -31,-124,-126, -31,-123, -79, -31,-122, -81, -31,-124,-126, -31, --123, -79, -31,-122, -82, -31,-124,-126, -31,-123, -79, -31,-122, -83, -31,-124,-126, -31,-123, -79, - -31,-122, -84, -31,-124,-126, -31,-123, -79, -31,-122, -85, -31,-124,-126, -31,-123, -79, -31,-122, - -86, -31,-124,-126, -31,-123, -79, -31,-122, -87, -31,-124,-126, -31,-123, -79, -31,-122, -88, -31, --124,-126, -31,-123, -80, -31,-121,-126, -31,-124,-126, -31,-123, -80, -31,-121,-127, -31,-124,-126, - -31,-123, -80, -31,-121,-128, -31,-124,-126, -31,-123, -80, -31,-122, -65, -31,-124,-126, -31,-123, - -80, -31,-122, -66, -31,-124,-126, -31,-123, -80, -31,-122, -67, -31,-124,-126, -31,-123, -80, -31, --122, -68, -31,-124,-126, -31,-123, -80, -31,-122, -69, -31,-124,-126, -31,-123, -80, -31,-122, -70, - -31,-124,-126, -31,-123, -80, -31,-122, -71, -31,-124,-126, -31,-123, -80, -31,-122, -72, -31,-124, --126, -31,-123, -80, -31,-122, -73, -31,-124,-126, -31,-123, -80, -31,-122, -74, -31,-124,-126, -31, --123, -80, -31,-122, -75, -31,-124,-126, -31,-123, -80, -31,-122, -76, -31,-124,-126, -31,-123, -80, - -31,-122, -77, -31,-124,-126, -31,-123, -80, -31,-122, -78, -31,-124,-126, -31,-123, -80, -31,-122, - -79, -31,-124,-126, -31,-123, -80, -31,-122, -80, -31,-124,-126, -31,-123, -80, -31,-122, -81, -31, --124,-126, -31,-123, -80, -31,-122, -82, -31,-124,-126, -31,-123, -80, -31,-122, -83, -31,-124,-126, - -31,-123, -80, -31,-122, -84, -31,-124,-126, -31,-123, -80, -31,-122, -85, -31,-124,-126, -31,-123, - -80, -31,-122, -86, -31,-124,-126, -31,-123, -80, -31,-122, -87, -31,-124,-126, -31,-123, -80, -31, --122, -88, -31,-124,-126, -31,-123, -81, -31,-121,-126, -31,-124,-126, -31,-123, -81, -31,-121,-127, - -31,-124,-126, -31,-123, -81, -31,-121,-128, -31,-124,-126, -31,-123, -81, -31,-122, -65, -31,-124, --126, -31,-123, -81, -31,-122, -66, -31,-124,-126, -31,-123, -81, -31,-122, -67, -31,-124,-126, -31, --123, -81, -31,-122, -68, -31,-124,-126, -31,-123, -81, -31,-122, -69, -31,-124,-126, -31,-123, -81, - -31,-122, -70, -31,-124,-126, -31,-123, -81, -31,-122, -71, -31,-124,-126, -31,-123, -81, -31,-122, - -72, -31,-124,-126, -31,-123, -81, -31,-122, -73, -31,-124,-126, -31,-123, -81, -31,-122, -74, -31, --124,-126, -31,-123, -81, -31,-122, -75, -31,-124,-126, -31,-123, -81, -31,-122, -76, -31,-124,-126, - -31,-123, -81, -31,-122, -77, -31,-124,-126, -31,-123, -81, -31,-122, -78, -31,-124,-126, -31,-123, - -81, -31,-122, -79, -31,-124,-126, -31,-123, -81, -31,-122, -80, -31,-124,-126, -31,-123, -81, -31, --122, -81, -31,-124,-126, -31,-123, -81, -31,-122, -82, -31,-124,-126, -31,-123, -81, -31,-122, -83, - -31,-124,-126, -31,-123, -81, -31,-122, -84, -31,-124,-126, -31,-123, -81, -31,-122, -85, -31,-124, --126, -31,-123, -81, -31,-122, -86, -31,-124,-126, -31,-123, -81, -31,-122, -87, -31,-124,-126, -31, --123, -81, -31,-122, -88, -31,-124,-126, -31,-123, -82, -31,-121,-126, -31,-124,-126, -31,-123, -82, - -31,-121,-127, -31,-124,-126, -31,-123, -82, -31,-121,-128, -31,-124,-126, -31,-123, -82, -31,-122, - -65, -31,-124,-126, -31,-123, -82, -31,-122, -66, -31,-124,-126, -31,-123, -82, -31,-122, -67, -31, --124,-126, -31,-123, -82, -31,-122, -68, -31,-124,-126, -31,-123, -82, -31,-122, -69, -31,-124,-126, - -31,-123, -82, -31,-122, -70, -31,-124,-126, -31,-123, -82, -31,-122, -71, -31,-124,-126, -31,-123, - -82, -31,-122, -72, -31,-124,-126, -31,-123, -82, -31,-122, -73, -31,-124,-126, -31,-123, -82, -31, --122, -74, -31,-124,-126, -31,-123, -82, -31,-122, -75, -31,-124,-126, -31,-123, -82, -31,-122, -76, - -31,-124,-126, -31,-123, -82, -31,-122, -77, -31,-124,-126, -31,-123, -82, -31,-122, -78, -31,-124, --126, -31,-123, -82, -31,-122, -79, -31,-124,-126, -31,-123, -82, -31,-122, -80, -31,-124,-126, -31, --123, -82, -31,-122, -81, -31,-124,-126, -31,-123, -82, -31,-122, -82, -31,-124,-126, -31,-123, -82, - -31,-122, -83, -31,-124,-126, -31,-123, -82, -31,-122, -84, -31,-124,-126, -31,-123, -82, -31,-122, - -85, -31,-124,-126, -31,-123, -82, -31,-122, -86, -31,-124,-126, -31,-123, -82, -31,-122, -87, -31, --124,-126, -31,-123, -82, -31,-122, -88, -31,-124,-126, -31,-123, -83, -31,-121,-126, -31,-124,-126, - -31,-123, -83, -31,-121,-127, -31,-124,-126, -31,-123, -83, -31,-121,-128, -31,-124,-126, -31,-123, - -83, -31,-122, -65, -31,-124,-126, -31,-123, -83, -31,-122, -66, -31,-124,-126, -31,-123, -83, -31, --122, -67, -31,-124,-126, -31,-123, -83, -31,-122, -68, -31,-124,-126, -31,-123, -83, -31,-122, -69, - -31,-124,-126, -31,-123, -83, -31,-122, -70, -31,-124,-126, -31,-123, -83, -31,-122, -71, -31,-124, --126, -31,-123, -83, -31,-122, -72, -31,-124,-126, -31,-123, -83, -31,-122, -73, -31,-124,-126, -31, --123, -83, -31,-122, -74, -31,-124,-126, -31,-123, -83, -31,-122, -75, -31,-124,-126, -31,-123, -83, - -31,-122, -76, -31,-124,-126, -31,-123, -83, -31,-122, -77, -31,-124,-126, -31,-123, -83, -31,-122, - -78, -31,-124,-126, -31,-123, -83, -31,-122, -79, -31,-124,-126, -31,-123, -83, -31,-122, -80, -31, --124,-126, -31,-123, -83, -31,-122, -81, -31,-124,-126, -31,-123, -83, -31,-122, -82, -31,-124,-126, - -31,-123, -83, -31,-122, -83, -31,-124,-126, -31,-123, -83, -31,-122, -84, -31,-124,-126, -31,-123, - -83, -31,-122, -85, -31,-124,-126, -31,-123, -83, -31,-122, -86, -31,-124,-126, -31,-123, -83, -31, --122, -87, -31,-124,-126, -31,-123, -83, -31,-122, -88, -31,-124,-126, -31,-123, -84, -31,-121,-126, - -31,-124,-126, -31,-123, -84, -31,-121,-127, -31,-124,-126, -31,-123, -84, -31,-121,-128, -31,-124, --126, -31,-123, -84, -31,-122, -65, -31,-124,-126, -31,-123, -84, -31,-122, -66, -31,-124,-126, -31, --123, -84, -31,-122, -67, -31,-124,-126, -31,-123, -84, -31,-122, -68, -31,-124,-126, -31,-123, -84, - -31,-122, -69, -31,-124,-126, -31,-123, -84, -31,-122, -70, -31,-124,-126, -31,-123, -84, -31,-122, - -71, -31,-124,-126, -31,-123, -84, -31,-122, -72, -31,-124,-126, -31,-123, -84, -31,-122, -73, -31, --124,-126, -31,-123, -84, -31,-122, -74, -31,-124,-126, -31,-123, -84, -31,-122, -75, -31,-124,-126, - -31,-123, -84, -31,-122, -76, -31,-124,-126, -31,-123, -84, -31,-122, -77, -31,-124,-126, -31,-123, - -84, -31,-122, -78, -31,-124,-126, -31,-123, -84, -31,-122, -79, -31,-124,-126, -31,-123, -84, -31, --122, -80, -31,-124,-126, -31,-123, -84, -31,-122, -81, -31,-124,-126, -31,-123, -84, -31,-122, -82, - -31,-124,-126, -31,-123, -84, -31,-122, -83, -31,-124,-126, -31,-123, -84, -31,-122, -84, -31,-124, --126, -31,-123, -84, -31,-122, -85, -31,-124,-126, -31,-123, -84, -31,-122, -86, -31,-124,-126, -31, --123, -84, -31,-122, -87, -31,-124,-126, -31,-123, -84, -31,-122, -88, -31,-124,-126, -31,-123, -85, - -31,-121,-126, -31,-124,-126, -31,-123, -85, -31,-121,-127, -31,-124,-126, -31,-123, -85, -31,-121, --128, -31,-124,-126, -31,-123, -85, -31,-122, -65, -31,-124,-126, -31,-123, -85, -31,-122, -66, -31, --124,-126, -31,-123, -85, -31,-122, -67, -31,-124,-126, -31,-123, -85, -31,-122, -68, -31,-124,-126, - -31,-123, -85, -31,-122, -69, -31,-124,-126, -31,-123, -85, -31,-122, -70, -31,-124,-126, -31,-123, - -85, -31,-122, -71, -31,-124,-126, -31,-123, -85, -31,-122, -72, -31,-124,-126, -31,-123, -85, -31, --122, -73, -31,-124,-126, -31,-123, -85, -31,-122, -74, -31,-124,-126, -31,-123, -85, -31,-122, -75, - -31,-124,-126, -31,-123, -85, -31,-122, -76, -31,-124,-126, -31,-123, -85, -31,-122, -77, -31,-124, --126, -31,-123, -85, -31,-122, -78, -31,-124,-126, -31,-123, -85, -31,-122, -79, -31,-124,-126, -31, --123, -85, -31,-122, -80, -31,-124,-126, -31,-123, -85, -31,-122, -81, -31,-124,-126, -31,-123, -85, - -31,-122, -82, -31,-124,-126, -31,-123, -85, -31,-122, -83, -31,-124,-126, -31,-123, -85, -31,-122, - -84, -31,-124,-126, -31,-123, -85, -31,-122, -85, -31,-124,-126, -31,-123, -85, -31,-122, -86, -31, --124,-126, -31,-123, -85, -31,-122, -87, -31,-124,-126, -31,-123, -85, -31,-122, -88, -31,-124,-126, - -31,-123, -86, -31,-121,-126, -31,-124,-126, -31,-123, -86, -31,-121,-127, -31,-124,-126, -31,-123, - -86, -31,-121,-128, -31,-124,-126, -31,-123, -86, -31,-122, -65, -31,-124,-126, -31,-123, -86, -31, --122, -66, -31,-124,-126, -31,-123, -86, -31,-122, -67, -31,-124,-126, -31,-123, -86, -31,-122, -68, - -31,-124,-126, -31,-123, -86, -31,-122, -69, -31,-124,-126, -31,-123, -86, -31,-122, -70, -31,-124, --126, -31,-123, -86, -31,-122, -71, -31,-124,-126, -31,-123, -86, -31,-122, -72, -31,-124,-126, -31, --123, -86, -31,-122, -73, -31,-124,-126, -31,-123, -86, -31,-122, -74, -31,-124,-126, -31,-123, -86, - -31,-122, -75, -31,-124,-126, -31,-123, -86, -31,-122, -76, -31,-124,-126, -31,-123, -86, -31,-122, - -77, -31,-124,-126, -31,-123, -86, -31,-122, -78, -31,-124,-126, -31,-123, -86, -31,-122, -79, -31, --124,-126, -31,-123, -86, -31,-122, -80, -31,-124,-126, -31,-123, -86, -31,-122, -81, -31,-124,-126, - -31,-123, -86, -31,-122, -82, -31,-124,-126, -31,-123, -86, -31,-122, -83, -31,-124,-126, -31,-123, - -86, -31,-122, -84, -31,-124,-126, -31,-123, -86, -31,-122, -85, -31,-124,-126, -31,-123, -86, -31, --122, -86, -31,-124,-126, -31,-123, -86, -31,-122, -87, -31,-124,-126, -31,-123, -86, -31,-122, -88, - -31,-124,-126, -31,-123, -87, -31,-121,-126, -31,-124,-126, -31,-123, -87, -31,-121,-127, -31,-124, --126, -31,-123, -87, -31,-121,-128, -31,-124,-126, -31,-123, -87, -31,-122, -65, -31,-124,-126, -31, --123, -87, -31,-122, -66, -31,-124,-126, -31,-123, -87, -31,-122, -67, -31,-124,-126, -31,-123, -87, - -31,-122, -68, -31,-124,-126, -31,-123, -87, -31,-122, -69, -31,-124,-126, -31,-123, -87, -31,-122, - -70, -31,-124,-126, -31,-123, -87, -31,-122, -71, -31,-124,-126, -31,-123, -87, -31,-122, -72, -31, --124,-126, -31,-123, -87, -31,-122, -73, -31,-124,-126, -31,-123, -87, -31,-122, -74, -31,-124,-126, - -31,-123, -87, -31,-122, -75, -31,-124,-126, -31,-123, -87, -31,-122, -76, -31,-124,-126, -31,-123, - -87, -31,-122, -77, -31,-124,-126, -31,-123, -87, -31,-122, -78, -31,-124,-126, -31,-123, -87, -31, --122, -79, -31,-124,-126, -31,-123, -87, -31,-122, -80, -31,-124,-126, -31,-123, -87, -31,-122, -81, - -31,-124,-126, -31,-123, -87, -31,-122, -82, -31,-124,-126, -31,-123, -87, -31,-122, -83, -31,-124, --126, -31,-123, -87, -31,-122, -84, -31,-124,-126, -31,-123, -87, -31,-122, -85, -31,-124,-126, -31, --123, -87, -31,-122, -86, -31,-124,-126, -31,-123, -87, -31,-122, -87, -31,-124,-126, -31,-123, -87, - -31,-122, -88, -31,-124,-126, -31,-123, -88, -31,-121,-126, -31,-124,-126, -31,-123, -88, -31,-121, --127, -31,-124,-126, -31,-123, -88, -31,-121,-128, -31,-124,-126, -31,-123, -88, -31,-122, -65, -31, --124,-126, -31,-123, -88, -31,-122, -66, -31,-124,-126, -31,-123, -88, -31,-122, -67, -31,-124,-126, - -31,-123, -88, -31,-122, -68, -31,-124,-126, -31,-123, -88, -31,-122, -69, -31,-124,-126, -31,-123, - -88, -31,-122, -70, -31,-124,-126, -31,-123, -88, -31,-122, -71, -31,-124,-126, -31,-123, -88, -31, --122, -72, -31,-124,-126, -31,-123, -88, -31,-122, -73, -31,-124,-126, -31,-123, -88, -31,-122, -74, - -31,-124,-126, -31,-123, -88, -31,-122, -75, -31,-124,-126, -31,-123, -88, -31,-122, -76, -31,-124, --126, -31,-123, -88, -31,-122, -77, -31,-124,-126, -31,-123, -88, -31,-122, -78, -31,-124,-126, -31, --123, -88, -31,-122, -79, -31,-124,-126, -31,-123, -88, -31,-122, -80, -31,-124,-126, -31,-123, -88, - -31,-122, -81, -31,-124,-126, -31,-123, -88, -31,-122, -82, -31,-124,-126, -31,-123, -88, -31,-122, - -83, -31,-124,-126, -31,-123, -88, -31,-122, -84, -31,-124,-126, -31,-123, -88, -31,-122, -85, -31, --124,-126, -31,-123, -88, -31,-122, -86, -31,-124,-126, -31,-123, -88, -31,-122, -87, -31,-124,-126, - -31,-123, -88, -31,-122, -88, -31,-124,-126, -31,-123, -89, -31,-121,-126, -31,-124,-126, -31,-123, - -89, -31,-121,-127, -31,-124,-126, -31,-123, -89, -31,-121,-128, -31,-124,-126, -31,-123, -89, -31, --122, -65, -31,-124,-126, -31,-123, -89, -31,-122, -66, -31,-124,-126, -31,-123, -89, -31,-122, -67, - -31,-124,-126, -31,-123, -89, -31,-122, -68, -31,-124,-126, -31,-123, -89, -31,-122, -69, -31,-124, --126, -31,-123, -89, -31,-122, -70, -31,-124,-126, -31,-123, -89, -31,-122, -71, -31,-124,-126, -31, --123, -89, -31,-122, -72, -31,-124,-126, -31,-123, -89, -31,-122, -73, -31,-124,-126, -31,-123, -89, - -31,-122, -74, -31,-124,-126, -31,-123, -89, -31,-122, -75, -31,-124,-126, -31,-123, -89, -31,-122, - -76, -31,-124,-126, -31,-123, -89, -31,-122, -77, -31,-124,-126, -31,-123, -89, -31,-122, -78, -31, --124,-126, -31,-123, -89, -31,-122, -79, -31,-124,-126, -31,-123, -89, -31,-122, -80, -31,-124,-126, - -31,-123, -89, -31,-122, -81, -31,-124,-126, -31,-123, -89, -31,-122, -82, -31,-124,-126, -31,-123, - -89, -31,-122, -83, -31,-124,-126, -31,-123, -89, -31,-122, -84, -31,-124,-126, -31,-123, -89, -31, --122, -85, -31,-124,-126, -31,-123, -89, -31,-122, -86, -31,-124,-126, -31,-123, -89, -31,-122, -87, - -31,-124,-126, -31,-123, -89, -31,-122, -88, -31,-124,-126, -31,-123, -90, -31,-121,-126, -31,-124, --126, -31,-123, -90, -31,-121,-127, -31,-124,-126, -31,-123, -90, -31,-121,-128, -31,-124,-126, -31, --123, -90, -31,-122, -65, -31,-124,-126, -31,-123, -90, -31,-122, -66, -31,-124,-126, -31,-123, -90, - -31,-122, -67, -31,-124,-126, -31,-123, -90, -31,-122, -68, -31,-124,-126, -31,-123, -90, -31,-122, - -69, -31,-124,-126, -31,-123, -90, -31,-122, -70, -31,-124,-126, -31,-123, -90, -31,-122, -71, -31, --124,-126, -31,-123, -90, -31,-122, -72, -31,-124,-126, -31,-123, -90, -31,-122, -73, -31,-124,-126, - -31,-123, -90, -31,-122, -74, -31,-124,-126, -31,-123, -90, -31,-122, -75, -31,-124,-126, -31,-123, - -90, -31,-122, -76, -31,-124,-126, -31,-123, -90, -31,-122, -77, -31,-124,-126, -31,-123, -90, -31, --122, -78, -31,-124,-126, -31,-123, -90, -31,-122, -79, -31,-124,-126, -31,-123, -90, -31,-122, -80, - -31,-124,-126, -31,-123, -90, -31,-122, -81, -31,-124,-126, -31,-123, -90, -31,-122, -82, -31,-124, --126, -31,-123, -90, -31,-122, -83, -31,-124,-126, -31,-123, -90, -31,-122, -84, -31,-124,-126, -31, --123, -90, -31,-122, -85, -31,-124,-126, -31,-123, -90, -31,-122, -86, -31,-124,-126, -31,-123, -90, - -31,-122, -87, -31,-124,-126, -31,-123, -90, -31,-122, -88, -31,-124,-126, -31,-123, -91, -31,-121, --126, -31,-124,-126, -31,-123, -91, -31,-121,-127, -31,-124,-126, -31,-123, -91, -31,-121,-128, -31, --124,-126, -31,-123, -91, -31,-122, -65, -31,-124,-126, -31,-123, -91, -31,-122, -66, -31,-124,-126, - -31,-123, -91, -31,-122, -67, -31,-124,-126, -31,-123, -91, -31,-122, -68, -31,-124,-126, -31,-123, - -91, -31,-122, -69, -31,-124,-126, -31,-123, -91, -31,-122, -70, -31,-124,-126, -31,-123, -91, -31, --122, -71, -31,-124,-126, -31,-123, -91, -31,-122, -72, -31,-124,-126, -31,-123, -91, -31,-122, -73, - -31,-124,-126, -31,-123, -91, -31,-122, -74, -31,-124,-126, -31,-123, -91, -31,-122, -75, -31,-124, --126, -31,-123, -91, -31,-122, -76, -31,-124,-126, -31,-123, -91, -31,-122, -77, -31,-124,-126, -31, --123, -91, -31,-122, -78, -31,-124,-126, -31,-123, -91, -31,-122, -79, -31,-124,-126, -31,-123, -91, - -31,-122, -80, -31,-124,-126, -31,-123, -91, -31,-122, -81, -31,-124,-126, -31,-123, -91, -31,-122, - -82, -31,-124,-126, -31,-123, -91, -31,-122, -83, -31,-124,-126, -31,-123, -91, -31,-122, -84, -31, --124,-126, -31,-123, -91, -31,-122, -85, -31,-124,-126, -31,-123, -91, -31,-122, -86, -31,-124,-126, - -31,-123, -91, -31,-122, -87, -31,-124,-126, -31,-123, -91, -31,-122, -88, -31,-124,-126, -31,-123, - -92, -31,-121,-126, -31,-124,-126, -31,-123, -92, -31,-121,-127, -31,-124,-126, -31,-123, -92, -31, --121,-128, -31,-124,-126, -31,-123, -92, -31,-122, -65, -31,-124,-126, -31,-123, -92, -31,-122, -66, - -31,-124,-126, -31,-123, -92, -31,-122, -67, -31,-124,-126, -31,-123, -92, -31,-122, -68, -31,-124, --126, -31,-123, -92, -31,-122, -69, -31,-124,-126, -31,-123, -92, -31,-122, -70, -31,-124,-126, -31, --123, -92, -31,-122, -71, -31,-124,-126, -31,-123, -92, -31,-122, -72, -31,-124,-126, -31,-123, -92, - -31,-122, -73, -31,-124,-126, -31,-123, -92, -31,-122, -74, -31,-124,-126, -31,-123, -92, -31,-122, - -75, -31,-124,-126, -31,-123, -92, -31,-122, -76, -31,-124,-126, -31,-123, -92, -31,-122, -77, -31, --124,-126, -31,-123, -92, -31,-122, -78, -31,-124,-126, -31,-123, -92, -31,-122, -79, -31,-124,-126, - -31,-123, -92, -31,-122, -80, -31,-124,-126, -31,-123, -92, -31,-122, -81, -31,-124,-126, -31,-123, - -92, -31,-122, -82, -31,-124,-126, -31,-123, -92, -31,-122, -83, -31,-124,-126, -31,-123, -92, -31, --122, -84, -31,-124,-126, -31,-123, -92, -31,-122, -85, -31,-124,-126, -31,-123, -92, -31,-122, -86, - -31,-124,-126, -31,-123, -92, -31,-122, -87, -31,-124,-126, -31,-123, -92, -31,-122, -88, -31,-124, --126, -31,-123, -93, -31,-121,-126, -31,-124,-126, -31,-123, -93, -31,-121,-127, -31,-124,-126, -31, --123, -93, -31,-121,-128, -31,-124,-126, -31,-123, -93, -31,-122, -65, -31,-124,-126, -31,-123, -93, - -31,-122, -66, -31,-124,-126, -31,-123, -93, -31,-122, -67, -31,-124,-126, -31,-123, -93, -31,-122, - -68, -31,-124,-126, -31,-123, -93, -31,-122, -69, -31,-124,-126, -31,-123, -93, -31,-122, -70, -31, --124,-126, -31,-123, -93, -31,-122, -71, -31,-124,-126, -31,-123, -93, -31,-122, -72, -31,-124,-126, - -31,-123, -93, -31,-122, -73, -31,-124,-126, -31,-123, -93, -31,-122, -74, -31,-124,-126, -31,-123, - -93, -31,-122, -75, -31,-124,-126, -31,-123, -93, -31,-122, -76, -31,-124,-126, -31,-123, -93, -31, --122, -77, -31,-124,-126, -31,-123, -93, -31,-122, -78, -31,-124,-126, -31,-123, -93, -31,-122, -79, - -31,-124,-126, -31,-123, -93, -31,-122, -80, -31,-124,-126, -31,-123, -93, -31,-122, -81, -31,-124, --126, -31,-123, -93, -31,-122, -82, -31,-124,-126, -31,-123, -93, -31,-122, -83, -31,-124,-126, -31, --123, -93, -31,-122, -84, -31,-124,-126, -31,-123, -93, -31,-122, -85, -31,-124,-126, -31,-123, -93, - -31,-122, -86, -31,-124,-126, -31,-123, -93, -31,-122, -87, -31,-124,-126, -31,-123, -93, -31,-122, - -88, -31,-124,-126, -31,-123, -94, -31,-121,-126, -31,-124,-126, -31,-123, -94, -31,-121,-127, -31, --124,-126, -31,-123, -94, -31,-121,-128, -31,-124,-126, -31,-123, -94, -31,-122, -65, -31,-124,-126, - -31,-123, -94, -31,-122, -66, -31,-124,-126, -31,-123, -94, -31,-122, -67, -31,-124,-126, -31,-123, - -94, -31,-122, -68, -31,-124,-126, -31,-123, -94, -31,-122, -69, -31,-124,-126, -31,-123, -94, -31, --122, -70, -31,-124,-126, -31,-123, -94, -31,-122, -71, -31,-124,-126, -31,-123, -94, -31,-122, -72, - -31,-124,-126, -31,-123, -94, -31,-122, -73, -31,-124,-126, -31,-123, -94, -31,-122, -74, -31,-124, --126, -31,-123, -94, -31,-122, -75, -31,-124,-126, -31,-123, -94, -31,-122, -76, -31,-124,-126, -31, --123, -94, -31,-122, -77, -31,-124,-126, -31,-123, -94, -31,-122, -78, -31,-124,-126, -31,-123, -94, - -31,-122, -79, -31,-124,-126, -31,-123, -94, -31,-122, -80, -31,-124,-126, -31,-123, -94, -31,-122, - -81, -31,-124,-126, -31,-123, -94, -31,-122, -82, -31,-124,-126, -31,-123, -94, -31,-122, -83, -31, --124,-126, -31,-123, -94, -31,-122, -84, -31,-124,-126, -31,-123, -94, -31,-122, -85, -31,-124,-126, - -31,-123, -94, -31,-122, -86, -31,-124,-126, -31,-123, -94, -31,-122, -87, -31,-124,-126, -31,-123, - -94, -31,-122, -88, -31,-124,-126, -31,-123, -95, -31,-121,-126, -31,-124,-126, -31,-123, -95, -31, --121,-127, -31,-124,-126, -31,-123, -95, -31,-121,-128, -31,-124,-126, -31,-123, -95, -31,-122, -65, - -31,-124,-126, -31,-123, -95, -31,-122, -66, -31,-124,-126, -31,-123, -95, -31,-122, -67, -31,-124, --126, -31,-123, -95, -31,-122, -68, -31,-124,-126, -31,-123, -95, -31,-122, -69, -31,-124,-126, -31, --123, -95, -31,-122, -70, -31,-124,-126, -31,-123, -95, -31,-122, -71, -31,-124,-126, -31,-123, -95, - -31,-122, -72, -31,-124,-126, -31,-123, -95, -31,-122, -73, -31,-124,-126, -31,-123, -95, -31,-122, - -74, -31,-124,-126, -31,-123, -95, -31,-122, -75, -31,-124,-126, -31,-123, -95, -31,-122, -76, -31, --124,-126, -31,-123, -95, -31,-122, -77, -31,-124,-126, -31,-123, -95, -31,-122, -78, -31,-124,-126, - -31,-123, -95, -31,-122, -79, -31,-124,-126, -31,-123, -95, -31,-122, -80, -31,-124,-126, -31,-123, - -95, -31,-122, -81, -31,-124,-126, -31,-123, -95, -31,-122, -82, -31,-124,-126, -31,-123, -95, -31, --122, -83, -31,-124,-126, -31,-123, -95, -31,-122, -84, -31,-124,-126, -31,-123, -95, -31,-122, -85, - -31,-124,-126, -31,-123, -95, -31,-122, -86, -31,-124,-126, -31,-123, -95, -31,-122, -87, -31,-124, --126, -31,-123, -95, -31,-122, -88, -31,-124,-127, -31,-123, -75, -31,-121,-126, -31,-124,-127, -31, --123, -75, -31,-121,-127, -31,-124,-127, -31,-123, -75, -31,-121,-128, -31,-124,-127, -31,-123, -75, - -31,-122, -65, -31,-124,-127, -31,-123, -75, -31,-122, -66, -31,-124,-127, -31,-123, -75, -31,-122, - -67, -31,-124,-127, -31,-123, -75, -31,-122, -68, -31,-124,-127, -31,-123, -75, -31,-122, -69, -31, --124,-127, -31,-123, -75, -31,-122, -70, -31,-124,-127, -31,-123, -75, -31,-122, -71, -31,-124,-127, - -31,-123, -75, -31,-122, -72, -31,-124,-127, -31,-123, -75, -31,-122, -73, -31,-124,-127, -31,-123, - -75, -31,-122, -74, -31,-124,-127, -31,-123, -75, -31,-122, -75, -31,-124,-127, -31,-123, -75, -31, --122, -76, -31,-124,-127, -31,-123, -75, -31,-122, -77, -31,-124,-127, -31,-123, -75, -31,-122, -78, - -31,-124,-127, -31,-123, -75, -31,-122, -79, -31,-124,-127, -31,-123, -75, -31,-122, -80, -31,-124, --127, -31,-123, -75, -31,-122, -81, -31,-124,-127, -31,-123, -75, -31,-122, -82, -31,-124,-127, -31, --123, -75, -31,-122, -83, -31,-124,-127, -31,-123, -75, -31,-122, -84, -31,-124,-127, -31,-123, -75, - -31,-122, -85, -31,-124,-127, -31,-123, -75, -31,-122, -86, -31,-124,-127, -31,-123, -75, -31,-122, - -87, -31,-124,-127, -31,-123, -75, -31,-122, -88, -31,-124,-127, -31,-123, -76, -31,-121,-126, -31, --124,-127, -31,-123, -76, -31,-121,-127, -31,-124,-127, -31,-123, -76, -31,-121,-128, -31,-124,-127, - -31,-123, -76, -31,-122, -65, -31,-124,-127, -31,-123, -76, -31,-122, -66, -31,-124,-127, -31,-123, - -76, -31,-122, -67, -31,-124,-127, -31,-123, -76, -31,-122, -68, -31,-124,-127, -31,-123, -76, -31, --122, -69, -31,-124,-127, -31,-123, -76, -31,-122, -70, -31,-124,-127, -31,-123, -76, -31,-122, -71, - -31,-124,-127, -31,-123, -76, -31,-122, -72, -31,-124,-127, -31,-123, -76, -31,-122, -73, -31,-124, --127, -31,-123, -76, -31,-122, -74, -31,-124,-127, -31,-123, -76, -31,-122, -75, -31,-124,-127, -31, --123, -76, -31,-122, -76, -31,-124,-127, -31,-123, -76, -31,-122, -77, -31,-124,-127, -31,-123, -76, - -31,-122, -78, -31,-124,-127, -31,-123, -76, -31,-122, -79, -31,-124,-127, -31,-123, -76, -31,-122, - -80, -31,-124,-127, -31,-123, -76, -31,-122, -81, -31,-124,-127, -31,-123, -76, -31,-122, -82, -31, --124,-127, -31,-123, -76, -31,-122, -83, -31,-124,-127, -31,-123, -76, -31,-122, -84, -31,-124,-127, - -31,-123, -76, -31,-122, -85, -31,-124,-127, -31,-123, -76, -31,-122, -86, -31,-124,-127, -31,-123, - -76, -31,-122, -87, -31,-124,-127, -31,-123, -76, -31,-122, -88, -31,-124,-127, -31,-123, -77, -31, --121,-126, -31,-124,-127, -31,-123, -77, -31,-121,-127, -31,-124,-127, -31,-123, -77, -31,-121,-128, - -31,-124,-127, -31,-123, -77, -31,-122, -65, -31,-124,-127, -31,-123, -77, -31,-122, -66, -31,-124, --127, -31,-123, -77, -31,-122, -67, -31,-124,-127, -31,-123, -77, -31,-122, -68, -31,-124,-127, -31, --123, -77, -31,-122, -69, -31,-124,-127, -31,-123, -77, -31,-122, -70, -31,-124,-127, -31,-123, -77, - -31,-122, -71, -31,-124,-127, -31,-123, -77, -31,-122, -72, -31,-124,-127, -31,-123, -77, -31,-122, - -73, -31,-124,-127, -31,-123, -77, -31,-122, -74, -31,-124,-127, -31,-123, -77, -31,-122, -75, -31, --124,-127, -31,-123, -77, -31,-122, -76, -31,-124,-127, -31,-123, -77, -31,-122, -77, -31,-124,-127, - -31,-123, -77, -31,-122, -78, -31,-124,-127, -31,-123, -77, -31,-122, -79, -31,-124,-127, -31,-123, - -77, -31,-122, -80, -31,-124,-127, -31,-123, -77, -31,-122, -81, -31,-124,-127, -31,-123, -77, -31, --122, -82, -31,-124,-127, -31,-123, -77, -31,-122, -83, -31,-124,-127, -31,-123, -77, -31,-122, -84, - -31,-124,-127, -31,-123, -77, -31,-122, -85, -31,-124,-127, -31,-123, -77, -31,-122, -86, -31,-124, --127, -31,-123, -77, -31,-122, -87, -31,-124,-127, -31,-123, -77, -31,-122, -88, -31,-124,-127, -31, --123, -78, -31,-121,-126, -31,-124,-127, -31,-123, -78, -31,-121,-127, -31,-124,-127, -31,-123, -78, - -31,-121,-128, -31,-124,-127, -31,-123, -78, -31,-122, -65, -31,-124,-127, -31,-123, -78, -31,-122, - -66, -31,-124,-127, -31,-123, -78, -31,-122, -67, -31,-124,-127, -31,-123, -78, -31,-122, -68, -31, --124,-127, -31,-123, -78, -31,-122, -69, -31,-124,-127, -31,-123, -78, -31,-122, -70, -31,-124,-127, - -31,-123, -78, -31,-122, -71, -31,-124,-127, -31,-123, -78, -31,-122, -72, -31,-124,-127, -31,-123, - -78, -31,-122, -73, -31,-124,-127, -31,-123, -78, -31,-122, -74, -31,-124,-127, -31,-123, -78, -31, --122, -75, -31,-124,-127, -31,-123, -78, -31,-122, -76, -31,-124,-127, -31,-123, -78, -31,-122, -77, - -31,-124,-127, -31,-123, -78, -31,-122, -78, -31,-124,-127, -31,-123, -78, -31,-122, -79, -31,-124, --127, -31,-123, -78, -31,-122, -80, -31,-124,-127, -31,-123, -78, -31,-122, -81, -31,-124,-127, -31, --123, -78, -31,-122, -82, -31,-124,-127, -31,-123, -78, -31,-122, -83, -31,-124,-127, -31,-123, -78, - -31,-122, -84, -31,-124,-127, -31,-123, -78, -31,-122, -85, -31,-124,-127, -31,-123, -78, -31,-122, - -86, -31,-124,-127, -31,-123, -78, -31,-122, -87, -31,-124,-127, -31,-123, -78, -31,-122, -88, -31, --124,-127, -31,-123, -79, -31,-121,-126, -31,-124,-127, -31,-123, -79, -31,-121,-127, -31,-124,-127, - -31,-123, -79, -31,-121,-128, -31,-124,-127, -31,-123, -79, -31,-122, -65, -31,-124,-127, -31,-123, - -79, -31,-122, -66, -31,-124,-127, -31,-123, -79, -31,-122, -67, -31,-124,-127, -31,-123, -79, -31, --122, -68, -31,-124,-127, -31,-123, -79, -31,-122, -69, -31,-124,-127, -31,-123, -79, -31,-122, -70, - -31,-124,-127, -31,-123, -79, -31,-122, -71, -31,-124,-127, -31,-123, -79, -31,-122, -72, -31,-124, --127, -31,-123, -79, -31,-122, -73, -31,-124,-127, -31,-123, -79, -31,-122, -74, -31,-124,-127, -31, --123, -79, -31,-122, -75, -31,-124,-127, -31,-123, -79, -31,-122, -76, -31,-124,-127, -31,-123, -79, - -31,-122, -77, -31,-124,-127, -31,-123, -79, -31,-122, -78, -31,-124,-127, -31,-123, -79, -31,-122, - -79, -31,-124,-127, -31,-123, -79, -31,-122, -80, -31,-124,-127, -31,-123, -79, -31,-122, -81, -31, --124,-127, -31,-123, -79, -31,-122, -82, -31,-124,-127, -31,-123, -79, -31,-122, -83, -31,-124,-127, - -31,-123, -79, -31,-122, -84, -31,-124,-127, -31,-123, -79, -31,-122, -85, -31,-124,-127, -31,-123, - -79, -31,-122, -86, -31,-124,-127, -31,-123, -79, -31,-122, -87, -31,-124,-127, -31,-123, -79, -31, --122, -88, -31,-124,-127, -31,-123, -80, -31,-121,-126, -31,-124,-127, -31,-123, -80, -31,-121,-127, - -31,-124,-127, -31,-123, -80, -31,-121,-128, -31,-124,-127, -31,-123, -80, -31,-122, -65, -31,-124, --127, -31,-123, -80, -31,-122, -66, -31,-124,-127, -31,-123, -80, -31,-122, -67, -31,-124,-127, -31, --123, -80, -31,-122, -68, -31,-124,-127, -31,-123, -80, -31,-122, -69, -31,-124,-127, -31,-123, -80, - -31,-122, -70, -31,-124,-127, -31,-123, -80, -31,-122, -71, -31,-124,-127, -31,-123, -80, -31,-122, - -72, -31,-124,-127, -31,-123, -80, -31,-122, -73, -31,-124,-127, -31,-123, -80, -31,-122, -74, -31, --124,-127, -31,-123, -80, -31,-122, -75, -31,-124,-127, -31,-123, -80, -31,-122, -76, -31,-124,-127, - -31,-123, -80, -31,-122, -77, -31,-124,-127, -31,-123, -80, -31,-122, -78, -31,-124,-127, -31,-123, - -80, -31,-122, -79, -31,-124,-127, -31,-123, -80, -31,-122, -80, -31,-124,-127, -31,-123, -80, -31, --122, -81, -31,-124,-127, -31,-123, -80, -31,-122, -82, -31,-124,-127, -31,-123, -80, -31,-122, -83, - -31,-124,-127, -31,-123, -80, -31,-122, -84, -31,-124,-127, -31,-123, -80, -31,-122, -85, -31,-124, --127, -31,-123, -80, -31,-122, -86, -31,-124,-127, -31,-123, -80, -31,-122, -87, -31,-124,-127, -31, --123, -80, -31,-122, -88, -31,-124,-127, -31,-123, -81, -31,-121,-126, -31,-124,-127, -31,-123, -81, - -31,-121,-127, -31,-124,-127, -31,-123, -81, -31,-121,-128, -31,-124,-127, -31,-123, -81, -31,-122, - -65, -31,-124,-127, -31,-123, -81, -31,-122, -66, -31,-124,-127, -31,-123, -81, -31,-122, -67, -31, --124,-127, -31,-123, -81, -31,-122, -68, -31,-124,-127, -31,-123, -81, -31,-122, -69, -31,-124,-127, - -31,-123, -81, -31,-122, -70, -31,-124,-127, -31,-123, -81, -31,-122, -71, -31,-124,-127, -31,-123, - -81, -31,-122, -72, -31,-124,-127, -31,-123, -81, -31,-122, -73, -31,-124,-127, -31,-123, -81, -31, --122, -74, -31,-124,-127, -31,-123, -81, -31,-122, -75, -31,-124,-127, -31,-123, -81, -31,-122, -76, - -31,-124,-127, -31,-123, -81, -31,-122, -77, -31,-124,-127, -31,-123, -81, -31,-122, -78, -31,-124, --127, -31,-123, -81, -31,-122, -79, -31,-124,-127, -31,-123, -81, -31,-122, -80, -31,-124,-127, -31, --123, -81, -31,-122, -81, -31,-124,-127, -31,-123, -81, -31,-122, -82, -31,-124,-127, -31,-123, -81, - -31,-122, -83, -31,-124,-127, -31,-123, -81, -31,-122, -84, -31,-124,-127, -31,-123, -81, -31,-122, - -85, -31,-124,-127, -31,-123, -81, -31,-122, -86, -31,-124,-127, -31,-123, -81, -31,-122, -87, -31, --124,-127, -31,-123, -81, -31,-122, -88, -31,-124,-127, -31,-123, -82, -31,-121,-126, -31,-124,-127, - -31,-123, -82, -31,-121,-127, -31,-124,-127, -31,-123, -82, -31,-121,-128, -31,-124,-127, -31,-123, - -82, -31,-122, -65, -31,-124,-127, -31,-123, -82, -31,-122, -66, -31,-124,-127, -31,-123, -82, -31, --122, -67, -31,-124,-127, -31,-123, -82, -31,-122, -68, -31,-124,-127, -31,-123, -82, -31,-122, -69, - -31,-124,-127, -31,-123, -82, -31,-122, -70, -31,-124,-127, -31,-123, -82, -31,-122, -71, -31,-124, --127, -31,-123, -82, -31,-122, -72, -31,-124,-127, -31,-123, -82, -31,-122, -73, -31,-124,-127, -31, --123, -82, -31,-122, -74, -31,-124,-127, -31,-123, -82, -31,-122, -75, -31,-124,-127, -31,-123, -82, - -31,-122, -76, -31,-124,-127, -31,-123, -82, -31,-122, -77, -31,-124,-127, -31,-123, -82, -31,-122, - -78, -31,-124,-127, -31,-123, -82, -31,-122, -79, -31,-124,-127, -31,-123, -82, -31,-122, -80, -31, --124,-127, -31,-123, -82, -31,-122, -81, -31,-124,-127, -31,-123, -82, -31,-122, -82, -31,-124,-127, - -31,-123, -82, -31,-122, -83, -31,-124,-127, -31,-123, -82, -31,-122, -84, -31,-124,-127, -31,-123, - -82, -31,-122, -85, -31,-124,-127, -31,-123, -82, -31,-122, -86, -31,-124,-127, -31,-123, -82, -31, --122, -87, -31,-124,-127, -31,-123, -82, -31,-122, -88, -31,-124,-127, -31,-123, -83, -31,-121,-126, - -31,-124,-127, -31,-123, -83, -31,-121,-127, -31,-124,-127, -31,-123, -83, -31,-121,-128, -31,-124, --127, -31,-123, -83, -31,-122, -65, -31,-124,-127, -31,-123, -83, -31,-122, -66, -31,-124,-127, -31, --123, -83, -31,-122, -67, -31,-124,-127, -31,-123, -83, -31,-122, -68, -31,-124,-127, -31,-123, -83, - -31,-122, -69, -31,-124,-127, -31,-123, -83, -31,-122, -70, -31,-124,-127, -31,-123, -83, -31,-122, - -71, -31,-124,-127, -31,-123, -83, -31,-122, -72, -31,-124,-127, -31,-123, -83, -31,-122, -73, -31, --124,-127, -31,-123, -83, -31,-122, -74, -31,-124,-127, -31,-123, -83, -31,-122, -75, -31,-124,-127, - -31,-123, -83, -31,-122, -76, -31,-124,-127, -31,-123, -83, -31,-122, -77, -31,-124,-127, -31,-123, - -83, -31,-122, -78, -31,-124,-127, -31,-123, -83, -31,-122, -79, -31,-124,-127, -31,-123, -83, -31, --122, -80, -31,-124,-127, -31,-123, -83, -31,-122, -81, -31,-124,-127, -31,-123, -83, -31,-122, -82, - -31,-124,-127, -31,-123, -83, -31,-122, -83, -31,-124,-127, -31,-123, -83, -31,-122, -84, -31,-124, --127, -31,-123, -83, -31,-122, -85, -31,-124,-127, -31,-123, -83, -31,-122, -86, -31,-124,-127, -31, --123, -83, -31,-122, -87, -31,-124,-127, -31,-123, -83, -31,-122, -88, -31,-124,-127, -31,-123, -84, - -31,-121,-126, -31,-124,-127, -31,-123, -84, -31,-121,-127, -31,-124,-127, -31,-123, -84, -31,-121, --128, -31,-124,-127, -31,-123, -84, -31,-122, -65, -31,-124,-127, -31,-123, -84, -31,-122, -66, -31, --124,-127, -31,-123, -84, -31,-122, -67, -31,-124,-127, -31,-123, -84, -31,-122, -68, -31,-124,-127, - -31,-123, -84, -31,-122, -69, -31,-124,-127, -31,-123, -84, -31,-122, -70, -31,-124,-127, -31,-123, - -84, -31,-122, -71, -31,-124,-127, -31,-123, -84, -31,-122, -72, -31,-124,-127, -31,-123, -84, -31, --122, -73, -31,-124,-127, -31,-123, -84, -31,-122, -74, -31,-124,-127, -31,-123, -84, -31,-122, -75, - -31,-124,-127, -31,-123, -84, -31,-122, -76, -31,-124,-127, -31,-123, -84, -31,-122, -77, -31,-124, --127, -31,-123, -84, -31,-122, -78, -31,-124,-127, -31,-123, -84, -31,-122, -79, -31,-124,-127, -31, --123, -84, -31,-122, -80, -31,-124,-127, -31,-123, -84, -31,-122, -81, -31,-124,-127, -31,-123, -84, - -31,-122, -82, -31,-124,-127, -31,-123, -84, -31,-122, -83, -31,-124,-127, -31,-123, -84, -31,-122, - -84, -31,-124,-127, -31,-123, -84, -31,-122, -85, -31,-124,-127, -31,-123, -84, -31,-122, -86, -31, --124,-127, -31,-123, -84, -31,-122, -87, -31,-124,-127, -31,-123, -84, -31,-122, -88, -31,-124,-127, - -31,-123, -85, -31,-121,-126, -31,-124,-127, -31,-123, -85, -31,-121,-127, -31,-124,-127, -31,-123, - -85, -31,-121,-128, -31,-124,-127, -31,-123, -85, -31,-122, -65, -31,-124,-127, -31,-123, -85, -31, --122, -66, -31,-124,-127, -31,-123, -85, -31,-122, -67, -31,-124,-127, -31,-123, -85, -31,-122, -68, - -31,-124,-127, -31,-123, -85, -31,-122, -69, -31,-124,-127, -31,-123, -85, -31,-122, -70, -31,-124, --127, -31,-123, -85, -31,-122, -71, -31,-124,-127, -31,-123, -85, -31,-122, -72, -31,-124,-127, -31, --123, -85, -31,-122, -73, -31,-124,-127, -31,-123, -85, -31,-122, -74, -31,-124,-127, -31,-123, -85, - -31,-122, -75, -31,-124,-127, -31,-123, -85, -31,-122, -76, -31,-124,-127, -31,-123, -85, -31,-122, - -77, -31,-124,-127, -31,-123, -85, -31,-122, -78, -31,-124,-127, -31,-123, -85, -31,-122, -79, -31, --124,-127, -31,-123, -85, -31,-122, -80, -31,-124,-127, -31,-123, -85, -31,-122, -81, -31,-124,-127, - -31,-123, -85, -31,-122, -82, -31,-124,-127, -31,-123, -85, -31,-122, -83, -31,-124,-127, -31,-123, - -85, -31,-122, -84, -31,-124,-127, -31,-123, -85, -31,-122, -85, -31,-124,-127, -31,-123, -85, -31, --122, -86, -31,-124,-127, -31,-123, -85, -31,-122, -87, -31,-124,-127, -31,-123, -85, -31,-122, -88, - -31,-124,-127, -31,-123, -86, -31,-121,-126, -31,-124,-127, -31,-123, -86, -31,-121,-127, -31,-124, --127, -31,-123, -86, -31,-121,-128, -31,-124,-127, -31,-123, -86, -31,-122, -65, -31,-124,-127, -31, --123, -86, -31,-122, -66, -31,-124,-127, -31,-123, -86, -31,-122, -67, -31,-124,-127, -31,-123, -86, - -31,-122, -68, -31,-124,-127, -31,-123, -86, -31,-122, -69, -31,-124,-127, -31,-123, -86, -31,-122, - -70, -31,-124,-127, -31,-123, -86, -31,-122, -71, -31,-124,-127, -31,-123, -86, -31,-122, -72, -31, --124,-127, -31,-123, -86, -31,-122, -73, -31,-124,-127, -31,-123, -86, -31,-122, -74, -31,-124,-127, - -31,-123, -86, -31,-122, -75, -31,-124,-127, -31,-123, -86, -31,-122, -76, -31,-124,-127, -31,-123, - -86, -31,-122, -77, -31,-124,-127, -31,-123, -86, -31,-122, -78, -31,-124,-127, -31,-123, -86, -31, --122, -79, -31,-124,-127, -31,-123, -86, -31,-122, -80, -31,-124,-127, -31,-123, -86, -31,-122, -81, - -31,-124,-127, -31,-123, -86, -31,-122, -82, -31,-124,-127, -31,-123, -86, -31,-122, -83, -31,-124, --127, -31,-123, -86, -31,-122, -84, -31,-124,-127, -31,-123, -86, -31,-122, -85, -31,-124,-127, -31, --123, -86, -31,-122, -86, -31,-124,-127, -31,-123, -86, -31,-122, -87, -31,-124,-127, -31,-123, -86, - -31,-122, -88, -31,-124,-127, -31,-123, -87, -31,-121,-126, -31,-124,-127, -31,-123, -87, -31,-121, --127, -31,-124,-127, -31,-123, -87, -31,-121,-128, -31,-124,-127, -31,-123, -87, -31,-122, -65, -31, --124,-127, -31,-123, -87, -31,-122, -66, -31,-124,-127, -31,-123, -87, -31,-122, -67, -31,-124,-127, - -31,-123, -87, -31,-122, -68, -31,-124,-127, -31,-123, -87, -31,-122, -69, -31,-124,-127, -31,-123, - -87, -31,-122, -70, -31,-124,-127, -31,-123, -87, -31,-122, -71, -31,-124,-127, -31,-123, -87, -31, --122, -72, -31,-124,-127, -31,-123, -87, -31,-122, -73, -31,-124,-127, -31,-123, -87, -31,-122, -74, - -31,-124,-127, -31,-123, -87, -31,-122, -75, -31,-124,-127, -31,-123, -87, -31,-122, -76, -31,-124, --127, -31,-123, -87, -31,-122, -77, -31,-124,-127, -31,-123, -87, -31,-122, -78, -31,-124,-127, -31, --123, -87, -31,-122, -79, -31,-124,-127, -31,-123, -87, -31,-122, -80, -31,-124,-127, -31,-123, -87, - -31,-122, -81, -31,-124,-127, -31,-123, -87, -31,-122, -82, -31,-124,-127, -31,-123, -87, -31,-122, - -83, -31,-124,-127, -31,-123, -87, -31,-122, -84, -31,-124,-127, -31,-123, -87, -31,-122, -85, -31, --124,-127, -31,-123, -87, -31,-122, -86, -31,-124,-127, -31,-123, -87, -31,-122, -87, -31,-124,-127, - -31,-123, -87, -31,-122, -88, -31,-124,-127, -31,-123, -88, -31,-121,-126, -31,-124,-127, -31,-123, - -88, -31,-121,-127, -31,-124,-127, -31,-123, -88, -31,-121,-128, -31,-124,-127, -31,-123, -88, -31, --122, -65, -31,-124,-127, -31,-123, -88, -31,-122, -66, -31,-124,-127, -31,-123, -88, -31,-122, -67, - -31,-124,-127, -31,-123, -88, -31,-122, -68, -31,-124,-127, -31,-123, -88, -31,-122, -69, -31,-124, --127, -31,-123, -88, -31,-122, -70, -31,-124,-127, -31,-123, -88, -31,-122, -71, -31,-124,-127, -31, --123, -88, -31,-122, -72, -31,-124,-127, -31,-123, -88, -31,-122, -73, -31,-124,-127, -31,-123, -88, - -31,-122, -74, -31,-124,-127, -31,-123, -88, -31,-122, -75, -31,-124,-127, -31,-123, -88, -31,-122, - -76, -31,-124,-127, -31,-123, -88, -31,-122, -77, -31,-124,-127, -31,-123, -88, -31,-122, -78, -31, --124,-127, -31,-123, -88, -31,-122, -79, -31,-124,-127, -31,-123, -88, -31,-122, -80, -31,-124,-127, - -31,-123, -88, -31,-122, -81, -31,-124,-127, -31,-123, -88, -31,-122, -82, -31,-124,-127, -31,-123, - -88, -31,-122, -83, -31,-124,-127, -31,-123, -88, -31,-122, -84, -31,-124,-127, -31,-123, -88, -31, --122, -85, -31,-124,-127, -31,-123, -88, -31,-122, -86, -31,-124,-127, -31,-123, -88, -31,-122, -87, - -31,-124,-127, -31,-123, -88, -31,-122, -88, -31,-124,-127, -31,-123, -89, -31,-121,-126, -31,-124, --127, -31,-123, -89, -31,-121,-127, -31,-124,-127, -31,-123, -89, -31,-121,-128, -31,-124,-127, -31, --123, -89, -31,-122, -65, -31,-124,-127, -31,-123, -89, -31,-122, -66, -31,-124,-127, -31,-123, -89, - -31,-122, -67, -31,-124,-127, -31,-123, -89, -31,-122, -68, -31,-124,-127, -31,-123, -89, -31,-122, - -69, -31,-124,-127, -31,-123, -89, -31,-122, -70, -31,-124,-127, -31,-123, -89, -31,-122, -71, -31, --124,-127, -31,-123, -89, -31,-122, -72, -31,-124,-127, -31,-123, -89, -31,-122, -73, -31,-124,-127, - -31,-123, -89, -31,-122, -74, -31,-124,-127, -31,-123, -89, -31,-122, -75, -31,-124,-127, -31,-123, - -89, -31,-122, -76, -31,-124,-127, -31,-123, -89, -31,-122, -77, -31,-124,-127, -31,-123, -89, -31, --122, -78, -31,-124,-127, -31,-123, -89, -31,-122, -79, -31,-124,-127, -31,-123, -89, -31,-122, -80, - -31,-124,-127, -31,-123, -89, -31,-122, -81, -31,-124,-127, -31,-123, -89, -31,-122, -82, -31,-124, --127, -31,-123, -89, -31,-122, -83, -31,-124,-127, -31,-123, -89, -31,-122, -84, -31,-124,-127, -31, --123, -89, -31,-122, -85, -31,-124,-127, -31,-123, -89, -31,-122, -86, -31,-124,-127, -31,-123, -89, - -31,-122, -87, -31,-124,-127, -31,-123, -89, -31,-122, -88, -31,-124,-127, -31,-123, -90, -31,-121, --126, -31,-124,-127, -31,-123, -90, -31,-121,-127, -31,-124,-127, -31,-123, -90, -31,-121,-128, -31, --124,-127, -31,-123, -90, -31,-122, -65, -31,-124,-127, -31,-123, -90, -31,-122, -66, -31,-124,-127, - -31,-123, -90, -31,-122, -67, -31,-124,-127, -31,-123, -90, -31,-122, -68, -31,-124,-127, -31,-123, - -90, -31,-122, -69, -31,-124,-127, -31,-123, -90, -31,-122, -70, -31,-124,-127, -31,-123, -90, -31, --122, -71, -31,-124,-127, -31,-123, -90, -31,-122, -72, -31,-124,-127, -31,-123, -90, -31,-122, -73, - -31,-124,-127, -31,-123, -90, -31,-122, -74, -31,-124,-127, -31,-123, -90, -31,-122, -75, -31,-124, --127, -31,-123, -90, -31,-122, -76, -31,-124,-127, -31,-123, -90, -31,-122, -77, -31,-124,-127, -31, --123, -90, -31,-122, -78, -31,-124,-127, -31,-123, -90, -31,-122, -79, -31,-124,-127, -31,-123, -90, - -31,-122, -80, -31,-124,-127, -31,-123, -90, -31,-122, -81, -31,-124,-127, -31,-123, -90, -31,-122, - -82, -31,-124,-127, -31,-123, -90, -31,-122, -83, -31,-124,-127, -31,-123, -90, -31,-122, -84, -31, --124,-127, -31,-123, -90, -31,-122, -85, -31,-124,-127, -31,-123, -90, -31,-122, -86, -31,-124,-127, - -31,-123, -90, -31,-122, -87, -31,-124,-127, -31,-123, -90, -31,-122, -88, -31,-124,-127, -31,-123, - -91, -31,-121,-126, -31,-124,-127, -31,-123, -91, -31,-121,-127, -31,-124,-127, -31,-123, -91, -31, --121,-128, -31,-124,-127, -31,-123, -91, -31,-122, -65, -31,-124,-127, -31,-123, -91, -31,-122, -66, - -31,-124,-127, -31,-123, -91, -31,-122, -67, -31,-124,-127, -31,-123, -91, -31,-122, -68, -31,-124, --127, -31,-123, -91, -31,-122, -69, -31,-124,-127, -31,-123, -91, -31,-122, -70, -31,-124,-127, -31, --123, -91, -31,-122, -71, -31,-124,-127, -31,-123, -91, -31,-122, -72, -31,-124,-127, -31,-123, -91, - -31,-122, -73, -31,-124,-127, -31,-123, -91, -31,-122, -74, -31,-124,-127, -31,-123, -91, -31,-122, - -75, -31,-124,-127, -31,-123, -91, -31,-122, -76, -31,-124,-127, -31,-123, -91, -31,-122, -77, -31, --124,-127, -31,-123, -91, -31,-122, -78, -31,-124,-127, -31,-123, -91, -31,-122, -79, -31,-124,-127, - -31,-123, -91, -31,-122, -80, -31,-124,-127, -31,-123, -91, -31,-122, -81, -31,-124,-127, -31,-123, - -91, -31,-122, -82, -31,-124,-127, -31,-123, -91, -31,-122, -83, -31,-124,-127, -31,-123, -91, -31, --122, -84, -31,-124,-127, -31,-123, -91, -31,-122, -85, -31,-124,-127, -31,-123, -91, -31,-122, -86, - -31,-124,-127, -31,-123, -91, -31,-122, -87, -31,-124,-127, -31,-123, -91, -31,-122, -88, -31,-124, --127, -31,-123, -92, -31,-121,-126, -31,-124,-127, -31,-123, -92, -31,-121,-127, -31,-124,-127, -31, --123, -92, -31,-121,-128, -31,-124,-127, -31,-123, -92, -31,-122, -65, -31,-124,-127, -31,-123, -92, - -31,-122, -66, -31,-124,-127, -31,-123, -92, -31,-122, -67, -31,-124,-127, -31,-123, -92, -31,-122, - -68, -31,-124,-127, -31,-123, -92, -31,-122, -69, -31,-124,-127, -31,-123, -92, -31,-122, -70, -31, --124,-127, -31,-123, -92, -31,-122, -71, -31,-124,-127, -31,-123, -92, -31,-122, -72, -31,-124,-127, - -31,-123, -92, -31,-122, -73, -31,-124,-127, -31,-123, -92, -31,-122, -74, -31,-124,-127, -31,-123, - -92, -31,-122, -75, -31,-124,-127, -31,-123, -92, -31,-122, -76, -31,-124,-127, -31,-123, -92, -31, --122, -77, -31,-124,-127, -31,-123, -92, -31,-122, -78, -31,-124,-127, -31,-123, -92, -31,-122, -79, - -31,-124,-127, -31,-123, -92, -31,-122, -80, -31,-124,-127, -31,-123, -92, -31,-122, -81, -31,-124, --127, -31,-123, -92, -31,-122, -82, -31,-124,-127, -31,-123, -92, -31,-122, -83, -31,-124,-127, -31, --123, -92, -31,-122, -84, -31,-124,-127, -31,-123, -92, -31,-122, -85, -31,-124,-127, -31,-123, -92, - -31,-122, -86, -31,-124,-127, -31,-123, -92, -31,-122, -87, -31,-124,-127, -31,-123, -92, -31,-122, - -88, -31,-124,-127, -31,-123, -93, -31,-121,-126, -31,-124,-127, -31,-123, -93, -31,-121,-127, -31, --124,-127, -31,-123, -93, -31,-121,-128, -31,-124,-127, -31,-123, -93, -31,-122, -65, -31,-124,-127, - -31,-123, -93, -31,-122, -66, -31,-124,-127, -31,-123, -93, -31,-122, -67, -31,-124,-127, -31,-123, - -93, -31,-122, -68, -31,-124,-127, -31,-123, -93, -31,-122, -69, -31,-124,-127, -31,-123, -93, -31, --122, -70, -31,-124,-127, -31,-123, -93, -31,-122, -71, -31,-124,-127, -31,-123, -93, -31,-122, -72, - -31,-124,-127, -31,-123, -93, -31,-122, -73, -31,-124,-127, -31,-123, -93, -31,-122, -74, -31,-124, --127, -31,-123, -93, -31,-122, -75, -31,-124,-127, -31,-123, -93, -31,-122, -76, -31,-124,-127, -31, --123, -93, -31,-122, -77, -31,-124,-127, -31,-123, -93, -31,-122, -78, -31,-124,-127, -31,-123, -93, - -31,-122, -79, -31,-124,-127, -31,-123, -93, -31,-122, -80, -31,-124,-127, -31,-123, -93, -31,-122, - -81, -31,-124,-127, -31,-123, -93, -31,-122, -82, -31,-124,-127, -31,-123, -93, -31,-122, -83, -31, --124,-127, -31,-123, -93, -31,-122, -84, -31,-124,-127, -31,-123, -93, -31,-122, -85, -31,-124,-127, - -31,-123, -93, -31,-122, -86, -31,-124,-127, -31,-123, -93, -31,-122, -87, -31,-124,-127, -31,-123, - -93, -31,-122, -88, -31,-124,-127, -31,-123, -94, -31,-121,-126, -31,-124,-127, -31,-123, -94, -31, --121,-127, -31,-124,-127, -31,-123, -94, -31,-121,-128, -31,-124,-127, -31,-123, -94, -31,-122, -65, - -31,-124,-127, -31,-123, -94, -31,-122, -66, -31,-124,-127, -31,-123, -94, -31,-122, -67, -31,-124, --127, -31,-123, -94, -31,-122, -68, -31,-124,-127, -31,-123, -94, -31,-122, -69, -31,-124,-127, -31, --123, -94, -31,-122, -70, -31,-124,-127, -31,-123, -94, -31,-122, -71, -31,-124,-127, -31,-123, -94, - -31,-122, -72, -31,-124,-127, -31,-123, -94, -31,-122, -73, -31,-124,-127, -31,-123, -94, -31,-122, - -74, -31,-124,-127, -31,-123, -94, -31,-122, -75, -31,-124,-127, -31,-123, -94, -31,-122, -76, -31, --124,-127, -31,-123, -94, -31,-122, -77, -31,-124,-127, -31,-123, -94, -31,-122, -78, -31,-124,-127, - -31,-123, -94, -31,-122, -79, -31,-124,-127, -31,-123, -94, -31,-122, -80, -31,-124,-127, -31,-123, - -94, -31,-122, -81, -31,-124,-127, -31,-123, -94, -31,-122, -82, -31,-124,-127, -31,-123, -94, -31, --122, -83, -31,-124,-127, -31,-123, -94, -31,-122, -84, -31,-124,-127, -31,-123, -94, -31,-122, -85, - -31,-124,-127, -31,-123, -94, -31,-122, -86, -31,-124,-127, -31,-123, -94, -31,-122, -87, -31,-124, --127, -31,-123, -94, -31,-122, -88, -31,-124,-127, -31,-123, -95, -31,-121,-126, -31,-124,-127, -31, --123, -95, -31,-121,-127, -31,-124,-127, -31,-123, -95, -31,-121,-128, -31,-124,-127, -31,-123, -95, - -31,-122, -65, -31,-124,-127, -31,-123, -95, -31,-122, -66, -31,-124,-127, -31,-123, -95, -31,-122, - -67, -31,-124,-127, -31,-123, -95, -31,-122, -68, -31,-124,-127, -31,-123, -95, -31,-122, -69, -31, --124,-127, -31,-123, -95, -31,-122, -70, -31,-124,-127, -31,-123, -95, -31,-122, -71, -31,-124,-127, - -31,-123, -95, -31,-122, -72, -31,-124,-127, -31,-123, -95, -31,-122, -73, -31,-124,-127, -31,-123, - -95, -31,-122, -74, -31,-124,-127, -31,-123, -95, -31,-122, -75, -31,-124,-127, -31,-123, -95, -31, --122, -76, -31,-124,-127, -31,-123, -95, -31,-122, -77, -31,-124,-127, -31,-123, -95, -31,-122, -78, - -31,-124,-127, -31,-123, -95, -31,-122, -79, -31,-124,-127, -31,-123, -95, -31,-122, -80, -31,-124, --127, -31,-123, -95, -31,-122, -81, -31,-124,-127, -31,-123, -95, -31,-122, -82, -31,-124,-127, -31, --123, -95, -31,-122, -83, -31,-124,-127, -31,-123, -95, -31,-122, -84, -31,-124,-127, -31,-123, -95, - -31,-122, -85, -31,-124,-127, -31,-123, -95, -31,-122, -86, -31,-124,-127, -31,-123, -95, -31,-122, - -87, -31,-124,-127, -31,-123, -95, -31,-122, -88, -31,-124,-128, -31,-123, -75, -31,-121,-126, -31, --124,-128, -31,-123, -75, -31,-121,-127, -31,-124,-128, -31,-123, -75, -31,-121,-128, -31,-124,-128, - -31,-123, -75, -31,-122, -65, -31,-124,-128, -31,-123, -75, -31,-122, -66, -31,-124,-128, -31,-123, - -75, -31,-122, -67, -31,-124,-128, -31,-123, -75, -31,-122, -68, -31,-124,-128, -31,-123, -75, -31, --122, -69, -31,-124,-128, -31,-123, -75, -31,-122, -70, -31,-124,-128, -31,-123, -75, -31,-122, -71, - -31,-124,-128, -31,-123, -75, -31,-122, -72, -31,-124,-128, -31,-123, -75, -31,-122, -73, -31,-124, --128, -31,-123, -75, -31,-122, -74, -31,-124,-128, -31,-123, -75, -31,-122, -75, -31,-124,-128, -31, --123, -75, -31,-122, -76, -31,-124,-128, -31,-123, -75, -31,-122, -77, -31,-124,-128, -31,-123, -75, - -31,-122, -78, -31,-124,-128, -31,-123, -75, -31,-122, -79, -31,-124,-128, -31,-123, -75, -31,-122, - -80, -31,-124,-128, -31,-123, -75, -31,-122, -81, -31,-124,-128, -31,-123, -75, -31,-122, -82, -31, --124,-128, -31,-123, -75, -31,-122, -83, -31,-124,-128, -31,-123, -75, -31,-122, -84, -31,-124,-128, - -31,-123, -75, -31,-122, -85, -31,-124,-128, -31,-123, -75, -31,-122, -86, -31,-124,-128, -31,-123, - -75, -31,-122, -87, -31,-124,-128, -31,-123, -75, -31,-122, -88, -31,-124,-128, -31,-123, -76, -31, --121,-126, -31,-124,-128, -31,-123, -76, -31,-121,-127, -31,-124,-128, -31,-123, -76, -31,-121,-128, - -31,-124,-128, -31,-123, -76, -31,-122, -65, -31,-124,-128, -31,-123, -76, -31,-122, -66, -31,-124, --128, -31,-123, -76, -31,-122, -67, -31,-124,-128, -31,-123, -76, -31,-122, -68, -31,-124,-128, -31, --123, -76, -31,-122, -69, -31,-124,-128, -31,-123, -76, -31,-122, -70, -31,-124,-128, -31,-123, -76, - -31,-122, -71, -31,-124,-128, -31,-123, -76, -31,-122, -72, -31,-124,-128, -31,-123, -76, -31,-122, - -73, -31,-124,-128, -31,-123, -76, -31,-122, -74, -31,-124,-128, -31,-123, -76, -31,-122, -75, -31, --124,-128, -31,-123, -76, -31,-122, -76, -31,-124,-128, -31,-123, -76, -31,-122, -77, -31,-124,-128, - -31,-123, -76, -31,-122, -78, -31,-124,-128, -31,-123, -76, -31,-122, -79, -31,-124,-128, -31,-123, - -76, -31,-122, -80, -31,-124,-128, -31,-123, -76, -31,-122, -81, -31,-124,-128, -31,-123, -76, -31, --122, -82, -31,-124,-128, -31,-123, -76, -31,-122, -83, -31,-124,-128, -31,-123, -76, -31,-122, -84, - -31,-124,-128, -31,-123, -76, -31,-122, -85, -31,-124,-128, -31,-123, -76, -31,-122, -86, -31,-124, --128, -31,-123, -76, -31,-122, -87, -31,-124,-128, -31,-123, -76, -31,-122, -88, -31,-124,-128, -31, --123, -77, -31,-121,-126, -31,-124,-128, -31,-123, -77, -31,-121,-127, -31,-124,-128, -31,-123, -77, - -31,-121,-128, -31,-124,-128, -31,-123, -77, -31,-122, -65, -31,-124,-128, -31,-123, -77, -31,-122, - -66, -31,-124,-128, -31,-123, -77, -31,-122, -67, -31,-124,-128, -31,-123, -77, -31,-122, -68, -31, --124,-128, -31,-123, -77, -31,-122, -69, -31,-124,-128, -31,-123, -77, -31,-122, -70, -31,-124,-128, - -31,-123, -77, -31,-122, -71, -31,-124,-128, -31,-123, -77, -31,-122, -72, -31,-124,-128, -31,-123, - -77, -31,-122, -73, -31,-124,-128, -31,-123, -77, -31,-122, -74, -31,-124,-128, -31,-123, -77, -31, --122, -75, -31,-124,-128, -31,-123, -77, -31,-122, -76, -31,-124,-128, -31,-123, -77, -31,-122, -77, - -31,-124,-128, -31,-123, -77, -31,-122, -78, -31,-124,-128, -31,-123, -77, -31,-122, -79, -31,-124, --128, -31,-123, -77, -31,-122, -80, -31,-124,-128, -31,-123, -77, -31,-122, -81, -31,-124,-128, -31, --123, -77, -31,-122, -82, -31,-124,-128, -31,-123, -77, -31,-122, -83, -31,-124,-128, -31,-123, -77, - -31,-122, -84, -31,-124,-128, -31,-123, -77, -31,-122, -85, -31,-124,-128, -31,-123, -77, -31,-122, - -86, -31,-124,-128, -31,-123, -77, -31,-122, -87, -31,-124,-128, -31,-123, -77, -31,-122, -88, -31, --124,-128, -31,-123, -78, -31,-121,-126, -31,-124,-128, -31,-123, -78, -31,-121,-127, -31,-124,-128, - -31,-123, -78, -31,-121,-128, -31,-124,-128, -31,-123, -78, -31,-122, -65, -31,-124,-128, -31,-123, - -78, -31,-122, -66, -31,-124,-128, -31,-123, -78, -31,-122, -67, -31,-124,-128, -31,-123, -78, -31, --122, -68, -31,-124,-128, -31,-123, -78, -31,-122, -69, -31,-124,-128, -31,-123, -78, -31,-122, -70, - -31,-124,-128, -31,-123, -78, -31,-122, -71, -31,-124,-128, -31,-123, -78, -31,-122, -72, -31,-124, --128, -31,-123, -78, -31,-122, -73, -31,-124,-128, -31,-123, -78, -31,-122, -74, -31,-124,-128, -31, --123, -78, -31,-122, -75, -31,-124,-128, -31,-123, -78, -31,-122, -76, -31,-124,-128, -31,-123, -78, - -31,-122, -77, -31,-124,-128, -31,-123, -78, -31,-122, -78, -31,-124,-128, -31,-123, -78, -31,-122, - -79, -31,-124,-128, -31,-123, -78, -31,-122, -80, -31,-124,-128, -31,-123, -78, -31,-122, -81, -31, --124,-128, -31,-123, -78, -31,-122, -82, -31,-124,-128, -31,-123, -78, -31,-122, -83, -31,-124,-128, - -31,-123, -78, -31,-122, -84, -31,-124,-128, -31,-123, -78, -31,-122, -85, -31,-124,-128, -31,-123, - -78, -31,-122, -86, -31,-124,-128, -31,-123, -78, -31,-122, -87, -31,-124,-128, -31,-123, -78, -31, --122, -88, -31,-124,-128, -31,-123, -79, -31,-121,-126, -31,-124,-128, -31,-123, -79, -31,-121,-127, - -31,-124,-128, -31,-123, -79, -31,-121,-128, -31,-124,-128, -31,-123, -79, -31,-122, -65, -31,-124, --128, -31,-123, -79, -31,-122, -66, -31,-124,-128, -31,-123, -79, -31,-122, -67, -31,-124,-128, -31, --123, -79, -31,-122, -68, -31,-124,-128, -31,-123, -79, -31,-122, -69, -31,-124,-128, -31,-123, -79, - -31,-122, -70, -31,-124,-128, -31,-123, -79, -31,-122, -71, -31,-124,-128, -31,-123, -79, -31,-122, - -72, -31,-124,-128, -31,-123, -79, -31,-122, -73, -31,-124,-128, -31,-123, -79, -31,-122, -74, -31, --124,-128, -31,-123, -79, -31,-122, -75, -31,-124,-128, -31,-123, -79, -31,-122, -76, -31,-124,-128, - -31,-123, -79, -31,-122, -77, -31,-124,-128, -31,-123, -79, -31,-122, -78, -31,-124,-128, -31,-123, - -79, -31,-122, -79, -31,-124,-128, -31,-123, -79, -31,-122, -80, -31,-124,-128, -31,-123, -79, -31, --122, -81, -31,-124,-128, -31,-123, -79, -31,-122, -82, -31,-124,-128, -31,-123, -79, -31,-122, -83, - -31,-124,-128, -31,-123, -79, -31,-122, -84, -31,-124,-128, -31,-123, -79, -31,-122, -85, -31,-124, --128, -31,-123, -79, -31,-122, -86, -31,-124,-128, -31,-123, -79, -31,-122, -87, -31,-124,-128, -31, --123, -79, -31,-122, -88, -31,-124,-128, -31,-123, -80, -31,-121,-126, -31,-124,-128, -31,-123, -80, - -31,-121,-127, -31,-124,-128, -31,-123, -80, -31,-121,-128, -31,-124,-128, -31,-123, -80, -31,-122, - -65, -31,-124,-128, -31,-123, -80, -31,-122, -66, -31,-124,-128, -31,-123, -80, -31,-122, -67, -31, --124,-128, -31,-123, -80, -31,-122, -68, -31,-124,-128, -31,-123, -80, -31,-122, -69, -31,-124,-128, - -31,-123, -80, -31,-122, -70, -31,-124,-128, -31,-123, -80, -31,-122, -71, -31,-124,-128, -31,-123, - -80, -31,-122, -72, -31,-124,-128, -31,-123, -80, -31,-122, -73, -31,-124,-128, -31,-123, -80, -31, --122, -74, -31,-124,-128, -31,-123, -80, -31,-122, -75, -31,-124,-128, -31,-123, -80, -31,-122, -76, - -31,-124,-128, -31,-123, -80, -31,-122, -77, -31,-124,-128, -31,-123, -80, -31,-122, -78, -31,-124, --128, -31,-123, -80, -31,-122, -79, -31,-124,-128, -31,-123, -80, -31,-122, -80, -31,-124,-128, -31, --123, -80, -31,-122, -81, -31,-124,-128, -31,-123, -80, -31,-122, -82, -31,-124,-128, -31,-123, -80, - -31,-122, -83, -31,-124,-128, -31,-123, -80, -31,-122, -84, -31,-124,-128, -31,-123, -80, -31,-122, - -85, -31,-124,-128, -31,-123, -80, -31,-122, -86, -31,-124,-128, -31,-123, -80, -31,-122, -87, -31, --124,-128, -31,-123, -80, -31,-122, -88, -31,-124,-128, -31,-123, -81, -31,-121,-126, -31,-124,-128, - -31,-123, -81, -31,-121,-127, -31,-124,-128, -31,-123, -81, -31,-121,-128, -31,-124,-128, -31,-123, - -81, -31,-122, -65, -31,-124,-128, -31,-123, -81, -31,-122, -66, -31,-124,-128, -31,-123, -81, -31, --122, -67, -31,-124,-128, -31,-123, -81, -31,-122, -68, -31,-124,-128, -31,-123, -81, -31,-122, -69, - -31,-124,-128, -31,-123, -81, -31,-122, -70, -31,-124,-128, -31,-123, -81, -31,-122, -71, -31,-124, --128, -31,-123, -81, -31,-122, -72, -31,-124,-128, -31,-123, -81, -31,-122, -73, -31,-124,-128, -31, --123, -81, -31,-122, -74, -31,-124,-128, -31,-123, -81, -31,-122, -75, -31,-124,-128, -31,-123, -81, - -31,-122, -76, -31,-124,-128, -31,-123, -81, -31,-122, -77, -31,-124,-128, -31,-123, -81, -31,-122, - -78, -31,-124,-128, -31,-123, -81, -31,-122, -79, -31,-124,-128, -31,-123, -81, -31,-122, -80, -31, --124,-128, -31,-123, -81, -31,-122, -81, -31,-124,-128, -31,-123, -81, -31,-122, -82, -31,-124,-128, - -31,-123, -81, -31,-122, -83, -31,-124,-128, -31,-123, -81, -31,-122, -84, -31,-124,-128, -31,-123, - -81, -31,-122, -85, -31,-124,-128, -31,-123, -81, -31,-122, -86, -31,-124,-128, -31,-123, -81, -31, --122, -87, -31,-124,-128, -31,-123, -81, -31,-122, -88, -31,-124,-128, -31,-123, -82, -31,-121,-126, - -31,-124,-128, -31,-123, -82, -31,-121,-127, -31,-124,-128, -31,-123, -82, -31,-121,-128, -31,-124, --128, -31,-123, -82, -31,-122, -65, -31,-124,-128, -31,-123, -82, -31,-122, -66, -31,-124,-128, -31, --123, -82, -31,-122, -67, -31,-124,-128, -31,-123, -82, -31,-122, -68, -31,-124,-128, -31,-123, -82, - -31,-122, -69, -31,-124,-128, -31,-123, -82, -31,-122, -70, -31,-124,-128, -31,-123, -82, -31,-122, - -71, -31,-124,-128, -31,-123, -82, -31,-122, -72, -31,-124,-128, -31,-123, -82, -31,-122, -73, -31, --124,-128, -31,-123, -82, -31,-122, -74, -31,-124,-128, -31,-123, -82, -31,-122, -75, -31,-124,-128, - -31,-123, -82, -31,-122, -76, -31,-124,-128, -31,-123, -82, -31,-122, -77, -31,-124,-128, -31,-123, - -82, -31,-122, -78, -31,-124,-128, -31,-123, -82, -31,-122, -79, -31,-124,-128, -31,-123, -82, -31, --122, -80, -31,-124,-128, -31,-123, -82, -31,-122, -81, -31,-124,-128, -31,-123, -82, -31,-122, -82, - -31,-124,-128, -31,-123, -82, -31,-122, -83, -31,-124,-128, -31,-123, -82, -31,-122, -84, -31,-124, --128, -31,-123, -82, -31,-122, -85, -31,-124,-128, -31,-123, -82, -31,-122, -86, -31,-124,-128, -31, --123, -82, -31,-122, -87, -31,-124,-128, -31,-123, -82, -31,-122, -88, -31,-124,-128, -31,-123, -83, - -31,-121,-126, -31,-124,-128, -31,-123, -83, -31,-121,-127, -31,-124,-128, -31,-123, -83, -31,-121, --128, -31,-124,-128, -31,-123, -83, -31,-122, -65, -31,-124,-128, -31,-123, -83, -31,-122, -66, -31, --124,-128, -31,-123, -83, -31,-122, -67, -31,-124,-128, -31,-123, -83, -31,-122, -68, -31,-124,-128, - -31,-123, -83, -31,-122, -69, -31,-124,-128, -31,-123, -83, -31,-122, -70, -31,-124,-128, -31,-123, - -83, -31,-122, -71, -31,-124,-128, -31,-123, -83, -31,-122, -72, -31,-124,-128, -31,-123, -83, -31, --122, -73, -31,-124,-128, -31,-123, -83, -31,-122, -74, -31,-124,-128, -31,-123, -83, -31,-122, -75, - -31,-124,-128, -31,-123, -83, -31,-122, -76, -31,-124,-128, -31,-123, -83, -31,-122, -77, -31,-124, --128, -31,-123, -83, -31,-122, -78, -31,-124,-128, -31,-123, -83, -31,-122, -79, -31,-124,-128, -31, --123, -83, -31,-122, -80, -31,-124,-128, -31,-123, -83, -31,-122, -81, -31,-124,-128, -31,-123, -83, - -31,-122, -82, -31,-124,-128, -31,-123, -83, -31,-122, -83, -31,-124,-128, -31,-123, -83, -31,-122, - -84, -31,-124,-128, -31,-123, -83, -31,-122, -85, -31,-124,-128, -31,-123, -83, -31,-122, -86, -31, --124,-128, -31,-123, -83, -31,-122, -87, -31,-124,-128, -31,-123, -83, -31,-122, -88, -31,-124,-128, - -31,-123, -84, -31,-121,-126, -31,-124,-128, -31,-123, -84, -31,-121,-127, -31,-124,-128, -31,-123, - -84, -31,-121,-128, -31,-124,-128, -31,-123, -84, -31,-122, -65, -31,-124,-128, -31,-123, -84, -31, --122, -66, -31,-124,-128, -31,-123, -84, -31,-122, -67, -31,-124,-128, -31,-123, -84, -31,-122, -68, - -31,-124,-128, -31,-123, -84, -31,-122, -69, -31,-124,-128, -31,-123, -84, -31,-122, -70, -31,-124, --128, -31,-123, -84, -31,-122, -71, -31,-124,-128, -31,-123, -84, -31,-122, -72, -31,-124,-128, -31, --123, -84, -31,-122, -73, -31,-124,-128, -31,-123, -84, -31,-122, -74, -31,-124,-128, -31,-123, -84, - -31,-122, -75, -31,-124,-128, -31,-123, -84, -31,-122, -76, -31,-124,-128, -31,-123, -84, -31,-122, - -77, -31,-124,-128, -31,-123, -84, -31,-122, -78, -31,-124,-128, -31,-123, -84, -31,-122, -79, -31, --124,-128, -31,-123, -84, -31,-122, -80, -31,-124,-128, -31,-123, -84, -31,-122, -81, -31,-124,-128, - -31,-123, -84, -31,-122, -82, -31,-124,-128, -31,-123, -84, -31,-122, -83, -31,-124,-128, -31,-123, - -84, -31,-122, -84, -31,-124,-128, -31,-123, -84, -31,-122, -85, -31,-124,-128, -31,-123, -84, -31, --122, -86, -31,-124,-128, -31,-123, -84, -31,-122, -87, -31,-124,-128, -31,-123, -84, -31,-122, -88, - -31,-124,-128, -31,-123, -85, -31,-121,-126, -31,-124,-128, -31,-123, -85, -31,-121,-127, -31,-124, --128, -31,-123, -85, -31,-121,-128, -31,-124,-128, -31,-123, -85, -31,-122, -65, -31,-124,-128, -31, --123, -85, -31,-122, -66, -31,-124,-128, -31,-123, -85, -31,-122, -67, -31,-124,-128, -31,-123, -85, - -31,-122, -68, -31,-124,-128, -31,-123, -85, -31,-122, -69, -31,-124,-128, -31,-123, -85, -31,-122, - -70, -31,-124,-128, -31,-123, -85, -31,-122, -71, -31,-124,-128, -31,-123, -85, -31,-122, -72, -31, --124,-128, -31,-123, -85, -31,-122, -73, -31,-124,-128, -31,-123, -85, -31,-122, -74, -31,-124,-128, - -31,-123, -85, -31,-122, -75, -31,-124,-128, -31,-123, -85, -31,-122, -76, -31,-124,-128, -31,-123, - -85, -31,-122, -77, -31,-124,-128, -31,-123, -85, -31,-122, -78, -31,-124,-128, -31,-123, -85, -31, --122, -79, -31,-124,-128, -31,-123, -85, -31,-122, -80, -31,-124,-128, -31,-123, -85, -31,-122, -81, - -31,-124,-128, -31,-123, -85, -31,-122, -82, -31,-124,-128, -31,-123, -85, -31,-122, -83, -31,-124, --128, -31,-123, -85, -31,-122, -84, -31,-124,-128, -31,-123, -85, -31,-122, -85, -31,-124,-128, -31, --123, -85, -31,-122, -86, -31,-124,-128, -31,-123, -85, -31,-122, -87, -31,-124,-128, -31,-123, -85, - -31,-122, -88, -31,-124,-128, -31,-123, -86, -31,-121,-126, -31,-124,-128, -31,-123, -86, -31,-121, --127, -31,-124,-128, -31,-123, -86, -31,-121,-128, -31,-124,-128, -31,-123, -86, -31,-122, -65, -31, --124,-128, -31,-123, -86, -31,-122, -66, -31,-124,-128, -31,-123, -86, -31,-122, -67, -31,-124,-128, - -31,-123, -86, -31,-122, -68, -31,-124,-128, -31,-123, -86, -31,-122, -69, -31,-124,-128, -31,-123, - -86, -31,-122, -70, -31,-124,-128, -31,-123, -86, -31,-122, -71, -31,-124,-128, -31,-123, -86, -31, --122, -72, -31,-124,-128, -31,-123, -86, -31,-122, -73, -31,-124,-128, -31,-123, -86, -31,-122, -74, - -31,-124,-128, -31,-123, -86, -31,-122, -75, -31,-124,-128, -31,-123, -86, -31,-122, -76, -31,-124, --128, -31,-123, -86, -31,-122, -77, -31,-124,-128, -31,-123, -86, -31,-122, -78, -31,-124,-128, -31, --123, -86, -31,-122, -79, -31,-124,-128, -31,-123, -86, -31,-122, -80, -31,-124,-128, -31,-123, -86, - -31,-122, -81, -31,-124,-128, -31,-123, -86, -31,-122, -82, -31,-124,-128, -31,-123, -86, -31,-122, - -83, -31,-124,-128, -31,-123, -86, -31,-122, -84, -31,-124,-128, -31,-123, -86, -31,-122, -85, -31, --124,-128, -31,-123, -86, -31,-122, -86, -31,-124,-128, -31,-123, -86, -31,-122, -87, -31,-124,-128, - -31,-123, -86, -31,-122, -88, -31,-124,-128, -31,-123, -87, -31,-121,-126, -31,-124,-128, -31,-123, - -87, -31,-121,-127, -31,-124,-128, -31,-123, -87, -31,-121,-128, -31,-124,-128, -31,-123, -87, -31, --122, -65, -31,-124,-128, -31,-123, -87, -31,-122, -66, -31,-124,-128, -31,-123, -87, -31,-122, -67, - -31,-124,-128, -31,-123, -87, -31,-122, -68, -31,-124,-128, -31,-123, -87, -31,-122, -69, -31,-124, --128, -31,-123, -87, -31,-122, -70, -31,-124,-128, -31,-123, -87, -31,-122, -71, -31,-124,-128, -31, --123, -87, -31,-122, -72, -31,-124,-128, -31,-123, -87, -31,-122, -73, -31,-124,-128, -31,-123, -87, - -31,-122, -74, -31,-124,-128, -31,-123, -87, -31,-122, -75, -31,-124,-128, -31,-123, -87, -31,-122, - -76, -31,-124,-128, -31,-123, -87, -31,-122, -77, -31,-124,-128, -31,-123, -87, -31,-122, -78, -31, --124,-128, -31,-123, -87, -31,-122, -79, -31,-124,-128, -31,-123, -87, -31,-122, -80, -31,-124,-128, - -31,-123, -87, -31,-122, -81, -31,-124,-128, -31,-123, -87, -31,-122, -82, -31,-124,-128, -31,-123, - -87, -31,-122, -83, -31,-124,-128, -31,-123, -87, -31,-122, -84, -31,-124,-128, -31,-123, -87, -31, --122, -85, -31,-124,-128, -31,-123, -87, -31,-122, -86, -31,-124,-128, -31,-123, -87, -31,-122, -87, - -31,-124,-128, -31,-123, -87, -31,-122, -88, -31,-124,-128, -31,-123, -88, -31,-121,-126, -31,-124, --128, -31,-123, -88, -31,-121,-127, -31,-124,-128, -31,-123, -88, -31,-121,-128, -31,-124,-128, -31, --123, -88, -31,-122, -65, -31,-124,-128, -31,-123, -88, -31,-122, -66, -31,-124,-128, -31,-123, -88, - -31,-122, -67, -31,-124,-128, -31,-123, -88, -31,-122, -68, -31,-124,-128, -31,-123, -88, -31,-122, - -69, -31,-124,-128, -31,-123, -88, -31,-122, -70, -31,-124,-128, -31,-123, -88, -31,-122, -71, -31, --124,-128, -31,-123, -88, -31,-122, -72, -31,-124,-128, -31,-123, -88, -31,-122, -73, -31,-124,-128, - -31,-123, -88, -31,-122, -74, -31,-124,-128, -31,-123, -88, -31,-122, -75, -31,-124,-128, -31,-123, - -88, -31,-122, -76, -31,-124,-128, -31,-123, -88, -31,-122, -77, -31,-124,-128, -31,-123, -88, -31, --122, -78, -31,-124,-128, -31,-123, -88, -31,-122, -79, -31,-124,-128, -31,-123, -88, -31,-122, -80, - -31,-124,-128, -31,-123, -88, -31,-122, -81, -31,-124,-128, -31,-123, -88, -31,-122, -82, -31,-124, --128, -31,-123, -88, -31,-122, -83, -31,-124,-128, -31,-123, -88, -31,-122, -84, -31,-124,-128, -31, --123, -88, -31,-122, -85, -31,-124,-128, -31,-123, -88, -31,-122, -86, -31,-124,-128, -31,-123, -88, - -31,-122, -87, -31,-124,-128, -31,-123, -88, -31,-122, -88, -31,-124,-128, -31,-123, -89, -31,-121, --126, -31,-124,-128, -31,-123, -89, -31,-121,-127, -31,-124,-128, -31,-123, -89, -31,-121,-128, -31, --124,-128, -31,-123, -89, -31,-122, -65, -31,-124,-128, -31,-123, -89, -31,-122, -66, -31,-124,-128, - -31,-123, -89, -31,-122, -67, -31,-124,-128, -31,-123, -89, -31,-122, -68, -31,-124,-128, -31,-123, - -89, -31,-122, -69, -31,-124,-128, -31,-123, -89, -31,-122, -70, -31,-124,-128, -31,-123, -89, -31, --122, -71, -31,-124,-128, -31,-123, -89, -31,-122, -72, -31,-124,-128, -31,-123, -89, -31,-122, -73, - -31,-124,-128, -31,-123, -89, -31,-122, -74, -31,-124,-128, -31,-123, -89, -31,-122, -75, -31,-124, --128, -31,-123, -89, -31,-122, -76, -31,-124,-128, -31,-123, -89, -31,-122, -77, -31,-124,-128, -31, --123, -89, -31,-122, -78, -31,-124,-128, -31,-123, -89, -31,-122, -79, -31,-124,-128, -31,-123, -89, - -31,-122, -80, -31,-124,-128, -31,-123, -89, -31,-122, -81, -31,-124,-128, -31,-123, -89, -31,-122, - -82, -31,-124,-128, -31,-123, -89, -31,-122, -83, -31,-124,-128, -31,-123, -89, -31,-122, -84, -31, --124,-128, -31,-123, -89, -31,-122, -85, -31,-124,-128, -31,-123, -89, -31,-122, -86, -31,-124,-128, - -31,-123, -89, -31,-122, -87, -31,-124,-128, -31,-123, -89, -31,-122, -88, -31,-124,-128, -31,-123, - -90, -31,-121,-126, -31,-124,-128, -31,-123, -90, -31,-121,-127, -31,-124,-128, -31,-123, -90, -31, --121,-128, -31,-124,-128, -31,-123, -90, -31,-122, -65, -31,-124,-128, -31,-123, -90, -31,-122, -66, - -31,-124,-128, -31,-123, -90, -31,-122, -67, -31,-124,-128, -31,-123, -90, -31,-122, -68, -31,-124, --128, -31,-123, -90, -31,-122, -69, -31,-124,-128, -31,-123, -90, -31,-122, -70, -31,-124,-128, -31, --123, -90, -31,-122, -71, -31,-124,-128, -31,-123, -90, -31,-122, -72, -31,-124,-128, -31,-123, -90, - -31,-122, -73, -31,-124,-128, -31,-123, -90, -31,-122, -74, -31,-124,-128, -31,-123, -90, -31,-122, - -75, -31,-124,-128, -31,-123, -90, -31,-122, -76, -31,-124,-128, -31,-123, -90, -31,-122, -77, -31, --124,-128, -31,-123, -90, -31,-122, -78, -31,-124,-128, -31,-123, -90, -31,-122, -79, -31,-124,-128, - -31,-123, -90, -31,-122, -80, -31,-124,-128, -31,-123, -90, -31,-122, -81, -31,-124,-128, -31,-123, - -90, -31,-122, -82, -31,-124,-128, -31,-123, -90, -31,-122, -83, -31,-124,-128, -31,-123, -90, -31, --122, -84, -31,-124,-128, -31,-123, -90, -31,-122, -85, -31,-124,-128, -31,-123, -90, -31,-122, -86, - -31,-124,-128, -31,-123, -90, -31,-122, -87, -31,-124,-128, -31,-123, -90, -31,-122, -88, -31,-124, --128, -31,-123, -91, -31,-121,-126, -31,-124,-128, -31,-123, -91, -31,-121,-127, -31,-124,-128, -31, --123, -91, -31,-121,-128, -31,-124,-128, -31,-123, -91, -31,-122, -65, -31,-124,-128, -31,-123, -91, - -31,-122, -66, -31,-124,-128, -31,-123, -91, -31,-122, -67, -31,-124,-128, -31,-123, -91, -31,-122, - -68, -31,-124,-128, -31,-123, -91, -31,-122, -69, -31,-124,-128, -31,-123, -91, -31,-122, -70, -31, --124,-128, -31,-123, -91, -31,-122, -71, -31,-124,-128, -31,-123, -91, -31,-122, -72, -31,-124,-128, - -31,-123, -91, -31,-122, -73, -31,-124,-128, -31,-123, -91, -31,-122, -74, -31,-124,-128, -31,-123, - -91, -31,-122, -75, -31,-124,-128, -31,-123, -91, -31,-122, -76, -31,-124,-128, -31,-123, -91, -31, --122, -77, -31,-124,-128, -31,-123, -91, -31,-122, -78, -31,-124,-128, -31,-123, -91, -31,-122, -79, - -31,-124,-128, -31,-123, -91, -31,-122, -80, -31,-124,-128, -31,-123, -91, -31,-122, -81, -31,-124, --128, -31,-123, -91, -31,-122, -82, -31,-124,-128, -31,-123, -91, -31,-122, -83, -31,-124,-128, -31, --123, -91, -31,-122, -84, -31,-124,-128, -31,-123, -91, -31,-122, -85, -31,-124,-128, -31,-123, -91, - -31,-122, -86, -31,-124,-128, -31,-123, -91, -31,-122, -87, -31,-124,-128, -31,-123, -91, -31,-122, - -88, -31,-124,-128, -31,-123, -92, -31,-121,-126, -31,-124,-128, -31,-123, -92, -31,-121,-127, -31, --124,-128, -31,-123, -92, -31,-121,-128, -31,-124,-128, -31,-123, -92, -31,-122, -65, -31,-124,-128, - -31,-123, -92, -31,-122, -66, -31,-124,-128, -31,-123, -92, -31,-122, -67, -31,-124,-128, -31,-123, - -92, -31,-122, -68, -31,-124,-128, -31,-123, -92, -31,-122, -69, -31,-124,-128, -31,-123, -92, -31, --122, -70, -31,-124,-128, -31,-123, -92, -31,-122, -71, -31,-124,-128, -31,-123, -92, -31,-122, -72, - -31,-124,-128, -31,-123, -92, -31,-122, -73, -31,-124,-128, -31,-123, -92, -31,-122, -74, -31,-124, --128, -31,-123, -92, -31,-122, -75, -31,-124,-128, -31,-123, -92, -31,-122, -76, -31,-124,-128, -31, --123, -92, -31,-122, -77, -31,-124,-128, -31,-123, -92, -31,-122, -78, -31,-124,-128, -31,-123, -92, - -31,-122, -79, -31,-124,-128, -31,-123, -92, -31,-122, -80, -31,-124,-128, -31,-123, -92, -31,-122, - -81, -31,-124,-128, -31,-123, -92, -31,-122, -82, -31,-124,-128, -31,-123, -92, -31,-122, -83, -31, --124,-128, -31,-123, -92, -31,-122, -84, -31,-124,-128, -31,-123, -92, -31,-122, -85, -31,-124,-128, - -31,-123, -92, -31,-122, -86, -31,-124,-128, -31,-123, -92, -31,-122, -87, -31,-124,-128, -31,-123, - -92, -31,-122, -88, -31,-124,-128, -31,-123, -93, -31,-121,-126, -31,-124,-128, -31,-123, -93, -31, --121,-127, -31,-124,-128, -31,-123, -93, -31,-121,-128, -31,-124,-128, -31,-123, -93, -31,-122, -65, - -31,-124,-128, -31,-123, -93, -31,-122, -66, -31,-124,-128, -31,-123, -93, -31,-122, -67, -31,-124, --128, -31,-123, -93, -31,-122, -68, -31,-124,-128, -31,-123, -93, -31,-122, -69, -31,-124,-128, -31, --123, -93, -31,-122, -70, -31,-124,-128, -31,-123, -93, -31,-122, -71, -31,-124,-128, -31,-123, -93, - -31,-122, -72, -31,-124,-128, -31,-123, -93, -31,-122, -73, -31,-124,-128, -31,-123, -93, -31,-122, - -74, -31,-124,-128, -31,-123, -93, -31,-122, -75, -31,-124,-128, -31,-123, -93, -31,-122, -76, -31, --124,-128, -31,-123, -93, -31,-122, -77, -31,-124,-128, -31,-123, -93, -31,-122, -78, -31,-124,-128, - -31,-123, -93, -31,-122, -79, -31,-124,-128, -31,-123, -93, -31,-122, -80, -31,-124,-128, -31,-123, - -93, -31,-122, -81, -31,-124,-128, -31,-123, -93, -31,-122, -82, -31,-124,-128, -31,-123, -93, -31, --122, -83, -31,-124,-128, -31,-123, -93, -31,-122, -84, -31,-124,-128, -31,-123, -93, -31,-122, -85, - -31,-124,-128, -31,-123, -93, -31,-122, -86, -31,-124,-128, -31,-123, -93, -31,-122, -87, -31,-124, --128, -31,-123, -93, -31,-122, -88, -31,-124,-128, -31,-123, -94, -31,-121,-126, -31,-124,-128, -31, --123, -94, -31,-121,-127, -31,-124,-128, -31,-123, -94, -31,-121,-128, -31,-124,-128, -31,-123, -94, - -31,-122, -65, -31,-124,-128, -31,-123, -94, -31,-122, -66, -31,-124,-128, -31,-123, -94, -31,-122, - -67, -31,-124,-128, -31,-123, -94, -31,-122, -68, -31,-124,-128, -31,-123, -94, -31,-122, -69, -31, --124,-128, -31,-123, -94, -31,-122, -70, -31,-124,-128, -31,-123, -94, -31,-122, -71, -31,-124,-128, - -31,-123, -94, -31,-122, -72, -31,-124,-128, -31,-123, -94, -31,-122, -73, -31,-124,-128, -31,-123, - -94, -31,-122, -74, -31,-124,-128, -31,-123, -94, -31,-122, -75, -31,-124,-128, -31,-123, -94, -31, --122, -76, -31,-124,-128, -31,-123, -94, -31,-122, -77, -31,-124,-128, -31,-123, -94, -31,-122, -78, - -31,-124,-128, -31,-123, -94, -31,-122, -79, -31,-124,-128, -31,-123, -94, -31,-122, -80, -31,-124, --128, -31,-123, -94, -31,-122, -81, -31,-124,-128, -31,-123, -94, -31,-122, -82, -31,-124,-128, -31, --123, -94, -31,-122, -83, -31,-124,-128, -31,-123, -94, -31,-122, -84, -31,-124,-128, -31,-123, -94, - -31,-122, -85, -31,-124,-128, -31,-123, -94, -31,-122, -86, -31,-124,-128, -31,-123, -94, -31,-122, - -87, -31,-124,-128, -31,-123, -94, -31,-122, -88, -31,-124,-128, -31,-123, -95, -31,-121,-126, -31, --124,-128, -31,-123, -95, -31,-121,-127, -31,-124,-128, -31,-123, -95, -31,-121,-128, -31,-124,-128, - -31,-123, -95, -31,-122, -65, -31,-124,-128, -31,-123, -95, -31,-122, -66, -31,-124,-128, -31,-123, - -95, -31,-122, -67, -31,-124,-128, -31,-123, -95, -31,-122, -68, -31,-124,-128, -31,-123, -95, -31, --122, -69, -31,-124,-128, -31,-123, -95, -31,-122, -70, -31,-124,-128, -31,-123, -95, -31,-122, -71, - -31,-124,-128, -31,-123, -95, -31,-122, -72, -31,-124,-128, -31,-123, -95, -31,-122, -73, -31,-124, --128, -31,-123, -95, -31,-122, -74, -31,-124,-128, -31,-123, -95, -31,-122, -75, -31,-124,-128, -31, --123, -95, -31,-122, -76, -31,-124,-128, -31,-123, -95, -31,-122, -77, -31,-124,-128, -31,-123, -95, - -31,-122, -78, -31,-124,-128, -31,-123, -95, -31,-122, -79, -31,-124,-128, -31,-123, -95, -31,-122, - -80, -31,-124,-128, -31,-123, -95, -31,-122, -81, -31,-124,-128, -31,-123, -95, -31,-122, -82, -31, --124,-128, -31,-123, -95, -31,-122, -83, -31,-124,-128, -31,-123, -95, -31,-122, -84, -31,-124,-128, - -31,-123, -95, -31,-122, -85, -31,-124,-128, -31,-123, -95, -31,-122, -86, -31,-124,-128, -31,-123, - -95, -31,-122, -87, -31,-124,-128, -31,-123, -95, -31,-122, -88, -49,-119, -51,-126, -51,-123, -49, --119, -52,-127, -51,-123, -49,-119, -52,-128, -51,-123, -49,-123, -52,-120, -51,-126, -49,-123, -52, --120, -52,-128, -50, -71, -52,-120, -51,-126, -50, -71, -52,-120, -52,-128, -50, -73, -51,-126, -51, --123, -50, -73, -52,-127, -51,-123, -50, -73, -52,-128, -51,-123, -50, -79, -51,-126, -51,-123, -50, - -79, -52,-127, -51,-123, -50, -79, -52,-128, -51,-123, -50, -87, -52,-108, -51,-123, -50, -87, -52, --109, -51,-123, -49,-119, -52,-108, -51,-123, -49,-119, -52,-109, -51,-123, -50,-105, -52,-108, -51, --123, -50,-105, -52,-109, -51,-123, -50, -73, -52,-108, -51,-123, -50, -73, -52,-109, -51,-123, -50, --111, -52,-108, -51,-123, -50,-111, -52,-109, -51,-123, -50, -79, -52,-108, -51,-123, -50, -79, -52, --109, -51,-123, -50, -91, -52,-108, -51,-126, -50, -91, -52,-108, -52,-127, -50, -91, -52,-108, -52, --128, -49,-123, -52,-108, -51,-126, -49,-123, -52,-109, -51,-126, -49,-123, -52,-108, -52,-127, -49, --123, -52,-109, -52,-127, -49,-123, -52,-108, -52,-128, -49,-123, -52,-109, -52,-128, -50, -97, -52, --108, -52,-127, -50, -97, -52,-109, -52,-127, -50, -97, -52,-108, -52,-128, -50, -97, -52,-109, -52, --128, -50, -65, -52,-108, -52,-127, -50, -65, -52,-109, -52,-127, -50, -65, -52,-108, -52,-128, -50, - -65, -52,-109, -52,-128, -50,-103, -52,-108, -51,-126, -50,-103, -52,-109, -51,-126, -50,-103, -52, --108, -52,-127, -50,-103, -52,-109, -52,-127, -50,-103, -52,-108, -52,-128, -50,-103, -52,-109, -52, --128, -50, -71, -52,-108, -51,-126, -50, -71, -52,-109, -51,-126, -50, -71, -52,-108, -52,-127, -50, - -71, -52,-109, -52,-127, -50, -71, -52,-108, -52,-128, -50, -71, -52,-109, -52,-128, -50,-107, -52, --108, -52,-127, -50,-107, -52,-109, -52,-127, -50,-107, -52,-108, -52,-128, -50,-107, -52,-109, -52, --128, -50, -75, -52,-108, -52,-127, -50, -75, -52,-109, -52,-127, -50, -75, -52,-108, -52,-128, -50, - -75, -52,-109, -52,-128, 117, -52,-101, -52, -93, 85, -52,-101, -52, -93, 117, -52,-101, -52,-125, - 85, -52,-101, -52,-125, 117, -52,-101, -52,-119, 85, -52,-101, -52,-119, 117, -52,-101, -52,-128, - 85, -52,-101, -52,-128, 117, -52,-101, -52,-127, 85, -52,-101, -52,-127, 111, -52,-101, -52, -93, - 79, -52,-101, -52, -93, 111, -52,-101, -52,-125, 79, -52,-101, -52,-125, 111, -52,-101, -52,-119, - 79, -52,-101, -52,-119, 111, -52,-101, -52,-128, 79, -52,-101, -52,-128, 111, -52,-101, -52,-127, - 79, -52,-101, -52,-127, 111, -52, -93, -52,-126, 79, -52, -93, -52,-126, 111, -52,-126, -52,-125, - 79, -52,-126, -52,-125, 111, -52,-126, -52,-119, 79, -52,-126, -52,-119, 111, -52,-126, -52,-128, - 79, -52,-126, -52,-128, 111, -52,-126, -52,-127, 79, -52,-126, -52,-127, 101, -52, -93, -52,-126, - 69, -52, -93, -52,-126, 101, -52,-126, -52,-125, 69, -52,-126, -52,-125, 101, -52,-126, -52,-119, - 69, -52,-126, -52,-119, 101, -52,-126, -52,-128, 69, -52,-126, -52,-128, 101, -52,-126, -52,-127, - 69, -52,-126, -52,-127, 97, -52, -93, -52,-122, 65, -52, -93, -52,-122, 97, -52,-122, -52,-125, - 65, -52,-122, -52,-125, 97, -52,-122, -52,-119, 65, -52,-122, -52,-119, 97, -52,-122, -52,-128, - 65, -52,-122, -52,-128, 97, -52,-122, -52,-127, 65, -52,-122, -52,-127, 97, -52, -93, -52,-126, - 65, -52, -93, -52,-126, 97, -52,-126, -52,-125, 65, -52,-126, -52,-125, 97, -52,-126, -52,-119, - 65, -52,-126, -52,-119, 97, -52,-126, -52,-128, 65, -52,-126, -52,-128, 97, -52,-126, -52,-127, - 65, -52,-126, -52,-127, 117, -52,-124, -52,-120, 85, -52,-124, -52,-120, 117, -52,-125, -52,-127, - 85, -52,-125, -52,-127, 115, -52, -93, -52,-121, 83, -52, -93, -52,-121, 115, -52,-116, -52,-121, - 83, -52,-116, -52,-121, 115, -52,-127, -52,-121, 83, -52,-127, -52,-121, 114, -52, -93, -52,-124, - 82, -52, -93, -52,-124, 111, -52,-124, -52,-127, 79, -52,-124, -52,-127, 111, -52,-124, -52,-128, - 79, -52,-124, -52,-128, 111, -52,-125, -52,-120, 79, -52,-125, -52,-120, 111, -52,-125, -52,-127, - 79, -52,-125, -52,-127, 108, -52, -93, -52,-124, 76, -52, -93, -52,-124, 105, -52,-120, -52,-127, - 73, -52,-120, -52,-127, 101, -52, -89, -52,-122, 69, -52, -89, -52,-122, 101, -52,-124, -52,-127, - 69, -52,-124, -52,-127, 101, -52,-124, -52,-128, 69, -52,-124, -52,-128, 99, -52, -89, -52,-127, - 67, -52, -89, -52,-127, -32, -73,-103, -32, -73,-113, -32, -73,-118, -32, -77,-122, -32, -77,-126, - -32, -77,-107, -49,-123, -52,-120, -52,-127, -50, -71, -52,-120, -52,-127, 111, -52,-121, -52,-124, - 79, -52,-121, -52,-124, 111, -52,-125, -52,-124, 79, -52,-125, -52,-124, 111, -52,-120, -52,-124, - 79, -52,-120, -52,-124, 97, -52,-118, -52,-127, 65, -52,-118, -52,-127, 111, -52, -88, -52,-124, - 79, -52, -88, -52,-124, 97, -52,-121, -52,-124, 65, -52,-121, -52,-124, 97, -52,-120, -52,-124, - 65, -52,-120, -52,-124, 117, -52,-120, -52,-128, 85, -52,-120, -52,-128, 117, -52,-120, -52,-116, - 85, -52,-120, -52,-116, 117, -52,-120, -52,-127, 85, -52,-120, -52,-127, 117, -52,-120, -52,-124, - 85, -52,-120, -52,-124, -40, -79, -37,-116, -40, -89, -39,-124, -40, -79, -40, -77, -39,-120, -39, --124, -40, -75, -39,-124, -40, -71, -39,-123, -39,-123, -40, -83, -39,-123, -40, -81, -40, -89, -39, --125, -40, -88, -40, -79, 112, 46, 109, 46, 67, -30,-120,-107, 107, 103, 97, 46, 109, 46, 109, - -30,-120,-107, 115, 50, 107, 99, 97, 108, -26, -96, -86, -27, -68,-113, -28, -68,-102, -25, -92, - -66, -29,-125, -85, -29,-125,-110, -29,-126,-102, -29,-125, -68, -29,-125, -86, -29,-125,-125, -29, --125,-120, -29,-125, -85, -29,-125, -92, -29,-125, -68, -29,-125,-120, -29,-126,-103, -29,-125, -97, - -29,-126, -81, -29,-125, -83, -29,-125, -77, -29,-125, -98, -29,-126, -92, -29,-126, -81, -29,-125, - -83, -29,-125,-101, -29,-126,-103, -29,-125, -85, -29,-125,-120, -29,-125,-104, -29,-126,-103, -29, --125, -68, -29,-126, -65, -29,-125,-104, -29,-126,-102, -29,-125, -77, -29,-126, -71, -29,-125,-104, - -29,-126,-102, -29,-125,-117, -29,-125,-110, -29,-125,-107, -29,-126, -93, -29,-125, -68, -29,-125, --120, -29,-125,-110, -29,-126,-102, -29,-126, -81, -29,-125, -85, -29,-125,-113, -29,-126,-102, -29, --125, -68, -29,-125,-124, -29,-126, -65, -29,-126,-103, -29,-125, -68, -29,-126, -71, -29,-126, -75, - -29,-126, -92, -29,-126, -81, -29,-125, -85, -29,-126, -77, -29,-125, -68, -29,-125,-101, -29,-126, --102, -29,-126, -81, -29,-125, -83, -29,-125, -68, -29,-125,-115, -29,-126, -83, -29,-125, -91, -29, --125, -86, -29,-125, -68, -29,-126, -83, -29,-126,-103, -29,-125,-117, -29,-125, -68, -29,-126, -83, - -29,-126,-103, -29,-126, -85, -29,-126,-103, -29,-126, -85, -29,-126,-103, -29,-125, -77, -29,-125, - -98, -29,-126, -85, -29,-126,-103, -29,-125, -83, -29,-125, -77, -29,-126, -85, -29,-125, -83, -29, --125, -86, -29,-125, -68, -29,-126, -85, -29,-125, -87, -29,-125,-125, -29,-125,-120, -29,-126, -88, - -29,-125, -68, -29,-126, -85, -29,-125, -68, -29,-126, -94, -29,-125, -85, -29,-125,-107, -29,-126, - -95, -31,-124,-116, -31,-123, -82, -31,-124,-117, -31,-123, -76, 40, -31,-124,-116, -31,-123, -82, - 41, 40, -31,-124,-110, -31,-123, -95, 41, 40, -31,-124,-111, -31,-123, -95, 41, 40, -31,-124, --112, -31,-123, -95, 41, 40, -31,-124,-113, -31,-123, -95, 41, 40, -31,-124,-114, -31,-123, -95, - 41, 40, -31,-124,-116, -31,-123, -95, 41, 40, -31,-124,-117, -31,-123, -95, 41, 40, -31,-124, --119, -31,-123, -95, 41, 40, -31,-124,-121, -31,-123, -95, 41, 40, -31,-124,-122, -31,-123, -95, - 41, 40, -31,-124,-123, -31,-123, -95, 41, 40, -31,-124,-125, -31,-123, -95, 41, 40, -31,-124, --126, -31,-123, -95, 41, 40, -31,-124,-128, -31,-123, -95, 41, -30,-120, -85, -30,-120, -85, -30, --120, -85, -30,-120, -85, 40, 50, 48, 41, 40, 49, 57, 41, 40, 49, 56, 41, 40, 49, 55, - 41, 40, 49, 54, 41, 40, 49, 53, 41, 40, 49, 52, 41, 40, 49, 51, 41, 40, 49, 50, - 41, 40, 49, 49, 41, 40, 49, 48, 41, 118, 105, 105, 105, 86, 73, 73, 73, 49, -30,-127, --124, 49, 48, -30,-128, -78, -30,-128, -78, -30,-128, -78, -30,-128, -78, -50, -87, -52,-108, -51, --126, -51,-123, -50, -87, -52,-109, -51,-126, -51,-123, -50, -87, -52,-108, -52,-127, -51,-123, -50, - -87, -52,-109, -52,-127, -51,-123, -50, -87, -52,-108, -52,-128, -51,-123, -50, -87, -52,-109, -52, --128, -51,-123, -49,-119, -52,-108, -51,-126, -51,-123, -49,-119, -52,-109, -51,-126, -51,-123, -49, --119, -52,-108, -52,-127, -51,-123, -49,-119, -52,-109, -52,-127, -51,-123, -49,-119, -52,-108, -52, --128, -51,-123, -49,-119, -52,-109, -52,-128, -51,-123, -50,-105, -52,-108, -51,-126, -51,-123, -50, --105, -52,-109, -51,-126, -51,-123, -50,-105, -52,-108, -52,-127, -51,-123, -50,-105, -52,-109, -52, --127, -51,-123, -50,-105, -52,-108, -52,-128, -51,-123, -50,-105, -52,-109, -52,-128, -51,-123, -50, - -73, -52,-108, -51,-126, -51,-123, -50, -73, -52,-109, -51,-126, -51,-123, -50, -73, -52,-108, -52, --127, -51,-123, -50, -73, -52,-109, -52,-127, -51,-123, -50, -73, -52,-108, -52,-128, -51,-123, -50, - -73, -52,-109, -52,-128, -51,-123, -50,-111, -52,-108, -51,-126, -51,-123, -50,-111, -52,-109, -51, --126, -51,-123, -50,-111, -52,-108, -52,-127, -51,-123, -50,-111, -52,-109, -52,-127, -51,-123, -50, --111, -52,-108, -52,-128, -51,-123, -50,-111, -52,-109, -52,-128, -51,-123, -50, -79, -52,-108, -51, --126, -51,-123, -50, -79, -52,-109, -51,-126, -51,-123, -50, -79, -52,-108, -52,-127, -51,-123, -50, - -79, -52,-109, -52,-127, -51,-123, -50, -79, -52,-108, -52,-128, -51,-123, -50, -79, -52,-109, -52, --128, -51,-123, -29,-125, -85, -29,-125, -68, -29,-125,-107, -29,-126,-103, -29,-125, -85, -29,-125, - -95, -29,-126, -85, -29,-126,-103, -29,-125,-120, -29,-125, -77, -29,-125, -98, -29,-125, -77, -29, --126, -73, -29,-125, -89, -29,-125, -77, -29,-125,-101, -29,-126,-102, -29,-125, -77, -29,-125,-120, - -29,-126,-103, -29,-125,-101, -29,-126,-102, -29,-126, -92, -29,-125, -77, -29,-125,-120, -29,-125, --104, -29,-126,-102, -29,-125, -68, -29,-126, -73, -29,-126,-103, -29,-125,-104, -29,-126, -81, -29, --126, -65, -29,-125, -68, -29,-125, -85, -29,-125,-113, -29,-126,-103, -29,-125, -68, -29,-125, -84, - -29,-125, -85, -29,-126, -73, -29,-125, -86, -29,-125, -77, -29,-126, -81, -29,-126,-103, -29,-126, - -75, -29,-125, -77, -29,-125,-127, -29,-125, -68, -29,-125, -96, -29,-126, -83, -29,-125, -83, -29, --125, -81, -29,-125,-125, -29,-125,-120, -29,-126, -92, -29,-125,-117, -29,-125, -77, -29,-126, -81, - -29,-126,-103, -29,-126, -94, -29,-125, -77, -29,-125,-104, -29,-126,-102, -29,-126, -94, -29,-126, - -94, -29,-125,-113, -29,-126,-102, -29,-125, -68, -29,-125,-120, -31,-124,-114, -31,-123, -95, -31, --122, -73, -31,-124,-128, -31,-123, -87, 114, 97, 100, -30,-120,-107, 115, 50, -29,-125, -84, -29, --125, -77, -29,-125,-120, -29,-126, -79, -29,-126,-103, -29,-125, -77, -29,-125, -97, -29,-125, -86, - -29,-125,-113, -29,-126,-103, -29,-125, -68, -29,-125, -85, -29,-125,-107, -29,-126,-103, -29,-125, --125, -29,-126, -73, -29,-126, -89, -29,-125, -85, -29,-125,-107, -29,-126, -95, -29,-125, -87, -29, --125,-125, -29,-125,-120, -29,-126,-103, -29,-125,-110, -29,-126,-102, -29,-126, -94, -29,-126, -71, - -29,-125,-120, -29,-125, -85, -29,-125,-113, -29,-126,-102, -29,-125, -68, -29,-126, -69, -29,-125, - -77, -29,-125,-120, -29,-126, -81, -29,-125, -85, -29,-126, -69, -29,-126,-103, -29,-126, -92, -29, --125, -83, -29,-126, -81, -29,-126,-103, -29,-125, -87, -29,-125, -96, -29,-125,-120, -29,-125, -77, - -29,-126, -83, -29,-125, -83, -29,-125, -95, -29,-125, -68, -29,-125,-120, -29,-125, -85, -29,-126, - -83, -29,-125, -83, -29,-126, -81, -29,-126,-103, -29,-125, -87, -29,-125, -96, -29,-126, -83, -29, --126,-103, -29,-125, -85, -29,-126, -65, -29,-126,-103, -29,-125, -68, -29,-126, -88, -29,-126, -71, - -29,-126, -81, -29,-125, -68, -29,-125,-120, -29,-126,-103, 40, -31,-124,-117, -31,-123, -87, -31, --124,-110, -31,-123, -82, 41, 40, -31,-124,-117, -31,-123, -87, -31,-124,-116, -31,-123, -91, -31, --122, -85, 41, -40, -84, -39,-124, 32, -40, -84, -39,-124, -40, -89, -39,-124, -39,-121, -40, -75, - -39,-124, -39,-119, 32, -40, -89, -39,-124, -39,-124, -39,-121, 32, -40, -71, -39,-124, -39,-118, - -39,-121, 32, -39,-120, -40, -77, -39,-124, -39,-123}; -} -} -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/char_stream.hh b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/char_stream.hh deleted file mode 100644 index 78a72ed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/char_stream.hh +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef UNF_TRIE_CHAR_STREAM_HH -#define UNF_TRIE_CHAR_STREAM_HH - -#include <vector> -#include <string> -#include "../util.hh" - -namespace UNF { - namespace Trie { - class CharStream { - public: - CharStream(const char* str) : cur_(str) {} - unsigned char read() { return eos() ? '\0' : *cur_++; } - unsigned char prev() const { return cur_[-1]; } - unsigned char peek() const { return *cur_; } - const char* cur() const { return cur_; } - bool eos() const { return *cur_ == '\0'; } - void setCur(const char* new_cur) { cur_ = new_cur; } - - private: - const char* cur_; - }; - - class RangeCharStream { - public: - RangeCharStream(const char* beg, const char* end) : cur_(beg), end_(end) {} - unsigned char read() { return eos() ? '\0' : *cur_++; } - unsigned char prev() const { return cur_[-1]; } - unsigned char peek() const { return *cur_; } - const char* cur() const { return cur_; } - const char* end() const { return end_; } - bool eos() const { return cur_ == end_; } - - private: - const char* cur_; - const char* end_; - }; - - class CompoundCharStream { - public: - CompoundCharStream(const char* first, const char* second) - : beg1(first), beg2(second), cur1(beg1), cur2(beg2) {} - - unsigned char read() { return !eos1() ? read1() : read2(); } - unsigned char peek() const { return !eos1() ? *cur1 : *cur2; } - unsigned char prev() const { return !eos1() || beg2==cur2 ? cur1[-1] : cur2[-1]; } - - const char* cur() const { return !eos1() ? cur1 : cur2; } - bool eos() const { return eos1() && eos2(); } - bool within_first() const { return !eos1(); } - - unsigned offset() const { return cur1-beg1 + cur2-beg2; } - void setCur(const char* p) { - if(beg1 <= p && p <= cur1) { - cur1=p; - cur2=beg2; - } else { - cur2=p; - } - } - - protected: - unsigned char read1() { return eos1() ? '\0' : *cur1++; } - unsigned char read2() { return eos2() ? '\0' : *cur2++; } - bool eos1() const { return *cur1=='\0'; } - bool eos2() const { return *cur2=='\0'; } - - protected: - const char* beg1; - const char* beg2; - const char* cur1; - const char* cur2; - }; - - class CharStreamForComposition : public CompoundCharStream { - public: - CharStreamForComposition (const char* first, const char* second, - const std::vector<unsigned char>& canonical_classes, - std::string& buf) - : CompoundCharStream(first, second), classes(canonical_classes), skipped(buf) - {} - - void init_skipinfo() { - skipped.clear(); - skipped_tail = 0; - } - - void mark_as_last_valid_point() { - skipped_tail = skipped.size(); - marked_point = cur(); - } - - void reset_at_marked_point() { - setCur(marked_point); - } - - void append_read_char_to_str(std::string& s, const char* beg) const { - if(eos1()==false) { - s.append(beg, cur()); - } else { - s.append(beg, cur1); - s.append(beg2, cur()); - } - } - - void append_skipped_chars_to_str(std::string& s) const { - s.append(skipped.begin(), skipped.begin()+skipped_tail); - } - - unsigned char get_canonical_class() const { - return offset() < classes.size() ? classes[offset()] : 0; - } - - bool next_combining_char(unsigned char prev_class, const char* ppp) { - while(Util::is_utf8_char_start_byte(peek()) == false) - read(); - - unsigned char mid_class = get_prev_canonical_class(); - unsigned char cur_class = get_canonical_class(); - - if(prev_class==0 && mid_class==0 && cur_class!=0) - return false; - - if(prev_class < cur_class && mid_class < cur_class) { - skipped.append(ppp, cur()); - return true; - } else { - if(cur_class != 0) { - read(); - return next_combining_char(prev_class,ppp); - } - return false; - } - } - - private: - unsigned char get_prev_canonical_class() const { - return offset()-1 < classes.size() ? classes[offset()-1] : 0; - } - - private: - const std::vector<unsigned char>& classes; - std::string& skipped; - unsigned skipped_tail; - const char* marked_point; - }; - } -} - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/node.hh b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/node.hh deleted file mode 100644 index 1b173cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/node.hh +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef UNF_TRIE_NODE_HH -#define UNF_TRIE_NODE_HH - -namespace UNF { - namespace Trie { - class Node { - public: - unsigned jump(unsigned char ch) const { return base() + ch; } - unsigned value() const { return base(); } - unsigned check_char() const { return data>>24; } - unsigned to_uint() const { return data; } - - static const Node* from_uint_array(const unsigned* node_uints) - { return reinterpret_cast<const Node*>(node_uints); } - - private: - unsigned base() const { return data & 0xFFFFFF; } - - private: - unsigned data; - }; - } -} - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/searcher.hh b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/searcher.hh deleted file mode 100644 index dcc1b23..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/trie/searcher.hh +++ /dev/null @@ -1,194 +0,0 @@ -#ifndef UNF_TRIE_SEARCHER_HH -#define UNF_TRIE_SEARCHER_HH - -#include "char_stream.hh" -#include "node.hh" -#include "../util.hh" - -namespace UNF { - namespace Trie { - class Searcher { - public: - Searcher(const Node* nodes, unsigned root, const char* value=NULL) - : nodes(nodes), root(root), value(value) {} - - unsigned find_value(const char* key, int default_value) const { - unsigned node_index=root; - for(CharStream in(key);; in.read()) { - node_index = nodes[node_index].jump(in.peek()); - if(nodes[node_index].check_char()==in.peek()) { - unsigned terminal_index = nodes[node_index].jump('\0'); - if(nodes[terminal_index].check_char()=='\0') { - return nodes[terminal_index].value(); - } - } else - return default_value; - } - } - - protected: - const Node* nodes; - const unsigned root; - const char* value; - }; - - class CanonicalCombiningClass : private Searcher { - public: - CanonicalCombiningClass(const unsigned* node_uints, unsigned root) - : Searcher(Node::from_uint_array(node_uints), root) {} - - unsigned get_class(const char* str) const { return find_value(str,0); } - - void sort(char* str, std::vector<unsigned char>& classes) const { - CharStream in(str); - unsigned sort_beg=0; - unsigned sort_end=0; - unsigned unicode_char_count=0; - - loop_head: - unsigned beg = in.cur()-str; - - for(unsigned node_index=root;;){ - node_index = nodes[node_index].jump(in.read()); - - if(nodes[node_index].check_char()==in.prev()) { - unsigned terminal_index = nodes[node_index].jump('\0'); - if(nodes[terminal_index].check_char()=='\0') { - if((unicode_char_count++)==0) - sort_beg = beg; - sort_end = in.cur()-str; - - unsigned char klass = nodes[terminal_index].value(); - for(unsigned i=beg; i < sort_end; i++) - classes[i] = klass; - break; - } - } else { - if(unicode_char_count > 1) - bubble_sort(str, classes, sort_beg, sort_end); - unicode_char_count = 0; - break; - } - } - Util::eat_until_utf8_char_start_point(in); - - if(in.eos()==false) - goto loop_head; - - if(unicode_char_count > 1) - bubble_sort(str, classes, sort_beg, sort_end); - } - - private: - void bubble_sort(char* str, std::vector<unsigned char>& canonical_classes, unsigned beg, unsigned end) const { - for(unsigned limit=beg, next=end; limit != next;) { - limit = next; - for(unsigned i=beg+1; i < limit; i++) - if(canonical_classes[i-1] > canonical_classes[i]) { - std::swap(canonical_classes[i-1], canonical_classes[i]); - std::swap(str[i-1], str[i]); - next = i; - } - } - } - }; - - class NormalizationForm : private Searcher { - public: - NormalizationForm(const unsigned* node_uints, unsigned root, const char* value=NULL) - : Searcher(Node::from_uint_array(node_uints), root, value) {} - - bool quick_check(const char* key) const { return find_value(key,0xFFFFFFFF)==0xFFFFFFFF; } - - void decompose(RangeCharStream in, std::string& buffer) const { - loop_head: - const char* beg = in.cur(); - - for(unsigned node_index=root;;) { - node_index = nodes[node_index].jump(in.read()); - if(nodes[node_index].check_char()==in.prev()) { - unsigned terminal_index = nodes[node_index].jump('\0'); - if(nodes[terminal_index].check_char()=='\0') { - word_append(buffer, value, nodes[terminal_index].value()); - beg = in.cur(); - break; - } - } else { - Util::eat_until_utf8_char_start_point(in); - buffer.append(beg, in.cur()); - break; - } - } - - if(in.eos()==false) - goto loop_head; - } - - void compose(CharStreamForComposition& in, std::string& buf) const { - in.init_skipinfo(); - - const char* const beg = in.cur(); - const char* current_char_head = in.cur(); - unsigned composed_char_info = 0; - - unsigned node_index = root; - unsigned retry_root_node = root; - unsigned char retry_root_class = 0; - - for(bool first=true;;) { - if(Util::is_utf8_char_start_byte(in.peek())) { - if(node_index != root) - first=false; - current_char_head = in.cur(); - - retry_root_node = node_index; - retry_root_class = in.get_canonical_class(); - } - - retry: - unsigned next_index = nodes[node_index].jump(in.peek()); - if(nodes[next_index].check_char()==in.read()) { - // succeeded - node_index = next_index; - unsigned terminal_index = nodes[node_index].jump('\0'); - if(nodes[terminal_index].check_char()=='\0') { - composed_char_info = nodes[terminal_index].value(); - - in.mark_as_last_valid_point(); - if(in.eos() || retry_root_class > in.get_canonical_class()) - break; - } - } else if (first==true) { - // no retry if current point is a part of first starter - break; - } else if (in.next_combining_char(retry_root_class, current_char_head)==true) { - // back previous code-point and retry - node_index = retry_root_node; - current_char_head = in.cur(); - goto retry; - } else { - break; - } - } - - if(composed_char_info != 0) { - // append composed unicode-character and skipped combining-characters - word_append(buf, value, composed_char_info); - in.append_skipped_chars_to_str(buf); - in.reset_at_marked_point(); - } else { - // append one unicode-character - in.setCur(Util::nearest_utf8_char_start_point(beg+1)); - in.append_read_char_to_str(buf, beg); - } - } - - private: - static void word_append(std::string& buffer, const char* base, unsigned pos_info) { - buffer.append(base+(pos_info&0x3FFFF), pos_info>>18); - } - }; - } -} - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/util.hh b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/util.hh deleted file mode 100644 index 56aaf77..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/ext/unf_ext/unf/util.hh +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef UNF_UTIL_HH -#define UNF_UTIL_HH - -namespace UNF { - namespace Util { - inline bool is_utf8_char_start_byte(char byte) { - if(!(byte&0x80)) return true; // ascii - else if (byte&0x40) return true; // start of a UTF-8 character byte sequence - return false; - } - - inline const char* nearest_utf8_char_start_point(const char* s) { - for(; is_utf8_char_start_byte(*s)==false; s++); - return s; - } - - template <class CharStream> - inline void eat_until_utf8_char_start_point(CharStream& in) { - for(; is_utf8_char_start_byte(in.peek())==false; in.read()); - } - } -} - -#endif diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/helper.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/helper.rb deleted file mode 100644 index 2f7bd8a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/helper.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'rubygems' -require 'bundler' -begin - Bundler.setup(:default, :development) -rescue Bundler::BundlerError => e - $stderr.puts e.message - $stderr.puts "Run `bundle install` to install missing gems" - exit e.status_code -end -require 'test/unit' - -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..')) -$LOAD_PATH.unshift(File.dirname(__FILE__)) -require 'unf_ext' - -class Test::Unit::TestCase -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/normalization-test.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/normalization-test.txt deleted file mode 100644 index 4f91bfa..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/normalization-test.txt +++ /dev/null @@ -1,112332 +0,0 @@ -Ḋ -Ḋ -Ḋ -Ḋ -Ḋ - -Ḍ -Ḍ -Ḍ -Ḍ -Ḍ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ -Ḍ̇ - -Ḋ̛ -Ḋ̛ -Ḋ̛ -Ḋ̛ -Ḋ̛ - -Ḍ̛ -Ḍ̛ -Ḍ̛ -Ḍ̛ -Ḍ̛ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ -Ḍ̛̇ - -È -È -È -È -È - -Ē -Ē -Ē -Ē -Ē - -È -È -È -È -È - -Ē -Ē -Ē -Ē -Ē - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -Ḕ̄ -Ḕ̄ -Ḕ̄ -Ḕ̄ -Ḕ̄ - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -È̄ -È̄ -È̄ -È̄ -È̄ - -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ -ֱָֹ֑׃ְ֬֟ - -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ -ְַּ֥֒׀֭ׄ - -ᄀ각 -ᄀ각 -ᄀ각 -ᄀ각 -ᄀ각 - -ᄀ각ᆨ -ᄀ각ᆨ -ᄀ각ᆨ -ᄀ각ᆨ -ᄀ각ᆨ - -  -  -  - - - -¨ -¨ -¨ - ̈ - ̈ - -ª -ª -ª -a -a - -¯ -¯ -¯ - ̄ - ̄ - -² -² -² -2 -2 - -³ -³ -³ -3 -3 - -´ -´ -´ - ́ - ́ - -µ -µ -µ -μ -μ - -¸ -¸ -¸ - ̧ - ̧ - -¹ -¹ -¹ -1 -1 - -º -º -º -o -o - -¼ -¼ -¼ -1⁄4 -1⁄4 - -½ -½ -½ -1⁄2 -1⁄2 - -¾ -¾ -¾ -3⁄4 -3⁄4 - -À -À -À -À -À - -Á -Á -Á -Á -Á - - - - - - - -à -à -à -à -à - -Ä -Ä -Ä -Ä -Ä - -Å -Å -Å -Å -Å - -Ç -Ç -Ç -Ç -Ç - -È -È -È -È -È - -É -É -É -É -É - -Ê -Ê -Ê -Ê -Ê - -Ë -Ë -Ë -Ë -Ë - -Ì -Ì -Ì -Ì -Ì - -Í -Í -Í -Í -Í - -Î -Î -Î -Î -Î - -Ï -Ï -Ï -Ï -Ï - -Ñ -Ñ -Ñ -Ñ -Ñ - -Ò -Ò -Ò -Ò -Ò - -Ó -Ó -Ó -Ó -Ó - -Ô -Ô -Ô -Ô -Ô - -Õ -Õ -Õ -Õ -Õ - -Ö -Ö -Ö -Ö -Ö - -Ù -Ù -Ù -Ù -Ù - -Ú -Ú -Ú -Ú -Ú - -Û -Û -Û -Û -Û - -Ü -Ü -Ü -Ü -Ü - -Ý -Ý -Ý -Ý -Ý - -à -à -à -à -à - -á -á -á -á -á - -â -â -â -â -â - -ã -ã -ã -ã -ã - -ä -ä -ä -ä -ä - -å -å -å -å -å - -ç -ç -ç -ç -ç - -è -è -è -è -è - -é -é -é -é -é - -ê -ê -ê -ê -ê - -ë -ë -ë -ë -ë - -ì -ì -ì -ì -ì - -í -í -í -í -í - -î -î -î -î -î - -ï -ï -ï -ï -ï - -ñ -ñ -ñ -ñ -ñ - -ò -ò -ò -ò -ò - -ó -ó -ó -ó -ó - -ô -ô -ô -ô -ô - -õ -õ -õ -õ -õ - -ö -ö -ö -ö -ö - -ù -ù -ù -ù -ù - -ú -ú -ú -ú -ú - -û -û -û -û -û - -ü -ü -ü -ü -ü - -ý -ý -ý -ý -ý - -ÿ -ÿ -ÿ -ÿ -ÿ - -Ā -Ā -Ā -Ā -Ā - -ā -ā -ā -ā -ā - -Ă -Ă -Ă -Ă -Ă - -ă -ă -ă -ă -ă - -Ą -Ą -Ą -Ą -Ą - -ą -ą -ą -ą -ą - -Ć -Ć -Ć -Ć -Ć - -ć -ć -ć -ć -ć - -Ĉ -Ĉ -Ĉ -Ĉ -Ĉ - -ĉ -ĉ -ĉ -ĉ -ĉ - -Ċ -Ċ -Ċ -Ċ -Ċ - -ċ -ċ -ċ -ċ -ċ - -Č -Č -Č -Č -Č - -č -č -č -č -č - -Ď -Ď -Ď -Ď -Ď - -ď -ď -ď -ď -ď - -Ē -Ē -Ē -Ē -Ē - -ē -ē -ē -ē -ē - -Ĕ -Ĕ -Ĕ -Ĕ -Ĕ - -ĕ -ĕ -ĕ -ĕ -ĕ - -Ė -Ė -Ė -Ė -Ė - -ė -ė -ė -ė -ė - -Ę -Ę -Ę -Ę -Ę - -ę -ę -ę -ę -ę - -Ě -Ě -Ě -Ě -Ě - -ě -ě -ě -ě -ě - -Ĝ -Ĝ -Ĝ -Ĝ -Ĝ - -ĝ -ĝ -ĝ -ĝ -ĝ - -Ğ -Ğ -Ğ -Ğ -Ğ - -ğ -ğ -ğ -ğ -ğ - -Ġ -Ġ -Ġ -Ġ -Ġ - -ġ -ġ -ġ -ġ -ġ - -Ģ -Ģ -Ģ -Ģ -Ģ - -ģ -ģ -ģ -ģ -ģ - -Ĥ -Ĥ -Ĥ -Ĥ -Ĥ - -ĥ -ĥ -ĥ -ĥ -ĥ - -Ĩ -Ĩ -Ĩ -Ĩ -Ĩ - -ĩ -ĩ -ĩ -ĩ -ĩ - -Ī -Ī -Ī -Ī -Ī - -ī -ī -ī -ī -ī - -Ĭ -Ĭ -Ĭ -Ĭ -Ĭ - -ĭ -ĭ -ĭ -ĭ -ĭ - -Į -Į -Į -Į -Į - -į -į -į -į -į - -İ -İ -İ -İ -İ - -IJ -IJ -IJ -IJ -IJ - -ij -ij -ij -ij -ij - -Ĵ -Ĵ -Ĵ -Ĵ -Ĵ - -ĵ -ĵ -ĵ -ĵ -ĵ - -Ķ -Ķ -Ķ -Ķ -Ķ - -ķ -ķ -ķ -ķ -ķ - -Ĺ -Ĺ -Ĺ -Ĺ -Ĺ - -ĺ -ĺ -ĺ -ĺ -ĺ - -Ļ -Ļ -Ļ -Ļ -Ļ - -ļ -ļ -ļ -ļ -ļ - -Ľ -Ľ -Ľ -Ľ -Ľ - -ľ -ľ -ľ -ľ -ľ - -Ŀ -Ŀ -Ŀ -L· -L· - -ŀ -ŀ -ŀ -l· -l· - -Ń -Ń -Ń -Ń -Ń - -ń -ń -ń -ń -ń - -Ņ -Ņ -Ņ -Ņ -Ņ - -ņ -ņ -ņ -ņ -ņ - -Ň -Ň -Ň -Ň -Ň - -ň -ň -ň -ň -ň - -ʼn -ʼn -ʼn -ʼn -ʼn - -Ō -Ō -Ō -Ō -Ō - -ō -ō -ō -ō -ō - -Ŏ -Ŏ -Ŏ -Ŏ -Ŏ - -ŏ -ŏ -ŏ -ŏ -ŏ - -Ő -Ő -Ő -Ő -Ő - -ő -ő -ő -ő -ő - -Ŕ -Ŕ -Ŕ -Ŕ -Ŕ - -ŕ -ŕ -ŕ -ŕ -ŕ - -Ŗ -Ŗ -Ŗ -Ŗ -Ŗ - -ŗ -ŗ -ŗ -ŗ -ŗ - -Ř -Ř -Ř -Ř -Ř - -ř -ř -ř -ř -ř - -Ś -Ś -Ś -Ś -Ś - -ś -ś -ś -ś -ś - -Ŝ -Ŝ -Ŝ -Ŝ -Ŝ - -ŝ -ŝ -ŝ -ŝ -ŝ - -Ş -Ş -Ş -Ş -Ş - -ş -ş -ş -ş -ş - -Š -Š -Š -Š -Š - -š -š -š -š -š - -Ţ -Ţ -Ţ -Ţ -Ţ - -ţ -ţ -ţ -ţ -ţ - -Ť -Ť -Ť -Ť -Ť - -ť -ť -ť -ť -ť - -Ũ -Ũ -Ũ -Ũ -Ũ - -ũ -ũ -ũ -ũ -ũ - -Ū -Ū -Ū -Ū -Ū - -ū -ū -ū -ū -ū - -Ŭ -Ŭ -Ŭ -Ŭ -Ŭ - -ŭ -ŭ -ŭ -ŭ -ŭ - -Ů -Ů -Ů -Ů -Ů - -ů -ů -ů -ů -ů - -Ű -Ű -Ű -Ű -Ű - -ű -ű -ű -ű -ű - -Ų -Ų -Ų -Ų -Ų - -ų -ų -ų -ų -ų - -Ŵ -Ŵ -Ŵ -Ŵ -Ŵ - -ŵ -ŵ -ŵ -ŵ -ŵ - -Ŷ -Ŷ -Ŷ -Ŷ -Ŷ - -ŷ -ŷ -ŷ -ŷ -ŷ - -Ÿ -Ÿ -Ÿ -Ÿ -Ÿ - -Ź -Ź -Ź -Ź -Ź - -ź -ź -ź -ź -ź - -Ż -Ż -Ż -Ż -Ż - -ż -ż -ż -ż -ż - -Ž -Ž -Ž -Ž -Ž - -ž -ž -ž -ž -ž - -ſ -ſ -ſ -s -s - -Ơ -Ơ -Ơ -Ơ -Ơ - -ơ -ơ -ơ -ơ -ơ - -Ư -Ư -Ư -Ư -Ư - -ư -ư -ư -ư -ư - -DŽ -DŽ -DŽ -DŽ -DŽ - -Dž -Dž -Dž -Dž -Dž - -dž -dž -dž -dž -dž - -LJ -LJ -LJ -LJ -LJ - -Lj -Lj -Lj -Lj -Lj - -lj -lj -lj -lj -lj - -NJ -NJ -NJ -NJ -NJ - -Nj -Nj -Nj -Nj -Nj - -nj -nj -nj -nj -nj - -Ǎ -Ǎ -Ǎ -Ǎ -Ǎ - -ǎ -ǎ -ǎ -ǎ -ǎ - -Ǐ -Ǐ -Ǐ -Ǐ -Ǐ - -ǐ -ǐ -ǐ -ǐ -ǐ - -Ǒ -Ǒ -Ǒ -Ǒ -Ǒ - -ǒ -ǒ -ǒ -ǒ -ǒ - -Ǔ -Ǔ -Ǔ -Ǔ -Ǔ - -ǔ -ǔ -ǔ -ǔ -ǔ - -Ǖ -Ǖ -Ǖ -Ǖ -Ǖ - -ǖ -ǖ -ǖ -ǖ -ǖ - -Ǘ -Ǘ -Ǘ -Ǘ -Ǘ - -ǘ -ǘ -ǘ -ǘ -ǘ - -Ǚ -Ǚ -Ǚ -Ǚ -Ǚ - -ǚ -ǚ -ǚ -ǚ -ǚ - -Ǜ -Ǜ -Ǜ -Ǜ -Ǜ - -ǜ -ǜ -ǜ -ǜ -ǜ - -Ǟ -Ǟ -Ǟ -Ǟ -Ǟ - -ǟ -ǟ -ǟ -ǟ -ǟ - -Ǡ -Ǡ -Ǡ -Ǡ -Ǡ - -ǡ -ǡ -ǡ -ǡ -ǡ - -Ǣ -Ǣ -Ǣ -Ǣ -Ǣ - -ǣ -ǣ -ǣ -ǣ -ǣ - -Ǧ -Ǧ -Ǧ -Ǧ -Ǧ - -ǧ -ǧ -ǧ -ǧ -ǧ - -Ǩ -Ǩ -Ǩ -Ǩ -Ǩ - -ǩ -ǩ -ǩ -ǩ -ǩ - -Ǫ -Ǫ -Ǫ -Ǫ -Ǫ - -ǫ -ǫ -ǫ -ǫ -ǫ - -Ǭ -Ǭ -Ǭ -Ǭ -Ǭ - -ǭ -ǭ -ǭ -ǭ -ǭ - -Ǯ -Ǯ -Ǯ -Ǯ -Ǯ - -ǯ -ǯ -ǯ -ǯ -ǯ - -ǰ -ǰ -ǰ -ǰ -ǰ - -DZ -DZ -DZ -DZ -DZ - -Dz -Dz -Dz -Dz -Dz - -dz -dz -dz -dz -dz - -Ǵ -Ǵ -Ǵ -Ǵ -Ǵ - -ǵ -ǵ -ǵ -ǵ -ǵ - -Ǹ -Ǹ -Ǹ -Ǹ -Ǹ - -ǹ -ǹ -ǹ -ǹ -ǹ - -Ǻ -Ǻ -Ǻ -Ǻ -Ǻ - -ǻ -ǻ -ǻ -ǻ -ǻ - -Ǽ -Ǽ -Ǽ -Ǽ -Ǽ - -ǽ -ǽ -ǽ -ǽ -ǽ - -Ǿ -Ǿ -Ǿ -Ǿ -Ǿ - -ǿ -ǿ -ǿ -ǿ -ǿ - -Ȁ -Ȁ -Ȁ -Ȁ -Ȁ - -ȁ -ȁ -ȁ -ȁ -ȁ - -Ȃ -Ȃ -Ȃ -Ȃ -Ȃ - -ȃ -ȃ -ȃ -ȃ -ȃ - -Ȅ -Ȅ -Ȅ -Ȅ -Ȅ - -ȅ -ȅ -ȅ -ȅ -ȅ - -Ȇ -Ȇ -Ȇ -Ȇ -Ȇ - -ȇ -ȇ -ȇ -ȇ -ȇ - -Ȉ -Ȉ -Ȉ -Ȉ -Ȉ - -ȉ -ȉ -ȉ -ȉ -ȉ - -Ȋ -Ȋ -Ȋ -Ȋ -Ȋ - -ȋ -ȋ -ȋ -ȋ -ȋ - -Ȍ -Ȍ -Ȍ -Ȍ -Ȍ - -ȍ -ȍ -ȍ -ȍ -ȍ - -Ȏ -Ȏ -Ȏ -Ȏ -Ȏ - -ȏ -ȏ -ȏ -ȏ -ȏ - -Ȑ -Ȑ -Ȑ -Ȑ -Ȑ - -ȑ -ȑ -ȑ -ȑ -ȑ - -Ȓ -Ȓ -Ȓ -Ȓ -Ȓ - -ȓ -ȓ -ȓ -ȓ -ȓ - -Ȕ -Ȕ -Ȕ -Ȕ -Ȕ - -ȕ -ȕ -ȕ -ȕ -ȕ - -Ȗ -Ȗ -Ȗ -Ȗ -Ȗ - -ȗ -ȗ -ȗ -ȗ -ȗ - -Ș -Ș -Ș -Ș -Ș - -ș -ș -ș -ș -ș - -Ț -Ț -Ț -Ț -Ț - -ț -ț -ț -ț -ț - -Ȟ -Ȟ -Ȟ -Ȟ -Ȟ - -ȟ -ȟ -ȟ -ȟ -ȟ - -Ȧ -Ȧ -Ȧ -Ȧ -Ȧ - -ȧ -ȧ -ȧ -ȧ -ȧ - -Ȩ -Ȩ -Ȩ -Ȩ -Ȩ - -ȩ -ȩ -ȩ -ȩ -ȩ - -Ȫ -Ȫ -Ȫ -Ȫ -Ȫ - -ȫ -ȫ -ȫ -ȫ -ȫ - -Ȭ -Ȭ -Ȭ -Ȭ -Ȭ - -ȭ -ȭ -ȭ -ȭ -ȭ - -Ȯ -Ȯ -Ȯ -Ȯ -Ȯ - -ȯ -ȯ -ȯ -ȯ -ȯ - -Ȱ -Ȱ -Ȱ -Ȱ -Ȱ - -ȱ -ȱ -ȱ -ȱ -ȱ - -Ȳ -Ȳ -Ȳ -Ȳ -Ȳ - -ȳ -ȳ -ȳ -ȳ -ȳ - -ʰ -ʰ -ʰ -h -h - -ʱ -ʱ -ʱ -ɦ -ɦ - -ʲ -ʲ -ʲ -j -j - -ʳ -ʳ -ʳ -r -r - -ʴ -ʴ -ʴ -ɹ -ɹ - -ʵ -ʵ -ʵ -ɻ -ɻ - -ʶ -ʶ -ʶ -ʁ -ʁ - -ʷ -ʷ -ʷ -w -w - -ʸ -ʸ -ʸ -y -y - -˘ -˘ -˘ - ̆ - ̆ - -˙ -˙ -˙ - ̇ - ̇ - -˚ -˚ -˚ - ̊ - ̊ - -˛ -˛ -˛ - ̨ - ̨ - -˜ -˜ -˜ - ̃ - ̃ - -˝ -˝ -˝ - ̋ - ̋ - -ˠ -ˠ -ˠ -ɣ -ɣ - -ˡ -ˡ -ˡ -l -l - -ˢ -ˢ -ˢ -s -s - -ˣ -ˣ -ˣ -x -x - -ˤ -ˤ -ˤ -ʕ -ʕ - -̀ -̀ -̀ -̀ -̀ - -́ -́ -́ -́ -́ - -̓ -̓ -̓ -̓ -̓ - -̈́ -̈́ -̈́ -̈́ -̈́ - -ʹ -ʹ -ʹ -ʹ -ʹ - -ͺ -ͺ -ͺ - ͅ - ͅ - -; -; -; -; -; - -΄ -΄ -΄ - ́ - ́ - -΅ -΅ -΅ - ̈́ - ̈́ - -Ά -Ά -Ά -Ά -Ά - -· -· -· -· -· - -Έ -Έ -Έ -Έ -Έ - -Ή -Ή -Ή -Ή -Ή - -Ί -Ί -Ί -Ί -Ί - -Ό -Ό -Ό -Ό -Ό - -Ύ -Ύ -Ύ -Ύ -Ύ - -Ώ -Ώ -Ώ -Ώ -Ώ - -ΐ -ΐ -ΐ -ΐ -ΐ - -Ϊ -Ϊ -Ϊ -Ϊ -Ϊ - -Ϋ -Ϋ -Ϋ -Ϋ -Ϋ - -ά -ά -ά -ά -ά - -έ -έ -έ -έ -έ - -ή -ή -ή -ή -ή - -ί -ί -ί -ί -ί - -ΰ -ΰ -ΰ -ΰ -ΰ - -ϊ -ϊ -ϊ -ϊ -ϊ - -ϋ -ϋ -ϋ -ϋ -ϋ - -ό -ό -ό -ό -ό - -ύ -ύ -ύ -ύ -ύ - -ώ -ώ -ώ -ώ -ώ - -ϐ -ϐ -ϐ -β -β - -ϑ -ϑ -ϑ -θ -θ - -ϒ -ϒ -ϒ -Υ -Υ - -ϓ -ϓ -ϓ -Ύ -Ύ - -ϔ -ϔ -ϔ -Ϋ -Ϋ - -ϕ -ϕ -ϕ -φ -φ - -ϖ -ϖ -ϖ -π -π - -ϰ -ϰ -ϰ -κ -κ - -ϱ -ϱ -ϱ -ρ -ρ - -ϲ -ϲ -ϲ -ς -ς - -ϴ -ϴ -ϴ -Θ -Θ - -ϵ -ϵ -ϵ -ε -ε - -Ϲ -Ϲ -Ϲ -Σ -Σ - -Ѐ -Ѐ -Ѐ -Ѐ -Ѐ - -Ё -Ё -Ё -Ё -Ё - -Ѓ -Ѓ -Ѓ -Ѓ -Ѓ - -Ї -Ї -Ї -Ї -Ї - -Ќ -Ќ -Ќ -Ќ -Ќ - -Ѝ -Ѝ -Ѝ -Ѝ -Ѝ - -Ў -Ў -Ў -Ў -Ў - -Й -Й -Й -Й -Й - -й -й -й -й -й - -ѐ -ѐ -ѐ -ѐ -ѐ - -ё -ё -ё -ё -ё - -ѓ -ѓ -ѓ -ѓ -ѓ - -ї -ї -ї -ї -ї - -ќ -ќ -ќ -ќ -ќ - -ѝ -ѝ -ѝ -ѝ -ѝ - -ў -ў -ў -ў -ў - -Ѷ -Ѷ -Ѷ -Ѷ -Ѷ - -ѷ -ѷ -ѷ -ѷ -ѷ - -Ӂ -Ӂ -Ӂ -Ӂ -Ӂ - -ӂ -ӂ -ӂ -ӂ -ӂ - -Ӑ -Ӑ -Ӑ -Ӑ -Ӑ - -ӑ -ӑ -ӑ -ӑ -ӑ - -Ӓ -Ӓ -Ӓ -Ӓ -Ӓ - -ӓ -ӓ -ӓ -ӓ -ӓ - -Ӗ -Ӗ -Ӗ -Ӗ -Ӗ - -ӗ -ӗ -ӗ -ӗ -ӗ - -Ӛ -Ӛ -Ӛ -Ӛ -Ӛ - -ӛ -ӛ -ӛ -ӛ -ӛ - -Ӝ -Ӝ -Ӝ -Ӝ -Ӝ - -ӝ -ӝ -ӝ -ӝ -ӝ - -Ӟ -Ӟ -Ӟ -Ӟ -Ӟ - -ӟ -ӟ -ӟ -ӟ -ӟ - -Ӣ -Ӣ -Ӣ -Ӣ -Ӣ - -ӣ -ӣ -ӣ -ӣ -ӣ - -Ӥ -Ӥ -Ӥ -Ӥ -Ӥ - -ӥ -ӥ -ӥ -ӥ -ӥ - -Ӧ -Ӧ -Ӧ -Ӧ -Ӧ - -ӧ -ӧ -ӧ -ӧ -ӧ - -Ӫ -Ӫ -Ӫ -Ӫ -Ӫ - -ӫ -ӫ -ӫ -ӫ -ӫ - -Ӭ -Ӭ -Ӭ -Ӭ -Ӭ - -ӭ -ӭ -ӭ -ӭ -ӭ - -Ӯ -Ӯ -Ӯ -Ӯ -Ӯ - -ӯ -ӯ -ӯ -ӯ -ӯ - -Ӱ -Ӱ -Ӱ -Ӱ -Ӱ - -ӱ -ӱ -ӱ -ӱ -ӱ - -Ӳ -Ӳ -Ӳ -Ӳ -Ӳ - -ӳ -ӳ -ӳ -ӳ -ӳ - -Ӵ -Ӵ -Ӵ -Ӵ -Ӵ - -ӵ -ӵ -ӵ -ӵ -ӵ - -Ӹ -Ӹ -Ӹ -Ӹ -Ӹ - -ӹ -ӹ -ӹ -ӹ -ӹ - -և -և -և -եւ -եւ - -آ -آ -آ -آ -آ - -أ -أ -أ -أ -أ - -ؤ -ؤ -ؤ -ؤ -ؤ - -إ -إ -إ -إ -إ - -ئ -ئ -ئ -ئ -ئ - -ٵ -ٵ -ٵ -اٴ -اٴ - -ٶ -ٶ -ٶ -وٴ -وٴ - -ٷ -ٷ -ٷ -ۇٴ -ۇٴ - -ٸ -ٸ -ٸ -يٴ -يٴ - -ۀ -ۀ -ۀ -ۀ -ۀ - -ۂ -ۂ -ۂ -ۂ -ۂ - -ۓ -ۓ -ۓ -ۓ -ۓ - -ऩ -ऩ -ऩ -ऩ -ऩ - -ऱ -ऱ -ऱ -ऱ -ऱ - -ऴ -ऴ -ऴ -ऴ -ऴ - -क़ -क़ -क़ -क़ -क़ - -ख़ -ख़ -ख़ -ख़ -ख़ - -ग़ -ग़ -ग़ -ग़ -ग़ - -ज़ -ज़ -ज़ -ज़ -ज़ - -ड़ -ड़ -ड़ -ड़ -ड़ - -ढ़ -ढ़ -ढ़ -ढ़ -ढ़ - -फ़ -फ़ -फ़ -फ़ -फ़ - -य़ -य़ -य़ -य़ -य़ - -ো -ো -ো -ো -ো - -ৌ -ৌ -ৌ -ৌ -ৌ - -ড় -ড় -ড় -ড় -ড় - -ঢ় -ঢ় -ঢ় -ঢ় -ঢ় - -য় -য় -য় -য় -য় - -ਲ਼ -ਲ਼ -ਲ਼ -ਲ਼ -ਲ਼ - -ਸ਼ -ਸ਼ -ਸ਼ -ਸ਼ -ਸ਼ - -ਖ਼ -ਖ਼ -ਖ਼ -ਖ਼ -ਖ਼ - -ਗ਼ -ਗ਼ -ਗ਼ -ਗ਼ -ਗ਼ - -ਜ਼ -ਜ਼ -ਜ਼ -ਜ਼ -ਜ਼ - -ਫ਼ -ਫ਼ -ਫ਼ -ਫ਼ -ਫ਼ - -ୈ -ୈ -ୈ -ୈ -ୈ - -ୋ -ୋ -ୋ -ୋ -ୋ - -ୌ -ୌ -ୌ -ୌ -ୌ - -ଡ଼ -ଡ଼ -ଡ଼ -ଡ଼ -ଡ଼ - -ଢ଼ -ଢ଼ -ଢ଼ -ଢ଼ -ଢ଼ - -ஔ -ஔ -ஔ -ஔ -ஔ - -ொ -ொ -ொ -ொ -ொ - -ோ -ோ -ோ -ோ -ோ - -ௌ -ௌ -ௌ -ௌ -ௌ - -ై -ై -ై -ై -ై - -ೀ -ೀ -ೀ -ೀ -ೀ - -ೇ -ೇ -ೇ -ೇ -ೇ - -ೈ -ೈ -ೈ -ೈ -ೈ - -ೊ -ೊ -ೊ -ೊ -ೊ - -ೋ -ೋ -ೋ -ೋ -ೋ - -ൊ -ൊ -ൊ -ൊ -ൊ - -ോ -ോ -ോ -ോ -ോ - -ൌ -ൌ -ൌ -ൌ -ൌ - -ේ -ේ -ේ -ේ -ේ - -ො -ො -ො -ො -ො - -ෝ -ෝ -ෝ -ෝ -ෝ - -ෞ -ෞ -ෞ -ෞ -ෞ - -ำ -ำ -ำ -ํา -ํา - -ຳ -ຳ -ຳ -ໍາ -ໍາ - -ໜ -ໜ -ໜ -ຫນ -ຫນ - -ໝ -ໝ -ໝ -ຫມ -ຫມ - -༌ -༌ -༌ -་ -་ - -གྷ -གྷ -གྷ -གྷ -གྷ - -ཌྷ -ཌྷ -ཌྷ -ཌྷ -ཌྷ - -དྷ -དྷ -དྷ -དྷ -དྷ - -བྷ -བྷ -བྷ -བྷ -བྷ - -ཛྷ -ཛྷ -ཛྷ -ཛྷ -ཛྷ - -ཀྵ -ཀྵ -ཀྵ -ཀྵ -ཀྵ - -ཱི -ཱི -ཱི -ཱི -ཱི - -ཱུ -ཱུ -ཱུ -ཱུ -ཱུ - -ྲྀ -ྲྀ -ྲྀ -ྲྀ -ྲྀ - -ཷ -ཷ -ཷ -ྲཱྀ -ྲཱྀ - -ླྀ -ླྀ -ླྀ -ླྀ -ླྀ - -ཹ -ཹ -ཹ -ླཱྀ -ླཱྀ - -ཱྀ -ཱྀ -ཱྀ -ཱྀ -ཱྀ - -ྒྷ -ྒྷ -ྒྷ -ྒྷ -ྒྷ - -ྜྷ -ྜྷ -ྜྷ -ྜྷ -ྜྷ - -ྡྷ -ྡྷ -ྡྷ -ྡྷ -ྡྷ - -ྦྷ -ྦྷ -ྦྷ -ྦྷ -ྦྷ - -ྫྷ -ྫྷ -ྫྷ -ྫྷ -ྫྷ - -ྐྵ -ྐྵ -ྐྵ -ྐྵ -ྐྵ - -ဦ -ဦ -ဦ -ဦ -ဦ - -ჼ -ჼ -ჼ -ნ -ნ - -ᬆ -ᬆ -ᬆ -ᬆ -ᬆ - -ᬈ -ᬈ -ᬈ -ᬈ -ᬈ - -ᬊ -ᬊ -ᬊ -ᬊ -ᬊ - -ᬌ -ᬌ -ᬌ -ᬌ -ᬌ - -ᬎ -ᬎ -ᬎ -ᬎ -ᬎ - -ᬒ -ᬒ -ᬒ -ᬒ -ᬒ - -ᬻ -ᬻ -ᬻ -ᬻ -ᬻ - -ᬽ -ᬽ -ᬽ -ᬽ -ᬽ - -ᭀ -ᭀ -ᭀ -ᭀ -ᭀ - -ᭁ -ᭁ -ᭁ -ᭁ -ᭁ - -ᭃ -ᭃ -ᭃ -ᭃ -ᭃ - -ᴬ -ᴬ -ᴬ -A -A - -ᴭ -ᴭ -ᴭ -Æ -Æ - -ᴮ -ᴮ -ᴮ -B -B - -ᴰ -ᴰ -ᴰ -D -D - -ᴱ -ᴱ -ᴱ -E -E - -ᴲ -ᴲ -ᴲ -Ǝ -Ǝ - -ᴳ -ᴳ -ᴳ -G -G - -ᴴ -ᴴ -ᴴ -H -H - -ᴵ -ᴵ -ᴵ -I -I - -ᴶ -ᴶ -ᴶ -J -J - -ᴷ -ᴷ -ᴷ -K -K - -ᴸ -ᴸ -ᴸ -L -L - -ᴹ -ᴹ -ᴹ -M -M - -ᴺ -ᴺ -ᴺ -N -N - -ᴼ -ᴼ -ᴼ -O -O - -ᴽ -ᴽ -ᴽ -Ȣ -Ȣ - -ᴾ -ᴾ -ᴾ -P -P - -ᴿ -ᴿ -ᴿ -R -R - -ᵀ -ᵀ -ᵀ -T -T - -ᵁ -ᵁ -ᵁ -U -U - -ᵂ -ᵂ -ᵂ -W -W - -ᵃ -ᵃ -ᵃ -a -a - -ᵄ -ᵄ -ᵄ -ɐ -ɐ - -ᵅ -ᵅ -ᵅ -ɑ -ɑ - -ᵆ -ᵆ -ᵆ -ᴂ -ᴂ - -ᵇ -ᵇ -ᵇ -b -b - -ᵈ -ᵈ -ᵈ -d -d - -ᵉ -ᵉ -ᵉ -e -e - -ᵊ -ᵊ -ᵊ -ə -ə - -ᵋ -ᵋ -ᵋ -ɛ -ɛ - -ᵌ -ᵌ -ᵌ -ɜ -ɜ - -ᵍ -ᵍ -ᵍ -g -g - -ᵏ -ᵏ -ᵏ -k -k - -ᵐ -ᵐ -ᵐ -m -m - -ᵑ -ᵑ -ᵑ -ŋ -ŋ - -ᵒ -ᵒ -ᵒ -o -o - -ᵓ -ᵓ -ᵓ -ɔ -ɔ - -ᵔ -ᵔ -ᵔ -ᴖ -ᴖ - -ᵕ -ᵕ -ᵕ -ᴗ -ᴗ - -ᵖ -ᵖ -ᵖ -p -p - -ᵗ -ᵗ -ᵗ -t -t - -ᵘ -ᵘ -ᵘ -u -u - -ᵙ -ᵙ -ᵙ -ᴝ -ᴝ - -ᵚ -ᵚ -ᵚ -ɯ -ɯ - -ᵛ -ᵛ -ᵛ -v -v - -ᵜ -ᵜ -ᵜ -ᴥ -ᴥ - -ᵝ -ᵝ -ᵝ -β -β - -ᵞ -ᵞ -ᵞ -γ -γ - -ᵟ -ᵟ -ᵟ -δ -δ - -ᵠ -ᵠ -ᵠ -φ -φ - -ᵡ -ᵡ -ᵡ -χ -χ - -ᵢ -ᵢ -ᵢ -i -i - -ᵣ -ᵣ -ᵣ -r -r - -ᵤ -ᵤ -ᵤ -u -u - -ᵥ -ᵥ -ᵥ -v -v - -ᵦ -ᵦ -ᵦ -β -β - -ᵧ -ᵧ -ᵧ -γ -γ - -ᵨ -ᵨ -ᵨ -ρ -ρ - -ᵩ -ᵩ -ᵩ -φ -φ - -ᵪ -ᵪ -ᵪ -χ -χ - -ᵸ -ᵸ -ᵸ -н -н - -ᶛ -ᶛ -ᶛ -ɒ -ɒ - -ᶜ -ᶜ -ᶜ -c -c - -ᶝ -ᶝ -ᶝ -ɕ -ɕ - -ᶞ -ᶞ -ᶞ -ð -ð - -ᶟ -ᶟ -ᶟ -ɜ -ɜ - -ᶠ -ᶠ -ᶠ -f -f - -ᶡ -ᶡ -ᶡ -ɟ -ɟ - -ᶢ -ᶢ -ᶢ -ɡ -ɡ - -ᶣ -ᶣ -ᶣ -ɥ -ɥ - -ᶤ -ᶤ -ᶤ -ɨ -ɨ - -ᶥ -ᶥ -ᶥ -ɩ -ɩ - -ᶦ -ᶦ -ᶦ -ɪ -ɪ - -ᶧ -ᶧ -ᶧ -ᵻ -ᵻ - -ᶨ -ᶨ -ᶨ -ʝ -ʝ - -ᶩ -ᶩ -ᶩ -ɭ -ɭ - -ᶪ -ᶪ -ᶪ -ᶅ -ᶅ - -ᶫ -ᶫ -ᶫ -ʟ -ʟ - -ᶬ -ᶬ -ᶬ -ɱ -ɱ - -ᶭ -ᶭ -ᶭ -ɰ -ɰ - -ᶮ -ᶮ -ᶮ -ɲ -ɲ - -ᶯ -ᶯ -ᶯ -ɳ -ɳ - -ᶰ -ᶰ -ᶰ -ɴ -ɴ - -ᶱ -ᶱ -ᶱ -ɵ -ɵ - -ᶲ -ᶲ -ᶲ -ɸ -ɸ - -ᶳ -ᶳ -ᶳ -ʂ -ʂ - -ᶴ -ᶴ -ᶴ -ʃ -ʃ - -ᶵ -ᶵ -ᶵ -ƫ -ƫ - -ᶶ -ᶶ -ᶶ -ʉ -ʉ - -ᶷ -ᶷ -ᶷ -ʊ -ʊ - -ᶸ -ᶸ -ᶸ -ᴜ -ᴜ - -ᶹ -ᶹ -ᶹ -ʋ -ʋ - -ᶺ -ᶺ -ᶺ -ʌ -ʌ - -ᶻ -ᶻ -ᶻ -z -z - -ᶼ -ᶼ -ᶼ -ʐ -ʐ - -ᶽ -ᶽ -ᶽ -ʑ -ʑ - -ᶾ -ᶾ -ᶾ -ʒ -ʒ - -ᶿ -ᶿ -ᶿ -θ -θ - -Ḁ -Ḁ -Ḁ -Ḁ -Ḁ - -ḁ -ḁ -ḁ -ḁ -ḁ - -Ḃ -Ḃ -Ḃ -Ḃ -Ḃ - -ḃ -ḃ -ḃ -ḃ -ḃ - -Ḅ -Ḅ -Ḅ -Ḅ -Ḅ - -ḅ -ḅ -ḅ -ḅ -ḅ - -Ḇ -Ḇ -Ḇ -Ḇ -Ḇ - -ḇ -ḇ -ḇ -ḇ -ḇ - -Ḉ -Ḉ -Ḉ -Ḉ -Ḉ - -ḉ -ḉ -ḉ -ḉ -ḉ - -Ḋ -Ḋ -Ḋ -Ḋ -Ḋ - -ḋ -ḋ -ḋ -ḋ -ḋ - -Ḍ -Ḍ -Ḍ -Ḍ -Ḍ - -ḍ -ḍ -ḍ -ḍ -ḍ - -Ḏ -Ḏ -Ḏ -Ḏ -Ḏ - -ḏ -ḏ -ḏ -ḏ -ḏ - -Ḑ -Ḑ -Ḑ -Ḑ -Ḑ - -ḑ -ḑ -ḑ -ḑ -ḑ - -Ḓ -Ḓ -Ḓ -Ḓ -Ḓ - -ḓ -ḓ -ḓ -ḓ -ḓ - -Ḕ -Ḕ -Ḕ -Ḕ -Ḕ - -ḕ -ḕ -ḕ -ḕ -ḕ - -Ḗ -Ḗ -Ḗ -Ḗ -Ḗ - -ḗ -ḗ -ḗ -ḗ -ḗ - -Ḙ -Ḙ -Ḙ -Ḙ -Ḙ - -ḙ -ḙ -ḙ -ḙ -ḙ - -Ḛ -Ḛ -Ḛ -Ḛ -Ḛ - -ḛ -ḛ -ḛ -ḛ -ḛ - -Ḝ -Ḝ -Ḝ -Ḝ -Ḝ - -ḝ -ḝ -ḝ -ḝ -ḝ - -Ḟ -Ḟ -Ḟ -Ḟ -Ḟ - -ḟ -ḟ -ḟ -ḟ -ḟ - -Ḡ -Ḡ -Ḡ -Ḡ -Ḡ - -ḡ -ḡ -ḡ -ḡ -ḡ - -Ḣ -Ḣ -Ḣ -Ḣ -Ḣ - -ḣ -ḣ -ḣ -ḣ -ḣ - -Ḥ -Ḥ -Ḥ -Ḥ -Ḥ - -ḥ -ḥ -ḥ -ḥ -ḥ - -Ḧ -Ḧ -Ḧ -Ḧ -Ḧ - -ḧ -ḧ -ḧ -ḧ -ḧ - -Ḩ -Ḩ -Ḩ -Ḩ -Ḩ - -ḩ -ḩ -ḩ -ḩ -ḩ - -Ḫ -Ḫ -Ḫ -Ḫ -Ḫ - -ḫ -ḫ -ḫ -ḫ -ḫ - -Ḭ -Ḭ -Ḭ -Ḭ -Ḭ - -ḭ -ḭ -ḭ -ḭ -ḭ - -Ḯ -Ḯ -Ḯ -Ḯ -Ḯ - -ḯ -ḯ -ḯ -ḯ -ḯ - -Ḱ -Ḱ -Ḱ -Ḱ -Ḱ - -ḱ -ḱ -ḱ -ḱ -ḱ - -Ḳ -Ḳ -Ḳ -Ḳ -Ḳ - -ḳ -ḳ -ḳ -ḳ -ḳ - -Ḵ -Ḵ -Ḵ -Ḵ -Ḵ - -ḵ -ḵ -ḵ -ḵ -ḵ - -Ḷ -Ḷ -Ḷ -Ḷ -Ḷ - -ḷ -ḷ -ḷ -ḷ -ḷ - -Ḹ -Ḹ -Ḹ -Ḹ -Ḹ - -ḹ -ḹ -ḹ -ḹ -ḹ - -Ḻ -Ḻ -Ḻ -Ḻ -Ḻ - -ḻ -ḻ -ḻ -ḻ -ḻ - -Ḽ -Ḽ -Ḽ -Ḽ -Ḽ - -ḽ -ḽ -ḽ -ḽ -ḽ - -Ḿ -Ḿ -Ḿ -Ḿ -Ḿ - -ḿ -ḿ -ḿ -ḿ -ḿ - -Ṁ -Ṁ -Ṁ -Ṁ -Ṁ - -ṁ -ṁ -ṁ -ṁ -ṁ - -Ṃ -Ṃ -Ṃ -Ṃ -Ṃ - -ṃ -ṃ -ṃ -ṃ -ṃ - -Ṅ -Ṅ -Ṅ -Ṅ -Ṅ - -ṅ -ṅ -ṅ -ṅ -ṅ - -Ṇ -Ṇ -Ṇ -Ṇ -Ṇ - -ṇ -ṇ -ṇ -ṇ -ṇ - -Ṉ -Ṉ -Ṉ -Ṉ -Ṉ - -ṉ -ṉ -ṉ -ṉ -ṉ - -Ṋ -Ṋ -Ṋ -Ṋ -Ṋ - -ṋ -ṋ -ṋ -ṋ -ṋ - -Ṍ -Ṍ -Ṍ -Ṍ -Ṍ - -ṍ -ṍ -ṍ -ṍ -ṍ - -Ṏ -Ṏ -Ṏ -Ṏ -Ṏ - -ṏ -ṏ -ṏ -ṏ -ṏ - -Ṑ -Ṑ -Ṑ -Ṑ -Ṑ - -ṑ -ṑ -ṑ -ṑ -ṑ - -Ṓ -Ṓ -Ṓ -Ṓ -Ṓ - -ṓ -ṓ -ṓ -ṓ -ṓ - -Ṕ -Ṕ -Ṕ -Ṕ -Ṕ - -ṕ -ṕ -ṕ -ṕ -ṕ - -Ṗ -Ṗ -Ṗ -Ṗ -Ṗ - -ṗ -ṗ -ṗ -ṗ -ṗ - -Ṙ -Ṙ -Ṙ -Ṙ -Ṙ - -ṙ -ṙ -ṙ -ṙ -ṙ - -Ṛ -Ṛ -Ṛ -Ṛ -Ṛ - -ṛ -ṛ -ṛ -ṛ -ṛ - -Ṝ -Ṝ -Ṝ -Ṝ -Ṝ - -ṝ -ṝ -ṝ -ṝ -ṝ - -Ṟ -Ṟ -Ṟ -Ṟ -Ṟ - -ṟ -ṟ -ṟ -ṟ -ṟ - -Ṡ -Ṡ -Ṡ -Ṡ -Ṡ - -ṡ -ṡ -ṡ -ṡ -ṡ - -Ṣ -Ṣ -Ṣ -Ṣ -Ṣ - -ṣ -ṣ -ṣ -ṣ -ṣ - -Ṥ -Ṥ -Ṥ -Ṥ -Ṥ - -ṥ -ṥ -ṥ -ṥ -ṥ - -Ṧ -Ṧ -Ṧ -Ṧ -Ṧ - -ṧ -ṧ -ṧ -ṧ -ṧ - -Ṩ -Ṩ -Ṩ -Ṩ -Ṩ - -ṩ -ṩ -ṩ -ṩ -ṩ - -Ṫ -Ṫ -Ṫ -Ṫ -Ṫ - -ṫ -ṫ -ṫ -ṫ -ṫ - -Ṭ -Ṭ -Ṭ -Ṭ -Ṭ - -ṭ -ṭ -ṭ -ṭ -ṭ - -Ṯ -Ṯ -Ṯ -Ṯ -Ṯ - -ṯ -ṯ -ṯ -ṯ -ṯ - -Ṱ -Ṱ -Ṱ -Ṱ -Ṱ - -ṱ -ṱ -ṱ -ṱ -ṱ - -Ṳ -Ṳ -Ṳ -Ṳ -Ṳ - -ṳ -ṳ -ṳ -ṳ -ṳ - -Ṵ -Ṵ -Ṵ -Ṵ -Ṵ - -ṵ -ṵ -ṵ -ṵ -ṵ - -Ṷ -Ṷ -Ṷ -Ṷ -Ṷ - -ṷ -ṷ -ṷ -ṷ -ṷ - -Ṹ -Ṹ -Ṹ -Ṹ -Ṹ - -ṹ -ṹ -ṹ -ṹ -ṹ - -Ṻ -Ṻ -Ṻ -Ṻ -Ṻ - -ṻ -ṻ -ṻ -ṻ -ṻ - -Ṽ -Ṽ -Ṽ -Ṽ -Ṽ - -ṽ -ṽ -ṽ -ṽ -ṽ - -Ṿ -Ṿ -Ṿ -Ṿ -Ṿ - -ṿ -ṿ -ṿ -ṿ -ṿ - -Ẁ -Ẁ -Ẁ -Ẁ -Ẁ - -ẁ -ẁ -ẁ -ẁ -ẁ - -Ẃ -Ẃ -Ẃ -Ẃ -Ẃ - -ẃ -ẃ -ẃ -ẃ -ẃ - -Ẅ -Ẅ -Ẅ -Ẅ -Ẅ - -ẅ -ẅ -ẅ -ẅ -ẅ - -Ẇ -Ẇ -Ẇ -Ẇ -Ẇ - -ẇ -ẇ -ẇ -ẇ -ẇ - -Ẉ -Ẉ -Ẉ -Ẉ -Ẉ - -ẉ -ẉ -ẉ -ẉ -ẉ - -Ẋ -Ẋ -Ẋ -Ẋ -Ẋ - -ẋ -ẋ -ẋ -ẋ -ẋ - -Ẍ -Ẍ -Ẍ -Ẍ -Ẍ - -ẍ -ẍ -ẍ -ẍ -ẍ - -Ẏ -Ẏ -Ẏ -Ẏ -Ẏ - -ẏ -ẏ -ẏ -ẏ -ẏ - -Ẑ -Ẑ -Ẑ -Ẑ -Ẑ - -ẑ -ẑ -ẑ -ẑ -ẑ - -Ẓ -Ẓ -Ẓ -Ẓ -Ẓ - -ẓ -ẓ -ẓ -ẓ -ẓ - -Ẕ -Ẕ -Ẕ -Ẕ -Ẕ - -ẕ -ẕ -ẕ -ẕ -ẕ - -ẖ -ẖ -ẖ -ẖ -ẖ - -ẗ -ẗ -ẗ -ẗ -ẗ - -ẘ -ẘ -ẘ -ẘ -ẘ - -ẙ -ẙ -ẙ -ẙ -ẙ - -ẚ -ẚ -ẚ -aʾ -aʾ - -ẛ -ẛ -ẛ -ṡ -ṡ - -Ạ -Ạ -Ạ -Ạ -Ạ - -ạ -ạ -ạ -ạ -ạ - -Ả -Ả -Ả -Ả -Ả - -ả -ả -ả -ả -ả - -Ấ -Ấ -Ấ -Ấ -Ấ - -ấ -ấ -ấ -ấ -ấ - -Ầ -Ầ -Ầ -Ầ -Ầ - -ầ -ầ -ầ -ầ -ầ - -Ẩ -Ẩ -Ẩ -Ẩ -Ẩ - -ẩ -ẩ -ẩ -ẩ -ẩ - -Ẫ -Ẫ -Ẫ -Ẫ -Ẫ - -ẫ -ẫ -ẫ -ẫ -ẫ - -Ậ -Ậ -Ậ -Ậ -Ậ - -ậ -ậ -ậ -ậ -ậ - -Ắ -Ắ -Ắ -Ắ -Ắ - -ắ -ắ -ắ -ắ -ắ - -Ằ -Ằ -Ằ -Ằ -Ằ - -ằ -ằ -ằ -ằ -ằ - -Ẳ -Ẳ -Ẳ -Ẳ -Ẳ - -ẳ -ẳ -ẳ -ẳ -ẳ - -Ẵ -Ẵ -Ẵ -Ẵ -Ẵ - -ẵ -ẵ -ẵ -ẵ -ẵ - -Ặ -Ặ -Ặ -Ặ -Ặ - -ặ -ặ -ặ -ặ -ặ - -Ẹ -Ẹ -Ẹ -Ẹ -Ẹ - -ẹ -ẹ -ẹ -ẹ -ẹ - -Ẻ -Ẻ -Ẻ -Ẻ -Ẻ - -ẻ -ẻ -ẻ -ẻ -ẻ - -Ẽ -Ẽ -Ẽ -Ẽ -Ẽ - -ẽ -ẽ -ẽ -ẽ -ẽ - -Ế -Ế -Ế -Ế -Ế - -ế -ế -ế -ế -ế - -Ề -Ề -Ề -Ề -Ề - -ề -ề -ề -ề -ề - -Ể -Ể -Ể -Ể -Ể - -ể -ể -ể -ể -ể - -Ễ -Ễ -Ễ -Ễ -Ễ - -ễ -ễ -ễ -ễ -ễ - -Ệ -Ệ -Ệ -Ệ -Ệ - -ệ -ệ -ệ -ệ -ệ - -Ỉ -Ỉ -Ỉ -Ỉ -Ỉ - -ỉ -ỉ -ỉ -ỉ -ỉ - -Ị -Ị -Ị -Ị -Ị - -ị -ị -ị -ị -ị - -Ọ -Ọ -Ọ -Ọ -Ọ - -ọ -ọ -ọ -ọ -ọ - -Ỏ -Ỏ -Ỏ -Ỏ -Ỏ - -ỏ -ỏ -ỏ -ỏ -ỏ - -Ố -Ố -Ố -Ố -Ố - -ố -ố -ố -ố -ố - -Ồ -Ồ -Ồ -Ồ -Ồ - -ồ -ồ -ồ -ồ -ồ - -Ổ -Ổ -Ổ -Ổ -Ổ - -ổ -ổ -ổ -ổ -ổ - -Ỗ -Ỗ -Ỗ -Ỗ -Ỗ - -ỗ -ỗ -ỗ -ỗ -ỗ - -Ộ -Ộ -Ộ -Ộ -Ộ - -ộ -ộ -ộ -ộ -ộ - -Ớ -Ớ -Ớ -Ớ -Ớ - -ớ -ớ -ớ -ớ -ớ - -Ờ -Ờ -Ờ -Ờ -Ờ - -ờ -ờ -ờ -ờ -ờ - -Ở -Ở -Ở -Ở -Ở - -ở -ở -ở -ở -ở - -Ỡ -Ỡ -Ỡ -Ỡ -Ỡ - -ỡ -ỡ -ỡ -ỡ -ỡ - -Ợ -Ợ -Ợ -Ợ -Ợ - -ợ -ợ -ợ -ợ -ợ - -Ụ -Ụ -Ụ -Ụ -Ụ - -ụ -ụ -ụ -ụ -ụ - -Ủ -Ủ -Ủ -Ủ -Ủ - -ủ -ủ -ủ -ủ -ủ - -Ứ -Ứ -Ứ -Ứ -Ứ - -ứ -ứ -ứ -ứ -ứ - -Ừ -Ừ -Ừ -Ừ -Ừ - -ừ -ừ -ừ -ừ -ừ - -Ử -Ử -Ử -Ử -Ử - -ử -ử -ử -ử -ử - -Ữ -Ữ -Ữ -Ữ -Ữ - -ữ -ữ -ữ -ữ -ữ - -Ự -Ự -Ự -Ự -Ự - -ự -ự -ự -ự -ự - -Ỳ -Ỳ -Ỳ -Ỳ -Ỳ - -ỳ -ỳ -ỳ -ỳ -ỳ - -Ỵ -Ỵ -Ỵ -Ỵ -Ỵ - -ỵ -ỵ -ỵ -ỵ -ỵ - -Ỷ -Ỷ -Ỷ -Ỷ -Ỷ - -ỷ -ỷ -ỷ -ỷ -ỷ - -Ỹ -Ỹ -Ỹ -Ỹ -Ỹ - -ỹ -ỹ -ỹ -ỹ -ỹ - -ἀ -ἀ -ἀ -ἀ -ἀ - -ἁ -ἁ -ἁ -ἁ -ἁ - -ἂ -ἂ -ἂ -ἂ -ἂ - -ἃ -ἃ -ἃ -ἃ -ἃ - -ἄ -ἄ -ἄ -ἄ -ἄ - -ἅ -ἅ -ἅ -ἅ -ἅ - -ἆ -ἆ -ἆ -ἆ -ἆ - -ἇ -ἇ -ἇ -ἇ -ἇ - -Ἀ -Ἀ -Ἀ -Ἀ -Ἀ - -Ἁ -Ἁ -Ἁ -Ἁ -Ἁ - -Ἂ -Ἂ -Ἂ -Ἂ -Ἂ - -Ἃ -Ἃ -Ἃ -Ἃ -Ἃ - -Ἄ -Ἄ -Ἄ -Ἄ -Ἄ - -Ἅ -Ἅ -Ἅ -Ἅ -Ἅ - -Ἆ -Ἆ -Ἆ -Ἆ -Ἆ - -Ἇ -Ἇ -Ἇ -Ἇ -Ἇ - -ἐ -ἐ -ἐ -ἐ -ἐ - -ἑ -ἑ -ἑ -ἑ -ἑ - -ἒ -ἒ -ἒ -ἒ -ἒ - -ἓ -ἓ -ἓ -ἓ -ἓ - -ἔ -ἔ -ἔ -ἔ -ἔ - -ἕ -ἕ -ἕ -ἕ -ἕ - -Ἐ -Ἐ -Ἐ -Ἐ -Ἐ - -Ἑ -Ἑ -Ἑ -Ἑ -Ἑ - -Ἒ -Ἒ -Ἒ -Ἒ -Ἒ - -Ἓ -Ἓ -Ἓ -Ἓ -Ἓ - -Ἔ -Ἔ -Ἔ -Ἔ -Ἔ - -Ἕ -Ἕ -Ἕ -Ἕ -Ἕ - -ἠ -ἠ -ἠ -ἠ -ἠ - -ἡ -ἡ -ἡ -ἡ -ἡ - -ἢ -ἢ -ἢ -ἢ -ἢ - -ἣ -ἣ -ἣ -ἣ -ἣ - -ἤ -ἤ -ἤ -ἤ -ἤ - -ἥ -ἥ -ἥ -ἥ -ἥ - -ἦ -ἦ -ἦ -ἦ -ἦ - -ἧ -ἧ -ἧ -ἧ -ἧ - -Ἠ -Ἠ -Ἠ -Ἠ -Ἠ - -Ἡ -Ἡ -Ἡ -Ἡ -Ἡ - -Ἢ -Ἢ -Ἢ -Ἢ -Ἢ - -Ἣ -Ἣ -Ἣ -Ἣ -Ἣ - -Ἤ -Ἤ -Ἤ -Ἤ -Ἤ - -Ἥ -Ἥ -Ἥ -Ἥ -Ἥ - -Ἦ -Ἦ -Ἦ -Ἦ -Ἦ - -Ἧ -Ἧ -Ἧ -Ἧ -Ἧ - -ἰ -ἰ -ἰ -ἰ -ἰ - -ἱ -ἱ -ἱ -ἱ -ἱ - -ἲ -ἲ -ἲ -ἲ -ἲ - -ἳ -ἳ -ἳ -ἳ -ἳ - -ἴ -ἴ -ἴ -ἴ -ἴ - -ἵ -ἵ -ἵ -ἵ -ἵ - -ἶ -ἶ -ἶ -ἶ -ἶ - -ἷ -ἷ -ἷ -ἷ -ἷ - -Ἰ -Ἰ -Ἰ -Ἰ -Ἰ - -Ἱ -Ἱ -Ἱ -Ἱ -Ἱ - -Ἲ -Ἲ -Ἲ -Ἲ -Ἲ - -Ἳ -Ἳ -Ἳ -Ἳ -Ἳ - -Ἴ -Ἴ -Ἴ -Ἴ -Ἴ - -Ἵ -Ἵ -Ἵ -Ἵ -Ἵ - -Ἶ -Ἶ -Ἶ -Ἶ -Ἶ - -Ἷ -Ἷ -Ἷ -Ἷ -Ἷ - -ὀ -ὀ -ὀ -ὀ -ὀ - -ὁ -ὁ -ὁ -ὁ -ὁ - -ὂ -ὂ -ὂ -ὂ -ὂ - -ὃ -ὃ -ὃ -ὃ -ὃ - -ὄ -ὄ -ὄ -ὄ -ὄ - -ὅ -ὅ -ὅ -ὅ -ὅ - -Ὀ -Ὀ -Ὀ -Ὀ -Ὀ - -Ὁ -Ὁ -Ὁ -Ὁ -Ὁ - -Ὂ -Ὂ -Ὂ -Ὂ -Ὂ - -Ὃ -Ὃ -Ὃ -Ὃ -Ὃ - -Ὄ -Ὄ -Ὄ -Ὄ -Ὄ - -Ὅ -Ὅ -Ὅ -Ὅ -Ὅ - -ὐ -ὐ -ὐ -ὐ -ὐ - -ὑ -ὑ -ὑ -ὑ -ὑ - -ὒ -ὒ -ὒ -ὒ -ὒ - -ὓ -ὓ -ὓ -ὓ -ὓ - -ὔ -ὔ -ὔ -ὔ -ὔ - -ὕ -ὕ -ὕ -ὕ -ὕ - -ὖ -ὖ -ὖ -ὖ -ὖ - -ὗ -ὗ -ὗ -ὗ -ὗ - -Ὑ -Ὑ -Ὑ -Ὑ -Ὑ - -Ὓ -Ὓ -Ὓ -Ὓ -Ὓ - -Ὕ -Ὕ -Ὕ -Ὕ -Ὕ - -Ὗ -Ὗ -Ὗ -Ὗ -Ὗ - -ὠ -ὠ -ὠ -ὠ -ὠ - -ὡ -ὡ -ὡ -ὡ -ὡ - -ὢ -ὢ -ὢ -ὢ -ὢ - -ὣ -ὣ -ὣ -ὣ -ὣ - -ὤ -ὤ -ὤ -ὤ -ὤ - -ὥ -ὥ -ὥ -ὥ -ὥ - -ὦ -ὦ -ὦ -ὦ -ὦ - -ὧ -ὧ -ὧ -ὧ -ὧ - -Ὠ -Ὠ -Ὠ -Ὠ -Ὠ - -Ὡ -Ὡ -Ὡ -Ὡ -Ὡ - -Ὢ -Ὢ -Ὢ -Ὢ -Ὢ - -Ὣ -Ὣ -Ὣ -Ὣ -Ὣ - -Ὤ -Ὤ -Ὤ -Ὤ -Ὤ - -Ὥ -Ὥ -Ὥ -Ὥ -Ὥ - -Ὦ -Ὦ -Ὦ -Ὦ -Ὦ - -Ὧ -Ὧ -Ὧ -Ὧ -Ὧ - -ὰ -ὰ -ὰ -ὰ -ὰ - -ά -ά -ά -ά -ά - -ὲ -ὲ -ὲ -ὲ -ὲ - -έ -έ -έ -έ -έ - -ὴ -ὴ -ὴ -ὴ -ὴ - -ή -ή -ή -ή -ή - -ὶ -ὶ -ὶ -ὶ -ὶ - -ί -ί -ί -ί -ί - -ὸ -ὸ -ὸ -ὸ -ὸ - -ό -ό -ό -ό -ό - -ὺ -ὺ -ὺ -ὺ -ὺ - -ύ -ύ -ύ -ύ -ύ - -ὼ -ὼ -ὼ -ὼ -ὼ - -ώ -ώ -ώ -ώ -ώ - -ᾀ -ᾀ -ᾀ -ᾀ -ᾀ - -ᾁ -ᾁ -ᾁ -ᾁ -ᾁ - -ᾂ -ᾂ -ᾂ -ᾂ -ᾂ - -ᾃ -ᾃ -ᾃ -ᾃ -ᾃ - -ᾄ -ᾄ -ᾄ -ᾄ -ᾄ - -ᾅ -ᾅ -ᾅ -ᾅ -ᾅ - -ᾆ -ᾆ -ᾆ -ᾆ -ᾆ - -ᾇ -ᾇ -ᾇ -ᾇ -ᾇ - -ᾈ -ᾈ -ᾈ -ᾈ -ᾈ - -ᾉ -ᾉ -ᾉ -ᾉ -ᾉ - -ᾊ -ᾊ -ᾊ -ᾊ -ᾊ - -ᾋ -ᾋ -ᾋ -ᾋ -ᾋ - -ᾌ -ᾌ -ᾌ -ᾌ -ᾌ - -ᾍ -ᾍ -ᾍ -ᾍ -ᾍ - -ᾎ -ᾎ -ᾎ -ᾎ -ᾎ - -ᾏ -ᾏ -ᾏ -ᾏ -ᾏ - -ᾐ -ᾐ -ᾐ -ᾐ -ᾐ - -ᾑ -ᾑ -ᾑ -ᾑ -ᾑ - -ᾒ -ᾒ -ᾒ -ᾒ -ᾒ - -ᾓ -ᾓ -ᾓ -ᾓ -ᾓ - -ᾔ -ᾔ -ᾔ -ᾔ -ᾔ - -ᾕ -ᾕ -ᾕ -ᾕ -ᾕ - -ᾖ -ᾖ -ᾖ -ᾖ -ᾖ - -ᾗ -ᾗ -ᾗ -ᾗ -ᾗ - -ᾘ -ᾘ -ᾘ -ᾘ -ᾘ - -ᾙ -ᾙ -ᾙ -ᾙ -ᾙ - -ᾚ -ᾚ -ᾚ -ᾚ -ᾚ - -ᾛ -ᾛ -ᾛ -ᾛ -ᾛ - -ᾜ -ᾜ -ᾜ -ᾜ -ᾜ - -ᾝ -ᾝ -ᾝ -ᾝ -ᾝ - -ᾞ -ᾞ -ᾞ -ᾞ -ᾞ - -ᾟ -ᾟ -ᾟ -ᾟ -ᾟ - -ᾠ -ᾠ -ᾠ -ᾠ -ᾠ - -ᾡ -ᾡ -ᾡ -ᾡ -ᾡ - -ᾢ -ᾢ -ᾢ -ᾢ -ᾢ - -ᾣ -ᾣ -ᾣ -ᾣ -ᾣ - -ᾤ -ᾤ -ᾤ -ᾤ -ᾤ - -ᾥ -ᾥ -ᾥ -ᾥ -ᾥ - -ᾦ -ᾦ -ᾦ -ᾦ -ᾦ - -ᾧ -ᾧ -ᾧ -ᾧ -ᾧ - -ᾨ -ᾨ -ᾨ -ᾨ -ᾨ - -ᾩ -ᾩ -ᾩ -ᾩ -ᾩ - -ᾪ -ᾪ -ᾪ -ᾪ -ᾪ - -ᾫ -ᾫ -ᾫ -ᾫ -ᾫ - -ᾬ -ᾬ -ᾬ -ᾬ -ᾬ - -ᾭ -ᾭ -ᾭ -ᾭ -ᾭ - -ᾮ -ᾮ -ᾮ -ᾮ -ᾮ - -ᾯ -ᾯ -ᾯ -ᾯ -ᾯ - -ᾰ -ᾰ -ᾰ -ᾰ -ᾰ - -ᾱ -ᾱ -ᾱ -ᾱ -ᾱ - -ᾲ -ᾲ -ᾲ -ᾲ -ᾲ - -ᾳ -ᾳ -ᾳ -ᾳ -ᾳ - -ᾴ -ᾴ -ᾴ -ᾴ -ᾴ - -ᾶ -ᾶ -ᾶ -ᾶ -ᾶ - -ᾷ -ᾷ -ᾷ -ᾷ -ᾷ - -Ᾰ -Ᾰ -Ᾰ -Ᾰ -Ᾰ - -Ᾱ -Ᾱ -Ᾱ -Ᾱ -Ᾱ - -Ὰ -Ὰ -Ὰ -Ὰ -Ὰ - -Ά -Ά -Ά -Ά -Ά - -ᾼ -ᾼ -ᾼ -ᾼ -ᾼ - -᾽ -᾽ -᾽ - ̓ - ̓ - -ι -ι -ι -ι -ι - -᾿ -᾿ -᾿ - ̓ - ̓ - -῀ -῀ -῀ - ͂ - ͂ - -῁ -῁ -῁ - ̈͂ - ̈͂ - -ῂ -ῂ -ῂ -ῂ -ῂ - -ῃ -ῃ -ῃ -ῃ -ῃ - -ῄ -ῄ -ῄ -ῄ -ῄ - -ῆ -ῆ -ῆ -ῆ -ῆ - -ῇ -ῇ -ῇ -ῇ -ῇ - -Ὲ -Ὲ -Ὲ -Ὲ -Ὲ - -Έ -Έ -Έ -Έ -Έ - -Ὴ -Ὴ -Ὴ -Ὴ -Ὴ - -Ή -Ή -Ή -Ή -Ή - -ῌ -ῌ -ῌ -ῌ -ῌ - -῍ -῍ -῍ - ̓̀ - ̓̀ - -῎ -῎ -῎ - ̓́ - ̓́ - -῏ -῏ -῏ - ̓͂ - ̓͂ - -ῐ -ῐ -ῐ -ῐ -ῐ - -ῑ -ῑ -ῑ -ῑ -ῑ - -ῒ -ῒ -ῒ -ῒ -ῒ - -ΐ -ΐ -ΐ -ΐ -ΐ - -ῖ -ῖ -ῖ -ῖ -ῖ - -ῗ -ῗ -ῗ -ῗ -ῗ - -Ῐ -Ῐ -Ῐ -Ῐ -Ῐ - -Ῑ -Ῑ -Ῑ -Ῑ -Ῑ - -Ὶ -Ὶ -Ὶ -Ὶ -Ὶ - -Ί -Ί -Ί -Ί -Ί - -῝ -῝ -῝ - ̔̀ - ̔̀ - -῞ -῞ -῞ - ̔́ - ̔́ - -῟ -῟ -῟ - ̔͂ - ̔͂ - -ῠ -ῠ -ῠ -ῠ -ῠ - -ῡ -ῡ -ῡ -ῡ -ῡ - -ῢ -ῢ -ῢ -ῢ -ῢ - -ΰ -ΰ -ΰ -ΰ -ΰ - -ῤ -ῤ -ῤ -ῤ -ῤ - -ῥ -ῥ -ῥ -ῥ -ῥ - -ῦ -ῦ -ῦ -ῦ -ῦ - -ῧ -ῧ -ῧ -ῧ -ῧ - -Ῠ -Ῠ -Ῠ -Ῠ -Ῠ - -Ῡ -Ῡ -Ῡ -Ῡ -Ῡ - -Ὺ -Ὺ -Ὺ -Ὺ -Ὺ - -Ύ -Ύ -Ύ -Ύ -Ύ - -Ῥ -Ῥ -Ῥ -Ῥ -Ῥ - -῭ -῭ -῭ - ̈̀ - ̈̀ - -΅ -΅ -΅ - ̈́ - ̈́ - -` -` -` -` -` - -ῲ -ῲ -ῲ -ῲ -ῲ - -ῳ -ῳ -ῳ -ῳ -ῳ - -ῴ -ῴ -ῴ -ῴ -ῴ - -ῶ -ῶ -ῶ -ῶ -ῶ - -ῷ -ῷ -ῷ -ῷ -ῷ - -Ὸ -Ὸ -Ὸ -Ὸ -Ὸ - -Ό -Ό -Ό -Ό -Ό - -Ὼ -Ὼ -Ὼ -Ὼ -Ὼ - -Ώ -Ώ -Ώ -Ώ -Ώ - -ῼ -ῼ -ῼ -ῼ -ῼ - -´ -´ -´ - ́ - ́ - -῾ -῾ -῾ - ̔ - ̔ - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -  -  -  - - - -‑ -‑ -‑ -‐ -‐ - -‗ -‗ -‗ - ̳ - ̳ - -․ -․ -․ -. -. - -‥ -‥ -‥ -.. -.. - -… -… -… -... -... - -  -  -  - - - -″ -″ -″ -′′ -′′ - -‴ -‴ -‴ -′′′ -′′′ - -‶ -‶ -‶ -‵‵ -‵‵ - -‷ -‷ -‷ -‵‵‵ -‵‵‵ - -‼ -‼ -‼ -!! -!! - -‾ -‾ -‾ - ̅ - ̅ - -⁇ -⁇ -⁇ -?? -?? - -⁈ -⁈ -⁈ -?! -?! - -⁉ -⁉ -⁉ -!? -!? - -⁗ -⁗ -⁗ -′′′′ -′′′′ - -  -  -  - - - -⁰ -⁰ -⁰ -0 -0 - -ⁱ -ⁱ -ⁱ -i -i - -⁴ -⁴ -⁴ -4 -4 - -⁵ -⁵ -⁵ -5 -5 - -⁶ -⁶ -⁶ -6 -6 - -⁷ -⁷ -⁷ -7 -7 - -⁸ -⁸ -⁸ -8 -8 - -⁹ -⁹ -⁹ -9 -9 - -⁺ -⁺ -⁺ -+ -+ - -⁻ -⁻ -⁻ -− -− - -⁼ -⁼ -⁼ -= -= - -⁽ -⁽ -⁽ -( -( - -⁾ -⁾ -⁾ -) -) - -ⁿ -ⁿ -ⁿ -n -n - -₀ -₀ -₀ -0 -0 - -₁ -₁ -₁ -1 -1 - -₂ -₂ -₂ -2 -2 - -₃ -₃ -₃ -3 -3 - -₄ -₄ -₄ -4 -4 - -₅ -₅ -₅ -5 -5 - -₆ -₆ -₆ -6 -6 - -₇ -₇ -₇ -7 -7 - -₈ -₈ -₈ -8 -8 - -₉ -₉ -₉ -9 -9 - -₊ -₊ -₊ -+ -+ - -₋ -₋ -₋ -− -− - -₌ -₌ -₌ -= -= - -₍ -₍ -₍ -( -( - -₎ -₎ -₎ -) -) - -ₐ -ₐ -ₐ -a -a - -ₑ -ₑ -ₑ -e -e - -ₒ -ₒ -ₒ -o -o - -ₓ -ₓ -ₓ -x -x - -ₔ -ₔ -ₔ -ə -ə - -ₕ -ₕ -ₕ -h -h - -ₖ -ₖ -ₖ -k -k - -ₗ -ₗ -ₗ -l -l - -ₘ -ₘ -ₘ -m -m - -ₙ -ₙ -ₙ -n -n - -ₚ -ₚ -ₚ -p -p - -ₛ -ₛ -ₛ -s -s - -ₜ -ₜ -ₜ -t -t - -₨ -₨ -₨ -Rs -Rs - -℀ -℀ -℀ -a/c -a/c - -℁ -℁ -℁ -a/s -a/s - -ℂ -ℂ -ℂ -C -C - -℃ -℃ -℃ -°C -°C - -℅ -℅ -℅ -c/o -c/o - -℆ -℆ -℆ -c/u -c/u - -ℇ -ℇ -ℇ -Ɛ -Ɛ - -℉ -℉ -℉ -°F -°F - -ℊ -ℊ -ℊ -g -g - -ℋ -ℋ -ℋ -H -H - -ℌ -ℌ -ℌ -H -H - -ℍ -ℍ -ℍ -H -H - -ℎ -ℎ -ℎ -h -h - -ℏ -ℏ -ℏ -ħ -ħ - -ℐ -ℐ -ℐ -I -I - -ℑ -ℑ -ℑ -I -I - -ℒ -ℒ -ℒ -L -L - -ℓ -ℓ -ℓ -l -l - -ℕ -ℕ -ℕ -N -N - -№ -№ -№ -No -No - -ℙ -ℙ -ℙ -P -P - -ℚ -ℚ -ℚ -Q -Q - -ℛ -ℛ -ℛ -R -R - -ℜ -ℜ -ℜ -R -R - -ℝ -ℝ -ℝ -R -R - -℠ -℠ -℠ -SM -SM - -℡ -℡ -℡ -TEL -TEL - -™ -™ -™ -TM -TM - -ℤ -ℤ -ℤ -Z -Z - -Ω -Ω -Ω -Ω -Ω - -ℨ -ℨ -ℨ -Z -Z - -K -K -K -K -K - -Å -Å -Å -Å -Å - -ℬ -ℬ -ℬ -B -B - -ℭ -ℭ -ℭ -C -C - -ℯ -ℯ -ℯ -e -e - -ℰ -ℰ -ℰ -E -E - -ℱ -ℱ -ℱ -F -F - -ℳ -ℳ -ℳ -M -M - -ℴ -ℴ -ℴ -o -o - -ℵ -ℵ -ℵ -א -א - -ℶ -ℶ -ℶ -ב -ב - -ℷ -ℷ -ℷ -ג -ג - -ℸ -ℸ -ℸ -ד -ד - -ℹ -ℹ -ℹ -i -i - -℻ -℻ -℻ -FAX -FAX - -ℼ -ℼ -ℼ -π -π - -ℽ -ℽ -ℽ -γ -γ - -ℾ -ℾ -ℾ -Γ -Γ - -ℿ -ℿ -ℿ -Π -Π - -⅀ -⅀ -⅀ -∑ -∑ - -ⅅ -ⅅ -ⅅ -D -D - -ⅆ -ⅆ -ⅆ -d -d - -ⅇ -ⅇ -ⅇ -e -e - -ⅈ -ⅈ -ⅈ -i -i - -ⅉ -ⅉ -ⅉ -j -j - -⅐ -⅐ -⅐ -1⁄7 -1⁄7 - -⅑ -⅑ -⅑ -1⁄9 -1⁄9 - -⅒ -⅒ -⅒ -1⁄10 -1⁄10 - -⅓ -⅓ -⅓ -1⁄3 -1⁄3 - -⅔ -⅔ -⅔ -2⁄3 -2⁄3 - -⅕ -⅕ -⅕ -1⁄5 -1⁄5 - -⅖ -⅖ -⅖ -2⁄5 -2⁄5 - -⅗ -⅗ -⅗ -3⁄5 -3⁄5 - -⅘ -⅘ -⅘ -4⁄5 -4⁄5 - -⅙ -⅙ -⅙ -1⁄6 -1⁄6 - -⅚ -⅚ -⅚ -5⁄6 -5⁄6 - -⅛ -⅛ -⅛ -1⁄8 -1⁄8 - -⅜ -⅜ -⅜ -3⁄8 -3⁄8 - -⅝ -⅝ -⅝ -5⁄8 -5⁄8 - -⅞ -⅞ -⅞ -7⁄8 -7⁄8 - -⅟ -⅟ -⅟ -1⁄ -1⁄ - -Ⅰ -Ⅰ -Ⅰ -I -I - -Ⅱ -Ⅱ -Ⅱ -II -II - -Ⅲ -Ⅲ -Ⅲ -III -III - -Ⅳ -Ⅳ -Ⅳ -IV -IV - -Ⅴ -Ⅴ -Ⅴ -V -V - -Ⅵ -Ⅵ -Ⅵ -VI -VI - -Ⅶ -Ⅶ -Ⅶ -VII -VII - -Ⅷ -Ⅷ -Ⅷ -VIII -VIII - -Ⅸ -Ⅸ -Ⅸ -IX -IX - -Ⅹ -Ⅹ -Ⅹ -X -X - -Ⅺ -Ⅺ -Ⅺ -XI -XI - -Ⅻ -Ⅻ -Ⅻ -XII -XII - -Ⅼ -Ⅼ -Ⅼ -L -L - -Ⅽ -Ⅽ -Ⅽ -C -C - -Ⅾ -Ⅾ -Ⅾ -D -D - -Ⅿ -Ⅿ -Ⅿ -M -M - -ⅰ -ⅰ -ⅰ -i -i - -ⅱ -ⅱ -ⅱ -ii -ii - -ⅲ -ⅲ -ⅲ -iii -iii - -ⅳ -ⅳ -ⅳ -iv -iv - -ⅴ -ⅴ -ⅴ -v -v - -ⅵ -ⅵ -ⅵ -vi -vi - -ⅶ -ⅶ -ⅶ -vii -vii - -ⅷ -ⅷ -ⅷ -viii -viii - -ⅸ -ⅸ -ⅸ -ix -ix - -ⅹ -ⅹ -ⅹ -x -x - -ⅺ -ⅺ -ⅺ -xi -xi - -ⅻ -ⅻ -ⅻ -xii -xii - -ⅼ -ⅼ -ⅼ -l -l - -ⅽ -ⅽ -ⅽ -c -c - -ⅾ -ⅾ -ⅾ -d -d - -ⅿ -ⅿ -ⅿ -m -m - -↉ -↉ -↉ -0⁄3 -0⁄3 - -↚ -↚ -↚ -↚ -↚ - -↛ -↛ -↛ -↛ -↛ - -↮ -↮ -↮ -↮ -↮ - -⇍ -⇍ -⇍ -⇍ -⇍ - -⇎ -⇎ -⇎ -⇎ -⇎ - -⇏ -⇏ -⇏ -⇏ -⇏ - -∄ -∄ -∄ -∄ -∄ - -∉ -∉ -∉ -∉ -∉ - -∌ -∌ -∌ -∌ -∌ - -∤ -∤ -∤ -∤ -∤ - -∦ -∦ -∦ -∦ -∦ - -∬ -∬ -∬ -∫∫ -∫∫ - -∭ -∭ -∭ -∫∫∫ -∫∫∫ - -∯ -∯ -∯ -∮∮ -∮∮ - -∰ -∰ -∰ -∮∮∮ -∮∮∮ - -≁ -≁ -≁ -≁ -≁ - -≄ -≄ -≄ -≄ -≄ - -≇ -≇ -≇ -≇ -≇ - -≉ -≉ -≉ -≉ -≉ - -≠ -≠ -≠ -≠ -≠ - -≢ -≢ -≢ -≢ -≢ - -≭ -≭ -≭ -≭ -≭ - -≮ -≮ -≮ -≮ -≮ - -≯ -≯ -≯ -≯ -≯ - -≰ -≰ -≰ -≰ -≰ - -≱ -≱ -≱ -≱ -≱ - -≴ -≴ -≴ -≴ -≴ - -≵ -≵ -≵ -≵ -≵ - -≸ -≸ -≸ -≸ -≸ - -≹ -≹ -≹ -≹ -≹ - -⊀ -⊀ -⊀ -⊀ -⊀ - -⊁ -⊁ -⊁ -⊁ -⊁ - -⊄ -⊄ -⊄ -⊄ -⊄ - -⊅ -⊅ -⊅ -⊅ -⊅ - -⊈ -⊈ -⊈ -⊈ -⊈ - -⊉ -⊉ -⊉ -⊉ -⊉ - -⊬ -⊬ -⊬ -⊬ -⊬ - -⊭ -⊭ -⊭ -⊭ -⊭ - -⊮ -⊮ -⊮ -⊮ -⊮ - -⊯ -⊯ -⊯ -⊯ -⊯ - -⋠ -⋠ -⋠ -⋠ -⋠ - -⋡ -⋡ -⋡ -⋡ -⋡ - -⋢ -⋢ -⋢ -⋢ -⋢ - -⋣ -⋣ -⋣ -⋣ -⋣ - -⋪ -⋪ -⋪ -⋪ -⋪ - -⋫ -⋫ -⋫ -⋫ -⋫ - -⋬ -⋬ -⋬ -⋬ -⋬ - -⋭ -⋭ -⋭ -⋭ -⋭ - -〈 -〈 -〈 -〈 -〈 - -〉 -〉 -〉 -〉 -〉 - -① -① -① -1 -1 - -② -② -② -2 -2 - -③ -③ -③ -3 -3 - -④ -④ -④ -4 -4 - -⑤ -⑤ -⑤ -5 -5 - -⑥ -⑥ -⑥ -6 -6 - -⑦ -⑦ -⑦ -7 -7 - -⑧ -⑧ -⑧ -8 -8 - -⑨ -⑨ -⑨ -9 -9 - -⑩ -⑩ -⑩ -10 -10 - -⑪ -⑪ -⑪ -11 -11 - -⑫ -⑫ -⑫ -12 -12 - -⑬ -⑬ -⑬ -13 -13 - -⑭ -⑭ -⑭ -14 -14 - -⑮ -⑮ -⑮ -15 -15 - -⑯ -⑯ -⑯ -16 -16 - -⑰ -⑰ -⑰ -17 -17 - -⑱ -⑱ -⑱ -18 -18 - -⑲ -⑲ -⑲ -19 -19 - -⑳ -⑳ -⑳ -20 -20 - -⑴ -⑴ -⑴ -(1) -(1) - -⑵ -⑵ -⑵ -(2) -(2) - -⑶ -⑶ -⑶ -(3) -(3) - -⑷ -⑷ -⑷ -(4) -(4) - -⑸ -⑸ -⑸ -(5) -(5) - -⑹ -⑹ -⑹ -(6) -(6) - -⑺ -⑺ -⑺ -(7) -(7) - -⑻ -⑻ -⑻ -(8) -(8) - -⑼ -⑼ -⑼ -(9) -(9) - -⑽ -⑽ -⑽ -(10) -(10) - -⑾ -⑾ -⑾ -(11) -(11) - -⑿ -⑿ -⑿ -(12) -(12) - -⒀ -⒀ -⒀ -(13) -(13) - -⒁ -⒁ -⒁ -(14) -(14) - -⒂ -⒂ -⒂ -(15) -(15) - -⒃ -⒃ -⒃ -(16) -(16) - -⒄ -⒄ -⒄ -(17) -(17) - -⒅ -⒅ -⒅ -(18) -(18) - -⒆ -⒆ -⒆ -(19) -(19) - -⒇ -⒇ -⒇ -(20) -(20) - -⒈ -⒈ -⒈ -1. -1. - -⒉ -⒉ -⒉ -2. -2. - -⒊ -⒊ -⒊ -3. -3. - -⒋ -⒋ -⒋ -4. -4. - -⒌ -⒌ -⒌ -5. -5. - -⒍ -⒍ -⒍ -6. -6. - -⒎ -⒎ -⒎ -7. -7. - -⒏ -⒏ -⒏ -8. -8. - -⒐ -⒐ -⒐ -9. -9. - -⒑ -⒑ -⒑ -10. -10. - -⒒ -⒒ -⒒ -11. -11. - -⒓ -⒓ -⒓ -12. -12. - -⒔ -⒔ -⒔ -13. -13. - -⒕ -⒕ -⒕ -14. -14. - -⒖ -⒖ -⒖ -15. -15. - -⒗ -⒗ -⒗ -16. -16. - -⒘ -⒘ -⒘ -17. -17. - -⒙ -⒙ -⒙ -18. -18. - -⒚ -⒚ -⒚ -19. -19. - -⒛ -⒛ -⒛ -20. -20. - -⒜ -⒜ -⒜ -(a) -(a) - -⒝ -⒝ -⒝ -(b) -(b) - -⒞ -⒞ -⒞ -(c) -(c) - -⒟ -⒟ -⒟ -(d) -(d) - -⒠ -⒠ -⒠ -(e) -(e) - -⒡ -⒡ -⒡ -(f) -(f) - -⒢ -⒢ -⒢ -(g) -(g) - -⒣ -⒣ -⒣ -(h) -(h) - -⒤ -⒤ -⒤ -(i) -(i) - -⒥ -⒥ -⒥ -(j) -(j) - -⒦ -⒦ -⒦ -(k) -(k) - -⒧ -⒧ -⒧ -(l) -(l) - -⒨ -⒨ -⒨ -(m) -(m) - -⒩ -⒩ -⒩ -(n) -(n) - -⒪ -⒪ -⒪ -(o) -(o) - -⒫ -⒫ -⒫ -(p) -(p) - -⒬ -⒬ -⒬ -(q) -(q) - -⒭ -⒭ -⒭ -(r) -(r) - -⒮ -⒮ -⒮ -(s) -(s) - -⒯ -⒯ -⒯ -(t) -(t) - -⒰ -⒰ -⒰ -(u) -(u) - -⒱ -⒱ -⒱ -(v) -(v) - -⒲ -⒲ -⒲ -(w) -(w) - -⒳ -⒳ -⒳ -(x) -(x) - -⒴ -⒴ -⒴ -(y) -(y) - -⒵ -⒵ -⒵ -(z) -(z) - -Ⓐ -Ⓐ -Ⓐ -A -A - -Ⓑ -Ⓑ -Ⓑ -B -B - -Ⓒ -Ⓒ -Ⓒ -C -C - -Ⓓ -Ⓓ -Ⓓ -D -D - -Ⓔ -Ⓔ -Ⓔ -E -E - -Ⓕ -Ⓕ -Ⓕ -F -F - -Ⓖ -Ⓖ -Ⓖ -G -G - -Ⓗ -Ⓗ -Ⓗ -H -H - -Ⓘ -Ⓘ -Ⓘ -I -I - -Ⓙ -Ⓙ -Ⓙ -J -J - -Ⓚ -Ⓚ -Ⓚ -K -K - -Ⓛ -Ⓛ -Ⓛ -L -L - -Ⓜ -Ⓜ -Ⓜ -M -M - -Ⓝ -Ⓝ -Ⓝ -N -N - -Ⓞ -Ⓞ -Ⓞ -O -O - -Ⓟ -Ⓟ -Ⓟ -P -P - -Ⓠ -Ⓠ -Ⓠ -Q -Q - -Ⓡ -Ⓡ -Ⓡ -R -R - -Ⓢ -Ⓢ -Ⓢ -S -S - -Ⓣ -Ⓣ -Ⓣ -T -T - -Ⓤ -Ⓤ -Ⓤ -U -U - -Ⓥ -Ⓥ -Ⓥ -V -V - -Ⓦ -Ⓦ -Ⓦ -W -W - -Ⓧ -Ⓧ -Ⓧ -X -X - -Ⓨ -Ⓨ -Ⓨ -Y -Y - -Ⓩ -Ⓩ -Ⓩ -Z -Z - -ⓐ -ⓐ -ⓐ -a -a - -ⓑ -ⓑ -ⓑ -b -b - -ⓒ -ⓒ -ⓒ -c -c - -ⓓ -ⓓ -ⓓ -d -d - -ⓔ -ⓔ -ⓔ -e -e - -ⓕ -ⓕ -ⓕ -f -f - -ⓖ -ⓖ -ⓖ -g -g - -ⓗ -ⓗ -ⓗ -h -h - -ⓘ -ⓘ -ⓘ -i -i - -ⓙ -ⓙ -ⓙ -j -j - -ⓚ -ⓚ -ⓚ -k -k - -ⓛ -ⓛ -ⓛ -l -l - -ⓜ -ⓜ -ⓜ -m -m - -ⓝ -ⓝ -ⓝ -n -n - -ⓞ -ⓞ -ⓞ -o -o - -ⓟ -ⓟ -ⓟ -p -p - -ⓠ -ⓠ -ⓠ -q -q - -ⓡ -ⓡ -ⓡ -r -r - -ⓢ -ⓢ -ⓢ -s -s - -ⓣ -ⓣ -ⓣ -t -t - -ⓤ -ⓤ -ⓤ -u -u - -ⓥ -ⓥ -ⓥ -v -v - -ⓦ -ⓦ -ⓦ -w -w - -ⓧ -ⓧ -ⓧ -x -x - -ⓨ -ⓨ -ⓨ -y -y - -ⓩ -ⓩ -ⓩ -z -z - -⓪ -⓪ -⓪ -0 -0 - -⨌ -⨌ -⨌ -∫∫∫∫ -∫∫∫∫ - -⩴ -⩴ -⩴ -::= -::= - -⩵ -⩵ -⩵ -== -== - -⩶ -⩶ -⩶ -=== -=== - -⫝̸ -⫝̸ -⫝̸ -⫝̸ -⫝̸ - -ⱼ -ⱼ -ⱼ -j -j - -ⱽ -ⱽ -ⱽ -V -V - -ⵯ -ⵯ -ⵯ -ⵡ -ⵡ - -⺟ -⺟ -⺟ -母 -母 - -⻳ -⻳ -⻳ -龟 -龟 - -⼀ -⼀ -⼀ -一 -一 - -⼁ -⼁ -⼁ -丨 -丨 - -⼂ -⼂ -⼂ -丶 -丶 - -⼃ -⼃ -⼃ -丿 -丿 - -⼄ -⼄ -⼄ -乙 -乙 - -⼅ -⼅ -⼅ -亅 -亅 - -⼆ -⼆ -⼆ -二 -二 - -⼇ -⼇ -⼇ -亠 -亠 - -⼈ -⼈ -⼈ -人 -人 - -⼉ -⼉ -⼉ -儿 -儿 - -⼊ -⼊ -⼊ -入 -入 - -⼋ -⼋ -⼋ -八 -八 - -⼌ -⼌ -⼌ -冂 -冂 - -⼍ -⼍ -⼍ -冖 -冖 - -⼎ -⼎ -⼎ -冫 -冫 - -⼏ -⼏ -⼏ -几 -几 - -⼐ -⼐ -⼐ -凵 -凵 - -⼑ -⼑ -⼑ -刀 -刀 - -⼒ -⼒ -⼒ -力 -力 - -⼓ -⼓ -⼓ -勹 -勹 - -⼔ -⼔ -⼔ -匕 -匕 - -⼕ -⼕ -⼕ -匚 -匚 - -⼖ -⼖ -⼖ -匸 -匸 - -⼗ -⼗ -⼗ -十 -十 - -⼘ -⼘ -⼘ -卜 -卜 - -⼙ -⼙ -⼙ -卩 -卩 - -⼚ -⼚ -⼚ -厂 -厂 - -⼛ -⼛ -⼛ -厶 -厶 - -⼜ -⼜ -⼜ -又 -又 - -⼝ -⼝ -⼝ -口 -口 - -⼞ -⼞ -⼞ -囗 -囗 - -⼟ -⼟ -⼟ -土 -土 - -⼠ -⼠ -⼠ -士 -士 - -⼡ -⼡ -⼡ -夂 -夂 - -⼢ -⼢ -⼢ -夊 -夊 - -⼣ -⼣ -⼣ -夕 -夕 - -⼤ -⼤ -⼤ -大 -大 - -⼥ -⼥ -⼥ -女 -女 - -⼦ -⼦ -⼦ -子 -子 - -⼧ -⼧ -⼧ -宀 -宀 - -⼨ -⼨ -⼨ -寸 -寸 - -⼩ -⼩ -⼩ -小 -小 - -⼪ -⼪ -⼪ -尢 -尢 - -⼫ -⼫ -⼫ -尸 -尸 - -⼬ -⼬ -⼬ -屮 -屮 - -⼭ -⼭ -⼭ -山 -山 - -⼮ -⼮ -⼮ -巛 -巛 - -⼯ -⼯ -⼯ -工 -工 - -⼰ -⼰ -⼰ -己 -己 - -⼱ -⼱ -⼱ -巾 -巾 - -⼲ -⼲ -⼲ -干 -干 - -⼳ -⼳ -⼳ -幺 -幺 - -⼴ -⼴ -⼴ -广 -广 - -⼵ -⼵ -⼵ -廴 -廴 - -⼶ -⼶ -⼶ -廾 -廾 - -⼷ -⼷ -⼷ -弋 -弋 - -⼸ -⼸ -⼸ -弓 -弓 - -⼹ -⼹ -⼹ -彐 -彐 - -⼺ -⼺ -⼺ -彡 -彡 - -⼻ -⼻ -⼻ -彳 -彳 - -⼼ -⼼ -⼼ -心 -心 - -⼽ -⼽ -⼽ -戈 -戈 - -⼾ -⼾ -⼾ -戶 -戶 - -⼿ -⼿ -⼿ -手 -手 - -⽀ -⽀ -⽀ -支 -支 - -⽁ -⽁ -⽁ -攴 -攴 - -⽂ -⽂ -⽂ -文 -文 - -⽃ -⽃ -⽃ -斗 -斗 - -⽄ -⽄ -⽄ -斤 -斤 - -⽅ -⽅ -⽅ -方 -方 - -⽆ -⽆ -⽆ -无 -无 - -⽇ -⽇ -⽇ -日 -日 - -⽈ -⽈ -⽈ -曰 -曰 - -⽉ -⽉ -⽉ -月 -月 - -⽊ -⽊ -⽊ -木 -木 - -⽋ -⽋ -⽋ -欠 -欠 - -⽌ -⽌ -⽌ -止 -止 - -⽍ -⽍ -⽍ -歹 -歹 - -⽎ -⽎ -⽎ -殳 -殳 - -⽏ -⽏ -⽏ -毋 -毋 - -⽐ -⽐ -⽐ -比 -比 - -⽑ -⽑ -⽑ -毛 -毛 - -⽒ -⽒ -⽒ -氏 -氏 - -⽓ -⽓ -⽓ -气 -气 - -⽔ -⽔ -⽔ -水 -水 - -⽕ -⽕ -⽕ -火 -火 - -⽖ -⽖ -⽖ -爪 -爪 - -⽗ -⽗ -⽗ -父 -父 - -⽘ -⽘ -⽘ -爻 -爻 - -⽙ -⽙ -⽙ -爿 -爿 - -⽚ -⽚ -⽚ -片 -片 - -⽛ -⽛ -⽛ -牙 -牙 - -⽜ -⽜ -⽜ -牛 -牛 - -⽝ -⽝ -⽝ -犬 -犬 - -⽞ -⽞ -⽞ -玄 -玄 - -⽟ -⽟ -⽟ -玉 -玉 - -⽠ -⽠ -⽠ -瓜 -瓜 - -⽡ -⽡ -⽡ -瓦 -瓦 - -⽢ -⽢ -⽢ -甘 -甘 - -⽣ -⽣ -⽣ -生 -生 - -⽤ -⽤ -⽤ -用 -用 - -⽥ -⽥ -⽥ -田 -田 - -⽦ -⽦ -⽦ -疋 -疋 - -⽧ -⽧ -⽧ -疒 -疒 - -⽨ -⽨ -⽨ -癶 -癶 - -⽩ -⽩ -⽩ -白 -白 - -⽪ -⽪ -⽪ -皮 -皮 - -⽫ -⽫ -⽫ -皿 -皿 - -⽬ -⽬ -⽬ -目 -目 - -⽭ -⽭ -⽭ -矛 -矛 - -⽮ -⽮ -⽮ -矢 -矢 - -⽯ -⽯ -⽯ -石 -石 - -⽰ -⽰ -⽰ -示 -示 - -⽱ -⽱ -⽱ -禸 -禸 - -⽲ -⽲ -⽲ -禾 -禾 - -⽳ -⽳ -⽳ -穴 -穴 - -⽴ -⽴ -⽴ -立 -立 - -⽵ -⽵ -⽵ -竹 -竹 - -⽶ -⽶ -⽶ -米 -米 - -⽷ -⽷ -⽷ -糸 -糸 - -⽸ -⽸ -⽸ -缶 -缶 - -⽹ -⽹ -⽹ -网 -网 - -⽺ -⽺ -⽺ -羊 -羊 - -⽻ -⽻ -⽻ -羽 -羽 - -⽼ -⽼ -⽼ -老 -老 - -⽽ -⽽ -⽽ -而 -而 - -⽾ -⽾ -⽾ -耒 -耒 - -⽿ -⽿ -⽿ -耳 -耳 - -⾀ -⾀ -⾀ -聿 -聿 - -⾁ -⾁ -⾁ -肉 -肉 - -⾂ -⾂ -⾂ -臣 -臣 - -⾃ -⾃ -⾃ -自 -自 - -⾄ -⾄ -⾄ -至 -至 - -⾅ -⾅ -⾅ -臼 -臼 - -⾆ -⾆ -⾆ -舌 -舌 - -⾇ -⾇ -⾇ -舛 -舛 - -⾈ -⾈ -⾈ -舟 -舟 - -⾉ -⾉ -⾉ -艮 -艮 - -⾊ -⾊ -⾊ -色 -色 - -⾋ -⾋ -⾋ -艸 -艸 - -⾌ -⾌ -⾌ -虍 -虍 - -⾍ -⾍ -⾍ -虫 -虫 - -⾎ -⾎ -⾎ -血 -血 - -⾏ -⾏ -⾏ -行 -行 - -⾐ -⾐ -⾐ -衣 -衣 - -⾑ -⾑ -⾑ -襾 -襾 - -⾒ -⾒ -⾒ -見 -見 - -⾓ -⾓ -⾓ -角 -角 - -⾔ -⾔ -⾔ -言 -言 - -⾕ -⾕ -⾕ -谷 -谷 - -⾖ -⾖ -⾖ -豆 -豆 - -⾗ -⾗ -⾗ -豕 -豕 - -⾘ -⾘ -⾘ -豸 -豸 - -⾙ -⾙ -⾙ -貝 -貝 - -⾚ -⾚ -⾚ -赤 -赤 - -⾛ -⾛ -⾛ -走 -走 - -⾜ -⾜ -⾜ -足 -足 - -⾝ -⾝ -⾝ -身 -身 - -⾞ -⾞ -⾞ -車 -車 - -⾟ -⾟ -⾟ -辛 -辛 - -⾠ -⾠ -⾠ -辰 -辰 - -⾡ -⾡ -⾡ -辵 -辵 - -⾢ -⾢ -⾢ -邑 -邑 - -⾣ -⾣ -⾣ -酉 -酉 - -⾤ -⾤ -⾤ -釆 -釆 - -⾥ -⾥ -⾥ -里 -里 - -⾦ -⾦ -⾦ -金 -金 - -⾧ -⾧ -⾧ -長 -長 - -⾨ -⾨ -⾨ -門 -門 - -⾩ -⾩ -⾩ -阜 -阜 - -⾪ -⾪ -⾪ -隶 -隶 - -⾫ -⾫ -⾫ -隹 -隹 - -⾬ -⾬ -⾬ -雨 -雨 - -⾭ -⾭ -⾭ -靑 -靑 - -⾮ -⾮ -⾮ -非 -非 - -⾯ -⾯ -⾯ -面 -面 - -⾰ -⾰ -⾰ -革 -革 - -⾱ -⾱ -⾱ -韋 -韋 - -⾲ -⾲ -⾲ -韭 -韭 - -⾳ -⾳ -⾳ -音 -音 - -⾴ -⾴ -⾴ -頁 -頁 - -⾵ -⾵ -⾵ -風 -風 - -⾶ -⾶ -⾶ -飛 -飛 - -⾷ -⾷ -⾷ -食 -食 - -⾸ -⾸ -⾸ -首 -首 - -⾹ -⾹ -⾹ -香 -香 - -⾺ -⾺ -⾺ -馬 -馬 - -⾻ -⾻ -⾻ -骨 -骨 - -⾼ -⾼ -⾼ -高 -高 - -⾽ -⾽ -⾽ -髟 -髟 - -⾾ -⾾ -⾾ -鬥 -鬥 - -⾿ -⾿ -⾿ -鬯 -鬯 - -⿀ -⿀ -⿀ -鬲 -鬲 - -⿁ -⿁ -⿁ -鬼 -鬼 - -⿂ -⿂ -⿂ -魚 -魚 - -⿃ -⿃ -⿃ -鳥 -鳥 - -⿄ -⿄ -⿄ -鹵 -鹵 - -⿅ -⿅ -⿅ -鹿 -鹿 - -⿆ -⿆ -⿆ -麥 -麥 - -⿇ -⿇ -⿇ -麻 -麻 - -⿈ -⿈ -⿈ -黃 -黃 - -⿉ -⿉ -⿉ -黍 -黍 - -⿊ -⿊ -⿊ -黑 -黑 - -⿋ -⿋ -⿋ -黹 -黹 - -⿌ -⿌ -⿌ -黽 -黽 - -⿍ -⿍ -⿍ -鼎 -鼎 - -⿎ -⿎ -⿎ -鼓 -鼓 - -⿏ -⿏ -⿏ -鼠 -鼠 - -⿐ -⿐ -⿐ -鼻 -鼻 - -⿑ -⿑ -⿑ -齊 -齊 - -⿒ -⿒ -⿒ -齒 -齒 - -⿓ -⿓ -⿓ -龍 -龍 - -⿔ -⿔ -⿔ -龜 -龜 - -⿕ -⿕ -⿕ -龠 -龠 - -  -  -  - - - -〶 -〶 -〶 -〒 -〒 - -〸 -〸 -〸 -十 -十 - -〹 -〹 -〹 -卄 -卄 - -〺 -〺 -〺 -卅 -卅 - -が -が -が -が -が - -ぎ -ぎ -ぎ -ぎ -ぎ - -ぐ -ぐ -ぐ -ぐ -ぐ - -げ -げ -げ -げ -げ - -ご -ご -ご -ご -ご - -ざ -ざ -ざ -ざ -ざ - -じ -じ -じ -じ -じ - -ず -ず -ず -ず -ず - -ぜ -ぜ -ぜ -ぜ -ぜ - -ぞ -ぞ -ぞ -ぞ -ぞ - -だ -だ -だ -だ -だ - -ぢ -ぢ -ぢ -ぢ -ぢ - -づ -づ -づ -づ -づ - -で -で -で -で -で - -ど -ど -ど -ど -ど - -ば -ば -ば -ば -ば - -ぱ -ぱ -ぱ -ぱ -ぱ - -び -び -び -び -び - -ぴ -ぴ -ぴ -ぴ -ぴ - -ぶ -ぶ -ぶ -ぶ -ぶ - -ぷ -ぷ -ぷ -ぷ -ぷ - -べ -べ -べ -べ -べ - -ぺ -ぺ -ぺ -ぺ -ぺ - -ぼ -ぼ -ぼ -ぼ -ぼ - -ぽ -ぽ -ぽ -ぽ -ぽ - -ゔ -ゔ -ゔ -ゔ -ゔ - -゛ -゛ -゛ - ゙ - ゙ - -゜ -゜ -゜ - ゚ - ゚ - -ゞ -ゞ -ゞ -ゞ -ゞ - -ゟ -ゟ -ゟ -より -より - -ガ -ガ -ガ -ガ -ガ - -ギ -ギ -ギ -ギ -ギ - -グ -グ -グ -グ -グ - -ゲ -ゲ -ゲ -ゲ -ゲ - -ゴ -ゴ -ゴ -ゴ -ゴ - -ザ -ザ -ザ -ザ -ザ - -ジ -ジ -ジ -ジ -ジ - -ズ -ズ -ズ -ズ -ズ - -ゼ -ゼ -ゼ -ゼ -ゼ - -ゾ -ゾ -ゾ -ゾ -ゾ - -ダ -ダ -ダ -ダ -ダ - -ヂ -ヂ -ヂ -ヂ -ヂ - -ヅ -ヅ -ヅ -ヅ -ヅ - -デ -デ -デ -デ -デ - -ド -ド -ド -ド -ド - -バ -バ -バ -バ -バ - -パ -パ -パ -パ -パ - -ビ -ビ -ビ -ビ -ビ - -ピ -ピ -ピ -ピ -ピ - -ブ -ブ -ブ -ブ -ブ - -プ -プ -プ -プ -プ - -ベ -ベ -ベ -ベ -ベ - -ペ -ペ -ペ -ペ -ペ - -ボ -ボ -ボ -ボ -ボ - -ポ -ポ -ポ -ポ -ポ - -ヴ -ヴ -ヴ -ヴ -ヴ - -ヷ -ヷ -ヷ -ヷ -ヷ - -ヸ -ヸ -ヸ -ヸ -ヸ - -ヹ -ヹ -ヹ -ヹ -ヹ - -ヺ -ヺ -ヺ -ヺ -ヺ - -ヾ -ヾ -ヾ -ヾ -ヾ - -ヿ -ヿ -ヿ -コト -コト - -ㄱ -ㄱ -ㄱ -ᄀ -ᄀ - -ㄲ -ㄲ -ㄲ -ᄁ -ᄁ - -ㄳ -ㄳ -ㄳ -ᆪ -ᆪ - -ㄴ -ㄴ -ㄴ -ᄂ -ᄂ - -ㄵ -ㄵ -ㄵ -ᆬ -ᆬ - -ㄶ -ㄶ -ㄶ -ᆭ -ᆭ - -ㄷ -ㄷ -ㄷ -ᄃ -ᄃ - -ㄸ -ㄸ -ㄸ -ᄄ -ᄄ - -ㄹ -ㄹ -ㄹ -ᄅ -ᄅ - -ㄺ -ㄺ -ㄺ -ᆰ -ᆰ - -ㄻ -ㄻ -ㄻ -ᆱ -ᆱ - -ㄼ -ㄼ -ㄼ -ᆲ -ᆲ - -ㄽ -ㄽ -ㄽ -ᆳ -ᆳ - -ㄾ -ㄾ -ㄾ -ᆴ -ᆴ - -ㄿ -ㄿ -ㄿ -ᆵ -ᆵ - -ㅀ -ㅀ -ㅀ -ᄚ -ᄚ - -ㅁ -ㅁ -ㅁ -ᄆ -ᄆ - -ㅂ -ㅂ -ㅂ -ᄇ -ᄇ - -ㅃ -ㅃ -ㅃ -ᄈ -ᄈ - -ㅄ -ㅄ -ㅄ -ᄡ -ᄡ - -ㅅ -ㅅ -ㅅ -ᄉ -ᄉ - -ㅆ -ㅆ -ㅆ -ᄊ -ᄊ - -ㅇ -ㅇ -ㅇ -ᄋ -ᄋ - -ㅈ -ㅈ -ㅈ -ᄌ -ᄌ - -ㅉ -ㅉ -ㅉ -ᄍ -ᄍ - -ㅊ -ㅊ -ㅊ -ᄎ -ᄎ - -ㅋ -ㅋ -ㅋ -ᄏ -ᄏ - -ㅌ -ㅌ -ㅌ -ᄐ -ᄐ - -ㅍ -ㅍ -ㅍ -ᄑ -ᄑ - -ㅎ -ㅎ -ㅎ -ᄒ -ᄒ - -ㅏ -ㅏ -ㅏ -ᅡ -ᅡ - -ㅐ -ㅐ -ㅐ -ᅢ -ᅢ - -ㅑ -ㅑ -ㅑ -ᅣ -ᅣ - -ㅒ -ㅒ -ㅒ -ᅤ -ᅤ - -ㅓ -ㅓ -ㅓ -ᅥ -ᅥ - -ㅔ -ㅔ -ㅔ -ᅦ -ᅦ - -ㅕ -ㅕ -ㅕ -ᅧ -ᅧ - -ㅖ -ㅖ -ㅖ -ᅨ -ᅨ - -ㅗ -ㅗ -ㅗ -ᅩ -ᅩ - -ㅘ -ㅘ -ㅘ -ᅪ -ᅪ - -ㅙ -ㅙ -ㅙ -ᅫ -ᅫ - -ㅚ -ㅚ -ㅚ -ᅬ -ᅬ - -ㅛ -ㅛ -ㅛ -ᅭ -ᅭ - -ㅜ -ㅜ -ㅜ -ᅮ -ᅮ - -ㅝ -ㅝ -ㅝ -ᅯ -ᅯ - -ㅞ -ㅞ -ㅞ -ᅰ -ᅰ - -ㅟ -ㅟ -ㅟ -ᅱ -ᅱ - -ㅠ -ㅠ -ㅠ -ᅲ -ᅲ - -ㅡ -ㅡ -ㅡ -ᅳ -ᅳ - -ㅢ -ㅢ -ㅢ -ᅴ -ᅴ - -ㅣ -ㅣ -ㅣ -ᅵ -ᅵ - -ㅤ -ㅤ -ㅤ -ᅠ -ᅠ - -ㅥ -ㅥ -ㅥ -ᄔ -ᄔ - -ㅦ -ㅦ -ㅦ -ᄕ -ᄕ - -ㅧ -ㅧ -ㅧ -ᇇ -ᇇ - -ㅨ -ㅨ -ㅨ -ᇈ -ᇈ - -ㅩ -ㅩ -ㅩ -ᇌ -ᇌ - -ㅪ -ㅪ -ㅪ -ᇎ -ᇎ - -ㅫ -ㅫ -ㅫ -ᇓ -ᇓ - -ㅬ -ㅬ -ㅬ -ᇗ -ᇗ - -ㅭ -ㅭ -ㅭ -ᇙ -ᇙ - -ㅮ -ㅮ -ㅮ -ᄜ -ᄜ - -ㅯ -ㅯ -ㅯ -ᇝ -ᇝ - -ㅰ -ㅰ -ㅰ -ᇟ -ᇟ - -ㅱ -ㅱ -ㅱ -ᄝ -ᄝ - -ㅲ -ㅲ -ㅲ -ᄞ -ᄞ - -ㅳ -ㅳ -ㅳ -ᄠ -ᄠ - -ㅴ -ㅴ -ㅴ -ᄢ -ᄢ - -ㅵ -ㅵ -ㅵ -ᄣ -ᄣ - -ㅶ -ㅶ -ㅶ -ᄧ -ᄧ - -ㅷ -ㅷ -ㅷ -ᄩ -ᄩ - -ㅸ -ㅸ -ㅸ -ᄫ -ᄫ - -ㅹ -ㅹ -ㅹ -ᄬ -ᄬ - -ㅺ -ㅺ -ㅺ -ᄭ -ᄭ - -ㅻ -ㅻ -ㅻ -ᄮ -ᄮ - -ㅼ -ㅼ -ㅼ -ᄯ -ᄯ - -ㅽ -ㅽ -ㅽ -ᄲ -ᄲ - -ㅾ -ㅾ -ㅾ -ᄶ -ᄶ - -ㅿ -ㅿ -ㅿ -ᅀ -ᅀ - -ㆀ -ㆀ -ㆀ -ᅇ -ᅇ - -ㆁ -ㆁ -ㆁ -ᅌ -ᅌ - -ㆂ -ㆂ -ㆂ -ᇱ -ᇱ - -ㆃ -ㆃ -ㆃ -ᇲ -ᇲ - -ㆄ -ㆄ -ㆄ -ᅗ -ᅗ - -ㆅ -ㆅ -ㆅ -ᅘ -ᅘ - -ㆆ -ㆆ -ㆆ -ᅙ -ᅙ - -ㆇ -ㆇ -ㆇ -ᆄ -ᆄ - -ㆈ -ㆈ -ㆈ -ᆅ -ᆅ - -ㆉ -ㆉ -ㆉ -ᆈ -ᆈ - -ㆊ -ㆊ -ㆊ -ᆑ -ᆑ - -ㆋ -ㆋ -ㆋ -ᆒ -ᆒ - -ㆌ -ㆌ -ㆌ -ᆔ -ᆔ - -ㆍ -ㆍ -ㆍ -ᆞ -ᆞ - -ㆎ -ㆎ -ㆎ -ᆡ -ᆡ - -㆒ -㆒ -㆒ -一 -一 - -㆓ -㆓ -㆓ -二 -二 - -㆔ -㆔ -㆔ -三 -三 - -㆕ -㆕ -㆕ -四 -四 - -㆖ -㆖ -㆖ -上 -上 - -㆗ -㆗ -㆗ -中 -中 - -㆘ -㆘ -㆘ -下 -下 - -㆙ -㆙ -㆙ -甲 -甲 - -㆚ -㆚ -㆚ -乙 -乙 - -㆛ -㆛ -㆛ -丙 -丙 - -㆜ -㆜ -㆜ -丁 -丁 - -㆝ -㆝ -㆝ -天 -天 - -㆞ -㆞ -㆞ -地 -地 - -㆟ -㆟ -㆟ -人 -人 - -㈀ -㈀ -㈀ -(ᄀ) -(ᄀ) - -㈁ -㈁ -㈁ -(ᄂ) -(ᄂ) - -㈂ -㈂ -㈂ -(ᄃ) -(ᄃ) - -㈃ -㈃ -㈃ -(ᄅ) -(ᄅ) - -㈄ -㈄ -㈄ -(ᄆ) -(ᄆ) - -㈅ -㈅ -㈅ -(ᄇ) -(ᄇ) - -㈆ -㈆ -㈆ -(ᄉ) -(ᄉ) - -㈇ -㈇ -㈇ -(ᄋ) -(ᄋ) - -㈈ -㈈ -㈈ -(ᄌ) -(ᄌ) - -㈉ -㈉ -㈉ -(ᄎ) -(ᄎ) - -㈊ -㈊ -㈊ -(ᄏ) -(ᄏ) - -㈋ -㈋ -㈋ -(ᄐ) -(ᄐ) - -㈌ -㈌ -㈌ -(ᄑ) -(ᄑ) - -㈍ -㈍ -㈍ -(ᄒ) -(ᄒ) - -㈎ -㈎ -㈎ -(가) -(가) - -㈏ -㈏ -㈏ -(나) -(나) - -㈐ -㈐ -㈐ -(다) -(다) - -㈑ -㈑ -㈑ -(라) -(라) - -㈒ -㈒ -㈒ -(마) -(마) - -㈓ -㈓ -㈓ -(바) -(바) - -㈔ -㈔ -㈔ -(사) -(사) - -㈕ -㈕ -㈕ -(아) -(아) - -㈖ -㈖ -㈖ -(자) -(자) - -㈗ -㈗ -㈗ -(차) -(차) - -㈘ -㈘ -㈘ -(카) -(카) - -㈙ -㈙ -㈙ -(타) -(타) - -㈚ -㈚ -㈚ -(파) -(파) - -㈛ -㈛ -㈛ -(하) -(하) - -㈜ -㈜ -㈜ -(주) -(주) - -㈝ -㈝ -㈝ -(오전) -(오전) - -㈞ -㈞ -㈞ -(오후) -(오후) - -㈠ -㈠ -㈠ -(一) -(一) - -㈡ -㈡ -㈡ -(二) -(二) - -㈢ -㈢ -㈢ -(三) -(三) - -㈣ -㈣ -㈣ -(四) -(四) - -㈤ -㈤ -㈤ -(五) -(五) - -㈥ -㈥ -㈥ -(六) -(六) - -㈦ -㈦ -㈦ -(七) -(七) - -㈧ -㈧ -㈧ -(八) -(八) - -㈨ -㈨ -㈨ -(九) -(九) - -㈩ -㈩ -㈩ -(十) -(十) - -㈪ -㈪ -㈪ -(月) -(月) - -㈫ -㈫ -㈫ -(火) -(火) - -㈬ -㈬ -㈬ -(水) -(水) - -㈭ -㈭ -㈭ -(木) -(木) - -㈮ -㈮ -㈮ -(金) -(金) - -㈯ -㈯ -㈯ -(土) -(土) - -㈰ -㈰ -㈰ -(日) -(日) - -㈱ -㈱ -㈱ -(株) -(株) - -㈲ -㈲ -㈲ -(有) -(有) - -㈳ -㈳ -㈳ -(社) -(社) - -㈴ -㈴ -㈴ -(名) -(名) - -㈵ -㈵ -㈵ -(特) -(特) - -㈶ -㈶ -㈶ -(財) -(財) - -㈷ -㈷ -㈷ -(祝) -(祝) - -㈸ -㈸ -㈸ -(労) -(労) - -㈹ -㈹ -㈹ -(代) -(代) - -㈺ -㈺ -㈺ -(呼) -(呼) - -㈻ -㈻ -㈻ -(学) -(学) - -㈼ -㈼ -㈼ -(監) -(監) - -㈽ -㈽ -㈽ -(企) -(企) - -㈾ -㈾ -㈾ -(資) -(資) - -㈿ -㈿ -㈿ -(協) -(協) - -㉀ -㉀ -㉀ -(祭) -(祭) - -㉁ -㉁ -㉁ -(休) -(休) - -㉂ -㉂ -㉂ -(自) -(自) - -㉃ -㉃ -㉃ -(至) -(至) - -㉄ -㉄ -㉄ -問 -問 - -㉅ -㉅ -㉅ -幼 -幼 - -㉆ -㉆ -㉆ -文 -文 - -㉇ -㉇ -㉇ -箏 -箏 - -㉐ -㉐ -㉐ -PTE -PTE - -㉑ -㉑ -㉑ -21 -21 - -㉒ -㉒ -㉒ -22 -22 - -㉓ -㉓ -㉓ -23 -23 - -㉔ -㉔ -㉔ -24 -24 - -㉕ -㉕ -㉕ -25 -25 - -㉖ -㉖ -㉖ -26 -26 - -㉗ -㉗ -㉗ -27 -27 - -㉘ -㉘ -㉘ -28 -28 - -㉙ -㉙ -㉙ -29 -29 - -㉚ -㉚ -㉚ -30 -30 - -㉛ -㉛ -㉛ -31 -31 - -㉜ -㉜ -㉜ -32 -32 - -㉝ -㉝ -㉝ -33 -33 - -㉞ -㉞ -㉞ -34 -34 - -㉟ -㉟ -㉟ -35 -35 - -㉠ -㉠ -㉠ -ᄀ -ᄀ - -㉡ -㉡ -㉡ -ᄂ -ᄂ - -㉢ -㉢ -㉢ -ᄃ -ᄃ - -㉣ -㉣ -㉣ -ᄅ -ᄅ - -㉤ -㉤ -㉤ -ᄆ -ᄆ - -㉥ -㉥ -㉥ -ᄇ -ᄇ - -㉦ -㉦ -㉦ -ᄉ -ᄉ - -㉧ -㉧ -㉧ -ᄋ -ᄋ - -㉨ -㉨ -㉨ -ᄌ -ᄌ - -㉩ -㉩ -㉩ -ᄎ -ᄎ - -㉪ -㉪ -㉪ -ᄏ -ᄏ - -㉫ -㉫ -㉫ -ᄐ -ᄐ - -㉬ -㉬ -㉬ -ᄑ -ᄑ - -㉭ -㉭ -㉭ -ᄒ -ᄒ - -㉮ -㉮ -㉮ -가 -가 - -㉯ -㉯ -㉯ -나 -나 - -㉰ -㉰ -㉰ -다 -다 - -㉱ -㉱ -㉱ -라 -라 - -㉲ -㉲ -㉲ -마 -마 - -㉳ -㉳ -㉳ -바 -바 - -㉴ -㉴ -㉴ -사 -사 - -㉵ -㉵ -㉵ -아 -아 - -㉶ -㉶ -㉶ -자 -자 - -㉷ -㉷ -㉷ -차 -차 - -㉸ -㉸ -㉸ -카 -카 - -㉹ -㉹ -㉹ -타 -타 - -㉺ -㉺ -㉺ -파 -파 - -㉻ -㉻ -㉻ -하 -하 - -㉼ -㉼ -㉼ -참고 -참고 - -㉽ -㉽ -㉽ -주의 -주의 - -㉾ -㉾ -㉾ -우 -우 - -㊀ -㊀ -㊀ -一 -一 - -㊁ -㊁ -㊁ -二 -二 - -㊂ -㊂ -㊂ -三 -三 - -㊃ -㊃ -㊃ -四 -四 - -㊄ -㊄ -㊄ -五 -五 - -㊅ -㊅ -㊅ -六 -六 - -㊆ -㊆ -㊆ -七 -七 - -㊇ -㊇ -㊇ -八 -八 - -㊈ -㊈ -㊈ -九 -九 - -㊉ -㊉ -㊉ -十 -十 - -㊊ -㊊ -㊊ -月 -月 - -㊋ -㊋ -㊋ -火 -火 - -㊌ -㊌ -㊌ -水 -水 - -㊍ -㊍ -㊍ -木 -木 - -㊎ -㊎ -㊎ -金 -金 - -㊏ -㊏ -㊏ -土 -土 - -㊐ -㊐ -㊐ -日 -日 - -㊑ -㊑ -㊑ -株 -株 - -㊒ -㊒ -㊒ -有 -有 - -㊓ -㊓ -㊓ -社 -社 - -㊔ -㊔ -㊔ -名 -名 - -㊕ -㊕ -㊕ -特 -特 - -㊖ -㊖ -㊖ -財 -財 - -㊗ -㊗ -㊗ -祝 -祝 - -㊘ -㊘ -㊘ -労 -労 - -㊙ -㊙ -㊙ -秘 -秘 - -㊚ -㊚ -㊚ -男 -男 - -㊛ -㊛ -㊛ -女 -女 - -㊜ -㊜ -㊜ -適 -適 - -㊝ -㊝ -㊝ -優 -優 - -㊞ -㊞ -㊞ -印 -印 - -㊟ -㊟ -㊟ -注 -注 - -㊠ -㊠ -㊠ -項 -項 - -㊡ -㊡ -㊡ -休 -休 - -㊢ -㊢ -㊢ -写 -写 - -㊣ -㊣ -㊣ -正 -正 - -㊤ -㊤ -㊤ -上 -上 - -㊥ -㊥ -㊥ -中 -中 - -㊦ -㊦ -㊦ -下 -下 - -㊧ -㊧ -㊧ -左 -左 - -㊨ -㊨ -㊨ -右 -右 - -㊩ -㊩ -㊩ -医 -医 - -㊪ -㊪ -㊪ -宗 -宗 - -㊫ -㊫ -㊫ -学 -学 - -㊬ -㊬ -㊬ -監 -監 - -㊭ -㊭ -㊭ -企 -企 - -㊮ -㊮ -㊮ -資 -資 - -㊯ -㊯ -㊯ -協 -協 - -㊰ -㊰ -㊰ -夜 -夜 - -㊱ -㊱ -㊱ -36 -36 - -㊲ -㊲ -㊲ -37 -37 - -㊳ -㊳ -㊳ -38 -38 - -㊴ -㊴ -㊴ -39 -39 - -㊵ -㊵ -㊵ -40 -40 - -㊶ -㊶ -㊶ -41 -41 - -㊷ -㊷ -㊷ -42 -42 - -㊸ -㊸ -㊸ -43 -43 - -㊹ -㊹ -㊹ -44 -44 - -㊺ -㊺ -㊺ -45 -45 - -㊻ -㊻ -㊻ -46 -46 - -㊼ -㊼ -㊼ -47 -47 - -㊽ -㊽ -㊽ -48 -48 - -㊾ -㊾ -㊾ -49 -49 - -㊿ -㊿ -㊿ -50 -50 - -㋀ -㋀ -㋀ -1月 -1月 - -㋁ -㋁ -㋁ -2月 -2月 - -㋂ -㋂ -㋂ -3月 -3月 - -㋃ -㋃ -㋃ -4月 -4月 - -㋄ -㋄ -㋄ -5月 -5月 - -㋅ -㋅ -㋅ -6月 -6月 - -㋆ -㋆ -㋆ -7月 -7月 - -㋇ -㋇ -㋇ -8月 -8月 - -㋈ -㋈ -㋈ -9月 -9月 - -㋉ -㋉ -㋉ -10月 -10月 - -㋊ -㋊ -㋊ -11月 -11月 - -㋋ -㋋ -㋋ -12月 -12月 - -㋌ -㋌ -㋌ -Hg -Hg - -㋍ -㋍ -㋍ -erg -erg - -㋎ -㋎ -㋎ -eV -eV - -㋏ -㋏ -㋏ -LTD -LTD - -㋐ -㋐ -㋐ -ア -ア - -㋑ -㋑ -㋑ -イ -イ - -㋒ -㋒ -㋒ -ウ -ウ - -㋓ -㋓ -㋓ -エ -エ - -㋔ -㋔ -㋔ -オ -オ - -㋕ -㋕ -㋕ -カ -カ - -㋖ -㋖ -㋖ -キ -キ - -㋗ -㋗ -㋗ -ク -ク - -㋘ -㋘ -㋘ -ケ -ケ - -㋙ -㋙ -㋙ -コ -コ - -㋚ -㋚ -㋚ -サ -サ - -㋛ -㋛ -㋛ -シ -シ - -㋜ -㋜ -㋜ -ス -ス - -㋝ -㋝ -㋝ -セ -セ - -㋞ -㋞ -㋞ -ソ -ソ - -㋟ -㋟ -㋟ -タ -タ - -㋠ -㋠ -㋠ -チ -チ - -㋡ -㋡ -㋡ -ツ -ツ - -㋢ -㋢ -㋢ -テ -テ - -㋣ -㋣ -㋣ -ト -ト - -㋤ -㋤ -㋤ -ナ -ナ - -㋥ -㋥ -㋥ -ニ -ニ - -㋦ -㋦ -㋦ -ヌ -ヌ - -㋧ -㋧ -㋧ -ネ -ネ - -㋨ -㋨ -㋨ -ノ -ノ - -㋩ -㋩ -㋩ -ハ -ハ - -㋪ -㋪ -㋪ -ヒ -ヒ - -㋫ -㋫ -㋫ -フ -フ - -㋬ -㋬ -㋬ -ヘ -ヘ - -㋭ -㋭ -㋭ -ホ -ホ - -㋮ -㋮ -㋮ -マ -マ - -㋯ -㋯ -㋯ -ミ -ミ - -㋰ -㋰ -㋰ -ム -ム - -㋱ -㋱ -㋱ -メ -メ - -㋲ -㋲ -㋲ -モ -モ - -㋳ -㋳ -㋳ -ヤ -ヤ - -㋴ -㋴ -㋴ -ユ -ユ - -㋵ -㋵ -㋵ -ヨ -ヨ - -㋶ -㋶ -㋶ -ラ -ラ - -㋷ -㋷ -㋷ -リ -リ - -㋸ -㋸ -㋸ -ル -ル - -㋹ -㋹ -㋹ -レ -レ - -㋺ -㋺ -㋺ -ロ -ロ - -㋻ -㋻ -㋻ -ワ -ワ - -㋼ -㋼ -㋼ -ヰ -ヰ - -㋽ -㋽ -㋽ -ヱ -ヱ - -㋾ -㋾ -㋾ -ヲ -ヲ - -㌀ -㌀ -㌀ -アパート -アパート - -㌁ -㌁ -㌁ -アルファ -アルファ - -㌂ -㌂ -㌂ -アンペア -アンペア - -㌃ -㌃ -㌃ -アール -アール - -㌄ -㌄ -㌄ -イニング -イニング - -㌅ -㌅ -㌅ -インチ -インチ - -㌆ -㌆ -㌆ -ウォン -ウォン - -㌇ -㌇ -㌇ -エスクード -エスクード - -㌈ -㌈ -㌈ -エーカー -エーカー - -㌉ -㌉ -㌉ -オンス -オンス - -㌊ -㌊ -㌊ -オーム -オーム - -㌋ -㌋ -㌋ -カイリ -カイリ - -㌌ -㌌ -㌌ -カラット -カラット - -㌍ -㌍ -㌍ -カロリー -カロリー - -㌎ -㌎ -㌎ -ガロン -ガロン - -㌏ -㌏ -㌏ -ガンマ -ガンマ - -㌐ -㌐ -㌐ -ギガ -ギガ - -㌑ -㌑ -㌑ -ギニー -ギニー - -㌒ -㌒ -㌒ -キュリー -キュリー - -㌓ -㌓ -㌓ -ギルダー -ギルダー - -㌔ -㌔ -㌔ -キロ -キロ - -㌕ -㌕ -㌕ -キログラム -キログラム - -㌖ -㌖ -㌖ -キロメートル -キロメートル - -㌗ -㌗ -㌗ -キロワット -キロワット - -㌘ -㌘ -㌘ -グラム -グラム - -㌙ -㌙ -㌙ -グラムトン -グラムトン - -㌚ -㌚ -㌚ -クルゼイロ -クルゼイロ - -㌛ -㌛ -㌛ -クローネ -クローネ - -㌜ -㌜ -㌜ -ケース -ケース - -㌝ -㌝ -㌝ -コルナ -コルナ - -㌞ -㌞ -㌞ -コーポ -コーポ - -㌟ -㌟ -㌟ -サイクル -サイクル - -㌠ -㌠ -㌠ -サンチーム -サンチーム - -㌡ -㌡ -㌡ -シリング -シリング - -㌢ -㌢ -㌢ -センチ -センチ - -㌣ -㌣ -㌣ -セント -セント - -㌤ -㌤ -㌤ -ダース -ダース - -㌥ -㌥ -㌥ -デシ -デシ - -㌦ -㌦ -㌦ -ドル -ドル - -㌧ -㌧ -㌧ -トン -トン - -㌨ -㌨ -㌨ -ナノ -ナノ - -㌩ -㌩ -㌩ -ノット -ノット - -㌪ -㌪ -㌪ -ハイツ -ハイツ - -㌫ -㌫ -㌫ -パーセント -パーセント - -㌬ -㌬ -㌬ -パーツ -パーツ - -㌭ -㌭ -㌭ -バーレル -バーレル - -㌮ -㌮ -㌮ -ピアストル -ピアストル - -㌯ -㌯ -㌯ -ピクル -ピクル - -㌰ -㌰ -㌰ -ピコ -ピコ - -㌱ -㌱ -㌱ -ビル -ビル - -㌲ -㌲ -㌲ -ファラッド -ファラッド - -㌳ -㌳ -㌳ -フィート -フィート - -㌴ -㌴ -㌴ -ブッシェル -ブッシェル - -㌵ -㌵ -㌵ -フラン -フラン - -㌶ -㌶ -㌶ -ヘクタール -ヘクタール - -㌷ -㌷ -㌷ -ペソ -ペソ - -㌸ -㌸ -㌸ -ペニヒ -ペニヒ - -㌹ -㌹ -㌹ -ヘルツ -ヘルツ - -㌺ -㌺ -㌺ -ペンス -ペンス - -㌻ -㌻ -㌻ -ページ -ページ - -㌼ -㌼ -㌼ -ベータ -ベータ - -㌽ -㌽ -㌽ -ポイント -ポイント - -㌾ -㌾ -㌾ -ボルト -ボルト - -㌿ -㌿ -㌿ -ホン -ホン - -㍀ -㍀ -㍀ -ポンド -ポンド - -㍁ -㍁ -㍁ -ホール -ホール - -㍂ -㍂ -㍂ -ホーン -ホーン - -㍃ -㍃ -㍃ -マイクロ -マイクロ - -㍄ -㍄ -㍄ -マイル -マイル - -㍅ -㍅ -㍅ -マッハ -マッハ - -㍆ -㍆ -㍆ -マルク -マルク - -㍇ -㍇ -㍇ -マンション -マンション - -㍈ -㍈ -㍈ -ミクロン -ミクロン - -㍉ -㍉ -㍉ -ミリ -ミリ - -㍊ -㍊ -㍊ -ミリバール -ミリバール - -㍋ -㍋ -㍋ -メガ -メガ - -㍌ -㍌ -㍌ -メガトン -メガトン - -㍍ -㍍ -㍍ -メートル -メートル - -㍎ -㍎ -㍎ -ヤード -ヤード - -㍏ -㍏ -㍏ -ヤール -ヤール - -㍐ -㍐ -㍐ -ユアン -ユアン - -㍑ -㍑ -㍑ -リットル -リットル - -㍒ -㍒ -㍒ -リラ -リラ - -㍓ -㍓ -㍓ -ルピー -ルピー - -㍔ -㍔ -㍔ -ルーブル -ルーブル - -㍕ -㍕ -㍕ -レム -レム - -㍖ -㍖ -㍖ -レントゲン -レントゲン - -㍗ -㍗ -㍗ -ワット -ワット - -㍘ -㍘ -㍘ -0点 -0点 - -㍙ -㍙ -㍙ -1点 -1点 - -㍚ -㍚ -㍚ -2点 -2点 - -㍛ -㍛ -㍛ -3点 -3点 - -㍜ -㍜ -㍜ -4点 -4点 - -㍝ -㍝ -㍝ -5点 -5点 - -㍞ -㍞ -㍞ -6点 -6点 - -㍟ -㍟ -㍟ -7点 -7点 - -㍠ -㍠ -㍠ -8点 -8点 - -㍡ -㍡ -㍡ -9点 -9点 - -㍢ -㍢ -㍢ -10点 -10点 - -㍣ -㍣ -㍣ -11点 -11点 - -㍤ -㍤ -㍤ -12点 -12点 - -㍥ -㍥ -㍥ -13点 -13点 - -㍦ -㍦ -㍦ -14点 -14点 - -㍧ -㍧ -㍧ -15点 -15点 - -㍨ -㍨ -㍨ -16点 -16点 - -㍩ -㍩ -㍩ -17点 -17点 - -㍪ -㍪ -㍪ -18点 -18点 - -㍫ -㍫ -㍫ -19点 -19点 - -㍬ -㍬ -㍬ -20点 -20点 - -㍭ -㍭ -㍭ -21点 -21点 - -㍮ -㍮ -㍮ -22点 -22点 - -㍯ -㍯ -㍯ -23点 -23点 - -㍰ -㍰ -㍰ -24点 -24点 - -㍱ -㍱ -㍱ -hPa -hPa - -㍲ -㍲ -㍲ -da -da - -㍳ -㍳ -㍳ -AU -AU - -㍴ -㍴ -㍴ -bar -bar - -㍵ -㍵ -㍵ -oV -oV - -㍶ -㍶ -㍶ -pc -pc - -㍷ -㍷ -㍷ -dm -dm - -㍸ -㍸ -㍸ -dm2 -dm2 - -㍹ -㍹ -㍹ -dm3 -dm3 - -㍺ -㍺ -㍺ -IU -IU - -㍻ -㍻ -㍻ -平成 -平成 - -㍼ -㍼ -㍼ -昭和 -昭和 - -㍽ -㍽ -㍽ -大正 -大正 - -㍾ -㍾ -㍾ -明治 -明治 - -㍿ -㍿ -㍿ -株式会社 -株式会社 - -㎀ -㎀ -㎀ -pA -pA - -㎁ -㎁ -㎁ -nA -nA - -㎂ -㎂ -㎂ -μA -μA - -㎃ -㎃ -㎃ -mA -mA - -㎄ -㎄ -㎄ -kA -kA - -㎅ -㎅ -㎅ -KB -KB - -㎆ -㎆ -㎆ -MB -MB - -㎇ -㎇ -㎇ -GB -GB - -㎈ -㎈ -㎈ -cal -cal - -㎉ -㎉ -㎉ -kcal -kcal - -㎊ -㎊ -㎊ -pF -pF - -㎋ -㎋ -㎋ -nF -nF - -㎌ -㎌ -㎌ -μF -μF - -㎍ -㎍ -㎍ -μg -μg - -㎎ -㎎ -㎎ -mg -mg - -㎏ -㎏ -㎏ -kg -kg - -㎐ -㎐ -㎐ -Hz -Hz - -㎑ -㎑ -㎑ -kHz -kHz - -㎒ -㎒ -㎒ -MHz -MHz - -㎓ -㎓ -㎓ -GHz -GHz - -㎔ -㎔ -㎔ -THz -THz - -㎕ -㎕ -㎕ -μl -μl - -㎖ -㎖ -㎖ -ml -ml - -㎗ -㎗ -㎗ -dl -dl - -㎘ -㎘ -㎘ -kl -kl - -㎙ -㎙ -㎙ -fm -fm - -㎚ -㎚ -㎚ -nm -nm - -㎛ -㎛ -㎛ -μm -μm - -㎜ -㎜ -㎜ -mm -mm - -㎝ -㎝ -㎝ -cm -cm - -㎞ -㎞ -㎞ -km -km - -㎟ -㎟ -㎟ -mm2 -mm2 - -㎠ -㎠ -㎠ -cm2 -cm2 - -㎡ -㎡ -㎡ -m2 -m2 - -㎢ -㎢ -㎢ -km2 -km2 - -㎣ -㎣ -㎣ -mm3 -mm3 - -㎤ -㎤ -㎤ -cm3 -cm3 - -㎥ -㎥ -㎥ -m3 -m3 - -㎦ -㎦ -㎦ -km3 -km3 - -㎧ -㎧ -㎧ -m∕s -m∕s - -㎨ -㎨ -㎨ -m∕s2 -m∕s2 - -㎩ -㎩ -㎩ -Pa -Pa - -㎪ -㎪ -㎪ -kPa -kPa - -㎫ -㎫ -㎫ -MPa -MPa - -㎬ -㎬ -㎬ -GPa -GPa - -㎭ -㎭ -㎭ -rad -rad - -㎮ -㎮ -㎮ -rad∕s -rad∕s - -㎯ -㎯ -㎯ -rad∕s2 -rad∕s2 - -㎰ -㎰ -㎰ -ps -ps - -㎱ -㎱ -㎱ -ns -ns - -㎲ -㎲ -㎲ -μs -μs - -㎳ -㎳ -㎳ -ms -ms - -㎴ -㎴ -㎴ -pV -pV - -㎵ -㎵ -㎵ -nV -nV - -㎶ -㎶ -㎶ -μV -μV - -㎷ -㎷ -㎷ -mV -mV - -㎸ -㎸ -㎸ -kV -kV - -㎹ -㎹ -㎹ -MV -MV - -㎺ -㎺ -㎺ -pW -pW - -㎻ -㎻ -㎻ -nW -nW - -㎼ -㎼ -㎼ -μW -μW - -㎽ -㎽ -㎽ -mW -mW - -㎾ -㎾ -㎾ -kW -kW - -㎿ -㎿ -㎿ -MW -MW - -㏀ -㏀ -㏀ -kΩ -kΩ - -㏁ -㏁ -㏁ -MΩ -MΩ - -㏂ -㏂ -㏂ -a.m. -a.m. - -㏃ -㏃ -㏃ -Bq -Bq - -㏄ -㏄ -㏄ -cc -cc - -㏅ -㏅ -㏅ -cd -cd - -㏆ -㏆ -㏆ -C∕kg -C∕kg - -㏇ -㏇ -㏇ -Co. -Co. - -㏈ -㏈ -㏈ -dB -dB - -㏉ -㏉ -㏉ -Gy -Gy - -㏊ -㏊ -㏊ -ha -ha - -㏋ -㏋ -㏋ -HP -HP - -㏌ -㏌ -㏌ -in -in - -㏍ -㏍ -㏍ -KK -KK - -㏎ -㏎ -㏎ -KM -KM - -㏏ -㏏ -㏏ -kt -kt - -㏐ -㏐ -㏐ -lm -lm - -㏑ -㏑ -㏑ -ln -ln - -㏒ -㏒ -㏒ -log -log - -㏓ -㏓ -㏓ -lx -lx - -㏔ -㏔ -㏔ -mb -mb - -㏕ -㏕ -㏕ -mil -mil - -㏖ -㏖ -㏖ -mol -mol - -㏗ -㏗ -㏗ -PH -PH - -㏘ -㏘ -㏘ -p.m. -p.m. - -㏙ -㏙ -㏙ -PPM -PPM - -㏚ -㏚ -㏚ -PR -PR - -㏛ -㏛ -㏛ -sr -sr - -㏜ -㏜ -㏜ -Sv -Sv - -㏝ -㏝ -㏝ -Wb -Wb - -㏞ -㏞ -㏞ -V∕m -V∕m - -㏟ -㏟ -㏟ -A∕m -A∕m - -㏠ -㏠ -㏠ -1日 -1日 - -㏡ -㏡ -㏡ -2日 -2日 - -㏢ -㏢ -㏢ -3日 -3日 - -㏣ -㏣ -㏣ -4日 -4日 - -㏤ -㏤ -㏤ -5日 -5日 - -㏥ -㏥ -㏥ -6日 -6日 - -㏦ -㏦ -㏦ -7日 -7日 - -㏧ -㏧ -㏧ -8日 -8日 - -㏨ -㏨ -㏨ -9日 -9日 - -㏩ -㏩ -㏩ -10日 -10日 - -㏪ -㏪ -㏪ -11日 -11日 - -㏫ -㏫ -㏫ -12日 -12日 - -㏬ -㏬ -㏬ -13日 -13日 - -㏭ -㏭ -㏭ -14日 -14日 - -㏮ -㏮ -㏮ -15日 -15日 - -㏯ -㏯ -㏯ -16日 -16日 - -㏰ -㏰ -㏰ -17日 -17日 - -㏱ -㏱ -㏱ -18日 -18日 - -㏲ -㏲ -㏲ -19日 -19日 - -㏳ -㏳ -㏳ -20日 -20日 - -㏴ -㏴ -㏴ -21日 -21日 - -㏵ -㏵ -㏵ -22日 -22日 - -㏶ -㏶ -㏶ -23日 -23日 - -㏷ -㏷ -㏷ -24日 -24日 - -㏸ -㏸ -㏸ -25日 -25日 - -㏹ -㏹ -㏹ -26日 -26日 - -㏺ -㏺ -㏺ -27日 -27日 - -㏻ -㏻ -㏻ -28日 -28日 - -㏼ -㏼ -㏼ -29日 -29日 - -㏽ -㏽ -㏽ -30日 -30日 - -㏾ -㏾ -㏾ -31日 -31日 - -㏿ -㏿ -㏿ -gal -gal - -ꚜ -ꚜ -ꚜ -ъ -ъ - -ꚝ -ꚝ -ꚝ -ь -ь - -ꝰ -ꝰ -ꝰ -ꝯ -ꝯ - -ꟸ -ꟸ -ꟸ -Ħ -Ħ - -ꟹ -ꟹ -ꟹ -œ -œ - -ꭜ -ꭜ -ꭜ -ꜧ -ꜧ - -ꭝ -ꭝ -ꭝ -ꬷ -ꬷ - -ꭞ -ꭞ -ꭞ -ɫ -ɫ - -ꭟ -ꭟ -ꭟ -ꭒ -ꭒ - -가 -가 -가 -가 -가 - -각 -각 -각 -각 -각 - -갂 -갂 -갂 -갂 -갂 - -갃 -갃 -갃 -갃 -갃 - -간 -간 -간 -간 -간 - -갅 -갅 -갅 -갅 -갅 - -갆 -갆 -갆 -갆 -갆 - -갇 -갇 -갇 -갇 -갇 - -갈 -갈 -갈 -갈 -갈 - -갉 -갉 -갉 -갉 -갉 - -갊 -갊 -갊 -갊 -갊 - -갋 -갋 -갋 -갋 -갋 - -갌 -갌 -갌 -갌 -갌 - -갍 -갍 -갍 -갍 -갍 - -갎 -갎 -갎 -갎 -갎 - -갏 -갏 -갏 -갏 -갏 - -감 -감 -감 -감 -감 - -갑 -갑 -갑 -갑 -갑 - -값 -값 -값 -값 -값 - -갓 -갓 -갓 -갓 -갓 - -갔 -갔 -갔 -갔 -갔 - -강 -강 -강 -강 -강 - -갖 -갖 -갖 -갖 -갖 - -갗 -갗 -갗 -갗 -갗 - -갘 -갘 -갘 -갘 -갘 - -같 -같 -같 -같 -같 - -갚 -갚 -갚 -갚 -갚 - -갛 -갛 -갛 -갛 -갛 - -개 -개 -개 -개 -개 - -객 -객 -객 -객 -객 - -갞 -갞 -갞 -갞 -갞 - -갟 -갟 -갟 -갟 -갟 - -갠 -갠 -갠 -갠 -갠 - -갡 -갡 -갡 -갡 -갡 - -갢 -갢 -갢 -갢 -갢 - -갣 -갣 -갣 -갣 -갣 - -갤 -갤 -갤 -갤 -갤 - -갥 -갥 -갥 -갥 -갥 - -갦 -갦 -갦 -갦 -갦 - -갧 -갧 -갧 -갧 -갧 - -갨 -갨 -갨 -갨 -갨 - -갩 -갩 -갩 -갩 -갩 - -갪 -갪 -갪 -갪 -갪 - -갫 -갫 -갫 -갫 -갫 - -갬 -갬 -갬 -갬 -갬 - -갭 -갭 -갭 -갭 -갭 - -갮 -갮 -갮 -갮 -갮 - -갯 -갯 -갯 -갯 -갯 - -갰 -갰 -갰 -갰 -갰 - -갱 -갱 -갱 -갱 -갱 - -갲 -갲 -갲 -갲 -갲 - -갳 -갳 -갳 -갳 -갳 - -갴 -갴 -갴 -갴 -갴 - -갵 -갵 -갵 -갵 -갵 - -갶 -갶 -갶 -갶 -갶 - -갷 -갷 -갷 -갷 -갷 - -갸 -갸 -갸 -갸 -갸 - -갹 -갹 -갹 -갹 -갹 - -갺 -갺 -갺 -갺 -갺 - -갻 -갻 -갻 -갻 -갻 - -갼 -갼 -갼 -갼 -갼 - -갽 -갽 -갽 -갽 -갽 - -갾 -갾 -갾 -갾 -갾 - -갿 -갿 -갿 -갿 -갿 - -걀 -걀 -걀 -걀 -걀 - -걁 -걁 -걁 -걁 -걁 - -걂 -걂 -걂 -걂 -걂 - -걃 -걃 -걃 -걃 -걃 - -걄 -걄 -걄 -걄 -걄 - -걅 -걅 -걅 -걅 -걅 - -걆 -걆 -걆 -걆 -걆 - -걇 -걇 -걇 -걇 -걇 - -걈 -걈 -걈 -걈 -걈 - -걉 -걉 -걉 -걉 -걉 - -걊 -걊 -걊 -걊 -걊 - -걋 -걋 -걋 -걋 -걋 - -걌 -걌 -걌 -걌 -걌 - -걍 -걍 -걍 -걍 -걍 - -걎 -걎 -걎 -걎 -걎 - -걏 -걏 -걏 -걏 -걏 - -걐 -걐 -걐 -걐 -걐 - -걑 -걑 -걑 -걑 -걑 - -걒 -걒 -걒 -걒 -걒 - -걓 -걓 -걓 -걓 -걓 - -걔 -걔 -걔 -걔 -걔 - -걕 -걕 -걕 -걕 -걕 - -걖 -걖 -걖 -걖 -걖 - -걗 -걗 -걗 -걗 -걗 - -걘 -걘 -걘 -걘 -걘 - -걙 -걙 -걙 -걙 -걙 - -걚 -걚 -걚 -걚 -걚 - -걛 -걛 -걛 -걛 -걛 - -걜 -걜 -걜 -걜 -걜 - -걝 -걝 -걝 -걝 -걝 - -걞 -걞 -걞 -걞 -걞 - -걟 -걟 -걟 -걟 -걟 - -걠 -걠 -걠 -걠 -걠 - -걡 -걡 -걡 -걡 -걡 - -걢 -걢 -걢 -걢 -걢 - -걣 -걣 -걣 -걣 -걣 - -걤 -걤 -걤 -걤 -걤 - -걥 -걥 -걥 -걥 -걥 - -걦 -걦 -걦 -걦 -걦 - -걧 -걧 -걧 -걧 -걧 - -걨 -걨 -걨 -걨 -걨 - -걩 -걩 -걩 -걩 -걩 - -걪 -걪 -걪 -걪 -걪 - -걫 -걫 -걫 -걫 -걫 - -걬 -걬 -걬 -걬 -걬 - -걭 -걭 -걭 -걭 -걭 - -걮 -걮 -걮 -걮 -걮 - -걯 -걯 -걯 -걯 -걯 - -거 -거 -거 -거 -거 - -걱 -걱 -걱 -걱 -걱 - -걲 -걲 -걲 -걲 -걲 - -걳 -걳 -걳 -걳 -걳 - -건 -건 -건 -건 -건 - -걵 -걵 -걵 -걵 -걵 - -걶 -걶 -걶 -걶 -걶 - -걷 -걷 -걷 -걷 -걷 - -걸 -걸 -걸 -걸 -걸 - -걹 -걹 -걹 -걹 -걹 - -걺 -걺 -걺 -걺 -걺 - -걻 -걻 -걻 -걻 -걻 - -걼 -걼 -걼 -걼 -걼 - -걽 -걽 -걽 -걽 -걽 - -걾 -걾 -걾 -걾 -걾 - -걿 -걿 -걿 -걿 -걿 - -검 -검 -검 -검 -검 - -겁 -겁 -겁 -겁 -겁 - -겂 -겂 -겂 -겂 -겂 - -것 -것 -것 -것 -것 - -겄 -겄 -겄 -겄 -겄 - -겅 -겅 -겅 -겅 -겅 - -겆 -겆 -겆 -겆 -겆 - -겇 -겇 -겇 -겇 -겇 - -겈 -겈 -겈 -겈 -겈 - -겉 -겉 -겉 -겉 -겉 - -겊 -겊 -겊 -겊 -겊 - -겋 -겋 -겋 -겋 -겋 - -게 -게 -게 -게 -게 - -겍 -겍 -겍 -겍 -겍 - -겎 -겎 -겎 -겎 -겎 - -겏 -겏 -겏 -겏 -겏 - -겐 -겐 -겐 -겐 -겐 - -겑 -겑 -겑 -겑 -겑 - -겒 -겒 -겒 -겒 -겒 - -겓 -겓 -겓 -겓 -겓 - -겔 -겔 -겔 -겔 -겔 - -겕 -겕 -겕 -겕 -겕 - -겖 -겖 -겖 -겖 -겖 - -겗 -겗 -겗 -겗 -겗 - -겘 -겘 -겘 -겘 -겘 - -겙 -겙 -겙 -겙 -겙 - -겚 -겚 -겚 -겚 -겚 - -겛 -겛 -겛 -겛 -겛 - -겜 -겜 -겜 -겜 -겜 - -겝 -겝 -겝 -겝 -겝 - -겞 -겞 -겞 -겞 -겞 - -겟 -겟 -겟 -겟 -겟 - -겠 -겠 -겠 -겠 -겠 - -겡 -겡 -겡 -겡 -겡 - -겢 -겢 -겢 -겢 -겢 - -겣 -겣 -겣 -겣 -겣 - -겤 -겤 -겤 -겤 -겤 - -겥 -겥 -겥 -겥 -겥 - -겦 -겦 -겦 -겦 -겦 - -겧 -겧 -겧 -겧 -겧 - -겨 -겨 -겨 -겨 -겨 - -격 -격 -격 -격 -격 - -겪 -겪 -겪 -겪 -겪 - -겫 -겫 -겫 -겫 -겫 - -견 -견 -견 -견 -견 - -겭 -겭 -겭 -겭 -겭 - -겮 -겮 -겮 -겮 -겮 - -겯 -겯 -겯 -겯 -겯 - -결 -결 -결 -결 -결 - -겱 -겱 -겱 -겱 -겱 - -겲 -겲 -겲 -겲 -겲 - -겳 -겳 -겳 -겳 -겳 - -겴 -겴 -겴 -겴 -겴 - -겵 -겵 -겵 -겵 -겵 - -겶 -겶 -겶 -겶 -겶 - -겷 -겷 -겷 -겷 -겷 - -겸 -겸 -겸 -겸 -겸 - -겹 -겹 -겹 -겹 -겹 - -겺 -겺 -겺 -겺 -겺 - -겻 -겻 -겻 -겻 -겻 - -겼 -겼 -겼 -겼 -겼 - -경 -경 -경 -경 -경 - -겾 -겾 -겾 -겾 -겾 - -겿 -겿 -겿 -겿 -겿 - -곀 -곀 -곀 -곀 -곀 - -곁 -곁 -곁 -곁 -곁 - -곂 -곂 -곂 -곂 -곂 - -곃 -곃 -곃 -곃 -곃 - -계 -계 -계 -계 -계 - -곅 -곅 -곅 -곅 -곅 - -곆 -곆 -곆 -곆 -곆 - -곇 -곇 -곇 -곇 -곇 - -곈 -곈 -곈 -곈 -곈 - -곉 -곉 -곉 -곉 -곉 - -곊 -곊 -곊 -곊 -곊 - -곋 -곋 -곋 -곋 -곋 - -곌 -곌 -곌 -곌 -곌 - -곍 -곍 -곍 -곍 -곍 - -곎 -곎 -곎 -곎 -곎 - -곏 -곏 -곏 -곏 -곏 - -곐 -곐 -곐 -곐 -곐 - -곑 -곑 -곑 -곑 -곑 - -곒 -곒 -곒 -곒 -곒 - -곓 -곓 -곓 -곓 -곓 - -곔 -곔 -곔 -곔 -곔 - -곕 -곕 -곕 -곕 -곕 - -곖 -곖 -곖 -곖 -곖 - -곗 -곗 -곗 -곗 -곗 - -곘 -곘 -곘 -곘 -곘 - -곙 -곙 -곙 -곙 -곙 - -곚 -곚 -곚 -곚 -곚 - -곛 -곛 -곛 -곛 -곛 - -곜 -곜 -곜 -곜 -곜 - -곝 -곝 -곝 -곝 -곝 - -곞 -곞 -곞 -곞 -곞 - -곟 -곟 -곟 -곟 -곟 - -고 -고 -고 -고 -고 - -곡 -곡 -곡 -곡 -곡 - -곢 -곢 -곢 -곢 -곢 - -곣 -곣 -곣 -곣 -곣 - -곤 -곤 -곤 -곤 -곤 - -곥 -곥 -곥 -곥 -곥 - -곦 -곦 -곦 -곦 -곦 - -곧 -곧 -곧 -곧 -곧 - -골 -골 -골 -골 -골 - -곩 -곩 -곩 -곩 -곩 - -곪 -곪 -곪 -곪 -곪 - -곫 -곫 -곫 -곫 -곫 - -곬 -곬 -곬 -곬 -곬 - -곭 -곭 -곭 -곭 -곭 - -곮 -곮 -곮 -곮 -곮 - -곯 -곯 -곯 -곯 -곯 - -곰 -곰 -곰 -곰 -곰 - -곱 -곱 -곱 -곱 -곱 - -곲 -곲 -곲 -곲 -곲 - -곳 -곳 -곳 -곳 -곳 - -곴 -곴 -곴 -곴 -곴 - -공 -공 -공 -공 -공 - -곶 -곶 -곶 -곶 -곶 - -곷 -곷 -곷 -곷 -곷 - -곸 -곸 -곸 -곸 -곸 - -곹 -곹 -곹 -곹 -곹 - -곺 -곺 -곺 -곺 -곺 - -곻 -곻 -곻 -곻 -곻 - -과 -과 -과 -과 -과 - -곽 -곽 -곽 -곽 -곽 - -곾 -곾 -곾 -곾 -곾 - -곿 -곿 -곿 -곿 -곿 - -관 -관 -관 -관 -관 - -괁 -괁 -괁 -괁 -괁 - -괂 -괂 -괂 -괂 -괂 - -괃 -괃 -괃 -괃 -괃 - -괄 -괄 -괄 -괄 -괄 - -괅 -괅 -괅 -괅 -괅 - -괆 -괆 -괆 -괆 -괆 - -괇 -괇 -괇 -괇 -괇 - -괈 -괈 -괈 -괈 -괈 - -괉 -괉 -괉 -괉 -괉 - -괊 -괊 -괊 -괊 -괊 - -괋 -괋 -괋 -괋 -괋 - -괌 -괌 -괌 -괌 -괌 - -괍 -괍 -괍 -괍 -괍 - -괎 -괎 -괎 -괎 -괎 - -괏 -괏 -괏 -괏 -괏 - -괐 -괐 -괐 -괐 -괐 - -광 -광 -광 -광 -광 - -괒 -괒 -괒 -괒 -괒 - -괓 -괓 -괓 -괓 -괓 - -괔 -괔 -괔 -괔 -괔 - -괕 -괕 -괕 -괕 -괕 - -괖 -괖 -괖 -괖 -괖 - -괗 -괗 -괗 -괗 -괗 - -괘 -괘 -괘 -괘 -괘 - -괙 -괙 -괙 -괙 -괙 - -괚 -괚 -괚 -괚 -괚 - -괛 -괛 -괛 -괛 -괛 - -괜 -괜 -괜 -괜 -괜 - -괝 -괝 -괝 -괝 -괝 - -괞 -괞 -괞 -괞 -괞 - -괟 -괟 -괟 -괟 -괟 - -괠 -괠 -괠 -괠 -괠 - -괡 -괡 -괡 -괡 -괡 - -괢 -괢 -괢 -괢 -괢 - -괣 -괣 -괣 -괣 -괣 - -괤 -괤 -괤 -괤 -괤 - -괥 -괥 -괥 -괥 -괥 - -괦 -괦 -괦 -괦 -괦 - -괧 -괧 -괧 -괧 -괧 - -괨 -괨 -괨 -괨 -괨 - -괩 -괩 -괩 -괩 -괩 - -괪 -괪 -괪 -괪 -괪 - -괫 -괫 -괫 -괫 -괫 - -괬 -괬 -괬 -괬 -괬 - -괭 -괭 -괭 -괭 -괭 - -괮 -괮 -괮 -괮 -괮 - -괯 -괯 -괯 -괯 -괯 - -괰 -괰 -괰 -괰 -괰 - -괱 -괱 -괱 -괱 -괱 - -괲 -괲 -괲 -괲 -괲 - -괳 -괳 -괳 -괳 -괳 - -괴 -괴 -괴 -괴 -괴 - -괵 -괵 -괵 -괵 -괵 - -괶 -괶 -괶 -괶 -괶 - -괷 -괷 -괷 -괷 -괷 - -괸 -괸 -괸 -괸 -괸 - -괹 -괹 -괹 -괹 -괹 - -괺 -괺 -괺 -괺 -괺 - -괻 -괻 -괻 -괻 -괻 - -괼 -괼 -괼 -괼 -괼 - -괽 -괽 -괽 -괽 -괽 - -괾 -괾 -괾 -괾 -괾 - -괿 -괿 -괿 -괿 -괿 - -굀 -굀 -굀 -굀 -굀 - -굁 -굁 -굁 -굁 -굁 - -굂 -굂 -굂 -굂 -굂 - -굃 -굃 -굃 -굃 -굃 - -굄 -굄 -굄 -굄 -굄 - -굅 -굅 -굅 -굅 -굅 - -굆 -굆 -굆 -굆 -굆 - -굇 -굇 -굇 -굇 -굇 - -굈 -굈 -굈 -굈 -굈 - -굉 -굉 -굉 -굉 -굉 - -굊 -굊 -굊 -굊 -굊 - -굋 -굋 -굋 -굋 -굋 - -굌 -굌 -굌 -굌 -굌 - -굍 -굍 -굍 -굍 -굍 - -굎 -굎 -굎 -굎 -굎 - -굏 -굏 -굏 -굏 -굏 - -교 -교 -교 -교 -교 - -굑 -굑 -굑 -굑 -굑 - -굒 -굒 -굒 -굒 -굒 - -굓 -굓 -굓 -굓 -굓 - -굔 -굔 -굔 -굔 -굔 - -굕 -굕 -굕 -굕 -굕 - -굖 -굖 -굖 -굖 -굖 - -굗 -굗 -굗 -굗 -굗 - -굘 -굘 -굘 -굘 -굘 - -굙 -굙 -굙 -굙 -굙 - -굚 -굚 -굚 -굚 -굚 - -굛 -굛 -굛 -굛 -굛 - -굜 -굜 -굜 -굜 -굜 - -굝 -굝 -굝 -굝 -굝 - -굞 -굞 -굞 -굞 -굞 - -굟 -굟 -굟 -굟 -굟 - -굠 -굠 -굠 -굠 -굠 - -굡 -굡 -굡 -굡 -굡 - -굢 -굢 -굢 -굢 -굢 - -굣 -굣 -굣 -굣 -굣 - -굤 -굤 -굤 -굤 -굤 - -굥 -굥 -굥 -굥 -굥 - -굦 -굦 -굦 -굦 -굦 - -굧 -굧 -굧 -굧 -굧 - -굨 -굨 -굨 -굨 -굨 - -굩 -굩 -굩 -굩 -굩 - -굪 -굪 -굪 -굪 -굪 - -굫 -굫 -굫 -굫 -굫 - -구 -구 -구 -구 -구 - -국 -국 -국 -국 -국 - -굮 -굮 -굮 -굮 -굮 - -굯 -굯 -굯 -굯 -굯 - -군 -군 -군 -군 -군 - -굱 -굱 -굱 -굱 -굱 - -굲 -굲 -굲 -굲 -굲 - -굳 -굳 -굳 -굳 -굳 - -굴 -굴 -굴 -굴 -굴 - -굵 -굵 -굵 -굵 -굵 - -굶 -굶 -굶 -굶 -굶 - -굷 -굷 -굷 -굷 -굷 - -굸 -굸 -굸 -굸 -굸 - -굹 -굹 -굹 -굹 -굹 - -굺 -굺 -굺 -굺 -굺 - -굻 -굻 -굻 -굻 -굻 - -굼 -굼 -굼 -굼 -굼 - -굽 -굽 -굽 -굽 -굽 - -굾 -굾 -굾 -굾 -굾 - -굿 -굿 -굿 -굿 -굿 - -궀 -궀 -궀 -궀 -궀 - -궁 -궁 -궁 -궁 -궁 - -궂 -궂 -궂 -궂 -궂 - -궃 -궃 -궃 -궃 -궃 - -궄 -궄 -궄 -궄 -궄 - -궅 -궅 -궅 -궅 -궅 - -궆 -궆 -궆 -궆 -궆 - -궇 -궇 -궇 -궇 -궇 - -궈 -궈 -궈 -궈 -궈 - -궉 -궉 -궉 -궉 -궉 - -궊 -궊 -궊 -궊 -궊 - -궋 -궋 -궋 -궋 -궋 - -권 -권 -권 -권 -권 - -궍 -궍 -궍 -궍 -궍 - -궎 -궎 -궎 -궎 -궎 - -궏 -궏 -궏 -궏 -궏 - -궐 -궐 -궐 -궐 -궐 - -궑 -궑 -궑 -궑 -궑 - -궒 -궒 -궒 -궒 -궒 - -궓 -궓 -궓 -궓 -궓 - -궔 -궔 -궔 -궔 -궔 - -궕 -궕 -궕 -궕 -궕 - -궖 -궖 -궖 -궖 -궖 - -궗 -궗 -궗 -궗 -궗 - -궘 -궘 -궘 -궘 -궘 - -궙 -궙 -궙 -궙 -궙 - -궚 -궚 -궚 -궚 -궚 - -궛 -궛 -궛 -궛 -궛 - -궜 -궜 -궜 -궜 -궜 - -궝 -궝 -궝 -궝 -궝 - -궞 -궞 -궞 -궞 -궞 - -궟 -궟 -궟 -궟 -궟 - -궠 -궠 -궠 -궠 -궠 - -궡 -궡 -궡 -궡 -궡 - -궢 -궢 -궢 -궢 -궢 - -궣 -궣 -궣 -궣 -궣 - -궤 -궤 -궤 -궤 -궤 - -궥 -궥 -궥 -궥 -궥 - -궦 -궦 -궦 -궦 -궦 - -궧 -궧 -궧 -궧 -궧 - -궨 -궨 -궨 -궨 -궨 - -궩 -궩 -궩 -궩 -궩 - -궪 -궪 -궪 -궪 -궪 - -궫 -궫 -궫 -궫 -궫 - -궬 -궬 -궬 -궬 -궬 - -궭 -궭 -궭 -궭 -궭 - -궮 -궮 -궮 -궮 -궮 - -궯 -궯 -궯 -궯 -궯 - -궰 -궰 -궰 -궰 -궰 - -궱 -궱 -궱 -궱 -궱 - -궲 -궲 -궲 -궲 -궲 - -궳 -궳 -궳 -궳 -궳 - -궴 -궴 -궴 -궴 -궴 - -궵 -궵 -궵 -궵 -궵 - -궶 -궶 -궶 -궶 -궶 - -궷 -궷 -궷 -궷 -궷 - -궸 -궸 -궸 -궸 -궸 - -궹 -궹 -궹 -궹 -궹 - -궺 -궺 -궺 -궺 -궺 - -궻 -궻 -궻 -궻 -궻 - -궼 -궼 -궼 -궼 -궼 - -궽 -궽 -궽 -궽 -궽 - -궾 -궾 -궾 -궾 -궾 - -궿 -궿 -궿 -궿 -궿 - -귀 -귀 -귀 -귀 -귀 - -귁 -귁 -귁 -귁 -귁 - -귂 -귂 -귂 -귂 -귂 - -귃 -귃 -귃 -귃 -귃 - -귄 -귄 -귄 -귄 -귄 - -귅 -귅 -귅 -귅 -귅 - -귆 -귆 -귆 -귆 -귆 - -귇 -귇 -귇 -귇 -귇 - -귈 -귈 -귈 -귈 -귈 - -귉 -귉 -귉 -귉 -귉 - -귊 -귊 -귊 -귊 -귊 - -귋 -귋 -귋 -귋 -귋 - -귌 -귌 -귌 -귌 -귌 - -귍 -귍 -귍 -귍 -귍 - -귎 -귎 -귎 -귎 -귎 - -귏 -귏 -귏 -귏 -귏 - -귐 -귐 -귐 -귐 -귐 - -귑 -귑 -귑 -귑 -귑 - -귒 -귒 -귒 -귒 -귒 - -귓 -귓 -귓 -귓 -귓 - -귔 -귔 -귔 -귔 -귔 - -귕 -귕 -귕 -귕 -귕 - -귖 -귖 -귖 -귖 -귖 - -귗 -귗 -귗 -귗 -귗 - -귘 -귘 -귘 -귘 -귘 - -귙 -귙 -귙 -귙 -귙 - -귚 -귚 -귚 -귚 -귚 - -귛 -귛 -귛 -귛 -귛 - -규 -규 -규 -규 -규 - -귝 -귝 -귝 -귝 -귝 - -귞 -귞 -귞 -귞 -귞 - -귟 -귟 -귟 -귟 -귟 - -균 -균 -균 -균 -균 - -귡 -귡 -귡 -귡 -귡 - -귢 -귢 -귢 -귢 -귢 - -귣 -귣 -귣 -귣 -귣 - -귤 -귤 -귤 -귤 -귤 - -귥 -귥 -귥 -귥 -귥 - -귦 -귦 -귦 -귦 -귦 - -귧 -귧 -귧 -귧 -귧 - -귨 -귨 -귨 -귨 -귨 - -귩 -귩 -귩 -귩 -귩 - -귪 -귪 -귪 -귪 -귪 - -귫 -귫 -귫 -귫 -귫 - -귬 -귬 -귬 -귬 -귬 - -귭 -귭 -귭 -귭 -귭 - -귮 -귮 -귮 -귮 -귮 - -귯 -귯 -귯 -귯 -귯 - -귰 -귰 -귰 -귰 -귰 - -귱 -귱 -귱 -귱 -귱 - -귲 -귲 -귲 -귲 -귲 - -귳 -귳 -귳 -귳 -귳 - -귴 -귴 -귴 -귴 -귴 - -귵 -귵 -귵 -귵 -귵 - -귶 -귶 -귶 -귶 -귶 - -귷 -귷 -귷 -귷 -귷 - -그 -그 -그 -그 -그 - -극 -극 -극 -극 -극 - -귺 -귺 -귺 -귺 -귺 - -귻 -귻 -귻 -귻 -귻 - -근 -근 -근 -근 -근 - -귽 -귽 -귽 -귽 -귽 - -귾 -귾 -귾 -귾 -귾 - -귿 -귿 -귿 -귿 -귿 - -글 -글 -글 -글 -글 - -긁 -긁 -긁 -긁 -긁 - -긂 -긂 -긂 -긂 -긂 - -긃 -긃 -긃 -긃 -긃 - -긄 -긄 -긄 -긄 -긄 - -긅 -긅 -긅 -긅 -긅 - -긆 -긆 -긆 -긆 -긆 - -긇 -긇 -긇 -긇 -긇 - -금 -금 -금 -금 -금 - -급 -급 -급 -급 -급 - -긊 -긊 -긊 -긊 -긊 - -긋 -긋 -긋 -긋 -긋 - -긌 -긌 -긌 -긌 -긌 - -긍 -긍 -긍 -긍 -긍 - -긎 -긎 -긎 -긎 -긎 - -긏 -긏 -긏 -긏 -긏 - -긐 -긐 -긐 -긐 -긐 - -긑 -긑 -긑 -긑 -긑 - -긒 -긒 -긒 -긒 -긒 - -긓 -긓 -긓 -긓 -긓 - -긔 -긔 -긔 -긔 -긔 - -긕 -긕 -긕 -긕 -긕 - -긖 -긖 -긖 -긖 -긖 - -긗 -긗 -긗 -긗 -긗 - -긘 -긘 -긘 -긘 -긘 - -긙 -긙 -긙 -긙 -긙 - -긚 -긚 -긚 -긚 -긚 - -긛 -긛 -긛 -긛 -긛 - -긜 -긜 -긜 -긜 -긜 - -긝 -긝 -긝 -긝 -긝 - -긞 -긞 -긞 -긞 -긞 - -긟 -긟 -긟 -긟 -긟 - -긠 -긠 -긠 -긠 -긠 - -긡 -긡 -긡 -긡 -긡 - -긢 -긢 -긢 -긢 -긢 - -긣 -긣 -긣 -긣 -긣 - -긤 -긤 -긤 -긤 -긤 - -긥 -긥 -긥 -긥 -긥 - -긦 -긦 -긦 -긦 -긦 - -긧 -긧 -긧 -긧 -긧 - -긨 -긨 -긨 -긨 -긨 - -긩 -긩 -긩 -긩 -긩 - -긪 -긪 -긪 -긪 -긪 - -긫 -긫 -긫 -긫 -긫 - -긬 -긬 -긬 -긬 -긬 - -긭 -긭 -긭 -긭 -긭 - -긮 -긮 -긮 -긮 -긮 - -긯 -긯 -긯 -긯 -긯 - -기 -기 -기 -기 -기 - -긱 -긱 -긱 -긱 -긱 - -긲 -긲 -긲 -긲 -긲 - -긳 -긳 -긳 -긳 -긳 - -긴 -긴 -긴 -긴 -긴 - -긵 -긵 -긵 -긵 -긵 - -긶 -긶 -긶 -긶 -긶 - -긷 -긷 -긷 -긷 -긷 - -길 -길 -길 -길 -길 - -긹 -긹 -긹 -긹 -긹 - -긺 -긺 -긺 -긺 -긺 - -긻 -긻 -긻 -긻 -긻 - -긼 -긼 -긼 -긼 -긼 - -긽 -긽 -긽 -긽 -긽 - -긾 -긾 -긾 -긾 -긾 - -긿 -긿 -긿 -긿 -긿 - -김 -김 -김 -김 -김 - -깁 -깁 -깁 -깁 -깁 - -깂 -깂 -깂 -깂 -깂 - -깃 -깃 -깃 -깃 -깃 - -깄 -깄 -깄 -깄 -깄 - -깅 -깅 -깅 -깅 -깅 - -깆 -깆 -깆 -깆 -깆 - -깇 -깇 -깇 -깇 -깇 - -깈 -깈 -깈 -깈 -깈 - -깉 -깉 -깉 -깉 -깉 - -깊 -깊 -깊 -깊 -깊 - -깋 -깋 -깋 -깋 -깋 - -까 -까 -까 -까 -까 - -깍 -깍 -깍 -깍 -깍 - -깎 -깎 -깎 -깎 -깎 - -깏 -깏 -깏 -깏 -깏 - -깐 -깐 -깐 -깐 -깐 - -깑 -깑 -깑 -깑 -깑 - -깒 -깒 -깒 -깒 -깒 - -깓 -깓 -깓 -깓 -깓 - -깔 -깔 -깔 -깔 -깔 - -깕 -깕 -깕 -깕 -깕 - -깖 -깖 -깖 -깖 -깖 - -깗 -깗 -깗 -깗 -깗 - -깘 -깘 -깘 -깘 -깘 - -깙 -깙 -깙 -깙 -깙 - -깚 -깚 -깚 -깚 -깚 - -깛 -깛 -깛 -깛 -깛 - -깜 -깜 -깜 -깜 -깜 - -깝 -깝 -깝 -깝 -깝 - -깞 -깞 -깞 -깞 -깞 - -깟 -깟 -깟 -깟 -깟 - -깠 -깠 -깠 -깠 -깠 - -깡 -깡 -깡 -깡 -깡 - -깢 -깢 -깢 -깢 -깢 - -깣 -깣 -깣 -깣 -깣 - -깤 -깤 -깤 -깤 -깤 - -깥 -깥 -깥 -깥 -깥 - -깦 -깦 -깦 -깦 -깦 - -깧 -깧 -깧 -깧 -깧 - -깨 -깨 -깨 -깨 -깨 - -깩 -깩 -깩 -깩 -깩 - -깪 -깪 -깪 -깪 -깪 - -깫 -깫 -깫 -깫 -깫 - -깬 -깬 -깬 -깬 -깬 - -깭 -깭 -깭 -깭 -깭 - -깮 -깮 -깮 -깮 -깮 - -깯 -깯 -깯 -깯 -깯 - -깰 -깰 -깰 -깰 -깰 - -깱 -깱 -깱 -깱 -깱 - -깲 -깲 -깲 -깲 -깲 - -깳 -깳 -깳 -깳 -깳 - -깴 -깴 -깴 -깴 -깴 - -깵 -깵 -깵 -깵 -깵 - -깶 -깶 -깶 -깶 -깶 - -깷 -깷 -깷 -깷 -깷 - -깸 -깸 -깸 -깸 -깸 - -깹 -깹 -깹 -깹 -깹 - -깺 -깺 -깺 -깺 -깺 - -깻 -깻 -깻 -깻 -깻 - -깼 -깼 -깼 -깼 -깼 - -깽 -깽 -깽 -깽 -깽 - -깾 -깾 -깾 -깾 -깾 - -깿 -깿 -깿 -깿 -깿 - -꺀 -꺀 -꺀 -꺀 -꺀 - -꺁 -꺁 -꺁 -꺁 -꺁 - -꺂 -꺂 -꺂 -꺂 -꺂 - -꺃 -꺃 -꺃 -꺃 -꺃 - -꺄 -꺄 -꺄 -꺄 -꺄 - -꺅 -꺅 -꺅 -꺅 -꺅 - -꺆 -꺆 -꺆 -꺆 -꺆 - -꺇 -꺇 -꺇 -꺇 -꺇 - -꺈 -꺈 -꺈 -꺈 -꺈 - -꺉 -꺉 -꺉 -꺉 -꺉 - -꺊 -꺊 -꺊 -꺊 -꺊 - -꺋 -꺋 -꺋 -꺋 -꺋 - -꺌 -꺌 -꺌 -꺌 -꺌 - -꺍 -꺍 -꺍 -꺍 -꺍 - -꺎 -꺎 -꺎 -꺎 -꺎 - -꺏 -꺏 -꺏 -꺏 -꺏 - -꺐 -꺐 -꺐 -꺐 -꺐 - -꺑 -꺑 -꺑 -꺑 -꺑 - -꺒 -꺒 -꺒 -꺒 -꺒 - -꺓 -꺓 -꺓 -꺓 -꺓 - -꺔 -꺔 -꺔 -꺔 -꺔 - -꺕 -꺕 -꺕 -꺕 -꺕 - -꺖 -꺖 -꺖 -꺖 -꺖 - -꺗 -꺗 -꺗 -꺗 -꺗 - -꺘 -꺘 -꺘 -꺘 -꺘 - -꺙 -꺙 -꺙 -꺙 -꺙 - -꺚 -꺚 -꺚 -꺚 -꺚 - -꺛 -꺛 -꺛 -꺛 -꺛 - -꺜 -꺜 -꺜 -꺜 -꺜 - -꺝 -꺝 -꺝 -꺝 -꺝 - -꺞 -꺞 -꺞 -꺞 -꺞 - -꺟 -꺟 -꺟 -꺟 -꺟 - -꺠 -꺠 -꺠 -꺠 -꺠 - -꺡 -꺡 -꺡 -꺡 -꺡 - -꺢 -꺢 -꺢 -꺢 -꺢 - -꺣 -꺣 -꺣 -꺣 -꺣 - -꺤 -꺤 -꺤 -꺤 -꺤 - -꺥 -꺥 -꺥 -꺥 -꺥 - -꺦 -꺦 -꺦 -꺦 -꺦 - -꺧 -꺧 -꺧 -꺧 -꺧 - -꺨 -꺨 -꺨 -꺨 -꺨 - -꺩 -꺩 -꺩 -꺩 -꺩 - -꺪 -꺪 -꺪 -꺪 -꺪 - -꺫 -꺫 -꺫 -꺫 -꺫 - -꺬 -꺬 -꺬 -꺬 -꺬 - -꺭 -꺭 -꺭 -꺭 -꺭 - -꺮 -꺮 -꺮 -꺮 -꺮 - -꺯 -꺯 -꺯 -꺯 -꺯 - -꺰 -꺰 -꺰 -꺰 -꺰 - -꺱 -꺱 -꺱 -꺱 -꺱 - -꺲 -꺲 -꺲 -꺲 -꺲 - -꺳 -꺳 -꺳 -꺳 -꺳 - -꺴 -꺴 -꺴 -꺴 -꺴 - -꺵 -꺵 -꺵 -꺵 -꺵 - -꺶 -꺶 -꺶 -꺶 -꺶 - -꺷 -꺷 -꺷 -꺷 -꺷 - -꺸 -꺸 -꺸 -꺸 -꺸 - -꺹 -꺹 -꺹 -꺹 -꺹 - -꺺 -꺺 -꺺 -꺺 -꺺 - -꺻 -꺻 -꺻 -꺻 -꺻 - -꺼 -꺼 -꺼 -꺼 -꺼 - -꺽 -꺽 -꺽 -꺽 -꺽 - -꺾 -꺾 -꺾 -꺾 -꺾 - -꺿 -꺿 -꺿 -꺿 -꺿 - -껀 -껀 -껀 -껀 -껀 - -껁 -껁 -껁 -껁 -껁 - -껂 -껂 -껂 -껂 -껂 - -껃 -껃 -껃 -껃 -껃 - -껄 -껄 -껄 -껄 -껄 - -껅 -껅 -껅 -껅 -껅 - -껆 -껆 -껆 -껆 -껆 - -껇 -껇 -껇 -껇 -껇 - -껈 -껈 -껈 -껈 -껈 - -껉 -껉 -껉 -껉 -껉 - -껊 -껊 -껊 -껊 -껊 - -껋 -껋 -껋 -껋 -껋 - -껌 -껌 -껌 -껌 -껌 - -껍 -껍 -껍 -껍 -껍 - -껎 -껎 -껎 -껎 -껎 - -껏 -껏 -껏 -껏 -껏 - -껐 -껐 -껐 -껐 -껐 - -껑 -껑 -껑 -껑 -껑 - -껒 -껒 -껒 -껒 -껒 - -껓 -껓 -껓 -껓 -껓 - -껔 -껔 -껔 -껔 -껔 - -껕 -껕 -껕 -껕 -껕 - -껖 -껖 -껖 -껖 -껖 - -껗 -껗 -껗 -껗 -껗 - -께 -께 -께 -께 -께 - -껙 -껙 -껙 -껙 -껙 - -껚 -껚 -껚 -껚 -껚 - -껛 -껛 -껛 -껛 -껛 - -껜 -껜 -껜 -껜 -껜 - -껝 -껝 -껝 -껝 -껝 - -껞 -껞 -껞 -껞 -껞 - -껟 -껟 -껟 -껟 -껟 - -껠 -껠 -껠 -껠 -껠 - -껡 -껡 -껡 -껡 -껡 - -껢 -껢 -껢 -껢 -껢 - -껣 -껣 -껣 -껣 -껣 - -껤 -껤 -껤 -껤 -껤 - -껥 -껥 -껥 -껥 -껥 - -껦 -껦 -껦 -껦 -껦 - -껧 -껧 -껧 -껧 -껧 - -껨 -껨 -껨 -껨 -껨 - -껩 -껩 -껩 -껩 -껩 - -껪 -껪 -껪 -껪 -껪 - -껫 -껫 -껫 -껫 -껫 - -껬 -껬 -껬 -껬 -껬 - -껭 -껭 -껭 -껭 -껭 - -껮 -껮 -껮 -껮 -껮 - -껯 -껯 -껯 -껯 -껯 - -껰 -껰 -껰 -껰 -껰 - -껱 -껱 -껱 -껱 -껱 - -껲 -껲 -껲 -껲 -껲 - -껳 -껳 -껳 -껳 -껳 - -껴 -껴 -껴 -껴 -껴 - -껵 -껵 -껵 -껵 -껵 - -껶 -껶 -껶 -껶 -껶 - -껷 -껷 -껷 -껷 -껷 - -껸 -껸 -껸 -껸 -껸 - -껹 -껹 -껹 -껹 -껹 - -껺 -껺 -껺 -껺 -껺 - -껻 -껻 -껻 -껻 -껻 - -껼 -껼 -껼 -껼 -껼 - -껽 -껽 -껽 -껽 -껽 - -껾 -껾 -껾 -껾 -껾 - -껿 -껿 -껿 -껿 -껿 - -꼀 -꼀 -꼀 -꼀 -꼀 - -꼁 -꼁 -꼁 -꼁 -꼁 - -꼂 -꼂 -꼂 -꼂 -꼂 - -꼃 -꼃 -꼃 -꼃 -꼃 - -꼄 -꼄 -꼄 -꼄 -꼄 - -꼅 -꼅 -꼅 -꼅 -꼅 - -꼆 -꼆 -꼆 -꼆 -꼆 - -꼇 -꼇 -꼇 -꼇 -꼇 - -꼈 -꼈 -꼈 -꼈 -꼈 - -꼉 -꼉 -꼉 -꼉 -꼉 - -꼊 -꼊 -꼊 -꼊 -꼊 - -꼋 -꼋 -꼋 -꼋 -꼋 - -꼌 -꼌 -꼌 -꼌 -꼌 - -꼍 -꼍 -꼍 -꼍 -꼍 - -꼎 -꼎 -꼎 -꼎 -꼎 - -꼏 -꼏 -꼏 -꼏 -꼏 - -꼐 -꼐 -꼐 -꼐 -꼐 - -꼑 -꼑 -꼑 -꼑 -꼑 - -꼒 -꼒 -꼒 -꼒 -꼒 - -꼓 -꼓 -꼓 -꼓 -꼓 - -꼔 -꼔 -꼔 -꼔 -꼔 - -꼕 -꼕 -꼕 -꼕 -꼕 - -꼖 -꼖 -꼖 -꼖 -꼖 - -꼗 -꼗 -꼗 -꼗 -꼗 - -꼘 -꼘 -꼘 -꼘 -꼘 - -꼙 -꼙 -꼙 -꼙 -꼙 - -꼚 -꼚 -꼚 -꼚 -꼚 - -꼛 -꼛 -꼛 -꼛 -꼛 - -꼜 -꼜 -꼜 -꼜 -꼜 - -꼝 -꼝 -꼝 -꼝 -꼝 - -꼞 -꼞 -꼞 -꼞 -꼞 - -꼟 -꼟 -꼟 -꼟 -꼟 - -꼠 -꼠 -꼠 -꼠 -꼠 - -꼡 -꼡 -꼡 -꼡 -꼡 - -꼢 -꼢 -꼢 -꼢 -꼢 - -꼣 -꼣 -꼣 -꼣 -꼣 - -꼤 -꼤 -꼤 -꼤 -꼤 - -꼥 -꼥 -꼥 -꼥 -꼥 - -꼦 -꼦 -꼦 -꼦 -꼦 - -꼧 -꼧 -꼧 -꼧 -꼧 - -꼨 -꼨 -꼨 -꼨 -꼨 - -꼩 -꼩 -꼩 -꼩 -꼩 - -꼪 -꼪 -꼪 -꼪 -꼪 - -꼫 -꼫 -꼫 -꼫 -꼫 - -꼬 -꼬 -꼬 -꼬 -꼬 - -꼭 -꼭 -꼭 -꼭 -꼭 - -꼮 -꼮 -꼮 -꼮 -꼮 - -꼯 -꼯 -꼯 -꼯 -꼯 - -꼰 -꼰 -꼰 -꼰 -꼰 - -꼱 -꼱 -꼱 -꼱 -꼱 - -꼲 -꼲 -꼲 -꼲 -꼲 - -꼳 -꼳 -꼳 -꼳 -꼳 - -꼴 -꼴 -꼴 -꼴 -꼴 - -꼵 -꼵 -꼵 -꼵 -꼵 - -꼶 -꼶 -꼶 -꼶 -꼶 - -꼷 -꼷 -꼷 -꼷 -꼷 - -꼸 -꼸 -꼸 -꼸 -꼸 - -꼹 -꼹 -꼹 -꼹 -꼹 - -꼺 -꼺 -꼺 -꼺 -꼺 - -꼻 -꼻 -꼻 -꼻 -꼻 - -꼼 -꼼 -꼼 -꼼 -꼼 - -꼽 -꼽 -꼽 -꼽 -꼽 - -꼾 -꼾 -꼾 -꼾 -꼾 - -꼿 -꼿 -꼿 -꼿 -꼿 - -꽀 -꽀 -꽀 -꽀 -꽀 - -꽁 -꽁 -꽁 -꽁 -꽁 - -꽂 -꽂 -꽂 -꽂 -꽂 - -꽃 -꽃 -꽃 -꽃 -꽃 - -꽄 -꽄 -꽄 -꽄 -꽄 - -꽅 -꽅 -꽅 -꽅 -꽅 - -꽆 -꽆 -꽆 -꽆 -꽆 - -꽇 -꽇 -꽇 -꽇 -꽇 - -꽈 -꽈 -꽈 -꽈 -꽈 - -꽉 -꽉 -꽉 -꽉 -꽉 - -꽊 -꽊 -꽊 -꽊 -꽊 - -꽋 -꽋 -꽋 -꽋 -꽋 - -꽌 -꽌 -꽌 -꽌 -꽌 - -꽍 -꽍 -꽍 -꽍 -꽍 - -꽎 -꽎 -꽎 -꽎 -꽎 - -꽏 -꽏 -꽏 -꽏 -꽏 - -꽐 -꽐 -꽐 -꽐 -꽐 - -꽑 -꽑 -꽑 -꽑 -꽑 - -꽒 -꽒 -꽒 -꽒 -꽒 - -꽓 -꽓 -꽓 -꽓 -꽓 - -꽔 -꽔 -꽔 -꽔 -꽔 - -꽕 -꽕 -꽕 -꽕 -꽕 - -꽖 -꽖 -꽖 -꽖 -꽖 - -꽗 -꽗 -꽗 -꽗 -꽗 - -꽘 -꽘 -꽘 -꽘 -꽘 - -꽙 -꽙 -꽙 -꽙 -꽙 - -꽚 -꽚 -꽚 -꽚 -꽚 - -꽛 -꽛 -꽛 -꽛 -꽛 - -꽜 -꽜 -꽜 -꽜 -꽜 - -꽝 -꽝 -꽝 -꽝 -꽝 - -꽞 -꽞 -꽞 -꽞 -꽞 - -꽟 -꽟 -꽟 -꽟 -꽟 - -꽠 -꽠 -꽠 -꽠 -꽠 - -꽡 -꽡 -꽡 -꽡 -꽡 - -꽢 -꽢 -꽢 -꽢 -꽢 - -꽣 -꽣 -꽣 -꽣 -꽣 - -꽤 -꽤 -꽤 -꽤 -꽤 - -꽥 -꽥 -꽥 -꽥 -꽥 - -꽦 -꽦 -꽦 -꽦 -꽦 - -꽧 -꽧 -꽧 -꽧 -꽧 - -꽨 -꽨 -꽨 -꽨 -꽨 - -꽩 -꽩 -꽩 -꽩 -꽩 - -꽪 -꽪 -꽪 -꽪 -꽪 - -꽫 -꽫 -꽫 -꽫 -꽫 - -꽬 -꽬 -꽬 -꽬 -꽬 - -꽭 -꽭 -꽭 -꽭 -꽭 - -꽮 -꽮 -꽮 -꽮 -꽮 - -꽯 -꽯 -꽯 -꽯 -꽯 - -꽰 -꽰 -꽰 -꽰 -꽰 - -꽱 -꽱 -꽱 -꽱 -꽱 - -꽲 -꽲 -꽲 -꽲 -꽲 - -꽳 -꽳 -꽳 -꽳 -꽳 - -꽴 -꽴 -꽴 -꽴 -꽴 - -꽵 -꽵 -꽵 -꽵 -꽵 - -꽶 -꽶 -꽶 -꽶 -꽶 - -꽷 -꽷 -꽷 -꽷 -꽷 - -꽸 -꽸 -꽸 -꽸 -꽸 - -꽹 -꽹 -꽹 -꽹 -꽹 - -꽺 -꽺 -꽺 -꽺 -꽺 - -꽻 -꽻 -꽻 -꽻 -꽻 - -꽼 -꽼 -꽼 -꽼 -꽼 - -꽽 -꽽 -꽽 -꽽 -꽽 - -꽾 -꽾 -꽾 -꽾 -꽾 - -꽿 -꽿 -꽿 -꽿 -꽿 - -꾀 -꾀 -꾀 -꾀 -꾀 - -꾁 -꾁 -꾁 -꾁 -꾁 - -꾂 -꾂 -꾂 -꾂 -꾂 - -꾃 -꾃 -꾃 -꾃 -꾃 - -꾄 -꾄 -꾄 -꾄 -꾄 - -꾅 -꾅 -꾅 -꾅 -꾅 - -꾆 -꾆 -꾆 -꾆 -꾆 - -꾇 -꾇 -꾇 -꾇 -꾇 - -꾈 -꾈 -꾈 -꾈 -꾈 - -꾉 -꾉 -꾉 -꾉 -꾉 - -꾊 -꾊 -꾊 -꾊 -꾊 - -꾋 -꾋 -꾋 -꾋 -꾋 - -꾌 -꾌 -꾌 -꾌 -꾌 - -꾍 -꾍 -꾍 -꾍 -꾍 - -꾎 -꾎 -꾎 -꾎 -꾎 - -꾏 -꾏 -꾏 -꾏 -꾏 - -꾐 -꾐 -꾐 -꾐 -꾐 - -꾑 -꾑 -꾑 -꾑 -꾑 - -꾒 -꾒 -꾒 -꾒 -꾒 - -꾓 -꾓 -꾓 -꾓 -꾓 - -꾔 -꾔 -꾔 -꾔 -꾔 - -꾕 -꾕 -꾕 -꾕 -꾕 - -꾖 -꾖 -꾖 -꾖 -꾖 - -꾗 -꾗 -꾗 -꾗 -꾗 - -꾘 -꾘 -꾘 -꾘 -꾘 - -꾙 -꾙 -꾙 -꾙 -꾙 - -꾚 -꾚 -꾚 -꾚 -꾚 - -꾛 -꾛 -꾛 -꾛 -꾛 - -꾜 -꾜 -꾜 -꾜 -꾜 - -꾝 -꾝 -꾝 -꾝 -꾝 - -꾞 -꾞 -꾞 -꾞 -꾞 - -꾟 -꾟 -꾟 -꾟 -꾟 - -꾠 -꾠 -꾠 -꾠 -꾠 - -꾡 -꾡 -꾡 -꾡 -꾡 - -꾢 -꾢 -꾢 -꾢 -꾢 - -꾣 -꾣 -꾣 -꾣 -꾣 - -꾤 -꾤 -꾤 -꾤 -꾤 - -꾥 -꾥 -꾥 -꾥 -꾥 - -꾦 -꾦 -꾦 -꾦 -꾦 - -꾧 -꾧 -꾧 -꾧 -꾧 - -꾨 -꾨 -꾨 -꾨 -꾨 - -꾩 -꾩 -꾩 -꾩 -꾩 - -꾪 -꾪 -꾪 -꾪 -꾪 - -꾫 -꾫 -꾫 -꾫 -꾫 - -꾬 -꾬 -꾬 -꾬 -꾬 - -꾭 -꾭 -꾭 -꾭 -꾭 - -꾮 -꾮 -꾮 -꾮 -꾮 - -꾯 -꾯 -꾯 -꾯 -꾯 - -꾰 -꾰 -꾰 -꾰 -꾰 - -꾱 -꾱 -꾱 -꾱 -꾱 - -꾲 -꾲 -꾲 -꾲 -꾲 - -꾳 -꾳 -꾳 -꾳 -꾳 - -꾴 -꾴 -꾴 -꾴 -꾴 - -꾵 -꾵 -꾵 -꾵 -꾵 - -꾶 -꾶 -꾶 -꾶 -꾶 - -꾷 -꾷 -꾷 -꾷 -꾷 - -꾸 -꾸 -꾸 -꾸 -꾸 - -꾹 -꾹 -꾹 -꾹 -꾹 - -꾺 -꾺 -꾺 -꾺 -꾺 - -꾻 -꾻 -꾻 -꾻 -꾻 - -꾼 -꾼 -꾼 -꾼 -꾼 - -꾽 -꾽 -꾽 -꾽 -꾽 - -꾾 -꾾 -꾾 -꾾 -꾾 - -꾿 -꾿 -꾿 -꾿 -꾿 - -꿀 -꿀 -꿀 -꿀 -꿀 - -꿁 -꿁 -꿁 -꿁 -꿁 - -꿂 -꿂 -꿂 -꿂 -꿂 - -꿃 -꿃 -꿃 -꿃 -꿃 - -꿄 -꿄 -꿄 -꿄 -꿄 - -꿅 -꿅 -꿅 -꿅 -꿅 - -꿆 -꿆 -꿆 -꿆 -꿆 - -꿇 -꿇 -꿇 -꿇 -꿇 - -꿈 -꿈 -꿈 -꿈 -꿈 - -꿉 -꿉 -꿉 -꿉 -꿉 - -꿊 -꿊 -꿊 -꿊 -꿊 - -꿋 -꿋 -꿋 -꿋 -꿋 - -꿌 -꿌 -꿌 -꿌 -꿌 - -꿍 -꿍 -꿍 -꿍 -꿍 - -꿎 -꿎 -꿎 -꿎 -꿎 - -꿏 -꿏 -꿏 -꿏 -꿏 - -꿐 -꿐 -꿐 -꿐 -꿐 - -꿑 -꿑 -꿑 -꿑 -꿑 - -꿒 -꿒 -꿒 -꿒 -꿒 - -꿓 -꿓 -꿓 -꿓 -꿓 - -꿔 -꿔 -꿔 -꿔 -꿔 - -꿕 -꿕 -꿕 -꿕 -꿕 - -꿖 -꿖 -꿖 -꿖 -꿖 - -꿗 -꿗 -꿗 -꿗 -꿗 - -꿘 -꿘 -꿘 -꿘 -꿘 - -꿙 -꿙 -꿙 -꿙 -꿙 - -꿚 -꿚 -꿚 -꿚 -꿚 - -꿛 -꿛 -꿛 -꿛 -꿛 - -꿜 -꿜 -꿜 -꿜 -꿜 - -꿝 -꿝 -꿝 -꿝 -꿝 - -꿞 -꿞 -꿞 -꿞 -꿞 - -꿟 -꿟 -꿟 -꿟 -꿟 - -꿠 -꿠 -꿠 -꿠 -꿠 - -꿡 -꿡 -꿡 -꿡 -꿡 - -꿢 -꿢 -꿢 -꿢 -꿢 - -꿣 -꿣 -꿣 -꿣 -꿣 - -꿤 -꿤 -꿤 -꿤 -꿤 - -꿥 -꿥 -꿥 -꿥 -꿥 - -꿦 -꿦 -꿦 -꿦 -꿦 - -꿧 -꿧 -꿧 -꿧 -꿧 - -꿨 -꿨 -꿨 -꿨 -꿨 - -꿩 -꿩 -꿩 -꿩 -꿩 - -꿪 -꿪 -꿪 -꿪 -꿪 - -꿫 -꿫 -꿫 -꿫 -꿫 - -꿬 -꿬 -꿬 -꿬 -꿬 - -꿭 -꿭 -꿭 -꿭 -꿭 - -꿮 -꿮 -꿮 -꿮 -꿮 - -꿯 -꿯 -꿯 -꿯 -꿯 - -꿰 -꿰 -꿰 -꿰 -꿰 - -꿱 -꿱 -꿱 -꿱 -꿱 - -꿲 -꿲 -꿲 -꿲 -꿲 - -꿳 -꿳 -꿳 -꿳 -꿳 - -꿴 -꿴 -꿴 -꿴 -꿴 - -꿵 -꿵 -꿵 -꿵 -꿵 - -꿶 -꿶 -꿶 -꿶 -꿶 - -꿷 -꿷 -꿷 -꿷 -꿷 - -꿸 -꿸 -꿸 -꿸 -꿸 - -꿹 -꿹 -꿹 -꿹 -꿹 - -꿺 -꿺 -꿺 -꿺 -꿺 - -꿻 -꿻 -꿻 -꿻 -꿻 - -꿼 -꿼 -꿼 -꿼 -꿼 - -꿽 -꿽 -꿽 -꿽 -꿽 - -꿾 -꿾 -꿾 -꿾 -꿾 - -꿿 -꿿 -꿿 -꿿 -꿿 - -뀀 -뀀 -뀀 -뀀 -뀀 - -뀁 -뀁 -뀁 -뀁 -뀁 - -뀂 -뀂 -뀂 -뀂 -뀂 - -뀃 -뀃 -뀃 -뀃 -뀃 - -뀄 -뀄 -뀄 -뀄 -뀄 - -뀅 -뀅 -뀅 -뀅 -뀅 - -뀆 -뀆 -뀆 -뀆 -뀆 - -뀇 -뀇 -뀇 -뀇 -뀇 - -뀈 -뀈 -뀈 -뀈 -뀈 - -뀉 -뀉 -뀉 -뀉 -뀉 - -뀊 -뀊 -뀊 -뀊 -뀊 - -뀋 -뀋 -뀋 -뀋 -뀋 - -뀌 -뀌 -뀌 -뀌 -뀌 - -뀍 -뀍 -뀍 -뀍 -뀍 - -뀎 -뀎 -뀎 -뀎 -뀎 - -뀏 -뀏 -뀏 -뀏 -뀏 - -뀐 -뀐 -뀐 -뀐 -뀐 - -뀑 -뀑 -뀑 -뀑 -뀑 - -뀒 -뀒 -뀒 -뀒 -뀒 - -뀓 -뀓 -뀓 -뀓 -뀓 - -뀔 -뀔 -뀔 -뀔 -뀔 - -뀕 -뀕 -뀕 -뀕 -뀕 - -뀖 -뀖 -뀖 -뀖 -뀖 - -뀗 -뀗 -뀗 -뀗 -뀗 - -뀘 -뀘 -뀘 -뀘 -뀘 - -뀙 -뀙 -뀙 -뀙 -뀙 - -뀚 -뀚 -뀚 -뀚 -뀚 - -뀛 -뀛 -뀛 -뀛 -뀛 - -뀜 -뀜 -뀜 -뀜 -뀜 - -뀝 -뀝 -뀝 -뀝 -뀝 - -뀞 -뀞 -뀞 -뀞 -뀞 - -뀟 -뀟 -뀟 -뀟 -뀟 - -뀠 -뀠 -뀠 -뀠 -뀠 - -뀡 -뀡 -뀡 -뀡 -뀡 - -뀢 -뀢 -뀢 -뀢 -뀢 - -뀣 -뀣 -뀣 -뀣 -뀣 - -뀤 -뀤 -뀤 -뀤 -뀤 - -뀥 -뀥 -뀥 -뀥 -뀥 - -뀦 -뀦 -뀦 -뀦 -뀦 - -뀧 -뀧 -뀧 -뀧 -뀧 - -뀨 -뀨 -뀨 -뀨 -뀨 - -뀩 -뀩 -뀩 -뀩 -뀩 - -뀪 -뀪 -뀪 -뀪 -뀪 - -뀫 -뀫 -뀫 -뀫 -뀫 - -뀬 -뀬 -뀬 -뀬 -뀬 - -뀭 -뀭 -뀭 -뀭 -뀭 - -뀮 -뀮 -뀮 -뀮 -뀮 - -뀯 -뀯 -뀯 -뀯 -뀯 - -뀰 -뀰 -뀰 -뀰 -뀰 - -뀱 -뀱 -뀱 -뀱 -뀱 - -뀲 -뀲 -뀲 -뀲 -뀲 - -뀳 -뀳 -뀳 -뀳 -뀳 - -뀴 -뀴 -뀴 -뀴 -뀴 - -뀵 -뀵 -뀵 -뀵 -뀵 - -뀶 -뀶 -뀶 -뀶 -뀶 - -뀷 -뀷 -뀷 -뀷 -뀷 - -뀸 -뀸 -뀸 -뀸 -뀸 - -뀹 -뀹 -뀹 -뀹 -뀹 - -뀺 -뀺 -뀺 -뀺 -뀺 - -뀻 -뀻 -뀻 -뀻 -뀻 - -뀼 -뀼 -뀼 -뀼 -뀼 - -뀽 -뀽 -뀽 -뀽 -뀽 - -뀾 -뀾 -뀾 -뀾 -뀾 - -뀿 -뀿 -뀿 -뀿 -뀿 - -끀 -끀 -끀 -끀 -끀 - -끁 -끁 -끁 -끁 -끁 - -끂 -끂 -끂 -끂 -끂 - -끃 -끃 -끃 -끃 -끃 - -끄 -끄 -끄 -끄 -끄 - -끅 -끅 -끅 -끅 -끅 - -끆 -끆 -끆 -끆 -끆 - -끇 -끇 -끇 -끇 -끇 - -끈 -끈 -끈 -끈 -끈 - -끉 -끉 -끉 -끉 -끉 - -끊 -끊 -끊 -끊 -끊 - -끋 -끋 -끋 -끋 -끋 - -끌 -끌 -끌 -끌 -끌 - -끍 -끍 -끍 -끍 -끍 - -끎 -끎 -끎 -끎 -끎 - -끏 -끏 -끏 -끏 -끏 - -끐 -끐 -끐 -끐 -끐 - -끑 -끑 -끑 -끑 -끑 - -끒 -끒 -끒 -끒 -끒 - -끓 -끓 -끓 -끓 -끓 - -끔 -끔 -끔 -끔 -끔 - -끕 -끕 -끕 -끕 -끕 - -끖 -끖 -끖 -끖 -끖 - -끗 -끗 -끗 -끗 -끗 - -끘 -끘 -끘 -끘 -끘 - -끙 -끙 -끙 -끙 -끙 - -끚 -끚 -끚 -끚 -끚 - -끛 -끛 -끛 -끛 -끛 - -끜 -끜 -끜 -끜 -끜 - -끝 -끝 -끝 -끝 -끝 - -끞 -끞 -끞 -끞 -끞 - -끟 -끟 -끟 -끟 -끟 - -끠 -끠 -끠 -끠 -끠 - -끡 -끡 -끡 -끡 -끡 - -끢 -끢 -끢 -끢 -끢 - -끣 -끣 -끣 -끣 -끣 - -끤 -끤 -끤 -끤 -끤 - -끥 -끥 -끥 -끥 -끥 - -끦 -끦 -끦 -끦 -끦 - -끧 -끧 -끧 -끧 -끧 - -끨 -끨 -끨 -끨 -끨 - -끩 -끩 -끩 -끩 -끩 - -끪 -끪 -끪 -끪 -끪 - -끫 -끫 -끫 -끫 -끫 - -끬 -끬 -끬 -끬 -끬 - -끭 -끭 -끭 -끭 -끭 - -끮 -끮 -끮 -끮 -끮 - -끯 -끯 -끯 -끯 -끯 - -끰 -끰 -끰 -끰 -끰 - -끱 -끱 -끱 -끱 -끱 - -끲 -끲 -끲 -끲 -끲 - -끳 -끳 -끳 -끳 -끳 - -끴 -끴 -끴 -끴 -끴 - -끵 -끵 -끵 -끵 -끵 - -끶 -끶 -끶 -끶 -끶 - -끷 -끷 -끷 -끷 -끷 - -끸 -끸 -끸 -끸 -끸 - -끹 -끹 -끹 -끹 -끹 - -끺 -끺 -끺 -끺 -끺 - -끻 -끻 -끻 -끻 -끻 - -끼 -끼 -끼 -끼 -끼 - -끽 -끽 -끽 -끽 -끽 - -끾 -끾 -끾 -끾 -끾 - -끿 -끿 -끿 -끿 -끿 - -낀 -낀 -낀 -낀 -낀 - -낁 -낁 -낁 -낁 -낁 - -낂 -낂 -낂 -낂 -낂 - -낃 -낃 -낃 -낃 -낃 - -낄 -낄 -낄 -낄 -낄 - -낅 -낅 -낅 -낅 -낅 - -낆 -낆 -낆 -낆 -낆 - -낇 -낇 -낇 -낇 -낇 - -낈 -낈 -낈 -낈 -낈 - -낉 -낉 -낉 -낉 -낉 - -낊 -낊 -낊 -낊 -낊 - -낋 -낋 -낋 -낋 -낋 - -낌 -낌 -낌 -낌 -낌 - -낍 -낍 -낍 -낍 -낍 - -낎 -낎 -낎 -낎 -낎 - -낏 -낏 -낏 -낏 -낏 - -낐 -낐 -낐 -낐 -낐 - -낑 -낑 -낑 -낑 -낑 - -낒 -낒 -낒 -낒 -낒 - -낓 -낓 -낓 -낓 -낓 - -낔 -낔 -낔 -낔 -낔 - -낕 -낕 -낕 -낕 -낕 - -낖 -낖 -낖 -낖 -낖 - -낗 -낗 -낗 -낗 -낗 - -나 -나 -나 -나 -나 - -낙 -낙 -낙 -낙 -낙 - -낚 -낚 -낚 -낚 -낚 - -낛 -낛 -낛 -낛 -낛 - -난 -난 -난 -난 -난 - -낝 -낝 -낝 -낝 -낝 - -낞 -낞 -낞 -낞 -낞 - -낟 -낟 -낟 -낟 -낟 - -날 -날 -날 -날 -날 - -낡 -낡 -낡 -낡 -낡 - -낢 -낢 -낢 -낢 -낢 - -낣 -낣 -낣 -낣 -낣 - -낤 -낤 -낤 -낤 -낤 - -낥 -낥 -낥 -낥 -낥 - -낦 -낦 -낦 -낦 -낦 - -낧 -낧 -낧 -낧 -낧 - -남 -남 -남 -남 -남 - -납 -납 -납 -납 -납 - -낪 -낪 -낪 -낪 -낪 - -낫 -낫 -낫 -낫 -낫 - -났 -났 -났 -났 -났 - -낭 -낭 -낭 -낭 -낭 - -낮 -낮 -낮 -낮 -낮 - -낯 -낯 -낯 -낯 -낯 - -낰 -낰 -낰 -낰 -낰 - -낱 -낱 -낱 -낱 -낱 - -낲 -낲 -낲 -낲 -낲 - -낳 -낳 -낳 -낳 -낳 - -내 -내 -내 -내 -내 - -낵 -낵 -낵 -낵 -낵 - -낶 -낶 -낶 -낶 -낶 - -낷 -낷 -낷 -낷 -낷 - -낸 -낸 -낸 -낸 -낸 - -낹 -낹 -낹 -낹 -낹 - -낺 -낺 -낺 -낺 -낺 - -낻 -낻 -낻 -낻 -낻 - -낼 -낼 -낼 -낼 -낼 - -낽 -낽 -낽 -낽 -낽 - -낾 -낾 -낾 -낾 -낾 - -낿 -낿 -낿 -낿 -낿 - -냀 -냀 -냀 -냀 -냀 - -냁 -냁 -냁 -냁 -냁 - -냂 -냂 -냂 -냂 -냂 - -냃 -냃 -냃 -냃 -냃 - -냄 -냄 -냄 -냄 -냄 - -냅 -냅 -냅 -냅 -냅 - -냆 -냆 -냆 -냆 -냆 - -냇 -냇 -냇 -냇 -냇 - -냈 -냈 -냈 -냈 -냈 - -냉 -냉 -냉 -냉 -냉 - -냊 -냊 -냊 -냊 -냊 - -냋 -냋 -냋 -냋 -냋 - -냌 -냌 -냌 -냌 -냌 - -냍 -냍 -냍 -냍 -냍 - -냎 -냎 -냎 -냎 -냎 - -냏 -냏 -냏 -냏 -냏 - -냐 -냐 -냐 -냐 -냐 - -냑 -냑 -냑 -냑 -냑 - -냒 -냒 -냒 -냒 -냒 - -냓 -냓 -냓 -냓 -냓 - -냔 -냔 -냔 -냔 -냔 - -냕 -냕 -냕 -냕 -냕 - -냖 -냖 -냖 -냖 -냖 - -냗 -냗 -냗 -냗 -냗 - -냘 -냘 -냘 -냘 -냘 - -냙 -냙 -냙 -냙 -냙 - -냚 -냚 -냚 -냚 -냚 - -냛 -냛 -냛 -냛 -냛 - -냜 -냜 -냜 -냜 -냜 - -냝 -냝 -냝 -냝 -냝 - -냞 -냞 -냞 -냞 -냞 - -냟 -냟 -냟 -냟 -냟 - -냠 -냠 -냠 -냠 -냠 - -냡 -냡 -냡 -냡 -냡 - -냢 -냢 -냢 -냢 -냢 - -냣 -냣 -냣 -냣 -냣 - -냤 -냤 -냤 -냤 -냤 - -냥 -냥 -냥 -냥 -냥 - -냦 -냦 -냦 -냦 -냦 - -냧 -냧 -냧 -냧 -냧 - -냨 -냨 -냨 -냨 -냨 - -냩 -냩 -냩 -냩 -냩 - -냪 -냪 -냪 -냪 -냪 - -냫 -냫 -냫 -냫 -냫 - -냬 -냬 -냬 -냬 -냬 - -냭 -냭 -냭 -냭 -냭 - -냮 -냮 -냮 -냮 -냮 - -냯 -냯 -냯 -냯 -냯 - -냰 -냰 -냰 -냰 -냰 - -냱 -냱 -냱 -냱 -냱 - -냲 -냲 -냲 -냲 -냲 - -냳 -냳 -냳 -냳 -냳 - -냴 -냴 -냴 -냴 -냴 - -냵 -냵 -냵 -냵 -냵 - -냶 -냶 -냶 -냶 -냶 - -냷 -냷 -냷 -냷 -냷 - -냸 -냸 -냸 -냸 -냸 - -냹 -냹 -냹 -냹 -냹 - -냺 -냺 -냺 -냺 -냺 - -냻 -냻 -냻 -냻 -냻 - -냼 -냼 -냼 -냼 -냼 - -냽 -냽 -냽 -냽 -냽 - -냾 -냾 -냾 -냾 -냾 - -냿 -냿 -냿 -냿 -냿 - -넀 -넀 -넀 -넀 -넀 - -넁 -넁 -넁 -넁 -넁 - -넂 -넂 -넂 -넂 -넂 - -넃 -넃 -넃 -넃 -넃 - -넄 -넄 -넄 -넄 -넄 - -넅 -넅 -넅 -넅 -넅 - -넆 -넆 -넆 -넆 -넆 - -넇 -넇 -넇 -넇 -넇 - -너 -너 -너 -너 -너 - -넉 -넉 -넉 -넉 -넉 - -넊 -넊 -넊 -넊 -넊 - -넋 -넋 -넋 -넋 -넋 - -넌 -넌 -넌 -넌 -넌 - -넍 -넍 -넍 -넍 -넍 - -넎 -넎 -넎 -넎 -넎 - -넏 -넏 -넏 -넏 -넏 - -널 -널 -널 -널 -널 - -넑 -넑 -넑 -넑 -넑 - -넒 -넒 -넒 -넒 -넒 - -넓 -넓 -넓 -넓 -넓 - -넔 -넔 -넔 -넔 -넔 - -넕 -넕 -넕 -넕 -넕 - -넖 -넖 -넖 -넖 -넖 - -넗 -넗 -넗 -넗 -넗 - -넘 -넘 -넘 -넘 -넘 - -넙 -넙 -넙 -넙 -넙 - -넚 -넚 -넚 -넚 -넚 - -넛 -넛 -넛 -넛 -넛 - -넜 -넜 -넜 -넜 -넜 - -넝 -넝 -넝 -넝 -넝 - -넞 -넞 -넞 -넞 -넞 - -넟 -넟 -넟 -넟 -넟 - -넠 -넠 -넠 -넠 -넠 - -넡 -넡 -넡 -넡 -넡 - -넢 -넢 -넢 -넢 -넢 - -넣 -넣 -넣 -넣 -넣 - -네 -네 -네 -네 -네 - -넥 -넥 -넥 -넥 -넥 - -넦 -넦 -넦 -넦 -넦 - -넧 -넧 -넧 -넧 -넧 - -넨 -넨 -넨 -넨 -넨 - -넩 -넩 -넩 -넩 -넩 - -넪 -넪 -넪 -넪 -넪 - -넫 -넫 -넫 -넫 -넫 - -넬 -넬 -넬 -넬 -넬 - -넭 -넭 -넭 -넭 -넭 - -넮 -넮 -넮 -넮 -넮 - -넯 -넯 -넯 -넯 -넯 - -넰 -넰 -넰 -넰 -넰 - -넱 -넱 -넱 -넱 -넱 - -넲 -넲 -넲 -넲 -넲 - -넳 -넳 -넳 -넳 -넳 - -넴 -넴 -넴 -넴 -넴 - -넵 -넵 -넵 -넵 -넵 - -넶 -넶 -넶 -넶 -넶 - -넷 -넷 -넷 -넷 -넷 - -넸 -넸 -넸 -넸 -넸 - -넹 -넹 -넹 -넹 -넹 - -넺 -넺 -넺 -넺 -넺 - -넻 -넻 -넻 -넻 -넻 - -넼 -넼 -넼 -넼 -넼 - -넽 -넽 -넽 -넽 -넽 - -넾 -넾 -넾 -넾 -넾 - -넿 -넿 -넿 -넿 -넿 - -녀 -녀 -녀 -녀 -녀 - -녁 -녁 -녁 -녁 -녁 - -녂 -녂 -녂 -녂 -녂 - -녃 -녃 -녃 -녃 -녃 - -년 -년 -년 -년 -년 - -녅 -녅 -녅 -녅 -녅 - -녆 -녆 -녆 -녆 -녆 - -녇 -녇 -녇 -녇 -녇 - -녈 -녈 -녈 -녈 -녈 - -녉 -녉 -녉 -녉 -녉 - -녊 -녊 -녊 -녊 -녊 - -녋 -녋 -녋 -녋 -녋 - -녌 -녌 -녌 -녌 -녌 - -녍 -녍 -녍 -녍 -녍 - -녎 -녎 -녎 -녎 -녎 - -녏 -녏 -녏 -녏 -녏 - -념 -념 -념 -념 -념 - -녑 -녑 -녑 -녑 -녑 - -녒 -녒 -녒 -녒 -녒 - -녓 -녓 -녓 -녓 -녓 - -녔 -녔 -녔 -녔 -녔 - -녕 -녕 -녕 -녕 -녕 - -녖 -녖 -녖 -녖 -녖 - -녗 -녗 -녗 -녗 -녗 - -녘 -녘 -녘 -녘 -녘 - -녙 -녙 -녙 -녙 -녙 - -녚 -녚 -녚 -녚 -녚 - -녛 -녛 -녛 -녛 -녛 - -녜 -녜 -녜 -녜 -녜 - -녝 -녝 -녝 -녝 -녝 - -녞 -녞 -녞 -녞 -녞 - -녟 -녟 -녟 -녟 -녟 - -녠 -녠 -녠 -녠 -녠 - -녡 -녡 -녡 -녡 -녡 - -녢 -녢 -녢 -녢 -녢 - -녣 -녣 -녣 -녣 -녣 - -녤 -녤 -녤 -녤 -녤 - -녥 -녥 -녥 -녥 -녥 - -녦 -녦 -녦 -녦 -녦 - -녧 -녧 -녧 -녧 -녧 - -녨 -녨 -녨 -녨 -녨 - -녩 -녩 -녩 -녩 -녩 - -녪 -녪 -녪 -녪 -녪 - -녫 -녫 -녫 -녫 -녫 - -녬 -녬 -녬 -녬 -녬 - -녭 -녭 -녭 -녭 -녭 - -녮 -녮 -녮 -녮 -녮 - -녯 -녯 -녯 -녯 -녯 - -녰 -녰 -녰 -녰 -녰 - -녱 -녱 -녱 -녱 -녱 - -녲 -녲 -녲 -녲 -녲 - -녳 -녳 -녳 -녳 -녳 - -녴 -녴 -녴 -녴 -녴 - -녵 -녵 -녵 -녵 -녵 - -녶 -녶 -녶 -녶 -녶 - -녷 -녷 -녷 -녷 -녷 - -노 -노 -노 -노 -노 - -녹 -녹 -녹 -녹 -녹 - -녺 -녺 -녺 -녺 -녺 - -녻 -녻 -녻 -녻 -녻 - -논 -논 -논 -논 -논 - -녽 -녽 -녽 -녽 -녽 - -녾 -녾 -녾 -녾 -녾 - -녿 -녿 -녿 -녿 -녿 - -놀 -놀 -놀 -놀 -놀 - -놁 -놁 -놁 -놁 -놁 - -놂 -놂 -놂 -놂 -놂 - -놃 -놃 -놃 -놃 -놃 - -놄 -놄 -놄 -놄 -놄 - -놅 -놅 -놅 -놅 -놅 - -놆 -놆 -놆 -놆 -놆 - -놇 -놇 -놇 -놇 -놇 - -놈 -놈 -놈 -놈 -놈 - -놉 -놉 -놉 -놉 -놉 - -놊 -놊 -놊 -놊 -놊 - -놋 -놋 -놋 -놋 -놋 - -놌 -놌 -놌 -놌 -놌 - -농 -농 -농 -농 -농 - -놎 -놎 -놎 -놎 -놎 - -놏 -놏 -놏 -놏 -놏 - -놐 -놐 -놐 -놐 -놐 - -놑 -놑 -놑 -놑 -놑 - -높 -높 -높 -높 -높 - -놓 -놓 -놓 -놓 -놓 - -놔 -놔 -놔 -놔 -놔 - -놕 -놕 -놕 -놕 -놕 - -놖 -놖 -놖 -놖 -놖 - -놗 -놗 -놗 -놗 -놗 - -놘 -놘 -놘 -놘 -놘 - -놙 -놙 -놙 -놙 -놙 - -놚 -놚 -놚 -놚 -놚 - -놛 -놛 -놛 -놛 -놛 - -놜 -놜 -놜 -놜 -놜 - -놝 -놝 -놝 -놝 -놝 - -놞 -놞 -놞 -놞 -놞 - -놟 -놟 -놟 -놟 -놟 - -놠 -놠 -놠 -놠 -놠 - -놡 -놡 -놡 -놡 -놡 - -놢 -놢 -놢 -놢 -놢 - -놣 -놣 -놣 -놣 -놣 - -놤 -놤 -놤 -놤 -놤 - -놥 -놥 -놥 -놥 -놥 - -놦 -놦 -놦 -놦 -놦 - -놧 -놧 -놧 -놧 -놧 - -놨 -놨 -놨 -놨 -놨 - -놩 -놩 -놩 -놩 -놩 - -놪 -놪 -놪 -놪 -놪 - -놫 -놫 -놫 -놫 -놫 - -놬 -놬 -놬 -놬 -놬 - -놭 -놭 -놭 -놭 -놭 - -놮 -놮 -놮 -놮 -놮 - -놯 -놯 -놯 -놯 -놯 - -놰 -놰 -놰 -놰 -놰 - -놱 -놱 -놱 -놱 -놱 - -놲 -놲 -놲 -놲 -놲 - -놳 -놳 -놳 -놳 -놳 - -놴 -놴 -놴 -놴 -놴 - -놵 -놵 -놵 -놵 -놵 - -놶 -놶 -놶 -놶 -놶 - -놷 -놷 -놷 -놷 -놷 - -놸 -놸 -놸 -놸 -놸 - -놹 -놹 -놹 -놹 -놹 - -놺 -놺 -놺 -놺 -놺 - -놻 -놻 -놻 -놻 -놻 - -놼 -놼 -놼 -놼 -놼 - -놽 -놽 -놽 -놽 -놽 - -놾 -놾 -놾 -놾 -놾 - -놿 -놿 -놿 -놿 -놿 - -뇀 -뇀 -뇀 -뇀 -뇀 - -뇁 -뇁 -뇁 -뇁 -뇁 - -뇂 -뇂 -뇂 -뇂 -뇂 - -뇃 -뇃 -뇃 -뇃 -뇃 - -뇄 -뇄 -뇄 -뇄 -뇄 - -뇅 -뇅 -뇅 -뇅 -뇅 - -뇆 -뇆 -뇆 -뇆 -뇆 - -뇇 -뇇 -뇇 -뇇 -뇇 - -뇈 -뇈 -뇈 -뇈 -뇈 - -뇉 -뇉 -뇉 -뇉 -뇉 - -뇊 -뇊 -뇊 -뇊 -뇊 - -뇋 -뇋 -뇋 -뇋 -뇋 - -뇌 -뇌 -뇌 -뇌 -뇌 - -뇍 -뇍 -뇍 -뇍 -뇍 - -뇎 -뇎 -뇎 -뇎 -뇎 - -뇏 -뇏 -뇏 -뇏 -뇏 - -뇐 -뇐 -뇐 -뇐 -뇐 - -뇑 -뇑 -뇑 -뇑 -뇑 - -뇒 -뇒 -뇒 -뇒 -뇒 - -뇓 -뇓 -뇓 -뇓 -뇓 - -뇔 -뇔 -뇔 -뇔 -뇔 - -뇕 -뇕 -뇕 -뇕 -뇕 - -뇖 -뇖 -뇖 -뇖 -뇖 - -뇗 -뇗 -뇗 -뇗 -뇗 - -뇘 -뇘 -뇘 -뇘 -뇘 - -뇙 -뇙 -뇙 -뇙 -뇙 - -뇚 -뇚 -뇚 -뇚 -뇚 - -뇛 -뇛 -뇛 -뇛 -뇛 - -뇜 -뇜 -뇜 -뇜 -뇜 - -뇝 -뇝 -뇝 -뇝 -뇝 - -뇞 -뇞 -뇞 -뇞 -뇞 - -뇟 -뇟 -뇟 -뇟 -뇟 - -뇠 -뇠 -뇠 -뇠 -뇠 - -뇡 -뇡 -뇡 -뇡 -뇡 - -뇢 -뇢 -뇢 -뇢 -뇢 - -뇣 -뇣 -뇣 -뇣 -뇣 - -뇤 -뇤 -뇤 -뇤 -뇤 - -뇥 -뇥 -뇥 -뇥 -뇥 - -뇦 -뇦 -뇦 -뇦 -뇦 - -뇧 -뇧 -뇧 -뇧 -뇧 - -뇨 -뇨 -뇨 -뇨 -뇨 - -뇩 -뇩 -뇩 -뇩 -뇩 - -뇪 -뇪 -뇪 -뇪 -뇪 - -뇫 -뇫 -뇫 -뇫 -뇫 - -뇬 -뇬 -뇬 -뇬 -뇬 - -뇭 -뇭 -뇭 -뇭 -뇭 - -뇮 -뇮 -뇮 -뇮 -뇮 - -뇯 -뇯 -뇯 -뇯 -뇯 - -뇰 -뇰 -뇰 -뇰 -뇰 - -뇱 -뇱 -뇱 -뇱 -뇱 - -뇲 -뇲 -뇲 -뇲 -뇲 - -뇳 -뇳 -뇳 -뇳 -뇳 - -뇴 -뇴 -뇴 -뇴 -뇴 - -뇵 -뇵 -뇵 -뇵 -뇵 - -뇶 -뇶 -뇶 -뇶 -뇶 - -뇷 -뇷 -뇷 -뇷 -뇷 - -뇸 -뇸 -뇸 -뇸 -뇸 - -뇹 -뇹 -뇹 -뇹 -뇹 - -뇺 -뇺 -뇺 -뇺 -뇺 - -뇻 -뇻 -뇻 -뇻 -뇻 - -뇼 -뇼 -뇼 -뇼 -뇼 - -뇽 -뇽 -뇽 -뇽 -뇽 - -뇾 -뇾 -뇾 -뇾 -뇾 - -뇿 -뇿 -뇿 -뇿 -뇿 - -눀 -눀 -눀 -눀 -눀 - -눁 -눁 -눁 -눁 -눁 - -눂 -눂 -눂 -눂 -눂 - -눃 -눃 -눃 -눃 -눃 - -누 -누 -누 -누 -누 - -눅 -눅 -눅 -눅 -눅 - -눆 -눆 -눆 -눆 -눆 - -눇 -눇 -눇 -눇 -눇 - -눈 -눈 -눈 -눈 -눈 - -눉 -눉 -눉 -눉 -눉 - -눊 -눊 -눊 -눊 -눊 - -눋 -눋 -눋 -눋 -눋 - -눌 -눌 -눌 -눌 -눌 - -눍 -눍 -눍 -눍 -눍 - -눎 -눎 -눎 -눎 -눎 - -눏 -눏 -눏 -눏 -눏 - -눐 -눐 -눐 -눐 -눐 - -눑 -눑 -눑 -눑 -눑 - -눒 -눒 -눒 -눒 -눒 - -눓 -눓 -눓 -눓 -눓 - -눔 -눔 -눔 -눔 -눔 - -눕 -눕 -눕 -눕 -눕 - -눖 -눖 -눖 -눖 -눖 - -눗 -눗 -눗 -눗 -눗 - -눘 -눘 -눘 -눘 -눘 - -눙 -눙 -눙 -눙 -눙 - -눚 -눚 -눚 -눚 -눚 - -눛 -눛 -눛 -눛 -눛 - -눜 -눜 -눜 -눜 -눜 - -눝 -눝 -눝 -눝 -눝 - -눞 -눞 -눞 -눞 -눞 - -눟 -눟 -눟 -눟 -눟 - -눠 -눠 -눠 -눠 -눠 - -눡 -눡 -눡 -눡 -눡 - -눢 -눢 -눢 -눢 -눢 - -눣 -눣 -눣 -눣 -눣 - -눤 -눤 -눤 -눤 -눤 - -눥 -눥 -눥 -눥 -눥 - -눦 -눦 -눦 -눦 -눦 - -눧 -눧 -눧 -눧 -눧 - -눨 -눨 -눨 -눨 -눨 - -눩 -눩 -눩 -눩 -눩 - -눪 -눪 -눪 -눪 -눪 - -눫 -눫 -눫 -눫 -눫 - -눬 -눬 -눬 -눬 -눬 - -눭 -눭 -눭 -눭 -눭 - -눮 -눮 -눮 -눮 -눮 - -눯 -눯 -눯 -눯 -눯 - -눰 -눰 -눰 -눰 -눰 - -눱 -눱 -눱 -눱 -눱 - -눲 -눲 -눲 -눲 -눲 - -눳 -눳 -눳 -눳 -눳 - -눴 -눴 -눴 -눴 -눴 - -눵 -눵 -눵 -눵 -눵 - -눶 -눶 -눶 -눶 -눶 - -눷 -눷 -눷 -눷 -눷 - -눸 -눸 -눸 -눸 -눸 - -눹 -눹 -눹 -눹 -눹 - -눺 -눺 -눺 -눺 -눺 - -눻 -눻 -눻 -눻 -눻 - -눼 -눼 -눼 -눼 -눼 - -눽 -눽 -눽 -눽 -눽 - -눾 -눾 -눾 -눾 -눾 - -눿 -눿 -눿 -눿 -눿 - -뉀 -뉀 -뉀 -뉀 -뉀 - -뉁 -뉁 -뉁 -뉁 -뉁 - -뉂 -뉂 -뉂 -뉂 -뉂 - -뉃 -뉃 -뉃 -뉃 -뉃 - -뉄 -뉄 -뉄 -뉄 -뉄 - -뉅 -뉅 -뉅 -뉅 -뉅 - -뉆 -뉆 -뉆 -뉆 -뉆 - -뉇 -뉇 -뉇 -뉇 -뉇 - -뉈 -뉈 -뉈 -뉈 -뉈 - -뉉 -뉉 -뉉 -뉉 -뉉 - -뉊 -뉊 -뉊 -뉊 -뉊 - -뉋 -뉋 -뉋 -뉋 -뉋 - -뉌 -뉌 -뉌 -뉌 -뉌 - -뉍 -뉍 -뉍 -뉍 -뉍 - -뉎 -뉎 -뉎 -뉎 -뉎 - -뉏 -뉏 -뉏 -뉏 -뉏 - -뉐 -뉐 -뉐 -뉐 -뉐 - -뉑 -뉑 -뉑 -뉑 -뉑 - -뉒 -뉒 -뉒 -뉒 -뉒 - -뉓 -뉓 -뉓 -뉓 -뉓 - -뉔 -뉔 -뉔 -뉔 -뉔 - -뉕 -뉕 -뉕 -뉕 -뉕 - -뉖 -뉖 -뉖 -뉖 -뉖 - -뉗 -뉗 -뉗 -뉗 -뉗 - -뉘 -뉘 -뉘 -뉘 -뉘 - -뉙 -뉙 -뉙 -뉙 -뉙 - -뉚 -뉚 -뉚 -뉚 -뉚 - -뉛 -뉛 -뉛 -뉛 -뉛 - -뉜 -뉜 -뉜 -뉜 -뉜 - -뉝 -뉝 -뉝 -뉝 -뉝 - -뉞 -뉞 -뉞 -뉞 -뉞 - -뉟 -뉟 -뉟 -뉟 -뉟 - -뉠 -뉠 -뉠 -뉠 -뉠 - -뉡 -뉡 -뉡 -뉡 -뉡 - -뉢 -뉢 -뉢 -뉢 -뉢 - -뉣 -뉣 -뉣 -뉣 -뉣 - -뉤 -뉤 -뉤 -뉤 -뉤 - -뉥 -뉥 -뉥 -뉥 -뉥 - -뉦 -뉦 -뉦 -뉦 -뉦 - -뉧 -뉧 -뉧 -뉧 -뉧 - -뉨 -뉨 -뉨 -뉨 -뉨 - -뉩 -뉩 -뉩 -뉩 -뉩 - -뉪 -뉪 -뉪 -뉪 -뉪 - -뉫 -뉫 -뉫 -뉫 -뉫 - -뉬 -뉬 -뉬 -뉬 -뉬 - -뉭 -뉭 -뉭 -뉭 -뉭 - -뉮 -뉮 -뉮 -뉮 -뉮 - -뉯 -뉯 -뉯 -뉯 -뉯 - -뉰 -뉰 -뉰 -뉰 -뉰 - -뉱 -뉱 -뉱 -뉱 -뉱 - -뉲 -뉲 -뉲 -뉲 -뉲 - -뉳 -뉳 -뉳 -뉳 -뉳 - -뉴 -뉴 -뉴 -뉴 -뉴 - -뉵 -뉵 -뉵 -뉵 -뉵 - -뉶 -뉶 -뉶 -뉶 -뉶 - -뉷 -뉷 -뉷 -뉷 -뉷 - -뉸 -뉸 -뉸 -뉸 -뉸 - -뉹 -뉹 -뉹 -뉹 -뉹 - -뉺 -뉺 -뉺 -뉺 -뉺 - -뉻 -뉻 -뉻 -뉻 -뉻 - -뉼 -뉼 -뉼 -뉼 -뉼 - -뉽 -뉽 -뉽 -뉽 -뉽 - -뉾 -뉾 -뉾 -뉾 -뉾 - -뉿 -뉿 -뉿 -뉿 -뉿 - -늀 -늀 -늀 -늀 -늀 - -늁 -늁 -늁 -늁 -늁 - -늂 -늂 -늂 -늂 -늂 - -늃 -늃 -늃 -늃 -늃 - -늄 -늄 -늄 -늄 -늄 - -늅 -늅 -늅 -늅 -늅 - -늆 -늆 -늆 -늆 -늆 - -늇 -늇 -늇 -늇 -늇 - -늈 -늈 -늈 -늈 -늈 - -늉 -늉 -늉 -늉 -늉 - -늊 -늊 -늊 -늊 -늊 - -늋 -늋 -늋 -늋 -늋 - -늌 -늌 -늌 -늌 -늌 - -늍 -늍 -늍 -늍 -늍 - -늎 -늎 -늎 -늎 -늎 - -늏 -늏 -늏 -늏 -늏 - -느 -느 -느 -느 -느 - -늑 -늑 -늑 -늑 -늑 - -늒 -늒 -늒 -늒 -늒 - -늓 -늓 -늓 -늓 -늓 - -는 -는 -는 -는 -는 - -늕 -늕 -늕 -늕 -늕 - -늖 -늖 -늖 -늖 -늖 - -늗 -늗 -늗 -늗 -늗 - -늘 -늘 -늘 -늘 -늘 - -늙 -늙 -늙 -늙 -늙 - -늚 -늚 -늚 -늚 -늚 - -늛 -늛 -늛 -늛 -늛 - -늜 -늜 -늜 -늜 -늜 - -늝 -늝 -늝 -늝 -늝 - -늞 -늞 -늞 -늞 -늞 - -늟 -늟 -늟 -늟 -늟 - -늠 -늠 -늠 -늠 -늠 - -늡 -늡 -늡 -늡 -늡 - -늢 -늢 -늢 -늢 -늢 - -늣 -늣 -늣 -늣 -늣 - -늤 -늤 -늤 -늤 -늤 - -능 -능 -능 -능 -능 - -늦 -늦 -늦 -늦 -늦 - -늧 -늧 -늧 -늧 -늧 - -늨 -늨 -늨 -늨 -늨 - -늩 -늩 -늩 -늩 -늩 - -늪 -늪 -늪 -늪 -늪 - -늫 -늫 -늫 -늫 -늫 - -늬 -늬 -늬 -늬 -늬 - -늭 -늭 -늭 -늭 -늭 - -늮 -늮 -늮 -늮 -늮 - -늯 -늯 -늯 -늯 -늯 - -늰 -늰 -늰 -늰 -늰 - -늱 -늱 -늱 -늱 -늱 - -늲 -늲 -늲 -늲 -늲 - -늳 -늳 -늳 -늳 -늳 - -늴 -늴 -늴 -늴 -늴 - -늵 -늵 -늵 -늵 -늵 - -늶 -늶 -늶 -늶 -늶 - -늷 -늷 -늷 -늷 -늷 - -늸 -늸 -늸 -늸 -늸 - -늹 -늹 -늹 -늹 -늹 - -늺 -늺 -늺 -늺 -늺 - -늻 -늻 -늻 -늻 -늻 - -늼 -늼 -늼 -늼 -늼 - -늽 -늽 -늽 -늽 -늽 - -늾 -늾 -늾 -늾 -늾 - -늿 -늿 -늿 -늿 -늿 - -닀 -닀 -닀 -닀 -닀 - -닁 -닁 -닁 -닁 -닁 - -닂 -닂 -닂 -닂 -닂 - -닃 -닃 -닃 -닃 -닃 - -닄 -닄 -닄 -닄 -닄 - -닅 -닅 -닅 -닅 -닅 - -닆 -닆 -닆 -닆 -닆 - -닇 -닇 -닇 -닇 -닇 - -니 -니 -니 -니 -니 - -닉 -닉 -닉 -닉 -닉 - -닊 -닊 -닊 -닊 -닊 - -닋 -닋 -닋 -닋 -닋 - -닌 -닌 -닌 -닌 -닌 - -닍 -닍 -닍 -닍 -닍 - -닎 -닎 -닎 -닎 -닎 - -닏 -닏 -닏 -닏 -닏 - -닐 -닐 -닐 -닐 -닐 - -닑 -닑 -닑 -닑 -닑 - -닒 -닒 -닒 -닒 -닒 - -닓 -닓 -닓 -닓 -닓 - -닔 -닔 -닔 -닔 -닔 - -닕 -닕 -닕 -닕 -닕 - -닖 -닖 -닖 -닖 -닖 - -닗 -닗 -닗 -닗 -닗 - -님 -님 -님 -님 -님 - -닙 -닙 -닙 -닙 -닙 - -닚 -닚 -닚 -닚 -닚 - -닛 -닛 -닛 -닛 -닛 - -닜 -닜 -닜 -닜 -닜 - -닝 -닝 -닝 -닝 -닝 - -닞 -닞 -닞 -닞 -닞 - -닟 -닟 -닟 -닟 -닟 - -닠 -닠 -닠 -닠 -닠 - -닡 -닡 -닡 -닡 -닡 - -닢 -닢 -닢 -닢 -닢 - -닣 -닣 -닣 -닣 -닣 - -다 -다 -다 -다 -다 - -닥 -닥 -닥 -닥 -닥 - -닦 -닦 -닦 -닦 -닦 - -닧 -닧 -닧 -닧 -닧 - -단 -단 -단 -단 -단 - -닩 -닩 -닩 -닩 -닩 - -닪 -닪 -닪 -닪 -닪 - -닫 -닫 -닫 -닫 -닫 - -달 -달 -달 -달 -달 - -닭 -닭 -닭 -닭 -닭 - -닮 -닮 -닮 -닮 -닮 - -닯 -닯 -닯 -닯 -닯 - -닰 -닰 -닰 -닰 -닰 - -닱 -닱 -닱 -닱 -닱 - -닲 -닲 -닲 -닲 -닲 - -닳 -닳 -닳 -닳 -닳 - -담 -담 -담 -담 -담 - -답 -답 -답 -답 -답 - -닶 -닶 -닶 -닶 -닶 - -닷 -닷 -닷 -닷 -닷 - -닸 -닸 -닸 -닸 -닸 - -당 -당 -당 -당 -당 - -닺 -닺 -닺 -닺 -닺 - -닻 -닻 -닻 -닻 -닻 - -닼 -닼 -닼 -닼 -닼 - -닽 -닽 -닽 -닽 -닽 - -닾 -닾 -닾 -닾 -닾 - -닿 -닿 -닿 -닿 -닿 - -대 -대 -대 -대 -대 - -댁 -댁 -댁 -댁 -댁 - -댂 -댂 -댂 -댂 -댂 - -댃 -댃 -댃 -댃 -댃 - -댄 -댄 -댄 -댄 -댄 - -댅 -댅 -댅 -댅 -댅 - -댆 -댆 -댆 -댆 -댆 - -댇 -댇 -댇 -댇 -댇 - -댈 -댈 -댈 -댈 -댈 - -댉 -댉 -댉 -댉 -댉 - -댊 -댊 -댊 -댊 -댊 - -댋 -댋 -댋 -댋 -댋 - -댌 -댌 -댌 -댌 -댌 - -댍 -댍 -댍 -댍 -댍 - -댎 -댎 -댎 -댎 -댎 - -댏 -댏 -댏 -댏 -댏 - -댐 -댐 -댐 -댐 -댐 - -댑 -댑 -댑 -댑 -댑 - -댒 -댒 -댒 -댒 -댒 - -댓 -댓 -댓 -댓 -댓 - -댔 -댔 -댔 -댔 -댔 - -댕 -댕 -댕 -댕 -댕 - -댖 -댖 -댖 -댖 -댖 - -댗 -댗 -댗 -댗 -댗 - -댘 -댘 -댘 -댘 -댘 - -댙 -댙 -댙 -댙 -댙 - -댚 -댚 -댚 -댚 -댚 - -댛 -댛 -댛 -댛 -댛 - -댜 -댜 -댜 -댜 -댜 - -댝 -댝 -댝 -댝 -댝 - -댞 -댞 -댞 -댞 -댞 - -댟 -댟 -댟 -댟 -댟 - -댠 -댠 -댠 -댠 -댠 - -댡 -댡 -댡 -댡 -댡 - -댢 -댢 -댢 -댢 -댢 - -댣 -댣 -댣 -댣 -댣 - -댤 -댤 -댤 -댤 -댤 - -댥 -댥 -댥 -댥 -댥 - -댦 -댦 -댦 -댦 -댦 - -댧 -댧 -댧 -댧 -댧 - -댨 -댨 -댨 -댨 -댨 - -댩 -댩 -댩 -댩 -댩 - -댪 -댪 -댪 -댪 -댪 - -댫 -댫 -댫 -댫 -댫 - -댬 -댬 -댬 -댬 -댬 - -댭 -댭 -댭 -댭 -댭 - -댮 -댮 -댮 -댮 -댮 - -댯 -댯 -댯 -댯 -댯 - -댰 -댰 -댰 -댰 -댰 - -댱 -댱 -댱 -댱 -댱 - -댲 -댲 -댲 -댲 -댲 - -댳 -댳 -댳 -댳 -댳 - -댴 -댴 -댴 -댴 -댴 - -댵 -댵 -댵 -댵 -댵 - -댶 -댶 -댶 -댶 -댶 - -댷 -댷 -댷 -댷 -댷 - -댸 -댸 -댸 -댸 -댸 - -댹 -댹 -댹 -댹 -댹 - -댺 -댺 -댺 -댺 -댺 - -댻 -댻 -댻 -댻 -댻 - -댼 -댼 -댼 -댼 -댼 - -댽 -댽 -댽 -댽 -댽 - -댾 -댾 -댾 -댾 -댾 - -댿 -댿 -댿 -댿 -댿 - -덀 -덀 -덀 -덀 -덀 - -덁 -덁 -덁 -덁 -덁 - -덂 -덂 -덂 -덂 -덂 - -덃 -덃 -덃 -덃 -덃 - -덄 -덄 -덄 -덄 -덄 - -덅 -덅 -덅 -덅 -덅 - -덆 -덆 -덆 -덆 -덆 - -덇 -덇 -덇 -덇 -덇 - -덈 -덈 -덈 -덈 -덈 - -덉 -덉 -덉 -덉 -덉 - -덊 -덊 -덊 -덊 -덊 - -덋 -덋 -덋 -덋 -덋 - -덌 -덌 -덌 -덌 -덌 - -덍 -덍 -덍 -덍 -덍 - -덎 -덎 -덎 -덎 -덎 - -덏 -덏 -덏 -덏 -덏 - -덐 -덐 -덐 -덐 -덐 - -덑 -덑 -덑 -덑 -덑 - -덒 -덒 -덒 -덒 -덒 - -덓 -덓 -덓 -덓 -덓 - -더 -더 -더 -더 -더 - -덕 -덕 -덕 -덕 -덕 - -덖 -덖 -덖 -덖 -덖 - -덗 -덗 -덗 -덗 -덗 - -던 -던 -던 -던 -던 - -덙 -덙 -덙 -덙 -덙 - -덚 -덚 -덚 -덚 -덚 - -덛 -덛 -덛 -덛 -덛 - -덜 -덜 -덜 -덜 -덜 - -덝 -덝 -덝 -덝 -덝 - -덞 -덞 -덞 -덞 -덞 - -덟 -덟 -덟 -덟 -덟 - -덠 -덠 -덠 -덠 -덠 - -덡 -덡 -덡 -덡 -덡 - -덢 -덢 -덢 -덢 -덢 - -덣 -덣 -덣 -덣 -덣 - -덤 -덤 -덤 -덤 -덤 - -덥 -덥 -덥 -덥 -덥 - -덦 -덦 -덦 -덦 -덦 - -덧 -덧 -덧 -덧 -덧 - -덨 -덨 -덨 -덨 -덨 - -덩 -덩 -덩 -덩 -덩 - -덪 -덪 -덪 -덪 -덪 - -덫 -덫 -덫 -덫 -덫 - -덬 -덬 -덬 -덬 -덬 - -덭 -덭 -덭 -덭 -덭 - -덮 -덮 -덮 -덮 -덮 - -덯 -덯 -덯 -덯 -덯 - -데 -데 -데 -데 -데 - -덱 -덱 -덱 -덱 -덱 - -덲 -덲 -덲 -덲 -덲 - -덳 -덳 -덳 -덳 -덳 - -덴 -덴 -덴 -덴 -덴 - -덵 -덵 -덵 -덵 -덵 - -덶 -덶 -덶 -덶 -덶 - -덷 -덷 -덷 -덷 -덷 - -델 -델 -델 -델 -델 - -덹 -덹 -덹 -덹 -덹 - -덺 -덺 -덺 -덺 -덺 - -덻 -덻 -덻 -덻 -덻 - -덼 -덼 -덼 -덼 -덼 - -덽 -덽 -덽 -덽 -덽 - -덾 -덾 -덾 -덾 -덾 - -덿 -덿 -덿 -덿 -덿 - -뎀 -뎀 -뎀 -뎀 -뎀 - -뎁 -뎁 -뎁 -뎁 -뎁 - -뎂 -뎂 -뎂 -뎂 -뎂 - -뎃 -뎃 -뎃 -뎃 -뎃 - -뎄 -뎄 -뎄 -뎄 -뎄 - -뎅 -뎅 -뎅 -뎅 -뎅 - -뎆 -뎆 -뎆 -뎆 -뎆 - -뎇 -뎇 -뎇 -뎇 -뎇 - -뎈 -뎈 -뎈 -뎈 -뎈 - -뎉 -뎉 -뎉 -뎉 -뎉 - -뎊 -뎊 -뎊 -뎊 -뎊 - -뎋 -뎋 -뎋 -뎋 -뎋 - -뎌 -뎌 -뎌 -뎌 -뎌 - -뎍 -뎍 -뎍 -뎍 -뎍 - -뎎 -뎎 -뎎 -뎎 -뎎 - -뎏 -뎏 -뎏 -뎏 -뎏 - -뎐 -뎐 -뎐 -뎐 -뎐 - -뎑 -뎑 -뎑 -뎑 -뎑 - -뎒 -뎒 -뎒 -뎒 -뎒 - -뎓 -뎓 -뎓 -뎓 -뎓 - -뎔 -뎔 -뎔 -뎔 -뎔 - -뎕 -뎕 -뎕 -뎕 -뎕 - -뎖 -뎖 -뎖 -뎖 -뎖 - -뎗 -뎗 -뎗 -뎗 -뎗 - -뎘 -뎘 -뎘 -뎘 -뎘 - -뎙 -뎙 -뎙 -뎙 -뎙 - -뎚 -뎚 -뎚 -뎚 -뎚 - -뎛 -뎛 -뎛 -뎛 -뎛 - -뎜 -뎜 -뎜 -뎜 -뎜 - -뎝 -뎝 -뎝 -뎝 -뎝 - -뎞 -뎞 -뎞 -뎞 -뎞 - -뎟 -뎟 -뎟 -뎟 -뎟 - -뎠 -뎠 -뎠 -뎠 -뎠 - -뎡 -뎡 -뎡 -뎡 -뎡 - -뎢 -뎢 -뎢 -뎢 -뎢 - -뎣 -뎣 -뎣 -뎣 -뎣 - -뎤 -뎤 -뎤 -뎤 -뎤 - -뎥 -뎥 -뎥 -뎥 -뎥 - -뎦 -뎦 -뎦 -뎦 -뎦 - -뎧 -뎧 -뎧 -뎧 -뎧 - -뎨 -뎨 -뎨 -뎨 -뎨 - -뎩 -뎩 -뎩 -뎩 -뎩 - -뎪 -뎪 -뎪 -뎪 -뎪 - -뎫 -뎫 -뎫 -뎫 -뎫 - -뎬 -뎬 -뎬 -뎬 -뎬 - -뎭 -뎭 -뎭 -뎭 -뎭 - -뎮 -뎮 -뎮 -뎮 -뎮 - -뎯 -뎯 -뎯 -뎯 -뎯 - -뎰 -뎰 -뎰 -뎰 -뎰 - -뎱 -뎱 -뎱 -뎱 -뎱 - -뎲 -뎲 -뎲 -뎲 -뎲 - -뎳 -뎳 -뎳 -뎳 -뎳 - -뎴 -뎴 -뎴 -뎴 -뎴 - -뎵 -뎵 -뎵 -뎵 -뎵 - -뎶 -뎶 -뎶 -뎶 -뎶 - -뎷 -뎷 -뎷 -뎷 -뎷 - -뎸 -뎸 -뎸 -뎸 -뎸 - -뎹 -뎹 -뎹 -뎹 -뎹 - -뎺 -뎺 -뎺 -뎺 -뎺 - -뎻 -뎻 -뎻 -뎻 -뎻 - -뎼 -뎼 -뎼 -뎼 -뎼 - -뎽 -뎽 -뎽 -뎽 -뎽 - -뎾 -뎾 -뎾 -뎾 -뎾 - -뎿 -뎿 -뎿 -뎿 -뎿 - -돀 -돀 -돀 -돀 -돀 - -돁 -돁 -돁 -돁 -돁 - -돂 -돂 -돂 -돂 -돂 - -돃 -돃 -돃 -돃 -돃 - -도 -도 -도 -도 -도 - -독 -독 -독 -독 -독 - -돆 -돆 -돆 -돆 -돆 - -돇 -돇 -돇 -돇 -돇 - -돈 -돈 -돈 -돈 -돈 - -돉 -돉 -돉 -돉 -돉 - -돊 -돊 -돊 -돊 -돊 - -돋 -돋 -돋 -돋 -돋 - -돌 -돌 -돌 -돌 -돌 - -돍 -돍 -돍 -돍 -돍 - -돎 -돎 -돎 -돎 -돎 - -돏 -돏 -돏 -돏 -돏 - -돐 -돐 -돐 -돐 -돐 - -돑 -돑 -돑 -돑 -돑 - -돒 -돒 -돒 -돒 -돒 - -돓 -돓 -돓 -돓 -돓 - -돔 -돔 -돔 -돔 -돔 - -돕 -돕 -돕 -돕 -돕 - -돖 -돖 -돖 -돖 -돖 - -돗 -돗 -돗 -돗 -돗 - -돘 -돘 -돘 -돘 -돘 - -동 -동 -동 -동 -동 - -돚 -돚 -돚 -돚 -돚 - -돛 -돛 -돛 -돛 -돛 - -돜 -돜 -돜 -돜 -돜 - -돝 -돝 -돝 -돝 -돝 - -돞 -돞 -돞 -돞 -돞 - -돟 -돟 -돟 -돟 -돟 - -돠 -돠 -돠 -돠 -돠 - -돡 -돡 -돡 -돡 -돡 - -돢 -돢 -돢 -돢 -돢 - -돣 -돣 -돣 -돣 -돣 - -돤 -돤 -돤 -돤 -돤 - -돥 -돥 -돥 -돥 -돥 - -돦 -돦 -돦 -돦 -돦 - -돧 -돧 -돧 -돧 -돧 - -돨 -돨 -돨 -돨 -돨 - -돩 -돩 -돩 -돩 -돩 - -돪 -돪 -돪 -돪 -돪 - -돫 -돫 -돫 -돫 -돫 - -돬 -돬 -돬 -돬 -돬 - -돭 -돭 -돭 -돭 -돭 - -돮 -돮 -돮 -돮 -돮 - -돯 -돯 -돯 -돯 -돯 - -돰 -돰 -돰 -돰 -돰 - -돱 -돱 -돱 -돱 -돱 - -돲 -돲 -돲 -돲 -돲 - -돳 -돳 -돳 -돳 -돳 - -돴 -돴 -돴 -돴 -돴 - -돵 -돵 -돵 -돵 -돵 - -돶 -돶 -돶 -돶 -돶 - -돷 -돷 -돷 -돷 -돷 - -돸 -돸 -돸 -돸 -돸 - -돹 -돹 -돹 -돹 -돹 - -돺 -돺 -돺 -돺 -돺 - -돻 -돻 -돻 -돻 -돻 - -돼 -돼 -돼 -돼 -돼 - -돽 -돽 -돽 -돽 -돽 - -돾 -돾 -돾 -돾 -돾 - -돿 -돿 -돿 -돿 -돿 - -됀 -됀 -됀 -됀 -됀 - -됁 -됁 -됁 -됁 -됁 - -됂 -됂 -됂 -됂 -됂 - -됃 -됃 -됃 -됃 -됃 - -됄 -됄 -됄 -됄 -됄 - -됅 -됅 -됅 -됅 -됅 - -됆 -됆 -됆 -됆 -됆 - -됇 -됇 -됇 -됇 -됇 - -됈 -됈 -됈 -됈 -됈 - -됉 -됉 -됉 -됉 -됉 - -됊 -됊 -됊 -됊 -됊 - -됋 -됋 -됋 -됋 -됋 - -됌 -됌 -됌 -됌 -됌 - -됍 -됍 -됍 -됍 -됍 - -됎 -됎 -됎 -됎 -됎 - -됏 -됏 -됏 -됏 -됏 - -됐 -됐 -됐 -됐 -됐 - -됑 -됑 -됑 -됑 -됑 - -됒 -됒 -됒 -됒 -됒 - -됓 -됓 -됓 -됓 -됓 - -됔 -됔 -됔 -됔 -됔 - -됕 -됕 -됕 -됕 -됕 - -됖 -됖 -됖 -됖 -됖 - -됗 -됗 -됗 -됗 -됗 - -되 -되 -되 -되 -되 - -됙 -됙 -됙 -됙 -됙 - -됚 -됚 -됚 -됚 -됚 - -됛 -됛 -됛 -됛 -됛 - -된 -된 -된 -된 -된 - -됝 -됝 -됝 -됝 -됝 - -됞 -됞 -됞 -됞 -됞 - -됟 -됟 -됟 -됟 -됟 - -될 -될 -될 -될 -될 - -됡 -됡 -됡 -됡 -됡 - -됢 -됢 -됢 -됢 -됢 - -됣 -됣 -됣 -됣 -됣 - -됤 -됤 -됤 -됤 -됤 - -됥 -됥 -됥 -됥 -됥 - -됦 -됦 -됦 -됦 -됦 - -됧 -됧 -됧 -됧 -됧 - -됨 -됨 -됨 -됨 -됨 - -됩 -됩 -됩 -됩 -됩 - -됪 -됪 -됪 -됪 -됪 - -됫 -됫 -됫 -됫 -됫 - -됬 -됬 -됬 -됬 -됬 - -됭 -됭 -됭 -됭 -됭 - -됮 -됮 -됮 -됮 -됮 - -됯 -됯 -됯 -됯 -됯 - -됰 -됰 -됰 -됰 -됰 - -됱 -됱 -됱 -됱 -됱 - -됲 -됲 -됲 -됲 -됲 - -됳 -됳 -됳 -됳 -됳 - -됴 -됴 -됴 -됴 -됴 - -됵 -됵 -됵 -됵 -됵 - -됶 -됶 -됶 -됶 -됶 - -됷 -됷 -됷 -됷 -됷 - -됸 -됸 -됸 -됸 -됸 - -됹 -됹 -됹 -됹 -됹 - -됺 -됺 -됺 -됺 -됺 - -됻 -됻 -됻 -됻 -됻 - -됼 -됼 -됼 -됼 -됼 - -됽 -됽 -됽 -됽 -됽 - -됾 -됾 -됾 -됾 -됾 - -됿 -됿 -됿 -됿 -됿 - -둀 -둀 -둀 -둀 -둀 - -둁 -둁 -둁 -둁 -둁 - -둂 -둂 -둂 -둂 -둂 - -둃 -둃 -둃 -둃 -둃 - -둄 -둄 -둄 -둄 -둄 - -둅 -둅 -둅 -둅 -둅 - -둆 -둆 -둆 -둆 -둆 - -둇 -둇 -둇 -둇 -둇 - -둈 -둈 -둈 -둈 -둈 - -둉 -둉 -둉 -둉 -둉 - -둊 -둊 -둊 -둊 -둊 - -둋 -둋 -둋 -둋 -둋 - -둌 -둌 -둌 -둌 -둌 - -둍 -둍 -둍 -둍 -둍 - -둎 -둎 -둎 -둎 -둎 - -둏 -둏 -둏 -둏 -둏 - -두 -두 -두 -두 -두 - -둑 -둑 -둑 -둑 -둑 - -둒 -둒 -둒 -둒 -둒 - -둓 -둓 -둓 -둓 -둓 - -둔 -둔 -둔 -둔 -둔 - -둕 -둕 -둕 -둕 -둕 - -둖 -둖 -둖 -둖 -둖 - -둗 -둗 -둗 -둗 -둗 - -둘 -둘 -둘 -둘 -둘 - -둙 -둙 -둙 -둙 -둙 - -둚 -둚 -둚 -둚 -둚 - -둛 -둛 -둛 -둛 -둛 - -둜 -둜 -둜 -둜 -둜 - -둝 -둝 -둝 -둝 -둝 - -둞 -둞 -둞 -둞 -둞 - -둟 -둟 -둟 -둟 -둟 - -둠 -둠 -둠 -둠 -둠 - -둡 -둡 -둡 -둡 -둡 - -둢 -둢 -둢 -둢 -둢 - -둣 -둣 -둣 -둣 -둣 - -둤 -둤 -둤 -둤 -둤 - -둥 -둥 -둥 -둥 -둥 - -둦 -둦 -둦 -둦 -둦 - -둧 -둧 -둧 -둧 -둧 - -둨 -둨 -둨 -둨 -둨 - -둩 -둩 -둩 -둩 -둩 - -둪 -둪 -둪 -둪 -둪 - -둫 -둫 -둫 -둫 -둫 - -둬 -둬 -둬 -둬 -둬 - -둭 -둭 -둭 -둭 -둭 - -둮 -둮 -둮 -둮 -둮 - -둯 -둯 -둯 -둯 -둯 - -둰 -둰 -둰 -둰 -둰 - -둱 -둱 -둱 -둱 -둱 - -둲 -둲 -둲 -둲 -둲 - -둳 -둳 -둳 -둳 -둳 - -둴 -둴 -둴 -둴 -둴 - -둵 -둵 -둵 -둵 -둵 - -둶 -둶 -둶 -둶 -둶 - -둷 -둷 -둷 -둷 -둷 - -둸 -둸 -둸 -둸 -둸 - -둹 -둹 -둹 -둹 -둹 - -둺 -둺 -둺 -둺 -둺 - -둻 -둻 -둻 -둻 -둻 - -둼 -둼 -둼 -둼 -둼 - -둽 -둽 -둽 -둽 -둽 - -둾 -둾 -둾 -둾 -둾 - -둿 -둿 -둿 -둿 -둿 - -뒀 -뒀 -뒀 -뒀 -뒀 - -뒁 -뒁 -뒁 -뒁 -뒁 - -뒂 -뒂 -뒂 -뒂 -뒂 - -뒃 -뒃 -뒃 -뒃 -뒃 - -뒄 -뒄 -뒄 -뒄 -뒄 - -뒅 -뒅 -뒅 -뒅 -뒅 - -뒆 -뒆 -뒆 -뒆 -뒆 - -뒇 -뒇 -뒇 -뒇 -뒇 - -뒈 -뒈 -뒈 -뒈 -뒈 - -뒉 -뒉 -뒉 -뒉 -뒉 - -뒊 -뒊 -뒊 -뒊 -뒊 - -뒋 -뒋 -뒋 -뒋 -뒋 - -뒌 -뒌 -뒌 -뒌 -뒌 - -뒍 -뒍 -뒍 -뒍 -뒍 - -뒎 -뒎 -뒎 -뒎 -뒎 - -뒏 -뒏 -뒏 -뒏 -뒏 - -뒐 -뒐 -뒐 -뒐 -뒐 - -뒑 -뒑 -뒑 -뒑 -뒑 - -뒒 -뒒 -뒒 -뒒 -뒒 - -뒓 -뒓 -뒓 -뒓 -뒓 - -뒔 -뒔 -뒔 -뒔 -뒔 - -뒕 -뒕 -뒕 -뒕 -뒕 - -뒖 -뒖 -뒖 -뒖 -뒖 - -뒗 -뒗 -뒗 -뒗 -뒗 - -뒘 -뒘 -뒘 -뒘 -뒘 - -뒙 -뒙 -뒙 -뒙 -뒙 - -뒚 -뒚 -뒚 -뒚 -뒚 - -뒛 -뒛 -뒛 -뒛 -뒛 - -뒜 -뒜 -뒜 -뒜 -뒜 - -뒝 -뒝 -뒝 -뒝 -뒝 - -뒞 -뒞 -뒞 -뒞 -뒞 - -뒟 -뒟 -뒟 -뒟 -뒟 - -뒠 -뒠 -뒠 -뒠 -뒠 - -뒡 -뒡 -뒡 -뒡 -뒡 - -뒢 -뒢 -뒢 -뒢 -뒢 - -뒣 -뒣 -뒣 -뒣 -뒣 - -뒤 -뒤 -뒤 -뒤 -뒤 - -뒥 -뒥 -뒥 -뒥 -뒥 - -뒦 -뒦 -뒦 -뒦 -뒦 - -뒧 -뒧 -뒧 -뒧 -뒧 - -뒨 -뒨 -뒨 -뒨 -뒨 - -뒩 -뒩 -뒩 -뒩 -뒩 - -뒪 -뒪 -뒪 -뒪 -뒪 - -뒫 -뒫 -뒫 -뒫 -뒫 - -뒬 -뒬 -뒬 -뒬 -뒬 - -뒭 -뒭 -뒭 -뒭 -뒭 - -뒮 -뒮 -뒮 -뒮 -뒮 - -뒯 -뒯 -뒯 -뒯 -뒯 - -뒰 -뒰 -뒰 -뒰 -뒰 - -뒱 -뒱 -뒱 -뒱 -뒱 - -뒲 -뒲 -뒲 -뒲 -뒲 - -뒳 -뒳 -뒳 -뒳 -뒳 - -뒴 -뒴 -뒴 -뒴 -뒴 - -뒵 -뒵 -뒵 -뒵 -뒵 - -뒶 -뒶 -뒶 -뒶 -뒶 - -뒷 -뒷 -뒷 -뒷 -뒷 - -뒸 -뒸 -뒸 -뒸 -뒸 - -뒹 -뒹 -뒹 -뒹 -뒹 - -뒺 -뒺 -뒺 -뒺 -뒺 - -뒻 -뒻 -뒻 -뒻 -뒻 - -뒼 -뒼 -뒼 -뒼 -뒼 - -뒽 -뒽 -뒽 -뒽 -뒽 - -뒾 -뒾 -뒾 -뒾 -뒾 - -뒿 -뒿 -뒿 -뒿 -뒿 - -듀 -듀 -듀 -듀 -듀 - -듁 -듁 -듁 -듁 -듁 - -듂 -듂 -듂 -듂 -듂 - -듃 -듃 -듃 -듃 -듃 - -듄 -듄 -듄 -듄 -듄 - -듅 -듅 -듅 -듅 -듅 - -듆 -듆 -듆 -듆 -듆 - -듇 -듇 -듇 -듇 -듇 - -듈 -듈 -듈 -듈 -듈 - -듉 -듉 -듉 -듉 -듉 - -듊 -듊 -듊 -듊 -듊 - -듋 -듋 -듋 -듋 -듋 - -듌 -듌 -듌 -듌 -듌 - -듍 -듍 -듍 -듍 -듍 - -듎 -듎 -듎 -듎 -듎 - -듏 -듏 -듏 -듏 -듏 - -듐 -듐 -듐 -듐 -듐 - -듑 -듑 -듑 -듑 -듑 - -듒 -듒 -듒 -듒 -듒 - -듓 -듓 -듓 -듓 -듓 - -듔 -듔 -듔 -듔 -듔 - -듕 -듕 -듕 -듕 -듕 - -듖 -듖 -듖 -듖 -듖 - -듗 -듗 -듗 -듗 -듗 - -듘 -듘 -듘 -듘 -듘 - -듙 -듙 -듙 -듙 -듙 - -듚 -듚 -듚 -듚 -듚 - -듛 -듛 -듛 -듛 -듛 - -드 -드 -드 -드 -드 - -득 -득 -득 -득 -득 - -듞 -듞 -듞 -듞 -듞 - -듟 -듟 -듟 -듟 -듟 - -든 -든 -든 -든 -든 - -듡 -듡 -듡 -듡 -듡 - -듢 -듢 -듢 -듢 -듢 - -듣 -듣 -듣 -듣 -듣 - -들 -들 -들 -들 -들 - -듥 -듥 -듥 -듥 -듥 - -듦 -듦 -듦 -듦 -듦 - -듧 -듧 -듧 -듧 -듧 - -듨 -듨 -듨 -듨 -듨 - -듩 -듩 -듩 -듩 -듩 - -듪 -듪 -듪 -듪 -듪 - -듫 -듫 -듫 -듫 -듫 - -듬 -듬 -듬 -듬 -듬 - -듭 -듭 -듭 -듭 -듭 - -듮 -듮 -듮 -듮 -듮 - -듯 -듯 -듯 -듯 -듯 - -듰 -듰 -듰 -듰 -듰 - -등 -등 -등 -등 -등 - -듲 -듲 -듲 -듲 -듲 - -듳 -듳 -듳 -듳 -듳 - -듴 -듴 -듴 -듴 -듴 - -듵 -듵 -듵 -듵 -듵 - -듶 -듶 -듶 -듶 -듶 - -듷 -듷 -듷 -듷 -듷 - -듸 -듸 -듸 -듸 -듸 - -듹 -듹 -듹 -듹 -듹 - -듺 -듺 -듺 -듺 -듺 - -듻 -듻 -듻 -듻 -듻 - -듼 -듼 -듼 -듼 -듼 - -듽 -듽 -듽 -듽 -듽 - -듾 -듾 -듾 -듾 -듾 - -듿 -듿 -듿 -듿 -듿 - -딀 -딀 -딀 -딀 -딀 - -딁 -딁 -딁 -딁 -딁 - -딂 -딂 -딂 -딂 -딂 - -딃 -딃 -딃 -딃 -딃 - -딄 -딄 -딄 -딄 -딄 - -딅 -딅 -딅 -딅 -딅 - -딆 -딆 -딆 -딆 -딆 - -딇 -딇 -딇 -딇 -딇 - -딈 -딈 -딈 -딈 -딈 - -딉 -딉 -딉 -딉 -딉 - -딊 -딊 -딊 -딊 -딊 - -딋 -딋 -딋 -딋 -딋 - -딌 -딌 -딌 -딌 -딌 - -딍 -딍 -딍 -딍 -딍 - -딎 -딎 -딎 -딎 -딎 - -딏 -딏 -딏 -딏 -딏 - -딐 -딐 -딐 -딐 -딐 - -딑 -딑 -딑 -딑 -딑 - -딒 -딒 -딒 -딒 -딒 - -딓 -딓 -딓 -딓 -딓 - -디 -디 -디 -디 -디 - -딕 -딕 -딕 -딕 -딕 - -딖 -딖 -딖 -딖 -딖 - -딗 -딗 -딗 -딗 -딗 - -딘 -딘 -딘 -딘 -딘 - -딙 -딙 -딙 -딙 -딙 - -딚 -딚 -딚 -딚 -딚 - -딛 -딛 -딛 -딛 -딛 - -딜 -딜 -딜 -딜 -딜 - -딝 -딝 -딝 -딝 -딝 - -딞 -딞 -딞 -딞 -딞 - -딟 -딟 -딟 -딟 -딟 - -딠 -딠 -딠 -딠 -딠 - -딡 -딡 -딡 -딡 -딡 - -딢 -딢 -딢 -딢 -딢 - -딣 -딣 -딣 -딣 -딣 - -딤 -딤 -딤 -딤 -딤 - -딥 -딥 -딥 -딥 -딥 - -딦 -딦 -딦 -딦 -딦 - -딧 -딧 -딧 -딧 -딧 - -딨 -딨 -딨 -딨 -딨 - -딩 -딩 -딩 -딩 -딩 - -딪 -딪 -딪 -딪 -딪 - -딫 -딫 -딫 -딫 -딫 - -딬 -딬 -딬 -딬 -딬 - -딭 -딭 -딭 -딭 -딭 - -딮 -딮 -딮 -딮 -딮 - -딯 -딯 -딯 -딯 -딯 - -따 -따 -따 -따 -따 - -딱 -딱 -딱 -딱 -딱 - -딲 -딲 -딲 -딲 -딲 - -딳 -딳 -딳 -딳 -딳 - -딴 -딴 -딴 -딴 -딴 - -딵 -딵 -딵 -딵 -딵 - -딶 -딶 -딶 -딶 -딶 - -딷 -딷 -딷 -딷 -딷 - -딸 -딸 -딸 -딸 -딸 - -딹 -딹 -딹 -딹 -딹 - -딺 -딺 -딺 -딺 -딺 - -딻 -딻 -딻 -딻 -딻 - -딼 -딼 -딼 -딼 -딼 - -딽 -딽 -딽 -딽 -딽 - -딾 -딾 -딾 -딾 -딾 - -딿 -딿 -딿 -딿 -딿 - -땀 -땀 -땀 -땀 -땀 - -땁 -땁 -땁 -땁 -땁 - -땂 -땂 -땂 -땂 -땂 - -땃 -땃 -땃 -땃 -땃 - -땄 -땄 -땄 -땄 -땄 - -땅 -땅 -땅 -땅 -땅 - -땆 -땆 -땆 -땆 -땆 - -땇 -땇 -땇 -땇 -땇 - -땈 -땈 -땈 -땈 -땈 - -땉 -땉 -땉 -땉 -땉 - -땊 -땊 -땊 -땊 -땊 - -땋 -땋 -땋 -땋 -땋 - -때 -때 -때 -때 -때 - -땍 -땍 -땍 -땍 -땍 - -땎 -땎 -땎 -땎 -땎 - -땏 -땏 -땏 -땏 -땏 - -땐 -땐 -땐 -땐 -땐 - -땑 -땑 -땑 -땑 -땑 - -땒 -땒 -땒 -땒 -땒 - -땓 -땓 -땓 -땓 -땓 - -땔 -땔 -땔 -땔 -땔 - -땕 -땕 -땕 -땕 -땕 - -땖 -땖 -땖 -땖 -땖 - -땗 -땗 -땗 -땗 -땗 - -땘 -땘 -땘 -땘 -땘 - -땙 -땙 -땙 -땙 -땙 - -땚 -땚 -땚 -땚 -땚 - -땛 -땛 -땛 -땛 -땛 - -땜 -땜 -땜 -땜 -땜 - -땝 -땝 -땝 -땝 -땝 - -땞 -땞 -땞 -땞 -땞 - -땟 -땟 -땟 -땟 -땟 - -땠 -땠 -땠 -땠 -땠 - -땡 -땡 -땡 -땡 -땡 - -땢 -땢 -땢 -땢 -땢 - -땣 -땣 -땣 -땣 -땣 - -땤 -땤 -땤 -땤 -땤 - -땥 -땥 -땥 -땥 -땥 - -땦 -땦 -땦 -땦 -땦 - -땧 -땧 -땧 -땧 -땧 - -땨 -땨 -땨 -땨 -땨 - -땩 -땩 -땩 -땩 -땩 - -땪 -땪 -땪 -땪 -땪 - -땫 -땫 -땫 -땫 -땫 - -땬 -땬 -땬 -땬 -땬 - -땭 -땭 -땭 -땭 -땭 - -땮 -땮 -땮 -땮 -땮 - -땯 -땯 -땯 -땯 -땯 - -땰 -땰 -땰 -땰 -땰 - -땱 -땱 -땱 -땱 -땱 - -땲 -땲 -땲 -땲 -땲 - -땳 -땳 -땳 -땳 -땳 - -땴 -땴 -땴 -땴 -땴 - -땵 -땵 -땵 -땵 -땵 - -땶 -땶 -땶 -땶 -땶 - -땷 -땷 -땷 -땷 -땷 - -땸 -땸 -땸 -땸 -땸 - -땹 -땹 -땹 -땹 -땹 - -땺 -땺 -땺 -땺 -땺 - -땻 -땻 -땻 -땻 -땻 - -땼 -땼 -땼 -땼 -땼 - -땽 -땽 -땽 -땽 -땽 - -땾 -땾 -땾 -땾 -땾 - -땿 -땿 -땿 -땿 -땿 - -떀 -떀 -떀 -떀 -떀 - -떁 -떁 -떁 -떁 -떁 - -떂 -떂 -떂 -떂 -떂 - -떃 -떃 -떃 -떃 -떃 - -떄 -떄 -떄 -떄 -떄 - -떅 -떅 -떅 -떅 -떅 - -떆 -떆 -떆 -떆 -떆 - -떇 -떇 -떇 -떇 -떇 - -떈 -떈 -떈 -떈 -떈 - -떉 -떉 -떉 -떉 -떉 - -떊 -떊 -떊 -떊 -떊 - -떋 -떋 -떋 -떋 -떋 - -떌 -떌 -떌 -떌 -떌 - -떍 -떍 -떍 -떍 -떍 - -떎 -떎 -떎 -떎 -떎 - -떏 -떏 -떏 -떏 -떏 - -떐 -떐 -떐 -떐 -떐 - -떑 -떑 -떑 -떑 -떑 - -떒 -떒 -떒 -떒 -떒 - -떓 -떓 -떓 -떓 -떓 - -떔 -떔 -떔 -떔 -떔 - -떕 -떕 -떕 -떕 -떕 - -떖 -떖 -떖 -떖 -떖 - -떗 -떗 -떗 -떗 -떗 - -떘 -떘 -떘 -떘 -떘 - -떙 -떙 -떙 -떙 -떙 - -떚 -떚 -떚 -떚 -떚 - -떛 -떛 -떛 -떛 -떛 - -떜 -떜 -떜 -떜 -떜 - -떝 -떝 -떝 -떝 -떝 - -떞 -떞 -떞 -떞 -떞 - -떟 -떟 -떟 -떟 -떟 - -떠 -떠 -떠 -떠 -떠 - -떡 -떡 -떡 -떡 -떡 - -떢 -떢 -떢 -떢 -떢 - -떣 -떣 -떣 -떣 -떣 - -떤 -떤 -떤 -떤 -떤 - -떥 -떥 -떥 -떥 -떥 - -떦 -떦 -떦 -떦 -떦 - -떧 -떧 -떧 -떧 -떧 - -떨 -떨 -떨 -떨 -떨 - -떩 -떩 -떩 -떩 -떩 - -떪 -떪 -떪 -떪 -떪 - -떫 -떫 -떫 -떫 -떫 - -떬 -떬 -떬 -떬 -떬 - -떭 -떭 -떭 -떭 -떭 - -떮 -떮 -떮 -떮 -떮 - -떯 -떯 -떯 -떯 -떯 - -떰 -떰 -떰 -떰 -떰 - -떱 -떱 -떱 -떱 -떱 - -떲 -떲 -떲 -떲 -떲 - -떳 -떳 -떳 -떳 -떳 - -떴 -떴 -떴 -떴 -떴 - -떵 -떵 -떵 -떵 -떵 - -떶 -떶 -떶 -떶 -떶 - -떷 -떷 -떷 -떷 -떷 - -떸 -떸 -떸 -떸 -떸 - -떹 -떹 -떹 -떹 -떹 - -떺 -떺 -떺 -떺 -떺 - -떻 -떻 -떻 -떻 -떻 - -떼 -떼 -떼 -떼 -떼 - -떽 -떽 -떽 -떽 -떽 - -떾 -떾 -떾 -떾 -떾 - -떿 -떿 -떿 -떿 -떿 - -뗀 -뗀 -뗀 -뗀 -뗀 - -뗁 -뗁 -뗁 -뗁 -뗁 - -뗂 -뗂 -뗂 -뗂 -뗂 - -뗃 -뗃 -뗃 -뗃 -뗃 - -뗄 -뗄 -뗄 -뗄 -뗄 - -뗅 -뗅 -뗅 -뗅 -뗅 - -뗆 -뗆 -뗆 -뗆 -뗆 - -뗇 -뗇 -뗇 -뗇 -뗇 - -뗈 -뗈 -뗈 -뗈 -뗈 - -뗉 -뗉 -뗉 -뗉 -뗉 - -뗊 -뗊 -뗊 -뗊 -뗊 - -뗋 -뗋 -뗋 -뗋 -뗋 - -뗌 -뗌 -뗌 -뗌 -뗌 - -뗍 -뗍 -뗍 -뗍 -뗍 - -뗎 -뗎 -뗎 -뗎 -뗎 - -뗏 -뗏 -뗏 -뗏 -뗏 - -뗐 -뗐 -뗐 -뗐 -뗐 - -뗑 -뗑 -뗑 -뗑 -뗑 - -뗒 -뗒 -뗒 -뗒 -뗒 - -뗓 -뗓 -뗓 -뗓 -뗓 - -뗔 -뗔 -뗔 -뗔 -뗔 - -뗕 -뗕 -뗕 -뗕 -뗕 - -뗖 -뗖 -뗖 -뗖 -뗖 - -뗗 -뗗 -뗗 -뗗 -뗗 - -뗘 -뗘 -뗘 -뗘 -뗘 - -뗙 -뗙 -뗙 -뗙 -뗙 - -뗚 -뗚 -뗚 -뗚 -뗚 - -뗛 -뗛 -뗛 -뗛 -뗛 - -뗜 -뗜 -뗜 -뗜 -뗜 - -뗝 -뗝 -뗝 -뗝 -뗝 - -뗞 -뗞 -뗞 -뗞 -뗞 - -뗟 -뗟 -뗟 -뗟 -뗟 - -뗠 -뗠 -뗠 -뗠 -뗠 - -뗡 -뗡 -뗡 -뗡 -뗡 - -뗢 -뗢 -뗢 -뗢 -뗢 - -뗣 -뗣 -뗣 -뗣 -뗣 - -뗤 -뗤 -뗤 -뗤 -뗤 - -뗥 -뗥 -뗥 -뗥 -뗥 - -뗦 -뗦 -뗦 -뗦 -뗦 - -뗧 -뗧 -뗧 -뗧 -뗧 - -뗨 -뗨 -뗨 -뗨 -뗨 - -뗩 -뗩 -뗩 -뗩 -뗩 - -뗪 -뗪 -뗪 -뗪 -뗪 - -뗫 -뗫 -뗫 -뗫 -뗫 - -뗬 -뗬 -뗬 -뗬 -뗬 - -뗭 -뗭 -뗭 -뗭 -뗭 - -뗮 -뗮 -뗮 -뗮 -뗮 - -뗯 -뗯 -뗯 -뗯 -뗯 - -뗰 -뗰 -뗰 -뗰 -뗰 - -뗱 -뗱 -뗱 -뗱 -뗱 - -뗲 -뗲 -뗲 -뗲 -뗲 - -뗳 -뗳 -뗳 -뗳 -뗳 - -뗴 -뗴 -뗴 -뗴 -뗴 - -뗵 -뗵 -뗵 -뗵 -뗵 - -뗶 -뗶 -뗶 -뗶 -뗶 - -뗷 -뗷 -뗷 -뗷 -뗷 - -뗸 -뗸 -뗸 -뗸 -뗸 - -뗹 -뗹 -뗹 -뗹 -뗹 - -뗺 -뗺 -뗺 -뗺 -뗺 - -뗻 -뗻 -뗻 -뗻 -뗻 - -뗼 -뗼 -뗼 -뗼 -뗼 - -뗽 -뗽 -뗽 -뗽 -뗽 - -뗾 -뗾 -뗾 -뗾 -뗾 - -뗿 -뗿 -뗿 -뗿 -뗿 - -똀 -똀 -똀 -똀 -똀 - -똁 -똁 -똁 -똁 -똁 - -똂 -똂 -똂 -똂 -똂 - -똃 -똃 -똃 -똃 -똃 - -똄 -똄 -똄 -똄 -똄 - -똅 -똅 -똅 -똅 -똅 - -똆 -똆 -똆 -똆 -똆 - -똇 -똇 -똇 -똇 -똇 - -똈 -똈 -똈 -똈 -똈 - -똉 -똉 -똉 -똉 -똉 - -똊 -똊 -똊 -똊 -똊 - -똋 -똋 -똋 -똋 -똋 - -똌 -똌 -똌 -똌 -똌 - -똍 -똍 -똍 -똍 -똍 - -똎 -똎 -똎 -똎 -똎 - -똏 -똏 -똏 -똏 -똏 - -또 -또 -또 -또 -또 - -똑 -똑 -똑 -똑 -똑 - -똒 -똒 -똒 -똒 -똒 - -똓 -똓 -똓 -똓 -똓 - -똔 -똔 -똔 -똔 -똔 - -똕 -똕 -똕 -똕 -똕 - -똖 -똖 -똖 -똖 -똖 - -똗 -똗 -똗 -똗 -똗 - -똘 -똘 -똘 -똘 -똘 - -똙 -똙 -똙 -똙 -똙 - -똚 -똚 -똚 -똚 -똚 - -똛 -똛 -똛 -똛 -똛 - -똜 -똜 -똜 -똜 -똜 - -똝 -똝 -똝 -똝 -똝 - -똞 -똞 -똞 -똞 -똞 - -똟 -똟 -똟 -똟 -똟 - -똠 -똠 -똠 -똠 -똠 - -똡 -똡 -똡 -똡 -똡 - -똢 -똢 -똢 -똢 -똢 - -똣 -똣 -똣 -똣 -똣 - -똤 -똤 -똤 -똤 -똤 - -똥 -똥 -똥 -똥 -똥 - -똦 -똦 -똦 -똦 -똦 - -똧 -똧 -똧 -똧 -똧 - -똨 -똨 -똨 -똨 -똨 - -똩 -똩 -똩 -똩 -똩 - -똪 -똪 -똪 -똪 -똪 - -똫 -똫 -똫 -똫 -똫 - -똬 -똬 -똬 -똬 -똬 - -똭 -똭 -똭 -똭 -똭 - -똮 -똮 -똮 -똮 -똮 - -똯 -똯 -똯 -똯 -똯 - -똰 -똰 -똰 -똰 -똰 - -똱 -똱 -똱 -똱 -똱 - -똲 -똲 -똲 -똲 -똲 - -똳 -똳 -똳 -똳 -똳 - -똴 -똴 -똴 -똴 -똴 - -똵 -똵 -똵 -똵 -똵 - -똶 -똶 -똶 -똶 -똶 - -똷 -똷 -똷 -똷 -똷 - -똸 -똸 -똸 -똸 -똸 - -똹 -똹 -똹 -똹 -똹 - -똺 -똺 -똺 -똺 -똺 - -똻 -똻 -똻 -똻 -똻 - -똼 -똼 -똼 -똼 -똼 - -똽 -똽 -똽 -똽 -똽 - -똾 -똾 -똾 -똾 -똾 - -똿 -똿 -똿 -똿 -똿 - -뙀 -뙀 -뙀 -뙀 -뙀 - -뙁 -뙁 -뙁 -뙁 -뙁 - -뙂 -뙂 -뙂 -뙂 -뙂 - -뙃 -뙃 -뙃 -뙃 -뙃 - -뙄 -뙄 -뙄 -뙄 -뙄 - -뙅 -뙅 -뙅 -뙅 -뙅 - -뙆 -뙆 -뙆 -뙆 -뙆 - -뙇 -뙇 -뙇 -뙇 -뙇 - -뙈 -뙈 -뙈 -뙈 -뙈 - -뙉 -뙉 -뙉 -뙉 -뙉 - -뙊 -뙊 -뙊 -뙊 -뙊 - -뙋 -뙋 -뙋 -뙋 -뙋 - -뙌 -뙌 -뙌 -뙌 -뙌 - -뙍 -뙍 -뙍 -뙍 -뙍 - -뙎 -뙎 -뙎 -뙎 -뙎 - -뙏 -뙏 -뙏 -뙏 -뙏 - -뙐 -뙐 -뙐 -뙐 -뙐 - -뙑 -뙑 -뙑 -뙑 -뙑 - -뙒 -뙒 -뙒 -뙒 -뙒 - -뙓 -뙓 -뙓 -뙓 -뙓 - -뙔 -뙔 -뙔 -뙔 -뙔 - -뙕 -뙕 -뙕 -뙕 -뙕 - -뙖 -뙖 -뙖 -뙖 -뙖 - -뙗 -뙗 -뙗 -뙗 -뙗 - -뙘 -뙘 -뙘 -뙘 -뙘 - -뙙 -뙙 -뙙 -뙙 -뙙 - -뙚 -뙚 -뙚 -뙚 -뙚 - -뙛 -뙛 -뙛 -뙛 -뙛 - -뙜 -뙜 -뙜 -뙜 -뙜 - -뙝 -뙝 -뙝 -뙝 -뙝 - -뙞 -뙞 -뙞 -뙞 -뙞 - -뙟 -뙟 -뙟 -뙟 -뙟 - -뙠 -뙠 -뙠 -뙠 -뙠 - -뙡 -뙡 -뙡 -뙡 -뙡 - -뙢 -뙢 -뙢 -뙢 -뙢 - -뙣 -뙣 -뙣 -뙣 -뙣 - -뙤 -뙤 -뙤 -뙤 -뙤 - -뙥 -뙥 -뙥 -뙥 -뙥 - -뙦 -뙦 -뙦 -뙦 -뙦 - -뙧 -뙧 -뙧 -뙧 -뙧 - -뙨 -뙨 -뙨 -뙨 -뙨 - -뙩 -뙩 -뙩 -뙩 -뙩 - -뙪 -뙪 -뙪 -뙪 -뙪 - -뙫 -뙫 -뙫 -뙫 -뙫 - -뙬 -뙬 -뙬 -뙬 -뙬 - -뙭 -뙭 -뙭 -뙭 -뙭 - -뙮 -뙮 -뙮 -뙮 -뙮 - -뙯 -뙯 -뙯 -뙯 -뙯 - -뙰 -뙰 -뙰 -뙰 -뙰 - -뙱 -뙱 -뙱 -뙱 -뙱 - -뙲 -뙲 -뙲 -뙲 -뙲 - -뙳 -뙳 -뙳 -뙳 -뙳 - -뙴 -뙴 -뙴 -뙴 -뙴 - -뙵 -뙵 -뙵 -뙵 -뙵 - -뙶 -뙶 -뙶 -뙶 -뙶 - -뙷 -뙷 -뙷 -뙷 -뙷 - -뙸 -뙸 -뙸 -뙸 -뙸 - -뙹 -뙹 -뙹 -뙹 -뙹 - -뙺 -뙺 -뙺 -뙺 -뙺 - -뙻 -뙻 -뙻 -뙻 -뙻 - -뙼 -뙼 -뙼 -뙼 -뙼 - -뙽 -뙽 -뙽 -뙽 -뙽 - -뙾 -뙾 -뙾 -뙾 -뙾 - -뙿 -뙿 -뙿 -뙿 -뙿 - -뚀 -뚀 -뚀 -뚀 -뚀 - -뚁 -뚁 -뚁 -뚁 -뚁 - -뚂 -뚂 -뚂 -뚂 -뚂 - -뚃 -뚃 -뚃 -뚃 -뚃 - -뚄 -뚄 -뚄 -뚄 -뚄 - -뚅 -뚅 -뚅 -뚅 -뚅 - -뚆 -뚆 -뚆 -뚆 -뚆 - -뚇 -뚇 -뚇 -뚇 -뚇 - -뚈 -뚈 -뚈 -뚈 -뚈 - -뚉 -뚉 -뚉 -뚉 -뚉 - -뚊 -뚊 -뚊 -뚊 -뚊 - -뚋 -뚋 -뚋 -뚋 -뚋 - -뚌 -뚌 -뚌 -뚌 -뚌 - -뚍 -뚍 -뚍 -뚍 -뚍 - -뚎 -뚎 -뚎 -뚎 -뚎 - -뚏 -뚏 -뚏 -뚏 -뚏 - -뚐 -뚐 -뚐 -뚐 -뚐 - -뚑 -뚑 -뚑 -뚑 -뚑 - -뚒 -뚒 -뚒 -뚒 -뚒 - -뚓 -뚓 -뚓 -뚓 -뚓 - -뚔 -뚔 -뚔 -뚔 -뚔 - -뚕 -뚕 -뚕 -뚕 -뚕 - -뚖 -뚖 -뚖 -뚖 -뚖 - -뚗 -뚗 -뚗 -뚗 -뚗 - -뚘 -뚘 -뚘 -뚘 -뚘 - -뚙 -뚙 -뚙 -뚙 -뚙 - -뚚 -뚚 -뚚 -뚚 -뚚 - -뚛 -뚛 -뚛 -뚛 -뚛 - -뚜 -뚜 -뚜 -뚜 -뚜 - -뚝 -뚝 -뚝 -뚝 -뚝 - -뚞 -뚞 -뚞 -뚞 -뚞 - -뚟 -뚟 -뚟 -뚟 -뚟 - -뚠 -뚠 -뚠 -뚠 -뚠 - -뚡 -뚡 -뚡 -뚡 -뚡 - -뚢 -뚢 -뚢 -뚢 -뚢 - -뚣 -뚣 -뚣 -뚣 -뚣 - -뚤 -뚤 -뚤 -뚤 -뚤 - -뚥 -뚥 -뚥 -뚥 -뚥 - -뚦 -뚦 -뚦 -뚦 -뚦 - -뚧 -뚧 -뚧 -뚧 -뚧 - -뚨 -뚨 -뚨 -뚨 -뚨 - -뚩 -뚩 -뚩 -뚩 -뚩 - -뚪 -뚪 -뚪 -뚪 -뚪 - -뚫 -뚫 -뚫 -뚫 -뚫 - -뚬 -뚬 -뚬 -뚬 -뚬 - -뚭 -뚭 -뚭 -뚭 -뚭 - -뚮 -뚮 -뚮 -뚮 -뚮 - -뚯 -뚯 -뚯 -뚯 -뚯 - -뚰 -뚰 -뚰 -뚰 -뚰 - -뚱 -뚱 -뚱 -뚱 -뚱 - -뚲 -뚲 -뚲 -뚲 -뚲 - -뚳 -뚳 -뚳 -뚳 -뚳 - -뚴 -뚴 -뚴 -뚴 -뚴 - -뚵 -뚵 -뚵 -뚵 -뚵 - -뚶 -뚶 -뚶 -뚶 -뚶 - -뚷 -뚷 -뚷 -뚷 -뚷 - -뚸 -뚸 -뚸 -뚸 -뚸 - -뚹 -뚹 -뚹 -뚹 -뚹 - -뚺 -뚺 -뚺 -뚺 -뚺 - -뚻 -뚻 -뚻 -뚻 -뚻 - -뚼 -뚼 -뚼 -뚼 -뚼 - -뚽 -뚽 -뚽 -뚽 -뚽 - -뚾 -뚾 -뚾 -뚾 -뚾 - -뚿 -뚿 -뚿 -뚿 -뚿 - -뛀 -뛀 -뛀 -뛀 -뛀 - -뛁 -뛁 -뛁 -뛁 -뛁 - -뛂 -뛂 -뛂 -뛂 -뛂 - -뛃 -뛃 -뛃 -뛃 -뛃 - -뛄 -뛄 -뛄 -뛄 -뛄 - -뛅 -뛅 -뛅 -뛅 -뛅 - -뛆 -뛆 -뛆 -뛆 -뛆 - -뛇 -뛇 -뛇 -뛇 -뛇 - -뛈 -뛈 -뛈 -뛈 -뛈 - -뛉 -뛉 -뛉 -뛉 -뛉 - -뛊 -뛊 -뛊 -뛊 -뛊 - -뛋 -뛋 -뛋 -뛋 -뛋 - -뛌 -뛌 -뛌 -뛌 -뛌 - -뛍 -뛍 -뛍 -뛍 -뛍 - -뛎 -뛎 -뛎 -뛎 -뛎 - -뛏 -뛏 -뛏 -뛏 -뛏 - -뛐 -뛐 -뛐 -뛐 -뛐 - -뛑 -뛑 -뛑 -뛑 -뛑 - -뛒 -뛒 -뛒 -뛒 -뛒 - -뛓 -뛓 -뛓 -뛓 -뛓 - -뛔 -뛔 -뛔 -뛔 -뛔 - -뛕 -뛕 -뛕 -뛕 -뛕 - -뛖 -뛖 -뛖 -뛖 -뛖 - -뛗 -뛗 -뛗 -뛗 -뛗 - -뛘 -뛘 -뛘 -뛘 -뛘 - -뛙 -뛙 -뛙 -뛙 -뛙 - -뛚 -뛚 -뛚 -뛚 -뛚 - -뛛 -뛛 -뛛 -뛛 -뛛 - -뛜 -뛜 -뛜 -뛜 -뛜 - -뛝 -뛝 -뛝 -뛝 -뛝 - -뛞 -뛞 -뛞 -뛞 -뛞 - -뛟 -뛟 -뛟 -뛟 -뛟 - -뛠 -뛠 -뛠 -뛠 -뛠 - -뛡 -뛡 -뛡 -뛡 -뛡 - -뛢 -뛢 -뛢 -뛢 -뛢 - -뛣 -뛣 -뛣 -뛣 -뛣 - -뛤 -뛤 -뛤 -뛤 -뛤 - -뛥 -뛥 -뛥 -뛥 -뛥 - -뛦 -뛦 -뛦 -뛦 -뛦 - -뛧 -뛧 -뛧 -뛧 -뛧 - -뛨 -뛨 -뛨 -뛨 -뛨 - -뛩 -뛩 -뛩 -뛩 -뛩 - -뛪 -뛪 -뛪 -뛪 -뛪 - -뛫 -뛫 -뛫 -뛫 -뛫 - -뛬 -뛬 -뛬 -뛬 -뛬 - -뛭 -뛭 -뛭 -뛭 -뛭 - -뛮 -뛮 -뛮 -뛮 -뛮 - -뛯 -뛯 -뛯 -뛯 -뛯 - -뛰 -뛰 -뛰 -뛰 -뛰 - -뛱 -뛱 -뛱 -뛱 -뛱 - -뛲 -뛲 -뛲 -뛲 -뛲 - -뛳 -뛳 -뛳 -뛳 -뛳 - -뛴 -뛴 -뛴 -뛴 -뛴 - -뛵 -뛵 -뛵 -뛵 -뛵 - -뛶 -뛶 -뛶 -뛶 -뛶 - -뛷 -뛷 -뛷 -뛷 -뛷 - -뛸 -뛸 -뛸 -뛸 -뛸 - -뛹 -뛹 -뛹 -뛹 -뛹 - -뛺 -뛺 -뛺 -뛺 -뛺 - -뛻 -뛻 -뛻 -뛻 -뛻 - -뛼 -뛼 -뛼 -뛼 -뛼 - -뛽 -뛽 -뛽 -뛽 -뛽 - -뛾 -뛾 -뛾 -뛾 -뛾 - -뛿 -뛿 -뛿 -뛿 -뛿 - -뜀 -뜀 -뜀 -뜀 -뜀 - -뜁 -뜁 -뜁 -뜁 -뜁 - -뜂 -뜂 -뜂 -뜂 -뜂 - -뜃 -뜃 -뜃 -뜃 -뜃 - -뜄 -뜄 -뜄 -뜄 -뜄 - -뜅 -뜅 -뜅 -뜅 -뜅 - -뜆 -뜆 -뜆 -뜆 -뜆 - -뜇 -뜇 -뜇 -뜇 -뜇 - -뜈 -뜈 -뜈 -뜈 -뜈 - -뜉 -뜉 -뜉 -뜉 -뜉 - -뜊 -뜊 -뜊 -뜊 -뜊 - -뜋 -뜋 -뜋 -뜋 -뜋 - -뜌 -뜌 -뜌 -뜌 -뜌 - -뜍 -뜍 -뜍 -뜍 -뜍 - -뜎 -뜎 -뜎 -뜎 -뜎 - -뜏 -뜏 -뜏 -뜏 -뜏 - -뜐 -뜐 -뜐 -뜐 -뜐 - -뜑 -뜑 -뜑 -뜑 -뜑 - -뜒 -뜒 -뜒 -뜒 -뜒 - -뜓 -뜓 -뜓 -뜓 -뜓 - -뜔 -뜔 -뜔 -뜔 -뜔 - -뜕 -뜕 -뜕 -뜕 -뜕 - -뜖 -뜖 -뜖 -뜖 -뜖 - -뜗 -뜗 -뜗 -뜗 -뜗 - -뜘 -뜘 -뜘 -뜘 -뜘 - -뜙 -뜙 -뜙 -뜙 -뜙 - -뜚 -뜚 -뜚 -뜚 -뜚 - -뜛 -뜛 -뜛 -뜛 -뜛 - -뜜 -뜜 -뜜 -뜜 -뜜 - -뜝 -뜝 -뜝 -뜝 -뜝 - -뜞 -뜞 -뜞 -뜞 -뜞 - -뜟 -뜟 -뜟 -뜟 -뜟 - -뜠 -뜠 -뜠 -뜠 -뜠 - -뜡 -뜡 -뜡 -뜡 -뜡 - -뜢 -뜢 -뜢 -뜢 -뜢 - -뜣 -뜣 -뜣 -뜣 -뜣 - -뜤 -뜤 -뜤 -뜤 -뜤 - -뜥 -뜥 -뜥 -뜥 -뜥 - -뜦 -뜦 -뜦 -뜦 -뜦 - -뜧 -뜧 -뜧 -뜧 -뜧 - -뜨 -뜨 -뜨 -뜨 -뜨 - -뜩 -뜩 -뜩 -뜩 -뜩 - -뜪 -뜪 -뜪 -뜪 -뜪 - -뜫 -뜫 -뜫 -뜫 -뜫 - -뜬 -뜬 -뜬 -뜬 -뜬 - -뜭 -뜭 -뜭 -뜭 -뜭 - -뜮 -뜮 -뜮 -뜮 -뜮 - -뜯 -뜯 -뜯 -뜯 -뜯 - -뜰 -뜰 -뜰 -뜰 -뜰 - -뜱 -뜱 -뜱 -뜱 -뜱 - -뜲 -뜲 -뜲 -뜲 -뜲 - -뜳 -뜳 -뜳 -뜳 -뜳 - -뜴 -뜴 -뜴 -뜴 -뜴 - -뜵 -뜵 -뜵 -뜵 -뜵 - -뜶 -뜶 -뜶 -뜶 -뜶 - -뜷 -뜷 -뜷 -뜷 -뜷 - -뜸 -뜸 -뜸 -뜸 -뜸 - -뜹 -뜹 -뜹 -뜹 -뜹 - -뜺 -뜺 -뜺 -뜺 -뜺 - -뜻 -뜻 -뜻 -뜻 -뜻 - -뜼 -뜼 -뜼 -뜼 -뜼 - -뜽 -뜽 -뜽 -뜽 -뜽 - -뜾 -뜾 -뜾 -뜾 -뜾 - -뜿 -뜿 -뜿 -뜿 -뜿 - -띀 -띀 -띀 -띀 -띀 - -띁 -띁 -띁 -띁 -띁 - -띂 -띂 -띂 -띂 -띂 - -띃 -띃 -띃 -띃 -띃 - -띄 -띄 -띄 -띄 -띄 - -띅 -띅 -띅 -띅 -띅 - -띆 -띆 -띆 -띆 -띆 - -띇 -띇 -띇 -띇 -띇 - -띈 -띈 -띈 -띈 -띈 - -띉 -띉 -띉 -띉 -띉 - -띊 -띊 -띊 -띊 -띊 - -띋 -띋 -띋 -띋 -띋 - -띌 -띌 -띌 -띌 -띌 - -띍 -띍 -띍 -띍 -띍 - -띎 -띎 -띎 -띎 -띎 - -띏 -띏 -띏 -띏 -띏 - -띐 -띐 -띐 -띐 -띐 - -띑 -띑 -띑 -띑 -띑 - -띒 -띒 -띒 -띒 -띒 - -띓 -띓 -띓 -띓 -띓 - -띔 -띔 -띔 -띔 -띔 - -띕 -띕 -띕 -띕 -띕 - -띖 -띖 -띖 -띖 -띖 - -띗 -띗 -띗 -띗 -띗 - -띘 -띘 -띘 -띘 -띘 - -띙 -띙 -띙 -띙 -띙 - -띚 -띚 -띚 -띚 -띚 - -띛 -띛 -띛 -띛 -띛 - -띜 -띜 -띜 -띜 -띜 - -띝 -띝 -띝 -띝 -띝 - -띞 -띞 -띞 -띞 -띞 - -띟 -띟 -띟 -띟 -띟 - -띠 -띠 -띠 -띠 -띠 - -띡 -띡 -띡 -띡 -띡 - -띢 -띢 -띢 -띢 -띢 - -띣 -띣 -띣 -띣 -띣 - -띤 -띤 -띤 -띤 -띤 - -띥 -띥 -띥 -띥 -띥 - -띦 -띦 -띦 -띦 -띦 - -띧 -띧 -띧 -띧 -띧 - -띨 -띨 -띨 -띨 -띨 - -띩 -띩 -띩 -띩 -띩 - -띪 -띪 -띪 -띪 -띪 - -띫 -띫 -띫 -띫 -띫 - -띬 -띬 -띬 -띬 -띬 - -띭 -띭 -띭 -띭 -띭 - -띮 -띮 -띮 -띮 -띮 - -띯 -띯 -띯 -띯 -띯 - -띰 -띰 -띰 -띰 -띰 - -띱 -띱 -띱 -띱 -띱 - -띲 -띲 -띲 -띲 -띲 - -띳 -띳 -띳 -띳 -띳 - -띴 -띴 -띴 -띴 -띴 - -띵 -띵 -띵 -띵 -띵 - -띶 -띶 -띶 -띶 -띶 - -띷 -띷 -띷 -띷 -띷 - -띸 -띸 -띸 -띸 -띸 - -띹 -띹 -띹 -띹 -띹 - -띺 -띺 -띺 -띺 -띺 - -띻 -띻 -띻 -띻 -띻 - -라 -라 -라 -라 -라 - -락 -락 -락 -락 -락 - -띾 -띾 -띾 -띾 -띾 - -띿 -띿 -띿 -띿 -띿 - -란 -란 -란 -란 -란 - -랁 -랁 -랁 -랁 -랁 - -랂 -랂 -랂 -랂 -랂 - -랃 -랃 -랃 -랃 -랃 - -랄 -랄 -랄 -랄 -랄 - -랅 -랅 -랅 -랅 -랅 - -랆 -랆 -랆 -랆 -랆 - -랇 -랇 -랇 -랇 -랇 - -랈 -랈 -랈 -랈 -랈 - -랉 -랉 -랉 -랉 -랉 - -랊 -랊 -랊 -랊 -랊 - -랋 -랋 -랋 -랋 -랋 - -람 -람 -람 -람 -람 - -랍 -랍 -랍 -랍 -랍 - -랎 -랎 -랎 -랎 -랎 - -랏 -랏 -랏 -랏 -랏 - -랐 -랐 -랐 -랐 -랐 - -랑 -랑 -랑 -랑 -랑 - -랒 -랒 -랒 -랒 -랒 - -랓 -랓 -랓 -랓 -랓 - -랔 -랔 -랔 -랔 -랔 - -랕 -랕 -랕 -랕 -랕 - -랖 -랖 -랖 -랖 -랖 - -랗 -랗 -랗 -랗 -랗 - -래 -래 -래 -래 -래 - -랙 -랙 -랙 -랙 -랙 - -랚 -랚 -랚 -랚 -랚 - -랛 -랛 -랛 -랛 -랛 - -랜 -랜 -랜 -랜 -랜 - -랝 -랝 -랝 -랝 -랝 - -랞 -랞 -랞 -랞 -랞 - -랟 -랟 -랟 -랟 -랟 - -랠 -랠 -랠 -랠 -랠 - -랡 -랡 -랡 -랡 -랡 - -랢 -랢 -랢 -랢 -랢 - -랣 -랣 -랣 -랣 -랣 - -랤 -랤 -랤 -랤 -랤 - -랥 -랥 -랥 -랥 -랥 - -랦 -랦 -랦 -랦 -랦 - -랧 -랧 -랧 -랧 -랧 - -램 -램 -램 -램 -램 - -랩 -랩 -랩 -랩 -랩 - -랪 -랪 -랪 -랪 -랪 - -랫 -랫 -랫 -랫 -랫 - -랬 -랬 -랬 -랬 -랬 - -랭 -랭 -랭 -랭 -랭 - -랮 -랮 -랮 -랮 -랮 - -랯 -랯 -랯 -랯 -랯 - -랰 -랰 -랰 -랰 -랰 - -랱 -랱 -랱 -랱 -랱 - -랲 -랲 -랲 -랲 -랲 - -랳 -랳 -랳 -랳 -랳 - -랴 -랴 -랴 -랴 -랴 - -략 -략 -략 -략 -략 - -랶 -랶 -랶 -랶 -랶 - -랷 -랷 -랷 -랷 -랷 - -랸 -랸 -랸 -랸 -랸 - -랹 -랹 -랹 -랹 -랹 - -랺 -랺 -랺 -랺 -랺 - -랻 -랻 -랻 -랻 -랻 - -랼 -랼 -랼 -랼 -랼 - -랽 -랽 -랽 -랽 -랽 - -랾 -랾 -랾 -랾 -랾 - -랿 -랿 -랿 -랿 -랿 - -럀 -럀 -럀 -럀 -럀 - -럁 -럁 -럁 -럁 -럁 - -럂 -럂 -럂 -럂 -럂 - -럃 -럃 -럃 -럃 -럃 - -럄 -럄 -럄 -럄 -럄 - -럅 -럅 -럅 -럅 -럅 - -럆 -럆 -럆 -럆 -럆 - -럇 -럇 -럇 -럇 -럇 - -럈 -럈 -럈 -럈 -럈 - -량 -량 -량 -량 -량 - -럊 -럊 -럊 -럊 -럊 - -럋 -럋 -럋 -럋 -럋 - -럌 -럌 -럌 -럌 -럌 - -럍 -럍 -럍 -럍 -럍 - -럎 -럎 -럎 -럎 -럎 - -럏 -럏 -럏 -럏 -럏 - -럐 -럐 -럐 -럐 -럐 - -럑 -럑 -럑 -럑 -럑 - -럒 -럒 -럒 -럒 -럒 - -럓 -럓 -럓 -럓 -럓 - -럔 -럔 -럔 -럔 -럔 - -럕 -럕 -럕 -럕 -럕 - -럖 -럖 -럖 -럖 -럖 - -럗 -럗 -럗 -럗 -럗 - -럘 -럘 -럘 -럘 -럘 - -럙 -럙 -럙 -럙 -럙 - -럚 -럚 -럚 -럚 -럚 - -럛 -럛 -럛 -럛 -럛 - -럜 -럜 -럜 -럜 -럜 - -럝 -럝 -럝 -럝 -럝 - -럞 -럞 -럞 -럞 -럞 - -럟 -럟 -럟 -럟 -럟 - -럠 -럠 -럠 -럠 -럠 - -럡 -럡 -럡 -럡 -럡 - -럢 -럢 -럢 -럢 -럢 - -럣 -럣 -럣 -럣 -럣 - -럤 -럤 -럤 -럤 -럤 - -럥 -럥 -럥 -럥 -럥 - -럦 -럦 -럦 -럦 -럦 - -럧 -럧 -럧 -럧 -럧 - -럨 -럨 -럨 -럨 -럨 - -럩 -럩 -럩 -럩 -럩 - -럪 -럪 -럪 -럪 -럪 - -럫 -럫 -럫 -럫 -럫 - -러 -러 -러 -러 -러 - -럭 -럭 -럭 -럭 -럭 - -럮 -럮 -럮 -럮 -럮 - -럯 -럯 -럯 -럯 -럯 - -런 -런 -런 -런 -런 - -럱 -럱 -럱 -럱 -럱 - -럲 -럲 -럲 -럲 -럲 - -럳 -럳 -럳 -럳 -럳 - -럴 -럴 -럴 -럴 -럴 - -럵 -럵 -럵 -럵 -럵 - -럶 -럶 -럶 -럶 -럶 - -럷 -럷 -럷 -럷 -럷 - -럸 -럸 -럸 -럸 -럸 - -럹 -럹 -럹 -럹 -럹 - -럺 -럺 -럺 -럺 -럺 - -럻 -럻 -럻 -럻 -럻 - -럼 -럼 -럼 -럼 -럼 - -럽 -럽 -럽 -럽 -럽 - -럾 -럾 -럾 -럾 -럾 - -럿 -럿 -럿 -럿 -럿 - -렀 -렀 -렀 -렀 -렀 - -렁 -렁 -렁 -렁 -렁 - -렂 -렂 -렂 -렂 -렂 - -렃 -렃 -렃 -렃 -렃 - -렄 -렄 -렄 -렄 -렄 - -렅 -렅 -렅 -렅 -렅 - -렆 -렆 -렆 -렆 -렆 - -렇 -렇 -렇 -렇 -렇 - -레 -레 -레 -레 -레 - -렉 -렉 -렉 -렉 -렉 - -렊 -렊 -렊 -렊 -렊 - -렋 -렋 -렋 -렋 -렋 - -렌 -렌 -렌 -렌 -렌 - -렍 -렍 -렍 -렍 -렍 - -렎 -렎 -렎 -렎 -렎 - -렏 -렏 -렏 -렏 -렏 - -렐 -렐 -렐 -렐 -렐 - -렑 -렑 -렑 -렑 -렑 - -렒 -렒 -렒 -렒 -렒 - -렓 -렓 -렓 -렓 -렓 - -렔 -렔 -렔 -렔 -렔 - -렕 -렕 -렕 -렕 -렕 - -렖 -렖 -렖 -렖 -렖 - -렗 -렗 -렗 -렗 -렗 - -렘 -렘 -렘 -렘 -렘 - -렙 -렙 -렙 -렙 -렙 - -렚 -렚 -렚 -렚 -렚 - -렛 -렛 -렛 -렛 -렛 - -렜 -렜 -렜 -렜 -렜 - -렝 -렝 -렝 -렝 -렝 - -렞 -렞 -렞 -렞 -렞 - -렟 -렟 -렟 -렟 -렟 - -렠 -렠 -렠 -렠 -렠 - -렡 -렡 -렡 -렡 -렡 - -렢 -렢 -렢 -렢 -렢 - -렣 -렣 -렣 -렣 -렣 - -려 -려 -려 -려 -려 - -력 -력 -력 -력 -력 - -렦 -렦 -렦 -렦 -렦 - -렧 -렧 -렧 -렧 -렧 - -련 -련 -련 -련 -련 - -렩 -렩 -렩 -렩 -렩 - -렪 -렪 -렪 -렪 -렪 - -렫 -렫 -렫 -렫 -렫 - -렬 -렬 -렬 -렬 -렬 - -렭 -렭 -렭 -렭 -렭 - -렮 -렮 -렮 -렮 -렮 - -렯 -렯 -렯 -렯 -렯 - -렰 -렰 -렰 -렰 -렰 - -렱 -렱 -렱 -렱 -렱 - -렲 -렲 -렲 -렲 -렲 - -렳 -렳 -렳 -렳 -렳 - -렴 -렴 -렴 -렴 -렴 - -렵 -렵 -렵 -렵 -렵 - -렶 -렶 -렶 -렶 -렶 - -렷 -렷 -렷 -렷 -렷 - -렸 -렸 -렸 -렸 -렸 - -령 -령 -령 -령 -령 - -렺 -렺 -렺 -렺 -렺 - -렻 -렻 -렻 -렻 -렻 - -렼 -렼 -렼 -렼 -렼 - -렽 -렽 -렽 -렽 -렽 - -렾 -렾 -렾 -렾 -렾 - -렿 -렿 -렿 -렿 -렿 - -례 -례 -례 -례 -례 - -롁 -롁 -롁 -롁 -롁 - -롂 -롂 -롂 -롂 -롂 - -롃 -롃 -롃 -롃 -롃 - -롄 -롄 -롄 -롄 -롄 - -롅 -롅 -롅 -롅 -롅 - -롆 -롆 -롆 -롆 -롆 - -롇 -롇 -롇 -롇 -롇 - -롈 -롈 -롈 -롈 -롈 - -롉 -롉 -롉 -롉 -롉 - -롊 -롊 -롊 -롊 -롊 - -롋 -롋 -롋 -롋 -롋 - -롌 -롌 -롌 -롌 -롌 - -롍 -롍 -롍 -롍 -롍 - -롎 -롎 -롎 -롎 -롎 - -롏 -롏 -롏 -롏 -롏 - -롐 -롐 -롐 -롐 -롐 - -롑 -롑 -롑 -롑 -롑 - -롒 -롒 -롒 -롒 -롒 - -롓 -롓 -롓 -롓 -롓 - -롔 -롔 -롔 -롔 -롔 - -롕 -롕 -롕 -롕 -롕 - -롖 -롖 -롖 -롖 -롖 - -롗 -롗 -롗 -롗 -롗 - -롘 -롘 -롘 -롘 -롘 - -롙 -롙 -롙 -롙 -롙 - -롚 -롚 -롚 -롚 -롚 - -롛 -롛 -롛 -롛 -롛 - -로 -로 -로 -로 -로 - -록 -록 -록 -록 -록 - -롞 -롞 -롞 -롞 -롞 - -롟 -롟 -롟 -롟 -롟 - -론 -론 -론 -론 -론 - -롡 -롡 -롡 -롡 -롡 - -롢 -롢 -롢 -롢 -롢 - -롣 -롣 -롣 -롣 -롣 - -롤 -롤 -롤 -롤 -롤 - -롥 -롥 -롥 -롥 -롥 - -롦 -롦 -롦 -롦 -롦 - -롧 -롧 -롧 -롧 -롧 - -롨 -롨 -롨 -롨 -롨 - -롩 -롩 -롩 -롩 -롩 - -롪 -롪 -롪 -롪 -롪 - -롫 -롫 -롫 -롫 -롫 - -롬 -롬 -롬 -롬 -롬 - -롭 -롭 -롭 -롭 -롭 - -롮 -롮 -롮 -롮 -롮 - -롯 -롯 -롯 -롯 -롯 - -롰 -롰 -롰 -롰 -롰 - -롱 -롱 -롱 -롱 -롱 - -롲 -롲 -롲 -롲 -롲 - -롳 -롳 -롳 -롳 -롳 - -롴 -롴 -롴 -롴 -롴 - -롵 -롵 -롵 -롵 -롵 - -롶 -롶 -롶 -롶 -롶 - -롷 -롷 -롷 -롷 -롷 - -롸 -롸 -롸 -롸 -롸 - -롹 -롹 -롹 -롹 -롹 - -롺 -롺 -롺 -롺 -롺 - -롻 -롻 -롻 -롻 -롻 - -롼 -롼 -롼 -롼 -롼 - -롽 -롽 -롽 -롽 -롽 - -롾 -롾 -롾 -롾 -롾 - -롿 -롿 -롿 -롿 -롿 - -뢀 -뢀 -뢀 -뢀 -뢀 - -뢁 -뢁 -뢁 -뢁 -뢁 - -뢂 -뢂 -뢂 -뢂 -뢂 - -뢃 -뢃 -뢃 -뢃 -뢃 - -뢄 -뢄 -뢄 -뢄 -뢄 - -뢅 -뢅 -뢅 -뢅 -뢅 - -뢆 -뢆 -뢆 -뢆 -뢆 - -뢇 -뢇 -뢇 -뢇 -뢇 - -뢈 -뢈 -뢈 -뢈 -뢈 - -뢉 -뢉 -뢉 -뢉 -뢉 - -뢊 -뢊 -뢊 -뢊 -뢊 - -뢋 -뢋 -뢋 -뢋 -뢋 - -뢌 -뢌 -뢌 -뢌 -뢌 - -뢍 -뢍 -뢍 -뢍 -뢍 - -뢎 -뢎 -뢎 -뢎 -뢎 - -뢏 -뢏 -뢏 -뢏 -뢏 - -뢐 -뢐 -뢐 -뢐 -뢐 - -뢑 -뢑 -뢑 -뢑 -뢑 - -뢒 -뢒 -뢒 -뢒 -뢒 - -뢓 -뢓 -뢓 -뢓 -뢓 - -뢔 -뢔 -뢔 -뢔 -뢔 - -뢕 -뢕 -뢕 -뢕 -뢕 - -뢖 -뢖 -뢖 -뢖 -뢖 - -뢗 -뢗 -뢗 -뢗 -뢗 - -뢘 -뢘 -뢘 -뢘 -뢘 - -뢙 -뢙 -뢙 -뢙 -뢙 - -뢚 -뢚 -뢚 -뢚 -뢚 - -뢛 -뢛 -뢛 -뢛 -뢛 - -뢜 -뢜 -뢜 -뢜 -뢜 - -뢝 -뢝 -뢝 -뢝 -뢝 - -뢞 -뢞 -뢞 -뢞 -뢞 - -뢟 -뢟 -뢟 -뢟 -뢟 - -뢠 -뢠 -뢠 -뢠 -뢠 - -뢡 -뢡 -뢡 -뢡 -뢡 - -뢢 -뢢 -뢢 -뢢 -뢢 - -뢣 -뢣 -뢣 -뢣 -뢣 - -뢤 -뢤 -뢤 -뢤 -뢤 - -뢥 -뢥 -뢥 -뢥 -뢥 - -뢦 -뢦 -뢦 -뢦 -뢦 - -뢧 -뢧 -뢧 -뢧 -뢧 - -뢨 -뢨 -뢨 -뢨 -뢨 - -뢩 -뢩 -뢩 -뢩 -뢩 - -뢪 -뢪 -뢪 -뢪 -뢪 - -뢫 -뢫 -뢫 -뢫 -뢫 - -뢬 -뢬 -뢬 -뢬 -뢬 - -뢭 -뢭 -뢭 -뢭 -뢭 - -뢮 -뢮 -뢮 -뢮 -뢮 - -뢯 -뢯 -뢯 -뢯 -뢯 - -뢰 -뢰 -뢰 -뢰 -뢰 - -뢱 -뢱 -뢱 -뢱 -뢱 - -뢲 -뢲 -뢲 -뢲 -뢲 - -뢳 -뢳 -뢳 -뢳 -뢳 - -뢴 -뢴 -뢴 -뢴 -뢴 - -뢵 -뢵 -뢵 -뢵 -뢵 - -뢶 -뢶 -뢶 -뢶 -뢶 - -뢷 -뢷 -뢷 -뢷 -뢷 - -뢸 -뢸 -뢸 -뢸 -뢸 - -뢹 -뢹 -뢹 -뢹 -뢹 - -뢺 -뢺 -뢺 -뢺 -뢺 - -뢻 -뢻 -뢻 -뢻 -뢻 - -뢼 -뢼 -뢼 -뢼 -뢼 - -뢽 -뢽 -뢽 -뢽 -뢽 - -뢾 -뢾 -뢾 -뢾 -뢾 - -뢿 -뢿 -뢿 -뢿 -뢿 - -룀 -룀 -룀 -룀 -룀 - -룁 -룁 -룁 -룁 -룁 - -룂 -룂 -룂 -룂 -룂 - -룃 -룃 -룃 -룃 -룃 - -룄 -룄 -룄 -룄 -룄 - -룅 -룅 -룅 -룅 -룅 - -룆 -룆 -룆 -룆 -룆 - -룇 -룇 -룇 -룇 -룇 - -룈 -룈 -룈 -룈 -룈 - -룉 -룉 -룉 -룉 -룉 - -룊 -룊 -룊 -룊 -룊 - -룋 -룋 -룋 -룋 -룋 - -료 -료 -료 -료 -료 - -룍 -룍 -룍 -룍 -룍 - -룎 -룎 -룎 -룎 -룎 - -룏 -룏 -룏 -룏 -룏 - -룐 -룐 -룐 -룐 -룐 - -룑 -룑 -룑 -룑 -룑 - -룒 -룒 -룒 -룒 -룒 - -룓 -룓 -룓 -룓 -룓 - -룔 -룔 -룔 -룔 -룔 - -룕 -룕 -룕 -룕 -룕 - -룖 -룖 -룖 -룖 -룖 - -룗 -룗 -룗 -룗 -룗 - -룘 -룘 -룘 -룘 -룘 - -룙 -룙 -룙 -룙 -룙 - -룚 -룚 -룚 -룚 -룚 - -룛 -룛 -룛 -룛 -룛 - -룜 -룜 -룜 -룜 -룜 - -룝 -룝 -룝 -룝 -룝 - -룞 -룞 -룞 -룞 -룞 - -룟 -룟 -룟 -룟 -룟 - -룠 -룠 -룠 -룠 -룠 - -룡 -룡 -룡 -룡 -룡 - -룢 -룢 -룢 -룢 -룢 - -룣 -룣 -룣 -룣 -룣 - -룤 -룤 -룤 -룤 -룤 - -룥 -룥 -룥 -룥 -룥 - -룦 -룦 -룦 -룦 -룦 - -룧 -룧 -룧 -룧 -룧 - -루 -루 -루 -루 -루 - -룩 -룩 -룩 -룩 -룩 - -룪 -룪 -룪 -룪 -룪 - -룫 -룫 -룫 -룫 -룫 - -룬 -룬 -룬 -룬 -룬 - -룭 -룭 -룭 -룭 -룭 - -룮 -룮 -룮 -룮 -룮 - -룯 -룯 -룯 -룯 -룯 - -룰 -룰 -룰 -룰 -룰 - -룱 -룱 -룱 -룱 -룱 - -룲 -룲 -룲 -룲 -룲 - -룳 -룳 -룳 -룳 -룳 - -룴 -룴 -룴 -룴 -룴 - -룵 -룵 -룵 -룵 -룵 - -룶 -룶 -룶 -룶 -룶 - -룷 -룷 -룷 -룷 -룷 - -룸 -룸 -룸 -룸 -룸 - -룹 -룹 -룹 -룹 -룹 - -룺 -룺 -룺 -룺 -룺 - -룻 -룻 -룻 -룻 -룻 - -룼 -룼 -룼 -룼 -룼 - -룽 -룽 -룽 -룽 -룽 - -룾 -룾 -룾 -룾 -룾 - -룿 -룿 -룿 -룿 -룿 - -뤀 -뤀 -뤀 -뤀 -뤀 - -뤁 -뤁 -뤁 -뤁 -뤁 - -뤂 -뤂 -뤂 -뤂 -뤂 - -뤃 -뤃 -뤃 -뤃 -뤃 - -뤄 -뤄 -뤄 -뤄 -뤄 - -뤅 -뤅 -뤅 -뤅 -뤅 - -뤆 -뤆 -뤆 -뤆 -뤆 - -뤇 -뤇 -뤇 -뤇 -뤇 - -뤈 -뤈 -뤈 -뤈 -뤈 - -뤉 -뤉 -뤉 -뤉 -뤉 - -뤊 -뤊 -뤊 -뤊 -뤊 - -뤋 -뤋 -뤋 -뤋 -뤋 - -뤌 -뤌 -뤌 -뤌 -뤌 - -뤍 -뤍 -뤍 -뤍 -뤍 - -뤎 -뤎 -뤎 -뤎 -뤎 - -뤏 -뤏 -뤏 -뤏 -뤏 - -뤐 -뤐 -뤐 -뤐 -뤐 - -뤑 -뤑 -뤑 -뤑 -뤑 - -뤒 -뤒 -뤒 -뤒 -뤒 - -뤓 -뤓 -뤓 -뤓 -뤓 - -뤔 -뤔 -뤔 -뤔 -뤔 - -뤕 -뤕 -뤕 -뤕 -뤕 - -뤖 -뤖 -뤖 -뤖 -뤖 - -뤗 -뤗 -뤗 -뤗 -뤗 - -뤘 -뤘 -뤘 -뤘 -뤘 - -뤙 -뤙 -뤙 -뤙 -뤙 - -뤚 -뤚 -뤚 -뤚 -뤚 - -뤛 -뤛 -뤛 -뤛 -뤛 - -뤜 -뤜 -뤜 -뤜 -뤜 - -뤝 -뤝 -뤝 -뤝 -뤝 - -뤞 -뤞 -뤞 -뤞 -뤞 - -뤟 -뤟 -뤟 -뤟 -뤟 - -뤠 -뤠 -뤠 -뤠 -뤠 - -뤡 -뤡 -뤡 -뤡 -뤡 - -뤢 -뤢 -뤢 -뤢 -뤢 - -뤣 -뤣 -뤣 -뤣 -뤣 - -뤤 -뤤 -뤤 -뤤 -뤤 - -뤥 -뤥 -뤥 -뤥 -뤥 - -뤦 -뤦 -뤦 -뤦 -뤦 - -뤧 -뤧 -뤧 -뤧 -뤧 - -뤨 -뤨 -뤨 -뤨 -뤨 - -뤩 -뤩 -뤩 -뤩 -뤩 - -뤪 -뤪 -뤪 -뤪 -뤪 - -뤫 -뤫 -뤫 -뤫 -뤫 - -뤬 -뤬 -뤬 -뤬 -뤬 - -뤭 -뤭 -뤭 -뤭 -뤭 - -뤮 -뤮 -뤮 -뤮 -뤮 - -뤯 -뤯 -뤯 -뤯 -뤯 - -뤰 -뤰 -뤰 -뤰 -뤰 - -뤱 -뤱 -뤱 -뤱 -뤱 - -뤲 -뤲 -뤲 -뤲 -뤲 - -뤳 -뤳 -뤳 -뤳 -뤳 - -뤴 -뤴 -뤴 -뤴 -뤴 - -뤵 -뤵 -뤵 -뤵 -뤵 - -뤶 -뤶 -뤶 -뤶 -뤶 - -뤷 -뤷 -뤷 -뤷 -뤷 - -뤸 -뤸 -뤸 -뤸 -뤸 - -뤹 -뤹 -뤹 -뤹 -뤹 - -뤺 -뤺 -뤺 -뤺 -뤺 - -뤻 -뤻 -뤻 -뤻 -뤻 - -뤼 -뤼 -뤼 -뤼 -뤼 - -뤽 -뤽 -뤽 -뤽 -뤽 - -뤾 -뤾 -뤾 -뤾 -뤾 - -뤿 -뤿 -뤿 -뤿 -뤿 - -륀 -륀 -륀 -륀 -륀 - -륁 -륁 -륁 -륁 -륁 - -륂 -륂 -륂 -륂 -륂 - -륃 -륃 -륃 -륃 -륃 - -륄 -륄 -륄 -륄 -륄 - -륅 -륅 -륅 -륅 -륅 - -륆 -륆 -륆 -륆 -륆 - -륇 -륇 -륇 -륇 -륇 - -륈 -륈 -륈 -륈 -륈 - -륉 -륉 -륉 -륉 -륉 - -륊 -륊 -륊 -륊 -륊 - -륋 -륋 -륋 -륋 -륋 - -륌 -륌 -륌 -륌 -륌 - -륍 -륍 -륍 -륍 -륍 - -륎 -륎 -륎 -륎 -륎 - -륏 -륏 -륏 -륏 -륏 - -륐 -륐 -륐 -륐 -륐 - -륑 -륑 -륑 -륑 -륑 - -륒 -륒 -륒 -륒 -륒 - -륓 -륓 -륓 -륓 -륓 - -륔 -륔 -륔 -륔 -륔 - -륕 -륕 -륕 -륕 -륕 - -륖 -륖 -륖 -륖 -륖 - -륗 -륗 -륗 -륗 -륗 - -류 -류 -류 -류 -류 - -륙 -륙 -륙 -륙 -륙 - -륚 -륚 -륚 -륚 -륚 - -륛 -륛 -륛 -륛 -륛 - -륜 -륜 -륜 -륜 -륜 - -륝 -륝 -륝 -륝 -륝 - -륞 -륞 -륞 -륞 -륞 - -륟 -륟 -륟 -륟 -륟 - -률 -률 -률 -률 -률 - -륡 -륡 -륡 -륡 -륡 - -륢 -륢 -륢 -륢 -륢 - -륣 -륣 -륣 -륣 -륣 - -륤 -륤 -륤 -륤 -륤 - -륥 -륥 -륥 -륥 -륥 - -륦 -륦 -륦 -륦 -륦 - -륧 -륧 -륧 -륧 -륧 - -륨 -륨 -륨 -륨 -륨 - -륩 -륩 -륩 -륩 -륩 - -륪 -륪 -륪 -륪 -륪 - -륫 -륫 -륫 -륫 -륫 - -륬 -륬 -륬 -륬 -륬 - -륭 -륭 -륭 -륭 -륭 - -륮 -륮 -륮 -륮 -륮 - -륯 -륯 -륯 -륯 -륯 - -륰 -륰 -륰 -륰 -륰 - -륱 -륱 -륱 -륱 -륱 - -륲 -륲 -륲 -륲 -륲 - -륳 -륳 -륳 -륳 -륳 - -르 -르 -르 -르 -르 - -륵 -륵 -륵 -륵 -륵 - -륶 -륶 -륶 -륶 -륶 - -륷 -륷 -륷 -륷 -륷 - -른 -른 -른 -른 -른 - -륹 -륹 -륹 -륹 -륹 - -륺 -륺 -륺 -륺 -륺 - -륻 -륻 -륻 -륻 -륻 - -를 -를 -를 -를 -를 - -륽 -륽 -륽 -륽 -륽 - -륾 -륾 -륾 -륾 -륾 - -륿 -륿 -륿 -륿 -륿 - -릀 -릀 -릀 -릀 -릀 - -릁 -릁 -릁 -릁 -릁 - -릂 -릂 -릂 -릂 -릂 - -릃 -릃 -릃 -릃 -릃 - -름 -름 -름 -름 -름 - -릅 -릅 -릅 -릅 -릅 - -릆 -릆 -릆 -릆 -릆 - -릇 -릇 -릇 -릇 -릇 - -릈 -릈 -릈 -릈 -릈 - -릉 -릉 -릉 -릉 -릉 - -릊 -릊 -릊 -릊 -릊 - -릋 -릋 -릋 -릋 -릋 - -릌 -릌 -릌 -릌 -릌 - -릍 -릍 -릍 -릍 -릍 - -릎 -릎 -릎 -릎 -릎 - -릏 -릏 -릏 -릏 -릏 - -릐 -릐 -릐 -릐 -릐 - -릑 -릑 -릑 -릑 -릑 - -릒 -릒 -릒 -릒 -릒 - -릓 -릓 -릓 -릓 -릓 - -릔 -릔 -릔 -릔 -릔 - -릕 -릕 -릕 -릕 -릕 - -릖 -릖 -릖 -릖 -릖 - -릗 -릗 -릗 -릗 -릗 - -릘 -릘 -릘 -릘 -릘 - -릙 -릙 -릙 -릙 -릙 - -릚 -릚 -릚 -릚 -릚 - -릛 -릛 -릛 -릛 -릛 - -릜 -릜 -릜 -릜 -릜 - -릝 -릝 -릝 -릝 -릝 - -릞 -릞 -릞 -릞 -릞 - -릟 -릟 -릟 -릟 -릟 - -릠 -릠 -릠 -릠 -릠 - -릡 -릡 -릡 -릡 -릡 - -릢 -릢 -릢 -릢 -릢 - -릣 -릣 -릣 -릣 -릣 - -릤 -릤 -릤 -릤 -릤 - -릥 -릥 -릥 -릥 -릥 - -릦 -릦 -릦 -릦 -릦 - -릧 -릧 -릧 -릧 -릧 - -릨 -릨 -릨 -릨 -릨 - -릩 -릩 -릩 -릩 -릩 - -릪 -릪 -릪 -릪 -릪 - -릫 -릫 -릫 -릫 -릫 - -리 -리 -리 -리 -리 - -릭 -릭 -릭 -릭 -릭 - -릮 -릮 -릮 -릮 -릮 - -릯 -릯 -릯 -릯 -릯 - -린 -린 -린 -린 -린 - -릱 -릱 -릱 -릱 -릱 - -릲 -릲 -릲 -릲 -릲 - -릳 -릳 -릳 -릳 -릳 - -릴 -릴 -릴 -릴 -릴 - -릵 -릵 -릵 -릵 -릵 - -릶 -릶 -릶 -릶 -릶 - -릷 -릷 -릷 -릷 -릷 - -릸 -릸 -릸 -릸 -릸 - -릹 -릹 -릹 -릹 -릹 - -릺 -릺 -릺 -릺 -릺 - -릻 -릻 -릻 -릻 -릻 - -림 -림 -림 -림 -림 - -립 -립 -립 -립 -립 - -릾 -릾 -릾 -릾 -릾 - -릿 -릿 -릿 -릿 -릿 - -맀 -맀 -맀 -맀 -맀 - -링 -링 -링 -링 -링 - -맂 -맂 -맂 -맂 -맂 - -맃 -맃 -맃 -맃 -맃 - -맄 -맄 -맄 -맄 -맄 - -맅 -맅 -맅 -맅 -맅 - -맆 -맆 -맆 -맆 -맆 - -맇 -맇 -맇 -맇 -맇 - -마 -마 -마 -마 -마 - -막 -막 -막 -막 -막 - -맊 -맊 -맊 -맊 -맊 - -맋 -맋 -맋 -맋 -맋 - -만 -만 -만 -만 -만 - -맍 -맍 -맍 -맍 -맍 - -많 -많 -많 -많 -많 - -맏 -맏 -맏 -맏 -맏 - -말 -말 -말 -말 -말 - -맑 -맑 -맑 -맑 -맑 - -맒 -맒 -맒 -맒 -맒 - -맓 -맓 -맓 -맓 -맓 - -맔 -맔 -맔 -맔 -맔 - -맕 -맕 -맕 -맕 -맕 - -맖 -맖 -맖 -맖 -맖 - -맗 -맗 -맗 -맗 -맗 - -맘 -맘 -맘 -맘 -맘 - -맙 -맙 -맙 -맙 -맙 - -맚 -맚 -맚 -맚 -맚 - -맛 -맛 -맛 -맛 -맛 - -맜 -맜 -맜 -맜 -맜 - -망 -망 -망 -망 -망 - -맞 -맞 -맞 -맞 -맞 - -맟 -맟 -맟 -맟 -맟 - -맠 -맠 -맠 -맠 -맠 - -맡 -맡 -맡 -맡 -맡 - -맢 -맢 -맢 -맢 -맢 - -맣 -맣 -맣 -맣 -맣 - -매 -매 -매 -매 -매 - -맥 -맥 -맥 -맥 -맥 - -맦 -맦 -맦 -맦 -맦 - -맧 -맧 -맧 -맧 -맧 - -맨 -맨 -맨 -맨 -맨 - -맩 -맩 -맩 -맩 -맩 - -맪 -맪 -맪 -맪 -맪 - -맫 -맫 -맫 -맫 -맫 - -맬 -맬 -맬 -맬 -맬 - -맭 -맭 -맭 -맭 -맭 - -맮 -맮 -맮 -맮 -맮 - -맯 -맯 -맯 -맯 -맯 - -맰 -맰 -맰 -맰 -맰 - -맱 -맱 -맱 -맱 -맱 - -맲 -맲 -맲 -맲 -맲 - -맳 -맳 -맳 -맳 -맳 - -맴 -맴 -맴 -맴 -맴 - -맵 -맵 -맵 -맵 -맵 - -맶 -맶 -맶 -맶 -맶 - -맷 -맷 -맷 -맷 -맷 - -맸 -맸 -맸 -맸 -맸 - -맹 -맹 -맹 -맹 -맹 - -맺 -맺 -맺 -맺 -맺 - -맻 -맻 -맻 -맻 -맻 - -맼 -맼 -맼 -맼 -맼 - -맽 -맽 -맽 -맽 -맽 - -맾 -맾 -맾 -맾 -맾 - -맿 -맿 -맿 -맿 -맿 - -먀 -먀 -먀 -먀 -먀 - -먁 -먁 -먁 -먁 -먁 - -먂 -먂 -먂 -먂 -먂 - -먃 -먃 -먃 -먃 -먃 - -먄 -먄 -먄 -먄 -먄 - -먅 -먅 -먅 -먅 -먅 - -먆 -먆 -먆 -먆 -먆 - -먇 -먇 -먇 -먇 -먇 - -먈 -먈 -먈 -먈 -먈 - -먉 -먉 -먉 -먉 -먉 - -먊 -먊 -먊 -먊 -먊 - -먋 -먋 -먋 -먋 -먋 - -먌 -먌 -먌 -먌 -먌 - -먍 -먍 -먍 -먍 -먍 - -먎 -먎 -먎 -먎 -먎 - -먏 -먏 -먏 -먏 -먏 - -먐 -먐 -먐 -먐 -먐 - -먑 -먑 -먑 -먑 -먑 - -먒 -먒 -먒 -먒 -먒 - -먓 -먓 -먓 -먓 -먓 - -먔 -먔 -먔 -먔 -먔 - -먕 -먕 -먕 -먕 -먕 - -먖 -먖 -먖 -먖 -먖 - -먗 -먗 -먗 -먗 -먗 - -먘 -먘 -먘 -먘 -먘 - -먙 -먙 -먙 -먙 -먙 - -먚 -먚 -먚 -먚 -먚 - -먛 -먛 -먛 -먛 -먛 - -먜 -먜 -먜 -먜 -먜 - -먝 -먝 -먝 -먝 -먝 - -먞 -먞 -먞 -먞 -먞 - -먟 -먟 -먟 -먟 -먟 - -먠 -먠 -먠 -먠 -먠 - -먡 -먡 -먡 -먡 -먡 - -먢 -먢 -먢 -먢 -먢 - -먣 -먣 -먣 -먣 -먣 - -먤 -먤 -먤 -먤 -먤 - -먥 -먥 -먥 -먥 -먥 - -먦 -먦 -먦 -먦 -먦 - -먧 -먧 -먧 -먧 -먧 - -먨 -먨 -먨 -먨 -먨 - -먩 -먩 -먩 -먩 -먩 - -먪 -먪 -먪 -먪 -먪 - -먫 -먫 -먫 -먫 -먫 - -먬 -먬 -먬 -먬 -먬 - -먭 -먭 -먭 -먭 -먭 - -먮 -먮 -먮 -먮 -먮 - -먯 -먯 -먯 -먯 -먯 - -먰 -먰 -먰 -먰 -먰 - -먱 -먱 -먱 -먱 -먱 - -먲 -먲 -먲 -먲 -먲 - -먳 -먳 -먳 -먳 -먳 - -먴 -먴 -먴 -먴 -먴 - -먵 -먵 -먵 -먵 -먵 - -먶 -먶 -먶 -먶 -먶 - -먷 -먷 -먷 -먷 -먷 - -머 -머 -머 -머 -머 - -먹 -먹 -먹 -먹 -먹 - -먺 -먺 -먺 -먺 -먺 - -먻 -먻 -먻 -먻 -먻 - -먼 -먼 -먼 -먼 -먼 - -먽 -먽 -먽 -먽 -먽 - -먾 -먾 -먾 -먾 -먾 - -먿 -먿 -먿 -먿 -먿 - -멀 -멀 -멀 -멀 -멀 - -멁 -멁 -멁 -멁 -멁 - -멂 -멂 -멂 -멂 -멂 - -멃 -멃 -멃 -멃 -멃 - -멄 -멄 -멄 -멄 -멄 - -멅 -멅 -멅 -멅 -멅 - -멆 -멆 -멆 -멆 -멆 - -멇 -멇 -멇 -멇 -멇 - -멈 -멈 -멈 -멈 -멈 - -멉 -멉 -멉 -멉 -멉 - -멊 -멊 -멊 -멊 -멊 - -멋 -멋 -멋 -멋 -멋 - -멌 -멌 -멌 -멌 -멌 - -멍 -멍 -멍 -멍 -멍 - -멎 -멎 -멎 -멎 -멎 - -멏 -멏 -멏 -멏 -멏 - -멐 -멐 -멐 -멐 -멐 - -멑 -멑 -멑 -멑 -멑 - -멒 -멒 -멒 -멒 -멒 - -멓 -멓 -멓 -멓 -멓 - -메 -메 -메 -메 -메 - -멕 -멕 -멕 -멕 -멕 - -멖 -멖 -멖 -멖 -멖 - -멗 -멗 -멗 -멗 -멗 - -멘 -멘 -멘 -멘 -멘 - -멙 -멙 -멙 -멙 -멙 - -멚 -멚 -멚 -멚 -멚 - -멛 -멛 -멛 -멛 -멛 - -멜 -멜 -멜 -멜 -멜 - -멝 -멝 -멝 -멝 -멝 - -멞 -멞 -멞 -멞 -멞 - -멟 -멟 -멟 -멟 -멟 - -멠 -멠 -멠 -멠 -멠 - -멡 -멡 -멡 -멡 -멡 - -멢 -멢 -멢 -멢 -멢 - -멣 -멣 -멣 -멣 -멣 - -멤 -멤 -멤 -멤 -멤 - -멥 -멥 -멥 -멥 -멥 - -멦 -멦 -멦 -멦 -멦 - -멧 -멧 -멧 -멧 -멧 - -멨 -멨 -멨 -멨 -멨 - -멩 -멩 -멩 -멩 -멩 - -멪 -멪 -멪 -멪 -멪 - -멫 -멫 -멫 -멫 -멫 - -멬 -멬 -멬 -멬 -멬 - -멭 -멭 -멭 -멭 -멭 - -멮 -멮 -멮 -멮 -멮 - -멯 -멯 -멯 -멯 -멯 - -며 -며 -며 -며 -며 - -멱 -멱 -멱 -멱 -멱 - -멲 -멲 -멲 -멲 -멲 - -멳 -멳 -멳 -멳 -멳 - -면 -면 -면 -면 -면 - -멵 -멵 -멵 -멵 -멵 - -멶 -멶 -멶 -멶 -멶 - -멷 -멷 -멷 -멷 -멷 - -멸 -멸 -멸 -멸 -멸 - -멹 -멹 -멹 -멹 -멹 - -멺 -멺 -멺 -멺 -멺 - -멻 -멻 -멻 -멻 -멻 - -멼 -멼 -멼 -멼 -멼 - -멽 -멽 -멽 -멽 -멽 - -멾 -멾 -멾 -멾 -멾 - -멿 -멿 -멿 -멿 -멿 - -몀 -몀 -몀 -몀 -몀 - -몁 -몁 -몁 -몁 -몁 - -몂 -몂 -몂 -몂 -몂 - -몃 -몃 -몃 -몃 -몃 - -몄 -몄 -몄 -몄 -몄 - -명 -명 -명 -명 -명 - -몆 -몆 -몆 -몆 -몆 - -몇 -몇 -몇 -몇 -몇 - -몈 -몈 -몈 -몈 -몈 - -몉 -몉 -몉 -몉 -몉 - -몊 -몊 -몊 -몊 -몊 - -몋 -몋 -몋 -몋 -몋 - -몌 -몌 -몌 -몌 -몌 - -몍 -몍 -몍 -몍 -몍 - -몎 -몎 -몎 -몎 -몎 - -몏 -몏 -몏 -몏 -몏 - -몐 -몐 -몐 -몐 -몐 - -몑 -몑 -몑 -몑 -몑 - -몒 -몒 -몒 -몒 -몒 - -몓 -몓 -몓 -몓 -몓 - -몔 -몔 -몔 -몔 -몔 - -몕 -몕 -몕 -몕 -몕 - -몖 -몖 -몖 -몖 -몖 - -몗 -몗 -몗 -몗 -몗 - -몘 -몘 -몘 -몘 -몘 - -몙 -몙 -몙 -몙 -몙 - -몚 -몚 -몚 -몚 -몚 - -몛 -몛 -몛 -몛 -몛 - -몜 -몜 -몜 -몜 -몜 - -몝 -몝 -몝 -몝 -몝 - -몞 -몞 -몞 -몞 -몞 - -몟 -몟 -몟 -몟 -몟 - -몠 -몠 -몠 -몠 -몠 - -몡 -몡 -몡 -몡 -몡 - -몢 -몢 -몢 -몢 -몢 - -몣 -몣 -몣 -몣 -몣 - -몤 -몤 -몤 -몤 -몤 - -몥 -몥 -몥 -몥 -몥 - -몦 -몦 -몦 -몦 -몦 - -몧 -몧 -몧 -몧 -몧 - -모 -모 -모 -모 -모 - -목 -목 -목 -목 -목 - -몪 -몪 -몪 -몪 -몪 - -몫 -몫 -몫 -몫 -몫 - -몬 -몬 -몬 -몬 -몬 - -몭 -몭 -몭 -몭 -몭 - -몮 -몮 -몮 -몮 -몮 - -몯 -몯 -몯 -몯 -몯 - -몰 -몰 -몰 -몰 -몰 - -몱 -몱 -몱 -몱 -몱 - -몲 -몲 -몲 -몲 -몲 - -몳 -몳 -몳 -몳 -몳 - -몴 -몴 -몴 -몴 -몴 - -몵 -몵 -몵 -몵 -몵 - -몶 -몶 -몶 -몶 -몶 - -몷 -몷 -몷 -몷 -몷 - -몸 -몸 -몸 -몸 -몸 - -몹 -몹 -몹 -몹 -몹 - -몺 -몺 -몺 -몺 -몺 - -못 -못 -못 -못 -못 - -몼 -몼 -몼 -몼 -몼 - -몽 -몽 -몽 -몽 -몽 - -몾 -몾 -몾 -몾 -몾 - -몿 -몿 -몿 -몿 -몿 - -뫀 -뫀 -뫀 -뫀 -뫀 - -뫁 -뫁 -뫁 -뫁 -뫁 - -뫂 -뫂 -뫂 -뫂 -뫂 - -뫃 -뫃 -뫃 -뫃 -뫃 - -뫄 -뫄 -뫄 -뫄 -뫄 - -뫅 -뫅 -뫅 -뫅 -뫅 - -뫆 -뫆 -뫆 -뫆 -뫆 - -뫇 -뫇 -뫇 -뫇 -뫇 - -뫈 -뫈 -뫈 -뫈 -뫈 - -뫉 -뫉 -뫉 -뫉 -뫉 - -뫊 -뫊 -뫊 -뫊 -뫊 - -뫋 -뫋 -뫋 -뫋 -뫋 - -뫌 -뫌 -뫌 -뫌 -뫌 - -뫍 -뫍 -뫍 -뫍 -뫍 - -뫎 -뫎 -뫎 -뫎 -뫎 - -뫏 -뫏 -뫏 -뫏 -뫏 - -뫐 -뫐 -뫐 -뫐 -뫐 - -뫑 -뫑 -뫑 -뫑 -뫑 - -뫒 -뫒 -뫒 -뫒 -뫒 - -뫓 -뫓 -뫓 -뫓 -뫓 - -뫔 -뫔 -뫔 -뫔 -뫔 - -뫕 -뫕 -뫕 -뫕 -뫕 - -뫖 -뫖 -뫖 -뫖 -뫖 - -뫗 -뫗 -뫗 -뫗 -뫗 - -뫘 -뫘 -뫘 -뫘 -뫘 - -뫙 -뫙 -뫙 -뫙 -뫙 - -뫚 -뫚 -뫚 -뫚 -뫚 - -뫛 -뫛 -뫛 -뫛 -뫛 - -뫜 -뫜 -뫜 -뫜 -뫜 - -뫝 -뫝 -뫝 -뫝 -뫝 - -뫞 -뫞 -뫞 -뫞 -뫞 - -뫟 -뫟 -뫟 -뫟 -뫟 - -뫠 -뫠 -뫠 -뫠 -뫠 - -뫡 -뫡 -뫡 -뫡 -뫡 - -뫢 -뫢 -뫢 -뫢 -뫢 - -뫣 -뫣 -뫣 -뫣 -뫣 - -뫤 -뫤 -뫤 -뫤 -뫤 - -뫥 -뫥 -뫥 -뫥 -뫥 - -뫦 -뫦 -뫦 -뫦 -뫦 - -뫧 -뫧 -뫧 -뫧 -뫧 - -뫨 -뫨 -뫨 -뫨 -뫨 - -뫩 -뫩 -뫩 -뫩 -뫩 - -뫪 -뫪 -뫪 -뫪 -뫪 - -뫫 -뫫 -뫫 -뫫 -뫫 - -뫬 -뫬 -뫬 -뫬 -뫬 - -뫭 -뫭 -뫭 -뫭 -뫭 - -뫮 -뫮 -뫮 -뫮 -뫮 - -뫯 -뫯 -뫯 -뫯 -뫯 - -뫰 -뫰 -뫰 -뫰 -뫰 - -뫱 -뫱 -뫱 -뫱 -뫱 - -뫲 -뫲 -뫲 -뫲 -뫲 - -뫳 -뫳 -뫳 -뫳 -뫳 - -뫴 -뫴 -뫴 -뫴 -뫴 - -뫵 -뫵 -뫵 -뫵 -뫵 - -뫶 -뫶 -뫶 -뫶 -뫶 - -뫷 -뫷 -뫷 -뫷 -뫷 - -뫸 -뫸 -뫸 -뫸 -뫸 - -뫹 -뫹 -뫹 -뫹 -뫹 - -뫺 -뫺 -뫺 -뫺 -뫺 - -뫻 -뫻 -뫻 -뫻 -뫻 - -뫼 -뫼 -뫼 -뫼 -뫼 - -뫽 -뫽 -뫽 -뫽 -뫽 - -뫾 -뫾 -뫾 -뫾 -뫾 - -뫿 -뫿 -뫿 -뫿 -뫿 - -묀 -묀 -묀 -묀 -묀 - -묁 -묁 -묁 -묁 -묁 - -묂 -묂 -묂 -묂 -묂 - -묃 -묃 -묃 -묃 -묃 - -묄 -묄 -묄 -묄 -묄 - -묅 -묅 -묅 -묅 -묅 - -묆 -묆 -묆 -묆 -묆 - -묇 -묇 -묇 -묇 -묇 - -묈 -묈 -묈 -묈 -묈 - -묉 -묉 -묉 -묉 -묉 - -묊 -묊 -묊 -묊 -묊 - -묋 -묋 -묋 -묋 -묋 - -묌 -묌 -묌 -묌 -묌 - -묍 -묍 -묍 -묍 -묍 - -묎 -묎 -묎 -묎 -묎 - -묏 -묏 -묏 -묏 -묏 - -묐 -묐 -묐 -묐 -묐 - -묑 -묑 -묑 -묑 -묑 - -묒 -묒 -묒 -묒 -묒 - -묓 -묓 -묓 -묓 -묓 - -묔 -묔 -묔 -묔 -묔 - -묕 -묕 -묕 -묕 -묕 - -묖 -묖 -묖 -묖 -묖 - -묗 -묗 -묗 -묗 -묗 - -묘 -묘 -묘 -묘 -묘 - -묙 -묙 -묙 -묙 -묙 - -묚 -묚 -묚 -묚 -묚 - -묛 -묛 -묛 -묛 -묛 - -묜 -묜 -묜 -묜 -묜 - -묝 -묝 -묝 -묝 -묝 - -묞 -묞 -묞 -묞 -묞 - -묟 -묟 -묟 -묟 -묟 - -묠 -묠 -묠 -묠 -묠 - -묡 -묡 -묡 -묡 -묡 - -묢 -묢 -묢 -묢 -묢 - -묣 -묣 -묣 -묣 -묣 - -묤 -묤 -묤 -묤 -묤 - -묥 -묥 -묥 -묥 -묥 - -묦 -묦 -묦 -묦 -묦 - -묧 -묧 -묧 -묧 -묧 - -묨 -묨 -묨 -묨 -묨 - -묩 -묩 -묩 -묩 -묩 - -묪 -묪 -묪 -묪 -묪 - -묫 -묫 -묫 -묫 -묫 - -묬 -묬 -묬 -묬 -묬 - -묭 -묭 -묭 -묭 -묭 - -묮 -묮 -묮 -묮 -묮 - -묯 -묯 -묯 -묯 -묯 - -묰 -묰 -묰 -묰 -묰 - -묱 -묱 -묱 -묱 -묱 - -묲 -묲 -묲 -묲 -묲 - -묳 -묳 -묳 -묳 -묳 - -무 -무 -무 -무 -무 - -묵 -묵 -묵 -묵 -묵 - -묶 -묶 -묶 -묶 -묶 - -묷 -묷 -묷 -묷 -묷 - -문 -문 -문 -문 -문 - -묹 -묹 -묹 -묹 -묹 - -묺 -묺 -묺 -묺 -묺 - -묻 -묻 -묻 -묻 -묻 - -물 -물 -물 -물 -물 - -묽 -묽 -묽 -묽 -묽 - -묾 -묾 -묾 -묾 -묾 - -묿 -묿 -묿 -묿 -묿 - -뭀 -뭀 -뭀 -뭀 -뭀 - -뭁 -뭁 -뭁 -뭁 -뭁 - -뭂 -뭂 -뭂 -뭂 -뭂 - -뭃 -뭃 -뭃 -뭃 -뭃 - -뭄 -뭄 -뭄 -뭄 -뭄 - -뭅 -뭅 -뭅 -뭅 -뭅 - -뭆 -뭆 -뭆 -뭆 -뭆 - -뭇 -뭇 -뭇 -뭇 -뭇 - -뭈 -뭈 -뭈 -뭈 -뭈 - -뭉 -뭉 -뭉 -뭉 -뭉 - -뭊 -뭊 -뭊 -뭊 -뭊 - -뭋 -뭋 -뭋 -뭋 -뭋 - -뭌 -뭌 -뭌 -뭌 -뭌 - -뭍 -뭍 -뭍 -뭍 -뭍 - -뭎 -뭎 -뭎 -뭎 -뭎 - -뭏 -뭏 -뭏 -뭏 -뭏 - -뭐 -뭐 -뭐 -뭐 -뭐 - -뭑 -뭑 -뭑 -뭑 -뭑 - -뭒 -뭒 -뭒 -뭒 -뭒 - -뭓 -뭓 -뭓 -뭓 -뭓 - -뭔 -뭔 -뭔 -뭔 -뭔 - -뭕 -뭕 -뭕 -뭕 -뭕 - -뭖 -뭖 -뭖 -뭖 -뭖 - -뭗 -뭗 -뭗 -뭗 -뭗 - -뭘 -뭘 -뭘 -뭘 -뭘 - -뭙 -뭙 -뭙 -뭙 -뭙 - -뭚 -뭚 -뭚 -뭚 -뭚 - -뭛 -뭛 -뭛 -뭛 -뭛 - -뭜 -뭜 -뭜 -뭜 -뭜 - -뭝 -뭝 -뭝 -뭝 -뭝 - -뭞 -뭞 -뭞 -뭞 -뭞 - -뭟 -뭟 -뭟 -뭟 -뭟 - -뭠 -뭠 -뭠 -뭠 -뭠 - -뭡 -뭡 -뭡 -뭡 -뭡 - -뭢 -뭢 -뭢 -뭢 -뭢 - -뭣 -뭣 -뭣 -뭣 -뭣 - -뭤 -뭤 -뭤 -뭤 -뭤 - -뭥 -뭥 -뭥 -뭥 -뭥 - -뭦 -뭦 -뭦 -뭦 -뭦 - -뭧 -뭧 -뭧 -뭧 -뭧 - -뭨 -뭨 -뭨 -뭨 -뭨 - -뭩 -뭩 -뭩 -뭩 -뭩 - -뭪 -뭪 -뭪 -뭪 -뭪 - -뭫 -뭫 -뭫 -뭫 -뭫 - -뭬 -뭬 -뭬 -뭬 -뭬 - -뭭 -뭭 -뭭 -뭭 -뭭 - -뭮 -뭮 -뭮 -뭮 -뭮 - -뭯 -뭯 -뭯 -뭯 -뭯 - -뭰 -뭰 -뭰 -뭰 -뭰 - -뭱 -뭱 -뭱 -뭱 -뭱 - -뭲 -뭲 -뭲 -뭲 -뭲 - -뭳 -뭳 -뭳 -뭳 -뭳 - -뭴 -뭴 -뭴 -뭴 -뭴 - -뭵 -뭵 -뭵 -뭵 -뭵 - -뭶 -뭶 -뭶 -뭶 -뭶 - -뭷 -뭷 -뭷 -뭷 -뭷 - -뭸 -뭸 -뭸 -뭸 -뭸 - -뭹 -뭹 -뭹 -뭹 -뭹 - -뭺 -뭺 -뭺 -뭺 -뭺 - -뭻 -뭻 -뭻 -뭻 -뭻 - -뭼 -뭼 -뭼 -뭼 -뭼 - -뭽 -뭽 -뭽 -뭽 -뭽 - -뭾 -뭾 -뭾 -뭾 -뭾 - -뭿 -뭿 -뭿 -뭿 -뭿 - -뮀 -뮀 -뮀 -뮀 -뮀 - -뮁 -뮁 -뮁 -뮁 -뮁 - -뮂 -뮂 -뮂 -뮂 -뮂 - -뮃 -뮃 -뮃 -뮃 -뮃 - -뮄 -뮄 -뮄 -뮄 -뮄 - -뮅 -뮅 -뮅 -뮅 -뮅 - -뮆 -뮆 -뮆 -뮆 -뮆 - -뮇 -뮇 -뮇 -뮇 -뮇 - -뮈 -뮈 -뮈 -뮈 -뮈 - -뮉 -뮉 -뮉 -뮉 -뮉 - -뮊 -뮊 -뮊 -뮊 -뮊 - -뮋 -뮋 -뮋 -뮋 -뮋 - -뮌 -뮌 -뮌 -뮌 -뮌 - -뮍 -뮍 -뮍 -뮍 -뮍 - -뮎 -뮎 -뮎 -뮎 -뮎 - -뮏 -뮏 -뮏 -뮏 -뮏 - -뮐 -뮐 -뮐 -뮐 -뮐 - -뮑 -뮑 -뮑 -뮑 -뮑 - -뮒 -뮒 -뮒 -뮒 -뮒 - -뮓 -뮓 -뮓 -뮓 -뮓 - -뮔 -뮔 -뮔 -뮔 -뮔 - -뮕 -뮕 -뮕 -뮕 -뮕 - -뮖 -뮖 -뮖 -뮖 -뮖 - -뮗 -뮗 -뮗 -뮗 -뮗 - -뮘 -뮘 -뮘 -뮘 -뮘 - -뮙 -뮙 -뮙 -뮙 -뮙 - -뮚 -뮚 -뮚 -뮚 -뮚 - -뮛 -뮛 -뮛 -뮛 -뮛 - -뮜 -뮜 -뮜 -뮜 -뮜 - -뮝 -뮝 -뮝 -뮝 -뮝 - -뮞 -뮞 -뮞 -뮞 -뮞 - -뮟 -뮟 -뮟 -뮟 -뮟 - -뮠 -뮠 -뮠 -뮠 -뮠 - -뮡 -뮡 -뮡 -뮡 -뮡 - -뮢 -뮢 -뮢 -뮢 -뮢 - -뮣 -뮣 -뮣 -뮣 -뮣 - -뮤 -뮤 -뮤 -뮤 -뮤 - -뮥 -뮥 -뮥 -뮥 -뮥 - -뮦 -뮦 -뮦 -뮦 -뮦 - -뮧 -뮧 -뮧 -뮧 -뮧 - -뮨 -뮨 -뮨 -뮨 -뮨 - -뮩 -뮩 -뮩 -뮩 -뮩 - -뮪 -뮪 -뮪 -뮪 -뮪 - -뮫 -뮫 -뮫 -뮫 -뮫 - -뮬 -뮬 -뮬 -뮬 -뮬 - -뮭 -뮭 -뮭 -뮭 -뮭 - -뮮 -뮮 -뮮 -뮮 -뮮 - -뮯 -뮯 -뮯 -뮯 -뮯 - -뮰 -뮰 -뮰 -뮰 -뮰 - -뮱 -뮱 -뮱 -뮱 -뮱 - -뮲 -뮲 -뮲 -뮲 -뮲 - -뮳 -뮳 -뮳 -뮳 -뮳 - -뮴 -뮴 -뮴 -뮴 -뮴 - -뮵 -뮵 -뮵 -뮵 -뮵 - -뮶 -뮶 -뮶 -뮶 -뮶 - -뮷 -뮷 -뮷 -뮷 -뮷 - -뮸 -뮸 -뮸 -뮸 -뮸 - -뮹 -뮹 -뮹 -뮹 -뮹 - -뮺 -뮺 -뮺 -뮺 -뮺 - -뮻 -뮻 -뮻 -뮻 -뮻 - -뮼 -뮼 -뮼 -뮼 -뮼 - -뮽 -뮽 -뮽 -뮽 -뮽 - -뮾 -뮾 -뮾 -뮾 -뮾 - -뮿 -뮿 -뮿 -뮿 -뮿 - -므 -므 -므 -므 -므 - -믁 -믁 -믁 -믁 -믁 - -믂 -믂 -믂 -믂 -믂 - -믃 -믃 -믃 -믃 -믃 - -믄 -믄 -믄 -믄 -믄 - -믅 -믅 -믅 -믅 -믅 - -믆 -믆 -믆 -믆 -믆 - -믇 -믇 -믇 -믇 -믇 - -믈 -믈 -믈 -믈 -믈 - -믉 -믉 -믉 -믉 -믉 - -믊 -믊 -믊 -믊 -믊 - -믋 -믋 -믋 -믋 -믋 - -믌 -믌 -믌 -믌 -믌 - -믍 -믍 -믍 -믍 -믍 - -믎 -믎 -믎 -믎 -믎 - -믏 -믏 -믏 -믏 -믏 - -믐 -믐 -믐 -믐 -믐 - -믑 -믑 -믑 -믑 -믑 - -믒 -믒 -믒 -믒 -믒 - -믓 -믓 -믓 -믓 -믓 - -믔 -믔 -믔 -믔 -믔 - -믕 -믕 -믕 -믕 -믕 - -믖 -믖 -믖 -믖 -믖 - -믗 -믗 -믗 -믗 -믗 - -믘 -믘 -믘 -믘 -믘 - -믙 -믙 -믙 -믙 -믙 - -믚 -믚 -믚 -믚 -믚 - -믛 -믛 -믛 -믛 -믛 - -믜 -믜 -믜 -믜 -믜 - -믝 -믝 -믝 -믝 -믝 - -믞 -믞 -믞 -믞 -믞 - -믟 -믟 -믟 -믟 -믟 - -믠 -믠 -믠 -믠 -믠 - -믡 -믡 -믡 -믡 -믡 - -믢 -믢 -믢 -믢 -믢 - -믣 -믣 -믣 -믣 -믣 - -믤 -믤 -믤 -믤 -믤 - -믥 -믥 -믥 -믥 -믥 - -믦 -믦 -믦 -믦 -믦 - -믧 -믧 -믧 -믧 -믧 - -믨 -믨 -믨 -믨 -믨 - -믩 -믩 -믩 -믩 -믩 - -믪 -믪 -믪 -믪 -믪 - -믫 -믫 -믫 -믫 -믫 - -믬 -믬 -믬 -믬 -믬 - -믭 -믭 -믭 -믭 -믭 - -믮 -믮 -믮 -믮 -믮 - -믯 -믯 -믯 -믯 -믯 - -믰 -믰 -믰 -믰 -믰 - -믱 -믱 -믱 -믱 -믱 - -믲 -믲 -믲 -믲 -믲 - -믳 -믳 -믳 -믳 -믳 - -믴 -믴 -믴 -믴 -믴 - -믵 -믵 -믵 -믵 -믵 - -믶 -믶 -믶 -믶 -믶 - -믷 -믷 -믷 -믷 -믷 - -미 -미 -미 -미 -미 - -믹 -믹 -믹 -믹 -믹 - -믺 -믺 -믺 -믺 -믺 - -믻 -믻 -믻 -믻 -믻 - -민 -민 -민 -민 -민 - -믽 -믽 -믽 -믽 -믽 - -믾 -믾 -믾 -믾 -믾 - -믿 -믿 -믿 -믿 -믿 - -밀 -밀 -밀 -밀 -밀 - -밁 -밁 -밁 -밁 -밁 - -밂 -밂 -밂 -밂 -밂 - -밃 -밃 -밃 -밃 -밃 - -밄 -밄 -밄 -밄 -밄 - -밅 -밅 -밅 -밅 -밅 - -밆 -밆 -밆 -밆 -밆 - -밇 -밇 -밇 -밇 -밇 - -밈 -밈 -밈 -밈 -밈 - -밉 -밉 -밉 -밉 -밉 - -밊 -밊 -밊 -밊 -밊 - -밋 -밋 -밋 -밋 -밋 - -밌 -밌 -밌 -밌 -밌 - -밍 -밍 -밍 -밍 -밍 - -밎 -밎 -밎 -밎 -밎 - -및 -및 -및 -및 -및 - -밐 -밐 -밐 -밐 -밐 - -밑 -밑 -밑 -밑 -밑 - -밒 -밒 -밒 -밒 -밒 - -밓 -밓 -밓 -밓 -밓 - -바 -바 -바 -바 -바 - -박 -박 -박 -박 -박 - -밖 -밖 -밖 -밖 -밖 - -밗 -밗 -밗 -밗 -밗 - -반 -반 -반 -반 -반 - -밙 -밙 -밙 -밙 -밙 - -밚 -밚 -밚 -밚 -밚 - -받 -받 -받 -받 -받 - -발 -발 -발 -발 -발 - -밝 -밝 -밝 -밝 -밝 - -밞 -밞 -밞 -밞 -밞 - -밟 -밟 -밟 -밟 -밟 - -밠 -밠 -밠 -밠 -밠 - -밡 -밡 -밡 -밡 -밡 - -밢 -밢 -밢 -밢 -밢 - -밣 -밣 -밣 -밣 -밣 - -밤 -밤 -밤 -밤 -밤 - -밥 -밥 -밥 -밥 -밥 - -밦 -밦 -밦 -밦 -밦 - -밧 -밧 -밧 -밧 -밧 - -밨 -밨 -밨 -밨 -밨 - -방 -방 -방 -방 -방 - -밪 -밪 -밪 -밪 -밪 - -밫 -밫 -밫 -밫 -밫 - -밬 -밬 -밬 -밬 -밬 - -밭 -밭 -밭 -밭 -밭 - -밮 -밮 -밮 -밮 -밮 - -밯 -밯 -밯 -밯 -밯 - -배 -배 -배 -배 -배 - -백 -백 -백 -백 -백 - -밲 -밲 -밲 -밲 -밲 - -밳 -밳 -밳 -밳 -밳 - -밴 -밴 -밴 -밴 -밴 - -밵 -밵 -밵 -밵 -밵 - -밶 -밶 -밶 -밶 -밶 - -밷 -밷 -밷 -밷 -밷 - -밸 -밸 -밸 -밸 -밸 - -밹 -밹 -밹 -밹 -밹 - -밺 -밺 -밺 -밺 -밺 - -밻 -밻 -밻 -밻 -밻 - -밼 -밼 -밼 -밼 -밼 - -밽 -밽 -밽 -밽 -밽 - -밾 -밾 -밾 -밾 -밾 - -밿 -밿 -밿 -밿 -밿 - -뱀 -뱀 -뱀 -뱀 -뱀 - -뱁 -뱁 -뱁 -뱁 -뱁 - -뱂 -뱂 -뱂 -뱂 -뱂 - -뱃 -뱃 -뱃 -뱃 -뱃 - -뱄 -뱄 -뱄 -뱄 -뱄 - -뱅 -뱅 -뱅 -뱅 -뱅 - -뱆 -뱆 -뱆 -뱆 -뱆 - -뱇 -뱇 -뱇 -뱇 -뱇 - -뱈 -뱈 -뱈 -뱈 -뱈 - -뱉 -뱉 -뱉 -뱉 -뱉 - -뱊 -뱊 -뱊 -뱊 -뱊 - -뱋 -뱋 -뱋 -뱋 -뱋 - -뱌 -뱌 -뱌 -뱌 -뱌 - -뱍 -뱍 -뱍 -뱍 -뱍 - -뱎 -뱎 -뱎 -뱎 -뱎 - -뱏 -뱏 -뱏 -뱏 -뱏 - -뱐 -뱐 -뱐 -뱐 -뱐 - -뱑 -뱑 -뱑 -뱑 -뱑 - -뱒 -뱒 -뱒 -뱒 -뱒 - -뱓 -뱓 -뱓 -뱓 -뱓 - -뱔 -뱔 -뱔 -뱔 -뱔 - -뱕 -뱕 -뱕 -뱕 -뱕 - -뱖 -뱖 -뱖 -뱖 -뱖 - -뱗 -뱗 -뱗 -뱗 -뱗 - -뱘 -뱘 -뱘 -뱘 -뱘 - -뱙 -뱙 -뱙 -뱙 -뱙 - -뱚 -뱚 -뱚 -뱚 -뱚 - -뱛 -뱛 -뱛 -뱛 -뱛 - -뱜 -뱜 -뱜 -뱜 -뱜 - -뱝 -뱝 -뱝 -뱝 -뱝 - -뱞 -뱞 -뱞 -뱞 -뱞 - -뱟 -뱟 -뱟 -뱟 -뱟 - -뱠 -뱠 -뱠 -뱠 -뱠 - -뱡 -뱡 -뱡 -뱡 -뱡 - -뱢 -뱢 -뱢 -뱢 -뱢 - -뱣 -뱣 -뱣 -뱣 -뱣 - -뱤 -뱤 -뱤 -뱤 -뱤 - -뱥 -뱥 -뱥 -뱥 -뱥 - -뱦 -뱦 -뱦 -뱦 -뱦 - -뱧 -뱧 -뱧 -뱧 -뱧 - -뱨 -뱨 -뱨 -뱨 -뱨 - -뱩 -뱩 -뱩 -뱩 -뱩 - -뱪 -뱪 -뱪 -뱪 -뱪 - -뱫 -뱫 -뱫 -뱫 -뱫 - -뱬 -뱬 -뱬 -뱬 -뱬 - -뱭 -뱭 -뱭 -뱭 -뱭 - -뱮 -뱮 -뱮 -뱮 -뱮 - -뱯 -뱯 -뱯 -뱯 -뱯 - -뱰 -뱰 -뱰 -뱰 -뱰 - -뱱 -뱱 -뱱 -뱱 -뱱 - -뱲 -뱲 -뱲 -뱲 -뱲 - -뱳 -뱳 -뱳 -뱳 -뱳 - -뱴 -뱴 -뱴 -뱴 -뱴 - -뱵 -뱵 -뱵 -뱵 -뱵 - -뱶 -뱶 -뱶 -뱶 -뱶 - -뱷 -뱷 -뱷 -뱷 -뱷 - -뱸 -뱸 -뱸 -뱸 -뱸 - -뱹 -뱹 -뱹 -뱹 -뱹 - -뱺 -뱺 -뱺 -뱺 -뱺 - -뱻 -뱻 -뱻 -뱻 -뱻 - -뱼 -뱼 -뱼 -뱼 -뱼 - -뱽 -뱽 -뱽 -뱽 -뱽 - -뱾 -뱾 -뱾 -뱾 -뱾 - -뱿 -뱿 -뱿 -뱿 -뱿 - -벀 -벀 -벀 -벀 -벀 - -벁 -벁 -벁 -벁 -벁 - -벂 -벂 -벂 -벂 -벂 - -벃 -벃 -벃 -벃 -벃 - -버 -버 -버 -버 -버 - -벅 -벅 -벅 -벅 -벅 - -벆 -벆 -벆 -벆 -벆 - -벇 -벇 -벇 -벇 -벇 - -번 -번 -번 -번 -번 - -벉 -벉 -벉 -벉 -벉 - -벊 -벊 -벊 -벊 -벊 - -벋 -벋 -벋 -벋 -벋 - -벌 -벌 -벌 -벌 -벌 - -벍 -벍 -벍 -벍 -벍 - -벎 -벎 -벎 -벎 -벎 - -벏 -벏 -벏 -벏 -벏 - -벐 -벐 -벐 -벐 -벐 - -벑 -벑 -벑 -벑 -벑 - -벒 -벒 -벒 -벒 -벒 - -벓 -벓 -벓 -벓 -벓 - -범 -범 -범 -범 -범 - -법 -법 -법 -법 -법 - -벖 -벖 -벖 -벖 -벖 - -벗 -벗 -벗 -벗 -벗 - -벘 -벘 -벘 -벘 -벘 - -벙 -벙 -벙 -벙 -벙 - -벚 -벚 -벚 -벚 -벚 - -벛 -벛 -벛 -벛 -벛 - -벜 -벜 -벜 -벜 -벜 - -벝 -벝 -벝 -벝 -벝 - -벞 -벞 -벞 -벞 -벞 - -벟 -벟 -벟 -벟 -벟 - -베 -베 -베 -베 -베 - -벡 -벡 -벡 -벡 -벡 - -벢 -벢 -벢 -벢 -벢 - -벣 -벣 -벣 -벣 -벣 - -벤 -벤 -벤 -벤 -벤 - -벥 -벥 -벥 -벥 -벥 - -벦 -벦 -벦 -벦 -벦 - -벧 -벧 -벧 -벧 -벧 - -벨 -벨 -벨 -벨 -벨 - -벩 -벩 -벩 -벩 -벩 - -벪 -벪 -벪 -벪 -벪 - -벫 -벫 -벫 -벫 -벫 - -벬 -벬 -벬 -벬 -벬 - -벭 -벭 -벭 -벭 -벭 - -벮 -벮 -벮 -벮 -벮 - -벯 -벯 -벯 -벯 -벯 - -벰 -벰 -벰 -벰 -벰 - -벱 -벱 -벱 -벱 -벱 - -벲 -벲 -벲 -벲 -벲 - -벳 -벳 -벳 -벳 -벳 - -벴 -벴 -벴 -벴 -벴 - -벵 -벵 -벵 -벵 -벵 - -벶 -벶 -벶 -벶 -벶 - -벷 -벷 -벷 -벷 -벷 - -벸 -벸 -벸 -벸 -벸 - -벹 -벹 -벹 -벹 -벹 - -벺 -벺 -벺 -벺 -벺 - -벻 -벻 -벻 -벻 -벻 - -벼 -벼 -벼 -벼 -벼 - -벽 -벽 -벽 -벽 -벽 - -벾 -벾 -벾 -벾 -벾 - -벿 -벿 -벿 -벿 -벿 - -변 -변 -변 -변 -변 - -볁 -볁 -볁 -볁 -볁 - -볂 -볂 -볂 -볂 -볂 - -볃 -볃 -볃 -볃 -볃 - -별 -별 -별 -별 -별 - -볅 -볅 -볅 -볅 -볅 - -볆 -볆 -볆 -볆 -볆 - -볇 -볇 -볇 -볇 -볇 - -볈 -볈 -볈 -볈 -볈 - -볉 -볉 -볉 -볉 -볉 - -볊 -볊 -볊 -볊 -볊 - -볋 -볋 -볋 -볋 -볋 - -볌 -볌 -볌 -볌 -볌 - -볍 -볍 -볍 -볍 -볍 - -볎 -볎 -볎 -볎 -볎 - -볏 -볏 -볏 -볏 -볏 - -볐 -볐 -볐 -볐 -볐 - -병 -병 -병 -병 -병 - -볒 -볒 -볒 -볒 -볒 - -볓 -볓 -볓 -볓 -볓 - -볔 -볔 -볔 -볔 -볔 - -볕 -볕 -볕 -볕 -볕 - -볖 -볖 -볖 -볖 -볖 - -볗 -볗 -볗 -볗 -볗 - -볘 -볘 -볘 -볘 -볘 - -볙 -볙 -볙 -볙 -볙 - -볚 -볚 -볚 -볚 -볚 - -볛 -볛 -볛 -볛 -볛 - -볜 -볜 -볜 -볜 -볜 - -볝 -볝 -볝 -볝 -볝 - -볞 -볞 -볞 -볞 -볞 - -볟 -볟 -볟 -볟 -볟 - -볠 -볠 -볠 -볠 -볠 - -볡 -볡 -볡 -볡 -볡 - -볢 -볢 -볢 -볢 -볢 - -볣 -볣 -볣 -볣 -볣 - -볤 -볤 -볤 -볤 -볤 - -볥 -볥 -볥 -볥 -볥 - -볦 -볦 -볦 -볦 -볦 - -볧 -볧 -볧 -볧 -볧 - -볨 -볨 -볨 -볨 -볨 - -볩 -볩 -볩 -볩 -볩 - -볪 -볪 -볪 -볪 -볪 - -볫 -볫 -볫 -볫 -볫 - -볬 -볬 -볬 -볬 -볬 - -볭 -볭 -볭 -볭 -볭 - -볮 -볮 -볮 -볮 -볮 - -볯 -볯 -볯 -볯 -볯 - -볰 -볰 -볰 -볰 -볰 - -볱 -볱 -볱 -볱 -볱 - -볲 -볲 -볲 -볲 -볲 - -볳 -볳 -볳 -볳 -볳 - -보 -보 -보 -보 -보 - -복 -복 -복 -복 -복 - -볶 -볶 -볶 -볶 -볶 - -볷 -볷 -볷 -볷 -볷 - -본 -본 -본 -본 -본 - -볹 -볹 -볹 -볹 -볹 - -볺 -볺 -볺 -볺 -볺 - -볻 -볻 -볻 -볻 -볻 - -볼 -볼 -볼 -볼 -볼 - -볽 -볽 -볽 -볽 -볽 - -볾 -볾 -볾 -볾 -볾 - -볿 -볿 -볿 -볿 -볿 - -봀 -봀 -봀 -봀 -봀 - -봁 -봁 -봁 -봁 -봁 - -봂 -봂 -봂 -봂 -봂 - -봃 -봃 -봃 -봃 -봃 - -봄 -봄 -봄 -봄 -봄 - -봅 -봅 -봅 -봅 -봅 - -봆 -봆 -봆 -봆 -봆 - -봇 -봇 -봇 -봇 -봇 - -봈 -봈 -봈 -봈 -봈 - -봉 -봉 -봉 -봉 -봉 - -봊 -봊 -봊 -봊 -봊 - -봋 -봋 -봋 -봋 -봋 - -봌 -봌 -봌 -봌 -봌 - -봍 -봍 -봍 -봍 -봍 - -봎 -봎 -봎 -봎 -봎 - -봏 -봏 -봏 -봏 -봏 - -봐 -봐 -봐 -봐 -봐 - -봑 -봑 -봑 -봑 -봑 - -봒 -봒 -봒 -봒 -봒 - -봓 -봓 -봓 -봓 -봓 - -봔 -봔 -봔 -봔 -봔 - -봕 -봕 -봕 -봕 -봕 - -봖 -봖 -봖 -봖 -봖 - -봗 -봗 -봗 -봗 -봗 - -봘 -봘 -봘 -봘 -봘 - -봙 -봙 -봙 -봙 -봙 - -봚 -봚 -봚 -봚 -봚 - -봛 -봛 -봛 -봛 -봛 - -봜 -봜 -봜 -봜 -봜 - -봝 -봝 -봝 -봝 -봝 - -봞 -봞 -봞 -봞 -봞 - -봟 -봟 -봟 -봟 -봟 - -봠 -봠 -봠 -봠 -봠 - -봡 -봡 -봡 -봡 -봡 - -봢 -봢 -봢 -봢 -봢 - -봣 -봣 -봣 -봣 -봣 - -봤 -봤 -봤 -봤 -봤 - -봥 -봥 -봥 -봥 -봥 - -봦 -봦 -봦 -봦 -봦 - -봧 -봧 -봧 -봧 -봧 - -봨 -봨 -봨 -봨 -봨 - -봩 -봩 -봩 -봩 -봩 - -봪 -봪 -봪 -봪 -봪 - -봫 -봫 -봫 -봫 -봫 - -봬 -봬 -봬 -봬 -봬 - -봭 -봭 -봭 -봭 -봭 - -봮 -봮 -봮 -봮 -봮 - -봯 -봯 -봯 -봯 -봯 - -봰 -봰 -봰 -봰 -봰 - -봱 -봱 -봱 -봱 -봱 - -봲 -봲 -봲 -봲 -봲 - -봳 -봳 -봳 -봳 -봳 - -봴 -봴 -봴 -봴 -봴 - -봵 -봵 -봵 -봵 -봵 - -봶 -봶 -봶 -봶 -봶 - -봷 -봷 -봷 -봷 -봷 - -봸 -봸 -봸 -봸 -봸 - -봹 -봹 -봹 -봹 -봹 - -봺 -봺 -봺 -봺 -봺 - -봻 -봻 -봻 -봻 -봻 - -봼 -봼 -봼 -봼 -봼 - -봽 -봽 -봽 -봽 -봽 - -봾 -봾 -봾 -봾 -봾 - -봿 -봿 -봿 -봿 -봿 - -뵀 -뵀 -뵀 -뵀 -뵀 - -뵁 -뵁 -뵁 -뵁 -뵁 - -뵂 -뵂 -뵂 -뵂 -뵂 - -뵃 -뵃 -뵃 -뵃 -뵃 - -뵄 -뵄 -뵄 -뵄 -뵄 - -뵅 -뵅 -뵅 -뵅 -뵅 - -뵆 -뵆 -뵆 -뵆 -뵆 - -뵇 -뵇 -뵇 -뵇 -뵇 - -뵈 -뵈 -뵈 -뵈 -뵈 - -뵉 -뵉 -뵉 -뵉 -뵉 - -뵊 -뵊 -뵊 -뵊 -뵊 - -뵋 -뵋 -뵋 -뵋 -뵋 - -뵌 -뵌 -뵌 -뵌 -뵌 - -뵍 -뵍 -뵍 -뵍 -뵍 - -뵎 -뵎 -뵎 -뵎 -뵎 - -뵏 -뵏 -뵏 -뵏 -뵏 - -뵐 -뵐 -뵐 -뵐 -뵐 - -뵑 -뵑 -뵑 -뵑 -뵑 - -뵒 -뵒 -뵒 -뵒 -뵒 - -뵓 -뵓 -뵓 -뵓 -뵓 - -뵔 -뵔 -뵔 -뵔 -뵔 - -뵕 -뵕 -뵕 -뵕 -뵕 - -뵖 -뵖 -뵖 -뵖 -뵖 - -뵗 -뵗 -뵗 -뵗 -뵗 - -뵘 -뵘 -뵘 -뵘 -뵘 - -뵙 -뵙 -뵙 -뵙 -뵙 - -뵚 -뵚 -뵚 -뵚 -뵚 - -뵛 -뵛 -뵛 -뵛 -뵛 - -뵜 -뵜 -뵜 -뵜 -뵜 - -뵝 -뵝 -뵝 -뵝 -뵝 - -뵞 -뵞 -뵞 -뵞 -뵞 - -뵟 -뵟 -뵟 -뵟 -뵟 - -뵠 -뵠 -뵠 -뵠 -뵠 - -뵡 -뵡 -뵡 -뵡 -뵡 - -뵢 -뵢 -뵢 -뵢 -뵢 - -뵣 -뵣 -뵣 -뵣 -뵣 - -뵤 -뵤 -뵤 -뵤 -뵤 - -뵥 -뵥 -뵥 -뵥 -뵥 - -뵦 -뵦 -뵦 -뵦 -뵦 - -뵧 -뵧 -뵧 -뵧 -뵧 - -뵨 -뵨 -뵨 -뵨 -뵨 - -뵩 -뵩 -뵩 -뵩 -뵩 - -뵪 -뵪 -뵪 -뵪 -뵪 - -뵫 -뵫 -뵫 -뵫 -뵫 - -뵬 -뵬 -뵬 -뵬 -뵬 - -뵭 -뵭 -뵭 -뵭 -뵭 - -뵮 -뵮 -뵮 -뵮 -뵮 - -뵯 -뵯 -뵯 -뵯 -뵯 - -뵰 -뵰 -뵰 -뵰 -뵰 - -뵱 -뵱 -뵱 -뵱 -뵱 - -뵲 -뵲 -뵲 -뵲 -뵲 - -뵳 -뵳 -뵳 -뵳 -뵳 - -뵴 -뵴 -뵴 -뵴 -뵴 - -뵵 -뵵 -뵵 -뵵 -뵵 - -뵶 -뵶 -뵶 -뵶 -뵶 - -뵷 -뵷 -뵷 -뵷 -뵷 - -뵸 -뵸 -뵸 -뵸 -뵸 - -뵹 -뵹 -뵹 -뵹 -뵹 - -뵺 -뵺 -뵺 -뵺 -뵺 - -뵻 -뵻 -뵻 -뵻 -뵻 - -뵼 -뵼 -뵼 -뵼 -뵼 - -뵽 -뵽 -뵽 -뵽 -뵽 - -뵾 -뵾 -뵾 -뵾 -뵾 - -뵿 -뵿 -뵿 -뵿 -뵿 - -부 -부 -부 -부 -부 - -북 -북 -북 -북 -북 - -붂 -붂 -붂 -붂 -붂 - -붃 -붃 -붃 -붃 -붃 - -분 -분 -분 -분 -분 - -붅 -붅 -붅 -붅 -붅 - -붆 -붆 -붆 -붆 -붆 - -붇 -붇 -붇 -붇 -붇 - -불 -불 -불 -불 -불 - -붉 -붉 -붉 -붉 -붉 - -붊 -붊 -붊 -붊 -붊 - -붋 -붋 -붋 -붋 -붋 - -붌 -붌 -붌 -붌 -붌 - -붍 -붍 -붍 -붍 -붍 - -붎 -붎 -붎 -붎 -붎 - -붏 -붏 -붏 -붏 -붏 - -붐 -붐 -붐 -붐 -붐 - -붑 -붑 -붑 -붑 -붑 - -붒 -붒 -붒 -붒 -붒 - -붓 -붓 -붓 -붓 -붓 - -붔 -붔 -붔 -붔 -붔 - -붕 -붕 -붕 -붕 -붕 - -붖 -붖 -붖 -붖 -붖 - -붗 -붗 -붗 -붗 -붗 - -붘 -붘 -붘 -붘 -붘 - -붙 -붙 -붙 -붙 -붙 - -붚 -붚 -붚 -붚 -붚 - -붛 -붛 -붛 -붛 -붛 - -붜 -붜 -붜 -붜 -붜 - -붝 -붝 -붝 -붝 -붝 - -붞 -붞 -붞 -붞 -붞 - -붟 -붟 -붟 -붟 -붟 - -붠 -붠 -붠 -붠 -붠 - -붡 -붡 -붡 -붡 -붡 - -붢 -붢 -붢 -붢 -붢 - -붣 -붣 -붣 -붣 -붣 - -붤 -붤 -붤 -붤 -붤 - -붥 -붥 -붥 -붥 -붥 - -붦 -붦 -붦 -붦 -붦 - -붧 -붧 -붧 -붧 -붧 - -붨 -붨 -붨 -붨 -붨 - -붩 -붩 -붩 -붩 -붩 - -붪 -붪 -붪 -붪 -붪 - -붫 -붫 -붫 -붫 -붫 - -붬 -붬 -붬 -붬 -붬 - -붭 -붭 -붭 -붭 -붭 - -붮 -붮 -붮 -붮 -붮 - -붯 -붯 -붯 -붯 -붯 - -붰 -붰 -붰 -붰 -붰 - -붱 -붱 -붱 -붱 -붱 - -붲 -붲 -붲 -붲 -붲 - -붳 -붳 -붳 -붳 -붳 - -붴 -붴 -붴 -붴 -붴 - -붵 -붵 -붵 -붵 -붵 - -붶 -붶 -붶 -붶 -붶 - -붷 -붷 -붷 -붷 -붷 - -붸 -붸 -붸 -붸 -붸 - -붹 -붹 -붹 -붹 -붹 - -붺 -붺 -붺 -붺 -붺 - -붻 -붻 -붻 -붻 -붻 - -붼 -붼 -붼 -붼 -붼 - -붽 -붽 -붽 -붽 -붽 - -붾 -붾 -붾 -붾 -붾 - -붿 -붿 -붿 -붿 -붿 - -뷀 -뷀 -뷀 -뷀 -뷀 - -뷁 -뷁 -뷁 -뷁 -뷁 - -뷂 -뷂 -뷂 -뷂 -뷂 - -뷃 -뷃 -뷃 -뷃 -뷃 - -뷄 -뷄 -뷄 -뷄 -뷄 - -뷅 -뷅 -뷅 -뷅 -뷅 - -뷆 -뷆 -뷆 -뷆 -뷆 - -뷇 -뷇 -뷇 -뷇 -뷇 - -뷈 -뷈 -뷈 -뷈 -뷈 - -뷉 -뷉 -뷉 -뷉 -뷉 - -뷊 -뷊 -뷊 -뷊 -뷊 - -뷋 -뷋 -뷋 -뷋 -뷋 - -뷌 -뷌 -뷌 -뷌 -뷌 - -뷍 -뷍 -뷍 -뷍 -뷍 - -뷎 -뷎 -뷎 -뷎 -뷎 - -뷏 -뷏 -뷏 -뷏 -뷏 - -뷐 -뷐 -뷐 -뷐 -뷐 - -뷑 -뷑 -뷑 -뷑 -뷑 - -뷒 -뷒 -뷒 -뷒 -뷒 - -뷓 -뷓 -뷓 -뷓 -뷓 - -뷔 -뷔 -뷔 -뷔 -뷔 - -뷕 -뷕 -뷕 -뷕 -뷕 - -뷖 -뷖 -뷖 -뷖 -뷖 - -뷗 -뷗 -뷗 -뷗 -뷗 - -뷘 -뷘 -뷘 -뷘 -뷘 - -뷙 -뷙 -뷙 -뷙 -뷙 - -뷚 -뷚 -뷚 -뷚 -뷚 - -뷛 -뷛 -뷛 -뷛 -뷛 - -뷜 -뷜 -뷜 -뷜 -뷜 - -뷝 -뷝 -뷝 -뷝 -뷝 - -뷞 -뷞 -뷞 -뷞 -뷞 - -뷟 -뷟 -뷟 -뷟 -뷟 - -뷠 -뷠 -뷠 -뷠 -뷠 - -뷡 -뷡 -뷡 -뷡 -뷡 - -뷢 -뷢 -뷢 -뷢 -뷢 - -뷣 -뷣 -뷣 -뷣 -뷣 - -뷤 -뷤 -뷤 -뷤 -뷤 - -뷥 -뷥 -뷥 -뷥 -뷥 - -뷦 -뷦 -뷦 -뷦 -뷦 - -뷧 -뷧 -뷧 -뷧 -뷧 - -뷨 -뷨 -뷨 -뷨 -뷨 - -뷩 -뷩 -뷩 -뷩 -뷩 - -뷪 -뷪 -뷪 -뷪 -뷪 - -뷫 -뷫 -뷫 -뷫 -뷫 - -뷬 -뷬 -뷬 -뷬 -뷬 - -뷭 -뷭 -뷭 -뷭 -뷭 - -뷮 -뷮 -뷮 -뷮 -뷮 - -뷯 -뷯 -뷯 -뷯 -뷯 - -뷰 -뷰 -뷰 -뷰 -뷰 - -뷱 -뷱 -뷱 -뷱 -뷱 - -뷲 -뷲 -뷲 -뷲 -뷲 - -뷳 -뷳 -뷳 -뷳 -뷳 - -뷴 -뷴 -뷴 -뷴 -뷴 - -뷵 -뷵 -뷵 -뷵 -뷵 - -뷶 -뷶 -뷶 -뷶 -뷶 - -뷷 -뷷 -뷷 -뷷 -뷷 - -뷸 -뷸 -뷸 -뷸 -뷸 - -뷹 -뷹 -뷹 -뷹 -뷹 - -뷺 -뷺 -뷺 -뷺 -뷺 - -뷻 -뷻 -뷻 -뷻 -뷻 - -뷼 -뷼 -뷼 -뷼 -뷼 - -뷽 -뷽 -뷽 -뷽 -뷽 - -뷾 -뷾 -뷾 -뷾 -뷾 - -뷿 -뷿 -뷿 -뷿 -뷿 - -븀 -븀 -븀 -븀 -븀 - -븁 -븁 -븁 -븁 -븁 - -븂 -븂 -븂 -븂 -븂 - -븃 -븃 -븃 -븃 -븃 - -븄 -븄 -븄 -븄 -븄 - -븅 -븅 -븅 -븅 -븅 - -븆 -븆 -븆 -븆 -븆 - -븇 -븇 -븇 -븇 -븇 - -븈 -븈 -븈 -븈 -븈 - -븉 -븉 -븉 -븉 -븉 - -븊 -븊 -븊 -븊 -븊 - -븋 -븋 -븋 -븋 -븋 - -브 -브 -브 -브 -브 - -븍 -븍 -븍 -븍 -븍 - -븎 -븎 -븎 -븎 -븎 - -븏 -븏 -븏 -븏 -븏 - -븐 -븐 -븐 -븐 -븐 - -븑 -븑 -븑 -븑 -븑 - -븒 -븒 -븒 -븒 -븒 - -븓 -븓 -븓 -븓 -븓 - -블 -블 -블 -블 -블 - -븕 -븕 -븕 -븕 -븕 - -븖 -븖 -븖 -븖 -븖 - -븗 -븗 -븗 -븗 -븗 - -븘 -븘 -븘 -븘 -븘 - -븙 -븙 -븙 -븙 -븙 - -븚 -븚 -븚 -븚 -븚 - -븛 -븛 -븛 -븛 -븛 - -븜 -븜 -븜 -븜 -븜 - -븝 -븝 -븝 -븝 -븝 - -븞 -븞 -븞 -븞 -븞 - -븟 -븟 -븟 -븟 -븟 - -븠 -븠 -븠 -븠 -븠 - -븡 -븡 -븡 -븡 -븡 - -븢 -븢 -븢 -븢 -븢 - -븣 -븣 -븣 -븣 -븣 - -븤 -븤 -븤 -븤 -븤 - -븥 -븥 -븥 -븥 -븥 - -븦 -븦 -븦 -븦 -븦 - -븧 -븧 -븧 -븧 -븧 - -븨 -븨 -븨 -븨 -븨 - -븩 -븩 -븩 -븩 -븩 - -븪 -븪 -븪 -븪 -븪 - -븫 -븫 -븫 -븫 -븫 - -븬 -븬 -븬 -븬 -븬 - -븭 -븭 -븭 -븭 -븭 - -븮 -븮 -븮 -븮 -븮 - -븯 -븯 -븯 -븯 -븯 - -븰 -븰 -븰 -븰 -븰 - -븱 -븱 -븱 -븱 -븱 - -븲 -븲 -븲 -븲 -븲 - -븳 -븳 -븳 -븳 -븳 - -븴 -븴 -븴 -븴 -븴 - -븵 -븵 -븵 -븵 -븵 - -븶 -븶 -븶 -븶 -븶 - -븷 -븷 -븷 -븷 -븷 - -븸 -븸 -븸 -븸 -븸 - -븹 -븹 -븹 -븹 -븹 - -븺 -븺 -븺 -븺 -븺 - -븻 -븻 -븻 -븻 -븻 - -븼 -븼 -븼 -븼 -븼 - -븽 -븽 -븽 -븽 -븽 - -븾 -븾 -븾 -븾 -븾 - -븿 -븿 -븿 -븿 -븿 - -빀 -빀 -빀 -빀 -빀 - -빁 -빁 -빁 -빁 -빁 - -빂 -빂 -빂 -빂 -빂 - -빃 -빃 -빃 -빃 -빃 - -비 -비 -비 -비 -비 - -빅 -빅 -빅 -빅 -빅 - -빆 -빆 -빆 -빆 -빆 - -빇 -빇 -빇 -빇 -빇 - -빈 -빈 -빈 -빈 -빈 - -빉 -빉 -빉 -빉 -빉 - -빊 -빊 -빊 -빊 -빊 - -빋 -빋 -빋 -빋 -빋 - -빌 -빌 -빌 -빌 -빌 - -빍 -빍 -빍 -빍 -빍 - -빎 -빎 -빎 -빎 -빎 - -빏 -빏 -빏 -빏 -빏 - -빐 -빐 -빐 -빐 -빐 - -빑 -빑 -빑 -빑 -빑 - -빒 -빒 -빒 -빒 -빒 - -빓 -빓 -빓 -빓 -빓 - -빔 -빔 -빔 -빔 -빔 - -빕 -빕 -빕 -빕 -빕 - -빖 -빖 -빖 -빖 -빖 - -빗 -빗 -빗 -빗 -빗 - -빘 -빘 -빘 -빘 -빘 - -빙 -빙 -빙 -빙 -빙 - -빚 -빚 -빚 -빚 -빚 - -빛 -빛 -빛 -빛 -빛 - -빜 -빜 -빜 -빜 -빜 - -빝 -빝 -빝 -빝 -빝 - -빞 -빞 -빞 -빞 -빞 - -빟 -빟 -빟 -빟 -빟 - -빠 -빠 -빠 -빠 -빠 - -빡 -빡 -빡 -빡 -빡 - -빢 -빢 -빢 -빢 -빢 - -빣 -빣 -빣 -빣 -빣 - -빤 -빤 -빤 -빤 -빤 - -빥 -빥 -빥 -빥 -빥 - -빦 -빦 -빦 -빦 -빦 - -빧 -빧 -빧 -빧 -빧 - -빨 -빨 -빨 -빨 -빨 - -빩 -빩 -빩 -빩 -빩 - -빪 -빪 -빪 -빪 -빪 - -빫 -빫 -빫 -빫 -빫 - -빬 -빬 -빬 -빬 -빬 - -빭 -빭 -빭 -빭 -빭 - -빮 -빮 -빮 -빮 -빮 - -빯 -빯 -빯 -빯 -빯 - -빰 -빰 -빰 -빰 -빰 - -빱 -빱 -빱 -빱 -빱 - -빲 -빲 -빲 -빲 -빲 - -빳 -빳 -빳 -빳 -빳 - -빴 -빴 -빴 -빴 -빴 - -빵 -빵 -빵 -빵 -빵 - -빶 -빶 -빶 -빶 -빶 - -빷 -빷 -빷 -빷 -빷 - -빸 -빸 -빸 -빸 -빸 - -빹 -빹 -빹 -빹 -빹 - -빺 -빺 -빺 -빺 -빺 - -빻 -빻 -빻 -빻 -빻 - -빼 -빼 -빼 -빼 -빼 - -빽 -빽 -빽 -빽 -빽 - -빾 -빾 -빾 -빾 -빾 - -빿 -빿 -빿 -빿 -빿 - -뺀 -뺀 -뺀 -뺀 -뺀 - -뺁 -뺁 -뺁 -뺁 -뺁 - -뺂 -뺂 -뺂 -뺂 -뺂 - -뺃 -뺃 -뺃 -뺃 -뺃 - -뺄 -뺄 -뺄 -뺄 -뺄 - -뺅 -뺅 -뺅 -뺅 -뺅 - -뺆 -뺆 -뺆 -뺆 -뺆 - -뺇 -뺇 -뺇 -뺇 -뺇 - -뺈 -뺈 -뺈 -뺈 -뺈 - -뺉 -뺉 -뺉 -뺉 -뺉 - -뺊 -뺊 -뺊 -뺊 -뺊 - -뺋 -뺋 -뺋 -뺋 -뺋 - -뺌 -뺌 -뺌 -뺌 -뺌 - -뺍 -뺍 -뺍 -뺍 -뺍 - -뺎 -뺎 -뺎 -뺎 -뺎 - -뺏 -뺏 -뺏 -뺏 -뺏 - -뺐 -뺐 -뺐 -뺐 -뺐 - -뺑 -뺑 -뺑 -뺑 -뺑 - -뺒 -뺒 -뺒 -뺒 -뺒 - -뺓 -뺓 -뺓 -뺓 -뺓 - -뺔 -뺔 -뺔 -뺔 -뺔 - -뺕 -뺕 -뺕 -뺕 -뺕 - -뺖 -뺖 -뺖 -뺖 -뺖 - -뺗 -뺗 -뺗 -뺗 -뺗 - -뺘 -뺘 -뺘 -뺘 -뺘 - -뺙 -뺙 -뺙 -뺙 -뺙 - -뺚 -뺚 -뺚 -뺚 -뺚 - -뺛 -뺛 -뺛 -뺛 -뺛 - -뺜 -뺜 -뺜 -뺜 -뺜 - -뺝 -뺝 -뺝 -뺝 -뺝 - -뺞 -뺞 -뺞 -뺞 -뺞 - -뺟 -뺟 -뺟 -뺟 -뺟 - -뺠 -뺠 -뺠 -뺠 -뺠 - -뺡 -뺡 -뺡 -뺡 -뺡 - -뺢 -뺢 -뺢 -뺢 -뺢 - -뺣 -뺣 -뺣 -뺣 -뺣 - -뺤 -뺤 -뺤 -뺤 -뺤 - -뺥 -뺥 -뺥 -뺥 -뺥 - -뺦 -뺦 -뺦 -뺦 -뺦 - -뺧 -뺧 -뺧 -뺧 -뺧 - -뺨 -뺨 -뺨 -뺨 -뺨 - -뺩 -뺩 -뺩 -뺩 -뺩 - -뺪 -뺪 -뺪 -뺪 -뺪 - -뺫 -뺫 -뺫 -뺫 -뺫 - -뺬 -뺬 -뺬 -뺬 -뺬 - -뺭 -뺭 -뺭 -뺭 -뺭 - -뺮 -뺮 -뺮 -뺮 -뺮 - -뺯 -뺯 -뺯 -뺯 -뺯 - -뺰 -뺰 -뺰 -뺰 -뺰 - -뺱 -뺱 -뺱 -뺱 -뺱 - -뺲 -뺲 -뺲 -뺲 -뺲 - -뺳 -뺳 -뺳 -뺳 -뺳 - -뺴 -뺴 -뺴 -뺴 -뺴 - -뺵 -뺵 -뺵 -뺵 -뺵 - -뺶 -뺶 -뺶 -뺶 -뺶 - -뺷 -뺷 -뺷 -뺷 -뺷 - -뺸 -뺸 -뺸 -뺸 -뺸 - -뺹 -뺹 -뺹 -뺹 -뺹 - -뺺 -뺺 -뺺 -뺺 -뺺 - -뺻 -뺻 -뺻 -뺻 -뺻 - -뺼 -뺼 -뺼 -뺼 -뺼 - -뺽 -뺽 -뺽 -뺽 -뺽 - -뺾 -뺾 -뺾 -뺾 -뺾 - -뺿 -뺿 -뺿 -뺿 -뺿 - -뻀 -뻀 -뻀 -뻀 -뻀 - -뻁 -뻁 -뻁 -뻁 -뻁 - -뻂 -뻂 -뻂 -뻂 -뻂 - -뻃 -뻃 -뻃 -뻃 -뻃 - -뻄 -뻄 -뻄 -뻄 -뻄 - -뻅 -뻅 -뻅 -뻅 -뻅 - -뻆 -뻆 -뻆 -뻆 -뻆 - -뻇 -뻇 -뻇 -뻇 -뻇 - -뻈 -뻈 -뻈 -뻈 -뻈 - -뻉 -뻉 -뻉 -뻉 -뻉 - -뻊 -뻊 -뻊 -뻊 -뻊 - -뻋 -뻋 -뻋 -뻋 -뻋 - -뻌 -뻌 -뻌 -뻌 -뻌 - -뻍 -뻍 -뻍 -뻍 -뻍 - -뻎 -뻎 -뻎 -뻎 -뻎 - -뻏 -뻏 -뻏 -뻏 -뻏 - -뻐 -뻐 -뻐 -뻐 -뻐 - -뻑 -뻑 -뻑 -뻑 -뻑 - -뻒 -뻒 -뻒 -뻒 -뻒 - -뻓 -뻓 -뻓 -뻓 -뻓 - -뻔 -뻔 -뻔 -뻔 -뻔 - -뻕 -뻕 -뻕 -뻕 -뻕 - -뻖 -뻖 -뻖 -뻖 -뻖 - -뻗 -뻗 -뻗 -뻗 -뻗 - -뻘 -뻘 -뻘 -뻘 -뻘 - -뻙 -뻙 -뻙 -뻙 -뻙 - -뻚 -뻚 -뻚 -뻚 -뻚 - -뻛 -뻛 -뻛 -뻛 -뻛 - -뻜 -뻜 -뻜 -뻜 -뻜 - -뻝 -뻝 -뻝 -뻝 -뻝 - -뻞 -뻞 -뻞 -뻞 -뻞 - -뻟 -뻟 -뻟 -뻟 -뻟 - -뻠 -뻠 -뻠 -뻠 -뻠 - -뻡 -뻡 -뻡 -뻡 -뻡 - -뻢 -뻢 -뻢 -뻢 -뻢 - -뻣 -뻣 -뻣 -뻣 -뻣 - -뻤 -뻤 -뻤 -뻤 -뻤 - -뻥 -뻥 -뻥 -뻥 -뻥 - -뻦 -뻦 -뻦 -뻦 -뻦 - -뻧 -뻧 -뻧 -뻧 -뻧 - -뻨 -뻨 -뻨 -뻨 -뻨 - -뻩 -뻩 -뻩 -뻩 -뻩 - -뻪 -뻪 -뻪 -뻪 -뻪 - -뻫 -뻫 -뻫 -뻫 -뻫 - -뻬 -뻬 -뻬 -뻬 -뻬 - -뻭 -뻭 -뻭 -뻭 -뻭 - -뻮 -뻮 -뻮 -뻮 -뻮 - -뻯 -뻯 -뻯 -뻯 -뻯 - -뻰 -뻰 -뻰 -뻰 -뻰 - -뻱 -뻱 -뻱 -뻱 -뻱 - -뻲 -뻲 -뻲 -뻲 -뻲 - -뻳 -뻳 -뻳 -뻳 -뻳 - -뻴 -뻴 -뻴 -뻴 -뻴 - -뻵 -뻵 -뻵 -뻵 -뻵 - -뻶 -뻶 -뻶 -뻶 -뻶 - -뻷 -뻷 -뻷 -뻷 -뻷 - -뻸 -뻸 -뻸 -뻸 -뻸 - -뻹 -뻹 -뻹 -뻹 -뻹 - -뻺 -뻺 -뻺 -뻺 -뻺 - -뻻 -뻻 -뻻 -뻻 -뻻 - -뻼 -뻼 -뻼 -뻼 -뻼 - -뻽 -뻽 -뻽 -뻽 -뻽 - -뻾 -뻾 -뻾 -뻾 -뻾 - -뻿 -뻿 -뻿 -뻿 -뻿 - -뼀 -뼀 -뼀 -뼀 -뼀 - -뼁 -뼁 -뼁 -뼁 -뼁 - -뼂 -뼂 -뼂 -뼂 -뼂 - -뼃 -뼃 -뼃 -뼃 -뼃 - -뼄 -뼄 -뼄 -뼄 -뼄 - -뼅 -뼅 -뼅 -뼅 -뼅 - -뼆 -뼆 -뼆 -뼆 -뼆 - -뼇 -뼇 -뼇 -뼇 -뼇 - -뼈 -뼈 -뼈 -뼈 -뼈 - -뼉 -뼉 -뼉 -뼉 -뼉 - -뼊 -뼊 -뼊 -뼊 -뼊 - -뼋 -뼋 -뼋 -뼋 -뼋 - -뼌 -뼌 -뼌 -뼌 -뼌 - -뼍 -뼍 -뼍 -뼍 -뼍 - -뼎 -뼎 -뼎 -뼎 -뼎 - -뼏 -뼏 -뼏 -뼏 -뼏 - -뼐 -뼐 -뼐 -뼐 -뼐 - -뼑 -뼑 -뼑 -뼑 -뼑 - -뼒 -뼒 -뼒 -뼒 -뼒 - -뼓 -뼓 -뼓 -뼓 -뼓 - -뼔 -뼔 -뼔 -뼔 -뼔 - -뼕 -뼕 -뼕 -뼕 -뼕 - -뼖 -뼖 -뼖 -뼖 -뼖 - -뼗 -뼗 -뼗 -뼗 -뼗 - -뼘 -뼘 -뼘 -뼘 -뼘 - -뼙 -뼙 -뼙 -뼙 -뼙 - -뼚 -뼚 -뼚 -뼚 -뼚 - -뼛 -뼛 -뼛 -뼛 -뼛 - -뼜 -뼜 -뼜 -뼜 -뼜 - -뼝 -뼝 -뼝 -뼝 -뼝 - -뼞 -뼞 -뼞 -뼞 -뼞 - -뼟 -뼟 -뼟 -뼟 -뼟 - -뼠 -뼠 -뼠 -뼠 -뼠 - -뼡 -뼡 -뼡 -뼡 -뼡 - -뼢 -뼢 -뼢 -뼢 -뼢 - -뼣 -뼣 -뼣 -뼣 -뼣 - -뼤 -뼤 -뼤 -뼤 -뼤 - -뼥 -뼥 -뼥 -뼥 -뼥 - -뼦 -뼦 -뼦 -뼦 -뼦 - -뼧 -뼧 -뼧 -뼧 -뼧 - -뼨 -뼨 -뼨 -뼨 -뼨 - -뼩 -뼩 -뼩 -뼩 -뼩 - -뼪 -뼪 -뼪 -뼪 -뼪 - -뼫 -뼫 -뼫 -뼫 -뼫 - -뼬 -뼬 -뼬 -뼬 -뼬 - -뼭 -뼭 -뼭 -뼭 -뼭 - -뼮 -뼮 -뼮 -뼮 -뼮 - -뼯 -뼯 -뼯 -뼯 -뼯 - -뼰 -뼰 -뼰 -뼰 -뼰 - -뼱 -뼱 -뼱 -뼱 -뼱 - -뼲 -뼲 -뼲 -뼲 -뼲 - -뼳 -뼳 -뼳 -뼳 -뼳 - -뼴 -뼴 -뼴 -뼴 -뼴 - -뼵 -뼵 -뼵 -뼵 -뼵 - -뼶 -뼶 -뼶 -뼶 -뼶 - -뼷 -뼷 -뼷 -뼷 -뼷 - -뼸 -뼸 -뼸 -뼸 -뼸 - -뼹 -뼹 -뼹 -뼹 -뼹 - -뼺 -뼺 -뼺 -뼺 -뼺 - -뼻 -뼻 -뼻 -뼻 -뼻 - -뼼 -뼼 -뼼 -뼼 -뼼 - -뼽 -뼽 -뼽 -뼽 -뼽 - -뼾 -뼾 -뼾 -뼾 -뼾 - -뼿 -뼿 -뼿 -뼿 -뼿 - -뽀 -뽀 -뽀 -뽀 -뽀 - -뽁 -뽁 -뽁 -뽁 -뽁 - -뽂 -뽂 -뽂 -뽂 -뽂 - -뽃 -뽃 -뽃 -뽃 -뽃 - -뽄 -뽄 -뽄 -뽄 -뽄 - -뽅 -뽅 -뽅 -뽅 -뽅 - -뽆 -뽆 -뽆 -뽆 -뽆 - -뽇 -뽇 -뽇 -뽇 -뽇 - -뽈 -뽈 -뽈 -뽈 -뽈 - -뽉 -뽉 -뽉 -뽉 -뽉 - -뽊 -뽊 -뽊 -뽊 -뽊 - -뽋 -뽋 -뽋 -뽋 -뽋 - -뽌 -뽌 -뽌 -뽌 -뽌 - -뽍 -뽍 -뽍 -뽍 -뽍 - -뽎 -뽎 -뽎 -뽎 -뽎 - -뽏 -뽏 -뽏 -뽏 -뽏 - -뽐 -뽐 -뽐 -뽐 -뽐 - -뽑 -뽑 -뽑 -뽑 -뽑 - -뽒 -뽒 -뽒 -뽒 -뽒 - -뽓 -뽓 -뽓 -뽓 -뽓 - -뽔 -뽔 -뽔 -뽔 -뽔 - -뽕 -뽕 -뽕 -뽕 -뽕 - -뽖 -뽖 -뽖 -뽖 -뽖 - -뽗 -뽗 -뽗 -뽗 -뽗 - -뽘 -뽘 -뽘 -뽘 -뽘 - -뽙 -뽙 -뽙 -뽙 -뽙 - -뽚 -뽚 -뽚 -뽚 -뽚 - -뽛 -뽛 -뽛 -뽛 -뽛 - -뽜 -뽜 -뽜 -뽜 -뽜 - -뽝 -뽝 -뽝 -뽝 -뽝 - -뽞 -뽞 -뽞 -뽞 -뽞 - -뽟 -뽟 -뽟 -뽟 -뽟 - -뽠 -뽠 -뽠 -뽠 -뽠 - -뽡 -뽡 -뽡 -뽡 -뽡 - -뽢 -뽢 -뽢 -뽢 -뽢 - -뽣 -뽣 -뽣 -뽣 -뽣 - -뽤 -뽤 -뽤 -뽤 -뽤 - -뽥 -뽥 -뽥 -뽥 -뽥 - -뽦 -뽦 -뽦 -뽦 -뽦 - -뽧 -뽧 -뽧 -뽧 -뽧 - -뽨 -뽨 -뽨 -뽨 -뽨 - -뽩 -뽩 -뽩 -뽩 -뽩 - -뽪 -뽪 -뽪 -뽪 -뽪 - -뽫 -뽫 -뽫 -뽫 -뽫 - -뽬 -뽬 -뽬 -뽬 -뽬 - -뽭 -뽭 -뽭 -뽭 -뽭 - -뽮 -뽮 -뽮 -뽮 -뽮 - -뽯 -뽯 -뽯 -뽯 -뽯 - -뽰 -뽰 -뽰 -뽰 -뽰 - -뽱 -뽱 -뽱 -뽱 -뽱 - -뽲 -뽲 -뽲 -뽲 -뽲 - -뽳 -뽳 -뽳 -뽳 -뽳 - -뽴 -뽴 -뽴 -뽴 -뽴 - -뽵 -뽵 -뽵 -뽵 -뽵 - -뽶 -뽶 -뽶 -뽶 -뽶 - -뽷 -뽷 -뽷 -뽷 -뽷 - -뽸 -뽸 -뽸 -뽸 -뽸 - -뽹 -뽹 -뽹 -뽹 -뽹 - -뽺 -뽺 -뽺 -뽺 -뽺 - -뽻 -뽻 -뽻 -뽻 -뽻 - -뽼 -뽼 -뽼 -뽼 -뽼 - -뽽 -뽽 -뽽 -뽽 -뽽 - -뽾 -뽾 -뽾 -뽾 -뽾 - -뽿 -뽿 -뽿 -뽿 -뽿 - -뾀 -뾀 -뾀 -뾀 -뾀 - -뾁 -뾁 -뾁 -뾁 -뾁 - -뾂 -뾂 -뾂 -뾂 -뾂 - -뾃 -뾃 -뾃 -뾃 -뾃 - -뾄 -뾄 -뾄 -뾄 -뾄 - -뾅 -뾅 -뾅 -뾅 -뾅 - -뾆 -뾆 -뾆 -뾆 -뾆 - -뾇 -뾇 -뾇 -뾇 -뾇 - -뾈 -뾈 -뾈 -뾈 -뾈 - -뾉 -뾉 -뾉 -뾉 -뾉 - -뾊 -뾊 -뾊 -뾊 -뾊 - -뾋 -뾋 -뾋 -뾋 -뾋 - -뾌 -뾌 -뾌 -뾌 -뾌 - -뾍 -뾍 -뾍 -뾍 -뾍 - -뾎 -뾎 -뾎 -뾎 -뾎 - -뾏 -뾏 -뾏 -뾏 -뾏 - -뾐 -뾐 -뾐 -뾐 -뾐 - -뾑 -뾑 -뾑 -뾑 -뾑 - -뾒 -뾒 -뾒 -뾒 -뾒 - -뾓 -뾓 -뾓 -뾓 -뾓 - -뾔 -뾔 -뾔 -뾔 -뾔 - -뾕 -뾕 -뾕 -뾕 -뾕 - -뾖 -뾖 -뾖 -뾖 -뾖 - -뾗 -뾗 -뾗 -뾗 -뾗 - -뾘 -뾘 -뾘 -뾘 -뾘 - -뾙 -뾙 -뾙 -뾙 -뾙 - -뾚 -뾚 -뾚 -뾚 -뾚 - -뾛 -뾛 -뾛 -뾛 -뾛 - -뾜 -뾜 -뾜 -뾜 -뾜 - -뾝 -뾝 -뾝 -뾝 -뾝 - -뾞 -뾞 -뾞 -뾞 -뾞 - -뾟 -뾟 -뾟 -뾟 -뾟 - -뾠 -뾠 -뾠 -뾠 -뾠 - -뾡 -뾡 -뾡 -뾡 -뾡 - -뾢 -뾢 -뾢 -뾢 -뾢 - -뾣 -뾣 -뾣 -뾣 -뾣 - -뾤 -뾤 -뾤 -뾤 -뾤 - -뾥 -뾥 -뾥 -뾥 -뾥 - -뾦 -뾦 -뾦 -뾦 -뾦 - -뾧 -뾧 -뾧 -뾧 -뾧 - -뾨 -뾨 -뾨 -뾨 -뾨 - -뾩 -뾩 -뾩 -뾩 -뾩 - -뾪 -뾪 -뾪 -뾪 -뾪 - -뾫 -뾫 -뾫 -뾫 -뾫 - -뾬 -뾬 -뾬 -뾬 -뾬 - -뾭 -뾭 -뾭 -뾭 -뾭 - -뾮 -뾮 -뾮 -뾮 -뾮 - -뾯 -뾯 -뾯 -뾯 -뾯 - -뾰 -뾰 -뾰 -뾰 -뾰 - -뾱 -뾱 -뾱 -뾱 -뾱 - -뾲 -뾲 -뾲 -뾲 -뾲 - -뾳 -뾳 -뾳 -뾳 -뾳 - -뾴 -뾴 -뾴 -뾴 -뾴 - -뾵 -뾵 -뾵 -뾵 -뾵 - -뾶 -뾶 -뾶 -뾶 -뾶 - -뾷 -뾷 -뾷 -뾷 -뾷 - -뾸 -뾸 -뾸 -뾸 -뾸 - -뾹 -뾹 -뾹 -뾹 -뾹 - -뾺 -뾺 -뾺 -뾺 -뾺 - -뾻 -뾻 -뾻 -뾻 -뾻 - -뾼 -뾼 -뾼 -뾼 -뾼 - -뾽 -뾽 -뾽 -뾽 -뾽 - -뾾 -뾾 -뾾 -뾾 -뾾 - -뾿 -뾿 -뾿 -뾿 -뾿 - -뿀 -뿀 -뿀 -뿀 -뿀 - -뿁 -뿁 -뿁 -뿁 -뿁 - -뿂 -뿂 -뿂 -뿂 -뿂 - -뿃 -뿃 -뿃 -뿃 -뿃 - -뿄 -뿄 -뿄 -뿄 -뿄 - -뿅 -뿅 -뿅 -뿅 -뿅 - -뿆 -뿆 -뿆 -뿆 -뿆 - -뿇 -뿇 -뿇 -뿇 -뿇 - -뿈 -뿈 -뿈 -뿈 -뿈 - -뿉 -뿉 -뿉 -뿉 -뿉 - -뿊 -뿊 -뿊 -뿊 -뿊 - -뿋 -뿋 -뿋 -뿋 -뿋 - -뿌 -뿌 -뿌 -뿌 -뿌 - -뿍 -뿍 -뿍 -뿍 -뿍 - -뿎 -뿎 -뿎 -뿎 -뿎 - -뿏 -뿏 -뿏 -뿏 -뿏 - -뿐 -뿐 -뿐 -뿐 -뿐 - -뿑 -뿑 -뿑 -뿑 -뿑 - -뿒 -뿒 -뿒 -뿒 -뿒 - -뿓 -뿓 -뿓 -뿓 -뿓 - -뿔 -뿔 -뿔 -뿔 -뿔 - -뿕 -뿕 -뿕 -뿕 -뿕 - -뿖 -뿖 -뿖 -뿖 -뿖 - -뿗 -뿗 -뿗 -뿗 -뿗 - -뿘 -뿘 -뿘 -뿘 -뿘 - -뿙 -뿙 -뿙 -뿙 -뿙 - -뿚 -뿚 -뿚 -뿚 -뿚 - -뿛 -뿛 -뿛 -뿛 -뿛 - -뿜 -뿜 -뿜 -뿜 -뿜 - -뿝 -뿝 -뿝 -뿝 -뿝 - -뿞 -뿞 -뿞 -뿞 -뿞 - -뿟 -뿟 -뿟 -뿟 -뿟 - -뿠 -뿠 -뿠 -뿠 -뿠 - -뿡 -뿡 -뿡 -뿡 -뿡 - -뿢 -뿢 -뿢 -뿢 -뿢 - -뿣 -뿣 -뿣 -뿣 -뿣 - -뿤 -뿤 -뿤 -뿤 -뿤 - -뿥 -뿥 -뿥 -뿥 -뿥 - -뿦 -뿦 -뿦 -뿦 -뿦 - -뿧 -뿧 -뿧 -뿧 -뿧 - -뿨 -뿨 -뿨 -뿨 -뿨 - -뿩 -뿩 -뿩 -뿩 -뿩 - -뿪 -뿪 -뿪 -뿪 -뿪 - -뿫 -뿫 -뿫 -뿫 -뿫 - -뿬 -뿬 -뿬 -뿬 -뿬 - -뿭 -뿭 -뿭 -뿭 -뿭 - -뿮 -뿮 -뿮 -뿮 -뿮 - -뿯 -뿯 -뿯 -뿯 -뿯 - -뿰 -뿰 -뿰 -뿰 -뿰 - -뿱 -뿱 -뿱 -뿱 -뿱 - -뿲 -뿲 -뿲 -뿲 -뿲 - -뿳 -뿳 -뿳 -뿳 -뿳 - -뿴 -뿴 -뿴 -뿴 -뿴 - -뿵 -뿵 -뿵 -뿵 -뿵 - -뿶 -뿶 -뿶 -뿶 -뿶 - -뿷 -뿷 -뿷 -뿷 -뿷 - -뿸 -뿸 -뿸 -뿸 -뿸 - -뿹 -뿹 -뿹 -뿹 -뿹 - -뿺 -뿺 -뿺 -뿺 -뿺 - -뿻 -뿻 -뿻 -뿻 -뿻 - -뿼 -뿼 -뿼 -뿼 -뿼 - -뿽 -뿽 -뿽 -뿽 -뿽 - -뿾 -뿾 -뿾 -뿾 -뿾 - -뿿 -뿿 -뿿 -뿿 -뿿 - -쀀 -쀀 -쀀 -쀀 -쀀 - -쀁 -쀁 -쀁 -쀁 -쀁 - -쀂 -쀂 -쀂 -쀂 -쀂 - -쀃 -쀃 -쀃 -쀃 -쀃 - -쀄 -쀄 -쀄 -쀄 -쀄 - -쀅 -쀅 -쀅 -쀅 -쀅 - -쀆 -쀆 -쀆 -쀆 -쀆 - -쀇 -쀇 -쀇 -쀇 -쀇 - -쀈 -쀈 -쀈 -쀈 -쀈 - -쀉 -쀉 -쀉 -쀉 -쀉 - -쀊 -쀊 -쀊 -쀊 -쀊 - -쀋 -쀋 -쀋 -쀋 -쀋 - -쀌 -쀌 -쀌 -쀌 -쀌 - -쀍 -쀍 -쀍 -쀍 -쀍 - -쀎 -쀎 -쀎 -쀎 -쀎 - -쀏 -쀏 -쀏 -쀏 -쀏 - -쀐 -쀐 -쀐 -쀐 -쀐 - -쀑 -쀑 -쀑 -쀑 -쀑 - -쀒 -쀒 -쀒 -쀒 -쀒 - -쀓 -쀓 -쀓 -쀓 -쀓 - -쀔 -쀔 -쀔 -쀔 -쀔 - -쀕 -쀕 -쀕 -쀕 -쀕 - -쀖 -쀖 -쀖 -쀖 -쀖 - -쀗 -쀗 -쀗 -쀗 -쀗 - -쀘 -쀘 -쀘 -쀘 -쀘 - -쀙 -쀙 -쀙 -쀙 -쀙 - -쀚 -쀚 -쀚 -쀚 -쀚 - -쀛 -쀛 -쀛 -쀛 -쀛 - -쀜 -쀜 -쀜 -쀜 -쀜 - -쀝 -쀝 -쀝 -쀝 -쀝 - -쀞 -쀞 -쀞 -쀞 -쀞 - -쀟 -쀟 -쀟 -쀟 -쀟 - -쀠 -쀠 -쀠 -쀠 -쀠 - -쀡 -쀡 -쀡 -쀡 -쀡 - -쀢 -쀢 -쀢 -쀢 -쀢 - -쀣 -쀣 -쀣 -쀣 -쀣 - -쀤 -쀤 -쀤 -쀤 -쀤 - -쀥 -쀥 -쀥 -쀥 -쀥 - -쀦 -쀦 -쀦 -쀦 -쀦 - -쀧 -쀧 -쀧 -쀧 -쀧 - -쀨 -쀨 -쀨 -쀨 -쀨 - -쀩 -쀩 -쀩 -쀩 -쀩 - -쀪 -쀪 -쀪 -쀪 -쀪 - -쀫 -쀫 -쀫 -쀫 -쀫 - -쀬 -쀬 -쀬 -쀬 -쀬 - -쀭 -쀭 -쀭 -쀭 -쀭 - -쀮 -쀮 -쀮 -쀮 -쀮 - -쀯 -쀯 -쀯 -쀯 -쀯 - -쀰 -쀰 -쀰 -쀰 -쀰 - -쀱 -쀱 -쀱 -쀱 -쀱 - -쀲 -쀲 -쀲 -쀲 -쀲 - -쀳 -쀳 -쀳 -쀳 -쀳 - -쀴 -쀴 -쀴 -쀴 -쀴 - -쀵 -쀵 -쀵 -쀵 -쀵 - -쀶 -쀶 -쀶 -쀶 -쀶 - -쀷 -쀷 -쀷 -쀷 -쀷 - -쀸 -쀸 -쀸 -쀸 -쀸 - -쀹 -쀹 -쀹 -쀹 -쀹 - -쀺 -쀺 -쀺 -쀺 -쀺 - -쀻 -쀻 -쀻 -쀻 -쀻 - -쀼 -쀼 -쀼 -쀼 -쀼 - -쀽 -쀽 -쀽 -쀽 -쀽 - -쀾 -쀾 -쀾 -쀾 -쀾 - -쀿 -쀿 -쀿 -쀿 -쀿 - -쁀 -쁀 -쁀 -쁀 -쁀 - -쁁 -쁁 -쁁 -쁁 -쁁 - -쁂 -쁂 -쁂 -쁂 -쁂 - -쁃 -쁃 -쁃 -쁃 -쁃 - -쁄 -쁄 -쁄 -쁄 -쁄 - -쁅 -쁅 -쁅 -쁅 -쁅 - -쁆 -쁆 -쁆 -쁆 -쁆 - -쁇 -쁇 -쁇 -쁇 -쁇 - -쁈 -쁈 -쁈 -쁈 -쁈 - -쁉 -쁉 -쁉 -쁉 -쁉 - -쁊 -쁊 -쁊 -쁊 -쁊 - -쁋 -쁋 -쁋 -쁋 -쁋 - -쁌 -쁌 -쁌 -쁌 -쁌 - -쁍 -쁍 -쁍 -쁍 -쁍 - -쁎 -쁎 -쁎 -쁎 -쁎 - -쁏 -쁏 -쁏 -쁏 -쁏 - -쁐 -쁐 -쁐 -쁐 -쁐 - -쁑 -쁑 -쁑 -쁑 -쁑 - -쁒 -쁒 -쁒 -쁒 -쁒 - -쁓 -쁓 -쁓 -쁓 -쁓 - -쁔 -쁔 -쁔 -쁔 -쁔 - -쁕 -쁕 -쁕 -쁕 -쁕 - -쁖 -쁖 -쁖 -쁖 -쁖 - -쁗 -쁗 -쁗 -쁗 -쁗 - -쁘 -쁘 -쁘 -쁘 -쁘 - -쁙 -쁙 -쁙 -쁙 -쁙 - -쁚 -쁚 -쁚 -쁚 -쁚 - -쁛 -쁛 -쁛 -쁛 -쁛 - -쁜 -쁜 -쁜 -쁜 -쁜 - -쁝 -쁝 -쁝 -쁝 -쁝 - -쁞 -쁞 -쁞 -쁞 -쁞 - -쁟 -쁟 -쁟 -쁟 -쁟 - -쁠 -쁠 -쁠 -쁠 -쁠 - -쁡 -쁡 -쁡 -쁡 -쁡 - -쁢 -쁢 -쁢 -쁢 -쁢 - -쁣 -쁣 -쁣 -쁣 -쁣 - -쁤 -쁤 -쁤 -쁤 -쁤 - -쁥 -쁥 -쁥 -쁥 -쁥 - -쁦 -쁦 -쁦 -쁦 -쁦 - -쁧 -쁧 -쁧 -쁧 -쁧 - -쁨 -쁨 -쁨 -쁨 -쁨 - -쁩 -쁩 -쁩 -쁩 -쁩 - -쁪 -쁪 -쁪 -쁪 -쁪 - -쁫 -쁫 -쁫 -쁫 -쁫 - -쁬 -쁬 -쁬 -쁬 -쁬 - -쁭 -쁭 -쁭 -쁭 -쁭 - -쁮 -쁮 -쁮 -쁮 -쁮 - -쁯 -쁯 -쁯 -쁯 -쁯 - -쁰 -쁰 -쁰 -쁰 -쁰 - -쁱 -쁱 -쁱 -쁱 -쁱 - -쁲 -쁲 -쁲 -쁲 -쁲 - -쁳 -쁳 -쁳 -쁳 -쁳 - -쁴 -쁴 -쁴 -쁴 -쁴 - -쁵 -쁵 -쁵 -쁵 -쁵 - -쁶 -쁶 -쁶 -쁶 -쁶 - -쁷 -쁷 -쁷 -쁷 -쁷 - -쁸 -쁸 -쁸 -쁸 -쁸 - -쁹 -쁹 -쁹 -쁹 -쁹 - -쁺 -쁺 -쁺 -쁺 -쁺 - -쁻 -쁻 -쁻 -쁻 -쁻 - -쁼 -쁼 -쁼 -쁼 -쁼 - -쁽 -쁽 -쁽 -쁽 -쁽 - -쁾 -쁾 -쁾 -쁾 -쁾 - -쁿 -쁿 -쁿 -쁿 -쁿 - -삀 -삀 -삀 -삀 -삀 - -삁 -삁 -삁 -삁 -삁 - -삂 -삂 -삂 -삂 -삂 - -삃 -삃 -삃 -삃 -삃 - -삄 -삄 -삄 -삄 -삄 - -삅 -삅 -삅 -삅 -삅 - -삆 -삆 -삆 -삆 -삆 - -삇 -삇 -삇 -삇 -삇 - -삈 -삈 -삈 -삈 -삈 - -삉 -삉 -삉 -삉 -삉 - -삊 -삊 -삊 -삊 -삊 - -삋 -삋 -삋 -삋 -삋 - -삌 -삌 -삌 -삌 -삌 - -삍 -삍 -삍 -삍 -삍 - -삎 -삎 -삎 -삎 -삎 - -삏 -삏 -삏 -삏 -삏 - -삐 -삐 -삐 -삐 -삐 - -삑 -삑 -삑 -삑 -삑 - -삒 -삒 -삒 -삒 -삒 - -삓 -삓 -삓 -삓 -삓 - -삔 -삔 -삔 -삔 -삔 - -삕 -삕 -삕 -삕 -삕 - -삖 -삖 -삖 -삖 -삖 - -삗 -삗 -삗 -삗 -삗 - -삘 -삘 -삘 -삘 -삘 - -삙 -삙 -삙 -삙 -삙 - -삚 -삚 -삚 -삚 -삚 - -삛 -삛 -삛 -삛 -삛 - -삜 -삜 -삜 -삜 -삜 - -삝 -삝 -삝 -삝 -삝 - -삞 -삞 -삞 -삞 -삞 - -삟 -삟 -삟 -삟 -삟 - -삠 -삠 -삠 -삠 -삠 - -삡 -삡 -삡 -삡 -삡 - -삢 -삢 -삢 -삢 -삢 - -삣 -삣 -삣 -삣 -삣 - -삤 -삤 -삤 -삤 -삤 - -삥 -삥 -삥 -삥 -삥 - -삦 -삦 -삦 -삦 -삦 - -삧 -삧 -삧 -삧 -삧 - -삨 -삨 -삨 -삨 -삨 - -삩 -삩 -삩 -삩 -삩 - -삪 -삪 -삪 -삪 -삪 - -삫 -삫 -삫 -삫 -삫 - -사 -사 -사 -사 -사 - -삭 -삭 -삭 -삭 -삭 - -삮 -삮 -삮 -삮 -삮 - -삯 -삯 -삯 -삯 -삯 - -산 -산 -산 -산 -산 - -삱 -삱 -삱 -삱 -삱 - -삲 -삲 -삲 -삲 -삲 - -삳 -삳 -삳 -삳 -삳 - -살 -살 -살 -살 -살 - -삵 -삵 -삵 -삵 -삵 - -삶 -삶 -삶 -삶 -삶 - -삷 -삷 -삷 -삷 -삷 - -삸 -삸 -삸 -삸 -삸 - -삹 -삹 -삹 -삹 -삹 - -삺 -삺 -삺 -삺 -삺 - -삻 -삻 -삻 -삻 -삻 - -삼 -삼 -삼 -삼 -삼 - -삽 -삽 -삽 -삽 -삽 - -삾 -삾 -삾 -삾 -삾 - -삿 -삿 -삿 -삿 -삿 - -샀 -샀 -샀 -샀 -샀 - -상 -상 -상 -상 -상 - -샂 -샂 -샂 -샂 -샂 - -샃 -샃 -샃 -샃 -샃 - -샄 -샄 -샄 -샄 -샄 - -샅 -샅 -샅 -샅 -샅 - -샆 -샆 -샆 -샆 -샆 - -샇 -샇 -샇 -샇 -샇 - -새 -새 -새 -새 -새 - -색 -색 -색 -색 -색 - -샊 -샊 -샊 -샊 -샊 - -샋 -샋 -샋 -샋 -샋 - -샌 -샌 -샌 -샌 -샌 - -샍 -샍 -샍 -샍 -샍 - -샎 -샎 -샎 -샎 -샎 - -샏 -샏 -샏 -샏 -샏 - -샐 -샐 -샐 -샐 -샐 - -샑 -샑 -샑 -샑 -샑 - -샒 -샒 -샒 -샒 -샒 - -샓 -샓 -샓 -샓 -샓 - -샔 -샔 -샔 -샔 -샔 - -샕 -샕 -샕 -샕 -샕 - -샖 -샖 -샖 -샖 -샖 - -샗 -샗 -샗 -샗 -샗 - -샘 -샘 -샘 -샘 -샘 - -샙 -샙 -샙 -샙 -샙 - -샚 -샚 -샚 -샚 -샚 - -샛 -샛 -샛 -샛 -샛 - -샜 -샜 -샜 -샜 -샜 - -생 -생 -생 -생 -생 - -샞 -샞 -샞 -샞 -샞 - -샟 -샟 -샟 -샟 -샟 - -샠 -샠 -샠 -샠 -샠 - -샡 -샡 -샡 -샡 -샡 - -샢 -샢 -샢 -샢 -샢 - -샣 -샣 -샣 -샣 -샣 - -샤 -샤 -샤 -샤 -샤 - -샥 -샥 -샥 -샥 -샥 - -샦 -샦 -샦 -샦 -샦 - -샧 -샧 -샧 -샧 -샧 - -샨 -샨 -샨 -샨 -샨 - -샩 -샩 -샩 -샩 -샩 - -샪 -샪 -샪 -샪 -샪 - -샫 -샫 -샫 -샫 -샫 - -샬 -샬 -샬 -샬 -샬 - -샭 -샭 -샭 -샭 -샭 - -샮 -샮 -샮 -샮 -샮 - -샯 -샯 -샯 -샯 -샯 - -샰 -샰 -샰 -샰 -샰 - -샱 -샱 -샱 -샱 -샱 - -샲 -샲 -샲 -샲 -샲 - -샳 -샳 -샳 -샳 -샳 - -샴 -샴 -샴 -샴 -샴 - -샵 -샵 -샵 -샵 -샵 - -샶 -샶 -샶 -샶 -샶 - -샷 -샷 -샷 -샷 -샷 - -샸 -샸 -샸 -샸 -샸 - -샹 -샹 -샹 -샹 -샹 - -샺 -샺 -샺 -샺 -샺 - -샻 -샻 -샻 -샻 -샻 - -샼 -샼 -샼 -샼 -샼 - -샽 -샽 -샽 -샽 -샽 - -샾 -샾 -샾 -샾 -샾 - -샿 -샿 -샿 -샿 -샿 - -섀 -섀 -섀 -섀 -섀 - -섁 -섁 -섁 -섁 -섁 - -섂 -섂 -섂 -섂 -섂 - -섃 -섃 -섃 -섃 -섃 - -섄 -섄 -섄 -섄 -섄 - -섅 -섅 -섅 -섅 -섅 - -섆 -섆 -섆 -섆 -섆 - -섇 -섇 -섇 -섇 -섇 - -섈 -섈 -섈 -섈 -섈 - -섉 -섉 -섉 -섉 -섉 - -섊 -섊 -섊 -섊 -섊 - -섋 -섋 -섋 -섋 -섋 - -섌 -섌 -섌 -섌 -섌 - -섍 -섍 -섍 -섍 -섍 - -섎 -섎 -섎 -섎 -섎 - -섏 -섏 -섏 -섏 -섏 - -섐 -섐 -섐 -섐 -섐 - -섑 -섑 -섑 -섑 -섑 - -섒 -섒 -섒 -섒 -섒 - -섓 -섓 -섓 -섓 -섓 - -섔 -섔 -섔 -섔 -섔 - -섕 -섕 -섕 -섕 -섕 - -섖 -섖 -섖 -섖 -섖 - -섗 -섗 -섗 -섗 -섗 - -섘 -섘 -섘 -섘 -섘 - -섙 -섙 -섙 -섙 -섙 - -섚 -섚 -섚 -섚 -섚 - -섛 -섛 -섛 -섛 -섛 - -서 -서 -서 -서 -서 - -석 -석 -석 -석 -석 - -섞 -섞 -섞 -섞 -섞 - -섟 -섟 -섟 -섟 -섟 - -선 -선 -선 -선 -선 - -섡 -섡 -섡 -섡 -섡 - -섢 -섢 -섢 -섢 -섢 - -섣 -섣 -섣 -섣 -섣 - -설 -설 -설 -설 -설 - -섥 -섥 -섥 -섥 -섥 - -섦 -섦 -섦 -섦 -섦 - -섧 -섧 -섧 -섧 -섧 - -섨 -섨 -섨 -섨 -섨 - -섩 -섩 -섩 -섩 -섩 - -섪 -섪 -섪 -섪 -섪 - -섫 -섫 -섫 -섫 -섫 - -섬 -섬 -섬 -섬 -섬 - -섭 -섭 -섭 -섭 -섭 - -섮 -섮 -섮 -섮 -섮 - -섯 -섯 -섯 -섯 -섯 - -섰 -섰 -섰 -섰 -섰 - -성 -성 -성 -성 -성 - -섲 -섲 -섲 -섲 -섲 - -섳 -섳 -섳 -섳 -섳 - -섴 -섴 -섴 -섴 -섴 - -섵 -섵 -섵 -섵 -섵 - -섶 -섶 -섶 -섶 -섶 - -섷 -섷 -섷 -섷 -섷 - -세 -세 -세 -세 -세 - -섹 -섹 -섹 -섹 -섹 - -섺 -섺 -섺 -섺 -섺 - -섻 -섻 -섻 -섻 -섻 - -센 -센 -센 -센 -센 - -섽 -섽 -섽 -섽 -섽 - -섾 -섾 -섾 -섾 -섾 - -섿 -섿 -섿 -섿 -섿 - -셀 -셀 -셀 -셀 -셀 - -셁 -셁 -셁 -셁 -셁 - -셂 -셂 -셂 -셂 -셂 - -셃 -셃 -셃 -셃 -셃 - -셄 -셄 -셄 -셄 -셄 - -셅 -셅 -셅 -셅 -셅 - -셆 -셆 -셆 -셆 -셆 - -셇 -셇 -셇 -셇 -셇 - -셈 -셈 -셈 -셈 -셈 - -셉 -셉 -셉 -셉 -셉 - -셊 -셊 -셊 -셊 -셊 - -셋 -셋 -셋 -셋 -셋 - -셌 -셌 -셌 -셌 -셌 - -셍 -셍 -셍 -셍 -셍 - -셎 -셎 -셎 -셎 -셎 - -셏 -셏 -셏 -셏 -셏 - -셐 -셐 -셐 -셐 -셐 - -셑 -셑 -셑 -셑 -셑 - -셒 -셒 -셒 -셒 -셒 - -셓 -셓 -셓 -셓 -셓 - -셔 -셔 -셔 -셔 -셔 - -셕 -셕 -셕 -셕 -셕 - -셖 -셖 -셖 -셖 -셖 - -셗 -셗 -셗 -셗 -셗 - -션 -션 -션 -션 -션 - -셙 -셙 -셙 -셙 -셙 - -셚 -셚 -셚 -셚 -셚 - -셛 -셛 -셛 -셛 -셛 - -셜 -셜 -셜 -셜 -셜 - -셝 -셝 -셝 -셝 -셝 - -셞 -셞 -셞 -셞 -셞 - -셟 -셟 -셟 -셟 -셟 - -셠 -셠 -셠 -셠 -셠 - -셡 -셡 -셡 -셡 -셡 - -셢 -셢 -셢 -셢 -셢 - -셣 -셣 -셣 -셣 -셣 - -셤 -셤 -셤 -셤 -셤 - -셥 -셥 -셥 -셥 -셥 - -셦 -셦 -셦 -셦 -셦 - -셧 -셧 -셧 -셧 -셧 - -셨 -셨 -셨 -셨 -셨 - -셩 -셩 -셩 -셩 -셩 - -셪 -셪 -셪 -셪 -셪 - -셫 -셫 -셫 -셫 -셫 - -셬 -셬 -셬 -셬 -셬 - -셭 -셭 -셭 -셭 -셭 - -셮 -셮 -셮 -셮 -셮 - -셯 -셯 -셯 -셯 -셯 - -셰 -셰 -셰 -셰 -셰 - -셱 -셱 -셱 -셱 -셱 - -셲 -셲 -셲 -셲 -셲 - -셳 -셳 -셳 -셳 -셳 - -셴 -셴 -셴 -셴 -셴 - -셵 -셵 -셵 -셵 -셵 - -셶 -셶 -셶 -셶 -셶 - -셷 -셷 -셷 -셷 -셷 - -셸 -셸 -셸 -셸 -셸 - -셹 -셹 -셹 -셹 -셹 - -셺 -셺 -셺 -셺 -셺 - -셻 -셻 -셻 -셻 -셻 - -셼 -셼 -셼 -셼 -셼 - -셽 -셽 -셽 -셽 -셽 - -셾 -셾 -셾 -셾 -셾 - -셿 -셿 -셿 -셿 -셿 - -솀 -솀 -솀 -솀 -솀 - -솁 -솁 -솁 -솁 -솁 - -솂 -솂 -솂 -솂 -솂 - -솃 -솃 -솃 -솃 -솃 - -솄 -솄 -솄 -솄 -솄 - -솅 -솅 -솅 -솅 -솅 - -솆 -솆 -솆 -솆 -솆 - -솇 -솇 -솇 -솇 -솇 - -솈 -솈 -솈 -솈 -솈 - -솉 -솉 -솉 -솉 -솉 - -솊 -솊 -솊 -솊 -솊 - -솋 -솋 -솋 -솋 -솋 - -소 -소 -소 -소 -소 - -속 -속 -속 -속 -속 - -솎 -솎 -솎 -솎 -솎 - -솏 -솏 -솏 -솏 -솏 - -손 -손 -손 -손 -손 - -솑 -솑 -솑 -솑 -솑 - -솒 -솒 -솒 -솒 -솒 - -솓 -솓 -솓 -솓 -솓 - -솔 -솔 -솔 -솔 -솔 - -솕 -솕 -솕 -솕 -솕 - -솖 -솖 -솖 -솖 -솖 - -솗 -솗 -솗 -솗 -솗 - -솘 -솘 -솘 -솘 -솘 - -솙 -솙 -솙 -솙 -솙 - -솚 -솚 -솚 -솚 -솚 - -솛 -솛 -솛 -솛 -솛 - -솜 -솜 -솜 -솜 -솜 - -솝 -솝 -솝 -솝 -솝 - -솞 -솞 -솞 -솞 -솞 - -솟 -솟 -솟 -솟 -솟 - -솠 -솠 -솠 -솠 -솠 - -송 -송 -송 -송 -송 - -솢 -솢 -솢 -솢 -솢 - -솣 -솣 -솣 -솣 -솣 - -솤 -솤 -솤 -솤 -솤 - -솥 -솥 -솥 -솥 -솥 - -솦 -솦 -솦 -솦 -솦 - -솧 -솧 -솧 -솧 -솧 - -솨 -솨 -솨 -솨 -솨 - -솩 -솩 -솩 -솩 -솩 - -솪 -솪 -솪 -솪 -솪 - -솫 -솫 -솫 -솫 -솫 - -솬 -솬 -솬 -솬 -솬 - -솭 -솭 -솭 -솭 -솭 - -솮 -솮 -솮 -솮 -솮 - -솯 -솯 -솯 -솯 -솯 - -솰 -솰 -솰 -솰 -솰 - -솱 -솱 -솱 -솱 -솱 - -솲 -솲 -솲 -솲 -솲 - -솳 -솳 -솳 -솳 -솳 - -솴 -솴 -솴 -솴 -솴 - -솵 -솵 -솵 -솵 -솵 - -솶 -솶 -솶 -솶 -솶 - -솷 -솷 -솷 -솷 -솷 - -솸 -솸 -솸 -솸 -솸 - -솹 -솹 -솹 -솹 -솹 - -솺 -솺 -솺 -솺 -솺 - -솻 -솻 -솻 -솻 -솻 - -솼 -솼 -솼 -솼 -솼 - -솽 -솽 -솽 -솽 -솽 - -솾 -솾 -솾 -솾 -솾 - -솿 -솿 -솿 -솿 -솿 - -쇀 -쇀 -쇀 -쇀 -쇀 - -쇁 -쇁 -쇁 -쇁 -쇁 - -쇂 -쇂 -쇂 -쇂 -쇂 - -쇃 -쇃 -쇃 -쇃 -쇃 - -쇄 -쇄 -쇄 -쇄 -쇄 - -쇅 -쇅 -쇅 -쇅 -쇅 - -쇆 -쇆 -쇆 -쇆 -쇆 - -쇇 -쇇 -쇇 -쇇 -쇇 - -쇈 -쇈 -쇈 -쇈 -쇈 - -쇉 -쇉 -쇉 -쇉 -쇉 - -쇊 -쇊 -쇊 -쇊 -쇊 - -쇋 -쇋 -쇋 -쇋 -쇋 - -쇌 -쇌 -쇌 -쇌 -쇌 - -쇍 -쇍 -쇍 -쇍 -쇍 - -쇎 -쇎 -쇎 -쇎 -쇎 - -쇏 -쇏 -쇏 -쇏 -쇏 - -쇐 -쇐 -쇐 -쇐 -쇐 - -쇑 -쇑 -쇑 -쇑 -쇑 - -쇒 -쇒 -쇒 -쇒 -쇒 - -쇓 -쇓 -쇓 -쇓 -쇓 - -쇔 -쇔 -쇔 -쇔 -쇔 - -쇕 -쇕 -쇕 -쇕 -쇕 - -쇖 -쇖 -쇖 -쇖 -쇖 - -쇗 -쇗 -쇗 -쇗 -쇗 - -쇘 -쇘 -쇘 -쇘 -쇘 - -쇙 -쇙 -쇙 -쇙 -쇙 - -쇚 -쇚 -쇚 -쇚 -쇚 - -쇛 -쇛 -쇛 -쇛 -쇛 - -쇜 -쇜 -쇜 -쇜 -쇜 - -쇝 -쇝 -쇝 -쇝 -쇝 - -쇞 -쇞 -쇞 -쇞 -쇞 - -쇟 -쇟 -쇟 -쇟 -쇟 - -쇠 -쇠 -쇠 -쇠 -쇠 - -쇡 -쇡 -쇡 -쇡 -쇡 - -쇢 -쇢 -쇢 -쇢 -쇢 - -쇣 -쇣 -쇣 -쇣 -쇣 - -쇤 -쇤 -쇤 -쇤 -쇤 - -쇥 -쇥 -쇥 -쇥 -쇥 - -쇦 -쇦 -쇦 -쇦 -쇦 - -쇧 -쇧 -쇧 -쇧 -쇧 - -쇨 -쇨 -쇨 -쇨 -쇨 - -쇩 -쇩 -쇩 -쇩 -쇩 - -쇪 -쇪 -쇪 -쇪 -쇪 - -쇫 -쇫 -쇫 -쇫 -쇫 - -쇬 -쇬 -쇬 -쇬 -쇬 - -쇭 -쇭 -쇭 -쇭 -쇭 - -쇮 -쇮 -쇮 -쇮 -쇮 - -쇯 -쇯 -쇯 -쇯 -쇯 - -쇰 -쇰 -쇰 -쇰 -쇰 - -쇱 -쇱 -쇱 -쇱 -쇱 - -쇲 -쇲 -쇲 -쇲 -쇲 - -쇳 -쇳 -쇳 -쇳 -쇳 - -쇴 -쇴 -쇴 -쇴 -쇴 - -쇵 -쇵 -쇵 -쇵 -쇵 - -쇶 -쇶 -쇶 -쇶 -쇶 - -쇷 -쇷 -쇷 -쇷 -쇷 - -쇸 -쇸 -쇸 -쇸 -쇸 - -쇹 -쇹 -쇹 -쇹 -쇹 - -쇺 -쇺 -쇺 -쇺 -쇺 - -쇻 -쇻 -쇻 -쇻 -쇻 - -쇼 -쇼 -쇼 -쇼 -쇼 - -쇽 -쇽 -쇽 -쇽 -쇽 - -쇾 -쇾 -쇾 -쇾 -쇾 - -쇿 -쇿 -쇿 -쇿 -쇿 - -숀 -숀 -숀 -숀 -숀 - -숁 -숁 -숁 -숁 -숁 - -숂 -숂 -숂 -숂 -숂 - -숃 -숃 -숃 -숃 -숃 - -숄 -숄 -숄 -숄 -숄 - -숅 -숅 -숅 -숅 -숅 - -숆 -숆 -숆 -숆 -숆 - -숇 -숇 -숇 -숇 -숇 - -숈 -숈 -숈 -숈 -숈 - -숉 -숉 -숉 -숉 -숉 - -숊 -숊 -숊 -숊 -숊 - -숋 -숋 -숋 -숋 -숋 - -숌 -숌 -숌 -숌 -숌 - -숍 -숍 -숍 -숍 -숍 - -숎 -숎 -숎 -숎 -숎 - -숏 -숏 -숏 -숏 -숏 - -숐 -숐 -숐 -숐 -숐 - -숑 -숑 -숑 -숑 -숑 - -숒 -숒 -숒 -숒 -숒 - -숓 -숓 -숓 -숓 -숓 - -숔 -숔 -숔 -숔 -숔 - -숕 -숕 -숕 -숕 -숕 - -숖 -숖 -숖 -숖 -숖 - -숗 -숗 -숗 -숗 -숗 - -수 -수 -수 -수 -수 - -숙 -숙 -숙 -숙 -숙 - -숚 -숚 -숚 -숚 -숚 - -숛 -숛 -숛 -숛 -숛 - -순 -순 -순 -순 -순 - -숝 -숝 -숝 -숝 -숝 - -숞 -숞 -숞 -숞 -숞 - -숟 -숟 -숟 -숟 -숟 - -술 -술 -술 -술 -술 - -숡 -숡 -숡 -숡 -숡 - -숢 -숢 -숢 -숢 -숢 - -숣 -숣 -숣 -숣 -숣 - -숤 -숤 -숤 -숤 -숤 - -숥 -숥 -숥 -숥 -숥 - -숦 -숦 -숦 -숦 -숦 - -숧 -숧 -숧 -숧 -숧 - -숨 -숨 -숨 -숨 -숨 - -숩 -숩 -숩 -숩 -숩 - -숪 -숪 -숪 -숪 -숪 - -숫 -숫 -숫 -숫 -숫 - -숬 -숬 -숬 -숬 -숬 - -숭 -숭 -숭 -숭 -숭 - -숮 -숮 -숮 -숮 -숮 - -숯 -숯 -숯 -숯 -숯 - -숰 -숰 -숰 -숰 -숰 - -숱 -숱 -숱 -숱 -숱 - -숲 -숲 -숲 -숲 -숲 - -숳 -숳 -숳 -숳 -숳 - -숴 -숴 -숴 -숴 -숴 - -숵 -숵 -숵 -숵 -숵 - -숶 -숶 -숶 -숶 -숶 - -숷 -숷 -숷 -숷 -숷 - -숸 -숸 -숸 -숸 -숸 - -숹 -숹 -숹 -숹 -숹 - -숺 -숺 -숺 -숺 -숺 - -숻 -숻 -숻 -숻 -숻 - -숼 -숼 -숼 -숼 -숼 - -숽 -숽 -숽 -숽 -숽 - -숾 -숾 -숾 -숾 -숾 - -숿 -숿 -숿 -숿 -숿 - -쉀 -쉀 -쉀 -쉀 -쉀 - -쉁 -쉁 -쉁 -쉁 -쉁 - -쉂 -쉂 -쉂 -쉂 -쉂 - -쉃 -쉃 -쉃 -쉃 -쉃 - -쉄 -쉄 -쉄 -쉄 -쉄 - -쉅 -쉅 -쉅 -쉅 -쉅 - -쉆 -쉆 -쉆 -쉆 -쉆 - -쉇 -쉇 -쉇 -쉇 -쉇 - -쉈 -쉈 -쉈 -쉈 -쉈 - -쉉 -쉉 -쉉 -쉉 -쉉 - -쉊 -쉊 -쉊 -쉊 -쉊 - -쉋 -쉋 -쉋 -쉋 -쉋 - -쉌 -쉌 -쉌 -쉌 -쉌 - -쉍 -쉍 -쉍 -쉍 -쉍 - -쉎 -쉎 -쉎 -쉎 -쉎 - -쉏 -쉏 -쉏 -쉏 -쉏 - -쉐 -쉐 -쉐 -쉐 -쉐 - -쉑 -쉑 -쉑 -쉑 -쉑 - -쉒 -쉒 -쉒 -쉒 -쉒 - -쉓 -쉓 -쉓 -쉓 -쉓 - -쉔 -쉔 -쉔 -쉔 -쉔 - -쉕 -쉕 -쉕 -쉕 -쉕 - -쉖 -쉖 -쉖 -쉖 -쉖 - -쉗 -쉗 -쉗 -쉗 -쉗 - -쉘 -쉘 -쉘 -쉘 -쉘 - -쉙 -쉙 -쉙 -쉙 -쉙 - -쉚 -쉚 -쉚 -쉚 -쉚 - -쉛 -쉛 -쉛 -쉛 -쉛 - -쉜 -쉜 -쉜 -쉜 -쉜 - -쉝 -쉝 -쉝 -쉝 -쉝 - -쉞 -쉞 -쉞 -쉞 -쉞 - -쉟 -쉟 -쉟 -쉟 -쉟 - -쉠 -쉠 -쉠 -쉠 -쉠 - -쉡 -쉡 -쉡 -쉡 -쉡 - -쉢 -쉢 -쉢 -쉢 -쉢 - -쉣 -쉣 -쉣 -쉣 -쉣 - -쉤 -쉤 -쉤 -쉤 -쉤 - -쉥 -쉥 -쉥 -쉥 -쉥 - -쉦 -쉦 -쉦 -쉦 -쉦 - -쉧 -쉧 -쉧 -쉧 -쉧 - -쉨 -쉨 -쉨 -쉨 -쉨 - -쉩 -쉩 -쉩 -쉩 -쉩 - -쉪 -쉪 -쉪 -쉪 -쉪 - -쉫 -쉫 -쉫 -쉫 -쉫 - -쉬 -쉬 -쉬 -쉬 -쉬 - -쉭 -쉭 -쉭 -쉭 -쉭 - -쉮 -쉮 -쉮 -쉮 -쉮 - -쉯 -쉯 -쉯 -쉯 -쉯 - -쉰 -쉰 -쉰 -쉰 -쉰 - -쉱 -쉱 -쉱 -쉱 -쉱 - -쉲 -쉲 -쉲 -쉲 -쉲 - -쉳 -쉳 -쉳 -쉳 -쉳 - -쉴 -쉴 -쉴 -쉴 -쉴 - -쉵 -쉵 -쉵 -쉵 -쉵 - -쉶 -쉶 -쉶 -쉶 -쉶 - -쉷 -쉷 -쉷 -쉷 -쉷 - -쉸 -쉸 -쉸 -쉸 -쉸 - -쉹 -쉹 -쉹 -쉹 -쉹 - -쉺 -쉺 -쉺 -쉺 -쉺 - -쉻 -쉻 -쉻 -쉻 -쉻 - -쉼 -쉼 -쉼 -쉼 -쉼 - -쉽 -쉽 -쉽 -쉽 -쉽 - -쉾 -쉾 -쉾 -쉾 -쉾 - -쉿 -쉿 -쉿 -쉿 -쉿 - -슀 -슀 -슀 -슀 -슀 - -슁 -슁 -슁 -슁 -슁 - -슂 -슂 -슂 -슂 -슂 - -슃 -슃 -슃 -슃 -슃 - -슄 -슄 -슄 -슄 -슄 - -슅 -슅 -슅 -슅 -슅 - -슆 -슆 -슆 -슆 -슆 - -슇 -슇 -슇 -슇 -슇 - -슈 -슈 -슈 -슈 -슈 - -슉 -슉 -슉 -슉 -슉 - -슊 -슊 -슊 -슊 -슊 - -슋 -슋 -슋 -슋 -슋 - -슌 -슌 -슌 -슌 -슌 - -슍 -슍 -슍 -슍 -슍 - -슎 -슎 -슎 -슎 -슎 - -슏 -슏 -슏 -슏 -슏 - -슐 -슐 -슐 -슐 -슐 - -슑 -슑 -슑 -슑 -슑 - -슒 -슒 -슒 -슒 -슒 - -슓 -슓 -슓 -슓 -슓 - -슔 -슔 -슔 -슔 -슔 - -슕 -슕 -슕 -슕 -슕 - -슖 -슖 -슖 -슖 -슖 - -슗 -슗 -슗 -슗 -슗 - -슘 -슘 -슘 -슘 -슘 - -슙 -슙 -슙 -슙 -슙 - -슚 -슚 -슚 -슚 -슚 - -슛 -슛 -슛 -슛 -슛 - -슜 -슜 -슜 -슜 -슜 - -슝 -슝 -슝 -슝 -슝 - -슞 -슞 -슞 -슞 -슞 - -슟 -슟 -슟 -슟 -슟 - -슠 -슠 -슠 -슠 -슠 - -슡 -슡 -슡 -슡 -슡 - -슢 -슢 -슢 -슢 -슢 - -슣 -슣 -슣 -슣 -슣 - -스 -스 -스 -스 -스 - -슥 -슥 -슥 -슥 -슥 - -슦 -슦 -슦 -슦 -슦 - -슧 -슧 -슧 -슧 -슧 - -슨 -슨 -슨 -슨 -슨 - -슩 -슩 -슩 -슩 -슩 - -슪 -슪 -슪 -슪 -슪 - -슫 -슫 -슫 -슫 -슫 - -슬 -슬 -슬 -슬 -슬 - -슭 -슭 -슭 -슭 -슭 - -슮 -슮 -슮 -슮 -슮 - -슯 -슯 -슯 -슯 -슯 - -슰 -슰 -슰 -슰 -슰 - -슱 -슱 -슱 -슱 -슱 - -슲 -슲 -슲 -슲 -슲 - -슳 -슳 -슳 -슳 -슳 - -슴 -슴 -슴 -슴 -슴 - -습 -습 -습 -습 -습 - -슶 -슶 -슶 -슶 -슶 - -슷 -슷 -슷 -슷 -슷 - -슸 -슸 -슸 -슸 -슸 - -승 -승 -승 -승 -승 - -슺 -슺 -슺 -슺 -슺 - -슻 -슻 -슻 -슻 -슻 - -슼 -슼 -슼 -슼 -슼 - -슽 -슽 -슽 -슽 -슽 - -슾 -슾 -슾 -슾 -슾 - -슿 -슿 -슿 -슿 -슿 - -싀 -싀 -싀 -싀 -싀 - -싁 -싁 -싁 -싁 -싁 - -싂 -싂 -싂 -싂 -싂 - -싃 -싃 -싃 -싃 -싃 - -싄 -싄 -싄 -싄 -싄 - -싅 -싅 -싅 -싅 -싅 - -싆 -싆 -싆 -싆 -싆 - -싇 -싇 -싇 -싇 -싇 - -싈 -싈 -싈 -싈 -싈 - -싉 -싉 -싉 -싉 -싉 - -싊 -싊 -싊 -싊 -싊 - -싋 -싋 -싋 -싋 -싋 - -싌 -싌 -싌 -싌 -싌 - -싍 -싍 -싍 -싍 -싍 - -싎 -싎 -싎 -싎 -싎 - -싏 -싏 -싏 -싏 -싏 - -싐 -싐 -싐 -싐 -싐 - -싑 -싑 -싑 -싑 -싑 - -싒 -싒 -싒 -싒 -싒 - -싓 -싓 -싓 -싓 -싓 - -싔 -싔 -싔 -싔 -싔 - -싕 -싕 -싕 -싕 -싕 - -싖 -싖 -싖 -싖 -싖 - -싗 -싗 -싗 -싗 -싗 - -싘 -싘 -싘 -싘 -싘 - -싙 -싙 -싙 -싙 -싙 - -싚 -싚 -싚 -싚 -싚 - -싛 -싛 -싛 -싛 -싛 - -시 -시 -시 -시 -시 - -식 -식 -식 -식 -식 - -싞 -싞 -싞 -싞 -싞 - -싟 -싟 -싟 -싟 -싟 - -신 -신 -신 -신 -신 - -싡 -싡 -싡 -싡 -싡 - -싢 -싢 -싢 -싢 -싢 - -싣 -싣 -싣 -싣 -싣 - -실 -실 -실 -실 -실 - -싥 -싥 -싥 -싥 -싥 - -싦 -싦 -싦 -싦 -싦 - -싧 -싧 -싧 -싧 -싧 - -싨 -싨 -싨 -싨 -싨 - -싩 -싩 -싩 -싩 -싩 - -싪 -싪 -싪 -싪 -싪 - -싫 -싫 -싫 -싫 -싫 - -심 -심 -심 -심 -심 - -십 -십 -십 -십 -십 - -싮 -싮 -싮 -싮 -싮 - -싯 -싯 -싯 -싯 -싯 - -싰 -싰 -싰 -싰 -싰 - -싱 -싱 -싱 -싱 -싱 - -싲 -싲 -싲 -싲 -싲 - -싳 -싳 -싳 -싳 -싳 - -싴 -싴 -싴 -싴 -싴 - -싵 -싵 -싵 -싵 -싵 - -싶 -싶 -싶 -싶 -싶 - -싷 -싷 -싷 -싷 -싷 - -싸 -싸 -싸 -싸 -싸 - -싹 -싹 -싹 -싹 -싹 - -싺 -싺 -싺 -싺 -싺 - -싻 -싻 -싻 -싻 -싻 - -싼 -싼 -싼 -싼 -싼 - -싽 -싽 -싽 -싽 -싽 - -싾 -싾 -싾 -싾 -싾 - -싿 -싿 -싿 -싿 -싿 - -쌀 -쌀 -쌀 -쌀 -쌀 - -쌁 -쌁 -쌁 -쌁 -쌁 - -쌂 -쌂 -쌂 -쌂 -쌂 - -쌃 -쌃 -쌃 -쌃 -쌃 - -쌄 -쌄 -쌄 -쌄 -쌄 - -쌅 -쌅 -쌅 -쌅 -쌅 - -쌆 -쌆 -쌆 -쌆 -쌆 - -쌇 -쌇 -쌇 -쌇 -쌇 - -쌈 -쌈 -쌈 -쌈 -쌈 - -쌉 -쌉 -쌉 -쌉 -쌉 - -쌊 -쌊 -쌊 -쌊 -쌊 - -쌋 -쌋 -쌋 -쌋 -쌋 - -쌌 -쌌 -쌌 -쌌 -쌌 - -쌍 -쌍 -쌍 -쌍 -쌍 - -쌎 -쌎 -쌎 -쌎 -쌎 - -쌏 -쌏 -쌏 -쌏 -쌏 - -쌐 -쌐 -쌐 -쌐 -쌐 - -쌑 -쌑 -쌑 -쌑 -쌑 - -쌒 -쌒 -쌒 -쌒 -쌒 - -쌓 -쌓 -쌓 -쌓 -쌓 - -쌔 -쌔 -쌔 -쌔 -쌔 - -쌕 -쌕 -쌕 -쌕 -쌕 - -쌖 -쌖 -쌖 -쌖 -쌖 - -쌗 -쌗 -쌗 -쌗 -쌗 - -쌘 -쌘 -쌘 -쌘 -쌘 - -쌙 -쌙 -쌙 -쌙 -쌙 - -쌚 -쌚 -쌚 -쌚 -쌚 - -쌛 -쌛 -쌛 -쌛 -쌛 - -쌜 -쌜 -쌜 -쌜 -쌜 - -쌝 -쌝 -쌝 -쌝 -쌝 - -쌞 -쌞 -쌞 -쌞 -쌞 - -쌟 -쌟 -쌟 -쌟 -쌟 - -쌠 -쌠 -쌠 -쌠 -쌠 - -쌡 -쌡 -쌡 -쌡 -쌡 - -쌢 -쌢 -쌢 -쌢 -쌢 - -쌣 -쌣 -쌣 -쌣 -쌣 - -쌤 -쌤 -쌤 -쌤 -쌤 - -쌥 -쌥 -쌥 -쌥 -쌥 - -쌦 -쌦 -쌦 -쌦 -쌦 - -쌧 -쌧 -쌧 -쌧 -쌧 - -쌨 -쌨 -쌨 -쌨 -쌨 - -쌩 -쌩 -쌩 -쌩 -쌩 - -쌪 -쌪 -쌪 -쌪 -쌪 - -쌫 -쌫 -쌫 -쌫 -쌫 - -쌬 -쌬 -쌬 -쌬 -쌬 - -쌭 -쌭 -쌭 -쌭 -쌭 - -쌮 -쌮 -쌮 -쌮 -쌮 - -쌯 -쌯 -쌯 -쌯 -쌯 - -쌰 -쌰 -쌰 -쌰 -쌰 - -쌱 -쌱 -쌱 -쌱 -쌱 - -쌲 -쌲 -쌲 -쌲 -쌲 - -쌳 -쌳 -쌳 -쌳 -쌳 - -쌴 -쌴 -쌴 -쌴 -쌴 - -쌵 -쌵 -쌵 -쌵 -쌵 - -쌶 -쌶 -쌶 -쌶 -쌶 - -쌷 -쌷 -쌷 -쌷 -쌷 - -쌸 -쌸 -쌸 -쌸 -쌸 - -쌹 -쌹 -쌹 -쌹 -쌹 - -쌺 -쌺 -쌺 -쌺 -쌺 - -쌻 -쌻 -쌻 -쌻 -쌻 - -쌼 -쌼 -쌼 -쌼 -쌼 - -쌽 -쌽 -쌽 -쌽 -쌽 - -쌾 -쌾 -쌾 -쌾 -쌾 - -쌿 -쌿 -쌿 -쌿 -쌿 - -썀 -썀 -썀 -썀 -썀 - -썁 -썁 -썁 -썁 -썁 - -썂 -썂 -썂 -썂 -썂 - -썃 -썃 -썃 -썃 -썃 - -썄 -썄 -썄 -썄 -썄 - -썅 -썅 -썅 -썅 -썅 - -썆 -썆 -썆 -썆 -썆 - -썇 -썇 -썇 -썇 -썇 - -썈 -썈 -썈 -썈 -썈 - -썉 -썉 -썉 -썉 -썉 - -썊 -썊 -썊 -썊 -썊 - -썋 -썋 -썋 -썋 -썋 - -썌 -썌 -썌 -썌 -썌 - -썍 -썍 -썍 -썍 -썍 - -썎 -썎 -썎 -썎 -썎 - -썏 -썏 -썏 -썏 -썏 - -썐 -썐 -썐 -썐 -썐 - -썑 -썑 -썑 -썑 -썑 - -썒 -썒 -썒 -썒 -썒 - -썓 -썓 -썓 -썓 -썓 - -썔 -썔 -썔 -썔 -썔 - -썕 -썕 -썕 -썕 -썕 - -썖 -썖 -썖 -썖 -썖 - -썗 -썗 -썗 -썗 -썗 - -썘 -썘 -썘 -썘 -썘 - -썙 -썙 -썙 -썙 -썙 - -썚 -썚 -썚 -썚 -썚 - -썛 -썛 -썛 -썛 -썛 - -썜 -썜 -썜 -썜 -썜 - -썝 -썝 -썝 -썝 -썝 - -썞 -썞 -썞 -썞 -썞 - -썟 -썟 -썟 -썟 -썟 - -썠 -썠 -썠 -썠 -썠 - -썡 -썡 -썡 -썡 -썡 - -썢 -썢 -썢 -썢 -썢 - -썣 -썣 -썣 -썣 -썣 - -썤 -썤 -썤 -썤 -썤 - -썥 -썥 -썥 -썥 -썥 - -썦 -썦 -썦 -썦 -썦 - -썧 -썧 -썧 -썧 -썧 - -써 -써 -써 -써 -써 - -썩 -썩 -썩 -썩 -썩 - -썪 -썪 -썪 -썪 -썪 - -썫 -썫 -썫 -썫 -썫 - -썬 -썬 -썬 -썬 -썬 - -썭 -썭 -썭 -썭 -썭 - -썮 -썮 -썮 -썮 -썮 - -썯 -썯 -썯 -썯 -썯 - -썰 -썰 -썰 -썰 -썰 - -썱 -썱 -썱 -썱 -썱 - -썲 -썲 -썲 -썲 -썲 - -썳 -썳 -썳 -썳 -썳 - -썴 -썴 -썴 -썴 -썴 - -썵 -썵 -썵 -썵 -썵 - -썶 -썶 -썶 -썶 -썶 - -썷 -썷 -썷 -썷 -썷 - -썸 -썸 -썸 -썸 -썸 - -썹 -썹 -썹 -썹 -썹 - -썺 -썺 -썺 -썺 -썺 - -썻 -썻 -썻 -썻 -썻 - -썼 -썼 -썼 -썼 -썼 - -썽 -썽 -썽 -썽 -썽 - -썾 -썾 -썾 -썾 -썾 - -썿 -썿 -썿 -썿 -썿 - -쎀 -쎀 -쎀 -쎀 -쎀 - -쎁 -쎁 -쎁 -쎁 -쎁 - -쎂 -쎂 -쎂 -쎂 -쎂 - -쎃 -쎃 -쎃 -쎃 -쎃 - -쎄 -쎄 -쎄 -쎄 -쎄 - -쎅 -쎅 -쎅 -쎅 -쎅 - -쎆 -쎆 -쎆 -쎆 -쎆 - -쎇 -쎇 -쎇 -쎇 -쎇 - -쎈 -쎈 -쎈 -쎈 -쎈 - -쎉 -쎉 -쎉 -쎉 -쎉 - -쎊 -쎊 -쎊 -쎊 -쎊 - -쎋 -쎋 -쎋 -쎋 -쎋 - -쎌 -쎌 -쎌 -쎌 -쎌 - -쎍 -쎍 -쎍 -쎍 -쎍 - -쎎 -쎎 -쎎 -쎎 -쎎 - -쎏 -쎏 -쎏 -쎏 -쎏 - -쎐 -쎐 -쎐 -쎐 -쎐 - -쎑 -쎑 -쎑 -쎑 -쎑 - -쎒 -쎒 -쎒 -쎒 -쎒 - -쎓 -쎓 -쎓 -쎓 -쎓 - -쎔 -쎔 -쎔 -쎔 -쎔 - -쎕 -쎕 -쎕 -쎕 -쎕 - -쎖 -쎖 -쎖 -쎖 -쎖 - -쎗 -쎗 -쎗 -쎗 -쎗 - -쎘 -쎘 -쎘 -쎘 -쎘 - -쎙 -쎙 -쎙 -쎙 -쎙 - -쎚 -쎚 -쎚 -쎚 -쎚 - -쎛 -쎛 -쎛 -쎛 -쎛 - -쎜 -쎜 -쎜 -쎜 -쎜 - -쎝 -쎝 -쎝 -쎝 -쎝 - -쎞 -쎞 -쎞 -쎞 -쎞 - -쎟 -쎟 -쎟 -쎟 -쎟 - -쎠 -쎠 -쎠 -쎠 -쎠 - -쎡 -쎡 -쎡 -쎡 -쎡 - -쎢 -쎢 -쎢 -쎢 -쎢 - -쎣 -쎣 -쎣 -쎣 -쎣 - -쎤 -쎤 -쎤 -쎤 -쎤 - -쎥 -쎥 -쎥 -쎥 -쎥 - -쎦 -쎦 -쎦 -쎦 -쎦 - -쎧 -쎧 -쎧 -쎧 -쎧 - -쎨 -쎨 -쎨 -쎨 -쎨 - -쎩 -쎩 -쎩 -쎩 -쎩 - -쎪 -쎪 -쎪 -쎪 -쎪 - -쎫 -쎫 -쎫 -쎫 -쎫 - -쎬 -쎬 -쎬 -쎬 -쎬 - -쎭 -쎭 -쎭 -쎭 -쎭 - -쎮 -쎮 -쎮 -쎮 -쎮 - -쎯 -쎯 -쎯 -쎯 -쎯 - -쎰 -쎰 -쎰 -쎰 -쎰 - -쎱 -쎱 -쎱 -쎱 -쎱 - -쎲 -쎲 -쎲 -쎲 -쎲 - -쎳 -쎳 -쎳 -쎳 -쎳 - -쎴 -쎴 -쎴 -쎴 -쎴 - -쎵 -쎵 -쎵 -쎵 -쎵 - -쎶 -쎶 -쎶 -쎶 -쎶 - -쎷 -쎷 -쎷 -쎷 -쎷 - -쎸 -쎸 -쎸 -쎸 -쎸 - -쎹 -쎹 -쎹 -쎹 -쎹 - -쎺 -쎺 -쎺 -쎺 -쎺 - -쎻 -쎻 -쎻 -쎻 -쎻 - -쎼 -쎼 -쎼 -쎼 -쎼 - -쎽 -쎽 -쎽 -쎽 -쎽 - -쎾 -쎾 -쎾 -쎾 -쎾 - -쎿 -쎿 -쎿 -쎿 -쎿 - -쏀 -쏀 -쏀 -쏀 -쏀 - -쏁 -쏁 -쏁 -쏁 -쏁 - -쏂 -쏂 -쏂 -쏂 -쏂 - -쏃 -쏃 -쏃 -쏃 -쏃 - -쏄 -쏄 -쏄 -쏄 -쏄 - -쏅 -쏅 -쏅 -쏅 -쏅 - -쏆 -쏆 -쏆 -쏆 -쏆 - -쏇 -쏇 -쏇 -쏇 -쏇 - -쏈 -쏈 -쏈 -쏈 -쏈 - -쏉 -쏉 -쏉 -쏉 -쏉 - -쏊 -쏊 -쏊 -쏊 -쏊 - -쏋 -쏋 -쏋 -쏋 -쏋 - -쏌 -쏌 -쏌 -쏌 -쏌 - -쏍 -쏍 -쏍 -쏍 -쏍 - -쏎 -쏎 -쏎 -쏎 -쏎 - -쏏 -쏏 -쏏 -쏏 -쏏 - -쏐 -쏐 -쏐 -쏐 -쏐 - -쏑 -쏑 -쏑 -쏑 -쏑 - -쏒 -쏒 -쏒 -쏒 -쏒 - -쏓 -쏓 -쏓 -쏓 -쏓 - -쏔 -쏔 -쏔 -쏔 -쏔 - -쏕 -쏕 -쏕 -쏕 -쏕 - -쏖 -쏖 -쏖 -쏖 -쏖 - -쏗 -쏗 -쏗 -쏗 -쏗 - -쏘 -쏘 -쏘 -쏘 -쏘 - -쏙 -쏙 -쏙 -쏙 -쏙 - -쏚 -쏚 -쏚 -쏚 -쏚 - -쏛 -쏛 -쏛 -쏛 -쏛 - -쏜 -쏜 -쏜 -쏜 -쏜 - -쏝 -쏝 -쏝 -쏝 -쏝 - -쏞 -쏞 -쏞 -쏞 -쏞 - -쏟 -쏟 -쏟 -쏟 -쏟 - -쏠 -쏠 -쏠 -쏠 -쏠 - -쏡 -쏡 -쏡 -쏡 -쏡 - -쏢 -쏢 -쏢 -쏢 -쏢 - -쏣 -쏣 -쏣 -쏣 -쏣 - -쏤 -쏤 -쏤 -쏤 -쏤 - -쏥 -쏥 -쏥 -쏥 -쏥 - -쏦 -쏦 -쏦 -쏦 -쏦 - -쏧 -쏧 -쏧 -쏧 -쏧 - -쏨 -쏨 -쏨 -쏨 -쏨 - -쏩 -쏩 -쏩 -쏩 -쏩 - -쏪 -쏪 -쏪 -쏪 -쏪 - -쏫 -쏫 -쏫 -쏫 -쏫 - -쏬 -쏬 -쏬 -쏬 -쏬 - -쏭 -쏭 -쏭 -쏭 -쏭 - -쏮 -쏮 -쏮 -쏮 -쏮 - -쏯 -쏯 -쏯 -쏯 -쏯 - -쏰 -쏰 -쏰 -쏰 -쏰 - -쏱 -쏱 -쏱 -쏱 -쏱 - -쏲 -쏲 -쏲 -쏲 -쏲 - -쏳 -쏳 -쏳 -쏳 -쏳 - -쏴 -쏴 -쏴 -쏴 -쏴 - -쏵 -쏵 -쏵 -쏵 -쏵 - -쏶 -쏶 -쏶 -쏶 -쏶 - -쏷 -쏷 -쏷 -쏷 -쏷 - -쏸 -쏸 -쏸 -쏸 -쏸 - -쏹 -쏹 -쏹 -쏹 -쏹 - -쏺 -쏺 -쏺 -쏺 -쏺 - -쏻 -쏻 -쏻 -쏻 -쏻 - -쏼 -쏼 -쏼 -쏼 -쏼 - -쏽 -쏽 -쏽 -쏽 -쏽 - -쏾 -쏾 -쏾 -쏾 -쏾 - -쏿 -쏿 -쏿 -쏿 -쏿 - -쐀 -쐀 -쐀 -쐀 -쐀 - -쐁 -쐁 -쐁 -쐁 -쐁 - -쐂 -쐂 -쐂 -쐂 -쐂 - -쐃 -쐃 -쐃 -쐃 -쐃 - -쐄 -쐄 -쐄 -쐄 -쐄 - -쐅 -쐅 -쐅 -쐅 -쐅 - -쐆 -쐆 -쐆 -쐆 -쐆 - -쐇 -쐇 -쐇 -쐇 -쐇 - -쐈 -쐈 -쐈 -쐈 -쐈 - -쐉 -쐉 -쐉 -쐉 -쐉 - -쐊 -쐊 -쐊 -쐊 -쐊 - -쐋 -쐋 -쐋 -쐋 -쐋 - -쐌 -쐌 -쐌 -쐌 -쐌 - -쐍 -쐍 -쐍 -쐍 -쐍 - -쐎 -쐎 -쐎 -쐎 -쐎 - -쐏 -쐏 -쐏 -쐏 -쐏 - -쐐 -쐐 -쐐 -쐐 -쐐 - -쐑 -쐑 -쐑 -쐑 -쐑 - -쐒 -쐒 -쐒 -쐒 -쐒 - -쐓 -쐓 -쐓 -쐓 -쐓 - -쐔 -쐔 -쐔 -쐔 -쐔 - -쐕 -쐕 -쐕 -쐕 -쐕 - -쐖 -쐖 -쐖 -쐖 -쐖 - -쐗 -쐗 -쐗 -쐗 -쐗 - -쐘 -쐘 -쐘 -쐘 -쐘 - -쐙 -쐙 -쐙 -쐙 -쐙 - -쐚 -쐚 -쐚 -쐚 -쐚 - -쐛 -쐛 -쐛 -쐛 -쐛 - -쐜 -쐜 -쐜 -쐜 -쐜 - -쐝 -쐝 -쐝 -쐝 -쐝 - -쐞 -쐞 -쐞 -쐞 -쐞 - -쐟 -쐟 -쐟 -쐟 -쐟 - -쐠 -쐠 -쐠 -쐠 -쐠 - -쐡 -쐡 -쐡 -쐡 -쐡 - -쐢 -쐢 -쐢 -쐢 -쐢 - -쐣 -쐣 -쐣 -쐣 -쐣 - -쐤 -쐤 -쐤 -쐤 -쐤 - -쐥 -쐥 -쐥 -쐥 -쐥 - -쐦 -쐦 -쐦 -쐦 -쐦 - -쐧 -쐧 -쐧 -쐧 -쐧 - -쐨 -쐨 -쐨 -쐨 -쐨 - -쐩 -쐩 -쐩 -쐩 -쐩 - -쐪 -쐪 -쐪 -쐪 -쐪 - -쐫 -쐫 -쐫 -쐫 -쐫 - -쐬 -쐬 -쐬 -쐬 -쐬 - -쐭 -쐭 -쐭 -쐭 -쐭 - -쐮 -쐮 -쐮 -쐮 -쐮 - -쐯 -쐯 -쐯 -쐯 -쐯 - -쐰 -쐰 -쐰 -쐰 -쐰 - -쐱 -쐱 -쐱 -쐱 -쐱 - -쐲 -쐲 -쐲 -쐲 -쐲 - -쐳 -쐳 -쐳 -쐳 -쐳 - -쐴 -쐴 -쐴 -쐴 -쐴 - -쐵 -쐵 -쐵 -쐵 -쐵 - -쐶 -쐶 -쐶 -쐶 -쐶 - -쐷 -쐷 -쐷 -쐷 -쐷 - -쐸 -쐸 -쐸 -쐸 -쐸 - -쐹 -쐹 -쐹 -쐹 -쐹 - -쐺 -쐺 -쐺 -쐺 -쐺 - -쐻 -쐻 -쐻 -쐻 -쐻 - -쐼 -쐼 -쐼 -쐼 -쐼 - -쐽 -쐽 -쐽 -쐽 -쐽 - -쐾 -쐾 -쐾 -쐾 -쐾 - -쐿 -쐿 -쐿 -쐿 -쐿 - -쑀 -쑀 -쑀 -쑀 -쑀 - -쑁 -쑁 -쑁 -쑁 -쑁 - -쑂 -쑂 -쑂 -쑂 -쑂 - -쑃 -쑃 -쑃 -쑃 -쑃 - -쑄 -쑄 -쑄 -쑄 -쑄 - -쑅 -쑅 -쑅 -쑅 -쑅 - -쑆 -쑆 -쑆 -쑆 -쑆 - -쑇 -쑇 -쑇 -쑇 -쑇 - -쑈 -쑈 -쑈 -쑈 -쑈 - -쑉 -쑉 -쑉 -쑉 -쑉 - -쑊 -쑊 -쑊 -쑊 -쑊 - -쑋 -쑋 -쑋 -쑋 -쑋 - -쑌 -쑌 -쑌 -쑌 -쑌 - -쑍 -쑍 -쑍 -쑍 -쑍 - -쑎 -쑎 -쑎 -쑎 -쑎 - -쑏 -쑏 -쑏 -쑏 -쑏 - -쑐 -쑐 -쑐 -쑐 -쑐 - -쑑 -쑑 -쑑 -쑑 -쑑 - -쑒 -쑒 -쑒 -쑒 -쑒 - -쑓 -쑓 -쑓 -쑓 -쑓 - -쑔 -쑔 -쑔 -쑔 -쑔 - -쑕 -쑕 -쑕 -쑕 -쑕 - -쑖 -쑖 -쑖 -쑖 -쑖 - -쑗 -쑗 -쑗 -쑗 -쑗 - -쑘 -쑘 -쑘 -쑘 -쑘 - -쑙 -쑙 -쑙 -쑙 -쑙 - -쑚 -쑚 -쑚 -쑚 -쑚 - -쑛 -쑛 -쑛 -쑛 -쑛 - -쑜 -쑜 -쑜 -쑜 -쑜 - -쑝 -쑝 -쑝 -쑝 -쑝 - -쑞 -쑞 -쑞 -쑞 -쑞 - -쑟 -쑟 -쑟 -쑟 -쑟 - -쑠 -쑠 -쑠 -쑠 -쑠 - -쑡 -쑡 -쑡 -쑡 -쑡 - -쑢 -쑢 -쑢 -쑢 -쑢 - -쑣 -쑣 -쑣 -쑣 -쑣 - -쑤 -쑤 -쑤 -쑤 -쑤 - -쑥 -쑥 -쑥 -쑥 -쑥 - -쑦 -쑦 -쑦 -쑦 -쑦 - -쑧 -쑧 -쑧 -쑧 -쑧 - -쑨 -쑨 -쑨 -쑨 -쑨 - -쑩 -쑩 -쑩 -쑩 -쑩 - -쑪 -쑪 -쑪 -쑪 -쑪 - -쑫 -쑫 -쑫 -쑫 -쑫 - -쑬 -쑬 -쑬 -쑬 -쑬 - -쑭 -쑭 -쑭 -쑭 -쑭 - -쑮 -쑮 -쑮 -쑮 -쑮 - -쑯 -쑯 -쑯 -쑯 -쑯 - -쑰 -쑰 -쑰 -쑰 -쑰 - -쑱 -쑱 -쑱 -쑱 -쑱 - -쑲 -쑲 -쑲 -쑲 -쑲 - -쑳 -쑳 -쑳 -쑳 -쑳 - -쑴 -쑴 -쑴 -쑴 -쑴 - -쑵 -쑵 -쑵 -쑵 -쑵 - -쑶 -쑶 -쑶 -쑶 -쑶 - -쑷 -쑷 -쑷 -쑷 -쑷 - -쑸 -쑸 -쑸 -쑸 -쑸 - -쑹 -쑹 -쑹 -쑹 -쑹 - -쑺 -쑺 -쑺 -쑺 -쑺 - -쑻 -쑻 -쑻 -쑻 -쑻 - -쑼 -쑼 -쑼 -쑼 -쑼 - -쑽 -쑽 -쑽 -쑽 -쑽 - -쑾 -쑾 -쑾 -쑾 -쑾 - -쑿 -쑿 -쑿 -쑿 -쑿 - -쒀 -쒀 -쒀 -쒀 -쒀 - -쒁 -쒁 -쒁 -쒁 -쒁 - -쒂 -쒂 -쒂 -쒂 -쒂 - -쒃 -쒃 -쒃 -쒃 -쒃 - -쒄 -쒄 -쒄 -쒄 -쒄 - -쒅 -쒅 -쒅 -쒅 -쒅 - -쒆 -쒆 -쒆 -쒆 -쒆 - -쒇 -쒇 -쒇 -쒇 -쒇 - -쒈 -쒈 -쒈 -쒈 -쒈 - -쒉 -쒉 -쒉 -쒉 -쒉 - -쒊 -쒊 -쒊 -쒊 -쒊 - -쒋 -쒋 -쒋 -쒋 -쒋 - -쒌 -쒌 -쒌 -쒌 -쒌 - -쒍 -쒍 -쒍 -쒍 -쒍 - -쒎 -쒎 -쒎 -쒎 -쒎 - -쒏 -쒏 -쒏 -쒏 -쒏 - -쒐 -쒐 -쒐 -쒐 -쒐 - -쒑 -쒑 -쒑 -쒑 -쒑 - -쒒 -쒒 -쒒 -쒒 -쒒 - -쒓 -쒓 -쒓 -쒓 -쒓 - -쒔 -쒔 -쒔 -쒔 -쒔 - -쒕 -쒕 -쒕 -쒕 -쒕 - -쒖 -쒖 -쒖 -쒖 -쒖 - -쒗 -쒗 -쒗 -쒗 -쒗 - -쒘 -쒘 -쒘 -쒘 -쒘 - -쒙 -쒙 -쒙 -쒙 -쒙 - -쒚 -쒚 -쒚 -쒚 -쒚 - -쒛 -쒛 -쒛 -쒛 -쒛 - -쒜 -쒜 -쒜 -쒜 -쒜 - -쒝 -쒝 -쒝 -쒝 -쒝 - -쒞 -쒞 -쒞 -쒞 -쒞 - -쒟 -쒟 -쒟 -쒟 -쒟 - -쒠 -쒠 -쒠 -쒠 -쒠 - -쒡 -쒡 -쒡 -쒡 -쒡 - -쒢 -쒢 -쒢 -쒢 -쒢 - -쒣 -쒣 -쒣 -쒣 -쒣 - -쒤 -쒤 -쒤 -쒤 -쒤 - -쒥 -쒥 -쒥 -쒥 -쒥 - -쒦 -쒦 -쒦 -쒦 -쒦 - -쒧 -쒧 -쒧 -쒧 -쒧 - -쒨 -쒨 -쒨 -쒨 -쒨 - -쒩 -쒩 -쒩 -쒩 -쒩 - -쒪 -쒪 -쒪 -쒪 -쒪 - -쒫 -쒫 -쒫 -쒫 -쒫 - -쒬 -쒬 -쒬 -쒬 -쒬 - -쒭 -쒭 -쒭 -쒭 -쒭 - -쒮 -쒮 -쒮 -쒮 -쒮 - -쒯 -쒯 -쒯 -쒯 -쒯 - -쒰 -쒰 -쒰 -쒰 -쒰 - -쒱 -쒱 -쒱 -쒱 -쒱 - -쒲 -쒲 -쒲 -쒲 -쒲 - -쒳 -쒳 -쒳 -쒳 -쒳 - -쒴 -쒴 -쒴 -쒴 -쒴 - -쒵 -쒵 -쒵 -쒵 -쒵 - -쒶 -쒶 -쒶 -쒶 -쒶 - -쒷 -쒷 -쒷 -쒷 -쒷 - -쒸 -쒸 -쒸 -쒸 -쒸 - -쒹 -쒹 -쒹 -쒹 -쒹 - -쒺 -쒺 -쒺 -쒺 -쒺 - -쒻 -쒻 -쒻 -쒻 -쒻 - -쒼 -쒼 -쒼 -쒼 -쒼 - -쒽 -쒽 -쒽 -쒽 -쒽 - -쒾 -쒾 -쒾 -쒾 -쒾 - -쒿 -쒿 -쒿 -쒿 -쒿 - -쓀 -쓀 -쓀 -쓀 -쓀 - -쓁 -쓁 -쓁 -쓁 -쓁 - -쓂 -쓂 -쓂 -쓂 -쓂 - -쓃 -쓃 -쓃 -쓃 -쓃 - -쓄 -쓄 -쓄 -쓄 -쓄 - -쓅 -쓅 -쓅 -쓅 -쓅 - -쓆 -쓆 -쓆 -쓆 -쓆 - -쓇 -쓇 -쓇 -쓇 -쓇 - -쓈 -쓈 -쓈 -쓈 -쓈 - -쓉 -쓉 -쓉 -쓉 -쓉 - -쓊 -쓊 -쓊 -쓊 -쓊 - -쓋 -쓋 -쓋 -쓋 -쓋 - -쓌 -쓌 -쓌 -쓌 -쓌 - -쓍 -쓍 -쓍 -쓍 -쓍 - -쓎 -쓎 -쓎 -쓎 -쓎 - -쓏 -쓏 -쓏 -쓏 -쓏 - -쓐 -쓐 -쓐 -쓐 -쓐 - -쓑 -쓑 -쓑 -쓑 -쓑 - -쓒 -쓒 -쓒 -쓒 -쓒 - -쓓 -쓓 -쓓 -쓓 -쓓 - -쓔 -쓔 -쓔 -쓔 -쓔 - -쓕 -쓕 -쓕 -쓕 -쓕 - -쓖 -쓖 -쓖 -쓖 -쓖 - -쓗 -쓗 -쓗 -쓗 -쓗 - -쓘 -쓘 -쓘 -쓘 -쓘 - -쓙 -쓙 -쓙 -쓙 -쓙 - -쓚 -쓚 -쓚 -쓚 -쓚 - -쓛 -쓛 -쓛 -쓛 -쓛 - -쓜 -쓜 -쓜 -쓜 -쓜 - -쓝 -쓝 -쓝 -쓝 -쓝 - -쓞 -쓞 -쓞 -쓞 -쓞 - -쓟 -쓟 -쓟 -쓟 -쓟 - -쓠 -쓠 -쓠 -쓠 -쓠 - -쓡 -쓡 -쓡 -쓡 -쓡 - -쓢 -쓢 -쓢 -쓢 -쓢 - -쓣 -쓣 -쓣 -쓣 -쓣 - -쓤 -쓤 -쓤 -쓤 -쓤 - -쓥 -쓥 -쓥 -쓥 -쓥 - -쓦 -쓦 -쓦 -쓦 -쓦 - -쓧 -쓧 -쓧 -쓧 -쓧 - -쓨 -쓨 -쓨 -쓨 -쓨 - -쓩 -쓩 -쓩 -쓩 -쓩 - -쓪 -쓪 -쓪 -쓪 -쓪 - -쓫 -쓫 -쓫 -쓫 -쓫 - -쓬 -쓬 -쓬 -쓬 -쓬 - -쓭 -쓭 -쓭 -쓭 -쓭 - -쓮 -쓮 -쓮 -쓮 -쓮 - -쓯 -쓯 -쓯 -쓯 -쓯 - -쓰 -쓰 -쓰 -쓰 -쓰 - -쓱 -쓱 -쓱 -쓱 -쓱 - -쓲 -쓲 -쓲 -쓲 -쓲 - -쓳 -쓳 -쓳 -쓳 -쓳 - -쓴 -쓴 -쓴 -쓴 -쓴 - -쓵 -쓵 -쓵 -쓵 -쓵 - -쓶 -쓶 -쓶 -쓶 -쓶 - -쓷 -쓷 -쓷 -쓷 -쓷 - -쓸 -쓸 -쓸 -쓸 -쓸 - -쓹 -쓹 -쓹 -쓹 -쓹 - -쓺 -쓺 -쓺 -쓺 -쓺 - -쓻 -쓻 -쓻 -쓻 -쓻 - -쓼 -쓼 -쓼 -쓼 -쓼 - -쓽 -쓽 -쓽 -쓽 -쓽 - -쓾 -쓾 -쓾 -쓾 -쓾 - -쓿 -쓿 -쓿 -쓿 -쓿 - -씀 -씀 -씀 -씀 -씀 - -씁 -씁 -씁 -씁 -씁 - -씂 -씂 -씂 -씂 -씂 - -씃 -씃 -씃 -씃 -씃 - -씄 -씄 -씄 -씄 -씄 - -씅 -씅 -씅 -씅 -씅 - -씆 -씆 -씆 -씆 -씆 - -씇 -씇 -씇 -씇 -씇 - -씈 -씈 -씈 -씈 -씈 - -씉 -씉 -씉 -씉 -씉 - -씊 -씊 -씊 -씊 -씊 - -씋 -씋 -씋 -씋 -씋 - -씌 -씌 -씌 -씌 -씌 - -씍 -씍 -씍 -씍 -씍 - -씎 -씎 -씎 -씎 -씎 - -씏 -씏 -씏 -씏 -씏 - -씐 -씐 -씐 -씐 -씐 - -씑 -씑 -씑 -씑 -씑 - -씒 -씒 -씒 -씒 -씒 - -씓 -씓 -씓 -씓 -씓 - -씔 -씔 -씔 -씔 -씔 - -씕 -씕 -씕 -씕 -씕 - -씖 -씖 -씖 -씖 -씖 - -씗 -씗 -씗 -씗 -씗 - -씘 -씘 -씘 -씘 -씘 - -씙 -씙 -씙 -씙 -씙 - -씚 -씚 -씚 -씚 -씚 - -씛 -씛 -씛 -씛 -씛 - -씜 -씜 -씜 -씜 -씜 - -씝 -씝 -씝 -씝 -씝 - -씞 -씞 -씞 -씞 -씞 - -씟 -씟 -씟 -씟 -씟 - -씠 -씠 -씠 -씠 -씠 - -씡 -씡 -씡 -씡 -씡 - -씢 -씢 -씢 -씢 -씢 - -씣 -씣 -씣 -씣 -씣 - -씤 -씤 -씤 -씤 -씤 - -씥 -씥 -씥 -씥 -씥 - -씦 -씦 -씦 -씦 -씦 - -씧 -씧 -씧 -씧 -씧 - -씨 -씨 -씨 -씨 -씨 - -씩 -씩 -씩 -씩 -씩 - -씪 -씪 -씪 -씪 -씪 - -씫 -씫 -씫 -씫 -씫 - -씬 -씬 -씬 -씬 -씬 - -씭 -씭 -씭 -씭 -씭 - -씮 -씮 -씮 -씮 -씮 - -씯 -씯 -씯 -씯 -씯 - -씰 -씰 -씰 -씰 -씰 - -씱 -씱 -씱 -씱 -씱 - -씲 -씲 -씲 -씲 -씲 - -씳 -씳 -씳 -씳 -씳 - -씴 -씴 -씴 -씴 -씴 - -씵 -씵 -씵 -씵 -씵 - -씶 -씶 -씶 -씶 -씶 - -씷 -씷 -씷 -씷 -씷 - -씸 -씸 -씸 -씸 -씸 - -씹 -씹 -씹 -씹 -씹 - -씺 -씺 -씺 -씺 -씺 - -씻 -씻 -씻 -씻 -씻 - -씼 -씼 -씼 -씼 -씼 - -씽 -씽 -씽 -씽 -씽 - -씾 -씾 -씾 -씾 -씾 - -씿 -씿 -씿 -씿 -씿 - -앀 -앀 -앀 -앀 -앀 - -앁 -앁 -앁 -앁 -앁 - -앂 -앂 -앂 -앂 -앂 - -앃 -앃 -앃 -앃 -앃 - -아 -아 -아 -아 -아 - -악 -악 -악 -악 -악 - -앆 -앆 -앆 -앆 -앆 - -앇 -앇 -앇 -앇 -앇 - -안 -안 -안 -안 -안 - -앉 -앉 -앉 -앉 -앉 - -않 -않 -않 -않 -않 - -앋 -앋 -앋 -앋 -앋 - -알 -알 -알 -알 -알 - -앍 -앍 -앍 -앍 -앍 - -앎 -앎 -앎 -앎 -앎 - -앏 -앏 -앏 -앏 -앏 - -앐 -앐 -앐 -앐 -앐 - -앑 -앑 -앑 -앑 -앑 - -앒 -앒 -앒 -앒 -앒 - -앓 -앓 -앓 -앓 -앓 - -암 -암 -암 -암 -암 - -압 -압 -압 -압 -압 - -앖 -앖 -앖 -앖 -앖 - -앗 -앗 -앗 -앗 -앗 - -았 -았 -았 -았 -았 - -앙 -앙 -앙 -앙 -앙 - -앚 -앚 -앚 -앚 -앚 - -앛 -앛 -앛 -앛 -앛 - -앜 -앜 -앜 -앜 -앜 - -앝 -앝 -앝 -앝 -앝 - -앞 -앞 -앞 -앞 -앞 - -앟 -앟 -앟 -앟 -앟 - -애 -애 -애 -애 -애 - -액 -액 -액 -액 -액 - -앢 -앢 -앢 -앢 -앢 - -앣 -앣 -앣 -앣 -앣 - -앤 -앤 -앤 -앤 -앤 - -앥 -앥 -앥 -앥 -앥 - -앦 -앦 -앦 -앦 -앦 - -앧 -앧 -앧 -앧 -앧 - -앨 -앨 -앨 -앨 -앨 - -앩 -앩 -앩 -앩 -앩 - -앪 -앪 -앪 -앪 -앪 - -앫 -앫 -앫 -앫 -앫 - -앬 -앬 -앬 -앬 -앬 - -앭 -앭 -앭 -앭 -앭 - -앮 -앮 -앮 -앮 -앮 - -앯 -앯 -앯 -앯 -앯 - -앰 -앰 -앰 -앰 -앰 - -앱 -앱 -앱 -앱 -앱 - -앲 -앲 -앲 -앲 -앲 - -앳 -앳 -앳 -앳 -앳 - -앴 -앴 -앴 -앴 -앴 - -앵 -앵 -앵 -앵 -앵 - -앶 -앶 -앶 -앶 -앶 - -앷 -앷 -앷 -앷 -앷 - -앸 -앸 -앸 -앸 -앸 - -앹 -앹 -앹 -앹 -앹 - -앺 -앺 -앺 -앺 -앺 - -앻 -앻 -앻 -앻 -앻 - -야 -야 -야 -야 -야 - -약 -약 -약 -약 -약 - -앾 -앾 -앾 -앾 -앾 - -앿 -앿 -앿 -앿 -앿 - -얀 -얀 -얀 -얀 -얀 - -얁 -얁 -얁 -얁 -얁 - -얂 -얂 -얂 -얂 -얂 - -얃 -얃 -얃 -얃 -얃 - -얄 -얄 -얄 -얄 -얄 - -얅 -얅 -얅 -얅 -얅 - -얆 -얆 -얆 -얆 -얆 - -얇 -얇 -얇 -얇 -얇 - -얈 -얈 -얈 -얈 -얈 - -얉 -얉 -얉 -얉 -얉 - -얊 -얊 -얊 -얊 -얊 - -얋 -얋 -얋 -얋 -얋 - -얌 -얌 -얌 -얌 -얌 - -얍 -얍 -얍 -얍 -얍 - -얎 -얎 -얎 -얎 -얎 - -얏 -얏 -얏 -얏 -얏 - -얐 -얐 -얐 -얐 -얐 - -양 -양 -양 -양 -양 - -얒 -얒 -얒 -얒 -얒 - -얓 -얓 -얓 -얓 -얓 - -얔 -얔 -얔 -얔 -얔 - -얕 -얕 -얕 -얕 -얕 - -얖 -얖 -얖 -얖 -얖 - -얗 -얗 -얗 -얗 -얗 - -얘 -얘 -얘 -얘 -얘 - -얙 -얙 -얙 -얙 -얙 - -얚 -얚 -얚 -얚 -얚 - -얛 -얛 -얛 -얛 -얛 - -얜 -얜 -얜 -얜 -얜 - -얝 -얝 -얝 -얝 -얝 - -얞 -얞 -얞 -얞 -얞 - -얟 -얟 -얟 -얟 -얟 - -얠 -얠 -얠 -얠 -얠 - -얡 -얡 -얡 -얡 -얡 - -얢 -얢 -얢 -얢 -얢 - -얣 -얣 -얣 -얣 -얣 - -얤 -얤 -얤 -얤 -얤 - -얥 -얥 -얥 -얥 -얥 - -얦 -얦 -얦 -얦 -얦 - -얧 -얧 -얧 -얧 -얧 - -얨 -얨 -얨 -얨 -얨 - -얩 -얩 -얩 -얩 -얩 - -얪 -얪 -얪 -얪 -얪 - -얫 -얫 -얫 -얫 -얫 - -얬 -얬 -얬 -얬 -얬 - -얭 -얭 -얭 -얭 -얭 - -얮 -얮 -얮 -얮 -얮 - -얯 -얯 -얯 -얯 -얯 - -얰 -얰 -얰 -얰 -얰 - -얱 -얱 -얱 -얱 -얱 - -얲 -얲 -얲 -얲 -얲 - -얳 -얳 -얳 -얳 -얳 - -어 -어 -어 -어 -어 - -억 -억 -억 -억 -억 - -얶 -얶 -얶 -얶 -얶 - -얷 -얷 -얷 -얷 -얷 - -언 -언 -언 -언 -언 - -얹 -얹 -얹 -얹 -얹 - -얺 -얺 -얺 -얺 -얺 - -얻 -얻 -얻 -얻 -얻 - -얼 -얼 -얼 -얼 -얼 - -얽 -얽 -얽 -얽 -얽 - -얾 -얾 -얾 -얾 -얾 - -얿 -얿 -얿 -얿 -얿 - -엀 -엀 -엀 -엀 -엀 - -엁 -엁 -엁 -엁 -엁 - -엂 -엂 -엂 -엂 -엂 - -엃 -엃 -엃 -엃 -엃 - -엄 -엄 -엄 -엄 -엄 - -업 -업 -업 -업 -업 - -없 -없 -없 -없 -없 - -엇 -엇 -엇 -엇 -엇 - -었 -었 -었 -었 -었 - -엉 -엉 -엉 -엉 -엉 - -엊 -엊 -엊 -엊 -엊 - -엋 -엋 -엋 -엋 -엋 - -엌 -엌 -엌 -엌 -엌 - -엍 -엍 -엍 -엍 -엍 - -엎 -엎 -엎 -엎 -엎 - -엏 -엏 -엏 -엏 -엏 - -에 -에 -에 -에 -에 - -엑 -엑 -엑 -엑 -엑 - -엒 -엒 -엒 -엒 -엒 - -엓 -엓 -엓 -엓 -엓 - -엔 -엔 -엔 -엔 -엔 - -엕 -엕 -엕 -엕 -엕 - -엖 -엖 -엖 -엖 -엖 - -엗 -엗 -엗 -엗 -엗 - -엘 -엘 -엘 -엘 -엘 - -엙 -엙 -엙 -엙 -엙 - -엚 -엚 -엚 -엚 -엚 - -엛 -엛 -엛 -엛 -엛 - -엜 -엜 -엜 -엜 -엜 - -엝 -엝 -엝 -엝 -엝 - -엞 -엞 -엞 -엞 -엞 - -엟 -엟 -엟 -엟 -엟 - -엠 -엠 -엠 -엠 -엠 - -엡 -엡 -엡 -엡 -엡 - -엢 -엢 -엢 -엢 -엢 - -엣 -엣 -엣 -엣 -엣 - -엤 -엤 -엤 -엤 -엤 - -엥 -엥 -엥 -엥 -엥 - -엦 -엦 -엦 -엦 -엦 - -엧 -엧 -엧 -엧 -엧 - -엨 -엨 -엨 -엨 -엨 - -엩 -엩 -엩 -엩 -엩 - -엪 -엪 -엪 -엪 -엪 - -엫 -엫 -엫 -엫 -엫 - -여 -여 -여 -여 -여 - -역 -역 -역 -역 -역 - -엮 -엮 -엮 -엮 -엮 - -엯 -엯 -엯 -엯 -엯 - -연 -연 -연 -연 -연 - -엱 -엱 -엱 -엱 -엱 - -엲 -엲 -엲 -엲 -엲 - -엳 -엳 -엳 -엳 -엳 - -열 -열 -열 -열 -열 - -엵 -엵 -엵 -엵 -엵 - -엶 -엶 -엶 -엶 -엶 - -엷 -엷 -엷 -엷 -엷 - -엸 -엸 -엸 -엸 -엸 - -엹 -엹 -엹 -엹 -엹 - -엺 -엺 -엺 -엺 -엺 - -엻 -엻 -엻 -엻 -엻 - -염 -염 -염 -염 -염 - -엽 -엽 -엽 -엽 -엽 - -엾 -엾 -엾 -엾 -엾 - -엿 -엿 -엿 -엿 -엿 - -였 -였 -였 -였 -였 - -영 -영 -영 -영 -영 - -옂 -옂 -옂 -옂 -옂 - -옃 -옃 -옃 -옃 -옃 - -옄 -옄 -옄 -옄 -옄 - -옅 -옅 -옅 -옅 -옅 - -옆 -옆 -옆 -옆 -옆 - -옇 -옇 -옇 -옇 -옇 - -예 -예 -예 -예 -예 - -옉 -옉 -옉 -옉 -옉 - -옊 -옊 -옊 -옊 -옊 - -옋 -옋 -옋 -옋 -옋 - -옌 -옌 -옌 -옌 -옌 - -옍 -옍 -옍 -옍 -옍 - -옎 -옎 -옎 -옎 -옎 - -옏 -옏 -옏 -옏 -옏 - -옐 -옐 -옐 -옐 -옐 - -옑 -옑 -옑 -옑 -옑 - -옒 -옒 -옒 -옒 -옒 - -옓 -옓 -옓 -옓 -옓 - -옔 -옔 -옔 -옔 -옔 - -옕 -옕 -옕 -옕 -옕 - -옖 -옖 -옖 -옖 -옖 - -옗 -옗 -옗 -옗 -옗 - -옘 -옘 -옘 -옘 -옘 - -옙 -옙 -옙 -옙 -옙 - -옚 -옚 -옚 -옚 -옚 - -옛 -옛 -옛 -옛 -옛 - -옜 -옜 -옜 -옜 -옜 - -옝 -옝 -옝 -옝 -옝 - -옞 -옞 -옞 -옞 -옞 - -옟 -옟 -옟 -옟 -옟 - -옠 -옠 -옠 -옠 -옠 - -옡 -옡 -옡 -옡 -옡 - -옢 -옢 -옢 -옢 -옢 - -옣 -옣 -옣 -옣 -옣 - -오 -오 -오 -오 -오 - -옥 -옥 -옥 -옥 -옥 - -옦 -옦 -옦 -옦 -옦 - -옧 -옧 -옧 -옧 -옧 - -온 -온 -온 -온 -온 - -옩 -옩 -옩 -옩 -옩 - -옪 -옪 -옪 -옪 -옪 - -옫 -옫 -옫 -옫 -옫 - -올 -올 -올 -올 -올 - -옭 -옭 -옭 -옭 -옭 - -옮 -옮 -옮 -옮 -옮 - -옯 -옯 -옯 -옯 -옯 - -옰 -옰 -옰 -옰 -옰 - -옱 -옱 -옱 -옱 -옱 - -옲 -옲 -옲 -옲 -옲 - -옳 -옳 -옳 -옳 -옳 - -옴 -옴 -옴 -옴 -옴 - -옵 -옵 -옵 -옵 -옵 - -옶 -옶 -옶 -옶 -옶 - -옷 -옷 -옷 -옷 -옷 - -옸 -옸 -옸 -옸 -옸 - -옹 -옹 -옹 -옹 -옹 - -옺 -옺 -옺 -옺 -옺 - -옻 -옻 -옻 -옻 -옻 - -옼 -옼 -옼 -옼 -옼 - -옽 -옽 -옽 -옽 -옽 - -옾 -옾 -옾 -옾 -옾 - -옿 -옿 -옿 -옿 -옿 - -와 -와 -와 -와 -와 - -왁 -왁 -왁 -왁 -왁 - -왂 -왂 -왂 -왂 -왂 - -왃 -왃 -왃 -왃 -왃 - -완 -완 -완 -완 -완 - -왅 -왅 -왅 -왅 -왅 - -왆 -왆 -왆 -왆 -왆 - -왇 -왇 -왇 -왇 -왇 - -왈 -왈 -왈 -왈 -왈 - -왉 -왉 -왉 -왉 -왉 - -왊 -왊 -왊 -왊 -왊 - -왋 -왋 -왋 -왋 -왋 - -왌 -왌 -왌 -왌 -왌 - -왍 -왍 -왍 -왍 -왍 - -왎 -왎 -왎 -왎 -왎 - -왏 -왏 -왏 -왏 -왏 - -왐 -왐 -왐 -왐 -왐 - -왑 -왑 -왑 -왑 -왑 - -왒 -왒 -왒 -왒 -왒 - -왓 -왓 -왓 -왓 -왓 - -왔 -왔 -왔 -왔 -왔 - -왕 -왕 -왕 -왕 -왕 - -왖 -왖 -왖 -왖 -왖 - -왗 -왗 -왗 -왗 -왗 - -왘 -왘 -왘 -왘 -왘 - -왙 -왙 -왙 -왙 -왙 - -왚 -왚 -왚 -왚 -왚 - -왛 -왛 -왛 -왛 -왛 - -왜 -왜 -왜 -왜 -왜 - -왝 -왝 -왝 -왝 -왝 - -왞 -왞 -왞 -왞 -왞 - -왟 -왟 -왟 -왟 -왟 - -왠 -왠 -왠 -왠 -왠 - -왡 -왡 -왡 -왡 -왡 - -왢 -왢 -왢 -왢 -왢 - -왣 -왣 -왣 -왣 -왣 - -왤 -왤 -왤 -왤 -왤 - -왥 -왥 -왥 -왥 -왥 - -왦 -왦 -왦 -왦 -왦 - -왧 -왧 -왧 -왧 -왧 - -왨 -왨 -왨 -왨 -왨 - -왩 -왩 -왩 -왩 -왩 - -왪 -왪 -왪 -왪 -왪 - -왫 -왫 -왫 -왫 -왫 - -왬 -왬 -왬 -왬 -왬 - -왭 -왭 -왭 -왭 -왭 - -왮 -왮 -왮 -왮 -왮 - -왯 -왯 -왯 -왯 -왯 - -왰 -왰 -왰 -왰 -왰 - -왱 -왱 -왱 -왱 -왱 - -왲 -왲 -왲 -왲 -왲 - -왳 -왳 -왳 -왳 -왳 - -왴 -왴 -왴 -왴 -왴 - -왵 -왵 -왵 -왵 -왵 - -왶 -왶 -왶 -왶 -왶 - -왷 -왷 -왷 -왷 -왷 - -외 -외 -외 -외 -외 - -왹 -왹 -왹 -왹 -왹 - -왺 -왺 -왺 -왺 -왺 - -왻 -왻 -왻 -왻 -왻 - -왼 -왼 -왼 -왼 -왼 - -왽 -왽 -왽 -왽 -왽 - -왾 -왾 -왾 -왾 -왾 - -왿 -왿 -왿 -왿 -왿 - -욀 -욀 -욀 -욀 -욀 - -욁 -욁 -욁 -욁 -욁 - -욂 -욂 -욂 -욂 -욂 - -욃 -욃 -욃 -욃 -욃 - -욄 -욄 -욄 -욄 -욄 - -욅 -욅 -욅 -욅 -욅 - -욆 -욆 -욆 -욆 -욆 - -욇 -욇 -욇 -욇 -욇 - -욈 -욈 -욈 -욈 -욈 - -욉 -욉 -욉 -욉 -욉 - -욊 -욊 -욊 -욊 -욊 - -욋 -욋 -욋 -욋 -욋 - -욌 -욌 -욌 -욌 -욌 - -욍 -욍 -욍 -욍 -욍 - -욎 -욎 -욎 -욎 -욎 - -욏 -욏 -욏 -욏 -욏 - -욐 -욐 -욐 -욐 -욐 - -욑 -욑 -욑 -욑 -욑 - -욒 -욒 -욒 -욒 -욒 - -욓 -욓 -욓 -욓 -욓 - -요 -요 -요 -요 -요 - -욕 -욕 -욕 -욕 -욕 - -욖 -욖 -욖 -욖 -욖 - -욗 -욗 -욗 -욗 -욗 - -욘 -욘 -욘 -욘 -욘 - -욙 -욙 -욙 -욙 -욙 - -욚 -욚 -욚 -욚 -욚 - -욛 -욛 -욛 -욛 -욛 - -욜 -욜 -욜 -욜 -욜 - -욝 -욝 -욝 -욝 -욝 - -욞 -욞 -욞 -욞 -욞 - -욟 -욟 -욟 -욟 -욟 - -욠 -욠 -욠 -욠 -욠 - -욡 -욡 -욡 -욡 -욡 - -욢 -욢 -욢 -욢 -욢 - -욣 -욣 -욣 -욣 -욣 - -욤 -욤 -욤 -욤 -욤 - -욥 -욥 -욥 -욥 -욥 - -욦 -욦 -욦 -욦 -욦 - -욧 -욧 -욧 -욧 -욧 - -욨 -욨 -욨 -욨 -욨 - -용 -용 -용 -용 -용 - -욪 -욪 -욪 -욪 -욪 - -욫 -욫 -욫 -욫 -욫 - -욬 -욬 -욬 -욬 -욬 - -욭 -욭 -욭 -욭 -욭 - -욮 -욮 -욮 -욮 -욮 - -욯 -욯 -욯 -욯 -욯 - -우 -우 -우 -우 -우 - -욱 -욱 -욱 -욱 -욱 - -욲 -욲 -욲 -욲 -욲 - -욳 -욳 -욳 -욳 -욳 - -운 -운 -운 -운 -운 - -욵 -욵 -욵 -욵 -욵 - -욶 -욶 -욶 -욶 -욶 - -욷 -욷 -욷 -욷 -욷 - -울 -울 -울 -울 -울 - -욹 -욹 -욹 -욹 -욹 - -욺 -욺 -욺 -욺 -욺 - -욻 -욻 -욻 -욻 -욻 - -욼 -욼 -욼 -욼 -욼 - -욽 -욽 -욽 -욽 -욽 - -욾 -욾 -욾 -욾 -욾 - -욿 -욿 -욿 -욿 -욿 - -움 -움 -움 -움 -움 - -웁 -웁 -웁 -웁 -웁 - -웂 -웂 -웂 -웂 -웂 - -웃 -웃 -웃 -웃 -웃 - -웄 -웄 -웄 -웄 -웄 - -웅 -웅 -웅 -웅 -웅 - -웆 -웆 -웆 -웆 -웆 - -웇 -웇 -웇 -웇 -웇 - -웈 -웈 -웈 -웈 -웈 - -웉 -웉 -웉 -웉 -웉 - -웊 -웊 -웊 -웊 -웊 - -웋 -웋 -웋 -웋 -웋 - -워 -워 -워 -워 -워 - -웍 -웍 -웍 -웍 -웍 - -웎 -웎 -웎 -웎 -웎 - -웏 -웏 -웏 -웏 -웏 - -원 -원 -원 -원 -원 - -웑 -웑 -웑 -웑 -웑 - -웒 -웒 -웒 -웒 -웒 - -웓 -웓 -웓 -웓 -웓 - -월 -월 -월 -월 -월 - -웕 -웕 -웕 -웕 -웕 - -웖 -웖 -웖 -웖 -웖 - -웗 -웗 -웗 -웗 -웗 - -웘 -웘 -웘 -웘 -웘 - -웙 -웙 -웙 -웙 -웙 - -웚 -웚 -웚 -웚 -웚 - -웛 -웛 -웛 -웛 -웛 - -웜 -웜 -웜 -웜 -웜 - -웝 -웝 -웝 -웝 -웝 - -웞 -웞 -웞 -웞 -웞 - -웟 -웟 -웟 -웟 -웟 - -웠 -웠 -웠 -웠 -웠 - -웡 -웡 -웡 -웡 -웡 - -웢 -웢 -웢 -웢 -웢 - -웣 -웣 -웣 -웣 -웣 - -웤 -웤 -웤 -웤 -웤 - -웥 -웥 -웥 -웥 -웥 - -웦 -웦 -웦 -웦 -웦 - -웧 -웧 -웧 -웧 -웧 - -웨 -웨 -웨 -웨 -웨 - -웩 -웩 -웩 -웩 -웩 - -웪 -웪 -웪 -웪 -웪 - -웫 -웫 -웫 -웫 -웫 - -웬 -웬 -웬 -웬 -웬 - -웭 -웭 -웭 -웭 -웭 - -웮 -웮 -웮 -웮 -웮 - -웯 -웯 -웯 -웯 -웯 - -웰 -웰 -웰 -웰 -웰 - -웱 -웱 -웱 -웱 -웱 - -웲 -웲 -웲 -웲 -웲 - -웳 -웳 -웳 -웳 -웳 - -웴 -웴 -웴 -웴 -웴 - -웵 -웵 -웵 -웵 -웵 - -웶 -웶 -웶 -웶 -웶 - -웷 -웷 -웷 -웷 -웷 - -웸 -웸 -웸 -웸 -웸 - -웹 -웹 -웹 -웹 -웹 - -웺 -웺 -웺 -웺 -웺 - -웻 -웻 -웻 -웻 -웻 - -웼 -웼 -웼 -웼 -웼 - -웽 -웽 -웽 -웽 -웽 - -웾 -웾 -웾 -웾 -웾 - -웿 -웿 -웿 -웿 -웿 - -윀 -윀 -윀 -윀 -윀 - -윁 -윁 -윁 -윁 -윁 - -윂 -윂 -윂 -윂 -윂 - -윃 -윃 -윃 -윃 -윃 - -위 -위 -위 -위 -위 - -윅 -윅 -윅 -윅 -윅 - -윆 -윆 -윆 -윆 -윆 - -윇 -윇 -윇 -윇 -윇 - -윈 -윈 -윈 -윈 -윈 - -윉 -윉 -윉 -윉 -윉 - -윊 -윊 -윊 -윊 -윊 - -윋 -윋 -윋 -윋 -윋 - -윌 -윌 -윌 -윌 -윌 - -윍 -윍 -윍 -윍 -윍 - -윎 -윎 -윎 -윎 -윎 - -윏 -윏 -윏 -윏 -윏 - -윐 -윐 -윐 -윐 -윐 - -윑 -윑 -윑 -윑 -윑 - -윒 -윒 -윒 -윒 -윒 - -윓 -윓 -윓 -윓 -윓 - -윔 -윔 -윔 -윔 -윔 - -윕 -윕 -윕 -윕 -윕 - -윖 -윖 -윖 -윖 -윖 - -윗 -윗 -윗 -윗 -윗 - -윘 -윘 -윘 -윘 -윘 - -윙 -윙 -윙 -윙 -윙 - -윚 -윚 -윚 -윚 -윚 - -윛 -윛 -윛 -윛 -윛 - -윜 -윜 -윜 -윜 -윜 - -윝 -윝 -윝 -윝 -윝 - -윞 -윞 -윞 -윞 -윞 - -윟 -윟 -윟 -윟 -윟 - -유 -유 -유 -유 -유 - -육 -육 -육 -육 -육 - -윢 -윢 -윢 -윢 -윢 - -윣 -윣 -윣 -윣 -윣 - -윤 -윤 -윤 -윤 -윤 - -윥 -윥 -윥 -윥 -윥 - -윦 -윦 -윦 -윦 -윦 - -윧 -윧 -윧 -윧 -윧 - -율 -율 -율 -율 -율 - -윩 -윩 -윩 -윩 -윩 - -윪 -윪 -윪 -윪 -윪 - -윫 -윫 -윫 -윫 -윫 - -윬 -윬 -윬 -윬 -윬 - -윭 -윭 -윭 -윭 -윭 - -윮 -윮 -윮 -윮 -윮 - -윯 -윯 -윯 -윯 -윯 - -윰 -윰 -윰 -윰 -윰 - -윱 -윱 -윱 -윱 -윱 - -윲 -윲 -윲 -윲 -윲 - -윳 -윳 -윳 -윳 -윳 - -윴 -윴 -윴 -윴 -윴 - -융 -융 -융 -융 -융 - -윶 -윶 -윶 -윶 -윶 - -윷 -윷 -윷 -윷 -윷 - -윸 -윸 -윸 -윸 -윸 - -윹 -윹 -윹 -윹 -윹 - -윺 -윺 -윺 -윺 -윺 - -윻 -윻 -윻 -윻 -윻 - -으 -으 -으 -으 -으 - -윽 -윽 -윽 -윽 -윽 - -윾 -윾 -윾 -윾 -윾 - -윿 -윿 -윿 -윿 -윿 - -은 -은 -은 -은 -은 - -읁 -읁 -읁 -읁 -읁 - -읂 -읂 -읂 -읂 -읂 - -읃 -읃 -읃 -읃 -읃 - -을 -을 -을 -을 -을 - -읅 -읅 -읅 -읅 -읅 - -읆 -읆 -읆 -읆 -읆 - -읇 -읇 -읇 -읇 -읇 - -읈 -읈 -읈 -읈 -읈 - -읉 -읉 -읉 -읉 -읉 - -읊 -읊 -읊 -읊 -읊 - -읋 -읋 -읋 -읋 -읋 - -음 -음 -음 -음 -음 - -읍 -읍 -읍 -읍 -읍 - -읎 -읎 -읎 -읎 -읎 - -읏 -읏 -읏 -읏 -읏 - -읐 -읐 -읐 -읐 -읐 - -응 -응 -응 -응 -응 - -읒 -읒 -읒 -읒 -읒 - -읓 -읓 -읓 -읓 -읓 - -읔 -읔 -읔 -읔 -읔 - -읕 -읕 -읕 -읕 -읕 - -읖 -읖 -읖 -읖 -읖 - -읗 -읗 -읗 -읗 -읗 - -의 -의 -의 -의 -의 - -읙 -읙 -읙 -읙 -읙 - -읚 -읚 -읚 -읚 -읚 - -읛 -읛 -읛 -읛 -읛 - -읜 -읜 -읜 -읜 -읜 - -읝 -읝 -읝 -읝 -읝 - -읞 -읞 -읞 -읞 -읞 - -읟 -읟 -읟 -읟 -읟 - -읠 -읠 -읠 -읠 -읠 - -읡 -읡 -읡 -읡 -읡 - -읢 -읢 -읢 -읢 -읢 - -읣 -읣 -읣 -읣 -읣 - -읤 -읤 -읤 -읤 -읤 - -읥 -읥 -읥 -읥 -읥 - -읦 -읦 -읦 -읦 -읦 - -읧 -읧 -읧 -읧 -읧 - -읨 -읨 -읨 -읨 -읨 - -읩 -읩 -읩 -읩 -읩 - -읪 -읪 -읪 -읪 -읪 - -읫 -읫 -읫 -읫 -읫 - -읬 -읬 -읬 -읬 -읬 - -읭 -읭 -읭 -읭 -읭 - -읮 -읮 -읮 -읮 -읮 - -읯 -읯 -읯 -읯 -읯 - -읰 -읰 -읰 -읰 -읰 - -읱 -읱 -읱 -읱 -읱 - -읲 -읲 -읲 -읲 -읲 - -읳 -읳 -읳 -읳 -읳 - -이 -이 -이 -이 -이 - -익 -익 -익 -익 -익 - -읶 -읶 -읶 -읶 -읶 - -읷 -읷 -읷 -읷 -읷 - -인 -인 -인 -인 -인 - -읹 -읹 -읹 -읹 -읹 - -읺 -읺 -읺 -읺 -읺 - -읻 -읻 -읻 -읻 -읻 - -일 -일 -일 -일 -일 - -읽 -읽 -읽 -읽 -읽 - -읾 -읾 -읾 -읾 -읾 - -읿 -읿 -읿 -읿 -읿 - -잀 -잀 -잀 -잀 -잀 - -잁 -잁 -잁 -잁 -잁 - -잂 -잂 -잂 -잂 -잂 - -잃 -잃 -잃 -잃 -잃 - -임 -임 -임 -임 -임 - -입 -입 -입 -입 -입 - -잆 -잆 -잆 -잆 -잆 - -잇 -잇 -잇 -잇 -잇 - -있 -있 -있 -있 -있 - -잉 -잉 -잉 -잉 -잉 - -잊 -잊 -잊 -잊 -잊 - -잋 -잋 -잋 -잋 -잋 - -잌 -잌 -잌 -잌 -잌 - -잍 -잍 -잍 -잍 -잍 - -잎 -잎 -잎 -잎 -잎 - -잏 -잏 -잏 -잏 -잏 - -자 -자 -자 -자 -자 - -작 -작 -작 -작 -작 - -잒 -잒 -잒 -잒 -잒 - -잓 -잓 -잓 -잓 -잓 - -잔 -잔 -잔 -잔 -잔 - -잕 -잕 -잕 -잕 -잕 - -잖 -잖 -잖 -잖 -잖 - -잗 -잗 -잗 -잗 -잗 - -잘 -잘 -잘 -잘 -잘 - -잙 -잙 -잙 -잙 -잙 - -잚 -잚 -잚 -잚 -잚 - -잛 -잛 -잛 -잛 -잛 - -잜 -잜 -잜 -잜 -잜 - -잝 -잝 -잝 -잝 -잝 - -잞 -잞 -잞 -잞 -잞 - -잟 -잟 -잟 -잟 -잟 - -잠 -잠 -잠 -잠 -잠 - -잡 -잡 -잡 -잡 -잡 - -잢 -잢 -잢 -잢 -잢 - -잣 -잣 -잣 -잣 -잣 - -잤 -잤 -잤 -잤 -잤 - -장 -장 -장 -장 -장 - -잦 -잦 -잦 -잦 -잦 - -잧 -잧 -잧 -잧 -잧 - -잨 -잨 -잨 -잨 -잨 - -잩 -잩 -잩 -잩 -잩 - -잪 -잪 -잪 -잪 -잪 - -잫 -잫 -잫 -잫 -잫 - -재 -재 -재 -재 -재 - -잭 -잭 -잭 -잭 -잭 - -잮 -잮 -잮 -잮 -잮 - -잯 -잯 -잯 -잯 -잯 - -잰 -잰 -잰 -잰 -잰 - -잱 -잱 -잱 -잱 -잱 - -잲 -잲 -잲 -잲 -잲 - -잳 -잳 -잳 -잳 -잳 - -잴 -잴 -잴 -잴 -잴 - -잵 -잵 -잵 -잵 -잵 - -잶 -잶 -잶 -잶 -잶 - -잷 -잷 -잷 -잷 -잷 - -잸 -잸 -잸 -잸 -잸 - -잹 -잹 -잹 -잹 -잹 - -잺 -잺 -잺 -잺 -잺 - -잻 -잻 -잻 -잻 -잻 - -잼 -잼 -잼 -잼 -잼 - -잽 -잽 -잽 -잽 -잽 - -잾 -잾 -잾 -잾 -잾 - -잿 -잿 -잿 -잿 -잿 - -쟀 -쟀 -쟀 -쟀 -쟀 - -쟁 -쟁 -쟁 -쟁 -쟁 - -쟂 -쟂 -쟂 -쟂 -쟂 - -쟃 -쟃 -쟃 -쟃 -쟃 - -쟄 -쟄 -쟄 -쟄 -쟄 - -쟅 -쟅 -쟅 -쟅 -쟅 - -쟆 -쟆 -쟆 -쟆 -쟆 - -쟇 -쟇 -쟇 -쟇 -쟇 - -쟈 -쟈 -쟈 -쟈 -쟈 - -쟉 -쟉 -쟉 -쟉 -쟉 - -쟊 -쟊 -쟊 -쟊 -쟊 - -쟋 -쟋 -쟋 -쟋 -쟋 - -쟌 -쟌 -쟌 -쟌 -쟌 - -쟍 -쟍 -쟍 -쟍 -쟍 - -쟎 -쟎 -쟎 -쟎 -쟎 - -쟏 -쟏 -쟏 -쟏 -쟏 - -쟐 -쟐 -쟐 -쟐 -쟐 - -쟑 -쟑 -쟑 -쟑 -쟑 - -쟒 -쟒 -쟒 -쟒 -쟒 - -쟓 -쟓 -쟓 -쟓 -쟓 - -쟔 -쟔 -쟔 -쟔 -쟔 - -쟕 -쟕 -쟕 -쟕 -쟕 - -쟖 -쟖 -쟖 -쟖 -쟖 - -쟗 -쟗 -쟗 -쟗 -쟗 - -쟘 -쟘 -쟘 -쟘 -쟘 - -쟙 -쟙 -쟙 -쟙 -쟙 - -쟚 -쟚 -쟚 -쟚 -쟚 - -쟛 -쟛 -쟛 -쟛 -쟛 - -쟜 -쟜 -쟜 -쟜 -쟜 - -쟝 -쟝 -쟝 -쟝 -쟝 - -쟞 -쟞 -쟞 -쟞 -쟞 - -쟟 -쟟 -쟟 -쟟 -쟟 - -쟠 -쟠 -쟠 -쟠 -쟠 - -쟡 -쟡 -쟡 -쟡 -쟡 - -쟢 -쟢 -쟢 -쟢 -쟢 - -쟣 -쟣 -쟣 -쟣 -쟣 - -쟤 -쟤 -쟤 -쟤 -쟤 - -쟥 -쟥 -쟥 -쟥 -쟥 - -쟦 -쟦 -쟦 -쟦 -쟦 - -쟧 -쟧 -쟧 -쟧 -쟧 - -쟨 -쟨 -쟨 -쟨 -쟨 - -쟩 -쟩 -쟩 -쟩 -쟩 - -쟪 -쟪 -쟪 -쟪 -쟪 - -쟫 -쟫 -쟫 -쟫 -쟫 - -쟬 -쟬 -쟬 -쟬 -쟬 - -쟭 -쟭 -쟭 -쟭 -쟭 - -쟮 -쟮 -쟮 -쟮 -쟮 - -쟯 -쟯 -쟯 -쟯 -쟯 - -쟰 -쟰 -쟰 -쟰 -쟰 - -쟱 -쟱 -쟱 -쟱 -쟱 - -쟲 -쟲 -쟲 -쟲 -쟲 - -쟳 -쟳 -쟳 -쟳 -쟳 - -쟴 -쟴 -쟴 -쟴 -쟴 - -쟵 -쟵 -쟵 -쟵 -쟵 - -쟶 -쟶 -쟶 -쟶 -쟶 - -쟷 -쟷 -쟷 -쟷 -쟷 - -쟸 -쟸 -쟸 -쟸 -쟸 - -쟹 -쟹 -쟹 -쟹 -쟹 - -쟺 -쟺 -쟺 -쟺 -쟺 - -쟻 -쟻 -쟻 -쟻 -쟻 - -쟼 -쟼 -쟼 -쟼 -쟼 - -쟽 -쟽 -쟽 -쟽 -쟽 - -쟾 -쟾 -쟾 -쟾 -쟾 - -쟿 -쟿 -쟿 -쟿 -쟿 - -저 -저 -저 -저 -저 - -적 -적 -적 -적 -적 - -젂 -젂 -젂 -젂 -젂 - -젃 -젃 -젃 -젃 -젃 - -전 -전 -전 -전 -전 - -젅 -젅 -젅 -젅 -젅 - -젆 -젆 -젆 -젆 -젆 - -젇 -젇 -젇 -젇 -젇 - -절 -절 -절 -절 -절 - -젉 -젉 -젉 -젉 -젉 - -젊 -젊 -젊 -젊 -젊 - -젋 -젋 -젋 -젋 -젋 - -젌 -젌 -젌 -젌 -젌 - -젍 -젍 -젍 -젍 -젍 - -젎 -젎 -젎 -젎 -젎 - -젏 -젏 -젏 -젏 -젏 - -점 -점 -점 -점 -점 - -접 -접 -접 -접 -접 - -젒 -젒 -젒 -젒 -젒 - -젓 -젓 -젓 -젓 -젓 - -젔 -젔 -젔 -젔 -젔 - -정 -정 -정 -정 -정 - -젖 -젖 -젖 -젖 -젖 - -젗 -젗 -젗 -젗 -젗 - -젘 -젘 -젘 -젘 -젘 - -젙 -젙 -젙 -젙 -젙 - -젚 -젚 -젚 -젚 -젚 - -젛 -젛 -젛 -젛 -젛 - -제 -제 -제 -제 -제 - -젝 -젝 -젝 -젝 -젝 - -젞 -젞 -젞 -젞 -젞 - -젟 -젟 -젟 -젟 -젟 - -젠 -젠 -젠 -젠 -젠 - -젡 -젡 -젡 -젡 -젡 - -젢 -젢 -젢 -젢 -젢 - -젣 -젣 -젣 -젣 -젣 - -젤 -젤 -젤 -젤 -젤 - -젥 -젥 -젥 -젥 -젥 - -젦 -젦 -젦 -젦 -젦 - -젧 -젧 -젧 -젧 -젧 - -젨 -젨 -젨 -젨 -젨 - -젩 -젩 -젩 -젩 -젩 - -젪 -젪 -젪 -젪 -젪 - -젫 -젫 -젫 -젫 -젫 - -젬 -젬 -젬 -젬 -젬 - -젭 -젭 -젭 -젭 -젭 - -젮 -젮 -젮 -젮 -젮 - -젯 -젯 -젯 -젯 -젯 - -젰 -젰 -젰 -젰 -젰 - -젱 -젱 -젱 -젱 -젱 - -젲 -젲 -젲 -젲 -젲 - -젳 -젳 -젳 -젳 -젳 - -젴 -젴 -젴 -젴 -젴 - -젵 -젵 -젵 -젵 -젵 - -젶 -젶 -젶 -젶 -젶 - -젷 -젷 -젷 -젷 -젷 - -져 -져 -져 -져 -져 - -젹 -젹 -젹 -젹 -젹 - -젺 -젺 -젺 -젺 -젺 - -젻 -젻 -젻 -젻 -젻 - -젼 -젼 -젼 -젼 -젼 - -젽 -젽 -젽 -젽 -젽 - -젾 -젾 -젾 -젾 -젾 - -젿 -젿 -젿 -젿 -젿 - -졀 -졀 -졀 -졀 -졀 - -졁 -졁 -졁 -졁 -졁 - -졂 -졂 -졂 -졂 -졂 - -졃 -졃 -졃 -졃 -졃 - -졄 -졄 -졄 -졄 -졄 - -졅 -졅 -졅 -졅 -졅 - -졆 -졆 -졆 -졆 -졆 - -졇 -졇 -졇 -졇 -졇 - -졈 -졈 -졈 -졈 -졈 - -졉 -졉 -졉 -졉 -졉 - -졊 -졊 -졊 -졊 -졊 - -졋 -졋 -졋 -졋 -졋 - -졌 -졌 -졌 -졌 -졌 - -졍 -졍 -졍 -졍 -졍 - -졎 -졎 -졎 -졎 -졎 - -졏 -졏 -졏 -졏 -졏 - -졐 -졐 -졐 -졐 -졐 - -졑 -졑 -졑 -졑 -졑 - -졒 -졒 -졒 -졒 -졒 - -졓 -졓 -졓 -졓 -졓 - -졔 -졔 -졔 -졔 -졔 - -졕 -졕 -졕 -졕 -졕 - -졖 -졖 -졖 -졖 -졖 - -졗 -졗 -졗 -졗 -졗 - -졘 -졘 -졘 -졘 -졘 - -졙 -졙 -졙 -졙 -졙 - -졚 -졚 -졚 -졚 -졚 - -졛 -졛 -졛 -졛 -졛 - -졜 -졜 -졜 -졜 -졜 - -졝 -졝 -졝 -졝 -졝 - -졞 -졞 -졞 -졞 -졞 - -졟 -졟 -졟 -졟 -졟 - -졠 -졠 -졠 -졠 -졠 - -졡 -졡 -졡 -졡 -졡 - -졢 -졢 -졢 -졢 -졢 - -졣 -졣 -졣 -졣 -졣 - -졤 -졤 -졤 -졤 -졤 - -졥 -졥 -졥 -졥 -졥 - -졦 -졦 -졦 -졦 -졦 - -졧 -졧 -졧 -졧 -졧 - -졨 -졨 -졨 -졨 -졨 - -졩 -졩 -졩 -졩 -졩 - -졪 -졪 -졪 -졪 -졪 - -졫 -졫 -졫 -졫 -졫 - -졬 -졬 -졬 -졬 -졬 - -졭 -졭 -졭 -졭 -졭 - -졮 -졮 -졮 -졮 -졮 - -졯 -졯 -졯 -졯 -졯 - -조 -조 -조 -조 -조 - -족 -족 -족 -족 -족 - -졲 -졲 -졲 -졲 -졲 - -졳 -졳 -졳 -졳 -졳 - -존 -존 -존 -존 -존 - -졵 -졵 -졵 -졵 -졵 - -졶 -졶 -졶 -졶 -졶 - -졷 -졷 -졷 -졷 -졷 - -졸 -졸 -졸 -졸 -졸 - -졹 -졹 -졹 -졹 -졹 - -졺 -졺 -졺 -졺 -졺 - -졻 -졻 -졻 -졻 -졻 - -졼 -졼 -졼 -졼 -졼 - -졽 -졽 -졽 -졽 -졽 - -졾 -졾 -졾 -졾 -졾 - -졿 -졿 -졿 -졿 -졿 - -좀 -좀 -좀 -좀 -좀 - -좁 -좁 -좁 -좁 -좁 - -좂 -좂 -좂 -좂 -좂 - -좃 -좃 -좃 -좃 -좃 - -좄 -좄 -좄 -좄 -좄 - -종 -종 -종 -종 -종 - -좆 -좆 -좆 -좆 -좆 - -좇 -좇 -좇 -좇 -좇 - -좈 -좈 -좈 -좈 -좈 - -좉 -좉 -좉 -좉 -좉 - -좊 -좊 -좊 -좊 -좊 - -좋 -좋 -좋 -좋 -좋 - -좌 -좌 -좌 -좌 -좌 - -좍 -좍 -좍 -좍 -좍 - -좎 -좎 -좎 -좎 -좎 - -좏 -좏 -좏 -좏 -좏 - -좐 -좐 -좐 -좐 -좐 - -좑 -좑 -좑 -좑 -좑 - -좒 -좒 -좒 -좒 -좒 - -좓 -좓 -좓 -좓 -좓 - -좔 -좔 -좔 -좔 -좔 - -좕 -좕 -좕 -좕 -좕 - -좖 -좖 -좖 -좖 -좖 - -좗 -좗 -좗 -좗 -좗 - -좘 -좘 -좘 -좘 -좘 - -좙 -좙 -좙 -좙 -좙 - -좚 -좚 -좚 -좚 -좚 - -좛 -좛 -좛 -좛 -좛 - -좜 -좜 -좜 -좜 -좜 - -좝 -좝 -좝 -좝 -좝 - -좞 -좞 -좞 -좞 -좞 - -좟 -좟 -좟 -좟 -좟 - -좠 -좠 -좠 -좠 -좠 - -좡 -좡 -좡 -좡 -좡 - -좢 -좢 -좢 -좢 -좢 - -좣 -좣 -좣 -좣 -좣 - -좤 -좤 -좤 -좤 -좤 - -좥 -좥 -좥 -좥 -좥 - -좦 -좦 -좦 -좦 -좦 - -좧 -좧 -좧 -좧 -좧 - -좨 -좨 -좨 -좨 -좨 - -좩 -좩 -좩 -좩 -좩 - -좪 -좪 -좪 -좪 -좪 - -좫 -좫 -좫 -좫 -좫 - -좬 -좬 -좬 -좬 -좬 - -좭 -좭 -좭 -좭 -좭 - -좮 -좮 -좮 -좮 -좮 - -좯 -좯 -좯 -좯 -좯 - -좰 -좰 -좰 -좰 -좰 - -좱 -좱 -좱 -좱 -좱 - -좲 -좲 -좲 -좲 -좲 - -좳 -좳 -좳 -좳 -좳 - -좴 -좴 -좴 -좴 -좴 - -좵 -좵 -좵 -좵 -좵 - -좶 -좶 -좶 -좶 -좶 - -좷 -좷 -좷 -좷 -좷 - -좸 -좸 -좸 -좸 -좸 - -좹 -좹 -좹 -좹 -좹 - -좺 -좺 -좺 -좺 -좺 - -좻 -좻 -좻 -좻 -좻 - -좼 -좼 -좼 -좼 -좼 - -좽 -좽 -좽 -좽 -좽 - -좾 -좾 -좾 -좾 -좾 - -좿 -좿 -좿 -좿 -좿 - -죀 -죀 -죀 -죀 -죀 - -죁 -죁 -죁 -죁 -죁 - -죂 -죂 -죂 -죂 -죂 - -죃 -죃 -죃 -죃 -죃 - -죄 -죄 -죄 -죄 -죄 - -죅 -죅 -죅 -죅 -죅 - -죆 -죆 -죆 -죆 -죆 - -죇 -죇 -죇 -죇 -죇 - -죈 -죈 -죈 -죈 -죈 - -죉 -죉 -죉 -죉 -죉 - -죊 -죊 -죊 -죊 -죊 - -죋 -죋 -죋 -죋 -죋 - -죌 -죌 -죌 -죌 -죌 - -죍 -죍 -죍 -죍 -죍 - -죎 -죎 -죎 -죎 -죎 - -죏 -죏 -죏 -죏 -죏 - -죐 -죐 -죐 -죐 -죐 - -죑 -죑 -죑 -죑 -죑 - -죒 -죒 -죒 -죒 -죒 - -죓 -죓 -죓 -죓 -죓 - -죔 -죔 -죔 -죔 -죔 - -죕 -죕 -죕 -죕 -죕 - -죖 -죖 -죖 -죖 -죖 - -죗 -죗 -죗 -죗 -죗 - -죘 -죘 -죘 -죘 -죘 - -죙 -죙 -죙 -죙 -죙 - -죚 -죚 -죚 -죚 -죚 - -죛 -죛 -죛 -죛 -죛 - -죜 -죜 -죜 -죜 -죜 - -죝 -죝 -죝 -죝 -죝 - -죞 -죞 -죞 -죞 -죞 - -죟 -죟 -죟 -죟 -죟 - -죠 -죠 -죠 -죠 -죠 - -죡 -죡 -죡 -죡 -죡 - -죢 -죢 -죢 -죢 -죢 - -죣 -죣 -죣 -죣 -죣 - -죤 -죤 -죤 -죤 -죤 - -죥 -죥 -죥 -죥 -죥 - -죦 -죦 -죦 -죦 -죦 - -죧 -죧 -죧 -죧 -죧 - -죨 -죨 -죨 -죨 -죨 - -죩 -죩 -죩 -죩 -죩 - -죪 -죪 -죪 -죪 -죪 - -죫 -죫 -죫 -죫 -죫 - -죬 -죬 -죬 -죬 -죬 - -죭 -죭 -죭 -죭 -죭 - -죮 -죮 -죮 -죮 -죮 - -죯 -죯 -죯 -죯 -죯 - -죰 -죰 -죰 -죰 -죰 - -죱 -죱 -죱 -죱 -죱 - -죲 -죲 -죲 -죲 -죲 - -죳 -죳 -죳 -죳 -죳 - -죴 -죴 -죴 -죴 -죴 - -죵 -죵 -죵 -죵 -죵 - -죶 -죶 -죶 -죶 -죶 - -죷 -죷 -죷 -죷 -죷 - -죸 -죸 -죸 -죸 -죸 - -죹 -죹 -죹 -죹 -죹 - -죺 -죺 -죺 -죺 -죺 - -죻 -죻 -죻 -죻 -죻 - -주 -주 -주 -주 -주 - -죽 -죽 -죽 -죽 -죽 - -죾 -죾 -죾 -죾 -죾 - -죿 -죿 -죿 -죿 -죿 - -준 -준 -준 -준 -준 - -줁 -줁 -줁 -줁 -줁 - -줂 -줂 -줂 -줂 -줂 - -줃 -줃 -줃 -줃 -줃 - -줄 -줄 -줄 -줄 -줄 - -줅 -줅 -줅 -줅 -줅 - -줆 -줆 -줆 -줆 -줆 - -줇 -줇 -줇 -줇 -줇 - -줈 -줈 -줈 -줈 -줈 - -줉 -줉 -줉 -줉 -줉 - -줊 -줊 -줊 -줊 -줊 - -줋 -줋 -줋 -줋 -줋 - -줌 -줌 -줌 -줌 -줌 - -줍 -줍 -줍 -줍 -줍 - -줎 -줎 -줎 -줎 -줎 - -줏 -줏 -줏 -줏 -줏 - -줐 -줐 -줐 -줐 -줐 - -중 -중 -중 -중 -중 - -줒 -줒 -줒 -줒 -줒 - -줓 -줓 -줓 -줓 -줓 - -줔 -줔 -줔 -줔 -줔 - -줕 -줕 -줕 -줕 -줕 - -줖 -줖 -줖 -줖 -줖 - -줗 -줗 -줗 -줗 -줗 - -줘 -줘 -줘 -줘 -줘 - -줙 -줙 -줙 -줙 -줙 - -줚 -줚 -줚 -줚 -줚 - -줛 -줛 -줛 -줛 -줛 - -줜 -줜 -줜 -줜 -줜 - -줝 -줝 -줝 -줝 -줝 - -줞 -줞 -줞 -줞 -줞 - -줟 -줟 -줟 -줟 -줟 - -줠 -줠 -줠 -줠 -줠 - -줡 -줡 -줡 -줡 -줡 - -줢 -줢 -줢 -줢 -줢 - -줣 -줣 -줣 -줣 -줣 - -줤 -줤 -줤 -줤 -줤 - -줥 -줥 -줥 -줥 -줥 - -줦 -줦 -줦 -줦 -줦 - -줧 -줧 -줧 -줧 -줧 - -줨 -줨 -줨 -줨 -줨 - -줩 -줩 -줩 -줩 -줩 - -줪 -줪 -줪 -줪 -줪 - -줫 -줫 -줫 -줫 -줫 - -줬 -줬 -줬 -줬 -줬 - -줭 -줭 -줭 -줭 -줭 - -줮 -줮 -줮 -줮 -줮 - -줯 -줯 -줯 -줯 -줯 - -줰 -줰 -줰 -줰 -줰 - -줱 -줱 -줱 -줱 -줱 - -줲 -줲 -줲 -줲 -줲 - -줳 -줳 -줳 -줳 -줳 - -줴 -줴 -줴 -줴 -줴 - -줵 -줵 -줵 -줵 -줵 - -줶 -줶 -줶 -줶 -줶 - -줷 -줷 -줷 -줷 -줷 - -줸 -줸 -줸 -줸 -줸 - -줹 -줹 -줹 -줹 -줹 - -줺 -줺 -줺 -줺 -줺 - -줻 -줻 -줻 -줻 -줻 - -줼 -줼 -줼 -줼 -줼 - -줽 -줽 -줽 -줽 -줽 - -줾 -줾 -줾 -줾 -줾 - -줿 -줿 -줿 -줿 -줿 - -쥀 -쥀 -쥀 -쥀 -쥀 - -쥁 -쥁 -쥁 -쥁 -쥁 - -쥂 -쥂 -쥂 -쥂 -쥂 - -쥃 -쥃 -쥃 -쥃 -쥃 - -쥄 -쥄 -쥄 -쥄 -쥄 - -쥅 -쥅 -쥅 -쥅 -쥅 - -쥆 -쥆 -쥆 -쥆 -쥆 - -쥇 -쥇 -쥇 -쥇 -쥇 - -쥈 -쥈 -쥈 -쥈 -쥈 - -쥉 -쥉 -쥉 -쥉 -쥉 - -쥊 -쥊 -쥊 -쥊 -쥊 - -쥋 -쥋 -쥋 -쥋 -쥋 - -쥌 -쥌 -쥌 -쥌 -쥌 - -쥍 -쥍 -쥍 -쥍 -쥍 - -쥎 -쥎 -쥎 -쥎 -쥎 - -쥏 -쥏 -쥏 -쥏 -쥏 - -쥐 -쥐 -쥐 -쥐 -쥐 - -쥑 -쥑 -쥑 -쥑 -쥑 - -쥒 -쥒 -쥒 -쥒 -쥒 - -쥓 -쥓 -쥓 -쥓 -쥓 - -쥔 -쥔 -쥔 -쥔 -쥔 - -쥕 -쥕 -쥕 -쥕 -쥕 - -쥖 -쥖 -쥖 -쥖 -쥖 - -쥗 -쥗 -쥗 -쥗 -쥗 - -쥘 -쥘 -쥘 -쥘 -쥘 - -쥙 -쥙 -쥙 -쥙 -쥙 - -쥚 -쥚 -쥚 -쥚 -쥚 - -쥛 -쥛 -쥛 -쥛 -쥛 - -쥜 -쥜 -쥜 -쥜 -쥜 - -쥝 -쥝 -쥝 -쥝 -쥝 - -쥞 -쥞 -쥞 -쥞 -쥞 - -쥟 -쥟 -쥟 -쥟 -쥟 - -쥠 -쥠 -쥠 -쥠 -쥠 - -쥡 -쥡 -쥡 -쥡 -쥡 - -쥢 -쥢 -쥢 -쥢 -쥢 - -쥣 -쥣 -쥣 -쥣 -쥣 - -쥤 -쥤 -쥤 -쥤 -쥤 - -쥥 -쥥 -쥥 -쥥 -쥥 - -쥦 -쥦 -쥦 -쥦 -쥦 - -쥧 -쥧 -쥧 -쥧 -쥧 - -쥨 -쥨 -쥨 -쥨 -쥨 - -쥩 -쥩 -쥩 -쥩 -쥩 - -쥪 -쥪 -쥪 -쥪 -쥪 - -쥫 -쥫 -쥫 -쥫 -쥫 - -쥬 -쥬 -쥬 -쥬 -쥬 - -쥭 -쥭 -쥭 -쥭 -쥭 - -쥮 -쥮 -쥮 -쥮 -쥮 - -쥯 -쥯 -쥯 -쥯 -쥯 - -쥰 -쥰 -쥰 -쥰 -쥰 - -쥱 -쥱 -쥱 -쥱 -쥱 - -쥲 -쥲 -쥲 -쥲 -쥲 - -쥳 -쥳 -쥳 -쥳 -쥳 - -쥴 -쥴 -쥴 -쥴 -쥴 - -쥵 -쥵 -쥵 -쥵 -쥵 - -쥶 -쥶 -쥶 -쥶 -쥶 - -쥷 -쥷 -쥷 -쥷 -쥷 - -쥸 -쥸 -쥸 -쥸 -쥸 - -쥹 -쥹 -쥹 -쥹 -쥹 - -쥺 -쥺 -쥺 -쥺 -쥺 - -쥻 -쥻 -쥻 -쥻 -쥻 - -쥼 -쥼 -쥼 -쥼 -쥼 - -쥽 -쥽 -쥽 -쥽 -쥽 - -쥾 -쥾 -쥾 -쥾 -쥾 - -쥿 -쥿 -쥿 -쥿 -쥿 - -즀 -즀 -즀 -즀 -즀 - -즁 -즁 -즁 -즁 -즁 - -즂 -즂 -즂 -즂 -즂 - -즃 -즃 -즃 -즃 -즃 - -즄 -즄 -즄 -즄 -즄 - -즅 -즅 -즅 -즅 -즅 - -즆 -즆 -즆 -즆 -즆 - -즇 -즇 -즇 -즇 -즇 - -즈 -즈 -즈 -즈 -즈 - -즉 -즉 -즉 -즉 -즉 - -즊 -즊 -즊 -즊 -즊 - -즋 -즋 -즋 -즋 -즋 - -즌 -즌 -즌 -즌 -즌 - -즍 -즍 -즍 -즍 -즍 - -즎 -즎 -즎 -즎 -즎 - -즏 -즏 -즏 -즏 -즏 - -즐 -즐 -즐 -즐 -즐 - -즑 -즑 -즑 -즑 -즑 - -즒 -즒 -즒 -즒 -즒 - -즓 -즓 -즓 -즓 -즓 - -즔 -즔 -즔 -즔 -즔 - -즕 -즕 -즕 -즕 -즕 - -즖 -즖 -즖 -즖 -즖 - -즗 -즗 -즗 -즗 -즗 - -즘 -즘 -즘 -즘 -즘 - -즙 -즙 -즙 -즙 -즙 - -즚 -즚 -즚 -즚 -즚 - -즛 -즛 -즛 -즛 -즛 - -즜 -즜 -즜 -즜 -즜 - -증 -증 -증 -증 -증 - -즞 -즞 -즞 -즞 -즞 - -즟 -즟 -즟 -즟 -즟 - -즠 -즠 -즠 -즠 -즠 - -즡 -즡 -즡 -즡 -즡 - -즢 -즢 -즢 -즢 -즢 - -즣 -즣 -즣 -즣 -즣 - -즤 -즤 -즤 -즤 -즤 - -즥 -즥 -즥 -즥 -즥 - -즦 -즦 -즦 -즦 -즦 - -즧 -즧 -즧 -즧 -즧 - -즨 -즨 -즨 -즨 -즨 - -즩 -즩 -즩 -즩 -즩 - -즪 -즪 -즪 -즪 -즪 - -즫 -즫 -즫 -즫 -즫 - -즬 -즬 -즬 -즬 -즬 - -즭 -즭 -즭 -즭 -즭 - -즮 -즮 -즮 -즮 -즮 - -즯 -즯 -즯 -즯 -즯 - -즰 -즰 -즰 -즰 -즰 - -즱 -즱 -즱 -즱 -즱 - -즲 -즲 -즲 -즲 -즲 - -즳 -즳 -즳 -즳 -즳 - -즴 -즴 -즴 -즴 -즴 - -즵 -즵 -즵 -즵 -즵 - -즶 -즶 -즶 -즶 -즶 - -즷 -즷 -즷 -즷 -즷 - -즸 -즸 -즸 -즸 -즸 - -즹 -즹 -즹 -즹 -즹 - -즺 -즺 -즺 -즺 -즺 - -즻 -즻 -즻 -즻 -즻 - -즼 -즼 -즼 -즼 -즼 - -즽 -즽 -즽 -즽 -즽 - -즾 -즾 -즾 -즾 -즾 - -즿 -즿 -즿 -즿 -즿 - -지 -지 -지 -지 -지 - -직 -직 -직 -직 -직 - -짂 -짂 -짂 -짂 -짂 - -짃 -짃 -짃 -짃 -짃 - -진 -진 -진 -진 -진 - -짅 -짅 -짅 -짅 -짅 - -짆 -짆 -짆 -짆 -짆 - -짇 -짇 -짇 -짇 -짇 - -질 -질 -질 -질 -질 - -짉 -짉 -짉 -짉 -짉 - -짊 -짊 -짊 -짊 -짊 - -짋 -짋 -짋 -짋 -짋 - -짌 -짌 -짌 -짌 -짌 - -짍 -짍 -짍 -짍 -짍 - -짎 -짎 -짎 -짎 -짎 - -짏 -짏 -짏 -짏 -짏 - -짐 -짐 -짐 -짐 -짐 - -집 -집 -집 -집 -집 - -짒 -짒 -짒 -짒 -짒 - -짓 -짓 -짓 -짓 -짓 - -짔 -짔 -짔 -짔 -짔 - -징 -징 -징 -징 -징 - -짖 -짖 -짖 -짖 -짖 - -짗 -짗 -짗 -짗 -짗 - -짘 -짘 -짘 -짘 -짘 - -짙 -짙 -짙 -짙 -짙 - -짚 -짚 -짚 -짚 -짚 - -짛 -짛 -짛 -짛 -짛 - -짜 -짜 -짜 -짜 -짜 - -짝 -짝 -짝 -짝 -짝 - -짞 -짞 -짞 -짞 -짞 - -짟 -짟 -짟 -짟 -짟 - -짠 -짠 -짠 -짠 -짠 - -짡 -짡 -짡 -짡 -짡 - -짢 -짢 -짢 -짢 -짢 - -짣 -짣 -짣 -짣 -짣 - -짤 -짤 -짤 -짤 -짤 - -짥 -짥 -짥 -짥 -짥 - -짦 -짦 -짦 -짦 -짦 - -짧 -짧 -짧 -짧 -짧 - -짨 -짨 -짨 -짨 -짨 - -짩 -짩 -짩 -짩 -짩 - -짪 -짪 -짪 -짪 -짪 - -짫 -짫 -짫 -짫 -짫 - -짬 -짬 -짬 -짬 -짬 - -짭 -짭 -짭 -짭 -짭 - -짮 -짮 -짮 -짮 -짮 - -짯 -짯 -짯 -짯 -짯 - -짰 -짰 -짰 -짰 -짰 - -짱 -짱 -짱 -짱 -짱 - -짲 -짲 -짲 -짲 -짲 - -짳 -짳 -짳 -짳 -짳 - -짴 -짴 -짴 -짴 -짴 - -짵 -짵 -짵 -짵 -짵 - -짶 -짶 -짶 -짶 -짶 - -짷 -짷 -짷 -짷 -짷 - -째 -째 -째 -째 -째 - -짹 -짹 -짹 -짹 -짹 - -짺 -짺 -짺 -짺 -짺 - -짻 -짻 -짻 -짻 -짻 - -짼 -짼 -짼 -짼 -짼 - -짽 -짽 -짽 -짽 -짽 - -짾 -짾 -짾 -짾 -짾 - -짿 -짿 -짿 -짿 -짿 - -쨀 -쨀 -쨀 -쨀 -쨀 - -쨁 -쨁 -쨁 -쨁 -쨁 - -쨂 -쨂 -쨂 -쨂 -쨂 - -쨃 -쨃 -쨃 -쨃 -쨃 - -쨄 -쨄 -쨄 -쨄 -쨄 - -쨅 -쨅 -쨅 -쨅 -쨅 - -쨆 -쨆 -쨆 -쨆 -쨆 - -쨇 -쨇 -쨇 -쨇 -쨇 - -쨈 -쨈 -쨈 -쨈 -쨈 - -쨉 -쨉 -쨉 -쨉 -쨉 - -쨊 -쨊 -쨊 -쨊 -쨊 - -쨋 -쨋 -쨋 -쨋 -쨋 - -쨌 -쨌 -쨌 -쨌 -쨌 - -쨍 -쨍 -쨍 -쨍 -쨍 - -쨎 -쨎 -쨎 -쨎 -쨎 - -쨏 -쨏 -쨏 -쨏 -쨏 - -쨐 -쨐 -쨐 -쨐 -쨐 - -쨑 -쨑 -쨑 -쨑 -쨑 - -쨒 -쨒 -쨒 -쨒 -쨒 - -쨓 -쨓 -쨓 -쨓 -쨓 - -쨔 -쨔 -쨔 -쨔 -쨔 - -쨕 -쨕 -쨕 -쨕 -쨕 - -쨖 -쨖 -쨖 -쨖 -쨖 - -쨗 -쨗 -쨗 -쨗 -쨗 - -쨘 -쨘 -쨘 -쨘 -쨘 - -쨙 -쨙 -쨙 -쨙 -쨙 - -쨚 -쨚 -쨚 -쨚 -쨚 - -쨛 -쨛 -쨛 -쨛 -쨛 - -쨜 -쨜 -쨜 -쨜 -쨜 - -쨝 -쨝 -쨝 -쨝 -쨝 - -쨞 -쨞 -쨞 -쨞 -쨞 - -쨟 -쨟 -쨟 -쨟 -쨟 - -쨠 -쨠 -쨠 -쨠 -쨠 - -쨡 -쨡 -쨡 -쨡 -쨡 - -쨢 -쨢 -쨢 -쨢 -쨢 - -쨣 -쨣 -쨣 -쨣 -쨣 - -쨤 -쨤 -쨤 -쨤 -쨤 - -쨥 -쨥 -쨥 -쨥 -쨥 - -쨦 -쨦 -쨦 -쨦 -쨦 - -쨧 -쨧 -쨧 -쨧 -쨧 - -쨨 -쨨 -쨨 -쨨 -쨨 - -쨩 -쨩 -쨩 -쨩 -쨩 - -쨪 -쨪 -쨪 -쨪 -쨪 - -쨫 -쨫 -쨫 -쨫 -쨫 - -쨬 -쨬 -쨬 -쨬 -쨬 - -쨭 -쨭 -쨭 -쨭 -쨭 - -쨮 -쨮 -쨮 -쨮 -쨮 - -쨯 -쨯 -쨯 -쨯 -쨯 - -쨰 -쨰 -쨰 -쨰 -쨰 - -쨱 -쨱 -쨱 -쨱 -쨱 - -쨲 -쨲 -쨲 -쨲 -쨲 - -쨳 -쨳 -쨳 -쨳 -쨳 - -쨴 -쨴 -쨴 -쨴 -쨴 - -쨵 -쨵 -쨵 -쨵 -쨵 - -쨶 -쨶 -쨶 -쨶 -쨶 - -쨷 -쨷 -쨷 -쨷 -쨷 - -쨸 -쨸 -쨸 -쨸 -쨸 - -쨹 -쨹 -쨹 -쨹 -쨹 - -쨺 -쨺 -쨺 -쨺 -쨺 - -쨻 -쨻 -쨻 -쨻 -쨻 - -쨼 -쨼 -쨼 -쨼 -쨼 - -쨽 -쨽 -쨽 -쨽 -쨽 - -쨾 -쨾 -쨾 -쨾 -쨾 - -쨿 -쨿 -쨿 -쨿 -쨿 - -쩀 -쩀 -쩀 -쩀 -쩀 - -쩁 -쩁 -쩁 -쩁 -쩁 - -쩂 -쩂 -쩂 -쩂 -쩂 - -쩃 -쩃 -쩃 -쩃 -쩃 - -쩄 -쩄 -쩄 -쩄 -쩄 - -쩅 -쩅 -쩅 -쩅 -쩅 - -쩆 -쩆 -쩆 -쩆 -쩆 - -쩇 -쩇 -쩇 -쩇 -쩇 - -쩈 -쩈 -쩈 -쩈 -쩈 - -쩉 -쩉 -쩉 -쩉 -쩉 - -쩊 -쩊 -쩊 -쩊 -쩊 - -쩋 -쩋 -쩋 -쩋 -쩋 - -쩌 -쩌 -쩌 -쩌 -쩌 - -쩍 -쩍 -쩍 -쩍 -쩍 - -쩎 -쩎 -쩎 -쩎 -쩎 - -쩏 -쩏 -쩏 -쩏 -쩏 - -쩐 -쩐 -쩐 -쩐 -쩐 - -쩑 -쩑 -쩑 -쩑 -쩑 - -쩒 -쩒 -쩒 -쩒 -쩒 - -쩓 -쩓 -쩓 -쩓 -쩓 - -쩔 -쩔 -쩔 -쩔 -쩔 - -쩕 -쩕 -쩕 -쩕 -쩕 - -쩖 -쩖 -쩖 -쩖 -쩖 - -쩗 -쩗 -쩗 -쩗 -쩗 - -쩘 -쩘 -쩘 -쩘 -쩘 - -쩙 -쩙 -쩙 -쩙 -쩙 - -쩚 -쩚 -쩚 -쩚 -쩚 - -쩛 -쩛 -쩛 -쩛 -쩛 - -쩜 -쩜 -쩜 -쩜 -쩜 - -쩝 -쩝 -쩝 -쩝 -쩝 - -쩞 -쩞 -쩞 -쩞 -쩞 - -쩟 -쩟 -쩟 -쩟 -쩟 - -쩠 -쩠 -쩠 -쩠 -쩠 - -쩡 -쩡 -쩡 -쩡 -쩡 - -쩢 -쩢 -쩢 -쩢 -쩢 - -쩣 -쩣 -쩣 -쩣 -쩣 - -쩤 -쩤 -쩤 -쩤 -쩤 - -쩥 -쩥 -쩥 -쩥 -쩥 - -쩦 -쩦 -쩦 -쩦 -쩦 - -쩧 -쩧 -쩧 -쩧 -쩧 - -쩨 -쩨 -쩨 -쩨 -쩨 - -쩩 -쩩 -쩩 -쩩 -쩩 - -쩪 -쩪 -쩪 -쩪 -쩪 - -쩫 -쩫 -쩫 -쩫 -쩫 - -쩬 -쩬 -쩬 -쩬 -쩬 - -쩭 -쩭 -쩭 -쩭 -쩭 - -쩮 -쩮 -쩮 -쩮 -쩮 - -쩯 -쩯 -쩯 -쩯 -쩯 - -쩰 -쩰 -쩰 -쩰 -쩰 - -쩱 -쩱 -쩱 -쩱 -쩱 - -쩲 -쩲 -쩲 -쩲 -쩲 - -쩳 -쩳 -쩳 -쩳 -쩳 - -쩴 -쩴 -쩴 -쩴 -쩴 - -쩵 -쩵 -쩵 -쩵 -쩵 - -쩶 -쩶 -쩶 -쩶 -쩶 - -쩷 -쩷 -쩷 -쩷 -쩷 - -쩸 -쩸 -쩸 -쩸 -쩸 - -쩹 -쩹 -쩹 -쩹 -쩹 - -쩺 -쩺 -쩺 -쩺 -쩺 - -쩻 -쩻 -쩻 -쩻 -쩻 - -쩼 -쩼 -쩼 -쩼 -쩼 - -쩽 -쩽 -쩽 -쩽 -쩽 - -쩾 -쩾 -쩾 -쩾 -쩾 - -쩿 -쩿 -쩿 -쩿 -쩿 - -쪀 -쪀 -쪀 -쪀 -쪀 - -쪁 -쪁 -쪁 -쪁 -쪁 - -쪂 -쪂 -쪂 -쪂 -쪂 - -쪃 -쪃 -쪃 -쪃 -쪃 - -쪄 -쪄 -쪄 -쪄 -쪄 - -쪅 -쪅 -쪅 -쪅 -쪅 - -쪆 -쪆 -쪆 -쪆 -쪆 - -쪇 -쪇 -쪇 -쪇 -쪇 - -쪈 -쪈 -쪈 -쪈 -쪈 - -쪉 -쪉 -쪉 -쪉 -쪉 - -쪊 -쪊 -쪊 -쪊 -쪊 - -쪋 -쪋 -쪋 -쪋 -쪋 - -쪌 -쪌 -쪌 -쪌 -쪌 - -쪍 -쪍 -쪍 -쪍 -쪍 - -쪎 -쪎 -쪎 -쪎 -쪎 - -쪏 -쪏 -쪏 -쪏 -쪏 - -쪐 -쪐 -쪐 -쪐 -쪐 - -쪑 -쪑 -쪑 -쪑 -쪑 - -쪒 -쪒 -쪒 -쪒 -쪒 - -쪓 -쪓 -쪓 -쪓 -쪓 - -쪔 -쪔 -쪔 -쪔 -쪔 - -쪕 -쪕 -쪕 -쪕 -쪕 - -쪖 -쪖 -쪖 -쪖 -쪖 - -쪗 -쪗 -쪗 -쪗 -쪗 - -쪘 -쪘 -쪘 -쪘 -쪘 - -쪙 -쪙 -쪙 -쪙 -쪙 - -쪚 -쪚 -쪚 -쪚 -쪚 - -쪛 -쪛 -쪛 -쪛 -쪛 - -쪜 -쪜 -쪜 -쪜 -쪜 - -쪝 -쪝 -쪝 -쪝 -쪝 - -쪞 -쪞 -쪞 -쪞 -쪞 - -쪟 -쪟 -쪟 -쪟 -쪟 - -쪠 -쪠 -쪠 -쪠 -쪠 - -쪡 -쪡 -쪡 -쪡 -쪡 - -쪢 -쪢 -쪢 -쪢 -쪢 - -쪣 -쪣 -쪣 -쪣 -쪣 - -쪤 -쪤 -쪤 -쪤 -쪤 - -쪥 -쪥 -쪥 -쪥 -쪥 - -쪦 -쪦 -쪦 -쪦 -쪦 - -쪧 -쪧 -쪧 -쪧 -쪧 - -쪨 -쪨 -쪨 -쪨 -쪨 - -쪩 -쪩 -쪩 -쪩 -쪩 - -쪪 -쪪 -쪪 -쪪 -쪪 - -쪫 -쪫 -쪫 -쪫 -쪫 - -쪬 -쪬 -쪬 -쪬 -쪬 - -쪭 -쪭 -쪭 -쪭 -쪭 - -쪮 -쪮 -쪮 -쪮 -쪮 - -쪯 -쪯 -쪯 -쪯 -쪯 - -쪰 -쪰 -쪰 -쪰 -쪰 - -쪱 -쪱 -쪱 -쪱 -쪱 - -쪲 -쪲 -쪲 -쪲 -쪲 - -쪳 -쪳 -쪳 -쪳 -쪳 - -쪴 -쪴 -쪴 -쪴 -쪴 - -쪵 -쪵 -쪵 -쪵 -쪵 - -쪶 -쪶 -쪶 -쪶 -쪶 - -쪷 -쪷 -쪷 -쪷 -쪷 - -쪸 -쪸 -쪸 -쪸 -쪸 - -쪹 -쪹 -쪹 -쪹 -쪹 - -쪺 -쪺 -쪺 -쪺 -쪺 - -쪻 -쪻 -쪻 -쪻 -쪻 - -쪼 -쪼 -쪼 -쪼 -쪼 - -쪽 -쪽 -쪽 -쪽 -쪽 - -쪾 -쪾 -쪾 -쪾 -쪾 - -쪿 -쪿 -쪿 -쪿 -쪿 - -쫀 -쫀 -쫀 -쫀 -쫀 - -쫁 -쫁 -쫁 -쫁 -쫁 - -쫂 -쫂 -쫂 -쫂 -쫂 - -쫃 -쫃 -쫃 -쫃 -쫃 - -쫄 -쫄 -쫄 -쫄 -쫄 - -쫅 -쫅 -쫅 -쫅 -쫅 - -쫆 -쫆 -쫆 -쫆 -쫆 - -쫇 -쫇 -쫇 -쫇 -쫇 - -쫈 -쫈 -쫈 -쫈 -쫈 - -쫉 -쫉 -쫉 -쫉 -쫉 - -쫊 -쫊 -쫊 -쫊 -쫊 - -쫋 -쫋 -쫋 -쫋 -쫋 - -쫌 -쫌 -쫌 -쫌 -쫌 - -쫍 -쫍 -쫍 -쫍 -쫍 - -쫎 -쫎 -쫎 -쫎 -쫎 - -쫏 -쫏 -쫏 -쫏 -쫏 - -쫐 -쫐 -쫐 -쫐 -쫐 - -쫑 -쫑 -쫑 -쫑 -쫑 - -쫒 -쫒 -쫒 -쫒 -쫒 - -쫓 -쫓 -쫓 -쫓 -쫓 - -쫔 -쫔 -쫔 -쫔 -쫔 - -쫕 -쫕 -쫕 -쫕 -쫕 - -쫖 -쫖 -쫖 -쫖 -쫖 - -쫗 -쫗 -쫗 -쫗 -쫗 - -쫘 -쫘 -쫘 -쫘 -쫘 - -쫙 -쫙 -쫙 -쫙 -쫙 - -쫚 -쫚 -쫚 -쫚 -쫚 - -쫛 -쫛 -쫛 -쫛 -쫛 - -쫜 -쫜 -쫜 -쫜 -쫜 - -쫝 -쫝 -쫝 -쫝 -쫝 - -쫞 -쫞 -쫞 -쫞 -쫞 - -쫟 -쫟 -쫟 -쫟 -쫟 - -쫠 -쫠 -쫠 -쫠 -쫠 - -쫡 -쫡 -쫡 -쫡 -쫡 - -쫢 -쫢 -쫢 -쫢 -쫢 - -쫣 -쫣 -쫣 -쫣 -쫣 - -쫤 -쫤 -쫤 -쫤 -쫤 - -쫥 -쫥 -쫥 -쫥 -쫥 - -쫦 -쫦 -쫦 -쫦 -쫦 - -쫧 -쫧 -쫧 -쫧 -쫧 - -쫨 -쫨 -쫨 -쫨 -쫨 - -쫩 -쫩 -쫩 -쫩 -쫩 - -쫪 -쫪 -쫪 -쫪 -쫪 - -쫫 -쫫 -쫫 -쫫 -쫫 - -쫬 -쫬 -쫬 -쫬 -쫬 - -쫭 -쫭 -쫭 -쫭 -쫭 - -쫮 -쫮 -쫮 -쫮 -쫮 - -쫯 -쫯 -쫯 -쫯 -쫯 - -쫰 -쫰 -쫰 -쫰 -쫰 - -쫱 -쫱 -쫱 -쫱 -쫱 - -쫲 -쫲 -쫲 -쫲 -쫲 - -쫳 -쫳 -쫳 -쫳 -쫳 - -쫴 -쫴 -쫴 -쫴 -쫴 - -쫵 -쫵 -쫵 -쫵 -쫵 - -쫶 -쫶 -쫶 -쫶 -쫶 - -쫷 -쫷 -쫷 -쫷 -쫷 - -쫸 -쫸 -쫸 -쫸 -쫸 - -쫹 -쫹 -쫹 -쫹 -쫹 - -쫺 -쫺 -쫺 -쫺 -쫺 - -쫻 -쫻 -쫻 -쫻 -쫻 - -쫼 -쫼 -쫼 -쫼 -쫼 - -쫽 -쫽 -쫽 -쫽 -쫽 - -쫾 -쫾 -쫾 -쫾 -쫾 - -쫿 -쫿 -쫿 -쫿 -쫿 - -쬀 -쬀 -쬀 -쬀 -쬀 - -쬁 -쬁 -쬁 -쬁 -쬁 - -쬂 -쬂 -쬂 -쬂 -쬂 - -쬃 -쬃 -쬃 -쬃 -쬃 - -쬄 -쬄 -쬄 -쬄 -쬄 - -쬅 -쬅 -쬅 -쬅 -쬅 - -쬆 -쬆 -쬆 -쬆 -쬆 - -쬇 -쬇 -쬇 -쬇 -쬇 - -쬈 -쬈 -쬈 -쬈 -쬈 - -쬉 -쬉 -쬉 -쬉 -쬉 - -쬊 -쬊 -쬊 -쬊 -쬊 - -쬋 -쬋 -쬋 -쬋 -쬋 - -쬌 -쬌 -쬌 -쬌 -쬌 - -쬍 -쬍 -쬍 -쬍 -쬍 - -쬎 -쬎 -쬎 -쬎 -쬎 - -쬏 -쬏 -쬏 -쬏 -쬏 - -쬐 -쬐 -쬐 -쬐 -쬐 - -쬑 -쬑 -쬑 -쬑 -쬑 - -쬒 -쬒 -쬒 -쬒 -쬒 - -쬓 -쬓 -쬓 -쬓 -쬓 - -쬔 -쬔 -쬔 -쬔 -쬔 - -쬕 -쬕 -쬕 -쬕 -쬕 - -쬖 -쬖 -쬖 -쬖 -쬖 - -쬗 -쬗 -쬗 -쬗 -쬗 - -쬘 -쬘 -쬘 -쬘 -쬘 - -쬙 -쬙 -쬙 -쬙 -쬙 - -쬚 -쬚 -쬚 -쬚 -쬚 - -쬛 -쬛 -쬛 -쬛 -쬛 - -쬜 -쬜 -쬜 -쬜 -쬜 - -쬝 -쬝 -쬝 -쬝 -쬝 - -쬞 -쬞 -쬞 -쬞 -쬞 - -쬟 -쬟 -쬟 -쬟 -쬟 - -쬠 -쬠 -쬠 -쬠 -쬠 - -쬡 -쬡 -쬡 -쬡 -쬡 - -쬢 -쬢 -쬢 -쬢 -쬢 - -쬣 -쬣 -쬣 -쬣 -쬣 - -쬤 -쬤 -쬤 -쬤 -쬤 - -쬥 -쬥 -쬥 -쬥 -쬥 - -쬦 -쬦 -쬦 -쬦 -쬦 - -쬧 -쬧 -쬧 -쬧 -쬧 - -쬨 -쬨 -쬨 -쬨 -쬨 - -쬩 -쬩 -쬩 -쬩 -쬩 - -쬪 -쬪 -쬪 -쬪 -쬪 - -쬫 -쬫 -쬫 -쬫 -쬫 - -쬬 -쬬 -쬬 -쬬 -쬬 - -쬭 -쬭 -쬭 -쬭 -쬭 - -쬮 -쬮 -쬮 -쬮 -쬮 - -쬯 -쬯 -쬯 -쬯 -쬯 - -쬰 -쬰 -쬰 -쬰 -쬰 - -쬱 -쬱 -쬱 -쬱 -쬱 - -쬲 -쬲 -쬲 -쬲 -쬲 - -쬳 -쬳 -쬳 -쬳 -쬳 - -쬴 -쬴 -쬴 -쬴 -쬴 - -쬵 -쬵 -쬵 -쬵 -쬵 - -쬶 -쬶 -쬶 -쬶 -쬶 - -쬷 -쬷 -쬷 -쬷 -쬷 - -쬸 -쬸 -쬸 -쬸 -쬸 - -쬹 -쬹 -쬹 -쬹 -쬹 - -쬺 -쬺 -쬺 -쬺 -쬺 - -쬻 -쬻 -쬻 -쬻 -쬻 - -쬼 -쬼 -쬼 -쬼 -쬼 - -쬽 -쬽 -쬽 -쬽 -쬽 - -쬾 -쬾 -쬾 -쬾 -쬾 - -쬿 -쬿 -쬿 -쬿 -쬿 - -쭀 -쭀 -쭀 -쭀 -쭀 - -쭁 -쭁 -쭁 -쭁 -쭁 - -쭂 -쭂 -쭂 -쭂 -쭂 - -쭃 -쭃 -쭃 -쭃 -쭃 - -쭄 -쭄 -쭄 -쭄 -쭄 - -쭅 -쭅 -쭅 -쭅 -쭅 - -쭆 -쭆 -쭆 -쭆 -쭆 - -쭇 -쭇 -쭇 -쭇 -쭇 - -쭈 -쭈 -쭈 -쭈 -쭈 - -쭉 -쭉 -쭉 -쭉 -쭉 - -쭊 -쭊 -쭊 -쭊 -쭊 - -쭋 -쭋 -쭋 -쭋 -쭋 - -쭌 -쭌 -쭌 -쭌 -쭌 - -쭍 -쭍 -쭍 -쭍 -쭍 - -쭎 -쭎 -쭎 -쭎 -쭎 - -쭏 -쭏 -쭏 -쭏 -쭏 - -쭐 -쭐 -쭐 -쭐 -쭐 - -쭑 -쭑 -쭑 -쭑 -쭑 - -쭒 -쭒 -쭒 -쭒 -쭒 - -쭓 -쭓 -쭓 -쭓 -쭓 - -쭔 -쭔 -쭔 -쭔 -쭔 - -쭕 -쭕 -쭕 -쭕 -쭕 - -쭖 -쭖 -쭖 -쭖 -쭖 - -쭗 -쭗 -쭗 -쭗 -쭗 - -쭘 -쭘 -쭘 -쭘 -쭘 - -쭙 -쭙 -쭙 -쭙 -쭙 - -쭚 -쭚 -쭚 -쭚 -쭚 - -쭛 -쭛 -쭛 -쭛 -쭛 - -쭜 -쭜 -쭜 -쭜 -쭜 - -쭝 -쭝 -쭝 -쭝 -쭝 - -쭞 -쭞 -쭞 -쭞 -쭞 - -쭟 -쭟 -쭟 -쭟 -쭟 - -쭠 -쭠 -쭠 -쭠 -쭠 - -쭡 -쭡 -쭡 -쭡 -쭡 - -쭢 -쭢 -쭢 -쭢 -쭢 - -쭣 -쭣 -쭣 -쭣 -쭣 - -쭤 -쭤 -쭤 -쭤 -쭤 - -쭥 -쭥 -쭥 -쭥 -쭥 - -쭦 -쭦 -쭦 -쭦 -쭦 - -쭧 -쭧 -쭧 -쭧 -쭧 - -쭨 -쭨 -쭨 -쭨 -쭨 - -쭩 -쭩 -쭩 -쭩 -쭩 - -쭪 -쭪 -쭪 -쭪 -쭪 - -쭫 -쭫 -쭫 -쭫 -쭫 - -쭬 -쭬 -쭬 -쭬 -쭬 - -쭭 -쭭 -쭭 -쭭 -쭭 - -쭮 -쭮 -쭮 -쭮 -쭮 - -쭯 -쭯 -쭯 -쭯 -쭯 - -쭰 -쭰 -쭰 -쭰 -쭰 - -쭱 -쭱 -쭱 -쭱 -쭱 - -쭲 -쭲 -쭲 -쭲 -쭲 - -쭳 -쭳 -쭳 -쭳 -쭳 - -쭴 -쭴 -쭴 -쭴 -쭴 - -쭵 -쭵 -쭵 -쭵 -쭵 - -쭶 -쭶 -쭶 -쭶 -쭶 - -쭷 -쭷 -쭷 -쭷 -쭷 - -쭸 -쭸 -쭸 -쭸 -쭸 - -쭹 -쭹 -쭹 -쭹 -쭹 - -쭺 -쭺 -쭺 -쭺 -쭺 - -쭻 -쭻 -쭻 -쭻 -쭻 - -쭼 -쭼 -쭼 -쭼 -쭼 - -쭽 -쭽 -쭽 -쭽 -쭽 - -쭾 -쭾 -쭾 -쭾 -쭾 - -쭿 -쭿 -쭿 -쭿 -쭿 - -쮀 -쮀 -쮀 -쮀 -쮀 - -쮁 -쮁 -쮁 -쮁 -쮁 - -쮂 -쮂 -쮂 -쮂 -쮂 - -쮃 -쮃 -쮃 -쮃 -쮃 - -쮄 -쮄 -쮄 -쮄 -쮄 - -쮅 -쮅 -쮅 -쮅 -쮅 - -쮆 -쮆 -쮆 -쮆 -쮆 - -쮇 -쮇 -쮇 -쮇 -쮇 - -쮈 -쮈 -쮈 -쮈 -쮈 - -쮉 -쮉 -쮉 -쮉 -쮉 - -쮊 -쮊 -쮊 -쮊 -쮊 - -쮋 -쮋 -쮋 -쮋 -쮋 - -쮌 -쮌 -쮌 -쮌 -쮌 - -쮍 -쮍 -쮍 -쮍 -쮍 - -쮎 -쮎 -쮎 -쮎 -쮎 - -쮏 -쮏 -쮏 -쮏 -쮏 - -쮐 -쮐 -쮐 -쮐 -쮐 - -쮑 -쮑 -쮑 -쮑 -쮑 - -쮒 -쮒 -쮒 -쮒 -쮒 - -쮓 -쮓 -쮓 -쮓 -쮓 - -쮔 -쮔 -쮔 -쮔 -쮔 - -쮕 -쮕 -쮕 -쮕 -쮕 - -쮖 -쮖 -쮖 -쮖 -쮖 - -쮗 -쮗 -쮗 -쮗 -쮗 - -쮘 -쮘 -쮘 -쮘 -쮘 - -쮙 -쮙 -쮙 -쮙 -쮙 - -쮚 -쮚 -쮚 -쮚 -쮚 - -쮛 -쮛 -쮛 -쮛 -쮛 - -쮜 -쮜 -쮜 -쮜 -쮜 - -쮝 -쮝 -쮝 -쮝 -쮝 - -쮞 -쮞 -쮞 -쮞 -쮞 - -쮟 -쮟 -쮟 -쮟 -쮟 - -쮠 -쮠 -쮠 -쮠 -쮠 - -쮡 -쮡 -쮡 -쮡 -쮡 - -쮢 -쮢 -쮢 -쮢 -쮢 - -쮣 -쮣 -쮣 -쮣 -쮣 - -쮤 -쮤 -쮤 -쮤 -쮤 - -쮥 -쮥 -쮥 -쮥 -쮥 - -쮦 -쮦 -쮦 -쮦 -쮦 - -쮧 -쮧 -쮧 -쮧 -쮧 - -쮨 -쮨 -쮨 -쮨 -쮨 - -쮩 -쮩 -쮩 -쮩 -쮩 - -쮪 -쮪 -쮪 -쮪 -쮪 - -쮫 -쮫 -쮫 -쮫 -쮫 - -쮬 -쮬 -쮬 -쮬 -쮬 - -쮭 -쮭 -쮭 -쮭 -쮭 - -쮮 -쮮 -쮮 -쮮 -쮮 - -쮯 -쮯 -쮯 -쮯 -쮯 - -쮰 -쮰 -쮰 -쮰 -쮰 - -쮱 -쮱 -쮱 -쮱 -쮱 - -쮲 -쮲 -쮲 -쮲 -쮲 - -쮳 -쮳 -쮳 -쮳 -쮳 - -쮴 -쮴 -쮴 -쮴 -쮴 - -쮵 -쮵 -쮵 -쮵 -쮵 - -쮶 -쮶 -쮶 -쮶 -쮶 - -쮷 -쮷 -쮷 -쮷 -쮷 - -쮸 -쮸 -쮸 -쮸 -쮸 - -쮹 -쮹 -쮹 -쮹 -쮹 - -쮺 -쮺 -쮺 -쮺 -쮺 - -쮻 -쮻 -쮻 -쮻 -쮻 - -쮼 -쮼 -쮼 -쮼 -쮼 - -쮽 -쮽 -쮽 -쮽 -쮽 - -쮾 -쮾 -쮾 -쮾 -쮾 - -쮿 -쮿 -쮿 -쮿 -쮿 - -쯀 -쯀 -쯀 -쯀 -쯀 - -쯁 -쯁 -쯁 -쯁 -쯁 - -쯂 -쯂 -쯂 -쯂 -쯂 - -쯃 -쯃 -쯃 -쯃 -쯃 - -쯄 -쯄 -쯄 -쯄 -쯄 - -쯅 -쯅 -쯅 -쯅 -쯅 - -쯆 -쯆 -쯆 -쯆 -쯆 - -쯇 -쯇 -쯇 -쯇 -쯇 - -쯈 -쯈 -쯈 -쯈 -쯈 - -쯉 -쯉 -쯉 -쯉 -쯉 - -쯊 -쯊 -쯊 -쯊 -쯊 - -쯋 -쯋 -쯋 -쯋 -쯋 - -쯌 -쯌 -쯌 -쯌 -쯌 - -쯍 -쯍 -쯍 -쯍 -쯍 - -쯎 -쯎 -쯎 -쯎 -쯎 - -쯏 -쯏 -쯏 -쯏 -쯏 - -쯐 -쯐 -쯐 -쯐 -쯐 - -쯑 -쯑 -쯑 -쯑 -쯑 - -쯒 -쯒 -쯒 -쯒 -쯒 - -쯓 -쯓 -쯓 -쯓 -쯓 - -쯔 -쯔 -쯔 -쯔 -쯔 - -쯕 -쯕 -쯕 -쯕 -쯕 - -쯖 -쯖 -쯖 -쯖 -쯖 - -쯗 -쯗 -쯗 -쯗 -쯗 - -쯘 -쯘 -쯘 -쯘 -쯘 - -쯙 -쯙 -쯙 -쯙 -쯙 - -쯚 -쯚 -쯚 -쯚 -쯚 - -쯛 -쯛 -쯛 -쯛 -쯛 - -쯜 -쯜 -쯜 -쯜 -쯜 - -쯝 -쯝 -쯝 -쯝 -쯝 - -쯞 -쯞 -쯞 -쯞 -쯞 - -쯟 -쯟 -쯟 -쯟 -쯟 - -쯠 -쯠 -쯠 -쯠 -쯠 - -쯡 -쯡 -쯡 -쯡 -쯡 - -쯢 -쯢 -쯢 -쯢 -쯢 - -쯣 -쯣 -쯣 -쯣 -쯣 - -쯤 -쯤 -쯤 -쯤 -쯤 - -쯥 -쯥 -쯥 -쯥 -쯥 - -쯦 -쯦 -쯦 -쯦 -쯦 - -쯧 -쯧 -쯧 -쯧 -쯧 - -쯨 -쯨 -쯨 -쯨 -쯨 - -쯩 -쯩 -쯩 -쯩 -쯩 - -쯪 -쯪 -쯪 -쯪 -쯪 - -쯫 -쯫 -쯫 -쯫 -쯫 - -쯬 -쯬 -쯬 -쯬 -쯬 - -쯭 -쯭 -쯭 -쯭 -쯭 - -쯮 -쯮 -쯮 -쯮 -쯮 - -쯯 -쯯 -쯯 -쯯 -쯯 - -쯰 -쯰 -쯰 -쯰 -쯰 - -쯱 -쯱 -쯱 -쯱 -쯱 - -쯲 -쯲 -쯲 -쯲 -쯲 - -쯳 -쯳 -쯳 -쯳 -쯳 - -쯴 -쯴 -쯴 -쯴 -쯴 - -쯵 -쯵 -쯵 -쯵 -쯵 - -쯶 -쯶 -쯶 -쯶 -쯶 - -쯷 -쯷 -쯷 -쯷 -쯷 - -쯸 -쯸 -쯸 -쯸 -쯸 - -쯹 -쯹 -쯹 -쯹 -쯹 - -쯺 -쯺 -쯺 -쯺 -쯺 - -쯻 -쯻 -쯻 -쯻 -쯻 - -쯼 -쯼 -쯼 -쯼 -쯼 - -쯽 -쯽 -쯽 -쯽 -쯽 - -쯾 -쯾 -쯾 -쯾 -쯾 - -쯿 -쯿 -쯿 -쯿 -쯿 - -찀 -찀 -찀 -찀 -찀 - -찁 -찁 -찁 -찁 -찁 - -찂 -찂 -찂 -찂 -찂 - -찃 -찃 -찃 -찃 -찃 - -찄 -찄 -찄 -찄 -찄 - -찅 -찅 -찅 -찅 -찅 - -찆 -찆 -찆 -찆 -찆 - -찇 -찇 -찇 -찇 -찇 - -찈 -찈 -찈 -찈 -찈 - -찉 -찉 -찉 -찉 -찉 - -찊 -찊 -찊 -찊 -찊 - -찋 -찋 -찋 -찋 -찋 - -찌 -찌 -찌 -찌 -찌 - -찍 -찍 -찍 -찍 -찍 - -찎 -찎 -찎 -찎 -찎 - -찏 -찏 -찏 -찏 -찏 - -찐 -찐 -찐 -찐 -찐 - -찑 -찑 -찑 -찑 -찑 - -찒 -찒 -찒 -찒 -찒 - -찓 -찓 -찓 -찓 -찓 - -찔 -찔 -찔 -찔 -찔 - -찕 -찕 -찕 -찕 -찕 - -찖 -찖 -찖 -찖 -찖 - -찗 -찗 -찗 -찗 -찗 - -찘 -찘 -찘 -찘 -찘 - -찙 -찙 -찙 -찙 -찙 - -찚 -찚 -찚 -찚 -찚 - -찛 -찛 -찛 -찛 -찛 - -찜 -찜 -찜 -찜 -찜 - -찝 -찝 -찝 -찝 -찝 - -찞 -찞 -찞 -찞 -찞 - -찟 -찟 -찟 -찟 -찟 - -찠 -찠 -찠 -찠 -찠 - -찡 -찡 -찡 -찡 -찡 - -찢 -찢 -찢 -찢 -찢 - -찣 -찣 -찣 -찣 -찣 - -찤 -찤 -찤 -찤 -찤 - -찥 -찥 -찥 -찥 -찥 - -찦 -찦 -찦 -찦 -찦 - -찧 -찧 -찧 -찧 -찧 - -차 -차 -차 -차 -차 - -착 -착 -착 -착 -착 - -찪 -찪 -찪 -찪 -찪 - -찫 -찫 -찫 -찫 -찫 - -찬 -찬 -찬 -찬 -찬 - -찭 -찭 -찭 -찭 -찭 - -찮 -찮 -찮 -찮 -찮 - -찯 -찯 -찯 -찯 -찯 - -찰 -찰 -찰 -찰 -찰 - -찱 -찱 -찱 -찱 -찱 - -찲 -찲 -찲 -찲 -찲 - -찳 -찳 -찳 -찳 -찳 - -찴 -찴 -찴 -찴 -찴 - -찵 -찵 -찵 -찵 -찵 - -찶 -찶 -찶 -찶 -찶 - -찷 -찷 -찷 -찷 -찷 - -참 -참 -참 -참 -참 - -찹 -찹 -찹 -찹 -찹 - -찺 -찺 -찺 -찺 -찺 - -찻 -찻 -찻 -찻 -찻 - -찼 -찼 -찼 -찼 -찼 - -창 -창 -창 -창 -창 - -찾 -찾 -찾 -찾 -찾 - -찿 -찿 -찿 -찿 -찿 - -챀 -챀 -챀 -챀 -챀 - -챁 -챁 -챁 -챁 -챁 - -챂 -챂 -챂 -챂 -챂 - -챃 -챃 -챃 -챃 -챃 - -채 -채 -채 -채 -채 - -책 -책 -책 -책 -책 - -챆 -챆 -챆 -챆 -챆 - -챇 -챇 -챇 -챇 -챇 - -챈 -챈 -챈 -챈 -챈 - -챉 -챉 -챉 -챉 -챉 - -챊 -챊 -챊 -챊 -챊 - -챋 -챋 -챋 -챋 -챋 - -챌 -챌 -챌 -챌 -챌 - -챍 -챍 -챍 -챍 -챍 - -챎 -챎 -챎 -챎 -챎 - -챏 -챏 -챏 -챏 -챏 - -챐 -챐 -챐 -챐 -챐 - -챑 -챑 -챑 -챑 -챑 - -챒 -챒 -챒 -챒 -챒 - -챓 -챓 -챓 -챓 -챓 - -챔 -챔 -챔 -챔 -챔 - -챕 -챕 -챕 -챕 -챕 - -챖 -챖 -챖 -챖 -챖 - -챗 -챗 -챗 -챗 -챗 - -챘 -챘 -챘 -챘 -챘 - -챙 -챙 -챙 -챙 -챙 - -챚 -챚 -챚 -챚 -챚 - -챛 -챛 -챛 -챛 -챛 - -챜 -챜 -챜 -챜 -챜 - -챝 -챝 -챝 -챝 -챝 - -챞 -챞 -챞 -챞 -챞 - -챟 -챟 -챟 -챟 -챟 - -챠 -챠 -챠 -챠 -챠 - -챡 -챡 -챡 -챡 -챡 - -챢 -챢 -챢 -챢 -챢 - -챣 -챣 -챣 -챣 -챣 - -챤 -챤 -챤 -챤 -챤 - -챥 -챥 -챥 -챥 -챥 - -챦 -챦 -챦 -챦 -챦 - -챧 -챧 -챧 -챧 -챧 - -챨 -챨 -챨 -챨 -챨 - -챩 -챩 -챩 -챩 -챩 - -챪 -챪 -챪 -챪 -챪 - -챫 -챫 -챫 -챫 -챫 - -챬 -챬 -챬 -챬 -챬 - -챭 -챭 -챭 -챭 -챭 - -챮 -챮 -챮 -챮 -챮 - -챯 -챯 -챯 -챯 -챯 - -챰 -챰 -챰 -챰 -챰 - -챱 -챱 -챱 -챱 -챱 - -챲 -챲 -챲 -챲 -챲 - -챳 -챳 -챳 -챳 -챳 - -챴 -챴 -챴 -챴 -챴 - -챵 -챵 -챵 -챵 -챵 - -챶 -챶 -챶 -챶 -챶 - -챷 -챷 -챷 -챷 -챷 - -챸 -챸 -챸 -챸 -챸 - -챹 -챹 -챹 -챹 -챹 - -챺 -챺 -챺 -챺 -챺 - -챻 -챻 -챻 -챻 -챻 - -챼 -챼 -챼 -챼 -챼 - -챽 -챽 -챽 -챽 -챽 - -챾 -챾 -챾 -챾 -챾 - -챿 -챿 -챿 -챿 -챿 - -첀 -첀 -첀 -첀 -첀 - -첁 -첁 -첁 -첁 -첁 - -첂 -첂 -첂 -첂 -첂 - -첃 -첃 -첃 -첃 -첃 - -첄 -첄 -첄 -첄 -첄 - -첅 -첅 -첅 -첅 -첅 - -첆 -첆 -첆 -첆 -첆 - -첇 -첇 -첇 -첇 -첇 - -첈 -첈 -첈 -첈 -첈 - -첉 -첉 -첉 -첉 -첉 - -첊 -첊 -첊 -첊 -첊 - -첋 -첋 -첋 -첋 -첋 - -첌 -첌 -첌 -첌 -첌 - -첍 -첍 -첍 -첍 -첍 - -첎 -첎 -첎 -첎 -첎 - -첏 -첏 -첏 -첏 -첏 - -첐 -첐 -첐 -첐 -첐 - -첑 -첑 -첑 -첑 -첑 - -첒 -첒 -첒 -첒 -첒 - -첓 -첓 -첓 -첓 -첓 - -첔 -첔 -첔 -첔 -첔 - -첕 -첕 -첕 -첕 -첕 - -첖 -첖 -첖 -첖 -첖 - -첗 -첗 -첗 -첗 -첗 - -처 -처 -처 -처 -처 - -척 -척 -척 -척 -척 - -첚 -첚 -첚 -첚 -첚 - -첛 -첛 -첛 -첛 -첛 - -천 -천 -천 -천 -천 - -첝 -첝 -첝 -첝 -첝 - -첞 -첞 -첞 -첞 -첞 - -첟 -첟 -첟 -첟 -첟 - -철 -철 -철 -철 -철 - -첡 -첡 -첡 -첡 -첡 - -첢 -첢 -첢 -첢 -첢 - -첣 -첣 -첣 -첣 -첣 - -첤 -첤 -첤 -첤 -첤 - -첥 -첥 -첥 -첥 -첥 - -첦 -첦 -첦 -첦 -첦 - -첧 -첧 -첧 -첧 -첧 - -첨 -첨 -첨 -첨 -첨 - -첩 -첩 -첩 -첩 -첩 - -첪 -첪 -첪 -첪 -첪 - -첫 -첫 -첫 -첫 -첫 - -첬 -첬 -첬 -첬 -첬 - -청 -청 -청 -청 -청 - -첮 -첮 -첮 -첮 -첮 - -첯 -첯 -첯 -첯 -첯 - -첰 -첰 -첰 -첰 -첰 - -첱 -첱 -첱 -첱 -첱 - -첲 -첲 -첲 -첲 -첲 - -첳 -첳 -첳 -첳 -첳 - -체 -체 -체 -체 -체 - -첵 -첵 -첵 -첵 -첵 - -첶 -첶 -첶 -첶 -첶 - -첷 -첷 -첷 -첷 -첷 - -첸 -첸 -첸 -첸 -첸 - -첹 -첹 -첹 -첹 -첹 - -첺 -첺 -첺 -첺 -첺 - -첻 -첻 -첻 -첻 -첻 - -첼 -첼 -첼 -첼 -첼 - -첽 -첽 -첽 -첽 -첽 - -첾 -첾 -첾 -첾 -첾 - -첿 -첿 -첿 -첿 -첿 - -쳀 -쳀 -쳀 -쳀 -쳀 - -쳁 -쳁 -쳁 -쳁 -쳁 - -쳂 -쳂 -쳂 -쳂 -쳂 - -쳃 -쳃 -쳃 -쳃 -쳃 - -쳄 -쳄 -쳄 -쳄 -쳄 - -쳅 -쳅 -쳅 -쳅 -쳅 - -쳆 -쳆 -쳆 -쳆 -쳆 - -쳇 -쳇 -쳇 -쳇 -쳇 - -쳈 -쳈 -쳈 -쳈 -쳈 - -쳉 -쳉 -쳉 -쳉 -쳉 - -쳊 -쳊 -쳊 -쳊 -쳊 - -쳋 -쳋 -쳋 -쳋 -쳋 - -쳌 -쳌 -쳌 -쳌 -쳌 - -쳍 -쳍 -쳍 -쳍 -쳍 - -쳎 -쳎 -쳎 -쳎 -쳎 - -쳏 -쳏 -쳏 -쳏 -쳏 - -쳐 -쳐 -쳐 -쳐 -쳐 - -쳑 -쳑 -쳑 -쳑 -쳑 - -쳒 -쳒 -쳒 -쳒 -쳒 - -쳓 -쳓 -쳓 -쳓 -쳓 - -쳔 -쳔 -쳔 -쳔 -쳔 - -쳕 -쳕 -쳕 -쳕 -쳕 - -쳖 -쳖 -쳖 -쳖 -쳖 - -쳗 -쳗 -쳗 -쳗 -쳗 - -쳘 -쳘 -쳘 -쳘 -쳘 - -쳙 -쳙 -쳙 -쳙 -쳙 - -쳚 -쳚 -쳚 -쳚 -쳚 - -쳛 -쳛 -쳛 -쳛 -쳛 - -쳜 -쳜 -쳜 -쳜 -쳜 - -쳝 -쳝 -쳝 -쳝 -쳝 - -쳞 -쳞 -쳞 -쳞 -쳞 - -쳟 -쳟 -쳟 -쳟 -쳟 - -쳠 -쳠 -쳠 -쳠 -쳠 - -쳡 -쳡 -쳡 -쳡 -쳡 - -쳢 -쳢 -쳢 -쳢 -쳢 - -쳣 -쳣 -쳣 -쳣 -쳣 - -쳤 -쳤 -쳤 -쳤 -쳤 - -쳥 -쳥 -쳥 -쳥 -쳥 - -쳦 -쳦 -쳦 -쳦 -쳦 - -쳧 -쳧 -쳧 -쳧 -쳧 - -쳨 -쳨 -쳨 -쳨 -쳨 - -쳩 -쳩 -쳩 -쳩 -쳩 - -쳪 -쳪 -쳪 -쳪 -쳪 - -쳫 -쳫 -쳫 -쳫 -쳫 - -쳬 -쳬 -쳬 -쳬 -쳬 - -쳭 -쳭 -쳭 -쳭 -쳭 - -쳮 -쳮 -쳮 -쳮 -쳮 - -쳯 -쳯 -쳯 -쳯 -쳯 - -쳰 -쳰 -쳰 -쳰 -쳰 - -쳱 -쳱 -쳱 -쳱 -쳱 - -쳲 -쳲 -쳲 -쳲 -쳲 - -쳳 -쳳 -쳳 -쳳 -쳳 - -쳴 -쳴 -쳴 -쳴 -쳴 - -쳵 -쳵 -쳵 -쳵 -쳵 - -쳶 -쳶 -쳶 -쳶 -쳶 - -쳷 -쳷 -쳷 -쳷 -쳷 - -쳸 -쳸 -쳸 -쳸 -쳸 - -쳹 -쳹 -쳹 -쳹 -쳹 - -쳺 -쳺 -쳺 -쳺 -쳺 - -쳻 -쳻 -쳻 -쳻 -쳻 - -쳼 -쳼 -쳼 -쳼 -쳼 - -쳽 -쳽 -쳽 -쳽 -쳽 - -쳾 -쳾 -쳾 -쳾 -쳾 - -쳿 -쳿 -쳿 -쳿 -쳿 - -촀 -촀 -촀 -촀 -촀 - -촁 -촁 -촁 -촁 -촁 - -촂 -촂 -촂 -촂 -촂 - -촃 -촃 -촃 -촃 -촃 - -촄 -촄 -촄 -촄 -촄 - -촅 -촅 -촅 -촅 -촅 - -촆 -촆 -촆 -촆 -촆 - -촇 -촇 -촇 -촇 -촇 - -초 -초 -초 -초 -초 - -촉 -촉 -촉 -촉 -촉 - -촊 -촊 -촊 -촊 -촊 - -촋 -촋 -촋 -촋 -촋 - -촌 -촌 -촌 -촌 -촌 - -촍 -촍 -촍 -촍 -촍 - -촎 -촎 -촎 -촎 -촎 - -촏 -촏 -촏 -촏 -촏 - -촐 -촐 -촐 -촐 -촐 - -촑 -촑 -촑 -촑 -촑 - -촒 -촒 -촒 -촒 -촒 - -촓 -촓 -촓 -촓 -촓 - -촔 -촔 -촔 -촔 -촔 - -촕 -촕 -촕 -촕 -촕 - -촖 -촖 -촖 -촖 -촖 - -촗 -촗 -촗 -촗 -촗 - -촘 -촘 -촘 -촘 -촘 - -촙 -촙 -촙 -촙 -촙 - -촚 -촚 -촚 -촚 -촚 - -촛 -촛 -촛 -촛 -촛 - -촜 -촜 -촜 -촜 -촜 - -총 -총 -총 -총 -총 - -촞 -촞 -촞 -촞 -촞 - -촟 -촟 -촟 -촟 -촟 - -촠 -촠 -촠 -촠 -촠 - -촡 -촡 -촡 -촡 -촡 - -촢 -촢 -촢 -촢 -촢 - -촣 -촣 -촣 -촣 -촣 - -촤 -촤 -촤 -촤 -촤 - -촥 -촥 -촥 -촥 -촥 - -촦 -촦 -촦 -촦 -촦 - -촧 -촧 -촧 -촧 -촧 - -촨 -촨 -촨 -촨 -촨 - -촩 -촩 -촩 -촩 -촩 - -촪 -촪 -촪 -촪 -촪 - -촫 -촫 -촫 -촫 -촫 - -촬 -촬 -촬 -촬 -촬 - -촭 -촭 -촭 -촭 -촭 - -촮 -촮 -촮 -촮 -촮 - -촯 -촯 -촯 -촯 -촯 - -촰 -촰 -촰 -촰 -촰 - -촱 -촱 -촱 -촱 -촱 - -촲 -촲 -촲 -촲 -촲 - -촳 -촳 -촳 -촳 -촳 - -촴 -촴 -촴 -촴 -촴 - -촵 -촵 -촵 -촵 -촵 - -촶 -촶 -촶 -촶 -촶 - -촷 -촷 -촷 -촷 -촷 - -촸 -촸 -촸 -촸 -촸 - -촹 -촹 -촹 -촹 -촹 - -촺 -촺 -촺 -촺 -촺 - -촻 -촻 -촻 -촻 -촻 - -촼 -촼 -촼 -촼 -촼 - -촽 -촽 -촽 -촽 -촽 - -촾 -촾 -촾 -촾 -촾 - -촿 -촿 -촿 -촿 -촿 - -쵀 -쵀 -쵀 -쵀 -쵀 - -쵁 -쵁 -쵁 -쵁 -쵁 - -쵂 -쵂 -쵂 -쵂 -쵂 - -쵃 -쵃 -쵃 -쵃 -쵃 - -쵄 -쵄 -쵄 -쵄 -쵄 - -쵅 -쵅 -쵅 -쵅 -쵅 - -쵆 -쵆 -쵆 -쵆 -쵆 - -쵇 -쵇 -쵇 -쵇 -쵇 - -쵈 -쵈 -쵈 -쵈 -쵈 - -쵉 -쵉 -쵉 -쵉 -쵉 - -쵊 -쵊 -쵊 -쵊 -쵊 - -쵋 -쵋 -쵋 -쵋 -쵋 - -쵌 -쵌 -쵌 -쵌 -쵌 - -쵍 -쵍 -쵍 -쵍 -쵍 - -쵎 -쵎 -쵎 -쵎 -쵎 - -쵏 -쵏 -쵏 -쵏 -쵏 - -쵐 -쵐 -쵐 -쵐 -쵐 - -쵑 -쵑 -쵑 -쵑 -쵑 - -쵒 -쵒 -쵒 -쵒 -쵒 - -쵓 -쵓 -쵓 -쵓 -쵓 - -쵔 -쵔 -쵔 -쵔 -쵔 - -쵕 -쵕 -쵕 -쵕 -쵕 - -쵖 -쵖 -쵖 -쵖 -쵖 - -쵗 -쵗 -쵗 -쵗 -쵗 - -쵘 -쵘 -쵘 -쵘 -쵘 - -쵙 -쵙 -쵙 -쵙 -쵙 - -쵚 -쵚 -쵚 -쵚 -쵚 - -쵛 -쵛 -쵛 -쵛 -쵛 - -최 -최 -최 -최 -최 - -쵝 -쵝 -쵝 -쵝 -쵝 - -쵞 -쵞 -쵞 -쵞 -쵞 - -쵟 -쵟 -쵟 -쵟 -쵟 - -쵠 -쵠 -쵠 -쵠 -쵠 - -쵡 -쵡 -쵡 -쵡 -쵡 - -쵢 -쵢 -쵢 -쵢 -쵢 - -쵣 -쵣 -쵣 -쵣 -쵣 - -쵤 -쵤 -쵤 -쵤 -쵤 - -쵥 -쵥 -쵥 -쵥 -쵥 - -쵦 -쵦 -쵦 -쵦 -쵦 - -쵧 -쵧 -쵧 -쵧 -쵧 - -쵨 -쵨 -쵨 -쵨 -쵨 - -쵩 -쵩 -쵩 -쵩 -쵩 - -쵪 -쵪 -쵪 -쵪 -쵪 - -쵫 -쵫 -쵫 -쵫 -쵫 - -쵬 -쵬 -쵬 -쵬 -쵬 - -쵭 -쵭 -쵭 -쵭 -쵭 - -쵮 -쵮 -쵮 -쵮 -쵮 - -쵯 -쵯 -쵯 -쵯 -쵯 - -쵰 -쵰 -쵰 -쵰 -쵰 - -쵱 -쵱 -쵱 -쵱 -쵱 - -쵲 -쵲 -쵲 -쵲 -쵲 - -쵳 -쵳 -쵳 -쵳 -쵳 - -쵴 -쵴 -쵴 -쵴 -쵴 - -쵵 -쵵 -쵵 -쵵 -쵵 - -쵶 -쵶 -쵶 -쵶 -쵶 - -쵷 -쵷 -쵷 -쵷 -쵷 - -쵸 -쵸 -쵸 -쵸 -쵸 - -쵹 -쵹 -쵹 -쵹 -쵹 - -쵺 -쵺 -쵺 -쵺 -쵺 - -쵻 -쵻 -쵻 -쵻 -쵻 - -쵼 -쵼 -쵼 -쵼 -쵼 - -쵽 -쵽 -쵽 -쵽 -쵽 - -쵾 -쵾 -쵾 -쵾 -쵾 - -쵿 -쵿 -쵿 -쵿 -쵿 - -춀 -춀 -춀 -춀 -춀 - -춁 -춁 -춁 -춁 -춁 - -춂 -춂 -춂 -춂 -춂 - -춃 -춃 -춃 -춃 -춃 - -춄 -춄 -춄 -춄 -춄 - -춅 -춅 -춅 -춅 -춅 - -춆 -춆 -춆 -춆 -춆 - -춇 -춇 -춇 -춇 -춇 - -춈 -춈 -춈 -춈 -춈 - -춉 -춉 -춉 -춉 -춉 - -춊 -춊 -춊 -춊 -춊 - -춋 -춋 -춋 -춋 -춋 - -춌 -춌 -춌 -춌 -춌 - -춍 -춍 -춍 -춍 -춍 - -춎 -춎 -춎 -춎 -춎 - -춏 -춏 -춏 -춏 -춏 - -춐 -춐 -춐 -춐 -춐 - -춑 -춑 -춑 -춑 -춑 - -춒 -춒 -춒 -춒 -춒 - -춓 -춓 -춓 -춓 -춓 - -추 -추 -추 -추 -추 - -축 -축 -축 -축 -축 - -춖 -춖 -춖 -춖 -춖 - -춗 -춗 -춗 -춗 -춗 - -춘 -춘 -춘 -춘 -춘 - -춙 -춙 -춙 -춙 -춙 - -춚 -춚 -춚 -춚 -춚 - -춛 -춛 -춛 -춛 -춛 - -출 -출 -출 -출 -출 - -춝 -춝 -춝 -춝 -춝 - -춞 -춞 -춞 -춞 -춞 - -춟 -춟 -춟 -춟 -춟 - -춠 -춠 -춠 -춠 -춠 - -춡 -춡 -춡 -춡 -춡 - -춢 -춢 -춢 -춢 -춢 - -춣 -춣 -춣 -춣 -춣 - -춤 -춤 -춤 -춤 -춤 - -춥 -춥 -춥 -춥 -춥 - -춦 -춦 -춦 -춦 -춦 - -춧 -춧 -춧 -춧 -춧 - -춨 -춨 -춨 -춨 -춨 - -충 -충 -충 -충 -충 - -춪 -춪 -춪 -춪 -춪 - -춫 -춫 -춫 -춫 -춫 - -춬 -춬 -춬 -춬 -춬 - -춭 -춭 -춭 -춭 -춭 - -춮 -춮 -춮 -춮 -춮 - -춯 -춯 -춯 -춯 -춯 - -춰 -춰 -춰 -춰 -춰 - -춱 -춱 -춱 -춱 -춱 - -춲 -춲 -춲 -춲 -춲 - -춳 -춳 -춳 -춳 -춳 - -춴 -춴 -춴 -춴 -춴 - -춵 -춵 -춵 -춵 -춵 - -춶 -춶 -춶 -춶 -춶 - -춷 -춷 -춷 -춷 -춷 - -춸 -춸 -춸 -춸 -춸 - -춹 -춹 -춹 -춹 -춹 - -춺 -춺 -춺 -춺 -춺 - -춻 -춻 -춻 -춻 -춻 - -춼 -춼 -춼 -춼 -춼 - -춽 -춽 -춽 -춽 -춽 - -춾 -춾 -춾 -춾 -춾 - -춿 -춿 -춿 -춿 -춿 - -췀 -췀 -췀 -췀 -췀 - -췁 -췁 -췁 -췁 -췁 - -췂 -췂 -췂 -췂 -췂 - -췃 -췃 -췃 -췃 -췃 - -췄 -췄 -췄 -췄 -췄 - -췅 -췅 -췅 -췅 -췅 - -췆 -췆 -췆 -췆 -췆 - -췇 -췇 -췇 -췇 -췇 - -췈 -췈 -췈 -췈 -췈 - -췉 -췉 -췉 -췉 -췉 - -췊 -췊 -췊 -췊 -췊 - -췋 -췋 -췋 -췋 -췋 - -췌 -췌 -췌 -췌 -췌 - -췍 -췍 -췍 -췍 -췍 - -췎 -췎 -췎 -췎 -췎 - -췏 -췏 -췏 -췏 -췏 - -췐 -췐 -췐 -췐 -췐 - -췑 -췑 -췑 -췑 -췑 - -췒 -췒 -췒 -췒 -췒 - -췓 -췓 -췓 -췓 -췓 - -췔 -췔 -췔 -췔 -췔 - -췕 -췕 -췕 -췕 -췕 - -췖 -췖 -췖 -췖 -췖 - -췗 -췗 -췗 -췗 -췗 - -췘 -췘 -췘 -췘 -췘 - -췙 -췙 -췙 -췙 -췙 - -췚 -췚 -췚 -췚 -췚 - -췛 -췛 -췛 -췛 -췛 - -췜 -췜 -췜 -췜 -췜 - -췝 -췝 -췝 -췝 -췝 - -췞 -췞 -췞 -췞 -췞 - -췟 -췟 -췟 -췟 -췟 - -췠 -췠 -췠 -췠 -췠 - -췡 -췡 -췡 -췡 -췡 - -췢 -췢 -췢 -췢 -췢 - -췣 -췣 -췣 -췣 -췣 - -췤 -췤 -췤 -췤 -췤 - -췥 -췥 -췥 -췥 -췥 - -췦 -췦 -췦 -췦 -췦 - -췧 -췧 -췧 -췧 -췧 - -취 -취 -취 -취 -취 - -췩 -췩 -췩 -췩 -췩 - -췪 -췪 -췪 -췪 -췪 - -췫 -췫 -췫 -췫 -췫 - -췬 -췬 -췬 -췬 -췬 - -췭 -췭 -췭 -췭 -췭 - -췮 -췮 -췮 -췮 -췮 - -췯 -췯 -췯 -췯 -췯 - -췰 -췰 -췰 -췰 -췰 - -췱 -췱 -췱 -췱 -췱 - -췲 -췲 -췲 -췲 -췲 - -췳 -췳 -췳 -췳 -췳 - -췴 -췴 -췴 -췴 -췴 - -췵 -췵 -췵 -췵 -췵 - -췶 -췶 -췶 -췶 -췶 - -췷 -췷 -췷 -췷 -췷 - -췸 -췸 -췸 -췸 -췸 - -췹 -췹 -췹 -췹 -췹 - -췺 -췺 -췺 -췺 -췺 - -췻 -췻 -췻 -췻 -췻 - -췼 -췼 -췼 -췼 -췼 - -췽 -췽 -췽 -췽 -췽 - -췾 -췾 -췾 -췾 -췾 - -췿 -췿 -췿 -췿 -췿 - -츀 -츀 -츀 -츀 -츀 - -츁 -츁 -츁 -츁 -츁 - -츂 -츂 -츂 -츂 -츂 - -츃 -츃 -츃 -츃 -츃 - -츄 -츄 -츄 -츄 -츄 - -츅 -츅 -츅 -츅 -츅 - -츆 -츆 -츆 -츆 -츆 - -츇 -츇 -츇 -츇 -츇 - -츈 -츈 -츈 -츈 -츈 - -츉 -츉 -츉 -츉 -츉 - -츊 -츊 -츊 -츊 -츊 - -츋 -츋 -츋 -츋 -츋 - -츌 -츌 -츌 -츌 -츌 - -츍 -츍 -츍 -츍 -츍 - -츎 -츎 -츎 -츎 -츎 - -츏 -츏 -츏 -츏 -츏 - -츐 -츐 -츐 -츐 -츐 - -츑 -츑 -츑 -츑 -츑 - -츒 -츒 -츒 -츒 -츒 - -츓 -츓 -츓 -츓 -츓 - -츔 -츔 -츔 -츔 -츔 - -츕 -츕 -츕 -츕 -츕 - -츖 -츖 -츖 -츖 -츖 - -츗 -츗 -츗 -츗 -츗 - -츘 -츘 -츘 -츘 -츘 - -츙 -츙 -츙 -츙 -츙 - -츚 -츚 -츚 -츚 -츚 - -츛 -츛 -츛 -츛 -츛 - -츜 -츜 -츜 -츜 -츜 - -츝 -츝 -츝 -츝 -츝 - -츞 -츞 -츞 -츞 -츞 - -츟 -츟 -츟 -츟 -츟 - -츠 -츠 -츠 -츠 -츠 - -측 -측 -측 -측 -측 - -츢 -츢 -츢 -츢 -츢 - -츣 -츣 -츣 -츣 -츣 - -츤 -츤 -츤 -츤 -츤 - -츥 -츥 -츥 -츥 -츥 - -츦 -츦 -츦 -츦 -츦 - -츧 -츧 -츧 -츧 -츧 - -츨 -츨 -츨 -츨 -츨 - -츩 -츩 -츩 -츩 -츩 - -츪 -츪 -츪 -츪 -츪 - -츫 -츫 -츫 -츫 -츫 - -츬 -츬 -츬 -츬 -츬 - -츭 -츭 -츭 -츭 -츭 - -츮 -츮 -츮 -츮 -츮 - -츯 -츯 -츯 -츯 -츯 - -츰 -츰 -츰 -츰 -츰 - -츱 -츱 -츱 -츱 -츱 - -츲 -츲 -츲 -츲 -츲 - -츳 -츳 -츳 -츳 -츳 - -츴 -츴 -츴 -츴 -츴 - -층 -층 -층 -층 -층 - -츶 -츶 -츶 -츶 -츶 - -츷 -츷 -츷 -츷 -츷 - -츸 -츸 -츸 -츸 -츸 - -츹 -츹 -츹 -츹 -츹 - -츺 -츺 -츺 -츺 -츺 - -츻 -츻 -츻 -츻 -츻 - -츼 -츼 -츼 -츼 -츼 - -츽 -츽 -츽 -츽 -츽 - -츾 -츾 -츾 -츾 -츾 - -츿 -츿 -츿 -츿 -츿 - -칀 -칀 -칀 -칀 -칀 - -칁 -칁 -칁 -칁 -칁 - -칂 -칂 -칂 -칂 -칂 - -칃 -칃 -칃 -칃 -칃 - -칄 -칄 -칄 -칄 -칄 - -칅 -칅 -칅 -칅 -칅 - -칆 -칆 -칆 -칆 -칆 - -칇 -칇 -칇 -칇 -칇 - -칈 -칈 -칈 -칈 -칈 - -칉 -칉 -칉 -칉 -칉 - -칊 -칊 -칊 -칊 -칊 - -칋 -칋 -칋 -칋 -칋 - -칌 -칌 -칌 -칌 -칌 - -칍 -칍 -칍 -칍 -칍 - -칎 -칎 -칎 -칎 -칎 - -칏 -칏 -칏 -칏 -칏 - -칐 -칐 -칐 -칐 -칐 - -칑 -칑 -칑 -칑 -칑 - -칒 -칒 -칒 -칒 -칒 - -칓 -칓 -칓 -칓 -칓 - -칔 -칔 -칔 -칔 -칔 - -칕 -칕 -칕 -칕 -칕 - -칖 -칖 -칖 -칖 -칖 - -칗 -칗 -칗 -칗 -칗 - -치 -치 -치 -치 -치 - -칙 -칙 -칙 -칙 -칙 - -칚 -칚 -칚 -칚 -칚 - -칛 -칛 -칛 -칛 -칛 - -친 -친 -친 -친 -친 - -칝 -칝 -칝 -칝 -칝 - -칞 -칞 -칞 -칞 -칞 - -칟 -칟 -칟 -칟 -칟 - -칠 -칠 -칠 -칠 -칠 - -칡 -칡 -칡 -칡 -칡 - -칢 -칢 -칢 -칢 -칢 - -칣 -칣 -칣 -칣 -칣 - -칤 -칤 -칤 -칤 -칤 - -칥 -칥 -칥 -칥 -칥 - -칦 -칦 -칦 -칦 -칦 - -칧 -칧 -칧 -칧 -칧 - -침 -침 -침 -침 -침 - -칩 -칩 -칩 -칩 -칩 - -칪 -칪 -칪 -칪 -칪 - -칫 -칫 -칫 -칫 -칫 - -칬 -칬 -칬 -칬 -칬 - -칭 -칭 -칭 -칭 -칭 - -칮 -칮 -칮 -칮 -칮 - -칯 -칯 -칯 -칯 -칯 - -칰 -칰 -칰 -칰 -칰 - -칱 -칱 -칱 -칱 -칱 - -칲 -칲 -칲 -칲 -칲 - -칳 -칳 -칳 -칳 -칳 - -카 -카 -카 -카 -카 - -칵 -칵 -칵 -칵 -칵 - -칶 -칶 -칶 -칶 -칶 - -칷 -칷 -칷 -칷 -칷 - -칸 -칸 -칸 -칸 -칸 - -칹 -칹 -칹 -칹 -칹 - -칺 -칺 -칺 -칺 -칺 - -칻 -칻 -칻 -칻 -칻 - -칼 -칼 -칼 -칼 -칼 - -칽 -칽 -칽 -칽 -칽 - -칾 -칾 -칾 -칾 -칾 - -칿 -칿 -칿 -칿 -칿 - -캀 -캀 -캀 -캀 -캀 - -캁 -캁 -캁 -캁 -캁 - -캂 -캂 -캂 -캂 -캂 - -캃 -캃 -캃 -캃 -캃 - -캄 -캄 -캄 -캄 -캄 - -캅 -캅 -캅 -캅 -캅 - -캆 -캆 -캆 -캆 -캆 - -캇 -캇 -캇 -캇 -캇 - -캈 -캈 -캈 -캈 -캈 - -캉 -캉 -캉 -캉 -캉 - -캊 -캊 -캊 -캊 -캊 - -캋 -캋 -캋 -캋 -캋 - -캌 -캌 -캌 -캌 -캌 - -캍 -캍 -캍 -캍 -캍 - -캎 -캎 -캎 -캎 -캎 - -캏 -캏 -캏 -캏 -캏 - -캐 -캐 -캐 -캐 -캐 - -캑 -캑 -캑 -캑 -캑 - -캒 -캒 -캒 -캒 -캒 - -캓 -캓 -캓 -캓 -캓 - -캔 -캔 -캔 -캔 -캔 - -캕 -캕 -캕 -캕 -캕 - -캖 -캖 -캖 -캖 -캖 - -캗 -캗 -캗 -캗 -캗 - -캘 -캘 -캘 -캘 -캘 - -캙 -캙 -캙 -캙 -캙 - -캚 -캚 -캚 -캚 -캚 - -캛 -캛 -캛 -캛 -캛 - -캜 -캜 -캜 -캜 -캜 - -캝 -캝 -캝 -캝 -캝 - -캞 -캞 -캞 -캞 -캞 - -캟 -캟 -캟 -캟 -캟 - -캠 -캠 -캠 -캠 -캠 - -캡 -캡 -캡 -캡 -캡 - -캢 -캢 -캢 -캢 -캢 - -캣 -캣 -캣 -캣 -캣 - -캤 -캤 -캤 -캤 -캤 - -캥 -캥 -캥 -캥 -캥 - -캦 -캦 -캦 -캦 -캦 - -캧 -캧 -캧 -캧 -캧 - -캨 -캨 -캨 -캨 -캨 - -캩 -캩 -캩 -캩 -캩 - -캪 -캪 -캪 -캪 -캪 - -캫 -캫 -캫 -캫 -캫 - -캬 -캬 -캬 -캬 -캬 - -캭 -캭 -캭 -캭 -캭 - -캮 -캮 -캮 -캮 -캮 - -캯 -캯 -캯 -캯 -캯 - -캰 -캰 -캰 -캰 -캰 - -캱 -캱 -캱 -캱 -캱 - -캲 -캲 -캲 -캲 -캲 - -캳 -캳 -캳 -캳 -캳 - -캴 -캴 -캴 -캴 -캴 - -캵 -캵 -캵 -캵 -캵 - -캶 -캶 -캶 -캶 -캶 - -캷 -캷 -캷 -캷 -캷 - -캸 -캸 -캸 -캸 -캸 - -캹 -캹 -캹 -캹 -캹 - -캺 -캺 -캺 -캺 -캺 - -캻 -캻 -캻 -캻 -캻 - -캼 -캼 -캼 -캼 -캼 - -캽 -캽 -캽 -캽 -캽 - -캾 -캾 -캾 -캾 -캾 - -캿 -캿 -캿 -캿 -캿 - -컀 -컀 -컀 -컀 -컀 - -컁 -컁 -컁 -컁 -컁 - -컂 -컂 -컂 -컂 -컂 - -컃 -컃 -컃 -컃 -컃 - -컄 -컄 -컄 -컄 -컄 - -컅 -컅 -컅 -컅 -컅 - -컆 -컆 -컆 -컆 -컆 - -컇 -컇 -컇 -컇 -컇 - -컈 -컈 -컈 -컈 -컈 - -컉 -컉 -컉 -컉 -컉 - -컊 -컊 -컊 -컊 -컊 - -컋 -컋 -컋 -컋 -컋 - -컌 -컌 -컌 -컌 -컌 - -컍 -컍 -컍 -컍 -컍 - -컎 -컎 -컎 -컎 -컎 - -컏 -컏 -컏 -컏 -컏 - -컐 -컐 -컐 -컐 -컐 - -컑 -컑 -컑 -컑 -컑 - -컒 -컒 -컒 -컒 -컒 - -컓 -컓 -컓 -컓 -컓 - -컔 -컔 -컔 -컔 -컔 - -컕 -컕 -컕 -컕 -컕 - -컖 -컖 -컖 -컖 -컖 - -컗 -컗 -컗 -컗 -컗 - -컘 -컘 -컘 -컘 -컘 - -컙 -컙 -컙 -컙 -컙 - -컚 -컚 -컚 -컚 -컚 - -컛 -컛 -컛 -컛 -컛 - -컜 -컜 -컜 -컜 -컜 - -컝 -컝 -컝 -컝 -컝 - -컞 -컞 -컞 -컞 -컞 - -컟 -컟 -컟 -컟 -컟 - -컠 -컠 -컠 -컠 -컠 - -컡 -컡 -컡 -컡 -컡 - -컢 -컢 -컢 -컢 -컢 - -컣 -컣 -컣 -컣 -컣 - -커 -커 -커 -커 -커 - -컥 -컥 -컥 -컥 -컥 - -컦 -컦 -컦 -컦 -컦 - -컧 -컧 -컧 -컧 -컧 - -컨 -컨 -컨 -컨 -컨 - -컩 -컩 -컩 -컩 -컩 - -컪 -컪 -컪 -컪 -컪 - -컫 -컫 -컫 -컫 -컫 - -컬 -컬 -컬 -컬 -컬 - -컭 -컭 -컭 -컭 -컭 - -컮 -컮 -컮 -컮 -컮 - -컯 -컯 -컯 -컯 -컯 - -컰 -컰 -컰 -컰 -컰 - -컱 -컱 -컱 -컱 -컱 - -컲 -컲 -컲 -컲 -컲 - -컳 -컳 -컳 -컳 -컳 - -컴 -컴 -컴 -컴 -컴 - -컵 -컵 -컵 -컵 -컵 - -컶 -컶 -컶 -컶 -컶 - -컷 -컷 -컷 -컷 -컷 - -컸 -컸 -컸 -컸 -컸 - -컹 -컹 -컹 -컹 -컹 - -컺 -컺 -컺 -컺 -컺 - -컻 -컻 -컻 -컻 -컻 - -컼 -컼 -컼 -컼 -컼 - -컽 -컽 -컽 -컽 -컽 - -컾 -컾 -컾 -컾 -컾 - -컿 -컿 -컿 -컿 -컿 - -케 -케 -케 -케 -케 - -켁 -켁 -켁 -켁 -켁 - -켂 -켂 -켂 -켂 -켂 - -켃 -켃 -켃 -켃 -켃 - -켄 -켄 -켄 -켄 -켄 - -켅 -켅 -켅 -켅 -켅 - -켆 -켆 -켆 -켆 -켆 - -켇 -켇 -켇 -켇 -켇 - -켈 -켈 -켈 -켈 -켈 - -켉 -켉 -켉 -켉 -켉 - -켊 -켊 -켊 -켊 -켊 - -켋 -켋 -켋 -켋 -켋 - -켌 -켌 -켌 -켌 -켌 - -켍 -켍 -켍 -켍 -켍 - -켎 -켎 -켎 -켎 -켎 - -켏 -켏 -켏 -켏 -켏 - -켐 -켐 -켐 -켐 -켐 - -켑 -켑 -켑 -켑 -켑 - -켒 -켒 -켒 -켒 -켒 - -켓 -켓 -켓 -켓 -켓 - -켔 -켔 -켔 -켔 -켔 - -켕 -켕 -켕 -켕 -켕 - -켖 -켖 -켖 -켖 -켖 - -켗 -켗 -켗 -켗 -켗 - -켘 -켘 -켘 -켘 -켘 - -켙 -켙 -켙 -켙 -켙 - -켚 -켚 -켚 -켚 -켚 - -켛 -켛 -켛 -켛 -켛 - -켜 -켜 -켜 -켜 -켜 - -켝 -켝 -켝 -켝 -켝 - -켞 -켞 -켞 -켞 -켞 - -켟 -켟 -켟 -켟 -켟 - -켠 -켠 -켠 -켠 -켠 - -켡 -켡 -켡 -켡 -켡 - -켢 -켢 -켢 -켢 -켢 - -켣 -켣 -켣 -켣 -켣 - -켤 -켤 -켤 -켤 -켤 - -켥 -켥 -켥 -켥 -켥 - -켦 -켦 -켦 -켦 -켦 - -켧 -켧 -켧 -켧 -켧 - -켨 -켨 -켨 -켨 -켨 - -켩 -켩 -켩 -켩 -켩 - -켪 -켪 -켪 -켪 -켪 - -켫 -켫 -켫 -켫 -켫 - -켬 -켬 -켬 -켬 -켬 - -켭 -켭 -켭 -켭 -켭 - -켮 -켮 -켮 -켮 -켮 - -켯 -켯 -켯 -켯 -켯 - -켰 -켰 -켰 -켰 -켰 - -켱 -켱 -켱 -켱 -켱 - -켲 -켲 -켲 -켲 -켲 - -켳 -켳 -켳 -켳 -켳 - -켴 -켴 -켴 -켴 -켴 - -켵 -켵 -켵 -켵 -켵 - -켶 -켶 -켶 -켶 -켶 - -켷 -켷 -켷 -켷 -켷 - -켸 -켸 -켸 -켸 -켸 - -켹 -켹 -켹 -켹 -켹 - -켺 -켺 -켺 -켺 -켺 - -켻 -켻 -켻 -켻 -켻 - -켼 -켼 -켼 -켼 -켼 - -켽 -켽 -켽 -켽 -켽 - -켾 -켾 -켾 -켾 -켾 - -켿 -켿 -켿 -켿 -켿 - -콀 -콀 -콀 -콀 -콀 - -콁 -콁 -콁 -콁 -콁 - -콂 -콂 -콂 -콂 -콂 - -콃 -콃 -콃 -콃 -콃 - -콄 -콄 -콄 -콄 -콄 - -콅 -콅 -콅 -콅 -콅 - -콆 -콆 -콆 -콆 -콆 - -콇 -콇 -콇 -콇 -콇 - -콈 -콈 -콈 -콈 -콈 - -콉 -콉 -콉 -콉 -콉 - -콊 -콊 -콊 -콊 -콊 - -콋 -콋 -콋 -콋 -콋 - -콌 -콌 -콌 -콌 -콌 - -콍 -콍 -콍 -콍 -콍 - -콎 -콎 -콎 -콎 -콎 - -콏 -콏 -콏 -콏 -콏 - -콐 -콐 -콐 -콐 -콐 - -콑 -콑 -콑 -콑 -콑 - -콒 -콒 -콒 -콒 -콒 - -콓 -콓 -콓 -콓 -콓 - -코 -코 -코 -코 -코 - -콕 -콕 -콕 -콕 -콕 - -콖 -콖 -콖 -콖 -콖 - -콗 -콗 -콗 -콗 -콗 - -콘 -콘 -콘 -콘 -콘 - -콙 -콙 -콙 -콙 -콙 - -콚 -콚 -콚 -콚 -콚 - -콛 -콛 -콛 -콛 -콛 - -콜 -콜 -콜 -콜 -콜 - -콝 -콝 -콝 -콝 -콝 - -콞 -콞 -콞 -콞 -콞 - -콟 -콟 -콟 -콟 -콟 - -콠 -콠 -콠 -콠 -콠 - -콡 -콡 -콡 -콡 -콡 - -콢 -콢 -콢 -콢 -콢 - -콣 -콣 -콣 -콣 -콣 - -콤 -콤 -콤 -콤 -콤 - -콥 -콥 -콥 -콥 -콥 - -콦 -콦 -콦 -콦 -콦 - -콧 -콧 -콧 -콧 -콧 - -콨 -콨 -콨 -콨 -콨 - -콩 -콩 -콩 -콩 -콩 - -콪 -콪 -콪 -콪 -콪 - -콫 -콫 -콫 -콫 -콫 - -콬 -콬 -콬 -콬 -콬 - -콭 -콭 -콭 -콭 -콭 - -콮 -콮 -콮 -콮 -콮 - -콯 -콯 -콯 -콯 -콯 - -콰 -콰 -콰 -콰 -콰 - -콱 -콱 -콱 -콱 -콱 - -콲 -콲 -콲 -콲 -콲 - -콳 -콳 -콳 -콳 -콳 - -콴 -콴 -콴 -콴 -콴 - -콵 -콵 -콵 -콵 -콵 - -콶 -콶 -콶 -콶 -콶 - -콷 -콷 -콷 -콷 -콷 - -콸 -콸 -콸 -콸 -콸 - -콹 -콹 -콹 -콹 -콹 - -콺 -콺 -콺 -콺 -콺 - -콻 -콻 -콻 -콻 -콻 - -콼 -콼 -콼 -콼 -콼 - -콽 -콽 -콽 -콽 -콽 - -콾 -콾 -콾 -콾 -콾 - -콿 -콿 -콿 -콿 -콿 - -쾀 -쾀 -쾀 -쾀 -쾀 - -쾁 -쾁 -쾁 -쾁 -쾁 - -쾂 -쾂 -쾂 -쾂 -쾂 - -쾃 -쾃 -쾃 -쾃 -쾃 - -쾄 -쾄 -쾄 -쾄 -쾄 - -쾅 -쾅 -쾅 -쾅 -쾅 - -쾆 -쾆 -쾆 -쾆 -쾆 - -쾇 -쾇 -쾇 -쾇 -쾇 - -쾈 -쾈 -쾈 -쾈 -쾈 - -쾉 -쾉 -쾉 -쾉 -쾉 - -쾊 -쾊 -쾊 -쾊 -쾊 - -쾋 -쾋 -쾋 -쾋 -쾋 - -쾌 -쾌 -쾌 -쾌 -쾌 - -쾍 -쾍 -쾍 -쾍 -쾍 - -쾎 -쾎 -쾎 -쾎 -쾎 - -쾏 -쾏 -쾏 -쾏 -쾏 - -쾐 -쾐 -쾐 -쾐 -쾐 - -쾑 -쾑 -쾑 -쾑 -쾑 - -쾒 -쾒 -쾒 -쾒 -쾒 - -쾓 -쾓 -쾓 -쾓 -쾓 - -쾔 -쾔 -쾔 -쾔 -쾔 - -쾕 -쾕 -쾕 -쾕 -쾕 - -쾖 -쾖 -쾖 -쾖 -쾖 - -쾗 -쾗 -쾗 -쾗 -쾗 - -쾘 -쾘 -쾘 -쾘 -쾘 - -쾙 -쾙 -쾙 -쾙 -쾙 - -쾚 -쾚 -쾚 -쾚 -쾚 - -쾛 -쾛 -쾛 -쾛 -쾛 - -쾜 -쾜 -쾜 -쾜 -쾜 - -쾝 -쾝 -쾝 -쾝 -쾝 - -쾞 -쾞 -쾞 -쾞 -쾞 - -쾟 -쾟 -쾟 -쾟 -쾟 - -쾠 -쾠 -쾠 -쾠 -쾠 - -쾡 -쾡 -쾡 -쾡 -쾡 - -쾢 -쾢 -쾢 -쾢 -쾢 - -쾣 -쾣 -쾣 -쾣 -쾣 - -쾤 -쾤 -쾤 -쾤 -쾤 - -쾥 -쾥 -쾥 -쾥 -쾥 - -쾦 -쾦 -쾦 -쾦 -쾦 - -쾧 -쾧 -쾧 -쾧 -쾧 - -쾨 -쾨 -쾨 -쾨 -쾨 - -쾩 -쾩 -쾩 -쾩 -쾩 - -쾪 -쾪 -쾪 -쾪 -쾪 - -쾫 -쾫 -쾫 -쾫 -쾫 - -쾬 -쾬 -쾬 -쾬 -쾬 - -쾭 -쾭 -쾭 -쾭 -쾭 - -쾮 -쾮 -쾮 -쾮 -쾮 - -쾯 -쾯 -쾯 -쾯 -쾯 - -쾰 -쾰 -쾰 -쾰 -쾰 - -쾱 -쾱 -쾱 -쾱 -쾱 - -쾲 -쾲 -쾲 -쾲 -쾲 - -쾳 -쾳 -쾳 -쾳 -쾳 - -쾴 -쾴 -쾴 -쾴 -쾴 - -쾵 -쾵 -쾵 -쾵 -쾵 - -쾶 -쾶 -쾶 -쾶 -쾶 - -쾷 -쾷 -쾷 -쾷 -쾷 - -쾸 -쾸 -쾸 -쾸 -쾸 - -쾹 -쾹 -쾹 -쾹 -쾹 - -쾺 -쾺 -쾺 -쾺 -쾺 - -쾻 -쾻 -쾻 -쾻 -쾻 - -쾼 -쾼 -쾼 -쾼 -쾼 - -쾽 -쾽 -쾽 -쾽 -쾽 - -쾾 -쾾 -쾾 -쾾 -쾾 - -쾿 -쾿 -쾿 -쾿 -쾿 - -쿀 -쿀 -쿀 -쿀 -쿀 - -쿁 -쿁 -쿁 -쿁 -쿁 - -쿂 -쿂 -쿂 -쿂 -쿂 - -쿃 -쿃 -쿃 -쿃 -쿃 - -쿄 -쿄 -쿄 -쿄 -쿄 - -쿅 -쿅 -쿅 -쿅 -쿅 - -쿆 -쿆 -쿆 -쿆 -쿆 - -쿇 -쿇 -쿇 -쿇 -쿇 - -쿈 -쿈 -쿈 -쿈 -쿈 - -쿉 -쿉 -쿉 -쿉 -쿉 - -쿊 -쿊 -쿊 -쿊 -쿊 - -쿋 -쿋 -쿋 -쿋 -쿋 - -쿌 -쿌 -쿌 -쿌 -쿌 - -쿍 -쿍 -쿍 -쿍 -쿍 - -쿎 -쿎 -쿎 -쿎 -쿎 - -쿏 -쿏 -쿏 -쿏 -쿏 - -쿐 -쿐 -쿐 -쿐 -쿐 - -쿑 -쿑 -쿑 -쿑 -쿑 - -쿒 -쿒 -쿒 -쿒 -쿒 - -쿓 -쿓 -쿓 -쿓 -쿓 - -쿔 -쿔 -쿔 -쿔 -쿔 - -쿕 -쿕 -쿕 -쿕 -쿕 - -쿖 -쿖 -쿖 -쿖 -쿖 - -쿗 -쿗 -쿗 -쿗 -쿗 - -쿘 -쿘 -쿘 -쿘 -쿘 - -쿙 -쿙 -쿙 -쿙 -쿙 - -쿚 -쿚 -쿚 -쿚 -쿚 - -쿛 -쿛 -쿛 -쿛 -쿛 - -쿜 -쿜 -쿜 -쿜 -쿜 - -쿝 -쿝 -쿝 -쿝 -쿝 - -쿞 -쿞 -쿞 -쿞 -쿞 - -쿟 -쿟 -쿟 -쿟 -쿟 - -쿠 -쿠 -쿠 -쿠 -쿠 - -쿡 -쿡 -쿡 -쿡 -쿡 - -쿢 -쿢 -쿢 -쿢 -쿢 - -쿣 -쿣 -쿣 -쿣 -쿣 - -쿤 -쿤 -쿤 -쿤 -쿤 - -쿥 -쿥 -쿥 -쿥 -쿥 - -쿦 -쿦 -쿦 -쿦 -쿦 - -쿧 -쿧 -쿧 -쿧 -쿧 - -쿨 -쿨 -쿨 -쿨 -쿨 - -쿩 -쿩 -쿩 -쿩 -쿩 - -쿪 -쿪 -쿪 -쿪 -쿪 - -쿫 -쿫 -쿫 -쿫 -쿫 - -쿬 -쿬 -쿬 -쿬 -쿬 - -쿭 -쿭 -쿭 -쿭 -쿭 - -쿮 -쿮 -쿮 -쿮 -쿮 - -쿯 -쿯 -쿯 -쿯 -쿯 - -쿰 -쿰 -쿰 -쿰 -쿰 - -쿱 -쿱 -쿱 -쿱 -쿱 - -쿲 -쿲 -쿲 -쿲 -쿲 - -쿳 -쿳 -쿳 -쿳 -쿳 - -쿴 -쿴 -쿴 -쿴 -쿴 - -쿵 -쿵 -쿵 -쿵 -쿵 - -쿶 -쿶 -쿶 -쿶 -쿶 - -쿷 -쿷 -쿷 -쿷 -쿷 - -쿸 -쿸 -쿸 -쿸 -쿸 - -쿹 -쿹 -쿹 -쿹 -쿹 - -쿺 -쿺 -쿺 -쿺 -쿺 - -쿻 -쿻 -쿻 -쿻 -쿻 - -쿼 -쿼 -쿼 -쿼 -쿼 - -쿽 -쿽 -쿽 -쿽 -쿽 - -쿾 -쿾 -쿾 -쿾 -쿾 - -쿿 -쿿 -쿿 -쿿 -쿿 - -퀀 -퀀 -퀀 -퀀 -퀀 - -퀁 -퀁 -퀁 -퀁 -퀁 - -퀂 -퀂 -퀂 -퀂 -퀂 - -퀃 -퀃 -퀃 -퀃 -퀃 - -퀄 -퀄 -퀄 -퀄 -퀄 - -퀅 -퀅 -퀅 -퀅 -퀅 - -퀆 -퀆 -퀆 -퀆 -퀆 - -퀇 -퀇 -퀇 -퀇 -퀇 - -퀈 -퀈 -퀈 -퀈 -퀈 - -퀉 -퀉 -퀉 -퀉 -퀉 - -퀊 -퀊 -퀊 -퀊 -퀊 - -퀋 -퀋 -퀋 -퀋 -퀋 - -퀌 -퀌 -퀌 -퀌 -퀌 - -퀍 -퀍 -퀍 -퀍 -퀍 - -퀎 -퀎 -퀎 -퀎 -퀎 - -퀏 -퀏 -퀏 -퀏 -퀏 - -퀐 -퀐 -퀐 -퀐 -퀐 - -퀑 -퀑 -퀑 -퀑 -퀑 - -퀒 -퀒 -퀒 -퀒 -퀒 - -퀓 -퀓 -퀓 -퀓 -퀓 - -퀔 -퀔 -퀔 -퀔 -퀔 - -퀕 -퀕 -퀕 -퀕 -퀕 - -퀖 -퀖 -퀖 -퀖 -퀖 - -퀗 -퀗 -퀗 -퀗 -퀗 - -퀘 -퀘 -퀘 -퀘 -퀘 - -퀙 -퀙 -퀙 -퀙 -퀙 - -퀚 -퀚 -퀚 -퀚 -퀚 - -퀛 -퀛 -퀛 -퀛 -퀛 - -퀜 -퀜 -퀜 -퀜 -퀜 - -퀝 -퀝 -퀝 -퀝 -퀝 - -퀞 -퀞 -퀞 -퀞 -퀞 - -퀟 -퀟 -퀟 -퀟 -퀟 - -퀠 -퀠 -퀠 -퀠 -퀠 - -퀡 -퀡 -퀡 -퀡 -퀡 - -퀢 -퀢 -퀢 -퀢 -퀢 - -퀣 -퀣 -퀣 -퀣 -퀣 - -퀤 -퀤 -퀤 -퀤 -퀤 - -퀥 -퀥 -퀥 -퀥 -퀥 - -퀦 -퀦 -퀦 -퀦 -퀦 - -퀧 -퀧 -퀧 -퀧 -퀧 - -퀨 -퀨 -퀨 -퀨 -퀨 - -퀩 -퀩 -퀩 -퀩 -퀩 - -퀪 -퀪 -퀪 -퀪 -퀪 - -퀫 -퀫 -퀫 -퀫 -퀫 - -퀬 -퀬 -퀬 -퀬 -퀬 - -퀭 -퀭 -퀭 -퀭 -퀭 - -퀮 -퀮 -퀮 -퀮 -퀮 - -퀯 -퀯 -퀯 -퀯 -퀯 - -퀰 -퀰 -퀰 -퀰 -퀰 - -퀱 -퀱 -퀱 -퀱 -퀱 - -퀲 -퀲 -퀲 -퀲 -퀲 - -퀳 -퀳 -퀳 -퀳 -퀳 - -퀴 -퀴 -퀴 -퀴 -퀴 - -퀵 -퀵 -퀵 -퀵 -퀵 - -퀶 -퀶 -퀶 -퀶 -퀶 - -퀷 -퀷 -퀷 -퀷 -퀷 - -퀸 -퀸 -퀸 -퀸 -퀸 - -퀹 -퀹 -퀹 -퀹 -퀹 - -퀺 -퀺 -퀺 -퀺 -퀺 - -퀻 -퀻 -퀻 -퀻 -퀻 - -퀼 -퀼 -퀼 -퀼 -퀼 - -퀽 -퀽 -퀽 -퀽 -퀽 - -퀾 -퀾 -퀾 -퀾 -퀾 - -퀿 -퀿 -퀿 -퀿 -퀿 - -큀 -큀 -큀 -큀 -큀 - -큁 -큁 -큁 -큁 -큁 - -큂 -큂 -큂 -큂 -큂 - -큃 -큃 -큃 -큃 -큃 - -큄 -큄 -큄 -큄 -큄 - -큅 -큅 -큅 -큅 -큅 - -큆 -큆 -큆 -큆 -큆 - -큇 -큇 -큇 -큇 -큇 - -큈 -큈 -큈 -큈 -큈 - -큉 -큉 -큉 -큉 -큉 - -큊 -큊 -큊 -큊 -큊 - -큋 -큋 -큋 -큋 -큋 - -큌 -큌 -큌 -큌 -큌 - -큍 -큍 -큍 -큍 -큍 - -큎 -큎 -큎 -큎 -큎 - -큏 -큏 -큏 -큏 -큏 - -큐 -큐 -큐 -큐 -큐 - -큑 -큑 -큑 -큑 -큑 - -큒 -큒 -큒 -큒 -큒 - -큓 -큓 -큓 -큓 -큓 - -큔 -큔 -큔 -큔 -큔 - -큕 -큕 -큕 -큕 -큕 - -큖 -큖 -큖 -큖 -큖 - -큗 -큗 -큗 -큗 -큗 - -큘 -큘 -큘 -큘 -큘 - -큙 -큙 -큙 -큙 -큙 - -큚 -큚 -큚 -큚 -큚 - -큛 -큛 -큛 -큛 -큛 - -큜 -큜 -큜 -큜 -큜 - -큝 -큝 -큝 -큝 -큝 - -큞 -큞 -큞 -큞 -큞 - -큟 -큟 -큟 -큟 -큟 - -큠 -큠 -큠 -큠 -큠 - -큡 -큡 -큡 -큡 -큡 - -큢 -큢 -큢 -큢 -큢 - -큣 -큣 -큣 -큣 -큣 - -큤 -큤 -큤 -큤 -큤 - -큥 -큥 -큥 -큥 -큥 - -큦 -큦 -큦 -큦 -큦 - -큧 -큧 -큧 -큧 -큧 - -큨 -큨 -큨 -큨 -큨 - -큩 -큩 -큩 -큩 -큩 - -큪 -큪 -큪 -큪 -큪 - -큫 -큫 -큫 -큫 -큫 - -크 -크 -크 -크 -크 - -큭 -큭 -큭 -큭 -큭 - -큮 -큮 -큮 -큮 -큮 - -큯 -큯 -큯 -큯 -큯 - -큰 -큰 -큰 -큰 -큰 - -큱 -큱 -큱 -큱 -큱 - -큲 -큲 -큲 -큲 -큲 - -큳 -큳 -큳 -큳 -큳 - -클 -클 -클 -클 -클 - -큵 -큵 -큵 -큵 -큵 - -큶 -큶 -큶 -큶 -큶 - -큷 -큷 -큷 -큷 -큷 - -큸 -큸 -큸 -큸 -큸 - -큹 -큹 -큹 -큹 -큹 - -큺 -큺 -큺 -큺 -큺 - -큻 -큻 -큻 -큻 -큻 - -큼 -큼 -큼 -큼 -큼 - -큽 -큽 -큽 -큽 -큽 - -큾 -큾 -큾 -큾 -큾 - -큿 -큿 -큿 -큿 -큿 - -킀 -킀 -킀 -킀 -킀 - -킁 -킁 -킁 -킁 -킁 - -킂 -킂 -킂 -킂 -킂 - -킃 -킃 -킃 -킃 -킃 - -킄 -킄 -킄 -킄 -킄 - -킅 -킅 -킅 -킅 -킅 - -킆 -킆 -킆 -킆 -킆 - -킇 -킇 -킇 -킇 -킇 - -킈 -킈 -킈 -킈 -킈 - -킉 -킉 -킉 -킉 -킉 - -킊 -킊 -킊 -킊 -킊 - -킋 -킋 -킋 -킋 -킋 - -킌 -킌 -킌 -킌 -킌 - -킍 -킍 -킍 -킍 -킍 - -킎 -킎 -킎 -킎 -킎 - -킏 -킏 -킏 -킏 -킏 - -킐 -킐 -킐 -킐 -킐 - -킑 -킑 -킑 -킑 -킑 - -킒 -킒 -킒 -킒 -킒 - -킓 -킓 -킓 -킓 -킓 - -킔 -킔 -킔 -킔 -킔 - -킕 -킕 -킕 -킕 -킕 - -킖 -킖 -킖 -킖 -킖 - -킗 -킗 -킗 -킗 -킗 - -킘 -킘 -킘 -킘 -킘 - -킙 -킙 -킙 -킙 -킙 - -킚 -킚 -킚 -킚 -킚 - -킛 -킛 -킛 -킛 -킛 - -킜 -킜 -킜 -킜 -킜 - -킝 -킝 -킝 -킝 -킝 - -킞 -킞 -킞 -킞 -킞 - -킟 -킟 -킟 -킟 -킟 - -킠 -킠 -킠 -킠 -킠 - -킡 -킡 -킡 -킡 -킡 - -킢 -킢 -킢 -킢 -킢 - -킣 -킣 -킣 -킣 -킣 - -키 -키 -키 -키 -키 - -킥 -킥 -킥 -킥 -킥 - -킦 -킦 -킦 -킦 -킦 - -킧 -킧 -킧 -킧 -킧 - -킨 -킨 -킨 -킨 -킨 - -킩 -킩 -킩 -킩 -킩 - -킪 -킪 -킪 -킪 -킪 - -킫 -킫 -킫 -킫 -킫 - -킬 -킬 -킬 -킬 -킬 - -킭 -킭 -킭 -킭 -킭 - -킮 -킮 -킮 -킮 -킮 - -킯 -킯 -킯 -킯 -킯 - -킰 -킰 -킰 -킰 -킰 - -킱 -킱 -킱 -킱 -킱 - -킲 -킲 -킲 -킲 -킲 - -킳 -킳 -킳 -킳 -킳 - -킴 -킴 -킴 -킴 -킴 - -킵 -킵 -킵 -킵 -킵 - -킶 -킶 -킶 -킶 -킶 - -킷 -킷 -킷 -킷 -킷 - -킸 -킸 -킸 -킸 -킸 - -킹 -킹 -킹 -킹 -킹 - -킺 -킺 -킺 -킺 -킺 - -킻 -킻 -킻 -킻 -킻 - -킼 -킼 -킼 -킼 -킼 - -킽 -킽 -킽 -킽 -킽 - -킾 -킾 -킾 -킾 -킾 - -킿 -킿 -킿 -킿 -킿 - -타 -타 -타 -타 -타 - -탁 -탁 -탁 -탁 -탁 - -탂 -탂 -탂 -탂 -탂 - -탃 -탃 -탃 -탃 -탃 - -탄 -탄 -탄 -탄 -탄 - -탅 -탅 -탅 -탅 -탅 - -탆 -탆 -탆 -탆 -탆 - -탇 -탇 -탇 -탇 -탇 - -탈 -탈 -탈 -탈 -탈 - -탉 -탉 -탉 -탉 -탉 - -탊 -탊 -탊 -탊 -탊 - -탋 -탋 -탋 -탋 -탋 - -탌 -탌 -탌 -탌 -탌 - -탍 -탍 -탍 -탍 -탍 - -탎 -탎 -탎 -탎 -탎 - -탏 -탏 -탏 -탏 -탏 - -탐 -탐 -탐 -탐 -탐 - -탑 -탑 -탑 -탑 -탑 - -탒 -탒 -탒 -탒 -탒 - -탓 -탓 -탓 -탓 -탓 - -탔 -탔 -탔 -탔 -탔 - -탕 -탕 -탕 -탕 -탕 - -탖 -탖 -탖 -탖 -탖 - -탗 -탗 -탗 -탗 -탗 - -탘 -탘 -탘 -탘 -탘 - -탙 -탙 -탙 -탙 -탙 - -탚 -탚 -탚 -탚 -탚 - -탛 -탛 -탛 -탛 -탛 - -태 -태 -태 -태 -태 - -택 -택 -택 -택 -택 - -탞 -탞 -탞 -탞 -탞 - -탟 -탟 -탟 -탟 -탟 - -탠 -탠 -탠 -탠 -탠 - -탡 -탡 -탡 -탡 -탡 - -탢 -탢 -탢 -탢 -탢 - -탣 -탣 -탣 -탣 -탣 - -탤 -탤 -탤 -탤 -탤 - -탥 -탥 -탥 -탥 -탥 - -탦 -탦 -탦 -탦 -탦 - -탧 -탧 -탧 -탧 -탧 - -탨 -탨 -탨 -탨 -탨 - -탩 -탩 -탩 -탩 -탩 - -탪 -탪 -탪 -탪 -탪 - -탫 -탫 -탫 -탫 -탫 - -탬 -탬 -탬 -탬 -탬 - -탭 -탭 -탭 -탭 -탭 - -탮 -탮 -탮 -탮 -탮 - -탯 -탯 -탯 -탯 -탯 - -탰 -탰 -탰 -탰 -탰 - -탱 -탱 -탱 -탱 -탱 - -탲 -탲 -탲 -탲 -탲 - -탳 -탳 -탳 -탳 -탳 - -탴 -탴 -탴 -탴 -탴 - -탵 -탵 -탵 -탵 -탵 - -탶 -탶 -탶 -탶 -탶 - -탷 -탷 -탷 -탷 -탷 - -탸 -탸 -탸 -탸 -탸 - -탹 -탹 -탹 -탹 -탹 - -탺 -탺 -탺 -탺 -탺 - -탻 -탻 -탻 -탻 -탻 - -탼 -탼 -탼 -탼 -탼 - -탽 -탽 -탽 -탽 -탽 - -탾 -탾 -탾 -탾 -탾 - -탿 -탿 -탿 -탿 -탿 - -턀 -턀 -턀 -턀 -턀 - -턁 -턁 -턁 -턁 -턁 - -턂 -턂 -턂 -턂 -턂 - -턃 -턃 -턃 -턃 -턃 - -턄 -턄 -턄 -턄 -턄 - -턅 -턅 -턅 -턅 -턅 - -턆 -턆 -턆 -턆 -턆 - -턇 -턇 -턇 -턇 -턇 - -턈 -턈 -턈 -턈 -턈 - -턉 -턉 -턉 -턉 -턉 - -턊 -턊 -턊 -턊 -턊 - -턋 -턋 -턋 -턋 -턋 - -턌 -턌 -턌 -턌 -턌 - -턍 -턍 -턍 -턍 -턍 - -턎 -턎 -턎 -턎 -턎 - -턏 -턏 -턏 -턏 -턏 - -턐 -턐 -턐 -턐 -턐 - -턑 -턑 -턑 -턑 -턑 - -턒 -턒 -턒 -턒 -턒 - -턓 -턓 -턓 -턓 -턓 - -턔 -턔 -턔 -턔 -턔 - -턕 -턕 -턕 -턕 -턕 - -턖 -턖 -턖 -턖 -턖 - -턗 -턗 -턗 -턗 -턗 - -턘 -턘 -턘 -턘 -턘 - -턙 -턙 -턙 -턙 -턙 - -턚 -턚 -턚 -턚 -턚 - -턛 -턛 -턛 -턛 -턛 - -턜 -턜 -턜 -턜 -턜 - -턝 -턝 -턝 -턝 -턝 - -턞 -턞 -턞 -턞 -턞 - -턟 -턟 -턟 -턟 -턟 - -턠 -턠 -턠 -턠 -턠 - -턡 -턡 -턡 -턡 -턡 - -턢 -턢 -턢 -턢 -턢 - -턣 -턣 -턣 -턣 -턣 - -턤 -턤 -턤 -턤 -턤 - -턥 -턥 -턥 -턥 -턥 - -턦 -턦 -턦 -턦 -턦 - -턧 -턧 -턧 -턧 -턧 - -턨 -턨 -턨 -턨 -턨 - -턩 -턩 -턩 -턩 -턩 - -턪 -턪 -턪 -턪 -턪 - -턫 -턫 -턫 -턫 -턫 - -턬 -턬 -턬 -턬 -턬 - -턭 -턭 -턭 -턭 -턭 - -턮 -턮 -턮 -턮 -턮 - -턯 -턯 -턯 -턯 -턯 - -터 -터 -터 -터 -터 - -턱 -턱 -턱 -턱 -턱 - -턲 -턲 -턲 -턲 -턲 - -턳 -턳 -턳 -턳 -턳 - -턴 -턴 -턴 -턴 -턴 - -턵 -턵 -턵 -턵 -턵 - -턶 -턶 -턶 -턶 -턶 - -턷 -턷 -턷 -턷 -턷 - -털 -털 -털 -털 -털 - -턹 -턹 -턹 -턹 -턹 - -턺 -턺 -턺 -턺 -턺 - -턻 -턻 -턻 -턻 -턻 - -턼 -턼 -턼 -턼 -턼 - -턽 -턽 -턽 -턽 -턽 - -턾 -턾 -턾 -턾 -턾 - -턿 -턿 -턿 -턿 -턿 - -텀 -텀 -텀 -텀 -텀 - -텁 -텁 -텁 -텁 -텁 - -텂 -텂 -텂 -텂 -텂 - -텃 -텃 -텃 -텃 -텃 - -텄 -텄 -텄 -텄 -텄 - -텅 -텅 -텅 -텅 -텅 - -텆 -텆 -텆 -텆 -텆 - -텇 -텇 -텇 -텇 -텇 - -텈 -텈 -텈 -텈 -텈 - -텉 -텉 -텉 -텉 -텉 - -텊 -텊 -텊 -텊 -텊 - -텋 -텋 -텋 -텋 -텋 - -테 -테 -테 -테 -테 - -텍 -텍 -텍 -텍 -텍 - -텎 -텎 -텎 -텎 -텎 - -텏 -텏 -텏 -텏 -텏 - -텐 -텐 -텐 -텐 -텐 - -텑 -텑 -텑 -텑 -텑 - -텒 -텒 -텒 -텒 -텒 - -텓 -텓 -텓 -텓 -텓 - -텔 -텔 -텔 -텔 -텔 - -텕 -텕 -텕 -텕 -텕 - -텖 -텖 -텖 -텖 -텖 - -텗 -텗 -텗 -텗 -텗 - -텘 -텘 -텘 -텘 -텘 - -텙 -텙 -텙 -텙 -텙 - -텚 -텚 -텚 -텚 -텚 - -텛 -텛 -텛 -텛 -텛 - -템 -템 -템 -템 -템 - -텝 -텝 -텝 -텝 -텝 - -텞 -텞 -텞 -텞 -텞 - -텟 -텟 -텟 -텟 -텟 - -텠 -텠 -텠 -텠 -텠 - -텡 -텡 -텡 -텡 -텡 - -텢 -텢 -텢 -텢 -텢 - -텣 -텣 -텣 -텣 -텣 - -텤 -텤 -텤 -텤 -텤 - -텥 -텥 -텥 -텥 -텥 - -텦 -텦 -텦 -텦 -텦 - -텧 -텧 -텧 -텧 -텧 - -텨 -텨 -텨 -텨 -텨 - -텩 -텩 -텩 -텩 -텩 - -텪 -텪 -텪 -텪 -텪 - -텫 -텫 -텫 -텫 -텫 - -텬 -텬 -텬 -텬 -텬 - -텭 -텭 -텭 -텭 -텭 - -텮 -텮 -텮 -텮 -텮 - -텯 -텯 -텯 -텯 -텯 - -텰 -텰 -텰 -텰 -텰 - -텱 -텱 -텱 -텱 -텱 - -텲 -텲 -텲 -텲 -텲 - -텳 -텳 -텳 -텳 -텳 - -텴 -텴 -텴 -텴 -텴 - -텵 -텵 -텵 -텵 -텵 - -텶 -텶 -텶 -텶 -텶 - -텷 -텷 -텷 -텷 -텷 - -텸 -텸 -텸 -텸 -텸 - -텹 -텹 -텹 -텹 -텹 - -텺 -텺 -텺 -텺 -텺 - -텻 -텻 -텻 -텻 -텻 - -텼 -텼 -텼 -텼 -텼 - -텽 -텽 -텽 -텽 -텽 - -텾 -텾 -텾 -텾 -텾 - -텿 -텿 -텿 -텿 -텿 - -톀 -톀 -톀 -톀 -톀 - -톁 -톁 -톁 -톁 -톁 - -톂 -톂 -톂 -톂 -톂 - -톃 -톃 -톃 -톃 -톃 - -톄 -톄 -톄 -톄 -톄 - -톅 -톅 -톅 -톅 -톅 - -톆 -톆 -톆 -톆 -톆 - -톇 -톇 -톇 -톇 -톇 - -톈 -톈 -톈 -톈 -톈 - -톉 -톉 -톉 -톉 -톉 - -톊 -톊 -톊 -톊 -톊 - -톋 -톋 -톋 -톋 -톋 - -톌 -톌 -톌 -톌 -톌 - -톍 -톍 -톍 -톍 -톍 - -톎 -톎 -톎 -톎 -톎 - -톏 -톏 -톏 -톏 -톏 - -톐 -톐 -톐 -톐 -톐 - -톑 -톑 -톑 -톑 -톑 - -톒 -톒 -톒 -톒 -톒 - -톓 -톓 -톓 -톓 -톓 - -톔 -톔 -톔 -톔 -톔 - -톕 -톕 -톕 -톕 -톕 - -톖 -톖 -톖 -톖 -톖 - -톗 -톗 -톗 -톗 -톗 - -톘 -톘 -톘 -톘 -톘 - -톙 -톙 -톙 -톙 -톙 - -톚 -톚 -톚 -톚 -톚 - -톛 -톛 -톛 -톛 -톛 - -톜 -톜 -톜 -톜 -톜 - -톝 -톝 -톝 -톝 -톝 - -톞 -톞 -톞 -톞 -톞 - -톟 -톟 -톟 -톟 -톟 - -토 -토 -토 -토 -토 - -톡 -톡 -톡 -톡 -톡 - -톢 -톢 -톢 -톢 -톢 - -톣 -톣 -톣 -톣 -톣 - -톤 -톤 -톤 -톤 -톤 - -톥 -톥 -톥 -톥 -톥 - -톦 -톦 -톦 -톦 -톦 - -톧 -톧 -톧 -톧 -톧 - -톨 -톨 -톨 -톨 -톨 - -톩 -톩 -톩 -톩 -톩 - -톪 -톪 -톪 -톪 -톪 - -톫 -톫 -톫 -톫 -톫 - -톬 -톬 -톬 -톬 -톬 - -톭 -톭 -톭 -톭 -톭 - -톮 -톮 -톮 -톮 -톮 - -톯 -톯 -톯 -톯 -톯 - -톰 -톰 -톰 -톰 -톰 - -톱 -톱 -톱 -톱 -톱 - -톲 -톲 -톲 -톲 -톲 - -톳 -톳 -톳 -톳 -톳 - -톴 -톴 -톴 -톴 -톴 - -통 -통 -통 -통 -통 - -톶 -톶 -톶 -톶 -톶 - -톷 -톷 -톷 -톷 -톷 - -톸 -톸 -톸 -톸 -톸 - -톹 -톹 -톹 -톹 -톹 - -톺 -톺 -톺 -톺 -톺 - -톻 -톻 -톻 -톻 -톻 - -톼 -톼 -톼 -톼 -톼 - -톽 -톽 -톽 -톽 -톽 - -톾 -톾 -톾 -톾 -톾 - -톿 -톿 -톿 -톿 -톿 - -퇀 -퇀 -퇀 -퇀 -퇀 - -퇁 -퇁 -퇁 -퇁 -퇁 - -퇂 -퇂 -퇂 -퇂 -퇂 - -퇃 -퇃 -퇃 -퇃 -퇃 - -퇄 -퇄 -퇄 -퇄 -퇄 - -퇅 -퇅 -퇅 -퇅 -퇅 - -퇆 -퇆 -퇆 -퇆 -퇆 - -퇇 -퇇 -퇇 -퇇 -퇇 - -퇈 -퇈 -퇈 -퇈 -퇈 - -퇉 -퇉 -퇉 -퇉 -퇉 - -퇊 -퇊 -퇊 -퇊 -퇊 - -퇋 -퇋 -퇋 -퇋 -퇋 - -퇌 -퇌 -퇌 -퇌 -퇌 - -퇍 -퇍 -퇍 -퇍 -퇍 - -퇎 -퇎 -퇎 -퇎 -퇎 - -퇏 -퇏 -퇏 -퇏 -퇏 - -퇐 -퇐 -퇐 -퇐 -퇐 - -퇑 -퇑 -퇑 -퇑 -퇑 - -퇒 -퇒 -퇒 -퇒 -퇒 - -퇓 -퇓 -퇓 -퇓 -퇓 - -퇔 -퇔 -퇔 -퇔 -퇔 - -퇕 -퇕 -퇕 -퇕 -퇕 - -퇖 -퇖 -퇖 -퇖 -퇖 - -퇗 -퇗 -퇗 -퇗 -퇗 - -퇘 -퇘 -퇘 -퇘 -퇘 - -퇙 -퇙 -퇙 -퇙 -퇙 - -퇚 -퇚 -퇚 -퇚 -퇚 - -퇛 -퇛 -퇛 -퇛 -퇛 - -퇜 -퇜 -퇜 -퇜 -퇜 - -퇝 -퇝 -퇝 -퇝 -퇝 - -퇞 -퇞 -퇞 -퇞 -퇞 - -퇟 -퇟 -퇟 -퇟 -퇟 - -퇠 -퇠 -퇠 -퇠 -퇠 - -퇡 -퇡 -퇡 -퇡 -퇡 - -퇢 -퇢 -퇢 -퇢 -퇢 - -퇣 -퇣 -퇣 -퇣 -퇣 - -퇤 -퇤 -퇤 -퇤 -퇤 - -퇥 -퇥 -퇥 -퇥 -퇥 - -퇦 -퇦 -퇦 -퇦 -퇦 - -퇧 -퇧 -퇧 -퇧 -퇧 - -퇨 -퇨 -퇨 -퇨 -퇨 - -퇩 -퇩 -퇩 -퇩 -퇩 - -퇪 -퇪 -퇪 -퇪 -퇪 - -퇫 -퇫 -퇫 -퇫 -퇫 - -퇬 -퇬 -퇬 -퇬 -퇬 - -퇭 -퇭 -퇭 -퇭 -퇭 - -퇮 -퇮 -퇮 -퇮 -퇮 - -퇯 -퇯 -퇯 -퇯 -퇯 - -퇰 -퇰 -퇰 -퇰 -퇰 - -퇱 -퇱 -퇱 -퇱 -퇱 - -퇲 -퇲 -퇲 -퇲 -퇲 - -퇳 -퇳 -퇳 -퇳 -퇳 - -퇴 -퇴 -퇴 -퇴 -퇴 - -퇵 -퇵 -퇵 -퇵 -퇵 - -퇶 -퇶 -퇶 -퇶 -퇶 - -퇷 -퇷 -퇷 -퇷 -퇷 - -퇸 -퇸 -퇸 -퇸 -퇸 - -퇹 -퇹 -퇹 -퇹 -퇹 - -퇺 -퇺 -퇺 -퇺 -퇺 - -퇻 -퇻 -퇻 -퇻 -퇻 - -퇼 -퇼 -퇼 -퇼 -퇼 - -퇽 -퇽 -퇽 -퇽 -퇽 - -퇾 -퇾 -퇾 -퇾 -퇾 - -퇿 -퇿 -퇿 -퇿 -퇿 - -툀 -툀 -툀 -툀 -툀 - -툁 -툁 -툁 -툁 -툁 - -툂 -툂 -툂 -툂 -툂 - -툃 -툃 -툃 -툃 -툃 - -툄 -툄 -툄 -툄 -툄 - -툅 -툅 -툅 -툅 -툅 - -툆 -툆 -툆 -툆 -툆 - -툇 -툇 -툇 -툇 -툇 - -툈 -툈 -툈 -툈 -툈 - -툉 -툉 -툉 -툉 -툉 - -툊 -툊 -툊 -툊 -툊 - -툋 -툋 -툋 -툋 -툋 - -툌 -툌 -툌 -툌 -툌 - -툍 -툍 -툍 -툍 -툍 - -툎 -툎 -툎 -툎 -툎 - -툏 -툏 -툏 -툏 -툏 - -툐 -툐 -툐 -툐 -툐 - -툑 -툑 -툑 -툑 -툑 - -툒 -툒 -툒 -툒 -툒 - -툓 -툓 -툓 -툓 -툓 - -툔 -툔 -툔 -툔 -툔 - -툕 -툕 -툕 -툕 -툕 - -툖 -툖 -툖 -툖 -툖 - -툗 -툗 -툗 -툗 -툗 - -툘 -툘 -툘 -툘 -툘 - -툙 -툙 -툙 -툙 -툙 - -툚 -툚 -툚 -툚 -툚 - -툛 -툛 -툛 -툛 -툛 - -툜 -툜 -툜 -툜 -툜 - -툝 -툝 -툝 -툝 -툝 - -툞 -툞 -툞 -툞 -툞 - -툟 -툟 -툟 -툟 -툟 - -툠 -툠 -툠 -툠 -툠 - -툡 -툡 -툡 -툡 -툡 - -툢 -툢 -툢 -툢 -툢 - -툣 -툣 -툣 -툣 -툣 - -툤 -툤 -툤 -툤 -툤 - -툥 -툥 -툥 -툥 -툥 - -툦 -툦 -툦 -툦 -툦 - -툧 -툧 -툧 -툧 -툧 - -툨 -툨 -툨 -툨 -툨 - -툩 -툩 -툩 -툩 -툩 - -툪 -툪 -툪 -툪 -툪 - -툫 -툫 -툫 -툫 -툫 - -투 -투 -투 -투 -투 - -툭 -툭 -툭 -툭 -툭 - -툮 -툮 -툮 -툮 -툮 - -툯 -툯 -툯 -툯 -툯 - -툰 -툰 -툰 -툰 -툰 - -툱 -툱 -툱 -툱 -툱 - -툲 -툲 -툲 -툲 -툲 - -툳 -툳 -툳 -툳 -툳 - -툴 -툴 -툴 -툴 -툴 - -툵 -툵 -툵 -툵 -툵 - -툶 -툶 -툶 -툶 -툶 - -툷 -툷 -툷 -툷 -툷 - -툸 -툸 -툸 -툸 -툸 - -툹 -툹 -툹 -툹 -툹 - -툺 -툺 -툺 -툺 -툺 - -툻 -툻 -툻 -툻 -툻 - -툼 -툼 -툼 -툼 -툼 - -툽 -툽 -툽 -툽 -툽 - -툾 -툾 -툾 -툾 -툾 - -툿 -툿 -툿 -툿 -툿 - -퉀 -퉀 -퉀 -퉀 -퉀 - -퉁 -퉁 -퉁 -퉁 -퉁 - -퉂 -퉂 -퉂 -퉂 -퉂 - -퉃 -퉃 -퉃 -퉃 -퉃 - -퉄 -퉄 -퉄 -퉄 -퉄 - -퉅 -퉅 -퉅 -퉅 -퉅 - -퉆 -퉆 -퉆 -퉆 -퉆 - -퉇 -퉇 -퉇 -퉇 -퉇 - -퉈 -퉈 -퉈 -퉈 -퉈 - -퉉 -퉉 -퉉 -퉉 -퉉 - -퉊 -퉊 -퉊 -퉊 -퉊 - -퉋 -퉋 -퉋 -퉋 -퉋 - -퉌 -퉌 -퉌 -퉌 -퉌 - -퉍 -퉍 -퉍 -퉍 -퉍 - -퉎 -퉎 -퉎 -퉎 -퉎 - -퉏 -퉏 -퉏 -퉏 -퉏 - -퉐 -퉐 -퉐 -퉐 -퉐 - -퉑 -퉑 -퉑 -퉑 -퉑 - -퉒 -퉒 -퉒 -퉒 -퉒 - -퉓 -퉓 -퉓 -퉓 -퉓 - -퉔 -퉔 -퉔 -퉔 -퉔 - -퉕 -퉕 -퉕 -퉕 -퉕 - -퉖 -퉖 -퉖 -퉖 -퉖 - -퉗 -퉗 -퉗 -퉗 -퉗 - -퉘 -퉘 -퉘 -퉘 -퉘 - -퉙 -퉙 -퉙 -퉙 -퉙 - -퉚 -퉚 -퉚 -퉚 -퉚 - -퉛 -퉛 -퉛 -퉛 -퉛 - -퉜 -퉜 -퉜 -퉜 -퉜 - -퉝 -퉝 -퉝 -퉝 -퉝 - -퉞 -퉞 -퉞 -퉞 -퉞 - -퉟 -퉟 -퉟 -퉟 -퉟 - -퉠 -퉠 -퉠 -퉠 -퉠 - -퉡 -퉡 -퉡 -퉡 -퉡 - -퉢 -퉢 -퉢 -퉢 -퉢 - -퉣 -퉣 -퉣 -퉣 -퉣 - -퉤 -퉤 -퉤 -퉤 -퉤 - -퉥 -퉥 -퉥 -퉥 -퉥 - -퉦 -퉦 -퉦 -퉦 -퉦 - -퉧 -퉧 -퉧 -퉧 -퉧 - -퉨 -퉨 -퉨 -퉨 -퉨 - -퉩 -퉩 -퉩 -퉩 -퉩 - -퉪 -퉪 -퉪 -퉪 -퉪 - -퉫 -퉫 -퉫 -퉫 -퉫 - -퉬 -퉬 -퉬 -퉬 -퉬 - -퉭 -퉭 -퉭 -퉭 -퉭 - -퉮 -퉮 -퉮 -퉮 -퉮 - -퉯 -퉯 -퉯 -퉯 -퉯 - -퉰 -퉰 -퉰 -퉰 -퉰 - -퉱 -퉱 -퉱 -퉱 -퉱 - -퉲 -퉲 -퉲 -퉲 -퉲 - -퉳 -퉳 -퉳 -퉳 -퉳 - -퉴 -퉴 -퉴 -퉴 -퉴 - -퉵 -퉵 -퉵 -퉵 -퉵 - -퉶 -퉶 -퉶 -퉶 -퉶 - -퉷 -퉷 -퉷 -퉷 -퉷 - -퉸 -퉸 -퉸 -퉸 -퉸 - -퉹 -퉹 -퉹 -퉹 -퉹 - -퉺 -퉺 -퉺 -퉺 -퉺 - -퉻 -퉻 -퉻 -퉻 -퉻 - -퉼 -퉼 -퉼 -퉼 -퉼 - -퉽 -퉽 -퉽 -퉽 -퉽 - -퉾 -퉾 -퉾 -퉾 -퉾 - -퉿 -퉿 -퉿 -퉿 -퉿 - -튀 -튀 -튀 -튀 -튀 - -튁 -튁 -튁 -튁 -튁 - -튂 -튂 -튂 -튂 -튂 - -튃 -튃 -튃 -튃 -튃 - -튄 -튄 -튄 -튄 -튄 - -튅 -튅 -튅 -튅 -튅 - -튆 -튆 -튆 -튆 -튆 - -튇 -튇 -튇 -튇 -튇 - -튈 -튈 -튈 -튈 -튈 - -튉 -튉 -튉 -튉 -튉 - -튊 -튊 -튊 -튊 -튊 - -튋 -튋 -튋 -튋 -튋 - -튌 -튌 -튌 -튌 -튌 - -튍 -튍 -튍 -튍 -튍 - -튎 -튎 -튎 -튎 -튎 - -튏 -튏 -튏 -튏 -튏 - -튐 -튐 -튐 -튐 -튐 - -튑 -튑 -튑 -튑 -튑 - -튒 -튒 -튒 -튒 -튒 - -튓 -튓 -튓 -튓 -튓 - -튔 -튔 -튔 -튔 -튔 - -튕 -튕 -튕 -튕 -튕 - -튖 -튖 -튖 -튖 -튖 - -튗 -튗 -튗 -튗 -튗 - -튘 -튘 -튘 -튘 -튘 - -튙 -튙 -튙 -튙 -튙 - -튚 -튚 -튚 -튚 -튚 - -튛 -튛 -튛 -튛 -튛 - -튜 -튜 -튜 -튜 -튜 - -튝 -튝 -튝 -튝 -튝 - -튞 -튞 -튞 -튞 -튞 - -튟 -튟 -튟 -튟 -튟 - -튠 -튠 -튠 -튠 -튠 - -튡 -튡 -튡 -튡 -튡 - -튢 -튢 -튢 -튢 -튢 - -튣 -튣 -튣 -튣 -튣 - -튤 -튤 -튤 -튤 -튤 - -튥 -튥 -튥 -튥 -튥 - -튦 -튦 -튦 -튦 -튦 - -튧 -튧 -튧 -튧 -튧 - -튨 -튨 -튨 -튨 -튨 - -튩 -튩 -튩 -튩 -튩 - -튪 -튪 -튪 -튪 -튪 - -튫 -튫 -튫 -튫 -튫 - -튬 -튬 -튬 -튬 -튬 - -튭 -튭 -튭 -튭 -튭 - -튮 -튮 -튮 -튮 -튮 - -튯 -튯 -튯 -튯 -튯 - -튰 -튰 -튰 -튰 -튰 - -튱 -튱 -튱 -튱 -튱 - -튲 -튲 -튲 -튲 -튲 - -튳 -튳 -튳 -튳 -튳 - -튴 -튴 -튴 -튴 -튴 - -튵 -튵 -튵 -튵 -튵 - -튶 -튶 -튶 -튶 -튶 - -튷 -튷 -튷 -튷 -튷 - -트 -트 -트 -트 -트 - -특 -특 -특 -특 -특 - -튺 -튺 -튺 -튺 -튺 - -튻 -튻 -튻 -튻 -튻 - -튼 -튼 -튼 -튼 -튼 - -튽 -튽 -튽 -튽 -튽 - -튾 -튾 -튾 -튾 -튾 - -튿 -튿 -튿 -튿 -튿 - -틀 -틀 -틀 -틀 -틀 - -틁 -틁 -틁 -틁 -틁 - -틂 -틂 -틂 -틂 -틂 - -틃 -틃 -틃 -틃 -틃 - -틄 -틄 -틄 -틄 -틄 - -틅 -틅 -틅 -틅 -틅 - -틆 -틆 -틆 -틆 -틆 - -틇 -틇 -틇 -틇 -틇 - -틈 -틈 -틈 -틈 -틈 - -틉 -틉 -틉 -틉 -틉 - -틊 -틊 -틊 -틊 -틊 - -틋 -틋 -틋 -틋 -틋 - -틌 -틌 -틌 -틌 -틌 - -틍 -틍 -틍 -틍 -틍 - -틎 -틎 -틎 -틎 -틎 - -틏 -틏 -틏 -틏 -틏 - -틐 -틐 -틐 -틐 -틐 - -틑 -틑 -틑 -틑 -틑 - -틒 -틒 -틒 -틒 -틒 - -틓 -틓 -틓 -틓 -틓 - -틔 -틔 -틔 -틔 -틔 - -틕 -틕 -틕 -틕 -틕 - -틖 -틖 -틖 -틖 -틖 - -틗 -틗 -틗 -틗 -틗 - -틘 -틘 -틘 -틘 -틘 - -틙 -틙 -틙 -틙 -틙 - -틚 -틚 -틚 -틚 -틚 - -틛 -틛 -틛 -틛 -틛 - -틜 -틜 -틜 -틜 -틜 - -틝 -틝 -틝 -틝 -틝 - -틞 -틞 -틞 -틞 -틞 - -틟 -틟 -틟 -틟 -틟 - -틠 -틠 -틠 -틠 -틠 - -틡 -틡 -틡 -틡 -틡 - -틢 -틢 -틢 -틢 -틢 - -틣 -틣 -틣 -틣 -틣 - -틤 -틤 -틤 -틤 -틤 - -틥 -틥 -틥 -틥 -틥 - -틦 -틦 -틦 -틦 -틦 - -틧 -틧 -틧 -틧 -틧 - -틨 -틨 -틨 -틨 -틨 - -틩 -틩 -틩 -틩 -틩 - -틪 -틪 -틪 -틪 -틪 - -틫 -틫 -틫 -틫 -틫 - -틬 -틬 -틬 -틬 -틬 - -틭 -틭 -틭 -틭 -틭 - -틮 -틮 -틮 -틮 -틮 - -틯 -틯 -틯 -틯 -틯 - -티 -티 -티 -티 -티 - -틱 -틱 -틱 -틱 -틱 - -틲 -틲 -틲 -틲 -틲 - -틳 -틳 -틳 -틳 -틳 - -틴 -틴 -틴 -틴 -틴 - -틵 -틵 -틵 -틵 -틵 - -틶 -틶 -틶 -틶 -틶 - -틷 -틷 -틷 -틷 -틷 - -틸 -틸 -틸 -틸 -틸 - -틹 -틹 -틹 -틹 -틹 - -틺 -틺 -틺 -틺 -틺 - -틻 -틻 -틻 -틻 -틻 - -틼 -틼 -틼 -틼 -틼 - -틽 -틽 -틽 -틽 -틽 - -틾 -틾 -틾 -틾 -틾 - -틿 -틿 -틿 -틿 -틿 - -팀 -팀 -팀 -팀 -팀 - -팁 -팁 -팁 -팁 -팁 - -팂 -팂 -팂 -팂 -팂 - -팃 -팃 -팃 -팃 -팃 - -팄 -팄 -팄 -팄 -팄 - -팅 -팅 -팅 -팅 -팅 - -팆 -팆 -팆 -팆 -팆 - -팇 -팇 -팇 -팇 -팇 - -팈 -팈 -팈 -팈 -팈 - -팉 -팉 -팉 -팉 -팉 - -팊 -팊 -팊 -팊 -팊 - -팋 -팋 -팋 -팋 -팋 - -파 -파 -파 -파 -파 - -팍 -팍 -팍 -팍 -팍 - -팎 -팎 -팎 -팎 -팎 - -팏 -팏 -팏 -팏 -팏 - -판 -판 -판 -판 -판 - -팑 -팑 -팑 -팑 -팑 - -팒 -팒 -팒 -팒 -팒 - -팓 -팓 -팓 -팓 -팓 - -팔 -팔 -팔 -팔 -팔 - -팕 -팕 -팕 -팕 -팕 - -팖 -팖 -팖 -팖 -팖 - -팗 -팗 -팗 -팗 -팗 - -팘 -팘 -팘 -팘 -팘 - -팙 -팙 -팙 -팙 -팙 - -팚 -팚 -팚 -팚 -팚 - -팛 -팛 -팛 -팛 -팛 - -팜 -팜 -팜 -팜 -팜 - -팝 -팝 -팝 -팝 -팝 - -팞 -팞 -팞 -팞 -팞 - -팟 -팟 -팟 -팟 -팟 - -팠 -팠 -팠 -팠 -팠 - -팡 -팡 -팡 -팡 -팡 - -팢 -팢 -팢 -팢 -팢 - -팣 -팣 -팣 -팣 -팣 - -팤 -팤 -팤 -팤 -팤 - -팥 -팥 -팥 -팥 -팥 - -팦 -팦 -팦 -팦 -팦 - -팧 -팧 -팧 -팧 -팧 - -패 -패 -패 -패 -패 - -팩 -팩 -팩 -팩 -팩 - -팪 -팪 -팪 -팪 -팪 - -팫 -팫 -팫 -팫 -팫 - -팬 -팬 -팬 -팬 -팬 - -팭 -팭 -팭 -팭 -팭 - -팮 -팮 -팮 -팮 -팮 - -팯 -팯 -팯 -팯 -팯 - -팰 -팰 -팰 -팰 -팰 - -팱 -팱 -팱 -팱 -팱 - -팲 -팲 -팲 -팲 -팲 - -팳 -팳 -팳 -팳 -팳 - -팴 -팴 -팴 -팴 -팴 - -팵 -팵 -팵 -팵 -팵 - -팶 -팶 -팶 -팶 -팶 - -팷 -팷 -팷 -팷 -팷 - -팸 -팸 -팸 -팸 -팸 - -팹 -팹 -팹 -팹 -팹 - -팺 -팺 -팺 -팺 -팺 - -팻 -팻 -팻 -팻 -팻 - -팼 -팼 -팼 -팼 -팼 - -팽 -팽 -팽 -팽 -팽 - -팾 -팾 -팾 -팾 -팾 - -팿 -팿 -팿 -팿 -팿 - -퍀 -퍀 -퍀 -퍀 -퍀 - -퍁 -퍁 -퍁 -퍁 -퍁 - -퍂 -퍂 -퍂 -퍂 -퍂 - -퍃 -퍃 -퍃 -퍃 -퍃 - -퍄 -퍄 -퍄 -퍄 -퍄 - -퍅 -퍅 -퍅 -퍅 -퍅 - -퍆 -퍆 -퍆 -퍆 -퍆 - -퍇 -퍇 -퍇 -퍇 -퍇 - -퍈 -퍈 -퍈 -퍈 -퍈 - -퍉 -퍉 -퍉 -퍉 -퍉 - -퍊 -퍊 -퍊 -퍊 -퍊 - -퍋 -퍋 -퍋 -퍋 -퍋 - -퍌 -퍌 -퍌 -퍌 -퍌 - -퍍 -퍍 -퍍 -퍍 -퍍 - -퍎 -퍎 -퍎 -퍎 -퍎 - -퍏 -퍏 -퍏 -퍏 -퍏 - -퍐 -퍐 -퍐 -퍐 -퍐 - -퍑 -퍑 -퍑 -퍑 -퍑 - -퍒 -퍒 -퍒 -퍒 -퍒 - -퍓 -퍓 -퍓 -퍓 -퍓 - -퍔 -퍔 -퍔 -퍔 -퍔 - -퍕 -퍕 -퍕 -퍕 -퍕 - -퍖 -퍖 -퍖 -퍖 -퍖 - -퍗 -퍗 -퍗 -퍗 -퍗 - -퍘 -퍘 -퍘 -퍘 -퍘 - -퍙 -퍙 -퍙 -퍙 -퍙 - -퍚 -퍚 -퍚 -퍚 -퍚 - -퍛 -퍛 -퍛 -퍛 -퍛 - -퍜 -퍜 -퍜 -퍜 -퍜 - -퍝 -퍝 -퍝 -퍝 -퍝 - -퍞 -퍞 -퍞 -퍞 -퍞 - -퍟 -퍟 -퍟 -퍟 -퍟 - -퍠 -퍠 -퍠 -퍠 -퍠 - -퍡 -퍡 -퍡 -퍡 -퍡 - -퍢 -퍢 -퍢 -퍢 -퍢 - -퍣 -퍣 -퍣 -퍣 -퍣 - -퍤 -퍤 -퍤 -퍤 -퍤 - -퍥 -퍥 -퍥 -퍥 -퍥 - -퍦 -퍦 -퍦 -퍦 -퍦 - -퍧 -퍧 -퍧 -퍧 -퍧 - -퍨 -퍨 -퍨 -퍨 -퍨 - -퍩 -퍩 -퍩 -퍩 -퍩 - -퍪 -퍪 -퍪 -퍪 -퍪 - -퍫 -퍫 -퍫 -퍫 -퍫 - -퍬 -퍬 -퍬 -퍬 -퍬 - -퍭 -퍭 -퍭 -퍭 -퍭 - -퍮 -퍮 -퍮 -퍮 -퍮 - -퍯 -퍯 -퍯 -퍯 -퍯 - -퍰 -퍰 -퍰 -퍰 -퍰 - -퍱 -퍱 -퍱 -퍱 -퍱 - -퍲 -퍲 -퍲 -퍲 -퍲 - -퍳 -퍳 -퍳 -퍳 -퍳 - -퍴 -퍴 -퍴 -퍴 -퍴 - -퍵 -퍵 -퍵 -퍵 -퍵 - -퍶 -퍶 -퍶 -퍶 -퍶 - -퍷 -퍷 -퍷 -퍷 -퍷 - -퍸 -퍸 -퍸 -퍸 -퍸 - -퍹 -퍹 -퍹 -퍹 -퍹 - -퍺 -퍺 -퍺 -퍺 -퍺 - -퍻 -퍻 -퍻 -퍻 -퍻 - -퍼 -퍼 -퍼 -퍼 -퍼 - -퍽 -퍽 -퍽 -퍽 -퍽 - -퍾 -퍾 -퍾 -퍾 -퍾 - -퍿 -퍿 -퍿 -퍿 -퍿 - -펀 -펀 -펀 -펀 -펀 - -펁 -펁 -펁 -펁 -펁 - -펂 -펂 -펂 -펂 -펂 - -펃 -펃 -펃 -펃 -펃 - -펄 -펄 -펄 -펄 -펄 - -펅 -펅 -펅 -펅 -펅 - -펆 -펆 -펆 -펆 -펆 - -펇 -펇 -펇 -펇 -펇 - -펈 -펈 -펈 -펈 -펈 - -펉 -펉 -펉 -펉 -펉 - -펊 -펊 -펊 -펊 -펊 - -펋 -펋 -펋 -펋 -펋 - -펌 -펌 -펌 -펌 -펌 - -펍 -펍 -펍 -펍 -펍 - -펎 -펎 -펎 -펎 -펎 - -펏 -펏 -펏 -펏 -펏 - -펐 -펐 -펐 -펐 -펐 - -펑 -펑 -펑 -펑 -펑 - -펒 -펒 -펒 -펒 -펒 - -펓 -펓 -펓 -펓 -펓 - -펔 -펔 -펔 -펔 -펔 - -펕 -펕 -펕 -펕 -펕 - -펖 -펖 -펖 -펖 -펖 - -펗 -펗 -펗 -펗 -펗 - -페 -페 -페 -페 -페 - -펙 -펙 -펙 -펙 -펙 - -펚 -펚 -펚 -펚 -펚 - -펛 -펛 -펛 -펛 -펛 - -펜 -펜 -펜 -펜 -펜 - -펝 -펝 -펝 -펝 -펝 - -펞 -펞 -펞 -펞 -펞 - -펟 -펟 -펟 -펟 -펟 - -펠 -펠 -펠 -펠 -펠 - -펡 -펡 -펡 -펡 -펡 - -펢 -펢 -펢 -펢 -펢 - -펣 -펣 -펣 -펣 -펣 - -펤 -펤 -펤 -펤 -펤 - -펥 -펥 -펥 -펥 -펥 - -펦 -펦 -펦 -펦 -펦 - -펧 -펧 -펧 -펧 -펧 - -펨 -펨 -펨 -펨 -펨 - -펩 -펩 -펩 -펩 -펩 - -펪 -펪 -펪 -펪 -펪 - -펫 -펫 -펫 -펫 -펫 - -펬 -펬 -펬 -펬 -펬 - -펭 -펭 -펭 -펭 -펭 - -펮 -펮 -펮 -펮 -펮 - -펯 -펯 -펯 -펯 -펯 - -펰 -펰 -펰 -펰 -펰 - -펱 -펱 -펱 -펱 -펱 - -펲 -펲 -펲 -펲 -펲 - -펳 -펳 -펳 -펳 -펳 - -펴 -펴 -펴 -펴 -펴 - -펵 -펵 -펵 -펵 -펵 - -펶 -펶 -펶 -펶 -펶 - -펷 -펷 -펷 -펷 -펷 - -편 -편 -편 -편 -편 - -펹 -펹 -펹 -펹 -펹 - -펺 -펺 -펺 -펺 -펺 - -펻 -펻 -펻 -펻 -펻 - -펼 -펼 -펼 -펼 -펼 - -펽 -펽 -펽 -펽 -펽 - -펾 -펾 -펾 -펾 -펾 - -펿 -펿 -펿 -펿 -펿 - -폀 -폀 -폀 -폀 -폀 - -폁 -폁 -폁 -폁 -폁 - -폂 -폂 -폂 -폂 -폂 - -폃 -폃 -폃 -폃 -폃 - -폄 -폄 -폄 -폄 -폄 - -폅 -폅 -폅 -폅 -폅 - -폆 -폆 -폆 -폆 -폆 - -폇 -폇 -폇 -폇 -폇 - -폈 -폈 -폈 -폈 -폈 - -평 -평 -평 -평 -평 - -폊 -폊 -폊 -폊 -폊 - -폋 -폋 -폋 -폋 -폋 - -폌 -폌 -폌 -폌 -폌 - -폍 -폍 -폍 -폍 -폍 - -폎 -폎 -폎 -폎 -폎 - -폏 -폏 -폏 -폏 -폏 - -폐 -폐 -폐 -폐 -폐 - -폑 -폑 -폑 -폑 -폑 - -폒 -폒 -폒 -폒 -폒 - -폓 -폓 -폓 -폓 -폓 - -폔 -폔 -폔 -폔 -폔 - -폕 -폕 -폕 -폕 -폕 - -폖 -폖 -폖 -폖 -폖 - -폗 -폗 -폗 -폗 -폗 - -폘 -폘 -폘 -폘 -폘 - -폙 -폙 -폙 -폙 -폙 - -폚 -폚 -폚 -폚 -폚 - -폛 -폛 -폛 -폛 -폛 - -폜 -폜 -폜 -폜 -폜 - -폝 -폝 -폝 -폝 -폝 - -폞 -폞 -폞 -폞 -폞 - -폟 -폟 -폟 -폟 -폟 - -폠 -폠 -폠 -폠 -폠 - -폡 -폡 -폡 -폡 -폡 - -폢 -폢 -폢 -폢 -폢 - -폣 -폣 -폣 -폣 -폣 - -폤 -폤 -폤 -폤 -폤 - -폥 -폥 -폥 -폥 -폥 - -폦 -폦 -폦 -폦 -폦 - -폧 -폧 -폧 -폧 -폧 - -폨 -폨 -폨 -폨 -폨 - -폩 -폩 -폩 -폩 -폩 - -폪 -폪 -폪 -폪 -폪 - -폫 -폫 -폫 -폫 -폫 - -포 -포 -포 -포 -포 - -폭 -폭 -폭 -폭 -폭 - -폮 -폮 -폮 -폮 -폮 - -폯 -폯 -폯 -폯 -폯 - -폰 -폰 -폰 -폰 -폰 - -폱 -폱 -폱 -폱 -폱 - -폲 -폲 -폲 -폲 -폲 - -폳 -폳 -폳 -폳 -폳 - -폴 -폴 -폴 -폴 -폴 - -폵 -폵 -폵 -폵 -폵 - -폶 -폶 -폶 -폶 -폶 - -폷 -폷 -폷 -폷 -폷 - -폸 -폸 -폸 -폸 -폸 - -폹 -폹 -폹 -폹 -폹 - -폺 -폺 -폺 -폺 -폺 - -폻 -폻 -폻 -폻 -폻 - -폼 -폼 -폼 -폼 -폼 - -폽 -폽 -폽 -폽 -폽 - -폾 -폾 -폾 -폾 -폾 - -폿 -폿 -폿 -폿 -폿 - -퐀 -퐀 -퐀 -퐀 -퐀 - -퐁 -퐁 -퐁 -퐁 -퐁 - -퐂 -퐂 -퐂 -퐂 -퐂 - -퐃 -퐃 -퐃 -퐃 -퐃 - -퐄 -퐄 -퐄 -퐄 -퐄 - -퐅 -퐅 -퐅 -퐅 -퐅 - -퐆 -퐆 -퐆 -퐆 -퐆 - -퐇 -퐇 -퐇 -퐇 -퐇 - -퐈 -퐈 -퐈 -퐈 -퐈 - -퐉 -퐉 -퐉 -퐉 -퐉 - -퐊 -퐊 -퐊 -퐊 -퐊 - -퐋 -퐋 -퐋 -퐋 -퐋 - -퐌 -퐌 -퐌 -퐌 -퐌 - -퐍 -퐍 -퐍 -퐍 -퐍 - -퐎 -퐎 -퐎 -퐎 -퐎 - -퐏 -퐏 -퐏 -퐏 -퐏 - -퐐 -퐐 -퐐 -퐐 -퐐 - -퐑 -퐑 -퐑 -퐑 -퐑 - -퐒 -퐒 -퐒 -퐒 -퐒 - -퐓 -퐓 -퐓 -퐓 -퐓 - -퐔 -퐔 -퐔 -퐔 -퐔 - -퐕 -퐕 -퐕 -퐕 -퐕 - -퐖 -퐖 -퐖 -퐖 -퐖 - -퐗 -퐗 -퐗 -퐗 -퐗 - -퐘 -퐘 -퐘 -퐘 -퐘 - -퐙 -퐙 -퐙 -퐙 -퐙 - -퐚 -퐚 -퐚 -퐚 -퐚 - -퐛 -퐛 -퐛 -퐛 -퐛 - -퐜 -퐜 -퐜 -퐜 -퐜 - -퐝 -퐝 -퐝 -퐝 -퐝 - -퐞 -퐞 -퐞 -퐞 -퐞 - -퐟 -퐟 -퐟 -퐟 -퐟 - -퐠 -퐠 -퐠 -퐠 -퐠 - -퐡 -퐡 -퐡 -퐡 -퐡 - -퐢 -퐢 -퐢 -퐢 -퐢 - -퐣 -퐣 -퐣 -퐣 -퐣 - -퐤 -퐤 -퐤 -퐤 -퐤 - -퐥 -퐥 -퐥 -퐥 -퐥 - -퐦 -퐦 -퐦 -퐦 -퐦 - -퐧 -퐧 -퐧 -퐧 -퐧 - -퐨 -퐨 -퐨 -퐨 -퐨 - -퐩 -퐩 -퐩 -퐩 -퐩 - -퐪 -퐪 -퐪 -퐪 -퐪 - -퐫 -퐫 -퐫 -퐫 -퐫 - -퐬 -퐬 -퐬 -퐬 -퐬 - -퐭 -퐭 -퐭 -퐭 -퐭 - -퐮 -퐮 -퐮 -퐮 -퐮 - -퐯 -퐯 -퐯 -퐯 -퐯 - -퐰 -퐰 -퐰 -퐰 -퐰 - -퐱 -퐱 -퐱 -퐱 -퐱 - -퐲 -퐲 -퐲 -퐲 -퐲 - -퐳 -퐳 -퐳 -퐳 -퐳 - -퐴 -퐴 -퐴 -퐴 -퐴 - -퐵 -퐵 -퐵 -퐵 -퐵 - -퐶 -퐶 -퐶 -퐶 -퐶 - -퐷 -퐷 -퐷 -퐷 -퐷 - -퐸 -퐸 -퐸 -퐸 -퐸 - -퐹 -퐹 -퐹 -퐹 -퐹 - -퐺 -퐺 -퐺 -퐺 -퐺 - -퐻 -퐻 -퐻 -퐻 -퐻 - -퐼 -퐼 -퐼 -퐼 -퐼 - -퐽 -퐽 -퐽 -퐽 -퐽 - -퐾 -퐾 -퐾 -퐾 -퐾 - -퐿 -퐿 -퐿 -퐿 -퐿 - -푀 -푀 -푀 -푀 -푀 - -푁 -푁 -푁 -푁 -푁 - -푂 -푂 -푂 -푂 -푂 - -푃 -푃 -푃 -푃 -푃 - -푄 -푄 -푄 -푄 -푄 - -푅 -푅 -푅 -푅 -푅 - -푆 -푆 -푆 -푆 -푆 - -푇 -푇 -푇 -푇 -푇 - -푈 -푈 -푈 -푈 -푈 - -푉 -푉 -푉 -푉 -푉 - -푊 -푊 -푊 -푊 -푊 - -푋 -푋 -푋 -푋 -푋 - -푌 -푌 -푌 -푌 -푌 - -푍 -푍 -푍 -푍 -푍 - -푎 -푎 -푎 -푎 -푎 - -푏 -푏 -푏 -푏 -푏 - -푐 -푐 -푐 -푐 -푐 - -푑 -푑 -푑 -푑 -푑 - -푒 -푒 -푒 -푒 -푒 - -푓 -푓 -푓 -푓 -푓 - -푔 -푔 -푔 -푔 -푔 - -푕 -푕 -푕 -푕 -푕 - -푖 -푖 -푖 -푖 -푖 - -푗 -푗 -푗 -푗 -푗 - -푘 -푘 -푘 -푘 -푘 - -푙 -푙 -푙 -푙 -푙 - -푚 -푚 -푚 -푚 -푚 - -푛 -푛 -푛 -푛 -푛 - -표 -표 -표 -표 -표 - -푝 -푝 -푝 -푝 -푝 - -푞 -푞 -푞 -푞 -푞 - -푟 -푟 -푟 -푟 -푟 - -푠 -푠 -푠 -푠 -푠 - -푡 -푡 -푡 -푡 -푡 - -푢 -푢 -푢 -푢 -푢 - -푣 -푣 -푣 -푣 -푣 - -푤 -푤 -푤 -푤 -푤 - -푥 -푥 -푥 -푥 -푥 - -푦 -푦 -푦 -푦 -푦 - -푧 -푧 -푧 -푧 -푧 - -푨 -푨 -푨 -푨 -푨 - -푩 -푩 -푩 -푩 -푩 - -푪 -푪 -푪 -푪 -푪 - -푫 -푫 -푫 -푫 -푫 - -푬 -푬 -푬 -푬 -푬 - -푭 -푭 -푭 -푭 -푭 - -푮 -푮 -푮 -푮 -푮 - -푯 -푯 -푯 -푯 -푯 - -푰 -푰 -푰 -푰 -푰 - -푱 -푱 -푱 -푱 -푱 - -푲 -푲 -푲 -푲 -푲 - -푳 -푳 -푳 -푳 -푳 - -푴 -푴 -푴 -푴 -푴 - -푵 -푵 -푵 -푵 -푵 - -푶 -푶 -푶 -푶 -푶 - -푷 -푷 -푷 -푷 -푷 - -푸 -푸 -푸 -푸 -푸 - -푹 -푹 -푹 -푹 -푹 - -푺 -푺 -푺 -푺 -푺 - -푻 -푻 -푻 -푻 -푻 - -푼 -푼 -푼 -푼 -푼 - -푽 -푽 -푽 -푽 -푽 - -푾 -푾 -푾 -푾 -푾 - -푿 -푿 -푿 -푿 -푿 - -풀 -풀 -풀 -풀 -풀 - -풁 -풁 -풁 -풁 -풁 - -풂 -풂 -풂 -풂 -풂 - -풃 -풃 -풃 -풃 -풃 - -풄 -풄 -풄 -풄 -풄 - -풅 -풅 -풅 -풅 -풅 - -풆 -풆 -풆 -풆 -풆 - -풇 -풇 -풇 -풇 -풇 - -품 -품 -품 -품 -품 - -풉 -풉 -풉 -풉 -풉 - -풊 -풊 -풊 -풊 -풊 - -풋 -풋 -풋 -풋 -풋 - -풌 -풌 -풌 -풌 -풌 - -풍 -풍 -풍 -풍 -풍 - -풎 -풎 -풎 -풎 -풎 - -풏 -풏 -풏 -풏 -풏 - -풐 -풐 -풐 -풐 -풐 - -풑 -풑 -풑 -풑 -풑 - -풒 -풒 -풒 -풒 -풒 - -풓 -풓 -풓 -풓 -풓 - -풔 -풔 -풔 -풔 -풔 - -풕 -풕 -풕 -풕 -풕 - -풖 -풖 -풖 -풖 -풖 - -풗 -풗 -풗 -풗 -풗 - -풘 -풘 -풘 -풘 -풘 - -풙 -풙 -풙 -풙 -풙 - -풚 -풚 -풚 -풚 -풚 - -풛 -풛 -풛 -풛 -풛 - -풜 -풜 -풜 -풜 -풜 - -풝 -풝 -풝 -풝 -풝 - -풞 -풞 -풞 -풞 -풞 - -풟 -풟 -풟 -풟 -풟 - -풠 -풠 -풠 -풠 -풠 - -풡 -풡 -풡 -풡 -풡 - -풢 -풢 -풢 -풢 -풢 - -풣 -풣 -풣 -풣 -풣 - -풤 -풤 -풤 -풤 -풤 - -풥 -풥 -풥 -풥 -풥 - -풦 -풦 -풦 -풦 -풦 - -풧 -풧 -풧 -풧 -풧 - -풨 -풨 -풨 -풨 -풨 - -풩 -풩 -풩 -풩 -풩 - -풪 -풪 -풪 -풪 -풪 - -풫 -풫 -풫 -풫 -풫 - -풬 -풬 -풬 -풬 -풬 - -풭 -풭 -풭 -풭 -풭 - -풮 -풮 -풮 -풮 -풮 - -풯 -풯 -풯 -풯 -풯 - -풰 -풰 -풰 -풰 -풰 - -풱 -풱 -풱 -풱 -풱 - -풲 -풲 -풲 -풲 -풲 - -풳 -풳 -풳 -풳 -풳 - -풴 -풴 -풴 -풴 -풴 - -풵 -풵 -풵 -풵 -풵 - -풶 -풶 -풶 -풶 -풶 - -풷 -풷 -풷 -풷 -풷 - -풸 -풸 -풸 -풸 -풸 - -풹 -풹 -풹 -풹 -풹 - -풺 -풺 -풺 -풺 -풺 - -풻 -풻 -풻 -풻 -풻 - -풼 -풼 -풼 -풼 -풼 - -풽 -풽 -풽 -풽 -풽 - -풾 -풾 -풾 -풾 -풾 - -풿 -풿 -풿 -풿 -풿 - -퓀 -퓀 -퓀 -퓀 -퓀 - -퓁 -퓁 -퓁 -퓁 -퓁 - -퓂 -퓂 -퓂 -퓂 -퓂 - -퓃 -퓃 -퓃 -퓃 -퓃 - -퓄 -퓄 -퓄 -퓄 -퓄 - -퓅 -퓅 -퓅 -퓅 -퓅 - -퓆 -퓆 -퓆 -퓆 -퓆 - -퓇 -퓇 -퓇 -퓇 -퓇 - -퓈 -퓈 -퓈 -퓈 -퓈 - -퓉 -퓉 -퓉 -퓉 -퓉 - -퓊 -퓊 -퓊 -퓊 -퓊 - -퓋 -퓋 -퓋 -퓋 -퓋 - -퓌 -퓌 -퓌 -퓌 -퓌 - -퓍 -퓍 -퓍 -퓍 -퓍 - -퓎 -퓎 -퓎 -퓎 -퓎 - -퓏 -퓏 -퓏 -퓏 -퓏 - -퓐 -퓐 -퓐 -퓐 -퓐 - -퓑 -퓑 -퓑 -퓑 -퓑 - -퓒 -퓒 -퓒 -퓒 -퓒 - -퓓 -퓓 -퓓 -퓓 -퓓 - -퓔 -퓔 -퓔 -퓔 -퓔 - -퓕 -퓕 -퓕 -퓕 -퓕 - -퓖 -퓖 -퓖 -퓖 -퓖 - -퓗 -퓗 -퓗 -퓗 -퓗 - -퓘 -퓘 -퓘 -퓘 -퓘 - -퓙 -퓙 -퓙 -퓙 -퓙 - -퓚 -퓚 -퓚 -퓚 -퓚 - -퓛 -퓛 -퓛 -퓛 -퓛 - -퓜 -퓜 -퓜 -퓜 -퓜 - -퓝 -퓝 -퓝 -퓝 -퓝 - -퓞 -퓞 -퓞 -퓞 -퓞 - -퓟 -퓟 -퓟 -퓟 -퓟 - -퓠 -퓠 -퓠 -퓠 -퓠 - -퓡 -퓡 -퓡 -퓡 -퓡 - -퓢 -퓢 -퓢 -퓢 -퓢 - -퓣 -퓣 -퓣 -퓣 -퓣 - -퓤 -퓤 -퓤 -퓤 -퓤 - -퓥 -퓥 -퓥 -퓥 -퓥 - -퓦 -퓦 -퓦 -퓦 -퓦 - -퓧 -퓧 -퓧 -퓧 -퓧 - -퓨 -퓨 -퓨 -퓨 -퓨 - -퓩 -퓩 -퓩 -퓩 -퓩 - -퓪 -퓪 -퓪 -퓪 -퓪 - -퓫 -퓫 -퓫 -퓫 -퓫 - -퓬 -퓬 -퓬 -퓬 -퓬 - -퓭 -퓭 -퓭 -퓭 -퓭 - -퓮 -퓮 -퓮 -퓮 -퓮 - -퓯 -퓯 -퓯 -퓯 -퓯 - -퓰 -퓰 -퓰 -퓰 -퓰 - -퓱 -퓱 -퓱 -퓱 -퓱 - -퓲 -퓲 -퓲 -퓲 -퓲 - -퓳 -퓳 -퓳 -퓳 -퓳 - -퓴 -퓴 -퓴 -퓴 -퓴 - -퓵 -퓵 -퓵 -퓵 -퓵 - -퓶 -퓶 -퓶 -퓶 -퓶 - -퓷 -퓷 -퓷 -퓷 -퓷 - -퓸 -퓸 -퓸 -퓸 -퓸 - -퓹 -퓹 -퓹 -퓹 -퓹 - -퓺 -퓺 -퓺 -퓺 -퓺 - -퓻 -퓻 -퓻 -퓻 -퓻 - -퓼 -퓼 -퓼 -퓼 -퓼 - -퓽 -퓽 -퓽 -퓽 -퓽 - -퓾 -퓾 -퓾 -퓾 -퓾 - -퓿 -퓿 -퓿 -퓿 -퓿 - -픀 -픀 -픀 -픀 -픀 - -픁 -픁 -픁 -픁 -픁 - -픂 -픂 -픂 -픂 -픂 - -픃 -픃 -픃 -픃 -픃 - -프 -프 -프 -프 -프 - -픅 -픅 -픅 -픅 -픅 - -픆 -픆 -픆 -픆 -픆 - -픇 -픇 -픇 -픇 -픇 - -픈 -픈 -픈 -픈 -픈 - -픉 -픉 -픉 -픉 -픉 - -픊 -픊 -픊 -픊 -픊 - -픋 -픋 -픋 -픋 -픋 - -플 -플 -플 -플 -플 - -픍 -픍 -픍 -픍 -픍 - -픎 -픎 -픎 -픎 -픎 - -픏 -픏 -픏 -픏 -픏 - -픐 -픐 -픐 -픐 -픐 - -픑 -픑 -픑 -픑 -픑 - -픒 -픒 -픒 -픒 -픒 - -픓 -픓 -픓 -픓 -픓 - -픔 -픔 -픔 -픔 -픔 - -픕 -픕 -픕 -픕 -픕 - -픖 -픖 -픖 -픖 -픖 - -픗 -픗 -픗 -픗 -픗 - -픘 -픘 -픘 -픘 -픘 - -픙 -픙 -픙 -픙 -픙 - -픚 -픚 -픚 -픚 -픚 - -픛 -픛 -픛 -픛 -픛 - -픜 -픜 -픜 -픜 -픜 - -픝 -픝 -픝 -픝 -픝 - -픞 -픞 -픞 -픞 -픞 - -픟 -픟 -픟 -픟 -픟 - -픠 -픠 -픠 -픠 -픠 - -픡 -픡 -픡 -픡 -픡 - -픢 -픢 -픢 -픢 -픢 - -픣 -픣 -픣 -픣 -픣 - -픤 -픤 -픤 -픤 -픤 - -픥 -픥 -픥 -픥 -픥 - -픦 -픦 -픦 -픦 -픦 - -픧 -픧 -픧 -픧 -픧 - -픨 -픨 -픨 -픨 -픨 - -픩 -픩 -픩 -픩 -픩 - -픪 -픪 -픪 -픪 -픪 - -픫 -픫 -픫 -픫 -픫 - -픬 -픬 -픬 -픬 -픬 - -픭 -픭 -픭 -픭 -픭 - -픮 -픮 -픮 -픮 -픮 - -픯 -픯 -픯 -픯 -픯 - -픰 -픰 -픰 -픰 -픰 - -픱 -픱 -픱 -픱 -픱 - -픲 -픲 -픲 -픲 -픲 - -픳 -픳 -픳 -픳 -픳 - -픴 -픴 -픴 -픴 -픴 - -픵 -픵 -픵 -픵 -픵 - -픶 -픶 -픶 -픶 -픶 - -픷 -픷 -픷 -픷 -픷 - -픸 -픸 -픸 -픸 -픸 - -픹 -픹 -픹 -픹 -픹 - -픺 -픺 -픺 -픺 -픺 - -픻 -픻 -픻 -픻 -픻 - -피 -피 -피 -피 -피 - -픽 -픽 -픽 -픽 -픽 - -픾 -픾 -픾 -픾 -픾 - -픿 -픿 -픿 -픿 -픿 - -핀 -핀 -핀 -핀 -핀 - -핁 -핁 -핁 -핁 -핁 - -핂 -핂 -핂 -핂 -핂 - -핃 -핃 -핃 -핃 -핃 - -필 -필 -필 -필 -필 - -핅 -핅 -핅 -핅 -핅 - -핆 -핆 -핆 -핆 -핆 - -핇 -핇 -핇 -핇 -핇 - -핈 -핈 -핈 -핈 -핈 - -핉 -핉 -핉 -핉 -핉 - -핊 -핊 -핊 -핊 -핊 - -핋 -핋 -핋 -핋 -핋 - -핌 -핌 -핌 -핌 -핌 - -핍 -핍 -핍 -핍 -핍 - -핎 -핎 -핎 -핎 -핎 - -핏 -핏 -핏 -핏 -핏 - -핐 -핐 -핐 -핐 -핐 - -핑 -핑 -핑 -핑 -핑 - -핒 -핒 -핒 -핒 -핒 - -핓 -핓 -핓 -핓 -핓 - -핔 -핔 -핔 -핔 -핔 - -핕 -핕 -핕 -핕 -핕 - -핖 -핖 -핖 -핖 -핖 - -핗 -핗 -핗 -핗 -핗 - -하 -하 -하 -하 -하 - -학 -학 -학 -학 -학 - -핚 -핚 -핚 -핚 -핚 - -핛 -핛 -핛 -핛 -핛 - -한 -한 -한 -한 -한 - -핝 -핝 -핝 -핝 -핝 - -핞 -핞 -핞 -핞 -핞 - -핟 -핟 -핟 -핟 -핟 - -할 -할 -할 -할 -할 - -핡 -핡 -핡 -핡 -핡 - -핢 -핢 -핢 -핢 -핢 - -핣 -핣 -핣 -핣 -핣 - -핤 -핤 -핤 -핤 -핤 - -핥 -핥 -핥 -핥 -핥 - -핦 -핦 -핦 -핦 -핦 - -핧 -핧 -핧 -핧 -핧 - -함 -함 -함 -함 -함 - -합 -합 -합 -합 -합 - -핪 -핪 -핪 -핪 -핪 - -핫 -핫 -핫 -핫 -핫 - -핬 -핬 -핬 -핬 -핬 - -항 -항 -항 -항 -항 - -핮 -핮 -핮 -핮 -핮 - -핯 -핯 -핯 -핯 -핯 - -핰 -핰 -핰 -핰 -핰 - -핱 -핱 -핱 -핱 -핱 - -핲 -핲 -핲 -핲 -핲 - -핳 -핳 -핳 -핳 -핳 - -해 -해 -해 -해 -해 - -핵 -핵 -핵 -핵 -핵 - -핶 -핶 -핶 -핶 -핶 - -핷 -핷 -핷 -핷 -핷 - -핸 -핸 -핸 -핸 -핸 - -핹 -핹 -핹 -핹 -핹 - -핺 -핺 -핺 -핺 -핺 - -핻 -핻 -핻 -핻 -핻 - -핼 -핼 -핼 -핼 -핼 - -핽 -핽 -핽 -핽 -핽 - -핾 -핾 -핾 -핾 -핾 - -핿 -핿 -핿 -핿 -핿 - -햀 -햀 -햀 -햀 -햀 - -햁 -햁 -햁 -햁 -햁 - -햂 -햂 -햂 -햂 -햂 - -햃 -햃 -햃 -햃 -햃 - -햄 -햄 -햄 -햄 -햄 - -햅 -햅 -햅 -햅 -햅 - -햆 -햆 -햆 -햆 -햆 - -햇 -햇 -햇 -햇 -햇 - -했 -했 -했 -했 -했 - -행 -행 -행 -행 -행 - -햊 -햊 -햊 -햊 -햊 - -햋 -햋 -햋 -햋 -햋 - -햌 -햌 -햌 -햌 -햌 - -햍 -햍 -햍 -햍 -햍 - -햎 -햎 -햎 -햎 -햎 - -햏 -햏 -햏 -햏 -햏 - -햐 -햐 -햐 -햐 -햐 - -햑 -햑 -햑 -햑 -햑 - -햒 -햒 -햒 -햒 -햒 - -햓 -햓 -햓 -햓 -햓 - -햔 -햔 -햔 -햔 -햔 - -햕 -햕 -햕 -햕 -햕 - -햖 -햖 -햖 -햖 -햖 - -햗 -햗 -햗 -햗 -햗 - -햘 -햘 -햘 -햘 -햘 - -햙 -햙 -햙 -햙 -햙 - -햚 -햚 -햚 -햚 -햚 - -햛 -햛 -햛 -햛 -햛 - -햜 -햜 -햜 -햜 -햜 - -햝 -햝 -햝 -햝 -햝 - -햞 -햞 -햞 -햞 -햞 - -햟 -햟 -햟 -햟 -햟 - -햠 -햠 -햠 -햠 -햠 - -햡 -햡 -햡 -햡 -햡 - -햢 -햢 -햢 -햢 -햢 - -햣 -햣 -햣 -햣 -햣 - -햤 -햤 -햤 -햤 -햤 - -향 -향 -향 -향 -향 - -햦 -햦 -햦 -햦 -햦 - -햧 -햧 -햧 -햧 -햧 - -햨 -햨 -햨 -햨 -햨 - -햩 -햩 -햩 -햩 -햩 - -햪 -햪 -햪 -햪 -햪 - -햫 -햫 -햫 -햫 -햫 - -햬 -햬 -햬 -햬 -햬 - -햭 -햭 -햭 -햭 -햭 - -햮 -햮 -햮 -햮 -햮 - -햯 -햯 -햯 -햯 -햯 - -햰 -햰 -햰 -햰 -햰 - -햱 -햱 -햱 -햱 -햱 - -햲 -햲 -햲 -햲 -햲 - -햳 -햳 -햳 -햳 -햳 - -햴 -햴 -햴 -햴 -햴 - -햵 -햵 -햵 -햵 -햵 - -햶 -햶 -햶 -햶 -햶 - -햷 -햷 -햷 -햷 -햷 - -햸 -햸 -햸 -햸 -햸 - -햹 -햹 -햹 -햹 -햹 - -햺 -햺 -햺 -햺 -햺 - -햻 -햻 -햻 -햻 -햻 - -햼 -햼 -햼 -햼 -햼 - -햽 -햽 -햽 -햽 -햽 - -햾 -햾 -햾 -햾 -햾 - -햿 -햿 -햿 -햿 -햿 - -헀 -헀 -헀 -헀 -헀 - -헁 -헁 -헁 -헁 -헁 - -헂 -헂 -헂 -헂 -헂 - -헃 -헃 -헃 -헃 -헃 - -헄 -헄 -헄 -헄 -헄 - -헅 -헅 -헅 -헅 -헅 - -헆 -헆 -헆 -헆 -헆 - -헇 -헇 -헇 -헇 -헇 - -허 -허 -허 -허 -허 - -헉 -헉 -헉 -헉 -헉 - -헊 -헊 -헊 -헊 -헊 - -헋 -헋 -헋 -헋 -헋 - -헌 -헌 -헌 -헌 -헌 - -헍 -헍 -헍 -헍 -헍 - -헎 -헎 -헎 -헎 -헎 - -헏 -헏 -헏 -헏 -헏 - -헐 -헐 -헐 -헐 -헐 - -헑 -헑 -헑 -헑 -헑 - -헒 -헒 -헒 -헒 -헒 - -헓 -헓 -헓 -헓 -헓 - -헔 -헔 -헔 -헔 -헔 - -헕 -헕 -헕 -헕 -헕 - -헖 -헖 -헖 -헖 -헖 - -헗 -헗 -헗 -헗 -헗 - -험 -험 -험 -험 -험 - -헙 -헙 -헙 -헙 -헙 - -헚 -헚 -헚 -헚 -헚 - -헛 -헛 -헛 -헛 -헛 - -헜 -헜 -헜 -헜 -헜 - -헝 -헝 -헝 -헝 -헝 - -헞 -헞 -헞 -헞 -헞 - -헟 -헟 -헟 -헟 -헟 - -헠 -헠 -헠 -헠 -헠 - -헡 -헡 -헡 -헡 -헡 - -헢 -헢 -헢 -헢 -헢 - -헣 -헣 -헣 -헣 -헣 - -헤 -헤 -헤 -헤 -헤 - -헥 -헥 -헥 -헥 -헥 - -헦 -헦 -헦 -헦 -헦 - -헧 -헧 -헧 -헧 -헧 - -헨 -헨 -헨 -헨 -헨 - -헩 -헩 -헩 -헩 -헩 - -헪 -헪 -헪 -헪 -헪 - -헫 -헫 -헫 -헫 -헫 - -헬 -헬 -헬 -헬 -헬 - -헭 -헭 -헭 -헭 -헭 - -헮 -헮 -헮 -헮 -헮 - -헯 -헯 -헯 -헯 -헯 - -헰 -헰 -헰 -헰 -헰 - -헱 -헱 -헱 -헱 -헱 - -헲 -헲 -헲 -헲 -헲 - -헳 -헳 -헳 -헳 -헳 - -헴 -헴 -헴 -헴 -헴 - -헵 -헵 -헵 -헵 -헵 - -헶 -헶 -헶 -헶 -헶 - -헷 -헷 -헷 -헷 -헷 - -헸 -헸 -헸 -헸 -헸 - -헹 -헹 -헹 -헹 -헹 - -헺 -헺 -헺 -헺 -헺 - -헻 -헻 -헻 -헻 -헻 - -헼 -헼 -헼 -헼 -헼 - -헽 -헽 -헽 -헽 -헽 - -헾 -헾 -헾 -헾 -헾 - -헿 -헿 -헿 -헿 -헿 - -혀 -혀 -혀 -혀 -혀 - -혁 -혁 -혁 -혁 -혁 - -혂 -혂 -혂 -혂 -혂 - -혃 -혃 -혃 -혃 -혃 - -현 -현 -현 -현 -현 - -혅 -혅 -혅 -혅 -혅 - -혆 -혆 -혆 -혆 -혆 - -혇 -혇 -혇 -혇 -혇 - -혈 -혈 -혈 -혈 -혈 - -혉 -혉 -혉 -혉 -혉 - -혊 -혊 -혊 -혊 -혊 - -혋 -혋 -혋 -혋 -혋 - -혌 -혌 -혌 -혌 -혌 - -혍 -혍 -혍 -혍 -혍 - -혎 -혎 -혎 -혎 -혎 - -혏 -혏 -혏 -혏 -혏 - -혐 -혐 -혐 -혐 -혐 - -협 -협 -협 -협 -협 - -혒 -혒 -혒 -혒 -혒 - -혓 -혓 -혓 -혓 -혓 - -혔 -혔 -혔 -혔 -혔 - -형 -형 -형 -형 -형 - -혖 -혖 -혖 -혖 -혖 - -혗 -혗 -혗 -혗 -혗 - -혘 -혘 -혘 -혘 -혘 - -혙 -혙 -혙 -혙 -혙 - -혚 -혚 -혚 -혚 -혚 - -혛 -혛 -혛 -혛 -혛 - -혜 -혜 -혜 -혜 -혜 - -혝 -혝 -혝 -혝 -혝 - -혞 -혞 -혞 -혞 -혞 - -혟 -혟 -혟 -혟 -혟 - -혠 -혠 -혠 -혠 -혠 - -혡 -혡 -혡 -혡 -혡 - -혢 -혢 -혢 -혢 -혢 - -혣 -혣 -혣 -혣 -혣 - -혤 -혤 -혤 -혤 -혤 - -혥 -혥 -혥 -혥 -혥 - -혦 -혦 -혦 -혦 -혦 - -혧 -혧 -혧 -혧 -혧 - -혨 -혨 -혨 -혨 -혨 - -혩 -혩 -혩 -혩 -혩 - -혪 -혪 -혪 -혪 -혪 - -혫 -혫 -혫 -혫 -혫 - -혬 -혬 -혬 -혬 -혬 - -혭 -혭 -혭 -혭 -혭 - -혮 -혮 -혮 -혮 -혮 - -혯 -혯 -혯 -혯 -혯 - -혰 -혰 -혰 -혰 -혰 - -혱 -혱 -혱 -혱 -혱 - -혲 -혲 -혲 -혲 -혲 - -혳 -혳 -혳 -혳 -혳 - -혴 -혴 -혴 -혴 -혴 - -혵 -혵 -혵 -혵 -혵 - -혶 -혶 -혶 -혶 -혶 - -혷 -혷 -혷 -혷 -혷 - -호 -호 -호 -호 -호 - -혹 -혹 -혹 -혹 -혹 - -혺 -혺 -혺 -혺 -혺 - -혻 -혻 -혻 -혻 -혻 - -혼 -혼 -혼 -혼 -혼 - -혽 -혽 -혽 -혽 -혽 - -혾 -혾 -혾 -혾 -혾 - -혿 -혿 -혿 -혿 -혿 - -홀 -홀 -홀 -홀 -홀 - -홁 -홁 -홁 -홁 -홁 - -홂 -홂 -홂 -홂 -홂 - -홃 -홃 -홃 -홃 -홃 - -홄 -홄 -홄 -홄 -홄 - -홅 -홅 -홅 -홅 -홅 - -홆 -홆 -홆 -홆 -홆 - -홇 -홇 -홇 -홇 -홇 - -홈 -홈 -홈 -홈 -홈 - -홉 -홉 -홉 -홉 -홉 - -홊 -홊 -홊 -홊 -홊 - -홋 -홋 -홋 -홋 -홋 - -홌 -홌 -홌 -홌 -홌 - -홍 -홍 -홍 -홍 -홍 - -홎 -홎 -홎 -홎 -홎 - -홏 -홏 -홏 -홏 -홏 - -홐 -홐 -홐 -홐 -홐 - -홑 -홑 -홑 -홑 -홑 - -홒 -홒 -홒 -홒 -홒 - -홓 -홓 -홓 -홓 -홓 - -화 -화 -화 -화 -화 - -확 -확 -확 -확 -확 - -홖 -홖 -홖 -홖 -홖 - -홗 -홗 -홗 -홗 -홗 - -환 -환 -환 -환 -환 - -홙 -홙 -홙 -홙 -홙 - -홚 -홚 -홚 -홚 -홚 - -홛 -홛 -홛 -홛 -홛 - -활 -활 -활 -활 -활 - -홝 -홝 -홝 -홝 -홝 - -홞 -홞 -홞 -홞 -홞 - -홟 -홟 -홟 -홟 -홟 - -홠 -홠 -홠 -홠 -홠 - -홡 -홡 -홡 -홡 -홡 - -홢 -홢 -홢 -홢 -홢 - -홣 -홣 -홣 -홣 -홣 - -홤 -홤 -홤 -홤 -홤 - -홥 -홥 -홥 -홥 -홥 - -홦 -홦 -홦 -홦 -홦 - -홧 -홧 -홧 -홧 -홧 - -홨 -홨 -홨 -홨 -홨 - -황 -황 -황 -황 -황 - -홪 -홪 -홪 -홪 -홪 - -홫 -홫 -홫 -홫 -홫 - -홬 -홬 -홬 -홬 -홬 - -홭 -홭 -홭 -홭 -홭 - -홮 -홮 -홮 -홮 -홮 - -홯 -홯 -홯 -홯 -홯 - -홰 -홰 -홰 -홰 -홰 - -홱 -홱 -홱 -홱 -홱 - -홲 -홲 -홲 -홲 -홲 - -홳 -홳 -홳 -홳 -홳 - -홴 -홴 -홴 -홴 -홴 - -홵 -홵 -홵 -홵 -홵 - -홶 -홶 -홶 -홶 -홶 - -홷 -홷 -홷 -홷 -홷 - -홸 -홸 -홸 -홸 -홸 - -홹 -홹 -홹 -홹 -홹 - -홺 -홺 -홺 -홺 -홺 - -홻 -홻 -홻 -홻 -홻 - -홼 -홼 -홼 -홼 -홼 - -홽 -홽 -홽 -홽 -홽 - -홾 -홾 -홾 -홾 -홾 - -홿 -홿 -홿 -홿 -홿 - -횀 -횀 -횀 -횀 -횀 - -횁 -횁 -횁 -횁 -횁 - -횂 -횂 -횂 -횂 -횂 - -횃 -횃 -횃 -횃 -횃 - -횄 -횄 -횄 -횄 -횄 - -횅 -횅 -횅 -횅 -횅 - -횆 -횆 -횆 -횆 -횆 - -횇 -횇 -횇 -횇 -횇 - -횈 -횈 -횈 -횈 -횈 - -횉 -횉 -횉 -횉 -횉 - -횊 -횊 -횊 -횊 -횊 - -횋 -횋 -횋 -횋 -횋 - -회 -회 -회 -회 -회 - -획 -획 -획 -획 -획 - -횎 -횎 -횎 -횎 -횎 - -횏 -횏 -횏 -횏 -횏 - -횐 -횐 -횐 -횐 -횐 - -횑 -횑 -횑 -횑 -횑 - -횒 -횒 -횒 -횒 -횒 - -횓 -횓 -횓 -횓 -횓 - -횔 -횔 -횔 -횔 -횔 - -횕 -횕 -횕 -횕 -횕 - -횖 -횖 -횖 -횖 -횖 - -횗 -횗 -횗 -횗 -횗 - -횘 -횘 -횘 -횘 -횘 - -횙 -횙 -횙 -횙 -횙 - -횚 -횚 -횚 -횚 -횚 - -횛 -횛 -횛 -횛 -횛 - -횜 -횜 -횜 -횜 -횜 - -횝 -횝 -횝 -횝 -횝 - -횞 -횞 -횞 -횞 -횞 - -횟 -횟 -횟 -횟 -횟 - -횠 -횠 -횠 -횠 -횠 - -횡 -횡 -횡 -횡 -횡 - -횢 -횢 -횢 -횢 -횢 - -횣 -횣 -횣 -횣 -횣 - -횤 -횤 -횤 -횤 -횤 - -횥 -횥 -횥 -횥 -횥 - -횦 -횦 -횦 -횦 -횦 - -횧 -횧 -횧 -횧 -횧 - -효 -효 -효 -효 -효 - -횩 -횩 -횩 -횩 -횩 - -횪 -횪 -횪 -횪 -횪 - -횫 -횫 -횫 -횫 -횫 - -횬 -횬 -횬 -횬 -횬 - -횭 -횭 -횭 -횭 -횭 - -횮 -횮 -횮 -횮 -횮 - -횯 -횯 -횯 -횯 -횯 - -횰 -횰 -횰 -횰 -횰 - -횱 -횱 -횱 -횱 -횱 - -횲 -횲 -횲 -횲 -횲 - -횳 -횳 -횳 -횳 -횳 - -횴 -횴 -횴 -횴 -횴 - -횵 -횵 -횵 -횵 -횵 - -횶 -횶 -횶 -횶 -횶 - -횷 -횷 -횷 -횷 -횷 - -횸 -횸 -횸 -횸 -횸 - -횹 -횹 -횹 -횹 -횹 - -횺 -횺 -횺 -횺 -횺 - -횻 -횻 -횻 -횻 -횻 - -횼 -횼 -횼 -횼 -횼 - -횽 -횽 -횽 -횽 -횽 - -횾 -횾 -횾 -횾 -횾 - -횿 -횿 -횿 -횿 -횿 - -훀 -훀 -훀 -훀 -훀 - -훁 -훁 -훁 -훁 -훁 - -훂 -훂 -훂 -훂 -훂 - -훃 -훃 -훃 -훃 -훃 - -후 -후 -후 -후 -후 - -훅 -훅 -훅 -훅 -훅 - -훆 -훆 -훆 -훆 -훆 - -훇 -훇 -훇 -훇 -훇 - -훈 -훈 -훈 -훈 -훈 - -훉 -훉 -훉 -훉 -훉 - -훊 -훊 -훊 -훊 -훊 - -훋 -훋 -훋 -훋 -훋 - -훌 -훌 -훌 -훌 -훌 - -훍 -훍 -훍 -훍 -훍 - -훎 -훎 -훎 -훎 -훎 - -훏 -훏 -훏 -훏 -훏 - -훐 -훐 -훐 -훐 -훐 - -훑 -훑 -훑 -훑 -훑 - -훒 -훒 -훒 -훒 -훒 - -훓 -훓 -훓 -훓 -훓 - -훔 -훔 -훔 -훔 -훔 - -훕 -훕 -훕 -훕 -훕 - -훖 -훖 -훖 -훖 -훖 - -훗 -훗 -훗 -훗 -훗 - -훘 -훘 -훘 -훘 -훘 - -훙 -훙 -훙 -훙 -훙 - -훚 -훚 -훚 -훚 -훚 - -훛 -훛 -훛 -훛 -훛 - -훜 -훜 -훜 -훜 -훜 - -훝 -훝 -훝 -훝 -훝 - -훞 -훞 -훞 -훞 -훞 - -훟 -훟 -훟 -훟 -훟 - -훠 -훠 -훠 -훠 -훠 - -훡 -훡 -훡 -훡 -훡 - -훢 -훢 -훢 -훢 -훢 - -훣 -훣 -훣 -훣 -훣 - -훤 -훤 -훤 -훤 -훤 - -훥 -훥 -훥 -훥 -훥 - -훦 -훦 -훦 -훦 -훦 - -훧 -훧 -훧 -훧 -훧 - -훨 -훨 -훨 -훨 -훨 - -훩 -훩 -훩 -훩 -훩 - -훪 -훪 -훪 -훪 -훪 - -훫 -훫 -훫 -훫 -훫 - -훬 -훬 -훬 -훬 -훬 - -훭 -훭 -훭 -훭 -훭 - -훮 -훮 -훮 -훮 -훮 - -훯 -훯 -훯 -훯 -훯 - -훰 -훰 -훰 -훰 -훰 - -훱 -훱 -훱 -훱 -훱 - -훲 -훲 -훲 -훲 -훲 - -훳 -훳 -훳 -훳 -훳 - -훴 -훴 -훴 -훴 -훴 - -훵 -훵 -훵 -훵 -훵 - -훶 -훶 -훶 -훶 -훶 - -훷 -훷 -훷 -훷 -훷 - -훸 -훸 -훸 -훸 -훸 - -훹 -훹 -훹 -훹 -훹 - -훺 -훺 -훺 -훺 -훺 - -훻 -훻 -훻 -훻 -훻 - -훼 -훼 -훼 -훼 -훼 - -훽 -훽 -훽 -훽 -훽 - -훾 -훾 -훾 -훾 -훾 - -훿 -훿 -훿 -훿 -훿 - -휀 -휀 -휀 -휀 -휀 - -휁 -휁 -휁 -휁 -휁 - -휂 -휂 -휂 -휂 -휂 - -휃 -휃 -휃 -휃 -휃 - -휄 -휄 -휄 -휄 -휄 - -휅 -휅 -휅 -휅 -휅 - -휆 -휆 -휆 -휆 -휆 - -휇 -휇 -휇 -휇 -휇 - -휈 -휈 -휈 -휈 -휈 - -휉 -휉 -휉 -휉 -휉 - -휊 -휊 -휊 -휊 -휊 - -휋 -휋 -휋 -휋 -휋 - -휌 -휌 -휌 -휌 -휌 - -휍 -휍 -휍 -휍 -휍 - -휎 -휎 -휎 -휎 -휎 - -휏 -휏 -휏 -휏 -휏 - -휐 -휐 -휐 -휐 -휐 - -휑 -휑 -휑 -휑 -휑 - -휒 -휒 -휒 -휒 -휒 - -휓 -휓 -휓 -휓 -휓 - -휔 -휔 -휔 -휔 -휔 - -휕 -휕 -휕 -휕 -휕 - -휖 -휖 -휖 -휖 -휖 - -휗 -휗 -휗 -휗 -휗 - -휘 -휘 -휘 -휘 -휘 - -휙 -휙 -휙 -휙 -휙 - -휚 -휚 -휚 -휚 -휚 - -휛 -휛 -휛 -휛 -휛 - -휜 -휜 -휜 -휜 -휜 - -휝 -휝 -휝 -휝 -휝 - -휞 -휞 -휞 -휞 -휞 - -휟 -휟 -휟 -휟 -휟 - -휠 -휠 -휠 -휠 -휠 - -휡 -휡 -휡 -휡 -휡 - -휢 -휢 -휢 -휢 -휢 - -휣 -휣 -휣 -휣 -휣 - -휤 -휤 -휤 -휤 -휤 - -휥 -휥 -휥 -휥 -휥 - -휦 -휦 -휦 -휦 -휦 - -휧 -휧 -휧 -휧 -휧 - -휨 -휨 -휨 -휨 -휨 - -휩 -휩 -휩 -휩 -휩 - -휪 -휪 -휪 -휪 -휪 - -휫 -휫 -휫 -휫 -휫 - -휬 -휬 -휬 -휬 -휬 - -휭 -휭 -휭 -휭 -휭 - -휮 -휮 -휮 -휮 -휮 - -휯 -휯 -휯 -휯 -휯 - -휰 -휰 -휰 -휰 -휰 - -휱 -휱 -휱 -휱 -휱 - -휲 -휲 -휲 -휲 -휲 - -휳 -휳 -휳 -휳 -휳 - -휴 -휴 -휴 -휴 -휴 - -휵 -휵 -휵 -휵 -휵 - -휶 -휶 -휶 -휶 -휶 - -휷 -휷 -휷 -휷 -휷 - -휸 -휸 -휸 -휸 -휸 - -휹 -휹 -휹 -휹 -휹 - -휺 -휺 -휺 -휺 -휺 - -휻 -휻 -휻 -휻 -휻 - -휼 -휼 -휼 -휼 -휼 - -휽 -휽 -휽 -휽 -휽 - -휾 -휾 -휾 -휾 -휾 - -휿 -휿 -휿 -휿 -휿 - -흀 -흀 -흀 -흀 -흀 - -흁 -흁 -흁 -흁 -흁 - -흂 -흂 -흂 -흂 -흂 - -흃 -흃 -흃 -흃 -흃 - -흄 -흄 -흄 -흄 -흄 - -흅 -흅 -흅 -흅 -흅 - -흆 -흆 -흆 -흆 -흆 - -흇 -흇 -흇 -흇 -흇 - -흈 -흈 -흈 -흈 -흈 - -흉 -흉 -흉 -흉 -흉 - -흊 -흊 -흊 -흊 -흊 - -흋 -흋 -흋 -흋 -흋 - -흌 -흌 -흌 -흌 -흌 - -흍 -흍 -흍 -흍 -흍 - -흎 -흎 -흎 -흎 -흎 - -흏 -흏 -흏 -흏 -흏 - -흐 -흐 -흐 -흐 -흐 - -흑 -흑 -흑 -흑 -흑 - -흒 -흒 -흒 -흒 -흒 - -흓 -흓 -흓 -흓 -흓 - -흔 -흔 -흔 -흔 -흔 - -흕 -흕 -흕 -흕 -흕 - -흖 -흖 -흖 -흖 -흖 - -흗 -흗 -흗 -흗 -흗 - -흘 -흘 -흘 -흘 -흘 - -흙 -흙 -흙 -흙 -흙 - -흚 -흚 -흚 -흚 -흚 - -흛 -흛 -흛 -흛 -흛 - -흜 -흜 -흜 -흜 -흜 - -흝 -흝 -흝 -흝 -흝 - -흞 -흞 -흞 -흞 -흞 - -흟 -흟 -흟 -흟 -흟 - -흠 -흠 -흠 -흠 -흠 - -흡 -흡 -흡 -흡 -흡 - -흢 -흢 -흢 -흢 -흢 - -흣 -흣 -흣 -흣 -흣 - -흤 -흤 -흤 -흤 -흤 - -흥 -흥 -흥 -흥 -흥 - -흦 -흦 -흦 -흦 -흦 - -흧 -흧 -흧 -흧 -흧 - -흨 -흨 -흨 -흨 -흨 - -흩 -흩 -흩 -흩 -흩 - -흪 -흪 -흪 -흪 -흪 - -흫 -흫 -흫 -흫 -흫 - -희 -희 -희 -희 -희 - -흭 -흭 -흭 -흭 -흭 - -흮 -흮 -흮 -흮 -흮 - -흯 -흯 -흯 -흯 -흯 - -흰 -흰 -흰 -흰 -흰 - -흱 -흱 -흱 -흱 -흱 - -흲 -흲 -흲 -흲 -흲 - -흳 -흳 -흳 -흳 -흳 - -흴 -흴 -흴 -흴 -흴 - -흵 -흵 -흵 -흵 -흵 - -흶 -흶 -흶 -흶 -흶 - -흷 -흷 -흷 -흷 -흷 - -흸 -흸 -흸 -흸 -흸 - -흹 -흹 -흹 -흹 -흹 - -흺 -흺 -흺 -흺 -흺 - -흻 -흻 -흻 -흻 -흻 - -흼 -흼 -흼 -흼 -흼 - -흽 -흽 -흽 -흽 -흽 - -흾 -흾 -흾 -흾 -흾 - -흿 -흿 -흿 -흿 -흿 - -힀 -힀 -힀 -힀 -힀 - -힁 -힁 -힁 -힁 -힁 - -힂 -힂 -힂 -힂 -힂 - -힃 -힃 -힃 -힃 -힃 - -힄 -힄 -힄 -힄 -힄 - -힅 -힅 -힅 -힅 -힅 - -힆 -힆 -힆 -힆 -힆 - -힇 -힇 -힇 -힇 -힇 - -히 -히 -히 -히 -히 - -힉 -힉 -힉 -힉 -힉 - -힊 -힊 -힊 -힊 -힊 - -힋 -힋 -힋 -힋 -힋 - -힌 -힌 -힌 -힌 -힌 - -힍 -힍 -힍 -힍 -힍 - -힎 -힎 -힎 -힎 -힎 - -힏 -힏 -힏 -힏 -힏 - -힐 -힐 -힐 -힐 -힐 - -힑 -힑 -힑 -힑 -힑 - -힒 -힒 -힒 -힒 -힒 - -힓 -힓 -힓 -힓 -힓 - -힔 -힔 -힔 -힔 -힔 - -힕 -힕 -힕 -힕 -힕 - -힖 -힖 -힖 -힖 -힖 - -힗 -힗 -힗 -힗 -힗 - -힘 -힘 -힘 -힘 -힘 - -힙 -힙 -힙 -힙 -힙 - -힚 -힚 -힚 -힚 -힚 - -힛 -힛 -힛 -힛 -힛 - -힜 -힜 -힜 -힜 -힜 - -힝 -힝 -힝 -힝 -힝 - -힞 -힞 -힞 -힞 -힞 - -힟 -힟 -힟 -힟 -힟 - -힠 -힠 -힠 -힠 -힠 - -힡 -힡 -힡 -힡 -힡 - -힢 -힢 -힢 -힢 -힢 - -힣 -힣 -힣 -힣 -힣 - -豈 -豈 -豈 -豈 -豈 - -更 -更 -更 -更 -更 - -車 -車 -車 -車 -車 - -賈 -賈 -賈 -賈 -賈 - -滑 -滑 -滑 -滑 -滑 - -串 -串 -串 -串 -串 - -句 -句 -句 -句 -句 - -龜 -龜 -龜 -龜 -龜 - -龜 -龜 -龜 -龜 -龜 - -契 -契 -契 -契 -契 - -金 -金 -金 -金 -金 - -喇 -喇 -喇 -喇 -喇 - -奈 -奈 -奈 -奈 -奈 - -懶 -懶 -懶 -懶 -懶 - -癩 -癩 -癩 -癩 -癩 - -羅 -羅 -羅 -羅 -羅 - -蘿 -蘿 -蘿 -蘿 -蘿 - -螺 -螺 -螺 -螺 -螺 - -裸 -裸 -裸 -裸 -裸 - -邏 -邏 -邏 -邏 -邏 - -樂 -樂 -樂 -樂 -樂 - -洛 -洛 -洛 -洛 -洛 - -烙 -烙 -烙 -烙 -烙 - -珞 -珞 -珞 -珞 -珞 - -落 -落 -落 -落 -落 - -酪 -酪 -酪 -酪 -酪 - -駱 -駱 -駱 -駱 -駱 - -亂 -亂 -亂 -亂 -亂 - -卵 -卵 -卵 -卵 -卵 - -欄 -欄 -欄 -欄 -欄 - -爛 -爛 -爛 -爛 -爛 - -蘭 -蘭 -蘭 -蘭 -蘭 - -鸞 -鸞 -鸞 -鸞 -鸞 - -嵐 -嵐 -嵐 -嵐 -嵐 - -濫 -濫 -濫 -濫 -濫 - -藍 -藍 -藍 -藍 -藍 - -襤 -襤 -襤 -襤 -襤 - -拉 -拉 -拉 -拉 -拉 - -臘 -臘 -臘 -臘 -臘 - -蠟 -蠟 -蠟 -蠟 -蠟 - -廊 -廊 -廊 -廊 -廊 - -朗 -朗 -朗 -朗 -朗 - -浪 -浪 -浪 -浪 -浪 - -狼 -狼 -狼 -狼 -狼 - -郎 -郎 -郎 -郎 -郎 - -來 -來 -來 -來 -來 - -冷 -冷 -冷 -冷 -冷 - -勞 -勞 -勞 -勞 -勞 - -擄 -擄 -擄 -擄 -擄 - -櫓 -櫓 -櫓 -櫓 -櫓 - -爐 -爐 -爐 -爐 -爐 - -盧 -盧 -盧 -盧 -盧 - -老 -老 -老 -老 -老 - -蘆 -蘆 -蘆 -蘆 -蘆 - -虜 -虜 -虜 -虜 -虜 - -路 -路 -路 -路 -路 - -露 -露 -露 -露 -露 - -魯 -魯 -魯 -魯 -魯 - -鷺 -鷺 -鷺 -鷺 -鷺 - -碌 -碌 -碌 -碌 -碌 - -祿 -祿 -祿 -祿 -祿 - -綠 -綠 -綠 -綠 -綠 - -菉 -菉 -菉 -菉 -菉 - -錄 -錄 -錄 -錄 -錄 - -鹿 -鹿 -鹿 -鹿 -鹿 - -論 -論 -論 -論 -論 - -壟 -壟 -壟 -壟 -壟 - -弄 -弄 -弄 -弄 -弄 - -籠 -籠 -籠 -籠 -籠 - -聾 -聾 -聾 -聾 -聾 - -牢 -牢 -牢 -牢 -牢 - -磊 -磊 -磊 -磊 -磊 - -賂 -賂 -賂 -賂 -賂 - -雷 -雷 -雷 -雷 -雷 - -壘 -壘 -壘 -壘 -壘 - -屢 -屢 -屢 -屢 -屢 - -樓 -樓 -樓 -樓 -樓 - -淚 -淚 -淚 -淚 -淚 - -漏 -漏 -漏 -漏 -漏 - -累 -累 -累 -累 -累 - -縷 -縷 -縷 -縷 -縷 - -陋 -陋 -陋 -陋 -陋 - -勒 -勒 -勒 -勒 -勒 - -肋 -肋 -肋 -肋 -肋 - -凜 -凜 -凜 -凜 -凜 - -凌 -凌 -凌 -凌 -凌 - -稜 -稜 -稜 -稜 -稜 - -綾 -綾 -綾 -綾 -綾 - -菱 -菱 -菱 -菱 -菱 - -陵 -陵 -陵 -陵 -陵 - -讀 -讀 -讀 -讀 -讀 - -拏 -拏 -拏 -拏 -拏 - -樂 -樂 -樂 -樂 -樂 - -諾 -諾 -諾 -諾 -諾 - -丹 -丹 -丹 -丹 -丹 - -寧 -寧 -寧 -寧 -寧 - -怒 -怒 -怒 -怒 -怒 - -率 -率 -率 -率 -率 - -異 -異 -異 -異 -異 - -北 -北 -北 -北 -北 - -磻 -磻 -磻 -磻 -磻 - -便 -便 -便 -便 -便 - -復 -復 -復 -復 -復 - -不 -不 -不 -不 -不 - -泌 -泌 -泌 -泌 -泌 - -數 -數 -數 -數 -數 - -索 -索 -索 -索 -索 - -參 -參 -參 -參 -參 - -塞 -塞 -塞 -塞 -塞 - -省 -省 -省 -省 -省 - -葉 -葉 -葉 -葉 -葉 - -說 -說 -說 -說 -說 - -殺 -殺 -殺 -殺 -殺 - -辰 -辰 -辰 -辰 -辰 - -沈 -沈 -沈 -沈 -沈 - -拾 -拾 -拾 -拾 -拾 - -若 -若 -若 -若 -若 - -掠 -掠 -掠 -掠 -掠 - -略 -略 -略 -略 -略 - -亮 -亮 -亮 -亮 -亮 - -兩 -兩 -兩 -兩 -兩 - -凉 -凉 -凉 -凉 -凉 - -梁 -梁 -梁 -梁 -梁 - -糧 -糧 -糧 -糧 -糧 - -良 -良 -良 -良 -良 - -諒 -諒 -諒 -諒 -諒 - -量 -量 -量 -量 -量 - -勵 -勵 -勵 -勵 -勵 - -呂 -呂 -呂 -呂 -呂 - -女 -女 -女 -女 -女 - -廬 -廬 -廬 -廬 -廬 - -旅 -旅 -旅 -旅 -旅 - -濾 -濾 -濾 -濾 -濾 - -礪 -礪 -礪 -礪 -礪 - -閭 -閭 -閭 -閭 -閭 - -驪 -驪 -驪 -驪 -驪 - -麗 -麗 -麗 -麗 -麗 - -黎 -黎 -黎 -黎 -黎 - -力 -力 -力 -力 -力 - -曆 -曆 -曆 -曆 -曆 - -歷 -歷 -歷 -歷 -歷 - -轢 -轢 -轢 -轢 -轢 - -年 -年 -年 -年 -年 - -憐 -憐 -憐 -憐 -憐 - -戀 -戀 -戀 -戀 -戀 - -撚 -撚 -撚 -撚 -撚 - -漣 -漣 -漣 -漣 -漣 - -煉 -煉 -煉 -煉 -煉 - -璉 -璉 -璉 -璉 -璉 - -秊 -秊 -秊 -秊 -秊 - -練 -練 -練 -練 -練 - -聯 -聯 -聯 -聯 -聯 - -輦 -輦 -輦 -輦 -輦 - -蓮 -蓮 -蓮 -蓮 -蓮 - -連 -連 -連 -連 -連 - -鍊 -鍊 -鍊 -鍊 -鍊 - -列 -列 -列 -列 -列 - -劣 -劣 -劣 -劣 -劣 - -咽 -咽 -咽 -咽 -咽 - -烈 -烈 -烈 -烈 -烈 - -裂 -裂 -裂 -裂 -裂 - -說 -說 -說 -說 -說 - -廉 -廉 -廉 -廉 -廉 - -念 -念 -念 -念 -念 - -捻 -捻 -捻 -捻 -捻 - -殮 -殮 -殮 -殮 -殮 - -簾 -簾 -簾 -簾 -簾 - -獵 -獵 -獵 -獵 -獵 - -令 -令 -令 -令 -令 - -囹 -囹 -囹 -囹 -囹 - -寧 -寧 -寧 -寧 -寧 - -嶺 -嶺 -嶺 -嶺 -嶺 - -怜 -怜 -怜 -怜 -怜 - -玲 -玲 -玲 -玲 -玲 - -瑩 -瑩 -瑩 -瑩 -瑩 - -羚 -羚 -羚 -羚 -羚 - -聆 -聆 -聆 -聆 -聆 - -鈴 -鈴 -鈴 -鈴 -鈴 - -零 -零 -零 -零 -零 - -靈 -靈 -靈 -靈 -靈 - -領 -領 -領 -領 -領 - -例 -例 -例 -例 -例 - -禮 -禮 -禮 -禮 -禮 - -醴 -醴 -醴 -醴 -醴 - -隸 -隸 -隸 -隸 -隸 - -惡 -惡 -惡 -惡 -惡 - -了 -了 -了 -了 -了 - -僚 -僚 -僚 -僚 -僚 - -寮 -寮 -寮 -寮 -寮 - -尿 -尿 -尿 -尿 -尿 - -料 -料 -料 -料 -料 - -樂 -樂 -樂 -樂 -樂 - -燎 -燎 -燎 -燎 -燎 - -療 -療 -療 -療 -療 - -蓼 -蓼 -蓼 -蓼 -蓼 - -遼 -遼 -遼 -遼 -遼 - -龍 -龍 -龍 -龍 -龍 - -暈 -暈 -暈 -暈 -暈 - -阮 -阮 -阮 -阮 -阮 - -劉 -劉 -劉 -劉 -劉 - -杻 -杻 -杻 -杻 -杻 - -柳 -柳 -柳 -柳 -柳 - -流 -流 -流 -流 -流 - -溜 -溜 -溜 -溜 -溜 - -琉 -琉 -琉 -琉 -琉 - -留 -留 -留 -留 -留 - -硫 -硫 -硫 -硫 -硫 - -紐 -紐 -紐 -紐 -紐 - -類 -類 -類 -類 -類 - -六 -六 -六 -六 -六 - -戮 -戮 -戮 -戮 -戮 - -陸 -陸 -陸 -陸 -陸 - -倫 -倫 -倫 -倫 -倫 - -崙 -崙 -崙 -崙 -崙 - -淪 -淪 -淪 -淪 -淪 - -輪 -輪 -輪 -輪 -輪 - -律 -律 -律 -律 -律 - -慄 -慄 -慄 -慄 -慄 - -栗 -栗 -栗 -栗 -栗 - -率 -率 -率 -率 -率 - -隆 -隆 -隆 -隆 -隆 - -利 -利 -利 -利 -利 - -吏 -吏 -吏 -吏 -吏 - -履 -履 -履 -履 -履 - -易 -易 -易 -易 -易 - -李 -李 -李 -李 -李 - -梨 -梨 -梨 -梨 -梨 - -泥 -泥 -泥 -泥 -泥 - -理 -理 -理 -理 -理 - -痢 -痢 -痢 -痢 -痢 - -罹 -罹 -罹 -罹 -罹 - -裏 -裏 -裏 -裏 -裏 - -裡 -裡 -裡 -裡 -裡 - -里 -里 -里 -里 -里 - -離 -離 -離 -離 -離 - -匿 -匿 -匿 -匿 -匿 - -溺 -溺 -溺 -溺 -溺 - -吝 -吝 -吝 -吝 -吝 - -燐 -燐 -燐 -燐 -燐 - -璘 -璘 -璘 -璘 -璘 - -藺 -藺 -藺 -藺 -藺 - -隣 -隣 -隣 -隣 -隣 - -鱗 -鱗 -鱗 -鱗 -鱗 - -麟 -麟 -麟 -麟 -麟 - -林 -林 -林 -林 -林 - -淋 -淋 -淋 -淋 -淋 - -臨 -臨 -臨 -臨 -臨 - -立 -立 -立 -立 -立 - -笠 -笠 -笠 -笠 -笠 - -粒 -粒 -粒 -粒 -粒 - -狀 -狀 -狀 -狀 -狀 - -炙 -炙 -炙 -炙 -炙 - -識 -識 -識 -識 -識 - -什 -什 -什 -什 -什 - -茶 -茶 -茶 -茶 -茶 - -刺 -刺 -刺 -刺 -刺 - -切 -切 -切 -切 -切 - -度 -度 -度 -度 -度 - -拓 -拓 -拓 -拓 -拓 - -糖 -糖 -糖 -糖 -糖 - -宅 -宅 -宅 -宅 -宅 - -洞 -洞 -洞 -洞 -洞 - -暴 -暴 -暴 -暴 -暴 - -輻 -輻 -輻 -輻 -輻 - -行 -行 -行 -行 -行 - -降 -降 -降 -降 -降 - -見 -見 -見 -見 -見 - -廓 -廓 -廓 -廓 -廓 - -兀 -兀 -兀 -兀 -兀 - -嗀 -嗀 -嗀 -嗀 -嗀 - -塚 -塚 -塚 -塚 -塚 - -晴 -晴 -晴 -晴 -晴 - -凞 -凞 -凞 -凞 -凞 - -猪 -猪 -猪 -猪 -猪 - -益 -益 -益 -益 -益 - -礼 -礼 -礼 -礼 -礼 - -神 -神 -神 -神 -神 - -祥 -祥 -祥 -祥 -祥 - -福 -福 -福 -福 -福 - -靖 -靖 -靖 -靖 -靖 - -精 -精 -精 -精 -精 - -羽 -羽 -羽 -羽 -羽 - -蘒 -蘒 -蘒 -蘒 -蘒 - -諸 -諸 -諸 -諸 -諸 - -逸 -逸 -逸 -逸 -逸 - -都 -都 -都 -都 -都 - -飯 -飯 -飯 -飯 -飯 - -飼 -飼 -飼 -飼 -飼 - -館 -館 -館 -館 -館 - -鶴 -鶴 -鶴 -鶴 -鶴 - -郞 -郞 -郞 -郞 -郞 - -隷 -隷 -隷 -隷 -隷 - -侮 -侮 -侮 -侮 -侮 - -僧 -僧 -僧 -僧 -僧 - -免 -免 -免 -免 -免 - -勉 -勉 -勉 -勉 -勉 - -勤 -勤 -勤 -勤 -勤 - -卑 -卑 -卑 -卑 -卑 - -喝 -喝 -喝 -喝 -喝 - -嘆 -嘆 -嘆 -嘆 -嘆 - -器 -器 -器 -器 -器 - -塀 -塀 -塀 -塀 -塀 - -墨 -墨 -墨 -墨 -墨 - -層 -層 -層 -層 -層 - -屮 -屮 -屮 -屮 -屮 - -悔 -悔 -悔 -悔 -悔 - -慨 -慨 -慨 -慨 -慨 - -憎 -憎 -憎 -憎 -憎 - -懲 -懲 -懲 -懲 -懲 - -敏 -敏 -敏 -敏 -敏 - -既 -既 -既 -既 -既 - -暑 -暑 -暑 -暑 -暑 - -梅 -梅 -梅 -梅 -梅 - -海 -海 -海 -海 -海 - -渚 -渚 -渚 -渚 -渚 - -漢 -漢 -漢 -漢 -漢 - -煮 -煮 -煮 -煮 -煮 - -爫 -爫 -爫 -爫 -爫 - -琢 -琢 -琢 -琢 -琢 - -碑 -碑 -碑 -碑 -碑 - -社 -社 -社 -社 -社 - -祉 -祉 -祉 -祉 -祉 - -祈 -祈 -祈 -祈 -祈 - -祐 -祐 -祐 -祐 -祐 - -祖 -祖 -祖 -祖 -祖 - -祝 -祝 -祝 -祝 -祝 - -禍 -禍 -禍 -禍 -禍 - -禎 -禎 -禎 -禎 -禎 - -穀 -穀 -穀 -穀 -穀 - -突 -突 -突 -突 -突 - -節 -節 -節 -節 -節 - -練 -練 -練 -練 -練 - -縉 -縉 -縉 -縉 -縉 - -繁 -繁 -繁 -繁 -繁 - -署 -署 -署 -署 -署 - -者 -者 -者 -者 -者 - -臭 -臭 -臭 -臭 -臭 - -艹 -艹 -艹 -艹 -艹 - -艹 -艹 -艹 -艹 -艹 - -著 -著 -著 -著 -著 - -褐 -褐 -褐 -褐 -褐 - -視 -視 -視 -視 -視 - -謁 -謁 -謁 -謁 -謁 - -謹 -謹 -謹 -謹 -謹 - -賓 -賓 -賓 -賓 -賓 - -贈 -贈 -贈 -贈 -贈 - -辶 -辶 -辶 -辶 -辶 - -逸 -逸 -逸 -逸 -逸 - -難 -難 -難 -難 -難 - -響 -響 -響 -響 -響 - -頻 -頻 -頻 -頻 -頻 - -恵 -恵 -恵 -恵 -恵 - -𤋮 -𤋮 -𤋮 -𤋮 -𤋮 - -舘 -舘 -舘 -舘 -舘 - -並 -並 -並 -並 -並 - -况 -况 -况 -况 -况 - -全 -全 -全 -全 -全 - -侀 -侀 -侀 -侀 -侀 - -充 -充 -充 -充 -充 - -冀 -冀 -冀 -冀 -冀 - -勇 -勇 -勇 -勇 -勇 - -勺 -勺 -勺 -勺 -勺 - -喝 -喝 -喝 -喝 -喝 - -啕 -啕 -啕 -啕 -啕 - -喙 -喙 -喙 -喙 -喙 - -嗢 -嗢 -嗢 -嗢 -嗢 - -塚 -塚 -塚 -塚 -塚 - -墳 -墳 -墳 -墳 -墳 - -奄 -奄 -奄 -奄 -奄 - -奔 -奔 -奔 -奔 -奔 - -婢 -婢 -婢 -婢 -婢 - -嬨 -嬨 -嬨 -嬨 -嬨 - -廒 -廒 -廒 -廒 -廒 - -廙 -廙 -廙 -廙 -廙 - -彩 -彩 -彩 -彩 -彩 - -徭 -徭 -徭 -徭 -徭 - -惘 -惘 -惘 -惘 -惘 - -慎 -慎 -慎 -慎 -慎 - -愈 -愈 -愈 -愈 -愈 - -憎 -憎 -憎 -憎 -憎 - -慠 -慠 -慠 -慠 -慠 - -懲 -懲 -懲 -懲 -懲 - -戴 -戴 -戴 -戴 -戴 - -揄 -揄 -揄 -揄 -揄 - -搜 -搜 -搜 -搜 -搜 - -摒 -摒 -摒 -摒 -摒 - -敖 -敖 -敖 -敖 -敖 - -晴 -晴 -晴 -晴 -晴 - -朗 -朗 -朗 -朗 -朗 - -望 -望 -望 -望 -望 - -杖 -杖 -杖 -杖 -杖 - -歹 -歹 -歹 -歹 -歹 - -殺 -殺 -殺 -殺 -殺 - -流 -流 -流 -流 -流 - -滛 -滛 -滛 -滛 -滛 - -滋 -滋 -滋 -滋 -滋 - -漢 -漢 -漢 -漢 -漢 - -瀞 -瀞 -瀞 -瀞 -瀞 - -煮 -煮 -煮 -煮 -煮 - -瞧 -瞧 -瞧 -瞧 -瞧 - -爵 -爵 -爵 -爵 -爵 - -犯 -犯 -犯 -犯 -犯 - -猪 -猪 -猪 -猪 -猪 - -瑱 -瑱 -瑱 -瑱 -瑱 - -甆 -甆 -甆 -甆 -甆 - -画 -画 -画 -画 -画 - -瘝 -瘝 -瘝 -瘝 -瘝 - -瘟 -瘟 -瘟 -瘟 -瘟 - -益 -益 -益 -益 -益 - -盛 -盛 -盛 -盛 -盛 - -直 -直 -直 -直 -直 - -睊 -睊 -睊 -睊 -睊 - -着 -着 -着 -着 -着 - -磌 -磌 -磌 -磌 -磌 - -窱 -窱 -窱 -窱 -窱 - -節 -節 -節 -節 -節 - -类 -类 -类 -类 -类 - -絛 -絛 -絛 -絛 -絛 - -練 -練 -練 -練 -練 - -缾 -缾 -缾 -缾 -缾 - -者 -者 -者 -者 -者 - -荒 -荒 -荒 -荒 -荒 - -華 -華 -華 -華 -華 - -蝹 -蝹 -蝹 -蝹 -蝹 - -襁 -襁 -襁 -襁 -襁 - -覆 -覆 -覆 -覆 -覆 - -視 -視 -視 -視 -視 - -調 -調 -調 -調 -調 - -諸 -諸 -諸 -諸 -諸 - -請 -請 -請 -請 -請 - -謁 -謁 -謁 -謁 -謁 - -諾 -諾 -諾 -諾 -諾 - -諭 -諭 -諭 -諭 -諭 - -謹 -謹 -謹 -謹 -謹 - -變 -變 -變 -變 -變 - -贈 -贈 -贈 -贈 -贈 - -輸 -輸 -輸 -輸 -輸 - -遲 -遲 -遲 -遲 -遲 - -醙 -醙 -醙 -醙 -醙 - -鉶 -鉶 -鉶 -鉶 -鉶 - -陼 -陼 -陼 -陼 -陼 - -難 -難 -難 -難 -難 - -靖 -靖 -靖 -靖 -靖 - -韛 -韛 -韛 -韛 -韛 - -響 -響 -響 -響 -響 - -頋 -頋 -頋 -頋 -頋 - -頻 -頻 -頻 -頻 -頻 - -鬒 -鬒 -鬒 -鬒 -鬒 - -龜 -龜 -龜 -龜 -龜 - -𢡊 -𢡊 -𢡊 -𢡊 -𢡊 - -𢡄 -𢡄 -𢡄 -𢡄 -𢡄 - -𣏕 -𣏕 -𣏕 -𣏕 -𣏕 - -㮝 -㮝 -㮝 -㮝 -㮝 - -䀘 -䀘 -䀘 -䀘 -䀘 - -䀹 -䀹 -䀹 -䀹 -䀹 - -𥉉 -𥉉 -𥉉 -𥉉 -𥉉 - -𥳐 -𥳐 -𥳐 -𥳐 -𥳐 - -𧻓 -𧻓 -𧻓 -𧻓 -𧻓 - -齃 -齃 -齃 -齃 -齃 - -龎 -龎 -龎 -龎 -龎 - -ff -ff -ff -ff -ff - -fi -fi -fi -fi -fi - -fl -fl -fl -fl -fl - -ffi -ffi -ffi -ffi -ffi - -ffl -ffl -ffl -ffl -ffl - -ſt -ſt -ſt -st -st - -st -st -st -st -st - -ﬓ -ﬓ -ﬓ -մն -մն - -ﬔ -ﬔ -ﬔ -մե -մե - -ﬕ -ﬕ -ﬕ -մի -մի - -ﬖ -ﬖ -ﬖ -վն -վն - -ﬗ -ﬗ -ﬗ -մխ -մխ - -יִ -יִ -יִ -יִ -יִ - -ײַ -ײַ -ײַ -ײַ -ײַ - -ﬠ -ﬠ -ﬠ -ע -ע - -ﬡ -ﬡ -ﬡ -א -א - -ﬢ -ﬢ -ﬢ -ד -ד - -ﬣ -ﬣ -ﬣ -ה -ה - -ﬤ -ﬤ -ﬤ -כ -כ - -ﬥ -ﬥ -ﬥ -ל -ל - -ﬦ -ﬦ -ﬦ -ם -ם - -ﬧ -ﬧ -ﬧ -ר -ר - -ﬨ -ﬨ -ﬨ -ת -ת - -﬩ -﬩ -﬩ -+ -+ - -שׁ -שׁ -שׁ -שׁ -שׁ - -שׂ -שׂ -שׂ -שׂ -שׂ - -שּׁ -שּׁ -שּׁ -שּׁ -שּׁ - -שּׂ -שּׂ -שּׂ -שּׂ -שּׂ - -אַ -אַ -אַ -אַ -אַ - -אָ -אָ -אָ -אָ -אָ - -אּ -אּ -אּ -אּ -אּ - -בּ -בּ -בּ -בּ -בּ - -גּ -גּ -גּ -גּ -גּ - -דּ -דּ -דּ -דּ -דּ - -הּ -הּ -הּ -הּ -הּ - -וּ -וּ -וּ -וּ -וּ - -זּ -זּ -זּ -זּ -זּ - -טּ -טּ -טּ -טּ -טּ - -יּ -יּ -יּ -יּ -יּ - -ךּ -ךּ -ךּ -ךּ -ךּ - -כּ -כּ -כּ -כּ -כּ - -לּ -לּ -לּ -לּ -לּ - -מּ -מּ -מּ -מּ -מּ - -נּ -נּ -נּ -נּ -נּ - -סּ -סּ -סּ -סּ -סּ - -ףּ -ףּ -ףּ -ףּ -ףּ - -פּ -פּ -פּ -פּ -פּ - -צּ -צּ -צּ -צּ -צּ - -קּ -קּ -קּ -קּ -קּ - -רּ -רּ -רּ -רּ -רּ - -שּ -שּ -שּ -שּ -שּ - -תּ -תּ -תּ -תּ -תּ - -וֹ -וֹ -וֹ -וֹ -וֹ - -בֿ -בֿ -בֿ -בֿ -בֿ - -כֿ -כֿ -כֿ -כֿ -כֿ - -פֿ -פֿ -פֿ -פֿ -פֿ - -ﭏ -ﭏ -ﭏ -אל -אל - -ﭐ -ﭐ -ﭐ -ٱ -ٱ - -ﭑ -ﭑ -ﭑ -ٱ -ٱ - -ﭒ -ﭒ -ﭒ -ٻ -ٻ - -ﭓ -ﭓ -ﭓ -ٻ -ٻ - -ﭔ -ﭔ -ﭔ -ٻ -ٻ - -ﭕ -ﭕ -ﭕ -ٻ -ٻ - -ﭖ -ﭖ -ﭖ -پ -پ - -ﭗ -ﭗ -ﭗ -پ -پ - -ﭘ -ﭘ -ﭘ -پ -پ - -ﭙ -ﭙ -ﭙ -پ -پ - -ﭚ -ﭚ -ﭚ -ڀ -ڀ - -ﭛ -ﭛ -ﭛ -ڀ -ڀ - -ﭜ -ﭜ -ﭜ -ڀ -ڀ - -ﭝ -ﭝ -ﭝ -ڀ -ڀ - -ﭞ -ﭞ -ﭞ -ٺ -ٺ - -ﭟ -ﭟ -ﭟ -ٺ -ٺ - -ﭠ -ﭠ -ﭠ -ٺ -ٺ - -ﭡ -ﭡ -ﭡ -ٺ -ٺ - -ﭢ -ﭢ -ﭢ -ٿ -ٿ - -ﭣ -ﭣ -ﭣ -ٿ -ٿ - -ﭤ -ﭤ -ﭤ -ٿ -ٿ - -ﭥ -ﭥ -ﭥ -ٿ -ٿ - -ﭦ -ﭦ -ﭦ -ٹ -ٹ - -ﭧ -ﭧ -ﭧ -ٹ -ٹ - -ﭨ -ﭨ -ﭨ -ٹ -ٹ - -ﭩ -ﭩ -ﭩ -ٹ -ٹ - -ﭪ -ﭪ -ﭪ -ڤ -ڤ - -ﭫ -ﭫ -ﭫ -ڤ -ڤ - -ﭬ -ﭬ -ﭬ -ڤ -ڤ - -ﭭ -ﭭ -ﭭ -ڤ -ڤ - -ﭮ -ﭮ -ﭮ -ڦ -ڦ - -ﭯ -ﭯ -ﭯ -ڦ -ڦ - -ﭰ -ﭰ -ﭰ -ڦ -ڦ - -ﭱ -ﭱ -ﭱ -ڦ -ڦ - -ﭲ -ﭲ -ﭲ -ڄ -ڄ - -ﭳ -ﭳ -ﭳ -ڄ -ڄ - -ﭴ -ﭴ -ﭴ -ڄ -ڄ - -ﭵ -ﭵ -ﭵ -ڄ -ڄ - -ﭶ -ﭶ -ﭶ -ڃ -ڃ - -ﭷ -ﭷ -ﭷ -ڃ -ڃ - -ﭸ -ﭸ -ﭸ -ڃ -ڃ - -ﭹ -ﭹ -ﭹ -ڃ -ڃ - -ﭺ -ﭺ -ﭺ -چ -چ - -ﭻ -ﭻ -ﭻ -چ -چ - -ﭼ -ﭼ -ﭼ -چ -چ - -ﭽ -ﭽ -ﭽ -چ -چ - -ﭾ -ﭾ -ﭾ -ڇ -ڇ - -ﭿ -ﭿ -ﭿ -ڇ -ڇ - -ﮀ -ﮀ -ﮀ -ڇ -ڇ - -ﮁ -ﮁ -ﮁ -ڇ -ڇ - -ﮂ -ﮂ -ﮂ -ڍ -ڍ - -ﮃ -ﮃ -ﮃ -ڍ -ڍ - -ﮄ -ﮄ -ﮄ -ڌ -ڌ - -ﮅ -ﮅ -ﮅ -ڌ -ڌ - -ﮆ -ﮆ -ﮆ -ڎ -ڎ - -ﮇ -ﮇ -ﮇ -ڎ -ڎ - -ﮈ -ﮈ -ﮈ -ڈ -ڈ - -ﮉ -ﮉ -ﮉ -ڈ -ڈ - -ﮊ -ﮊ -ﮊ -ژ -ژ - -ﮋ -ﮋ -ﮋ -ژ -ژ - -ﮌ -ﮌ -ﮌ -ڑ -ڑ - -ﮍ -ﮍ -ﮍ -ڑ -ڑ - -ﮎ -ﮎ -ﮎ -ک -ک - -ﮏ -ﮏ -ﮏ -ک -ک - -ﮐ -ﮐ -ﮐ -ک -ک - -ﮑ -ﮑ -ﮑ -ک -ک - -ﮒ -ﮒ -ﮒ -گ -گ - -ﮓ -ﮓ -ﮓ -گ -گ - -ﮔ -ﮔ -ﮔ -گ -گ - -ﮕ -ﮕ -ﮕ -گ -گ - -ﮖ -ﮖ -ﮖ -ڳ -ڳ - -ﮗ -ﮗ -ﮗ -ڳ -ڳ - -ﮘ -ﮘ -ﮘ -ڳ -ڳ - -ﮙ -ﮙ -ﮙ -ڳ -ڳ - -ﮚ -ﮚ -ﮚ -ڱ -ڱ - -ﮛ -ﮛ -ﮛ -ڱ -ڱ - -ﮜ -ﮜ -ﮜ -ڱ -ڱ - -ﮝ -ﮝ -ﮝ -ڱ -ڱ - -ﮞ -ﮞ -ﮞ -ں -ں - -ﮟ -ﮟ -ﮟ -ں -ں - -ﮠ -ﮠ -ﮠ -ڻ -ڻ - -ﮡ -ﮡ -ﮡ -ڻ -ڻ - -ﮢ -ﮢ -ﮢ -ڻ -ڻ - -ﮣ -ﮣ -ﮣ -ڻ -ڻ - -ﮤ -ﮤ -ﮤ -ۀ -ۀ - -ﮥ -ﮥ -ﮥ -ۀ -ۀ - -ﮦ -ﮦ -ﮦ -ہ -ہ - -ﮧ -ﮧ -ﮧ -ہ -ہ - -ﮨ -ﮨ -ﮨ -ہ -ہ - -ﮩ -ﮩ -ﮩ -ہ -ہ - -ﮪ -ﮪ -ﮪ -ھ -ھ - -ﮫ -ﮫ -ﮫ -ھ -ھ - -ﮬ -ﮬ -ﮬ -ھ -ھ - -ﮭ -ﮭ -ﮭ -ھ -ھ - -ﮮ -ﮮ -ﮮ -ے -ے - -ﮯ -ﮯ -ﮯ -ے -ے - -ﮰ -ﮰ -ﮰ -ۓ -ۓ - -ﮱ -ﮱ -ﮱ -ۓ -ۓ - -ﯓ -ﯓ -ﯓ -ڭ -ڭ - -ﯔ -ﯔ -ﯔ -ڭ -ڭ - -ﯕ -ﯕ -ﯕ -ڭ -ڭ - -ﯖ -ﯖ -ﯖ -ڭ -ڭ - -ﯗ -ﯗ -ﯗ -ۇ -ۇ - -ﯘ -ﯘ -ﯘ -ۇ -ۇ - -ﯙ -ﯙ -ﯙ -ۆ -ۆ - -ﯚ -ﯚ -ﯚ -ۆ -ۆ - -ﯛ -ﯛ -ﯛ -ۈ -ۈ - -ﯜ -ﯜ -ﯜ -ۈ -ۈ - -ﯝ -ﯝ -ﯝ -ۇٴ -ۇٴ - -ﯞ -ﯞ -ﯞ -ۋ -ۋ - -ﯟ -ﯟ -ﯟ -ۋ -ۋ - -ﯠ -ﯠ -ﯠ -ۅ -ۅ - -ﯡ -ﯡ -ﯡ -ۅ -ۅ - -ﯢ -ﯢ -ﯢ -ۉ -ۉ - -ﯣ -ﯣ -ﯣ -ۉ -ۉ - -ﯤ -ﯤ -ﯤ -ې -ې - -ﯥ -ﯥ -ﯥ -ې -ې - -ﯦ -ﯦ -ﯦ -ې -ې - -ﯧ -ﯧ -ﯧ -ې -ې - -ﯨ -ﯨ -ﯨ -ى -ى - -ﯩ -ﯩ -ﯩ -ى -ى - -ﯪ -ﯪ -ﯪ -ئا -ئا - -ﯫ -ﯫ -ﯫ -ئا -ئا - -ﯬ -ﯬ -ﯬ -ئە -ئە - -ﯭ -ﯭ -ﯭ -ئە -ئە - -ﯮ -ﯮ -ﯮ -ئو -ئو - -ﯯ -ﯯ -ﯯ -ئو -ئو - -ﯰ -ﯰ -ﯰ -ئۇ -ئۇ - -ﯱ -ﯱ -ﯱ -ئۇ -ئۇ - -ﯲ -ﯲ -ﯲ -ئۆ -ئۆ - -ﯳ -ﯳ -ﯳ -ئۆ -ئۆ - -ﯴ -ﯴ -ﯴ -ئۈ -ئۈ - -ﯵ -ﯵ -ﯵ -ئۈ -ئۈ - -ﯶ -ﯶ -ﯶ -ئې -ئې - -ﯷ -ﯷ -ﯷ -ئې -ئې - -ﯸ -ﯸ -ﯸ -ئې -ئې - -ﯹ -ﯹ -ﯹ -ئى -ئى - -ﯺ -ﯺ -ﯺ -ئى -ئى - -ﯻ -ﯻ -ﯻ -ئى -ئى - -ﯼ -ﯼ -ﯼ -ی -ی - -ﯽ -ﯽ -ﯽ -ی -ی - -ﯾ -ﯾ -ﯾ -ی -ی - -ﯿ -ﯿ -ﯿ -ی -ی - -ﰀ -ﰀ -ﰀ -ئج -ئج - -ﰁ -ﰁ -ﰁ -ئح -ئح - -ﰂ -ﰂ -ﰂ -ئم -ئم - -ﰃ -ﰃ -ﰃ -ئى -ئى - -ﰄ -ﰄ -ﰄ -ئي -ئي - -ﰅ -ﰅ -ﰅ -بج -بج - -ﰆ -ﰆ -ﰆ -بح -بح - -ﰇ -ﰇ -ﰇ -بخ -بخ - -ﰈ -ﰈ -ﰈ -بم -بم - -ﰉ -ﰉ -ﰉ -بى -بى - -ﰊ -ﰊ -ﰊ -بي -بي - -ﰋ -ﰋ -ﰋ -تج -تج - -ﰌ -ﰌ -ﰌ -تح -تح - -ﰍ -ﰍ -ﰍ -تخ -تخ - -ﰎ -ﰎ -ﰎ -تم -تم - -ﰏ -ﰏ -ﰏ -تى -تى - -ﰐ -ﰐ -ﰐ -تي -تي - -ﰑ -ﰑ -ﰑ -ثج -ثج - -ﰒ -ﰒ -ﰒ -ثم -ثم - -ﰓ -ﰓ -ﰓ -ثى -ثى - -ﰔ -ﰔ -ﰔ -ثي -ثي - -ﰕ -ﰕ -ﰕ -جح -جح - -ﰖ -ﰖ -ﰖ -جم -جم - -ﰗ -ﰗ -ﰗ -حج -حج - -ﰘ -ﰘ -ﰘ -حم -حم - -ﰙ -ﰙ -ﰙ -خج -خج - -ﰚ -ﰚ -ﰚ -خح -خح - -ﰛ -ﰛ -ﰛ -خم -خم - -ﰜ -ﰜ -ﰜ -سج -سج - -ﰝ -ﰝ -ﰝ -سح -سح - -ﰞ -ﰞ -ﰞ -سخ -سخ - -ﰟ -ﰟ -ﰟ -سم -سم - -ﰠ -ﰠ -ﰠ -صح -صح - -ﰡ -ﰡ -ﰡ -صم -صم - -ﰢ -ﰢ -ﰢ -ضج -ضج - -ﰣ -ﰣ -ﰣ -ضح -ضح - -ﰤ -ﰤ -ﰤ -ضخ -ضخ - -ﰥ -ﰥ -ﰥ -ضم -ضم - -ﰦ -ﰦ -ﰦ -طح -طح - -ﰧ -ﰧ -ﰧ -طم -طم - -ﰨ -ﰨ -ﰨ -ظم -ظم - -ﰩ -ﰩ -ﰩ -عج -عج - -ﰪ -ﰪ -ﰪ -عم -عم - -ﰫ -ﰫ -ﰫ -غج -غج - -ﰬ -ﰬ -ﰬ -غم -غم - -ﰭ -ﰭ -ﰭ -فج -فج - -ﰮ -ﰮ -ﰮ -فح -فح - -ﰯ -ﰯ -ﰯ -فخ -فخ - -ﰰ -ﰰ -ﰰ -فم -فم - -ﰱ -ﰱ -ﰱ -فى -فى - -ﰲ -ﰲ -ﰲ -في -في - -ﰳ -ﰳ -ﰳ -قح -قح - -ﰴ -ﰴ -ﰴ -قم -قم - -ﰵ -ﰵ -ﰵ -قى -قى - -ﰶ -ﰶ -ﰶ -قي -قي - -ﰷ -ﰷ -ﰷ -كا -كا - -ﰸ -ﰸ -ﰸ -كج -كج - -ﰹ -ﰹ -ﰹ -كح -كح - -ﰺ -ﰺ -ﰺ -كخ -كخ - -ﰻ -ﰻ -ﰻ -كل -كل - -ﰼ -ﰼ -ﰼ -كم -كم - -ﰽ -ﰽ -ﰽ -كى -كى - -ﰾ -ﰾ -ﰾ -كي -كي - -ﰿ -ﰿ -ﰿ -لج -لج - -ﱀ -ﱀ -ﱀ -لح -لح - -ﱁ -ﱁ -ﱁ -لخ -لخ - -ﱂ -ﱂ -ﱂ -لم -لم - -ﱃ -ﱃ -ﱃ -لى -لى - -ﱄ -ﱄ -ﱄ -لي -لي - -ﱅ -ﱅ -ﱅ -مج -مج - -ﱆ -ﱆ -ﱆ -مح -مح - -ﱇ -ﱇ -ﱇ -مخ -مخ - -ﱈ -ﱈ -ﱈ -مم -مم - -ﱉ -ﱉ -ﱉ -مى -مى - -ﱊ -ﱊ -ﱊ -مي -مي - -ﱋ -ﱋ -ﱋ -نج -نج - -ﱌ -ﱌ -ﱌ -نح -نح - -ﱍ -ﱍ -ﱍ -نخ -نخ - -ﱎ -ﱎ -ﱎ -نم -نم - -ﱏ -ﱏ -ﱏ -نى -نى - -ﱐ -ﱐ -ﱐ -ني -ني - -ﱑ -ﱑ -ﱑ -هج -هج - -ﱒ -ﱒ -ﱒ -هم -هم - -ﱓ -ﱓ -ﱓ -هى -هى - -ﱔ -ﱔ -ﱔ -هي -هي - -ﱕ -ﱕ -ﱕ -يج -يج - -ﱖ -ﱖ -ﱖ -يح -يح - -ﱗ -ﱗ -ﱗ -يخ -يخ - -ﱘ -ﱘ -ﱘ -يم -يم - -ﱙ -ﱙ -ﱙ -يى -يى - -ﱚ -ﱚ -ﱚ -يي -يي - -ﱛ -ﱛ -ﱛ -ذٰ -ذٰ - -ﱜ -ﱜ -ﱜ -رٰ -رٰ - -ﱝ -ﱝ -ﱝ -ىٰ -ىٰ - -ﱞ -ﱞ -ﱞ - ٌّ - ٌّ - -ﱟ -ﱟ -ﱟ - ٍّ - ٍّ - -ﱠ -ﱠ -ﱠ - َّ - َّ - -ﱡ -ﱡ -ﱡ - ُّ - ُّ - -ﱢ -ﱢ -ﱢ - ِّ - ِّ - -ﱣ -ﱣ -ﱣ - ّٰ - ّٰ - -ﱤ -ﱤ -ﱤ -ئر -ئر - -ﱥ -ﱥ -ﱥ -ئز -ئز - -ﱦ -ﱦ -ﱦ -ئم -ئم - -ﱧ -ﱧ -ﱧ -ئن -ئن - -ﱨ -ﱨ -ﱨ -ئى -ئى - -ﱩ -ﱩ -ﱩ -ئي -ئي - -ﱪ -ﱪ -ﱪ -بر -بر - -ﱫ -ﱫ -ﱫ -بز -بز - -ﱬ -ﱬ -ﱬ -بم -بم - -ﱭ -ﱭ -ﱭ -بن -بن - -ﱮ -ﱮ -ﱮ -بى -بى - -ﱯ -ﱯ -ﱯ -بي -بي - -ﱰ -ﱰ -ﱰ -تر -تر - -ﱱ -ﱱ -ﱱ -تز -تز - -ﱲ -ﱲ -ﱲ -تم -تم - -ﱳ -ﱳ -ﱳ -تن -تن - -ﱴ -ﱴ -ﱴ -تى -تى - -ﱵ -ﱵ -ﱵ -تي -تي - -ﱶ -ﱶ -ﱶ -ثر -ثر - -ﱷ -ﱷ -ﱷ -ثز -ثز - -ﱸ -ﱸ -ﱸ -ثم -ثم - -ﱹ -ﱹ -ﱹ -ثن -ثن - -ﱺ -ﱺ -ﱺ -ثى -ثى - -ﱻ -ﱻ -ﱻ -ثي -ثي - -ﱼ -ﱼ -ﱼ -فى -فى - -ﱽ -ﱽ -ﱽ -في -في - -ﱾ -ﱾ -ﱾ -قى -قى - -ﱿ -ﱿ -ﱿ -قي -قي - -ﲀ -ﲀ -ﲀ -كا -كا - -ﲁ -ﲁ -ﲁ -كل -كل - -ﲂ -ﲂ -ﲂ -كم -كم - -ﲃ -ﲃ -ﲃ -كى -كى - -ﲄ -ﲄ -ﲄ -كي -كي - -ﲅ -ﲅ -ﲅ -لم -لم - -ﲆ -ﲆ -ﲆ -لى -لى - -ﲇ -ﲇ -ﲇ -لي -لي - -ﲈ -ﲈ -ﲈ -ما -ما - -ﲉ -ﲉ -ﲉ -مم -مم - -ﲊ -ﲊ -ﲊ -نر -نر - -ﲋ -ﲋ -ﲋ -نز -نز - -ﲌ -ﲌ -ﲌ -نم -نم - -ﲍ -ﲍ -ﲍ -نن -نن - -ﲎ -ﲎ -ﲎ -نى -نى - -ﲏ -ﲏ -ﲏ -ني -ني - -ﲐ -ﲐ -ﲐ -ىٰ -ىٰ - -ﲑ -ﲑ -ﲑ -ير -ير - -ﲒ -ﲒ -ﲒ -يز -يز - -ﲓ -ﲓ -ﲓ -يم -يم - -ﲔ -ﲔ -ﲔ -ين -ين - -ﲕ -ﲕ -ﲕ -يى -يى - -ﲖ -ﲖ -ﲖ -يي -يي - -ﲗ -ﲗ -ﲗ -ئج -ئج - -ﲘ -ﲘ -ﲘ -ئح -ئح - -ﲙ -ﲙ -ﲙ -ئخ -ئخ - -ﲚ -ﲚ -ﲚ -ئم -ئم - -ﲛ -ﲛ -ﲛ -ئه -ئه - -ﲜ -ﲜ -ﲜ -بج -بج - -ﲝ -ﲝ -ﲝ -بح -بح - -ﲞ -ﲞ -ﲞ -بخ -بخ - -ﲟ -ﲟ -ﲟ -بم -بم - -ﲠ -ﲠ -ﲠ -به -به - -ﲡ -ﲡ -ﲡ -تج -تج - -ﲢ -ﲢ -ﲢ -تح -تح - -ﲣ -ﲣ -ﲣ -تخ -تخ - -ﲤ -ﲤ -ﲤ -تم -تم - -ﲥ -ﲥ -ﲥ -ته -ته - -ﲦ -ﲦ -ﲦ -ثم -ثم - -ﲧ -ﲧ -ﲧ -جح -جح - -ﲨ -ﲨ -ﲨ -جم -جم - -ﲩ -ﲩ -ﲩ -حج -حج - -ﲪ -ﲪ -ﲪ -حم -حم - -ﲫ -ﲫ -ﲫ -خج -خج - -ﲬ -ﲬ -ﲬ -خم -خم - -ﲭ -ﲭ -ﲭ -سج -سج - -ﲮ -ﲮ -ﲮ -سح -سح - -ﲯ -ﲯ -ﲯ -سخ -سخ - -ﲰ -ﲰ -ﲰ -سم -سم - -ﲱ -ﲱ -ﲱ -صح -صح - -ﲲ -ﲲ -ﲲ -صخ -صخ - -ﲳ -ﲳ -ﲳ -صم -صم - -ﲴ -ﲴ -ﲴ -ضج -ضج - -ﲵ -ﲵ -ﲵ -ضح -ضح - -ﲶ -ﲶ -ﲶ -ضخ -ضخ - -ﲷ -ﲷ -ﲷ -ضم -ضم - -ﲸ -ﲸ -ﲸ -طح -طح - -ﲹ -ﲹ -ﲹ -ظم -ظم - -ﲺ -ﲺ -ﲺ -عج -عج - -ﲻ -ﲻ -ﲻ -عم -عم - -ﲼ -ﲼ -ﲼ -غج -غج - -ﲽ -ﲽ -ﲽ -غم -غم - -ﲾ -ﲾ -ﲾ -فج -فج - -ﲿ -ﲿ -ﲿ -فح -فح - -ﳀ -ﳀ -ﳀ -فخ -فخ - -ﳁ -ﳁ -ﳁ -فم -فم - -ﳂ -ﳂ -ﳂ -قح -قح - -ﳃ -ﳃ -ﳃ -قم -قم - -ﳄ -ﳄ -ﳄ -كج -كج - -ﳅ -ﳅ -ﳅ -كح -كح - -ﳆ -ﳆ -ﳆ -كخ -كخ - -ﳇ -ﳇ -ﳇ -كل -كل - -ﳈ -ﳈ -ﳈ -كم -كم - -ﳉ -ﳉ -ﳉ -لج -لج - -ﳊ -ﳊ -ﳊ -لح -لح - -ﳋ -ﳋ -ﳋ -لخ -لخ - -ﳌ -ﳌ -ﳌ -لم -لم - -ﳍ -ﳍ -ﳍ -له -له - -ﳎ -ﳎ -ﳎ -مج -مج - -ﳏ -ﳏ -ﳏ -مح -مح - -ﳐ -ﳐ -ﳐ -مخ -مخ - -ﳑ -ﳑ -ﳑ -مم -مم - -ﳒ -ﳒ -ﳒ -نج -نج - -ﳓ -ﳓ -ﳓ -نح -نح - -ﳔ -ﳔ -ﳔ -نخ -نخ - -ﳕ -ﳕ -ﳕ -نم -نم - -ﳖ -ﳖ -ﳖ -نه -نه - -ﳗ -ﳗ -ﳗ -هج -هج - -ﳘ -ﳘ -ﳘ -هم -هم - -ﳙ -ﳙ -ﳙ -هٰ -هٰ - -ﳚ -ﳚ -ﳚ -يج -يج - -ﳛ -ﳛ -ﳛ -يح -يح - -ﳜ -ﳜ -ﳜ -يخ -يخ - -ﳝ -ﳝ -ﳝ -يم -يم - -ﳞ -ﳞ -ﳞ -يه -يه - -ﳟ -ﳟ -ﳟ -ئم -ئم - -ﳠ -ﳠ -ﳠ -ئه -ئه - -ﳡ -ﳡ -ﳡ -بم -بم - -ﳢ -ﳢ -ﳢ -به -به - -ﳣ -ﳣ -ﳣ -تم -تم - -ﳤ -ﳤ -ﳤ -ته -ته - -ﳥ -ﳥ -ﳥ -ثم -ثم - -ﳦ -ﳦ -ﳦ -ثه -ثه - -ﳧ -ﳧ -ﳧ -سم -سم - -ﳨ -ﳨ -ﳨ -سه -سه - -ﳩ -ﳩ -ﳩ -شم -شم - -ﳪ -ﳪ -ﳪ -شه -شه - -ﳫ -ﳫ -ﳫ -كل -كل - -ﳬ -ﳬ -ﳬ -كم -كم - -ﳭ -ﳭ -ﳭ -لم -لم - -ﳮ -ﳮ -ﳮ -نم -نم - -ﳯ -ﳯ -ﳯ -نه -نه - -ﳰ -ﳰ -ﳰ -يم -يم - -ﳱ -ﳱ -ﳱ -يه -يه - -ﳲ -ﳲ -ﳲ -ـَّ -ـَّ - -ﳳ -ﳳ -ﳳ -ـُّ -ـُّ - -ﳴ -ﳴ -ﳴ -ـِّ -ـِّ - -ﳵ -ﳵ -ﳵ -طى -طى - -ﳶ -ﳶ -ﳶ -طي -طي - -ﳷ -ﳷ -ﳷ -عى -عى - -ﳸ -ﳸ -ﳸ -عي -عي - -ﳹ -ﳹ -ﳹ -غى -غى - -ﳺ -ﳺ -ﳺ -غي -غي - -ﳻ -ﳻ -ﳻ -سى -سى - -ﳼ -ﳼ -ﳼ -سي -سي - -ﳽ -ﳽ -ﳽ -شى -شى - -ﳾ -ﳾ -ﳾ -شي -شي - -ﳿ -ﳿ -ﳿ -حى -حى - -ﴀ -ﴀ -ﴀ -حي -حي - -ﴁ -ﴁ -ﴁ -جى -جى - -ﴂ -ﴂ -ﴂ -جي -جي - -ﴃ -ﴃ -ﴃ -خى -خى - -ﴄ -ﴄ -ﴄ -خي -خي - -ﴅ -ﴅ -ﴅ -صى -صى - -ﴆ -ﴆ -ﴆ -صي -صي - -ﴇ -ﴇ -ﴇ -ضى -ضى - -ﴈ -ﴈ -ﴈ -ضي -ضي - -ﴉ -ﴉ -ﴉ -شج -شج - -ﴊ -ﴊ -ﴊ -شح -شح - -ﴋ -ﴋ -ﴋ -شخ -شخ - -ﴌ -ﴌ -ﴌ -شم -شم - -ﴍ -ﴍ -ﴍ -شر -شر - -ﴎ -ﴎ -ﴎ -سر -سر - -ﴏ -ﴏ -ﴏ -صر -صر - -ﴐ -ﴐ -ﴐ -ضر -ضر - -ﴑ -ﴑ -ﴑ -طى -طى - -ﴒ -ﴒ -ﴒ -طي -طي - -ﴓ -ﴓ -ﴓ -عى -عى - -ﴔ -ﴔ -ﴔ -عي -عي - -ﴕ -ﴕ -ﴕ -غى -غى - -ﴖ -ﴖ -ﴖ -غي -غي - -ﴗ -ﴗ -ﴗ -سى -سى - -ﴘ -ﴘ -ﴘ -سي -سي - -ﴙ -ﴙ -ﴙ -شى -شى - -ﴚ -ﴚ -ﴚ -شي -شي - -ﴛ -ﴛ -ﴛ -حى -حى - -ﴜ -ﴜ -ﴜ -حي -حي - -ﴝ -ﴝ -ﴝ -جى -جى - -ﴞ -ﴞ -ﴞ -جي -جي - -ﴟ -ﴟ -ﴟ -خى -خى - -ﴠ -ﴠ -ﴠ -خي -خي - -ﴡ -ﴡ -ﴡ -صى -صى - -ﴢ -ﴢ -ﴢ -صي -صي - -ﴣ -ﴣ -ﴣ -ضى -ضى - -ﴤ -ﴤ -ﴤ -ضي -ضي - -ﴥ -ﴥ -ﴥ -شج -شج - -ﴦ -ﴦ -ﴦ -شح -شح - -ﴧ -ﴧ -ﴧ -شخ -شخ - -ﴨ -ﴨ -ﴨ -شم -شم - -ﴩ -ﴩ -ﴩ -شر -شر - -ﴪ -ﴪ -ﴪ -سر -سر - -ﴫ -ﴫ -ﴫ -صر -صر - -ﴬ -ﴬ -ﴬ -ضر -ضر - -ﴭ -ﴭ -ﴭ -شج -شج - -ﴮ -ﴮ -ﴮ -شح -شح - -ﴯ -ﴯ -ﴯ -شخ -شخ - -ﴰ -ﴰ -ﴰ -شم -شم - -ﴱ -ﴱ -ﴱ -سه -سه - -ﴲ -ﴲ -ﴲ -شه -شه - -ﴳ -ﴳ -ﴳ -طم -طم - -ﴴ -ﴴ -ﴴ -سج -سج - -ﴵ -ﴵ -ﴵ -سح -سح - -ﴶ -ﴶ -ﴶ -سخ -سخ - -ﴷ -ﴷ -ﴷ -شج -شج - -ﴸ -ﴸ -ﴸ -شح -شح - -ﴹ -ﴹ -ﴹ -شخ -شخ - -ﴺ -ﴺ -ﴺ -طم -طم - -ﴻ -ﴻ -ﴻ -ظم -ظم - -ﴼ -ﴼ -ﴼ -اً -اً - -ﴽ -ﴽ -ﴽ -اً -اً - -ﵐ -ﵐ -ﵐ -تجم -تجم - -ﵑ -ﵑ -ﵑ -تحج -تحج - -ﵒ -ﵒ -ﵒ -تحج -تحج - -ﵓ -ﵓ -ﵓ -تحم -تحم - -ﵔ -ﵔ -ﵔ -تخم -تخم - -ﵕ -ﵕ -ﵕ -تمج -تمج - -ﵖ -ﵖ -ﵖ -تمح -تمح - -ﵗ -ﵗ -ﵗ -تمخ -تمخ - -ﵘ -ﵘ -ﵘ -جمح -جمح - -ﵙ -ﵙ -ﵙ -جمح -جمح - -ﵚ -ﵚ -ﵚ -حمي -حمي - -ﵛ -ﵛ -ﵛ -حمى -حمى - -ﵜ -ﵜ -ﵜ -سحج -سحج - -ﵝ -ﵝ -ﵝ -سجح -سجح - -ﵞ -ﵞ -ﵞ -سجى -سجى - -ﵟ -ﵟ -ﵟ -سمح -سمح - -ﵠ -ﵠ -ﵠ -سمح -سمح - -ﵡ -ﵡ -ﵡ -سمج -سمج - -ﵢ -ﵢ -ﵢ -سمم -سمم - -ﵣ -ﵣ -ﵣ -سمم -سمم - -ﵤ -ﵤ -ﵤ -صحح -صحح - -ﵥ -ﵥ -ﵥ -صحح -صحح - -ﵦ -ﵦ -ﵦ -صمم -صمم - -ﵧ -ﵧ -ﵧ -شحم -شحم - -ﵨ -ﵨ -ﵨ -شحم -شحم - -ﵩ -ﵩ -ﵩ -شجي -شجي - -ﵪ -ﵪ -ﵪ -شمخ -شمخ - -ﵫ -ﵫ -ﵫ -شمخ -شمخ - -ﵬ -ﵬ -ﵬ -شمم -شمم - -ﵭ -ﵭ -ﵭ -شمم -شمم - -ﵮ -ﵮ -ﵮ -ضحى -ضحى - -ﵯ -ﵯ -ﵯ -ضخم -ضخم - -ﵰ -ﵰ -ﵰ -ضخم -ضخم - -ﵱ -ﵱ -ﵱ -طمح -طمح - -ﵲ -ﵲ -ﵲ -طمح -طمح - -ﵳ -ﵳ -ﵳ -طمم -طمم - -ﵴ -ﵴ -ﵴ -طمي -طمي - -ﵵ -ﵵ -ﵵ -عجم -عجم - -ﵶ -ﵶ -ﵶ -عمم -عمم - -ﵷ -ﵷ -ﵷ -عمم -عمم - -ﵸ -ﵸ -ﵸ -عمى -عمى - -ﵹ -ﵹ -ﵹ -غمم -غمم - -ﵺ -ﵺ -ﵺ -غمي -غمي - -ﵻ -ﵻ -ﵻ -غمى -غمى - -ﵼ -ﵼ -ﵼ -فخم -فخم - -ﵽ -ﵽ -ﵽ -فخم -فخم - -ﵾ -ﵾ -ﵾ -قمح -قمح - -ﵿ -ﵿ -ﵿ -قمم -قمم - -ﶀ -ﶀ -ﶀ -لحم -لحم - -ﶁ -ﶁ -ﶁ -لحي -لحي - -ﶂ -ﶂ -ﶂ -لحى -لحى - -ﶃ -ﶃ -ﶃ -لجج -لجج - -ﶄ -ﶄ -ﶄ -لجج -لجج - -ﶅ -ﶅ -ﶅ -لخم -لخم - -ﶆ -ﶆ -ﶆ -لخم -لخم - -ﶇ -ﶇ -ﶇ -لمح -لمح - -ﶈ -ﶈ -ﶈ -لمح -لمح - -ﶉ -ﶉ -ﶉ -محج -محج - -ﶊ -ﶊ -ﶊ -محم -محم - -ﶋ -ﶋ -ﶋ -محي -محي - -ﶌ -ﶌ -ﶌ -مجح -مجح - -ﶍ -ﶍ -ﶍ -مجم -مجم - -ﶎ -ﶎ -ﶎ -مخج -مخج - -ﶏ -ﶏ -ﶏ -مخم -مخم - -ﶒ -ﶒ -ﶒ -مجخ -مجخ - -ﶓ -ﶓ -ﶓ -همج -همج - -ﶔ -ﶔ -ﶔ -همم -همم - -ﶕ -ﶕ -ﶕ -نحم -نحم - -ﶖ -ﶖ -ﶖ -نحى -نحى - -ﶗ -ﶗ -ﶗ -نجم -نجم - -ﶘ -ﶘ -ﶘ -نجم -نجم - -ﶙ -ﶙ -ﶙ -نجى -نجى - -ﶚ -ﶚ -ﶚ -نمي -نمي - -ﶛ -ﶛ -ﶛ -نمى -نمى - -ﶜ -ﶜ -ﶜ -يمم -يمم - -ﶝ -ﶝ -ﶝ -يمم -يمم - -ﶞ -ﶞ -ﶞ -بخي -بخي - -ﶟ -ﶟ -ﶟ -تجي -تجي - -ﶠ -ﶠ -ﶠ -تجى -تجى - -ﶡ -ﶡ -ﶡ -تخي -تخي - -ﶢ -ﶢ -ﶢ -تخى -تخى - -ﶣ -ﶣ -ﶣ -تمي -تمي - -ﶤ -ﶤ -ﶤ -تمى -تمى - -ﶥ -ﶥ -ﶥ -جمي -جمي - -ﶦ -ﶦ -ﶦ -جحى -جحى - -ﶧ -ﶧ -ﶧ -جمى -جمى - -ﶨ -ﶨ -ﶨ -سخى -سخى - -ﶩ -ﶩ -ﶩ -صحي -صحي - -ﶪ -ﶪ -ﶪ -شحي -شحي - -ﶫ -ﶫ -ﶫ -ضحي -ضحي - -ﶬ -ﶬ -ﶬ -لجي -لجي - -ﶭ -ﶭ -ﶭ -لمي -لمي - -ﶮ -ﶮ -ﶮ -يحي -يحي - -ﶯ -ﶯ -ﶯ -يجي -يجي - -ﶰ -ﶰ -ﶰ -يمي -يمي - -ﶱ -ﶱ -ﶱ -ممي -ممي - -ﶲ -ﶲ -ﶲ -قمي -قمي - -ﶳ -ﶳ -ﶳ -نحي -نحي - -ﶴ -ﶴ -ﶴ -قمح -قمح - -ﶵ -ﶵ -ﶵ -لحم -لحم - -ﶶ -ﶶ -ﶶ -عمي -عمي - -ﶷ -ﶷ -ﶷ -كمي -كمي - -ﶸ -ﶸ -ﶸ -نجح -نجح - -ﶹ -ﶹ -ﶹ -مخي -مخي - -ﶺ -ﶺ -ﶺ -لجم -لجم - -ﶻ -ﶻ -ﶻ -كمم -كمم - -ﶼ -ﶼ -ﶼ -لجم -لجم - -ﶽ -ﶽ -ﶽ -نجح -نجح - -ﶾ -ﶾ -ﶾ -جحي -جحي - -ﶿ -ﶿ -ﶿ -حجي -حجي - -ﷀ -ﷀ -ﷀ -مجي -مجي - -ﷁ -ﷁ -ﷁ -فمي -فمي - -ﷂ -ﷂ -ﷂ -بحي -بحي - -ﷃ -ﷃ -ﷃ -كمم -كمم - -ﷄ -ﷄ -ﷄ -عجم -عجم - -ﷅ -ﷅ -ﷅ -صمم -صمم - -ﷆ -ﷆ -ﷆ -سخي -سخي - -ﷇ -ﷇ -ﷇ -نجي -نجي - -ﷰ -ﷰ -ﷰ -صلے -صلے - -ﷱ -ﷱ -ﷱ -قلے -قلے - -ﷲ -ﷲ -ﷲ -الله -الله - -ﷳ -ﷳ -ﷳ -اكبر -اكبر - -ﷴ -ﷴ -ﷴ -محمد -محمد - -ﷵ -ﷵ -ﷵ -صلعم -صلعم - -ﷶ -ﷶ -ﷶ -رسول -رسول - -ﷷ -ﷷ -ﷷ -عليه -عليه - -ﷸ -ﷸ -ﷸ -وسلم -وسلم - -ﷹ -ﷹ -ﷹ -صلى -صلى - -ﷺ -ﷺ -ﷺ -صلى الله عليه وسلم -صلى الله عليه وسلم - -ﷻ -ﷻ -ﷻ -جل جلاله -جل جلاله - -﷼ -﷼ -﷼ -ریال -ریال - -︐ -︐ -︐ -, -, - -︑ -︑ -︑ -、 -、 - -︒ -︒ -︒ -。 -。 - -︓ -︓ -︓ -: -: - -︔ -︔ -︔ -; -; - -︕ -︕ -︕ -! -! - -︖ -︖ -︖ -? -? - -︗ -︗ -︗ -〖 -〖 - -︘ -︘ -︘ -〗 -〗 - -︙ -︙ -︙ -... -... - -︰ -︰ -︰ -.. -.. - -︱ -︱ -︱ -— -— - -︲ -︲ -︲ -– -– - -︳ -︳ -︳ -_ -_ - -︴ -︴ -︴ -_ -_ - -︵ -︵ -︵ -( -( - -︶ -︶ -︶ -) -) - -︷ -︷ -︷ -{ -{ - -︸ -︸ -︸ -} -} - -︹ -︹ -︹ -〔 -〔 - -︺ -︺ -︺ -〕 -〕 - -︻ -︻ -︻ -【 -【 - -︼ -︼ -︼ -】 -】 - -︽ -︽ -︽ -《 -《 - -︾ -︾ -︾ -》 -》 - -︿ -︿ -︿ -〈 -〈 - -﹀ -﹀ -﹀ -〉 -〉 - -﹁ -﹁ -﹁ -「 -「 - -﹂ -﹂ -﹂ -」 -」 - -﹃ -﹃ -﹃ -『 -『 - -﹄ -﹄ -﹄ -』 -』 - -﹇ -﹇ -﹇ -[ -[ - -﹈ -﹈ -﹈ -] -] - -﹉ -﹉ -﹉ - ̅ - ̅ - -﹊ -﹊ -﹊ - ̅ - ̅ - -﹋ -﹋ -﹋ - ̅ - ̅ - -﹌ -﹌ -﹌ - ̅ - ̅ - -﹍ -﹍ -﹍ -_ -_ - -﹎ -﹎ -﹎ -_ -_ - -﹏ -﹏ -﹏ -_ -_ - -﹐ -﹐ -﹐ -, -, - -﹑ -﹑ -﹑ -、 -、 - -﹒ -﹒ -﹒ -. -. - -﹔ -﹔ -﹔ -; -; - -﹕ -﹕ -﹕ -: -: - -﹖ -﹖ -﹖ -? -? - -﹗ -﹗ -﹗ -! -! - -﹘ -﹘ -﹘ -— -— - -﹙ -﹙ -﹙ -( -( - -﹚ -﹚ -﹚ -) -) - -﹛ -﹛ -﹛ -{ -{ - -﹜ -﹜ -﹜ -} -} - -﹝ -﹝ -﹝ -〔 -〔 - -﹞ -﹞ -﹞ -〕 -〕 - -﹟ -﹟ -﹟ -# -# - -﹠ -﹠ -﹠ -& -& - -﹡ -﹡ -﹡ -* -* - -﹢ -﹢ -﹢ -+ -+ - -﹣ -﹣ -﹣ -- -- - -﹤ -﹤ -﹤ -< -< - -﹥ -﹥ -﹥ -> -> - -﹦ -﹦ -﹦ -= -= - -﹨ -﹨ -﹨ -\ -\ - -﹩ -﹩ -﹩ -$ -$ - -﹪ -﹪ -﹪ -% -% - -﹫ -﹫ -﹫ -@ -@ - -ﹰ -ﹰ -ﹰ - ً - ً - -ﹱ -ﹱ -ﹱ -ـً -ـً - -ﹲ -ﹲ -ﹲ - ٌ - ٌ - -ﹴ -ﹴ -ﹴ - ٍ - ٍ - -ﹶ -ﹶ -ﹶ - َ - َ - -ﹷ -ﹷ -ﹷ -ـَ -ـَ - -ﹸ -ﹸ -ﹸ - ُ - ُ - -ﹹ -ﹹ -ﹹ -ـُ -ـُ - -ﹺ -ﹺ -ﹺ - ِ - ِ - -ﹻ -ﹻ -ﹻ -ـِ -ـِ - -ﹼ -ﹼ -ﹼ - ّ - ّ - -ﹽ -ﹽ -ﹽ -ـّ -ـّ - -ﹾ -ﹾ -ﹾ - ْ - ْ - -ﹿ -ﹿ -ﹿ -ـْ -ـْ - -ﺀ -ﺀ -ﺀ -ء -ء - -ﺁ -ﺁ -ﺁ -آ -آ - -ﺂ -ﺂ -ﺂ -آ -آ - -ﺃ -ﺃ -ﺃ -أ -أ - -ﺄ -ﺄ -ﺄ -أ -أ - -ﺅ -ﺅ -ﺅ -ؤ -ؤ - -ﺆ -ﺆ -ﺆ -ؤ -ؤ - -ﺇ -ﺇ -ﺇ -إ -إ - -ﺈ -ﺈ -ﺈ -إ -إ - -ﺉ -ﺉ -ﺉ -ئ -ئ - -ﺊ -ﺊ -ﺊ -ئ -ئ - -ﺋ -ﺋ -ﺋ -ئ -ئ - -ﺌ -ﺌ -ﺌ -ئ -ئ - -ﺍ -ﺍ -ﺍ -ا -ا - -ﺎ -ﺎ -ﺎ -ا -ا - -ﺏ -ﺏ -ﺏ -ب -ب - -ﺐ -ﺐ -ﺐ -ب -ب - -ﺑ -ﺑ -ﺑ -ب -ب - -ﺒ -ﺒ -ﺒ -ب -ب - -ﺓ -ﺓ -ﺓ -ة -ة - -ﺔ -ﺔ -ﺔ -ة -ة - -ﺕ -ﺕ -ﺕ -ت -ت - -ﺖ -ﺖ -ﺖ -ت -ت - -ﺗ -ﺗ -ﺗ -ت -ت - -ﺘ -ﺘ -ﺘ -ت -ت - -ﺙ -ﺙ -ﺙ -ث -ث - -ﺚ -ﺚ -ﺚ -ث -ث - -ﺛ -ﺛ -ﺛ -ث -ث - -ﺜ -ﺜ -ﺜ -ث -ث - -ﺝ -ﺝ -ﺝ -ج -ج - -ﺞ -ﺞ -ﺞ -ج -ج - -ﺟ -ﺟ -ﺟ -ج -ج - -ﺠ -ﺠ -ﺠ -ج -ج - -ﺡ -ﺡ -ﺡ -ح -ح - -ﺢ -ﺢ -ﺢ -ح -ح - -ﺣ -ﺣ -ﺣ -ح -ح - -ﺤ -ﺤ -ﺤ -ح -ح - -ﺥ -ﺥ -ﺥ -خ -خ - -ﺦ -ﺦ -ﺦ -خ -خ - -ﺧ -ﺧ -ﺧ -خ -خ - -ﺨ -ﺨ -ﺨ -خ -خ - -ﺩ -ﺩ -ﺩ -د -د - -ﺪ -ﺪ -ﺪ -د -د - -ﺫ -ﺫ -ﺫ -ذ -ذ - -ﺬ -ﺬ -ﺬ -ذ -ذ - -ﺭ -ﺭ -ﺭ -ر -ر - -ﺮ -ﺮ -ﺮ -ر -ر - -ﺯ -ﺯ -ﺯ -ز -ز - -ﺰ -ﺰ -ﺰ -ز -ز - -ﺱ -ﺱ -ﺱ -س -س - -ﺲ -ﺲ -ﺲ -س -س - -ﺳ -ﺳ -ﺳ -س -س - -ﺴ -ﺴ -ﺴ -س -س - -ﺵ -ﺵ -ﺵ -ش -ش - -ﺶ -ﺶ -ﺶ -ش -ش - -ﺷ -ﺷ -ﺷ -ش -ش - -ﺸ -ﺸ -ﺸ -ش -ش - -ﺹ -ﺹ -ﺹ -ص -ص - -ﺺ -ﺺ -ﺺ -ص -ص - -ﺻ -ﺻ -ﺻ -ص -ص - -ﺼ -ﺼ -ﺼ -ص -ص - -ﺽ -ﺽ -ﺽ -ض -ض - -ﺾ -ﺾ -ﺾ -ض -ض - -ﺿ -ﺿ -ﺿ -ض -ض - -ﻀ -ﻀ -ﻀ -ض -ض - -ﻁ -ﻁ -ﻁ -ط -ط - -ﻂ -ﻂ -ﻂ -ط -ط - -ﻃ -ﻃ -ﻃ -ط -ط - -ﻄ -ﻄ -ﻄ -ط -ط - -ﻅ -ﻅ -ﻅ -ظ -ظ - -ﻆ -ﻆ -ﻆ -ظ -ظ - -ﻇ -ﻇ -ﻇ -ظ -ظ - -ﻈ -ﻈ -ﻈ -ظ -ظ - -ﻉ -ﻉ -ﻉ -ع -ع - -ﻊ -ﻊ -ﻊ -ع -ع - -ﻋ -ﻋ -ﻋ -ع -ع - -ﻌ -ﻌ -ﻌ -ع -ع - -ﻍ -ﻍ -ﻍ -غ -غ - -ﻎ -ﻎ -ﻎ -غ -غ - -ﻏ -ﻏ -ﻏ -غ -غ - -ﻐ -ﻐ -ﻐ -غ -غ - -ﻑ -ﻑ -ﻑ -ف -ف - -ﻒ -ﻒ -ﻒ -ف -ف - -ﻓ -ﻓ -ﻓ -ف -ف - -ﻔ -ﻔ -ﻔ -ف -ف - -ﻕ -ﻕ -ﻕ -ق -ق - -ﻖ -ﻖ -ﻖ -ق -ق - -ﻗ -ﻗ -ﻗ -ق -ق - -ﻘ -ﻘ -ﻘ -ق -ق - -ﻙ -ﻙ -ﻙ -ك -ك - -ﻚ -ﻚ -ﻚ -ك -ك - -ﻛ -ﻛ -ﻛ -ك -ك - -ﻜ -ﻜ -ﻜ -ك -ك - -ﻝ -ﻝ -ﻝ -ل -ل - -ﻞ -ﻞ -ﻞ -ل -ل - -ﻟ -ﻟ -ﻟ -ل -ل - -ﻠ -ﻠ -ﻠ -ل -ل - -ﻡ -ﻡ -ﻡ -م -م - -ﻢ -ﻢ -ﻢ -م -م - -ﻣ -ﻣ -ﻣ -م -م - -ﻤ -ﻤ -ﻤ -م -م - -ﻥ -ﻥ -ﻥ -ن -ن - -ﻦ -ﻦ -ﻦ -ن -ن - -ﻧ -ﻧ -ﻧ -ن -ن - -ﻨ -ﻨ -ﻨ -ن -ن - -ﻩ -ﻩ -ﻩ -ه -ه - -ﻪ -ﻪ -ﻪ -ه -ه - -ﻫ -ﻫ -ﻫ -ه -ه - -ﻬ -ﻬ -ﻬ -ه -ه - -ﻭ -ﻭ -ﻭ -و -و - -ﻮ -ﻮ -ﻮ -و -و - -ﻯ -ﻯ -ﻯ -ى -ى - -ﻰ -ﻰ -ﻰ -ى -ى - -ﻱ -ﻱ -ﻱ -ي -ي - -ﻲ -ﻲ -ﻲ -ي -ي - -ﻳ -ﻳ -ﻳ -ي -ي - -ﻴ -ﻴ -ﻴ -ي -ي - -ﻵ -ﻵ -ﻵ -لآ -لآ - -ﻶ -ﻶ -ﻶ -لآ -لآ - -ﻷ -ﻷ -ﻷ -لأ -لأ - -ﻸ -ﻸ -ﻸ -لأ -لأ - -ﻹ -ﻹ -ﻹ -لإ -لإ - -ﻺ -ﻺ -ﻺ -لإ -لإ - -ﻻ -ﻻ -ﻻ -لا -لا - -ﻼ -ﻼ -ﻼ -لا -لا - -! -! -! -! -! - -" -" -" -" -" - -# -# -# -# -# - -$ -$ -$ -$ -$ - -% -% -% -% -% - -& -& -& -& -& - -' -' -' -' -' - -( -( -( -( -( - -) -) -) -) -) - -* -* -* -* -* - -+ -+ -+ -+ -+ - -, -, -, -, -, - -- -- -- -- -- - -. -. -. -. -. - -/ -/ -/ -/ -/ - -0 -0 -0 -0 -0 - -1 -1 -1 -1 -1 - -2 -2 -2 -2 -2 - -3 -3 -3 -3 -3 - -4 -4 -4 -4 -4 - -5 -5 -5 -5 -5 - -6 -6 -6 -6 -6 - -7 -7 -7 -7 -7 - -8 -8 -8 -8 -8 - -9 -9 -9 -9 -9 - -: -: -: -: -: - -; -; -; -; -; - -< -< -< -< -< - -= -= -= -= -= - -> -> -> -> -> - -? -? -? -? -? - -@ -@ -@ -@ -@ - -A -A -A -A -A - -B -B -B -B -B - -C -C -C -C -C - -D -D -D -D -D - -E -E -E -E -E - -F -F -F -F -F - -G -G -G -G -G - -H -H -H -H -H - -I -I -I -I -I - -J -J -J -J -J - -K -K -K -K -K - -L -L -L -L -L - -M -M -M -M -M - -N -N -N -N -N - -O -O -O -O -O - -P -P -P -P -P - -Q -Q -Q -Q -Q - -R -R -R -R -R - -S -S -S -S -S - -T -T -T -T -T - -U -U -U -U -U - -V -V -V -V -V - -W -W -W -W -W - -X -X -X -X -X - -Y -Y -Y -Y -Y - -Z -Z -Z -Z -Z - -[ -[ -[ -[ -[ - -\ -\ -\ -\ -\ - -] -] -] -] -] - -^ -^ -^ -^ -^ - -_ -_ -_ -_ -_ - -` -` -` -` -` - -a -a -a -a -a - -b -b -b -b -b - -c -c -c -c -c - -d -d -d -d -d - -e -e -e -e -e - -f -f -f -f -f - -g -g -g -g -g - -h -h -h -h -h - -i -i -i -i -i - -j -j -j -j -j - -k -k -k -k -k - -l -l -l -l -l - -m -m -m -m -m - -n -n -n -n -n - -o -o -o -o -o - -p -p -p -p -p - -q -q -q -q -q - -r -r -r -r -r - -s -s -s -s -s - -t -t -t -t -t - -u -u -u -u -u - -v -v -v -v -v - -w -w -w -w -w - -x -x -x -x -x - -y -y -y -y -y - -z -z -z -z -z - -{ -{ -{ -{ -{ - -| -| -| -| -| - -} -} -} -} -} - -~ -~ -~ -~ -~ - -⦅ -⦅ -⦅ -⦅ -⦅ - -⦆ -⦆ -⦆ -⦆ -⦆ - -。 -。 -。 -。 -。 - -「 -「 -「 -「 -「 - -」 -」 -」 -」 -」 - -、 -、 -、 -、 -、 - -・ -・ -・ -・ -・ - -ヲ -ヲ -ヲ -ヲ -ヲ - -ァ -ァ -ァ -ァ -ァ - -ィ -ィ -ィ -ィ -ィ - -ゥ -ゥ -ゥ -ゥ -ゥ - -ェ -ェ -ェ -ェ -ェ - -ォ -ォ -ォ -ォ -ォ - -ャ -ャ -ャ -ャ -ャ - -ュ -ュ -ュ -ュ -ュ - -ョ -ョ -ョ -ョ -ョ - -ッ -ッ -ッ -ッ -ッ - -ー -ー -ー -ー -ー - -ア -ア -ア -ア -ア - -イ -イ -イ -イ -イ - -ウ -ウ -ウ -ウ -ウ - -エ -エ -エ -エ -エ - -オ -オ -オ -オ -オ - -カ -カ -カ -カ -カ - -キ -キ -キ -キ -キ - -ク -ク -ク -ク -ク - -ケ -ケ -ケ -ケ -ケ - -コ -コ -コ -コ -コ - -サ -サ -サ -サ -サ - -シ -シ -シ -シ -シ - -ス -ス -ス -ス -ス - -セ -セ -セ -セ -セ - -ソ -ソ -ソ -ソ -ソ - -タ -タ -タ -タ -タ - -チ -チ -チ -チ -チ - -ツ -ツ -ツ -ツ -ツ - -テ -テ -テ -テ -テ - -ト -ト -ト -ト -ト - -ナ -ナ -ナ -ナ -ナ - -ニ -ニ -ニ -ニ -ニ - -ヌ -ヌ -ヌ -ヌ -ヌ - -ネ -ネ -ネ -ネ -ネ - -ノ -ノ -ノ -ノ -ノ - -ハ -ハ -ハ -ハ -ハ - -ヒ -ヒ -ヒ -ヒ -ヒ - -フ -フ -フ -フ -フ - -ヘ -ヘ -ヘ -ヘ -ヘ - -ホ -ホ -ホ -ホ -ホ - -マ -マ -マ -マ -マ - -ミ -ミ -ミ -ミ -ミ - -ム -ム -ム -ム -ム - -メ -メ -メ -メ -メ - -モ -モ -モ -モ -モ - -ヤ -ヤ -ヤ -ヤ -ヤ - -ユ -ユ -ユ -ユ -ユ - -ヨ -ヨ -ヨ -ヨ -ヨ - -ラ -ラ -ラ -ラ -ラ - -リ -リ -リ -リ -リ - -ル -ル -ル -ル -ル - -レ -レ -レ -レ -レ - -ロ -ロ -ロ -ロ -ロ - -ワ -ワ -ワ -ワ -ワ - -ン -ン -ン -ン -ン - -゙ -゙ -゙ -゙ -゙ - -゚ -゚ -゚ -゚ -゚ - -ᅠ -ᅠ -ᅠ -ᅠ -ᅠ - -ᄀ -ᄀ -ᄀ -ᄀ -ᄀ - -ᄁ -ᄁ -ᄁ -ᄁ -ᄁ - -ᆪ -ᆪ -ᆪ -ᆪ -ᆪ - -ᄂ -ᄂ -ᄂ -ᄂ -ᄂ - -ᆬ -ᆬ -ᆬ -ᆬ -ᆬ - -ᆭ -ᆭ -ᆭ -ᆭ -ᆭ - -ᄃ -ᄃ -ᄃ -ᄃ -ᄃ - -ᄄ -ᄄ -ᄄ -ᄄ -ᄄ - -ᄅ -ᄅ -ᄅ -ᄅ -ᄅ - -ᆰ -ᆰ -ᆰ -ᆰ -ᆰ - -ᆱ -ᆱ -ᆱ -ᆱ -ᆱ - -ᆲ -ᆲ -ᆲ -ᆲ -ᆲ - -ᆳ -ᆳ -ᆳ -ᆳ -ᆳ - -ᆴ -ᆴ -ᆴ -ᆴ -ᆴ - -ᆵ -ᆵ -ᆵ -ᆵ -ᆵ - -ᄚ -ᄚ -ᄚ -ᄚ -ᄚ - -ᄆ -ᄆ -ᄆ -ᄆ -ᄆ - -ᄇ -ᄇ -ᄇ -ᄇ -ᄇ - -ᄈ -ᄈ -ᄈ -ᄈ -ᄈ - -ᄡ -ᄡ -ᄡ -ᄡ -ᄡ - -ᄉ -ᄉ -ᄉ -ᄉ -ᄉ - -ᄊ -ᄊ -ᄊ -ᄊ -ᄊ - -ᄋ -ᄋ -ᄋ -ᄋ -ᄋ - -ᄌ -ᄌ -ᄌ -ᄌ -ᄌ - -ᄍ -ᄍ -ᄍ -ᄍ -ᄍ - -ᄎ -ᄎ -ᄎ -ᄎ -ᄎ - -ᄏ -ᄏ -ᄏ -ᄏ -ᄏ - -ᄐ -ᄐ -ᄐ -ᄐ -ᄐ - -ᄑ -ᄑ -ᄑ -ᄑ -ᄑ - -ᄒ -ᄒ -ᄒ -ᄒ -ᄒ - -ᅡ -ᅡ -ᅡ -ᅡ -ᅡ - -ᅢ -ᅢ -ᅢ -ᅢ -ᅢ - -ᅣ -ᅣ -ᅣ -ᅣ -ᅣ - -ᅤ -ᅤ -ᅤ -ᅤ -ᅤ - -ᅥ -ᅥ -ᅥ -ᅥ -ᅥ - -ᅦ -ᅦ -ᅦ -ᅦ -ᅦ - -ᅧ -ᅧ -ᅧ -ᅧ -ᅧ - -ᅨ -ᅨ -ᅨ -ᅨ -ᅨ - -ᅩ -ᅩ -ᅩ -ᅩ -ᅩ - -ᅪ -ᅪ -ᅪ -ᅪ -ᅪ - -ᅫ -ᅫ -ᅫ -ᅫ -ᅫ - -ᅬ -ᅬ -ᅬ -ᅬ -ᅬ - -ᅭ -ᅭ -ᅭ -ᅭ -ᅭ - -ᅮ -ᅮ -ᅮ -ᅮ -ᅮ - -ᅯ -ᅯ -ᅯ -ᅯ -ᅯ - -ᅰ -ᅰ -ᅰ -ᅰ -ᅰ - -ᅱ -ᅱ -ᅱ -ᅱ -ᅱ - -ᅲ -ᅲ -ᅲ -ᅲ -ᅲ - -ᅳ -ᅳ -ᅳ -ᅳ -ᅳ - -ᅴ -ᅴ -ᅴ -ᅴ -ᅴ - -ᅵ -ᅵ -ᅵ -ᅵ -ᅵ - -¢ -¢ -¢ -¢ -¢ - -£ -£ -£ -£ -£ - -¬ -¬ -¬ -¬ -¬ - - ̄ - ̄ - ̄ - ̄ - ̄ - -¦ -¦ -¦ -¦ -¦ - -¥ -¥ -¥ -¥ -¥ - -₩ -₩ -₩ -₩ -₩ - -│ -│ -│ -│ -│ - -← -← -← -← -← - -↑ -↑ -↑ -↑ -↑ - -→ -→ -→ -→ -→ - -↓ -↓ -↓ -↓ -↓ - -■ -■ -■ -■ -■ - -○ -○ -○ -○ -○ - -𑂚 -𑂚 -𑂚 -𑂚 -𑂚 - -𑂜 -𑂜 -𑂜 -𑂜 -𑂜 - -𑂫 -𑂫 -𑂫 -𑂫 -𑂫 - -𑄮 -𑄮 -𑄮 -𑄮 -𑄮 - -𑄯 -𑄯 -𑄯 -𑄯 -𑄯 - -𑍋 -𑍋 -𑍋 -𑍋 -𑍋 - -𑍌 -𑍌 -𑍌 -𑍌 -𑍌 - -𑒻 -𑒻 -𑒻 -𑒻 -𑒻 - -𑒼 -𑒼 -𑒼 -𑒼 -𑒼 - -𑒾 -𑒾 -𑒾 -𑒾 -𑒾 - -𑖺 -𑖺 -𑖺 -𑖺 -𑖺 - -𑖻 -𑖻 -𑖻 -𑖻 -𑖻 - -𝅗𝅥 -𝅗𝅥 -𝅗𝅥 -𝅗𝅥 -𝅗𝅥 - -𝅘𝅥 -𝅘𝅥 -𝅘𝅥 -𝅘𝅥 -𝅘𝅥 - -𝅘𝅥𝅮 -𝅘𝅥𝅮 -𝅘𝅥𝅮 -𝅘𝅥𝅮 -𝅘𝅥𝅮 - -𝅘𝅥𝅯 -𝅘𝅥𝅯 -𝅘𝅥𝅯 -𝅘𝅥𝅯 -𝅘𝅥𝅯 - -𝅘𝅥𝅰 -𝅘𝅥𝅰 -𝅘𝅥𝅰 -𝅘𝅥𝅰 -𝅘𝅥𝅰 - -𝅘𝅥𝅱 -𝅘𝅥𝅱 -𝅘𝅥𝅱 -𝅘𝅥𝅱 -𝅘𝅥𝅱 - -𝅘𝅥𝅲 -𝅘𝅥𝅲 -𝅘𝅥𝅲 -𝅘𝅥𝅲 -𝅘𝅥𝅲 - -𝆹𝅥 -𝆹𝅥 -𝆹𝅥 -𝆹𝅥 -𝆹𝅥 - -𝆺𝅥 -𝆺𝅥 -𝆺𝅥 -𝆺𝅥 -𝆺𝅥 - -𝆹𝅥𝅮 -𝆹𝅥𝅮 -𝆹𝅥𝅮 -𝆹𝅥𝅮 -𝆹𝅥𝅮 - -𝆺𝅥𝅮 -𝆺𝅥𝅮 -𝆺𝅥𝅮 -𝆺𝅥𝅮 -𝆺𝅥𝅮 - -𝆹𝅥𝅯 -𝆹𝅥𝅯 -𝆹𝅥𝅯 -𝆹𝅥𝅯 -𝆹𝅥𝅯 - -𝆺𝅥𝅯 -𝆺𝅥𝅯 -𝆺𝅥𝅯 -𝆺𝅥𝅯 -𝆺𝅥𝅯 - -𝐀 -𝐀 -𝐀 -A -A - -𝐁 -𝐁 -𝐁 -B -B - -𝐂 -𝐂 -𝐂 -C -C - -𝐃 -𝐃 -𝐃 -D -D - -𝐄 -𝐄 -𝐄 -E -E - -𝐅 -𝐅 -𝐅 -F -F - -𝐆 -𝐆 -𝐆 -G -G - -𝐇 -𝐇 -𝐇 -H -H - -𝐈 -𝐈 -𝐈 -I -I - -𝐉 -𝐉 -𝐉 -J -J - -𝐊 -𝐊 -𝐊 -K -K - -𝐋 -𝐋 -𝐋 -L -L - -𝐌 -𝐌 -𝐌 -M -M - -𝐍 -𝐍 -𝐍 -N -N - -𝐎 -𝐎 -𝐎 -O -O - -𝐏 -𝐏 -𝐏 -P -P - -𝐐 -𝐐 -𝐐 -Q -Q - -𝐑 -𝐑 -𝐑 -R -R - -𝐒 -𝐒 -𝐒 -S -S - -𝐓 -𝐓 -𝐓 -T -T - -𝐔 -𝐔 -𝐔 -U -U - -𝐕 -𝐕 -𝐕 -V -V - -𝐖 -𝐖 -𝐖 -W -W - -𝐗 -𝐗 -𝐗 -X -X - -𝐘 -𝐘 -𝐘 -Y -Y - -𝐙 -𝐙 -𝐙 -Z -Z - -𝐚 -𝐚 -𝐚 -a -a - -𝐛 -𝐛 -𝐛 -b -b - -𝐜 -𝐜 -𝐜 -c -c - -𝐝 -𝐝 -𝐝 -d -d - -𝐞 -𝐞 -𝐞 -e -e - -𝐟 -𝐟 -𝐟 -f -f - -𝐠 -𝐠 -𝐠 -g -g - -𝐡 -𝐡 -𝐡 -h -h - -𝐢 -𝐢 -𝐢 -i -i - -𝐣 -𝐣 -𝐣 -j -j - -𝐤 -𝐤 -𝐤 -k -k - -𝐥 -𝐥 -𝐥 -l -l - -𝐦 -𝐦 -𝐦 -m -m - -𝐧 -𝐧 -𝐧 -n -n - -𝐨 -𝐨 -𝐨 -o -o - -𝐩 -𝐩 -𝐩 -p -p - -𝐪 -𝐪 -𝐪 -q -q - -𝐫 -𝐫 -𝐫 -r -r - -𝐬 -𝐬 -𝐬 -s -s - -𝐭 -𝐭 -𝐭 -t -t - -𝐮 -𝐮 -𝐮 -u -u - -𝐯 -𝐯 -𝐯 -v -v - -𝐰 -𝐰 -𝐰 -w -w - -𝐱 -𝐱 -𝐱 -x -x - -𝐲 -𝐲 -𝐲 -y -y - -𝐳 -𝐳 -𝐳 -z -z - -𝐴 -𝐴 -𝐴 -A -A - -𝐵 -𝐵 -𝐵 -B -B - -𝐶 -𝐶 -𝐶 -C -C - -𝐷 -𝐷 -𝐷 -D -D - -𝐸 -𝐸 -𝐸 -E -E - -𝐹 -𝐹 -𝐹 -F -F - -𝐺 -𝐺 -𝐺 -G -G - -𝐻 -𝐻 -𝐻 -H -H - -𝐼 -𝐼 -𝐼 -I -I - -𝐽 -𝐽 -𝐽 -J -J - -𝐾 -𝐾 -𝐾 -K -K - -𝐿 -𝐿 -𝐿 -L -L - -𝑀 -𝑀 -𝑀 -M -M - -𝑁 -𝑁 -𝑁 -N -N - -𝑂 -𝑂 -𝑂 -O -O - -𝑃 -𝑃 -𝑃 -P -P - -𝑄 -𝑄 -𝑄 -Q -Q - -𝑅 -𝑅 -𝑅 -R -R - -𝑆 -𝑆 -𝑆 -S -S - -𝑇 -𝑇 -𝑇 -T -T - -𝑈 -𝑈 -𝑈 -U -U - -𝑉 -𝑉 -𝑉 -V -V - -𝑊 -𝑊 -𝑊 -W -W - -𝑋 -𝑋 -𝑋 -X -X - -𝑌 -𝑌 -𝑌 -Y -Y - -𝑍 -𝑍 -𝑍 -Z -Z - -𝑎 -𝑎 -𝑎 -a -a - -𝑏 -𝑏 -𝑏 -b -b - -𝑐 -𝑐 -𝑐 -c -c - -𝑑 -𝑑 -𝑑 -d -d - -𝑒 -𝑒 -𝑒 -e -e - -𝑓 -𝑓 -𝑓 -f -f - -𝑔 -𝑔 -𝑔 -g -g - -𝑖 -𝑖 -𝑖 -i -i - -𝑗 -𝑗 -𝑗 -j -j - -𝑘 -𝑘 -𝑘 -k -k - -𝑙 -𝑙 -𝑙 -l -l - -𝑚 -𝑚 -𝑚 -m -m - -𝑛 -𝑛 -𝑛 -n -n - -𝑜 -𝑜 -𝑜 -o -o - -𝑝 -𝑝 -𝑝 -p -p - -𝑞 -𝑞 -𝑞 -q -q - -𝑟 -𝑟 -𝑟 -r -r - -𝑠 -𝑠 -𝑠 -s -s - -𝑡 -𝑡 -𝑡 -t -t - -𝑢 -𝑢 -𝑢 -u -u - -𝑣 -𝑣 -𝑣 -v -v - -𝑤 -𝑤 -𝑤 -w -w - -𝑥 -𝑥 -𝑥 -x -x - -𝑦 -𝑦 -𝑦 -y -y - -𝑧 -𝑧 -𝑧 -z -z - -𝑨 -𝑨 -𝑨 -A -A - -𝑩 -𝑩 -𝑩 -B -B - -𝑪 -𝑪 -𝑪 -C -C - -𝑫 -𝑫 -𝑫 -D -D - -𝑬 -𝑬 -𝑬 -E -E - -𝑭 -𝑭 -𝑭 -F -F - -𝑮 -𝑮 -𝑮 -G -G - -𝑯 -𝑯 -𝑯 -H -H - -𝑰 -𝑰 -𝑰 -I -I - -𝑱 -𝑱 -𝑱 -J -J - -𝑲 -𝑲 -𝑲 -K -K - -𝑳 -𝑳 -𝑳 -L -L - -𝑴 -𝑴 -𝑴 -M -M - -𝑵 -𝑵 -𝑵 -N -N - -𝑶 -𝑶 -𝑶 -O -O - -𝑷 -𝑷 -𝑷 -P -P - -𝑸 -𝑸 -𝑸 -Q -Q - -𝑹 -𝑹 -𝑹 -R -R - -𝑺 -𝑺 -𝑺 -S -S - -𝑻 -𝑻 -𝑻 -T -T - -𝑼 -𝑼 -𝑼 -U -U - -𝑽 -𝑽 -𝑽 -V -V - -𝑾 -𝑾 -𝑾 -W -W - -𝑿 -𝑿 -𝑿 -X -X - -𝒀 -𝒀 -𝒀 -Y -Y - -𝒁 -𝒁 -𝒁 -Z -Z - -𝒂 -𝒂 -𝒂 -a -a - -𝒃 -𝒃 -𝒃 -b -b - -𝒄 -𝒄 -𝒄 -c -c - -𝒅 -𝒅 -𝒅 -d -d - -𝒆 -𝒆 -𝒆 -e -e - -𝒇 -𝒇 -𝒇 -f -f - -𝒈 -𝒈 -𝒈 -g -g - -𝒉 -𝒉 -𝒉 -h -h - -𝒊 -𝒊 -𝒊 -i -i - -𝒋 -𝒋 -𝒋 -j -j - -𝒌 -𝒌 -𝒌 -k -k - -𝒍 -𝒍 -𝒍 -l -l - -𝒎 -𝒎 -𝒎 -m -m - -𝒏 -𝒏 -𝒏 -n -n - -𝒐 -𝒐 -𝒐 -o -o - -𝒑 -𝒑 -𝒑 -p -p - -𝒒 -𝒒 -𝒒 -q -q - -𝒓 -𝒓 -𝒓 -r -r - -𝒔 -𝒔 -𝒔 -s -s - -𝒕 -𝒕 -𝒕 -t -t - -𝒖 -𝒖 -𝒖 -u -u - -𝒗 -𝒗 -𝒗 -v -v - -𝒘 -𝒘 -𝒘 -w -w - -𝒙 -𝒙 -𝒙 -x -x - -𝒚 -𝒚 -𝒚 -y -y - -𝒛 -𝒛 -𝒛 -z -z - -𝒜 -𝒜 -𝒜 -A -A - -𝒞 -𝒞 -𝒞 -C -C - -𝒟 -𝒟 -𝒟 -D -D - -𝒢 -𝒢 -𝒢 -G -G - -𝒥 -𝒥 -𝒥 -J -J - -𝒦 -𝒦 -𝒦 -K -K - -𝒩 -𝒩 -𝒩 -N -N - -𝒪 -𝒪 -𝒪 -O -O - -𝒫 -𝒫 -𝒫 -P -P - -𝒬 -𝒬 -𝒬 -Q -Q - -𝒮 -𝒮 -𝒮 -S -S - -𝒯 -𝒯 -𝒯 -T -T - -𝒰 -𝒰 -𝒰 -U -U - -𝒱 -𝒱 -𝒱 -V -V - -𝒲 -𝒲 -𝒲 -W -W - -𝒳 -𝒳 -𝒳 -X -X - -𝒴 -𝒴 -𝒴 -Y -Y - -𝒵 -𝒵 -𝒵 -Z -Z - -𝒶 -𝒶 -𝒶 -a -a - -𝒷 -𝒷 -𝒷 -b -b - -𝒸 -𝒸 -𝒸 -c -c - -𝒹 -𝒹 -𝒹 -d -d - -𝒻 -𝒻 -𝒻 -f -f - -𝒽 -𝒽 -𝒽 -h -h - -𝒾 -𝒾 -𝒾 -i -i - -𝒿 -𝒿 -𝒿 -j -j - -𝓀 -𝓀 -𝓀 -k -k - -𝓁 -𝓁 -𝓁 -l -l - -𝓂 -𝓂 -𝓂 -m -m - -𝓃 -𝓃 -𝓃 -n -n - -𝓅 -𝓅 -𝓅 -p -p - -𝓆 -𝓆 -𝓆 -q -q - -𝓇 -𝓇 -𝓇 -r -r - -𝓈 -𝓈 -𝓈 -s -s - -𝓉 -𝓉 -𝓉 -t -t - -𝓊 -𝓊 -𝓊 -u -u - -𝓋 -𝓋 -𝓋 -v -v - -𝓌 -𝓌 -𝓌 -w -w - -𝓍 -𝓍 -𝓍 -x -x - -𝓎 -𝓎 -𝓎 -y -y - -𝓏 -𝓏 -𝓏 -z -z - -𝓐 -𝓐 -𝓐 -A -A - -𝓑 -𝓑 -𝓑 -B -B - -𝓒 -𝓒 -𝓒 -C -C - -𝓓 -𝓓 -𝓓 -D -D - -𝓔 -𝓔 -𝓔 -E -E - -𝓕 -𝓕 -𝓕 -F -F - -𝓖 -𝓖 -𝓖 -G -G - -𝓗 -𝓗 -𝓗 -H -H - -𝓘 -𝓘 -𝓘 -I -I - -𝓙 -𝓙 -𝓙 -J -J - -𝓚 -𝓚 -𝓚 -K -K - -𝓛 -𝓛 -𝓛 -L -L - -𝓜 -𝓜 -𝓜 -M -M - -𝓝 -𝓝 -𝓝 -N -N - -𝓞 -𝓞 -𝓞 -O -O - -𝓟 -𝓟 -𝓟 -P -P - -𝓠 -𝓠 -𝓠 -Q -Q - -𝓡 -𝓡 -𝓡 -R -R - -𝓢 -𝓢 -𝓢 -S -S - -𝓣 -𝓣 -𝓣 -T -T - -𝓤 -𝓤 -𝓤 -U -U - -𝓥 -𝓥 -𝓥 -V -V - -𝓦 -𝓦 -𝓦 -W -W - -𝓧 -𝓧 -𝓧 -X -X - -𝓨 -𝓨 -𝓨 -Y -Y - -𝓩 -𝓩 -𝓩 -Z -Z - -𝓪 -𝓪 -𝓪 -a -a - -𝓫 -𝓫 -𝓫 -b -b - -𝓬 -𝓬 -𝓬 -c -c - -𝓭 -𝓭 -𝓭 -d -d - -𝓮 -𝓮 -𝓮 -e -e - -𝓯 -𝓯 -𝓯 -f -f - -𝓰 -𝓰 -𝓰 -g -g - -𝓱 -𝓱 -𝓱 -h -h - -𝓲 -𝓲 -𝓲 -i -i - -𝓳 -𝓳 -𝓳 -j -j - -𝓴 -𝓴 -𝓴 -k -k - -𝓵 -𝓵 -𝓵 -l -l - -𝓶 -𝓶 -𝓶 -m -m - -𝓷 -𝓷 -𝓷 -n -n - -𝓸 -𝓸 -𝓸 -o -o - -𝓹 -𝓹 -𝓹 -p -p - -𝓺 -𝓺 -𝓺 -q -q - -𝓻 -𝓻 -𝓻 -r -r - -𝓼 -𝓼 -𝓼 -s -s - -𝓽 -𝓽 -𝓽 -t -t - -𝓾 -𝓾 -𝓾 -u -u - -𝓿 -𝓿 -𝓿 -v -v - -𝔀 -𝔀 -𝔀 -w -w - -𝔁 -𝔁 -𝔁 -x -x - -𝔂 -𝔂 -𝔂 -y -y - -𝔃 -𝔃 -𝔃 -z -z - -𝔄 -𝔄 -𝔄 -A -A - -𝔅 -𝔅 -𝔅 -B -B - -𝔇 -𝔇 -𝔇 -D -D - -𝔈 -𝔈 -𝔈 -E -E - -𝔉 -𝔉 -𝔉 -F -F - -𝔊 -𝔊 -𝔊 -G -G - -𝔍 -𝔍 -𝔍 -J -J - -𝔎 -𝔎 -𝔎 -K -K - -𝔏 -𝔏 -𝔏 -L -L - -𝔐 -𝔐 -𝔐 -M -M - -𝔑 -𝔑 -𝔑 -N -N - -𝔒 -𝔒 -𝔒 -O -O - -𝔓 -𝔓 -𝔓 -P -P - -𝔔 -𝔔 -𝔔 -Q -Q - -𝔖 -𝔖 -𝔖 -S -S - -𝔗 -𝔗 -𝔗 -T -T - -𝔘 -𝔘 -𝔘 -U -U - -𝔙 -𝔙 -𝔙 -V -V - -𝔚 -𝔚 -𝔚 -W -W - -𝔛 -𝔛 -𝔛 -X -X - -𝔜 -𝔜 -𝔜 -Y -Y - -𝔞 -𝔞 -𝔞 -a -a - -𝔟 -𝔟 -𝔟 -b -b - -𝔠 -𝔠 -𝔠 -c -c - -𝔡 -𝔡 -𝔡 -d -d - -𝔢 -𝔢 -𝔢 -e -e - -𝔣 -𝔣 -𝔣 -f -f - -𝔤 -𝔤 -𝔤 -g -g - -𝔥 -𝔥 -𝔥 -h -h - -𝔦 -𝔦 -𝔦 -i -i - -𝔧 -𝔧 -𝔧 -j -j - -𝔨 -𝔨 -𝔨 -k -k - -𝔩 -𝔩 -𝔩 -l -l - -𝔪 -𝔪 -𝔪 -m -m - -𝔫 -𝔫 -𝔫 -n -n - -𝔬 -𝔬 -𝔬 -o -o - -𝔭 -𝔭 -𝔭 -p -p - -𝔮 -𝔮 -𝔮 -q -q - -𝔯 -𝔯 -𝔯 -r -r - -𝔰 -𝔰 -𝔰 -s -s - -𝔱 -𝔱 -𝔱 -t -t - -𝔲 -𝔲 -𝔲 -u -u - -𝔳 -𝔳 -𝔳 -v -v - -𝔴 -𝔴 -𝔴 -w -w - -𝔵 -𝔵 -𝔵 -x -x - -𝔶 -𝔶 -𝔶 -y -y - -𝔷 -𝔷 -𝔷 -z -z - -𝔸 -𝔸 -𝔸 -A -A - -𝔹 -𝔹 -𝔹 -B -B - -𝔻 -𝔻 -𝔻 -D -D - -𝔼 -𝔼 -𝔼 -E -E - -𝔽 -𝔽 -𝔽 -F -F - -𝔾 -𝔾 -𝔾 -G -G - -𝕀 -𝕀 -𝕀 -I -I - -𝕁 -𝕁 -𝕁 -J -J - -𝕂 -𝕂 -𝕂 -K -K - -𝕃 -𝕃 -𝕃 -L -L - -𝕄 -𝕄 -𝕄 -M -M - -𝕆 -𝕆 -𝕆 -O -O - -𝕊 -𝕊 -𝕊 -S -S - -𝕋 -𝕋 -𝕋 -T -T - -𝕌 -𝕌 -𝕌 -U -U - -𝕍 -𝕍 -𝕍 -V -V - -𝕎 -𝕎 -𝕎 -W -W - -𝕏 -𝕏 -𝕏 -X -X - -𝕐 -𝕐 -𝕐 -Y -Y - -𝕒 -𝕒 -𝕒 -a -a - -𝕓 -𝕓 -𝕓 -b -b - -𝕔 -𝕔 -𝕔 -c -c - -𝕕 -𝕕 -𝕕 -d -d - -𝕖 -𝕖 -𝕖 -e -e - -𝕗 -𝕗 -𝕗 -f -f - -𝕘 -𝕘 -𝕘 -g -g - -𝕙 -𝕙 -𝕙 -h -h - -𝕚 -𝕚 -𝕚 -i -i - -𝕛 -𝕛 -𝕛 -j -j - -𝕜 -𝕜 -𝕜 -k -k - -𝕝 -𝕝 -𝕝 -l -l - -𝕞 -𝕞 -𝕞 -m -m - -𝕟 -𝕟 -𝕟 -n -n - -𝕠 -𝕠 -𝕠 -o -o - -𝕡 -𝕡 -𝕡 -p -p - -𝕢 -𝕢 -𝕢 -q -q - -𝕣 -𝕣 -𝕣 -r -r - -𝕤 -𝕤 -𝕤 -s -s - -𝕥 -𝕥 -𝕥 -t -t - -𝕦 -𝕦 -𝕦 -u -u - -𝕧 -𝕧 -𝕧 -v -v - -𝕨 -𝕨 -𝕨 -w -w - -𝕩 -𝕩 -𝕩 -x -x - -𝕪 -𝕪 -𝕪 -y -y - -𝕫 -𝕫 -𝕫 -z -z - -𝕬 -𝕬 -𝕬 -A -A - -𝕭 -𝕭 -𝕭 -B -B - -𝕮 -𝕮 -𝕮 -C -C - -𝕯 -𝕯 -𝕯 -D -D - -𝕰 -𝕰 -𝕰 -E -E - -𝕱 -𝕱 -𝕱 -F -F - -𝕲 -𝕲 -𝕲 -G -G - -𝕳 -𝕳 -𝕳 -H -H - -𝕴 -𝕴 -𝕴 -I -I - -𝕵 -𝕵 -𝕵 -J -J - -𝕶 -𝕶 -𝕶 -K -K - -𝕷 -𝕷 -𝕷 -L -L - -𝕸 -𝕸 -𝕸 -M -M - -𝕹 -𝕹 -𝕹 -N -N - -𝕺 -𝕺 -𝕺 -O -O - -𝕻 -𝕻 -𝕻 -P -P - -𝕼 -𝕼 -𝕼 -Q -Q - -𝕽 -𝕽 -𝕽 -R -R - -𝕾 -𝕾 -𝕾 -S -S - -𝕿 -𝕿 -𝕿 -T -T - -𝖀 -𝖀 -𝖀 -U -U - -𝖁 -𝖁 -𝖁 -V -V - -𝖂 -𝖂 -𝖂 -W -W - -𝖃 -𝖃 -𝖃 -X -X - -𝖄 -𝖄 -𝖄 -Y -Y - -𝖅 -𝖅 -𝖅 -Z -Z - -𝖆 -𝖆 -𝖆 -a -a - -𝖇 -𝖇 -𝖇 -b -b - -𝖈 -𝖈 -𝖈 -c -c - -𝖉 -𝖉 -𝖉 -d -d - -𝖊 -𝖊 -𝖊 -e -e - -𝖋 -𝖋 -𝖋 -f -f - -𝖌 -𝖌 -𝖌 -g -g - -𝖍 -𝖍 -𝖍 -h -h - -𝖎 -𝖎 -𝖎 -i -i - -𝖏 -𝖏 -𝖏 -j -j - -𝖐 -𝖐 -𝖐 -k -k - -𝖑 -𝖑 -𝖑 -l -l - -𝖒 -𝖒 -𝖒 -m -m - -𝖓 -𝖓 -𝖓 -n -n - -𝖔 -𝖔 -𝖔 -o -o - -𝖕 -𝖕 -𝖕 -p -p - -𝖖 -𝖖 -𝖖 -q -q - -𝖗 -𝖗 -𝖗 -r -r - -𝖘 -𝖘 -𝖘 -s -s - -𝖙 -𝖙 -𝖙 -t -t - -𝖚 -𝖚 -𝖚 -u -u - -𝖛 -𝖛 -𝖛 -v -v - -𝖜 -𝖜 -𝖜 -w -w - -𝖝 -𝖝 -𝖝 -x -x - -𝖞 -𝖞 -𝖞 -y -y - -𝖟 -𝖟 -𝖟 -z -z - -𝖠 -𝖠 -𝖠 -A -A - -𝖡 -𝖡 -𝖡 -B -B - -𝖢 -𝖢 -𝖢 -C -C - -𝖣 -𝖣 -𝖣 -D -D - -𝖤 -𝖤 -𝖤 -E -E - -𝖥 -𝖥 -𝖥 -F -F - -𝖦 -𝖦 -𝖦 -G -G - -𝖧 -𝖧 -𝖧 -H -H - -𝖨 -𝖨 -𝖨 -I -I - -𝖩 -𝖩 -𝖩 -J -J - -𝖪 -𝖪 -𝖪 -K -K - -𝖫 -𝖫 -𝖫 -L -L - -𝖬 -𝖬 -𝖬 -M -M - -𝖭 -𝖭 -𝖭 -N -N - -𝖮 -𝖮 -𝖮 -O -O - -𝖯 -𝖯 -𝖯 -P -P - -𝖰 -𝖰 -𝖰 -Q -Q - -𝖱 -𝖱 -𝖱 -R -R - -𝖲 -𝖲 -𝖲 -S -S - -𝖳 -𝖳 -𝖳 -T -T - -𝖴 -𝖴 -𝖴 -U -U - -𝖵 -𝖵 -𝖵 -V -V - -𝖶 -𝖶 -𝖶 -W -W - -𝖷 -𝖷 -𝖷 -X -X - -𝖸 -𝖸 -𝖸 -Y -Y - -𝖹 -𝖹 -𝖹 -Z -Z - -𝖺 -𝖺 -𝖺 -a -a - -𝖻 -𝖻 -𝖻 -b -b - -𝖼 -𝖼 -𝖼 -c -c - -𝖽 -𝖽 -𝖽 -d -d - -𝖾 -𝖾 -𝖾 -e -e - -𝖿 -𝖿 -𝖿 -f -f - -𝗀 -𝗀 -𝗀 -g -g - -𝗁 -𝗁 -𝗁 -h -h - -𝗂 -𝗂 -𝗂 -i -i - -𝗃 -𝗃 -𝗃 -j -j - -𝗄 -𝗄 -𝗄 -k -k - -𝗅 -𝗅 -𝗅 -l -l - -𝗆 -𝗆 -𝗆 -m -m - -𝗇 -𝗇 -𝗇 -n -n - -𝗈 -𝗈 -𝗈 -o -o - -𝗉 -𝗉 -𝗉 -p -p - -𝗊 -𝗊 -𝗊 -q -q - -𝗋 -𝗋 -𝗋 -r -r - -𝗌 -𝗌 -𝗌 -s -s - -𝗍 -𝗍 -𝗍 -t -t - -𝗎 -𝗎 -𝗎 -u -u - -𝗏 -𝗏 -𝗏 -v -v - -𝗐 -𝗐 -𝗐 -w -w - -𝗑 -𝗑 -𝗑 -x -x - -𝗒 -𝗒 -𝗒 -y -y - -𝗓 -𝗓 -𝗓 -z -z - -𝗔 -𝗔 -𝗔 -A -A - -𝗕 -𝗕 -𝗕 -B -B - -𝗖 -𝗖 -𝗖 -C -C - -𝗗 -𝗗 -𝗗 -D -D - -𝗘 -𝗘 -𝗘 -E -E - -𝗙 -𝗙 -𝗙 -F -F - -𝗚 -𝗚 -𝗚 -G -G - -𝗛 -𝗛 -𝗛 -H -H - -𝗜 -𝗜 -𝗜 -I -I - -𝗝 -𝗝 -𝗝 -J -J - -𝗞 -𝗞 -𝗞 -K -K - -𝗟 -𝗟 -𝗟 -L -L - -𝗠 -𝗠 -𝗠 -M -M - -𝗡 -𝗡 -𝗡 -N -N - -𝗢 -𝗢 -𝗢 -O -O - -𝗣 -𝗣 -𝗣 -P -P - -𝗤 -𝗤 -𝗤 -Q -Q - -𝗥 -𝗥 -𝗥 -R -R - -𝗦 -𝗦 -𝗦 -S -S - -𝗧 -𝗧 -𝗧 -T -T - -𝗨 -𝗨 -𝗨 -U -U - -𝗩 -𝗩 -𝗩 -V -V - -𝗪 -𝗪 -𝗪 -W -W - -𝗫 -𝗫 -𝗫 -X -X - -𝗬 -𝗬 -𝗬 -Y -Y - -𝗭 -𝗭 -𝗭 -Z -Z - -𝗮 -𝗮 -𝗮 -a -a - -𝗯 -𝗯 -𝗯 -b -b - -𝗰 -𝗰 -𝗰 -c -c - -𝗱 -𝗱 -𝗱 -d -d - -𝗲 -𝗲 -𝗲 -e -e - -𝗳 -𝗳 -𝗳 -f -f - -𝗴 -𝗴 -𝗴 -g -g - -𝗵 -𝗵 -𝗵 -h -h - -𝗶 -𝗶 -𝗶 -i -i - -𝗷 -𝗷 -𝗷 -j -j - -𝗸 -𝗸 -𝗸 -k -k - -𝗹 -𝗹 -𝗹 -l -l - -𝗺 -𝗺 -𝗺 -m -m - -𝗻 -𝗻 -𝗻 -n -n - -𝗼 -𝗼 -𝗼 -o -o - -𝗽 -𝗽 -𝗽 -p -p - -𝗾 -𝗾 -𝗾 -q -q - -𝗿 -𝗿 -𝗿 -r -r - -𝘀 -𝘀 -𝘀 -s -s - -𝘁 -𝘁 -𝘁 -t -t - -𝘂 -𝘂 -𝘂 -u -u - -𝘃 -𝘃 -𝘃 -v -v - -𝘄 -𝘄 -𝘄 -w -w - -𝘅 -𝘅 -𝘅 -x -x - -𝘆 -𝘆 -𝘆 -y -y - -𝘇 -𝘇 -𝘇 -z -z - -𝘈 -𝘈 -𝘈 -A -A - -𝘉 -𝘉 -𝘉 -B -B - -𝘊 -𝘊 -𝘊 -C -C - -𝘋 -𝘋 -𝘋 -D -D - -𝘌 -𝘌 -𝘌 -E -E - -𝘍 -𝘍 -𝘍 -F -F - -𝘎 -𝘎 -𝘎 -G -G - -𝘏 -𝘏 -𝘏 -H -H - -𝘐 -𝘐 -𝘐 -I -I - -𝘑 -𝘑 -𝘑 -J -J - -𝘒 -𝘒 -𝘒 -K -K - -𝘓 -𝘓 -𝘓 -L -L - -𝘔 -𝘔 -𝘔 -M -M - -𝘕 -𝘕 -𝘕 -N -N - -𝘖 -𝘖 -𝘖 -O -O - -𝘗 -𝘗 -𝘗 -P -P - -𝘘 -𝘘 -𝘘 -Q -Q - -𝘙 -𝘙 -𝘙 -R -R - -𝘚 -𝘚 -𝘚 -S -S - -𝘛 -𝘛 -𝘛 -T -T - -𝘜 -𝘜 -𝘜 -U -U - -𝘝 -𝘝 -𝘝 -V -V - -𝘞 -𝘞 -𝘞 -W -W - -𝘟 -𝘟 -𝘟 -X -X - -𝘠 -𝘠 -𝘠 -Y -Y - -𝘡 -𝘡 -𝘡 -Z -Z - -𝘢 -𝘢 -𝘢 -a -a - -𝘣 -𝘣 -𝘣 -b -b - -𝘤 -𝘤 -𝘤 -c -c - -𝘥 -𝘥 -𝘥 -d -d - -𝘦 -𝘦 -𝘦 -e -e - -𝘧 -𝘧 -𝘧 -f -f - -𝘨 -𝘨 -𝘨 -g -g - -𝘩 -𝘩 -𝘩 -h -h - -𝘪 -𝘪 -𝘪 -i -i - -𝘫 -𝘫 -𝘫 -j -j - -𝘬 -𝘬 -𝘬 -k -k - -𝘭 -𝘭 -𝘭 -l -l - -𝘮 -𝘮 -𝘮 -m -m - -𝘯 -𝘯 -𝘯 -n -n - -𝘰 -𝘰 -𝘰 -o -o - -𝘱 -𝘱 -𝘱 -p -p - -𝘲 -𝘲 -𝘲 -q -q - -𝘳 -𝘳 -𝘳 -r -r - -𝘴 -𝘴 -𝘴 -s -s - -𝘵 -𝘵 -𝘵 -t -t - -𝘶 -𝘶 -𝘶 -u -u - -𝘷 -𝘷 -𝘷 -v -v - -𝘸 -𝘸 -𝘸 -w -w - -𝘹 -𝘹 -𝘹 -x -x - -𝘺 -𝘺 -𝘺 -y -y - -𝘻 -𝘻 -𝘻 -z -z - -𝘼 -𝘼 -𝘼 -A -A - -𝘽 -𝘽 -𝘽 -B -B - -𝘾 -𝘾 -𝘾 -C -C - -𝘿 -𝘿 -𝘿 -D -D - -𝙀 -𝙀 -𝙀 -E -E - -𝙁 -𝙁 -𝙁 -F -F - -𝙂 -𝙂 -𝙂 -G -G - -𝙃 -𝙃 -𝙃 -H -H - -𝙄 -𝙄 -𝙄 -I -I - -𝙅 -𝙅 -𝙅 -J -J - -𝙆 -𝙆 -𝙆 -K -K - -𝙇 -𝙇 -𝙇 -L -L - -𝙈 -𝙈 -𝙈 -M -M - -𝙉 -𝙉 -𝙉 -N -N - -𝙊 -𝙊 -𝙊 -O -O - -𝙋 -𝙋 -𝙋 -P -P - -𝙌 -𝙌 -𝙌 -Q -Q - -𝙍 -𝙍 -𝙍 -R -R - -𝙎 -𝙎 -𝙎 -S -S - -𝙏 -𝙏 -𝙏 -T -T - -𝙐 -𝙐 -𝙐 -U -U - -𝙑 -𝙑 -𝙑 -V -V - -𝙒 -𝙒 -𝙒 -W -W - -𝙓 -𝙓 -𝙓 -X -X - -𝙔 -𝙔 -𝙔 -Y -Y - -𝙕 -𝙕 -𝙕 -Z -Z - -𝙖 -𝙖 -𝙖 -a -a - -𝙗 -𝙗 -𝙗 -b -b - -𝙘 -𝙘 -𝙘 -c -c - -𝙙 -𝙙 -𝙙 -d -d - -𝙚 -𝙚 -𝙚 -e -e - -𝙛 -𝙛 -𝙛 -f -f - -𝙜 -𝙜 -𝙜 -g -g - -𝙝 -𝙝 -𝙝 -h -h - -𝙞 -𝙞 -𝙞 -i -i - -𝙟 -𝙟 -𝙟 -j -j - -𝙠 -𝙠 -𝙠 -k -k - -𝙡 -𝙡 -𝙡 -l -l - -𝙢 -𝙢 -𝙢 -m -m - -𝙣 -𝙣 -𝙣 -n -n - -𝙤 -𝙤 -𝙤 -o -o - -𝙥 -𝙥 -𝙥 -p -p - -𝙦 -𝙦 -𝙦 -q -q - -𝙧 -𝙧 -𝙧 -r -r - -𝙨 -𝙨 -𝙨 -s -s - -𝙩 -𝙩 -𝙩 -t -t - -𝙪 -𝙪 -𝙪 -u -u - -𝙫 -𝙫 -𝙫 -v -v - -𝙬 -𝙬 -𝙬 -w -w - -𝙭 -𝙭 -𝙭 -x -x - -𝙮 -𝙮 -𝙮 -y -y - -𝙯 -𝙯 -𝙯 -z -z - -𝙰 -𝙰 -𝙰 -A -A - -𝙱 -𝙱 -𝙱 -B -B - -𝙲 -𝙲 -𝙲 -C -C - -𝙳 -𝙳 -𝙳 -D -D - -𝙴 -𝙴 -𝙴 -E -E - -𝙵 -𝙵 -𝙵 -F -F - -𝙶 -𝙶 -𝙶 -G -G - -𝙷 -𝙷 -𝙷 -H -H - -𝙸 -𝙸 -𝙸 -I -I - -𝙹 -𝙹 -𝙹 -J -J - -𝙺 -𝙺 -𝙺 -K -K - -𝙻 -𝙻 -𝙻 -L -L - -𝙼 -𝙼 -𝙼 -M -M - -𝙽 -𝙽 -𝙽 -N -N - -𝙾 -𝙾 -𝙾 -O -O - -𝙿 -𝙿 -𝙿 -P -P - -𝚀 -𝚀 -𝚀 -Q -Q - -𝚁 -𝚁 -𝚁 -R -R - -𝚂 -𝚂 -𝚂 -S -S - -𝚃 -𝚃 -𝚃 -T -T - -𝚄 -𝚄 -𝚄 -U -U - -𝚅 -𝚅 -𝚅 -V -V - -𝚆 -𝚆 -𝚆 -W -W - -𝚇 -𝚇 -𝚇 -X -X - -𝚈 -𝚈 -𝚈 -Y -Y - -𝚉 -𝚉 -𝚉 -Z -Z - -𝚊 -𝚊 -𝚊 -a -a - -𝚋 -𝚋 -𝚋 -b -b - -𝚌 -𝚌 -𝚌 -c -c - -𝚍 -𝚍 -𝚍 -d -d - -𝚎 -𝚎 -𝚎 -e -e - -𝚏 -𝚏 -𝚏 -f -f - -𝚐 -𝚐 -𝚐 -g -g - -𝚑 -𝚑 -𝚑 -h -h - -𝚒 -𝚒 -𝚒 -i -i - -𝚓 -𝚓 -𝚓 -j -j - -𝚔 -𝚔 -𝚔 -k -k - -𝚕 -𝚕 -𝚕 -l -l - -𝚖 -𝚖 -𝚖 -m -m - -𝚗 -𝚗 -𝚗 -n -n - -𝚘 -𝚘 -𝚘 -o -o - -𝚙 -𝚙 -𝚙 -p -p - -𝚚 -𝚚 -𝚚 -q -q - -𝚛 -𝚛 -𝚛 -r -r - -𝚜 -𝚜 -𝚜 -s -s - -𝚝 -𝚝 -𝚝 -t -t - -𝚞 -𝚞 -𝚞 -u -u - -𝚟 -𝚟 -𝚟 -v -v - -𝚠 -𝚠 -𝚠 -w -w - -𝚡 -𝚡 -𝚡 -x -x - -𝚢 -𝚢 -𝚢 -y -y - -𝚣 -𝚣 -𝚣 -z -z - -𝚤 -𝚤 -𝚤 -ı -ı - -𝚥 -𝚥 -𝚥 -ȷ -ȷ - -𝚨 -𝚨 -𝚨 -Α -Α - -𝚩 -𝚩 -𝚩 -Β -Β - -𝚪 -𝚪 -𝚪 -Γ -Γ - -𝚫 -𝚫 -𝚫 -Δ -Δ - -𝚬 -𝚬 -𝚬 -Ε -Ε - -𝚭 -𝚭 -𝚭 -Ζ -Ζ - -𝚮 -𝚮 -𝚮 -Η -Η - -𝚯 -𝚯 -𝚯 -Θ -Θ - -𝚰 -𝚰 -𝚰 -Ι -Ι - -𝚱 -𝚱 -𝚱 -Κ -Κ - -𝚲 -𝚲 -𝚲 -Λ -Λ - -𝚳 -𝚳 -𝚳 -Μ -Μ - -𝚴 -𝚴 -𝚴 -Ν -Ν - -𝚵 -𝚵 -𝚵 -Ξ -Ξ - -𝚶 -𝚶 -𝚶 -Ο -Ο - -𝚷 -𝚷 -𝚷 -Π -Π - -𝚸 -𝚸 -𝚸 -Ρ -Ρ - -𝚹 -𝚹 -𝚹 -Θ -Θ - -𝚺 -𝚺 -𝚺 -Σ -Σ - -𝚻 -𝚻 -𝚻 -Τ -Τ - -𝚼 -𝚼 -𝚼 -Υ -Υ - -𝚽 -𝚽 -𝚽 -Φ -Φ - -𝚾 -𝚾 -𝚾 -Χ -Χ - -𝚿 -𝚿 -𝚿 -Ψ -Ψ - -𝛀 -𝛀 -𝛀 -Ω -Ω - -𝛁 -𝛁 -𝛁 -∇ -∇ - -𝛂 -𝛂 -𝛂 -α -α - -𝛃 -𝛃 -𝛃 -β -β - -𝛄 -𝛄 -𝛄 -γ -γ - -𝛅 -𝛅 -𝛅 -δ -δ - -𝛆 -𝛆 -𝛆 -ε -ε - -𝛇 -𝛇 -𝛇 -ζ -ζ - -𝛈 -𝛈 -𝛈 -η -η - -𝛉 -𝛉 -𝛉 -θ -θ - -𝛊 -𝛊 -𝛊 -ι -ι - -𝛋 -𝛋 -𝛋 -κ -κ - -𝛌 -𝛌 -𝛌 -λ -λ - -𝛍 -𝛍 -𝛍 -μ -μ - -𝛎 -𝛎 -𝛎 -ν -ν - -𝛏 -𝛏 -𝛏 -ξ -ξ - -𝛐 -𝛐 -𝛐 -ο -ο - -𝛑 -𝛑 -𝛑 -π -π - -𝛒 -𝛒 -𝛒 -ρ -ρ - -𝛓 -𝛓 -𝛓 -ς -ς - -𝛔 -𝛔 -𝛔 -σ -σ - -𝛕 -𝛕 -𝛕 -τ -τ - -𝛖 -𝛖 -𝛖 -υ -υ - -𝛗 -𝛗 -𝛗 -φ -φ - -𝛘 -𝛘 -𝛘 -χ -χ - -𝛙 -𝛙 -𝛙 -ψ -ψ - -𝛚 -𝛚 -𝛚 -ω -ω - -𝛛 -𝛛 -𝛛 -∂ -∂ - -𝛜 -𝛜 -𝛜 -ε -ε - -𝛝 -𝛝 -𝛝 -θ -θ - -𝛞 -𝛞 -𝛞 -κ -κ - -𝛟 -𝛟 -𝛟 -φ -φ - -𝛠 -𝛠 -𝛠 -ρ -ρ - -𝛡 -𝛡 -𝛡 -π -π - -𝛢 -𝛢 -𝛢 -Α -Α - -𝛣 -𝛣 -𝛣 -Β -Β - -𝛤 -𝛤 -𝛤 -Γ -Γ - -𝛥 -𝛥 -𝛥 -Δ -Δ - -𝛦 -𝛦 -𝛦 -Ε -Ε - -𝛧 -𝛧 -𝛧 -Ζ -Ζ - -𝛨 -𝛨 -𝛨 -Η -Η - -𝛩 -𝛩 -𝛩 -Θ -Θ - -𝛪 -𝛪 -𝛪 -Ι -Ι - -𝛫 -𝛫 -𝛫 -Κ -Κ - -𝛬 -𝛬 -𝛬 -Λ -Λ - -𝛭 -𝛭 -𝛭 -Μ -Μ - -𝛮 -𝛮 -𝛮 -Ν -Ν - -𝛯 -𝛯 -𝛯 -Ξ -Ξ - -𝛰 -𝛰 -𝛰 -Ο -Ο - -𝛱 -𝛱 -𝛱 -Π -Π - -𝛲 -𝛲 -𝛲 -Ρ -Ρ - -𝛳 -𝛳 -𝛳 -Θ -Θ - -𝛴 -𝛴 -𝛴 -Σ -Σ - -𝛵 -𝛵 -𝛵 -Τ -Τ - -𝛶 -𝛶 -𝛶 -Υ -Υ - -𝛷 -𝛷 -𝛷 -Φ -Φ - -𝛸 -𝛸 -𝛸 -Χ -Χ - -𝛹 -𝛹 -𝛹 -Ψ -Ψ - -𝛺 -𝛺 -𝛺 -Ω -Ω - -𝛻 -𝛻 -𝛻 -∇ -∇ - -𝛼 -𝛼 -𝛼 -α -α - -𝛽 -𝛽 -𝛽 -β -β - -𝛾 -𝛾 -𝛾 -γ -γ - -𝛿 -𝛿 -𝛿 -δ -δ - -𝜀 -𝜀 -𝜀 -ε -ε - -𝜁 -𝜁 -𝜁 -ζ -ζ - -𝜂 -𝜂 -𝜂 -η -η - -𝜃 -𝜃 -𝜃 -θ -θ - -𝜄 -𝜄 -𝜄 -ι -ι - -𝜅 -𝜅 -𝜅 -κ -κ - -𝜆 -𝜆 -𝜆 -λ -λ - -𝜇 -𝜇 -𝜇 -μ -μ - -𝜈 -𝜈 -𝜈 -ν -ν - -𝜉 -𝜉 -𝜉 -ξ -ξ - -𝜊 -𝜊 -𝜊 -ο -ο - -𝜋 -𝜋 -𝜋 -π -π - -𝜌 -𝜌 -𝜌 -ρ -ρ - -𝜍 -𝜍 -𝜍 -ς -ς - -𝜎 -𝜎 -𝜎 -σ -σ - -𝜏 -𝜏 -𝜏 -τ -τ - -𝜐 -𝜐 -𝜐 -υ -υ - -𝜑 -𝜑 -𝜑 -φ -φ - -𝜒 -𝜒 -𝜒 -χ -χ - -𝜓 -𝜓 -𝜓 -ψ -ψ - -𝜔 -𝜔 -𝜔 -ω -ω - -𝜕 -𝜕 -𝜕 -∂ -∂ - -𝜖 -𝜖 -𝜖 -ε -ε - -𝜗 -𝜗 -𝜗 -θ -θ - -𝜘 -𝜘 -𝜘 -κ -κ - -𝜙 -𝜙 -𝜙 -φ -φ - -𝜚 -𝜚 -𝜚 -ρ -ρ - -𝜛 -𝜛 -𝜛 -π -π - -𝜜 -𝜜 -𝜜 -Α -Α - -𝜝 -𝜝 -𝜝 -Β -Β - -𝜞 -𝜞 -𝜞 -Γ -Γ - -𝜟 -𝜟 -𝜟 -Δ -Δ - -𝜠 -𝜠 -𝜠 -Ε -Ε - -𝜡 -𝜡 -𝜡 -Ζ -Ζ - -𝜢 -𝜢 -𝜢 -Η -Η - -𝜣 -𝜣 -𝜣 -Θ -Θ - -𝜤 -𝜤 -𝜤 -Ι -Ι - -𝜥 -𝜥 -𝜥 -Κ -Κ - -𝜦 -𝜦 -𝜦 -Λ -Λ - -𝜧 -𝜧 -𝜧 -Μ -Μ - -𝜨 -𝜨 -𝜨 -Ν -Ν - -𝜩 -𝜩 -𝜩 -Ξ -Ξ - -𝜪 -𝜪 -𝜪 -Ο -Ο - -𝜫 -𝜫 -𝜫 -Π -Π - -𝜬 -𝜬 -𝜬 -Ρ -Ρ - -𝜭 -𝜭 -𝜭 -Θ -Θ - -𝜮 -𝜮 -𝜮 -Σ -Σ - -𝜯 -𝜯 -𝜯 -Τ -Τ - -𝜰 -𝜰 -𝜰 -Υ -Υ - -𝜱 -𝜱 -𝜱 -Φ -Φ - -𝜲 -𝜲 -𝜲 -Χ -Χ - -𝜳 -𝜳 -𝜳 -Ψ -Ψ - -𝜴 -𝜴 -𝜴 -Ω -Ω - -𝜵 -𝜵 -𝜵 -∇ -∇ - -𝜶 -𝜶 -𝜶 -α -α - -𝜷 -𝜷 -𝜷 -β -β - -𝜸 -𝜸 -𝜸 -γ -γ - -𝜹 -𝜹 -𝜹 -δ -δ - -𝜺 -𝜺 -𝜺 -ε -ε - -𝜻 -𝜻 -𝜻 -ζ -ζ - -𝜼 -𝜼 -𝜼 -η -η - -𝜽 -𝜽 -𝜽 -θ -θ - -𝜾 -𝜾 -𝜾 -ι -ι - -𝜿 -𝜿 -𝜿 -κ -κ - -𝝀 -𝝀 -𝝀 -λ -λ - -𝝁 -𝝁 -𝝁 -μ -μ - -𝝂 -𝝂 -𝝂 -ν -ν - -𝝃 -𝝃 -𝝃 -ξ -ξ - -𝝄 -𝝄 -𝝄 -ο -ο - -𝝅 -𝝅 -𝝅 -π -π - -𝝆 -𝝆 -𝝆 -ρ -ρ - -𝝇 -𝝇 -𝝇 -ς -ς - -𝝈 -𝝈 -𝝈 -σ -σ - -𝝉 -𝝉 -𝝉 -τ -τ - -𝝊 -𝝊 -𝝊 -υ -υ - -𝝋 -𝝋 -𝝋 -φ -φ - -𝝌 -𝝌 -𝝌 -χ -χ - -𝝍 -𝝍 -𝝍 -ψ -ψ - -𝝎 -𝝎 -𝝎 -ω -ω - -𝝏 -𝝏 -𝝏 -∂ -∂ - -𝝐 -𝝐 -𝝐 -ε -ε - -𝝑 -𝝑 -𝝑 -θ -θ - -𝝒 -𝝒 -𝝒 -κ -κ - -𝝓 -𝝓 -𝝓 -φ -φ - -𝝔 -𝝔 -𝝔 -ρ -ρ - -𝝕 -𝝕 -𝝕 -π -π - -𝝖 -𝝖 -𝝖 -Α -Α - -𝝗 -𝝗 -𝝗 -Β -Β - -𝝘 -𝝘 -𝝘 -Γ -Γ - -𝝙 -𝝙 -𝝙 -Δ -Δ - -𝝚 -𝝚 -𝝚 -Ε -Ε - -𝝛 -𝝛 -𝝛 -Ζ -Ζ - -𝝜 -𝝜 -𝝜 -Η -Η - -𝝝 -𝝝 -𝝝 -Θ -Θ - -𝝞 -𝝞 -𝝞 -Ι -Ι - -𝝟 -𝝟 -𝝟 -Κ -Κ - -𝝠 -𝝠 -𝝠 -Λ -Λ - -𝝡 -𝝡 -𝝡 -Μ -Μ - -𝝢 -𝝢 -𝝢 -Ν -Ν - -𝝣 -𝝣 -𝝣 -Ξ -Ξ - -𝝤 -𝝤 -𝝤 -Ο -Ο - -𝝥 -𝝥 -𝝥 -Π -Π - -𝝦 -𝝦 -𝝦 -Ρ -Ρ - -𝝧 -𝝧 -𝝧 -Θ -Θ - -𝝨 -𝝨 -𝝨 -Σ -Σ - -𝝩 -𝝩 -𝝩 -Τ -Τ - -𝝪 -𝝪 -𝝪 -Υ -Υ - -𝝫 -𝝫 -𝝫 -Φ -Φ - -𝝬 -𝝬 -𝝬 -Χ -Χ - -𝝭 -𝝭 -𝝭 -Ψ -Ψ - -𝝮 -𝝮 -𝝮 -Ω -Ω - -𝝯 -𝝯 -𝝯 -∇ -∇ - -𝝰 -𝝰 -𝝰 -α -α - -𝝱 -𝝱 -𝝱 -β -β - -𝝲 -𝝲 -𝝲 -γ -γ - -𝝳 -𝝳 -𝝳 -δ -δ - -𝝴 -𝝴 -𝝴 -ε -ε - -𝝵 -𝝵 -𝝵 -ζ -ζ - -𝝶 -𝝶 -𝝶 -η -η - -𝝷 -𝝷 -𝝷 -θ -θ - -𝝸 -𝝸 -𝝸 -ι -ι - -𝝹 -𝝹 -𝝹 -κ -κ - -𝝺 -𝝺 -𝝺 -λ -λ - -𝝻 -𝝻 -𝝻 -μ -μ - -𝝼 -𝝼 -𝝼 -ν -ν - -𝝽 -𝝽 -𝝽 -ξ -ξ - -𝝾 -𝝾 -𝝾 -ο -ο - -𝝿 -𝝿 -𝝿 -π -π - -𝞀 -𝞀 -𝞀 -ρ -ρ - -𝞁 -𝞁 -𝞁 -ς -ς - -𝞂 -𝞂 -𝞂 -σ -σ - -𝞃 -𝞃 -𝞃 -τ -τ - -𝞄 -𝞄 -𝞄 -υ -υ - -𝞅 -𝞅 -𝞅 -φ -φ - -𝞆 -𝞆 -𝞆 -χ -χ - -𝞇 -𝞇 -𝞇 -ψ -ψ - -𝞈 -𝞈 -𝞈 -ω -ω - -𝞉 -𝞉 -𝞉 -∂ -∂ - -𝞊 -𝞊 -𝞊 -ε -ε - -𝞋 -𝞋 -𝞋 -θ -θ - -𝞌 -𝞌 -𝞌 -κ -κ - -𝞍 -𝞍 -𝞍 -φ -φ - -𝞎 -𝞎 -𝞎 -ρ -ρ - -𝞏 -𝞏 -𝞏 -π -π - -𝞐 -𝞐 -𝞐 -Α -Α - -𝞑 -𝞑 -𝞑 -Β -Β - -𝞒 -𝞒 -𝞒 -Γ -Γ - -𝞓 -𝞓 -𝞓 -Δ -Δ - -𝞔 -𝞔 -𝞔 -Ε -Ε - -𝞕 -𝞕 -𝞕 -Ζ -Ζ - -𝞖 -𝞖 -𝞖 -Η -Η - -𝞗 -𝞗 -𝞗 -Θ -Θ - -𝞘 -𝞘 -𝞘 -Ι -Ι - -𝞙 -𝞙 -𝞙 -Κ -Κ - -𝞚 -𝞚 -𝞚 -Λ -Λ - -𝞛 -𝞛 -𝞛 -Μ -Μ - -𝞜 -𝞜 -𝞜 -Ν -Ν - -𝞝 -𝞝 -𝞝 -Ξ -Ξ - -𝞞 -𝞞 -𝞞 -Ο -Ο - -𝞟 -𝞟 -𝞟 -Π -Π - -𝞠 -𝞠 -𝞠 -Ρ -Ρ - -𝞡 -𝞡 -𝞡 -Θ -Θ - -𝞢 -𝞢 -𝞢 -Σ -Σ - -𝞣 -𝞣 -𝞣 -Τ -Τ - -𝞤 -𝞤 -𝞤 -Υ -Υ - -𝞥 -𝞥 -𝞥 -Φ -Φ - -𝞦 -𝞦 -𝞦 -Χ -Χ - -𝞧 -𝞧 -𝞧 -Ψ -Ψ - -𝞨 -𝞨 -𝞨 -Ω -Ω - -𝞩 -𝞩 -𝞩 -∇ -∇ - -𝞪 -𝞪 -𝞪 -α -α - -𝞫 -𝞫 -𝞫 -β -β - -𝞬 -𝞬 -𝞬 -γ -γ - -𝞭 -𝞭 -𝞭 -δ -δ - -𝞮 -𝞮 -𝞮 -ε -ε - -𝞯 -𝞯 -𝞯 -ζ -ζ - -𝞰 -𝞰 -𝞰 -η -η - -𝞱 -𝞱 -𝞱 -θ -θ - -𝞲 -𝞲 -𝞲 -ι -ι - -𝞳 -𝞳 -𝞳 -κ -κ - -𝞴 -𝞴 -𝞴 -λ -λ - -𝞵 -𝞵 -𝞵 -μ -μ - -𝞶 -𝞶 -𝞶 -ν -ν - -𝞷 -𝞷 -𝞷 -ξ -ξ - -𝞸 -𝞸 -𝞸 -ο -ο - -𝞹 -𝞹 -𝞹 -π -π - -𝞺 -𝞺 -𝞺 -ρ -ρ - -𝞻 -𝞻 -𝞻 -ς -ς - -𝞼 -𝞼 -𝞼 -σ -σ - -𝞽 -𝞽 -𝞽 -τ -τ - -𝞾 -𝞾 -𝞾 -υ -υ - -𝞿 -𝞿 -𝞿 -φ -φ - -𝟀 -𝟀 -𝟀 -χ -χ - -𝟁 -𝟁 -𝟁 -ψ -ψ - -𝟂 -𝟂 -𝟂 -ω -ω - -𝟃 -𝟃 -𝟃 -∂ -∂ - -𝟄 -𝟄 -𝟄 -ε -ε - -𝟅 -𝟅 -𝟅 -θ -θ - -𝟆 -𝟆 -𝟆 -κ -κ - -𝟇 -𝟇 -𝟇 -φ -φ - -𝟈 -𝟈 -𝟈 -ρ -ρ - -𝟉 -𝟉 -𝟉 -π -π - -𝟊 -𝟊 -𝟊 -Ϝ -Ϝ - -𝟋 -𝟋 -𝟋 -ϝ -ϝ - -𝟎 -𝟎 -𝟎 -0 -0 - -𝟏 -𝟏 -𝟏 -1 -1 - -𝟐 -𝟐 -𝟐 -2 -2 - -𝟑 -𝟑 -𝟑 -3 -3 - -𝟒 -𝟒 -𝟒 -4 -4 - -𝟓 -𝟓 -𝟓 -5 -5 - -𝟔 -𝟔 -𝟔 -6 -6 - -𝟕 -𝟕 -𝟕 -7 -7 - -𝟖 -𝟖 -𝟖 -8 -8 - -𝟗 -𝟗 -𝟗 -9 -9 - -𝟘 -𝟘 -𝟘 -0 -0 - -𝟙 -𝟙 -𝟙 -1 -1 - -𝟚 -𝟚 -𝟚 -2 -2 - -𝟛 -𝟛 -𝟛 -3 -3 - -𝟜 -𝟜 -𝟜 -4 -4 - -𝟝 -𝟝 -𝟝 -5 -5 - -𝟞 -𝟞 -𝟞 -6 -6 - -𝟟 -𝟟 -𝟟 -7 -7 - -𝟠 -𝟠 -𝟠 -8 -8 - -𝟡 -𝟡 -𝟡 -9 -9 - -𝟢 -𝟢 -𝟢 -0 -0 - -𝟣 -𝟣 -𝟣 -1 -1 - -𝟤 -𝟤 -𝟤 -2 -2 - -𝟥 -𝟥 -𝟥 -3 -3 - -𝟦 -𝟦 -𝟦 -4 -4 - -𝟧 -𝟧 -𝟧 -5 -5 - -𝟨 -𝟨 -𝟨 -6 -6 - -𝟩 -𝟩 -𝟩 -7 -7 - -𝟪 -𝟪 -𝟪 -8 -8 - -𝟫 -𝟫 -𝟫 -9 -9 - -𝟬 -𝟬 -𝟬 -0 -0 - -𝟭 -𝟭 -𝟭 -1 -1 - -𝟮 -𝟮 -𝟮 -2 -2 - -𝟯 -𝟯 -𝟯 -3 -3 - -𝟰 -𝟰 -𝟰 -4 -4 - -𝟱 -𝟱 -𝟱 -5 -5 - -𝟲 -𝟲 -𝟲 -6 -6 - -𝟳 -𝟳 -𝟳 -7 -7 - -𝟴 -𝟴 -𝟴 -8 -8 - -𝟵 -𝟵 -𝟵 -9 -9 - -𝟶 -𝟶 -𝟶 -0 -0 - -𝟷 -𝟷 -𝟷 -1 -1 - -𝟸 -𝟸 -𝟸 -2 -2 - -𝟹 -𝟹 -𝟹 -3 -3 - -𝟺 -𝟺 -𝟺 -4 -4 - -𝟻 -𝟻 -𝟻 -5 -5 - -𝟼 -𝟼 -𝟼 -6 -6 - -𝟽 -𝟽 -𝟽 -7 -7 - -𝟾 -𝟾 -𝟾 -8 -8 - -𝟿 -𝟿 -𝟿 -9 -9 - -𞸀 -𞸀 -𞸀 -ا -ا - -𞸁 -𞸁 -𞸁 -ب -ب - -𞸂 -𞸂 -𞸂 -ج -ج - -𞸃 -𞸃 -𞸃 -د -د - -𞸅 -𞸅 -𞸅 -و -و - -𞸆 -𞸆 -𞸆 -ز -ز - -𞸇 -𞸇 -𞸇 -ح -ح - -𞸈 -𞸈 -𞸈 -ط -ط - -𞸉 -𞸉 -𞸉 -ي -ي - -𞸊 -𞸊 -𞸊 -ك -ك - -𞸋 -𞸋 -𞸋 -ل -ل - -𞸌 -𞸌 -𞸌 -م -م - -𞸍 -𞸍 -𞸍 -ن -ن - -𞸎 -𞸎 -𞸎 -س -س - -𞸏 -𞸏 -𞸏 -ع -ع - -𞸐 -𞸐 -𞸐 -ف -ف - -𞸑 -𞸑 -𞸑 -ص -ص - -𞸒 -𞸒 -𞸒 -ق -ق - -𞸓 -𞸓 -𞸓 -ر -ر - -𞸔 -𞸔 -𞸔 -ش -ش - -𞸕 -𞸕 -𞸕 -ت -ت - -𞸖 -𞸖 -𞸖 -ث -ث - -𞸗 -𞸗 -𞸗 -خ -خ - -𞸘 -𞸘 -𞸘 -ذ -ذ - -𞸙 -𞸙 -𞸙 -ض -ض - -𞸚 -𞸚 -𞸚 -ظ -ظ - -𞸛 -𞸛 -𞸛 -غ -غ - -𞸜 -𞸜 -𞸜 -ٮ -ٮ - -𞸝 -𞸝 -𞸝 -ں -ں - -𞸞 -𞸞 -𞸞 -ڡ -ڡ - -𞸟 -𞸟 -𞸟 -ٯ -ٯ - -𞸡 -𞸡 -𞸡 -ب -ب - -𞸢 -𞸢 -𞸢 -ج -ج - -𞸤 -𞸤 -𞸤 -ه -ه - -𞸧 -𞸧 -𞸧 -ح -ح - -𞸩 -𞸩 -𞸩 -ي -ي - -𞸪 -𞸪 -𞸪 -ك -ك - -𞸫 -𞸫 -𞸫 -ل -ل - -𞸬 -𞸬 -𞸬 -م -م - -𞸭 -𞸭 -𞸭 -ن -ن - -𞸮 -𞸮 -𞸮 -س -س - -𞸯 -𞸯 -𞸯 -ع -ع - -𞸰 -𞸰 -𞸰 -ف -ف - -𞸱 -𞸱 -𞸱 -ص -ص - -𞸲 -𞸲 -𞸲 -ق -ق - -𞸴 -𞸴 -𞸴 -ش -ش - -𞸵 -𞸵 -𞸵 -ت -ت - -𞸶 -𞸶 -𞸶 -ث -ث - -𞸷 -𞸷 -𞸷 -خ -خ - -𞸹 -𞸹 -𞸹 -ض -ض - -𞸻 -𞸻 -𞸻 -غ -غ - -𞹂 -𞹂 -𞹂 -ج -ج - -𞹇 -𞹇 -𞹇 -ح -ح - -𞹉 -𞹉 -𞹉 -ي -ي - -𞹋 -𞹋 -𞹋 -ل -ل - -𞹍 -𞹍 -𞹍 -ن -ن - -𞹎 -𞹎 -𞹎 -س -س - -𞹏 -𞹏 -𞹏 -ع -ع - -𞹑 -𞹑 -𞹑 -ص -ص - -𞹒 -𞹒 -𞹒 -ق -ق - -𞹔 -𞹔 -𞹔 -ش -ش - -𞹗 -𞹗 -𞹗 -خ -خ - -𞹙 -𞹙 -𞹙 -ض -ض - -𞹛 -𞹛 -𞹛 -غ -غ - -𞹝 -𞹝 -𞹝 -ں -ں - -𞹟 -𞹟 -𞹟 -ٯ -ٯ - -𞹡 -𞹡 -𞹡 -ب -ب - -𞹢 -𞹢 -𞹢 -ج -ج - -𞹤 -𞹤 -𞹤 -ه -ه - -𞹧 -𞹧 -𞹧 -ح -ح - -𞹨 -𞹨 -𞹨 -ط -ط - -𞹩 -𞹩 -𞹩 -ي -ي - -𞹪 -𞹪 -𞹪 -ك -ك - -𞹬 -𞹬 -𞹬 -م -م - -𞹭 -𞹭 -𞹭 -ن -ن - -𞹮 -𞹮 -𞹮 -س -س - -𞹯 -𞹯 -𞹯 -ع -ع - -𞹰 -𞹰 -𞹰 -ف -ف - -𞹱 -𞹱 -𞹱 -ص -ص - -𞹲 -𞹲 -𞹲 -ق -ق - -𞹴 -𞹴 -𞹴 -ش -ش - -𞹵 -𞹵 -𞹵 -ت -ت - -𞹶 -𞹶 -𞹶 -ث -ث - -𞹷 -𞹷 -𞹷 -خ -خ - -𞹹 -𞹹 -𞹹 -ض -ض - -𞹺 -𞹺 -𞹺 -ظ -ظ - -𞹻 -𞹻 -𞹻 -غ -غ - -𞹼 -𞹼 -𞹼 -ٮ -ٮ - -𞹾 -𞹾 -𞹾 -ڡ -ڡ - -𞺀 -𞺀 -𞺀 -ا -ا - -𞺁 -𞺁 -𞺁 -ب -ب - -𞺂 -𞺂 -𞺂 -ج -ج - -𞺃 -𞺃 -𞺃 -د -د - -𞺄 -𞺄 -𞺄 -ه -ه - -𞺅 -𞺅 -𞺅 -و -و - -𞺆 -𞺆 -𞺆 -ز -ز - -𞺇 -𞺇 -𞺇 -ح -ح - -𞺈 -𞺈 -𞺈 -ط -ط - -𞺉 -𞺉 -𞺉 -ي -ي - -𞺋 -𞺋 -𞺋 -ل -ل - -𞺌 -𞺌 -𞺌 -م -م - -𞺍 -𞺍 -𞺍 -ن -ن - -𞺎 -𞺎 -𞺎 -س -س - -𞺏 -𞺏 -𞺏 -ع -ع - -𞺐 -𞺐 -𞺐 -ف -ف - -𞺑 -𞺑 -𞺑 -ص -ص - -𞺒 -𞺒 -𞺒 -ق -ق - -𞺓 -𞺓 -𞺓 -ر -ر - -𞺔 -𞺔 -𞺔 -ش -ش - -𞺕 -𞺕 -𞺕 -ت -ت - -𞺖 -𞺖 -𞺖 -ث -ث - -𞺗 -𞺗 -𞺗 -خ -خ - -𞺘 -𞺘 -𞺘 -ذ -ذ - -𞺙 -𞺙 -𞺙 -ض -ض - -𞺚 -𞺚 -𞺚 -ظ -ظ - -𞺛 -𞺛 -𞺛 -غ -غ - -𞺡 -𞺡 -𞺡 -ب -ب - -𞺢 -𞺢 -𞺢 -ج -ج - -𞺣 -𞺣 -𞺣 -د -د - -𞺥 -𞺥 -𞺥 -و -و - -𞺦 -𞺦 -𞺦 -ز -ز - -𞺧 -𞺧 -𞺧 -ح -ح - -𞺨 -𞺨 -𞺨 -ط -ط - -𞺩 -𞺩 -𞺩 -ي -ي - -𞺫 -𞺫 -𞺫 -ل -ل - -𞺬 -𞺬 -𞺬 -م -م - -𞺭 -𞺭 -𞺭 -ن -ن - -𞺮 -𞺮 -𞺮 -س -س - -𞺯 -𞺯 -𞺯 -ع -ع - -𞺰 -𞺰 -𞺰 -ف -ف - -𞺱 -𞺱 -𞺱 -ص -ص - -𞺲 -𞺲 -𞺲 -ق -ق - -𞺳 -𞺳 -𞺳 -ر -ر - -𞺴 -𞺴 -𞺴 -ش -ش - -𞺵 -𞺵 -𞺵 -ت -ت - -𞺶 -𞺶 -𞺶 -ث -ث - -𞺷 -𞺷 -𞺷 -خ -خ - -𞺸 -𞺸 -𞺸 -ذ -ذ - -𞺹 -𞺹 -𞺹 -ض -ض - -𞺺 -𞺺 -𞺺 -ظ -ظ - -𞺻 -𞺻 -𞺻 -غ -غ - -🄀 -🄀 -🄀 -0. -0. - -🄁 -🄁 -🄁 -0, -0, - -🄂 -🄂 -🄂 -1, -1, - -🄃 -🄃 -🄃 -2, -2, - -🄄 -🄄 -🄄 -3, -3, - -🄅 -🄅 -🄅 -4, -4, - -🄆 -🄆 -🄆 -5, -5, - -🄇 -🄇 -🄇 -6, -6, - -🄈 -🄈 -🄈 -7, -7, - -🄉 -🄉 -🄉 -8, -8, - -🄊 -🄊 -🄊 -9, -9, - -🄐 -🄐 -🄐 -(A) -(A) - -🄑 -🄑 -🄑 -(B) -(B) - -🄒 -🄒 -🄒 -(C) -(C) - -🄓 -🄓 -🄓 -(D) -(D) - -🄔 -🄔 -🄔 -(E) -(E) - -🄕 -🄕 -🄕 -(F) -(F) - -🄖 -🄖 -🄖 -(G) -(G) - -🄗 -🄗 -🄗 -(H) -(H) - -🄘 -🄘 -🄘 -(I) -(I) - -🄙 -🄙 -🄙 -(J) -(J) - -🄚 -🄚 -🄚 -(K) -(K) - -🄛 -🄛 -🄛 -(L) -(L) - -🄜 -🄜 -🄜 -(M) -(M) - -🄝 -🄝 -🄝 -(N) -(N) - -🄞 -🄞 -🄞 -(O) -(O) - -🄟 -🄟 -🄟 -(P) -(P) - -🄠 -🄠 -🄠 -(Q) -(Q) - -🄡 -🄡 -🄡 -(R) -(R) - -🄢 -🄢 -🄢 -(S) -(S) - -🄣 -🄣 -🄣 -(T) -(T) - -🄤 -🄤 -🄤 -(U) -(U) - -🄥 -🄥 -🄥 -(V) -(V) - -🄦 -🄦 -🄦 -(W) -(W) - -🄧 -🄧 -🄧 -(X) -(X) - -🄨 -🄨 -🄨 -(Y) -(Y) - -🄩 -🄩 -🄩 -(Z) -(Z) - -🄪 -🄪 -🄪 -〔S〕 -〔S〕 - -🄫 -🄫 -🄫 -C -C - -🄬 -🄬 -🄬 -R -R - -🄭 -🄭 -🄭 -CD -CD - -🄮 -🄮 -🄮 -WZ -WZ - -🄰 -🄰 -🄰 -A -A - -🄱 -🄱 -🄱 -B -B - -🄲 -🄲 -🄲 -C -C - -🄳 -🄳 -🄳 -D -D - -🄴 -🄴 -🄴 -E -E - -🄵 -🄵 -🄵 -F -F - -🄶 -🄶 -🄶 -G -G - -🄷 -🄷 -🄷 -H -H - -🄸 -🄸 -🄸 -I -I - -🄹 -🄹 -🄹 -J -J - -🄺 -🄺 -🄺 -K -K - -🄻 -🄻 -🄻 -L -L - -🄼 -🄼 -🄼 -M -M - -🄽 -🄽 -🄽 -N -N - -🄾 -🄾 -🄾 -O -O - -🄿 -🄿 -🄿 -P -P - -🅀 -🅀 -🅀 -Q -Q - -🅁 -🅁 -🅁 -R -R - -🅂 -🅂 -🅂 -S -S - -🅃 -🅃 -🅃 -T -T - -🅄 -🅄 -🅄 -U -U - -🅅 -🅅 -🅅 -V -V - -🅆 -🅆 -🅆 -W -W - -🅇 -🅇 -🅇 -X -X - -🅈 -🅈 -🅈 -Y -Y - -🅉 -🅉 -🅉 -Z -Z - -🅊 -🅊 -🅊 -HV -HV - -🅋 -🅋 -🅋 -MV -MV - -🅌 -🅌 -🅌 -SD -SD - -🅍 -🅍 -🅍 -SS -SS - -🅎 -🅎 -🅎 -PPV -PPV - -🅏 -🅏 -🅏 -WC -WC - -🅪 -🅪 -🅪 -MC -MC - -🅫 -🅫 -🅫 -MD -MD - -🆐 -🆐 -🆐 -DJ -DJ - -🈀 -🈀 -🈀 -ほか -ほか - -🈁 -🈁 -🈁 -ココ -ココ - -🈂 -🈂 -🈂 -サ -サ - -🈐 -🈐 -🈐 -手 -手 - -🈑 -🈑 -🈑 -字 -字 - -🈒 -🈒 -🈒 -双 -双 - -🈓 -🈓 -🈓 -デ -デ - -🈔 -🈔 -🈔 -二 -二 - -🈕 -🈕 -🈕 -多 -多 - -🈖 -🈖 -🈖 -解 -解 - -🈗 -🈗 -🈗 -天 -天 - -🈘 -🈘 -🈘 -交 -交 - -🈙 -🈙 -🈙 -映 -映 - -🈚 -🈚 -🈚 -無 -無 - -🈛 -🈛 -🈛 -料 -料 - -🈜 -🈜 -🈜 -前 -前 - -🈝 -🈝 -🈝 -後 -後 - -🈞 -🈞 -🈞 -再 -再 - -🈟 -🈟 -🈟 -新 -新 - -🈠 -🈠 -🈠 -初 -初 - -🈡 -🈡 -🈡 -終 -終 - -🈢 -🈢 -🈢 -生 -生 - -🈣 -🈣 -🈣 -販 -販 - -🈤 -🈤 -🈤 -声 -声 - -🈥 -🈥 -🈥 -吹 -吹 - -🈦 -🈦 -🈦 -演 -演 - -🈧 -🈧 -🈧 -投 -投 - -🈨 -🈨 -🈨 -捕 -捕 - -🈩 -🈩 -🈩 -一 -一 - -🈪 -🈪 -🈪 -三 -三 - -🈫 -🈫 -🈫 -遊 -遊 - -🈬 -🈬 -🈬 -左 -左 - -🈭 -🈭 -🈭 -中 -中 - -🈮 -🈮 -🈮 -右 -右 - -🈯 -🈯 -🈯 -指 -指 - -🈰 -🈰 -🈰 -走 -走 - -🈱 -🈱 -🈱 -打 -打 - -🈲 -🈲 -🈲 -禁 -禁 - -🈳 -🈳 -🈳 -空 -空 - -🈴 -🈴 -🈴 -合 -合 - -🈵 -🈵 -🈵 -満 -満 - -🈶 -🈶 -🈶 -有 -有 - -🈷 -🈷 -🈷 -月 -月 - -🈸 -🈸 -🈸 -申 -申 - -🈹 -🈹 -🈹 -割 -割 - -🈺 -🈺 -🈺 -営 -営 - -🈻 -🈻 -🈻 -配 -配 - -🉀 -🉀 -🉀 -〔本〕 -〔本〕 - -🉁 -🉁 -🉁 -〔三〕 -〔三〕 - -🉂 -🉂 -🉂 -〔二〕 -〔二〕 - -🉃 -🉃 -🉃 -〔安〕 -〔安〕 - -🉄 -🉄 -🉄 -〔点〕 -〔点〕 - -🉅 -🉅 -🉅 -〔打〕 -〔打〕 - -🉆 -🉆 -🉆 -〔盗〕 -〔盗〕 - -🉇 -🉇 -🉇 -〔勝〕 -〔勝〕 - -🉈 -🉈 -🉈 -〔敗〕 -〔敗〕 - -🉐 -🉐 -🉐 -得 -得 - -🉑 -🉑 -🉑 -可 -可 - -丽 -丽 -丽 -丽 -丽 - -丸 -丸 -丸 -丸 -丸 - -乁 -乁 -乁 -乁 -乁 - -𠄢 -𠄢 -𠄢 -𠄢 -𠄢 - -你 -你 -你 -你 -你 - -侮 -侮 -侮 -侮 -侮 - -侻 -侻 -侻 -侻 -侻 - -倂 -倂 -倂 -倂 -倂 - -偺 -偺 -偺 -偺 -偺 - -備 -備 -備 -備 -備 - -僧 -僧 -僧 -僧 -僧 - -像 -像 -像 -像 -像 - -㒞 -㒞 -㒞 -㒞 -㒞 - -𠘺 -𠘺 -𠘺 -𠘺 -𠘺 - -免 -免 -免 -免 -免 - -兔 -兔 -兔 -兔 -兔 - -兤 -兤 -兤 -兤 -兤 - -具 -具 -具 -具 -具 - -𠔜 -𠔜 -𠔜 -𠔜 -𠔜 - -㒹 -㒹 -㒹 -㒹 -㒹 - -內 -內 -內 -內 -內 - -再 -再 -再 -再 -再 - -𠕋 -𠕋 -𠕋 -𠕋 -𠕋 - -冗 -冗 -冗 -冗 -冗 - -冤 -冤 -冤 -冤 -冤 - -仌 -仌 -仌 -仌 -仌 - -冬 -冬 -冬 -冬 -冬 - -况 -况 -况 -况 -况 - -𩇟 -𩇟 -𩇟 -𩇟 -𩇟 - -凵 -凵 -凵 -凵 -凵 - -刃 -刃 -刃 -刃 -刃 - -㓟 -㓟 -㓟 -㓟 -㓟 - -刻 -刻 -刻 -刻 -刻 - -剆 -剆 -剆 -剆 -剆 - -割 -割 -割 -割 -割 - -剷 -剷 -剷 -剷 -剷 - -㔕 -㔕 -㔕 -㔕 -㔕 - -勇 -勇 -勇 -勇 -勇 - -勉 -勉 -勉 -勉 -勉 - -勤 -勤 -勤 -勤 -勤 - -勺 -勺 -勺 -勺 -勺 - -包 -包 -包 -包 -包 - -匆 -匆 -匆 -匆 -匆 - -北 -北 -北 -北 -北 - -卉 -卉 -卉 -卉 -卉 - -卑 -卑 -卑 -卑 -卑 - -博 -博 -博 -博 -博 - -即 -即 -即 -即 -即 - -卽 -卽 -卽 -卽 -卽 - -卿 -卿 -卿 -卿 -卿 - -卿 -卿 -卿 -卿 -卿 - -卿 -卿 -卿 -卿 -卿 - -𠨬 -𠨬 -𠨬 -𠨬 -𠨬 - -灰 -灰 -灰 -灰 -灰 - -及 -及 -及 -及 -及 - -叟 -叟 -叟 -叟 -叟 - -𠭣 -𠭣 -𠭣 -𠭣 -𠭣 - -叫 -叫 -叫 -叫 -叫 - -叱 -叱 -叱 -叱 -叱 - -吆 -吆 -吆 -吆 -吆 - -咞 -咞 -咞 -咞 -咞 - -吸 -吸 -吸 -吸 -吸 - -呈 -呈 -呈 -呈 -呈 - -周 -周 -周 -周 -周 - -咢 -咢 -咢 -咢 -咢 - -哶 -哶 -哶 -哶 -哶 - -唐 -唐 -唐 -唐 -唐 - -啓 -啓 -啓 -啓 -啓 - -啣 -啣 -啣 -啣 -啣 - -善 -善 -善 -善 -善 - -善 -善 -善 -善 -善 - -喙 -喙 -喙 -喙 -喙 - -喫 -喫 -喫 -喫 -喫 - -喳 -喳 -喳 -喳 -喳 - -嗂 -嗂 -嗂 -嗂 -嗂 - -圖 -圖 -圖 -圖 -圖 - -嘆 -嘆 -嘆 -嘆 -嘆 - -圗 -圗 -圗 -圗 -圗 - -噑 -噑 -噑 -噑 -噑 - -噴 -噴 -噴 -噴 -噴 - -切 -切 -切 -切 -切 - -壮 -壮 -壮 -壮 -壮 - -城 -城 -城 -城 -城 - -埴 -埴 -埴 -埴 -埴 - -堍 -堍 -堍 -堍 -堍 - -型 -型 -型 -型 -型 - -堲 -堲 -堲 -堲 -堲 - -報 -報 -報 -報 -報 - -墬 -墬 -墬 -墬 -墬 - -𡓤 -𡓤 -𡓤 -𡓤 -𡓤 - -売 -売 -売 -売 -売 - -壷 -壷 -壷 -壷 -壷 - -夆 -夆 -夆 -夆 -夆 - -多 -多 -多 -多 -多 - -夢 -夢 -夢 -夢 -夢 - -奢 -奢 -奢 -奢 -奢 - -𡚨 -𡚨 -𡚨 -𡚨 -𡚨 - -𡛪 -𡛪 -𡛪 -𡛪 -𡛪 - -姬 -姬 -姬 -姬 -姬 - -娛 -娛 -娛 -娛 -娛 - -娧 -娧 -娧 -娧 -娧 - -姘 -姘 -姘 -姘 -姘 - -婦 -婦 -婦 -婦 -婦 - -㛮 -㛮 -㛮 -㛮 -㛮 - -㛼 -㛼 -㛼 -㛼 -㛼 - -嬈 -嬈 -嬈 -嬈 -嬈 - -嬾 -嬾 -嬾 -嬾 -嬾 - -嬾 -嬾 -嬾 -嬾 -嬾 - -𡧈 -𡧈 -𡧈 -𡧈 -𡧈 - -寃 -寃 -寃 -寃 -寃 - -寘 -寘 -寘 -寘 -寘 - -寧 -寧 -寧 -寧 -寧 - -寳 -寳 -寳 -寳 -寳 - -𡬘 -𡬘 -𡬘 -𡬘 -𡬘 - -寿 -寿 -寿 -寿 -寿 - -将 -将 -将 -将 -将 - -当 -当 -当 -当 -当 - -尢 -尢 -尢 -尢 -尢 - -㞁 -㞁 -㞁 -㞁 -㞁 - -屠 -屠 -屠 -屠 -屠 - -屮 -屮 -屮 -屮 -屮 - -峀 -峀 -峀 -峀 -峀 - -岍 -岍 -岍 -岍 -岍 - -𡷤 -𡷤 -𡷤 -𡷤 -𡷤 - -嵃 -嵃 -嵃 -嵃 -嵃 - -𡷦 -𡷦 -𡷦 -𡷦 -𡷦 - -嵮 -嵮 -嵮 -嵮 -嵮 - -嵫 -嵫 -嵫 -嵫 -嵫 - -嵼 -嵼 -嵼 -嵼 -嵼 - -巡 -巡 -巡 -巡 -巡 - -巢 -巢 -巢 -巢 -巢 - -㠯 -㠯 -㠯 -㠯 -㠯 - -巽 -巽 -巽 -巽 -巽 - -帨 -帨 -帨 -帨 -帨 - -帽 -帽 -帽 -帽 -帽 - -幩 -幩 -幩 -幩 -幩 - -㡢 -㡢 -㡢 -㡢 -㡢 - -𢆃 -𢆃 -𢆃 -𢆃 -𢆃 - -㡼 -㡼 -㡼 -㡼 -㡼 - -庰 -庰 -庰 -庰 -庰 - -庳 -庳 -庳 -庳 -庳 - -庶 -庶 -庶 -庶 -庶 - -廊 -廊 -廊 -廊 -廊 - -𪎒 -𪎒 -𪎒 -𪎒 -𪎒 - -廾 -廾 -廾 -廾 -廾 - -𢌱 -𢌱 -𢌱 -𢌱 -𢌱 - -𢌱 -𢌱 -𢌱 -𢌱 -𢌱 - -舁 -舁 -舁 -舁 -舁 - -弢 -弢 -弢 -弢 -弢 - -弢 -弢 -弢 -弢 -弢 - -㣇 -㣇 -㣇 -㣇 -㣇 - -𣊸 -𣊸 -𣊸 -𣊸 -𣊸 - -𦇚 -𦇚 -𦇚 -𦇚 -𦇚 - -形 -形 -形 -形 -形 - -彫 -彫 -彫 -彫 -彫 - -㣣 -㣣 -㣣 -㣣 -㣣 - -徚 -徚 -徚 -徚 -徚 - -忍 -忍 -忍 -忍 -忍 - -志 -志 -志 -志 -志 - -忹 -忹 -忹 -忹 -忹 - -悁 -悁 -悁 -悁 -悁 - -㤺 -㤺 -㤺 -㤺 -㤺 - -㤜 -㤜 -㤜 -㤜 -㤜 - -悔 -悔 -悔 -悔 -悔 - -𢛔 -𢛔 -𢛔 -𢛔 -𢛔 - -惇 -惇 -惇 -惇 -惇 - -慈 -慈 -慈 -慈 -慈 - -慌 -慌 -慌 -慌 -慌 - -慎 -慎 -慎 -慎 -慎 - -慌 -慌 -慌 -慌 -慌 - -慺 -慺 -慺 -慺 -慺 - -憎 -憎 -憎 -憎 -憎 - -憲 -憲 -憲 -憲 -憲 - -憤 -憤 -憤 -憤 -憤 - -憯 -憯 -憯 -憯 -憯 - -懞 -懞 -懞 -懞 -懞 - -懲 -懲 -懲 -懲 -懲 - -懶 -懶 -懶 -懶 -懶 - -成 -成 -成 -成 -成 - -戛 -戛 -戛 -戛 -戛 - -扝 -扝 -扝 -扝 -扝 - -抱 -抱 -抱 -抱 -抱 - -拔 -拔 -拔 -拔 -拔 - -捐 -捐 -捐 -捐 -捐 - -𢬌 -𢬌 -𢬌 -𢬌 -𢬌 - -挽 -挽 -挽 -挽 -挽 - -拼 -拼 -拼 -拼 -拼 - -捨 -捨 -捨 -捨 -捨 - -掃 -掃 -掃 -掃 -掃 - -揤 -揤 -揤 -揤 -揤 - -𢯱 -𢯱 -𢯱 -𢯱 -𢯱 - -搢 -搢 -搢 -搢 -搢 - -揅 -揅 -揅 -揅 -揅 - -掩 -掩 -掩 -掩 -掩 - -㨮 -㨮 -㨮 -㨮 -㨮 - -摩 -摩 -摩 -摩 -摩 - -摾 -摾 -摾 -摾 -摾 - -撝 -撝 -撝 -撝 -撝 - -摷 -摷 -摷 -摷 -摷 - -㩬 -㩬 -㩬 -㩬 -㩬 - -敏 -敏 -敏 -敏 -敏 - -敬 -敬 -敬 -敬 -敬 - -𣀊 -𣀊 -𣀊 -𣀊 -𣀊 - -旣 -旣 -旣 -旣 -旣 - -書 -書 -書 -書 -書 - -晉 -晉 -晉 -晉 -晉 - -㬙 -㬙 -㬙 -㬙 -㬙 - -暑 -暑 -暑 -暑 -暑 - -㬈 -㬈 -㬈 -㬈 -㬈 - -㫤 -㫤 -㫤 -㫤 -㫤 - -冒 -冒 -冒 -冒 -冒 - -冕 -冕 -冕 -冕 -冕 - -最 -最 -最 -最 -最 - -暜 -暜 -暜 -暜 -暜 - -肭 -肭 -肭 -肭 -肭 - -䏙 -䏙 -䏙 -䏙 -䏙 - -朗 -朗 -朗 -朗 -朗 - -望 -望 -望 -望 -望 - -朡 -朡 -朡 -朡 -朡 - -杞 -杞 -杞 -杞 -杞 - -杓 -杓 -杓 -杓 -杓 - -𣏃 -𣏃 -𣏃 -𣏃 -𣏃 - -㭉 -㭉 -㭉 -㭉 -㭉 - -柺 -柺 -柺 -柺 -柺 - -枅 -枅 -枅 -枅 -枅 - -桒 -桒 -桒 -桒 -桒 - -梅 -梅 -梅 -梅 -梅 - -𣑭 -𣑭 -𣑭 -𣑭 -𣑭 - -梎 -梎 -梎 -梎 -梎 - -栟 -栟 -栟 -栟 -栟 - -椔 -椔 -椔 -椔 -椔 - -㮝 -㮝 -㮝 -㮝 -㮝 - -楂 -楂 -楂 -楂 -楂 - -榣 -榣 -榣 -榣 -榣 - -槪 -槪 -槪 -槪 -槪 - -檨 -檨 -檨 -檨 -檨 - -𣚣 -𣚣 -𣚣 -𣚣 -𣚣 - -櫛 -櫛 -櫛 -櫛 -櫛 - -㰘 -㰘 -㰘 -㰘 -㰘 - -次 -次 -次 -次 -次 - -𣢧 -𣢧 -𣢧 -𣢧 -𣢧 - -歔 -歔 -歔 -歔 -歔 - -㱎 -㱎 -㱎 -㱎 -㱎 - -歲 -歲 -歲 -歲 -歲 - -殟 -殟 -殟 -殟 -殟 - -殺 -殺 -殺 -殺 -殺 - -殻 -殻 -殻 -殻 -殻 - -𣪍 -𣪍 -𣪍 -𣪍 -𣪍 - -𡴋 -𡴋 -𡴋 -𡴋 -𡴋 - -𣫺 -𣫺 -𣫺 -𣫺 -𣫺 - -汎 -汎 -汎 -汎 -汎 - -𣲼 -𣲼 -𣲼 -𣲼 -𣲼 - -沿 -沿 -沿 -沿 -沿 - -泍 -泍 -泍 -泍 -泍 - -汧 -汧 -汧 -汧 -汧 - -洖 -洖 -洖 -洖 -洖 - -派 -派 -派 -派 -派 - -海 -海 -海 -海 -海 - -流 -流 -流 -流 -流 - -浩 -浩 -浩 -浩 -浩 - -浸 -浸 -浸 -浸 -浸 - -涅 -涅 -涅 -涅 -涅 - -𣴞 -𣴞 -𣴞 -𣴞 -𣴞 - -洴 -洴 -洴 -洴 -洴 - -港 -港 -港 -港 -港 - -湮 -湮 -湮 -湮 -湮 - -㴳 -㴳 -㴳 -㴳 -㴳 - -滋 -滋 -滋 -滋 -滋 - -滇 -滇 -滇 -滇 -滇 - -𣻑 -𣻑 -𣻑 -𣻑 -𣻑 - -淹 -淹 -淹 -淹 -淹 - -潮 -潮 -潮 -潮 -潮 - -𣽞 -𣽞 -𣽞 -𣽞 -𣽞 - -𣾎 -𣾎 -𣾎 -𣾎 -𣾎 - -濆 -濆 -濆 -濆 -濆 - -瀹 -瀹 -瀹 -瀹 -瀹 - -瀞 -瀞 -瀞 -瀞 -瀞 - -瀛 -瀛 -瀛 -瀛 -瀛 - -㶖 -㶖 -㶖 -㶖 -㶖 - -灊 -灊 -灊 -灊 -灊 - -災 -災 -災 -災 -災 - -灷 -灷 -灷 -灷 -灷 - -炭 -炭 -炭 -炭 -炭 - -𠔥 -𠔥 -𠔥 -𠔥 -𠔥 - -煅 -煅 -煅 -煅 -煅 - -𤉣 -𤉣 -𤉣 -𤉣 -𤉣 - -熜 -熜 -熜 -熜 -熜 - -𤎫 -𤎫 -𤎫 -𤎫 -𤎫 - -爨 -爨 -爨 -爨 -爨 - -爵 -爵 -爵 -爵 -爵 - -牐 -牐 -牐 -牐 -牐 - -𤘈 -𤘈 -𤘈 -𤘈 -𤘈 - -犀 -犀 -犀 -犀 -犀 - -犕 -犕 -犕 -犕 -犕 - -𤜵 -𤜵 -𤜵 -𤜵 -𤜵 - -𤠔 -𤠔 -𤠔 -𤠔 -𤠔 - -獺 -獺 -獺 -獺 -獺 - -王 -王 -王 -王 -王 - -㺬 -㺬 -㺬 -㺬 -㺬 - -玥 -玥 -玥 -玥 -玥 - -㺸 -㺸 -㺸 -㺸 -㺸 - -㺸 -㺸 -㺸 -㺸 -㺸 - -瑇 -瑇 -瑇 -瑇 -瑇 - -瑜 -瑜 -瑜 -瑜 -瑜 - -瑱 -瑱 -瑱 -瑱 -瑱 - -璅 -璅 -璅 -璅 -璅 - -瓊 -瓊 -瓊 -瓊 -瓊 - -㼛 -㼛 -㼛 -㼛 -㼛 - -甤 -甤 -甤 -甤 -甤 - -𤰶 -𤰶 -𤰶 -𤰶 -𤰶 - -甾 -甾 -甾 -甾 -甾 - -𤲒 -𤲒 -𤲒 -𤲒 -𤲒 - -異 -異 -異 -異 -異 - -𢆟 -𢆟 -𢆟 -𢆟 -𢆟 - -瘐 -瘐 -瘐 -瘐 -瘐 - -𤾡 -𤾡 -𤾡 -𤾡 -𤾡 - -𤾸 -𤾸 -𤾸 -𤾸 -𤾸 - -𥁄 -𥁄 -𥁄 -𥁄 -𥁄 - -㿼 -㿼 -㿼 -㿼 -㿼 - -䀈 -䀈 -䀈 -䀈 -䀈 - -直 -直 -直 -直 -直 - -𥃳 -𥃳 -𥃳 -𥃳 -𥃳 - -𥃲 -𥃲 -𥃲 -𥃲 -𥃲 - -𥄙 -𥄙 -𥄙 -𥄙 -𥄙 - -𥄳 -𥄳 -𥄳 -𥄳 -𥄳 - -眞 -眞 -眞 -眞 -眞 - -真 -真 -真 -真 -真 - -真 -真 -真 -真 -真 - -睊 -睊 -睊 -睊 -睊 - -䀹 -䀹 -䀹 -䀹 -䀹 - -瞋 -瞋 -瞋 -瞋 -瞋 - -䁆 -䁆 -䁆 -䁆 -䁆 - -䂖 -䂖 -䂖 -䂖 -䂖 - -𥐝 -𥐝 -𥐝 -𥐝 -𥐝 - -硎 -硎 -硎 -硎 -硎 - -碌 -碌 -碌 -碌 -碌 - -磌 -磌 -磌 -磌 -磌 - -䃣 -䃣 -䃣 -䃣 -䃣 - -𥘦 -𥘦 -𥘦 -𥘦 -𥘦 - -祖 -祖 -祖 -祖 -祖 - -𥚚 -𥚚 -𥚚 -𥚚 -𥚚 - -𥛅 -𥛅 -𥛅 -𥛅 -𥛅 - -福 -福 -福 -福 -福 - -秫 -秫 -秫 -秫 -秫 - -䄯 -䄯 -䄯 -䄯 -䄯 - -穀 -穀 -穀 -穀 -穀 - -穊 -穊 -穊 -穊 -穊 - -穏 -穏 -穏 -穏 -穏 - -𥥼 -𥥼 -𥥼 -𥥼 -𥥼 - -𥪧 -𥪧 -𥪧 -𥪧 -𥪧 - -𥪧 -𥪧 -𥪧 -𥪧 -𥪧 - -竮 -竮 -竮 -竮 -竮 - -䈂 -䈂 -䈂 -䈂 -䈂 - -𥮫 -𥮫 -𥮫 -𥮫 -𥮫 - -篆 -篆 -篆 -篆 -篆 - -築 -築 -築 -築 -築 - -䈧 -䈧 -䈧 -䈧 -䈧 - -𥲀 -𥲀 -𥲀 -𥲀 -𥲀 - -糒 -糒 -糒 -糒 -糒 - -䊠 -䊠 -䊠 -䊠 -䊠 - -糨 -糨 -糨 -糨 -糨 - -糣 -糣 -糣 -糣 -糣 - -紀 -紀 -紀 -紀 -紀 - -𥾆 -𥾆 -𥾆 -𥾆 -𥾆 - -絣 -絣 -絣 -絣 -絣 - -䌁 -䌁 -䌁 -䌁 -䌁 - -緇 -緇 -緇 -緇 -緇 - -縂 -縂 -縂 -縂 -縂 - -繅 -繅 -繅 -繅 -繅 - -䌴 -䌴 -䌴 -䌴 -䌴 - -𦈨 -𦈨 -𦈨 -𦈨 -𦈨 - -𦉇 -𦉇 -𦉇 -𦉇 -𦉇 - -䍙 -䍙 -䍙 -䍙 -䍙 - -𦋙 -𦋙 -𦋙 -𦋙 -𦋙 - -罺 -罺 -罺 -罺 -罺 - -𦌾 -𦌾 -𦌾 -𦌾 -𦌾 - -羕 -羕 -羕 -羕 -羕 - -翺 -翺 -翺 -翺 -翺 - -者 -者 -者 -者 -者 - -𦓚 -𦓚 -𦓚 -𦓚 -𦓚 - -𦔣 -𦔣 -𦔣 -𦔣 -𦔣 - -聠 -聠 -聠 -聠 -聠 - -𦖨 -𦖨 -𦖨 -𦖨 -𦖨 - -聰 -聰 -聰 -聰 -聰 - -𣍟 -𣍟 -𣍟 -𣍟 -𣍟 - -䏕 -䏕 -䏕 -䏕 -䏕 - -育 -育 -育 -育 -育 - -脃 -脃 -脃 -脃 -脃 - -䐋 -䐋 -䐋 -䐋 -䐋 - -脾 -脾 -脾 -脾 -脾 - -媵 -媵 -媵 -媵 -媵 - -𦞧 -𦞧 -𦞧 -𦞧 -𦞧 - -𦞵 -𦞵 -𦞵 -𦞵 -𦞵 - -𣎓 -𣎓 -𣎓 -𣎓 -𣎓 - -𣎜 -𣎜 -𣎜 -𣎜 -𣎜 - -舁 -舁 -舁 -舁 -舁 - -舄 -舄 -舄 -舄 -舄 - -辞 -辞 -辞 -辞 -辞 - -䑫 -䑫 -䑫 -䑫 -䑫 - -芑 -芑 -芑 -芑 -芑 - -芋 -芋 -芋 -芋 -芋 - -芝 -芝 -芝 -芝 -芝 - -劳 -劳 -劳 -劳 -劳 - -花 -花 -花 -花 -花 - -芳 -芳 -芳 -芳 -芳 - -芽 -芽 -芽 -芽 -芽 - -苦 -苦 -苦 -苦 -苦 - -𦬼 -𦬼 -𦬼 -𦬼 -𦬼 - -若 -若 -若 -若 -若 - -茝 -茝 -茝 -茝 -茝 - -荣 -荣 -荣 -荣 -荣 - -莭 -莭 -莭 -莭 -莭 - -茣 -茣 -茣 -茣 -茣 - -莽 -莽 -莽 -莽 -莽 - -菧 -菧 -菧 -菧 -菧 - -著 -著 -著 -著 -著 - -荓 -荓 -荓 -荓 -荓 - -菊 -菊 -菊 -菊 -菊 - -菌 -菌 -菌 -菌 -菌 - -菜 -菜 -菜 -菜 -菜 - -𦰶 -𦰶 -𦰶 -𦰶 -𦰶 - -𦵫 -𦵫 -𦵫 -𦵫 -𦵫 - -𦳕 -𦳕 -𦳕 -𦳕 -𦳕 - -䔫 -䔫 -䔫 -䔫 -䔫 - -蓱 -蓱 -蓱 -蓱 -蓱 - -蓳 -蓳 -蓳 -蓳 -蓳 - -蔖 -蔖 -蔖 -蔖 -蔖 - -𧏊 -𧏊 -𧏊 -𧏊 -𧏊 - -蕤 -蕤 -蕤 -蕤 -蕤 - -𦼬 -𦼬 -𦼬 -𦼬 -𦼬 - -䕝 -䕝 -䕝 -䕝 -䕝 - -䕡 -䕡 -䕡 -䕡 -䕡 - -𦾱 -𦾱 -𦾱 -𦾱 -𦾱 - -𧃒 -𧃒 -𧃒 -𧃒 -𧃒 - -䕫 -䕫 -䕫 -䕫 -䕫 - -虐 -虐 -虐 -虐 -虐 - -虜 -虜 -虜 -虜 -虜 - -虧 -虧 -虧 -虧 -虧 - -虩 -虩 -虩 -虩 -虩 - -蚩 -蚩 -蚩 -蚩 -蚩 - -蚈 -蚈 -蚈 -蚈 -蚈 - -蜎 -蜎 -蜎 -蜎 -蜎 - -蛢 -蛢 -蛢 -蛢 -蛢 - -蝹 -蝹 -蝹 -蝹 -蝹 - -蜨 -蜨 -蜨 -蜨 -蜨 - -蝫 -蝫 -蝫 -蝫 -蝫 - -螆 -螆 -螆 -螆 -螆 - -䗗 -䗗 -䗗 -䗗 -䗗 - -蟡 -蟡 -蟡 -蟡 -蟡 - -蠁 -蠁 -蠁 -蠁 -蠁 - -䗹 -䗹 -䗹 -䗹 -䗹 - -衠 -衠 -衠 -衠 -衠 - -衣 -衣 -衣 -衣 -衣 - -𧙧 -𧙧 -𧙧 -𧙧 -𧙧 - -裗 -裗 -裗 -裗 -裗 - -裞 -裞 -裞 -裞 -裞 - -䘵 -䘵 -䘵 -䘵 -䘵 - -裺 -裺 -裺 -裺 -裺 - -㒻 -㒻 -㒻 -㒻 -㒻 - -𧢮 -𧢮 -𧢮 -𧢮 -𧢮 - -𧥦 -𧥦 -𧥦 -𧥦 -𧥦 - -䚾 -䚾 -䚾 -䚾 -䚾 - -䛇 -䛇 -䛇 -䛇 -䛇 - -誠 -誠 -誠 -誠 -誠 - -諭 -諭 -諭 -諭 -諭 - -變 -變 -變 -變 -變 - -豕 -豕 -豕 -豕 -豕 - -𧲨 -𧲨 -𧲨 -𧲨 -𧲨 - -貫 -貫 -貫 -貫 -貫 - -賁 -賁 -賁 -賁 -賁 - -贛 -贛 -贛 -贛 -贛 - -起 -起 -起 -起 -起 - -𧼯 -𧼯 -𧼯 -𧼯 -𧼯 - -𠠄 -𠠄 -𠠄 -𠠄 -𠠄 - -跋 -跋 -跋 -跋 -跋 - -趼 -趼 -趼 -趼 -趼 - -跰 -跰 -跰 -跰 -跰 - -𠣞 -𠣞 -𠣞 -𠣞 -𠣞 - -軔 -軔 -軔 -軔 -軔 - -輸 -輸 -輸 -輸 -輸 - -𨗒 -𨗒 -𨗒 -𨗒 -𨗒 - -𨗭 -𨗭 -𨗭 -𨗭 -𨗭 - -邔 -邔 -邔 -邔 -邔 - -郱 -郱 -郱 -郱 -郱 - -鄑 -鄑 -鄑 -鄑 -鄑 - -𨜮 -𨜮 -𨜮 -𨜮 -𨜮 - -鄛 -鄛 -鄛 -鄛 -鄛 - -鈸 -鈸 -鈸 -鈸 -鈸 - -鋗 -鋗 -鋗 -鋗 -鋗 - -鋘 -鋘 -鋘 -鋘 -鋘 - -鉼 -鉼 -鉼 -鉼 -鉼 - -鏹 -鏹 -鏹 -鏹 -鏹 - -鐕 -鐕 -鐕 -鐕 -鐕 - -𨯺 -𨯺 -𨯺 -𨯺 -𨯺 - -開 -開 -開 -開 -開 - -䦕 -䦕 -䦕 -䦕 -䦕 - -閷 -閷 -閷 -閷 -閷 - -𨵷 -𨵷 -𨵷 -𨵷 -𨵷 - -䧦 -䧦 -䧦 -䧦 -䧦 - -雃 -雃 -雃 -雃 -雃 - -嶲 -嶲 -嶲 -嶲 -嶲 - -霣 -霣 -霣 -霣 -霣 - -𩅅 -𩅅 -𩅅 -𩅅 -𩅅 - -𩈚 -𩈚 -𩈚 -𩈚 -𩈚 - -䩮 -䩮 -䩮 -䩮 -䩮 - -䩶 -䩶 -䩶 -䩶 -䩶 - -韠 -韠 -韠 -韠 -韠 - -𩐊 -𩐊 -𩐊 -𩐊 -𩐊 - -䪲 -䪲 -䪲 -䪲 -䪲 - -𩒖 -𩒖 -𩒖 -𩒖 -𩒖 - -頋 -頋 -頋 -頋 -頋 - -頋 -頋 -頋 -頋 -頋 - -頩 -頩 -頩 -頩 -頩 - -𩖶 -𩖶 -𩖶 -𩖶 -𩖶 - -飢 -飢 -飢 -飢 -飢 - -䬳 -䬳 -䬳 -䬳 -䬳 - -餩 -餩 -餩 -餩 -餩 - -馧 -馧 -馧 -馧 -馧 - -駂 -駂 -駂 -駂 -駂 - -駾 -駾 -駾 -駾 -駾 - -䯎 -䯎 -䯎 -䯎 -䯎 - -𩬰 -𩬰 -𩬰 -𩬰 -𩬰 - -鬒 -鬒 -鬒 -鬒 -鬒 - -鱀 -鱀 -鱀 -鱀 -鱀 - -鳽 -鳽 -鳽 -鳽 -鳽 - -䳎 -䳎 -䳎 -䳎 -䳎 - -䳭 -䳭 -䳭 -䳭 -䳭 - -鵧 -鵧 -鵧 -鵧 -鵧 - -𪃎 -𪃎 -𪃎 -𪃎 -𪃎 - -䳸 -䳸 -䳸 -䳸 -䳸 - -𪄅 -𪄅 -𪄅 -𪄅 -𪄅 - -𪈎 -𪈎 -𪈎 -𪈎 -𪈎 - -𪊑 -𪊑 -𪊑 -𪊑 -𪊑 - -麻 -麻 -麻 -麻 -麻 - -䵖 -䵖 -䵖 -䵖 -䵖 - -黹 -黹 -黹 -黹 -黹 - -黾 -黾 -黾 -黾 -黾 - -鼅 -鼅 -鼅 -鼅 -鼅 - -鼏 -鼏 -鼏 -鼏 -鼏 - -鼖 -鼖 -鼖 -鼖 -鼖 - -鼻 -鼻 -鼻 -鼻 -鼻 - -𪘀 -𪘀 -𪘀 -𪘀 -𪘀 - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b - -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b - -à֮̂̕b -à֮̂̕b -à֮̂̕b -à֮̂̕b -à֮̂̕b - -ầ֮̕b -ầ֮̕b -ầ֮̕b -ầ֮̕b -ầ֮̕b - -à֮̃̕b -à֮̃̕b -à֮̃̕b -à֮̃̕b -à֮̃̕b - -ã֮̀̕b -ã֮̀̕b -ã֮̀̕b -ã֮̀̕b -ã֮̀̕b - -à֮̄̕b -à֮̄̕b -à֮̄̕b -à֮̄̕b -à֮̄̕b - -ā֮̀̕b -ā֮̀̕b -ā֮̀̕b -ā֮̀̕b -ā֮̀̕b - -à֮̅̕b -à֮̅̕b -à֮̅̕b -à֮̅̕b -à֮̅̕b - -a֮̅̀̕b -a֮̅̀̕b -a֮̅̀̕b -a֮̅̀̕b -a֮̅̀̕b - -à֮̆̕b -à֮̆̕b -à֮̆̕b -à֮̆̕b -à֮̆̕b - -ằ֮̕b -ằ֮̕b -ằ֮̕b -ằ֮̕b -ằ֮̕b - -à֮̇̕b -à֮̇̕b -à֮̇̕b -à֮̇̕b -à֮̇̕b - -ȧ֮̀̕b -ȧ֮̀̕b -ȧ֮̀̕b -ȧ֮̀̕b -ȧ֮̀̕b - -à֮̈̕b -à֮̈̕b -à֮̈̕b -à֮̈̕b -à֮̈̕b - -ä֮̀̕b -ä֮̀̕b -ä֮̀̕b -ä֮̀̕b -ä֮̀̕b - -à֮̉̕b -à֮̉̕b -à֮̉̕b -à֮̉̕b -à֮̉̕b - -ả֮̀̕b -ả֮̀̕b -ả֮̀̕b -ả֮̀̕b -ả֮̀̕b - -à֮̊̕b -à֮̊̕b -à֮̊̕b -à֮̊̕b -à֮̊̕b - -å֮̀̕b -å֮̀̕b -å֮̀̕b -å֮̀̕b -å֮̀̕b - -à֮̋̕b -à֮̋̕b -à֮̋̕b -à֮̋̕b -à֮̋̕b - -a֮̋̀̕b -a֮̋̀̕b -a֮̋̀̕b -a֮̋̀̕b -a֮̋̀̕b - -à֮̌̕b -à֮̌̕b -à֮̌̕b -à֮̌̕b -à֮̌̕b - -ǎ֮̀̕b -ǎ֮̀̕b -ǎ֮̀̕b -ǎ֮̀̕b -ǎ֮̀̕b - -à֮̍̕b -à֮̍̕b -à֮̍̕b -à֮̍̕b -à֮̍̕b - -a֮̍̀̕b -a֮̍̀̕b -a֮̍̀̕b -a֮̍̀̕b -a֮̍̀̕b - -à֮̎̕b -à֮̎̕b -à֮̎̕b -à֮̎̕b -à֮̎̕b - -a֮̎̀̕b -a֮̎̀̕b -a֮̎̀̕b -a֮̎̀̕b -a֮̎̀̕b - -à֮̏̕b -à֮̏̕b -à֮̏̕b -à֮̏̕b -à֮̏̕b - -ȁ֮̀̕b -ȁ֮̀̕b -ȁ֮̀̕b -ȁ֮̀̕b -ȁ֮̀̕b - -à֮̐̕b -à֮̐̕b -à֮̐̕b -à֮̐̕b -à֮̐̕b - -a֮̐̀̕b -a֮̐̀̕b -a֮̐̀̕b -a֮̐̀̕b -a֮̐̀̕b - -à֮̑̕b -à֮̑̕b -à֮̑̕b -à֮̑̕b -à֮̑̕b - -ȃ֮̀̕b -ȃ֮̀̕b -ȃ֮̀̕b -ȃ֮̀̕b -ȃ֮̀̕b - -à֮̒̕b -à֮̒̕b -à֮̒̕b -à֮̒̕b -à֮̒̕b - -a֮̒̀̕b -a֮̒̀̕b -a֮̒̀̕b -a֮̒̀̕b -a֮̒̀̕b - -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b - -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b - -à֮̔̕b -à֮̔̕b -à֮̔̕b -à֮̔̕b -à֮̔̕b - -a֮̔̀̕b -a֮̔̀̕b -a֮̔̀̕b -a֮̔̀̕b -a֮̔̀̕b - -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b - -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b -à̕̕͜b - -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b - -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b -a〪̖̖֚b - -a〪̖̗֚b -a〪̖̗֚b -a〪̖̗֚b -a〪̖̗֚b -a〪̖̗֚b - -a〪̗̖֚b -a〪̗̖֚b -a〪̗̖֚b -a〪̗̖֚b -a〪̗̖֚b - -a〪̖̘֚b -a〪̖̘֚b -a〪̖̘֚b -a〪̖̘֚b -a〪̖̘֚b - -a〪̘̖֚b -a〪̘̖֚b -a〪̘̖֚b -a〪̘̖֚b -a〪̘̖֚b - -a〪̖̙֚b -a〪̖̙֚b -a〪̖̙֚b -a〪̖̙֚b -a〪̖̙֚b - -a〪̙̖֚b -a〪̙̖֚b -a〪̙̖֚b -a〪̙̖֚b -a〪̙̖֚b - -à̕̚͜b -à̕̚͜b -à̕̚͜b -à̕̚͜b -à̕̚͜b - -à̚̕͜b -à̚̕͜b -à̚̕͜b -à̚̕͜b -à̚̕͜b - -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b - -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b -a᷎̛̛〪b - -a〪̖̜֚b -a〪̖̜֚b -a〪̖̜֚b -a〪̖̜֚b -a〪̖̜֚b - -a〪̜̖֚b -a〪̜̖֚b -a〪̜̖֚b -a〪̜̖֚b -a〪̜̖֚b - -a〪̖̝֚b -a〪̖̝֚b -a〪̖̝֚b -a〪̖̝֚b -a〪̖̝֚b - -a〪̝̖֚b -a〪̝̖֚b -a〪̝̖֚b -a〪̝̖֚b -a〪̝̖֚b - -a〪̖̞֚b -a〪̖̞֚b -a〪̖̞֚b -a〪̖̞֚b -a〪̖̞֚b - -a〪̞̖֚b -a〪̞̖֚b -a〪̞̖֚b -a〪̞̖֚b -a〪̞̖֚b - -a〪̖̟֚b -a〪̖̟֚b -a〪̖̟֚b -a〪̖̟֚b -a〪̖̟֚b - -a〪̟̖֚b -a〪̟̖֚b -a〪̟̖֚b -a〪̟̖֚b -a〪̟̖֚b - -a〪̖̠֚b -a〪̖̠֚b -a〪̖̠֚b -a〪̖̠֚b -a〪̖̠֚b - -a〪̠̖֚b -a〪̠̖֚b -a〪̠̖֚b -a〪̠̖֚b -a〪̠̖֚b - -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b - -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b -aུ̡̡᷎b - -aུ̡̢᷎b -aུ̡̢᷎b -aུ̡̢᷎b -aུ̡̢᷎b -aུ̡̢᷎b - -aུ̢̡᷎b -aུ̢̡᷎b -aུ̢̡᷎b -aུ̢̡᷎b -aུ̢̡᷎b - -a〪̖̣֚b -a〪̖̣֚b -a〪̖̣֚b -a〪̖̣֚b -a〪̖̣֚b - -ạ〪̖֚b -ạ〪̖֚b -ạ〪̖֚b -ạ〪̖֚b -ạ〪̖֚b - -a〪̖̤֚b -a〪̖̤֚b -a〪̖̤֚b -a〪̖̤֚b -a〪̖̤֚b - -a〪̤̖֚b -a〪̤̖֚b -a〪̤̖֚b -a〪̤̖֚b -a〪̤̖֚b - -a〪̖̥֚b -a〪̖̥֚b -a〪̖̥֚b -a〪̖̥֚b -a〪̖̥֚b - -ḁ〪̖֚b -ḁ〪̖֚b -ḁ〪̖֚b -ḁ〪̖֚b -ḁ〪̖֚b - -a〪̖̦֚b -a〪̖̦֚b -a〪̖̦֚b -a〪̖̦֚b -a〪̖̦֚b - -a〪̦̖֚b -a〪̦̖֚b -a〪̦̖֚b -a〪̦̖֚b -a〪̦̖֚b - -aུ̡̧᷎b -aུ̡̧᷎b -aུ̡̧᷎b -aུ̡̧᷎b -aུ̡̧᷎b - -aུ̧̡᷎b -aུ̧̡᷎b -aུ̧̡᷎b -aུ̧̡᷎b -aུ̧̡᷎b - -aུ̡̨᷎b -aུ̡̨᷎b -aུ̡̨᷎b -aུ̡̨᷎b -aུ̡̨᷎b - -ąུ̡᷎b -ąུ̡᷎b -ąུ̡᷎b -ąུ̡᷎b -ąུ̡᷎b - -a〪̖̩֚b -a〪̖̩֚b -a〪̖̩֚b -a〪̖̩֚b -a〪̖̩֚b - -a〪̩̖֚b -a〪̩̖֚b -a〪̩̖֚b -a〪̩̖֚b -a〪̩̖֚b - -a〪̖̪֚b -a〪̖̪֚b -a〪̖̪֚b -a〪̖̪֚b -a〪̖̪֚b - -a〪̪̖֚b -a〪̪̖֚b -a〪̪̖֚b -a〪̪̖֚b -a〪̪̖֚b - -a〪̖̫֚b -a〪̖̫֚b -a〪̖̫֚b -a〪̖̫֚b -a〪̖̫֚b - -a〪̫̖֚b -a〪̫̖֚b -a〪̫̖֚b -a〪̫̖֚b -a〪̫̖֚b - -a〪̖̬֚b -a〪̖̬֚b -a〪̖̬֚b -a〪̖̬֚b -a〪̖̬֚b - -a〪̬̖֚b -a〪̬̖֚b -a〪̬̖֚b -a〪̬̖֚b -a〪̬̖֚b - -a〪̖̭֚b -a〪̖̭֚b -a〪̖̭֚b -a〪̖̭֚b -a〪̖̭֚b - -a〪̭̖֚b -a〪̭̖֚b -a〪̭̖֚b -a〪̭̖֚b -a〪̭̖֚b - -a〪̖̮֚b -a〪̖̮֚b -a〪̖̮֚b -a〪̖̮֚b -a〪̖̮֚b - -a〪̮̖֚b -a〪̮̖֚b -a〪̮̖֚b -a〪̮̖֚b -a〪̮̖֚b - -a〪̖̯֚b -a〪̖̯֚b -a〪̖̯֚b -a〪̖̯֚b -a〪̖̯֚b - -a〪̯̖֚b -a〪̯̖֚b -a〪̯̖֚b -a〪̯̖֚b -a〪̯̖֚b - -a〪̖̰֚b -a〪̖̰֚b -a〪̖̰֚b -a〪̖̰֚b -a〪̖̰֚b - -a〪̰̖֚b -a〪̰̖֚b -a〪̰̖֚b -a〪̰̖֚b -a〪̰̖֚b - -a〪̖̱֚b -a〪̖̱֚b -a〪̖̱֚b -a〪̖̱֚b -a〪̖̱֚b - -a〪̱̖֚b -a〪̱̖֚b -a〪̱̖֚b -a〪̱̖֚b -a〪̱̖֚b - -a〪̖̲֚b -a〪̖̲֚b -a〪̖̲֚b -a〪̖̲֚b -a〪̖̲֚b - -a〪̲̖֚b -a〪̲̖֚b -a〪̲̖֚b -a〪̲̖֚b -a〪̲̖֚b - -a〪̖̳֚b -a〪̖̳֚b -a〪̖̳֚b -a〪̖̳֚b -a〪̖̳֚b - -a〪̳̖֚b -a〪̳̖֚b -a〪̳̖֚b -a〪̳̖֚b -a〪̳̖֚b - -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b - -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b -a̴̴़b - -a̴̵़b -a̴̵़b -a̴̵़b -a̴̵़b -a̴̵़b - -a̵̴़b -a̵̴़b -a̵̴़b -a̵̴़b -a̵̴़b - -a̴̶़b -a̴̶़b -a̴̶़b -a̴̶़b -a̴̶़b - -a̶̴़b -a̶̴़b -a̶̴़b -a̶̴़b -a̶̴़b - -a̴̷़b -a̴̷़b -a̴̷़b -a̴̷़b -a̴̷़b - -a̷̴़b -a̷̴़b -a̷̴़b -a̷̴़b -a̷̴़b - -a̴̸़b -a̴̸़b -a̴̸़b -a̴̸़b -a̴̸़b - -a̸̴़b -a̸̴़b -a̸̴़b -a̸̴़b -a̸̴़b - -a〪̖̹֚b -a〪̖̹֚b -a〪̖̹֚b -a〪̖̹֚b -a〪̖̹֚b - -a〪̹̖֚b -a〪̹̖֚b -a〪̹̖֚b -a〪̹̖֚b -a〪̹̖֚b - -a〪̖̺֚b -a〪̖̺֚b -a〪̖̺֚b -a〪̖̺֚b -a〪̖̺֚b - -a〪̺̖֚b -a〪̺̖֚b -a〪̺̖֚b -a〪̺̖֚b -a〪̺̖֚b - -a〪̖̻֚b -a〪̖̻֚b -a〪̖̻֚b -a〪̖̻֚b -a〪̖̻֚b - -a〪̻̖֚b -a〪̻̖֚b -a〪̻̖֚b -a〪̻̖֚b -a〪̻̖֚b - -a〪̖̼֚b -a〪̖̼֚b -a〪̖̼֚b -a〪̖̼֚b -a〪̖̼֚b - -a〪̼̖֚b -a〪̼̖֚b -a〪̼̖֚b -a〪̼̖֚b -a〪̼̖֚b - -à֮̽̕b -à֮̽̕b -à֮̽̕b -à֮̽̕b -à֮̽̕b - -a֮̽̀̕b -a֮̽̀̕b -a֮̽̀̕b -a֮̽̀̕b -a֮̽̀̕b - -à֮̾̕b -à֮̾̕b -à֮̾̕b -à֮̾̕b -à֮̾̕b - -a֮̾̀̕b -a֮̾̀̕b -a֮̾̀̕b -a֮̾̀̕b -a֮̾̀̕b - -à֮̿̕b -à֮̿̕b -à֮̿̕b -à֮̿̕b -à֮̿̕b - -a֮̿̀̕b -a֮̿̀̕b -a֮̿̀̕b -a֮̿̀̕b -a֮̿̀̕b - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b -à֮̀̕b - -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b -à֮́̕b - -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b -á֮̀̕b - -à֮͂̕b -à֮͂̕b -à֮͂̕b -à֮͂̕b -à֮͂̕b - -a֮͂̀̕b -a֮͂̀̕b -a֮͂̀̕b -a֮͂̀̕b -a֮͂̀̕b - -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b -à֮̓̕b - -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b -a֮̓̀̕b - -à֮̈́̕b -à֮̈́̕b -à֮̈́̕b -à֮̈́̕b -à֮̈́̕b - -ä֮́̀̕b -ä֮́̀̕b -ä֮́̀̕b -ä֮́̀̕b -ä֮́̀̕b - -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb - -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb -a͝ͅͅb - -à֮͆̕b -à֮͆̕b -à֮͆̕b -à֮͆̕b -à֮͆̕b - -a֮͆̀̕b -a֮͆̀̕b -a֮͆̀̕b -a֮͆̀̕b -a֮͆̀̕b - -a〪̖͇֚b -a〪̖͇֚b -a〪̖͇֚b -a〪̖͇֚b -a〪̖͇֚b - -a〪͇̖֚b -a〪͇̖֚b -a〪͇̖֚b -a〪͇̖֚b -a〪͇̖֚b - -a〪̖͈֚b -a〪̖͈֚b -a〪̖͈֚b -a〪̖͈֚b -a〪̖͈֚b - -a〪͈̖֚b -a〪͈̖֚b -a〪͈̖֚b -a〪͈̖֚b -a〪͈̖֚b - -a〪̖͉֚b -a〪̖͉֚b -a〪̖͉֚b -a〪̖͉֚b -a〪̖͉֚b - -a〪͉̖֚b -a〪͉̖֚b -a〪͉̖֚b -a〪͉̖֚b -a〪͉̖֚b - -à֮͊̕b -à֮͊̕b -à֮͊̕b -à֮͊̕b -à֮͊̕b - -a֮͊̀̕b -a֮͊̀̕b -a֮͊̀̕b -a֮͊̀̕b -a֮͊̀̕b - -à֮͋̕b -à֮͋̕b -à֮͋̕b -à֮͋̕b -à֮͋̕b - -a֮͋̀̕b -a֮͋̀̕b -a֮͋̀̕b -a֮͋̀̕b -a֮͋̀̕b - -à֮͌̕b -à֮͌̕b -à֮͌̕b -à֮͌̕b -à֮͌̕b - -a֮͌̀̕b -a֮͌̀̕b -a֮͌̀̕b -a֮͌̀̕b -a֮͌̀̕b - -a〪̖͍֚b -a〪̖͍֚b -a〪̖͍֚b -a〪̖͍֚b -a〪̖͍֚b - -a〪͍̖֚b -a〪͍̖֚b -a〪͍̖֚b -a〪͍̖֚b -a〪͍̖֚b - -a〪̖͎֚b -a〪̖͎֚b -a〪̖͎֚b -a〪̖͎֚b -a〪̖͎֚b - -a〪͎̖֚b -a〪͎̖֚b -a〪͎̖֚b -a〪͎̖֚b -a〪͎̖֚b - -à֮͐̕b -à֮͐̕b -à֮͐̕b -à֮͐̕b -à֮͐̕b - -a֮͐̀̕b -a֮͐̀̕b -a֮͐̀̕b -a֮͐̀̕b -a֮͐̀̕b - -à֮͑̕b -à֮͑̕b -à֮͑̕b -à֮͑̕b -à֮͑̕b - -a֮͑̀̕b -a֮͑̀̕b -a֮͑̀̕b -a֮͑̀̕b -a֮͑̀̕b - -à֮͒̕b -à֮͒̕b -à֮͒̕b -à֮͒̕b -à֮͒̕b - -a֮͒̀̕b -a֮͒̀̕b -a֮͒̀̕b -a֮͒̀̕b -a֮͒̀̕b - -a〪̖͓֚b -a〪̖͓֚b -a〪̖͓֚b -a〪̖͓֚b -a〪̖͓֚b - -a〪͓̖֚b -a〪͓̖֚b -a〪͓̖֚b -a〪͓̖֚b -a〪͓̖֚b - -a〪̖͔֚b -a〪̖͔֚b -a〪̖͔֚b -a〪̖͔֚b -a〪̖͔֚b - -a〪͔̖֚b -a〪͔̖֚b -a〪͔̖֚b -a〪͔̖֚b -a〪͔̖֚b - -a〪̖͕֚b -a〪̖͕֚b -a〪̖͕֚b -a〪̖͕֚b -a〪̖͕֚b - -a〪͕̖֚b -a〪͕̖֚b -a〪͕̖֚b -a〪͕̖֚b -a〪͕̖֚b - -a〪̖͖֚b -a〪̖͖֚b -a〪̖͖֚b -a〪̖͖֚b -a〪̖͖֚b - -a〪͖̖֚b -a〪͖̖֚b -a〪͖̖֚b -a〪͖̖֚b -a〪͖̖֚b - -à֮͗̕b -à֮͗̕b -à֮͗̕b -à֮͗̕b -à֮͗̕b - -a֮͗̀̕b -a֮͗̀̕b -a֮͗̀̕b -a֮͗̀̕b -a֮͗̀̕b - -à̕͘͜b -à̕͘͜b -à̕͘͜b -à̕͘͜b -à̕͘͜b - -à͘̕͜b -à͘̕͜b -à͘̕͜b -à͘̕͜b -à͘̕͜b - -a〪̖͙֚b -a〪̖͙֚b -a〪̖͙֚b -a〪̖͙֚b -a〪̖͙֚b - -a〪͙̖֚b -a〪͙̖֚b -a〪͙̖֚b -a〪͙̖֚b -a〪͙̖֚b - -a〪̖͚֚b -a〪̖͚֚b -a〪̖͚֚b -a〪̖͚֚b -a〪̖͚֚b - -a〪͚̖֚b -a〪͚̖֚b -a〪͚̖֚b -a〪͚̖֚b -a〪͚̖֚b - -à֮͛̕b -à֮͛̕b -à֮͛̕b -à֮͛̕b -à֮͛̕b - -a֮͛̀̕b -a֮͛̀̕b -a֮͛̀̕b -a֮͛̀̕b -a֮͛̀̕b - -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b - -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b -a̕͜͜͝b - -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb - -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb -a͜͝͝ͅb - -a͜͝͞ͅb -a͜͝͞ͅb -a͜͝͞ͅb -a͜͝͞ͅb -a͜͝͞ͅb - -a͜͞͝ͅb -a͜͞͝ͅb -a͜͞͝ͅb -a͜͞͝ͅb -a͜͞͝ͅb - -a̕͜͟͝b -a̕͜͟͝b -a̕͜͟͝b -a̕͜͟͝b -a̕͜͟͝b - -a̕͟͜͝b -a̕͟͜͝b -a̕͟͜͝b -a̕͟͜͝b -a̕͟͜͝b - -a͜͝͠ͅb -a͜͝͠ͅb -a͜͝͠ͅb -a͜͝͠ͅb -a͜͝͠ͅb - -a͜͠͝ͅb -a͜͠͝ͅb -a͜͠͝ͅb -a͜͠͝ͅb -a͜͠͝ͅb - -a͜͝͡ͅb -a͜͝͡ͅb -a͜͝͡ͅb -a͜͝͡ͅb -a͜͝͡ͅb - -a͜͡͝ͅb -a͜͡͝ͅb -a͜͡͝ͅb -a͜͡͝ͅb -a͜͡͝ͅb - -a̕͜͢͝b -a̕͜͢͝b -a̕͜͢͝b -a̕͜͢͝b -a̕͜͢͝b - -a̕͢͜͝b -a̕͢͜͝b -a̕͢͜͝b -a̕͢͜͝b -a̕͢͜͝b - -à֮ͣ̕b -à֮ͣ̕b -à֮ͣ̕b -à֮ͣ̕b -à֮ͣ̕b - -a֮ͣ̀̕b -a֮ͣ̀̕b -a֮ͣ̀̕b -a֮ͣ̀̕b -a֮ͣ̀̕b - -à֮ͤ̕b -à֮ͤ̕b -à֮ͤ̕b -à֮ͤ̕b -à֮ͤ̕b - -a֮ͤ̀̕b -a֮ͤ̀̕b -a֮ͤ̀̕b -a֮ͤ̀̕b -a֮ͤ̀̕b - -à֮ͥ̕b -à֮ͥ̕b -à֮ͥ̕b -à֮ͥ̕b -à֮ͥ̕b - -a֮ͥ̀̕b -a֮ͥ̀̕b -a֮ͥ̀̕b -a֮ͥ̀̕b -a֮ͥ̀̕b - -à֮ͦ̕b -à֮ͦ̕b -à֮ͦ̕b -à֮ͦ̕b -à֮ͦ̕b - -a֮ͦ̀̕b -a֮ͦ̀̕b -a֮ͦ̀̕b -a֮ͦ̀̕b -a֮ͦ̀̕b - -à֮ͧ̕b -à֮ͧ̕b -à֮ͧ̕b -à֮ͧ̕b -à֮ͧ̕b - -a֮ͧ̀̕b -a֮ͧ̀̕b -a֮ͧ̀̕b -a֮ͧ̀̕b -a֮ͧ̀̕b - -à֮ͨ̕b -à֮ͨ̕b -à֮ͨ̕b -à֮ͨ̕b -à֮ͨ̕b - -a֮ͨ̀̕b -a֮ͨ̀̕b -a֮ͨ̀̕b -a֮ͨ̀̕b -a֮ͨ̀̕b - -à֮ͩ̕b -à֮ͩ̕b -à֮ͩ̕b -à֮ͩ̕b -à֮ͩ̕b - -a֮ͩ̀̕b -a֮ͩ̀̕b -a֮ͩ̀̕b -a֮ͩ̀̕b -a֮ͩ̀̕b - -à֮ͪ̕b -à֮ͪ̕b -à֮ͪ̕b -à֮ͪ̕b -à֮ͪ̕b - -a֮ͪ̀̕b -a֮ͪ̀̕b -a֮ͪ̀̕b -a֮ͪ̀̕b -a֮ͪ̀̕b - -à֮ͫ̕b -à֮ͫ̕b -à֮ͫ̕b -à֮ͫ̕b -à֮ͫ̕b - -a֮ͫ̀̕b -a֮ͫ̀̕b -a֮ͫ̀̕b -a֮ͫ̀̕b -a֮ͫ̀̕b - -à֮ͬ̕b -à֮ͬ̕b -à֮ͬ̕b -à֮ͬ̕b -à֮ͬ̕b - -a֮ͬ̀̕b -a֮ͬ̀̕b -a֮ͬ̀̕b -a֮ͬ̀̕b -a֮ͬ̀̕b - -à֮ͭ̕b -à֮ͭ̕b -à֮ͭ̕b -à֮ͭ̕b -à֮ͭ̕b - -a֮ͭ̀̕b -a֮ͭ̀̕b -a֮ͭ̀̕b -a֮ͭ̀̕b -a֮ͭ̀̕b - -à֮ͮ̕b -à֮ͮ̕b -à֮ͮ̕b -à֮ͮ̕b -à֮ͮ̕b - -a֮ͮ̀̕b -a֮ͮ̀̕b -a֮ͮ̀̕b -a֮ͮ̀̕b -a֮ͮ̀̕b - -à֮ͯ̕b -à֮ͯ̕b -à֮ͯ̕b -à֮ͯ̕b -à֮ͯ̕b - -a֮ͯ̀̕b -a֮ͯ̀̕b -a֮ͯ̀̕b -a֮ͯ̀̕b -a֮ͯ̀̕b - -à֮҃̕b -à֮҃̕b -à֮҃̕b -à֮҃̕b -à֮҃̕b - -a֮҃̀̕b -a֮҃̀̕b -a֮҃̀̕b -a֮҃̀̕b -a֮҃̀̕b - -à֮҄̕b -à֮҄̕b -à֮҄̕b -à֮҄̕b -à֮҄̕b - -a֮҄̀̕b -a֮҄̀̕b -a֮҄̀̕b -a֮҄̀̕b -a֮҄̀̕b - -à֮҅̕b -à֮҅̕b -à֮҅̕b -à֮҅̕b -à֮҅̕b - -a֮҅̀̕b -a֮҅̀̕b -a֮҅̀̕b -a֮҅̀̕b -a֮҅̀̕b - -à֮҆̕b -à֮҆̕b -à֮҆̕b -à֮҆̕b -à֮҆̕b - -a֮҆̀̕b -a֮҆̀̕b -a֮҆̀̕b -a֮҆̀̕b -a֮҆̀̕b - -à֮҇̕b -à֮҇̕b -à֮҇̕b -à֮҇̕b -à֮҇̕b - -a֮҇̀̕b -a֮҇̀̕b -a֮҇̀̕b -a֮҇̀̕b -a֮҇̀̕b - -a〪̖֑֚b -a〪̖֑֚b -a〪̖֑֚b -a〪̖֑֚b -a〪̖֑֚b - -a〪֑̖֚b -a〪֑̖֚b -a〪֑̖֚b -a〪֑̖֚b -a〪֑̖֚b - -à֮֒̕b -à֮֒̕b -à֮֒̕b -à֮֒̕b -à֮֒̕b - -a֮֒̀̕b -a֮֒̀̕b -a֮֒̀̕b -a֮֒̀̕b -a֮֒̀̕b - -à֮֓̕b -à֮֓̕b -à֮֓̕b -à֮֓̕b -à֮֓̕b - -a֮֓̀̕b -a֮֓̀̕b -a֮֓̀̕b -a֮֓̀̕b -a֮֓̀̕b - -à֮֔̕b -à֮֔̕b -à֮֔̕b -à֮֔̕b -à֮֔̕b - -a֮֔̀̕b -a֮֔̀̕b -a֮֔̀̕b -a֮֔̀̕b -a֮֔̀̕b - -à֮֕̕b -à֮֕̕b -à֮֕̕b -à֮֕̕b -à֮֕̕b - -a֮֕̀̕b -a֮֕̀̕b -a֮֕̀̕b -a֮֕̀̕b -a֮֕̀̕b - -a〪̖֖֚b -a〪̖֖֚b -a〪̖֖֚b -a〪̖֖֚b -a〪̖֖֚b - -a〪֖̖֚b -a〪֖̖֚b -a〪֖̖֚b -a〪֖̖֚b -a〪֖̖֚b - -à֮֗̕b -à֮֗̕b -à֮֗̕b -à֮֗̕b -à֮֗̕b - -a֮֗̀̕b -a֮֗̀̕b -a֮֗̀̕b -a֮֗̀̕b -a֮֗̀̕b - -à֮֘̕b -à֮֘̕b -à֮֘̕b -à֮֘̕b -à֮֘̕b - -a֮֘̀̕b -a֮֘̀̕b -a֮֘̀̕b -a֮֘̀̕b -a֮֘̀̕b - -à֮֙̕b -à֮֙̕b -à֮֙̕b -à֮֙̕b -à֮֙̕b - -a֮֙̀̕b -a֮֙̀̕b -a֮֙̀̕b -a֮֙̀̕b -a֮֙̀̕b - -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b - -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b -a̖֚֚〮b - -a〪̖֛֚b -a〪̖֛֚b -a〪̖֛֚b -a〪̖֛֚b -a〪̖֛֚b - -a〪֛̖֚b -a〪֛̖֚b -a〪֛̖֚b -a〪֛̖֚b -a〪֛̖֚b - -à֮֜̕b -à֮֜̕b -à֮֜̕b -à֮֜̕b -à֮֜̕b - -a֮֜̀̕b -a֮֜̀̕b -a֮֜̀̕b -a֮֜̀̕b -a֮֜̀̕b - -à֮֝̕b -à֮֝̕b -à֮֝̕b -à֮֝̕b -à֮֝̕b - -a֮֝̀̕b -a֮֝̀̕b -a֮֝̀̕b -a֮֝̀̕b -a֮֝̀̕b - -à֮֞̕b -à֮֞̕b -à֮֞̕b -à֮֞̕b -à֮֞̕b - -a֮֞̀̕b -a֮֞̀̕b -a֮֞̀̕b -a֮֞̀̕b -a֮֞̀̕b - -à֮֟̕b -à֮֟̕b -à֮֟̕b -à֮֟̕b -à֮֟̕b - -a֮֟̀̕b -a֮֟̀̕b -a֮֟̀̕b -a֮֟̀̕b -a֮֟̀̕b - -à֮֠̕b -à֮֠̕b -à֮֠̕b -à֮֠̕b -à֮֠̕b - -a֮֠̀̕b -a֮֠̀̕b -a֮֠̀̕b -a֮֠̀̕b -a֮֠̀̕b - -à֮֡̕b -à֮֡̕b -à֮֡̕b -à֮֡̕b -à֮֡̕b - -a֮֡̀̕b -a֮֡̀̕b -a֮֡̀̕b -a֮֡̀̕b -a֮֡̀̕b - -a〪̖֢֚b -a〪̖֢֚b -a〪̖֢֚b -a〪̖֢֚b -a〪̖֢֚b - -a〪֢̖֚b -a〪֢̖֚b -a〪֢̖֚b -a〪֢̖֚b -a〪֢̖֚b - -a〪̖֣֚b -a〪̖֣֚b -a〪̖֣֚b -a〪̖֣֚b -a〪̖֣֚b - -a〪֣̖֚b -a〪֣̖֚b -a〪֣̖֚b -a〪֣̖֚b -a〪֣̖֚b - -a〪̖֤֚b -a〪̖֤֚b -a〪̖֤֚b -a〪̖֤֚b -a〪̖֤֚b - -a〪֤̖֚b -a〪֤̖֚b -a〪֤̖֚b -a〪֤̖֚b -a〪֤̖֚b - -a〪̖֥֚b -a〪̖֥֚b -a〪̖֥֚b -a〪̖֥֚b -a〪̖֥֚b - -a〪֥̖֚b -a〪֥̖֚b -a〪֥̖֚b -a〪֥̖֚b -a〪֥̖֚b - -a〪̖֦֚b -a〪̖֦֚b -a〪̖֦֚b -a〪̖֦֚b -a〪̖֦֚b - -a〪֦̖֚b -a〪֦̖֚b -a〪֦̖֚b -a〪֦̖֚b -a〪֦̖֚b - -a〪̖֧֚b -a〪̖֧֚b -a〪̖֧֚b -a〪̖֧֚b -a〪̖֧֚b - -a〪֧̖֚b -a〪֧̖֚b -a〪֧̖֚b -a〪֧̖֚b -a〪֧̖֚b - -à֮֨̕b -à֮֨̕b -à֮֨̕b -à֮֨̕b -à֮֨̕b - -a֮֨̀̕b -a֮֨̀̕b -a֮֨̀̕b -a֮֨̀̕b -a֮֨̀̕b - -à֮֩̕b -à֮֩̕b -à֮֩̕b -à֮֩̕b -à֮֩̕b - -a֮֩̀̕b -a֮֩̀̕b -a֮֩̀̕b -a֮֩̀̕b -a֮֩̀̕b - -a〪̖֪֚b -a〪̖֪֚b -a〪̖֪֚b -a〪̖֪֚b -a〪̖֪֚b - -a〪֪̖֚b -a〪֪̖֚b -a〪֪̖֚b -a〪֪̖֚b -a〪֪̖֚b - -à֮֫̕b -à֮֫̕b -à֮֫̕b -à֮֫̕b -à֮֫̕b - -a֮֫̀̕b -a֮֫̀̕b -a֮֫̀̕b -a֮֫̀̕b -a֮֫̀̕b - -à֮֬̕b -à֮֬̕b -à֮֬̕b -à֮֬̕b -à֮֬̕b - -a֮֬̀̕b -a֮֬̀̕b -a֮֬̀̕b -a֮֬̀̕b -a֮֬̀̕b - -a̖֚֭〮b -a̖֚֭〮b -a̖֚֭〮b -a̖֚֭〮b -a̖֚֭〮b - -a̖֭֚〮b -a̖֭֚〮b -a̖֭֚〮b -a̖֭֚〮b -a̖֭֚〮b - -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b - -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b -à𝅭֮֮b - -à֮֯̕b -à֮֯̕b -à֮֯̕b -à֮֯̕b -à֮֯̕b - -a֮֯̀̕b -a֮֯̀̕b -a֮֯̀̕b -a֮֯̀̕b -a֮֯̀̕b - -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb - -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb -a्ְְֱb - -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb - -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb -aְֱֱֲb - -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb - -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb -aֱֲֲֳb - -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb - -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb -aֲֳֳִb - -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb - -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb -aֳִִֵb - -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb - -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb -aִֵֵֶb - -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb - -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb -aֵֶֶַb - -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb - -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb -aֶַַָb - -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb - -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb -aַָָֹb - -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb - -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb -aָֹֹֻb - -aָֹֺֻb -aָֹֺֻb -aָֹֺֻb -aָֹֺֻb -aָֹֺֻb - -aָֺֹֻb -aָֺֹֻb -aָֺֹֻb -aָֺֹֻb -aָֺֹֻb - -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb - -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb -aֹֻֻּb - -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb - -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb -aֻּּֽb - -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb - -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb -aּֽֽֿb - -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb - -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb -aֽֿֿׁb - -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb - -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb -aֿׁׁׂb - -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb - -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb -aׁׂׂﬞb - -à֮ׄ̕b -à֮ׄ̕b -à֮ׄ̕b -à֮ׄ̕b -à֮ׄ̕b - -a֮ׄ̀̕b -a֮ׄ̀̕b -a֮ׄ̀̕b -a֮ׄ̀̕b -a֮ׄ̀̕b - -a〪̖ׅ֚b -a〪̖ׅ֚b -a〪̖ׅ֚b -a〪̖ׅ֚b -a〪̖ׅ֚b - -a〪ׅ̖֚b -a〪ׅ̖֚b -a〪ׅ̖֚b -a〪ׅ̖֚b -a〪ׅ̖֚b - -aַָׇֹb -aַָׇֹb -aַָׇֹb -aַָׇֹb -aַָׇֹb - -aַׇָֹb -aַׇָֹb -aַׇָֹb -aַׇָֹb -aַׇָֹb - -à֮ؐ̕b -à֮ؐ̕b -à֮ؐ̕b -à֮ؐ̕b -à֮ؐ̕b - -a֮ؐ̀̕b -a֮ؐ̀̕b -a֮ؐ̀̕b -a֮ؐ̀̕b -a֮ؐ̀̕b - -à֮ؑ̕b -à֮ؑ̕b -à֮ؑ̕b -à֮ؑ̕b -à֮ؑ̕b - -a֮ؑ̀̕b -a֮ؑ̀̕b -a֮ؑ̀̕b -a֮ؑ̀̕b -a֮ؑ̀̕b - -à֮ؒ̕b -à֮ؒ̕b -à֮ؒ̕b -à֮ؒ̕b -à֮ؒ̕b - -a֮ؒ̀̕b -a֮ؒ̀̕b -a֮ؒ̀̕b -a֮ؒ̀̕b -a֮ؒ̀̕b - -à֮ؓ̕b -à֮ؓ̕b -à֮ؓ̕b -à֮ؓ̕b -à֮ؓ̕b - -a֮ؓ̀̕b -a֮ؓ̀̕b -a֮ؓ̀̕b -a֮ؓ̀̕b -a֮ؓ̀̕b - -à֮ؔ̕b -à֮ؔ̕b -à֮ؔ̕b -à֮ؔ̕b -à֮ؔ̕b - -a֮ؔ̀̕b -a֮ؔ̀̕b -a֮ؔ̀̕b -a֮ؔ̀̕b -a֮ؔ̀̕b - -à֮ؕ̕b -à֮ؕ̕b -à֮ؕ̕b -à֮ؕ̕b -à֮ؕ̕b - -a֮ؕ̀̕b -a֮ؕ̀̕b -a֮ؕ̀̕b -a֮ؕ̀̕b -a֮ؕ̀̕b - -à֮ؖ̕b -à֮ؖ̕b -à֮ؖ̕b -à֮ؖ̕b -à֮ؖ̕b - -a֮ؖ̀̕b -a֮ؖ̀̕b -a֮ؖ̀̕b -a֮ؖ̀̕b -a֮ؖ̀̕b - -à֮ؗ̕b -à֮ؗ̕b -à֮ؗ̕b -à֮ؗ̕b -à֮ؗ̕b - -a֮ؗ̀̕b -a֮ؗ̀̕b -a֮ؗ̀̕b -a֮ؗ̀̕b -a֮ؗ̀̕b - -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb - -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb -aٍؘؘؙb - -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb - -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb -aؘؙؙؚb - -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb - -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb -aؙؚؚّb - -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb - -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb -aﬞًًٌb - -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb - -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb -aًٌٌٍb - -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb - -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb -aٌٍٍؘb - -aٍؘَؙb -aٍؘَؙb -aٍؘَؙb -aٍؘَؙb -aٍؘَؙb - -aٍَؘؙb -aٍَؘؙb -aٍَؘؙb -aٍَؘؙb -aٍَؘؙb - -aؘؙُؚb -aؘؙُؚb -aؘؙُؚb -aؘؙُؚb -aؘؙُؚb - -aؘُؙؚb -aؘُؙؚb -aؘُؙؚb -aؘُؙؚb -aؘُؙؚb - -aؙؚِّb -aؙؚِّb -aؙؚِّb -aؙؚِّb -aؙؚِّb - -aؙِؚّb -aؙِؚّb -aؙِؚّb -aؙِؚّb -aؙِؚّb - -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb - -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb -aؚّّْb - -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb - -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb -aّْْٰb - -à֮ٓ̕b -à֮ٓ̕b -à֮ٓ̕b -à֮ٓ̕b -à֮ٓ̕b - -a֮ٓ̀̕b -a֮ٓ̀̕b -a֮ٓ̀̕b -a֮ٓ̀̕b -a֮ٓ̀̕b - -à֮ٔ̕b -à֮ٔ̕b -à֮ٔ̕b -à֮ٔ̕b -à֮ٔ̕b - -a֮ٔ̀̕b -a֮ٔ̀̕b -a֮ٔ̀̕b -a֮ٔ̀̕b -a֮ٔ̀̕b - -a〪̖ٕ֚b -a〪̖ٕ֚b -a〪̖ٕ֚b -a〪̖ٕ֚b -a〪̖ٕ֚b - -a〪ٕ̖֚b -a〪ٕ̖֚b -a〪ٕ̖֚b -a〪ٕ̖֚b -a〪ٕ̖֚b - -a〪̖ٖ֚b -a〪̖ٖ֚b -a〪̖ٖ֚b -a〪̖ٖ֚b -a〪̖ٖ֚b - -a〪ٖ̖֚b -a〪ٖ̖֚b -a〪ٖ̖֚b -a〪ٖ̖֚b -a〪ٖ̖֚b - -à֮ٗ̕b -à֮ٗ̕b -à֮ٗ̕b -à֮ٗ̕b -à֮ٗ̕b - -a֮ٗ̀̕b -a֮ٗ̀̕b -a֮ٗ̀̕b -a֮ٗ̀̕b -a֮ٗ̀̕b - -à֮٘̕b -à֮٘̕b -à֮٘̕b -à֮٘̕b -à֮٘̕b - -a֮٘̀̕b -a֮٘̀̕b -a֮٘̀̕b -a֮٘̀̕b -a֮٘̀̕b - -à֮ٙ̕b -à֮ٙ̕b -à֮ٙ̕b -à֮ٙ̕b -à֮ٙ̕b - -a֮ٙ̀̕b -a֮ٙ̀̕b -a֮ٙ̀̕b -a֮ٙ̀̕b -a֮ٙ̀̕b - -à֮ٚ̕b -à֮ٚ̕b -à֮ٚ̕b -à֮ٚ̕b -à֮ٚ̕b - -a֮ٚ̀̕b -a֮ٚ̀̕b -a֮ٚ̀̕b -a֮ٚ̀̕b -a֮ٚ̀̕b - -à֮ٛ̕b -à֮ٛ̕b -à֮ٛ̕b -à֮ٛ̕b -à֮ٛ̕b - -a֮ٛ̀̕b -a֮ٛ̀̕b -a֮ٛ̀̕b -a֮ٛ̀̕b -a֮ٛ̀̕b - -a〪̖ٜ֚b -a〪̖ٜ֚b -a〪̖ٜ֚b -a〪̖ٜ֚b -a〪̖ٜ֚b - -a〪ٜ̖֚b -a〪ٜ̖֚b -a〪ٜ̖֚b -a〪ٜ̖֚b -a〪ٜ̖֚b - -à֮ٝ̕b -à֮ٝ̕b -à֮ٝ̕b -à֮ٝ̕b -à֮ٝ̕b - -a֮ٝ̀̕b -a֮ٝ̀̕b -a֮ٝ̀̕b -a֮ٝ̀̕b -a֮ٝ̀̕b - -à֮ٞ̕b -à֮ٞ̕b -à֮ٞ̕b -à֮ٞ̕b -à֮ٞ̕b - -a֮ٞ̀̕b -a֮ٞ̀̕b -a֮ٞ̀̕b -a֮ٞ̀̕b -a֮ٞ̀̕b - -a〪̖ٟ֚b -a〪̖ٟ֚b -a〪̖ٟ֚b -a〪̖ٟ֚b -a〪̖ٟ֚b - -a〪ٟ̖֚b -a〪ٟ̖֚b -a〪ٟ̖֚b -a〪ٟ̖֚b -a〪ٟ̖֚b - -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb - -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb -aْٰٰܑb - -à֮ۖ̕b -à֮ۖ̕b -à֮ۖ̕b -à֮ۖ̕b -à֮ۖ̕b - -a֮ۖ̀̕b -a֮ۖ̀̕b -a֮ۖ̀̕b -a֮ۖ̀̕b -a֮ۖ̀̕b - -à֮ۗ̕b -à֮ۗ̕b -à֮ۗ̕b -à֮ۗ̕b -à֮ۗ̕b - -a֮ۗ̀̕b -a֮ۗ̀̕b -a֮ۗ̀̕b -a֮ۗ̀̕b -a֮ۗ̀̕b - -à֮ۘ̕b -à֮ۘ̕b -à֮ۘ̕b -à֮ۘ̕b -à֮ۘ̕b - -a֮ۘ̀̕b -a֮ۘ̀̕b -a֮ۘ̀̕b -a֮ۘ̀̕b -a֮ۘ̀̕b - -à֮ۙ̕b -à֮ۙ̕b -à֮ۙ̕b -à֮ۙ̕b -à֮ۙ̕b - -a֮ۙ̀̕b -a֮ۙ̀̕b -a֮ۙ̀̕b -a֮ۙ̀̕b -a֮ۙ̀̕b - -à֮ۚ̕b -à֮ۚ̕b -à֮ۚ̕b -à֮ۚ̕b -à֮ۚ̕b - -a֮ۚ̀̕b -a֮ۚ̀̕b -a֮ۚ̀̕b -a֮ۚ̀̕b -a֮ۚ̀̕b - -à֮ۛ̕b -à֮ۛ̕b -à֮ۛ̕b -à֮ۛ̕b -à֮ۛ̕b - -a֮ۛ̀̕b -a֮ۛ̀̕b -a֮ۛ̀̕b -a֮ۛ̀̕b -a֮ۛ̀̕b - -à֮ۜ̕b -à֮ۜ̕b -à֮ۜ̕b -à֮ۜ̕b -à֮ۜ̕b - -a֮ۜ̀̕b -a֮ۜ̀̕b -a֮ۜ̀̕b -a֮ۜ̀̕b -a֮ۜ̀̕b - -à֮۟̕b -à֮۟̕b -à֮۟̕b -à֮۟̕b -à֮۟̕b - -a֮۟̀̕b -a֮۟̀̕b -a֮۟̀̕b -a֮۟̀̕b -a֮۟̀̕b - -à֮۠̕b -à֮۠̕b -à֮۠̕b -à֮۠̕b -à֮۠̕b - -a֮۠̀̕b -a֮۠̀̕b -a֮۠̀̕b -a֮۠̀̕b -a֮۠̀̕b - -à֮ۡ̕b -à֮ۡ̕b -à֮ۡ̕b -à֮ۡ̕b -à֮ۡ̕b - -a֮ۡ̀̕b -a֮ۡ̀̕b -a֮ۡ̀̕b -a֮ۡ̀̕b -a֮ۡ̀̕b - -à֮ۢ̕b -à֮ۢ̕b -à֮ۢ̕b -à֮ۢ̕b -à֮ۢ̕b - -a֮ۢ̀̕b -a֮ۢ̀̕b -a֮ۢ̀̕b -a֮ۢ̀̕b -a֮ۢ̀̕b - -a〪̖ۣ֚b -a〪̖ۣ֚b -a〪̖ۣ֚b -a〪̖ۣ֚b -a〪̖ۣ֚b - -a〪ۣ̖֚b -a〪ۣ̖֚b -a〪ۣ̖֚b -a〪ۣ̖֚b -a〪ۣ̖֚b - -à֮ۤ̕b -à֮ۤ̕b -à֮ۤ̕b -à֮ۤ̕b -à֮ۤ̕b - -a֮ۤ̀̕b -a֮ۤ̀̕b -a֮ۤ̀̕b -a֮ۤ̀̕b -a֮ۤ̀̕b - -à֮ۧ̕b -à֮ۧ̕b -à֮ۧ̕b -à֮ۧ̕b -à֮ۧ̕b - -a֮ۧ̀̕b -a֮ۧ̀̕b -a֮ۧ̀̕b -a֮ۧ̀̕b -a֮ۧ̀̕b - -à֮ۨ̕b -à֮ۨ̕b -à֮ۨ̕b -à֮ۨ̕b -à֮ۨ̕b - -a֮ۨ̀̕b -a֮ۨ̀̕b -a֮ۨ̀̕b -a֮ۨ̀̕b -a֮ۨ̀̕b - -a〪̖۪֚b -a〪̖۪֚b -a〪̖۪֚b -a〪̖۪֚b -a〪̖۪֚b - -a〪۪̖֚b -a〪۪̖֚b -a〪۪̖֚b -a〪۪̖֚b -a〪۪̖֚b - -à֮۫̕b -à֮۫̕b -à֮۫̕b -à֮۫̕b -à֮۫̕b - -a֮۫̀̕b -a֮۫̀̕b -a֮۫̀̕b -a֮۫̀̕b -a֮۫̀̕b - -à֮۬̕b -à֮۬̕b -à֮۬̕b -à֮۬̕b -à֮۬̕b - -a֮۬̀̕b -a֮۬̀̕b -a֮۬̀̕b -a֮۬̀̕b -a֮۬̀̕b - -a〪̖ۭ֚b -a〪̖ۭ֚b -a〪̖ۭ֚b -a〪̖ۭ֚b -a〪̖ۭ֚b - -a〪ۭ̖֚b -a〪ۭ̖֚b -a〪ۭ̖֚b -a〪ۭ̖֚b -a〪ۭ̖֚b - -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb - -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb -aٰܑܑౕb - -à֮ܰ̕b -à֮ܰ̕b -à֮ܰ̕b -à֮ܰ̕b -à֮ܰ̕b - -a֮ܰ̀̕b -a֮ܰ̀̕b -a֮ܰ̀̕b -a֮ܰ̀̕b -a֮ܰ̀̕b - -a〪̖ܱ֚b -a〪̖ܱ֚b -a〪̖ܱ֚b -a〪̖ܱ֚b -a〪̖ܱ֚b - -a〪ܱ̖֚b -a〪ܱ̖֚b -a〪ܱ̖֚b -a〪ܱ̖֚b -a〪ܱ̖֚b - -à֮ܲ̕b -à֮ܲ̕b -à֮ܲ̕b -à֮ܲ̕b -à֮ܲ̕b - -a֮ܲ̀̕b -a֮ܲ̀̕b -a֮ܲ̀̕b -a֮ܲ̀̕b -a֮ܲ̀̕b - -à֮ܳ̕b -à֮ܳ̕b -à֮ܳ̕b -à֮ܳ̕b -à֮ܳ̕b - -a֮ܳ̀̕b -a֮ܳ̀̕b -a֮ܳ̀̕b -a֮ܳ̀̕b -a֮ܳ̀̕b - -a〪̖ܴ֚b -a〪̖ܴ֚b -a〪̖ܴ֚b -a〪̖ܴ֚b -a〪̖ܴ֚b - -a〪ܴ̖֚b -a〪ܴ̖֚b -a〪ܴ̖֚b -a〪ܴ̖֚b -a〪ܴ̖֚b - -à֮ܵ̕b -à֮ܵ̕b -à֮ܵ̕b -à֮ܵ̕b -à֮ܵ̕b - -a֮ܵ̀̕b -a֮ܵ̀̕b -a֮ܵ̀̕b -a֮ܵ̀̕b -a֮ܵ̀̕b - -à֮ܶ̕b -à֮ܶ̕b -à֮ܶ̕b -à֮ܶ̕b -à֮ܶ̕b - -a֮ܶ̀̕b -a֮ܶ̀̕b -a֮ܶ̀̕b -a֮ܶ̀̕b -a֮ܶ̀̕b - -a〪̖ܷ֚b -a〪̖ܷ֚b -a〪̖ܷ֚b -a〪̖ܷ֚b -a〪̖ܷ֚b - -a〪ܷ̖֚b -a〪ܷ̖֚b -a〪ܷ̖֚b -a〪ܷ̖֚b -a〪ܷ̖֚b - -a〪̖ܸ֚b -a〪̖ܸ֚b -a〪̖ܸ֚b -a〪̖ܸ֚b -a〪̖ܸ֚b - -a〪ܸ̖֚b -a〪ܸ̖֚b -a〪ܸ̖֚b -a〪ܸ̖֚b -a〪ܸ̖֚b - -a〪̖ܹ֚b -a〪̖ܹ֚b -a〪̖ܹ֚b -a〪̖ܹ֚b -a〪̖ܹ֚b - -a〪ܹ̖֚b -a〪ܹ̖֚b -a〪ܹ̖֚b -a〪ܹ̖֚b -a〪ܹ̖֚b - -à֮ܺ̕b -à֮ܺ̕b -à֮ܺ̕b -à֮ܺ̕b -à֮ܺ̕b - -a֮ܺ̀̕b -a֮ܺ̀̕b -a֮ܺ̀̕b -a֮ܺ̀̕b -a֮ܺ̀̕b - -a〪̖ܻ֚b -a〪̖ܻ֚b -a〪̖ܻ֚b -a〪̖ܻ֚b -a〪̖ܻ֚b - -a〪ܻ̖֚b -a〪ܻ̖֚b -a〪ܻ̖֚b -a〪ܻ̖֚b -a〪ܻ̖֚b - -a〪̖ܼ֚b -a〪̖ܼ֚b -a〪̖ܼ֚b -a〪̖ܼ֚b -a〪̖ܼ֚b - -a〪ܼ̖֚b -a〪ܼ̖֚b -a〪ܼ̖֚b -a〪ܼ̖֚b -a〪ܼ̖֚b - -à֮ܽ̕b -à֮ܽ̕b -à֮ܽ̕b -à֮ܽ̕b -à֮ܽ̕b - -a֮ܽ̀̕b -a֮ܽ̀̕b -a֮ܽ̀̕b -a֮ܽ̀̕b -a֮ܽ̀̕b - -a〪̖ܾ֚b -a〪̖ܾ֚b -a〪̖ܾ֚b -a〪̖ܾ֚b -a〪̖ܾ֚b - -a〪ܾ̖֚b -a〪ܾ̖֚b -a〪ܾ̖֚b -a〪ܾ̖֚b -a〪ܾ̖֚b - -à֮ܿ̕b -à֮ܿ̕b -à֮ܿ̕b -à֮ܿ̕b -à֮ܿ̕b - -a֮ܿ̀̕b -a֮ܿ̀̕b -a֮ܿ̀̕b -a֮ܿ̀̕b -a֮ܿ̀̕b - -à֮݀̕b -à֮݀̕b -à֮݀̕b -à֮݀̕b -à֮݀̕b - -a֮݀̀̕b -a֮݀̀̕b -a֮݀̀̕b -a֮݀̀̕b -a֮݀̀̕b - -à֮݁̕b -à֮݁̕b -à֮݁̕b -à֮݁̕b -à֮݁̕b - -a֮݁̀̕b -a֮݁̀̕b -a֮݁̀̕b -a֮݁̀̕b -a֮݁̀̕b - -a〪̖݂֚b -a〪̖݂֚b -a〪̖݂֚b -a〪̖݂֚b -a〪̖݂֚b - -a〪݂̖֚b -a〪݂̖֚b -a〪݂̖֚b -a〪݂̖֚b -a〪݂̖֚b - -à֮݃̕b -à֮݃̕b -à֮݃̕b -à֮݃̕b -à֮݃̕b - -a֮݃̀̕b -a֮݃̀̕b -a֮݃̀̕b -a֮݃̀̕b -a֮݃̀̕b - -a〪̖݄֚b -a〪̖݄֚b -a〪̖݄֚b -a〪̖݄֚b -a〪̖݄֚b - -a〪݄̖֚b -a〪݄̖֚b -a〪݄̖֚b -a〪݄̖֚b -a〪݄̖֚b - -à֮݅̕b -à֮݅̕b -à֮݅̕b -à֮݅̕b -à֮݅̕b - -a֮݅̀̕b -a֮݅̀̕b -a֮݅̀̕b -a֮݅̀̕b -a֮݅̀̕b - -a〪̖݆֚b -a〪̖݆֚b -a〪̖݆֚b -a〪̖݆֚b -a〪̖݆֚b - -a〪݆̖֚b -a〪݆̖֚b -a〪݆̖֚b -a〪݆̖֚b -a〪݆̖֚b - -à֮݇̕b -à֮݇̕b -à֮݇̕b -à֮݇̕b -à֮݇̕b - -a֮݇̀̕b -a֮݇̀̕b -a֮݇̀̕b -a֮݇̀̕b -a֮݇̀̕b - -a〪̖݈֚b -a〪̖݈֚b -a〪̖݈֚b -a〪̖݈֚b -a〪̖݈֚b - -a〪݈̖֚b -a〪݈̖֚b -a〪݈̖֚b -a〪݈̖֚b -a〪݈̖֚b - -à֮݉̕b -à֮݉̕b -à֮݉̕b -à֮݉̕b -à֮݉̕b - -a֮݉̀̕b -a֮݉̀̕b -a֮݉̀̕b -a֮݉̀̕b -a֮݉̀̕b - -à֮݊̕b -à֮݊̕b -à֮݊̕b -à֮݊̕b -à֮݊̕b - -a֮݊̀̕b -a֮݊̀̕b -a֮݊̀̕b -a֮݊̀̕b -a֮݊̀̕b - -à֮߫̕b -à֮߫̕b -à֮߫̕b -à֮߫̕b -à֮߫̕b - -a֮߫̀̕b -a֮߫̀̕b -a֮߫̀̕b -a֮߫̀̕b -a֮߫̀̕b - -à֮߬̕b -à֮߬̕b -à֮߬̕b -à֮߬̕b -à֮߬̕b - -a֮߬̀̕b -a֮߬̀̕b -a֮߬̀̕b -a֮߬̀̕b -a֮߬̀̕b - -à֮߭̕b -à֮߭̕b -à֮߭̕b -à֮߭̕b -à֮߭̕b - -a֮߭̀̕b -a֮߭̀̕b -a֮߭̀̕b -a֮߭̀̕b -a֮߭̀̕b - -à֮߮̕b -à֮߮̕b -à֮߮̕b -à֮߮̕b -à֮߮̕b - -a֮߮̀̕b -a֮߮̀̕b -a֮߮̀̕b -a֮߮̀̕b -a֮߮̀̕b - -à֮߯̕b -à֮߯̕b -à֮߯̕b -à֮߯̕b -à֮߯̕b - -a֮߯̀̕b -a֮߯̀̕b -a֮߯̀̕b -a֮߯̀̕b -a֮߯̀̕b - -à֮߰̕b -à֮߰̕b -à֮߰̕b -à֮߰̕b -à֮߰̕b - -a֮߰̀̕b -a֮߰̀̕b -a֮߰̀̕b -a֮߰̀̕b -a֮߰̀̕b - -à֮߱̕b -à֮߱̕b -à֮߱̕b -à֮߱̕b -à֮߱̕b - -a֮߱̀̕b -a֮߱̀̕b -a֮߱̀̕b -a֮߱̀̕b -a֮߱̀̕b - -a〪̖߲֚b -a〪̖߲֚b -a〪̖߲֚b -a〪̖߲֚b -a〪̖߲֚b - -a〪߲̖֚b -a〪߲̖֚b -a〪߲̖֚b -a〪߲̖֚b -a〪߲̖֚b - -à֮߳̕b -à֮߳̕b -à֮߳̕b -à֮߳̕b -à֮߳̕b - -a֮߳̀̕b -a֮߳̀̕b -a֮߳̀̕b -a֮߳̀̕b -a֮߳̀̕b - -à֮ࠖ̕b -à֮ࠖ̕b -à֮ࠖ̕b -à֮ࠖ̕b -à֮ࠖ̕b - -a֮ࠖ̀̕b -a֮ࠖ̀̕b -a֮ࠖ̀̕b -a֮ࠖ̀̕b -a֮ࠖ̀̕b - -à֮ࠗ̕b -à֮ࠗ̕b -à֮ࠗ̕b -à֮ࠗ̕b -à֮ࠗ̕b - -a֮ࠗ̀̕b -a֮ࠗ̀̕b -a֮ࠗ̀̕b -a֮ࠗ̀̕b -a֮ࠗ̀̕b - -à֮࠘̕b -à֮࠘̕b -à֮࠘̕b -à֮࠘̕b -à֮࠘̕b - -a֮࠘̀̕b -a֮࠘̀̕b -a֮࠘̀̕b -a֮࠘̀̕b -a֮࠘̀̕b - -à֮࠙̕b -à֮࠙̕b -à֮࠙̕b -à֮࠙̕b -à֮࠙̕b - -a֮࠙̀̕b -a֮࠙̀̕b -a֮࠙̀̕b -a֮࠙̀̕b -a֮࠙̀̕b - -à֮ࠛ̕b -à֮ࠛ̕b -à֮ࠛ̕b -à֮ࠛ̕b -à֮ࠛ̕b - -a֮ࠛ̀̕b -a֮ࠛ̀̕b -a֮ࠛ̀̕b -a֮ࠛ̀̕b -a֮ࠛ̀̕b - -à֮ࠜ̕b -à֮ࠜ̕b -à֮ࠜ̕b -à֮ࠜ̕b -à֮ࠜ̕b - -a֮ࠜ̀̕b -a֮ࠜ̀̕b -a֮ࠜ̀̕b -a֮ࠜ̀̕b -a֮ࠜ̀̕b - -à֮ࠝ̕b -à֮ࠝ̕b -à֮ࠝ̕b -à֮ࠝ̕b -à֮ࠝ̕b - -a֮ࠝ̀̕b -a֮ࠝ̀̕b -a֮ࠝ̀̕b -a֮ࠝ̀̕b -a֮ࠝ̀̕b - -à֮ࠞ̕b -à֮ࠞ̕b -à֮ࠞ̕b -à֮ࠞ̕b -à֮ࠞ̕b - -a֮ࠞ̀̕b -a֮ࠞ̀̕b -a֮ࠞ̀̕b -a֮ࠞ̀̕b -a֮ࠞ̀̕b - -à֮ࠟ̕b -à֮ࠟ̕b -à֮ࠟ̕b -à֮ࠟ̕b -à֮ࠟ̕b - -a֮ࠟ̀̕b -a֮ࠟ̀̕b -a֮ࠟ̀̕b -a֮ࠟ̀̕b -a֮ࠟ̀̕b - -à֮ࠠ̕b -à֮ࠠ̕b -à֮ࠠ̕b -à֮ࠠ̕b -à֮ࠠ̕b - -a֮ࠠ̀̕b -a֮ࠠ̀̕b -a֮ࠠ̀̕b -a֮ࠠ̀̕b -a֮ࠠ̀̕b - -à֮ࠡ̕b -à֮ࠡ̕b -à֮ࠡ̕b -à֮ࠡ̕b -à֮ࠡ̕b - -a֮ࠡ̀̕b -a֮ࠡ̀̕b -a֮ࠡ̀̕b -a֮ࠡ̀̕b -a֮ࠡ̀̕b - -à֮ࠢ̕b -à֮ࠢ̕b -à֮ࠢ̕b -à֮ࠢ̕b -à֮ࠢ̕b - -a֮ࠢ̀̕b -a֮ࠢ̀̕b -a֮ࠢ̀̕b -a֮ࠢ̀̕b -a֮ࠢ̀̕b - -à֮ࠣ̕b -à֮ࠣ̕b -à֮ࠣ̕b -à֮ࠣ̕b -à֮ࠣ̕b - -a֮ࠣ̀̕b -a֮ࠣ̀̕b -a֮ࠣ̀̕b -a֮ࠣ̀̕b -a֮ࠣ̀̕b - -à֮ࠥ̕b -à֮ࠥ̕b -à֮ࠥ̕b -à֮ࠥ̕b -à֮ࠥ̕b - -a֮ࠥ̀̕b -a֮ࠥ̀̕b -a֮ࠥ̀̕b -a֮ࠥ̀̕b -a֮ࠥ̀̕b - -à֮ࠦ̕b -à֮ࠦ̕b -à֮ࠦ̕b -à֮ࠦ̕b -à֮ࠦ̕b - -a֮ࠦ̀̕b -a֮ࠦ̀̕b -a֮ࠦ̀̕b -a֮ࠦ̀̕b -a֮ࠦ̀̕b - -à֮ࠧ̕b -à֮ࠧ̕b -à֮ࠧ̕b -à֮ࠧ̕b -à֮ࠧ̕b - -a֮ࠧ̀̕b -a֮ࠧ̀̕b -a֮ࠧ̀̕b -a֮ࠧ̀̕b -a֮ࠧ̀̕b - -à֮ࠩ̕b -à֮ࠩ̕b -à֮ࠩ̕b -à֮ࠩ̕b -à֮ࠩ̕b - -a֮ࠩ̀̕b -a֮ࠩ̀̕b -a֮ࠩ̀̕b -a֮ࠩ̀̕b -a֮ࠩ̀̕b - -à֮ࠪ̕b -à֮ࠪ̕b -à֮ࠪ̕b -à֮ࠪ̕b -à֮ࠪ̕b - -a֮ࠪ̀̕b -a֮ࠪ̀̕b -a֮ࠪ̀̕b -a֮ࠪ̀̕b -a֮ࠪ̀̕b - -à֮ࠫ̕b -à֮ࠫ̕b -à֮ࠫ̕b -à֮ࠫ̕b -à֮ࠫ̕b - -a֮ࠫ̀̕b -a֮ࠫ̀̕b -a֮ࠫ̀̕b -a֮ࠫ̀̕b -a֮ࠫ̀̕b - -à֮ࠬ̕b -à֮ࠬ̕b -à֮ࠬ̕b -à֮ࠬ̕b -à֮ࠬ̕b - -a֮ࠬ̀̕b -a֮ࠬ̀̕b -a֮ࠬ̀̕b -a֮ࠬ̀̕b -a֮ࠬ̀̕b - -à֮࠭̕b -à֮࠭̕b -à֮࠭̕b -à֮࠭̕b -à֮࠭̕b - -a֮࠭̀̕b -a֮࠭̀̕b -a֮࠭̀̕b -a֮࠭̀̕b -a֮࠭̀̕b - -a〪̖࡙֚b -a〪̖࡙֚b -a〪̖࡙֚b -a〪̖࡙֚b -a〪̖࡙֚b - -a〪࡙̖֚b -a〪࡙̖֚b -a〪࡙̖֚b -a〪࡙̖֚b -a〪࡙̖֚b - -a〪̖࡚֚b -a〪̖࡚֚b -a〪̖࡚֚b -a〪̖࡚֚b -a〪̖࡚֚b - -a〪࡚̖֚b -a〪࡚̖֚b -a〪࡚̖֚b -a〪࡚̖֚b -a〪࡚̖֚b - -a〪̖࡛֚b -a〪̖࡛֚b -a〪̖࡛֚b -a〪̖࡛֚b -a〪̖࡛֚b - -a〪࡛̖֚b -a〪࡛̖֚b -a〪࡛̖֚b -a〪࡛̖֚b -a〪࡛̖֚b - -à֮ࣔ̕b -à֮ࣔ̕b -à֮ࣔ̕b -à֮ࣔ̕b -à֮ࣔ̕b - -a֮ࣔ̀̕b -a֮ࣔ̀̕b -a֮ࣔ̀̕b -a֮ࣔ̀̕b -a֮ࣔ̀̕b - -à֮ࣕ̕b -à֮ࣕ̕b -à֮ࣕ̕b -à֮ࣕ̕b -à֮ࣕ̕b - -a֮ࣕ̀̕b -a֮ࣕ̀̕b -a֮ࣕ̀̕b -a֮ࣕ̀̕b -a֮ࣕ̀̕b - -à֮ࣖ̕b -à֮ࣖ̕b -à֮ࣖ̕b -à֮ࣖ̕b -à֮ࣖ̕b - -a֮ࣖ̀̕b -a֮ࣖ̀̕b -a֮ࣖ̀̕b -a֮ࣖ̀̕b -a֮ࣖ̀̕b - -à֮ࣗ̕b -à֮ࣗ̕b -à֮ࣗ̕b -à֮ࣗ̕b -à֮ࣗ̕b - -a֮ࣗ̀̕b -a֮ࣗ̀̕b -a֮ࣗ̀̕b -a֮ࣗ̀̕b -a֮ࣗ̀̕b - -à֮ࣘ̕b -à֮ࣘ̕b -à֮ࣘ̕b -à֮ࣘ̕b -à֮ࣘ̕b - -a֮ࣘ̀̕b -a֮ࣘ̀̕b -a֮ࣘ̀̕b -a֮ࣘ̀̕b -a֮ࣘ̀̕b - -à֮ࣙ̕b -à֮ࣙ̕b -à֮ࣙ̕b -à֮ࣙ̕b -à֮ࣙ̕b - -a֮ࣙ̀̕b -a֮ࣙ̀̕b -a֮ࣙ̀̕b -a֮ࣙ̀̕b -a֮ࣙ̀̕b - -à֮ࣚ̕b -à֮ࣚ̕b -à֮ࣚ̕b -à֮ࣚ̕b -à֮ࣚ̕b - -a֮ࣚ̀̕b -a֮ࣚ̀̕b -a֮ࣚ̀̕b -a֮ࣚ̀̕b -a֮ࣚ̀̕b - -à֮ࣛ̕b -à֮ࣛ̕b -à֮ࣛ̕b -à֮ࣛ̕b -à֮ࣛ̕b - -a֮ࣛ̀̕b -a֮ࣛ̀̕b -a֮ࣛ̀̕b -a֮ࣛ̀̕b -a֮ࣛ̀̕b - -à֮ࣜ̕b -à֮ࣜ̕b -à֮ࣜ̕b -à֮ࣜ̕b -à֮ࣜ̕b - -a֮ࣜ̀̕b -a֮ࣜ̀̕b -a֮ࣜ̀̕b -a֮ࣜ̀̕b -a֮ࣜ̀̕b - -à֮ࣝ̕b -à֮ࣝ̕b -à֮ࣝ̕b -à֮ࣝ̕b -à֮ࣝ̕b - -a֮ࣝ̀̕b -a֮ࣝ̀̕b -a֮ࣝ̀̕b -a֮ࣝ̀̕b -a֮ࣝ̀̕b - -à֮ࣞ̕b -à֮ࣞ̕b -à֮ࣞ̕b -à֮ࣞ̕b -à֮ࣞ̕b - -a֮ࣞ̀̕b -a֮ࣞ̀̕b -a֮ࣞ̀̕b -a֮ࣞ̀̕b -a֮ࣞ̀̕b - -à֮ࣟ̕b -à֮ࣟ̕b -à֮ࣟ̕b -à֮ࣟ̕b -à֮ࣟ̕b - -a֮ࣟ̀̕b -a֮ࣟ̀̕b -a֮ࣟ̀̕b -a֮ࣟ̀̕b -a֮ࣟ̀̕b - -à֮࣠̕b -à֮࣠̕b -à֮࣠̕b -à֮࣠̕b -à֮࣠̕b - -a֮࣠̀̕b -a֮࣠̀̕b -a֮࣠̀̕b -a֮࣠̀̕b -a֮࣠̀̕b - -à֮࣡̕b -à֮࣡̕b -à֮࣡̕b -à֮࣡̕b -à֮࣡̕b - -a֮࣡̀̕b -a֮࣡̀̕b -a֮࣡̀̕b -a֮࣡̀̕b -a֮࣡̀̕b - -a〪̖ࣣ֚b -a〪̖ࣣ֚b -a〪̖ࣣ֚b -a〪̖ࣣ֚b -a〪̖ࣣ֚b - -a〪ࣣ̖֚b -a〪ࣣ̖֚b -a〪ࣣ̖֚b -a〪ࣣ̖֚b -a〪ࣣ̖֚b - -à֮ࣤ̕b -à֮ࣤ̕b -à֮ࣤ̕b -à֮ࣤ̕b -à֮ࣤ̕b - -a֮ࣤ̀̕b -a֮ࣤ̀̕b -a֮ࣤ̀̕b -a֮ࣤ̀̕b -a֮ࣤ̀̕b - -à֮ࣥ̕b -à֮ࣥ̕b -à֮ࣥ̕b -à֮ࣥ̕b -à֮ࣥ̕b - -a֮ࣥ̀̕b -a֮ࣥ̀̕b -a֮ࣥ̀̕b -a֮ࣥ̀̕b -a֮ࣥ̀̕b - -a〪̖ࣦ֚b -a〪̖ࣦ֚b -a〪̖ࣦ֚b -a〪̖ࣦ֚b -a〪̖ࣦ֚b - -a〪ࣦ̖֚b -a〪ࣦ̖֚b -a〪ࣦ̖֚b -a〪ࣦ̖֚b -a〪ࣦ̖֚b - -à֮ࣧ̕b -à֮ࣧ̕b -à֮ࣧ̕b -à֮ࣧ̕b -à֮ࣧ̕b - -a֮ࣧ̀̕b -a֮ࣧ̀̕b -a֮ࣧ̀̕b -a֮ࣧ̀̕b -a֮ࣧ̀̕b - -à֮ࣨ̕b -à֮ࣨ̕b -à֮ࣨ̕b -à֮ࣨ̕b -à֮ࣨ̕b - -a֮ࣨ̀̕b -a֮ࣨ̀̕b -a֮ࣨ̀̕b -a֮ࣨ̀̕b -a֮ࣨ̀̕b - -a〪̖ࣩ֚b -a〪̖ࣩ֚b -a〪̖ࣩ֚b -a〪̖ࣩ֚b -a〪̖ࣩ֚b - -a〪ࣩ̖֚b -a〪ࣩ̖֚b -a〪ࣩ̖֚b -a〪ࣩ̖֚b -a〪ࣩ̖֚b - -à֮࣪̕b -à֮࣪̕b -à֮࣪̕b -à֮࣪̕b -à֮࣪̕b - -a֮࣪̀̕b -a֮࣪̀̕b -a֮࣪̀̕b -a֮࣪̀̕b -a֮࣪̀̕b - -à֮࣫̕b -à֮࣫̕b -à֮࣫̕b -à֮࣫̕b -à֮࣫̕b - -a֮࣫̀̕b -a֮࣫̀̕b -a֮࣫̀̕b -a֮࣫̀̕b -a֮࣫̀̕b - -à֮࣬̕b -à֮࣬̕b -à֮࣬̕b -à֮࣬̕b -à֮࣬̕b - -a֮࣬̀̕b -a֮࣬̀̕b -a֮࣬̀̕b -a֮࣬̀̕b -a֮࣬̀̕b - -a〪̖࣭֚b -a〪̖࣭֚b -a〪̖࣭֚b -a〪̖࣭֚b -a〪̖࣭֚b - -a〪࣭̖֚b -a〪࣭̖֚b -a〪࣭̖֚b -a〪࣭̖֚b -a〪࣭̖֚b - -a〪̖࣮֚b -a〪̖࣮֚b -a〪̖࣮֚b -a〪̖࣮֚b -a〪̖࣮֚b - -a〪࣮̖֚b -a〪࣮̖֚b -a〪࣮̖֚b -a〪࣮̖֚b -a〪࣮̖֚b - -a〪̖࣯֚b -a〪̖࣯֚b -a〪̖࣯֚b -a〪̖࣯֚b -a〪̖࣯֚b - -a〪࣯̖֚b -a〪࣯̖֚b -a〪࣯̖֚b -a〪࣯̖֚b -a〪࣯̖֚b - -aﬞًࣰٌb -aﬞًࣰٌb -aﬞًࣰٌb -aﬞًࣰٌb -aﬞًࣰٌb - -aﬞࣰًٌb -aﬞࣰًٌb -aﬞࣰًٌb -aﬞࣰًٌb -aﬞࣰًٌb - -aًٌࣱٍb -aًٌࣱٍb -aًٌࣱٍb -aًٌࣱٍb -aًٌࣱٍb - -aًࣱٌٍb -aًࣱٌٍb -aًࣱٌٍb -aًࣱٌٍb -aًࣱٌٍb - -aٌٍࣲؘb -aٌٍࣲؘb -aٌٍࣲؘb -aٌٍࣲؘb -aٌٍࣲؘb - -aٌࣲٍؘb -aٌࣲٍؘb -aٌࣲٍؘb -aٌࣲٍؘb -aٌࣲٍؘb - -à֮ࣳ̕b -à֮ࣳ̕b -à֮ࣳ̕b -à֮ࣳ̕b -à֮ࣳ̕b - -a֮ࣳ̀̕b -a֮ࣳ̀̕b -a֮ࣳ̀̕b -a֮ࣳ̀̕b -a֮ࣳ̀̕b - -à֮ࣴ̕b -à֮ࣴ̕b -à֮ࣴ̕b -à֮ࣴ̕b -à֮ࣴ̕b - -a֮ࣴ̀̕b -a֮ࣴ̀̕b -a֮ࣴ̀̕b -a֮ࣴ̀̕b -a֮ࣴ̀̕b - -à֮ࣵ̕b -à֮ࣵ̕b -à֮ࣵ̕b -à֮ࣵ̕b -à֮ࣵ̕b - -a֮ࣵ̀̕b -a֮ࣵ̀̕b -a֮ࣵ̀̕b -a֮ࣵ̀̕b -a֮ࣵ̀̕b - -a〪̖ࣶ֚b -a〪̖ࣶ֚b -a〪̖ࣶ֚b -a〪̖ࣶ֚b -a〪̖ࣶ֚b - -a〪ࣶ̖֚b -a〪ࣶ̖֚b -a〪ࣶ̖֚b -a〪ࣶ̖֚b -a〪ࣶ̖֚b - -à֮ࣷ̕b -à֮ࣷ̕b -à֮ࣷ̕b -à֮ࣷ̕b -à֮ࣷ̕b - -a֮ࣷ̀̕b -a֮ࣷ̀̕b -a֮ࣷ̀̕b -a֮ࣷ̀̕b -a֮ࣷ̀̕b - -à֮ࣸ̕b -à֮ࣸ̕b -à֮ࣸ̕b -à֮ࣸ̕b -à֮ࣸ̕b - -a֮ࣸ̀̕b -a֮ࣸ̀̕b -a֮ࣸ̀̕b -a֮ࣸ̀̕b -a֮ࣸ̀̕b - -a〪̖ࣹ֚b -a〪̖ࣹ֚b -a〪̖ࣹ֚b -a〪̖ࣹ֚b -a〪̖ࣹ֚b - -a〪ࣹ̖֚b -a〪ࣹ̖֚b -a〪ࣹ̖֚b -a〪ࣹ̖֚b -a〪ࣹ̖֚b - -a〪̖ࣺ֚b -a〪̖ࣺ֚b -a〪̖ࣺ֚b -a〪̖ࣺ֚b -a〪̖ࣺ֚b - -a〪ࣺ̖֚b -a〪ࣺ̖֚b -a〪ࣺ̖֚b -a〪ࣺ̖֚b -a〪ࣺ̖֚b - -à֮ࣻ̕b -à֮ࣻ̕b -à֮ࣻ̕b -à֮ࣻ̕b -à֮ࣻ̕b - -a֮ࣻ̀̕b -a֮ࣻ̀̕b -a֮ࣻ̀̕b -a֮ࣻ̀̕b -a֮ࣻ̀̕b - -à֮ࣼ̕b -à֮ࣼ̕b -à֮ࣼ̕b -à֮ࣼ̕b -à֮ࣼ̕b - -a֮ࣼ̀̕b -a֮ࣼ̀̕b -a֮ࣼ̀̕b -a֮ࣼ̀̕b -a֮ࣼ̀̕b - -à֮ࣽ̕b -à֮ࣽ̕b -à֮ࣽ̕b -à֮ࣽ̕b -à֮ࣽ̕b - -a֮ࣽ̀̕b -a֮ࣽ̀̕b -a֮ࣽ̀̕b -a֮ࣽ̀̕b -a֮ࣽ̀̕b - -à֮ࣾ̕b -à֮ࣾ̕b -à֮ࣾ̕b -à֮ࣾ̕b -à֮ࣾ̕b - -a֮ࣾ̀̕b -a֮ࣾ̀̕b -a֮ࣾ̀̕b -a֮ࣾ̀̕b -a֮ࣾ̀̕b - -à֮ࣿ̕b -à֮ࣿ̕b -à֮ࣿ̕b -à֮ࣿ̕b -à֮ࣿ̕b - -a֮ࣿ̀̕b -a֮ࣿ̀̕b -a֮ࣿ̀̕b -a֮ࣿ̀̕b -a֮ࣿ̀̕b - -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b - -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b -a̴़़゙b - -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb - -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb -a゙््ְb - -à֮॑̕b -à֮॑̕b -à֮॑̕b -à֮॑̕b -à֮॑̕b - -a֮॑̀̕b -a֮॑̀̕b -a֮॑̀̕b -a֮॑̀̕b -a֮॑̀̕b - -a〪̖॒֚b -a〪̖॒֚b -a〪̖॒֚b -a〪̖॒֚b -a〪̖॒֚b - -a〪॒̖֚b -a〪॒̖֚b -a〪॒̖֚b -a〪॒̖֚b -a〪॒̖֚b - -à֮॓̕b -à֮॓̕b -à֮॓̕b -à֮॓̕b -à֮॓̕b - -a֮॓̀̕b -a֮॓̀̕b -a֮॓̀̕b -a֮॓̀̕b -a֮॓̀̕b - -à֮॔̕b -à֮॔̕b -à֮॔̕b -à֮॔̕b -à֮॔̕b - -a֮॔̀̕b -a֮॔̀̕b -a֮॔̀̕b -a֮॔̀̕b -a֮॔̀̕b - -a̴़়゙b -a̴़়゙b -a̴़়゙b -a̴़়゙b -a̴़়゙b - -a̴়़゙b -a̴়़゙b -a̴়़゙b -a̴়़゙b -a̴়़゙b - -a゙्্ְb -a゙्্ְb -a゙्্ְb -a゙्্ְb -a゙्্ְb - -a゙্्ְb -a゙্्ְb -a゙্्ְb -a゙্्ְb -a゙্्ְb - -a̴़਼゙b -a̴़਼゙b -a̴़਼゙b -a̴़਼゙b -a̴़਼゙b - -a̴਼़゙b -a̴਼़゙b -a̴਼़゙b -a̴਼़゙b -a̴਼़゙b - -a゙्੍ְb -a゙्੍ְb -a゙्੍ְb -a゙्੍ְb -a゙्੍ְb - -a゙੍्ְb -a゙੍्ְb -a゙੍्ְb -a゙੍्ְb -a゙੍्ְb - -a̴़઼゙b -a̴़઼゙b -a̴़઼゙b -a̴़઼゙b -a̴़઼゙b - -a̴઼़゙b -a̴઼़゙b -a̴઼़゙b -a̴઼़゙b -a̴઼़゙b - -a゙्્ְb -a゙्્ְb -a゙्્ְb -a゙्્ְb -a゙्્ְb - -a゙્्ְb -a゙્्ְb -a゙્्ְb -a゙્्ְb -a゙્्ְb - -a̴़଼゙b -a̴़଼゙b -a̴़଼゙b -a̴़଼゙b -a̴़଼゙b - -a̴଼़゙b -a̴଼़゙b -a̴଼़゙b -a̴଼़゙b -a̴଼़゙b - -a゙्୍ְb -a゙्୍ְb -a゙्୍ְb -a゙्୍ְb -a゙्୍ְb - -a゙୍्ְb -a゙୍्ְb -a゙୍्ְb -a゙୍्ְb -a゙୍्ְb - -a゙्்ְb -a゙्்ְb -a゙्்ְb -a゙्்ְb -a゙्்ְb - -a゙்्ְb -a゙்्ְb -a゙்्ְb -a゙்्ְb -a゙்्ְb - -a゙्్ְb -a゙्్ְb -a゙्్ְb -a゙्్ְb -a゙्్ְb - -a゙్्ְb -a゙్्ְb -a゙్्ְb -a゙్्ְb -a゙్्ְb - -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb - -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb -aܑౕౕౖb - -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb - -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb -aౕౖౖุb - -a̴़಼゙b -a̴़಼゙b -a̴़಼゙b -a̴़಼゙b -a̴़಼゙b - -a̴಼़゙b -a̴಼़゙b -a̴಼़゙b -a̴಼़゙b -a̴಼़゙b - -a゙्್ְb -a゙्್ְb -a゙्್ְb -a゙्್ְb -a゙्್ְb - -a゙್्ְb -a゙್्ְb -a゙್्ְb -a゙್्ְb -a゙್्ְb - -a゙्്ְb -a゙्്ְb -a゙्്ְb -a゙्്ְb -a゙्്ְb - -a゙്्ְb -a゙്्ְb -a゙്्ְb -a゙്्ְb -a゙്्ְb - -a゙्්ְb -a゙्්ְb -a゙्්ְb -a゙्්ְb -a゙्්ְb - -a゙්्ְb -a゙්्ְb -a゙්्ְb -a゙්्ְb -a゙්्ְb - -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b - -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b -aౖุุ่b - -aౖุู่b -aౖุู่b -aౖุู่b -aౖุู่b -aౖุู่b - -aౖูุ่b -aౖูุ่b -aౖูุ่b -aౖูุ่b -aౖูุ่b - -a゙्ฺְb -a゙्ฺְb -a゙्ฺְb -a゙्ฺְb -a゙्ฺְb - -a゙ฺ्ְb -a゙ฺ्ְb -a゙ฺ्ְb -a゙ฺ्ְb -a゙ฺ्ְb - -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb - -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb -aุ่่ຸb - -aุ่้ຸb -aุ่้ຸb -aุ่้ຸb -aุ่้ຸb -aุ่้ຸb - -aุ้่ຸb -aุ้่ຸb -aุ้่ຸb -aุ้่ຸb -aุ้่ຸb - -aุ่๊ຸb -aุ่๊ຸb -aุ่๊ຸb -aุ่๊ຸb -aุ่๊ຸb - -aุ๊่ຸb -aุ๊่ຸb -aุ๊่ຸb -aุ๊่ຸb -aุ๊่ຸb - -aุ่๋ຸb -aุ่๋ຸb -aุ่๋ຸb -aุ่๋ຸb -aุ่๋ຸb - -aุ๋่ຸb -aุ๋่ຸb -aุ๋่ຸb -aุ๋่ຸb -aุ๋่ຸb - -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b - -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b -a่ຸຸ່b - -a่ຸູ່b -a่ຸູ່b -a่ຸູ່b -a่ຸູ່b -a่ຸູ່b - -a่ູຸ່b -a่ູຸ່b -a่ູຸ່b -a่ູຸ່b -a่ູຸ່b - -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb - -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb -aຸ່່ཱb - -aຸ່້ཱb -aຸ່້ཱb -aຸ່້ཱb -aຸ່້ཱb -aຸ່້ཱb - -aຸ້່ཱb -aຸ້່ཱb -aຸ້່ཱb -aຸ້່ཱb -aຸ້່ཱb - -aຸ່໊ཱb -aຸ່໊ཱb -aຸ່໊ཱb -aຸ່໊ཱb -aຸ່໊ཱb - -aຸ໊່ཱb -aຸ໊່ཱb -aຸ໊່ཱb -aຸ໊່ཱb -aຸ໊່ཱb - -aຸ່໋ཱb -aຸ່໋ཱb -aຸ່໋ཱb -aຸ່໋ཱb -aຸ່໋ཱb - -aຸ໋່ཱb -aຸ໋່ཱb -aຸ໋່ཱb -aຸ໋່ཱb -aຸ໋່ཱb - -a〪̖༘֚b -a〪̖༘֚b -a〪̖༘֚b -a〪̖༘֚b -a〪̖༘֚b - -a〪༘̖֚b -a〪༘̖֚b -a〪༘̖֚b -a〪༘̖֚b -a〪༘̖֚b - -a〪̖༙֚b -a〪̖༙֚b -a〪̖༙֚b -a〪̖༙֚b -a〪̖༙֚b - -a〪༙̖֚b -a〪༙̖֚b -a〪༙̖֚b -a〪༙̖֚b -a〪༙̖֚b - -a〪̖༵֚b -a〪̖༵֚b -a〪̖༵֚b -a〪̖༵֚b -a〪̖༵֚b - -a〪༵̖֚b -a〪༵̖֚b -a〪༵̖֚b -a〪༵̖֚b -a〪༵̖֚b - -a〪̖༷֚b -a〪̖༷֚b -a〪̖༷֚b -a〪̖༷֚b -a〪̖༷֚b - -a〪༷̖֚b -a〪༷̖֚b -a〪༷̖֚b -a〪༷̖֚b -a〪༷̖֚b - -a᷎̛༹〪b -a᷎̛༹〪b -a᷎̛༹〪b -a᷎̛༹〪b -a᷎̛༹〪b - -a᷎༹̛〪b -a᷎༹̛〪b -a᷎༹̛〪b -a᷎༹̛〪b -a᷎༹̛〪b - -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb - -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb -a່ཱཱིb - -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb - -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb -aཱིིུb - -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b - -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b -aིུུ̡b - -aཱིེུb -aཱིེུb -aཱིེུb -aཱིེུb -aཱིེུb - -aཱེིུb -aཱེིུb -aཱེིུb -aཱེིུb -aཱེིུb - -aཱིཻུb -aཱིཻུb -aཱིཻུb -aཱིཻུb -aཱིཻུb - -aཱཻིུb -aཱཻིུb -aཱཻིུb -aཱཻིུb -aཱཻིུb - -aཱིོུb -aཱིོུb -aཱིོུb -aཱིོུb -aཱིོུb - -aཱོིུb -aཱོིུb -aཱོིུb -aཱོིུb -aཱོིུb - -aཱིཽུb -aཱིཽུb -aཱིཽུb -aཱིཽུb -aཱིཽུb - -aཱཽིུb -aཱཽིུb -aཱཽིུb -aཱཽིུb -aཱཽིུb - -aཱིྀུb -aཱིྀུb -aཱིྀུb -aཱིྀུb -aཱིྀུb - -aཱྀིུb -aཱྀིུb -aཱྀིུb -aཱྀིུb -aཱྀིུb - -à֮ྂ̕b -à֮ྂ̕b -à֮ྂ̕b -à֮ྂ̕b -à֮ྂ̕b - -a֮ྂ̀̕b -a֮ྂ̀̕b -a֮ྂ̀̕b -a֮ྂ̀̕b -a֮ྂ̀̕b - -à֮ྃ̕b -à֮ྃ̕b -à֮ྃ̕b -à֮ྃ̕b -à֮ྃ̕b - -a֮ྃ̀̕b -a֮ྃ̀̕b -a֮ྃ̀̕b -a֮ྃ̀̕b -a֮ྃ̀̕b - -a゙्྄ְb -a゙्྄ְb -a゙्྄ְb -a゙्྄ְb -a゙्྄ְb - -a゙྄्ְb -a゙྄्ְb -a゙྄्ְb -a゙྄्ְb -a゙྄्ְb - -à֮྆̕b -à֮྆̕b -à֮྆̕b -à֮྆̕b -à֮྆̕b - -a֮྆̀̕b -a֮྆̀̕b -a֮྆̀̕b -a֮྆̀̕b -a֮྆̀̕b - -à֮྇̕b -à֮྇̕b -à֮྇̕b -à֮྇̕b -à֮྇̕b - -a֮྇̀̕b -a֮྇̀̕b -a֮྇̀̕b -a֮྇̀̕b -a֮྇̀̕b - -a〪̖࿆֚b -a〪̖࿆֚b -a〪̖࿆֚b -a〪̖࿆֚b -a〪̖࿆֚b - -a〪࿆̖֚b -a〪࿆̖֚b -a〪࿆̖֚b -a〪࿆̖֚b -a〪࿆̖֚b - -a̴़့゙b -a̴़့゙b -a̴़့゙b -a̴़့゙b -a̴़့゙b - -a̴့़゙b -a̴့़゙b -a̴့़゙b -a̴့़゙b -a̴့़゙b - -a゙्္ְb -a゙्္ְb -a゙्္ְb -a゙्္ְb -a゙्္ְb - -a゙္्ְb -a゙္्ְb -a゙္्ְb -a゙္्ְb -a゙္्ְb - -a゙्်ְb -a゙्်ְb -a゙्်ְb -a゙्်ְb -a゙्်ְb - -a゙်्ְb -a゙်्ְb -a゙်्ְb -a゙်्ְb -a゙်्ְb - -a〪̖ႍ֚b -a〪̖ႍ֚b -a〪̖ႍ֚b -a〪̖ႍ֚b -a〪̖ႍ֚b - -a〪ႍ̖֚b -a〪ႍ̖֚b -a〪ႍ̖֚b -a〪ႍ̖֚b -a〪ႍ̖֚b - -à֮፝̕b -à֮፝̕b -à֮፝̕b -à֮፝̕b -à֮፝̕b - -a֮፝̀̕b -a֮፝̀̕b -a֮፝̀̕b -a֮፝̀̕b -a֮፝̀̕b - -à֮፞̕b -à֮፞̕b -à֮፞̕b -à֮፞̕b -à֮፞̕b - -a֮፞̀̕b -a֮፞̀̕b -a֮፞̀̕b -a֮፞̀̕b -a֮፞̀̕b - -à֮፟̕b -à֮፟̕b -à֮፟̕b -à֮፟̕b -à֮፟̕b - -a֮፟̀̕b -a֮፟̀̕b -a֮፟̀̕b -a֮፟̀̕b -a֮፟̀̕b - -a゙्᜔ְb -a゙्᜔ְb -a゙्᜔ְb -a゙्᜔ְb -a゙्᜔ְb - -a゙᜔्ְb -a゙᜔्ְb -a゙᜔्ְb -a゙᜔्ְb -a゙᜔्ְb - -a゙्᜴ְb -a゙्᜴ְb -a゙्᜴ְb -a゙्᜴ְb -a゙्᜴ְb - -a゙᜴्ְb -a゙᜴्ְb -a゙᜴्ְb -a゙᜴्ְb -a゙᜴्ְb - -a゙्្ְb -a゙्្ְb -a゙्្ְb -a゙्្ְb -a゙्្ְb - -a゙្्ְb -a゙្्ְb -a゙្्ְb -a゙្्ְb -a゙្्ְb - -à֮៝̕b -à֮៝̕b -à֮៝̕b -à֮៝̕b -à֮៝̕b - -a֮៝̀̕b -a֮៝̀̕b -a֮៝̀̕b -a֮៝̀̕b -a֮៝̀̕b - -à𝅭֮ᢩb -à𝅭֮ᢩb -à𝅭֮ᢩb -à𝅭֮ᢩb -à𝅭֮ᢩb - -à𝅭ᢩ֮b -à𝅭ᢩ֮b -à𝅭ᢩ֮b -à𝅭ᢩ֮b -à𝅭ᢩ֮b - -a̖֚᤹〮b -a̖֚᤹〮b -a̖֚᤹〮b -a̖֚᤹〮b -a̖֚᤹〮b - -a̖᤹֚〮b -a̖᤹֚〮b -a̖᤹֚〮b -a̖᤹֚〮b -a̖᤹֚〮b - -à֮᤺̕b -à֮᤺̕b -à֮᤺̕b -à֮᤺̕b -à֮᤺̕b - -a֮᤺̀̕b -a֮᤺̀̕b -a֮᤺̀̕b -a֮᤺̀̕b -a֮᤺̀̕b - -a〪̖᤻֚b -a〪̖᤻֚b -a〪̖᤻֚b -a〪̖᤻֚b -a〪̖᤻֚b - -a〪᤻̖֚b -a〪᤻̖֚b -a〪᤻̖֚b -a〪᤻̖֚b -a〪᤻̖֚b - -à֮ᨗ̕b -à֮ᨗ̕b -à֮ᨗ̕b -à֮ᨗ̕b -à֮ᨗ̕b - -a֮ᨗ̀̕b -a֮ᨗ̀̕b -a֮ᨗ̀̕b -a֮ᨗ̀̕b -a֮ᨗ̀̕b - -a〪̖ᨘ֚b -a〪̖ᨘ֚b -a〪̖ᨘ֚b -a〪̖ᨘ֚b -a〪̖ᨘ֚b - -a〪ᨘ̖֚b -a〪ᨘ̖֚b -a〪ᨘ̖֚b -a〪ᨘ̖֚b -a〪ᨘ̖֚b - -a゙्᩠ְb -a゙्᩠ְb -a゙्᩠ְb -a゙्᩠ְb -a゙्᩠ְb - -a゙᩠्ְb -a゙᩠्ְb -a゙᩠्ְb -a゙᩠्ְb -a゙᩠्ְb - -à֮᩵̕b -à֮᩵̕b -à֮᩵̕b -à֮᩵̕b -à֮᩵̕b - -a֮᩵̀̕b -a֮᩵̀̕b -a֮᩵̀̕b -a֮᩵̀̕b -a֮᩵̀̕b - -à֮᩶̕b -à֮᩶̕b -à֮᩶̕b -à֮᩶̕b -à֮᩶̕b - -a֮᩶̀̕b -a֮᩶̀̕b -a֮᩶̀̕b -a֮᩶̀̕b -a֮᩶̀̕b - -à֮᩷̕b -à֮᩷̕b -à֮᩷̕b -à֮᩷̕b -à֮᩷̕b - -a֮᩷̀̕b -a֮᩷̀̕b -a֮᩷̀̕b -a֮᩷̀̕b -a֮᩷̀̕b - -à֮᩸̕b -à֮᩸̕b -à֮᩸̕b -à֮᩸̕b -à֮᩸̕b - -a֮᩸̀̕b -a֮᩸̀̕b -a֮᩸̀̕b -a֮᩸̀̕b -a֮᩸̀̕b - -à֮᩹̕b -à֮᩹̕b -à֮᩹̕b -à֮᩹̕b -à֮᩹̕b - -a֮᩹̀̕b -a֮᩹̀̕b -a֮᩹̀̕b -a֮᩹̀̕b -a֮᩹̀̕b - -à֮᩺̕b -à֮᩺̕b -à֮᩺̕b -à֮᩺̕b -à֮᩺̕b - -a֮᩺̀̕b -a֮᩺̀̕b -a֮᩺̀̕b -a֮᩺̀̕b -a֮᩺̀̕b - -à֮᩻̕b -à֮᩻̕b -à֮᩻̕b -à֮᩻̕b -à֮᩻̕b - -a֮᩻̀̕b -a֮᩻̀̕b -a֮᩻̀̕b -a֮᩻̀̕b -a֮᩻̀̕b - -à֮᩼̕b -à֮᩼̕b -à֮᩼̕b -à֮᩼̕b -à֮᩼̕b - -a֮᩼̀̕b -a֮᩼̀̕b -a֮᩼̀̕b -a֮᩼̀̕b -a֮᩼̀̕b - -a〪̖᩿֚b -a〪̖᩿֚b -a〪̖᩿֚b -a〪̖᩿֚b -a〪̖᩿֚b - -a〪᩿̖֚b -a〪᩿̖֚b -a〪᩿̖֚b -a〪᩿̖֚b -a〪᩿̖֚b - -à֮᪰̕b -à֮᪰̕b -à֮᪰̕b -à֮᪰̕b -à֮᪰̕b - -a֮᪰̀̕b -a֮᪰̀̕b -a֮᪰̀̕b -a֮᪰̀̕b -a֮᪰̀̕b - -à֮᪱̕b -à֮᪱̕b -à֮᪱̕b -à֮᪱̕b -à֮᪱̕b - -a֮᪱̀̕b -a֮᪱̀̕b -a֮᪱̀̕b -a֮᪱̀̕b -a֮᪱̀̕b - -à֮᪲̕b -à֮᪲̕b -à֮᪲̕b -à֮᪲̕b -à֮᪲̕b - -a֮᪲̀̕b -a֮᪲̀̕b -a֮᪲̀̕b -a֮᪲̀̕b -a֮᪲̀̕b - -à֮᪳̕b -à֮᪳̕b -à֮᪳̕b -à֮᪳̕b -à֮᪳̕b - -a֮᪳̀̕b -a֮᪳̀̕b -a֮᪳̀̕b -a֮᪳̀̕b -a֮᪳̀̕b - -à֮᪴̕b -à֮᪴̕b -à֮᪴̕b -à֮᪴̕b -à֮᪴̕b - -a֮᪴̀̕b -a֮᪴̀̕b -a֮᪴̀̕b -a֮᪴̀̕b -a֮᪴̀̕b - -a〪̖᪵֚b -a〪̖᪵֚b -a〪̖᪵֚b -a〪̖᪵֚b -a〪̖᪵֚b - -a〪᪵̖֚b -a〪᪵̖֚b -a〪᪵̖֚b -a〪᪵̖֚b -a〪᪵̖֚b - -a〪̖᪶֚b -a〪̖᪶֚b -a〪̖᪶֚b -a〪̖᪶֚b -a〪̖᪶֚b - -a〪᪶̖֚b -a〪᪶̖֚b -a〪᪶̖֚b -a〪᪶̖֚b -a〪᪶̖֚b - -a〪̖᪷֚b -a〪̖᪷֚b -a〪̖᪷֚b -a〪̖᪷֚b -a〪̖᪷֚b - -a〪᪷̖֚b -a〪᪷̖֚b -a〪᪷̖֚b -a〪᪷̖֚b -a〪᪷̖֚b - -a〪̖᪸֚b -a〪̖᪸֚b -a〪̖᪸֚b -a〪̖᪸֚b -a〪̖᪸֚b - -a〪᪸̖֚b -a〪᪸̖֚b -a〪᪸̖֚b -a〪᪸̖֚b -a〪᪸̖֚b - -a〪̖᪹֚b -a〪̖᪹֚b -a〪̖᪹֚b -a〪̖᪹֚b -a〪̖᪹֚b - -a〪᪹̖֚b -a〪᪹̖֚b -a〪᪹̖֚b -a〪᪹̖֚b -a〪᪹̖֚b - -a〪̖᪺֚b -a〪̖᪺֚b -a〪̖᪺֚b -a〪̖᪺֚b -a〪̖᪺֚b - -a〪᪺̖֚b -a〪᪺̖֚b -a〪᪺̖֚b -a〪᪺̖֚b -a〪᪺̖֚b - -à֮᪻̕b -à֮᪻̕b -à֮᪻̕b -à֮᪻̕b -à֮᪻̕b - -a֮᪻̀̕b -a֮᪻̀̕b -a֮᪻̀̕b -a֮᪻̀̕b -a֮᪻̀̕b - -à֮᪼̕b -à֮᪼̕b -à֮᪼̕b -à֮᪼̕b -à֮᪼̕b - -a֮᪼̀̕b -a֮᪼̀̕b -a֮᪼̀̕b -a֮᪼̀̕b -a֮᪼̀̕b - -a〪̖᪽֚b -a〪̖᪽֚b -a〪̖᪽֚b -a〪̖᪽֚b -a〪̖᪽֚b - -a〪᪽̖֚b -a〪᪽̖֚b -a〪᪽̖֚b -a〪᪽̖֚b -a〪᪽̖֚b - -a̴़᬴゙b -a̴़᬴゙b -a̴़᬴゙b -a̴़᬴゙b -a̴़᬴゙b - -a̴᬴़゙b -a̴᬴़゙b -a̴᬴़゙b -a̴᬴़゙b -a̴᬴़゙b - -a゙्᭄ְb -a゙्᭄ְb -a゙्᭄ְb -a゙्᭄ְb -a゙्᭄ְb - -a゙᭄्ְb -a゙᭄्ְb -a゙᭄्ְb -a゙᭄्ְb -a゙᭄्ְb - -à֮᭫̕b -à֮᭫̕b -à֮᭫̕b -à֮᭫̕b -à֮᭫̕b - -a֮᭫̀̕b -a֮᭫̀̕b -a֮᭫̀̕b -a֮᭫̀̕b -a֮᭫̀̕b - -a〪̖᭬֚b -a〪̖᭬֚b -a〪̖᭬֚b -a〪̖᭬֚b -a〪̖᭬֚b - -a〪᭬̖֚b -a〪᭬̖֚b -a〪᭬̖֚b -a〪᭬̖֚b -a〪᭬̖֚b - -à֮᭭̕b -à֮᭭̕b -à֮᭭̕b -à֮᭭̕b -à֮᭭̕b - -a֮᭭̀̕b -a֮᭭̀̕b -a֮᭭̀̕b -a֮᭭̀̕b -a֮᭭̀̕b - -à֮᭮̕b -à֮᭮̕b -à֮᭮̕b -à֮᭮̕b -à֮᭮̕b - -a֮᭮̀̕b -a֮᭮̀̕b -a֮᭮̀̕b -a֮᭮̀̕b -a֮᭮̀̕b - -à֮᭯̕b -à֮᭯̕b -à֮᭯̕b -à֮᭯̕b -à֮᭯̕b - -a֮᭯̀̕b -a֮᭯̀̕b -a֮᭯̀̕b -a֮᭯̀̕b -a֮᭯̀̕b - -à֮᭰̕b -à֮᭰̕b -à֮᭰̕b -à֮᭰̕b -à֮᭰̕b - -a֮᭰̀̕b -a֮᭰̀̕b -a֮᭰̀̕b -a֮᭰̀̕b -a֮᭰̀̕b - -à֮᭱̕b -à֮᭱̕b -à֮᭱̕b -à֮᭱̕b -à֮᭱̕b - -a֮᭱̀̕b -a֮᭱̀̕b -a֮᭱̀̕b -a֮᭱̀̕b -a֮᭱̀̕b - -à֮᭲̕b -à֮᭲̕b -à֮᭲̕b -à֮᭲̕b -à֮᭲̕b - -a֮᭲̀̕b -a֮᭲̀̕b -a֮᭲̀̕b -a֮᭲̀̕b -a֮᭲̀̕b - -à֮᭳̕b -à֮᭳̕b -à֮᭳̕b -à֮᭳̕b -à֮᭳̕b - -a֮᭳̀̕b -a֮᭳̀̕b -a֮᭳̀̕b -a֮᭳̀̕b -a֮᭳̀̕b - -a゙्᮪ְb -a゙्᮪ְb -a゙्᮪ְb -a゙्᮪ְb -a゙्᮪ְb - -a゙᮪्ְb -a゙᮪्ְb -a゙᮪्ְb -a゙᮪्ְb -a゙᮪्ְb - -a゙्᮫ְb -a゙्᮫ְb -a゙्᮫ְb -a゙्᮫ְb -a゙्᮫ְb - -a゙᮫्ְb -a゙᮫्ְb -a゙᮫्ְb -a゙᮫्ְb -a゙᮫्ְb - -a̴़᯦゙b -a̴़᯦゙b -a̴़᯦゙b -a̴़᯦゙b -a̴़᯦゙b - -a̴᯦़゙b -a̴᯦़゙b -a̴᯦़゙b -a̴᯦़゙b -a̴᯦़゙b - -a゙्᯲ְb -a゙्᯲ְb -a゙्᯲ְb -a゙्᯲ְb -a゙्᯲ְb - -a゙᯲्ְb -a゙᯲्ְb -a゙᯲्ְb -a゙᯲्ְb -a゙᯲्ְb - -a゙्᯳ְb -a゙्᯳ְb -a゙्᯳ְb -a゙्᯳ְb -a゙्᯳ְb - -a゙᯳्ְb -a゙᯳्ְb -a゙᯳्ְb -a゙᯳्ְb -a゙᯳्ְb - -a̴़᰷゙b -a̴़᰷゙b -a̴़᰷゙b -a̴़᰷゙b -a̴़᰷゙b - -a̴᰷़゙b -a̴᰷़゙b -a̴᰷़゙b -a̴᰷़゙b -a̴᰷़゙b - -à֮᳐̕b -à֮᳐̕b -à֮᳐̕b -à֮᳐̕b -à֮᳐̕b - -a֮᳐̀̕b -a֮᳐̀̕b -a֮᳐̀̕b -a֮᳐̀̕b -a֮᳐̀̕b - -à֮᳑̕b -à֮᳑̕b -à֮᳑̕b -à֮᳑̕b -à֮᳑̕b - -a֮᳑̀̕b -a֮᳑̀̕b -a֮᳑̀̕b -a֮᳑̀̕b -a֮᳑̀̕b - -à֮᳒̕b -à֮᳒̕b -à֮᳒̕b -à֮᳒̕b -à֮᳒̕b - -a֮᳒̀̕b -a֮᳒̀̕b -a֮᳒̀̕b -a֮᳒̀̕b -a֮᳒̀̕b - -a̴᳔़b -a̴᳔़b -a̴᳔़b -a̴᳔़b -a̴᳔़b - -a᳔̴़b -a᳔̴़b -a᳔̴़b -a᳔̴़b -a᳔̴़b - -a〪̖᳕֚b -a〪̖᳕֚b -a〪̖᳕֚b -a〪̖᳕֚b -a〪̖᳕֚b - -a〪᳕̖֚b -a〪᳕̖֚b -a〪᳕̖֚b -a〪᳕̖֚b -a〪᳕̖֚b - -a〪̖᳖֚b -a〪̖᳖֚b -a〪̖᳖֚b -a〪̖᳖֚b -a〪̖᳖֚b - -a〪᳖̖֚b -a〪᳖̖֚b -a〪᳖̖֚b -a〪᳖̖֚b -a〪᳖̖֚b - -a〪̖᳗֚b -a〪̖᳗֚b -a〪̖᳗֚b -a〪̖᳗֚b -a〪̖᳗֚b - -a〪᳗̖֚b -a〪᳗̖֚b -a〪᳗̖֚b -a〪᳗̖֚b -a〪᳗̖֚b - -a〪̖᳘֚b -a〪̖᳘֚b -a〪̖᳘֚b -a〪̖᳘֚b -a〪̖᳘֚b - -a〪᳘̖֚b -a〪᳘̖֚b -a〪᳘̖֚b -a〪᳘̖֚b -a〪᳘̖֚b - -a〪̖᳙֚b -a〪̖᳙֚b -a〪̖᳙֚b -a〪̖᳙֚b -a〪̖᳙֚b - -a〪᳙̖֚b -a〪᳙̖֚b -a〪᳙̖֚b -a〪᳙̖֚b -a〪᳙̖֚b - -à֮᳚̕b -à֮᳚̕b -à֮᳚̕b -à֮᳚̕b -à֮᳚̕b - -a֮᳚̀̕b -a֮᳚̀̕b -a֮᳚̀̕b -a֮᳚̀̕b -a֮᳚̀̕b - -à֮᳛̕b -à֮᳛̕b -à֮᳛̕b -à֮᳛̕b -à֮᳛̕b - -a֮᳛̀̕b -a֮᳛̀̕b -a֮᳛̀̕b -a֮᳛̀̕b -a֮᳛̀̕b - -a〪̖᳜֚b -a〪̖᳜֚b -a〪̖᳜֚b -a〪̖᳜֚b -a〪̖᳜֚b - -a〪᳜̖֚b -a〪᳜̖֚b -a〪᳜̖֚b -a〪᳜̖֚b -a〪᳜̖֚b - -a〪̖᳝֚b -a〪̖᳝֚b -a〪̖᳝֚b -a〪̖᳝֚b -a〪̖᳝֚b - -a〪᳝̖֚b -a〪᳝̖֚b -a〪᳝̖֚b -a〪᳝̖֚b -a〪᳝̖֚b - -a〪̖᳞֚b -a〪̖᳞֚b -a〪̖᳞֚b -a〪̖᳞֚b -a〪̖᳞֚b - -a〪᳞̖֚b -a〪᳞̖֚b -a〪᳞̖֚b -a〪᳞̖֚b -a〪᳞̖֚b - -a〪̖᳟֚b -a〪̖᳟֚b -a〪̖᳟֚b -a〪̖᳟֚b -a〪̖᳟֚b - -a〪᳟̖֚b -a〪᳟̖֚b -a〪᳟̖֚b -a〪᳟̖֚b -a〪᳟̖֚b - -à֮᳠̕b -à֮᳠̕b -à֮᳠̕b -à֮᳠̕b -à֮᳠̕b - -a֮᳠̀̕b -a֮᳠̀̕b -a֮᳠̀̕b -a֮᳠̀̕b -a֮᳠̀̕b - -a̴᳢़b -a̴᳢़b -a̴᳢़b -a̴᳢़b -a̴᳢़b - -a᳢̴़b -a᳢̴़b -a᳢̴़b -a᳢̴़b -a᳢̴़b - -a̴᳣़b -a̴᳣़b -a̴᳣़b -a̴᳣़b -a̴᳣़b - -a᳣̴़b -a᳣̴़b -a᳣̴़b -a᳣̴़b -a᳣̴़b - -a̴᳤़b -a̴᳤़b -a̴᳤़b -a̴᳤़b -a̴᳤़b - -a᳤̴़b -a᳤̴़b -a᳤̴़b -a᳤̴़b -a᳤̴़b - -a̴᳥़b -a̴᳥़b -a̴᳥़b -a̴᳥़b -a̴᳥़b - -a᳥̴़b -a᳥̴़b -a᳥̴़b -a᳥̴़b -a᳥̴़b - -a̴᳦़b -a̴᳦़b -a̴᳦़b -a̴᳦़b -a̴᳦़b - -a᳦̴़b -a᳦̴़b -a᳦̴़b -a᳦̴़b -a᳦̴़b - -a̴᳧़b -a̴᳧़b -a̴᳧़b -a̴᳧़b -a̴᳧़b - -a᳧̴़b -a᳧̴़b -a᳧̴़b -a᳧̴़b -a᳧̴़b - -a̴᳨़b -a̴᳨़b -a̴᳨़b -a̴᳨़b -a̴᳨़b - -a᳨̴़b -a᳨̴़b -a᳨̴़b -a᳨̴़b -a᳨̴़b - -a〪̖᳭֚b -a〪̖᳭֚b -a〪̖᳭֚b -a〪̖᳭֚b -a〪̖᳭֚b - -a〪᳭̖֚b -a〪᳭̖֚b -a〪᳭̖֚b -a〪᳭̖֚b -a〪᳭̖֚b - -à֮᳴̕b -à֮᳴̕b -à֮᳴̕b -à֮᳴̕b -à֮᳴̕b - -a֮᳴̀̕b -a֮᳴̀̕b -a֮᳴̀̕b -a֮᳴̀̕b -a֮᳴̀̕b - -à֮᳸̕b -à֮᳸̕b -à֮᳸̕b -à֮᳸̕b -à֮᳸̕b - -a֮᳸̀̕b -a֮᳸̀̕b -a֮᳸̀̕b -a֮᳸̀̕b -a֮᳸̀̕b - -à֮᳹̕b -à֮᳹̕b -à֮᳹̕b -à֮᳹̕b -à֮᳹̕b - -a֮᳹̀̕b -a֮᳹̀̕b -a֮᳹̀̕b -a֮᳹̀̕b -a֮᳹̀̕b - -à֮᷀̕b -à֮᷀̕b -à֮᷀̕b -à֮᷀̕b -à֮᷀̕b - -a֮᷀̀̕b -a֮᷀̀̕b -a֮᷀̀̕b -a֮᷀̀̕b -a֮᷀̀̕b - -à֮᷁̕b -à֮᷁̕b -à֮᷁̕b -à֮᷁̕b -à֮᷁̕b - -a֮᷁̀̕b -a֮᷁̀̕b -a֮᷁̀̕b -a֮᷁̀̕b -a֮᷁̀̕b - -a〪̖᷂֚b -a〪̖᷂֚b -a〪̖᷂֚b -a〪̖᷂֚b -a〪̖᷂֚b - -a〪᷂̖֚b -a〪᷂̖֚b -a〪᷂̖֚b -a〪᷂̖֚b -a〪᷂̖֚b - -à֮᷃̕b -à֮᷃̕b -à֮᷃̕b -à֮᷃̕b -à֮᷃̕b - -a֮᷃̀̕b -a֮᷃̀̕b -a֮᷃̀̕b -a֮᷃̀̕b -a֮᷃̀̕b - -à֮᷄̕b -à֮᷄̕b -à֮᷄̕b -à֮᷄̕b -à֮᷄̕b - -a֮᷄̀̕b -a֮᷄̀̕b -a֮᷄̀̕b -a֮᷄̀̕b -a֮᷄̀̕b - -à֮᷅̕b -à֮᷅̕b -à֮᷅̕b -à֮᷅̕b -à֮᷅̕b - -a֮᷅̀̕b -a֮᷅̀̕b -a֮᷅̀̕b -a֮᷅̀̕b -a֮᷅̀̕b - -à֮᷆̕b -à֮᷆̕b -à֮᷆̕b -à֮᷆̕b -à֮᷆̕b - -a֮᷆̀̕b -a֮᷆̀̕b -a֮᷆̀̕b -a֮᷆̀̕b -a֮᷆̀̕b - -à֮᷇̕b -à֮᷇̕b -à֮᷇̕b -à֮᷇̕b -à֮᷇̕b - -a֮᷇̀̕b -a֮᷇̀̕b -a֮᷇̀̕b -a֮᷇̀̕b -a֮᷇̀̕b - -à֮᷈̕b -à֮᷈̕b -à֮᷈̕b -à֮᷈̕b -à֮᷈̕b - -a֮᷈̀̕b -a֮᷈̀̕b -a֮᷈̀̕b -a֮᷈̀̕b -a֮᷈̀̕b - -à֮᷉̕b -à֮᷉̕b -à֮᷉̕b -à֮᷉̕b -à֮᷉̕b - -a֮᷉̀̕b -a֮᷉̀̕b -a֮᷉̀̕b -a֮᷉̀̕b -a֮᷉̀̕b - -a〪̖᷊֚b -a〪̖᷊֚b -a〪̖᷊֚b -a〪̖᷊֚b -a〪̖᷊֚b - -a〪᷊̖֚b -a〪᷊̖֚b -a〪᷊̖֚b -a〪᷊̖֚b -a〪᷊̖֚b - -à֮᷋̕b -à֮᷋̕b -à֮᷋̕b -à֮᷋̕b -à֮᷋̕b - -a֮᷋̀̕b -a֮᷋̀̕b -a֮᷋̀̕b -a֮᷋̀̕b -a֮᷋̀̕b - -à֮᷌̕b -à֮᷌̕b -à֮᷌̕b -à֮᷌̕b -à֮᷌̕b - -a֮᷌̀̕b -a֮᷌̀̕b -a֮᷌̀̕b -a֮᷌̀̕b -a֮᷌̀̕b - -a͜͝᷍ͅb -a͜͝᷍ͅb -a͜͝᷍ͅb -a͜͝᷍ͅb -a͜͝᷍ͅb - -a͜᷍͝ͅb -a͜᷍͝ͅb -a͜᷍͝ͅb -a͜᷍͝ͅb -a͜᷍͝ͅb - -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b - -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b -a̡᷎᷎̛b - -a〪̖᷏֚b -a〪̖᷏֚b -a〪̖᷏֚b -a〪̖᷏֚b -a〪̖᷏֚b - -a〪᷏̖֚b -a〪᷏̖֚b -a〪᷏̖֚b -a〪᷏̖֚b -a〪᷏̖֚b - -aུ̡᷐᷎b -aུ̡᷐᷎b -aུ̡᷐᷎b -aུ̡᷐᷎b -aུ̡᷐᷎b - -aུ᷐̡᷎b -aུ᷐̡᷎b -aུ᷐̡᷎b -aུ᷐̡᷎b -aུ᷐̡᷎b - -à֮᷑̕b -à֮᷑̕b -à֮᷑̕b -à֮᷑̕b -à֮᷑̕b - -a֮᷑̀̕b -a֮᷑̀̕b -a֮᷑̀̕b -a֮᷑̀̕b -a֮᷑̀̕b - -à֮᷒̕b -à֮᷒̕b -à֮᷒̕b -à֮᷒̕b -à֮᷒̕b - -a֮᷒̀̕b -a֮᷒̀̕b -a֮᷒̀̕b -a֮᷒̀̕b -a֮᷒̀̕b - -à֮ᷓ̕b -à֮ᷓ̕b -à֮ᷓ̕b -à֮ᷓ̕b -à֮ᷓ̕b - -a֮ᷓ̀̕b -a֮ᷓ̀̕b -a֮ᷓ̀̕b -a֮ᷓ̀̕b -a֮ᷓ̀̕b - -à֮ᷔ̕b -à֮ᷔ̕b -à֮ᷔ̕b -à֮ᷔ̕b -à֮ᷔ̕b - -a֮ᷔ̀̕b -a֮ᷔ̀̕b -a֮ᷔ̀̕b -a֮ᷔ̀̕b -a֮ᷔ̀̕b - -à֮ᷕ̕b -à֮ᷕ̕b -à֮ᷕ̕b -à֮ᷕ̕b -à֮ᷕ̕b - -a֮ᷕ̀̕b -a֮ᷕ̀̕b -a֮ᷕ̀̕b -a֮ᷕ̀̕b -a֮ᷕ̀̕b - -à֮ᷖ̕b -à֮ᷖ̕b -à֮ᷖ̕b -à֮ᷖ̕b -à֮ᷖ̕b - -a֮ᷖ̀̕b -a֮ᷖ̀̕b -a֮ᷖ̀̕b -a֮ᷖ̀̕b -a֮ᷖ̀̕b - -à֮ᷗ̕b -à֮ᷗ̕b -à֮ᷗ̕b -à֮ᷗ̕b -à֮ᷗ̕b - -a֮ᷗ̀̕b -a֮ᷗ̀̕b -a֮ᷗ̀̕b -a֮ᷗ̀̕b -a֮ᷗ̀̕b - -à֮ᷘ̕b -à֮ᷘ̕b -à֮ᷘ̕b -à֮ᷘ̕b -à֮ᷘ̕b - -a֮ᷘ̀̕b -a֮ᷘ̀̕b -a֮ᷘ̀̕b -a֮ᷘ̀̕b -a֮ᷘ̀̕b - -à֮ᷙ̕b -à֮ᷙ̕b -à֮ᷙ̕b -à֮ᷙ̕b -à֮ᷙ̕b - -a֮ᷙ̀̕b -a֮ᷙ̀̕b -a֮ᷙ̀̕b -a֮ᷙ̀̕b -a֮ᷙ̀̕b - -à֮ᷚ̕b -à֮ᷚ̕b -à֮ᷚ̕b -à֮ᷚ̕b -à֮ᷚ̕b - -a֮ᷚ̀̕b -a֮ᷚ̀̕b -a֮ᷚ̀̕b -a֮ᷚ̀̕b -a֮ᷚ̀̕b - -à֮ᷛ̕b -à֮ᷛ̕b -à֮ᷛ̕b -à֮ᷛ̕b -à֮ᷛ̕b - -a֮ᷛ̀̕b -a֮ᷛ̀̕b -a֮ᷛ̀̕b -a֮ᷛ̀̕b -a֮ᷛ̀̕b - -à֮ᷜ̕b -à֮ᷜ̕b -à֮ᷜ̕b -à֮ᷜ̕b -à֮ᷜ̕b - -a֮ᷜ̀̕b -a֮ᷜ̀̕b -a֮ᷜ̀̕b -a֮ᷜ̀̕b -a֮ᷜ̀̕b - -à֮ᷝ̕b -à֮ᷝ̕b -à֮ᷝ̕b -à֮ᷝ̕b -à֮ᷝ̕b - -a֮ᷝ̀̕b -a֮ᷝ̀̕b -a֮ᷝ̀̕b -a֮ᷝ̀̕b -a֮ᷝ̀̕b - -à֮ᷞ̕b -à֮ᷞ̕b -à֮ᷞ̕b -à֮ᷞ̕b -à֮ᷞ̕b - -a֮ᷞ̀̕b -a֮ᷞ̀̕b -a֮ᷞ̀̕b -a֮ᷞ̀̕b -a֮ᷞ̀̕b - -à֮ᷟ̕b -à֮ᷟ̕b -à֮ᷟ̕b -à֮ᷟ̕b -à֮ᷟ̕b - -a֮ᷟ̀̕b -a֮ᷟ̀̕b -a֮ᷟ̀̕b -a֮ᷟ̀̕b -a֮ᷟ̀̕b - -à֮ᷠ̕b -à֮ᷠ̕b -à֮ᷠ̕b -à֮ᷠ̕b -à֮ᷠ̕b - -a֮ᷠ̀̕b -a֮ᷠ̀̕b -a֮ᷠ̀̕b -a֮ᷠ̀̕b -a֮ᷠ̀̕b - -à֮ᷡ̕b -à֮ᷡ̕b -à֮ᷡ̕b -à֮ᷡ̕b -à֮ᷡ̕b - -a֮ᷡ̀̕b -a֮ᷡ̀̕b -a֮ᷡ̀̕b -a֮ᷡ̀̕b -a֮ᷡ̀̕b - -à֮ᷢ̕b -à֮ᷢ̕b -à֮ᷢ̕b -à֮ᷢ̕b -à֮ᷢ̕b - -a֮ᷢ̀̕b -a֮ᷢ̀̕b -a֮ᷢ̀̕b -a֮ᷢ̀̕b -a֮ᷢ̀̕b - -à֮ᷣ̕b -à֮ᷣ̕b -à֮ᷣ̕b -à֮ᷣ̕b -à֮ᷣ̕b - -a֮ᷣ̀̕b -a֮ᷣ̀̕b -a֮ᷣ̀̕b -a֮ᷣ̀̕b -a֮ᷣ̀̕b - -à֮ᷤ̕b -à֮ᷤ̕b -à֮ᷤ̕b -à֮ᷤ̕b -à֮ᷤ̕b - -a֮ᷤ̀̕b -a֮ᷤ̀̕b -a֮ᷤ̀̕b -a֮ᷤ̀̕b -a֮ᷤ̀̕b - -à֮ᷥ̕b -à֮ᷥ̕b -à֮ᷥ̕b -à֮ᷥ̕b -à֮ᷥ̕b - -a֮ᷥ̀̕b -a֮ᷥ̀̕b -a֮ᷥ̀̕b -a֮ᷥ̀̕b -a֮ᷥ̀̕b - -à֮ᷦ̕b -à֮ᷦ̕b -à֮ᷦ̕b -à֮ᷦ̕b -à֮ᷦ̕b - -a֮ᷦ̀̕b -a֮ᷦ̀̕b -a֮ᷦ̀̕b -a֮ᷦ̀̕b -a֮ᷦ̀̕b - -à֮ᷧ̕b -à֮ᷧ̕b -à֮ᷧ̕b -à֮ᷧ̕b -à֮ᷧ̕b - -a֮ᷧ̀̕b -a֮ᷧ̀̕b -a֮ᷧ̀̕b -a֮ᷧ̀̕b -a֮ᷧ̀̕b - -à֮ᷨ̕b -à֮ᷨ̕b -à֮ᷨ̕b -à֮ᷨ̕b -à֮ᷨ̕b - -a֮ᷨ̀̕b -a֮ᷨ̀̕b -a֮ᷨ̀̕b -a֮ᷨ̀̕b -a֮ᷨ̀̕b - -à֮ᷩ̕b -à֮ᷩ̕b -à֮ᷩ̕b -à֮ᷩ̕b -à֮ᷩ̕b - -a֮ᷩ̀̕b -a֮ᷩ̀̕b -a֮ᷩ̀̕b -a֮ᷩ̀̕b -a֮ᷩ̀̕b - -à֮ᷪ̕b -à֮ᷪ̕b -à֮ᷪ̕b -à֮ᷪ̕b -à֮ᷪ̕b - -a֮ᷪ̀̕b -a֮ᷪ̀̕b -a֮ᷪ̀̕b -a֮ᷪ̀̕b -a֮ᷪ̀̕b - -à֮ᷫ̕b -à֮ᷫ̕b -à֮ᷫ̕b -à֮ᷫ̕b -à֮ᷫ̕b - -a֮ᷫ̀̕b -a֮ᷫ̀̕b -a֮ᷫ̀̕b -a֮ᷫ̀̕b -a֮ᷫ̀̕b - -à֮ᷬ̕b -à֮ᷬ̕b -à֮ᷬ̕b -à֮ᷬ̕b -à֮ᷬ̕b - -a֮ᷬ̀̕b -a֮ᷬ̀̕b -a֮ᷬ̀̕b -a֮ᷬ̀̕b -a֮ᷬ̀̕b - -à֮ᷭ̕b -à֮ᷭ̕b -à֮ᷭ̕b -à֮ᷭ̕b -à֮ᷭ̕b - -a֮ᷭ̀̕b -a֮ᷭ̀̕b -a֮ᷭ̀̕b -a֮ᷭ̀̕b -a֮ᷭ̀̕b - -à֮ᷮ̕b -à֮ᷮ̕b -à֮ᷮ̕b -à֮ᷮ̕b -à֮ᷮ̕b - -a֮ᷮ̀̕b -a֮ᷮ̀̕b -a֮ᷮ̀̕b -a֮ᷮ̀̕b -a֮ᷮ̀̕b - -à֮ᷯ̕b -à֮ᷯ̕b -à֮ᷯ̕b -à֮ᷯ̕b -à֮ᷯ̕b - -a֮ᷯ̀̕b -a֮ᷯ̀̕b -a֮ᷯ̀̕b -a֮ᷯ̀̕b -a֮ᷯ̀̕b - -à֮ᷰ̕b -à֮ᷰ̕b -à֮ᷰ̕b -à֮ᷰ̕b -à֮ᷰ̕b - -a֮ᷰ̀̕b -a֮ᷰ̀̕b -a֮ᷰ̀̕b -a֮ᷰ̀̕b -a֮ᷰ̀̕b - -à֮ᷱ̕b -à֮ᷱ̕b -à֮ᷱ̕b -à֮ᷱ̕b -à֮ᷱ̕b - -a֮ᷱ̀̕b -a֮ᷱ̀̕b -a֮ᷱ̀̕b -a֮ᷱ̀̕b -a֮ᷱ̀̕b - -à֮ᷲ̕b -à֮ᷲ̕b -à֮ᷲ̕b -à֮ᷲ̕b -à֮ᷲ̕b - -a֮ᷲ̀̕b -a֮ᷲ̀̕b -a֮ᷲ̀̕b -a֮ᷲ̀̕b -a֮ᷲ̀̕b - -à֮ᷳ̕b -à֮ᷳ̕b -à֮ᷳ̕b -à֮ᷳ̕b -à֮ᷳ̕b - -a֮ᷳ̀̕b -a֮ᷳ̀̕b -a֮ᷳ̀̕b -a֮ᷳ̀̕b -a֮ᷳ̀̕b - -à֮ᷴ̕b -à֮ᷴ̕b -à֮ᷴ̕b -à֮ᷴ̕b -à֮ᷴ̕b - -a֮ᷴ̀̕b -a֮ᷴ̀̕b -a֮ᷴ̀̕b -a֮ᷴ̀̕b -a֮ᷴ̀̕b - -à֮᷵̕b -à֮᷵̕b -à֮᷵̕b -à֮᷵̕b -à֮᷵̕b - -a֮᷵̀̕b -a֮᷵̀̕b -a֮᷵̀̕b -a֮᷵̀̕b -a֮᷵̀̕b - -à֮᷻̕b -à֮᷻̕b -à֮᷻̕b -à֮᷻̕b -à֮᷻̕b - -a֮᷻̀̕b -a֮᷻̀̕b -a֮᷻̀̕b -a֮᷻̀̕b -a֮᷻̀̕b - -a̕͜᷼͝b -a̕͜᷼͝b -a̕͜᷼͝b -a̕͜᷼͝b -a̕͜᷼͝b - -a̕᷼͜͝b -a̕᷼͜͝b -a̕᷼͜͝b -a̕᷼͜͝b -a̕᷼͜͝b - -a〪̖᷽֚b -a〪̖᷽֚b -a〪̖᷽֚b -a〪̖᷽֚b -a〪̖᷽֚b - -a〪᷽̖֚b -a〪᷽̖֚b -a〪᷽̖֚b -a〪᷽̖֚b -a〪᷽̖֚b - -à֮᷾̕b -à֮᷾̕b -à֮᷾̕b -à֮᷾̕b -à֮᷾̕b - -a֮᷾̀̕b -a֮᷾̀̕b -a֮᷾̀̕b -a֮᷾̀̕b -a֮᷾̀̕b - -a〪̖᷿֚b -a〪̖᷿֚b -a〪̖᷿֚b -a〪̖᷿֚b -a〪̖᷿֚b - -a〪᷿̖֚b -a〪᷿̖֚b -a〪᷿̖֚b -a〪᷿̖֚b -a〪᷿̖֚b - -à֮⃐̕b -à֮⃐̕b -à֮⃐̕b -à֮⃐̕b -à֮⃐̕b - -a֮⃐̀̕b -a֮⃐̀̕b -a֮⃐̀̕b -a֮⃐̀̕b -a֮⃐̀̕b - -à֮⃑̕b -à֮⃑̕b -à֮⃑̕b -à֮⃑̕b -à֮⃑̕b - -a֮⃑̀̕b -a֮⃑̀̕b -a֮⃑̀̕b -a֮⃑̀̕b -a֮⃑̀̕b - -a̴⃒़b -a̴⃒़b -a̴⃒़b -a̴⃒़b -a̴⃒़b - -a⃒̴़b -a⃒̴़b -a⃒̴़b -a⃒̴़b -a⃒̴़b - -a̴⃓़b -a̴⃓़b -a̴⃓़b -a̴⃓़b -a̴⃓़b - -a⃓̴़b -a⃓̴़b -a⃓̴़b -a⃓̴़b -a⃓̴़b - -à֮⃔̕b -à֮⃔̕b -à֮⃔̕b -à֮⃔̕b -à֮⃔̕b - -a֮⃔̀̕b -a֮⃔̀̕b -a֮⃔̀̕b -a֮⃔̀̕b -a֮⃔̀̕b - -à֮⃕̕b -à֮⃕̕b -à֮⃕̕b -à֮⃕̕b -à֮⃕̕b - -a֮⃕̀̕b -a֮⃕̀̕b -a֮⃕̀̕b -a֮⃕̀̕b -a֮⃕̀̕b - -à֮⃖̕b -à֮⃖̕b -à֮⃖̕b -à֮⃖̕b -à֮⃖̕b - -a֮⃖̀̕b -a֮⃖̀̕b -a֮⃖̀̕b -a֮⃖̀̕b -a֮⃖̀̕b - -à֮⃗̕b -à֮⃗̕b -à֮⃗̕b -à֮⃗̕b -à֮⃗̕b - -a֮⃗̀̕b -a֮⃗̀̕b -a֮⃗̀̕b -a֮⃗̀̕b -a֮⃗̀̕b - -a̴⃘़b -a̴⃘़b -a̴⃘़b -a̴⃘़b -a̴⃘़b - -a⃘̴़b -a⃘̴़b -a⃘̴़b -a⃘̴़b -a⃘̴़b - -a̴⃙़b -a̴⃙़b -a̴⃙़b -a̴⃙़b -a̴⃙़b - -a⃙̴़b -a⃙̴़b -a⃙̴़b -a⃙̴़b -a⃙̴़b - -a̴⃚़b -a̴⃚़b -a̴⃚़b -a̴⃚़b -a̴⃚़b - -a⃚̴़b -a⃚̴़b -a⃚̴़b -a⃚̴़b -a⃚̴़b - -à֮⃛̕b -à֮⃛̕b -à֮⃛̕b -à֮⃛̕b -à֮⃛̕b - -a֮⃛̀̕b -a֮⃛̀̕b -a֮⃛̀̕b -a֮⃛̀̕b -a֮⃛̀̕b - -à֮⃜̕b -à֮⃜̕b -à֮⃜̕b -à֮⃜̕b -à֮⃜̕b - -a֮⃜̀̕b -a֮⃜̀̕b -a֮⃜̀̕b -a֮⃜̀̕b -a֮⃜̀̕b - -à֮⃡̕b -à֮⃡̕b -à֮⃡̕b -à֮⃡̕b -à֮⃡̕b - -a֮⃡̀̕b -a֮⃡̀̕b -a֮⃡̀̕b -a֮⃡̀̕b -a֮⃡̀̕b - -a̴⃥़b -a̴⃥़b -a̴⃥़b -a̴⃥़b -a̴⃥़b - -a⃥̴़b -a⃥̴़b -a⃥̴़b -a⃥̴़b -a⃥̴़b - -a̴⃦़b -a̴⃦़b -a̴⃦़b -a̴⃦़b -a̴⃦़b - -a⃦̴़b -a⃦̴़b -a⃦̴़b -a⃦̴़b -a⃦̴़b - -à֮⃧̕b -à֮⃧̕b -à֮⃧̕b -à֮⃧̕b -à֮⃧̕b - -a֮⃧̀̕b -a֮⃧̀̕b -a֮⃧̀̕b -a֮⃧̀̕b -a֮⃧̀̕b - -a〪̖⃨֚b -a〪̖⃨֚b -a〪̖⃨֚b -a〪̖⃨֚b -a〪̖⃨֚b - -a〪⃨̖֚b -a〪⃨̖֚b -a〪⃨̖֚b -a〪⃨̖֚b -a〪⃨̖֚b - -à֮⃩̕b -à֮⃩̕b -à֮⃩̕b -à֮⃩̕b -à֮⃩̕b - -a֮⃩̀̕b -a֮⃩̀̕b -a֮⃩̀̕b -a֮⃩̀̕b -a֮⃩̀̕b - -a̴⃪़b -a̴⃪़b -a̴⃪़b -a̴⃪़b -a̴⃪़b - -a⃪̴़b -a⃪̴़b -a⃪̴़b -a⃪̴़b -a⃪̴़b - -a̴⃫़b -a̴⃫़b -a̴⃫़b -a̴⃫़b -a̴⃫़b - -a⃫̴़b -a⃫̴़b -a⃫̴़b -a⃫̴़b -a⃫̴़b - -a〪̖⃬֚b -a〪̖⃬֚b -a〪̖⃬֚b -a〪̖⃬֚b -a〪̖⃬֚b - -a〪⃬̖֚b -a〪⃬̖֚b -a〪⃬̖֚b -a〪⃬̖֚b -a〪⃬̖֚b - -a〪̖⃭֚b -a〪̖⃭֚b -a〪̖⃭֚b -a〪̖⃭֚b -a〪̖⃭֚b - -a〪⃭̖֚b -a〪⃭̖֚b -a〪⃭̖֚b -a〪⃭̖֚b -a〪⃭̖֚b - -a〪̖⃮֚b -a〪̖⃮֚b -a〪̖⃮֚b -a〪̖⃮֚b -a〪̖⃮֚b - -a〪⃮̖֚b -a〪⃮̖֚b -a〪⃮̖֚b -a〪⃮̖֚b -a〪⃮̖֚b - -a〪̖⃯֚b -a〪̖⃯֚b -a〪̖⃯֚b -a〪̖⃯֚b -a〪̖⃯֚b - -a〪⃯̖֚b -a〪⃯̖֚b -a〪⃯̖֚b -a〪⃯̖֚b -a〪⃯̖֚b - -à֮⃰̕b -à֮⃰̕b -à֮⃰̕b -à֮⃰̕b -à֮⃰̕b - -a֮⃰̀̕b -a֮⃰̀̕b -a֮⃰̀̕b -a֮⃰̀̕b -a֮⃰̀̕b - -à֮⳯̕b -à֮⳯̕b -à֮⳯̕b -à֮⳯̕b -à֮⳯̕b - -a֮⳯̀̕b -a֮⳯̀̕b -a֮⳯̀̕b -a֮⳯̀̕b -a֮⳯̀̕b - -à֮⳰̕b -à֮⳰̕b -à֮⳰̕b -à֮⳰̕b -à֮⳰̕b - -a֮⳰̀̕b -a֮⳰̀̕b -a֮⳰̀̕b -a֮⳰̀̕b -a֮⳰̀̕b - -à֮⳱̕b -à֮⳱̕b -à֮⳱̕b -à֮⳱̕b -à֮⳱̕b - -a֮⳱̀̕b -a֮⳱̀̕b -a֮⳱̀̕b -a֮⳱̀̕b -a֮⳱̀̕b - -a゙्⵿ְb -a゙्⵿ְb -a゙्⵿ְb -a゙्⵿ְb -a゙्⵿ְb - -a゙⵿्ְb -a゙⵿्ְb -a゙⵿्ְb -a゙⵿्ְb -a゙⵿्ְb - -à֮ⷠ̕b -à֮ⷠ̕b -à֮ⷠ̕b -à֮ⷠ̕b -à֮ⷠ̕b - -a֮ⷠ̀̕b -a֮ⷠ̀̕b -a֮ⷠ̀̕b -a֮ⷠ̀̕b -a֮ⷠ̀̕b - -à֮ⷡ̕b -à֮ⷡ̕b -à֮ⷡ̕b -à֮ⷡ̕b -à֮ⷡ̕b - -a֮ⷡ̀̕b -a֮ⷡ̀̕b -a֮ⷡ̀̕b -a֮ⷡ̀̕b -a֮ⷡ̀̕b - -à֮ⷢ̕b -à֮ⷢ̕b -à֮ⷢ̕b -à֮ⷢ̕b -à֮ⷢ̕b - -a֮ⷢ̀̕b -a֮ⷢ̀̕b -a֮ⷢ̀̕b -a֮ⷢ̀̕b -a֮ⷢ̀̕b - -à֮ⷣ̕b -à֮ⷣ̕b -à֮ⷣ̕b -à֮ⷣ̕b -à֮ⷣ̕b - -a֮ⷣ̀̕b -a֮ⷣ̀̕b -a֮ⷣ̀̕b -a֮ⷣ̀̕b -a֮ⷣ̀̕b - -à֮ⷤ̕b -à֮ⷤ̕b -à֮ⷤ̕b -à֮ⷤ̕b -à֮ⷤ̕b - -a֮ⷤ̀̕b -a֮ⷤ̀̕b -a֮ⷤ̀̕b -a֮ⷤ̀̕b -a֮ⷤ̀̕b - -à֮ⷥ̕b -à֮ⷥ̕b -à֮ⷥ̕b -à֮ⷥ̕b -à֮ⷥ̕b - -a֮ⷥ̀̕b -a֮ⷥ̀̕b -a֮ⷥ̀̕b -a֮ⷥ̀̕b -a֮ⷥ̀̕b - -à֮ⷦ̕b -à֮ⷦ̕b -à֮ⷦ̕b -à֮ⷦ̕b -à֮ⷦ̕b - -a֮ⷦ̀̕b -a֮ⷦ̀̕b -a֮ⷦ̀̕b -a֮ⷦ̀̕b -a֮ⷦ̀̕b - -à֮ⷧ̕b -à֮ⷧ̕b -à֮ⷧ̕b -à֮ⷧ̕b -à֮ⷧ̕b - -a֮ⷧ̀̕b -a֮ⷧ̀̕b -a֮ⷧ̀̕b -a֮ⷧ̀̕b -a֮ⷧ̀̕b - -à֮ⷨ̕b -à֮ⷨ̕b -à֮ⷨ̕b -à֮ⷨ̕b -à֮ⷨ̕b - -a֮ⷨ̀̕b -a֮ⷨ̀̕b -a֮ⷨ̀̕b -a֮ⷨ̀̕b -a֮ⷨ̀̕b - -à֮ⷩ̕b -à֮ⷩ̕b -à֮ⷩ̕b -à֮ⷩ̕b -à֮ⷩ̕b - -a֮ⷩ̀̕b -a֮ⷩ̀̕b -a֮ⷩ̀̕b -a֮ⷩ̀̕b -a֮ⷩ̀̕b - -à֮ⷪ̕b -à֮ⷪ̕b -à֮ⷪ̕b -à֮ⷪ̕b -à֮ⷪ̕b - -a֮ⷪ̀̕b -a֮ⷪ̀̕b -a֮ⷪ̀̕b -a֮ⷪ̀̕b -a֮ⷪ̀̕b - -à֮ⷫ̕b -à֮ⷫ̕b -à֮ⷫ̕b -à֮ⷫ̕b -à֮ⷫ̕b - -a֮ⷫ̀̕b -a֮ⷫ̀̕b -a֮ⷫ̀̕b -a֮ⷫ̀̕b -a֮ⷫ̀̕b - -à֮ⷬ̕b -à֮ⷬ̕b -à֮ⷬ̕b -à֮ⷬ̕b -à֮ⷬ̕b - -a֮ⷬ̀̕b -a֮ⷬ̀̕b -a֮ⷬ̀̕b -a֮ⷬ̀̕b -a֮ⷬ̀̕b - -à֮ⷭ̕b -à֮ⷭ̕b -à֮ⷭ̕b -à֮ⷭ̕b -à֮ⷭ̕b - -a֮ⷭ̀̕b -a֮ⷭ̀̕b -a֮ⷭ̀̕b -a֮ⷭ̀̕b -a֮ⷭ̀̕b - -à֮ⷮ̕b -à֮ⷮ̕b -à֮ⷮ̕b -à֮ⷮ̕b -à֮ⷮ̕b - -a֮ⷮ̀̕b -a֮ⷮ̀̕b -a֮ⷮ̀̕b -a֮ⷮ̀̕b -a֮ⷮ̀̕b - -à֮ⷯ̕b -à֮ⷯ̕b -à֮ⷯ̕b -à֮ⷯ̕b -à֮ⷯ̕b - -a֮ⷯ̀̕b -a֮ⷯ̀̕b -a֮ⷯ̀̕b -a֮ⷯ̀̕b -a֮ⷯ̀̕b - -à֮ⷰ̕b -à֮ⷰ̕b -à֮ⷰ̕b -à֮ⷰ̕b -à֮ⷰ̕b - -a֮ⷰ̀̕b -a֮ⷰ̀̕b -a֮ⷰ̀̕b -a֮ⷰ̀̕b -a֮ⷰ̀̕b - -à֮ⷱ̕b -à֮ⷱ̕b -à֮ⷱ̕b -à֮ⷱ̕b -à֮ⷱ̕b - -a֮ⷱ̀̕b -a֮ⷱ̀̕b -a֮ⷱ̀̕b -a֮ⷱ̀̕b -a֮ⷱ̀̕b - -à֮ⷲ̕b -à֮ⷲ̕b -à֮ⷲ̕b -à֮ⷲ̕b -à֮ⷲ̕b - -a֮ⷲ̀̕b -a֮ⷲ̀̕b -a֮ⷲ̀̕b -a֮ⷲ̀̕b -a֮ⷲ̀̕b - -à֮ⷳ̕b -à֮ⷳ̕b -à֮ⷳ̕b -à֮ⷳ̕b -à֮ⷳ̕b - -a֮ⷳ̀̕b -a֮ⷳ̀̕b -a֮ⷳ̀̕b -a֮ⷳ̀̕b -a֮ⷳ̀̕b - -à֮ⷴ̕b -à֮ⷴ̕b -à֮ⷴ̕b -à֮ⷴ̕b -à֮ⷴ̕b - -a֮ⷴ̀̕b -a֮ⷴ̀̕b -a֮ⷴ̀̕b -a֮ⷴ̀̕b -a֮ⷴ̀̕b - -à֮ⷵ̕b -à֮ⷵ̕b -à֮ⷵ̕b -à֮ⷵ̕b -à֮ⷵ̕b - -a֮ⷵ̀̕b -a֮ⷵ̀̕b -a֮ⷵ̀̕b -a֮ⷵ̀̕b -a֮ⷵ̀̕b - -à֮ⷶ̕b -à֮ⷶ̕b -à֮ⷶ̕b -à֮ⷶ̕b -à֮ⷶ̕b - -a֮ⷶ̀̕b -a֮ⷶ̀̕b -a֮ⷶ̀̕b -a֮ⷶ̀̕b -a֮ⷶ̀̕b - -à֮ⷷ̕b -à֮ⷷ̕b -à֮ⷷ̕b -à֮ⷷ̕b -à֮ⷷ̕b - -a֮ⷷ̀̕b -a֮ⷷ̀̕b -a֮ⷷ̀̕b -a֮ⷷ̀̕b -a֮ⷷ̀̕b - -à֮ⷸ̕b -à֮ⷸ̕b -à֮ⷸ̕b -à֮ⷸ̕b -à֮ⷸ̕b - -a֮ⷸ̀̕b -a֮ⷸ̀̕b -a֮ⷸ̀̕b -a֮ⷸ̀̕b -a֮ⷸ̀̕b - -à֮ⷹ̕b -à֮ⷹ̕b -à֮ⷹ̕b -à֮ⷹ̕b -à֮ⷹ̕b - -a֮ⷹ̀̕b -a֮ⷹ̀̕b -a֮ⷹ̀̕b -a֮ⷹ̀̕b -a֮ⷹ̀̕b - -à֮ⷺ̕b -à֮ⷺ̕b -à֮ⷺ̕b -à֮ⷺ̕b -à֮ⷺ̕b - -a֮ⷺ̀̕b -a֮ⷺ̀̕b -a֮ⷺ̀̕b -a֮ⷺ̀̕b -a֮ⷺ̀̕b - -à֮ⷻ̕b -à֮ⷻ̕b -à֮ⷻ̕b -à֮ⷻ̕b -à֮ⷻ̕b - -a֮ⷻ̀̕b -a֮ⷻ̀̕b -a֮ⷻ̀̕b -a֮ⷻ̀̕b -a֮ⷻ̀̕b - -à֮ⷼ̕b -à֮ⷼ̕b -à֮ⷼ̕b -à֮ⷼ̕b -à֮ⷼ̕b - -a֮ⷼ̀̕b -a֮ⷼ̀̕b -a֮ⷼ̀̕b -a֮ⷼ̀̕b -a֮ⷼ̀̕b - -à֮ⷽ̕b -à֮ⷽ̕b -à֮ⷽ̕b -à֮ⷽ̕b -à֮ⷽ̕b - -a֮ⷽ̀̕b -a֮ⷽ̀̕b -a֮ⷽ̀̕b -a֮ⷽ̀̕b -a֮ⷽ̀̕b - -à֮ⷾ̕b -à֮ⷾ̕b -à֮ⷾ̕b -à֮ⷾ̕b -à֮ⷾ̕b - -a֮ⷾ̀̕b -a֮ⷾ̀̕b -a֮ⷾ̀̕b -a֮ⷾ̀̕b -a֮ⷾ̀̕b - -à֮ⷿ̕b -à֮ⷿ̕b -à֮ⷿ̕b -à֮ⷿ̕b -à֮ⷿ̕b - -a֮ⷿ̀̕b -a֮ⷿ̀̕b -a֮ⷿ̀̕b -a֮ⷿ̀̕b -a֮ⷿ̀̕b - -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b - -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b -a̛〪〪̖b - -à𝅭֮〫b -à𝅭֮〫b -à𝅭֮〫b -à𝅭֮〫b -à𝅭֮〫b - -à𝅭〫֮b -à𝅭〫֮b -à𝅭〫֮b -à𝅭〫֮b -à𝅭〫֮b - -à̕〬͜b -à̕〬͜b -à̕〬͜b -à̕〬͜b -à̕〬͜b - -à〬̕͜b -à〬̕͜b -à〬̕͜b -à〬̕͜b -à〬̕͜b - -a̖֚〭〮b -a̖֚〭〮b -a̖֚〭〮b -a̖֚〭〮b -a̖֚〭〮b - -a̖〭֚〮b -a̖〭֚〮b -a̖〭֚〮b -a̖〭֚〮b -a̖〭֚〮b - -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b - -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b -a֚〮〮𝅭b - -a֚〮〯𝅭b -a֚〮〯𝅭b -a֚〮〯𝅭b -a֚〮〯𝅭b -a֚〮〯𝅭b - -a֚〯〮𝅭b -a֚〯〮𝅭b -a֚〯〮𝅭b -a֚〯〮𝅭b -a֚〯〮𝅭b - -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b - -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b -a़゙゙्b - -a़゙゚्b -a़゙゚्b -a़゙゚्b -a़゙゚्b -a़゙゚्b - -a़゚゙्b -a़゚゙्b -a़゚゙्b -a़゚゙्b -a़゚゙्b - -à֮꙯̕b -à֮꙯̕b -à֮꙯̕b -à֮꙯̕b -à֮꙯̕b - -a֮꙯̀̕b -a֮꙯̀̕b -a֮꙯̀̕b -a֮꙯̀̕b -a֮꙯̀̕b - -à֮ꙴ̕b -à֮ꙴ̕b -à֮ꙴ̕b -à֮ꙴ̕b -à֮ꙴ̕b - -a֮ꙴ̀̕b -a֮ꙴ̀̕b -a֮ꙴ̀̕b -a֮ꙴ̀̕b -a֮ꙴ̀̕b - -à֮ꙵ̕b -à֮ꙵ̕b -à֮ꙵ̕b -à֮ꙵ̕b -à֮ꙵ̕b - -a֮ꙵ̀̕b -a֮ꙵ̀̕b -a֮ꙵ̀̕b -a֮ꙵ̀̕b -a֮ꙵ̀̕b - -à֮ꙶ̕b -à֮ꙶ̕b -à֮ꙶ̕b -à֮ꙶ̕b -à֮ꙶ̕b - -a֮ꙶ̀̕b -a֮ꙶ̀̕b -a֮ꙶ̀̕b -a֮ꙶ̀̕b -a֮ꙶ̀̕b - -à֮ꙷ̕b -à֮ꙷ̕b -à֮ꙷ̕b -à֮ꙷ̕b -à֮ꙷ̕b - -a֮ꙷ̀̕b -a֮ꙷ̀̕b -a֮ꙷ̀̕b -a֮ꙷ̀̕b -a֮ꙷ̀̕b - -à֮ꙸ̕b -à֮ꙸ̕b -à֮ꙸ̕b -à֮ꙸ̕b -à֮ꙸ̕b - -a֮ꙸ̀̕b -a֮ꙸ̀̕b -a֮ꙸ̀̕b -a֮ꙸ̀̕b -a֮ꙸ̀̕b - -à֮ꙹ̕b -à֮ꙹ̕b -à֮ꙹ̕b -à֮ꙹ̕b -à֮ꙹ̕b - -a֮ꙹ̀̕b -a֮ꙹ̀̕b -a֮ꙹ̀̕b -a֮ꙹ̀̕b -a֮ꙹ̀̕b - -à֮ꙺ̕b -à֮ꙺ̕b -à֮ꙺ̕b -à֮ꙺ̕b -à֮ꙺ̕b - -a֮ꙺ̀̕b -a֮ꙺ̀̕b -a֮ꙺ̀̕b -a֮ꙺ̀̕b -a֮ꙺ̀̕b - -à֮ꙻ̕b -à֮ꙻ̕b -à֮ꙻ̕b -à֮ꙻ̕b -à֮ꙻ̕b - -a֮ꙻ̀̕b -a֮ꙻ̀̕b -a֮ꙻ̀̕b -a֮ꙻ̀̕b -a֮ꙻ̀̕b - -à֮꙼̕b -à֮꙼̕b -à֮꙼̕b -à֮꙼̕b -à֮꙼̕b - -a֮꙼̀̕b -a֮꙼̀̕b -a֮꙼̀̕b -a֮꙼̀̕b -a֮꙼̀̕b - -à֮꙽̕b -à֮꙽̕b -à֮꙽̕b -à֮꙽̕b -à֮꙽̕b - -a֮꙽̀̕b -a֮꙽̀̕b -a֮꙽̀̕b -a֮꙽̀̕b -a֮꙽̀̕b - -à֮ꚞ̕b -à֮ꚞ̕b -à֮ꚞ̕b -à֮ꚞ̕b -à֮ꚞ̕b - -a֮ꚞ̀̕b -a֮ꚞ̀̕b -a֮ꚞ̀̕b -a֮ꚞ̀̕b -a֮ꚞ̀̕b - -à֮ꚟ̕b -à֮ꚟ̕b -à֮ꚟ̕b -à֮ꚟ̕b -à֮ꚟ̕b - -a֮ꚟ̀̕b -a֮ꚟ̀̕b -a֮ꚟ̀̕b -a֮ꚟ̀̕b -a֮ꚟ̀̕b - -à֮꛰̕b -à֮꛰̕b -à֮꛰̕b -à֮꛰̕b -à֮꛰̕b - -a֮꛰̀̕b -a֮꛰̀̕b -a֮꛰̀̕b -a֮꛰̀̕b -a֮꛰̀̕b - -à֮꛱̕b -à֮꛱̕b -à֮꛱̕b -à֮꛱̕b -à֮꛱̕b - -a֮꛱̀̕b -a֮꛱̀̕b -a֮꛱̀̕b -a֮꛱̀̕b -a֮꛱̀̕b - -a゙्꠆ְb -a゙्꠆ְb -a゙्꠆ְb -a゙्꠆ְb -a゙्꠆ְb - -a゙꠆्ְb -a゙꠆्ְb -a゙꠆्ְb -a゙꠆्ְb -a゙꠆्ְb - -a゙्꣄ְb -a゙्꣄ְb -a゙्꣄ְb -a゙्꣄ְb -a゙्꣄ְb - -a゙꣄्ְb -a゙꣄्ְb -a゙꣄्ְb -a゙꣄्ְb -a゙꣄्ְb - -à֮꣠̕b -à֮꣠̕b -à֮꣠̕b -à֮꣠̕b -à֮꣠̕b - -a֮꣠̀̕b -a֮꣠̀̕b -a֮꣠̀̕b -a֮꣠̀̕b -a֮꣠̀̕b - -à֮꣡̕b -à֮꣡̕b -à֮꣡̕b -à֮꣡̕b -à֮꣡̕b - -a֮꣡̀̕b -a֮꣡̀̕b -a֮꣡̀̕b -a֮꣡̀̕b -a֮꣡̀̕b - -à֮꣢̕b -à֮꣢̕b -à֮꣢̕b -à֮꣢̕b -à֮꣢̕b - -a֮꣢̀̕b -a֮꣢̀̕b -a֮꣢̀̕b -a֮꣢̀̕b -a֮꣢̀̕b - -à֮꣣̕b -à֮꣣̕b -à֮꣣̕b -à֮꣣̕b -à֮꣣̕b - -a֮꣣̀̕b -a֮꣣̀̕b -a֮꣣̀̕b -a֮꣣̀̕b -a֮꣣̀̕b - -à֮꣤̕b -à֮꣤̕b -à֮꣤̕b -à֮꣤̕b -à֮꣤̕b - -a֮꣤̀̕b -a֮꣤̀̕b -a֮꣤̀̕b -a֮꣤̀̕b -a֮꣤̀̕b - -à֮꣥̕b -à֮꣥̕b -à֮꣥̕b -à֮꣥̕b -à֮꣥̕b - -a֮꣥̀̕b -a֮꣥̀̕b -a֮꣥̀̕b -a֮꣥̀̕b -a֮꣥̀̕b - -à֮꣦̕b -à֮꣦̕b -à֮꣦̕b -à֮꣦̕b -à֮꣦̕b - -a֮꣦̀̕b -a֮꣦̀̕b -a֮꣦̀̕b -a֮꣦̀̕b -a֮꣦̀̕b - -à֮꣧̕b -à֮꣧̕b -à֮꣧̕b -à֮꣧̕b -à֮꣧̕b - -a֮꣧̀̕b -a֮꣧̀̕b -a֮꣧̀̕b -a֮꣧̀̕b -a֮꣧̀̕b - -à֮꣨̕b -à֮꣨̕b -à֮꣨̕b -à֮꣨̕b -à֮꣨̕b - -a֮꣨̀̕b -a֮꣨̀̕b -a֮꣨̀̕b -a֮꣨̀̕b -a֮꣨̀̕b - -à֮꣩̕b -à֮꣩̕b -à֮꣩̕b -à֮꣩̕b -à֮꣩̕b - -a֮꣩̀̕b -a֮꣩̀̕b -a֮꣩̀̕b -a֮꣩̀̕b -a֮꣩̀̕b - -à֮꣪̕b -à֮꣪̕b -à֮꣪̕b -à֮꣪̕b -à֮꣪̕b - -a֮꣪̀̕b -a֮꣪̀̕b -a֮꣪̀̕b -a֮꣪̀̕b -a֮꣪̀̕b - -à֮꣫̕b -à֮꣫̕b -à֮꣫̕b -à֮꣫̕b -à֮꣫̕b - -a֮꣫̀̕b -a֮꣫̀̕b -a֮꣫̀̕b -a֮꣫̀̕b -a֮꣫̀̕b - -à֮꣬̕b -à֮꣬̕b -à֮꣬̕b -à֮꣬̕b -à֮꣬̕b - -a֮꣬̀̕b -a֮꣬̀̕b -a֮꣬̀̕b -a֮꣬̀̕b -a֮꣬̀̕b - -à֮꣭̕b -à֮꣭̕b -à֮꣭̕b -à֮꣭̕b -à֮꣭̕b - -a֮꣭̀̕b -a֮꣭̀̕b -a֮꣭̀̕b -a֮꣭̀̕b -a֮꣭̀̕b - -à֮꣮̕b -à֮꣮̕b -à֮꣮̕b -à֮꣮̕b -à֮꣮̕b - -a֮꣮̀̕b -a֮꣮̀̕b -a֮꣮̀̕b -a֮꣮̀̕b -a֮꣮̀̕b - -à֮꣯̕b -à֮꣯̕b -à֮꣯̕b -à֮꣯̕b -à֮꣯̕b - -a֮꣯̀̕b -a֮꣯̀̕b -a֮꣯̀̕b -a֮꣯̀̕b -a֮꣯̀̕b - -à֮꣰̕b -à֮꣰̕b -à֮꣰̕b -à֮꣰̕b -à֮꣰̕b - -a֮꣰̀̕b -a֮꣰̀̕b -a֮꣰̀̕b -a֮꣰̀̕b -a֮꣰̀̕b - -à֮꣱̕b -à֮꣱̕b -à֮꣱̕b -à֮꣱̕b -à֮꣱̕b - -a֮꣱̀̕b -a֮꣱̀̕b -a֮꣱̀̕b -a֮꣱̀̕b -a֮꣱̀̕b - -a〪̖꤫֚b -a〪̖꤫֚b -a〪̖꤫֚b -a〪̖꤫֚b -a〪̖꤫֚b - -a〪꤫̖֚b -a〪꤫̖֚b -a〪꤫̖֚b -a〪꤫̖֚b -a〪꤫̖֚b - -a〪̖꤬֚b -a〪̖꤬֚b -a〪̖꤬֚b -a〪̖꤬֚b -a〪̖꤬֚b - -a〪꤬̖֚b -a〪꤬̖֚b -a〪꤬̖֚b -a〪꤬̖֚b -a〪꤬̖֚b - -a〪̖꤭֚b -a〪̖꤭֚b -a〪̖꤭֚b -a〪̖꤭֚b -a〪̖꤭֚b - -a〪꤭̖֚b -a〪꤭̖֚b -a〪꤭̖֚b -a〪꤭̖֚b -a〪꤭̖֚b - -a゙्꥓ְb -a゙्꥓ְb -a゙्꥓ְb -a゙्꥓ְb -a゙्꥓ְb - -a゙꥓्ְb -a゙꥓्ְb -a゙꥓्ְb -a゙꥓्ְb -a゙꥓्ְb - -a̴़꦳゙b -a̴़꦳゙b -a̴़꦳゙b -a̴़꦳゙b -a̴़꦳゙b - -a̴꦳़゙b -a̴꦳़゙b -a̴꦳़゙b -a̴꦳़゙b -a̴꦳़゙b - -a゙्꧀ְb -a゙्꧀ְb -a゙्꧀ְb -a゙्꧀ְb -a゙्꧀ְb - -a゙꧀्ְb -a゙꧀्ְb -a゙꧀्ְb -a゙꧀्ְb -a゙꧀्ְb - -à֮ꪰ̕b -à֮ꪰ̕b -à֮ꪰ̕b -à֮ꪰ̕b -à֮ꪰ̕b - -a֮ꪰ̀̕b -a֮ꪰ̀̕b -a֮ꪰ̀̕b -a֮ꪰ̀̕b -a֮ꪰ̀̕b - -à֮ꪲ̕b -à֮ꪲ̕b -à֮ꪲ̕b -à֮ꪲ̕b -à֮ꪲ̕b - -a֮ꪲ̀̕b -a֮ꪲ̀̕b -a֮ꪲ̀̕b -a֮ꪲ̀̕b -a֮ꪲ̀̕b - -à֮ꪳ̕b -à֮ꪳ̕b -à֮ꪳ̕b -à֮ꪳ̕b -à֮ꪳ̕b - -a֮ꪳ̀̕b -a֮ꪳ̀̕b -a֮ꪳ̀̕b -a֮ꪳ̀̕b -a֮ꪳ̀̕b - -a〪̖ꪴ֚b -a〪̖ꪴ֚b -a〪̖ꪴ֚b -a〪̖ꪴ֚b -a〪̖ꪴ֚b - -a〪ꪴ̖֚b -a〪ꪴ̖֚b -a〪ꪴ̖֚b -a〪ꪴ̖֚b -a〪ꪴ̖֚b - -à֮ꪷ̕b -à֮ꪷ̕b -à֮ꪷ̕b -à֮ꪷ̕b -à֮ꪷ̕b - -a֮ꪷ̀̕b -a֮ꪷ̀̕b -a֮ꪷ̀̕b -a֮ꪷ̀̕b -a֮ꪷ̀̕b - -à֮ꪸ̕b -à֮ꪸ̕b -à֮ꪸ̕b -à֮ꪸ̕b -à֮ꪸ̕b - -a֮ꪸ̀̕b -a֮ꪸ̀̕b -a֮ꪸ̀̕b -a֮ꪸ̀̕b -a֮ꪸ̀̕b - -à֮ꪾ̕b -à֮ꪾ̕b -à֮ꪾ̕b -à֮ꪾ̕b -à֮ꪾ̕b - -a֮ꪾ̀̕b -a֮ꪾ̀̕b -a֮ꪾ̀̕b -a֮ꪾ̀̕b -a֮ꪾ̀̕b - -à֮꪿̕b -à֮꪿̕b -à֮꪿̕b -à֮꪿̕b -à֮꪿̕b - -a֮꪿̀̕b -a֮꪿̀̕b -a֮꪿̀̕b -a֮꪿̀̕b -a֮꪿̀̕b - -à֮꫁̕b -à֮꫁̕b -à֮꫁̕b -à֮꫁̕b -à֮꫁̕b - -a֮꫁̀̕b -a֮꫁̀̕b -a֮꫁̀̕b -a֮꫁̀̕b -a֮꫁̀̕b - -a゙्꫶ְb -a゙्꫶ְb -a゙्꫶ְb -a゙्꫶ְb -a゙्꫶ְb - -a゙꫶्ְb -a゙꫶्ְb -a゙꫶्ְb -a゙꫶्ְb -a゙꫶्ְb - -a゙्꯭ְb -a゙्꯭ְb -a゙्꯭ְb -a゙्꯭ְb -a゙्꯭ְb - -a゙꯭्ְb -a゙꯭्ְb -a゙꯭्ְb -a゙꯭्ְb -a゙꯭्ְb - -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb - -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb -aׂﬞﬞًb - -à֮︠̕b -à֮︠̕b -à֮︠̕b -à֮︠̕b -à֮︠̕b - -a֮︠̀̕b -a֮︠̀̕b -a֮︠̀̕b -a֮︠̀̕b -a֮︠̀̕b - -à֮︡̕b -à֮︡̕b -à֮︡̕b -à֮︡̕b -à֮︡̕b - -a֮︡̀̕b -a֮︡̀̕b -a֮︡̀̕b -a֮︡̀̕b -a֮︡̀̕b - -à֮︢̕b -à֮︢̕b -à֮︢̕b -à֮︢̕b -à֮︢̕b - -a֮︢̀̕b -a֮︢̀̕b -a֮︢̀̕b -a֮︢̀̕b -a֮︢̀̕b - -à֮︣̕b -à֮︣̕b -à֮︣̕b -à֮︣̕b -à֮︣̕b - -a֮︣̀̕b -a֮︣̀̕b -a֮︣̀̕b -a֮︣̀̕b -a֮︣̀̕b - -à֮︤̕b -à֮︤̕b -à֮︤̕b -à֮︤̕b -à֮︤̕b - -a֮︤̀̕b -a֮︤̀̕b -a֮︤̀̕b -a֮︤̀̕b -a֮︤̀̕b - -à֮︥̕b -à֮︥̕b -à֮︥̕b -à֮︥̕b -à֮︥̕b - -a֮︥̀̕b -a֮︥̀̕b -a֮︥̀̕b -a֮︥̀̕b -a֮︥̀̕b - -à֮︦̕b -à֮︦̕b -à֮︦̕b -à֮︦̕b -à֮︦̕b - -a֮︦̀̕b -a֮︦̀̕b -a֮︦̀̕b -a֮︦̀̕b -a֮︦̀̕b - -a〪̖︧֚b -a〪̖︧֚b -a〪̖︧֚b -a〪̖︧֚b -a〪̖︧֚b - -a〪︧̖֚b -a〪︧̖֚b -a〪︧̖֚b -a〪︧̖֚b -a〪︧̖֚b - -a〪̖︨֚b -a〪̖︨֚b -a〪̖︨֚b -a〪̖︨֚b -a〪̖︨֚b - -a〪︨̖֚b -a〪︨̖֚b -a〪︨̖֚b -a〪︨̖֚b -a〪︨̖֚b - -a〪̖︩֚b -a〪̖︩֚b -a〪̖︩֚b -a〪̖︩֚b -a〪̖︩֚b - -a〪︩̖֚b -a〪︩̖֚b -a〪︩̖֚b -a〪︩̖֚b -a〪︩̖֚b - -a〪̖︪֚b -a〪̖︪֚b -a〪̖︪֚b -a〪̖︪֚b -a〪̖︪֚b - -a〪︪̖֚b -a〪︪̖֚b -a〪︪̖֚b -a〪︪̖֚b -a〪︪̖֚b - -a〪̖︫֚b -a〪̖︫֚b -a〪̖︫֚b -a〪̖︫֚b -a〪̖︫֚b - -a〪︫̖֚b -a〪︫̖֚b -a〪︫̖֚b -a〪︫̖֚b -a〪︫̖֚b - -a〪̖︬֚b -a〪̖︬֚b -a〪̖︬֚b -a〪̖︬֚b -a〪̖︬֚b - -a〪︬̖֚b -a〪︬̖֚b -a〪︬̖֚b -a〪︬̖֚b -a〪︬̖֚b - -a〪̖︭֚b -a〪̖︭֚b -a〪̖︭֚b -a〪̖︭֚b -a〪̖︭֚b - -a〪︭̖֚b -a〪︭̖֚b -a〪︭̖֚b -a〪︭̖֚b -a〪︭̖֚b - -à֮︮̕b -à֮︮̕b -à֮︮̕b -à֮︮̕b -à֮︮̕b - -a֮︮̀̕b -a֮︮̀̕b -a֮︮̀̕b -a֮︮̀̕b -a֮︮̀̕b - -à֮︯̕b -à֮︯̕b -à֮︯̕b -à֮︯̕b -à֮︯̕b - -a֮︯̀̕b -a֮︯̀̕b -a֮︯̀̕b -a֮︯̀̕b -a֮︯̀̕b - -a〪̖𐇽֚b -a〪̖𐇽֚b -a〪̖𐇽֚b -a〪̖𐇽֚b -a〪̖𐇽֚b - -a〪𐇽̖֚b -a〪𐇽̖֚b -a〪𐇽̖֚b -a〪𐇽̖֚b -a〪𐇽̖֚b - -a〪̖𐋠֚b -a〪̖𐋠֚b -a〪̖𐋠֚b -a〪̖𐋠֚b -a〪̖𐋠֚b - -a〪𐋠̖֚b -a〪𐋠̖֚b -a〪𐋠̖֚b -a〪𐋠̖֚b -a〪𐋠̖֚b - -à֮𐍶̕b -à֮𐍶̕b -à֮𐍶̕b -à֮𐍶̕b -à֮𐍶̕b - -a֮𐍶̀̕b -a֮𐍶̀̕b -a֮𐍶̀̕b -a֮𐍶̀̕b -a֮𐍶̀̕b - -à֮𐍷̕b -à֮𐍷̕b -à֮𐍷̕b -à֮𐍷̕b -à֮𐍷̕b - -a֮𐍷̀̕b -a֮𐍷̀̕b -a֮𐍷̀̕b -a֮𐍷̀̕b -a֮𐍷̀̕b - -à֮𐍸̕b -à֮𐍸̕b -à֮𐍸̕b -à֮𐍸̕b -à֮𐍸̕b - -a֮𐍸̀̕b -a֮𐍸̀̕b -a֮𐍸̀̕b -a֮𐍸̀̕b -a֮𐍸̀̕b - -à֮𐍹̕b -à֮𐍹̕b -à֮𐍹̕b -à֮𐍹̕b -à֮𐍹̕b - -a֮𐍹̀̕b -a֮𐍹̀̕b -a֮𐍹̀̕b -a֮𐍹̀̕b -a֮𐍹̀̕b - -à֮𐍺̕b -à֮𐍺̕b -à֮𐍺̕b -à֮𐍺̕b -à֮𐍺̕b - -a֮𐍺̀̕b -a֮𐍺̀̕b -a֮𐍺̀̕b -a֮𐍺̀̕b -a֮𐍺̀̕b - -a〪̖𐨍֚b -a〪̖𐨍֚b -a〪̖𐨍֚b -a〪̖𐨍֚b -a〪̖𐨍֚b - -a〪𐨍̖֚b -a〪𐨍̖֚b -a〪𐨍̖֚b -a〪𐨍̖֚b -a〪𐨍̖֚b - -à֮𐨏̕b -à֮𐨏̕b -à֮𐨏̕b -à֮𐨏̕b -à֮𐨏̕b - -a֮𐨏̀̕b -a֮𐨏̀̕b -a֮𐨏̀̕b -a֮𐨏̀̕b -a֮𐨏̀̕b - -à֮𐨸̕b -à֮𐨸̕b -à֮𐨸̕b -à֮𐨸̕b -à֮𐨸̕b - -a֮𐨸̀̕b -a֮𐨸̀̕b -a֮𐨸̀̕b -a֮𐨸̀̕b -a֮𐨸̀̕b - -a̴𐨹़b -a̴𐨹़b -a̴𐨹़b -a̴𐨹़b -a̴𐨹़b - -a𐨹̴़b -a𐨹̴़b -a𐨹̴़b -a𐨹̴़b -a𐨹̴़b - -a〪̖𐨺֚b -a〪̖𐨺֚b -a〪̖𐨺֚b -a〪̖𐨺֚b -a〪̖𐨺֚b - -a〪𐨺̖֚b -a〪𐨺̖֚b -a〪𐨺̖֚b -a〪𐨺̖֚b -a〪𐨺̖֚b - -a゙्𐨿ְb -a゙्𐨿ְb -a゙्𐨿ְb -a゙्𐨿ְb -a゙्𐨿ְb - -a゙𐨿्ְb -a゙𐨿्ְb -a゙𐨿्ְb -a゙𐨿्ְb -a゙𐨿्ְb - -à֮𐫥̕b -à֮𐫥̕b -à֮𐫥̕b -à֮𐫥̕b -à֮𐫥̕b - -a֮𐫥̀̕b -a֮𐫥̀̕b -a֮𐫥̀̕b -a֮𐫥̀̕b -a֮𐫥̀̕b - -a〪̖𐫦֚b -a〪̖𐫦֚b -a〪̖𐫦֚b -a〪̖𐫦֚b -a〪̖𐫦֚b - -a〪𐫦̖֚b -a〪𐫦̖֚b -a〪𐫦̖֚b -a〪𐫦̖֚b -a〪𐫦̖֚b - -a゙्𑁆ְb -a゙्𑁆ְb -a゙्𑁆ְb -a゙्𑁆ְb -a゙्𑁆ְb - -a゙𑁆्ְb -a゙𑁆्ְb -a゙𑁆्ְb -a゙𑁆्ְb -a゙𑁆्ְb - -a゙्𑁿ְb -a゙्𑁿ְb -a゙्𑁿ְb -a゙्𑁿ְb -a゙्𑁿ְb - -a゙𑁿्ְb -a゙𑁿्ְb -a゙𑁿्ְb -a゙𑁿्ְb -a゙𑁿्ְb - -a゙्𑂹ְb -a゙्𑂹ְb -a゙्𑂹ְb -a゙्𑂹ְb -a゙्𑂹ְb - -a゙𑂹्ְb -a゙𑂹्ְb -a゙𑂹्ְb -a゙𑂹्ְb -a゙𑂹्ְb - -a̴़𑂺゙b -a̴़𑂺゙b -a̴़𑂺゙b -a̴़𑂺゙b -a̴़𑂺゙b - -a̴𑂺़゙b -a̴𑂺़゙b -a̴𑂺़゙b -a̴𑂺़゙b -a̴𑂺़゙b - -à֮𑄀̕b -à֮𑄀̕b -à֮𑄀̕b -à֮𑄀̕b -à֮𑄀̕b - -a֮𑄀̀̕b -a֮𑄀̀̕b -a֮𑄀̀̕b -a֮𑄀̀̕b -a֮𑄀̀̕b - -à֮𑄁̕b -à֮𑄁̕b -à֮𑄁̕b -à֮𑄁̕b -à֮𑄁̕b - -a֮𑄁̀̕b -a֮𑄁̀̕b -a֮𑄁̀̕b -a֮𑄁̀̕b -a֮𑄁̀̕b - -à֮𑄂̕b -à֮𑄂̕b -à֮𑄂̕b -à֮𑄂̕b -à֮𑄂̕b - -a֮𑄂̀̕b -a֮𑄂̀̕b -a֮𑄂̀̕b -a֮𑄂̀̕b -a֮𑄂̀̕b - -a゙्𑄳ְb -a゙्𑄳ְb -a゙्𑄳ְb -a゙्𑄳ְb -a゙्𑄳ְb - -a゙𑄳्ְb -a゙𑄳्ְb -a゙𑄳्ְb -a゙𑄳्ְb -a゙𑄳्ְb - -a゙्𑄴ְb -a゙्𑄴ְb -a゙्𑄴ְb -a゙्𑄴ְb -a゙्𑄴ְb - -a゙𑄴्ְb -a゙𑄴्ְb -a゙𑄴्ְb -a゙𑄴्ְb -a゙𑄴्ְb - -a̴़𑅳゙b -a̴़𑅳゙b -a̴़𑅳゙b -a̴़𑅳゙b -a̴़𑅳゙b - -a̴𑅳़゙b -a̴𑅳़゙b -a̴𑅳़゙b -a̴𑅳़゙b -a̴𑅳़゙b - -a゙्𑇀ְb -a゙्𑇀ְb -a゙्𑇀ְb -a゙्𑇀ְb -a゙्𑇀ְb - -a゙𑇀्ְb -a゙𑇀्ְb -a゙𑇀्ְb -a゙𑇀्ְb -a゙𑇀्ְb - -a̴़𑇊゙b -a̴़𑇊゙b -a̴़𑇊゙b -a̴़𑇊゙b -a̴़𑇊゙b - -a̴𑇊़゙b -a̴𑇊़゙b -a̴𑇊़゙b -a̴𑇊़゙b -a̴𑇊़゙b - -a゙्𑈵ְb -a゙्𑈵ְb -a゙्𑈵ְb -a゙्𑈵ְb -a゙्𑈵ְb - -a゙𑈵्ְb -a゙𑈵्ְb -a゙𑈵्ְb -a゙𑈵्ְb -a゙𑈵्ְb - -a̴़𑈶゙b -a̴़𑈶゙b -a̴़𑈶゙b -a̴़𑈶゙b -a̴़𑈶゙b - -a̴𑈶़゙b -a̴𑈶़゙b -a̴𑈶़゙b -a̴𑈶़゙b -a̴𑈶़゙b - -a̴़𑋩゙b -a̴़𑋩゙b -a̴़𑋩゙b -a̴़𑋩゙b -a̴़𑋩゙b - -a̴𑋩़゙b -a̴𑋩़゙b -a̴𑋩़゙b -a̴𑋩़゙b -a̴𑋩़゙b - -a゙्𑋪ְb -a゙्𑋪ְb -a゙्𑋪ְb -a゙्𑋪ְb -a゙्𑋪ְb - -a゙𑋪्ְb -a゙𑋪्ְb -a゙𑋪्ְb -a゙𑋪्ְb -a゙𑋪्ְb - -a̴़𑌼゙b -a̴़𑌼゙b -a̴़𑌼゙b -a̴़𑌼゙b -a̴़𑌼゙b - -a̴𑌼़゙b -a̴𑌼़゙b -a̴𑌼़゙b -a̴𑌼़゙b -a̴𑌼़゙b - -a゙्𑍍ְb -a゙्𑍍ְb -a゙्𑍍ְb -a゙्𑍍ְb -a゙्𑍍ְb - -a゙𑍍्ְb -a゙𑍍्ְb -a゙𑍍्ְb -a゙𑍍्ְb -a゙𑍍्ְb - -à֮𑍦̕b -à֮𑍦̕b -à֮𑍦̕b -à֮𑍦̕b -à֮𑍦̕b - -a֮𑍦̀̕b -a֮𑍦̀̕b -a֮𑍦̀̕b -a֮𑍦̀̕b -a֮𑍦̀̕b - -à֮𑍧̕b -à֮𑍧̕b -à֮𑍧̕b -à֮𑍧̕b -à֮𑍧̕b - -a֮𑍧̀̕b -a֮𑍧̀̕b -a֮𑍧̀̕b -a֮𑍧̀̕b -a֮𑍧̀̕b - -à֮𑍨̕b -à֮𑍨̕b -à֮𑍨̕b -à֮𑍨̕b -à֮𑍨̕b - -a֮𑍨̀̕b -a֮𑍨̀̕b -a֮𑍨̀̕b -a֮𑍨̀̕b -a֮𑍨̀̕b - -à֮𑍩̕b -à֮𑍩̕b -à֮𑍩̕b -à֮𑍩̕b -à֮𑍩̕b - -a֮𑍩̀̕b -a֮𑍩̀̕b -a֮𑍩̀̕b -a֮𑍩̀̕b -a֮𑍩̀̕b - -à֮𑍪̕b -à֮𑍪̕b -à֮𑍪̕b -à֮𑍪̕b -à֮𑍪̕b - -a֮𑍪̀̕b -a֮𑍪̀̕b -a֮𑍪̀̕b -a֮𑍪̀̕b -a֮𑍪̀̕b - -à֮𑍫̕b -à֮𑍫̕b -à֮𑍫̕b -à֮𑍫̕b -à֮𑍫̕b - -a֮𑍫̀̕b -a֮𑍫̀̕b -a֮𑍫̀̕b -a֮𑍫̀̕b -a֮𑍫̀̕b - -à֮𑍬̕b -à֮𑍬̕b -à֮𑍬̕b -à֮𑍬̕b -à֮𑍬̕b - -a֮𑍬̀̕b -a֮𑍬̀̕b -a֮𑍬̀̕b -a֮𑍬̀̕b -a֮𑍬̀̕b - -à֮𑍰̕b -à֮𑍰̕b -à֮𑍰̕b -à֮𑍰̕b -à֮𑍰̕b - -a֮𑍰̀̕b -a֮𑍰̀̕b -a֮𑍰̀̕b -a֮𑍰̀̕b -a֮𑍰̀̕b - -à֮𑍱̕b -à֮𑍱̕b -à֮𑍱̕b -à֮𑍱̕b -à֮𑍱̕b - -a֮𑍱̀̕b -a֮𑍱̀̕b -a֮𑍱̀̕b -a֮𑍱̀̕b -a֮𑍱̀̕b - -à֮𑍲̕b -à֮𑍲̕b -à֮𑍲̕b -à֮𑍲̕b -à֮𑍲̕b - -a֮𑍲̀̕b -a֮𑍲̀̕b -a֮𑍲̀̕b -a֮𑍲̀̕b -a֮𑍲̀̕b - -à֮𑍳̕b -à֮𑍳̕b -à֮𑍳̕b -à֮𑍳̕b -à֮𑍳̕b - -a֮𑍳̀̕b -a֮𑍳̀̕b -a֮𑍳̀̕b -a֮𑍳̀̕b -a֮𑍳̀̕b - -à֮𑍴̕b -à֮𑍴̕b -à֮𑍴̕b -à֮𑍴̕b -à֮𑍴̕b - -a֮𑍴̀̕b -a֮𑍴̀̕b -a֮𑍴̀̕b -a֮𑍴̀̕b -a֮𑍴̀̕b - -a゙्𑑂ְb -a゙्𑑂ְb -a゙्𑑂ְb -a゙्𑑂ְb -a゙्𑑂ְb - -a゙𑑂्ְb -a゙𑑂्ְb -a゙𑑂्ְb -a゙𑑂्ְb -a゙𑑂्ְb - -a̴़𑑆゙b -a̴़𑑆゙b -a̴़𑑆゙b -a̴़𑑆゙b -a̴़𑑆゙b - -a̴𑑆़゙b -a̴𑑆़゙b -a̴𑑆़゙b -a̴𑑆़゙b -a̴𑑆़゙b - -a゙्𑓂ְb -a゙्𑓂ְb -a゙्𑓂ְb -a゙्𑓂ְb -a゙्𑓂ְb - -a゙𑓂्ְb -a゙𑓂्ְb -a゙𑓂्ְb -a゙𑓂्ְb -a゙𑓂्ְb - -a̴़𑓃゙b -a̴़𑓃゙b -a̴़𑓃゙b -a̴़𑓃゙b -a̴़𑓃゙b - -a̴𑓃़゙b -a̴𑓃़゙b -a̴𑓃़゙b -a̴𑓃़゙b -a̴𑓃़゙b - -a゙्𑖿ְb -a゙्𑖿ְb -a゙्𑖿ְb -a゙्𑖿ְb -a゙्𑖿ְb - -a゙𑖿्ְb -a゙𑖿्ְb -a゙𑖿्ְb -a゙𑖿्ְb -a゙𑖿्ְb - -a̴़𑗀゙b -a̴़𑗀゙b -a̴़𑗀゙b -a̴़𑗀゙b -a̴़𑗀゙b - -a̴𑗀़゙b -a̴𑗀़゙b -a̴𑗀़゙b -a̴𑗀़゙b -a̴𑗀़゙b - -a゙्𑘿ְb -a゙्𑘿ְb -a゙्𑘿ְb -a゙्𑘿ְb -a゙्𑘿ְb - -a゙𑘿्ְb -a゙𑘿्ְb -a゙𑘿्ְb -a゙𑘿्ְb -a゙𑘿्ְb - -a゙्𑚶ְb -a゙्𑚶ְb -a゙्𑚶ְb -a゙्𑚶ְb -a゙्𑚶ְb - -a゙𑚶्ְb -a゙𑚶्ְb -a゙𑚶्ְb -a゙𑚶्ְb -a゙𑚶्ְb - -a̴़𑚷゙b -a̴़𑚷゙b -a̴़𑚷゙b -a̴़𑚷゙b -a̴़𑚷゙b - -a̴𑚷़゙b -a̴𑚷़゙b -a̴𑚷़゙b -a̴𑚷़゙b -a̴𑚷़゙b - -a゙्𑜫ְb -a゙्𑜫ְb -a゙्𑜫ְb -a゙्𑜫ְb -a゙्𑜫ְb - -a゙𑜫्ְb -a゙𑜫्ְb -a゙𑜫्ְb -a゙𑜫्ְb -a゙𑜫्ְb - -a゙्𑰿ְb -a゙्𑰿ְb -a゙्𑰿ְb -a゙्𑰿ְb -a゙्𑰿ְb - -a゙𑰿्ְb -a゙𑰿्ְb -a゙𑰿्ְb -a゙𑰿्ְb -a゙𑰿्ְb - -a̴𖫰़b -a̴𖫰़b -a̴𖫰़b -a̴𖫰़b -a̴𖫰़b - -a𖫰̴़b -a𖫰̴़b -a𖫰̴़b -a𖫰̴़b -a𖫰̴़b - -a̴𖫱़b -a̴𖫱़b -a̴𖫱़b -a̴𖫱़b -a̴𖫱़b - -a𖫱̴़b -a𖫱̴़b -a𖫱̴़b -a𖫱̴़b -a𖫱̴़b - -a̴𖫲़b -a̴𖫲़b -a̴𖫲़b -a̴𖫲़b -a̴𖫲़b - -a𖫲̴़b -a𖫲̴़b -a𖫲̴़b -a𖫲̴़b -a𖫲̴़b - -a̴𖫳़b -a̴𖫳़b -a̴𖫳़b -a̴𖫳़b -a̴𖫳़b - -a𖫳̴़b -a𖫳̴़b -a𖫳̴़b -a𖫳̴़b -a𖫳̴़b - -a̴𖫴़b -a̴𖫴़b -a̴𖫴़b -a̴𖫴़b -a̴𖫴़b - -a𖫴̴़b -a𖫴̴़b -a𖫴̴़b -a𖫴̴़b -a𖫴̴़b - -à֮𖬰̕b -à֮𖬰̕b -à֮𖬰̕b -à֮𖬰̕b -à֮𖬰̕b - -a֮𖬰̀̕b -a֮𖬰̀̕b -a֮𖬰̀̕b -a֮𖬰̀̕b -a֮𖬰̀̕b - -à֮𖬱̕b -à֮𖬱̕b -à֮𖬱̕b -à֮𖬱̕b -à֮𖬱̕b - -a֮𖬱̀̕b -a֮𖬱̀̕b -a֮𖬱̀̕b -a֮𖬱̀̕b -a֮𖬱̀̕b - -à֮𖬲̕b -à֮𖬲̕b -à֮𖬲̕b -à֮𖬲̕b -à֮𖬲̕b - -a֮𖬲̀̕b -a֮𖬲̀̕b -a֮𖬲̀̕b -a֮𖬲̀̕b -a֮𖬲̀̕b - -à֮𖬳̕b -à֮𖬳̕b -à֮𖬳̕b -à֮𖬳̕b -à֮𖬳̕b - -a֮𖬳̀̕b -a֮𖬳̀̕b -a֮𖬳̀̕b -a֮𖬳̀̕b -a֮𖬳̀̕b - -à֮𖬴̕b -à֮𖬴̕b -à֮𖬴̕b -à֮𖬴̕b -à֮𖬴̕b - -a֮𖬴̀̕b -a֮𖬴̀̕b -a֮𖬴̀̕b -a֮𖬴̀̕b -a֮𖬴̀̕b - -à֮𖬵̕b -à֮𖬵̕b -à֮𖬵̕b -à֮𖬵̕b -à֮𖬵̕b - -a֮𖬵̀̕b -a֮𖬵̀̕b -a֮𖬵̀̕b -a֮𖬵̀̕b -a֮𖬵̀̕b - -à֮𖬶̕b -à֮𖬶̕b -à֮𖬶̕b -à֮𖬶̕b -à֮𖬶̕b - -a֮𖬶̀̕b -a֮𖬶̀̕b -a֮𖬶̀̕b -a֮𖬶̀̕b -a֮𖬶̀̕b - -a̴𛲞़b -a̴𛲞़b -a̴𛲞़b -a̴𛲞़b -a̴𛲞़b - -a𛲞̴़b -a𛲞̴़b -a𛲞̴़b -a𛲞̴़b -a𛲞̴़b - -a᷎̛𝅥〪b -a᷎̛𝅥〪b -a᷎̛𝅥〪b -a᷎̛𝅥〪b -a᷎̛𝅥〪b - -a᷎𝅥̛〪b -a᷎𝅥̛〪b -a᷎𝅥̛〪b -a᷎𝅥̛〪b -a᷎𝅥̛〪b - -a᷎̛𝅦〪b -a᷎̛𝅦〪b -a᷎̛𝅦〪b -a᷎̛𝅦〪b -a᷎̛𝅦〪b - -a᷎𝅦̛〪b -a᷎𝅦̛〪b -a᷎𝅦̛〪b -a᷎𝅦̛〪b -a᷎𝅦̛〪b - -a̴𝅧़b -a̴𝅧़b -a̴𝅧़b -a̴𝅧़b -a̴𝅧़b - -a𝅧̴़b -a𝅧̴़b -a𝅧̴़b -a𝅧̴़b -a𝅧̴़b - -a̴𝅨़b -a̴𝅨़b -a̴𝅨़b -a̴𝅨़b -a̴𝅨़b - -a𝅨̴़b -a𝅨̴़b -a𝅨̴़b -a𝅨̴़b -a𝅨̴़b - -a̴𝅩़b -a̴𝅩़b -a̴𝅩़b -a̴𝅩़b -a̴𝅩़b - -a𝅩̴़b -a𝅩̴़b -a𝅩̴़b -a𝅩̴़b -a𝅩̴़b - -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b - -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b -a〮𝅭𝅭֮b - -a᷎̛𝅮〪b -a᷎̛𝅮〪b -a᷎̛𝅮〪b -a᷎̛𝅮〪b -a᷎̛𝅮〪b - -a᷎𝅮̛〪b -a᷎𝅮̛〪b -a᷎𝅮̛〪b -a᷎𝅮̛〪b -a᷎𝅮̛〪b - -a᷎̛𝅯〪b -a᷎̛𝅯〪b -a᷎̛𝅯〪b -a᷎̛𝅯〪b -a᷎̛𝅯〪b - -a᷎𝅯̛〪b -a᷎𝅯̛〪b -a᷎𝅯̛〪b -a᷎𝅯̛〪b -a᷎𝅯̛〪b - -a᷎̛𝅰〪b -a᷎̛𝅰〪b -a᷎̛𝅰〪b -a᷎̛𝅰〪b -a᷎̛𝅰〪b - -a᷎𝅰̛〪b -a᷎𝅰̛〪b -a᷎𝅰̛〪b -a᷎𝅰̛〪b -a᷎𝅰̛〪b - -a᷎̛𝅱〪b -a᷎̛𝅱〪b -a᷎̛𝅱〪b -a᷎̛𝅱〪b -a᷎̛𝅱〪b - -a᷎𝅱̛〪b -a᷎𝅱̛〪b -a᷎𝅱̛〪b -a᷎𝅱̛〪b -a᷎𝅱̛〪b - -a᷎̛𝅲〪b -a᷎̛𝅲〪b -a᷎̛𝅲〪b -a᷎̛𝅲〪b -a᷎̛𝅲〪b - -a᷎𝅲̛〪b -a᷎𝅲̛〪b -a᷎𝅲̛〪b -a᷎𝅲̛〪b -a᷎𝅲̛〪b - -a〪̖𝅻֚b -a〪̖𝅻֚b -a〪̖𝅻֚b -a〪̖𝅻֚b -a〪̖𝅻֚b - -a〪𝅻̖֚b -a〪𝅻̖֚b -a〪𝅻̖֚b -a〪𝅻̖֚b -a〪𝅻̖֚b - -a〪̖𝅼֚b -a〪̖𝅼֚b -a〪̖𝅼֚b -a〪̖𝅼֚b -a〪̖𝅼֚b - -a〪𝅼̖֚b -a〪𝅼̖֚b -a〪𝅼̖֚b -a〪𝅼̖֚b -a〪𝅼̖֚b - -a〪̖𝅽֚b -a〪̖𝅽֚b -a〪̖𝅽֚b -a〪̖𝅽֚b -a〪̖𝅽֚b - -a〪𝅽̖֚b -a〪𝅽̖֚b -a〪𝅽̖֚b -a〪𝅽̖֚b -a〪𝅽̖֚b - -a〪̖𝅾֚b -a〪̖𝅾֚b -a〪̖𝅾֚b -a〪̖𝅾֚b -a〪̖𝅾֚b - -a〪𝅾̖֚b -a〪𝅾̖֚b -a〪𝅾̖֚b -a〪𝅾̖֚b -a〪𝅾̖֚b - -a〪̖𝅿֚b -a〪̖𝅿֚b -a〪̖𝅿֚b -a〪̖𝅿֚b -a〪̖𝅿֚b - -a〪𝅿̖֚b -a〪𝅿̖֚b -a〪𝅿̖֚b -a〪𝅿̖֚b -a〪𝅿̖֚b - -a〪̖𝆀֚b -a〪̖𝆀֚b -a〪̖𝆀֚b -a〪̖𝆀֚b -a〪̖𝆀֚b - -a〪𝆀̖֚b -a〪𝆀̖֚b -a〪𝆀̖֚b -a〪𝆀̖֚b -a〪𝆀̖֚b - -a〪̖𝆁֚b -a〪̖𝆁֚b -a〪̖𝆁֚b -a〪̖𝆁֚b -a〪̖𝆁֚b - -a〪𝆁̖֚b -a〪𝆁̖֚b -a〪𝆁̖֚b -a〪𝆁̖֚b -a〪𝆁̖֚b - -a〪̖𝆂֚b -a〪̖𝆂֚b -a〪̖𝆂֚b -a〪̖𝆂֚b -a〪̖𝆂֚b - -a〪𝆂̖֚b -a〪𝆂̖֚b -a〪𝆂̖֚b -a〪𝆂̖֚b -a〪𝆂̖֚b - -à֮𝆅̕b -à֮𝆅̕b -à֮𝆅̕b -à֮𝆅̕b -à֮𝆅̕b - -a֮𝆅̀̕b -a֮𝆅̀̕b -a֮𝆅̀̕b -a֮𝆅̀̕b -a֮𝆅̀̕b - -à֮𝆆̕b -à֮𝆆̕b -à֮𝆆̕b -à֮𝆆̕b -à֮𝆆̕b - -a֮𝆆̀̕b -a֮𝆆̀̕b -a֮𝆆̀̕b -a֮𝆆̀̕b -a֮𝆆̀̕b - -à֮𝆇̕b -à֮𝆇̕b -à֮𝆇̕b -à֮𝆇̕b -à֮𝆇̕b - -a֮𝆇̀̕b -a֮𝆇̀̕b -a֮𝆇̀̕b -a֮𝆇̀̕b -a֮𝆇̀̕b - -à֮𝆈̕b -à֮𝆈̕b -à֮𝆈̕b -à֮𝆈̕b -à֮𝆈̕b - -a֮𝆈̀̕b -a֮𝆈̀̕b -a֮𝆈̀̕b -a֮𝆈̀̕b -a֮𝆈̀̕b - -à֮𝆉̕b -à֮𝆉̕b -à֮𝆉̕b -à֮𝆉̕b -à֮𝆉̕b - -a֮𝆉̀̕b -a֮𝆉̀̕b -a֮𝆉̀̕b -a֮𝆉̀̕b -a֮𝆉̀̕b - -a〪̖𝆊֚b -a〪̖𝆊֚b -a〪̖𝆊֚b -a〪̖𝆊֚b -a〪̖𝆊֚b - -a〪𝆊̖֚b -a〪𝆊̖֚b -a〪𝆊̖֚b -a〪𝆊̖֚b -a〪𝆊̖֚b - -a〪̖𝆋֚b -a〪̖𝆋֚b -a〪̖𝆋֚b -a〪̖𝆋֚b -a〪̖𝆋֚b - -a〪𝆋̖֚b -a〪𝆋̖֚b -a〪𝆋̖֚b -a〪𝆋̖֚b -a〪𝆋̖֚b - -à֮𝆪̕b -à֮𝆪̕b -à֮𝆪̕b -à֮𝆪̕b -à֮𝆪̕b - -a֮𝆪̀̕b -a֮𝆪̀̕b -a֮𝆪̀̕b -a֮𝆪̀̕b -a֮𝆪̀̕b - -à֮𝆫̕b -à֮𝆫̕b -à֮𝆫̕b -à֮𝆫̕b -à֮𝆫̕b - -a֮𝆫̀̕b -a֮𝆫̀̕b -a֮𝆫̀̕b -a֮𝆫̀̕b -a֮𝆫̀̕b - -à֮𝆬̕b -à֮𝆬̕b -à֮𝆬̕b -à֮𝆬̕b -à֮𝆬̕b - -a֮𝆬̀̕b -a֮𝆬̀̕b -a֮𝆬̀̕b -a֮𝆬̀̕b -a֮𝆬̀̕b - -à֮𝆭̕b -à֮𝆭̕b -à֮𝆭̕b -à֮𝆭̕b -à֮𝆭̕b - -a֮𝆭̀̕b -a֮𝆭̀̕b -a֮𝆭̀̕b -a֮𝆭̀̕b -a֮𝆭̀̕b - -à֮𝉂̕b -à֮𝉂̕b -à֮𝉂̕b -à֮𝉂̕b -à֮𝉂̕b - -a֮𝉂̀̕b -a֮𝉂̀̕b -a֮𝉂̀̕b -a֮𝉂̀̕b -a֮𝉂̀̕b - -à֮𝉃̕b -à֮𝉃̕b -à֮𝉃̕b -à֮𝉃̕b -à֮𝉃̕b - -a֮𝉃̀̕b -a֮𝉃̀̕b -a֮𝉃̀̕b -a֮𝉃̀̕b -a֮𝉃̀̕b - -à֮𝉄̕b -à֮𝉄̕b -à֮𝉄̕b -à֮𝉄̕b -à֮𝉄̕b - -a֮𝉄̀̕b -a֮𝉄̀̕b -a֮𝉄̀̕b -a֮𝉄̀̕b -a֮𝉄̀̕b - -à֮𞀀̕b -à֮𞀀̕b -à֮𞀀̕b -à֮𞀀̕b -à֮𞀀̕b - -a֮𞀀̀̕b -a֮𞀀̀̕b -a֮𞀀̀̕b -a֮𞀀̀̕b -a֮𞀀̀̕b - -à֮𞀁̕b -à֮𞀁̕b -à֮𞀁̕b -à֮𞀁̕b -à֮𞀁̕b - -a֮𞀁̀̕b -a֮𞀁̀̕b -a֮𞀁̀̕b -a֮𞀁̀̕b -a֮𞀁̀̕b - -à֮𞀂̕b -à֮𞀂̕b -à֮𞀂̕b -à֮𞀂̕b -à֮𞀂̕b - -a֮𞀂̀̕b -a֮𞀂̀̕b -a֮𞀂̀̕b -a֮𞀂̀̕b -a֮𞀂̀̕b - -à֮𞀃̕b -à֮𞀃̕b -à֮𞀃̕b -à֮𞀃̕b -à֮𞀃̕b - -a֮𞀃̀̕b -a֮𞀃̀̕b -a֮𞀃̀̕b -a֮𞀃̀̕b -a֮𞀃̀̕b - -à֮𞀄̕b -à֮𞀄̕b -à֮𞀄̕b -à֮𞀄̕b -à֮𞀄̕b - -a֮𞀄̀̕b -a֮𞀄̀̕b -a֮𞀄̀̕b -a֮𞀄̀̕b -a֮𞀄̀̕b - -à֮𞀅̕b -à֮𞀅̕b -à֮𞀅̕b -à֮𞀅̕b -à֮𞀅̕b - -a֮𞀅̀̕b -a֮𞀅̀̕b -a֮𞀅̀̕b -a֮𞀅̀̕b -a֮𞀅̀̕b - -à֮𞀆̕b -à֮𞀆̕b -à֮𞀆̕b -à֮𞀆̕b -à֮𞀆̕b - -a֮𞀆̀̕b -a֮𞀆̀̕b -a֮𞀆̀̕b -a֮𞀆̀̕b -a֮𞀆̀̕b - -à֮𞀈̕b -à֮𞀈̕b -à֮𞀈̕b -à֮𞀈̕b -à֮𞀈̕b - -a֮𞀈̀̕b -a֮𞀈̀̕b -a֮𞀈̀̕b -a֮𞀈̀̕b -a֮𞀈̀̕b - -à֮𞀉̕b -à֮𞀉̕b -à֮𞀉̕b -à֮𞀉̕b -à֮𞀉̕b - -a֮𞀉̀̕b -a֮𞀉̀̕b -a֮𞀉̀̕b -a֮𞀉̀̕b -a֮𞀉̀̕b - -à֮𞀊̕b -à֮𞀊̕b -à֮𞀊̕b -à֮𞀊̕b -à֮𞀊̕b - -a֮𞀊̀̕b -a֮𞀊̀̕b -a֮𞀊̀̕b -a֮𞀊̀̕b -a֮𞀊̀̕b - -à֮𞀋̕b -à֮𞀋̕b -à֮𞀋̕b -à֮𞀋̕b -à֮𞀋̕b - -a֮𞀋̀̕b -a֮𞀋̀̕b -a֮𞀋̀̕b -a֮𞀋̀̕b -a֮𞀋̀̕b - -à֮𞀌̕b -à֮𞀌̕b -à֮𞀌̕b -à֮𞀌̕b -à֮𞀌̕b - -a֮𞀌̀̕b -a֮𞀌̀̕b -a֮𞀌̀̕b -a֮𞀌̀̕b -a֮𞀌̀̕b - -à֮𞀍̕b -à֮𞀍̕b -à֮𞀍̕b -à֮𞀍̕b -à֮𞀍̕b - -a֮𞀍̀̕b -a֮𞀍̀̕b -a֮𞀍̀̕b -a֮𞀍̀̕b -a֮𞀍̀̕b - -à֮𞀎̕b -à֮𞀎̕b -à֮𞀎̕b -à֮𞀎̕b -à֮𞀎̕b - -a֮𞀎̀̕b -a֮𞀎̀̕b -a֮𞀎̀̕b -a֮𞀎̀̕b -a֮𞀎̀̕b - -à֮𞀏̕b -à֮𞀏̕b -à֮𞀏̕b -à֮𞀏̕b -à֮𞀏̕b - -a֮𞀏̀̕b -a֮𞀏̀̕b -a֮𞀏̀̕b -a֮𞀏̀̕b -a֮𞀏̀̕b - -à֮𞀐̕b -à֮𞀐̕b -à֮𞀐̕b -à֮𞀐̕b -à֮𞀐̕b - -a֮𞀐̀̕b -a֮𞀐̀̕b -a֮𞀐̀̕b -a֮𞀐̀̕b -a֮𞀐̀̕b - -à֮𞀑̕b -à֮𞀑̕b -à֮𞀑̕b -à֮𞀑̕b -à֮𞀑̕b - -a֮𞀑̀̕b -a֮𞀑̀̕b -a֮𞀑̀̕b -a֮𞀑̀̕b -a֮𞀑̀̕b - -à֮𞀒̕b -à֮𞀒̕b -à֮𞀒̕b -à֮𞀒̕b -à֮𞀒̕b - -a֮𞀒̀̕b -a֮𞀒̀̕b -a֮𞀒̀̕b -a֮𞀒̀̕b -a֮𞀒̀̕b - -à֮𞀓̕b -à֮𞀓̕b -à֮𞀓̕b -à֮𞀓̕b -à֮𞀓̕b - -a֮𞀓̀̕b -a֮𞀓̀̕b -a֮𞀓̀̕b -a֮𞀓̀̕b -a֮𞀓̀̕b - -à֮𞀔̕b -à֮𞀔̕b -à֮𞀔̕b -à֮𞀔̕b -à֮𞀔̕b - -a֮𞀔̀̕b -a֮𞀔̀̕b -a֮𞀔̀̕b -a֮𞀔̀̕b -a֮𞀔̀̕b - -à֮𞀕̕b -à֮𞀕̕b -à֮𞀕̕b -à֮𞀕̕b -à֮𞀕̕b - -a֮𞀕̀̕b -a֮𞀕̀̕b -a֮𞀕̀̕b -a֮𞀕̀̕b -a֮𞀕̀̕b - -à֮𞀖̕b -à֮𞀖̕b -à֮𞀖̕b -à֮𞀖̕b -à֮𞀖̕b - -a֮𞀖̀̕b -a֮𞀖̀̕b -a֮𞀖̀̕b -a֮𞀖̀̕b -a֮𞀖̀̕b - -à֮𞀗̕b -à֮𞀗̕b -à֮𞀗̕b -à֮𞀗̕b -à֮𞀗̕b - -a֮𞀗̀̕b -a֮𞀗̀̕b -a֮𞀗̀̕b -a֮𞀗̀̕b -a֮𞀗̀̕b - -à֮𞀘̕b -à֮𞀘̕b -à֮𞀘̕b -à֮𞀘̕b -à֮𞀘̕b - -a֮𞀘̀̕b -a֮𞀘̀̕b -a֮𞀘̀̕b -a֮𞀘̀̕b -a֮𞀘̀̕b - -à֮𞀛̕b -à֮𞀛̕b -à֮𞀛̕b -à֮𞀛̕b -à֮𞀛̕b - -a֮𞀛̀̕b -a֮𞀛̀̕b -a֮𞀛̀̕b -a֮𞀛̀̕b -a֮𞀛̀̕b - -à֮𞀜̕b -à֮𞀜̕b -à֮𞀜̕b -à֮𞀜̕b -à֮𞀜̕b - -a֮𞀜̀̕b -a֮𞀜̀̕b -a֮𞀜̀̕b -a֮𞀜̀̕b -a֮𞀜̀̕b - -à֮𞀝̕b -à֮𞀝̕b -à֮𞀝̕b -à֮𞀝̕b -à֮𞀝̕b - -a֮𞀝̀̕b -a֮𞀝̀̕b -a֮𞀝̀̕b -a֮𞀝̀̕b -a֮𞀝̀̕b - -à֮𞀞̕b -à֮𞀞̕b -à֮𞀞̕b -à֮𞀞̕b -à֮𞀞̕b - -a֮𞀞̀̕b -a֮𞀞̀̕b -a֮𞀞̀̕b -a֮𞀞̀̕b -a֮𞀞̀̕b - -à֮𞀟̕b -à֮𞀟̕b -à֮𞀟̕b -à֮𞀟̕b -à֮𞀟̕b - -a֮𞀟̀̕b -a֮𞀟̀̕b -a֮𞀟̀̕b -a֮𞀟̀̕b -a֮𞀟̀̕b - -à֮𞀠̕b -à֮𞀠̕b -à֮𞀠̕b -à֮𞀠̕b -à֮𞀠̕b - -a֮𞀠̀̕b -a֮𞀠̀̕b -a֮𞀠̀̕b -a֮𞀠̀̕b -a֮𞀠̀̕b - -à֮𞀡̕b -à֮𞀡̕b -à֮𞀡̕b -à֮𞀡̕b -à֮𞀡̕b - -a֮𞀡̀̕b -a֮𞀡̀̕b -a֮𞀡̀̕b -a֮𞀡̀̕b -a֮𞀡̀̕b - -à֮𞀣̕b -à֮𞀣̕b -à֮𞀣̕b -à֮𞀣̕b -à֮𞀣̕b - -a֮𞀣̀̕b -a֮𞀣̀̕b -a֮𞀣̀̕b -a֮𞀣̀̕b -a֮𞀣̀̕b - -à֮𞀤̕b -à֮𞀤̕b -à֮𞀤̕b -à֮𞀤̕b -à֮𞀤̕b - -a֮𞀤̀̕b -a֮𞀤̀̕b -a֮𞀤̀̕b -a֮𞀤̀̕b -a֮𞀤̀̕b - -à֮𞀦̕b -à֮𞀦̕b -à֮𞀦̕b -à֮𞀦̕b -à֮𞀦̕b - -a֮𞀦̀̕b -a֮𞀦̀̕b -a֮𞀦̀̕b -a֮𞀦̀̕b -a֮𞀦̀̕b - -à֮𞀧̕b -à֮𞀧̕b -à֮𞀧̕b -à֮𞀧̕b -à֮𞀧̕b - -a֮𞀧̀̕b -a֮𞀧̀̕b -a֮𞀧̀̕b -a֮𞀧̀̕b -a֮𞀧̀̕b - -à֮𞀨̕b -à֮𞀨̕b -à֮𞀨̕b -à֮𞀨̕b -à֮𞀨̕b - -a֮𞀨̀̕b -a֮𞀨̀̕b -a֮𞀨̀̕b -a֮𞀨̀̕b -a֮𞀨̀̕b - -à֮𞀩̕b -à֮𞀩̕b -à֮𞀩̕b -à֮𞀩̕b -à֮𞀩̕b - -a֮𞀩̀̕b -a֮𞀩̀̕b -a֮𞀩̀̕b -a֮𞀩̀̕b -a֮𞀩̀̕b - -à֮𞀪̕b -à֮𞀪̕b -à֮𞀪̕b -à֮𞀪̕b -à֮𞀪̕b - -a֮𞀪̀̕b -a֮𞀪̀̕b -a֮𞀪̀̕b -a֮𞀪̀̕b -a֮𞀪̀̕b - -a〪̖𞣐֚b -a〪̖𞣐֚b -a〪̖𞣐֚b -a〪̖𞣐֚b -a〪̖𞣐֚b - -a〪𞣐̖֚b -a〪𞣐̖֚b -a〪𞣐̖֚b -a〪𞣐̖֚b -a〪𞣐̖֚b - -a〪̖𞣑֚b -a〪̖𞣑֚b -a〪̖𞣑֚b -a〪̖𞣑֚b -a〪̖𞣑֚b - -a〪𞣑̖֚b -a〪𞣑̖֚b -a〪𞣑̖֚b -a〪𞣑̖֚b -a〪𞣑̖֚b - -a〪̖𞣒֚b -a〪̖𞣒֚b -a〪̖𞣒֚b -a〪̖𞣒֚b -a〪̖𞣒֚b - -a〪𞣒̖֚b -a〪𞣒̖֚b -a〪𞣒̖֚b -a〪𞣒̖֚b -a〪𞣒̖֚b - -a〪̖𞣓֚b -a〪̖𞣓֚b -a〪̖𞣓֚b -a〪̖𞣓֚b -a〪̖𞣓֚b - -a〪𞣓̖֚b -a〪𞣓̖֚b -a〪𞣓̖֚b -a〪𞣓̖֚b -a〪𞣓̖֚b - -a〪̖𞣔֚b -a〪̖𞣔֚b -a〪̖𞣔֚b -a〪̖𞣔֚b -a〪̖𞣔֚b - -a〪𞣔̖֚b -a〪𞣔̖֚b -a〪𞣔̖֚b -a〪𞣔̖֚b -a〪𞣔̖֚b - -a〪̖𞣕֚b -a〪̖𞣕֚b -a〪̖𞣕֚b -a〪̖𞣕֚b -a〪̖𞣕֚b - -a〪𞣕̖֚b -a〪𞣕̖֚b -a〪𞣕̖֚b -a〪𞣕̖֚b -a〪𞣕̖֚b - -a〪̖𞣖֚b -a〪̖𞣖֚b -a〪̖𞣖֚b -a〪̖𞣖֚b -a〪̖𞣖֚b - -a〪𞣖̖֚b -a〪𞣖̖֚b -a〪𞣖̖֚b -a〪𞣖̖֚b -a〪𞣖̖֚b - -à֮𞥄̕b -à֮𞥄̕b -à֮𞥄̕b -à֮𞥄̕b -à֮𞥄̕b - -a֮𞥄̀̕b -a֮𞥄̀̕b -a֮𞥄̀̕b -a֮𞥄̀̕b -a֮𞥄̀̕b - -à֮𞥅̕b -à֮𞥅̕b -à֮𞥅̕b -à֮𞥅̕b -à֮𞥅̕b - -a֮𞥅̀̕b -a֮𞥅̀̕b -a֮𞥅̀̕b -a֮𞥅̀̕b -a֮𞥅̀̕b - -à֮𞥆̕b -à֮𞥆̕b -à֮𞥆̕b -à֮𞥆̕b -à֮𞥆̕b - -a֮𞥆̀̕b -a֮𞥆̀̕b -a֮𞥆̀̕b -a֮𞥆̀̕b -a֮𞥆̀̕b - -à֮𞥇̕b -à֮𞥇̕b -à֮𞥇̕b -à֮𞥇̕b -à֮𞥇̕b - -a֮𞥇̀̕b -a֮𞥇̀̕b -a֮𞥇̀̕b -a֮𞥇̀̕b -a֮𞥇̀̕b - -à֮𞥈̕b -à֮𞥈̕b -à֮𞥈̕b -à֮𞥈̕b -à֮𞥈̕b - -a֮𞥈̀̕b -a֮𞥈̀̕b -a֮𞥈̀̕b -a֮𞥈̀̕b -a֮𞥈̀̕b - -à֮𞥉̕b -à֮𞥉̕b -à֮𞥉̕b -à֮𞥉̕b -à֮𞥉̕b - -a֮𞥉̀̕b -a֮𞥉̀̕b -a֮𞥉̀̕b -a֮𞥉̀̕b -a֮𞥉̀̕b - -a̴़𞥊゙b -a̴़𞥊゙b -a̴़𞥊゙b -a̴़𞥊゙b -a̴़𞥊゙b - -a̴𞥊़゙b -a̴𞥊़゙b -a̴𞥊़゙b -a̴𞥊़゙b -a̴𞥊़゙b - -ে̴া -ে̴া -ে̴া -ে̴া -ে̴া - -ে̴ৗ -ে̴ৗ -ে̴ৗ -ে̴ৗ -ে̴ৗ - -େ̴ା -େ̴ା -େ̴ା -େ̴ା -େ̴ା - -େ̴ୖ -େ̴ୖ -େ̴ୖ -େ̴ୖ -େ̴ୖ - -େ̴ୗ -େ̴ୗ -େ̴ୗ -େ̴ୗ -େ̴ୗ - -ஒ̴ௗ -ஒ̴ௗ -ஒ̴ௗ -ஒ̴ௗ -ஒ̴ௗ - -ெ̴ா -ெ̴ா -ெ̴ா -ெ̴ா -ெ̴ா - -ெ̴ௗ -ெ̴ௗ -ெ̴ௗ -ெ̴ௗ -ெ̴ௗ - -ே̴ா -ே̴ா -ே̴ா -ே̴ா -ே̴ா - -ಿ̴ೕ -ಿ̴ೕ -ಿ̴ೕ -ಿ̴ೕ -ಿ̴ೕ - -ೆ̴ೂ -ೆ̴ೂ -ೆ̴ೂ -ೆ̴ೂ -ೆ̴ೂ - -ೆ̴ೕ -ೆ̴ೕ -ೆ̴ೕ -ೆ̴ೕ -ೆ̴ೕ - -ೆ̴ೖ -ೆ̴ೖ -ೆ̴ೖ -ೆ̴ೖ -ೆ̴ೖ - -ೊ̴ೕ -ೊ̴ೕ -ೊ̴ೕ -ೊ̴ೕ -ೊ̴ೕ - -െ̴ാ -െ̴ാ -െ̴ാ -െ̴ാ -െ̴ാ - -െ̴ൗ -െ̴ൗ -െ̴ൗ -െ̴ൗ -െ̴ൗ - -േ̴ാ -േ̴ാ -േ̴ാ -േ̴ാ -േ̴ാ - -ෙ̴ා -ෙ̴ා -ෙ̴ා -ෙ̴ා -ෙ̴ා - -ෙ̴ෟ -ෙ̴ෟ -ෙ̴ෟ -ෙ̴ෟ -ෙ̴ෟ - -ཀ̴ྵ -ཀ̴ྵ -ཀ̴ྵ -ཀ̴ྵ -ཀ̴ྵ - -ག̴ྷ -ག̴ྷ -ག̴ྷ -ག̴ྷ -ག̴ྷ - -ཌ̴ྷ -ཌ̴ྷ -ཌ̴ྷ -ཌ̴ྷ -ཌ̴ྷ - -ད̴ྷ -ད̴ྷ -ད̴ྷ -ད̴ྷ -ད̴ྷ - -བ̴ྷ -བ̴ྷ -བ̴ྷ -བ̴ྷ -བ̴ྷ - -ཛ̴ྷ -ཛ̴ྷ -ཛ̴ྷ -ཛ̴ྷ -ཛ̴ྷ - -ྐ̴ྵ -ྐ̴ྵ -ྐ̴ྵ -ྐ̴ྵ -ྐ̴ྵ - -ྒ̴ྷ -ྒ̴ྷ -ྒ̴ྷ -ྒ̴ྷ -ྒ̴ྷ - -ྜ̴ྷ -ྜ̴ྷ -ྜ̴ྷ -ྜ̴ྷ -ྜ̴ྷ - -ྡ̴ྷ -ྡ̴ྷ -ྡ̴ྷ -ྡ̴ྷ -ྡ̴ྷ - -ྦ̴ྷ -ྦ̴ྷ -ྦ̴ྷ -ྦ̴ྷ -ྦ̴ྷ - -ྫ̴ྷ -ྫ̴ྷ -ྫ̴ྷ -ྫ̴ྷ -ྫ̴ྷ - -ဥ̴ီ -ဥ̴ီ -ဥ̴ီ -ဥ̴ီ -ဥ̴ီ - -ᄀ̴ᅡ -ᄀ̴ᅡ -ᄀ̴ᅡ -ᄀ̴ᅡ -ᄀ̴ᅡ - -ᄀ̴ᅮ -ᄀ̴ᅮ -ᄀ̴ᅮ -ᄀ̴ᅮ -ᄀ̴ᅮ - -ᄁ̴ᅦ -ᄁ̴ᅦ -ᄁ̴ᅦ -ᄁ̴ᅦ -ᄁ̴ᅦ - -ᄁ̴ᅳ -ᄁ̴ᅳ -ᄁ̴ᅳ -ᄁ̴ᅳ -ᄁ̴ᅳ - -ᄂ̴ᅫ -ᄂ̴ᅫ -ᄂ̴ᅫ -ᄂ̴ᅫ -ᄂ̴ᅫ - -ᄃ̴ᅣ -ᄃ̴ᅣ -ᄃ̴ᅣ -ᄃ̴ᅣ -ᄃ̴ᅣ - -ᄃ̴ᅰ -ᄃ̴ᅰ -ᄃ̴ᅰ -ᄃ̴ᅰ -ᄃ̴ᅰ - -ᄄ̴ᅨ -ᄄ̴ᅨ -ᄄ̴ᅨ -ᄄ̴ᅨ -ᄄ̴ᅨ - -ᄄ̴ᅵ -ᄄ̴ᅵ -ᄄ̴ᅵ -ᄄ̴ᅵ -ᄄ̴ᅵ - -ᄅ̴ᅭ -ᄅ̴ᅭ -ᄅ̴ᅭ -ᄅ̴ᅭ -ᄅ̴ᅭ - -ᄆ̴ᅥ -ᄆ̴ᅥ -ᄆ̴ᅥ -ᄆ̴ᅥ -ᄆ̴ᅥ - -ᄆ̴ᅲ -ᄆ̴ᅲ -ᄆ̴ᅲ -ᄆ̴ᅲ -ᄆ̴ᅲ - -ᄇ̴ᅪ -ᄇ̴ᅪ -ᄇ̴ᅪ -ᄇ̴ᅪ -ᄇ̴ᅪ - -ᄈ̴ᅢ -ᄈ̴ᅢ -ᄈ̴ᅢ -ᄈ̴ᅢ -ᄈ̴ᅢ - -ᄈ̴ᅯ -ᄈ̴ᅯ -ᄈ̴ᅯ -ᄈ̴ᅯ -ᄈ̴ᅯ - -ᄉ̴ᅧ -ᄉ̴ᅧ -ᄉ̴ᅧ -ᄉ̴ᅧ -ᄉ̴ᅧ - -ᄉ̴ᅴ -ᄉ̴ᅴ -ᄉ̴ᅴ -ᄉ̴ᅴ -ᄉ̴ᅴ - -ᄊ̴ᅬ -ᄊ̴ᅬ -ᄊ̴ᅬ -ᄊ̴ᅬ -ᄊ̴ᅬ - -ᄋ̴ᅤ -ᄋ̴ᅤ -ᄋ̴ᅤ -ᄋ̴ᅤ -ᄋ̴ᅤ - -ᄋ̴ᅱ -ᄋ̴ᅱ -ᄋ̴ᅱ -ᄋ̴ᅱ -ᄋ̴ᅱ - -ᄌ̴ᅩ -ᄌ̴ᅩ -ᄌ̴ᅩ -ᄌ̴ᅩ -ᄌ̴ᅩ - -ᄍ̴ᅡ -ᄍ̴ᅡ -ᄍ̴ᅡ -ᄍ̴ᅡ -ᄍ̴ᅡ - -ᄍ̴ᅮ -ᄍ̴ᅮ -ᄍ̴ᅮ -ᄍ̴ᅮ -ᄍ̴ᅮ - -ᄎ̴ᅦ -ᄎ̴ᅦ -ᄎ̴ᅦ -ᄎ̴ᅦ -ᄎ̴ᅦ - -ᄎ̴ᅳ -ᄎ̴ᅳ -ᄎ̴ᅳ -ᄎ̴ᅳ -ᄎ̴ᅳ - -ᄏ̴ᅫ -ᄏ̴ᅫ -ᄏ̴ᅫ -ᄏ̴ᅫ -ᄏ̴ᅫ - -ᄐ̴ᅣ -ᄐ̴ᅣ -ᄐ̴ᅣ -ᄐ̴ᅣ -ᄐ̴ᅣ - -ᄐ̴ᅰ -ᄐ̴ᅰ -ᄐ̴ᅰ -ᄐ̴ᅰ -ᄐ̴ᅰ - -ᄑ̴ᅨ -ᄑ̴ᅨ -ᄑ̴ᅨ -ᄑ̴ᅨ -ᄑ̴ᅨ - -ᄑ̴ᅵ -ᄑ̴ᅵ -ᄑ̴ᅵ -ᄑ̴ᅵ -ᄑ̴ᅵ - -ᄒ̴ᅭ -ᄒ̴ᅭ -ᄒ̴ᅭ -ᄒ̴ᅭ -ᄒ̴ᅭ - -ᬅ̴ᬵ -ᬅ̴ᬵ -ᬅ̴ᬵ -ᬅ̴ᬵ -ᬅ̴ᬵ - -ᬇ̴ᬵ -ᬇ̴ᬵ -ᬇ̴ᬵ -ᬇ̴ᬵ -ᬇ̴ᬵ - -ᬉ̴ᬵ -ᬉ̴ᬵ -ᬉ̴ᬵ -ᬉ̴ᬵ -ᬉ̴ᬵ - -ᬋ̴ᬵ -ᬋ̴ᬵ -ᬋ̴ᬵ -ᬋ̴ᬵ -ᬋ̴ᬵ - -ᬍ̴ᬵ -ᬍ̴ᬵ -ᬍ̴ᬵ -ᬍ̴ᬵ -ᬍ̴ᬵ - -ᬑ̴ᬵ -ᬑ̴ᬵ -ᬑ̴ᬵ -ᬑ̴ᬵ -ᬑ̴ᬵ - -ᬺ̴ᬵ -ᬺ̴ᬵ -ᬺ̴ᬵ -ᬺ̴ᬵ -ᬺ̴ᬵ - -ᬼ̴ᬵ -ᬼ̴ᬵ -ᬼ̴ᬵ -ᬼ̴ᬵ -ᬼ̴ᬵ - -ᬾ̴ᬵ -ᬾ̴ᬵ -ᬾ̴ᬵ -ᬾ̴ᬵ -ᬾ̴ᬵ - -ᬿ̴ᬵ -ᬿ̴ᬵ -ᬿ̴ᬵ -ᬿ̴ᬵ -ᬿ̴ᬵ - -ᭂ̴ᬵ -ᭂ̴ᬵ -ᭂ̴ᬵ -ᭂ̴ᬵ -ᭂ̴ᬵ - -걔̴ᆮ -걔̴ᆮ -걔̴ᆮ -걔̴ᆮ -걔̴ᆮ - -겨̴ᆵ -겨̴ᆵ -겨̴ᆵ -겨̴ᆵ -겨̴ᆵ - -과̴ᆼ -과̴ᆼ -과̴ᆼ -과̴ᆼ -과̴ᆼ - -귀̴ᆮ -귀̴ᆮ -귀̴ᆮ -귀̴ᆮ -귀̴ᆮ - -긔̴ᆵ -긔̴ᆵ -긔̴ᆵ -긔̴ᆵ -긔̴ᆵ - -깨̴ᆼ -깨̴ᆼ -깨̴ᆼ -깨̴ᆼ -깨̴ᆼ - -꼬̴ᆮ -꼬̴ᆮ -꼬̴ᆮ -꼬̴ᆮ -꼬̴ᆮ - -꾀̴ᆵ -꾀̴ᆵ -꾀̴ᆵ -꾀̴ᆵ -꾀̴ᆵ - -꿔̴ᆼ -꿔̴ᆼ -꿔̴ᆼ -꿔̴ᆼ -꿔̴ᆼ - -나̴ᆮ -나̴ᆮ -나̴ᆮ -나̴ᆮ -나̴ᆮ - -냬̴ᆵ -냬̴ᆵ -냬̴ᆵ -냬̴ᆵ -냬̴ᆵ - -녀̴ᆼ -녀̴ᆼ -녀̴ᆼ -녀̴ᆼ -녀̴ᆼ - -누̴ᆮ -누̴ᆮ -누̴ᆮ -누̴ᆮ -누̴ᆮ - -뉘̴ᆵ -뉘̴ᆵ -뉘̴ᆵ -뉘̴ᆵ -뉘̴ᆵ - -늬̴ᆼ -늬̴ᆼ -늬̴ᆼ -늬̴ᆼ -늬̴ᆼ - -데̴ᆮ -데̴ᆮ -데̴ᆮ -데̴ᆮ -데̴ᆮ - -도̴ᆵ -도̴ᆵ -도̴ᆵ -도̴ᆵ -도̴ᆵ - -되̴ᆼ -되̴ᆼ -되̴ᆼ -되̴ᆼ -되̴ᆼ - -드̴ᆮ -드̴ᆮ -드̴ᆮ -드̴ᆮ -드̴ᆮ - -따̴ᆵ -따̴ᆵ -따̴ᆵ -따̴ᆵ -따̴ᆵ - -떄̴ᆼ -떄̴ᆼ -떄̴ᆼ -떄̴ᆼ -떄̴ᆼ - -뙈̴ᆮ -뙈̴ᆮ -뙈̴ᆮ -뙈̴ᆮ -뙈̴ᆮ - -뚜̴ᆵ -뚜̴ᆵ -뚜̴ᆵ -뚜̴ᆵ -뚜̴ᆵ - -뛰̴ᆼ -뛰̴ᆼ -뛰̴ᆼ -뛰̴ᆼ -뛰̴ᆼ - -랴̴ᆮ -랴̴ᆮ -랴̴ᆮ -랴̴ᆮ -랴̴ᆮ - -레̴ᆵ -레̴ᆵ -레̴ᆵ -레̴ᆵ -레̴ᆵ - -로̴ᆼ -로̴ᆼ -로̴ᆼ -로̴ᆼ -로̴ᆼ - -뤠̴ᆮ -뤠̴ᆮ -뤠̴ᆮ -뤠̴ᆮ -뤠̴ᆮ - -르̴ᆵ -르̴ᆵ -르̴ᆵ -르̴ᆵ -르̴ᆵ - -마̴ᆼ -마̴ᆼ -마̴ᆼ -마̴ᆼ -마̴ᆼ - -몌̴ᆮ -몌̴ᆮ -몌̴ᆮ -몌̴ᆮ -몌̴ᆮ - -뫠̴ᆵ -뫠̴ᆵ -뫠̴ᆵ -뫠̴ᆵ -뫠̴ᆵ - -무̴ᆼ -무̴ᆼ -무̴ᆼ -무̴ᆼ -무̴ᆼ - -미̴ᆮ -미̴ᆮ -미̴ᆮ -미̴ᆮ -미̴ᆮ - -뱌̴ᆵ -뱌̴ᆵ -뱌̴ᆵ -뱌̴ᆵ -뱌̴ᆵ - -베̴ᆼ -베̴ᆼ -베̴ᆼ -베̴ᆼ -베̴ᆼ - -뵤̴ᆮ -뵤̴ᆮ -뵤̴ᆮ -뵤̴ᆮ -뵤̴ᆮ - -붸̴ᆵ -붸̴ᆵ -붸̴ᆵ -붸̴ᆵ -붸̴ᆵ - -브̴ᆼ -브̴ᆼ -브̴ᆼ -브̴ᆼ -브̴ᆼ - -뻐̴ᆮ -뻐̴ᆮ -뻐̴ᆮ -뻐̴ᆮ -뻐̴ᆮ - -뼤̴ᆵ -뼤̴ᆵ -뼤̴ᆵ -뼤̴ᆵ -뼤̴ᆵ - -뽸̴ᆼ -뽸̴ᆼ -뽸̴ᆼ -뽸̴ᆼ -뽸̴ᆼ - -쀼̴ᆮ -쀼̴ᆮ -쀼̴ᆮ -쀼̴ᆮ -쀼̴ᆮ - -삐̴ᆵ -삐̴ᆵ -삐̴ᆵ -삐̴ᆵ -삐̴ᆵ - -샤̴ᆼ -샤̴ᆼ -샤̴ᆼ -샤̴ᆼ -샤̴ᆼ - -솨̴ᆮ -솨̴ᆮ -솨̴ᆮ -솨̴ᆮ -솨̴ᆮ - -쇼̴ᆵ -쇼̴ᆵ -쇼̴ᆵ -쇼̴ᆵ -쇼̴ᆵ - -쉐̴ᆼ -쉐̴ᆼ -쉐̴ᆼ -쉐̴ᆼ -쉐̴ᆼ - -쌔̴ᆮ -쌔̴ᆮ -쌔̴ᆮ -쌔̴ᆮ -쌔̴ᆮ - -써̴ᆵ -써̴ᆵ -써̴ᆵ -써̴ᆵ -써̴ᆵ - -쎼̴ᆼ -쎼̴ᆼ -쎼̴ᆼ -쎼̴ᆼ -쎼̴ᆼ - -쒀̴ᆮ -쒀̴ᆮ -쒀̴ᆮ -쒀̴ᆮ -쒀̴ᆮ - -쓔̴ᆵ -쓔̴ᆵ -쓔̴ᆵ -쓔̴ᆵ -쓔̴ᆵ - -씨̴ᆼ -씨̴ᆼ -씨̴ᆼ -씨̴ᆼ -씨̴ᆼ - -여̴ᆮ -여̴ᆮ -여̴ᆮ -여̴ᆮ -여̴ᆮ - -와̴ᆵ -와̴ᆵ -와̴ᆵ -와̴ᆵ -와̴ᆵ - -요̴ᆼ -요̴ᆼ -요̴ᆼ -요̴ᆼ -요̴ᆼ - -의̴ᆮ -의̴ᆮ -의̴ᆮ -의̴ᆮ -의̴ᆮ - -재̴ᆵ -재̴ᆵ -재̴ᆵ -재̴ᆵ -재̴ᆵ - -저̴ᆼ -저̴ᆼ -저̴ᆼ -저̴ᆼ -저̴ᆼ - -죄̴ᆮ -죄̴ᆮ -죄̴ᆮ -죄̴ᆮ -죄̴ᆮ - -줘̴ᆵ -줘̴ᆵ -줘̴ᆵ -줘̴ᆵ -줘̴ᆵ - -쥬̴ᆼ -쥬̴ᆼ -쥬̴ᆼ -쥬̴ᆼ -쥬̴ᆼ - -쨰̴ᆮ -쨰̴ᆮ -쨰̴ᆮ -쨰̴ᆮ -쨰̴ᆮ - -쪄̴ᆵ -쪄̴ᆵ -쪄̴ᆵ -쪄̴ᆵ -쪄̴ᆵ - -쫘̴ᆼ -쫘̴ᆼ -쫘̴ᆼ -쫘̴ᆼ -쫘̴ᆼ - -쮜̴ᆮ -쮜̴ᆮ -쮜̴ᆮ -쮜̴ᆮ -쮜̴ᆮ - -쯰̴ᆵ -쯰̴ᆵ -쯰̴ᆵ -쯰̴ᆵ -쯰̴ᆵ - -채̴ᆼ -채̴ᆼ -채̴ᆼ -채̴ᆼ -채̴ᆼ - -초̴ᆮ -초̴ᆮ -초̴ᆮ -초̴ᆮ -초̴ᆮ - -최̴ᆵ -최̴ᆵ -최̴ᆵ -최̴ᆵ -최̴ᆵ - -춰̴ᆼ -춰̴ᆼ -춰̴ᆼ -춰̴ᆼ -춰̴ᆼ - -카̴ᆮ -카̴ᆮ -카̴ᆮ -카̴ᆮ -카̴ᆮ - -컈̴ᆵ -컈̴ᆵ -컈̴ᆵ -컈̴ᆵ -컈̴ᆵ - -켜̴ᆼ -켜̴ᆼ -켜̴ᆼ -켜̴ᆼ -켜̴ᆼ - -쿠̴ᆮ -쿠̴ᆮ -쿠̴ᆮ -쿠̴ᆮ -쿠̴ᆮ - -퀴̴ᆵ -퀴̴ᆵ -퀴̴ᆵ -퀴̴ᆵ -퀴̴ᆵ - -킈̴ᆼ -킈̴ᆼ -킈̴ᆼ -킈̴ᆼ -킈̴ᆼ - -테̴ᆮ -테̴ᆮ -테̴ᆮ -테̴ᆮ -테̴ᆮ - -토̴ᆵ -토̴ᆵ -토̴ᆵ -토̴ᆵ -토̴ᆵ - -퇴̴ᆼ -퇴̴ᆼ -퇴̴ᆼ -퇴̴ᆼ -퇴̴ᆼ - -트̴ᆮ -트̴ᆮ -트̴ᆮ -트̴ᆮ -트̴ᆮ - -파̴ᆵ -파̴ᆵ -파̴ᆵ -파̴ᆵ -파̴ᆵ - -퍠̴ᆼ -퍠̴ᆼ -퍠̴ᆼ -퍠̴ᆼ -퍠̴ᆼ - -퐤̴ᆮ -퐤̴ᆮ -퐤̴ᆮ -퐤̴ᆮ -퐤̴ᆮ - -푸̴ᆵ -푸̴ᆵ -푸̴ᆵ -푸̴ᆵ -푸̴ᆵ - -퓌̴ᆼ -퓌̴ᆼ -퓌̴ᆼ -퓌̴ᆼ -퓌̴ᆼ - -햐̴ᆮ -햐̴ᆮ -햐̴ᆮ -햐̴ᆮ -햐̴ᆮ - -헤̴ᆵ -헤̴ᆵ -헤̴ᆵ -헤̴ᆵ -헤̴ᆵ - -호̴ᆼ -호̴ᆼ -호̴ᆼ -호̴ᆼ -호̴ᆼ - -훼̴ᆮ -훼̴ᆮ -훼̴ᆮ -훼̴ᆮ -훼̴ᆮ - -흐̴ᆵ -흐̴ᆵ -흐̴ᆵ -흐̴ᆵ -흐̴ᆵ - -𑄱̴𑄧 -𑄱̴𑄧 -𑄱̴𑄧 -𑄱̴𑄧 -𑄱̴𑄧 - -𑄲̴𑄧 -𑄲̴𑄧 -𑄲̴𑄧 -𑄲̴𑄧 -𑄲̴𑄧 - -𑍇̴𑌾 -𑍇̴𑌾 -𑍇̴𑌾 -𑍇̴𑌾 -𑍇̴𑌾 - -𑍇̴𑍗 -𑍇̴𑍗 -𑍇̴𑍗 -𑍇̴𑍗 -𑍇̴𑍗 - -𑒹̴𑒰 -𑒹̴𑒰 -𑒹̴𑒰 -𑒹̴𑒰 -𑒹̴𑒰 - -𑒹̴𑒺 -𑒹̴𑒺 -𑒹̴𑒺 -𑒹̴𑒺 -𑒹̴𑒺 - -𑒹̴𑒽 -𑒹̴𑒽 -𑒹̴𑒽 -𑒹̴𑒽 -𑒹̴𑒽 - -𑖸̴𑖯 -𑖸̴𑖯 -𑖸̴𑖯 -𑖸̴𑖯 -𑖸̴𑖯 - -𑖹̴𑖯 -𑖹̴𑖯 -𑖹̴𑖯 -𑖹̴𑖯 -𑖹̴𑖯 - diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb deleted file mode 100644 index 45b03e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb +++ /dev/null @@ -1,40 +0,0 @@ -require 'helper' -require 'pathname' - -class TestUnf < Test::Unit::TestCase - test "raise ArgumentError if an unknown normalization form is given" do - normalizer = UNF::Normalizer.new - assert_raises(ArgumentError) { normalizer.normalize("が", :nfck) } - end - - test "pass all tests bundled with the original unf" do - normalizer = UNF::Normalizer.new - open(Pathname(__FILE__).dirname + 'normalization-test.txt', 'r:utf-8').each_slice(6) { |lines| - flunk "broken test file" if lines.size != 6 || lines.pop !~ /^$/ - str, nfc, nfd, nfkc, nfkd = lines - assert_equal nfd, normalizer.normalize(str, :nfd) - assert_equal nfd, normalizer.normalize(nfd, :nfd) - assert_equal nfd, normalizer.normalize(nfc, :nfd) - assert_equal nfkd, normalizer.normalize(nfkc, :nfd) - assert_equal nfkd, normalizer.normalize(nfkc, :nfd) - - assert_equal nfc, normalizer.normalize(str, :nfc) - assert_equal nfc, normalizer.normalize(nfd, :nfc) - assert_equal nfc, normalizer.normalize(nfc, :nfc) - assert_equal nfkc, normalizer.normalize(nfkc, :nfc) - assert_equal nfkc, normalizer.normalize(nfkd, :nfc) - - assert_equal nfkd, normalizer.normalize(str, :nfkd) - assert_equal nfkd, normalizer.normalize(nfd, :nfkd) - assert_equal nfkd, normalizer.normalize(nfc, :nfkd) - assert_equal nfkd, normalizer.normalize(nfkc, :nfkd) - assert_equal nfkd, normalizer.normalize(nfkd, :nfkd) - - assert_equal nfkc, normalizer.normalize(str, :nfkc) - assert_equal nfkc, normalizer.normalize(nfd, :nfkc) - assert_equal nfkc, normalizer.normalize(nfc, :nfkc) - assert_equal nfkc, normalizer.normalize(nfkc, :nfkc) - assert_equal nfkc, normalizer.normalize(nfkd, :nfkc) - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/unf_ext.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/unf_ext.gemspec deleted file mode 100644 index abe0cd2..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unf_ext-0.0.8.2/unf_ext.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'unf_ext/version' - -Gem::Specification.new do |gem| - gem.name = "unf_ext" - gem.version = UNF::Normalizer::VERSION - gem.authors = ["Takeru Ohta", "Akinori MUSHA"] - gem.email = ["knu@idaemons.org"] - gem.description = %q{Unicode Normalization Form support library for CRuby} - gem.summary = %q{Unicode Normalization Form support library for CRuby} - gem.homepage = "https://github.com/knu/ruby-unf_ext" - gem.licenses = ["MIT"] - - gem.files = `git ls-files`.split($/) - gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) } - gem.test_files = gem.files.grep(%r{^(test|spec|features)/}).grep(%r{/test_[^/]+\.rb$}) - gem.require_paths = ["lib"] - gem.extensions = ["ext/unf_ext/extconf.rb"] - - gem.extra_rdoc_files = [ - "LICENSE.txt", - "README.md" - ] - - gem.required_ruby_version = '>= 2.2' - - gem.add_development_dependency("rake", [">= 0.9.2.2"]) - gem.add_development_dependency("test-unit") - gem.add_development_dependency("rdoc", ["> 2.4.2"]) - gem.add_development_dependency("bundler", [">= 1.2"]) - gem.add_development_dependency("rake-compiler", [">= 1.1.1"]) - gem.add_development_dependency("rake-compiler-dock", [">= 1.2.1"]) -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/CHANGELOG.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/CHANGELOG.md deleted file mode 100644 index 7b0fe3f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/CHANGELOG.md +++ /dev/null @@ -1,137 +0,0 @@ -# CHANGELOG - -## 1.8.0 - -- Unicode 14.0 (last release of 1.x) - -## 1.7.0 - -- Unicode 13 - -## 1.6.1 - -- Fix that ambiguous and overwrite options where ignored for emoji-measuring - -## 1.6.0 - -- Unicode 12.1 - -## 1.5.0 - -- Unicode 12 - -## 1.4.1 - -- Only bundle required lib/* and data/* files in actual rubygem, patch by @tas50 - -## 1.4.0 - -- Unicode 11 - -## 1.3.3 - -- Replace Gem::Util.gunzip with direct zlib implementation - This removes the dependency on rubygems, fixes #17 - -## 1.3.2 - -- Explicitly load rubygems/util, fixes regression in 1.3.1 (autoload issue) - -## 1.3.1 - -- Use `Gem::Util` for `gunzip`, removes deprecation warning, patch by @Schwad - -## 1.3.0 - -- Unicode 10 - -## 1.2.1 - -- Fix bug that `emoji: true` would fail for emoji without modifier - -## 1.2.0 - -- Add zero-width codepoint ranges: U+2060..U+206F, U+FFF0..U+FFF8, U+E0000..U+E0FFF -- Add full-witdh codepoint ranges: U+3400..U+4DBF, U+4E00..U+9FFF, U+F900..U+FAFF, U+20000..U+2FFFD, U+30000..U+3FFFD -- Experimental emoji support using the [unicode-emoji](https://github.com/janlelis/unicode-emoji) gem -- Fix minor bug in index compression scheme - -## 1.1.3 - -- Fix that non-UTF-8 encodings do not throw errors, patch by @windwiny - -## 1.1.2 - -- Reduce memory consumption and increase performance, patch by @rrosenblum - -## 1.1.1 - -- Always load index into memory, fixes #9 - -## 1.1.0 - -- Support Unicode 9.0 - -## 1.0.5 - -- Actually include new index from 1.0.4 - -## 1.0.4 - -- New index format (much smaller) and internal API changes -- Move index generation to a builder plugin for the unicoder gem -- No public API changes - -## 1.0.3 - -- Avoid circular dependency warning - -## 1.0.2 - -- Fix error that gemspec might be invalid under some circumstances (see gh#6) - -## 1.0.1 - -- Inofficially allow Ruby 1.9 - -## 1.0.0 - -- Faster than 0.3.1 -- Advanced determination of character width -- This includes: Treat width of most chars of general categories (Mn, Me, Cf) as 0 -- This includes: Introduce list of characters with special widths -- Allow custom overrides for specific codepoints -- Set required Ruby version to 2.0 -- Add NO_STRING_EXT mode to disable monkey patching -- Internal API & index format changed drastically -- Remove require 'unicode/display_size' (use 'unicode/display_width' instead) - -## 0.3.1 - -- Faster than 0.3.0 -- Deprecate usage of aliases: String#display_size and String#display_length -- Eliminate Ruby warnings (@amatsuda) - -## 0.3.0 - -- Update EastAsianWidth from 7.0 to 8.0 -- Add rake task to update EastAsianWidth.txt -- Move code to generate index from library to Rakefile -- Update project's meta files -- Deprecate requiring 'unicode-display_size' - -## 0.2.0 - -- Update EastAsianWidth from 6.0 to 7.0 -- Don't build index table automatically when not available -- Don't include EastAsianWidth.txt in gem (only index) - - -## 0.1.0 - -- Fix github issue #1 - - -## 0.1.0 - -- Initial release diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt deleted file mode 100644 index 8252de8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -The MIT LICENSE - -Copyright (c) 2011, 2015-2020 Jan Lelis - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/README.md deleted file mode 100644 index dd45b8f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-1.8.0/README.md +++ /dev/null @@ -1,124 +0,0 @@ -## Unicode::DisplayWidth [![[version]](https://badge.fury.io/rb/unicode-display_width.svg)](https://badge.fury.io/rb/unicode-display_width) [<img src="https://travis-ci.org/janlelis/unicode-display_width.png" />](https://travis-ci.org/janlelis/unicode-display_width) - -Determines the monospace display width of a string in Ruby. Implementation based on [EastAsianWidth.txt](https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt) and other data, 100% in Ruby. Other than [wcwidth()](https://github.com/janlelis/wcswidth-ruby), which fulfills a similar purpose, it does not rely on the OS vendor to provide an up-to-date method for measuring string width. - -Unicode version: **14.0.0** (September 2021) - -Supported Rubies: **2.7**, **2.6**, **2.5**, **2.4** - -Old Rubies that might still work: **2.3**, **2.2**, **2.1**, **2.0**, **1.9** - -## Introduction to Character Widths - -Guessing the correct space a character will consume on terminals is not easy. There is no single standard. Most implementations combine data from [East Asian Width](https://www.unicode.org/reports/tr11/), some [General Categories](https://en.wikipedia.org/wiki/Unicode_character_property#General_Category), and hand-picked adjustments. - -### How this Library Handles Widths - -Further at the top means higher precedence. Please expect changes to this algorithm with every MINOR version update (the X in 1.X.0)! - -Width | Characters | Comment --------|------------------------------|-------------------------------------------------- -X | (user defined) | Overwrites any other values --1 | `"\b"` | Backspace (total width never below 0) -0 | `"\0"`, `"\x05"`, `"\a"`, `"\n"`, `"\v"`, `"\f"`, `"\r"`, `"\x0E"`, `"\x0F"` | [C0 control codes](https://en.wikipedia.org/wiki/C0_and_C1_control_codes#C0_.28ASCII_and_derivatives.29) that do not change horizontal width -1 | `"\u{00AD}"` | SOFT HYPHEN -2 | `"\u{2E3A}"` | TWO-EM DASH -3 | `"\u{2E3B}"` | THREE-EM DASH -0 | General Categories: Mn, Me, Cf (non-arabic) | Excludes ARABIC format characters -0 | `"\u{1160}".."\u{11FF}"` | HANGUL JUNGSEONG -0 | `"\u{2060}".."\u{206F}"`, `"\u{FFF0}".."\u{FFF8}"`, `"\u{E0000}".."\u{E0FFF}"` | Ignorable ranges -2 | East Asian Width: F, W | Full-width characters -2 | `"\u{3400}".."\u{4DBF}"`, `"\u{4E00}".."\u{9FFF}"`, `"\u{F900}".."\u{FAFF}"`, `"\u{20000}".."\u{2FFFD}"`, `"\u{30000}".."\u{3FFFD}"` | Full-width ranges -1 or 2 | East Asian Width: A | Ambiguous characters, user defined, default: 1 -1 | All other codepoints | - - -## Install - -Install the gem with: - - $ gem install unicode-display_width - -Or add to your Gemfile: - - gem 'unicode-display_width' - -## Usage - -```ruby -require 'unicode/display_width' - -Unicode::DisplayWidth.of("⚀") # => 1 -Unicode::DisplayWidth.of("一") # => 2 -``` - -### Ambiguous Characters - -The second parameter defines the value returned by characters defined as ambiguous: - -```ruby -Unicode::DisplayWidth.of("·", 1) # => 1 -Unicode::DisplayWidth.of("·", 2) # => 2 -``` - -### Custom Overwrites - -You can overwrite how to handle specific code points by passing a hash (or even a proc) as third parameter: - -```ruby -Unicode::DisplayWidth.of("a\tb", 1, 0x09 => 10)) # => 12 -``` - -### Emoji Support - -Experimental emoji support is included. It will adjust the string's size for modifier and zero-width joiner sequences. You will need to add the [unicode-emoji](https://github.com/janlelis/unicode-emoji) gem to your Gemfile: - -```ruby -gem 'unicode-display_width' -gem 'unicode-emoji' -``` - -You can then activate the emoji string width adjustments by passing `emoji: true` as fourth parameter: - -```ruby -Unicode::DisplayWidth.of "🤾🏽‍♀️" # => 5 -Unicode::DisplayWidth.of "🤾🏽‍♀️", 1, {}, emoji: true # => 2 -``` - -### Usage with String Extension - -Activated by default. Will be deactivated in version 2.0: - -```ruby -require 'unicode/display_width/string_ext' - -"⚀".display_width #=> 1 -'一'.display_width #=> 2 -``` - -You can actively opt-out from the string extension with: `require 'unicode/display_width/no_string_ext'` - -### Usage From the CLI - -Use this one-liner to print out display widths for strings from the command-line: - -``` -$ gem install unicode-display_width -$ ruby -r unicode/display_width -e 'puts Unicode::DisplayWidth.of $*[0]' -- "一" -``` -Replace "一" with the actual string to measure - -## Other Implementations & Discussion - -- Python: https://github.com/jquast/wcwidth -- JavaScript: https://github.com/mycoboco/wcwidth.js -- C: https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c -- C for Julia: https://github.com/JuliaLang/utf8proc/issues/2 - -See [unicode-x](https://github.com/janlelis/unicode-x) for more Unicode related micro libraries. - -## Copyright & Info - -- Copyright (c) 2011, 2015-2020 Jan Lelis, https://janlelis.com, released under the MIT -license -- Early versions based on runpaint's unicode-data interface: Copyright (c) 2009 Run Paint Run Run -- Unicode data: https://www.unicode.org/copyright.html#Exhibit1 diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/Gemfile b/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/Gemfile deleted file mode 100644 index 10284be..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://rubygems.org' - -gemspec - -gem "rake" -gem "test-unit" diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/LICENSE.txt b/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/LICENSE.txt deleted file mode 100644 index a009cae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/README.md b/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/README.md deleted file mode 100644 index 0027072..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# Webrick - -WEBrick is an HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server. - -WEBrick features complete logging of both server operations and HTTP access. - -WEBrick supports both basic and digest authentication in addition to algorithms not in RFC 2617. - -A WEBrick server can be composed of multiple WEBrick servers or servlets to provide differing behavior on a per-host or per-path basis. WEBrick includes servlets for handling CGI scripts, ERB pages, Ruby blocks and directory listings. - -WEBrick also includes tools for daemonizing a process and starting a process at a higher privilege level and dropping permissions. - -## Installation - -Add this line to your application's Gemfile: - -```ruby -gem 'webrick' -``` - -And then execute: - - $ bundle - -Or install it yourself as: - - $ gem install webrick - -## Usage - -To create a new WEBrick::HTTPServer that will listen to connections on port 8000 and serve documents from the current user's public_html folder: - -```ruby -require 'webrick' - -root = File.expand_path '~/public_html' -server = WEBrick::HTTPServer.new :Port => 8000, :DocumentRoot => root -``` - -To run the server you will need to provide a suitable shutdown hook as -starting the server blocks the current thread: - -```ruby -trap 'INT' do server.shutdown end - -server.start -``` - -## Development - -After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. - -To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/webrick. - -## License - -The gem is available as open source under the terms of the [2-Clause BSD License](https://opensource.org/licenses/BSD-2-Clause). diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/Rakefile b/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/Rakefile deleted file mode 100644 index 5a7afab..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/Rakefile +++ /dev/null @@ -1,17 +0,0 @@ -require "bundler/gem_tasks" -require "rake/testtask" - -Rake::TestTask.new(:test) do |t| - t.libs << "test/lib" - t.ruby_opts << "-rhelper" - t.test_files = FileList["test/**/test_*.rb"] -end - -task :sync_tool do - require 'fileutils' - FileUtils.cp "../ruby/tool/lib/core_assertions.rb", "./test/lib" - FileUtils.cp "../ruby/tool/lib/envutil.rb", "./test/lib" - FileUtils.cp "../ruby/tool/lib/find_executable.rb", "./test/lib" -end - -task :default => :test diff --git a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/webrick.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/webrick.gemspec deleted file mode 100644 index 31423e9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/gems/webrick-1.8.1/webrick.gemspec +++ /dev/null @@ -1,70 +0,0 @@ -# frozen_string_literal: true -begin - require_relative 'lib/webrick/version' -rescue LoadError - # for Ruby core repository - require_relative 'version' -end - -Gem::Specification.new do |s| - s.name = "webrick" - s.version = WEBrick::VERSION - s.summary = "HTTP server toolkit" - s.description = "WEBrick is an HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server." - - s.require_path = %w{lib} - s.files = [ - "Gemfile", - "LICENSE.txt", - "README.md", - "Rakefile", - "lib/webrick.rb", - "lib/webrick/accesslog.rb", - "lib/webrick/cgi.rb", - "lib/webrick/compat.rb", - "lib/webrick/config.rb", - "lib/webrick/cookie.rb", - "lib/webrick/htmlutils.rb", - "lib/webrick/httpauth.rb", - "lib/webrick/httpauth/authenticator.rb", - "lib/webrick/httpauth/basicauth.rb", - "lib/webrick/httpauth/digestauth.rb", - "lib/webrick/httpauth/htdigest.rb", - "lib/webrick/httpauth/htgroup.rb", - "lib/webrick/httpauth/htpasswd.rb", - "lib/webrick/httpauth/userdb.rb", - "lib/webrick/httpproxy.rb", - "lib/webrick/httprequest.rb", - "lib/webrick/httpresponse.rb", - "lib/webrick/https.rb", - "lib/webrick/httpserver.rb", - "lib/webrick/httpservlet.rb", - "lib/webrick/httpservlet/abstract.rb", - "lib/webrick/httpservlet/cgi_runner.rb", - "lib/webrick/httpservlet/cgihandler.rb", - "lib/webrick/httpservlet/erbhandler.rb", - "lib/webrick/httpservlet/filehandler.rb", - "lib/webrick/httpservlet/prochandler.rb", - "lib/webrick/httpstatus.rb", - "lib/webrick/httputils.rb", - "lib/webrick/httpversion.rb", - "lib/webrick/log.rb", - "lib/webrick/server.rb", - "lib/webrick/ssl.rb", - "lib/webrick/utils.rb", - "lib/webrick/version.rb", - "webrick.gemspec", - ] - s.required_ruby_version = ">= 2.4.0" - - s.authors = ["TAKAHASHI Masayoshi", "GOTOU YUUZOU", "Eric Wong"] - s.email = [nil, nil, 'normal@ruby-lang.org'] - s.homepage = "https://github.com/ruby/webrick" - s.licenses = ["Ruby", "BSD-2-Clause"] - - if s.respond_to?(:metadata=) - s.metadata = { - "bug_tracker_uri" => "https://github.com/ruby/webrick/issues", - } - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/activesupport-7.1.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/activesupport-7.1.1.gemspec deleted file mode 100644 index 15fbf63..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/activesupport-7.1.1.gemspec +++ /dev/null @@ -1,49 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: activesupport 7.1.1 ruby lib - -Gem::Specification.new do |s| - s.name = "activesupport".freeze - s.version = "7.1.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/rails/rails/issues", "changelog_uri" => "https://github.com/rails/rails/blob/v7.1.1/activesupport/CHANGELOG.md", "documentation_uri" => "https://api.rubyonrails.org/v7.1.1/", "mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/rails/rails/tree/v7.1.1/activesupport" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["David Heinemeier Hansson".freeze] - s.date = "2023-10-11" - s.description = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.".freeze - s.email = "david@loudthinking.com".freeze - s.homepage = "https://rubyonrails.org".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--encoding".freeze, "UTF-8".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.7.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<i18n>.freeze, [">= 1.6", "< 2"]) - s.add_runtime_dependency(%q<tzinfo>.freeze, ["~> 2.0"]) - s.add_runtime_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0", ">= 1.0.2"]) - s.add_runtime_dependency(%q<connection_pool>.freeze, [">= 2.2.5"]) - s.add_runtime_dependency(%q<minitest>.freeze, [">= 5.1"]) - s.add_runtime_dependency(%q<base64>.freeze, [">= 0"]) - s.add_runtime_dependency(%q<drb>.freeze, [">= 0"]) - s.add_runtime_dependency(%q<mutex_m>.freeze, [">= 0"]) - s.add_runtime_dependency(%q<bigdecimal>.freeze, [">= 0"]) - else - s.add_dependency(%q<i18n>.freeze, [">= 1.6", "< 2"]) - s.add_dependency(%q<tzinfo>.freeze, ["~> 2.0"]) - s.add_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0", ">= 1.0.2"]) - s.add_dependency(%q<connection_pool>.freeze, [">= 2.2.5"]) - s.add_dependency(%q<minitest>.freeze, [">= 5.1"]) - s.add_dependency(%q<base64>.freeze, [">= 0"]) - s.add_dependency(%q<drb>.freeze, [">= 0"]) - s.add_dependency(%q<mutex_m>.freeze, [">= 0"]) - s.add_dependency(%q<bigdecimal>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/addressable-2.8.5.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/addressable-2.8.5.gemspec deleted file mode 100644 index b321746..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/addressable-2.8.5.gemspec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: addressable 2.8.5 ruby lib - -Gem::Specification.new do |s| - s.name = "addressable".freeze - s.version = "2.8.5" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "changelog_uri" => "https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Bob Aman".freeze] - s.date = "2023-08-03" - s.description = "Addressable is an alternative implementation to the URI implementation that is\npart of Ruby's standard library. It is flexible, offers heuristic parsing, and\nadditionally provides extensive support for IRIs and URI templates.\n".freeze - s.email = "bob@sporkmonger.com".freeze - s.extra_rdoc_files = ["README.md".freeze] - s.files = ["README.md".freeze] - s.homepage = "https://github.com/sporkmonger/addressable".freeze - s.licenses = ["Apache-2.0".freeze] - s.rdoc_options = ["--main".freeze, "README.md".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "URI Implementation".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<public_suffix>.freeze, [">= 2.0.2", "< 6.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 1.0", "< 3.0"]) - else - s.add_dependency(%q<public_suffix>.freeze, [">= 2.0.2", "< 6.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 1.0", "< 3.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/base64-0.1.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/base64-0.1.1.gemspec deleted file mode 100644 index d0540ae..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/base64-0.1.1.gemspec +++ /dev/null @@ -1,23 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: base64 0.1.1 ruby lib - -Gem::Specification.new do |s| - s.name = "base64".freeze - s.version = "0.1.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "homepage_uri" => "https://github.com/ruby/base64", "source_code_uri" => "https://github.com/ruby/base64" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Yusuke Endoh".freeze] - s.bindir = "exe".freeze - s.date = "2021-10-14" - s.description = "Support for encoding and decoding binary data using a Base64 representation.".freeze - s.email = ["mame@ruby-lang.org".freeze] - s.homepage = "https://github.com/ruby/base64".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Support for encoding and decoding binary data using a Base64 representation.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/bigdecimal-3.1.4.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/bigdecimal-3.1.4.gemspec deleted file mode 100644 index 939407c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/bigdecimal-3.1.4.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: bigdecimal 3.1.4 ruby lib -# stub: ext/bigdecimal/extconf.rb - -Gem::Specification.new do |s| - s.name = "bigdecimal".freeze - s.version = "3.1.4" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Kenta Murata".freeze, "Zachary Scott".freeze, "Shigeo Kobayashi".freeze] - s.date = "2023-03-07" - s.description = "This library provides arbitrary-precision decimal floating-point number class.".freeze - s.email = ["mrkn@mrkn.jp".freeze] - s.extensions = ["ext/bigdecimal/extconf.rb".freeze] - s.files = ["ext/bigdecimal/extconf.rb".freeze] - s.homepage = "https://github.com/ruby/bigdecimal".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Arbitrary-precision decimal floating-point number library.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/coffee-script-2.4.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/coffee-script-2.4.1.gemspec deleted file mode 100644 index d143be3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/coffee-script-2.4.1.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: coffee-script 2.4.1 ruby lib - -Gem::Specification.new do |s| - s.name = "coffee-script".freeze - s.version = "2.4.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jeremy Ashkenas".freeze, "Joshua Peek".freeze, "Sam Stephenson".freeze] - s.date = "2015-04-06" - s.description = " Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.\n".freeze - s.email = "josh@joshpeek.com".freeze - s.homepage = "http://github.com/josh/ruby-coffee-script".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Ruby CoffeeScript Compiler".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<coffee-script-source>.freeze, [">= 0"]) - s.add_runtime_dependency(%q<execjs>.freeze, [">= 0"]) - s.add_development_dependency(%q<json>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - else - s.add_dependency(%q<coffee-script-source>.freeze, [">= 0"]) - s.add_dependency(%q<execjs>.freeze, [">= 0"]) - s.add_dependency(%q<json>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/coffee-script-source-1.11.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/coffee-script-source-1.11.1.gemspec deleted file mode 100644 index 23f1d81..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/coffee-script-source-1.11.1.gemspec +++ /dev/null @@ -1,20 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: coffee-script-source 1.11.1 ruby lib - -Gem::Specification.new do |s| - s.name = "coffee-script-source".freeze - s.version = "1.11.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jeremy Ashkenas".freeze] - s.date = "2016-10-02" - s.description = " CoffeeScript is a little language that compiles into JavaScript.\n Underneath all of those embarrassing braces and semicolons,\n JavaScript has always had a gorgeous object model at its heart.\n CoffeeScript is an attempt to expose the good parts of JavaScript\n in a simple way.\n".freeze - s.email = "jashkenas@gmail.com".freeze - s.homepage = "http://coffeescript.org".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "The CoffeeScript Compiler".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/colorator-1.1.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/colorator-1.1.0.gemspec deleted file mode 100644 index da53f58..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/colorator-1.1.0.gemspec +++ /dev/null @@ -1,32 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: colorator 1.1.0 ruby lib - -Gem::Specification.new do |s| - s.name = "colorator".freeze - s.version = "1.1.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze, "Brandon Mathis".freeze] - s.date = "2016-06-29" - s.email = ["parkrmoore@gmail.com".freeze, "brandon@imathis.com".freeze] - s.extra_rdoc_files = ["README.markdown".freeze, "LICENSE".freeze] - s.files = ["LICENSE".freeze, "README.markdown".freeze] - s.homepage = "https://github.com/octopress/colorator".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--charset=UTF-8".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Colorize your text in the terminal.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.1"]) - else - s.add_dependency(%q<rspec>.freeze, ["~> 3.1"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/commonmarker-0.23.10.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/commonmarker-0.23.10.gemspec deleted file mode 100644 index 016b607..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/specifications/commonmarker-0.23.10.gemspec and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/concurrent-ruby-1.2.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/concurrent-ruby-1.2.2.gemspec deleted file mode 100644 index 19a9bed..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/concurrent-ruby-1.2.2.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: concurrent-ruby 1.2.2 ruby lib/concurrent-ruby - -Gem::Specification.new do |s| - s.name = "concurrent-ruby".freeze - s.version = "1.2.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "changelog_uri" => "https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md", "source_code_uri" => "https://github.com/ruby-concurrency/concurrent-ruby" } if s.respond_to? :metadata= - s.require_paths = ["lib/concurrent-ruby".freeze] - s.authors = ["Jerry D'Antonio".freeze, "Petr Chalupa".freeze, "The Ruby Concurrency Team".freeze] - s.date = "2023-02-24" - s.description = "Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.\nInspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.\n".freeze - s.email = "concurrent-ruby@googlegroups.com".freeze - s.extra_rdoc_files = ["README.md".freeze, "LICENSE.txt".freeze, "CHANGELOG.md".freeze] - s.files = ["CHANGELOG.md".freeze, "LICENSE.txt".freeze, "README.md".freeze] - s.homepage = "http://www.concurrent-ruby.com".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Modern concurrency tools for Ruby. Inspired by Erlang, Clojure, Scala, Haskell, F#, C#, Java, and classic concurrency patterns.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/connection_pool-2.4.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/connection_pool-2.4.1.gemspec deleted file mode 100644 index daddaa6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/connection_pool-2.4.1.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: connection_pool 2.4.1 ruby lib - -Gem::Specification.new do |s| - s.name = "connection_pool".freeze - s.version = "2.4.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "changelog_uri" => "https://github.com/mperham/connection_pool/blob/main/Changes.md", "rubygems_mfa_required" => "true" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Mike Perham".freeze, "Damian Janowski".freeze] - s.date = "2023-05-19" - s.description = "Generic connection pool for Ruby".freeze - s.email = ["mperham@gmail.com".freeze, "damian@educabilia.com".freeze] - s.homepage = "https://github.com/mperham/connection_pool".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Generic connection pool for Ruby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<minitest>.freeze, [">= 5.0.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - else - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<minitest>.freeze, [">= 5.0.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/dnsruby-1.70.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/dnsruby-1.70.0.gemspec deleted file mode 100644 index d9c9022..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/dnsruby-1.70.0.gemspec +++ /dev/null @@ -1,48 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: dnsruby 1.70.0 ruby lib - -Gem::Specification.new do |s| - s.name = "dnsruby".freeze - s.version = "1.70.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/alexdalitz/dnsruby/issues", "changelog_uri" => "https://github.com/alexdalitz/dnsruby/blob/master/RELEASE_NOTES.md", "documentation_uri" => "https://www.rubydoc.info/gems/dnsruby/", "homepage_uri" => "https://github.com/alexdalitz/dnsruby", "source_code_uri" => "https://github.com/alexdalitz/dnsruby", "yard.run" => "yard" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Alex Dalitz".freeze] - s.date = "2023-04-11" - s.description = "Dnsruby is a pure Ruby DNS client library which implements a\nstub resolver. It aims to comply with all DNS RFCs, including\nDNSSEC NSEC3 support.".freeze - s.email = "alex@caerkettontech.com".freeze - s.extra_rdoc_files = ["DNSSEC".freeze, "EXAMPLES".freeze, "README.md".freeze, "EVENTMACHINE".freeze] - s.files = ["DNSSEC".freeze, "EVENTMACHINE".freeze, "EXAMPLES".freeze, "README.md".freeze] - s.homepage = "https://github.com/alexdalitz/dnsruby".freeze - s.licenses = ["Apache License, Version 2.0".freeze] - s.post_install_message = "Installing dnsruby...\n For issues and source code: https://github.com/alexdalitz/dnsruby\n For general discussion (please tell us how you use dnsruby): https://groups.google.com/forum/#!forum/dnsruby".freeze - s.rubygems_version = "3.3.5".freeze - s.summary = "Ruby DNS(SEC) implementation".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rake>.freeze, [">= 13.0.6"]) - s.add_development_dependency(%q<minitest>.freeze, ["~> 5.18.0"]) - s.add_development_dependency(%q<rubydns>.freeze, [">= 2.0.2"]) - s.add_development_dependency(%q<nio4r>.freeze, [">= 2.5.8"]) - s.add_development_dependency(%q<minitest-display>.freeze, [">= 0.3.1"]) - s.add_development_dependency(%q<yard>.freeze, [">= 0.9"]) - s.add_development_dependency(%q<coveralls>.freeze, ["~> 0.8.23"]) - s.add_runtime_dependency(%q<simpleidn>.freeze, ["~> 0.2.1"]) - else - s.add_dependency(%q<rake>.freeze, [">= 13.0.6"]) - s.add_dependency(%q<minitest>.freeze, ["~> 5.18.0"]) - s.add_dependency(%q<rubydns>.freeze, [">= 2.0.2"]) - s.add_dependency(%q<nio4r>.freeze, [">= 2.5.8"]) - s.add_dependency(%q<minitest-display>.freeze, [">= 0.3.1"]) - s.add_dependency(%q<yard>.freeze, [">= 0.9"]) - s.add_dependency(%q<coveralls>.freeze, ["~> 0.8.23"]) - s.add_dependency(%q<simpleidn>.freeze, ["~> 0.2.1"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/drb-2.1.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/drb-2.1.1.gemspec deleted file mode 100644 index 98005d1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/drb-2.1.1.gemspec +++ /dev/null @@ -1,32 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: drb 2.1.1 ruby lib - -Gem::Specification.new do |s| - s.name = "drb".freeze - s.version = "2.1.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "homepage_uri" => "https://github.com/ruby/drb", "source_code_uri" => "https://github.com/ruby/drb" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Masatoshi SEKI".freeze] - s.date = "2022-12-05" - s.description = "Distributed object system for Ruby".freeze - s.email = ["seki@ruby-lang.org".freeze] - s.homepage = "https://github.com/ruby/drb".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.7.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Distributed object system for Ruby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<ruby2_keywords>.freeze, [">= 0"]) - else - s.add_dependency(%q<ruby2_keywords>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/em-websocket-0.5.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/em-websocket-0.5.3.gemspec deleted file mode 100644 index 4216cf7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/em-websocket-0.5.3.gemspec +++ /dev/null @@ -1,32 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: em-websocket 0.5.3 ruby lib - -Gem::Specification.new do |s| - s.name = "em-websocket".freeze - s.version = "0.5.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ilya Grigorik".freeze, "Martyn Loughran".freeze] - s.date = "2021-11-11" - s.description = "EventMachine based WebSocket server".freeze - s.email = ["ilya@igvita.com".freeze, "me@mloughran.com".freeze] - s.homepage = "http://github.com/igrigorik/em-websocket".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "EventMachine based WebSocket server".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<eventmachine>.freeze, [">= 0.12.9"]) - s.add_runtime_dependency(%q<http_parser.rb>.freeze, ["~> 0"]) - else - s.add_dependency(%q<eventmachine>.freeze, [">= 0.12.9"]) - s.add_dependency(%q<http_parser.rb>.freeze, ["~> 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/ethon-0.16.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/ethon-0.16.0.gemspec deleted file mode 100644 index 11d8414..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/ethon-0.16.0.gemspec +++ /dev/null @@ -1,30 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: ethon 0.16.0 ruby lib - -Gem::Specification.new do |s| - s.name = "ethon".freeze - s.version = "0.16.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Hans Hasselberg".freeze] - s.date = "2022-11-04" - s.description = "Very lightweight libcurl wrapper.".freeze - s.email = ["me@hans.io".freeze] - s.homepage = "https://github.com/typhoeus/ethon".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Libcurl wrapper.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<ffi>.freeze, [">= 1.15.0"]) - else - s.add_dependency(%q<ffi>.freeze, [">= 1.15.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/eventmachine-1.2.7.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/eventmachine-1.2.7.gemspec deleted file mode 100644 index ec02c21..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/specifications/eventmachine-1.2.7.gemspec and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/execjs-2.9.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/execjs-2.9.1.gemspec deleted file mode 100644 index a031027..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/execjs-2.9.1.gemspec +++ /dev/null @@ -1,31 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: execjs 2.9.1 ruby lib - -Gem::Specification.new do |s| - s.name = "execjs".freeze - s.version = "2.9.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Sam Stephenson".freeze, "Josh Peek".freeze] - s.date = "2023-09-16" - s.description = "ExecJS lets you run JavaScript code from Ruby.".freeze - s.email = ["sstephenson@gmail.com".freeze, "josh@joshpeek.com".freeze] - s.homepage = "https://github.com/rails/execjs".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Run JavaScript code from Ruby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - else - s.add_dependency(%q<rake>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/faraday-2.7.11.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/faraday-2.7.11.gemspec deleted file mode 100644 index e8cdd02..0000000 Binary files a/docs/website/vendor/bundle/ruby/3.0.0/specifications/faraday-2.7.11.gemspec and /dev/null differ diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/faraday-net_http-3.0.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/faraday-net_http-3.0.2.gemspec deleted file mode 100644 index 770f064..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/faraday-net_http-3.0.2.gemspec +++ /dev/null @@ -1,32 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: faraday-net_http 3.0.2 ruby lib - -Gem::Specification.new do |s| - s.name = "faraday-net_http".freeze - s.version = "3.0.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "changelog_uri" => "https://github.com/lostisland/faraday-net_http/releases/tag/v3.0.2", "homepage_uri" => "https://github.com/lostisland/faraday-net_http", "source_code_uri" => "https://github.com/lostisland/faraday-net_http" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Jan van der Pas".freeze] - s.date = "2022-11-11" - s.description = "Faraday adapter for Net::HTTP".freeze - s.email = ["janvanderpas@gmail.com".freeze] - s.homepage = "https://github.com/lostisland/faraday-net_http".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.6.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Faraday adapter for Net::HTTP".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<faraday>.freeze, [">= 2.5"]) - else - s.add_dependency(%q<faraday>.freeze, [">= 2.5"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/ffi-1.16.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/ffi-1.16.3.gemspec deleted file mode 100644 index d2faab7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/ffi-1.16.3.gemspec +++ /dev/null @@ -1,43 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: ffi 1.16.3 ruby lib -# stub: ext/ffi_c/extconf.rb - -Gem::Specification.new do |s| - s.name = "ffi".freeze - s.version = "1.16.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/ffi/ffi/issues", "changelog_uri" => "https://github.com/ffi/ffi/blob/master/CHANGELOG.md", "documentation_uri" => "https://github.com/ffi/ffi/wiki", "mailing_list_uri" => "http://groups.google.com/group/ruby-ffi", "source_code_uri" => "https://github.com/ffi/ffi/", "wiki_uri" => "https://github.com/ffi/ffi/wiki" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Wayne Meissner".freeze] - s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIEBDCCAmygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1sYXJz\nL0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yMzAyMTUxNzQxMTVaFw0yNDAy\nMTUxNzQxMTVaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD\nPWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwum6Y1KznfpzXOT/\nmZgJTBbxZuuZF49Fq3K0WA67YBzNlDv95qzSp7V/7Ek3NCcnT7G+2kSuhNo1FhdN\neSDO/moYebZNAcu3iqLsuzuULXPLuoU0GsMnVMqV9DZPh7cQHE5EBZ7hlzDBK7k/\n8nBMvR0mHo77kIkapHc26UzVq/G0nKLfDsIHXVylto3PjzOumjG6GhmFN4r3cP6e\nSDfl1FSeRYVpt4kmQULz/zdSaOH3AjAq7PM2Z91iGwQvoUXMANH2v89OWjQO/NHe\nJMNDFsmHK/6Ji4Kk48Z3TyscHQnipAID5GhS1oD21/WePdj7GhmbF5gBzkV5uepd\neJQPgWGwrQW/Z2oPjRuJrRofzWfrMWqbOahj9uth6WSxhNexUtbjk6P8emmXOJi5\nchQPnWX+N3Gj+jjYxqTFdwT7Mj3pv1VHa+aNUbqSPpvJeDyxRIuo9hvzDaBHb/Cg\n9qRVcm8a96n4t7y2lrX1oookY6bkBaxWOMtWlqIprq8JZXM9AgMBAAGjOTA3MAkG\nA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ4h1tIyvdUWtMI739xMzTR\n7EfMFzANBgkqhkiG9w0BAQsFAAOCAYEAQAcuTARfiiVUVx5KURICfdTM2Kd7LhOn\nqt3Vs4ANGvT226LEp3RnQ+kWGQYMRb3cw3LY2TNQRPlnZxE994mgjBscN4fbjXqO\nT0JbVpeszRZa5k1goggbnWT7CO7yU7WcHh13DaSubY7HUpAJn2xz9w2stxQfN/EE\nVMlnDJ1P7mUHAvpK8X9j9h7Xlc1niViT18MYwux8mboVTryrLr+clATUkkM3yBF0\nRV+c34ReW5eXO9Tr6aKTxh/pFC9ggDT6jOxuJgSvG8HWJzVf4NDvMavIas4KYjiI\nBU6CpWaG5NxicqL3BERi52U43HV08br+LNVpb7Rekgve/PJuSFnAR015bhSRXe5U\nvBioD1qW2ZW9tXg8Ww2IfDaO5a1So5Xby51rhNlyo6ATj2NkuLWZUKPKHhAz0TKm\nDzx/gFSOrRoCt2mXNgrmcAfr386AfaMvCh7cXqdxZwmVo7ILZCYXck0pajvubsDd\nNUIIFkVXvd1odFyK9LF1RFAtxn/iAmpx\n-----END CERTIFICATE-----\n".freeze] - s.date = "2023-10-04" - s.description = "Ruby FFI library".freeze - s.email = "wmeissner@gmail.com".freeze - s.extensions = ["ext/ffi_c/extconf.rb".freeze] - s.files = ["ext/ffi_c/extconf.rb".freeze] - s.homepage = "https://github.com/ffi/ffi/wiki".freeze - s.licenses = ["BSD-3-Clause".freeze] - s.rdoc_options = ["--exclude=ext/ffi_c/.*\\.o$".freeze, "--exclude=ffi_c\\.(bundle|so)$".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Ruby FFI".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rake>.freeze, ["~> 13.0"]) - s.add_development_dependency(%q<rake-compiler>.freeze, ["~> 1.1"]) - s.add_development_dependency(%q<rake-compiler-dock>.freeze, ["~> 1.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 2.14.1"]) - else - s.add_dependency(%q<rake>.freeze, ["~> 13.0"]) - s.add_dependency(%q<rake-compiler>.freeze, ["~> 1.1"]) - s.add_dependency(%q<rake-compiler-dock>.freeze, ["~> 1.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 2.14.1"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/forwardable-extended-2.6.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/forwardable-extended-2.6.0.gemspec deleted file mode 100644 index e24286a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/forwardable-extended-2.6.0.gemspec +++ /dev/null @@ -1,20 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: forwardable-extended 2.6.0 ruby lib - -Gem::Specification.new do |s| - s.name = "forwardable-extended".freeze - s.version = "2.6.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jordon Bedwell".freeze] - s.date = "2016-04-06" - s.description = "Forwardable with hash, and instance variable extensions.".freeze - s.email = ["jordon@envygeeks.io".freeze] - s.homepage = "http://github.com/envygeeks/forwardable-extended".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Forwardable with hash, and instance variable extensions.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/gemoji-3.0.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/gemoji-3.0.1.gemspec deleted file mode 100644 index deac51e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/gemoji-3.0.1.gemspec +++ /dev/null @@ -1,23 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: gemoji 3.0.1 ruby lib - -Gem::Specification.new do |s| - s.name = "gemoji".freeze - s.version = "3.0.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub".freeze] - s.date = "2019-04-25" - s.description = "Character information and metadata for standard and custom emoji.".freeze - s.email = "support@github.com".freeze - s.executables = ["gemoji".freeze] - s.files = ["bin/gemoji".freeze] - s.homepage = "https://github.com/github/gemoji".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new("> 1.9".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Emoji library".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/github-pages-228.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/github-pages-228.gemspec deleted file mode 100644 index 7d17bb3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/github-pages-228.gemspec +++ /dev/null @@ -1,127 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: github-pages 228 ruby lib - -Gem::Specification.new do |s| - s.name = "github-pages".freeze - s.version = "228" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2023-02-01" - s.description = "Bootstrap the GitHub Pages Jekyll environment locally.".freeze - s.email = "support@github.com".freeze - s.executables = ["github-pages".freeze] - s.files = ["bin/github-pages".freeze] - s.homepage = "https://github.com/github/pages-gem".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Track GitHub Pages dependencies.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["= 3.9.3"]) - s.add_runtime_dependency(%q<jekyll-sass-converter>.freeze, ["= 1.5.2"]) - s.add_runtime_dependency(%q<kramdown>.freeze, ["= 2.3.2"]) - s.add_runtime_dependency(%q<kramdown-parser-gfm>.freeze, ["= 1.1.0"]) - s.add_runtime_dependency(%q<jekyll-commonmark-ghpages>.freeze, ["= 0.4.0"]) - s.add_runtime_dependency(%q<liquid>.freeze, ["= 4.0.4"]) - s.add_runtime_dependency(%q<rouge>.freeze, ["= 3.26.0"]) - s.add_runtime_dependency(%q<github-pages-health-check>.freeze, ["= 1.17.9"]) - s.add_runtime_dependency(%q<jekyll-redirect-from>.freeze, ["= 0.16.0"]) - s.add_runtime_dependency(%q<jekyll-sitemap>.freeze, ["= 1.4.0"]) - s.add_runtime_dependency(%q<jekyll-feed>.freeze, ["= 0.15.1"]) - s.add_runtime_dependency(%q<jekyll-gist>.freeze, ["= 1.5.0"]) - s.add_runtime_dependency(%q<jekyll-paginate>.freeze, ["= 1.1.0"]) - s.add_runtime_dependency(%q<jekyll-coffeescript>.freeze, ["= 1.1.1"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["= 2.8.0"]) - s.add_runtime_dependency(%q<jekyll-github-metadata>.freeze, ["= 2.13.0"]) - s.add_runtime_dependency(%q<jekyll-avatar>.freeze, ["= 0.7.0"]) - s.add_runtime_dependency(%q<jekyll-remote-theme>.freeze, ["= 0.4.3"]) - s.add_runtime_dependency(%q<jekyll-include-cache>.freeze, ["= 0.2.1"]) - s.add_runtime_dependency(%q<jemoji>.freeze, ["= 0.12.0"]) - s.add_runtime_dependency(%q<jekyll-mentions>.freeze, ["= 1.6.0"]) - s.add_runtime_dependency(%q<jekyll-relative-links>.freeze, ["= 0.6.1"]) - s.add_runtime_dependency(%q<jekyll-optional-front-matter>.freeze, ["= 0.3.2"]) - s.add_runtime_dependency(%q<jekyll-readme-index>.freeze, ["= 0.3.0"]) - s.add_runtime_dependency(%q<jekyll-default-layout>.freeze, ["= 0.1.4"]) - s.add_runtime_dependency(%q<jekyll-titles-from-headings>.freeze, ["= 0.5.3"]) - s.add_runtime_dependency(%q<minima>.freeze, ["= 2.5.1"]) - s.add_runtime_dependency(%q<jekyll-swiss>.freeze, ["= 1.0.0"]) - s.add_runtime_dependency(%q<jekyll-theme-primer>.freeze, ["= 0.6.0"]) - s.add_runtime_dependency(%q<jekyll-theme-architect>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-cayman>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-dinky>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-hacker>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-leap-day>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-merlot>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-midnight>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-minimal>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-modernist>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-slate>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-tactile>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<jekyll-theme-time-machine>.freeze, ["= 0.2.0"]) - s.add_runtime_dependency(%q<mercenary>.freeze, ["~> 0.3"]) - s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.13.6", "< 2.0"]) - s.add_runtime_dependency(%q<terminal-table>.freeze, ["~> 1.4"]) - s.add_development_dependency(%q<jekyll_test_plugin_malicious>.freeze, ["~> 0.2"]) - s.add_development_dependency(%q<pry>.freeze, ["~> 0.10"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.3"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["= 0.16.0"]) - else - s.add_dependency(%q<jekyll>.freeze, ["= 3.9.3"]) - s.add_dependency(%q<jekyll-sass-converter>.freeze, ["= 1.5.2"]) - s.add_dependency(%q<kramdown>.freeze, ["= 2.3.2"]) - s.add_dependency(%q<kramdown-parser-gfm>.freeze, ["= 1.1.0"]) - s.add_dependency(%q<jekyll-commonmark-ghpages>.freeze, ["= 0.4.0"]) - s.add_dependency(%q<liquid>.freeze, ["= 4.0.4"]) - s.add_dependency(%q<rouge>.freeze, ["= 3.26.0"]) - s.add_dependency(%q<github-pages-health-check>.freeze, ["= 1.17.9"]) - s.add_dependency(%q<jekyll-redirect-from>.freeze, ["= 0.16.0"]) - s.add_dependency(%q<jekyll-sitemap>.freeze, ["= 1.4.0"]) - s.add_dependency(%q<jekyll-feed>.freeze, ["= 0.15.1"]) - s.add_dependency(%q<jekyll-gist>.freeze, ["= 1.5.0"]) - s.add_dependency(%q<jekyll-paginate>.freeze, ["= 1.1.0"]) - s.add_dependency(%q<jekyll-coffeescript>.freeze, ["= 1.1.1"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["= 2.8.0"]) - s.add_dependency(%q<jekyll-github-metadata>.freeze, ["= 2.13.0"]) - s.add_dependency(%q<jekyll-avatar>.freeze, ["= 0.7.0"]) - s.add_dependency(%q<jekyll-remote-theme>.freeze, ["= 0.4.3"]) - s.add_dependency(%q<jekyll-include-cache>.freeze, ["= 0.2.1"]) - s.add_dependency(%q<jemoji>.freeze, ["= 0.12.0"]) - s.add_dependency(%q<jekyll-mentions>.freeze, ["= 1.6.0"]) - s.add_dependency(%q<jekyll-relative-links>.freeze, ["= 0.6.1"]) - s.add_dependency(%q<jekyll-optional-front-matter>.freeze, ["= 0.3.2"]) - s.add_dependency(%q<jekyll-readme-index>.freeze, ["= 0.3.0"]) - s.add_dependency(%q<jekyll-default-layout>.freeze, ["= 0.1.4"]) - s.add_dependency(%q<jekyll-titles-from-headings>.freeze, ["= 0.5.3"]) - s.add_dependency(%q<minima>.freeze, ["= 2.5.1"]) - s.add_dependency(%q<jekyll-swiss>.freeze, ["= 1.0.0"]) - s.add_dependency(%q<jekyll-theme-primer>.freeze, ["= 0.6.0"]) - s.add_dependency(%q<jekyll-theme-architect>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-cayman>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-dinky>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-hacker>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-leap-day>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-merlot>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-midnight>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-minimal>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-modernist>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-slate>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-tactile>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<jekyll-theme-time-machine>.freeze, ["= 0.2.0"]) - s.add_dependency(%q<mercenary>.freeze, ["~> 0.3"]) - s.add_dependency(%q<nokogiri>.freeze, [">= 1.13.6", "< 2.0"]) - s.add_dependency(%q<terminal-table>.freeze, ["~> 1.4"]) - s.add_dependency(%q<jekyll_test_plugin_malicious>.freeze, ["~> 0.2"]) - s.add_dependency(%q<pry>.freeze, ["~> 0.10"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.3"]) - s.add_dependency(%q<rubocop-github>.freeze, ["= 0.16.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/github-pages-health-check-1.17.9.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/github-pages-health-check-1.17.9.gemspec deleted file mode 100644 index 25b8df7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/github-pages-health-check-1.17.9.gemspec +++ /dev/null @@ -1,39 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: github-pages-health-check 1.17.9 ruby lib - -Gem::Specification.new do |s| - s.name = "github-pages-health-check".freeze - s.version = "1.17.9" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2021-10-01" - s.description = "Checks your GitHub Pages site for commons DNS configuration issues.".freeze - s.email = "support@github.com".freeze - s.homepage = "https://github.com/github/github-pages-health-check".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.2.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Checks your GitHub Pages site for commons DNS configuration issues".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<addressable>.freeze, ["~> 2.3"]) - s.add_runtime_dependency(%q<dnsruby>.freeze, ["~> 1.60"]) - s.add_runtime_dependency(%q<octokit>.freeze, ["~> 4.0"]) - s.add_runtime_dependency(%q<public_suffix>.freeze, [">= 3.0", "< 5.0"]) - s.add_runtime_dependency(%q<typhoeus>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<addressable>.freeze, ["~> 2.3"]) - s.add_dependency(%q<dnsruby>.freeze, ["~> 1.60"]) - s.add_dependency(%q<octokit>.freeze, ["~> 4.0"]) - s.add_dependency(%q<public_suffix>.freeze, [">= 3.0", "< 5.0"]) - s.add_dependency(%q<typhoeus>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/html-pipeline-2.14.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/html-pipeline-2.14.3.gemspec deleted file mode 100644 index db9b6e4..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/html-pipeline-2.14.3.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: html-pipeline 2.14.3 ruby lib - -Gem::Specification.new do |s| - s.name = "html-pipeline".freeze - s.version = "2.14.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ryan Tomayko".freeze, "Jerry Cheung".freeze, "Garen J. Torikian".freeze] - s.date = "2022-10-14" - s.description = "GitHub HTML processing filters and utilities".freeze - s.email = ["ryan@github.com".freeze, "jerry@github.com".freeze, "gjtorikian@gmail.com".freeze] - s.homepage = "https://github.com/jch/html-pipeline".freeze - s.licenses = ["MIT".freeze] - s.post_install_message = "-------------------------------------------------\nThank you for installing html-pipeline!\nYou must bundle Filter gem dependencies.\nSee html-pipeline README.md for more details.\nhttps://github.com/jch/html-pipeline#dependencies\n-------------------------------------------------\n".freeze - s.rubygems_version = "3.3.5".freeze - s.summary = "Helpers for processing content through a chain of filters".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<activesupport>.freeze, [">= 2"]) - s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.4"]) - else - s.add_dependency(%q<activesupport>.freeze, [">= 2"]) - s.add_dependency(%q<nokogiri>.freeze, [">= 1.4"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/http_parser.rb-0.8.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/http_parser.rb-0.8.0.gemspec deleted file mode 100644 index 8784320..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/http_parser.rb-0.8.0.gemspec +++ /dev/null @@ -1,43 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: http_parser.rb 0.8.0 ruby lib -# stub: ext/ruby_http_parser/extconf.rb - -Gem::Specification.new do |s| - s.name = "http_parser.rb".freeze - s.version = "0.8.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Marc-Andre Cournoyer".freeze, "Aman Gupta".freeze] - s.date = "2021-09-01" - s.description = "Ruby bindings to https://github.com/joyent/http-parser and https://github.com/http-parser/http-parser.java".freeze - s.email = ["macournoyer@gmail.com".freeze, "aman@tmm1.net".freeze] - s.extensions = ["ext/ruby_http_parser/extconf.rb".freeze] - s.files = ["ext/ruby_http_parser/extconf.rb".freeze] - s.homepage = "https://github.com/tmm1/http_parser.rb".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Simple callback-based HTTP request/response parser".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rake-compiler>.freeze, ["~> 1.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3"]) - s.add_development_dependency(%q<json>.freeze, ["~> 2.1"]) - s.add_development_dependency(%q<benchmark_suite>.freeze, ["~> 1.0"]) - s.add_development_dependency(%q<ffi>.freeze, ["~> 1.9"]) - s.add_development_dependency(%q<yajl-ruby>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<rake-compiler>.freeze, ["~> 1.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3"]) - s.add_dependency(%q<json>.freeze, ["~> 2.1"]) - s.add_dependency(%q<benchmark_suite>.freeze, ["~> 1.0"]) - s.add_dependency(%q<ffi>.freeze, ["~> 1.9"]) - s.add_dependency(%q<yajl-ruby>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/i18n-1.14.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/i18n-1.14.1.gemspec deleted file mode 100644 index 15e0ca5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/i18n-1.14.1.gemspec +++ /dev/null @@ -1,32 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: i18n 1.14.1 ruby lib - -Gem::Specification.new do |s| - s.name = "i18n".freeze - s.version = "1.14.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/ruby-i18n/i18n/issues", "changelog_uri" => "https://github.com/ruby-i18n/i18n/releases", "documentation_uri" => "https://guides.rubyonrails.org/i18n.html", "source_code_uri" => "https://github.com/ruby-i18n/i18n" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Sven Fuchs".freeze, "Joshua Harvey".freeze, "Matt Aimonetti".freeze, "Stephan Soller".freeze, "Saimon Moore".freeze, "Ryan Bigg".freeze] - s.date = "2023-06-04" - s.description = "New wave Internationalization support for Ruby.".freeze - s.email = "rails-i18n@googlegroups.com".freeze - s.homepage = "https://github.com/ruby-i18n/i18n".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "New wave Internationalization support for Ruby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0"]) - else - s.add_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-3.9.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-3.9.3.gemspec deleted file mode 100644 index ae571a0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-3.9.3.gemspec +++ /dev/null @@ -1,58 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll 3.9.3 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll".freeze - s.version = "3.9.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Tom Preston-Werner".freeze] - s.bindir = "exe".freeze - s.date = "2023-01-30" - s.description = "Jekyll is a simple, blog aware, static site generator.".freeze - s.email = "tom@mojombo.com".freeze - s.executables = ["jekyll".freeze] - s.extra_rdoc_files = ["README.markdown".freeze, "LICENSE".freeze] - s.files = ["LICENSE".freeze, "README.markdown".freeze, "exe/jekyll".freeze] - s.homepage = "https://github.com/jekyll/jekyll".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--charset=UTF-8".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.1.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A simple, blog aware, static site generator.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 2 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<addressable>.freeze, ["~> 2.4"]) - s.add_runtime_dependency(%q<colorator>.freeze, ["~> 1.0"]) - s.add_runtime_dependency(%q<em-websocket>.freeze, ["~> 0.5"]) - s.add_runtime_dependency(%q<i18n>.freeze, [">= 0.7", "< 2"]) - s.add_runtime_dependency(%q<jekyll-sass-converter>.freeze, ["~> 1.0"]) - s.add_runtime_dependency(%q<jekyll-watch>.freeze, ["~> 2.0"]) - s.add_runtime_dependency(%q<liquid>.freeze, ["~> 4.0"]) - s.add_runtime_dependency(%q<mercenary>.freeze, ["~> 0.3.3"]) - s.add_runtime_dependency(%q<pathutil>.freeze, ["~> 0.9"]) - s.add_runtime_dependency(%q<rouge>.freeze, [">= 1.7", "< 4"]) - s.add_runtime_dependency(%q<safe_yaml>.freeze, ["~> 1.0"]) - s.add_runtime_dependency(%q<kramdown>.freeze, [">= 1.17", "< 3"]) - else - s.add_dependency(%q<addressable>.freeze, ["~> 2.4"]) - s.add_dependency(%q<colorator>.freeze, ["~> 1.0"]) - s.add_dependency(%q<em-websocket>.freeze, ["~> 0.5"]) - s.add_dependency(%q<i18n>.freeze, [">= 0.7", "< 2"]) - s.add_dependency(%q<jekyll-sass-converter>.freeze, ["~> 1.0"]) - s.add_dependency(%q<jekyll-watch>.freeze, ["~> 2.0"]) - s.add_dependency(%q<liquid>.freeze, ["~> 4.0"]) - s.add_dependency(%q<mercenary>.freeze, ["~> 0.3.3"]) - s.add_dependency(%q<pathutil>.freeze, ["~> 0.9"]) - s.add_dependency(%q<rouge>.freeze, [">= 1.7", "< 4"]) - s.add_dependency(%q<safe_yaml>.freeze, ["~> 1.0"]) - s.add_dependency(%q<kramdown>.freeze, [">= 1.17", "< 3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-avatar-0.7.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-avatar-0.7.0.gemspec deleted file mode 100644 index 6c1cb12..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-avatar-0.7.0.gemspec +++ /dev/null @@ -1,39 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-avatar 0.7.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-avatar".freeze - s.version = "0.7.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2019-08-12" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-avatar".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin for rendering GitHub avatars".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, ["> 1.0", "< 3.0"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.3"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rspec-html-matchers>.freeze, ["~> 0.9"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10.0"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, ["> 1.0", "< 3.0"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.3"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rspec-html-matchers>.freeze, ["~> 0.9"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-coffeescript-1.1.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-coffeescript-1.1.1.gemspec deleted file mode 100644 index 5ef021c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-coffeescript-1.1.1.gemspec +++ /dev/null @@ -1,41 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-coffeescript 1.1.1 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-coffeescript".freeze - s.version = "1.1.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2018-02-03" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-coffeescript".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A CoffeeScript converter for Jekyll.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<coffee-script>.freeze, ["~> 2.2"]) - s.add_runtime_dependency(%q<coffee-script-source>.freeze, ["~> 1.11.1"]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.5"]) - s.add_development_dependency(%q<jekyll>.freeze, [">= 2.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, [">= 0"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.51"]) - else - s.add_dependency(%q<coffee-script>.freeze, ["~> 2.2"]) - s.add_dependency(%q<coffee-script-source>.freeze, ["~> 1.11.1"]) - s.add_dependency(%q<bundler>.freeze, ["~> 1.5"]) - s.add_dependency(%q<jekyll>.freeze, [">= 2.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, [">= 0"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.51"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-commonmark-1.4.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-commonmark-1.4.0.gemspec deleted file mode 100644 index fc7ed4b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-commonmark-1.4.0.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-commonmark 1.4.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-commonmark".freeze - s.version = "1.4.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Pat Hawks".freeze] - s.date = "2022-01-30" - s.email = "pat@pathawks.com".freeze - s.homepage = "https://github.com/jekyll/jekyll-commonmark".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.6.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "CommonMark generator for Jekyll".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<commonmarker>.freeze, ["~> 0.22"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.12.0"]) - else - s.add_dependency(%q<commonmarker>.freeze, ["~> 0.22"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.12.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-commonmark-ghpages-0.4.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-commonmark-ghpages-0.4.0.gemspec deleted file mode 100644 index 8a5f765..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-commonmark-ghpages-0.4.0.gemspec +++ /dev/null @@ -1,39 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-commonmark-ghpages 0.4.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-commonmark-ghpages".freeze - s.version = "0.4.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2023-02-01" - s.email = "support@github.com".freeze - s.homepage = "https://github.com/github/jekyll-commonmark-ghpages".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "CommonMark generator for Jekyll".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["~> 3.9.0"]) - s.add_runtime_dependency(%q<jekyll-commonmark>.freeze, ["~> 1.4.0"]) - s.add_runtime_dependency(%q<commonmarker>.freeze, ["~> 0.23.7"]) - s.add_runtime_dependency(%q<rouge>.freeze, [">= 2.0", "< 5.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - else - s.add_dependency(%q<jekyll>.freeze, ["~> 3.9.0"]) - s.add_dependency(%q<jekyll-commonmark>.freeze, ["~> 1.4.0"]) - s.add_dependency(%q<commonmarker>.freeze, ["~> 0.23.7"]) - s.add_dependency(%q<rouge>.freeze, [">= 2.0", "< 5.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-default-layout-0.1.4.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-default-layout-0.1.4.gemspec deleted file mode 100644 index 0092dc7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-default-layout-0.1.4.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-default-layout 0.1.4 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-default-layout".freeze - s.version = "0.1.4" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2016-12-08" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-default-layout".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Silently sets default layouts for Jekyll pages and posts".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.43"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - else - s.add_dependency(%q<jekyll>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.43"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-feed-0.15.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-feed-0.15.1.gemspec deleted file mode 100644 index 351a7a5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-feed-0.15.1.gemspec +++ /dev/null @@ -1,44 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-feed 0.15.1 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-feed".freeze - s.version = "0.15.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2020-10-04" - s.email = ["ben.balter@github.com".freeze] - s.extra_rdoc_files = ["README.md".freeze, "History.markdown".freeze, "LICENSE.txt".freeze] - s.files = ["History.markdown".freeze, "LICENSE.txt".freeze, "README.md".freeze] - s.homepage = "https://github.com/jekyll/jekyll-feed".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to generate an Atom feed of your Jekyll posts".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<nokogiri>.freeze, ["~> 1.6"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.5"]) - s.add_development_dependency(%q<typhoeus>.freeze, [">= 0.7", "< 2.0"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<nokogiri>.freeze, ["~> 1.6"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.5"]) - s.add_dependency(%q<typhoeus>.freeze, [">= 0.7", "< 2.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-gist-1.5.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-gist-1.5.0.gemspec deleted file mode 100644 index 66a6d65..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-gist-1.5.0.gemspec +++ /dev/null @@ -1,42 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-gist 1.5.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-gist".freeze - s.version = "1.5.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2017-12-03" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-gist".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.1".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Liquid tag for displaying GitHub Gists in Jekyll sites.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<octokit>.freeze, ["~> 4.2"]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.6"]) - s.add_development_dependency(%q<jekyll>.freeze, [">= 3.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, [">= 0"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.51"]) - s.add_development_dependency(%q<webmock>.freeze, [">= 0"]) - else - s.add_dependency(%q<octokit>.freeze, ["~> 4.2"]) - s.add_dependency(%q<bundler>.freeze, ["~> 1.6"]) - s.add_dependency(%q<jekyll>.freeze, [">= 3.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, [">= 0"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.51"]) - s.add_dependency(%q<webmock>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-github-metadata-2.13.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-github-metadata-2.13.0.gemspec deleted file mode 100644 index 44e0d26..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-github-metadata-2.13.0.gemspec +++ /dev/null @@ -1,43 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-github-metadata 2.13.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-github-metadata".freeze - s.version = "2.13.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2020-01-15" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/github-metadata".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "The site.github namespace".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.4", "< 5.0"]) - s.add_runtime_dependency(%q<octokit>.freeze, ["~> 4.0", "!= 4.4.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<netrc>.freeze, [">= 0"]) - s.add_development_dependency(%q<pry>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.8.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.5.0"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.4", "< 5.0"]) - s.add_dependency(%q<octokit>.freeze, ["~> 4.0", "!= 4.4.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<netrc>.freeze, [">= 0"]) - s.add_dependency(%q<pry>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.8.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.5.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-include-cache-0.2.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-include-cache-0.2.1.gemspec deleted file mode 100644 index 17b8a0c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-include-cache-0.2.1.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-include-cache 0.2.1 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-include-cache".freeze - s.version = "0.2.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2020-10-08" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-include-cache".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to cache the rendering of Liquid includes".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.51"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.3"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.51"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-mentions-1.6.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-mentions-1.6.0.gemspec deleted file mode 100644 index 7a246cb..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-mentions-1.6.0.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-mentions 1.6.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-mentions".freeze - s.version = "1.6.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2020-03-05" - s.email = "support@github.com".freeze - s.homepage = "https://github.com/jekyll/jekyll-mentions".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "@mention support for your Jekyll site".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<html-pipeline>.freeze, ["~> 2.3"]) - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.4"]) - else - s.add_dependency(%q<html-pipeline>.freeze, ["~> 2.3"]) - s.add_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.4"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-optional-front-matter-0.3.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-optional-front-matter-0.3.2.gemspec deleted file mode 100644 index 486423d..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-optional-front-matter-0.3.2.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-optional-front-matter 0.3.2 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-optional-front-matter".freeze - s.version = "0.3.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2019-10-23" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-optional-front-matter".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to make front matter optional for Markdown files".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-paginate-1.1.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-paginate-1.1.0.gemspec deleted file mode 100644 index d6fa325..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-paginate-1.1.0.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-paginate 1.1.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-paginate".freeze - s.version = "1.1.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2014-10-14" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-paginate".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Built-in Pagination Generator for Jekyll".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<jekyll>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.5"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - else - s.add_dependency(%q<jekyll>.freeze, ["~> 2.0"]) - s.add_dependency(%q<bundler>.freeze, ["~> 1.5"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-readme-index-0.3.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-readme-index-0.3.0.gemspec deleted file mode 100644 index 8d17d13..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-readme-index-0.3.0.gemspec +++ /dev/null @@ -1,39 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-readme-index 0.3.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-readme-index".freeze - s.version = "0.3.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2019-11-05" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-readme-index".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to render a project's README as the site's index.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.40"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10.0"]) - s.add_development_dependency(%q<rubocop-performance>.freeze, ["~> 1.5"]) - s.add_development_dependency(%q<rubocop-rspec>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.40"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10.0"]) - s.add_dependency(%q<rubocop-performance>.freeze, ["~> 1.5"]) - s.add_dependency(%q<rubocop-rspec>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-redirect-from-0.16.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-redirect-from-0.16.0.gemspec deleted file mode 100644 index b24a846..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-redirect-from-0.16.0.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-redirect-from 0.16.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-redirect-from".freeze - s.version = "0.16.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2020-01-26" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-redirect-from".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Seamlessly specify multiple redirection URLs for your pages and posts".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.3", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<jekyll-sitemap>.freeze, ["~> 1.0"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.3", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<jekyll-sitemap>.freeze, ["~> 1.0"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-relative-links-0.6.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-relative-links-0.6.1.gemspec deleted file mode 100644 index 0bf5a45..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-relative-links-0.6.1.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-relative-links 0.6.1 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-relative-links".freeze - s.version = "0.6.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2019-10-23" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-relative-links".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to convert relative links to markdown files to their rendered equivalents.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.3", "< 5.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.3", "< 5.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-remote-theme-0.4.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-remote-theme-0.4.3.gemspec deleted file mode 100644 index 50e8279..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-remote-theme-0.4.3.gemspec +++ /dev/null @@ -1,52 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-remote-theme 0.4.3 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-remote-theme".freeze - s.version = "0.4.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2021-03-10" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-remote-theme".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Jekyll plugin for building Jekyll sites with any GitHub-hosted theme".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<addressable>.freeze, ["~> 2.0"]) - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-sass-converter>.freeze, [">= 1.0", "<= 3.0.0", "!= 2.0.0"]) - s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0", "< 3.0"]) - s.add_development_dependency(%q<jekyll-theme-primer>.freeze, ["~> 0.5"]) - s.add_development_dependency(%q<jekyll_test_plugin_malicious>.freeze, ["~> 0.2"]) - s.add_development_dependency(%q<kramdown-parser-gfm>.freeze, ["~> 1.0"]) - s.add_development_dependency(%q<pry>.freeze, ["~> 0.11"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - s.add_development_dependency(%q<webmock>.freeze, ["~> 3.0"]) - else - s.add_dependency(%q<addressable>.freeze, ["~> 2.0"]) - s.add_dependency(%q<jekyll>.freeze, [">= 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-sass-converter>.freeze, [">= 1.0", "<= 3.0.0", "!= 2.0.0"]) - s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0", "< 3.0"]) - s.add_dependency(%q<jekyll-theme-primer>.freeze, ["~> 0.5"]) - s.add_dependency(%q<jekyll_test_plugin_malicious>.freeze, ["~> 0.2"]) - s.add_dependency(%q<kramdown-parser-gfm>.freeze, ["~> 1.0"]) - s.add_dependency(%q<pry>.freeze, ["~> 0.11"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - s.add_dependency(%q<webmock>.freeze, ["~> 3.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-sass-converter-1.5.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-sass-converter-1.5.2.gemspec deleted file mode 100644 index 9e1b25e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-sass-converter-1.5.2.gemspec +++ /dev/null @@ -1,39 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-sass-converter 1.5.2 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-sass-converter".freeze - s.version = "1.5.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2018-02-03" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-sass-converter".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A basic Sass converter for Jekyll.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<sass>.freeze, ["~> 3.4"]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.5"]) - s.add_development_dependency(%q<jekyll>.freeze, [">= 2.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, [">= 0"]) - s.add_development_dependency(%q<rubocop>.freeze, ["= 0.51"]) - else - s.add_dependency(%q<sass>.freeze, ["~> 3.4"]) - s.add_dependency(%q<bundler>.freeze, ["~> 1.5"]) - s.add_dependency(%q<jekyll>.freeze, [">= 2.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, [">= 0"]) - s.add_dependency(%q<rubocop>.freeze, ["= 0.51"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-seo-tag-2.8.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-seo-tag-2.8.0.gemspec deleted file mode 100644 index 590cbd9..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-seo-tag-2.8.0.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-seo-tag 2.8.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-seo-tag".freeze - s.version = "2.8.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "allowed_push_host" => "https://rubygems.org" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.bindir = "exe".freeze - s.date = "2022-02-04" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-seo-tag".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to add metadata tags for search engines and social networks to better index and display your site's content.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.8", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 1.15"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.7"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.12.0"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.8", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 1.15"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.7"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.12.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-sitemap-1.4.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-sitemap-1.4.0.gemspec deleted file mode 100644 index b789120..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-sitemap-1.4.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-sitemap 1.4.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-sitemap".freeze - s.version = "1.4.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2019-11-22" - s.email = "support@github.com".freeze - s.homepage = "https://github.com/jekyll/jekyll-sitemap".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Automatically generate a sitemap.xml for your Jekyll site.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.4"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.7", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.4"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-swiss-1.0.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-swiss-1.0.0.gemspec deleted file mode 100644 index 6410b39..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-swiss-1.0.0.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-swiss 1.0.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-swiss".freeze - s.version = "1.0.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["broccolini".freeze] - s.date = "2018-06-02" - s.email = ["diana.mounter@gmail.com".freeze] - s.homepage = "http://broccolini.net/swiss".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A bold typographic theme for Jekyll, inspired by Swiss design.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<jekyll>.freeze, ["~> 3.2"]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.12"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 10.0"]) - else - s.add_dependency(%q<jekyll>.freeze, ["~> 3.2"]) - s.add_dependency(%q<bundler>.freeze, ["~> 1.12"]) - s.add_dependency(%q<rake>.freeze, ["~> 10.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-architect-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-architect-0.2.0.gemspec deleted file mode 100644 index 8b3db65..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-architect-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-architect 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-architect".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jason Long".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-architect@github.com".freeze] - s.homepage = "https://github.com/pages-themes/architect".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Architect is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-cayman-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-cayman-0.2.0.gemspec deleted file mode 100644 index 66fe7e1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-cayman-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-cayman 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-cayman".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jason Long".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-cayman@github.com".freeze] - s.homepage = "https://github.com/pages-themes/cayman".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Cayman is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-dinky-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-dinky-0.2.0.gemspec deleted file mode 100644 index bd7eb88..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-dinky-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-dinky 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-dinky".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Diana Mounter".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-dinky@github.com".freeze] - s.homepage = "https://github.com/pages-themes/dinky".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Dinky is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-hacker-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-hacker-0.2.0.gemspec deleted file mode 100644 index 7156c91..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-hacker-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-hacker 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-hacker".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jason Costello".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-hacker@github.com".freeze] - s.homepage = "https://github.com/pages-themes/hacker".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Hacker is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-leap-day-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-leap-day-0.2.0.gemspec deleted file mode 100644 index bb56445..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-leap-day-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-leap-day 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-leap-day".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Matt Graham".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-leap-day@github.com".freeze] - s.homepage = "https://github.com/pages-themes/leap-day".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Leap Day is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-merlot-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-merlot-0.2.0.gemspec deleted file mode 100644 index b546923..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-merlot-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-merlot 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-merlot".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Cameron McEfee".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-merlot@github.com".freeze] - s.homepage = "https://github.com/pages-themes/merlot".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Merlot is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-midnight-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-midnight-0.2.0.gemspec deleted file mode 100644 index b6d851e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-midnight-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-midnight 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-midnight".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Matt Graham".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-midnight@github.com".freeze] - s.homepage = "https://github.com/pages-themes/midnight".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Midnight is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-minimal-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-minimal-0.2.0.gemspec deleted file mode 100644 index 1f07418..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-minimal-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-minimal 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-minimal".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Steve Smith".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-minimal@github.com".freeze] - s.homepage = "https://github.com/pages-themes/minimal".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Minimal is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-modernist-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-modernist-0.2.0.gemspec deleted file mode 100644 index 2bac980..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-modernist-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-modernist 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-modernist".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Steve Smith".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-modernist@github.com".freeze] - s.homepage = "https://github.com/pages-themes/modernist".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Modernist is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-primer-0.6.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-primer-0.6.0.gemspec deleted file mode 100644 index ce26b22..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-primer-0.6.0.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-primer 0.6.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-primer".freeze - s.version = "0.6.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["open-source@github.com".freeze] - s.homepage = "https://github.com/pages-themes/jekyll-theme-primer".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Primer is a Jekyll theme for GitHub Pages based on GitHub's Primer styles".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-github-metadata>.freeze, ["~> 2.9"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-github-metadata>.freeze, ["~> 2.9"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-slate-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-slate-0.2.0.gemspec deleted file mode 100644 index 107d8a7..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-slate-0.2.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-slate 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-slate".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jason Costello".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-slate@github.com".freeze] - s.homepage = "https://github.com/pages-themes/slate".freeze - s.licenses = ["CC0-1.0".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Slate is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-tactile-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-tactile-0.2.0.gemspec deleted file mode 100644 index 1f31cb5..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-tactile-0.2.0.gemspec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-tactile 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-tactile".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jason Long".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-tactile@github.com".freeze] - s.homepage = "https://github.com/pages-themes/tactile".freeze - s.licenses = ["CC0-1.0".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Tactile is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-time-machine-0.2.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-time-machine-0.2.0.gemspec deleted file mode 100644 index 064fa92..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-theme-time-machine-0.2.0.gemspec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-theme-time-machine 0.2.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-theme-time-machine".freeze - s.version = "0.2.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jon Rohan".freeze, "GitHub, Inc.".freeze] - s.date = "2021-07-29" - s.email = ["opensource+jekyll-theme-time-machine@github.com".freeze] - s.homepage = "https://github.com/pages-themes/time-machine".freeze - s.licenses = ["CC0-1.0".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Time Machine is a Jekyll theme for GitHub Pages".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_development_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_development_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - else - s.add_dependency(%q<jekyll>.freeze, ["> 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.0"]) - s.add_dependency(%q<html-proofer>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-github>.freeze, ["~> 0.16"]) - s.add_dependency(%q<w3c_validators>.freeze, ["~> 1.3"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-titles-from-headings-0.5.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-titles-from-headings-0.5.3.gemspec deleted file mode 100644 index bd5cb90..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-titles-from-headings-0.5.3.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-titles-from-headings 0.5.3 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-titles-from-headings".freeze - s.version = "0.5.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Ben Balter".freeze] - s.date = "2019-10-23" - s.email = ["ben.balter@github.com".freeze] - s.homepage = "https://github.com/benbalter/jekyll-titles-from-headings".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A Jekyll plugin to pull the page title from the first Markdown heading when none is specified.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.3", "< 5.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.3", "< 5.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.5"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.71"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.10"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-watch-2.2.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-watch-2.2.1.gemspec deleted file mode 100644 index d559d64..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jekyll-watch-2.2.1.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jekyll-watch 2.2.1 ruby lib - -Gem::Specification.new do |s| - s.name = "jekyll-watch".freeze - s.version = "2.2.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Parker Moore".freeze] - s.date = "2019-03-22" - s.email = ["parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/jekyll-watch".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Rebuild your Jekyll site when a file changes with the `--watch` switch.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<listen>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<jekyll>.freeze, [">= 3.6", "< 5.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.5"]) - else - s.add_dependency(%q<listen>.freeze, ["~> 3.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<jekyll>.freeze, [">= 3.6", "< 5.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.5"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jemoji-0.12.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/jemoji-0.12.0.gemspec deleted file mode 100644 index c480744..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/jemoji-0.12.0.gemspec +++ /dev/null @@ -1,42 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: jemoji 0.12.0 ruby lib - -Gem::Specification.new do |s| - s.name = "jemoji".freeze - s.version = "0.12.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["GitHub, Inc.".freeze] - s.date = "2020-03-05" - s.email = "support@github.com".freeze - s.homepage = "https://github.com/jekyll/jemoji".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "GitHub-flavored emoji plugin for Jekyll".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<gemoji>.freeze, ["~> 3.0"]) - s.add_runtime_dependency(%q<html-pipeline>.freeze, ["~> 2.2"]) - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_development_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.4"]) - else - s.add_dependency(%q<gemoji>.freeze, ["~> 3.0"]) - s.add_dependency(%q<html-pipeline>.freeze, ["~> 2.2"]) - s.add_dependency(%q<jekyll>.freeze, [">= 3.0", "< 5.0"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - s.add_dependency(%q<rubocop-jekyll>.freeze, ["~> 0.4"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/kramdown-2.3.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/kramdown-2.3.2.gemspec deleted file mode 100644 index 352014a..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/kramdown-2.3.2.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: kramdown 2.3.2 ruby lib - -Gem::Specification.new do |s| - s.name = "kramdown".freeze - s.version = "2.3.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Thomas Leitner".freeze] - s.date = "2022-03-18" - s.description = "kramdown is yet-another-markdown-parser but fast, pure Ruby,\nusing a strict syntax definition and supporting several common extensions.\n".freeze - s.email = "t_leitner@gmx.at".freeze - s.executables = ["kramdown".freeze] - s.files = ["bin/kramdown".freeze] - s.homepage = "http://kramdown.gettalong.org".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--main".freeze, "lib/kramdown/document.rb".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "kramdown is a fast, pure-Ruby Markdown-superset converter.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<rexml>.freeze, [">= 0"]) - s.add_development_dependency(%q<minitest>.freeze, ["~> 5.0"]) - s.add_development_dependency(%q<rouge>.freeze, ["~> 3.0", ">= 3.26.0"]) - s.add_development_dependency(%q<stringex>.freeze, ["~> 1.5.1"]) - else - s.add_dependency(%q<rexml>.freeze, [">= 0"]) - s.add_dependency(%q<minitest>.freeze, ["~> 5.0"]) - s.add_dependency(%q<rouge>.freeze, ["~> 3.0", ">= 3.26.0"]) - s.add_dependency(%q<stringex>.freeze, ["~> 1.5.1"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/kramdown-parser-gfm-1.1.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/kramdown-parser-gfm-1.1.0.gemspec deleted file mode 100644 index f90dcd8..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/kramdown-parser-gfm-1.1.0.gemspec +++ /dev/null @@ -1,30 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: kramdown-parser-gfm 1.1.0 ruby lib - -Gem::Specification.new do |s| - s.name = "kramdown-parser-gfm".freeze - s.version = "1.1.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Thomas Leitner".freeze] - s.date = "2019-05-29" - s.email = "t_leitner@gmx.at".freeze - s.homepage = "https://github.com/kramdown/parser-gfm".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "kramdown-parser-gfm provides a kramdown parser for the GFM dialect of Markdown".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<kramdown>.freeze, ["~> 2.0"]) - else - s.add_dependency(%q<kramdown>.freeze, ["~> 2.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/liquid-4.0.4.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/liquid-4.0.4.gemspec deleted file mode 100644 index cf63295..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/liquid-4.0.4.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: liquid 4.0.4 ruby lib - -Gem::Specification.new do |s| - s.name = "liquid".freeze - s.version = "4.0.4" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.7".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "allowed_push_host" => "https://rubygems.org" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Tobias L\u00FCtke".freeze] - s.date = "2023-01-11" - s.email = ["tobi@leetsoft.com".freeze] - s.extra_rdoc_files = ["History.md".freeze, "README.md".freeze] - s.files = ["History.md".freeze, "README.md".freeze] - s.homepage = "http://www.liquidmarkup.org".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.1.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A secure, non-evaling end user template engine with aesthetic markup.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rake>.freeze, ["~> 13.0"]) - s.add_development_dependency(%q<minitest>.freeze, [">= 0"]) - else - s.add_dependency(%q<rake>.freeze, ["~> 13.0"]) - s.add_dependency(%q<minitest>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/listen-3.8.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/listen-3.8.0.gemspec deleted file mode 100644 index 1108c86..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/listen-3.8.0.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: listen 3.8.0 ruby lib - -Gem::Specification.new do |s| - s.name = "listen".freeze - s.version = "3.8.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "allowed_push_host" => "https://rubygems.org", "bug_tracker_uri" => "https://github.com/guard/listen/issues", "changelog_uri" => "https://github.com/guard/listen/releases", "documentation_uri" => "https://www.rubydoc.info/gems/listen/3.8.0", "homepage_uri" => "https://github.com/guard/listen", "source_code_uri" => "https://github.com/guard/listen/tree/v3.8.0" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Thibaud Guillaume-Gentil".freeze] - s.date = "2023-01-09" - s.description = "The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!".freeze - s.email = "thibaud@thibaud.gg".freeze - s.executables = ["listen".freeze] - s.files = ["bin/listen".freeze] - s.homepage = "https://github.com/guard/listen".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Listen to file modifications".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<rb-fsevent>.freeze, ["~> 0.10", ">= 0.10.3"]) - s.add_runtime_dependency(%q<rb-inotify>.freeze, ["~> 0.9", ">= 0.9.10"]) - else - s.add_dependency(%q<rb-fsevent>.freeze, ["~> 0.10", ">= 0.10.3"]) - s.add_dependency(%q<rb-inotify>.freeze, ["~> 0.9", ">= 0.9.10"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/mercenary-0.3.6.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/mercenary-0.3.6.gemspec deleted file mode 100644 index f939381..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/mercenary-0.3.6.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: mercenary 0.3.6 ruby lib - -Gem::Specification.new do |s| - s.name = "mercenary".freeze - s.version = "0.3.6" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Tom Preston-Werner".freeze, "Parker Moore".freeze] - s.date = "2016-04-08" - s.description = "Lightweight and flexible library for writing command-line apps in Ruby.".freeze - s.email = ["tom@mojombo.com".freeze, "parkrmoore@gmail.com".freeze] - s.homepage = "https://github.com/jekyll/mercenary".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Lightweight and flexible library for writing command-line apps in Ruby.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.3"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - else - s.add_dependency(%q<bundler>.freeze, ["~> 1.3"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/minima-2.5.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/minima-2.5.1.gemspec deleted file mode 100644 index 8742962..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/minima-2.5.1.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: minima 2.5.1 ruby lib - -Gem::Specification.new do |s| - s.name = "minima".freeze - s.version = "2.5.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "plugin_type" => "theme" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Joel Glovier".freeze] - s.date = "2019-08-16" - s.email = ["jglovier@github.com".freeze] - s.homepage = "https://github.com/jekyll/minima".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A beautiful, minimal theme for Jekyll.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<jekyll>.freeze, [">= 3.5", "< 5.0"]) - s.add_runtime_dependency(%q<jekyll-feed>.freeze, ["~> 0.9"]) - s.add_runtime_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.1"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 1.15"]) - else - s.add_dependency(%q<jekyll>.freeze, [">= 3.5", "< 5.0"]) - s.add_dependency(%q<jekyll-feed>.freeze, ["~> 0.9"]) - s.add_dependency(%q<jekyll-seo-tag>.freeze, ["~> 2.1"]) - s.add_dependency(%q<bundler>.freeze, [">= 1.15"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/minitest-5.20.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/minitest-5.20.0.gemspec deleted file mode 100644 index 9b14ed6..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/minitest-5.20.0.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: minitest 5.20.0 ruby lib - -Gem::Specification.new do |s| - s.name = "minitest".freeze - s.version = "5.20.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/minitest/minitest/issues", "homepage_uri" => "https://github.com/minitest/minitest" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Ryan Davis".freeze] - s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIDPjCCAiagAwIBAgIBBzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu\nZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB\nGRYDY29tMB4XDTIzMDEwMTA3NTExN1oXDTI0MDEwMTA3NTExN1owRTETMBEGA1UE\nAwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS\nJomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda\nb9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx\ntaCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT\noOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh\nGiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt\nqhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV\ngBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw\nHQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB\nAQAkg3y+PBnBAPWdxxITm5sPHqdWQgSyCpRA20o4LTuWr8BWhSXBkfQNa7cY6fOn\nxyM34VPzBFbExv6XOGDfOMFBVaYTHuN9peC/5/umL7kLl+nflXzL2QA7K6LYj5Bg\nsM574Onr0dZDM6Vn69bzQ7rBIFDfK/OhlPzqKZad4nsdcsVH8ODCiT+ATMIZyz5K\nWCnNtqlyiWXI8tdTpahDgcUwfcN/oN7v4K8iU5IbLJX6HQ5DKgmKjfb6XyMth16k\nROfWo9Uyp8ba/j9eVG14KkYRaLydAY1MNQk2yd3R5CGfeOpD1kttxjoypoUJ2dOG\nnsNBRuQJ1UfiCG97a6DNm+Fr\n-----END CERTIFICATE-----\n".freeze] - s.date = "2023-09-06" - s.description = "minitest provides a complete suite of testing facilities supporting\nTDD, BDD, mocking, and benchmarking.\n\n \"I had a class with Jim Weirich on testing last week and we were\n allowed to choose our testing frameworks. Kirk Haines and I were\n paired up and we cracked open the code for a few test\n frameworks...\n\n I MUST say that minitest is *very* readable / understandable\n compared to the 'other two' options we looked at. Nicely done and\n thank you for helping us keep our mental sanity.\"\n\n -- Wayne E. Seguin\n\nminitest/test is a small and incredibly fast unit testing framework.\nIt provides a rich set of assertions to make your tests clean and\nreadable.\n\nminitest/spec is a functionally complete spec engine. It hooks onto\nminitest/test and seamlessly bridges test assertions over to spec\nexpectations.\n\nminitest/benchmark is an awesome way to assert the performance of your\nalgorithms in a repeatable manner. Now you can assert that your newb\nco-worker doesn't replace your linear algorithm with an exponential\none!\n\nminitest/mock by Steven Baker, is a beautifully tiny mock (and stub)\nobject framework.\n\nminitest/pride shows pride in testing and adds coloring to your test\noutput. I guess it is an example of how to write IO pipes too. :P\n\nminitest/test is meant to have a clean implementation for language\nimplementors that need a minimal set of methods to bootstrap a working\ntest suite. For example, there is no magic involved for test-case\ndiscovery.\n\n \"Again, I can't praise enough the idea of a testing/specing\n framework that I can actually read in full in one sitting!\"\n\n -- Piotr Szotkowski\n\nComparing to rspec:\n\n rspec is a testing DSL. minitest is ruby.\n\n -- Adam Hawkins, \"Bow Before MiniTest\"\n\nminitest doesn't reinvent anything that ruby already provides, like:\nclasses, modules, inheritance, methods. This means you only have to\nlearn ruby to use minitest and all of your regular OO practices like\nextract-method refactorings still apply.".freeze - s.email = ["ryand-ruby@zenspider.com".freeze] - s.extra_rdoc_files = ["History.rdoc".freeze, "Manifest.txt".freeze, "README.rdoc".freeze] - s.files = ["History.rdoc".freeze, "Manifest.txt".freeze, "README.rdoc".freeze] - s.homepage = "https://github.com/minitest/minitest".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] - s.required_ruby_version = Gem::Requirement.new([">= 2.6".freeze, "< 4.0".freeze]) - s.rubygems_version = "3.3.5".freeze - s.summary = "minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rdoc>.freeze, [">= 4.0", "< 7"]) - s.add_development_dependency(%q<hoe>.freeze, ["~> 4.0"]) - else - s.add_dependency(%q<rdoc>.freeze, [">= 4.0", "< 7"]) - s.add_dependency(%q<hoe>.freeze, ["~> 4.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/mutex_m-0.1.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/mutex_m-0.1.2.gemspec deleted file mode 100644 index 0b893a1..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/mutex_m-0.1.2.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: mutex_m 0.1.2 ruby lib - -Gem::Specification.new do |s| - s.name = "mutex_m".freeze - s.version = "0.1.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Keiju ISHITSUKA".freeze] - s.bindir = "exe".freeze - s.date = "2022-12-05" - s.description = "Mixin to extend objects to be handled like a Mutex.".freeze - s.email = ["keiju@ruby-lang.org".freeze] - s.homepage = "https://github.com/ruby/mutex_m".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Mixin to extend objects to be handled like a Mutex.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<test-unit>.freeze, [">= 0"]) - else - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<test-unit>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/nokogiri-1.15.4-x86_64-linux.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/nokogiri-1.15.4-x86_64-linux.gemspec deleted file mode 100644 index 44f3300..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/nokogiri-1.15.4-x86_64-linux.gemspec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: nokogiri 1.15.4 x86_64-linux lib - -Gem::Specification.new do |s| - s.name = "nokogiri".freeze - s.version = "1.15.4" - s.platform = "x86_64-linux".freeze - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/sparklemotion/nokogiri/issues", "changelog_uri" => "https://nokogiri.org/CHANGELOG.html", "documentation_uri" => "https://nokogiri.org/rdoc/index.html", "homepage_uri" => "https://nokogiri.org", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/sparklemotion/nokogiri" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Mike Dalessio".freeze, "Aaron Patterson".freeze, "Yoko Harada".freeze, "Akinori MUSHA".freeze, "John Shahid".freeze, "Karol Bucek".freeze, "Sam Ruby".freeze, "Craig Barnes".freeze, "Stephen Checkoway".freeze, "Lars Kanis".freeze, "Sergio Arbeo".freeze, "Timothy Elliott".freeze, "Nobuyoshi Nakada".freeze] - s.date = "2023-08-11" - s.description = "Nokogiri (\u92F8) makes it easy and painless to work with XML and HTML from Ruby. It provides a\nsensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is\nfast and standards-compliant by relying on native parsers like libxml2, libgumbo, or xerces.\n".freeze - s.email = "nokogiri-talk@googlegroups.com".freeze - s.executables = ["nokogiri".freeze] - s.extra_rdoc_files = ["ext/nokogiri/gumbo.c".freeze, "ext/nokogiri/html4_document.c".freeze, "ext/nokogiri/html4_element_description.c".freeze, "ext/nokogiri/html4_entity_lookup.c".freeze, "ext/nokogiri/html4_sax_parser_context.c".freeze, "ext/nokogiri/html4_sax_push_parser.c".freeze, "ext/nokogiri/libxml2_backwards_compat.c".freeze, "ext/nokogiri/nokogiri.c".freeze, "ext/nokogiri/test_global_handlers.c".freeze, "ext/nokogiri/xml_attr.c".freeze, "ext/nokogiri/xml_attribute_decl.c".freeze, "ext/nokogiri/xml_cdata.c".freeze, "ext/nokogiri/xml_comment.c".freeze, "ext/nokogiri/xml_document.c".freeze, "ext/nokogiri/xml_document_fragment.c".freeze, "ext/nokogiri/xml_dtd.c".freeze, "ext/nokogiri/xml_element_content.c".freeze, "ext/nokogiri/xml_element_decl.c".freeze, "ext/nokogiri/xml_encoding_handler.c".freeze, "ext/nokogiri/xml_entity_decl.c".freeze, "ext/nokogiri/xml_entity_reference.c".freeze, "ext/nokogiri/xml_namespace.c".freeze, "ext/nokogiri/xml_node.c".freeze, "ext/nokogiri/xml_node_set.c".freeze, "ext/nokogiri/xml_processing_instruction.c".freeze, "ext/nokogiri/xml_reader.c".freeze, "ext/nokogiri/xml_relax_ng.c".freeze, "ext/nokogiri/xml_sax_parser.c".freeze, "ext/nokogiri/xml_sax_parser_context.c".freeze, "ext/nokogiri/xml_sax_push_parser.c".freeze, "ext/nokogiri/xml_schema.c".freeze, "ext/nokogiri/xml_syntax_error.c".freeze, "ext/nokogiri/xml_text.c".freeze, "ext/nokogiri/xml_xpath_context.c".freeze, "ext/nokogiri/xslt_stylesheet.c".freeze, "README.md".freeze] - s.files = ["README.md".freeze, "bin/nokogiri".freeze, "ext/nokogiri/gumbo.c".freeze, "ext/nokogiri/html4_document.c".freeze, "ext/nokogiri/html4_element_description.c".freeze, "ext/nokogiri/html4_entity_lookup.c".freeze, "ext/nokogiri/html4_sax_parser_context.c".freeze, "ext/nokogiri/html4_sax_push_parser.c".freeze, "ext/nokogiri/libxml2_backwards_compat.c".freeze, "ext/nokogiri/nokogiri.c".freeze, "ext/nokogiri/test_global_handlers.c".freeze, "ext/nokogiri/xml_attr.c".freeze, "ext/nokogiri/xml_attribute_decl.c".freeze, "ext/nokogiri/xml_cdata.c".freeze, "ext/nokogiri/xml_comment.c".freeze, "ext/nokogiri/xml_document.c".freeze, "ext/nokogiri/xml_document_fragment.c".freeze, "ext/nokogiri/xml_dtd.c".freeze, "ext/nokogiri/xml_element_content.c".freeze, "ext/nokogiri/xml_element_decl.c".freeze, "ext/nokogiri/xml_encoding_handler.c".freeze, "ext/nokogiri/xml_entity_decl.c".freeze, "ext/nokogiri/xml_entity_reference.c".freeze, "ext/nokogiri/xml_namespace.c".freeze, "ext/nokogiri/xml_node.c".freeze, "ext/nokogiri/xml_node_set.c".freeze, "ext/nokogiri/xml_processing_instruction.c".freeze, "ext/nokogiri/xml_reader.c".freeze, "ext/nokogiri/xml_relax_ng.c".freeze, "ext/nokogiri/xml_sax_parser.c".freeze, "ext/nokogiri/xml_sax_parser_context.c".freeze, "ext/nokogiri/xml_sax_push_parser.c".freeze, "ext/nokogiri/xml_schema.c".freeze, "ext/nokogiri/xml_syntax_error.c".freeze, "ext/nokogiri/xml_text.c".freeze, "ext/nokogiri/xml_xpath_context.c".freeze, "ext/nokogiri/xslt_stylesheet.c".freeze] - s.homepage = "https://nokogiri.org".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--main".freeze, "README.md".freeze] - s.required_ruby_version = Gem::Requirement.new([">= 2.7".freeze, "< 3.3.dev".freeze]) - s.rubygems_version = "3.3.5".freeze - s.summary = "Nokogiri (\u92F8) makes it easy and painless to work with XML and HTML from Ruby.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<racc>.freeze, ["~> 1.4"]) - else - s.add_dependency(%q<racc>.freeze, ["~> 1.4"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/octokit-4.25.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/octokit-4.25.1.gemspec deleted file mode 100644 index 2878d82..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/octokit-4.25.1.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: octokit 4.25.1 ruby lib - -Gem::Specification.new do |s| - s.name = "octokit".freeze - s.version = "4.25.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "rubygems_mfa_required" => "true" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Wynn Netherland".freeze, "Erik Michaels-Ober".freeze, "Clint Shryock".freeze] - s.date = "2022-07-01" - s.description = "Simple wrapper for the GitHub API".freeze - s.email = ["wynn.netherland@gmail.com".freeze, "sferik@gmail.com".freeze, "clint@ctshryock.com".freeze] - s.homepage = "https://github.com/octokit/octokit.rb".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.0.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Ruby toolkit for working with the GitHub API".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<bundler>.freeze, [">= 1", "< 3"]) - s.add_runtime_dependency(%q<faraday>.freeze, [">= 1", "< 3"]) - s.add_runtime_dependency(%q<sawyer>.freeze, ["~> 0.9"]) - else - s.add_dependency(%q<bundler>.freeze, [">= 1", "< 3"]) - s.add_dependency(%q<faraday>.freeze, [">= 1", "< 3"]) - s.add_dependency(%q<sawyer>.freeze, ["~> 0.9"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/pathutil-0.16.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/pathutil-0.16.2.gemspec deleted file mode 100644 index 0ba6cd0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/pathutil-0.16.2.gemspec +++ /dev/null @@ -1,30 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: pathutil 0.16.2 ruby lib - -Gem::Specification.new do |s| - s.name = "pathutil".freeze - s.version = "0.16.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Jordon Bedwell".freeze] - s.date = "2018-10-30" - s.description = "Like Pathname but a little less insane.".freeze - s.email = ["jordon@envygeeks.io".freeze] - s.homepage = "http://github.com/envygeeks/pathutil".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Almost like Pathname but just a little less insane.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<forwardable-extended>.freeze, ["~> 2.6"]) - else - s.add_dependency(%q<forwardable-extended>.freeze, ["~> 2.6"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/public_suffix-4.0.7.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/public_suffix-4.0.7.gemspec deleted file mode 100644 index e65fd9b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/public_suffix-4.0.7.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: public_suffix 4.0.7 ruby lib - -Gem::Specification.new do |s| - s.name = "public_suffix".freeze - s.version = "4.0.7" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/weppos/publicsuffix-ruby/issues", "changelog_uri" => "https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md", "documentation_uri" => "https://rubydoc.info/gems/public_suffix/4.0.7", "homepage_uri" => "https://simonecarletti.com/code/publicsuffix-ruby", "source_code_uri" => "https://github.com/weppos/publicsuffix-ruby/tree/v4.0.7" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Simone Carletti".freeze] - s.date = "2022-04-12" - s.description = "PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains.".freeze - s.email = ["weppos@weppos.net".freeze] - s.extra_rdoc_files = ["LICENSE.txt".freeze] - s.files = ["LICENSE.txt".freeze] - s.homepage = "https://simonecarletti.com/code/publicsuffix-ruby".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Domain name parser based on the Public Suffix List.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/racc-1.7.3.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/racc-1.7.3.gemspec deleted file mode 100644 index ca60068..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/racc-1.7.3.gemspec +++ /dev/null @@ -1,27 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: racc 1.7.3 ruby lib -# stub: ext/racc/cparse/extconf.rb - -Gem::Specification.new do |s| - s.name = "racc".freeze - s.version = "1.7.3" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Minero Aoki".freeze, "Aaron Patterson".freeze] - s.date = "2023-11-04" - s.description = "Racc is a LALR(1) parser generator.\n It is written in Ruby itself, and generates Ruby program.\n\n NOTE: Ruby 1.8.x comes with Racc runtime module. You\n can run your parsers generated by racc 1.4.x out of the\n box.\n".freeze - s.email = [nil, "aaron@tenderlovemaking.com".freeze] - s.executables = ["racc".freeze] - s.extensions = ["ext/racc/cparse/extconf.rb".freeze] - s.extra_rdoc_files = ["README.ja.rdoc".freeze, "README.rdoc".freeze] - s.files = ["README.ja.rdoc".freeze, "README.rdoc".freeze, "bin/racc".freeze, "ext/racc/cparse/extconf.rb".freeze] - s.homepage = "https://github.com/ruby/racc".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Racc is a LALR(1) parser generator".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rb-fsevent-0.11.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/rb-fsevent-0.11.2.gemspec deleted file mode 100644 index 045a3b0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rb-fsevent-0.11.2.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: rb-fsevent 0.11.2 ruby lib - -Gem::Specification.new do |s| - s.name = "rb-fsevent".freeze - s.version = "0.11.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "source_code_uri" => "https://github.com/thibaudgg/rb-fsevent" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Thibaud Guillaume-Gentil".freeze, "Travis Tilley".freeze] - s.date = "2022-08-29" - s.description = "FSEvents API with Signals catching (without RubyCocoa)".freeze - s.email = ["thibaud@thibaud.gg".freeze, "ttilley@gmail.com".freeze] - s.homepage = "http://rubygems.org/gems/rb-fsevent".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Very simple & usable FSEvents API".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.6"]) - s.add_development_dependency(%q<guard-rspec>.freeze, ["~> 4.2"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.0"]) - else - s.add_dependency(%q<rspec>.freeze, ["~> 3.6"]) - s.add_dependency(%q<guard-rspec>.freeze, ["~> 4.2"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rb-inotify-0.10.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/rb-inotify-0.10.1.gemspec deleted file mode 100644 index 4edbf8e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rb-inotify-0.10.1.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: rb-inotify 0.10.1 ruby lib - -Gem::Specification.new do |s| - s.name = "rb-inotify".freeze - s.version = "0.10.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Natalie Weizenbaum".freeze, "Samuel Williams".freeze] - s.date = "2019-12-24" - s.email = ["nex342@gmail.com".freeze, "samuel.williams@oriontransfer.co.nz".freeze] - s.homepage = "https://github.com/guard/rb-inotify".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A Ruby wrapper for Linux inotify, using FFI".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<ffi>.freeze, ["~> 1.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.6"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<concurrent-ruby>.freeze, [">= 0"]) - else - s.add_dependency(%q<ffi>.freeze, ["~> 1.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.6"]) - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<concurrent-ruby>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rexml-3.2.6.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/rexml-3.2.6.gemspec deleted file mode 100644 index ead2a3b..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rexml-3.2.6.gemspec +++ /dev/null @@ -1,38 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: rexml 3.2.6 ruby lib - -Gem::Specification.new do |s| - s.name = "rexml".freeze - s.version = "3.2.6" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Kouhei Sutou".freeze] - s.date = "2023-07-27" - s.description = "An XML toolkit for Ruby".freeze - s.email = ["kou@cozmixng.org".freeze] - s.extra_rdoc_files = ["LICENSE.txt".freeze, "NEWS.md".freeze, "README.md".freeze, "doc/rexml/context.rdoc".freeze, "doc/rexml/tasks/rdoc/child.rdoc".freeze, "doc/rexml/tasks/rdoc/document.rdoc".freeze, "doc/rexml/tasks/rdoc/element.rdoc".freeze, "doc/rexml/tasks/rdoc/node.rdoc".freeze, "doc/rexml/tasks/rdoc/parent.rdoc".freeze, "doc/rexml/tasks/tocs/child_toc.rdoc".freeze, "doc/rexml/tasks/tocs/document_toc.rdoc".freeze, "doc/rexml/tasks/tocs/element_toc.rdoc".freeze, "doc/rexml/tasks/tocs/master_toc.rdoc".freeze, "doc/rexml/tasks/tocs/node_toc.rdoc".freeze, "doc/rexml/tasks/tocs/parent_toc.rdoc".freeze, "doc/rexml/tutorial.rdoc".freeze] - s.files = ["LICENSE.txt".freeze, "NEWS.md".freeze, "README.md".freeze, "doc/rexml/context.rdoc".freeze, "doc/rexml/tasks/rdoc/child.rdoc".freeze, "doc/rexml/tasks/rdoc/document.rdoc".freeze, "doc/rexml/tasks/rdoc/element.rdoc".freeze, "doc/rexml/tasks/rdoc/node.rdoc".freeze, "doc/rexml/tasks/rdoc/parent.rdoc".freeze, "doc/rexml/tasks/tocs/child_toc.rdoc".freeze, "doc/rexml/tasks/tocs/document_toc.rdoc".freeze, "doc/rexml/tasks/tocs/element_toc.rdoc".freeze, "doc/rexml/tasks/tocs/master_toc.rdoc".freeze, "doc/rexml/tasks/tocs/node_toc.rdoc".freeze, "doc/rexml/tasks/tocs/parent_toc.rdoc".freeze, "doc/rexml/tutorial.rdoc".freeze] - s.homepage = "https://github.com/ruby/rexml".freeze - s.licenses = ["BSD-2-Clause".freeze] - s.rdoc_options = ["--main".freeze, "README.md".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "An XML toolkit for Ruby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0"]) - s.add_development_dependency(%q<test-unit>.freeze, [">= 0"]) - else - s.add_dependency(%q<bundler>.freeze, [">= 0"]) - s.add_dependency(%q<rake>.freeze, [">= 0"]) - s.add_dependency(%q<test-unit>.freeze, [">= 0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rouge-3.26.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/rouge-3.26.0.gemspec deleted file mode 100644 index f69a341..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rouge-3.26.0.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: rouge 3.26.0 ruby lib - -Gem::Specification.new do |s| - s.name = "rouge".freeze - s.version = "3.26.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/rouge-ruby/rouge/issues", "changelog_uri" => "https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md", "documentation_uri" => "https://rouge-ruby.github.io/docs/", "source_code_uri" => "https://github.com/rouge-ruby/rouge" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Jeanine Adkisson".freeze] - s.date = "2020-12-08" - s.description = "Rouge aims to a be a simple, easy-to-extend drop-in replacement for pygments.".freeze - s.email = ["jneen@jneen.net".freeze] - s.executables = ["rougify".freeze] - s.files = ["bin/rougify".freeze] - s.homepage = "http://rouge.jneen.net/".freeze - s.licenses = ["MIT".freeze, "BSD-2-Clause".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A pure-ruby colorizer based on pygments".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/ruby2_keywords-0.0.5.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/ruby2_keywords-0.0.5.gemspec deleted file mode 100644 index 746a758..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/ruby2_keywords-0.0.5.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: ruby2_keywords 0.0.5 ruby lib - -Gem::Specification.new do |s| - s.name = "ruby2_keywords".freeze - s.version = "0.0.5" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Nobuyoshi Nakada".freeze] - s.date = "2021-02-13" - s.extra_rdoc_files = ["LICENSE".freeze, "README.md".freeze, "ChangeLog".freeze, "logs/ChangeLog-0.0.0".freeze, "logs/ChangeLog-0.0.1".freeze, "logs/ChangeLog-0.0.2".freeze, "logs/ChangeLog-0.0.3".freeze, "logs/ChangeLog-0.0.4".freeze] - s.files = ["ChangeLog".freeze, "LICENSE".freeze, "README.md".freeze, "logs/ChangeLog-0.0.0".freeze, "logs/ChangeLog-0.0.1".freeze, "logs/ChangeLog-0.0.2".freeze, "logs/ChangeLog-0.0.3".freeze, "logs/ChangeLog-0.0.4".freeze] - s.homepage = "https://github.com/ruby/ruby2_keywords".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.rdoc_options = ["--main".freeze, "README.md".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.0.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Shim library for Module#ruby2_keywords".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rubyzip-2.3.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/rubyzip-2.3.2.gemspec deleted file mode 100644 index 53cea58..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/rubyzip-2.3.2.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: rubyzip 2.3.2 ruby lib - -Gem::Specification.new do |s| - s.name = "rubyzip".freeze - s.version = "2.3.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/rubyzip/rubyzip/issues", "changelog_uri" => "https://github.com/rubyzip/rubyzip/blob/v2.3.2/Changelog.md", "documentation_uri" => "https://www.rubydoc.info/gems/rubyzip/2.3.2", "source_code_uri" => "https://github.com/rubyzip/rubyzip/tree/v2.3.2", "wiki_uri" => "https://github.com/rubyzip/rubyzip/wiki" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Alexander Simonov".freeze] - s.date = "2021-07-05" - s.email = ["alex@simonov.me".freeze] - s.homepage = "http://github.com/rubyzip/rubyzip".freeze - s.licenses = ["BSD 2-Clause".freeze] - s.post_install_message = "RubyZip 3.0 is coming!\n**********************\n\nThe public API of some Rubyzip classes has been modernized to use named\nparameters for optional arguments. Please check your usage of the\nfollowing classes:\n * `Zip::File`\n * `Zip::Entry`\n * `Zip::InputStream`\n * `Zip::OutputStream`\n\nPlease ensure that your Gemfiles and .gemspecs are suitably restrictive\nto avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).\nSee https://github.com/rubyzip/rubyzip for details. The Changelog also\nlists other enhancements and bugfixes that have been implemented since\nversion 2.3.0.\n".freeze - s.required_ruby_version = Gem::Requirement.new(">= 2.4".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "rubyzip is a ruby module for reading and writing zip files".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<coveralls>.freeze, ["~> 0.7"]) - s.add_development_dependency(%q<minitest>.freeze, ["~> 5.4"]) - s.add_development_dependency(%q<pry>.freeze, ["~> 0.10"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 12.3", ">= 12.3.3"]) - s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.79"]) - else - s.add_dependency(%q<coveralls>.freeze, ["~> 0.7"]) - s.add_dependency(%q<minitest>.freeze, ["~> 5.4"]) - s.add_dependency(%q<pry>.freeze, ["~> 0.10"]) - s.add_dependency(%q<rake>.freeze, ["~> 12.3", ">= 12.3.3"]) - s.add_dependency(%q<rubocop>.freeze, ["~> 0.79"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/safe_yaml-1.0.5.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/safe_yaml-1.0.5.gemspec deleted file mode 100644 index 73d2be0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/safe_yaml-1.0.5.gemspec +++ /dev/null @@ -1,23 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: safe_yaml 1.0.5 ruby lib - -Gem::Specification.new do |s| - s.name = "safe_yaml".freeze - s.version = "1.0.5" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Dan Tao".freeze] - s.date = "2019-02-22" - s.description = "Parse YAML safely".freeze - s.email = "daniel.tao@gmail.com".freeze - s.executables = ["safe_yaml".freeze] - s.files = ["bin/safe_yaml".freeze] - s.homepage = "https://github.com/dtao/safe_yaml".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 1.8.7".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/sass-3.7.4.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/sass-3.7.4.gemspec deleted file mode 100644 index e3d294e..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/sass-3.7.4.gemspec +++ /dev/null @@ -1,43 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: sass 3.7.4 ruby lib - -Gem::Specification.new do |s| - s.name = "sass".freeze - s.version = "3.7.4" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "source_code_uri" => "https://github.com/sass/ruby-sass" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Natalie Weizenbaum".freeze, "Chris Eppstein".freeze, "Hampton Catlin".freeze] - s.date = "2019-04-04" - s.description = " Ruby Sass is deprecated! See https://sass-lang.com/ruby-sass for details.\n\n Sass makes CSS fun again. Sass is an extension of CSS, adding\n nested rules, variables, mixins, selector inheritance, and more.\n It's translated to well-formatted, standard CSS using the\n command line tool or a web-framework plugin.\n".freeze - s.email = "sass-lang@googlegroups.com".freeze - s.executables = ["sass".freeze, "sass-convert".freeze, "scss".freeze] - s.files = ["bin/sass".freeze, "bin/sass-convert".freeze, "bin/scss".freeze] - s.homepage = "https://sass-lang.com/".freeze - s.licenses = ["MIT".freeze] - s.post_install_message = "\nRuby Sass has reached end-of-life and should no longer be used.\n\n* If you use Sass as a command-line tool, we recommend using Dart Sass, the new\n primary implementation: https://sass-lang.com/install\n\n* If you use Sass as a plug-in for a Ruby web framework, we recommend using the\n sassc gem: https://github.com/sass/sassc-ruby#readme\n\n* For more details, please refer to the Sass blog:\n https://sass-lang.com/blog/posts/7828841\n\n".freeze - s.required_ruby_version = Gem::Requirement.new(">= 2.0.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "A powerful but elegant CSS compiler that makes CSS fun again.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<sass-listen>.freeze, ["~> 4.0.0"]) - s.add_development_dependency(%q<yard>.freeze, ["~> 0.8.7.6"]) - s.add_development_dependency(%q<redcarpet>.freeze, ["~> 3.3"]) - s.add_development_dependency(%q<nokogiri>.freeze, ["~> 1.6.0"]) - s.add_development_dependency(%q<minitest>.freeze, [">= 5"]) - else - s.add_dependency(%q<sass-listen>.freeze, ["~> 4.0.0"]) - s.add_dependency(%q<yard>.freeze, ["~> 0.8.7.6"]) - s.add_dependency(%q<redcarpet>.freeze, ["~> 3.3"]) - s.add_dependency(%q<nokogiri>.freeze, ["~> 1.6.0"]) - s.add_dependency(%q<minitest>.freeze, [">= 5"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/sass-listen-4.0.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/sass-listen-4.0.0.gemspec deleted file mode 100644 index 1dbf1ef..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/sass-listen-4.0.0.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: sass-listen 4.0.0 ruby lib - -Gem::Specification.new do |s| - s.name = "sass-listen".freeze - s.version = "4.0.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Thibaud Guillaume-Gentil".freeze] - s.date = "2017-07-13" - s.description = "This fork of guard/listen provides a stable API for users of the ruby Sass CLI".freeze - s.email = "thibaud@thibaud.gg".freeze - s.homepage = "https://github.com/sass/listen".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Fork of guard/listen".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<rb-fsevent>.freeze, ["~> 0.9", ">= 0.9.4"]) - s.add_runtime_dependency(%q<rb-inotify>.freeze, ["~> 0.9", ">= 0.9.7"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 1.3.5"]) - else - s.add_dependency(%q<rb-fsevent>.freeze, ["~> 0.9", ">= 0.9.4"]) - s.add_dependency(%q<rb-inotify>.freeze, ["~> 0.9", ">= 0.9.7"]) - s.add_dependency(%q<bundler>.freeze, [">= 1.3.5"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/sawyer-0.9.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/sawyer-0.9.2.gemspec deleted file mode 100644 index 892d59f..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/sawyer-0.9.2.gemspec +++ /dev/null @@ -1,31 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: sawyer 0.9.2 ruby lib - -Gem::Specification.new do |s| - s.name = "sawyer".freeze - s.version = "0.9.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Rick Olson".freeze, "Wynn Netherland".freeze] - s.date = "2022-06-07" - s.email = "technoweenie@gmail.com".freeze - s.homepage = "https://github.com/lostisland/sawyer".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Secret User Agent of HTTP".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 2 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<faraday>.freeze, [">= 0.17.3", "< 3"]) - s.add_runtime_dependency(%q<addressable>.freeze, [">= 2.3.5"]) - else - s.add_dependency(%q<faraday>.freeze, [">= 0.17.3", "< 3"]) - s.add_dependency(%q<addressable>.freeze, [">= 2.3.5"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/simpleidn-0.2.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/simpleidn-0.2.1.gemspec deleted file mode 100644 index 9d5e7cf..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/simpleidn-0.2.1.gemspec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: simpleidn 0.2.1 ruby lib - -Gem::Specification.new do |s| - s.name = "simpleidn".freeze - s.version = "0.2.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Morten M\u00F8ller Riis".freeze] - s.date = "2021-01-14" - s.description = "This gem allows easy conversion from punycode ACE strings to unicode UTF-8 strings and vice-versa.".freeze - s.email = ["mortenmoellerriis _AT_ gmail.com".freeze] - s.homepage = "https://github.com/mmriis/simpleidn".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Punycode ACE to unicode UTF-8 (and vice-versa) string conversion.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<unf>.freeze, ["~> 0.1.4"]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.11"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 10.0"]) - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"]) - else - s.add_dependency(%q<unf>.freeze, ["~> 0.1.4"]) - s.add_dependency(%q<bundler>.freeze, ["~> 1.11"]) - s.add_dependency(%q<rake>.freeze, ["~> 10.0"]) - s.add_dependency(%q<rspec>.freeze, ["~> 3.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/terminal-table-1.8.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/terminal-table-1.8.0.gemspec deleted file mode 100644 index fa1ffa0..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/terminal-table-1.8.0.gemspec +++ /dev/null @@ -1,39 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: terminal-table 1.8.0 ruby lib - -Gem::Specification.new do |s| - s.name = "terminal-table".freeze - s.version = "1.8.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["TJ Holowaychuk".freeze, "Scott J. Goldman".freeze] - s.date = "2017-05-17" - s.email = ["tj@vision-media.ca".freeze] - s.homepage = "https://github.com/tj/terminal-table".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Simple, feature rich ascii table generation library".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<bundler>.freeze, ["~> 1.10"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 10.0"]) - s.add_development_dependency(%q<rspec>.freeze, [">= 3.0"]) - s.add_development_dependency(%q<term-ansicolor>.freeze, [">= 0"]) - s.add_development_dependency(%q<pry>.freeze, [">= 0"]) - s.add_runtime_dependency(%q<unicode-display_width>.freeze, ["~> 1.1", ">= 1.1.1"]) - else - s.add_dependency(%q<bundler>.freeze, ["~> 1.10"]) - s.add_dependency(%q<rake>.freeze, ["~> 10.0"]) - s.add_dependency(%q<rspec>.freeze, [">= 3.0"]) - s.add_dependency(%q<term-ansicolor>.freeze, [">= 0"]) - s.add_dependency(%q<pry>.freeze, [">= 0"]) - s.add_dependency(%q<unicode-display_width>.freeze, ["~> 1.1", ">= 1.1.1"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/typhoeus-1.4.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/typhoeus-1.4.0.gemspec deleted file mode 100644 index 3dfa8c3..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/typhoeus-1.4.0.gemspec +++ /dev/null @@ -1,30 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: typhoeus 1.4.0 ruby lib - -Gem::Specification.new do |s| - s.name = "typhoeus".freeze - s.version = "1.4.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["David Balatero".freeze, "Paul Dix".freeze, "Hans Hasselberg".freeze] - s.date = "2020-05-08" - s.description = "Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.".freeze - s.email = ["hans.hasselberg@gmail.com".freeze] - s.homepage = "https://github.com/typhoeus/typhoeus".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "Parallel HTTP library on top of libcurl multi.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<ethon>.freeze, [">= 0.9.0"]) - else - s.add_dependency(%q<ethon>.freeze, [">= 0.9.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/tzinfo-2.0.6.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/tzinfo-2.0.6.gemspec deleted file mode 100644 index f825544..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/tzinfo-2.0.6.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: tzinfo 2.0.6 ruby lib - -Gem::Specification.new do |s| - s.name = "tzinfo".freeze - s.version = "2.0.6" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/tzinfo/tzinfo/issues", "changelog_uri" => "https://github.com/tzinfo/tzinfo/blob/master/CHANGES.md", "documentation_uri" => "https://rubydoc.info/gems/tzinfo/2.0.6", "homepage_uri" => "https://tzinfo.github.io", "source_code_uri" => "https://github.com/tzinfo/tzinfo/tree/v2.0.6" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Philip Ross".freeze] - s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIDPDCCAiSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAkMSIwIAYDVQQDDBlwaGls\nLnJvc3MvREM9Z21haWwvREM9Y29tMB4XDTE5MTIyNDE0NTU0N1oXDTM5MTIyNDE0\nNTU0N1owJDEiMCAGA1UEAwwZcGhpbC5yb3NzL0RDPWdtYWlsL0RDPWNvbTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJGcwfqn4ZsmPl0b1Lt9dCzExrE5\nEeP/CRQjBdGHkF+mSpi69XysxdwLdfg5SPr9LfxthUug4nNFd5fDCiXM8hYe9jQD\nTmkIQKNBh4fFpGngn9gyy+SumCXi6b5L6d/aMc59NAOM6LJ88TOdH1648dh5rq3C\nULq82n3gg4+u0HHGjRPuR/pnCFQCZbANYdX+UBWd0qkOJn/EreNKROmEeHr/xKuh\n2/GlKFKt9KLcW3hwBB4fHHVYUzRau7D1m9KbEERdg//qNDC4B7fD2BFJuPbM5S7J\n41VwDAh1O8B/Qpg0f+S83K4Kodw4MiPGsug55UkNtd3mGR/zZJ9WM03DSwkCAwEA\nAaN5MHcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFA+Z8zvfzBuA\nesoHIfz7+jxfUOcfMB4GA1UdEQQXMBWBE3BoaWwucm9zc0BnbWFpbC5jb20wHgYD\nVR0SBBcwFYETcGhpbC5yb3NzQGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nJ80xgZ3gGdQVA8N+8NJANU5HLuZIU9jOaAlziU9ImoTgPiOHKGZC4as1TwT4kBt1\nQcnu7YSANYRrxP5tpOHsWPF/MQYgerAFCZS5+PzOTudwZ+7OsMW4/EMHy6aCVHEd\nc7HzQRC4mSrDRpWxzyBnZ5nX5OAmIkKA8NgeKybT/4Ku6iFPPUQwlyxQaO+Wlxdo\nFqHwpjRyoiVSpe4RUTNK3d3qesWPYi7Lxn6k6ZZeEdvG6ya33AXktE3jmmF+jPR1\nJ3Zn/kSTjTekiaspyGbczC3PUaeJNxr+yCvR4sk71Xmk/GaKKGOHedJ1uj/LAXrA\nMR0mpl7b8zCg0PFC1J73uw==\n-----END CERTIFICATE-----\n".freeze] - s.date = "2023-01-28" - s.description = "TZInfo provides access to time zone data and allows times to be converted using time zone rules.".freeze - s.email = "phil.ross@gmail.com".freeze - s.extra_rdoc_files = ["README.md".freeze, "CHANGES.md".freeze, "LICENSE".freeze] - s.files = ["CHANGES.md".freeze, "LICENSE".freeze, "README.md".freeze] - s.homepage = "https://tzinfo.github.io".freeze - s.licenses = ["MIT".freeze] - s.rdoc_options = ["--title".freeze, "TZInfo".freeze, "--main".freeze, "README.md".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Time Zone Library".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0"]) - else - s.add_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/unf-0.1.4.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/unf-0.1.4.gemspec deleted file mode 100644 index 4ab610c..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/unf-0.1.4.gemspec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: unf 0.1.4 ruby lib - -Gem::Specification.new do |s| - s.name = "unf".freeze - s.version = "0.1.4" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Akinori MUSHA".freeze] - s.date = "2014-04-04" - s.description = "This is a wrapper library to bring Unicode Normalization Form support\nto Ruby/JRuby.\n".freeze - s.email = ["knu@idaemons.org".freeze] - s.extra_rdoc_files = ["README.md".freeze, "LICENSE".freeze] - s.files = ["LICENSE".freeze, "README.md".freeze] - s.homepage = "https://github.com/knu/ruby-unf".freeze - s.licenses = ["2-clause BSDL".freeze] - s.rubygems_version = "3.3.5".freeze - s.summary = "A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_runtime_dependency(%q<unf_ext>.freeze, [">= 0"]) - s.add_development_dependency(%q<shoulda>.freeze, [">= 0"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 1.2.0"]) - s.add_development_dependency(%q<rake>.freeze, [">= 0.9.2.2"]) - s.add_development_dependency(%q<rdoc>.freeze, ["> 2.4.2"]) - else - s.add_dependency(%q<unf_ext>.freeze, [">= 0"]) - s.add_dependency(%q<shoulda>.freeze, [">= 0"]) - s.add_dependency(%q<bundler>.freeze, [">= 1.2.0"]) - s.add_dependency(%q<rake>.freeze, [">= 0.9.2.2"]) - s.add_dependency(%q<rdoc>.freeze, ["> 2.4.2"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/unf_ext-0.0.8.2.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/unf_ext-0.0.8.2.gemspec deleted file mode 100644 index 3fcdb21..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/unf_ext-0.0.8.2.gemspec +++ /dev/null @@ -1,45 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: unf_ext 0.0.8.2 ruby lib -# stub: ext/unf_ext/extconf.rb - -Gem::Specification.new do |s| - s.name = "unf_ext".freeze - s.version = "0.0.8.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Takeru Ohta".freeze, "Akinori MUSHA".freeze] - s.date = "2022-05-26" - s.description = "Unicode Normalization Form support library for CRuby".freeze - s.email = ["knu@idaemons.org".freeze] - s.extensions = ["ext/unf_ext/extconf.rb".freeze] - s.extra_rdoc_files = ["LICENSE.txt".freeze, "README.md".freeze] - s.files = ["LICENSE.txt".freeze, "README.md".freeze, "ext/unf_ext/extconf.rb".freeze] - s.homepage = "https://github.com/knu/ruby-unf_ext".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Unicode Normalization Form support library for CRuby".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rake>.freeze, [">= 0.9.2.2"]) - s.add_development_dependency(%q<test-unit>.freeze, [">= 0"]) - s.add_development_dependency(%q<rdoc>.freeze, ["> 2.4.2"]) - s.add_development_dependency(%q<bundler>.freeze, [">= 1.2"]) - s.add_development_dependency(%q<rake-compiler>.freeze, [">= 1.1.1"]) - s.add_development_dependency(%q<rake-compiler-dock>.freeze, [">= 1.2.1"]) - else - s.add_dependency(%q<rake>.freeze, [">= 0.9.2.2"]) - s.add_dependency(%q<test-unit>.freeze, [">= 0"]) - s.add_dependency(%q<rdoc>.freeze, ["> 2.4.2"]) - s.add_dependency(%q<bundler>.freeze, [">= 1.2"]) - s.add_dependency(%q<rake-compiler>.freeze, [">= 1.1.1"]) - s.add_dependency(%q<rake-compiler-dock>.freeze, [">= 1.2.1"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/unicode-display_width-1.8.0.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/unicode-display_width-1.8.0.gemspec deleted file mode 100644 index 8415b65..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/unicode-display_width-1.8.0.gemspec +++ /dev/null @@ -1,36 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: unicode-display_width 1.8.0 ruby lib - -Gem::Specification.new do |s| - s.name = "unicode-display_width".freeze - s.version = "1.8.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/janlelis/unicode-display_width/issues", "changelog_uri" => "https://github.com/janlelis/unicode-display_width/blob/master/CHANGELOG.md", "source_code_uri" => "https://github.com/janlelis/unicode-display_width" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["Jan Lelis".freeze] - s.date = "2021-09-15" - s.description = "[Unicode 14.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, and other data.".freeze - s.email = ["hi@ruby.consulting".freeze] - s.extra_rdoc_files = ["README.md".freeze, "MIT-LICENSE.txt".freeze, "CHANGELOG.md".freeze] - s.files = ["CHANGELOG.md".freeze, "MIT-LICENSE.txt".freeze, "README.md".freeze] - s.homepage = "https://github.com/janlelis/unicode-display_width".freeze - s.licenses = ["MIT".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "Determines the monospace display width of a string in Ruby.".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version - - if s.respond_to? :specification_version then - s.specification_version = 4 - end - - if s.respond_to? :add_runtime_dependency then - s.add_development_dependency(%q<rspec>.freeze, ["~> 3.4"]) - s.add_development_dependency(%q<rake>.freeze, ["~> 10.4"]) - else - s.add_dependency(%q<rspec>.freeze, ["~> 3.4"]) - s.add_dependency(%q<rake>.freeze, ["~> 10.4"]) - end -end diff --git a/docs/website/vendor/bundle/ruby/3.0.0/specifications/webrick-1.8.1.gemspec b/docs/website/vendor/bundle/ruby/3.0.0/specifications/webrick-1.8.1.gemspec deleted file mode 100644 index 08df903..0000000 --- a/docs/website/vendor/bundle/ruby/3.0.0/specifications/webrick-1.8.1.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: webrick 1.8.1 ruby lib - -Gem::Specification.new do |s| - s.name = "webrick".freeze - s.version = "1.8.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.metadata = { "bug_tracker_uri" => "https://github.com/ruby/webrick/issues" } if s.respond_to? :metadata= - s.require_paths = ["lib".freeze] - s.authors = ["TAKAHASHI Masayoshi".freeze, "GOTOU YUUZOU".freeze, "Eric Wong".freeze] - s.date = "2023-01-27" - s.description = "WEBrick is an HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server.".freeze - s.email = [nil, nil, "normal@ruby-lang.org".freeze] - s.homepage = "https://github.com/ruby/webrick".freeze - s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.3.5".freeze - s.summary = "HTTP server toolkit".freeze - - s.installed_by_version = "3.3.5" if s.respond_to? :installed_by_version -end